summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--.editorconfig4
-rw-r--r--.gitattributes16
-rw-r--r--.github/CODEOWNERS6
-rw-r--r--.version2
-rw-r--r--README.md8
-rw-r--r--doc/.gitignore6
-rw-r--r--doc/Makefile95
-rw-r--r--doc/coding-conventions.xml1214
-rw-r--r--doc/configuration.xml565
-rw-r--r--doc/contributing.xml41
-rw-r--r--doc/cross-compilation.xml689
-rw-r--r--doc/default.nix136
-rw-r--r--doc/functions.xml1130
-rw-r--r--doc/introduction.chapter.md (renamed from doc/introduction.md)0
-rw-r--r--doc/languages-frameworks/beam.xml500
-rw-r--r--doc/languages-frameworks/bower.xml289
-rw-r--r--doc/languages-frameworks/coq.xml60
-rw-r--r--doc/languages-frameworks/emscripten.section.md185
-rw-r--r--doc/languages-frameworks/go.xml174
-rw-r--r--doc/languages-frameworks/haskell.section.md (renamed from doc/languages-frameworks/haskell.md)54
-rw-r--r--doc/languages-frameworks/idris.section.md39
-rw-r--r--doc/languages-frameworks/index.xml58
-rw-r--r--doc/languages-frameworks/java.xml93
-rw-r--r--doc/languages-frameworks/lua.xml43
-rw-r--r--doc/languages-frameworks/node.section.md51
-rw-r--r--doc/languages-frameworks/perl.xml219
-rw-r--r--doc/languages-frameworks/python.section.md (renamed from doc/languages-frameworks/python.md)10
-rw-r--r--doc/languages-frameworks/qt.xml108
-rw-r--r--doc/languages-frameworks/r.section.md120
-rw-r--r--doc/languages-frameworks/ruby.xml92
-rw-r--r--doc/languages-frameworks/rust.section.md (renamed from doc/languages-frameworks/rust.md)86
-rw-r--r--doc/languages-frameworks/texlive.xml105
-rw-r--r--doc/languages-frameworks/vim.section.md (renamed from doc/languages-frameworks/vim.md)0
-rw-r--r--doc/manual.xml47
-rw-r--r--doc/meta.xml546
-rw-r--r--doc/multiple-output.xml380
-rw-r--r--doc/overlays.xml256
-rw-r--r--doc/overrides.css9
-rw-r--r--doc/package-notes.xml931
-rw-r--r--doc/platform-notes.xml84
-rw-r--r--doc/quick-start.xml372
-rw-r--r--doc/release-notes.xml1353
-rw-r--r--doc/reviewing-contributions.xml737
-rw-r--r--doc/shell.nix5
-rw-r--r--doc/shell.section.md (renamed from doc/shell.md)2
-rw-r--r--doc/stdenv.xml4146
-rw-r--r--doc/style.css30
-rw-r--r--doc/submitting-changes.xml860
-rw-r--r--lib/debug.nix184
-rw-r--r--lib/default.nix56
-rw-r--r--lib/generators.nix67
-rw-r--r--lib/licenses.nix7
-rw-r--r--lib/lists.nix23
-rw-r--r--lib/modules.nix36
-rw-r--r--lib/strings.nix44
-rw-r--r--lib/systems/default.nix9
-rw-r--r--lib/systems/examples.nix32
-rw-r--r--lib/systems/for-meta.nix14
-rw-r--r--lib/systems/inspect.nix11
-rw-r--r--lib/systems/parse.nix46
-rw-r--r--lib/tests/misc.nix36
-rwxr-xr-xlib/tests/modules.sh13
-rw-r--r--lib/tests/modules/declare-coerced-value-unsound.nix10
-rw-r--r--lib/tests/modules/define-value-string-arbitrary.nix3
-rw-r--r--lib/tests/modules/define-value-string-bigint.nix3
-rw-r--r--lib/tests/modules/loaOf-with-long-list.nix19
-rw-r--r--lib/tests/modules/loaOf-with-many-list-merges.nix19
-rw-r--r--lib/tests/release.nix3
-rw-r--r--lib/trivial.nix11
-rw-r--r--lib/types.nix40
-rw-r--r--maintainers/maintainer-list.nix (renamed from lib/maintainers-list.nix)338
-rwxr-xr-xmaintainers/scripts/copy-tarballs.pl10
-rwxr-xr-xmaintainers/scripts/hydra-eval-failures.py35
-rwxr-xr-xmaintainers/scripts/update-python-libraries4
-rwxr-xr-xmaintainers/scripts/update.nix17
-rwxr-xr-xmaintainers/scripts/vanity.sh2
-rw-r--r--nixos/doc/manual/.gitignore2
-rw-r--r--nixos/doc/manual/Makefile24
-rw-r--r--nixos/doc/manual/administration/boot-problems.xml136
-rw-r--r--nixos/doc/manual/administration/cleaning-store.xml69
-rw-r--r--nixos/doc/manual/administration/container-networking.xml75
-rw-r--r--nixos/doc/manual/administration/containers.xml56
-rw-r--r--nixos/doc/manual/administration/control-groups.xml84
-rw-r--r--nixos/doc/manual/administration/declarative-containers.xml88
-rw-r--r--nixos/doc/manual/administration/imperative-containers.xml149
-rw-r--r--nixos/doc/manual/administration/logging.xml51
-rw-r--r--nixos/doc/manual/administration/maintenance-mode.xml16
-rw-r--r--nixos/doc/manual/administration/network-problems.xml34
-rw-r--r--nixos/doc/manual/administration/rebooting.xml49
-rw-r--r--nixos/doc/manual/administration/rollback.xml53
-rw-r--r--nixos/doc/manual/administration/running.xml33
-rw-r--r--nixos/doc/manual/administration/service-mgmt.xml73
-rw-r--r--nixos/doc/manual/administration/store-corruption.xml47
-rw-r--r--nixos/doc/manual/administration/troubleshooting.xml22
-rw-r--r--nixos/doc/manual/administration/user-sessions.xml38
-rw-r--r--nixos/doc/manual/configuration/abstractions.xml124
-rw-r--r--nixos/doc/manual/configuration/ad-hoc-network-config.xml20
-rw-r--r--nixos/doc/manual/configuration/ad-hoc-packages.xml78
-rw-r--r--nixos/doc/manual/configuration/adding-custom-packages.xml65
-rw-r--r--nixos/doc/manual/configuration/config-file.xml243
-rw-r--r--nixos/doc/manual/configuration/config-syntax.xml38
-rw-r--r--nixos/doc/manual/configuration/configuration.xml45
-rw-r--r--nixos/doc/manual/configuration/customizing-packages.xml129
-rw-r--r--nixos/doc/manual/configuration/declarative-packages.xml52
-rw-r--r--nixos/doc/manual/configuration/file-systems.xml70
-rw-r--r--nixos/doc/manual/configuration/firewall.xml59
-rw-r--r--nixos/doc/manual/configuration/ipv4-config.xml61
-rw-r--r--nixos/doc/manual/configuration/ipv6-config.xml54
-rw-r--r--nixos/doc/manual/configuration/linux-kernel.xml101
-rw-r--r--nixos/doc/manual/configuration/luks-file-systems.xml36
-rw-r--r--nixos/doc/manual/configuration/modularity.xml174
-rw-r--r--nixos/doc/manual/configuration/network-manager.xml61
-rw-r--r--nixos/doc/manual/configuration/networking.xml27
-rw-r--r--nixos/doc/manual/configuration/package-mgmt.xml53
-rw-r--r--nixos/doc/manual/configuration/ssh.xml33
-rw-r--r--nixos/doc/manual/configuration/summary.xml369
-rw-r--r--nixos/doc/manual/configuration/user-mgmt.xml140
-rw-r--r--nixos/doc/manual/configuration/wireless.xml56
-rw-r--r--nixos/doc/manual/configuration/x-windows.xml205
-rw-r--r--nixos/doc/manual/configuration/xfce.xml136
-rw-r--r--nixos/doc/manual/default.nix37
-rw-r--r--nixos/doc/manual/development/assertions.xml64
-rw-r--r--nixos/doc/manual/development/building-nixos.xml35
-rw-r--r--nixos/doc/manual/development/building-parts.xml157
-rw-r--r--nixos/doc/manual/development/development.xml31
-rw-r--r--nixos/doc/manual/development/importing-modules.xml56
-rw-r--r--nixos/doc/manual/development/meta-attributes.xml55
-rw-r--r--nixos/doc/manual/development/nixos-tests.xml25
-rw-r--r--nixos/doc/manual/development/option-declarations.xml255
-rw-r--r--nixos/doc/manual/development/option-def.xml111
-rw-r--r--nixos/doc/manual/development/option-types.xml1048
-rwxr-xr-xnixos/doc/manual/development/releases.xml424
-rw-r--r--nixos/doc/manual/development/replace-modules.xml48
-rw-r--r--nixos/doc/manual/development/running-nixos-tests-interactively.xml39
-rw-r--r--nixos/doc/manual/development/running-nixos-tests.xml31
-rw-r--r--nixos/doc/manual/development/sources.xml113
-rw-r--r--nixos/doc/manual/development/testing-installer.xml21
-rw-r--r--nixos/doc/manual/development/writing-documentation.xml278
-rw-r--r--nixos/doc/manual/development/writing-modules.xml189
-rw-r--r--nixos/doc/manual/development/writing-nixos-tests.xml590
-rw-r--r--nixos/doc/manual/installation/changing-config.xml133
-rw-r--r--nixos/doc/manual/installation/installation.xml26
-rw-r--r--nixos/doc/manual/installation/installing-from-other-distro.xml583
-rw-r--r--nixos/doc/manual/installation/installing-pxe.xml64
-rw-r--r--nixos/doc/manual/installation/installing-usb.xml89
-rw-r--r--nixos/doc/manual/installation/installing-virtualbox-guest.xml104
-rw-r--r--nixos/doc/manual/installation/installing.xml613
-rw-r--r--nixos/doc/manual/installation/obtaining.xml84
-rw-r--r--nixos/doc/manual/installation/upgrading.xml208
-rw-r--r--nixos/doc/manual/man-configuration.xml59
-rw-r--r--nixos/doc/manual/man-nixos-build-vms.xml153
-rw-r--r--nixos/doc/manual/man-nixos-enter.xml194
-rw-r--r--nixos/doc/manual/man-nixos-generate-config.xml289
-rw-r--r--nixos/doc/manual/man-nixos-install.xml388
-rw-r--r--nixos/doc/manual/man-nixos-option.xml189
-rw-r--r--nixos/doc/manual/man-nixos-rebuild.xml728
-rw-r--r--nixos/doc/manual/man-nixos-version.xml171
-rw-r--r--nixos/doc/manual/man-pages.xml45
-rw-r--r--nixos/doc/manual/manual.xml79
-rw-r--r--nixos/doc/manual/options-to-docbook.xsl8
-rw-r--r--nixos/doc/manual/release-notes/release-notes.xml31
-rw-r--r--nixos/doc/manual/release-notes/rl-1310.xml8
-rw-r--r--nixos/doc/manual/release-notes/rl-1404.xml281
-rw-r--r--nixos/doc/manual/release-notes/rl-1412.xml618
-rw-r--r--nixos/doc/manual/release-notes/rl-1509.xml1023
-rw-r--r--nixos/doc/manual/release-notes/rl-1603.xml840
-rw-r--r--nixos/doc/manual/release-notes/rl-1609.xml372
-rw-r--r--nixos/doc/manual/release-notes/rl-1703.xml1067
-rw-r--r--nixos/doc/manual/release-notes/rl-1709.xml1176
-rw-r--r--nixos/doc/manual/release-notes/rl-1803.xml1168
-rw-r--r--nixos/doc/manual/release-notes/rl-1809.xml243
-rw-r--r--nixos/doc/manual/shell.nix8
-rw-r--r--nixos/doc/manual/style.css267
-rw-r--r--nixos/doc/xmlformat.conf72
-rw-r--r--nixos/lib/eval-config.nix4
-rw-r--r--nixos/lib/make-ext4-fs.nix24
-rw-r--r--nixos/lib/make-system-tarball.nix14
-rw-r--r--nixos/lib/make-system-tarball.sh5
-rw-r--r--nixos/lib/test-driver/Machine.pm19
-rw-r--r--nixos/lib/testing.nix14
-rw-r--r--nixos/lib/testing/jquery-ui.nix (renamed from pkgs/development/libraries/javascript/jquery-ui/default.nix)0
-rw-r--r--nixos/lib/testing/jquery.nix (renamed from pkgs/development/libraries/javascript/jquery/default.nix)0
-rw-r--r--nixos/maintainers/option-usages.nix6
-rw-r--r--nixos/maintainers/scripts/ec2/amazon-image.nix5
-rwxr-xr-xnixos/maintainers/scripts/ec2/create-amis.sh2
-rwxr-xr-xnixos/maintainers/scripts/gce/create-gce.sh4
-rw-r--r--nixos/modules/config/i18n.nix2
-rw-r--r--nixos/modules/config/no-x-libs.nix2
-rw-r--r--nixos/modules/config/nsswitch.nix18
-rw-r--r--nixos/modules/config/pulseaudio.nix2
-rw-r--r--nixos/modules/config/system-path.nix1
-rw-r--r--nixos/modules/config/users-groups.nix54
-rw-r--r--nixos/modules/config/zram.nix10
-rw-r--r--nixos/modules/hardware/onlykey.nix33
-rw-r--r--nixos/modules/hardware/onlykey.udev4
-rw-r--r--nixos/modules/hardware/opengl.nix168
-rw-r--r--nixos/modules/hardware/video/amdgpu-pro.nix16
-rw-r--r--nixos/modules/hardware/video/nvidia.nix21
-rw-r--r--nixos/modules/i18n/input-method/default.xml78
-rw-r--r--nixos/modules/installer/cd-dvd/channel.nix2
-rw-r--r--nixos/modules/installer/cd-dvd/installation-cd-base.nix2
-rw-r--r--nixos/modules/installer/cd-dvd/iso-image.nix5
-rw-r--r--nixos/modules/installer/cd-dvd/sd-image-aarch64.nix3
-rw-r--r--nixos/modules/installer/cd-dvd/sd-image-armv7l-multiplatform.nix3
-rw-r--r--nixos/modules/installer/cd-dvd/sd-image-raspberrypi.nix3
-rw-r--r--nixos/modules/installer/cd-dvd/sd-image.nix34
-rw-r--r--nixos/modules/installer/cd-dvd/system-tarball-fuloong2f.nix2
-rw-r--r--nixos/modules/installer/tools/nix-fallback-paths.nix8
-rw-r--r--nixos/modules/installer/tools/nixos-enter.sh3
-rw-r--r--nixos/modules/installer/tools/nixos-generate-config.pl7
-rw-r--r--nixos/modules/installer/tools/nixos-rebuild.sh2
-rw-r--r--nixos/modules/installer/virtualbox-demo.nix3
-rw-r--r--nixos/modules/misc/documentation.nix96
-rw-r--r--nixos/modules/misc/ids.nix22
-rw-r--r--nixos/modules/misc/locate.nix17
-rw-r--r--nixos/modules/misc/nixpkgs.nix75
-rw-r--r--nixos/modules/misc/version.nix27
-rw-r--r--nixos/modules/module-list.nix40
-rw-r--r--nixos/modules/profiles/base.nix3
-rw-r--r--nixos/modules/profiles/demo.nix6
-rw-r--r--nixos/modules/profiles/docker-container.nix4
-rw-r--r--nixos/modules/profiles/minimal.nix5
-rw-r--r--nixos/modules/programs/bash/bash.nix4
-rw-r--r--nixos/modules/programs/digitalbitbox/doc.xml38
-rw-r--r--nixos/modules/programs/iftop.nix18
-rw-r--r--nixos/modules/programs/info.nix30
-rw-r--r--nixos/modules/programs/less.nix17
-rw-r--r--nixos/modules/programs/man.nix31
-rw-r--r--nixos/modules/programs/plotinus.xml2
-rw-r--r--nixos/modules/programs/rootston.nix2
-rw-r--r--nixos/modules/programs/shell.nix2
-rw-r--r--nixos/modules/programs/singularity.nix20
-rw-r--r--nixos/modules/programs/ssh.nix2
-rw-r--r--nixos/modules/programs/zsh/zsh.nix2
-rw-r--r--nixos/modules/rename.nix42
-rw-r--r--nixos/modules/security/acme.nix129
-rw-r--r--nixos/modules/security/acme.xml22
-rw-r--r--nixos/modules/security/audit.nix6
-rw-r--r--nixos/modules/security/dhparams.nix228
-rw-r--r--nixos/modules/security/duosec.nix4
-rw-r--r--nixos/modules/security/hidepid.xml12
-rw-r--r--nixos/modules/security/pam.nix17
-rw-r--r--nixos/modules/security/sudo.nix6
-rw-r--r--nixos/modules/security/wrappers/wrapper.c2
-rw-r--r--nixos/modules/services/audio/alsa.nix5
-rw-r--r--nixos/modules/services/backup/almir.nix173
-rw-r--r--nixos/modules/services/backup/borgbackup.nix580
-rw-r--r--nixos/modules/services/backup/duplicati.nix40
-rw-r--r--nixos/modules/services/backup/restic-rest-server.nix107
-rw-r--r--nixos/modules/services/backup/restic.nix150
-rw-r--r--nixos/modules/services/backup/tarsnap.nix67
-rw-r--r--nixos/modules/services/backup/znapzend.nix2
-rw-r--r--nixos/modules/services/cluster/fleet.nix150
-rw-r--r--nixos/modules/services/cluster/kubernetes/default.nix16
-rw-r--r--nixos/modules/services/cluster/panamax.nix156
-rw-r--r--nixos/modules/services/computing/boinc/client.nix46
-rw-r--r--nixos/modules/services/continuous-integration/buildkite-agent.nix4
-rw-r--r--nixos/modules/services/continuous-integration/jenkins/default.nix7
-rw-r--r--nixos/modules/services/databases/4store-endpoint.nix2
-rw-r--r--nixos/modules/services/databases/4store.nix2
-rw-r--r--nixos/modules/services/databases/foundationdb.nix416
-rw-r--r--nixos/modules/services/databases/foundationdb.xml322
-rw-r--r--nixos/modules/services/databases/monetdb.nix100
-rw-r--r--nixos/modules/services/databases/mysql.nix2
-rw-r--r--nixos/modules/services/databases/pgmanage.nix6
-rw-r--r--nixos/modules/services/databases/postgresql.nix15
-rw-r--r--nixos/modules/services/databases/postgresql.xml12
-rw-r--r--nixos/modules/services/editors/emacs.nix23
-rw-r--r--nixos/modules/services/editors/emacs.xml20
-rw-r--r--nixos/modules/services/editors/infinoted.nix2
-rw-r--r--nixos/modules/services/hardware/bluetooth.nix12
-rw-r--r--nixos/modules/services/hardware/lcd.nix172
-rw-r--r--nixos/modules/services/hardware/trezord.nix13
-rw-r--r--nixos/modules/services/hardware/udev.nix2
-rw-r--r--nixos/modules/services/logging/graylog.nix2
-rw-r--r--nixos/modules/services/mail/dovecot.nix9
-rw-r--r--nixos/modules/services/misc/defaultUnicornConfig.rb240
-rw-r--r--nixos/modules/services/misc/disnix.nix2
-rw-r--r--nixos/modules/services/misc/docker-registry.nix97
-rw-r--r--nixos/modules/services/misc/dysnomia.nix60
-rw-r--r--nixos/modules/services/misc/folding-at-home.nix2
-rw-r--r--nixos/modules/services/misc/geoip-updater.nix2
-rw-r--r--nixos/modules/services/misc/gitea.nix56
-rw-r--r--nixos/modules/services/misc/gitit.nix2
-rw-r--r--nixos/modules/services/misc/gitlab.nix35
-rw-r--r--nixos/modules/services/misc/gitlab.xml59
-rw-r--r--nixos/modules/services/misc/gitweb.nix59
-rw-r--r--nixos/modules/services/misc/gogs.nix3
-rw-r--r--nixos/modules/services/misc/home-assistant.nix53
-rw-r--r--nixos/modules/services/misc/ihaskell.nix2
-rw-r--r--nixos/modules/services/misc/logkeys.nix9
-rw-r--r--nixos/modules/services/misc/matrix-synapse.nix20
-rw-r--r--nixos/modules/services/misc/mesos-slave.nix6
-rw-r--r--nixos/modules/services/misc/nix-daemon.nix30
-rw-r--r--nixos/modules/services/misc/nixos-manual.nix12
-rw-r--r--nixos/modules/services/misc/parsoid.nix4
-rw-r--r--nixos/modules/services/misc/safeeyes.nix50
-rw-r--r--nixos/modules/services/misc/serviio.nix92
-rw-r--r--nixos/modules/services/misc/ssm-agent.nix2
-rw-r--r--nixos/modules/services/misc/taskserver/doc.xml12
-rw-r--r--nixos/modules/services/monitoring/apcupsd.nix2
-rw-r--r--nixos/modules/services/monitoring/grafana.nix16
-rw-r--r--nixos/modules/services/monitoring/monit.nix16
-rw-r--r--nixos/modules/services/monitoring/prometheus/blackbox-exporter.nix68
-rw-r--r--nixos/modules/services/monitoring/prometheus/collectd-exporter.nix128
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters.nix174
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters.xml135
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/blackbox.nix31
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/collectd.nix78
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/dovecot.nix50
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/fritzbox.nix39
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/json.nix36
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/minio.nix65
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/nginx.nix47
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/node.nix39
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/postfix.nix81
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/snmp.nix71
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/surfboard.nix32
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/unifi.nix67
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/varnish.nix87
-rw-r--r--nixos/modules/services/monitoring/prometheus/fritzbox-exporter.nix76
-rw-r--r--nixos/modules/services/monitoring/prometheus/json-exporter.nix74
-rw-r--r--nixos/modules/services/monitoring/prometheus/minio-exporter.nix117
-rw-r--r--nixos/modules/services/monitoring/prometheus/nginx-exporter.nix78
-rw-r--r--nixos/modules/services/monitoring/prometheus/node-exporter.nix87
-rw-r--r--nixos/modules/services/monitoring/prometheus/snmp-exporter.nix127
-rw-r--r--nixos/modules/services/monitoring/prometheus/unifi-exporter.nix105
-rw-r--r--nixos/modules/services/monitoring/prometheus/varnish-exporter.nix61
-rw-r--r--nixos/modules/services/monitoring/smartd.nix2
-rw-r--r--nixos/modules/services/network-filesystems/ipfs.nix2
-rw-r--r--nixos/modules/services/network-filesystems/xtreemfs.nix2
-rw-r--r--nixos/modules/services/network-filesystems/yandex-disk.nix4
-rw-r--r--nixos/modules/services/networking/amuled.nix2
-rw-r--r--nixos/modules/services/networking/dante.nix13
-rw-r--r--nixos/modules/services/networking/ddclient.nix112
-rw-r--r--nixos/modules/services/networking/dhcpd.nix1
-rw-r--r--nixos/modules/services/networking/dnscache.nix31
-rw-r--r--nixos/modules/services/networking/dnscrypt-proxy.xml20
-rw-r--r--nixos/modules/services/networking/firewall.nix5
-rw-r--r--nixos/modules/services/networking/flashpolicyd.nix2
-rw-r--r--nixos/modules/services/networking/gnunet.nix14
-rw-r--r--nixos/modules/services/networking/hans.nix145
-rw-r--r--nixos/modules/services/networking/hostapd.nix5
-rw-r--r--nixos/modules/services/networking/iodine.nix22
-rw-r--r--nixos/modules/services/networking/iwd.nix2
-rw-r--r--nixos/modules/services/networking/keepalived/default.nix62
-rw-r--r--nixos/modules/services/networking/keepalived/vrrp-instance-options.nix (renamed from nixos/modules/services/networking/keepalived/vrrp-options.nix)14
-rw-r--r--nixos/modules/services/networking/keepalived/vrrp-script-options.nix64
-rw-r--r--nixos/modules/services/networking/matterbridge.nix84
-rw-r--r--nixos/modules/services/networking/minidlna.nix43
-rw-r--r--nixos/modules/services/networking/murmur.nix3
-rw-r--r--nixos/modules/services/networking/ndppd.nix47
-rw-r--r--nixos/modules/services/networking/networkmanager.nix31
-rw-r--r--nixos/modules/services/networking/nftables.nix2
-rw-r--r--nixos/modules/services/networking/nix-serve.nix2
-rw-r--r--nixos/modules/services/networking/nsd.nix149
-rw-r--r--nixos/modules/services/networking/openvpn.nix2
-rw-r--r--nixos/modules/services/networking/prosody.nix250
-rw-r--r--nixos/modules/services/networking/quagga.nix2
-rw-r--r--nixos/modules/services/networking/radicale.nix4
-rw-r--r--nixos/modules/services/networking/rdnssd.nix2
-rw-r--r--nixos/modules/services/networking/resilio.nix7
-rw-r--r--nixos/modules/services/networking/shadowsocks.nix112
-rw-r--r--nixos/modules/services/networking/ssh/sshd.nix70
-rw-r--r--nixos/modules/services/networking/strongswan-swanctl/module.nix82
-rw-r--r--nixos/modules/services/networking/strongswan-swanctl/param-constructors.nix162
-rw-r--r--nixos/modules/services/networking/strongswan-swanctl/param-lib.nix82
-rw-r--r--nixos/modules/services/networking/strongswan-swanctl/swanctl-params.nix1168
-rw-r--r--nixos/modules/services/networking/tcpcrypt.nix10
-rw-r--r--nixos/modules/services/networking/unbound.nix2
-rw-r--r--nixos/modules/services/networking/unifi.nix37
-rw-r--r--nixos/modules/services/networking/wireguard.nix101
-rw-r--r--nixos/modules/services/networking/zerotierone.nix22
-rw-r--r--nixos/modules/services/printing/cupsd.nix22
-rw-r--r--nixos/modules/services/search/elasticsearch.nix7
-rw-r--r--nixos/modules/services/security/hologram-server.nix38
-rw-r--r--nixos/modules/services/security/oauth2_proxy.nix166
-rw-r--r--nixos/modules/services/security/sshguard.nix1
-rw-r--r--nixos/modules/services/security/tor.nix25
-rw-r--r--nixos/modules/services/security/torify.nix2
-rw-r--r--nixos/modules/services/security/torsocks.nix2
-rw-r--r--nixos/modules/services/torrent/deluge.nix14
-rw-r--r--nixos/modules/services/torrent/transmission.nix22
-rw-r--r--nixos/modules/services/web-apps/atlassian/jira.nix2
-rw-r--r--nixos/modules/services/web-apps/nixbot.nix149
-rw-r--r--nixos/modules/services/web-apps/tt-rss.nix8
-rw-r--r--nixos/modules/services/web-apps/youtrack.nix177
-rw-r--r--nixos/modules/services/web-servers/apache-httpd/owncloud.nix2
-rw-r--r--nixos/modules/services/web-servers/apache-httpd/per-server-options.nix2
-rw-r--r--nixos/modules/services/web-servers/caddy.nix6
-rw-r--r--nixos/modules/services/web-servers/hitch/default.nix108
-rw-r--r--nixos/modules/services/web-servers/lighttpd/gitweb.nix35
-rw-r--r--nixos/modules/services/web-servers/nginx/default.nix37
-rw-r--r--nixos/modules/services/web-servers/nginx/gitweb.nix61
-rw-r--r--nixos/modules/services/web-servers/nginx/vhost-options.nix8
-rw-r--r--nixos/modules/services/web-servers/tomcat.nix380
-rw-r--r--nixos/modules/services/web-servers/varnish/default.nix19
-rw-r--r--nixos/modules/services/x11/desktop-managers/default.nix6
-rw-r--r--nixos/modules/services/x11/desktop-managers/gnome3.nix3
-rw-r--r--nixos/modules/services/x11/desktop-managers/lxqt.nix2
-rw-r--r--nixos/modules/services/x11/desktop-managers/mate.nix2
-rw-r--r--nixos/modules/services/x11/desktop-managers/xfce.nix2
-rw-r--r--nixos/modules/services/x11/desktop-managers/xterm.nix1
-rw-r--r--nixos/modules/services/x11/display-managers/slim.nix2
-rw-r--r--nixos/modules/services/x11/window-managers/bspwm.nix2
-rw-r--r--nixos/modules/services/x11/window-managers/default.nix5
-rw-r--r--nixos/modules/services/x11/window-managers/stumpwm.nix4
-rw-r--r--nixos/modules/services/x11/xserver.nix23
-rw-r--r--nixos/modules/system/activation/activation-script.nix2
-rw-r--r--nixos/modules/system/activation/switch-to-configuration.pl19
-rw-r--r--nixos/modules/system/activation/top-level.nix3
-rw-r--r--nixos/modules/system/boot/coredump.nix7
-rw-r--r--nixos/modules/system/boot/grow-partition.nix13
-rw-r--r--nixos/modules/system/boot/kernel.nix4
-rw-r--r--nixos/modules/system/boot/kexec.nix37
-rw-r--r--nixos/modules/system/boot/loader/grub/grub.nix6
-rw-r--r--nixos/modules/system/boot/loader/grub/install-grub.pl2
-rw-r--r--nixos/modules/system/boot/loader/raspberrypi/builder.sh4
-rw-r--r--nixos/modules/system/boot/loader/raspberrypi/builder_uboot.nix34
-rw-r--r--nixos/modules/system/boot/loader/raspberrypi/builder_uboot.sh29
-rw-r--r--nixos/modules/system/boot/loader/raspberrypi/raspberrypi.nix100
-rw-r--r--nixos/modules/system/boot/luksroot.nix1
-rw-r--r--nixos/modules/system/boot/networkd.nix6
-rw-r--r--nixos/modules/system/boot/stage-1-init.sh59
-rw-r--r--nixos/modules/system/boot/stage-1.nix54
-rw-r--r--nixos/modules/system/boot/stage-2-init.sh8
-rw-r--r--nixos/modules/system/boot/stage-2.nix1
-rw-r--r--nixos/modules/system/boot/systemd-nspawn.nix2
-rw-r--r--nixos/modules/system/boot/systemd-unit-options.nix2
-rw-r--r--nixos/modules/system/boot/systemd.nix33
-rw-r--r--nixos/modules/tasks/filesystems/exfat.nix2
-rw-r--r--nixos/modules/tasks/filesystems/zfs.nix4
-rw-r--r--nixos/modules/tasks/kbd.nix2
-rw-r--r--nixos/modules/tasks/network-interfaces-scripted.nix7
-rw-r--r--nixos/modules/tasks/network-interfaces.nix41
-rw-r--r--nixos/modules/testing/test-instrumentation.nix6
-rw-r--r--nixos/modules/virtualisation/amazon-image.nix7
-rw-r--r--nixos/modules/virtualisation/amazon-init.nix2
-rw-r--r--nixos/modules/virtualisation/amazon-options.nix2
-rw-r--r--nixos/modules/virtualisation/azure-agent.nix10
-rw-r--r--nixos/modules/virtualisation/containers.nix26
-rw-r--r--nixos/modules/virtualisation/ec2-amis.nix19
-rw-r--r--nixos/modules/virtualisation/google-compute-image.nix25
-rw-r--r--nixos/modules/virtualisation/libvirtd.nix14
-rw-r--r--nixos/modules/virtualisation/lxc.nix5
-rw-r--r--nixos/modules/virtualisation/lxd.nix60
-rw-r--r--nixos/modules/virtualisation/openvswitch.nix2
-rw-r--r--nixos/modules/virtualisation/qemu-guest-agent.nix36
-rw-r--r--nixos/modules/virtualisation/qemu-vm.nix86
-rw-r--r--nixos/modules/virtualisation/virtualbox-host.nix8
-rw-r--r--nixos/modules/virtualisation/xen-dom0.nix12
-rw-r--r--nixos/release-combined.nix21
-rw-r--r--nixos/release.nix87
-rw-r--r--nixos/tests/acme.nix4
-rw-r--r--nixos/tests/atd.nix6
-rw-r--r--nixos/tests/borgbackup.nix163
-rw-r--r--nixos/tests/chromium.nix29
-rw-r--r--nixos/tests/common/letsencrypt.nix28
-rw-r--r--nixos/tests/containers-imperative.nix8
-rw-r--r--nixos/tests/containers-ipv4.nix1
-rw-r--r--nixos/tests/containers-physical_interfaces.nix4
-rw-r--r--nixos/tests/containers-tmpfs.nix2
-rw-r--r--nixos/tests/deluge.nix29
-rw-r--r--nixos/tests/dhparams.nix144
-rw-r--r--nixos/tests/docker-registry.nix22
-rw-r--r--nixos/tests/docker-tools-overlay.nix32
-rw-r--r--nixos/tests/docker-tools.nix20
-rw-r--r--nixos/tests/dovecot.nix19
-rw-r--r--nixos/tests/fleet.nix76
-rw-r--r--nixos/tests/gdk-pixbuf.nix19
-rw-r--r--nixos/tests/gnome3-gdm.nix13
-rw-r--r--nixos/tests/grafana.nix2
-rw-r--r--nixos/tests/graphite.nix20
-rw-r--r--nixos/tests/hibernate.nix2
-rw-r--r--nixos/tests/hitch/default.nix33
-rw-r--r--nixos/tests/hitch/example.pem53
-rw-r--r--nixos/tests/hitch/example/index.txt1
-rw-r--r--nixos/tests/home-assistant.nix12
-rw-r--r--nixos/tests/iftop.nix30
-rw-r--r--nixos/tests/installer.nix15
-rw-r--r--nixos/tests/kafka.nix68
-rw-r--r--nixos/tests/kafka_0_10.nix48
-rw-r--r--nixos/tests/kafka_0_11.nix48
-rw-r--r--nixos/tests/kafka_0_9.nix48
-rw-r--r--nixos/tests/kafka_1_0.nix48
-rw-r--r--nixos/tests/kernel-copperhead.nix4
-rw-r--r--nixos/tests/keymap.nix129
-rw-r--r--nixos/tests/kubernetes/certs.nix71
-rw-r--r--nixos/tests/kubernetes/e2e.nix2
-rw-r--r--nixos/tests/kubernetes/rbac.nix4
-rw-r--r--nixos/tests/mesos.nix4
-rw-r--r--nixos/tests/misc.nix2
-rw-r--r--nixos/tests/mysql-backup.nix16
-rw-r--r--nixos/tests/nsd.nix9
-rw-r--r--nixos/tests/openldap.nix4
-rw-r--r--nixos/tests/osquery.nix28
-rw-r--r--nixos/tests/panamax.nix21
-rw-r--r--nixos/tests/plotinus.nix10
-rw-r--r--nixos/tests/predictable-interface-names.nix47
-rw-r--r--nixos/tests/printing.nix4
-rw-r--r--nixos/tests/prosody.nix75
-rw-r--r--nixos/tests/radicale.nix4
-rw-r--r--nixos/tests/statsd.nix2
-rw-r--r--nixos/tests/strongswan-swanctl.nix148
-rw-r--r--nixos/tests/systemd.nix2
-rw-r--r--nixos/tests/transmission.nix21
-rw-r--r--nixos/tests/udisks2.nix5
-rw-r--r--nixos/tests/vault.nix4
-rw-r--r--nixos/tests/virtualbox.nix3
-rw-r--r--nixos/tests/xautolock.nix24
-rw-r--r--pkgs/applications/altcoins/bitcoin-abc.nix4
-rw-r--r--pkgs/applications/altcoins/bitcoin-classic.nix4
-rw-r--r--pkgs/applications/altcoins/bitcoin-unlimited-const-comparators.patch38
-rw-r--r--pkgs/applications/altcoins/bitcoin-unlimited.nix19
-rw-r--r--pkgs/applications/altcoins/bitcoin-xt.nix12
-rw-r--r--pkgs/applications/altcoins/bitcoin.nix4
-rw-r--r--pkgs/applications/altcoins/btc1.nix4
-rw-r--r--pkgs/applications/altcoins/dcrd.nix1
-rw-r--r--pkgs/applications/altcoins/dcrwallet.nix1
-rw-r--r--pkgs/applications/altcoins/default.nix52
-rw-r--r--pkgs/applications/altcoins/ethsign/default.nix2
-rw-r--r--pkgs/applications/altcoins/freicoin.nix2
-rw-r--r--pkgs/applications/altcoins/go-ethereum.nix4
-rw-r--r--pkgs/applications/altcoins/hevm.nix1
-rw-r--r--pkgs/applications/altcoins/litecoin.nix4
-rw-r--r--pkgs/applications/altcoins/masari.nix27
-rw-r--r--pkgs/applications/altcoins/memorycoin.nix2
-rw-r--r--pkgs/applications/altcoins/mist.nix71
-rw-r--r--pkgs/applications/altcoins/monero-gui/default.nix14
-rw-r--r--pkgs/applications/altcoins/monero-gui/move-log-file.patch30
-rw-r--r--pkgs/applications/altcoins/monero/build-wallet-rpc.patch78
-rw-r--r--pkgs/applications/altcoins/monero/default.nix45
-rw-r--r--pkgs/applications/altcoins/namecoin.nix4
-rw-r--r--pkgs/applications/altcoins/nano-wallet/CMakeLists.txt.patch13
-rw-r--r--pkgs/applications/altcoins/nano-wallet/default.nix57
-rw-r--r--pkgs/applications/altcoins/parity-ui/default.nix50
-rw-r--r--pkgs/applications/altcoins/parity-ui/env.nix19
-rw-r--r--pkgs/applications/altcoins/parity/beta.nix7
-rw-r--r--pkgs/applications/altcoins/parity/default.nix7
-rw-r--r--pkgs/applications/altcoins/parity/parity.nix38
-rw-r--r--pkgs/applications/altcoins/parity/patches/vendored-sources-1.10.patch114
-rw-r--r--pkgs/applications/altcoins/parity/patches/vendored-sources-1.9.patch101
-rw-r--r--pkgs/applications/altcoins/particl/particl-core.nix47
-rw-r--r--pkgs/applications/audio/aj-snapshot/default.nix4
-rw-r--r--pkgs/applications/audio/asunder/default.nix4
-rw-r--r--pkgs/applications/audio/audacious/default.nix2
-rw-r--r--pkgs/applications/audio/audacious/qt-5.nix2
-rw-r--r--pkgs/applications/audio/bitwig-studio/bitwig-studio2.nix4
-rw-r--r--pkgs/applications/audio/caps/default.nix6
-rw-r--r--pkgs/applications/audio/cava/default.nix4
-rw-r--r--pkgs/applications/audio/cdparanoia/default.nix3
-rw-r--r--pkgs/applications/audio/cdparanoia/fix_private_keyword.patch468
-rw-r--r--pkgs/applications/audio/chuck/clang.patch58
-rw-r--r--pkgs/applications/audio/chuck/default.nix19
-rw-r--r--pkgs/applications/audio/clementine/default.nix57
-rw-r--r--pkgs/applications/audio/crip/default.nix68
-rw-r--r--pkgs/applications/audio/csound/default.nix4
-rw-r--r--pkgs/applications/audio/deadbeef/default.nix2
-rw-r--r--pkgs/applications/audio/dragonfly-reverb/default.nix33
-rw-r--r--pkgs/applications/audio/drumkv1/default.nix4
-rw-r--r--pkgs/applications/audio/easytag/default.nix6
-rw-r--r--pkgs/applications/audio/eflite/buf-overflow.patch22
-rw-r--r--pkgs/applications/audio/eflite/cvs-update.patch98
-rw-r--r--pkgs/applications/audio/eflite/default.nix31
-rw-r--r--pkgs/applications/audio/eflite/link.patch11
-rw-r--r--pkgs/applications/audio/elisa/default.nix35
-rw-r--r--pkgs/applications/audio/eq10q/default.nix11
-rw-r--r--pkgs/applications/audio/faust/faust1.nix2
-rw-r--r--pkgs/applications/audio/faust/faust2.nix6
-rw-r--r--pkgs/applications/audio/flacon/default.nix4
-rw-r--r--pkgs/applications/audio/fldigi/default.nix4
-rw-r--r--pkgs/applications/audio/fluidsynth/default.nix4
-rw-r--r--pkgs/applications/audio/fmit/default.nix4
-rw-r--r--pkgs/applications/audio/freewheeling/default.nix4
-rw-r--r--pkgs/applications/audio/gmpc/default.nix2
-rw-r--r--pkgs/applications/audio/google-play-music-desktop-player/default.nix4
-rw-r--r--pkgs/applications/audio/gtkpod/default.nix23
-rw-r--r--pkgs/applications/audio/guitarix/default.nix4
-rw-r--r--pkgs/applications/audio/kid3/default.nix23
-rw-r--r--pkgs/applications/audio/lastfmsubmitd/default.nix4
-rw-r--r--pkgs/applications/audio/mi2ly/default.nix1
-rw-r--r--pkgs/applications/audio/mopidy/gmusic.nix (renamed from pkgs/applications/audio/mopidy-gmusic/default.nix)2
-rw-r--r--pkgs/applications/audio/mopidy/iris.nix (renamed from pkgs/applications/audio/mopidy-iris/default.nix)7
-rw-r--r--pkgs/applications/audio/mopidy/local-images.nix (renamed from pkgs/applications/audio/mopidy-local-images/default.nix)0
-rw-r--r--pkgs/applications/audio/mopidy/local-sqlite.nix (renamed from pkgs/applications/audio/mopidy-local-sqlite/default.nix)0
-rw-r--r--pkgs/applications/audio/mopidy/moped.nix (renamed from pkgs/applications/audio/mopidy-moped/default.nix)0
-rw-r--r--pkgs/applications/audio/mopidy/mopify.nix (renamed from pkgs/applications/audio/mopidy-mopify/default.nix)0
-rw-r--r--pkgs/applications/audio/mopidy/musicbox-webclient.nix (renamed from pkgs/applications/audio/mopidy-musicbox-webclient/default.nix)0
-rw-r--r--pkgs/applications/audio/mopidy/soundcloud.nix (renamed from pkgs/applications/audio/mopidy-soundcloud/default.nix)0
-rw-r--r--pkgs/applications/audio/mopidy/spotify-tunigo.nix (renamed from pkgs/applications/audio/mopidy-spotify-tunigo/default.nix)0
-rw-r--r--pkgs/applications/audio/mopidy/spotify.nix (renamed from pkgs/applications/audio/mopidy-spotify/default.nix)2
-rw-r--r--pkgs/applications/audio/mopidy/youtube.nix (renamed from pkgs/applications/audio/mopidy-youtube/default.nix)0
-rw-r--r--pkgs/applications/audio/mp3blaster/default.nix4
-rw-r--r--pkgs/applications/audio/mpc123/default.nix2
-rw-r--r--pkgs/applications/audio/mpg123/default.nix4
-rw-r--r--pkgs/applications/audio/mpg321/default.nix2
-rw-r--r--pkgs/applications/audio/ncmpc/default.nix6
-rw-r--r--pkgs/applications/audio/ncmpcpp/default.nix4
-rw-r--r--pkgs/applications/audio/padthv1/default.nix4
-rw-r--r--pkgs/applications/audio/pamixer/default.nix17
-rw-r--r--pkgs/applications/audio/pd-plugins/helmholtz/default.nix3
-rw-r--r--pkgs/applications/audio/praat/default.nix4
-rw-r--r--pkgs/applications/audio/qmmp/default.nix4
-rw-r--r--pkgs/applications/audio/quodlibet/default.nix41
-rw-r--r--pkgs/applications/audio/radiotray-ng/default.nix7
-rw-r--r--pkgs/applications/audio/rhvoice/default.nix48
-rw-r--r--pkgs/applications/audio/rhvoice/honor_nix_environment.patch14
-rw-r--r--pkgs/applications/audio/rhythmbox/default.nix9
-rw-r--r--pkgs/applications/audio/samplv1/default.nix4
-rw-r--r--pkgs/applications/audio/snd/default.nix4
-rw-r--r--pkgs/applications/audio/sonata/default.nix4
-rw-r--r--pkgs/applications/audio/sound-juicer/default.nix50
-rw-r--r--pkgs/applications/audio/soundscape-renderer/default.nix2
-rw-r--r--pkgs/applications/audio/spotify/default.nix13
-rw-r--r--pkgs/applications/audio/squishyball/default.nix2
-rw-r--r--pkgs/applications/audio/streamripper/default.nix5
-rw-r--r--pkgs/applications/audio/synthv1/default.nix4
-rw-r--r--pkgs/applications/audio/x42-plugins/default.nix4
-rw-r--r--pkgs/applications/audio/yoshimi/default.nix4
-rw-r--r--pkgs/applications/backup/deja-dup/default.nix27
-rw-r--r--pkgs/applications/backup/deja-dup/fix-paths.patch21
-rw-r--r--pkgs/applications/display-managers/lightdm/gtk-greeter.nix (renamed from pkgs/applications/display-managers/lightdm-gtk-greeter/default.nix)6
-rw-r--r--pkgs/applications/display-managers/sddm/default.nix4
-rw-r--r--pkgs/applications/display-managers/slim/default.nix7
-rw-r--r--pkgs/applications/editors/android-studio/common.nix11
-rw-r--r--pkgs/applications/editors/android-studio/default.nix57
-rw-r--r--pkgs/applications/editors/atom/default.nix8
-rw-r--r--pkgs/applications/editors/bonzomatic/default.nix30
-rw-r--r--pkgs/applications/editors/codeblocks/default.nix12
-rw-r--r--pkgs/applications/editors/dit/default.nix30
-rw-r--r--pkgs/applications/editors/eclipse/build-eclipse.nix8
-rw-r--r--pkgs/applications/editors/eclipse/default.nix6
-rw-r--r--pkgs/applications/editors/eclipse/plugins.nix58
-rw-r--r--pkgs/applications/editors/edbrowse/default.nix18
-rw-r--r--pkgs/applications/editors/emacs-modes/calfw/default.nix2
-rw-r--r--pkgs/applications/editors/emacs-modes/elpa-generated.nix135
-rw-r--r--pkgs/applications/editors/emacs-modes/icicles/default.nix28
-rw-r--r--pkgs/applications/editors/emacs-modes/jdee/default.nix2
-rw-r--r--pkgs/applications/editors/emacs-modes/melpa-generated.nix5420
-rw-r--r--pkgs/applications/editors/emacs-modes/melpa-packages.nix28
-rw-r--r--pkgs/applications/editors/emacs-modes/melpa-stable-generated.nix2040
-rw-r--r--pkgs/applications/editors/emacs-modes/melpa-stable-packages.nix8
-rw-r--r--pkgs/applications/editors/emacs-modes/org-generated.nix12
-rw-r--r--pkgs/applications/editors/focuswriter/default.nix6
-rw-r--r--pkgs/applications/editors/geany/default.nix6
-rw-r--r--pkgs/applications/editors/ghostwriter/default.nix4
-rw-r--r--pkgs/applications/editors/hexcurse/default.nix14
-rw-r--r--pkgs/applications/editors/ht/default.nix2
-rw-r--r--pkgs/applications/editors/ht/gcc7.patch11
-rw-r--r--pkgs/applications/editors/jetbrains/default.nix61
-rw-r--r--pkgs/applications/editors/kakoune/default.nix6
-rw-r--r--pkgs/applications/editors/kodestudio/default.nix2
-rw-r--r--pkgs/applications/editors/moe/default.nix2
-rw-r--r--pkgs/applications/editors/nano/default.nix4
-rw-r--r--pkgs/applications/editors/neovim/default.nix1
-rw-r--r--pkgs/applications/editors/neovim/ruby_provider/Gemfile.lock4
-rw-r--r--pkgs/applications/editors/neovim/ruby_provider/gemset.nix8
-rw-r--r--pkgs/applications/editors/okteta/default.nix (renamed from pkgs/applications/kde/okteta.nix)12
-rw-r--r--pkgs/applications/editors/rstudio/default.nix4
-rw-r--r--pkgs/applications/editors/sublime/2/default.nix (renamed from pkgs/applications/editors/sublime/default.nix)4
-rw-r--r--pkgs/applications/editors/sublime/3/common.nix (renamed from pkgs/applications/editors/sublime3/default.nix)47
-rw-r--r--pkgs/applications/editors/sublime/3/packages.nix18
-rw-r--r--pkgs/applications/editors/texmacs/common.nix68
-rw-r--r--pkgs/applications/editors/texmacs/darwin.nix59
-rw-r--r--pkgs/applications/editors/texmacs/darwin.patch29
-rw-r--r--pkgs/applications/editors/texmacs/default.nix91
-rw-r--r--pkgs/applications/editors/texmaker/default.nix15
-rw-r--r--pkgs/applications/editors/texstudio/default.nix13
-rw-r--r--pkgs/applications/editors/tiled/default.nix6
-rw-r--r--pkgs/applications/editors/typora/default.nix6
-rw-r--r--pkgs/applications/editors/vim/common.nix4
-rw-r--r--pkgs/applications/editors/vim/configurable.nix6
-rw-r--r--pkgs/applications/editors/vim/ft-nix-support.patch71
-rw-r--r--pkgs/applications/editors/vis/default.nix8
-rw-r--r--pkgs/applications/editors/vscode/default.nix10
-rw-r--r--pkgs/applications/editors/vscode/with-extensions.nix (renamed from pkgs/applications/editors/vscode-with-extensions/default.nix)0
-rw-r--r--pkgs/applications/editors/wxhexeditor/default.nix28
-rw-r--r--pkgs/applications/editors/zed/default.nix82
-rw-r--r--pkgs/applications/editors/zed/deps.json6
-rwxr-xr-xpkgs/applications/editors/zed/deps.sh7
-rw-r--r--pkgs/applications/editors/zed/node-packages.nix877
-rw-r--r--pkgs/applications/editors/zed/node.nix16
-rw-r--r--pkgs/applications/gis/grass/default.nix15
-rw-r--r--pkgs/applications/gis/grass/no_symbolic_links.patch37
-rw-r--r--pkgs/applications/gis/openorienteering-mapper/default.nix68
-rw-r--r--pkgs/applications/gis/qgis/default.nix63
-rw-r--r--pkgs/applications/gis/saga/default.nix6
-rw-r--r--pkgs/applications/graphics/ImageMagick/7.0.nix4
-rw-r--r--pkgs/applications/graphics/ImageMagick/default.nix4
-rw-r--r--pkgs/applications/graphics/ahoviewer/default.nix42
-rw-r--r--pkgs/applications/graphics/ao/default.nix1
-rw-r--r--pkgs/applications/graphics/avocode/default.nix99
-rw-r--r--pkgs/applications/graphics/c3d/default.nix7
-rw-r--r--pkgs/applications/graphics/darktable/default.nix4
-rw-r--r--pkgs/applications/graphics/digikam/default.nix6
-rw-r--r--pkgs/applications/graphics/displaycal/default.nix9
-rw-r--r--pkgs/applications/graphics/dosage/default.nix28
-rw-r--r--pkgs/applications/graphics/draftsight/default.nix4
-rw-r--r--pkgs/applications/graphics/epeg/default.nix31
-rw-r--r--pkgs/applications/graphics/exrdisplay/default.nix6
-rw-r--r--pkgs/applications/graphics/fbida/default.nix9
-rw-r--r--pkgs/applications/graphics/feh/default.nix4
-rw-r--r--pkgs/applications/graphics/fstl/default.nix35
-rw-r--r--pkgs/applications/graphics/geeqie/default.nix2
-rw-r--r--pkgs/applications/graphics/gimp/2.8.nix58
-rw-r--r--pkgs/applications/graphics/gimp/default.nix96
-rw-r--r--pkgs/applications/graphics/gimp/plugins/default.nix69
-rw-r--r--pkgs/applications/graphics/gimp/wrapper.nix7
-rw-r--r--pkgs/applications/graphics/gnuclad/default.nix22
-rw-r--r--pkgs/applications/graphics/gocr/default.nix4
-rw-r--r--pkgs/applications/graphics/goxel/default.nix6
-rw-r--r--pkgs/applications/graphics/goxel/disable-imgui_ini.patch13
-rw-r--r--pkgs/applications/graphics/graphicsmagick/compat.nix37
-rw-r--r--pkgs/applications/graphics/graphicsmagick/default.nix7
-rw-r--r--pkgs/applications/graphics/gthumb/default.nix39
-rw-r--r--pkgs/applications/graphics/inkscape/default.nix42
-rw-r--r--pkgs/applications/graphics/jpegoptim/default.nix4
-rw-r--r--pkgs/applications/graphics/k3d/default.nix19
-rw-r--r--pkgs/applications/graphics/krita/default.nix4
-rw-r--r--pkgs/applications/graphics/leocad/default.nix2
-rw-r--r--pkgs/applications/graphics/meshlab/default.nix1
-rw-r--r--pkgs/applications/graphics/nomacs/default.nix6
-rw-r--r--pkgs/applications/graphics/nomacs/fix-appdata-install.patch13
-rw-r--r--pkgs/applications/graphics/ocrad/default.nix2
-rw-r--r--pkgs/applications/graphics/openimageio/default.nix8
-rw-r--r--pkgs/applications/graphics/openscad/default.nix28
-rw-r--r--pkgs/applications/graphics/panotools/default.nix2
-rw-r--r--pkgs/applications/graphics/paraview/default.nix24
-rw-r--r--pkgs/applications/graphics/pencil/default.nix24
-rw-r--r--pkgs/applications/graphics/photoflow/default.nix55
-rw-r--r--pkgs/applications/graphics/pqiv/default.nix4
-rw-r--r--pkgs/applications/graphics/processing/default.nix39
-rw-r--r--pkgs/applications/graphics/processing/use-nixpkgs-jre.patch88
-rw-r--r--pkgs/applications/graphics/processing3/default.nix53
-rw-r--r--pkgs/applications/graphics/qscreenshot/default.nix5
-rw-r--r--pkgs/applications/graphics/qtpfsgui/default.nix2
-rw-r--r--pkgs/applications/graphics/rapcad/default.nix1
-rw-r--r--pkgs/applications/graphics/rawtherapee/default.nix4
-rw-r--r--pkgs/applications/graphics/sane/xsane.nix6
-rw-r--r--pkgs/applications/graphics/scantailor/advanced.nix6
-rw-r--r--pkgs/applications/graphics/scantailor/default.nix2
-rw-r--r--pkgs/applications/graphics/shotwell/default.nix8
-rw-r--r--pkgs/applications/graphics/shutter/default.nix6
-rw-r--r--pkgs/applications/graphics/solvespace/default.nix4
-rw-r--r--pkgs/applications/graphics/ufraw/default.nix26
-rw-r--r--pkgs/applications/graphics/viewnior/default.nix2
-rw-r--r--pkgs/applications/graphics/xfig/default.nix2
-rw-r--r--pkgs/applications/kde/akonadi-import-wizard.nix20
-rw-r--r--pkgs/applications/kde/akonadi/akonadi-paths.patch121
-rw-r--r--pkgs/applications/kde/default.nix11
-rw-r--r--pkgs/applications/kde/fetch.sh2
-rw-r--r--pkgs/applications/kde/k3b.nix18
-rw-r--r--pkgs/applications/kde/kalarm.nix37
-rw-r--r--pkgs/applications/kde/kalarmcal.nix4
-rw-r--r--pkgs/applications/kde/kdebugsettings.nix20
-rw-r--r--pkgs/applications/kde/kdepim-addons.nix23
-rw-r--r--pkgs/applications/kde/konsole.nix4
-rw-r--r--pkgs/applications/kde/krfb.nix4
-rw-r--r--pkgs/applications/kde/ksystemlog.nix17
-rw-r--r--pkgs/applications/kde/mbox-importer.nix3
-rw-r--r--pkgs/applications/kde/okular.nix30
-rw-r--r--pkgs/applications/kde/spectacle.nix3
-rw-r--r--pkgs/applications/kde/srcs.nix1712
-rw-r--r--pkgs/applications/misc/1password/default.nix34
-rw-r--r--pkgs/applications/misc/alacritty/default.nix8
-rw-r--r--pkgs/applications/misc/apvlv/default.nix7
-rw-r--r--pkgs/applications/misc/audio/soxr/default.nix4
-rw-r--r--pkgs/applications/misc/bb/default.nix2
-rw-r--r--pkgs/applications/misc/bleachbit/default.nix4
-rw-r--r--pkgs/applications/misc/blender/default.nix16
-rw-r--r--pkgs/applications/misc/buku/default.nix17
-rw-r--r--pkgs/applications/misc/calibre/default.nix16
-rw-r--r--pkgs/applications/misc/calibre/disable_plugins.patch17
-rw-r--r--pkgs/applications/misc/calibre/no_updates_dialog.patch15
-rw-r--r--pkgs/applications/misc/cataract/build.nix2
-rw-r--r--pkgs/applications/misc/cbatticon/default.nix4
-rw-r--r--pkgs/applications/misc/cheat/default.nix4
-rw-r--r--pkgs/applications/misc/cherrytree/default.nix4
-rw-r--r--pkgs/applications/misc/chirp/default.nix8
-rw-r--r--pkgs/applications/misc/cli-visualizer/default.nix6
-rw-r--r--pkgs/applications/misc/cointop/default.nix30
-rw-r--r--pkgs/applications/misc/cointop/deps.nix3
-rw-r--r--pkgs/applications/misc/confclerk/default.nix6
-rw-r--r--pkgs/applications/misc/copyq/default.nix4
-rw-r--r--pkgs/applications/misc/coursera-dl/default.nix41
-rw-r--r--pkgs/applications/misc/cpp-ethereum/default.nix1
-rw-r--r--pkgs/applications/misc/ctodo/default.nix2
-rw-r--r--pkgs/applications/misc/curabydagoma/default.nix76
-rw-r--r--pkgs/applications/misc/dbeaver/default.nix8
-rw-r--r--pkgs/applications/misc/deco/default.nix4
-rw-r--r--pkgs/applications/misc/djvulibre/default.nix6
-rw-r--r--pkgs/applications/misc/dmenu/default.nix8
-rw-r--r--pkgs/applications/misc/dunst/default.nix6
-rw-r--r--pkgs/applications/misc/electron-cash/default.nix4
-rw-r--r--pkgs/applications/misc/electrum/dash.nix (renamed from pkgs/applications/misc/electrum-dash/default.nix)0
-rw-r--r--pkgs/applications/misc/electrum/default.nix13
-rw-r--r--pkgs/applications/misc/electrum/ltc.nix (renamed from pkgs/applications/misc/electrum-ltc/default.nix)4
-rw-r--r--pkgs/applications/misc/et/default.nix4
-rw-r--r--pkgs/applications/misc/far2l/add-nix-syntax-highlighting.patch6
-rw-r--r--pkgs/applications/misc/far2l/default.nix6
-rw-r--r--pkgs/applications/misc/gcal/default.nix2
-rw-r--r--pkgs/applications/misc/gcalcli/default.nix63
-rw-r--r--pkgs/applications/misc/girara/default.nix31
-rw-r--r--pkgs/applications/misc/gkrellm/default.nix2
-rw-r--r--pkgs/applications/misc/gmtp/default.nix8
-rw-r--r--pkgs/applications/misc/gnome-usage/default.nix37
-rw-r--r--pkgs/applications/misc/gnuradio/ais.nix (renamed from pkgs/applications/misc/gnuradio-ais/default.nix)0
-rw-r--r--pkgs/applications/misc/gnuradio/gsm.nix (renamed from pkgs/applications/misc/gnuradio-gsm/default.nix)0
-rw-r--r--pkgs/applications/misc/gnuradio/nacl.nix (renamed from pkgs/applications/misc/gnuradio-nacl/default.nix)0
-rw-r--r--pkgs/applications/misc/gnuradio/osmosdr.nix (renamed from pkgs/applications/misc/gnuradio-osmosdr/default.nix)0
-rw-r--r--pkgs/applications/misc/gnuradio/rds.nix (renamed from pkgs/applications/misc/gnuradio-rds/default.nix)0
-rw-r--r--pkgs/applications/misc/go-jira/default.nix22
-rw-r--r--pkgs/applications/misc/googleearth/default.nix42
-rw-r--r--pkgs/applications/misc/googler/default.nix4
-rw-r--r--pkgs/applications/misc/gosmore/default.nix3
-rw-r--r--pkgs/applications/misc/gosmore/pointer_int_comparison.patch11
-rw-r--r--pkgs/applications/misc/gpa/default.nix2
-rw-r--r--pkgs/applications/misc/gphoto2/default.nix4
-rw-r--r--pkgs/applications/misc/gpx/default.nix23
-rw-r--r--pkgs/applications/misc/gqrx/default.nix4
-rw-r--r--pkgs/applications/misc/gramps/default.nix25
-rw-r--r--pkgs/applications/misc/guake/default.nix82
-rw-r--r--pkgs/applications/misc/gv/default.nix17
-rw-r--r--pkgs/applications/misc/haxor-news/default.nix2
-rw-r--r--pkgs/applications/misc/houdini/runtime.nix4
-rw-r--r--pkgs/applications/misc/hr/default.nix2
-rw-r--r--pkgs/applications/misc/hstr/default.nix6
-rw-r--r--pkgs/applications/misc/hubstaff/default.nix4
-rw-r--r--pkgs/applications/misc/hugo/default.nix4
-rw-r--r--pkgs/applications/misc/hugo/deps.nix122
-rw-r--r--pkgs/applications/misc/hyper/default.nix4
-rw-r--r--pkgs/applications/misc/ipmicfg/default.nix5
-rw-r--r--pkgs/applications/misc/ipmiview/default.nix2
-rw-r--r--pkgs/applications/misc/jekyll/basic/Gemfile.lock18
-rw-r--r--pkgs/applications/misc/jekyll/basic/gemset.nix36
-rw-r--r--pkgs/applications/misc/jekyll/full/Gemfile.lock22
-rw-r--r--pkgs/applications/misc/jekyll/full/gemset.nix44
-rwxr-xr-xpkgs/applications/misc/jekyll/update.sh15
-rw-r--r--pkgs/applications/misc/jgmenu/default.nix2
-rw-r--r--pkgs/applications/misc/josm/default.nix4
-rw-r--r--pkgs/applications/misc/k2pdfopt/default.nix2
-rw-r--r--pkgs/applications/misc/kdeconnect/default.nix9
-rw-r--r--pkgs/applications/misc/keepass/default.nix4
-rw-r--r--pkgs/applications/misc/keepassx/community.nix19
-rw-r--r--pkgs/applications/misc/khal/default.nix2
-rw-r--r--pkgs/applications/misc/khard/default.nix2
-rw-r--r--pkgs/applications/misc/kitty/default.nix14
-rw-r--r--pkgs/applications/misc/latte-dock/default.nix4
-rw-r--r--pkgs/applications/misc/lilyterm/default.nix4
-rw-r--r--pkgs/applications/misc/limesuite/default.nix53
-rw-r--r--pkgs/applications/misc/lyx/default.nix6
-rw-r--r--pkgs/applications/misc/makeself/default.nix4
-rw-r--r--pkgs/applications/misc/masterpdfeditor/default.nix94
-rw-r--r--pkgs/applications/misc/mdp/default.nix2
-rw-r--r--pkgs/applications/misc/mediainfo-gui/default.nix4
-rw-r--r--pkgs/applications/misc/mediainfo/default.nix4
-rw-r--r--pkgs/applications/misc/minergate/default.nix36
-rw-r--r--pkgs/applications/misc/mucommander/default.nix82
-rw-r--r--pkgs/applications/misc/multimon-ng/default.nix4
-rw-r--r--pkgs/applications/misc/mupdf/default.nix24
-rw-r--r--pkgs/applications/misc/mupdf/default.upstream2
-rw-r--r--pkgs/applications/misc/mupdf/mupdf-1.13-shared_libs-1.patch (renamed from pkgs/applications/misc/mupdf/mupdf-1.12-shared_libs-1.patch)14
-rw-r--r--pkgs/applications/misc/mwic/default.nix6
-rw-r--r--pkgs/applications/misc/netsurf/buildsystem/default.nix4
-rw-r--r--pkgs/applications/misc/netsurf/libcss/default.nix2
-rw-r--r--pkgs/applications/misc/nixnote2/default.nix6
-rw-r--r--pkgs/applications/misc/nnn/default.nix4
-rw-r--r--pkgs/applications/misc/octoprint/default.nix3
-rw-r--r--pkgs/applications/misc/onboard/default.nix1
-rw-r--r--pkgs/applications/misc/oneko/default.nix2
-rw-r--r--pkgs/applications/misc/open-pdf-presenter/default.nix22
-rw-r--r--pkgs/applications/misc/opencpn/default.nix4
-rw-r--r--pkgs/applications/misc/orca/default.nix11
-rw-r--r--pkgs/applications/misc/overmind/default.nix27
-rw-r--r--pkgs/applications/misc/pcmanfm/default.nix4
-rw-r--r--pkgs/applications/misc/pcmanx-gtk2/default.nix18
-rw-r--r--pkgs/applications/misc/pdf-quench/default.nix36
-rw-r--r--pkgs/applications/misc/pdfpc/default.nix4
-rw-r--r--pkgs/applications/misc/pgmanage/default.nix12
-rw-r--r--pkgs/applications/misc/plank/default.nix48
-rw-r--r--pkgs/applications/misc/playonlinux/default.nix4
-rw-r--r--pkgs/applications/misc/plover/default.nix59
-rw-r--r--pkgs/applications/misc/polybar/default.nix9
-rw-r--r--pkgs/applications/misc/posterazor/default.nix2
-rw-r--r--pkgs/applications/misc/projectlibre/default.nix44
-rw-r--r--pkgs/applications/misc/pytrainer/default.nix18
-rw-r--r--pkgs/applications/misc/pytrainer/fix-test-tz.patch11
-rw-r--r--pkgs/applications/misc/qlcplus/default.nix4
-rw-r--r--pkgs/applications/misc/qmapshack/default.nix4
-rw-r--r--pkgs/applications/misc/qpdfview/default.nix17
-rw-r--r--pkgs/applications/misc/qsyncthingtray/default.nix2
-rw-r--r--pkgs/applications/misc/qtbitcointrader/default.nix4
-rw-r--r--pkgs/applications/misc/redis-desktop-manager/default.nix18
-rw-r--r--pkgs/applications/misc/robo3t/default.nix3
-rw-r--r--pkgs/applications/misc/rofi/config.patch54
-rw-r--r--pkgs/applications/misc/rofi/default.nix20
-rw-r--r--pkgs/applications/misc/rofi/wrapper.nix17
-rw-r--r--pkgs/applications/misc/rsibreak/default.nix28
-rw-r--r--pkgs/applications/misc/rtl-sdr/default.nix4
-rw-r--r--pkgs/applications/misc/rtv/default.nix6
-rw-r--r--pkgs/applications/misc/safeeyes/default.nix71
-rw-r--r--pkgs/applications/misc/sakura/default.nix4
-rw-r--r--pkgs/applications/misc/sc-im/default.nix2
-rw-r--r--pkgs/applications/misc/sdcv/default.nix3
-rw-r--r--pkgs/applications/misc/sent/default.nix8
-rw-r--r--pkgs/applications/misc/sigal/default.nix6
-rw-r--r--pkgs/applications/misc/simplenote/default.nix7
-rw-r--r--pkgs/applications/misc/slade/default.nix2
-rw-r--r--pkgs/applications/misc/slade/git.nix2
-rw-r--r--pkgs/applications/misc/sleepyhead/default.nix42
-rw-r--r--pkgs/applications/misc/slic3r/prusa3d.nix (renamed from pkgs/applications/misc/slic3r-prusa3d/default.nix)11
-rw-r--r--pkgs/applications/misc/slstatus/default.nix30
-rw-r--r--pkgs/applications/misc/soapyairspy/default.nix30
-rw-r--r--pkgs/applications/misc/soapybladerf/default.nix31
-rw-r--r--pkgs/applications/misc/soapyhackrf/default.nix30
-rw-r--r--pkgs/applications/misc/soapyremote/default.nix28
-rw-r--r--pkgs/applications/misc/soapysdr/default.nix50
-rw-r--r--pkgs/applications/misc/soapyuhd/default.nix34
-rw-r--r--pkgs/applications/misc/spacefm/default.nix8
-rw-r--r--pkgs/applications/misc/st/default.nix15
-rw-r--r--pkgs/applications/misc/st/st-fix-deletekey.patch15
-rw-r--r--pkgs/applications/misc/stag/default.nix2
-rw-r--r--pkgs/applications/misc/stupidterm/default.nix6
-rw-r--r--pkgs/applications/misc/synapse/default.nix4
-rw-r--r--pkgs/applications/misc/tasknc/default.nix2
-rw-r--r--pkgs/applications/misc/tasksh/default.nix2
-rw-r--r--pkgs/applications/misc/taskwarrior/default.nix8
-rw-r--r--pkgs/applications/misc/terminator/default.nix16
-rw-r--r--pkgs/applications/misc/terminus/default.nix43
-rw-r--r--pkgs/applications/misc/teseq/default.nix22
-rw-r--r--pkgs/applications/misc/timewarrior/default.nix4
-rw-r--r--pkgs/applications/misc/todiff/default.nix23
-rw-r--r--pkgs/applications/misc/todolist/default.nix22
-rw-r--r--pkgs/applications/misc/toot/default.nix2
-rw-r--r--pkgs/applications/misc/translate-shell/default.nix99
-rw-r--r--pkgs/applications/misc/urh/default.nix4
-rw-r--r--pkgs/applications/misc/urlscan/default.nix11
-rw-r--r--pkgs/applications/misc/veracrypt/default.nix4
-rw-r--r--pkgs/applications/misc/vit/default.nix4
-rw-r--r--pkgs/applications/misc/weather/default.nix2
-rw-r--r--pkgs/applications/misc/welle-io/default.nix8
-rw-r--r--pkgs/applications/misc/wmname/default.nix2
-rw-r--r--pkgs/applications/misc/wordnet/default.nix2
-rw-r--r--pkgs/applications/misc/workrave/default.nix29
-rw-r--r--pkgs/applications/misc/xca/default.nix4
-rw-r--r--pkgs/applications/misc/xfe/default.nix4
-rw-r--r--pkgs/applications/misc/xfontsel/default.nix4
-rw-r--r--pkgs/applications/misc/xmr-stak/default.nix17
-rw-r--r--pkgs/applications/misc/xmrig/default.nix34
-rw-r--r--pkgs/applications/misc/xmrig/proxy.nix34
-rw-r--r--pkgs/applications/misc/xpdf/default.nix2
-rw-r--r--pkgs/applications/misc/xterm/default.nix4
-rw-r--r--pkgs/applications/misc/xtermcontrol/default.nix4
-rw-r--r--pkgs/applications/misc/yaft/default.nix2
-rw-r--r--pkgs/applications/misc/yakuake/default.nix4
-rw-r--r--pkgs/applications/misc/yarssr/default.nix68
-rw-r--r--pkgs/applications/misc/yate/default.nix9
-rw-r--r--pkgs/applications/misc/zathura/core/default.nix56
-rw-r--r--pkgs/applications/misc/zathura/core/icon.xpm120
-rw-r--r--pkgs/applications/misc/zathura/djvu/default.nix23
-rw-r--r--pkgs/applications/misc/zathura/djvu/gtkflags.patch23
-rw-r--r--pkgs/applications/misc/zathura/pdf-mupdf/default.nix23
-rw-r--r--pkgs/applications/misc/zathura/pdf-poppler/default.nix21
-rw-r--r--pkgs/applications/misc/zathura/ps/default.nix25
-rw-r--r--pkgs/applications/misc/zathura/ps/gtkflags.patch23
-rw-r--r--pkgs/applications/misc/zathura/wrapper.nix2
-rw-r--r--pkgs/applications/networking/browsers/chromium/browser.nix1
-rw-r--r--pkgs/applications/networking/browsers/chromium/common.nix34
-rw-r--r--pkgs/applications/networking/browsers/chromium/default.nix2
-rw-r--r--pkgs/applications/networking/browsers/chromium/patches/chromium-gcc5-r4.patch98
-rw-r--r--pkgs/applications/networking/browsers/chromium/patches/constexpr-fix.patch98
-rw-r--r--pkgs/applications/networking/browsers/chromium/patches/fix_network_api_crash.patch77
-rw-r--r--pkgs/applications/networking/browsers/chromium/patches/include-math-for-round.patch34
-rw-r--r--pkgs/applications/networking/browsers/chromium/patches/neon_buildfix.patch21
-rw-r--r--pkgs/applications/networking/browsers/chromium/patches/skia_buildfix.patch22
-rw-r--r--pkgs/applications/networking/browsers/chromium/plugins.nix4
-rw-r--r--pkgs/applications/networking/browsers/chromium/upstream-info.nix18
-rw-r--r--pkgs/applications/networking/browsers/dwb/default.nix35
-rw-r--r--pkgs/applications/networking/browsers/eolie/0001-Remove-post-install-script-handle-in-nix-config-inst.patch23
-rw-r--r--pkgs/applications/networking/browsers/eolie/default.nix17
-rw-r--r--pkgs/applications/networking/browsers/falkon/default.nix4
-rw-r--r--pkgs/applications/networking/browsers/firefox-bin/beta_sources.nix788
-rw-r--r--pkgs/applications/networking/browsers/firefox-bin/default.nix16
-rw-r--r--pkgs/applications/networking/browsers/firefox-bin/devedition_sources.nix788
-rw-r--r--pkgs/applications/networking/browsers/firefox-bin/release_sources.nix790
-rw-r--r--pkgs/applications/networking/browsers/firefox-bin/update.nix2
-rw-r--r--pkgs/applications/networking/browsers/firefox/common.nix7
-rw-r--r--pkgs/applications/networking/browsers/firefox/fix-pa-context-connect-retval.patch26
-rw-r--r--pkgs/applications/networking/browsers/firefox/no-buildconfig.patch6
-rw-r--r--pkgs/applications/networking/browsers/firefox/packages.nix104
-rw-r--r--pkgs/applications/networking/browsers/firefox/update.nix6
-rw-r--r--pkgs/applications/networking/browsers/firefox/wrapper.nix27
-rw-r--r--pkgs/applications/networking/browsers/google-chrome/default.nix17
-rw-r--r--pkgs/applications/networking/browsers/links2/default.nix4
-rw-r--r--pkgs/applications/networking/browsers/luakit/default.nix61
-rw-r--r--pkgs/applications/networking/browsers/lynx/default.nix11
-rw-r--r--pkgs/applications/networking/browsers/mozilla-plugins/flashplayer/default.nix12
-rw-r--r--pkgs/applications/networking/browsers/mozilla-plugins/flashplayer/standalone.nix10
-rw-r--r--pkgs/applications/networking/browsers/mozilla-plugins/trezor/default.nix7
-rw-r--r--pkgs/applications/networking/browsers/otter/default.nix4
-rw-r--r--pkgs/applications/networking/browsers/palemoon/default.nix8
-rw-r--r--pkgs/applications/networking/browsers/qutebrowser/default.nix4
-rw-r--r--pkgs/applications/networking/browsers/tor-browser-bundle-bin/default.nix8
-rw-r--r--pkgs/applications/networking/c14/default.nix9
-rw-r--r--pkgs/applications/networking/cluster/click/default.nix28
-rw-r--r--pkgs/applications/networking/cluster/cni/default.nix9
-rw-r--r--pkgs/applications/networking/cluster/cni/plugins.nix33
-rw-r--r--pkgs/applications/networking/cluster/docker-machine/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/flink/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/helm/default.nix11
-rw-r--r--pkgs/applications/networking/cluster/heptio-ark/default.nix25
-rw-r--r--pkgs/applications/networking/cluster/kontemplate/default.nix41
-rw-r--r--pkgs/applications/networking/cluster/kontemplate/deps.nix93
-rw-r--r--pkgs/applications/networking/cluster/kubernetes/default.nix19
-rw-r--r--pkgs/applications/networking/cluster/mesos/default.nix30
-rw-r--r--pkgs/applications/networking/cluster/minikube/default.nix8
-rw-r--r--pkgs/applications/networking/cluster/openshift/default.nix59
-rw-r--r--pkgs/applications/networking/cluster/panamax/api/Gemfile23
-rw-r--r--pkgs/applications/networking/cluster/panamax/api/Gemfile.lock164
-rw-r--r--pkgs/applications/networking/cluster/panamax/api/default.nix74
-rw-r--r--pkgs/applications/networking/cluster/panamax/api/gemset.nix568
-rw-r--r--pkgs/applications/networking/cluster/panamax/ui/Gemfile31
-rw-r--r--pkgs/applications/networking/cluster/panamax/ui/Gemfile.lock226
-rw-r--r--pkgs/applications/networking/cluster/panamax/ui/default.nix72
-rw-r--r--pkgs/applications/networking/cluster/panamax/ui/gemset.nix789
-rw-r--r--pkgs/applications/networking/cluster/pig/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/spark/default.nix24
-rw-r--r--pkgs/applications/networking/cluster/taktuk/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/terraform-provider-ibm/default.nix38
-rw-r--r--pkgs/applications/networking/cluster/terraform-provider-libvirt/default.nix47
-rw-r--r--pkgs/applications/networking/cluster/terraform-provider-libvirt/deps.nix12
-rw-r--r--pkgs/applications/networking/cluster/terraform-provider-nixos/default.nix23
-rw-r--r--pkgs/applications/networking/cluster/terraform/default.nix10
-rw-r--r--pkgs/applications/networking/cluster/terraform/providers/data.nix149
-rwxr-xr-xpkgs/applications/networking/cluster/terraform/providers/update-all2
-rw-r--r--pkgs/applications/networking/cluster/terragrunt/default.nix10
-rw-r--r--pkgs/applications/networking/cluster/terragrunt/deps.nix32
-rw-r--r--pkgs/applications/networking/compactor/default.nix52
-rw-r--r--pkgs/applications/networking/corebird/default.nix24
-rw-r--r--pkgs/applications/networking/dropbox/cli.nix (renamed from pkgs/applications/networking/dropbox-cli/default.nix)0
-rw-r--r--pkgs/applications/networking/dropbox/default.nix2
-rw-r--r--pkgs/applications/networking/enhanced-ctorrent/default.nix15
-rw-r--r--pkgs/applications/networking/errbot/default.nix4
-rw-r--r--pkgs/applications/networking/feedreaders/newsbeuter/default.nix61
-rw-r--r--pkgs/applications/networking/feedreaders/newsboat/default.nix6
-rw-r--r--pkgs/applications/networking/firehol/default.nix35
-rw-r--r--pkgs/applications/networking/flexget/default.nix114
-rw-r--r--pkgs/applications/networking/gmailieer/default.nix4
-rw-r--r--pkgs/applications/networking/gns3/default.nix6
-rw-r--r--pkgs/applications/networking/google-drive-ocamlfuse/default.nix13
-rw-r--r--pkgs/applications/networking/ids/snort/default.nix2
-rw-r--r--pkgs/applications/networking/ike/default.nix2
-rw-r--r--pkgs/applications/networking/instant-messengers/baresip/default.nix16
-rw-r--r--pkgs/applications/networking/instant-messengers/bitlbee/default.nix2
-rw-r--r--pkgs/applications/networking/instant-messengers/blink/default.nix13
-rw-r--r--pkgs/applications/networking/instant-messengers/dino/default.nix6
-rw-r--r--pkgs/applications/networking/instant-messengers/discord/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/franz/default.nix2
-rw-r--r--pkgs/applications/networking/instant-messengers/gajim/default.nix135
-rw-r--r--pkgs/applications/networking/instant-messengers/hipchat/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/jitsi/default.nix2
-rw-r--r--pkgs/applications/networking/instant-messengers/nheko/default.nix83
-rw-r--r--pkgs/applications/networking/instant-messengers/nheko/external-deps.patch94
-rw-r--r--pkgs/applications/networking/instant-messengers/nheko/fetchurls.patch21
-rw-r--r--pkgs/applications/networking/instant-messengers/pidgin-plugins/purple-discord/default.nix31
-rw-r--r--pkgs/applications/networking/instant-messengers/pidgin-plugins/purple-hangouts/default.nix6
-rw-r--r--pkgs/applications/networking/instant-messengers/pidgin-plugins/sipe/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/pidgin-plugins/telegram-purple/default.nix8
-rw-r--r--pkgs/applications/networking/instant-messengers/profanity/default.nix35
-rw-r--r--pkgs/applications/networking/instant-messengers/profanity/patches/packages-osx.patch11
-rw-r--r--pkgs/applications/networking/instant-messengers/profanity/patches/undefined-macros.patch40
-rw-r--r--pkgs/applications/networking/instant-messengers/psi-plus/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/qtox/default.nix31
-rw-r--r--pkgs/applications/networking/instant-messengers/quaternion/default.nix11
-rw-r--r--pkgs/applications/networking/instant-messengers/ratox/default.nix18
-rw-r--r--pkgs/applications/networking/instant-messengers/ratox/ldlibs.patch5
-rw-r--r--pkgs/applications/networking/instant-messengers/ring-daemon/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/riot/riot-web.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/signal-desktop/beta.nix9
-rw-r--r--pkgs/applications/networking/instant-messengers/signal-desktop/default.nix10
-rw-r--r--pkgs/applications/networking/instant-messengers/skypeforlinux/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/slack/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/stride/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix147
-rw-r--r--pkgs/applications/networking/instant-messengers/telegram/tdesktop/generic.nix140
-rw-r--r--pkgs/applications/networking/instant-messengers/telepathy/gabble/default.nix8
-rw-r--r--pkgs/applications/networking/instant-messengers/telepathy/haze/default.nix2
-rw-r--r--pkgs/applications/networking/instant-messengers/telepathy/idle/default.nix2
-rw-r--r--pkgs/applications/networking/instant-messengers/telepathy/logger/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/telepathy/salut/default.nix2
-rw-r--r--pkgs/applications/networking/instant-messengers/toxic/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/utox/default.nix24
-rw-r--r--pkgs/applications/networking/instant-messengers/viber/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/weechat-matrix-bridge/default.nix6
-rw-r--r--pkgs/applications/networking/instant-messengers/wire-desktop/default.nix104
-rw-r--r--pkgs/applications/networking/instant-messengers/zoom-us/default.nix41
-rw-r--r--pkgs/applications/networking/insync/default.nix4
-rw-r--r--pkgs/applications/networking/ipfs/default.nix6
-rw-r--r--pkgs/applications/networking/irc/bip/default.nix2
-rw-r--r--pkgs/applications/networking/irc/ii/default.nix4
-rw-r--r--pkgs/applications/networking/irc/irssi/default.nix6
-rw-r--r--pkgs/applications/networking/irc/quassel/default.nix2
-rw-r--r--pkgs/applications/networking/irc/quassel/source.nix4
-rw-r--r--pkgs/applications/networking/irc/sic/default.nix2
-rw-r--r--pkgs/applications/networking/irc/weechat/default.nix14
-rw-r--r--pkgs/applications/networking/mailreaders/balsa/default.nix61
-rw-r--r--pkgs/applications/networking/mailreaders/imapfilter.nix4
-rw-r--r--pkgs/applications/networking/mailreaders/inboxer/default.nix4
-rw-r--r--pkgs/applications/networking/mailreaders/lumail/default.nix52
-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/notmuch/default.nix6
-rw-r--r--pkgs/applications/networking/mailreaders/sylpheed/default.nix6
-rw-r--r--pkgs/applications/networking/mailreaders/thunderbird-bin/default.nix2
-rw-r--r--pkgs/applications/networking/mailreaders/thunderbird-bin/release_sources.nix474
-rw-r--r--pkgs/applications/networking/mailreaders/thunderbird/default.nix6
-rw-r--r--pkgs/applications/networking/ndppd/default.nix19
-rw-r--r--pkgs/applications/networking/netperf/default.nix18
-rw-r--r--pkgs/applications/networking/newsreaders/liferea/default.nix4
-rw-r--r--pkgs/applications/networking/newsreaders/pan/default.nix31
-rw-r--r--pkgs/applications/networking/newsreaders/quiterss/default.nix4
-rw-r--r--pkgs/applications/networking/nextcloud-client/default.nix2
-rw-r--r--pkgs/applications/networking/offrss/default.nix2
-rw-r--r--pkgs/applications/networking/ostinato/default.nix2
-rw-r--r--pkgs/applications/networking/owncloud-client/default.nix6
-rw-r--r--pkgs/applications/networking/owncloud-client/find-sql.patch12
-rw-r--r--pkgs/applications/networking/p2p/frostwire/default.nix82
-rw-r--r--pkgs/applications/networking/p2p/frostwire/frostwire-bin.nix31
-rw-r--r--pkgs/applications/networking/p2p/gnunet/default.nix2
-rw-r--r--pkgs/applications/networking/p2p/gnunet/git.nix (renamed from pkgs/applications/networking/p2p/gnunet/svn.nix)19
-rw-r--r--pkgs/applications/networking/p2p/qbittorrent/default.nix4
-rw-r--r--pkgs/applications/networking/p2p/soulseekqt/default.nix55
-rw-r--r--pkgs/applications/networking/p2p/tixati/default.nix4
-rw-r--r--pkgs/applications/networking/p2p/transmission-remote-gtk/default.nix17
-rw-r--r--pkgs/applications/networking/p2p/transmission/default.nix6
-rw-r--r--pkgs/applications/networking/p2p/tribler/default.nix8
-rw-r--r--pkgs/applications/networking/remote/citrix-receiver/default.nix50
-rw-r--r--pkgs/applications/networking/remote/freerdp/default.nix12
-rw-r--r--pkgs/applications/networking/remote/teamviewer/default.nix61
-rw-r--r--pkgs/applications/networking/resilio-sync/default.nix6
-rw-r--r--pkgs/applications/networking/seafile-client/default.nix6
-rw-r--r--pkgs/applications/networking/sniffers/wireshark/default.nix9
-rw-r--r--pkgs/applications/networking/spideroak/default.nix14
-rw-r--r--pkgs/applications/networking/sync/backintime/common.nix4
-rw-r--r--pkgs/applications/networking/sync/backintime/qt4.nix5
-rw-r--r--pkgs/applications/networking/sync/rclone/default.nix4
-rw-r--r--pkgs/applications/networking/syncplay/default.nix6
-rw-r--r--pkgs/applications/networking/syncthing-gtk/default.nix12
-rw-r--r--pkgs/applications/networking/syncthing-gtk/disable-syncthing-binary-configuration.patch40
-rw-r--r--pkgs/applications/networking/syncthing/default.nix4
-rw-r--r--pkgs/applications/networking/testssl/default.nix39
-rw-r--r--pkgs/applications/networking/testssl/testssl.patch10
-rw-r--r--pkgs/applications/networking/vnstat/default.nix4
-rw-r--r--pkgs/applications/networking/znc/default.nix4
-rw-r--r--pkgs/applications/office/abiword/default.nix21
-rw-r--r--pkgs/applications/office/atlassian-cli/default.nix31
-rwxr-xr-xpkgs/applications/office/atlassian-cli/wrapper.sh20
-rw-r--r--pkgs/applications/office/beancount/bean-add.nix2
-rw-r--r--pkgs/applications/office/calligra/default.nix12
-rw-r--r--pkgs/applications/office/cb2bib/default.nix4
-rw-r--r--pkgs/applications/office/fava/default.nix6
-rw-r--r--pkgs/applications/office/gnucash/2.4.nix85
-rw-r--r--pkgs/applications/office/gnucash/2.6.nix2
-rw-r--r--pkgs/applications/office/gnucash/default.nix102
-rw-r--r--pkgs/applications/office/gnumeric/default.nix4
-rw-r--r--pkgs/applications/office/homebank/default.nix4
-rw-r--r--pkgs/applications/office/kexi/default.nix4
-rw-r--r--pkgs/applications/office/kmymoney/default.nix70
-rw-r--r--pkgs/applications/office/ledger/default.nix4
-rw-r--r--pkgs/applications/office/libreoffice/default-primary-src.nix6
-rw-r--r--pkgs/applications/office/libreoffice/default.nix8
-rw-r--r--pkgs/applications/office/libreoffice/libreoffice-srcs.nix16
-rw-r--r--pkgs/applications/office/libreoffice/still-primary-src.nix6
-rw-r--r--pkgs/applications/office/libreoffice/still.nix15
-rw-r--r--pkgs/applications/office/libreoffice/wrapper.nix16
-rw-r--r--pkgs/applications/office/libreoffice/wrapper.sh18
-rw-r--r--pkgs/applications/office/marp/default.nix4
-rw-r--r--pkgs/applications/office/mendeley/default.nix13
-rw-r--r--pkgs/applications/office/mendeley/update.nix4
-rw-r--r--pkgs/applications/office/skrooge/default.nix16
-rw-r--r--pkgs/applications/office/spice-up/default.nix8
-rw-r--r--pkgs/applications/office/todo.txt-cli/default.nix4
-rw-r--r--pkgs/applications/office/wordgrinder/default.nix2
-rw-r--r--pkgs/applications/office/zim/default.nix4
-rw-r--r--pkgs/applications/office/zotero/default.nix6
-rw-r--r--pkgs/applications/science/astronomy/celestia/default.nix12
-rw-r--r--pkgs/applications/science/biology/EZminc/default.nix32
-rw-r--r--pkgs/applications/science/biology/N3/default.nix38
-rw-r--r--pkgs/applications/science/biology/bcftools/default.nix10
-rw-r--r--pkgs/applications/science/biology/conglomerate/default.nix34
-rw-r--r--pkgs/applications/science/biology/igv/default.nix4
-rw-r--r--pkgs/applications/science/biology/inormalize/default.nix39
-rw-r--r--pkgs/applications/science/biology/inormalize/lgmask-interp.patch10
-rw-r--r--pkgs/applications/science/biology/inormalize/nu_correct_norm-interp.patch10
-rw-r--r--pkgs/applications/science/biology/minc-tools/default.nix27
-rw-r--r--pkgs/applications/science/biology/minc-widgets/default.nix34
-rw-r--r--pkgs/applications/science/biology/minimap2/default.nix31
-rw-r--r--pkgs/applications/science/biology/mni_autoreg/default.nix36
-rw-r--r--pkgs/applications/science/biology/paml/default.nix4
-rw-r--r--pkgs/applications/science/biology/picard-tools/default.nix4
-rw-r--r--pkgs/applications/science/biology/samtools/default.nix4
-rw-r--r--pkgs/applications/science/biology/snpeff/default.nix6
-rw-r--r--pkgs/applications/science/chemistry/jmol/default.nix53
-rw-r--r--pkgs/applications/science/chemistry/octopus/default.nix4
-rw-r--r--pkgs/applications/science/chemistry/pymol/default.nix12
-rw-r--r--pkgs/applications/science/electronics/gtkwave/default.nix4
-rw-r--r--pkgs/applications/science/electronics/kicad/unstable.nix12
-rw-r--r--pkgs/applications/science/electronics/ngspice/default.nix15
-rw-r--r--pkgs/applications/science/electronics/pulseview/default.nix4
-rw-r--r--pkgs/applications/science/electronics/verilator/default.nix4
-rw-r--r--pkgs/applications/science/logic/abella/default.nix4
-rw-r--r--pkgs/applications/science/logic/aspino/default.nix26
-rw-r--r--pkgs/applications/science/logic/beluga/default.nix34
-rw-r--r--pkgs/applications/science/logic/coq/default.nix13
-rw-r--r--pkgs/applications/science/logic/elan/default.nix44
-rw-r--r--pkgs/applications/science/logic/lean/default.nix4
-rw-r--r--pkgs/applications/science/logic/ltl2ba/default.nix4
-rw-r--r--pkgs/applications/science/logic/mcrl2/default.nix2
-rw-r--r--pkgs/applications/science/logic/ott/default.nix4
-rw-r--r--pkgs/applications/science/logic/picosat/default.nix3
-rw-r--r--pkgs/applications/science/logic/potassco/clingo.nix13
-rw-r--r--pkgs/applications/science/logic/symbiyosys/default.nix10
-rw-r--r--pkgs/applications/science/logic/tamarin-prover/default.nix22
-rw-r--r--pkgs/applications/science/logic/tlaplus/tlaps.nix56
-rw-r--r--pkgs/applications/science/logic/tlaplus/toolbox.nix77
-rw-r--r--pkgs/applications/science/logic/tptp/default.nix4
-rw-r--r--pkgs/applications/science/logic/verifast/default.nix25
-rw-r--r--pkgs/applications/science/logic/workcraft/default.nix33
-rw-r--r--pkgs/applications/science/logic/z3/4.5.0.nix31
-rw-r--r--pkgs/applications/science/machine-learning/labelimg/default.nix23
-rw-r--r--pkgs/applications/science/machine-learning/shogun/default.nix22
-rw-r--r--pkgs/applications/science/machine-learning/torch/torch-distro.nix4
-rw-r--r--pkgs/applications/science/math/R/default.nix7
-rw-r--r--pkgs/applications/science/math/bcal/default.nix7
-rw-r--r--pkgs/applications/science/math/calc/default.nix66
-rw-r--r--pkgs/applications/science/math/ecm/default.nix6
-rw-r--r--pkgs/applications/science/math/fricas/default.nix4
-rw-r--r--pkgs/applications/science/math/gap/default.nix85
-rw-r--r--pkgs/applications/science/math/geogebra/default.nix12
-rw-r--r--pkgs/applications/science/math/gfan/default.nix4
-rw-r--r--pkgs/applications/science/math/giac/default.nix34
-rw-r--r--pkgs/applications/science/math/ginac/default.nix4
-rw-r--r--pkgs/applications/science/math/gmsh/default.nix4
-rw-r--r--pkgs/applications/science/math/jags/default.nix4
-rw-r--r--pkgs/applications/science/math/lrcalc/default.nix41
-rw-r--r--pkgs/applications/science/math/mathematica/default.nix27
-rw-r--r--pkgs/applications/science/math/mathematica/l10ns.nix33
-rw-r--r--pkgs/applications/science/math/maxima/default.nix54
-rw-r--r--pkgs/applications/science/math/maxima/known-ecl-failures.patch21
-rw-r--r--pkgs/applications/science/math/nasc/default.nix71
-rw-r--r--pkgs/applications/science/math/palp/default.nix67
-rw-r--r--pkgs/applications/science/math/pari/default.nix20
-rw-r--r--pkgs/applications/science/math/pari/gp2c.nix4
-rw-r--r--pkgs/applications/science/math/pari/unstable.nix31
-rw-r--r--pkgs/applications/science/math/pspp/default.nix2
-rw-r--r--pkgs/applications/science/math/pynac/default.nix47
-rw-r--r--pkgs/applications/science/math/qalculate-gtk/default.nix4
-rw-r--r--pkgs/applications/science/math/sage/default.nix2
-rw-r--r--pkgs/applications/science/math/scilab-bin/default.nix14
-rw-r--r--pkgs/applications/science/math/singular/default.nix90
-rw-r--r--pkgs/applications/science/math/weka/default.nix18
-rw-r--r--pkgs/applications/science/math/yacas/default.nix59
-rw-r--r--pkgs/applications/science/math/yacas/gcc43.patch17
-rw-r--r--pkgs/applications/science/misc/cytoscape/default.nix4
-rw-r--r--pkgs/applications/science/misc/gephi/default.nix81
-rw-r--r--pkgs/applications/science/misc/megam/default.nix2
-rw-r--r--pkgs/applications/science/misc/motu-client/default.nix6
-rw-r--r--pkgs/applications/science/misc/openmvg/default.nix1
-rw-r--r--pkgs/applications/science/misc/openmvs/default.nix7
-rw-r--r--pkgs/applications/science/misc/sasview/default.nix75
-rw-r--r--pkgs/applications/science/misc/sasview/local_config.patch22
-rw-r--r--pkgs/applications/science/misc/sasview/pyparsing-fix.patch13
-rw-r--r--pkgs/applications/science/misc/sasview/xhtml2pdf.nix32
-rw-r--r--pkgs/applications/science/misc/tulip/default.nix2
-rw-r--r--pkgs/applications/science/molecular-dynamics/gromacs/default.nix6
-rw-r--r--pkgs/applications/science/physics/sacrifice/default.nix10
-rw-r--r--pkgs/applications/science/physics/sherpa/default.nix7
-rw-r--r--pkgs/applications/science/physics/sherpa/explicit_overloads.patch119
-rw-r--r--pkgs/applications/science/robotics/qgroundcontrol/default.nix8
-rw-r--r--pkgs/applications/science/robotics/yarp/default.nix4
-rw-r--r--pkgs/applications/science/spyder/default.nix4
-rw-r--r--pkgs/applications/search/catfish/default.nix2
-rw-r--r--pkgs/applications/search/grepcidr/default.nix21
-rw-r--r--pkgs/applications/taxes/aangifte-2006/builder.sh17
-rw-r--r--pkgs/applications/taxes/aangifte-2006/default.nix21
-rw-r--r--pkgs/applications/taxes/aangifte-2007/builder.sh19
-rw-r--r--pkgs/applications/taxes/aangifte-2007/default.nix24
-rw-r--r--pkgs/applications/taxes/aangifte-2008/builder.sh19
-rw-r--r--pkgs/applications/taxes/aangifte-2008/default.nix25
-rw-r--r--pkgs/applications/taxes/aangifte-2009/default.nix40
-rw-r--r--pkgs/applications/taxes/aangifte-2010/default.nix40
-rw-r--r--pkgs/applications/taxes/aangifte-2011/default.nix40
-rw-r--r--pkgs/applications/taxes/aangifte-2012/default.nix41
-rw-r--r--pkgs/applications/taxes/aangifte-2013-wa/default.nix41
-rw-r--r--pkgs/applications/taxes/aangifte-2013/default.nix41
-rw-r--r--pkgs/applications/taxes/aangifte-2014-wa/default.nix41
-rw-r--r--pkgs/applications/taxes/aangifte-2014/default.nix41
-rw-r--r--pkgs/applications/version-management/bazaar/default.nix12
-rw-r--r--pkgs/applications/version-management/bugseverywhere/default.nix2
-rw-r--r--pkgs/applications/version-management/cvs/default.nix8
-rw-r--r--pkgs/applications/version-management/fossil/default.nix19
-rw-r--r--pkgs/applications/version-management/git-and-tools/cgit/default.nix6
-rw-r--r--pkgs/applications/version-management/git-and-tools/default.nix14
-rw-r--r--pkgs/applications/version-management/git-and-tools/git-cola/default.nix8
-rw-r--r--pkgs/applications/version-management/git-and-tools/git-dit/default.nix2
-rw-r--r--pkgs/applications/version-management/git-and-tools/git-extras/default.nix4
-rw-r--r--pkgs/applications/version-management/git-and-tools/git-open/default.nix4
-rw-r--r--pkgs/applications/version-management/git-and-tools/git-radar/default.nix4
-rw-r--r--pkgs/applications/version-management/git-and-tools/git-recent/default.nix16
-rw-r--r--pkgs/applications/version-management/git-and-tools/git-remote-gcrypt/default.nix4
-rw-r--r--pkgs/applications/version-management/git-and-tools/git-secret/default.nix4
-rw-r--r--pkgs/applications/version-management/git-and-tools/git-secrets/default.nix40
-rw-r--r--pkgs/applications/version-management/git-and-tools/git/default.nix143
-rw-r--r--pkgs/applications/version-management/git-and-tools/git/docbook2texi.patch16
-rw-r--r--pkgs/applications/version-management/git-and-tools/git/git-send-email-honor-PATH.patch8
-rw-r--r--pkgs/applications/version-management/git-and-tools/git/git-sh-i18n.patch8
-rw-r--r--pkgs/applications/version-management/git-and-tools/git/installCheck-path.patch12
-rw-r--r--pkgs/applications/version-management/git-and-tools/git/symlinks-in-bin.patch8
-rw-r--r--pkgs/applications/version-management/git-and-tools/gitweb/default.nix37
-rw-r--r--pkgs/applications/version-management/git-and-tools/hub/unstable.nix36
-rw-r--r--pkgs/applications/version-management/git-and-tools/stgit/default.nix7
-rw-r--r--pkgs/applications/version-management/git-and-tools/svn-all-fast-export/default.nix6
-rw-r--r--pkgs/applications/version-management/git-review/default.nix4
-rw-r--r--pkgs/applications/version-management/git-sizer/default.nix23
-rw-r--r--pkgs/applications/version-management/gitaly/Gemfile19
-rw-r--r--pkgs/applications/version-management/gitaly/Gemfile.lock80
-rw-r--r--pkgs/applications/version-management/gitaly/default.nix4
-rw-r--r--pkgs/applications/version-management/gitaly/gemset.nix145
-rw-r--r--pkgs/applications/version-management/gitea/default.nix6
-rw-r--r--pkgs/applications/version-management/gitkraken/default.nix11
-rw-r--r--pkgs/applications/version-management/gitlab-shell/default.nix32
-rw-r--r--pkgs/applications/version-management/gitlab-shell/fixes.patch9
-rw-r--r--pkgs/applications/version-management/gitlab-shell/remove-hardcoded-locations.patch43
-rw-r--r--pkgs/applications/version-management/gitlab-workhorse/default.nix6
-rw-r--r--pkgs/applications/version-management/gitlab/Gemfile145
-rw-r--r--pkgs/applications/version-management/gitlab/Gemfile.lock408
-rw-r--r--pkgs/applications/version-management/gitlab/default.nix20
-rw-r--r--pkgs/applications/version-management/gitlab/gemset.nix546
-rw-r--r--pkgs/applications/version-management/gitlab/nulladapter.patch33
-rw-r--r--pkgs/applications/version-management/gitlab/remove-hardcoded-locations.patch62
-rw-r--r--pkgs/applications/version-management/gitless/default.nix4
-rw-r--r--pkgs/applications/version-management/gogs/default.nix4
-rw-r--r--pkgs/applications/version-management/gource/default.nix4
-rw-r--r--pkgs/applications/version-management/meld/default.nix4
-rw-r--r--pkgs/applications/version-management/mercurial/default.nix4
-rw-r--r--pkgs/applications/version-management/nbstripout/default.nix29
-rw-r--r--pkgs/applications/version-management/p4v/default.nix48
-rw-r--r--pkgs/applications/version-management/sit/aarch64-isel.patch9
-rw-r--r--pkgs/applications/version-management/sit/default.nix18
-rw-r--r--pkgs/applications/version-management/src/default.nix16
-rw-r--r--pkgs/applications/version-management/subversion/default.nix2
-rw-r--r--pkgs/applications/version-management/tortoisehg/default.nix4
-rw-r--r--pkgs/applications/version-management/vcsh/default.nix27
-rw-r--r--pkgs/applications/video/avidemux/default.nix15
-rw-r--r--pkgs/applications/video/avxsynth/default.nix1
-rw-r--r--pkgs/applications/video/clipgrab/default.nix4
-rw-r--r--pkgs/applications/video/dvb-apps/default.nix1
-rw-r--r--pkgs/applications/video/handbrake/default.nix77
-rw-r--r--pkgs/applications/video/kazam/bug_1190693.patch14
-rw-r--r--pkgs/applications/video/kazam/datadir.patch11
-rw-r--r--pkgs/applications/video/kazam/default.nix61
-rw-r--r--pkgs/applications/video/kazam/fix-paths.patch22
-rw-r--r--pkgs/applications/video/kodi/default.nix4
-rw-r--r--pkgs/applications/video/kodi/plugins.nix26
-rw-r--r--pkgs/applications/video/makemkv/default.nix12
-rw-r--r--pkgs/applications/video/minitube/default.nix15
-rw-r--r--pkgs/applications/video/mkcast/default.nix37
-rw-r--r--pkgs/applications/video/mkvtoolnix/default.nix4
-rw-r--r--pkgs/applications/video/mpc-qt/default.nix4
-rw-r--r--pkgs/applications/video/mpv/default.nix33
-rw-r--r--pkgs/applications/video/mythtv/default.nix29
-rw-r--r--pkgs/applications/video/obs-studio/default.nix4
-rw-r--r--pkgs/applications/video/omxplayer/default.nix22
-rw-r--r--pkgs/applications/video/openshot-qt/libopenshot-audio.nix4
-rw-r--r--pkgs/applications/video/openshot-qt/libopenshot.nix4
-rw-r--r--pkgs/applications/video/peek/default.nix10
-rw-r--r--pkgs/applications/video/pitivi/default.nix61
-rw-r--r--pkgs/applications/video/pitivi/prevent-closure-contamination.patch23
-rw-r--r--pkgs/applications/video/qstopmotion/default.nix13
-rw-r--r--pkgs/applications/video/shotcut/default.nix6
-rw-r--r--pkgs/applications/video/simplescreenrecorder/default.nix14
-rw-r--r--pkgs/applications/video/smplayer/default.nix4
-rw-r--r--pkgs/applications/video/smtube/default.nix4
-rw-r--r--pkgs/applications/video/streamlink/default.nix4
-rw-r--r--pkgs/applications/video/vlc/default.nix99
-rw-r--r--pkgs/applications/video/vlc/plugin.nix34
-rw-r--r--pkgs/applications/video/w_scan/default.nix4
-rw-r--r--pkgs/applications/video/webtorrent_desktop/default.nix6
-rw-r--r--pkgs/applications/video/xine-ui/default.nix4
-rw-r--r--pkgs/applications/video/xscast/default.nix35
-rw-r--r--pkgs/applications/virtualization/OVMF/default.nix59
-rw-r--r--pkgs/applications/virtualization/containerd/default.nix4
-rw-r--r--pkgs/applications/virtualization/docker/default.nix36
-rw-r--r--pkgs/applications/virtualization/docker/distribution.nix (renamed from pkgs/applications/virtualization/docker-distribution/default.nix)0
-rw-r--r--pkgs/applications/virtualization/dynamips/default.nix4
-rw-r--r--pkgs/applications/virtualization/lkl/default.nix9
-rw-r--r--pkgs/applications/virtualization/qemu/default.nix56
-rw-r--r--pkgs/applications/virtualization/qemu/riscv-initrd.patch98
-rw-r--r--pkgs/applications/virtualization/qemu/riscv.nix22
-rw-r--r--pkgs/applications/virtualization/qemu/statfs-flags.patch197
-rw-r--r--pkgs/applications/virtualization/remotebox/default.nix4
-rw-r--r--pkgs/applications/virtualization/rkt/default.nix4
-rw-r--r--pkgs/applications/virtualization/runc/default.nix4
-rw-r--r--pkgs/applications/virtualization/singularity/default.nix11
-rw-r--r--pkgs/applications/virtualization/tini/default.nix4
-rw-r--r--pkgs/applications/virtualization/virt-manager/default.nix3
-rw-r--r--pkgs/applications/virtualization/virt-manager/qt.nix10
-rw-r--r--pkgs/applications/virtualization/virt-top/default.nix12
-rw-r--r--pkgs/applications/virtualization/virtualbox/HostServices-SharedClipboard-x11-stub.cpp-use-RT_NOR.patch153
-rw-r--r--pkgs/applications/virtualization/virtualbox/default.nix10
-rw-r--r--pkgs/applications/virtualization/virtualbox/guest-additions/default.nix2
-rw-r--r--pkgs/applications/virtualization/xen/4.10.nix185
-rw-r--r--pkgs/applications/virtualization/xen/4.5.nix4
-rw-r--r--pkgs/applications/virtualization/xen/4.8.nix56
-rw-r--r--pkgs/applications/virtualization/xen/generic.nix7
-rw-r--r--pkgs/applications/virtualization/xen/packages.nix54
-rw-r--r--pkgs/applications/virtualization/xen/xsa-patches.nix69
-rw-r--r--pkgs/applications/window-managers/bspwm/default.nix6
-rw-r--r--pkgs/applications/window-managers/dwm/default.nix2
-rw-r--r--pkgs/applications/window-managers/i3/default.nix8
-rw-r--r--pkgs/applications/window-managers/i3/gaps.nix6
-rw-r--r--pkgs/applications/window-managers/i3/lock-color.nix33
-rw-r--r--pkgs/applications/window-managers/i3/lock.nix5
-rw-r--r--pkgs/applications/window-managers/i3/pystatus.nix19
-rw-r--r--pkgs/applications/window-managers/i3/status-rust.nix6
-rw-r--r--pkgs/applications/window-managers/i3/status.nix8
-rw-r--r--pkgs/applications/window-managers/i3/wk-switch.nix32
-rw-r--r--pkgs/applications/window-managers/icewm/default.nix7
-rw-r--r--pkgs/applications/window-managers/icewm/fix-strlcat_strlcpy.patch236
-rw-r--r--pkgs/applications/window-managers/icewm/musl.patch23
-rw-r--r--pkgs/applications/window-managers/jwm/default.nix4
-rw-r--r--pkgs/applications/window-managers/sawfish/default.nix4
-rw-r--r--pkgs/applications/window-managers/stumpwm/default.nix1
-rw-r--r--pkgs/applications/window-managers/sway/default.nix4
-rw-r--r--pkgs/applications/window-managers/sxhkd/default.nix4
-rw-r--r--pkgs/applications/window-managers/tabbed/default.nix4
-rw-r--r--pkgs/applications/window-managers/trayer/default.nix4
-rw-r--r--pkgs/applications/window-managers/velox/dmenu.nix2
-rw-r--r--pkgs/applications/window-managers/velox/st.nix2
-rw-r--r--pkgs/applications/window-managers/way-cooler/default.nix12
-rw-r--r--pkgs/applications/window-managers/weston/default.nix10
-rw-r--r--pkgs/applications/window-managers/wtftw/default.nix2
-rw-r--r--pkgs/applications/window-managers/xmonad/log-applet/default.nix (renamed from pkgs/applications/window-managers/xmonad-log-applet/default.nix)4
-rw-r--r--pkgs/applications/window-managers/xmonad/log-applet/fix-paths.patch (renamed from pkgs/applications/window-managers/xmonad-log-applet/fix-paths.patch)0
-rw-r--r--pkgs/build-support/bintools-wrapper/add-flags.sh16
-rw-r--r--pkgs/build-support/bintools-wrapper/add-hardening.sh87
-rw-r--r--pkgs/build-support/bintools-wrapper/default.nix40
-rw-r--r--pkgs/build-support/bintools-wrapper/ld-wrapper.sh6
-rw-r--r--pkgs/build-support/bintools-wrapper/setup-hook.sh42
-rw-r--r--pkgs/build-support/build-fhs-userenv/chrootenv/chrootenv.c1
-rw-r--r--pkgs/build-support/build-fhs-userenv/env.nix5
-rw-r--r--pkgs/build-support/build-setupcfg/default.nix25
-rw-r--r--pkgs/build-support/cc-wrapper/add-flags.sh22
-rw-r--r--pkgs/build-support/cc-wrapper/add-hardening.sh115
-rw-r--r--pkgs/build-support/cc-wrapper/cc-wrapper.sh6
-rw-r--r--pkgs/build-support/cc-wrapper/default.nix63
-rw-r--r--pkgs/build-support/cc-wrapper/gnat-wrapper.sh122
-rw-r--r--pkgs/build-support/cc-wrapper/gnatlink-wrapper.sh40
-rw-r--r--pkgs/build-support/cc-wrapper/setup-hook.sh53
-rw-r--r--pkgs/build-support/docker/default.nix82
-rw-r--r--pkgs/build-support/docker/examples.nix14
-rw-r--r--pkgs/build-support/docker/pull.nix32
-rw-r--r--pkgs/build-support/docker/pull.sh36
-rw-r--r--pkgs/build-support/docker/tarsum.go2
-rw-r--r--pkgs/build-support/emacs/buffer.nix2
-rw-r--r--pkgs/build-support/fetchcvs/builder.sh5
-rw-r--r--pkgs/build-support/fetchcvs/default.nix6
-rwxr-xr-xpkgs/build-support/fetchgit/nix-prefetch-git2
-rw-r--r--pkgs/build-support/fetchs3/default.nix18
-rw-r--r--pkgs/build-support/fetchurl/mirrors.nix2
-rw-r--r--pkgs/build-support/gcc-wrapper-old/add-flags28
-rw-r--r--pkgs/build-support/gcc-wrapper-old/builder.sh215
-rw-r--r--pkgs/build-support/gcc-wrapper-old/default.nix76
-rw-r--r--pkgs/build-support/gcc-wrapper-old/gcc-wrapper-old.sh146
-rw-r--r--pkgs/build-support/gcc-wrapper-old/gcc-wrapper.sh147
-rw-r--r--pkgs/build-support/gcc-wrapper-old/gnat-wrapper.sh113
-rw-r--r--pkgs/build-support/gcc-wrapper-old/gnatlink-wrapper.sh43
-rwxr-xr-xpkgs/build-support/gcc-wrapper-old/ld-solaris-wrapper.sh40
-rw-r--r--pkgs/build-support/gcc-wrapper-old/ld-wrapper.sh166
-rw-r--r--pkgs/build-support/gcc-wrapper-old/setup-hook.sh33
-rw-r--r--pkgs/build-support/gcc-wrapper-old/utils.sh26
-rw-r--r--pkgs/build-support/kernel/modules-closure.nix2
-rw-r--r--pkgs/build-support/kernel/modules-closure.sh14
-rw-r--r--pkgs/build-support/rust/build-rust-crate.nix51
-rw-r--r--pkgs/build-support/rust/carnix.nix1673
-rw-r--r--pkgs/build-support/rust/default.nix6
-rw-r--r--pkgs/build-support/setup-hooks/role.bash75
-rw-r--r--pkgs/build-support/singularity-tools/default.nix1
-rw-r--r--pkgs/build-support/trivial-builders.nix1
-rw-r--r--pkgs/build-support/vm/default.nix20
-rw-r--r--pkgs/build-support/wrapper-common/utils.bash (renamed from pkgs/build-support/cc-wrapper/utils.sh)21
-rwxr-xr-xpkgs/common-updater/scripts/update-source-version21
-rw-r--r--pkgs/data/documentation/man-pages/default.nix4
-rw-r--r--pkgs/data/documentation/stdman/default.nix4
-rw-r--r--pkgs/data/fonts/babelstone-han/default.nix8
-rw-r--r--pkgs/data/fonts/dejavu-fonts/default.nix4
-rw-r--r--pkgs/data/fonts/emojione/default.nix2
-rw-r--r--pkgs/data/fonts/gentium-book-basic/default.nix2
-rw-r--r--pkgs/data/fonts/iosevka/default.nix4
-rw-r--r--pkgs/data/fonts/nerdfonts/default.nix4
-rw-r--r--pkgs/data/fonts/rounded-mgenplus/default.nix37
-rw-r--r--pkgs/data/fonts/sarasa-gothic/default.nix32
-rw-r--r--pkgs/data/fonts/scheherazade/default.nix43
-rw-r--r--pkgs/data/fonts/tex-gyre-math/default.nix71
-rw-r--r--pkgs/data/fonts/twemoji-color-font/default.nix6
-rw-r--r--pkgs/data/icons/elementary-xfce-icon-theme/default.nix6
-rw-r--r--pkgs/data/icons/iconpack-obsidian/default.nix35
-rw-r--r--pkgs/data/icons/papirus-icon-theme/default.nix4
-rw-r--r--pkgs/data/misc/brise/default.nix2
-rw-r--r--pkgs/data/misc/cacert/default.nix10
-rw-r--r--pkgs/data/misc/hackage/default.nix4
-rw-r--r--pkgs/data/misc/iana-etc/default.nix4
-rw-r--r--pkgs/data/misc/libkkc-data/default.nix22
-rw-r--r--pkgs/data/misc/osinfo-db/default.nix4
-rw-r--r--pkgs/data/misc/poppler-data/default.nix12
-rw-r--r--pkgs/data/misc/scowl/default.nix24
-rw-r--r--pkgs/data/misc/tzdata/default.nix35
-rw-r--r--pkgs/data/misc/wireless-regdb/default.nix4
-rw-r--r--pkgs/data/sgml+xml/schemas/docbook-5.0/default.nix2
-rw-r--r--pkgs/data/sgml+xml/stylesheets/xslt/docbook-xsl/default.nix3
-rw-r--r--pkgs/data/sgml+xml/stylesheets/xslt/docbook-xsl/docbook-xsl-ns-infinite.patch30
-rw-r--r--pkgs/desktops/deepin/deepin-gtk-theme/default.nix4
-rw-r--r--pkgs/desktops/deepin/default.nix11
-rw-r--r--pkgs/desktops/enlightenment/econnman.nix5
-rw-r--r--pkgs/desktops/enlightenment/efl.nix16
-rw-r--r--pkgs/desktops/enlightenment/enlightenment.nix7
-rw-r--r--pkgs/desktops/enlightenment/enlightenment.suid-exes.patch4
-rw-r--r--pkgs/desktops/enlightenment/ephoto.nix8
-rw-r--r--pkgs/desktops/enlightenment/rage.nix9
-rw-r--r--pkgs/desktops/enlightenment/terminology.nix20
-rw-r--r--pkgs/desktops/gnome-2/default.nix6
-rw-r--r--pkgs/desktops/gnome-2/desktop/gnome-control-center/default.nix6
-rw-r--r--pkgs/desktops/gnome-2/desktop/gtksourceview/default.nix5
-rw-r--r--pkgs/desktops/gnome-2/desktop/libgweather/default.nix2
-rw-r--r--pkgs/desktops/gnome-2/desktop/rarian/default.nix12
-rw-r--r--pkgs/desktops/gnome-2/desktop/zenity/default.nix6
-rw-r--r--pkgs/desktops/gnome-2/platform/ORBit2/default.nix6
-rw-r--r--pkgs/desktops/gnome-2/platform/gnome-vfs/default.nix2
-rw-r--r--pkgs/desktops/gnome-2/platform/gtkglext/default.nix19
-rw-r--r--pkgs/desktops/gnome-2/platform/libglade/default.nix2
-rw-r--r--pkgs/desktops/gnome-3/apps/accerciser/default.nix7
-rw-r--r--pkgs/desktops/gnome-3/apps/bijiben/default.nix58
-rw-r--r--pkgs/desktops/gnome-3/apps/bijiben/no-update-icon-cache.patch22
-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.nix33
-rw-r--r--pkgs/desktops/gnome-3/apps/gedit/default.nix37
-rw-r--r--pkgs/desktops/gnome-3/apps/glade/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/apps/gnome-boxes/default.nix53
-rw-r--r--pkgs/desktops/gnome-3/apps/gnome-calendar/default.nix23
-rw-r--r--pkgs/desktops/gnome-3/apps/gnome-characters/default.nix27
-rw-r--r--pkgs/desktops/gnome-3/apps/gnome-clocks/default.nix21
-rw-r--r--pkgs/desktops/gnome-3/apps/gnome-documents/default.nix51
-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.nix24
-rw-r--r--pkgs/desktops/gnome-3/apps/gnome-maps/default.nix43
-rw-r--r--pkgs/desktops/gnome-3/apps/gnome-music/default.nix57
-rw-r--r--pkgs/desktops/gnome-3/apps/gnome-photos/default.nix55
-rw-r--r--pkgs/desktops/gnome-3/apps/gnome-power-manager/default.nix23
-rw-r--r--pkgs/desktops/gnome-3/apps/gnome-weather/default.nix19
-rw-r--r--pkgs/desktops/gnome-3/apps/nautilus-sendto/default.nix17
-rw-r--r--pkgs/desktops/gnome-3/apps/polari/default.nix39
-rw-r--r--pkgs/desktops/gnome-3/apps/seahorse/default.nix39
-rw-r--r--pkgs/desktops/gnome-3/core/adwaita-icon-theme/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/core/baobab/default.nix40
-rw-r--r--pkgs/desktops/gnome-3/core/dconf-editor/default.nix35
-rw-r--r--pkgs/desktops/gnome-3/core/dconf/default.nix20
-rw-r--r--pkgs/desktops/gnome-3/core/empathy/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/core/eog/default.nix44
-rw-r--r--pkgs/desktops/gnome-3/core/epiphany/default.nix45
-rw-r--r--pkgs/desktops/gnome-3/core/evince/default.nix10
-rw-r--r--pkgs/desktops/gnome-3/core/evolution-data-server/default.nix40
-rw-r--r--pkgs/desktops/gnome-3/core/folks/default.nix2
-rw-r--r--pkgs/desktops/gnome-3/core/gcr/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/core/gdm/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/core/gdm/sessions_dir.patch39
-rw-r--r--pkgs/desktops/gnome-3/core/geocode-glib/default.nix32
-rw-r--r--pkgs/desktops/gnome-3/core/geocode-glib/installed-tests-path.patch8
-rw-r--r--pkgs/desktops/gnome-3/core/gjs/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-backgrounds/default.nix8
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-bluetooth/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-calculator/default.nix42
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-color-manager/default.nix30
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-contacts/default.nix10
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-control-center/default.nix60
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-control-center/paths.patch82
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-desktop/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-dictionary/default.nix20
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-disk-utility/default.nix22
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-font-viewer/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-keyring/default.nix11
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-menus/default.nix2
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-online-accounts/default.nix35
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-screenshot/default.nix36
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-screenshot/prevent-cache-updates.patch21
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-session/default.nix49
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-settings-daemon/default.nix55
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-settings-daemon/fix-paths.patch15
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-shell-extensions/default.nix49
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-shell-extensions/fix_gmenu.patch24
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-shell/default.nix75
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-shell/fix-paths.patch36
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-software/default.nix13
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-software/fix-paths.patch2
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-system-log/default.nix35
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-system-monitor/default.nix40
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-terminal/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-themes-extra/default.nix28
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-themes-standard/default.nix25
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-user-docs/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-user-share/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/core/gsettings-desktop-schemas/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/core/gtksourceviewmm/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/core/gucharmap/default.nix13
-rw-r--r--pkgs/desktops/gnome-3/core/libgepub/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/core/libgweather/default.nix51
-rw-r--r--pkgs/desktops/gnome-3/core/libzapojit/default.nix8
-rw-r--r--pkgs/desktops/gnome-3/core/mutter/default.nix13
-rw-r--r--pkgs/desktops/gnome-3/core/nautilus/default.nix42
-rw-r--r--pkgs/desktops/gnome-3/core/simple-scan/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/core/sushi/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/core/totem-pl-parser/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/core/totem/default.nix32
-rw-r--r--pkgs/desktops/gnome-3/core/tracker-miners/default.nix21
-rw-r--r--pkgs/desktops/gnome-3/core/tracker-miners/fix-paths.patch9
-rw-r--r--pkgs/desktops/gnome-3/core/tracker/default.nix25
-rw-r--r--pkgs/desktops/gnome-3/core/vino/default.nix38
-rw-r--r--pkgs/desktops/gnome-3/core/vte/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/core/yelp-tools/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/core/yelp-xsl/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/core/yelp/default.nix31
-rw-r--r--pkgs/desktops/gnome-3/core/zenity/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/default.nix37
-rw-r--r--pkgs/desktops/gnome-3/devtools/anjuta/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/devtools/devhelp/default.nix28
-rw-r--r--pkgs/desktops/gnome-3/devtools/gdl/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/devtools/gnome-devel-docs/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/extensions/dash-to-dock/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/extensions/impatience.nix11
-rw-r--r--pkgs/desktops/gnome-3/extensions/system-monitor/default.nix (renamed from pkgs/desktops/gnome-3/extensions/system-monitor.nix)23
-rw-r--r--pkgs/desktops/gnome-3/extensions/system-monitor/paths_and_nonexisting_dirs.patch23
-rw-r--r--pkgs/desktops/gnome-3/extensions/timepp/default.nix26
-rw-r--r--pkgs/desktops/gnome-3/games/aisleriot/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/games/five-or-more/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/games/four-in-a-row/default.nix20
-rw-r--r--pkgs/desktops/gnome-3/games/gnome-chess/default.nix27
-rw-r--r--pkgs/desktops/gnome-3/games/gnome-klotski/default.nix30
-rw-r--r--pkgs/desktops/gnome-3/games/gnome-mines/default.nix28
-rw-r--r--pkgs/desktops/gnome-3/games/gnome-robots/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/games/gnome-sudoku/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/games/gnome-taquin/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/games/iagno/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/games/lightsoff/default.nix24
-rw-r--r--pkgs/desktops/gnome-3/games/swell-foop/default.nix31
-rw-r--r--pkgs/desktops/gnome-3/misc/california/0002-Build-with-evolution-data-server-3.13.90.patch39
-rw-r--r--pkgs/desktops/gnome-3/misc/california/default.nix44
-rw-r--r--pkgs/desktops/gnome-3/misc/geary/default.nix43
-rw-r--r--pkgs/desktops/gnome-3/misc/gfbgraph/default.nix8
-rw-r--r--pkgs/desktops/gnome-3/misc/gitg/default.nix40
-rw-r--r--pkgs/desktops/gnome-3/misc/gnome-packagekit/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/misc/gnome-tweak-tool/default.nix66
-rw-r--r--pkgs/desktops/gnome-3/misc/gnome-tweaks/default.nix54
-rw-r--r--pkgs/desktops/gnome-3/misc/gpaste/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/misc/gspell/default.nix32
-rw-r--r--pkgs/desktops/gnome-3/misc/libgnome-games-support/default.nix (renamed from pkgs/desktops/gnome-3/misc/libgames-support/default.nix)12
-rw-r--r--pkgs/desktops/gnustep/back/default.nix4
-rw-r--r--pkgs/desktops/gnustep/base/default.nix4
-rw-r--r--pkgs/desktops/gnustep/gorm/default.nix4
-rw-r--r--pkgs/desktops/gnustep/gui/default.nix4
-rw-r--r--pkgs/desktops/gnustep/make/default.nix4
-rw-r--r--pkgs/desktops/lumina/default.nix1
-rw-r--r--pkgs/desktops/lxde/core/lxmenu-data.nix2
-rw-r--r--pkgs/desktops/lxde/core/lxpanel/default.nix2
-rw-r--r--pkgs/desktops/lxde/core/lxtask/default.nix6
-rw-r--r--pkgs/desktops/lxqt/base/libqtxdg/default.nix6
-rw-r--r--pkgs/desktops/lxqt/core/lxqt-panel/default.nix3
-rw-r--r--pkgs/desktops/mate/caja/default.nix4
-rw-r--r--pkgs/desktops/mate/libmatekbd/default.nix4
-rw-r--r--pkgs/desktops/mate/marco/default.nix4
-rw-r--r--pkgs/desktops/mate/mate-applets/default.nix4
-rw-r--r--pkgs/desktops/mate/mate-calc/default.nix6
-rw-r--r--pkgs/desktops/mate/mate-control-center/default.nix4
-rw-r--r--pkgs/desktops/mate/mate-desktop/default.nix4
-rw-r--r--pkgs/desktops/mate/mate-icon-theme/default.nix6
-rw-r--r--pkgs/desktops/mate/mate-panel/default.nix4
-rw-r--r--pkgs/desktops/mate/mate-power-manager/default.nix4
-rw-r--r--pkgs/desktops/mate/mate-sensors-applet/default.nix4
-rw-r--r--pkgs/desktops/mate/mate-settings-daemon/default.nix4
-rw-r--r--pkgs/desktops/mate/mate-themes/default.nix4
-rw-r--r--pkgs/desktops/mate/pluma/default.nix4
-rw-r--r--pkgs/desktops/pantheon/apps/pantheon-terminal/default.nix15
-rw-r--r--pkgs/desktops/plasma-5/fetch.sh2
-rw-r--r--pkgs/desktops/plasma-5/kde-gtk-config/default.nix10
-rw-r--r--pkgs/desktops/plasma-5/kde-gtk-config/patches/follow-symlinks.patch (renamed from pkgs/desktops/plasma-5/kde-gtk-config/0001-follow-symlinks.patch)35
-rw-r--r--pkgs/desktops/plasma-5/kde-gtk-config/patches/gsettings.patch21
-rw-r--r--pkgs/desktops/plasma-5/kde-gtk-config/patches/series2
-rw-r--r--pkgs/desktops/plasma-5/kgamma5.nix4
-rw-r--r--pkgs/desktops/plasma-5/srcs.nix352
-rw-r--r--pkgs/desktops/xfce/applications/orage.nix2
-rw-r--r--pkgs/desktops/xfce/applications/parole.nix4
-rw-r--r--pkgs/desktops/xfce/applications/xfce4-mixer.nix4
-rw-r--r--pkgs/desktops/xfce/applications/xfce4-screenshooter.nix4
-rw-r--r--pkgs/desktops/xfce/core/thunar-build.nix4
-rw-r--r--pkgs/desktops/xfce/core/thunar.nix6
-rw-r--r--pkgs/desktops/xfce/core/xfce4-panel.nix8
-rw-r--r--pkgs/desktops/xfce/core/xfce4-power-manager.nix4
-rw-r--r--pkgs/desktops/xfce/core/xfce4-session.nix4
-rw-r--r--pkgs/desktops/xfce/core/xfconf.nix3
-rw-r--r--pkgs/desktops/xfce/core/xfdesktop.nix4
-rw-r--r--pkgs/desktops/xfce/core/xfwm4.nix4
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-battery-plugin.nix4
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-clipman-plugin.nix4
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-cpufreq-plugin.nix4
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-cpugraph-plugin.nix4
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-datetime-plugin.nix4
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-dict-plugin.nix4
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-dockbarx-plugin.nix2
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-embed-plugin.nix4
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-eyes-plugin.nix4
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-fsguard-plugin.nix4
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-genmon-plugin.nix4
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-hardware-monitor-plugin.nix4
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-mailwatch-plugin.nix6
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-mpc-plugin.nix6
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-namebar-plugin.nix4
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-netload-plugin.nix4
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-notes-plugin.nix4
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-sensors-plugin.nix4
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-systemload-plugin.nix4
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-timer-plugin.nix9
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-verve-plugin.nix4
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-weather-plugin.nix4
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-whiskermenu-plugin.nix6
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-windowck-plugin.nix4
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-xkb-plugin.nix4
-rw-r--r--pkgs/desktops/xfce/thunar-plugins/archive/default.nix4
-rw-r--r--pkgs/desktops/xfce4-13/automakeAddFlags.sh7
-rw-r--r--pkgs/desktops/xfce4-13/default.nix80
-rw-r--r--pkgs/desktops/xfce4-13/exo/default.nix23
-rw-r--r--pkgs/desktops/xfce4-13/exo/gtk3-only.patch28
-rw-r--r--pkgs/desktops/xfce4-13/garcon/12700.patch37
-rw-r--r--pkgs/desktops/xfce4-13/garcon/13785.patch75
-rw-r--r--pkgs/desktops/xfce4-13/garcon/default.nix12
-rw-r--r--pkgs/desktops/xfce4-13/gigolo/default.nix11
-rw-r--r--pkgs/desktops/xfce4-13/libxfce4ui/default.nix18
-rw-r--r--pkgs/desktops/xfce4-13/libxfce4util/default.nix16
-rw-r--r--pkgs/desktops/xfce4-13/mkXfceDerivation.nix40
-rw-r--r--pkgs/desktops/xfce4-13/mousepad/default.nix12
-rw-r--r--pkgs/desktops/xfce4-13/orage/default.nix18
-rw-r--r--pkgs/desktops/xfce4-13/parole/default.nix36
-rw-r--r--pkgs/desktops/xfce4-13/ristretto/default.nix18
-rw-r--r--pkgs/desktops/xfce4-13/thunar-volman/default.nix11
-rw-r--r--pkgs/desktops/xfce4-13/thunar/default.nix30
-rw-r--r--pkgs/desktops/xfce4-13/tumbler/default.nix14
-rw-r--r--pkgs/desktops/xfce4-13/xfburn/default.nix18
-rw-r--r--pkgs/desktops/xfce4-13/xfce4-appfinder/default.nix12
-rw-r--r--pkgs/desktops/xfce4-13/xfce4-dev-tools/default.nix31
-rw-r--r--pkgs/desktops/xfce4-13/xfce4-dev-tools/setup-hook.sh12
-rw-r--r--pkgs/desktops/xfce4-13/xfce4-dict/configure-gio.patch11
-rw-r--r--pkgs/desktops/xfce4-13/xfce4-dict/default.nix19
-rw-r--r--pkgs/desktops/xfce4-13/xfce4-mixer/default.nix30
-rw-r--r--pkgs/desktops/xfce4-13/xfce4-notifyd/default.nix13
-rw-r--r--pkgs/desktops/xfce4-13/xfce4-panel/default.nix15
-rw-r--r--pkgs/desktops/xfce4-13/xfce4-power-manager/default.nix19
-rw-r--r--pkgs/desktops/xfce4-13/xfce4-screenshooter/default.nix11
-rw-r--r--pkgs/desktops/xfce4-13/xfce4-settings/default.nix39
-rw-r--r--pkgs/desktops/xfce4-13/xfce4-taskmanager/default.nix18
-rw-r--r--pkgs/desktops/xfce4-13/xfce4-terminal/default.nix15
-rw-r--r--pkgs/desktops/xfce4-13/xfce4-volumed-pulse/default.nix15
-rw-r--r--pkgs/desktops/xfce4-13/xfconf/default.nix11
-rw-r--r--pkgs/desktops/xfce4-13/xfdesktop/default.nix22
-rw-r--r--pkgs/desktops/xfce4-13/xfwm4/default.nix27
-rw-r--r--pkgs/development/arduino/platformio/chrootenv.nix42
-rw-r--r--pkgs/development/arduino/platformio/core.nix (renamed from pkgs/development/python-modules/platformio/default.nix)13
-rw-r--r--pkgs/development/arduino/platformio/fix-searchpath.patch (renamed from pkgs/development/python-modules/platformio/fix-searchpath.patch)0
-rw-r--r--pkgs/development/compilers/adobe-flex-sdk/default.nix2
-rw-r--r--pkgs/development/compilers/arachne-pnr/default.nix6
-rwxr-xr-xpkgs/development/compilers/arm-frc-linux-gnueabi-gcc/default.nix98
-rwxr-xr-xpkgs/development/compilers/arm-frc-linux-gnueabi-gcc/minorSOname.patch49
-rwxr-xr-xpkgs/development/compilers/arm-frc-linux-gnueabi-gcc/no-nested-deprecated-warnings.patch22
-rw-r--r--pkgs/development/compilers/as31/default.nix3
-rw-r--r--pkgs/development/compilers/ats2/default.nix6
-rw-r--r--pkgs/development/compilers/avian/default.nix16
-rw-r--r--pkgs/development/compilers/binaryen/default.nix25
-rw-r--r--pkgs/development/compilers/ccl/default.nix15
-rw-r--r--pkgs/development/compilers/closure/default.nix4
-rw-r--r--pkgs/development/compilers/coreclr/default.nix17
-rw-r--r--pkgs/development/compilers/dtc/default.nix2
-rw-r--r--pkgs/development/compilers/ecl/16.1.2.nix20
-rw-r--r--pkgs/development/compilers/ecl/default.nix6
-rw-r--r--pkgs/development/compilers/edk2/default.nix23
-rw-r--r--pkgs/development/compilers/eli/default.nix91
-rw-r--r--pkgs/development/compilers/elm/default.nix21
-rw-r--r--pkgs/development/compilers/elm/packages/elm-package.nix6
-rw-r--r--pkgs/development/compilers/emscripten/default.nix27
-rw-r--r--pkgs/development/compilers/emscripten/fastcomp/default.nix (renamed from pkgs/development/compilers/emscripten-fastcomp/default.nix)4
-rw-r--r--pkgs/development/compilers/emscripten/fastcomp/emscripten-fastcomp.nix (renamed from pkgs/development/compilers/emscripten-fastcomp/emscripten-fastcomp.nix)17
-rw-r--r--pkgs/development/compilers/fpc/lazarus.nix4
-rw-r--r--pkgs/development/compilers/gambit/bootstrap.nix2
-rw-r--r--pkgs/development/compilers/gambit/build.nix70
-rw-r--r--pkgs/development/compilers/gambit/default.nix72
-rw-r--r--pkgs/development/compilers/gambit/unstable.nix11
-rw-r--r--pkgs/development/compilers/gcc/4.5/ghdl-ortho-cflags.patch111
-rw-r--r--pkgs/development/compilers/gcc/4.5/no-sys-dirs.patch54
-rw-r--r--pkgs/development/compilers/gcc/4.5/sources.nix26
-rw-r--r--pkgs/development/compilers/gcc/4.8/default.nix48
-rw-r--r--pkgs/development/compilers/gcc/4.9/default.nix67
-rw-r--r--pkgs/development/compilers/gcc/5/default.nix48
-rw-r--r--pkgs/development/compilers/gcc/6/default.nix47
-rw-r--r--pkgs/development/compilers/gcc/7/default.nix138
-rw-r--r--pkgs/development/compilers/gcc/7/riscv-no-relax.patch109
-rw-r--r--pkgs/development/compilers/gcc/7/riscv-pthread-reentrant.patch13
-rw-r--r--pkgs/development/compilers/gcc/8/default.nix (renamed from pkgs/development/compilers/gcc/4.5/default.nix)360
-rw-r--r--pkgs/development/compilers/gcc/builder.sh2
-rw-r--r--pkgs/development/compilers/gcc/gnat-cflags.patch33
-rw-r--r--pkgs/development/compilers/gcc/libstdc++-hook.sh7
-rw-r--r--pkgs/development/compilers/gcc/snapshot/default.nix112
-rw-r--r--pkgs/development/compilers/gerbil/build.nix88
-rw-r--r--pkgs/development/compilers/gerbil/default.nix94
-rw-r--r--pkgs/development/compilers/gerbil/unstable.nix12
-rw-r--r--pkgs/development/compilers/ghc/7.0.4-binary.nix146
-rw-r--r--pkgs/development/compilers/ghc/7.0.4.nix67
-rw-r--r--pkgs/development/compilers/ghc/7.4.2-binary.nix148
-rw-r--r--pkgs/development/compilers/ghc/7.4.2.nix77
-rw-r--r--pkgs/development/compilers/ghc/7.6.3.nix103
-rw-r--r--pkgs/development/compilers/ghc/7.8.4-binary.nix156
-rw-r--r--pkgs/development/compilers/ghc/7.8.4.nix91
-rw-r--r--pkgs/development/compilers/ghc/8.2.1-binary.nix3
-rw-r--r--pkgs/development/compilers/ghc/8.2.2.nix3
-rw-r--r--pkgs/development/compilers/ghc/8.4.2.nix (renamed from pkgs/development/compilers/ghc/8.4.1.nix)40
-rw-r--r--pkgs/development/compilers/ghc/abi-depends-determinism.nix12
-rw-r--r--pkgs/development/compilers/ghc/fix-7.0.4-clang.patch74
-rw-r--r--pkgs/development/compilers/ghc/fix-7.2.2-clang.patch74
-rw-r--r--pkgs/development/compilers/ghc/fix-7.4.2-clang.patch57
-rw-r--r--pkgs/development/compilers/ghc/fix-7.6.3-clang.patch71
-rw-r--r--pkgs/development/compilers/ghc/head.nix4
-rw-r--r--pkgs/development/compilers/ghc/hpc-7.8.4.patch13
-rw-r--r--pkgs/development/compilers/ghcjs/base.nix2
-rw-r--r--pkgs/development/compilers/ghcjs/default.nix1
-rw-r--r--pkgs/development/compilers/ghdl/default.nix44
-rw-r--r--pkgs/development/compilers/glslang/default.nix24
-rw-r--r--pkgs/development/compilers/gnatboot/default.nix48
-rw-r--r--pkgs/development/compilers/go/1.10.nix11
-rw-r--r--pkgs/development/compilers/go/1.9.nix11
-rw-r--r--pkgs/development/compilers/gprolog/default.nix2
-rw-r--r--pkgs/development/compilers/graalvm/default.nix2
-rw-r--r--pkgs/development/compilers/haxe/default.nix20
-rw-r--r--pkgs/development/compilers/hhvm/default.nix2
-rw-r--r--pkgs/development/compilers/iasl/default.nix4
-rw-r--r--pkgs/development/compilers/icedtea-web/default.nix4
-rw-r--r--pkgs/development/compilers/jetbrains-jdk/default.nix4
-rw-r--r--pkgs/development/compilers/jsonnet/default.nix4
-rw-r--r--pkgs/development/compilers/julia/0.5.nix2
-rw-r--r--pkgs/development/compilers/julia/0.6.nix14
-rw-r--r--pkgs/development/compilers/julia/default.nix5
-rw-r--r--pkgs/development/compilers/julia/git.nix2
-rw-r--r--pkgs/development/compilers/kotlin/default.nix9
-rw-r--r--pkgs/development/compilers/ldc/default.nix26
-rw-r--r--pkgs/development/compilers/llvm/3.4/clang.nix5
-rw-r--r--pkgs/development/compilers/llvm/3.4/llvm.nix2
-rw-r--r--pkgs/development/compilers/llvm/3.5/clang.nix9
-rw-r--r--pkgs/development/compilers/llvm/3.5/libc++/default.nix5
-rw-r--r--pkgs/development/compilers/llvm/3.5/libc++/setup-hook.sh7
-rw-r--r--pkgs/development/compilers/llvm/3.5/llvm.nix2
-rw-r--r--pkgs/development/compilers/llvm/3.7/clang/default.nix9
-rw-r--r--pkgs/development/compilers/llvm/3.7/libc++/default.nix5
-rw-r--r--pkgs/development/compilers/llvm/3.7/libc++/setup-hook.sh7
-rw-r--r--pkgs/development/compilers/llvm/3.8/clang/default.nix9
-rw-r--r--pkgs/development/compilers/llvm/3.8/libc++/default.nix5
-rw-r--r--pkgs/development/compilers/llvm/3.8/libc++/setup-hook.sh7
-rw-r--r--pkgs/development/compilers/llvm/3.9/clang/default.nix9
-rw-r--r--pkgs/development/compilers/llvm/3.9/libc++/default.nix5
-rw-r--r--pkgs/development/compilers/llvm/3.9/libc++/setup-hook.sh7
-rw-r--r--pkgs/development/compilers/llvm/4/clang/default.nix9
-rw-r--r--pkgs/development/compilers/llvm/4/cmdline-help.patch39
-rw-r--r--pkgs/development/compilers/llvm/4/libc++/default.nix5
-rw-r--r--pkgs/development/compilers/llvm/4/libc++/setup-hook.sh7
-rw-r--r--pkgs/development/compilers/llvm/4/lldb.nix5
-rw-r--r--pkgs/development/compilers/llvm/4/llvm.nix7
-rw-r--r--pkgs/development/compilers/llvm/4/sanitizers-nongnu.patch368
-rw-r--r--pkgs/development/compilers/llvm/5/clang/default.nix14
-rw-r--r--pkgs/development/compilers/llvm/5/default.nix6
-rw-r--r--pkgs/development/compilers/llvm/5/libc++/default.nix7
-rw-r--r--pkgs/development/compilers/llvm/5/libc++/setup-hook.sh7
-rw-r--r--pkgs/development/compilers/llvm/5/libc++abi.nix2
-rw-r--r--pkgs/development/compilers/llvm/5/lld.nix2
-rw-r--r--pkgs/development/compilers/llvm/5/lldb.nix2
-rw-r--r--pkgs/development/compilers/llvm/5/llvm.nix6
-rw-r--r--pkgs/development/compilers/llvm/5/openmp.nix2
-rw-r--r--pkgs/development/compilers/llvm/5/sanitizers-nongnu.patch370
-rw-r--r--pkgs/development/compilers/llvm/6/clang/default.nix111
-rw-r--r--pkgs/development/compilers/llvm/6/clang/purity.patch30
-rw-r--r--pkgs/development/compilers/llvm/6/compiler-rt-codesign.patch155
-rw-r--r--pkgs/development/compilers/llvm/6/default.nix78
-rw-r--r--pkgs/development/compilers/llvm/6/libc++/default.nix54
-rw-r--r--pkgs/development/compilers/llvm/6/libc++/setup-hook.sh6
-rw-r--r--pkgs/development/compilers/llvm/6/libc++abi.nix49
-rw-r--r--pkgs/development/compilers/llvm/6/lld.nix33
-rw-r--r--pkgs/development/compilers/llvm/6/lldb.nix56
-rw-r--r--pkgs/development/compilers/llvm/6/llvm-outputs.patch26
-rw-r--r--pkgs/development/compilers/llvm/6/llvm.nix185
-rw-r--r--pkgs/development/compilers/llvm/6/openmp.nix26
-rw-r--r--pkgs/development/compilers/llvm/6/sanitizers-nongnu.patch377
-rw-r--r--pkgs/development/compilers/manticore/default.nix12
-rw-r--r--pkgs/development/compilers/mit-scheme/default.nix2
-rw-r--r--pkgs/development/compilers/mono/4.0.nix3
-rw-r--r--pkgs/development/compilers/mono/generic-cmake.nix10
-rw-r--r--pkgs/development/compilers/mono/generic.nix8
-rw-r--r--pkgs/development/compilers/nasm/default.nix4
-rw-r--r--pkgs/development/compilers/neko/default.nix2
-rw-r--r--pkgs/development/compilers/ocaml/4.07.nix9
-rw-r--r--pkgs/development/compilers/ocaml/generic.nix3
-rw-r--r--pkgs/development/compilers/opendylan/bin.nix4
-rw-r--r--pkgs/development/compilers/opendylan/default.nix8
-rw-r--r--pkgs/development/compilers/openjdk/10.nix (renamed from pkgs/development/compilers/openjdk/9.nix)102
-rw-r--r--pkgs/development/compilers/openjdk/7.nix244
-rw-r--r--pkgs/development/compilers/openjdk/8.nix26
-rw-r--r--pkgs/development/compilers/openjdk/bootstrap.nix60
-rw-r--r--pkgs/development/compilers/openjdk/cppflags-include-fix.patch16
-rw-r--r--pkgs/development/compilers/openjdk/currency-date-range-jdk10.patch (renamed from pkgs/development/compilers/openjdk/currency-date-range.patch)5
-rw-r--r--pkgs/development/compilers/openjdk/darwin/8.nix (renamed from pkgs/development/compilers/openjdk-darwin/8.nix)5
-rw-r--r--pkgs/development/compilers/openjdk/darwin/default.nix (renamed from pkgs/development/compilers/openjdk-darwin/default.nix)5
-rw-r--r--pkgs/development/compilers/openjdk/fix-java-home-jdk10.patch (renamed from pkgs/development/compilers/openjdk/fix-java-home-jdk9.patch)10
-rw-r--r--pkgs/development/compilers/openjdk/fix-java-home.patch17
-rw-r--r--pkgs/development/compilers/openjdk/paxctl.patch28
-rw-r--r--pkgs/development/compilers/openjdk/read-truststore-from-env-jdk10.patch (renamed from pkgs/development/compilers/openjdk/read-truststore-from-env-jdk9.patch)4
-rw-r--r--pkgs/development/compilers/openjdk/read-truststore-from-env.patch21
-rw-r--r--pkgs/development/compilers/openjdk/swing-use-gtk-jdk10.patch (renamed from pkgs/development/compilers/openjdk/swing-use-gtk-jdk9.patch)6
-rw-r--r--pkgs/development/compilers/openjdk/swing-use-gtk-jdk8.patch (renamed from pkgs/development/compilers/openjdk/swing-use-gtk.patch)0
-rw-r--r--pkgs/development/compilers/oraclejdk/jdk10-linux.nix (renamed from pkgs/development/compilers/oraclejdk/jdk9-linux.nix)15
-rw-r--r--pkgs/development/compilers/oraclejdk/jdk8cpu-linux.nix10
-rw-r--r--pkgs/development/compilers/oraclejdk/jdk8psu-linux.nix10
-rw-r--r--pkgs/development/compilers/owl-lisp/default.nix10
-rw-r--r--pkgs/development/compilers/polyml/default.nix4
-rw-r--r--pkgs/development/compilers/purescript/psc-package/default.nix4
-rw-r--r--pkgs/development/compilers/rust/bootstrap.nix16
-rw-r--r--pkgs/development/compilers/rust/default.nix16
-rw-r--r--pkgs/development/compilers/rust/patches/aarch64-disable-test_loading_cosine.patch12
-rw-r--r--pkgs/development/compilers/rust/rustc.nix17
-rw-r--r--pkgs/development/compilers/sbcl/default.nix4
-rw-r--r--pkgs/development/compilers/scala/default.nix4
-rw-r--r--pkgs/development/compilers/sdcc/default.nix4
-rw-r--r--pkgs/development/compilers/solc/default.nix40
-rw-r--r--pkgs/development/compilers/solc/patches/boost-shared-libs.patch24
-rw-r--r--pkgs/development/compilers/solc/patches/shared-libs-install.patch64
-rw-r--r--pkgs/development/compilers/souffle/default.nix27
-rw-r--r--pkgs/development/compilers/swi-prolog/default.nix8
-rw-r--r--pkgs/development/compilers/swift/default.nix66
-rw-r--r--pkgs/development/compilers/swift/patches/0003-build-presets-linux-disable-tests.patch38
-rw-r--r--pkgs/development/compilers/swift/patches/icu59.patch113
-rw-r--r--pkgs/development/compilers/swift/patches/remove_xlocale.patch54
-rw-r--r--pkgs/development/compilers/swift/patches/sigaltstack.patch11
-rw-r--r--pkgs/development/compilers/swift/patches/sigunused.patch11
-rw-r--r--pkgs/development/compilers/swift/purity.patch20
-rw-r--r--pkgs/development/compilers/teyjus/default.nix10
-rw-r--r--pkgs/development/compilers/teyjus/fix-lex-to-flex.patch10
-rw-r--r--pkgs/development/compilers/vala/default.nix24
-rw-r--r--pkgs/development/compilers/yosys/default.nix24
-rw-r--r--pkgs/development/compilers/zig/default.nix11
-rw-r--r--pkgs/development/compilers/zulu/8.nix8
-rw-r--r--pkgs/development/compilers/zulu/default.nix8
-rw-r--r--pkgs/development/coq-modules/CoLoR/default.nix2
-rw-r--r--pkgs/development/coq-modules/QuickChick/default.nix19
-rw-r--r--pkgs/development/coq-modules/autosubst/default.nix5
-rw-r--r--pkgs/development/coq-modules/bignums/default.nix35
-rw-r--r--pkgs/development/coq-modules/contribs/default.nix22
-rw-r--r--pkgs/development/coq-modules/coq-ext-lib/default.nix8
-rw-r--r--pkgs/development/coq-modules/coq-haskell/default.nix11
-rw-r--r--pkgs/development/coq-modules/coquelicot/default.nix5
-rw-r--r--pkgs/development/coq-modules/dpdgraph/default.nix16
-rw-r--r--pkgs/development/coq-modules/fiat/HEAD.nix15
-rw-r--r--pkgs/development/coq-modules/heq/default.nix3
-rw-r--r--pkgs/development/coq-modules/interval/default.nix6
-rw-r--r--pkgs/development/coq-modules/mathcomp/default.nix26
-rw-r--r--pkgs/development/coq-modules/mathcomp/generic.nix6
-rw-r--r--pkgs/development/coq-modules/paco/default.nix4
-rw-r--r--pkgs/development/coq-modules/ssreflect/default.nix26
-rw-r--r--pkgs/development/coq-modules/ssreflect/generic.nix6
-rw-r--r--pkgs/development/eclipse/ecj/default.nix59
-rw-r--r--pkgs/development/em-modules/generic/default.nix17
-rw-r--r--pkgs/development/go-modules/generic/default.nix2
-rw-r--r--pkgs/development/guile-modules/guile-fibers/default.nix2
-rw-r--r--pkgs/development/guile-modules/guile-lib/default.nix2
-rw-r--r--pkgs/development/guile-modules/guile-ncurses/default.nix2
-rw-r--r--pkgs/development/haskell-modules/configuration-common.nix231
-rw-r--r--pkgs/development/haskell-modules/configuration-ghc-7.10.x.nix21
-rw-r--r--pkgs/development/haskell-modules/configuration-ghc-8.0.x.nix11
-rw-r--r--pkgs/development/haskell-modules/configuration-ghc-8.2.x.nix14
-rw-r--r--pkgs/development/haskell-modules/configuration-ghc-8.4.x.nix488
-rw-r--r--pkgs/development/haskell-modules/configuration-ghcjs.nix13
-rw-r--r--pkgs/development/haskell-modules/configuration-hackage2nix.yaml2569
-rw-r--r--pkgs/development/haskell-modules/configuration-nix.nix18
-rw-r--r--pkgs/development/haskell-modules/default.nix2
-rw-r--r--pkgs/development/haskell-modules/generic-builder.nix48
-rw-r--r--pkgs/development/haskell-modules/generic-stack-builder.nix20
-rw-r--r--pkgs/development/haskell-modules/hackage-packages.nix23310
-rw-r--r--pkgs/development/haskell-modules/hie-packages.nix502
-rw-r--r--pkgs/development/haskell-modules/initial-packages.nix2
-rw-r--r--pkgs/development/haskell-modules/lib.nix7
-rw-r--r--pkgs/development/haskell-modules/make-package-set.nix69
-rw-r--r--pkgs/development/haskell-modules/patches/encoding-Cabal-2.0.patch67
-rw-r--r--pkgs/development/haskell-modules/patches/lzma-tests.patch18
-rw-r--r--pkgs/development/haskell-modules/patches/xmonad-contrib-ghc-8.4.1-fix.patch107
-rw-r--r--pkgs/development/haskell-modules/with-packages-wrapper.nix9
-rw-r--r--pkgs/development/idris-modules/README.md40
-rw-r--r--pkgs/development/idris-modules/array.nix30
-rw-r--r--pkgs/development/idris-modules/bi.nix29
-rw-r--r--pkgs/development/idris-modules/bifunctors.nix31
-rw-r--r--pkgs/development/idris-modules/bytes.nix29
-rw-r--r--pkgs/development/idris-modules/canvas.nix26
-rw-r--r--pkgs/development/idris-modules/categories.nix27
-rw-r--r--pkgs/development/idris-modules/coda.nix28
-rw-r--r--pkgs/development/idris-modules/comonad.nix28
-rw-r--r--pkgs/development/idris-modules/composition.nix28
-rw-r--r--pkgs/development/idris-modules/config.nix31
-rw-r--r--pkgs/development/idris-modules/console.nix30
-rw-r--r--pkgs/development/idris-modules/containers.nix34
-rw-r--r--pkgs/development/idris-modules/cube.nix29
-rw-r--r--pkgs/development/idris-modules/curses.nix36
-rw-r--r--pkgs/development/idris-modules/data.nix28
-rw-r--r--pkgs/development/idris-modules/default.nix165
-rw-r--r--pkgs/development/idris-modules/derive.nix29
-rw-r--r--pkgs/development/idris-modules/descncrunch.nix28
-rw-r--r--pkgs/development/idris-modules/dict.nix32
-rw-r--r--pkgs/development/idris-modules/dom.nix30
-rw-r--r--pkgs/development/idris-modules/electron.nix36
-rw-r--r--pkgs/development/idris-modules/eternal.nix35
-rw-r--r--pkgs/development/idris-modules/farrp.nix28
-rw-r--r--pkgs/development/idris-modules/free.nix27
-rw-r--r--pkgs/development/idris-modules/fsm.nix28
-rw-r--r--pkgs/development/idris-modules/glfw.nix32
-rw-r--r--pkgs/development/idris-modules/graphviz.nix32
-rw-r--r--pkgs/development/idris-modules/hamt.nix29
-rw-r--r--pkgs/development/idris-modules/heyting-algebra.nix28
-rw-r--r--pkgs/development/idris-modules/hezarfen.nix28
-rw-r--r--pkgs/development/idris-modules/hrtime.nix28
-rw-r--r--pkgs/development/idris-modules/html.nix34
-rw-r--r--pkgs/development/idris-modules/http.nix30
-rw-r--r--pkgs/development/idris-modules/http4idris.nix29
-rw-r--r--pkgs/development/idris-modules/httpclient.nix36
-rw-r--r--pkgs/development/idris-modules/iaia.nix28
-rw-r--r--pkgs/development/idris-modules/idrishighlighter.nix29
-rw-r--r--pkgs/development/idris-modules/idrisscript.nix28
-rw-r--r--pkgs/development/idris-modules/ipkgparser.nix29
-rw-r--r--pkgs/development/idris-modules/jheiling-extras.nix29
-rw-r--r--pkgs/development/idris-modules/jheiling-js.nix30
-rw-r--r--pkgs/development/idris-modules/js.nix29
-rw-r--r--pkgs/development/idris-modules/lens.nix29
-rw-r--r--pkgs/development/idris-modules/lightyear.nix7
-rw-r--r--pkgs/development/idris-modules/logic.nix31
-rw-r--r--pkgs/development/idris-modules/mapping.nix28
-rw-r--r--pkgs/development/idris-modules/mhd.nix33
-rw-r--r--pkgs/development/idris-modules/pacman.nix32
-rw-r--r--pkgs/development/idris-modules/patricia.nix32
-rw-r--r--pkgs/development/idris-modules/permutations.nix32
-rw-r--r--pkgs/development/idris-modules/pfds.nix28
-rw-r--r--pkgs/development/idris-modules/pipes.nix28
-rw-r--r--pkgs/development/idris-modules/posix.nix30
-rw-r--r--pkgs/development/idris-modules/protobuf.nix28
-rw-r--r--pkgs/development/idris-modules/rationals.nix28
-rw-r--r--pkgs/development/idris-modules/recursion_schemes.nix36
-rw-r--r--pkgs/development/idris-modules/refined.nix32
-rw-r--r--pkgs/development/idris-modules/sdl.nix32
-rw-r--r--pkgs/development/idris-modules/sdl2.nix33
-rw-r--r--pkgs/development/idris-modules/semidirect.nix28
-rw-r--r--pkgs/development/idris-modules/setoids.nix26
-rw-r--r--pkgs/development/idris-modules/smproc.nix29
-rw-r--r--pkgs/development/idris-modules/snippets.nix28
-rw-r--r--pkgs/development/idris-modules/software_foundations.nix27
-rw-r--r--pkgs/development/idris-modules/specdris.nix11
-rw-r--r--pkgs/development/idris-modules/tap.nix32
-rw-r--r--pkgs/development/idris-modules/test.nix32
-rw-r--r--pkgs/development/idris-modules/tlhydra.nix30
-rw-r--r--pkgs/development/idris-modules/tomladris.nix30
-rw-r--r--pkgs/development/idris-modules/tp.nix31
-rw-r--r--pkgs/development/idris-modules/tparsec.nix28
-rw-r--r--pkgs/development/idris-modules/transducers.nix28
-rw-r--r--pkgs/development/idris-modules/trees.nix28
-rw-r--r--pkgs/development/idris-modules/union_type.nix28
-rw-r--r--pkgs/development/idris-modules/vdom.nix28
-rw-r--r--pkgs/development/idris-modules/vecspace.nix27
-rw-r--r--pkgs/development/idris-modules/webgl.nix28
-rw-r--r--pkgs/development/idris-modules/wl-pprint.nix12
-rw-r--r--pkgs/development/idris-modules/wyvern.nix33
-rw-r--r--pkgs/development/idris-modules/xhr.nix28
-rw-r--r--pkgs/development/idris-modules/yaml.nix29
-rw-r--r--pkgs/development/idris-modules/yampa.nix27
-rw-r--r--pkgs/development/interpreters/clojure/default.nix4
-rw-r--r--pkgs/development/interpreters/dart/default.nix6
-rw-r--r--pkgs/development/interpreters/duktape/default.nix7
-rw-r--r--pkgs/development/interpreters/eff/default.nix23
-rw-r--r--pkgs/development/interpreters/elixir/1.6.nix4
-rw-r--r--pkgs/development/interpreters/erlang/R18.nix4
-rw-r--r--pkgs/development/interpreters/erlang/R19.nix4
-rw-r--r--pkgs/development/interpreters/erlang/R20.nix4
-rw-r--r--pkgs/development/interpreters/erlang/generic-builder.nix8
-rw-r--r--pkgs/development/interpreters/gnu-apl/default.nix8
-rw-r--r--pkgs/development/interpreters/groovy/default.nix4
-rw-r--r--pkgs/development/interpreters/guile/1.8.nix1
-rw-r--r--pkgs/development/interpreters/guile/2.0.nix1
-rw-r--r--pkgs/development/interpreters/guile/default.nix1
-rw-r--r--pkgs/development/interpreters/j/default.nix4
-rw-r--r--pkgs/development/interpreters/joker/default.nix4
-rw-r--r--pkgs/development/interpreters/jruby/default.nix4
-rw-r--r--pkgs/development/interpreters/love/11.1.nix41
-rw-r--r--pkgs/development/interpreters/lua-5/5.2.nix31
-rw-r--r--pkgs/development/interpreters/lua-5/5.3.nix31
-rw-r--r--pkgs/development/interpreters/octave/default.nix4
-rw-r--r--pkgs/development/interpreters/perl/MakeMaker-cross.patch17
-rw-r--r--pkgs/development/interpreters/perl/default.nix41
-rw-r--r--pkgs/development/interpreters/perl/setup-hook-cross.sh12
-rw-r--r--pkgs/development/interpreters/php/default.nix16
-rw-r--r--pkgs/development/interpreters/pure/default.nix8
-rw-r--r--pkgs/development/interpreters/python/build-python-package-flit.nix2
-rw-r--r--pkgs/development/interpreters/python/build-python-package.nix3
-rw-r--r--pkgs/development/interpreters/python/cpython/2.7/default.nix18
-rw-r--r--pkgs/development/interpreters/python/cpython/2.7/properly-detect-curses.patch116
-rw-r--r--pkgs/development/interpreters/python/cpython/2.7/use-correct-tcl-tk-on-darwin.patch48
-rw-r--r--pkgs/development/interpreters/python/cpython/3.4/default.nix28
-rw-r--r--pkgs/development/interpreters/python/cpython/3.4/use-correct-tcl-tk-on-darwin.patch48
-rw-r--r--pkgs/development/interpreters/python/cpython/3.5/default.nix32
-rw-r--r--pkgs/development/interpreters/python/cpython/3.5/use-correct-tcl-tk-on-darwin.patch48
-rw-r--r--pkgs/development/interpreters/python/cpython/3.6/default.nix36
-rw-r--r--pkgs/development/interpreters/python/cpython/3.6/use-correct-tcl-tk-on-darwin.patch48
-rw-r--r--pkgs/development/interpreters/python/mk-python-derivation.nix5
-rw-r--r--pkgs/development/interpreters/racket/default.nix2
-rw-r--r--pkgs/development/interpreters/renpy/default.nix34
-rw-r--r--pkgs/development/interpreters/renpy/launcherenv.patch14
-rw-r--r--pkgs/development/interpreters/ruby/default.nix33
-rw-r--r--pkgs/development/interpreters/ruby/patchsets.nix6
-rw-r--r--pkgs/development/interpreters/spidermonkey/52.nix4
-rw-r--r--pkgs/development/interpreters/supercollider/default.nix4
-rw-r--r--pkgs/development/java-modules/jogl/default.nix60
-rw-r--r--pkgs/development/java-modules/junit/default.nix2
-rw-r--r--pkgs/development/libraries/AntTweakBar/default.nix4
-rw-r--r--pkgs/development/libraries/CGAL/default.nix4
-rw-r--r--pkgs/development/libraries/LASzip/default.nix4
-rw-r--r--pkgs/development/libraries/SDL/default.nix84
-rw-r--r--pkgs/development/libraries/SDL2/default.nix82
-rw-r--r--pkgs/development/libraries/SDL2_gfx/default.nix14
-rw-r--r--pkgs/development/libraries/SDL2_image/default.nix5
-rw-r--r--pkgs/development/libraries/SDL_gfx/default.nix4
-rw-r--r--pkgs/development/libraries/Xaw3d/default.nix6
-rw-r--r--pkgs/development/libraries/a52dec/A00-a52-state-t-public.patch152
-rw-r--r--pkgs/development/libraries/a52dec/A01-thread-safe.patch462
-rw-r--r--pkgs/development/libraries/a52dec/A02-imdct-shutup.patch11
-rw-r--r--pkgs/development/libraries/a52dec/A03-automake.patch12
-rw-r--r--pkgs/development/libraries/a52dec/default.nix10
-rw-r--r--pkgs/development/libraries/accounts-qt/default.nix6
-rw-r--r--pkgs/development/libraries/accountsservice/default.nix8
-rw-r--r--pkgs/development/libraries/ace/default.nix4
-rw-r--r--pkgs/development/libraries/acl/default.nix2
-rw-r--r--pkgs/development/libraries/agda/agda-stdlib/default.nix4
-rw-r--r--pkgs/development/libraries/agda/pretty/default.nix1
-rw-r--r--pkgs/development/libraries/agg/default.nix2
-rw-r--r--pkgs/development/libraries/alembic/default.nix4
-rw-r--r--pkgs/development/libraries/alkimia/default.nix31
-rw-r--r--pkgs/development/libraries/allegro/5.nix4
-rw-r--r--pkgs/development/libraries/apache-activemq/default.nix4
-rw-r--r--pkgs/development/libraries/appstream-glib/default.nix12
-rw-r--r--pkgs/development/libraries/aqbanking/default.nix9
-rw-r--r--pkgs/development/libraries/aqbanking/gwenhywfar.nix30
-rw-r--r--pkgs/development/libraries/aqbanking/libchipcard.nix7
-rw-r--r--pkgs/development/libraries/aqbanking/sources.nix12
-rw-r--r--pkgs/development/libraries/arb/default.nix12
-rw-r--r--pkgs/development/libraries/arguments/default.nix32
-rwxr-xr-xpkgs/development/libraries/arm-frc-linux-gnueabi-eglibc/default.nix65
-rwxr-xr-xpkgs/development/libraries/arm-frc-linux-gnueabi-linux-api-headers/default.nix43
-rw-r--r--pkgs/development/libraries/armadillo/default.nix4
-rw-r--r--pkgs/development/libraries/arrow-cpp/default.nix44
-rw-r--r--pkgs/development/libraries/asio/default.nix4
-rw-r--r--pkgs/development/libraries/at-spi2-atk/default.nix2
-rw-r--r--pkgs/development/libraries/at-spi2-core/default.nix3
-rw-r--r--pkgs/development/libraries/atk/default.nix23
-rw-r--r--pkgs/development/libraries/attr/default.nix6
-rw-r--r--pkgs/development/libraries/audio/jamomacore/default.nix1
-rw-r--r--pkgs/development/libraries/audio/libgme/default.nix4
-rw-r--r--pkgs/development/libraries/audio/rtaudio/default.nix4
-rw-r--r--pkgs/development/libraries/audio/vamp/default.nix13
-rw-r--r--pkgs/development/libraries/avahi/default.nix6
-rw-r--r--pkgs/development/libraries/aws-sdk-cpp/default.nix4
-rw-r--r--pkgs/development/libraries/babl/default.nix4
-rw-r--r--pkgs/development/libraries/bamf/default.nix49
-rw-r--r--pkgs/development/libraries/bobcat/default.nix4
-rw-r--r--pkgs/development/libraries/boehm-gc/default.nix4
-rw-r--r--pkgs/development/libraries/boost/1.66.nix3
-rw-r--r--pkgs/development/libraries/boost/generic.nix4
-rw-r--r--pkgs/development/libraries/botan/2.0.nix4
-rw-r--r--pkgs/development/libraries/bwidget/default.nix4
-rw-r--r--pkgs/development/libraries/c-ares/default.nix4
-rw-r--r--pkgs/development/libraries/caf/default.nix12
-rw-r--r--pkgs/development/libraries/cairo/default.nix29
-rw-r--r--pkgs/development/libraries/cddlib/default.nix44
-rw-r--r--pkgs/development/libraries/celt/0.5.1.nix7
-rw-r--r--pkgs/development/libraries/celt/generic.nix5
-rw-r--r--pkgs/development/libraries/ceres-solver/default.nix4
-rw-r--r--pkgs/development/libraries/cfitsio/default.nix4
-rw-r--r--pkgs/development/libraries/check/default.nix4
-rw-r--r--pkgs/development/libraries/clipper/default.nix27
-rw-r--r--pkgs/development/libraries/cloog-ppl/default.nix4
-rw-r--r--pkgs/development/libraries/clutter-gst/default.nix6
-rw-r--r--pkgs/development/libraries/clutter-gtk/default.nix2
-rw-r--r--pkgs/development/libraries/cmark/default.nix6
-rw-r--r--pkgs/development/libraries/cminpack/default.nix4
-rw-r--r--pkgs/development/libraries/cogl/default.nix12
-rw-r--r--pkgs/development/libraries/confuse/default.nix7
-rw-r--r--pkgs/development/libraries/cpp-gsl/default.nix1
-rw-r--r--pkgs/development/libraries/cracklib/default.nix4
-rw-r--r--pkgs/development/libraries/ctpp2/default.nix2
-rw-r--r--pkgs/development/libraries/cyrus-sasl/default.nix3
-rw-r--r--pkgs/development/libraries/db/generic.nix2
-rw-r--r--pkgs/development/libraries/dbus-glib/default.nix6
-rw-r--r--pkgs/development/libraries/dbus/default.nix4
-rw-r--r--pkgs/development/libraries/dbus/make-dbus-conf.nix5
-rw-r--r--pkgs/development/libraries/dbus/make-system-conf.xsl1
-rw-r--r--pkgs/development/libraries/dlib/default.nix2
-rw-r--r--pkgs/development/libraries/double-conversion/default.nix7
-rw-r--r--pkgs/development/libraries/drumstick/default.nix4
-rw-r--r--pkgs/development/libraries/easyloggingpp/default.nix4
-rw-r--r--pkgs/development/libraries/eccodes/default.nix4
-rw-r--r--pkgs/development/libraries/eclib/default.nix39
-rw-r--r--pkgs/development/libraries/eigen/3.3.nix4
-rw-r--r--pkgs/development/libraries/eigen/default.nix8
-rw-r--r--pkgs/development/libraries/enchant/2.x.nix29
-rw-r--r--pkgs/development/libraries/epoxy/default.nix22
-rw-r--r--pkgs/development/libraries/epoxy/libgl-path.patch35
-rw-r--r--pkgs/development/libraries/exempi/default.nix4
-rw-r--r--pkgs/development/libraries/farbfeld/default.nix12
-rw-r--r--pkgs/development/libraries/farstream/default.nix16
-rw-r--r--pkgs/development/libraries/fcppt/default.nix2
-rw-r--r--pkgs/development/libraries/fdk-aac/default.nix4
-rw-r--r--pkgs/development/libraries/fflas-ffpack/default.nix37
-rw-r--r--pkgs/development/libraries/ffmpeg-full/default.nix28
-rw-r--r--pkgs/development/libraries/ffmpeg/4.nix12
-rw-r--r--pkgs/development/libraries/ffmpeg/generic.nix23
-rw-r--r--pkgs/development/libraries/flint/default.nix47
-rw-r--r--pkgs/development/libraries/flite/default.nix19
-rw-r--r--pkgs/development/libraries/flite/fix-rpath.patch5
-rw-r--r--pkgs/development/libraries/folly/default.nix4
-rw-r--r--pkgs/development/libraries/fontconfig/2.10.nix1
-rw-r--r--pkgs/development/libraries/fontconfig/default.nix20
-rw-r--r--pkgs/development/libraries/fox/fox-1.6.nix4
-rw-r--r--pkgs/development/libraries/fplll/default.nix4
-rw-r--r--pkgs/development/libraries/freenect/default.nix18
-rw-r--r--pkgs/development/libraries/freetds/default.nix10
-rw-r--r--pkgs/development/libraries/freetype/cve-2017-8105.patch27
-rw-r--r--pkgs/development/libraries/freetype/cve-2017-8287.patch22
-rw-r--r--pkgs/development/libraries/freetype/default.nix33
-rw-r--r--pkgs/development/libraries/freetype/pcf-config-long-family-names.patch553
-rw-r--r--pkgs/development/libraries/freetype/pcf-introduce-driver.patch68
-rw-r--r--pkgs/development/libraries/fstrm/default.nix4
-rw-r--r--pkgs/development/libraries/gamin/default.nix2
-rw-r--r--pkgs/development/libraries/gdal/default.nix4
-rw-r--r--pkgs/development/libraries/gdbm/default.nix4
-rw-r--r--pkgs/development/libraries/gdcm/default.nix4
-rw-r--r--pkgs/development/libraries/gdk-pixbuf/default.nix81
-rw-r--r--pkgs/development/libraries/gdk-pixbuf/installed-tests-path.patch13
-rw-r--r--pkgs/development/libraries/gdk-pixbuf/no-mime-sniffing.patch18
-rw-r--r--pkgs/development/libraries/gecode/default.nix4
-rw-r--r--pkgs/development/libraries/gegl/3.0.nix10
-rw-r--r--pkgs/development/libraries/gegl/4.0.nix38
-rw-r--r--pkgs/development/libraries/gegl/default.nix10
-rw-r--r--pkgs/development/libraries/geoclue/2.0.nix18
-rw-r--r--pkgs/development/libraries/geos/default.nix4
-rw-r--r--pkgs/development/libraries/getdns/default.nix6
-rw-r--r--pkgs/development/libraries/gettext/default.nix6
-rw-r--r--pkgs/development/libraries/gettext/gettext-setup-hook.sh12
-rw-r--r--pkgs/development/libraries/gflags/default.nix10
-rw-r--r--pkgs/development/libraries/git2/0.25.nix2
-rw-r--r--pkgs/development/libraries/git2/default.nix2
-rw-r--r--pkgs/development/libraries/givaro/default.nix24
-rw-r--r--pkgs/development/libraries/glbinding/default.nix22
-rw-r--r--pkgs/development/libraries/glew/default.nix4
-rw-r--r--pkgs/development/libraries/glib-networking/default.nix29
-rw-r--r--pkgs/development/libraries/glib/default.nix20
-rw-r--r--pkgs/development/libraries/glibc/2.27.nix102
-rw-r--r--pkgs/development/libraries/glibc/common-2.27.nix207
-rw-r--r--pkgs/development/libraries/glibc/common.nix66
-rw-r--r--pkgs/development/libraries/glibc/dont-use-system-ld-so-cache-2.27.patch46
-rw-r--r--pkgs/development/libraries/glibc/dont-use-system-ld-so-cache.patch38
-rw-r--r--pkgs/development/libraries/glibc/fix-rpc-types-musl-conflicts.patch38
-rw-r--r--pkgs/development/libraries/glibc/nix-locale-archive-2.27.patch118
-rw-r--r--pkgs/development/libraries/glibc/nix-locale-archive.patch122
-rw-r--r--pkgs/development/libraries/glibmm/default.nix16
-rw-r--r--pkgs/development/libraries/glm/default.nix8
-rw-r--r--pkgs/development/libraries/globalplatform/default.nix2
-rw-r--r--pkgs/development/libraries/glpk/default.nix28
-rw-r--r--pkgs/development/libraries/gmime/3.nix6
-rw-r--r--pkgs/development/libraries/gnu-efi/default.nix4
-rw-r--r--pkgs/development/libraries/gnutls/3.6.nix4
-rw-r--r--pkgs/development/libraries/gnutls/generic.nix4
-rw-r--r--pkgs/development/libraries/gobject-introspection/absolute_shlib_path.patch73
-rw-r--r--pkgs/development/libraries/gobject-introspection/default.nix17
-rw-r--r--pkgs/development/libraries/goffice/default.nix4
-rw-r--r--pkgs/development/libraries/goocanvas/2.x.nix4
-rw-r--r--pkgs/development/libraries/google-gflags/default.nix4
-rw-r--r--pkgs/development/libraries/gperftools/default.nix8
-rw-r--r--pkgs/development/libraries/gpgme/default.nix23
-rw-r--r--pkgs/development/libraries/grantlee/5/default.nix2
-rw-r--r--pkgs/development/libraries/grib-api/default.nix4
-rw-r--r--pkgs/development/libraries/grpc/default.nix4
-rw-r--r--pkgs/development/libraries/gsettings-qt/default.nix58
-rw-r--r--pkgs/development/libraries/gsl/default.nix3
-rw-r--r--pkgs/development/libraries/gsm/default.nix4
-rw-r--r--pkgs/development/libraries/gssdp/default.nix4
-rw-r--r--pkgs/development/libraries/gstreamer/bad/default.nix53
-rw-r--r--pkgs/development/libraries/gstreamer/bad/fix_pkgconfig_includedir.patch15
-rw-r--r--pkgs/development/libraries/gstreamer/base/default.nix71
-rw-r--r--pkgs/development/libraries/gstreamer/base/fix_pkgconfig_includedir.patch15
-rw-r--r--pkgs/development/libraries/gstreamer/core/default.nix44
-rw-r--r--pkgs/development/libraries/gstreamer/core/fix_pkgconfig_includedir.patch15
-rw-r--r--pkgs/development/libraries/gstreamer/default.nix11
-rw-r--r--pkgs/development/libraries/gstreamer/ges/default.nix21
-rw-r--r--pkgs/development/libraries/gstreamer/ges/fix_pkgconfig_includedir.patch15
-rw-r--r--pkgs/development/libraries/gstreamer/gnonlin/default.nix30
-rw-r--r--pkgs/development/libraries/gstreamer/good/default.nix36
-rw-r--r--pkgs/development/libraries/gstreamer/good/fix_pkgconfig_includedir.patch15
-rw-r--r--pkgs/development/libraries/gstreamer/gstreamermm/default.nix2
-rw-r--r--pkgs/development/libraries/gstreamer/legacy/gst-plugins-base/default.nix7
-rw-r--r--pkgs/development/libraries/gstreamer/legacy/gst-plugins-good/default.nix7
-rw-r--r--pkgs/development/libraries/gstreamer/legacy/gst-plugins-ugly/default.nix6
-rw-r--r--pkgs/development/libraries/gstreamer/legacy/gstreamer/default.nix6
-rw-r--r--pkgs/development/libraries/gstreamer/libav/default.nix15
-rw-r--r--pkgs/development/libraries/gstreamer/rtsp-server/default.nix29
-rw-r--r--pkgs/development/libraries/gstreamer/ugly/default.nix24
-rw-r--r--pkgs/development/libraries/gstreamer/vaapi/default.nix13
-rw-r--r--pkgs/development/libraries/gstreamer/validate/default.nix4
-rw-r--r--pkgs/development/libraries/gtk+/2.x.nix7
-rw-r--r--pkgs/development/libraries/gtk+/3.x.nix21
-rw-r--r--pkgs/development/libraries/gtkdatabox/default.nix4
-rw-r--r--pkgs/development/libraries/gtkmm/2.x.nix4
-rw-r--r--pkgs/development/libraries/gtksourceview/3.x-nix_share_path.patch (renamed from pkgs/desktops/gnome-3/core/gtksourceview/nix_share_path.patch)0
-rw-r--r--pkgs/development/libraries/gtksourceview/3.x.nix (renamed from pkgs/desktops/gnome-3/core/gtksourceview/default.nix)23
-rw-r--r--pkgs/development/libraries/gtksourceview/4.x-nix_share_path.patch11
-rw-r--r--pkgs/development/libraries/gtksourceview/4.x.nix54
-rw-r--r--pkgs/development/libraries/gtkspell/3.nix10
-rw-r--r--pkgs/development/libraries/gts/default.nix4
-rw-r--r--pkgs/development/libraries/gvfs/default.nix62
-rw-r--r--pkgs/development/libraries/hamlib/default.nix4
-rw-r--r--pkgs/development/libraries/harfbuzz/default.nix11
-rw-r--r--pkgs/development/libraries/herqq/default.nix4
-rw-r--r--pkgs/development/libraries/hivex/default.nix4
-rw-r--r--pkgs/development/libraries/hpx/default.nix4
-rw-r--r--pkgs/development/libraries/http-parser/default.nix4
-rw-r--r--pkgs/development/libraries/hunspell/dictionaries.nix60
-rw-r--r--pkgs/development/libraries/hwloc/default.nix4
-rw-r--r--pkgs/development/libraries/hyena/default.nix1
-rw-r--r--pkgs/development/libraries/id3lib/default.nix4
-rw-r--r--pkgs/development/libraries/idnkit/default.nix7
-rw-r--r--pkgs/development/libraries/ignition-transport/generic.nix3
-rw-r--r--pkgs/development/libraries/iml/default.nix16
-rw-r--r--pkgs/development/libraries/imlib2/default.nix4
-rw-r--r--pkgs/development/libraries/iniparser/default.nix5
-rw-r--r--pkgs/development/libraries/isl/0.11.1.nix2
-rw-r--r--pkgs/development/libraries/isl/0.12.2.nix2
-rw-r--r--pkgs/development/libraries/isl/0.14.1.nix2
-rw-r--r--pkgs/development/libraries/isl/0.15.0.nix2
-rw-r--r--pkgs/development/libraries/isl/0.17.1.nix2
-rw-r--r--pkgs/development/libraries/iso-codes/default.nix7
-rw-r--r--pkgs/development/libraries/itk/default.nix15
-rw-r--r--pkgs/development/libraries/jama/default.nix4
-rw-r--r--pkgs/development/libraries/jansson/default.nix4
-rw-r--r--pkgs/development/libraries/jasper/default.nix11
-rw-r--r--pkgs/development/libraries/java/classpath/default.nix61
-rw-r--r--pkgs/development/libraries/java/classpath/missing-casts.patch80
-rw-r--r--pkgs/development/libraries/java/commons/compress/default.nix4
-rw-r--r--pkgs/development/libraries/java/commons/io/default.nix4
-rw-r--r--pkgs/development/libraries/java/hsqldb/default.nix4
-rw-r--r--pkgs/development/libraries/jemalloc/common.nix35
-rw-r--r--pkgs/development/libraries/jemalloc/default.nix36
-rw-r--r--pkgs/development/libraries/jemalloc/jemalloc450.nix6
-rw-r--r--pkgs/development/libraries/json-c/0.11.nix25
-rw-r--r--pkgs/development/libraries/json-c/default.nix16
-rw-r--r--pkgs/development/libraries/json-glib/default.nix7
-rw-r--r--pkgs/development/libraries/kdb/default.nix4
-rw-r--r--pkgs/development/libraries/kde-frameworks/default.nix2
-rw-r--r--pkgs/development/libraries/kde-frameworks/fetch.sh2
-rw-r--r--pkgs/development/libraries/kde-frameworks/kdelibs4support/default.nix4
-rw-r--r--pkgs/development/libraries/kde-frameworks/kdewebkit.nix11
-rw-r--r--pkgs/development/libraries/kde-frameworks/kholidays.nix (renamed from pkgs/applications/kde/kholidays.nix)4
-rw-r--r--pkgs/development/libraries/kde-frameworks/srcs.nix624
-rw-r--r--pkgs/development/libraries/kerberos/heimdal-make-missing-headers.patch10
-rw-r--r--pkgs/development/libraries/kerberos/heimdal.nix10
-rw-r--r--pkgs/development/libraries/kerberos/krb5.nix1
-rw-r--r--pkgs/development/libraries/kirigami/default.nix47
-rw-r--r--pkgs/development/libraries/kpmcore/default.nix10
-rw-r--r--pkgs/development/libraries/kproperty/default.nix9
-rw-r--r--pkgs/development/libraries/kreport/default.nix4
-rw-r--r--pkgs/development/libraries/languagemachines/frog.nix4
-rw-r--r--pkgs/development/libraries/languagemachines/libfolia.nix4
-rw-r--r--pkgs/development/libraries/languagemachines/mbt.nix4
-rw-r--r--pkgs/development/libraries/languagemachines/timbl.nix4
-rw-r--r--pkgs/development/libraries/languagemachines/timblserver.nix4
-rw-r--r--pkgs/development/libraries/languagemachines/ucto.nix6
-rw-r--r--pkgs/development/libraries/lcms/default.nix2
-rw-r--r--pkgs/development/libraries/lcms2/default.nix4
-rw-r--r--pkgs/development/libraries/ldb/default.nix7
-rw-r--r--pkgs/development/libraries/ldns/default.nix3
-rw-r--r--pkgs/development/libraries/leatherman/default.nix4
-rw-r--r--pkgs/development/libraries/leveldb/default.nix7
-rw-r--r--pkgs/development/libraries/libLAS/default.nix18
-rw-r--r--pkgs/development/libraries/libamqpcpp/default.nix8
-rw-r--r--pkgs/development/libraries/libaom/default.nix25
-rw-r--r--pkgs/development/libraries/libappindicator/default.nix2
-rw-r--r--pkgs/development/libraries/libarchive/default.nix2
-rw-r--r--pkgs/development/libraries/libassuan/default.nix3
-rw-r--r--pkgs/development/libraries/libatomic_ops/default.nix9
-rw-r--r--pkgs/development/libraries/libatomic_ops/riscv.patch40
-rw-r--r--pkgs/development/libraries/libaudclient/default.nix2
-rw-r--r--pkgs/development/libraries/libav/default.nix67
-rw-r--r--pkgs/development/libraries/libb2/default.nix25
-rw-r--r--pkgs/development/libraries/libbfd/default.nix8
-rw-r--r--pkgs/development/libraries/libbsd/cdefs.patch222
-rw-r--r--pkgs/development/libraries/libbsd/default.nix11
-rw-r--r--pkgs/development/libraries/libbsd/features.patch26
-rw-r--r--pkgs/development/libraries/libbsd/non-glibc.patch74
-rw-r--r--pkgs/development/libraries/libbson/default.nix4
-rw-r--r--pkgs/development/libraries/libcanberra/default.nix11
-rw-r--r--pkgs/development/libraries/libcddb/default.nix2
-rw-r--r--pkgs/development/libraries/libcdio-paranoia/default.nix12
-rw-r--r--pkgs/development/libraries/libcdio/default.nix4
-rw-r--r--pkgs/development/libraries/libcec/platform.nix4
-rw-r--r--pkgs/development/libraries/libchamplain/default.nix2
-rw-r--r--pkgs/development/libraries/libchop/default.nix2
-rw-r--r--pkgs/development/libraries/libcloudproviders/default.nix4
-rw-r--r--pkgs/development/libraries/libcloudproviders/fix-include.patch11
-rw-r--r--pkgs/development/libraries/libconfuse/default.nix4
-rw-r--r--pkgs/development/libraries/libcouchbase/default.nix4
-rw-r--r--pkgs/development/libraries/libcue/default.nix6
-rw-r--r--pkgs/development/libraries/libdazzle/default.nix55
-rw-r--r--pkgs/development/libraries/libdbusmenu-qt/qt-5.5.nix2
-rw-r--r--pkgs/development/libraries/libdigidocpp/default.nix6
-rw-r--r--pkgs/development/libraries/libdrm/default.nix10
-rw-r--r--pkgs/development/libraries/libdvdcss/default.nix4
-rw-r--r--pkgs/development/libraries/libdvdnav/4.2.1.nix5
-rw-r--r--pkgs/development/libraries/libdvdnav/A08-dvdnav-dup.patch137
-rw-r--r--pkgs/development/libraries/libdvdnav/P00-mingw-no-examples.patch21
-rw-r--r--pkgs/development/libraries/libdvdnav/default.nix6
-rw-r--r--pkgs/development/libraries/libdvdread/default.nix4
-rw-r--r--pkgs/development/libraries/libdwarf/default.nix8
-rw-r--r--pkgs/development/libraries/libdynd/default.nix7
-rw-r--r--pkgs/development/libraries/libe-book/default.nix12
-rw-r--r--pkgs/development/libraries/libedit/default.nix4
-rw-r--r--pkgs/development/libraries/libesmtp/default.nix18
-rw-r--r--pkgs/development/libraries/libetpan/default.nix4
-rw-r--r--pkgs/development/libraries/libevdev/default.nix4
-rw-r--r--pkgs/development/libraries/libevent/default.nix5
-rw-r--r--pkgs/development/libraries/libf2c/default.nix4
-rw-r--r--pkgs/development/libraries/libfilezilla/default.nix4
-rw-r--r--pkgs/development/libraries/libfixposix/default.nix4
-rw-r--r--pkgs/development/libraries/libfm/default.nix4
-rw-r--r--pkgs/development/libraries/libftdi/1.x.nix2
-rw-r--r--pkgs/development/libraries/libftdi/default.nix4
-rw-r--r--pkgs/development/libraries/libgcrypt/default.nix6
-rw-r--r--pkgs/development/libraries/libgdiplus/default.nix4
-rw-r--r--pkgs/development/libraries/libgksu/default.nix8
-rw-r--r--pkgs/development/libraries/libglvnd/default.nix30
-rw-r--r--pkgs/development/libraries/libgpg-error/default.nix22
-rw-r--r--pkgs/development/libraries/libgpg-error/riscv.patch54
-rw-r--r--pkgs/development/libraries/libgphoto2/default.nix6
-rw-r--r--pkgs/development/libraries/libgpod/default.nix2
-rw-r--r--pkgs/development/libraries/libgringotts/default.nix6
-rw-r--r--pkgs/development/libraries/libgroove/default.nix4
-rw-r--r--pkgs/development/libraries/libgroove/no-warnings-as-errors.patch15
-rw-r--r--pkgs/development/libraries/libgsf/default.nix13
-rw-r--r--pkgs/development/libraries/libgtop/default.nix5
-rw-r--r--pkgs/development/libraries/libguestfs/appliance.nix7
-rw-r--r--pkgs/development/libraries/libguestfs/default.nix34
-rw-r--r--pkgs/development/libraries/libhttpseverywhere/default.nix12
-rw-r--r--pkgs/development/libraries/libical/default.nix2
-rw-r--r--pkgs/development/libraries/libiconv/default.nix5
-rw-r--r--pkgs/development/libraries/libiconv/setup-hook.sh6
-rw-r--r--pkgs/development/libraries/libidn/default.nix6
-rw-r--r--pkgs/development/libraries/libidn2/default.nix7
-rw-r--r--pkgs/development/libraries/libimobiledevice/default.nix3
-rw-r--r--pkgs/development/libraries/libindicate/default.nix2
-rw-r--r--pkgs/development/libraries/libindicator/default.nix4
-rw-r--r--pkgs/development/libraries/libinfinity/default.nix13
-rw-r--r--pkgs/development/libraries/libinput/default.nix4
-rw-r--r--pkgs/development/libraries/libjpeg-turbo/default.nix3
-rw-r--r--pkgs/development/libraries/libjpeg/default.nix6
-rw-r--r--pkgs/development/libraries/libkate/default.nix4
-rw-r--r--pkgs/development/libraries/libksba/default.nix2
-rw-r--r--pkgs/development/libraries/liblangtag/default.nix52
-rw-r--r--pkgs/development/libraries/liblo/default.nix4
-rw-r--r--pkgs/development/libraries/liblouis/default.nix5
-rw-r--r--pkgs/development/libraries/libmbim/default.nix4
-rw-r--r--pkgs/development/libraries/libmediainfo/default.nix4
-rw-r--r--pkgs/development/libraries/libmicrohttpd/default.nix10
-rw-r--r--pkgs/development/libraries/libminc/default.nix33
-rw-r--r--pkgs/development/libraries/libmkv/A01-hbmv-pgs.patch12
-rw-r--r--pkgs/development/libraries/libmkv/A02-audio-out-sampling-freq.patch28
-rw-r--r--pkgs/development/libraries/libmkv/P00-mingw-large-file.patch24
-rw-r--r--pkgs/development/libraries/libmkv/default.nix15
-rw-r--r--pkgs/development/libraries/libmng/default.nix4
-rw-r--r--pkgs/development/libraries/libmnl/default.nix2
-rw-r--r--pkgs/development/libraries/libmodplug/default.nix4
-rw-r--r--pkgs/development/libraries/libmowgli/default.nix7
-rw-r--r--pkgs/development/libraries/libmsgpack/generic.nix15
-rw-r--r--pkgs/development/libraries/libmtp/default.nix9
-rw-r--r--pkgs/development/libraries/libmwaw/default.nix8
-rw-r--r--pkgs/development/libraries/libmypaint/default.nix10
-rw-r--r--pkgs/development/libraries/libmysqlconnectorcpp/default.nix4
-rw-r--r--pkgs/development/libraries/libnatspec/default.nix1
-rw-r--r--pkgs/development/libraries/libnetfilter_conntrack/default.nix8
-rw-r--r--pkgs/development/libraries/libnetfilter_cttimeout/default.nix4
-rw-r--r--pkgs/development/libraries/libnetfilter_log/default.nix4
-rw-r--r--pkgs/development/libraries/libnfs/default.nix2
-rw-r--r--pkgs/development/libraries/libnfsidmap/default.nix6
-rw-r--r--pkgs/development/libraries/libnftnl/default.nix4
-rw-r--r--pkgs/development/libraries/libngspice/default.nix25
-rw-r--r--pkgs/development/libraries/libnih/default.nix4
-rw-r--r--pkgs/development/libraries/libofx/default.nix4
-rw-r--r--pkgs/development/libraries/liboil/default.nix2
-rw-r--r--pkgs/development/libraries/libomxil-bellagio/default.nix2
-rw-r--r--pkgs/development/libraries/libopcodes/default.nix6
-rw-r--r--pkgs/development/libraries/libpar2/default.nix2
-rw-r--r--pkgs/development/libraries/libpcap/default.nix20
-rw-r--r--pkgs/development/libraries/libpipeline/default.nix8
-rw-r--r--pkgs/development/libraries/libpng/12.nix5
-rw-r--r--pkgs/development/libraries/libpqxx/default.nix4
-rw-r--r--pkgs/development/libraries/libproxy/default.nix2
-rw-r--r--pkgs/development/libraries/libqalculate/default.nix4
-rw-r--r--pkgs/development/libraries/libqglviewer/default.nix5
-rw-r--r--pkgs/development/libraries/libqmatrixclient/default.nix20
-rw-r--r--pkgs/development/libraries/libqmi/default.nix4
-rw-r--r--pkgs/development/libraries/libqrencode/default.nix4
-rw-r--r--pkgs/development/libraries/libraw/default.nix4
-rw-r--r--pkgs/development/libraries/libraw1394/default.nix4
-rw-r--r--pkgs/development/libraries/librdf/rasqal.nix4
-rw-r--r--pkgs/development/libraries/libre/default.nix4
-rw-r--r--pkgs/development/libraries/librealsense/default.nix33
-rw-r--r--pkgs/development/libraries/librelp/default.nix4
-rw-r--r--pkgs/development/libraries/librem/default.nix4
-rw-r--r--pkgs/development/libraries/libressl/default.nix20
-rw-r--r--pkgs/development/libraries/librime/default.nix8
-rw-r--r--pkgs/development/libraries/librsvg/default.nix34
-rw-r--r--pkgs/development/libraries/librsync/0.9.nix4
-rw-r--r--pkgs/development/libraries/librsync/default.nix8
-rw-r--r--pkgs/development/libraries/libs3/default.nix9
-rw-r--r--pkgs/development/libraries/libsass/default.nix4
-rw-r--r--pkgs/development/libraries/libsearpc/default.nix2
-rw-r--r--pkgs/development/libraries/libseccomp/default.nix3
-rw-r--r--pkgs/development/libraries/libsecret/default.nix6
-rw-r--r--pkgs/development/libraries/libsolv/default.nix4
-rw-r--r--pkgs/development/libraries/libsoup/default.nix42
-rw-r--r--pkgs/development/libraries/libspatialindex/default.nix2
-rw-r--r--pkgs/development/libraries/libspatialite/default.nix4
-rw-r--r--pkgs/development/libraries/libssh2/default.nix20
-rw-r--r--pkgs/development/libraries/libstrophe/default.nix4
-rw-r--r--pkgs/development/libraries/libsvm/default.nix4
-rw-r--r--pkgs/development/libraries/libtar/default.nix2
-rw-r--r--pkgs/development/libraries/libtheora/default.nix2
-rw-r--r--pkgs/development/libraries/libtins/default.nix43
-rw-r--r--pkgs/development/libraries/libtorrent-rasterbar/default.nix43
-rw-r--r--pkgs/development/libraries/libtorrent-rasterbar/generic.nix43
-rw-r--r--pkgs/development/libraries/libtoxcore/default.nix87
-rw-r--r--pkgs/development/libraries/libu2f-host/default.nix4
-rw-r--r--pkgs/development/libraries/libu2f-server/default.nix9
-rw-r--r--pkgs/development/libraries/libuchardet/default.nix2
-rw-r--r--pkgs/development/libraries/libui/default.nix4
-rw-r--r--pkgs/development/libraries/libunistring/default.nix4
-rw-r--r--pkgs/development/libraries/libunwind/default.nix4
-rw-r--r--pkgs/development/libraries/liburcu/default.nix4
-rw-r--r--pkgs/development/libraries/libusb1/default.nix4
-rw-r--r--pkgs/development/libraries/libusbmuxd/default.nix3
-rw-r--r--pkgs/development/libraries/libuv/default.nix4
-rw-r--r--pkgs/development/libraries/libva-utils/default.nix2
-rw-r--r--pkgs/development/libraries/libva/1.0.0.nix37
-rw-r--r--pkgs/development/libraries/libva/default.nix16
-rw-r--r--pkgs/development/libraries/libvdpau-va-gl/default.nix2
-rw-r--r--pkgs/development/libraries/libvdpau/default.nix7
-rw-r--r--pkgs/development/libraries/libvirt-glib/default.nix6
-rw-r--r--pkgs/development/libraries/libvirt/build-on-bsd.patch58
-rw-r--r--pkgs/development/libraries/libvirt/default.nix61
-rw-r--r--pkgs/development/libraries/libvisio/default.nix29
-rw-r--r--pkgs/development/libraries/libvorbis/default.nix14
-rw-r--r--pkgs/development/libraries/libvpx/default.nix56
-rw-r--r--pkgs/development/libraries/libvpx/git.nix36
-rw-r--r--pkgs/development/libraries/libwacom/default.nix4
-rw-r--r--pkgs/development/libraries/libwebp/default.nix4
-rw-r--r--pkgs/development/libraries/libwebsockets/default.nix4
-rw-r--r--pkgs/development/libraries/libwnck/3.x.nix38
-rw-r--r--pkgs/development/libraries/libwnck/install_introspection_to_prefix.patch12
-rw-r--r--pkgs/development/libraries/libwps/default.nix4
-rw-r--r--pkgs/development/libraries/libx86emu/default.nix4
-rw-r--r--pkgs/development/libraries/libxcomp/default.nix9
-rw-r--r--pkgs/development/libraries/libxkbcommon/default.nix35
-rw-r--r--pkgs/development/libraries/libxmi/default.nix2
-rw-r--r--pkgs/development/libraries/libxml2/default.nix4
-rw-r--r--pkgs/development/libraries/libyaml-cpp/default.nix4
-rw-r--r--pkgs/development/libraries/libyubikey/default.nix2
-rw-r--r--pkgs/development/libraries/libzdb/default.nix8
-rw-r--r--pkgs/development/libraries/lightstep-tracer-cpp/default.nix1
-rw-r--r--pkgs/development/libraries/linbox/default.nix79
-rw-r--r--pkgs/development/libraries/live555/default.nix32
-rw-r--r--pkgs/development/libraries/lmdb/default.nix7
-rw-r--r--pkgs/development/libraries/lmdb/hardcoded-compiler.patch26
-rw-r--r--pkgs/development/libraries/log4cxx/default.nix2
-rw-r--r--pkgs/development/libraries/luaffi/darwin.patch17
-rw-r--r--pkgs/development/libraries/luaffi/default.nix6
-rw-r--r--pkgs/development/libraries/mailcore2/default.nix4
-rw-r--r--pkgs/development/libraries/matio/default.nix4
-rw-r--r--pkgs/development/libraries/mbedtls/darwin_dylib.patch28
-rw-r--r--pkgs/development/libraries/mbedtls/default.nix26
-rw-r--r--pkgs/development/libraries/mdds/default.nix4
-rw-r--r--pkgs/development/libraries/mesa-glu/default.nix7
-rw-r--r--pkgs/development/libraries/mesa/default.nix92
-rw-r--r--pkgs/development/libraries/mesa/missing-include.patch11
-rw-r--r--pkgs/development/libraries/mesa/musl-fixes.patch22
-rw-r--r--pkgs/development/libraries/movit/default.nix4
-rw-r--r--pkgs/development/libraries/mp4v2/A02-meaningful-4gb-warning.patch14
-rw-r--r--pkgs/development/libraries/mp4v2/default.nix4
-rw-r--r--pkgs/development/libraries/mpfi/default.nix11
-rw-r--r--pkgs/development/libraries/mpfr/default.nix5
-rw-r--r--pkgs/development/libraries/mpfr/upstream.patch1699
-rw-r--r--pkgs/development/libraries/mpir/default.nix2
-rw-r--r--pkgs/development/libraries/mps/default.nix6
-rw-r--r--pkgs/development/libraries/mypaint-brushes/default.nix35
-rw-r--r--pkgs/development/libraries/mysocketw/default.nix11
-rw-r--r--pkgs/development/libraries/ncurses/default.nix24
-rw-r--r--pkgs/development/libraries/ndn-cxx/default.nix1
-rw-r--r--pkgs/development/libraries/netcdf-fortran/default.nix6
-rw-r--r--pkgs/development/libraries/netcdf/default.nix4
-rw-r--r--pkgs/development/libraries/newt/default.nix4
-rw-r--r--pkgs/development/libraries/nix-plugins/default.nix8
-rw-r--r--pkgs/development/libraries/nlohmann_json/default.nix4
-rw-r--r--pkgs/development/libraries/nspr/default.nix4
-rw-r--r--pkgs/development/libraries/nss/85_security_load.patch8
-rw-r--r--pkgs/development/libraries/nss/default.nix7
-rw-r--r--pkgs/development/libraries/ntbtls/default.nix11
-rw-r--r--pkgs/development/libraries/ocl-icd/default.nix4
-rw-r--r--pkgs/development/libraries/ogre/1.9.x.nix2
-rw-r--r--pkgs/development/libraries/oniguruma/default.nix17
-rw-r--r--pkgs/development/libraries/openbsm/bsm-add-audit_token_to_pid.patch24
-rw-r--r--pkgs/development/libraries/openbsm/default.nix22
-rw-r--r--pkgs/development/libraries/opencollada/default.nix13
-rw-r--r--pkgs/development/libraries/opencolorio/default.nix8
-rw-r--r--pkgs/development/libraries/opencv/3.x.nix19
-rw-r--r--pkgs/development/libraries/opencv/default.nix5
-rw-r--r--pkgs/development/libraries/opendht/default.nix4
-rw-r--r--pkgs/development/libraries/openexr/default.nix1
-rw-r--r--pkgs/development/libraries/openexrid-unstable/default.nix7
-rw-r--r--pkgs/development/libraries/openfst/default.nix4
-rw-r--r--pkgs/development/libraries/openldap/default.nix2
-rw-r--r--pkgs/development/libraries/openmpi/default.nix4
-rw-r--r--pkgs/development/libraries/openpam/default.nix18
-rw-r--r--pkgs/development/libraries/openssl/default.nix20
-rw-r--r--pkgs/development/libraries/opensubdiv/default.nix13
-rw-r--r--pkgs/development/libraries/openvdb/default.nix8
-rw-r--r--pkgs/development/libraries/openzwave/default.nix56
-rw-r--r--pkgs/development/libraries/p11-kit/default.nix6
-rw-r--r--pkgs/development/libraries/pango/default.nix4
-rw-r--r--pkgs/development/libraries/parquet-cpp/default.nix37
-rw-r--r--pkgs/development/libraries/pcre/default.nix4
-rw-r--r--pkgs/development/libraries/pcre2/default.nix2
-rw-r--r--pkgs/development/libraries/phonon/backends/vlc.nix4
-rw-r--r--pkgs/development/libraries/physics/fastjet/default.nix7
-rw-r--r--pkgs/development/libraries/physics/geant4/datasets-hook.sh5
-rw-r--r--pkgs/development/libraries/physics/geant4/datasets.nix103
-rw-r--r--pkgs/development/libraries/physics/geant4/default.nix88
-rw-r--r--pkgs/development/libraries/physics/geant4/fetch.nix12
-rw-r--r--pkgs/development/libraries/physics/geant4/geant4-hook.sh (renamed from pkgs/development/libraries/physics/geant4/setup-hook.sh)0
-rw-r--r--pkgs/development/libraries/physics/pythia/default.nix5
-rw-r--r--pkgs/development/libraries/physics/rivet/default.nix2
-rw-r--r--pkgs/development/libraries/pipewire/default.nix12
-rw-r--r--pkgs/development/libraries/pipewire/fix-paths.patch8
-rw-r--r--pkgs/development/libraries/pixman/default.nix4
-rw-r--r--pkgs/development/libraries/poco/default.nix7
-rw-r--r--pkgs/development/libraries/poppler/0.61.nix56
-rw-r--r--pkgs/development/libraries/poppler/default.nix48
-rw-r--r--pkgs/development/libraries/popt/default.nix6
-rw-r--r--pkgs/development/libraries/postgis/2.3.nix102
-rw-r--r--pkgs/development/libraries/postgis/default.nix20
-rw-r--r--pkgs/development/libraries/postgis/pg_db_postgis_enable.sh38
-rw-r--r--pkgs/development/libraries/postgis/pg_db_postgis_fix_or_load_sql_dump.sh52
-rw-r--r--pkgs/development/libraries/protobuf/3.4.nix4
-rw-r--r--pkgs/development/libraries/protobuf/3.5.nix6
-rw-r--r--pkgs/development/libraries/ptex/default.nix4
-rw-r--r--pkgs/development/libraries/ptlib/default.nix10
-rw-r--r--pkgs/development/libraries/pugixml/default.nix4
-rw-r--r--pkgs/development/libraries/qca-qt5/default.nix6
-rw-r--r--pkgs/development/libraries/qca-qt5/move-project.patch19
-rw-r--r--pkgs/development/libraries/qca2/default.nix6
-rw-r--r--pkgs/development/libraries/qmlbox2d/default.nix31
-rw-r--r--pkgs/development/libraries/qpdf/default.nix4
-rw-r--r--pkgs/development/libraries/qscintilla/default.nix44
-rw-r--r--pkgs/development/libraries/qt-4.x/4.8/default.nix7
-rw-r--r--pkgs/development/libraries/qt-4.x/4.8/dlopen-absolute-paths.diff26
-rw-r--r--pkgs/development/libraries/qt-5/5.10/default.nix3
-rw-r--r--pkgs/development/libraries/qt-5/mkDerivation.nix8
-rw-r--r--pkgs/development/libraries/qt-5/modules/qtbase.nix2
-rw-r--r--pkgs/development/libraries/qt-5/modules/qtlocation.nix9
-rw-r--r--pkgs/development/libraries/qt-5/modules/qtspeech.nix7
-rw-r--r--pkgs/development/libraries/qt-5/modules/qtwebengine.nix106
-rw-r--r--pkgs/development/libraries/qt-5/modules/qtwebkit.nix7
-rw-r--r--pkgs/development/libraries/qtkeychain/default.nix22
-rw-r--r--pkgs/development/libraries/qtstyleplugin-kvantum/default.nix15
-rw-r--r--pkgs/development/libraries/quazip/default.nix4
-rw-r--r--pkgs/development/libraries/qwt/6.nix2
-rw-r--r--pkgs/development/libraries/qwt/default.nix2
-rw-r--r--pkgs/development/libraries/rabbitmq-c/default.nix6
-rw-r--r--pkgs/development/libraries/rapidjson/default.nix7
-rw-r--r--pkgs/development/libraries/rarian/default.nix (renamed from pkgs/desktops/gnome-3/desktop/rarian/default.nix)0
-rw-r--r--pkgs/development/libraries/rdkafka/default.nix10
-rw-r--r--pkgs/development/libraries/rocksdb/default.nix24
-rw-r--r--pkgs/development/libraries/schroedinger/default.nix14
-rw-r--r--pkgs/development/libraries/science/biology/EBTKS/default.nix28
-rw-r--r--pkgs/development/libraries/science/biology/bicgl/default.nix28
-rw-r--r--pkgs/development/libraries/science/biology/bicpl/default.nix33
-rw-r--r--pkgs/development/libraries/science/biology/elastix/default.nix18
-rw-r--r--pkgs/development/libraries/science/biology/oobicpl/default.nix31
-rw-r--r--pkgs/development/libraries/science/math/atlas/default.nix6
-rw-r--r--pkgs/development/libraries/science/math/brial/default.nix46
-rw-r--r--pkgs/development/libraries/science/math/caffe2/default.nix10
-rw-r--r--pkgs/development/libraries/science/math/caffe2/fix_compilation_on_gcc7.patch46
-rw-r--r--pkgs/development/libraries/science/math/clblas/default.nix17
-rw-r--r--pkgs/development/libraries/science/math/cliquer/default.nix38
-rw-r--r--pkgs/development/libraries/science/math/flintqs/default.nix40
-rw-r--r--pkgs/development/libraries/science/math/lcalc/default.nix78
-rw-r--r--pkgs/development/libraries/science/math/lcalc/makefile.patch113
-rw-r--r--pkgs/development/libraries/science/math/liblapack/3.5.0.nix64
-rw-r--r--pkgs/development/libraries/science/math/liblapack/default.nix7
-rw-r--r--pkgs/development/libraries/science/math/m4ri/default.nix30
-rw-r--r--pkgs/development/libraries/science/math/m4rie/default.nix39
-rw-r--r--pkgs/development/libraries/science/math/openblas/default.nix2
-rw-r--r--pkgs/development/libraries/science/math/openlibm/default.nix4
-rw-r--r--pkgs/development/libraries/science/math/petsc/default.nix9
-rw-r--r--pkgs/development/libraries/science/math/planarity/default.nix40
-rw-r--r--pkgs/development/libraries/science/math/rankwidth/default.nix28
-rw-r--r--pkgs/development/libraries/science/math/rubiks/default.nix82
-rw-r--r--pkgs/development/libraries/science/math/sympow/default.nix91
-rw-r--r--pkgs/development/libraries/science/math/zn_poly/default.nix50
-rw-r--r--pkgs/development/libraries/science/networking/ns3/default.nix98
-rw-r--r--pkgs/development/libraries/sfml/default.nix4
-rw-r--r--pkgs/development/libraries/silgraphite/graphite2.nix4
-rw-r--r--pkgs/development/libraries/simpleitk/default.nix29
-rw-r--r--pkgs/development/libraries/slang/default.nix23
-rw-r--r--pkgs/development/libraries/soxt/default.nix21
-rw-r--r--pkgs/development/libraries/speech-tools/default.nix21
-rw-r--r--pkgs/development/libraries/spice-gtk/default.nix62
-rw-r--r--pkgs/development/libraries/sqlcipher/default.nix2
-rw-r--r--pkgs/development/libraries/sqlite/default.nix8
-rw-r--r--pkgs/development/libraries/sqlite/sqlite3_analyzer.nix6
-rw-r--r--pkgs/development/libraries/srtp/default.nix4
-rw-r--r--pkgs/development/libraries/stfl/default.nix3
-rw-r--r--pkgs/development/libraries/sundials/default.nix28
-rw-r--r--pkgs/development/libraries/swiften/default.nix4
-rw-r--r--pkgs/development/libraries/tachyon/default.nix57
-rw-r--r--pkgs/development/libraries/tachyon/make-archs.patch37
-rw-r--r--pkgs/development/libraries/tachyon/no-absolute-paths.patch57
-rw-r--r--pkgs/development/libraries/talloc/default.nix4
-rw-r--r--pkgs/development/libraries/tevent/default.nix4
-rw-r--r--pkgs/development/libraries/ti-rpc/default.nix14
-rw-r--r--pkgs/development/libraries/tk/8.5.nix1
-rw-r--r--pkgs/development/libraries/tk/8.6.nix1
-rw-r--r--pkgs/development/libraries/tk/generic.nix2
-rw-r--r--pkgs/development/libraries/tnt/default.nix4
-rw-r--r--pkgs/development/libraries/tokyo-tyrant/default.nix2
-rw-r--r--pkgs/development/libraries/tremor/default.nix12
-rw-r--r--pkgs/development/libraries/umockdev/default.nix5
-rw-r--r--pkgs/development/libraries/unibilium/default.nix4
-rw-r--r--pkgs/development/libraries/unixODBC/default.nix4
-rw-r--r--pkgs/development/libraries/unixODBCDrivers/default.nix6
-rw-r--r--pkgs/development/libraries/usbredir/default.nix4
-rw-r--r--pkgs/development/libraries/utf8proc/default.nix4
-rw-r--r--pkgs/development/libraries/v8/default.nix8
-rw-r--r--pkgs/development/libraries/vaapi-intel/default.nix2
-rw-r--r--pkgs/development/libraries/vapoursynth/default.nix10
-rw-r--r--pkgs/development/libraries/vcdimager/default.nix8
-rw-r--r--pkgs/development/libraries/virglrenderer/default.nix9
-rw-r--r--pkgs/development/libraries/vo-amrwbenc/default.nix22
-rw-r--r--pkgs/development/libraries/vulkan-loader/default.nix23
-rw-r--r--pkgs/development/libraries/vulkan-loader/rev-file.patch21
-rw-r--r--pkgs/development/libraries/wayland/default.nix4
-rw-r--r--pkgs/development/libraries/wayland/protocols.nix4
-rw-r--r--pkgs/development/libraries/wcslib/default.nix4
-rw-r--r--pkgs/development/libraries/webkitgtk/2.18.nix106
-rw-r--r--pkgs/development/libraries/webkitgtk/2.20.nix89
-rw-r--r--pkgs/development/libraries/webkitgtk/2.4.nix2
-rw-r--r--pkgs/development/libraries/webkitgtk/PR-152650-2.patch62
-rw-r--r--pkgs/development/libraries/webkitgtk/PR-153138.patch26
-rw-r--r--pkgs/development/libraries/webkitgtk/PR-157554.patch33
-rw-r--r--pkgs/development/libraries/webkitgtk/PR-157574.patch62
-rw-r--r--pkgs/development/libraries/webkitgtk/finding-harfbuzz-icu.patch52
-rw-r--r--pkgs/development/libraries/webkitgtk/gstreamergl-2.17.patch13
-rw-r--r--pkgs/development/libraries/wlc/default.nix8
-rw-r--r--pkgs/development/libraries/wlroots/default.nix18
-rw-r--r--pkgs/development/libraries/wlroots/libdrm.patch9
-rw-r--r--pkgs/development/libraries/wlroots/no-werror.patch10
-rw-r--r--pkgs/development/libraries/wt/default.nix16
-rw-r--r--pkgs/development/libraries/wxSVG/default.nix4
-rw-r--r--pkgs/development/libraries/wxwidgets/3.0/default.nix6
-rw-r--r--pkgs/development/libraries/x265/default.nix4
-rw-r--r--pkgs/development/libraries/xalanc/default.nix5
-rw-r--r--pkgs/development/libraries/xercesc/default.nix4
-rw-r--r--pkgs/development/libraries/xgboost/default.nix11
-rw-r--r--pkgs/development/libraries/xine-lib/default.nix4
-rw-r--r--pkgs/development/libraries/xmlrpc-c/default.nix6
-rw-r--r--pkgs/development/libraries/xxHash/default.nix6
-rw-r--r--pkgs/development/libraries/zeromq/3.x.nix2
-rw-r--r--pkgs/development/libraries/zeromq/4.x.nix2
-rw-r--r--pkgs/development/libraries/zlog/default.nix2
-rw-r--r--pkgs/development/libraries/zmqpp/default.nix27
-rw-r--r--pkgs/development/libraries/zziplib/default.nix17
-rw-r--r--pkgs/development/lisp-modules/asdf/default.nix8
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-overrides.nix5
-rw-r--r--pkgs/development/misc/amdapp-sdk/default.nix2
-rw-r--r--pkgs/development/misc/avr/gcc/default.nix8
-rw-r--r--pkgs/development/misc/loc/default.nix2
-rw-r--r--pkgs/development/misc/rpiboot/unstable.nix36
-rw-r--r--pkgs/development/misc/stm32/betaflight/default.nix (renamed from pkgs/development/stm32/betaflight/default.nix)0
-rw-r--r--pkgs/development/mobile/abootimg/default.nix43
-rw-r--r--pkgs/development/mobile/androidenv/androidndk.nix2
-rw-r--r--pkgs/development/mobile/androidenv/androidndk_r8e.nix2
-rw-r--r--pkgs/development/mobile/androidenv/build-tools.nix12
-rw-r--r--pkgs/development/mobile/cocoapods/Gemfile (renamed from pkgs/tools/security/bettercap/Gemfile)2
-rw-r--r--pkgs/development/mobile/cocoapods/Gemfile.lock76
-rw-r--r--pkgs/development/mobile/cocoapods/default.nix17
-rw-r--r--pkgs/development/mobile/cocoapods/gemset.nix242
-rwxr-xr-xpkgs/development/mobile/cocoapods/update10
-rw-r--r--pkgs/development/mobile/flashtool/default.nix4
-rw-r--r--pkgs/development/mobile/genymotion/default.nix4
-rw-r--r--pkgs/development/mobile/titaniumenv/build-app.nix44
-rw-r--r--pkgs/development/mobile/titaniumenv/default.nix3
-rw-r--r--pkgs/development/mobile/titaniumenv/examples/default.nix2
-rw-r--r--pkgs/development/mobile/titaniumenv/examples/kitchensink/default.nix9
-rw-r--r--pkgs/development/mobile/titaniumenv/titaniumsdk-7.1.nix102
-rw-r--r--pkgs/development/mobile/xcodeenv/build-app.nix34
-rw-r--r--pkgs/development/mobile/xcodeenv/simulate-app.nix2
-rw-r--r--pkgs/development/node-packages/README.md52
-rw-r--r--pkgs/development/node-packages/composition-v6.nix3
-rw-r--r--pkgs/development/node-packages/composition-v8.nix3
-rw-r--r--pkgs/development/node-packages/default-v6.nix13
-rw-r--r--pkgs/development/node-packages/node-env.nix12
-rw-r--r--pkgs/development/node-packages/node-packages-v6.json8
-rw-r--r--pkgs/development/node-packages/node-packages-v6.nix10113
-rw-r--r--pkgs/development/node-packages/node-packages-v8.json5
-rw-r--r--pkgs/development/node-packages/node-packages-v8.nix6166
-rw-r--r--pkgs/development/ocaml-modules/alcotest/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/bitstring/camlp4-git.patch44
-rw-r--r--pkgs/development/ocaml-modules/bitstring/default.nix31
-rw-r--r--pkgs/development/ocaml-modules/bitstring/srcdir.patch11
-rw-r--r--pkgs/development/ocaml-modules/camlimages/default.nix20
-rw-r--r--pkgs/development/ocaml-modules/comparelib/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/containers/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/cstruct/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/eliom/default.nix40
-rw-r--r--pkgs/development/ocaml-modules/expat/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/extlib/default.nix6
-rw-r--r--pkgs/development/ocaml-modules/gapi-ocaml/default.nix17
-rw-r--r--pkgs/development/ocaml-modules/git-http/default.nix9
-rw-r--r--pkgs/development/ocaml-modules/git/default.nix10
-rw-r--r--pkgs/development/ocaml-modules/herelib/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/http/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/janestreet/default.nix223
-rw-r--r--pkgs/development/ocaml-modules/janestreet/janePackage.nix6
-rw-r--r--pkgs/development/ocaml-modules/janestreet/old.nix615
-rw-r--r--pkgs/development/ocaml-modules/lwt/default.nix73
-rw-r--r--pkgs/development/ocaml-modules/lwt/legacy.nix57
-rw-r--r--pkgs/development/ocaml-modules/lwt/ppx.nix19
-rw-r--r--pkgs/development/ocaml-modules/ocaml-libvirt/default.nix6
-rw-r--r--pkgs/development/ocaml-modules/ocamlnet/default.nix7
-rw-r--r--pkgs/development/ocaml-modules/ocp-ocamlres/default.nix12
-rw-r--r--pkgs/development/ocaml-modules/ocsigen-deriving/default.nix25
-rw-r--r--pkgs/development/ocaml-modules/ocsigen-server/default.nix33
-rw-r--r--pkgs/development/ocaml-modules/ocsigen-start/default.nix12
-rw-r--r--pkgs/development/ocaml-modules/ocsigen-toolkit/default.nix12
-rw-r--r--pkgs/development/ocaml-modules/optcomp/META12
-rw-r--r--pkgs/development/ocaml-modules/optcomp/default.nix24
-rw-r--r--pkgs/development/ocaml-modules/pa_bench/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/pa_ounit/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/pcre/default.nix12
-rw-r--r--pkgs/development/ocaml-modules/pipebang/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/ppx_derivers/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/ppx_tools_versioned/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/sawja/default.nix6
-rw-r--r--pkgs/development/ocaml-modules/ssl/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/stdint/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/type_conv/112.01.01.nix4
-rw-r--r--pkgs/development/ocaml-modules/uchar/default.nix6
-rw-r--r--pkgs/development/ocaml-modules/yojson/default.nix4
-rw-r--r--pkgs/development/perl-modules/DB_File/default.nix2
-rw-r--r--pkgs/development/perl-modules/MNI/default.nix21
-rw-r--r--pkgs/development/perl-modules/MNI/no-stdin.patch13
-rw-r--r--pkgs/development/perl-modules/Paranoid-blessed-path.patch23
-rw-r--r--pkgs/development/perl-modules/Socket6-sv_undef.patch18
-rw-r--r--pkgs/development/perl-modules/generic/builder.sh2
-rw-r--r--pkgs/development/perl-modules/generic/default.nix5
-rw-r--r--pkgs/development/perl-modules/perl-POE-1.367-pod_linkcheck.patch40
-rw-r--r--pkgs/development/perl-modules/perl-POE-1.367-pod_no404s.patch46
-rw-r--r--pkgs/development/python-modules/Babel/default.nix22
-rw-r--r--pkgs/development/python-modules/Cython/default.nix21
-rw-r--r--pkgs/development/python-modules/GeoIP/default.nix2
-rw-r--r--pkgs/development/python-modules/GitPython/default.nix24
-rw-r--r--pkgs/development/python-modules/IPy/default.nix24
-rw-r--r--pkgs/development/python-modules/JPype1/default.nix4
-rw-r--r--pkgs/development/python-modules/MechanicalSoup/default.nix6
-rw-r--r--pkgs/development/python-modules/Nikola/default.nix4
-rw-r--r--pkgs/development/python-modules/Rtree/default.nix29
-rw-r--r--pkgs/development/python-modules/Theano/default.nix9
-rw-r--r--pkgs/development/python-modules/WSME/default.nix49
-rw-r--r--pkgs/development/python-modules/XlsxWriter/default.nix4
-rw-r--r--pkgs/development/python-modules/absl-py/default.nix5
-rw-r--r--pkgs/development/python-modules/acme/default.nix20
-rw-r--r--pkgs/development/python-modules/adal/default.nix4
-rw-r--r--pkgs/development/python-modules/aenum/default.nix4
-rw-r--r--pkgs/development/python-modules/affinity/default.nix8
-rw-r--r--pkgs/development/python-modules/agate/default.nix4
-rw-r--r--pkgs/development/python-modules/aiohttp-jinja2/default.nix26
-rw-r--r--pkgs/development/python-modules/aiohttp/cors.nix14
-rw-r--r--pkgs/development/python-modules/aiohttp/default.nix9
-rw-r--r--pkgs/development/python-modules/aiohue/default.nix19
-rw-r--r--pkgs/development/python-modules/ajpy/default.nix21
-rw-r--r--pkgs/development/python-modules/alembic/default.nix4
-rw-r--r--pkgs/development/python-modules/allpairspy/default.nix25
-rw-r--r--pkgs/development/python-modules/alot/default.nix60
-rw-r--r--pkgs/development/python-modules/altair/default.nix11
-rw-r--r--pkgs/development/python-modules/amqp/default.nix20
-rw-r--r--pkgs/development/python-modules/aniso8601/default.nix4
-rw-r--r--pkgs/development/python-modules/antlr4-python3-runtime/default.nix18
-rw-r--r--pkgs/development/python-modules/anyjson/default.nix21
-rw-r--r--pkgs/development/python-modules/application/default.nix15
-rw-r--r--pkgs/development/python-modules/apsw/default.nix19
-rw-r--r--pkgs/development/python-modules/asana/default.nix28
-rw-r--r--pkgs/development/python-modules/asgi_ipc/default.nix21
-rw-r--r--pkgs/development/python-modules/asgi_redis/default.nix24
-rw-r--r--pkgs/development/python-modules/asgiref/default.nix22
-rw-r--r--pkgs/development/python-modules/astral/default.nix12
-rw-r--r--pkgs/development/python-modules/astroid/default.nix4
-rw-r--r--pkgs/development/python-modules/astropy/default.nix11
-rw-r--r--pkgs/development/python-modules/async_generator/default.nix25
-rw-r--r--pkgs/development/python-modules/async_timeout/default.nix4
-rw-r--r--pkgs/development/python-modules/asyncio/default.nix18
-rw-r--r--pkgs/development/python-modules/asynctest/default.nix4
-rw-r--r--pkgs/development/python-modules/atomiclong/default.nix21
-rw-r--r--pkgs/development/python-modules/atomicwrites/default.nix17
-rw-r--r--pkgs/development/python-modules/attrdict/default.nix19
-rw-r--r--pkgs/development/python-modules/autobahn/default.nix6
-rw-r--r--pkgs/development/python-modules/autopep8/default.nix4
-rw-r--r--pkgs/development/python-modules/avro/default.nix17
-rw-r--r--pkgs/development/python-modules/avro3k/default.nix19
-rw-r--r--pkgs/development/python-modules/aws-xray-sdk/default.nix7
-rw-r--r--pkgs/development/python-modules/babelfish/default.nix17
-rw-r--r--pkgs/development/python-modules/backcall/default.nix28
-rw-r--r--pkgs/development/python-modules/batinfo/default.nix22
-rw-r--r--pkgs/development/python-modules/bayespy/default.nix4
-rw-r--r--pkgs/development/python-modules/bcdoc/default.nix22
-rw-r--r--pkgs/development/python-modules/beancount/default.nix (renamed from pkgs/applications/office/beancount/default.nix)26
-rw-r--r--pkgs/development/python-modules/behave/default.nix17
-rw-r--r--pkgs/development/python-modules/betamax/default.nix22
-rw-r--r--pkgs/development/python-modules/bibtexparser/default.nix24
-rw-r--r--pkgs/development/python-modules/billiard/default.nix20
-rw-r--r--pkgs/development/python-modules/binaryornot/default.nix27
-rw-r--r--pkgs/development/python-modules/biopython/default.nix4
-rw-r--r--pkgs/development/python-modules/bitbucket-api/default.nix23
-rw-r--r--pkgs/development/python-modules/bitbucket-cli/default.nix23
-rw-r--r--pkgs/development/python-modules/bitmath/default.nix20
-rw-r--r--pkgs/development/python-modules/black/default.nix23
-rw-r--r--pkgs/development/python-modules/blaze/default.nix10
-rw-r--r--pkgs/development/python-modules/bleach/default.nix6
-rw-r--r--pkgs/development/python-modules/blinker/default.nix18
-rw-r--r--pkgs/development/python-modules/blinkstick/default.nix31
-rw-r--r--pkgs/development/python-modules/bokeh/default.nix4
-rw-r--r--pkgs/development/python-modules/bootstrapped-pip/default.nix24
-rw-r--r--pkgs/development/python-modules/boto3/default.nix4
-rw-r--r--pkgs/development/python-modules/botocore/default.nix4
-rw-r--r--pkgs/development/python-modules/bottle/default.nix21
-rw-r--r--pkgs/development/python-modules/bugwarrior/default.nix31
-rw-r--r--pkgs/development/python-modules/bugzilla/default.nix30
-rw-r--r--pkgs/development/python-modules/buildout-nix/default.nix4
-rw-r--r--pkgs/development/python-modules/buildout/default.nix18
-rw-r--r--pkgs/development/python-modules/bumps/default.nix24
-rw-r--r--pkgs/development/python-modules/bunch/default.nix17
-rw-r--r--pkgs/development/python-modules/buttersink/default.nix28
-rw-r--r--pkgs/development/python-modules/cached-property/default.nix22
-rw-r--r--pkgs/development/python-modules/cachetools/1.nix4
-rw-r--r--pkgs/development/python-modules/cairosvg/default.nix25
-rw-r--r--pkgs/development/python-modules/can/default.nix4
-rw-r--r--pkgs/development/python-modules/canonicaljson/default.nix23
-rw-r--r--pkgs/development/python-modules/carrot/default.nix22
-rw-r--r--pkgs/development/python-modules/case/default.nix20
-rw-r--r--pkgs/development/python-modules/celery/default.nix7
-rw-r--r--pkgs/development/python-modules/cerberus/default.nix19
-rw-r--r--pkgs/development/python-modules/cffi/default.nix4
-rw-r--r--pkgs/development/python-modules/chainer/default.nix4
-rw-r--r--pkgs/development/python-modules/check-manifest/default.nix20
-rw-r--r--pkgs/development/python-modules/cheroot/default.nix4
-rw-r--r--pkgs/development/python-modules/cherrypy/default.nix9
-rw-r--r--pkgs/development/python-modules/circus/default.nix16
-rw-r--r--pkgs/development/python-modules/cjson/default.nix18
-rw-r--r--pkgs/development/python-modules/clf/default.nix29
-rw-r--r--pkgs/development/python-modules/click-log/default.nix20
-rw-r--r--pkgs/development/python-modules/click/default.nix30
-rw-r--r--pkgs/development/python-modules/cloudpickle/default.nix27
-rw-r--r--pkgs/development/python-modules/cmarkgfm/default.nix25
-rw-r--r--pkgs/development/python-modules/cmdline/default.nix21
-rw-r--r--pkgs/development/python-modules/codecov/default.nix10
-rw-r--r--pkgs/development/python-modules/cogapp/default.nix21
-rw-r--r--pkgs/development/python-modules/coilmq/default.nix25
-rw-r--r--pkgs/development/python-modules/coinmarketcap/default.nix19
-rw-r--r--pkgs/development/python-modules/colander/default.nix21
-rw-r--r--pkgs/development/python-modules/colorclass/default.nix20
-rw-r--r--pkgs/development/python-modules/colorlog/default.nix4
-rw-r--r--pkgs/development/python-modules/colour/default.nix19
-rw-r--r--pkgs/development/python-modules/commonmark/default.nix27
-rw-r--r--pkgs/development/python-modules/configobj/default.nix34
-rw-r--r--pkgs/development/python-modules/configparser/default.nix23
-rw-r--r--pkgs/development/python-modules/confluent-kafka/default.nix4
-rw-r--r--pkgs/development/python-modules/construct/default.nix11
-rw-r--r--pkgs/development/python-modules/consul/default.nix24
-rw-r--r--pkgs/development/python-modules/contexter/default.nix14
-rw-r--r--pkgs/development/python-modules/contextvars/default.nix21
-rw-r--r--pkgs/development/python-modules/cookiecutter/default.nix34
-rw-r--r--pkgs/development/python-modules/cookies/default.nix19
-rw-r--r--pkgs/development/python-modules/cov-core/default.nix17
-rw-r--r--pkgs/development/python-modules/coveralls/default.nix4
-rw-r--r--pkgs/development/python-modules/cram/default.nix16
-rw-r--r--pkgs/development/python-modules/crcmod/default.nix17
-rw-r--r--pkgs/development/python-modules/credstash/default.nix11
-rw-r--r--pkgs/development/python-modules/cryptacular/default.nix22
-rw-r--r--pkgs/development/python-modules/cryptography/default.nix4
-rw-r--r--pkgs/development/python-modules/cryptography_vectors/default.nix4
-rw-r--r--pkgs/development/python-modules/cssselect/default.nix17
-rw-r--r--pkgs/development/python-modules/cssselect2/default.nix23
-rw-r--r--pkgs/development/python-modules/cssutils/default.nix22
-rw-r--r--pkgs/development/python-modules/csvkit/default.nix52
-rw-r--r--pkgs/development/python-modules/cupy/default.nix4
-rw-r--r--pkgs/development/python-modules/curtsies/default.nix8
-rw-r--r--pkgs/development/python-modules/cvxopt/default.nix69
-rw-r--r--pkgs/development/python-modules/cx_oracle/default.nix25
-rw-r--r--pkgs/development/python-modules/cypari2/default.nix55
-rw-r--r--pkgs/development/python-modules/cysignals/default.nix41
-rw-r--r--pkgs/development/python-modules/cytoolz/default.nix13
-rw-r--r--pkgs/development/python-modules/daphne/default.nix28
-rw-r--r--pkgs/development/python-modules/darcsver/default.nix29
-rw-r--r--pkgs/development/python-modules/dask/default.nix4
-rw-r--r--pkgs/development/python-modules/dataclasses/default.nix21
-rw-r--r--pkgs/development/python-modules/datadog/default.nix27
-rw-r--r--pkgs/development/python-modules/datashape/default.nix4
-rw-r--r--pkgs/development/python-modules/dateutil/1_5.nix20
-rw-r--r--pkgs/development/python-modules/datrie/default.nix21
-rw-r--r--pkgs/development/python-modules/dbf/default.nix13
-rw-r--r--pkgs/development/python-modules/debian/default.nix14
-rw-r--r--pkgs/development/python-modules/deform/default.nix41
-rw-r--r--pkgs/development/python-modules/defusedxml/default.nix11
-rw-r--r--pkgs/development/python-modules/deluge-client/default.nix21
-rw-r--r--pkgs/development/python-modules/deprecation/default.nix25
-rw-r--r--pkgs/development/python-modules/derpconf/default.nix19
-rw-r--r--pkgs/development/python-modules/detox/default.nix27
-rw-r--r--pkgs/development/python-modules/devpi-common/default.nix4
-rw-r--r--pkgs/development/python-modules/diff_cover/default.nix4
-rw-r--r--pkgs/development/python-modules/digitalocean/default.nix23
-rw-r--r--pkgs/development/python-modules/discid/default.nix12
-rw-r--r--pkgs/development/python-modules/distro/default.nix1
-rw-r--r--pkgs/development/python-modules/dj-database-url/default.nix20
-rw-r--r--pkgs/development/python-modules/django-ipware/default.nix4
-rw-r--r--pkgs/development/python-modules/django-pipeline/default.nix36
-rw-r--r--pkgs/development/python-modules/django-polymorphic/default.nix18
-rw-r--r--pkgs/development/python-modules/django/1_11.nix7
-rw-r--r--pkgs/development/python-modules/django/2_0.nix4
-rw-r--r--pkgs/development/python-modules/django_redis/default.nix4
-rw-r--r--pkgs/development/python-modules/djangorestframework/default.nix4
-rw-r--r--pkgs/development/python-modules/docker-pycreds/default.nix22
-rw-r--r--pkgs/development/python-modules/docker-registry-core/default.nix26
-rw-r--r--pkgs/development/python-modules/docker/default.nix4
-rw-r--r--pkgs/development/python-modules/docker_compose/default.nix4
-rw-r--r--pkgs/development/python-modules/dockerpty/default.nix19
-rw-r--r--pkgs/development/python-modules/docopt/default.nix17
-rw-r--r--pkgs/development/python-modules/doctest-ignore-unicode/default.nix19
-rw-r--r--pkgs/development/python-modules/dogpile.cache/default.nix4
-rw-r--r--pkgs/development/python-modules/dogpile.core/default.nix19
-rw-r--r--pkgs/development/python-modules/dropbox/default.nix24
-rw-r--r--pkgs/development/python-modules/dugong/default.nix13
-rw-r--r--pkgs/development/python-modules/dulwich/default.nix16
-rw-r--r--pkgs/development/python-modules/easyprocess/default.nix21
-rw-r--r--pkgs/development/python-modules/ecpy/default.nix9
-rw-r--r--pkgs/development/python-modules/elasticsearch-curator/default.nix4
-rw-r--r--pkgs/development/python-modules/elasticsearch/default.nix4
-rw-r--r--pkgs/development/python-modules/emoji/default.nix4
-rw-r--r--pkgs/development/python-modules/entrypoints/default.nix8
-rw-r--r--pkgs/development/python-modules/envs/default.nix24
-rw-r--r--pkgs/development/python-modules/evdev/default.nix4
-rw-r--r--pkgs/development/python-modules/ewmh/default.nix23
-rw-r--r--pkgs/development/python-modules/face_recognition/default.nix33
-rw-r--r--pkgs/development/python-modules/face_recognition_models/default.nix21
-rw-r--r--pkgs/development/python-modules/faker/default.nix8
-rw-r--r--pkgs/development/python-modules/fastimport/default.nix4
-rw-r--r--pkgs/development/python-modules/faulthandler/default.nix15
-rw-r--r--pkgs/development/python-modules/fiona/default.nix4
-rw-r--r--pkgs/development/python-modules/flake8-debugger/default.nix21
-rw-r--r--pkgs/development/python-modules/flake8-future-import/default.nix17
-rw-r--r--pkgs/development/python-modules/flake8-import-order/default.nix4
-rw-r--r--pkgs/development/python-modules/flask-assets/default.nix2
-rw-r--r--pkgs/development/python-modules/flask-autoindex/default.nix44
-rw-r--r--pkgs/development/python-modules/flask-babel/default.nix44
-rw-r--r--pkgs/development/python-modules/flask-cors/default.nix4
-rw-r--r--pkgs/development/python-modules/flask-script/default.nix13
-rw-r--r--pkgs/development/python-modules/flask-silk/default.nix26
-rw-r--r--pkgs/development/python-modules/flask/default.nix4
-rw-r--r--pkgs/development/python-modules/flit/default.nix4
-rw-r--r--pkgs/development/python-modules/fonttools/default.nix11
-rw-r--r--pkgs/development/python-modules/fpylll/default.nix55
-rw-r--r--pkgs/development/python-modules/frozendict/default.nix20
-rw-r--r--pkgs/development/python-modules/ftfy/default.nix22
-rw-r--r--pkgs/development/python-modules/ftputil/default.nix27
-rw-r--r--pkgs/development/python-modules/futures/default.nix25
-rw-r--r--pkgs/development/python-modules/gensim/default.nix4
-rw-r--r--pkgs/development/python-modules/git-annex-adapter/default.nix9
-rw-r--r--pkgs/development/python-modules/gitdb/default.nix23
-rw-r--r--pkgs/development/python-modules/gitdb2/default.nix23
-rw-r--r--pkgs/development/python-modules/google-api-python-client/default.nix23
-rw-r--r--pkgs/development/python-modules/google_api_core/default.nix17
-rw-r--r--pkgs/development/python-modules/google_cloud_core/default.nix4
-rw-r--r--pkgs/development/python-modules/google_cloud_speech/default.nix9
-rw-r--r--pkgs/development/python-modules/google_gax/default.nix7
-rw-r--r--pkgs/development/python-modules/gpapi/default.nix20
-rw-r--r--pkgs/development/python-modules/gplaycli/default.nix26
-rw-r--r--pkgs/development/python-modules/gpy/default.nix4
-rw-r--r--pkgs/development/python-modules/graph-tool/2.x.x.nix17
-rw-r--r--pkgs/development/python-modules/green/default.nix21
-rw-r--r--pkgs/development/python-modules/gst-python/default.nix19
-rw-r--r--pkgs/development/python-modules/guessit/2.0.nix4
-rw-r--r--pkgs/development/python-modules/ha-ffmpeg/default.nix28
-rw-r--r--pkgs/development/python-modules/hbmqtt/default.nix4
-rw-r--r--pkgs/development/python-modules/hdbscan/default.nix30
-rw-r--r--pkgs/development/python-modules/heapdict/default.nix20
-rw-r--r--pkgs/development/python-modules/howdoi/default.nix20
-rw-r--r--pkgs/development/python-modules/html5-parser/default.nix4
-rw-r--r--pkgs/development/python-modules/htmltreediff/default.nix26
-rw-r--r--pkgs/development/python-modules/httplib2/default.nix18
-rw-r--r--pkgs/development/python-modules/hupper/default.nix4
-rw-r--r--pkgs/development/python-modules/hvac/default.nix22
-rw-r--r--pkgs/development/python-modules/hyperlink/default.nix13
-rw-r--r--pkgs/development/python-modules/idna-ssl/default.nix6
-rw-r--r--pkgs/development/python-modules/idna/default.nix2
-rw-r--r--pkgs/development/python-modules/imbalanced-learn/default.nix26
-rw-r--r--pkgs/development/python-modules/immutables/default.nix19
-rw-r--r--pkgs/development/python-modules/interruptingcow/default.nix4
-rw-r--r--pkgs/development/python-modules/iowait/default.nix16
-rw-r--r--pkgs/development/python-modules/ipykernel/default.nix4
-rw-r--r--pkgs/development/python-modules/ipython/5.nix5
-rw-r--r--pkgs/development/python-modules/ipython/default.nix7
-rw-r--r--pkgs/development/python-modules/ipywidgets/default.nix4
-rw-r--r--pkgs/development/python-modules/isort/default.nix28
-rw-r--r--pkgs/development/python-modules/jdatetime/default.nix19
-rw-r--r--pkgs/development/python-modules/jieba/default.nix33
-rw-r--r--pkgs/development/python-modules/jira/default.nix29
-rw-r--r--pkgs/development/python-modules/josepy/default.nix35
-rw-r--r--pkgs/development/python-modules/jsonpatch/default.nix4
-rw-r--r--pkgs/development/python-modules/jsonref/default.nix2
-rw-r--r--pkgs/development/python-modules/jsonrpc-async/default.nix2
-rw-r--r--pkgs/development/python-modules/jsonrpc-websocket/default.nix4
-rw-r--r--pkgs/development/python-modules/jug/default.nix4
-rw-r--r--pkgs/development/python-modules/jupyter_client/default.nix4
-rw-r--r--pkgs/development/python-modules/jupyterlab/default.nix31
-rw-r--r--pkgs/development/python-modules/jupyterlab_launcher/default.nix25
-rw-r--r--pkgs/development/python-modules/kafka-python/default.nix4
-rw-r--r--pkgs/development/python-modules/keras/default.nix9
-rw-r--r--pkgs/development/python-modules/keyring/default.nix20
-rw-r--r--pkgs/development/python-modules/kiwisolver/default.nix24
-rw-r--r--pkgs/development/python-modules/klein/default.nix27
-rw-r--r--pkgs/development/python-modules/konfig/default.nix48
-rw-r--r--pkgs/development/python-modules/langcodes/default.nix34
-rw-r--r--pkgs/development/python-modules/latexcodec/default.nix20
-rw-r--r--pkgs/development/python-modules/ldap/default.nix41
-rw-r--r--pkgs/development/python-modules/ldappool/default.nix25
-rw-r--r--pkgs/development/python-modules/ledgerblue/default.nix4
-rw-r--r--pkgs/development/python-modules/libais/default.nix13
-rw-r--r--pkgs/development/python-modules/libgpuarray/default.nix13
-rw-r--r--pkgs/development/python-modules/libtmux/default.nix4
-rw-r--r--pkgs/development/python-modules/libvirt/default.nix11
-rw-r--r--pkgs/development/python-modules/linode-api/default.nix20
-rw-r--r--pkgs/development/python-modules/llfuse/default.nix4
-rw-r--r--pkgs/development/python-modules/llvmlite/default.nix4
-rw-r--r--pkgs/development/python-modules/locket/default.nix23
-rw-r--r--pkgs/development/python-modules/locustio/default.nix2
-rw-r--r--pkgs/development/python-modules/logilab/constraint.nix2
-rw-r--r--pkgs/development/python-modules/logster/default.nix21
-rw-r--r--pkgs/development/python-modules/lxml/default.nix4
-rw-r--r--pkgs/development/python-modules/m2r/default.nix4
-rw-r--r--pkgs/development/python-modules/magic-wormhole-transit-relay/default.nix4
-rw-r--r--pkgs/development/python-modules/marionette-harness/mozdevice.nix4
-rw-r--r--pkgs/development/python-modules/marionette-harness/mozlog.nix11
-rw-r--r--pkgs/development/python-modules/marionette-harness/mozprocess.nix4
-rw-r--r--pkgs/development/python-modules/marionette-harness/mozprofile.nix4
-rw-r--r--pkgs/development/python-modules/marionette-harness/mozrunner.nix4
-rw-r--r--pkgs/development/python-modules/marionette-harness/mozversion.nix4
-rw-r--r--pkgs/development/python-modules/marisa-trie/default.nix34
-rw-r--r--pkgs/development/python-modules/marisa/default.nix25
-rw-r--r--pkgs/development/python-modules/marshmallow/default.nix4
-rw-r--r--pkgs/development/python-modules/matplotlib/default.nix8
-rw-r--r--pkgs/development/python-modules/mecab-python3/default.nix24
-rw-r--r--pkgs/development/python-modules/meliae/default.nix2
-rw-r--r--pkgs/development/python-modules/milksnake/default.nix26
-rw-r--r--pkgs/development/python-modules/miniupnpc/default.nix18
-rw-r--r--pkgs/development/python-modules/misaka/default.nix22
-rw-r--r--pkgs/development/python-modules/mock-open/default.nix22
-rw-r--r--pkgs/development/python-modules/moinmoin/default.nix13
-rw-r--r--pkgs/development/python-modules/more-itertools/default.nix26
-rw-r--r--pkgs/development/python-modules/moto/default.nix13
-rw-r--r--pkgs/development/python-modules/mozterm/default.nix19
-rw-r--r--pkgs/development/python-modules/mrbob/default.nix28
-rw-r--r--pkgs/development/python-modules/msgpack-numpy/default.nix38
-rw-r--r--pkgs/development/python-modules/msgpack/default.nix4
-rw-r--r--pkgs/development/python-modules/mt-940/default.nix35
-rw-r--r--pkgs/development/python-modules/mt-940/no-coverage.patch26
-rw-r--r--pkgs/development/python-modules/multipledispatch/default.nix4
-rw-r--r--pkgs/development/python-modules/murmurhash/default.nix23
-rw-r--r--pkgs/development/python-modules/mutagen/default.nix31
-rw-r--r--pkgs/development/python-modules/mysql-connector/default.nix7
-rw-r--r--pkgs/development/python-modules/mysqlclient/default.nix25
-rw-r--r--pkgs/development/python-modules/nbxmpp/default.nix23
-rw-r--r--pkgs/development/python-modules/neovim/default.nix4
-rw-r--r--pkgs/development/python-modules/netdisco/default.nix8
-rw-r--r--pkgs/development/python-modules/networkx/default.nix16
-rw-r--r--pkgs/development/python-modules/neurotools/default.nix35
-rw-r--r--pkgs/development/python-modules/nevow/default.nix41
-rw-r--r--pkgs/development/python-modules/nilearn/default.nix4
-rw-r--r--pkgs/development/python-modules/nipype/default.nix25
-rw-r--r--pkgs/development/python-modules/nipype/prov-version.patch21
-rw-r--r--pkgs/development/python-modules/node-semver/default.nix1
-rw-r--r--pkgs/development/python-modules/noise/default.nix18
-rw-r--r--pkgs/development/python-modules/notebook/default.nix17
-rw-r--r--pkgs/development/python-modules/numba/default.nix4
-rw-r--r--pkgs/development/python-modules/numexpr/default.nix4
-rw-r--r--pkgs/development/python-modules/numpy-stl/default.nix4
-rw-r--r--pkgs/development/python-modules/numpy/default.nix24
-rw-r--r--pkgs/development/python-modules/numpydoc/default.nix4
-rw-r--r--pkgs/development/python-modules/oauth2client/default.nix21
-rw-r--r--pkgs/development/python-modules/odo/default.nix26
-rw-r--r--pkgs/development/python-modules/ofxhome/default.nix23
-rw-r--r--pkgs/development/python-modules/onkyo-eiscp/default.nix4
-rw-r--r--pkgs/development/python-modules/openidc-client/default.nix4
-rw-r--r--pkgs/development/python-modules/openpyxl/default.nix4
-rw-r--r--pkgs/development/python-modules/opentimestamps/default.nix31
-rw-r--r--pkgs/development/python-modules/oset/default.nix19
-rw-r--r--pkgs/development/python-modules/outcome/default.nix27
-rw-r--r--pkgs/development/python-modules/packaging/default.nix4
-rw-r--r--pkgs/development/python-modules/pandas/0.17.1.nix4
-rw-r--r--pkgs/development/python-modules/paramz/default.nix4
-rw-r--r--pkgs/development/python-modules/parse-type/default.nix12
-rw-r--r--pkgs/development/python-modules/parse/default.nix12
-rw-r--r--pkgs/development/python-modules/patator/default.nix40
-rw-r--r--pkgs/development/python-modules/path.py/default.nix6
-rw-r--r--pkgs/development/python-modules/pathlib2/default.nix4
-rw-r--r--pkgs/development/python-modules/pathspec/default.nix4
-rw-r--r--pkgs/development/python-modules/patsy/default.nix36
-rw-r--r--pkgs/development/python-modules/paypalrestsdk/default.nix20
-rw-r--r--pkgs/development/python-modules/pbkdf2/default.nix18
-rw-r--r--pkgs/development/python-modules/pbr/default.nix4
-rw-r--r--pkgs/development/python-modules/pecan/default.nix2
-rw-r--r--pkgs/development/python-modules/pendulum/default.nix4
-rw-r--r--pkgs/development/python-modules/periodictable/default.nix20
-rw-r--r--pkgs/development/python-modules/phonenumbers/default.nix4
-rw-r--r--pkgs/development/python-modules/pillow/default.nix15
-rw-r--r--pkgs/development/python-modules/pip-tools/default.nix6
-rw-r--r--pkgs/development/python-modules/pip/default.nix34
-rw-r--r--pkgs/development/python-modules/pkginfo/default.nix28
-rw-r--r--pkgs/development/python-modules/plaster-pastedeploy/default.nix4
-rw-r--r--pkgs/development/python-modules/plotly/default.nix4
-rw-r--r--pkgs/development/python-modules/ply/default.nix42
-rw-r--r--pkgs/development/python-modules/polib/default.nix20
-rw-r--r--pkgs/development/python-modules/pomegranate/default.nix5
-rw-r--r--pkgs/development/python-modules/poppler-qt5/default.nix42
-rw-r--r--pkgs/development/python-modules/poppler-qt5/poppler-include-dir.patch12
-rw-r--r--pkgs/development/python-modules/portend/default.nix17
-rw-r--r--pkgs/development/python-modules/praw/default.nix9
-rw-r--r--pkgs/development/python-modules/prawcore/default.nix8
-rw-r--r--pkgs/development/python-modules/pretend/default.nix19
-rw-r--r--pkgs/development/python-modules/proboscis/default.nix21
-rw-r--r--pkgs/development/python-modules/progressbar/default.nix24
-rw-r--r--pkgs/development/python-modules/progressbar231/default.nix23
-rw-r--r--pkgs/development/python-modules/progressbar33/default.nix21
-rw-r--r--pkgs/development/python-modules/prometheus_client/default.nix19
-rw-r--r--pkgs/development/python-modules/prov/default.nix16
-rw-r--r--pkgs/development/python-modules/psutil/default.nix4
-rw-r--r--pkgs/development/python-modules/publicsuffix/default.nix27
-rw-r--r--pkgs/development/python-modules/pushbullet/default.nix27
-rw-r--r--pkgs/development/python-modules/pushover/default.nix24
-rw-r--r--pkgs/development/python-modules/py/default.nix4
-rw-r--r--pkgs/development/python-modules/py3status/default.nix48
-rw-r--r--pkgs/development/python-modules/py4j/default.nix22
-rw-r--r--pkgs/development/python-modules/pyamf/default.nix6
-rw-r--r--pkgs/development/python-modules/pyarrow/default.nix65
-rw-r--r--pkgs/development/python-modules/pyatspi/default.nix32
-rw-r--r--pkgs/development/python-modules/pyaxmlparser/default.nix20
-rw-r--r--pkgs/development/python-modules/pybase64/default.nix10
-rw-r--r--pkgs/development/python-modules/pybfd/default.nix3
-rw-r--r--pkgs/development/python-modules/pybindgen/default.nix23
-rw-r--r--pkgs/development/python-modules/pyblake2/default.nix4
-rw-r--r--pkgs/development/python-modules/pybtex-docutils/default.nix20
-rw-r--r--pkgs/development/python-modules/pybtex/default.nix20
-rw-r--r--pkgs/development/python-modules/pycairo/default.nix21
-rw-r--r--pkgs/development/python-modules/pychart/default.nix19
-rw-r--r--pkgs/development/python-modules/pychromecast/default.nix4
-rw-r--r--pkgs/development/python-modules/pycontracts/default.nix21
-rw-r--r--pkgs/development/python-modules/pycparser/default.nix22
-rw-r--r--pkgs/development/python-modules/pycryptodome/default.nix4
-rw-r--r--pkgs/development/python-modules/pycryptodomex/default.nix4
-rw-r--r--pkgs/development/python-modules/pycups/default.nix22
-rw-r--r--pkgs/development/python-modules/pycurl/default.nix45
-rw-r--r--pkgs/development/python-modules/pydub/default.nix4
-rw-r--r--pkgs/development/python-modules/pyechonest/default.nix17
-rw-r--r--pkgs/development/python-modules/pyfakefs/default.nix32
-rw-r--r--pkgs/development/python-modules/pygame_sdl2/default.nix30
-rw-r--r--pkgs/development/python-modules/pygccxml/default.nix26
-rw-r--r--pkgs/development/python-modules/pygit2/default.nix4
-rw-r--r--pkgs/development/python-modules/pyglet/default.nix4
-rw-r--r--pkgs/development/python-modules/pygraphviz/default.nix2
-rw-r--r--pkgs/development/python-modules/pygtail/default.nix25
-rw-r--r--pkgs/development/python-modules/pyhomematic/default.nix7
-rw-r--r--pkgs/development/python-modules/pyjade/default.nix29
-rw-r--r--pkgs/development/python-modules/pylint/default.nix4
-rw-r--r--pkgs/development/python-modules/pymc3/default.nix64
-rw-r--r--pkgs/development/python-modules/pymongo/default.nix4
-rw-r--r--pkgs/development/python-modules/pymvglive/default.nix19
-rw-r--r--pkgs/development/python-modules/pyobjc/default.nix4
-rw-r--r--pkgs/development/python-modules/pyocr/default.nix3
-rw-r--r--pkgs/development/python-modules/pyodbc/default.nix4
-rw-r--r--pkgs/development/python-modules/pyopencl/default.nix4
-rw-r--r--pkgs/development/python-modules/pyowm/default.nix19
-rw-r--r--pkgs/development/python-modules/pypcap/default.nix4
-rw-r--r--pkgs/development/python-modules/pyperclip/default.nix19
-rw-r--r--pkgs/development/python-modules/pyqt/5.x.nix17
-rw-r--r--pkgs/development/python-modules/pyroute2/default.nix4
-rw-r--r--pkgs/development/python-modules/pysensors/default.nix32
-rw-r--r--pkgs/development/python-modules/pysha3/default.nix19
-rw-r--r--pkgs/development/python-modules/pyslurm/default.nix7
-rw-r--r--pkgs/development/python-modules/pyspark/default.nix28
-rw-r--r--pkgs/development/python-modules/pytaglib/default.nix33
-rw-r--r--pkgs/development/python-modules/pytest-catchlog/default.nix24
-rw-r--r--pkgs/development/python-modules/pytest-cov/default.nix30
-rw-r--r--pkgs/development/python-modules/pytest-fixture-config/default.nix29
-rw-r--r--pkgs/development/python-modules/pytest-flake8/default.nix5
-rw-r--r--pkgs/development/python-modules/pytest-flakes/default.nix25
-rw-r--r--pkgs/development/python-modules/pytest-isort/default.nix23
-rw-r--r--pkgs/development/python-modules/pytest-mock/default.nix6
-rw-r--r--pkgs/development/python-modules/pytest-pep8/default.nix28
-rw-r--r--pkgs/development/python-modules/pytest-raisesregexp/default.nix26
-rw-r--r--pkgs/development/python-modules/pytest-server-fixtures/default.nix26
-rw-r--r--pkgs/development/python-modules/pytest-shutil/default.nix27
-rw-r--r--pkgs/development/python-modules/pytest-subtesthack/default.nix22
-rw-r--r--pkgs/development/python-modules/pytest-sugar/default.nix4
-rw-r--r--pkgs/development/python-modules/pytest-virtualenv/default.nix23
-rw-r--r--pkgs/development/python-modules/pytest-xdist/default.nix4
-rw-r--r--pkgs/development/python-modules/pytest/default.nix8
-rw-r--r--pkgs/development/python-modules/pytestcache/default.nix28
-rw-r--r--pkgs/development/python-modules/pytestrunner/default.nix4
-rw-r--r--pkgs/development/python-modules/python-ctags3/default.nix17
-rw-r--r--pkgs/development/python-modules/python-daemon/default.nix23
-rw-r--r--pkgs/development/python-modules/python-docx/default.nix33
-rw-r--r--pkgs/development/python-modules/python-gnupg/default.nix4
-rw-r--r--pkgs/development/python-modules/python-jose/default.nix27
-rw-r--r--pkgs/development/python-modules/python-jose/pycryptodome.patch37
-rw-r--r--pkgs/development/python-modules/python-ly/default.nix21
-rw-r--r--pkgs/development/python-modules/python-oauth2/default.nix4
-rw-r--r--pkgs/development/python-modules/python-slugify/default.nix4
-rw-r--r--pkgs/development/python-modules/python_openzwave/default.nix40
-rw-r--r--pkgs/development/python-modules/pytools/default.nix4
-rw-r--r--pkgs/development/python-modules/pytorch/default.nix66
-rw-r--r--pkgs/development/python-modules/pyzmq/default.nix34
-rw-r--r--pkgs/development/python-modules/qtpy/default.nix4
-rw-r--r--pkgs/development/python-modules/raven/default.nix4
-rw-r--r--pkgs/development/python-modules/readme_renderer/default.nix14
-rw-r--r--pkgs/development/python-modules/rednose/default.nix24
-rw-r--r--pkgs/development/python-modules/regex/default.nix11
-rw-r--r--pkgs/development/python-modules/requests-cache/default.nix21
-rw-r--r--pkgs/development/python-modules/requests-mock/default.nix21
-rw-r--r--pkgs/development/python-modules/requests-toolbelt/default.nix4
-rw-r--r--pkgs/development/python-modules/requests-unixsocket/default.nix28
-rw-r--r--pkgs/development/python-modules/responses/default.nix16
-rw-r--r--pkgs/development/python-modules/restructuredtext_lint/default.nix4
-rw-r--r--pkgs/development/python-modules/rlp/default.nix21
-rw-r--r--pkgs/development/python-modules/robomachine/default.nix11
-rw-r--r--pkgs/development/python-modules/robotframework/default.nix5
-rw-r--r--pkgs/development/python-modules/rocket-errbot/default.nix24
-rw-r--r--pkgs/development/python-modules/root_numpy/default.nix7
-rw-r--r--pkgs/development/python-modules/rootpy/default.nix10
-rw-r--r--pkgs/development/python-modules/rpy2/default.nix54
-rw-r--r--pkgs/development/python-modules/s3fs/default.nix26
-rw-r--r--pkgs/development/python-modules/sasmodels/default.nix30
-rw-r--r--pkgs/development/python-modules/scapy/default.nix23
-rw-r--r--pkgs/development/python-modules/scapy/fix-version-1.patch4
-rw-r--r--pkgs/development/python-modules/scapy/fix-version-2.patch20
-rw-r--r--pkgs/development/python-modules/scikitlearn/default.nix3
-rw-r--r--pkgs/development/python-modules/scipy/default.nix11
-rw-r--r--pkgs/development/python-modules/scrapy/default.nix7
-rw-r--r--pkgs/development/python-modules/selenium/default.nix29
-rw-r--r--pkgs/development/python-modules/send2trash/default.nix3
-rw-r--r--pkgs/development/python-modules/serversyncstorage/default.nix4
-rw-r--r--pkgs/development/python-modules/service_identity/default.nix4
-rw-r--r--pkgs/development/python-modules/setuptools/default.nix4
-rw-r--r--pkgs/development/python-modules/setuptools_scm/default.nix4
-rw-r--r--pkgs/development/python-modules/shapely/default.nix5
-rw-r--r--pkgs/development/python-modules/sleekxmpp/default.nix23
-rw-r--r--pkgs/development/python-modules/sleekxmpp/dnspython-ip6.patch55
-rw-r--r--pkgs/development/python-modules/slimit/default.nix36
-rw-r--r--pkgs/development/python-modules/smart_open/default.nix20
-rw-r--r--pkgs/development/python-modules/smmap/default.nix19
-rw-r--r--pkgs/development/python-modules/smmap2/default.nix20
-rw-r--r--pkgs/development/python-modules/spacy/default.nix54
-rw-r--r--pkgs/development/python-modules/sphinx-navtree/default.nix18
-rw-r--r--pkgs/development/python-modules/sphinx/default.nix4
-rw-r--r--pkgs/development/python-modules/sphinxcontrib-bibtex/default.nix22
-rw-r--r--pkgs/development/python-modules/sqlalchemy/default.nix4
-rw-r--r--pkgs/development/python-modules/sqlmap/default.nix4
-rw-r--r--pkgs/development/python-modules/sseclient/default.nix24
-rw-r--r--pkgs/development/python-modules/stem/default.nix30
-rw-r--r--pkgs/development/python-modules/stripe/default.nix15
-rw-r--r--pkgs/development/python-modules/supervise_api/default.nix11
-rw-r--r--pkgs/development/python-modules/svg-path/default.nix17
-rw-r--r--pkgs/development/python-modules/sybil/default.nix4
-rw-r--r--pkgs/development/python-modules/tables/default.nix4
-rw-r--r--pkgs/development/python-modules/tablib/default.nix29
-rw-r--r--pkgs/development/python-modules/tblib/default.nix18
-rw-r--r--pkgs/development/python-modules/tensorflow/bin.nix51
-rw-r--r--pkgs/development/python-modules/tensorflow/default.nix2
-rw-r--r--pkgs/development/python-modules/termstyle/default.nix20
-rw-r--r--pkgs/development/python-modules/testfixtures/default.nix4
-rw-r--r--pkgs/development/python-modules/text-unidecode/default.nix23
-rw-r--r--pkgs/development/python-modules/textacy/default.nix4
-rw-r--r--pkgs/development/python-modules/thinc/default.nix70
-rw-r--r--pkgs/development/python-modules/thumbor/default.nix56
-rw-r--r--pkgs/development/python-modules/tifffile/default.nix4
-rw-r--r--pkgs/development/python-modules/tinycss2/default.nix23
-rw-r--r--pkgs/development/python-modules/tiros/default.nix4
-rw-r--r--pkgs/development/python-modules/tmdb3/default.nix20
-rw-r--r--pkgs/development/python-modules/toml/default.nix23
-rw-r--r--pkgs/development/python-modules/tornado/default.nix16
-rw-r--r--pkgs/development/python-modules/tox/default.nix4
-rw-r--r--pkgs/development/python-modules/tqdm/default.nix4
-rw-r--r--pkgs/development/python-modules/traitlets/default.nix8
-rw-r--r--pkgs/development/python-modules/transaction/default.nix4
-rw-r--r--pkgs/development/python-modules/transitions/default.nix4
-rw-r--r--pkgs/development/python-modules/trezor/default.nix8
-rw-r--r--pkgs/development/python-modules/trio/default.nix42
-rw-r--r--pkgs/development/python-modules/trustme/default.nix26
-rw-r--r--pkgs/development/python-modules/tunigo/default.nix27
-rw-r--r--pkgs/development/python-modules/tweepy/default.nix28
-rw-r--r--pkgs/development/python-modules/twine/default.nix4
-rw-r--r--pkgs/development/python-modules/txaio/default.nix15
-rw-r--r--pkgs/development/python-modules/txtorcon/default.nix12
-rw-r--r--pkgs/development/python-modules/u-msgpack-python/default.nix4
-rw-r--r--pkgs/development/python-modules/unittest-xml-reporting/default.nix23
-rw-r--r--pkgs/development/python-modules/uritemplate/default.nix26
-rw-r--r--pkgs/development/python-modules/virtual-display/default.nix23
-rw-r--r--pkgs/development/python-modules/virtualenv/default.nix4
-rw-r--r--pkgs/development/python-modules/vobject/default.nix24
-rw-r--r--pkgs/development/python-modules/vowpalwabbit/default.nix4
-rw-r--r--pkgs/development/python-modules/vxi11/default.nix26
-rw-r--r--pkgs/development/python-modules/wakeonlan/default.nix19
-rw-r--r--pkgs/development/python-modules/warrant/default.nix36
-rw-r--r--pkgs/development/python-modules/weboob/default.nix13
-rw-r--r--pkgs/development/python-modules/wheel/default.nix4
-rw-r--r--pkgs/development/python-modules/whichcraft/default.nix23
-rw-r--r--pkgs/development/python-modules/widgetsnbextension/default.nix4
-rw-r--r--pkgs/development/python-modules/wordfreq/default.nix48
-rw-r--r--pkgs/development/python-modules/wrapt/default.nix23
-rw-r--r--pkgs/development/python-modules/ws4py/default.nix4
-rw-r--r--pkgs/development/python-modules/xarray/default.nix4
-rw-r--r--pkgs/development/python-modules/xcffib/default.nix4
-rw-r--r--pkgs/development/python-modules/xdot/default.nix23
-rw-r--r--pkgs/development/python-modules/xgboost/default.nix35
-rw-r--r--pkgs/development/python-modules/yahooweather/default.nix23
-rw-r--r--pkgs/development/python-modules/yapf/default.nix4
-rw-r--r--pkgs/development/python-modules/yolk/default.nix2
-rw-r--r--pkgs/development/python-modules/yowsup/argparse-dependency.patch6
-rw-r--r--pkgs/development/python-modules/yowsup/default.nix9
-rw-r--r--pkgs/development/python-modules/zeroconf/default.nix4
-rw-r--r--pkgs/development/python-modules/zetup/default.nix4
-rw-r--r--pkgs/development/python-modules/zict/default.nix22
-rw-r--r--pkgs/development/python-modules/zipfile36/default.nix4
-rw-r--r--pkgs/development/python-modules/zodb/default.nix4
-rw-r--r--pkgs/development/python-modules/zope_copy/default.nix13
-rw-r--r--pkgs/development/python-modules/zxcvbn-python/default.nix4
-rw-r--r--pkgs/development/r-modules/README.md121
-rw-r--r--pkgs/development/r-modules/bioc-annotation-packages.nix1
-rw-r--r--pkgs/development/r-modules/bioc-experiment-packages.nix6
-rw-r--r--pkgs/development/r-modules/bioc-packages.nix186
-rw-r--r--pkgs/development/r-modules/cran-packages.nix3143
-rw-r--r--pkgs/development/r-modules/default.nix20
-rw-r--r--pkgs/development/r-modules/generic-builder.nix4
-rw-r--r--pkgs/development/ruby-modules/bundled-common/default.nix2
-rw-r--r--pkgs/development/ruby-modules/bundler-app/default.nix3
-rw-r--r--pkgs/development/ruby-modules/bundler/default.nix4
-rw-r--r--pkgs/development/ruby-modules/gem-config/default.nix22
-rw-r--r--pkgs/development/tools/ammonite/default.nix4
-rw-r--r--pkgs/development/tools/analysis/autoflake/default.nix4
-rw-r--r--pkgs/development/tools/analysis/checkstyle/default.nix4
-rw-r--r--pkgs/development/tools/analysis/cppcheck/default.nix4
-rw-r--r--pkgs/development/tools/analysis/flow/default.nix8
-rw-r--r--pkgs/development/tools/analysis/include-what-you-use/default.nix4
-rw-r--r--pkgs/development/tools/analysis/kcov/aarch64_nt_prstatus.patch12
-rw-r--r--pkgs/development/tools/analysis/kcov/default.nix8
-rw-r--r--pkgs/development/tools/analysis/panopticon/default.nix52
-rw-r--r--pkgs/development/tools/analysis/pmd/default.nix4
-rw-r--r--pkgs/development/tools/analysis/qcachegrind/default.nix8
-rw-r--r--pkgs/development/tools/analysis/radare2-cutter/default.nix22
-rw-r--r--pkgs/development/tools/analysis/radare2/default.nix32
-rw-r--r--pkgs/development/tools/analysis/retdec/default.nix1
-rw-r--r--pkgs/development/tools/analysis/spin/default.nix9
-rw-r--r--pkgs/development/tools/analysis/valgrind/default.nix2
-rw-r--r--pkgs/development/tools/ansible-lint/default.nix32
-rw-r--r--pkgs/development/tools/apktool/default.nix4
-rw-r--r--pkgs/development/tools/build-managers/apache-ant/1.9.nix111
-rw-r--r--pkgs/development/tools/build-managers/apache-ant/default.nix4
-rw-r--r--pkgs/development/tools/build-managers/bazel/0.4.nix2
-rw-r--r--pkgs/development/tools/build-managers/bazel/default.nix4
-rw-r--r--pkgs/development/tools/build-managers/buildbot/default.nix7
-rw-r--r--pkgs/development/tools/build-managers/buildbot/pkg.nix4
-rw-r--r--pkgs/development/tools/build-managers/buildbot/plugins.nix12
-rw-r--r--pkgs/development/tools/build-managers/buildbot/worker.nix4
-rw-r--r--pkgs/development/tools/build-managers/cmake/2.8.nix20
-rw-r--r--pkgs/development/tools/build-managers/cmake/default.nix1
-rwxr-xr-xpkgs/development/tools/build-managers/cmake/setup-hook.sh14
-rw-r--r--pkgs/development/tools/build-managers/conan/default.nix52
-rw-r--r--pkgs/development/tools/build-managers/doit/default.nix4
-rw-r--r--pkgs/development/tools/build-managers/gn/default.nix164
-rw-r--r--pkgs/development/tools/build-managers/gnumake/3.82/default.nix3
-rw-r--r--pkgs/development/tools/build-managers/gnumake/4.2/default.nix2
-rw-r--r--pkgs/development/tools/build-managers/gnumake/4.2/glibc-2.27-glob.patch32
-rw-r--r--pkgs/development/tools/build-managers/gnumake/4.2/glibc-2.27.patch24
-rw-r--r--pkgs/development/tools/build-managers/gnumake/4.2/head.nix69
-rw-r--r--pkgs/development/tools/build-managers/gnumake/4.2/impure-dirs-head.patch31
-rw-r--r--pkgs/development/tools/build-managers/gradle/default.nix4
-rw-r--r--pkgs/development/tools/build-managers/gup/build.nix16
-rw-r--r--pkgs/development/tools/build-managers/gup/default.nix51
-rw-r--r--pkgs/development/tools/build-managers/icmake/default.nix10
-rw-r--r--pkgs/development/tools/build-managers/meson/allow-dirs-outside-of-prefix.patch25
-rw-r--r--pkgs/development/tools/build-managers/meson/default.nix57
-rw-r--r--pkgs/development/tools/build-managers/meson/fix-rpath.patch32
-rw-r--r--pkgs/development/tools/build-managers/meson/overly-strict-size-check.patch12
-rw-r--r--pkgs/development/tools/build-managers/meson/setup-hook.sh19
-rw-r--r--pkgs/development/tools/build-managers/pants/default.nix12
-rw-r--r--pkgs/development/tools/build-managers/redo-sh/default.nix4
-rw-r--r--pkgs/development/tools/build-managers/remake/default.nix2
-rw-r--r--pkgs/development/tools/build-managers/sbt/default.nix4
-rw-r--r--pkgs/development/tools/build-managers/waf/default.nix4
-rw-r--r--pkgs/development/tools/castxml/default.nix49
-rw-r--r--pkgs/development/tools/cbor-diag/Gemfile2
-rw-r--r--pkgs/development/tools/cbor-diag/Gemfile.lock19
-rw-r--r--pkgs/development/tools/cbor-diag/default.nix30
-rw-r--r--pkgs/development/tools/cbor-diag/gemset.nix36
-rw-r--r--pkgs/development/tools/cddl/Gemfile2
-rw-r--r--pkgs/development/tools/cddl/Gemfile.lock28
-rw-r--r--pkgs/development/tools/cddl/default.nix17
-rw-r--r--pkgs/development/tools/cddl/gemset.nix69
-rw-r--r--pkgs/development/tools/cloudfoundry-cli/default.nix8
-rw-r--r--pkgs/development/tools/container-linux-config-transpiler/default.nix4
-rw-r--r--pkgs/development/tools/continuous-integration/buildkite-agent/2.x.nix12
-rw-r--r--pkgs/development/tools/continuous-integration/buildkite-agent/3.x.nix12
-rw-r--r--pkgs/development/tools/continuous-integration/buildkite-agent/generic.nix (renamed from pkgs/development/tools/continuous-integration/buildkite-agent/default.nix)22
-rw-r--r--pkgs/development/tools/continuous-integration/gitlab-runner/default.nix8
-rw-r--r--pkgs/development/tools/database/liquibase/default.nix4
-rw-r--r--pkgs/development/tools/database/pyrseas/default.nix2
-rw-r--r--pkgs/development/tools/database/sqldeveloper/default.nix26
-rw-r--r--pkgs/development/tools/database/sqlitebrowser/default.nix2
-rw-r--r--pkgs/development/tools/dcadec/default.nix4
-rw-r--r--pkgs/development/tools/doctl/default.nix8
-rw-r--r--pkgs/development/tools/documentation/doxygen/default.nix1
-rw-r--r--pkgs/development/tools/documentation/gtk-doc/default.nix13
-rw-r--r--pkgs/development/tools/documentation/mkdocs/default.nix10
-rw-r--r--pkgs/development/tools/flyway/default.nix2
-rw-r--r--pkgs/development/tools/fmbt/default.nix53
-rw-r--r--pkgs/development/tools/gauge/default.nix7
-rw-r--r--pkgs/development/tools/gllvm/default.nix22
-rw-r--r--pkgs/development/tools/glslviewer/default.nix32
-rw-r--r--pkgs/development/tools/gnulib/default.nix15
-rw-r--r--pkgs/development/tools/go-langserver/default.nix25
-rw-r--r--pkgs/development/tools/go2nix/default.nix2
-rw-r--r--pkgs/development/tools/godot/default.nix54
-rw-r--r--pkgs/development/tools/godot/dont_clobber_environment.patch16
-rw-r--r--pkgs/development/tools/godot/pkg_config_additions.patch15
-rw-r--r--pkgs/development/tools/govers/default.nix5
-rw-r--r--pkgs/development/tools/gron/default.nix32
-rw-r--r--pkgs/development/tools/gron/deps.nix35
-rw-r--r--pkgs/development/tools/guile/guile-lint/default.nix2
-rw-r--r--pkgs/development/tools/haskell/hyper-haskell/default.nix50
-rw-r--r--pkgs/development/tools/haskell/hyper-haskell/server.nix21
-rw-r--r--pkgs/development/tools/haskell/multi-ghc-travis/default.nix16
-rw-r--r--pkgs/development/tools/hcloud/default.nix4
-rw-r--r--pkgs/development/tools/iaca/2.1.nix33
-rw-r--r--pkgs/development/tools/iaca/3.0.nix24
-rw-r--r--pkgs/development/tools/icestorm/default.nix6
-rw-r--r--pkgs/development/tools/imatix_gsl/default.nix3
-rw-r--r--pkgs/development/tools/java/cfr/default.nix24
-rw-r--r--pkgs/development/tools/java/jhiccup/default.nix36
-rw-r--r--pkgs/development/tools/java/visualvm/default.nix32
-rw-r--r--pkgs/development/tools/jbake/default.nix14
-rw-r--r--pkgs/development/tools/jl/default.nix28
-rw-r--r--pkgs/development/tools/jsduck/Gemfile.lock2
-rw-r--r--pkgs/development/tools/jsduck/gemset.nix6
-rw-r--r--pkgs/development/tools/json2hcl/default.nix25
-rw-r--r--pkgs/development/tools/json2hcl/deps.nix20
-rw-r--r--pkgs/development/tools/libsigrok/default.nix6
-rw-r--r--pkgs/development/tools/libsigrokdecode/default.nix8
-rwxr-xr-xpkgs/development/tools/misc/arm-frc-linux-gnueabi-binutils/default.nix50
-rw-r--r--pkgs/development/tools/misc/autoconf-archive/default.nix4
-rw-r--r--pkgs/development/tools/misc/autoconf/2.64.nix10
-rw-r--r--pkgs/development/tools/misc/autoconf/default.nix10
-rw-r--r--pkgs/development/tools/misc/autogen/default.nix2
-rw-r--r--pkgs/development/tools/misc/automake/automake-1.16.x.nix (renamed from pkgs/development/tools/misc/automake/automake-1.15.x.nix)4
-rw-r--r--pkgs/development/tools/misc/avarice/default.nix1
-rw-r--r--pkgs/development/tools/misc/avrdude/default.nix2
-rw-r--r--pkgs/development/tools/misc/babeltrace/default.nix4
-rw-r--r--pkgs/development/tools/misc/binutils/2.30.nix131
-rw-r--r--pkgs/development/tools/misc/binutils/default.nix31
-rw-r--r--pkgs/development/tools/misc/binutils/gold-symbol-visibility.patch79
-rw-r--r--pkgs/development/tools/misc/binutils/relax-R_AARCH64_ABS32-R_AARCH64_ABS16-absolute.patch130
-rw-r--r--pkgs/development/tools/misc/binutils/support-ios.patch112
-rw-r--r--pkgs/development/tools/misc/cl-launch/default.nix2
-rw-r--r--pkgs/development/tools/misc/complexity/default.nix2
-rw-r--r--pkgs/development/tools/misc/cquery/default.nix59
-rw-r--r--pkgs/development/tools/misc/cquery/wrapper12
-rw-r--r--pkgs/development/tools/misc/creduce/default.nix2
-rw-r--r--pkgs/development/tools/misc/cscope/default.nix5
-rw-r--r--pkgs/development/tools/misc/csmith/default.nix2
-rw-r--r--pkgs/development/tools/misc/d-feet/default.nix18
-rw-r--r--pkgs/development/tools/misc/dejagnu/default.nix2
-rw-r--r--pkgs/development/tools/misc/fsatrace/default.nix31
-rw-r--r--pkgs/development/tools/misc/fswatch/default.nix4
-rw-r--r--pkgs/development/tools/misc/gdb/darwin-target-match.patch11
-rw-r--r--pkgs/development/tools/misc/gdb/default.nix3
-rw-r--r--pkgs/development/tools/misc/gede/default.nix16
-rw-r--r--pkgs/development/tools/misc/global/default.nix4
-rw-r--r--pkgs/development/tools/misc/help2man/default.nix28
-rw-r--r--pkgs/development/tools/misc/hydra/default.nix14
-rw-r--r--pkgs/development/tools/misc/intel-gpu-tools/default.nix6
-rw-r--r--pkgs/development/tools/misc/itstool/default.nix4
-rw-r--r--pkgs/development/tools/misc/kibana/5.x.nix6
-rw-r--r--pkgs/development/tools/misc/kibana/6.x.nix4
-rw-r--r--pkgs/development/tools/misc/libtool/libtool2.nix1
-rw-r--r--pkgs/development/tools/misc/lsof/darwin-dfile.patch12
-rw-r--r--pkgs/development/tools/misc/lsof/default.nix15
-rw-r--r--pkgs/development/tools/misc/lsof/dfile.patch18
-rw-r--r--pkgs/development/tools/misc/ltrace/default.nix12
-rw-r--r--pkgs/development/tools/misc/lttng-tools/default.nix6
-rw-r--r--pkgs/development/tools/misc/lttng-ust/default.nix2
-rw-r--r--pkgs/development/tools/misc/lttv/default.nix4
-rw-r--r--pkgs/development/tools/misc/luarocks/default.nix8
-rw-r--r--pkgs/development/tools/misc/opengrok/default.nix6
-rw-r--r--pkgs/development/tools/misc/pkgconfig/default.nix2
-rw-r--r--pkgs/development/tools/misc/pwndbg/default.nix48
-rw-r--r--pkgs/development/tools/misc/saleae-logic/default.nix4
-rw-r--r--pkgs/development/tools/misc/strace/default.nix11
-rw-r--r--pkgs/development/tools/misc/sysbench/default.nix6
-rw-r--r--pkgs/development/tools/misc/texinfo/4.13a.nix33
-rw-r--r--pkgs/development/tools/misc/texinfo/5.2.nix56
-rw-r--r--pkgs/development/tools/misc/texinfo/6.5.nix58
-rw-r--r--pkgs/development/tools/misc/texinfo/common.nix64
-rw-r--r--pkgs/development/tools/misc/travis/Gemfile2
-rw-r--r--pkgs/development/tools/misc/travis/Gemfile.lock4
-rw-r--r--pkgs/development/tools/misc/travis/default.nix5
-rw-r--r--pkgs/development/tools/misc/travis/gemset.nix8
-rw-r--r--pkgs/development/tools/misc/travis/shell.nix11
-rw-r--r--pkgs/development/tools/misc/uhd/default.nix25
-rw-r--r--pkgs/development/tools/misc/uhd/neon.patch19
-rw-r--r--pkgs/development/tools/misc/usb-modeswitch/data.nix4
-rw-r--r--pkgs/development/tools/misc/yodl/default.nix7
-rw-r--r--pkgs/development/tools/mypy/default.nix4
-rw-r--r--pkgs/development/tools/node-webkit/nw11.nix59
-rw-r--r--pkgs/development/tools/node-webkit/nw9.nix57
-rw-r--r--pkgs/development/tools/nwjs/default.nix87
-rw-r--r--pkgs/development/tools/ocaml/findlib/default.nix27
-rw-r--r--pkgs/development/tools/ocaml/jbuilder/default.nix6
-rw-r--r--pkgs/development/tools/ocaml/js_of_ocaml/camlp4.nix4
-rw-r--r--pkgs/development/tools/ocaml/js_of_ocaml/compiler.nix4
-rw-r--r--pkgs/development/tools/ocaml/js_of_ocaml/lwt.nix16
-rw-r--r--pkgs/development/tools/ocaml/js_of_ocaml/ppx_deriving_json.nix15
-rw-r--r--pkgs/development/tools/ocaml/js_of_ocaml/tyxml.nix16
-rw-r--r--pkgs/development/tools/ocaml/ocamlbuild/default.nix4
-rw-r--r--pkgs/development/tools/ocaml/ocamlify/default.nix13
-rw-r--r--pkgs/development/tools/ocaml/opam/default.nix4
-rw-r--r--pkgs/development/tools/parsing/antlr/2.7.7.nix2
-rw-r--r--pkgs/development/tools/parsing/antlr/4.7.nix4
-rw-r--r--pkgs/development/tools/parsing/bison/3.x.nix3
-rw-r--r--pkgs/development/tools/parsing/byacc/default.nix4
-rw-r--r--pkgs/development/tools/parsing/jshon/default.nix4
-rw-r--r--pkgs/development/tools/parsing/peg/default.nix9
-rw-r--r--pkgs/development/tools/parsing/ragel/default.nix2
-rw-r--r--pkgs/development/tools/parsing/re2c/default.nix4
-rw-r--r--pkgs/development/tools/pew/default.nix2
-rw-r--r--pkgs/development/tools/phantomjs/default.nix1
-rw-r--r--pkgs/development/tools/pipenv/default.nix4
-rw-r--r--pkgs/development/tools/qtcreator/default.nix (renamed from pkgs/development/qtcreator/default.nix)0
-rw-r--r--pkgs/development/tools/react-native-debugger/default.nix83
-rw-r--r--pkgs/development/tools/remarshal/default.nix16
-rw-r--r--pkgs/development/tools/rubocop/Gemfile.lock24
-rw-r--r--pkgs/development/tools/rubocop/gemset.nix41
-rw-r--r--pkgs/development/tools/rust/bindgen/default.nix14
-rw-r--r--pkgs/development/tools/rust/cargo-fuzz/default.nix35
-rw-r--r--pkgs/development/tools/sassc/default.nix4
-rw-r--r--pkgs/development/tools/sauce-connect/default.nix8
-rw-r--r--pkgs/development/tools/selenium/chromedriver/default.nix6
-rw-r--r--pkgs/development/tools/setupcfg2nix/default.nix19
-rw-r--r--pkgs/development/tools/setupcfg2nix/info.nix7
-rw-r--r--pkgs/development/tools/sigrok-cli/default.nix4
-rw-r--r--pkgs/development/tools/skopeo/default.nix25
-rw-r--r--pkgs/development/tools/slimerjs/default.nix4
-rw-r--r--pkgs/development/tools/spirv-tools/default.nix13
-rw-r--r--pkgs/development/tools/sqsh/default.nix6
-rw-r--r--pkgs/development/tools/sunxi-tools/default.nix21
-rw-r--r--pkgs/development/tools/textql/default.nix18
-rw-r--r--pkgs/development/tools/toxiproxy/default.nix26
-rw-r--r--pkgs/development/tools/tradcpp/default.nix6
-rw-r--r--pkgs/development/tools/vagrant/Gemfile2
-rw-r--r--pkgs/development/tools/vagrant/Gemfile.lock73
-rw-r--r--pkgs/development/tools/vagrant/default.nix25
-rw-r--r--pkgs/development/tools/vagrant/gemset.nix175
-rw-r--r--pkgs/development/tools/valadoc/default.nix19
-rw-r--r--pkgs/development/tools/vcstool/default.nix4
-rw-r--r--pkgs/development/tools/wllvm/default.nix4
-rw-r--r--pkgs/development/tools/wp-cli/default.nix4
-rw-r--r--pkgs/development/tools/xcbuild/platform.nix21
-rw-r--r--pkgs/development/tools/xcbuild/setup-hook.sh2
-rw-r--r--pkgs/development/tools/xcbuild/wrapper.nix3
-rw-r--r--pkgs/development/tools/yarn/default.nix4
-rwxr-xr-xpkgs/development/tools/yarn2nix/bin/yarn2nix.js144
-rw-r--r--pkgs/development/tools/yarn2nix/default.nix199
-rw-r--r--pkgs/development/tools/yarn2nix/fixup_bin.js45
-rw-r--r--pkgs/development/tools/yarn2nix/package.json19
-rw-r--r--pkgs/development/tools/yarn2nix/yarn.lock11
-rw-r--r--pkgs/development/tools/yarn2nix/yarn.nix23
-rw-r--r--pkgs/development/tools/yq/default.nix12
-rw-r--r--pkgs/development/web/grails/default.nix4
-rw-r--r--pkgs/development/web/insomnia/default.nix21
-rw-r--r--pkgs/development/web/kore/default.nix4
-rw-r--r--pkgs/development/web/nodejs/no-xcodebuild.patch13
-rw-r--r--pkgs/development/web/nodejs/nodejs-release-keys.asc776
-rw-r--r--pkgs/development/web/nodejs/nodejs.nix13
-rwxr-xr-xpkgs/development/web/nodejs/update-keyring18
-rw-r--r--pkgs/development/web/nodejs/update.nix27
-rw-r--r--pkgs/development/web/nodejs/v10.nix11
-rw-r--r--pkgs/development/web/nodejs/v6.nix6
-rw-r--r--pkgs/development/web/nodejs/v8.nix6
-rw-r--r--pkgs/development/web/nodejs/v9.nix4
-rw-r--r--pkgs/development/web/postman/default.nix43
-rw-r--r--pkgs/development/web/remarkjs/generate.sh2
-rw-r--r--pkgs/development/web/remarkjs/node-packages.nix4435
-rw-r--r--pkgs/development/web/remarkjs/nodepkgs.nix5
-rw-r--r--pkgs/development/web/valum/default.nix4
-rw-r--r--pkgs/development/web/woff2/default.nix2
-rw-r--r--pkgs/games/adom/default.nix3
-rw-r--r--pkgs/games/anki/default.nix4
-rw-r--r--pkgs/games/asc/default.nix8
-rw-r--r--pkgs/games/assaultcube/default.nix2
-rw-r--r--pkgs/games/ball-and-paddle/default.nix3
-rw-r--r--pkgs/games/bzflag/default.nix4
-rw-r--r--pkgs/games/cataclysm-dda/default.nix4
-rw-r--r--pkgs/games/cataclysm-dda/git.nix2
-rw-r--r--pkgs/games/chessx/default.nix4
-rw-r--r--pkgs/games/commandergenius/default.nix15
-rw-r--r--pkgs/games/dwarf-fortress/default.nix6
-rw-r--r--pkgs/games/dwarf-fortress/dfhack/default.nix8
-rw-r--r--pkgs/games/dwarf-fortress/dwarf-therapist/default.nix6
-rw-r--r--pkgs/games/dwarf-fortress/game.nix80
-rw-r--r--pkgs/games/dwarf-fortress/soundsense.nix2
-rw-r--r--pkgs/games/dwarf-fortress/themes/cla.nix2
-rw-r--r--pkgs/games/dwarf-fortress/themes/phoebus.nix6
-rw-r--r--pkgs/games/dwarf-fortress/unfuck.nix2
-rw-r--r--pkgs/games/dwarf-fortress/wrapper/default.nix2
-rw-r--r--pkgs/games/dwarf-fortress/wrapper/dwarf-fortress-init.in1
-rw-r--r--pkgs/games/dwarf-fortress/wrapper/dwarf-fortress.in5
-rw-r--r--pkgs/games/dxx-rebirth/assets.nix2
-rw-r--r--pkgs/games/dxx-rebirth/default.nix32
-rw-r--r--pkgs/games/dxx-rebirth/full.nix2
-rw-r--r--pkgs/games/empty-epsilon/default.nix58
-rw-r--r--pkgs/games/enyo-doom/default.nix27
-rw-r--r--pkgs/games/extremetuxracer/default.nix4
-rw-r--r--pkgs/games/factorio/default.nix12
-rw-r--r--pkgs/games/freecell-solver/default.nix4
-rw-r--r--pkgs/games/freeciv/default.nix4
-rw-r--r--pkgs/games/freeorion/default.nix11
-rw-r--r--pkgs/games/gargoyle/darwin.patch141
-rw-r--r--pkgs/games/gargoyle/default.nix5
-rw-r--r--pkgs/games/gcompris/default.nix37
-rw-r--r--pkgs/games/gnubg/default.nix4
-rw-r--r--pkgs/games/gnushogi/default.nix20
-rw-r--r--pkgs/games/gzdoom/default.nix4
-rw-r--r--pkgs/games/instead/default.nix4
-rw-r--r--pkgs/games/lbreakout2/default.nix6
-rw-r--r--pkgs/games/mar1d/default.nix1
-rw-r--r--pkgs/games/openarena/default.nix4
-rw-r--r--pkgs/games/openclonk/default.nix32
-rw-r--r--pkgs/games/openmw/default.nix2
-rw-r--r--pkgs/games/openra/default.nix4
-rw-r--r--pkgs/games/openrct2/default.nix8
-rw-r--r--pkgs/games/openttd/default.nix4
-rw-r--r--pkgs/games/pingus/default.nix11
-rw-r--r--pkgs/games/quake2/yquake2/default.nix93
-rw-r--r--pkgs/games/quake2/yquake2/games.nix59
-rw-r--r--pkgs/games/quake2/yquake2/wrapper.nix31
-rw-r--r--pkgs/games/quakespasm/default.nix14
-rw-r--r--pkgs/games/quakespasm/vulkan.nix8
-rw-r--r--pkgs/games/rocksndiamonds/default.nix4
-rw-r--r--pkgs/games/sdlmame/default.nix4
-rw-r--r--pkgs/games/sgt-puzzles/default.nix4
-rw-r--r--pkgs/games/steam/chrootenv.nix148
-rw-r--r--pkgs/games/steam/default.nix1
-rw-r--r--pkgs/games/steam/runtime-wrapped.nix93
-rw-r--r--pkgs/games/terraria-server/default.nix7
-rw-r--r--pkgs/games/the-powder-toy/default.nix2
-rw-r--r--pkgs/games/tibia/default.nix1
-rw-r--r--pkgs/games/tome4/default.nix5
-rw-r--r--pkgs/games/trackballs/default.nix4
-rw-r--r--pkgs/games/tuxpaint/default.nix46
-rw-r--r--pkgs/games/tuxpaint/tuxpaint-completion.diff16
-rw-r--r--pkgs/games/ue4demos/default.nix6
-rw-r--r--pkgs/games/vassal/default.nix4
-rw-r--r--pkgs/games/warsow/default.nix67
-rw-r--r--pkgs/games/warsow/engine.nix52
-rw-r--r--pkgs/games/warsow/libpath.patch28
-rw-r--r--pkgs/games/wesnoth/default.nix27
-rw-r--r--pkgs/games/wesnoth/dev.nix41
-rw-r--r--pkgs/games/widelands/default.nix9
-rw-r--r--pkgs/games/xskat/default.nix2
-rw-r--r--pkgs/games/xsok/default.nix3
-rw-r--r--pkgs/games/zandronum/default.nix26
-rw-r--r--pkgs/games/zandronum/fmod.nix59
-rw-r--r--pkgs/misc/apulse/default.nix16
-rw-r--r--pkgs/misc/apulse/pressureaudio.nix10
-rw-r--r--pkgs/misc/arm-trusted-firmware/default.nix85
-rw-r--r--pkgs/misc/base16-builder/node-packages.nix4
-rw-r--r--pkgs/misc/calaos/installer/default.nix31
-rw-r--r--pkgs/misc/cups/cups-clean-dirty.patch13
-rw-r--r--pkgs/misc/cups/default.nix6
-rw-r--r--pkgs/misc/cups/drivers/brlaser/default.nix42
-rw-r--r--pkgs/misc/cups/drivers/hl1110/default.nix73
-rw-r--r--pkgs/misc/cups/drivers/hll2390dw-cups/default.nix71
-rw-r--r--pkgs/misc/cups/drivers/kyodialog3/default.nix61
-rw-r--r--pkgs/misc/cups/filters.nix6
-rw-r--r--pkgs/misc/documentation-highlighter/LICENSE24
-rw-r--r--pkgs/misc/documentation-highlighter/README.md152
-rw-r--r--pkgs/misc/documentation-highlighter/default.nix12
-rw-r--r--pkgs/misc/documentation-highlighter/highlight.pack.js2
-rw-r--r--pkgs/misc/documentation-highlighter/loader.js7
-rw-r--r--pkgs/misc/documentation-highlighter/mono-blue.css59
-rwxr-xr-xpkgs/misc/documentation-highlighter/update.sh42
-rw-r--r--pkgs/misc/drivers/gutenprint/bin.nix8
-rw-r--r--pkgs/misc/drivers/gutenprint/default.nix4
-rw-r--r--pkgs/misc/drivers/hplip/default.nix14
-rw-r--r--pkgs/misc/drivers/sc-controller/default.nix4
-rw-r--r--pkgs/misc/emulators/caprice32/default.nix2
-rw-r--r--pkgs/misc/emulators/citra/default.nix2
-rw-r--r--pkgs/misc/emulators/dolphin-emu/master.nix10
-rw-r--r--pkgs/misc/emulators/emulationstation/default.nix2
-rw-r--r--pkgs/misc/emulators/epsxe/default.nix2
-rw-r--r--pkgs/misc/emulators/fs-uae/default.nix6
-rw-r--r--pkgs/misc/emulators/kega-fusion/default.nix78
-rw-r--r--pkgs/misc/emulators/pcsx2/default.nix2
-rw-r--r--pkgs/misc/emulators/pcsxr/default.nix2
-rw-r--r--pkgs/misc/emulators/qmc2/default.nix40
-rw-r--r--pkgs/misc/emulators/retroarch/default.nix36
-rw-r--r--pkgs/misc/emulators/retroarch/wrapper.nix4
-rw-r--r--pkgs/misc/emulators/wine/base.nix16
-rw-r--r--pkgs/misc/emulators/wine/builder-wow.sh2
-rw-r--r--pkgs/misc/emulators/wine/default.nix17
-rw-r--r--pkgs/misc/emulators/wine/sources.nix9
-rw-r--r--pkgs/misc/emulators/wine/winetricks.nix2
-rw-r--r--pkgs/misc/foldingathome/default.nix5
-rw-r--r--pkgs/misc/frescobaldi/default.nix25
-rw-r--r--pkgs/misc/frescobaldi/python-path.patch11
-rw-r--r--pkgs/misc/frescobaldi/setup.cfg.patch13
-rw-r--r--pkgs/misc/jackaudio/clang.patch22
-rw-r--r--pkgs/misc/jackaudio/default.nix2
-rw-r--r--pkgs/misc/jackaudio/jack1.nix4
-rw-r--r--pkgs/misc/libcardiacarrest/default.nix48
-rw-r--r--pkgs/misc/logging/beats/5.x.nix2
-rw-r--r--pkgs/misc/logging/beats/6.x.nix2
-rw-r--r--pkgs/misc/riscv-pk/default.nix1
-rw-r--r--pkgs/misc/screensavers/i3lock-pixeled/default.nix4
-rw-r--r--pkgs/misc/screensavers/light-locker/default.nix9
-rw-r--r--pkgs/misc/screensavers/light-locker/systemd.patch13
-rw-r--r--pkgs/misc/screensavers/pipes/default.nix2
-rw-r--r--pkgs/misc/screensavers/slock/default.nix6
-rw-r--r--pkgs/misc/screensavers/xscreensaver/default.nix4
-rw-r--r--pkgs/misc/seafile-shared/default.nix2
-rw-r--r--pkgs/misc/source-and-tags/default.nix6
-rw-r--r--pkgs/misc/stabber/default.nix31
-rw-r--r--pkgs/misc/themes/adapta/default.nix4
-rw-r--r--pkgs/misc/themes/greybird/default.nix4
-rw-r--r--pkgs/misc/themes/jade1/default.nix28
-rw-r--r--pkgs/misc/themes/materia-theme/default.nix20
-rw-r--r--pkgs/misc/themes/numix-solarized/default.nix (renamed from pkgs/misc/themes/gtk3/numix-solarized-gtk-theme/default.nix)30
-rw-r--r--pkgs/misc/themes/obsidian2/default.nix28
-rw-r--r--pkgs/misc/themes/onestepback/default.nix25
-rw-r--r--pkgs/misc/themes/plano/default.nix4
-rw-r--r--pkgs/misc/themes/zuki/default.nix4
-rw-r--r--pkgs/misc/tmux-plugins/default.nix224
-rw-r--r--pkgs/misc/uboot/rock64.nix37
-rw-r--r--pkgs/misc/vim-plugins/default.nix2535
-rw-r--r--pkgs/misc/vim-plugins/vim-plugin-names210
-rw-r--r--pkgs/misc/vim-plugins/vim-utils.nix2
-rw-r--r--pkgs/misc/vim-plugins/vim2nix/additional-nix-code/cpsm1
-rw-r--r--pkgs/misc/vim-plugins/vim2nix/additional-nix-code/matchit.zip7
-rw-r--r--pkgs/misc/vscode-extensions/cpptools/default.nix49
-rwxr-xr-xpkgs/misc/vscode-extensions/cpptools/missing_elf_deps.sh52
-rw-r--r--pkgs/misc/vscode-extensions/cpptools/package-activation-events-0-16-1.json22
-rwxr-xr-xpkgs/misc/vscode-extensions/cpptools/update_helper.sh168
-rw-r--r--pkgs/misc/vscode-extensions/cpptools/vscode-cpptools-0-12-3-package-json.patch82
-rw-r--r--pkgs/misc/vscode-extensions/python/default.nix4
-rw-r--r--pkgs/misc/vscode-extensions/vscode-utils.nix2
-rw-r--r--pkgs/os-specific/bsd/default.nix5
-rw-r--r--pkgs/os-specific/bsd/netbsd/compat-setup-hook.sh6
-rw-r--r--pkgs/os-specific/bsd/netbsd/default.nix595
-rw-r--r--pkgs/os-specific/bsd/netbsd/fts-setup-hook.sh4
-rw-r--r--pkgs/os-specific/bsd/netbsd/getent.patch455
-rw-r--r--pkgs/os-specific/darwin/CoreSymbolication/default.nix19
-rw-r--r--pkgs/os-specific/darwin/apple-sdk/default.nix7
-rw-r--r--pkgs/os-specific/darwin/apple-sdk/frameworks.nix5
-rw-r--r--pkgs/os-specific/darwin/apple-sdk/private-frameworks-setup-hook.sh8
-rw-r--r--pkgs/os-specific/darwin/apple-source-releases/CarbonHeaders/default.nix2
-rw-r--r--pkgs/os-specific/darwin/apple-source-releases/CommonCrypto/default.nix2
-rw-r--r--pkgs/os-specific/darwin/apple-source-releases/ICU/default.nix1
-rw-r--r--pkgs/os-specific/darwin/apple-source-releases/Libc/825_40_1.nix2
-rw-r--r--pkgs/os-specific/darwin/apple-source-releases/Libc/default.nix2
-rw-r--r--pkgs/os-specific/darwin/apple-source-releases/Libinfo/default.nix2
-rw-r--r--pkgs/os-specific/darwin/apple-source-releases/Libm/default.nix4
-rw-r--r--pkgs/os-specific/darwin/apple-source-releases/Libnotify/default.nix2
-rw-r--r--pkgs/os-specific/darwin/apple-source-releases/Librpcsvc/default.nix2
-rw-r--r--pkgs/os-specific/darwin/apple-source-releases/Libsystem/default.nix1
-rw-r--r--pkgs/os-specific/darwin/apple-source-releases/SmartCardServices/default.nix41
-rw-r--r--pkgs/os-specific/darwin/apple-source-releases/adv_cmds/xcode.nix4
-rw-r--r--pkgs/os-specific/darwin/apple-source-releases/architecture/default.nix14
-rw-r--r--pkgs/os-specific/darwin/apple-source-releases/basic_cmds/default.nix2
-rw-r--r--pkgs/os-specific/darwin/apple-source-releases/copyfile/default.nix5
-rw-r--r--pkgs/os-specific/darwin/apple-source-releases/default.nix15
-rw-r--r--pkgs/os-specific/darwin/apple-source-releases/developer_cmds/default.nix2
-rw-r--r--pkgs/os-specific/darwin/apple-source-releases/diskdev_cmds/default.nix32
-rw-r--r--pkgs/os-specific/darwin/apple-source-releases/dtrace/xcode.nix45
-rw-r--r--pkgs/os-specific/darwin/apple-source-releases/dyld/default.nix2
-rw-r--r--pkgs/os-specific/darwin/apple-source-releases/eap8021x/default.nix5
-rw-r--r--pkgs/os-specific/darwin/apple-source-releases/file_cmds/default.nix2
-rw-r--r--pkgs/os-specific/darwin/apple-source-releases/launchd/default.nix4
-rw-r--r--pkgs/os-specific/darwin/apple-source-releases/libclosure/default.nix4
-rw-r--r--pkgs/os-specific/darwin/apple-source-releases/libdispatch/default.nix4
-rw-r--r--pkgs/os-specific/darwin/apple-source-releases/libiconv/default.nix10
-rw-r--r--pkgs/os-specific/darwin/apple-source-releases/libplatform/default.nix2
-rw-r--r--pkgs/os-specific/darwin/apple-source-releases/libpthread/default.nix2
-rw-r--r--pkgs/os-specific/darwin/apple-source-releases/libresolv/default.nix2
-rw-r--r--pkgs/os-specific/darwin/apple-source-releases/libsecurity_apple_x509_tp/GNUmakefile1
-rw-r--r--pkgs/os-specific/darwin/apple-source-releases/libsecurity_codesigning/default.nix38
-rw-r--r--pkgs/os-specific/darwin/apple-source-releases/libsecurity_utilities/default.nix3
-rw-r--r--pkgs/os-specific/darwin/apple-source-releases/libutil/default.nix2
-rw-r--r--pkgs/os-specific/darwin/apple-source-releases/libutil/new.nix10
-rw-r--r--pkgs/os-specific/darwin/apple-source-releases/network_cmds/default.nix8
-rw-r--r--pkgs/os-specific/darwin/apple-source-releases/ppp/default.nix3
-rw-r--r--pkgs/os-specific/darwin/apple-source-releases/removefile/default.nix4
-rw-r--r--pkgs/os-specific/darwin/apple-source-releases/security_systemkeychain/default.nix31
-rw-r--r--pkgs/os-specific/darwin/apple-source-releases/shell_cmds/default.nix6
-rw-r--r--pkgs/os-specific/darwin/apple-source-releases/system_cmds/default.nix117
-rw-r--r--pkgs/os-specific/darwin/apple-source-releases/text_cmds/default.nix25
-rw-r--r--pkgs/os-specific/darwin/apple-source-releases/top/default.nix15
-rw-r--r--pkgs/os-specific/darwin/binutils/default.nix14
-rw-r--r--pkgs/os-specific/darwin/cctools/ld-tbd-v2.patch98
-rw-r--r--pkgs/os-specific/darwin/cctools/port.nix37
-rw-r--r--pkgs/os-specific/darwin/cctools/support-ios.patch13
-rw-r--r--pkgs/os-specific/darwin/cctools/undo-unknown-triple.patch17
-rw-r--r--pkgs/os-specific/darwin/darling/default.nix39
-rw-r--r--pkgs/os-specific/darwin/ios-cross/default.nix61
-rw-r--r--pkgs/os-specific/darwin/ios-sdk-pkgs/default.nix68
-rw-r--r--pkgs/os-specific/darwin/maloader/default.nix1
-rw-r--r--pkgs/os-specific/darwin/native-x11-and-opengl/default.nix2
-rw-r--r--pkgs/os-specific/darwin/opencflite/default.nix2
-rw-r--r--pkgs/os-specific/darwin/osx-private-sdk/default.nix2
-rw-r--r--pkgs/os-specific/darwin/skhd/default.nix31
-rw-r--r--pkgs/os-specific/darwin/skhd/org.nixos.skhd.plist23
-rw-r--r--pkgs/os-specific/darwin/swift-corelibs/corefoundation.nix (renamed from pkgs/os-specific/darwin/swift-corefoundation/default.nix)0
-rw-r--r--pkgs/os-specific/darwin/swift-corelibs/default.nix8
-rw-r--r--pkgs/os-specific/darwin/swift-corelibs/libdispatch.nix12
-rw-r--r--pkgs/os-specific/darwin/xcode/default.nix1
-rw-r--r--pkgs/os-specific/gnu/mig/default.nix2
-rw-r--r--pkgs/os-specific/linux/acpid/default.nix16
-rw-r--r--pkgs/os-specific/linux/alsa-lib/default.nix4
-rw-r--r--pkgs/os-specific/linux/alsa-oss/default.nix4
-rw-r--r--pkgs/os-specific/linux/alsa-plugins/default.nix4
-rw-r--r--pkgs/os-specific/linux/alsa-tools/default.nix4
-rw-r--r--pkgs/os-specific/linux/alsa-utils/default.nix4
-rw-r--r--pkgs/os-specific/linux/amdgpu-pro/default.nix51
-rw-r--r--pkgs/os-specific/linux/amdgpu-pro/patches/0001-disable-firmware-copy.patch25
-rw-r--r--pkgs/os-specific/linux/amdgpu-pro/patches/0001-fix-warnings-for-Werror.patch71
-rw-r--r--pkgs/os-specific/linux/amdgpu-pro/patches/0002-fix-sketchy-int-ptr-warning.patch25
-rw-r--r--pkgs/os-specific/linux/amdgpu-pro/patches/0002-linux-4.9-fixes.patch50
-rw-r--r--pkgs/os-specific/linux/amdgpu-pro/patches/0003-Change-seq_printf-format-for-64-bit-context.patch25
-rw-r--r--pkgs/os-specific/linux/amdgpu-pro/patches/0003-disable-firmware-copy.patch25
-rw-r--r--pkgs/os-specific/linux/amdgpu-pro/patches/0004-fix-warnings-for-Werror.patch46
-rw-r--r--pkgs/os-specific/linux/amdgpu-pro/xreallocarray.c5
-rw-r--r--pkgs/os-specific/linux/apparmor/default.nix39
-rw-r--r--pkgs/os-specific/linux/audit/default.nix4
-rw-r--r--pkgs/os-specific/linux/autofs/default.nix12
-rw-r--r--pkgs/os-specific/linux/batman-adv/alfred.nix4
-rw-r--r--pkgs/os-specific/linux/batman-adv/batctl.nix4
-rw-r--r--pkgs/os-specific/linux/bbswitch/default.nix2
-rw-r--r--pkgs/os-specific/linux/beegfs/default.nix4
-rw-r--r--pkgs/os-specific/linux/beegfs/kernel-module.nix5
-rw-r--r--pkgs/os-specific/linux/blcr/default.nix1
-rw-r--r--pkgs/os-specific/linux/bluez/bluez5_28.nix82
-rw-r--r--pkgs/os-specific/linux/bluez/default.nix43
-rw-r--r--pkgs/os-specific/linux/busybox/default.nix8
-rw-r--r--pkgs/os-specific/linux/checkpolicy/default.nix13
-rw-r--r--pkgs/os-specific/linux/checksec/default.nix4
-rw-r--r--pkgs/os-specific/linux/cifs-utils/default.nix4
-rw-r--r--pkgs/os-specific/linux/compsize/default.nix30
-rw-r--r--pkgs/os-specific/linux/conky/default.nix4
-rw-r--r--pkgs/os-specific/linux/cpufrequtils/default.nix2
-rw-r--r--pkgs/os-specific/linux/criu/default.nix4
-rw-r--r--pkgs/os-specific/linux/dbus-broker/default.nix21
-rw-r--r--pkgs/os-specific/linux/drbd/default.nix2
-rw-r--r--pkgs/os-specific/linux/ena/default.nix4
-rw-r--r--pkgs/os-specific/linux/exfat/default.nix6
-rw-r--r--pkgs/os-specific/linux/fatrace/default.nix4
-rw-r--r--pkgs/os-specific/linux/firmware/firmware-linux-nonfree/default.nix50
-rw-r--r--pkgs/os-specific/linux/firmware/raspberrypi/default.nix21
-rw-r--r--pkgs/os-specific/linux/firmware/raspberrypi/tools-dont-install-sysv-init-scripts.patch20
-rw-r--r--pkgs/os-specific/linux/firmware/raspberrypi/tools.nix31
-rw-r--r--pkgs/os-specific/linux/fuse/common.nix21
-rw-r--r--pkgs/os-specific/linux/fuse/default.nix7
-rw-r--r--pkgs/os-specific/linux/fuse/fuse3-install.patch12
-rw-r--r--pkgs/os-specific/linux/fwts/default.nix4
-rw-r--r--pkgs/os-specific/linux/gogoclient/default.nix4
-rw-r--r--pkgs/os-specific/linux/google-authenticator/default.nix4
-rw-r--r--pkgs/os-specific/linux/gpu-switch/default.nix23
-rw-r--r--pkgs/os-specific/linux/hdparm/default.nix4
-rw-r--r--pkgs/os-specific/linux/hwdata/default.nix8
-rw-r--r--pkgs/os-specific/linux/i2c-tools/default.nix6
-rw-r--r--pkgs/os-specific/linux/input-utils/default.nix30
-rw-r--r--pkgs/os-specific/linux/iproute/default.nix4
-rw-r--r--pkgs/os-specific/linux/ipset/default.nix4
-rw-r--r--pkgs/os-specific/linux/iputils/default.nix18
-rw-r--r--pkgs/os-specific/linux/iwd/default.nix16
-rw-r--r--pkgs/os-specific/linux/ixgbevf/default.nix4
-rw-r--r--pkgs/os-specific/linux/jfbview/default.nix4
-rw-r--r--pkgs/os-specific/linux/kernel-headers/default.nix8
-rw-r--r--pkgs/os-specific/linux/kernel/common-config.nix63
-rw-r--r--pkgs/os-specific/linux/kernel/generic.nix30
-rw-r--r--pkgs/os-specific/linux/kernel/hardened-config.nix3
-rw-r--r--pkgs/os-specific/linux/kernel/linux-4.14.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-4.16.nix (renamed from pkgs/os-specific/linux/kernel/linux-4.15.nix)4
-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-copperhead-lts.nix30
-rw-r--r--pkgs/os-specific/linux/kernel/linux-copperhead-stable.nix (renamed from pkgs/os-specific/linux/kernel/linux-copperhead-hardened.nix)4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-mptcp.nix3
-rw-r--r--pkgs/os-specific/linux/kernel/linux-riscv.nix8
-rw-r--r--pkgs/os-specific/linux/kernel/linux-testing-bcachefs.nix8
-rw-r--r--pkgs/os-specific/linux/kernel/linux-testing.nix8
-rw-r--r--pkgs/os-specific/linux/kernel/manual-config.nix2
-rw-r--r--pkgs/os-specific/linux/kernel/mips-ext3-n32.patch17
-rw-r--r--pkgs/os-specific/linux/kernel/mips-fpu-sigill.patch507
-rw-r--r--pkgs/os-specific/linux/kernel/mips-fpureg-emulation.patch144
-rw-r--r--pkgs/os-specific/linux/kernel/patches.nix46
-rw-r--r--pkgs/os-specific/linux/kernel/perf.nix27
-rw-r--r--pkgs/os-specific/linux/kexectools/default.nix5
-rw-r--r--pkgs/os-specific/linux/kmod/aggregator.nix6
-rw-r--r--pkgs/os-specific/linux/kmscube/default.nix4
-rw-r--r--pkgs/os-specific/linux/libaio/default.nix7
-rw-r--r--pkgs/os-specific/linux/libcap-ng/default.nix4
-rw-r--r--pkgs/os-specific/linux/libcap/default.nix8
-rw-r--r--pkgs/os-specific/linux/libnl/default.nix2
-rw-r--r--pkgs/os-specific/linux/libselinux/default.nix40
-rw-r--r--pkgs/os-specific/linux/libsemanage/default.nix22
-rw-r--r--pkgs/os-specific/linux/libsepol/default.nix10
-rw-r--r--pkgs/os-specific/linux/libsmbios/default.nix6
-rw-r--r--pkgs/os-specific/linux/lsscsi/default.nix2
-rw-r--r--pkgs/os-specific/linux/lttng-modules/default.nix4
-rw-r--r--pkgs/os-specific/linux/lvm2/default.nix2
-rw-r--r--pkgs/os-specific/linux/lxc/default.nix22
-rw-r--r--pkgs/os-specific/linux/lxcfs/default.nix8
-rw-r--r--pkgs/os-specific/linux/mcelog/default.nix4
-rw-r--r--pkgs/os-specific/linux/mdadm/default.nix17
-rw-r--r--pkgs/os-specific/linux/microcode/intel.nix6
-rw-r--r--pkgs/os-specific/linux/mmc-utils/default.nix2
-rw-r--r--pkgs/os-specific/linux/musl/default.nix60
-rw-r--r--pkgs/os-specific/linux/musl/fts-setup-hook.sh4
-rw-r--r--pkgs/os-specific/linux/musl/fts.nix5
-rw-r--r--pkgs/os-specific/linux/mwprocapture/default.nix3
-rw-r--r--pkgs/os-specific/linux/net-tools/default.nix2
-rw-r--r--pkgs/os-specific/linux/nfs-utils/default.nix14
-rw-r--r--pkgs/os-specific/linux/nftables/default.nix5
-rw-r--r--pkgs/os-specific/linux/nmon/default.nix27
-rwxr-xr-xpkgs/os-specific/linux/nvidia-x11/builder-legacy173.sh99
-rw-r--r--pkgs/os-specific/linux/nvidia-x11/default.nix19
-rw-r--r--pkgs/os-specific/linux/nvidia-x11/fix_missing_symbol.patch19
-rw-r--r--pkgs/os-specific/linux/nvidia-x11/generic.nix5
-rw-r--r--pkgs/os-specific/linux/nvidia-x11/legacy173.nix53
-rw-r--r--pkgs/os-specific/linux/nvidia-x11/persistenced.nix2
-rw-r--r--pkgs/os-specific/linux/nvidia-x11/settings.nix6
-rw-r--r--pkgs/os-specific/linux/nvidiabl/default.nix19
-rw-r--r--pkgs/os-specific/linux/nvidiabl/linux4compat.patch22
-rw-r--r--pkgs/os-specific/linux/open-isns/default.nix4
-rw-r--r--pkgs/os-specific/linux/pam/default.nix13
-rw-r--r--pkgs/os-specific/linux/pam_krb5/default.nix4
-rw-r--r--pkgs/os-specific/linux/pam_u2f/default.nix4
-rw-r--r--pkgs/os-specific/linux/pcm/default.nix26
-rw-r--r--pkgs/os-specific/linux/pcmciautils/default.nix4
-rw-r--r--pkgs/os-specific/linux/phc-intel/default.nix7
-rw-r--r--pkgs/os-specific/linux/policycoreutils/default.nix54
-rw-r--r--pkgs/os-specific/linux/policycoreutils/fix-printf-type.patch12
-rw-r--r--pkgs/os-specific/linux/powertop/default.nix10
-rw-r--r--pkgs/os-specific/linux/procps-ng/default.nix11
-rw-r--r--pkgs/os-specific/linux/psmisc/default.nix2
-rw-r--r--pkgs/os-specific/linux/radeontop/default.nix6
-rw-r--r--pkgs/os-specific/linux/rdma-core/default.nix4
-rw-r--r--pkgs/os-specific/linux/rtkit/default.nix6
-rw-r--r--pkgs/os-specific/linux/selinux-python/default.nix49
-rw-r--r--pkgs/os-specific/linux/selinux-sandbox/default.nix61
-rw-r--r--pkgs/os-specific/linux/setools/default.nix49
-rw-r--r--pkgs/os-specific/linux/shadow/default.nix6
-rw-r--r--pkgs/os-specific/linux/sinit/default.nix4
-rw-r--r--pkgs/os-specific/linux/spl/const.patch13
-rw-r--r--pkgs/os-specific/linux/spl/default.nix16
-rw-r--r--pkgs/os-specific/linux/spl/install_prefix-0.7.8.patch174
-rw-r--r--pkgs/os-specific/linux/spl/install_prefix.patch12
-rw-r--r--pkgs/os-specific/linux/sssd/default.nix4
-rw-r--r--pkgs/os-specific/linux/sysdig/default.nix4
-rw-r--r--pkgs/os-specific/linux/sysstat/default.nix4
-rw-r--r--pkgs/os-specific/linux/systemd/cryptsetup-generator.nix13
-rw-r--r--pkgs/os-specific/linux/systemd/default.nix74
-rw-r--r--pkgs/os-specific/linux/sysvinit/default.nix4
-rw-r--r--pkgs/os-specific/linux/tbs/default.nix63
-rw-r--r--pkgs/os-specific/linux/tcp-wrappers/cdecls.patch31
-rw-r--r--pkgs/os-specific/linux/tcp-wrappers/default.nix13
-rw-r--r--pkgs/os-specific/linux/tcp-wrappers/tcp-wrappers-7.6-headers.patch295
-rw-r--r--pkgs/os-specific/linux/tmon/default.nix24
-rw-r--r--pkgs/os-specific/linux/trinity/default.nix3
-rw-r--r--pkgs/os-specific/linux/udisks/2-default.nix12
-rw-r--r--pkgs/os-specific/linux/upower/default.nix4
-rw-r--r--pkgs/os-specific/linux/util-linux/default.nix9
-rw-r--r--pkgs/os-specific/linux/v4l-utils/default.nix4
-rw-r--r--pkgs/os-specific/linux/v4l2loopback/default.nix12
-rw-r--r--pkgs/os-specific/linux/wireguard/default.nix4
-rw-r--r--pkgs/os-specific/linux/xf86-input-multitouch/default.nix2
-rw-r--r--pkgs/os-specific/linux/xf86-input-wacom/default.nix4
-rw-r--r--pkgs/os-specific/linux/zfs/default.nix46
-rw-r--r--pkgs/os-specific/windows/mingw-w64/common.nix9
-rw-r--r--pkgs/os-specific/windows/pthread-w32/default.nix2
-rw-r--r--pkgs/servers/amqp/qpid-cpp/default.nix60
-rw-r--r--pkgs/servers/amqp/rabbitmq-server/default.nix10
-rw-r--r--pkgs/servers/apcupsd/default.nix8
-rw-r--r--pkgs/servers/asterisk/default.nix22
-rw-r--r--pkgs/servers/atlassian/jira.nix4
-rw-r--r--pkgs/servers/bird/default.nix4
-rw-r--r--pkgs/servers/caddy/default.nix4
-rw-r--r--pkgs/servers/computing/slurm/default.nix4
-rw-r--r--pkgs/servers/computing/storm/default.nix7
-rw-r--r--pkgs/servers/computing/torque/default.nix3
-rw-r--r--pkgs/servers/dante/default.nix16
-rw-r--r--pkgs/servers/dict/dictd-wordnet.nix2
-rw-r--r--pkgs/servers/dns/bind/default.nix25
-rw-r--r--pkgs/servers/dns/dnsdist/default.nix34
-rw-r--r--pkgs/servers/dns/knot-dns/default.nix12
-rw-r--r--pkgs/servers/dns/knot-resolver/default.nix6
-rw-r--r--pkgs/servers/dns/pdns-recursor/default.nix4
-rw-r--r--pkgs/servers/dns/powerdns/default.nix4
-rw-r--r--pkgs/servers/emby/default.nix4
-rw-r--r--pkgs/servers/fcgiwrap/default.nix1
-rw-r--r--pkgs/servers/firebird/default.nix2
-rw-r--r--pkgs/servers/fleet/default.nix37
-rw-r--r--pkgs/servers/foundationdb/default.nix129
-rw-r--r--pkgs/servers/foundationdb/fix-scm-version.patch42
-rw-r--r--pkgs/servers/foundationdb/ldflags.patch90
-rw-r--r--pkgs/servers/freeradius/default.nix4
-rw-r--r--pkgs/servers/ftp/bftpd/default.nix38
-rw-r--r--pkgs/servers/ftp/pure-ftpd/default.nix2
-rw-r--r--pkgs/servers/gpm/default.nix4
-rw-r--r--pkgs/servers/hitch/default.nix23
-rw-r--r--pkgs/servers/home-assistant/appdaemon.nix57
-rw-r--r--pkgs/servers/home-assistant/component-packages.nix109
-rw-r--r--pkgs/servers/home-assistant/default.nix59
-rw-r--r--pkgs/servers/home-assistant/frontend.nix8
-rwxr-xr-xpkgs/servers/home-assistant/parse-requirements.py25
-rw-r--r--pkgs/servers/http/4store/default.nix3
-rw-r--r--pkgs/servers/http/apache-httpd/2.4.nix4
-rw-r--r--pkgs/servers/http/apache-modules/mod_wsgi/default.nix4
-rw-r--r--pkgs/servers/http/gatling/default.nix6
-rw-r--r--pkgs/servers/http/hiawatha/default.nix4
-rw-r--r--pkgs/servers/http/jetty/default.nix7
-rw-r--r--pkgs/servers/http/lighttpd/default.nix4
-rw-r--r--pkgs/servers/http/myserver/default.nix2
-rw-r--r--pkgs/servers/http/nginx/mainline.nix4
-rw-r--r--pkgs/servers/http/nginx/modules.nix16
-rw-r--r--pkgs/servers/http/nginx/stable.nix4
-rw-r--r--pkgs/servers/http/pshs/default.nix4
-rw-r--r--pkgs/servers/http/yaws/default.nix4
-rw-r--r--pkgs/servers/identd/oidentd/default.nix7
-rw-r--r--pkgs/servers/interlock/default.nix9
-rw-r--r--pkgs/servers/irc/ircd-hybrid/default.nix4
-rw-r--r--pkgs/servers/irc/ngircd/default.nix2
-rw-r--r--pkgs/servers/isso/default.nix54
-rw-r--r--pkgs/servers/jackett/default.nix4
-rw-r--r--pkgs/servers/jetbrains/youtrack.nix30
-rw-r--r--pkgs/servers/mail/archiveopteryx/default.nix7
-rw-r--r--pkgs/servers/mail/dovecot/default.nix4
-rw-r--r--pkgs/servers/mail/dovecot/plugins/pigeonhole/default.nix6
-rw-r--r--pkgs/servers/mail/exim/default.nix4
-rw-r--r--pkgs/servers/mail/opensmtpd/extras.nix2
-rw-r--r--pkgs/servers/mail/postfix/default.nix4
-rw-r--r--pkgs/servers/matrix-synapse/default.nix8
-rw-r--r--pkgs/servers/mattermost/default.nix6
-rw-r--r--pkgs/servers/mattermost/matterircd.nix6
-rw-r--r--pkgs/servers/memcached/default.nix4
-rw-r--r--pkgs/servers/metabase/default.nix27
-rw-r--r--pkgs/servers/minio/default.nix4
-rw-r--r--pkgs/servers/misc/client-ip-echo/client-ip-echo.nix1
-rw-r--r--pkgs/servers/misc/taskserver/default.nix2
-rw-r--r--pkgs/servers/monitoring/cadvisor/default.nix4
-rw-r--r--pkgs/servers/monitoring/facette/default.nix30
-rw-r--r--pkgs/servers/monitoring/grafana/default.nix6
-rw-r--r--pkgs/servers/monitoring/heapster/default.nix2
-rw-r--r--pkgs/servers/monitoring/munin/default.nix4
-rw-r--r--pkgs/servers/monitoring/nagios/plugins/check_ssl_cert.nix4
-rw-r--r--pkgs/servers/monitoring/net-snmp/default.nix1
-rw-r--r--pkgs/servers/monitoring/plugins/default.nix2
-rw-r--r--pkgs/servers/monitoring/prometheus/blackbox-exporter.nix4
-rw-r--r--pkgs/servers/monitoring/prometheus/default.nix80
-rw-r--r--pkgs/servers/monitoring/prometheus/dovecot-exporter-deps.nix16
-rw-r--r--pkgs/servers/monitoring/prometheus/dovecot-exporter.nix9
-rw-r--r--pkgs/servers/monitoring/prometheus/nginx-exporter.nix18
-rw-r--r--pkgs/servers/monitoring/prometheus/nginx-exporter_deps.nix98
-rw-r--r--pkgs/servers/monitoring/prometheus/node-exporter.nix4
-rw-r--r--pkgs/servers/monitoring/prometheus/postfix-exporter-deps.nix20
-rw-r--r--pkgs/servers/monitoring/prometheus/postfix-exporter.nix45
-rw-r--r--pkgs/servers/monitoring/prometheus/snmp-exporter.nix9
-rw-r--r--pkgs/servers/monitoring/prometheus/surfboard-exporter.nix23
-rw-r--r--pkgs/servers/monitoring/prometheus/varnish-exporter.nix20
-rw-r--r--pkgs/servers/monitoring/prometheus/varnish-exporter_deps.nix25
-rw-r--r--pkgs/servers/monitoring/telegraf/default.nix4
-rw-r--r--pkgs/servers/monitoring/telegraf/deps-1.6.1.nix (renamed from pkgs/servers/monitoring/telegraf/deps-1.5.1.nix)56
-rw-r--r--pkgs/servers/monitoring/uchiwa/bower-packages.nix12
-rw-r--r--pkgs/servers/monitoring/uchiwa/src.nix4
-rw-r--r--pkgs/servers/monitoring/zabbix/3.4.nix40
-rw-r--r--pkgs/servers/monitoring/zipkin/default.nix26
-rw-r--r--pkgs/servers/mpd/clientlib.nix4
-rw-r--r--pkgs/servers/mqtt/mosquitto/default.nix4
-rw-r--r--pkgs/servers/nextcloud/default.nix4
-rw-r--r--pkgs/servers/nextcloud/news-updater.nix4
-rw-r--r--pkgs/servers/nosql/apache-jena/binary.nix4
-rw-r--r--pkgs/servers/nosql/apache-jena/fuseki-binary.nix4
-rw-r--r--pkgs/servers/nosql/arangodb/default.nix4
-rw-r--r--pkgs/servers/nosql/cassandra/3.11.nix4
-rw-r--r--pkgs/servers/nosql/cassandra/generic.nix3
-rw-r--r--pkgs/servers/nosql/eventstore/default.nix4
-rw-r--r--pkgs/servers/nosql/neo4j/default.nix4
-rw-r--r--pkgs/servers/nosql/redis/default.nix4
-rw-r--r--pkgs/servers/oauth2_proxy/default.nix20
-rw-r--r--pkgs/servers/oauth2_proxy/deps.nix106
-rw-r--r--pkgs/servers/openpts/bugs.patch12
-rw-r--r--pkgs/servers/openpts/default.nix54
-rw-r--r--pkgs/servers/openpts/ptsc.patch28
-rw-r--r--pkgs/servers/openpts/tboot.patch21
-rw-r--r--pkgs/servers/openpts/zlib.patch12
-rw-r--r--pkgs/servers/osrm-backend/default.nix4
-rw-r--r--pkgs/servers/pies/default.nix2
-rw-r--r--pkgs/servers/plex/default.nix6
-rw-r--r--pkgs/servers/pulseaudio/default.nix6
-rw-r--r--pkgs/servers/radarr/default.nix4
-rw-r--r--pkgs/servers/radicale/default.nix4
-rw-r--r--pkgs/servers/sabnzbd/default.nix4
-rw-r--r--pkgs/servers/samba/4.x.nix9
-rw-r--r--pkgs/servers/samba/master.nix8
-rw-r--r--pkgs/servers/search/elasticsearch/2.x.nix9
-rw-r--r--pkgs/servers/search/elasticsearch/5.x.nix11
-rw-r--r--pkgs/servers/search/elasticsearch/6.x.nix14
-rw-r--r--pkgs/servers/search/elasticsearch/default.nix9
-rw-r--r--pkgs/servers/search/groonga/default.nix4
-rw-r--r--pkgs/servers/serviio/default.nix30
-rw-r--r--pkgs/servers/shairplay/default.nix2
-rw-r--r--pkgs/servers/shairport-sync/default.nix4
-rw-r--r--pkgs/servers/sip/freeswitch/default.nix4
-rw-r--r--pkgs/servers/smcroute/default.nix10
-rw-r--r--pkgs/servers/sonarr/default.nix4
-rw-r--r--pkgs/servers/sql/cockroachdb/default.nix7
-rw-r--r--pkgs/servers/sql/mariadb/default.nix10
-rw-r--r--pkgs/servers/sql/mariadb/include-dirs-path.patch13
-rw-r--r--pkgs/servers/sql/monetdb/default.nix26
-rw-r--r--pkgs/servers/sql/mysql/5.7.x.nix4
-rw-r--r--pkgs/servers/sql/mysql/jdbc/default.nix4
-rw-r--r--pkgs/servers/sql/oracle-xe/default.nix3
-rw-r--r--pkgs/servers/sql/percona/5.6.x.nix1
-rw-r--r--pkgs/servers/sql/pgbouncer/default.nix4
-rw-r--r--pkgs/servers/sql/postgresql/cstore_fdw/default.nix32
-rw-r--r--pkgs/servers/sql/postgresql/default.nix22
-rw-r--r--pkgs/servers/sql/postgresql/jdbc/default.nix25
-rw-r--r--pkgs/servers/sql/postgresql/pg_cron/default.nix31
-rw-r--r--pkgs/servers/sql/postgresql/pg_hll/default.nix31
-rw-r--r--pkgs/servers/sql/postgresql/pg_repack/default.nix13
-rw-r--r--pkgs/servers/sql/postgresql/pgroonga/default.nix4
-rw-r--r--pkgs/servers/sql/postgresql/timescaledb/default.nix36
-rw-r--r--pkgs/servers/sql/postgresql/topn/default.nix32
-rw-r--r--pkgs/servers/sql/postgresql/tsearch_extras/default.nix4
-rw-r--r--pkgs/servers/sql/virtuoso/7.x.nix4
-rw-r--r--pkgs/servers/squid/4.nix4
-rw-r--r--pkgs/servers/trezord/default.nix65
-rw-r--r--pkgs/servers/trezord/dynamic-link.patch18
-rw-r--r--pkgs/servers/tt-rss/default.nix6
-rw-r--r--pkgs/servers/tvheadend/default.nix4
-rw-r--r--pkgs/servers/uftp/default.nix4
-rw-r--r--pkgs/servers/unifi/default.nix82
-rw-r--r--pkgs/servers/uwsgi/default.nix4
-rw-r--r--pkgs/servers/varnish/default.nix76
-rw-r--r--pkgs/servers/varnish/digest.nix10
-rw-r--r--pkgs/servers/varnish/dynamic.nix26
-rw-r--r--pkgs/servers/varnish/geoip.nix2
-rw-r--r--pkgs/servers/varnish/modules.nix21
-rw-r--r--pkgs/servers/varnish/packages.nix22
-rw-r--r--pkgs/servers/varnish/rtstatus.nix3
-rw-r--r--pkgs/servers/web-apps/fileshelter/default.nix2
-rw-r--r--pkgs/servers/web-apps/klaus/default.nix40
-rw-r--r--pkgs/servers/web-apps/matomo/default.nix5
-rw-r--r--pkgs/servers/web-apps/selfoss/default.nix17
-rw-r--r--pkgs/servers/web-apps/shaarli/default.nix4
-rw-r--r--pkgs/servers/web-apps/shaarli/material-theme.nix8
-rw-r--r--pkgs/servers/x11/xorg/darwin/0002-sdksyms.sh-Use-CPPFLAGS-not-CFLAGS.patch41
-rw-r--r--pkgs/servers/x11/xorg/darwin/0004-Use-old-miTrapezoids-and-miTriangles-routines.patch297
-rw-r--r--pkgs/servers/x11/xorg/darwin/0006-fb-Revert-fb-changes-that-broke-XQuartz.patch243
-rw-r--r--pkgs/servers/x11/xorg/darwin/bundle_main.patch118
-rw-r--r--pkgs/servers/x11/xorg/darwin/private-extern.patch12
-rw-r--r--pkgs/servers/x11/xorg/darwin/stub.patch80
-rw-r--r--pkgs/servers/x11/xorg/default.nix45
-rwxr-xr-xpkgs/servers/x11/xorg/generate-expr-from-tarballs.pl9
-rw-r--r--pkgs/servers/x11/xorg/overrides.nix64
-rw-r--r--pkgs/servers/x11/xquartz/system-fonts.nix4
-rw-r--r--pkgs/servers/xmpp/biboumi/default.nix11
-rw-r--r--pkgs/servers/xmpp/ejabberd/default.nix7
-rw-r--r--pkgs/servers/xmpp/prosody/default.nix23
-rw-r--r--pkgs/servers/zookeeper/default.nix4
-rw-r--r--pkgs/shells/bash/4.4.nix57
-rw-r--r--pkgs/shells/bash/bash-4.4-patches.nix7
-rw-r--r--pkgs/shells/bash/bash-completion/default.nix (renamed from pkgs/shells/bash-completion/default.nix)4
-rw-r--r--pkgs/shells/bash/cygwin-bash-4.4.11-2.src.patch76
-rw-r--r--pkgs/shells/bash/nix-bash-completions/default.nix (renamed from pkgs/shells/nix-bash-completions/default.nix)4
-rw-r--r--pkgs/shells/dash/default.nix4
-rw-r--r--pkgs/shells/fish/fish-foreign-env/default.nix (renamed from pkgs/shells/fish-foreign-env/default.nix)0
-rw-r--r--pkgs/shells/fish/fish-foreign-env/suppress-harmless-warnings.patch (renamed from pkgs/shells/fish-foreign-env/suppress-harmless-warnings.patch)0
-rw-r--r--pkgs/shells/rush/default.nix4
-rw-r--r--pkgs/shells/rush/gets.patch13
-rw-r--r--pkgs/shells/rush/intprops.patch257
-rw-r--r--pkgs/shells/xonsh/default.nix6
-rw-r--r--pkgs/shells/zsh/antigen/default.nix (renamed from pkgs/shells/antigen/default.nix)0
-rw-r--r--pkgs/shells/zsh/default.nix6
-rw-r--r--pkgs/shells/zsh/grml-zsh-config/default.nix (renamed from pkgs/shells/grml-zsh-config/default.nix)8
-rw-r--r--pkgs/shells/zsh/lambda-mod-zsh-theme/default.nix (renamed from pkgs/shells/lambda-mod-zsh-theme/default.nix)0
-rw-r--r--pkgs/shells/zsh/nix-zsh-completions/default.nix (renamed from pkgs/shells/nix-zsh-completions/default.nix)4
-rw-r--r--pkgs/shells/zsh/oh-my-zsh/default.nix (renamed from pkgs/shells/oh-my-zsh/default.nix)6
-rw-r--r--pkgs/shells/zsh/zsh-autosuggestions/default.nix (renamed from pkgs/shells/zsh-autosuggestions/default.nix)0
-rw-r--r--pkgs/shells/zsh/zsh-command-time/default.nix (renamed from pkgs/shells/zsh-command-time/default.nix)0
-rw-r--r--pkgs/shells/zsh/zsh-completions/default.nix (renamed from pkgs/shells/zsh-completions/default.nix)0
-rw-r--r--pkgs/shells/zsh/zsh-deer/default.nix (renamed from pkgs/shells/zsh-deer/default.nix)0
-rw-r--r--pkgs/shells/zsh/zsh-deer/realpath.patch (renamed from pkgs/shells/zsh-deer/realpath.patch)0
-rw-r--r--pkgs/shells/zsh/zsh-git-prompt/default.nix (renamed from pkgs/shells/zsh-git-prompt/default.nix)0
-rw-r--r--pkgs/shells/zsh/zsh-powerlevel9k/default.nix (renamed from pkgs/shells/zsh-powerlevel9k/default.nix)0
-rw-r--r--pkgs/shells/zsh/zsh-prezto/default.nix (renamed from pkgs/shells/zsh-prezto/default.nix)0
-rw-r--r--pkgs/shells/zsh/zsh-syntax-highlighting/default.nix (renamed from pkgs/shells/zsh-syntax-highlighting/default.nix)0
-rw-r--r--pkgs/stdenv/adapters.nix11
-rw-r--r--pkgs/stdenv/cross/default.nix14
-rw-r--r--pkgs/stdenv/cygwin/rebase-x86_64.sh2
-rw-r--r--pkgs/stdenv/darwin/default.nix31
-rw-r--r--pkgs/stdenv/generic/check-meta.nix27
-rw-r--r--pkgs/stdenv/generic/make-derivation.nix84
-rw-r--r--pkgs/stdenv/generic/setup.sh169
-rw-r--r--pkgs/stdenv/linux/bootstrap-tools-musl/scripts/unpack-bootstrap-tools.sh2
-rw-r--r--pkgs/stdenv/linux/default.nix35
-rw-r--r--pkgs/stdenv/linux/make-bootstrap-tools.nix4
-rw-r--r--pkgs/stdenv/native/default.nix17
-rw-r--r--pkgs/test/default.nix26
-rw-r--r--pkgs/tools/X11/bumblebee/default.nix6
-rw-r--r--pkgs/tools/X11/primus/lib.nix6
-rw-r--r--pkgs/tools/X11/screen-message/default.nix6
-rw-r--r--pkgs/tools/X11/sselp/default.nix2
-rw-r--r--pkgs/tools/X11/winswitch/default.nix4
-rw-r--r--pkgs/tools/X11/xdg-user-dirs/default.nix4
-rw-r--r--pkgs/tools/X11/xdg-utils/default.nix3
-rw-r--r--pkgs/tools/X11/xidlehook/default.nix33
-rw-r--r--pkgs/tools/X11/xnee/default.nix2
-rw-r--r--pkgs/tools/X11/xpointerbarrier/default.nix4
-rw-r--r--pkgs/tools/X11/xpra/default.nix4
-rw-r--r--pkgs/tools/X11/xpra/gtk3.nix4
-rw-r--r--pkgs/tools/X11/xvkbd/default.nix6
-rw-r--r--pkgs/tools/X11/xwinmosaic/default.nix4
-rw-r--r--pkgs/tools/admin/acme.sh/default.nix28
-rw-r--r--pkgs/tools/admin/ansible/2.1.nix55
-rw-r--r--pkgs/tools/admin/ansible/2.2.nix57
-rw-r--r--pkgs/tools/admin/ansible/2.3.nix40
-rw-r--r--pkgs/tools/admin/ansible/2.4.nix40
-rw-r--r--pkgs/tools/admin/ansible/default.nix65
-rw-r--r--pkgs/tools/admin/aws-auth/default.nix31
-rw-r--r--pkgs/tools/admin/aws_shell/default.nix4
-rw-r--r--pkgs/tools/admin/awscli/default.nix54
-rw-r--r--pkgs/tools/admin/bluemix-cli/default.nix25
-rw-r--r--pkgs/tools/admin/bubblewrap/default.nix4
-rw-r--r--pkgs/tools/admin/certbot/default.nix12
-rw-r--r--pkgs/tools/admin/chkcrontab/default.nix20
-rw-r--r--pkgs/tools/admin/dehydrated/default.nix4
-rw-r--r--pkgs/tools/admin/fastlane/Gemfile.lock35
-rw-r--r--pkgs/tools/admin/fastlane/gemset.nix63
-rw-r--r--pkgs/tools/admin/google-cloud-sdk/default.nix15
-rw-r--r--pkgs/tools/admin/iamy/default.nix22
-rw-r--r--pkgs/tools/admin/lxd/default.nix38
-rw-r--r--pkgs/tools/admin/lxd/deps.nix165
-rw-r--r--pkgs/tools/admin/nxproxy/default.nix9
-rw-r--r--pkgs/tools/admin/salt/default.nix18
-rw-r--r--pkgs/tools/admin/simp_le/default.nix21
-rw-r--r--pkgs/tools/archivers/dar/default.nix7
-rw-r--r--pkgs/tools/archivers/gnutar/default.nix3
-rw-r--r--pkgs/tools/archivers/innoextract/default.nix19
-rw-r--r--pkgs/tools/archivers/unar/default.nix46
-rw-r--r--pkgs/tools/archivers/unp/default.nix39
-rw-r--r--pkgs/tools/archivers/xarchiver/default.nix10
-rw-r--r--pkgs/tools/audio/abcm2ps/default.nix4
-rw-r--r--pkgs/tools/audio/abcmidi/default.nix4
-rw-r--r--pkgs/tools/audio/aucdtect/default.nix2
-rw-r--r--pkgs/tools/audio/beets/default.nix7
-rw-r--r--pkgs/tools/audio/glyr/default.nix6
-rw-r--r--pkgs/tools/audio/playerctl/default.nix4
-rw-r--r--pkgs/tools/backup/backup/Gemfile23
-rw-r--r--pkgs/tools/backup/backup/Gemfile.lock276
-rw-r--r--pkgs/tools/backup/backup/default.nix19
-rw-r--r--pkgs/tools/backup/backup/gemset.nix778
-rw-r--r--pkgs/tools/backup/bareos/default.nix4
-rw-r--r--pkgs/tools/backup/bdsync/default.nix2
-rw-r--r--pkgs/tools/backup/borg/default.nix36
-rw-r--r--pkgs/tools/backup/btrbk/default.nix14
-rw-r--r--pkgs/tools/backup/burp/default.nix6
-rw-r--r--pkgs/tools/backup/chunksync/default.nix4
-rw-r--r--pkgs/tools/backup/diskrsync/default.nix8
-rw-r--r--pkgs/tools/backup/duplicati/default.nix37
-rw-r--r--pkgs/tools/backup/lvmsync/Gemfile2
-rw-r--r--pkgs/tools/backup/lvmsync/Gemfile.lock19
-rw-r--r--pkgs/tools/backup/lvmsync/default.nix37
-rw-r--r--pkgs/tools/backup/lvmsync/gemset.nix36
-rw-r--r--pkgs/tools/backup/mtx/default.nix2
-rw-r--r--pkgs/tools/backup/mydumper/default.nix6
-rw-r--r--pkgs/tools/backup/ori/default.nix1
-rw-r--r--pkgs/tools/backup/partclone/default.nix17
-rw-r--r--pkgs/tools/backup/restic/default.nix2
-rw-r--r--pkgs/tools/backup/restic/rest-server.nix32
-rw-r--r--pkgs/tools/backup/s3ql/default.nix4
-rw-r--r--pkgs/tools/backup/wal-g/default.nix19
-rw-r--r--pkgs/tools/backup/znapzend/default.nix4
-rw-r--r--pkgs/tools/bootloaders/refind/default.nix16
-rw-r--r--pkgs/tools/cd-dvd/bchunk/default.nix4
-rw-r--r--pkgs/tools/compression/brotli/default.nix4
-rw-r--r--pkgs/tools/compression/gzip/default.nix2
-rw-r--r--pkgs/tools/compression/lzip/default.nix6
-rw-r--r--pkgs/tools/compression/pbzx/default.nix27
-rw-r--r--pkgs/tools/compression/pigz/default.nix6
-rw-r--r--pkgs/tools/compression/xar/default.nix5
-rw-r--r--pkgs/tools/compression/xz/default.nix9
-rw-r--r--pkgs/tools/compression/zstd/default.nix9
-rw-r--r--pkgs/tools/filesystems/archivemount/default.nix4
-rw-r--r--pkgs/tools/filesystems/bcachefs-tools/Makefile.patch13
-rw-r--r--pkgs/tools/filesystems/bcachefs-tools/default.nix14
-rw-r--r--pkgs/tools/filesystems/bindfs/default.nix4
-rw-r--r--pkgs/tools/filesystems/blobfuse/default.nix23
-rw-r--r--pkgs/tools/filesystems/btrfs-progs/default.nix19
-rw-r--r--pkgs/tools/filesystems/ceph/generic.nix8
-rw-r--r--pkgs/tools/filesystems/curlftpfs/default.nix2
-rw-r--r--pkgs/tools/filesystems/darling-dmg/default.nix9
-rw-r--r--pkgs/tools/filesystems/dislocker/cmake_dirfix.patch13
-rw-r--r--pkgs/tools/filesystems/dislocker/default.nix6
-rw-r--r--pkgs/tools/filesystems/e2fsprogs/default.nix6
-rw-r--r--pkgs/tools/filesystems/encfs/default.nix4
-rw-r--r--pkgs/tools/filesystems/ext4magic/default.nix39
-rw-r--r--pkgs/tools/filesystems/extundelete/default.nix8
-rw-r--r--pkgs/tools/filesystems/f3/default.nix17
-rw-r--r--pkgs/tools/filesystems/fatsort/default.nix6
-rw-r--r--pkgs/tools/filesystems/grive/default.nix29
-rw-r--r--pkgs/tools/filesystems/irods/common.nix2
-rw-r--r--pkgs/tools/filesystems/irods/default.nix13
-rw-r--r--pkgs/tools/filesystems/irods/irods_root_path.patch64
-rw-r--r--pkgs/tools/filesystems/mergerfs/default.nix27
-rw-r--r--pkgs/tools/filesystems/mtools/default.nix2
-rw-r--r--pkgs/tools/filesystems/nilfs-utils/default.nix14
-rw-r--r--pkgs/tools/filesystems/ntfs-3g/default.nix2
-rw-r--r--pkgs/tools/filesystems/smbnetfs/default.nix10
-rw-r--r--pkgs/tools/filesystems/squashfs/0001-If-SOURCE_DATE_EPOCH-is-set-override-timestamps-with.patch90
-rw-r--r--pkgs/tools/filesystems/squashfs/0002-If-SOURCE_DATE_EPOCH-is-set-also-clamp-content-times.patch83
-rw-r--r--pkgs/tools/filesystems/squashfs/0003-remove-frag-deflator-thread.patch220
-rw-r--r--pkgs/tools/filesystems/squashfs/default.nix11
-rw-r--r--pkgs/tools/filesystems/squashfuse/default.nix33
-rw-r--r--pkgs/tools/filesystems/sshfs-fuse/default.nix4
-rw-r--r--pkgs/tools/filesystems/tmsu/default.nix2
-rw-r--r--pkgs/tools/filesystems/xfsprogs/default.nix1
-rw-r--r--pkgs/tools/filesystems/xfsprogs/glibc-2.27.patch53
-rw-r--r--pkgs/tools/filesystems/yandex-disk/default.nix5
-rw-r--r--pkgs/tools/graphics/argyllcms/default.nix4
-rw-r--r--pkgs/tools/graphics/asymptote/default.nix12
-rw-r--r--pkgs/tools/graphics/dcraw/default.nix4
-rw-r--r--pkgs/tools/graphics/editres/default.nix4
-rw-r--r--pkgs/tools/graphics/exif/default.nix4
-rw-r--r--pkgs/tools/graphics/gifsicle/default.nix4
-rw-r--r--pkgs/tools/graphics/glmark2/default.nix6
-rw-r--r--pkgs/tools/graphics/glxinfo/default.nix23
-rw-r--r--pkgs/tools/graphics/gmic/default.nix51
-rw-r--r--pkgs/tools/graphics/gnuplot/default.nix4
-rw-r--r--pkgs/tools/graphics/graphviz/base.nix10
-rw-r--r--pkgs/tools/graphics/icoutils/default.nix4
-rw-r--r--pkgs/tools/graphics/logstalgia/default.nix2
-rw-r--r--pkgs/tools/graphics/maim/default.nix13
-rw-r--r--pkgs/tools/graphics/netpbm/default.nix2
-rw-r--r--pkgs/tools/graphics/pstoedit/default.nix4
-rw-r--r--pkgs/tools/graphics/pywal/default.nix28
-rw-r--r--pkgs/tools/graphics/swfdec/default.nix38
-rw-r--r--pkgs/tools/graphics/twilight/default.nix28
-rw-r--r--pkgs/tools/graphics/vips/default.nix4
-rw-r--r--pkgs/tools/inputmethods/fcitx-engines/fcitx-libpinyin/datapath.patch16
-rw-r--r--pkgs/tools/inputmethods/fcitx-engines/fcitx-libpinyin/default.nix10
-rw-r--r--pkgs/tools/inputmethods/fcitx/fcitx-qt5.nix2
-rw-r--r--pkgs/tools/inputmethods/fcitx/unwrapped.nix2
-rw-r--r--pkgs/tools/inputmethods/ibus-engines/ibus-anthy/default.nix4
-rw-r--r--pkgs/tools/inputmethods/ibus-engines/ibus-kkc/default.nix35
-rw-r--r--pkgs/tools/inputmethods/ibus-engines/ibus-libpinyin/default.nix4
-rw-r--r--pkgs/tools/inputmethods/ibus-engines/ibus-table-others/default.nix4
-rw-r--r--pkgs/tools/inputmethods/ibus-engines/ibus-table/default.nix4
-rw-r--r--pkgs/tools/inputmethods/ibus/default.nix1
-rw-r--r--pkgs/tools/inputmethods/libinput-gestures/default.nix4
-rw-r--r--pkgs/tools/inputmethods/libkkc/default.nix39
-rw-r--r--pkgs/tools/inputmethods/m17n-db/default.nix4
-rw-r--r--pkgs/tools/inputmethods/m17n-lib/default.nix4
-rw-r--r--pkgs/tools/misc/aescrypt/default.nix2
-rw-r--r--pkgs/tools/misc/antimicro/default.nix1
-rw-r--r--pkgs/tools/misc/argtable/default.nix2
-rw-r--r--pkgs/tools/misc/autorandr/default.nix4
-rw-r--r--pkgs/tools/misc/bat/default.nix25
-rw-r--r--pkgs/tools/misc/bdf2psf/default.nix4
-rw-r--r--pkgs/tools/misc/bepasty/default.nix5
-rw-r--r--pkgs/tools/misc/bibutils/default.nix4
-rw-r--r--pkgs/tools/misc/bogofilter/default.nix2
-rw-r--r--pkgs/tools/misc/bonfire/default.nix4
-rw-r--r--pkgs/tools/misc/byobu/default.nix4
-rw-r--r--pkgs/tools/misc/calamares/default.nix4
-rw-r--r--pkgs/tools/misc/cloud-sql-proxy/default.nix28
-rw-r--r--pkgs/tools/misc/cloud-sql-proxy/deps.nix48
-rw-r--r--pkgs/tools/misc/colord/default.nix23
-rw-r--r--pkgs/tools/misc/colord/fix-build-paths.patch74
-rw-r--r--pkgs/tools/misc/contacts/default.nix2
-rw-r--r--pkgs/tools/misc/convmv/default.nix4
-rw-r--r--pkgs/tools/misc/cutecom/default.nix2
-rw-r--r--pkgs/tools/misc/dashing/default.nix26
-rw-r--r--pkgs/tools/misc/dashing/deps.nix39
-rw-r--r--pkgs/tools/misc/datamash/default.nix4
-rw-r--r--pkgs/tools/misc/dateutils/default.nix4
-rw-r--r--pkgs/tools/misc/debian-devscripts/default.nix3
-rw-r--r--pkgs/tools/misc/debootstrap/default.nix4
-rw-r--r--pkgs/tools/misc/desktop-file-utils/default.nix6
-rw-r--r--pkgs/tools/misc/diffoscope/default.nix2
-rw-r--r--pkgs/tools/misc/doitlive/default.nix23
-rw-r--r--pkgs/tools/misc/dust/default.nix25
-rw-r--r--pkgs/tools/misc/edid-decode/default.nix2
-rw-r--r--pkgs/tools/misc/ethtool/default.nix4
-rw-r--r--pkgs/tools/misc/exa/default.nix14
-rw-r--r--pkgs/tools/misc/fd/default.nix6
-rw-r--r--pkgs/tools/misc/file/default.nix4
-rw-r--r--pkgs/tools/misc/flashrom/default.nix6
-rw-r--r--pkgs/tools/misc/fontforge/default.nix4
-rw-r--r--pkgs/tools/misc/fwup/default.nix7
-rw-r--r--pkgs/tools/misc/fzf/default.nix9
-rw-r--r--pkgs/tools/misc/gibo/default.nix4
-rw-r--r--pkgs/tools/misc/gnokii/default.nix1
-rw-r--r--pkgs/tools/misc/goaccess/default.nix4
-rw-r--r--pkgs/tools/misc/gparted/default.nix6
-rw-r--r--pkgs/tools/misc/graylog/default.nix10
-rw-r--r--pkgs/tools/misc/grc/default.nix4
-rw-r--r--pkgs/tools/misc/grub/2.0x.nix6
-rw-r--r--pkgs/tools/misc/grub/pvgrub_image/default.nix2
-rw-r--r--pkgs/tools/misc/grub/trusted.nix2
-rw-r--r--pkgs/tools/misc/gsmartcontrol/default.nix26
-rw-r--r--pkgs/tools/misc/gsmartcontrol/fix-paths.patch58
-rw-r--r--pkgs/tools/misc/h5utils/default.nix38
-rw-r--r--pkgs/tools/misc/hdf4/default.nix4
-rw-r--r--pkgs/tools/misc/hdf5/default.nix4
-rw-r--r--pkgs/tools/misc/hyperfine/default.nix6
-rw-r--r--pkgs/tools/misc/ipxe/default.nix8
-rw-r--r--pkgs/tools/misc/keychain/default.nix5
-rw-r--r--pkgs/tools/misc/lf/default.nix22
-rw-r--r--pkgs/tools/misc/lf/deps.nix4
-rw-r--r--pkgs/tools/misc/libbitcoin/libbitcoin-client.nix4
-rw-r--r--pkgs/tools/misc/libbitcoin/libbitcoin-explorer.nix4
-rw-r--r--pkgs/tools/misc/libbitcoin/libbitcoin-network.nix4
-rw-r--r--pkgs/tools/misc/libbitcoin/libbitcoin-protocol.nix4
-rw-r--r--pkgs/tools/misc/libbitcoin/libbitcoin.nix4
-rw-r--r--pkgs/tools/misc/linuxquota/default.nix (renamed from pkgs/tools/misc/quota/default.nix)0
-rw-r--r--pkgs/tools/misc/logstash/5.x.nix2
-rw-r--r--pkgs/tools/misc/logstash/6.x.nix5
-rw-r--r--pkgs/tools/misc/lolcat/Gemfile.lock4
-rw-r--r--pkgs/tools/misc/lolcat/gemset.nix14
-rw-r--r--pkgs/tools/misc/man-db/default.nix2
-rw-r--r--pkgs/tools/misc/mbuffer/default.nix4
-rw-r--r--pkgs/tools/misc/mc/default.nix8
-rw-r--r--pkgs/tools/misc/megacli/default.nix3
-rw-r--r--pkgs/tools/misc/memtest86+/default.nix36
-rw-r--r--pkgs/tools/misc/mht2htm/default.nix1
-rw-r--r--pkgs/tools/misc/most/default.nix6
-rw-r--r--pkgs/tools/misc/mpdscribble/default.nix2
-rw-r--r--pkgs/tools/misc/mstflint/default.nix1
-rw-r--r--pkgs/tools/misc/multitail/default.nix2
-rw-r--r--pkgs/tools/misc/nagstamon/default.nix (renamed from pkgs/tools/nagstamon/default.nix)0
-rw-r--r--pkgs/tools/misc/neofetch/default.nix4
-rw-r--r--pkgs/tools/misc/nixbot/default.nix25
-rw-r--r--pkgs/tools/misc/noteshrink/default.nix24
-rw-r--r--pkgs/tools/misc/opentimestamps-client/default.nix25
-rw-r--r--pkgs/tools/misc/os-prober/default.nix4
-rw-r--r--pkgs/tools/misc/ostree/default.nix8
-rw-r--r--pkgs/tools/misc/parallel/default.nix6
-rw-r--r--pkgs/tools/misc/parted/default.nix11
-rw-r--r--pkgs/tools/misc/patdiff/default.nix2
-rw-r--r--pkgs/tools/misc/pdd/default.nix34
-rw-r--r--pkgs/tools/misc/peruse/default.nix27
-rw-r--r--pkgs/tools/misc/pick/default.nix4
-rw-r--r--pkgs/tools/misc/picocom/default.nix2
-rw-r--r--pkgs/tools/misc/pipelight/default.nix4
-rw-r--r--pkgs/tools/misc/pk2cmd/default.nix2
-rw-r--r--pkgs/tools/misc/plantuml/default.nix2
-rw-r--r--pkgs/tools/misc/powerline-go/default.nix4
-rw-r--r--pkgs/tools/misc/powerline-go/deps.nix29
-rw-r--r--pkgs/tools/misc/powerline-rs/default.nix31
-rw-r--r--pkgs/tools/misc/profile-cleaner/default.nix4
-rw-r--r--pkgs/tools/misc/pspg/default.nix28
-rw-r--r--pkgs/tools/misc/pubs/default.nix27
-rw-r--r--pkgs/tools/misc/qt5ct/default.nix4
-rw-r--r--pkgs/tools/misc/recoverjpeg/default.nix4
-rw-r--r--pkgs/tools/misc/rename/default.nix1
-rw-r--r--pkgs/tools/misc/riemann-c-client/default.nix10
-rw-r--r--pkgs/tools/misc/rw/default.nix28
-rw-r--r--pkgs/tools/misc/slop/default.nix8
-rw-r--r--pkgs/tools/misc/smc/default.nix6
-rw-r--r--pkgs/tools/misc/smenu/default.nix2
-rw-r--r--pkgs/tools/misc/svtplay-dl/default.nix4
-rw-r--r--pkgs/tools/misc/sweep-visualizer/default.nix59
-rw-r--r--pkgs/tools/misc/t/Gemfile.lock59
-rw-r--r--pkgs/tools/misc/t/default.nix2
-rw-r--r--pkgs/tools/misc/t/gemset.nix210
-rw-r--r--pkgs/tools/misc/tealdeer/default.nix34
-rw-r--r--pkgs/tools/misc/termplay/default.nix38
-rw-r--r--pkgs/tools/misc/thefuck/default.nix4
-rw-r--r--pkgs/tools/misc/thin-provisioning-tools/default.nix4
-rw-r--r--pkgs/tools/misc/time/default.nix4
-rw-r--r--pkgs/tools/misc/tio/default.nix21
-rw-r--r--pkgs/tools/misc/tmuxp/default.nix4
-rw-r--r--pkgs/tools/misc/trash-cli/default.nix23
-rw-r--r--pkgs/tools/misc/trash-cli/nix-paths.patch26
-rw-r--r--pkgs/tools/misc/txt2man/default.nix7
-rw-r--r--pkgs/tools/misc/urjtag/default.nix2
-rw-r--r--pkgs/tools/misc/vdirsyncer/default.nix53
-rw-r--r--pkgs/tools/misc/vimer/default.nix2
-rw-r--r--pkgs/tools/misc/woeusb/default.nix4
-rw-r--r--pkgs/tools/misc/wyrd/default.nix10
-rw-r--r--pkgs/tools/misc/x11idle/default.nix2
-rw-r--r--pkgs/tools/misc/xburst-tools/default.nix2
-rw-r--r--pkgs/tools/misc/xfstests/default.nix14
-rw-r--r--pkgs/tools/misc/xvfb-run/default.nix1
-rw-r--r--pkgs/tools/misc/yad/default.nix4
-rw-r--r--pkgs/tools/misc/you-get/default.nix4
-rw-r--r--pkgs/tools/misc/youtube-dl/default.nix17
-rw-r--r--pkgs/tools/misc/yubikey-personalization-gui/default.nix6
-rw-r--r--pkgs/tools/misc/yubikey-personalization/default.nix6
-rw-r--r--pkgs/tools/networking/airfield/node-packages.nix943
-rw-r--r--pkgs/tools/networking/airfield/node.nix3
-rw-r--r--pkgs/tools/networking/altermime/default.nix6
-rw-r--r--pkgs/tools/networking/atftp/default.nix2
-rw-r--r--pkgs/tools/networking/autossh/default.nix4
-rw-r--r--pkgs/tools/networking/axel/default.nix2
-rw-r--r--pkgs/tools/networking/babeld/default.nix4
-rw-r--r--pkgs/tools/networking/ccnet/default.nix8
-rw-r--r--pkgs/tools/networking/chrony/default.nix4
-rw-r--r--pkgs/tools/networking/cjdns/default.nix4
-rw-r--r--pkgs/tools/networking/cmst/default.nix4
-rw-r--r--pkgs/tools/networking/connect/default.nix2
-rw-r--r--pkgs/tools/networking/connman/connman-gtk/default.nix (renamed from pkgs/tools/networking/connman-gtk/default.nix)0
-rw-r--r--pkgs/tools/networking/connman/connman-ncurses/default.nix (renamed from pkgs/tools/networking/connman-ncurses/default.nix)0
-rw-r--r--pkgs/tools/networking/connman/connman-notify/default.nix (renamed from pkgs/tools/networking/connman-notify/default.nix)0
-rw-r--r--pkgs/tools/networking/connman/connman_dmenu/default.nix (renamed from pkgs/tools/networking/connman_dmenu/default.nix)0
-rw-r--r--pkgs/tools/networking/connman/connmanui/default.nix (renamed from pkgs/tools/networking/connmanui/default.nix)0
-rw-r--r--pkgs/tools/networking/curl/default.nix17
-rw-r--r--pkgs/tools/networking/ddclient/default.nix6
-rw-r--r--pkgs/tools/networking/dhcp/default.nix10
-rw-r--r--pkgs/tools/networking/dhcp/flush-if.patch76
-rw-r--r--pkgs/tools/networking/dhcp/set-hostname.patch24
-rw-r--r--pkgs/tools/networking/dhcpcd/default.nix9
-rw-r--r--pkgs/tools/networking/dnscrypt-wrapper/default.nix4
-rw-r--r--pkgs/tools/networking/easyrsa/2.x.nix2
-rw-r--r--pkgs/tools/networking/easyrsa/default.nix2
-rw-r--r--pkgs/tools/networking/filegive/default.nix2
-rw-r--r--pkgs/tools/networking/fping/default.nix4
-rw-r--r--pkgs/tools/networking/getmail/default.nix4
-rw-r--r--pkgs/tools/networking/gmrender-resurrect/default.nix36
-rw-r--r--pkgs/tools/networking/gupnp-tools/default.nix40
-rw-r--r--pkgs/tools/networking/htpdate/default.nix2
-rw-r--r--pkgs/tools/networking/http-prompt/default.nix2
-rw-r--r--pkgs/tools/networking/i2p/default.nix8
-rw-r--r--pkgs/tools/networking/inadyn/default.nix4
-rw-r--r--pkgs/tools/networking/inetutils/default.nix23
-rw-r--r--pkgs/tools/networking/jwhois/default.nix4
-rw-r--r--pkgs/tools/networking/lftp/default.nix3
-rw-r--r--pkgs/tools/networking/libreswan/default.nix7
-rw-r--r--pkgs/tools/networking/linkchecker/default.nix59
-rw-r--r--pkgs/tools/networking/linkchecker/no-version-check.patch14
-rw-r--r--pkgs/tools/networking/lldpd/default.nix4
-rw-r--r--pkgs/tools/networking/logmein-hamachi/default.nix2
-rw-r--r--pkgs/tools/networking/maildrop/default.nix2
-rw-r--r--pkgs/tools/networking/mailutils/default.nix7
-rw-r--r--pkgs/tools/networking/megatools/default.nix21
-rw-r--r--pkgs/tools/networking/memtier-benchmark/default.nix31
-rw-r--r--pkgs/tools/networking/minio-client/default.nix4
-rw-r--r--pkgs/tools/networking/minissdpd/default.nix4
-rw-r--r--pkgs/tools/networking/miniupnpd/default.nix6
-rw-r--r--pkgs/tools/networking/mitmproxy/default.nix12
-rw-r--r--pkgs/tools/networking/modem-manager/default.nix64
-rw-r--r--pkgs/tools/networking/modemmanager/default.nix52
-rw-r--r--pkgs/tools/networking/mu/default.nix22
-rw-r--r--pkgs/tools/networking/ncftp/default.nix33
-rw-r--r--pkgs/tools/networking/netcat-openbsd/default.nix44
-rw-r--r--pkgs/tools/networking/netcat/default.nix (renamed from pkgs/tools/networking/netcat-gnu/default.nix)0
-rw-r--r--pkgs/tools/networking/network-manager-applet/default.nix52
-rw-r--r--pkgs/tools/networking/network-manager/applet.nix63
-rw-r--r--pkgs/tools/networking/network-manager/default.nix25
-rw-r--r--pkgs/tools/networking/network-manager/dmenu.nix (renamed from pkgs/tools/networking/networkmanager_dmenu/default.nix)0
-rw-r--r--pkgs/tools/networking/network-manager/fix-paths.patch34
-rw-r--r--pkgs/tools/networking/network-manager/fortisslvpn.nix19
-rw-r--r--pkgs/tools/networking/network-manager/iodine.nix17
-rw-r--r--pkgs/tools/networking/network-manager/openconnect.nix22
-rw-r--r--pkgs/tools/networking/network-manager/openvpn.nix38
-rw-r--r--pkgs/tools/networking/network-manager/pptp.nix36
-rw-r--r--pkgs/tools/networking/network-manager/strongswan.nix8
-rw-r--r--pkgs/tools/networking/network-manager/vpnc.nix18
-rw-r--r--pkgs/tools/networking/ngrok-2/default.nix17
-rw-r--r--pkgs/tools/networking/nss-mdns/default.nix14
-rw-r--r--pkgs/tools/networking/nzbget/default.nix4
-rw-r--r--pkgs/tools/networking/offlineimap/default.nix4
-rw-r--r--pkgs/tools/networking/openfortivpn/default.nix4
-rw-r--r--pkgs/tools/networking/openssh/default.nix6
-rw-r--r--pkgs/tools/networking/openvpn/default.nix8
-rw-r--r--pkgs/tools/networking/p2p/amule/default.nix2
-rw-r--r--pkgs/tools/networking/p2p/libtorrent/default.nix2
-rw-r--r--pkgs/tools/networking/p2p/seeks/default.nix3
-rw-r--r--pkgs/tools/networking/p2p/tahoe-lafs/default.nix45
-rw-r--r--pkgs/tools/networking/pacparser/default.nix27
-rw-r--r--pkgs/tools/networking/ppp/default.nix15
-rw-r--r--pkgs/tools/networking/ppp/musl-fix-headers.patch10
-rw-r--r--pkgs/tools/networking/pssh/default.nix11
-rw-r--r--pkgs/tools/networking/redir/default.nix4
-rw-r--r--pkgs/tools/networking/shadowsocks-libev/default.nix59
-rw-r--r--pkgs/tools/networking/snabb/default.nix22
-rw-r--r--pkgs/tools/networking/ssmtp/default.nix4
-rw-r--r--pkgs/tools/networking/strongswan/default.nix16
-rw-r--r--pkgs/tools/networking/tcpdump/default.nix12
-rw-r--r--pkgs/tools/networking/telnet/default.nix4
-rw-r--r--pkgs/tools/networking/tlspool/configvar-fix.patch36
-rw-r--r--pkgs/tools/networking/tlspool/default.nix53
-rw-r--r--pkgs/tools/networking/tlspool/fixing-rpath.patch36
-rw-r--r--pkgs/tools/networking/toxvpn/default.nix19
-rw-r--r--pkgs/tools/networking/uget-integrator/default.nix39
-rw-r--r--pkgs/tools/networking/uget/default.nix4
-rw-r--r--pkgs/tools/networking/unbound/default.nix4
-rw-r--r--pkgs/tools/networking/urlwatch/default.nix4
-rw-r--r--pkgs/tools/networking/vde2/default.nix10
-rw-r--r--pkgs/tools/networking/vpnc/default.nix2
-rw-r--r--pkgs/tools/networking/wget/default.nix12
-rw-r--r--pkgs/tools/networking/whois/default.nix4
-rw-r--r--pkgs/tools/networking/wrk2/default.nix42
-rw-r--r--pkgs/tools/networking/xnbd/default.nix31
-rw-r--r--pkgs/tools/networking/zerotierone/default.nix6
-rw-r--r--pkgs/tools/package-management/disnix/default.nix8
-rw-r--r--pkgs/tools/package-management/nix-pin/default.nix49
-rw-r--r--pkgs/tools/package-management/nix-review/default.nix31
-rw-r--r--pkgs/tools/package-management/nix-serve/default.nix8
-rw-r--r--pkgs/tools/package-management/nix-update-source/default.nix11
-rw-r--r--pkgs/tools/package-management/nix/default.nix41
-rw-r--r--pkgs/tools/package-management/nixops/default.nix4
-rw-r--r--pkgs/tools/package-management/nixops/generic.nix1
-rw-r--r--pkgs/tools/package-management/nixui/nixui.nix3
-rw-r--r--pkgs/tools/package-management/nixui/node-packages.nix2
-rw-r--r--pkgs/tools/package-management/opkg/default.nix4
-rw-r--r--pkgs/tools/package-management/packagekit/default.nix4
-rw-r--r--pkgs/tools/package-management/rpm/default.nix4
-rw-r--r--pkgs/tools/security/apg/default.nix7
-rw-r--r--pkgs/tools/security/apg/phony-install-target.patch11
-rw-r--r--pkgs/tools/security/bash-supergenpass/default.nix6
-rw-r--r--pkgs/tools/security/bettercap/Gemfile.lock42
-rw-r--r--pkgs/tools/security/bettercap/default.nix23
-rw-r--r--pkgs/tools/security/bettercap/deps.nix228
-rw-r--r--pkgs/tools/security/bettercap/gemset.nix121
-rw-r--r--pkgs/tools/security/browserpass/default.nix13
-rw-r--r--pkgs/tools/security/browserpass/deps.nix9
-rw-r--r--pkgs/tools/security/certstrap/default.nix4
-rw-r--r--pkgs/tools/security/clamav/default.nix8
-rw-r--r--pkgs/tools/security/clamav/fd-leak.patch49
-rw-r--r--pkgs/tools/security/diceware/default.nix4
-rw-r--r--pkgs/tools/security/dirmngr/default.nix8
-rw-r--r--pkgs/tools/security/eid-mw/default.nix51
-rw-r--r--pkgs/tools/security/eid-viewer/default.nix42
-rw-r--r--pkgs/tools/security/enpass/default.nix12
-rw-r--r--pkgs/tools/security/fail2ban/default.nix6
-rw-r--r--pkgs/tools/security/fprintd/default.nix4
-rw-r--r--pkgs/tools/security/gencfsm/default.nix1
-rw-r--r--pkgs/tools/security/gnupg/1.nix2
-rw-r--r--pkgs/tools/security/gnupg/22.nix6
-rw-r--r--pkgs/tools/security/gnupg/fix-libusb-include-path.patch5
-rw-r--r--pkgs/tools/security/gopass/default.nix13
-rw-r--r--pkgs/tools/security/hologram/default.nix14
-rw-r--r--pkgs/tools/security/john/default.nix2
-rw-r--r--pkgs/tools/security/keybase/gui.nix (renamed from pkgs/tools/security/keybase-gui/default.nix)5
-rw-r--r--pkgs/tools/security/krunner-pass/default.nix44
-rw-r--r--pkgs/tools/security/krunner-pass/pass-path.patch13
-rw-r--r--pkgs/tools/security/lastpass-cli/default.nix4
-rw-r--r--pkgs/tools/security/logkeys/default.nix13
-rw-r--r--pkgs/tools/security/lynis/default.nix4
-rw-r--r--pkgs/tools/security/masscan/default.nix8
-rw-r--r--pkgs/tools/security/monkeysphere/default.nix5
-rw-r--r--pkgs/tools/security/mpw/default.nix2
-rw-r--r--pkgs/tools/security/neopg/default.nix47
-rw-r--r--pkgs/tools/security/nmap/default.nix6
-rw-r--r--pkgs/tools/security/notary/default.nix34
-rw-r--r--pkgs/tools/security/notary/no-git-usage.patch15
-rw-r--r--pkgs/tools/security/open-ecard/default.nix64
-rw-r--r--pkgs/tools/security/paperkey/default.nix2
-rw-r--r--pkgs/tools/security/pass/default.nix190
-rw-r--r--pkgs/tools/security/pass/extensions/default.nix12
-rw-r--r--pkgs/tools/security/pass/extensions/import.nix37
-rw-r--r--pkgs/tools/security/pass/extensions/otp.nix (renamed from pkgs/tools/security/pass-otp/default.nix)11
-rw-r--r--pkgs/tools/security/pass/extensions/tomb.nix32
-rw-r--r--pkgs/tools/security/pass/extensions/update.nix25
-rw-r--r--pkgs/tools/security/pass/rofi-pass.nix4
-rw-r--r--pkgs/tools/security/pcsc-scm-scl011/default.nix48
-rw-r--r--pkgs/tools/security/pcsc-scm-scl011/eid.patch28
-rw-r--r--pkgs/tools/security/pgpdump/default.nix5
-rw-r--r--pkgs/tools/security/pinentry/default.nix4
-rw-r--r--pkgs/tools/security/pinentry/mac.nix (renamed from pkgs/tools/security/pinentry-mac/default.nix)4
-rw-r--r--pkgs/tools/security/pius/default.nix6
-rw-r--r--pkgs/tools/security/radamsa/default.nix6
-rw-r--r--pkgs/tools/security/rhash/default.nix2
-rw-r--r--pkgs/tools/security/rng-tools/default.nix3
-rw-r--r--pkgs/tools/security/scallion/default.nix36
-rw-r--r--pkgs/tools/security/softhsm/default.nix4
-rw-r--r--pkgs/tools/security/spectre-meltdown-checker/default.nix8
-rw-r--r--pkgs/tools/security/srm/default.nix4
-rw-r--r--pkgs/tools/security/sshuttle/default.nix15
-rw-r--r--pkgs/tools/security/sslscan/default.nix2
-rw-r--r--pkgs/tools/security/sudo/default.nix9
-rw-r--r--pkgs/tools/security/trufflehog/default.nix38
-rw-r--r--pkgs/tools/security/vault/default.nix4
-rw-r--r--pkgs/tools/security/vulnix/default.nix29
-rw-r--r--pkgs/tools/system/acpica-tools/default.nix4
-rw-r--r--pkgs/tools/system/at/default.nix15
-rw-r--r--pkgs/tools/system/bar/default.nix18
-rw-r--r--pkgs/tools/system/dd_rescue/default.nix4
-rw-r--r--pkgs/tools/system/di/default.nix4
-rw-r--r--pkgs/tools/system/efibootmgr/default.nix4
-rw-r--r--pkgs/tools/system/efivar/default.nix4
-rw-r--r--pkgs/tools/system/facter/default.nix4
-rw-r--r--pkgs/tools/system/fio/default.nix10
-rw-r--r--pkgs/tools/system/freeipmi/default.nix6
-rw-r--r--pkgs/tools/system/gotop/default.nix23
-rw-r--r--pkgs/tools/system/htop/default.nix4
-rw-r--r--pkgs/tools/system/hwinfo/default.nix4
-rw-r--r--pkgs/tools/system/ipmitool/default.nix2
-rw-r--r--pkgs/tools/system/ipmiutil/default.nix4
-rw-r--r--pkgs/tools/system/journalbeat/default.nix4
-rw-r--r--pkgs/tools/system/krakenx/default.nix23
-rw-r--r--pkgs/tools/system/localtime/default.nix9
-rw-r--r--pkgs/tools/system/logrotate/default.nix4
-rw-r--r--pkgs/tools/system/lr/default.nix4
-rw-r--r--pkgs/tools/system/mcron/default.nix4
-rw-r--r--pkgs/tools/system/monit/default.nix23
-rw-r--r--pkgs/tools/system/mq-cli/default.nix24
-rw-r--r--pkgs/tools/system/nq/default.nix4
-rw-r--r--pkgs/tools/system/osquery/default.nix47
-rw-r--r--pkgs/tools/system/osquery/misc.patch197
-rw-r--r--pkgs/tools/system/osquery/platform-nixos.patch22
-rw-r--r--pkgs/tools/system/pcstat/default.nix24
-rw-r--r--pkgs/tools/system/pcstat/deps.nix11
-rw-r--r--pkgs/tools/system/psstop/default.nix24
-rw-r--r--pkgs/tools/system/runit/default.nix10
-rw-r--r--pkgs/tools/system/runit/fix-ar-ranlib.patch18
-rw-r--r--pkgs/tools/system/s6-rc/default.nix2
-rw-r--r--pkgs/tools/system/sg3_utils/default.nix2
-rw-r--r--pkgs/tools/system/sleuthkit/default.nix4
-rw-r--r--pkgs/tools/system/storebrowse/default.nix2
-rw-r--r--pkgs/tools/system/syslog-ng/default.nix10
-rw-r--r--pkgs/tools/system/vboot_reference/default.nix6
-rw-r--r--pkgs/tools/system/xe/default.nix4
-rw-r--r--pkgs/tools/text/ansifilter/default.nix4
-rw-r--r--pkgs/tools/text/cconv/default.nix20
-rw-r--r--pkgs/tools/text/diction/default.nix7
-rw-r--r--pkgs/tools/text/discount/default.nix4
-rw-r--r--pkgs/tools/text/fanficfare/default.nix4
-rw-r--r--pkgs/tools/text/gawk/default.nix4
-rw-r--r--pkgs/tools/text/gist/default.nix4
-rw-r--r--pkgs/tools/text/gnupatch/CVE-2018-6951.patch28
-rw-r--r--pkgs/tools/text/gnupatch/default.nix5
-rw-r--r--pkgs/tools/text/gnused/default.nix13
-rw-r--r--pkgs/tools/text/groff/default.nix17
-rw-r--r--pkgs/tools/text/highlight/default.nix6
-rw-r--r--pkgs/tools/text/jumanpp/default.nix24
-rw-r--r--pkgs/tools/text/languagetool/default.nix4
-rw-r--r--pkgs/tools/text/mdbook/default.nix7
-rw-r--r--pkgs/tools/text/mir-qualia/default.nix6
-rw-r--r--pkgs/tools/text/namazu/default.nix2
-rw-r--r--pkgs/tools/text/numdiff/default.nix2
-rw-r--r--pkgs/tools/text/odt2txt/default.nix2
-rw-r--r--pkgs/tools/text/patchutils/default.nix2
-rw-r--r--pkgs/tools/text/recode/default.nix8
-rw-r--r--pkgs/tools/text/sgml/opensp/default.nix2
-rw-r--r--pkgs/tools/text/unrtf/default.nix3
-rw-r--r--pkgs/tools/text/untex/default.nix6
-rw-r--r--pkgs/tools/text/vale/default.nix25
-rw-r--r--pkgs/tools/text/vale/deps.nix246
-rw-r--r--pkgs/tools/text/xml/html-xml-utils/default.nix4
-rw-r--r--pkgs/tools/text/xml/xmlformat/default.nix28
-rw-r--r--pkgs/tools/text/xml/xmloscopy/default.nix52
-rw-r--r--pkgs/tools/text/xsv/default.nix14
-rw-r--r--pkgs/tools/typesetting/asciidoc/default.nix11
-rw-r--r--pkgs/tools/typesetting/asciidoctor/Gemfile2
-rw-r--r--pkgs/tools/typesetting/asciidoctor/Gemfile.lock81
-rw-r--r--pkgs/tools/typesetting/asciidoctor/default.nix34
-rw-r--r--pkgs/tools/typesetting/asciidoctor/gemset.nix152
-rw-r--r--pkgs/tools/typesetting/docbook2x/default.nix18
-rw-r--r--pkgs/tools/typesetting/mmark/default.nix26
-rw-r--r--pkgs/tools/typesetting/mmark/deps.nix12
-rw-r--r--pkgs/tools/typesetting/pdf2djvu/default.nix4
-rw-r--r--pkgs/tools/typesetting/pdf2htmlEX/default.nix6
-rw-r--r--pkgs/tools/typesetting/pdfgrep/default.nix4
-rw-r--r--pkgs/tools/typesetting/satysfi/default.nix45
-rw-r--r--pkgs/tools/typesetting/tectonic/default.nix5
-rw-r--r--pkgs/tools/typesetting/ted/default.nix84
-rw-r--r--pkgs/tools/typesetting/tex/texlive/bin.nix17
-rw-r--r--pkgs/tools/typesetting/tex/texlive/default.nix8
-rw-r--r--pkgs/tools/typesetting/xml2rfc/default.nix24
-rw-r--r--pkgs/tools/video/dvgrab/default.nix2
-rw-r--r--pkgs/tools/virtualization/awsebcli/default.nix12
-rw-r--r--pkgs/tools/virtualization/distrobuilder/default.nix36
-rw-r--r--pkgs/tools/virtualization/distrobuilder/deps.nix67
-rw-r--r--pkgs/tools/virtualization/google-compute-engine/default.nix5
-rwxr-xr-xpkgs/tools/virtualization/nixos-container/nixos-container.pl39
-rw-r--r--pkgs/top-level/aliases.nix147
-rw-r--r--pkgs/top-level/all-packages.nix2434
-rw-r--r--pkgs/top-level/coq-packages.nix4
-rw-r--r--pkgs/top-level/darwin-packages.nix28
-rw-r--r--pkgs/top-level/default.nix4
-rw-r--r--pkgs/top-level/dotnet-packages.nix8
-rw-r--r--pkgs/top-level/emacs-packages.nix2
-rw-r--r--pkgs/top-level/emscripten-packages.nix130
-rw-r--r--pkgs/top-level/haskell-packages.nix53
-rw-r--r--pkgs/top-level/impure.nix2
-rw-r--r--pkgs/top-level/java-packages.nix3
-rw-r--r--pkgs/top-level/lua-packages.nix124
-rw-r--r--pkgs/top-level/metrics.nix2
-rw-r--r--pkgs/top-level/ocaml-packages.nix66
-rw-r--r--pkgs/top-level/perl-packages.nix6464
-rw-r--r--pkgs/top-level/php-packages.nix4
-rw-r--r--pkgs/top-level/python-packages.nix4193
-rw-r--r--pkgs/top-level/release-small.nix4
-rw-r--r--pkgs/top-level/release.nix20
-rw-r--r--pkgs/top-level/stage.nix3
-rw-r--r--pkgs/top-level/unix-tools.nix157
4956 files changed, 138480 insertions, 91275 deletions
diff --git a/.editorconfig b/.editorconfig
index 7b40ff1ff56..f272739f240 100644
--- a/.editorconfig
+++ b/.editorconfig
@@ -13,8 +13,8 @@ charset = utf-8
 
 # see https://nixos.org/nixpkgs/manual/#chap-conventions
 
-# Match nix/ruby files, set indent to spaces with width of two
-[*.{nix,rb}]
+# Match nix/ruby/docbook files, set indent to spaces with width of two
+[*.{nix,rb,xml}]
 indent_style = space
 indent_size = 2
 
diff --git a/.gitattributes b/.gitattributes
new file mode 100644
index 00000000000..4862e0eab93
--- /dev/null
+++ b/.gitattributes
@@ -0,0 +1,16 @@
+**/deps.nix linguist-generated
+**/node-packages.nix linguist-generated
+
+pkgs/applications/editors/emacs-modes/*-generated.nix linguist-generated
+pkgs/development/r-modules/*-packages.nix linguist-generated
+pkgs/development/haskell-modules/hackage-packages.nix linguist-generated
+pkgs/development/beam-modules/hex-packages.nix linguist-generated
+
+doc/** linguist-documentation
+doc/default.nix linguist-documentation=false
+
+nixos/doc/** linguist-documentation
+nixos/doc/default.nix linguist-documentation=false
+
+nixos/modules/module-list.nix merge=union
+# pkgs/top-level/all-packages.nix merge=union
diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS
index bac601fbf82..3d4855c5cf4 100644
--- a/.github/CODEOWNERS
+++ b/.github/CODEOWNERS
@@ -13,6 +13,8 @@
 # Libraries
 /lib                        @edolstra @nbp
 /lib/systems                @nbp @ericson2314
+/lib/generators.nix         @edolstra @nbp @Profpatsch
+/lib/debug.nix              @edolstra @nbp @Profpatsch
 
 # Nixpkgs Internals
 /default.nix                          @nbp
@@ -63,6 +65,9 @@
 /pkgs/development/interpreters/ruby @zimbatm
 /pkgs/development/ruby-modules      @zimbatm
 
+# Rust
+/pkgs/development/compilers/rust @Mic92 @LnL7
+
 # Darwin-related
 /pkgs/stdenv/darwin         @NixOS/darwin-maintainers
 /pkgs/os-specific/darwin    @NixOS/darwin-maintainers
@@ -83,7 +88,6 @@
 /pkgs/applications/editors/eclipse @rycee
 
 # https://github.com/NixOS/nixpkgs/issues/31401
-/lib/maintainers.nix @ghost
 /lib/licenses.nix @ghost
 
 # Qt / KDE
diff --git a/.version b/.version
index a88d2ca3231..770bde1f44b 100644
--- a/.version
+++ b/.version
@@ -1 +1 @@
-18.03
+18.09
diff --git a/README.md b/README.md
index 3f2ff48dd92..9714bbd1ab3 100644
--- a/README.md
+++ b/README.md
@@ -12,12 +12,12 @@ build daemon as so-called channels. To get channel information via git, add
 ```
 
 For stability and maximum binary package support, it is recommended to maintain
-custom changes on top of one of the channels, e.g. `nixos-17.09` for the latest
+custom changes on top of one of the channels, e.g. `nixos-18.03` for the latest
 release and `nixos-unstable` for the latest successful build of master:
 
 ```
 % git remote update channels
-% git rebase channels/nixos-17.09
+% git rebase channels/nixos-18.03
 ```
 
 For pull-requests, please rebase onto nixpkgs `master`.
@@ -31,9 +31,9 @@ For pull-requests, please rebase onto nixpkgs `master`.
 * [Manual (NixOS)](https://nixos.org/nixos/manual/)
 * [Community maintained wiki](https://nixos.wiki/)
 * [Continuous package builds for unstable/master](https://hydra.nixos.org/jobset/nixos/trunk-combined)
-* [Continuous package builds for 17.09 release](https://hydra.nixos.org/jobset/nixos/release-17.09)
+* [Continuous package builds for 18.03 release](https://hydra.nixos.org/jobset/nixos/release-18.03)
 * [Tests for unstable/master](https://hydra.nixos.org/job/nixos/trunk-combined/tested#tabs-constituents)
-* [Tests for 17.09 release](https://hydra.nixos.org/job/nixos/release-17.09/tested#tabs-constituents)
+* [Tests for 18.03 release](https://hydra.nixos.org/job/nixos/release-18.03/tested#tabs-constituents)
 
 Communication:
 
diff --git a/doc/.gitignore b/doc/.gitignore
new file mode 100644
index 00000000000..d0ba103fa9f
--- /dev/null
+++ b/doc/.gitignore
@@ -0,0 +1,6 @@
+*.chapter.xml
+*.section.xml
+.version
+out
+manual-full.xml
+highlightjs
diff --git a/doc/Makefile b/doc/Makefile
new file mode 100644
index 00000000000..8a4612e95f1
--- /dev/null
+++ b/doc/Makefile
@@ -0,0 +1,95 @@
+MD_TARGETS=$(addsuffix .xml, $(basename $(wildcard ./*.md ./**/*.md)))
+
+.PHONY: all
+all: validate format out/html/index.html out/epub/manual.epub
+
+.PHONY: debug
+debug:
+	nix-shell --run "xmloscopy --docbook5 ./manual.xml ./manual-full.xml"
+
+.PHONY: format
+format:
+	find . -iname '*.xml' -type f -print0 | xargs -0 -I{} -n1 \
+		xmlformat --config-file "$$XMLFORMAT_CONFIG" -i {}
+
+.PHONY: clean
+clean:
+	rm -f ${MD_TARGETS} .version manual-full.xml
+	rm -rf ./out/ ./highlightjs
+
+.PHONY: validate
+validate: manual-full.xml
+	jing "$$RNG" manual-full.xml
+
+out/html/index.html: manual-full.xml style.css highlightjs
+	mkdir -p out/html
+	xsltproc ${xsltFlags} \
+		--nonet --xinclude \
+		--output $@ \
+		"$$XSL/docbook/xhtml/docbook.xsl" \
+		./manual-full.xml
+
+	mkdir -p out/html/highlightjs/
+	cp -r highlightjs out/html/
+
+	cp ./overrides.css out/html/
+	cp ./style.css out/html/style.css
+
+	mkdir -p out/html/images/callouts
+	cp "$$XSL/docbook/images/callouts/"*.svg out/html/images/callouts/
+	chmod u+w -R out/html/
+
+out/epub/manual.epub: manual-full.xml
+	mkdir -p out/epub/scratch
+	xsltproc ${xsltFlags} --nonet \
+		--output out/epub/scratch/ \
+		"$$XSL/docbook/epub/docbook.xsl" \
+		./manual-full.xml
+
+	cp ./overrides.css out/epub/scratch/OEBPS
+	cp ./style.css out/epub/scratch/OEBPS
+	mkdir -p out/epub/scratch/OEBPS/images/callouts/
+	cp "$$XSL/docbook/images/callouts/"*.svg out/epub/scratch/OEBPS/images/callouts/
+	echo "application/epub+zip" > mimetype
+	zip -0Xq "out/epub/manual.epub" mimetype
+	rm mimetype
+	cd "out/epub/scratch/" && zip -Xr9D "../manual.epub" *
+	rm -rf "out/epub/scratch/"
+
+highlightjs:
+	mkdir -p highlightjs
+	cp -r "$$HIGHLIGHTJS/highlight.pack.js" highlightjs/
+	cp -r "$$HIGHLIGHTJS/LICENSE" highlightjs/
+	cp -r "$$HIGHLIGHTJS/mono-blue.css" highlightjs/
+	cp -r "$$HIGHLIGHTJS/loader.js" highlightjs/
+
+
+manual-full.xml: ${MD_TARGETS} .version *.xml
+	xmllint --nonet --xinclude --noxincludenode manual.xml --output manual-full.xml
+
+.version:
+	nix-instantiate --eval \
+		-E '(import ../lib).version' > .version
+
+%.section.xml: %.section.md
+	pandoc $^ -w docbook+smart \
+		-f markdown+smart \
+	  | sed -e 's|<ulink url=|<link xlink:href=|' \
+	      -e 's|</ulink>|</link>|' \
+	      -e 's|<sect. id=|<section xml:id=|' \
+	      -e 's|</sect[0-9]>|</section>|' \
+	      -e '1s| id=| xml:id=|' \
+	      -e '1s|\(<[^ ]* \)|\1xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" |' \
+	| cat  > $@
+
+%.chapter.xml: %.chapter.md
+	pandoc $^ -w docbook+smart \
+		--top-level-division=chapter \
+		-f markdown+smart \
+	  | sed -e 's|<ulink url=|<link xlink:href=|' \
+	      -e 's|</ulink>|</link>|' \
+	      -e 's|<sect. id=|<section xml:id=|' \
+	      -e 's|</sect[0-9]>|</section>|' \
+	      -e '1s| id=| xml:id=|' \
+	      -e '1s|\(<[^ ]* \)|\1|' \
+	| cat  > $@
diff --git a/doc/coding-conventions.xml b/doc/coding-conventions.xml
index d556c7ebe1e..f244c11d4f2 100644
--- a/doc/coding-conventions.xml
+++ b/doc/coding-conventions.xml
@@ -1,56 +1,59 @@
 <chapter xmlns="http://docbook.org/ns/docbook"
          xmlns:xlink="http://www.w3.org/1999/xlink"
          xml:id="chap-conventions">
-
-<title>Coding conventions</title>
-
-
-<section xml:id="sec-syntax"><title>Syntax</title>
-
-<itemizedlist>
-
-  <listitem><para>Use 2 spaces of indentation per indentation level in
-  Nix expressions, 4 spaces in shell scripts.</para></listitem>
-
-  <listitem><para>Do not use tab characters, i.e. configure your
-  editor to use soft tabs.  For instance, use <literal>(setq-default
-  indent-tabs-mode nil)</literal> in Emacs.  Everybody has different
-  tab settings so it’s asking for trouble.</para></listitem>
-
-  <listitem><para>Use <literal>lowerCamelCase</literal> for variable
-  names, not <literal>UpperCamelCase</literal>.  Note, this rule does
-  not apply to package attribute names, which instead follow the rules
-  in <xref linkend="sec-package-naming"/>.</para></listitem>
-
-  <listitem><para>Function calls with attribute set arguments are
-  written as
-
+ <title>Coding conventions</title>
+ <section xml:id="sec-syntax">
+  <title>Syntax</title>
+
+  <itemizedlist>
+   <listitem>
+    <para>
+     Use 2 spaces of indentation per indentation level in Nix expressions, 4
+     spaces in shell scripts.
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     Do not use tab characters, i.e. configure your editor to use soft tabs.
+     For instance, use <literal>(setq-default indent-tabs-mode nil)</literal>
+     in Emacs. Everybody has different tab settings so it’s asking for
+     trouble.
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     Use <literal>lowerCamelCase</literal> for variable names, not
+     <literal>UpperCamelCase</literal>. Note, this rule does not apply to
+     package attribute names, which instead follow the rules in
+     <xref linkend="sec-package-naming"/>.
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     Function calls with attribute set arguments are written as
 <programlisting>
 foo {
   arg = ...;
 }
 </programlisting>
-
-  not
-
+     not
 <programlisting>
 foo
 {
   arg = ...;
 }
 </programlisting>
-
-  Also fine is
-
+     Also fine is
 <programlisting>
 foo { arg = ...; }
 </programlisting>
-
-  if it's a short call.</para></listitem>
-
-  <listitem><para>In attribute sets or lists that span multiple lines,
-  the attribute names or list elements should be aligned:
-
+     if it's a short call.
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     In attribute sets or lists that span multiple lines, the attribute names
+     or list elements should be aligned:
 <programlisting>
 # A long list.
 list =
@@ -73,12 +76,11 @@ attrs = {
     if true then big_expr else big_expr;
 };
 </programlisting>
-
-  </para></listitem>
-
-  <listitem><para>Short lists or attribute sets can be written on one
-  line:
-
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     Short lists or attribute sets can be written on one line:
 <programlisting>
 # A short list.
 list = [ elem1 elem2 elem3 ];
@@ -86,66 +88,58 @@ list = [ elem1 elem2 elem3 ];
 # A short set.
 attrs = { x = 1280; y = 1024; };
 </programlisting>
-
-  </para></listitem>
-
-  <listitem><para>Breaking in the middle of a function argument can
-  give hard-to-read code, like
-
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     Breaking in the middle of a function argument can give hard-to-read code,
+     like
 <programlisting>
 someFunction { x = 1280;
   y = 1024; } otherArg
   yetAnotherArg
 </programlisting>
-
-  (especially if the argument is very large, spanning multiple
-  lines).</para>
-
-  <para>Better:
-
+     (especially if the argument is very large, spanning multiple lines).
+    </para>
+    <para>
+     Better:
 <programlisting>
 someFunction
   { x = 1280; y = 1024; }
   otherArg
   yetAnotherArg
 </programlisting>
-
-  or
-
+     or
 <programlisting>
 let res = { x = 1280; y = 1024; };
 in someFunction res otherArg yetAnotherArg
 </programlisting>
-
-  </para></listitem>
-
-  <listitem><para>The bodies of functions, asserts, and withs are not
-  indented to prevent a lot of superfluous indentation levels, i.e.
-
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     The bodies of functions, asserts, and withs are not indented to prevent a
+     lot of superfluous indentation levels, i.e.
 <programlisting>
 { arg1, arg2 }:
 assert system == "i686-linux";
 stdenv.mkDerivation { ...
 </programlisting>
-
-  not
-
+     not
 <programlisting>
 { arg1, arg2 }:
   assert system == "i686-linux";
     stdenv.mkDerivation { ...
 </programlisting>
-
-  </para></listitem>
-
-  <listitem><para>Function formal arguments are written as:
-
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     Function formal arguments are written as:
 <programlisting>
 { arg1, arg2, arg3 }:
 </programlisting>
-
-  but if they don't fit on one line they're written as:
-
+     but if they don't fit on one line they're written as:
 <programlisting>
 { arg1, arg2, arg3
 , arg4, ...
@@ -153,35 +147,28 @@ stdenv.mkDerivation { ...
   argN
 }:
 </programlisting>
-
-  </para></listitem>
-
-  <listitem><para>Functions should list their expected arguments as
-  precisely as possible.  That is, write
-
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     Functions should list their expected arguments as precisely as possible.
+     That is, write
 <programlisting>
 { stdenv, fetchurl, perl }: <replaceable>...</replaceable>
 </programlisting>
-
-  instead of
-
+     instead of
 <programlisting>
 args: with args; <replaceable>...</replaceable>
 </programlisting>
-
-  or
-
+     or
 <programlisting>
 { stdenv, fetchurl, perl, ... }: <replaceable>...</replaceable>
 </programlisting>
-
-  </para>
-
-  <para>For functions that are truly generic in the number of
-  arguments (such as wrappers around <varname>mkDerivation</varname>)
-  that have some required arguments, you should write them using an
-  <literal>@</literal>-pattern:
-
+    </para>
+    <para>
+     For functions that are truly generic in the number of arguments (such as
+     wrappers around <varname>mkDerivation</varname>) that have some required
+     arguments, you should write them using an <literal>@</literal>-pattern:
 <programlisting>
 { stdenv, doCoverageAnalysis ? false, ... } @ args:
 
@@ -189,9 +176,7 @@ stdenv.mkDerivation (args // {
   <replaceable>...</replaceable> if doCoverageAnalysis then "bla" else "" <replaceable>...</replaceable>
 })
 </programlisting>
-
-  instead of
-
+     instead of
 <programlisting>
 args:
 
@@ -199,432 +184,557 @@ args.stdenv.mkDerivation (args // {
   <replaceable>...</replaceable> if args ? doCoverageAnalysis &amp;&amp; args.doCoverageAnalysis then "bla" else "" <replaceable>...</replaceable>
 })
 </programlisting>
+    </para>
+   </listitem>
+  </itemizedlist>
+ </section>
+ <section xml:id="sec-package-naming">
+  <title>Package naming</title>
 
-  </para></listitem>
-
-</itemizedlist>
-
-</section>
-
-
-<section xml:id="sec-package-naming"><title>Package naming</title>
-
-<para>In Nixpkgs, there are generally three different names associated with a package:
-
-<itemizedlist>
-
-  <listitem><para>The <varname>name</varname> attribute of the
-  derivation (excluding the version part).  This is what most users
-  see, in particular when using
-  <command>nix-env</command>.</para></listitem>
-
-  <listitem><para>The variable name used for the instantiated package
-  in <filename>all-packages.nix</filename>, and when passing it as a
-  dependency to other functions.  Typically this is called the
-  <emphasis>package attribute name</emphasis>.  This is what Nix
-  expression authors see.  It can also be used when installing using
-  <command>nix-env -iA</command>.</para></listitem>
-
-  <listitem><para>The filename for (the directory containing) the Nix
-  expression.</para></listitem>
-
-</itemizedlist>
-
-Most of the time, these are the same.  For instance, the package
-<literal>e2fsprogs</literal> has a <varname>name</varname> attribute
-<literal>"e2fsprogs-<replaceable>version</replaceable>"</literal>, is
-bound to the variable name <varname>e2fsprogs</varname> in
-<filename>all-packages.nix</filename>, and the Nix expression is in
-<filename>pkgs/os-specific/linux/e2fsprogs/default.nix</filename>.
-</para>
-
-<para>There are a few naming guidelines:
-
-<itemizedlist>
-
-  <listitem><para>Generally, try to stick to the upstream package
-  name.</para></listitem>
-
-  <listitem><para>Don’t use uppercase letters in the
-  <literal>name</literal> attribute — e.g.,
-  <literal>"mplayer-1.0rc2"</literal> instead of
-  <literal>"MPlayer-1.0rc2"</literal>.</para></listitem>
-
-  <listitem><para>The version part of the <literal>name</literal>
-  attribute <emphasis>must</emphasis> start with a digit (following a
-  dash) — e.g., <literal>"hello-0.3.1rc2"</literal>.</para></listitem>
-
-  <listitem><para>If a package is not a release but a commit from a repository, then
-  the version part of the name <emphasis>must</emphasis> be the date of that
-  (fetched) commit. The date must be in <literal>"YYYY-MM-DD"</literal> format.
-  Also append <literal>"unstable"</literal> to the name - e.g.,
-  <literal>"pkgname-unstable-2014-09-23"</literal>.</para></listitem>
-
-  <listitem><para>Dashes in the package name should be preserved in
-  new variable names, rather than converted to underscores or camel
-  cased — e.g., <varname>http-parser</varname> instead of
-  <varname>http_parser</varname> or <varname>httpParser</varname>.  The
-  hyphenated style is preferred in all three package
-  names.</para></listitem>
-
-  <listitem><para>If there are multiple versions of a package, this
-  should be reflected in the variable names in
-  <filename>all-packages.nix</filename>,
-  e.g. <varname>json-c-0-9</varname> and <varname>json-c-0-11</varname>.
-  If there is an obvious “default” version, make an attribute like
-  <literal>json-c = json-c-0-9;</literal>.
-  See also <xref linkend="sec-versioning" /></para></listitem>
-
-</itemizedlist>
-
-</para>
-
-</section>
-
-
-<section xml:id="sec-organisation"><title>File naming and organisation</title>
-
-<para>Names of files and directories should be in lowercase, with
-dashes between words — not in camel case.  For instance, it should be
-<filename>all-packages.nix</filename>, not
-<filename>allPackages.nix</filename> or
-<filename>AllPackages.nix</filename>.</para>
-
-<section xml:id="sec-hierarchy"><title>Hierarchy</title>
-
-<para>Each package should be stored in its own directory somewhere in
-the <filename>pkgs/</filename> tree, i.e. in
-<filename>pkgs/<replaceable>category</replaceable>/<replaceable>subcategory</replaceable>/<replaceable>...</replaceable>/<replaceable>pkgname</replaceable></filename>.
-Below are some rules for picking the right category for a package.
-Many packages fall under several categories; what matters is the
-<emphasis>primary</emphasis> purpose of a package.  For example, the
-<literal>libxml2</literal> package builds both a library and some
-tools; but it’s a library foremost, so it goes under
-<filename>pkgs/development/libraries</filename>.</para>
-
-<para>When in doubt, consider refactoring the
-<filename>pkgs/</filename> tree, e.g. creating new categories or
-splitting up an existing category.</para>
-
-<variablelist>
-  <varlistentry>
-    <term>If it’s used to support <emphasis>software development</emphasis>:</term>
+  <para>
+   In Nixpkgs, there are generally three different names associated with a
+   package:
+   <itemizedlist>
     <listitem>
-      <variablelist>
-        <varlistentry>
-          <term>If it’s a <emphasis>library</emphasis> used by other packages:</term>
-          <listitem>
-            <para><filename>development/libraries</filename> (e.g. <filename>libxml2</filename>)</para>
-          </listitem>
-        </varlistentry>
-        <varlistentry>
-          <term>If it’s a <emphasis>compiler</emphasis>:</term>
-          <listitem>
-            <para><filename>development/compilers</filename> (e.g. <filename>gcc</filename>)</para>
-          </listitem>
-        </varlistentry>
-        <varlistentry>
-          <term>If it’s an <emphasis>interpreter</emphasis>:</term>
-          <listitem>
-            <para><filename>development/interpreters</filename> (e.g. <filename>guile</filename>)</para>
-          </listitem>
-        </varlistentry>
-        <varlistentry>
-          <term>If it’s a (set of) development <emphasis>tool(s)</emphasis>:</term>
-          <listitem>
-            <variablelist>
-              <varlistentry>
-                <term>If it’s a <emphasis>parser generator</emphasis> (including lexers):</term>
-                <listitem>
-                  <para><filename>development/tools/parsing</filename> (e.g. <filename>bison</filename>, <filename>flex</filename>)</para>
-                </listitem>
-              </varlistentry>
-              <varlistentry>
-                <term>If it’s a <emphasis>build manager</emphasis>:</term>
-                <listitem>
-                  <para><filename>development/tools/build-managers</filename> (e.g. <filename>gnumake</filename>)</para>
-                </listitem>
-              </varlistentry>
-              <varlistentry>
-                <term>Else:</term>
-                <listitem>
-                  <para><filename>development/tools/misc</filename> (e.g. <filename>binutils</filename>)</para>
-                </listitem>
-              </varlistentry>
-            </variablelist>
-          </listitem>
-        </varlistentry>
-        <varlistentry>
-          <term>Else:</term>
-          <listitem>
-            <para><filename>development/misc</filename></para>
-          </listitem>
-        </varlistentry>
-      </variablelist>
+     <para>
+      The <varname>name</varname> attribute of the derivation (excluding the
+      version part). This is what most users see, in particular when using
+      <command>nix-env</command>.
+     </para>
     </listitem>
-  </varlistentry>
-  <varlistentry>
-    <term>If it’s a (set of) <emphasis>tool(s)</emphasis>:</term>
     <listitem>
-      <para>(A tool is a relatively small program, especially one intended
-      to be used non-interactively.)</para>
-      <variablelist>
-        <varlistentry>
-          <term>If it’s for <emphasis>networking</emphasis>:</term>
-          <listitem>
-            <para><filename>tools/networking</filename> (e.g. <filename>wget</filename>)</para>
-          </listitem>
-        </varlistentry>
-        <varlistentry>
-          <term>If it’s for <emphasis>text processing</emphasis>:</term>
-          <listitem>
-            <para><filename>tools/text</filename> (e.g. <filename>diffutils</filename>)</para>
-          </listitem>
-        </varlistentry>
-        <varlistentry>
-          <term>If it’s a <emphasis>system utility</emphasis>, i.e.,
-          something related or essential to the operation of a
-          system:</term>
-          <listitem>
-            <para><filename>tools/system</filename> (e.g. <filename>cron</filename>)</para>
-          </listitem>
-        </varlistentry>
-        <varlistentry>
-          <term>If it’s an <emphasis>archiver</emphasis> (which may
-          include a compression function):</term>
-          <listitem>
-            <para><filename>tools/archivers</filename> (e.g. <filename>zip</filename>, <filename>tar</filename>)</para>
-          </listitem>
-        </varlistentry>
-        <varlistentry>
-          <term>If it’s a <emphasis>compression</emphasis> program:</term>
-          <listitem>
-            <para><filename>tools/compression</filename> (e.g. <filename>gzip</filename>, <filename>bzip2</filename>)</para>
-          </listitem>
-        </varlistentry>
-        <varlistentry>
-          <term>If it’s a <emphasis>security</emphasis>-related program:</term>
-          <listitem>
-            <para><filename>tools/security</filename> (e.g. <filename>nmap</filename>, <filename>gnupg</filename>)</para>
-          </listitem>
-        </varlistentry>
-        <varlistentry>
-          <term>Else:</term>
-          <listitem>
-            <para><filename>tools/misc</filename></para>
-          </listitem>
-        </varlistentry>
-      </variablelist>
+     <para>
+      The variable name used for the instantiated package in
+      <filename>all-packages.nix</filename>, and when passing it as a
+      dependency to other functions. Typically this is called the
+      <emphasis>package attribute name</emphasis>. This is what Nix expression
+      authors see. It can also be used when installing using <command>nix-env
+      -iA</command>.
+     </para>
     </listitem>
-  </varlistentry>
-  <varlistentry>
-    <term>If it’s a <emphasis>shell</emphasis>:</term>
     <listitem>
-      <para><filename>shells</filename> (e.g. <filename>bash</filename>)</para>
+     <para>
+      The filename for (the directory containing) the Nix expression.
+     </para>
     </listitem>
-  </varlistentry>
-  <varlistentry>
-    <term>If it’s a <emphasis>server</emphasis>:</term>
+   </itemizedlist>
+   Most of the time, these are the same. For instance, the package
+   <literal>e2fsprogs</literal> has a <varname>name</varname> attribute
+   <literal>"e2fsprogs-<replaceable>version</replaceable>"</literal>, is bound
+   to the variable name <varname>e2fsprogs</varname> in
+   <filename>all-packages.nix</filename>, and the Nix expression is in
+   <filename>pkgs/os-specific/linux/e2fsprogs/default.nix</filename>.
+  </para>
+
+  <para>
+   There are a few naming guidelines:
+   <itemizedlist>
     <listitem>
-      <variablelist>
-        <varlistentry>
-          <term>If it’s a web server:</term>
-          <listitem>
-            <para><filename>servers/http</filename> (e.g. <filename>apache-httpd</filename>)</para>
-          </listitem>
-        </varlistentry>
-        <varlistentry>
-          <term>If it’s an implementation of the X Windowing System:</term>
-          <listitem>
-            <para><filename>servers/x11</filename> (e.g. <filename>xorg</filename> — this includes the client libraries and programs)</para>
-          </listitem>
-        </varlistentry>
-        <varlistentry>
-          <term>Else:</term>
-          <listitem>
-            <para><filename>servers/misc</filename></para>
-          </listitem>
-        </varlistentry>
-      </variablelist>
+     <para>
+      Generally, try to stick to the upstream package name.
+     </para>
     </listitem>
-  </varlistentry>
-  <varlistentry>
-    <term>If it’s a <emphasis>desktop environment</emphasis>:</term>
     <listitem>
-      <para><filename>desktops</filename> (e.g. <filename>kde</filename>, <filename>gnome</filename>, <filename>enlightenment</filename>)</para>
+     <para>
+      Don’t use uppercase letters in the <literal>name</literal> attribute
+      — e.g., <literal>"mplayer-1.0rc2"</literal> instead of
+      <literal>"MPlayer-1.0rc2"</literal>.
+     </para>
     </listitem>
-  </varlistentry>
-  <varlistentry>
-    <term>If it’s a <emphasis>window manager</emphasis>:</term>
     <listitem>
-      <para><filename>applications/window-managers</filename> (e.g. <filename>awesome</filename>, <filename>stumpwm</filename>)</para>
+     <para>
+      The version part of the <literal>name</literal> attribute
+      <emphasis>must</emphasis> start with a digit (following a dash) — e.g.,
+      <literal>"hello-0.3.1rc2"</literal>.
+     </para>
     </listitem>
-  </varlistentry>
-  <varlistentry>
-    <term>If it’s an <emphasis>application</emphasis>:</term>
     <listitem>
-      <para>A (typically large) program with a distinct user
-      interface, primarily used interactively.</para>
-      <variablelist>
-        <varlistentry>
-          <term>If it’s a <emphasis>version management system</emphasis>:</term>
-          <listitem>
-            <para><filename>applications/version-management</filename> (e.g. <filename>subversion</filename>)</para>
-          </listitem>
-        </varlistentry>
-        <varlistentry>
-          <term>If it’s for <emphasis>video playback / editing</emphasis>:</term>
-          <listitem>
-            <para><filename>applications/video</filename> (e.g. <filename>vlc</filename>)</para>
-          </listitem>
-        </varlistentry>
-        <varlistentry>
-          <term>If it’s for <emphasis>graphics viewing / editing</emphasis>:</term>
-          <listitem>
-            <para><filename>applications/graphics</filename> (e.g. <filename>gimp</filename>)</para>
-          </listitem>
-        </varlistentry>
-        <varlistentry>
-          <term>If it’s for <emphasis>networking</emphasis>:</term>
-          <listitem>
-            <variablelist>
-              <varlistentry>
-                <term>If it’s a <emphasis>mailreader</emphasis>:</term>
-                <listitem>
-                  <para><filename>applications/networking/mailreaders</filename> (e.g. <filename>thunderbird</filename>)</para>
-                </listitem>
-              </varlistentry>
-              <varlistentry>
-                <term>If it’s a <emphasis>newsreader</emphasis>:</term>
-                <listitem>
-                  <para><filename>applications/networking/newsreaders</filename> (e.g. <filename>pan</filename>)</para>
-                </listitem>
-              </varlistentry>
-              <varlistentry>
-                <term>If it’s a <emphasis>web browser</emphasis>:</term>
-                <listitem>
-                  <para><filename>applications/networking/browsers</filename> (e.g. <filename>firefox</filename>)</para>
-                </listitem>
-              </varlistentry>
-              <varlistentry>
-                <term>Else:</term>
-                <listitem>
-                  <para><filename>applications/networking/misc</filename></para>
-                </listitem>
-              </varlistentry>
-            </variablelist>
-          </listitem>
-        </varlistentry>
-        <varlistentry>
-          <term>Else:</term>
-          <listitem>
-            <para><filename>applications/misc</filename></para>
-          </listitem>
-        </varlistentry>
-      </variablelist>
+     <para>
+      If a package is not a release but a commit from a repository, then the
+      version part of the name <emphasis>must</emphasis> be the date of that
+      (fetched) commit. The date must be in <literal>"YYYY-MM-DD"</literal>
+      format. Also append <literal>"unstable"</literal> to the name - e.g.,
+      <literal>"pkgname-unstable-2014-09-23"</literal>.
+     </para>
     </listitem>
-  </varlistentry>
-  <varlistentry>
-    <term>If it’s <emphasis>data</emphasis> (i.e., does not have a
-    straight-forward executable semantics):</term>
     <listitem>
-      <variablelist>
-        <varlistentry>
-          <term>If it’s a <emphasis>font</emphasis>:</term>
-          <listitem>
-            <para><filename>data/fonts</filename></para>
-          </listitem>
-        </varlistentry>
-        <varlistentry>
-          <term>If it’s related to <emphasis>SGML/XML processing</emphasis>:</term>
-          <listitem>
-            <variablelist>
-              <varlistentry>
-                <term>If it’s an <emphasis>XML DTD</emphasis>:</term>
-                <listitem>
-                  <para><filename>data/sgml+xml/schemas/xml-dtd</filename> (e.g. <filename>docbook</filename>)</para>
-                </listitem>
-              </varlistentry>
-              <varlistentry>
-                <term>If it’s an <emphasis>XSLT stylesheet</emphasis>:</term>
-                <listitem>
-                  <para>(Okay, these are executable...)</para>
-                  <para><filename>data/sgml+xml/stylesheets/xslt</filename> (e.g. <filename>docbook-xsl</filename>)</para>
-                </listitem>
-              </varlistentry>
-            </variablelist>
-          </listitem>
-        </varlistentry>
-      </variablelist>
+     <para>
+      Dashes in the package name should be preserved in new variable names,
+      rather than converted to underscores or camel cased — e.g.,
+      <varname>http-parser</varname> instead of <varname>http_parser</varname>
+      or <varname>httpParser</varname>. The hyphenated style is preferred in
+      all three package names.
+     </para>
     </listitem>
-  </varlistentry>
-  <varlistentry>
-    <term>If it’s a <emphasis>game</emphasis>:</term>
     <listitem>
-      <para><filename>games</filename></para>
+     <para>
+      If there are multiple versions of a package, this should be reflected in
+      the variable names in <filename>all-packages.nix</filename>, e.g.
+      <varname>json-c-0-9</varname> and <varname>json-c-0-11</varname>. If
+      there is an obvious “default” version, make an attribute like
+      <literal>json-c = json-c-0-9;</literal>. See also
+      <xref linkend="sec-versioning" />
+     </para>
     </listitem>
-  </varlistentry>
-  <varlistentry>
-    <term>Else:</term>
-    <listitem>
-      <para><filename>misc</filename></para>
-    </listitem>
-  </varlistentry>
-</variablelist>
-
-</section>
-
-<section xml:id="sec-versioning"><title>Versioning</title>
-
-<para>Because every version of a package in Nixpkgs creates a
-potential maintenance burden, old versions of a package should not be
-kept unless there is a good reason to do so.  For instance, Nixpkgs
-contains several versions of GCC because other packages don’t build
-with the latest version of GCC.  Other examples are having both the
-latest stable and latest pre-release version of a package, or to keep
-several major releases of an application that differ significantly in
-functionality.</para>
-
-<para>If there is only one version of a package, its Nix expression
-should be named <filename>e2fsprogs/default.nix</filename>.  If there
-are multiple versions, this should be reflected in the filename,
-e.g. <filename>e2fsprogs/1.41.8.nix</filename> and
-<filename>e2fsprogs/1.41.9.nix</filename>.  The version in the
-filename should leave out unnecessary detail.  For instance, if we
-keep the latest Firefox 2.0.x and 3.5.x versions in Nixpkgs, they
-should be named <filename>firefox/2.0.nix</filename> and
-<filename>firefox/3.5.nix</filename>, respectively (which, at a given
-point, might contain versions <literal>2.0.0.20</literal> and
-<literal>3.5.4</literal>).  If a version requires many auxiliary
-files, you can use a subdirectory for each version,
-e.g. <filename>firefox/2.0/default.nix</filename> and
-<filename>firefox/3.5/default.nix</filename>.</para>
+   </itemizedlist>
+  </para>
+ </section>
+ <section xml:id="sec-organisation">
+  <title>File naming and organisation</title>
 
-<para>All versions of a package <emphasis>must</emphasis> be included
-in <filename>all-packages.nix</filename> to make sure that they
-evaluate correctly.</para>
+  <para>
+   Names of files and directories should be in lowercase, with dashes between
+   words — not in camel case. For instance, it should be
+   <filename>all-packages.nix</filename>, not
+   <filename>allPackages.nix</filename> or
+   <filename>AllPackages.nix</filename>.
+  </para>
 
-</section>
+  <section xml:id="sec-hierarchy">
+   <title>Hierarchy</title>
+
+   <para>
+    Each package should be stored in its own directory somewhere in the
+    <filename>pkgs/</filename> tree, i.e. in
+    <filename>pkgs/<replaceable>category</replaceable>/<replaceable>subcategory</replaceable>/<replaceable>...</replaceable>/<replaceable>pkgname</replaceable></filename>.
+    Below are some rules for picking the right category for a package. Many
+    packages fall under several categories; what matters is the
+    <emphasis>primary</emphasis> purpose of a package. For example, the
+    <literal>libxml2</literal> package builds both a library and some tools;
+    but it’s a library foremost, so it goes under
+    <filename>pkgs/development/libraries</filename>.
+   </para>
+
+   <para>
+    When in doubt, consider refactoring the <filename>pkgs/</filename> tree,
+    e.g. creating new categories or splitting up an existing category.
+   </para>
+
+   <variablelist>
+    <varlistentry>
+     <term>If it’s used to support <emphasis>software development</emphasis>:</term>
+     <listitem>
+      <variablelist>
+       <varlistentry>
+        <term>If it’s a <emphasis>library</emphasis> used by other packages:</term>
+        <listitem>
+         <para>
+          <filename>development/libraries</filename> (e.g.
+          <filename>libxml2</filename>)
+         </para>
+        </listitem>
+       </varlistentry>
+       <varlistentry>
+        <term>If it’s a <emphasis>compiler</emphasis>:</term>
+        <listitem>
+         <para>
+          <filename>development/compilers</filename> (e.g.
+          <filename>gcc</filename>)
+         </para>
+        </listitem>
+       </varlistentry>
+       <varlistentry>
+        <term>If it’s an <emphasis>interpreter</emphasis>:</term>
+        <listitem>
+         <para>
+          <filename>development/interpreters</filename> (e.g.
+          <filename>guile</filename>)
+         </para>
+        </listitem>
+       </varlistentry>
+       <varlistentry>
+        <term>If it’s a (set of) development <emphasis>tool(s)</emphasis>:</term>
+        <listitem>
+         <variablelist>
+          <varlistentry>
+           <term>If it’s a <emphasis>parser generator</emphasis> (including lexers):</term>
+           <listitem>
+            <para>
+             <filename>development/tools/parsing</filename> (e.g.
+             <filename>bison</filename>, <filename>flex</filename>)
+            </para>
+           </listitem>
+          </varlistentry>
+          <varlistentry>
+           <term>If it’s a <emphasis>build manager</emphasis>:</term>
+           <listitem>
+            <para>
+             <filename>development/tools/build-managers</filename> (e.g.
+             <filename>gnumake</filename>)
+            </para>
+           </listitem>
+          </varlistentry>
+          <varlistentry>
+           <term>Else:</term>
+           <listitem>
+            <para>
+             <filename>development/tools/misc</filename> (e.g.
+             <filename>binutils</filename>)
+            </para>
+           </listitem>
+          </varlistentry>
+         </variablelist>
+        </listitem>
+       </varlistentry>
+       <varlistentry>
+        <term>Else:</term>
+        <listitem>
+         <para>
+          <filename>development/misc</filename>
+         </para>
+        </listitem>
+       </varlistentry>
+      </variablelist>
+     </listitem>
+    </varlistentry>
+    <varlistentry>
+     <term>If it’s a (set of) <emphasis>tool(s)</emphasis>:</term>
+     <listitem>
+      <para>
+       (A tool is a relatively small program, especially one intended to be
+       used non-interactively.)
+      </para>
+      <variablelist>
+       <varlistentry>
+        <term>If it’s for <emphasis>networking</emphasis>:</term>
+        <listitem>
+         <para>
+          <filename>tools/networking</filename> (e.g.
+          <filename>wget</filename>)
+         </para>
+        </listitem>
+       </varlistentry>
+       <varlistentry>
+        <term>If it’s for <emphasis>text processing</emphasis>:</term>
+        <listitem>
+         <para>
+          <filename>tools/text</filename> (e.g. <filename>diffutils</filename>)
+         </para>
+        </listitem>
+       </varlistentry>
+       <varlistentry>
+        <term>If it’s a <emphasis>system utility</emphasis>, i.e.,
+          something related or essential to the operation of a
+          system:</term>
+        <listitem>
+         <para>
+          <filename>tools/system</filename> (e.g. <filename>cron</filename>)
+         </para>
+        </listitem>
+       </varlistentry>
+       <varlistentry>
+        <term>If it’s an <emphasis>archiver</emphasis> (which may
+          include a compression function):</term>
+        <listitem>
+         <para>
+          <filename>tools/archivers</filename> (e.g. <filename>zip</filename>,
+          <filename>tar</filename>)
+         </para>
+        </listitem>
+       </varlistentry>
+       <varlistentry>
+        <term>If it’s a <emphasis>compression</emphasis> program:</term>
+        <listitem>
+         <para>
+          <filename>tools/compression</filename> (e.g.
+          <filename>gzip</filename>, <filename>bzip2</filename>)
+         </para>
+        </listitem>
+       </varlistentry>
+       <varlistentry>
+        <term>If it’s a <emphasis>security</emphasis>-related program:</term>
+        <listitem>
+         <para>
+          <filename>tools/security</filename> (e.g. <filename>nmap</filename>,
+          <filename>gnupg</filename>)
+         </para>
+        </listitem>
+       </varlistentry>
+       <varlistentry>
+        <term>Else:</term>
+        <listitem>
+         <para>
+          <filename>tools/misc</filename>
+         </para>
+        </listitem>
+       </varlistentry>
+      </variablelist>
+     </listitem>
+    </varlistentry>
+    <varlistentry>
+     <term>If it’s a <emphasis>shell</emphasis>:</term>
+     <listitem>
+      <para>
+       <filename>shells</filename> (e.g. <filename>bash</filename>)
+      </para>
+     </listitem>
+    </varlistentry>
+    <varlistentry>
+     <term>If it’s a <emphasis>server</emphasis>:</term>
+     <listitem>
+      <variablelist>
+       <varlistentry>
+        <term>If it’s a web server:</term>
+        <listitem>
+         <para>
+          <filename>servers/http</filename> (e.g.
+          <filename>apache-httpd</filename>)
+         </para>
+        </listitem>
+       </varlistentry>
+       <varlistentry>
+        <term>If it’s an implementation of the X Windowing System:</term>
+        <listitem>
+         <para>
+          <filename>servers/x11</filename> (e.g. <filename>xorg</filename> —
+          this includes the client libraries and programs)
+         </para>
+        </listitem>
+       </varlistentry>
+       <varlistentry>
+        <term>Else:</term>
+        <listitem>
+         <para>
+          <filename>servers/misc</filename>
+         </para>
+        </listitem>
+       </varlistentry>
+      </variablelist>
+     </listitem>
+    </varlistentry>
+    <varlistentry>
+     <term>If it’s a <emphasis>desktop environment</emphasis>:</term>
+     <listitem>
+      <para>
+       <filename>desktops</filename> (e.g. <filename>kde</filename>,
+       <filename>gnome</filename>, <filename>enlightenment</filename>)
+      </para>
+     </listitem>
+    </varlistentry>
+    <varlistentry>
+     <term>If it’s a <emphasis>window manager</emphasis>:</term>
+     <listitem>
+      <para>
+       <filename>applications/window-managers</filename> (e.g.
+       <filename>awesome</filename>, <filename>stumpwm</filename>)
+      </para>
+     </listitem>
+    </varlistentry>
+    <varlistentry>
+     <term>If it’s an <emphasis>application</emphasis>:</term>
+     <listitem>
+      <para>
+       A (typically large) program with a distinct user interface, primarily
+       used interactively.
+      </para>
+      <variablelist>
+       <varlistentry>
+        <term>If it’s a <emphasis>version management system</emphasis>:</term>
+        <listitem>
+         <para>
+          <filename>applications/version-management</filename> (e.g.
+          <filename>subversion</filename>)
+         </para>
+        </listitem>
+       </varlistentry>
+       <varlistentry>
+        <term>If it’s for <emphasis>video playback / editing</emphasis>:</term>
+        <listitem>
+         <para>
+          <filename>applications/video</filename> (e.g.
+          <filename>vlc</filename>)
+         </para>
+        </listitem>
+       </varlistentry>
+       <varlistentry>
+        <term>If it’s for <emphasis>graphics viewing / editing</emphasis>:</term>
+        <listitem>
+         <para>
+          <filename>applications/graphics</filename> (e.g.
+          <filename>gimp</filename>)
+         </para>
+        </listitem>
+       </varlistentry>
+       <varlistentry>
+        <term>If it’s for <emphasis>networking</emphasis>:</term>
+        <listitem>
+         <variablelist>
+          <varlistentry>
+           <term>If it’s a <emphasis>mailreader</emphasis>:</term>
+           <listitem>
+            <para>
+             <filename>applications/networking/mailreaders</filename> (e.g.
+             <filename>thunderbird</filename>)
+            </para>
+           </listitem>
+          </varlistentry>
+          <varlistentry>
+           <term>If it’s a <emphasis>newsreader</emphasis>:</term>
+           <listitem>
+            <para>
+             <filename>applications/networking/newsreaders</filename> (e.g.
+             <filename>pan</filename>)
+            </para>
+           </listitem>
+          </varlistentry>
+          <varlistentry>
+           <term>If it’s a <emphasis>web browser</emphasis>:</term>
+           <listitem>
+            <para>
+             <filename>applications/networking/browsers</filename> (e.g.
+             <filename>firefox</filename>)
+            </para>
+           </listitem>
+          </varlistentry>
+          <varlistentry>
+           <term>Else:</term>
+           <listitem>
+            <para>
+             <filename>applications/networking/misc</filename>
+            </para>
+           </listitem>
+          </varlistentry>
+         </variablelist>
+        </listitem>
+       </varlistentry>
+       <varlistentry>
+        <term>Else:</term>
+        <listitem>
+         <para>
+          <filename>applications/misc</filename>
+         </para>
+        </listitem>
+       </varlistentry>
+      </variablelist>
+     </listitem>
+    </varlistentry>
+    <varlistentry>
+     <term>If it’s <emphasis>data</emphasis> (i.e., does not have a
+    straight-forward executable semantics):</term>
+     <listitem>
+      <variablelist>
+       <varlistentry>
+        <term>If it’s a <emphasis>font</emphasis>:</term>
+        <listitem>
+         <para>
+          <filename>data/fonts</filename>
+         </para>
+        </listitem>
+       </varlistentry>
+       <varlistentry>
+        <term>If it’s related to <emphasis>SGML/XML processing</emphasis>:</term>
+        <listitem>
+         <variablelist>
+          <varlistentry>
+           <term>If it’s an <emphasis>XML DTD</emphasis>:</term>
+           <listitem>
+            <para>
+             <filename>data/sgml+xml/schemas/xml-dtd</filename> (e.g.
+             <filename>docbook</filename>)
+            </para>
+           </listitem>
+          </varlistentry>
+          <varlistentry>
+           <term>If it’s an <emphasis>XSLT stylesheet</emphasis>:</term>
+           <listitem>
+            <para>
+             (Okay, these are executable...)
+            </para>
+            <para>
+             <filename>data/sgml+xml/stylesheets/xslt</filename> (e.g.
+             <filename>docbook-xsl</filename>)
+            </para>
+           </listitem>
+          </varlistentry>
+         </variablelist>
+        </listitem>
+       </varlistentry>
+      </variablelist>
+     </listitem>
+    </varlistentry>
+    <varlistentry>
+     <term>If it’s a <emphasis>game</emphasis>:</term>
+     <listitem>
+      <para>
+       <filename>games</filename>
+      </para>
+     </listitem>
+    </varlistentry>
+    <varlistentry>
+     <term>Else:</term>
+     <listitem>
+      <para>
+       <filename>misc</filename>
+      </para>
+     </listitem>
+    </varlistentry>
+   </variablelist>
+  </section>
+
+  <section xml:id="sec-versioning">
+   <title>Versioning</title>
+
+   <para>
+    Because every version of a package in Nixpkgs creates a potential
+    maintenance burden, old versions of a package should not be kept unless
+    there is a good reason to do so. For instance, Nixpkgs contains several
+    versions of GCC because other packages don’t build with the latest
+    version of GCC. Other examples are having both the latest stable and latest
+    pre-release version of a package, or to keep several major releases of an
+    application that differ significantly in functionality.
+   </para>
+
+   <para>
+    If there is only one version of a package, its Nix expression should be
+    named <filename>e2fsprogs/default.nix</filename>. If there are multiple
+    versions, this should be reflected in the filename, e.g.
+    <filename>e2fsprogs/1.41.8.nix</filename> and
+    <filename>e2fsprogs/1.41.9.nix</filename>. The version in the filename
+    should leave out unnecessary detail. For instance, if we keep the latest
+    Firefox 2.0.x and 3.5.x versions in Nixpkgs, they should be named
+    <filename>firefox/2.0.nix</filename> and
+    <filename>firefox/3.5.nix</filename>, respectively (which, at a given
+    point, might contain versions <literal>2.0.0.20</literal> and
+    <literal>3.5.4</literal>). If a version requires many auxiliary files, you
+    can use a subdirectory for each version, e.g.
+    <filename>firefox/2.0/default.nix</filename> and
+    <filename>firefox/3.5/default.nix</filename>.
+   </para>
+
+   <para>
+    All versions of a package <emphasis>must</emphasis> be included in
+    <filename>all-packages.nix</filename> to make sure that they evaluate
+    correctly.
+   </para>
+  </section>
+ </section>
+ <section xml:id="sec-sources">
+  <title>Fetching Sources</title>
 
-</section>
-<section xml:id="sec-sources"><title>Fetching Sources</title>
-  <para>There are multiple ways to fetch a package source in nixpkgs. The
-    general guideline is that you should package sources with a high degree of
-    availability. Right now there is only one fetcher which has mirroring
-    support and that is <literal>fetchurl</literal>. Note that you should also
-    prefer protocols which have a corresponding proxy environment variable.
+  <para>
+   There are multiple ways to fetch a package source in nixpkgs. The general
+   guideline is that you should package sources with a high degree of
+   availability. Right now there is only one fetcher which has mirroring
+   support and that is <literal>fetchurl</literal>. Note that you should also
+   prefer protocols which have a corresponding proxy environment variable.
   </para>
-  <para>You can find many source fetch helpers in <literal>pkgs/build-support/fetch*</literal>.
+
+  <para>
+   You can find many source fetch helpers in
+   <literal>pkgs/build-support/fetch*</literal>.
   </para>
-  <para>In the file <literal>pkgs/top-level/all-packages.nix</literal> you can
-    find fetch helpers, these have names on the form
-    <literal>fetchFrom*</literal>. The intention of these are to provide
-    snapshot fetches but using the same api as some of the version controlled
-    fetchers from <literal>pkgs/build-support/</literal>. As an example going
-    from bad to good:
-    <itemizedlist>
-      <listitem>
-        <para>Bad: Uses <literal>git://</literal> which won't be proxied.
+
+  <para>
+   In the file <literal>pkgs/top-level/all-packages.nix</literal> you can find
+   fetch helpers, these have names on the form <literal>fetchFrom*</literal>.
+   The intention of these are to provide snapshot fetches but using the same
+   api as some of the version controlled fetchers from
+   <literal>pkgs/build-support/</literal>. As an example going from bad to
+   good:
+   <itemizedlist>
+    <listitem>
+     <para>
+      Bad: Uses <literal>git://</literal> which won't be proxied.
 <programlisting>
 src = fetchgit {
   url = "git://github.com/NixOS/nix.git";
@@ -632,10 +742,11 @@ src = fetchgit {
   sha256 = "1cw5fszffl5pkpa6s6wjnkiv6lm5k618s32sp60kvmvpy7a2v9kg";
 }
 </programlisting>
-        </para>
-      </listitem>
-      <listitem>
-        <para>Better: This is ok, but an archive fetch will still be faster.
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      Better: This is ok, but an archive fetch will still be faster.
 <programlisting>
 src = fetchgit {
   url = "https://github.com/NixOS/nix.git";
@@ -643,10 +754,11 @@ src = fetchgit {
   sha256 = "1cw5fszffl5pkpa6s6wjnkiv6lm5k618s32sp60kvmvpy7a2v9kg";
 }
 </programlisting>
-        </para>
-      </listitem>
-      <listitem>
-        <para>Best: Fetches a snapshot archive and you get the rev you want.
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      Best: Fetches a snapshot archive and you get the rev you want.
 <programlisting>
 src = fetchFromGitHub {
   owner = "NixOS";
@@ -655,15 +767,19 @@ src = fetchFromGitHub {
   sha256 = "04yri911rj9j19qqqn6m82266fl05pz98inasni0vxr1cf1gdgv9";
 }
 </programlisting>
-        </para>
-      </listitem>
-    </itemizedlist>
+     </para>
+    </listitem>
+   </itemizedlist>
+  </para>
+ </section>
+ <section xml:id="sec-patches">
+  <title>Patches</title>
+
+  <para>
+   Patches available online should be retrieved using
+   <literal>fetchpatch</literal>.
   </para>
-</section>
 
-<section xml:id="sec-patches"><title>Patches</title>
-  <para>Patches available online should be retrieved using
-    <literal>fetchpatch</literal>.</para>
   <para>
 <programlisting>
 patches = [
@@ -675,30 +791,54 @@ patches = [
 ];
 </programlisting>
   </para>
-  <para>Otherwise, you can add a <literal>.patch</literal> file to the
-  <literal>nixpkgs</literal> repository. In the interest of keeping our
-  maintenance burden to a minimum, only patches that are unique
-  to <literal>nixpkgs</literal> should be added in this way.</para>
-<para><programlisting>
+
+  <para>
+   Otherwise, you can add a <literal>.patch</literal> file to the
+   <literal>nixpkgs</literal> repository. In the interest of keeping our
+   maintenance burden to a minimum, only patches that are unique to
+   <literal>nixpkgs</literal> should be added in this way.
+  </para>
+
+  <para>
+<programlisting>
 patches = [ ./0001-changes.patch ];
-</programlisting></para>
-  <para>If you do need to do create this sort of patch file,
-  one way to do so is with git:
-  <orderedlist>
-    <listitem><para>Move to the root directory of the source code
-    you're patching.<screen>
-$ cd the/program/source</screen></para></listitem>
-    <listitem><para>If a git repository is not already present,
-    create one and stage all of the source files.<screen>
+</programlisting>
+  </para>
+
+  <para>
+   If you do need to do create this sort of patch file, one way to do so is
+   with git:
+   <orderedlist>
+    <listitem>
+     <para>
+      Move to the root directory of the source code you're patching.
+<screen>
+$ cd the/program/source</screen>
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      If a git repository is not already present, create one and stage all of
+      the source files.
+<screen>
 $ git init
-$ git add .</screen></para></listitem>
-    <listitem><para>Edit some files to make whatever changes need
-    to be included in the patch.</para></listitem>
-    <listitem><para>Use git to create a diff, and pipe the output
-    to a patch file:<screen>
+$ git add .</screen>
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      Edit some files to make whatever changes need to be included in the
+      patch.
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      Use git to create a diff, and pipe the output to a patch file:
+<screen>
 $ git diff > nixpkgs/pkgs/the/package/0001-changes.patch</screen>
-    </para></listitem>
-  </orderedlist></para>
-</section>
-
+     </para>
+    </listitem>
+   </orderedlist>
+  </para>
+ </section>
 </chapter>
diff --git a/doc/configuration.xml b/doc/configuration.xml
index 55c5ea809d3..c91f38f3093 100644
--- a/doc/configuration.xml
+++ b/doc/configuration.xml
@@ -1,40 +1,51 @@
 <chapter xmlns="http://docbook.org/ns/docbook"
          xmlns:xlink="http://www.w3.org/1999/xlink"
          xml:id="chap-packageconfig">
-
-<title>Global configuration</title>
-
-<para>Nix comes with certain defaults about what packages can and
-cannot be installed, based on a package's metadata. By default, Nix
-will prevent installation if any of the following criteria are
-true:</para>
-
-<itemizedlist>
-  <listitem><para>The package is thought to be broken, and has had
-  its <literal>meta.broken</literal> set to
-  <literal>true</literal>.</para></listitem>
-
-  <listitem><para>The package's <literal>meta.license</literal> is set
-  to a license which is considered to be unfree.</para></listitem>
-
-  <listitem><para>The package has known security vulnerabilities but
-  has not or can not be updated for some reason, and a list of issues
-  has been entered in to the package's
-  <literal>meta.knownVulnerabilities</literal>.</para></listitem>
-</itemizedlist>
-
-<para>Note that all this is checked during evaluation already,
-and the check includes any package that is evaluated.
-In particular, all build-time dependencies are checked.
-<literal>nix-env -qa</literal> will (attempt to) hide any packages
-that would be refused.
-</para>
-
-<para>Each of these criteria can be altered in the nixpkgs
-configuration.</para>
-
-<para>The nixpkgs configuration for a NixOS system is set in the
-<literal>configuration.nix</literal>, as in the following example:
+ <title>Global configuration</title>
+ <para>
+  Nix comes with certain defaults about what packages can and cannot be
+  installed, based on a package's metadata. By default, Nix will prevent
+  installation if any of the following criteria are true:
+ </para>
+ <itemizedlist>
+  <listitem>
+   <para>
+    The package is thought to be broken, and has had its
+    <literal>meta.broken</literal> set to <literal>true</literal>.
+   </para>
+  </listitem>
+  <listitem>
+   <para>
+    The package isn't intended to run on the given system, as none of its
+    <literal>meta.platforms</literal> match the given system.
+   </para>
+  </listitem>
+  <listitem>
+   <para>
+    The package's <literal>meta.license</literal> is set to a license which is
+    considered to be unfree.
+   </para>
+  </listitem>
+  <listitem>
+   <para>
+    The package has known security vulnerabilities but has not or can not be
+    updated for some reason, and a list of issues has been entered in to the
+    package's <literal>meta.knownVulnerabilities</literal>.
+   </para>
+  </listitem>
+ </itemizedlist>
+ <para>
+  Note that all this is checked during evaluation already, and the check
+  includes any package that is evaluated. In particular, all build-time
+  dependencies are checked. <literal>nix-env -qa</literal> will (attempt to)
+  hide any packages that would be refused.
+ </para>
+ <para>
+  Each of these criteria can be altered in the nixpkgs configuration.
+ </para>
+ <para>
+  The nixpkgs configuration for a NixOS system is set in the
+  <literal>configuration.nix</literal>, as in the following example:
 <programlisting>
 {
   nixpkgs.config = {
@@ -42,151 +53,197 @@ configuration.</para>
   };
 }
 </programlisting>
-However, this does not allow unfree software for individual users.
-Their configurations are managed separately.</para>
-
-<para>A user's of nixpkgs configuration is stored in a user-specific
-configuration file located at
-<filename>~/.config/nixpkgs/config.nix</filename>. For example:
+  However, this does not allow unfree software for individual users. Their
+  configurations are managed separately.
+ </para>
+ <para>
+  A user's of nixpkgs configuration is stored in a user-specific configuration
+  file located at <filename>~/.config/nixpkgs/config.nix</filename>. For
+  example:
 <programlisting>
 {
   allowUnfree = true;
 }
 </programlisting>
-</para>
-
-<para>Note that we are not able to test or build unfree software on Hydra
-due to policy. Most unfree licenses prohibit us from either executing or
-distributing the software.</para>
-
-<section xml:id="sec-allow-broken">
+ </para>
+ <para>
+  Note that we are not able to test or build unfree software on Hydra due to
+  policy. Most unfree licenses prohibit us from either executing or
+  distributing the software.
+ </para>
+ <section xml:id="sec-allow-broken">
   <title>Installing broken packages</title>
 
-
-  <para>There are two ways to try compiling a package which has been
-  marked as broken.</para>
+  <para>
+   There are two ways to try compiling a package which has been marked as
+   broken.
+  </para>
 
   <itemizedlist>
-    <listitem><para>
-      For allowing the build of a broken package once, you can use an
-      environment variable for a single invocation of the nix tools:
-
-      <programlisting>$ export NIXPKGS_ALLOW_BROKEN=1</programlisting>
-    </para></listitem>
-
-    <listitem><para>
-      For permanently allowing broken packages to be built, you may
-      add <literal>allowBroken = true;</literal> to your user's
-      configuration file, like this:
-
+   <listitem>
+    <para>
+     For allowing the build of a broken package once, you can use an
+     environment variable for a single invocation of the nix tools:
+<programlisting>$ export NIXPKGS_ALLOW_BROKEN=1</programlisting>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     For permanently allowing broken packages to be built, you may add
+     <literal>allowBroken = true;</literal> to your user's configuration file,
+     like this:
 <programlisting>
 {
   allowBroken = true;
 }
 </programlisting>
-    </para></listitem>
+    </para>
+   </listitem>
   </itemizedlist>
-</section>
+ </section>
+ <section xml:id="sec-allow-unsupported-system">
+  <title>Installing packages on unsupported systems</title>
 
-<section xml:id="sec-allow-unfree">
-  <title>Installing unfree packages</title>
-
-  <para>There are several ways to tweak how Nix handles a package
-  which has been marked as unfree.</para>
+  <para>
+   There are also two ways to try compiling a package which has been marked as
+   unsuported for the given system.
+  </para>
 
   <itemizedlist>
-    <listitem><para>
-      To temporarily allow all unfree packages, you can use an
-      environment variable for a single invocation of the nix tools:
+   <listitem>
+    <para>
+     For allowing the build of a broken package once, you can use an
+     environment variable for a single invocation of the nix tools:
+<programlisting>$ export NIXPKGS_ALLOW_UNSUPPORTED_SYSTEM=1</programlisting>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     For permanently allowing broken packages to be built, you may add
+     <literal>allowUnsupportedSystem = true;</literal> to your user's
+     configuration file, like this:
+<programlisting>
+{
+  allowUnsupportedSystem = true;
+}
+</programlisting>
+    </para>
+   </listitem>
+  </itemizedlist>
 
-      <programlisting>$ export NIXPKGS_ALLOW_UNFREE=1</programlisting>
-    </para></listitem>
+  <para>
+   The difference between an a package being unsupported on some system and
+   being broken is admittedly a bit fuzzy. If a program
+   <emphasis>ought</emphasis> to work on a certain platform, but doesn't, the
+   platform should be included in <literal>meta.platforms</literal>, but marked
+   as broken with e.g. <literal>meta.broken =
+   !hostPlatform.isWindows</literal>. Of course, this begs the question of what
+   "ought" means exactly. That is left to the package maintainer.
+  </para>
+ </section>
+ <section xml:id="sec-allow-unfree">
+  <title>Installing unfree packages</title>
 
-    <listitem><para>
-      It is possible to permanently allow individual unfree packages,
-      while still blocking unfree packages by default using the
-      <literal>allowUnfreePredicate</literal> configuration
-      option in the user configuration file.</para>
+  <para>
+   There are several ways to tweak how Nix handles a package which has been
+   marked as unfree.
+  </para>
 
-      <para>This option is a function which accepts a package as a
-      parameter, and returns a boolean. The following example
-      configuration accepts a package and always returns false:
+  <itemizedlist>
+   <listitem>
+    <para>
+     To temporarily allow all unfree packages, you can use an environment
+     variable for a single invocation of the nix tools:
+<programlisting>$ export NIXPKGS_ALLOW_UNFREE=1</programlisting>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     It is possible to permanently allow individual unfree packages, while
+     still blocking unfree packages by default using the
+     <literal>allowUnfreePredicate</literal> configuration option in the user
+     configuration file.
+    </para>
+    <para>
+     This option is a function which accepts a package as a parameter, and
+     returns a boolean. The following example configuration accepts a package
+     and always returns false:
 <programlisting>
 {
   allowUnfreePredicate = (pkg: false);
 }
 </programlisting>
-      </para>
-
-      <para>A more useful example, the following configuration allows
-      only allows flash player and visual studio code:
-
+    </para>
+    <para>
+     A more useful example, the following configuration allows only allows
+     flash player and visual studio code:
 <programlisting>
 {
   allowUnfreePredicate = (pkg: elem (builtins.parseDrvName pkg.name).name [ "flashplayer" "vscode" ]);
 }
 </programlisting>
-    </para></listitem>
-
-    <listitem>
-      <para>It is also possible to whitelist and blacklist licenses
-      that are specifically acceptable or not acceptable, using
-      <literal>whitelistedLicenses</literal> and
-      <literal>blacklistedLicenses</literal>, respectively.
-      </para>
-
-      <para>The following example configuration whitelists the
-      licenses <literal>amd</literal> and <literal>wtfpl</literal>:
-
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     It is also possible to whitelist and blacklist licenses that are
+     specifically acceptable or not acceptable, using
+     <literal>whitelistedLicenses</literal> and
+     <literal>blacklistedLicenses</literal>, respectively.
+    </para>
+    <para>
+     The following example configuration whitelists the licenses
+     <literal>amd</literal> and <literal>wtfpl</literal>:
 <programlisting>
 {
   whitelistedLicenses = with stdenv.lib.licenses; [ amd wtfpl ];
 }
 </programlisting>
-      </para>
-
-      <para>The following example configuration blacklists the
-      <literal>gpl3</literal> and <literal>agpl3</literal> licenses:
-
+    </para>
+    <para>
+     The following example configuration blacklists the <literal>gpl3</literal>
+     and <literal>agpl3</literal> licenses:
 <programlisting>
 {
   blacklistedLicenses = with stdenv.lib.licenses; [ agpl3 gpl3 ];
 }
 </programlisting>
-      </para>
-    </listitem>
+    </para>
+   </listitem>
   </itemizedlist>
 
-  <para>A complete list of licenses can be found in the file
-  <filename>lib/licenses.nix</filename> of the nixpkgs tree.</para>
-</section>
-
+  <para>
+   A complete list of licenses can be found in the file
+   <filename>lib/licenses.nix</filename> of the nixpkgs tree.
+  </para>
+ </section>
+ <section xml:id="sec-allow-insecure">
+  <title>Installing insecure packages</title>
 
-<section xml:id="sec-allow-insecure">
-  <title>
-    Installing insecure packages
-  </title>
-
-  <para>There are several ways to tweak how Nix handles a package
-  which has been marked as insecure.</para>
+  <para>
+   There are several ways to tweak how Nix handles a package which has been
+   marked as insecure.
+  </para>
 
   <itemizedlist>
-    <listitem><para>
-      To temporarily allow all insecure packages, you can use an
-      environment variable for a single invocation of the nix tools:
-
-      <programlisting>$ export NIXPKGS_ALLOW_INSECURE=1</programlisting>
-    </para></listitem>
-
-    <listitem><para>
-      It is possible to permanently allow individual insecure
-      packages, while still blocking other insecure packages by
-      default using the <literal>permittedInsecurePackages</literal>
-      configuration option in the user configuration file.</para>
-
-      <para>The following example configuration permits the
-      installation of the hypothetically insecure package
-      <literal>hello</literal>, version <literal>1.2.3</literal>:
+   <listitem>
+    <para>
+     To temporarily allow all insecure packages, you can use an environment
+     variable for a single invocation of the nix tools:
+<programlisting>$ export NIXPKGS_ALLOW_INSECURE=1</programlisting>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     It is possible to permanently allow individual insecure packages, while
+     still blocking other insecure packages by default using the
+     <literal>permittedInsecurePackages</literal> configuration option in the
+     user configuration file.
+    </para>
+    <para>
+     The following example configuration permits the installation of the
+     hypothetically insecure package <literal>hello</literal>, version
+     <literal>1.2.3</literal>:
 <programlisting>
 {
   permittedInsecurePackages = [
@@ -194,47 +251,44 @@ distributing the software.</para>
   ];
 }
 </programlisting>
-      </para>
-    </listitem>
-
-    <listitem><para>
-      It is also possible to create a custom policy around which
-      insecure packages to allow and deny, by overriding the
-      <literal>allowInsecurePredicate</literal> configuration
-      option.</para>
-
-      <para>The <literal>allowInsecurePredicate</literal> option is a
-      function which accepts a package and returns a boolean, much
-      like <literal>allowUnfreePredicate</literal>.</para>
-
-      <para>The following configuration example only allows insecure
-      packages with very short names:
-
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     It is also possible to create a custom policy around which insecure
+     packages to allow and deny, by overriding the
+     <literal>allowInsecurePredicate</literal> configuration option.
+    </para>
+    <para>
+     The <literal>allowInsecurePredicate</literal> option is a function which
+     accepts a package and returns a boolean, much like
+     <literal>allowUnfreePredicate</literal>.
+    </para>
+    <para>
+     The following configuration example only allows insecure packages with
+     very short names:
 <programlisting>
 {
   allowInsecurePredicate = (pkg: (builtins.stringLength (builtins.parseDrvName pkg.name).name) &lt;= 5);
 }
 </programlisting>
-      </para>
-
-      <para>Note that <literal>permittedInsecurePackages</literal> is
-      only checked if <literal>allowInsecurePredicate</literal> is not
-      specified.
-    </para></listitem>
+    </para>
+    <para>
+     Note that <literal>permittedInsecurePackages</literal> is only checked if
+     <literal>allowInsecurePredicate</literal> is not specified.
+    </para>
+   </listitem>
   </itemizedlist>
-</section>
-
+ </section>
 <!--============================================================-->
-
-<section xml:id="sec-modify-via-packageOverrides"><title>Modify
-packages via <literal>packageOverrides</literal></title>
-
-<para>You can define a function called
-<varname>packageOverrides</varname> in your local
-<filename>~/.config/nixpkgs/config.nix</filename> to override nix packages.  It
-must be a function that takes pkgs as an argument and return modified
-set of packages.
-
+ <section xml:id="sec-modify-via-packageOverrides">
+  <title>Modify packages via <literal>packageOverrides</literal></title>
+
+  <para>
+   You can define a function called <varname>packageOverrides</varname> in your
+   local <filename>~/.config/nixpkgs/config.nix</filename> to override nix
+   packages. It must be a function that takes pkgs as an argument and return
+   modified set of packages.
 <programlisting>
 {
   packageOverrides = pkgs: rec {
@@ -242,30 +296,27 @@ set of packages.
   };
 }
 </programlisting>
-
-</para>
-
-</section>
-
-<section xml:id="sec-declarative-package-management">
+  </para>
+ </section>
+ <section xml:id="sec-declarative-package-management">
   <title>Declarative Package Management</title>
 
   <section xml:id="sec-building-environment">
-    <title>Build an environment</title>
-
-    <para>
-      Using <literal>packageOverrides</literal>, it is possible to manage
-      packages declaratively. This means that we can list all of our desired
-      packages within a declarative Nix expression. For example, to have
-      <literal>aspell</literal>, <literal>bc</literal>,
-      <literal>ffmpeg</literal>, <literal>coreutils</literal>,
-      <literal>gdb</literal>, <literal>nixUnstable</literal>,
-      <literal>emscripten</literal>, <literal>jq</literal>,
-      <literal>nox</literal>, and <literal>silver-searcher</literal>, we could
-      use the following in <filename>~/.config/nixpkgs/config.nix</filename>:
-    </para>
-
-    <screen>
+   <title>Build an environment</title>
+
+   <para>
+    Using <literal>packageOverrides</literal>, it is possible to manage
+    packages declaratively. This means that we can list all of our desired
+    packages within a declarative Nix expression. For example, to have
+    <literal>aspell</literal>, <literal>bc</literal>,
+    <literal>ffmpeg</literal>, <literal>coreutils</literal>,
+    <literal>gdb</literal>, <literal>nixUnstable</literal>,
+    <literal>emscripten</literal>, <literal>jq</literal>,
+    <literal>nox</literal>, and <literal>silver-searcher</literal>, we could
+    use the following in <filename>~/.config/nixpkgs/config.nix</filename>:
+   </para>
+
+<screen>
 {
   packageOverrides = pkgs: with pkgs; {
     myPackages = pkgs.buildEnv {
@@ -276,17 +327,17 @@ set of packages.
 }
     </screen>
 
-    <para>
-      To install it into our environment, you can just run <literal>nix-env -iA
-      nixpkgs.myPackages</literal>. If you want to load the packages to be built
-      from a working copy of <literal>nixpkgs</literal> you just run
-      <literal>nix-env -f. -iA myPackages</literal>. To explore what's been
-      installed, just look through <filename>~/.nix-profile/</filename>. You can
-      see that a lot of stuff has been installed. Some of this stuff is useful
-      some of it isn't. Let's tell Nixpkgs to only link the stuff that we want:
-    </para>
-
-    <screen>
+   <para>
+    To install it into our environment, you can just run <literal>nix-env -iA
+    nixpkgs.myPackages</literal>. If you want to load the packages to be built
+    from a working copy of <literal>nixpkgs</literal> you just run
+    <literal>nix-env -f. -iA myPackages</literal>. To explore what's been
+    installed, just look through <filename>~/.nix-profile/</filename>. You can
+    see that a lot of stuff has been installed. Some of this stuff is useful
+    some of it isn't. Let's tell Nixpkgs to only link the stuff that we want:
+   </para>
+
+<screen>
 {
   packageOverrides = pkgs: with pkgs; {
     myPackages = pkgs.buildEnv {
@@ -298,51 +349,49 @@ set of packages.
 }
     </screen>
 
-    <para>
-      <literal>pathsToLink</literal> tells Nixpkgs to only link the paths listed
-      which gets rid of the extra stuff in the profile.
-      <filename>/bin</filename> and <filename>/share</filename> are good
-      defaults for a user environment, getting rid of the clutter. If you are
-      running on Nix on MacOS, you may want to add another path as well,
-      <filename>/Applications</filename>, that makes GUI apps available.
-    </para>
-
+   <para>
+    <literal>pathsToLink</literal> tells Nixpkgs to only link the paths listed
+    which gets rid of the extra stuff in the profile. <filename>/bin</filename>
+    and <filename>/share</filename> are good defaults for a user environment,
+    getting rid of the clutter. If you are running on Nix on MacOS, you may
+    want to add another path as well, <filename>/Applications</filename>, that
+    makes GUI apps available.
+   </para>
   </section>
 
   <section xml:id="sec-getting-documentation">
-    <title>Getting documentation</title>
-
-    <para>
-      After building that new environment, look through
-      <filename>~/.nix-profile</filename> to make sure everything is there that
-      we wanted. Discerning readers will note that some files are missing. Look
-      inside <filename>~/.nix-profile/share/man/man1/</filename> to verify this.
-      There are no man pages for any of the Nix tools! This is because some
-      packages like Nix have multiple outputs for things like documentation (see
-      section 4). Let's make Nix install those as well.
-    </para>
-
-    <screen>
+   <title>Getting documentation</title>
+
+   <para>
+    After building that new environment, look through
+    <filename>~/.nix-profile</filename> to make sure everything is there that
+    we wanted. Discerning readers will note that some files are missing. Look
+    inside <filename>~/.nix-profile/share/man/man1/</filename> to verify this.
+    There are no man pages for any of the Nix tools! This is because some
+    packages like Nix have multiple outputs for things like documentation (see
+    section 4). Let's make Nix install those as well.
+   </para>
+
+<screen>
 {
   packageOverrides = pkgs: with pkgs; {
     myPackages = pkgs.buildEnv {
       name = "my-packages";
       paths = [ aspell bc coreutils ffmpeg nixUnstable emscripten jq nox silver-searcher ];
-      pathsToLink = [ "/share/man" "/share/doc" /bin" ];
+      pathsToLink = [ "/share/man" "/share/doc" "/bin" ];
       extraOutputsToInstall = [ "man" "doc" ];
     };
   };
 }
     </screen>
 
-    <para>
-      This provides us with some useful documentation for using our packages.
-      However, if we actually want those manpages to be detected by man, we need
-      to set up our environment. This can also be managed within Nix
-      expressions.
-    </para>
+   <para>
+    This provides us with some useful documentation for using our packages.
+    However, if we actually want those manpages to be detected by man, we need
+    to set up our environment. This can also be managed within Nix expressions.
+   </para>
 
-    <screen>
+<screen>
 {
   packageOverrides = pkgs: with pkgs; rec {
     myProfile = writeText "my-profile" ''
@@ -367,20 +416,20 @@ cp ${myProfile} $out/etc/profile.d/my-profile.sh
         nox
         silver-searcher
       ];
-      pathsToLink = [ "/share/man" "/share/doc" /bin" "/etc" ];
+      pathsToLink = [ "/share/man" "/share/doc" "/bin" "/etc" ];
       extraOutputsToInstall = [ "man" "doc" ];
     };
   };
 }
     </screen>
 
-    <para>
-      For this to work fully, you must also have this script sourced when you
-      are logged in. Try adding something like this to your
-      <filename>~/.profile</filename> file:
-    </para>
+   <para>
+    For this to work fully, you must also have this script sourced when you are
+    logged in. Try adding something like this to your
+    <filename>~/.profile</filename> file:
+   </para>
 
-    <screen>
+<screen>
 #!/bin/sh
 if [ -d $HOME/.nix-profile/etc/profile.d ]; then
   for i in $HOME/.nix-profile/etc/profile.d/*.sh; do
@@ -391,23 +440,22 @@ if [ -d $HOME/.nix-profile/etc/profile.d ]; then
 fi
     </screen>
 
-    <para>
-      Now just run <literal>source $HOME/.profile</literal> and you can starting
-      loading man pages from your environent.
-    </para>
-
+   <para>
+    Now just run <literal>source $HOME/.profile</literal> and you can starting
+    loading man pages from your environent.
+   </para>
   </section>
-    
+
   <section xml:id="sec-gnu-info-setup">
-    <title>GNU info setup</title>
+   <title>GNU info setup</title>
 
-    <para>
-      Configuring GNU info is a little bit trickier than man pages. To work
-      correctly, info needs a database to be generated. This can be done with
-      some small modifications to our environment scripts.
-    </para>
+   <para>
+    Configuring GNU info is a little bit trickier than man pages. To work
+    correctly, info needs a database to be generated. This can be done with
+    some small modifications to our environment scripts.
+   </para>
 
-    <screen>
+<screen>
 {
   packageOverrides = pkgs: with pkgs; rec {
     myProfile = writeText "my-profile" ''
@@ -449,16 +497,13 @@ cp ${myProfile} $out/etc/profile.d/my-profile.sh
 }
     </screen>
 
-    <para>
-      <literal>postBuild</literal> tells Nixpkgs to run a command after building
-      the environment. In this case, <literal>install-info</literal> adds the
-      installed info pages to <literal>dir</literal> which is GNU info's default
-      root node. Note that <literal>texinfoInteractive</literal> is added to the
-      environment to give the <literal>install-info</literal> command.
-    </para>
-
+   <para>
+    <literal>postBuild</literal> tells Nixpkgs to run a command after building
+    the environment. In this case, <literal>install-info</literal> adds the
+    installed info pages to <literal>dir</literal> which is GNU info's default
+    root node. Note that <literal>texinfoInteractive</literal> is added to the
+    environment to give the <literal>install-info</literal> command.
+   </para>
   </section>
-
-</section>
-
+ </section>
 </chapter>
diff --git a/doc/contributing.xml b/doc/contributing.xml
index a83059aa36e..d28442b7a2c 100644
--- a/doc/contributing.xml
+++ b/doc/contributing.xml
@@ -1,20 +1,35 @@
 <chapter xmlns="http://docbook.org/ns/docbook"
          xmlns:xlink="http://www.w3.org/1999/xlink"
          xml:id="chap-contributing">
-
-<title>Contributing to this documentation</title>
-
-<para>The DocBook sources of the Nixpkgs manual are in the <filename
+ <title>Contributing to this documentation</title>
+ <para>
+  The DocBook sources of the Nixpkgs manual are in the
+  <filename
 xlink:href="https://github.com/NixOS/nixpkgs/tree/master/doc">doc</filename>
-subdirectory of the Nixpkgs repository. If you make modifications to
-the manual, it's important to build it before committing. You can do that as follows:
-
+  subdirectory of the Nixpkgs repository.
+ </para>
+ <para>
+  You can quickly check your edits with <command>make</command>:
+ </para>
 <screen>
-$ cd /path/to/nixpkgs
-$ nix-build doc
+  $ cd /path/to/nixpkgs/doc
+  $ nix-shell
+  [nix-shell]$ make
 </screen>
-
-If the build succeeds, the manual will be in
-<filename>./result/share/doc/nixpkgs/manual.html</filename>.</para>
-
+ <para>
+  If you experience problems, run <command>make debug</command> to help
+  understand the docbook errors.
+ </para>
+ <para>
+  After making modifications to the manual, it's important to build it before
+  committing. You can do that as follows:
+<screen>
+  $ cd /path/to/nixpkgs/doc
+  $ nix-shell
+  [nix-shell]$ make clean
+  [nix-shell]$ nix-build .
+</screen>
+  If the build succeeds, the manual will be in
+  <filename>./result/share/doc/nixpkgs/manual.html</filename>.
+ </para>
 </chapter>
diff --git a/doc/cross-compilation.xml b/doc/cross-compilation.xml
index 10e4706b059..fe0e0d88d30 100644
--- a/doc/cross-compilation.xml
+++ b/doc/cross-compilation.xml
@@ -1,308 +1,469 @@
 <chapter xmlns="http://docbook.org/ns/docbook"
          xmlns:xlink="http://www.w3.org/1999/xlink"
          xml:id="chap-cross">
-
-<title>Cross-compilation</title>
-
-<section xml:id="sec-cross-intro">
+ <title>Cross-compilation</title>
+ <section xml:id="sec-cross-intro">
   <title>Introduction</title>
+
   <para>
-    "Cross-compilation" means compiling a program on one machine for another type of machine.
-    For example, a typical use of cross compilation is to compile programs for embedded devices.
-    These devices often don't have the computing power and memory to compile their own programs.
-    One might think that cross-compilation is a fairly niche concern, but there are advantages to being rigorous about distinguishing build-time vs run-time environments even when one is developing and deploying on the same machine.
-    Nixpkgs is increasingly adopting the opinion that packages should be written with cross-compilation in mind, and nixpkgs should evaluate in a similar way (by minimizing cross-compilation-specific special cases) whether or not one is cross-compiling.
+   "Cross-compilation" means compiling a program on one machine for another
+   type of machine. For example, a typical use of cross compilation is to
+   compile programs for embedded devices. These devices often don't have the
+   computing power and memory to compile their own programs. One might think
+   that cross-compilation is a fairly niche concern, but there are advantages
+   to being rigorous about distinguishing build-time vs run-time environments
+   even when one is developing and deploying on the same machine. Nixpkgs is
+   increasingly adopting the opinion that packages should be written with
+   cross-compilation in mind, and nixpkgs should evaluate in a similar way (by
+   minimizing cross-compilation-specific special cases) whether or not one is
+   cross-compiling.
   </para>
 
   <para>
-    This chapter will be organized in three parts.
-    First, it will describe the basics of how to package software in a way that supports cross-compilation.
-    Second, it will describe how to use Nixpkgs when cross-compiling.
-    Third, it will describe the internal infrastructure supporting cross-compilation.
+   This chapter will be organized in three parts. First, it will describe the
+   basics of how to package software in a way that supports cross-compilation.
+   Second, it will describe how to use Nixpkgs when cross-compiling. Third, it
+   will describe the internal infrastructure supporting cross-compilation.
   </para>
-</section>
-
+ </section>
 <!--============================================================-->
-
-<section xml:id="sec-cross-packaging">
+ <section xml:id="sec-cross-packaging">
   <title>Packaging in a cross-friendly manner</title>
 
   <section>
-    <title>Platform parameters</title>
-    <para>
-      Nixpkgs follows the <link xlink:href="https://gcc.gnu.org/onlinedocs/gccint/Configure-Terms.html">common historical convention of GNU autoconf</link> of distinguishing between 3 types of platform: <wordasword>build</wordasword>, <wordasword>host</wordasword>, and <wordasword>target</wordasword>.
+   <title>Platform parameters</title>
 
-      In summary, <wordasword>build</wordasword> is the platform on which a package is being built, <wordasword>host</wordasword> is the platform on which it is to run. The third attribute, <wordasword>target</wordasword>, is relevant only for certain specific compilers and build tools.
-    </para>
+   <para>
+    Nixpkgs follows the
+    <link xlink:href="https://gcc.gnu.org/onlinedocs/gccint/Configure-Terms.html">common
+    historical convention of GNU autoconf</link> of distinguishing between 3
+    types of platform: <wordasword>build</wordasword>,
+    <wordasword>host</wordasword>, and <wordasword>target</wordasword>. In
+    summary, <wordasword>build</wordasword> is the platform on which a package
+    is being built, <wordasword>host</wordasword> is the platform on which it
+    is to run. The third attribute, <wordasword>target</wordasword>, is
+    relevant only for certain specific compilers and build tools.
+   </para>
 
-    <para>
-      In Nixpkgs, these three platforms are defined as attribute sets under the names <literal>buildPlatform</literal>, <literal>hostPlatform</literal>, and <literal>targetPlatform</literal>.
-      All three are always defined as attributes in the standard environment, and at the top level. That means one can get at them just like a dependency in a function that is imported with <literal>callPackage</literal>:
-      <programlisting>{ stdenv, buildPlatform, hostPlatform, fooDep, barDep, .. }: ...buildPlatform...</programlisting>, or just off <varname>stdenv</varname>:
-      <programlisting>{ stdenv, fooDep, barDep, .. }: ...stdenv.buildPlatform...</programlisting>.
-    </para>
-    <variablelist>
-      <varlistentry>
-        <term><varname>buildPlatform</varname></term>
-        <listitem><para>
-          The "build platform" is the platform on which a package is built.
-          Once someone has a built package, or pre-built binary package, the build platform should not matter and be safe to ignore.
-        </para></listitem>
-      </varlistentry>
-      <varlistentry>
-        <term><varname>hostPlatform</varname></term>
-        <listitem><para>
-          The "host platform" is the platform on which a package will be run.
-          This is the simplest platform to understand, but also the one with the worst name.
-        </para></listitem>
-      </varlistentry>
-      <varlistentry>
-        <term><varname>targetPlatform</varname></term>
-        <listitem>
-          <para>
-            The "target platform" attribute is, unlike the other two attributes, not actually fundamental to the process of building software.
-            Instead, it is only relevant for compatibility with building certain specific compilers and build tools.
-            It can be safely ignored for all other packages.
-          </para>
-          <para>
-            The build process of certain compilers is written in such a way that the compiler resulting from a single build can itself only produce binaries for a single platform.
-            The task specifying this single "target platform" is thus pushed to build time of the compiler.
-            The root cause of this mistake is often that the compiler (which will be run on the host) and the the standard library/runtime (which will be run on the target) are built by a single build process.
-          </para>
-          <para>
-            There is no fundamental need to think about a single target ahead of time like this.
-            If the tool supports modular or pluggable backends, both the need to specify the target at build time and the constraint of having only a single target disappear.
-            An example of such a tool is LLVM.
-          </para>
-          <para>
-            Although the existance of a "target platfom" is arguably a historical mistake, it is a common one: examples of tools that suffer from it are GCC, Binutils, GHC and Autoconf.
-            Nixpkgs tries to avoid sharing in the mistake where possible.
-            Still, because the concept of a target platform is so ingrained, it is best to support it as is.
-          </para>
-        </listitem>
-      </varlistentry>
-    </variablelist>
-    <para>
-      The exact schema these fields follow is a bit ill-defined due to a long and convoluted evolution, but this is slowly being cleaned up.
-      You can see examples of ones used in practice in <literal>lib.systems.examples</literal>; note how they are not all very consistent.
-      For now, here are few fields can count on them containing:
-    </para>
-    <variablelist>
-      <varlistentry>
-        <term><varname>system</varname></term>
-        <listitem>
-          <para>
-            This is a two-component shorthand for the platform.
-            Examples of this would be "x86_64-darwin" and "i686-linux"; see <literal>lib.systems.doubles</literal> for more.
-            This format isn't very standard, but has built-in support in Nix, such as the <varname>builtins.currentSystem</varname> impure string.
-          </para>
-        </listitem>
-      </varlistentry>
-      <varlistentry>
-        <term><varname>config</varname></term>
-        <listitem>
-          <para>
-            This is a 3- or 4- component shorthand for the platform.
-            Examples of this would be "x86_64-unknown-linux-gnu" and "aarch64-apple-darwin14".
-            This is a standard format called the "LLVM target triple", as they are pioneered by LLVM and traditionally just used for the <varname>targetPlatform</varname>.
-            This format is strictly more informative than the "Nix host double", as the previous format could analogously be termed.
-            This needs a better name than <varname>config</varname>!
-          </para>
-        </listitem>
-      </varlistentry>
-      <varlistentry>
-        <term><varname>parsed</varname></term>
-        <listitem>
-          <para>
-            This is a nix representation of a parsed LLVM target triple with white-listed components.
-            This can be specified directly, or actually parsed from the <varname>config</varname>.
-            [Technically, only one need be specified and the others can be inferred, though the precision of inference may not be very good.]
-            See <literal>lib.systems.parse</literal> for the exact representation.
-          </para>
-        </listitem>
-      </varlistentry>
-      <varlistentry>
-        <term><varname>libc</varname></term>
-        <listitem>
-          <para>
-            This is a string identifying the standard C library used.
-            Valid identifiers include "glibc" for GNU libc, "libSystem" for Darwin's Libsystem, and "uclibc" for µClibc.
-            It should probably be refactored to use the module system, like <varname>parse</varname>.
-          </para>
-        </listitem>
-      </varlistentry>
-      <varlistentry>
-        <term><varname>is*</varname></term>
-        <listitem>
-          <para>
-            These predicates are defined in <literal>lib.systems.inspect</literal>, and slapped on every platform.
-            They are superior to the ones in <varname>stdenv</varname> as they force the user to be explicit about which platform they are inspecting.
-            Please use these instead of those.
-          </para>
-        </listitem>
-      </varlistentry>
-      <varlistentry>
-        <term><varname>platform</varname></term>
-        <listitem>
-          <para>
-            This is, quite frankly, a dumping ground of ad-hoc settings (it's an attribute set).
-            See <literal>lib.systems.platforms</literal> for examples—there's hopefully one in there that will work verbatim for each platform that is working.
-            Please help us triage these flags and give them better homes!
-          </para>
-        </listitem>
-      </varlistentry>
-    </variablelist>
+   <para>
+    In Nixpkgs, these three platforms are defined as attribute sets under the
+    names <literal>buildPlatform</literal>, <literal>hostPlatform</literal>,
+    and <literal>targetPlatform</literal>. All three are always defined as
+    attributes in the standard environment, and at the top level. That means
+    one can get at them just like a dependency in a function that is imported
+    with <literal>callPackage</literal>:
+<programlisting>{ stdenv, buildPlatform, hostPlatform, fooDep, barDep, .. }: ...buildPlatform...</programlisting>
+    , or just off <varname>stdenv</varname>:
+<programlisting>{ stdenv, fooDep, barDep, .. }: ...stdenv.buildPlatform...</programlisting>
+    .
+   </para>
+
+   <variablelist>
+    <varlistentry>
+     <term><varname>buildPlatform</varname>
+     </term>
+     <listitem>
+      <para>
+       The "build platform" is the platform on which a package is built. Once
+       someone has a built package, or pre-built binary package, the build
+       platform should not matter and be safe to ignore.
+      </para>
+     </listitem>
+    </varlistentry>
+    <varlistentry>
+     <term><varname>hostPlatform</varname>
+     </term>
+     <listitem>
+      <para>
+       The "host platform" is the platform on which a package will be run. This
+       is the simplest platform to understand, but also the one with the worst
+       name.
+      </para>
+     </listitem>
+    </varlistentry>
+    <varlistentry>
+     <term><varname>targetPlatform</varname>
+     </term>
+     <listitem>
+      <para>
+       The "target platform" attribute is, unlike the other two attributes, not
+       actually fundamental to the process of building software. Instead, it is
+       only relevant for compatibility with building certain specific compilers
+       and build tools. It can be safely ignored for all other packages.
+      </para>
+      <para>
+       The build process of certain compilers is written in such a way that the
+       compiler resulting from a single build can itself only produce binaries
+       for a single platform. The task specifying this single "target platform"
+       is thus pushed to build time of the compiler. The root cause of this
+       mistake is often that the compiler (which will be run on the host) and
+       the the standard library/runtime (which will be run on the target) are
+       built by a single build process.
+      </para>
+      <para>
+       There is no fundamental need to think about a single target ahead of
+       time like this. If the tool supports modular or pluggable backends, both
+       the need to specify the target at build time and the constraint of
+       having only a single target disappear. An example of such a tool is
+       LLVM.
+      </para>
+      <para>
+       Although the existence of a "target platfom" is arguably a historical
+       mistake, it is a common one: examples of tools that suffer from it are
+       GCC, Binutils, GHC and Autoconf. Nixpkgs tries to avoid sharing in the
+       mistake where possible. Still, because the concept of a target platform
+       is so ingrained, it is best to support it as is.
+      </para>
+     </listitem>
+    </varlistentry>
+   </variablelist>
+
+   <para>
+    The exact schema these fields follow is a bit ill-defined due to a long and
+    convoluted evolution, but this is slowly being cleaned up. You can see
+    examples of ones used in practice in
+    <literal>lib.systems.examples</literal>; note how they are not all very
+    consistent. For now, here are few fields can count on them containing:
+   </para>
+
+   <variablelist>
+    <varlistentry>
+     <term><varname>system</varname>
+     </term>
+     <listitem>
+      <para>
+       This is a two-component shorthand for the platform. Examples of this
+       would be "x86_64-darwin" and "i686-linux"; see
+       <literal>lib.systems.doubles</literal> for more. This format isn't very
+       standard, but has built-in support in Nix, such as the
+       <varname>builtins.currentSystem</varname> impure string.
+      </para>
+     </listitem>
+    </varlistentry>
+    <varlistentry>
+     <term><varname>config</varname>
+     </term>
+     <listitem>
+      <para>
+       This is a 3- or 4- component shorthand for the platform. Examples of
+       this would be "x86_64-unknown-linux-gnu" and "aarch64-apple-darwin14".
+       This is a standard format called the "LLVM target triple", as they are
+       pioneered by LLVM and traditionally just used for the
+       <varname>targetPlatform</varname>. This format is strictly more
+       informative than the "Nix host double", as the previous format could
+       analogously be termed. This needs a better name than
+       <varname>config</varname>!
+      </para>
+     </listitem>
+    </varlistentry>
+    <varlistentry>
+     <term><varname>parsed</varname>
+     </term>
+     <listitem>
+      <para>
+       This is a nix representation of a parsed LLVM target triple with
+       white-listed components. This can be specified directly, or actually
+       parsed from the <varname>config</varname>. [Technically, only one need
+       be specified and the others can be inferred, though the precision of
+       inference may not be very good.] See
+       <literal>lib.systems.parse</literal> for the exact representation.
+      </para>
+     </listitem>
+    </varlistentry>
+    <varlistentry>
+     <term><varname>libc</varname>
+     </term>
+     <listitem>
+      <para>
+       This is a string identifying the standard C library used. Valid
+       identifiers include "glibc" for GNU libc, "libSystem" for Darwin's
+       Libsystem, and "uclibc" for µClibc. It should probably be refactored to
+       use the module system, like <varname>parse</varname>.
+      </para>
+     </listitem>
+    </varlistentry>
+    <varlistentry>
+     <term><varname>is*</varname>
+     </term>
+     <listitem>
+      <para>
+       These predicates are defined in <literal>lib.systems.inspect</literal>,
+       and slapped on every platform. They are superior to the ones in
+       <varname>stdenv</varname> as they force the user to be explicit about
+       which platform they are inspecting. Please use these instead of those.
+      </para>
+     </listitem>
+    </varlistentry>
+    <varlistentry>
+     <term><varname>platform</varname>
+     </term>
+     <listitem>
+      <para>
+       This is, quite frankly, a dumping ground of ad-hoc settings (it's an
+       attribute set). See <literal>lib.systems.platforms</literal> for
+       examples—there's hopefully one in there that will work verbatim for
+       each platform that is working. Please help us triage these flags and
+       give them better homes!
+      </para>
+     </listitem>
+    </varlistentry>
+   </variablelist>
   </section>
 
   <section>
-    <title>Specifying Dependencies</title>
-    <para>
-      In this section we explore the relationship between both runtime and buildtime dependencies and the 3 Autoconf platforms.
-    </para>
-    <para>
-      A runtime dependency between 2 packages implies that between them both the host and target platforms match.
-      This is directly implied by the meaning of "host platform" and "runtime dependency":
-      The package dependency exists while both packages are running on a single host platform.
-    </para>
-    <para>
-      A build time dependency, however, implies a shift in platforms between the depending package and the depended-on package.
-      The meaning of a build time dependency is that to build the depending package we need to be able to run the depended-on's package.
-      The depending package's build platform is therefore equal to the depended-on package's host platform.
-      Analogously, the depending package's host platform is equal to the depended-on package's target platform.
-    </para>
-    <para>
-      In this manner, given the 3 platforms for one package, we can determine the three platforms for all its transitive dependencies.
-      This is the most important guiding principle behind cross-compilation with Nixpkgs, and will be called the <wordasword>sliding window principle</wordasword>.
-    </para>
+   <title>Specifying Dependencies</title>
+
+   <para>
+    In this section we explore the relationship between both runtime and
+    buildtime dependencies and the 3 Autoconf platforms.
+   </para>
+
+   <para>
+    A runtime dependency between 2 packages implies that between them both the
+    host and target platforms match. This is directly implied by the meaning of
+    "host platform" and "runtime dependency": The package dependency exists
+    while both packages are running on a single host platform.
+   </para>
+
+   <para>
+    A build time dependency, however, implies a shift in platforms between the
+    depending package and the depended-on package. The meaning of a build time
+    dependency is that to build the depending package we need to be able to run
+    the depended-on's package. The depending package's build platform is
+    therefore equal to the depended-on package's host platform. Analogously,
+    the depending package's host platform is equal to the depended-on package's
+    target platform.
+   </para>
+
+   <para>
+    In this manner, given the 3 platforms for one package, we can determine the
+    three platforms for all its transitive dependencies. This is the most
+    important guiding principle behind cross-compilation with Nixpkgs, and will
+    be called the <wordasword>sliding window principle</wordasword>.
+   </para>
+
+   <para>
+    Some examples will probably make this clearer. If a package is being built
+    with a <literal>(build, host, target)</literal> platform triple of
+    <literal>(foo, bar, bar)</literal>, then its build-time dependencies would
+    have a triple of <literal>(foo, foo, bar)</literal>, and <emphasis>those
+    packages'</emphasis> build-time dependencies would have triple of
+    <literal>(foo, foo, foo)</literal>. In other words, it should take two
+    "rounds" of following build-time dependency edges before one reaches a
+    fixed point where, by the sliding window principle, the platform triple no
+    longer changes. Indeed, this happens with cross compilation, where only
+    rounds of native dependencies starting with the second necessarily coincide
+    with native packages.
+   </para>
+
+   <note>
     <para>
-      Some examples will probably make this clearer.
-      If a package is being built with a <literal>(build, host, target)</literal> platform triple of <literal>(foo, bar, bar)</literal>, then its build-time dependencies would have a triple of <literal>(foo, foo, bar)</literal>, and <emphasis>those packages'</emphasis> build-time dependencies would have triple of <literal>(foo, foo, foo)</literal>.
-      In other words, it should take two "rounds" of following build-time dependency edges before one reaches a fixed point where, by the sliding window principle, the platform triple no longer changes.
-      Indeed, this happens with cross compilation, where only rounds of native dependencies starting with the second necessarily coincide with native packages.
+     The depending package's target platform is unconstrained by the sliding
+     window principle, which makes sense in that one can in principle build
+     cross compilers targeting arbitrary platforms.
     </para>
-    <note><para>
-      The depending package's target platform is unconstrained by the sliding window principle, which makes sense in that one can in principle build cross compilers targeting arbitrary platforms.
-    </para></note>
+   </note>
+
+   <para>
+    How does this work in practice? Nixpkgs is now structured so that
+    build-time dependencies are taken from <varname>buildPackages</varname>,
+    whereas run-time dependencies are taken from the top level attribute set.
+    For example, <varname>buildPackages.gcc</varname> should be used at build
+    time, while <varname>gcc</varname> should be used at run time. Now, for
+    most of Nixpkgs's history, there was no <varname>buildPackages</varname>,
+    and most packages have not been refactored to use it explicitly. Instead,
+    one can use the six (<emphasis>gasp</emphasis>) attributes used for
+    specifying dependencies as documented in
+    <xref linkend="ssec-stdenv-dependencies"/>. We "splice" together the
+    run-time and build-time package sets with <varname>callPackage</varname>,
+    and then <varname>mkDerivation</varname> for each of four attributes pulls
+    the right derivation out. This splicing can be skipped when not cross
+    compiling as the package sets are the same, but is a bit slow for cross
+    compiling. Because of this, a best-of-both-worlds solution is in the works
+    with no splicing or explicit access of <varname>buildPackages</varname>
+    needed. For now, feel free to use either method.
+   </para>
+
+   <note>
     <para>
-      How does this work in practice? Nixpkgs is now structured so that build-time dependencies are taken from <varname>buildPackages</varname>, whereas run-time dependencies are taken from the top level attribute set.
-      For example, <varname>buildPackages.gcc</varname> should be used at build time, while <varname>gcc</varname> should be used at run time.
-      Now, for most of Nixpkgs's history, there was no <varname>buildPackages</varname>, and most packages have not been refactored to use it explicitly.
-      Instead, one can use the six (<emphasis>gasp</emphasis>) attributes used for specifying dependencies as documented in <xref linkend="ssec-stdenv-dependencies"/>.
-      We "splice" together the run-time and build-time package sets with <varname>callPackage</varname>, and then <varname>mkDerivation</varname> for each of four attributes pulls the right derivation out.
-      This splicing can be skipped when not cross compiling as the package sets are the same, but is a bit slow for cross compiling.
-      Because of this, a best-of-both-worlds solution is in the works with no splicing or explicit access of <varname>buildPackages</varname> needed.
-      For now, feel free to use either method.
+     There is also a "backlink" <varname>targetPackages</varname>, yielding a
+     package set whose <varname>buildPackages</varname> is the current package
+     set. This is a hack, though, to accommodate compilers with lousy build
+     systems. Please do not use this unless you are absolutely sure you are
+     packaging such a compiler and there is no other way.
     </para>
-    <note><para>
-      There is also a "backlink" <varname>targetPackages</varname>, yielding a package set whose <varname>buildPackages</varname> is the current package set.
-      This is a hack, though, to accommodate compilers with lousy build systems.
-      Please do not use this unless you are absolutely sure you are packaging such a compiler and there is no other way.
-    </para></note>
+   </note>
   </section>
 
   <section>
-    <title>Cross packagaing cookbook</title>
-    <para>
-      Some frequently problems when packaging for cross compilation are good to just spell and answer.
-      Ideally the information above is exhaustive, so this section cannot provide any new information,
-      but its ludicrous and cruel to expect everyone to spend effort working through the interaction of many features just to figure out the same answer to the same common problem.
-      Feel free to add to this list!
-    </para>
-    <qandaset>
-      <qandaentry>
-        <question><para>
-          What if my package's build system needs to build a C program to be run under the build environment?
-        </para></question>
-        <answer><para>
-          <programlisting>depsBuildBuild = [ buildPackages.stdenv.cc ];</programlisting>
-          Add it to your <function>mkDerivation</function> invocation.
-        </para></answer>
-      </qandaentry>
-      <qandaentry>
-        <question><para>
-          My package fails to find <command>ar</command>.
-        </para></question>
-        <answer><para>
-          Many packages assume that an unprefixed <command>ar</command> is available, but Nix doesn't provide one.
-          It only provides a prefixed one, just as it only does for all the other binutils programs.
-          It may be necessary to patch the package to fix the build system to use a prefixed `ar`.
-        </para></answer>
-      </qandaentry>
-      <qandaentry>
-        <question><para>
-          My package's testsuite needs to run host platform code.
-        </para></question>
-        <answer><para>
-          <programlisting>doCheck = stdenv.hostPlatform != stdenv.buildPlatfrom;</programlisting>
-          Add it to your <function>mkDerivation</function> invocation.
-        </para></answer>
-      </qandaentry>
-    </qandaset>
-  </section>
-</section>
+   <title>Cross packagaing cookbook</title>
 
-<!--============================================================-->
+   <para>
+    Some frequently problems when packaging for cross compilation are good to
+    just spell and answer. Ideally the information above is exhaustive, so this
+    section cannot provide any new information, but its ludicrous and cruel to
+    expect everyone to spend effort working through the interaction of many
+    features just to figure out the same answer to the same common problem.
+    Feel free to add to this list!
+   </para>
 
-<section xml:id="sec-cross-usage">
+   <qandaset>
+    <qandaentry>
+     <question>
+      <para>
+       What if my package's build system needs to build a C program to be run
+       under the build environment?
+      </para>
+     </question>
+     <answer>
+      <para>
+<programlisting>depsBuildBuild = [ buildPackages.stdenv.cc ];</programlisting>
+       Add it to your <function>mkDerivation</function> invocation.
+      </para>
+     </answer>
+    </qandaentry>
+    <qandaentry>
+     <question>
+      <para>
+       My package fails to find <command>ar</command>.
+      </para>
+     </question>
+     <answer>
+      <para>
+       Many packages assume that an unprefixed <command>ar</command> is
+       available, but Nix doesn't provide one. It only provides a prefixed one,
+       just as it only does for all the other binutils programs. It may be
+       necessary to patch the package to fix the build system to use a prefixed
+       `ar`.
+      </para>
+     </answer>
+    </qandaentry>
+    <qandaentry>
+     <question>
+      <para>
+       My package's testsuite needs to run host platform code.
+      </para>
+     </question>
+     <answer>
+      <para>
+<programlisting>doCheck = stdenv.hostPlatform != stdenv.buildPlatfrom;</programlisting>
+       Add it to your <function>mkDerivation</function> invocation.
+      </para>
+     </answer>
+    </qandaentry>
+   </qandaset>
+  </section>
+ </section>
+<!--============================================================-->
+ <section xml:id="sec-cross-usage">
   <title>Cross-building packages</title>
-  <note><para>
-    More information needs to moved from the old wiki, especially <link xlink:href="https://nixos.org/wiki/CrossCompiling" />, for this section.
-  </para></note>
+
+  <note>
+   <para>
+    More information needs to moved from the old wiki, especially
+    <link xlink:href="https://nixos.org/wiki/CrossCompiling" />, for this
+    section.
+   </para>
+  </note>
+
   <para>
-    Nixpkgs can be instantiated with <varname>localSystem</varname> alone, in which case there is no cross compiling and everything is built by and for that system,
-    or also with <varname>crossSystem</varname>, in which case packages run on the latter, but all building happens on the former.
-    Both parameters take the same schema as the 3 (build, host, and target) platforms defined in the previous section.
-    As mentioned above, <literal>lib.systems.examples</literal> has some platforms which are used as arguments for these parameters in practice.
-    You can use them programmatically, or on the command line: <programlisting>
+   Nixpkgs can be instantiated with <varname>localSystem</varname> alone, in
+   which case there is no cross compiling and everything is built by and for
+   that system, or also with <varname>crossSystem</varname>, in which case
+   packages run on the latter, but all building happens on the former. Both
+   parameters take the same schema as the 3 (build, host, and target) platforms
+   defined in the previous section. As mentioned above,
+   <literal>lib.systems.examples</literal> has some platforms which are used as
+   arguments for these parameters in practice. You can use them
+   programmatically, or on the command line:
+<programlisting>
 nix-build &lt;nixpkgs&gt; --arg crossSystem '(import &lt;nixpkgs/lib&gt;).systems.examples.fooBarBaz' -A whatever</programlisting>
   </para>
+
   <note>
-    <para>
-      Eventually we would like to make these platform examples an unnecessary convenience so that <programlisting>
+   <para>
+    Eventually we would like to make these platform examples an unnecessary
+    convenience so that
+<programlisting>
 nix-build &lt;nixpkgs&gt; --arg crossSystem.config '&lt;arch&gt;-&lt;os&gt;-&lt;vendor&gt;-&lt;abi&gt;' -A whatever</programlisting>
-      works in the vast majority of cases.
-      The problem today is dependencies on other sorts of configuration which aren't given proper defaults.
-      We rely on the examples to crudely to set those configuration parameters in some vaguely sane manner on the users behalf.
-      Issue <link xlink:href="https://github.com/NixOS/nixpkgs/issues/34274">#34274</link> tracks this inconvenience along with its root cause in crufty configuration options.
-    </para>
+    works in the vast majority of cases. The problem today is dependencies on
+    other sorts of configuration which aren't given proper defaults. We rely on
+    the examples to crudely to set those configuration parameters in some
+    vaguely sane manner on the users behalf. Issue
+    <link xlink:href="https://github.com/NixOS/nixpkgs/issues/34274">#34274</link>
+    tracks this inconvenience along with its root cause in crufty configuration
+    options.
+   </para>
   </note>
+
   <para>
-    While one is free to pass both parameters in full, there's a lot of logic to fill in missing fields.
-    As discussed in the previous section, only one of <varname>system</varname>, <varname>config</varname>, and <varname>parsed</varname> is needed to infer the other two.
-    Additionally, <varname>libc</varname> will be inferred from <varname>parse</varname>.
-    Finally, <literal>localSystem.system</literal> is also <emphasis>impurely</emphasis> inferred based on the platform evaluation occurs.
-    This means it is often not necessary to pass <varname>localSystem</varname> at all, as in the command-line example in the previous paragraph.
+   While one is free to pass both parameters in full, there's a lot of logic to
+   fill in missing fields. As discussed in the previous section, only one of
+   <varname>system</varname>, <varname>config</varname>, and
+   <varname>parsed</varname> is needed to infer the other two. Additionally,
+   <varname>libc</varname> will be inferred from <varname>parse</varname>.
+   Finally, <literal>localSystem.system</literal> is also
+   <emphasis>impurely</emphasis> inferred based on the platform evaluation
+   occurs. This means it is often not necessary to pass
+   <varname>localSystem</varname> at all, as in the command-line example in the
+   previous paragraph.
   </para>
+
   <note>
-    <para>
-      Many sources (manual, wiki, etc) probably mention passing <varname>system</varname>, <varname>platform</varname>, along with the optional <varname>crossSystem</varname> to nixpkgs:
-      <literal>import &lt;nixpkgs&gt; { system = ..; platform = ..; crossSystem = ..; }</literal>.
-      Passing those two instead of <varname>localSystem</varname> is still supported for compatibility, but is discouraged.
-      Indeed, much of the inference we do for these parameters is motivated by compatibility as much as convenience.
-    </para>
+   <para>
+    Many sources (manual, wiki, etc) probably mention passing
+    <varname>system</varname>, <varname>platform</varname>, along with the
+    optional <varname>crossSystem</varname> to nixpkgs: <literal>import
+    &lt;nixpkgs&gt; { system = ..; platform = ..; crossSystem = ..;
+    }</literal>. Passing those two instead of <varname>localSystem</varname> is
+    still supported for compatibility, but is discouraged. Indeed, much of the
+    inference we do for these parameters is motivated by compatibility as much
+    as convenience.
+   </para>
   </note>
+
   <para>
-    One would think that <varname>localSystem</varname> and <varname>crossSystem</varname> overlap horribly with the three <varname>*Platforms</varname> (<varname>buildPlatform</varname>, <varname>hostPlatform,</varname> and <varname>targetPlatform</varname>; see <varname>stage.nix</varname> or the manual).
-    Actually, those identifiers are purposefully not used here to draw a subtle but important distinction:
-    While the granularity of having 3 platforms is necessary to properly *build* packages, it is overkill for specifying the user's *intent* when making a build plan or package set.
-    A simple "build vs deploy" dichotomy is adequate: the sliding window principle described in the previous section shows how to interpolate between the these two "end points" to get the 3 platform triple for each bootstrapping stage.
-    That means for any package a given package set, even those not bound on the top level but only reachable via dependencies or <varname>buildPackages</varname>, the three platforms will be defined as one of <varname>localSystem</varname> or <varname>crossSystem</varname>, with the former replacing the latter as one traverses build-time dependencies.
-    A last simple difference then is <varname>crossSystem</varname> should be null when one doesn't want to cross-compile, while the <varname>*Platform</varname>s are always non-null.
-    <varname>localSystem</varname> is always non-null.
+   One would think that <varname>localSystem</varname> and
+   <varname>crossSystem</varname> overlap horribly with the three
+   <varname>*Platforms</varname> (<varname>buildPlatform</varname>,
+   <varname>hostPlatform,</varname> and <varname>targetPlatform</varname>; see
+   <varname>stage.nix</varname> or the manual). Actually, those identifiers are
+   purposefully not used here to draw a subtle but important distinction: While
+   the granularity of having 3 platforms is necessary to properly *build*
+   packages, it is overkill for specifying the user's *intent* when making a
+   build plan or package set. A simple "build vs deploy" dichotomy is adequate:
+   the sliding window principle described in the previous section shows how to
+   interpolate between the these two "end points" to get the 3 platform triple
+   for each bootstrapping stage. That means for any package a given package
+   set, even those not bound on the top level but only reachable via
+   dependencies or <varname>buildPackages</varname>, the three platforms will
+   be defined as one of <varname>localSystem</varname> or
+   <varname>crossSystem</varname>, with the former replacing the latter as one
+   traverses build-time dependencies. A last simple difference then is
+   <varname>crossSystem</varname> should be null when one doesn't want to
+   cross-compile, while the <varname>*Platform</varname>s are always non-null.
+   <varname>localSystem</varname> is always non-null.
   </para>
-</section>
-
+ </section>
 <!--============================================================-->
-
-<section xml:id="sec-cross-infra">
+ <section xml:id="sec-cross-infra">
   <title>Cross-compilation infrastructure</title>
-  <para>To be written.</para>
-  <note><para>
-    If one explores nixpkgs, they will see derivations with names like <literal>gccCross</literal>.
-    Such <literal>*Cross</literal> derivations is a holdover from before we properly distinguished between the host and target platforms
-    —the derivation with "Cross" in the name covered the <literal>build = host != target</literal> case, while the other covered the <literal>host = target</literal>, with build platform the same or not based on whether one was using its <literal>.nativeDrv</literal> or <literal>.crossDrv</literal>.
-    This ugliness will disappear soon.
-  </para></note>
-</section>
 
+  <para>
+   To be written.
+  </para>
+
+  <note>
+   <para>
+    If one explores nixpkgs, they will see derivations with names like
+    <literal>gccCross</literal>. Such <literal>*Cross</literal> derivations is
+    a holdover from before we properly distinguished between the host and
+    target platforms —the derivation with "Cross" in the name covered the
+    <literal>build = host != target</literal> case, while the other covered the
+    <literal>host = target</literal>, with build platform the same or not based
+    on whether one was using its <literal>.nativeDrv</literal> or
+    <literal>.crossDrv</literal>. This ugliness will disappear soon.
+   </para>
+  </note>
+ </section>
 </chapter>
diff --git a/doc/default.nix b/doc/default.nix
index 60c613878c7..0d95d3f0457 100644
--- a/doc/default.nix
+++ b/doc/default.nix
@@ -7,112 +7,42 @@ in
 pkgs.stdenv.mkDerivation {
   name = "nixpkgs-manual";
 
-
-  buildInputs = with pkgs; [ pandoc libxml2 libxslt zip ];
-
-  xsltFlags = ''
-    --param section.autolabel 1
-    --param section.label.includes.component.label 1
-    --param html.stylesheet 'style.css'
-    --param xref.with.number.and.title 1
-    --param toc.section.depth 3
-    --param admon.style '''
-    --param callout.graphics.extension '.gif'
+  buildInputs = with pkgs; [ pandoc libxml2 libxslt zip jing  xmlformat ];
+
+  src = ./.;
+
+  # Hacking on these variables? Make sure to close and open
+  # nix-shell between each test, maybe even:
+  # $ nix-shell --run "make clean all"
+  # otherwise they won't reapply :)
+  HIGHLIGHTJS = pkgs.documentation-highlighter;
+  XSL = "${pkgs.docbook5_xsl}/xml/xsl";
+  RNG = "${pkgs.docbook5}/xml/rng/docbook/docbook.rng";
+  XMLFORMAT_CONFIG = ../nixos/doc/xmlformat.conf;
+  xsltFlags = lib.concatStringsSep " " [
+    "--param section.autolabel 1"
+    "--param section.label.includes.component.label 1"
+    "--stringparam html.stylesheet 'style.css overrides.css highlightjs/mono-blue.css'"
+    "--stringparam html.script './highlightjs/highlight.pack.js ./highlightjs/loader.js'"
+    "--param xref.with.number.and.title 1"
+    "--param toc.section.depth 3"
+    "--stringparam admon.style ''"
+    "--stringparam callout.graphics.extension .svg"
+  ];
+
+  postPatch = ''
+    echo ${lib.version} > .version
   '';
 
+  installPhase = ''
+    dest="$out/share/doc/nixpkgs"
+    mkdir -p "$(dirname "$dest")"
+    mv out/html "$dest"
+    mv "$dest/index.html" "$dest/manual.html"
 
-  buildCommand = let toDocbook = { useChapters ? false, inputFile, outputFile }:
-    let
-      extraHeader = lib.optionalString (!useChapters)
-        ''xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" '';
-    in ''
-      {
-        pandoc '${inputFile}' -w docbook+smart ${lib.optionalString useChapters "--top-level-division=chapter"} \
-          -f markdown+smart \
-          | sed -e 's|<ulink url=|<link xlink:href=|' \
-              -e 's|</ulink>|</link>|' \
-              -e 's|<sect. id=|<section xml:id=|' \
-              -e 's|</sect[0-9]>|</section>|' \
-              -e '1s| id=| xml:id=|' \
-              -e '1s|\(<[^ ]* \)|\1${extraHeader}|'
-      } > '${outputFile}'
-    '';
-  in
-
-  ''
-    ln -s '${sources}/'*.xml .
-    mkdir ./languages-frameworks
-    cp -s '${sources-langs}'/* ./languages-frameworks
-  ''
-  + toDocbook {
-      inputFile = ./introduction.md;
-      outputFile = "introduction.xml";
-      useChapters = true;
-    }
-  + toDocbook {
-      inputFile = ./shell.md;
-      outputFile = "shell.xml";
-    }
-  + toDocbook {
-      inputFile = ./languages-frameworks/python.md;
-      outputFile = "./languages-frameworks/python.xml";
-    }
-  + toDocbook {
-      inputFile = ./languages-frameworks/haskell.md;
-      outputFile = "./languages-frameworks/haskell.xml";
-    }
-  + toDocbook {
-      inputFile = ../pkgs/development/idris-modules/README.md;
-      outputFile = "languages-frameworks/idris.xml";
-    }
-  + toDocbook {
-      inputFile = ../pkgs/development/node-packages/README.md;
-      outputFile = "languages-frameworks/node.xml";
-    }
-  + toDocbook {
-      inputFile = ../pkgs/development/r-modules/README.md;
-      outputFile = "languages-frameworks/r.xml";
-    }
-  + toDocbook {
-      inputFile = ./languages-frameworks/rust.md;
-      outputFile = "./languages-frameworks/rust.xml";
-    }
-  + toDocbook {
-      inputFile = ./languages-frameworks/vim.md;
-      outputFile = "./languages-frameworks/vim.xml";
-    }
-  + ''
-    echo ${lib.nixpkgsVersion} > .version
-
-    # validate against relaxng schema
-    xmllint --nonet --xinclude --noxincludenode manual.xml --output manual-full.xml
-    ${pkgs.jing}/bin/jing ${pkgs.docbook5}/xml/rng/docbook/docbook.rng manual-full.xml
-
-    dst=$out/share/doc/nixpkgs
-    mkdir -p $dst
-    xsltproc $xsltFlags --nonet --xinclude \
-      --output $dst/manual.html \
-      ${pkgs.docbook5_xsl}/xml/xsl/docbook/xhtml/docbook.xsl \
-      ./manual.xml
-
-    cp ${./style.css} $dst/style.css
-
-    mkdir -p $dst/images/callouts
-    cp "${pkgs.docbook5_xsl}/xml/xsl/docbook/images/callouts/"*.gif $dst/images/callouts/
-
-    mkdir -p $out/nix-support
-    echo "doc manual $dst manual.html" >> $out/nix-support/hydra-build-products
-
-    xsltproc $xsltFlags --nonet --xinclude \
-      --output $dst/epub/ \
-      ${pkgs.docbook5_xsl}/xml/xsl/docbook/epub/docbook.xsl \
-      ./manual.xml
+    mv out/epub/manual.epub "$dest/nixpkgs-manual.epub"
 
-    cp -r $dst/images $dst/epub/OEBPS
-    echo "application/epub+zip" > mimetype
-    manual="$dst/nixpkgs-manual.epub"
-    zip -0Xq "$manual" mimetype
-    cd $dst/epub && zip -Xr9D "$manual" *
-    rm -rf $dst/epub
+    mkdir -p $out/nix-support/
+    echo "doc manual $dest manual.html" >> $out/nix-support/hydra-build-products
   '';
 }
diff --git a/doc/functions.xml b/doc/functions.xml
index 52bdf13eba9..cdae96703f1 100644
--- a/doc/functions.xml
+++ b/doc/functions.xml
@@ -1,144 +1,139 @@
 <chapter xmlns="http://docbook.org/ns/docbook"
 	 xmlns:xlink="http://www.w3.org/1999/xlink"
 	 xml:id="chap-functions">
-
-<title>Functions reference</title>
-
-<para>
-  The nixpkgs repository has several utility functions to manipulate Nix expressions.
-</para>
-
-<section xml:id="sec-overrides">
+ <title>Functions reference</title>
+ <para>
+  The nixpkgs repository has several utility functions to manipulate Nix
+  expressions.
+ </para>
+ <section xml:id="sec-overrides">
   <title>Overriding</title>
 
   <para>
-    Sometimes one wants to override parts of
-    <literal>nixpkgs</literal>, e.g. derivation attributes, the results of
-    derivations or even the whole package set.
+   Sometimes one wants to override parts of <literal>nixpkgs</literal>, e.g.
+   derivation attributes, the results of derivations or even the whole package
+   set.
   </para>
 
   <section xml:id="sec-pkg-override">
-    <title>&lt;pkg&gt;.override</title>
+   <title>&lt;pkg&gt;.override</title>
 
-    <para>
-      The function <varname>override</varname> is usually available for all the
-      derivations in the nixpkgs expression (<varname>pkgs</varname>).
-    </para>
-    <para>
-      It is used to override the arguments passed to a function.
-    </para>
-    <para>
-      Example usages:
+   <para>
+    The function <varname>override</varname> is usually available for all the
+    derivations in the nixpkgs expression (<varname>pkgs</varname>).
+   </para>
+
+   <para>
+    It is used to override the arguments passed to a function.
+   </para>
 
-      <programlisting>pkgs.foo.override { arg1 = val1; arg2 = val2; ... }</programlisting>
-      <programlisting>import pkgs.path { overlays = [ (self: super: {
+   <para>
+    Example usages:
+<programlisting>pkgs.foo.override { arg1 = val1; arg2 = val2; ... }</programlisting>
+<programlisting>import pkgs.path { overlays = [ (self: super: {
     foo = super.foo.override { barSupport = true ; };
   })]};</programlisting>
-      <programlisting>mypkg = pkgs.callPackage ./mypkg.nix {
+<programlisting>mypkg = pkgs.callPackage ./mypkg.nix {
     mydep = pkgs.mydep.override { ... };
   }</programlisting>
-    </para>
-
-    <para>
-      In the first example, <varname>pkgs.foo</varname> is the result of a function call
-      with some default arguments, usually a derivation.
-      Using <varname>pkgs.foo.override</varname> will call the same function with
-      the given new arguments.
-    </para>
-
+   </para>
+
+   <para>
+    In the first example, <varname>pkgs.foo</varname> is the result of a
+    function call with some default arguments, usually a derivation. Using
+    <varname>pkgs.foo.override</varname> will call the same function with the
+    given new arguments.
+   </para>
   </section>
 
   <section xml:id="sec-pkg-overrideAttrs">
-    <title>&lt;pkg&gt;.overrideAttrs</title>
-
-    <para>
-      The function <varname>overrideAttrs</varname> allows overriding the
-      attribute set passed to a <varname>stdenv.mkDerivation</varname> call,
-      producing a new derivation based on the original one.
-      This function is available on all derivations produced by the
-      <varname>stdenv.mkDerivation</varname> function, which is most packages
-      in the nixpkgs expression <varname>pkgs</varname>.
-    </para>
-
-    <para>
-      Example usage:
-
-      <programlisting>helloWithDebug = pkgs.hello.overrideAttrs (oldAttrs: rec {
+   <title>&lt;pkg&gt;.overrideAttrs</title>
+
+   <para>
+    The function <varname>overrideAttrs</varname> allows overriding the
+    attribute set passed to a <varname>stdenv.mkDerivation</varname> call,
+    producing a new derivation based on the original one. This function is
+    available on all derivations produced by the
+    <varname>stdenv.mkDerivation</varname> function, which is most packages in
+    the nixpkgs expression <varname>pkgs</varname>.
+   </para>
+
+   <para>
+    Example usage:
+<programlisting>helloWithDebug = pkgs.hello.overrideAttrs (oldAttrs: rec {
     separateDebugInfo = true;
   });</programlisting>
-    </para>
+   </para>
 
-    <para>
-      In the above example, the <varname>separateDebugInfo</varname> attribute is
-      overridden to be true, thus building debug info for
-      <varname>helloWithDebug</varname>, while all other attributes will be
-      retained from the original <varname>hello</varname> package.
-    </para>
+   <para>
+    In the above example, the <varname>separateDebugInfo</varname> attribute is
+    overridden to be true, thus building debug info for
+    <varname>helloWithDebug</varname>, while all other attributes will be
+    retained from the original <varname>hello</varname> package.
+   </para>
 
+   <para>
+    The argument <varname>oldAttrs</varname> is conventionally used to refer to
+    the attr set originally passed to <varname>stdenv.mkDerivation</varname>.
+   </para>
+
+   <note>
     <para>
-      The argument <varname>oldAttrs</varname> is conventionally used to refer to
-      the attr set originally passed to <varname>stdenv.mkDerivation</varname>.
+     Note that <varname>separateDebugInfo</varname> is processed only by the
+     <varname>stdenv.mkDerivation</varname> function, not the generated, raw
+     Nix derivation. Thus, using <varname>overrideDerivation</varname> will not
+     work in this case, as it overrides only the attributes of the final
+     derivation. It is for this reason that <varname>overrideAttrs</varname>
+     should be preferred in (almost) all cases to
+     <varname>overrideDerivation</varname>, i.e. to allow using
+     <varname>sdenv.mkDerivation</varname> to process input arguments, as well
+     as the fact that it is easier to use (you can use the same attribute names
+     you see in your Nix code, instead of the ones generated (e.g.
+     <varname>buildInputs</varname> vs <varname>nativeBuildInputs</varname>,
+     and involves less typing.
     </para>
-
-    <note>
-      <para>
-        Note that <varname>separateDebugInfo</varname> is processed only by the
-        <varname>stdenv.mkDerivation</varname> function, not the generated, raw
-        Nix derivation. Thus, using <varname>overrideDerivation</varname> will
-        not work in this case, as it overrides only the attributes of the final
-        derivation. It is for this reason that <varname>overrideAttrs</varname>
-        should be preferred in (almost) all cases to
-        <varname>overrideDerivation</varname>, i.e. to allow using
-        <varname>sdenv.mkDerivation</varname> to process input arguments, as well
-        as the fact that it is easier to use (you can use the same attribute
-        names you see in your Nix code, instead of the ones generated (e.g.
-        <varname>buildInputs</varname> vs <varname>nativeBuildInputs</varname>,
-        and involves less typing.
-      </para>
-    </note>
-
+   </note>
   </section>
 
-
   <section xml:id="sec-pkg-overrideDerivation">
-    <title>&lt;pkg&gt;.overrideDerivation</title>
-
-    <warning>
-      <para>You should prefer <varname>overrideAttrs</varname> in almost all
-      cases, see its documentation for the reasons why.
-      <varname>overrideDerivation</varname> is not deprecated and will continue
-      to work, but is less nice to use and does not have as many abilities as
-      <varname>overrideAttrs</varname>.
-      </para>
-    </warning>
-
-    <warning>
-      <para>Do not use this function in Nixpkgs as it evaluates a Derivation
-      before modifying it, which breaks package abstraction and removes
-      error-checking of function arguments. In addition, this
-      evaluation-per-function application incurs a performance penalty,
-      which can become a problem if many overrides are used.
-      It is only intended for ad-hoc customisation, such as in
-      <filename>~/.config/nixpkgs/config.nix</filename>.
-    </para>
-    </warning>
+   <title>&lt;pkg&gt;.overrideDerivation</title>
 
+   <warning>
     <para>
-      The function <varname>overrideDerivation</varname> creates a new derivation
-      based on an existing one by overriding the original's attributes with
-      the attribute set produced by the specified function.
-      This function is available on all
-      derivations defined using the <varname>makeOverridable</varname> function.
-      Most standard derivation-producing functions, such as
-      <varname>stdenv.mkDerivation</varname>, are defined using this
-      function, which means most packages in the nixpkgs expression,
-      <varname>pkgs</varname>, have this function.
+     You should prefer <varname>overrideAttrs</varname> in almost all cases,
+     see its documentation for the reasons why.
+     <varname>overrideDerivation</varname> is not deprecated and will continue
+     to work, but is less nice to use and does not have as many abilities as
+     <varname>overrideAttrs</varname>.
     </para>
+   </warning>
 
+   <warning>
     <para>
-      Example usage:
-
-      <programlisting>mySed = pkgs.gnused.overrideDerivation (oldAttrs: {
+     Do not use this function in Nixpkgs as it evaluates a Derivation before
+     modifying it, which breaks package abstraction and removes error-checking
+     of function arguments. In addition, this evaluation-per-function
+     application incurs a performance penalty, which can become a problem if
+     many overrides are used. It is only intended for ad-hoc customisation,
+     such as in <filename>~/.config/nixpkgs/config.nix</filename>.
+    </para>
+   </warning>
+
+   <para>
+    The function <varname>overrideDerivation</varname> creates a new derivation
+    based on an existing one by overriding the original's attributes with the
+    attribute set produced by the specified function. This function is
+    available on all derivations defined using the
+    <varname>makeOverridable</varname> function. Most standard
+    derivation-producing functions, such as
+    <varname>stdenv.mkDerivation</varname>, are defined using this function,
+    which means most packages in the nixpkgs expression,
+    <varname>pkgs</varname>, have this function.
+   </para>
+
+   <para>
+    Example usage:
+<programlisting>mySed = pkgs.gnused.overrideDerivation (oldAttrs: {
     name = "sed-4.2.2-pre";
     src = fetchurl {
       url = ftp://alpha.gnu.org/gnu/sed/sed-4.2.2-pre.tar.bz2;
@@ -146,180 +141,270 @@
     };
     patches = [];
   });</programlisting>
-    </para>
+   </para>
 
-    <para>
-      In the above example, the <varname>name</varname>, <varname>src</varname>,
-      and <varname>patches</varname> of the derivation will be overridden, while
-      all other attributes will be retained from the original derivation.
-    </para>
+   <para>
+    In the above example, the <varname>name</varname>, <varname>src</varname>,
+    and <varname>patches</varname> of the derivation will be overridden, while
+    all other attributes will be retained from the original derivation.
+   </para>
+
+   <para>
+    The argument <varname>oldAttrs</varname> is used to refer to the attribute
+    set of the original derivation.
+   </para>
 
+   <note>
     <para>
-      The argument <varname>oldAttrs</varname> is used to refer to the attribute set of
-      the original derivation.
+     A package's attributes are evaluated *before* being modified by the
+     <varname>overrideDerivation</varname> function. For example, the
+     <varname>name</varname> attribute reference in <varname>url =
+     "mirror://gnu/hello/${name}.tar.gz";</varname> is filled-in *before* the
+     <varname>overrideDerivation</varname> function modifies the attribute set.
+     This means that overriding the <varname>name</varname> attribute, in this
+     example, *will not* change the value of the <varname>url</varname>
+     attribute. Instead, we need to override both the <varname>name</varname>
+     *and* <varname>url</varname> attributes.
     </para>
-
-    <note>
-      <para>
-        A package's attributes are evaluated *before* being modified by
-        the <varname>overrideDerivation</varname> function.
-        For example, the <varname>name</varname> attribute reference
-        in <varname>url = "mirror://gnu/hello/${name}.tar.gz";</varname>
-        is filled-in *before* the <varname>overrideDerivation</varname> function
-        modifies the attribute set. This means that overriding the
-        <varname>name</varname> attribute, in this example, *will not* change the
-        value of the <varname>url</varname> attribute. Instead, we need to override
-        both the <varname>name</varname> *and* <varname>url</varname> attributes.
-      </para>
-    </note>
-
+   </note>
   </section>
 
   <section xml:id="sec-lib-makeOverridable">
-    <title>lib.makeOverridable</title>
-
-    <para>
-      The function <varname>lib.makeOverridable</varname> is used to make the result
-      of a function easily customizable. This utility only makes sense for functions
-      that accept an argument set and return an attribute set.
-    </para>
+   <title>lib.makeOverridable</title>
 
-    <para>
-      Example usage:
+   <para>
+    The function <varname>lib.makeOverridable</varname> is used to make the
+    result of a function easily customizable. This utility only makes sense for
+    functions that accept an argument set and return an attribute set.
+   </para>
 
-      <programlisting>f = { a, b }: { result = a+b; }
+   <para>
+    Example usage:
+<programlisting>f = { a, b }: { result = a+b; }
   c = lib.makeOverridable f { a = 1; b = 2; }</programlisting>
-
-    </para>
-
-    <para>
-      The variable <varname>c</varname> is the value of the <varname>f</varname> function
-      applied with some default arguments. Hence the value of <varname>c.result</varname>
-      is <literal>3</literal>, in this example.
-    </para>
-
-    <para>
-      The variable <varname>c</varname> however also has some additional functions, like
-      <link linkend="sec-pkg-override">c.override</link> which can be used to
-      override the default arguments. In this example the value of
-      <varname>(c.override { a = 4; }).result</varname> is 6.
-    </para>
-
+   </para>
+
+   <para>
+    The variable <varname>c</varname> is the value of the <varname>f</varname>
+    function applied with some default arguments. Hence the value of
+    <varname>c.result</varname> is <literal>3</literal>, in this example.
+   </para>
+
+   <para>
+    The variable <varname>c</varname> however also has some additional
+    functions, like <link linkend="sec-pkg-override">c.override</link> which
+    can be used to override the default arguments. In this example the value of
+    <varname>(c.override { a = 4; }).result</varname> is 6.
+   </para>
   </section>
-
-</section>
-
-<section xml:id="sec-generators">
+ </section>
+ <section xml:id="sec-generators">
   <title>Generators</title>
 
   <para>
-    Generators are functions that create file formats from nix
-    data structures, e. g. for configuration files.
-    There are generators available for: <literal>INI</literal>,
-    <literal>JSON</literal> and <literal>YAML</literal>
+   Generators are functions that create file formats from nix data structures,
+   e. g. for configuration files. There are generators available for:
+   <literal>INI</literal>, <literal>JSON</literal> and <literal>YAML</literal>
   </para>
 
   <para>
-    All generators follow a similar call interface: <code>generatorName
-    configFunctions data</code>, where <literal>configFunctions</literal> is a
-    set of user-defined functions that format variable parts of the content.
-    They each have common defaults, so often they do not need to be set
-    manually. An example is <code>mkSectionName ? (name: libStr.escape [ "[" "]"
-    ] name)</code> from the <literal>INI</literal> generator. It gets the name
-    of a section and returns a sanitized name. The default
-    <literal>mkSectionName</literal> escapes <literal>[</literal> and
-    <literal>]</literal> with a backslash.
+   All generators follow a similar call interface: <code>generatorName
+   configFunctions data</code>, where <literal>configFunctions</literal> is an
+   attrset of user-defined functions that format nested parts of the content.
+   They each have common defaults, so often they do not need to be set
+   manually. An example is <code>mkSectionName ? (name: libStr.escape [ "[" "]"
+   ] name)</code> from the <literal>INI</literal> generator. It receives the
+   name of a section and sanitizes it. The default
+   <literal>mkSectionName</literal> escapes <literal>[</literal> and
+   <literal>]</literal> with a backslash.
   </para>
 
-  <note><para>Nix store paths can be converted to strings by enclosing a
-  derivation attribute like so: <code>"${drv}"</code>.</para></note>
-
   <para>
-    Detailed documentation for each generator can be found in
-    <literal>lib/generators.nix</literal>.
+   Generators can be fine-tuned to produce exactly the file format required by
+   your application/service. One example is an INI-file format which uses
+   <literal>: </literal> as separator, the strings
+   <literal>"yes"</literal>/<literal>"no"</literal> as boolean values and
+   requires all string values to be quoted:
   </para>
 
-</section>
-
-
-<section xml:id="sec-fhs-environments">
-  <title>buildFHSUserEnv</title>
+<programlisting>
+with lib;
+let
+  customToINI = generators.toINI {
+    # specifies how to format a key/value pair
+    mkKeyValue = generators.mkKeyValueDefault {
+      # specifies the generated string for a subset of nix values
+      mkValueString = v:
+             if v == true then ''"yes"''
+        else if v == false then ''"no"''
+        else if isString v then ''"${v}"''
+        # and delegats all other values to the default generator
+        else generators.mkValueStringDefault {} v;
+    } ":";
+  };
+
+# the INI file can now be given as plain old nix values
+in customToINI {
+  main = {
+    pushinfo = true;
+    autopush = false;
+    host = "localhost";
+    port = 42;
+  };
+  mergetool = {
+    merge = "diff3";
+  };
+}
+</programlisting>
 
   <para>
-    <function>buildFHSUserEnv</function> provides a way to build and run
-    FHS-compatible lightweight sandboxes. It creates an isolated root with
-    bound <filename>/nix/store</filename>, so its footprint in terms of disk
-    space needed is quite small. This allows one to run software which is hard or
-    unfeasible to patch for NixOS -- 3rd-party source trees with FHS assumptions,
-    games distributed as tarballs, software with integrity checking and/or external
-    self-updated binaries. It uses Linux namespaces feature to create
-    temporary lightweight environments which are destroyed after all child
-    processes exit, without root user rights requirement. Accepted arguments are:
+   This will produce the following INI file as nix string:
   </para>
 
-  <variablelist>
-    <varlistentry>
-    <term><literal>name</literal></term>
-
-    <listitem><para>Environment name.</para></listitem>
-    </varlistentry>
+<programlisting>
+[main]
+autopush:"no"
+host:"localhost"
+port:42
+pushinfo:"yes"
+str\:ange:"very::strange"
 
-    <varlistentry>
-    <term><literal>targetPkgs</literal></term>
+[mergetool]
+merge:"diff3"
+</programlisting>
 
-    <listitem><para>Packages to be installed for the main host's architecture
-    (i.e. x86_64 on x86_64 installations). Along with libraries binaries are also
-    installed.</para></listitem>
-    </varlistentry>
-
-    <varlistentry>
-    <term><literal>multiPkgs</literal></term>
-
-    <listitem><para>Packages to be installed for all architectures supported by
-    a host (i.e. i686 and x86_64 on x86_64 installations). Only libraries are
-    installed by default.</para></listitem>
-    </varlistentry>
-
-    <varlistentry>
-    <term><literal>extraBuildCommands</literal></term>
-
-    <listitem><para>Additional commands to be executed for finalizing the
-    directory structure.</para></listitem>
-    </varlistentry>
-
-    <varlistentry>
-    <term><literal>extraBuildCommandsMulti</literal></term>
-
-    <listitem><para>Like <literal>extraBuildCommands</literal>, but
-    executed only on multilib architectures.</para></listitem>
-    </varlistentry>
-
-    <varlistentry>
-    <term><literal>extraOutputsToInstall</literal></term>
+  <note>
+   <para>
+    Nix store paths can be converted to strings by enclosing a derivation
+    attribute like so: <code>"${drv}"</code>.
+   </para>
+  </note>
 
-    <listitem><para>Additional derivation outputs to be linked for both
-    target and multi-architecture packages.</para></listitem>
-    </varlistentry>
+  <para>
+   Detailed documentation for each generator can be found in
+   <literal>lib/generators.nix</literal>.
+  </para>
+ </section>
+ <section xml:id="sec-debug">
+  <title>Debugging Nix Expressions</title>
 
-    <varlistentry>
-    <term><literal>extraInstallCommands</literal></term>
+  <para>
+   Nix is a unityped, dynamic language, this means every value can potentially
+   appear anywhere. Since it is also non-strict, evaluation order and what
+   ultimately is evaluated might surprise you. Therefore it is important to be
+   able to debug nix expressions.
+  </para>
 
-    <listitem><para>Additional commands to be executed for finalizing the
-    derivation with runner script.</para></listitem>
-    </varlistentry>
+  <para>
+   In the <literal>lib/debug.nix</literal> file you will find a number of
+   functions that help (pretty-)printing values while evaluation is runnnig.
+   You can even specify how deep these values should be printed recursively,
+   and transform them on the fly. Please consult the docstrings in
+   <literal>lib/debug.nix</literal> for usage information.
+  </para>
+ </section>
+ <section xml:id="sec-fhs-environments">
+  <title>buildFHSUserEnv</title>
 
-    <varlistentry>
-    <term><literal>runScript</literal></term>
+  <para>
+   <function>buildFHSUserEnv</function> provides a way to build and run
+   FHS-compatible lightweight sandboxes. It creates an isolated root with bound
+   <filename>/nix/store</filename>, so its footprint in terms of disk space
+   needed is quite small. This allows one to run software which is hard or
+   unfeasible to patch for NixOS -- 3rd-party source trees with FHS
+   assumptions, games distributed as tarballs, software with integrity checking
+   and/or external self-updated binaries. It uses Linux namespaces feature to
+   create temporary lightweight environments which are destroyed after all
+   child processes exit, without root user rights requirement. Accepted
+   arguments are:
+  </para>
 
-    <listitem><para>A command that would be executed inside the sandbox and
-    passed all the command line arguments. It defaults to
-    <literal>bash</literal>.</para></listitem>
-    </varlistentry>
+  <variablelist>
+   <varlistentry>
+    <term><literal>name</literal>
+    </term>
+    <listitem>
+     <para>
+      Environment name.
+     </para>
+    </listitem>
+   </varlistentry>
+   <varlistentry>
+    <term><literal>targetPkgs</literal>
+    </term>
+    <listitem>
+     <para>
+      Packages to be installed for the main host's architecture (i.e. x86_64 on
+      x86_64 installations). Along with libraries binaries are also installed.
+     </para>
+    </listitem>
+   </varlistentry>
+   <varlistentry>
+    <term><literal>multiPkgs</literal>
+    </term>
+    <listitem>
+     <para>
+      Packages to be installed for all architectures supported by a host (i.e.
+      i686 and x86_64 on x86_64 installations). Only libraries are installed by
+      default.
+     </para>
+    </listitem>
+   </varlistentry>
+   <varlistentry>
+    <term><literal>extraBuildCommands</literal>
+    </term>
+    <listitem>
+     <para>
+      Additional commands to be executed for finalizing the directory
+      structure.
+     </para>
+    </listitem>
+   </varlistentry>
+   <varlistentry>
+    <term><literal>extraBuildCommandsMulti</literal>
+    </term>
+    <listitem>
+     <para>
+      Like <literal>extraBuildCommands</literal>, but executed only on multilib
+      architectures.
+     </para>
+    </listitem>
+   </varlistentry>
+   <varlistentry>
+    <term><literal>extraOutputsToInstall</literal>
+    </term>
+    <listitem>
+     <para>
+      Additional derivation outputs to be linked for both target and
+      multi-architecture packages.
+     </para>
+    </listitem>
+   </varlistentry>
+   <varlistentry>
+    <term><literal>extraInstallCommands</literal>
+    </term>
+    <listitem>
+     <para>
+      Additional commands to be executed for finalizing the derivation with
+      runner script.
+     </para>
+    </listitem>
+   </varlistentry>
+   <varlistentry>
+    <term><literal>runScript</literal>
+    </term>
+    <listitem>
+     <para>
+      A command that would be executed inside the sandbox and passed all the
+      command line arguments. It defaults to <literal>bash</literal>.
+     </para>
+    </listitem>
+   </varlistentry>
   </variablelist>
 
   <para>
-    One can create a simple environment using a <literal>shell.nix</literal>
-    like that:
+   One can create a simple environment using a <literal>shell.nix</literal>
+   like that:
   </para>
 
 <programlisting><![CDATA[
@@ -344,50 +429,49 @@
 ]]></programlisting>
 
   <para>
-    Running <literal>nix-shell</literal> would then drop you into a shell with
-    these libraries and binaries available. You can use this to run
-    closed-source applications which expect FHS structure without hassles:
-    simply change <literal>runScript</literal> to the application path,
-    e.g. <filename>./bin/start.sh</filename> -- relative paths are supported.
-  </para>
-</section>
-
-<section xml:id="sec-pkgs-dockerTools">
-<title>pkgs.dockerTools</title>
-
-<para>
-  <varname>pkgs.dockerTools</varname> is a set of functions for creating and
-  manipulating Docker images according to the
-  <link xlink:href="https://github.com/moby/moby/blob/master/image/spec/v1.2.md#docker-image-specification-v120">
-  Docker Image Specification v1.2.0
-  </link>. Docker itself is not used to perform any of the operations done by these
-  functions.
-</para>
-
-<warning>
-  <para>
-  The <varname>dockerTools</varname> API is unstable and may be subject to
-  backwards-incompatible changes in the future.
-  </para>
-</warning>
-
-<section xml:id="ssec-pkgs-dockerTools-buildImage">
-  <title>buildImage</title>
-
-  <para>
-  This function is analogous to the <command>docker build</command> command,
-  in that can used to build a Docker-compatible repository tarball containing
-  a single image with one or multiple layers. As such, the result
-  is suitable for being loaded in Docker with <command>docker load</command>.
+   Running <literal>nix-shell</literal> would then drop you into a shell with
+   these libraries and binaries available. You can use this to run
+   closed-source applications which expect FHS structure without hassles:
+   simply change <literal>runScript</literal> to the application path, e.g.
+   <filename>./bin/start.sh</filename> -- relative paths are supported.
   </para>
+ </section>
+ <section xml:id="sec-pkgs-dockerTools">
+  <title>pkgs.dockerTools</title>
 
   <para>
-  The parameters of <varname>buildImage</varname> with relative example values are
-  described below:
+   <varname>pkgs.dockerTools</varname> is a set of functions for creating and
+   manipulating Docker images according to the
+   <link xlink:href="https://github.com/moby/moby/blob/master/image/spec/v1.2.md#docker-image-specification-v120">
+   Docker Image Specification v1.2.0 </link>. Docker itself is not used to
+   perform any of the operations done by these functions.
   </para>
 
-  <example xml:id='ex-dockerTools-buildImage'><title>Docker build</title>
-  <programlisting>
+  <warning>
+   <para>
+    The <varname>dockerTools</varname> API is unstable and may be subject to
+    backwards-incompatible changes in the future.
+   </para>
+  </warning>
+
+  <section xml:id="ssec-pkgs-dockerTools-buildImage">
+   <title>buildImage</title>
+
+   <para>
+    This function is analogous to the <command>docker build</command> command,
+    in that can used to build a Docker-compatible repository tarball containing
+    a single image with one or multiple layers. As such, the result is suitable
+    for being loaded in Docker with <command>docker load</command>.
+   </para>
+
+   <para>
+    The parameters of <varname>buildImage</varname> with relative example
+    values are described below:
+   </para>
+
+   <example xml:id='ex-dockerTools-buildImage'>
+    <title>Docker build</title>
+<programlisting>
   buildImage {
     name = "redis"; <co xml:id='ex-dockerTools-buildImage-1' />
     tag = "latest"; <co xml:id='ex-dockerTools-buildImage-2' />
@@ -411,238 +495,217 @@
     };
   }
   </programlisting>
-  </example>
-
-  <para>The above example will build a Docker image <literal>redis/latest</literal>
-  from the given base image. Loading and running this image in Docker results in
-  <literal>redis-server</literal> being started automatically.
-  </para>
-
-  <calloutlist>
-  <callout arearefs='ex-dockerTools-buildImage-1'>
+   </example>
+
+   <para>
+    The above example will build a Docker image <literal>redis/latest</literal>
+    from the given base image. Loading and running this image in Docker results
+    in <literal>redis-server</literal> being started automatically.
+   </para>
+
+   <calloutlist>
+    <callout arearefs='ex-dockerTools-buildImage-1'>
+     <para>
+      <varname>name</varname> specifies the name of the resulting image. This
+      is the only required argument for <varname>buildImage</varname>.
+     </para>
+    </callout>
+    <callout arearefs='ex-dockerTools-buildImage-2'>
+     <para>
+      <varname>tag</varname> specifies the tag of the resulting image. By
+      default it's <literal>latest</literal>.
+     </para>
+    </callout>
+    <callout arearefs='ex-dockerTools-buildImage-3'>
+     <para>
+      <varname>fromImage</varname> is the repository tarball containing the
+      base image. It must be a valid Docker image, such as exported by
+      <command>docker save</command>. By default it's <literal>null</literal>,
+      which can be seen as equivalent to <literal>FROM scratch</literal> of a
+      <filename>Dockerfile</filename>.
+     </para>
+    </callout>
+    <callout arearefs='ex-dockerTools-buildImage-4'>
+     <para>
+      <varname>fromImageName</varname> can be used to further specify the base
+      image within the repository, in case it contains multiple images. By
+      default it's <literal>null</literal>, in which case
+      <varname>buildImage</varname> will peek the first image available in the
+      repository.
+     </para>
+    </callout>
+    <callout arearefs='ex-dockerTools-buildImage-5'>
+     <para>
+      <varname>fromImageTag</varname> can be used to further specify the tag of
+      the base image within the repository, in case an image contains multiple
+      tags. By default it's <literal>null</literal>, in which case
+      <varname>buildImage</varname> will peek the first tag available for the
+      base image.
+     </para>
+    </callout>
+    <callout arearefs='ex-dockerTools-buildImage-6'>
+     <para>
+      <varname>contents</varname> is a derivation that will be copied in the
+      new layer of the resulting image. This can be similarly seen as
+      <command>ADD contents/ /</command> in a <filename>Dockerfile</filename>.
+      By default it's <literal>null</literal>.
+     </para>
+    </callout>
+    <callout arearefs='ex-dockerTools-buildImage-runAsRoot'>
+     <para>
+      <varname>runAsRoot</varname> is a bash script that will run as root in an
+      environment that overlays the existing layers of the base image with the
+      new resulting layer, including the previously copied
+      <varname>contents</varname> derivation. This can be similarly seen as
+      <command>RUN ...</command> in a <filename>Dockerfile</filename>.
+      <note>
+       <para>
+        Using this parameter requires the <literal>kvm</literal> device to be
+        available.
+       </para>
+      </note>
+     </para>
+    </callout>
+    <callout arearefs='ex-dockerTools-buildImage-8'>
+     <para>
+      <varname>config</varname> is used to specify the configuration of the
+      containers that will be started off the built image in Docker. The
+      available options are listed in the
+      <link xlink:href="https://github.com/moby/moby/blob/master/image/spec/v1.2.md#image-json-field-descriptions">
+      Docker Image Specification v1.2.0 </link>.
+     </para>
+    </callout>
+   </calloutlist>
+
+   <para>
+    After the new layer has been created, its closure (to which
+    <varname>contents</varname>, <varname>config</varname> and
+    <varname>runAsRoot</varname> contribute) will be copied in the layer
+    itself. Only new dependencies that are not already in the existing layers
+    will be copied.
+   </para>
+
+   <para>
+    At the end of the process, only one new single layer will be produced and
+    added to the resulting image.
+   </para>
+
+   <para>
+    The resulting repository will only list the single image
+    <varname>image/tag</varname>. In the case of
+    <xref linkend='ex-dockerTools-buildImage'/> it would be
+    <varname>redis/latest</varname>.
+   </para>
+
+   <para>
+    It is possible to inspect the arguments with which an image was built using
+    its <varname>buildArgs</varname> attribute.
+   </para>
+
+   <note>
     <para>
-    <varname>name</varname> specifies the name of the resulting image.
-    This is the only required argument for <varname>buildImage</varname>.
+     If you see errors similar to <literal>getProtocolByName: does not exist
+     (no such protocol name: tcp)</literal> you may need to add
+     <literal>pkgs.iana-etc</literal> to <varname>contents</varname>.
     </para>
-  </callout>
+   </note>
 
-  <callout arearefs='ex-dockerTools-buildImage-2'>
+   <note>
     <para>
-    <varname>tag</varname> specifies the tag of the resulting image.
-    By default it's <literal>latest</literal>.
+     If you see errors similar to <literal>Error_Protocol ("certificate has
+     unknown CA",True,UnknownCa)</literal> you may need to add
+     <literal>pkgs.cacert</literal> to <varname>contents</varname>.
     </para>
-  </callout>
-
-  <callout arearefs='ex-dockerTools-buildImage-3'>
-    <para>
-    <varname>fromImage</varname> is the repository tarball containing the base image.
-    It must be a valid Docker image, such as exported by <command>docker save</command>.
-    By default it's <literal>null</literal>, which can be seen as equivalent
-    to <literal>FROM scratch</literal> of a <filename>Dockerfile</filename>.
-    </para>
-  </callout>
-
-  <callout arearefs='ex-dockerTools-buildImage-4'>
-    <para>
-    <varname>fromImageName</varname> can be used to further specify
-    the base image within the repository, in case it contains multiple images.
-    By default it's <literal>null</literal>, in which case
-    <varname>buildImage</varname> will peek the first image available
-    in the repository.
-    </para>
-  </callout>
-
-  <callout arearefs='ex-dockerTools-buildImage-5'>
-    <para>
-    <varname>fromImageTag</varname> can be used to further specify the tag
-    of the base image within the repository, in case an image contains multiple tags.
-    By default it's <literal>null</literal>, in which case
-    <varname>buildImage</varname> will peek the first tag available for the base image.
-    </para>
-  </callout>
-
-  <callout arearefs='ex-dockerTools-buildImage-6'>
-    <para>
-    <varname>contents</varname> is a derivation that will be copied in the new
-    layer of the resulting image. This can be similarly seen as
-    <command>ADD contents/ /</command> in a <filename>Dockerfile</filename>.
-    By default it's <literal>null</literal>.
-    </para>
-  </callout>
-
-  <callout arearefs='ex-dockerTools-buildImage-runAsRoot'>
-    <para>
-    <varname>runAsRoot</varname> is a bash script that will run as root
-    in an environment that overlays the existing layers of the base image with
-    the new resulting layer, including the previously copied
-    <varname>contents</varname> derivation.
-    This can be similarly seen as
-    <command>RUN ...</command> in a <filename>Dockerfile</filename>.
-
-    <note>
-      <para>
-      Using this parameter requires the <literal>kvm</literal>
-      device to be available.
-      </para>
-    </note>
-    </para>
-  </callout>
-
-  <callout arearefs='ex-dockerTools-buildImage-8'>
-    <para>
-    <varname>config</varname> is used to specify the configuration of the
-    containers that will be started off the built image in Docker.
-    The available options are listed in the
-    <link xlink:href="https://github.com/moby/moby/blob/master/image/spec/v1.2.md#image-json-field-descriptions">
-      Docker Image Specification v1.2.0
-    </link>.
-    </para>
-  </callout>
-
-  </calloutlist>
-
-  <para>
-  After the new layer has been created, its closure
-  (to which <varname>contents</varname>, <varname>config</varname> and
-  <varname>runAsRoot</varname> contribute) will be copied in the layer itself.
-  Only new dependencies that are not already in the existing layers will be copied.
-  </para>
-
-  <para>
-  At the end of the process, only one new single layer will be produced and
-  added to the resulting image.
-  </para>
-
-  <para>
-  The resulting repository will only list the single image
-  <varname>image/tag</varname>. In the case of <xref linkend='ex-dockerTools-buildImage'/>
-  it would be <varname>redis/latest</varname>.
-  </para>
-
-  <para>
-  It is possible to inspect the arguments with which an image was built
-  using its <varname>buildArgs</varname> attribute.
-  </para>
-
-
-
-  <note>
-  <para>
-  If you see errors similar to <literal>getProtocolByName: does not exist (no such protocol name: tcp)</literal>
-  you may need to add <literal>pkgs.iana-etc</literal> to <varname>contents</varname>.
-  </para>
-  </note>
-
-  <note>
-  <para>
-  If you see errors similar to <literal>Error_Protocol ("certificate has unknown CA",True,UnknownCa)</literal>
-  you may need to add <literal>pkgs.cacert</literal> to <varname>contents</varname>.
-  </para>
-  </note>
+   </note>
+  </section>
 
-</section>
+  <section xml:id="ssec-pkgs-dockerTools-fetchFromRegistry">
+   <title>pullImage</title>
 
-<section xml:id="ssec-pkgs-dockerTools-fetchFromRegistry">
-  <title>pullImage</title>
+   <para>
+    This function is analogous to the <command>docker pull</command> command,
+    in that can be used to pull a Docker image from a Docker registry.
+    By default <link xlink:href="https://hub.docker.com/">Docker Hub</link>
+    is used to pull images.
+   </para>
 
-  <para>
-  This function is analogous to the <command>docker pull</command> command,
-  in that can be used to fetch a Docker image from a Docker registry.
-  Currently only registry <literal>v1</literal> is supported.
-  By default <link xlink:href="https://hub.docker.com/">Docker Hub</link>
-  is used to pull images.
-  </para>
+   <para>
+    Its parameters are described in the example below:
+   </para>
 
-  <para>
-  Its parameters are described in the example below:
-  </para>
-
-  <example xml:id='ex-dockerTools-pullImage'><title>Docker pull</title>
-  <programlisting>
+   <example xml:id='ex-dockerTools-pullImage'>
+    <title>Docker pull</title>
+<programlisting>
   pullImage {
-    imageName = "debian"; <co xml:id='ex-dockerTools-pullImage-1' />
-    imageTag = "jessie"; <co xml:id='ex-dockerTools-pullImage-2' />
-    imageId = null; <co xml:id='ex-dockerTools-pullImage-3' />
-    sha256 = "1bhw5hkz6chrnrih0ymjbmn69hyfriza2lr550xyvpdrnbzr4gk2"; <co xml:id='ex-dockerTools-pullImage-4' />
-
-    indexUrl = "https://index.docker.io"; <co xml:id='ex-dockerTools-pullImage-5' />
-    registryVersion = "v1";
+    imageName = "nixos/nix"; <co xml:id='ex-dockerTools-pullImage-1' />
+    imageDigest = "sha256:20d9485b25ecfd89204e843a962c1bd70e9cc6858d65d7f5fadc340246e2116b"; <co xml:id='ex-dockerTools-pullImage-2' />
+    finalImageTag = "1.11";  <co xml:id='ex-dockerTools-pullImage-3' />
+    sha256 = "0mqjy3zq2v6rrhizgb9nvhczl87lcfphq9601wcprdika2jz7qh8"; <co xml:id='ex-dockerTools-pullImage-4' />
   }
   </programlisting>
-  </example>
-
-  <calloutlist>
-  <callout arearefs='ex-dockerTools-pullImage-1'>
-    <para>
-    <varname>imageName</varname> specifies the name of the image to be downloaded,
-    which can also include the registry namespace (e.g. <literal>library/debian</literal>).
-    This argument is required.
-    </para>
-  </callout>
-
-  <callout arearefs='ex-dockerTools-pullImage-2'>
-    <para>
-    <varname>imageTag</varname> specifies the tag of the image to be downloaded.
-    By default it's <literal>latest</literal>.
-    </para>
-  </callout>
-
-  <callout arearefs='ex-dockerTools-pullImage-3'>
-    <para>
-    <varname>imageId</varname>, if specified this exact image will be fetched, instead
-    of <varname>imageName/imageTag</varname>. However, the resulting repository
-    will still be named <varname>imageName/imageTag</varname>.
-    By default it's <literal>null</literal>.
-    </para>
-  </callout>
-
-  <callout arearefs='ex-dockerTools-pullImage-4'>
-    <para>
-    <varname>sha256</varname> is the checksum of the whole fetched image.
-    This argument is required.
-    </para>
+   </example>
+
+   <calloutlist>
+    <callout arearefs='ex-dockerTools-pullImage-1'>
+     <para>
+      <varname>imageName</varname> specifies the name of the image to be downloaded,
+      which can also include the registry namespace (e.g. <literal>nixos</literal>).
+      This argument is required.
+     </para>
+    </callout>
+    <callout arearefs='ex-dockerTools-pullImage-2'>
+     <para>
+      <varname>imageDigest</varname> specifies the digest of the image
+      to be downloaded. Skopeo can be used to get the digest of an image
+<programlisting>
+  $ skopeo inspect docker://docker.io/nixos/nix:1.11 | jq -r '.Digest'
+  sha256:20d9485b25ecfd89204e843a962c1bd70e9cc6858d65d7f5fadc340246e2116b
+  </programlisting>
+      This argument is required.
+     </para>
+    </callout>
+    <callout arearefs='ex-dockerTools-pullImage-3'>
+     <para>
+      <varname>finalImageTag</varname>, if specified, this is the tag of
+      the image to be created. Note it is never used to fetch the image
+      since we prefer to rely on the immutable digest ID. By default
+      it's <literal>latest</literal>.
+     </para>
+    </callout>
+    <callout arearefs='ex-dockerTools-pullImage-4'>
+     <para>
+      <varname>sha256</varname> is the checksum of the whole fetched image.
+      This argument is required.
+     </para>
+    </callout>
+   </calloutlist>
+  </section>
 
-    <note>
-    <para>The checksum is computed on the unpacked directory, not on the final tarball.</para>
-    </note>
+  <section xml:id="ssec-pkgs-dockerTools-exportImage">
+   <title>exportImage</title>
 
-  </callout>
+   <para>
+    This function is analogous to the <command>docker export</command> command,
+    in that can used to flatten a Docker image that contains multiple layers.
+    It is in fact the result of the merge of all the layers of the image. As
+    such, the result is suitable for being imported in Docker with
+    <command>docker import</command>.
+   </para>
 
-  <callout arearefs='ex-dockerTools-pullImage-5'>
+   <note>
     <para>
-    In the above example the default values are shown for the variables
-    <varname>indexUrl</varname> and <varname>registryVersion</varname>.
-    Hence by default the Docker.io registry is used to pull the images.
+     Using this function requires the <literal>kvm</literal> device to be
+     available.
     </para>
-  </callout>
-  </calloutlist>
-
-</section>
-
-<section xml:id="ssec-pkgs-dockerTools-exportImage">
-  <title>exportImage</title>
-
-  <para>
-  This function is analogous to the <command>docker export</command> command,
-  in that can used to flatten a Docker image that contains multiple layers.
-  It is in fact the result of the merge of all the layers of the image.
-  As such, the result is suitable for being imported in Docker
-  with <command>docker import</command>.
-  </para>
+   </note>
 
-  <note>
-  <para>
-    Using this function requires the <literal>kvm</literal>
-    device to be available.
-  </para>
-  </note>
+   <para>
+    The parameters of <varname>exportImage</varname> are the following:
+   </para>
 
-  <para>
-  The parameters of <varname>exportImage</varname> are the following:
-  </para>
-
-  <example xml:id='ex-dockerTools-exportImage'><title>Docker export</title>
-  <programlisting>
+   <example xml:id='ex-dockerTools-exportImage'>
+    <title>Docker export</title>
+<programlisting>
   exportImage {
     fromImage = someLayeredImage;
     fromImageName = null;
@@ -651,33 +714,35 @@
     name = someLayeredImage.name;
   }
   </programlisting>
-  </example>
-
-  <para>
-  The parameters relative to the base image have the same synopsis as
-  described in <xref linkend='ssec-pkgs-dockerTools-buildImage'/>, except that
-  <varname>fromImage</varname> is the only required argument in this case.
-  </para>
-
-  <para>
-  The <varname>name</varname> argument is the name of the derivation output,
-  which defaults to <varname>fromImage.name</varname>.
-  </para>
-</section>
+   </example>
+
+   <para>
+    The parameters relative to the base image have the same synopsis as
+    described in <xref linkend='ssec-pkgs-dockerTools-buildImage'/>, except
+    that <varname>fromImage</varname> is the only required argument in this
+    case.
+   </para>
+
+   <para>
+    The <varname>name</varname> argument is the name of the derivation output,
+    which defaults to <varname>fromImage.name</varname>.
+   </para>
+  </section>
 
-<section xml:id="ssec-pkgs-dockerTools-shadowSetup">
-  <title>shadowSetup</title>
+  <section xml:id="ssec-pkgs-dockerTools-shadowSetup">
+   <title>shadowSetup</title>
 
-  <para>
-  This constant string is a helper for setting up the base files for managing
-  users and groups, only if such files don't exist already.
-  It is suitable for being used in a
-  <varname>runAsRoot</varname> <xref linkend='ex-dockerTools-buildImage-runAsRoot'/> script for cases like
-  in the example below:
-  </para>
+   <para>
+    This constant string is a helper for setting up the base files for managing
+    users and groups, only if such files don't exist already. It is suitable
+    for being used in a <varname>runAsRoot</varname>
+    <xref linkend='ex-dockerTools-buildImage-runAsRoot'/> script for cases like
+    in the example below:
+   </para>
 
-  <example xml:id='ex-dockerTools-shadowSetup'><title>Shadow base files</title>
-  <programlisting>
+   <example xml:id='ex-dockerTools-shadowSetup'>
+    <title>Shadow base files</title>
+<programlisting>
   buildImage {
     name = "shadow-basic";
 
@@ -691,16 +756,13 @@
     '';
   }
   </programlisting>
-  </example>
-
-  <para>
-  Creating base files like <literal>/etc/passwd</literal> or
-  <literal>/etc/login.defs</literal> are necessary for shadow-utils to
-  manipulate users and groups.
-  </para>
-
-</section>
-
-</section>
+   </example>
 
+   <para>
+    Creating base files like <literal>/etc/passwd</literal> or
+    <literal>/etc/login.defs</literal> are necessary for shadow-utils to
+    manipulate users and groups.
+   </para>
+  </section>
+ </section>
 </chapter>
diff --git a/doc/introduction.md b/doc/introduction.chapter.md
index 8b03221c64b..8b03221c64b 100644
--- a/doc/introduction.md
+++ b/doc/introduction.chapter.md
diff --git a/doc/languages-frameworks/beam.xml b/doc/languages-frameworks/beam.xml
index 1a18ed27237..ac7a83ed426 100644
--- a/doc/languages-frameworks/beam.xml
+++ b/doc/languages-frameworks/beam.xml
@@ -1,124 +1,137 @@
 <section xmlns="http://docbook.org/ns/docbook"
          xmlns:xlink="http://www.w3.org/1999/xlink"
          xml:id="sec-beam">
+ <title>BEAM Languages (Erlang, Elixir &amp; LFE)</title>
 
-  <title>BEAM Languages (Erlang, Elixir &amp; LFE)</title>
-  <section xml:id="beam-introduction">
-    <title>Introduction</title>
-    <para>
-      In this document and related Nix expressions, we use the term,
-      <emphasis>BEAM</emphasis>, to describe the environment. BEAM is the name
-      of the Erlang Virtual Machine and, as far as we're concerned, from a
-      packaging perspective, all languages that run on the BEAM are
-      interchangeable. That which varies, like the build system, is transparent
-      to users of any given BEAM package, so we make no distinction.
-    </para>
-  </section>
-  <section xml:id="beam-structure">
-    <title>Structure</title>
-    <para>
-      All BEAM-related expressions are available via the top-level
-      <literal>beam</literal> attribute, which includes:
-    </para>
-    <itemizedlist>
-      <listitem>
-        <para>
-          <literal>interpreters</literal>: a set of compilers running on the
-          BEAM, including multiple Erlang/OTP versions
-          (<literal>beam.interpreters.erlangR19</literal>, etc), Elixir
-          (<literal>beam.interpreters.elixir</literal>) and LFE
-          (<literal>beam.interpreters.lfe</literal>).
-        </para>
-      </listitem>
-      <listitem>
-        <para>
-          <literal>packages</literal>: a set of package sets, each compiled with
-          a specific Erlang/OTP version, e.g.
-          <literal>beam.packages.erlangR19</literal>.
-        </para>
-      </listitem>
-    </itemizedlist>
-    <para>
-      The default Erlang compiler, defined by
-      <literal>beam.interpreters.erlang</literal>, is aliased as
-      <literal>erlang</literal>. The default BEAM package set is defined by
-      <literal>beam.packages.erlang</literal> and aliased at the top level as
-      <literal>beamPackages</literal>.
-    </para>
+ <section xml:id="beam-introduction">
+  <title>Introduction</title>
+
+  <para>
+   In this document and related Nix expressions, we use the term,
+   <emphasis>BEAM</emphasis>, to describe the environment. BEAM is the name of
+   the Erlang Virtual Machine and, as far as we're concerned, from a packaging
+   perspective, all languages that run on the BEAM are interchangeable. That
+   which varies, like the build system, is transparent to users of any given
+   BEAM package, so we make no distinction.
+  </para>
+ </section>
+
+ <section xml:id="beam-structure">
+  <title>Structure</title>
+
+  <para>
+   All BEAM-related expressions are available via the top-level
+   <literal>beam</literal> attribute, which includes:
+  </para>
+
+  <itemizedlist>
+   <listitem>
     <para>
-      To create a package set built with a custom Erlang version, use the
-      lambda, <literal>beam.packagesWith</literal>, which accepts an Erlang/OTP
-      derivation and produces a package set similar to
-      <literal>beam.packages.erlang</literal>.
+     <literal>interpreters</literal>: a set of compilers running on the BEAM,
+     including multiple Erlang/OTP versions
+     (<literal>beam.interpreters.erlangR19</literal>, etc), Elixir
+     (<literal>beam.interpreters.elixir</literal>) and LFE
+     (<literal>beam.interpreters.lfe</literal>).
     </para>
+   </listitem>
+   <listitem>
     <para>
-      Many Erlang/OTP distributions available in
-      <literal>beam.interpreters</literal> have versions with ODBC and/or Java
-      enabled. For example, there's
-      <literal>beam.interpreters.erlangR19_odbc_javac</literal>, which
-      corresponds to <literal>beam.interpreters.erlangR19</literal>.
+     <literal>packages</literal>: a set of package sets, each compiled with a
+     specific Erlang/OTP version, e.g.
+     <literal>beam.packages.erlangR19</literal>.
     </para>
-    <para xml:id="erlang-call-package">
-      We also provide the lambda,
-      <literal>beam.packages.erlang.callPackage</literal>, which simplifies
-      writing BEAM package definitions by injecting all packages from
-      <literal>beam.packages.erlang</literal> into the top-level context.
-    </para>
-  </section>
-  <section xml:id="build-tools">
+   </listitem>
+  </itemizedlist>
+
+  <para>
+   The default Erlang compiler, defined by
+   <literal>beam.interpreters.erlang</literal>, is aliased as
+   <literal>erlang</literal>. The default BEAM package set is defined by
+   <literal>beam.packages.erlang</literal> and aliased at the top level as
+   <literal>beamPackages</literal>.
+  </para>
+
+  <para>
+   To create a package set built with a custom Erlang version, use the lambda,
+   <literal>beam.packagesWith</literal>, which accepts an Erlang/OTP derivation
+   and produces a package set similar to
+   <literal>beam.packages.erlang</literal>.
+  </para>
+
+  <para>
+   Many Erlang/OTP distributions available in
+   <literal>beam.interpreters</literal> have versions with ODBC and/or Java
+   enabled. For example, there's
+   <literal>beam.interpreters.erlangR19_odbc_javac</literal>, which corresponds
+   to <literal>beam.interpreters.erlangR19</literal>.
+  </para>
+
+  <para xml:id="erlang-call-package">
+   We also provide the lambda,
+   <literal>beam.packages.erlang.callPackage</literal>, which simplifies
+   writing BEAM package definitions by injecting all packages from
+   <literal>beam.packages.erlang</literal> into the top-level context.
+  </para>
+ </section>
+
+ <section xml:id="build-tools">
   <title>Build Tools</title>
+
   <section xml:id="build-tools-rebar3">
-    <title>Rebar3</title>
-    <para>
-      By default, Rebar3 wants to manage its own dependencies. This is perfectly
-      acceptable in the normal, non-Nix setup, but in the Nix world, it is not.
-      To rectify this, we provide two versions of Rebar3:
-      <itemizedlist>
-        <listitem>
-          <para>
-            <literal>rebar3</literal>: patched to remove the ability to download
-            anything. When not running it via <literal>nix-shell</literal> or
-            <literal>nix-build</literal>, it's probably not going to work as
-            desired.
-          </para>
-        </listitem>
-        <listitem>
-          <para>
-            <literal>rebar3-open</literal>: the normal, unmodified Rebar3. It
-            should work exactly as would any other version of Rebar3. Any Erlang
-            package should rely on <literal>rebar3</literal> instead. See <xref
+   <title>Rebar3</title>
+
+   <para>
+    By default, Rebar3 wants to manage its own dependencies. This is perfectly
+    acceptable in the normal, non-Nix setup, but in the Nix world, it is not.
+    To rectify this, we provide two versions of Rebar3:
+    <itemizedlist>
+     <listitem>
+      <para>
+       <literal>rebar3</literal>: patched to remove the ability to download
+       anything. When not running it via <literal>nix-shell</literal> or
+       <literal>nix-build</literal>, it's probably not going to work as
+       desired.
+      </para>
+     </listitem>
+     <listitem>
+      <para>
+       <literal>rebar3-open</literal>: the normal, unmodified Rebar3. It should
+       work exactly as would any other version of Rebar3. Any Erlang package
+       should rely on <literal>rebar3</literal> instead. See
+       <xref
             linkend="rebar3-packages"/>.
-          </para>
-        </listitem>
-      </itemizedlist>
-    </para>
+      </para>
+     </listitem>
+    </itemizedlist>
+   </para>
   </section>
+
   <section xml:id="build-tools-other">
-    <title>Mix &amp; Erlang.mk</title>
-    <para>
-      Both Mix and Erlang.mk work exactly as expected. There is a bootstrap
-      process that needs to be run for both, however, which is supported by the
-      <literal>buildMix</literal> and <literal>buildErlangMk</literal>
-      derivations, respectively.
-    </para>
+   <title>Mix &amp; Erlang.mk</title>
+
+   <para>
+    Both Mix and Erlang.mk work exactly as expected. There is a bootstrap
+    process that needs to be run for both, however, which is supported by the
+    <literal>buildMix</literal> and <literal>buildErlangMk</literal>
+    derivations, respectively.
+   </para>
   </section>
-</section>
+ </section>
 
-<section xml:id="how-to-install-beam-packages">
+ <section xml:id="how-to-install-beam-packages">
   <title>How to Install BEAM Packages</title>
+
   <para>
-    BEAM packages are not registered at the top level, simply because they are
-    not relevant to the vast majority of Nix users. They are installable using
-    the <literal>beam.packages.erlang</literal> attribute set (aliased as
-    <literal>beamPackages</literal>), which points to packages built by the
-    default Erlang/OTP version in Nixpkgs, as defined by
-    <literal>beam.interpreters.erlang</literal>.
-
-    To list the available packages in
-    <literal>beamPackages</literal>, use the following command:
+   BEAM packages are not registered at the top level, simply because they are
+   not relevant to the vast majority of Nix users. They are installable using
+   the <literal>beam.packages.erlang</literal> attribute set (aliased as
+   <literal>beamPackages</literal>), which points to packages built by the
+   default Erlang/OTP version in Nixpkgs, as defined by
+   <literal>beam.interpreters.erlang</literal>. To list the available packages
+   in <literal>beamPackages</literal>, use the following command:
   </para>
 
-  <programlisting>
+<programlisting>
 $ nix-env -f &quot;&lt;nixpkgs&gt;&quot; -qaP -A beamPackages
 beamPackages.esqlite    esqlite-0.2.1
 beamPackages.goldrush   goldrush-0.1.7
@@ -128,34 +141,43 @@ beamPackages.lager      lager-3.0.2
 beamPackages.meck       meck-0.8.3
 beamPackages.rebar3-pc  pc-1.1.0
   </programlisting>
+
   <para>
-    To install any of those packages into your profile, refer to them by their
-    attribute path (first column):
+   To install any of those packages into your profile, refer to them by their
+   attribute path (first column):
   </para>
-  <programlisting>
+
+<programlisting>
 $ nix-env -f &quot;&lt;nixpkgs&gt;&quot; -iA beamPackages.ibrowse
   </programlisting>
+
   <para>
-    The attribute path of any BEAM package corresponds to the name of that
-    particular package in <link xlink:href="https://hex.pm">Hex</link> or its
-    OTP Application/Release name.
+   The attribute path of any BEAM package corresponds to the name of that
+   particular package in <link xlink:href="https://hex.pm">Hex</link> or its
+   OTP Application/Release name.
   </para>
-</section>
-<section xml:id="packaging-beam-applications">
+ </section>
+
+ <section xml:id="packaging-beam-applications">
   <title>Packaging BEAM Applications</title>
+
   <section  xml:id="packaging-erlang-applications">
-    <title>Erlang Applications</title>
-    <section xml:id="rebar3-packages">
-      <title>Rebar3 Packages</title>
-      <para>
-        The Nix function, <literal>buildRebar3</literal>, defined in
-        <literal>beam.packages.erlang.buildRebar3</literal> and aliased at the
-        top level, can be used to build a derivation that understands how to
-        build a Rebar3 project. For example, we can build <link
-        xlink:href="https://github.com/erlang-nix/hex2nix">hex2nix</link> as
-        follows:
-      </para>
-      <programlisting>
+   <title>Erlang Applications</title>
+
+   <section xml:id="rebar3-packages">
+    <title>Rebar3 Packages</title>
+
+    <para>
+     The Nix function, <literal>buildRebar3</literal>, defined in
+     <literal>beam.packages.erlang.buildRebar3</literal> and aliased at the top
+     level, can be used to build a derivation that understands how to build a
+     Rebar3 project. For example, we can build
+     <link
+        xlink:href="https://github.com/erlang-nix/hex2nix">hex2nix</link>
+     as follows:
+    </para>
+
+<programlisting>
         { stdenv, fetchFromGitHub, buildRebar3, ibrowse, jsx, erlware_commons }:
 
         buildRebar3 rec {
@@ -172,33 +194,40 @@ $ nix-env -f &quot;&lt;nixpkgs&gt;&quot; -iA beamPackages.ibrowse
           beamDeps = [ ibrowse jsx erlware_commons ];
         }
       </programlisting>
-      <para>
-        Such derivations are callable with
-        <literal>beam.packages.erlang.callPackage</literal> (see <xref
-        linkend="erlang-call-package"/>). To call this package using the normal
-        <literal>callPackage</literal>, refer to dependency packages via
-        <literal>beamPackages</literal>, e.g.
-        <literal>beamPackages.ibrowse</literal>.
-      </para>
-      <para>
-        Notably, <literal>buildRebar3</literal> includes
-        <literal>beamDeps</literal>, while
-        <literal>stdenv.mkDerivation</literal> does not. BEAM dependencies added
-        there will be correctly handled by the system.
-      </para>
-      <para>
-        If a package needs to compile native code via Rebar3's port compilation
-        mechanism, add <literal>compilePort = true;</literal> to the derivation.
-      </para>
-    </section>
-    <section xml:id="erlang-mk-packages">
-      <title>Erlang.mk Packages</title>
-      <para>
-        Erlang.mk functions similarly to Rebar3, except we use
-        <literal>buildErlangMk</literal> instead of
-        <literal>buildRebar3</literal>.
-      </para>
-      <programlisting>
+
+    <para>
+     Such derivations are callable with
+     <literal>beam.packages.erlang.callPackage</literal> (see
+     <xref
+        linkend="erlang-call-package"/>). To call this package using
+     the normal <literal>callPackage</literal>, refer to dependency packages
+     via <literal>beamPackages</literal>, e.g.
+     <literal>beamPackages.ibrowse</literal>.
+    </para>
+
+    <para>
+     Notably, <literal>buildRebar3</literal> includes
+     <literal>beamDeps</literal>, while <literal>stdenv.mkDerivation</literal>
+     does not. BEAM dependencies added there will be correctly handled by the
+     system.
+    </para>
+
+    <para>
+     If a package needs to compile native code via Rebar3's port compilation
+     mechanism, add <literal>compilePort = true;</literal> to the derivation.
+    </para>
+   </section>
+
+   <section xml:id="erlang-mk-packages">
+    <title>Erlang.mk Packages</title>
+
+    <para>
+     Erlang.mk functions similarly to Rebar3, except we use
+     <literal>buildErlangMk</literal> instead of
+     <literal>buildRebar3</literal>.
+    </para>
+
+<programlisting>
         { buildErlangMk, fetchHex, cowlib, ranch }:
 
         buildErlangMk {
@@ -222,14 +251,17 @@ $ nix-env -f &quot;&lt;nixpkgs&gt;&quot; -iA beamPackages.ibrowse
           };
         }
       </programlisting>
-    </section>
-    <section xml:id="mix-packages">
-      <title>Mix Packages</title>
-      <para>
-        Mix functions similarly to Rebar3, except we use
-        <literal>buildMix</literal> instead of <literal>buildRebar3</literal>.
-      </para>
-      <programlisting>
+   </section>
+
+   <section xml:id="mix-packages">
+    <title>Mix Packages</title>
+
+    <para>
+     Mix functions similarly to Rebar3, except we use
+     <literal>buildMix</literal> instead of <literal>buildRebar3</literal>.
+    </para>
+
+<programlisting>
         { buildMix, fetchHex, plug, absinthe }:
 
         buildMix {
@@ -253,10 +285,12 @@ $ nix-env -f &quot;&lt;nixpkgs&gt;&quot; -iA beamPackages.ibrowse
           };
         }
       </programlisting>
-      <para>
-        Alternatively, we can use <literal>buildHex</literal> as a shortcut:
-      </para>
-      <programlisting>
+
+    <para>
+     Alternatively, we can use <literal>buildHex</literal> as a shortcut:
+    </para>
+
+<programlisting>
         { buildHex, buildMix, plug, absinthe }:
 
         buildHex {
@@ -278,21 +312,25 @@ $ nix-env -f &quot;&lt;nixpkgs&gt;&quot; -iA beamPackages.ibrowse
          };
        }
       </programlisting>
-    </section>
+   </section>
   </section>
-</section>
-<section xml:id="how-to-develop">
+ </section>
+
+ <section xml:id="how-to-develop">
   <title>How to Develop</title>
+
   <section xml:id="accessing-an-environment">
-    <title>Accessing an Environment</title>
-    <para>
-      Often, we simply want to access a valid environment that contains a
-      specific package and its dependencies. We can accomplish that with the
-      <literal>env</literal> attribute of a derivation. For example, let's say
-      we want to access an Erlang REPL with <literal>ibrowse</literal> loaded
-      up. We could do the following:
-    </para>
-    <programlisting>
+   <title>Accessing an Environment</title>
+
+   <para>
+    Often, we simply want to access a valid environment that contains a
+    specific package and its dependencies. We can accomplish that with the
+    <literal>env</literal> attribute of a derivation. For example, let's say we
+    want to access an Erlang REPL with <literal>ibrowse</literal> loaded up. We
+    could do the following:
+   </para>
+
+<programlisting>
       $ nix-shell -A beamPackages.ibrowse.env --run "erl"
       Erlang/OTP 18 [erts-7.0] [source] [64-bit] [smp:4:4] [async-threads:10] [hipe] [kernel-poll:false]
 
@@ -333,22 +371,25 @@ $ nix-env -f &quot;&lt;nixpkgs&gt;&quot; -iA beamPackages.ibrowse
       ok
       2>
     </programlisting>
-    <para>
-      Notice the <literal>-A beamPackages.ibrowse.env</literal>. That is the key
-      to this functionality.
-    </para>
+
+   <para>
+    Notice the <literal>-A beamPackages.ibrowse.env</literal>. That is the key
+    to this functionality.
+   </para>
   </section>
+
   <section xml:id="creating-a-shell">
-    <title>Creating a Shell</title>
-    <para>
-      Getting access to an environment often isn't enough to do real
-      development. Usually, we need to create a <literal>shell.nix</literal>
-      file and do our development inside of the environment specified therein.
-      This file looks a lot like the packaging described above, except that
-      <literal>src</literal> points to the project root and we call the package
-      directly.
-    </para>
-    <programlisting>
+   <title>Creating a Shell</title>
+
+   <para>
+    Getting access to an environment often isn't enough to do real development.
+    Usually, we need to create a <literal>shell.nix</literal> file and do our
+    development inside of the environment specified therein. This file looks a
+    lot like the packaging described above, except that <literal>src</literal>
+    points to the project root and we call the package directly.
+   </para>
+
+<programlisting>
 { pkgs ? import &quot;&lt;nixpkgs&quot;&gt; {} }:
 
 with pkgs;
@@ -368,13 +409,16 @@ in
 
   drv
     </programlisting>
-    <section xml:id="building-in-a-shell">
+
+   <section xml:id="building-in-a-shell">
     <title>Building in a Shell (for Mix Projects)</title>
+
     <para>
-      We can leverage the support of the derivation, irrespective of the build
-      derivation, by calling the commands themselves.
+     We can leverage the support of the derivation, irrespective of the build
+     derivation, by calling the commands themselves.
     </para>
-    <programlisting>
+
+<programlisting>
 # =============================================================================
 # Variables
 # =============================================================================
@@ -431,44 +475,54 @@ analyze: build plt
         $(NIX_SHELL) --run "mix dialyzer --no-compile"
 
     </programlisting>
+
     <para>
-      Using a <literal>shell.nix</literal> as described (see <xref
+     Using a <literal>shell.nix</literal> as described (see
+     <xref
       linkend="creating-a-shell"/>) should just work. Aside from
-      <literal>test</literal>, <literal>plt</literal>, and
-      <literal>analyze</literal>, the Make targets work just fine for all of the
-      build derivations.
+     <literal>test</literal>, <literal>plt</literal>, and
+     <literal>analyze</literal>, the Make targets work just fine for all of the
+     build derivations.
     </para>
+   </section>
   </section>
-</section>
-</section>
-<section xml:id="generating-packages-from-hex-with-hex2nix">
+ </section>
+
+ <section xml:id="generating-packages-from-hex-with-hex2nix">
   <title>Generating Packages from Hex with <literal>hex2nix</literal></title>
+
   <para>
-    Updating the <link xlink:href="https://hex.pm">Hex</link> package set
-    requires <link
-    xlink:href="https://github.com/erlang-nix/hex2nix">hex2nix</link>. Given the
-    path to the Erlang modules (usually
-    <literal>pkgs/development/erlang-modules</literal>), it will dump a file
-    called <literal>hex-packages.nix</literal>, containing all the packages that
-    use a recognized build system in <link
-    xlink:href="https://hex.pm">Hex</link>. It can't be determined, however,
-    whether every package is buildable.
-    </para>
-    <para>
-      To make life easier for our users, try to build every <link
-      xlink:href="https://hex.pm">Hex</link> package and remove those that fail.
-      To do that, simply run the following command in the root of your
-      <literal>nixpkgs</literal> repository:
-    </para>
-    <programlisting>
+   Updating the <link xlink:href="https://hex.pm">Hex</link> package set
+   requires
+   <link
+    xlink:href="https://github.com/erlang-nix/hex2nix">hex2nix</link>.
+   Given the path to the Erlang modules (usually
+   <literal>pkgs/development/erlang-modules</literal>), it will dump a file
+   called <literal>hex-packages.nix</literal>, containing all the packages that
+   use a recognized build system in
+   <link
+    xlink:href="https://hex.pm">Hex</link>. It can't be determined,
+   however, whether every package is buildable.
+  </para>
+
+  <para>
+   To make life easier for our users, try to build every
+   <link
+      xlink:href="https://hex.pm">Hex</link> package and remove those
+   that fail. To do that, simply run the following command in the root of your
+   <literal>nixpkgs</literal> repository:
+  </para>
+
+<programlisting>
 $ nix-build -A beamPackages
     </programlisting>
-    <para>
-      That will attempt to build every package in
-      <literal>beamPackages</literal>. Then manually remove those that fail.
-      Hopefully, someone will improve <link
-      xlink:href="https://github.com/erlang-nix/hex2nix">hex2nix</link> in the
-      future to automate the process.
-    </para>
-</section>
+
+  <para>
+   That will attempt to build every package in <literal>beamPackages</literal>.
+   Then manually remove those that fail. Hopefully, someone will improve
+   <link
+      xlink:href="https://github.com/erlang-nix/hex2nix">hex2nix</link>
+   in the future to automate the process.
+  </para>
+ </section>
 </section>
diff --git a/doc/languages-frameworks/bower.xml b/doc/languages-frameworks/bower.xml
index 742d3c2e9fe..db7536cdc14 100644
--- a/doc/languages-frameworks/bower.xml
+++ b/doc/languages-frameworks/bower.xml
@@ -1,40 +1,37 @@
 <section xmlns="http://docbook.org/ns/docbook"
          xmlns:xlink="http://www.w3.org/1999/xlink"
          xml:id="sec-bower">
-
-<title>Bower</title>
-
-<para>
-  <link xlink:href="http://bower.io">Bower</link> is a package manager
-  for web site front-end components. Bower packages (comprising of
-  build artefacts and sometimes sources) are stored in
-  <command>git</command> repositories, typically on Github. The
-  package registry is run by the Bower team with package metadata
-  coming from the <filename>bower.json</filename> file within each
-  package.
-</para>
-
-<para>
-  The end result of running Bower is a
-  <filename>bower_components</filename> directory which can be included
-  in the web app's build process.
-</para>
-
-<para>
+ <title>Bower</title>
+
+ <para>
+  <link xlink:href="http://bower.io">Bower</link> is a package manager for web
+  site front-end components. Bower packages (comprising of build artefacts and
+  sometimes sources) are stored in <command>git</command> repositories,
+  typically on Github. The package registry is run by the Bower team with
+  package metadata coming from the <filename>bower.json</filename> file within
+  each package.
+ </para>
+
+ <para>
+  The end result of running Bower is a <filename>bower_components</filename>
+  directory which can be included in the web app's build process.
+ </para>
+
+ <para>
   Bower can be run interactively, by installing
   <varname>nodePackages.bower</varname>. More interestingly, the Bower
   components can be declared in a Nix derivation, with the help of
   <varname>nodePackages.bower2nix</varname>.
-</para>
+ </para>
 
-<section xml:id="ssec-bower2nix-usage">
+ <section xml:id="ssec-bower2nix-usage">
   <title><command>bower2nix</command> usage</title>
 
-<para>
-  Suppose you have a <filename>bower.json</filename> with the following contents:
-
-
-<example xml:id="ex-bowerJson"><title><filename>bower.json</filename></title>
+  <para>
+   Suppose you have a <filename>bower.json</filename> with the following
+   contents:
+   <example xml:id="ex-bowerJson">
+    <title><filename>bower.json</filename></title>
 <programlisting language="json">
 <![CDATA[{
   "name": "my-web-app",
@@ -44,14 +41,12 @@
   }
 }]]>
 </programlisting>
-</example>
-</para>
-
-
-<para>
-  Running <command>bower2nix</command> will produce something like the
-  following output:
+   </example>
+  </para>
 
+  <para>
+   Running <command>bower2nix</command> will produce something like the
+   following output:
 <programlisting language="nix">
 <![CDATA[{ fetchbower, buildEnv }:
 buildEnv { name = "bower-env"; ignoreCollisions = true; paths = [
@@ -60,31 +55,31 @@ buildEnv { name = "bower-env"; ignoreCollisions = true; paths = [
   (fetchbower "jquery" "2.2.2" "1.9.1 - 2" "10sp5h98sqwk90y4k6hbdviwqzvzwqf47r3r51pakch5ii2y7js1")
 ]; }]]>
 </programlisting>
-</para>
-
+  </para>
 
-<para>
-  Using the <command>bower2nix</command> command line arguments, the
-  output can be redirected to a file. A name like
-  <filename>bower-packages.nix</filename> would be fine.
-</para>
+  <para>
+   Using the <command>bower2nix</command> command line arguments, the output
+   can be redirected to a file. A name like
+   <filename>bower-packages.nix</filename> would be fine.
+  </para>
 
-<para>
-  The resulting derivation is a union of all the downloaded Bower
-  packages (and their dependencies). To use it, they still need to be
-  linked together by Bower, which is where
-  <varname>buildBowerComponents</varname> is useful.
-</para>
-</section>
+  <para>
+   The resulting derivation is a union of all the downloaded Bower packages
+   (and their dependencies). To use it, they still need to be linked together
+   by Bower, which is where <varname>buildBowerComponents</varname> is useful.
+  </para>
+ </section>
 
-<section xml:id="ssec-build-bower-components"><title><varname>buildBowerComponents</varname> function</title>
+ <section xml:id="ssec-build-bower-components">
+  <title><varname>buildBowerComponents</varname> function</title>
 
   <para>
-  The function is implemented in <link xlink:href="https://github.com/NixOS/nixpkgs/blob/master/pkgs/development/bower-modules/generic/default.nix">
-  <filename>pkgs/development/bower-modules/generic/default.nix</filename></link>.
-  Example usage:
-
-<example xml:id="ex-buildBowerComponents"><title>buildBowerComponents</title>
+   The function is implemented in
+   <link xlink:href="https://github.com/NixOS/nixpkgs/blob/master/pkgs/development/bower-modules/generic/default.nix">
+   <filename>pkgs/development/bower-modules/generic/default.nix</filename></link>.
+   Example usage:
+   <example xml:id="ex-buildBowerComponents">
+    <title>buildBowerComponents</title>
 <programlisting language="nix">
 bowerComponents = buildBowerComponents {
   name = "my-web-app";
@@ -92,42 +87,42 @@ bowerComponents = buildBowerComponents {
   src = myWebApp; <co xml:id="ex-buildBowerComponents-2" />
 };
 </programlisting>
-</example>
+   </example>
   </para>
 
-<para>
-In <xref linkend="ex-buildBowerComponents" />, the following arguments
-are of special significance to the function:
-
-<calloutlist>
-  <callout arearefs="ex-buildBowerComponents-1">
-    <para>
-      <varname>generated</varname> specifies the file which was created by <command>bower2nix</command>.
-    </para>
-  </callout>
-
-  <callout arearefs="ex-buildBowerComponents-2">
-    <para>
-      <varname>src</varname> is your project's sources. It needs to
-      contain a <filename>bower.json</filename> file.
-    </para>
-  </callout>
-</calloutlist>
-</para>
-
-<para>
-  <varname>buildBowerComponents</varname> will run Bower to link
-  together the output of <command>bower2nix</command>, resulting in a
-  <filename>bower_components</filename> directory which can be used.
-</para>
-
-<para>
-  Here is an example of a web frontend build process using
-  <command>gulp</command>. You might use <command>grunt</command>, or
-  anything else.
-</para>
-
-<example xml:id="ex-bowerGulpFile"><title>Example build script (<filename>gulpfile.js</filename>)</title>
+  <para>
+   In <xref linkend="ex-buildBowerComponents" />, the following arguments are
+   of special significance to the function:
+   <calloutlist>
+    <callout arearefs="ex-buildBowerComponents-1">
+     <para>
+      <varname>generated</varname> specifies the file which was created by
+      <command>bower2nix</command>.
+     </para>
+    </callout>
+    <callout arearefs="ex-buildBowerComponents-2">
+     <para>
+      <varname>src</varname> is your project's sources. It needs to contain a
+      <filename>bower.json</filename> file.
+     </para>
+    </callout>
+   </calloutlist>
+  </para>
+
+  <para>
+   <varname>buildBowerComponents</varname> will run Bower to link together the
+   output of <command>bower2nix</command>, resulting in a
+   <filename>bower_components</filename> directory which can be used.
+  </para>
+
+  <para>
+   Here is an example of a web frontend build process using
+   <command>gulp</command>. You might use <command>grunt</command>, or anything
+   else.
+  </para>
+
+  <example xml:id="ex-bowerGulpFile">
+   <title>Example build script (<filename>gulpfile.js</filename>)</title>
 <programlisting language="javascript">
 <![CDATA[var gulp = require('gulp');
 
@@ -142,10 +137,10 @@ gulp.task('build', [], function () {
     .pipe(gulp.dest("./gulpdist/"));
 });]]>
 </programlisting>
-</example>
+  </example>
 
-<example xml:id="ex-buildBowerComponentsDefaultNix">
-  <title>Full example — <filename>default.nix</filename></title>
+  <example xml:id="ex-buildBowerComponentsDefaultNix">
+   <title>Full example — <filename>default.nix</filename></title>
 <programlisting language="nix">
 { myWebApp ? { outPath = ./.; name = "myWebApp"; }
 , pkgs ? import &lt;nixpkgs&gt; {}
@@ -172,73 +167,63 @@ pkgs.stdenv.mkDerivation {
   installPhase = "mv gulpdist $out";
 }
 </programlisting>
-</example>
-
-<para>
-A few notes about <xref linkend="ex-buildBowerComponentsDefaultNix" />:
-
-<calloutlist>
-  <callout arearefs="ex-buildBowerComponentsDefault-1">
-    <para>
-      The result of <varname>buildBowerComponents</varname> is an
-      input to the frontend build.
-    </para>
-  </callout>
-
-  <callout arearefs="ex-buildBowerComponentsDefault-2">
-    <para>
-      Whether to symlink or copy the
-      <filename>bower_components</filename> directory depends on the
-      build tool in use. In this case a copy is used to avoid
-      <command>gulp</command> silliness with permissions.
-    </para>
-  </callout>
-
-  <callout arearefs="ex-buildBowerComponentsDefault-3">
-    <para>
-      <command>gulp</command> requires <varname>HOME</varname> to
-      refer to a writeable directory.
-    </para>
-  </callout>
-
-  <callout arearefs="ex-buildBowerComponentsDefault-4">
-    <para>
+  </example>
+
+  <para>
+   A few notes about <xref linkend="ex-buildBowerComponentsDefaultNix" />:
+   <calloutlist>
+    <callout arearefs="ex-buildBowerComponentsDefault-1">
+     <para>
+      The result of <varname>buildBowerComponents</varname> is an input to the
+      frontend build.
+     </para>
+    </callout>
+    <callout arearefs="ex-buildBowerComponentsDefault-2">
+     <para>
+      Whether to symlink or copy the <filename>bower_components</filename>
+      directory depends on the build tool in use. In this case a copy is used
+      to avoid <command>gulp</command> silliness with permissions.
+     </para>
+    </callout>
+    <callout arearefs="ex-buildBowerComponentsDefault-3">
+     <para>
+      <command>gulp</command> requires <varname>HOME</varname> to refer to a
+      writeable directory.
+     </para>
+    </callout>
+    <callout arearefs="ex-buildBowerComponentsDefault-4">
+     <para>
       The actual build command. Other tools could be used.
-    </para>
-  </callout>
-</calloutlist>
-</para>
-</section>
+     </para>
+    </callout>
+   </calloutlist>
+  </para>
+ </section>
 
-<section xml:id="ssec-bower2nix-troubleshooting">
+ <section xml:id="ssec-bower2nix-troubleshooting">
   <title>Troubleshooting</title>
 
-<variablelist>
-
-  <varlistentry>
-    <term>
-    <literal>ENOCACHE</literal> errors from
+  <variablelist>
+   <varlistentry>
+    <term><literal>ENOCACHE</literal> errors from
     <varname>buildBowerComponents</varname>
     </term>
     <listitem>
-      <para>
-        This means that Bower was looking for a package version which
-        doesn't exist in the generated
-        <filename>bower-packages.nix</filename>.
-      </para>
-      <para>
-        If <filename>bower.json</filename> has been updated, then run
-        <command>bower2nix</command> again.
-      </para>
-      <para>
-        It could also be a bug in <command>bower2nix</command> or
-        <command>fetchbower</command>. If possible, try reformulating
-        the version specification in <filename>bower.json</filename>.
-      </para>
+     <para>
+      This means that Bower was looking for a package version which doesn't
+      exist in the generated <filename>bower-packages.nix</filename>.
+     </para>
+     <para>
+      If <filename>bower.json</filename> has been updated, then run
+      <command>bower2nix</command> again.
+     </para>
+     <para>
+      It could also be a bug in <command>bower2nix</command> or
+      <command>fetchbower</command>. If possible, try reformulating the version
+      specification in <filename>bower.json</filename>.
+     </para>
     </listitem>
-  </varlistentry>
-</variablelist>
-
-</section>
-
+   </varlistentry>
+  </variablelist>
+ </section>
 </section>
diff --git a/doc/languages-frameworks/coq.xml b/doc/languages-frameworks/coq.xml
index 0ce1abd6194..d5f2574039f 100644
--- a/doc/languages-frameworks/coq.xml
+++ b/doc/languages-frameworks/coq.xml
@@ -1,36 +1,38 @@
 <section xmlns="http://docbook.org/ns/docbook"
          xmlns:xlink="http://www.w3.org/1999/xlink"
          xml:id="sec-language-coq">
+ <title>Coq</title>
 
-<title>Coq</title>
-  <para>
-    Coq libraries should be installed in
-    <literal>$(out)/lib/coq/${coq.coq-version}/user-contrib/</literal>.
-    Such directories are automatically added to the
-    <literal>$COQPATH</literal> environment variable by the hook defined
-    in the Coq derivation.
-  </para>
-  <para>
-    Some libraries require OCaml and sometimes also Camlp5 or findlib.
-    The exact versions that were used to build Coq are saved in the
-    <literal>coq.ocaml</literal> and <literal>coq.camlp5</literal>
-    and <literal>coq.findlib</literal> attributes.
-  </para>
-  <para>
-    Coq libraries may be compatible with some specific versions of Coq only.
-    The <literal>compatibleCoqVersions</literal> attribute is used to
-    precisely select those versions of Coq that are compatible with this
-    derivation.
-  </para>
-  <para>
-    Here is a simple package example. It is a pure Coq library, thus it
-    depends on Coq. It builds on the Mathematical Components library, thus it
-    also takes <literal>mathcomp</literal> as <literal>buildInputs</literal>.
-    Its <literal>Makefile</literal> has been generated using
-    <literal>coq_makefile</literal> so we only have to
-    set the <literal>$COQLIB</literal> variable at install time.
-  </para>
-  <programlisting>
+ <para>
+  Coq libraries should be installed in
+  <literal>$(out)/lib/coq/${coq.coq-version}/user-contrib/</literal>. Such
+  directories are automatically added to the <literal>$COQPATH</literal>
+  environment variable by the hook defined in the Coq derivation.
+ </para>
+
+ <para>
+  Some libraries require OCaml and sometimes also Camlp5 or findlib. The exact
+  versions that were used to build Coq are saved in the
+  <literal>coq.ocaml</literal> and <literal>coq.camlp5</literal> and
+  <literal>coq.findlib</literal> attributes.
+ </para>
+
+ <para>
+  Coq libraries may be compatible with some specific versions of Coq only. The
+  <literal>compatibleCoqVersions</literal> attribute is used to precisely
+  select those versions of Coq that are compatible with this derivation.
+ </para>
+
+ <para>
+  Here is a simple package example. It is a pure Coq library, thus it depends
+  on Coq. It builds on the Mathematical Components library, thus it also takes
+  <literal>mathcomp</literal> as <literal>buildInputs</literal>. Its
+  <literal>Makefile</literal> has been generated using
+  <literal>coq_makefile</literal> so we only have to set the
+  <literal>$COQLIB</literal> variable at install time.
+ </para>
+
+<programlisting>
 { stdenv, fetchFromGitHub, coq, mathcomp }:
 
 stdenv.mkDerivation rec {
diff --git a/doc/languages-frameworks/emscripten.section.md b/doc/languages-frameworks/emscripten.section.md
new file mode 100644
index 00000000000..24c49ec1409
--- /dev/null
+++ b/doc/languages-frameworks/emscripten.section.md
@@ -0,0 +1,185 @@
+# User's Guide to Emscripten in Nixpkgs
+
+[Emscripten](https://github.com/kripken/emscripten): An LLVM-to-JavaScript Compiler
+
+This section of the manual covers how to use `emscripten` in nixpkgs.
+
+Minimal requirements:
+
+* nix
+* nixpkgs
+
+Modes of use of `emscripten`:
+
+* **Imperative usage** (on the command line):
+
+   If you want to work with `emcc`, `emconfigure` and `emmake` as you are used to from Ubuntu and similar distributions you can use these commands:
+
+    * `nix-env -i emscripten`
+    * `nix-shell -p emscripten`
+
+* **Declarative usage**:
+
+    This mode is far more power full since this makes use of `nix` for dependency management of emscripten libraries and targets by using the `mkDerivation` which is implemented by `pkgs.emscriptenStdenv` and `pkgs.buildEmscriptenPackage`. The source for the packages is in `pkgs/top-level/emscripten-packages.nix` and the abstraction behind it in `pkgs/development/em-modules/generic/default.nix`.
+    * build and install all packages: 
+        * `nix-env -iA emscriptenPackages` 
+          
+    * dev-shell for zlib implementation hacking: 
+        * `nix-shell -A emscriptenPackages.zlib` 
+
+
+## Imperative usage
+
+A few things to note:
+
+* `export EMCC_DEBUG=2` is nice for debugging
+* `~/.emscripten`, the build artifact cache sometimes creates issues and needs to be removed from time to time
+
+
+## Declarative usage
+
+Let's see two different examples from `pkgs/top-level/emscripten-packages.nix`:
+
+* `pkgs.zlib.override`
+* `pkgs.buildEmscriptenPackage`
+
+Both are interesting concepts.
+
+A special requirement of the `pkgs.buildEmscriptenPackage` is the `doCheck = true` is a default meaning that each emscriptenPackage requires a `checkPhase` implemented.
+
+* Use `export EMCC_DEBUG=2` from within a emscriptenPackage's `phase` to get more detailed debug output what is going wrong.
+* ~/.emscripten cache is requiring us to set `HOME=$TMPDIR` in individual phases. This makes compilation slower but also makes it more deterministic.
+
+### Usage 1: pkgs.zlib.override
+
+This example uses `zlib` from nixpkgs but instead of compiling **C** to **ELF** it compiles **C** to **JS** since we were using `pkgs.zlib.override` and changed stdenv to `pkgs.emscriptenStdenv`. A few adaptions and hacks were set in place to make it working. One advantage is that when `pkgs.zlib` is updated, it will automatically update this package as well. However, this can also be the downside...
+
+See the `zlib` example:
+
+    zlib = (pkgs.zlib.override {
+      stdenv = pkgs.emscriptenStdenv;
+    }).overrideDerivation
+    (old: rec {
+      buildInputs = old.buildInputs ++ [ pkgconfig ];
+      # we need to reset this setting!
+      NIX_CFLAGS_COMPILE="";
+      configurePhase = ''
+        # FIXME: Some tests require writing at $HOME
+        HOME=$TMPDIR
+        runHook preConfigure
+
+        #export EMCC_DEBUG=2
+        emconfigure ./configure --prefix=$out --shared
+
+        runHook postConfigure
+      '';
+      dontStrip = true;
+      outputs = [ "out" ];
+      buildPhase = ''
+        emmake make
+      '';
+      installPhase = ''
+        emmake make install
+      '';
+      checkPhase = ''
+        echo "================= testing zlib using node ================="
+
+        echo "Compiling a custom test"
+        set -x
+        emcc -O2 -s EMULATE_FUNCTION_POINTER_CASTS=1 test/example.c -DZ_SOLO \
+        libz.so.${old.version} -I . -o example.js
+
+        echo "Using node to execute the test"
+        ${pkgs.nodejs}/bin/node ./example.js 
+
+        set +x
+        if [ $? -ne 0 ]; then
+          echo "test failed for some reason"
+          exit 1;
+        else
+          echo "it seems to work! very good."
+        fi
+        echo "================= /testing zlib using node ================="
+      '';
+
+      postPatch = pkgs.stdenv.lib.optionalString pkgs.stdenv.isDarwin ''
+        substituteInPlace configure \
+          --replace '/usr/bin/libtool' 'ar' \
+          --replace 'AR="libtool"' 'AR="ar"' \
+          --replace 'ARFLAGS="-o"' 'ARFLAGS="-r"'
+      '';
+    });
+
+### Usage 2: pkgs.buildEmscriptenPackage
+
+This `xmlmirror` example features a emscriptenPackage which is defined completely from this context and no `pkgs.zlib.override` is used. 
+
+    xmlmirror = pkgs.buildEmscriptenPackage rec {
+      name = "xmlmirror";
+
+      buildInputs = [ pkgconfig autoconf automake libtool gnumake libxml2 nodejs openjdk json_c ];
+      nativeBuildInputs = [ pkgconfig zlib ];
+
+      src = pkgs.fetchgit {
+        url = "https://gitlab.com/odfplugfest/xmlmirror.git";
+        rev = "4fd7e86f7c9526b8f4c1733e5c8b45175860a8fd";
+        sha256 = "1jasdqnbdnb83wbcnyrp32f36w3xwhwp0wq8lwwmhqagxrij1r4b";
+      };
+
+      configurePhase = ''
+        rm -f fastXmlLint.js*
+        # a fix for ERROR:root:For asm.js, TOTAL_MEMORY must be a multiple of 16MB, was 234217728
+        # https://gitlab.com/odfplugfest/xmlmirror/issues/8
+        sed -e "s/TOTAL_MEMORY=234217728/TOTAL_MEMORY=268435456/g" -i Makefile.emEnv
+        # https://github.com/kripken/emscripten/issues/6344
+        # https://gitlab.com/odfplugfest/xmlmirror/issues/9
+        sed -e "s/\$(JSONC_LDFLAGS) \$(ZLIB_LDFLAGS) \$(LIBXML20_LDFLAGS)/\$(JSONC_LDFLAGS) \$(LIBXML20_LDFLAGS) \$(ZLIB_LDFLAGS) /g" -i Makefile.emEnv
+        # https://gitlab.com/odfplugfest/xmlmirror/issues/11
+        sed -e "s/-o fastXmlLint.js/-s EXTRA_EXPORTED_RUNTIME_METHODS='[\"ccall\", \"cwrap\"]' -o fastXmlLint.js/g" -i Makefile.emEnv
+      '';
+
+      buildPhase = ''
+        HOME=$TMPDIR
+        make -f Makefile.emEnv
+      '';
+
+      outputs = [ "out" "doc" ];
+
+      installPhase = ''
+        mkdir -p $out/share
+        mkdir -p $doc/share/${name}
+
+        cp Demo* $out/share
+        cp -R codemirror-5.12 $out/share
+        cp fastXmlLint.js* $out/share
+        cp *.xsd $out/share
+        cp *.js $out/share
+        cp *.xhtml $out/share
+        cp *.html $out/share
+        cp *.json $out/share
+        cp *.rng $out/share
+        cp README.md $doc/share/${name}
+      '';
+      checkPhase = ''
+
+      '';
+    }; 
+
+### Declarative debugging
+
+Use `nix-shell -I nixpkgs=/some/dir/nixpkgs -A emscriptenPackages.libz` and from there you can go trough the individual steps. This makes it easy to build a good `unit test` or list the files of the project.
+
+1. `nix-shell -I nixpkgs=/some/dir/nixpkgs -A emscriptenPackages.libz`
+2. `cd /tmp/`
+3. `unpackPhase`
+4. cd libz-1.2.3
+5. `configurePhase`
+6. `buildPhase`
+7. ... happy hacking...
+
+## Summary
+
+Using this toolchain makes it easy to leverage `nix` from NixOS, MacOSX or even Windows (WSL+ubuntu+nix). This toolchain is reproducible, behaves like the rest of the packages from nixpkgs and contains a set of well working examples to learn and adapt from.
+
+If in trouble, ask the maintainers.
+
diff --git a/doc/languages-frameworks/go.xml b/doc/languages-frameworks/go.xml
index 54ea60c9021..ab4c9f0f7c8 100644
--- a/doc/languages-frameworks/go.xml
+++ b/doc/languages-frameworks/go.xml
@@ -1,14 +1,14 @@
 <section xmlns="http://docbook.org/ns/docbook"
          xmlns:xlink="http://www.w3.org/1999/xlink"
          xml:id="sec-language-go">
+ <title>Go</title>
 
-<title>Go</title>
+ <para>
+  The function <varname>buildGoPackage</varname> builds standard Go programs.
+ </para>
 
-<para>The function <varname>buildGoPackage</varname> builds
-standard Go programs.
-</para>
-
-<example xml:id='ex-buildGoPackage'><title>buildGoPackage</title>
+ <example xml:id='ex-buildGoPackage'>
+  <title>buildGoPackage</title>
 <programlisting>
 deis = buildGoPackage rec {
   name = "deis-${version}";
@@ -29,55 +29,56 @@ deis = buildGoPackage rec {
   buildFlags = "--tags release"; <co xml:id='ex-buildGoPackage-4' />
 }
 </programlisting>
-</example>
-
-<para><xref linkend='ex-buildGoPackage'/> is an example expression using buildGoPackage,
-the following arguments are of special significance to the function:
-
-<calloutlist>
-
-  <callout arearefs='ex-buildGoPackage-1'>
+ </example>
+
+ <para>
+  <xref linkend='ex-buildGoPackage'/> is an example expression using
+  buildGoPackage, the following arguments are of special significance to the
+  function:
+  <calloutlist>
+   <callout arearefs='ex-buildGoPackage-1'>
     <para>
-      <varname>goPackagePath</varname> specifies the package's canonical Go import path.
+     <varname>goPackagePath</varname> specifies the package's canonical Go
+     import path.
     </para>
-  </callout>
-
-  <callout arearefs='ex-buildGoPackage-2'>
+   </callout>
+   <callout arearefs='ex-buildGoPackage-2'>
     <para>
-      <varname>subPackages</varname> limits the builder from building child packages that
-      have not been listed. If <varname>subPackages</varname> is not specified, all child
-      packages will be built.
+     <varname>subPackages</varname> limits the builder from building child
+     packages that have not been listed. If <varname>subPackages</varname> is
+     not specified, all child packages will be built.
     </para>
     <para>
-      In this example only <literal>github.com/deis/deis/client</literal> will be built.
+     In this example only <literal>github.com/deis/deis/client</literal> will
+     be built.
     </para>
-  </callout>
-
-  <callout arearefs='ex-buildGoPackage-3'>
+   </callout>
+   <callout arearefs='ex-buildGoPackage-3'>
     <para>
-      <varname>goDeps</varname> is where the Go dependencies of a Go program are listed
-      as a list of package source identified by Go import path.
-      It could be imported as a separate <varname>deps.nix</varname> file for
-      readability. The dependency data structure is described below.
+     <varname>goDeps</varname> is where the Go dependencies of a Go program are
+     listed as a list of package source identified by Go import path. It could
+     be imported as a separate <varname>deps.nix</varname> file for
+     readability. The dependency data structure is described below.
     </para>
-  </callout>
-
-  <callout arearefs='ex-buildGoPackage-4'>
+   </callout>
+   <callout arearefs='ex-buildGoPackage-4'>
     <para>
-      <varname>buildFlags</varname> is a list of flags passed to the go build command.
+     <varname>buildFlags</varname> is a list of flags passed to the go build
+     command.
     </para>
-  </callout>
-
-</calloutlist>
-
-</para>
-
-<para>The <varname>goDeps</varname> attribute can be imported from a separate
-  <varname>nix</varname> file that defines which Go libraries are needed and should
-  be included in <varname>GOPATH</varname> for <varname>buildPhase</varname>.
-</para>
-
-<example xml:id='ex-goDeps'><title>deps.nix</title>
+   </callout>
+  </calloutlist>
+ </para>
+
+ <para>
+  The <varname>goDeps</varname> attribute can be imported from a separate
+  <varname>nix</varname> file that defines which Go libraries are needed and
+  should be included in <varname>GOPATH</varname> for
+  <varname>buildPhase</varname>.
+ </para>
+
+ <example xml:id='ex-goDeps'>
+  <title>deps.nix</title>
 <programlisting>
 [ <co xml:id='ex-goDeps-1' />
   {
@@ -100,67 +101,60 @@ the following arguments are of special significance to the function:
   }
 ]
 </programlisting>
-</example>
+ </example>
 
-<para>
-
-<calloutlist>
-
-  <callout arearefs='ex-goDeps-1'>
+ <para>
+  <calloutlist>
+   <callout arearefs='ex-goDeps-1'>
     <para>
-      <varname>goDeps</varname> is a list of Go dependencies.
+     <varname>goDeps</varname> is a list of Go dependencies.
     </para>
-  </callout>
-
-  <callout arearefs='ex-goDeps-2'>
+   </callout>
+   <callout arearefs='ex-goDeps-2'>
     <para>
-      <varname>goPackagePath</varname> specifies Go package import path.
+     <varname>goPackagePath</varname> specifies Go package import path.
     </para>
-  </callout>
-
-  <callout arearefs='ex-goDeps-3'>
+   </callout>
+   <callout arearefs='ex-goDeps-3'>
     <para>
-      <varname>fetch type</varname> that needs to be used to get package source. If <varname>git</varname>
-      is used there should be <varname>url</varname>, <varname>rev</varname> and <varname>sha256</varname>
-      defined next to it.
+     <varname>fetch type</varname> that needs to be used to get package source.
+     If <varname>git</varname> is used there should be <varname>url</varname>,
+     <varname>rev</varname> and <varname>sha256</varname> defined next to it.
     </para>
-  </callout>
-
-</calloutlist>
-
-</para>
-
-<para>To extract dependency information from a Go package in automated way use <link xlink:href="https://github.com/kamilchm/go2nix">go2nix</link>.
-  It can produce complete derivation and <varname>goDeps</varname> file for Go programs.</para>
-
-<para>
-  <varname>buildGoPackage</varname> produces <xref linkend='chap-multiple-output' xrefstyle="select: title" />
-  where <varname>bin</varname> includes program binaries. You can test build a Go binary as follows:
-
-  <screen>
+   </callout>
+  </calloutlist>
+ </para>
+
+ <para>
+  To extract dependency information from a Go package in automated way use
+  <link xlink:href="https://github.com/kamilchm/go2nix">go2nix</link>. It can
+  produce complete derivation and <varname>goDeps</varname> file for Go
+  programs.
+ </para>
+
+ <para>
+  <varname>buildGoPackage</varname> produces
+  <xref linkend='chap-multiple-output' xrefstyle="select: title" /> where
+  <varname>bin</varname> includes program binaries. You can test build a Go
+  binary as follows:
+<screen>
     $ nix-build -A deis.bin
   </screen>
-
   or build all outputs with:
-
-  <screen>
+<screen>
     $ nix-build -A deis.all
   </screen>
+  <varname>bin</varname> output will be installed by default with
+  <varname>nix-env -i</varname> or <varname>systemPackages</varname>.
+ </para>
 
-  <varname>bin</varname> output will be installed by default with <varname>nix-env -i</varname>
-  or <varname>systemPackages</varname>.
-
-</para>
-
-<para>
-You may use Go packages installed into the active Nix profiles by adding
-the following to your ~/.bashrc:
-
+ <para>
+  You may use Go packages installed into the active Nix profiles by adding the
+  following to your ~/.bashrc:
 <screen>
 for p in $NIX_PROFILES; do
     GOPATH="$p/share/go:$GOPATH"
 done
 </screen>
-</para>
-
+ </para>
 </section>
diff --git a/doc/languages-frameworks/haskell.md b/doc/languages-frameworks/haskell.section.md
index 764fae3ce93..3b8971c295b 100644
--- a/doc/languages-frameworks/haskell.md
+++ b/doc/languages-frameworks/haskell.section.md
@@ -666,6 +666,56 @@ prefer one built with GHC 7.8.x in the first place. However, for users who
 cannot use GHC 7.10.x at all for some reason, the approach of downgrading to an
 older version might be useful.
 
+### How to override packages in all compiler-specific package sets
+
+In the previous section we learned how to override a package in a single
+compiler-specific package set. You may have some overrides defined that you want
+to use across multiple package sets. To accomplish this you could use the
+technique that we learned in the previous section by repeating the overrides for
+all the compiler-specific package sets. For example:
+
+```nix
+{
+  packageOverrides = super: let self = super.pkgs; in
+  {
+    haskell = super.haskell // {
+      packages = super.haskell.packages // {
+        ghc784 = super.haskell.packages.ghc784.override {
+          overrides = self: super: {
+            my-package = ...;
+            my-other-package = ...;
+          };
+        };
+        ghc822 = super.haskell.packages.ghc784.override {
+          overrides = self: super: {
+            my-package = ...;
+            my-other-package = ...;
+          };
+        };
+        ...
+      };
+    };
+  };
+}
+```
+
+However there's a more convenient way to override all compiler-specific package
+sets at once:
+
+```nix
+{
+  packageOverrides = super: let self = super.pkgs; in
+  {
+    haskell = super.haskell // {
+      packageOverrides = self: super: {
+        my-package = ...;
+        my-other-package = ...;
+      };
+    };
+  };
+}
+```
+
 ### How to recover from GHC's infamous non-deterministic library ID bug
 
 GHC and distributed build farms don't get along well:
@@ -689,9 +739,7 @@ might be necessary to purge the local caches that store data from those
 machines to disable these binary channels for the duration of the previous
 command, i.e. by running:
 ```shell
-rm /nix/var/nix/binary-cache-v3.sqlite
-rm /nix/var/nix/manifests/*
-rm /nix/var/nix/channel-cache/*
+rm ~/.cache/nix/binary-cache*.sqlite
 ```
 
 ### Builds on Darwin fail with `math.h` not found
diff --git a/doc/languages-frameworks/idris.section.md b/doc/languages-frameworks/idris.section.md
new file mode 100644
index 00000000000..005ed360285
--- /dev/null
+++ b/doc/languages-frameworks/idris.section.md
@@ -0,0 +1,39 @@
+Idris packages
+==============
+
+This directory contains build rules for idris packages. In addition,
+it contains several functions to build and compose those packages.
+Everything is exposed to the user via the `idrisPackages` attribute.
+
+callPackage
+------------
+
+This is like the normal nixpkgs callPackage function, specialized to
+idris packages.
+
+builtins
+---------
+
+This is a list of all of the libraries that come packaged with Idris
+itself.
+
+build-idris-package
+--------------------
+
+A function to build an idris package. Its sole argument is a set like
+you might pass to `stdenv.mkDerivation`, except `build-idris-package`
+sets several attributes for you. See `build-idris-package.nix` for
+details.
+
+build-builtin-package
+----------------------
+
+A version of `build-idris-package` specialized to builtin libraries.
+Mostly for internal use.
+
+with-packages
+-------------
+
+Bundle idris together with a list of packages. Because idris currently
+only supports a single directory in its library path, you must include
+all desired libraries here, including `prelude` and `base`.
\ No newline at end of file
diff --git a/doc/languages-frameworks/index.xml b/doc/languages-frameworks/index.xml
index fc15d847d15..f22984cb56b 100644
--- a/doc/languages-frameworks/index.xml
+++ b/doc/languages-frameworks/index.xml
@@ -1,35 +1,31 @@
 <chapter xmlns="http://docbook.org/ns/docbook"
          xmlns:xi="http://www.w3.org/2001/XInclude"
          xml:id="chap-language-support">
-
-<title>Support for specific programming languages and frameworks</title>
-
-<para>The <link linkend="chap-stdenv">standard build
-environment</link> makes it easy to build typical Autotools-based
-packages with very little code.  Any other kind of package can be
-accomodated by overriding the appropriate phases of
-<literal>stdenv</literal>.  However, there are specialised functions
-in Nixpkgs to easily build packages for other programming languages,
-such as Perl or Haskell.  These are described in this chapter.</para>
-
-
-<xi:include href="beam.xml" />
-<xi:include href="bower.xml" />
-<xi:include href="coq.xml" />
-<xi:include href="go.xml" />
-<xi:include href="haskell.xml" />
-<xi:include href="idris.xml" /> <!-- generated from ../../pkgs/development/idris-modules/README.md  -->
-<xi:include href="java.xml" />
-<xi:include href="lua.xml" />
-<xi:include href="node.xml" /> <!-- generated from ../../pkgs/development/node-packages/README.md  -->
-<xi:include href="perl.xml" />
-<xi:include href="python.xml" />
-<xi:include href="qt.xml" />
-<xi:include href="r.xml" /> <!-- generated from ../../pkgs/development/r-modules/README.md  -->
-<xi:include href="ruby.xml" />
-<xi:include href="rust.xml" />
-<xi:include href="texlive.xml" />
-<xi:include href="vim.xml" />
-
-
+ <title>Support for specific programming languages and frameworks</title>
+ <para>
+  The <link linkend="chap-stdenv">standard build environment</link> makes it
+  easy to build typical Autotools-based packages with very little code. Any
+  other kind of package can be accomodated by overriding the appropriate phases
+  of <literal>stdenv</literal>. However, there are specialised functions in
+  Nixpkgs to easily build packages for other programming languages, such as
+  Perl or Haskell. These are described in this chapter.
+ </para>
+ <xi:include href="beam.xml" />
+ <xi:include href="bower.xml" />
+ <xi:include href="coq.xml" />
+ <xi:include href="go.xml" />
+ <xi:include href="haskell.section.xml" />
+ <xi:include href="idris.section.xml" />
+ <xi:include href="java.xml" />
+ <xi:include href="lua.xml" />
+ <xi:include href="node.section.xml" />
+ <xi:include href="perl.xml" />
+ <xi:include href="python.section.xml" />
+ <xi:include href="qt.xml" />
+ <xi:include href="r.section.xml" />
+ <xi:include href="ruby.xml" />
+ <xi:include href="rust.section.xml" />
+ <xi:include href="texlive.xml" />
+ <xi:include href="vim.section.xml" />
+ <xi:include href="emscripten.section.xml" />
 </chapter>
diff --git a/doc/languages-frameworks/java.xml b/doc/languages-frameworks/java.xml
index 2d40a254ced..dcf4d17fa57 100644
--- a/doc/languages-frameworks/java.xml
+++ b/doc/languages-frameworks/java.xml
@@ -1,11 +1,10 @@
 <section xmlns="http://docbook.org/ns/docbook"
          xmlns:xlink="http://www.w3.org/1999/xlink"
          xml:id="sec-language-java">
+ <title>Java</title>
 
-<title>Java</title>
-
-<para>Ant-based Java packages are typically built from source as follows:
-
+ <para>
+  Ant-based Java packages are typically built from source as follows:
 <programlisting>
 stdenv.mkDerivation {
   name = "...";
@@ -16,33 +15,33 @@ stdenv.mkDerivation {
   buildPhase = "ant";
 }
 </programlisting>
-
-Note that <varname>jdk</varname> is an alias for the OpenJDK.</para>
-
-<para>JAR files that are intended to be used by other packages should
-be installed in <filename>$out/share/java</filename>.  The OpenJDK has
-a stdenv setup hook that adds any JARs in the
-<filename>share/java</filename> directories of the build inputs to the
-<envar>CLASSPATH</envar> environment variable.  For instance, if the
-package <literal>libfoo</literal> installs a JAR named
-<filename>foo.jar</filename> in its <filename>share/java</filename>
-directory, and another package declares the attribute
-
+  Note that <varname>jdk</varname> is an alias for the OpenJDK.
+ </para>
+
+ <para>
+  JAR files that are intended to be used by other packages should be installed
+  in <filename>$out/share/java</filename>. The OpenJDK has a stdenv setup hook
+  that adds any JARs in the <filename>share/java</filename> directories of the
+  build inputs to the <envar>CLASSPATH</envar> environment variable. For
+  instance, if the package <literal>libfoo</literal> installs a JAR named
+  <filename>foo.jar</filename> in its <filename>share/java</filename>
+  directory, and another package declares the attribute
 <programlisting>
 buildInputs = [ jdk libfoo ];
 </programlisting>
-
-then <envar>CLASSPATH</envar> will be set to
-<filename>/nix/store/...-libfoo/share/java/foo.jar</filename>.</para>
-
-<para>Private JARs
-should be installed in a location like
-<filename>$out/share/<replaceable>package-name</replaceable></filename>.</para>
-
-<para>If your Java package provides a program, you need to generate a
-wrapper script to run it using the OpenJRE.  You can use
-<literal>makeWrapper</literal> for this:
-
+  then <envar>CLASSPATH</envar> will be set to
+  <filename>/nix/store/...-libfoo/share/java/foo.jar</filename>.
+ </para>
+
+ <para>
+  Private JARs should be installed in a location like
+  <filename>$out/share/<replaceable>package-name</replaceable></filename>.
+ </para>
+
+ <para>
+  If your Java package provides a program, you need to generate a wrapper
+  script to run it using the OpenJRE. You can use
+  <literal>makeWrapper</literal> for this:
 <programlisting>
 buildInputs = [ makeWrapper ];
 
@@ -53,32 +52,20 @@ installPhase =
       --add-flags "-cp $out/share/java/foo.jar org.foo.Main"
   '';
 </programlisting>
-
-Note the use of <literal>jre</literal>, which is the part of the
-OpenJDK package that contains the Java Runtime Environment.  By using
-<literal>${jre}/bin/java</literal> instead of
-<literal>${jdk}/bin/java</literal>, you prevent your package from
-depending on the JDK at runtime.</para>
-
-<para>It is possible to use a different Java compiler than
-<command>javac</command> from the OpenJDK.  For instance, to use the
-Eclipse Java Compiler:
-
-<programlisting>
-buildInputs = [ jre ant ecj ];
-</programlisting>
-
-(Note that here you don’t need the full JDK as an input, but just the
-JRE.)  The ECJ has a stdenv setup hook that sets some environment
-variables to cause Ant to use ECJ, but this doesn’t work with all Ant
-files.  Similarly, you can use the GNU Java Compiler:
-
+  Note the use of <literal>jre</literal>, which is the part of the OpenJDK
+  package that contains the Java Runtime Environment. By using
+  <literal>${jre}/bin/java</literal> instead of
+  <literal>${jdk}/bin/java</literal>, you prevent your package from depending
+  on the JDK at runtime.
+ </para>
+
+ <para>
+  It is possible to use a different Java compiler than <command>javac</command>
+  from the OpenJDK. For instance, to use the GNU Java Compiler:
 <programlisting>
 buildInputs = [ gcj ant ];
 </programlisting>
-
-Here, Ant will automatically use <command>gij</command> (the GNU Java
-Runtime) instead of the OpenJRE.</para>
-
+  Here, Ant will automatically use <command>gij</command> (the GNU Java
+  Runtime) instead of the OpenJRE.
+ </para>
 </section>
-
diff --git a/doc/languages-frameworks/lua.xml b/doc/languages-frameworks/lua.xml
index 39b086af4cb..21014029996 100644
--- a/doc/languages-frameworks/lua.xml
+++ b/doc/languages-frameworks/lua.xml
@@ -1,24 +1,22 @@
 <section xmlns="http://docbook.org/ns/docbook"
          xmlns:xlink="http://www.w3.org/1999/xlink"
          xml:id="sec-language-lua">
+ <title>Lua</title>
 
-<title>Lua</title>
-
-<para>
-  Lua packages are built by the <varname>buildLuaPackage</varname> function.  This function is
-  implemented
-  in <link xlink:href="https://github.com/NixOS/nixpkgs/blob/master/pkgs/development/lua-modules/generic/default.nix">
+ <para>
+  Lua packages are built by the <varname>buildLuaPackage</varname> function.
+  This function is implemented in
+  <link xlink:href="https://github.com/NixOS/nixpkgs/blob/master/pkgs/development/lua-modules/generic/default.nix">
   <filename>pkgs/development/lua-modules/generic/default.nix</filename></link>
   and works similarly to <varname>buildPerlPackage</varname>. (See
   <xref linkend="sec-language-perl"/> for details.)
-</para>
+ </para>
 
-<para>
-  Lua packages are defined
-  in <link xlink:href="https://github.com/NixOS/nixpkgs/blob/master/pkgs/top-level/lua-packages.nix"><filename>pkgs/top-level/lua-packages.nix</filename></link>.
+ <para>
+  Lua packages are defined in
+  <link xlink:href="https://github.com/NixOS/nixpkgs/blob/master/pkgs/top-level/lua-packages.nix"><filename>pkgs/top-level/lua-packages.nix</filename></link>.
   Most of them are simple. For example:
-
-  <programlisting>
+<programlisting>
 fileSystem = buildLuaPackage {
   name = "filesystem-1.6.2";
   src = fetchurl {
@@ -32,20 +30,19 @@ fileSystem = buildLuaPackage {
   };
 };
   </programlisting>
-</para>
+ </para>
 
-<para>
+ <para>
   Though, more complicated package should be placed in a seperate file in
   <link
   xlink:href="https://github.com/NixOS/nixpkgs/blob/master/pkgs/development/lua-modules"><filename>pkgs/development/lua-modules</filename></link>.
-</para>
-<para>
-  Lua packages accept additional parameter <varname>disabled</varname>, which defines
-  the condition of disabling package from luaPackages. For example, if package has
-  <varname>disabled</varname> assigned to <literal>lua.luaversion != "5.1"</literal>,
-  it will not be included in any luaPackages except lua51Packages, making it
-  only be built for lua 5.1.
-</para>
+ </para>
 
+ <para>
+  Lua packages accept additional parameter <varname>disabled</varname>, which
+  defines the condition of disabling package from luaPackages. For example, if
+  package has <varname>disabled</varname> assigned to <literal>lua.luaversion
+  != "5.1"</literal>, it will not be included in any luaPackages except
+  lua51Packages, making it only be built for lua 5.1.
+ </para>
 </section>
-
diff --git a/doc/languages-frameworks/node.section.md b/doc/languages-frameworks/node.section.md
new file mode 100644
index 00000000000..17a203ed12b
--- /dev/null
+++ b/doc/languages-frameworks/node.section.md
@@ -0,0 +1,51 @@
+Node.js packages
+================
+The `pkgs/development/node-packages` folder contains a generated collection of
+[NPM packages](https://npmjs.com/) that can be installed with the Nix package
+manager.
+
+As a rule of thumb, the package set should only provide *end user* software
+packages, such as command-line utilities. Libraries should only be added to the
+package set if there is a non-NPM package that requires it.
+
+When it is desired to use NPM libraries in a development project, use the
+`node2nix` generator directly on the `package.json` configuration file of the
+project.
+
+The package set also provides support for multiple Node.js versions. The policy
+is that a new package should be added to the collection for the latest stable LTS
+release (which is currently 6.x), unless there is an explicit reason to support
+a different release.
+
+If your package uses native addons, you need to examine what kind of native
+build system it uses. Here are some examples:
+
+* `node-gyp`
+* `node-gyp-builder`
+* `node-pre-gyp`
+
+After you have identified the correct system, you need to override your package
+expression while adding in build system as a build input. For example, `dat`
+requires `node-gyp-build`, so we override its expression in `default-v6.nix`:
+
+```nix
+dat = nodePackages.dat.override (oldAttrs: {
+  buildInputs = oldAttrs.buildInputs ++ [ nodePackages.node-gyp-build ];
+});
+```
+
+To add a package from NPM to nixpkgs:
+
+ 1. Modify `pkgs/development/node-packages/node-packages-v6.json` to add, update
+    or remove package entries. (Or `pkgs/development/node-packages/node-packages-v4.json`
+    for packages depending on Node.js 4.x)
+ 2. Run the script: `(cd pkgs/development/node-packages && ./generate.sh)`.
+ 3. Build your new package to test your changes:
+    `cd /path/to/nixpkgs && nix-build -A nodePackages.<new-or-updated-package>`.
+    To build against a specific Node.js version (e.g. 4.x):
+    `nix-build -A nodePackages_4_x.<new-or-updated-package>`
+ 4. Add and commit all modified and generated files.
+
+For more information about the generation process, consult the
+[README.md](https://github.com/svanderburg/node2nix) file of the `node2nix`
+tool.
diff --git a/doc/languages-frameworks/perl.xml b/doc/languages-frameworks/perl.xml
index dfb463b9991..2fe64999e13 100644
--- a/doc/languages-frameworks/perl.xml
+++ b/doc/languages-frameworks/perl.xml
@@ -1,24 +1,27 @@
 <section xmlns="http://docbook.org/ns/docbook"
          xmlns:xlink="http://www.w3.org/1999/xlink"
          xml:id="sec-language-perl">
-
-<title>Perl</title>
-
-<para>Nixpkgs provides a function <varname>buildPerlPackage</varname>,
-a generic package builder function for any Perl package that has a
-standard <varname>Makefile.PL</varname>.  It’s implemented in <link
-xlink:href="https://github.com/NixOS/nixpkgs/blob/master/pkgs/development/perl-modules/generic"><filename>pkgs/development/perl-modules/generic</filename></link>.</para>
-
-<para>Perl packages from CPAN are defined in <link
+ <title>Perl</title>
+
+ <para>
+  Nixpkgs provides a function <varname>buildPerlPackage</varname>, a generic
+  package builder function for any Perl package that has a standard
+  <varname>Makefile.PL</varname>. It’s implemented in
+  <link
+xlink:href="https://github.com/NixOS/nixpkgs/blob/master/pkgs/development/perl-modules/generic"><filename>pkgs/development/perl-modules/generic</filename></link>.
+ </para>
+
+ <para>
+  Perl packages from CPAN are defined in
+  <link
 xlink:href="https://github.com/NixOS/nixpkgs/blob/master/pkgs/top-level/perl-packages.nix"><filename>pkgs/top-level/perl-packages.nix</filename></link>,
-rather than <filename>pkgs/all-packages.nix</filename>.  Most Perl
-packages are so straight-forward to build that they are defined here
-directly, rather than having a separate function for each package
-called from <filename>perl-packages.nix</filename>.  However, more
-complicated packages should be put in a separate file, typically in
-<filename>pkgs/development/perl-modules</filename>.  Here is an
-example of the former:
-
+  rather than <filename>pkgs/all-packages.nix</filename>. Most Perl packages
+  are so straight-forward to build that they are defined here directly, rather
+  than having a separate function for each package called from
+  <filename>perl-packages.nix</filename>. However, more complicated packages
+  should be put in a separate file, typically in
+  <filename>pkgs/development/perl-modules</filename>. Here is an example of the
+  former:
 <programlisting>
 ClassC3 = buildPerlPackage rec {
   name = "Class-C3-0.21";
@@ -28,74 +31,72 @@ ClassC3 = buildPerlPackage rec {
   };
 };
 </programlisting>
-
-Note the use of <literal>mirror://cpan/</literal>, and the
-<literal>${name}</literal> in the URL definition to ensure that the
-name attribute is consistent with the source that we’re actually
-downloading.  Perl packages are made available in
-<filename>all-packages.nix</filename> through the variable
-<varname>perlPackages</varname>.  For instance, if you have a package
-that needs <varname>ClassC3</varname>, you would typically write
-
+  Note the use of <literal>mirror://cpan/</literal>, and the
+  <literal>${name}</literal> in the URL definition to ensure that the name
+  attribute is consistent with the source that we’re actually downloading.
+  Perl packages are made available in <filename>all-packages.nix</filename>
+  through the variable <varname>perlPackages</varname>. For instance, if you
+  have a package that needs <varname>ClassC3</varname>, you would typically
+  write
 <programlisting>
 foo = import ../path/to/foo.nix {
   inherit stdenv fetchurl ...;
   inherit (perlPackages) ClassC3;
 };
 </programlisting>
-
-in <filename>all-packages.nix</filename>.  You can test building a
-Perl package as follows:
-
+  in <filename>all-packages.nix</filename>. You can test building a Perl
+  package as follows:
 <screen>
 $ nix-build -A perlPackages.ClassC3
 </screen>
-
-<varname>buildPerlPackage</varname> adds <literal>perl-</literal> to
-the start of the name attribute, so the package above is actually
-called <literal>perl-Class-C3-0.21</literal>.  So to install it, you
-can say:
-
+  <varname>buildPerlPackage</varname> adds <literal>perl-</literal> to the
+  start of the name attribute, so the package above is actually called
+  <literal>perl-Class-C3-0.21</literal>. So to install it, you can say:
 <screen>
 $ nix-env -i perl-Class-C3
 </screen>
-
-(Of course you can also install using the attribute name:
-<literal>nix-env -i -A perlPackages.ClassC3</literal>.)</para>
-
-<para>So what does <varname>buildPerlPackage</varname> do?  It does
-the following:
-
-<orderedlist>
-
-  <listitem><para>In the configure phase, it calls <literal>perl
-  Makefile.PL</literal> to generate a Makefile.  You can set the
-  variable <varname>makeMakerFlags</varname> to pass flags to
-  <filename>Makefile.PL</filename></para></listitem>
-
-  <listitem><para>It adds the contents of the <envar>PERL5LIB</envar>
-  environment variable to <literal>#! .../bin/perl</literal> line of
-  Perl scripts as <literal>-I<replaceable>dir</replaceable></literal>
-  flags.  This ensures that a script can find its
-  dependencies.</para></listitem>
-
-  <listitem><para>In the fixup phase, it writes the propagated build
-  inputs (<varname>propagatedBuildInputs</varname>) to the file
-  <filename>$out/nix-support/propagated-user-env-packages</filename>.
-  <command>nix-env</command> recursively installs all packages listed
-  in this file when you install a package that has it.  This ensures
-  that a Perl package can find its dependencies.</para></listitem>
-
-</orderedlist>
-
-</para>
-
-<para><varname>buildPerlPackage</varname> is built on top of
-<varname>stdenv</varname>, so everything can be customised in the
-usual way.  For instance, the <literal>BerkeleyDB</literal> module has
-a <varname>preConfigure</varname> hook to generate a configuration
-file used by <filename>Makefile.PL</filename>:
-
+  (Of course you can also install using the attribute name: <literal>nix-env -i
+  -A perlPackages.ClassC3</literal>.)
+ </para>
+
+ <para>
+  So what does <varname>buildPerlPackage</varname> do? It does the following:
+  <orderedlist>
+   <listitem>
+    <para>
+     In the configure phase, it calls <literal>perl Makefile.PL</literal> to
+     generate a Makefile. You can set the variable
+     <varname>makeMakerFlags</varname> to pass flags to
+     <filename>Makefile.PL</filename>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     It adds the contents of the <envar>PERL5LIB</envar> environment variable
+     to <literal>#! .../bin/perl</literal> line of Perl scripts as
+     <literal>-I<replaceable>dir</replaceable></literal> flags. This ensures
+     that a script can find its dependencies.
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     In the fixup phase, it writes the propagated build inputs
+     (<varname>propagatedBuildInputs</varname>) to the file
+     <filename>$out/nix-support/propagated-user-env-packages</filename>.
+     <command>nix-env</command> recursively installs all packages listed in
+     this file when you install a package that has it. This ensures that a Perl
+     package can find its dependencies.
+    </para>
+   </listitem>
+  </orderedlist>
+ </para>
+
+ <para>
+  <varname>buildPerlPackage</varname> is built on top of
+  <varname>stdenv</varname>, so everything can be customised in the usual way.
+  For instance, the <literal>BerkeleyDB</literal> module has a
+  <varname>preConfigure</varname> hook to generate a configuration file used by
+  <filename>Makefile.PL</filename>:
 <programlisting>
 { buildPerlPackage, fetchurl, db }:
 
@@ -113,18 +114,15 @@ buildPerlPackage rec {
   '';
 }
 </programlisting>
-
-</para>
-
-<para>Dependencies on other Perl packages can be specified in the
-<varname>buildInputs</varname> and
-<varname>propagatedBuildInputs</varname> attributes.  If something is
-exclusively a build-time dependency, use
-<varname>buildInputs</varname>; if it’s (also) a runtime dependency,
-use <varname>propagatedBuildInputs</varname>.  For instance, this
-builds a Perl module that has runtime dependencies on a bunch of other
-modules:
-
+ </para>
+
+ <para>
+  Dependencies on other Perl packages can be specified in the
+  <varname>buildInputs</varname> and <varname>propagatedBuildInputs</varname>
+  attributes. If something is exclusively a build-time dependency, use
+  <varname>buildInputs</varname>; if it’s (also) a runtime dependency, use
+  <varname>propagatedBuildInputs</varname>. For instance, this builds a Perl
+  module that has runtime dependencies on a bunch of other modules:
 <programlisting>
 ClassC3Componentised = buildPerlPackage rec {
   name = "Class-C3-Componentised-1.0004";
@@ -137,24 +135,26 @@ ClassC3Componentised = buildPerlPackage rec {
   ];
 };
 </programlisting>
+ </para>
 
-</para>
+ <section xml:id="ssec-generation-from-CPAN">
+  <title>Generation from CPAN</title>
 
-<section xml:id="ssec-generation-from-CPAN"><title>Generation from CPAN</title>
-
-<para>Nix expressions for Perl packages can be generated (almost)
-automatically from CPAN.  This is done by the program
-<command>nix-generate-from-cpan</command>, which can be installed
-as follows:</para>
+  <para>
+   Nix expressions for Perl packages can be generated (almost) automatically
+   from CPAN. This is done by the program
+   <command>nix-generate-from-cpan</command>, which can be installed as
+   follows:
+  </para>
 
 <screen>
 $ nix-env -i nix-generate-from-cpan
 </screen>
 
-<para>This program takes a Perl module name, looks it up on CPAN,
-fetches and unpacks the corresponding package, and prints a Nix
-expression on standard output.  For example:
-
+  <para>
+   This program takes a Perl module name, looks it up on CPAN, fetches and
+   unpacks the corresponding package, and prints a Nix expression on standard
+   output. For example:
 <screen>
 $ nix-generate-from-cpan XML::Simple
   XMLSimple = buildPerlPackage rec {
@@ -170,12 +170,23 @@ $ nix-generate-from-cpan XML::Simple
     };
   };
 </screen>
-
-The output can be pasted into
-<filename>pkgs/top-level/perl-packages.nix</filename> or wherever else
-you need it.</para>
-
+   The output can be pasted into
+   <filename>pkgs/top-level/perl-packages.nix</filename> or wherever else you
+   need it.
+  </para>
+ </section>
+
+ <section xml:id="ssec-perl-cross-compilation">
+  <title>Cross-compiling modules</title>
+
+  <para>
+   Nixpkgs has experimental support for cross-compiling Perl modules. In many
+   cases, it will just work out of the box, even for modules with native
+   extensions. Sometimes, however, the Makefile.PL for a module may
+   (indirectly) import a native module. In that case, you will need to make a
+   stub for that module that will satisfy the Makefile.PL and install it into
+   <filename>lib/perl5/site_perl/cross_perl/${perl.version}</filename>. See the
+   <varname>postInstall</varname> for <varname>DBI</varname> for an example.
+  </para>
+ </section>
 </section>
-
-</section>
-
diff --git a/doc/languages-frameworks/python.md b/doc/languages-frameworks/python.section.md
index 039ca8545e9..23ceb82eb31 100644
--- a/doc/languages-frameworks/python.md
+++ b/doc/languages-frameworks/python.section.md
@@ -374,7 +374,7 @@ and `CFLAGS`.
       description = "A pythonic wrapper around FFTW, the FFT library, presenting a unified interface for all the supported transforms";
       homepage = http://hgomersall.github.com/pyFFTW/;
       license = with licenses; [ bsd2 bsd3 ];
-      maintainer = with maintainers; [ fridh ];
+      maintainers = with maintainers; [ fridh ];
     };
   };
 }
@@ -871,8 +871,10 @@ Executing `python setup.py bdist_wheel` in a `nix-shell `fails with
 ```
 ValueError: ZIP does not support timestamps before 1980
 ```
-This is because files are included that depend on items in the Nix store which have a timestamp of, that is, it corresponds to January the 1st, 1970 at 00:00:00. And as the error informs you, ZIP does not support that.
-The command `bdist_wheel` takes into account `SOURCE_DATE_EPOCH`, and `nix-shell` sets this to 1. By setting it to a value corresponding to 1980 or later, or by unsetting it, it is possible to build wheels.
+
+This is because files from the Nix store (which have a timestamp of the UNIX epoch of January 1, 1970) are included in the .ZIP, but .ZIP archives follow the DOS convention of counting timestamps from 1980.
+
+The command `bdist_wheel` reads the `SOURCE_DATE_EPOCH` environment variable, which `nix-shell` sets to 1. Unsetting this variable or giving it a value corresponding to 1980 or later enables building wheels.
 
 Use 1980 as timestamp:
 ```shell
@@ -882,7 +884,7 @@ or the current time:
 ```shell
 nix-shell --run "SOURCE_DATE_EPOCH=$(date +%s) python3 setup.py bdist_wheel"
 ```
-or unset:
+or unset `SOURCE_DATE_EPOCH`:
 ```shell
 nix-shell --run "unset SOURCE_DATE_EPOCH; python3 setup.py bdist_wheel"
 ```
diff --git a/doc/languages-frameworks/qt.xml b/doc/languages-frameworks/qt.xml
index 1dbbb5341ba..b9b605b81da 100644
--- a/doc/languages-frameworks/qt.xml
+++ b/doc/languages-frameworks/qt.xml
@@ -1,58 +1,74 @@
 <section xmlns="http://docbook.org/ns/docbook"
          xmlns:xlink="http://www.w3.org/1999/xlink"
          xml:id="sec-language-qt">
+ <title>Qt</title>
 
-<title>Qt</title>
-
-<para>
-Qt is a comprehensive desktop and mobile application development toolkit for C++.
-Legacy support is available for Qt 3 and Qt 4, but all current development uses Qt 5.
-The Qt 5 packages in Nixpkgs are updated frequently to take advantage of new features,
-but older versions are typically retained until their support window ends.
-The most important consideration in packaging Qt-based software is ensuring that each package and all its dependencies use the same version of Qt 5;
-this consideration motivates most of the tools described below.
-</para>
-
-<section xml:id="ssec-qt-libraries"><title>Packaging Libraries for Nixpkgs</title>
-
-<para>
-Whenever possible, libraries that use Qt 5 should be built with each available version.
-Packages providing libraries should be added to the top-level function <varname>mkLibsForQt5</varname>,
-which is used to build a set of libraries for every Qt 5 version.
-A special <varname>callPackage</varname> function is used in this scope to ensure that the entire dependency tree uses the same Qt 5 version.
-Import dependencies unqualified, i.e., <literal>qtbase</literal> not <literal>qt5.qtbase</literal>.
-<emphasis>Do not</emphasis> import a package set such as <literal>qt5</literal> or <literal>libsForQt5</literal>.
-</para>
-
-<para>
-If a library does not support a particular version of Qt 5, it is best to mark it as broken by setting its <literal>meta.broken</literal> attribute.
-A package may be marked broken for certain versions by testing the <literal>qtbase.version</literal> attribute, which will always give the current Qt 5 version.
-</para>
+ <para>
+  Qt is a comprehensive desktop and mobile application development toolkit for
+  C++. Legacy support is available for Qt 3 and Qt 4, but all current
+  development uses Qt 5. The Qt 5 packages in Nixpkgs are updated frequently to
+  take advantage of new features, but older versions are typically retained
+  until their support window ends. The most important consideration in
+  packaging Qt-based software is ensuring that each package and all its
+  dependencies use the same version of Qt 5; this consideration motivates most
+  of the tools described below.
+ </para>
 
-</section>
+ <section xml:id="ssec-qt-libraries">
+  <title>Packaging Libraries for Nixpkgs</title>
 
-<section xml:id="ssec-qt-applications"><title>Packaging Applications for Nixpkgs</title>
+  <para>
+   Whenever possible, libraries that use Qt 5 should be built with each
+   available version. Packages providing libraries should be added to the
+   top-level function <varname>mkLibsForQt5</varname>, which is used to build a
+   set of libraries for every Qt 5 version. A special
+   <varname>callPackage</varname> function is used in this scope to ensure that
+   the entire dependency tree uses the same Qt 5 version. Import dependencies
+   unqualified, i.e., <literal>qtbase</literal> not
+   <literal>qt5.qtbase</literal>. <emphasis>Do not</emphasis> import a package
+   set such as <literal>qt5</literal> or <literal>libsForQt5</literal>.
+  </para>
 
-<para>
-Call your application expression using <literal>libsForQt5.callPackage</literal> instead of <literal>callPackage</literal>.
-Import dependencies unqualified, i.e., <literal>qtbase</literal> not <literal>qt5.qtbase</literal>.
-<emphasis>Do not</emphasis> import a package set such as <literal>qt5</literal> or <literal>libsForQt5</literal>.
-</para>
+  <para>
+   If a library does not support a particular version of Qt 5, it is best to
+   mark it as broken by setting its <literal>meta.broken</literal> attribute. A
+   package may be marked broken for certain versions by testing the
+   <literal>qtbase.version</literal> attribute, which will always give the
+   current Qt 5 version.
+  </para>
+ </section>
 
-<para>
-Qt 5 maintains strict backward compatibility, so it is generally best to build an application package against the latest version using the <varname>libsForQt5</varname> library set.
-In case a package does not build with the latest Qt version, it is possible to pick a set pinned to a particular version, e.g. <varname>libsForQt55</varname> for Qt 5.5, if that is the latest version the package supports.
-If a package must be pinned to an older Qt version, be sure to file a bug upstream;
-because Qt is strictly backwards-compatible, any incompatibility is by definition a bug in the application.
-</para>
+ <section xml:id="ssec-qt-applications">
+  <title>Packaging Applications for Nixpkgs</title>
 
-<para>
-When testing applications in Nixpkgs, it is a common practice to build the package with <literal>nix-build</literal> and run it using the created symbolic link.
-This will not work with Qt applications, however, because they have many hard runtime requirements that can only be guaranteed if the package is actually installed.
-To test a Qt application, install it with <literal>nix-env</literal> or run it inside <literal>nix-shell</literal>.
-</para>
+  <para>
+   Call your application expression using
+   <literal>libsForQt5.callPackage</literal> instead of
+   <literal>callPackage</literal>. Import dependencies unqualified, i.e.,
+   <literal>qtbase</literal> not <literal>qt5.qtbase</literal>. <emphasis>Do
+   not</emphasis> import a package set such as <literal>qt5</literal> or
+   <literal>libsForQt5</literal>.
+  </para>
 
-</section>
+  <para>
+   Qt 5 maintains strict backward compatibility, so it is generally best to
+   build an application package against the latest version using the
+   <varname>libsForQt5</varname> library set. In case a package does not build
+   with the latest Qt version, it is possible to pick a set pinned to a
+   particular version, e.g. <varname>libsForQt55</varname> for Qt 5.5, if that
+   is the latest version the package supports. If a package must be pinned to
+   an older Qt version, be sure to file a bug upstream; because Qt is strictly
+   backwards-compatible, any incompatibility is by definition a bug in the
+   application.
+  </para>
 
+  <para>
+   When testing applications in Nixpkgs, it is a common practice to build the
+   package with <literal>nix-build</literal> and run it using the created
+   symbolic link. This will not work with Qt applications, however, because
+   they have many hard runtime requirements that can only be guaranteed if the
+   package is actually installed. To test a Qt application, install it with
+   <literal>nix-env</literal> or run it inside <literal>nix-shell</literal>.
+  </para>
+ </section>
 </section>
-
diff --git a/doc/languages-frameworks/r.section.md b/doc/languages-frameworks/r.section.md
new file mode 100644
index 00000000000..c8f02bd1478
--- /dev/null
+++ b/doc/languages-frameworks/r.section.md
@@ -0,0 +1,120 @@
+R packages
+==========
+
+## Installation
+
+Define an environment for R that contains all the libraries that you'd like to
+use by adding the following snippet to your $HOME/.config/nixpkgs/config.nix file:
+
+```nix
+{
+    packageOverrides = super: let self = super.pkgs; in
+    {
+
+        rEnv = super.rWrapper.override {
+            packages = with self.rPackages; [
+                devtools
+                ggplot2
+                reshape2
+                yaml
+                optparse
+                ];
+        };
+    };
+}
+```
+
+Then you can use `nix-env -f "<nixpkgs>" -iA rEnv` to install it into your user
+profile. The set of available libraries can be discovered by running the
+command `nix-env -f "<nixpkgs>" -qaP -A rPackages`. The first column from that
+output is the name that has to be passed to rWrapper in the code snipped above.
+
+However, if you'd like to add a file to your project source to make the
+environment available for other contributors, you can create a `default.nix`
+file like so:
+```nix
+let
+  pkgs = import <nixpkgs> {};
+  stdenv = pkgs.stdenv;
+in with pkgs; {
+  myProject = stdenv.mkDerivation {
+    name = "myProject";
+    version = "1";
+    src = if pkgs.lib.inNixShell then null else nix;
+
+    buildInputs = with rPackages; [
+      R
+      ggplot2
+      knitr
+    ];
+  };
+}
+```
+and then run `nix-shell .` to be dropped into a shell with those packages
+available.
+
+## RStudio
+
+RStudio uses a standard set of packages and ignores any custom R
+environments or installed packages you may have.  To create a custom
+environment, see `rstudioWrapper`, which functions similarly to
+`rWrapper`:
+
+```nix
+{
+    packageOverrides = super: let self = super.pkgs; in
+    {
+
+        rstudioEnv = super.rstudioWrapper.override {
+            packages = with self.rPackages; [
+                dplyr
+                ggplot2
+                reshape2
+                ];
+        };
+    };
+}
+```
+
+Then like above, `nix-env -f "<nixpkgs>" -iA rstudioEnv` will install
+this into your user profile.
+
+Alternatively, you can create a self-contained `shell.nix` without the need to
+modify any configuration files:
+
+```nix
+{ pkgs ? import <nixpkgs> {}
+}:
+
+pkgs.rstudioWrapper.override {
+  packages = with pkgs.rPackages; [ dplyr ggplot2 reshape2 ];
+}
+
+```
+
+Executing `nix-shell` will then drop you into an environment equivalent to the
+one above. If you need additional packages just add them to the list and
+re-enter the shell.
+
+## Updating the package set
+
+```bash
+nix-shell generate-shell.nix
+
+Rscript generate-r-packages.R cran  > cran-packages.nix.new
+mv cran-packages.nix.new cran-packages.nix
+
+Rscript generate-r-packages.R bioc  > bioc-packages.nix.new
+mv bioc-packages.nix.new bioc-packages.nix
+```
+
+`generate-r-packages.R <repo>` reads  `<repo>-packages.nix`, therefor the renaming.
+
+
+## Testing if the Nix-expression could be evaluated
+
+```bash
+nix-build test-evaluation.nix --dry-run
+```
+
+If this exits fine, the expression is ok. If not, you have to edit `default.nix`
diff --git a/doc/languages-frameworks/ruby.xml b/doc/languages-frameworks/ruby.xml
index 6bb809192f8..c52a72a3df4 100644
--- a/doc/languages-frameworks/ruby.xml
+++ b/doc/languages-frameworks/ruby.xml
@@ -1,17 +1,19 @@
 <section xmlns="http://docbook.org/ns/docbook"
          xmlns:xlink="http://www.w3.org/1999/xlink"
          xml:id="sec-language-ruby">
+ <title>Ruby</title>
 
-<title>Ruby</title>
+ <para>
+  There currently is support to bundle applications that are packaged as Ruby
+  gems. The utility "bundix" allows you to write a
+  <filename>Gemfile</filename>, let bundler create a
+  <filename>Gemfile.lock</filename>, and then convert this into a nix
+  expression that contains all Gem dependencies automatically.
+ </para>
 
-<para>There currently is support to bundle applications that are packaged as
-Ruby gems. The utility "bundix" allows you to write a
-<filename>Gemfile</filename>, let bundler create a
-<filename>Gemfile.lock</filename>, and then convert this into a nix
-expression that contains all Gem dependencies automatically.
-</para>
-
-<para>For example, to package sensu, we did:</para>
+ <para>
+  For example, to package sensu, we did:
+ </para>
 
 <screen>
 <![CDATA[$ cd pkgs/servers/monitoring
@@ -42,17 +44,18 @@ bundlerEnv rec {
 }]]>
 </screen>
 
-<para>Please check in the <filename>Gemfile</filename>,
-<filename>Gemfile.lock</filename> and the
-<filename>gemset.nix</filename> so future updates can be run easily.
-</para>
+ <para>
+  Please check in the <filename>Gemfile</filename>,
+  <filename>Gemfile.lock</filename> and the <filename>gemset.nix</filename> so
+  future updates can be run easily.
+ </para>
 
-<para>For tools written in Ruby - i.e. where the desire is to install
-a package and then execute e.g. <command>rake</command> at the command
-line, there is an alternative builder called <literal>bundlerApp</literal>.
-Set up the <filename>gemset.nix</filename> the same way, and then, for
-example:
-</para>
+ <para>
+  For tools written in Ruby - i.e. where the desire is to install a package and
+  then execute e.g. <command>rake</command> at the command line, there is an
+  alternative builder called <literal>bundlerApp</literal>. Set up the
+  <filename>gemset.nix</filename> the same way, and then, for example:
+ </para>
 
 <screen>
 <![CDATA[{ lib, bundlerApp }:
@@ -72,31 +75,31 @@ bundlerApp {
 }]]>
 </screen>
 
-<para>The chief advantage of <literal>bundlerApp</literal> over
-<literal>bundlerEnv</literal> is the executables introduced in the
-environment are precisely those selected in the <literal>exes</literal>
-list, as opposed to <literal>bundlerEnv</literal> which adds all the
-executables made available by gems in the gemset, which can mean e.g.
-<command>rspec</command> or <command>rake</command> in unpredictable
-versions available from various packages.
-</para>
-
-<para>Resulting derivations for both builders also have two helpful
-attributes, <literal>env</literal> and <literal>wrappedRuby</literal>.
-The first one allows one to quickly drop into
-<command>nix-shell</command> with the specified environment present.
-E.g. <command>nix-shell -A sensu.env</command> would give you an
-environment with Ruby preset so it has all the libraries necessary
-for <literal>sensu</literal> in its paths. The second one can be
-used to make derivations from custom Ruby scripts which have
-<filename>Gemfile</filename>s with their dependencies specified. It is
-a derivation with <command>ruby</command> wrapped so it can find all
-the needed dependencies. For example, to make a derivation
-<literal>my-script</literal> for a <filename>my-script.rb</filename>
-(which should be placed in <filename>bin</filename>) you should run
-<command>bundix</command> as specified above and then use
-<literal>bundlerEnv</literal> like this:
-</para>
+ <para>
+  The chief advantage of <literal>bundlerApp</literal> over
+  <literal>bundlerEnv</literal> is the executables introduced in the
+  environment are precisely those selected in the <literal>exes</literal> list,
+  as opposed to <literal>bundlerEnv</literal> which adds all the executables
+  made available by gems in the gemset, which can mean e.g.
+  <command>rspec</command> or <command>rake</command> in unpredictable versions
+  available from various packages.
+ </para>
+
+ <para>
+  Resulting derivations for both builders also have two helpful attributes,
+  <literal>env</literal> and <literal>wrappedRuby</literal>. The first one
+  allows one to quickly drop into <command>nix-shell</command> with the
+  specified environment present. E.g. <command>nix-shell -A sensu.env</command>
+  would give you an environment with Ruby preset so it has all the libraries
+  necessary for <literal>sensu</literal> in its paths. The second one can be
+  used to make derivations from custom Ruby scripts which have
+  <filename>Gemfile</filename>s with their dependencies specified. It is a
+  derivation with <command>ruby</command> wrapped so it can find all the needed
+  dependencies. For example, to make a derivation <literal>my-script</literal>
+  for a <filename>my-script.rb</filename> (which should be placed in
+  <filename>bin</filename>) you should run <command>bundix</command> as
+  specified above and then use <literal>bundlerEnv</literal> like this:
+ </para>
 
 <programlisting>
 <![CDATA[let env = bundlerEnv {
@@ -118,5 +121,4 @@ in stdenv.mkDerivation {
   '';
 }]]>
 </programlisting>
-
 </section>
diff --git a/doc/languages-frameworks/rust.md b/doc/languages-frameworks/rust.section.md
index f0498eac5b1..b77c41e9b22 100644
--- a/doc/languages-frameworks/rust.md
+++ b/doc/languages-frameworks/rust.section.md
@@ -16,6 +16,12 @@ cargo
 into the `environment.systemPackages` or bring them into
 scope with `nix-shell -p rustc cargo`.
 
+> If you are using NixOS and you want to use rust without a nix expression you
+> probably want to add the following in your `configuration.nix` to build
+> crates with C dependencies.
+>
+>     environment.systemPackages = [binutils gcc gnumake openssl pkgconfig]
+
 For daily builds (beta and nightly) use either rustup from
 nixpkgs or use the [Rust nightlies
 overlay](#using-the-rust-nightlies-overlay).
@@ -76,7 +82,7 @@ an example for a minimal `hello` crate:
      Compiling hello v0.1.0 (file:///tmp/hello)
       Finished dev [unoptimized + debuginfo] target(s) in 0.20 secs
     $ carnix -o hello.nix --src ./. Cargo.lock --standalone
-    $ nix-build hello.nix
+    $ nix-build hello.nix -A hello_0_1_0
 
 Now, the file produced by the call to `carnix`, called `hello.nix`, looks like:
 
@@ -276,6 +282,84 @@ features, we would write:
 
 Where `diesel.nix` is the file generated by Carnix, as explained above.
 
+
+## Setting Up `nix-shell`
+Oftentimes you want to develop code from within `nix-shell`. Unfortunately
+`buildRustCrate` does not support common `nix-shell` operations directly
+(see [this issue](https://github.com/NixOS/nixpkgs/issues/37945))
+so we will use `stdenv.mkDerivation` instead.
+
+Using the example `hello` project above, we want to do the following:
+- Have access to `cargo` and `rustc`
+- Have the `openssl` library available to a crate through it's _normal_
+  compilation mechanism (`pkg-config`).
+
+A typical `shell.nix` might look like:
+
+```
+with import <nixpkgs> {};
+
+stdenv.mkDerivation {
+  name = "rust-env";
+  buildInputs = [
+    rustc cargo
+
+    # Example Additional Dependencies
+    pkgconfig openssl
+  ];
+
+  # Set Environment Variables
+  RUST_BACKTRACE = 1;
+}
+```
+
+You should now be able to run the following:
+```
+$ nix-shell --pure
+$ cargo build
+$ cargo test
+```
+
+### Controlling Rust Version Inside `nix-shell`
+To control your rust version (i.e. use nightly) from within `shell.nix` (or
+other nix expressions) you can use the following `shell.nix`
+
+```
+# Latest Nightly
+with import <nixpkgs> {};
+let src = fetchFromGitHub {
+      owner = "mozilla";
+      repo = "nixpkgs-mozilla";
+      # commit from: 2018-03-27
+      rev = "2945b0b6b2fd19e7d23bac695afd65e320efcebe";
+      sha256 = "034m1dryrzh2lmjvk3c0krgip652dql46w5yfwpvh7gavd3iypyw";
+   };
+in
+with import "${src.out}/rust-overlay.nix" pkgs pkgs;
+stdenv.mkDerivation {
+  name = "rust-env";
+  buildInputs = [
+    # Note: to use use stable, just replace `nightly` with `stable`
+    latest.rustChannels.nightly.rust
+
+    # Add some extra dependencies from `pkgs`
+    pkgconfig openssl
+  ];
+
+  # Set Environment Variables
+  RUST_BACKTRACE = 1;
+}
+```
+
+Now run:
+```
+$ rustc --version
+rustc 1.26.0-nightly (188e693b3 2018-03-26)
+```
+
+To see that you are using nightly.
+
+
 ## Using the Rust nightlies overlay
 
 Mozilla provides an overlay for nixpkgs to bring a nightly version of Rust into scope.
diff --git a/doc/languages-frameworks/texlive.xml b/doc/languages-frameworks/texlive.xml
index fdee1e405ec..af0b07166e3 100644
--- a/doc/languages-frameworks/texlive.xml
+++ b/doc/languages-frameworks/texlive.xml
@@ -1,27 +1,42 @@
 <section xmlns="http://docbook.org/ns/docbook"
          xmlns:xlink="http://www.w3.org/1999/xlink"
          xml:id="sec-language-texlive">
+ <title>TeX Live</title>
 
-<title>TeX Live</title>
+ <para>
+  Since release 15.09 there is a new TeX Live packaging that lives entirely
+  under attribute <varname>texlive</varname>.
+ </para>
+
+ <section>
+  <title>User's guide</title>
 
-<para>Since release 15.09 there is a new TeX Live packaging that lives entirely under attribute <varname>texlive</varname>.</para>
-<section><title>User's guide</title>
   <itemizedlist>
-    <listitem><para>
-      For basic usage just pull <varname>texlive.combined.scheme-basic</varname> for an environment with basic LaTeX support.</para></listitem>
-    <listitem><para>
-      It typically won't work to use separately installed packages together.
-      Instead, you can build a custom set of packages like this:
-      <programlisting>
+   <listitem>
+    <para>
+     For basic usage just pull <varname>texlive.combined.scheme-basic</varname>
+     for an environment with basic LaTeX support.
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     It typically won't work to use separately installed packages together.
+     Instead, you can build a custom set of packages like this:
+<programlisting>
 texlive.combine {
   inherit (texlive) scheme-small collection-langkorean algorithms cm-super;
 }
       </programlisting>
-      There are all the schemes, collections and a few thousand packages, as defined upstream (perhaps with tiny differences).
-    </para></listitem>
-    <listitem><para>
-      By default you only get executables and files needed during runtime, and a little documentation for the core packages.  To change that, you need to add <varname>pkgFilter</varname> function to <varname>combine</varname>.
-      <programlisting>
+     There are all the schemes, collections and a few thousand packages, as
+     defined upstream (perhaps with tiny differences).
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     By default you only get executables and files needed during runtime, and a
+     little documentation for the core packages. To change that, you need to
+     add <varname>pkgFilter</varname> function to <varname>combine</varname>.
+<programlisting>
 texlive.combine {
   # inherit (texlive) whatever-you-want;
   pkgFilter = pkg:
@@ -30,31 +45,55 @@ texlive.combine {
   # there are also other attributes: version, name
 }
       </programlisting>
-    </para></listitem>
-    <listitem><para>
-      You can list packages e.g. by <command>nix-repl</command>.
-      <programlisting>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     You can list packages e.g. by <command>nix-repl</command>.
+<programlisting>
 $ nix-repl
 nix-repl> :l &lt;nixpkgs>
 nix-repl> texlive.collection-&lt;TAB>
       </programlisting>
-    </para></listitem>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     Note that the wrapper assumes that the result has a chance to be useful.
+     For example, the core executables should be present, as well as some core
+     data files. The supported way of ensuring this is by including some
+     scheme, for example <varname>scheme-basic</varname>, into the combination.
+    </para>
+   </listitem>
   </itemizedlist>
-</section>
+ </section>
+
+ <section>
+  <title>Known problems</title>
 
-<section><title>Known problems</title>
   <itemizedlist>
-    <listitem><para>
-      Some tools are still missing, e.g. luajittex;</para></listitem>
-    <listitem><para>
-      some apps aren't packaged/tested yet (asymptote, biber, etc.);</para></listitem>
-    <listitem><para>
-      feature/bug: when a package is rejected by <varname>pkgFilter</varname>, its dependencies are still propagated;</para></listitem>
-    <listitem><para>
-      in case of any bugs or feature requests, file a github issue or better a pull request and /cc @vcunat.</para></listitem>
+   <listitem>
+    <para>
+     Some tools are still missing, e.g. luajittex;
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     some apps aren't packaged/tested yet (asymptote, biber, etc.);
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     feature/bug: when a package is rejected by <varname>pkgFilter</varname>,
+     its dependencies are still propagated;
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     in case of any bugs or feature requests, file a github issue or better a
+     pull request and /cc @vcunat.
+    </para>
+   </listitem>
   </itemizedlist>
+ </section>
 </section>
-
-
-</section>
-
diff --git a/doc/languages-frameworks/vim.md b/doc/languages-frameworks/vim.section.md
index 1d6a4fe8da8..1d6a4fe8da8 100644
--- a/doc/languages-frameworks/vim.md
+++ b/doc/languages-frameworks/vim.section.md
diff --git a/doc/manual.xml b/doc/manual.xml
index eb0a24789d4..f31897aed03 100644
--- a/doc/manual.xml
+++ b/doc/manual.xml
@@ -1,29 +1,24 @@
 <book xmlns="http://docbook.org/ns/docbook"
       xmlns:xi="http://www.w3.org/2001/XInclude">
-
-  <info>
-
-    <title>Nixpkgs Contributors Guide</title>
-
-    <subtitle>Version <xi:include href=".version" parse="text" /></subtitle>
-
-  </info>
-
-  <xi:include href="introduction.xml" />
-  <xi:include href="quick-start.xml" />
-  <xi:include href="stdenv.xml" />
-  <xi:include href="multiple-output.xml" />
-  <xi:include href="cross-compilation.xml" />
-  <xi:include href="configuration.xml" />
-  <xi:include href="functions.xml" />
-  <xi:include href="meta.xml" />
-  <xi:include href="languages-frameworks/index.xml" />
-  <xi:include href="platform-notes.xml" />
-  <xi:include href="package-notes.xml" />
-  <xi:include href="overlays.xml" />
-  <xi:include href="coding-conventions.xml" />
-  <xi:include href="submitting-changes.xml" />
-  <xi:include href="reviewing-contributions.xml" />
-  <xi:include href="contributing.xml" />
-
+ <info>
+  <title>Nixpkgs Contributors Guide</title>
+  <subtitle>Version <xi:include href=".version" parse="text" />
+  </subtitle>
+ </info>
+ <xi:include href="introduction.chapter.xml" />
+ <xi:include href="quick-start.xml" />
+ <xi:include href="stdenv.xml" />
+ <xi:include href="multiple-output.xml" />
+ <xi:include href="cross-compilation.xml" />
+ <xi:include href="configuration.xml" />
+ <xi:include href="functions.xml" />
+ <xi:include href="meta.xml" />
+ <xi:include href="languages-frameworks/index.xml" />
+ <xi:include href="platform-notes.xml" />
+ <xi:include href="package-notes.xml" />
+ <xi:include href="overlays.xml" />
+ <xi:include href="coding-conventions.xml" />
+ <xi:include href="submitting-changes.xml" />
+ <xi:include href="reviewing-contributions.xml" />
+ <xi:include href="contributing.xml" />
 </book>
diff --git a/doc/meta.xml b/doc/meta.xml
index 35632599186..ad16e7683f5 100644
--- a/doc/meta.xml
+++ b/doc/meta.xml
@@ -1,14 +1,12 @@
 <chapter xmlns="http://docbook.org/ns/docbook"
          xmlns:xlink="http://www.w3.org/1999/xlink"
          xml:id="chap-meta">
-
-<title>Meta-attributes</title>
-
-<para>Nix packages can declare <emphasis>meta-attributes</emphasis>
-that contain information about a package such as a description, its
-homepage, its license, and so on.  For instance, the GNU Hello package
-has a <varname>meta</varname> declaration like this:
-
+ <title>Meta-attributes</title>
+ <para>
+  Nix packages can declare <emphasis>meta-attributes</emphasis> that contain
+  information about a package such as a description, its homepage, its license,
+  and so on. For instance, the GNU Hello package has a <varname>meta</varname>
+  declaration like this:
 <programlisting>
 meta = {
   description = "A program that produces a familiar, friendly greeting";
@@ -22,16 +20,15 @@ meta = {
   platforms = stdenv.lib.platforms.all;
 };
 </programlisting>
-
-</para>
-
-<para>Meta-attributes are not passed to the builder of the package.
-Thus, a change to a meta-attribute doesn’t trigger a recompilation of
-the package.  The value of a meta-attribute must be a string.</para>
-
-<para>The meta-attributes of a package can be queried from the
-command-line using <command>nix-env</command>:
-
+ </para>
+ <para>
+  Meta-attributes are not passed to the builder of the package. Thus, a change
+  to a meta-attribute doesn’t trigger a recompilation of the package. The
+  value of a meta-attribute must be a string.
+ </para>
+ <para>
+  The meta-attributes of a package can be queried from the command-line using
+  <command>nix-env</command>:
 <screen>
 $ nix-env -qa hello --json
 {
@@ -70,252 +67,299 @@ $ nix-env -qa hello --json
 
 
 </screen>
-
-<command>nix-env</command> knows about the
-<varname>description</varname> field specifically:
-
+  <command>nix-env</command> knows about the <varname>description</varname>
+  field specifically:
 <screen>
 $ nix-env -qa hello --description
 hello-2.3  A program that produces a familiar, friendly greeting
 </screen>
-
-</para>
-
-
-<section xml:id="sec-standard-meta-attributes"><title>Standard
-meta-attributes</title>
-
-<para>It is expected that each meta-attribute is one of the following:</para>
-
-<variablelist>
-
-  <varlistentry>
-    <term><varname>description</varname></term>
-    <listitem><para>A short (one-line) description of the package.
-    This is shown by <command>nix-env -q --description</command> and
-    also on the Nixpkgs release pages.</para>
-
-    <para>Don’t include a period at the end.  Don’t include newline
-    characters.  Capitalise the first character.  For brevity, don’t
-    repeat the name of package — just describe what it does.</para>
-
-    <para>Wrong: <literal>"libpng is a library that allows you to decode PNG images."</literal></para>
-
-    <para>Right: <literal>"A library for decoding PNG images"</literal></para>
-
+ </para>
+ <section xml:id="sec-standard-meta-attributes">
+  <title>Standard meta-attributes</title>
+
+  <para>
+   It is expected that each meta-attribute is one of the following:
+  </para>
+
+  <variablelist>
+   <varlistentry>
+    <term><varname>description</varname>
+    </term>
+    <listitem>
+     <para>
+      A short (one-line) description of the package. This is shown by
+      <command>nix-env -q --description</command> and also on the Nixpkgs
+      release pages.
+     </para>
+     <para>
+      Don’t include a period at the end. Don’t include newline characters.
+      Capitalise the first character. For brevity, don’t repeat the name of
+      package — just describe what it does.
+     </para>
+     <para>
+      Wrong: <literal>"libpng is a library that allows you to decode PNG
+      images."</literal>
+     </para>
+     <para>
+      Right: <literal>"A library for decoding PNG images"</literal>
+     </para>
     </listitem>
-  </varlistentry>
-
-  <varlistentry>
-    <term><varname>longDescription</varname></term>
-    <listitem><para>An arbitrarily long description of the
-    package.</para></listitem>
-  </varlistentry>
-
-  <varlistentry>
-    <term><varname>branch</varname></term>
-    <listitem><para>Release branch. Used to specify that a package is not
-    going to receive updates that are not in this branch; for example, Linux
-    kernel 3.0 is supposed to be updated to 3.0.X, not 3.1.</para></listitem>
-  </varlistentry>
-
-  <varlistentry>
-    <term><varname>homepage</varname></term>
-    <listitem><para>The package’s homepage.  Example:
-    <literal>http://www.gnu.org/software/hello/manual/</literal></para></listitem>
-  </varlistentry>
-
-  <varlistentry>
-    <term><varname>downloadPage</varname></term>
-    <listitem><para>The page where a link to the current version can be found.  Example:
-    <literal>http://ftp.gnu.org/gnu/hello/</literal></para></listitem>
-  </varlistentry>
-
-  <varlistentry>
-    <term><varname>license</varname></term>
+   </varlistentry>
+   <varlistentry>
+    <term><varname>longDescription</varname>
+    </term>
     <listitem>
-      <para>
-        The license, or licenses, for the package. One from the attribute set
-        defined in <link
+     <para>
+      An arbitrarily long description of the package.
+     </para>
+    </listitem>
+   </varlistentry>
+   <varlistentry>
+    <term><varname>branch</varname>
+    </term>
+    <listitem>
+     <para>
+      Release branch. Used to specify that a package is not going to receive
+      updates that are not in this branch; for example, Linux kernel 3.0 is
+      supposed to be updated to 3.0.X, not 3.1.
+     </para>
+    </listitem>
+   </varlistentry>
+   <varlistentry>
+    <term><varname>homepage</varname>
+    </term>
+    <listitem>
+     <para>
+      The package’s homepage. Example:
+      <literal>http://www.gnu.org/software/hello/manual/</literal>
+     </para>
+    </listitem>
+   </varlistentry>
+   <varlistentry>
+    <term><varname>downloadPage</varname>
+    </term>
+    <listitem>
+     <para>
+      The page where a link to the current version can be found. Example:
+      <literal>http://ftp.gnu.org/gnu/hello/</literal>
+     </para>
+    </listitem>
+   </varlistentry>
+   <varlistentry>
+    <term><varname>license</varname>
+    </term>
+    <listitem>
+     <para>
+      The license, or licenses, for the package. One from the attribute set
+      defined in
+      <link
           xlink:href="https://github.com/NixOS/nixpkgs/blob/master/lib/licenses.nix">
-          <filename>nixpkgs/lib/licenses.nix</filename></link>. At this moment
-        using both a list of licenses and a single license is valid. If the
-        license field is in the form of a list representation, then it means
-        that parts of the package are licensed differently.  Each license
-        should preferably be referenced by their attribute. The non-list
-        attribute value can also be a space delimited string representation of
-        the contained attribute shortNames or spdxIds. The following are all valid
-        examples:
-        <itemizedlist>
-          <listitem><para>Single license referenced by attribute (preferred)
-              <literal>stdenv.lib.licenses.gpl3</literal>.
-          </para></listitem>
-          <listitem><para>Single license referenced by its attribute shortName (frowned upon)
-              <literal>"gpl3"</literal>.
-          </para></listitem>
-          <listitem><para>Single license referenced by its attribute spdxId (frowned upon)
-              <literal>"GPL-3.0"</literal>.
-          </para></listitem>
-          <listitem><para>Multiple licenses referenced by attribute (preferred)
-              <literal>with stdenv.lib.licenses; [ asl20 free ofl ]</literal>.
-          </para></listitem>
-          <listitem><para>Multiple licenses referenced as a space delimited string of attribute shortNames (frowned upon)
-              <literal>"asl20 free ofl"</literal>.
-          </para></listitem>
-        </itemizedlist>
-        For details, see <xref linkend='sec-meta-license'/>.
-      </para>
+      <filename>nixpkgs/lib/licenses.nix</filename></link>. At this moment
+      using both a list of licenses and a single license is valid. If the
+      license field is in the form of a list representation, then it means that
+      parts of the package are licensed differently. Each license should
+      preferably be referenced by their attribute. The non-list attribute value
+      can also be a space delimited string representation of the contained
+      attribute shortNames or spdxIds. The following are all valid examples:
+      <itemizedlist>
+       <listitem>
+        <para>
+         Single license referenced by attribute (preferred)
+         <literal>stdenv.lib.licenses.gpl3</literal>.
+        </para>
+       </listitem>
+       <listitem>
+        <para>
+         Single license referenced by its attribute shortName (frowned upon)
+         <literal>"gpl3"</literal>.
+        </para>
+       </listitem>
+       <listitem>
+        <para>
+         Single license referenced by its attribute spdxId (frowned upon)
+         <literal>"GPL-3.0"</literal>.
+        </para>
+       </listitem>
+       <listitem>
+        <para>
+         Multiple licenses referenced by attribute (preferred) <literal>with
+         stdenv.lib.licenses; [ asl20 free ofl ]</literal>.
+        </para>
+       </listitem>
+       <listitem>
+        <para>
+         Multiple licenses referenced as a space delimited string of attribute
+         shortNames (frowned upon) <literal>"asl20 free ofl"</literal>.
+        </para>
+       </listitem>
+      </itemizedlist>
+      For details, see <xref linkend='sec-meta-license'/>.
+     </para>
     </listitem>
-  </varlistentry>
-
-  <varlistentry>
-    <term><varname>maintainers</varname></term>
-    <listitem><para>A list of names and e-mail addresses of the
-    maintainers of this Nix expression. If
-    you would like to be a maintainer of a package, you may want to add
-    yourself to <link
-    xlink:href="https://github.com/NixOS/nixpkgs/blob/master/lib/maintainers.nix"><filename>nixpkgs/lib/maintainers.nix</filename></link>
-    and write something like <literal>[ stdenv.lib.maintainers.alice
-    stdenv.lib.maintainers.bob ]</literal>.</para></listitem>
-  </varlistentry>
-
-  <varlistentry>
-    <term><varname>priority</varname></term>
-    <listitem><para>The <emphasis>priority</emphasis> of the package,
-    used by <command>nix-env</command> to resolve file name conflicts
-    between packages.  See the Nix manual page for
-    <command>nix-env</command> for details.  Example:
-    <literal>"10"</literal> (a low-priority
-    package).</para></listitem>
-  </varlistentry>
-
-  <varlistentry>
-    <term><varname>platforms</varname></term>
-    <listitem><para>The list of Nix platform types on which the
-    package is supported. Hydra builds packages according to the
-    platform specified. If no platform is specified, the package does
-    not have prebuilt binaries. An example is:
-
+   </varlistentry>
+   <varlistentry>
+    <term><varname>maintainers</varname>
+    </term>
+    <listitem>
+     <para>
+      A list of names and e-mail addresses of the maintainers of this Nix
+      expression. If you would like to be a maintainer of a package, you may
+      want to add yourself to
+      <link
+    xlink:href="https://github.com/NixOS/nixpkgs/blob/master/maintainers/maintainer-list.nix"><filename>nixpkgs/maintainers/maintainer-list.nix</filename></link>
+      and write something like <literal>[ stdenv.lib.maintainers.alice
+      stdenv.lib.maintainers.bob ]</literal>.
+     </para>
+    </listitem>
+   </varlistentry>
+   <varlistentry>
+    <term><varname>priority</varname>
+    </term>
+    <listitem>
+     <para>
+      The <emphasis>priority</emphasis> of the package, used by
+      <command>nix-env</command> to resolve file name conflicts between
+      packages. See the Nix manual page for <command>nix-env</command> for
+      details. Example: <literal>"10"</literal> (a low-priority package).
+     </para>
+    </listitem>
+   </varlistentry>
+   <varlistentry>
+    <term><varname>platforms</varname>
+    </term>
+    <listitem>
+     <para>
+      The list of Nix platform types on which the package is supported. Hydra
+      builds packages according to the platform specified. If no platform is
+      specified, the package does not have prebuilt binaries. An example is:
 <programlisting>
 meta.platforms = stdenv.lib.platforms.linux;
 </programlisting>
-
-    Attribute Set <varname>stdenv.lib.platforms</varname> defines
-    <link xlink:href="https://github.com/NixOS/nixpkgs/blob/master/lib/systems/doubles.nix">
-    various common lists</link> of platforms types.</para></listitem>
-  </varlistentry>
-
-  <varlistentry>
-    <term><varname>hydraPlatforms</varname></term>
-    <listitem><para>The list of Nix platform types for which the Hydra
-    instance at <literal>hydra.nixos.org</literal> will build the
-    package.  (Hydra is the Nix-based continuous build system.)  It
-    defaults to the value of <varname>meta.platforms</varname>.  Thus,
-    the only reason to set <varname>meta.hydraPlatforms</varname> is
-    if you want <literal>hydra.nixos.org</literal> to build the
-    package on a subset of <varname>meta.platforms</varname>, or not
-    at all, e.g.
-
+      Attribute Set <varname>stdenv.lib.platforms</varname> defines
+      <link xlink:href="https://github.com/NixOS/nixpkgs/blob/master/lib/systems/doubles.nix">
+      various common lists</link> of platforms types.
+     </para>
+    </listitem>
+   </varlistentry>
+   <varlistentry>
+    <term><varname>hydraPlatforms</varname>
+    </term>
+    <listitem>
+     <para>
+      The list of Nix platform types for which the Hydra instance at
+      <literal>hydra.nixos.org</literal> will build the package. (Hydra is the
+      Nix-based continuous build system.) It defaults to the value of
+      <varname>meta.platforms</varname>. Thus, the only reason to set
+      <varname>meta.hydraPlatforms</varname> is if you want
+      <literal>hydra.nixos.org</literal> to build the package on a subset of
+      <varname>meta.platforms</varname>, or not at all, e.g.
 <programlisting>
 meta.platforms = stdenv.lib.platforms.linux;
 meta.hydraPlatforms = [];
 </programlisting>
-
-    </para></listitem>
-  </varlistentry>
-
-  <varlistentry>
-    <term><varname>broken</varname></term>
-    <listitem><para>If set to <literal>true</literal>, the package is
-    marked as “broken”, meaning that it won’t show up in
-    <literal>nix-env -qa</literal>, and cannot be built or installed.
-    Such packages should be removed from Nixpkgs eventually unless
-    they are fixed.</para></listitem>
-  </varlistentry>
-
-  <varlistentry>
-    <term><varname>updateWalker</varname></term>
-    <listitem><para>If set to <literal>true</literal>, the package is
-    tested to be updated correctly by the <literal>update-walker.sh</literal>
-    script without additional settings. Such packages have
-    <varname>meta.version</varname> set and their homepage (or
-    the page specified by <varname>meta.downloadPage</varname>) contains
-    a direct link to the package tarball.</para></listitem>
-  </varlistentry>
-
-</variablelist>
-
-
-</section>
-
-
-<section xml:id="sec-meta-license"><title>Licenses</title>
-
-<para>The <varname>meta.license</varname> attribute should preferrably contain
-a value from <varname>stdenv.lib.licenses</varname> defined in
-<link xlink:href="https://github.com/NixOS/nixpkgs/blob/master/lib/licenses.nix">
-<filename>nixpkgs/lib/licenses.nix</filename></link>,
-or in-place license description of the same format if the license is
-unlikely to be useful in another expression.</para>
-
-<para>Although it's typically better to indicate the specific license,
-a few generic options are available:
-
-<variablelist>
-
-  <varlistentry>
-    <term><varname>stdenv.lib.licenses.free</varname>,
-    <varname>"free"</varname></term>
-
-    <listitem><para>Catch-all for free software licenses not listed
-    above.</para></listitem>
-  </varlistentry>
-
-  <varlistentry>
-    <term><varname>stdenv.lib.licenses.unfreeRedistributable</varname>,
-    <varname>"unfree-redistributable"</varname></term>
-
-    <listitem><para>Unfree package that can be redistributed in binary
-    form. That is, it’s legal to redistribute the
-    <emphasis>output</emphasis> of the derivation.  This means that
-    the package can be included in the Nixpkgs
-    channel.</para>
-
-    <para>Sometimes proprietary software can only be redistributed
-    unmodified. Make sure the builder doesn’t actually modify the
-    original binaries; otherwise we’re breaking the license.  For
-    instance, the NVIDIA X11 drivers can be redistributed unmodified,
-    but our builder applies <command>patchelf</command> to make them
-    work. Thus, its license is <varname>"unfree"</varname> and it
-    cannot be included in the Nixpkgs channel.</para></listitem>
-  </varlistentry>
-
-  <varlistentry>
-    <term><varname>stdenv.lib.licenses.unfree</varname>,
-    <varname>"unfree"</varname></term>
-
-    <listitem><para>Unfree package that cannot be redistributed. You
-    can build it yourself, but you cannot redistribute the output of
-    the derivation. Thus it cannot be included in the Nixpkgs
-    channel.</para></listitem>
-  </varlistentry>
-
-  <varlistentry>
-    <term><varname>stdenv.lib.licenses.unfreeRedistributableFirmware</varname>,
-    <varname>"unfree-redistributable-firmware"</varname></term>
-
-    <listitem><para>This package supplies unfree, redistributable
-    firmware.  This is a separate value from
-    <varname>unfree-redistributable</varname> because not everybody
-    cares whether firmware is free.</para></listitem>
-  </varlistentry>
-
-</variablelist>
-
-</para>
-
-
-</section>
-
-
+     </para>
+    </listitem>
+   </varlistentry>
+   <varlistentry>
+    <term><varname>broken</varname>
+    </term>
+    <listitem>
+     <para>
+      If set to <literal>true</literal>, the package is marked as “broken”,
+      meaning that it won’t show up in <literal>nix-env -qa</literal>, and
+      cannot be built or installed. Such packages should be removed from
+      Nixpkgs eventually unless they are fixed.
+     </para>
+    </listitem>
+   </varlistentry>
+   <varlistentry>
+    <term><varname>updateWalker</varname>
+    </term>
+    <listitem>
+     <para>
+      If set to <literal>true</literal>, the package is tested to be updated
+      correctly by the <literal>update-walker.sh</literal> script without
+      additional settings. Such packages have <varname>meta.version</varname>
+      set and their homepage (or the page specified by
+      <varname>meta.downloadPage</varname>) contains a direct link to the
+      package tarball.
+     </para>
+    </listitem>
+   </varlistentry>
+  </variablelist>
+ </section>
+ <section xml:id="sec-meta-license">
+  <title>Licenses</title>
+
+  <para>
+   The <varname>meta.license</varname> attribute should preferrably contain a
+   value from <varname>stdenv.lib.licenses</varname> defined in
+   <link xlink:href="https://github.com/NixOS/nixpkgs/blob/master/lib/licenses.nix">
+   <filename>nixpkgs/lib/licenses.nix</filename></link>, or in-place license
+   description of the same format if the license is unlikely to be useful in
+   another expression.
+  </para>
+
+  <para>
+   Although it's typically better to indicate the specific license, a few
+   generic options are available:
+   <variablelist>
+    <varlistentry>
+     <term><varname>stdenv.lib.licenses.free</varname>,
+    <varname>"free"</varname>
+     </term>
+     <listitem>
+      <para>
+       Catch-all for free software licenses not listed above.
+      </para>
+     </listitem>
+    </varlistentry>
+    <varlistentry>
+     <term><varname>stdenv.lib.licenses.unfreeRedistributable</varname>,
+    <varname>"unfree-redistributable"</varname>
+     </term>
+     <listitem>
+      <para>
+       Unfree package that can be redistributed in binary form. That is, it’s
+       legal to redistribute the <emphasis>output</emphasis> of the derivation.
+       This means that the package can be included in the Nixpkgs channel.
+      </para>
+      <para>
+       Sometimes proprietary software can only be redistributed unmodified.
+       Make sure the builder doesn’t actually modify the original binaries;
+       otherwise we’re breaking the license. For instance, the NVIDIA X11
+       drivers can be redistributed unmodified, but our builder applies
+       <command>patchelf</command> to make them work. Thus, its license is
+       <varname>"unfree"</varname> and it cannot be included in the Nixpkgs
+       channel.
+      </para>
+     </listitem>
+    </varlistentry>
+    <varlistentry>
+     <term><varname>stdenv.lib.licenses.unfree</varname>,
+    <varname>"unfree"</varname>
+     </term>
+     <listitem>
+      <para>
+       Unfree package that cannot be redistributed. You can build it yourself,
+       but you cannot redistribute the output of the derivation. Thus it cannot
+       be included in the Nixpkgs channel.
+      </para>
+     </listitem>
+    </varlistentry>
+    <varlistentry>
+     <term><varname>stdenv.lib.licenses.unfreeRedistributableFirmware</varname>,
+    <varname>"unfree-redistributable-firmware"</varname>
+     </term>
+     <listitem>
+      <para>
+       This package supplies unfree, redistributable firmware. This is a
+       separate value from <varname>unfree-redistributable</varname> because
+       not everybody cares whether firmware is free.
+      </para>
+     </listitem>
+    </varlistentry>
+   </variablelist>
+  </para>
+ </section>
 </chapter>
diff --git a/doc/multiple-output.xml b/doc/multiple-output.xml
index 2f23da8df01..040c12c9291 100644
--- a/doc/multiple-output.xml
+++ b/doc/multiple-output.xml
@@ -5,99 +5,319 @@
 <chapter xmlns="http://docbook.org/ns/docbook"
          xmlns:xlink="http://www.w3.org/1999/xlink"
          xml:id="chap-multiple-output">
+ <title>Multiple-output packages</title>
+ <section>
+  <title>Introduction</title>
 
-<title>Multiple-output packages</title>
+  <para>
+   The Nix language allows a derivation to produce multiple outputs, which is
+   similar to what is utilized by other Linux distribution packaging systems.
+   The outputs reside in separate nix store paths, so they can be mostly
+   handled independently of each other, including passing to build inputs,
+   garbage collection or binary substitution. The exception is that building
+   from source always produces all the outputs.
+  </para>
 
-<section><title>Introduction</title>
-  <para>The Nix language allows a derivation to produce multiple outputs, which is similar to what is utilized by other Linux distribution packaging systems.  The outputs reside in separate nix store paths, so they can be mostly handled independently of each other, including passing to build inputs, garbage collection or binary substitution.  The exception is that building from source always produces all the outputs.</para>
-  <para>The main motivation is to save disk space by reducing runtime closure sizes; consequently also sizes of substituted binaries get reduced.  Splitting can be used to have more granular runtime dependencies, for example the typical reduction is to split away development-only files, as those are typically not needed during runtime.  As a result, closure sizes of many packages can get reduced to a half or even much less.</para>
-  <note><para>The reduction effects could be instead achieved by building the parts in completely separate derivations.  That would often additionally reduce build-time closures, but it tends to be much harder to write such derivations, as build systems typically assume all parts are being built at once.  This compromise approach of single source package producing multiple binary packages is also utilized often by rpm and deb.</para></note>
-</section>
+  <para>
+   The main motivation is to save disk space by reducing runtime closure sizes;
+   consequently also sizes of substituted binaries get reduced. Splitting can
+   be used to have more granular runtime dependencies, for example the typical
+   reduction is to split away development-only files, as those are typically
+   not needed during runtime. As a result, closure sizes of many packages can
+   get reduced to a half or even much less.
+  </para>
+
+  <note>
+   <para>
+    The reduction effects could be instead achieved by building the parts in
+    completely separate derivations. That would often additionally reduce
+    build-time closures, but it tends to be much harder to write such
+    derivations, as build systems typically assume all parts are being built at
+    once. This compromise approach of single source package producing multiple
+    binary packages is also utilized often by rpm and deb.
+   </para>
+  </note>
+ </section>
+ <section>
+  <title>Installing a split package</title>
+
+  <para>
+   When installing a package via <varname>systemPackages</varname> or
+   <command>nix-env</command> you have several options:
+  </para>
 
-<section><title>Installing a split package</title>
-  <para>When installing a package via <varname>systemPackages</varname> or <command>nix-env</command> you have several options:</para>
   <itemizedlist>
-    <listitem><para>You can install particular outputs explicitly, as each is available in the Nix language as an attribute of the package.  The <varname>outputs</varname> attribute contains a list of output names.</para></listitem>
-    <listitem><para>You can let it use the default outputs.  These are handled by <varname>meta.outputsToInstall</varname> attribute that contains a list of output names.</para>
-      <para>TODO: more about tweaking the attribute, etc.</para></listitem>
-    <listitem><para>NixOS provides configuration option <varname>environment.extraOutputsToInstall</varname> that allows adding extra outputs of <varname>environment.systemPackages</varname> atop the default ones.  It's mainly meant for documentation and debug symbols, and it's also modified by specific options.</para>
-      <note><para>At this moment there is no similar configurability for packages installed by <command>nix-env</command>.  You can still use approach from <xref linkend="sec-modify-via-packageOverrides" /> to override <varname>meta.outputsToInstall</varname> attributes, but that's a rather inconvenient way.</para></note>
-    </listitem>
+   <listitem>
+    <para>
+     You can install particular outputs explicitly, as each is available in the
+     Nix language as an attribute of the package. The
+     <varname>outputs</varname> attribute contains a list of output names.
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     You can let it use the default outputs. These are handled by
+     <varname>meta.outputsToInstall</varname> attribute that contains a list of
+     output names.
+    </para>
+    <para>
+     TODO: more about tweaking the attribute, etc.
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     NixOS provides configuration option
+     <varname>environment.extraOutputsToInstall</varname> that allows adding
+     extra outputs of <varname>environment.systemPackages</varname> atop the
+     default ones. It's mainly meant for documentation and debug symbols, and
+     it's also modified by specific options.
+    </para>
+    <note>
+     <para>
+      At this moment there is no similar configurability for packages installed
+      by <command>nix-env</command>. You can still use approach from
+      <xref linkend="sec-modify-via-packageOverrides" /> to override
+      <varname>meta.outputsToInstall</varname> attributes, but that's a rather
+      inconvenient way.
+     </para>
+    </note>
+   </listitem>
   </itemizedlist>
-</section>
+ </section>
+ <section>
+  <title>Using a split package</title>
 
-<section><title>Using a split package</title>
-  <para>In the Nix language the individual outputs can be reached explicitly as attributes, e.g. <varname>coreutils.info</varname>, but the typical case is just using packages as build inputs.</para>
-  <para>When a multiple-output derivation gets into a build input of another derivation, the <varname>dev</varname> output is added if it exists, otherwise the first output is added. In addition to that, <varname>propagatedBuildOutputs</varname> of that package which by default contain <varname>$outputBin</varname> and <varname>$outputLib</varname> are also added. (See <xref linkend="multiple-output-file-type-groups" />.)</para>
-</section>
+  <para>
+   In the Nix language the individual outputs can be reached explicitly as
+   attributes, e.g. <varname>coreutils.info</varname>, but the typical case is
+   just using packages as build inputs.
+  </para>
 
+  <para>
+   When a multiple-output derivation gets into a build input of another
+   derivation, the <varname>dev</varname> output is added if it exists,
+   otherwise the first output is added. In addition to that,
+   <varname>propagatedBuildOutputs</varname> of that package which by default
+   contain <varname>$outputBin</varname> and <varname>$outputLib</varname> are
+   also added. (See <xref linkend="multiple-output-file-type-groups" />.)
+  </para>
+ </section>
+ <section>
+  <title>Writing a split derivation</title>
 
-<section><title>Writing a split derivation</title>
-  <para>Here you find how to write a derivation that produces multiple outputs.</para>
-  <para>In nixpkgs there is a framework supporting multiple-output derivations. It tries to cover most cases by default behavior.  You can find the source separated in &lt;<filename>nixpkgs/pkgs/build-support/setup-hooks/multiple-outputs.sh</filename>&gt;; it's relatively well-readable.  The whole machinery is triggered by defining the <varname>outputs</varname> attribute to contain the list of desired output names (strings).</para>
-  <programlisting>outputs = [ "bin" "dev" "out" "doc" ];</programlisting>
-  <para>Often such a single line is enough.  For each output an equally named environment variable is passed to the builder and contains the path in nix store for that output.  By convention, the first output should contain the executable programs provided by the package as that output is used by Nix in string conversions, allowing references to binaries like <literal>${pkgs.perl}/bin/perl</literal> to always work. Typically you also want to have the main <varname>out</varname> output, as it catches any files that didn't get elsewhere.</para>
+  <para>
+   Here you find how to write a derivation that produces multiple outputs.
+  </para>
 
-  <note><para>There is a special handling of the <varname>debug</varname> output, described at <xref linkend="stdenv-separateDebugInfo" />.</para></note>
+  <para>
+   In nixpkgs there is a framework supporting multiple-output derivations. It
+   tries to cover most cases by default behavior. You can find the source
+   separated in
+   &lt;<filename>nixpkgs/pkgs/build-support/setup-hooks/multiple-outputs.sh</filename>&gt;;
+   it's relatively well-readable. The whole machinery is triggered by defining
+   the <varname>outputs</varname> attribute to contain the list of desired
+   output names (strings).
+  </para>
 
-  <section xml:id="multiple-output-file-type-groups">
-    <title>File type groups</title>
-    <para>The support code currently recognizes some particular kinds of outputs and either instructs the build system of the package to put files into their desired outputs or it moves the files during the fixup phase.  Each group of file types has an <varname>outputFoo</varname> variable specifying the output name where they should go.  If that variable isn't defined by the derivation writer, it is guessed &ndash; a default output name is defined, falling back to other possibilities if the output isn't defined.</para>
-    <variablelist>
-
-      <varlistentry><term><varname>
-         $outputDev</varname></term><listitem><para>
-         is for development-only files. These include C(++) headers, pkg-config, cmake and aclocal files.  They go to <varname>dev</varname> or <varname>out</varname> by default.
-       </para></listitem>
-      </varlistentry>
-
-      <varlistentry><term><varname>
-        $outputBin</varname></term><listitem><para>
-        is meant for user-facing binaries, typically residing in bin/.  They go to <varname>bin</varname> or <varname>out</varname> by default.
-      </para></listitem></varlistentry>
-
-      <varlistentry><term><varname>
-        $outputLib</varname></term><listitem><para>
-        is meant for libraries, typically residing in <filename>lib/</filename> and <filename>libexec/</filename>.  They go to <varname>lib</varname> or <varname>out</varname> by default.
-      </para></listitem></varlistentry>
-
-      <varlistentry><term><varname>
-        $outputDoc</varname></term><listitem><para>
-        is for user documentation, typically residing in <filename>share/doc/</filename>.  It goes to <varname>doc</varname> or <varname>out</varname> by default.
-      </para></listitem></varlistentry>
-
-      <varlistentry><term><varname>
-        $outputDevdoc</varname></term><listitem><para>
-        is for <emphasis>developer</emphasis> documentation.  Currently we count gtk-doc and devhelp books in there.  It goes to <varname>devdoc</varname> or is removed (!) by default.  This is because e.g. gtk-doc tends to be rather large and completely unused by nixpkgs users.
-      </para></listitem></varlistentry>
-
-      <varlistentry><term><varname>
-        $outputMan</varname></term><listitem><para>
-        is for man pages (except for section 3). They go to <varname>man</varname> or <varname>$outputBin</varname> by default.
-      </para></listitem></varlistentry>
-
-      <varlistentry><term><varname>
-        $outputDevman</varname></term><listitem><para>
-        is for section 3 man pages. They go to <varname>devman</varname> or <varname>$outputMan</varname> by default.
-      </para></listitem></varlistentry>
-
-      <varlistentry><term><varname>
-        $outputInfo</varname></term><listitem><para>
-        is for info pages. They go to <varname>info</varname> or <varname>$outputBin</varname> by default.
-      </para></listitem></varlistentry>
-
-    </variablelist>
+<programlisting>outputs = [ "bin" "dev" "out" "doc" ];</programlisting>
+
+  <para>
+   Often such a single line is enough. For each output an equally named
+   environment variable is passed to the builder and contains the path in nix
+   store for that output. Typically you also want to have the main
+   <varname>out</varname> output, as it catches any files that didn't get
+   elsewhere.
+  </para>
+
+  <note>
+   <para>
+    There is a special handling of the <varname>debug</varname> output,
+    described at <xref linkend="stdenv-separateDebugInfo" />.
+   </para>
+  </note>
+
+  <section xml:id="multiple-output-file-binaries-first-convention">
+   <title><quote>Binaries first</quote></title>
+
+   <para>
+    A commonly adopted convention in <literal>nixpkgs</literal> is that
+    executables provided by the package are contained within its first output.
+    This convention allows the dependent packages to reference the executables
+    provided by packages in a uniform manner. For instance, provided with the
+    knowledge that the <literal>perl</literal> package contains a
+    <literal>perl</literal> executable it can be referenced as
+    <literal>${pkgs.perl}/bin/perl</literal> within a Nix derivation that needs
+    to execute a Perl script.
+   </para>
+
+   <para>
+    The <literal>glibc</literal> package is a deliberate single exception to
+    the <quote>binaries first</quote> convention. The <literal>glibc</literal>
+    has <literal>libs</literal> as its first output allowing the libraries
+    provided by <literal>glibc</literal> to be referenced directly (e.g.
+    <literal>${stdenv.glibc}/lib/ld-linux-x86-64.so.2</literal>). The
+    executables provided by <literal>glibc</literal> can be accessed via its
+    <literal>bin</literal> attribute (e.g.
+    <literal>${stdenv.glibc.bin}/bin/ldd</literal>).
+   </para>
+
+   <para>
+    The reason for why <literal>glibc</literal> deviates from the convention is
+    because referencing a library provided by <literal>glibc</literal> is a
+    very common operation among Nix packages. For instance, third-party
+    executables packaged by Nix are typically patched and relinked with the
+    relevant version of <literal>glibc</literal> libraries from Nix packages
+    (please see the documentation on
+    <link xlink:href="https://nixos.org/patchelf.html">patchelf</link> for more
+    details).
+   </para>
   </section>
 
-  <section><title>Common caveats</title>
-    <itemizedlist>
-      <listitem><para>Some configure scripts don't like some of the parameters passed by default by the framework, e.g. <literal>--docdir=/foo/bar</literal>.  You can disable this by setting <literal>setOutputFlags = false;</literal>.</para></listitem>
-      <listitem><para>The outputs of a single derivation can retain references to each other, but note that circular references are not allowed.  (And each strongly-connected component would act as a single output anyway.)</para></listitem>
-      <listitem><para>Most of split packages contain their core functionality in libraries.  These libraries tend to refer to various kind of data that typically gets into <varname>out</varname>, e.g. locale strings, so there is often no advantage in separating the libraries into <varname>lib</varname>, as keeping them in <varname>out</varname> is easier.</para></listitem>
-      <listitem><para>Some packages have hidden assumptions on install paths, which complicates splitting.</para></listitem>
-    </itemizedlist>
+  <section xml:id="multiple-output-file-type-groups">
+   <title>File type groups</title>
+
+   <para>
+    The support code currently recognizes some particular kinds of outputs and
+    either instructs the build system of the package to put files into their
+    desired outputs or it moves the files during the fixup phase. Each group of
+    file types has an <varname>outputFoo</varname> variable specifying the
+    output name where they should go. If that variable isn't defined by the
+    derivation writer, it is guessed &ndash; a default output name is defined,
+    falling back to other possibilities if the output isn't defined.
+   </para>
+
+   <variablelist>
+    <varlistentry>
+     <term><varname>
+         $outputDev</varname>
+     </term>
+     <listitem>
+      <para>
+       is for development-only files. These include C(++) headers, pkg-config,
+       cmake and aclocal files. They go to <varname>dev</varname> or
+       <varname>out</varname> by default.
+      </para>
+     </listitem>
+    </varlistentry>
+    <varlistentry>
+     <term><varname>
+        $outputBin</varname>
+     </term>
+     <listitem>
+      <para>
+       is meant for user-facing binaries, typically residing in bin/. They go
+       to <varname>bin</varname> or <varname>out</varname> by default.
+      </para>
+     </listitem>
+    </varlistentry>
+    <varlistentry>
+     <term><varname>
+        $outputLib</varname>
+     </term>
+     <listitem>
+      <para>
+       is meant for libraries, typically residing in <filename>lib/</filename>
+       and <filename>libexec/</filename>. They go to <varname>lib</varname> or
+       <varname>out</varname> by default.
+      </para>
+     </listitem>
+    </varlistentry>
+    <varlistentry>
+     <term><varname>
+        $outputDoc</varname>
+     </term>
+     <listitem>
+      <para>
+       is for user documentation, typically residing in
+       <filename>share/doc/</filename>. It goes to <varname>doc</varname> or
+       <varname>out</varname> by default.
+      </para>
+     </listitem>
+    </varlistentry>
+    <varlistentry>
+     <term><varname>
+        $outputDevdoc</varname>
+     </term>
+     <listitem>
+      <para>
+       is for <emphasis>developer</emphasis> documentation. Currently we count
+       gtk-doc and devhelp books in there. It goes to <varname>devdoc</varname>
+       or is removed (!) by default. This is because e.g. gtk-doc tends to be
+       rather large and completely unused by nixpkgs users.
+      </para>
+     </listitem>
+    </varlistentry>
+    <varlistentry>
+     <term><varname>
+        $outputMan</varname>
+     </term>
+     <listitem>
+      <para>
+       is for man pages (except for section 3). They go to
+       <varname>man</varname> or <varname>$outputBin</varname> by default.
+      </para>
+     </listitem>
+    </varlistentry>
+    <varlistentry>
+     <term><varname>
+        $outputDevman</varname>
+     </term>
+     <listitem>
+      <para>
+       is for section 3 man pages. They go to <varname>devman</varname> or
+       <varname>$outputMan</varname> by default.
+      </para>
+     </listitem>
+    </varlistentry>
+    <varlistentry>
+     <term><varname>
+        $outputInfo</varname>
+     </term>
+     <listitem>
+      <para>
+       is for info pages. They go to <varname>info</varname> or
+       <varname>$outputBin</varname> by default.
+      </para>
+     </listitem>
+    </varlistentry>
+   </variablelist>
   </section>
 
-</section><!--Writing a split derivation-->
+  <section>
+   <title>Common caveats</title>
 
+   <itemizedlist>
+    <listitem>
+     <para>
+      Some configure scripts don't like some of the parameters passed by
+      default by the framework, e.g. <literal>--docdir=/foo/bar</literal>. You
+      can disable this by setting <literal>setOutputFlags = false;</literal>.
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      The outputs of a single derivation can retain references to each other,
+      but note that circular references are not allowed. (And each
+      strongly-connected component would act as a single output anyway.)
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      Most of split packages contain their core functionality in libraries.
+      These libraries tend to refer to various kind of data that typically gets
+      into <varname>out</varname>, e.g. locale strings, so there is often no
+      advantage in separating the libraries into <varname>lib</varname>, as
+      keeping them in <varname>out</varname> is easier.
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      Some packages have hidden assumptions on install paths, which complicates
+      splitting.
+     </para>
+    </listitem>
+   </itemizedlist>
+  </section>
+ </section>
+<!--Writing a split derivation-->
 </chapter>
diff --git a/doc/overlays.xml b/doc/overlays.xml
index cc0aef447d2..2decf9febe8 100644
--- a/doc/overlays.xml
+++ b/doc/overlays.xml
@@ -1,95 +1,117 @@
 <chapter xmlns="http://docbook.org/ns/docbook"
          xmlns:xlink="http://www.w3.org/1999/xlink"
          xml:id="chap-overlays">
-
-<title>Overlays</title>
-
-<para>This chapter describes how to extend and change Nixpkgs packages using
-overlays. Overlays are used to add layers in the fix-point used by Nixpkgs
-to compose the set of all packages.</para>
-
-<para>Nixpkgs can be configured with a list of overlays, which are
-applied in order. This means that the order of the overlays can be significant
-if multiple layers override the same package.</para>
-
+ <title>Overlays</title>
+ <para>
+  This chapter describes how to extend and change Nixpkgs packages using
+  overlays. Overlays are used to add layers in the fix-point used by Nixpkgs to
+  compose the set of all packages.
+ </para>
+ <para>
+  Nixpkgs can be configured with a list of overlays, which are applied in
+  order. This means that the order of the overlays can be significant if
+  multiple layers override the same package.
+ </para>
 <!--============================================================-->
-
-<section xml:id="sec-overlays-install">
-<title>Installing overlays</title>
-
-<para>The list of overlays is determined as follows.</para>
-
-<para>If the <varname>overlays</varname> argument is not provided explicitly, we look for overlays in a path. The path
-is determined as follows:
-
-<orderedlist>
-
-  <listitem>
-    <para>First, if an <varname>overlays</varname> argument to the nixpkgs function itself is given,
-    then that is used.</para>
-
-    <para>This can be passed explicitly when importing nipxkgs, for example 
-    <literal>import &lt;nixpkgs> { overlays = [ overlay1 overlay2 ]; }</literal>.</para>
-  </listitem>
-
-  <listitem>
-    <para>Otherwise, if the Nix path entry <literal>&lt;nixpkgs-overlays></literal> exists, we look for overlays
-    at that path, as described below.</para>
-
-    <para>See the section on <literal>NIX_PATH</literal> in the Nix manual for more details on how to 
-    set a value for <literal>&lt;nixpkgs-overlays>.</literal></para>
-  </listitem>
-
-  <listitem>
-    <para>If one of <filename>~/.config/nixpkgs/overlays.nix</filename> and
-    <filename>~/.config/nixpkgs/overlays/</filename> exists, then we look for overlays at that path, as
-    described below. It is an error if both exist.</para>
-  </listitem>
-
-</orderedlist>
-</para>
-
-<para>If we are looking for overlays at a path, then there are two cases:
-<itemizedlist>
-  <listitem>
-    <para>If the path is a file, then the file is imported as a Nix expression and used as the list of
-    overlays.</para>
-  </listitem>
-
-  <listitem>
-    <para>If the path is a directory, then we take the content of the directory, order it
-    lexicographically, and attempt to interpret each as an overlay by:
-    <itemizedlist>
-      <listitem>
-        <para>Importing the file, if it is a <literal>.nix</literal> file.</para>
-      </listitem>
-      <listitem>
-        <para>Importing a top-level <filename>default.nix</filename> file, if it is a directory.</para>
-      </listitem>
-    </itemizedlist>
-    </para>
-  </listitem>
-</itemizedlist>
-</para>
-
-<para>On a NixOS system the value of the <literal>nixpkgs.overlays</literal> option, if present, 
-is passed to the system Nixpkgs directly as an argument. Note that this does not affect the overlays for
-non-NixOS operations (e.g. <literal>nix-env</literal>), which are looked up independently.</para>
-
-<para>The <filename>overlays.nix</filename> option therefore provides a convenient way to use the same
-overlays for a NixOS system configuration and user configuration: the same file can be used
-as <filename>overlays.nix</filename> and imported as the value of <literal>nixpkgs.overlays</literal>.</para>
-
-</section>
-
+ <section xml:id="sec-overlays-install">
+  <title>Installing overlays</title>
+
+  <para>
+   The list of overlays is determined as follows.
+  </para>
+
+  <para>
+   If the <varname>overlays</varname> argument is not provided explicitly, we
+   look for overlays in a path. The path is determined as follows:
+   <orderedlist>
+    <listitem>
+     <para>
+      First, if an <varname>overlays</varname> argument to the nixpkgs function
+      itself is given, then that is used.
+     </para>
+     <para>
+      This can be passed explicitly when importing nipxkgs, for example
+      <literal>import &lt;nixpkgs> { overlays = [ overlay1 overlay2 ];
+      }</literal>.
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      Otherwise, if the Nix path entry <literal>&lt;nixpkgs-overlays></literal>
+      exists, we look for overlays at that path, as described below.
+     </para>
+     <para>
+      See the section on <literal>NIX_PATH</literal> in the Nix manual for more
+      details on how to set a value for
+      <literal>&lt;nixpkgs-overlays>.</literal>
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      If one of <filename>~/.config/nixpkgs/overlays.nix</filename> and
+      <filename>~/.config/nixpkgs/overlays/</filename> exists, then we look for
+      overlays at that path, as described below. It is an error if both exist.
+     </para>
+    </listitem>
+   </orderedlist>
+  </para>
+
+  <para>
+   If we are looking for overlays at a path, then there are two cases:
+   <itemizedlist>
+    <listitem>
+     <para>
+      If the path is a file, then the file is imported as a Nix expression and
+      used as the list of overlays.
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      If the path is a directory, then we take the content of the directory,
+      order it lexicographically, and attempt to interpret each as an overlay
+      by:
+      <itemizedlist>
+       <listitem>
+        <para>
+         Importing the file, if it is a <literal>.nix</literal> file.
+        </para>
+       </listitem>
+       <listitem>
+        <para>
+         Importing a top-level <filename>default.nix</filename> file, if it is
+         a directory.
+        </para>
+       </listitem>
+      </itemizedlist>
+     </para>
+    </listitem>
+   </itemizedlist>
+  </para>
+
+  <para>
+   On a NixOS system the value of the <literal>nixpkgs.overlays</literal>
+   option, if present, is passed to the system Nixpkgs directly as an argument.
+   Note that this does not affect the overlays for non-NixOS operations (e.g.
+   <literal>nix-env</literal>), which are looked up independently.
+  </para>
+
+  <para>
+   The <filename>overlays.nix</filename> option therefore provides a convenient
+   way to use the same overlays for a NixOS system configuration and user
+   configuration: the same file can be used as
+   <filename>overlays.nix</filename> and imported as the value of
+   <literal>nixpkgs.overlays</literal>.
+  </para>
+ </section>
 <!--============================================================-->
+ <section xml:id="sec-overlays-definition">
+  <title>Defining overlays</title>
 
-<section xml:id="sec-overlays-definition">
-<title>Defining overlays</title>
-
-<para>Overlays are Nix functions which accept two arguments, 
-conventionally called <varname>self</varname> and <varname>super</varname>, 
-and return a set of packages. For example, the following is a valid overlay.</para>
+  <para>
+   Overlays are Nix functions which accept two arguments, conventionally called
+   <varname>self</varname> and <varname>super</varname>, and return a set of
+   packages. For example, the following is a valid overlay.
+  </para>
 
 <programlisting>
 self: super:
@@ -104,31 +126,39 @@ self: super:
 }
 </programlisting>
 
-<para>The first argument (<varname>self</varname>) corresponds to the final package
-set. You should use this set for the dependencies of all packages specified in your
-overlay. For example, all the dependencies of <varname>rr</varname> in the example above come
-from <varname>self</varname>, as well as the overridden dependencies used in the
-<varname>boost</varname> override.</para>
-
-<para>The second argument (<varname>super</varname>)
-corresponds to the result of the evaluation of the previous stages of
-Nixpkgs. It does not contain any of the packages added by the current
-overlay, nor any of the following overlays. This set should be used either
-to refer to packages you wish to override, or to access functions defined
-in Nixpkgs. For example, the original recipe of <varname>boost</varname>
-in the above example, comes from <varname>super</varname>, as well as the
-<varname>callPackage</varname> function.</para>
-
-<para>The value returned by this function should be a set similar to
-<filename>pkgs/top-level/all-packages.nix</filename>, containing
-overridden and/or new packages.</para>
-
-<para>Overlays are similar to other methods for customizing Nixpkgs, in particular
-the <literal>packageOverrides</literal> attribute described in <xref linkend="sec-modify-via-packageOverrides"/>.
-Indeed, <literal>packageOverrides</literal> acts as an overlay with only the 
-<varname>super</varname> argument. It is therefore appropriate for basic use, 
-but overlays are more powerful and easier to distribute.</para>
-
-</section>
-
+  <para>
+   The first argument (<varname>self</varname>) corresponds to the final
+   package set. You should use this set for the dependencies of all packages
+   specified in your overlay. For example, all the dependencies of
+   <varname>rr</varname> in the example above come from
+   <varname>self</varname>, as well as the overridden dependencies used in the
+   <varname>boost</varname> override.
+  </para>
+
+  <para>
+   The second argument (<varname>super</varname>) corresponds to the result of
+   the evaluation of the previous stages of Nixpkgs. It does not contain any of
+   the packages added by the current overlay, nor any of the following
+   overlays. This set should be used either to refer to packages you wish to
+   override, or to access functions defined in Nixpkgs. For example, the
+   original recipe of <varname>boost</varname> in the above example, comes from
+   <varname>super</varname>, as well as the <varname>callPackage</varname>
+   function.
+  </para>
+
+  <para>
+   The value returned by this function should be a set similar to
+   <filename>pkgs/top-level/all-packages.nix</filename>, containing overridden
+   and/or new packages.
+  </para>
+
+  <para>
+   Overlays are similar to other methods for customizing Nixpkgs, in particular
+   the <literal>packageOverrides</literal> attribute described in
+   <xref linkend="sec-modify-via-packageOverrides"/>. Indeed,
+   <literal>packageOverrides</literal> acts as an overlay with only the
+   <varname>super</varname> argument. It is therefore appropriate for basic
+   use, but overlays are more powerful and easier to distribute.
+  </para>
+ </section>
 </chapter>
diff --git a/doc/overrides.css b/doc/overrides.css
new file mode 100644
index 00000000000..4c7d4a31be2
--- /dev/null
+++ b/doc/overrides.css
@@ -0,0 +1,9 @@
+.docbook .xref img[src^=images\/callouts\/],
+.screen img,
+.programlisting img {
+    width: 1em;
+}
+
+.calloutlist img {
+    width: 1.5em;
+}
diff --git a/doc/package-notes.xml b/doc/package-notes.xml
index 2d6c87c3d07..f16826ae680 100644
--- a/doc/package-notes.xml
+++ b/doc/package-notes.xml
@@ -1,206 +1,185 @@
 <chapter xmlns="http://docbook.org/ns/docbook"
          xmlns:xlink="http://www.w3.org/1999/xlink"
          xml:id="chap-package-notes">
-
-<title>Package Notes</title>
-
-<para>This chapter contains information about how to use and maintain
-the Nix expressions for a number of specific packages, such as the
-Linux kernel or X.org.</para>
-
-
+ <title>Package Notes</title>
+ <para>
+  This chapter contains information about how to use and maintain the Nix
+  expressions for a number of specific packages, such as the Linux kernel or
+  X.org.
+ </para>
 <!--============================================================-->
+ <section xml:id="sec-linux-kernel">
+  <title>Linux kernel</title>
 
-<section xml:id="sec-linux-kernel">
-
-<title>Linux kernel</title>
-
-<para>The Nix expressions to build the Linux kernel are in <link
-xlink:href="https://github.com/NixOS/nixpkgs/blob/master/pkgs/os-specific/linux/kernel"><filename>pkgs/os-specific/linux/kernel</filename></link>.</para>
-
-<para>The function that builds the kernel has an argument
-<varname>kernelPatches</varname> which should be a list of
-<literal>{name, patch, extraConfig}</literal> attribute sets, where
-<varname>name</varname> is the name of the patch (which is included in
-the kernel’s <varname>meta.description</varname> attribute),
-<varname>patch</varname> is the patch itself (possibly compressed),
-and <varname>extraConfig</varname> (optional) is a string specifying
-extra options to be concatenated to the kernel configuration file
-(<filename>.config</filename>).</para>
+  <para>
+   The Nix expressions to build the Linux kernel are in
+   <link
+xlink:href="https://github.com/NixOS/nixpkgs/blob/master/pkgs/os-specific/linux/kernel"><filename>pkgs/os-specific/linux/kernel</filename></link>.
+  </para>
 
-<para>The kernel derivation exports an attribute
-<varname>features</varname> specifying whether optional functionality
-is or isn’t enabled.  This is used in NixOS to implement
-kernel-specific behaviour.  For instance, if the kernel has the
-<varname>iwlwifi</varname> feature (i.e. has built-in support for
-Intel wireless chipsets), then NixOS doesn’t have to build the
-external <varname>iwlwifi</varname> package:
+  <para>
+   The function that builds the kernel has an argument
+   <varname>kernelPatches</varname> which should be a list of <literal>{name,
+   patch, extraConfig}</literal> attribute sets, where <varname>name</varname>
+   is the name of the patch (which is included in the kernel’s
+   <varname>meta.description</varname> attribute), <varname>patch</varname> is
+   the patch itself (possibly compressed), and <varname>extraConfig</varname>
+   (optional) is a string specifying extra options to be concatenated to the
+   kernel configuration file (<filename>.config</filename>).
+  </para>
 
+  <para>
+   The kernel derivation exports an attribute <varname>features</varname>
+   specifying whether optional functionality is or isn’t enabled. This is
+   used in NixOS to implement kernel-specific behaviour. For instance, if the
+   kernel has the <varname>iwlwifi</varname> feature (i.e. has built-in support
+   for Intel wireless chipsets), then NixOS doesn’t have to build the
+   external <varname>iwlwifi</varname> package:
 <programlisting>
 modulesTree = [kernel]
   ++ pkgs.lib.optional (!kernel.features ? iwlwifi) kernelPackages.iwlwifi
   ++ ...;
 </programlisting>
+  </para>
 
-</para>
-
-<para>How to add a new (major) version of the Linux kernel to Nixpkgs:
-
-<orderedlist>
-
-  <listitem>
-    <para>Copy the old Nix expression
-    (e.g. <filename>linux-2.6.21.nix</filename>) to the new one
-    (e.g. <filename>linux-2.6.22.nix</filename>) and update it.</para>
-  </listitem>
-
-  <listitem>
-    <para>Add the new kernel to <filename>all-packages.nix</filename>
-    (e.g., create an attribute
-    <varname>kernel_2_6_22</varname>).</para>
-  </listitem>
-
-  <listitem>
-    <para>Now we’re going to update the kernel configuration.  First
-    unpack the kernel.  Then for each supported platform
-    (<literal>i686</literal>, <literal>x86_64</literal>,
-    <literal>uml</literal>) do the following:
-
+  <para>
+   How to add a new (major) version of the Linux kernel to Nixpkgs:
+   <orderedlist>
+    <listitem>
+     <para>
+      Copy the old Nix expression (e.g. <filename>linux-2.6.21.nix</filename>)
+      to the new one (e.g. <filename>linux-2.6.22.nix</filename>) and update
+      it.
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      Add the new kernel to <filename>all-packages.nix</filename> (e.g., create
+      an attribute <varname>kernel_2_6_22</varname>).
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      Now we’re going to update the kernel configuration. First unpack the
+      kernel. Then for each supported platform (<literal>i686</literal>,
+      <literal>x86_64</literal>, <literal>uml</literal>) do the following:
       <orderedlist>
-
-        <listitem>
-          <para>Make an copy from the old
-          config (e.g. <filename>config-2.6.21-i686-smp</filename>) to
-          the new one
-          (e.g. <filename>config-2.6.22-i686-smp</filename>).</para>
-        </listitem>
-
-        <listitem>
-          <para>Copy the config file for this platform
-          (e.g. <filename>config-2.6.22-i686-smp</filename>) to
-          <filename>.config</filename> in the kernel source tree.
-          </para>
-        </listitem>
-
-        <listitem>
-          <para>Run <literal>make oldconfig
-          ARCH=<replaceable>{i386,x86_64,um}</replaceable></literal>
-          and answer all questions.  (For the uml configuration, also
-          add <literal>SHELL=bash</literal>.)  Make sure to keep the
-          configuration consistent between platforms (i.e. don’t
-          enable some feature on <literal>i686</literal> and disable
-          it on <literal>x86_64</literal>).
-          </para>
-        </listitem>
-
-        <listitem>
-          <para>If needed you can also run <literal>make
-          menuconfig</literal>:
-
-            <screen>
+       <listitem>
+        <para>
+         Make an copy from the old config (e.g.
+         <filename>config-2.6.21-i686-smp</filename>) to the new one (e.g.
+         <filename>config-2.6.22-i686-smp</filename>).
+        </para>
+       </listitem>
+       <listitem>
+        <para>
+         Copy the config file for this platform (e.g.
+         <filename>config-2.6.22-i686-smp</filename>) to
+         <filename>.config</filename> in the kernel source tree.
+        </para>
+       </listitem>
+       <listitem>
+        <para>
+         Run <literal>make oldconfig
+         ARCH=<replaceable>{i386,x86_64,um}</replaceable></literal> and answer
+         all questions. (For the uml configuration, also add
+         <literal>SHELL=bash</literal>.) Make sure to keep the configuration
+         consistent between platforms (i.e. don’t enable some feature on
+         <literal>i686</literal> and disable it on <literal>x86_64</literal>).
+        </para>
+       </listitem>
+       <listitem>
+        <para>
+         If needed you can also run <literal>make menuconfig</literal>:
+<screen>
 $ nix-env -i ncurses
 $ export NIX_CFLAGS_LINK=-lncurses
 $ make menuconfig ARCH=<replaceable>arch</replaceable></screen>
-
-          </para>
-        </listitem>
-
-        <listitem>
-          <para>Copy <filename>.config</filename> over the new config
-          file (e.g. <filename>config-2.6.22-i686-smp</filename>).</para>
-        </listitem>
-
+        </para>
+       </listitem>
+       <listitem>
+        <para>
+         Copy <filename>.config</filename> over the new config file (e.g.
+         <filename>config-2.6.22-i686-smp</filename>).
+        </para>
+       </listitem>
       </orderedlist>
-
-    </para>
-
-  </listitem>
-
-  <listitem>
-    <para>Test building the kernel: <literal>nix-build -A
-    kernel_2_6_22</literal>.  If it compiles, ship it!  For extra
-    credit, try booting NixOS with it.</para>
-  </listitem>
-
-  <listitem>
-    <para>It may be that the new kernel requires updating the external
-    kernel modules and kernel-dependent packages listed in the
-    <varname>linuxPackagesFor</varname> function in
-    <filename>all-packages.nix</filename> (such as the NVIDIA drivers,
-    AUFS, etc.).  If the updated packages aren’t backwards compatible
-    with older kernels, you may need to keep the older versions
-    around.</para>
-  </listitem>
-
-</orderedlist>
-
-</para>
-
-</section>
-
-
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      Test building the kernel: <literal>nix-build -A kernel_2_6_22</literal>.
+      If it compiles, ship it! For extra credit, try booting NixOS with it.
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      It may be that the new kernel requires updating the external kernel
+      modules and kernel-dependent packages listed in the
+      <varname>linuxPackagesFor</varname> function in
+      <filename>all-packages.nix</filename> (such as the NVIDIA drivers, AUFS,
+      etc.). If the updated packages aren’t backwards compatible with older
+      kernels, you may need to keep the older versions around.
+     </para>
+    </listitem>
+   </orderedlist>
+  </para>
+ </section>
 <!--============================================================-->
+ <section xml:id="sec-xorg">
+  <title>X.org</title>
 
-<section xml:id="sec-xorg">
-
-<title>X.org</title>
-
-<para>The Nix expressions for the X.org packages reside in
-<filename>pkgs/servers/x11/xorg/default.nix</filename>.  This file is
-automatically generated from lists of tarballs in an X.org release.
-As such it should not be modified directly; rather, you should modify
-the lists, the generator script or the file
-<filename>pkgs/servers/x11/xorg/overrides.nix</filename>, in which you
-can override or add to the derivations produced by the
-generator.</para>
-
-<para>The generator is invoked as follows:
+  <para>
+   The Nix expressions for the X.org packages reside in
+   <filename>pkgs/servers/x11/xorg/default.nix</filename>. This file is
+   automatically generated from lists of tarballs in an X.org release. As such
+   it should not be modified directly; rather, you should modify the lists, the
+   generator script or the file
+   <filename>pkgs/servers/x11/xorg/overrides.nix</filename>, in which you can
+   override or add to the derivations produced by the generator.
+  </para>
 
+  <para>
+   The generator is invoked as follows:
 <screen>
 $ cd pkgs/servers/x11/xorg
 $ cat tarballs-7.5.list extra.list old.list \
   | perl ./generate-expr-from-tarballs.pl
 </screen>
+   For each of the tarballs in the <filename>.list</filename> files, the script
+   downloads it, unpacks it, and searches its <filename>configure.ac</filename>
+   and <filename>*.pc.in</filename> files for dependencies. This information is
+   used to generate <filename>default.nix</filename>. The generator caches
+   downloaded tarballs between runs. Pay close attention to the <literal>NOT
+   FOUND: <replaceable>name</replaceable></literal> messages at the end of the
+   run, since they may indicate missing dependencies. (Some might be optional
+   dependencies, however.)
+  </para>
 
-For each of the tarballs in the <filename>.list</filename> files, the
-script downloads it, unpacks it, and searches its
-<filename>configure.ac</filename> and <filename>*.pc.in</filename>
-files for dependencies.  This information is used to generate
-<filename>default.nix</filename>.  The generator caches downloaded
-tarballs between runs.  Pay close attention to the <literal>NOT FOUND:
-<replaceable>name</replaceable></literal> messages at the end of the
-run, since they may indicate missing dependencies.  (Some might be
-optional dependencies, however.)</para>
-
-<para>A file like <filename>tarballs-7.5.list</filename> contains all
-tarballs in a X.org release.  It can be generated like this:
-
+  <para>
+   A file like <filename>tarballs-7.5.list</filename> contains all tarballs in
+   a X.org release. It can be generated like this:
 <screen>
 $ export i="mirror://xorg/X11R7.4/src/everything/"
 $ cat $(PRINT_PATH=1 nix-prefetch-url $i | tail -n 1) \
   | perl -e 'while (&lt;>) { if (/(href|HREF)="([^"]*.bz2)"/) { print "$ENV{'i'}$2\n"; }; }' \
   | sort > tarballs-7.4.list
 </screen>
+   <filename>extra.list</filename> contains libraries that aren’t part of
+   X.org proper, but are closely related to it, such as
+   <literal>libxcb</literal>. <filename>old.list</filename> contains some
+   packages that were removed from X.org, but are still needed by some people
+   or by other packages (such as <varname>imake</varname>).
+  </para>
 
-<filename>extra.list</filename> contains libraries that aren’t part of
-X.org proper, but are closely related to it, such as
-<literal>libxcb</literal>.  <filename>old.list</filename> contains
-some packages that were removed from X.org, but are still needed by
-some people or by other packages (such as
-<varname>imake</varname>).</para>
-
-<para>If the expression for a package requires derivation attributes
-that the generator cannot figure out automatically (say,
-<varname>patches</varname> or a <varname>postInstall</varname> hook),
-you should modify
-<filename>pkgs/servers/x11/xorg/overrides.nix</filename>.</para>
-
-</section>
-
-
-
+  <para>
+   If the expression for a package requires derivation attributes that the
+   generator cannot figure out automatically (say, <varname>patches</varname>
+   or a <varname>postInstall</varname> hook), you should modify
+   <filename>pkgs/servers/x11/xorg/overrides.nix</filename>.
+  </para>
+ </section>
 <!--============================================================-->
-
 <!--
 <section>
   <title>Gnome</title>
@@ -208,65 +187,53 @@ you should modify
   <para>* How to update</para>
 </section>
 -->
-
-
 <!--============================================================-->
-
 <!--
 <section>
   <title>GCC</title>
   <para>…</para>
 </section>
 -->
-
 <!--============================================================-->
-
-<section xml:id="sec-eclipse">
-
+ <section xml:id="sec-eclipse">
   <title>Eclipse</title>
 
   <para>
-    The Nix expressions related to the Eclipse platform and IDE are in
-    <link xlink:href="https://github.com/NixOS/nixpkgs/blob/master/pkgs/applications/editors/eclipse"><filename>pkgs/applications/editors/eclipse</filename></link>.
+   The Nix expressions related to the Eclipse platform and IDE are in
+   <link xlink:href="https://github.com/NixOS/nixpkgs/blob/master/pkgs/applications/editors/eclipse"><filename>pkgs/applications/editors/eclipse</filename></link>.
   </para>
 
   <para>
-    Nixpkgs provides a number of packages that will install Eclipse in
-    its various forms, these range from the bare-bones Eclipse
-    Platform to the more fully featured Eclipse SDK or Scala-IDE
-    packages and multiple version are often available. It is possible
-    to list available Eclipse packages by issuing the command:
-
+   Nixpkgs provides a number of packages that will install Eclipse in its
+   various forms, these range from the bare-bones Eclipse Platform to the more
+   fully featured Eclipse SDK or Scala-IDE packages and multiple version are
+   often available. It is possible to list available Eclipse packages by
+   issuing the command:
 <screen>
 $ nix-env -f '&lt;nixpkgs&gt;' -qaP -A eclipses --description
 </screen>
-
-    Once an Eclipse variant is installed it can be run using the
-    <command>eclipse</command> command, as expected. From within
-    Eclipse it is then possible to install plugins in the usual manner
-    by either manually specifying an Eclipse update site or by
-    installing the Marketplace Client plugin and using it to discover
-    and install other plugins. This installation method provides an
-    Eclipse installation that closely resemble a manually installed
-    Eclipse.
+   Once an Eclipse variant is installed it can be run using the
+   <command>eclipse</command> command, as expected. From within Eclipse it is
+   then possible to install plugins in the usual manner by either manually
+   specifying an Eclipse update site or by installing the Marketplace Client
+   plugin and using it to discover and install other plugins. This installation
+   method provides an Eclipse installation that closely resemble a manually
+   installed Eclipse.
   </para>
 
   <para>
-    If you prefer to install plugins in a more declarative manner then
-    Nixpkgs also offer a number of Eclipse plugins that can be
-    installed in an <emphasis>Eclipse environment</emphasis>. This
-    type of environment is created using the function
-    <varname>eclipseWithPlugins</varname> found inside the
-    <varname>nixpkgs.eclipses</varname> attribute set. This function
-    takes as argument <literal>{ eclipse, plugins ? [], jvmArgs ? []
-    }</literal> where <varname>eclipse</varname> is a one of the
-    Eclipse packages described above, <varname>plugins</varname> is a
-    list of plugin derivations, and <varname>jvmArgs</varname> is a
-    list of arguments given to the JVM running the Eclipse. For
-    example, say you wish to install the latest Eclipse Platform with
-    the popular Eclipse Color Theme plugin and also allow Eclipse to
-    use more RAM. You could then add
-
+   If you prefer to install plugins in a more declarative manner then Nixpkgs
+   also offer a number of Eclipse plugins that can be installed in an
+   <emphasis>Eclipse environment</emphasis>. This type of environment is
+   created using the function <varname>eclipseWithPlugins</varname> found
+   inside the <varname>nixpkgs.eclipses</varname> attribute set. This function
+   takes as argument <literal>{ eclipse, plugins ? [], jvmArgs ? [] }</literal>
+   where <varname>eclipse</varname> is a one of the Eclipse packages described
+   above, <varname>plugins</varname> is a list of plugin derivations, and
+   <varname>jvmArgs</varname> is a list of arguments given to the JVM running
+   the Eclipse. For example, say you wish to install the latest Eclipse
+   Platform with the popular Eclipse Color Theme plugin and also allow Eclipse
+   to use more RAM. You could then add
 <screen>
 packageOverrides = pkgs: {
   myEclipse = with pkgs.eclipses; eclipseWithPlugins {
@@ -276,42 +243,38 @@ packageOverrides = pkgs: {
   };
 }
 </screen>
-
-    to your Nixpkgs configuration
-    (<filename>~/.config/nixpkgs/config.nix</filename>) and install it by
-    running <command>nix-env -f '&lt;nixpkgs&gt;' -iA
-    myEclipse</command> and afterward run Eclipse as usual. It is
-    possible to find out which plugins are available for installation
-    using <varname>eclipseWithPlugins</varname> by running
-
+   to your Nixpkgs configuration
+   (<filename>~/.config/nixpkgs/config.nix</filename>) and install it by
+   running <command>nix-env -f '&lt;nixpkgs&gt;' -iA myEclipse</command> and
+   afterward run Eclipse as usual. It is possible to find out which plugins are
+   available for installation using <varname>eclipseWithPlugins</varname> by
+   running
 <screen>
 $ nix-env -f '&lt;nixpkgs&gt;' -qaP -A eclipses.plugins --description
 </screen>
   </para>
 
   <para>
-    If there is a need to install plugins that are not available in
-    Nixpkgs then it may be possible to define these plugins outside
-    Nixpkgs using the <varname>buildEclipseUpdateSite</varname> and
-    <varname>buildEclipsePlugin</varname> functions found in the
-    <varname>nixpkgs.eclipses.plugins</varname> attribute set. Use the
-    <varname>buildEclipseUpdateSite</varname> function to install a
-    plugin distributed as an Eclipse update site. This function takes
-    <literal>{ name, src }</literal> as argument where
-    <literal>src</literal> indicates the Eclipse update site archive.
-    All Eclipse features and plugins within the downloaded update site
-    will be installed. When an update site archive is not available
-    then the <varname>buildEclipsePlugin</varname> function can be
-    used to install a plugin that consists of a pair of feature and
-    plugin JARs. This function takes an argument <literal>{ name,
-    srcFeature, srcPlugin }</literal> where
-    <literal>srcFeature</literal> and <literal>srcPlugin</literal> are
-    the feature and plugin JARs, respectively.
+   If there is a need to install plugins that are not available in Nixpkgs then
+   it may be possible to define these plugins outside Nixpkgs using the
+   <varname>buildEclipseUpdateSite</varname> and
+   <varname>buildEclipsePlugin</varname> functions found in the
+   <varname>nixpkgs.eclipses.plugins</varname> attribute set. Use the
+   <varname>buildEclipseUpdateSite</varname> function to install a plugin
+   distributed as an Eclipse update site. This function takes <literal>{ name,
+   src }</literal> as argument where <literal>src</literal> indicates the
+   Eclipse update site archive. All Eclipse features and plugins within the
+   downloaded update site will be installed. When an update site archive is not
+   available then the <varname>buildEclipsePlugin</varname> function can be
+   used to install a plugin that consists of a pair of feature and plugin JARs.
+   This function takes an argument <literal>{ name, srcFeature, srcPlugin
+   }</literal> where <literal>srcFeature</literal> and
+   <literal>srcPlugin</literal> are the feature and plugin JARs, respectively.
   </para>
 
   <para>
-    Expanding the previous example with two plugins using the above
-    functions we have
+   Expanding the previous example with two plugins using the above functions we
+   have
 <screen>
 packageOverrides = pkgs: {
   myEclipse = with pkgs.eclipses; eclipseWithPlugins {
@@ -343,210 +306,214 @@ packageOverrides = pkgs: {
 }
 </screen>
   </para>
+ </section>
+ <section xml:id="sec-elm">
+  <title>Elm</title>
 
-</section>
-
-<section xml:id="sec-elm">
-
-<title>Elm</title>
-
-<para>
-The Nix expressions for Elm reside in
-<filename>pkgs/development/compilers/elm</filename>. They are generated
-automatically by <command>update-elm.rb</command> script. One should
-specify versions of Elm packages inside the script, clear the
-<filename>packages</filename> directory and run the script from inside it.
-<literal>elm-reactor</literal> is special because it also has Elm package
-dependencies. The process is not automated very much for now -- you should
-get the <literal>elm-reactor</literal> source tree (e.g. with
-<command>nix-shell</command>) and run <command>elm2nix.rb</command> inside
-it. Place the resulting <filename>package.nix</filename> file into
-<filename>packages/elm-reactor-elm.nix</filename>.
-</para>
-
-</section>
-
-<section xml:id="sec-shell-helpers">
-
-<title>Interactive shell helpers</title>
-
-<para>
-  Some packages provide the shell integration to be more useful. But
-  unlike other systems, nix doesn't have a standard share directory
-  location. This is why a bunch <command>PACKAGE-share</command>
-  scripts are shipped that print the location of the corresponding
-  shared folder.
-
-  Current list of such packages is as following:
+  <para>
+   The Nix expressions for Elm reside in
+   <filename>pkgs/development/compilers/elm</filename>. They are generated
+   automatically by <command>update-elm.rb</command> script. One should specify
+   versions of Elm packages inside the script, clear the
+   <filename>packages</filename> directory and run the script from inside it.
+   <literal>elm-reactor</literal> is special because it also has Elm package
+   dependencies. The process is not automated very much for now -- you should
+   get the <literal>elm-reactor</literal> source tree (e.g. with
+   <command>nix-shell</command>) and run <command>elm2nix.rb</command> inside
+   it. Place the resulting <filename>package.nix</filename> file into
+   <filename>packages/elm-reactor-elm.nix</filename>.
+  </para>
+ </section>
+ <section xml:id="sec-shell-helpers">
+  <title>Interactive shell helpers</title>
 
-  <itemizedlist>
+  <para>
+   Some packages provide the shell integration to be more useful. But unlike
+   other systems, nix doesn't have a standard share directory location. This is
+   why a bunch <command>PACKAGE-share</command> scripts are shipped that print
+   the location of the corresponding shared folder. Current list of such
+   packages is as following:
+   <itemizedlist>
     <listitem>
-      <para>
-        <literal>autojump</literal>: <command>autojump-share</command>
-      </para>
+     <para>
+      <literal>autojump</literal>: <command>autojump-share</command>
+     </para>
     </listitem>
     <listitem>
-      <para>
-        <literal>fzf</literal>: <command>fzf-share</command>
-      </para>
+     <para>
+      <literal>fzf</literal>: <command>fzf-share</command>
+     </para>
     </listitem>
-  </itemizedlist>
-
-  E.g. <literal>autojump</literal> can then used in the .bashrc like this:
+   </itemizedlist>
+   E.g. <literal>autojump</literal> can then used in the .bashrc like this:
 <screen>
   source "$(autojump-share)/autojump.bash"
 </screen>
-</para>
-
-</section>
-
-<section xml:id="sec-steam">
-
-<title>Steam</title>
-
-<section xml:id="sec-steam-nix">
-
-<title>Steam in Nix</title>
-
-<para>
-  Steam is distributed as a <filename>.deb</filename> file, for now only
-  as an i686 package (the amd64 package only has documentation).
-  When unpacked, it has a script called <filename>steam</filename> that
-  in ubuntu (their target distro) would go to <filename>/usr/bin
-  </filename>. When run for the first time, this script copies some
-  files to the user's home, which include another script that is the
-  ultimate responsible for launching the steam binary, which is also
-  in $HOME.
-</para>
-<para>
-  Nix problems and constraints:
-<itemizedlist>
-  <listitem><para>We don't have <filename>/bin/bash</filename> and many
-  scripts point there. Similarly for <filename>/usr/bin/python</filename>
-  .</para></listitem>
-  <listitem><para>We don't have the dynamic loader in <filename>/lib
-  </filename>.</para></listitem>
-  <listitem><para>The <filename>steam.sh</filename> script in $HOME can
-  not be patched, as it is checked and rewritten by steam.</para></listitem>
-  <listitem><para>The steam binary cannot be patched, it's also checked.</para></listitem>
-</itemizedlist>
-</para>
-<para>
-  The current approach to deploy Steam in NixOS is composing a FHS-compatible
-  chroot environment, as documented
-  <link xlink:href="http://sandervanderburg.blogspot.nl/2013/09/composing-fhs-compatible-chroot.html">here</link>.
-  This allows us to have binaries in the expected paths without disrupting the system,
-  and to avoid patching them to work in a non FHS environment.
-</para>
-
-</section>
-
-<section xml:id="sec-steam-play">
-
-<title>How to play</title>
-
-<para>
-  For 64-bit systems it's important to have
-  <programlisting>hardware.opengl.driSupport32Bit = true;</programlisting>
-  in your <filename>/etc/nixos/configuration.nix</filename>. You'll also need
-  <programlisting>hardware.pulseaudio.support32Bit = true;</programlisting>
-  if you are using PulseAudio - this will enable 32bit ALSA apps integration.
-  To use the Steam controller, you need to add
-  <programlisting>services.udev.extraRules = ''
+  </para>
+ </section>
+ <section xml:id="sec-steam">
+  <title>Steam</title>
+
+  <section xml:id="sec-steam-nix">
+   <title>Steam in Nix</title>
+
+   <para>
+    Steam is distributed as a <filename>.deb</filename> file, for now only as
+    an i686 package (the amd64 package only has documentation). When unpacked,
+    it has a script called <filename>steam</filename> that in ubuntu (their
+    target distro) would go to <filename>/usr/bin </filename>. When run for the
+    first time, this script copies some files to the user's home, which include
+    another script that is the ultimate responsible for launching the steam
+    binary, which is also in $HOME.
+   </para>
+
+   <para>
+    Nix problems and constraints:
+    <itemizedlist>
+     <listitem>
+      <para>
+       We don't have <filename>/bin/bash</filename> and many scripts point
+       there. Similarly for <filename>/usr/bin/python</filename> .
+      </para>
+     </listitem>
+     <listitem>
+      <para>
+       We don't have the dynamic loader in <filename>/lib </filename>.
+      </para>
+     </listitem>
+     <listitem>
+      <para>
+       The <filename>steam.sh</filename> script in $HOME can not be patched, as
+       it is checked and rewritten by steam.
+      </para>
+     </listitem>
+     <listitem>
+      <para>
+       The steam binary cannot be patched, it's also checked.
+      </para>
+     </listitem>
+    </itemizedlist>
+   </para>
+
+   <para>
+    The current approach to deploy Steam in NixOS is composing a FHS-compatible
+    chroot environment, as documented
+    <link xlink:href="http://sandervanderburg.blogspot.nl/2013/09/composing-fhs-compatible-chroot.html">here</link>.
+    This allows us to have binaries in the expected paths without disrupting
+    the system, and to avoid patching them to work in a non FHS environment.
+   </para>
+  </section>
+
+  <section xml:id="sec-steam-play">
+   <title>How to play</title>
+
+   <para>
+    For 64-bit systems it's important to have
+<programlisting>hardware.opengl.driSupport32Bit = true;</programlisting>
+    in your <filename>/etc/nixos/configuration.nix</filename>. You'll also need
+<programlisting>hardware.pulseaudio.support32Bit = true;</programlisting>
+    if you are using PulseAudio - this will enable 32bit ALSA apps integration.
+    To use the Steam controller, you need to add
+<programlisting>services.udev.extraRules = ''
     SUBSYSTEM=="usb", ATTRS{idVendor}=="28de", MODE="0666"
     KERNEL=="uinput", MODE="0660", GROUP="users", OPTIONS+="static_node=uinput"
   '';</programlisting>
-  to your configuration.
-</para>
-
-</section>
-
-<section xml:id="sec-steam-troub">
-
-<title>Troubleshooting</title>
-
-<para>
-<variablelist>
-
-  <varlistentry>
-    <term>Steam fails to start. What do I do?</term>
-    <listitem><para>Try to run
-    <programlisting>strace steam</programlisting>
-    to see what is causing steam to fail.</para></listitem>
-  </varlistentry>
-
-  <varlistentry>
-  <term>Using the FOSS Radeon or nouveau (nvidia) drivers</term>
-  <listitem><itemizedlist>
-    <listitem><para>The <literal>newStdcpp</literal> parameter
-    was removed since NixOS 17.09 and should not be needed anymore.
-    </para></listitem>
-
-    <listitem><para>
-    Steam ships statically linked with a version of libcrypto that
-    conflics with the one dynamically loaded by radeonsi_dri.so.
-    If you get the error
-    <programlisting>steam.sh: line 713: 7842 Segmentation fault (core dumped)</programlisting>
-    have a look at <link xlink:href="https://github.com/NixOS/nixpkgs/pull/20269">this pull request</link>.
-    </para></listitem>
-
-  </itemizedlist></listitem></varlistentry>
-
-  <varlistentry>
-  <term>Java</term>
-  <listitem><orderedlist>
-  <listitem><para>
-  There is no java in steam chrootenv by default. If you get a message like
-  <programlisting>/home/foo/.local/share/Steam/SteamApps/common/towns/towns.sh: line 1: java: command not found</programlisting>
-  You need to add
-  <programlisting> steam.override { withJava = true; };</programlisting>
-  to your configuration.
-  </para></listitem>
-  </orderedlist></listitem></varlistentry>
-
-</variablelist>
-</para>
-
-</section>
-
-<section xml:id="sec-steam-run">
-
-<title>steam-run</title>
-<para>
-The FHS-compatible chroot used for steam can also be used to run
-other linux games that expect a FHS environment.
-To do it, add
+    to your configuration.
+   </para>
+  </section>
+
+  <section xml:id="sec-steam-troub">
+   <title>Troubleshooting</title>
+
+   <para>
+    <variablelist>
+     <varlistentry>
+      <term>Steam fails to start. What do I do?</term>
+      <listitem>
+       <para>
+        Try to run
+<programlisting>strace steam</programlisting>
+        to see what is causing steam to fail.
+       </para>
+      </listitem>
+     </varlistentry>
+     <varlistentry>
+      <term>Using the FOSS Radeon or nouveau (nvidia) drivers</term>
+      <listitem>
+       <itemizedlist>
+        <listitem>
+         <para>
+          The <literal>newStdcpp</literal> parameter was removed since NixOS
+          17.09 and should not be needed anymore.
+         </para>
+        </listitem>
+        <listitem>
+         <para>
+          Steam ships statically linked with a version of libcrypto that
+          conflics with the one dynamically loaded by radeonsi_dri.so. If you
+          get the error
+<programlisting>steam.sh: line 713: 7842 Segmentation fault (core dumped)</programlisting>
+          have a look at
+          <link xlink:href="https://github.com/NixOS/nixpkgs/pull/20269">this
+          pull request</link>.
+         </para>
+        </listitem>
+       </itemizedlist>
+      </listitem>
+     </varlistentry>
+     <varlistentry>
+      <term>Java</term>
+      <listitem>
+       <orderedlist>
+        <listitem>
+         <para>
+          There is no java in steam chrootenv by default. If you get a message
+          like
+<programlisting>/home/foo/.local/share/Steam/SteamApps/common/towns/towns.sh: line 1: java: command not found</programlisting>
+          You need to add
+<programlisting> steam.override { withJava = true; };</programlisting>
+          to your configuration.
+         </para>
+        </listitem>
+       </orderedlist>
+      </listitem>
+     </varlistentry>
+    </variablelist>
+   </para>
+  </section>
+
+  <section xml:id="sec-steam-run">
+   <title>steam-run</title>
+
+   <para>
+    The FHS-compatible chroot used for steam can also be used to run other
+    linux games that expect a FHS environment. To do it, add
 <programlisting>pkgs.(steam.override {
           nativeOnly = true;
           newStdcpp = true;
         }).run</programlisting>
-to your configuration, rebuild, and run the game with
+    to your configuration, rebuild, and run the game with
 <programlisting>steam-run ./foo</programlisting>
-</para>
-
-</section>
-
-</section>
-
-<section xml:id="sec-emacs">
-
-<title>Emacs</title>
-
-<section xml:id="sec-emacs-config">
-
-<title>Configuring Emacs</title>
-
-<para>
-  The Emacs package comes with some extra helpers to make it easier to
-  configure. <varname>emacsWithPackages</varname> allows you to manage
-  packages from ELPA. This means that you will not have to install
-  that packages from within Emacs. For instance, if you wanted to use
-  <literal>company</literal>, <literal>counsel</literal>,
-  <literal>flycheck</literal>, <literal>ivy</literal>,
-  <literal>magit</literal>, <literal>projectile</literal>, and
-  <literal>use-package</literal> you could use this as a
-  <filename>~/.config/nixpkgs/config.nix</filename> override:
-</para>
+   </para>
+  </section>
+ </section>
+ <section xml:id="sec-emacs">
+  <title>Emacs</title>
+
+  <section xml:id="sec-emacs-config">
+   <title>Configuring Emacs</title>
+
+   <para>
+    The Emacs package comes with some extra helpers to make it easier to
+    configure. <varname>emacsWithPackages</varname> allows you to manage
+    packages from ELPA. This means that you will not have to install that
+    packages from within Emacs. For instance, if you wanted to use
+    <literal>company</literal>, <literal>counsel</literal>,
+    <literal>flycheck</literal>, <literal>ivy</literal>,
+    <literal>magit</literal>, <literal>projectile</literal>, and
+    <literal>use-package</literal> you could use this as a
+    <filename>~/.config/nixpkgs/config.nix</filename> override:
+   </para>
 
 <screen>
 {
@@ -564,17 +531,17 @@ to your configuration, rebuild, and run the game with
 }
 </screen>
 
-<para>
-  You can install it like any other packages via <command>nix-env -iA
-  myEmacs</command>. However, this will only install those packages.
-  It will not <literal>configure</literal> them for us. To do this, we
-  need to provide a configuration file. Luckily, it is possible to do
-  this from within Nix! By modifying the above example, we can make
-  Emacs load a custom config file. The key is to create a package that
-  provide a <filename>default.el</filename> file in
-  <filename>/share/emacs/site-start/</filename>. Emacs knows to load
-  this file automatically when it starts.
-</para>
+   <para>
+    You can install it like any other packages via <command>nix-env -iA
+    myEmacs</command>. However, this will only install those packages. It will
+    not <literal>configure</literal> them for us. To do this, we need to
+    provide a configuration file. Luckily, it is possible to do this from
+    within Nix! By modifying the above example, we can make Emacs load a custom
+    config file. The key is to create a package that provide a
+    <filename>default.el</filename> file in
+    <filename>/share/emacs/site-start/</filename>. Emacs knows to load this
+    file automatically when it starts.
+   </para>
 
 <screen>
 {
@@ -654,25 +621,24 @@ cp ${myEmacsConfig} $out/share/emacs/site-lisp/default.el
 }
 </screen>
 
-<para>
-  This provides a fairly full Emacs start file. It will load in
-  addition to the user's presonal config. You can always disable it by
-  passing <command>-q</command> to the Emacs command.
-</para>
-
-<para>
-  Sometimes <varname>emacsWithPackages</varname> is not enough, as
-  this package set has some priorities imposed on packages (with
-  the lowest priority assigned to Melpa Unstable, and the highest for
-  packages manually defined in
-  <filename>pkgs/top-level/emacs-packages.nix</filename>). But you
-  can't control this priorities when some package is installed as a
-  dependency. You can override it on per-package-basis, providing all
-  the required dependencies manually - but it's tedious and there is
-  always a possibility that an unwanted dependency will sneak in
-  through some other package. To completely override such a package
-  you can use <varname>overrideScope</varname>.
-</para>
+   <para>
+    This provides a fairly full Emacs start file. It will load in addition to
+    the user's presonal config. You can always disable it by passing
+    <command>-q</command> to the Emacs command.
+   </para>
+
+   <para>
+    Sometimes <varname>emacsWithPackages</varname> is not enough, as this
+    package set has some priorities imposed on packages (with the lowest
+    priority assigned to Melpa Unstable, and the highest for packages manually
+    defined in <filename>pkgs/top-level/emacs-packages.nix</filename>). But you
+    can't control this priorities when some package is installed as a
+    dependency. You can override it on per-package-basis, providing all the
+    required dependencies manually - but it's tedious and there is always a
+    possibility that an unwanted dependency will sneak in through some other
+    package. To completely override such a package you can use
+    <varname>overrideScope</varname>.
+   </para>
 
 <screen>
 overrides = super: self: rec {
@@ -685,41 +651,52 @@ overrides = super: self: rec {
   dante
 ])
 </screen>
+  </section>
+ </section>
+ <section xml:id="sec-weechat">
+  <title>Weechat</title>
 
-</section>
-
-</section>
-
-<section xml:id="sec-weechat">
-<title>Weechat</title>
-<para>
-Weechat can be configured to include your choice of plugins, reducing its
-closure size from the default configuration which includes all available
-plugins.  To make use of this functionality, install an expression that
-overrides its configuration such as
+  <para>
+   Weechat can be configured to include your choice of plugins, reducing its
+   closure size from the default configuration which includes all available
+   plugins. To make use of this functionality, install an expression that
+   overrides its configuration such as
 <programlisting>weechat.override {configure = {availablePlugins, ...}: {
     plugins = with availablePlugins; [ python perl ];
   }
 }</programlisting>
-</para>
-<para>
-The plugins currently available are <literal>python</literal>,
-<literal>perl</literal>, <literal>ruby</literal>, <literal>guile</literal>,
-<literal>tcl</literal> and <literal>lua</literal>.
-</para>
-<para>
-The python plugin allows the addition of extra libraries. For instance,
-the <literal>inotify.py</literal> script in weechat-scripts requires
-D-Bus or libnotify, and the <literal>fish.py</literal> script requires
-pycrypto. To use these scripts, use the <literal>python</literal>
-plugin's <literal>withPackages</literal> attribute:
-<programlisting>weechat.override {configure = {availablePlugins, ...}: {
+  </para>
+
+  <para>
+   The plugins currently available are <literal>python</literal>,
+   <literal>perl</literal>, <literal>ruby</literal>, <literal>guile</literal>,
+   <literal>tcl</literal> and <literal>lua</literal>.
+  </para>
+
+  <para>
+   The python plugin allows the addition of extra libraries. For instance, the
+   <literal>inotify.py</literal> script in weechat-scripts requires D-Bus or
+   libnotify, and the <literal>fish.py</literal> script requires pycrypto. To
+   use these scripts, use the <literal>python</literal> plugin's
+   <literal>withPackages</literal> attribute:
+<programlisting>weechat.override { configure = {availablePlugins, ...}: {
     plugins = with availablePlugins; [
             (python.withPackages (ps: with ps; [ pycrypto python-dbus ]))
         ];
     }
 }
 </programlisting>
-</para>
-</section>
+  </para>
+
+  <para>
+   In order to also keep all default plugins installed, it is possible to use
+   the following method:
+<programlisting>weechat.override { configure = { availablePlugins, ... }: {
+  plugins = builtins.attrValues (availablePlugins // {
+    python = availablePlugins.python.withPackages (ps: with ps; [ pycrypto python-dbus ]);
+  });
+}; }
+</programlisting>
+  </para>
+ </section>
 </chapter>
diff --git a/doc/platform-notes.xml b/doc/platform-notes.xml
index f4f6ec60029..b2c20c2d35c 100644
--- a/doc/platform-notes.xml
+++ b/doc/platform-notes.xml
@@ -1,27 +1,25 @@
 <chapter xmlns="http://docbook.org/ns/docbook"
          xmlns:xlink="http://www.w3.org/1999/xlink"
          xml:id="chap-platform-nodes">
+ <title>Platform Notes</title>
+ <section xml:id="sec-darwin">
+  <title>Darwin (macOS)</title>
 
-<title>Platform Notes</title>
+  <para>
+   Some common issues when packaging software for darwin:
+  </para>
 
-<section xml:id="sec-darwin">
-
-<title>Darwin (macOS)</title>
-<para>Some common issues when packaging software for darwin:</para>
-
-<itemizedlist>
-
-  <listitem>
+  <itemizedlist>
+   <listitem>
     <para>
-      The darwin <literal>stdenv</literal> uses clang instead of gcc.
-      When referring to the compiler <varname>$CC</varname> or <command>cc</command>
-      will work in both cases.  Some builds hardcode gcc/g++ in their
-      build scripts, that can usually be fixed with using something
-      like <literal>makeFlags = [ "CC=cc" ];</literal> or by patching
-      the build scripts.
+     The darwin <literal>stdenv</literal> uses clang instead of gcc. When
+     referring to the compiler <varname>$CC</varname> or <command>cc</command>
+     will work in both cases. Some builds hardcode gcc/g++ in their build
+     scripts, that can usually be fixed with using something like
+     <literal>makeFlags = [ "CC=cc" ];</literal> or by patching the build
+     scripts.
     </para>
-
-    <programlisting>
+<programlisting>
       stdenv.mkDerivation {
         name = "libfoo-1.2.3";
         # ...
@@ -30,36 +28,33 @@
         '';
       }
     </programlisting>
-  </listitem>
-
-  <listitem>
+   </listitem>
+   <listitem>
     <para>
-      On darwin libraries are linked using absolute paths, libraries
-      are resolved by their <literal>install_name</literal> at link
-      time.  Sometimes packages won't set this correctly causing the
-      library lookups to fail at runtime.  This can be fixed by adding
-      extra linker flags or by running <command>install_name_tool -id</command>
-      during the <function>fixupPhase</function>.
+     On darwin libraries are linked using absolute paths, libraries are
+     resolved by their <literal>install_name</literal> at link time. Sometimes
+     packages won't set this correctly causing the library lookups to fail at
+     runtime. This can be fixed by adding extra linker flags or by running
+     <command>install_name_tool -id</command> during the
+     <function>fixupPhase</function>.
     </para>
-
-    <programlisting>
+<programlisting>
       stdenv.mkDerivation {
         name = "libfoo-1.2.3";
         # ...
         makeFlags = stdenv.lib.optional stdenv.isDarwin "LDFLAGS=-Wl,-install_name,$(out)/lib/libfoo.dylib";
       }
     </programlisting>
-  </listitem>
-
-  <listitem>
+   </listitem>
+   <listitem>
     <para>
-      Some packages assume xcode is available and use <command>xcrun</command>
-      to resolve build tools like <command>clang</command>, etc.
-      This causes errors like <code>xcode-select: error: no developer tools were found at '/Applications/Xcode.app'</code>
-      while the build doesn't actually depend on xcode.
+     Some packages assume xcode is available and use <command>xcrun</command>
+     to resolve build tools like <command>clang</command>, etc. This causes
+     errors like <code>xcode-select: error: no developer tools were found at
+     '/Applications/Xcode.app'</code> while the build doesn't actually depend
+     on xcode.
     </para>
-
-    <programlisting>
+<programlisting>
       stdenv.mkDerivation {
         name = "libfoo-1.2.3";
         # ...
@@ -69,15 +64,12 @@
         '';
       }
     </programlisting>
-
     <para>
-      The package <literal>xcbuild</literal> can be used to build projects
-      that really depend on Xcode, however projects that build some kind of
-      graphical interface won't work without using Xcode in an impure way.
+     The package <literal>xcbuild</literal> can be used to build projects that
+     really depend on Xcode, however projects that build some kind of graphical
+     interface won't work without using Xcode in an impure way.
     </para>
-  </listitem>
-
-</itemizedlist>
-</section>
-
+   </listitem>
+  </itemizedlist>
+ </section>
 </chapter>
diff --git a/doc/quick-start.xml b/doc/quick-start.xml
index ca86e6c9519..0cba3a4769c 100644
--- a/doc/quick-start.xml
+++ b/doc/quick-start.xml
@@ -1,223 +1,219 @@
 <chapter xmlns="http://docbook.org/ns/docbook"
          xmlns:xlink="http://www.w3.org/1999/xlink"
          xml:id="chap-quick-start">
-
-<title>Quick Start to Adding a Package</title>
-
-<para>To add a package to Nixpkgs:
-
-<orderedlist>
-
-  <listitem>
-    <para>Checkout the Nixpkgs source tree:
-
+ <title>Quick Start to Adding a Package</title>
+ <para>
+  To add a package to Nixpkgs:
+  <orderedlist>
+   <listitem>
+    <para>
+     Checkout the Nixpkgs source tree:
 <screen>
 $ git clone git://github.com/NixOS/nixpkgs.git 
 $ cd nixpkgs</screen>
-
     </para>
-  </listitem>
-
-  <listitem>
-    <para>Find a good place in the Nixpkgs tree to add the Nix
-    expression for your package.  For instance, a library package
-    typically goes into
-    <filename>pkgs/development/libraries/<replaceable>pkgname</replaceable></filename>,
-    while a web browser goes into
-    <filename>pkgs/applications/networking/browsers/<replaceable>pkgname</replaceable></filename>.
-    See <xref linkend="sec-organisation" /> for some hints on the tree
-    organisation.  Create a directory for your package, e.g.
-
+   </listitem>
+   <listitem>
+    <para>
+     Find a good place in the Nixpkgs tree to add the Nix expression for your
+     package. For instance, a library package typically goes into
+     <filename>pkgs/development/libraries/<replaceable>pkgname</replaceable></filename>,
+     while a web browser goes into
+     <filename>pkgs/applications/networking/browsers/<replaceable>pkgname</replaceable></filename>.
+     See <xref linkend="sec-organisation" /> for some hints on the tree
+     organisation. Create a directory for your package, e.g.
 <screen>
 $ mkdir pkgs/development/libraries/libfoo</screen>
-  
     </para>
-  </listitem>
-
-  <listitem>
-    <para>In the package directory, create a Nix expression — a piece
-    of code that describes how to build the package.  In this case, it
-    should be a <emphasis>function</emphasis> that is called with the
-    package dependencies as arguments, and returns a build of the
-    package in the Nix store.  The expression should usually be called
-    <filename>default.nix</filename>.
-
+   </listitem>
+   <listitem>
+    <para>
+     In the package directory, create a Nix expression — a piece of code that
+     describes how to build the package. In this case, it should be a
+     <emphasis>function</emphasis> that is called with the package dependencies
+     as arguments, and returns a build of the package in the Nix store. The
+     expression should usually be called <filename>default.nix</filename>.
 <screen>
 $ emacs pkgs/development/libraries/libfoo/default.nix
 $ git add pkgs/development/libraries/libfoo/default.nix</screen>
-
     </para>
-
-    <para>You can have a look at the existing Nix expressions under
-    <filename>pkgs/</filename> to see how it’s done.  Here are some
-    good ones:
-
-      <itemizedlist>
-
-        <listitem>
-          <para>GNU Hello: <link
+    <para>
+     You can have a look at the existing Nix expressions under
+     <filename>pkgs/</filename> to see how it’s done. Here are some good
+     ones:
+     <itemizedlist>
+      <listitem>
+       <para>
+        GNU Hello:
+        <link
           xlink:href="https://github.com/NixOS/nixpkgs/blob/master/pkgs/applications/misc/hello/default.nix"><filename>pkgs/applications/misc/hello/default.nix</filename></link>.
-          Trivial package, which specifies some <varname>meta</varname>
-          attributes which is good practice.</para>
-        </listitem>
-
-        <listitem>
-          <para>GNU cpio: <link
+        Trivial package, which specifies some <varname>meta</varname>
+        attributes which is good practice.
+       </para>
+      </listitem>
+      <listitem>
+       <para>
+        GNU cpio:
+        <link
           xlink:href="https://github.com/NixOS/nixpkgs/blob/master/pkgs/tools/archivers/cpio/default.nix"><filename>pkgs/tools/archivers/cpio/default.nix</filename></link>.
-          Also a simple package. The generic builder in
-          <varname>stdenv</varname> does everything for you. It has
-          no dependencies beyond <varname>stdenv</varname>.</para>
-        </listitem>
-
-        <listitem>
-          <para>GNU Multiple Precision arithmetic library (GMP): <link
+        Also a simple package. The generic builder in <varname>stdenv</varname>
+        does everything for you. It has no dependencies beyond
+        <varname>stdenv</varname>.
+       </para>
+      </listitem>
+      <listitem>
+       <para>
+        GNU Multiple Precision arithmetic library (GMP):
+        <link
           xlink:href="https://github.com/NixOS/nixpkgs/blob/master/pkgs/development/libraries/gmp/5.1.x.nix"><filename>pkgs/development/libraries/gmp/5.1.x.nix</filename></link>.
-          Also done by the generic builder, but has a dependency on
-          <varname>m4</varname>.</para>
-        </listitem>
-
-        <listitem>
-          <para>Pan, a GTK-based newsreader: <link
+        Also done by the generic builder, but has a dependency on
+        <varname>m4</varname>.
+       </para>
+      </listitem>
+      <listitem>
+       <para>
+        Pan, a GTK-based newsreader:
+        <link
           xlink:href="https://github.com/NixOS/nixpkgs/blob/master/pkgs/applications/networking/newsreaders/pan/default.nix"><filename>pkgs/applications/networking/newsreaders/pan/default.nix</filename></link>.
-          Has an optional dependency on <varname>gtkspell</varname>,
-          which is only built if <varname>spellCheck</varname> is
-          <literal>true</literal>.</para>
-        </listitem>
-
-        <listitem>
-          <para>Apache HTTPD: <link
+        Has an optional dependency on <varname>gtkspell</varname>, which is
+        only built if <varname>spellCheck</varname> is <literal>true</literal>.
+       </para>
+      </listitem>
+      <listitem>
+       <para>
+        Apache HTTPD:
+        <link
           xlink:href="https://github.com/NixOS/nixpkgs/blob/master/pkgs/servers/http/apache-httpd/2.4.nix"><filename>pkgs/servers/http/apache-httpd/2.4.nix</filename></link>.
-          A bunch of optional features, variable substitutions in the
-          configure flags, a post-install hook, and miscellaneous
-          hackery.</para>
-        </listitem>
-
-        <listitem>
-          <para>Thunderbird: <link
+        A bunch of optional features, variable substitutions in the configure
+        flags, a post-install hook, and miscellaneous hackery.
+       </para>
+      </listitem>
+      <listitem>
+       <para>
+        Thunderbird:
+        <link
           xlink:href="https://github.com/NixOS/nixpkgs/blob/master/pkgs/applications/networking/mailreaders/thunderbird/default.nix"><filename>pkgs/applications/networking/mailreaders/thunderbird/default.nix</filename></link>.
-          Lots of dependencies.</para>
-        </listitem>
-
-        <listitem>
-          <para>JDiskReport, a Java utility: <link
+        Lots of dependencies.
+       </para>
+      </listitem>
+      <listitem>
+       <para>
+        JDiskReport, a Java utility:
+        <link
           xlink:href="https://github.com/NixOS/nixpkgs/blob/master/pkgs/tools/misc/jdiskreport/default.nix"><filename>pkgs/tools/misc/jdiskreport/default.nix</filename></link>
-          (and the <link
+        (and the
+        <link
           xlink:href="https://github.com/NixOS/nixpkgs/blob/master/pkgs/tools/misc/jdiskreport/builder.sh">builder</link>).
-          Nixpkgs doesn’t have a decent <varname>stdenv</varname> for
-          Java yet so this is pretty ad-hoc.</para>
-        </listitem>
-
-        <listitem>
-          <para>XML::Simple, a Perl module: <link
+        Nixpkgs doesn’t have a decent <varname>stdenv</varname> for Java yet
+        so this is pretty ad-hoc.
+       </para>
+      </listitem>
+      <listitem>
+       <para>
+        XML::Simple, a Perl module:
+        <link
           xlink:href="https://github.com/NixOS/nixpkgs/blob/master/pkgs/top-level/perl-packages.nix"><filename>pkgs/top-level/perl-packages.nix</filename></link>
-          (search for the <varname>XMLSimple</varname> attribute).
-          Most Perl modules are so simple to build that they are
-          defined directly in <filename>perl-packages.nix</filename>;
-          no need to make a separate file for them.</para>
-        </listitem>
-
-        <listitem>
-          <para>Adobe Reader: <link
+        (search for the <varname>XMLSimple</varname> attribute). Most Perl
+        modules are so simple to build that they are defined directly in
+        <filename>perl-packages.nix</filename>; no need to make a separate file
+        for them.
+       </para>
+      </listitem>
+      <listitem>
+       <para>
+        Adobe Reader:
+        <link
           xlink:href="https://github.com/NixOS/nixpkgs/blob/master/pkgs/applications/misc/adobe-reader/default.nix"><filename>pkgs/applications/misc/adobe-reader/default.nix</filename></link>.
-          Shows how binary-only packages can be supported.  In
-          particular the <link
+        Shows how binary-only packages can be supported. In particular the
+        <link
           xlink:href="https://github.com/NixOS/nixpkgs/blob/master/pkgs/applications/misc/adobe-reader/builder.sh">builder</link>
-          uses <command>patchelf</command> to set the RUNPATH and ELF
-          interpreter of the executables so that the right libraries
-          are found at runtime.</para>
-        </listitem>
-
-      </itemizedlist>
-
+        uses <command>patchelf</command> to set the RUNPATH and ELF interpreter
+        of the executables so that the right libraries are found at runtime.
+       </para>
+      </listitem>
+     </itemizedlist>
     </para>
-
-    <para>Some notes:
-
-      <itemizedlist>
-
-        <listitem>
-          <para>All <varname linkend="chap-meta">meta</varname>
-          attributes are optional, but it’s still a good idea to
-          provide at least the <varname>description</varname>,
-          <varname>homepage</varname> and <varname
-          linkend="sec-meta-license">license</varname>.</para>
-        </listitem>
-
-        <listitem>
-          <para>You can use <command>nix-prefetch-url</command> (or similar nix-prefetch-git, etc)
-          <replaceable>url</replaceable> to get the SHA-256 hash of
-          source distributions. There are similar commands as <command>nix-prefetch-git</command> and
-          <command>nix-prefetch-hg</command> available in <literal>nix-prefetch-scripts</literal> package.</para>
-        </listitem>
-
-        <listitem>
-          <para>A list of schemes for <literal>mirror://</literal>
-          URLs can be found in <link
-          xlink:href="https://github.com/NixOS/nixpkgs/blob/master/pkgs/build-support/fetchurl/mirrors.nix"><filename>pkgs/build-support/fetchurl/mirrors.nix</filename></link>.</para>
-        </listitem>
-
-      </itemizedlist>
-
+    <para>
+     Some notes:
+     <itemizedlist>
+      <listitem>
+       <para>
+        All <varname linkend="chap-meta">meta</varname> attributes are
+        optional, but it’s still a good idea to provide at least the
+        <varname>description</varname>, <varname>homepage</varname> and
+        <varname
+          linkend="sec-meta-license">license</varname>.
+       </para>
+      </listitem>
+      <listitem>
+       <para>
+        You can use <command>nix-prefetch-url</command> (or similar
+        nix-prefetch-git, etc) <replaceable>url</replaceable> to get the
+        SHA-256 hash of source distributions. There are similar commands as
+        <command>nix-prefetch-git</command> and
+        <command>nix-prefetch-hg</command> available in
+        <literal>nix-prefetch-scripts</literal> package.
+       </para>
+      </listitem>
+      <listitem>
+       <para>
+        A list of schemes for <literal>mirror://</literal> URLs can be found in
+        <link
+          xlink:href="https://github.com/NixOS/nixpkgs/blob/master/pkgs/build-support/fetchurl/mirrors.nix"><filename>pkgs/build-support/fetchurl/mirrors.nix</filename></link>.
+       </para>
+      </listitem>
+     </itemizedlist>
     </para>
-
-    <para>The exact syntax and semantics of the Nix expression
-    language, including the built-in function, are described in the
-    Nix manual in the <link
+    <para>
+     The exact syntax and semantics of the Nix expression language, including
+     the built-in function, are described in the Nix manual in the
+     <link
     xlink:href="http://hydra.nixos.org/job/nix/trunk/tarball/latest/download-by-type/doc/manual/#chap-writing-nix-expressions">chapter
-    on writing Nix expressions</link>.</para>
-    
-  </listitem>
-
-  <listitem>
-    <para>Add a call to the function defined in the previous step to
-    <link
+     on writing Nix expressions</link>.
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     Add a call to the function defined in the previous step to
+     <link
     xlink:href="https://github.com/NixOS/nixpkgs/blob/master/pkgs/top-level/all-packages.nix"><filename>pkgs/top-level/all-packages.nix</filename></link>
-    with some descriptive name for the variable,
-    e.g. <varname>libfoo</varname>.
-
-    <screen>
+     with some descriptive name for the variable, e.g.
+     <varname>libfoo</varname>.
+<screen>
 $ emacs pkgs/top-level/all-packages.nix</screen>
-      
     </para>
-
-    <para>The attributes in that file are sorted by category (like
-    “Development / Libraries”) that more-or-less correspond to the
-    directory structure of Nixpkgs, and then by attribute name.</para>
-  </listitem>
-
-  <listitem>
-    <para>To test whether the package builds, run the following command
-    from the root of the nixpkgs source tree:
-
-    <screen>
+    <para>
+     The attributes in that file are sorted by category (like “Development /
+     Libraries”) that more-or-less correspond to the directory structure of
+     Nixpkgs, and then by attribute name.
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     To test whether the package builds, run the following command from the
+     root of the nixpkgs source tree:
+<screen>
 $ nix-build -A libfoo</screen>
-
-    where <varname>libfoo</varname> should be the variable name
-    defined in the previous step.  You may want to add the flag
-    <option>-K</option> to keep the temporary build directory in case
-    something fails.  If the build succeeds, a symlink
-    <filename>./result</filename> to the package in the Nix store is
-    created.</para>
-  </listitem>
-
-  <listitem>
-    <para>If you want to install the package into your profile
-    (optional), do
-
-    <screen>
+     where <varname>libfoo</varname> should be the variable name defined in the
+     previous step. You may want to add the flag <option>-K</option> to keep
+     the temporary build directory in case something fails. If the build
+     succeeds, a symlink <filename>./result</filename> to the package in the
+     Nix store is created.
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     If you want to install the package into your profile (optional), do
+<screen>
 $ nix-env -f . -iA libfoo</screen>
-
     </para>
-  </listitem>
-
-  <listitem>
-    <para>Optionally commit the new package and open a pull request, or send a patch to
-    <literal>https://groups.google.com/forum/#!forum/nix-devel</literal>.</para>
-  </listitem>
-
-
-</orderedlist>
-
-</para>
-
+   </listitem>
+   <listitem>
+    <para>
+     Optionally commit the new package and open a pull request, or send a patch
+     to <literal>https://groups.google.com/forum/#!forum/nix-devel</literal>.
+    </para>
+   </listitem>
+  </orderedlist>
+ </para>
 </chapter>
diff --git a/doc/release-notes.xml b/doc/release-notes.xml
index a50ee877acd..6dae6ae5620 100644
--- a/doc/release-notes.xml
+++ b/doc/release-notes.xml
@@ -1,164 +1,177 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <article xmlns="http://docbook.org/ns/docbook"
          xmlns:xlink="http://www.w3.org/1999/xlink">
+ <title>Nixpkgs Release Notes</title>
+ <section>
+  <title>Release 0.14 (June 4, 2012)</title>
+
+  <para>
+   In preparation for the switch from Subversion to Git, this release is mainly
+   the prevent the Nixpkgs version number from going backwards. (This would
+   happen because prerelease version numbers produced for the Git repository
+   are lower than those for the Subversion repository.)
+  </para>
 
-<title>Nixpkgs Release Notes</title>
-
-
-<section><title>Release 0.14 (June 4, 2012)</title>
-
-<para>In preparation for the switch from Subversion to Git, this
-release is mainly the prevent the Nixpkgs version number from going
-backwards.  (This would happen because prerelease version numbers
-produced for the Git repository are lower than those for the
-Subversion repository.)</para>
-
-<para>Since the last release, there have been thousands of changes and
-new packages by numerous contributors.  For details, see the commit
-logs.</para>
-
-</section>
-
-
-<section><title>Release 0.13 (February 5, 2010)</title>
-
-<para>As always, there are many changes.  Some of the most important
-updates are:
-
-<itemizedlist>
-
-  <listitem><para>Glibc 2.9.</para></listitem>
-
-  <listitem><para>GCC 4.3.3.</para></listitem>
-
-  <listitem><para>Linux 2.6.32.</para></listitem>
-
-  <listitem><para>X.org 7.5.</para></listitem>
-
-  <listitem><para>KDE 4.3.4.</para></listitem>
-
-</itemizedlist>
-
-</para>
-
-
-</section>
-
-
-<section><title>Release 0.12 (April 24, 2009)</title>
-
-<para>There are way too many additions to Nixpkgs since the last
-release to list here: for example, the number of packages on Linux has
-increased from 1002 to 2159.  However, some specific improvements are
-worth listing:
-
-<itemizedlist>
-
-  <listitem><para>Nixpkgs now has a manual.  In particular, it
-  describes the standard build environment in
-  detail.</para></listitem>
-
-  <listitem><para>Major new packages:
-
-    <itemizedlist>
-
-      <listitem><para>KDE 4.</para></listitem>
-
-      <listitem><para>TeXLive.</para></listitem>
-
-      <listitem><para>VirtualBox.</para></listitem>
-
-    </itemizedlist>
-
-    … and many others.
-
-  </para></listitem>
-
-  <listitem><para>Important updates:
-
-    <itemizedlist>
-
-      <listitem><para>Glibc 2.7.</para></listitem>
-      
-      <listitem><para>GCC 4.2.4.</para></listitem>
-
-      <listitem><para>Linux 2.6.25 — 2.6.28.</para></listitem>
-
-      <listitem><para>Firefox 3.</para></listitem>
-
-      <listitem><para>X.org 7.3.</para></listitem>
-
-    </itemizedlist>
-
-  </para></listitem>
-
-  <listitem><para>Support for building derivations in a virtual
-  machine, including RPM and Debian builds in automatically generated
-  VM images.  See
-  <filename>pkgs/build-support/vm/default.nix</filename> for
-  details.</para></listitem>
-
-  <listitem><para>Improved support for building Haskell
-  packages.</para></listitem>
-  
-</itemizedlist>
-
-</para>
-
-<para>The following people contributed to this release:
-
-Andres Löh,
-Arie Middelkoop,
-Armijn Hemel,
-Eelco Dolstra,
-Lluís Batlle,
-Ludovic Courtès,
-Marc Weber,
-Mart Kolthof,
-Martin Bravenboer,
-Michael Raskin,
-Nicolas Pierron,
-Peter Simons,
-Pjotr Prins,
-Rob Vermaas,
-Sander van der Burg,
-Tobias Hammerschmidt,
-Valentin David,
-Wouter den Breejen and
-Yury G. Kudryashov.
-
-In addition, several people contributed patches on the
-<literal>nix-dev</literal> mailing list.</para>
-
-</section>
-  
-
-<section><title>Release 0.11 (September 11, 2007)</title>
-
-<para>This release has the following improvements:
-
-<itemizedlist>
-
-  
-  <listitem><para>The standard build environment
-  (<literal>stdenv</literal>) is now pure on the
-  <literal>x86_64-linux</literal> and <literal>powerpc-linux</literal>
-  platforms, just as on <literal>i686-linux</literal>.  (Purity means
-  that building and using the standard environment has no dependencies
-  outside of the Nix store.  For instance, it doesn’t require an
-  external C compiler such as <filename>/usr/bin/gcc</filename>.)
-  Also, the statically linked binaries used in the bootstrap process
-  are now automatically reproducible, making it easy to update the
-  bootstrap tools and to add support for other Linux platforms.  See
-  <filename>pkgs/stdenv/linux/make-bootstrap-tools.nix</filename> for
-  details.</para></listitem>
-
-  
-  <listitem><para>Hook variables in the generic builder are now
-  executed using the <function>eval</function> shell command.  This
-  has a major advantage: you can write hooks directly in Nix
-  expressions.  For instance, rather than writing a builder like this:
+  <para>
+   Since the last release, there have been thousands of changes and new
+   packages by numerous contributors. For details, see the commit logs.
+  </para>
+ </section>
+ <section>
+  <title>Release 0.13 (February 5, 2010)</title>
+
+  <para>
+   As always, there are many changes. Some of the most important updates are:
+   <itemizedlist>
+    <listitem>
+     <para>
+      Glibc 2.9.
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      GCC 4.3.3.
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      Linux 2.6.32.
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      X.org 7.5.
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      KDE 4.3.4.
+     </para>
+    </listitem>
+   </itemizedlist>
+  </para>
+ </section>
+ <section>
+  <title>Release 0.12 (April 24, 2009)</title>
+
+  <para>
+   There are way too many additions to Nixpkgs since the last release to list
+   here: for example, the number of packages on Linux has increased from 1002
+   to 2159. However, some specific improvements are worth listing:
+   <itemizedlist>
+    <listitem>
+     <para>
+      Nixpkgs now has a manual. In particular, it describes the standard build
+      environment in detail.
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      Major new packages:
+      <itemizedlist>
+       <listitem>
+        <para>
+         KDE 4.
+        </para>
+       </listitem>
+       <listitem>
+        <para>
+         TeXLive.
+        </para>
+       </listitem>
+       <listitem>
+        <para>
+         VirtualBox.
+        </para>
+       </listitem>
+      </itemizedlist>
+      … and many others.
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      Important updates:
+      <itemizedlist>
+       <listitem>
+        <para>
+         Glibc 2.7.
+        </para>
+       </listitem>
+       <listitem>
+        <para>
+         GCC 4.2.4.
+        </para>
+       </listitem>
+       <listitem>
+        <para>
+         Linux 2.6.25 — 2.6.28.
+        </para>
+       </listitem>
+       <listitem>
+        <para>
+         Firefox 3.
+        </para>
+       </listitem>
+       <listitem>
+        <para>
+         X.org 7.3.
+        </para>
+       </listitem>
+      </itemizedlist>
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      Support for building derivations in a virtual machine, including RPM and
+      Debian builds in automatically generated VM images. See
+      <filename>pkgs/build-support/vm/default.nix</filename> for details.
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      Improved support for building Haskell packages.
+     </para>
+    </listitem>
+   </itemizedlist>
+  </para>
 
+  <para>
+   The following people contributed to this release: Andres Löh, Arie
+   Middelkoop, Armijn Hemel, Eelco Dolstra, Lluís Batlle, Ludovic Courtès,
+   Marc Weber, Mart Kolthof, Martin Bravenboer, Michael Raskin, Nicolas
+   Pierron, Peter Simons, Pjotr Prins, Rob Vermaas, Sander van der Burg, Tobias
+   Hammerschmidt, Valentin David, Wouter den Breejen and Yury G. Kudryashov. In
+   addition, several people contributed patches on the
+   <literal>nix-dev</literal> mailing list.
+  </para>
+ </section>
+ <section>
+  <title>Release 0.11 (September 11, 2007)</title>
+
+  <para>
+   This release has the following improvements:
+   <itemizedlist>
+    <listitem>
+     <para>
+      The standard build environment (<literal>stdenv</literal>) is now pure on
+      the <literal>x86_64-linux</literal> and <literal>powerpc-linux</literal>
+      platforms, just as on <literal>i686-linux</literal>. (Purity means that
+      building and using the standard environment has no dependencies outside
+      of the Nix store. For instance, it doesn’t require an external C
+      compiler such as <filename>/usr/bin/gcc</filename>.) Also, the statically
+      linked binaries used in the bootstrap process are now automatically
+      reproducible, making it easy to update the bootstrap tools and to add
+      support for other Linux platforms. See
+      <filename>pkgs/stdenv/linux/make-bootstrap-tools.nix</filename> for
+      details.
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      Hook variables in the generic builder are now executed using the
+      <function>eval</function> shell command. This has a major advantage: you
+      can write hooks directly in Nix expressions. For instance, rather than
+      writing a builder like this:
 <programlisting>
 source $stdenv/setup
 
@@ -169,290 +182,311 @@ postInstall() {
 }
 
 genericBuild</programlisting>
-
-  (the <literal>gzip</literal> builder), you can just add this
-  attribute to the derivation:
-
+      (the <literal>gzip</literal> builder), you can just add this attribute to
+      the derivation:
 <programlisting>
 postInstall = "ln -sf gzip $out/bin/gunzip; ln -sf gzip $out/bin/zcat";</programlisting>
-
-  and so a separate build script becomes unnecessary.  This should
-  allow us to get rid of most builders in Nixpkgs.</para></listitem>
-
-
-  <listitem><para>It is now possible to have the generic builder pass
-  arguments to <command>configure</command> and
-  <command>make</command> that contain whitespace.  Previously, for
-  example, you could say in a builder,
-
+      and so a separate build script becomes unnecessary. This should allow us
+      to get rid of most builders in Nixpkgs.
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      It is now possible to have the generic builder pass arguments to
+      <command>configure</command> and <command>make</command> that contain
+      whitespace. Previously, for example, you could say in a builder,
 <programlisting>
 configureFlags="CFLAGS=-O0"</programlisting>
-
-  but not
-
+      but not
 <programlisting>
 configureFlags="CFLAGS=-O0 -g"</programlisting>
-
-  since the <literal>-g</literal> would be interpreted as a separate
-  argument to <command>configure</command>.  Now you can say
-
+      since the <literal>-g</literal> would be interpreted as a separate
+      argument to <command>configure</command>. Now you can say
 <programlisting>
 configureFlagsArray=("CFLAGS=-O0 -g")</programlisting>
-
-  or similarly
-
+      or similarly
 <programlisting>
 configureFlagsArray=("CFLAGS=-O0 -g" "LDFLAGS=-L/foo -L/bar")</programlisting>
-
-  which does the right thing.  Idem for <literal>makeFlags</literal>,
-  <literal>installFlags</literal>, <literal>checkFlags</literal> and
-  <literal>distFlags</literal>.</para>
-
-  <para>Unfortunately you can't pass arrays to Bash through the
-  environment, so you can't put the array above in a Nix expression,
-  e.g.,
-
+      which does the right thing. Idem for <literal>makeFlags</literal>,
+      <literal>installFlags</literal>, <literal>checkFlags</literal> and
+      <literal>distFlags</literal>.
+     </para>
+     <para>
+      Unfortunately you can't pass arrays to Bash through the environment, so
+      you can't put the array above in a Nix expression, e.g.,
 <programlisting>
 configureFlagsArray = ["CFLAGS=-O0 -g"];</programlisting>
-
-  since it would just be flattened to a since string.  However, you
-  <emphasis>can</emphasis> use the inline hooks described above:
-
+      since it would just be flattened to a since string. However, you
+      <emphasis>can</emphasis> use the inline hooks described above:
 <programlisting>
 preConfigure = "configureFlagsArray=(\"CFLAGS=-O0 -g\")";</programlisting>
-
-  </para></listitem>
-
-
-  <listitem><para>The function <function>fetchurl</function> now has
-  support for two different kinds of mirroring of files.  First, it
-  has support for <emphasis>content-addressable mirrors</emphasis>.
-  For example, given the <function>fetchurl</function> call
-
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      The function <function>fetchurl</function> now has support for two
+      different kinds of mirroring of files. First, it has support for
+      <emphasis>content-addressable mirrors</emphasis>. For example, given the
+      <function>fetchurl</function> call
 <programlisting>
 fetchurl {
   url = http://releases.mozilla.org/<replaceable>...</replaceable>/firefox-2.0.0.6-source.tar.bz2;
   sha1 = "eb72f55e4a8bf08e8c6ef227c0ade3d068ba1082";
 }</programlisting>
-
-  <function>fetchurl</function> will first try to download this file
-  from <link
+      <function>fetchurl</function> will first try to download this file from
+      <link
   xlink:href="http://tarballs.nixos.org/sha1/eb72f55e4a8bf08e8c6ef227c0ade3d068ba1082"/>.
-  If that file doesn’t exist, it will try the original URL.  In
-  general, the “content-addressed” location is
-  <replaceable>mirror</replaceable><literal>/</literal><replaceable>hash-type</replaceable><literal>/</literal><replaceable>hash</replaceable>.
-  There is currently only one content-addressable mirror (<link
+      If that file doesn’t exist, it will try the original URL. In general,
+      the “content-addressed” location is
+      <replaceable>mirror</replaceable><literal>/</literal><replaceable>hash-type</replaceable><literal>/</literal><replaceable>hash</replaceable>.
+      There is currently only one content-addressable mirror
+      (<link
   xlink:href="http://tarballs.nixos.org"/>), but more can be
-  specified in the <varname>hashedMirrors</varname> attribute in
-  <filename>pkgs/build-support/fetchurl/mirrors.nix</filename>, or by
-  setting the <envar>NIX_HASHED_MIRRORS</envar> environment variable
-  to a whitespace-separated list of URLs.</para>
-
-  <para>Second, <function>fetchurl</function> has support for
-  widely-mirrored distribution sites such as SourceForge or the Linux
-  kernel archives.  Given a URL of the form
-  <literal>mirror://<replaceable>site</replaceable>/<replaceable>path</replaceable></literal>,
-  it will try to download <replaceable>path</replaceable> from a
-  configurable list of mirrors for <replaceable>site</replaceable>.
-  (This idea was borrowed from Gentoo Linux.)  Example:
+      specified in the <varname>hashedMirrors</varname> attribute in
+      <filename>pkgs/build-support/fetchurl/mirrors.nix</filename>, or by
+      setting the <envar>NIX_HASHED_MIRRORS</envar> environment variable to a
+      whitespace-separated list of URLs.
+     </para>
+     <para>
+      Second, <function>fetchurl</function> has support for widely-mirrored
+      distribution sites such as SourceForge or the Linux kernel archives.
+      Given a URL of the form
+      <literal>mirror://<replaceable>site</replaceable>/<replaceable>path</replaceable></literal>,
+      it will try to download <replaceable>path</replaceable> from a
+      configurable list of mirrors for <replaceable>site</replaceable>. (This
+      idea was borrowed from Gentoo Linux.) Example:
 <programlisting>
 fetchurl {
   url = mirror://gnu/gcc/gcc-4.2.0/gcc-core-4.2.0.tar.bz2;
   sha256 = "0ykhzxhr8857dr97z0j9wyybfz1kjr71xk457cfapfw5fjas4ny1";
 }</programlisting>
-  Currently <replaceable>site</replaceable> can be
-  <literal>sourceforge</literal>, <literal>gnu</literal> and
-  <literal>kernel</literal>.  The list of mirrors is defined in
-  <filename>pkgs/build-support/fetchurl/mirrors.nix</filename>.  You
-  can override the list of mirrors for a particular site by setting
-  the environment variable
-  <envar>NIX_MIRRORS_<replaceable>site</replaceable></envar>, e.g.
+      Currently <replaceable>site</replaceable> can be
+      <literal>sourceforge</literal>, <literal>gnu</literal> and
+      <literal>kernel</literal>. The list of mirrors is defined in
+      <filename>pkgs/build-support/fetchurl/mirrors.nix</filename>. You can
+      override the list of mirrors for a particular site by setting the
+      environment variable
+      <envar>NIX_MIRRORS_<replaceable>site</replaceable></envar>, e.g.
 <programlisting>
 export NIX_MIRRORS_sourceforge=http://osdn.dl.sourceforge.net/sourceforge/</programlisting>
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      Important updates:
+      <itemizedlist>
+       <listitem>
+        <para>
+         Glibc 2.5.
+        </para>
+       </listitem>
+       <listitem>
+        <para>
+         GCC 4.1.2.
+        </para>
+       </listitem>
+       <listitem>
+        <para>
+         Gnome 2.16.3.
+        </para>
+       </listitem>
+       <listitem>
+        <para>
+         X11R7.2.
+        </para>
+       </listitem>
+       <listitem>
+        <para>
+         Linux 2.6.21.7 and 2.6.22.6.
+        </para>
+       </listitem>
+       <listitem>
+        <para>
+         Emacs 22.1.
+        </para>
+       </listitem>
+      </itemizedlist>
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      Major new packages:
+      <itemizedlist>
+       <listitem>
+        <para>
+         KDE 3.5.6 Base.
+        </para>
+       </listitem>
+       <listitem>
+        <para>
+         Wine 0.9.43.
+        </para>
+       </listitem>
+       <listitem>
+        <para>
+         OpenOffice 2.2.1.
+        </para>
+       </listitem>
+       <listitem>
+        <para>
+         Many Linux system packages to support NixOS.
+        </para>
+       </listitem>
+      </itemizedlist>
+     </para>
+    </listitem>
+   </itemizedlist>
   </para>
 
-  </listitem>
-
-
-  <listitem><para>Important updates:
-
-    <itemizedlist>
-
-      <listitem><para>Glibc 2.5.</para></listitem>
-      
-      <listitem><para>GCC 4.1.2.</para></listitem>
-      
-      <listitem><para>Gnome 2.16.3.</para></listitem>
-      
-      <listitem><para>X11R7.2.</para></listitem>
-      
-      <listitem><para>Linux 2.6.21.7 and 2.6.22.6.</para></listitem>
-      
-      <listitem><para>Emacs 22.1.</para></listitem>
-      
-    </itemizedlist>
-
-  </para></listitem>
-
-  
-  <listitem><para>Major new packages:
-
-    <itemizedlist>
-
-      <listitem><para>KDE 3.5.6 Base.</para></listitem>
-      
-      <listitem><para>Wine 0.9.43.</para></listitem>
-      
-      <listitem><para>OpenOffice 2.2.1.</para></listitem>
-      
-      <listitem><para>Many Linux system packages to support
-      NixOS.</para></listitem>
-      
-    </itemizedlist>
-
-  </para></listitem>
-
-</itemizedlist>
-
-</para>
-
-<para>The following people contributed to this release:
-
-  Andres Löh,
-  Arie Middelkoop,
-  Armijn Hemel,
-  Eelco Dolstra,
-  Marc Weber,
-  Mart Kolthof,
-  Martin Bravenboer,
-  Michael Raskin,
-  Wouter den Breejen and
-  Yury G. Kudryashov.
-
-</para>
-  
-</section>
-
-
-<section><title>Release 0.10 (October 12, 2006)</title>
-
-<note><para>This release of Nixpkgs requires <link
-xlink:href='http://nixos.org/releases/nix/nix-0.10/'>Nix
-0.10</link> or higher.</para></note>
-
-<para>This release has the following improvements:</para>
-
-<itemizedlist>
-
-  <listitem><para><filename>pkgs/system/all-packages-generic.nix</filename>
-  is gone, we now just have
-  <filename>pkgs/top-level/all-packages.nix</filename> that contains
-  all available packages.  This should cause much less confusion with
-  users.  <filename>all-packages.nix</filename> is a function that by
-  default returns packages for the current platform, but you can
-  override this by specifying a different <varname>system</varname>
-  argument.</para></listitem>
-
-  <listitem><para>Certain packages in Nixpkgs are now
-  user-configurable through a configuration file, i.e., without having
-  to edit the Nix expressions in Nixpkgs.  For instance, the Firefox
-  provided in the Nixpkgs channel is built without the RealPlayer
-  plugin (for legal reasons).  Previously, you could easily enable
-  RealPlayer support by editing the call to the Firefox function in
-  <filename>all-packages.nix</filename>, but such changes are not
-  respected when Firefox is subsequently updated through the Nixpkgs
-  channel.</para>
-
-  <para>The Nixpkgs configuration file (found in
-  <filename>~/.nixpkgs/config.nix</filename> or through the
-  <envar>NIXPKGS_CONFIG</envar> environment variable) is an attribute
-  set that contains configuration options that
-  <filename>all-packages.nix</filename> reads and uses for certain
-  packages.  For instance, the following configuration file:
+  <para>
+   The following people contributed to this release: Andres Löh, Arie
+   Middelkoop, Armijn Hemel, Eelco Dolstra, Marc Weber, Mart Kolthof, Martin
+   Bravenboer, Michael Raskin, Wouter den Breejen and Yury G. Kudryashov.
+  </para>
+ </section>
+ <section>
+  <title>Release 0.10 (October 12, 2006)</title>
+
+  <note>
+   <para>
+    This release of Nixpkgs requires
+    <link
+xlink:href='http://nixos.org/releases/nix/nix-0.10/'>Nix 0.10</link>
+    or higher.
+   </para>
+  </note>
+
+  <para>
+   This release has the following improvements:
+  </para>
 
+  <itemizedlist>
+   <listitem>
+    <para>
+     <filename>pkgs/system/all-packages-generic.nix</filename> is gone, we now
+     just have <filename>pkgs/top-level/all-packages.nix</filename> that
+     contains all available packages. This should cause much less confusion
+     with users. <filename>all-packages.nix</filename> is a function that by
+     default returns packages for the current platform, but you can override
+     this by specifying a different <varname>system</varname> argument.
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     Certain packages in Nixpkgs are now user-configurable through a
+     configuration file, i.e., without having to edit the Nix expressions in
+     Nixpkgs. For instance, the Firefox provided in the Nixpkgs channel is
+     built without the RealPlayer plugin (for legal reasons). Previously, you
+     could easily enable RealPlayer support by editing the call to the Firefox
+     function in <filename>all-packages.nix</filename>, but such changes are
+     not respected when Firefox is subsequently updated through the Nixpkgs
+     channel.
+    </para>
+    <para>
+     The Nixpkgs configuration file (found in
+     <filename>~/.nixpkgs/config.nix</filename> or through the
+     <envar>NIXPKGS_CONFIG</envar> environment variable) is an attribute set
+     that contains configuration options that
+     <filename>all-packages.nix</filename> reads and uses for certain packages.
+     For instance, the following configuration file:
 <programlisting>
 {
   firefox = {
     enableRealPlayer = true;
   };
 }</programlisting>
-
-  persistently enables RealPlayer support in the Firefox
-  build.</para>
-
-  <para>(Actually, <literal>firefox.enableRealPlayer</literal> is the
-  <emphasis>only</emphasis> configuration option currently available,
-  but more are sure to be added.)</para></listitem>
-
-  <listitem><para>Support for new platforms:
-
-    <itemizedlist>
-
-      <listitem><para><literal>i686-cygwin</literal>, i.e., Windows
-      (using <link xlink:href="http://www.cygwin.com/">Cygwin</link>).
-      The standard environment on <literal>i686-cygwin</literal> by
-      default builds binaries for the Cygwin environment (i.e., it
-      uses Cygwin tools and produces executables that use the Cygwin
-      library).  However, there is also a standard environment that
-      produces binaries that use <link
-      xlink:href="http://www.mingw.org/">MinGW</link>.  You can use it
-      by calling <filename>all-package.nix</filename> with the
-      <varname>stdenvType</varname> argument set to
-      <literal>"i686-mingw"</literal>.</para></listitem>
-
-      <listitem><para><literal>i686-darwin</literal>, i.e., Mac OS X
-      on Intel CPUs.</para></listitem>
-
-      <listitem><para><literal>powerpc-linux</literal>.</para></listitem>
-
-      <listitem><para><literal>x86_64-linux</literal>, i.e., Linux on
-      64-bit AMD/Intel CPUs.  Unlike <literal>i686-linux</literal>,
-      this platform doesn’t have a pure <literal>stdenv</literal>
-      yet.</para></listitem>
-
-    </itemizedlist>
-
+     persistently enables RealPlayer support in the Firefox build.
     </para>
-
-  </listitem>
-        
-  <listitem><para>The default compiler is now GCC 4.1.1.</para></listitem>
-
-  <listitem><para>X11 updated to X.org’s X11R7.1.</para></listitem>
-
-  <listitem><para>Notable new packages:
-
-    <itemizedlist>
-
-      <listitem><para>Opera.</para></listitem>
-
-      <listitem><para>Microsoft Visual C++ 2005 Express Edition and
-      the Windows SDK.</para></listitem>
-
-    </itemizedlist>
-
-    In total there are now around 809 packages in Nixpkgs.</para>
-
-  </listitem>
-
-  
-  <listitem><para>It is now <emphasis>much</emphasis> easier to
-  override the default C compiler and other tools in
-  <literal>stdenv</literal> for specific packages.
-  <filename>all-packages.nix</filename> provides two utility
-  functions for this purpose: <function>overrideGCC</function> and
-  <function>overrideInStdenv</function>.  Both take a
-  <literal>stdenv</literal> and return an augmented
-  <literal>stdenv</literal>; the formed changes the C compiler, and
-  the latter adds additional packages to the front of
-  <literal>stdenv</literal>’s initial <envar>PATH</envar>, allowing
-  tools to be overridden.</para>
-
-  <para>For instance, the package <varname>strategoxt</varname>
-  doesn’t build with the GNU Make in <literal>stdenv</literal>
-  (version 3.81), so we call it with an augmented
-  <literal>stdenv</literal> that uses GNU Make 3.80:
-
+    <para>
+     (Actually, <literal>firefox.enableRealPlayer</literal> is the
+     <emphasis>only</emphasis> configuration option currently available, but
+     more are sure to be added.)
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     Support for new platforms:
+     <itemizedlist>
+      <listitem>
+       <para>
+        <literal>i686-cygwin</literal>, i.e., Windows (using
+        <link xlink:href="http://www.cygwin.com/">Cygwin</link>). The standard
+        environment on <literal>i686-cygwin</literal> by default builds
+        binaries for the Cygwin environment (i.e., it uses Cygwin tools and
+        produces executables that use the Cygwin library). However, there is
+        also a standard environment that produces binaries that use
+        <link
+      xlink:href="http://www.mingw.org/">MinGW</link>. You can
+        use it by calling <filename>all-package.nix</filename> with the
+        <varname>stdenvType</varname> argument set to
+        <literal>"i686-mingw"</literal>.
+       </para>
+      </listitem>
+      <listitem>
+       <para>
+        <literal>i686-darwin</literal>, i.e., Mac OS X on Intel CPUs.
+       </para>
+      </listitem>
+      <listitem>
+       <para>
+        <literal>powerpc-linux</literal>.
+       </para>
+      </listitem>
+      <listitem>
+       <para>
+        <literal>x86_64-linux</literal>, i.e., Linux on 64-bit AMD/Intel CPUs.
+        Unlike <literal>i686-linux</literal>, this platform doesn’t have a
+        pure <literal>stdenv</literal> yet.
+       </para>
+      </listitem>
+     </itemizedlist>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     The default compiler is now GCC 4.1.1.
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     X11 updated to X.org’s X11R7.1.
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     Notable new packages:
+     <itemizedlist>
+      <listitem>
+       <para>
+        Opera.
+       </para>
+      </listitem>
+      <listitem>
+       <para>
+        Microsoft Visual C++ 2005 Express Edition and the Windows SDK.
+       </para>
+      </listitem>
+     </itemizedlist>
+     In total there are now around 809 packages in Nixpkgs.
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     It is now <emphasis>much</emphasis> easier to override the default C
+     compiler and other tools in <literal>stdenv</literal> for specific
+     packages. <filename>all-packages.nix</filename> provides two utility
+     functions for this purpose: <function>overrideGCC</function> and
+     <function>overrideInStdenv</function>. Both take a
+     <literal>stdenv</literal> and return an augmented
+     <literal>stdenv</literal>; the formed changes the C compiler, and the
+     latter adds additional packages to the front of
+     <literal>stdenv</literal>’s initial <envar>PATH</envar>, allowing tools
+     to be overridden.
+    </para>
+    <para>
+     For instance, the package <varname>strategoxt</varname> doesn’t build
+     with the GNU Make in <literal>stdenv</literal> (version 3.81), so we call
+     it with an augmented <literal>stdenv</literal> that uses GNU Make 3.80:
 <programlisting>
 strategoxt = (import ../development/compilers/strategoxt) {
   inherit fetchurl pkgconfig sdf aterm;
@@ -460,44 +494,37 @@ strategoxt = (import ../development/compilers/strategoxt) {
 };
 
 gnumake380 = <replaceable>...</replaceable>;</programlisting>
-
-  Likewise, there are many packages that don’t compile with the
-  default GCC (4.1.1), but that’s easily fixed:
-
+     Likewise, there are many packages that don’t compile with the default
+     GCC (4.1.1), but that’s easily fixed:
 <programlisting>
 exult = import ../games/exult {
   inherit fetchurl SDL SDL_mixer zlib libpng unzip;
   stdenv = overrideGCC stdenv gcc34;
 };</programlisting>
-
-  </para></listitem>
-
-
-  <listitem><para>It has also become much easier to experiment with
-  changes to the <literal>stdenv</literal> setup script (which notably
-  contains the generic builder).  Since edits to
-  <filename>pkgs/stdenv/generic/setup.sh</filename> trigger a rebuild
-  of <emphasis>everything</emphasis>, this was formerly quite painful.
-  But now <literal>stdenv</literal> contains a function to
-  “regenerate” <literal>stdenv</literal> with a different setup
-  script, allowing the use of a different setup script for specific
-  packages:
-
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     It has also become much easier to experiment with changes to the
+     <literal>stdenv</literal> setup script (which notably contains the generic
+     builder). Since edits to <filename>pkgs/stdenv/generic/setup.sh</filename>
+     trigger a rebuild of <emphasis>everything</emphasis>, this was formerly
+     quite painful. But now <literal>stdenv</literal> contains a function to
+     “regenerate” <literal>stdenv</literal> with a different setup script,
+     allowing the use of a different setup script for specific packages:
 <programlisting>
 pkg = import <replaceable>...</replaceable> {
   stdenv = stdenv.regenerate ./my-setup.sh;
   <replaceable>...</replaceable>
 }</programlisting>
-
-  </para></listitem>
-
-
-  <listitem><para>Packages can now have a human-readable
-  <emphasis>description</emphasis> field.  Package descriptions are
-  shown by <literal>nix-env -qa --description</literal>.  In addition,
-  they’re shown on the Nixpkgs release page.  A description can be
-  added to a package as follows:
-
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     Packages can now have a human-readable <emphasis>description</emphasis>
+     field. Package descriptions are shown by <literal>nix-env -qa
+     --description</literal>. In addition, they’re shown on the Nixpkgs
+     release page. A description can be added to a package as follows:
 <programlisting>
 stdenv.mkDerivation {
   name = "exult-1.2";
@@ -506,228 +533,268 @@ stdenv.mkDerivation {
     description = "A reimplementation of the Ultima VII game engine";
   };
 }</programlisting>
-
-  The <varname>meta</varname> attribute is not passed to the builder,
-  so changes to the description do not trigger a rebuild.  Additional
-  <varname>meta</varname> attributes may be defined in the future
-  (such as the URL of the package’s homepage, the license,
-  etc.).</para></listitem>
-  
-</itemizedlist>
-
-
-<para>The following people contributed to this release:
-
-  Andres Löh,
-  Armijn Hemel,
-  Christof Douma,
-  Eelco Dolstra,
-  Eelco Visser,
-  Mart Kolthof,
-  Martin Bravenboer,
-  Merijn de Jonge,
-  Rob Vermaas and
-  Roy van den Broek.
-
-</para>
-  
-</section>
-
-
-<section><title>Release 0.9 (January 31, 2006)</title>
-
-<para>There have been zillions of changes since the last release of
-Nixpkgs.  Many packages have been added or updated.  The following are
-some of the more notable changes:</para>
-
-<itemizedlist>
-
-  <listitem><para>Distribution files have been moved to <link
-  xlink:href="http://nixos.org/" />.</para></listitem>
-
-  <listitem><para>The C library on Linux, Glibc, has been updated to
-  version 2.3.6.</para></listitem>
-
-  <listitem><para>The default compiler is now GCC 3.4.5.  GCC 4.0.2 is
-  also available.</para></listitem>
-
-  <listitem><para>The old, unofficial Xlibs has been replaced by the
-  official modularised X11 distribution from X.org, i.e., X11R7.0.
-  X11R7.0 consists of 287 (!) packages, all of which are in Nixpkgs
-  though not all have been tested.  It is now possible to build a
-  working X server (previously we only had X client libraries).  We
-  use a fully Nixified X server on NixOS.</para></listitem>
-
-  <listitem><para>The Sun JDK 5 has been purified, i.e., it doesn’t
-  require any non-Nix components such as
-  <filename>/lib/ld-linux.so.2</filename>.  This means that Java
-  applications such as Eclipse and Azureus can run on
-  NixOS.</para></listitem>
-
-  <listitem><para>Hardware-accelerated OpenGL support, used by games
-  like Quake 3 (which is now built from source).</para></listitem>
-
-  <listitem><para>Improved support for FreeBSD on
-  x86.</para></listitem>
-
-  <listitem><para>Improved Haskell support; e.g., the GHC build is now
-  pure.</para></listitem>
-
-  <listitem><para>Some support for cross-compilation: cross-compiling
-  builds of GCC and Binutils, and cross-compiled builds of the C
-  library uClibc.</para></listitem>
-
-  <listitem><para>Notable new packages:
-
-    <itemizedlist>
-
-      <listitem><para>teTeX, including support for building LaTeX
-      documents using Nix (with automatic dependency
-      determination).</para></listitem>
-      
-      <listitem><para>Ruby.</para></listitem>
-
-      <listitem><para>System-level packages to support NixOS,
-      e.g. Grub, GNU <literal>parted</literal> and so
-      on.</para></listitem>
-
-      <listitem><para><literal>ecj</literal>, the Eclipse Compiler for
-      Java, so we finally have a freely distributable compiler that
-      supports Java 5.0.</para></listitem>
-
-      <listitem><para><literal>php</literal>.</para></listitem>
-
-      <listitem><para>The GIMP.</para></listitem>
-
-      <listitem><para>Inkscape.</para></listitem>
-
-      <listitem><para>GAIM.</para></listitem>
-
-      <listitem><para><literal>kdelibs</literal>.  This allows us to
-      add KDE-based packages (such as
-      <literal>kcachegrind</literal>).</para></listitem>
-
-    </itemizedlist>
-
-  </para></listitem>
-
-</itemizedlist>
-
-<para>The following people contributed to this release:
-
-  Andres Löh,
-  Armijn Hemel,
-  Bogdan Dumitriu,
-  Christof Douma,
-  Eelco Dolstra,
-  Eelco Visser,
-  Mart Kolthof,
-  Martin Bravenboer,
-  Rob Vermaas and
-  Roy van den Broek.
-
-</para>
-
-</section>
-
-
-<section><title>Release 0.8 (April 11, 2005)</title>
-
-<para>This release is mostly to remain synchronised with the changed
-hashing scheme in Nix 0.8.</para>
-
-<para>Notable updates:
-
-<itemizedlist>
-
-  <listitem><para>Adobe Reader 7.0</para></listitem>
-
-  <listitem><para>Various security updates (zlib 1.2.2, etc.)</para></listitem>
-
-</itemizedlist>
-
-</para>
-
-</section>
-
-
-<section><title>Release 0.7 (March 14, 2005)</title>
-
-<itemizedlist>
-
-<listitem>
-
-  <para>The bootstrap process for the standard build
-  environment on Linux (stdenv-linux) has been improved.  It is no
-  longer dependent in its initial bootstrap stages on the system
-  Glibc, GCC, and other tools.  Rather, Nixpkgs contains a statically
-  linked bash and curl, and uses that to download other statically
-  linked tools.  These are then used to build a Glibc and dynamically
-  linked versions of all other tools.</para>
-
-  <para>This change also makes the bootstrap process faster.  For
-  instance, GCC is built only once instead of three times.</para>
-
-  <para>(Contributed by Armijn Hemel.)</para>
-
-</listitem>
-
-<listitem>
-
-  <para>Tarballs used by Nixpkgs are now obtained from the same server
-  that hosts Nixpkgs (<link
-  xlink:href="http://catamaran.labs.cs.uu.nl/" />).  This reduces the
-  risk of packages being unbuildable due to moved or deleted files on
-  various servers.</para>
-
-</listitem>
-
-<listitem>
-
-  <para>There now is a generic mechanism for building Perl modules.
-  See the various Perl modules defined in
-  pkgs/system/all-packages-generic.nix.</para>
-
-</listitem>
-
-<listitem>
-
-  <para>Notable new packages:
-
-  <itemizedlist>
-
-    <listitem><para>Qt 3</para></listitem>
-    <listitem><para>MySQL</para></listitem>
-    <listitem><para>MythTV</para></listitem>
-    <listitem><para>Mono</para></listitem>
-    <listitem><para>MonoDevelop (alpha)</para></listitem>
-    <listitem><para>Xine</para></listitem>
-
+     The <varname>meta</varname> attribute is not passed to the builder, so
+     changes to the description do not trigger a rebuild. Additional
+     <varname>meta</varname> attributes may be defined in the future (such as
+     the URL of the package’s homepage, the license, etc.).
+    </para>
+   </listitem>
   </itemizedlist>
 
+  <para>
+   The following people contributed to this release: Andres Löh, Armijn Hemel,
+   Christof Douma, Eelco Dolstra, Eelco Visser, Mart Kolthof, Martin
+   Bravenboer, Merijn de Jonge, Rob Vermaas and Roy van den Broek.
+  </para>
+ </section>
+ <section>
+  <title>Release 0.9 (January 31, 2006)</title>
+
+  <para>
+   There have been zillions of changes since the last release of Nixpkgs. Many
+   packages have been added or updated. The following are some of the more
+   notable changes:
   </para>
-
-</listitem>
-
-<listitem>
-
-  <para>Notable updates:
 
   <itemizedlist>
-
-    <listitem><para>GCC 3.4.3</para></listitem>
-    <listitem><para>Glibc 2.3.4</para></listitem>
-    <listitem><para>GTK 2.6</para></listitem>
-
+   <listitem>
+    <para>
+     Distribution files have been moved to
+     <link
+  xlink:href="http://nixos.org/" />.
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     The C library on Linux, Glibc, has been updated to version 2.3.6.
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     The default compiler is now GCC 3.4.5. GCC 4.0.2 is also available.
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     The old, unofficial Xlibs has been replaced by the official modularised
+     X11 distribution from X.org, i.e., X11R7.0. X11R7.0 consists of 287 (!)
+     packages, all of which are in Nixpkgs though not all have been tested. It
+     is now possible to build a working X server (previously we only had X
+     client libraries). We use a fully Nixified X server on NixOS.
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     The Sun JDK 5 has been purified, i.e., it doesn’t require any non-Nix
+     components such as <filename>/lib/ld-linux.so.2</filename>. This means
+     that Java applications such as Eclipse and Azureus can run on NixOS.
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     Hardware-accelerated OpenGL support, used by games like Quake 3 (which is
+     now built from source).
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     Improved support for FreeBSD on x86.
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     Improved Haskell support; e.g., the GHC build is now pure.
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     Some support for cross-compilation: cross-compiling builds of GCC and
+     Binutils, and cross-compiled builds of the C library uClibc.
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     Notable new packages:
+     <itemizedlist>
+      <listitem>
+       <para>
+        teTeX, including support for building LaTeX documents using Nix (with
+        automatic dependency determination).
+       </para>
+      </listitem>
+      <listitem>
+       <para>
+        Ruby.
+       </para>
+      </listitem>
+      <listitem>
+       <para>
+        System-level packages to support NixOS, e.g. Grub, GNU
+        <literal>parted</literal> and so on.
+       </para>
+      </listitem>
+      <listitem>
+       <para>
+        <literal>ecj</literal>, the Eclipse Compiler for Java, so we finally
+        have a freely distributable compiler that supports Java 5.0.
+       </para>
+      </listitem>
+      <listitem>
+       <para>
+        <literal>php</literal>.
+       </para>
+      </listitem>
+      <listitem>
+       <para>
+        The GIMP.
+       </para>
+      </listitem>
+      <listitem>
+       <para>
+        Inkscape.
+       </para>
+      </listitem>
+      <listitem>
+       <para>
+        GAIM.
+       </para>
+      </listitem>
+      <listitem>
+       <para>
+        <literal>kdelibs</literal>. This allows us to add KDE-based packages
+        (such as <literal>kcachegrind</literal>).
+       </para>
+      </listitem>
+     </itemizedlist>
+    </para>
+   </listitem>
   </itemizedlist>
 
+  <para>
+   The following people contributed to this release: Andres Löh, Armijn Hemel,
+   Bogdan Dumitriu, Christof Douma, Eelco Dolstra, Eelco Visser, Mart Kolthof,
+   Martin Bravenboer, Rob Vermaas and Roy van den Broek.
   </para>
+ </section>
+ <section>
+  <title>Release 0.8 (April 11, 2005)</title>
 
-</listitem>
-
-</itemizedlist>
+  <para>
+   This release is mostly to remain synchronised with the changed hashing
+   scheme in Nix 0.8.
+  </para>
 
-</section>
+  <para>
+   Notable updates:
+   <itemizedlist>
+    <listitem>
+     <para>
+      Adobe Reader 7.0
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      Various security updates (zlib 1.2.2, etc.)
+     </para>
+    </listitem>
+   </itemizedlist>
+  </para>
+ </section>
+ <section>
+  <title>Release 0.7 (March 14, 2005)</title>
 
-  
+  <itemizedlist>
+   <listitem>
+    <para>
+     The bootstrap process for the standard build environment on Linux
+     (stdenv-linux) has been improved. It is no longer dependent in its initial
+     bootstrap stages on the system Glibc, GCC, and other tools. Rather,
+     Nixpkgs contains a statically linked bash and curl, and uses that to
+     download other statically linked tools. These are then used to build a
+     Glibc and dynamically linked versions of all other tools.
+    </para>
+    <para>
+     This change also makes the bootstrap process faster. For instance, GCC is
+     built only once instead of three times.
+    </para>
+    <para>
+     (Contributed by Armijn Hemel.)
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     Tarballs used by Nixpkgs are now obtained from the same server that hosts
+     Nixpkgs (<link
+  xlink:href="http://catamaran.labs.cs.uu.nl/" />). This
+     reduces the risk of packages being unbuildable due to moved or deleted
+     files on various servers.
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     There now is a generic mechanism for building Perl modules. See the
+     various Perl modules defined in pkgs/system/all-packages-generic.nix.
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     Notable new packages:
+     <itemizedlist>
+      <listitem>
+       <para>
+        Qt 3
+       </para>
+      </listitem>
+      <listitem>
+       <para>
+        MySQL
+       </para>
+      </listitem>
+      <listitem>
+       <para>
+        MythTV
+       </para>
+      </listitem>
+      <listitem>
+       <para>
+        Mono
+       </para>
+      </listitem>
+      <listitem>
+       <para>
+        MonoDevelop (alpha)
+       </para>
+      </listitem>
+      <listitem>
+       <para>
+        Xine
+       </para>
+      </listitem>
+     </itemizedlist>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     Notable updates:
+     <itemizedlist>
+      <listitem>
+       <para>
+        GCC 3.4.3
+       </para>
+      </listitem>
+      <listitem>
+       <para>
+        Glibc 2.3.4
+       </para>
+      </listitem>
+      <listitem>
+       <para>
+        GTK 2.6
+       </para>
+      </listitem>
+     </itemizedlist>
+    </para>
+   </listitem>
+  </itemizedlist>
+ </section>
 </article>
diff --git a/doc/reviewing-contributions.xml b/doc/reviewing-contributions.xml
index c4bd6c57ffd..b648691183b 100644
--- a/doc/reviewing-contributions.xml
+++ b/doc/reviewing-contributions.xml
@@ -3,93 +3,148 @@
         xmlns:xi="http://www.w3.org/2001/XInclude"
         version="5.0"
         xml:id="sec-reviewing-contributions">
-
-<title>Reviewing contributions</title>
-
-<warning>
-  <para>The following section is a draft and reviewing policy is still being
-    discussed.</para>
-</warning>
-
-<para>The nixpkgs projects receives a fairly high number of contributions via
-  GitHub pull-requests. Reviewing and approving these is an important task and a
-  way to contribute to the project.</para>
-
-<para>The high change rate of nixpkgs make any pull request that is open for
-  long enough subject to conflicts that will require extra work from the
-  submitter or the merger. Reviewing pull requests in a timely manner and being
+ <title>Reviewing contributions</title>
+ <warning>
+  <para>
+   The following section is a draft and reviewing policy is still being
+   discussed.
+  </para>
+ </warning>
+ <para>
+  The nixpkgs projects receives a fairly high number of contributions via
+  GitHub pull-requests. Reviewing and approving these is an important task and
+  a way to contribute to the project.
+ </para>
+ <para>
+  The high change rate of nixpkgs make any pull request that is open for long
+  enough subject to conflicts that will require extra work from the submitter
+  or the merger. Reviewing pull requests in a timely manner and being
   responsive to the comments is the key to avoid these. GitHub provides sort
-  filters that can be used to see the <link
+  filters that can be used to see the
+  <link
     xlink:href="https://github.com/NixOS/nixpkgs/pulls?q=is%3Apr+is%3Aopen+sort%3Aupdated-desc">most
-    recently</link> and the <link
+  recently</link> and the
+  <link
     xlink:href="https://github.com/NixOS/nixpkgs/pulls?q=is%3Apr+is%3Aopen+sort%3Aupdated-asc">least
-    recently</link> updated pull-requests.</para>
-
-<para>When reviewing a pull request, please always be nice and polite.
+  recently</link> updated pull-requests. We highly encourage looking at
+  <link xlink:href="https://github.com/NixOS/nixpkgs/pulls?q=is%3Apr+is%3Aopen+review%3Anone+status%3Asuccess+-label%3A%222.status%3A+work-in-progress%22+no%3Aproject+no%3Aassignee+no%3Amilestone">
+  this list of ready to merge, unreviewed pull requests</link>.
+ </para>
+ <para>
+  When reviewing a pull request, please always be nice and polite.
   Controversial changes can lead to controversial opinions, but it is important
-  to respect every community members and their work.</para>
-
-<para>GitHub provides reactions, they are a simple and quick way to provide
+  to respect every community members and their work.
+ </para>
+ <para>
+  GitHub provides reactions, they are a simple and quick way to provide
   feedback to pull-requests or any comments. The thumb-down reaction should be
   used with care and if possible accompanied with some explanations so the
-  submitter has directions to improve his contribution.</para>
-
-<para>Pull-requests reviews should include a list of what has been reviewed in a
-  comment, so other reviewers and mergers can know the state of the
-  review.</para>
-
-<para>All the review template samples provided in this section are generic and
+  submitter has directions to improve his contribution.
+ </para>
+ <para>
+  Pull-requests reviews should include a list of what has been reviewed in a
+  comment, so other reviewers and mergers can know the state of the review.
+ </para>
+ <para>
+  All the review template samples provided in this section are generic and
   meant as examples. Their usage is optional and the reviewer is free to adapt
-  them to his liking.</para>
-
-<section><title>Package updates</title>
-
-<para>A package update is the most trivial and common type of pull-request.
-  These pull-requests mainly consist in updating the version part of the package
-  name and the source hash.</para>
-<para>It can happen that non trivial updates include patches or more complex
-  changes.</para>
-
-<para>Reviewing process:</para>
-
-<itemizedlist>
-  <listitem><para>Add labels to the pull-request. (Requires commit
-      rights)</para>
+  them to his liking.
+ </para>
+ <section>
+  <title>Package updates</title>
+
+  <para>
+   A package update is the most trivial and common type of pull-request. These
+   pull-requests mainly consist in updating the version part of the package
+   name and the source hash.
+  </para>
+
+  <para>
+   It can happen that non trivial updates include patches or more complex
+   changes.
+  </para>
+
+  <para>
+   Reviewing process:
+  </para>
+
+  <itemizedlist>
+   <listitem>
+    <para>
+     Add labels to the pull-request. (Requires commit rights)
+    </para>
     <itemizedlist>
-      <listitem><para><literal>8.has: package (update)</literal> and any topic
-          label that fit the updated package.</para></listitem>
+     <listitem>
+      <para>
+       <literal>8.has: package (update)</literal> and any topic label that fit
+       the updated package.
+      </para>
+     </listitem>
     </itemizedlist>
-  </listitem>
-  <listitem><para>Ensure that the package versioning is fitting the
-      guidelines.</para></listitem>
-  <listitem><para>Ensure that the commit text is fitting the
-      guidelines.</para></listitem>
-  <listitem><para>Ensure that the package maintainers are notified.</para>
+   </listitem>
+   <listitem>
+    <para>
+     Ensure that the package versioning is fitting the guidelines.
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     Ensure that the commit text is fitting the guidelines.
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     Ensure that the package maintainers are notified.
+    </para>
     <itemizedlist>
-      <listitem><para>mention-bot usually notify GitHub users based on the
-          submitted changes, but it can happen that it misses some of the
-          package maintainers.</para></listitem>
+     <listitem>
+      <para>
+       mention-bot usually notify GitHub users based on the submitted changes,
+       but it can happen that it misses some of the package maintainers.
+      </para>
+     </listitem>
     </itemizedlist>
-  </listitem>
-  <listitem><para>Ensure that the meta field contains correct
-      information.</para>
+   </listitem>
+   <listitem>
+    <para>
+     Ensure that the meta field contains correct information.
+    </para>
     <itemizedlist>
-      <listitem><para>License can change with version updates, so it should be
-          checked to be fitting upstream license.</para></listitem>
-      <listitem><para>If the package has no maintainer, a maintainer must be
-          set. This can be the update submitter or a community member that
-          accepts to take maintainership of the package.</para></listitem>
+     <listitem>
+      <para>
+       License can change with version updates, so it should be checked to be
+       fitting upstream license.
+      </para>
+     </listitem>
+     <listitem>
+      <para>
+       If the package has no maintainer, a maintainer must be set. This can be
+       the update submitter or a community member that accepts to take
+       maintainership of the package.
+      </para>
+     </listitem>
     </itemizedlist>
-  </listitem>
-  <listitem><para>Ensure that the code contains no typos.</para></listitem>
-  <listitem><para>Building the package locally.</para>
+   </listitem>
+   <listitem>
+    <para>
+     Ensure that the code contains no typos.
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     Building the package locally.
+    </para>
     <itemizedlist>
-      <listitem><para>Pull-requests are often targeted to the master or staging
-          branch so building the pull-request locally as it is submitted can
-          trigger a large amount of source builds.</para>
-        <para>It is possible to rebase the changes on nixos-unstable or
-          nixpkgs-unstable for easier review by running the following commands
-          from a nixpkgs clone.
+     <listitem>
+      <para>
+       Pull-requests are often targeted to the master or staging branch so
+       building the pull-request locally as it is submitted can trigger a large
+       amount of source builds.
+      </para>
+      <para>
+       It is possible to rebase the changes on nixos-unstable or
+       nixpkgs-unstable for easier review by running the following commands
+       from a nixpkgs clone.
 <screen>
 $ git remote add channels https://github.com/NixOS/nixpkgs-channels.git <co
   xml:id='reviewing-rebase-1' />
@@ -98,43 +153,56 @@ $ git fetch origin pull/PRNUMBER/head <co xml:id='reviewing-rebase-3' />
 $ git rebase --onto nixos-unstable BASEBRANCH FETCH_HEAD <co
   xml:id='reviewing-rebase-4' />
 </screen>
-        <calloutlist>
-          <callout arearefs='reviewing-rebase-1'>
-            <para>This should be done only once to be able to fetch channel
-              branches from the nixpkgs-channels repository.</para>
-          </callout>
-          <callout arearefs='reviewing-rebase-2'>
-            <para>Fetching the nixos-unstable branch.</para>
-          </callout>
-          <callout arearefs='reviewing-rebase-3'>
-            <para>Fetching the pull-request changes, <varname>PRNUMBER</varname>
-              is the number at the end of the pull-request title and
-              <varname>BASEBRANCH</varname> the base branch of the
-              pull-request.</para>
-          </callout>
-          <callout arearefs='reviewing-rebase-3'>
-            <para>Rebasing the pull-request changes to the nixos-unstable
-              branch.</para>
-          </callout>
-        </calloutlist>
-        </para>
-      </listitem>
-      <listitem>
-        <para>The <link xlink:href="https://github.com/madjar/nox">nox</link>
-          tool can be used to review a pull-request content in a single command.
-          It doesn't rebase on a channel branch so it might trigger multiple
-          source builds. <varname>PRNUMBER</varname> should be replaced by the
-          number at the end of the pull-request title.</para>
+       <calloutlist>
+        <callout arearefs='reviewing-rebase-1'>
+         <para>
+          This should be done only once to be able to fetch channel branches
+          from the nixpkgs-channels repository.
+         </para>
+        </callout>
+        <callout arearefs='reviewing-rebase-2'>
+         <para>
+          Fetching the nixos-unstable branch.
+         </para>
+        </callout>
+        <callout arearefs='reviewing-rebase-3'>
+         <para>
+          Fetching the pull-request changes, <varname>PRNUMBER</varname> is the
+          number at the end of the pull-request title and
+          <varname>BASEBRANCH</varname> the base branch of the pull-request.
+         </para>
+        </callout>
+        <callout arearefs='reviewing-rebase-4'>
+         <para>
+          Rebasing the pull-request changes to the nixos-unstable branch.
+         </para>
+        </callout>
+       </calloutlist>
+      </para>
+     </listitem>
+     <listitem>
+      <para>
+       The <link xlink:href="https://github.com/madjar/nox">nox</link> tool can
+       be used to review a pull-request content in a single command. It doesn't
+       rebase on a channel branch so it might trigger multiple source builds.
+       <varname>PRNUMBER</varname> should be replaced by the number at the end
+       of the pull-request title.
+      </para>
 <screen>
 $ nix-shell -p nox --run "nox-review -k pr PRNUMBER"
 </screen>
-      </listitem>
+     </listitem>
     </itemizedlist>
-  </listitem>
-  <listitem><para>Running every binary.</para></listitem>
-</itemizedlist>
-
-<example><title>Sample template for a package update review</title>
+   </listitem>
+   <listitem>
+    <para>
+     Running every binary.
+    </para>
+   </listitem>
+  </itemizedlist>
+
+  <example>
+   <title>Sample template for a package update review</title>
 <screen>
 ##### Reviewed points
 
@@ -148,55 +216,105 @@ $ nix-shell -p nox --run "nox-review -k pr PRNUMBER"
 
 ##### Comments
 
-</screen></example>
-</section>
-
-<section><title>New packages</title>
-
-<para>New packages are a common type of pull-requests. These pull requests
-  consists in adding a new nix-expression for a package.</para>
-
-<para>Reviewing process:</para>
-
-<itemizedlist>
-  <listitem><para>Add labels to the pull-request. (Requires commit
-      rights)</para>
+</screen>
+  </example>
+ </section>
+ <section>
+  <title>New packages</title>
+
+  <para>
+   New packages are a common type of pull-requests. These pull requests
+   consists in adding a new nix-expression for a package.
+  </para>
+
+  <para>
+   Reviewing process:
+  </para>
+
+  <itemizedlist>
+   <listitem>
+    <para>
+     Add labels to the pull-request. (Requires commit rights)
+    </para>
     <itemizedlist>
-      <listitem><para><literal>8.has: package (new)</literal> and any topic
-          label that fit the new package.</para></listitem>
+     <listitem>
+      <para>
+       <literal>8.has: package (new)</literal> and any topic label that fit the
+       new package.
+      </para>
+     </listitem>
     </itemizedlist>
-  </listitem>
-  <listitem><para>Ensure that the package versioning is fitting the
-      guidelines.</para></listitem>
-  <listitem><para>Ensure that the commit name is fitting the
-      guidelines.</para></listitem>
-  <listitem><para>Ensure that the meta field contains correct
-      information.</para>
+   </listitem>
+   <listitem>
+    <para>
+     Ensure that the package versioning is fitting the guidelines.
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     Ensure that the commit name is fitting the guidelines.
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     Ensure that the meta field contains correct information.
+    </para>
     <itemizedlist>
-      <listitem><para>License must be checked to be fitting upstream
-          license.</para></listitem>
-      <listitem><para>Platforms should be set or the package will not get binary
-          substitutes.</para></listitem>
-      <listitem><para>A maintainer must be set, this can be the package
-          submitter or a community member that accepts to take maintainership of
-          the package.</para></listitem>
+     <listitem>
+      <para>
+       License must be checked to be fitting upstream license.
+      </para>
+     </listitem>
+     <listitem>
+      <para>
+       Platforms should be set or the package will not get binary substitutes.
+      </para>
+     </listitem>
+     <listitem>
+      <para>
+       A maintainer must be set, this can be the package submitter or a
+       community member that accepts to take maintainership of the package.
+      </para>
+     </listitem>
     </itemizedlist>
-  </listitem>
-  <listitem><para>Ensure that the code contains no typos.</para></listitem>
-  <listitem><para>Ensure the package source.</para>
+   </listitem>
+   <listitem>
+    <para>
+     Ensure that the code contains no typos.
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     Ensure the package source.
+    </para>
     <itemizedlist>
-      <listitem><para>Mirrors urls should be used when
-          available.</para></listitem>
-      <listitem><para>The most appropriate function should be used (e.g.
-          packages from GitHub should use
-          <literal>fetchFromGitHub</literal>).</para></listitem>
+     <listitem>
+      <para>
+       Mirrors urls should be used when available.
+      </para>
+     </listitem>
+     <listitem>
+      <para>
+       The most appropriate function should be used (e.g. packages from GitHub
+       should use <literal>fetchFromGitHub</literal>).
+      </para>
+     </listitem>
     </itemizedlist>
-  </listitem>
-  <listitem><para>Building the package locally.</para></listitem>
-  <listitem><para>Running every binary.</para></listitem>
-</itemizedlist>
-
-<example><title>Sample template for a new package review</title>
+   </listitem>
+   <listitem>
+    <para>
+     Building the package locally.
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     Running every binary.
+    </para>
+   </listitem>
+  </itemizedlist>
+
+  <example>
+   <title>Sample template for a new package review</title>
 <screen>
 ##### Reviewed points
 
@@ -218,58 +336,107 @@ $ nix-shell -p nox --run "nox-review -k pr PRNUMBER"
 
 ##### Comments
 
-</screen></example>
-</section>
-
-<section><title>Module updates</title>
-
-<para>Module updates are submissions changing modules in some ways. These often
-  contains changes to the options or introduce new options.</para>
-
-<para>Reviewing process</para>
-
-<itemizedlist>
-  <listitem><para>Add labels to the pull-request. (Requires commit
-      rights)</para>
+</screen>
+  </example>
+ </section>
+ <section>
+  <title>Module updates</title>
+
+  <para>
+   Module updates are submissions changing modules in some ways. These often
+   contains changes to the options or introduce new options.
+  </para>
+
+  <para>
+   Reviewing process
+  </para>
+
+  <itemizedlist>
+   <listitem>
+    <para>
+     Add labels to the pull-request. (Requires commit rights)
+    </para>
     <itemizedlist>
-      <listitem><para><literal>8.has: module (update)</literal> and any topic
-          label that fit the module.</para></listitem>
+     <listitem>
+      <para>
+       <literal>8.has: module (update)</literal> and any topic label that fit
+       the module.
+      </para>
+     </listitem>
     </itemizedlist>
-  </listitem>
-  <listitem><para>Ensure that the module maintainers are notified.</para>
+   </listitem>
+   <listitem>
+    <para>
+     Ensure that the module maintainers are notified.
+    </para>
     <itemizedlist>
-      <listitem><para>Mention-bot notify GitHub users based on the submitted
-          changes, but it can happen that it miss some of the package
-          maintainers.</para></listitem>
+     <listitem>
+      <para>
+       Mention-bot notify GitHub users based on the submitted changes, but it
+       can happen that it miss some of the package maintainers.
+      </para>
+     </listitem>
     </itemizedlist>
-  </listitem>
-  <listitem><para>Ensure that the module tests, if any, are
-      succeeding.</para></listitem>
-  <listitem><para>Ensure that the introduced options are correct.</para>
+   </listitem>
+   <listitem>
+    <para>
+     Ensure that the module tests, if any, are succeeding.
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     Ensure that the introduced options are correct.
+    </para>
     <itemizedlist>
-      <listitem><para>Type should be appropriate (string related types differs
-          in their merging capabilities, <literal>optionSet</literal> and
-          <literal>string</literal> types are deprecated).</para></listitem>
-      <listitem><para>Description, default and example should be
-          provided.</para></listitem>
+     <listitem>
+      <para>
+       Type should be appropriate (string related types differs in their
+       merging capabilities, <literal>optionSet</literal> and
+       <literal>string</literal> types are deprecated).
+      </para>
+     </listitem>
+     <listitem>
+      <para>
+       Description, default and example should be provided.
+      </para>
+     </listitem>
     </itemizedlist>
-  </listitem>
-  <listitem><para>Ensure that option changes are backward compatible.</para>
+   </listitem>
+   <listitem>
+    <para>
+     Ensure that option changes are backward compatible.
+    </para>
     <itemizedlist>
-      <listitem><para><literal>mkRenamedOptionModule</literal> and
-          <literal>mkAliasOptionModule</literal> functions provide way to make
-          option changes backward compatible.</para></listitem>
+     <listitem>
+      <para>
+       <literal>mkRenamedOptionModule</literal> and
+       <literal>mkAliasOptionModule</literal> functions provide way to make
+       option changes backward compatible.
+      </para>
+     </listitem>
     </itemizedlist>
-  </listitem>
-  <listitem><para>Ensure that removed options are declared with
-      <literal>mkRemovedOptionModule</literal></para></listitem>
-  <listitem><para>Ensure that changes that are not backward compatible are
-      mentioned in release notes.</para></listitem>
-  <listitem><para>Ensure that documentations affected by the change is
-      updated.</para></listitem>
-</itemizedlist>
-
-<example><title>Sample template for a module update review</title>
+   </listitem>
+   <listitem>
+    <para>
+     Ensure that removed options are declared with
+     <literal>mkRemovedOptionModule</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     Ensure that changes that are not backward compatible are mentioned in
+     release notes.
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     Ensure that documentations affected by the change is updated.
+    </para>
+   </listitem>
+  </itemizedlist>
+
+  <example>
+   <title>Sample template for a module update review</title>
 <screen>
 ##### Reviewed points
 
@@ -286,51 +453,89 @@ $ nix-shell -p nox --run "nox-review -k pr PRNUMBER"
 
 ##### Comments
 
-</screen></example>
-</section>
-
-<section><title>New modules</title>
-
-<para>New modules submissions introduce a new module to NixOS.</para>
-
-<itemizedlist>
-  <listitem><para>Add labels to the pull-request. (Requires commit
-      rights)</para>
+</screen>
+  </example>
+ </section>
+ <section>
+  <title>New modules</title>
+
+  <para>
+   New modules submissions introduce a new module to NixOS.
+  </para>
+
+  <itemizedlist>
+   <listitem>
+    <para>
+     Add labels to the pull-request. (Requires commit rights)
+    </para>
     <itemizedlist>
-      <listitem><para><literal>8.has: module (new)</literal> and any topic label
-          that fit the module.</para></listitem>
+     <listitem>
+      <para>
+       <literal>8.has: module (new)</literal> and any topic label that fit the
+       module.
+      </para>
+     </listitem>
     </itemizedlist>
-  </listitem>
-  <listitem><para>Ensure that the module tests, if any, are
-      succeeding.</para></listitem>
-  <listitem><para>Ensure that the introduced options are correct.</para>
+   </listitem>
+   <listitem>
+    <para>
+     Ensure that the module tests, if any, are succeeding.
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     Ensure that the introduced options are correct.
+    </para>
     <itemizedlist>
-      <listitem><para>Type should be appropriate (string related types differs
-          in their merging capabilities, <literal>optionSet</literal> and
-          <literal>string</literal> types are deprecated).</para></listitem>
-      <listitem><para>Description, default and example should be
-          provided.</para></listitem>
+     <listitem>
+      <para>
+       Type should be appropriate (string related types differs in their
+       merging capabilities, <literal>optionSet</literal> and
+       <literal>string</literal> types are deprecated).
+      </para>
+     </listitem>
+     <listitem>
+      <para>
+       Description, default and example should be provided.
+      </para>
+     </listitem>
     </itemizedlist>
-  </listitem>
-  <listitem><para>Ensure that module <literal>meta</literal> field is
-      present</para>
+   </listitem>
+   <listitem>
+    <para>
+     Ensure that module <literal>meta</literal> field is present
+    </para>
     <itemizedlist>
-      <listitem><para>Maintainers should be declared in
-          <literal>meta.maintainers</literal>.</para></listitem>
-      <listitem><para>Module documentation should be declared with
-          <literal>meta.doc</literal>.</para></listitem>
+     <listitem>
+      <para>
+       Maintainers should be declared in <literal>meta.maintainers</literal>.
+      </para>
+     </listitem>
+     <listitem>
+      <para>
+       Module documentation should be declared with
+       <literal>meta.doc</literal>.
+      </para>
+     </listitem>
     </itemizedlist>
-  </listitem>
-  <listitem><para>Ensure that the module respect other modules
-      functionality.</para>
+   </listitem>
+   <listitem>
+    <para>
+     Ensure that the module respect other modules functionality.
+    </para>
     <itemizedlist>
-      <listitem><para>For example, enabling a module should not open firewall
-          ports by default.</para></listitem>
+     <listitem>
+      <para>
+       For example, enabling a module should not open firewall ports by
+       default.
+      </para>
+     </listitem>
     </itemizedlist>
-  </listitem>
-</itemizedlist>
+   </listitem>
+  </itemizedlist>
 
-<example><title>Sample template for a new module review</title>
+  <example>
+   <title>Sample template for a new module review</title>
 <screen>
 ##### Reviewed points
 
@@ -348,32 +553,41 @@ $ nix-shell -p nox --run "nox-review -k pr PRNUMBER"
 
 ##### Comments
 
-</screen></example>
-</section>
-
-<section><title>Other submissions</title>
-
-<para>Other type of submissions requires different reviewing steps.</para>
-
-<para>If you consider having enough knowledge and experience in a topic and
-  would like to be a long-term reviewer for related submissions, please contact
-  the current reviewers for that topic. They will give you information about the
-  reviewing process.
-The main reviewers for a topic can be hard to find as there is no list, but
-checking past pull-requests to see who reviewed or git-blaming the code to see
-who committed to that topic can give some hints.</para>
-
-<para>Container system, boot system and library changes are some examples of the
-  pull requests fitting this category.</para>
-
-</section>
-
-<section><title>Merging pull-requests</title>
-
-<para>It is possible for community members that have enough knowledge and
-  experience on a special topic to contribute by merging pull requests.</para>
-
-<para>TODO: add the procedure to request merging rights.</para>
+</screen>
+  </example>
+ </section>
+ <section>
+  <title>Other submissions</title>
+
+  <para>
+   Other type of submissions requires different reviewing steps.
+  </para>
+
+  <para>
+   If you consider having enough knowledge and experience in a topic and would
+   like to be a long-term reviewer for related submissions, please contact the
+   current reviewers for that topic. They will give you information about the
+   reviewing process. The main reviewers for a topic can be hard to find as
+   there is no list, but checking past pull-requests to see who reviewed or
+   git-blaming the code to see who committed to that topic can give some hints.
+  </para>
+
+  <para>
+   Container system, boot system and library changes are some examples of the
+   pull requests fitting this category.
+  </para>
+ </section>
+ <section>
+  <title>Merging pull-requests</title>
+
+  <para>
+   It is possible for community members that have enough knowledge and
+   experience on a special topic to contribute by merging pull requests.
+  </para>
+
+  <para>
+   TODO: add the procedure to request merging rights.
+  </para>
 
 <!--
 The following paragraph about how to deal with unactive contributors is just a
@@ -384,10 +598,11 @@ policy.
   three months will have their commit rights revoked.</para>
 -->
 
-<para>In a case a contributor leaves definitively the Nix community, he should
-  create an issue or notify the mailing list with references of packages and
-  modules he maintains so the maintainership can be taken over by other
-  contributors.</para>
-
-</section>
+  <para>
+   In a case a contributor leaves definitively the Nix community, he should
+   create an issue or notify the mailing list with references of packages and
+   modules he maintains so the maintainership can be taken over by other
+   contributors.
+  </para>
+ </section>
 </chapter>
diff --git a/doc/shell.nix b/doc/shell.nix
new file mode 100644
index 00000000000..e8da2eaf16b
--- /dev/null
+++ b/doc/shell.nix
@@ -0,0 +1,5 @@
+{ pkgs ? import ../. {} }:
+(import ./default.nix).overrideAttrs (x: {
+  buildInputs = x.buildInputs ++ [ pkgs.xmloscopy ];
+
+})
diff --git a/doc/shell.md b/doc/shell.section.md
index 079574d4ae8..cb8832a814f 100644
--- a/doc/shell.md
+++ b/doc/shell.section.md
@@ -4,6 +4,8 @@ author: zimbatm
 date: 2017-10-30
 ---
 
+# mkShell
+
 pkgs.mkShell is a special kind of derivation that is only useful when using
 it combined with nix-shell. It will in fact fail to instantiate when invoked
 with nix-build.
diff --git a/doc/stdenv.xml b/doc/stdenv.xml
index 2a3316b8d01..78fa1d209b5 100644
--- a/doc/stdenv.xml
+++ b/doc/stdenv.xml
@@ -1,27 +1,24 @@
 <chapter xmlns="http://docbook.org/ns/docbook"
          xmlns:xlink="http://www.w3.org/1999/xlink"
          xml:id="chap-stdenv">
-
-<title>The Standard Environment</title>
-
-
-<para>The standard build environment in the Nix Packages collection
-provides an environment for building Unix packages that does a lot of
-common build tasks automatically.  In fact, for Unix packages that use
-the standard <literal>./configure; make; make install</literal> build
-interface, you don’t need to write a build script at all; the standard
-environment does everything automatically.  If
-<literal>stdenv</literal> doesn’t do what you need automatically, you
-can easily customise or override the various build phases.</para>
-
-
-<section xml:id="sec-using-stdenv"><title>Using
-<literal>stdenv</literal></title>
-
-<para>To build a package with the standard environment, you use the
-function <varname>stdenv.mkDerivation</varname>, instead of the
-primitive built-in function <varname>derivation</varname>, e.g.
-
+ <title>The Standard Environment</title>
+ <para>
+  The standard build environment in the Nix Packages collection provides an
+  environment for building Unix packages that does a lot of common build tasks
+  automatically. In fact, for Unix packages that use the standard
+  <literal>./configure; make; make install</literal> build interface, you
+  don’t need to write a build script at all; the standard environment does
+  everything automatically. If <literal>stdenv</literal> doesn’t do what you
+  need automatically, you can easily customise or override the various build
+  phases.
+ </para>
+ <section xml:id="sec-using-stdenv">
+  <title>Using <literal>stdenv</literal></title>
+
+  <para>
+   To build a package with the standard environment, you use the function
+   <varname>stdenv.mkDerivation</varname>, instead of the primitive built-in
+   function <varname>derivation</varname>, e.g.
 <programlisting>
 stdenv.mkDerivation {
   name = "libfoo-1.2.3";
@@ -30,39 +27,35 @@ stdenv.mkDerivation {
     sha256 = "0x2g1jqygyr5wiwg4ma1nd7w4ydpy82z9gkcv8vh2v8dn3y58v5m";
   };
 }</programlisting>
-
-(<varname>stdenv</varname> needs to be in scope, so if you write this
-in a separate Nix expression from
-<filename>pkgs/all-packages.nix</filename>, you need to pass it as a
-function argument.)  Specifying a <varname>name</varname> and a
-<varname>src</varname> is the absolute minimum you need to do.  Many
-packages have dependencies that are not provided in the standard
-environment.  It’s usually sufficient to specify those dependencies in
-the <varname>buildInputs</varname> attribute:
-
+   (<varname>stdenv</varname> needs to be in scope, so if you write this in a
+   separate Nix expression from <filename>pkgs/all-packages.nix</filename>, you
+   need to pass it as a function argument.) Specifying a
+   <varname>name</varname> and a <varname>src</varname> is the absolute minimum
+   you need to do. Many packages have dependencies that are not provided in the
+   standard environment. It’s usually sufficient to specify those
+   dependencies in the <varname>buildInputs</varname> attribute:
 <programlisting>
 stdenv.mkDerivation {
   name = "libfoo-1.2.3";
   ...
   buildInputs = [libbar perl ncurses];
 }</programlisting>
-
-This attribute ensures that the <filename>bin</filename>
-subdirectories of these packages appear in the <envar>PATH</envar>
-environment variable during the build, that their
-<filename>include</filename> subdirectories are searched by the C
-compiler, and so on.  (See <xref linkend="ssec-setup-hooks"/> for
-details.)</para>
-
-<para>Often it is necessary to override or modify some aspect of the
-build.  To make this easier, the standard environment breaks the
-package build into a number of <emphasis>phases</emphasis>, all of
-which can be overridden or modified individually: unpacking the
-sources, applying patches, configuring, building, and installing.
-(There are some others; see <xref linkend="sec-stdenv-phases"/>.)
-For instance, a package that doesn’t supply a makefile but instead has
-to be compiled “manually” could be handled like this:
-
+   This attribute ensures that the <filename>bin</filename> subdirectories of
+   these packages appear in the <envar>PATH</envar> environment variable during
+   the build, that their <filename>include</filename> subdirectories are
+   searched by the C compiler, and so on. (See
+   <xref linkend="ssec-setup-hooks"/> for details.)
+  </para>
+
+  <para>
+   Often it is necessary to override or modify some aspect of the build. To
+   make this easier, the standard environment breaks the package build into a
+   number of <emphasis>phases</emphasis>, all of which can be overridden or
+   modified individually: unpacking the sources, applying patches, configuring,
+   building, and installing. (There are some others; see
+   <xref linkend="sec-stdenv-phases"/>.) For instance, a package that doesn’t
+   supply a makefile but instead has to be compiled “manually” could be
+   handled like this:
 <programlisting>
 stdenv.mkDerivation {
   name = "fnord-4.5";
@@ -75,35 +68,33 @@ stdenv.mkDerivation {
     cp foo $out/bin
   '';
 }</programlisting>
-
-(Note the use of <literal>''</literal>-style string literals, which
-are very convenient for large multi-line script fragments because they
-don’t need escaping of <literal>"</literal> and <literal>\</literal>,
-and because indentation is intelligently removed.)</para>
-
-<para>There are many other attributes to customise the build.  These
-are listed in <xref linkend="ssec-stdenv-attributes"/>.</para>
-
-<para>While the standard environment provides a generic builder, you
-can still supply your own build script:
-
+   (Note the use of <literal>''</literal>-style string literals, which are very
+   convenient for large multi-line script fragments because they don’t need
+   escaping of <literal>"</literal> and <literal>\</literal>, and because
+   indentation is intelligently removed.)
+  </para>
+
+  <para>
+   There are many other attributes to customise the build. These are listed in
+   <xref linkend="ssec-stdenv-attributes"/>.
+  </para>
+
+  <para>
+   While the standard environment provides a generic builder, you can still
+   supply your own build script:
 <programlisting>
 stdenv.mkDerivation {
   name = "libfoo-1.2.3";
   ...
   builder = ./builder.sh;
 }</programlisting>
-
-where the builder can do anything it wants, but typically starts with
-
+   where the builder can do anything it wants, but typically starts with
 <programlisting>
 source $stdenv/setup
 </programlisting>
-
-to let <literal>stdenv</literal> set up the environment (e.g., process
-the <varname>buildInputs</varname>).  If you want, you can still use
-<literal>stdenv</literal>’s generic builder:
-
+   to let <literal>stdenv</literal> set up the environment (e.g., process the
+   <varname>buildInputs</varname>). If you want, you can still use
+   <literal>stdenv</literal>’s generic builder:
 <programlisting>
 source $stdenv/setup
 
@@ -119,116 +110,186 @@ installPhase() {
 
 genericBuild
 </programlisting>
-
-</para>
-
-</section>
-
-
-<section xml:id="sec-tools-of-stdenv"><title>Tools provided by
-<literal>stdenv</literal></title>
-
-<para>The standard environment provides the following packages:
-
-<itemizedlist>
-
-  <listitem><para>The GNU C Compiler, configured with C and C++
-  support.</para></listitem>
-
-  <listitem><para>GNU coreutils (contains a few dozen standard Unix
-  commands).</para></listitem>
-
-  <listitem><para>GNU findutils (contains
-  <command>find</command>).</para></listitem>
-
-  <listitem><para>GNU diffutils (contains <command>diff</command>,
-  <command>cmp</command>).</para></listitem>
-
-  <listitem><para>GNU <command>sed</command>.</para></listitem>
-
-  <listitem><para>GNU <command>grep</command>.</para></listitem>
-
-  <listitem><para>GNU <command>awk</command>.</para></listitem>
-
-  <listitem><para>GNU <command>tar</command>.</para></listitem>
-
-  <listitem><para><command>gzip</command>, <command>bzip2</command>
-  and <command>xz</command>.</para></listitem>
-
-  <listitem><para>GNU Make.  It has been patched to provide
-  <quote>nested</quote> output that can be fed into the
-  <command>nix-log2xml</command> command and
-  <command>log2html</command> stylesheet to create a structured,
-  readable output of the build steps performed by
-  Make.</para></listitem>
-
-  <listitem><para>Bash.  This is the shell used for all builders in
-  the Nix Packages collection.  Not using <command>/bin/sh</command>
-  removes a large source of portability problems.</para></listitem>
-
-  <listitem><para>The <command>patch</command>
-  command.</para></listitem>
-
-</itemizedlist>
-
-</para>
-
-<para>On Linux, <literal>stdenv</literal> also includes the
-<command>patchelf</command> utility.</para>
-
-</section>
-
-
-<section xml:id="ssec-stdenv-dependencies"><title>Specifying dependencies</title>
-
-<para>
-  As described in the Nix manual, almost any <filename>*.drv</filename> store path in a derivation's attribute set will induce a dependency on that derivation.
-  <varname>mkDerivation</varname>, however, takes a few attributes intended to, between them, include all the dependencies of a package.
-  This is done both for structure and consistency, but also so that certain other setup can take place.
-  For example, certain dependencies need their bin directories added to the <envar>PATH</envar>.
-  That is built-in, but other setup is done via a pluggable mechanism that works in conjunction with these dependency attributes.
-  See <xref linkend="ssec-setup-hooks"/> for details.
-</para>
-<para>
-  Dependencies can be broken down along three axes: their host and target platforms relative to the new derivation's, and whether they are propagated.
-  The platform distinctions are motivated by cross compilation; see <xref linkend="chap-cross"/> for exactly what each platform means.
-  <footnote><para>
-    The build platform is ignored because it is a mere implementation detail of the package satisfying the dependency:
-    As a general programming principle, dependencies are always <emphasis>specified</emphasis> as interfaces, not concrete implementation.
-  </para></footnote>
-  But even if one is not cross compiling, the platforms imply whether or not the dependency is needed at run-time or build-time, a concept that makes perfect sense outside of cross compilation.
-  For now, the run-time/build-time distinction is just a hint for mental clarity, but in the future it perhaps could be enforced.
-</para>
-<para>
-  The extension of <envar>PATH</envar> with dependencies, alluded to above, proceeds according to the relative platforms alone.
-  The process is carried out only for dependencies whose host platform matches the new derivation's build platform–i.e. which run on the platform where the new derivation will be built.
-  <footnote><para>
-    Currently, that means for native builds all dependencies are put on the <envar>PATH</envar>.
-    But in the future that may not be the case for sake of matching cross:
-    the platforms would be assumed to be unique for native and cross builds alike, so only the <varname>depsBuild*</varname> and <varname>nativeBuildDependencies</varname> dependencies would affect the <envar>PATH</envar>.
-  </para></footnote>
-  For each dependency <replaceable>dep</replaceable> of those dependencies, <filename><replaceable>dep</replaceable>/bin</filename>, if present, is added to the <envar>PATH</envar> environment variable.
-</para>
-<para>
-  The dependency is propagated when it forces some of its other-transitive (non-immediate) downstream dependencies to also take it on as an immediate dependency.
-  Nix itself already takes a package's transitive dependencies into account, but this propagation ensures nixpkgs-specific infrastructure like setup hooks (mentioned above) also are run as if the propagated dependency.
-</para>
-<para>
-  It is important to note dependencies are not necessary propagated as the same sort of dependency that they were before, but rather as the corresponding sort so that the platform rules still line up.
-  The exact rules for dependency propagation can be given by assigning each sort of dependency two integers based one how it's host and target platforms are offset from the depending derivation's platforms.
-  Those offsets are given are given below in the descriptions of each dependency list attribute.
-  Algorithmically, we traverse propagated inputs, accumulating every propagated dep's propagated deps and adjusting them to account for the "shift in perspective" described by the current dep's platform offsets.
-  This results in sort a transitive closure of the dependency relation, with the offsets being approximately summed when two dependency links are combined.
-  We also prune transitive deps whose combined offsets go out-of-bounds, which can be viewed as a filter over that transitive closure removing dependencies that are blatantly absurd.
-</para>
-<para>
-  We can define the process precisely with <link xlink:href="https://en.wikipedia.org/wiki/Natural_deduction">Natural Deduction</link> using the inference rules.
-  This probably seems a bit obtuse, but so is the bash code that actually implements it!
-  <footnote><para>
-    The <function>findInputs</function> function, currently residing in <filename>pkgs/stdenv/generic/setup.sh</filename>, implements the propagation logic.
-  </para></footnote>
-  They're confusing in very different ways so...hopefully if something doesn't make sense in one presentation, it does in the other!
-  <programlisting>
+  </para>
+ </section>
+ <section xml:id="sec-tools-of-stdenv">
+  <title>Tools provided by <literal>stdenv</literal></title>
+
+  <para>
+   The standard environment provides the following packages:
+   <itemizedlist>
+    <listitem>
+     <para>
+      The GNU C Compiler, configured with C and C++ support.
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      GNU coreutils (contains a few dozen standard Unix commands).
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      GNU findutils (contains <command>find</command>).
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      GNU diffutils (contains <command>diff</command>, <command>cmp</command>).
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      GNU <command>sed</command>.
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      GNU <command>grep</command>.
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      GNU <command>awk</command>.
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      GNU <command>tar</command>.
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      <command>gzip</command>, <command>bzip2</command> and
+      <command>xz</command>.
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      GNU Make. It has been patched to provide <quote>nested</quote> output
+      that can be fed into the <command>nix-log2xml</command> command and
+      <command>log2html</command> stylesheet to create a structured, readable
+      output of the build steps performed by Make.
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      Bash. This is the shell used for all builders in the Nix Packages
+      collection. Not using <command>/bin/sh</command> removes a large source
+      of portability problems.
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      The <command>patch</command> command.
+     </para>
+    </listitem>
+   </itemizedlist>
+  </para>
+
+  <para>
+   On Linux, <literal>stdenv</literal> also includes the
+   <command>patchelf</command> utility.
+  </para>
+ </section>
+ <section xml:id="ssec-stdenv-dependencies">
+  <title>Specifying dependencies</title>
+
+  <para>
+   As described in the Nix manual, almost any <filename>*.drv</filename> store
+   path in a derivation's attribute set will induce a dependency on that
+   derivation. <varname>mkDerivation</varname>, however, takes a few attributes
+   intended to, between them, include all the dependencies of a package. This
+   is done both for structure and consistency, but also so that certain other
+   setup can take place. For example, certain dependencies need their bin
+   directories added to the <envar>PATH</envar>. That is built-in, but other
+   setup is done via a pluggable mechanism that works in conjunction with these
+   dependency attributes. See <xref linkend="ssec-setup-hooks"/> for details.
+  </para>
+
+  <para>
+   Dependencies can be broken down along three axes: their host and target
+   platforms relative to the new derivation's, and whether they are propagated.
+   The platform distinctions are motivated by cross compilation; see
+   <xref linkend="chap-cross"/> for exactly what each platform means.
+   <footnote>
+    <para>
+     The build platform is ignored because it is a mere implementation detail
+     of the package satisfying the dependency: As a general programming
+     principle, dependencies are always <emphasis>specified</emphasis> as
+     interfaces, not concrete implementation.
+    </para>
+   </footnote>
+   But even if one is not cross compiling, the platforms imply whether or not
+   the dependency is needed at run-time or build-time, a concept that makes
+   perfect sense outside of cross compilation. For now, the run-time/build-time
+   distinction is just a hint for mental clarity, but in the future it perhaps
+   could be enforced.
+  </para>
+
+  <para>
+   The extension of <envar>PATH</envar> with dependencies, alluded to above,
+   proceeds according to the relative platforms alone. The process is carried
+   out only for dependencies whose host platform matches the new derivation's
+   build platform–i.e. which run on the platform where the new derivation
+   will be built.
+   <footnote>
+    <para>
+     Currently, that means for native builds all dependencies are put on the
+     <envar>PATH</envar>. But in the future that may not be the case for sake
+     of matching cross: the platforms would be assumed to be unique for native
+     and cross builds alike, so only the <varname>depsBuild*</varname> and
+     <varname>nativeBuildDependencies</varname> dependencies would affect the
+     <envar>PATH</envar>.
+    </para>
+   </footnote>
+   For each dependency <replaceable>dep</replaceable> of those dependencies,
+   <filename><replaceable>dep</replaceable>/bin</filename>, if present, is
+   added to the <envar>PATH</envar> environment variable.
+  </para>
+
+  <para>
+   The dependency is propagated when it forces some of its other-transitive
+   (non-immediate) downstream dependencies to also take it on as an immediate
+   dependency. Nix itself already takes a package's transitive dependencies
+   into account, but this propagation ensures nixpkgs-specific infrastructure
+   like setup hooks (mentioned above) also are run as if the propagated
+   dependency.
+  </para>
+
+  <para>
+   It is important to note dependencies are not necessary propagated as the
+   same sort of dependency that they were before, but rather as the
+   corresponding sort so that the platform rules still line up. The exact rules
+   for dependency propagation can be given by assigning each sort of dependency
+   two integers based one how it's host and target platforms are offset from
+   the depending derivation's platforms. Those offsets are given are given
+   below in the descriptions of each dependency list attribute.
+   Algorithmically, we traverse propagated inputs, accumulating every
+   propagated dep's propagated deps and adjusting them to account for the
+   "shift in perspective" described by the current dep's platform offsets. This
+   results in sort a transitive closure of the dependency relation, with the
+   offsets being approximately summed when two dependency links are combined.
+   We also prune transitive deps whose combined offsets go out-of-bounds, which
+   can be viewed as a filter over that transitive closure removing dependencies
+   that are blatantly absurd.
+  </para>
+
+  <para>
+   We can define the process precisely with
+   <link xlink:href="https://en.wikipedia.org/wiki/Natural_deduction">Natural
+   Deduction</link> using the inference rules. This probably seems a bit
+   obtuse, but so is the bash code that actually implements it!
+   <footnote>
+    <para>
+     The <function>findInputs</function> function, currently residing in
+     <filename>pkgs/stdenv/generic/setup.sh</filename>, implements the
+     propagation logic.
+    </para>
+   </footnote>
+   They're confusing in very different ways so...hopefully if something doesn't
+   make sense in one presentation, it does in the other!
+<programlisting>
 let mapOffset(h, t, i) = i + (if i &lt;= 0 then h else t - 1)
 
 propagated-dep(h0, t0, A, B)
@@ -239,7 +300,7 @@ h0 + t1 in {-1, 0, 1}
 propagated-dep(mapOffset(h0, t0, h1),
                mapOffset(h0, t0, t1),
                A, C)</programlisting>
-  <programlisting>
+<programlisting>
 let mapOffset(h, t, i) = i + (if i &lt;= 0 then h else t - 1)
 
 dep(h0, _, A, B)
@@ -250,1139 +311,1467 @@ h0 + t1 in {-1, 0, -1}
 propagated-dep(mapOffset(h0, t0, h1),
                mapOffset(h0, t0, t1),
                A, C)</programlisting>
-  <programlisting>
+<programlisting>
 propagated-dep(h, t, A, B)
 -------------------------------------- Propagated deps count as deps
 dep(h, t, A, B)</programlisting>
-  Some explanation of this monstrosity is in order.
-  In the common case, the target offset of a dependency is the successor to the target offset: <literal>t = h + 1</literal>.
-  That means that:
-  <programlisting>
+   Some explanation of this monstrosity is in order. In the common case, the
+   target offset of a dependency is the successor to the target offset:
+   <literal>t = h + 1</literal>. That means that:
+<programlisting>
 let f(h, t, i) = i + (if i &lt;= 0 then h else t - 1)
 let f(h, h + 1, i) = i + (if i &lt;= 0 then h else (h + 1) - 1)
 let f(h, h + 1, i) = i + (if i &lt;= 0 then h else h)
 let f(h, h + 1, i) = i + h
   </programlisting>
-  This is where the "sum-like" comes from above:
-  We can just sum all the host offset to get the host offset of the transitive dependency.
-  The target offset is the transitive dep is simply the host offset + 1, just as it was with the dependencies composed to make this transitive one;
-  it can be ignored as it doesn't add any new information.
-</para>
-<para>
-  Because of the bounds checks, the uncommon cases are <literal>h = t</literal> and <literal>h + 2 = t</literal>.
-  In the former case, the motivation for <function>mapOffset</function> is that since its host and target platforms are the same, no transitive dep of it should be able to "discover" an offset greater than its reduced target offsets.
-  <function>mapOffset</function> effectively "squashes" all its transitive dependencies' offsets so that none will ever be greater than the target offset of the original <literal>h = t</literal> package.
-  In the other case, <literal>h + 1</literal> is skipped over between the host and target offsets.
-  Instead of squashing the offsets, we need to "rip" them apart so no transitive dependencies' offset is that one.
-</para>
-<para>
-Overall, the unifying theme here is that propagation shouldn't be introducing transitive dependencies involving platforms the needing package is unaware of.
-The offset bounds checking and definition of <function>mapOffset</function> together ensure that this is the case.
-Discovering a new offset is discovering a new platform, and since those platforms weren't in the derivation "spec" of the needing package, they cannot be relevant.
-From a capability perspective, we can imagine that the host and target platforms of a package are the capabilities a package requires, and the depending package must provide the capability to the dependency.
-</para>
-
-<variablelist>
-  <title>Variables specifying dependencies</title>
-
+   This is where the "sum-like" comes from above: We can just sum all the host
+   offset to get the host offset of the transitive dependency. The target
+   offset is the transitive dep is simply the host offset + 1, just as it was
+   with the dependencies composed to make this transitive one; it can be
+   ignored as it doesn't add any new information.
+  </para>
+
+  <para>
+   Because of the bounds checks, the uncommon cases are <literal>h =
+   t</literal> and <literal>h + 2 = t</literal>. In the former case, the
+   motivation for <function>mapOffset</function> is that since its host and
+   target platforms are the same, no transitive dep of it should be able to
+   "discover" an offset greater than its reduced target offsets.
+   <function>mapOffset</function> effectively "squashes" all its transitive
+   dependencies' offsets so that none will ever be greater than the target
+   offset of the original <literal>h = t</literal> package. In the other case,
+   <literal>h + 1</literal> is skipped over between the host and target
+   offsets. Instead of squashing the offsets, we need to "rip" them apart so no
+   transitive dependencies' offset is that one.
+  </para>
+
+  <para>
+   Overall, the unifying theme here is that propagation shouldn't be
+   introducing transitive dependencies involving platforms the needing package
+   is unaware of. The offset bounds checking and definition of
+   <function>mapOffset</function> together ensure that this is the case.
+   Discovering a new offset is discovering a new platform, and since those
+   platforms weren't in the derivation "spec" of the needing package, they
+   cannot be relevant. From a capability perspective, we can imagine that the
+   host and target platforms of a package are the capabilities a package
+   requires, and the depending package must provide the capability to the
+   dependency.
+  </para>
+
+  <variablelist>
+   <title>Variables specifying dependencies</title>
    <varlistentry>
-     <term><varname>depsBuildBuild</varname></term>
-     <listitem>
-       <para>
-         A list of dependencies whose host and target platforms are the new derivation's build platform.
-         This means a <literal>-1</literal> host and <literal>-1</literal> target offset from the new derivation's platforms.
-         They are programs/libraries used at build time that furthermore produce programs/libraries also used at build time.
-         If the dependency doesn't care about the target platform (i.e. isn't a compiler or similar tool), put it in <varname>nativeBuildInputs</varname>instead.
-         The most common use for this <literal>buildPackages.stdenv.cc</literal>, the default C compiler for this role.
-         That example crops up more than one might think in old commonly used C libraries.
-       </para>
-       <para>
-         Since these packages are able to be run at build time, that are always added to the <envar>PATH</envar>, as described above.
-         But since these packages are only guaranteed to be able to run then, they shouldn't persist as run-time dependencies.
-         This isn't currently enforced, but could be in the future.
-       </para>
-     </listitem>
-  </varlistentry>
-
-  <varlistentry>
-    <term><varname>nativeBuildInputs</varname></term>
+    <term><varname>depsBuildBuild</varname>
+    </term>
     <listitem>
-      <para>
-        A list of dependencies whose host platform is the new derivation's build platform, and target platform is the new derivation's host platform.
-        This means a <literal>-1</literal> host offset and <literal>0</literal> target offset from the new derivation's platforms.
-        They are programs/libraries used at build time that, if they are a compiler or similar tool, produce code to run at run time—i.e. tools used to build the new derivation.
-        If the dependency doesn't care about the target platform (i.e. isn't a compiler or similar tool), put it here, rather than in <varname>depsBuildBuild</varname> or <varname>depsBuildTarget</varname>.
-        This would be called <varname>depsBuildHost</varname> but for historical continuity.
-      </para>
-      <para>
-         Since these packages are able to be run at build time, that are added to the <envar>PATH</envar>, as described above.
-         But since these packages only are guaranteed to be able to run then, they shouldn't persist as run-time dependencies.
-         This isn't currently enforced, but could be in the future.
-       </para>
+     <para>
+      A list of dependencies whose host and target platforms are the new
+      derivation's build platform. This means a <literal>-1</literal> host and
+      <literal>-1</literal> target offset from the new derivation's platforms.
+      They are programs/libraries used at build time that furthermore produce
+      programs/libraries also used at build time. If the dependency doesn't
+      care about the target platform (i.e. isn't a compiler or similar tool),
+      put it in <varname>nativeBuildInputs</varname>instead. The most common
+      use for this <literal>buildPackages.stdenv.cc</literal>, the default C
+      compiler for this role. That example crops up more than one might think
+      in old commonly used C libraries.
+     </para>
+     <para>
+      Since these packages are able to be run at build time, that are always
+      added to the <envar>PATH</envar>, as described above. But since these
+      packages are only guaranteed to be able to run then, they shouldn't
+      persist as run-time dependencies. This isn't currently enforced, but
+      could be in the future.
+     </para>
     </listitem>
-  </varlistentry>
-
-  <varlistentry>
-    <term><varname>depsBuildTarget</varname></term>
+   </varlistentry>
+   <varlistentry>
+    <term><varname>nativeBuildInputs</varname>
+    </term>
     <listitem>
-      <para>
-        A list of dependencies whose host platform is the new derivation's build platform, and target platform is the new derivation's target platform.
-        This means a <literal>-1</literal> host offset and <literal>1</literal> target offset from the new derivation's platforms.
-        They are programs used at build time that produce code to run at run with code produced by the depending package.
-        Most commonly, these would tools used to build the runtime or standard library the currently-being-built compiler will inject into any code it compiles.
-        In many cases, the currently-being built compiler is itself employed for that task, but when that compiler won't run (i.e. its build and host platform differ) this is not possible.
-        Other times, the compiler relies on some other tool, like binutils, that is always built separately so the dependency is unconditional.
-      </para>
-      <para>
-        This is a somewhat confusing dependency to wrap ones head around, and for good reason.
-        As the only one where the platform offsets are not adjacent integers, it requires thinking of a bootstrapping stage <emphasis>two</emphasis> away from the current one.
-        It and it's use-case go hand in hand and are both considered poor form:
-        try not to need this sort dependency, and try not avoid building standard libraries / runtimes in the same derivation as the compiler produces code using them.
-        Instead strive to build those like a normal library, using the newly-built compiler just as a normal library would.
-        In short, do not use this attribute unless you are packaging a compiler and are sure it is needed.
+     <para>
+      A list of dependencies whose host platform is the new derivation's build
+      platform, and target platform is the new derivation's host platform. This
+      means a <literal>-1</literal> host offset and <literal>0</literal> target
+      offset from the new derivation's platforms. They are programs/libraries
+      used at build time that, if they are a compiler or similar tool, produce
+      code to run at run time—i.e. tools used to build the new derivation. If
+      the dependency doesn't care about the target platform (i.e. isn't a
+      compiler or similar tool), put it here, rather than in
+      <varname>depsBuildBuild</varname> or <varname>depsBuildTarget</varname>.
+      This would be called <varname>depsBuildHost</varname> but for historical
+      continuity.
      </para>
      <para>
-       Since these packages are able to be run at build time, that are added to the <envar>PATH</envar>, as described above.
-       But since these packages only are guaranteed to be able to run then, they shouldn't persist as run-time dependencies.
-       This isn't currently enforced, but could be in the future.
+      Since these packages are able to be run at build time, that are added to
+      the <envar>PATH</envar>, as described above. But since these packages
+      only are guaranteed to be able to run then, they shouldn't persist as
+      run-time dependencies. This isn't currently enforced, but could be in the
+      future.
      </para>
     </listitem>
-  </varlistentry>
-
-  <varlistentry>
-    <term><varname>depsHostHost</varname></term>
-    <listitem><para>
-      A list of dependencies whose host and target platforms match the new derivation's host platform.
-      This means a both <literal>0</literal> host offset and <literal>0</literal> target offset from the new derivation's host platform.
-      These are packages used at run-time to generate code also used at run-time.
-      In practice, that would usually be tools used by compilers for metaprogramming/macro systems, or libraries used by the macros/metaprogramming code itself.
-      It's always preferable to use a <varname>depsBuildBuild</varname> dependency in the derivation being built than a <varname>depsHostHost</varname> on the tool doing the building for this purpose.
-    </para></listitem>
-  </varlistentry>
-
-  <varlistentry>
-    <term><varname>buildInputs</varname></term>
+   </varlistentry>
+   <varlistentry>
+    <term><varname>depsBuildTarget</varname>
+    </term>
     <listitem>
-      <para>
-        A list of dependencies whose host platform and target platform match the new derivation's.
-        This means a <literal>0</literal> host offset and <literal>1</literal> target offset from the new derivation's host platform.
-        This would be called <varname>depsHostTarget</varname> but for historical continuity.
-        If the dependency doesn't care about the target platform (i.e. isn't a compiler or similar tool), put it here, rather than in <varname>depsBuildBuild</varname>.
-      </para>
-      <para>
-        These often are programs/libraries used by the new derivation at <emphasis>run</emphasis>-time, but that isn't always the case.
-        For example, the machine code in a statically linked library is only used at run time, but the derivation containing the library is only needed at build time.
-        Even in the dynamic case, the library may also be needed at build time to appease the linker.
-      </para>
+     <para>
+      A list of dependencies whose host platform is the new derivation's build
+      platform, and target platform is the new derivation's target platform.
+      This means a <literal>-1</literal> host offset and <literal>1</literal>
+      target offset from the new derivation's platforms. They are programs used
+      at build time that produce code to run at run with code produced by the
+      depending package. Most commonly, these would tools used to build the
+      runtime or standard library the currently-being-built compiler will
+      inject into any code it compiles. In many cases, the currently-being
+      built compiler is itself employed for that task, but when that compiler
+      won't run (i.e. its build and host platform differ) this is not possible.
+      Other times, the compiler relies on some other tool, like binutils, that
+      is always built separately so the dependency is unconditional.
+     </para>
+     <para>
+      This is a somewhat confusing dependency to wrap ones head around, and for
+      good reason. As the only one where the platform offsets are not adjacent
+      integers, it requires thinking of a bootstrapping stage
+      <emphasis>two</emphasis> away from the current one. It and it's use-case
+      go hand in hand and are both considered poor form: try not to need this
+      sort dependency, and try not avoid building standard libraries / runtimes
+      in the same derivation as the compiler produces code using them. Instead
+      strive to build those like a normal library, using the newly-built
+      compiler just as a normal library would. In short, do not use this
+      attribute unless you are packaging a compiler and are sure it is needed.
+     </para>
+     <para>
+      Since these packages are able to be run at build time, that are added to
+      the <envar>PATH</envar>, as described above. But since these packages
+      only are guaranteed to be able to run then, they shouldn't persist as
+      run-time dependencies. This isn't currently enforced, but could be in the
+      future.
+     </para>
     </listitem>
-  </varlistentry>
-
-  <varlistentry>
-    <term><varname>depsTargetTarget</varname></term>
-    <listitem><para>
-      A list of dependencies whose host platform matches the new derivation's target platform.
-      This means a <literal>1</literal> offset from the new derivation's platforms.
-      These are packages that run on the target platform, e.g. the standard library or run-time deps of standard library that a compiler insists on knowing about.
-      It's poor form in almost all cases for a package to depend on another from a future stage [future stage corresponding to positive offset].
-      Do not use this attribute unless you are packaging a compiler and are sure it is needed.
-    </para></listitem>
-  </varlistentry>
-
-  <varlistentry>
-    <term><varname>depsBuildBuildPropagated</varname></term>
-    <listitem><para>
-      The propagated equivalent of <varname>depsBuildBuild</varname>.
-      This perhaps never ought to be used, but it is included for consistency [see below for the others].
-    </para></listitem>
-  </varlistentry>
-
-  <varlistentry>
-    <term><varname>propagatedNativeBuildInputs</varname></term>
-    <listitem><para>
-      The propagated equivalent of <varname>nativeBuildInputs</varname>.
-      This would be called <varname>depsBuildHostPropagated</varname> but for historical continuity.
-      For example, if package <varname>Y</varname> has <literal>propagatedNativeBuildInputs = [X]</literal>, and package <varname>Z</varname> has <literal>buildInputs = [Y]</literal>, then package <varname>Z</varname> will be built as if it included package <varname>X</varname> in its <varname>nativeBuildInputs</varname>.
-      If instead, package <varname>Z</varname> has <literal>nativeBuildInputs = [Y]</literal>, then <varname>Z</varname> will be built as if it included <varname>X</varname> in the <varname>depsBuildBuild</varname> of package <varname>Z</varname>, because of the sum of the two <literal>-1</literal> host offsets.
-    </para></listitem>
-  </varlistentry>
-
-  <varlistentry>
-    <term><varname>depsBuildTargetPropagated</varname></term>
-    <listitem><para>
-      The propagated equivalent of <varname>depsBuildTarget</varname>.
-      This is prefixed for the same reason of alerting potential users.
-    </para></listitem>
-  </varlistentry>
-
-  <varlistentry>
-    <term><varname>depsHostHostPropagated</varname></term>
-    <listitem><para>
-      The propagated equivalent of <varname>depsHostHost</varname>.
-    </para></listitem>
-  </varlistentry>
-
-  <varlistentry>
-    <term><varname>propagatedBuildInputs</varname></term>
-    <listitem><para>
-      The propagated equivalent of <varname>buildInputs</varname>.
-      This would be called <varname>depsHostTargetPropagated</varname> but for historical continuity.
-    </para></listitem>
-  </varlistentry>
-
-  <varlistentry>
-    <term><varname>depsTargetTarget</varname></term>
-    <listitem><para>
-      The propagated equivalent of <varname>depsTargetTarget</varname>.
-      This is prefixed for the same reason of alerting potential users.
-    </para></listitem>
-  </varlistentry>
-
-</variablelist>
-
-</section>
-
-
-<section xml:id="ssec-stdenv-attributes"><title>Attributes</title>
-
-<variablelist>
-  <title>Variables affecting <literal>stdenv</literal>
-  initialisation</title>
-
-  <varlistentry>
-    <term><varname>NIX_DEBUG</varname></term>
-    <listitem><para>
-      A natural number indicating how much information to log.
-      If set to 1 or higher, <literal>stdenv</literal> will print moderate debug information during the build.
-      In particular, the <command>gcc</command> and <command>ld</command> wrapper scripts will print out the complete command line passed to the wrapped tools.
-      If set to 6 or higher, the <literal>stdenv</literal> setup script will be run with <literal>set -x</literal> tracing.
-      If set to 7 or higher, the <command>gcc</command> and <command>ld</command> wrapper scripts will also be run with <literal>set -x</literal> tracing.
-    </para></listitem>
-  </varlistentry>
-
-</variablelist>
-
-<variablelist>
-  <title>Variables affecting build properties</title>
-
-  <varlistentry>
-    <term><varname>enableParallelBuilding</varname></term>
+   </varlistentry>
+   <varlistentry>
+    <term><varname>depsHostHost</varname>
+    </term>
     <listitem>
-      <para>If set to <literal>true</literal>, <literal>stdenv</literal> will
-      pass specific flags to <literal>make</literal> and other build tools to
-      enable parallel building with up to <literal>build-cores</literal>
-      workers.</para>
-
-      <para>Unless set to <literal>false</literal>, some build systems with good
-      support for parallel building including <literal>cmake</literal>,
-      <literal>meson</literal>, and <literal>qmake</literal> will set it to
-      <literal>true</literal>.</para>
+     <para>
+      A list of dependencies whose host and target platforms match the new
+      derivation's host platform. This means a both <literal>0</literal> host
+      offset and <literal>0</literal> target offset from the new derivation's
+      host platform. These are packages used at run-time to generate code also
+      used at run-time. In practice, that would usually be tools used by
+      compilers for metaprogramming/macro systems, or libraries used by the
+      macros/metaprogramming code itself. It's always preferable to use a
+      <varname>depsBuildBuild</varname> dependency in the derivation being
+      built than a <varname>depsHostHost</varname> on the tool doing the
+      building for this purpose.
+     </para>
     </listitem>
-  </varlistentry>
-
-  <varlistentry>
-    <term><varname>preferLocalBuild</varname></term>
-    <listitem><para>If set, specifies that the package is so lightweight
-    in terms of build operations (e.g. write a text file from a Nix string
-    to the store) that there's no need to look for it in binary caches --
-    it's faster to just build it locally. It also tells Hydra and other
-    facilities that this package doesn't need to be exported in binary
-    caches (noone would use it, after all).</para></listitem>
-  </varlistentry>
-
-</variablelist>
-
-<variablelist>
-  <title>Special variables</title>
-
-  <varlistentry>
-    <term><varname>passthru</varname></term>
-    <listitem><para>This is an attribute set which can be filled with arbitrary
-    values. For example:
-
-<programlisting>
-passthru = {
-  foo = "bar";
-  baz = {
-    value1 = 4;
-    value2 = 5;
-  };
-}
-</programlisting>
-
-</para>
-
-    <para>Values inside it are not passed to the builder, so you can change
-    them without triggering a rebuild. However, they can be accessed outside of a
-    derivation directly, as if they were set inside a derivation itself, e.g.
-    <literal>hello.baz.value1</literal>. We don't specify any usage or
-    schema of <literal>passthru</literal> - it is meant for values that would be
-    useful outside the derivation in other parts of a Nix expression (e.g. in other
-    derivations). An example would be to convey some specific dependency of your
-    derivation which contains a program with plugins support.  Later, others who
-    make derivations with plugins can use passed-through dependency to ensure that
-    their plugin would be binary-compatible with built program.</para></listitem>
-  </varlistentry>
-
-</variablelist>
-
-</section>
-
-
-<section xml:id="sec-stdenv-phases"><title>Phases</title>
-
-<para>The generic builder has a number of <emphasis>phases</emphasis>.
-Package builds are split into phases to make it easier to override
-specific parts of the build (e.g., unpacking the sources or installing
-the binaries).  Furthermore, it allows a nicer presentation of build
-logs in the Nix build farm.</para>
-
-<para>Each phase can be overridden in its entirety either by setting
-the environment variable
-<varname><replaceable>name</replaceable>Phase</varname> to a string
-containing some shell commands to be executed, or by redefining the
-shell function
-<varname><replaceable>name</replaceable>Phase</varname>.  The former
-is convenient to override a phase from the derivation, while the
-latter is convenient from a build script.
-
-However, typically one only wants to <emphasis>add</emphasis> some
-commands to a phase, e.g. by defining <literal>postInstall</literal>
-or <literal>preFixup</literal>, as skipping some of the default actions
-may have unexpected consequences.
-</para>
-
-
-<section xml:id="ssec-controlling-phases"><title>Controlling
-phases</title>
-
-<para>There are a number of variables that control what phases are
-executed and in what order:
-
-<variablelist>
-  <title>Variables affecting phase control</title>
-
-  <varlistentry>
-    <term><varname>phases</varname></term>
+   </varlistentry>
+   <varlistentry>
+    <term><varname>buildInputs</varname>
+    </term>
     <listitem>
-      <para>Specifies the phases.  You can change the order in which
-      phases are executed, or add new phases, by setting this
-      variable.  If it’s not set, the default value is used, which is
-      <literal>$prePhases unpackPhase patchPhase $preConfigurePhases
-      configurePhase $preBuildPhases buildPhase checkPhase
-      $preInstallPhases installPhase fixupPhase $preDistPhases
-      distPhase $postPhases</literal>.
-      </para>
-
-      <para>Usually, if you just want to add a few phases, it’s more
-      convenient to set one of the variables below (such as
-      <varname>preInstallPhases</varname>), as you then don’t specify
-      all the normal phases.</para>
+     <para>
+      A list of dependencies whose host platform and target platform match the
+      new derivation's. This means a <literal>0</literal> host offset and
+      <literal>1</literal> target offset from the new derivation's host
+      platform. This would be called <varname>depsHostTarget</varname> but for
+      historical continuity. If the dependency doesn't care about the target
+      platform (i.e. isn't a compiler or similar tool), put it here, rather
+      than in <varname>depsBuildBuild</varname>.
+     </para>
+     <para>
+      These often are programs/libraries used by the new derivation at
+      <emphasis>run</emphasis>-time, but that isn't always the case. For
+      example, the machine code in a statically linked library is only used at
+      run time, but the derivation containing the library is only needed at
+      build time. Even in the dynamic case, the library may also be needed at
+      build time to appease the linker.
+     </para>
     </listitem>
-  </varlistentry>
-
-  <varlistentry>
-    <term><varname>prePhases</varname></term>
+   </varlistentry>
+   <varlistentry>
+    <term><varname>depsTargetTarget</varname>
+    </term>
     <listitem>
-      <para>Additional phases executed before any of the default phases.</para>
+     <para>
+      A list of dependencies whose host platform matches the new derivation's
+      target platform. This means a <literal>1</literal> offset from the new
+      derivation's platforms. These are packages that run on the target
+      platform, e.g. the standard library or run-time deps of standard library
+      that a compiler insists on knowing about. It's poor form in almost all
+      cases for a package to depend on another from a future stage [future
+      stage corresponding to positive offset]. Do not use this attribute unless
+      you are packaging a compiler and are sure it is needed.
+     </para>
     </listitem>
-  </varlistentry>
-
-  <varlistentry>
-    <term><varname>preConfigurePhases</varname></term>
+   </varlistentry>
+   <varlistentry>
+    <term><varname>depsBuildBuildPropagated</varname>
+    </term>
     <listitem>
-      <para>Additional phases executed just before the configure phase.</para>
+     <para>
+      The propagated equivalent of <varname>depsBuildBuild</varname>. This
+      perhaps never ought to be used, but it is included for consistency [see
+      below for the others].
+     </para>
     </listitem>
-  </varlistentry>
-
-  <varlistentry>
-    <term><varname>preBuildPhases</varname></term>
+   </varlistentry>
+   <varlistentry>
+    <term><varname>propagatedNativeBuildInputs</varname>
+    </term>
     <listitem>
-      <para>Additional phases executed just before the build phase.</para>
+     <para>
+      The propagated equivalent of <varname>nativeBuildInputs</varname>. This
+      would be called <varname>depsBuildHostPropagated</varname> but for
+      historical continuity. For example, if package <varname>Y</varname> has
+      <literal>propagatedNativeBuildInputs = [X]</literal>, and package
+      <varname>Z</varname> has <literal>buildInputs = [Y]</literal>, then
+      package <varname>Z</varname> will be built as if it included package
+      <varname>X</varname> in its <varname>nativeBuildInputs</varname>. If
+      instead, package <varname>Z</varname> has <literal>nativeBuildInputs =
+      [Y]</literal>, then <varname>Z</varname> will be built as if it included
+      <varname>X</varname> in the <varname>depsBuildBuild</varname> of package
+      <varname>Z</varname>, because of the sum of the two <literal>-1</literal>
+      host offsets.
+     </para>
     </listitem>
-  </varlistentry>
-
-  <varlistentry>
-    <term><varname>preInstallPhases</varname></term>
+   </varlistentry>
+   <varlistentry>
+    <term><varname>depsBuildTargetPropagated</varname>
+    </term>
     <listitem>
-      <para>Additional phases executed just before the install phase.</para>
+     <para>
+      The propagated equivalent of <varname>depsBuildTarget</varname>. This is
+      prefixed for the same reason of alerting potential users.
+     </para>
     </listitem>
-  </varlistentry>
-
-  <varlistentry>
-    <term><varname>preFixupPhases</varname></term>
+   </varlistentry>
+   <varlistentry>
+    <term><varname>depsHostHostPropagated</varname>
+    </term>
+    <listitem>
+     <para>
+      The propagated equivalent of <varname>depsHostHost</varname>.
+     </para>
+    </listitem>
+   </varlistentry>
+   <varlistentry>
+    <term><varname>propagatedBuildInputs</varname>
+    </term>
     <listitem>
-      <para>Additional phases executed just before the fixup phase.</para>
+     <para>
+      The propagated equivalent of <varname>buildInputs</varname>. This would
+      be called <varname>depsHostTargetPropagated</varname> but for historical
+      continuity.
+     </para>
     </listitem>
-  </varlistentry>
-
-  <varlistentry>
-    <term><varname>preDistPhases</varname></term>
+   </varlistentry>
+   <varlistentry>
+    <term><varname>depsTargetTarget</varname>
+    </term>
+    <listitem>
+     <para>
+      The propagated equivalent of <varname>depsTargetTarget</varname>. This is
+      prefixed for the same reason of alerting potential users.
+     </para>
+    </listitem>
+   </varlistentry>
+  </variablelist>
+ </section>
+ <section xml:id="ssec-stdenv-attributes">
+  <title>Attributes</title>
+
+  <variablelist>
+   <title>Variables affecting <literal>stdenv</literal> initialisation</title>
+   <varlistentry>
+    <term><varname>NIX_DEBUG</varname>
+    </term>
     <listitem>
-      <para>Additional phases executed just before the distribution phase.</para>
+     <para>
+      A natural number indicating how much information to log. If set to 1 or
+      higher, <literal>stdenv</literal> will print moderate debug information
+      during the build. In particular, the <command>gcc</command> and
+      <command>ld</command> wrapper scripts will print out the complete command
+      line passed to the wrapped tools. If set to 6 or higher, the
+      <literal>stdenv</literal> setup script will be run with <literal>set
+      -x</literal> tracing. If set to 7 or higher, the <command>gcc</command>
+      and <command>ld</command> wrapper scripts will also be run with
+      <literal>set -x</literal> tracing.
+     </para>
     </listitem>
-  </varlistentry>
+   </varlistentry>
+  </variablelist>
 
-  <varlistentry>
-    <term><varname>postPhases</varname></term>
+  <variablelist>
+   <title>Variables affecting build properties</title>
+   <varlistentry>
+    <term><varname>enableParallelBuilding</varname>
+    </term>
+    <listitem>
+     <para>
+      If set to <literal>true</literal>, <literal>stdenv</literal> will pass
+      specific flags to <literal>make</literal> and other build tools to enable
+      parallel building with up to <literal>build-cores</literal> workers.
+     </para>
+     <para>
+      Unless set to <literal>false</literal>, some build systems with good
+      support for parallel building including <literal>cmake</literal>,
+      <literal>meson</literal>, and <literal>qmake</literal> will set it to
+      <literal>true</literal>.
+     </para>
+    </listitem>
+   </varlistentry>
+   <varlistentry>
+    <term><varname>preferLocalBuild</varname>
+    </term>
     <listitem>
-      <para>Additional phases executed after any of the default
-      phases.</para>
+     <para>
+      If set, specifies that the package is so lightweight in terms of build
+      operations (e.g. write a text file from a Nix string to the store) that
+      there's no need to look for it in binary caches -- it's faster to just
+      build it locally. It also tells Hydra and other facilities that this
+      package doesn't need to be exported in binary caches (noone would use it,
+      after all).
+     </para>
     </listitem>
-  </varlistentry>
-
-</variablelist>
-
-</para>
-
-</section>
-
-
-<section xml:id="ssec-unpack-phase"><title>The unpack phase</title>
-
-<para>The unpack phase is responsible for unpacking the source code of
-the package.  The default implementation of
-<function>unpackPhase</function> unpacks the source files listed in
-the <envar>src</envar> environment variable to the current directory.
-It supports the following files by default:
-
-<variablelist>
-
-  <varlistentry>
-    <term>Tar files</term>
-    <listitem><para>These can optionally be compressed using
-    <command>gzip</command> (<filename>.tar.gz</filename>,
-    <filename>.tgz</filename> or <filename>.tar.Z</filename>),
-    <command>bzip2</command> (<filename>.tar.bz2</filename> or
-    <filename>.tbz2</filename>) or <command>xz</command>
-    (<filename>.tar.xz</filename> or
-    <filename>.tar.lzma</filename>).</para></listitem>
-  </varlistentry>
-
-  <varlistentry>
-    <term>Zip files</term>
-    <listitem><para>Zip files are unpacked using
-    <command>unzip</command>.  However, <command>unzip</command> is
-    not in the standard environment, so you should add it to
-    <varname>buildInputs</varname> yourself.</para></listitem>
-  </varlistentry>
-
-  <varlistentry>
-    <term>Directories in the Nix store</term>
-    <listitem><para>These are simply copied to the current directory.
-    The hash part of the file name is stripped,
-    e.g. <filename>/nix/store/1wydxgby13cz...-my-sources</filename>
-    would be copied to
-    <filename>my-sources</filename>.</para></listitem>
-  </varlistentry>
-
-</variablelist>
-
-Additional file types can be supported by setting the
-<varname>unpackCmd</varname> variable (see below).</para>
-
-<para></para>
-
-<variablelist>
-  <title>Variables controlling the unpack phase</title>
-
-  <varlistentry>
-    <term><varname>srcs</varname> / <varname>src</varname></term>
-    <listitem><para>The list of source files or directories to be
-    unpacked or copied.  One of these must be set.</para></listitem>
-  </varlistentry>
-
-  <varlistentry>
-    <term><varname>sourceRoot</varname></term>
-    <listitem><para>After running <function>unpackPhase</function>,
-    the generic builder changes the current directory to the directory
-    created by unpacking the sources.  If there are multiple source
-    directories, you should set <varname>sourceRoot</varname> to the
-    name of the intended directory.</para></listitem>
-  </varlistentry>
-
-  <varlistentry>
-    <term><varname>setSourceRoot</varname></term>
-    <listitem><para>Alternatively to setting
-    <varname>sourceRoot</varname>, you can set
-    <varname>setSourceRoot</varname> to a shell command to be
-    evaluated by the unpack phase after the sources have been
-    unpacked.  This command must set
-    <varname>sourceRoot</varname>.</para></listitem>
-  </varlistentry>
-
-  <varlistentry>
-    <term><varname>preUnpack</varname></term>
-    <listitem><para>Hook executed at the start of the unpack
-    phase.</para></listitem>
-  </varlistentry>
-
-  <varlistentry>
-    <term><varname>postUnpack</varname></term>
-    <listitem><para>Hook executed at the end of the unpack
-    phase.</para></listitem>
-  </varlistentry>
-
-  <varlistentry>
-    <term><varname>dontMakeSourcesWritable</varname></term>
-    <listitem><para>If set to <literal>1</literal>, the unpacked
-    sources are <emphasis>not</emphasis> made
-    writable.  By default, they are made writable to prevent problems
-    with read-only sources.  For example, copied store directories
-    would be read-only without this.</para></listitem>
-  </varlistentry>
-
-  <varlistentry>
-    <term><varname>unpackCmd</varname></term>
-    <listitem><para>The unpack phase evaluates the string
-    <literal>$unpackCmd</literal> for any unrecognised file.  The path
-    to the current source file is contained in the
-    <varname>curSrc</varname> variable.</para></listitem>
-  </varlistentry>
-
-</variablelist>
-
-</section>
-
-
-<section xml:id="ssec-patch-phase"><title>The patch phase</title>
-
-<para>The patch phase applies the list of patches defined in the
-<varname>patches</varname> variable.</para>
-
-<variablelist>
-  <title>Variables controlling the patch phase</title>
-
-  <varlistentry>
-    <term><varname>patches</varname></term>
-    <listitem><para>The list of patches.  They must be in the format
-    accepted by the <command>patch</command> command, and may
-    optionally be compressed using <command>gzip</command>
-    (<filename>.gz</filename>), <command>bzip2</command>
-    (<filename>.bz2</filename>) or <command>xz</command>
-    (<filename>.xz</filename>).</para></listitem>
-  </varlistentry>
-
-  <varlistentry>
-    <term><varname>patchFlags</varname></term>
-    <listitem><para>Flags to be passed to <command>patch</command>.
-    If not set, the argument <option>-p1</option> is used, which
-    causes the leading directory component to be stripped from the
-    file names in each patch.</para></listitem>
-  </varlistentry>
-
-  <varlistentry>
-    <term><varname>prePatch</varname></term>
-    <listitem><para>Hook executed at the start of the patch
-    phase.</para></listitem>
-  </varlistentry>
-
-  <varlistentry>
-    <term><varname>postPatch</varname></term>
-    <listitem><para>Hook executed at the end of the patch
-    phase.</para></listitem>
-  </varlistentry>
-
-</variablelist>
-
-</section>
-
-
-<section xml:id="ssec-configure-phase"><title>The configure phase</title>
-
-<para>The configure phase prepares the source tree for building.  The
-default <function>configurePhase</function> runs
-<filename>./configure</filename> (typically an Autoconf-generated
-script) if it exists.</para>
-
-<variablelist>
-  <title>Variables controlling the configure phase</title>
-
-  <varlistentry>
-    <term><varname>configureScript</varname></term>
-    <listitem><para>The name of the configure script.  It defaults to
-    <filename>./configure</filename> if it exists; otherwise, the
-    configure phase is skipped.  This can actually be a command (like
-    <literal>perl ./Configure.pl</literal>).</para></listitem>
-  </varlistentry>
-
-  <varlistentry>
-    <term><varname>configureFlags</varname></term>
-    <listitem><para>A list of strings passed as additional arguments to the
-    configure script.</para></listitem>
-  </varlistentry>
-
-  <varlistentry>
-    <term><varname>configureFlagsArray</varname></term>
-    <listitem><para>A shell array containing additional arguments
-    passed to the configure script.  You must use this instead of
-    <varname>configureFlags</varname> if the arguments contain
-    spaces.</para></listitem>
-  </varlistentry>
-
-  <varlistentry>
-    <term><varname>dontAddPrefix</varname></term>
-    <listitem><para>By default, the flag
-    <literal>--prefix=$prefix</literal> is added to the configure
-    flags.  If this is undesirable, set this variable to
-    true.</para></listitem>
-  </varlistentry>
-
-  <varlistentry>
-    <term><varname>prefix</varname></term>
-    <listitem><para>The prefix under which the package must be
-    installed, passed via the <option>--prefix</option> option to the
-    configure script.  It defaults to
-    <option>$out</option>.</para></listitem>
-  </varlistentry>
-
-  <varlistentry>
-    <term><varname>dontAddDisableDepTrack</varname></term>
-    <listitem><para>By default, the flag
-    <literal>--disable-dependency-tracking</literal> is added to the
-    configure flags to speed up Automake-based builds.  If this is
-    undesirable, set this variable to true.</para></listitem>
-  </varlistentry>
-
-  <varlistentry>
-    <term><varname>dontFixLibtool</varname></term>
-    <listitem><para>By default, the configure phase applies some
-    special hackery to all files called <filename>ltmain.sh</filename>
-    before running the configure script in order to improve the purity
-    of Libtool-based packages<footnote><para>It clears the
-    <varname>sys_lib_<replaceable>*</replaceable>search_path</varname>
-    variables in the Libtool script to prevent Libtool from using
-    libraries in <filename>/usr/lib</filename> and
-    such.</para></footnote>.  If this is undesirable, set this
-    variable to true.</para></listitem>
-  </varlistentry>
-
-  <varlistentry>
-    <term><varname>dontDisableStatic</varname></term>
-    <listitem><para>By default, when the configure script has
-    <option>--enable-static</option>, the option
-    <option>--disable-static</option> is added to the configure flags.</para>
-    <para>If this is undesirable, set this variable to
-    true.</para></listitem>
-  </varlistentry>
-
-  <varlistentry>
-    <term><varname>configurePlatforms</varname></term>
-    <listitem><para>
-      By default, when cross compiling, the configure script has <option>--build=...</option> and <option>--host=...</option> passed.
-      Packages can instead pass <literal>[ "build" "host" "target" ]</literal> or a subset to control exactly which platform flags are passed.
-      Compilers and other tools should use this to also pass the target platform, for example.
-      <footnote><para>Eventually these will be passed when in native builds too, to improve determinism: build-time guessing, as is done today, is a risk of impurity.</para></footnote>
-    </para></listitem>
-  </varlistentry>
-
-  <varlistentry>
-    <term><varname>preConfigure</varname></term>
-    <listitem><para>Hook executed at the start of the configure
-    phase.</para></listitem>
-  </varlistentry>
-
-  <varlistentry>
-    <term><varname>postConfigure</varname></term>
-    <listitem><para>Hook executed at the end of the configure
-    phase.</para></listitem>
-  </varlistentry>
-
-</variablelist>
-
-
-</section>
-
-
-<section xml:id="build-phase"><title>The build phase</title>
-
-<para>The build phase is responsible for actually building the package
-(e.g. compiling it).  The default <function>buildPhase</function>
-simply calls <command>make</command> if a file named
-<filename>Makefile</filename>, <filename>makefile</filename> or
-<filename>GNUmakefile</filename> exists in the current directory (or
-the <varname>makefile</varname> is explicitly set); otherwise it does
-nothing.</para>
-
-<variablelist>
-  <title>Variables controlling the build phase</title>
-
-  <varlistentry>
-    <term><varname>dontBuild</varname></term>
-    <listitem><para>Set to true to skip the build phase.</para></listitem>
-  </varlistentry>
-
-  <varlistentry>
-    <term><varname>makefile</varname></term>
-    <listitem><para>The file name of the Makefile.</para></listitem>
-  </varlistentry>
-
-  <varlistentry>
-    <term><varname>makeFlags</varname></term>
-    <listitem><para>A list of strings passed as additional flags to
-    <command>make</command>.  These flags are also used by the default
-    install and check phase.  For setting make flags specific to the
-    build phase, use <varname>buildFlags</varname> (see below).
+   </varlistentry>
+  </variablelist>
 
+  <variablelist>
+   <title>Special variables</title>
+   <varlistentry>
+    <term><varname>passthru</varname>
+    </term>
+    <listitem>
+     <para>
+      This is an attribute set which can be filled with arbitrary values. For
+      example:
+<programlisting>
+passthru = {
+  foo = "bar";
+  baz = {
+    value1 = 4;
+    value2 = 5;
+  };
+}
+</programlisting>
+     </para>
+     <para>
+      Values inside it are not passed to the builder, so you can change them
+      without triggering a rebuild. However, they can be accessed outside of a
+      derivation directly, as if they were set inside a derivation itself, e.g.
+      <literal>hello.baz.value1</literal>. We don't specify any usage or schema
+      of <literal>passthru</literal> - it is meant for values that would be
+      useful outside the derivation in other parts of a Nix expression (e.g. in
+      other derivations). An example would be to convey some specific
+      dependency of your derivation which contains a program with plugins
+      support. Later, others who make derivations with plugins can use
+      passed-through dependency to ensure that their plugin would be
+      binary-compatible with built program.
+     </para>
+    </listitem>
+   </varlistentry>
+  </variablelist>
+ </section>
+ <section xml:id="sec-stdenv-phases">
+  <title>Phases</title>
+
+  <para>
+   The generic builder has a number of <emphasis>phases</emphasis>. Package
+   builds are split into phases to make it easier to override specific parts of
+   the build (e.g., unpacking the sources or installing the binaries).
+   Furthermore, it allows a nicer presentation of build logs in the Nix build
+   farm.
+  </para>
+
+  <para>
+   Each phase can be overridden in its entirety either by setting the
+   environment variable <varname><replaceable>name</replaceable>Phase</varname>
+   to a string containing some shell commands to be executed, or by redefining
+   the shell function <varname><replaceable>name</replaceable>Phase</varname>.
+   The former is convenient to override a phase from the derivation, while the
+   latter is convenient from a build script. However, typically one only wants
+   to <emphasis>add</emphasis> some commands to a phase, e.g. by defining
+   <literal>postInstall</literal> or <literal>preFixup</literal>, as skipping
+   some of the default actions may have unexpected consequences.
+  </para>
+
+  <section xml:id="ssec-controlling-phases">
+   <title>Controlling phases</title>
+
+   <para>
+    There are a number of variables that control what phases are executed and
+    in what order:
+    <variablelist>
+     <title>Variables affecting phase control</title>
+     <varlistentry>
+      <term><varname>phases</varname>
+      </term>
+      <listitem>
+       <para>
+        Specifies the phases. You can change the order in which phases are
+        executed, or add new phases, by setting this variable. If it’s not
+        set, the default value is used, which is <literal>$prePhases
+        unpackPhase patchPhase $preConfigurePhases configurePhase
+        $preBuildPhases buildPhase checkPhase $preInstallPhases installPhase
+        fixupPhase $preDistPhases distPhase $postPhases</literal>.
+       </para>
+       <para>
+        Usually, if you just want to add a few phases, it’s more convenient
+        to set one of the variables below (such as
+        <varname>preInstallPhases</varname>), as you then don’t specify all
+        the normal phases.
+       </para>
+      </listitem>
+     </varlistentry>
+     <varlistentry>
+      <term><varname>prePhases</varname>
+      </term>
+      <listitem>
+       <para>
+        Additional phases executed before any of the default phases.
+       </para>
+      </listitem>
+     </varlistentry>
+     <varlistentry>
+      <term><varname>preConfigurePhases</varname>
+      </term>
+      <listitem>
+       <para>
+        Additional phases executed just before the configure phase.
+       </para>
+      </listitem>
+     </varlistentry>
+     <varlistentry>
+      <term><varname>preBuildPhases</varname>
+      </term>
+      <listitem>
+       <para>
+        Additional phases executed just before the build phase.
+       </para>
+      </listitem>
+     </varlistentry>
+     <varlistentry>
+      <term><varname>preInstallPhases</varname>
+      </term>
+      <listitem>
+       <para>
+        Additional phases executed just before the install phase.
+       </para>
+      </listitem>
+     </varlistentry>
+     <varlistentry>
+      <term><varname>preFixupPhases</varname>
+      </term>
+      <listitem>
+       <para>
+        Additional phases executed just before the fixup phase.
+       </para>
+      </listitem>
+     </varlistentry>
+     <varlistentry>
+      <term><varname>preDistPhases</varname>
+      </term>
+      <listitem>
+       <para>
+        Additional phases executed just before the distribution phase.
+       </para>
+      </listitem>
+     </varlistentry>
+     <varlistentry>
+      <term><varname>postPhases</varname>
+      </term>
+      <listitem>
+       <para>
+        Additional phases executed after any of the default phases.
+       </para>
+      </listitem>
+     </varlistentry>
+    </variablelist>
+   </para>
+  </section>
+
+  <section xml:id="ssec-unpack-phase">
+   <title>The unpack phase</title>
+
+   <para>
+    The unpack phase is responsible for unpacking the source code of the
+    package. The default implementation of <function>unpackPhase</function>
+    unpacks the source files listed in the <envar>src</envar> environment
+    variable to the current directory. It supports the following files by
+    default:
+    <variablelist>
+     <varlistentry>
+      <term>Tar files</term>
+      <listitem>
+       <para>
+        These can optionally be compressed using <command>gzip</command>
+        (<filename>.tar.gz</filename>, <filename>.tgz</filename> or
+        <filename>.tar.Z</filename>), <command>bzip2</command>
+        (<filename>.tar.bz2</filename> or <filename>.tbz2</filename>) or
+        <command>xz</command> (<filename>.tar.xz</filename> or
+        <filename>.tar.lzma</filename>).
+       </para>
+      </listitem>
+     </varlistentry>
+     <varlistentry>
+      <term>Zip files</term>
+      <listitem>
+       <para>
+        Zip files are unpacked using <command>unzip</command>. However,
+        <command>unzip</command> is not in the standard environment, so you
+        should add it to <varname>buildInputs</varname> yourself.
+       </para>
+      </listitem>
+     </varlistentry>
+     <varlistentry>
+      <term>Directories in the Nix store</term>
+      <listitem>
+       <para>
+        These are simply copied to the current directory. The hash part of the
+        file name is stripped, e.g.
+        <filename>/nix/store/1wydxgby13cz...-my-sources</filename> would be
+        copied to <filename>my-sources</filename>.
+       </para>
+      </listitem>
+     </varlistentry>
+    </variablelist>
+    Additional file types can be supported by setting the
+    <varname>unpackCmd</varname> variable (see below).
+   </para>
+
+   <para></para>
+
+   <variablelist>
+    <title>Variables controlling the unpack phase</title>
+    <varlistentry>
+     <term><varname>srcs</varname> / <varname>src</varname>
+     </term>
+     <listitem>
+      <para>
+       The list of source files or directories to be unpacked or copied. One of
+       these must be set.
+      </para>
+     </listitem>
+    </varlistentry>
+    <varlistentry>
+     <term><varname>sourceRoot</varname>
+     </term>
+     <listitem>
+      <para>
+       After running <function>unpackPhase</function>, the generic builder
+       changes the current directory to the directory created by unpacking the
+       sources. If there are multiple source directories, you should set
+       <varname>sourceRoot</varname> to the name of the intended directory.
+      </para>
+     </listitem>
+    </varlistentry>
+    <varlistentry>
+     <term><varname>setSourceRoot</varname>
+     </term>
+     <listitem>
+      <para>
+       Alternatively to setting <varname>sourceRoot</varname>, you can set
+       <varname>setSourceRoot</varname> to a shell command to be evaluated by
+       the unpack phase after the sources have been unpacked. This command must
+       set <varname>sourceRoot</varname>.
+      </para>
+     </listitem>
+    </varlistentry>
+    <varlistentry>
+     <term><varname>preUnpack</varname>
+     </term>
+     <listitem>
+      <para>
+       Hook executed at the start of the unpack phase.
+      </para>
+     </listitem>
+    </varlistentry>
+    <varlistentry>
+     <term><varname>postUnpack</varname>
+     </term>
+     <listitem>
+      <para>
+       Hook executed at the end of the unpack phase.
+      </para>
+     </listitem>
+    </varlistentry>
+    <varlistentry>
+     <term><varname>dontMakeSourcesWritable</varname>
+     </term>
+     <listitem>
+      <para>
+       If set to <literal>1</literal>, the unpacked sources are
+       <emphasis>not</emphasis> made writable. By default, they are made
+       writable to prevent problems with read-only sources. For example, copied
+       store directories would be read-only without this.
+      </para>
+     </listitem>
+    </varlistentry>
+    <varlistentry>
+     <term><varname>unpackCmd</varname>
+     </term>
+     <listitem>
+      <para>
+       The unpack phase evaluates the string <literal>$unpackCmd</literal> for
+       any unrecognised file. The path to the current source file is contained
+       in the <varname>curSrc</varname> variable.
+      </para>
+     </listitem>
+    </varlistentry>
+   </variablelist>
+  </section>
+
+  <section xml:id="ssec-patch-phase">
+   <title>The patch phase</title>
+
+   <para>
+    The patch phase applies the list of patches defined in the
+    <varname>patches</varname> variable.
+   </para>
+
+   <variablelist>
+    <title>Variables controlling the patch phase</title>
+    <varlistentry>
+     <term><varname>patches</varname>
+     </term>
+     <listitem>
+      <para>
+       The list of patches. They must be in the format accepted by the
+       <command>patch</command> command, and may optionally be compressed using
+       <command>gzip</command> (<filename>.gz</filename>),
+       <command>bzip2</command> (<filename>.bz2</filename>) or
+       <command>xz</command> (<filename>.xz</filename>).
+      </para>
+     </listitem>
+    </varlistentry>
+    <varlistentry>
+     <term><varname>patchFlags</varname>
+     </term>
+     <listitem>
+      <para>
+       Flags to be passed to <command>patch</command>. If not set, the argument
+       <option>-p1</option> is used, which causes the leading directory
+       component to be stripped from the file names in each patch.
+      </para>
+     </listitem>
+    </varlistentry>
+    <varlistentry>
+     <term><varname>prePatch</varname>
+     </term>
+     <listitem>
+      <para>
+       Hook executed at the start of the patch phase.
+      </para>
+     </listitem>
+    </varlistentry>
+    <varlistentry>
+     <term><varname>postPatch</varname>
+     </term>
+     <listitem>
+      <para>
+       Hook executed at the end of the patch phase.
+      </para>
+     </listitem>
+    </varlistentry>
+   </variablelist>
+  </section>
+
+  <section xml:id="ssec-configure-phase">
+   <title>The configure phase</title>
+
+   <para>
+    The configure phase prepares the source tree for building. The default
+    <function>configurePhase</function> runs <filename>./configure</filename>
+    (typically an Autoconf-generated script) if it exists.
+   </para>
+
+   <variablelist>
+    <title>Variables controlling the configure phase</title>
+    <varlistentry>
+     <term><varname>configureScript</varname>
+     </term>
+     <listitem>
+      <para>
+       The name of the configure script. It defaults to
+       <filename>./configure</filename> if it exists; otherwise, the configure
+       phase is skipped. This can actually be a command (like <literal>perl
+       ./Configure.pl</literal>).
+      </para>
+     </listitem>
+    </varlistentry>
+    <varlistentry>
+     <term><varname>configureFlags</varname>
+     </term>
+     <listitem>
+      <para>
+       A list of strings passed as additional arguments to the configure
+       script.
+      </para>
+     </listitem>
+    </varlistentry>
+    <varlistentry>
+     <term><varname>configureFlagsArray</varname>
+     </term>
+     <listitem>
+      <para>
+       A shell array containing additional arguments passed to the configure
+       script. You must use this instead of <varname>configureFlags</varname>
+       if the arguments contain spaces.
+      </para>
+     </listitem>
+    </varlistentry>
+    <varlistentry>
+     <term><varname>dontAddPrefix</varname>
+     </term>
+     <listitem>
+      <para>
+       By default, the flag <literal>--prefix=$prefix</literal> is added to the
+       configure flags. If this is undesirable, set this variable to true.
+      </para>
+     </listitem>
+    </varlistentry>
+    <varlistentry>
+     <term><varname>prefix</varname>
+     </term>
+     <listitem>
+      <para>
+       The prefix under which the package must be installed, passed via the
+       <option>--prefix</option> option to the configure script. It defaults to
+       <option>$out</option>.
+      </para>
+     </listitem>
+    </varlistentry>
+    <varlistentry>
+     <term><varname>dontAddDisableDepTrack</varname>
+     </term>
+     <listitem>
+      <para>
+       By default, the flag <literal>--disable-dependency-tracking</literal> is
+       added to the configure flags to speed up Automake-based builds. If this
+       is undesirable, set this variable to true.
+      </para>
+     </listitem>
+    </varlistentry>
+    <varlistentry>
+     <term><varname>dontFixLibtool</varname>
+     </term>
+     <listitem>
+      <para>
+       By default, the configure phase applies some special hackery to all
+       files called <filename>ltmain.sh</filename> before running the configure
+       script in order to improve the purity of Libtool-based packages
+       <footnote>
+        <para>
+         It clears the
+         <varname>sys_lib_<replaceable>*</replaceable>search_path</varname>
+         variables in the Libtool script to prevent Libtool from using
+         libraries in <filename>/usr/lib</filename> and such.
+        </para>
+       </footnote>
+       . If this is undesirable, set this variable to true.
+      </para>
+     </listitem>
+    </varlistentry>
+    <varlistentry>
+     <term><varname>dontDisableStatic</varname>
+     </term>
+     <listitem>
+      <para>
+       By default, when the configure script has
+       <option>--enable-static</option>, the option
+       <option>--disable-static</option> is added to the configure flags.
+      </para>
+      <para>
+       If this is undesirable, set this variable to true.
+      </para>
+     </listitem>
+    </varlistentry>
+    <varlistentry>
+     <term><varname>configurePlatforms</varname>
+     </term>
+     <listitem>
+      <para>
+       By default, when cross compiling, the configure script has
+       <option>--build=...</option> and <option>--host=...</option> passed.
+       Packages can instead pass <literal>[ "build" "host" "target" ]</literal>
+       or a subset to control exactly which platform flags are passed.
+       Compilers and other tools should use this to also pass the target
+       platform, for example.
+       <footnote>
+        <para>
+         Eventually these will be passed when in native builds too, to improve
+         determinism: build-time guessing, as is done today, is a risk of
+         impurity.
+        </para>
+       </footnote>
+      </para>
+     </listitem>
+    </varlistentry>
+    <varlistentry>
+     <term><varname>preConfigure</varname>
+     </term>
+     <listitem>
+      <para>
+       Hook executed at the start of the configure phase.
+      </para>
+     </listitem>
+    </varlistentry>
+    <varlistentry>
+     <term><varname>postConfigure</varname>
+     </term>
+     <listitem>
+      <para>
+       Hook executed at the end of the configure phase.
+      </para>
+     </listitem>
+    </varlistentry>
+   </variablelist>
+  </section>
+
+  <section xml:id="build-phase">
+   <title>The build phase</title>
+
+   <para>
+    The build phase is responsible for actually building the package (e.g.
+    compiling it). The default <function>buildPhase</function> simply calls
+    <command>make</command> if a file named <filename>Makefile</filename>,
+    <filename>makefile</filename> or <filename>GNUmakefile</filename> exists in
+    the current directory (or the <varname>makefile</varname> is explicitly
+    set); otherwise it does nothing.
+   </para>
+
+   <variablelist>
+    <title>Variables controlling the build phase</title>
+    <varlistentry>
+     <term><varname>dontBuild</varname>
+     </term>
+     <listitem>
+      <para>
+       Set to true to skip the build phase.
+      </para>
+     </listitem>
+    </varlistentry>
+    <varlistentry>
+     <term><varname>makefile</varname>
+     </term>
+     <listitem>
+      <para>
+       The file name of the Makefile.
+      </para>
+     </listitem>
+    </varlistentry>
+    <varlistentry>
+      <term><varname>checkInputs</varname>
+      </term>
+      <listitem><para>
+        A list of dependencies used by the phase. This gets included in
+        <varname>buildInputs</varname> when <varname>doCheck</varname> is set.
+      </para></listitem>
+    </varlistentry>
+    <varlistentry>
+     <term><varname>makeFlags</varname>
+     </term>
+     <listitem>
+      <para>
+       A list of strings passed as additional flags to <command>make</command>.
+       These flags are also used by the default install and check phase. For
+       setting make flags specific to the build phase, use
+       <varname>buildFlags</varname> (see below).
 <programlisting>
 makeFlags = [ "PREFIX=$(out)" ];
 </programlisting>
-
-    <note><para>The flags are quoted in bash, but environment variables can
-    be specified by using the make syntax.</para></note></para></listitem>
-  </varlistentry>
-
-  <varlistentry>
-    <term><varname>makeFlagsArray</varname></term>
-    <listitem><para>A shell array containing additional arguments
-    passed to <command>make</command>.  You must use this instead of
-    <varname>makeFlags</varname> if the arguments contain
-    spaces, e.g.
-
+       <note>
+        <para>
+         The flags are quoted in bash, but environment variables can be
+         specified by using the make syntax.
+        </para>
+       </note>
+      </para>
+     </listitem>
+    </varlistentry>
+    <varlistentry>
+     <term><varname>makeFlagsArray</varname>
+     </term>
+     <listitem>
+      <para>
+       A shell array containing additional arguments passed to
+       <command>make</command>. You must use this instead of
+       <varname>makeFlags</varname> if the arguments contain spaces, e.g.
 <programlisting>
 makeFlagsArray=(CFLAGS="-O0 -g" LDFLAGS="-lfoo -lbar")
 </programlisting>
-
-    Note that shell arrays cannot be passed through environment
-    variables, so you cannot set <varname>makeFlagsArray</varname> in
-    a derivation attribute (because those are passed through
-    environment variables): you have to define them in shell
-    code.</para></listitem>
-  </varlistentry>
-
-  <varlistentry>
-    <term><varname>buildFlags</varname> / <varname>buildFlagsArray</varname></term>
-    <listitem><para>A list of strings passed as additional flags to
-    <command>make</command>.  Like <varname>makeFlags</varname> and
-    <varname>makeFlagsArray</varname>, but only used by the build
-    phase.</para></listitem>
-  </varlistentry>
-
-  <varlistentry>
-    <term><varname>preBuild</varname></term>
-    <listitem><para>Hook executed at the start of the build
-    phase.</para></listitem>
-  </varlistentry>
-
-  <varlistentry>
-    <term><varname>postBuild</varname></term>
-    <listitem><para>Hook executed at the end of the build
-    phase.</para></listitem>
-  </varlistentry>
-
-</variablelist>
-
-
-<para>
-You can set flags for <command>make</command> through the
-<varname>makeFlags</varname> variable.</para>
-
-<para>Before and after running <command>make</command>, the hooks
-<varname>preBuild</varname> and <varname>postBuild</varname> are
-called, respectively.</para>
-
-</section>
-
-
-<section xml:id="ssec-check-phase"><title>The check phase</title>
-
-<para>The check phase checks whether the package was built correctly
-by running its test suite.  The default
-<function>checkPhase</function> calls <command>make check</command>,
-but only if the <varname>doCheck</varname> variable is enabled.</para>
-
-<variablelist>
-  <title>Variables controlling the check phase</title>
-
-  <varlistentry>
-    <term><varname>doCheck</varname></term>
-    <listitem><para>
-      Controls whether the check phase is executed.
-      By default it is skipped, but if <varname>doCheck</varname> is set to true, the check phase is usually executed.
-      Thus you should set <programlisting>doCheck = true;</programlisting> in the derivation to enable checks.
-      The exception is cross compilation.
-      Cross compiled builds never run tests, no matter how <varname>doCheck</varname> is set,
-      as the newly-built program won't run on the platform used to build it.
-    </para></listitem>
-  </varlistentry>
-
-  <varlistentry>
-    <term><varname>makeFlags</varname> /
+       Note that shell arrays cannot be passed through environment variables,
+       so you cannot set <varname>makeFlagsArray</varname> in a derivation
+       attribute (because those are passed through environment variables): you
+       have to define them in shell code.
+      </para>
+     </listitem>
+    </varlistentry>
+    <varlistentry>
+     <term><varname>buildFlags</varname> / <varname>buildFlagsArray</varname>
+     </term>
+     <listitem>
+      <para>
+       A list of strings passed as additional flags to <command>make</command>.
+       Like <varname>makeFlags</varname> and <varname>makeFlagsArray</varname>,
+       but only used by the build phase.
+      </para>
+     </listitem>
+    </varlistentry>
+    <varlistentry>
+     <term><varname>preBuild</varname>
+     </term>
+     <listitem>
+      <para>
+       Hook executed at the start of the build phase.
+      </para>
+     </listitem>
+    </varlistentry>
+    <varlistentry>
+     <term><varname>postBuild</varname>
+     </term>
+     <listitem>
+      <para>
+       Hook executed at the end of the build phase.
+      </para>
+     </listitem>
+    </varlistentry>
+   </variablelist>
+
+   <para>
+    You can set flags for <command>make</command> through the
+    <varname>makeFlags</varname> variable.
+   </para>
+
+   <para>
+    Before and after running <command>make</command>, the hooks
+    <varname>preBuild</varname> and <varname>postBuild</varname> are called,
+    respectively.
+   </para>
+  </section>
+
+  <section xml:id="ssec-check-phase">
+   <title>The check phase</title>
+
+   <para>
+    The check phase checks whether the package was built correctly by running
+    its test suite. The default <function>checkPhase</function> calls
+    <command>make check</command>, but only if the <varname>doCheck</varname>
+    variable is enabled.
+   </para>
+
+   <variablelist>
+    <title>Variables controlling the check phase</title>
+    <varlistentry>
+     <term><varname>doCheck</varname>
+     </term>
+     <listitem>
+      <para>
+       Controls whether the check phase is executed. By default it is skipped,
+       but if <varname>doCheck</varname> is set to true, the check phase is
+       usually executed. Thus you should set
+<programlisting>doCheck = true;</programlisting>
+       in the derivation to enable checks. The exception is cross compilation.
+       Cross compiled builds never run tests, no matter how
+       <varname>doCheck</varname> is set, as the newly-built program won't run
+       on the platform used to build it.
+      </para>
+     </listitem>
+    </varlistentry>
+    <varlistentry>
+     <term><varname>makeFlags</varname> /
     <varname>makeFlagsArray</varname> /
-    <varname>makefile</varname></term>
-    <listitem><para>See the build phase for details.</para></listitem>
-  </varlistentry>
-
-  <varlistentry>
-    <term><varname>checkTarget</varname></term>
-    <listitem><para>The make target that runs the tests.  Defaults to
-    <literal>check</literal>.</para></listitem>
-  </varlistentry>
-
-  <varlistentry>
-    <term><varname>checkFlags</varname> / <varname>checkFlagsArray</varname></term>
-    <listitem><para>A list of strings passed as additional flags to
-    <command>make</command>.  Like <varname>makeFlags</varname> and
-    <varname>makeFlagsArray</varname>, but only used by the check
-    phase.</para></listitem>
-  </varlistentry>
-
-  <varlistentry>
-    <term><varname>preCheck</varname></term>
-    <listitem><para>Hook executed at the start of the check
-    phase.</para></listitem>
-  </varlistentry>
-
-  <varlistentry>
-    <term><varname>postCheck</varname></term>
-    <listitem><para>Hook executed at the end of the check
-    phase.</para></listitem>
-  </varlistentry>
-
-</variablelist>
-
-
-</section>
-
-
-<section xml:id="ssec-install-phase"><title>The install phase</title>
-
-<para>The install phase is responsible for installing the package in
-the Nix store under <envar>out</envar>.  The default
-<function>installPhase</function> creates the directory
-<literal>$out</literal> and calls <command>make
-install</command>.</para>
-
-<variablelist>
-  <title>Variables controlling the install phase</title>
-
-  <varlistentry>
-    <term><varname>makeFlags</varname> /
+    <varname>makefile</varname>
+     </term>
+     <listitem>
+      <para>
+       See the build phase for details.
+      </para>
+     </listitem>
+    </varlistentry>
+    <varlistentry>
+     <term><varname>checkTarget</varname>
+     </term>
+     <listitem>
+      <para>
+       The make target that runs the tests. Defaults to
+       <literal>check</literal>.
+      </para>
+     </listitem>
+    </varlistentry>
+    <varlistentry>
+     <term><varname>checkFlags</varname> / <varname>checkFlagsArray</varname>
+     </term>
+     <listitem>
+      <para>
+       A list of strings passed as additional flags to <command>make</command>.
+       Like <varname>makeFlags</varname> and <varname>makeFlagsArray</varname>,
+       but only used by the check phase.
+      </para>
+     </listitem>
+    </varlistentry>
+    <varlistentry>
+     <term><varname>preCheck</varname>
+     </term>
+     <listitem>
+      <para>
+       Hook executed at the start of the check phase.
+      </para>
+     </listitem>
+    </varlistentry>
+    <varlistentry>
+     <term><varname>postCheck</varname>
+     </term>
+     <listitem>
+      <para>
+       Hook executed at the end of the check phase.
+      </para>
+     </listitem>
+    </varlistentry>
+   </variablelist>
+  </section>
+
+  <section xml:id="ssec-install-phase">
+   <title>The install phase</title>
+
+   <para>
+    The install phase is responsible for installing the package in the Nix
+    store under <envar>out</envar>. The default
+    <function>installPhase</function> creates the directory
+    <literal>$out</literal> and calls <command>make install</command>.
+   </para>
+
+   <variablelist>
+    <title>Variables controlling the install phase</title>
+    <varlistentry>
+     <term><varname>makeFlags</varname> /
     <varname>makeFlagsArray</varname> /
-    <varname>makefile</varname></term>
-    <listitem><para>See the build phase for details.</para></listitem>
-  </varlistentry>
-
-  <varlistentry>
-    <term><varname>installTargets</varname></term>
-    <listitem><para>The make targets that perform the installation.
-    Defaults to <literal>install</literal>.  Example:
-
+    <varname>makefile</varname>
+     </term>
+     <listitem>
+      <para>
+       See the build phase for details.
+      </para>
+     </listitem>
+    </varlistentry>
+    <varlistentry>
+     <term><varname>installTargets</varname>
+     </term>
+     <listitem>
+      <para>
+       The make targets that perform the installation. Defaults to
+       <literal>install</literal>. Example:
 <programlisting>
 installTargets = "install-bin install-doc";</programlisting>
-
-    </para></listitem>
-  </varlistentry>
-
-  <varlistentry>
-    <term><varname>installFlags</varname> / <varname>installFlagsArray</varname></term>
-    <listitem><para>A list of strings passed as additional flags to
-    <command>make</command>.  Like <varname>makeFlags</varname> and
-    <varname>makeFlagsArray</varname>, but only used by the install
-    phase.</para></listitem>
-  </varlistentry>
-
-  <varlistentry>
-    <term><varname>preInstall</varname></term>
-    <listitem><para>Hook executed at the start of the install
-    phase.</para></listitem>
-  </varlistentry>
-
-  <varlistentry>
-    <term><varname>postInstall</varname></term>
-    <listitem><para>Hook executed at the end of the install
-    phase.</para></listitem>
-  </varlistentry>
-
-</variablelist>
-
-
-</section>
-
-
-<section xml:id="ssec-fixup-phase"><title>The fixup phase</title>
-
-<para>The fixup phase performs some (Nix-specific) post-processing
-actions on the files installed under <filename>$out</filename> by the
-install phase.  The default <function>fixupPhase</function> does the
-following:
-
-<itemizedlist>
-
-  <listitem><para>It moves the <filename>man/</filename>,
-  <filename>doc/</filename> and <filename>info/</filename>
-  subdirectories of <envar>$out</envar> to
-  <filename>share/</filename>.</para></listitem>
-
-  <listitem><para>It strips libraries and executables of debug
-  information.</para></listitem>
-
-  <listitem><para>On Linux, it applies the <command>patchelf</command>
-  command to ELF executables and libraries to remove unused
-  directories from the <literal>RPATH</literal> in order to prevent
-  unnecessary runtime dependencies.</para></listitem>
-
-  <listitem><para>It rewrites the interpreter paths of shell scripts
-  to paths found in <envar>PATH</envar>.  E.g.,
-  <filename>/usr/bin/perl</filename> will be rewritten to
-  <filename>/nix/store/<replaceable>some-perl</replaceable>/bin/perl</filename>
-  found in <envar>PATH</envar>.</para></listitem>
-
-</itemizedlist>
-
-</para>
-
-<variablelist>
-  <title>Variables controlling the fixup phase</title>
-
-  <varlistentry>
-    <term><varname>dontStrip</varname></term>
-    <listitem><para>If set, libraries and executables are not
-    stripped.  By default, they are.</para></listitem>
-  </varlistentry>
-  <varlistentry>
-    <term><varname>dontStripHost</varname></term>
-    <listitem><para>
-      Like <varname>dontStripHost</varname>, but only affects the <command>strip</command> command targetting the package's host platform.
-      Useful when supporting cross compilation, but otherwise feel free to ignore.
-    </para></listitem>
-  </varlistentry>
-  <varlistentry>
-    <term><varname>dontStripTarget</varname></term>
-    <listitem><para>
-      Like <varname>dontStripHost</varname>, but only affects the <command>strip</command> command targetting the packages' target platform.
-      Useful when supporting cross compilation, but otherwise feel free to ignore.
-    </para></listitem>
-  </varlistentry>
-
-  <varlistentry>
-    <term><varname>dontMoveSbin</varname></term>
-    <listitem><para>If set, files in <filename>$out/sbin</filename> are not moved
-    to <filename>$out/bin</filename>. By default, they are.</para></listitem>
-  </varlistentry>
-
-  <varlistentry>
-    <term><varname>stripAllList</varname></term>
-    <listitem><para>List of directories to search for libraries and
-    executables from which <emphasis>all</emphasis> symbols should be
-    stripped.  By default, it’s empty.  Stripping all symbols is
-    risky, since it may remove not just debug symbols but also ELF
-    information necessary for normal execution.</para></listitem>
-  </varlistentry>
-
-  <varlistentry>
-    <term><varname>stripAllFlags</varname></term>
-    <listitem><para>Flags passed to the <command>strip</command>
-    command applied to the files in the directories listed in
-    <varname>stripAllList</varname>.  Defaults to <option>-s</option>
-    (i.e. <option>--strip-all</option>).</para></listitem>
-  </varlistentry>
-
-  <varlistentry>
-    <term><varname>stripDebugList</varname></term>
-    <listitem><para>List of directories to search for libraries and
-    executables from which only debugging-related symbols should be
-    stripped.  It defaults to <literal>lib bin
-    sbin</literal>.</para></listitem>
-  </varlistentry>
-
-  <varlistentry>
-    <term><varname>stripDebugFlags</varname></term>
-    <listitem><para>Flags passed to the <command>strip</command>
-    command applied to the files in the directories listed in
-    <varname>stripDebugList</varname>.  Defaults to
-    <option>-S</option>
-    (i.e. <option>--strip-debug</option>).</para></listitem>
-  </varlistentry>
-
-  <varlistentry>
-    <term><varname>dontPatchELF</varname></term>
-    <listitem><para>If set, the <command>patchelf</command> command is
-    not used to remove unnecessary <literal>RPATH</literal> entries.
-    Only applies to Linux.</para></listitem>
-  </varlistentry>
-
-  <varlistentry>
-    <term><varname>dontPatchShebangs</varname></term>
-    <listitem><para>If set, scripts starting with
-    <literal>#!</literal> do not have their interpreter paths
-    rewritten to paths in the Nix store.</para></listitem>
-  </varlistentry>
-
-  <varlistentry>
-    <term><varname>forceShare</varname></term>
-    <listitem><para>The list of directories that must be moved from
-    <filename>$out</filename> to <filename>$out/share</filename>.
-    Defaults to <literal>man doc info</literal>.</para></listitem>
-  </varlistentry>
-
-  <varlistentry>
-    <term><varname>setupHook</varname></term>
-    <listitem><para>A package can export a <link
-    linkend="ssec-setup-hooks">setup hook</link> by setting this
-    variable.  The setup hook, if defined, is copied to
-    <filename>$out/nix-support/setup-hook</filename>.  Environment
-    variables are then substituted in it using <function
-    linkend="fun-substituteAll">substituteAll</function>.</para></listitem>
-  </varlistentry>
-
-  <varlistentry>
-    <term><varname>preFixup</varname></term>
-    <listitem><para>Hook executed at the start of the fixup
-    phase.</para></listitem>
-  </varlistentry>
-
-  <varlistentry>
-    <term><varname>postFixup</varname></term>
-    <listitem><para>Hook executed at the end of the fixup
-    phase.</para></listitem>
-  </varlistentry>
-
-  <varlistentry xml:id="stdenv-separateDebugInfo">
-    <term><varname>separateDebugInfo</varname></term>
-    <listitem><para>If set to <literal>true</literal>, the standard
-    environment will enable debug information in C/C++ builds. After
-    installation, the debug information will be separated from the
-    executables and stored in the output named
-    <literal>debug</literal>. (This output is enabled automatically;
-    you don’t need to set the <varname>outputs</varname> attribute
-    explicitly.) To be precise, the debug information is stored in
-    <filename><replaceable>debug</replaceable>/lib/debug/.build-id/<replaceable>XX</replaceable>/<replaceable>YYYY…</replaceable></filename>,
-    where <replaceable>XXYYYY…</replaceable> is the <replaceable>build
-    ID</replaceable> of the binary — a SHA-1 hash of the contents of
-    the binary. Debuggers like GDB use the build ID to look up the
-    separated debug information.</para>
-
-    <para>For example, with GDB, you can add
-
+      </para>
+     </listitem>
+    </varlistentry>
+    <varlistentry>
+     <term><varname>installFlags</varname> / <varname>installFlagsArray</varname>
+     </term>
+     <listitem>
+      <para>
+       A list of strings passed as additional flags to <command>make</command>.
+       Like <varname>makeFlags</varname> and <varname>makeFlagsArray</varname>,
+       but only used by the install phase.
+      </para>
+     </listitem>
+    </varlistentry>
+    <varlistentry>
+     <term><varname>preInstall</varname>
+     </term>
+     <listitem>
+      <para>
+       Hook executed at the start of the install phase.
+      </para>
+     </listitem>
+    </varlistentry>
+    <varlistentry>
+     <term><varname>postInstall</varname>
+     </term>
+     <listitem>
+      <para>
+       Hook executed at the end of the install phase.
+      </para>
+     </listitem>
+    </varlistentry>
+   </variablelist>
+  </section>
+
+  <section xml:id="ssec-fixup-phase">
+   <title>The fixup phase</title>
+
+   <para>
+    The fixup phase performs some (Nix-specific) post-processing actions on the
+    files installed under <filename>$out</filename> by the install phase. The
+    default <function>fixupPhase</function> does the following:
+    <itemizedlist>
+     <listitem>
+      <para>
+       It moves the <filename>man/</filename>, <filename>doc/</filename> and
+       <filename>info/</filename> subdirectories of <envar>$out</envar> to
+       <filename>share/</filename>.
+      </para>
+     </listitem>
+     <listitem>
+      <para>
+       It strips libraries and executables of debug information.
+      </para>
+     </listitem>
+     <listitem>
+      <para>
+       On Linux, it applies the <command>patchelf</command> command to ELF
+       executables and libraries to remove unused directories from the
+       <literal>RPATH</literal> in order to prevent unnecessary runtime
+       dependencies.
+      </para>
+     </listitem>
+     <listitem>
+      <para>
+       It rewrites the interpreter paths of shell scripts to paths found in
+       <envar>PATH</envar>. E.g., <filename>/usr/bin/perl</filename> will be
+       rewritten to
+       <filename>/nix/store/<replaceable>some-perl</replaceable>/bin/perl</filename>
+       found in <envar>PATH</envar>.
+      </para>
+     </listitem>
+    </itemizedlist>
+   </para>
+
+   <variablelist>
+    <title>Variables controlling the fixup phase</title>
+    <varlistentry>
+     <term><varname>dontStrip</varname>
+     </term>
+     <listitem>
+      <para>
+       If set, libraries and executables are not stripped. By default, they
+       are.
+      </para>
+     </listitem>
+    </varlistentry>
+    <varlistentry>
+     <term><varname>dontStripHost</varname>
+     </term>
+     <listitem>
+      <para>
+       Like <varname>dontStripHost</varname>, but only affects the
+       <command>strip</command> command targetting the package's host platform.
+       Useful when supporting cross compilation, but otherwise feel free to
+       ignore.
+      </para>
+     </listitem>
+    </varlistentry>
+    <varlistentry>
+     <term><varname>dontStripTarget</varname>
+     </term>
+     <listitem>
+      <para>
+       Like <varname>dontStripHost</varname>, but only affects the
+       <command>strip</command> command targetting the packages' target
+       platform. Useful when supporting cross compilation, but otherwise feel
+       free to ignore.
+      </para>
+     </listitem>
+    </varlistentry>
+    <varlistentry>
+     <term><varname>dontMoveSbin</varname>
+     </term>
+     <listitem>
+      <para>
+       If set, files in <filename>$out/sbin</filename> are not moved to
+       <filename>$out/bin</filename>. By default, they are.
+      </para>
+     </listitem>
+    </varlistentry>
+    <varlistentry>
+     <term><varname>stripAllList</varname>
+     </term>
+     <listitem>
+      <para>
+       List of directories to search for libraries and executables from which
+       <emphasis>all</emphasis> symbols should be stripped. By default, it’s
+       empty. Stripping all symbols is risky, since it may remove not just
+       debug symbols but also ELF information necessary for normal execution.
+      </para>
+     </listitem>
+    </varlistentry>
+    <varlistentry>
+     <term><varname>stripAllFlags</varname>
+     </term>
+     <listitem>
+      <para>
+       Flags passed to the <command>strip</command> command applied to the
+       files in the directories listed in <varname>stripAllList</varname>.
+       Defaults to <option>-s</option> (i.e. <option>--strip-all</option>).
+      </para>
+     </listitem>
+    </varlistentry>
+    <varlistentry>
+     <term><varname>stripDebugList</varname>
+     </term>
+     <listitem>
+      <para>
+       List of directories to search for libraries and executables from which
+       only debugging-related symbols should be stripped. It defaults to
+       <literal>lib bin sbin</literal>.
+      </para>
+     </listitem>
+    </varlistentry>
+    <varlistentry>
+     <term><varname>stripDebugFlags</varname>
+     </term>
+     <listitem>
+      <para>
+       Flags passed to the <command>strip</command> command applied to the
+       files in the directories listed in <varname>stripDebugList</varname>.
+       Defaults to <option>-S</option> (i.e. <option>--strip-debug</option>).
+      </para>
+     </listitem>
+    </varlistentry>
+    <varlistentry>
+     <term><varname>dontPatchELF</varname>
+     </term>
+     <listitem>
+      <para>
+       If set, the <command>patchelf</command> command is not used to remove
+       unnecessary <literal>RPATH</literal> entries. Only applies to Linux.
+      </para>
+     </listitem>
+    </varlistentry>
+    <varlistentry>
+     <term><varname>dontPatchShebangs</varname>
+     </term>
+     <listitem>
+      <para>
+       If set, scripts starting with <literal>#!</literal> do not have their
+       interpreter paths rewritten to paths in the Nix store.
+      </para>
+     </listitem>
+    </varlistentry>
+    <varlistentry>
+     <term><varname>forceShare</varname>
+     </term>
+     <listitem>
+      <para>
+       The list of directories that must be moved from
+       <filename>$out</filename> to <filename>$out/share</filename>. Defaults
+       to <literal>man doc info</literal>.
+      </para>
+     </listitem>
+    </varlistentry>
+    <varlistentry>
+     <term><varname>setupHook</varname>
+     </term>
+     <listitem>
+      <para>
+       A package can export a <link
+    linkend="ssec-setup-hooks">setup
+       hook</link> by setting this variable. The setup hook, if defined, is
+       copied to <filename>$out/nix-support/setup-hook</filename>. Environment
+       variables are then substituted in it using
+       <function
+    linkend="fun-substituteAll">substituteAll</function>.
+      </para>
+     </listitem>
+    </varlistentry>
+    <varlistentry>
+     <term><varname>preFixup</varname>
+     </term>
+     <listitem>
+      <para>
+       Hook executed at the start of the fixup phase.
+      </para>
+     </listitem>
+    </varlistentry>
+    <varlistentry>
+     <term><varname>postFixup</varname>
+     </term>
+     <listitem>
+      <para>
+       Hook executed at the end of the fixup phase.
+      </para>
+     </listitem>
+    </varlistentry>
+    <varlistentry xml:id="stdenv-separateDebugInfo">
+     <term><varname>separateDebugInfo</varname>
+     </term>
+     <listitem>
+      <para>
+       If set to <literal>true</literal>, the standard environment will enable
+       debug information in C/C++ builds. After installation, the debug
+       information will be separated from the executables and stored in the
+       output named <literal>debug</literal>. (This output is enabled
+       automatically; you don’t need to set the <varname>outputs</varname>
+       attribute explicitly.) To be precise, the debug information is stored in
+       <filename><replaceable>debug</replaceable>/lib/debug/.build-id/<replaceable>XX</replaceable>/<replaceable>YYYY…</replaceable></filename>,
+       where <replaceable>XXYYYY…</replaceable> is the <replaceable>build
+       ID</replaceable> of the binary — a SHA-1 hash of the contents of the
+       binary. Debuggers like GDB use the build ID to look up the separated
+       debug information.
+      </para>
+      <para>
+       For example, with GDB, you can add
 <programlisting>
 set debug-file-directory ~/.nix-profile/lib/debug
 </programlisting>
-
-    to <filename>~/.gdbinit</filename>. GDB will then be able to find
-    debug information installed via <literal>nix-env
-    -i</literal>.</para>
-
-    </listitem>
-  </varlistentry>
-
-</variablelist>
-
-</section>
-
-<section xml:id="ssec-installCheck-phase"><title>The installCheck phase</title>
-
-<para>The installCheck phase checks whether the package was installed
-correctly by running its test suite against the installed directories.
-The default <function>installCheck</function> calls <command>make
-installcheck</command>.</para>
-
-<variablelist>
-  <title>Variables controlling the installCheck phase</title>
-
-  <varlistentry>
-    <term><varname>doInstallCheck</varname></term>
-    <listitem><para>
-      Controls whether the installCheck phase is executed.
-      By default it is skipped, but if <varname>doInstallCheck</varname> is set to true, the installCheck phase is usually executed.
-      Thus you should set <programlisting>doInstallCheck = true;</programlisting> in the derivation to enable install checks.
-      The exception is cross compilation.
-      Cross compiled builds never run tests, no matter how <varname>doInstallCheck</varname> is set,
-      as the newly-built program won't run on the platform used to build it.
-    </para></listitem>
-  </varlistentry>
-
-  <varlistentry>
-    <term><varname>preInstallCheck</varname></term>
-    <listitem><para>Hook executed at the start of the installCheck
-    phase.</para></listitem>
-  </varlistentry>
-
-  <varlistentry>
-    <term><varname>postInstallCheck</varname></term>
-    <listitem><para>Hook executed at the end of the installCheck
-    phase.</para></listitem>
-  </varlistentry>
-
-</variablelist>
-
-</section>
-
-<section xml:id="ssec-distribution-phase"><title>The distribution
-phase</title>
-
-<para>The distribution phase is intended to produce a source
-distribution of the package.  The default
-<function>distPhase</function> first calls <command>make
-dist</command>, then it copies the resulting source tarballs to
-<filename>$out/tarballs/</filename>.  This phase is only executed if
-the attribute <varname>doDist</varname> is set.</para>
-
-<variablelist>
-  <title>Variables controlling the distribution phase</title>
-
-  <varlistentry>
-    <term><varname>distTarget</varname></term>
-    <listitem><para>The make target that produces the distribution.
-    Defaults to <literal>dist</literal>.</para></listitem>
-  </varlistentry>
-
-  <varlistentry>
-    <term><varname>distFlags</varname> / <varname>distFlagsArray</varname></term>
-    <listitem><para>Additional flags passed to
-    <command>make</command>.</para></listitem>
-  </varlistentry>
-
-  <varlistentry>
-    <term><varname>tarballs</varname></term>
-    <listitem><para>The names of the source distribution files to be
-    copied to <filename>$out/tarballs/</filename>.  It can contain
-    shell wildcards.  The default is
-    <filename>*.tar.gz</filename>.</para></listitem>
-  </varlistentry>
-
-  <varlistentry>
-    <term><varname>dontCopyDist</varname></term>
-    <listitem><para>If set, no files are copied to
-    <filename>$out/tarballs/</filename>.</para></listitem>
-  </varlistentry>
-
-  <varlistentry>
-    <term><varname>preDist</varname></term>
-    <listitem><para>Hook executed at the start of the distribution
-    phase.</para></listitem>
-  </varlistentry>
-
-  <varlistentry>
-    <term><varname>postDist</varname></term>
-    <listitem><para>Hook executed at the end of the distribution
-    phase.</para></listitem>
-  </varlistentry>
-
-</variablelist>
-
-
-</section>
-
-
-</section>
-
-
-<section xml:id="ssec-stdenv-functions"><title>Shell functions</title>
-
-<para>The standard environment provides a number of useful
-functions.</para>
-
-<variablelist>
-
-
-  <varlistentry xml:id='fun-makeWrapper'>
-    <term><function>makeWrapper</function>
-    <replaceable>executable</replaceable>
-    <replaceable>wrapperfile</replaceable>
-    <replaceable>args</replaceable></term>
-    <listitem><para>Constructs a wrapper for a program with various
-    possible arguments. For example:
-
+       to <filename>~/.gdbinit</filename>. GDB will then be able to find debug
+       information installed via <literal>nix-env -i</literal>.
+      </para>
+     </listitem>
+    </varlistentry>
+   </variablelist>
+  </section>
+
+  <section xml:id="ssec-installCheck-phase">
+   <title>The installCheck phase</title>
+
+   <para>
+    The installCheck phase checks whether the package was installed correctly
+    by running its test suite against the installed directories. The default
+    <function>installCheck</function> calls <command>make
+    installcheck</command>.
+   </para>
+
+   <variablelist>
+    <title>Variables controlling the installCheck phase</title>
+    <varlistentry>
+     <term><varname>doInstallCheck</varname>
+     </term>
+     <listitem>
+      <para>
+       Controls whether the installCheck phase is executed. By default it is
+       skipped, but if <varname>doInstallCheck</varname> is set to true, the
+       installCheck phase is usually executed. Thus you should set
+<programlisting>doInstallCheck = true;</programlisting>
+       in the derivation to enable install checks. The exception is cross
+       compilation. Cross compiled builds never run tests, no matter how
+       <varname>doInstallCheck</varname> is set, as the newly-built program
+       won't run on the platform used to build it.
+      </para>
+     </listitem>
+    </varlistentry>
+    <varlistentry>
+      <term><varname>installCheckInputs</varname>
+      </term>
+      <listitem><para>
+        A list of dependencies used by the phase. This gets included in
+        <varname>buildInputs</varname> when <varname>doInstallCheck</varname>
+        is set.
+      </para></listitem>
+    </varlistentry>
+    <varlistentry>
+     <term><varname>preInstallCheck</varname>
+     </term>
+     <listitem>
+      <para>
+       Hook executed at the start of the installCheck phase.
+      </para>
+     </listitem>
+    </varlistentry>
+    <varlistentry>
+     <term><varname>postInstallCheck</varname>
+     </term>
+     <listitem>
+      <para>
+       Hook executed at the end of the installCheck phase.
+      </para>
+     </listitem>
+    </varlistentry>
+   </variablelist>
+  </section>
+
+  <section xml:id="ssec-distribution-phase">
+   <title>The distribution phase</title>
+
+   <para>
+    The distribution phase is intended to produce a source distribution of the
+    package. The default <function>distPhase</function> first calls
+    <command>make dist</command>, then it copies the resulting source tarballs
+    to <filename>$out/tarballs/</filename>. This phase is only executed if the
+    attribute <varname>doDist</varname> is set.
+   </para>
+
+   <variablelist>
+    <title>Variables controlling the distribution phase</title>
+    <varlistentry>
+     <term><varname>distTarget</varname>
+     </term>
+     <listitem>
+      <para>
+       The make target that produces the distribution. Defaults to
+       <literal>dist</literal>.
+      </para>
+     </listitem>
+    </varlistentry>
+    <varlistentry>
+     <term><varname>distFlags</varname> / <varname>distFlagsArray</varname>
+     </term>
+     <listitem>
+      <para>
+       Additional flags passed to <command>make</command>.
+      </para>
+     </listitem>
+    </varlistentry>
+    <varlistentry>
+     <term><varname>tarballs</varname>
+     </term>
+     <listitem>
+      <para>
+       The names of the source distribution files to be copied to
+       <filename>$out/tarballs/</filename>. It can contain shell wildcards. The
+       default is <filename>*.tar.gz</filename>.
+      </para>
+     </listitem>
+    </varlistentry>
+    <varlistentry>
+     <term><varname>dontCopyDist</varname>
+     </term>
+     <listitem>
+      <para>
+       If set, no files are copied to <filename>$out/tarballs/</filename>.
+      </para>
+     </listitem>
+    </varlistentry>
+    <varlistentry>
+     <term><varname>preDist</varname>
+     </term>
+     <listitem>
+      <para>
+       Hook executed at the start of the distribution phase.
+      </para>
+     </listitem>
+    </varlistentry>
+    <varlistentry>
+     <term><varname>postDist</varname>
+     </term>
+     <listitem>
+      <para>
+       Hook executed at the end of the distribution phase.
+      </para>
+     </listitem>
+    </varlistentry>
+   </variablelist>
+  </section>
+ </section>
+ <section xml:id="ssec-stdenv-functions">
+  <title>Shell functions</title>
+
+  <para>
+   The standard environment provides a number of useful functions.
+  </para>
+
+  <variablelist>
+   <varlistentry xml:id='fun-makeWrapper'>
+    <term><function>makeWrapper</function><replaceable>executable</replaceable><replaceable>wrapperfile</replaceable><replaceable>args</replaceable>
+    </term>
+    <listitem>
+     <para>
+      Constructs a wrapper for a program with various possible arguments. For
+      example:
 <programlisting>
 # adds `FOOBAR=baz` to `$out/bin/foo`’s environment
 makeWrapper $out/bin/foo $wrapperfile --set FOOBAR baz
@@ -1392,662 +1781,763 @@ makeWrapper $out/bin/foo $wrapperfile --set FOOBAR baz
 # (via string replacements or in `configurePhase`).
 makeWrapper $out/bin/foo $wrapperfile --prefix PATH : ${lib.makeBinPath [ hello git ]}
 </programlisting>
-
-    There’s many more kinds of arguments, they are documented in
-    <literal>nixpkgs/pkgs/build-support/setup-hooks/make-wrapper.sh</literal>.</para>
-
-    <para><literal>wrapProgram</literal> is a convenience function you probably
-    want to use most of the time.</para>
-
+      There’s many more kinds of arguments, they are documented in
+      <literal>nixpkgs/pkgs/build-support/setup-hooks/make-wrapper.sh</literal>.
+     </para>
+     <para>
+      <literal>wrapProgram</literal> is a convenience function you probably
+      want to use most of the time.
+     </para>
     </listitem>
-  </varlistentry>
-
-
-  <varlistentry xml:id='fun-substitute'>
-    <term><function>substitute</function>
-    <replaceable>infile</replaceable>
-    <replaceable>outfile</replaceable>
-    <replaceable>subs</replaceable></term>
-
+   </varlistentry>
+   <varlistentry xml:id='fun-substitute'>
+    <term><function>substitute</function><replaceable>infile</replaceable><replaceable>outfile</replaceable><replaceable>subs</replaceable>
+    </term>
     <listitem>
-      <para>Performs string substitution on the contents of
+     <para>
+      Performs string substitution on the contents of
       <replaceable>infile</replaceable>, writing the result to
-      <replaceable>outfile</replaceable>.  The substitutions in
+      <replaceable>outfile</replaceable>. The substitutions in
       <replaceable>subs</replaceable> are of the following form:
-
-        <variablelist>
-          <varlistentry>
-            <term><option>--replace</option>
-            <replaceable>s1</replaceable>
-            <replaceable>s2</replaceable></term>
-            <listitem><para>Replace every occurrence of the string
-            <replaceable>s1</replaceable> by
-            <replaceable>s2</replaceable>.</para></listitem>
-          </varlistentry>
-
-          <varlistentry>
-            <term><option>--subst-var</option>
-            <replaceable>varName</replaceable></term>
-            <listitem><para>Replace every occurrence of
-            <literal>@<replaceable>varName</replaceable>@</literal> by
-            the contents of the environment variable
-            <replaceable>varName</replaceable>.  This is useful for
-            generating files from templates, using
-            <literal>@<replaceable>...</replaceable>@</literal> in the
-            template as placeholders.</para></listitem>
-          </varlistentry>
-
-          <varlistentry>
-            <term><option>--subst-var-by</option>
-            <replaceable>varName</replaceable>
-            <replaceable>s</replaceable></term>
-            <listitem><para>Replace every occurrence of
-            <literal>@<replaceable>varName</replaceable>@</literal> by
-            the string <replaceable>s</replaceable>.</para></listitem>
-          </varlistentry>
-
-        </variablelist>
-
-      </para>
-
-      <para>Example:
-
+      <variablelist>
+       <varlistentry>
+        <term><option>--replace</option><replaceable>s1</replaceable><replaceable>s2</replaceable>
+        </term>
+        <listitem>
+         <para>
+          Replace every occurrence of the string <replaceable>s1</replaceable>
+          by <replaceable>s2</replaceable>.
+         </para>
+        </listitem>
+       </varlistentry>
+       <varlistentry>
+        <term><option>--subst-var</option><replaceable>varName</replaceable>
+        </term>
+        <listitem>
+         <para>
+          Replace every occurrence of
+          <literal>@<replaceable>varName</replaceable>@</literal> by the
+          contents of the environment variable
+          <replaceable>varName</replaceable>. This is useful for generating
+          files from templates, using
+          <literal>@<replaceable>...</replaceable>@</literal> in the template
+          as placeholders.
+         </para>
+        </listitem>
+       </varlistentry>
+       <varlistentry>
+        <term><option>--subst-var-by</option><replaceable>varName</replaceable><replaceable>s</replaceable>
+        </term>
+        <listitem>
+         <para>
+          Replace every occurrence of
+          <literal>@<replaceable>varName</replaceable>@</literal> by the string
+          <replaceable>s</replaceable>.
+         </para>
+        </listitem>
+       </varlistentry>
+      </variablelist>
+     </para>
+     <para>
+      Example:
 <programlisting>
 substitute ./foo.in ./foo.out \
     --replace /usr/bin/bar $bar/bin/bar \
     --replace "a string containing spaces" "some other text" \
     --subst-var someVar
 </programlisting>
-
-      </para>
-
-      <para><function>substitute</function> is implemented using the
+     </para>
+     <para>
+      <function>substitute</function> is implemented using the
       <command
       xlink:href="http://replace.richardlloyd.org.uk/">replace</command>
-      command.  Unlike with the <command>sed</command> command, you
-      don’t have to worry about escaping special characters.  It
-      supports performing substitutions on binary files (such as
-      executables), though there you’ll probably want to make sure
-      that the replacement string is as long as the replaced
-      string.</para>
-
+      command. Unlike with the <command>sed</command> command, you don’t have
+      to worry about escaping special characters. It supports performing
+      substitutions on binary files (such as executables), though there
+      you’ll probably want to make sure that the replacement string is as
+      long as the replaced string.
+     </para>
     </listitem>
-  </varlistentry>
-
-
-  <varlistentry xml:id='fun-substituteInPlace'>
-    <term><function>substituteInPlace</function>
-    <replaceable>file</replaceable>
-    <replaceable>subs</replaceable></term>
-    <listitem><para>Like <function>substitute</function>, but performs
-    the substitutions in place on the file
-    <replaceable>file</replaceable>.</para></listitem>
-  </varlistentry>
-
-
-  <varlistentry xml:id='fun-substituteAll'>
-    <term><function>substituteAll</function>
-    <replaceable>infile</replaceable>
-    <replaceable>outfile</replaceable></term>
-    <listitem><para>Replaces every occurrence of
-    <literal>@<replaceable>varName</replaceable>@</literal>, where
-    <replaceable>varName</replaceable> is any environment variable, in
-    <replaceable>infile</replaceable>, writing the result to
-    <replaceable>outfile</replaceable>.  For instance, if
-    <replaceable>infile</replaceable> has the contents
-
+   </varlistentry>
+   <varlistentry xml:id='fun-substituteInPlace'>
+    <term><function>substituteInPlace</function><replaceable>file</replaceable><replaceable>subs</replaceable>
+    </term>
+    <listitem>
+     <para>
+      Like <function>substitute</function>, but performs the substitutions in
+      place on the file <replaceable>file</replaceable>.
+     </para>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id='fun-substituteAll'>
+    <term><function>substituteAll</function><replaceable>infile</replaceable><replaceable>outfile</replaceable>
+    </term>
+    <listitem>
+     <para>
+      Replaces every occurrence of
+      <literal>@<replaceable>varName</replaceable>@</literal>, where
+      <replaceable>varName</replaceable> is any environment variable, in
+      <replaceable>infile</replaceable>, writing the result to
+      <replaceable>outfile</replaceable>. For instance, if
+      <replaceable>infile</replaceable> has the contents
 <programlisting>
 #! @bash@/bin/sh
 PATH=@coreutils@/bin
 echo @foo@
 </programlisting>
-
-    and the environment contains
-    <literal>bash=/nix/store/bmwp0q28cf21...-bash-3.2-p39</literal>
-    and
-    <literal>coreutils=/nix/store/68afga4khv0w...-coreutils-6.12</literal>,
-    but does not contain the variable <varname>foo</varname>, then the
-    output will be
-
+      and the environment contains
+      <literal>bash=/nix/store/bmwp0q28cf21...-bash-3.2-p39</literal> and
+      <literal>coreutils=/nix/store/68afga4khv0w...-coreutils-6.12</literal>,
+      but does not contain the variable <varname>foo</varname>, then the output
+      will be
 <programlisting>
 #! /nix/store/bmwp0q28cf21...-bash-3.2-p39/bin/sh
 PATH=/nix/store/68afga4khv0w...-coreutils-6.12/bin
 echo @foo@
 </programlisting>
-
-    That is, no substitution is performed for undefined variables.</para>
-
-    <para>Environment variables that start with an uppercase letter or an
-    underscore are filtered out,
-    to prevent global variables (like <literal>HOME</literal>) or private
-    variables (like <literal>__ETC_PROFILE_DONE</literal>) from accidentally
-    getting substituted.
-    The variables also have to be valid bash “names”, as
-    defined in the bash manpage (alphanumeric or <literal>_</literal>,
-    must not start with a number).</para>
-  </listitem>
-  </varlistentry>
-
-
-  <varlistentry xml:id='fun-substituteAllInPlace'>
-    <term><function>substituteAllInPlace</function>
-    <replaceable>file</replaceable></term>
-    <listitem><para>Like <function>substituteAll</function>, but performs
-    the substitutions in place on the file
-    <replaceable>file</replaceable>.</para></listitem>
-  </varlistentry>
-
-
-  <varlistentry xml:id='fun-stripHash'>
-    <term><function>stripHash</function>
-    <replaceable>path</replaceable></term>
-    <listitem><para>Strips the directory and hash part of a store
-    path, outputting the name part to <literal>stdout</literal>.
-    For example:
-
+      That is, no substitution is performed for undefined variables.
+     </para>
+     <para>
+      Environment variables that start with an uppercase letter or an
+      underscore are filtered out, to prevent global variables (like
+      <literal>HOME</literal>) or private variables (like
+      <literal>__ETC_PROFILE_DONE</literal>) from accidentally getting
+      substituted. The variables also have to be valid bash “names”, as
+      defined in the bash manpage (alphanumeric or <literal>_</literal>, must
+      not start with a number).
+     </para>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id='fun-substituteAllInPlace'>
+    <term><function>substituteAllInPlace</function><replaceable>file</replaceable>
+    </term>
+    <listitem>
+     <para>
+      Like <function>substituteAll</function>, but performs the substitutions
+      in place on the file <replaceable>file</replaceable>.
+     </para>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id='fun-stripHash'>
+    <term><function>stripHash</function><replaceable>path</replaceable>
+    </term>
+    <listitem>
+     <para>
+      Strips the directory and hash part of a store path, outputting the name
+      part to <literal>stdout</literal>. For example:
 <programlisting>
 # prints coreutils-8.24
 stripHash "/nix/store/9s9r019176g7cvn2nvcw41gsp862y6b4-coreutils-8.24"
 </programlisting>
-
-    If you wish to store the result in another variable, then the
-    following idiom may be useful:
-
+      If you wish to store the result in another variable, then the following
+      idiom may be useful:
 <programlisting>
 name="/nix/store/9s9r019176g7cvn2nvcw41gsp862y6b4-coreutils-8.24"
 someVar=$(stripHash $name)
 </programlisting>
-
-    </para></listitem>
-  </varlistentry>
-
-
-  <varlistentry xml:id='fun-wrapProgram'>
-    <term><function>wrapProgram</function>
-    <replaceable>executable</replaceable>
-    <replaceable>makeWrapperArgs</replaceable></term>
-    <listitem><para>Convenience function for <literal>makeWrapper</literal>
-    that automatically creates a sane wrapper file
-
-    It takes all the same arguments as <literal>makeWrapper</literal>,
-    except for <literal>--argv0</literal>.</para>
-
-    <para>It cannot be applied multiple times, since it will overwrite the wrapper
-    file.</para>
+     </para>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id='fun-wrapProgram'>
+    <term><function>wrapProgram</function><replaceable>executable</replaceable><replaceable>makeWrapperArgs</replaceable>
+    </term>
+    <listitem>
+     <para>
+      Convenience function for <literal>makeWrapper</literal> that
+      automatically creates a sane wrapper file It takes all the same arguments
+      as <literal>makeWrapper</literal>, except for <literal>--argv0</literal>.
+     </para>
+     <para>
+      It cannot be applied multiple times, since it will overwrite the wrapper
+      file.
+     </para>
     </listitem>
-  </varlistentry>
-
-
-</variablelist>
-
-</section>
-
-
-<section xml:id="ssec-setup-hooks"><title>Package setup hooks</title>
-
-<para>
-  Nix itself considers a build-time dependency merely something that should previously be built and accessible at build time—packages themselves are on their own to perform any additional setup.
-  In most cases, that is fine, and the downstream derivation can deal with it's own dependencies.
-  But for a few common tasks, that would result in almost every package doing the same sort of setup work---depending not on the package itself, but entirely on which dependencies were used.
-</para>
-<para>
-  In order to alleviate this burden, the <firstterm>setup hook></firstterm>mechanism was written, where any package can include a shell script that [by convention rather than enforcement by Nix], any downstream reverse-dependency will source as part of its build process.
-  That allows the downstream dependency to merely specify its dependencies, and lets those dependencies effectively initialize themselves.
-  No boilerplate mirroring the list of dependencies is needed.
-</para>
-<para>
-  The Setup hook mechanism is a bit of a sledgehammer though: a powerful feature with a broad and indiscriminate area of effect.
-  The combination of its power and implicit use may be expedient, but isn't without costs.
-  Nix itself is unchanged, but the spirit of adding dependencies being effect-free is violated even if the letter isn't.
-  For example, if a derivation path is mentioned more than once, Nix itself doesn't care and simply makes sure the dependency derivation is already built just the same—depending is just needing something to exist, and needing is idempotent.
-  However, a dependency specified twice will have its setup hook run twice, and that could easily change the build environment (though a well-written setup hook will therefore strive to be idempotent so this is in fact not observable).
-  More broadly, setup hooks are anti-modular in that multiple dependencies, whether the same or different, should not interfere and yet their setup hooks may well do so.
-</para>
-<para>
-  The most typical use of the setup hook is actually to add other hooks which are then run (i.e. after all the setup hooks) on each dependency.
-  For example, the C compiler wrapper's setup hook feeds itself flags for each dependency that contains relevant libaries and headers.
-  This is done by defining a bash function, and appending its name to one of
-  <envar>envBuildBuildHooks</envar>`,
-  <envar>envBuildHostHooks</envar>`,
-  <envar>envBuildTargetHooks</envar>`,
-  <envar>envHostHostHooks</envar>`,
-  <envar>envHostTargetHooks</envar>`, or
-  <envar>envTargetTargetHooks</envar>`.
-  These 6 bash variables correspond to the 6 sorts of dependencies by platform (there's 12 total but we ignore the propagated/non-propagated axis).
-</para>
-<para>
-  Packages adding a hook should not hard code a specific hook, but rather choose a variable <emphasis>relative</emphasis> to how they are included.
-  Returning to the C compiler wrapper example, if it itself is an <literal>n</literal> dependency, then it only wants to accumulate flags from <literal>n + 1</literal> dependencies, as only those ones match the compiler's target platform.
-  The <envar>hostOffset</envar> variable is defined with the current dependency's host offset <envar>targetOffset</envar> with its target offset, before it's setup hook is sourced.
-  Additionally, since most environment hooks don't care about the target platform,
-  That means the setup hook can append to the right bash array by doing something like
-  <programlisting language="bash">
+   </varlistentry>
+  </variablelist>
+ </section>
+ <section xml:id="ssec-setup-hooks">
+  <title>Package setup hooks</title>
+
+  <para>
+   Nix itself considers a build-time dependency merely something that should
+   previously be built and accessible at build time—packages themselves are
+   on their own to perform any additional setup. In most cases, that is fine,
+   and the downstream derivation can deal with it's own dependencies. But for a
+   few common tasks, that would result in almost every package doing the same
+   sort of setup work---depending not on the package itself, but entirely on
+   which dependencies were used.
+  </para>
+
+  <para>
+   In order to alleviate this burden, the <firstterm>setup
+   hook></firstterm>mechanism was written, where any package can include a
+   shell script that [by convention rather than enforcement by Nix], any
+   downstream reverse-dependency will source as part of its build process. That
+   allows the downstream dependency to merely specify its dependencies, and
+   lets those dependencies effectively initialize themselves. No boilerplate
+   mirroring the list of dependencies is needed.
+  </para>
+
+  <para>
+   The Setup hook mechanism is a bit of a sledgehammer though: a powerful
+   feature with a broad and indiscriminate area of effect. The combination of
+   its power and implicit use may be expedient, but isn't without costs. Nix
+   itself is unchanged, but the spirit of adding dependencies being effect-free
+   is violated even if the letter isn't. For example, if a derivation path is
+   mentioned more than once, Nix itself doesn't care and simply makes sure the
+   dependency derivation is already built just the same—depending is just
+   needing something to exist, and needing is idempotent. However, a dependency
+   specified twice will have its setup hook run twice, and that could easily
+   change the build environment (though a well-written setup hook will
+   therefore strive to be idempotent so this is in fact not observable). More
+   broadly, setup hooks are anti-modular in that multiple dependencies, whether
+   the same or different, should not interfere and yet their setup hooks may
+   well do so.
+  </para>
+
+  <para>
+   The most typical use of the setup hook is actually to add other hooks which
+   are then run (i.e. after all the setup hooks) on each dependency. For
+   example, the C compiler wrapper's setup hook feeds itself flags for each
+   dependency that contains relevant libaries and headers. This is done by
+   defining a bash function, and appending its name to one of
+   <envar>envBuildBuildHooks</envar>`, <envar>envBuildHostHooks</envar>`,
+   <envar>envBuildTargetHooks</envar>`, <envar>envHostHostHooks</envar>`,
+   <envar>envHostTargetHooks</envar>`, or <envar>envTargetTargetHooks</envar>`.
+   These 6 bash variables correspond to the 6 sorts of dependencies by platform
+   (there's 12 total but we ignore the propagated/non-propagated axis).
+  </para>
+
+  <para>
+   Packages adding a hook should not hard code a specific hook, but rather
+   choose a variable <emphasis>relative</emphasis> to how they are included.
+   Returning to the C compiler wrapper example, if it itself is an
+   <literal>n</literal> dependency, then it only wants to accumulate flags from
+   <literal>n + 1</literal> dependencies, as only those ones match the
+   compiler's target platform. The <envar>hostOffset</envar> variable is
+   defined with the current dependency's host offset
+   <envar>targetOffset</envar> with its target offset, before it's setup hook
+   is sourced. Additionally, since most environment hooks don't care about the
+   target platform, That means the setup hook can append to the right bash
+   array by doing something like
+<programlisting language="bash">
 addEnvHooks "$hostOffset" myBashFunction
   </programlisting>
-</para>
-<para>
-  The <emphasis>existence</emphasis> of setups hooks has long been documented and packages inside Nixpkgs are free to use these mechanism.
-  Other packages, however, should not rely on these mechanisms not changing between Nixpkgs versions.
-  Because of the existing issues with this system, there's little benefit from mandating it be stable for any period of time.
-</para>
-<para>
-  Here are some packages that provide a setup hook.
-  Since the mechanism is modular, this probably isn't an exhaustive list.
-  Then again, since the mechanism is only to be used as a last resort, it might be.
-<variablelist>
-
-  <varlistentry>
-    <term>Bintools Wrapper</term>
-    <listitem>
+  </para>
+
+  <para>
+   The <emphasis>existence</emphasis> of setups hooks has long been documented
+   and packages inside Nixpkgs are free to use these mechanism. Other packages,
+   however, should not rely on these mechanisms not changing between Nixpkgs
+   versions. Because of the existing issues with this system, there's little
+   benefit from mandating it be stable for any period of time.
+  </para>
+
+  <para>
+   Here are some packages that provide a setup hook. Since the mechanism is
+   modular, this probably isn't an exhaustive list. Then again, since the
+   mechanism is only to be used as a last resort, it might be.
+   <variablelist>
+    <varlistentry>
+     <term>Bintools Wrapper</term>
+     <listitem>
       <para>
-        Bintools Wrapper wraps the binary utilities for a bunch of miscellaneous purposes.
-        These are GNU Binutils when targetting Linux, and a mix of cctools and GNU binutils for Darwin.
-        [The "Bintools" name is supposed to be a compromise between "Binutils" and "cctools" not denoting any specific implementation.]
-        Specifically, the underlying bintools package, and a C standard library (glibc or Darwin's libSystem, just for the dynamic loader) are all fed in, and dependency finding, hardening (see below), and purity checks for each are handled by Bintools Wrapper.
-        Packages typically depend on CC Wrapper, which in turn (at run time) depends on Bintools Wrapper.
+       Bintools Wrapper wraps the binary utilities for a bunch of miscellaneous
+       purposes. These are GNU Binutils when targetting Linux, and a mix of
+       cctools and GNU binutils for Darwin. [The "Bintools" name is supposed to
+       be a compromise between "Binutils" and "cctools" not denoting any
+       specific implementation.] Specifically, the underlying bintools package,
+       and a C standard library (glibc or Darwin's libSystem, just for the
+       dynamic loader) are all fed in, and dependency finding, hardening (see
+       below), and purity checks for each are handled by Bintools Wrapper.
+       Packages typically depend on CC Wrapper, which in turn (at run time)
+       depends on Bintools Wrapper.
       </para>
       <para>
-        Bintools Wrapper was only just recently split off from CC Wrapper, so the division of labor is still being worked out.
-        For example, it shouldn't care about about the C standard library, but just take a derivation with the dynamic loader (which happens to be the glibc on linux).
-        Dependency finding however is a task both wrappers will continue to need to share, and probably the most important to understand.
-        It is currently accomplished by collecting directories of host-platform dependencies (i.e. <varname>buildInputs</varname> and <varname>nativeBuildInputs</varname>) in environment variables.
-        Bintools Wrapper's setup hook causes any <filename>lib</filename> and <filename>lib64</filename> subdirectories to be added to <envar>NIX_LDFLAGS</envar>.
-        Since CC Wrapper and Bintools Wrapper use the same strategy, most of the Bintools Wrapper code is sparsely commented and refers to CC Wrapper.
-        But CC Wrapper's code, by contrast, has quite lengthy comments.
-        Bintools Wrapper merely cites those, rather than repeating them, to avoid falling out of sync.
+       Bintools Wrapper was only just recently split off from CC Wrapper, so
+       the division of labor is still being worked out. For example, it
+       shouldn't care about about the C standard library, but just take a
+       derivation with the dynamic loader (which happens to be the glibc on
+       linux). Dependency finding however is a task both wrappers will continue
+       to need to share, and probably the most important to understand. It is
+       currently accomplished by collecting directories of host-platform
+       dependencies (i.e. <varname>buildInputs</varname> and
+       <varname>nativeBuildInputs</varname>) in environment variables. Bintools
+       Wrapper's setup hook causes any <filename>lib</filename> and
+       <filename>lib64</filename> subdirectories to be added to
+       <envar>NIX_LDFLAGS</envar>. Since CC Wrapper and Bintools Wrapper use
+       the same strategy, most of the Bintools Wrapper code is sparsely
+       commented and refers to CC Wrapper. But CC Wrapper's code, by contrast,
+       has quite lengthy comments. Bintools Wrapper merely cites those, rather
+       than repeating them, to avoid falling out of sync.
       </para>
       <para>
-        A final task of the setup hook is defining a number of standard environment variables to tell build systems which executables full-fill which purpose.
-        They are defined to just be the base name of the tools, under the assumption that Bintools Wrapper's binaries will be on the path.
-        Firstly, this helps poorly-written packages, e.g. ones that look for just <command>gcc</command> when <envar>CC</envar> isn't defined yet <command>clang</command> is to be used.
-        Secondly, this helps packages not get confused when cross-compiling, in which case multiple Bintools Wrappers may simultaneously be in use.
-        <footnote><para>
-          Each wrapper targets a single platform, so if binaries for multiple platforms are needed, the underlying binaries must be wrapped multiple times.
-          As this is a property of the wrapper itself, the multiple wrappings are needed whether or not the same underlying binaries can target multiple platforms.
-        </para></footnote>
-        <envar>BUILD_</envar>- and <envar>TARGET_</envar>-prefixed versions of the normal environment variable are defined for the additional Bintools Wrappers, properly disambiguating them.
+       A final task of the setup hook is defining a number of standard
+       environment variables to tell build systems which executables full-fill
+       which purpose. They are defined to just be the base name of the tools,
+       under the assumption that Bintools Wrapper's binaries will be on the
+       path. Firstly, this helps poorly-written packages, e.g. ones that look
+       for just <command>gcc</command> when <envar>CC</envar> isn't defined yet
+       <command>clang</command> is to be used. Secondly, this helps packages
+       not get confused when cross-compiling, in which case multiple Bintools
+       Wrappers may simultaneously be in use.
+       <footnote>
+        <para>
+         Each wrapper targets a single platform, so if binaries for multiple
+         platforms are needed, the underlying binaries must be wrapped multiple
+         times. As this is a property of the wrapper itself, the multiple
+         wrappings are needed whether or not the same underlying binaries can
+         target multiple platforms.
+        </para>
+       </footnote>
+       <envar>BUILD_</envar>- and <envar>TARGET_</envar>-prefixed versions of
+       the normal environment variable are defined for the additional Bintools
+       Wrappers, properly disambiguating them.
       </para>
       <para>
-        A problem with this final task is that Bintools Wrapper is honest and defines <envar>LD</envar> as <command>ld</command>.
-        Most packages, however, firstly use the C compiler for linking, secondly use <envar>LD</envar> anyways, defining it as the C compiler, and thirdly, only so define <envar>LD</envar> when it is undefined as a fallback.
-        This triple-threat means Bintools Wrapper will break those packages, as LD is already defined as the actual linker which the package won't override yet doesn't want to use.
-        The workaround is to define, just for the problematic package, <envar>LD</envar> as the C compiler.
-        A good way to do this would be <command>preConfigure = "LD=$CC"</command>.
+       A problem with this final task is that Bintools Wrapper is honest and
+       defines <envar>LD</envar> as <command>ld</command>. Most packages,
+       however, firstly use the C compiler for linking, secondly use
+       <envar>LD</envar> anyways, defining it as the C compiler, and thirdly,
+       only so define <envar>LD</envar> when it is undefined as a fallback.
+       This triple-threat means Bintools Wrapper will break those packages, as
+       LD is already defined as the actual linker which the package won't
+       override yet doesn't want to use. The workaround is to define, just for
+       the problematic package, <envar>LD</envar> as the C compiler. A good way
+       to do this would be <command>preConfigure = "LD=$CC"</command>.
       </para>
-    </listitem>
-  </varlistentry>
-
-  <varlistentry>
-    <term>CC Wrapper</term>
-    <listitem>
+     </listitem>
+    </varlistentry>
+    <varlistentry>
+     <term>CC Wrapper</term>
+     <listitem>
       <para>
-        CC Wrapper wraps a C toolchain for a bunch of miscellaneous purposes.
-        Specifically, a C compiler (GCC or Clang), wrapped binary tools, and a C standard library (glibc or Darwin's libSystem, just for the dynamic loader) are all fed in, and dependency finding, hardening (see below), and purity checks for each are handled by CC Wrapper.
-        Packages typically depend on CC Wrapper, which in turn (at run time) depends on Bintools Wrapper.
+       CC Wrapper wraps a C toolchain for a bunch of miscellaneous purposes.
+       Specifically, a C compiler (GCC or Clang), wrapped binary tools, and a C
+       standard library (glibc or Darwin's libSystem, just for the dynamic
+       loader) are all fed in, and dependency finding, hardening (see below),
+       and purity checks for each are handled by CC Wrapper. Packages typically
+       depend on CC Wrapper, which in turn (at run time) depends on Bintools
+       Wrapper.
       </para>
       <para>
-        Dependency finding is undoubtedly the main task of CC Wrapper.
-        This works just like Bintools Wrapper, except that any <filename>include</filename> subdirectory of any relevant dependency is added to <envar>NIX_CFLAGS_COMPILE</envar>.
-        The setup hook itself contains some lengthy comments describing the exact convoluted mechanism by which this is accomplished.
+       Dependency finding is undoubtedly the main task of CC Wrapper. This
+       works just like Bintools Wrapper, except that any
+       <filename>include</filename> subdirectory of any relevant dependency is
+       added to <envar>NIX_CFLAGS_COMPILE</envar>. The setup hook itself
+       contains some lengthy comments describing the exact convoluted mechanism
+       by which this is accomplished.
       </para>
       <para>
-        CC Wrapper also like Bintools Wrapper defines standard environment variables with the names of the tools it wraps, for the same reasons described above.
-        Importantly, while it includes a <command>cc</command> symlink to the c compiler for portability, the <envar>CC</envar> will be defined using the compiler's "real name" (i.e. <command>gcc</command> or <command>clang</command>).
-        This helps lousy build systems that inspect on the name of the compiler rather than run it.
+       CC Wrapper also like Bintools Wrapper defines standard environment
+       variables with the names of the tools it wraps, for the same reasons
+       described above. Importantly, while it includes a <command>cc</command>
+       symlink to the c compiler for portability, the <envar>CC</envar> will be
+       defined using the compiler's "real name" (i.e. <command>gcc</command> or
+       <command>clang</command>). This helps lousy build systems that inspect
+       on the name of the compiler rather than run it.
       </para>
-    </listitem>
-  </varlistentry>
-
-  <varlistentry>
-    <term>Perl</term>
-    <listitem>
+     </listitem>
+    </varlistentry>
+    <varlistentry>
+     <term>Perl</term>
+     <listitem>
       <para>
-        Adds the <filename>lib/site_perl</filename> subdirectory of each build input to the <envar>PERL5LIB</envar> environment variable.
-        For instance, if <varname>buildInputs</varname> contains Perl, then the <filename>lib/site_perl</filename> subdirectory of each input is added to the <envar>PERL5LIB</envar> environment variable.
+       Adds the <filename>lib/site_perl</filename> subdirectory of each build
+       input to the <envar>PERL5LIB</envar> environment variable. For instance,
+       if <varname>buildInputs</varname> contains Perl, then the
+       <filename>lib/site_perl</filename> subdirectory of each input is added
+       to the <envar>PERL5LIB</envar> environment variable.
       </para>
-    </listitem>
-  </varlistentry>
-
-  <varlistentry>
-    <term>Python</term>
-    <listitem><para>Adds the
-    <filename>lib/${python.libPrefix}/site-packages</filename> subdirectory of
-    each build input to the <envar>PYTHONPATH</envar> environment
-    variable.</para></listitem>
-  </varlistentry>
-
-  <varlistentry>
-    <term>pkg-config</term>
-    <listitem><para>Adds the <filename>lib/pkgconfig</filename> and
-    <filename>share/pkgconfig</filename> subdirectories of each
-    build input to the <envar>PKG_CONFIG_PATH</envar> environment
-    variable.</para></listitem>
-  </varlistentry>
-
-  <varlistentry>
-    <term>Automake</term>
-    <listitem><para>Adds the <filename>share/aclocal</filename>
-    subdirectory of each build input to the <envar>ACLOCAL_PATH</envar>
-    environment variable.</para></listitem>
-  </varlistentry>
-
-  <varlistentry>
-    <term>Autoconf</term>
-    <listitem><para>The <varname>autoreconfHook</varname> derivation adds
-    <varname>autoreconfPhase</varname>, which runs autoreconf, libtoolize and
-    automake, essentially preparing the configure script in autotools-based
-    builds.</para></listitem>
-  </varlistentry>
-
-  <varlistentry>
-    <term>libxml2</term>
-    <listitem><para>Adds every file named
-    <filename>catalog.xml</filename> found under the
-    <filename>xml/dtd</filename> and <filename>xml/xsl</filename>
-    subdirectories of each build input to the
-    <envar>XML_CATALOG_FILES</envar> environment
-    variable.</para></listitem>
-  </varlistentry>
-
-  <varlistentry>
-    <term>teTeX / TeX Live</term>
-    <listitem><para>Adds the <filename>share/texmf-nix</filename>
-    subdirectory of each build input to the <envar>TEXINPUTS</envar>
-    environment variable.</para></listitem>
-  </varlistentry>
-
-  <varlistentry>
-    <term>Qt 4</term>
-    <listitem><para>Sets the <envar>QTDIR</envar> environment variable
-    to Qt’s path.</para></listitem>
-  </varlistentry>
-
-  <varlistentry>
-    <term>gdk-pixbuf</term>
-    <listitem><para>Exports <envar>GDK_PIXBUF_MODULE_FILE</envar>
-    environment variable the the builder. Add librsvg package
-    to <varname>buildInputs</varname> to get svg support.</para></listitem>
-  </varlistentry>
-
-  <varlistentry>
-    <term>GHC</term>
-    <listitem><para>Creates a temporary package database and registers
-    every Haskell build input in it (TODO: how?).</para></listitem>
-  </varlistentry>
-
-  <varlistentry>
-    <term>GStreamer</term>
-    <listitem><para>Adds the
-    GStreamer plugins subdirectory of
-    each build input to the <envar>GST_PLUGIN_SYSTEM_PATH_1_0</envar> or
-    <envar>GST_PLUGIN_SYSTEM_PATH</envar> environment variable.</para></listitem>
-  </varlistentry>
-
-  <varlistentry>
-    <term>paxctl</term>
-    <listitem><para>Defines the <varname>paxmark</varname> helper for
-    setting per-executable PaX flags on Linux (where it is available by
-    default; on all other platforms, <varname>paxmark</varname> is a no-op).
-    For example, to disable secure memory protections on the executable
-    <replaceable>foo</replaceable>:
-    <programlisting>
+     </listitem>
+    </varlistentry>
+    <varlistentry>
+     <term>Python</term>
+     <listitem>
+      <para>
+       Adds the <filename>lib/${python.libPrefix}/site-packages</filename>
+       subdirectory of each build input to the <envar>PYTHONPATH</envar>
+       environment variable.
+      </para>
+     </listitem>
+    </varlistentry>
+    <varlistentry>
+     <term>pkg-config</term>
+     <listitem>
+      <para>
+       Adds the <filename>lib/pkgconfig</filename> and
+       <filename>share/pkgconfig</filename> subdirectories of each build input
+       to the <envar>PKG_CONFIG_PATH</envar> environment variable.
+      </para>
+     </listitem>
+    </varlistentry>
+    <varlistentry>
+     <term>Automake</term>
+     <listitem>
+      <para>
+       Adds the <filename>share/aclocal</filename> subdirectory of each build
+       input to the <envar>ACLOCAL_PATH</envar> environment variable.
+      </para>
+     </listitem>
+    </varlistentry>
+    <varlistentry>
+     <term>Autoconf</term>
+     <listitem>
+      <para>
+       The <varname>autoreconfHook</varname> derivation adds
+       <varname>autoreconfPhase</varname>, which runs autoreconf, libtoolize
+       and automake, essentially preparing the configure script in
+       autotools-based builds.
+      </para>
+     </listitem>
+    </varlistentry>
+    <varlistentry>
+     <term>libxml2</term>
+     <listitem>
+      <para>
+       Adds every file named <filename>catalog.xml</filename> found under the
+       <filename>xml/dtd</filename> and <filename>xml/xsl</filename>
+       subdirectories of each build input to the
+       <envar>XML_CATALOG_FILES</envar> environment variable.
+      </para>
+     </listitem>
+    </varlistentry>
+    <varlistentry>
+     <term>teTeX / TeX Live</term>
+     <listitem>
+      <para>
+       Adds the <filename>share/texmf-nix</filename> subdirectory of each build
+       input to the <envar>TEXINPUTS</envar> environment variable.
+      </para>
+     </listitem>
+    </varlistentry>
+    <varlistentry>
+     <term>Qt 4</term>
+     <listitem>
+      <para>
+       Sets the <envar>QTDIR</envar> environment variable to Qt’s path.
+      </para>
+     </listitem>
+    </varlistentry>
+    <varlistentry>
+     <term>gdk-pixbuf</term>
+     <listitem>
+      <para>
+       Exports <envar>GDK_PIXBUF_MODULE_FILE</envar> environment variable the
+       the builder. Add librsvg package to <varname>buildInputs</varname> to
+       get svg support.
+      </para>
+     </listitem>
+    </varlistentry>
+    <varlistentry>
+     <term>GHC</term>
+     <listitem>
+      <para>
+       Creates a temporary package database and registers every Haskell build
+       input in it (TODO: how?).
+      </para>
+     </listitem>
+    </varlistentry>
+    <varlistentry>
+     <term>GStreamer</term>
+     <listitem>
+      <para>
+       Adds the GStreamer plugins subdirectory of each build input to the
+       <envar>GST_PLUGIN_SYSTEM_PATH_1_0</envar> or
+       <envar>GST_PLUGIN_SYSTEM_PATH</envar> environment variable.
+      </para>
+     </listitem>
+    </varlistentry>
+    <varlistentry>
+     <term>paxctl</term>
+     <listitem>
+      <para>
+       Defines the <varname>paxmark</varname> helper for setting per-executable
+       PaX flags on Linux (where it is available by default; on all other
+       platforms, <varname>paxmark</varname> is a no-op). For example, to
+       disable secure memory protections on the executable
+       <replaceable>foo</replaceable>:
+<programlisting>
       postFixup = ''
         paxmark m $out/bin/<replaceable>foo</replaceable>
       '';
     </programlisting>
-    The <literal>m</literal> flag is the most common flag and is typically
-    required for applications that employ JIT compilation or otherwise need to
-    execute code generated at run-time.  Disabling PaX protections should be
-    considered a last resort: if possible, problematic features should be
-    disabled or patched to work with PaX.</para></listitem>
-  </varlistentry>
-
-  <varlistentry>
-    <term>autoPatchelfHook</term>
-    <listitem><para>This is a special setup hook which helps in packaging
-    proprietary software in that it automatically tries to find missing shared
-    library dependencies of ELF files. All packages within the
-    <envar>runtimeDependencies</envar> environment variable are unconditionally
-    added to executables, which is useful for programs that use
-    <citerefentry>
-      <refentrytitle>dlopen</refentrytitle>
-      <manvolnum>3</manvolnum>
-    </citerefentry>
-    to load libraries at runtime.</para></listitem>
-  </varlistentry>
-
-</variablelist>
-
-</para>
-
-</section>
-
-
-<section xml:id="sec-purity-in-nixpkgs"><title>Purity in Nixpkgs</title>
-
-<para>[measures taken to prevent dependencies on packages outside the
-store, and what you can do to prevent them]</para>
-
-<para>GCC doesn't search in locations such as
-<filename>/usr/include</filename>.  In fact, attempts to add such
-directories through the <option>-I</option> flag are filtered out.
-Likewise, the linker (from GNU binutils) doesn't search in standard
-locations such as <filename>/usr/lib</filename>.  Programs built on
-Linux are linked against a GNU C Library that likewise doesn't search
-in the default system locations.</para>
-
-</section>
-
-<section xml:id="sec-hardening-in-nixpkgs"><title>Hardening in Nixpkgs</title>
-
-<para>There are flags available to harden packages at compile or link-time.
-These can be toggled using the <varname>stdenv.mkDerivation</varname> parameters
-<varname>hardeningDisable</varname> and <varname>hardeningEnable</varname>.
-</para>
-
-<para>
-Both parameters take a list of flags as strings. The special
-<varname>"all"</varname> flag can be passed to <varname>hardeningDisable</varname>
-to turn off all hardening. These flags can also be used as environment variables
-for testing or development purposes.
-</para>
-
-<para>The following flags are enabled by default and might require disabling with
-<varname>hardeningDisable</varname> if the program to package is incompatible.
-</para>
-
-<variablelist>
-
-  <varlistentry>
-    <term><varname>format</varname></term>
-    <listitem><para>Adds the <option>-Wformat -Wformat-security
-    -Werror=format-security</option> compiler options. At present,
-    this warns about calls to <varname>printf</varname> and
-    <varname>scanf</varname> functions where the format string is
-    not a string literal and there are no format arguments, as in
-    <literal>printf(foo);</literal>. This may be a security hole
-    if the format string came from untrusted input and contains
-    <literal>%n</literal>.</para>
-
-    <para>This needs to be turned off or fixed for errors similar to:</para>
-
-    <programlisting>
+       The <literal>m</literal> flag is the most common flag and is typically
+       required for applications that employ JIT compilation or otherwise need
+       to execute code generated at run-time. Disabling PaX protections should
+       be considered a last resort: if possible, problematic features should be
+       disabled or patched to work with PaX.
+      </para>
+     </listitem>
+    </varlistentry>
+    <varlistentry>
+     <term>autoPatchelfHook</term>
+     <listitem>
+      <para>
+       This is a special setup hook which helps in packaging proprietary
+       software in that it automatically tries to find missing shared library
+       dependencies of ELF files. All packages within the
+       <envar>runtimeDependencies</envar> environment variable are
+       unconditionally added to executables, which is useful for programs that
+       use <citerefentry>
+       <refentrytitle>dlopen</refentrytitle>
+       <manvolnum>3</manvolnum> </citerefentry> to load libraries at runtime.
+      </para>
+     </listitem>
+    </varlistentry>
+   </variablelist>
+  </para>
+ </section>
+ <section xml:id="sec-purity-in-nixpkgs">
+  <title>Purity in Nixpkgs</title>
+
+  <para>
+   [measures taken to prevent dependencies on packages outside the store, and
+   what you can do to prevent them]
+  </para>
+
+  <para>
+   GCC doesn't search in locations such as <filename>/usr/include</filename>.
+   In fact, attempts to add such directories through the <option>-I</option>
+   flag are filtered out. Likewise, the linker (from GNU binutils) doesn't
+   search in standard locations such as <filename>/usr/lib</filename>. Programs
+   built on Linux are linked against a GNU C Library that likewise doesn't
+   search in the default system locations.
+  </para>
+ </section>
+ <section xml:id="sec-hardening-in-nixpkgs">
+  <title>Hardening in Nixpkgs</title>
+
+  <para>
+   There are flags available to harden packages at compile or link-time. These
+   can be toggled using the <varname>stdenv.mkDerivation</varname> parameters
+   <varname>hardeningDisable</varname> and <varname>hardeningEnable</varname>.
+  </para>
+
+  <para>
+   Both parameters take a list of flags as strings. The special
+   <varname>"all"</varname> flag can be passed to
+   <varname>hardeningDisable</varname> to turn off all hardening. These flags
+   can also be used as environment variables for testing or development
+   purposes.
+  </para>
+
+  <para>
+   The following flags are enabled by default and might require disabling with
+   <varname>hardeningDisable</varname> if the program to package is
+   incompatible.
+  </para>
+
+  <variablelist>
+   <varlistentry>
+    <term><varname>format</varname>
+    </term>
+    <listitem>
+     <para>
+      Adds the <option>-Wformat -Wformat-security
+      -Werror=format-security</option> compiler options. At present, this warns
+      about calls to <varname>printf</varname> and <varname>scanf</varname>
+      functions where the format string is not a string literal and there are
+      no format arguments, as in <literal>printf(foo);</literal>. This may be a
+      security hole if the format string came from untrusted input and contains
+      <literal>%n</literal>.
+     </para>
+     <para>
+      This needs to be turned off or fixed for errors similar to:
+     </para>
+<programlisting>
 /tmp/nix-build-zynaddsubfx-2.5.2.drv-0/zynaddsubfx-2.5.2/src/UI/guimain.cpp:571:28: error: format not a string literal and no format arguments [-Werror=format-security]
          printf(help_message);
                             ^
 cc1plus: some warnings being treated as errors
-    </programlisting></listitem>
-  </varlistentry>
-
-  <varlistentry>
-    <term><varname>stackprotector</varname></term>
+    </programlisting>
+    </listitem>
+   </varlistentry>
+   <varlistentry>
+    <term><varname>stackprotector</varname>
+    </term>
     <listitem>
-    <para>Adds the <option>-fstack-protector-strong
-    --param ssp-buffer-size=4</option>
-    compiler options. This adds safety checks against stack overwrites
-    rendering many potential code injection attacks into aborting situations.
-    In the best case this turns code injection vulnerabilities into denial
-    of service or into non-issues (depending on the application).</para>
-
-    <para>This needs to be turned off or fixed for errors similar to:</para>
-
-    <programlisting>
+     <para>
+      Adds the <option>-fstack-protector-strong --param
+      ssp-buffer-size=4</option> compiler options. This adds safety checks
+      against stack overwrites rendering many potential code injection attacks
+      into aborting situations. In the best case this turns code injection
+      vulnerabilities into denial of service or into non-issues (depending on
+      the application).
+     </para>
+     <para>
+      This needs to be turned off or fixed for errors similar to:
+     </para>
+<programlisting>
 bin/blib.a(bios_console.o): In function `bios_handle_cup':
 /tmp/nix-build-ipxe-20141124-5cbdc41.drv-0/ipxe-5cbdc41/src/arch/i386/firmware/pcbios/bios_console.c:86: undefined reference to `__stack_chk_fail'
-    </programlisting></listitem>
-  </varlistentry>
-
-  <varlistentry>
-    <term><varname>fortify</varname></term>
+    </programlisting>
+    </listitem>
+   </varlistentry>
+   <varlistentry>
+    <term><varname>fortify</varname>
+    </term>
     <listitem>
-    <para>Adds the <option>-O2 -D_FORTIFY_SOURCE=2</option> compiler
-    options. During code generation the compiler knows a great deal of
-    information about buffer sizes (where possible), and attempts to replace
-    insecure unlimited length buffer function calls with length-limited ones.
-    This is especially useful for old, crufty code. Additionally, format
-    strings in writable memory that contain '%n' are blocked. If an application
-    depends on such a format string, it will need to be worked around.
-    </para>
-
-    <para>Additionally, some warnings are enabled which might trigger build
-    failures if compiler warnings are treated as errors in the package build.
-    In this case, set <option>NIX_CFLAGS_COMPILE</option> to
-    <option>-Wno-error=warning-type</option>.</para>
-
-    <para>This needs to be turned off or fixed for errors similar to:</para>
-
-    <programlisting>
+     <para>
+      Adds the <option>-O2 -D_FORTIFY_SOURCE=2</option> compiler options.
+      During code generation the compiler knows a great deal of information
+      about buffer sizes (where possible), and attempts to replace insecure
+      unlimited length buffer function calls with length-limited ones. This is
+      especially useful for old, crufty code. Additionally, format strings in
+      writable memory that contain '%n' are blocked. If an application depends
+      on such a format string, it will need to be worked around.
+     </para>
+     <para>
+      Additionally, some warnings are enabled which might trigger build
+      failures if compiler warnings are treated as errors in the package build.
+      In this case, set <option>NIX_CFLAGS_COMPILE</option> to
+      <option>-Wno-error=warning-type</option>.
+     </para>
+     <para>
+      This needs to be turned off or fixed for errors similar to:
+     </para>
+<programlisting>
 malloc.c:404:15: error: return type is an incomplete type
 malloc.c:410:19: error: storage size of 'ms' isn't known
     </programlisting>
-    <programlisting>
+<programlisting>
 strdup.h:22:1: error: expected identifier or '(' before '__extension__'
     </programlisting>
-    <programlisting>
+<programlisting>
 strsep.c:65:23: error: register name not specified for 'delim'
     </programlisting>
-    <programlisting>
+<programlisting>
 installwatch.c:3751:5: error: conflicting types for '__open_2'
     </programlisting>
-    <programlisting>
+<programlisting>
 fcntl2.h:50:4: error: call to '__open_missing_mode' declared with attribute error: open with O_CREAT or O_TMPFILE in second argument needs 3 arguments
     </programlisting>
     </listitem>
-  </varlistentry>
-
-  <varlistentry>
-    <term><varname>pic</varname></term>
+   </varlistentry>
+   <varlistentry>
+    <term><varname>pic</varname>
+    </term>
     <listitem>
-    <para>Adds the <option>-fPIC</option> compiler options. This options adds
-    support for position independent code in shared libraries and thus making
-    ASLR possible.</para>
-    <para>Most notably, the Linux kernel, kernel modules and other code
-    not running in an operating system environment like boot loaders won't
-    build with PIC enabled. The compiler will is most cases complain that
-    PIC is not supported for a specific build.
-    </para>
-
-    <para>This needs to be turned off or fixed for assembler errors similar to:</para>
-
-    <programlisting>
+     <para>
+      Adds the <option>-fPIC</option> compiler options. This options adds
+      support for position independent code in shared libraries and thus making
+      ASLR possible.
+     </para>
+     <para>
+      Most notably, the Linux kernel, kernel modules and other code not running
+      in an operating system environment like boot loaders won't build with PIC
+      enabled. The compiler will is most cases complain that PIC is not
+      supported for a specific build.
+     </para>
+     <para>
+      This needs to be turned off or fixed for assembler errors similar to:
+     </para>
+<programlisting>
 ccbLfRgg.s: Assembler messages:
 ccbLfRgg.s:33: Error: missing or invalid displacement expression `private_key_len@GOTOFF'
     </programlisting>
     </listitem>
-  </varlistentry>
-
-  <varlistentry>
-    <term><varname>strictoverflow</varname></term>
+   </varlistentry>
+   <varlistentry>
+    <term><varname>strictoverflow</varname>
+    </term>
     <listitem>
-    <para>Signed integer overflow is undefined behaviour according to the C
-    standard. If it happens, it is an error in the program as it should check
-    for overflow before it can happen, not afterwards. GCC provides built-in
-    functions to perform arithmetic with overflow checking, which are correct
-    and faster than any custom implementation. As a workaround, the option
-    <option>-fno-strict-overflow</option> makes gcc behave as if signed
-    integer overflows were defined.
-    </para>
-
-    <para>This flag should not trigger any build or runtime errors.</para>
+     <para>
+      Signed integer overflow is undefined behaviour according to the C
+      standard. If it happens, it is an error in the program as it should check
+      for overflow before it can happen, not afterwards. GCC provides built-in
+      functions to perform arithmetic with overflow checking, which are correct
+      and faster than any custom implementation. As a workaround, the option
+      <option>-fno-strict-overflow</option> makes gcc behave as if signed
+      integer overflows were defined.
+     </para>
+     <para>
+      This flag should not trigger any build or runtime errors.
+     </para>
     </listitem>
-  </varlistentry>
-
-  <varlistentry>
-    <term><varname>relro</varname></term>
+   </varlistentry>
+   <varlistentry>
+    <term><varname>relro</varname>
+    </term>
     <listitem>
-    <para>Adds the <option>-z relro</option> linker option. During program
-    load, several ELF memory sections need to be written to by the linker,
-    but can be turned read-only before turning over control to the program.
-    This prevents some GOT (and .dtors) overwrite attacks, but at least the
-    part of the GOT used by the dynamic linker (.got.plt) is still vulnerable.
-    </para>
-
-    <para>This flag can break dynamic shared object loading. For instance, the
-    module systems of Xorg and OpenCV are incompatible with this flag. In almost
-    all cases the <varname>bindnow</varname> flag must also be disabled and
-    incompatible programs typically fail with similar errors at runtime.</para>
+     <para>
+      Adds the <option>-z relro</option> linker option. During program load,
+      several ELF memory sections need to be written to by the linker, but can
+      be turned read-only before turning over control to the program. This
+      prevents some GOT (and .dtors) overwrite attacks, but at least the part
+      of the GOT used by the dynamic linker (.got.plt) is still vulnerable.
+     </para>
+     <para>
+      This flag can break dynamic shared object loading. For instance, the
+      module systems of Xorg and OpenCV are incompatible with this flag. In
+      almost all cases the <varname>bindnow</varname> flag must also be
+      disabled and incompatible programs typically fail with similar errors at
+      runtime.
+     </para>
     </listitem>
-  </varlistentry>
-
-  <varlistentry>
-    <term><varname>bindnow</varname></term>
+   </varlistentry>
+   <varlistentry>
+    <term><varname>bindnow</varname>
+    </term>
     <listitem>
-    <para>Adds the <option>-z bindnow</option> linker option. During program
-    load, all dynamic symbols are resolved, allowing for the complete GOT to
-    be marked read-only (due to <varname>relro</varname>). This prevents GOT
-    overwrite attacks. For very large applications, this can incur some
-    performance loss during initial load while symbols are resolved, but this
-    shouldn't be an issue for daemons.
-    </para>
-
-    <para>This flag can break dynamic shared object loading. For instance, the
-    module systems of Xorg and PHP are incompatible with this flag. Programs
-    incompatible with this flag often fail at runtime due to missing symbols,
-    like:</para>
-
-    <programlisting>
+     <para>
+      Adds the <option>-z bindnow</option> linker option. During program load,
+      all dynamic symbols are resolved, allowing for the complete GOT to be
+      marked read-only (due to <varname>relro</varname>). This prevents GOT
+      overwrite attacks. For very large applications, this can incur some
+      performance loss during initial load while symbols are resolved, but this
+      shouldn't be an issue for daemons.
+     </para>
+     <para>
+      This flag can break dynamic shared object loading. For instance, the
+      module systems of Xorg and PHP are incompatible with this flag. Programs
+      incompatible with this flag often fail at runtime due to missing symbols,
+      like:
+     </para>
+<programlisting>
 intel_drv.so: undefined symbol: vgaHWFreeHWRec
     </programlisting>
     </listitem>
-  </varlistentry>
-
-</variablelist>
+   </varlistentry>
+  </variablelist>
 
-<para>The following flags are disabled by default and should be enabled
-with <varname>hardeningEnable</varname> for packages that take untrusted
-input like network services.
-</para>
+  <para>
+   The following flags are disabled by default and should be enabled with
+   <varname>hardeningEnable</varname> for packages that take untrusted input
+   like network services.
+  </para>
 
-<variablelist>
-
-  <varlistentry>
-    <term><varname>pie</varname></term>
+  <variablelist>
+   <varlistentry>
+    <term><varname>pie</varname>
+    </term>
     <listitem>
-    <para>Adds the <option>-fPIE</option> compiler and <option>-pie</option>
-    linker options. Position Independent Executables are needed to take
-    advantage of Address Space Layout Randomization, supported by modern
-    kernel versions. While ASLR can already be enforced for data areas in
-    the stack and heap (brk and mmap), the code areas must be compiled as
-    position-independent. Shared libraries already do this with the
-    <varname>pic</varname> flag, so they gain ASLR automatically, but binary
-    .text regions need to be build with <varname>pie</varname> to gain ASLR.
-    When this happens, ROP attacks are much harder since there are no static
-    locations to bounce off of during a memory corruption attack.
-    </para>
+     <para>
+      Adds the <option>-fPIE</option> compiler and <option>-pie</option> linker
+      options. Position Independent Executables are needed to take advantage of
+      Address Space Layout Randomization, supported by modern kernel versions.
+      While ASLR can already be enforced for data areas in the stack and heap
+      (brk and mmap), the code areas must be compiled as position-independent.
+      Shared libraries already do this with the <varname>pic</varname> flag, so
+      they gain ASLR automatically, but binary .text regions need to be build
+      with <varname>pie</varname> to gain ASLR. When this happens, ROP attacks
+      are much harder since there are no static locations to bounce off of
+      during a memory corruption attack.
+     </para>
     </listitem>
-  </varlistentry>
-
-</variablelist>
-
-<para>For more in-depth information on these hardening flags and hardening in
-general, refer to the
-<link xlink:href="https://wiki.debian.org/Hardening">Debian Wiki</link>,
-<link xlink:href="https://wiki.ubuntu.com/Security/Features">Ubuntu Wiki</link>,
-<link xlink:href="https://wiki.gentoo.org/wiki/Project:Hardened">Gentoo Wiki</link>,
-and the <link xlink:href="https://wiki.archlinux.org/index.php/DeveloperWiki:Security">
-Arch Wiki</link>.
-</para>
-
-</section>
-
+   </varlistentry>
+  </variablelist>
+
+  <para>
+   For more in-depth information on these hardening flags and hardening in
+   general, refer to the
+   <link xlink:href="https://wiki.debian.org/Hardening">Debian Wiki</link>,
+   <link xlink:href="https://wiki.ubuntu.com/Security/Features">Ubuntu
+   Wiki</link>,
+   <link xlink:href="https://wiki.gentoo.org/wiki/Project:Hardened">Gentoo
+   Wiki</link>, and the
+   <link xlink:href="https://wiki.archlinux.org/index.php/DeveloperWiki:Security">
+   Arch Wiki</link>.
+  </para>
+ </section>
 </chapter>
diff --git a/doc/style.css b/doc/style.css
index ac76a64bbb2..0db907815b6 100644
--- a/doc/style.css
+++ b/doc/style.css
@@ -29,8 +29,8 @@ h2 /* chapters, appendices, subtitle */
 }
 
 /* Extra space between chapters, appendices. */
-div.chapter > div.titlepage h2, div.appendix > div.titlepage h2 
-{ 
+div.chapter > div.titlepage h2, div.appendix > div.titlepage h2
+{
     margin-top: 1.5em;
 }
 
@@ -104,7 +104,7 @@ pre.screen, pre.programlisting
     padding: 3px 3px;
     margin-left: 1.5em;
     margin-right: 1.5em;
-    color: #600000;
+
     background: #f4f4f8;
     font-family: monospace;
     border-radius: 0.4em;
@@ -118,7 +118,6 @@ div.example pre.programlisting
     margin: 0 0 0 0;
 }
 
-
 /***************************************************************************
                                Notes, warnings etc:
  ***************************************************************************/
@@ -172,7 +171,7 @@ div.navfooter *
 
 
 /***************************************************************************
-                        Links colors and highlighting: 
+                        Links colors and highlighting:
  ***************************************************************************/
 
 a { text-decoration: none; }
@@ -209,7 +208,7 @@ tt, code
 .term
 {
     font-weight: bold;
-    
+
 }
 
 div.variablelist dd p, div.glosslist dd p
@@ -249,7 +248,24 @@ table
     box-shadow: 0.4em 0.4em 0.5em #e0e0e0;
 }
 
+table.simplelist
+{
+    text-align: left;
+    color: #005aa0;
+    border: 0;
+    padding: 5px;
+    background: #fffff5;
+    font-weight: normal;
+    font-style: italic;
+    box-shadow: none;
+    margin-bottom: 1em;
+}
+
+div.navheader table, div.navfooter table {
+    box-shadow: none;
+}
+
 div.affiliation
 {
     font-style: italic;
-}
\ No newline at end of file
+}
diff --git a/doc/submitting-changes.xml b/doc/submitting-changes.xml
index f65b2898262..6c6f808f631 100644
--- a/doc/submitting-changes.xml
+++ b/doc/submitting-changes.xml
@@ -1,447 +1,513 @@
 <chapter xmlns="http://docbook.org/ns/docbook"
          xmlns:xlink="http://www.w3.org/1999/xlink"
          xml:id="chap-submitting-changes">
+ <title>Submitting changes</title>
+ <section>
+  <title>Making patches</title>
 
-<title>Submitting changes</title>
-
-<section>
-<title>Making patches</title>
-
-<itemizedlist>
-<listitem>
-<para>Read <link xlink:href="https://nixos.org/nixpkgs/manual/">Manual (How to write packages for Nix)</link>.</para>
-</listitem>
-
-<listitem>
-<para>Fork the repository on GitHub.</para>
-</listitem>
-
-<listitem>
-<para>Create a branch for your future fix.
-
-<itemizedlist>
-<listitem>
-<para>You can make branch from a commit of your local <command>nixos-version</command>. That will help you to avoid additional local compilations. Because you will receive packages from binary cache.
-
-<itemizedlist>
-<listitem>
-<para>For example: <command>nixos-version</command> returns <command>15.05.git.0998212 (Dingo)</command>. So you can do:</para>
-</listitem>
-</itemizedlist>
-
+  <itemizedlist>
+   <listitem>
+    <para>
+     Read <link xlink:href="https://nixos.org/nixpkgs/manual/">Manual (How to
+     write packages for Nix)</link>.
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     Fork the repository on GitHub.
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     Create a branch for your future fix.
+     <itemizedlist>
+      <listitem>
+       <para>
+        You can make branch from a commit of your local
+        <command>nixos-version</command>. That will help you to avoid
+        additional local compilations. Because you will receive packages from
+        binary cache.
+        <itemizedlist>
+         <listitem>
+          <para>
+           For example: <command>nixos-version</command> returns
+           <command>15.05.git.0998212 (Dingo)</command>. So you can do:
+          </para>
+         </listitem>
+        </itemizedlist>
 <screen>
 $ git checkout 0998212
 $ git checkout -b 'fix/pkg-name-update'
 </screen>
-</para>
-</listitem>
-
-<listitem>
-<para>Please avoid working directly on the <command>master</command> branch.</para>
-</listitem>
-</itemizedlist>
-</para>
-</listitem>
-
-<listitem>
-<para>Make commits of logical units.
-
-<itemizedlist>
-<listitem>
-<para>If you removed pkgs, made some major NixOS changes etc., write about them in <command>nixos/doc/manual/release-notes/rl-unstable.xml</command>.</para>
-</listitem>
-</itemizedlist>
-</para>
-</listitem>
-
-<listitem>
-<para>Check for unnecessary whitespace with <command>git diff --check</command> before committing.</para>
-</listitem>
-
-<listitem>
-<para>Format the commit in a following way:</para>
-<programlisting>
-(pkg-name | nixos/&lt;module>): (from -> to | init at version | refactor | etc)
-Additional information.
-</programlisting>
-
-<itemizedlist>
-<listitem>
-<para>Examples:
-
-<itemizedlist>
-<listitem>
-<para>
-<command>nginx: init at 2.0.1</command>
-</para>
-</listitem>
-
-<listitem>
-<para>
-<command>firefox: 54.0.1 -> 55.0</command>
-</para>
-</listitem>
-
-<listitem>
-<para>
-<command>nixos/hydra: add bazBaz option</command>
-</para>
-</listitem>
-
-<listitem>
-<para>
-<command>nixos/nginx: refactor config generation</command>
-</para>
-</listitem>
-</itemizedlist>
-</para>
-</listitem>
-</itemizedlist>
-</listitem>
-
-<listitem>
-<para>Test your changes. If you work with
-
-<itemizedlist>
-<listitem>
-<para>nixpkgs:
-
-<itemizedlist>
-<listitem>
-<para>update pkg ->
-
-<itemizedlist>
-<listitem>
-<para>
-<command>nix-env -i pkg-name -f &lt;path to your local nixpkgs folder&gt;</command>
-</para>
-</listitem>
-</itemizedlist>
-</para>
-</listitem>
-
-<listitem>
-<para>add pkg ->
-
-<itemizedlist>
-<listitem>
-<para>Make sure it's in <command>pkgs/top-level/all-packages.nix</command>
-</para>
-</listitem>
-
-<listitem>
-<para>
-<command>nix-env -i pkg-name -f &lt;path to your local nixpkgs folder&gt;</command>
-</para>
-</listitem>
-</itemizedlist>
-</para>
-</listitem>
-
-<listitem>
-<para>
-<emphasis>If you don't want to install pkg in you profile</emphasis>.
-
-<itemizedlist>
-<listitem>
-<para>
-<command>nix-build -A pkg-attribute-name &lt;path to your local nixpkgs folder&gt;/default.nix</command> and check results in the folder <command>result</command>. It will appear in the same directory where you did <command>nix-build</command>.</para>
-</listitem>
-</itemizedlist>
-</para>
-</listitem>
-
-<listitem>
-<para>If you did <command>nix-env -i pkg-name</command> you can do <command>nix-env -e pkg-name</command> to uninstall it from your system.</para>
-</listitem>
-</itemizedlist>
-</para>
-</listitem>
-
-<listitem>
-<para>NixOS and its modules:
-
-<itemizedlist>
-<listitem>
-<para>You can add new module to your NixOS configuration file (usually it's <command>/etc/nixos/configuration.nix</command>).
-            And do <command>sudo nixos-rebuild test -I nixpkgs=&lt;path to your local nixpkgs folder&gt; --fast</command>.</para>
-</listitem>
-</itemizedlist>
-</para>
-</listitem>
-</itemizedlist>
-</para>
-</listitem>
-
-<listitem>
-<para>If you have commits <command>pkg-name: oh, forgot to insert whitespace</command>: squash commits in this case. Use <command>git rebase -i</command>.</para>
-</listitem>
-
-<listitem>
-<para>Rebase you branch against current <command>master</command>.</para>
-</listitem>
-</itemizedlist>
-</section>
-
-<section>
-<title>Submitting changes</title>
-
-<itemizedlist>
-<listitem>
-<para>Push your changes to your fork of nixpkgs.</para>
-</listitem>
-
-<listitem>
-<para>Create pull request:
-
-<itemizedlist>
-<listitem>
-<para>Write the title in format <command>(pkg-name | nixos/&lt;module>): improvement</command>.
-
-<itemizedlist>
-<listitem>
-<para>If you update the pkg, write versions <command>from -> to</command>.</para>
-</listitem>
-</itemizedlist>
-</para>
-</listitem>
-
-<listitem>
-<para>Write in comment if you have tested your patch. Do not rely much on <command>TravisCI</command>.</para>
-</listitem>
-
-<listitem>
-<para>If you make an improvement, write about your motivation.</para>
-</listitem>
-
-<listitem>
-<para>Notify maintainers of the package. For example add to the message: <command>cc @jagajaga @domenkozar</command>.</para>
-</listitem>
-</itemizedlist>
-</para>
-</listitem>
-</itemizedlist>
-</section>
-
-<section>
-  <title>Pull Request Template</title>
-  <para>
-    The pull request template helps determine what steps have been made for a
-    contribution so far, and will help guide maintainers on the status of a
-    change. The motivation section of the PR should include any extra details
-    the title does not address and link any existing issues related to the pull
-    request.
-  </para>
-  <para>When a PR is created, it will be pre-populated with some checkboxes detailed below:
-  </para>
-  <section>
-    <title>Tested using sandboxing</title>
+       </para>
+      </listitem>
+      <listitem>
+       <para>
+        Please avoid working directly on the <command>master</command> branch.
+       </para>
+      </listitem>
+     </itemizedlist>
+    </para>
+   </listitem>
+   <listitem>
     <para>
-      When sandbox builds are enabled, Nix will setup an isolated environment
-      for each build process. It is used to remove further hidden dependencies
-      set by the build environment to improve reproducibility. This includes
-      access to the network during the build outside of
-      <function>fetch*</function> functions and files outside the Nix store.
-      Depending on the operating system access to other resources are blocked
-      as well (ex. inter process communication is isolated on Linux); see <link
-      xlink:href="https://nixos.org/nix/manual/#description-45">build-use-sandbox</link>
-      in Nix manual for details.
+     Make commits of logical units.
+     <itemizedlist>
+      <listitem>
+       <para>
+        If you removed pkgs, made some major NixOS changes etc., write about
+        them in
+        <command>nixos/doc/manual/release-notes/rl-unstable.xml</command>.
+       </para>
+      </listitem>
+     </itemizedlist>
     </para>
+   </listitem>
+   <listitem>
     <para>
-      Sandboxing is not enabled by default in Nix due to a small performance
-      hit on each build.  In pull requests for <link
-        xlink:href="https://github.com/NixOS/nixpkgs/">nixpkgs</link> people
-      are asked to test builds with sandboxing enabled (see <literal>Tested
-        using sandboxing</literal> in the pull request template) because
-      in<link
-        xlink:href="https://nixos.org/hydra/">https://nixos.org/hydra/</link>
-      sandboxing is also used.
+     Check for unnecessary whitespace with <command>git diff --check</command>
+     before committing.
     </para>
+   </listitem>
+   <listitem>
     <para>
-      Depending if you use NixOS or other platforms you can use one of the
-      following methods to enable sandboxing <emphasis role="bold">before</emphasis> building the package:
-      <itemizedlist>
+     Format the commit in a following way:
+    </para>
+<programlisting>
+(pkg-name | nixos/&lt;module>): (from -> to | init at version | refactor | etc)
+Additional information.
+</programlisting>
+    <itemizedlist>
+     <listitem>
+      <para>
+       Examples:
+       <itemizedlist>
         <listitem>
-          <para>
-            <emphasis role="bold">Globally enable sandboxing on NixOS</emphasis>:
-            add the following to 
-            <filename>configuration.nix</filename>
-            <screen>nix.useSandbox = true;</screen>
-          </para>
+         <para>
+          <command>nginx: init at 2.0.1</command>
+         </para>
         </listitem>
         <listitem>
-          <para>
-            <emphasis role="bold">Globally enable sandboxing on non-NixOS platforms</emphasis>:
-            add the following to: <filename>/etc/nix/nix.conf</filename>
-            <screen>build-use-sandbox = true</screen>
-          </para>
+         <para>
+          <command>firefox: 54.0.1 -> 55.0</command>
+         </para>
         </listitem>
-      </itemizedlist>
-    </para>
-    
-  </section>
-  <section>
-    <title>Built on platform(s)</title>
+        <listitem>
+         <para>
+          <command>nixos/hydra: add bazBaz option</command>
+         </para>
+        </listitem>
+        <listitem>
+         <para>
+          <command>nixos/nginx: refactor config generation</command>
+         </para>
+        </listitem>
+       </itemizedlist>
+      </para>
+     </listitem>
+    </itemizedlist>
+   </listitem>
+   <listitem>
     <para>
-      Many Nix packages are designed to run on multiple
-      platforms. As such, it's important to let the maintainer know which
-      platforms your changes have been tested on. It's not always practical to
-      test a change on all platforms, and is not required for a pull request to
-      be merged. Only check the systems you tested the build on in this
-      section.
+     Test your changes. If you work with
+     <itemizedlist>
+      <listitem>
+       <para>
+        nixpkgs:
+        <itemizedlist>
+         <listitem>
+          <para>
+           update pkg ->
+           <itemizedlist>
+            <listitem>
+             <para>
+              <command>nix-env -i pkg-name -f &lt;path to your local nixpkgs
+              folder&gt;</command>
+             </para>
+            </listitem>
+           </itemizedlist>
+          </para>
+         </listitem>
+         <listitem>
+          <para>
+           add pkg ->
+           <itemizedlist>
+            <listitem>
+             <para>
+              Make sure it's in
+              <command>pkgs/top-level/all-packages.nix</command>
+             </para>
+            </listitem>
+            <listitem>
+             <para>
+              <command>nix-env -i pkg-name -f &lt;path to your local nixpkgs
+              folder&gt;</command>
+             </para>
+            </listitem>
+           </itemizedlist>
+          </para>
+         </listitem>
+         <listitem>
+          <para>
+           <emphasis>If you don't want to install pkg in you
+           profile</emphasis>.
+           <itemizedlist>
+            <listitem>
+             <para>
+              <command>nix-build -A pkg-attribute-name &lt;path to your local
+              nixpkgs folder&gt;/default.nix</command> and check results in the
+              folder <command>result</command>. It will appear in the same
+              directory where you did <command>nix-build</command>.
+             </para>
+            </listitem>
+           </itemizedlist>
+          </para>
+         </listitem>
+         <listitem>
+          <para>
+           If you did <command>nix-env -i pkg-name</command> you can do
+           <command>nix-env -e pkg-name</command> to uninstall it from your
+           system.
+          </para>
+         </listitem>
+        </itemizedlist>
+       </para>
+      </listitem>
+      <listitem>
+       <para>
+        NixOS and its modules:
+        <itemizedlist>
+         <listitem>
+          <para>
+           You can add new module to your NixOS configuration file (usually
+           it's <command>/etc/nixos/configuration.nix</command>). And do
+           <command>sudo nixos-rebuild test -I nixpkgs=&lt;path to your local
+           nixpkgs folder&gt; --fast</command>.
+          </para>
+         </listitem>
+        </itemizedlist>
+       </para>
+      </listitem>
+     </itemizedlist>
     </para>
-  </section>
-  <section>
-    <title>Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)</title>
+   </listitem>
+   <listitem>
     <para>
-      Packages with automated tests are much more likely to be merged in a
-      timely fashion because it doesn't require as much manual testing by the
-      maintainer to verify the functionality of the package. If there are
-      existing tests for the package, they should be run to verify your changes
-      do not break the tests. Tests only apply to packages with NixOS modules
-      defined and can only be run on Linux. For more details on writing and
-      running tests, see the <link
-        xlink:href="https://nixos.org/nixos/manual/index.html#sec-nixos-tests">section
-        in the NixOS manual</link>.
+     If you have commits <command>pkg-name: oh, forgot to insert
+     whitespace</command>: squash commits in this case. Use <command>git rebase
+     -i</command>.
     </para>
-  </section>
-  <section>
-    <title>Tested compilation of all pkgs that depend on this change using <command>nox-review</command></title>
+   </listitem>
+   <listitem>
     <para>
-      If you are updating a package's version, you can use nox to make sure all
-      packages that depend on the updated package still compile correctly. This
-      can be done using the nox utility. The <command>nox-review</command>
-      utility can look for and build all dependencies either based on
-      uncommited changes with the <literal>wip</literal> option or specifying a
-      github pull request number.
+     Rebase you branch against current <command>master</command>.
     </para>
+   </listitem>
+  </itemizedlist>
+ </section>
+ <section>
+  <title>Submitting changes</title>
+
+  <itemizedlist>
+   <listitem>
     <para>
-      review uncommitted changes:
-      <screen>nix-shell -p nox --run nox-review wip</screen>
+     Push your changes to your fork of nixpkgs.
     </para>
+   </listitem>
+   <listitem>
     <para>
-      review changes from pull request number 12345:
-      <screen>nix-shell -p nox --run nox-review pr 12345</screen>
+     Create pull request:
+     <itemizedlist>
+      <listitem>
+       <para>
+        Write the title in format <command>(pkg-name | nixos/&lt;module>):
+        improvement</command>.
+        <itemizedlist>
+         <listitem>
+          <para>
+           If you update the pkg, write versions <command>from -> to</command>.
+          </para>
+         </listitem>
+        </itemizedlist>
+       </para>
+      </listitem>
+      <listitem>
+       <para>
+        Write in comment if you have tested your patch. Do not rely much on
+        <command>TravisCI</command>.
+       </para>
+      </listitem>
+      <listitem>
+       <para>
+        If you make an improvement, write about your motivation.
+       </para>
+      </listitem>
+      <listitem>
+       <para>
+        Notify maintainers of the package. For example add to the message:
+        <command>cc @jagajaga @domenkozar</command>.
+       </para>
+      </listitem>
+     </itemizedlist>
     </para>
-  </section>
+   </listitem>
+  </itemizedlist>
+ </section>
+ <section>
+  <title>Pull Request Template</title>
+
+  <para>
+   The pull request template helps determine what steps have been made for a
+   contribution so far, and will help guide maintainers on the status of a
+   change. The motivation section of the PR should include any extra details
+   the title does not address and link any existing issues related to the pull
+   request.
+  </para>
+
+  <para>
+   When a PR is created, it will be pre-populated with some checkboxes detailed
+   below:
+  </para>
+
   <section>
-    <title>Tested execution of all binary files (usually in <filename>./result/bin/</filename>)</title>
-    <para>
-      It's important to test any executables generated by a build when you
-      change or create a package in nixpkgs. This can be done by looking in
-      <filename>./result/bin</filename> and running any files in there, or at a
-      minimum, the main executable for the package. For example, if you make a change
-      to <package>texlive</package>, you probably would only check the binaries
-      associated with the change you made rather than testing all of them.
-    </para>
+   <title>Tested using sandboxing</title>
+
+   <para>
+    When sandbox builds are enabled, Nix will setup an isolated environment for
+    each build process. It is used to remove further hidden dependencies set by
+    the build environment to improve reproducibility. This includes access to
+    the network during the build outside of <function>fetch*</function>
+    functions and files outside the Nix store. Depending on the operating
+    system access to other resources are blocked as well (ex. inter process
+    communication is isolated on Linux); see
+    <link
+      xlink:href="https://nixos.org/nix/manual/#description-45">build-use-sandbox</link>
+    in Nix manual for details.
+   </para>
+
+   <para>
+    Sandboxing is not enabled by default in Nix due to a small performance hit
+    on each build. In pull requests for
+    <link
+        xlink:href="https://github.com/NixOS/nixpkgs/">nixpkgs</link>
+    people are asked to test builds with sandboxing enabled (see
+    <literal>Tested using sandboxing</literal> in the pull request template)
+    because
+    in<link
+        xlink:href="https://nixos.org/hydra/">https://nixos.org/hydra/</link>
+    sandboxing is also used.
+   </para>
+
+   <para>
+    Depending if you use NixOS or other platforms you can use one of the
+    following methods to enable sandboxing
+    <emphasis role="bold">before</emphasis> building the package:
+    <itemizedlist>
+     <listitem>
+      <para>
+       <emphasis role="bold">Globally enable sandboxing on NixOS</emphasis>:
+       add the following to <filename>configuration.nix</filename>
+<screen>nix.useSandbox = true;</screen>
+      </para>
+     </listitem>
+     <listitem>
+      <para>
+       <emphasis role="bold">Globally enable sandboxing on non-NixOS
+       platforms</emphasis>: add the following to:
+       <filename>/etc/nix/nix.conf</filename>
+<screen>build-use-sandbox = true</screen>
+      </para>
+     </listitem>
+    </itemizedlist>
+   </para>
   </section>
+
   <section>
-    <title>Meets nixpkgs contribution standards</title>
-    <para>
-      The last checkbox is fits <link
-        xlink:href="https://github.com/NixOS/nixpkgs/blob/master/.github/CONTRIBUTING.md">CONTRIBUTING.md</link>.
-      The contributing document has detailed information on standards the Nix
-      community has for commit messages, reviews, licensing of contributions
-      you make to the project, etc... Everyone should read and understand the
-      standards the community has for contributing before submitting a pull
-      request.
-    </para>
-    
+   <title>Built on platform(s)</title>
+
+   <para>
+    Many Nix packages are designed to run on multiple platforms. As such, it's
+    important to let the maintainer know which platforms your changes have been
+    tested on. It's not always practical to test a change on all platforms, and
+    is not required for a pull request to be merged. Only check the systems you
+    tested the build on in this section.
+   </para>
   </section>
-</section>
-
-<section>
-<title>Hotfixing pull requests</title>
 
-<itemizedlist>
-<listitem>
-<para>Make the appropriate changes in you branch.</para>
-</listitem>
-
-<listitem>
-<para>Don't create additional commits, do
+  <section>
+   <title>Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)</title>
+
+   <para>
+    Packages with automated tests are much more likely to be merged in a timely
+    fashion because it doesn't require as much manual testing by the maintainer
+    to verify the functionality of the package. If there are existing tests for
+    the package, they should be run to verify your changes do not break the
+    tests. Tests only apply to packages with NixOS modules defined and can only
+    be run on Linux. For more details on writing and running tests, see the
+    <link
+        xlink:href="https://nixos.org/nixos/manual/index.html#sec-nixos-tests">section
+    in the NixOS manual</link>.
+   </para>
+  </section>
 
-<itemizedlist>
-<listitem>
-<para><command>git rebase -i</command></para>
-</listitem>
-<listitem>
-<para>
-<command>git push --force</command> to your branch.</para>
-</listitem>
-</itemizedlist>
-</para>
-</listitem>
+  <section>
+   <title>Tested compilation of all pkgs that depend on this change using <command>nox-review</command></title>
+
+   <para>
+    If you are updating a package's version, you can use nox to make sure all
+    packages that depend on the updated package still compile correctly. This
+    can be done using the nox utility. The <command>nox-review</command>
+    utility can look for and build all dependencies either based on uncommited
+    changes with the <literal>wip</literal> option or specifying a github pull
+    request number.
+   </para>
+
+   <para>
+    review uncommitted changes:
+<screen>nix-shell -p nox --run "nox-review wip"</screen>
+   </para>
+
+   <para>
+    review changes from pull request number 12345:
+<screen>nix-shell -p nox --run "nox-review pr 12345"</screen>
+   </para>
+  </section>
 
-</itemizedlist>
-</section>
+  <section>
+   <title>Tested execution of all binary files (usually in <filename>./result/bin/</filename>)</title>
+
+   <para>
+    It's important to test any executables generated by a build when you change
+    or create a package in nixpkgs. This can be done by looking in
+    <filename>./result/bin</filename> and running any files in there, or at a
+    minimum, the main executable for the package. For example, if you make a
+    change to <package>texlive</package>, you probably would only check the
+    binaries associated with the change you made rather than testing all of
+    them.
+   </para>
+  </section>
 
-<section>
-<title>Commit policy</title>
+  <section>
+   <title>Meets nixpkgs contribution standards</title>
 
-<itemizedlist>
-<listitem>
-<para>Commits must be sufficiently tested before being merged, both for the master and staging branches.</para>
-</listitem>
+   <para>
+    The last checkbox is fits
+    <link
+        xlink:href="https://github.com/NixOS/nixpkgs/blob/master/.github/CONTRIBUTING.md">CONTRIBUTING.md</link>.
+    The contributing document has detailed information on standards the Nix
+    community has for commit messages, reviews, licensing of contributions you
+    make to the project, etc... Everyone should read and understand the
+    standards the community has for contributing before submitting a pull
+    request.
+   </para>
+  </section>
+ </section>
+ <section>
+  <title>Hotfixing pull requests</title>
 
-<listitem>
-<para>Hydra builds for master and staging should not be used as testing platform, it's a build farm for changes that have been already tested.</para>
-</listitem>
+  <itemizedlist>
+   <listitem>
+    <para>
+     Make the appropriate changes in you branch.
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     Don't create additional commits, do
+     <itemizedlist>
+      <listitem>
+       <para>
+        <command>git rebase -i</command>
+       </para>
+      </listitem>
+      <listitem>
+       <para>
+        <command>git push --force</command> to your branch.
+       </para>
+      </listitem>
+     </itemizedlist>
+    </para>
+   </listitem>
+  </itemizedlist>
+ </section>
+ <section>
+  <title>Commit policy</title>
 
-<listitem>
-<para>When changing the bootloader installation process, extra care must be taken. Grub installations cannot be rolled back, hence changes may break people's installations forever. For any non-trivial change to the bootloader please file a PR asking for review, especially from @edolstra.</para>
-</listitem>
-</itemizedlist>
+  <itemizedlist>
+   <listitem>
+    <para>
+     Commits must be sufficiently tested before being merged, both for the
+     master and staging branches.
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     Hydra builds for master and staging should not be used as testing
+     platform, it's a build farm for changes that have been already tested.
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     When changing the bootloader installation process, extra care must be
+     taken. Grub installations cannot be rolled back, hence changes may break
+     people's installations forever. For any non-trivial change to the
+     bootloader please file a PR asking for review, especially from @edolstra.
+    </para>
+   </listitem>
+  </itemizedlist>
 
-<section>
-  <title>Master branch</title>
+  <section>
+   <title>Master branch</title>
 
-  <itemizedlist>
+   <itemizedlist>
     <listitem>
-      <para>
-        It should only see non-breaking commits that do not cause mass rebuilds.
-      </para>
+     <para>
+      It should only see non-breaking commits that do not cause mass rebuilds.
+     </para>
     </listitem>
-  </itemizedlist>
-</section>
+   </itemizedlist>
+  </section>
 
-<section>
-  <title>Staging branch</title>
+  <section>
+   <title>Staging branch</title>
 
-  <itemizedlist>
+   <itemizedlist>
     <listitem>
-      <para>
-        It's only for non-breaking mass-rebuild commits. That means it's not to
-        be used for testing, and changes must have been well tested already.
-        <link xlink:href="http://comments.gmane.org/gmane.linux.distributions.nixos/13447">Read policy here</link>.
-      </para>
+     <para>
+      It's only for non-breaking mass-rebuild commits. That means it's not to
+      be used for testing, and changes must have been well tested already.
+      <link xlink:href="https://web.archive.org/web/20160528180406/http://comments.gmane.org/gmane.linux.distributions.nixos/13447">Read
+      policy here</link>.
+     </para>
     </listitem>
     <listitem>
-      <para>
-        If the branch is already in a broken state, please refrain from adding
-        extra new breakages. Stabilize it for a few days, merge into master,
-        then resume development on staging.
-        <link xlink:href="http://hydra.nixos.org/jobset/nixpkgs/staging#tabs-evaluations">Keep an eye on the staging evaluations here</link>.
-        If any fixes for staging happen to be already in master, then master can
-        be merged into staging.
-      </para>
+     <para>
+      If the branch is already in a broken state, please refrain from adding
+      extra new breakages. Stabilize it for a few days, merge into master, then
+      resume development on staging.
+      <link xlink:href="http://hydra.nixos.org/jobset/nixpkgs/staging#tabs-evaluations">Keep
+      an eye on the staging evaluations here</link>. If any fixes for staging
+      happen to be already in master, then master can be merged into staging.
+     </para>
     </listitem>
-  </itemizedlist>
-</section>
+   </itemizedlist>
+  </section>
 
-<section>
-  <title>Stable release branches</title>
+  <section>
+   <title>Stable release branches</title>
 
-  <itemizedlist>
+   <itemizedlist>
     <listitem>
-      <para>
-        If you're cherry-picking a commit to a stable release branch, always use
-        <command>git cherry-pick -xe</command> and ensure the message contains a
-        clear description about why this needs to be included in the stable
-        branch.
-      </para>
-      <para>An example of a cherry-picked commit would look like this:</para>
-      <screen>
+     <para>
+      If you're cherry-picking a commit to a stable release branch, always use
+      <command>git cherry-pick -xe</command> and ensure the message contains a
+      clear description about why this needs to be included in the stable
+      branch.
+     </para>
+     <para>
+      An example of a cherry-picked commit would look like this:
+     </para>
+<screen>
 nixos: Refactor the world.
 
 The original commit message describing the reason why the world was torn apart.
@@ -451,9 +517,7 @@ Reason: I just had a gut feeling that this would also be wanted by people from
 the stone age.
       </screen>
     </listitem>
-  </itemizedlist>
-</section>
-
-</section>
+   </itemizedlist>
+  </section>
+ </section>
 </chapter>
-
diff --git a/lib/debug.nix b/lib/debug.nix
index d163e60b695..91a9265a6b5 100644
--- a/lib/debug.nix
+++ b/lib/debug.nix
@@ -1,34 +1,67 @@
+/* Collection of functions useful for debugging
+   broken nix expressions.
+
+   * `trace`-like functions take two values, print
+     the first to stderr and return the second.
+   * `traceVal`-like functions take one argument
+     which both printed and returned.
+   * `traceSeq`-like functions fully evaluate their
+     traced value before printing (not just to “weak
+     head normal form” like trace does by default).
+   * Functions that end in `-Fn` take an additional
+     function as their first argument, which is applied
+     to the traced value before it is printed.
+*/
 { lib }:
-
 let
-
-inherit (builtins) trace attrNamesToStr isAttrs isList isInt
-        isString isBool head substring attrNames;
-
-inherit (lib) all id mapAttrsFlatten elem isFunction;
-
+  inherit (builtins) trace isAttrs isList isInt
+          head substring attrNames;
+  inherit (lib) id elem isFunction;
 in
 
 rec {
 
-  inherit (builtins) addErrorContext;
-
-  addErrorContextToAttrs = lib.mapAttrs (a: v: lib.addErrorContext "while evaluating ${a}" v);
+  # -- TRACING --
 
-  traceIf = p: msg: x: if p then trace msg x else x;
+  /* Trace msg, but only if pred is true.
 
-  traceVal = x: trace x x;
-  traceXMLVal = x: trace (builtins.toXML x) x;
-  traceXMLValMarked = str: x: trace (str + builtins.toXML x) x;
+     Example:
+       traceIf true "hello" 3
+       trace: hello
+       => 3
+  */
+  traceIf = pred: msg: x: if pred then trace msg x else x;
 
-  # strict trace functions (traced structure is fully evaluated and printed)
+  /* Trace the value and also return it.
 
-  /* `builtins.trace`, but the value is `builtins.deepSeq`ed first. */
+     Example:
+       traceValFn (v: "mystring ${v}") "foo"
+       trace: mystring foo
+       => "foo"
+  */
+  traceValFn = f: x: trace (f x) x;
+  traceVal = traceValFn id;
+
+  /* `builtins.trace`, but the value is `builtins.deepSeq`ed first.
+
+     Example:
+       trace { a.b.c = 3; } null
+       trace: { a = <CODE>; }
+       => null
+       traceSeq { a.b.c = 3; } null
+       trace: { a = { b = { c = 3; }; }; }
+       => null
+  */
   traceSeq = x: y: trace (builtins.deepSeq x x) y;
 
-  /* Like `traceSeq`, but only down to depth n.
-   * This is very useful because lots of `traceSeq` usages
-   * lead to an infinite recursion.
+  /* Like `traceSeq`, but only evaluate down to depth n.
+     This is very useful because lots of `traceSeq` usages
+     lead to an infinite recursion.
+
+     Example:
+       traceSeqN 2 { a.b.c = 3; } null
+       trace: { a = { b = {…}; }; }
+       => null
    */
   traceSeqN = depth: x: y: with lib;
     let snip = v: if      isList  v then noQuotes "[…]" v
@@ -43,39 +76,16 @@ rec {
     in trace (generators.toPretty { allowPrettyValues = true; }
                (modify depth snip x)) y;
 
-  /* `traceSeq`, but the same value is traced and returned */
-  traceValSeq = v: traceVal (builtins.deepSeq v v);
-  /* `traceValSeq` but with fixed depth */
-  traceValSeqN = depth: v: traceSeqN depth v v;
+  /* A combination of `traceVal` and `traceSeq` */
+  traceValSeqFn = f: v: traceVal f (builtins.deepSeq v v);
+  traceValSeq = traceValSeqFn id;
 
+  /* A combination of `traceVal` and `traceSeqN`. */
+  traceValSeqNFn = f: depth: v: traceSeqN depth (f v) v;
+  traceValSeqN = traceValSeqNFn id;
 
-  # this can help debug your code as well - designed to not produce thousands of lines
-  traceShowVal = x: trace (showVal x) x;
-  traceShowValMarked = str: x: trace (str + showVal x) x;
-  attrNamesToStr = a: lib.concatStringsSep "; " (map (x: "${x}=") (attrNames a));
-  showVal = x:
-      if isAttrs x then
-          if x ? outPath then "x is a derivation, name ${if x ? name then x.name else "<no name>"}, { ${attrNamesToStr x} }"
-          else "x is attr set { ${attrNamesToStr x} }"
-      else if isFunction x then "x is a function"
-      else if x == [] then "x is an empty list"
-      else if isList x then "x is a list, first element is: ${showVal (head x)}"
-      else if x == true then "x is boolean true"
-      else if x == false then "x is boolean false"
-      else if x == null then "x is null"
-      else if isInt x then "x is an integer `${toString x}'"
-      else if isString x then "x is a string `${substring 0 50 x}...'"
-      else "x is probably a path `${substring 0 50 (toString x)}...'";
 
-  # trace the arguments passed to function and its result
-  # maybe rewrite these functions in a traceCallXml like style. Then one function is enough
-  traceCall  = n: f: a: let t = n2: x: traceShowValMarked "${n} ${n2}:" x; in t "result" (f (t "arg 1" a));
-  traceCall2 = n: f: a: b: let t = n2: x: traceShowValMarked "${n} ${n2}:" x; in t "result" (f (t "arg 1" a) (t "arg 2" b));
-  traceCall3 = n: f: a: b: c: let t = n2: x: traceShowValMarked "${n} ${n2}:" x; in t "result" (f (t "arg 1" a) (t "arg 2" b) (t "arg 3" c));
-
-  # FIXME: rename this?
-  traceValIfNot = c: x:
-    if c x then true else trace (showVal x) false;
+  # -- TESTING --
 
   /* Evaluate a set of tests.  A test is an attribute set {expr,
      expected}, denoting an expression and its expected result.  The
@@ -99,9 +109,68 @@ rec {
   # usage: { testX = allTrue [ true ]; }
   testAllTrue = expr: { inherit expr; expected = map (x: true) expr; };
 
-  strict = v:
-    trace "Warning: strict is deprecated and will be removed in the next release"
-      (builtins.seq v v);
+
+  # -- DEPRECATED --
+
+  traceShowVal = x: trace (showVal x) x;
+  traceShowValMarked = str: x: trace (str + showVal x) x;
+
+  attrNamesToStr = a:
+    trace ( "Warning: `attrNamesToStr` is deprecated "
+          + "and will be removed in the next release. "
+          + "Please use more specific concatenation "
+          + "for your uses (`lib.concat(Map)StringsSep`)." )
+    (lib.concatStringsSep "; " (map (x: "${x}=") (attrNames a)));
+
+  showVal = with lib;
+    trace ( "Warning: `showVal` is deprecated "
+          + "and will be removed in the next release, "
+          + "please use `traceSeqN`" )
+    (let
+      modify = v:
+        let pr = f: { __pretty = f; val = v; };
+        in   if isDerivation v then pr
+          (drv: "<δ:${drv.name}:${concatStringsSep ","
+                                 (attrNames drv)}>")
+        else if [] ==   v then pr (const "[]")
+        else if isList  v then pr (l: "[ ${go (head l)}, … ]")
+        else if isAttrs v then pr
+          (a: "{ ${ concatStringsSep ", " (attrNames a)} }")
+        else v;
+      go = x: generators.toPretty
+        { allowPrettyValues = true; }
+        (modify x);
+    in go);
+
+  traceXMLVal = x:
+    trace ( "Warning: `traceXMLVal` is deprecated "
+          + "and will be removed in the next release. "
+          + "Please use `traceValFn builtins.toXML`." )
+    (trace (builtins.toXML x) x);
+  traceXMLValMarked = str: x:
+    trace ( "Warning: `traceXMLValMarked` is deprecated "
+          + "and will be removed in the next release. "
+          + "Please use `traceValFn (x: str + builtins.toXML x)`." )
+    (trace (str + builtins.toXML x) x);
+
+  # trace the arguments passed to function and its result
+  # maybe rewrite these functions in a traceCallXml like style. Then one function is enough
+  traceCall  = n: f: a: let t = n2: x: traceShowValMarked "${n} ${n2}:" x; in t "result" (f (t "arg 1" a));
+  traceCall2 = n: f: a: b: let t = n2: x: traceShowValMarked "${n} ${n2}:" x; in t "result" (f (t "arg 1" a) (t "arg 2" b));
+  traceCall3 = n: f: a: b: c: let t = n2: x: traceShowValMarked "${n} ${n2}:" x; in t "result" (f (t "arg 1" a) (t "arg 2" b) (t "arg 3" c));
+
+  traceValIfNot = c: x:
+    trace ( "Warning: `traceValIfNot` is deprecated "
+          + "and will be removed in the next release. "
+          + "Please use `if/then/else` and `traceValSeq 1`.")
+    (if c x then true else traceSeq (showVal x) false);
+
+
+  addErrorContextToAttrs = attrs:
+    trace ( "Warning: `addErrorContextToAttrs` is deprecated "
+          + "and will be removed in the next release. "
+          + "Please use `builtins.addErrorContext` directly." )
+    (lib.mapAttrs (a: v: lib.addErrorContext "while evaluating ${a}" v) attrs);
 
   # example: (traceCallXml "myfun" id 3) will output something like
   # calling myfun arg 1: 3 result: 3
@@ -109,17 +178,20 @@ rec {
   # note: if result doesn't evaluate you'll get no trace at all (FIXME)
   #       args should be printed in any case
   traceCallXml = a:
-    if !isInt a then
+    trace ( "Warning: `traceCallXml` is deprecated "
+          + "and will be removed in the next release. "
+          + "Please complain if you use the function regularly." )
+    (if !isInt a then
       traceCallXml 1 "calling ${a}\n"
     else
       let nr = a;
       in (str: expr:
           if isFunction expr then
             (arg:
-              traceCallXml (builtins.add 1 nr) "${str}\n arg ${builtins.toString nr} is \n ${builtins.toXML (strict arg)}" (expr arg)
+              traceCallXml (builtins.add 1 nr) "${str}\n arg ${builtins.toString nr} is \n ${builtins.toXML (builtins.seq arg arg)}" (expr arg)
             )
           else
-            let r = strict expr;
+            let r = builtins.seq expr expr;
             in trace "${str}\n result:\n${builtins.toXML r}" r
-      );
+      ));
 }
diff --git a/lib/default.nix b/lib/default.nix
index b5ccc3b5144..4ca2e2ea6e3 100644
--- a/lib/default.nix
+++ b/lib/default.nix
@@ -5,9 +5,11 @@
  */
 let
 
-  callLibs = file: import file { inherit lib; };
+  inherit (import ./fixed-points.nix {}) makeExtensible;
 
-  lib = rec {
+  lib = makeExtensible (self: let
+    callLibs = file: import file { lib = self; };
+  in with self; {
 
     # often used, or depending on very little
     trivial = callLibs ./trivial.nix;
@@ -21,7 +23,7 @@ let
 
     # packaging
     customisation = callLibs ./customisation.nix;
-    maintainers = import ./maintainers-list.nix;
+    maintainers = import ../maintainers/maintainer-list.nix;
     meta = callLibs ./meta.nix;
     sources = callLibs ./sources.nix;
     versions = callLibs ./versions.nix;
@@ -49,14 +51,14 @@ let
     # back-compat aliases
     platforms = systems.forMeta;
 
-    inherit (builtins) add addErrorContext attrNames
-      concatLists deepSeq elem elemAt filter genericClosure genList
-      getAttr hasAttr head isAttrs isBool isInt isList
-      isString length lessThan listToAttrs pathExists readFile
-      replaceStrings seq stringLength sub substring tail;
+    inherit (builtins) add addErrorContext attrNames concatLists
+      deepSeq elem elemAt filter genericClosure genList getAttr
+      hasAttr head isAttrs isBool isInt isList isString length
+      lessThan listToAttrs pathExists readFile replaceStrings seq
+      stringLength sub substring tail;
     inherit (trivial) id const concat or and boolToString mergeAttrs
       flip mapNullable inNixShell min max importJSON warn info
-      nixpkgsVersion mod compare splitByAndCompare
+      nixpkgsVersion version mod compare splitByAndCompare
       functionArgs setFunctionArgs isFunction;
 
     inherit (fixedPoints) fix fix' extends composeExtensions
@@ -72,30 +74,32 @@ let
     inherit (lists) singleton foldr fold foldl foldl' imap0 imap1
       concatMap flatten remove findSingle findFirst any all count
       optional optionals toList range partition zipListsWith zipLists
-      reverseList listDfs toposort sort compareLists take drop sublist
-      last init crossLists unique intersectLists subtractLists
-      mutuallyExclusive;
+      reverseList listDfs toposort sort naturalSort compareLists take
+      drop sublist last init crossLists unique intersectLists
+      subtractLists mutuallyExclusive;
     inherit (strings) concatStrings concatMapStrings concatImapStrings
       intersperse concatStringsSep concatMapStringsSep
       concatImapStringsSep makeSearchPath makeSearchPathOutput
       makeLibraryPath makeBinPath makePerlPath optionalString
       hasPrefix hasSuffix stringToCharacters stringAsChars escape
-      escapeShellArg escapeShellArgs replaceChars lowerChars upperChars
-      toLower toUpper addContextFrom splitString removePrefix
-      removeSuffix versionOlder versionAtLeast getVersion nameFromURL
-      enableFeature fixedWidthString fixedWidthNumber isStorePath
+      escapeShellArg escapeShellArgs replaceChars lowerChars
+      upperChars toLower toUpper addContextFrom splitString
+      removePrefix removeSuffix versionOlder versionAtLeast getVersion
+      nameFromURL enableFeature enableFeatureAs withFeature
+      withFeatureAs fixedWidthString fixedWidthNumber isStorePath
       toInt readPathsFromFile fileContents;
     inherit (stringsWithDeps) textClosureList textClosureMap
       noDepEntry fullDepEntry packEntry stringAfter;
     inherit (customisation) overrideDerivation makeOverridable
-      callPackageWith callPackagesWith extendDerivation
-      hydraJob makeScope;
+      callPackageWith callPackagesWith extendDerivation hydraJob
+      makeScope;
     inherit (meta) addMetaAttrs dontDistribute setName updateName
       appendToName mapDerivationAttrset lowPrio lowPrioSet hiPrio
       hiPrioSet;
     inherit (sources) pathType pathIsDirectory cleanSourceFilter
       cleanSource sourceByRegex sourceFilesBySuffices
-      commitIdFromGitRepo cleanSourceWith pathHasContext canCleanSource;
+      commitIdFromGitRepo cleanSourceWith pathHasContext
+      canCleanSource;
     inherit (modules) evalModules closeModules unifyModuleSyntax
       applyIfFunction unpackSubmodule packSubmodule mergeModules
       mergeModules' mergeOptionDecls evalOptionValue mergeDefinitions
@@ -113,11 +117,11 @@ let
       unknownModule mkOption;
     inherit (types) isType setType defaultTypeMerge defaultFunctor
       isOptionType mkOptionType;
-    inherit (debug) addErrorContextToAttrs traceIf traceVal
+    inherit (debug) addErrorContextToAttrs traceIf traceVal traceValFn
       traceXMLVal traceXMLValMarked traceSeq traceSeqN traceValSeq
-      traceValSeqN traceShowVal traceShowValMarked
-      showVal traceCall traceCall2 traceCall3 traceValIfNot runTests
-      testAllTrue strict traceCallXml attrNamesToStr;
+      traceValSeqFn traceValSeqN traceValSeqNFn traceShowVal
+      traceShowValMarked showVal traceCall traceCall2 traceCall3
+      traceValIfNot runTests testAllTrue traceCallXml attrNamesToStr;
     inherit (misc) maybeEnv defaultMergeArg defaultMerge foldArgs
       defaultOverridableDelayableArgs composedArgsAndFun
       maybeAttrNullable maybeAttr ifEnable checkFlag getValue
@@ -126,7 +130,7 @@ let
       closePropagation mapAttrsFlatten nvs setAttr setAttrMerge
       mergeAttrsWithFunc mergeAttrsConcatenateValues
       mergeAttrsNoOverride mergeAttrByFunc mergeAttrsByFuncDefaults
-      mergeAttrsByFuncDefaultsClean mergeAttrBy
-      prepareDerivationArgs nixType imap overridableDelayableArgs;
-  };
+      mergeAttrsByFuncDefaultsClean mergeAttrBy prepareDerivationArgs
+      nixType imap overridableDelayableArgs;
+  });
 in lib
diff --git a/lib/generators.nix b/lib/generators.nix
index 73017f2c679..c09384c00f5 100644
--- a/lib/generators.nix
+++ b/lib/generators.nix
@@ -4,6 +4,12 @@
  * They all follow a similar interface:
  * generator { config-attrs } data
  *
+ * `config-attrs` are “holes” in the generators
+ * with sensible default implementations that
+ * can be overwritten. The default implementations
+ * are mostly generators themselves, called with
+ * their respective default values; they can be reused.
+ *
  * Tests can be found in ./tests.nix
  * Documentation in the manual, #sec-generators
  */
@@ -20,6 +26,32 @@ in
 
 rec {
 
+  ## -- HELPER FUNCTIONS & DEFAULTS --
+
+  /* Convert a value to a sensible default string representation.
+   * The builtin `toString` function has some strange defaults,
+   * suitable for bash scripts but not much else.
+   */
+  mkValueStringDefault = {}: v: with builtins;
+    let err = t: v: abort
+          ("generators.mkValueStringDefault: " +
+           "${t} not supported: ${toPretty {} v}");
+    in   if isInt      v then toString v
+    # we default to not quoting strings
+    else if isString   v then v
+    # isString returns "1", which is not a good default
+    else if true  ==   v then "true"
+    # here it returns to "", which is even less of a good default
+    else if false ==   v then "false"
+    else if null  ==   v then "null"
+    # if you have lists you probably want to replace this
+    else if isList     v then err "lists" v
+    # same as for lists, might want to replace
+    else if isAttrs    v then err "attrsets" v
+    else if isFunction v then err "functions" v
+    else err "this value is" (toString v);
+
+
   /* Generate a line of key k and value v, separated by
    * character sep. If sep appears in k, it is escaped.
    * Helper for synaxes with different separators.
@@ -30,11 +62,14 @@ rec {
    * > "f\:oo:bar"
    */
   mkKeyValueDefault = {
-    mkValueString ? toString
+    mkValueString ? mkValueStringDefault {}
   }: sep: k: v:
     "${libStr.escape [sep] k}${sep}${mkValueString v}";
 
 
+  ## -- FILE FORMAT GENERATORS --
+
+
   /* Generate a key-value-style config file from an attrset.
    *
    * mkKeyValue is the same as in toINI.
@@ -98,6 +133,7 @@ rec {
     */
   toYAML = {}@args: toJSON args;
 
+
   /* Pretty print a value, akin to `builtins.trace`.
     * Should probably be a builtin as well.
     */
@@ -107,17 +143,13 @@ rec {
        (This means fn is type Val -> String.) */
     allowPrettyValues ? false
   }@args: v: with builtins;
-    if      isInt      v then toString v
-    else if isBool     v then (if v == true then "true" else "false")
-    else if isString   v then "\"" + v + "\""
-    else if null ==    v then "null"
-    else if isFunction v then
-      let fna = lib.functionArgs v;
-          showFnas = concatStringsSep "," (libAttr.mapAttrsToList
-                       (name: hasDefVal: if hasDefVal then "(${name})" else name)
-                       fna);
-      in if fna == {}    then "<λ>"
-                         else "<λ:{${showFnas}}>"
+    let     isPath   = v: typeOf v == "path";
+    in if   isInt      v then toString v
+    else if isString   v then ''"${libStr.escape [''"''] v}"''
+    else if true  ==   v then "true"
+    else if false ==   v then "false"
+    else if null  ==   v then "null"
+    else if isPath     v then toString v
     else if isList     v then "[ "
         + libStr.concatMapStringsSep " " (toPretty args) v
       + " ]"
@@ -126,12 +158,21 @@ rec {
       if attrNames v == [ "__pretty" "val" ] && allowPrettyValues
          then v.__pretty v.val
       # TODO: there is probably a better representation?
-      else if v ? type && v.type == "derivation" then "<δ>"
+      else if v ? type && v.type == "derivation" then
+        "<δ:${v.name}>"
+        # "<δ:${concatStringsSep "," (builtins.attrNames v)}>"
       else "{ "
           + libStr.concatStringsSep " " (libAttr.mapAttrsToList
               (name: value:
                 "${toPretty args name} = ${toPretty args value};") v)
         + " }"
+    else if isFunction v then
+      let fna = lib.functionArgs v;
+          showFnas = concatStringsSep "," (libAttr.mapAttrsToList
+                       (name: hasDefVal: if hasDefVal then "(${name})" else name)
+                       fna);
+      in if fna == {}    then "<λ>"
+                         else "<λ:{${showFnas}}>"
     else abort "toPretty: should never happen (v = ${v})";
 
 }
diff --git a/lib/licenses.nix b/lib/licenses.nix
index 03af13b990e..767fd89b948 100644
--- a/lib/licenses.nix
+++ b/lib/licenses.nix
@@ -179,6 +179,11 @@ lib.mapAttrs (n: v: v // { shortName = n; }) rec {
     fullName  = "CeCILL-C Free Software License Agreement";
   };
 
+  cpal10 = spdx {
+    spdxId = "CPAL-1.0";
+    fullName = "Common Public Attribution License 1.0";
+  };
+
   cpl10 = spdx {
     spdxId = "CPL-1.0";
     fullName = "Common Public License 1.0";
@@ -279,7 +284,7 @@ lib.mapAttrs (n: v: v // { shortName = n; }) rec {
 
   gpl2Oss = {
     fullName = "GNU General Public License version 2 only (with OSI approved licenses linking exception)";
-    url = http://www.mysql.com/about/legal/licensing/foss-exception;
+    url = https://www.mysql.com/about/legal/licensing/foss-exception;
   };
 
   gpl2Plus = spdx {
diff --git a/lib/lists.nix b/lib/lists.nix
index 424d2c57f55..5ec97f5a07f 100644
--- a/lib/lists.nix
+++ b/lib/lists.nix
@@ -1,7 +1,9 @@
 # General list operations.
 { lib }:
 with lib.trivial;
-
+let
+  inherit (lib.strings) toInt;
+in
 rec {
 
   inherit (builtins) head tail length isList elemAt concatLists filter elem genList;
@@ -409,6 +411,25 @@ rec {
               then compareLists cmp (tail a) (tail b)
               else rel;
 
+  /* Sort list using "Natural sorting".
+     Numeric portions of strings are sorted in numeric order.
+
+     Example:
+       naturalSort ["disk11" "disk8" "disk100" "disk9"]
+       => ["disk8" "disk9" "disk11" "disk100"]
+       naturalSort ["10.46.133.149" "10.5.16.62" "10.54.16.25"]
+       => ["10.5.16.62" "10.46.133.149" "10.54.16.25"]
+       naturalSort ["v0.2" "v0.15" "v0.0.9"]
+       => [ "v0.0.9" "v0.2" "v0.15" ]
+  */
+  naturalSort = lst:
+    let
+      vectorise = s: map (x: if isList x then toInt (head x) else x) (builtins.split "(0|[1-9][0-9]*)" s);
+      prepared = map (x: [ (vectorise x) x ]) lst; # remember vectorised version for O(n) regex splits
+      less = a: b: (compareLists compare (head a) (head b)) < 0;
+    in
+      map (x: elemAt x 1) (sort less prepared);
+
   /* Return the first (at most) N elements of a list.
 
      Example:
diff --git a/lib/modules.nix b/lib/modules.nix
index 654c4c588de..8baae491705 100644
--- a/lib/modules.nix
+++ b/lib/modules.nix
@@ -59,7 +59,7 @@ rec {
         };
       };
 
-      closed = closeModules (modules ++ [ internalModule ]) ({ inherit config options; lib = import ./.; } // specialArgs);
+      closed = closeModules (modules ++ [ internalModule ]) ({ inherit config options lib; } // specialArgs);
 
       options = mergeModules prefix (reverseList (filterModules (specialArgs.modulesPath or "") closed));
 
@@ -159,7 +159,7 @@ rec {
       context = name: ''while evaluating the module argument `${name}' in "${key}":'';
       extraArgs = builtins.listToAttrs (map (name: {
         inherit name;
-        value = addErrorContext (context name)
+        value = builtins.addErrorContext (context name)
           (args.${name} or config._module.args.${name});
       }) requiredArgs);
 
@@ -309,7 +309,8 @@ rec {
           res.mergedValue;
 
     in opt //
-      { value = addErrorContext "while evaluating the option `${showOption loc}':" value;
+      { value = builtins.addErrorContext "while evaluating the option `${showOption loc}':" value;
+        inherit (res.defsFinal') highestPrio;
         definitions = map (def: def.value) res.defsFinal;
         files = map (def: def.file) res.defsFinal;
         inherit (res) isDefined;
@@ -317,7 +318,7 @@ rec {
 
   # Merge definitions of a value of a given type.
   mergeDefinitions = loc: type: defs: rec {
-    defsFinal =
+    defsFinal' =
       let
         # Process mkMerge and mkIf properties.
         defs' = concatMap (m:
@@ -325,15 +326,20 @@ rec {
         ) defs;
 
         # Process mkOverride properties.
-        defs'' = filterOverrides defs';
+        defs'' = filterOverrides' defs';
 
         # Sort mkOrder properties.
         defs''' =
           # Avoid sorting if we don't have to.
-          if any (def: def.value._type or "" == "order") defs''
-          then sortProperties defs''
-          else defs'';
-      in defs''';
+          if any (def: def.value._type or "" == "order") defs''.values
+          then sortProperties defs''.values
+          else defs''.values;
+      in {
+        values = defs''';
+        inherit (defs'') highestPrio;
+      };
+
+    defsFinal = defsFinal'.values;
 
     # Type-check the remaining definitions, and merge them.
     mergedValue = foldl' (res: def:
@@ -416,13 +422,18 @@ rec {
 
      Note that "z" has the default priority 100.
   */
-  filterOverrides = defs:
+  filterOverrides = defs: (filterOverrides' defs).values;
+
+  filterOverrides' = defs:
     let
       defaultPrio = 100;
       getPrio = def: if def.value._type or "" == "override" then def.value.priority else defaultPrio;
       highestPrio = foldl' (prio: def: min (getPrio def) prio) 9999 defs;
       strip = def: if def.value._type or "" == "override" then def // { value = def.value.content; } else def;
-    in concatMap (def: if getPrio def == highestPrio then [(strip def)] else []) defs;
+    in {
+      values = concatMap (def: if getPrio def == highestPrio then [(strip def)] else []) defs;
+      inherit highestPrio;
+    };
 
   /* Sort a list of properties.  The sort priority of a property is
      1000 by default, but can be overridden by wrapping the property
@@ -660,10 +671,11 @@ rec {
   doRename = { from, to, visible, warn, use }:
     let
       toOf = attrByPath to
-        (abort "Renaming error: option `${showOption to}' does not exists.");
+        (abort "Renaming error: option `${showOption to}' does not exist.");
     in
       { config, options, ... }:
       { options = setAttrByPath from (mkOption {
+          inherit visible;
           description = "Alias of <option>${showOption to}</option>.";
           apply = x: use (toOf config);
         });
diff --git a/lib/strings.nix b/lib/strings.nix
index 9cbd1494a2b..e09ec42bfea 100644
--- a/lib/strings.nix
+++ b/lib/strings.nix
@@ -82,7 +82,7 @@ rec {
        => "//bin"
   */
   makeSearchPath = subDir: packages:
-    concatStringsSep ":" (map (path: path + "/" + subDir) packages);
+    concatStringsSep ":" (map (path: path + "/" + subDir) (builtins.filter (x: x != null) packages));
 
   /* Construct a Unix-style search path, using given package output.
      If no output is found, fallback to `.out` and then to the default.
@@ -414,6 +414,39 @@ rec {
   */
   enableFeature = enable: feat: "--${if enable then "enable" else "disable"}-${feat}";
 
+  /* Create an --{enable-<feat>=<value>,disable-<feat>} string that can be passed to
+     standard GNU Autoconf scripts.
+
+     Example:
+       enableFeature true "shared" "foo"
+       => "--enable-shared=foo"
+       enableFeature false "shared" (throw "ignored")
+       => "--disable-shared"
+  */
+  enableFeatureAs = enable: feat: value: enableFeature enable feat + optionalString enable "=${value}";
+
+  /* Create an --{with,without}-<feat> string that can be passed to
+     standard GNU Autoconf scripts.
+
+     Example:
+       withFeature true "shared"
+       => "--with-shared"
+       withFeature false "shared"
+       => "--without-shared"
+  */
+  withFeature = with_: feat: "--${if with_ then "with" else "without"}-${feat}";
+
+  /* Create an --{with-<feat>=<value>,without-<feat>} string that can be passed to
+     standard GNU Autoconf scripts.
+
+     Example:
+       with_Feature true "shared" "foo"
+       => "--with-shared=foo"
+       with_Feature false "shared" (throw "ignored")
+       => "--without-shared"
+  */
+  withFeatureAs = with_: feat: value: withFeature with_ feat + optionalString with_ "=${value}";
+
   /* Create a fixed width string with additional prefix to match
      required width.
 
@@ -437,6 +470,13 @@ rec {
   */
   fixedWidthNumber = width: n: fixedWidthString width "0" (toString n);
 
+  /* Check whether a value can be coerced to a string */
+  isCoercibleToString = x:
+    builtins.elem (builtins.typeOf x) [ "path" "string" "null" "int" "float" "bool" ] ||
+    (builtins.isList x && lib.all isCoercibleToString x) ||
+    x ? outPath ||
+    x ? __toString;
+
   /* Check whether a value is a store path.
 
      Example:
@@ -450,7 +490,7 @@ rec {
        => false
   */
   isStorePath = x:
-       builtins.isString x
+       isCoercibleToString x
     && builtins.substring 0 1 (toString x) == "/"
     && dirOf (builtins.toPath x) == builtins.storeDir;
 
diff --git a/lib/systems/default.nix b/lib/systems/default.nix
index 9b930824609..ee4c29660a5 100644
--- a/lib/systems/default.nix
+++ b/lib/systems/default.nix
@@ -45,8 +45,17 @@ rec {
       };
       # Misc boolean options
       useAndroidPrebuilt = false;
+      useiOSPrebuilt = false;
+      isiPhoneSimulator = false;
     } // mapAttrs (n: v: v final.parsed) inspect.predicates
       // args;
   in assert final.useAndroidPrebuilt -> final.isAndroid;
+     assert lib.foldl
+       (pass: { assertion, message }:
+         if assertion final
+         then pass
+         else throw message)
+       true
+       (final.parsed.abi.assertions or []);
     final;
 }
diff --git a/lib/systems/examples.nix b/lib/systems/examples.nix
index 4b1a3c8ebf4..9c43d9b1bbc 100644
--- a/lib/systems/examples.nix
+++ b/lib/systems/examples.nix
@@ -94,16 +94,36 @@ rec {
   #
 
   iphone64 = {
-    config = "aarch64-apple-darwin14";
-    arch = "arm64";
-    libc = "libSystem";
+    config = "aarch64-apple-ios";
+    # config = "aarch64-apple-darwin14";
+    sdkVer = "10.2";
+    useiOSPrebuilt = true;
     platform = {};
   };
 
   iphone32 = {
-    config = "arm-apple-darwin10";
-    arch = "armv7-a";
-    libc = "libSystem";
+    config = "armv7a-apple-ios";
+    # config = "arm-apple-darwin10";
+    sdkVer = "10.2";
+    useiOSPrebuilt = true;
+    platform = {};
+  };
+
+  iphone64-simulator = {
+    config = "x86_64-apple-ios";
+    # config = "x86_64-apple-darwin14";
+    sdkVer = "10.2";
+    useiOSPrebuilt = true;
+    isiPhoneSimulator = true;
+    platform = {};
+  };
+
+  iphone32-simulator = {
+    config = "i686-apple-ios";
+    # config = "i386-apple-darwin11";
+    sdkVer = "10.2";
+    useiOSPrebuilt = true;
+    isiPhoneSimulator = true;
     platform = {};
   };
 
diff --git a/lib/systems/for-meta.nix b/lib/systems/for-meta.nix
index 68c68c2cd36..4ecd9ffc6ac 100644
--- a/lib/systems/for-meta.nix
+++ b/lib/systems/for-meta.nix
@@ -4,8 +4,8 @@ let
   inherit (lib.systems.inspect) patterns;
 
 in rec {
-  inherit (lib.systems.doubles) all mesaPlatforms;
-  none = [];
+  all     = [ {} ]; # `{}` matches anything
+  none    = [];
 
   arm     = [ patterns.isAarch32 ];
   aarch64 = [ patterns.isAarch64 ];
@@ -13,15 +13,23 @@ in rec {
   i686    = [ patterns.isi686 ];
   x86_64  = [ patterns.isx86_64 ];
   mips    = [ patterns.isMips ];
+  riscv   = [ patterns.isRiscV ];
 
   cygwin  = [ patterns.isCygwin ];
   darwin  = [ patterns.isDarwin ];
   freebsd = [ patterns.isFreeBSD ];
   # Should be better, but MinGW is unclear, and HURD is bit-rotted.
-  gnu     = [ { kernel = parse.kernels.linux; abi = parse.abis.gnu; } ];
+  gnu     = [
+    { kernel = parse.kernels.linux; abi = parse.abis.gnu; }
+    { kernel = parse.kernels.linux; abi = parse.abis.gnueabi; }
+    { kernel = parse.kernels.linux; abi = parse.abis.gnueabihf; }
+  ];
   illumos = [ patterns.isSunOS ];
   linux   = [ patterns.isLinux ];
   netbsd  = [ patterns.isNetBSD ];
   openbsd = [ patterns.isOpenBSD ];
   unix    = patterns.isUnix; # Actually a list
+  windows = [ patterns.isWindows ];
+
+  inherit (lib.systems.doubles) mesaPlatforms;
 }
diff --git a/lib/systems/inspect.nix b/lib/systems/inspect.nix
index 6738ae3d441..c0c283469fe 100644
--- a/lib/systems/inspect.nix
+++ b/lib/systems/inspect.nix
@@ -3,6 +3,9 @@ with import ./parse.nix { inherit lib; };
 with lib.attrsets;
 with lib.lists;
 
+let abis_ = abis; in
+let abis = lib.mapAttrs (_: abi: builtins.removeAttrs abi [ "assertions" ]) abis_; in
+
 rec {
   patterns = rec {
     isi686         = { cpu = cpuTypes.i686; };
@@ -21,9 +24,11 @@ rec {
     isLittleEndian = { cpu = { significantByte = significantBytes.littleEndian; }; };
 
     isBSD          = { kernel = { families = { inherit (kernelFamilies) bsd; }; }; };
+    isDarwin       = { kernel = { families = { inherit (kernelFamilies) darwin; }; }; };
     isUnix         = [ isBSD isDarwin isLinux isSunOS isHurd isCygwin ];
 
-    isDarwin       = { kernel = kernels.darwin; };
+    isMacOS        = { kernel = kernels.macos; };
+    isiOS          = { kernel = kernels.ios; };
     isLinux        = { kernel = kernels.linux; };
     isSunOS        = { kernel = kernels.solaris; };
     isFreeBSD      = { kernel = kernels.freebsd; };
@@ -38,12 +43,8 @@ rec {
     isMusl         = with abis; map (a: { abi = a; }) [ musl musleabi musleabihf ];
     isUClibc       = with abis; map (a: { abi = a; }) [ uclibc uclibceabi uclibceabihf ];
 
-    isKexecable    = map (family: { kernel = kernels.linux; cpu.family = family; })
-                       [ "x86" "arm" "aarch64" "mips" ];
     isEfi          = map (family: { cpu.family = family; })
                        [ "x86" "arm" "aarch64" ];
-    isSeccomputable = map (family: { kernel = kernels.linux; cpu.family = family; })
-                        [ "x86" "arm" "aarch64" "mips" ];
 
     # Deprecated after 18.03
     isArm = isAarch32;
diff --git a/lib/systems/parse.nix b/lib/systems/parse.nix
index 856ab297d5b..d79947ad3de 100644
--- a/lib/systems/parse.nix
+++ b/lib/systems/parse.nix
@@ -34,7 +34,7 @@ rec {
 
   ################################################################################
 
-  types.openSignifiantByte = mkOptionType {
+  types.openSignificantByte = mkOptionType {
     name = "significant-byte";
     description = "Endianness";
     merge = mergeOneOption;
@@ -42,7 +42,7 @@ rec {
 
   types.significantByte = enum (attrValues significantBytes);
 
-  significantBytes = setTypes types.openSignifiantByte {
+  significantBytes = setTypes types.openSignificantByte {
     bigEndian = {};
     littleEndian = {};
   };
@@ -145,6 +145,7 @@ rec {
 
   kernelFamilies = setTypes types.openKernelFamily {
     bsd = {};
+    darwin = {};
   };
 
   ################################################################################
@@ -160,7 +161,10 @@ rec {
   types.kernel = enum (attrValues kernels);
 
   kernels = with execFormats; with kernelFamilies; setTypes types.openKernel {
-    darwin  = { execFormat = macho;   families = { }; };
+    # TODO(@Ericson2314): Don't want to mass-rebuild yet to keeping 'darwin' as
+    # the nnormalized name for macOS.
+    macos   = { execFormat = macho;   families = { inherit darwin; }; name = "darwin"; };
+    ios     = { execFormat = macho;   families = { inherit darwin; }; };
     freebsd = { execFormat = elf;     families = { inherit bsd; }; };
     hurd    = { execFormat = elf;     families = { }; };
     linux   = { execFormat = elf;     families = { }; };
@@ -170,9 +174,13 @@ rec {
     solaris = { execFormat = elf;     families = { }; };
     windows = { execFormat = pe;      families = { }; };
   } // { # aliases
+    # 'darwin' is the kernel for all of them. We choose macOS by default.
+    darwin = kernels.macos;
     # TODO(@Ericson2314): Handle these Darwin version suffixes more generally.
-    darwin10 = kernels.darwin;
-    darwin14 = kernels.darwin;
+    darwin10 = kernels.macos;
+    darwin14 = kernels.macos;
+    watchos = kernels.ios;
+    tvos = kernels.ios;
     win32 = kernels.windows;
   };
 
@@ -192,11 +200,27 @@ rec {
     eabi         = {};
 
     androideabi  = {};
-    android      = {};
+    android      = {
+      assertions = [
+        { assertion = platform: !platform.isAarch32;
+          message = ''
+            The "android" ABI is not for 32-bit ARM. Use "androideabi" instead.
+          '';
+        }
+      ];
+    };
 
     gnueabi      = { float = "soft"; };
     gnueabihf    = { float = "hard"; };
-    gnu          = {};
+    gnu          = {
+      assertions = [
+        { assertion = platform: !platform.isAarch32;
+          message = ''
+            The "gnu" ABI is ambiguous on 32-bit ARM. Use "gnueabi" or "gnueabihf" instead.
+          '';
+        }
+      ];
+    };
 
     musleabi     = { float = "soft"; };
     musleabihf   = { float = "hard"; };
@@ -211,7 +235,7 @@ rec {
 
   ################################################################################
 
-  types.system = mkOptionType {
+  types.parsedPlatform = mkOptionType {
     name = "system";
     description = "fully parsed representation of llvm- or nix-style platform tuple";
     merge = mergeOneOption;
@@ -225,7 +249,7 @@ rec {
   isSystem = isType "system";
 
   mkSystem = components:
-    assert types.system.check components;
+    assert types.parsedPlatform.check components;
     setType "system" components;
 
   mkSkeletonFromList = l: {
@@ -286,8 +310,8 @@ rec {
   mkSystemFromString = s: mkSystemFromSkeleton (mkSkeletonFromList (lib.splitString "-" s));
 
   doubleFromSystem = { cpu, vendor, kernel, abi, ... }:
-    if abi == abis.cygnus
-    then "${cpu.name}-cygwin"
+    /**/ if abi == abis.cygnus       then "${cpu.name}-cygwin"
+    else if kernel.families ? darwin then "${cpu.name}-darwin"
     else "${cpu.name}-${kernel.name}";
 
   tripleFromSystem = { cpu, vendor, kernel, abi, ... } @ sys: assert isSystem sys; let
diff --git a/lib/tests/misc.nix b/lib/tests/misc.nix
index 1657ec33a46..c683df7d7ca 100644
--- a/lib/tests/misc.nix
+++ b/lib/tests/misc.nix
@@ -93,6 +93,7 @@ runTests {
             "${builtins.storeDir}/d945ibfx9x185xf04b890y4f9g3cbb63-python-2.7.11";
       in {
         storePath = isStorePath goodPath;
+        storePathDerivation = isStorePath (import ../.. {}).hello;
         storePathAppendix = isStorePath
           "${goodPath}/bin/python";
         nonAbsolute = isStorePath (concatStrings (tail (stringToCharacters goodPath)));
@@ -106,6 +107,7 @@ runTests {
       };
     expected = {
       storePath = true;
+      storePathDerivation = true;
       storePathAppendix = false;
       nonAbsolute = false;
       asPath = true;
@@ -205,6 +207,29 @@ runTests {
     expected = ''f\:oo:bar'';
   };
 
+  testMkValueString = {
+    expr = let
+      vals = {
+        int = 42;
+        string = ''fo"o'';
+        bool = true;
+        bool2 = false;
+        null = null;
+        # float = 42.23; # floats are strange
+      };
+      in mapAttrs
+        (const (generators.mkValueStringDefault {}))
+        vals;
+    expected = {
+      int = "42";
+      string = ''fo"o'';
+      bool = "true";
+      bool2 = "false";
+      null = "null";
+      # float = "42.23" true false [ "bar" ] ]'';
+    };
+  };
+
   testToKeyValue = {
     expr = generators.toKeyValue {} {
       key = "value";
@@ -247,6 +272,8 @@ runTests {
       "section 1" = {
         attribute1 = 5;
         x = "Me-se JarJar Binx";
+        # booleans are converted verbatim by default
+        boolean = false;
       };
       "foo[]" = {
         "he\\h=he" = "this is okay";
@@ -258,6 +285,7 @@ runTests {
 
       [section 1]
       attribute1=5
+      boolean=false
       x=Me-se JarJar Binx
     '';
   };
@@ -289,7 +317,8 @@ runTests {
     expr = mapAttrs (const (generators.toPretty {})) rec {
       int = 42;
       bool = true;
-      string = "fnord";
+      string = ''fno"rd'';
+      path = /. + "/foo"; # toPath returns a string
       null_ = null;
       function = x: x;
       functionArgs = { arg ? 4, foo }: arg;
@@ -300,13 +329,14 @@ runTests {
     expected = rec {
       int = "42";
       bool = "true";
-      string = "\"fnord\"";
+      string = ''"fno\"rd"'';
+      path = "/foo";
       null_ = "null";
       function = "<λ>";
       functionArgs = "<λ:{(arg),foo}>";
       list = "[ 3 4 ${function} [ false ] ]";
       attrs = "{ \"foo\" = null; \"foo bar\" = \"baz\"; }";
-      drv = "<δ>";
+      drv = "<δ:test>";
     };
   };
 
diff --git a/lib/tests/modules.sh b/lib/tests/modules.sh
index 96a91c0fffb..b83e1eb7d82 100755
--- a/lib/tests/modules.sh
+++ b/lib/tests/modules.sh
@@ -136,7 +136,18 @@ checkConfigOutput "true" "$@" ./define-module-check.nix
 # Check coerced value.
 checkConfigOutput "\"42\"" config.value ./declare-coerced-value.nix
 checkConfigOutput "\"24\"" config.value ./declare-coerced-value.nix ./define-value-string.nix
-checkConfigError 'The option value .* in .* is not.*string or signed integer.*' config.value ./declare-coerced-value.nix ./define-value-list.nix
+checkConfigError 'The option value .* in .* is not.*string or signed integer convertible to it' config.value ./declare-coerced-value.nix ./define-value-list.nix
+
+# Check coerced value with unsound coercion
+checkConfigOutput "12" config.value ./declare-coerced-value-unsound.nix
+checkConfigError 'The option value .* in .* is not.*8 bit signed integer.* or string convertible to it' config.value ./declare-coerced-value-unsound.nix ./define-value-string-bigint.nix
+checkConfigError 'unrecognised JSON value' config.value ./declare-coerced-value-unsound.nix ./define-value-string-arbitrary.nix
+
+# Check loaOf with long list.
+checkConfigOutput "1 2 3 4 5 6 7 8 9 10" config.result ./loaOf-with-long-list.nix
+
+# Check loaOf with many merges of lists.
+checkConfigOutput "1 2 3 4 5 6 7 8 9 10" config.result ./loaOf-with-many-list-merges.nix
 
 cat <<EOF
 ====== module tests ======
diff --git a/lib/tests/modules/declare-coerced-value-unsound.nix b/lib/tests/modules/declare-coerced-value-unsound.nix
new file mode 100644
index 00000000000..7a017f24e77
--- /dev/null
+++ b/lib/tests/modules/declare-coerced-value-unsound.nix
@@ -0,0 +1,10 @@
+{ lib, ... }:
+
+{
+  options = {
+    value = lib.mkOption {
+      default = "12";
+      type = lib.types.coercedTo lib.types.str lib.toInt lib.types.ints.s8;
+    };
+  };
+}
diff --git a/lib/tests/modules/define-value-string-arbitrary.nix b/lib/tests/modules/define-value-string-arbitrary.nix
new file mode 100644
index 00000000000..8e3abaf536a
--- /dev/null
+++ b/lib/tests/modules/define-value-string-arbitrary.nix
@@ -0,0 +1,3 @@
+{
+  value = "foobar";
+}
diff --git a/lib/tests/modules/define-value-string-bigint.nix b/lib/tests/modules/define-value-string-bigint.nix
new file mode 100644
index 00000000000..f27e31985c9
--- /dev/null
+++ b/lib/tests/modules/define-value-string-bigint.nix
@@ -0,0 +1,3 @@
+{
+  value = "1000";
+}
diff --git a/lib/tests/modules/loaOf-with-long-list.nix b/lib/tests/modules/loaOf-with-long-list.nix
new file mode 100644
index 00000000000..f30903c47e5
--- /dev/null
+++ b/lib/tests/modules/loaOf-with-long-list.nix
@@ -0,0 +1,19 @@
+{ config, lib, ... }:
+
+{
+  options = {
+    loaOfInt = lib.mkOption {
+      type = lib.types.loaOf lib.types.int;
+    };
+
+    result = lib.mkOption {
+      type = lib.types.str;
+    };
+  };
+
+  config = {
+    loaOfInt = [ 1 2 3 4 5 6 7 8 9 10 ];
+
+    result = toString (lib.attrValues config.loaOfInt);
+  };
+}
diff --git a/lib/tests/modules/loaOf-with-many-list-merges.nix b/lib/tests/modules/loaOf-with-many-list-merges.nix
new file mode 100644
index 00000000000..f8f8a8da82b
--- /dev/null
+++ b/lib/tests/modules/loaOf-with-many-list-merges.nix
@@ -0,0 +1,19 @@
+{ config, lib, ... }:
+
+{
+  options = {
+    loaOfInt = lib.mkOption {
+      type = lib.types.loaOf lib.types.int;
+    };
+
+    result = lib.mkOption {
+      type = lib.types.str;
+    };
+  };
+
+  config = {
+    loaOfInt = lib.mkMerge (map lib.singleton [ 1 2 3 4 5 6 7 8 9 10 ]);
+
+    result = toString (lib.attrValues config.loaOfInt);
+  };
+}
diff --git a/lib/tests/release.nix b/lib/tests/release.nix
index a6184041682..d9a8a006725 100644
--- a/lib/tests/release.nix
+++ b/lib/tests/release.nix
@@ -13,7 +13,6 @@ pkgs.stdenv.mkDerivation {
     export NIX_DB_DIR=$TEST_ROOT/db
     export NIX_LOCALSTATE_DIR=$TEST_ROOT/var
     export NIX_LOG_DIR=$TEST_ROOT/var/log/nix
-    export NIX_MANIFESTS_DIR=$TEST_ROOT/var/nix/manifests
     export NIX_STATE_DIR=$TEST_ROOT/var/nix
     export NIX_STORE_DIR=$TEST_ROOT/store
     export PAGER=cat
@@ -21,7 +20,7 @@ pkgs.stdenv.mkDerivation {
     nix-store --init
 
     cd ${pkgs.path}/lib/tests
-    ./modules.sh
+    bash ./modules.sh
 
     [[ "$(nix-instantiate --eval --strict misc.nix)" == "[ ]" ]]
 
diff --git a/lib/trivial.nix b/lib/trivial.nix
index a928e1dbca9..251cb796db0 100644
--- a/lib/trivial.nix
+++ b/lib/trivial.nix
@@ -58,11 +58,14 @@ rec {
 
   inherit (lib.strings) fileContents;
 
+  release = fileContents ../.version;
+  versionSuffix = let suffixFile = ../.version-suffix; in
+    if pathExists suffixFile then fileContents suffixFile else "pre-git";
+
   # Return the Nixpkgs version number.
-  nixpkgsVersion =
-    let suffixFile = ../.version-suffix; in
-    fileContents ../.version
-    + (if pathExists suffixFile then fileContents suffixFile else "pre-git");
+  version = release + versionSuffix;
+
+  nixpkgsVersion = builtins.trace "`lib.nixpkgsVersion` is deprecated, use `lib.version` instead!" version;
 
   # Whether we're being called by nix-shell.
   inNixShell = builtins.getEnv "IN_NIX_SHELL" != "";
diff --git a/lib/types.nix b/lib/types.nix
index a334db5c724..77271689772 100644
--- a/lib/types.nix
+++ b/lib/types.nix
@@ -256,7 +256,7 @@ rec {
       functor = (defaultFunctor name) // { wrapped = elemType; };
     };
 
-    nonEmptyListOf = elemType: 
+    nonEmptyListOf = elemType:
       let list = addCheck (types.listOf elemType) (l: l != []);
       in list // { description = "non-empty " + list.description; };
 
@@ -280,15 +280,26 @@ rec {
     # List or attribute set of ...
     loaOf = elemType:
       let
-        convertIfList = defIdx: def:
+        convertAllLists = defs:
+          let
+            padWidth = stringLength (toString (length defs));
+            unnamedPrefix = i: "unnamed-" + fixedWidthNumber padWidth i + ".";
+          in
+            imap1 (i: convertIfList (unnamedPrefix i)) defs;
+
+        convertIfList = unnamedPrefix: def:
           if isList def.value then
-            { inherit (def) file;
-              value = listToAttrs (
-                imap1 (elemIdx: elem:
-                  { name = elem.name or "unnamed-${toString defIdx}.${toString elemIdx}";
-                    value = elem;
-                  }) def.value);
-            }
+            let
+              padWidth = stringLength (toString (length def.value));
+              unnamed = i: unnamedPrefix + fixedWidthNumber padWidth i;
+            in
+              { inherit (def) file;
+                value = listToAttrs (
+                  imap1 (elemIdx: elem:
+                    { name = elem.name or (unnamed elemIdx);
+                      value = elem;
+                    }) def.value);
+              }
           else
             def;
         listOnly = listOf elemType;
@@ -297,7 +308,7 @@ rec {
         name = "loaOf";
         description = "list or attribute set of ${elemType.description}s";
         check = x: isList x || isAttrs x;
-        merge = loc: defs: attrOnly.merge loc (imap1 convertIfList defs);
+        merge = loc: defs: attrOnly.merge loc (convertAllLists defs);
         getSubOptions = prefix: elemType.getSubOptions (prefix ++ ["<name?>"]);
         getSubModules = elemType.getSubModules;
         substSubModules = m: loaOf (elemType.substSubModules m);
@@ -419,16 +430,13 @@ rec {
       assert coercedType.getSubModules == null;
       mkOptionType rec {
         name = "coercedTo";
-        description = "${finalType.description} or ${coercedType.description}";
-        check = x: finalType.check x || coercedType.check x;
+        description = "${finalType.description} or ${coercedType.description} convertible to it";
+        check = x: finalType.check x || (coercedType.check x && finalType.check (coerceFunc x));
         merge = loc: defs:
           let
             coerceVal = val:
               if finalType.check val then val
-              else let
-                coerced = coerceFunc val;
-              in assert finalType.check coerced; coerced;
-
+              else coerceFunc val;
           in finalType.merge loc (map (def: def // { value = coerceVal def.value; }) defs);
         getSubOptions = finalType.getSubOptions;
         getSubModules = finalType.getSubModules;
diff --git a/lib/maintainers-list.nix b/maintainers/maintainer-list.nix
index 608c36e91d2..a2db508d4d2 100644
--- a/lib/maintainers-list.nix
+++ b/maintainers/maintainer-list.nix
@@ -28,6 +28,11 @@
     github = "AndersonTorres";
     name = "Anderson Torres";
   };
+  Anton-Latukha = {
+    email = "anton.latuka+nixpkgs@gmail.com";
+    github = "Anton-Latukha";
+    name = "Anton Latukha";
+  };
   Baughn = {
     email = "sveina@gmail.com";
     github = "Baughn";
@@ -38,6 +43,11 @@
     github = "ChengCat";
     name = "Yucheng Zhang";
   };
+  CrazedProgrammer = {
+    email = "crazedprogrammer@gmail.com";
+    github = "CrazedProgrammer";
+    name = "CrazedProgrammer";
+  };
   CrystalGamma = {
     email = "nixos@crystalgamma.de";
     github = "CrystalGamma";
@@ -63,11 +73,20 @@
     github = "DmitryTsygankov";
     name = "Dmitry Tsygankov";
   };
+  Esteth = {
+    email = "adam.copp@gmail.com";
+    name = "Adam Copp";
+  };
   FireyFly = {
     email = "nix@firefly.nu";
     github = "FireyFly";
     name = "Jonas Höglund";
   };
+  Fresheyeball = {
+    email = "fresheyeball@gmail.com";
+    github = "fresheyeball";
+    name = "Isaac Shapira";
+  };
   Gonzih = {
     email = "gonzih@gmail.com";
     github = "Gonzih";
@@ -87,6 +106,11 @@
     github = "MP2E";
     name = "Cray Elliott";
   };
+  Mogria = {
+    email = "m0gr14@gmail.com";
+    github = "mogria";
+    name = "Mogria";
+  };
   MostAwesomeDude = {
     email = "cds@corbinsimpson.com";
     github = "MostAwesomeDude";
@@ -111,6 +135,11 @@
     github = "Profpatsch";
     name = "Profpatsch";
   };
+  roosemberth = {
+    email = "roosembert.palacios+nixpkgs@gmail.com";
+    github = "roosemberth";
+    name = "Roosembert (Roosemberth) Palacios";
+  };
   SShrike = {
     email = "severen@shrike.me";
     github = "severen";
@@ -176,6 +205,11 @@
     github = "abigailbuccaneer";
     name = "Abigail Bunyan";
   };
+  aborsu = {
+    email = "a.borsu@gmail.com";
+    github = "aborsu";
+    name = "Augustin Borsu";
+  };
   aboseley = {
     email = "adam.boseley@gmail.com";
     github = "aboseley";
@@ -276,6 +310,21 @@
     github = "akc";
     name = "Anders Claesson";
   };
+  akru = {
+    email = "mail@akru.me";
+    github = "akru";
+    name = "Alexander Krupenkin ";
+  };
+  alexchapman = {
+    name = "Alex Chapman";
+    email = "alex@farfromthere.net";
+    github = "AJChapman";
+  };
+  alexfmpe = {
+    email = "alexandre.fmp.esteves@gmail.com";
+    github = "alexfmpe";
+    name = "Alexandre Esteves";
+  };
   alexvorobiev = {
     email = "alexander.vorobiev@gmail.com";
     github = "alexvorobiev";
@@ -314,6 +363,11 @@
     github = "amiloradovsky";
     name = "Andrew Miloradovsky";
   };
+  aminechikhaoui = {
+    email = "amine.chikhaoui91@gmail.com";
+    github = "AmineChikhaoui";
+    name = "Amine Chikhaoui";
+  };
   amorsillo = {
     email = "andrew.morsillo@gmail.com";
     github = "AndrewMorsillo";
@@ -483,6 +537,11 @@
     email = "sivaraman.balaji@gmail.com";
     name = "Balaji Sivaraman";
   };
+  bandresen = {
+    email = "bandresen@gmail.com";
+    github = "bandresen";
+    name = "Benjamin Andresen";
+  };
   barrucadu = {
     email = "mike@barrucadu.co.uk";
     github = "barrucadu";
@@ -543,6 +602,16 @@
     github = "bergey";
     name = "Daniel Bergey";
   };
+  bfortz = {
+    email = "bernard.fortz@gmail.com";
+    github = "bfortz";
+    name = "Bernard Fortz";
+  };
+  bgamari = {
+    email = "ben@smart-cactus.org";
+    github = "bgamari";
+    name = "Ben Gamari";
+  };
   bhipple = {
     email = "bhipple@protonmail.com";
     github = "bhipple";
@@ -555,7 +624,6 @@
   };
   bjg = {
     email = "bjg@gnu.org";
-    github = "civodul";
     name = "Brian Gough";
   };
   bjornfor = {
@@ -563,6 +631,11 @@
     github = "bjornfor";
     name = "Bjørn Forsman";
   };
+  bkchr = {
+    email = "nixos@kchr.de";
+    github = "bkchr";
+    name = "Bastian Köcher";
+  };
   bluescreen303 = {
     email = "mathijs@bluescreen303.nl";
     github = "bluescreen303";
@@ -598,11 +671,21 @@
     github = "bradediger";
     name = "Brad Ediger";
   };
+  brainrape = {
+    email = "martonboros@gmail.com";
+    github = "brainrape";
+    name = "Marton Boros";
+  };
   bramd = {
     email = "bram@bramd.nl";
     github = "bramd";
     name = "Bram Duvigneau";
   };
+  brian-dawn = {
+    email = "brian.t.dawn@gmail.com";
+    github = "brian-dawn";
+    name = "Brian Dawn";
+  };
   bstrik = {
     email = "dutchman55@gmx.com";
     github = "bstrik";
@@ -632,11 +715,6 @@
     github = "calbrecht";
     name = "Christian Albrecht";
   };
-  calrama = {
-    email = "moritz@ucworks.org";
-    github = "MoritzMaxeiner";
-    name = "Moritz Maxeiner";
-  };
   calvertvl = {
     email = "calvertvl@gmail.com";
     github = "calvertvl";
@@ -652,11 +730,21 @@
     github = "canndrew";
     name = "Andrew Cann";
   };
+  carlosdagos = {
+    email = "m@cdagostino.io";
+    github = "carlosdagos";
+    name = "Carlos D'Agostino";
+  };
   carlsverre = {
     email = "accounts@carlsverre.com";
     github = "carlsverre";
     name = "Carl Sverre";
   };
+  cartr = {
+    email = "carter.sande@duodecima.technology";
+    github = "cartr";
+    name = "Carter Sande";
+  };
   casey = {
     email = "casey@rodarmor.net";
     github = "casey";
@@ -920,6 +1008,11 @@
     github = "demin-dmitriy";
     name = "Dmitriy Demin";
   };
+  demyanrogozhin = {
+    email = "demyan.rogozhin@gmail.com";
+    github = "demyanrogozhin";
+    name = "Demyan Rogozhin";
+  };
   derchris = {
     email = "derchris@me.com";
     github = "derchrisuk";
@@ -1034,11 +1127,6 @@
     github = "dtzWill";
     name = "Will Dietz";
   };
-  dupgit = {
-    email = "olivier.delhomme@free.fr";
-    github = "dupgit";
-    name = "Olivier Delhomme";
-  };
   dywedir = {
     email = "dywedir@protonmail.ch";
     github = "dywedir";
@@ -1143,6 +1231,16 @@
     github = "ellis";
     name = "Ellis Whitehead";
   };
+  elvishjerricco = {
+    email = "elvishjerricco@gmail.com";
+    github = "ElvishJerricco";
+    name = "Will Fancher";
+  };
+  endgame = {
+    email = "jack@jackkelly.name";
+    github = "endgame";
+    name = "Jack Kelly";
+  };
   enzime = {
     email = "enzime@users.noreply.github.com";
     github = "enzime";
@@ -1158,7 +1256,7 @@
     name = "Mabry Cervin";
   };
   eqyiel = {
-    email = "r@rkm.id.au";
+    email = "ruben@maher.fyi";
     github = "eqyiel";
     name = "Ruben Maher";
   };
@@ -1247,6 +1345,11 @@
     github = "fare";
     name = "Francois-Rene Rideau";
   };
+  fdns = {
+    email = "fdns02@gmail.com";
+    github = "fdns";
+    name = "Felipe Espinoza";
+  };
   fgaz = {
     email = "francygazz@gmail.com";
     github = "fgaz";
@@ -1524,6 +1627,11 @@
     github = "hrdinka";
     name = "Christoph Hrdinka";
   };
+  hschaeidt = {
+    email = "he.schaeidt@gmail.com";
+    github = "hschaeidt";
+    name = "Hendrik Schaeidt";
+  };
   htr = {
     email = "hugo@linux.com";
     github = "htr";
@@ -1549,6 +1657,11 @@
     github = "iblech";
     name = "Ingo Blechschmidt";
   };
+  idontgetoutmuch = {
+    email = "dominic@steinitz.org";
+    github = "idontgetoutmuch";
+    name = "Dominic Steinitz";
+  };
   igsha = {
     email = "igor.sharonov@gmail.com";
     github = "igsha";
@@ -1628,6 +1741,11 @@
     github = "jbedo";
     name = "Justin Bedő";
   };
+  jbgi = {
+    email = "jb@giraudeau.info";
+    github = "jbgi";
+    name = "Jean-Baptiste Giraudeau";
+  };
   jcumming = {
     email = "jack@mudshark.org";
     name = "Jack Cummings";
@@ -1637,13 +1755,18 @@
     github = "jdagilliland";
     name = "Jason Gilliland";
   };
+  jD91mZM2 = {
+    email = "me@krake.one";
+    github = "jD91mZM2";
+    name = "jD91mZM2";
+  };
   jefdaj = {
     email = "jefdaj@gmail.com";
     github = "jefdaj";
     name = "Jeffrey David Johnson";
   };
   jensbin = {
-    email = "jensbin@protonmail.com";
+    email = "jensbin+git@pm.me";
     github = "jensbin";
     name = "Jens Binkert";
   };
@@ -1657,13 +1780,18 @@
     github = "tftio";
     name = "James Felix Black";
   };
+  jflanglois = {
+    email = "yourstruly@julienlanglois.me";
+    github = "jflanglois";
+    name = "Julien Langlois";
+  };
   jfrankenau = {
     email = "johannes@frankenau.net";
     github = "jfrankenau";
     name = "Johannes Frankenau";
   };
   jgeerds = {
-    email = "jascha@jgeerds.name";
+    email = "jascha@geerds.org";
     github = "jgeerds";
     name = "Jascha Geerds";
   };
@@ -1707,6 +1835,11 @@
     github = "joamaki";
     name = "Jussi Maki";
   };
+  joelburget = {
+    email = "joelburget@gmail.com";
+    github = "joelburget";
+    name = "Joel Burget";
+  };
   joelmo = {
     email = "joel.moberg@gmail.com";
     github = "joelmo";
@@ -1726,6 +1859,11 @@
     github = "johnazoidberg";
     name = "Daniel Schäfer";
   };
+  johnchildren = {
+    email = "john.a.children@gmail.com";
+    github = "johnchildren";
+    name = "John Children";
+  };
   johnmh = {
     email = "johnmh@openblox.org";
     github = "johnmh";
@@ -1819,6 +1957,11 @@
     email = "info+nix@chmist.com";
     name = "karolchmist";
   };
+  kazcw = {
+    email = "kaz@lambdaverse.org";
+    github = "kazcw";
+    name = "Kaz Wesley";
+  };
   kentjames = {
     email = "jameschristopherkent@gmail.com";
     github = "kentjames";
@@ -1883,6 +2026,11 @@
     github = "kragniz";
     name = "Louis Taylor";
   };
+  krav = {
+    email = "kristoffer@microdisko.no";
+    github = "krav";
+    name = "Kristoffer Thømt Ravneberg";
+  };
   kristoff3r = {
     email = "k.soeholm@gmail.com";
     github = "kristoff3r";
@@ -1948,6 +2096,11 @@
     github = "leenaars";
     name = "Michiel Leenaars";
   };
+  leo60228 = {
+    email = "iakornfeld@gmail.com";
+    github = "leo60228";
+    name = "leo60228";
+  };
   leonardoce = {
     email = "leonardo.cecchi@gmail.com";
     github = "leonardoce";
@@ -2013,6 +2166,11 @@
     github = "lo1tuma";
     name = "Mathias Schreck";
   };
+  lopsided98 = {
+    email = "benwolsieffer@gmail.com";
+    github = "lopsided98";
+    name = "Ben Wolsieffer";
+  };
   loskutov = {
     email = "ignat.loskutov@gmail.com";
     github = "loskutov";
@@ -2140,6 +2298,11 @@
     github = "markuskowa";
     name = "Markus Kowalewski";
   };
+  marsam = {
+    email = "marsam@users.noreply.github.com";
+    github = "marsam";
+    name = "Mario Rodas";
+  };
   martijnvermaat = {
     email = "martijn@vermaat.name";
     github = "martijnvermaat";
@@ -2220,6 +2383,11 @@
     github = "meditans";
     name = "Carlo Nucera";
   };
+  megheaiulian  = {
+    email = "iulian.meghea@gmail.com";
+    github = "megheaiulian";
+    name = "Meghea Iulian";
+  };
   mehandes = {
     email = "niewskici@gmail.com";
     github = "mehandes";
@@ -2333,6 +2501,16 @@
     github = "mmahut";
     name = "Marek Mahut";
   };
+  mmlb = {
+    email = "me.mmlb@mmlb.me";
+    github = "mmlb";
+    name = "Manuel Mendez";
+  };
+  mnacamura = {
+    email = "m.nacamura@gmail.com";
+    github = "mnacamura";
+    name = "Mitsuhiro Nakamura";
+  };
   moaxcp = {
     email = "moaxcp@gmail.com";
     github = "moaxcp";
@@ -2393,6 +2571,11 @@
     github = "fstamour";
     name = "Francis St-Amour";
   };
+  mrkkrp = {
+    email = "markkarpov92@gmail.com";
+    github = "mrkkrp";
+    name = "Mark Karpov";
+  };
   mrVanDalo = {
     email = "contact@ingolf-wagner.de";
     github = "mrVanDalo";
@@ -2407,6 +2590,11 @@
     github = "mschristiansen";
     name = "Mikkel Christiansen";
   };
+  msiedlarek = {
+    email = "mikolaj@siedlarek.pl";
+    github = "msiedlarek";
+    name = "Mikołaj Siedlarek";
+  };
   mstarzyk = {
     email = "mstarzyk@gmail.com";
     github = "mstarzyk";
@@ -2422,6 +2610,11 @@
     github = "mt-caret";
     name = "Masayuki Takeda";
   };
+  MtP = {
+    email = "marko.nixos@poikonen.de";
+    github = "MtP76";
+    name = "Marko Poikonen";
+  };
   mtreskin = {
     email = "zerthurd@gmail.com";
     github = "Zert";
@@ -2517,6 +2710,11 @@
     github = "ninjatrappeur";
     name = "Félix Baylac-Jacqué";
   };
+  nioncode = {
+    email = "nioncode+github@gmail.com";
+    github = "nioncode";
+    name = "Nicolas Schneider";
+  };
   nipav = {
     email = "niko.pavlinek@gmail.com";
     github = "nipav";
@@ -2532,6 +2730,11 @@
     github = "nmattia";
     name = "Nicolas Mattia";
   };
+  nocent = {
+    email = "nocent@protonmail.ch";
+    github = "nocent";
+    name = "nocent";
+  };
   nocoolnametom = {
     email = "nocoolnametom@gmail.com";
     github = "nocoolnametom";
@@ -2556,6 +2759,11 @@
     github = "nthorne";
     name = "Niklas Thörne";
   };
+  nyanloutre = {
+    email = "paul@nyanlout.re";
+    github = "nyanloutre";
+    name = "Paul Trehiou";
+  };
   nyarly = {
     email = "nyarly@gmail.com";
     github = "nyarly";
@@ -2896,11 +3104,21 @@
     github = "rbasso";
     name = "Rafael Basso";
   };
+  rdnetto = {
+    email = "rdnetto@gmail.com";
+    github = "rdnetto";
+    name = "Reuben D'Netto";
+  };
   redbaron = {
     email = "ivanov.maxim@gmail.com";
     github = "redbaron";
     name = "Maxim Ivanov";
   };
+  redfish64 = {
+    email = "engler@gmail.com";
+    github = "redfish64";
+    name = "Tim Engler";
+  };
   redvers = {
     email = "red@infect.me";
     github = "redvers";
@@ -2956,6 +3174,16 @@
     github = "risicle";
     name = "Robert Scott";
   };
+  rittelle = {
+    email = "rittelle@posteo.de";
+    github = "rittelle";
+    name = "Lennart Rittel";
+  };
+  rkoe = {
+    email = "rk@simple-is-better.org";
+    github = "rkoe";
+    name = "Roland Koebler";
+  };
   rlupton20 = {
     email = "richard.lupton@gmail.com";
     github = "rlupton20";
@@ -3016,6 +3244,11 @@
     github = "rongcuid";
     name = "Rongcui Dong";
   };
+  rprospero = {
+    email = "rprospero+nix@gmail.com";
+    github = "rprospero";
+    name = "Adam Washington";
+  };
   rszibele = {
     email = "richard@szibele.com";
     github = "rszibele";
@@ -3031,6 +3264,11 @@
     github = "rushmorem";
     name = "Rushmore Mushambi";
   };
+  ruuda = {
+    email = "dev+nix@veniogames.com";
+    github = "ruuda";
+    name = "Ruud van Asseldonk";
+  };
   rvl = {
     email = "dev+nix@rodney.id.au";
     github = "rvl";
@@ -3155,6 +3393,16 @@
     github = "sellout";
     name = "Greg Pfeil";
   };
+  sengaya = {
+    email = "tlo@sengaya.de";
+    github = "sengaya";
+    name = "Thilo Uttendorfer";
+  };
+  sephalon = {
+    email = "me@sephalon.net";
+    github = "sephalon";
+    name = "Stefan Wiehler";
+  };
   sepi = {
     email = "raffael@mancini.lu";
     github = "sepi";
@@ -3258,6 +3506,11 @@
     github = "grwlf";
     name = "Sergey Mironov";
   };
+  sna = {
+    email = "abouzahra.9@wright.edu";
+    github = "s-na";
+    name = "S. Nordin Abouzahra";
+  };
   snyh = {
     email = "snyh@snyh.org";
     github = "snyh";
@@ -3303,6 +3556,11 @@
     github = "spwhitt";
     name = "Spencer Whitt";
   };
+  srghma = {
+    email = "srghma@gmail.com";
+    github = "srghma";
+    name = "Sergei Khoma";
+  };
   srhb = {
     email = "sbrofeldt@gmail.com";
     github = "srhb";
@@ -3338,6 +3596,11 @@
     github = "suvash";
     name = "Suvash Thapaliya";
   };
+  sveitser = {
+    email = "sveitser@gmail.com";
+    github = "sveitser";
+    name = "Mathis Antony";
+  };
   svsdep = {
     email = "svsdep@gmail.com";
     github = "svsdep";
@@ -3363,6 +3626,11 @@
     github = "symphorien";
     name = "Guillaume Girol";
   };
+  synthetica = {
+    email = "nix@hilhorst.be";
+    github = "Synthetica9";
+    name = "Patrick Hilhorst";
+  };
   szczyp = {
     email = "qb@szczyp.com";
     github = "szczyp";
@@ -3418,6 +3686,11 @@
     github = "tavyc";
     name = "Octavian Cerna";
   };
+  tazjin = {
+    email = "mail@tazj.in";
+    github = "tazjin";
+    name = "Vincent Ambo";
+  };
   teh = {
     email = "tehunger@gmail.com";
     github = "teh";
@@ -3508,11 +3781,21 @@
     github = "titanous";
     name = "Jonathan Rudenberg";
   };
+  tmplt = {
+    email = "tmplt@dragons.rocks";
+    github = "tmplt";
+    name = "Viktor";
+  };
   tnias = {
     email = "phil@grmr.de";
     github = "tnias";
     name = "Philipp Bartsch";
   };
+  tobim = {
+    email = "nix@tobim.fastmail.fm";
+    github = "tobimpub";
+    name = "Tobias Mayer";
+  };
   tohl = {
     email = "tom@logand.com";
     github = "tohl";
@@ -3592,6 +3875,11 @@
     github = "twey";
     name = "James ‘Twey’ Kay";
   };
+  typetetris = {
+    email = "ericwolf42@mail.com";
+    github = "typetetris";
+    name = "Eric Wolf";
+  };
   unode = {
     email = "alves.rjc@gmail.com";
     github = "unode";
@@ -3607,6 +3895,11 @@
     github = "utdemir";
     name = "Utku Demir";
   };
+  uvnikita = {
+    email = "uv.nikita@gmail.com";
+    github = "uvNikita";
+    name = "Nikita Uvarov";
+  };
   uwap = {
     email = "me@uwap.name";
     github = "uwap";
@@ -3746,6 +4039,11 @@
     github = "vyp";
     name = "vyp";
   };
+  wchresta = {
+    email = "wchresta.nix@chrummibei.ch";
+    github = "wchresta";
+    name = "wchresta";
+  };
   wedens = {
     email = "kirill.wedens@gmail.com";
     name = "wedens";
@@ -3793,6 +4091,11 @@
     github = "womfoo";
     name = "Kranium Gikos Mendoza";
   };
+  worldofpeace = {
+    email = "worldofpeace@users.noreply.github.com";
+    github = "worldofpeace";
+    name = "Worldofpeace";
+  };
   wscott = {
     email = "wsc9tt@gmail.com";
     github = "wscott";
@@ -3811,7 +4114,7 @@
   xeji = {
     email = "xeji@cat3.de";
     github = "xeji";
-    name = "xeji";
+    name = "Uli Baum";
   };
   xnaveira = {
     email = "xnaveira@gmail.com";
@@ -3883,6 +4186,11 @@
     github = "yrashk";
     name = "Yurii Rashkovskii";
   };
+  ysndr = {
+    email = "me@ysndr.de";
+    github = "ysndr";
+    name = "Yannik Sander";
+  };
   yuriaisaka = {
     email = "yuri.aisaka+nix@gmail.com";
     github = "yuriaisaka";
diff --git a/maintainers/scripts/copy-tarballs.pl b/maintainers/scripts/copy-tarballs.pl
index f3fe7236760..31e6045fb64 100755
--- a/maintainers/scripts/copy-tarballs.pl
+++ b/maintainers/scripts/copy-tarballs.pl
@@ -100,7 +100,10 @@ sub uploadFile {
     sub redirect {
         my ($name, $dest) = @_;
         #print STDERR "linking $name to $dest...\n";
-        $bucket->add_key($name, "", { 'x-amz-website-redirect-location' => "/" . $dest })
+        $bucket->add_key($name, "", {
+	    'x-amz-website-redirect-location' => "/" . $dest,
+	    'x-amz-acl' => "public-read"
+        })
             or die "failed to create redirect from $name to $dest\n";
         $cache{$name} = 1;
     }
@@ -112,7 +115,10 @@ sub uploadFile {
 
     # Upload the file as sha512/<hash-in-base-16>.
     print STDERR "uploading $fn to $mainKey...\n";
-    $bucket->add_key_filename($mainKey, $fn, { 'x-amz-meta-original-name' => $name })
+    $bucket->add_key_filename($mainKey, $fn, {
+	'x-amz-meta-original-name' => $name,
+	'x-amz-acl' => "public-read"
+    })
         or die "failed to upload $fn to $mainKey\n";
     $cache{$mainKey} = 1;
 }
diff --git a/maintainers/scripts/hydra-eval-failures.py b/maintainers/scripts/hydra-eval-failures.py
index ddc3c7c4a96..23669502e46 100755
--- a/maintainers/scripts/hydra-eval-failures.py
+++ b/maintainers/scripts/hydra-eval-failures.py
@@ -1,5 +1,5 @@
 #!/usr/bin/env nix-shell
-#!nix-shell -i python -p pythonFull pythonPackages.requests pythonPackages.pyquery pythonPackages.click
+#!nix-shell -i python3 -p 'python3.withPackages(ps: with ps; [ requests pyquery click ])'
 
 # To use, just execute this script with --help to display help.
 
@@ -13,10 +13,10 @@ from pyquery import PyQuery as pq
 
 
 maintainers_json = subprocess.check_output([
-    'nix-instantiate', '-E', 'import ./lib/maintainers.nix {}', '--eval', '--json'
+    'nix-instantiate', '-E', 'import ./maintainers/maintainer-list.nix {}', '--eval', '--json'
 ])
 maintainers = json.loads(maintainers_json)
-MAINTAINERS = {v: k for k, v in maintainers.iteritems()}
+MAINTAINERS = {v: k for k, v in maintainers.items()}
 
 
 def get_response_text(url):
@@ -45,6 +45,17 @@ def get_maintainers(attr_name):
     except:
        return []
 
+def print_build(table_row):
+    a = pq(table_row)('a')[1]
+    print("- [ ] [{}]({})".format(a.text, a.get('href')), flush=True)
+    
+    maintainers = get_maintainers(a.text)
+    if maintainers:
+        print("  - maintainers: {}".format(", ".join(map(lambda u: '@' + u, maintainers))))
+    # TODO: print last three persons that touched this file
+    # TODO: pinpoint the diff that broke this build, or maybe it's transient or maybe it never worked?
+    
+    sys.stdout.flush()
 
 @click.command()
 @click.option(
@@ -73,23 +84,17 @@ def cli(jobset):
 
     # TODO: aborted evaluations
     # TODO: dependency failed without propagated builds
+    print('\nFailures:')
     for tr in d('img[alt="Failed"]').parents('tr'):
-        a = pq(tr)('a')[1]
-        print("- [ ] [{}]({})".format(a.text, a.get('href')))
+        print_build(tr)
 
-        sys.stdout.flush()
-
-        maintainers = get_maintainers(a.text)
-        if maintainers:
-            print("  - maintainers: {}".format(", ".join(map(lambda u: '@' + u, maintainers))))
-        # TODO: print last three persons that touched this file
-        # TODO: pinpoint the diff that broke this build, or maybe it's transient or maybe it never worked?
-
-        sys.stdout.flush()
+    print('\nDependency failures:')
+    for tr in d('img[alt="Dependency failed"]').parents('tr'):
+        print_build(tr)
 
 
 if __name__ == "__main__":
     try:
         cli()
-    except:
+    except Exception as e:
         import pdb;pdb.post_mortem()
diff --git a/maintainers/scripts/update-python-libraries b/maintainers/scripts/update-python-libraries
index ec2691ff617..4536662c842 100755
--- a/maintainers/scripts/update-python-libraries
+++ b/maintainers/scripts/update-python-libraries
@@ -1,5 +1,5 @@
 #! /usr/bin/env nix-shell
-#! nix-shell -i python3 -p 'python3.withPackages(ps: with ps; [ packaging requests toolz ])' -p git
+#! nix-shell -i python3 -p "python3.withPackages(ps: with ps; [ packaging requests toolz ])" -p git
 
 """
 Update a Python package expression by passing in the `.nix` file, or the directory containing it.
@@ -358,4 +358,4 @@ def main():
 
 
 if __name__ == '__main__':
-    main()
\ No newline at end of file
+    main()
diff --git a/maintainers/scripts/update.nix b/maintainers/scripts/update.nix
index 7c54821f66c..8d1e47c6bc9 100755
--- a/maintainers/scripts/update.nix
+++ b/maintainers/scripts/update.nix
@@ -6,11 +6,22 @@
 # TODO: add assert statements
 
 let
+  /* Remove duplicate elements from the list based on some extracted value. O(n^2) complexity.
+   */
+  nubOn = f: list:
+    if list == [] then
+      []
+    else
+      let
+        x = pkgs.lib.head list;
+        xs = pkgs.lib.filter (p: f x != f p) (pkgs.lib.drop 1 list);
+      in
+        [x] ++ nubOn f xs;
 
   pkgs = import ./../../default.nix { };
 
   packagesWith = cond: return: set:
-    pkgs.lib.unique
+    nubOn (pkg: pkg.updateScript)
       (pkgs.lib.flatten
         (pkgs.lib.mapAttrsToList
           (name: pkg:
@@ -34,7 +45,7 @@ let
     let
       maintainer =
         if ! builtins.hasAttr maintainer' pkgs.lib.maintainers then
-          builtins.throw "Maintainer with name `${maintainer'} does not exist in `lib/maintainers.nix`."
+          builtins.throw "Maintainer with name `${maintainer'} does not exist in `maintainers/maintainer-list.nix`."
         else
           builtins.getAttr maintainer' pkgs.lib.maintainers;
     in
@@ -65,7 +76,7 @@ let
       if package == null then
         builtins.throw "Package with an attribute name `${name}` does not exists."
       else if ! builtins.hasAttr "updateScript" package then
-        builtins.throw "Package with an attribute name `${name}` does have an `passthru.updateScript` defined."
+        builtins.throw "Package with an attribute name `${name}` does not have a `passthru.updateScript` attribute defined."
       else
         package;
 
diff --git a/maintainers/scripts/vanity.sh b/maintainers/scripts/vanity.sh
index 27e7741799f..aa7d4ec967d 100755
--- a/maintainers/scripts/vanity.sh
+++ b/maintainers/scripts/vanity.sh
@@ -10,7 +10,7 @@ git_data="$(echo "$raw_git_log" | grep 'Author:' |
 
 # Name - nick - email correspondence from log and from maintainer list
 # Also there are a few manual entries
-maintainers="$(cat "$(dirname "$0")/../../lib/maintainers.nix" |
+maintainers="$(cat "$(dirname "$0")/../maintainer-list.nix" |
   grep '=' | sed -re 's/\\"/''/g;
   s/[ 	]*([^ 	=]*)[ 	]*=[ 	]*" *(.*[^ ]) *[<](.*)[>] *".*/\1\t\2\t\3/')"
 git_lines="$( ( echo "$git_data";
diff --git a/nixos/doc/manual/.gitignore b/nixos/doc/manual/.gitignore
new file mode 100644
index 00000000000..87928262421
--- /dev/null
+++ b/nixos/doc/manual/.gitignore
@@ -0,0 +1,2 @@
+generated
+manual-combined.xml
diff --git a/nixos/doc/manual/Makefile b/nixos/doc/manual/Makefile
new file mode 100644
index 00000000000..2e2322d5fb5
--- /dev/null
+++ b/nixos/doc/manual/Makefile
@@ -0,0 +1,24 @@
+.PHONY: all
+all: manual-combined.xml format
+
+.PHONY: debug
+debug: generated manual-combined.xml
+
+manual-combined.xml: generated *.xml
+	rm -f ./manual-combined.xml
+	nix-shell --packages xmloscopy \
+		--run "xmloscopy --docbook5 ./manual.xml ./manual-combined.xml"
+
+.PHONY: format
+format:
+	find . -iname '*.xml' -type f -print0 | xargs -0 -I{} -n1 \
+		xmlformat --config-file "../xmlformat.conf" -i {}
+
+.PHONY: clean
+clean:
+	rm -f manual-combined.xml generated
+
+generated: ./options-to-docbook.xsl
+	nix-build ../../release.nix \
+		--attr manualGeneratedSources.x86_64-linux \
+		--out-link ./generated
diff --git a/nixos/doc/manual/administration/boot-problems.xml b/nixos/doc/manual/administration/boot-problems.xml
index be6ff3aac0f..5f05ad261ef 100644
--- a/nixos/doc/manual/administration/boot-problems.xml
+++ b/nixos/doc/manual/administration/boot-problems.xml
@@ -3,63 +3,83 @@
         xmlns:xi="http://www.w3.org/2001/XInclude"
         version="5.0"
         xml:id="sec-boot-problems">
+ <title>Boot Problems</title>
 
-<title>Boot Problems</title>
+ <para>
+  If NixOS fails to boot, there are a number of kernel command line parameters
+  that may help you to identify or fix the issue. You can add these parameters
+  in the GRUB boot menu by pressing “e” to modify the selected boot entry
+  and editing the line starting with <literal>linux</literal>. The following
+  are some useful kernel command line parameters that are recognised by the
+  NixOS boot scripts or by systemd:
+  <variablelist>
+   <varlistentry>
+    <term><literal>boot.shell_on_fail</literal>
+    </term>
+    <listitem>
+     <para>
+      Start a root shell if something goes wrong in stage 1 of the boot process
+      (the initial ramdisk). This is disabled by default because there is no
+      authentication for the root shell.
+     </para>
+    </listitem>
+   </varlistentry>
+   <varlistentry>
+    <term><literal>boot.debug1</literal>
+    </term>
+    <listitem>
+     <para>
+      Start an interactive shell in stage 1 before anything useful has been
+      done. That is, no modules have been loaded and no file systems have been
+      mounted, except for <filename>/proc</filename> and
+      <filename>/sys</filename>.
+     </para>
+    </listitem>
+   </varlistentry>
+   <varlistentry>
+    <term><literal>boot.trace</literal>
+    </term>
+    <listitem>
+     <para>
+      Print every shell command executed by the stage 1 and 2 boot scripts.
+     </para>
+    </listitem>
+   </varlistentry>
+   <varlistentry>
+    <term><literal>single</literal>
+    </term>
+    <listitem>
+     <para>
+      Boot into rescue mode (a.k.a. single user mode). This will cause systemd
+      to start nothing but the unit <literal>rescue.target</literal>, which
+      runs <command>sulogin</command> to prompt for the root password and start
+      a root login shell. Exiting the shell causes the system to continue with
+      the normal boot process.
+     </para>
+    </listitem>
+   </varlistentry>
+   <varlistentry>
+    <term><literal>systemd.log_level=debug systemd.log_target=console</literal>
+    </term>
+    <listitem>
+     <para>
+      Make systemd very verbose and send log messages to the console instead of
+      the journal.
+     </para>
+    </listitem>
+   </varlistentry>
+  </variablelist>
+  For more parameters recognised by systemd, see <citerefentry>
+  <refentrytitle>systemd</refentrytitle>
+  <manvolnum>1</manvolnum></citerefentry>.
+ </para>
 
-<para>If NixOS fails to boot, there are a number of kernel command
-line parameters that may help you to identify or fix the issue.  You
-can add these parameters in the GRUB boot menu by pressing “e” to
-modify the selected boot entry and editing the line starting with
-<literal>linux</literal>.  The following are some useful kernel command
-line parameters that are recognised by the NixOS boot scripts or by
-systemd:
-
-<variablelist>
-
-  <varlistentry><term><literal>boot.shell_on_fail</literal></term>
-    <listitem><para>Start a root shell if something goes wrong in
-    stage 1 of the boot process (the initial ramdisk).  This is
-    disabled by default because there is no authentication for the
-    root shell.</para></listitem>
-  </varlistentry>
-
-  <varlistentry><term><literal>boot.debug1</literal></term>
-    <listitem><para>Start an interactive shell in stage 1 before
-    anything useful has been done.  That is, no modules have been
-    loaded and no file systems have been mounted, except for
-    <filename>/proc</filename> and
-    <filename>/sys</filename>.</para></listitem>
-  </varlistentry>
-
-  <varlistentry><term><literal>boot.trace</literal></term>
-    <listitem><para>Print every shell command executed by the stage 1
-    and 2 boot scripts.</para></listitem>
-  </varlistentry>
-
-  <varlistentry><term><literal>single</literal></term>
-    <listitem><para>Boot into rescue mode (a.k.a. single user mode).
-    This will cause systemd to start nothing but the unit
-    <literal>rescue.target</literal>, which runs
-    <command>sulogin</command> to prompt for the root password and
-    start a root login shell.  Exiting the shell causes the system to
-    continue with the normal boot process.</para></listitem>
-  </varlistentry>
-
-  <varlistentry><term><literal>systemd.log_level=debug systemd.log_target=console</literal></term>
-    <listitem><para>Make systemd very verbose and send log messages to
-    the console instead of the journal.</para></listitem>
-  </varlistentry>
-
-</variablelist>
-
-For more parameters recognised by systemd, see
-<citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>.</para>
-
-<para>If no login prompts or X11 login screens appear (e.g. due to
-hanging dependencies), you can press Alt+ArrowUp.  If you’re lucky,
-this will start rescue mode (described above).  (Also note that since
-most units have a 90-second timeout before systemd gives up on them,
-the <command>agetty</command> login prompts should appear eventually
-unless something is very wrong.)</para>
-
-</section>
\ No newline at end of file
+ <para>
+  If no login prompts or X11 login screens appear (e.g. due to hanging
+  dependencies), you can press Alt+ArrowUp. If you’re lucky, this will start
+  rescue mode (described above). (Also note that since most units have a
+  90-second timeout before systemd gives up on them, the
+  <command>agetty</command> login prompts should appear eventually unless
+  something is very wrong.)
+ </para>
+</section>
diff --git a/nixos/doc/manual/administration/cleaning-store.xml b/nixos/doc/manual/administration/cleaning-store.xml
index 4cf62947f52..ee201982a40 100644
--- a/nixos/doc/manual/administration/cleaning-store.xml
+++ b/nixos/doc/manual/administration/cleaning-store.xml
@@ -3,60 +3,51 @@
         xmlns:xi="http://www.w3.org/2001/XInclude"
         version="5.0"
         xml:id="sec-nix-gc">
-
-<title>Cleaning the Nix Store</title>
-
-<para>Nix has a purely functional model, meaning that packages are
-never upgraded in place.  Instead new versions of packages end up in a
-different location in the Nix store (<filename>/nix/store</filename>).
-You should periodically run Nix’s <emphasis>garbage
-collector</emphasis> to remove old, unreferenced packages.  This is
-easy:
-
+ <title>Cleaning the Nix Store</title>
+ <para>
+  Nix has a purely functional model, meaning that packages are never upgraded
+  in place. Instead new versions of packages end up in a different location in
+  the Nix store (<filename>/nix/store</filename>). You should periodically run
+  Nix’s <emphasis>garbage collector</emphasis> to remove old, unreferenced
+  packages. This is easy:
 <screen>
 $ nix-collect-garbage
 </screen>
-
-Alternatively, you can use a systemd unit that does the same in the
-background:
-
+  Alternatively, you can use a systemd unit that does the same in the
+  background:
 <screen>
 # systemctl start nix-gc.service
 </screen>
-
-You can tell NixOS in <filename>configuration.nix</filename> to run
-this unit automatically at certain points in time, for instance, every
-night at 03:15:
-
+  You can tell NixOS in <filename>configuration.nix</filename> to run this unit
+  automatically at certain points in time, for instance, every night at 03:15:
 <programlisting>
-nix.gc.automatic = true;
-nix.gc.dates = "03:15";
+<xref linkend="opt-nix.gc.automatic"/> = true;
+<xref linkend="opt-nix.gc.dates"/> = "03:15";
 </programlisting>
-
-</para>
-
-<para>The commands above do not remove garbage collector roots, such
-as old system configurations.  Thus they do not remove the ability to
-roll back to previous configurations.  The following command deletes
-old roots, removing the ability to roll back to them:
+ </para>
+ <para>
+  The commands above do not remove garbage collector roots, such as old system
+  configurations. Thus they do not remove the ability to roll back to previous
+  configurations. The following command deletes old roots, removing the ability
+  to roll back to them:
 <screen>
 $ nix-collect-garbage -d
 </screen>
-You can also do this for specific profiles, e.g.
+  You can also do this for specific profiles, e.g.
 <screen>
 $ nix-env -p /nix/var/nix/profiles/per-user/eelco/profile --delete-generations old
 </screen>
-Note that NixOS system configurations are stored in the profile
-<filename>/nix/var/nix/profiles/system</filename>.</para>
-
-<para>Another way to reclaim disk space (often as much as 40% of the
-size of the Nix store) is to run Nix’s store optimiser, which seeks
-out identical files in the store and replaces them with hard links to
-a single copy.
+  Note that NixOS system configurations are stored in the profile
+  <filename>/nix/var/nix/profiles/system</filename>.
+ </para>
+ <para>
+  Another way to reclaim disk space (often as much as 40% of the size of the
+  Nix store) is to run Nix’s store optimiser, which seeks out identical files
+  in the store and replaces them with hard links to a single copy.
 <screen>
 $ nix-store --optimise
 </screen>
-Since this command needs to read the entire Nix store, it can take
-quite a while to finish.</para>
-
+  Since this command needs to read the entire Nix store, it can take quite a
+  while to finish.
+ </para>
 </chapter>
diff --git a/nixos/doc/manual/administration/container-networking.xml b/nixos/doc/manual/administration/container-networking.xml
index d89d262eff4..4b977d1d82e 100644
--- a/nixos/doc/manual/administration/container-networking.xml
+++ b/nixos/doc/manual/administration/container-networking.xml
@@ -3,15 +3,13 @@
           xmlns:xi="http://www.w3.org/2001/XInclude"
           version="5.0"
           xml:id="sec-container-networking">
+ <title>Container Networking</title>
 
-
-<title>Container Networking</title>
-
-<para>When you create a container using <literal>nixos-container
-create</literal>, it gets it own private IPv4 address in the range
-<literal>10.233.0.0/16</literal>. You can get the container’s IPv4
-address as follows:
-
+ <para>
+  When you create a container using <literal>nixos-container create</literal>,
+  it gets it own private IPv4 address in the range
+  <literal>10.233.0.0/16</literal>. You can get the container’s IPv4 address
+  as follows:
 <screen>
 # nixos-container show-ip foo
 10.233.4.2
@@ -19,40 +17,39 @@ address as follows:
 $ ping -c1 10.233.4.2
 64 bytes from 10.233.4.2: icmp_seq=1 ttl=64 time=0.106 ms
 </screen>
-
-</para>
-
-<para>Networking is implemented using a pair of virtual Ethernet
-devices. The network interface in the container is called
-<literal>eth0</literal>, while the matching interface in the host is
-called <literal>ve-<replaceable>container-name</replaceable></literal>
-(e.g., <literal>ve-foo</literal>).  The container has its own network
-namespace and the <literal>CAP_NET_ADMIN</literal> capability, so it
-can perform arbitrary network configuration such as setting up
-firewall rules, without affecting or having access to the host’s
-network.</para>
-
-<para>By default, containers cannot talk to the outside network. If
-you want that, you should set up Network Address Translation (NAT)
-rules on the host to rewrite container traffic to use your external
-IP address. This can be accomplished using the following configuration
-on the host:
-
+ </para>
+
+ <para>
+  Networking is implemented using a pair of virtual Ethernet devices. The
+  network interface in the container is called <literal>eth0</literal>, while
+  the matching interface in the host is called
+  <literal>ve-<replaceable>container-name</replaceable></literal> (e.g.,
+  <literal>ve-foo</literal>). The container has its own network namespace and
+  the <literal>CAP_NET_ADMIN</literal> capability, so it can perform arbitrary
+  network configuration such as setting up firewall rules, without affecting or
+  having access to the host’s network.
+ </para>
+
+ <para>
+  By default, containers cannot talk to the outside network. If you want that,
+  you should set up Network Address Translation (NAT) rules on the host to
+  rewrite container traffic to use your external IP address. This can be
+  accomplished using the following configuration on the host:
 <programlisting>
-networking.nat.enable = true;
-networking.nat.internalInterfaces = ["ve-+"];
-networking.nat.externalInterface = "eth0";
+<xref linkend="opt-networking.nat.enable"/> = true;
+<xref linkend="opt-networking.nat.internalInterfaces"/> = ["ve-+"];
+<xref linkend="opt-networking.nat.externalInterface"/> = "eth0";
 </programlisting>
-where <literal>eth0</literal> should be replaced with the desired
-external interface. Note that <literal>ve-+</literal> is a wildcard
-that matches all container interfaces.</para>
-
-<para>If you are using Network Manager, you need to explicitly prevent
-it from managing container interfaces:
-
+  where <literal>eth0</literal> should be replaced with the desired external
+  interface. Note that <literal>ve-+</literal> is a wildcard that matches all
+  container interfaces.
+ </para>
+
+ <para>
+  If you are using Network Manager, you need to explicitly prevent it from
+  managing container interfaces:
 <programlisting>
 networking.networkmanager.unmanaged = [ "interface-name:ve-*" ];
 </programlisting>
-</para>
-
+ </para>
 </section>
diff --git a/nixos/doc/manual/administration/containers.xml b/nixos/doc/manual/administration/containers.xml
index 4cd2c8ae556..0d3355e56a5 100644
--- a/nixos/doc/manual/administration/containers.xml
+++ b/nixos/doc/manual/administration/containers.xml
@@ -3,32 +3,32 @@
         xmlns:xi="http://www.w3.org/2001/XInclude"
         version="5.0"
         xml:id="ch-containers">
-
-<title>Container Management</title>
-
-<para>NixOS allows you to easily run other NixOS instances as
-<emphasis>containers</emphasis>. Containers are a light-weight
-approach to virtualisation that runs software in the container at the
-same speed as in the host system. NixOS containers share the Nix store
-of the host, making container creation very efficient.</para>
-
-<warning><para>Currently, NixOS containers are not perfectly isolated
-from the host system. This means that a user with root access to the
-container can do things that affect the host. So you should not give
-container root access to untrusted users.</para></warning>
-
-<para>NixOS containers can be created in two ways: imperatively, using
-the command <command>nixos-container</command>, and declaratively, by
-specifying them in your <filename>configuration.nix</filename>. The
-declarative approach implies that containers get upgraded along with
-your host system when you run <command>nixos-rebuild</command>, which
-is often not what you want. By contrast, in the imperative approach,
-containers are configured and updated independently from the host
-system.</para>
-
-<xi:include href="imperative-containers.xml" />
-<xi:include href="declarative-containers.xml" />
-<xi:include href="container-networking.xml" />
-
+ <title>Container Management</title>
+ <para>
+  NixOS allows you to easily run other NixOS instances as
+  <emphasis>containers</emphasis>. Containers are a light-weight approach to
+  virtualisation that runs software in the container at the same speed as in
+  the host system. NixOS containers share the Nix store of the host, making
+  container creation very efficient.
+ </para>
+ <warning>
+  <para>
+   Currently, NixOS containers are not perfectly isolated from the host system.
+   This means that a user with root access to the container can do things that
+   affect the host. So you should not give container root access to untrusted
+   users.
+  </para>
+ </warning>
+ <para>
+  NixOS containers can be created in two ways: imperatively, using the command
+  <command>nixos-container</command>, and declaratively, by specifying them in
+  your <filename>configuration.nix</filename>. The declarative approach implies
+  that containers get upgraded along with your host system when you run
+  <command>nixos-rebuild</command>, which is often not what you want. By
+  contrast, in the imperative approach, containers are configured and updated
+  independently from the host system.
+ </para>
+ <xi:include href="imperative-containers.xml" />
+ <xi:include href="declarative-containers.xml" />
+ <xi:include href="container-networking.xml" />
 </chapter>
-
diff --git a/nixos/doc/manual/administration/control-groups.xml b/nixos/doc/manual/administration/control-groups.xml
index 0d7b8ae910a..bb8b7f83d9e 100644
--- a/nixos/doc/manual/administration/control-groups.xml
+++ b/nixos/doc/manual/administration/control-groups.xml
@@ -3,20 +3,18 @@
         xmlns:xi="http://www.w3.org/2001/XInclude"
         version="5.0"
         xml:id="sec-cgroups">
-
-<title>Control Groups</title>
-
-<para>To keep track of the processes in a running system, systemd uses
-<emphasis>control groups</emphasis> (cgroups).  A control group is a
-set of processes used to allocate resources such as CPU, memory or I/O
-bandwidth.  There can be multiple control group hierarchies, allowing
-each kind of resource to be managed independently.</para>
-
-<para>The command <command>systemd-cgls</command> lists all control
-groups in the <literal>systemd</literal> hierarchy, which is what
-systemd uses to keep track of the processes belonging to each service
-or user session:
-
+ <title>Control Groups</title>
+ <para>
+  To keep track of the processes in a running system, systemd uses
+  <emphasis>control groups</emphasis> (cgroups). A control group is a set of
+  processes used to allocate resources such as CPU, memory or I/O bandwidth.
+  There can be multiple control group hierarchies, allowing each kind of
+  resource to be managed independently.
+ </para>
+ <para>
+  The command <command>systemd-cgls</command> lists all control groups in the
+  <literal>systemd</literal> hierarchy, which is what systemd uses to keep
+  track of the processes belonging to each service or user session:
 <screen>
 $ systemd-cgls
 ├─user
@@ -34,40 +32,34 @@ $ systemd-cgls
   │ └─2376 dhcpcd --config /nix/store/f8dif8dsi2yaa70n03xir8r653776ka6-dhcpcd.conf
   └─ <replaceable>...</replaceable>
 </screen>
-
-Similarly, <command>systemd-cgls cpu</command> shows the cgroups in
-the CPU hierarchy, which allows per-cgroup CPU scheduling priorities.
-By default, every systemd service gets its own CPU cgroup, while all
-user sessions are in the top-level CPU cgroup.  This ensures, for
-instance, that a thousand run-away processes in the
-<literal>httpd.service</literal> cgroup cannot starve the CPU for one
-process in the <literal>postgresql.service</literal> cgroup.  (By
-contrast, it they were in the same cgroup, then the PostgreSQL process
-would get 1/1001 of the cgroup’s CPU time.)  You can limit a service’s
-CPU share in <filename>configuration.nix</filename>:
-
+  Similarly, <command>systemd-cgls cpu</command> shows the cgroups in the CPU
+  hierarchy, which allows per-cgroup CPU scheduling priorities. By default,
+  every systemd service gets its own CPU cgroup, while all user sessions are in
+  the top-level CPU cgroup. This ensures, for instance, that a thousand
+  run-away processes in the <literal>httpd.service</literal> cgroup cannot
+  starve the CPU for one process in the <literal>postgresql.service</literal>
+  cgroup. (By contrast, it they were in the same cgroup, then the PostgreSQL
+  process would get 1/1001 of the cgroup’s CPU time.) You can limit a
+  service’s CPU share in <filename>configuration.nix</filename>:
 <programlisting>
-systemd.services.httpd.serviceConfig.CPUShares = 512;
+<link linkend="opt-systemd.services._name_.serviceConfig">systemd.services.httpd.serviceConfig</link>.CPUShares = 512;
 </programlisting>
-
-By default, every cgroup has 1024 CPU shares, so this will halve the
-CPU allocation of the <literal>httpd.service</literal> cgroup.</para>
-
-<para>There also is a <literal>memory</literal> hierarchy that
-controls memory allocation limits; by default, all processes are in
-the top-level cgroup, so any service or session can exhaust all
-available memory.  Per-cgroup memory limits can be specified in
-<filename>configuration.nix</filename>; for instance, to limit
-<literal>httpd.service</literal> to 512 MiB of RAM (excluding swap):
-
+  By default, every cgroup has 1024 CPU shares, so this will halve the CPU
+  allocation of the <literal>httpd.service</literal> cgroup.
+ </para>
+ <para>
+  There also is a <literal>memory</literal> hierarchy that controls memory
+  allocation limits; by default, all processes are in the top-level cgroup, so
+  any service or session can exhaust all available memory. Per-cgroup memory
+  limits can be specified in <filename>configuration.nix</filename>; for
+  instance, to limit <literal>httpd.service</literal> to 512 MiB of RAM
+  (excluding swap):
 <programlisting>
-systemd.services.httpd.serviceConfig.MemoryLimit = "512M";
+<link linkend="opt-systemd.services._name_.serviceConfig">systemd.services.httpd.serviceConfig</link>.MemoryLimit = "512M";
 </programlisting>
-
-</para>
-
-<para>The command <command>systemd-cgtop</command> shows a
-continuously updated list of all cgroups with their CPU and memory
-usage.</para>
-
+ </para>
+ <para>
+  The command <command>systemd-cgtop</command> shows a continuously updated
+  list of all cgroups with their CPU and memory usage.
+ </para>
 </chapter>
diff --git a/nixos/doc/manual/administration/declarative-containers.xml b/nixos/doc/manual/administration/declarative-containers.xml
index 94f03a2ee11..2a98fb12623 100644
--- a/nixos/doc/manual/administration/declarative-containers.xml
+++ b/nixos/doc/manual/administration/declarative-containers.xml
@@ -3,58 +3,58 @@
           xmlns:xi="http://www.w3.org/2001/XInclude"
           version="5.0"
           xml:id="sec-declarative-containers">
+ <title>Declarative Container Specification</title>
 
-<title>Declarative Container Specification</title>
-
-<para>You can also specify containers and their configuration in the
-host’s <filename>configuration.nix</filename>.  For example, the
-following specifies that there shall be a container named
-<literal>database</literal> running PostgreSQL:
-
+ <para>
+  You can also specify containers and their configuration in the host’s
+  <filename>configuration.nix</filename>. For example, the following specifies
+  that there shall be a container named <literal>database</literal> running
+  PostgreSQL:
 <programlisting>
 containers.database =
   { config =
       { config, pkgs, ... }:
-      { services.postgresql.enable = true;
-        services.postgresql.package = pkgs.postgresql96;
+      { <xref linkend="opt-services.postgresql.enable"/> = true;
+      <xref linkend="opt-services.postgresql.package"/> = pkgs.postgresql96;
       };
   };
 </programlisting>
-
-If you run <literal>nixos-rebuild switch</literal>, the container will
-be built. If the container was already running, it will be
-updated in place, without rebooting. The container can be configured to
-start automatically by setting <literal>containers.database.autoStart = true</literal>
-in its configuration.</para>
-
-<para>By default, declarative containers share the network namespace
-of the host, meaning that they can listen on (privileged)
-ports. However, they cannot change the network configuration. You can
-give a container its own network as follows:
-
+  If you run <literal>nixos-rebuild switch</literal>, the container will be
+  built. If the container was already running, it will be updated in place,
+  without rebooting. The container can be configured to start automatically by
+  setting <literal>containers.database.autoStart = true</literal> in its
+  configuration.
+ </para>
+
+ <para>
+  By default, declarative containers share the network namespace of the host,
+  meaning that they can listen on (privileged) ports. However, they cannot
+  change the network configuration. You can give a container its own network as
+  follows:
 <programlisting>
-containers.database =
-  { privateNetwork = true;
-    hostAddress = "192.168.100.10";
-    localAddress = "192.168.100.11";
-  };
+containers.database = {
+  <link linkend="opt-containers._name_.privateNetwork">privateNetwork</link> = true;
+  <link linkend="opt-containers._name_.hostAddress">hostAddress</link> = "192.168.100.10";
+  <link linkend="opt-containers._name_.localAddress">localAddress</link> = "192.168.100.11";
+};
 </programlisting>
-
-This gives the container a private virtual Ethernet interface with IP
-address <literal>192.168.100.11</literal>, which is hooked up to a
-virtual Ethernet interface on the host with IP address
-<literal>192.168.100.10</literal>. (See the next section for details
-on container networking.)</para>
-
-<para>To disable the container, just remove it from
-<filename>configuration.nix</filename> and run <literal>nixos-rebuild
-switch</literal>. Note that this will not delete the root directory of
-the container in <literal>/var/lib/containers</literal>. Containers can be
-destroyed using the imperative method: <literal>nixos-container destroy
- foo</literal>.</para>
-
-<para>Declarative containers can be started and stopped using the
-corresponding systemd service, e.g. <literal>systemctl start
-container@database</literal>.</para>
-
+  This gives the container a private virtual Ethernet interface with IP address
+  <literal>192.168.100.11</literal>, which is hooked up to a virtual Ethernet
+  interface on the host with IP address <literal>192.168.100.10</literal>. (See
+  the next section for details on container networking.)
+ </para>
+
+ <para>
+  To disable the container, just remove it from
+  <filename>configuration.nix</filename> and run <literal>nixos-rebuild
+  switch</literal>. Note that this will not delete the root directory of the
+  container in <literal>/var/lib/containers</literal>. Containers can be
+  destroyed using the imperative method: <literal>nixos-container destroy
+  foo</literal>.
+ </para>
+
+ <para>
+  Declarative containers can be started and stopped using the corresponding
+  systemd service, e.g. <literal>systemctl start container@database</literal>.
+ </para>
 </section>
diff --git a/nixos/doc/manual/administration/imperative-containers.xml b/nixos/doc/manual/administration/imperative-containers.xml
index d5d8140e076..9cc7ca3e672 100644
--- a/nixos/doc/manual/administration/imperative-containers.xml
+++ b/nixos/doc/manual/administration/imperative-containers.xml
@@ -3,131 +3,114 @@
           xmlns:xi="http://www.w3.org/2001/XInclude"
           version="5.0"
           xml:id="sec-imperative-containers">
+ <title>Imperative Container Management</title>
 
-<title>Imperative Container Management</title>
-
-<para>We’ll cover imperative container management using
-<command>nixos-container</command> first.
-Be aware that container management is currently only possible
-as <literal>root</literal>.</para>
-
-<para>You create a container with
-identifier <literal>foo</literal> as follows:
+ <para>
+  We’ll cover imperative container management using
+  <command>nixos-container</command> first. Be aware that container management
+  is currently only possible as <literal>root</literal>.
+ </para>
 
+ <para>
+  You create a container with identifier <literal>foo</literal> as follows:
 <screen>
 # nixos-container create foo
 </screen>
-
-This creates the container’s root directory in
-<filename>/var/lib/containers/foo</filename> and a small configuration
-file in <filename>/etc/containers/foo.conf</filename>. It also builds
-the container’s initial system configuration and stores it in
-<filename>/nix/var/nix/profiles/per-container/foo/system</filename>. You
-can modify the initial configuration of the container on the command
-line. For instance, to create a container that has
-<command>sshd</command> running, with the given public key for
-<literal>root</literal>:
-
+  This creates the container’s root directory in
+  <filename>/var/lib/containers/foo</filename> and a small configuration file
+  in <filename>/etc/containers/foo.conf</filename>. It also builds the
+  container’s initial system configuration and stores it in
+  <filename>/nix/var/nix/profiles/per-container/foo/system</filename>. You can
+  modify the initial configuration of the container on the command line. For
+  instance, to create a container that has <command>sshd</command> running,
+  with the given public key for <literal>root</literal>:
 <screen>
 # nixos-container create foo --config '
-  services.openssh.enable = true;
-  users.extraUsers.root.openssh.authorizedKeys.keys = ["ssh-dss AAAAB3N…"];
+  <xref linkend="opt-services.openssh.enable"/> = true;
+  <link linkend="opt-users.users._name__.openssh.authorizedKeys.keys">users.extraUsers.root.openssh.authorizedKeys.keys</link> = ["ssh-dss AAAAB3N…"];
 '
 </screen>
+ </para>
 
-</para>
-
-<para>Creating a container does not start it. To start the container,
-run:
-
+ <para>
+  Creating a container does not start it. To start the container, run:
 <screen>
 # nixos-container start foo
 </screen>
-
-This command will return as soon as the container has booted and has
-reached <literal>multi-user.target</literal>. On the host, the
-container runs within a systemd unit called
-<literal>container@<replaceable>container-name</replaceable>.service</literal>.
-Thus, if something went wrong, you can get status info using
-<command>systemctl</command>:
-
+  This command will return as soon as the container has booted and has reached
+  <literal>multi-user.target</literal>. On the host, the container runs within
+  a systemd unit called
+  <literal>container@<replaceable>container-name</replaceable>.service</literal>.
+  Thus, if something went wrong, you can get status info using
+  <command>systemctl</command>:
 <screen>
 # systemctl status container@foo
 </screen>
+ </para>
 
-</para>
-
-<para>If the container has started successfully, you can log in as
-root using the <command>root-login</command> operation:
-
+ <para>
+  If the container has started successfully, you can log in as root using the
+  <command>root-login</command> operation:
 <screen>
 # nixos-container root-login foo
 [root@foo:~]#
 </screen>
-
-Note that only root on the host can do this (since there is no
-authentication).  You can also get a regular login prompt using the
-<command>login</command> operation, which is available to all users on
-the host:
-
+  Note that only root on the host can do this (since there is no
+  authentication). You can also get a regular login prompt using the
+  <command>login</command> operation, which is available to all users on the
+  host:
 <screen>
 # nixos-container login foo
 foo login: alice
 Password: ***
 </screen>
-
-With <command>nixos-container run</command>, you can execute arbitrary
-commands in the container:
-
+  With <command>nixos-container run</command>, you can execute arbitrary
+  commands in the container:
 <screen>
 # nixos-container run foo -- uname -a
 Linux foo 3.4.82 #1-NixOS SMP Thu Mar 20 14:44:05 UTC 2014 x86_64 GNU/Linux
 </screen>
+ </para>
 
-</para>
-
-<para>There are several ways to change the configuration of the
-container. First, on the host, you can edit
-<literal>/var/lib/container/<replaceable>name</replaceable>/etc/nixos/configuration.nix</literal>,
-and run
-
+ <para>
+  There are several ways to change the configuration of the container. First,
+  on the host, you can edit
+  <literal>/var/lib/container/<replaceable>name</replaceable>/etc/nixos/configuration.nix</literal>,
+  and run
 <screen>
 # nixos-container update foo
 </screen>
-
-This will build and activate the new configuration. You can also
-specify a new configuration on the command line:
-
+  This will build and activate the new configuration. You can also specify a
+  new configuration on the command line:
 <screen>
 # nixos-container update foo --config '
-  services.httpd.enable = true;
-  services.httpd.adminAddr = "foo@example.org";
-  networking.firewall.allowedTCPPorts = [ 80 ];
+  <xref linkend="opt-services.httpd.enable"/> = true;
+  <xref linkend="opt-services.httpd.adminAddr"/> = "foo@example.org";
+  <xref linkend="opt-networking.firewall.allowedTCPPorts"/> = [ 80 ];
 '
 
 # curl http://$(nixos-container show-ip foo)/
 &lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">…
 </screen>
-
-However, note that this will overwrite the container’s
-<filename>/etc/nixos/configuration.nix</filename>.</para>
-
-<para>Alternatively, you can change the configuration from within the
-container itself by running <command>nixos-rebuild switch</command>
-inside the container. Note that the container by default does not have
-a copy of the NixOS channel, so you should run <command>nix-channel
---update</command> first.</para>
-
-<para>Containers can be stopped and started using
-<literal>nixos-container stop</literal> and <literal>nixos-container
-start</literal>, respectively, or by using
-<command>systemctl</command> on the container’s service unit. To
-destroy a container, including its file system, do
-
+  However, note that this will overwrite the container’s
+  <filename>/etc/nixos/configuration.nix</filename>.
+ </para>
+
+ <para>
+  Alternatively, you can change the configuration from within the container
+  itself by running <command>nixos-rebuild switch</command> inside the
+  container. Note that the container by default does not have a copy of the
+  NixOS channel, so you should run <command>nix-channel --update</command>
+  first.
+ </para>
+
+ <para>
+  Containers can be stopped and started using <literal>nixos-container
+  stop</literal> and <literal>nixos-container start</literal>, respectively, or
+  by using <command>systemctl</command> on the container’s service unit. To
+  destroy a container, including its file system, do
 <screen>
 # nixos-container destroy foo
 </screen>
-
-</para>
-
+ </para>
 </section>
diff --git a/nixos/doc/manual/administration/logging.xml b/nixos/doc/manual/administration/logging.xml
index 1d5df7770e2..a41936b373d 100644
--- a/nixos/doc/manual/administration/logging.xml
+++ b/nixos/doc/manual/administration/logging.xml
@@ -3,26 +3,20 @@
         xmlns:xi="http://www.w3.org/2001/XInclude"
         version="5.0"
         xml:id="sec-logging">
-
-<title>Logging</title>
-
-<para>System-wide logging is provided by systemd’s
-<emphasis>journal</emphasis>, which subsumes traditional logging
-daemons such as syslogd and klogd.  Log entries are kept in binary
-files in <filename>/var/log/journal/</filename>.  The command
-<literal>journalctl</literal> allows you to see the contents of the
-journal.  For example,
-
+ <title>Logging</title>
+ <para>
+  System-wide logging is provided by systemd’s <emphasis>journal</emphasis>,
+  which subsumes traditional logging daemons such as syslogd and klogd. Log
+  entries are kept in binary files in <filename>/var/log/journal/</filename>.
+  The command <literal>journalctl</literal> allows you to see the contents of
+  the journal. For example,
 <screen>
 $ journalctl -b
 </screen>
-
-shows all journal entries since the last reboot.  (The output of
-<command>journalctl</command> is piped into <command>less</command> by
-default.)  You can use various options and match operators to restrict
-output to messages of interest.  For instance, to get all messages
-from PostgreSQL:
-
+  shows all journal entries since the last reboot. (The output of
+  <command>journalctl</command> is piped into <command>less</command> by
+  default.) You can use various options and match operators to restrict output
+  to messages of interest. For instance, to get all messages from PostgreSQL:
 <screen>
 $ journalctl -u postgresql.service
 -- Logs begin at Mon, 2013-01-07 13:28:01 CET, end at Tue, 2013-01-08 01:09:57 CET. --
@@ -32,21 +26,18 @@ Jan 07 15:44:14 hagbard postgres[2681]: [2-1] LOG:  database system is shut down
 Jan 07 15:45:10 hagbard postgres[2532]: [1-1] LOG:  database system was shut down at 2013-01-07 15:44:14 CET
 Jan 07 15:45:13 hagbard postgres[2500]: [1-1] LOG:  database system is ready to accept connections
 </screen>
-
-Or to get all messages since the last reboot that have at least a
-“critical” severity level:
-
+  Or to get all messages since the last reboot that have at least a
+  “critical” severity level:
 <screen>
 $ journalctl -b -p crit
 Dec 17 21:08:06 mandark sudo[3673]: pam_unix(sudo:auth): auth could not identify password for [alice]
 Dec 29 01:30:22 mandark kernel[6131]: [1053513.909444] CPU6: Core temperature above threshold, cpu clock throttled (total events = 1)
 </screen>
-
-</para>
-
-<para>The system journal is readable by root and by users in the
-<literal>wheel</literal> and <literal>systemd-journal</literal>
-groups.  All users have a private journal that can be read using
-<command>journalctl</command>.</para>
-
-</chapter>
\ No newline at end of file
+ </para>
+ <para>
+  The system journal is readable by root and by users in the
+  <literal>wheel</literal> and <literal>systemd-journal</literal> groups. All
+  users have a private journal that can be read using
+  <command>journalctl</command>.
+ </para>
+</chapter>
diff --git a/nixos/doc/manual/administration/maintenance-mode.xml b/nixos/doc/manual/administration/maintenance-mode.xml
index 17a1609e557..71e3f9ea665 100644
--- a/nixos/doc/manual/administration/maintenance-mode.xml
+++ b/nixos/doc/manual/administration/maintenance-mode.xml
@@ -3,16 +3,14 @@
         xmlns:xi="http://www.w3.org/2001/XInclude"
         version="5.0"
         xml:id="sec-maintenance-mode">
+ <title>Maintenance Mode</title>
 
-<title>Maintenance Mode</title>
-
-<para>You can enter rescue mode by running:
-
+ <para>
+  You can enter rescue mode by running:
 <screen>
 # systemctl rescue</screen>
-
-This will eventually give you a single-user root shell.  Systemd will
-stop (almost) all system services.  To get out of maintenance mode,
-just exit from the rescue shell.</para>
-
+  This will eventually give you a single-user root shell. Systemd will stop
+  (almost) all system services. To get out of maintenance mode, just exit from
+  the rescue shell.
+ </para>
 </section>
diff --git a/nixos/doc/manual/administration/network-problems.xml b/nixos/doc/manual/administration/network-problems.xml
index 91f9eb4e22c..570f5835884 100644
--- a/nixos/doc/manual/administration/network-problems.xml
+++ b/nixos/doc/manual/administration/network-problems.xml
@@ -3,31 +3,25 @@
         xmlns:xi="http://www.w3.org/2001/XInclude"
         version="5.0"
         xml:id="sec-nix-network-issues">
+ <title>Network Problems</title>
 
-<title>Network Problems</title>
-
-<para>Nix uses a so-called <emphasis>binary cache</emphasis> to
-optimise building a package from source into downloading it as a
-pre-built binary.  That is, whenever a command like
-<command>nixos-rebuild</command> needs a path in the Nix store, Nix
-will try to download that path from the Internet rather than build it
-from source.  The default binary cache is
-<uri>https://cache.nixos.org/</uri>.  If this cache is unreachable,
-Nix operations may take a long time due to HTTP connection timeouts.
-You can disable the use of the binary cache by adding <option>--option
-use-binary-caches false</option>, e.g.
-
+ <para>
+  Nix uses a so-called <emphasis>binary cache</emphasis> to optimise building a
+  package from source into downloading it as a pre-built binary. That is,
+  whenever a command like <command>nixos-rebuild</command> needs a path in the
+  Nix store, Nix will try to download that path from the Internet rather than
+  build it from source. The default binary cache is
+  <uri>https://cache.nixos.org/</uri>. If this cache is unreachable, Nix
+  operations may take a long time due to HTTP connection timeouts. You can
+  disable the use of the binary cache by adding <option>--option
+  use-binary-caches false</option>, e.g.
 <screen>
 # nixos-rebuild switch --option use-binary-caches false
 </screen>
-
-If you have an alternative binary cache at your disposal, you can use
-it instead:
-
+  If you have an alternative binary cache at your disposal, you can use it
+  instead:
 <screen>
 # nixos-rebuild switch --option binary-caches http://my-cache.example.org/
 </screen>
-
-</para>
-
+ </para>
 </section>
diff --git a/nixos/doc/manual/administration/rebooting.xml b/nixos/doc/manual/administration/rebooting.xml
index 23f3a3219c6..a5abd6f0258 100644
--- a/nixos/doc/manual/administration/rebooting.xml
+++ b/nixos/doc/manual/administration/rebooting.xml
@@ -3,42 +3,33 @@
         xmlns:xi="http://www.w3.org/2001/XInclude"
         version="5.0"
         xml:id="sec-rebooting">
-
-<title>Rebooting and Shutting Down</title>
-
-<para>The system can be shut down (and automatically powered off) by
-doing:
-
+ <title>Rebooting and Shutting Down</title>
+ <para>
+  The system can be shut down (and automatically powered off) by doing:
 <screen>
 # shutdown
 </screen>
-
-This is equivalent to running <command>systemctl
-poweroff</command>.</para>
-
-<para>To reboot the system, run
-
+  This is equivalent to running <command>systemctl poweroff</command>.
+ </para>
+ <para>
+  To reboot the system, run
 <screen>
 # reboot
 </screen>
-
-which is equivalent to <command>systemctl reboot</command>.
-Alternatively, you can quickly reboot the system using
-<literal>kexec</literal>, which bypasses the BIOS by directly loading
-the new kernel into memory:
-
+  which is equivalent to <command>systemctl reboot</command>. Alternatively,
+  you can quickly reboot the system using <literal>kexec</literal>, which
+  bypasses the BIOS by directly loading the new kernel into memory:
 <screen>
 # systemctl kexec
 </screen>
-
-</para>
-
-<para>The machine can be suspended to RAM (if supported) using
-<command>systemctl suspend</command>, and suspended to disk using
-<command>systemctl hibernate</command>.</para>
-
-<para>These commands can be run by any user who is logged in locally,
-i.e. on a virtual console or in X11; otherwise, the user is asked for
-authentication.</para>
-
+ </para>
+ <para>
+  The machine can be suspended to RAM (if supported) using <command>systemctl
+  suspend</command>, and suspended to disk using <command>systemctl
+  hibernate</command>.
+ </para>
+ <para>
+  These commands can be run by any user who is logged in locally, i.e. on a
+  virtual console or in X11; otherwise, the user is asked for authentication.
+ </para>
 </chapter>
diff --git a/nixos/doc/manual/administration/rollback.xml b/nixos/doc/manual/administration/rollback.xml
index ae621f33de2..07c6acaa469 100644
--- a/nixos/doc/manual/administration/rollback.xml
+++ b/nixos/doc/manual/administration/rollback.xml
@@ -3,46 +3,39 @@
         xmlns:xi="http://www.w3.org/2001/XInclude"
         version="5.0"
         xml:id="sec-rollback">
-
-<title>Rolling Back Configuration Changes</title>
-
-<para>After running <command>nixos-rebuild</command> to switch to a
-new configuration, you may find that the new configuration doesn’t
-work very well.  In that case, there are several ways to return to a
-previous configuration.</para>
-
-<para>First, the GRUB boot manager allows you to boot into any
-previous configuration that hasn’t been garbage-collected.  These
-configurations can be found under the GRUB submenu “NixOS - All
-configurations”.  This is especially useful if the new configuration
-fails to boot.  After the system has booted, you can make the selected
-configuration the default for subsequent boots:
-
+ <title>Rolling Back Configuration Changes</title>
+
+ <para>
+  After running <command>nixos-rebuild</command> to switch to a new
+  configuration, you may find that the new configuration doesn’t work very
+  well. In that case, there are several ways to return to a previous
+  configuration.
+ </para>
+
+ <para>
+  First, the GRUB boot manager allows you to boot into any previous
+  configuration that hasn’t been garbage-collected. These configurations can
+  be found under the GRUB submenu “NixOS - All configurations”. This is
+  especially useful if the new configuration fails to boot. After the system
+  has booted, you can make the selected configuration the default for
+  subsequent boots:
 <screen>
 # /run/current-system/bin/switch-to-configuration boot</screen>
+ </para>
 
-</para>
-
-<para>Second, you can switch to the previous configuration in a running
-system:
-
+ <para>
+  Second, you can switch to the previous configuration in a running system:
 <screen>
 # nixos-rebuild switch --rollback</screen>
-
-This is equivalent to running:
-
+  This is equivalent to running:
 <screen>
 # /nix/var/nix/profiles/system-<replaceable>N</replaceable>-link/bin/switch-to-configuration switch</screen>
-
-where <replaceable>N</replaceable> is the number of the NixOS system
-configuration.  To get a list of the available configurations, do:
-
+  where <replaceable>N</replaceable> is the number of the NixOS system
+  configuration. To get a list of the available configurations, do:
 <screen>
 $ ls -l /nix/var/nix/profiles/system-*-link
 <replaceable>...</replaceable>
 lrwxrwxrwx 1 root root 78 Aug 12 13:54 /nix/var/nix/profiles/system-268-link -> /nix/store/202b...-nixos-13.07pre4932_5a676e4-4be1055
 </screen>
-
-</para>
-
+ </para>
 </section>
diff --git a/nixos/doc/manual/administration/running.xml b/nixos/doc/manual/administration/running.xml
index 9091511ed52..786dd5e2390 100644
--- a/nixos/doc/manual/administration/running.xml
+++ b/nixos/doc/manual/administration/running.xml
@@ -3,22 +3,19 @@
       xmlns:xi="http://www.w3.org/2001/XInclude"
       version="5.0"
       xml:id="ch-running">
-
-<title>Administration</title>
-
-<partintro>
-<para>This chapter describes various aspects of managing a running
-NixOS system, such as how to use the <command>systemd</command>
-service manager.</para>
-</partintro>
-
-<xi:include href="service-mgmt.xml" />
-<xi:include href="rebooting.xml" />
-<xi:include href="user-sessions.xml" />
-<xi:include href="control-groups.xml" />
-<xi:include href="logging.xml" />
-<xi:include href="cleaning-store.xml" />
-<xi:include href="containers.xml" />
-<xi:include href="troubleshooting.xml" />
-
+ <title>Administration</title>
+ <partintro>
+  <para>
+   This chapter describes various aspects of managing a running NixOS system,
+   such as how to use the <command>systemd</command> service manager.
+  </para>
+ </partintro>
+ <xi:include href="service-mgmt.xml" />
+ <xi:include href="rebooting.xml" />
+ <xi:include href="user-sessions.xml" />
+ <xi:include href="control-groups.xml" />
+ <xi:include href="logging.xml" />
+ <xi:include href="cleaning-store.xml" />
+ <xi:include href="containers.xml" />
+ <xi:include href="troubleshooting.xml" />
 </part>
diff --git a/nixos/doc/manual/administration/service-mgmt.xml b/nixos/doc/manual/administration/service-mgmt.xml
index 1627c7a2fde..0c2085c8155 100644
--- a/nixos/doc/manual/administration/service-mgmt.xml
+++ b/nixos/doc/manual/administration/service-mgmt.xml
@@ -3,26 +3,23 @@
          xmlns:xi="http://www.w3.org/2001/XInclude"
          version="5.0"
          xml:id="sec-systemctl">
-
-<title>Service Management</title>
-
-<para>In NixOS, all system services are started and monitored using
-the systemd program.  Systemd is the “init” process of the system
-(i.e. PID 1), the parent of all other processes.  It manages a set of
-so-called “units”, which can be things like system services
-(programs), but also mount points, swap files, devices, targets
-(groups of units) and more.  Units can have complex dependencies; for
-instance, one unit can require that another unit must be successfully
-started before the first unit can be started.  When the system boots,
-it starts a unit named <literal>default.target</literal>; the
-dependencies of this unit cause all system services to be started,
-file systems to be mounted, swap files to be activated, and so
-on.</para>
-
-<para>The command <command>systemctl</command> is the main way to
-interact with <command>systemd</command>.  Without any arguments, it
-shows the status of active units:
-
+ <title>Service Management</title>
+ <para>
+  In NixOS, all system services are started and monitored using the systemd
+  program. Systemd is the “init” process of the system (i.e. PID 1), the
+  parent of all other processes. It manages a set of so-called “units”,
+  which can be things like system services (programs), but also mount points,
+  swap files, devices, targets (groups of units) and more. Units can have
+  complex dependencies; for instance, one unit can require that another unit
+  must be successfully started before the first unit can be started. When the
+  system boots, it starts a unit named <literal>default.target</literal>; the
+  dependencies of this unit cause all system services to be started, file
+  systems to be mounted, swap files to be activated, and so on.
+ </para>
+ <para>
+  The command <command>systemctl</command> is the main way to interact with
+  <command>systemd</command>. Without any arguments, it shows the status of
+  active units:
 <screen>
 $ systemctl
 -.mount          loaded active mounted   /
@@ -31,12 +28,10 @@ sshd.service     loaded active running   SSH Daemon
 graphical.target loaded active active    Graphical Interface
 <replaceable>...</replaceable>
 </screen>
-
-</para>
-
-<para>You can ask for detailed status information about a unit, for
-instance, the PostgreSQL database service:
-
+ </para>
+ <para>
+  You can ask for detailed status information about a unit, for instance, the
+  PostgreSQL database service:
 <screen>
 $ systemctl status postgresql.service
 postgresql.service - PostgreSQL Server
@@ -56,28 +51,22 @@ Jan 07 15:55:57 hagbard postgres[2390]: [1-1] LOG:  database system is ready to
 Jan 07 15:55:57 hagbard postgres[2420]: [1-1] LOG:  autovacuum launcher started
 Jan 07 15:55:57 hagbard systemd[1]: Started PostgreSQL Server.
 </screen>
-
-Note that this shows the status of the unit (active and running), all
-the processes belonging to the service, as well as the most recent log
-messages from the service.
-
-</para>
-
-<para>Units can be stopped, started or restarted:
-
+  Note that this shows the status of the unit (active and running), all the
+  processes belonging to the service, as well as the most recent log messages
+  from the service.
+ </para>
+ <para>
+  Units can be stopped, started or restarted:
 <screen>
 # systemctl stop postgresql.service
 # systemctl start postgresql.service
 # systemctl restart postgresql.service
 </screen>
-
-These operations are synchronous: they wait until the service has
-finished starting or stopping (or has failed).  Starting a unit will
-cause the dependencies of that unit to be started as well (if
-necessary).</para>
-
+  These operations are synchronous: they wait until the service has finished
+  starting or stopping (or has failed). Starting a unit will cause the
+  dependencies of that unit to be started as well (if necessary).
+ </para>
 <!-- - cgroups: each service and user session is a cgroup
 
 - cgroup resource management -->
-
 </chapter>
diff --git a/nixos/doc/manual/administration/store-corruption.xml b/nixos/doc/manual/administration/store-corruption.xml
index 9f567042b72..a4ca3b651e2 100644
--- a/nixos/doc/manual/administration/store-corruption.xml
+++ b/nixos/doc/manual/administration/store-corruption.xml
@@ -3,35 +3,34 @@
         xmlns:xi="http://www.w3.org/2001/XInclude"
         version="5.0"
         xml:id="sec-nix-store-corruption">
-
-<title>Nix Store Corruption</title>
-
-<para>After a system crash, it’s possible for files in the Nix store
-to become corrupted.  (For instance, the Ext4 file system has the
-tendency to replace un-synced files with zero bytes.)  NixOS tries
-hard to prevent this from happening: it performs a
-<command>sync</command> before switching to a new configuration, and
-Nix’s database is fully transactional.  If corruption still occurs,
-you may be able to fix it automatically.</para>
-
-<para>If the corruption is in a path in the closure of the NixOS
-system configuration, you can fix it by doing
-
+ <title>Nix Store Corruption</title>
+
+ <para>
+  After a system crash, it’s possible for files in the Nix store to become
+  corrupted. (For instance, the Ext4 file system has the tendency to replace
+  un-synced files with zero bytes.) NixOS tries hard to prevent this from
+  happening: it performs a <command>sync</command> before switching to a new
+  configuration, and Nix’s database is fully transactional. If corruption
+  still occurs, you may be able to fix it automatically.
+ </para>
+
+ <para>
+  If the corruption is in a path in the closure of the NixOS system
+  configuration, you can fix it by doing
 <screen>
 # nixos-rebuild switch --repair
 </screen>
+  This will cause Nix to check every path in the closure, and if its
+  cryptographic hash differs from the hash recorded in Nix’s database, the
+  path is rebuilt or redownloaded.
+ </para>
 
-This will cause Nix to check every path in the closure, and if its
-cryptographic hash differs from the hash recorded in Nix’s database,
-the path is rebuilt or redownloaded.</para>
-
-<para>You can also scan the entire Nix store for corrupt paths:
-
+ <para>
+  You can also scan the entire Nix store for corrupt paths:
 <screen>
 # nix-store --verify --check-contents --repair
 </screen>
-
-Any corrupt paths will be redownloaded if they’re available in a
-binary cache; otherwise, they cannot be repaired.</para>
-
+  Any corrupt paths will be redownloaded if they’re available in a binary
+  cache; otherwise, they cannot be repaired.
+ </para>
 </section>
diff --git a/nixos/doc/manual/administration/troubleshooting.xml b/nixos/doc/manual/administration/troubleshooting.xml
index 351fb188331..6496e7bde38 100644
--- a/nixos/doc/manual/administration/troubleshooting.xml
+++ b/nixos/doc/manual/administration/troubleshooting.xml
@@ -3,16 +3,14 @@
         xmlns:xi="http://www.w3.org/2001/XInclude"
         version="5.0"
         xml:id="ch-troubleshooting">
-
-<title>Troubleshooting</title>
-
-<para>This chapter describes solutions to common problems you might
-encounter when you manage your NixOS system.</para>
-
-<xi:include href="boot-problems.xml" />
-<xi:include href="maintenance-mode.xml" />
-<xi:include href="rollback.xml" />
-<xi:include href="store-corruption.xml" />
-<xi:include href="network-problems.xml" />
-
+ <title>Troubleshooting</title>
+ <para>
+  This chapter describes solutions to common problems you might encounter when
+  you manage your NixOS system.
+ </para>
+ <xi:include href="boot-problems.xml" />
+ <xi:include href="maintenance-mode.xml" />
+ <xi:include href="rollback.xml" />
+ <xi:include href="store-corruption.xml" />
+ <xi:include href="network-problems.xml" />
 </chapter>
diff --git a/nixos/doc/manual/administration/user-sessions.xml b/nixos/doc/manual/administration/user-sessions.xml
index 0a7eb8cd123..1d95cfb22b6 100644
--- a/nixos/doc/manual/administration/user-sessions.xml
+++ b/nixos/doc/manual/administration/user-sessions.xml
@@ -3,14 +3,12 @@
         xmlns:xi="http://www.w3.org/2001/XInclude"
         version="5.0"
         xml:id="sec-user-sessions">
-
-<title>User Sessions</title>
-
-<para>Systemd keeps track of all users who are logged into the system
-(e.g. on a virtual console or remotely via SSH).  The command
-<command>loginctl</command> allows querying and manipulating user
-sessions.  For instance, to list all user sessions:
-
+ <title>User Sessions</title>
+ <para>
+  Systemd keeps track of all users who are logged into the system (e.g. on a
+  virtual console or remotely via SSH). The command <command>loginctl</command>
+  allows querying and manipulating user sessions. For instance, to list all
+  user sessions:
 <screen>
 $ loginctl
    SESSION        UID USER             SEAT
@@ -18,12 +16,10 @@ $ loginctl
         c3          0 root             seat0
         c4        500 alice
 </screen>
-
-This shows that two users are logged in locally, while another is
-logged in remotely.  (“Seats” are essentially the combinations of
-displays and input devices attached to the system; usually, there is
-only one seat.)  To get information about a session:
-
+  This shows that two users are logged in locally, while another is logged in
+  remotely. (“Seats” are essentially the combinations of displays and input
+  devices attached to the system; usually, there is only one seat.) To get
+  information about a session:
 <screen>
 $ loginctl session-status c3
 c3 - root (0)
@@ -38,16 +34,12 @@ c3 - root (0)
                   ├─10339 -bash
                   └─10355 w3m nixos.org
 </screen>
-
-This shows that the user is logged in on virtual console 3.  It also
-lists the processes belonging to this session.  Since systemd keeps
-track of this, you can terminate a session in a way that ensures that
-all the session’s processes are gone:
-
+  This shows that the user is logged in on virtual console 3. It also lists the
+  processes belonging to this session. Since systemd keeps track of this, you
+  can terminate a session in a way that ensures that all the session’s
+  processes are gone:
 <screen>
 # loginctl terminate-session c3
 </screen>
-
-</para>
-
+ </para>
 </chapter>
diff --git a/nixos/doc/manual/configuration/abstractions.xml b/nixos/doc/manual/configuration/abstractions.xml
index cbd54bca62f..5bf0635cc1a 100644
--- a/nixos/doc/manual/configuration/abstractions.xml
+++ b/nixos/doc/manual/configuration/abstractions.xml
@@ -3,15 +3,14 @@
          xmlns:xi="http://www.w3.org/2001/XInclude"
          version="5.0"
          xml:id="sec-module-abstractions">
+ <title>Abstractions</title>
 
-<title>Abstractions</title>
-
-<para>If you find yourself repeating yourself over and over, it’s time
-to abstract.  Take, for instance, this Apache HTTP Server configuration:
-
+ <para>
+  If you find yourself repeating yourself over and over, it’s time to
+  abstract. Take, for instance, this Apache HTTP Server configuration:
 <programlisting>
 {
-  services.httpd.virtualHosts =
+  <xref linkend="opt-services.httpd.virtualHosts"/> =
     [ { hostName = "example.org";
         documentRoot = "/webroot";
         adminAddr = "alice@example.org";
@@ -28,11 +27,9 @@ to abstract.  Take, for instance, this Apache HTTP Server configuration:
     ];
 }
 </programlisting>
-
-It defines two virtual hosts with nearly identical configuration; the
-only difference is that the second one has SSL enabled.  To prevent
-this duplication, we can use a <literal>let</literal>:
-
+  It defines two virtual hosts with nearly identical configuration; the only
+  difference is that the second one has SSL enabled. To prevent this
+  duplication, we can use a <literal>let</literal>:
 <programlisting>
 let
   exampleOrgCommon =
@@ -43,7 +40,7 @@ let
     };
 in
 {
-  services.httpd.virtualHosts =
+  <xref linkend="opt-services.httpd.virtualHosts"/> =
     [ exampleOrgCommon
       (exampleOrgCommon // {
         enableSSL = true;
@@ -53,40 +50,38 @@ in
     ];
 }
 </programlisting>
-
-The <literal>let exampleOrgCommon =
-<replaceable>...</replaceable></literal> defines a variable named
-<literal>exampleOrgCommon</literal>.  The <literal>//</literal>
-operator merges two attribute sets, so the configuration of the second
-virtual host is the set <literal>exampleOrgCommon</literal> extended
-with the SSL options.</para>
-
-<para>You can write a <literal>let</literal> wherever an expression is
-allowed.  Thus, you also could have written:
-
+  The <literal>let exampleOrgCommon = <replaceable>...</replaceable></literal>
+  defines a variable named <literal>exampleOrgCommon</literal>. The
+  <literal>//</literal> operator merges two attribute sets, so the
+  configuration of the second virtual host is the set
+  <literal>exampleOrgCommon</literal> extended with the SSL options.
+ </para>
+
+ <para>
+  You can write a <literal>let</literal> wherever an expression is allowed.
+  Thus, you also could have written:
 <programlisting>
 {
-  services.httpd.virtualHosts =
+  <xref linkend="opt-services.httpd.virtualHosts"/> =
     let exampleOrgCommon = <replaceable>...</replaceable>; in
     [ exampleOrgCommon
       (exampleOrgCommon // { <replaceable>...</replaceable> })
     ];
 }
 </programlisting>
-
-but not <literal>{ let exampleOrgCommon =
-<replaceable>...</replaceable>; in <replaceable>...</replaceable>;
-}</literal> since attributes (as opposed to attribute values) are not
-expressions.</para>
-
-<para><emphasis>Functions</emphasis> provide another method of
-abstraction.  For instance, suppose that we want to generate lots of
-different virtual hosts, all with identical configuration except for
-the host name.  This can be done as follows:
-
+  but not <literal>{ let exampleOrgCommon = <replaceable>...</replaceable>; in
+  <replaceable>...</replaceable>; }</literal> since attributes (as opposed to
+  attribute values) are not expressions.
+ </para>
+
+ <para>
+  <emphasis>Functions</emphasis> provide another method of abstraction. For
+  instance, suppose that we want to generate lots of different virtual hosts,
+  all with identical configuration except for the host name. This can be done
+  as follows:
 <programlisting>
 {
-  services.httpd.virtualHosts =
+  <xref linkend="opt-services.httpd.virtualHosts"/> =
     let
       makeVirtualHost = name:
         { hostName = name;
@@ -101,38 +96,36 @@ the host name.  This can be done as follows:
       ];
 }
 </programlisting>
-
-Here, <varname>makeVirtualHost</varname> is a function that takes a
-single argument <literal>name</literal> and returns the configuration
-for a virtual host.  That function is then called for several names to
-produce the list of virtual host configurations.</para>
-
-<para>We can further improve on this by using the function
-<varname>map</varname>, which applies another function to every
-element in a list:
-
+  Here, <varname>makeVirtualHost</varname> is a function that takes a single
+  argument <literal>name</literal> and returns the configuration for a virtual
+  host. That function is then called for several names to produce the list of
+  virtual host configurations.
+ </para>
+
+ <para>
+  We can further improve on this by using the function <varname>map</varname>,
+  which applies another function to every element in a list:
 <programlisting>
 {
-  services.httpd.virtualHosts =
+  <xref linkend="opt-services.httpd.virtualHosts"/> =
     let
       makeVirtualHost = <replaceable>...</replaceable>;
     in map makeVirtualHost
       [ "example.org" "example.com" "example.gov" "example.nl" ];
 }
 </programlisting>
-
-(The function <literal>map</literal> is called a
-<emphasis>higher-order function</emphasis> because it takes another
-function as an argument.)</para>
-
-<para>What if you need more than one argument, for instance, if we
-want to use a different <literal>documentRoot</literal> for each
-virtual host?  Then we can make <varname>makeVirtualHost</varname> a
-function that takes a <emphasis>set</emphasis> as its argument, like this:
-
+  (The function <literal>map</literal> is called a <emphasis>higher-order
+  function</emphasis> because it takes another function as an argument.)
+ </para>
+
+ <para>
+  What if you need more than one argument, for instance, if we want to use a
+  different <literal>documentRoot</literal> for each virtual host? Then we can
+  make <varname>makeVirtualHost</varname> a function that takes a
+  <emphasis>set</emphasis> as its argument, like this:
 <programlisting>
 {
-  services.httpd.virtualHosts =
+  <xref linkend="opt-services.httpd.virtualHosts"/> =
     let
       makeVirtualHost = { name, root }:
         { hostName = name;
@@ -147,10 +140,9 @@ function that takes a <emphasis>set</emphasis> as its argument, like this:
       ];
 }
 </programlisting>
-
-But in this case (where every root is a subdirectory of
-<filename>/sites</filename> named after the virtual host), it would
-have been shorter to define <varname>makeVirtualHost</varname> as
+  But in this case (where every root is a subdirectory of
+  <filename>/sites</filename> named after the virtual host), it would have been
+  shorter to define <varname>makeVirtualHost</varname> as
 <programlisting>
 makeVirtualHost = name:
   { hostName = name;
@@ -158,9 +150,7 @@ makeVirtualHost = name:
     adminAddr = "alice@example.org";
   };
 </programlisting>
-
-Here, the construct
-<literal>${<replaceable>...</replaceable>}</literal> allows the result
-of an expression to be spliced into a string.</para>
-
+  Here, the construct <literal>${<replaceable>...</replaceable>}</literal>
+  allows the result of an expression to be spliced into a string.
+ </para>
 </section>
diff --git a/nixos/doc/manual/configuration/ad-hoc-network-config.xml b/nixos/doc/manual/configuration/ad-hoc-network-config.xml
index 26a572ba1fb..00e595c7cb7 100644
--- a/nixos/doc/manual/configuration/ad-hoc-network-config.xml
+++ b/nixos/doc/manual/configuration/ad-hoc-network-config.xml
@@ -3,22 +3,18 @@
          xmlns:xi="http://www.w3.org/2001/XInclude"
          version="5.0"
          xml:id="ad-hoc-network-config">
+ <title>Ad-Hoc Configuration</title>
 
-<title>Ad-Hoc Configuration</title>
-
-<para>You can use <option>networking.localCommands</option> to specify
-shell commands to be run at the end of
-<literal>network-setup.service</literal>.  This is useful for doing
-network configuration not covered by the existing NixOS modules.  For
-instance, to statically configure an IPv6 address:
-
+ <para>
+  You can use <xref linkend="opt-networking.localCommands"/> to specify shell
+  commands to be run at the end of <literal>network-setup.service</literal>.
+  This is useful for doing network configuration not covered by the existing
+  NixOS modules. For instance, to statically configure an IPv6 address:
 <programlisting>
-networking.localCommands =
+<xref linkend="opt-networking.localCommands"/> =
   ''
     ip -6 addr add 2001:610:685:1::1/64 dev eth0
   '';
 </programlisting>
-
-</para>
-
+ </para>
 </section>
diff --git a/nixos/doc/manual/configuration/ad-hoc-packages.xml b/nixos/doc/manual/configuration/ad-hoc-packages.xml
index a147291c4f3..19159d8db5b 100644
--- a/nixos/doc/manual/configuration/ad-hoc-packages.xml
+++ b/nixos/doc/manual/configuration/ad-hoc-packages.xml
@@ -3,61 +3,59 @@
          xmlns:xi="http://www.w3.org/2001/XInclude"
          version="5.0"
          xml:id="sec-ad-hoc-packages">
+ <title>Ad-Hoc Package Management</title>
 
-<title>Ad-Hoc Package Management</title>
-
-<para>With the command <command>nix-env</command>, you can install and
-uninstall packages from the command line.  For instance, to install
-Mozilla Thunderbird:
-
+ <para>
+  With the command <command>nix-env</command>, you can install and uninstall
+  packages from the command line. For instance, to install Mozilla Thunderbird:
 <screen>
 $ nix-env -iA nixos.thunderbird</screen>
-
-If you invoke this as root, the package is installed in the Nix
-profile <filename>/nix/var/nix/profiles/default</filename> and visible
-to all users of the system; otherwise, the package ends up in
-<filename>/nix/var/nix/profiles/per-user/<replaceable>username</replaceable>/profile</filename>
-and is not visible to other users.  The <option>-A</option> flag
-specifies the package by its attribute name; without it, the package
-is installed by matching against its package name
-(e.g. <literal>thunderbird</literal>).  The latter is slower because
-it requires matching against all available Nix packages, and is
-ambiguous if there are multiple matching packages.</para>
-
-<para>Packages come from the NixOS channel.  You typically upgrade a
-package by updating to the latest version of the NixOS channel:
+  If you invoke this as root, the package is installed in the Nix profile
+  <filename>/nix/var/nix/profiles/default</filename> and visible to all users
+  of the system; otherwise, the package ends up in
+  <filename>/nix/var/nix/profiles/per-user/<replaceable>username</replaceable>/profile</filename>
+  and is not visible to other users. The <option>-A</option> flag specifies the
+  package by its attribute name; without it, the package is installed by
+  matching against its package name (e.g. <literal>thunderbird</literal>). The
+  latter is slower because it requires matching against all available Nix
+  packages, and is ambiguous if there are multiple matching packages.
+ </para>
+
+ <para>
+  Packages come from the NixOS channel. You typically upgrade a package by
+  updating to the latest version of the NixOS channel:
 <screen>
 $ nix-channel --update nixos
 </screen>
-and then running <literal>nix-env -i</literal> again.  Other packages
-in the profile are <emphasis>not</emphasis> affected; this is the
-crucial difference with the declarative style of package management,
-where running <command>nixos-rebuild switch</command> causes all
-packages to be updated to their current versions in the NixOS channel.
-You can however upgrade all packages for which there is a newer
-version by doing:
+  and then running <literal>nix-env -i</literal> again. Other packages in the
+  profile are <emphasis>not</emphasis> affected; this is the crucial difference
+  with the declarative style of package management, where running
+  <command>nixos-rebuild switch</command> causes all packages to be updated to
+  their current versions in the NixOS channel. You can however upgrade all
+  packages for which there is a newer version by doing:
 <screen>
 $ nix-env -u '*'
 </screen>
-</para>
+ </para>
 
-<para>A package can be uninstalled using the <option>-e</option>
-flag:
+ <para>
+  A package can be uninstalled using the <option>-e</option> flag:
 <screen>
 $ nix-env -e thunderbird
 </screen>
-</para>
+ </para>
 
-<para>Finally, you can roll back an undesirable
-<command>nix-env</command> action:
+ <para>
+  Finally, you can roll back an undesirable <command>nix-env</command> action:
 <screen>
 $ nix-env --rollback
 </screen>
-</para>
-
-<para><command>nix-env</command> has many more flags.  For details,
-see the
-<citerefentry><refentrytitle>nix-env</refentrytitle><manvolnum>1</manvolnum></citerefentry>
-manpage or the Nix manual.</para>
-
+ </para>
+
+ <para>
+  <command>nix-env</command> has many more flags. For details, see the
+  <citerefentry>
+  <refentrytitle>nix-env</refentrytitle>
+  <manvolnum>1</manvolnum></citerefentry> manpage or the Nix manual.
+ </para>
 </section>
diff --git a/nixos/doc/manual/configuration/adding-custom-packages.xml b/nixos/doc/manual/configuration/adding-custom-packages.xml
index ab3665bae50..b59287a622e 100644
--- a/nixos/doc/manual/configuration/adding-custom-packages.xml
+++ b/nixos/doc/manual/configuration/adding-custom-packages.xml
@@ -3,45 +3,38 @@
          xmlns:xi="http://www.w3.org/2001/XInclude"
          version="5.0"
          xml:id="sec-custom-packages">
+ <title>Adding Custom Packages</title>
 
-<title>Adding Custom Packages</title>
-
-<para>It’s possible that a package you need is not available in NixOS.
-In that case, you can do two things.  First, you can clone the Nixpkgs
-repository, add the package to your clone, and (optionally) submit a
-patch or pull request to have it accepted into the main Nixpkgs
-repository.  This is described in detail in the <link
-xlink:href="http://nixos.org/nixpkgs/manual">Nixpkgs manual</link>.
-In short, you clone Nixpkgs:
-
+ <para>
+  It’s possible that a package you need is not available in NixOS. In that
+  case, you can do two things. First, you can clone the Nixpkgs repository, add
+  the package to your clone, and (optionally) submit a patch or pull request to
+  have it accepted into the main Nixpkgs repository. This is described in
+  detail in the <link
+xlink:href="http://nixos.org/nixpkgs/manual">Nixpkgs
+  manual</link>. In short, you clone Nixpkgs:
 <screen>
 $ git clone git://github.com/NixOS/nixpkgs.git
 $ cd nixpkgs
 </screen>
-
-Then you write and test the package as described in the Nixpkgs
-manual.  Finally, you add it to
-<literal>environment.systemPackages</literal>, e.g.
-
+  Then you write and test the package as described in the Nixpkgs manual.
+  Finally, you add it to <literal>environment.systemPackages</literal>, e.g.
 <programlisting>
-environment.systemPackages = [ pkgs.my-package ];
+<xref linkend="opt-environment.systemPackages"/> = [ pkgs.my-package ];
 </programlisting>
-
-and you run <command>nixos-rebuild</command>, specifying your own
-Nixpkgs tree:
-
+  and you run <command>nixos-rebuild</command>, specifying your own Nixpkgs
+  tree:
 <screen>
 # nixos-rebuild switch -I nixpkgs=/path/to/my/nixpkgs</screen>
+ </para>
 
-</para>
-
-<para>The second possibility is to add the package outside of the
-Nixpkgs tree.  For instance, here is how you specify a build of the
-<link xlink:href="http://www.gnu.org/software/hello/">GNU Hello</link>
-package directly in <filename>configuration.nix</filename>:
-
+ <para>
+  The second possibility is to add the package outside of the Nixpkgs tree. For
+  instance, here is how you specify a build of the
+  <link xlink:href="http://www.gnu.org/software/hello/">GNU Hello</link>
+  package directly in <filename>configuration.nix</filename>:
 <programlisting>
-environment.systemPackages =
+<xref linkend="opt-environment.systemPackages"/> =
   let
     my-hello = with pkgs; stdenv.mkDerivation rec {
       name = "hello-2.8";
@@ -53,13 +46,12 @@ environment.systemPackages =
   in
   [ my-hello ];
 </programlisting>
-
-Of course, you can also move the definition of
-<literal>my-hello</literal> into a separate Nix expression, e.g.
+  Of course, you can also move the definition of <literal>my-hello</literal>
+  into a separate Nix expression, e.g.
 <programlisting>
-environment.systemPackages = [ (import ./my-hello.nix) ];
+<xref linkend="opt-environment.systemPackages"/> = [ (import ./my-hello.nix) ];
 </programlisting>
-where <filename>my-hello.nix</filename> contains:
+  where <filename>my-hello.nix</filename> contains:
 <programlisting>
 with import &lt;nixpkgs> {}; # bring all of Nixpkgs into scope
 
@@ -71,14 +63,11 @@ stdenv.mkDerivation rec {
   };
 }
 </programlisting>
-
-This allows testing the package easily:
+  This allows testing the package easily:
 <screen>
 $ nix-build my-hello.nix
 $ ./result/bin/hello
 Hello, world!
 </screen>
-
-</para>
-
+ </para>
 </section>
diff --git a/nixos/doc/manual/configuration/config-file.xml b/nixos/doc/manual/configuration/config-file.xml
index 3d1cdaf4c4a..a9420b3fc92 100644
--- a/nixos/doc/manual/configuration/config-file.xml
+++ b/nixos/doc/manual/configuration/config-file.xml
@@ -3,49 +3,46 @@
     xmlns:xi="http://www.w3.org/2001/XInclude"
     version="5.0"
     xml:id="sec-configuration-file">
+ <title>NixOS Configuration File</title>
 
-<title>NixOS Configuration File</title>
-
-<para>The NixOS configuration file generally looks like this:
-
+ <para>
+  The NixOS configuration file generally looks like this:
 <programlisting>
 { config, pkgs, ... }:
 
 { <replaceable>option definitions</replaceable>
 }
 </programlisting>
-
-The first line (<literal>{ config, pkgs, ... }:</literal>) denotes
-that this is actually a function that takes at least the two arguments
- <varname>config</varname> and <varname>pkgs</varname>.  (These are
-explained later.)  The function returns a <emphasis>set</emphasis> of
-option definitions (<literal>{ <replaceable>...</replaceable> }</literal>).  These definitions have the
-form <literal><replaceable>name</replaceable> =
-<replaceable>value</replaceable></literal>, where
-<replaceable>name</replaceable> is the name of an option and
-<replaceable>value</replaceable> is its value.  For example,
-
+  The first line (<literal>{ config, pkgs, ... }:</literal>) denotes that this
+  is actually a function that takes at least the two arguments
+  <varname>config</varname> and <varname>pkgs</varname>. (These are explained
+  later.) The function returns a <emphasis>set</emphasis> of option definitions
+  (<literal>{ <replaceable>...</replaceable> }</literal>). These definitions
+  have the form <literal><replaceable>name</replaceable> =
+  <replaceable>value</replaceable></literal>, where
+  <replaceable>name</replaceable> is the name of an option and
+  <replaceable>value</replaceable> is its value. For example,
 <programlisting>
 { config, pkgs, ... }:
 
-{ services.httpd.enable = true;
-  services.httpd.adminAddr = "alice@example.org";
-  services.httpd.documentRoot = "/webroot";
+{ <xref linkend="opt-services.httpd.enable"/> = true;
+  <xref linkend="opt-services.httpd.adminAddr"/> = "alice@example.org";
+  <xref linkend="opt-services.httpd.documentRoot"/> = "/webroot";
 }
 </programlisting>
-
-defines a configuration with three option definitions that together
-enable the Apache HTTP Server with <filename>/webroot</filename> as
-the document root.</para>
-
-<para>Sets can be nested, and in fact dots in option names are
-shorthand for defining a set containing another set.  For instance,
-<option>services.httpd.enable</option> defines a set named
-<varname>services</varname> that contains a set named
-<varname>httpd</varname>, which in turn contains an option definition
-named <varname>enable</varname> with value <literal>true</literal>.
-This means that the example above can also be written as:
-
+  defines a configuration with three option definitions that together enable
+  the Apache HTTP Server with <filename>/webroot</filename> as the document
+  root.
+ </para>
+
+ <para>
+  Sets can be nested, and in fact dots in option names are shorthand for
+  defining a set containing another set. For instance,
+  <xref linkend="opt-services.httpd.enable"/> defines a set named
+  <varname>services</varname> that contains a set named
+  <varname>httpd</varname>, which in turn contains an option definition named
+  <varname>enable</varname> with value <literal>true</literal>. This means that
+  the example above can also be written as:
 <programlisting>
 { config, pkgs, ... }:
 
@@ -58,160 +55,144 @@ This means that the example above can also be written as:
   };
 }
 </programlisting>
-
-which may be more convenient if you have lots of option definitions
-that share the same prefix (such as
-<literal>services.httpd</literal>).</para>
-
-<para>NixOS checks your option definitions for correctness.  For
-instance, if you try to define an option that doesn’t exist (that is,
-doesn’t have a corresponding <emphasis>option declaration</emphasis>),
-<command>nixos-rebuild</command> will give an error like:
+  which may be more convenient if you have lots of option definitions that
+  share the same prefix (such as <literal>services.httpd</literal>).
+ </para>
+
+ <para>
+  NixOS checks your option definitions for correctness. For instance, if you
+  try to define an option that doesn’t exist (that is, doesn’t have a
+  corresponding <emphasis>option declaration</emphasis>),
+  <command>nixos-rebuild</command> will give an error like:
 <screen>
 The option `services.httpd.enable' defined in `/etc/nixos/configuration.nix' does not exist.
 </screen>
-Likewise, values in option definitions must have a correct type.  For
-instance, <option>services.httpd.enable</option> must be a Boolean
-(<literal>true</literal> or <literal>false</literal>).  Trying to give
-it a value of another type, such as a string, will cause an error:
+  Likewise, values in option definitions must have a correct type. For
+  instance, <option>services.httpd.enable</option> must be a Boolean
+  (<literal>true</literal> or <literal>false</literal>). Trying to give it a
+  value of another type, such as a string, will cause an error:
 <screen>
 The option value `services.httpd.enable' in `/etc/nixos/configuration.nix' is not a boolean.
 </screen>
+ </para>
 
-</para>
-
-<para>Options have various types of values.  The most important are:
-
-<variablelist>
-  <varlistentry>
+ <para>
+  Options have various types of values. The most important are:
+  <variablelist>
+   <varlistentry>
     <term>Strings</term>
     <listitem>
-      <para>Strings are enclosed in double quotes, e.g.
-
+     <para>
+      Strings are enclosed in double quotes, e.g.
 <programlisting>
-networking.hostName = "dexter";
+<xref linkend="opt-networking.hostName"/> = "dexter";
 </programlisting>
-
-      Special characters can be escaped by prefixing them with a
-      backslash (e.g. <literal>\"</literal>).</para>
-
-      <para>Multi-line strings can be enclosed in <emphasis>double
-      single quotes</emphasis>, e.g.
-
+      Special characters can be escaped by prefixing them with a backslash
+      (e.g. <literal>\"</literal>).
+     </para>
+     <para>
+      Multi-line strings can be enclosed in <emphasis>double single
+      quotes</emphasis>, e.g.
 <programlisting>
-networking.extraHosts =
+<xref linkend="opt-networking.extraHosts"/> =
   ''
     127.0.0.2 other-localhost
     10.0.0.1 server
   '';
 </programlisting>
-
-      The main difference is that it strips from each line
-      a number of spaces equal to the minimal indentation of
-      the string as a whole (disregarding the indentation of
-      empty lines), and that characters like
-      <literal>"</literal> and <literal>\</literal> are not special
-      (making it more convenient for including things like shell
-      code).
-      See more info about this in the Nix manual <link
-      xlink:href="https://nixos.org/nix/manual/#ssec-values">here</link>.</para>
+      The main difference is that it strips from each line a number of spaces
+      equal to the minimal indentation of the string as a whole (disregarding
+      the indentation of empty lines), and that characters like
+      <literal>"</literal> and <literal>\</literal> are not special (making it
+      more convenient for including things like shell code). See more info
+      about this in the Nix manual
+      <link
+      xlink:href="https://nixos.org/nix/manual/#ssec-values">here</link>.
+     </para>
     </listitem>
-  </varlistentry>
-
-  <varlistentry>
+   </varlistentry>
+   <varlistentry>
     <term>Booleans</term>
     <listitem>
-      <para>These can be <literal>true</literal> or
-      <literal>false</literal>, e.g.
-
+     <para>
+      These can be <literal>true</literal> or <literal>false</literal>, e.g.
 <programlisting>
-networking.firewall.enable = true;
-networking.firewall.allowPing = false;
+<xref linkend="opt-networking.firewall.enable"/> = true;
+<xref linkend="opt-networking.firewall.allowPing"/> = false;
 </programlisting>
-      </para>
+     </para>
     </listitem>
-  </varlistentry>
-
-  <varlistentry>
+   </varlistentry>
+   <varlistentry>
     <term>Integers</term>
     <listitem>
-      <para>For example,
-
+     <para>
+      For example,
 <programlisting>
-boot.kernel.sysctl."net.ipv4.tcp_keepalive_time" = 60;
+<xref linkend="opt-boot.kernel.sysctl"/>."net.ipv4.tcp_keepalive_time" = 60;
 </programlisting>
-
       (Note that here the attribute name
-      <literal>net.ipv4.tcp_keepalive_time</literal> is enclosed in
-      quotes to prevent it from being interpreted as a set named
-      <literal>net</literal> containing a set named
-      <literal>ipv4</literal>, and so on.  This is because it’s not a
-      NixOS option but the literal name of a Linux kernel
-      setting.)</para>
+      <literal>net.ipv4.tcp_keepalive_time</literal> is enclosed in quotes to
+      prevent it from being interpreted as a set named <literal>net</literal>
+      containing a set named <literal>ipv4</literal>, and so on. This is
+      because it’s not a NixOS option but the literal name of a Linux kernel
+      setting.)
+     </para>
     </listitem>
-  </varlistentry>
-
-  <varlistentry>
+   </varlistentry>
+   <varlistentry>
     <term>Sets</term>
     <listitem>
-      <para>Sets were introduced above.  They are name/value pairs
-      enclosed in braces, as in the option definition
-
+     <para>
+      Sets were introduced above. They are name/value pairs enclosed in braces,
+      as in the option definition
 <programlisting>
-fileSystems."/boot" =
+<xref linkend="opt-fileSystems"/>."/boot" =
   { device = "/dev/sda1";
     fsType = "ext4";
     options = [ "rw" "data=ordered" "relatime" ];
   };
 </programlisting>
-      </para>
+     </para>
     </listitem>
-  </varlistentry>
-
-  <varlistentry>
+   </varlistentry>
+   <varlistentry>
     <term>Lists</term>
     <listitem>
-      <para>The important thing to note about lists is that list
-      elements are separated by whitespace, like this:
-
+     <para>
+      The important thing to note about lists is that list elements are
+      separated by whitespace, like this:
 <programlisting>
-boot.kernelModules = [ "fuse" "kvm-intel" "coretemp" ];
+<xref linkend="opt-boot.kernelModules"/> = [ "fuse" "kvm-intel" "coretemp" ];
 </programlisting>
-
       List elements can be any other type, e.g. sets:
-
 <programlisting>
 swapDevices = [ { device = "/dev/disk/by-label/swap"; } ];
 </programlisting>
-      </para>
+     </para>
     </listitem>
-  </varlistentry>
-
-  <varlistentry>
+   </varlistentry>
+   <varlistentry>
     <term>Packages</term>
     <listitem>
-      <para>Usually, the packages you need are already part of the Nix
-      Packages collection, which is a set that can be accessed through
-      the function argument <varname>pkgs</varname>.  Typical uses:
-
+     <para>
+      Usually, the packages you need are already part of the Nix Packages
+      collection, which is a set that can be accessed through the function
+      argument <varname>pkgs</varname>. Typical uses:
 <programlisting>
-environment.systemPackages =
+<xref linkend="opt-environment.systemPackages"/> =
   [ pkgs.thunderbird
     pkgs.emacs
   ];
 
-postgresql.package = pkgs.postgresql90;
+<xref linkend="opt-services.postgresql.package"/> = pkgs.postgresql90;
 </programlisting>
-
-      The latter option definition changes the default PostgreSQL
-      package used by NixOS’s PostgreSQL service to 9.0.  For more
-      information on packages, including how to add new ones, see
-      <xref linkend="sec-custom-packages"/>.</para>
+      The latter option definition changes the default PostgreSQL package used
+      by NixOS’s PostgreSQL service to 9.0. For more information on packages,
+      including how to add new ones, see <xref linkend="sec-custom-packages"/>.
+     </para>
     </listitem>
-  </varlistentry>
-
-</variablelist>
-
-</para>
-
+   </varlistentry>
+  </variablelist>
+ </para>
 </section>
diff --git a/nixos/doc/manual/configuration/config-syntax.xml b/nixos/doc/manual/configuration/config-syntax.xml
index 87847f8451e..5ef498cf9ae 100644
--- a/nixos/doc/manual/configuration/config-syntax.xml
+++ b/nixos/doc/manual/configuration/config-syntax.xml
@@ -3,25 +3,23 @@
          xmlns:xi="http://www.w3.org/2001/XInclude"
          version="5.0"
          xml:id="sec-configuration-syntax">
-
-<title>Configuration Syntax</title>
-
-<para>The NixOS configuration file
-<filename>/etc/nixos/configuration.nix</filename> is actually a
-<emphasis>Nix expression</emphasis>, which is the Nix package
-manager’s purely functional language for describing how to build
-packages and configurations.  This means you have all the expressive
-power of that language at your disposal, including the ability to
-abstract over common patterns, which is very useful when managing
-complex systems.  The syntax and semantics of the Nix language are
-fully described in the <link
+ <title>Configuration Syntax</title>
+ <para>
+  The NixOS configuration file
+  <filename>/etc/nixos/configuration.nix</filename> is actually a <emphasis>Nix
+  expression</emphasis>, which is the Nix package manager’s purely functional
+  language for describing how to build packages and configurations. This means
+  you have all the expressive power of that language at your disposal,
+  including the ability to abstract over common patterns, which is very useful
+  when managing complex systems. The syntax and semantics of the Nix language
+  are fully described in the
+  <link
 xlink:href="http://nixos.org/nix/manual/#chap-writing-nix-expressions">Nix
-manual</link>, but here we give a short overview of the most important
-constructs useful in NixOS configuration files.</para>
-
-<xi:include href="config-file.xml" />
-<xi:include href="abstractions.xml" />
-<xi:include href="modularity.xml" />
-<xi:include href="summary.xml" />
-
+  manual</link>, but here we give a short overview of the most important
+  constructs useful in NixOS configuration files.
+ </para>
+ <xi:include href="config-file.xml" />
+ <xi:include href="abstractions.xml" />
+ <xi:include href="modularity.xml" />
+ <xi:include href="summary.xml" />
 </chapter>
diff --git a/nixos/doc/manual/configuration/configuration.xml b/nixos/doc/manual/configuration/configuration.xml
index 8677c13db40..8d05dcd34b4 100644
--- a/nixos/doc/manual/configuration/configuration.xml
+++ b/nixos/doc/manual/configuration/configuration.xml
@@ -3,31 +3,24 @@
       xmlns:xi="http://www.w3.org/2001/XInclude"
       version="5.0"
       xml:id="ch-configuration">
-
-<title>Configuration</title>
-
-<partintro>
-
-<para>This chapter describes how to configure various aspects of a
-NixOS machine through the configuration file
-<filename>/etc/nixos/configuration.nix</filename>.  As described in
-<xref linkend="sec-changing-config" />, changes to this file only take
-effect after you run <command>nixos-rebuild</command>.</para>
-
-</partintro>
-
-<xi:include href="config-syntax.xml" />
-<xi:include href="package-mgmt.xml" />
-<xi:include href="user-mgmt.xml" />
-<xi:include href="file-systems.xml" />
-<xi:include href="x-windows.xml" />
-<xi:include href="xfce.xml" />
-<xi:include href="networking.xml" />
-<xi:include href="linux-kernel.xml" />
-
-<xi:include href="modules.xml" xpointer="xpointer(//section[@id='modules']/*)" />
-
+ <title>Configuration</title>
+ <partintro>
+  <para>
+   This chapter describes how to configure various aspects of a NixOS machine
+   through the configuration file
+   <filename>/etc/nixos/configuration.nix</filename>. As described in
+   <xref linkend="sec-changing-config" />, changes to this file only take
+   effect after you run <command>nixos-rebuild</command>.
+  </para>
+ </partintro>
+ <xi:include href="config-syntax.xml" />
+ <xi:include href="package-mgmt.xml" />
+ <xi:include href="user-mgmt.xml" />
+ <xi:include href="file-systems.xml" />
+ <xi:include href="x-windows.xml" />
+ <xi:include href="xfce.xml" />
+ <xi:include href="networking.xml" />
+ <xi:include href="linux-kernel.xml" />
+ <xi:include href="../generated/modules.xml" xpointer="xpointer(//section[@id='modules']/*)" />
 <!-- Apache; libvirtd virtualisation -->
-
 </part>
-
diff --git a/nixos/doc/manual/configuration/customizing-packages.xml b/nixos/doc/manual/configuration/customizing-packages.xml
index 8aa01fb57a0..03b5bb53197 100644
--- a/nixos/doc/manual/configuration/customizing-packages.xml
+++ b/nixos/doc/manual/configuration/customizing-packages.xml
@@ -3,91 +3,84 @@
          xmlns:xi="http://www.w3.org/2001/XInclude"
          version="5.0"
          xml:id="sec-customising-packages">
+ <title>Customising Packages</title>
 
-<title>Customising Packages</title>
+ <para>
+  Some packages in Nixpkgs have options to enable or disable optional
+  functionality or change other aspects of the package. For instance, the
+  Firefox wrapper package (which provides Firefox with a set of plugins such as
+  the Adobe Flash player) has an option to enable the Google Talk plugin. It
+  can be set in <filename>configuration.nix</filename> as follows: <filename>
+  nixpkgs.config.firefox.enableGoogleTalkPlugin = true; </filename>
+ </para>
 
-<para>Some packages in Nixpkgs have options to enable or disable
-optional functionality or change other aspects of the package.  For
-instance, the Firefox wrapper package (which provides Firefox with a
-set of plugins such as the Adobe Flash player) has an option to enable
-the Google Talk plugin.  It can be set in
-<filename>configuration.nix</filename> as follows:
-
-<filename>
-nixpkgs.config.firefox.enableGoogleTalkPlugin = true;
-</filename>
-</para>
-
-<warning><para>Unfortunately, Nixpkgs currently lacks a way to query
-available configuration options.</para></warning>
-
-<para>Apart from high-level options, it’s possible to tweak a package
-in almost arbitrary ways, such as changing or disabling dependencies
-of a package.  For instance, the Emacs package in Nixpkgs by default
-has a dependency on GTK+ 2.  If you want to build it against GTK+ 3,
-you can specify that as follows:
+ <warning>
+  <para>
+   Unfortunately, Nixpkgs currently lacks a way to query available
+   configuration options.
+  </para>
+ </warning>
 
+ <para>
+  Apart from high-level options, it’s possible to tweak a package in almost
+  arbitrary ways, such as changing or disabling dependencies of a package. For
+  instance, the Emacs package in Nixpkgs by default has a dependency on GTK+ 2.
+  If you want to build it against GTK+ 3, you can specify that as follows:
 <programlisting>
-environment.systemPackages = [ (pkgs.emacs.override { gtk = pkgs.gtk3; }) ];
+<xref linkend="opt-environment.systemPackages"/> = [ (pkgs.emacs.override { gtk = pkgs.gtk3; }) ];
 </programlisting>
+  The function <varname>override</varname> performs the call to the Nix
+  function that produces Emacs, with the original arguments amended by the set
+  of arguments specified by you. So here the function argument
+  <varname>gtk</varname> gets the value <literal>pkgs.gtk3</literal>, causing
+  Emacs to depend on GTK+ 3. (The parentheses are necessary because in Nix,
+  function application binds more weakly than list construction, so without
+  them, <xref linkend="opt-environment.systemPackages"/> would be a list with
+  two elements.)
+ </para>
 
-The function <varname>override</varname> performs the call to the Nix
-function that produces Emacs, with the original arguments amended by
-the set of arguments specified by you.  So here the function argument
-<varname>gtk</varname> gets the value <literal>pkgs.gtk3</literal>,
-causing Emacs to depend on GTK+ 3.  (The parentheses are necessary
-because in Nix, function application binds more weakly than list
-construction, so without them,
-<literal>environment.systemPackages</literal> would be a list with two
-elements.)</para>
-
-<para>Even greater customisation is possible using the function
-<varname>overrideAttrs</varname>.  While the
-<varname>override</varname> mechanism above overrides the arguments of
-a package function, <varname>overrideAttrs</varname> allows
-changing the <emphasis>attributes</emphasis> passed to <literal>mkDerivation</literal>.
-This permits changing any aspect of the package, such as the source code.
-For instance, if you want to override the source code of Emacs, you
-can say:
-
+ <para>
+  Even greater customisation is possible using the function
+  <varname>overrideAttrs</varname>. While the <varname>override</varname>
+  mechanism above overrides the arguments of a package function,
+  <varname>overrideAttrs</varname> allows changing the
+  <emphasis>attributes</emphasis> passed to <literal>mkDerivation</literal>.
+  This permits changing any aspect of the package, such as the source code. For
+  instance, if you want to override the source code of Emacs, you can say:
 <programlisting>
-environment.systemPackages = [
+<xref linkend="opt-environment.systemPackages"/> = [
   (pkgs.emacs.overrideAttrs (oldAttrs: {
     name = "emacs-25.0-pre";
     src = /path/to/my/emacs/tree;
   }))
 ];
 </programlisting>
+  Here, <varname>overrideAttrs</varname> takes the Nix derivation specified by
+  <varname>pkgs.emacs</varname> and produces a new derivation in which the
+  original’s <literal>name</literal> and <literal>src</literal> attribute
+  have been replaced by the given values by re-calling
+  <literal>stdenv.mkDerivation</literal>. The original attributes are
+  accessible via the function argument, which is conventionally named
+  <varname>oldAttrs</varname>.
+ </para>
 
-Here, <varname>overrideAttrs</varname> takes the Nix derivation
-specified by <varname>pkgs.emacs</varname> and produces a new
-derivation in which the original’s <literal>name</literal> and
-<literal>src</literal> attribute have been replaced by the given
-values by re-calling <literal>stdenv.mkDerivation</literal>.
-The original attributes are accessible via the function argument,
-which is conventionally named <varname>oldAttrs</varname>.</para>
-
-<para>The overrides shown above are not global.  They do not affect
-the original package; other packages in Nixpkgs continue to depend on
-the original rather than the customised package.  This means that if
-another package in your system depends on the original package, you
-end up with two instances of the package.  If you want to have
-everything depend on your customised instance, you can apply a
-<emphasis>global</emphasis> override as follows:
-
+ <para>
+  The overrides shown above are not global. They do not affect the original
+  package; other packages in Nixpkgs continue to depend on the original rather
+  than the customised package. This means that if another package in your
+  system depends on the original package, you end up with two instances of the
+  package. If you want to have everything depend on your customised instance,
+  you can apply a <emphasis>global</emphasis> override as follows:
 <screen>
 nixpkgs.config.packageOverrides = pkgs:
   { emacs = pkgs.emacs.override { gtk = pkgs.gtk3; };
   };
 </screen>
-
-The effect of this definition is essentially equivalent to modifying
-the <literal>emacs</literal> attribute in the Nixpkgs source tree.
-Any package in Nixpkgs that depends on <literal>emacs</literal> will
-be passed your customised instance.  (However, the value
-<literal>pkgs.emacs</literal> in
-<varname>nixpkgs.config.packageOverrides</varname> refers to the
-original rather than overridden instance, to prevent an infinite
-recursion.)</para>
-
+  The effect of this definition is essentially equivalent to modifying the
+  <literal>emacs</literal> attribute in the Nixpkgs source tree. Any package in
+  Nixpkgs that depends on <literal>emacs</literal> will be passed your
+  customised instance. (However, the value <literal>pkgs.emacs</literal> in
+  <varname>nixpkgs.config.packageOverrides</varname> refers to the original
+  rather than overridden instance, to prevent an infinite recursion.)
+ </para>
 </section>
diff --git a/nixos/doc/manual/configuration/declarative-packages.xml b/nixos/doc/manual/configuration/declarative-packages.xml
index dc2fa715097..be9884fe9dc 100644
--- a/nixos/doc/manual/configuration/declarative-packages.xml
+++ b/nixos/doc/manual/configuration/declarative-packages.xml
@@ -3,41 +3,41 @@
          xmlns:xi="http://www.w3.org/2001/XInclude"
          version="5.0"
          xml:id="sec-declarative-package-mgmt">
-
-<title>Declarative Package Management</title>
-
-<para>With declarative package management, you specify which packages
-you want on your system by setting the option
-<option>environment.systemPackages</option>.  For instance, adding the
-following line to <filename>configuration.nix</filename> enables the
-Mozilla Thunderbird email application:
-
+ <title>Declarative Package Management</title>
+
+ <para>
+  With declarative package management, you specify which packages you want on
+  your system by setting the option
+  <xref linkend="opt-environment.systemPackages"/>. For instance, adding the
+  following line to <filename>configuration.nix</filename> enables the Mozilla
+  Thunderbird email application:
 <programlisting>
-environment.systemPackages = [ pkgs.thunderbird ];
+<xref linkend="opt-environment.systemPackages"/> = [ pkgs.thunderbird ];
 </programlisting>
+  The effect of this specification is that the Thunderbird package from Nixpkgs
+  will be built or downloaded as part of the system when you run
+  <command>nixos-rebuild switch</command>.
+ </para>
 
-The effect of this specification is that the Thunderbird package from
-Nixpkgs will be built or downloaded as part of the system when you run
-<command>nixos-rebuild switch</command>.</para>
-
-<para>You can get a list of the available packages as follows:
+ <para>
+  You can get a list of the available packages as follows:
 <screen>
 $ nix-env -qaP '*' --description
 nixos.firefox   firefox-23.0   Mozilla Firefox - the browser, reloaded
 <replaceable>...</replaceable>
 </screen>
+  The first column in the output is the <emphasis>attribute name</emphasis>,
+  such as <literal>nixos.thunderbird</literal>. (The <literal>nixos</literal>
+  prefix allows distinguishing between different channels that you might have.)
+ </para>
 
-The first column in the output is the <emphasis>attribute
-name</emphasis>, such as
-<literal>nixos.thunderbird</literal>. (The
-<literal>nixos</literal> prefix allows distinguishing between
-different channels that you might have.)</para>
-
-<para>To “uninstall” a package, simply remove it from
-<option>environment.systemPackages</option> and run
-<command>nixos-rebuild switch</command>.</para>
+ <para>
+  To “uninstall” a package, simply remove it from
+  <xref linkend="opt-environment.systemPackages"/> and run
+  <command>nixos-rebuild switch</command>.
+ </para>
 
-<xi:include href="customizing-packages.xml" />
-<xi:include href="adding-custom-packages.xml" />
+ <xi:include href="customizing-packages.xml" />
 
+ <xi:include href="adding-custom-packages.xml" />
 </section>
diff --git a/nixos/doc/manual/configuration/file-systems.xml b/nixos/doc/manual/configuration/file-systems.xml
index ae3d124cd6b..e4c03de71b7 100644
--- a/nixos/doc/manual/configuration/file-systems.xml
+++ b/nixos/doc/manual/configuration/file-systems.xml
@@ -3,44 +3,44 @@
          xmlns:xi="http://www.w3.org/2001/XInclude"
          version="5.0"
          xml:id="ch-file-systems">
-
-<title>File Systems</title>
-
-<para>You can define file systems using the
-<option>fileSystems</option> configuration option.  For instance, the
-following definition causes NixOS to mount the Ext4 file system on
-device <filename>/dev/disk/by-label/data</filename> onto the mount
-point <filename>/data</filename>:
-
+ <title>File Systems</title>
+ <para>
+  You can define file systems using the <option>fileSystems</option>
+  configuration option. For instance, the following definition causes NixOS to
+  mount the Ext4 file system on device
+  <filename>/dev/disk/by-label/data</filename> onto the mount point
+  <filename>/data</filename>:
 <programlisting>
-fileSystems."/data" =
+<xref linkend="opt-fileSystems"/>."/data" =
   { device = "/dev/disk/by-label/data";
     fsType = "ext4";
   };
 </programlisting>
-
-Mount points are created automatically if they don’t already exist.
-For <option>device</option>, it’s best to use the topology-independent
-device aliases in <filename>/dev/disk/by-label</filename> and
-<filename>/dev/disk/by-uuid</filename>, as these don’t change if the
-topology changes (e.g. if a disk is moved to another IDE
-controller).</para>
-
-<para>You can usually omit the file system type
-(<option>fsType</option>), since <command>mount</command> can usually
-detect the type and load the necessary kernel module automatically.
-However, if the file system is needed at early boot (in the initial
-ramdisk) and is not <literal>ext2</literal>, <literal>ext3</literal>
-or <literal>ext4</literal>, then it’s best to specify
-<option>fsType</option> to ensure that the kernel module is
-available.</para>
-
-<note><para>System startup will fail if any of the filesystems fails to mount,
-dropping you to the emergency shell.
-You can make a mount asynchronous and non-critical by adding
-<literal>options = [ "nofail" ];</literal>.
-</para></note>
-
-<xi:include href="luks-file-systems.xml" />
-
+  Mount points are created automatically if they don’t already exist. For
+  <option><link linkend="opt-fileSystems._name__.device">device</link></option>,
+  it’s best to use the topology-independent device aliases in
+  <filename>/dev/disk/by-label</filename> and
+  <filename>/dev/disk/by-uuid</filename>, as these don’t change if the
+  topology changes (e.g. if a disk is moved to another IDE controller).
+ </para>
+ <para>
+  You can usually omit the file system type
+  (<option><link linkend="opt-fileSystems._name__.fsType">fsType</link></option>),
+  since <command>mount</command> can usually detect the type and load the
+  necessary kernel module automatically. However, if the file system is needed
+  at early boot (in the initial ramdisk) and is not <literal>ext2</literal>,
+  <literal>ext3</literal> or <literal>ext4</literal>, then it’s best to
+  specify <option>fsType</option> to ensure that the kernel module is
+  available.
+ </para>
+ <note>
+  <para>
+   System startup will fail if any of the filesystems fails to mount, dropping
+   you to the emergency shell. You can make a mount asynchronous and
+   non-critical by adding
+   <literal><link linkend="opt-fileSystems._name__.options">options</link> = [
+   "nofail" ];</literal>.
+  </para>
+ </note>
+ <xi:include href="luks-file-systems.xml" />
 </chapter>
diff --git a/nixos/doc/manual/configuration/firewall.xml b/nixos/doc/manual/configuration/firewall.xml
index 75cccef95b3..b66adcedce6 100644
--- a/nixos/doc/manual/configuration/firewall.xml
+++ b/nixos/doc/manual/configuration/firewall.xml
@@ -3,49 +3,44 @@
          xmlns:xi="http://www.w3.org/2001/XInclude"
          version="5.0"
          xml:id="sec-firewall">
+ <title>Firewall</title>
 
-<title>Firewall</title>
-
-<para>NixOS has a simple stateful firewall that blocks incoming
-connections and other unexpected packets.  The firewall applies to
-both IPv4 and IPv6 traffic. It is enabled by default. It can be
-disabled as follows:
-
+ <para>
+  NixOS has a simple stateful firewall that blocks incoming connections and
+  other unexpected packets. The firewall applies to both IPv4 and IPv6 traffic.
+  It is enabled by default. It can be disabled as follows:
 <programlisting>
-networking.firewall.enable = false;
+<xref linkend="opt-networking.firewall.enable"/> = false;
 </programlisting>
-
-If the firewall is enabled, you can open specific TCP ports to the
-outside world:
-
+  If the firewall is enabled, you can open specific TCP ports to the outside
+  world:
 <programlisting>
-networking.firewall.allowedTCPPorts = [ 80 443 ];
+<xref linkend="opt-networking.firewall.allowedTCPPorts"/> = [ 80 443 ];
 </programlisting>
-
-Note that TCP port 22 (ssh) is opened automatically if the SSH daemon
-is enabled (<option>services.openssh.enable = true</option>). UDP
-ports can be opened through
-<option>networking.firewall.allowedUDPPorts</option>.</para>
-
-<para>To open ranges of TCP ports:
-
+  Note that TCP port 22 (ssh) is opened automatically if the SSH daemon is
+  enabled (<option><xref linkend="opt-services.openssh.enable"/> =
+  true</option>). UDP ports can be opened through
+  <xref linkend="opt-networking.firewall.allowedUDPPorts"/>.
+ </para>
+
+ <para>
+  To open ranges of TCP ports:
 <programlisting>
-networking.firewall.allowedTCPPortRanges = [
+<xref linkend="opt-networking.firewall.allowedTCPPortRanges"/> = [
   { from = 4000; to = 4007; }
   { from = 8000; to = 8010; }
 ];
 </programlisting>
+  Similarly, UDP port ranges can be opened through
+  <xref linkend="opt-networking.firewall.allowedUDPPortRanges"/>.
+ </para>
 
-Similarly, UDP port ranges can be opened through
-<option>networking.firewall.allowedUDPPortRanges</option>.</para>
-
-<para>Also of interest is
-
+ <para>
+  Also of interest is
 <programlisting>
-networking.firewall.allowPing = true;
+<xref linkend="opt-networking.firewall.allowPing"/> = true;
 </programlisting>
-
-to allow the machine to respond to ping requests.  (ICMPv6 pings are
-always allowed.)</para>
-
+  to allow the machine to respond to ping requests. (ICMPv6 pings are always
+  allowed.)
+ </para>
 </section>
diff --git a/nixos/doc/manual/configuration/ipv4-config.xml b/nixos/doc/manual/configuration/ipv4-config.xml
index 68238b547d6..71ddf41491b 100644
--- a/nixos/doc/manual/configuration/ipv4-config.xml
+++ b/nixos/doc/manual/configuration/ipv4-config.xml
@@ -3,42 +3,41 @@
          xmlns:xi="http://www.w3.org/2001/XInclude"
          version="5.0"
          xml:id="sec-ipv4">
+ <title>IPv4 Configuration</title>
 
-<title>IPv4 Configuration</title>
-
-<para>By default, NixOS uses DHCP (specifically,
-<command>dhcpcd</command>) to automatically configure network
-interfaces.  However, you can configure an interface manually as
-follows:
-
+ <para>
+  By default, NixOS uses DHCP (specifically, <command>dhcpcd</command>) to
+  automatically configure network interfaces. However, you can configure an
+  interface manually as follows:
 <programlisting>
-networking.interfaces.eth0.ipv4.addresses = [ { address = "192.168.1.2"; prefixLength = 24; } ];
+<link linkend="opt-networking.interfaces._name__.ipv4.addresses">networking.interfaces.eth0.ipv4.addresses</link> = [ {
+  address = "192.168.1.2";
+  prefixLength = 24;
+} ];
 </programlisting>
-
-Typically you’ll also want to set a default gateway and set of name
-servers:
-
+  Typically you’ll also want to set a default gateway and set of name
+  servers:
 <programlisting>
-networking.defaultGateway = "192.168.1.1";
-networking.nameservers = [ "8.8.8.8" ];
+<xref linkend="opt-networking.defaultGateway"/> = "192.168.1.1";
+<xref linkend="opt-networking.nameservers"/> = [ "8.8.8.8" ];
 </programlisting>
-
-</para>
-
-<note><para>Statically configured interfaces are set up by the systemd
-service
-<replaceable>interface-name</replaceable><literal>-cfg.service</literal>.
-The default gateway and name server configuration is performed by
-<literal>network-setup.service</literal>.</para></note>
-
-<para>The host name is set using <option>networking.hostName</option>:
-
+ </para>
+
+ <note>
+  <para>
+   Statically configured interfaces are set up by the systemd service
+   <replaceable>interface-name</replaceable><literal>-cfg.service</literal>.
+   The default gateway and name server configuration is performed by
+   <literal>network-setup.service</literal>.
+  </para>
+ </note>
+
+ <para>
+  The host name is set using <xref linkend="opt-networking.hostName"/>:
 <programlisting>
-networking.hostName = "cartman";
+<xref linkend="opt-networking.hostName"/> = "cartman";
 </programlisting>
-
-The default host name is <literal>nixos</literal>.  Set it to the
-empty string (<literal>""</literal>) to allow the DHCP server to
-provide the host name.</para>
-
+  The default host name is <literal>nixos</literal>. Set it to the empty string
+  (<literal>""</literal>) to allow the DHCP server to provide the host name.
+ </para>
 </section>
diff --git a/nixos/doc/manual/configuration/ipv6-config.xml b/nixos/doc/manual/configuration/ipv6-config.xml
index 74a21e18ec3..e9ab7cce4eb 100644
--- a/nixos/doc/manual/configuration/ipv6-config.xml
+++ b/nixos/doc/manual/configuration/ipv6-config.xml
@@ -3,44 +3,48 @@
          xmlns:xi="http://www.w3.org/2001/XInclude"
          version="5.0"
          xml:id="sec-ipv6">
+ <title>IPv6 Configuration</title>
 
-<title>IPv6 Configuration</title>
-
-<para>IPv6 is enabled by default.  Stateless address autoconfiguration
-is used to automatically assign IPv6 addresses to all interfaces.  You
-can disable IPv6 support globally by setting:
-
+ <para>
+  IPv6 is enabled by default. Stateless address autoconfiguration is used to
+  automatically assign IPv6 addresses to all interfaces. You can disable IPv6
+  support globally by setting:
 <programlisting>
-networking.enableIPv6 = false;
-</programlisting></para>
-
-<para>You can disable IPv6 on a single interface using a normal sysctl (in this
-example, we use interface <varname>eth0</varname>):
+<xref linkend="opt-networking.enableIPv6"/> = false;
+</programlisting>
+ </para>
 
+ <para>
+  You can disable IPv6 on a single interface using a normal sysctl (in this
+  example, we use interface <varname>eth0</varname>):
 <programlisting>
-boot.kernel.sysctl."net.ipv6.conf.eth0.disable_ipv6" = true;
+<xref linkend="opt-boot.kernel.sysctl"/>."net.ipv6.conf.eth0.disable_ipv6" = true;
 </programlisting>
-</para>
-
-<para>As with IPv4 networking interfaces are automatically configured via
-DHCPv6. You can configure an interface manually:
+ </para>
 
+ <para>
+  As with IPv4 networking interfaces are automatically configured via DHCPv6.
+  You can configure an interface manually:
 <programlisting>
-networking.interfaces.eth0.ipv6.addresses = [ { address = "fe00:aa:bb:cc::2"; prefixLength = 64; } ];
+<link linkend="opt-networking.interfaces._name__.ipv6.addresses">networking.interfaces.eth0.ipv6.addresses</link> = [ {
+  address = "fe00:aa:bb:cc::2";
+  prefixLength = 64;
+} ];
 </programlisting>
-</para>
-
-<para>For configuring a gateway, optionally with explicitly specified interface:
+ </para>
 
+ <para>
+  For configuring a gateway, optionally with explicitly specified interface:
 <programlisting>
-networking.defaultGateway6 = {
+<xref linkend="opt-networking.defaultGateway6"/> = {
   address = "fe00::1";
   interface = "enp0s3";
 }
 </programlisting>
-</para>
-
-<para>See <xref linkend='sec-ipv4' /> for similar examples and additional information.
-</para>
+ </para>
 
+ <para>
+  See <xref linkend='sec-ipv4' /> for similar examples and additional
+  information.
+ </para>
 </section>
diff --git a/nixos/doc/manual/configuration/linux-kernel.xml b/nixos/doc/manual/configuration/linux-kernel.xml
index 52be26d6024..0990e9d932b 100644
--- a/nixos/doc/manual/configuration/linux-kernel.xml
+++ b/nixos/doc/manual/configuration/linux-kernel.xml
@@ -3,29 +3,29 @@
          xmlns:xi="http://www.w3.org/2001/XInclude"
          version="5.0"
          xml:id="sec-kernel-config">
-
-<title>Linux Kernel</title>
-
-<para>You can override the Linux kernel and associated packages using
-the option <option>boot.kernelPackages</option>.  For instance, this
-selects the Linux 3.10 kernel:
+ <title>Linux Kernel</title>
+ <para>
+  You can override the Linux kernel and associated packages using the option
+  <option>boot.kernelPackages</option>. For instance, this selects the Linux
+  3.10 kernel:
 <programlisting>
-boot.kernelPackages = pkgs.linuxPackages_3_10;
+<xref linkend="opt-boot.kernelPackages"/> = pkgs.linuxPackages_3_10;
 </programlisting>
-Note that this not only replaces the kernel, but also packages that
-are specific to the kernel version, such as the NVIDIA video drivers.
-This ensures that driver packages are consistent with the
-kernel.</para>
-
-<para>The default Linux kernel configuration should be fine for most users. You can see the configuration of your current kernel with the following command:
+  Note that this not only replaces the kernel, but also packages that are
+  specific to the kernel version, such as the NVIDIA video drivers. This
+  ensures that driver packages are consistent with the kernel.
+ </para>
+ <para>
+  The default Linux kernel configuration should be fine for most users. You can
+  see the configuration of your current kernel with the following command:
 <programlisting>
 zcat /proc/config.gz
 </programlisting>
-If you want to change the kernel configuration, you can use the
-<option>packageOverrides</option> feature (see <xref
-linkend="sec-customising-packages" />).  For instance, to enable
-support for the kernel debugger KGDB:
-
+  If you want to change the kernel configuration, you can use the
+  <option>packageOverrides</option> feature (see
+  <xref
+linkend="sec-customising-packages" />). For instance, to enable support
+  for the kernel debugger KGDB:
 <programlisting>
 nixpkgs.config.packageOverrides = pkgs:
   { linux_3_4 = pkgs.linux_3_4.override {
@@ -36,47 +36,46 @@ nixpkgs.config.packageOverrides = pkgs:
     };
   };
 </programlisting>
-
-<varname>extraConfig</varname> takes a list of Linux kernel
-configuration options, one per line.  The name of the option should
-not include the prefix <literal>CONFIG_</literal>.  The option value
-is typically <literal>y</literal>, <literal>n</literal> or
-<literal>m</literal> (to build something as a kernel module).</para>
-
-<para>Kernel modules for hardware devices are generally loaded
-automatically by <command>udev</command>.  You can force a module to
-be loaded via <option>boot.kernelModules</option>, e.g.
+  <varname>extraConfig</varname> takes a list of Linux kernel configuration
+  options, one per line. The name of the option should not include the prefix
+  <literal>CONFIG_</literal>. The option value is typically
+  <literal>y</literal>, <literal>n</literal> or <literal>m</literal> (to build
+  something as a kernel module).
+ </para>
+ <para>
+  Kernel modules for hardware devices are generally loaded automatically by
+  <command>udev</command>. You can force a module to be loaded via
+  <xref linkend="opt-boot.kernelModules"/>, e.g.
 <programlisting>
-boot.kernelModules = [ "fuse" "kvm-intel" "coretemp" ];
+<xref linkend="opt-boot.kernelModules"/> = [ "fuse" "kvm-intel" "coretemp" ];
 </programlisting>
-If the module is required early during the boot (e.g. to mount the
-root file system), you can use
-<option>boot.initrd.extraKernelModules</option>:
+  If the module is required early during the boot (e.g. to mount the root file
+  system), you can use <xref linkend="opt-boot.initrd.extraKernelModules"/>:
 <programlisting>
-boot.initrd.extraKernelModules = [ "cifs" ];
+<xref linkend="opt-boot.initrd.extraKernelModules"/> = [ "cifs" ];
 </programlisting>
-This causes the specified modules and their dependencies to be added
-to the initial ramdisk.</para>
-
-<para>Kernel runtime parameters can be set through
-<option>boot.kernel.sysctl</option>, e.g.
+  This causes the specified modules and their dependencies to be added to the
+  initial ramdisk.
+ </para>
+ <para>
+  Kernel runtime parameters can be set through
+  <xref linkend="opt-boot.kernel.sysctl"/>, e.g.
 <programlisting>
-boot.kernel.sysctl."net.ipv4.tcp_keepalive_time" = 120;
+<xref linkend="opt-boot.kernel.sysctl"/>."net.ipv4.tcp_keepalive_time" = 120;
 </programlisting>
-sets the kernel’s TCP keepalive time to 120 seconds.  To see the
-available parameters, run <command>sysctl -a</command>.</para>
-
-<section>
+  sets the kernel’s TCP keepalive time to 120 seconds. To see the available
+  parameters, run <command>sysctl -a</command>.
+ </para>
+ <section>
   <title>Developing kernel modules</title>
 
-  <para>When developing kernel modules it's often convenient to run
-  edit-compile-run loop as quickly as possible.
-
-  See below snippet as an example of developing <literal>mellanox</literal>
-  drivers.
+  <para>
+   When developing kernel modules it's often convenient to run edit-compile-run
+   loop as quickly as possible. See below snippet as an example of developing
+   <literal>mellanox</literal> drivers.
   </para>
 
-  <screen><![CDATA[
+<screen><![CDATA[
 $ nix-build '<nixpkgs>' -A linuxPackages.kernel.dev
 $ nix-shell '<nixpkgs>' -A linuxPackages.kernel
 $ unpackPhase
@@ -84,7 +83,5 @@ $ cd linux-*
 $ make -C $dev/lib/modules/*/build M=$(pwd)/drivers/net/ethernet/mellanox modules
 # insmod ./drivers/net/ethernet/mellanox/mlx5/core/mlx5_core.ko
 ]]></screen>
-
-</section>
-
+ </section>
 </chapter>
diff --git a/nixos/doc/manual/configuration/luks-file-systems.xml b/nixos/doc/manual/configuration/luks-file-systems.xml
index 00c795cd089..8a2b107e0ee 100644
--- a/nixos/doc/manual/configuration/luks-file-systems.xml
+++ b/nixos/doc/manual/configuration/luks-file-systems.xml
@@ -3,14 +3,13 @@
          xmlns:xi="http://www.w3.org/2001/XInclude"
          version="5.0"
          xml:id="sec-luks-file-systems">
+ <title>LUKS-Encrypted File Systems</title>
 
-<title>LUKS-Encrypted File Systems</title>
-
-<para>NixOS supports file systems that are encrypted using
-<emphasis>LUKS</emphasis> (Linux Unified Key Setup).  For example,
-here is how you create an encrypted Ext4 file system on the device
-<filename>/dev/disk/by-uuid/3f6b0024-3a44-4fde-a43a-767b872abe5d</filename>:
-
+ <para>
+  NixOS supports file systems that are encrypted using
+  <emphasis>LUKS</emphasis> (Linux Unified Key Setup). For example, here is how
+  you create an encrypted Ext4 file system on the device
+  <filename>/dev/disk/by-uuid/3f6b0024-3a44-4fde-a43a-767b872abe5d</filename>:
 <screen>
 # cryptsetup luksFormat /dev/disk/by-uuid/3f6b0024-3a44-4fde-a43a-767b872abe5d
 
@@ -27,20 +26,15 @@ Enter passphrase for /dev/disk/by-uuid/3f6b0024-3a44-4fde-a43a-767b872abe5d: ***
 
 # mkfs.ext4 /dev/mapper/crypted
 </screen>
-
-To ensure that this file system is automatically mounted at boot time
-as <filename>/</filename>, add the following to
-<filename>configuration.nix</filename>:
-
+  To ensure that this file system is automatically mounted at boot time as
+  <filename>/</filename>, add the following to
+  <filename>configuration.nix</filename>:
 <programlisting>
-boot.initrd.luks.devices.crypted.device = "/dev/disk/by-uuid/3f6b0024-3a44-4fde-a43a-767b872abe5d";
-fileSystems."/".device = "/dev/mapper/crypted";
+<link linkend="opt-boot.initrd.luks.devices._name__.device">boot.initrd.luks.devices.crypted.device</link> = "/dev/disk/by-uuid/3f6b0024-3a44-4fde-a43a-767b872abe5d";
+<xref linkend="opt-fileSystems"/>."/".device = "/dev/mapper/crypted";
 </programlisting>
-
-Should grub be used as bootloader, and <filename>/boot</filename> is located
-on an encrypted partition, it is necessary to add the following grub option:
-<programlisting>boot.loader.grub.enableCryptodisk = true;</programlisting>
-
-</para>
-
+  Should grub be used as bootloader, and <filename>/boot</filename> is located
+  on an encrypted partition, it is necessary to add the following grub option:
+<programlisting><xref linkend="opt-boot.loader.grub.enableCryptodisk"/> = true;</programlisting>
+ </para>
 </section>
diff --git a/nixos/doc/manual/configuration/modularity.xml b/nixos/doc/manual/configuration/modularity.xml
index 5420c7f8838..3ff96f719ec 100644
--- a/nixos/doc/manual/configuration/modularity.xml
+++ b/nixos/doc/manual/configuration/modularity.xml
@@ -3,101 +3,95 @@
          xmlns:xi="http://www.w3.org/2001/XInclude"
          version="5.0"
          xml:id="sec-modularity">
-
-<title>Modularity</title>
-
-<para>The NixOS configuration mechanism is modular.  If your
-<filename>configuration.nix</filename> becomes too big, you can split
-it into multiple files.  Likewise, if you have multiple NixOS
-configurations (e.g. for different computers) with some commonality,
-you can move the common configuration into a shared file.</para>
-
-<para>Modules have exactly the same syntax as
-<filename>configuration.nix</filename>.  In fact,
-<filename>configuration.nix</filename> is itself a module.  You can
-use other modules by including them from
-<filename>configuration.nix</filename>, e.g.:
-
+ <title>Modularity</title>
+
+ <para>
+  The NixOS configuration mechanism is modular. If your
+  <filename>configuration.nix</filename> becomes too big, you can split it into
+  multiple files. Likewise, if you have multiple NixOS configurations (e.g. for
+  different computers) with some commonality, you can move the common
+  configuration into a shared file.
+ </para>
+
+ <para>
+  Modules have exactly the same syntax as
+  <filename>configuration.nix</filename>. In fact,
+  <filename>configuration.nix</filename> is itself a module. You can use other
+  modules by including them from <filename>configuration.nix</filename>, e.g.:
 <programlisting>
 { config, pkgs, ... }:
 
 { imports = [ ./vpn.nix ./kde.nix ];
-  services.httpd.enable = true;
-  environment.systemPackages = [ pkgs.emacs ];
+  <xref linkend="opt-services.httpd.enable"/> = true;
+  <xref linkend="opt-environment.systemPackages"/> = [ pkgs.emacs ];
   <replaceable>...</replaceable>
 }
 </programlisting>
-
-Here, we include two modules from the same directory,
-<filename>vpn.nix</filename> and <filename>kde.nix</filename>.  The
-latter might look like this:
-
+  Here, we include two modules from the same directory,
+  <filename>vpn.nix</filename> and <filename>kde.nix</filename>. The latter
+  might look like this:
 <programlisting>
 { config, pkgs, ... }:
 
-{ services.xserver.enable = true;
-  services.xserver.displayManager.sddm.enable = true;
-  services.xserver.desktopManager.plasma5.enable = true;
+{ <xref linkend="opt-services.xserver.enable"/> = true;
+  <xref linkend="opt-services.xserver.displayManager.sddm.enable"/> = true;
+  <xref linkend="opt-services.xserver.desktopManager.plasma5.enable"/> = true;
 }
 </programlisting>
-
-Note that both <filename>configuration.nix</filename> and
-<filename>kde.nix</filename> define the option
-<option>environment.systemPackages</option>.  When multiple modules
-define an option, NixOS will try to <emphasis>merge</emphasis> the
-definitions.  In the case of
-<option>environment.systemPackages</option>, that’s easy: the lists of
-packages can simply be concatenated.  The value in
-<filename>configuration.nix</filename> is merged last, so for
-list-type options, it will appear at the end of the merged list. If
-you want it to appear first, you can use <varname>mkBefore</varname>:
-
+  Note that both <filename>configuration.nix</filename> and
+  <filename>kde.nix</filename> define the option
+  <xref linkend="opt-environment.systemPackages"/>. When multiple modules
+  define an option, NixOS will try to <emphasis>merge</emphasis> the
+  definitions. In the case of <xref linkend="opt-environment.systemPackages"/>,
+  that’s easy: the lists of packages can simply be concatenated. The value in
+  <filename>configuration.nix</filename> is merged last, so for list-type
+  options, it will appear at the end of the merged list. If you want it to
+  appear first, you can use <varname>mkBefore</varname>:
 <programlisting>
-boot.kernelModules = mkBefore [ "kvm-intel" ];
+<xref linkend="opt-boot.kernelModules"/> = mkBefore [ "kvm-intel" ];
 </programlisting>
-
-This causes the <literal>kvm-intel</literal> kernel module to be
-loaded before any other kernel modules.</para>
-
-<para>For other types of options, a merge may not be possible. For
-instance, if two modules define
-<option>services.httpd.adminAddr</option>,
-<command>nixos-rebuild</command> will give an error:
-
+  This causes the <literal>kvm-intel</literal> kernel module to be loaded
+  before any other kernel modules.
+ </para>
+
+ <para>
+  For other types of options, a merge may not be possible. For instance, if two
+  modules define <xref linkend="opt-services.httpd.adminAddr"/>,
+  <command>nixos-rebuild</command> will give an error:
 <screen>
 The unique option `services.httpd.adminAddr' is defined multiple times, in `/etc/nixos/httpd.nix' and `/etc/nixos/configuration.nix'.
 </screen>
-
-When that happens, it’s possible to force one definition take
-precedence over the others:
-
+  When that happens, it’s possible to force one definition take precedence
+  over the others:
 <programlisting>
-services.httpd.adminAddr = pkgs.lib.mkForce "bob@example.org";
+<xref linkend="opt-services.httpd.adminAddr"/> = pkgs.lib.mkForce "bob@example.org";
 </programlisting>
-
-</para>
-
-<para>When using multiple modules, you may need to access
-configuration values defined in other modules.  This is what the
-<varname>config</varname> function argument is for: it contains the
-complete, merged system configuration.  That is,
-<varname>config</varname> is the result of combining the
-configurations returned by every module<footnote><para>If you’re
-wondering how it’s possible that the (indirect)
-<emphasis>result</emphasis> of a function is passed as an
-<emphasis>input</emphasis> to that same function: that’s because Nix
-is a “lazy” language — it only computes values when they are needed.
-This works as long as no individual configuration value depends on
-itself.</para></footnote>.  For example, here is a module that adds
-some packages to <option>environment.systemPackages</option> only if
-<option>services.xserver.enable</option> is set to
-<literal>true</literal> somewhere else:
-
+ </para>
+
+ <para>
+  When using multiple modules, you may need to access configuration values
+  defined in other modules. This is what the <varname>config</varname> function
+  argument is for: it contains the complete, merged system configuration. That
+  is, <varname>config</varname> is the result of combining the configurations
+  returned by every module
+  <footnote>
+   <para>
+    If you’re wondering how it’s possible that the (indirect)
+    <emphasis>result</emphasis> of a function is passed as an
+    <emphasis>input</emphasis> to that same function: that’s because Nix is a
+    “lazy” language — it only computes values when they are needed. This
+    works as long as no individual configuration value depends on itself.
+   </para>
+  </footnote>
+  . For example, here is a module that adds some packages to
+  <xref linkend="opt-environment.systemPackages"/> only if
+  <xref linkend="opt-services.xserver.enable"/> is set to
+  <literal>true</literal> somewhere else:
 <programlisting>
 { config, pkgs, ... }:
 
-{ environment.systemPackages =
-    if config.services.xserver.enable then
+{ <xref linkend="opt-environment.systemPackages"/> =
+    if config.<xref linkend="opt-services.xserver.enable"/> then
       [ pkgs.firefox
         pkgs.thunderbird
       ]
@@ -105,38 +99,32 @@ some packages to <option>environment.systemPackages</option> only if
       [ ];
 }
 </programlisting>
+ </para>
 
-</para>
-
-<para>With multiple modules, it may not be obvious what the final
-value of a configuration option is.  The command
-<option>nixos-option</option> allows you to find out:
-
+ <para>
+  With multiple modules, it may not be obvious what the final value of a
+  configuration option is. The command <option>nixos-option</option> allows you
+  to find out:
 <screen>
-$ nixos-option services.xserver.enable
+$ nixos-option <xref linkend="opt-services.xserver.enable"/>
 true
 
-$ nixos-option boot.kernelModules
+$ nixos-option <xref linkend="opt-boot.kernelModules"/>
 [ "tun" "ipv6" "loop" <replaceable>...</replaceable> ]
 </screen>
-
-Interactive exploration of the configuration is possible using
-<command
+  Interactive exploration of the configuration is possible using
+  <command
 xlink:href="https://github.com/edolstra/nix-repl">nix-repl</command>,
-a read-eval-print loop for Nix expressions.  It’s not installed by
-default; run <literal>nix-env -i nix-repl</literal> to get it.  A
-typical use:
-
+  a read-eval-print loop for Nix expressions. It’s not installed by default;
+  run <literal>nix-env -i nix-repl</literal> to get it. A typical use:
 <screen>
 $ nix-repl '&lt;nixpkgs/nixos>'
 
-nix-repl> config.networking.hostName
+nix-repl> config.<xref linkend="opt-networking.hostName"/>
 "mandark"
 
-nix-repl> map (x: x.hostName) config.services.httpd.virtualHosts
+nix-repl> map (x: x.hostName) config.<xref linkend="opt-services.httpd.virtualHosts"/>
 [ "example.org" "example.gov" ]
 </screen>
-
-</para>
-
+ </para>
 </section>
diff --git a/nixos/doc/manual/configuration/network-manager.xml b/nixos/doc/manual/configuration/network-manager.xml
index b4808e74ff9..e217a99148b 100644
--- a/nixos/doc/manual/configuration/network-manager.xml
+++ b/nixos/doc/manual/configuration/network-manager.xml
@@ -3,39 +3,42 @@
          xmlns:xi="http://www.w3.org/2001/XInclude"
          version="5.0"
          xml:id="sec-networkmanager">
+ <title>NetworkManager</title>
 
-<title>NetworkManager</title>
-
-<para>To facilitate network configuration, some desktop environments
-use NetworkManager. You can enable NetworkManager by setting:
-
+ <para>
+  To facilitate network configuration, some desktop environments use
+  NetworkManager. You can enable NetworkManager by setting:
 <programlisting>
-networking.networkmanager.enable = true;
+<xref linkend="opt-networking.networkmanager.enable"/> = true;
 </programlisting>
+  some desktop managers (e.g., GNOME) enable NetworkManager automatically for
+  you.
+ </para>
 
-some desktop managers (e.g., GNOME) enable NetworkManager
-automatically for you.</para>
-
-<para>All users that should have permission to change network settings must
-belong to the <code>networkmanager</code> group:
-
+ <para>
+  All users that should have permission to change network settings must belong
+  to the <code>networkmanager</code> group:
 <programlisting>
-users.extraUsers.youruser.extraGroups = [ "networkmanager" ];
+<link linkend="opt-users.users._name__.extraGroups">users.extraUsers.youruser.extraGroups</link> = [ "networkmanager" ];
 </programlisting>
-</para>
-
-<para>NetworkManager is controlled using either <command>nmcli</command> or
-<command>nmtui</command> (curses-based terminal user interface). See their
-manual pages for details on their usage. Some desktop environments (GNOME, KDE)
-have their own configuration tools for NetworkManager. On XFCE, there is no
-configuration tool for NetworkManager by default: by adding
-<code>networkmanagerapplet</code> to the list of system packages, the graphical
-applet will be installed and will launch automatically when XFCE is starting
-(and will show in the status tray).</para>
-
-<note><para><code>networking.networkmanager</code> and
-<code>networking.wireless</code> (WPA Supplicant) cannot be enabled at the same
-time: you can still connect to the wireless networks using
-NetworkManager.</para></note>
-
+ </para>
+
+ <para>
+  NetworkManager is controlled using either <command>nmcli</command> or
+  <command>nmtui</command> (curses-based terminal user interface). See their
+  manual pages for details on their usage. Some desktop environments (GNOME,
+  KDE) have their own configuration tools for NetworkManager. On XFCE, there is
+  no configuration tool for NetworkManager by default: by adding
+  <code>networkmanagerapplet</code> to the list of system packages, the
+  graphical applet will be installed and will launch automatically when XFCE is
+  starting (and will show in the status tray).
+ </para>
+
+ <note>
+  <para>
+   <code>networking.networkmanager</code> and <code>networking.wireless</code>
+   (WPA Supplicant) cannot be enabled at the same time: you can still connect
+   to the wireless networks using NetworkManager.
+  </para>
+ </note>
 </section>
diff --git a/nixos/doc/manual/configuration/networking.xml b/nixos/doc/manual/configuration/networking.xml
index 5f08bc1f127..02cf811e0bd 100644
--- a/nixos/doc/manual/configuration/networking.xml
+++ b/nixos/doc/manual/configuration/networking.xml
@@ -3,20 +3,17 @@
          xmlns:xi="http://www.w3.org/2001/XInclude"
          version="5.0"
          xml:id="sec-networking">
-
-<title>Networking</title>
-
-<para>This section describes how to configure networking components on
-your NixOS machine.</para>
-
-<xi:include href="network-manager.xml" />
-<xi:include href="ssh.xml" />
-<xi:include href="ipv4-config.xml" />
-<xi:include href="ipv6-config.xml" />
-<xi:include href="firewall.xml" />
-<xi:include href="wireless.xml" />
-<xi:include href="ad-hoc-network-config.xml" />
-
+ <title>Networking</title>
+ <para>
+  This section describes how to configure networking components on your NixOS
+  machine.
+ </para>
+ <xi:include href="network-manager.xml" />
+ <xi:include href="ssh.xml" />
+ <xi:include href="ipv4-config.xml" />
+ <xi:include href="ipv6-config.xml" />
+ <xi:include href="firewall.xml" />
+ <xi:include href="wireless.xml" />
+ <xi:include href="ad-hoc-network-config.xml" />
 <!-- TODO: OpenVPN, NAT -->
-
 </chapter>
diff --git a/nixos/doc/manual/configuration/package-mgmt.xml b/nixos/doc/manual/configuration/package-mgmt.xml
index 73c1722da02..e8ac5d0681a 100644
--- a/nixos/doc/manual/configuration/package-mgmt.xml
+++ b/nixos/doc/manual/configuration/package-mgmt.xml
@@ -3,32 +3,29 @@
          xmlns:xi="http://www.w3.org/2001/XInclude"
          version="5.0"
          xml:id="sec-package-management">
-
-<title>Package Management</title>
-
-<para>This section describes how to add additional packages to your
-system.  NixOS has two distinct styles of package management:
-
-<itemizedlist>
-
-  <listitem><para><emphasis>Declarative</emphasis>, where you declare
-  what packages you want in your
-  <filename>configuration.nix</filename>.  Every time you run
-  <command>nixos-rebuild</command>, NixOS will ensure that you get a
-  consistent set of binaries corresponding to your
-  specification.</para></listitem>
-
-  <listitem><para><emphasis>Ad hoc</emphasis>, where you install,
-  upgrade and uninstall packages via the <command>nix-env</command>
-  command.  This style allows mixing packages from different Nixpkgs
-  versions.  It’s the only choice for non-root
-  users.</para></listitem>
-
-</itemizedlist>
-
-</para>
-
-<xi:include href="declarative-packages.xml" />
-<xi:include href="ad-hoc-packages.xml" />
-
+ <title>Package Management</title>
+ <para>
+  This section describes how to add additional packages to your system. NixOS
+  has two distinct styles of package management:
+  <itemizedlist>
+   <listitem>
+    <para>
+     <emphasis>Declarative</emphasis>, where you declare what packages you want
+     in your <filename>configuration.nix</filename>. Every time you run
+     <command>nixos-rebuild</command>, NixOS will ensure that you get a
+     consistent set of binaries corresponding to your specification.
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <emphasis>Ad hoc</emphasis>, where you install, upgrade and uninstall
+     packages via the <command>nix-env</command> command. This style allows
+     mixing packages from different Nixpkgs versions. It’s the only choice
+     for non-root users.
+    </para>
+   </listitem>
+  </itemizedlist>
+ </para>
+ <xi:include href="declarative-packages.xml" />
+ <xi:include href="ad-hoc-packages.xml" />
 </chapter>
diff --git a/nixos/doc/manual/configuration/ssh.xml b/nixos/doc/manual/configuration/ssh.xml
index 7c928baaf89..6e883e3fbbc 100644
--- a/nixos/doc/manual/configuration/ssh.xml
+++ b/nixos/doc/manual/configuration/ssh.xml
@@ -3,30 +3,25 @@
          xmlns:xi="http://www.w3.org/2001/XInclude"
          version="5.0"
          xml:id="sec-ssh">
+ <title>Secure Shell Access</title>
 
-<title>Secure Shell Access</title>
-
-<para>Secure shell (SSH) access to your machine can be enabled by
-setting:
-
+ <para>
+  Secure shell (SSH) access to your machine can be enabled by setting:
 <programlisting>
-services.openssh.enable = true;
+<xref linkend="opt-services.openssh.enable"/> = true;
 </programlisting>
-
-By default, root logins using a password are disallowed.  They can be
-disabled entirely by setting
-<literal>services.openssh.permitRootLogin</literal> to
-<literal>"no"</literal>.</para>
-
-<para>You can declaratively specify authorised RSA/DSA public keys for
-a user as follows:
-
+  By default, root logins using a password are disallowed. They can be disabled
+  entirely by setting <xref linkend="opt-services.openssh.permitRootLogin"/> to
+  <literal>"no"</literal>.
+ </para>
+
+ <para>
+  You can declaratively specify authorised RSA/DSA public keys for a user as
+  follows:
 <!-- FIXME: this might not work if the user is unmanaged. -->
 <programlisting>
-users.extraUsers.alice.openssh.authorizedKeys.keys =
+<link linkend="opt-users.users._name__.openssh.authorizedKeys.keys">users.extraUsers.alice.openssh.authorizedKeys.keys</link> =
   [ "ssh-dss AAAAB3NzaC1kc3MAAACBAPIkGWVEt4..." ];
 </programlisting>
-
-</para>
-
+ </para>
 </section>
diff --git a/nixos/doc/manual/configuration/summary.xml b/nixos/doc/manual/configuration/summary.xml
index be1f2263149..ea980254a8f 100644
--- a/nixos/doc/manual/configuration/summary.xml
+++ b/nixos/doc/manual/configuration/summary.xml
@@ -3,190 +3,225 @@
     xmlns:xi="http://www.w3.org/2001/XInclude"
     version="5.0"
     xml:id="sec-nix-syntax-summary">
+ <title>Syntax Summary</title>
 
-<title>Syntax Summary</title>
-
-<para>Below is a summary of the most important syntactic constructs in
-the Nix expression language.  It’s not complete.  In particular, there
-are many other built-in functions.  See the <link
+ <para>
+  Below is a summary of the most important syntactic constructs in the Nix
+  expression language. It’s not complete. In particular, there are many other
+  built-in functions. See the
+  <link
 xlink:href="http://nixos.org/nix/manual/#chap-writing-nix-expressions">Nix
-manual</link> for the rest.</para>
+  manual</link> for the rest.
+ </para>
 
-<informaltable frame='none'>
+ <informaltable frame='none'>
   <tgroup cols='2'>
-    <colspec colname='c1' rowsep='1' colsep='1' />
-    <colspec colname='c2' rowsep='1' />
-    <thead>
-      <row>
-        <entry>Example</entry>
-        <entry>Description</entry>
-      </row>
-    </thead>
-    <tbody>
-
-      <row>
-        <entry namest="c1" nameend="c2"><emphasis>Basic values</emphasis></entry>
-      </row>
-      <row>
-        <entry><literal>"Hello world"</literal></entry>
-        <entry>A string</entry>
-      </row>
-      <row>
-        <entry><literal>"${pkgs.bash}/bin/sh"</literal></entry>
-        <entry>A string containing an expression (expands to <literal>"/nix/store/<replaceable>hash</replaceable>-bash-<replaceable>version</replaceable>/bin/sh"</literal>)</entry>
-      </row>
-      <row>
-        <entry><literal>true</literal>, <literal>false</literal></entry>
-        <entry>Booleans</entry>
-      </row>
-      <row>
-        <entry><literal>123</literal></entry>
-        <entry>An integer</entry>
-      </row>
-      <row>
-        <entry><literal>./foo.png</literal></entry>
-        <entry>A path (relative to the containing Nix expression)</entry>
-      </row>
-
-      <row>
-        <entry namest="c1" nameend="c2"><emphasis>Compound values</emphasis></entry>
-      </row>
-      <row>
-        <entry><literal>{ x = 1; y = 2; }</literal></entry>
-        <entry>An set with attributes names <literal>x</literal> and <literal>y</literal></entry>
-      </row>
-      <row>
-        <entry><literal>{ foo.bar = 1; }</literal></entry>
-        <entry>A nested set, equivalent to <literal>{ foo = { bar = 1; }; }</literal></entry>
-      </row>
-      <row>
-        <entry><literal>rec { x = "foo"; y = x + "bar"; }</literal></entry>
-        <entry>A recursive set, equivalent to <literal>{ x = "foo"; y = "foobar"; }</literal></entry>
-      </row>
-      <row>
-        <entry><literal>[ "foo" "bar" ]</literal></entry>
-        <entry>A list with two elements</entry>
-      </row>
-
-      <row>
-        <entry namest="c1" nameend="c2"><emphasis>Operators</emphasis></entry>
-      </row>
-      <row>
-        <entry><literal>"foo" + "bar"</literal></entry>
-        <entry>String concatenation</entry>
-      </row>
-      <row>
-        <entry><literal>1 + 2</literal></entry>
-        <entry>Integer addition</entry>
-      </row>
-      <row>
-        <entry><literal>"foo" == "f" + "oo"</literal></entry>
-        <entry>Equality test (evaluates to <literal>true</literal>)</entry>
-      </row>
-      <row>
-        <entry><literal>"foo" != "bar"</literal></entry>
-        <entry>Inequality test (evaluates to <literal>true</literal>)</entry>
-      </row>
-      <row>
-        <entry><literal>!true</literal></entry>
-        <entry>Boolean negation</entry>
-      </row>
-      <row>
-        <entry><literal>{ x = 1; y = 2; }.x</literal></entry>
-        <entry>Attribute selection (evaluates to <literal>1</literal>)</entry>
-      </row>
-      <row>
-        <entry><literal>{ x = 1; y = 2; }.z or 3</literal></entry>
-        <entry>Attribute selection with default (evaluates to <literal>3</literal>)</entry>
-      </row>
-      <row>
-        <entry><literal>{ x = 1; y = 2; } // { z = 3; }</literal></entry>
-        <entry>Merge two sets (attributes in the right-hand set taking precedence)</entry>
-      </row>
-
-      <row>
-        <entry namest="c1" nameend="c2"><emphasis>Control structures</emphasis></entry>
-      </row>
-      <row>
-        <entry><literal>if 1 + 1 == 2 then "yes!" else "no!"</literal></entry>
-        <entry>Conditional expression</entry>
-      </row>
-      <row>
-        <entry><literal>assert 1 + 1 == 2; "yes!"</literal></entry>
-        <entry>Assertion check (evaluates to <literal>"yes!"</literal>). See <xref
+   <colspec colname='c1' rowsep='1' colsep='1' />
+   <colspec colname='c2' rowsep='1' />
+   <thead>
+    <row>
+     <entry>Example</entry>
+     <entry>Description</entry>
+    </row>
+   </thead>
+   <tbody>
+    <row>
+     <entry namest="c1" nameend="c2"><emphasis>Basic values</emphasis>
+     </entry>
+    </row>
+    <row>
+     <entry><literal>"Hello world"</literal>
+     </entry>
+     <entry>A string</entry>
+    </row>
+    <row>
+     <entry><literal>"${pkgs.bash}/bin/sh"</literal>
+     </entry>
+     <entry>A string containing an expression (expands to <literal>"/nix/store/<replaceable>hash</replaceable>-bash-<replaceable>version</replaceable>/bin/sh"</literal>)</entry>
+    </row>
+    <row>
+     <entry><literal>true</literal>, <literal>false</literal>
+     </entry>
+     <entry>Booleans</entry>
+    </row>
+    <row>
+     <entry><literal>123</literal>
+     </entry>
+     <entry>An integer</entry>
+    </row>
+    <row>
+     <entry><literal>./foo.png</literal>
+     </entry>
+     <entry>A path (relative to the containing Nix expression)</entry>
+    </row>
+    <row>
+     <entry namest="c1" nameend="c2"><emphasis>Compound values</emphasis>
+     </entry>
+    </row>
+    <row>
+     <entry><literal>{ x = 1; y = 2; }</literal>
+     </entry>
+     <entry>A set with attributes named <literal>x</literal> and <literal>y</literal>
+     </entry>
+    </row>
+    <row>
+     <entry><literal>{ foo.bar = 1; }</literal>
+     </entry>
+     <entry>A nested set, equivalent to <literal>{ foo = { bar = 1; }; }</literal>
+     </entry>
+    </row>
+    <row>
+     <entry><literal>rec { x = "foo"; y = x + "bar"; }</literal>
+     </entry>
+     <entry>A recursive set, equivalent to <literal>{ x = "foo"; y = "foobar"; }</literal>
+     </entry>
+    </row>
+    <row>
+     <entry><literal>[ "foo" "bar" ]</literal>
+     </entry>
+     <entry>A list with two elements</entry>
+    </row>
+    <row>
+     <entry namest="c1" nameend="c2"><emphasis>Operators</emphasis>
+     </entry>
+    </row>
+    <row>
+     <entry><literal>"foo" + "bar"</literal>
+     </entry>
+     <entry>String concatenation</entry>
+    </row>
+    <row>
+     <entry><literal>1 + 2</literal>
+     </entry>
+     <entry>Integer addition</entry>
+    </row>
+    <row>
+     <entry><literal>"foo" == "f" + "oo"</literal>
+     </entry>
+     <entry>Equality test (evaluates to <literal>true</literal>)</entry>
+    </row>
+    <row>
+     <entry><literal>"foo" != "bar"</literal>
+     </entry>
+     <entry>Inequality test (evaluates to <literal>true</literal>)</entry>
+    </row>
+    <row>
+     <entry><literal>!true</literal>
+     </entry>
+     <entry>Boolean negation</entry>
+    </row>
+    <row>
+     <entry><literal>{ x = 1; y = 2; }.x</literal>
+     </entry>
+     <entry>Attribute selection (evaluates to <literal>1</literal>)</entry>
+    </row>
+    <row>
+     <entry><literal>{ x = 1; y = 2; }.z or 3</literal>
+     </entry>
+     <entry>Attribute selection with default (evaluates to <literal>3</literal>)</entry>
+    </row>
+    <row>
+     <entry><literal>{ x = 1; y = 2; } // { z = 3; }</literal>
+     </entry>
+     <entry>Merge two sets (attributes in the right-hand set taking precedence)</entry>
+    </row>
+    <row>
+     <entry namest="c1" nameend="c2"><emphasis>Control structures</emphasis>
+     </entry>
+    </row>
+    <row>
+     <entry><literal>if 1 + 1 == 2 then "yes!" else "no!"</literal>
+     </entry>
+     <entry>Conditional expression</entry>
+    </row>
+    <row>
+     <entry><literal>assert 1 + 1 == 2; "yes!"</literal>
+     </entry>
+     <entry>Assertion check (evaluates to <literal>"yes!"</literal>). See <xref
     linkend="sec-assertions"/> for using assertions in modules</entry>
-      </row>
-      <row>
-        <entry><literal>let x = "foo"; y = "bar"; in x + y</literal></entry>
-        <entry>Variable definition</entry>
-      </row>
-      <row>
-        <entry><literal>with pkgs.lib; head [ 1 2 3 ]</literal></entry>
-        <entry>Add all attributes from the given set to the scope
+    </row>
+    <row>
+     <entry><literal>let x = "foo"; y = "bar"; in x + y</literal>
+     </entry>
+     <entry>Variable definition</entry>
+    </row>
+    <row>
+     <entry><literal>with pkgs.lib; head [ 1 2 3 ]</literal>
+     </entry>
+     <entry>Add all attributes from the given set to the scope
         (evaluates to <literal>1</literal>)</entry>
-      </row>
-
-      <row>
-        <entry namest="c1" nameend="c2"><emphasis>Functions (lambdas)</emphasis></entry>
-      </row>
-      <row>
-        <entry><literal>x: x + 1</literal></entry>
-        <entry>A function that expects an integer and returns it increased by 1</entry>
-      </row>
-      <row>
-        <entry><literal>(x: x + 1) 100</literal></entry>
-        <entry>A function call (evaluates to 101)</entry>
-      </row>
-      <row>
-        <entry><literal>let inc = x: x + 1; in inc (inc (inc 100))</literal></entry>
-        <entry>A function bound to a variable and subsequently called by name (evaluates to 103)</entry>
-      </row>
-      <row>
-        <entry><literal>{ x, y }: x + y</literal></entry>
-        <entry>A function that expects a set with required attributes
+    </row>
+    <row>
+     <entry namest="c1" nameend="c2"><emphasis>Functions (lambdas)</emphasis>
+     </entry>
+    </row>
+    <row>
+     <entry><literal>x: x + 1</literal>
+     </entry>
+     <entry>A function that expects an integer and returns it increased by 1</entry>
+    </row>
+    <row>
+     <entry><literal>(x: x + 1) 100</literal>
+     </entry>
+     <entry>A function call (evaluates to 101)</entry>
+    </row>
+    <row>
+     <entry><literal>let inc = x: x + 1; in inc (inc (inc 100))</literal>
+     </entry>
+     <entry>A function bound to a variable and subsequently called by name (evaluates to 103)</entry>
+    </row>
+    <row>
+     <entry><literal>{ x, y }: x + y</literal>
+     </entry>
+     <entry>A function that expects a set with required attributes
         <literal>x</literal> and <literal>y</literal> and concatenates
         them</entry>
-      </row>
-      <row>
-        <entry><literal>{ x, y ? "bar" }: x + y</literal></entry>
-        <entry>A function that expects a set with required attribute
+    </row>
+    <row>
+     <entry><literal>{ x, y ? "bar" }: x + y</literal>
+     </entry>
+     <entry>A function that expects a set with required attribute
         <literal>x</literal> and optional <literal>y</literal>, using
         <literal>"bar"</literal> as default value for
-        <literal>y</literal></entry>
-      </row>
-      <row>
-        <entry><literal>{ x, y, ... }: x + y</literal></entry>
-        <entry>A function that expects a set with required attributes
+        <literal>y</literal>
+     </entry>
+    </row>
+    <row>
+     <entry><literal>{ x, y, ... }: x + y</literal>
+     </entry>
+     <entry>A function that expects a set with required attributes
         <literal>x</literal> and <literal>y</literal> and ignores any
         other attributes</entry>
-      </row>
-      <row>
-        <entry><literal>{ x, y } @ args: x + y</literal></entry>
-        <entry>A function that expects a set with required attributes
+    </row>
+    <row>
+     <entry><literal>{ x, y } @ args: x + y</literal>
+     </entry>
+     <entry>A function that expects a set with required attributes
         <literal>x</literal> and <literal>y</literal>, and binds the
-        whole set to <literal>args</literal></entry>
-      </row>
-
-      <row>
-        <entry namest="c1" nameend="c2"><emphasis>Built-in functions</emphasis></entry>
-      </row>
-      <row>
-        <entry><literal>import ./foo.nix</literal></entry>
-        <entry>Load and return Nix expression in given file</entry>
-      </row>
-      <row>
-        <entry><literal>map (x: x + x) [ 1 2 3 ]</literal></entry>
-        <entry>Apply a function to every element of a list (evaluates to <literal>[ 2 4 6 ]</literal>)</entry>
-      </row>
-      <!--
+        whole set to <literal>args</literal>
+     </entry>
+    </row>
+    <row>
+     <entry namest="c1" nameend="c2"><emphasis>Built-in functions</emphasis>
+     </entry>
+    </row>
+    <row>
+     <entry><literal>import ./foo.nix</literal>
+     </entry>
+     <entry>Load and return Nix expression in given file</entry>
+    </row>
+    <row>
+     <entry><literal>map (x: x + x) [ 1 2 3 ]</literal>
+     </entry>
+     <entry>Apply a function to every element of a list (evaluates to <literal>[ 2 4 6 ]</literal>)</entry>
+    </row>
+<!--
       <row>
         <entry><literal>throw "Urgh"</literal></entry>
         <entry>Raise an error condition</entry>
       </row>
       -->
-
-    </tbody>
+   </tbody>
   </tgroup>
-</informaltable>
-
+ </informaltable>
 </section>
diff --git a/nixos/doc/manual/configuration/user-mgmt.xml b/nixos/doc/manual/configuration/user-mgmt.xml
index c6656edff6c..66c1c6eb3a1 100644
--- a/nixos/doc/manual/configuration/user-mgmt.xml
+++ b/nixos/doc/manual/configuration/user-mgmt.xml
@@ -3,98 +3,86 @@
          xmlns:xi="http://www.w3.org/2001/XInclude"
          version="5.0"
          xml:id="sec-user-management">
-
-<title>User Management</title>
-
-<para>NixOS supports both declarative and imperative styles of user
-management.  In the declarative style, users are specified in
-<filename>configuration.nix</filename>.  For instance, the following
-states that a user account named <literal>alice</literal> shall exist:
-
+ <title>User Management</title>
+ <para>
+  NixOS supports both declarative and imperative styles of user management. In
+  the declarative style, users are specified in
+  <filename>configuration.nix</filename>. For instance, the following states
+  that a user account named <literal>alice</literal> shall exist:
 <programlisting>
-users.users.alice =
-  { isNormalUser = true;
-    home = "/home/alice";
-    description = "Alice Foobar";
-    extraGroups = [ "wheel" "networkmanager" ];
-    openssh.authorizedKeys.keys = [ "ssh-dss AAAAB3Nza... alice@foobar" ];
-  };
+<xref linkend="opt-users.users"/>.alice = {
+  <link linkend="opt-users.users._name__.isNormalUser">isNormalUser</link> = true;
+  <link linkend="opt-users.users._name__.home">home</link> = "/home/alice";
+  <link linkend="opt-users.users._name__.description">description</link> = "Alice Foobar";
+  <link linkend="opt-users.users._name__.extraGroups">extraGroups</link> = [ "wheel" "networkmanager" ];
+  <link linkend="opt-users.users._name__.openssh.authorizedKeys.keys">openssh.authorizedKeys.keys</link> = [ "ssh-dss AAAAB3Nza... alice@foobar" ];
+};
 </programlisting>
-
-Note that <literal>alice</literal> is a member of the
-<literal>wheel</literal> and <literal>networkmanager</literal> groups,
-which allows her to use <command>sudo</command> to execute commands as
-<literal>root</literal> and to configure the network, respectively.
-Also note the SSH public key that allows remote logins with the
-corresponding private key. Users created in this way do not have a
-password by default, so they cannot log in via mechanisms that require
-a password. However, you can use the <command>passwd</command> program
-to set a password, which is retained across invocations of
-<command>nixos-rebuild</command>.</para>
-
-<para>If you set users.mutableUsers to false, then the contents of /etc/passwd
-and /etc/group will be congruent to your NixOS configuration. For instance,
-if you remove a user from users.users and run nixos-rebuild, the user
-account will cease to exist. Also, imperative commands for managing users
-and groups, such as useradd, are no longer available. Passwords may still be
-assigned by setting the user's <literal>hashedPassword</literal> option. A
-hashed password can be generated using <command>mkpasswd -m sha-512</command>
-after installing the <literal>mkpasswd</literal> package.</para>
-
-<para>A user ID (uid) is assigned automatically.  You can also specify
-a uid manually by adding
-
+  Note that <literal>alice</literal> is a member of the
+  <literal>wheel</literal> and <literal>networkmanager</literal> groups, which
+  allows her to use <command>sudo</command> to execute commands as
+  <literal>root</literal> and to configure the network, respectively. Also note
+  the SSH public key that allows remote logins with the corresponding private
+  key. Users created in this way do not have a password by default, so they
+  cannot log in via mechanisms that require a password. However, you can use
+  the <command>passwd</command> program to set a password, which is retained
+  across invocations of <command>nixos-rebuild</command>.
+ </para>
+ <para>
+  If you set <xref linkend="opt-users.mutableUsers"/> to false, then the
+  contents of <literal>/etc/passwd</literal> and <literal>/etc/group</literal>
+  will be congruent to your NixOS configuration. For instance, if you remove a
+  user from <xref linkend="opt-users.users"/> and run nixos-rebuild, the user
+  account will cease to exist. Also, imperative commands for managing users and
+  groups, such as useradd, are no longer available. Passwords may still be
+  assigned by setting the user's
+  <link linkend="opt-users.users._name__.hashedPassword">hashedPassword</link>
+  option. A hashed password can be generated using <command>mkpasswd -m
+  sha-512</command> after installing the <literal>mkpasswd</literal> package.
+ </para>
+ <para>
+  A user ID (uid) is assigned automatically. You can also specify a uid
+  manually by adding
 <programlisting>
     uid = 1000;
 </programlisting>
-
-to the user specification.</para>
-
-<para>Groups can be specified similarly.  The following states that a
-group named <literal>students</literal> shall exist:
-
+  to the user specification.
+ </para>
+ <para>
+  Groups can be specified similarly. The following states that a group named
+  <literal>students</literal> shall exist:
 <programlisting>
-users.groups.students.gid = 1000;
+<xref linkend="opt-users.groups"/>.students.gid = 1000;
 </programlisting>
-
-As with users, the group ID (gid) is optional and will be assigned
-automatically if it’s missing.</para>
-
-<para>In the imperative style, users and groups are managed by
-commands such as <command>useradd</command>,
-<command>groupmod</command> and so on.  For instance, to create a user
-account named <literal>alice</literal>:
-
+  As with users, the group ID (gid) is optional and will be assigned
+  automatically if it’s missing.
+ </para>
+ <para>
+  In the imperative style, users and groups are managed by commands such as
+  <command>useradd</command>, <command>groupmod</command> and so on. For
+  instance, to create a user account named <literal>alice</literal>:
 <screen>
 # useradd -m alice</screen>
-
-To make all nix tools available to this new user use `su - USER` which
-opens a login shell (==shell that loads the profile) for given user.
-This will create the ~/.nix-defexpr symlink. So run:
-
+  To make all nix tools available to this new user use `su - USER` which opens
+  a login shell (==shell that loads the profile) for given user. This will
+  create the ~/.nix-defexpr symlink. So run:
 <screen>
 # su - alice -c "true"</screen>
-
-
-The flag <option>-m</option> causes the creation of a home directory
-for the new user, which is generally what you want.  The user does not
-have an initial password and therefore cannot log in.  A password can
-be set using the <command>passwd</command> utility:
-
+  The flag <option>-m</option> causes the creation of a home directory for the
+  new user, which is generally what you want. The user does not have an initial
+  password and therefore cannot log in. A password can be set using the
+  <command>passwd</command> utility:
 <screen>
 # passwd alice
 Enter new UNIX password: ***
 Retype new UNIX password: ***
 </screen>
-
-A user can be deleted using <command>userdel</command>:
-
+  A user can be deleted using <command>userdel</command>:
 <screen>
 # userdel -r alice</screen>
-
-The flag <option>-r</option> deletes the user’s home directory.
-Accounts can be modified using <command>usermod</command>.  Unix
-groups can be managed using <command>groupadd</command>,
-<command>groupmod</command> and <command>groupdel</command>.</para>
-
+  The flag <option>-r</option> deletes the user’s home directory. Accounts
+  can be modified using <command>usermod</command>. Unix groups can be managed
+  using <command>groupadd</command>, <command>groupmod</command> and
+  <command>groupdel</command>.
+ </para>
 </chapter>
diff --git a/nixos/doc/manual/configuration/wireless.xml b/nixos/doc/manual/configuration/wireless.xml
index 1868380dcbf..999447234ad 100644
--- a/nixos/doc/manual/configuration/wireless.xml
+++ b/nixos/doc/manual/configuration/wireless.xml
@@ -3,51 +3,43 @@
          xmlns:xi="http://www.w3.org/2001/XInclude"
          version="5.0"
          xml:id="sec-wireless">
+ <title>Wireless Networks</title>
 
-<title>Wireless Networks</title>
-
-<para>For a desktop installation using NetworkManager (e.g., GNOME),
-you just have to make sure the user is in the
-<code>networkmanager</code> group and you can skip the rest of this
-section on wireless networks.</para>
-
-<para>
-NixOS will start wpa_supplicant for you if you enable this setting:
+ <para>
+  For a desktop installation using NetworkManager (e.g., GNOME), you just have
+  to make sure the user is in the <code>networkmanager</code> group and you can
+  skip the rest of this section on wireless networks.
+ </para>
 
+ <para>
+  NixOS will start wpa_supplicant for you if you enable this setting:
 <programlisting>
-networking.wireless.enable = true;
+<xref linkend="opt-networking.wireless.enable"/> = true;
 </programlisting>
-
-NixOS lets you specify networks for wpa_supplicant declaratively:
+  NixOS lets you specify networks for wpa_supplicant declaratively:
 <programlisting>
-networking.wireless.networks = {
+<xref linkend="opt-networking.wireless.networks"/> = {
   echelon = {
     psk = "abcdefgh";
   };
   "free.wifi" = {};
 }
 </programlisting>
-
-Be aware that keys will be written to the nix store in plaintext!
-
-When no networks are set, it will default to using a configuration file at
-<literal>/etc/wpa_supplicant.conf</literal>. You should edit this file
-yourself to define wireless networks, WPA keys and so on (see
-wpa_supplicant.conf(5)).
-</para>
-
-<para>
-If you are using WPA2 the <command>wpa_passphrase</command> tool might be useful
-to generate the <literal>wpa_supplicant.conf</literal>.
-
+  Be aware that keys will be written to the nix store in plaintext! When no
+  networks are set, it will default to using a configuration file at
+  <literal>/etc/wpa_supplicant.conf</literal>. You should edit this file
+  yourself to define wireless networks, WPA keys and so on (see
+  wpa_supplicant.conf(5)).
+ </para>
+
+ <para>
+  If you are using WPA2 the <command>wpa_passphrase</command> tool might be
+  useful to generate the <literal>wpa_supplicant.conf</literal>.
 <screen>
 # wpa_passphrase ESSID PSK > /etc/wpa_supplicant.conf</screen>
-
-After you have edited the <literal>wpa_supplicant.conf</literal>,
-you need to restart the wpa_supplicant service.
-
+  After you have edited the <literal>wpa_supplicant.conf</literal>, you need to
+  restart the wpa_supplicant service.
 <screen>
 # systemctl restart wpa_supplicant.service</screen>
-</para>
-
+ </para>
 </section>
diff --git a/nixos/doc/manual/configuration/x-windows.xml b/nixos/doc/manual/configuration/x-windows.xml
index 9c2c59006f1..9a0969ad635 100644
--- a/nixos/doc/manual/configuration/x-windows.xml
+++ b/nixos/doc/manual/configuration/x-windows.xml
@@ -3,138 +3,133 @@
          xmlns:xi="http://www.w3.org/2001/XInclude"
          version="5.0"
          xml:id="sec-x11">
-
-<title>X Window System</title>
-
-<para>The X Window System (X11) provides the basis of NixOS’ graphical
-user interface.  It can be enabled as follows:
+ <title>X Window System</title>
+ <para>
+  The X Window System (X11) provides the basis of NixOS’ graphical user
+  interface. It can be enabled as follows:
 <programlisting>
-services.xserver.enable = true;
+<xref linkend="opt-services.xserver.enable"/> = true;
 </programlisting>
-The X server will automatically detect and use the appropriate video
-driver from a set of X.org drivers (such as <literal>vesa</literal>
-and <literal>intel</literal>).  You can also specify a driver
-manually, e.g.
+  The X server will automatically detect and use the appropriate video driver
+  from a set of X.org drivers (such as <literal>vesa</literal> and
+  <literal>intel</literal>). You can also specify a driver manually, e.g.
 <programlisting>
-services.xserver.videoDrivers = [ "r128" ];
+<xref linkend="opt-services.xserver.videoDrivers"/> = [ "r128" ];
 </programlisting>
-to enable X.org’s <literal>xf86-video-r128</literal> driver.</para>
-
-<para>You also need to enable at least one desktop or window manager.
-Otherwise, you can only log into a plain undecorated
-<command>xterm</command> window.  Thus you should pick one or more of
-the following lines:
+  to enable X.org’s <literal>xf86-video-r128</literal> driver.
+ </para>
+ <para>
+  You also need to enable at least one desktop or window manager. Otherwise,
+  you can only log into a plain undecorated <command>xterm</command> window.
+  Thus you should pick one or more of the following lines:
 <programlisting>
-services.xserver.desktopManager.plasma5.enable = true;
-services.xserver.desktopManager.xfce.enable = true;
-services.xserver.desktopManager.gnome3.enable = true;
-services.xserver.windowManager.xmonad.enable = true;
-services.xserver.windowManager.twm.enable = true;
-services.xserver.windowManager.icewm.enable = true;
-services.xserver.windowManager.i3.enable = true;
+<xref linkend="opt-services.xserver.desktopManager.plasma5.enable"/> = true;
+<xref linkend="opt-services.xserver.desktopManager.xfce.enable"/> = true;
+<xref linkend="opt-services.xserver.desktopManager.gnome3.enable"/> = true;
+<xref linkend="opt-services.xserver.windowManager.xmonad.enable"/> = true;
+<xref linkend="opt-services.xserver.windowManager.twm.enable"/> = true;
+<xref linkend="opt-services.xserver.windowManager.icewm.enable"/> = true;
+<xref linkend="opt-services.xserver.windowManager.i3.enable"/> = true;
 </programlisting>
-</para>
-
-<para>NixOS’s default <emphasis>display manager</emphasis> (the
-program that provides a graphical login prompt and manages the X
-server) is SLiM. You can select an alternative one by picking one
-of the following lines:
+ </para>
+ <para>
+  NixOS’s default <emphasis>display manager</emphasis> (the program that
+  provides a graphical login prompt and manages the X server) is SLiM. You can
+  select an alternative one by picking one of the following lines:
 <programlisting>
-services.xserver.displayManager.sddm.enable = true;
-services.xserver.displayManager.lightdm.enable = true;
+<xref linkend="opt-services.xserver.displayManager.sddm.enable"/> = true;
+<xref linkend="opt-services.xserver.displayManager.lightdm.enable"/> = true;
 </programlisting>
-</para>
-
-<para>You can set the keyboard layout (and optionally the layout variant):
+ </para>
+ <para>
+  You can set the keyboard layout (and optionally the layout variant):
 <programlisting>
-services.xserver.layout = "de";
-services.xserver.xkbVariant = "neo";
+<xref linkend="opt-services.xserver.layout"/> = "de";
+<xref linkend="opt-services.xserver.xkbVariant"/> = "neo";
 </programlisting>
-</para>
-
-<para>The X server is started automatically at boot time.  If you
-don’t want this to happen, you can set:
+ </para>
+ <para>
+  The X server is started automatically at boot time. If you don’t want this
+  to happen, you can set:
 <programlisting>
-services.xserver.autorun = false;
+<xref linkend="opt-services.xserver.autorun"/> = false;
 </programlisting>
-The X server can then be started manually:
+  The X server can then be started manually:
 <screen>
 # systemctl start display-manager.service
 </screen>
-</para>
-
-
-<simplesect><title>NVIDIA Graphics Cards</title>
-
-<para>NVIDIA provides a proprietary driver for its graphics cards that
-has better 3D performance than the X.org drivers.  It is not enabled
-by default because it’s not free software.  You can enable it as follows:
+ </para>
+ <simplesect>
+  <title>NVIDIA Graphics Cards</title>
+  <para>
+   NVIDIA provides a proprietary driver for its graphics cards that has better
+   3D performance than the X.org drivers. It is not enabled by default because
+   it’s not free software. You can enable it as follows:
 <programlisting>
-services.xserver.videoDrivers = [ "nvidia" ];
+<xref linkend="opt-services.xserver.videoDrivers"/> = [ "nvidia" ];
 </programlisting>
-Or if you have an older card, you may have to use one of the legacy drivers:
+   Or if you have an older card, you may have to use one of the legacy drivers:
 <programlisting>
-services.xserver.videoDrivers = [ "nvidiaLegacy340" ];
-services.xserver.videoDrivers = [ "nvidiaLegacy304" ];
-services.xserver.videoDrivers = [ "nvidiaLegacy173" ];
+<xref linkend="opt-services.xserver.videoDrivers"/> = [ "nvidiaLegacy340" ];
+<xref linkend="opt-services.xserver.videoDrivers"/> = [ "nvidiaLegacy304" ];
+<xref linkend="opt-services.xserver.videoDrivers"/> = [ "nvidiaLegacy173" ];
 </programlisting>
-You may need to reboot after enabling this driver to prevent a clash
-with other kernel modules.</para>
-
-<para>On 64-bit systems, if you want full acceleration for 32-bit
-programs such as Wine, you should also set the following:
+   You may need to reboot after enabling this driver to prevent a clash with
+   other kernel modules.
+  </para>
+  <para>
+   On 64-bit systems, if you want full acceleration for 32-bit programs such as
+   Wine, you should also set the following:
 <programlisting>
-hardware.opengl.driSupport32Bit = true;
+<xref linkend="opt-hardware.opengl.driSupport32Bit"/> = true;
 </programlisting>
-</para>
-
-</simplesect>
-
-<simplesect><title>AMD Graphics Cards</title>
-
-<para>AMD provides a proprietary driver for its graphics cards that
-has better 3D performance than the X.org drivers.  It is not enabled
-by default because it’s not free software.  You can enable it as follows:
+  </para>
+ </simplesect>
+ <simplesect>
+  <title>AMD Graphics Cards</title>
+  <para>
+   AMD provides a proprietary driver for its graphics cards that has better 3D
+   performance than the X.org drivers. It is not enabled by default because
+   it’s not free software. You can enable it as follows:
 <programlisting>
-services.xserver.videoDrivers = [ "ati_unfree" ];
+<xref linkend="opt-services.xserver.videoDrivers"/> = [ "ati_unfree" ];
 </programlisting>
-You will need to reboot after enabling this driver to prevent a clash
-with other kernel modules.</para>
-
-<para>On 64-bit systems, if you want full acceleration for 32-bit
-programs such as Wine, you should also set the following:
+   You will need to reboot after enabling this driver to prevent a clash with
+   other kernel modules.
+  </para>
+  <para>
+   On 64-bit systems, if you want full acceleration for 32-bit programs such as
+   Wine, you should also set the following:
 <programlisting>
-hardware.opengl.driSupport32Bit = true;
+<xref linkend="opt-hardware.opengl.driSupport32Bit"/> = true;
 </programlisting>
-</para>
-
-</simplesect>
-
-<simplesect><title>Touchpads</title>
-
-<para>Support for Synaptics touchpads (found in many laptops such as
-the Dell Latitude series) can be enabled as follows:
+  </para>
+ </simplesect>
+ <simplesect>
+  <title>Touchpads</title>
+  <para>
+   Support for Synaptics touchpads (found in many laptops such as the Dell
+   Latitude series) can be enabled as follows:
 <programlisting>
-services.xserver.libinput.enable = true;
+<xref linkend="opt-services.xserver.libinput.enable"/> = true;
 </programlisting>
-The driver has many options (see <xref linkend="ch-options"/>).  For
-instance, the following disables tap-to-click behavior:
+   The driver has many options (see <xref linkend="ch-options"/>). For
+   instance, the following disables tap-to-click behavior:
 <programlisting>
-services.xserver.libinput.tapping = false;
+<xref linkend="opt-services.xserver.libinput.tapping"/> = false;
 </programlisting>
-Note: the use of <literal>services.xserver.synaptics</literal> is deprecated since NixOS 17.09.
-</para>
-
-</simplesect>
-
-<simplesect><title>GTK/Qt themes</title>
-
-<para>GTK themes can be installed either to user profile or system-wide (via
-<literal>environment.systemPackages</literal>). To make Qt 5 applications look similar
-to GTK2 ones, you can install <literal>qt5.qtbase.gtk</literal> package into your
-system environment. It should work for all Qt 5 library versions.
-</para>
-
-</simplesect>
-
+   Note: the use of <literal>services.xserver.synaptics</literal> is deprecated
+   since NixOS 17.09.
+  </para>
+ </simplesect>
+ <simplesect>
+  <title>GTK/Qt themes</title>
+  <para>
+   GTK themes can be installed either to user profile or system-wide (via
+   <literal>environment.systemPackages</literal>). To make Qt 5 applications
+   look similar to GTK2 ones, you can install <literal>qt5.qtbase.gtk</literal>
+   package into your system environment. It should work for all Qt 5 library
+   versions.
+  </para>
+ </simplesect>
 </chapter>
diff --git a/nixos/doc/manual/configuration/xfce.xml b/nixos/doc/manual/configuration/xfce.xml
index 18804d2c08b..40e61d2bd69 100644
--- a/nixos/doc/manual/configuration/xfce.xml
+++ b/nixos/doc/manual/configuration/xfce.xml
@@ -3,92 +3,70 @@
          xmlns:xi="http://www.w3.org/2001/XInclude"
          version="5.0"
          xml:id="sec-xfce">
-
-    <title>Xfce Desktop Environment</title>
-
-    <para>
-        To enable the Xfce Desktop Environment, set
-        <programlisting>
-services.xserver.desktopManager = {
-    xfce.enable = true;
-    default = "xfce";
+ <title>Xfce Desktop Environment</title>
+ <para>
+  To enable the Xfce Desktop Environment, set
+<programlisting>
+<link linkend="opt-services.xserver.desktopManager.default">services.xserver.desktopManager</link> = {
+  <link linkend="opt-services.xserver.desktopManager.xfce.enable">xfce.enable</link> = true;
+  <link linkend="opt-services.xserver.desktopManager.default">default</link> = "xfce";
 };
         </programlisting>
-    </para>
-
-    <para>
-        Optionally, <emphasis>compton</emphasis>
-        can be enabled for nice graphical effects, some example settings:
-        <programlisting>
-services.compton = {
-  enable          = true;
-  fade            = true;
-  inactiveOpacity = "0.9";
-  shadow          = true;
-  fadeDelta       = 4;
+ </para>
+ <para>
+  Optionally, <emphasis>compton</emphasis> can be enabled for nice graphical
+  effects, some example settings:
+<programlisting>
+<link linkend="opt-services.compton.enable">services.compton</link> = {
+  <link linkend="opt-services.compton.enable">enable</link>          = true;
+  <link linkend="opt-services.compton.fade">fade</link>            = true;
+  <link linkend="opt-services.compton.inactiveOpacity">inactiveOpacity</link> = "0.9";
+  <link linkend="opt-services.compton.shadow">shadow</link>          = true;
+  <link linkend="opt-services.compton.fadeDelta">fadeDelta</link>       = 4;
 };
         </programlisting>
-    </para>
-
-    <para>
-        Some Xfce programs are not installed automatically.
-        To install them manually (system wide), put them into your
-        <literal>environment.systemPackages</literal>.
-    </para>
-         
-    <simplesect>
-        <title>Thunar Volume Support</title>
-
-        <para>
-            To enable
-            <emphasis>Thunar</emphasis>
-            volume support, put
-            <programlisting>
-services.xserver.desktopManager.xfce.enable = true;
+ </para>
+ <para>
+  Some Xfce programs are not installed automatically. To install them manually
+  (system wide), put them into your
+  <xref linkend="opt-environment.systemPackages"/>.
+ </para>
+ <simplesect>
+  <title>Thunar Volume Support</title>
+  <para>
+   To enable <emphasis>Thunar</emphasis> volume support, put
+<programlisting>
+<xref linkend="opt-services.xserver.desktopManager.xfce.enable"/> = true;
             </programlisting>
-            into your <emphasis>configuration.nix</emphasis>.
-        </para>
-
-    </simplesect>
-
-    <simplesect>
-        <title>Polkit Authentication Agent</title>
-
-        <para>
-            There is no authentication agent automatically installed alongside
-            Xfce. To allow mounting of local (non-removable) filesystems, you
-            will need to install one.
-
-            Installing <emphasis>polkit_gnome</emphasis>, a rebuild, logout and
-            login did the trick.
-        </para>
-
-    </simplesect>
-
-    <simplesect>
-        <title>Troubleshooting</title>
-
-        <para>
-            Even after enabling udisks2, volume management might not work.
-            Thunar and/or the desktop takes time to show up.
-
-            Thunar will spit out this kind of message on start
-            (look at <command>journalctl --user -b</command>).
-
-            <programlisting>
+   into your <emphasis>configuration.nix</emphasis>.
+  </para>
+ </simplesect>
+ <simplesect>
+  <title>Polkit Authentication Agent</title>
+  <para>
+   There is no authentication agent automatically installed alongside Xfce. To
+   allow mounting of local (non-removable) filesystems, you will need to
+   install one. Installing <emphasis>polkit_gnome</emphasis>, a rebuild, logout
+   and login did the trick.
+  </para>
+ </simplesect>
+ <simplesect>
+  <title>Troubleshooting</title>
+  <para>
+   Even after enabling udisks2, volume management might not work. Thunar and/or
+   the desktop takes time to show up. Thunar will spit out this kind of message
+   on start (look at <command>journalctl --user -b</command>).
+<programlisting>
 Thunar:2410): GVFS-RemoteVolumeMonitor-WARNING **: remote volume monitor with dbus name org.gtk.Private.UDisks2VolumeMonitor is not supported
             </programlisting>
-
-            This is caused by some needed GNOME services not running.
-            This is all fixed by enabling "Launch GNOME services on startup" in
-            the Advanced tab of the Session and Startup settings panel.
-            Alternatively, you can run this command to do the same thing.
-            <programlisting>
+   This is caused by some needed GNOME services not running. This is all fixed
+   by enabling "Launch GNOME services on startup" in the Advanced tab of the
+   Session and Startup settings panel. Alternatively, you can run this command
+   to do the same thing.
+<programlisting>
 $ xfconf-query -c xfce4-session -p /compat/LaunchGNOME -s true
             </programlisting>
-            A log-out and re-log will be needed for this to take effect.
-        </para>
-
-    </simplesect>
-
+   A log-out and re-log will be needed for this to take effect.
+  </para>
+ </simplesect>
 </chapter>
diff --git a/nixos/doc/manual/default.nix b/nixos/doc/manual/default.nix
index 6098b057a37..2c6309474b3 100644
--- a/nixos/doc/manual/default.nix
+++ b/nixos/doc/manual/default.nix
@@ -87,7 +87,7 @@ let
       echo "for hints about the offending path)."
       exit 1
     fi
-    ${libxslt.bin}/bin/xsltproc \
+    ${buildPackages.libxslt.bin}/bin/xsltproc \
       --stringparam revision '${revision}' \
       -o $out ${./options-to-docbook.xsl} $optionsXML
   '';
@@ -102,13 +102,18 @@ let
     </section>
   '';
 
+  generatedSources = runCommand "generated-docbook" {} ''
+    mkdir $out
+    ln -s ${modulesDoc} $out/modules.xml
+    ln -s ${optionsDocBook} $out/options-db.xml
+    printf "%s" "${version}" > $out/version
+  '';
+
   copySources =
     ''
       cp -prd $sources/* . # */
+      ln -s ${generatedSources} ./generated
       chmod -R u+w .
-      ln -s ${modulesDoc} configuration/modules.xml
-      ln -s ${optionsDocBook} options-db.xml
-      printf "%s" "${version}" > version
     '';
 
   toc = builtins.toFile "toc.xml"
@@ -124,11 +129,12 @@ let
   manualXsltprocOptions = toString [
     "--param section.autolabel 1"
     "--param section.label.includes.component.label 1"
-    "--stringparam html.stylesheet style.css"
+    "--stringparam html.stylesheet 'style.css overrides.css highlightjs/mono-blue.css'"
+    "--stringparam html.script './highlightjs/highlight.pack.js ./highlightjs/loader.js'"
     "--param xref.with.number.and.title 1"
     "--param toc.section.depth 3"
     "--stringparam admon.style ''"
-    "--stringparam callout.graphics.extension .gif"
+    "--stringparam callout.graphics.extension .svg"
     "--stringparam current.docid manual"
     "--param chunk.section.depth 0"
     "--param chunk.first.sections 1"
@@ -139,7 +145,7 @@ let
 
   manual-combined = runCommand "nixos-manual-combined"
     { inherit sources;
-      buildInputs = [ libxml2 libxslt ];
+      nativeBuildInputs = [ buildPackages.libxml2.bin buildPackages.libxslt.bin ];
       meta.description = "The NixOS manual as plain docbook XML";
     }
     ''
@@ -194,7 +200,7 @@ let
 
   olinkDB = runCommand "manual-olinkdb"
     { inherit sources;
-      buildInputs = [ libxml2 libxslt ];
+      nativeBuildInputs = [ buildPackages.libxml2.bin buildPackages.libxslt.bin ];
     }
     ''
       xsltproc \
@@ -223,6 +229,7 @@ let
     '';
 
 in rec {
+  inherit generatedSources;
 
   # The NixOS options in JSON format.
   optionsJSON = runCommand "options-json"
@@ -244,7 +251,7 @@ in rec {
   # Generate the NixOS manual.
   manual = runCommand "nixos-manual"
     { inherit sources;
-      buildInputs = [ libxml2 libxslt ];
+      nativeBuildInputs = [ buildPackages.libxml2.bin buildPackages.libxslt.bin ];
       meta.description = "The NixOS manual in HTML format";
       allowedReferences = ["out"];
     }
@@ -260,9 +267,11 @@ in rec {
         ${manual-combined}/manual-combined.xml
 
       mkdir -p $dst/images/callouts
-      cp ${docbook5_xsl}/xml/xsl/docbook/images/callouts/*.gif $dst/images/callouts/
+      cp ${docbook5_xsl}/xml/xsl/docbook/images/callouts/*.svg $dst/images/callouts/
 
-      cp ${./style.css} $dst/style.css
+      cp ${../../../doc/style.css} $dst/style.css
+      cp ${../../../doc/overrides.css} $dst/overrides.css
+      cp -r ${pkgs.documentation-highlighter} $dst/highlightjs
 
       mkdir -p $out/nix-support
       echo "nix-build out $out" >> $out/nix-support/hydra-build-products
@@ -272,7 +281,7 @@ in rec {
 
   manualEpub = runCommand "nixos-manual-epub"
     { inherit sources;
-      buildInputs = [ libxml2 libxslt zip ];
+      buildInputs = [ libxml2.bin libxslt.bin zip ];
     }
     ''
       # Generate the epub manual.
@@ -286,7 +295,7 @@ in rec {
         ${manual-combined}/manual-combined.xml
 
       mkdir -p $dst/epub/OEBPS/images/callouts
-      cp -r ${docbook5_xsl}/xml/xsl/docbook/images/callouts/*.gif $dst/epub/OEBPS/images/callouts # */
+      cp -r ${docbook5_xsl}/xml/xsl/docbook/images/callouts/*.svg $dst/epub/OEBPS/images/callouts # */
       echo "application/epub+zip" > mimetype
       manual="$dst/nixos-manual.epub"
       zip -0Xq "$manual" mimetype
@@ -302,7 +311,7 @@ in rec {
   # Generate the NixOS manpages.
   manpages = runCommand "nixos-manpages"
     { inherit sources;
-      buildInputs = [ libxml2 libxslt ];
+      nativeBuildInputs = [ buildPackages.libxml2.bin buildPackages.libxslt.bin ];
       allowedReferences = ["out"];
     }
     ''
diff --git a/nixos/doc/manual/development/assertions.xml b/nixos/doc/manual/development/assertions.xml
index d3434e1f112..17c38ffcc71 100644
--- a/nixos/doc/manual/development/assertions.xml
+++ b/nixos/doc/manual/development/assertions.xml
@@ -3,30 +3,29 @@
         xmlns:xi="http://www.w3.org/2001/XInclude"
         version="5.0"
         xml:id="sec-assertions">
+ <title>Warnings and Assertions</title>
 
-<title>Warnings and Assertions</title>
+ <para>
+  When configuration problems are detectable in a module, it is a good idea to
+  write an assertion or warning. Doing so provides clear feedback to the user
+  and prevents errors after the build.
+ </para>
 
-<para>
-  When configuration problems are detectable in a module, it is a good
-  idea to write an assertion or warning. Doing so provides clear
-  feedback to the user and prevents errors after the build.
-</para>
-
-<para>
+ <para>
   Although Nix has the <literal>abort</literal> and
-  <literal>builtins.trace</literal> <link xlink:href="https://nixos.org/nix/manual/#ssec-builtins">functions</link> to perform such tasks,
-  they are not ideally suited for NixOS modules. Instead of these
-  functions, you can declare your warnings and assertions using the
+  <literal>builtins.trace</literal>
+  <link xlink:href="https://nixos.org/nix/manual/#ssec-builtins">functions</link>
+  to perform such tasks, they are not ideally suited for NixOS modules. Instead
+  of these functions, you can declare your warnings and assertions using the
   NixOS module system.
-</para>
-
-<section>
+ </para>
 
-<title>Warnings</title>
+ <section>
+  <title>Warnings</title>
 
-<para>
-  This is an example of using <literal>warnings</literal>.
-</para>
+  <para>
+   This is an example of using <literal>warnings</literal>.
+  </para>
 
 <programlisting>
 <![CDATA[
@@ -43,22 +42,19 @@
 }
 ]]>
 </programlisting>
+ </section>
 
-</section>
-
-<section>
-
-<title>Assertions</title>
+ <section>
+  <title>Assertions</title>
 
-
-<para>
-  This example, extracted from the
-  <link xlink:href="https://github.com/NixOS/nixpkgs/blob/release-17.09/nixos/modules/services/logging/syslogd.nix">
-    <literal>syslogd</literal> module
-  </link> shows how to use <literal>assertions</literal>. Since there
-  can only be one active syslog daemon at a time, an assertion is useful to
-  prevent such a broken system from being built.
-</para>
+  <para>
+   This example, extracted from the
+   <link xlink:href="https://github.com/NixOS/nixpkgs/blob/release-17.09/nixos/modules/services/logging/syslogd.nix">
+   <literal>syslogd</literal> module </link> shows how to use
+   <literal>assertions</literal>. Since there can only be one active syslog
+   daemon at a time, an assertion is useful to prevent such a broken system
+   from being built.
+  </para>
 
 <programlisting>
 <![CDATA[
@@ -74,7 +70,5 @@
 }
 ]]>
 </programlisting>
-
-</section>
-
+ </section>
 </section>
diff --git a/nixos/doc/manual/development/building-nixos.xml b/nixos/doc/manual/development/building-nixos.xml
index 2f963f8666f..23d9ddf88a7 100644
--- a/nixos/doc/manual/development/building-nixos.xml
+++ b/nixos/doc/manual/development/building-nixos.xml
@@ -3,30 +3,25 @@
         xmlns:xi="http://www.w3.org/2001/XInclude"
         version="5.0"
         xml:id="sec-building-cd">
-
-<title>Building Your Own NixOS CD</title>
-
-<para>Building a NixOS CD is as easy as configuring your own computer. The
-idea is to use another module which will replace
-your <filename>configuration.nix</filename> to configure the system that
-would be installed on the CD.</para>
-
-<para>Default CD/DVD configurations are available
-inside <filename>nixos/modules/installer/cd-dvd</filename>.
-
+ <title>Building Your Own NixOS CD</title>
+ <para>
+  Building a NixOS CD is as easy as configuring your own computer. The idea is
+  to use another module which will replace your
+  <filename>configuration.nix</filename> to configure the system that would be
+  installed on the CD.
+ </para>
+ <para>
+  Default CD/DVD configurations are available inside
+  <filename>nixos/modules/installer/cd-dvd</filename>.
 <screen>
 $ git clone https://github.com/NixOS/nixpkgs.git
 $ cd nixpkgs/nixos
 $ nix-build -A config.system.build.isoImage -I nixos-config=modules/installer/cd-dvd/installation-cd-minimal.nix default.nix</screen>
-
-</para>
-
-<para>Before burning your CD/DVD, you can check the content of the image by mounting anywhere like
-suggested by the following command:
-
+ </para>
+ <para>
+  Before burning your CD/DVD, you can check the content of the image by
+  mounting anywhere like suggested by the following command:
 <screen>
 # mount -o loop -t iso9660 ./result/iso/cd.iso /mnt/iso</screen>
-
-</para>
-
+ </para>
 </chapter>
diff --git a/nixos/doc/manual/development/building-parts.xml b/nixos/doc/manual/development/building-parts.xml
index 09a40114f02..031048aaa37 100644
--- a/nixos/doc/manual/development/building-parts.xml
+++ b/nixos/doc/manual/development/building-parts.xml
@@ -3,111 +3,110 @@
         xmlns:xi="http://www.w3.org/2001/XInclude"
         version="5.0"
         xml:id="sec-building-parts">
-
-<title>Building Specific Parts of NixOS</title>
-
-<para>With the command <command>nix-build</command>, you can build
-specific parts of your NixOS configuration.  This is done as follows:
-
+ <title>Building Specific Parts of NixOS</title>
+ <para>
+  With the command <command>nix-build</command>, you can build specific parts
+  of your NixOS configuration. This is done as follows:
 <screen>
 $ cd <replaceable>/path/to/nixpkgs/nixos</replaceable>
 $ nix-build -A config.<replaceable>option</replaceable></screen>
-
-where <replaceable>option</replaceable> is a NixOS option with type
-“derivation” (i.e. something that can be built).  Attributes of
-interest include:
-
-<variablelist>
-
-  <varlistentry>
-    <term><varname>system.build.toplevel</varname></term>
+  where <replaceable>option</replaceable> is a NixOS option with type
+  “derivation” (i.e. something that can be built). Attributes of interest
+  include:
+  <variablelist>
+   <varlistentry>
+    <term><varname>system.build.toplevel</varname>
+    </term>
     <listitem>
-      <para>The top-level option that builds the entire NixOS system.
-      Everything else in your configuration is indirectly pulled in by
-      this option.  This is what <command>nixos-rebuild</command>
-      builds and what <filename>/run/current-system</filename> points
-      to afterwards.</para>
-
-      <para>A shortcut to build this is:
-
+     <para>
+      The top-level option that builds the entire NixOS system. Everything else
+      in your configuration is indirectly pulled in by this option. This is
+      what <command>nixos-rebuild</command> builds and what
+      <filename>/run/current-system</filename> points to afterwards.
+     </para>
+     <para>
+      A shortcut to build this is:
 <screen>
 $ nix-build -A system</screen>
-      </para>
+     </para>
     </listitem>
-  </varlistentry>
-
-  <varlistentry>
-    <term><varname>system.build.manual.manual</varname></term>
-    <listitem><para>The NixOS manual.</para></listitem>
-  </varlistentry>
-
-  <varlistentry>
-    <term><varname>system.build.etc</varname></term>
-    <listitem><para>A tree of symlinks that form the static parts of
-    <filename>/etc</filename>.</para></listitem>
-  </varlistentry>
-
-  <varlistentry>
-    <term><varname>system.build.initialRamdisk</varname></term>
-    <term><varname>system.build.kernel</varname></term>
+   </varlistentry>
+   <varlistentry>
+    <term><varname>system.build.manual.manual</varname>
+    </term>
     <listitem>
-      <para>The initial ramdisk and kernel of the system.  This allows
-      a quick way to test whether the kernel and the initial ramdisk
-      boot correctly, by using QEMU’s <option>-kernel</option> and
-      <option>-initrd</option> options:
-
+     <para>
+      The NixOS manual.
+     </para>
+    </listitem>
+   </varlistentry>
+   <varlistentry>
+    <term><varname>system.build.etc</varname>
+    </term>
+    <listitem>
+     <para>
+      A tree of symlinks that form the static parts of
+      <filename>/etc</filename>.
+     </para>
+    </listitem>
+   </varlistentry>
+   <varlistentry>
+    <term><varname>system.build.initialRamdisk</varname>
+    </term>
+    <term><varname>system.build.kernel</varname>
+    </term>
+    <listitem>
+     <para>
+      The initial ramdisk and kernel of the system. This allows a quick way to
+      test whether the kernel and the initial ramdisk boot correctly, by using
+      QEMU’s <option>-kernel</option> and <option>-initrd</option> options:
 <screen>
 $ nix-build -A config.system.build.initialRamdisk -o initrd
 $ nix-build -A config.system.build.kernel -o kernel
 $ qemu-system-x86_64 -kernel ./kernel/bzImage -initrd ./initrd/initrd -hda /dev/null
 </screen>
-
-      </para>
+     </para>
     </listitem>
-  </varlistentry>
-
-  <varlistentry>
-    <term><varname>system.build.nixos-rebuild</varname></term>
-    <term><varname>system.build.nixos-install</varname></term>
-    <term><varname>system.build.nixos-generate-config</varname></term>
+   </varlistentry>
+   <varlistentry>
+    <term><varname>system.build.nixos-rebuild</varname>
+    </term>
+    <term><varname>system.build.nixos-install</varname>
+    </term>
+    <term><varname>system.build.nixos-generate-config</varname>
+    </term>
     <listitem>
-      <para>These build the corresponding NixOS commands.</para>
+     <para>
+      These build the corresponding NixOS commands.
+     </para>
     </listitem>
-  </varlistentry>
-
-  <varlistentry>
-    <term><varname>systemd.units.<replaceable>unit-name</replaceable>.unit</varname></term>
+   </varlistentry>
+   <varlistentry>
+    <term><varname>systemd.units.<replaceable>unit-name</replaceable>.unit</varname>
+    </term>
     <listitem>
-      <para>This builds the unit with the specified name.  Note that
-      since unit names contain dots
-      (e.g. <literal>httpd.service</literal>), you need to put them
-      between quotes, like this:
-
+     <para>
+      This builds the unit with the specified name. Note that since unit names
+      contain dots (e.g. <literal>httpd.service</literal>), you need to put
+      them between quotes, like this:
 <screen>
 $ nix-build -A 'config.systemd.units."httpd.service".unit'
 </screen>
-
-      You can also test individual units, without rebuilding the whole
-      system, by putting them in
-      <filename>/run/systemd/system</filename>:
-
+      You can also test individual units, without rebuilding the whole system,
+      by putting them in <filename>/run/systemd/system</filename>:
 <screen>
 $ cp $(nix-build -A 'config.systemd.units."httpd.service".unit')/httpd.service \
     /run/systemd/system/tmp-httpd.service
 # systemctl daemon-reload
 # systemctl start tmp-httpd.service
 </screen>
-
       Note that the unit must not have the same name as any unit in
-      <filename>/etc/systemd/system</filename> since those take
-      precedence over <filename>/run/systemd/system</filename>.
-      That’s why the unit is installed as
-      <filename>tmp-httpd.service</filename> here.</para>
+      <filename>/etc/systemd/system</filename> since those take precedence over
+      <filename>/run/systemd/system</filename>. That’s why the unit is
+      installed as <filename>tmp-httpd.service</filename> here.
+     </para>
     </listitem>
-  </varlistentry>
-
-</variablelist>
-
-</para>
-
+   </varlistentry>
+  </variablelist>
+ </para>
 </chapter>
diff --git a/nixos/doc/manual/development/development.xml b/nixos/doc/manual/development/development.xml
index 47343d93cde..03dee6ff09b 100644
--- a/nixos/doc/manual/development/development.xml
+++ b/nixos/doc/manual/development/development.xml
@@ -3,21 +3,18 @@
         xmlns:xi="http://www.w3.org/2001/XInclude"
         version="5.0"
         xml:id="ch-development">
-
-<title>Development</title>
-
-<partintro>
-<para>This chapter describes how you can modify and extend
-NixOS.</para>
-</partintro>
-
-<xi:include href="sources.xml" />
-<xi:include href="writing-modules.xml" />
-<xi:include href="building-parts.xml" />
-<xi:include href="writing-documentation.xml" />
-<xi:include href="building-nixos.xml" />
-<xi:include href="nixos-tests.xml" />
-<xi:include href="testing-installer.xml" />
-<xi:include href="releases.xml" />
-
+ <title>Development</title>
+ <partintro>
+  <para>
+   This chapter describes how you can modify and extend NixOS.
+  </para>
+ </partintro>
+ <xi:include href="sources.xml" />
+ <xi:include href="writing-modules.xml" />
+ <xi:include href="building-parts.xml" />
+ <xi:include href="writing-documentation.xml" />
+ <xi:include href="building-nixos.xml" />
+ <xi:include href="nixos-tests.xml" />
+ <xi:include href="testing-installer.xml" />
+ <xi:include href="releases.xml" />
 </part>
diff --git a/nixos/doc/manual/development/importing-modules.xml b/nixos/doc/manual/development/importing-modules.xml
new file mode 100644
index 00000000000..1c6a5671eda
--- /dev/null
+++ b/nixos/doc/manual/development/importing-modules.xml
@@ -0,0 +1,56 @@
+<section xmlns="http://docbook.org/ns/docbook"
+         xmlns:xlink="http://www.w3.org/1999/xlink"
+         xmlns:xi="http://www.w3.org/2001/XInclude"
+         version="5.0"
+         xml:id="sec-importing-modules">
+ <title>Importing Modules</title>
+
+ <para>
+  Sometimes NixOS modules need to be used in configuration but exist outside of
+  Nixpkgs. These modules can be imported:
+ </para>
+
+<programlisting>
+{ config, lib, pkgs, ... }:
+
+{
+  imports =
+    [ # Use a locally-available module definition in
+      # ./example-module/default.nix
+        ./example-module
+    ];
+
+  services.exampleModule.enable = true;
+}
+</programlisting>
+
+ <para>
+  The environment variable <literal>NIXOS_EXTRA_MODULE_PATH</literal> is an
+  absolute path to a NixOS module that is included alongside the Nixpkgs NixOS
+  modules. Like any NixOS module, this module can import additional modules:
+ </para>
+
+<programlisting>
+# ./module-list/default.nix
+[
+  ./example-module1
+  ./example-module2
+]
+</programlisting>
+
+<programlisting>
+# ./extra-module/default.nix
+{ imports = import ./module-list.nix; }
+</programlisting>
+
+<programlisting>
+# NIXOS_EXTRA_MODULE_PATH=/absolute/path/to/extra-module
+{ config, lib, pkgs, ... }:
+
+{
+  # No `imports` needed
+
+  services.exampleModule1.enable = true;
+}
+</programlisting>
+</section>
diff --git a/nixos/doc/manual/development/meta-attributes.xml b/nixos/doc/manual/development/meta-attributes.xml
index de0870314dc..3d019a4987e 100644
--- a/nixos/doc/manual/development/meta-attributes.xml
+++ b/nixos/doc/manual/development/meta-attributes.xml
@@ -3,22 +3,26 @@
         xmlns:xi="http://www.w3.org/2001/XInclude"
         version="5.0"
         xml:id="sec-meta-attributes">
+ <title>Meta Attributes</title>
 
-<title>Meta Attributes</title>
-
-<para>Like Nix packages, NixOS modules can declare meta-attributes to provide
-  extra information. Module meta attributes are defined in the
+ <para>
+  Like Nix packages, NixOS modules can declare meta-attributes to provide extra
+  information. Module meta attributes are defined in the
   <filename
     xlink:href="https://github.com/NixOS/nixpkgs/blob/master/nixos/modules/misc/meta.nix">meta.nix</filename>
-  special module.</para>
+  special module.
+ </para>
 
-<para><literal>meta</literal> is a top level attribute like
+ <para>
+  <literal>meta</literal> is a top level attribute like
   <literal>options</literal> and <literal>config</literal>. Available
   meta-attributes are <literal>maintainers</literal> and
-  <literal>doc</literal>.</para>
+  <literal>doc</literal>.
+ </para>
 
-<para>Each of the meta-attributes must be defined at most once per module
-  file.</para>
+ <para>
+  Each of the meta-attributes must be defined at most once per module file.
+ </para>
 
 <programlisting>
 { config, lib, pkgs, ... }:
@@ -39,24 +43,21 @@
 }
 </programlisting>
 
-<calloutlist>
- <callout arearefs='modules-meta-1'>
-  <para>
+ <calloutlist>
+  <callout arearefs='modules-meta-1'>
+   <para>
     <varname>maintainers</varname> contains a list of the module maintainers.
-  </para>
- </callout>
-
- <callout arearefs='modules-meta-2'>
-  <para>
+   </para>
+  </callout>
+  <callout arearefs='modules-meta-2'>
+   <para>
     <varname>doc</varname> points to a valid DocBook file containing the module
-    documentation. Its contents is automatically added to <xref
-      linkend="ch-configuration"/>.
-    Changes to a module documentation have to be checked to not break
-    building the NixOS manual:
-  </para>
-  <programlisting>$ nix-build nixos/release.nix -A manual</programlisting>
- </callout>
-
-</calloutlist>
-
+    documentation. Its contents is automatically added to
+    <xref
+      linkend="ch-configuration"/>. Changes to a module documentation
+    have to be checked to not break building the NixOS manual:
+   </para>
+<programlisting>$ nix-build nixos/release.nix -A manual</programlisting>
+  </callout>
+ </calloutlist>
 </section>
diff --git a/nixos/doc/manual/development/nixos-tests.xml b/nixos/doc/manual/development/nixos-tests.xml
index c09c41ea3bd..2695082e386 100644
--- a/nixos/doc/manual/development/nixos-tests.xml
+++ b/nixos/doc/manual/development/nixos-tests.xml
@@ -3,18 +3,17 @@
         xmlns:xi="http://www.w3.org/2001/XInclude"
         version="5.0"
         xml:id="sec-nixos-tests">
-
-<title>NixOS Tests</title>
-
-<para>When you add some feature to NixOS, you should write a test for
-it. NixOS tests are kept in the directory <filename
+ <title>NixOS Tests</title>
+ <para>
+  When you add some feature to NixOS, you should write a test for it. NixOS
+  tests are kept in the directory
+  <filename
 xlink:href="https://github.com/NixOS/nixpkgs/tree/master/nixos/tests">nixos/tests</filename>,
-and are executed (using Nix) by a testing framework that automatically
-starts one or more virtual machines containing the NixOS system(s)
-required for the test.</para>
-
-<xi:include href="writing-nixos-tests.xml" />
-<xi:include href="running-nixos-tests.xml" />
-<xi:include href="running-nixos-tests-interactively.xml" />
-
+  and are executed (using Nix) by a testing framework that automatically starts
+  one or more virtual machines containing the NixOS system(s) required for the
+  test.
+ </para>
+ <xi:include href="writing-nixos-tests.xml" />
+ <xi:include href="running-nixos-tests.xml" />
+ <xi:include href="running-nixos-tests-interactively.xml" />
 </chapter>
diff --git a/nixos/doc/manual/development/option-declarations.xml b/nixos/doc/manual/development/option-declarations.xml
index ed718c89eb7..a8f528a0a80 100644
--- a/nixos/doc/manual/development/option-declarations.xml
+++ b/nixos/doc/manual/development/option-declarations.xml
@@ -3,14 +3,12 @@
         xmlns:xi="http://www.w3.org/2001/XInclude"
         version="5.0"
         xml:id="sec-option-declarations">
+ <title>Option Declarations</title>
 
-<title>Option Declarations</title>
-
-<para>An option declaration specifies the name, type and description
-of a NixOS configuration option.  It is invalid to define an option
-that hasn’t been declared in any module.  An option declaration
-generally looks like this:
-
+ <para>
+  An option declaration specifies the name, type and description of a NixOS
+  configuration option. It is invalid to define an option that hasn’t been
+  declared in any module. An option declaration generally looks like this:
 <programlisting>
 options = {
   <replaceable>name</replaceable> = mkOption {
@@ -21,146 +19,177 @@ options = {
   };
 };
 </programlisting>
-
-The attribute names within the <replaceable>name</replaceable>
-attribute path must be camel cased in general but should, as an
-exception, match the
-<link
+  The attribute names within the <replaceable>name</replaceable> attribute path
+  must be camel cased in general but should, as an exception, match the
+  <link
 xlink:href="https://nixos.org/nixpkgs/manual/#sec-package-naming">
-package attribute name</link> when referencing a Nixpkgs package. For
-example, the option <varname>services.nix-serve.bindAddress</varname>
-references the <varname>nix-serve</varname> Nixpkgs package.
-
-</para>
-
-<para>The function <varname>mkOption</varname> accepts the following arguments.
-
-<variablelist>
-
-  <varlistentry>
-    <term><varname>type</varname></term>
+  package attribute name</link> when referencing a Nixpkgs package. For
+  example, the option <varname>services.nix-serve.bindAddress</varname>
+  references the <varname>nix-serve</varname> Nixpkgs package.
+ </para>
+
+ <para>
+  The function <varname>mkOption</varname> accepts the following arguments.
+  <variablelist>
+   <varlistentry>
+    <term><varname>type</varname>
+    </term>
     <listitem>
-      <para>The type of the option (see <xref linkend='sec-option-types' />).
-      It may be omitted, but that’s not advisable since it may lead to errors
-      that are hard to diagnose.</para>
+     <para>
+      The type of the option (see <xref linkend='sec-option-types' />). It may
+      be omitted, but that’s not advisable since it may lead to errors that
+      are hard to diagnose.
+     </para>
     </listitem>
-  </varlistentry>
-
-  <varlistentry>
-    <term><varname>default</varname></term>
+   </varlistentry>
+   <varlistentry>
+    <term><varname>default</varname>
+    </term>
     <listitem>
-      <para>The default value used if no value is defined by any
-      module.  A default is not required; but if a default is not given,
-      then users of the module will have to define the value of the
-      option, otherwise an error will be thrown.</para>
+     <para>
+      The default value used if no value is defined by any module. A default is
+      not required; but if a default is not given, then users of the module
+      will have to define the value of the option, otherwise an error will be
+      thrown.
+     </para>
     </listitem>
-  </varlistentry>
-
-  <varlistentry>
-    <term><varname>example</varname></term>
+   </varlistentry>
+   <varlistentry>
+    <term><varname>example</varname>
+    </term>
     <listitem>
-      <para>An example value that will be shown in the NixOS manual.</para>
+     <para>
+      An example value that will be shown in the NixOS manual.
+     </para>
     </listitem>
-  </varlistentry>
-
-  <varlistentry>
-    <term><varname>description</varname></term>
+   </varlistentry>
+   <varlistentry>
+    <term><varname>description</varname>
+    </term>
     <listitem>
-      <para>A textual description of the option, in DocBook format,
-      that will be included in the NixOS manual.</para>
+     <para>
+      A textual description of the option, in DocBook format, that will be
+      included in the NixOS manual.
+     </para>
     </listitem>
-  </varlistentry>
-
-</variablelist>
-
-</para>
-
-<section xml:id="sec-option-declarations-eot"><title>Extensible Option
-    Types</title>
-
-  <para>Extensible option types is a feature that allow to extend certain types
-    declaration through multiple module files.
-    This feature only work with a restricted set of types, namely
-    <literal>enum</literal> and <literal>submodules</literal> and any composed
-    forms of them.</para>
-
-  <para>Extensible option types can be used for <literal>enum</literal> options
-    that affects multiple modules, or as an alternative to related
-    <literal>enable</literal> options.</para>
+   </varlistentry>
+  </variablelist>
+ </para>
+
+ <section xml:id="sec-option-declarations-eot">
+  <title>Extensible Option Types</title>
+
+  <para>
+   Extensible option types is a feature that allow to extend certain types
+   declaration through multiple module files. This feature only work with a
+   restricted set of types, namely <literal>enum</literal> and
+   <literal>submodules</literal> and any composed forms of them.
+  </para>
 
-  <para>As an example, we will take the case of display managers. There is a
-    central display manager module for generic display manager options and a
-    module file per display manager backend (slim, sddm, gdm ...).
+  <para>
+   Extensible option types can be used for <literal>enum</literal> options that
+   affects multiple modules, or as an alternative to related
+   <literal>enable</literal> options.
   </para>
 
-  <para>There are two approach to this module structure:
+  <para>
+   As an example, we will take the case of display managers. There is a central
+   display manager module for generic display manager options and a module file
+   per display manager backend (slim, sddm, gdm ...).
+  </para>
 
-  <itemizedlist>
-    <listitem><para>Managing the display managers independently by adding an
-        enable option to every display manager module backend. (NixOS)</para>
+  <para>
+   There are two approach to this module structure:
+   <itemizedlist>
+    <listitem>
+     <para>
+      Managing the display managers independently by adding an enable option to
+      every display manager module backend. (NixOS)
+     </para>
     </listitem>
-    <listitem><para>Managing the display managers in the central module by
-        adding an option to select which display manager backend to use.</para>
+    <listitem>
+     <para>
+      Managing the display managers in the central module by adding an option
+      to select which display manager backend to use.
+     </para>
     </listitem>
-  </itemizedlist>
+   </itemizedlist>
   </para>
 
-  <para>Both approaches have problems.</para>
+  <para>
+   Both approaches have problems.
+  </para>
 
-  <para>Making backends independent can quickly become hard to manage. For
-    display managers, there can be only one enabled at a time, but the type
-    system can not enforce this restriction as there is no relation between
-    each backend <literal>enable</literal> option. As a result, this restriction
-    has to be done explicitely by adding assertions in each display manager
-    backend module.</para>
+  <para>
+   Making backends independent can quickly become hard to manage. For display
+   managers, there can be only one enabled at a time, but the type system can
+   not enforce this restriction as there is no relation between each backend
+   <literal>enable</literal> option. As a result, this restriction has to be
+   done explicitely by adding assertions in each display manager backend
+   module.
+  </para>
 
-  <para>On the other hand, managing the display managers backends in the
-    central module will require to change the central module option every time
-    a new backend is added or removed.</para>
+  <para>
+   On the other hand, managing the display managers backends in the central
+   module will require to change the central module option every time a new
+   backend is added or removed.
+  </para>
 
-  <para>By using extensible option types, it is possible to create a placeholder
-    option in the central module (<xref linkend='ex-option-declaration-eot-service'
-      />), and to extend it in each backend module (<xref
-      linkend='ex-option-declaration-eot-backend-slim' />, <xref
-      linkend='ex-option-declaration-eot-backend-sddm' />).</para>
+  <para>
+   By using extensible option types, it is possible to create a placeholder
+   option in the central module
+   (<xref linkend='ex-option-declaration-eot-service'
+      />), and to extend
+   it in each backend module
+   (<xref
+      linkend='ex-option-declaration-eot-backend-slim' />,
+   <xref
+      linkend='ex-option-declaration-eot-backend-sddm' />).
+  </para>
 
-  <para>As a result, <literal>displayManager.enable</literal> option values can
-  be added without changing the main service module file and the type system
-  automatically enforce that there can only be a single display manager
-  enabled.</para>
+  <para>
+   As a result, <literal>displayManager.enable</literal> option values can be
+   added without changing the main service module file and the type system
+   automatically enforce that there can only be a single display manager
+   enabled.
+  </para>
 
-<example xml:id='ex-option-declaration-eot-service'><title>Extensible type
-    placeholder in the service module</title>
+  <example xml:id='ex-option-declaration-eot-service'>
+   <title>Extensible type placeholder in the service module</title>
 <screen>
 services.xserver.displayManager.enable = mkOption {
   description = "Display manager to use";
   type = with types; nullOr (enum [ ]);
-};</screen></example>
+};</screen>
+  </example>
 
-<example xml:id='ex-option-declaration-eot-backend-slim'><title>Extending
-    <literal>services.xserver.displayManager.enable</literal> in the
-    <literal>slim</literal> module</title>
+  <example xml:id='ex-option-declaration-eot-backend-slim'>
+   <title>Extending <literal>services.xserver.displayManager.enable</literal> in the <literal>slim</literal> module</title>
 <screen>
 services.xserver.displayManager.enable = mkOption {
   type = with types; nullOr (enum [ "slim" ]);
-};</screen></example>
+};</screen>
+  </example>
 
-<example xml:id='ex-option-declaration-eot-backend-sddm'><title>Extending
-    <literal>services.xserver.displayManager.enable</literal> in the 
-    <literal>sddm</literal> module</title>
+  <example xml:id='ex-option-declaration-eot-backend-sddm'>
+   <title>Extending <literal>services.xserver.displayManager.enable</literal> in the <literal>sddm</literal> module</title>
 <screen>
 services.xserver.displayManager.enable = mkOption {
   type = with types; nullOr (enum [ "sddm" ]);
-};</screen></example>
-
-<para>The placeholder declaration is a standard <literal>mkOption</literal>
-  declaration, but it is important that extensible option declarations only use
-  the <literal>type</literal> argument.</para>
+};</screen>
+  </example>
 
-<para>Extensible option types work with any of the composed variants of
-  <literal>enum</literal> such as
-  <literal>with types; nullOr (enum [ "foo" "bar" ])</literal>
-  or <literal>with types; listOf (enum [ "foo" "bar" ])</literal>.</para>
+  <para>
+   The placeholder declaration is a standard <literal>mkOption</literal>
+   declaration, but it is important that extensible option declarations only
+   use the <literal>type</literal> argument.
+  </para>
 
-</section>
+  <para>
+   Extensible option types work with any of the composed variants of
+   <literal>enum</literal> such as <literal>with types; nullOr (enum [ "foo"
+   "bar" ])</literal> or <literal>with types; listOf (enum [ "foo" "bar"
+   ])</literal>.
+  </para>
+ </section>
 </section>
diff --git a/nixos/doc/manual/development/option-def.xml b/nixos/doc/manual/development/option-def.xml
index 4e267ecfd1e..580a5afd58c 100644
--- a/nixos/doc/manual/development/option-def.xml
+++ b/nixos/doc/manual/development/option-def.xml
@@ -3,39 +3,36 @@
         xmlns:xi="http://www.w3.org/2001/XInclude"
         version="5.0"
         xml:id="sec-option-definitions">
+ <title>Option Definitions</title>
 
-<title>Option Definitions</title>
-
-<para>Option definitions are generally straight-forward bindings of values to option names, like
-
+ <para>
+  Option definitions are generally straight-forward bindings of values to
+  option names, like
 <programlisting>
 config = {
   services.httpd.enable = true;
 };
 </programlisting>
-
-However, sometimes you need to wrap an option definition or set of
-option definitions in a <emphasis>property</emphasis> to achieve
-certain effects:</para>
-
-<simplesect><title>Delaying Conditionals</title>
-
-<para>If a set of option definitions is conditional on the value of
-another option, you may need to use <varname>mkIf</varname>.
-Consider, for instance:
-
+  However, sometimes you need to wrap an option definition or set of option
+  definitions in a <emphasis>property</emphasis> to achieve certain effects:
+ </para>
+
+ <simplesect>
+  <title>Delaying Conditionals</title>
+  <para>
+   If a set of option definitions is conditional on the value of another
+   option, you may need to use <varname>mkIf</varname>. Consider, for instance:
 <programlisting>
 config = if config.services.httpd.enable then {
   environment.systemPackages = [ <replaceable>...</replaceable> ];
   <replaceable>...</replaceable>
 } else {};
 </programlisting>
-
-This definition will cause Nix to fail with an “infinite recursion”
-error.  Why?  Because the value of
-<option>config.services.httpd.enable</option> depends on the value
-being constructed here.  After all, you could also write the clearly
-circular and contradictory:
+   This definition will cause Nix to fail with an “infinite recursion”
+   error. Why? Because the value of
+   <option>config.services.httpd.enable</option> depends on the value being
+   constructed here. After all, you could also write the clearly circular and
+   contradictory:
 <programlisting>
 config = if config.services.httpd.enable then {
   services.httpd.enable = false;
@@ -43,56 +40,49 @@ config = if config.services.httpd.enable then {
   services.httpd.enable = true;
 };
 </programlisting>
-
-The solution is to write:
-
+   The solution is to write:
 <programlisting>
 config = mkIf config.services.httpd.enable {
   environment.systemPackages = [ <replaceable>...</replaceable> ];
   <replaceable>...</replaceable>
 };
 </programlisting>
-
-The special function <varname>mkIf</varname> causes the evaluation of
-the conditional to be “pushed down” into the individual definitions,
-as if you had written:
-
+   The special function <varname>mkIf</varname> causes the evaluation of the
+   conditional to be “pushed down” into the individual definitions, as if
+   you had written:
 <programlisting>
 config = {
   environment.systemPackages = if config.services.httpd.enable then [ <replaceable>...</replaceable> ] else [];
   <replaceable>...</replaceable>
 };
 </programlisting>
-
-</para>
-
-</simplesect>
-
-<simplesect><title>Setting Priorities</title>
-
-<para>A module can override the definitions of an option in other
-modules by setting a <emphasis>priority</emphasis>.  All option
-definitions that do not have the lowest priority value are discarded.
-By default, option definitions have priority 1000.  You can specify an
-explicit priority by using <varname>mkOverride</varname>, e.g.
-
+  </para>
+ </simplesect>
+
+ <simplesect>
+  <title>Setting Priorities</title>
+  <para>
+   A module can override the definitions of an option in other modules by
+   setting a <emphasis>priority</emphasis>. All option definitions that do not
+   have the lowest priority value are discarded. By default, option definitions
+   have priority 1000. You can specify an explicit priority by using
+   <varname>mkOverride</varname>, e.g.
 <programlisting>
 services.openssh.enable = mkOverride 10 false;
 </programlisting>
-
-This definition causes all other definitions with priorities above 10
-to be discarded.  The function <varname>mkForce</varname> is
-equal to <varname>mkOverride 50</varname>.</para>
-
-</simplesect>
-
-<simplesect><title>Merging Configurations</title>
-
-<para>In conjunction with <literal>mkIf</literal>, it is sometimes
-useful for a module to return multiple sets of option definitions, to
-be merged together as if they were declared in separate modules.  This
-can be done using <varname>mkMerge</varname>:
-
+   This definition causes all other definitions with priorities above 10 to be
+   discarded. The function <varname>mkForce</varname> is equal to
+   <varname>mkOverride 50</varname>.
+  </para>
+ </simplesect>
+
+ <simplesect>
+  <title>Merging Configurations</title>
+  <para>
+   In conjunction with <literal>mkIf</literal>, it is sometimes useful for a
+   module to return multiple sets of option definitions, to be merged together
+   as if they were declared in separate modules. This can be done using
+   <varname>mkMerge</varname>:
 <programlisting>
 config = mkMerge
   [ # Unconditional stuff.
@@ -104,9 +94,6 @@ config = mkMerge
     })
   ];
 </programlisting>
-
-</para>
-
-</simplesect>
-
-</section>
\ No newline at end of file
+  </para>
+ </simplesect>
+</section>
diff --git a/nixos/doc/manual/development/option-types.xml b/nixos/doc/manual/development/option-types.xml
index ec940d5d2b8..5cb747e6d9f 100644
--- a/nixos/doc/manual/development/option-types.xml
+++ b/nixos/doc/manual/development/option-types.xml
@@ -3,241 +3,355 @@
         xmlns:xi="http://www.w3.org/2001/XInclude"
         version="5.0"
         xml:id="sec-option-types">
+ <title>Options Types</title>
 
-<title>Options Types</title>
-
-  <para>Option types are a way to put constraints on the values a module option 
-    can take.
-    Types are also responsible of how values are merged in case of multiple 
-    value definitions.</para>
-  <section><title>Basic Types</title>
-
-    <para>Basic types are the simplest available types in the module system.
-      Basic types include multiple string types that mainly differ in how 
-      definition merging is handled.</para>
-
-<variablelist>
-  <varlistentry>
-    <term><varname>types.bool</varname></term>
-    <listitem><para>A boolean, its values can be <literal>true</literal> or 
-        <literal>false</literal>.</para></listitem>
-  </varlistentry>
-  <varlistentry>
-    <term><varname>types.path</varname></term>
-    <listitem><para>A filesystem path, defined as anything that when coerced to 
-        a string starts with a slash. Even if derivations can be considered as 
-        path, the more specific <literal>types.package</literal> should be 
-        preferred.</para></listitem>
-  </varlistentry>
-  <varlistentry>
-    <term><varname>types.package</varname></term>
-    <listitem><para>A derivation or a store path.</para></listitem>
-  </varlistentry>
-</variablelist>
-
-<para>Integer-related types:</para>
-
-<variablelist>
-  <varlistentry>
-    <term><varname>types.int</varname></term>
-    <listitem><para>A signed integer.</para></listitem>
-  </varlistentry>
-  <varlistentry>
-    <term>
-      <varname>types.ints.{s8, s16, s32}</varname>
-    </term>
-    <listitem>
-      <para>Signed integers with a fixed length (8, 16 or 32 bits).
-        They go from
-        <inlineequation><mathphrase>−2<superscript>n</superscript>/2</mathphrase>
-        </inlineequation> to <inlineequation>
-        <mathphrase>2<superscript>n</superscript>/2−1</mathphrase>
-        </inlineequation>
-        respectively (e.g. <literal>−128</literal> to <literal>127</literal>
-        for 8 bits).
-    </para></listitem>
-  </varlistentry>
-  <varlistentry>
-    <term>
-      <varname>types.ints.unsigned</varname>
-    </term>
-    <listitem><para>An unsigned integer (that is >= 0).
-    </para></listitem>
-  </varlistentry>
-  <varlistentry>
-    <term>
-      <varname>types.ints.{u8, u16, u32}</varname>
-    </term>
-    <listitem>
-      <para>Unsigned integers with a fixed length (8, 16 or 32 bits).
-        They go from
-        <inlineequation><mathphrase>0</mathphrase></inlineequation> to <inlineequation>
-        <mathphrase>2<superscript>n</superscript>−1</mathphrase>
-        </inlineequation>
-        respectively (e.g. <literal>0</literal> to <literal>255</literal>
-        for 8 bits).
-    </para></listitem>
-  </varlistentry>
-  <varlistentry>
-    <term>
-      <varname>types.ints.positive</varname>
-    </term>
-    <listitem><para>A positive integer (that is > 0).
-    </para></listitem>
-  </varlistentry>
-</variablelist>
-
-<para>String-related types:</para>
-
-<variablelist>
-  <varlistentry>
-    <term><varname>types.str</varname></term>
-    <listitem><para>A string. Multiple definitions cannot be 
-        merged.</para></listitem>
-  </varlistentry>
-  <varlistentry>
-    <term><varname>types.lines</varname></term>
-    <listitem><para>A string. Multiple definitions are concatenated with a new 
-        line <literal>"\n"</literal>.</para></listitem>
-  </varlistentry>
-  <varlistentry>
-    <term><varname>types.commas</varname></term>
-    <listitem><para>A string. Multiple definitions are concatenated with a comma 
-        <literal>","</literal>.</para></listitem>
-  </varlistentry>
-  <varlistentry>
-    <term><varname>types.envVar</varname></term>
-    <listitem><para>A string. Multiple definitions are concatenated with a 
-        collon <literal>":"</literal>.</para></listitem>
-  </varlistentry>
-  <varlistentry>
-    <term><varname>types.strMatching</varname></term>
-    <listitem><para>A string matching a specific regular expression. Multiple
-    definitions cannot be merged.  The regular expression is processed using
-    <literal>builtins.match</literal>.</para></listitem>
-  </varlistentry>
-</variablelist>
+ <para>
+  Option types are a way to put constraints on the values a module option can
+  take. Types are also responsible of how values are merged in case of multiple
+  value definitions.
+ </para>
 
+ <section>
+  <title>Basic Types</title>
+
+  <para>
+   Basic types are the simplest available types in the module system. Basic
+   types include multiple string types that mainly differ in how definition
+   merging is handled.
+  </para>
+
+  <variablelist>
+   <varlistentry>
+    <term><varname>types.attrs</varname>
+    </term>
+    <listitem>
+     <para>
+      A free-form attribute set.
+     </para>
+    </listitem>
+   </varlistentry>
+   <varlistentry>
+    <term><varname>types.bool</varname>
+    </term>
+    <listitem>
+     <para>
+      A boolean, its values can be <literal>true</literal> or
+      <literal>false</literal>.
+     </para>
+    </listitem>
+   </varlistentry>
+   <varlistentry>
+    <term><varname>types.path</varname>
+    </term>
+    <listitem>
+     <para>
+      A filesystem path, defined as anything that when coerced to a string
+      starts with a slash. Even if derivations can be considered as path, the
+      more specific <literal>types.package</literal> should be preferred.
+     </para>
+    </listitem>
+   </varlistentry>
+   <varlistentry>
+    <term><varname>types.package</varname>
+    </term>
+    <listitem>
+     <para>
+      A derivation or a store path.
+     </para>
+    </listitem>
+   </varlistentry>
+  </variablelist>
+
+  <para>
+   Integer-related types:
+  </para>
+
+  <variablelist>
+   <varlistentry>
+    <term><varname>types.int</varname>
+    </term>
+    <listitem>
+     <para>
+      A signed integer.
+     </para>
+    </listitem>
+   </varlistentry>
+   <varlistentry>
+    <term><varname>types.ints.{s8, s16, s32}</varname>
+    </term>
+    <listitem>
+     <para>
+      Signed integers with a fixed length (8, 16 or 32 bits). They go from
+      <inlineequation><mathphrase>−2<superscript>n</superscript>/2</mathphrase>
+      </inlineequation> to <inlineequation>
+      <mathphrase>2<superscript>n</superscript>/2−1</mathphrase>
+      </inlineequation> respectively (e.g. <literal>−128</literal> to
+      <literal>127</literal> for 8 bits).
+     </para>
+    </listitem>
+   </varlistentry>
+   <varlistentry>
+    <term><varname>types.ints.unsigned</varname>
+    </term>
+    <listitem>
+     <para>
+      An unsigned integer (that is >= 0).
+     </para>
+    </listitem>
+   </varlistentry>
+   <varlistentry>
+    <term><varname>types.ints.{u8, u16, u32}</varname>
+    </term>
+    <listitem>
+     <para>
+      Unsigned integers with a fixed length (8, 16 or 32 bits). They go from
+      <inlineequation><mathphrase>0</mathphrase></inlineequation> to
+      <inlineequation>
+      <mathphrase>2<superscript>n</superscript>−1</mathphrase>
+      </inlineequation> respectively (e.g. <literal>0</literal> to
+      <literal>255</literal> for 8 bits).
+     </para>
+    </listitem>
+   </varlistentry>
+   <varlistentry>
+    <term><varname>types.ints.positive</varname>
+    </term>
+    <listitem>
+     <para>
+      A positive integer (that is > 0).
+     </para>
+    </listitem>
+   </varlistentry>
+  </variablelist>
+
+  <para>
+   String-related types:
+  </para>
+
+  <variablelist>
+   <varlistentry>
+    <term><varname>types.str</varname>
+    </term>
+    <listitem>
+     <para>
+      A string. Multiple definitions cannot be merged.
+     </para>
+    </listitem>
+   </varlistentry>
+   <varlistentry>
+    <term><varname>types.lines</varname>
+    </term>
+    <listitem>
+     <para>
+      A string. Multiple definitions are concatenated with a new line
+      <literal>"\n"</literal>.
+     </para>
+    </listitem>
+   </varlistentry>
+   <varlistentry>
+    <term><varname>types.commas</varname>
+    </term>
+    <listitem>
+     <para>
+      A string. Multiple definitions are concatenated with a comma
+      <literal>","</literal>.
+     </para>
+    </listitem>
+   </varlistentry>
+   <varlistentry>
+    <term><varname>types.envVar</varname>
+    </term>
+    <listitem>
+     <para>
+      A string. Multiple definitions are concatenated with a collon
+      <literal>":"</literal>.
+     </para>
+    </listitem>
+   </varlistentry>
+   <varlistentry>
+    <term><varname>types.strMatching</varname>
+    </term>
+    <listitem>
+     <para>
+      A string matching a specific regular expression. Multiple definitions
+      cannot be merged. The regular expression is processed using
+      <literal>builtins.match</literal>.
+     </para>
+    </listitem>
+   </varlistentry>
+  </variablelist>
  </section>
 
- <section><title>Value Types</title>
-
-   <para>Value types are types that take a value parameter.</para>
-
-<variablelist>
-  <varlistentry>
-    <term><varname>types.enum</varname> <replaceable>l</replaceable></term>
-    <listitem><para>One element of the list <replaceable>l</replaceable>, e.g. 
-        <literal>types.enum [ "left" "right" ]</literal>. Multiple definitions 
-        cannot be merged.</para></listitem>
-  </varlistentry>
-  <varlistentry>
-    <term><varname>types.separatedString</varname>
-      <replaceable>sep</replaceable></term>
-    <listitem><para>A string with a custom separator
-        <replaceable>sep</replaceable>, e.g. <literal>types.separatedString
-          "|"</literal>.</para></listitem>
-  </varlistentry>
-  <varlistentry>
-    <term>
-      <varname>types.ints.between</varname>
-      <replaceable>lowest</replaceable>
-      <replaceable>highest</replaceable>
-    </term>
-    <listitem><para>An integer between <replaceable>lowest</replaceable>
-        and <replaceable>highest</replaceable> (both inclusive).
-        Useful for creating types like <literal>types.port</literal>.
-    </para></listitem>
-  </varlistentry>
-  <varlistentry>
-    <term><varname>types.submodule</varname> <replaceable>o</replaceable></term>
-    <listitem><para>A set of sub options <replaceable>o</replaceable>.
-        <replaceable>o</replaceable> can be an attribute set or a function
-        returning an attribute set. Submodules are used in composed types to
-        create modular options. Submodule are detailed in <xref
-          linkend='section-option-types-submodule' />.</para></listitem>
-  </varlistentry>
-</variablelist>
+ <section>
+  <title>Value Types</title>
+
+  <para>
+   Value types are types that take a value parameter.
+  </para>
+
+  <variablelist>
+   <varlistentry>
+    <term><varname>types.enum</varname><replaceable>l</replaceable>
+    </term>
+    <listitem>
+     <para>
+      One element of the list <replaceable>l</replaceable>, e.g.
+      <literal>types.enum [ "left" "right" ]</literal>. Multiple definitions
+      cannot be merged.
+     </para>
+    </listitem>
+   </varlistentry>
+   <varlistentry>
+    <term><varname>types.separatedString</varname><replaceable>sep</replaceable>
+    </term>
+    <listitem>
+     <para>
+      A string with a custom separator <replaceable>sep</replaceable>, e.g.
+      <literal>types.separatedString "|"</literal>.
+     </para>
+    </listitem>
+   </varlistentry>
+   <varlistentry>
+    <term><varname>types.ints.between</varname><replaceable>lowest</replaceable><replaceable>highest</replaceable>
+    </term>
+    <listitem>
+     <para>
+      An integer between <replaceable>lowest</replaceable> and
+      <replaceable>highest</replaceable> (both inclusive). Useful for creating
+      types like <literal>types.port</literal>.
+     </para>
+    </listitem>
+   </varlistentry>
+   <varlistentry>
+    <term><varname>types.submodule</varname><replaceable>o</replaceable>
+    </term>
+    <listitem>
+     <para>
+      A set of sub options <replaceable>o</replaceable>.
+      <replaceable>o</replaceable> can be an attribute set or a function
+      returning an attribute set. Submodules are used in composed types to
+      create modular options. Submodule are detailed in
+      <xref
+          linkend='section-option-types-submodule' />.
+     </para>
+    </listitem>
+   </varlistentry>
+  </variablelist>
  </section>
 
- <section><title>Composed Types</title>
-
-   <para>Composed types are types that take a type as parameter. <literal>listOf 
-       int</literal> and <literal>either int str</literal> are examples of 
-     composed types.</para>
-
-<variablelist>
-  <varlistentry>
-    <term><varname>types.listOf</varname> <replaceable>t</replaceable></term>
-    <listitem><para>A list of <replaceable>t</replaceable> type, e.g. 
-        <literal>types.listOf int</literal>. Multiple definitions are merged 
-        with list concatenation.</para></listitem>
-  </varlistentry>
-  <varlistentry>
-    <term><varname>types.attrsOf</varname> <replaceable>t</replaceable></term>
-    <listitem><para>An attribute set of where all the values are of 
-        <replaceable>t</replaceable> type. Multiple definitions result in the 
-        joined attribute set.</para></listitem>
-  </varlistentry>
-  <varlistentry>
-    <term><varname>types.loaOf</varname> <replaceable>t</replaceable></term>
-    <listitem><para>An attribute set or a list of <replaceable>t</replaceable> 
-        type. Multiple definitions are merged according to the 
-        value.</para></listitem>
-  </varlistentry>
-  <varlistentry>
-    <term><varname>types.nullOr</varname> <replaceable>t</replaceable></term>
-    <listitem><para><literal>null</literal> or type 
-        <replaceable>t</replaceable>. Multiple definitions are merged according 
-        to type <replaceable>t</replaceable>.</para></listitem>
-  </varlistentry>
-  <varlistentry>
-    <term><varname>types.uniq</varname> <replaceable>t</replaceable></term>
-    <listitem><para>Ensures that type <replaceable>t</replaceable> cannot be 
-        merged. It is used to ensure option definitions are declared only 
-        once.</para></listitem>
-  </varlistentry>
-  <varlistentry>
-    <term><varname>types.either</varname> <replaceable>t1</replaceable> 
-      <replaceable>t2</replaceable></term>
-    <listitem><para>Type <replaceable>t1</replaceable> or type 
-        <replaceable>t2</replaceable>, e.g. <literal>with types; either int 
-          str</literal>. Multiple definitions cannot be 
-        merged.</para></listitem>
-  </varlistentry>
-  <varlistentry>
-    <term><varname>types.coercedTo</varname> <replaceable>from</replaceable>
-        <replaceable>f</replaceable> <replaceable>to</replaceable></term>
-    <listitem><para>Type <replaceable>to</replaceable> or type
-        <replaceable>from</replaceable> which will be coerced to
-	type <replaceable>to</replaceable> using function
-	<replaceable>f</replaceable> which takes an argument of type
-        <replaceable>from</replaceable> and return a value of type
-	<replaceable>to</replaceable>. Can be used to preserve backwards
-        compatibility of an option if its type was changed.</para></listitem>
-  </varlistentry>
-</variablelist>
+ <section>
+  <title>Composed Types</title>
 
-</section>
+  <para>
+   Composed types are types that take a type as parameter. <literal>listOf
+   int</literal> and <literal>either int str</literal> are examples of composed
+   types.
+  </para>
 
-<section xml:id='section-option-types-submodule'><title>Submodule</title>
+  <variablelist>
+   <varlistentry>
+    <term><varname>types.listOf</varname><replaceable>t</replaceable>
+    </term>
+    <listitem>
+     <para>
+      A list of <replaceable>t</replaceable> type, e.g. <literal>types.listOf
+      int</literal>. Multiple definitions are merged with list concatenation.
+     </para>
+    </listitem>
+   </varlistentry>
+   <varlistentry>
+    <term><varname>types.attrsOf</varname><replaceable>t</replaceable>
+    </term>
+    <listitem>
+     <para>
+      An attribute set of where all the values are of
+      <replaceable>t</replaceable> type. Multiple definitions result in the
+      joined attribute set.
+     </para>
+    </listitem>
+   </varlistentry>
+   <varlistentry>
+    <term><varname>types.loaOf</varname><replaceable>t</replaceable>
+    </term>
+    <listitem>
+     <para>
+      An attribute set or a list of <replaceable>t</replaceable> type. Multiple
+      definitions are merged according to the value.
+     </para>
+    </listitem>
+   </varlistentry>
+   <varlistentry>
+    <term><varname>types.nullOr</varname><replaceable>t</replaceable>
+    </term>
+    <listitem>
+     <para>
+      <literal>null</literal> or type <replaceable>t</replaceable>. Multiple
+      definitions are merged according to type <replaceable>t</replaceable>.
+     </para>
+    </listitem>
+   </varlistentry>
+   <varlistentry>
+    <term><varname>types.uniq</varname><replaceable>t</replaceable>
+    </term>
+    <listitem>
+     <para>
+      Ensures that type <replaceable>t</replaceable> cannot be merged. It is
+      used to ensure option definitions are declared only once.
+     </para>
+    </listitem>
+   </varlistentry>
+   <varlistentry>
+    <term><varname>types.either</varname><replaceable>t1</replaceable><replaceable>t2</replaceable>
+    </term>
+    <listitem>
+     <para>
+      Type <replaceable>t1</replaceable> or type <replaceable>t2</replaceable>,
+      e.g. <literal>with types; either int str</literal>. Multiple definitions
+      cannot be merged.
+     </para>
+    </listitem>
+   </varlistentry>
+   <varlistentry>
+    <term><varname>types.coercedTo</varname><replaceable>from</replaceable><replaceable>f</replaceable><replaceable>to</replaceable>
+    </term>
+    <listitem>
+     <para>
+      Type <replaceable>to</replaceable> or type
+      <replaceable>from</replaceable> which will be coerced to type
+      <replaceable>to</replaceable> using function <replaceable>f</replaceable>
+      which takes an argument of type <replaceable>from</replaceable> and
+      return a value of type <replaceable>to</replaceable>. Can be used to
+      preserve backwards compatibility of an option if its type was changed.
+     </para>
+    </listitem>
+   </varlistentry>
+  </variablelist>
+ </section>
 
-  <para><literal>submodule</literal> is a very powerful type that defines a set
-    of sub-options that are handled like a separate module.</para>
+ <section xml:id='section-option-types-submodule'>
+  <title>Submodule</title>
 
-  <para>It takes a parameter <replaceable>o</replaceable>, that should be a set,
-    or a function returning a set with an <literal>options</literal> key
-    defining the sub-options.
-    Submodule option definitions are type-checked accordingly to the
-    <literal>options</literal> declarations.
-    Of course, you can nest submodule option definitons for even higher
-    modularity.</para>
+  <para>
+   <literal>submodule</literal> is a very powerful type that defines a set of
+   sub-options that are handled like a separate module.
+  </para>
 
-  <para>The option set can be defined directly
-    (<xref linkend='ex-submodule-direct' />) or as reference
-    (<xref linkend='ex-submodule-reference' />).</para>
+  <para>
+   It takes a parameter <replaceable>o</replaceable>, that should be a set, or
+   a function returning a set with an <literal>options</literal> key defining
+   the sub-options. Submodule option definitions are type-checked accordingly
+   to the <literal>options</literal> declarations. Of course, you can nest
+   submodule option definitons for even higher modularity.
+  </para>
 
-<example xml:id='ex-submodule-direct'><title>Directly defined submodule</title>
+  <para>
+   The option set can be defined directly
+   (<xref linkend='ex-submodule-direct' />) or as reference
+   (<xref linkend='ex-submodule-reference' />).
+  </para>
+
+  <example xml:id='ex-submodule-direct'>
+   <title>Directly defined submodule</title>
 <screen>
 options.mod = mkOption {
   description = "submodule example";
@@ -251,10 +365,11 @@ options.mod = mkOption {
       };
     };
   };
-};</screen></example>
+};</screen>
+  </example>
 
-<example xml:id='ex-submodule-reference'><title>Submodule defined as a
-    reference</title>
+  <example xml:id='ex-submodule-reference'>
+   <title>Submodule defined as a reference</title>
 <screen>
 let
   modOptions = {
@@ -271,19 +386,20 @@ in
 options.mod = mkOption {
   description = "submodule example";
   type = with types; submodule modOptions;
-};</screen></example>
-
-  <para>The <literal>submodule</literal> type is especially interesting when
-    used with composed types like <literal>attrsOf</literal> or
-    <literal>listOf</literal>.
-    When composed with <literal>listOf</literal>
-    (<xref linkend='ex-submodule-listof-declaration' />),
-    <literal>submodule</literal> allows multiple definitions of the submodule
-    option set (<xref linkend='ex-submodule-listof-definition' />).</para>
-    
-
-<example xml:id='ex-submodule-listof-declaration'><title>Declaration of a list 
-    nof submodules</title>
+};</screen>
+  </example>
+
+  <para>
+   The <literal>submodule</literal> type is especially interesting when used
+   with composed types like <literal>attrsOf</literal> or
+   <literal>listOf</literal>. When composed with <literal>listOf</literal>
+   (<xref linkend='ex-submodule-listof-declaration' />),
+   <literal>submodule</literal> allows multiple definitions of the submodule
+   option set (<xref linkend='ex-submodule-listof-definition' />).
+  </para>
+
+  <example xml:id='ex-submodule-listof-declaration'>
+   <title>Declaration of a list of submodules</title>
 <screen>
 options.mod = mkOption {
   description = "submodule example";
@@ -297,24 +413,27 @@ options.mod = mkOption {
       };
     };
   });
-};</screen></example>
+};</screen>
+  </example>
 
-<example xml:id='ex-submodule-listof-definition'><title>Definition of a list of 
-    submodules</title>
+  <example xml:id='ex-submodule-listof-definition'>
+   <title>Definition of a list of submodules</title>
 <screen>
 config.mod = [
   { foo = 1; bar = "one"; }
   { foo = 2; bar = "two"; }
-];</screen></example>
-
-  <para>When composed with <literal>attrsOf</literal>
-    (<xref linkend='ex-submodule-attrsof-declaration' />),
-    <literal>submodule</literal> allows multiple named definitions of the
-    submodule option set (<xref linkend='ex-submodule-attrsof-definition' />).
+];</screen>
+  </example>
+
+  <para>
+   When composed with <literal>attrsOf</literal>
+   (<xref linkend='ex-submodule-attrsof-declaration' />),
+   <literal>submodule</literal> allows multiple named definitions of the
+   submodule option set (<xref linkend='ex-submodule-attrsof-definition' />).
   </para>
 
-<example xml:id='ex-submodule-attrsof-declaration'><title>Declaration of 
-    attribute sets of submodules</title>
+  <example xml:id='ex-submodule-attrsof-declaration'>
+   <title>Declaration of attribute sets of submodules</title>
 <screen>
 options.mod = mkOption {
   description = "submodule example";
@@ -328,194 +447,281 @@ options.mod = mkOption {
       };
     };
   });
-};</screen></example>
+};</screen>
+  </example>
 
-<example xml:id='ex-submodule-attrsof-definition'><title>Declaration of 
-    attribute sets of submodules</title>
+  <example xml:id='ex-submodule-attrsof-definition'>
+   <title>Declaration of attribute sets of submodules</title>
 <screen>
 config.mod.one = { foo = 1; bar = "one"; };
-config.mod.two = { foo = 2; bar = "two"; };</screen></example>
-
-</section>
-
-<section><title>Extending types</title>
+config.mod.two = { foo = 2; bar = "two"; };</screen>
+  </example>
+ </section>
 
-  <para>Types are mainly characterized by their <literal>check</literal> and 
-    <literal>merge</literal> functions.</para>
+ <section>
+  <title>Extending types</title>
 
-<variablelist>
-  <varlistentry>
-    <term><varname>check</varname></term>
-    <listitem><para>The function to type check the value. Takes a value as 
-        parameter and return a boolean.
-        It is possible to extend a type check with the 
-        <literal>addCheck</literal> function (<xref 
-          linkend='ex-extending-type-check-1' />), or to fully override the 
-        check function (<xref linkend='ex-extending-type-check-2' />).</para>
+  <para>
+   Types are mainly characterized by their <literal>check</literal> and
+   <literal>merge</literal> functions.
+  </para>
 
-<example xml:id='ex-extending-type-check-1'><title>Adding a type check</title>
+  <variablelist>
+   <varlistentry>
+    <term><varname>check</varname>
+    </term>
+    <listitem>
+     <para>
+      The function to type check the value. Takes a value as parameter and
+      return a boolean. It is possible to extend a type check with the
+      <literal>addCheck</literal> function
+      (<xref 
+          linkend='ex-extending-type-check-1' />), or to fully
+      override the check function
+      (<xref linkend='ex-extending-type-check-2' />).
+     </para>
+     <example xml:id='ex-extending-type-check-1'>
+      <title>Adding a type check</title>
 <screen>
 byte = mkOption {
   description = "An integer between 0 and 255.";
   type = addCheck types.int (x: x &gt;= 0 &amp;&amp; x &lt;= 255);
-};</screen></example>
-
-<example xml:id='ex-extending-type-check-2'><title>Overriding a type 
-    check</title>
+};</screen>
+     </example>
+     <example xml:id='ex-extending-type-check-2'>
+      <title>Overriding a type check</title>
 <screen>
 nixThings = mkOption {
   description = "words that start with 'nix'";
   type = types.str // {
     check = (x: lib.hasPrefix "nix" x)
   };
-};</screen></example>
-    </listitem>
-  </varlistentry>
-  <varlistentry>
-    <term><varname>merge</varname></term>
-    <listitem><para>Function to merge the options values when multiple values 
-        are set.
-The function takes two parameters, <literal>loc</literal> the option path as a 
-list of strings, and <literal>defs</literal> the list of defined values as a 
-list.
-It is possible to override a type merge function for custom 
-needs.</para></listitem>
-  </varlistentry>
-</variablelist>
+};</screen>
+     </example>
+    </listitem>
+   </varlistentry>
+   <varlistentry>
+    <term><varname>merge</varname>
+    </term>
+    <listitem>
+     <para>
+      Function to merge the options values when multiple values are set. The
+      function takes two parameters, <literal>loc</literal> the option path as
+      a list of strings, and <literal>defs</literal> the list of defined values
+      as a list. It is possible to override a type merge function for custom
+      needs.
+     </para>
+    </listitem>
+   </varlistentry>
+  </variablelist>
+ </section>
 
-</section>
+ <section>
+  <title>Custom Types</title>
 
-<section><title>Custom Types</title>
-
-<para>Custom types can be created with the <literal>mkOptionType</literal> 
-  function.
-As type creation includes some more complex topics such as submodule handling, 
-it is recommended to get familiar with <filename 
-  xlink:href="https://github.com/NixOS/nixpkgs/blob/master/lib/types.nix">types.nix</filename> 
-code before creating a new type.</para>
-
-<para>The only required parameter is <literal>name</literal>.</para>
-
-<variablelist>
-  <varlistentry>
-    <term><varname>name</varname></term>
-    <listitem><para>A string representation of the type function 
-        name.</para></listitem>
-  </varlistentry>
-  <varlistentry>
-    <term><varname>definition</varname></term>
-    <listitem><para>Description of the type used in documentation. Give 
-        information of the type and any of its arguments.</para></listitem>
-  </varlistentry>
-  <varlistentry>
-    <term><varname>check</varname></term>
-    <listitem><para>A function to type check the definition value. Takes the 
-        definition value as a parameter and returns a boolean indicating the 
-        type check result, <literal>true</literal> for success and 
-        <literal>false</literal> for failure.</para></listitem>
-  </varlistentry>
-  <varlistentry>
-    <term><varname>merge</varname></term>
-    <listitem><para>A function to merge multiple definitions values. Takes two 
-        parameters:</para>
-      <variablelist>
-        <varlistentry>
-          <term><replaceable>loc</replaceable></term>
-          <listitem><para>The option path as a list of strings, e.g. 
-              <literal>["boot" "loader "grub" 
-                "enable"]</literal>.</para></listitem>
-        </varlistentry>
-        <varlistentry>
-          <term><replaceable>defs</replaceable></term>
-          <listitem><para>The list of sets of defined <literal>value</literal> 
-              and <literal>file</literal> where the value was defined, e.g. 
-              <literal>[ { file = "/foo.nix"; value = 1; } { file = "/bar.nix"; 
-                value = 2 } ]</literal>. The <literal>merge</literal> function 
-              should return the merged value or throw an error in case the 
-              values are impossible or not meant to be merged.</para></listitem>
-        </varlistentry>
-      </variablelist>
-    </listitem>
-  </varlistentry>
-  <varlistentry>
-    <term><varname>getSubOptions</varname></term>
-    <listitem><para>For composed types that can take a submodule as type 
-        parameter, this function generate sub-options documentation. It takes 
-        the current option prefix as a list and return the set of sub-options. 
-        Usually defined in a recursive manner by adding a term to the prefix, 
-        e.g. <literal>prefix: elemType.getSubOptions (prefix ++ 
-          [<replaceable>"prefix"</replaceable>])</literal> where 
-        <replaceable>"prefix"</replaceable> is the newly added 
-        prefix.</para></listitem>
-  </varlistentry>
-  <varlistentry>
-    <term><varname>getSubModules</varname></term>
-    <listitem><para>For composed types that can take a submodule as type 
-        parameter, this function should return the type parameters submodules. 
-        If the type parameter is called <literal>elemType</literal>, the 
-        function should just recursively look into submodules by returning 
-        <literal>elemType.getSubModules;</literal>.</para></listitem>
-  </varlistentry>
-  <varlistentry>
-    <term><varname>substSubModules</varname></term>
-    <listitem><para>For composed types that can take a submodule as type 
-        parameter, this function can be used to substitute the parameter of a 
-        submodule type. It takes a module as parameter and return the type with 
-        the submodule options substituted. It is usually defined as a type 
-        function call with a recursive call to 
-        <literal>substSubModules</literal>, e.g for a type 
-        <literal>composedType</literal> that take an <literal>elemtype</literal> 
-        type parameter, this function should be defined as <literal>m: 
-          composedType (elemType.substSubModules m)</literal>.</para></listitem>
-  </varlistentry>
-  <varlistentry>
-    <term><varname>typeMerge</varname></term>
-    <listitem><para>A function to merge multiple type declarations. Takes the 
-        type to merge <literal>functor</literal> as parameter. A 
-        <literal>null</literal> return value means that type cannot be 
-        merged.</para>
-      <variablelist>
-        <varlistentry>
-          <term><replaceable>f</replaceable></term>
-          <listitem><para>The type to merge  
-              <literal>functor</literal>.</para></listitem>
-        </varlistentry>
-      </variablelist>
-      <para>Note: There is a generic <literal>defaultTypeMerge</literal> that 
-        work with most of value and composed types.</para>
-    </listitem>
-  </varlistentry>
-  <varlistentry>
-    <term><varname>functor</varname></term>
-    <listitem><para>An attribute set representing the type. It is used for type 
-        operations and has the following keys:</para>
-      <variablelist>
-        <varlistentry>
-          <term><varname>type</varname></term>
-          <listitem><para>The type function.</para></listitem>
-        </varlistentry>
-        <varlistentry>
-          <term><varname>wrapped</varname></term>
-          <listitem><para>Holds the type parameter for composed types.</para>
-          </listitem>
-        </varlistentry>
-        <varlistentry>
-          <term><varname>payload</varname></term>
-          <listitem><para>Holds the value parameter for value types. 
-              The types that have a <literal>payload</literal> are the
-              <literal>enum</literal>, <literal>separatedString</literal> and
-              <literal>submodule</literal> types.</para></listitem>
-        </varlistentry>
-        <varlistentry>
-          <term><varname>binOp</varname></term>
-          <listitem><para>A binary operation that can merge the payloads of two 
-              same types. Defined as a function that take two payloads as 
-              parameters and return the payloads merged.</para></listitem>
-        </varlistentry>
-      </variablelist>
-    </listitem>
-  </varlistentry>
-</variablelist>
+  <para>
+   Custom types can be created with the <literal>mkOptionType</literal>
+   function. As type creation includes some more complex topics such as
+   submodule handling, it is recommended to get familiar with
+   <filename 
+  xlink:href="https://github.com/NixOS/nixpkgs/blob/master/lib/types.nix">types.nix</filename>
+   code before creating a new type.
+  </para>
 
-</section>
+  <para>
+   The only required parameter is <literal>name</literal>.
+  </para>
+
+  <variablelist>
+   <varlistentry>
+    <term><varname>name</varname>
+    </term>
+    <listitem>
+     <para>
+      A string representation of the type function name.
+     </para>
+    </listitem>
+   </varlistentry>
+   <varlistentry>
+    <term><varname>definition</varname>
+    </term>
+    <listitem>
+     <para>
+      Description of the type used in documentation. Give information of the
+      type and any of its arguments.
+     </para>
+    </listitem>
+   </varlistentry>
+   <varlistentry>
+    <term><varname>check</varname>
+    </term>
+    <listitem>
+     <para>
+      A function to type check the definition value. Takes the definition value
+      as a parameter and returns a boolean indicating the type check result,
+      <literal>true</literal> for success and <literal>false</literal> for
+      failure.
+     </para>
+    </listitem>
+   </varlistentry>
+   <varlistentry>
+    <term><varname>merge</varname>
+    </term>
+    <listitem>
+     <para>
+      A function to merge multiple definitions values. Takes two parameters:
+     </para>
+     <variablelist>
+      <varlistentry>
+       <term><replaceable>loc</replaceable>
+       </term>
+       <listitem>
+        <para>
+         The option path as a list of strings, e.g. <literal>["boot" "loader
+         "grub" "enable"]</literal>.
+        </para>
+       </listitem>
+      </varlistentry>
+      <varlistentry>
+       <term><replaceable>defs</replaceable>
+       </term>
+       <listitem>
+        <para>
+         The list of sets of defined <literal>value</literal> and
+         <literal>file</literal> where the value was defined, e.g. <literal>[ {
+         file = "/foo.nix"; value = 1; } { file = "/bar.nix"; value = 2 }
+         ]</literal>. The <literal>merge</literal> function should return the
+         merged value or throw an error in case the values are impossible or
+         not meant to be merged.
+        </para>
+       </listitem>
+      </varlistentry>
+     </variablelist>
+    </listitem>
+   </varlistentry>
+   <varlistentry>
+    <term><varname>getSubOptions</varname>
+    </term>
+    <listitem>
+     <para>
+      For composed types that can take a submodule as type parameter, this
+      function generate sub-options documentation. It takes the current option
+      prefix as a list and return the set of sub-options. Usually defined in a
+      recursive manner by adding a term to the prefix, e.g. <literal>prefix:
+      elemType.getSubOptions (prefix ++
+      [<replaceable>"prefix"</replaceable>])</literal> where
+      <replaceable>"prefix"</replaceable> is the newly added prefix.
+     </para>
+    </listitem>
+   </varlistentry>
+   <varlistentry>
+    <term><varname>getSubModules</varname>
+    </term>
+    <listitem>
+     <para>
+      For composed types that can take a submodule as type parameter, this
+      function should return the type parameters submodules. If the type
+      parameter is called <literal>elemType</literal>, the function should just
+      recursively look into submodules by returning
+      <literal>elemType.getSubModules;</literal>.
+     </para>
+    </listitem>
+   </varlistentry>
+   <varlistentry>
+    <term><varname>substSubModules</varname>
+    </term>
+    <listitem>
+     <para>
+      For composed types that can take a submodule as type parameter, this
+      function can be used to substitute the parameter of a submodule type. It
+      takes a module as parameter and return the type with the submodule
+      options substituted. It is usually defined as a type function call with a
+      recursive call to <literal>substSubModules</literal>, e.g for a type
+      <literal>composedType</literal> that take an <literal>elemtype</literal>
+      type parameter, this function should be defined as <literal>m:
+      composedType (elemType.substSubModules m)</literal>.
+     </para>
+    </listitem>
+   </varlistentry>
+   <varlistentry>
+    <term><varname>typeMerge</varname>
+    </term>
+    <listitem>
+     <para>
+      A function to merge multiple type declarations. Takes the type to merge
+      <literal>functor</literal> as parameter. A <literal>null</literal> return
+      value means that type cannot be merged.
+     </para>
+     <variablelist>
+      <varlistentry>
+       <term><replaceable>f</replaceable>
+       </term>
+       <listitem>
+        <para>
+         The type to merge <literal>functor</literal>.
+        </para>
+       </listitem>
+      </varlistentry>
+     </variablelist>
+     <para>
+      Note: There is a generic <literal>defaultTypeMerge</literal> that work
+      with most of value and composed types.
+     </para>
+    </listitem>
+   </varlistentry>
+   <varlistentry>
+    <term><varname>functor</varname>
+    </term>
+    <listitem>
+     <para>
+      An attribute set representing the type. It is used for type operations
+      and has the following keys:
+     </para>
+     <variablelist>
+      <varlistentry>
+       <term><varname>type</varname>
+       </term>
+       <listitem>
+        <para>
+         The type function.
+        </para>
+       </listitem>
+      </varlistentry>
+      <varlistentry>
+       <term><varname>wrapped</varname>
+       </term>
+       <listitem>
+        <para>
+         Holds the type parameter for composed types.
+        </para>
+       </listitem>
+      </varlistentry>
+      <varlistentry>
+       <term><varname>payload</varname>
+       </term>
+       <listitem>
+        <para>
+         Holds the value parameter for value types. The types that have a
+         <literal>payload</literal> are the <literal>enum</literal>,
+         <literal>separatedString</literal> and <literal>submodule</literal>
+         types.
+        </para>
+       </listitem>
+      </varlistentry>
+      <varlistentry>
+       <term><varname>binOp</varname>
+       </term>
+       <listitem>
+        <para>
+         A binary operation that can merge the payloads of two same types.
+         Defined as a function that take two payloads as parameters and return
+         the payloads merged.
+        </para>
+       </listitem>
+      </varlistentry>
+     </variablelist>
+    </listitem>
+   </varlistentry>
+  </variablelist>
+ </section>
 </section>
diff --git a/nixos/doc/manual/development/releases.xml b/nixos/doc/manual/development/releases.xml
index afcb970ed70..863110a1c7c 100755
--- a/nixos/doc/manual/development/releases.xml
+++ b/nixos/doc/manual/development/releases.xml
@@ -3,252 +3,258 @@
         xmlns:xi="http://www.w3.org/2001/XInclude"
         version="5.0"
         xml:id="ch-releases">
-
-<title>Releases</title>
-
-<section xml:id="release-process">
+ <title>Releases</title>
+ <section xml:id="release-process">
   <title>Release process</title>
 
   <para>
-    Going through an example of releasing NixOS 17.09:
+   Going through an example of releasing NixOS 17.09:
   </para>
 
   <section xml:id="one-month-before-the-beta">
-    <title>One month before the beta</title>
-    <itemizedlist spacing="compact">
-      <listitem>
-        <para>
-          Send an email to the nix-devel mailinglist as a warning about upcoming beta "feature freeze" in a month.
-        </para>
-      </listitem>
-      <listitem>
-        <para>
-          Discuss with Eelco Dolstra and the community (via IRC, ML) about what will reach the deadline.
-          Any issue or Pull Request targeting the release should be included in the release milestone.
-        </para>
-      </listitem>
-    </itemizedlist>
+   <title>One month before the beta</title>
+
+   <itemizedlist spacing="compact">
+    <listitem>
+     <para>
+      Send an email to the nix-devel mailinglist as a warning about upcoming
+      beta "feature freeze" in a month.
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      Discuss with Eelco Dolstra and the community (via IRC, ML) about what
+      will reach the deadline. Any issue or Pull Request targeting the release
+      should be included in the release milestone.
+     </para>
+    </listitem>
+   </itemizedlist>
   </section>
+
   <section xml:id="at-beta-release-time">
-    <title>At beta release time</title>
-    <itemizedlist spacing="compact">
-      <listitem>
-        <para>
-          <link xlink:href="https://github.com/NixOS/nixpkgs/issues/13559">Create
-            an issue for tracking Zero Hydra Failures progress. ZHF is an effort
-            to get build failures down to zero.</link>
-        </para>
-      </listitem>
-      <listitem>
-        <para>
-          <literal>git tag -a -s -m &quot;Release 17.09-beta&quot; 17.09-beta &amp;&amp; git push --tags</literal>
-        </para>
-      </listitem>
-      <listitem>
-        <para>
-          From the master branch run <literal>git checkout -B release-17.09</literal>.
-        </para>
-      </listitem>
-      <listitem>
-        <para>
-          <link xlink:href="https://github.com/NixOS/nixos-org-configurations/pull/18">
-            Make sure a channel is created at http://nixos.org/channels/.
-          </link>
-        </para>
-      </listitem>
-      <listitem>
-        <para>
-          <link xlink:href="https://github.com/NixOS/nixpkgs/settings/branches">
-            Let a GitHub nixpkgs admin lock the branch on github for you.
-            (so developers can’t force push)
-          </link>
-        </para>
-      </listitem>
-      <listitem>
-        <para>
-          <link xlink:href="https://github.com/NixOS/nixpkgs/compare/bdf161ed8d21...6b63c4616790">
-            Bump the <literal>system.defaultChannel</literal> attribute in
-            <literal>nixos/modules/misc/version.nix</literal>
-          </link>
-        </para>
-      </listitem>
-      <listitem>
-        <para>
-          <link xlink:href="https://github.com/NixOS/nixpkgs/commit/d6b08acd1ccac0d9d502c4b635e00b04d3387f06">
-            Update <literal>versionSuffix</literal> in
-          <literal>nixos/release.nix</literal></link>, use
-          <literal>git log --format=%an|wc -l</literal> to get the commit
-          count
-        </para>
-      </listitem>
-      <listitem>
-        <para>
-          <literal>echo -n &quot;18.03&quot; &gt; .version</literal> on
-          master.
-        </para>
-      </listitem>
-      <listitem>
-        <para>
-          <link xlink:href="https://github.com/NixOS/nixpkgs/commit/b8a4095003e27659092892a4708bb3698231a842">
-            Pick a new name for the unstable branch.
-          </link>
-        </para>
-      </listitem>
-      <listitem>
-        <para>
-          Create a new release notes file for the upcoming release + 1, in this
-          case <literal>rl-1803.xml</literal>.
-        </para>
-      </listitem>
+   <title>At beta release time</title>
+
+   <itemizedlist spacing="compact">
+    <listitem>
+     <para>
+      <link xlink:href="https://github.com/NixOS/nixpkgs/issues/13559">Create
+      an issue for tracking Zero Hydra Failures progress. ZHF is an effort to
+      get build failures down to zero.</link>
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      <literal>git tag -a -s -m &quot;Release 17.09-beta&quot; 17.09-beta
+      &amp;&amp; git push --tags</literal>
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      From the master branch run <literal>git checkout -B
+      release-17.09</literal>.
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      <link xlink:href="https://github.com/NixOS/nixos-org-configurations/pull/18">
+      Make sure a channel is created at http://nixos.org/channels/. </link>
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      <link xlink:href="https://github.com/NixOS/nixpkgs/settings/branches">
+      Let a GitHub nixpkgs admin lock the branch on github for you. (so
+      developers can’t force push) </link>
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      <link xlink:href="https://github.com/NixOS/nixpkgs/compare/bdf161ed8d21...6b63c4616790">
+      Bump the <literal>system.nixos.defaultChannel</literal> attribute in
+      <literal>nixos/modules/misc/version.nix</literal> </link>
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      <link xlink:href="https://github.com/NixOS/nixpkgs/commit/d6b08acd1ccac0d9d502c4b635e00b04d3387f06">
+      Update <literal>versionSuffix</literal> in
+      <literal>nixos/release.nix</literal></link>, use <literal>git log
+      --format=%an|wc -l</literal> to get the commit count
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      <literal>echo -n &quot;18.03&quot; &gt; .version</literal> on master.
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      <link xlink:href="https://github.com/NixOS/nixpkgs/commit/b8a4095003e27659092892a4708bb3698231a842">
+      Pick a new name for the unstable branch. </link>
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      Create a new release notes file for the upcoming release + 1, in this
+      case <literal>rl-1803.xml</literal>.
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      Create two Hydra jobsets: release-17.09 and release-17.09-small with
+      <literal>stableBranch</literal> set to false.
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      Edit changelog at
+      <literal>nixos/doc/manual/release-notes/rl-1709.xml</literal> (double
+      check desktop versions are noted)
+     </para>
+     <itemizedlist spacing="compact">
       <listitem>
-        <para>
-          Create two Hydra jobsets: release-17.09 and release-17.09-small with <literal>stableBranch</literal> set to false.
-        </para>
+       <para>
+        Get all new NixOS modules <literal>git diff
+        release-17.03..release-17.09 nixos/modules/module-list.nix|grep
+        ^+</literal>
+       </para>
       </listitem>
       <listitem>
-        <para>
-          Edit changelog at
-          <literal>nixos/doc/manual/release-notes/rl-1709.xml</literal>
-          (double check desktop versions are noted)
-        </para>
-        <itemizedlist spacing="compact">
-          <listitem>
-            <para>
-              Get all new NixOS modules
-              <literal>git diff release-17.03..release-17.09 nixos/modules/module-list.nix|grep ^+</literal>
-            </para>
-          </listitem>
-          <listitem>
-            <para>
-              Note systemd, kernel, glibc and Nix upgrades.
-            </para>
-          </listitem>
-        </itemizedlist>
+       <para>
+        Note systemd, kernel, glibc and Nix upgrades.
+       </para>
       </listitem>
-    </itemizedlist>
+     </itemizedlist>
+    </listitem>
+   </itemizedlist>
   </section>
+
   <section xml:id="during-beta">
-    <title>During Beta</title>
-    <itemizedlist spacing="compact">
-      <listitem>
-        <para>
-          Monitor the master branch for bugfixes and minor updates
-          and cherry-pick them to the release branch.
-        </para>
-      </listitem>
-    </itemizedlist>
+   <title>During Beta</title>
+
+   <itemizedlist spacing="compact">
+    <listitem>
+     <para>
+      Monitor the master branch for bugfixes and minor updates and cherry-pick
+      them to the release branch.
+     </para>
+    </listitem>
+   </itemizedlist>
   </section>
+
   <section xml:id="before-the-final-release">
-    <title>Before the final release</title>
-    <itemizedlist spacing="compact">
-      <listitem>
-        <para>
-          Re-check that the release notes are complete.
-        </para>
-      </listitem>
-      <listitem>
-        <para>
-          Release Nix (currently only Eelco Dolstra can do that).
-          <link xlink:href="https://github.com/NixOS/nixpkgs/commit/53710c752a85f00658882531bc90a23a3d1287e4">
-            Make sure fallback is updated.
-          </link>
-        </para>
-      </listitem>
-      <listitem>
-        <para>
-          <link xlink:href="https://github.com/NixOS/nixpkgs/commit/40fd9ae3ac8048758abdcfc7d28a78b5f22fe97e">
-            Update README.md with new stable NixOS version information.
-          </link>
-        </para>
-      </listitem>
-      <listitem>
-        <para>
-          Change <literal>stableBranch</literal> to true and wait for channel to update.
-        </para>
-      </listitem>
-    </itemizedlist>
+   <title>Before the final release</title>
+
+   <itemizedlist spacing="compact">
+    <listitem>
+     <para>
+      Re-check that the release notes are complete.
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      Release Nix (currently only Eelco Dolstra can do that).
+      <link xlink:href="https://github.com/NixOS/nixpkgs/commit/53710c752a85f00658882531bc90a23a3d1287e4">
+      Make sure fallback is updated. </link>
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      <link xlink:href="https://github.com/NixOS/nixpkgs/commit/40fd9ae3ac8048758abdcfc7d28a78b5f22fe97e">
+      Update README.md with new stable NixOS version information. </link>
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      Change <literal>stableBranch</literal> to true and wait for channel to
+      update.
+     </para>
+    </listitem>
+   </itemizedlist>
   </section>
+
   <section xml:id="at-final-release-time">
-    <title>At final release time</title>
-    <itemizedlist spacing="compact">
-      <listitem>
-        <para>
-          <literal>git tag -s -a -m &quot;Release 15.09&quot; 15.09</literal>
-        </para>
-      </listitem>
-      <listitem>
-        <para>
-          Update http://nixos.org/nixos/download.html and http://nixos.org/nixos/manual in https://github.com/NixOS/nixos-org-configurations
-        </para>
-      </listitem>
-      <listitem>
-        <para>
-          Get number of commits for the release:
-          <literal>git log release-14.04..release-14.12 --format=%an|wc -l</literal>
-        </para>
-      </listitem>
-      <listitem>
-        <para>
-          Commits by contributor:
-          <literal>git log release-14.04..release-14.12 --format=%an|sort|uniq -c|sort -rn</literal>
-        </para>
-      </listitem>
-      <listitem>
-        <para>
-          Send an email to nix-dev to announce the release with above information. Best to check how previous email was formulated
-          to see what needs to be included.
-        </para>
-      </listitem>
-    </itemizedlist>
-  </section>
-</section>
+   <title>At final release time</title>
 
-<section xml:id="release-schedule">
+   <itemizedlist spacing="compact">
+    <listitem>
+     <para>
+      <literal>git tag -s -a -m &quot;Release 15.09&quot; 15.09</literal>
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      Update http://nixos.org/nixos/download.html and
+      http://nixos.org/nixos/manual in
+      https://github.com/NixOS/nixos-org-configurations
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      Get number of commits for the release: <literal>git log
+      release-14.04..release-14.12 --format=%an|wc -l</literal>
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      Commits by contributor: <literal>git log release-14.04..release-14.12
+      --format=%an|sort|uniq -c|sort -rn</literal>
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      Send an email to nix-dev to announce the release with above information.
+      Best to check how previous email was formulated to see what needs to be
+      included.
+     </para>
+    </listitem>
+   </itemizedlist>
+  </section>
+ </section>
+ <section xml:id="release-schedule">
   <title>Release schedule</title>
 
   <informaltable>
-    <tgroup cols="2">
-      <colspec align="left" />
-      <colspec align="left" />
-      <thead>
-        <row>
-          <entry>
+   <tgroup cols="2">
+    <colspec align="left" />
+    <colspec align="left" />
+    <thead>
+     <row>
+      <entry>
             Date
           </entry>
-          <entry>
+      <entry>
             Event
           </entry>
-        </row>
-      </thead>
-      <tbody>
-        <row>
-          <entry>
+     </row>
+    </thead>
+    <tbody>
+     <row>
+      <entry>
             2016-07-25
           </entry>
-          <entry>
+      <entry>
             Send email to nix-dev about upcoming branch-off
           </entry>
-        </row>
-        <row>
-          <entry>
+     </row>
+     <row>
+      <entry>
             2016-09-01
           </entry>
-          <entry>
-            <literal>release-16.09</literal> branch and corresponding jobsets are created,
+      <entry><literal>release-16.09</literal> branch and corresponding jobsets are created,
             change freeze
           </entry>
-        </row>
-        <row>
-          <entry>
+     </row>
+     <row>
+      <entry>
             2016-09-30
           </entry>
-          <entry>
+      <entry>
             NixOS 16.09 released
           </entry>
-        </row>
-      </tbody>
-    </tgroup>
+     </row>
+    </tbody>
+   </tgroup>
   </informaltable>
-</section>
-
+ </section>
 </chapter>
diff --git a/nixos/doc/manual/development/replace-modules.xml b/nixos/doc/manual/development/replace-modules.xml
index cc0539ec510..7b103c36d90 100644
--- a/nixos/doc/manual/development/replace-modules.xml
+++ b/nixos/doc/manual/development/replace-modules.xml
@@ -3,27 +3,31 @@
         xmlns:xi="http://www.w3.org/2001/XInclude"
         version="5.0"
         xml:id="sec-replace-modules">
+ <title>Replace Modules</title>
 
-<title>Replace Modules</title>
+ <para>
+  Modules that are imported can also be disabled. The option declarations and
+  config implementation of a disabled module will be ignored, allowing another
+  to take it's place. This can be used to import a set of modules from another
+  channel while keeping the rest of the system on a stable release.
+ </para>
 
-<para>Modules that are imported can also be disabled.  The option
-  declarations and config implementation of a disabled module will be
-  ignored, allowing another to take it's place.  This can be used to
-  import a set of modules from another channel while keeping the rest
-  of the system on a stable release.</para>
-<para><literal>disabledModules</literal> is a top level attribute like
+ <para>
+  <literal>disabledModules</literal> is a top level attribute like
   <literal>imports</literal>, <literal>options</literal> and
-  <literal>config</literal>.  It contains a list of modules that will
-  be disabled. This can either be the full path to the module or a
-  string with the filename relative to the modules path
-  (eg. &lt;nixpkgs/nixos/modules&gt; for nixos).
-  </para>
+  <literal>config</literal>. It contains a list of modules that will be
+  disabled. This can either be the full path to the module or a string with the
+  filename relative to the modules path (eg. &lt;nixpkgs/nixos/modules&gt; for
+  nixos).
+ </para>
 
-<para>This example will replace the existing postgresql module with
-  the version defined in the nixos-unstable channel while keeping the
-  rest of the modules and packages from the original nixos channel.
-  This only overrides the module definition, this won't use postgresql
-  from nixos-unstable unless explicitly configured to do so.</para>
+ <para>
+  This example will replace the existing postgresql module with the version
+  defined in the nixos-unstable channel while keeping the rest of the modules
+  and packages from the original nixos channel. This only overrides the module
+  definition, this won't use postgresql from nixos-unstable unless explicitly
+  configured to do so.
+ </para>
 
 <programlisting>
 { config, lib, pkgs, ... }:
@@ -41,10 +45,11 @@
 }
 </programlisting>
 
-<para>This example shows how to define a custom module as a
-  replacement for an existing module. Importing this module will
-  disable the original module without having to know it's
-  implementation details.</para>
+ <para>
+  This example shows how to define a custom module as a replacement for an
+  existing module. Importing this module will disable the original module
+  without having to know it's implementation details.
+ </para>
 
 <programlisting>
 { config, lib, pkgs, ... }:
@@ -71,5 +76,4 @@ in
   };
 }
 </programlisting>
-
 </section>
diff --git a/nixos/doc/manual/development/running-nixos-tests-interactively.xml b/nixos/doc/manual/development/running-nixos-tests-interactively.xml
index e4749077781..862b364a6d7 100644
--- a/nixos/doc/manual/development/running-nixos-tests-interactively.xml
+++ b/nixos/doc/manual/development/running-nixos-tests-interactively.xml
@@ -3,41 +3,38 @@
         xmlns:xi="http://www.w3.org/2001/XInclude"
         version="5.0"
         xml:id="sec-running-nixos-tests">
-<title>Running Tests interactively</title>
-
-<para>The test itself can be run interactively.  This is
-particularly useful when developing or debugging a test:
+ <title>Running Tests interactively</title>
 
+ <para>
+  The test itself can be run interactively. This is particularly useful when
+  developing or debugging a test:
 <screen>
 $ nix-build nixos/tests/login.nix -A driver
 $ ./result/bin/nixos-test-driver
 starting VDE switch for network 1
 &gt;
 </screen>
-
-You can then take any Perl statement, e.g.
-
+  You can then take any Perl statement, e.g.
 <screen>
 &gt; startAll
 &gt; testScript
 &gt; $machine->succeed("touch /tmp/foo")
 </screen>
-
-The function <command>testScript</command> executes the entire test
-script and drops you back into the test driver command line upon its
-completion.  This allows you to inspect the state of the VMs after the
-test (e.g. to debug the test script).</para>
-
-<para>To just start and experiment with the VMs, run:
-
+  The function <command>testScript</command> executes the entire test script
+  and drops you back into the test driver command line upon its completion.
+  This allows you to inspect the state of the VMs after the test (e.g. to debug
+  the test script).
+ </para>
+
+ <para>
+  To just start and experiment with the VMs, run:
 <screen>
 $ nix-build nixos/tests/login.nix -A driver
 $ ./result/bin/nixos-run-vms
 </screen>
-
-The script <command>nixos-run-vms</command> starts the virtual
-machines defined by test.  The root file system of the VMs is created
-on the fly and kept across VM restarts in
-<filename>./</filename><varname>hostname</varname><filename>.qcow2</filename>.</para>
-
+  The script <command>nixos-run-vms</command> starts the virtual machines
+  defined by test. The root file system of the VMs is created on the fly and
+  kept across VM restarts in
+  <filename>./</filename><varname>hostname</varname><filename>.qcow2</filename>.
+ </para>
 </section>
diff --git a/nixos/doc/manual/development/running-nixos-tests.xml b/nixos/doc/manual/development/running-nixos-tests.xml
index 908c0a66a32..eadbe1ea4f2 100644
--- a/nixos/doc/manual/development/running-nixos-tests.xml
+++ b/nixos/doc/manual/development/running-nixos-tests.xml
@@ -3,20 +3,18 @@
         xmlns:xi="http://www.w3.org/2001/XInclude"
         version="5.0"
         xml:id="sec-running-nixos-tests-interactively">
+ <title>Running Tests</title>
 
-<title>Running Tests</title>
-
-<para>You can run tests using <command>nix-build</command>. For
-example, to run the test <filename
+ <para>
+  You can run tests using <command>nix-build</command>. For example, to run the
+  test
+  <filename
 xlink:href="https://github.com/NixOS/nixpkgs/blob/master/nixos/tests/login.nix">login.nix</filename>,
-you just do:
-
+  you just do:
 <screen>
 $ nix-build '&lt;nixpkgs/nixos/tests/login.nix>'
 </screen>
-
-or, if you don’t want to rely on <envar>NIX_PATH</envar>:
-
+  or, if you don’t want to rely on <envar>NIX_PATH</envar>:
 <screen>
 $ cd /my/nixpkgs/nixos/tests
 $ nix-build login.nix
@@ -26,16 +24,13 @@ machine: QEMU running (pid 8841)

 6 out of 6 tests succeeded
 </screen>
-
-After building/downloading all required dependencies, this will
-perform a build that starts a QEMU/KVM virtual machine containing a
-NixOS system. The virtual machine mounts the Nix store of the host;
-this makes VM creation very fast, as no disk image needs to be
-created. Afterwards, you can view a pretty-printed log of the test:
-
+  After building/downloading all required dependencies, this will perform a
+  build that starts a QEMU/KVM virtual machine containing a NixOS system. The
+  virtual machine mounts the Nix store of the host; this makes VM creation very
+  fast, as no disk image needs to be created. Afterwards, you can view a
+  pretty-printed log of the test:
 <screen>
 $ firefox result/log.html
 </screen>
-
-</para>
+ </para>
 </section>
diff --git a/nixos/doc/manual/development/sources.xml b/nixos/doc/manual/development/sources.xml
index a2896cd7a13..c7b64cb84be 100644
--- a/nixos/doc/manual/development/sources.xml
+++ b/nixos/doc/manual/development/sources.xml
@@ -3,101 +3,84 @@
         xmlns:xi="http://www.w3.org/2001/XInclude"
         version="5.0"
         xml:id="sec-getting-sources">
-
-<title>Getting the Sources</title>
-
-<para>By default, NixOS’s <command>nixos-rebuild</command> command
-uses the NixOS and Nixpkgs sources provided by the
-<literal>nixos</literal> channel (kept in
-<filename>/nix/var/nix/profiles/per-user/root/channels/nixos</filename>).
-To modify NixOS, however, you should check out the latest sources from
-Git.  This is as follows:
-
+ <title>Getting the Sources</title>
+ <para>
+  By default, NixOS’s <command>nixos-rebuild</command> command uses the NixOS
+  and Nixpkgs sources provided by the <literal>nixos</literal> channel (kept in
+  <filename>/nix/var/nix/profiles/per-user/root/channels/nixos</filename>). To
+  modify NixOS, however, you should check out the latest sources from Git. This
+  is as follows:
 <screen>
 $ git clone git://github.com/NixOS/nixpkgs.git
 $ cd nixpkgs
 $ git remote add channels git://github.com/NixOS/nixpkgs-channels.git
 $ git remote update channels
 </screen>
-
-This will check out the latest Nixpkgs sources to
-<filename>./nixpkgs</filename> the NixOS sources to
-<filename>./nixpkgs/nixos</filename>. (The NixOS source tree lives in
-a subdirectory of the Nixpkgs repository.) The remote
-<literal>channels</literal> refers to a read-only repository that
-tracks the Nixpkgs/NixOS channels (see <xref linkend="sec-upgrading"/>
-for more information about channels). Thus, the Git branch
-<literal>channels/nixos-17.03</literal> will contain the latest built
-and tested version available in the <literal>nixos-17.03</literal>
-channel.</para>
-
-<para>It’s often inconvenient to develop directly on the master
-branch, since if somebody has just committed (say) a change to GCC,
-then the binary cache may not have caught up yet and you’ll have to
-rebuild everything from source. So you may want to create a local
-branch based on your current NixOS version:
-
+  This will check out the latest Nixpkgs sources to
+  <filename>./nixpkgs</filename> the NixOS sources to
+  <filename>./nixpkgs/nixos</filename>. (The NixOS source tree lives in a
+  subdirectory of the Nixpkgs repository.) The remote
+  <literal>channels</literal> refers to a read-only repository that tracks the
+  Nixpkgs/NixOS channels (see <xref linkend="sec-upgrading"/> for more
+  information about channels). Thus, the Git branch
+  <literal>channels/nixos-17.03</literal> will contain the latest built and
+  tested version available in the <literal>nixos-17.03</literal> channel.
+ </para>
+ <para>
+  It’s often inconvenient to develop directly on the master branch, since if
+  somebody has just committed (say) a change to GCC, then the binary cache may
+  not have caught up yet and you’ll have to rebuild everything from source.
+  So you may want to create a local branch based on your current NixOS version:
 <screen>
 $ nixos-version
 17.09pre104379.6e0b727 (Hummingbird)
 
 $ git checkout -b local 6e0b727
 </screen>
-
-Or, to base your local branch on the latest version available in a
-NixOS channel:
-
+  Or, to base your local branch on the latest version available in a NixOS
+  channel:
 <screen>
 $ git remote update channels
 $ git checkout -b local channels/nixos-17.03
 </screen>
-
-(Replace <literal>nixos-17.03</literal> with the name of the channel
-you want to use.) You can use <command>git merge</command> or
-<command>git rebase</command> to keep your local branch in sync with
-the channel, e.g.
-
+  (Replace <literal>nixos-17.03</literal> with the name of the channel you want
+  to use.) You can use <command>git merge</command> or <command>git
+  rebase</command> to keep your local branch in sync with the channel, e.g.
 <screen>
 $ git remote update channels
 $ git merge channels/nixos-17.03
 </screen>
-
-You can use <command>git cherry-pick</command> to copy commits from
-your local branch to the upstream branch.</para>
-
-<para>If you want to rebuild your system using your (modified)
-sources, you need to tell <command>nixos-rebuild</command> about them
-using the <option>-I</option> flag:
-
+  You can use <command>git cherry-pick</command> to copy commits from your
+  local branch to the upstream branch.
+ </para>
+ <para>
+  If you want to rebuild your system using your (modified) sources, you need to
+  tell <command>nixos-rebuild</command> about them using the
+  <option>-I</option> flag:
 <screen>
 # nixos-rebuild switch -I nixpkgs=<replaceable>/my/sources</replaceable>/nixpkgs
 </screen>
-
-</para>
-
-<para>If you want <command>nix-env</command> to use the expressions in
-<replaceable>/my/sources</replaceable>, use <command>nix-env -f
-<replaceable>/my/sources</replaceable>/nixpkgs</command>, or change
-the default by adding a symlink in
-<filename>~/.nix-defexpr</filename>:
-
+ </para>
+ <para>
+  If you want <command>nix-env</command> to use the expressions in
+  <replaceable>/my/sources</replaceable>, use <command>nix-env -f
+  <replaceable>/my/sources</replaceable>/nixpkgs</command>, or change the
+  default by adding a symlink in <filename>~/.nix-defexpr</filename>:
 <screen>
 $ ln -s <replaceable>/my/sources</replaceable>/nixpkgs ~/.nix-defexpr/nixpkgs
 </screen>
-
-You may want to delete the symlink
-<filename>~/.nix-defexpr/channels_root</filename> to prevent root’s
-NixOS channel from clashing with your own tree (this may break the
-command-not-found utility though). If you want to go back to the default
-state, you may just remove the <filename>~/.nix-defexpr</filename>
-directory completely, log out and log in again and it should have been
-recreated with a link to the root channels.</para>
-
+  You may want to delete the symlink
+  <filename>~/.nix-defexpr/channels_root</filename> to prevent root’s NixOS
+  channel from clashing with your own tree (this may break the
+  command-not-found utility though). If you want to go back to the default
+  state, you may just remove the <filename>~/.nix-defexpr</filename> directory
+  completely, log out and log in again and it should have been recreated with a
+  link to the root channels.
+ </para>
 <!-- FIXME: not sure what this means.
 <para>You should not pass the base directory
 <filename><replaceable>/my/sources</replaceable></filename>
 to <command>nix-env</command>, as it will break after interpreting expressions
 in <filename>nixos/</filename> as packages.</para>
 -->
-
 </chapter>
diff --git a/nixos/doc/manual/development/testing-installer.xml b/nixos/doc/manual/development/testing-installer.xml
index 16bc8125d9f..63f5f3de7f4 100644
--- a/nixos/doc/manual/development/testing-installer.xml
+++ b/nixos/doc/manual/development/testing-installer.xml
@@ -3,27 +3,20 @@
         xmlns:xi="http://www.w3.org/2001/XInclude"
         version="5.0"
         xml:id="ch-testing-installer">
-
-<title>Testing the Installer</title>
-
-<para>Building, burning, and booting from an installation CD is rather
-tedious, so here is a quick way to see if the installer works
-properly:
-
+ <title>Testing the Installer</title>
+ <para>
+  Building, burning, and booting from an installation CD is rather tedious, so
+  here is a quick way to see if the installer works properly:
 <screen>
 # mount -t tmpfs none /mnt
 # nixos-generate-config --root /mnt
 $ nix-build '&lt;nixpkgs/nixos>' -A config.system.build.nixos-install
 # ./result/bin/nixos-install</screen>
-
-To start a login shell in the new NixOS installation in
-<filename>/mnt</filename>:
-
+  To start a login shell in the new NixOS installation in
+  <filename>/mnt</filename>:
 <screen>
 $ nix-build '&lt;nixpkgs/nixos>' -A config.system.build.nixos-enter
 # ./result/bin/nixos-enter
 </screen>
-
-</para>
-
+ </para>
 </chapter>
diff --git a/nixos/doc/manual/development/writing-documentation.xml b/nixos/doc/manual/development/writing-documentation.xml
index 59a287717ac..8ecdd1c770f 100644
--- a/nixos/doc/manual/development/writing-documentation.xml
+++ b/nixos/doc/manual/development/writing-documentation.xml
@@ -3,145 +3,147 @@
         xmlns:xi="http://www.w3.org/2001/XInclude"
         version="5.0"
         xml:id="sec-writing-documentation">
-
-<title>Writing NixOS Documentation</title>
-
-<para>
-  As NixOS grows, so too does the need for a catalogue and explanation
-  of its extensive functionality. Collecting pertinent information
-  from disparate sources and presenting it in an accessible style
-  would be a worthy contribution to the project.
-</para>
-
-<section>
-<title>Building the Manual</title>
-<para>
-  The DocBook sources of the <xref linkend="book-nixos-manual"/> are in the
-  <link xlink:href="https://github.com/NixOS/nixpkgs/tree/master/nixos/doc/manual"><filename>nixos/doc/manual</filename></link>
-  subdirectory of the Nixpkgs repository. If you make modifications to
-  the manual, it's important to build it before committing. You can do
-  that as follows:
-
-  <screen>nix-build nixos/release.nix -A manual.x86_64-linux</screen>
-</para>
-
-<para>
-  When this command successfully finishes, it will tell you where the
-  manual got generated. The HTML will be accessible through the
-  <filename>result</filename> symlink at
-  <filename>./result/share/doc/nixos/index.html</filename>.
-</para>
-</section>
-
-<section>
-<title>Editing DocBook XML</title>
-
-<para>
-  For general information on how to write in DocBook, see
-  <link xlink:href="http://www.docbook.org/tdg5/en/html/docbook.html">
-    DocBook 5: The Definitive Guide</link>.
-</para>
-
-<para>
-  Emacs nXML Mode is very helpful for editing DocBook XML because it
-  validates the document as you write, and precisely locates
-  errors. To use it, see <xref linkend="sec-emacs-docbook-xml"/>.
-</para>
-
-<para>
-  <link xlink:href="http://pandoc.org">Pandoc</link> can generate
-  DocBook XML from a multitude of formats, which makes a good starting
-  point.
-
-  <example xml:id="ex-pandoc-xml-conv">
+ <title>Writing NixOS Documentation</title>
+ <para>
+  As NixOS grows, so too does the need for a catalogue and explanation of its
+  extensive functionality. Collecting pertinent information from disparate
+  sources and presenting it in an accessible style would be a worthy
+  contribution to the project.
+ </para>
+ <section>
+  <title>Building the Manual</title>
+
+  <para>
+   The DocBook sources of the <xref linkend="book-nixos-manual"/> are in the
+   <link xlink:href="https://github.com/NixOS/nixpkgs/tree/master/nixos/doc/manual"><filename>nixos/doc/manual</filename></link>
+   subdirectory of the Nixpkgs repository.
+  </para>
+
+  <para>
+   You can quickly validate your edits with <command>make</command>:
+  </para>
+
+<screen>
+  $ cd /path/to/nixpkgs/nixos/doc/manual
+  $ make
+</screen>
+
+  <para>
+   Once you are done making modifications to the manual, it's important to
+   build it before committing. You can do that as follows:
+  </para>
+
+<screen>nix-build nixos/release.nix -A manual.x86_64-linux</screen>
+
+  <para>
+   When this command successfully finishes, it will tell you where the manual
+   got generated. The HTML will be accessible through the
+   <filename>result</filename> symlink at
+   <filename>./result/share/doc/nixos/index.html</filename>.
+  </para>
+ </section>
+ <section>
+  <title>Editing DocBook XML</title>
+
+  <para>
+   For general information on how to write in DocBook, see
+   <link xlink:href="http://www.docbook.org/tdg5/en/html/docbook.html"> DocBook
+   5: The Definitive Guide</link>.
+  </para>
+
+  <para>
+   Emacs nXML Mode is very helpful for editing DocBook XML because it validates
+   the document as you write, and precisely locates errors. To use it, see
+   <xref linkend="sec-emacs-docbook-xml"/>.
+  </para>
+
+  <para>
+   <link xlink:href="http://pandoc.org">Pandoc</link> can generate DocBook XML
+   from a multitude of formats, which makes a good starting point.
+   <example xml:id="ex-pandoc-xml-conv">
     <title>Pandoc invocation to convert GitHub-Flavoured MarkDown to DocBook 5 XML</title>
-    <screen>pandoc -f markdown_github -t docbook5 docs.md -o my-section.md</screen>
-  </example>
-
-  Pandoc can also quickly convert a single
-  <filename>section.xml</filename> to HTML, which is helpful when
-  drafting.
-</para>
-
-<para>
-  Sometimes writing valid DocBook is simply too difficult. In this
-  case, submit your documentation updates in a <link
+<screen>pandoc -f markdown_github -t docbook5 docs.md -o my-section.md</screen>
+   </example>
+   Pandoc can also quickly convert a single <filename>section.xml</filename> to
+   HTML, which is helpful when drafting.
+  </para>
+
+  <para>
+   Sometimes writing valid DocBook is simply too difficult. In this case,
+   submit your documentation updates in a
+   <link
   xlink:href="https://github.com/NixOS/nixpkgs/issues/new">GitHub
-  Issue</link> and someone will handle the conversion to XML for you.
-</para>
-</section>
-
-<section>
-<title>Creating a Topic</title>
-
-<para>
- You can use an existing topic as a basis for the new topic or create a topic from scratch.
-</para>
-
-<para>
-Keep the following guidelines in mind when you create and add a topic:
-
-<itemizedlist>
-  <listitem><para>
-    The NixOS <link xlink:href="http://www.docbook.org/tdg5/en/html/book.html"><tag>book</tag></link>
-    element is in <filename>nixos/doc/manual/manual.xml</filename>.
-    It includes several
-    <link xlink:href="http://www.docbook.org/tdg5/en/html/book.html"><tag>part</tag>s</link>
-    which are in subdirectories.
-  </para></listitem>
-
-  <listitem><para>
-    Store the topic file in the same directory as the <tag>part</tag>
-    to which it belongs. If your topic is about configuring a NixOS
-    module, then the XML file can be stored alongside the module
-    definition <filename>nix</filename> file.
-  </para></listitem>
-
-  <listitem><para>
-    If you include multiple words in the file name, separate the words
-    with a dash. For example: <filename>ipv6-config.xml</filename>.
-  </para></listitem>
-
-  <listitem><para>
-    Make sure that the <tag>xml:id</tag> value is unique. You can use
-    abbreviations if the ID is too long. For example:
-    <varname>nixos-config</varname>.
-  </para></listitem>
-
-  <listitem><para>
-    Determine whether your topic is a chapter or a section. If you are
-    unsure, open an existing topic file and check whether the main
-    element is chapter or section.
-  </para></listitem>
-
-</itemizedlist>
-
-</para>
-</section>
-
-<section>
-<title>Adding a Topic to the Book</title>
-
-<para>
-  Open the parent XML file and add an <varname>xi:include</varname>
-  element to the list of chapters with the file name of the topic that
-  you created. If you created a <tag>section</tag>, you add the file to
-  the <tag>chapter</tag> file. If you created a <tag>chapter</tag>, you
-  add the file to the <tag>part</tag> file.
-</para>
-
-<para>
-  If the topic is about configuring a NixOS module, it can be
-  automatically included in the manual by using the
-  <varname>meta.doc</varname> attribute. See <xref
+   Issue</link> and someone will handle the conversion to XML for you.
+  </para>
+ </section>
+ <section>
+  <title>Creating a Topic</title>
+
+  <para>
+   You can use an existing topic as a basis for the new topic or create a topic
+   from scratch.
+  </para>
+
+  <para>
+   Keep the following guidelines in mind when you create and add a topic:
+   <itemizedlist>
+    <listitem>
+     <para>
+      The NixOS
+      <link xlink:href="http://www.docbook.org/tdg5/en/html/book.html"><tag>book</tag></link>
+      element is in <filename>nixos/doc/manual/manual.xml</filename>. It
+      includes several
+      <link xlink:href="http://www.docbook.org/tdg5/en/html/book.html"><tag>part</tag>s</link>
+      which are in subdirectories.
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      Store the topic file in the same directory as the <tag>part</tag> to
+      which it belongs. If your topic is about configuring a NixOS module, then
+      the XML file can be stored alongside the module definition
+      <filename>nix</filename> file.
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      If you include multiple words in the file name, separate the words with a
+      dash. For example: <filename>ipv6-config.xml</filename>.
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      Make sure that the <tag>xml:id</tag> value is unique. You can use
+      abbreviations if the ID is too long. For example:
+      <varname>nixos-config</varname>.
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      Determine whether your topic is a chapter or a section. If you are
+      unsure, open an existing topic file and check whether the main element is
+      chapter or section.
+     </para>
+    </listitem>
+   </itemizedlist>
+  </para>
+ </section>
+ <section>
+  <title>Adding a Topic to the Book</title>
+
+  <para>
+   Open the parent XML file and add an <varname>xi:include</varname> element to
+   the list of chapters with the file name of the topic that you created. If
+   you created a <tag>section</tag>, you add the file to the <tag>chapter</tag>
+   file. If you created a <tag>chapter</tag>, you add the file to the
+   <tag>part</tag> file.
+  </para>
+
+  <para>
+   If the topic is about configuring a NixOS module, it can be automatically
+   included in the manual by using the <varname>meta.doc</varname> attribute.
+   See <xref
   linkend="sec-meta-attributes"/> for an explanation.
-</para>
-
-</section>
-
-
-
-
-
-
+  </para>
+ </section>
 </chapter>
diff --git a/nixos/doc/manual/development/writing-modules.xml b/nixos/doc/manual/development/writing-modules.xml
index cb363b45675..bbf793bb0be 100644
--- a/nixos/doc/manual/development/writing-modules.xml
+++ b/nixos/doc/manual/development/writing-modules.xml
@@ -3,52 +3,54 @@
         xmlns:xi="http://www.w3.org/2001/XInclude"
         version="5.0"
         xml:id="sec-writing-modules">
-
-<title>Writing NixOS Modules</title>
-
-<para>NixOS has a modular system for declarative configuration.  This
-system combines multiple <emphasis>modules</emphasis> to produce the
-full system configuration.  One of the modules that constitute the
-configuration is <filename>/etc/nixos/configuration.nix</filename>.
-Most of the others live in the <link
+ <title>Writing NixOS Modules</title>
+ <para>
+  NixOS has a modular system for declarative configuration. This system
+  combines multiple <emphasis>modules</emphasis> to produce the full system
+  configuration. One of the modules that constitute the configuration is
+  <filename>/etc/nixos/configuration.nix</filename>. Most of the others live in
+  the
+  <link
 xlink:href="https://github.com/NixOS/nixpkgs/tree/master/nixos/modules"><filename>nixos/modules</filename></link>
-subdirectory of the Nixpkgs tree.</para>
-
-<para>Each NixOS module is a file that handles one logical aspect of
-the configuration, such as a specific kind of hardware, a service, or
-network settings.  A module configuration does not have to handle
-everything from scratch; it can use the functionality provided by
-other modules for its implementation.  Thus a module can
-<emphasis>declare</emphasis> options that can be used by other
-modules, and conversely can <emphasis>define</emphasis> options
-provided by other modules in its own implementation.  For example, the
-module <link
+  subdirectory of the Nixpkgs tree.
+ </para>
+ <para>
+  Each NixOS module is a file that handles one logical aspect of the
+  configuration, such as a specific kind of hardware, a service, or network
+  settings. A module configuration does not have to handle everything from
+  scratch; it can use the functionality provided by other modules for its
+  implementation. Thus a module can <emphasis>declare</emphasis> options that
+  can be used by other modules, and conversely can <emphasis>define</emphasis>
+  options provided by other modules in its own implementation. For example, the
+  module
+  <link
 xlink:href="https://github.com/NixOS/nixpkgs/blob/master/nixos/modules/security/pam.nix"><filename>pam.nix</filename></link>
-declares the option <option>security.pam.services</option> that allows
-other modules (e.g. <link
+  declares the option <option>security.pam.services</option> that allows other
+  modules (e.g.
+  <link
 xlink:href="https://github.com/NixOS/nixpkgs/blob/master/nixos/modules/services/networking/ssh/sshd.nix"><filename>sshd.nix</filename></link>)
-to define PAM services; and it defines the option
-<option>environment.etc</option> (declared by <link
+  to define PAM services; and it defines the option
+  <option>environment.etc</option> (declared by
+  <link
 xlink:href="https://github.com/NixOS/nixpkgs/blob/master/nixos/modules/system/etc/etc.nix"><filename>etc.nix</filename></link>)
-to cause files to be created in
-<filename>/etc/pam.d</filename>.</para>
-
-<para xml:id="para-module-syn">In <xref
+  to cause files to be created in <filename>/etc/pam.d</filename>.
+ </para>
+ <para xml:id="para-module-syn">
+  In <xref
 linkend="sec-configuration-syntax"/>, we saw the following structure
-of NixOS modules:
-
+  of NixOS modules:
 <programlisting>
 { config, pkgs, ... }:
 
 { <replaceable>option definitions</replaceable>
 }
 </programlisting>
-
-This is actually an <emphasis>abbreviated</emphasis> form of module
-that only defines options, but does not declare any.  The structure of
-full NixOS modules is shown in <xref linkend='ex-module-syntax' />.</para>
-
-<example xml:id='ex-module-syntax'><title>Structure of NixOS Modules</title>
+  This is actually an <emphasis>abbreviated</emphasis> form of module that only
+  defines options, but does not declare any. The structure of full NixOS
+  modules is shown in <xref linkend='ex-module-syntax' />.
+ </para>
+ <example xml:id='ex-module-syntax'>
+  <title>Structure of NixOS Modules</title>
 <programlisting>
 { config, pkgs, ... }: <co xml:id='module-syntax-1' />
 
@@ -65,56 +67,56 @@ full NixOS modules is shown in <xref linkend='ex-module-syntax' />.</para>
     <replaceable>option definitions</replaceable> <co xml:id='module-syntax-4' />
   };
 }</programlisting>
-</example>
-
-<para>The meaning of each part is as follows.
-
-<calloutlist>
-  <callout arearefs='module-syntax-1'>
-    <para>This line makes the current Nix expression a function.  The
-    variable <varname>pkgs</varname> contains Nixpkgs, while
-    <varname>config</varname> contains the full system configuration.
-    This line can be omitted if there is no reference to
-    <varname>pkgs</varname> and <varname>config</varname> inside the
-    module.</para>
-  </callout>
-
-  <callout arearefs='module-syntax-2'>
-    <para>This list enumerates the paths to other NixOS modules that
-    should be included in the evaluation of the system configuration.
-    A default set of modules is defined in the file
-    <filename>modules/module-list.nix</filename>.  These don't need to
-    be added in the import list.</para>
-  </callout>
-
-  <callout arearefs='module-syntax-3'>
-    <para>The attribute <varname>options</varname> is a nested set of
-    <emphasis>option declarations</emphasis> (described below).</para>
-  </callout>
-
-  <callout arearefs='module-syntax-4'>
-    <para>The attribute <varname>config</varname> is a nested set of
-    <emphasis>option definitions</emphasis> (also described
-    below).</para>
-  </callout>
-</calloutlist>
-
-</para>
-
-<para><xref linkend='locate-example' /> shows a module that handles
-the regular update of the “locate” database, an index of all files in
-the file system.  This module declares two options that can be defined
-by other modules (typically the user’s
-<filename>configuration.nix</filename>):
-<option>services.locate.enable</option> (whether the database should
-be updated) and <option>services.locate.interval</option> (when the
-update should be done).  It implements its functionality by defining
-two options declared by other modules:
-<option>systemd.services</option> (the set of all systemd services)
-and <option>systemd.timers</option> (the list of commands to be
-executed periodically by <command>systemd</command>).</para>
-
-<example xml:id='locate-example'><title>NixOS Module for the “locate” Service</title>
+ </example>
+ <para>
+  The meaning of each part is as follows.
+  <calloutlist>
+   <callout arearefs='module-syntax-1'>
+    <para>
+     This line makes the current Nix expression a function. The variable
+     <varname>pkgs</varname> contains Nixpkgs, while <varname>config</varname>
+     contains the full system configuration. This line can be omitted if there
+     is no reference to <varname>pkgs</varname> and <varname>config</varname>
+     inside the module.
+    </para>
+   </callout>
+   <callout arearefs='module-syntax-2'>
+    <para>
+     This list enumerates the paths to other NixOS modules that should be
+     included in the evaluation of the system configuration. A default set of
+     modules is defined in the file
+     <filename>modules/module-list.nix</filename>. These don't need to be added
+     in the import list.
+    </para>
+   </callout>
+   <callout arearefs='module-syntax-3'>
+    <para>
+     The attribute <varname>options</varname> is a nested set of
+     <emphasis>option declarations</emphasis> (described below).
+    </para>
+   </callout>
+   <callout arearefs='module-syntax-4'>
+    <para>
+     The attribute <varname>config</varname> is a nested set of
+     <emphasis>option definitions</emphasis> (also described below).
+    </para>
+   </callout>
+  </calloutlist>
+ </para>
+ <para>
+  <xref linkend='locate-example' /> shows a module that handles the regular
+  update of the “locate” database, an index of all files in the file
+  system. This module declares two options that can be defined by other modules
+  (typically the user’s <filename>configuration.nix</filename>):
+  <option>services.locate.enable</option> (whether the database should be
+  updated) and <option>services.locate.interval</option> (when the update
+  should be done). It implements its functionality by defining two options
+  declared by other modules: <option>systemd.services</option> (the set of all
+  systemd services) and <option>systemd.timers</option> (the list of commands
+  to be executed periodically by <command>systemd</command>).
+ </para>
+ <example xml:id='locate-example'>
+  <title>NixOS Module for the “locate” Service</title>
 <programlisting>
 { config, lib, pkgs, ... }:
 
@@ -173,13 +175,12 @@ in {
   };
 }
 </programlisting>
-</example>
-
-<xi:include href="option-declarations.xml" />
-<xi:include href="option-types.xml" />
-<xi:include href="option-def.xml" />
-<xi:include href="assertions.xml" />
-<xi:include href="meta-attributes.xml" />
-<xi:include href="replace-modules.xml" />
-
+ </example>
+ <xi:include href="option-declarations.xml" />
+ <xi:include href="option-types.xml" />
+ <xi:include href="option-def.xml" />
+ <xi:include href="assertions.xml" />
+ <xi:include href="meta-attributes.xml" />
+ <xi:include href="importing-modules.xml" />
+ <xi:include href="replace-modules.xml" />
 </chapter>
diff --git a/nixos/doc/manual/development/writing-nixos-tests.xml b/nixos/doc/manual/development/writing-nixos-tests.xml
index a8f6aa00858..89a6a442362 100644
--- a/nixos/doc/manual/development/writing-nixos-tests.xml
+++ b/nixos/doc/manual/development/writing-nixos-tests.xml
@@ -3,11 +3,10 @@
         xmlns:xi="http://www.w3.org/2001/XInclude"
         version="5.0"
         xml:id="sec-writing-nixos-tests">
+ <title>Writing Tests</title>
 
-<title>Writing Tests</title>
-
-<para>A NixOS test is a Nix expression that has the following structure:
-
+ <para>
+  A NixOS test is a Nix expression that has the following structure:
 <programlisting>
 import ./make-test.nix {
 
@@ -32,277 +31,364 @@ import ./make-test.nix {
     '';
 }
 </programlisting>
-
-The attribute <literal>testScript</literal> is a bit of Perl code that
-executes the test (described below). During the test, it will start
-one or more virtual machines, the configuration of which is described
-by the attribute <literal>machine</literal> (if you need only one
-machine in your test) or by the attribute <literal>nodes</literal> (if
-you need multiple machines). For instance, <filename
+  The attribute <literal>testScript</literal> is a bit of Perl code that
+  executes the test (described below). During the test, it will start one or
+  more virtual machines, the configuration of which is described by the
+  attribute <literal>machine</literal> (if you need only one machine in your
+  test) or by the attribute <literal>nodes</literal> (if you need multiple
+  machines). For instance,
+  <filename
 xlink:href="https://github.com/NixOS/nixpkgs/blob/master/nixos/tests/login.nix">login.nix</filename>
-only needs a single machine to test whether users can log in on the
-virtual console, whether device ownership is correctly maintained when
-switching between consoles, and so on. On the other hand, <filename
+  only needs a single machine to test whether users can log in on the virtual
+  console, whether device ownership is correctly maintained when switching
+  between consoles, and so on. On the other hand,
+  <filename
 xlink:href="https://github.com/NixOS/nixpkgs/blob/master/nixos/tests/nfs.nix">nfs.nix</filename>,
-which tests NFS client and server functionality in the Linux kernel
-(including whether locks are maintained across server crashes),
-requires three machines: a server and two clients.</para>
-
-<para>There are a few special NixOS configuration options for test
-VMs:
+  which tests NFS client and server functionality in the Linux kernel
+  (including whether locks are maintained across server crashes), requires
+  three machines: a server and two clients.
+ </para>
 
+ <para>
+  There are a few special NixOS configuration options for test VMs:
 <!-- FIXME: would be nice to generate this automatically. -->
-
-<variablelist>
-
-  <varlistentry>
-    <term><option>virtualisation.memorySize</option></term>
-    <listitem><para>The memory of the VM in
-    megabytes.</para></listitem>
-  </varlistentry>
-
-  <varlistentry>
-    <term><option>virtualisation.vlans</option></term>
-    <listitem><para>The virtual networks to which the VM is
-    connected. See <filename
+  <variablelist>
+   <varlistentry>
+    <term><option>virtualisation.memorySize</option>
+    </term>
+    <listitem>
+     <para>
+      The memory of the VM in megabytes.
+     </para>
+    </listitem>
+   </varlistentry>
+   <varlistentry>
+    <term><option>virtualisation.vlans</option>
+    </term>
+    <listitem>
+     <para>
+      The virtual networks to which the VM is connected. See
+      <filename
     xlink:href="https://github.com/NixOS/nixpkgs/blob/master/nixos/tests/nat.nix">nat.nix</filename>
-    for an example.</para></listitem>
-  </varlistentry>
-
-  <varlistentry>
-    <term><option>virtualisation.writableStore</option></term>
-    <listitem><para>By default, the Nix store in the VM is not
-    writable. If you enable this option, a writable union file system
-    is mounted on top of the Nix store to make it appear
-    writable. This is necessary for tests that run Nix operations that
-    modify the store.</para></listitem>
-  </varlistentry>
-
-</variablelist>
-
-For more options, see the module <filename
-xlink:href="https://github.com/NixOS/nixpkgs/blob/master/nixos/modules/virtualisation/qemu-vm.nix">qemu-vm.nix</filename>.</para>
-
-<para>The test script is a sequence of Perl statements that perform
-various actions, such as starting VMs, executing commands in the VMs,
-and so on. Each virtual machine is represented as an object stored in
-the variable <literal>$<replaceable>name</replaceable></literal>,
-where <replaceable>name</replaceable> is the identifier of the machine
-(which is just <literal>machine</literal> if you didn’t specify
-multiple machines using the <literal>nodes</literal> attribute). For
-instance, the following starts the machine, waits until it has
-finished booting, then executes a command and checks that the output
-is more-or-less correct:
-
+      for an example.
+     </para>
+    </listitem>
+   </varlistentry>
+   <varlistentry>
+    <term><option>virtualisation.writableStore</option>
+    </term>
+    <listitem>
+     <para>
+      By default, the Nix store in the VM is not writable. If you enable this
+      option, a writable union file system is mounted on top of the Nix store
+      to make it appear writable. This is necessary for tests that run Nix
+      operations that modify the store.
+     </para>
+    </listitem>
+   </varlistentry>
+  </variablelist>
+  For more options, see the module
+  <filename
+xlink:href="https://github.com/NixOS/nixpkgs/blob/master/nixos/modules/virtualisation/qemu-vm.nix">qemu-vm.nix</filename>.
+ </para>
+
+ <para>
+  The test script is a sequence of Perl statements that perform various
+  actions, such as starting VMs, executing commands in the VMs, and so on. Each
+  virtual machine is represented as an object stored in the variable
+  <literal>$<replaceable>name</replaceable></literal>, where
+  <replaceable>name</replaceable> is the identifier of the machine (which is
+  just <literal>machine</literal> if you didn’t specify multiple machines
+  using the <literal>nodes</literal> attribute). For instance, the following
+  starts the machine, waits until it has finished booting, then executes a
+  command and checks that the output is more-or-less correct:
 <programlisting>
 $machine->start;
 $machine->waitForUnit("default.target");
 $machine->succeed("uname") =~ /Linux/;
 </programlisting>
-
-The first line is actually unnecessary; machines are implicitly
-started when you first execute an action on them (such as
-<literal>waitForUnit</literal> or <literal>succeed</literal>). If you
-have multiple machines, you can speed up the test by starting them in
-parallel:
-
+  The first line is actually unnecessary; machines are implicitly started when
+  you first execute an action on them (such as <literal>waitForUnit</literal>
+  or <literal>succeed</literal>). If you have multiple machines, you can speed
+  up the test by starting them in parallel:
 <programlisting>
 startAll;
 </programlisting>
-
-</para>
-
-<para>The following methods are available on machine objects:
-
-<variablelist>
-
-  <varlistentry>
-    <term><methodname>start</methodname></term>
-    <listitem><para>Start the virtual machine. This method is
-    asynchronous — it does not wait for the machine to finish
-    booting.</para></listitem>
-  </varlistentry>
-
-  <varlistentry>
-    <term><methodname>shutdown</methodname></term>
-    <listitem><para>Shut down the machine, waiting for the VM to
-    exit.</para></listitem>
-  </varlistentry>
-
-  <varlistentry>
-    <term><methodname>crash</methodname></term>
-    <listitem><para>Simulate a sudden power failure, by telling the VM
-    to exit immediately.</para></listitem>
-  </varlistentry>
-
-  <varlistentry>
-    <term><methodname>block</methodname></term>
-    <listitem><para>Simulate unplugging the Ethernet cable that
-    connects the machine to the other machines.</para></listitem>
-  </varlistentry>
-
-  <varlistentry>
-    <term><methodname>unblock</methodname></term>
-    <listitem><para>Undo the effect of
-    <methodname>block</methodname>.</para></listitem>
-  </varlistentry>
-
-  <varlistentry>
-    <term><methodname>screenshot</methodname></term>
-    <listitem><para>Take a picture of the display of the virtual
-    machine, in PNG format. The screenshot is linked from the HTML
-    log.</para></listitem>
-  </varlistentry>
-
-  <varlistentry>
-    <term><methodname>getScreenText</methodname></term>
-    <listitem><para>Return a textual representation of what is currently
-    visible on the machine's screen using optical character
-    recognition.</para>
-    <note><para>This requires passing <option>enableOCR</option> to the test
-    attribute set.</para></note></listitem>
-  </varlistentry>
-
-  <varlistentry>
-    <term><methodname>sendMonitorCommand</methodname></term>
-    <listitem><para>Send a command to the QEMU monitor. This is rarely
-    used, but allows doing stuff such as attaching virtual USB disks
-    to a running machine.</para></listitem>
-  </varlistentry>
-
-  <varlistentry>
-    <term><methodname>sendKeys</methodname></term>
-    <listitem><para>Simulate pressing keys on the virtual keyboard,
-    e.g., <literal>sendKeys("ctrl-alt-delete")</literal>.</para></listitem>
-  </varlistentry>
-
-  <varlistentry>
-    <term><methodname>sendChars</methodname></term>
-    <listitem><para>Simulate typing a sequence of characters on the
-    virtual keyboard, e.g., <literal>sendKeys("foobar\n")</literal>
-    will type the string <literal>foobar</literal> followed by the
-    Enter key.</para></listitem>
-  </varlistentry>
-
-  <varlistentry>
-    <term><methodname>execute</methodname></term>
-    <listitem><para>Execute a shell command, returning a list
-    <literal>(<replaceable>status</replaceable>,
-    <replaceable>stdout</replaceable>)</literal>.</para></listitem>
-  </varlistentry>
-
-  <varlistentry>
-    <term><methodname>succeed</methodname></term>
-    <listitem><para>Execute a shell command, raising an exception if
-    the exit status is not zero, otherwise returning the standard
-    output.</para></listitem>
-  </varlistentry>
-
-  <varlistentry>
-    <term><methodname>fail</methodname></term>
-    <listitem><para>Like <methodname>succeed</methodname>, but raising
-    an exception if the command returns a zero status.</para></listitem>
-  </varlistentry>
-
-  <varlistentry>
-    <term><methodname>waitUntilSucceeds</methodname></term>
-    <listitem><para>Repeat a shell command with 1-second intervals
-    until it succeeds.</para></listitem>
-  </varlistentry>
-
-  <varlistentry>
-    <term><methodname>waitUntilFails</methodname></term>
-    <listitem><para>Repeat a shell command with 1-second intervals
-    until it fails.</para></listitem>
-  </varlistentry>
-
-  <varlistentry>
-    <term><methodname>waitForUnit</methodname></term>
-    <listitem><para>Wait until the specified systemd unit has reached
-    the “active” state.</para></listitem>
-  </varlistentry>
-
-  <varlistentry>
-    <term><methodname>waitForFile</methodname></term>
-    <listitem><para>Wait until the specified file
-    exists.</para></listitem>
-  </varlistentry>
-
-  <varlistentry>
-    <term><methodname>waitForOpenPort</methodname></term>
-    <listitem><para>Wait until a process is listening on the given TCP
-    port (on <literal>localhost</literal>, at least).</para></listitem>
-  </varlistentry>
-
-  <varlistentry>
-    <term><methodname>waitForClosedPort</methodname></term>
-    <listitem><para>Wait until nobody is listening on the given TCP
-    port.</para></listitem>
-  </varlistentry>
-
-  <varlistentry>
-    <term><methodname>waitForX</methodname></term>
-    <listitem><para>Wait until the X11 server is accepting
-    connections.</para></listitem>
-  </varlistentry>
-
-  <varlistentry>
-    <term><methodname>waitForText</methodname></term>
-    <listitem><para>Wait until the supplied regular expressions matches
-    the textual contents of the screen by using optical character recognition
-    (see <methodname>getScreenText</methodname>).</para>
-    <note><para>This requires passing <option>enableOCR</option> to the test
-    attribute set.</para></note></listitem>
-  </varlistentry>
-
-  <varlistentry>
-    <term><methodname>waitForWindow</methodname></term>
-    <listitem><para>Wait until an X11 window has appeared whose name
-    matches the given regular expression, e.g.,
-    <literal>waitForWindow(qr/Terminal/)</literal>.</para></listitem>
-  </varlistentry>
-
-  <varlistentry>
-    <term><methodname>copyFileFromHost</methodname></term>
-    <listitem><para>Copies a file from host to machine, e.g.,
-    <literal>copyFileFromHost("myfile", "/etc/my/important/file")</literal>.</para>
-    <para>The first argument is the file on the host. The file needs to be
-    accessible while building the nix derivation. The second argument is
-    the location of the file on the machine.</para>
+ </para>
+
+ <para>
+  The following methods are available on machine objects:
+  <variablelist>
+   <varlistentry>
+    <term><methodname>start</methodname>
+    </term>
+    <listitem>
+     <para>
+      Start the virtual machine. This method is asynchronous — it does not
+      wait for the machine to finish booting.
+     </para>
     </listitem>
-  </varlistentry>
-
-  <varlistentry>
-    <term><methodname>systemctl</methodname></term>
+   </varlistentry>
+   <varlistentry>
+    <term><methodname>shutdown</methodname>
+    </term>
+    <listitem>
+     <para>
+      Shut down the machine, waiting for the VM to exit.
+     </para>
+    </listitem>
+   </varlistentry>
+   <varlistentry>
+    <term><methodname>crash</methodname>
+    </term>
     <listitem>
-      <para>Runs <literal>systemctl</literal> commands with optional support for
-      <literal>systemctl --user</literal></para>
-    <para>
-      <programlisting>
+     <para>
+      Simulate a sudden power failure, by telling the VM to exit immediately.
+     </para>
+    </listitem>
+   </varlistentry>
+   <varlistentry>
+    <term><methodname>block</methodname>
+    </term>
+    <listitem>
+     <para>
+      Simulate unplugging the Ethernet cable that connects the machine to the
+      other machines.
+     </para>
+    </listitem>
+   </varlistentry>
+   <varlistentry>
+    <term><methodname>unblock</methodname>
+    </term>
+    <listitem>
+     <para>
+      Undo the effect of <methodname>block</methodname>.
+     </para>
+    </listitem>
+   </varlistentry>
+   <varlistentry>
+    <term><methodname>screenshot</methodname>
+    </term>
+    <listitem>
+     <para>
+      Take a picture of the display of the virtual machine, in PNG format. The
+      screenshot is linked from the HTML log.
+     </para>
+    </listitem>
+   </varlistentry>
+   <varlistentry>
+    <term><methodname>getScreenText</methodname>
+    </term>
+    <listitem>
+     <para>
+      Return a textual representation of what is currently visible on the
+      machine's screen using optical character recognition.
+     </para>
+     <note>
+      <para>
+       This requires passing <option>enableOCR</option> to the test attribute
+       set.
+      </para>
+     </note>
+    </listitem>
+   </varlistentry>
+   <varlistentry>
+    <term><methodname>sendMonitorCommand</methodname>
+    </term>
+    <listitem>
+     <para>
+      Send a command to the QEMU monitor. This is rarely used, but allows doing
+      stuff such as attaching virtual USB disks to a running machine.
+     </para>
+    </listitem>
+   </varlistentry>
+   <varlistentry>
+    <term><methodname>sendKeys</methodname>
+    </term>
+    <listitem>
+     <para>
+      Simulate pressing keys on the virtual keyboard, e.g.,
+      <literal>sendKeys("ctrl-alt-delete")</literal>.
+     </para>
+    </listitem>
+   </varlistentry>
+   <varlistentry>
+    <term><methodname>sendChars</methodname>
+    </term>
+    <listitem>
+     <para>
+      Simulate typing a sequence of characters on the virtual keyboard, e.g.,
+      <literal>sendKeys("foobar\n")</literal> will type the string
+      <literal>foobar</literal> followed by the Enter key.
+     </para>
+    </listitem>
+   </varlistentry>
+   <varlistentry>
+    <term><methodname>execute</methodname>
+    </term>
+    <listitem>
+     <para>
+      Execute a shell command, returning a list
+      <literal>(<replaceable>status</replaceable>,
+      <replaceable>stdout</replaceable>)</literal>.
+     </para>
+    </listitem>
+   </varlistentry>
+   <varlistentry>
+    <term><methodname>succeed</methodname>
+    </term>
+    <listitem>
+     <para>
+      Execute a shell command, raising an exception if the exit status is not
+      zero, otherwise returning the standard output.
+     </para>
+    </listitem>
+   </varlistentry>
+   <varlistentry>
+    <term><methodname>fail</methodname>
+    </term>
+    <listitem>
+     <para>
+      Like <methodname>succeed</methodname>, but raising an exception if the
+      command returns a zero status.
+     </para>
+    </listitem>
+   </varlistentry>
+   <varlistentry>
+    <term><methodname>waitUntilSucceeds</methodname>
+    </term>
+    <listitem>
+     <para>
+      Repeat a shell command with 1-second intervals until it succeeds.
+     </para>
+    </listitem>
+   </varlistentry>
+   <varlistentry>
+    <term><methodname>waitUntilFails</methodname>
+    </term>
+    <listitem>
+     <para>
+      Repeat a shell command with 1-second intervals until it fails.
+     </para>
+    </listitem>
+   </varlistentry>
+   <varlistentry>
+    <term><methodname>waitForUnit</methodname>
+    </term>
+    <listitem>
+     <para>
+      Wait until the specified systemd unit has reached the “active” state.
+     </para>
+    </listitem>
+   </varlistentry>
+   <varlistentry>
+    <term><methodname>waitForFile</methodname>
+    </term>
+    <listitem>
+     <para>
+      Wait until the specified file exists.
+     </para>
+    </listitem>
+   </varlistentry>
+   <varlistentry>
+    <term><methodname>waitForOpenPort</methodname>
+    </term>
+    <listitem>
+     <para>
+      Wait until a process is listening on the given TCP port (on
+      <literal>localhost</literal>, at least).
+     </para>
+    </listitem>
+   </varlistentry>
+   <varlistentry>
+    <term><methodname>waitForClosedPort</methodname>
+    </term>
+    <listitem>
+     <para>
+      Wait until nobody is listening on the given TCP port.
+     </para>
+    </listitem>
+   </varlistentry>
+   <varlistentry>
+    <term><methodname>waitForX</methodname>
+    </term>
+    <listitem>
+     <para>
+      Wait until the X11 server is accepting connections.
+     </para>
+    </listitem>
+   </varlistentry>
+   <varlistentry>
+    <term><methodname>waitForText</methodname>
+    </term>
+    <listitem>
+     <para>
+      Wait until the supplied regular expressions matches the textual contents
+      of the screen by using optical character recognition (see
+      <methodname>getScreenText</methodname>).
+     </para>
+     <note>
+      <para>
+       This requires passing <option>enableOCR</option> to the test attribute
+       set.
+      </para>
+     </note>
+    </listitem>
+   </varlistentry>
+   <varlistentry>
+    <term><methodname>waitForWindow</methodname>
+    </term>
+    <listitem>
+     <para>
+      Wait until an X11 window has appeared whose name matches the given
+      regular expression, e.g., <literal>waitForWindow(qr/Terminal/)</literal>.
+     </para>
+    </listitem>
+   </varlistentry>
+   <varlistentry>
+    <term><methodname>copyFileFromHost</methodname>
+    </term>
+    <listitem>
+     <para>
+      Copies a file from host to machine, e.g.,
+      <literal>copyFileFromHost("myfile", "/etc/my/important/file")</literal>.
+     </para>
+     <para>
+      The first argument is the file on the host. The file needs to be
+      accessible while building the nix derivation. The second argument is the
+      location of the file on the machine.
+     </para>
+    </listitem>
+   </varlistentry>
+   <varlistentry>
+    <term><methodname>systemctl</methodname>
+    </term>
+    <listitem>
+     <para>
+      Runs <literal>systemctl</literal> commands with optional support for
+      <literal>systemctl --user</literal>
+     </para>
+     <para>
+<programlisting>
         $machine->systemctl("list-jobs --no-pager"); // runs `systemctl list-jobs --no-pager`
         $machine->systemctl("list-jobs --no-pager", "any-user"); // spawns a shell for `any-user` and runs `systemctl --user list-jobs --no-pager`
       </programlisting>
-    </para>
+     </para>
     </listitem>
-  </varlistentry>
+   </varlistentry>
+  </variablelist>
+ </para>
 
-</variablelist>
-
-</para>
-
-<para>
-  To test user units declared by <literal>systemd.user.services</literal> the optional <literal>$user</literal>
-  argument can be used:
-
-  <programlisting>
+ <para>
+  To test user units declared by <literal>systemd.user.services</literal> the
+  optional <literal>$user</literal> argument can be used:
+<programlisting>
     $machine->start;
     $machine->waitForX;
     $machine->waitForUnit("xautolock.service", "x-session-user");
   </programlisting>
-
   This applies to <literal>systemctl</literal>, <literal>getUnitInfo</literal>,
-  <literal>waitForUnit</literal>, <literal>startJob</literal>
-  and <literal>stopJob</literal>.
-</para>
-
+  <literal>waitForUnit</literal>, <literal>startJob</literal> and
+  <literal>stopJob</literal>.
+ </para>
 </section>
diff --git a/nixos/doc/manual/installation/changing-config.xml b/nixos/doc/manual/installation/changing-config.xml
index 4db9020b960..680160a3cb7 100644
--- a/nixos/doc/manual/installation/changing-config.xml
+++ b/nixos/doc/manual/installation/changing-config.xml
@@ -2,101 +2,84 @@
          xmlns:xlink="http://www.w3.org/1999/xlink"
          version="5.0"
          xml:id="sec-changing-config">
-
-<title>Changing the Configuration</title>
-
-<para>The file <filename>/etc/nixos/configuration.nix</filename>
-contains the current configuration of your machine.  Whenever you’ve
-<link linkend="ch-configuration">changed something</link> in that file, you should do
-
+ <title>Changing the Configuration</title>
+ <para>
+  The file <filename>/etc/nixos/configuration.nix</filename> contains the
+  current configuration of your machine. Whenever you’ve
+  <link linkend="ch-configuration">changed something</link> in that file, you
+  should do
 <screen>
 # nixos-rebuild switch</screen>
-
-to build the new configuration, make it the default configuration for
-booting, and try to realise the configuration in the running system
-(e.g., by restarting system services).</para>
-
-<warning><para>These commands must be executed as root, so you should
-either run them from a root shell or by prefixing them with
-<literal>sudo -i</literal>.</para></warning>
-
-<para>You can also do
-
+  to build the new configuration, make it the default configuration for
+  booting, and try to realise the configuration in the running system (e.g., by
+  restarting system services).
+ </para>
+ <warning>
+  <para>
+   These commands must be executed as root, so you should either run them from
+   a root shell or by prefixing them with <literal>sudo -i</literal>.
+  </para>
+ </warning>
+ <para>
+  You can also do
 <screen>
 # nixos-rebuild test</screen>
-
-to build the configuration and switch the running system to it, but
-without making it the boot default.  So if (say) the configuration
-locks up your machine, you can just reboot to get back to a working
-configuration.</para>
-
-<para>There is also
-
+  to build the configuration and switch the running system to it, but without
+  making it the boot default. So if (say) the configuration locks up your
+  machine, you can just reboot to get back to a working configuration.
+ </para>
+ <para>
+  There is also
 <screen>
 # nixos-rebuild boot</screen>
-
-to build the configuration and make it the boot default, but not
-switch to it now (so it will only take effect after the next
-reboot).</para>
-
-<para>You can make your configuration show up in a different submenu
-of the GRUB 2 boot screen by giving it a different <emphasis>profile
-name</emphasis>, e.g.
-
+  to build the configuration and make it the boot default, but not switch to it
+  now (so it will only take effect after the next reboot).
+ </para>
+ <para>
+  You can make your configuration show up in a different submenu of the GRUB 2
+  boot screen by giving it a different <emphasis>profile name</emphasis>, e.g.
 <screen>
 # nixos-rebuild switch -p test </screen>
-
-which causes the new configuration (and previous ones created using
-<literal>-p test</literal>) to show up in the GRUB submenu “NixOS -
-Profile 'test'”.  This can be useful to separate test configurations
-from “stable” configurations.</para>
-
-<para>Finally, you can do
-
+  which causes the new configuration (and previous ones created using
+  <literal>-p test</literal>) to show up in the GRUB submenu “NixOS - Profile
+  'test'”. This can be useful to separate test configurations from
+  “stable” configurations.
+ </para>
+ <para>
+  Finally, you can do
 <screen>
 $ nixos-rebuild build</screen>
-
-to build the configuration but nothing more.  This is useful to see
-whether everything compiles cleanly.</para>
-
-<para>If you have a machine that supports hardware virtualisation, you
-can also test the new configuration in a sandbox by building and
-running a QEMU <emphasis>virtual machine</emphasis> that contains the
-desired configuration.  Just do
-
+  to build the configuration but nothing more. This is useful to see whether
+  everything compiles cleanly.
+ </para>
+ <para>
+  If you have a machine that supports hardware virtualisation, you can also
+  test the new configuration in a sandbox by building and running a QEMU
+  <emphasis>virtual machine</emphasis> that contains the desired configuration.
+  Just do
 <screen>
 $ nixos-rebuild build-vm
 $ ./result/bin/run-*-vm
 </screen>
-
-The VM does not have any data from your host system, so your existing
-user accounts and home directories will not be available unless you
-have set <literal>mutableUsers = false</literal>.  Another way is to
-temporarily add the following to your configuration:
-
+  The VM does not have any data from your host system, so your existing user
+  accounts and home directories will not be available unless you have set
+  <literal>mutableUsers = false</literal>. Another way is to temporarily add
+  the following to your configuration:
 <screen>
-users.extraUsers.your-user.initialPassword = "test"  
+<link linkend="opt-users.users._name__.initialHashedPassword">users.extraUsers.your-user.initialHashedPassword</link> = "test";
 </screen>
-
-<emphasis>Important:</emphasis> delete the $hostname.qcow2 file if you
-have started the virtual machine at least once without the right
-users, otherwise the changes will not get picked up.
-
-You can forward ports on the host to the guest.  For
-instance, the following will forward host port 2222 to guest port 22
-(SSH):
-
+  <emphasis>Important:</emphasis> delete the $hostname.qcow2 file if you have
+  started the virtual machine at least once without the right users, otherwise
+  the changes will not get picked up. You can forward ports on the host to the
+  guest. For instance, the following will forward host port 2222 to guest port
+  22 (SSH):
 <screen>
 $ QEMU_NET_OPTS="hostfwd=tcp::2222-:22" ./result/bin/run-*-vm
 </screen>
-
-allowing you to log in via SSH (assuming you have set the appropriate
-passwords or SSH authorized keys):
-
+  allowing you to log in via SSH (assuming you have set the appropriate
+  passwords or SSH authorized keys):
 <screen>
 $ ssh -p 2222 localhost
 </screen>
-
-</para>
-
+ </para>
 </chapter>
diff --git a/nixos/doc/manual/installation/installation.xml b/nixos/doc/manual/installation/installation.xml
index ee61bedc418..d4276be95d6 100644
--- a/nixos/doc/manual/installation/installation.xml
+++ b/nixos/doc/manual/installation/installation.xml
@@ -3,19 +3,15 @@
       xmlns:xi="http://www.w3.org/2001/XInclude"
       version="5.0"
       xml:id="ch-installation">
-
-<title>Installation</title>
-
-<partintro>
-
-<para>This section describes how to obtain, install, and configure
-NixOS for first-time use.</para>
-
-</partintro>
-
-<xi:include href="obtaining.xml" />
-<xi:include href="installing.xml" />
-<xi:include href="changing-config.xml" />
-<xi:include href="upgrading.xml" />
-
+ <title>Installation</title>
+ <partintro>
+  <para>
+   This section describes how to obtain, install, and configure NixOS for
+   first-time use.
+  </para>
+ </partintro>
+ <xi:include href="obtaining.xml" />
+ <xi:include href="installing.xml" />
+ <xi:include href="changing-config.xml" />
+ <xi:include href="upgrading.xml" />
 </part>
diff --git a/nixos/doc/manual/installation/installing-from-other-distro.xml b/nixos/doc/manual/installation/installing-from-other-distro.xml
index 55623898827..8b0c350b064 100644
--- a/nixos/doc/manual/installation/installing-from-other-distro.xml
+++ b/nixos/doc/manual/installation/installing-from-other-distro.xml
@@ -5,268 +5,325 @@
     xmlns:xi="http://www.w3.org/2001/XInclude"
     version="5.0"
     xml:id="sec-installing-from-other-distro">
-
-    <title>Installing from another Linux distribution</title>
-
-    <para>
-        Because Nix (the package manager) &amp; Nixpkgs (the Nix packages
-        collection) can both be installed on any (most?) Linux distributions,
-        they can be used to install NixOS in various creative ways. You can,
-        for instance:
-    </para>
-
-    <orderedlist>
-        <listitem><para>Install NixOS on another partition, from your existing
-                Linux distribution (without the use of a USB or optical
-                device!)</para></listitem>
-
-        <listitem><para>Install NixOS on the same partition (in place!), from
-                your existing non-NixOS Linux distribution using
-                <literal>NIXOS_LUSTRATE</literal>.</para></listitem>
-
-        <listitem><para>Install NixOS on your hard drive from the Live CD of
-                any Linux distribution.</para></listitem>
-    </orderedlist>
-
-    <para>The first steps to all these are the same:</para>
-
-    <orderedlist>
-        <listitem>
-            <para>Install the Nix package manager:</para>
-
-            <para>Short version:</para>
-
-            <screen>
+ <title>Installing from another Linux distribution</title>
+
+ <para>
+  Because Nix (the package manager) &amp; Nixpkgs (the Nix packages collection)
+  can both be installed on any (most?) Linux distributions, they can be used to
+  install NixOS in various creative ways. You can, for instance:
+ </para>
+
+ <orderedlist>
+  <listitem>
+   <para>
+    Install NixOS on another partition, from your existing Linux distribution
+    (without the use of a USB or optical device!)
+   </para>
+  </listitem>
+  <listitem>
+   <para>
+    Install NixOS on the same partition (in place!), from your existing
+    non-NixOS Linux distribution using <literal>NIXOS_LUSTRATE</literal>.
+   </para>
+  </listitem>
+  <listitem>
+   <para>
+    Install NixOS on your hard drive from the Live CD of any Linux
+    distribution.
+   </para>
+  </listitem>
+ </orderedlist>
+
+ <para>
+  The first steps to all these are the same:
+ </para>
+
+ <orderedlist>
+  <listitem>
+   <para>
+    Install the Nix package manager:
+   </para>
+   <para>
+    Short version:
+   </para>
+<screen>
 $ bash &lt;(curl https://nixos.org/nix/install)
 $ . $HOME/.nix-profile/etc/profile.d/nix.sh # …or open a fresh shell</screen>
-
-            <para>More details in the <link
+   <para>
+    More details in the
+    <link
                     xlink:href="https://nixos.org/nix/manual/#chap-quick-start">
-                    Nix manual</link></para>
-        </listitem>
-
-        <listitem>
-            <para>Switch to the NixOS channel:</para>
-
-            <para>If you've just installed Nix on a non-NixOS distribution, you
-                will be on the <literal>nixpkgs</literal> channel by
-                default.</para>
-
-            <screen>
+    Nix manual</link>
+   </para>
+  </listitem>
+  <listitem>
+   <para>
+    Switch to the NixOS channel:
+   </para>
+   <para>
+    If you've just installed Nix on a non-NixOS distribution, you will be on
+    the <literal>nixpkgs</literal> channel by default.
+   </para>
+<screen>
 $ nix-channel --list
 nixpkgs https://nixos.org/channels/nixpkgs-unstable</screen>
-
-            <para>As that channel gets released without running the NixOS
-                tests, it will be safer to use the <literal>nixos-*</literal>
-                channels instead:</para>
-
-            <screen>
+   <para>
+    As that channel gets released without running the NixOS tests, it will be
+    safer to use the <literal>nixos-*</literal> channels instead:
+   </para>
+<screen>
 $ nix-channel --add https://nixos.org/channels/nixos-<replaceable>version</replaceable> nixpkgs</screen>
-
-            <para>You may want to throw in a <literal>nix-channel
-                    --update</literal> for good measure.</para>
-        </listitem>
-
-        <listitem>
-            <para>Install the NixOS installation tools:</para>
-
-            <para>You'll need <literal>nixos-generate-config</literal> and
-                <literal>nixos-install</literal> and we'll throw in some man
-                pages and <literal>nixos-enter</literal> just in case you want
-                to chroot into your NixOS partition. They are installed by
-                default on NixOS, but you don't have NixOS yet..</para>
-
-            <screen>$ nix-env -iE "_: with import &lt;nixpkgs/nixos&gt; { configuration = {}; }; with config.system.build; [ nixos-generate-config nixos-install nixos-enter manual.manpages ]"</screen>
-        </listitem>
-
-        <listitem>
-            <note><para>The following 5 steps are only for installing NixOS to
-                    another partition. For installing NixOS in place using
-                    <literal>NIXOS_LUSTRATE</literal>, skip ahead.</para></note>
-
-            <para>Prepare your target partition:</para>
-
-            <para>At this point it is time to prepare your target partition.
-                Please refer to the partitioning, file-system creation, and
-                mounting steps of <xref linkend="sec-installation" /></para>
-
-            <para>If you're about to install NixOS in place using
-                <literal>NIXOS_LUSTRATE</literal> there is nothing to do for
-                this step.</para>
-        </listitem>
-
-        <listitem>
-            <para>Generate your NixOS configuration:</para>
-
-            <screen>$ sudo `which nixos-generate-config` --root /mnt</screen>
-
-            <para>You'll probably want to edit the configuration files. Refer
-                to the <literal>nixos-generate-config</literal> step in <xref
-                    linkend="sec-installation" /> for more information.</para>
-
-            <para>Consider setting up the NixOS bootloader to give you the
-                ability to boot on your existing Linux partition. For instance,
-                if you're using GRUB and your existing distribution is running
-                Ubuntu, you may want to add something like this to your
-                <literal>configuration.nix</literal>:</para>
-
-            <programlisting>
-boot.loader.grub.extraEntries = ''
+   <para>
+    You may want to throw in a <literal>nix-channel --update</literal> for good
+    measure.
+   </para>
+  </listitem>
+  <listitem>
+   <para>
+    Install the NixOS installation tools:
+   </para>
+   <para>
+    You'll need <literal>nixos-generate-config</literal> and
+    <literal>nixos-install</literal> and we'll throw in some man pages and
+    <literal>nixos-enter</literal> just in case you want to chroot into your
+    NixOS partition. They are installed by default on NixOS, but you don't have
+    NixOS yet..
+   </para>
+<screen>$ nix-env -iE "_: with import &lt;nixpkgs/nixos&gt; { configuration = {}; }; with config.system.build; [ nixos-generate-config nixos-install nixos-enter manual.manpages ]"</screen>
+  </listitem>
+  <listitem>
+   <note>
+    <para>
+     The following 5 steps are only for installing NixOS to another partition.
+     For installing NixOS in place using <literal>NIXOS_LUSTRATE</literal>,
+     skip ahead.
+    </para>
+   </note>
+   <para>
+    Prepare your target partition:
+   </para>
+   <para>
+    At this point it is time to prepare your target partition. Please refer to
+    the partitioning, file-system creation, and mounting steps of
+    <xref linkend="sec-installation" />
+   </para>
+   <para>
+    If you're about to install NixOS in place using
+    <literal>NIXOS_LUSTRATE</literal> there is nothing to do for this step.
+   </para>
+  </listitem>
+  <listitem>
+   <para>
+    Generate your NixOS configuration:
+   </para>
+<screen>$ sudo `which nixos-generate-config` --root /mnt</screen>
+   <para>
+    You'll probably want to edit the configuration files. Refer to the
+    <literal>nixos-generate-config</literal> step in
+    <xref
+                    linkend="sec-installation" /> for more
+    information.
+   </para>
+   <para>
+    Consider setting up the NixOS bootloader to give you the ability to boot on
+    your existing Linux partition. For instance, if you're using GRUB and your
+    existing distribution is running Ubuntu, you may want to add something like
+    this to your <literal>configuration.nix</literal>:
+   </para>
+<programlisting>
+<xref linkend="opt-boot.loader.grub.extraEntries"/> = ''
   menuentry "Ubuntu" {
     search --set=ubuntu --fs-uuid 3cc3e652-0c1f-4800-8451-033754f68e6e
     configfile "($ubuntu)/boot/grub/grub.cfg"
   }
 '';</programlisting>
-
-            <para>(You can find the appropriate UUID for your partition in
-                <literal>/dev/disk/by-uuid</literal>)</para>
-        </listitem>
-
-        <listitem>
-            <para>Create the <literal>nixbld</literal> group and user on your
-                original distribution:</para>
-
-            <screen>
+   <para>
+    (You can find the appropriate UUID for your partition in
+    <literal>/dev/disk/by-uuid</literal>)
+   </para>
+  </listitem>
+  <listitem>
+   <para>
+    Create the <literal>nixbld</literal> group and user on your original
+    distribution:
+   </para>
+<screen>
 $ sudo groupadd -g 30000 nixbld
 $ sudo useradd -u 30000 -g nixbld -G nixbld nixbld</screen>
-        </listitem>
-
-        <listitem>
-            <para>Download/build/install NixOS:</para>
-
-            <warning><para>Once you complete this step, you might no longer be
-                    able to boot on existing systems without the help of a
-                    rescue USB drive or similar.</para></warning>
-
-            <screen>$ sudo PATH="$PATH" NIX_PATH="$NIX_PATH" `which nixos-install` --root /mnt</screen>
-
-            <para>Again, please refer to the <literal>nixos-install</literal>
-                step in <xref linkend="sec-installation" /> for more
-                information.</para>
-
-            <para>That should be it for installation to another partition!</para>
-        </listitem>
-
-        <listitem>
-            <para>Optionally, you may want to clean up your non-NixOS distribution:</para>
-
-            <screen>
+  </listitem>
+  <listitem>
+   <para>
+    Download/build/install NixOS:
+   </para>
+   <warning>
+    <para>
+     Once you complete this step, you might no longer be able to boot on
+     existing systems without the help of a rescue USB drive or similar.
+    </para>
+   </warning>
+<screen>$ sudo PATH="$PATH" NIX_PATH="$NIX_PATH" `which nixos-install` --root /mnt</screen>
+   <para>
+    Again, please refer to the <literal>nixos-install</literal> step in
+    <xref linkend="sec-installation" /> for more information.
+   </para>
+   <para>
+    That should be it for installation to another partition!
+   </para>
+  </listitem>
+  <listitem>
+   <para>
+    Optionally, you may want to clean up your non-NixOS distribution:
+   </para>
+<screen>
 $ sudo userdel nixbld
 $ sudo groupdel nixbld</screen>
-
-            <para>If you do not wish to keep the Nix package mananager
-                installed either, run something like <literal>sudo rm -rv
-                    ~/.nix-* /nix</literal> and remove the line that the Nix
-                installer added to your <literal>~/.profile</literal>.</para>
-        </listitem>
-
-        <listitem>
-            <note><para>The following steps are only for installing NixOS in
-                    place using
-                    <literal>NIXOS_LUSTRATE</literal>:</para></note>
-
-            <para>Generate your NixOS configuration:</para>
-
-            <screen>$ sudo `which nixos-generate-config` --root /</screen>
-
-            <para>Note that this will place the generated configuration files
-                in <literal>/etc/nixos</literal>. You'll probably want to edit
-                the configuration files. Refer to the
-                <literal>nixos-generate-config</literal> step in <xref
-                    linkend="sec-installation" /> for more information.</para>
-
-            <para>You'll likely want to set a root password for your first boot
-                using the configuration files because you won't have a chance
-                to enter a password until after you reboot. You can initalize
-                the root password to an empty one with this line: (and of course
-                don't forget to set one once you've rebooted or to lock the
-                account with <literal>sudo passwd -l root</literal> if you use
-                <literal>sudo</literal>)</para>
-
-            <programlisting>users.extraUsers.root.initialHashedPassword = "";</programlisting>
-        </listitem>
-
-        <listitem>
-            <para>Build the NixOS closure and install it in the
-                <literal>system</literal> profile:</para>
-
-            <screen>$ nix-env -p /nix/var/nix/profiles/system -f '&lt;nixpkgs/nixos&gt;' -I nixos-config=/etc/nixos/configuration.nix -iA system</screen>
-        </listitem>
-
-        <listitem>
-            <para>Change ownership of the <literal>/nix</literal> tree to root
-                (since your Nix install was probably single user):</para>
-
-            <screen>$ sudo chown -R 0.0 /nix</screen>
-        </listitem>
-
-        <listitem>
-            <para>Set up the <literal>/etc/NIXOS</literal> and
-                <literal>/etc/NIXOS_LUSTRATE</literal> files:</para>
-
-            <para><literal>/etc/NIXOS</literal> officializes that this is now a
-                NixOS partition (the bootup scripts require its presence).</para>
-
-            <para><literal>/etc/NIXOS_LUSTRATE</literal> tells the NixOS bootup
-                scripts to move <emphasis>everything</emphasis> that's in the
-                root partition to <literal>/old-root</literal>. This will move
-                your existing distribution out of the way in the very early
-                stages of the NixOS bootup. There are exceptions (we do need to
-                keep NixOS there after all), so the NixOS lustrate process will
-                not touch:</para>
-
-            <itemizedlist>
-                <listitem><para>The <literal>/nix</literal>
-                        directory</para></listitem>
-
-                <listitem><para>The <literal>/boot</literal>
-                        directory</para></listitem>
-
-                <listitem><para>Any file or directory listed in
-                        <literal>/etc/NIXOS_LUSTRATE</literal> (one per
-                        line)</para></listitem>
-            </itemizedlist>
-
-            <para>Let's create the files:</para>
-
-            <screen>
+   <para>
+    If you do not wish to keep the Nix package manager installed either, run
+    something like <literal>sudo rm -rv ~/.nix-* /nix</literal> and remove the
+    line that the Nix installer added to your <literal>~/.profile</literal>.
+   </para>
+  </listitem>
+  <listitem>
+   <note>
+    <para>
+     The following steps are only for installing NixOS in place using
+     <literal>NIXOS_LUSTRATE</literal>:
+    </para>
+   </note>
+   <para>
+    Generate your NixOS configuration:
+   </para>
+<screen>$ sudo `which nixos-generate-config` --root /</screen>
+   <para>
+    Note that this will place the generated configuration files in
+    <literal>/etc/nixos</literal>. You'll probably want to edit the
+    configuration files. Refer to the <literal>nixos-generate-config</literal>
+    step in <xref
+                    linkend="sec-installation" /> for more
+    information.
+   </para>
+   <para>
+    You'll likely want to set a root password for your first boot using the
+    configuration files because you won't have a chance to enter a password
+    until after you reboot. You can initalize the root password to an empty one
+    with this line: (and of course don't forget to set one once you've rebooted
+    or to lock the account with <literal>sudo passwd -l root</literal> if you
+    use <literal>sudo</literal>)
+   </para>
+<programlisting>
+<link linkend="opt-users.users._name__.initialHashedPassword">users.extraUsers.root.initialHashedPassword</link> = "";
+              </programlisting>
+  </listitem>
+  <listitem>
+   <para>
+    Build the NixOS closure and install it in the <literal>system</literal>
+    profile:
+   </para>
+<screen>$ nix-env -p /nix/var/nix/profiles/system -f '&lt;nixpkgs/nixos&gt;' -I nixos-config=/etc/nixos/configuration.nix -iA system</screen>
+  </listitem>
+  <listitem>
+   <para>
+    Change ownership of the <literal>/nix</literal> tree to root (since your
+    Nix install was probably single user):
+   </para>
+<screen>$ sudo chown -R 0.0 /nix</screen>
+  </listitem>
+  <listitem>
+   <para>
+    Set up the <literal>/etc/NIXOS</literal> and
+    <literal>/etc/NIXOS_LUSTRATE</literal> files:
+   </para>
+   <para>
+    <literal>/etc/NIXOS</literal> officializes that this is now a NixOS
+    partition (the bootup scripts require its presence).
+   </para>
+   <para>
+    <literal>/etc/NIXOS_LUSTRATE</literal> tells the NixOS bootup scripts to
+    move <emphasis>everything</emphasis> that's in the root partition to
+    <literal>/old-root</literal>. This will move your existing distribution out
+    of the way in the very early stages of the NixOS bootup. There are
+    exceptions (we do need to keep NixOS there after all), so the NixOS
+    lustrate process will not touch:
+   </para>
+   <itemizedlist>
+    <listitem>
+     <para>
+      The <literal>/nix</literal> directory
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      The <literal>/boot</literal> directory
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      Any file or directory listed in <literal>/etc/NIXOS_LUSTRATE</literal>
+      (one per line)
+     </para>
+    </listitem>
+   </itemizedlist>
+   <note>
+    <para>
+     Support for <literal>NIXOS_LUSTRATE</literal> was added in NixOS 16.09.
+     The act of "lustrating" refers to the wiping of the existing distribution.
+     Creating <literal>/etc/NIXOS_LUSTRATE</literal> can also be used on NixOS
+     to remove all mutable files from your root partition (anything that's not
+     in <literal>/nix</literal> or <literal>/boot</literal> gets "lustrated" on
+     the next boot.
+    </para>
+    <para>
+     lustrate /ˈlʌstreɪt/ verb.
+    </para>
+    <para>
+     purify by expiatory sacrifice, ceremonial washing, or some other ritual
+     action.
+    </para>
+   </note>
+   <para>
+    Let's create the files:
+   </para>
+<screen>
 $ sudo touch /etc/NIXOS
-$ sudo touch /etc/NIXOS_LUSTRATE</screen>
-
-            <para>Let's also make sure the NixOS configuration files are kept
-                once we reboot on NixOS:</para>
-
-            <screen>
-$ echo etc/nixos | sudo tee -a /etc/NIXOS_LUSTRATE</screen>
-        </listitem>
-
-        <listitem>
-            <para>Finally, move the <literal>/boot</literal> directory of your
-                current distribution out of the way (the lustrate process will
-                take care of the rest once you reboot, but this one must be
-                moved out now because NixOS needs to install its own boot
-                files:</para>
-
-            <warning><para>Once you complete this step, your current
-                    distribution will no longer be bootable! If you didn't get
-                    all the NixOS configuration right, especially those
-                    settings pertaining to boot loading and root partition,
-                    NixOS may not be bootable either. Have a USB rescue device
-                    ready in case this happens. </para></warning>
-
-            <screen>
+$ sudo touch /etc/NIXOS_LUSTRATE
+            </screen>
+   <para>
+    Let's also make sure the NixOS configuration files are kept once we reboot
+    on NixOS:
+   </para>
+<screen>
+$ echo etc/nixos | sudo tee -a /etc/NIXOS_LUSTRATE
+            </screen>
+  </listitem>
+  <listitem>
+   <para>
+    Finally, move the <literal>/boot</literal> directory of your current
+    distribution out of the way (the lustrate process will take care of the
+    rest once you reboot, but this one must be moved out now because NixOS
+    needs to install its own boot files:
+   </para>
+   <warning>
+    <para>
+     Once you complete this step, your current distribution will no longer be
+     bootable! If you didn't get all the NixOS configuration right, especially
+     those settings pertaining to boot loading and root partition, NixOS may
+     not be bootable either. Have a USB rescue device ready in case this
+     happens.
+    </para>
+   </warning>
+<screen>
 $ sudo mv -v /boot /boot.bak &amp;&amp;
     sudo /nix/var/nix/profiles/system/bin/switch-to-configuration boot</screen>
-
-            <para>Cross your fingers, reboot, hopefully you should get a NixOS
-                prompt!</para>
-        </listitem>
-        <listitem>
-            <para>If for some reason you want to revert to the old
-                distribution, you'll need to boot on a USB rescue disk and do
-                something along these lines:</para>
-
-            <screen>
+   <para>
+    Cross your fingers, reboot, hopefully you should get a NixOS prompt!
+   </para>
+  </listitem>
+  <listitem>
+   <para>
+    If for some reason you want to revert to the old distribution, you'll need
+    to boot on a USB rescue disk and do something along these lines:
+   </para>
+<screen>
 # mkdir root
 # mount /dev/sdaX root
 # mkdir root/nixos-root
@@ -275,23 +332,25 @@ $ sudo mv -v /boot /boot.bak &amp;&amp;
 # mv -v root/boot.bak root/boot  # We had renamed this by hand earlier
 # umount root
 # reboot</screen>
-
-            <para>This may work as is or you might also need to reinstall the
-                boot loader</para>
-
-            <para>And of course, if you're happy with NixOS and no longer need
-                the old distribution:</para>
-
-            <screen>sudo rm -rf /old-root</screen>
-        </listitem>
-
-        <listitem>
-            <para>It's also worth noting that this whole process can be
-                automated. This is especially useful for Cloud VMs, where
-                provider do not provide NixOS. For instance, <link
+   <para>
+    This may work as is or you might also need to reinstall the boot loader
+   </para>
+   <para>
+    And of course, if you're happy with NixOS and no longer need the old
+    distribution:
+   </para>
+<screen>sudo rm -rf /old-root</screen>
+  </listitem>
+  <listitem>
+   <para>
+    It's also worth noting that this whole process can be automated. This is
+    especially useful for Cloud VMs, where provider do not provide NixOS. For
+    instance,
+    <link
                     xlink:href="https://github.com/elitak/nixos-infect">nixos-infect</link>
-                uses the lustrate process to convert Digital Ocean droplets to
-                NixOS from other distributions automatically.</para>
-        </listitem>
-    </orderedlist>
+    uses the lustrate process to convert Digital Ocean droplets to NixOS from
+    other distributions automatically.
+   </para>
+  </listitem>
+ </orderedlist>
 </section>
diff --git a/nixos/doc/manual/installation/installing-pxe.xml b/nixos/doc/manual/installation/installing-pxe.xml
index 7b7597c9162..94199e5e028 100644
--- a/nixos/doc/manual/installation/installing-pxe.xml
+++ b/nixos/doc/manual/installation/installing-pxe.xml
@@ -3,46 +3,48 @@
          xmlns:xi="http://www.w3.org/2001/XInclude"
          version="5.0"
          xml:id="sec-booting-from-pxe">
+ <title>Booting from the <quote>netboot</quote> media (PXE)</title>
 
-<title>Booting from the <quote>netboot</quote> media (PXE)</title>
-<para>
-  Advanced users may wish to install NixOS using an existing PXE or
-  iPXE setup.
-</para>
-<para>
+ <para>
+  Advanced users may wish to install NixOS using an existing PXE or iPXE setup.
+ </para>
+
+ <para>
   These instructions assume that you have an existing PXE or iPXE
-  infrastructure and simply want to add the NixOS installer as another
-  option. To build the necessary files from a recent version of
-  nixpkgs, you can run:
-</para>
+  infrastructure and simply want to add the NixOS installer as another option.
+  To build the necessary files from a recent version of nixpkgs, you can run:
+ </para>
+
 <programlisting>
 nix-build -A netboot nixos/release.nix
 </programlisting>
-<para>
+
+ <para>
   This will create a <literal>result</literal> directory containing: *
-  <literal>bzImage</literal> – the Linux kernel *
-  <literal>initrd</literal> – the initrd file *
-  <literal>netboot.ipxe</literal> – an example ipxe script
-  demonstrating the appropriate kernel command line arguments for this
+  <literal>bzImage</literal> – the Linux kernel * <literal>initrd</literal>
+  – the initrd file * <literal>netboot.ipxe</literal> – an example ipxe
+  script demonstrating the appropriate kernel command line arguments for this
   image
-</para>
-<para>
+ </para>
+
+ <para>
   If you’re using plain PXE, configure your boot loader to use the
-  <literal>bzImage</literal> and <literal>initrd</literal> files and
-  have it provide the same kernel command line arguments found in
+  <literal>bzImage</literal> and <literal>initrd</literal> files and have it
+  provide the same kernel command line arguments found in
   <literal>netboot.ipxe</literal>.
-</para>
-<para>
+ </para>
+
+ <para>
   If you’re using iPXE, depending on how your HTTP/FTP/etc. server is
-  configured you may be able to use <literal>netboot.ipxe</literal>
-  unmodified, or you may need to update the paths to the files to
-  match your server’s directory layout
-</para>
-<para>
-  In the future we may begin making these files available as build
-  products from hydra at which point we will update this documentation
-  with instructions on how to obtain them either for placing on a
-  dedicated TFTP server or to boot them directly over the internet.
-</para>
+  configured you may be able to use <literal>netboot.ipxe</literal> unmodified,
+  or you may need to update the paths to the files to match your server’s
+  directory layout
+ </para>
 
+ <para>
+  In the future we may begin making these files available as build products
+  from hydra at which point we will update this documentation with instructions
+  on how to obtain them either for placing on a dedicated TFTP server or to
+  boot them directly over the internet.
+ </para>
 </section>
diff --git a/nixos/doc/manual/installation/installing-usb.xml b/nixos/doc/manual/installation/installing-usb.xml
index 122a4745f19..c5934111749 100644
--- a/nixos/doc/manual/installation/installing-usb.xml
+++ b/nixos/doc/manual/installation/installing-usb.xml
@@ -3,17 +3,19 @@
          xmlns:xi="http://www.w3.org/2001/XInclude"
          version="5.0"
          xml:id="sec-booting-from-usb">
+ <title>Booting from a USB Drive</title>
 
-<title>Booting from a USB Drive</title>
+ <para>
+  For systems without CD drive, the NixOS live CD can be booted from a USB
+  stick. You can use the <command>dd</command> utility to write the image:
+  <command>dd if=<replaceable>path-to-image</replaceable>
+  of=<replaceable>/dev/sdb</replaceable></command>. Be careful about specifying
+  the correct drive; you can use the <command>lsblk</command> command to get a
+  list of block devices.
+ </para>
 
-<para>For systems without CD drive, the NixOS live CD can be booted from
-a USB stick. You can use the <command>dd</command> utility to write the image:
-<command>dd if=<replaceable>path-to-image</replaceable>
-of=<replaceable>/dev/sdb</replaceable></command>. Be careful about specifying the
-correct drive; you can use the <command>lsblk</command> command to get a list of
-block devices.</para>
-
-<para>On macOS:
+ <para>
+  On macOS:
 <programlisting>
 $ diskutil list
 [..]
@@ -24,36 +26,43 @@ $ diskutil unmountDisk diskN
 Unmount of all volumes on diskN was successful
 $ sudo dd bs=1m if=nix.iso of=/dev/rdiskN
 </programlisting>
-Using the 'raw' <command>rdiskN</command> device instead of <command>diskN</command>
-completes in minutes instead of hours. After <command>dd</command> completes, a GUI
-dialog "The disk you inserted was not readable by this computer" will pop up, which
-can be ignored.</para>
-         
-<para>The <command>dd</command> utility will write the image verbatim to the drive,
-making it the recommended option for both UEFI and non-UEFI installations. For
-non-UEFI installations, you can alternatively use
-<link xlink:href="http://unetbootin.sourceforge.net/">unetbootin</link>. If you
-cannot use <command>dd</command> for a UEFI installation, you can also mount the
-ISO, copy its contents verbatim to your drive, then either:
-
-<itemizedlist>
-  <listitem>
-    <para>Change the label of the disk partition to the label of the ISO
-    (visible with the blkid command), or</para>
-  </listitem>
-  <listitem>
-    <para>Edit <filename>loader/entries/nixos-livecd.conf</filename> on the drive
-    and change the <literal>root=</literal> field in the <literal>options</literal>
-    line to point to your drive (see the documentation on <literal>root=</literal>
-    in <link xlink:href="https://www.kernel.org/doc/Documentation/admin-guide/kernel-parameters.txt">
-    the kernel documentation</link> for more details).</para>
-  </listitem>
-  <listitem>
-    <para>If you want to load the contents of the ISO to ram after bootin
-    (So you can remove the stick after bootup) you can append the parameter
-    <literal>copytoram</literal>to the <literal>options</literal> field.</para>
-  </listitem>
-</itemizedlist>
-</para>
+  Using the 'raw' <command>rdiskN</command> device instead of
+  <command>diskN</command> completes in minutes instead of hours. After
+  <command>dd</command> completes, a GUI dialog "The disk you inserted was not
+  readable by this computer" will pop up, which can be ignored.
+ </para>
 
+ <para>
+  The <command>dd</command> utility will write the image verbatim to the drive,
+  making it the recommended option for both UEFI and non-UEFI installations.
+  For non-UEFI installations, you can alternatively use
+  <link xlink:href="http://unetbootin.sourceforge.net/">unetbootin</link>. If
+  you cannot use <command>dd</command> for a UEFI installation, you can also
+  mount the ISO, copy its contents verbatim to your drive, then either:
+  <itemizedlist>
+   <listitem>
+    <para>
+     Change the label of the disk partition to the label of the ISO (visible
+     with the blkid command), or
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     Edit <filename>loader/entries/nixos-livecd.conf</filename> on the drive
+     and change the <literal>root=</literal> field in the
+     <literal>options</literal> line to point to your drive (see the
+     documentation on <literal>root=</literal> in
+     <link xlink:href="https://www.kernel.org/doc/Documentation/admin-guide/kernel-parameters.txt">
+     the kernel documentation</link> for more details).
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     If you want to load the contents of the ISO to ram after bootin (So you
+     can remove the stick after bootup) you can append the parameter
+     <literal>copytoram</literal> to the <literal>options</literal> field.
+    </para>
+   </listitem>
+  </itemizedlist>
+ </para>
 </section>
diff --git a/nixos/doc/manual/installation/installing-virtualbox-guest.xml b/nixos/doc/manual/installation/installing-virtualbox-guest.xml
index 7fcd22a112c..da78b480f5a 100644
--- a/nixos/doc/manual/installation/installing-virtualbox-guest.xml
+++ b/nixos/doc/manual/installation/installing-virtualbox-guest.xml
@@ -3,63 +3,82 @@
          xmlns:xi="http://www.w3.org/2001/XInclude"
          version="5.0"
          xml:id="sec-instaling-virtualbox-guest">
+ <title>Installing in a VirtualBox guest</title>
 
-<title>Installing in a VirtualBox guest</title>
-<para>
+ <para>
   Installing NixOS into a VirtualBox guest is convenient for users who want to
   try NixOS without installing it on bare metal. If you want to use a pre-made
-  VirtualBox appliance, it is available at <link
-  xlink:href="https://nixos.org/nixos/download.html">the downloads page</link>.
-  If you want to set up a VirtualBox guest manually, follow these instructions:
-</para>
-
-<orderedlist>
-
-  <listitem><para>Add a New Machine in VirtualBox with OS Type "Linux / Other
-  Linux"</para></listitem>
-
-  <listitem><para>Base Memory Size: 768 MB or higher.</para></listitem>
-
-  <listitem><para>New Hard Disk of 8 GB or higher.</para></listitem>
-
-  <listitem><para>Mount the CD-ROM with the NixOS ISO (by clicking on
-  CD/DVD-ROM)</para></listitem>
-
-  <listitem><para>Click on Settings / System / Processor and enable
-  PAE/NX</para></listitem>
-
-  <listitem><para>Click on Settings / System / Acceleration and enable
-  "VT-x/AMD-V" acceleration</para></listitem>
-
-  <listitem><para>Save the settings, start the virtual machine, and continue
-  installation like normal</para></listitem>
-
-</orderedlist>
-
-<para>
-  There are a few modifications you should make in configuration.nix.
-  Enable booting:
-</para>
+  VirtualBox appliance, it is available at
+  <link
+  xlink:href="https://nixos.org/nixos/download.html">the downloads
+  page</link>. If you want to set up a VirtualBox guest manually, follow these
+  instructions:
+ </para>
+
+ <orderedlist>
+  <listitem>
+   <para>
+    Add a New Machine in VirtualBox with OS Type "Linux / Other Linux"
+   </para>
+  </listitem>
+  <listitem>
+   <para>
+    Base Memory Size: 768 MB or higher.
+   </para>
+  </listitem>
+  <listitem>
+   <para>
+    New Hard Disk of 8 GB or higher.
+   </para>
+  </listitem>
+  <listitem>
+   <para>
+    Mount the CD-ROM with the NixOS ISO (by clicking on CD/DVD-ROM)
+   </para>
+  </listitem>
+  <listitem>
+   <para>
+    Click on Settings / System / Processor and enable PAE/NX
+   </para>
+  </listitem>
+  <listitem>
+   <para>
+    Click on Settings / System / Acceleration and enable "VT-x/AMD-V"
+    acceleration
+   </para>
+  </listitem>
+  <listitem>
+   <para>
+    Save the settings, start the virtual machine, and continue installation
+    like normal
+   </para>
+  </listitem>
+ </orderedlist>
+
+ <para>
+  There are a few modifications you should make in configuration.nix. Enable
+  booting:
+ </para>
 
 <programlisting>
-boot.loader.grub.device = "/dev/sda";
+<xref linkend="opt-boot.loader.grub.device"/> = "/dev/sda";
 </programlisting>
 
-<para>
+ <para>
   Also remove the fsck that runs at startup. It will always fail to run,
   stopping your boot until you press <literal>*</literal>.
-</para>
+ </para>
 
 <programlisting>
-boot.initrd.checkJournalingFS = false;
+<xref linkend="opt-boot.initrd.checkJournalingFS"/> = false;
 </programlisting>
 
-<para>
+ <para>
   Shared folders can be given a name and a path in the host system in the
   VirtualBox settings (Machine / Settings / Shared Folders, then click on the
   "Add" icon). Add the following to the
   <literal>/etc/nixos/configuration.nix</literal> to auto-mount them:
-</para>
+ </para>
 
 <programlisting>
 { config, pkgs, ...} :
@@ -74,8 +93,7 @@ boot.initrd.checkJournalingFS = false;
 }
 </programlisting>
 
-<para>
+ <para>
   The folder will be available directly under the root directory.
-</para>
-
+ </para>
 </section>
diff --git a/nixos/doc/manual/installation/installing.xml b/nixos/doc/manual/installation/installing.xml
index e20b6574b72..4e1fde662d6 100644
--- a/nixos/doc/manual/installation/installing.xml
+++ b/nixos/doc/manual/installation/installing.xml
@@ -3,66 +3,92 @@
             xmlns:xi="http://www.w3.org/2001/XInclude"
             version="5.0"
             xml:id="sec-installation">
-
-<title>Installing NixOS</title>
-
-<para>NixOS can be installed on BIOS or UEFI systems.  The procedure
-for a UEFI installation is by and large the same as a BIOS installation. The differences are mentioned in the steps that follow.</para>
-
-<orderedlist>
-
-  <listitem><para>Boot from the CD.</para>
-    <variablelist>
-      <varlistentry><term>UEFI systems</term>
-      <listitem><para>You should boot the live CD in UEFI mode
-  (consult your specific hardware's documentation for instructions).
-  You may find the <link xlink:href="http://www.rodsbooks.com/refind">rEFInd boot
-  manager</link> useful.</para></listitem></varlistentry></variablelist></listitem>
-
-  <listitem><para>The CD contains a basic NixOS installation.  (It
-  also contains Memtest86+, useful if you want to test new hardware).
-  When it’s finished booting, it should have detected most of your
-  hardware.</para></listitem>
-
-  <listitem><para>The NixOS manual is available on virtual console 8
-  (press Alt+F8 to access) or by running <command>nixos-help</command>.
-  </para></listitem>
-
-  <listitem><para>You get logged in as <literal>root</literal>
-  (with empty password).</para></listitem>
-
-  <listitem><para>If you downloaded the graphical ISO image, you can
-  run <command>systemctl start display-manager</command> to start KDE. If you
-  want to continue on the terminal, you can use
-  <command>loadkeys</command> to switch to your preferred keyboard layout.
-  (We even provide neo2 via <command>loadkeys de neo</command>!)</para></listitem>
-
-  <listitem><para>The boot process should have brought up networking (check
-  <command>ip a</command>).  Networking is necessary for the
-  installer, since it will download lots of stuff (such as source
-  tarballs or Nixpkgs channel binaries).  It’s best if you have a DHCP
-  server on your network. Otherwise configure networking manually
-  using <command>ifconfig</command>.</para>
-  <para>To manually configure the network on the graphical installer,
-  first disable network-manager with
-  <command>systemctl stop network-manager</command>.</para>
-  <para>To manually configure the wifi on the minimal installer, run
-  <command>wpa_supplicant -B -i interface -c &lt;(wpa_passphrase 'SSID' 'key')</command>.</para></listitem>
-
-
-  <listitem><para>If you would like to continue the installation from a different
-  machine you need to activate the SSH daemon via <literal>systemctl start sshd</literal>.
-  In order to be able to login you also need to set a password for
-  <literal>root</literal> using <literal>passwd</literal>.</para></listitem>
-
-  <listitem><para>The NixOS installer doesn’t do any partitioning or
-  formatting yet, so you need to do that yourself.  Use the following
-  commands:
-
-  <itemizedlist>
-
-    <listitem><para>For partitioning:
-    <command>fdisk</command>.
+ <title>Installing NixOS</title>
+ <para>
+  NixOS can be installed on BIOS or UEFI systems. The procedure for a UEFI
+  installation is by and large the same as a BIOS installation. The differences
+  are mentioned in the steps that follow.
+ </para>
+ <orderedlist>
+  <listitem>
+   <para>
+    Boot from the CD.
+   </para>
+   <variablelist>
+    <varlistentry>
+     <term>UEFI systems</term>
+     <listitem>
+      <para>
+       You should boot the live CD in UEFI mode (consult your specific
+       hardware's documentation for instructions). You may find the
+       <link xlink:href="http://www.rodsbooks.com/refind">rEFInd boot
+       manager</link> useful.
+      </para>
+     </listitem>
+    </varlistentry>
+   </variablelist>
+  </listitem>
+  <listitem>
+   <para>
+    The CD contains a basic NixOS installation. (It also contains Memtest86+,
+    useful if you want to test new hardware). When it’s finished booting, it
+    should have detected most of your hardware.
+   </para>
+  </listitem>
+  <listitem>
+   <para>
+    The NixOS manual is available on virtual console 8 (press Alt+F8 to access)
+    or by running <command>nixos-help</command>.
+   </para>
+  </listitem>
+  <listitem>
+   <para>
+    You get logged in as <literal>root</literal> (with empty password).
+   </para>
+  </listitem>
+  <listitem>
+   <para>
+    If you downloaded the graphical ISO image, you can run <command>systemctl
+    start display-manager</command> to start KDE. If you want to continue on
+    the terminal, you can use <command>loadkeys</command> to switch to your
+    preferred keyboard layout. (We even provide neo2 via <command>loadkeys de
+    neo</command>!)
+   </para>
+  </listitem>
+  <listitem>
+   <para>
+    The boot process should have brought up networking (check <command>ip
+    a</command>). Networking is necessary for the installer, since it will
+    download lots of stuff (such as source tarballs or Nixpkgs channel
+    binaries). It’s best if you have a DHCP server on your network. Otherwise
+    configure networking manually using <command>ifconfig</command>.
+   </para>
+   <para>
+    To manually configure the network on the graphical installer, first disable
+    network-manager with <command>systemctl stop network-manager</command>.
+   </para>
+   <para>
+    To manually configure the wifi on the minimal installer, run
+    <command>wpa_supplicant -B -i interface -c &lt;(wpa_passphrase 'SSID'
+    'key')</command>.
+   </para>
+  </listitem>
+  <listitem>
+   <para>
+    If you would like to continue the installation from a different machine you
+    need to activate the SSH daemon via <literal>systemctl start
+    sshd</literal>. In order to be able to login you also need to set a
+    password for <literal>root</literal> using <literal>passwd</literal>.
+   </para>
+  </listitem>
+  <listitem>
+   <para>
+    The NixOS installer doesn’t do any partitioning or formatting yet, so you
+    need to do that yourself. Use the following commands:
+    <itemizedlist>
+     <listitem>
+      <para>
+       For partitioning: <command>fdisk</command>.
 <screen>
 # fdisk /dev/sda # <lineannotation>(or whatever device you want to install on)</lineannotation>
 -- for UEFI systems only
@@ -86,259 +112,266 @@ for a UEFI installation is by and large the same as a BIOS installation. The dif
 > x      # <lineannotation>(enter expert mode)</lineannotation>
 > f      # <lineannotation>(fix up the partition ordering)</lineannotation>
 > r      # <lineannotation>(exit expert mode)</lineannotation>
-> w      # <lineannotation>(write the partition table to disk and exit)</lineannotation></screen></para></listitem>
-
-    <listitem><para>For initialising Ext4 partitions:
-    <command>mkfs.ext4</command>.  It is recommended that you assign a
-    unique symbolic label to the file system using the option
-    <option>-L <replaceable>label</replaceable></option>, since this
-    makes the file system configuration independent from device
-    changes.  For example:
-
+> w      # <lineannotation>(write the partition table to disk and exit)</lineannotation></screen>
+      </para>
+     </listitem>
+     <listitem>
+      <para>
+       For initialising Ext4 partitions: <command>mkfs.ext4</command>. It is
+       recommended that you assign a unique symbolic label to the file system
+       using the option <option>-L <replaceable>label</replaceable></option>,
+       since this makes the file system configuration independent from device
+       changes. For example:
 <screen>
 # mkfs.ext4 -L nixos /dev/sda1</screen>
-
-    </para></listitem>
-
-    <listitem><para>For creating swap partitions:
-    <command>mkswap</command>.  Again it’s recommended to assign a
-    label to the swap partition: <option>-L
-    <replaceable>label</replaceable></option>. For example:
-
+      </para>
+     </listitem>
+     <listitem>
+      <para>
+       For creating swap partitions: <command>mkswap</command>. Again it’s
+       recommended to assign a label to the swap partition: <option>-L
+       <replaceable>label</replaceable></option>. For example:
 <screen>
 # mkswap -L swap /dev/sda2</screen>
-
-    </para></listitem>
-
-    <listitem>
-    <variablelist>
-      <varlistentry><term>UEFI systems</term>
-      <listitem><para>For creating boot partitions:
-    <command>mkfs.fat</command>.  Again it’s recommended to assign a
-    label to the boot partition: <option>-L
-    <replaceable>label</replaceable></option>. For example:
-
-<screen>
-# mkfs.fat -F 32 -L boot /dev/sda3</screen>
-
-    </para></listitem></varlistentry></variablelist></listitem>
-
-    <listitem><para>For creating LVM volumes, the LVM commands, e.g.,
-
+      </para>
+     </listitem>
+     <listitem>
+      <variablelist>
+       <varlistentry>
+        <term>UEFI systems</term>
+        <listitem>
+         <para>
+          For creating boot partitions: <command>mkfs.fat</command>. Again
+          it’s recommended to assign a label to the boot partition:
+          <option>-n <replaceable>label</replaceable></option>. For example:
 <screen>
-# pvcreate /dev/sda1 /dev/sdb1
-# vgcreate MyVolGroup /dev/sda1 /dev/sdb1
-# lvcreate --size 2G --name bigdisk MyVolGroup
-# lvcreate --size 1G --name smalldisk MyVolGroup</screen>
-
-    </para></listitem>
-
-    <listitem><para>For creating software RAID devices, use
-    <command>mdadm</command>.</para></listitem>
-
-  </itemizedlist>
-
-  </para></listitem>
-
-  <listitem><para>Mount the target file system on which NixOS should
-  be installed on <filename>/mnt</filename>, e.g.
-
+# mkfs.fat -F 32 -n boot /dev/sda3</screen>
+         </para>
+        </listitem>
+       </varlistentry>
+      </variablelist>
+     </listitem>
+     <listitem>
+      <para>
+       For creating LVM volumes, the LVM commands, e.g.,
+       <command>pvcreate</command>, <command>vgcreate</command>, and
+       <command>lvcreate</command>.
+      </para>
+     </listitem>
+     <listitem>
+      <para>
+       For creating software RAID devices, use <command>mdadm</command>.
+      </para>
+     </listitem>
+    </itemizedlist>
+   </para>
+  </listitem>
+  <listitem>
+   <para>
+    Mount the target file system on which NixOS should be installed on
+    <filename>/mnt</filename>, e.g.
 <screen>
 # mount /dev/disk/by-label/nixos /mnt
 </screen>
-
-  </para></listitem>
-
+   </para>
+  </listitem>
   <listitem>
-    <variablelist>
-      <varlistentry><term>UEFI systems</term>
-      <listitem><para>Mount the boot file system on <filename>/mnt/boot</filename>, e.g.
-
+   <variablelist>
+    <varlistentry>
+     <term>UEFI systems</term>
+     <listitem>
+      <para>
+       Mount the boot file system on <filename>/mnt/boot</filename>, e.g.
 <screen>
+# mkdir -p /mnt/boot
 # mount /dev/disk/by-label/boot /mnt/boot
 </screen>
-
-  </para></listitem></varlistentry></variablelist></listitem>
-
-  <listitem><para>If your machine has a limited amount of memory, you
-  may want to activate swap devices now (<command>swapon
-  <replaceable>device</replaceable></command>).  The installer (or
-  rather, the build actions that it may spawn) may need quite a bit of
-  RAM, depending on your configuration.
-
+      </para>
+     </listitem>
+    </varlistentry>
+   </variablelist>
+  </listitem>
+  <listitem>
+   <para>
+    If your machine has a limited amount of memory, you may want to activate
+    swap devices now (<command>swapon
+    <replaceable>device</replaceable></command>). The installer (or rather, the
+    build actions that it may spawn) may need quite a bit of RAM, depending on
+    your configuration.
 <screen>
 # swapon /dev/sda2</screen>
-
-  </para></listitem>
-
+   </para>
+  </listitem>
   <listitem>
-
-    <para>You now need to create a file
-    <filename>/mnt/etc/nixos/configuration.nix</filename> that
-    specifies the intended configuration of the system.  This is
-    because NixOS has a <emphasis>declarative</emphasis> configuration
-    model: you create or edit a description of the desired
-    configuration of your system, and then NixOS takes care of making
-    it happen.  The syntax of the NixOS configuration file is
-    described in <xref linkend="sec-configuration-syntax"/>, while a
-    list of available configuration options appears in <xref
-    linkend="ch-options"/>.  A minimal example is shown in <xref
-    linkend="ex-config"/>.</para>
-
-    <para>The command <command>nixos-generate-config</command> can
-    generate an initial configuration file for you:
-
+   <para>
+    You now need to create a file
+    <filename>/mnt/etc/nixos/configuration.nix</filename> that specifies the
+    intended configuration of the system. This is because NixOS has a
+    <emphasis>declarative</emphasis> configuration model: you create or edit a
+    description of the desired configuration of your system, and then NixOS
+    takes care of making it happen. The syntax of the NixOS configuration file
+    is described in <xref linkend="sec-configuration-syntax"/>, while a list of
+    available configuration options appears in
+    <xref
+    linkend="ch-options"/>. A minimal example is shown in
+    <xref
+    linkend="ex-config"/>.
+   </para>
+   <para>
+    The command <command>nixos-generate-config</command> can generate an
+    initial configuration file for you:
 <screen>
 # nixos-generate-config --root /mnt</screen>
-
-    You should then edit
-    <filename>/mnt/etc/nixos/configuration.nix</filename> to suit your
-    needs:
-
+    You should then edit <filename>/mnt/etc/nixos/configuration.nix</filename>
+    to suit your needs:
 <screen>
 # nano /mnt/etc/nixos/configuration.nix
 </screen>
-
-    If you’re using the graphical ISO image, other editors may be
-    available (such as <command>vim</command>). If you have network
-    access, you can also install other editors — for instance, you can
-    install Emacs by running <literal>nix-env -i
-    emacs</literal>.</para>
-
-    <variablelist>
-
-      <varlistentry><term>BIOS systems</term>
-      <listitem><para>You <emphasis>must</emphasis> set the option
-    <option>boot.loader.grub.device</option> to specify on which disk
-    the GRUB boot loader is to be installed.  Without it, NixOS cannot
-      boot.</para></listitem></varlistentry>
-
-      <varlistentry><term>UEFI systems</term>
-      <listitem><para>You <emphasis>must</emphasis> set the option
-      <option>boot.loader.systemd-boot.enable</option> to <literal>true</literal>.
-      <command>nixos-generate-config</command> should do this automatically for new
-      configurations when booted in
-      UEFI mode.</para>
-      <para>You may want to look at the options starting with
-      <option>boot.loader.efi</option> and <option>boot.loader.systemd-boot</option>
-      as well.</para></listitem></varlistentry>
-
-    </variablelist>
-
-    <para>If there are other operating systems running on the machine before
-    installing NixOS, the
-    <option>boot.loader.grub.useOSProber</option> option can be set to
-    <literal>true</literal> to automatically add them to the grub menu.</para>
-
-    <para>Another critical option is <option>fileSystems</option>,
-    specifying the file systems that need to be mounted by NixOS.
-    However, you typically don’t need to set it yourself, because
+    If you’re using the graphical ISO image, other editors may be available
+    (such as <command>vim</command>). If you have network access, you can also
+    install other editors — for instance, you can install Emacs by running
+    <literal>nix-env -i emacs</literal>.
+   </para>
+   <variablelist>
+    <varlistentry>
+     <term>BIOS systems</term>
+     <listitem>
+      <para>
+       You <emphasis>must</emphasis> set the option
+       <xref linkend="opt-boot.loader.grub.device"/> to specify on which disk
+       the GRUB boot loader is to be installed. Without it, NixOS cannot boot.
+      </para>
+     </listitem>
+    </varlistentry>
+    <varlistentry>
+     <term>UEFI systems</term>
+     <listitem>
+      <para>
+       You <emphasis>must</emphasis> set the option
+       <xref linkend="opt-boot.loader.systemd-boot.enable"/> to
+       <literal>true</literal>. <command>nixos-generate-config</command> should
+       do this automatically for new configurations when booted in UEFI mode.
+      </para>
+      <para>
+       You may want to look at the options starting with
+       <option><link linkend="opt-boot.loader.efi.canTouchEfiVariables">boot.loader.efi</link></option>
+       and
+       <option><link linkend="opt-boot.loader.systemd-boot.enable">boot.loader.systemd</link></option>
+       as well.
+      </para>
+     </listitem>
+    </varlistentry>
+   </variablelist>
+   <para>
+    If there are other operating systems running on the machine before
+    installing NixOS, the <xref linkend="opt-boot.loader.grub.useOSProber"/>
+    option can be set to <literal>true</literal> to automatically add them to
+    the grub menu.
+   </para>
+   <para>
+    Another critical option is <option>fileSystems</option>, specifying the
+    file systems that need to be mounted by NixOS. However, you typically
+    don’t need to set it yourself, because
     <command>nixos-generate-config</command> sets it automatically in
-    <filename>/mnt/etc/nixos/hardware-configuration.nix</filename>
-    from your currently mounted file systems.  (The configuration file
+    <filename>/mnt/etc/nixos/hardware-configuration.nix</filename> from your
+    currently mounted file systems. (The configuration file
     <filename>hardware-configuration.nix</filename> is included from
-    <filename>configuration.nix</filename> and will be overwritten by
-    future invocations of <command>nixos-generate-config</command>;
-    thus, you generally should not modify it.)</para>
-
-    <note><para>Depending on your hardware configuration or type of
-    file system, you may need to set the option
-    <option>boot.initrd.kernelModules</option> to include the kernel
-    modules that are necessary for mounting the root file system,
-    otherwise the installed system will not be able to boot.  (If this
-    happens, boot from the CD again, mount the target file system on
-    <filename>/mnt</filename>, fix
-    <filename>/mnt/etc/nixos/configuration.nix</filename> and rerun
-    <filename>nixos-install</filename>.)  In most cases,
-    <command>nixos-generate-config</command> will figure out the
-    required modules.</para></note>
-
+    <filename>configuration.nix</filename> and will be overwritten by future
+    invocations of <command>nixos-generate-config</command>; thus, you
+    generally should not modify it.)
+   </para>
+   <note>
+    <para>
+     Depending on your hardware configuration or type of file system, you may
+     need to set the option <option>boot.initrd.kernelModules</option> to
+     include the kernel modules that are necessary for mounting the root file
+     system, otherwise the installed system will not be able to boot. (If this
+     happens, boot from the CD again, mount the target file system on
+     <filename>/mnt</filename>, fix
+     <filename>/mnt/etc/nixos/configuration.nix</filename> and rerun
+     <filename>nixos-install</filename>.) In most cases,
+     <command>nixos-generate-config</command> will figure out the required
+     modules.
+    </para>
+   </note>
   </listitem>
-
-  <listitem><para>Do the installation:
-
+  <listitem>
+   <para>
+    Do the installation:
 <screen>
 # nixos-install</screen>
-
-    Cross fingers.  If this fails due to a temporary problem (such as
-    a network issue while downloading binaries from the NixOS binary
-    cache), you can just re-run <command>nixos-install</command>.
-    Otherwise, fix your <filename>configuration.nix</filename> and
-    then re-run <command>nixos-install</command>.</para>
-
-    <para>As the last step, <command>nixos-install</command> will ask
-    you to set the password for the <literal>root</literal> user, e.g.
-
+    Cross fingers. If this fails due to a temporary problem (such as a network
+    issue while downloading binaries from the NixOS binary cache), you can just
+    re-run <command>nixos-install</command>. Otherwise, fix your
+    <filename>configuration.nix</filename> and then re-run
+    <command>nixos-install</command>.
+   </para>
+   <para>
+    As the last step, <command>nixos-install</command> will ask you to set the
+    password for the <literal>root</literal> user, e.g.
 <screen>
 setting root password...
 Enter new UNIX password: ***
 Retype new UNIX password: ***
-</screen>
-
+    </screen>
     <note>
-      <para>
-        To prevent the password prompt, set <code>users.mutableUsers = false;</code> in
-        <filename>configuration.nix</filename>, which allows unattended installation
-        necessary in automation.
-      </para>
+     <para>
+      To prevent the password prompt, set
+      <code><xref linkend="opt-users.mutableUsers"/> = false;</code> in
+      <filename>configuration.nix</filename>, which allows unattended
+      installation necessary in automation.
+     </para>
     </note>
-
-    </para>
-
+   </para>
   </listitem>
-
   <listitem>
-    <para>If everything went well:
-
+   <para>
+    If everything went well:
 <screen>
-# reboot</screen>
-
-  </para></listitem>
-
+        # reboot</screen>
+   </para>
+  </listitem>
   <listitem>
-
-    <para>You should now be able to boot into the installed NixOS. The
-    GRUB boot menu shows a list of <emphasis>available
-    configurations</emphasis> (initially just one). Every time you
-    change the NixOS configuration (see <link
-    linkend="sec-changing-config">Changing Configuration</link> ), a
-    new item is added to the menu. This allows you to easily roll back
-    to a previous configuration if something goes wrong.</para>
-
-    <para>You should log in and change the <literal>root</literal>
-    password with <command>passwd</command>.</para>
-
-    <para>You’ll probably want to create some user accounts as well,
-    which can be done with <command>useradd</command>:
-
+   <para>
+    You should now be able to boot into the installed NixOS. The GRUB boot menu
+    shows a list of <emphasis>available configurations</emphasis> (initially
+    just one). Every time you change the NixOS configuration (see
+    <link
+        linkend="sec-changing-config">Changing Configuration</link>
+    ), a new item is added to the menu. This allows you to easily roll back to
+    a previous configuration if something goes wrong.
+   </para>
+   <para>
+    You should log in and change the <literal>root</literal> password with
+    <command>passwd</command>.
+   </para>
+   <para>
+    You’ll probably want to create some user accounts as well, which can be
+    done with <command>useradd</command>:
 <screen>
 $ useradd -c 'Eelco Dolstra' -m eelco
 $ passwd eelco</screen>
-
-    </para>
-
-    <para>You may also want to install some software.  For instance,
-
+   </para>
+   <para>
+    You may also want to install some software. For instance,
 <screen>
 $ nix-env -qa \*</screen>
-
     shows what packages are available, and
-
 <screen>
 $ nix-env -i w3m</screen>
-
-    install the <literal>w3m</literal> browser.</para>
-
+    install the <literal>w3m</literal> browser.
+   </para>
   </listitem>
-
-</orderedlist>
-
-<para>To summarise, <xref linkend="ex-install-sequence" /> shows a
-typical sequence of commands for installing NixOS on an empty hard
-drive (here <filename>/dev/sda</filename>).  <xref linkend="ex-config"
-/> shows a corresponding configuration Nix expression.</para>
-
-<example xml:id='ex-install-sequence'><title>Commands for Installing NixOS on <filename>/dev/sda</filename></title>
+ </orderedlist>
+ <para>
+  To summarise, <xref linkend="ex-install-sequence" /> shows a typical sequence
+  of commands for installing NixOS on an empty hard drive (here
+  <filename>/dev/sda</filename>). <xref linkend="ex-config"
+/> shows a
+  corresponding configuration Nix expression.
+ </para>
+ <example xml:id='ex-install-sequence'>
+  <title>Commands for Installing NixOS on <filename>/dev/sda</filename></title>
 <screen>
 # fdisk /dev/sda # <lineannotation>(or whatever device you want to install on)</lineannotation>
 -- for UEFI systems only
@@ -366,41 +399,39 @@ drive (here <filename>/dev/sda</filename>).  <xref linkend="ex-config"
 # mkfs.ext4 -L nixos /dev/sda1
 # mkswap -L swap /dev/sda2
 # swapon /dev/sda2
-# mkfs.fat -F 32 -L boot /dev/sda3        # <lineannotation>(for UEFI systems only)</lineannotation>
+# mkfs.fat -F 32 -n boot /dev/sda3        # <lineannotation>(for UEFI systems only)</lineannotation>
 # mount /dev/disk/by-label/nixos /mnt
+# mkdir -p /mnt/boot                      # <lineannotation>(for UEFI systems only)</lineannotation>
 # mount /dev/disk/by-label/boot /mnt/boot # <lineannotation>(for UEFI systems only)</lineannotation>
 # nixos-generate-config --root /mnt
 # nano /mnt/etc/nixos/configuration.nix
 # nixos-install
 # reboot</screen>
-</example>
-
-<example xml:id='ex-config'><title>NixOS Configuration</title>
+ </example>
+ <example xml:id='ex-config'>
+  <title>NixOS Configuration</title>
 <screen>
-{ config, pkgs, ... }:
-
-{
-  imports =
-    [ # Include the results of the hardware scan.
-      ./hardware-configuration.nix
-    ];
+{ config, pkgs, ... }: {
+  imports = [
+    # Include the results of the hardware scan.
+    ./hardware-configuration.nix
+  ];
 
-  boot.loader.grub.device = "/dev/sda";   # <lineannotation>(for BIOS systems only)</lineannotation>
-  boot.loader.systemd-boot.enable = true; # <lineannotation>(for UEFI systems only)</lineannotation>
+  <xref linkend="opt-boot.loader.grub.device"/> = "/dev/sda";   # <lineannotation>(for BIOS systems only)</lineannotation>
+  <xref linkend="opt-boot.loader.systemd-boot.enable"/> = true; # <lineannotation>(for UEFI systems only)</lineannotation>
 
   # Note: setting fileSystems is generally not
   # necessary, since nixos-generate-config figures them out
   # automatically in hardware-configuration.nix.
-  #fileSystems."/".device = "/dev/disk/by-label/nixos";
+  #<link linkend="opt-fileSystems._name__.device">fileSystems."/".device</link> = "/dev/disk/by-label/nixos";
 
   # Enable the OpenSSH server.
   services.sshd.enable = true;
-}</screen>
-</example>
-
-<xi:include href="installing-usb.xml" />
-<xi:include href="installing-pxe.xml" />
-<xi:include href="installing-virtualbox-guest.xml" />
-<xi:include href="installing-from-other-distro.xml" />
-
+}
+  </screen>
+ </example>
+ <xi:include href="installing-usb.xml" />
+ <xi:include href="installing-pxe.xml" />
+ <xi:include href="installing-virtualbox-guest.xml" />
+ <xi:include href="installing-from-other-distro.xml" />
 </chapter>
diff --git a/nixos/doc/manual/installation/obtaining.xml b/nixos/doc/manual/installation/obtaining.xml
index 9b2b474c60c..56af5c0e25a 100644
--- a/nixos/doc/manual/installation/obtaining.xml
+++ b/nixos/doc/manual/installation/obtaining.xml
@@ -3,46 +3,52 @@
          xmlns:xi="http://www.w3.org/2001/XInclude"
          version="5.0"
          xml:id="sec-obtaining">
-
-<title>Obtaining NixOS</title>
-
-<para>NixOS ISO images can be downloaded from the <link
-xlink:href="http://nixos.org/nixos/download.html">NixOS
-download page</link>.  There are a number of installation options.  If
-you happen to have an optical drive and a spare CD, burning the
-image to CD and booting from that is probably the easiest option.
-Most people will need to prepare a USB stick to boot from.
-<xref linkend="sec-booting-from-usb"/> describes the preferred method
-to prepare a USB stick.
-A number of alternative methods are presented in the <link
+ <title>Obtaining NixOS</title>
+ <para>
+  NixOS ISO images can be downloaded from the
+  <link
+xlink:href="http://nixos.org/nixos/download.html">NixOS download
+  page</link>. There are a number of installation options. If you happen to
+  have an optical drive and a spare CD, burning the image to CD and booting
+  from that is probably the easiest option. Most people will need to prepare a
+  USB stick to boot from. <xref linkend="sec-booting-from-usb"/> describes the
+  preferred method to prepare a USB stick. A number of alternative methods are
+  presented in the
+  <link
 xlink:href="https://nixos.wiki/wiki/NixOS_Installation_Guide#Making_the_installation_media">NixOS
-Wiki</link>.</para>
-
-<para>As an alternative to installing NixOS yourself, you can get a
-running NixOS system through several other means:
-
-<itemizedlist>
-  <listitem>
-    <para>Using virtual appliances in Open Virtualization Format (OVF)
-    that can be imported into VirtualBox.  These are available from
-    the <link xlink:href="http://nixos.org/nixos/download.html">NixOS
-    download page</link>.</para>
-  </listitem>
-  <listitem>
-    <para>Using AMIs for Amazon’s EC2.  To find one for your region
-    and instance type, please refer to the <link
+  Wiki</link>.
+ </para>
+ <para>
+  As an alternative to installing NixOS yourself, you can get a running NixOS
+  system through several other means:
+  <itemizedlist>
+   <listitem>
+    <para>
+     Using virtual appliances in Open Virtualization Format (OVF) that can be
+     imported into VirtualBox. These are available from the
+     <link xlink:href="http://nixos.org/nixos/download.html">NixOS download
+     page</link>.
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     Using AMIs for Amazon’s EC2. To find one for your region and instance
+     type, please refer to the
+     <link
     xlink:href="https://github.com/NixOS/nixpkgs/blob/master/nixos/modules/virtualisation/ec2-amis.nix">list
-    of most recent AMIs</link>.</para>
-  </listitem>
-  <listitem>
-    <para>Using NixOps, the NixOS-based cloud deployment tool, which
-    allows you to provision VirtualBox and EC2 NixOS instances from
-    declarative specifications.  Check out the <link
+     of most recent AMIs</link>.
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     Using NixOps, the NixOS-based cloud deployment tool, which allows you to
+     provision VirtualBox and EC2 NixOS instances from declarative
+     specifications. Check out the
+     <link
     xlink:href="https://nixos.org/nixops">NixOps homepage</link> for
-    details.</para>
-  </listitem>
-</itemizedlist>
-
-</para>
-
+     details.
+    </para>
+   </listitem>
+  </itemizedlist>
+ </para>
 </chapter>
diff --git a/nixos/doc/manual/installation/upgrading.xml b/nixos/doc/manual/installation/upgrading.xml
index aee6523345c..20355812ec6 100644
--- a/nixos/doc/manual/installation/upgrading.xml
+++ b/nixos/doc/manual/installation/upgrading.xml
@@ -2,140 +2,130 @@
          xmlns:xlink="http://www.w3.org/1999/xlink"
          version="5.0"
          xml:id="sec-upgrading">
-
-<title>Upgrading NixOS</title>
-
-<para>The best way to keep your NixOS installation up to date is to
-use one of the NixOS <emphasis>channels</emphasis>.  A channel is a
-Nix mechanism for distributing Nix expressions and associated
-binaries.  The NixOS channels are updated automatically from NixOS’s
-Git repository after certain tests have passed and all packages have
-been built.  These channels are:
-
-<itemizedlist>
-  <listitem>
-    <para><emphasis>Stable channels</emphasis>, such as <literal
+ <title>Upgrading NixOS</title>
+ <para>
+  The best way to keep your NixOS installation up to date is to use one of the
+  NixOS <emphasis>channels</emphasis>. A channel is a Nix mechanism for
+  distributing Nix expressions and associated binaries. The NixOS channels are
+  updated automatically from NixOS’s Git repository after certain tests have
+  passed and all packages have been built. These channels are:
+  <itemizedlist>
+   <listitem>
+    <para>
+     <emphasis>Stable channels</emphasis>, such as
+     <literal
     xlink:href="https://nixos.org/channels/nixos-17.03">nixos-17.03</literal>.
-    These only get conservative bug fixes and package upgrades.  For
-    instance, a channel update may cause the Linux kernel on your
-    system to be upgraded from 4.9.16 to 4.9.17 (a minor bug fix), but
-    not from 4.9.<replaceable>x</replaceable> to
-    4.11.<replaceable>x</replaceable> (a major change that has the
-    potential to break things).  Stable channels are generally
-    maintained until the next stable branch is created.</para>
+     These only get conservative bug fixes and package upgrades. For instance,
+     a channel update may cause the Linux kernel on your system to be upgraded
+     from 4.9.16 to 4.9.17 (a minor bug fix), but not from
+     4.9.<replaceable>x</replaceable> to 4.11.<replaceable>x</replaceable> (a
+     major change that has the potential to break things). Stable channels are
+     generally maintained until the next stable branch is created.
+    </para>
     <para></para>
-  </listitem>
-  <listitem>
-    <para>The <emphasis>unstable channel</emphasis>, <literal
+   </listitem>
+   <listitem>
+    <para>
+     The <emphasis>unstable channel</emphasis>,
+     <literal
     xlink:href="https://nixos.org/channels/nixos-unstable">nixos-unstable</literal>.
-    This corresponds to NixOS’s main development branch, and may thus
-    see radical changes between channel updates.  It’s not recommended
-    for production systems.</para>
-  </listitem>
-  <listitem>
-    <para><emphasis>Small channels</emphasis>, such as <literal
+     This corresponds to NixOS’s main development branch, and may thus see
+     radical changes between channel updates. It’s not recommended for
+     production systems.
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <emphasis>Small channels</emphasis>, such as
+     <literal
     xlink:href="https://nixos.org/channels/nixos-17.03-small">nixos-17.03-small</literal>
-    or <literal
-    xlink:href="https://nixos.org/channels/nixos-unstable-small">nixos-unstable-small</literal>. These
-    are identical to the stable and unstable channels described above,
-    except that they contain fewer binary packages. This means they
-    get updated faster than the regular channels (for instance, when a
-    critical security patch is committed to NixOS’s source tree), but
-    may require more packages to be built from source than
-    usual. They’re mostly intended for server environments and as such
-    contain few GUI applications.</para>
-  </listitem>
-</itemizedlist>
-
-To see what channels are available, go to <link
-xlink:href="https://nixos.org/channels"/>.  (Note that the URIs of the
-various channels redirect to a directory that contains the channel’s
-latest version and includes ISO images and VirtualBox
-appliances.)</para>
-
-<para>When you first install NixOS, you’re automatically subscribed to
-the NixOS channel that corresponds to your installation source.   For
-instance, if you installed from a 17.03 ISO, you will be subscribed to
-the <literal>nixos-17.03</literal> channel.  To see which NixOS
-channel you’re subscribed to, run the following as root:
-
+     or
+     <literal
+    xlink:href="https://nixos.org/channels/nixos-unstable-small">nixos-unstable-small</literal>.
+     These are identical to the stable and unstable channels described above,
+     except that they contain fewer binary packages. This means they get
+     updated faster than the regular channels (for instance, when a critical
+     security patch is committed to NixOS’s source tree), but may require
+     more packages to be built from source than usual. They’re mostly
+     intended for server environments and as such contain few GUI applications.
+    </para>
+   </listitem>
+  </itemizedlist>
+  To see what channels are available, go to
+  <link
+xlink:href="https://nixos.org/channels"/>. (Note that the URIs of the
+  various channels redirect to a directory that contains the channel’s latest
+  version and includes ISO images and VirtualBox appliances.)
+ </para>
+ <para>
+  When you first install NixOS, you’re automatically subscribed to the NixOS
+  channel that corresponds to your installation source. For instance, if you
+  installed from a 17.03 ISO, you will be subscribed to the
+  <literal>nixos-17.03</literal> channel. To see which NixOS channel you’re
+  subscribed to, run the following as root:
 <screen>
 # nix-channel --list | grep nixos
 nixos https://nixos.org/channels/nixos-unstable
 </screen>
-
-To switch to a different NixOS channel, do
-
+  To switch to a different NixOS channel, do
 <screen>
 # nix-channel --add https://nixos.org/channels/<replaceable>channel-name</replaceable> nixos
 </screen>
-
-(Be sure to include the <literal>nixos</literal> parameter at the
-end.)  For instance, to use the NixOS 17.03 stable channel:
-
+  (Be sure to include the <literal>nixos</literal> parameter at the end.) For
+  instance, to use the NixOS 17.03 stable channel:
 <screen>
 # nix-channel --add https://nixos.org/channels/nixos-17.03 nixos
 </screen>
-
-If you have a server, you may want to use the “small” channel instead:
-
+  If you have a server, you may want to use the “small” channel instead:
 <screen>
 # nix-channel --add https://nixos.org/channels/nixos-17.03-small nixos
 </screen>
-
-And if you want to live on the bleeding edge:
-
+  And if you want to live on the bleeding edge:
 <screen>
 # nix-channel --add https://nixos.org/channels/nixos-unstable nixos
 </screen>
-
-</para>
-
-<para>You can then upgrade NixOS to the latest version in your chosen
-channel by running
-
+ </para>
+ <para>
+  You can then upgrade NixOS to the latest version in your chosen channel by
+  running
 <screen>
 # nixos-rebuild switch --upgrade
 </screen>
-
-which is equivalent to the more verbose <literal>nix-channel --update
-nixos; nixos-rebuild switch</literal>.</para>
-
-<note><para>Channels are set per user. This means that running <literal>
-nix-channel --add</literal> as a non root user (or without sudo) will not
-affect configuration in <literal>/etc/nixos/configuration.nix</literal>
-</para></note>
-
-<warning><para>It is generally safe to switch back and forth between
-channels.  The only exception is that a newer NixOS may also have a
-newer Nix version, which may involve an upgrade of Nix’s database
-schema.  This cannot be undone easily, so in that case you will not be
-able to go back to your original channel.</para></warning>
-
-
-<section><title>Automatic Upgrades</title>
-
-<para>You can keep a NixOS system up-to-date automatically by adding
-the following to <filename>configuration.nix</filename>:
-
+  which is equivalent to the more verbose <literal>nix-channel --update nixos;
+  nixos-rebuild switch</literal>.
+ </para>
+ <note>
+  <para>
+   Channels are set per user. This means that running <literal> nix-channel
+   --add</literal> as a non root user (or without sudo) will not affect
+   configuration in <literal>/etc/nixos/configuration.nix</literal>
+  </para>
+ </note>
+ <warning>
+  <para>
+   It is generally safe to switch back and forth between channels. The only
+   exception is that a newer NixOS may also have a newer Nix version, which may
+   involve an upgrade of Nix’s database schema. This cannot be undone easily,
+   so in that case you will not be able to go back to your original channel.
+  </para>
+ </warning>
+ <section>
+  <title>Automatic Upgrades</title>
+
+  <para>
+   You can keep a NixOS system up-to-date automatically by adding the following
+   to <filename>configuration.nix</filename>:
 <programlisting>
-system.autoUpgrade.enable = true;
+<xref linkend="opt-system.autoUpgrade.enable"/> = true;
 </programlisting>
-
-This enables a periodically executed systemd service named
-<literal>nixos-upgrade.service</literal>. It runs
-<command>nixos-rebuild switch --upgrade</command> to upgrade NixOS to
-the latest version in the current channel. (To see when the service
-runs, see <command>systemctl list-timers</command>.)  You can also
-specify a channel explicitly, e.g.
-
+   This enables a periodically executed systemd service named
+   <literal>nixos-upgrade.service</literal>. It runs <command>nixos-rebuild
+   switch --upgrade</command> to upgrade NixOS to the latest version in the
+   current channel. (To see when the service runs, see <command>systemctl
+   list-timers</command>.) You can also specify a channel explicitly, e.g.
 <programlisting>
-system.autoUpgrade.channel = https://nixos.org/channels/nixos-17.03;
+<xref linkend="opt-system.autoUpgrade.channel"/> = https://nixos.org/channels/nixos-17.03;
 </programlisting>
-
-</para>
-
-</section>
-
-
+  </para>
+ </section>
 </chapter>
diff --git a/nixos/doc/manual/man-configuration.xml b/nixos/doc/manual/man-configuration.xml
index 05531b3909a..9f30b792510 100644
--- a/nixos/doc/manual/man-configuration.xml
+++ b/nixos/doc/manual/man-configuration.xml
@@ -1,38 +1,31 @@
 <refentry xmlns="http://docbook.org/ns/docbook"
           xmlns:xlink="http://www.w3.org/1999/xlink"
           xmlns:xi="http://www.w3.org/2001/XInclude">
-
-<refmeta>
-  <refentrytitle><filename>configuration.nix</filename></refentrytitle>
-  <manvolnum>5</manvolnum>
+ <refmeta>
+  <refentrytitle><filename>configuration.nix</filename>
+  </refentrytitle><manvolnum>5</manvolnum>
   <refmiscinfo class="source">NixOS</refmiscinfo>
-  <!-- <refmiscinfo class="version"><xi:include href="version.txt" parse="text"/></refmiscinfo> -->
-</refmeta>
-
-<refnamediv>
-  <refname><filename>configuration.nix</filename></refname>
-  <refpurpose>NixOS system configuration specification</refpurpose>
-</refnamediv>
-
-
-<refsection><title>Description</title>
-
-<para>The file <filename>/etc/nixos/configuration.nix</filename>
-contains the declarative specification of your NixOS system
-configuration.  The command <command>nixos-rebuild</command> takes
-this file and realises the system configuration specified
-therein.</para>
-
-</refsection>
-
-
-<refsection><title>Options</title>
-
-<para>You can use the following options in
-<filename>configuration.nix</filename>.</para>
-
-<xi:include href="options-db.xml" />
-
-</refsection>
-
+<!-- <refmiscinfo class="version"><xi:include href="version.txt" parse="text"/></refmiscinfo> -->
+ </refmeta>
+ <refnamediv>
+  <refname><filename>configuration.nix</filename>
+  </refname><refpurpose>NixOS system configuration specification</refpurpose>
+ </refnamediv>
+ <refsection>
+  <title>Description</title>
+  <para>
+   The file <filename>/etc/nixos/configuration.nix</filename> contains the
+   declarative specification of your NixOS system configuration. The command
+   <command>nixos-rebuild</command> takes this file and realises the system
+   configuration specified therein.
+  </para>
+ </refsection>
+ <refsection>
+  <title>Options</title>
+  <para>
+   You can use the following options in <filename>configuration.nix</filename>.
+  </para>
+  <xi:include href="./generated/options-db.xml"
+            xpointer="configuration-variable-list" />
+ </refsection>
 </refentry>
diff --git a/nixos/doc/manual/man-nixos-build-vms.xml b/nixos/doc/manual/man-nixos-build-vms.xml
index 878ebee0527..02dad4c548b 100644
--- a/nixos/doc/manual/man-nixos-build-vms.xml
+++ b/nixos/doc/manual/man-nixos-build-vms.xml
@@ -1,46 +1,45 @@
 <refentry xmlns="http://docbook.org/ns/docbook"
           xmlns:xlink="http://www.w3.org/1999/xlink"
           xmlns:xi="http://www.w3.org/2001/XInclude">
-
-<refmeta>
-  <refentrytitle><command>nixos-build-vms</command></refentrytitle>
-  <manvolnum>8</manvolnum>
+ <refmeta>
+  <refentrytitle><command>nixos-build-vms</command>
+  </refentrytitle><manvolnum>8</manvolnum>
   <refmiscinfo class="source">NixOS</refmiscinfo>
-  <!-- <refmiscinfo class="version"><xi:include href="version.txt" parse="text"/></refmiscinfo> -->
-</refmeta>
-
-<refnamediv>
-  <refname><command>nixos-build-vms</command></refname>
-  <refpurpose>build a network of virtual machines from a network of NixOS configurations</refpurpose>
-</refnamediv>
-
-<refsynopsisdiv>
-  <cmdsynopsis>
-    <command>nixos-build-vms</command>
-    <arg><option>--show-trace</option></arg>
-    <arg><option>--no-out-link</option></arg>
-    <arg><option>--help</option></arg>
-    <arg choice="plain"><replaceable>network.nix</replaceable></arg>
+<!-- <refmiscinfo class="version"><xi:include href="version.txt" parse="text"/></refmiscinfo> -->
+ </refmeta>
+ <refnamediv>
+  <refname><command>nixos-build-vms</command>
+  </refname><refpurpose>build a network of virtual machines from a network of NixOS configurations</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+  <cmdsynopsis><command>nixos-build-vms</command>
+   <arg><option>--show-trace</option>
+   </arg>
+   <arg><option>--no-out-link</option>
+   </arg>
+   <arg><option>--help</option>
+   </arg>
+   <arg choice="plain"><replaceable>network.nix</replaceable>
+   </arg>
   </cmdsynopsis>
-</refsynopsisdiv>
-
-<refsection><title>Description</title>
-
-<para>This command builds a network of QEMU-KVM virtual machines of a Nix expression
-specifying a network of NixOS machines. The virtual network can be started by
-executing the <filename>bin/run-vms</filename> shell script that is generated by
-this command. By default, a <filename>result</filename> symlink is produced that
-points to the generated virtual network.
-</para>
-
-<para>A network Nix expression has the following structure:
-
+ </refsynopsisdiv>
+ <refsection>
+  <title>Description</title>
+  <para>
+   This command builds a network of QEMU-KVM virtual machines of a Nix
+   expression specifying a network of NixOS machines. The virtual network can
+   be started by executing the <filename>bin/run-vms</filename> shell script
+   that is generated by this command. By default, a <filename>result</filename>
+   symlink is produced that points to the generated virtual network.
+  </para>
+  <para>
+   A network Nix expression has the following structure:
 <screen>
 {
   test1 = {pkgs, config, ...}:
     {
       services.openssh.enable = true;
-      nixpkgs.system = "i686-linux";
+      nixpkgs.localSystem.system = "i686-linux";
       deployment.targetHost = "test1.example.net";
 
       # Other NixOS options
@@ -51,60 +50,60 @@ points to the generated virtual network.
       services.openssh.enable = true;
       services.httpd.enable = true;
       environment.systemPackages = [ pkgs.lynx ];
-      nixpkgs.system = "x86_64-linux";
+      nixpkgs.localSystem.system = "x86_64-linux";
       deployment.targetHost = "test2.example.net";
 
       # Other NixOS options
     };
 }
 </screen>
-
-Each attribute in the expression represents a machine in the network
-(e.g. <varname>test1</varname> and <varname>test2</varname>)
-referring to a function defining a NixOS configuration.
-In each NixOS configuration, two attributes have a special meaning.
-The <varname>deployment.targetHost</varname> specifies the address
-(domain name or IP address)
-of the system which is used by <command>ssh</command> to perform
-remote deployment operations. The <varname>nixpkgs.system</varname>
-attribute can be used to specify an architecture for the target machine,
-such as <varname>i686-linux</varname> which builds a 32-bit NixOS
-configuration. Omitting this property will build the configuration
-for the same architecture as the host system.
-</para>
-
-</refsection>
-
-<refsection><title>Options</title>
-
-<para>This command accepts the following options:</para>
-
-<variablelist>
-
-  <varlistentry>
-    <term><option>--show-trace</option></term>
+   Each attribute in the expression represents a machine in the network (e.g.
+   <varname>test1</varname> and <varname>test2</varname>) referring to a
+   function defining a NixOS configuration. In each NixOS configuration, two
+   attributes have a special meaning. The
+   <varname>deployment.targetHost</varname> specifies the address (domain name
+   or IP address) of the system which is used by <command>ssh</command> to
+   perform remote deployment operations. The
+   <varname>nixpkgs.localSystem.system</varname> attribute can be used to
+   specify an architecture for the target machine, such as
+   <varname>i686-linux</varname> which builds a 32-bit NixOS configuration.
+   Omitting this property will build the configuration for the same
+   architecture as the host system.
+  </para>
+ </refsection>
+ <refsection>
+  <title>Options</title>
+  <para>
+   This command accepts the following options:
+  </para>
+  <variablelist>
+   <varlistentry>
+    <term><option>--show-trace</option>
+    </term>
     <listitem>
-      <para>Shows a trace of the output.</para>
+     <para>
+      Shows a trace of the output.
+     </para>
     </listitem>
-  </varlistentry>
-
-  <varlistentry>
-    <term><option>--no-out-link</option></term>
+   </varlistentry>
+   <varlistentry>
+    <term><option>--no-out-link</option>
+    </term>
     <listitem>
-      <para>Do not create a 'result' symlink.</para>
+     <para>
+      Do not create a 'result' symlink.
+     </para>
     </listitem>
-  </varlistentry>
-
-  <varlistentry>
-    <term><option>-h</option>, <option>--help</option></term>
+   </varlistentry>
+   <varlistentry>
+    <term><option>-h</option>, <option>--help</option>
+    </term>
     <listitem>
-      <para>Shows the usage of this command to the user.</para>
+     <para>
+      Shows the usage of this command to the user.
+     </para>
     </listitem>
-  </varlistentry>
-
-</variablelist>
-
-</refsection>
-
-
+   </varlistentry>
+  </variablelist>
+ </refsection>
 </refentry>
diff --git a/nixos/doc/manual/man-nixos-enter.xml b/nixos/doc/manual/man-nixos-enter.xml
index a2fbe07961d..7db4b72ee36 100644
--- a/nixos/doc/manual/man-nixos-enter.xml
+++ b/nixos/doc/manual/man-nixos-enter.xml
@@ -1,119 +1,119 @@
 <refentry xmlns="http://docbook.org/ns/docbook"
           xmlns:xlink="http://www.w3.org/1999/xlink"
           xmlns:xi="http://www.w3.org/2001/XInclude">
-
-<refmeta>
-  <refentrytitle><command>nixos-enter</command></refentrytitle>
-  <manvolnum>8</manvolnum>
+ <refmeta>
+  <refentrytitle><command>nixos-enter</command>
+  </refentrytitle><manvolnum>8</manvolnum>
   <refmiscinfo class="source">NixOS</refmiscinfo>
-  <!-- <refmiscinfo class="version"><xi:include href="version.txt" parse="text"/></refmiscinfo> -->
-</refmeta>
-
-<refnamediv>
-  <refname><command>nixos-enter</command></refname>
-  <refpurpose>run a command in a NixOS chroot environment</refpurpose>
-</refnamediv>
-
-<refsynopsisdiv>
-  <cmdsynopsis>
-    <command>nixos-enter</command>
-    <arg>
-      <arg choice='plain'><option>--root</option></arg>
-      <replaceable>root</replaceable>
-    </arg>
-    <arg>
-      <arg choice='plain'><option>--system</option></arg>
-      <replaceable>system</replaceable>
-    </arg>
-    <arg>
-      <arg choice='plain'><option>-c</option></arg>
-      <replaceable>shell-command</replaceable>
-    </arg>
-    <arg>
-      <arg choice='plain'><option>--help</option></arg>
-    </arg>
-    <arg>
-      <arg choice='plain'><option>--</option></arg>
-      <replaceable>arguments</replaceable>
+<!-- <refmiscinfo class="version"><xi:include href="version.txt" parse="text"/></refmiscinfo> -->
+ </refmeta>
+ <refnamediv>
+  <refname><command>nixos-enter</command>
+  </refname><refpurpose>run a command in a NixOS chroot environment</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+  <cmdsynopsis><command>nixos-enter</command>
+   <arg>
+    <arg choice='plain'><option>--root</option>
+    </arg><replaceable>root</replaceable>
+   </arg>
+   <arg>
+    <arg choice='plain'><option>--system</option>
+    </arg><replaceable>system</replaceable>
+   </arg>
+   <arg>
+    <arg choice='plain'><option>-c</option>
+    </arg><replaceable>shell-command</replaceable>
+   </arg>
+   <arg>
+    <arg choice='plain'><option>--help</option>
     </arg>
+   </arg>
+   <arg>
+    <arg choice='plain'><option>--</option>
+    </arg><replaceable>arguments</replaceable>
+   </arg>
   </cmdsynopsis>
-</refsynopsisdiv>
-
-
-<refsection><title>Description</title>
-
-<para>This command runs a command in a NixOS chroot environment, that
-is, in a filesystem hierarchy previously prepared using
-<command>nixos-install</command>.</para>
-
-</refsection>
-
-<refsection><title>Options</title>
-
-<para>This command accepts the following options:</para>
-
-<variablelist>
-
-  <varlistentry>
-    <term><option>--root</option></term>
+ </refsynopsisdiv>
+ <refsection>
+  <title>Description</title>
+  <para>
+   This command runs a command in a NixOS chroot environment, that is, in a
+   filesystem hierarchy previously prepared using
+   <command>nixos-install</command>.
+  </para>
+ </refsection>
+ <refsection>
+  <title>Options</title>
+  <para>
+   This command accepts the following options:
+  </para>
+  <variablelist>
+   <varlistentry>
+    <term><option>--root</option>
+    </term>
+    <listitem>
+     <para>
+      The path to the NixOS system you want to enter. It defaults to
+      <filename>/mnt</filename>.
+     </para>
+    </listitem>
+   </varlistentry>
+   <varlistentry>
+    <term><option>--system</option>
+    </term>
     <listitem>
-      <para>The path to the NixOS system you want to enter. It defaults to <filename>/mnt</filename>.</para>
+     <para>
+      The NixOS system configuration to use. It defaults to
+      <filename>/nix/var/nix/profiles/system</filename>. You can enter a
+      previous NixOS configuration by specifying a path such as
+      <filename>/nix/var/nix/profiles/system-106-link</filename>.
+     </para>
     </listitem>
-  </varlistentry>
-
-  <varlistentry>
-    <term><option>--system</option></term>
+   </varlistentry>
+   <varlistentry>
+    <term><option>--command</option>
+    </term>
+    <term><option>-c</option>
+    </term>
     <listitem>
-      <para>The NixOS system configuration to use. It defaults to
-      <filename>/nix/var/nix/profiles/system</filename>. You can enter
-      a previous NixOS configuration by specifying a path such as
-      <filename>/nix/var/nix/profiles/system-106-link</filename>.</para>
+     <para>
+      The bash command to execute.
+     </para>
     </listitem>
-  </varlistentry>
-
-  <varlistentry>
-    <term><option>--command</option></term>
-    <term><option>-c</option></term>
+   </varlistentry>
+   <varlistentry>
+    <term><option>--</option>
+    </term>
     <listitem>
-      <para>The bash command to execute.</para>
+     <para>
+      Interpret the remaining arguments as the program name and arguments to be
+      invoked. The program is not executed in a shell.
+     </para>
     </listitem>
-  </varlistentry>
-
-  <varlistentry>
-    <term><option>--</option></term>
-
-    <listitem><para>Interpret the remaining arguments as the program
-    name and arguments to be invoked. The program is not executed in a
-    shell.</para></listitem>
-
-  </varlistentry>
-
-</variablelist>
-
-</refsection>
-
-
-<refsection><title>Examples</title>
-
-<para>Start an interactive shell in the NixOS installation in
-<filename>/mnt</filename>:</para>
-
+   </varlistentry>
+  </variablelist>
+ </refsection>
+ <refsection>
+  <title>Examples</title>
+  <para>
+   Start an interactive shell in the NixOS installation in
+   <filename>/mnt</filename>:
+  </para>
 <screen>
 # nixos-enter /mnt
 </screen>
-
-<para>Run a shell command:</para>
-
+  <para>
+   Run a shell command:
+  </para>
 <screen>
 # nixos-enter -c 'ls -l /; cat /proc/mounts'
 </screen>
-
-<para>Run a non-shell command:</para>
-
+  <para>
+   Run a non-shell command:
+  </para>
 <screen>
 # nixos-enter -- cat /proc/mounts
 </screen>
-
-</refsection>
-
+ </refsection>
 </refentry>
diff --git a/nixos/doc/manual/man-nixos-generate-config.xml b/nixos/doc/manual/man-nixos-generate-config.xml
index 993a932ddfb..8bf90f452db 100644
--- a/nixos/doc/manual/man-nixos-generate-config.xml
+++ b/nixos/doc/manual/man-nixos-generate-config.xml
@@ -1,152 +1,149 @@
 <refentry xmlns="http://docbook.org/ns/docbook"
           xmlns:xlink="http://www.w3.org/1999/xlink"
           xmlns:xi="http://www.w3.org/2001/XInclude">
-
-<refmeta>
-  <refentrytitle><command>nixos-generate-config</command></refentrytitle>
-  <manvolnum>8</manvolnum>
+ <refmeta>
+  <refentrytitle><command>nixos-generate-config</command>
+  </refentrytitle><manvolnum>8</manvolnum>
   <refmiscinfo class="source">NixOS</refmiscinfo>
-  <!-- <refmiscinfo class="version"><xi:include href="version.txt" parse="text"/></refmiscinfo> -->
-</refmeta>
-
-<refnamediv>
-  <refname><command>nixos-generate-config</command></refname>
-  <refpurpose>generate NixOS configuration modules</refpurpose>
-</refnamediv>
-
-<refsynopsisdiv>
-  <cmdsynopsis>
-    <command>nixos-generate-config</command>
-    <arg><option>--force</option></arg>
-    <arg>
-      <arg choice='plain'><option>--root</option></arg>
-      <replaceable>root</replaceable>
-    </arg>
-    <arg>
-      <arg choice='plain'><option>--dir</option></arg>
-      <replaceable>dir</replaceable>
-    </arg>
+<!-- <refmiscinfo class="version"><xi:include href="version.txt" parse="text"/></refmiscinfo> -->
+ </refmeta>
+ <refnamediv>
+  <refname><command>nixos-generate-config</command>
+  </refname><refpurpose>generate NixOS configuration modules</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+  <cmdsynopsis><command>nixos-generate-config</command>
+   <arg><option>--force</option>
+   </arg>
+   <arg>
+    <arg choice='plain'><option>--root</option>
+    </arg><replaceable>root</replaceable>
+   </arg>
+   <arg>
+    <arg choice='plain'><option>--dir</option>
+    </arg><replaceable>dir</replaceable>
+   </arg>
   </cmdsynopsis>
-</refsynopsisdiv>
-
-
-<refsection><title>Description</title>
-
-<para>This command writes two NixOS configuration modules:
-
-<variablelist>
-
-  <varlistentry>
-    <term><option>/etc/nixos/hardware-configuration.nix</option></term>
+ </refsynopsisdiv>
+ <refsection>
+  <title>Description</title>
+  <para>
+   This command writes two NixOS configuration modules:
+   <variablelist>
+    <varlistentry>
+     <term><option>/etc/nixos/hardware-configuration.nix</option>
+     </term>
+     <listitem>
+      <para>
+       This module sets NixOS configuration options based on your current
+       hardware configuration. In particular, it sets the
+       <option>fileSystem</option> option to reflect all currently mounted file
+       systems, the <option>swapDevices</option> option to reflect active swap
+       devices, and the <option>boot.initrd.*</option> options to ensure that
+       the initial ramdisk contains any kernel modules necessary for mounting
+       the root file system.
+      </para>
+      <para>
+       If this file already exists, it is overwritten. Thus, you should not
+       modify it manually. Rather, you should include it from your
+       <filename>/etc/nixos/configuration.nix</filename>, and re-run
+       <command>nixos-generate-config</command> to update it whenever your
+       hardware configuration changes.
+      </para>
+     </listitem>
+    </varlistentry>
+    <varlistentry>
+     <term><option>/etc/nixos/configuration.nix</option>
+     </term>
+     <listitem>
+      <para>
+       This is the main NixOS system configuration module. If it already
+       exists, it’s left unchanged. Otherwise,
+       <command>nixos-generate-config</command> will write a template for you
+       to customise.
+      </para>
+     </listitem>
+    </varlistentry>
+   </variablelist>
+  </para>
+ </refsection>
+ <refsection>
+  <title>Options</title>
+  <para>
+   This command accepts the following options:
+  </para>
+  <variablelist>
+   <varlistentry>
+    <term><option>--root</option>
+    </term>
     <listitem>
-      <para>This module sets NixOS configuration options based on your
-      current hardware configuration.  In particular, it sets the
-      <option>fileSystem</option> option to reflect all currently
-      mounted file systems, the <option>swapDevices</option> option to
-      reflect active swap devices, and the
-      <option>boot.initrd.*</option> options to ensure that the
-      initial ramdisk contains any kernel modules necessary for
-      mounting the root file system.</para>
-
-      <para>If this file already exists, it is overwritten.  Thus, you
-      should not modify it manually.  Rather, you should include it
-      from your <filename>/etc/nixos/configuration.nix</filename>, and
-      re-run <command>nixos-generate-config</command> to update it
-      whenever your hardware configuration changes.</para>
+     <para>
+      If this option is given, treat the directory
+      <replaceable>root</replaceable> as the root of the file system. This
+      means that configuration files will be written to
+      <filename><replaceable>root</replaceable>/etc/nixos</filename>, and that
+      any file systems outside of <replaceable>root</replaceable> are ignored
+      for the purpose of generating the <option>fileSystems</option> option.
+     </para>
     </listitem>
-  </varlistentry>
-
-  <varlistentry>
-    <term><option>/etc/nixos/configuration.nix</option></term>
+   </varlistentry>
+   <varlistentry>
+    <term><option>--dir</option>
+    </term>
     <listitem>
-      <para>This is the main NixOS system configuration module.  If it
-      already exists, it’s left unchanged.  Otherwise,
-      <command>nixos-generate-config</command> will write a template
-      for you to customise.</para>
+     <para>
+      If this option is given, write the configuration files to the directory
+      <replaceable>dir</replaceable> instead of
+      <filename>/etc/nixos</filename>.
+     </para>
     </listitem>
-  </varlistentry>
-
-</variablelist>
-
-</para>
-
-</refsection>
-
-
-<refsection><title>Options</title>
-
-<para>This command accepts the following options:</para>
-
-<variablelist>
-
-  <varlistentry>
-    <term><option>--root</option></term>
+   </varlistentry>
+   <varlistentry>
+    <term><option>--force</option>
+    </term>
     <listitem>
-      <para>If this option is given, treat the directory
-      <replaceable>root</replaceable> as the root of the file system.
-      This means that configuration files will be written to
-      <filename><replaceable>root</replaceable>/etc/nixos</filename>,
-      and that any file systems outside of
-      <replaceable>root</replaceable> are ignored for the purpose of
-      generating the <option>fileSystems</option> option.</para>
+     <para>
+      Overwrite <filename>/etc/nixos/configuration.nix</filename> if it already
+      exists.
+     </para>
     </listitem>
-  </varlistentry>
-
-  <varlistentry>
-    <term><option>--dir</option></term>
+   </varlistentry>
+   <varlistentry>
+    <term><option>--no-filesystems</option>
+    </term>
     <listitem>
-      <para>If this option is given, write the configuration files to
-      the directory <replaceable>dir</replaceable> instead of
-      <filename>/etc/nixos</filename>.</para>
+     <para>
+      Omit everything concerning file systems and swap devices from the
+      hardware configuration.
+     </para>
     </listitem>
-  </varlistentry>
-
-  <varlistentry>
-    <term><option>--force</option></term>
+   </varlistentry>
+   <varlistentry>
+    <term><option>--show-hardware-config</option>
+    </term>
     <listitem>
-      <para>Overwrite
-      <filename>/etc/nixos/configuration.nix</filename> if it already
-      exists.</para>
+     <para>
+      Don't generate <filename>configuration.nix</filename> or
+      <filename>hardware-configuration.nix</filename> and print the hardware
+      configuration to stdout only.
+     </para>
     </listitem>
-  </varlistentry>
-
-  <varlistentry>
-    <term><option>--no-filesystems</option></term>
-    <listitem>
-      <para>Omit everything concerning file systems and swap devices
-      from the hardware configuration.</para>
-    </listitem>
-  </varlistentry>
-
-  <varlistentry>
-    <term><option>--show-hardware-config</option></term>
-    <listitem>
-      <para>Don't generate <filename>configuration.nix</filename> or
-      <filename>hardware-configuration.nix</filename> and print the
-      hardware configuration to stdout only.</para>
-    </listitem>
-  </varlistentry>
-
-</variablelist>
-
-</refsection>
-
-
-<refsection><title>Examples</title>
-
-<para>This command is typically used during NixOS installation to
-write initial configuration modules.  For example, if you created and
-mounted the target file systems on <filename>/mnt</filename> and
-<filename>/mnt/boot</filename>, you would run:
-
+   </varlistentry>
+  </variablelist>
+ </refsection>
+ <refsection>
+  <title>Examples</title>
+  <para>
+   This command is typically used during NixOS installation to write initial
+   configuration modules. For example, if you created and mounted the target
+   file systems on <filename>/mnt</filename> and
+   <filename>/mnt/boot</filename>, you would run:
 <screen>
 $ nixos-generate-config --root /mnt
 </screen>
-
-The resulting file
-<filename>/mnt/etc/nixos/hardware-configuration.nix</filename> might
-look like this:
-
+   The resulting file
+   <filename>/mnt/etc/nixos/hardware-configuration.nix</filename> might look
+   like this:
 <programlisting>
 # Do not modify this file!  It was generated by ‘nixos-generate-config’
 # and may be overwritten by future invocations.  Please make changes
@@ -181,28 +178,22 @@ look like this:
   nix.maxJobs = 8;
 }
 </programlisting>
-
-It will also create a basic
-<filename>/mnt/etc/nixos/configuration.nix</filename>, which you
-should edit to customise the logical configuration of your system.
-This file includes the result of the hardware scan as follows:
-
+   It will also create a basic
+   <filename>/mnt/etc/nixos/configuration.nix</filename>, which you should edit
+   to customise the logical configuration of your system. This file includes
+   the result of the hardware scan as follows:
 <programlisting>
   imports = [ ./hardware-configuration.nix ];
 </programlisting>
-</para>
-
-<para>After installation, if your hardware configuration changes, you
-can run:
-
+  </para>
+  <para>
+   After installation, if your hardware configuration changes, you can run:
 <screen>
 $ nixos-generate-config
 </screen>
-
-to update <filename>/etc/nixos/hardware-configuration.nix</filename>.
-Your <filename>/etc/nixos/configuration.nix</filename> will
-<emphasis>not</emphasis> be overwritten.</para>
-
-</refsection>
-
+   to update <filename>/etc/nixos/hardware-configuration.nix</filename>. Your
+   <filename>/etc/nixos/configuration.nix</filename> will
+   <emphasis>not</emphasis> be overwritten.
+  </para>
+ </refsection>
 </refentry>
diff --git a/nixos/doc/manual/man-nixos-install.xml b/nixos/doc/manual/man-nixos-install.xml
index c9887146989..2d45e83a863 100644
--- a/nixos/doc/manual/man-nixos-install.xml
+++ b/nixos/doc/manual/man-nixos-install.xml
@@ -1,212 +1,221 @@
 <refentry xmlns="http://docbook.org/ns/docbook"
           xmlns:xlink="http://www.w3.org/1999/xlink"
           xmlns:xi="http://www.w3.org/2001/XInclude">
-
-<refmeta>
-  <refentrytitle><command>nixos-install</command></refentrytitle>
-  <manvolnum>8</manvolnum>
+ <refmeta>
+  <refentrytitle><command>nixos-install</command>
+  </refentrytitle><manvolnum>8</manvolnum>
   <refmiscinfo class="source">NixOS</refmiscinfo>
-  <!-- <refmiscinfo class="version"><xi:include href="version.txt" parse="text"/></refmiscinfo> -->
-</refmeta>
-
-<refnamediv>
-  <refname><command>nixos-install</command></refname>
-  <refpurpose>install bootloader and NixOS</refpurpose>
-</refnamediv>
-
-<refsynopsisdiv>
-  <cmdsynopsis>
-    <command>nixos-install</command>
-    <arg>
-      <arg choice='plain'><option>-I</option></arg>
-      <replaceable>path</replaceable>
+<!-- <refmiscinfo class="version"><xi:include href="version.txt" parse="text"/></refmiscinfo> -->
+ </refmeta>
+ <refnamediv>
+  <refname><command>nixos-install</command>
+  </refname><refpurpose>install bootloader and NixOS</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+  <cmdsynopsis><command>nixos-install</command>
+   <arg>
+    <arg choice='plain'><option>-I</option>
+    </arg><replaceable>path</replaceable>
+   </arg>
+   <arg>
+    <arg choice='plain'><option>--root</option>
+    </arg><replaceable>root</replaceable>
+   </arg>
+   <arg>
+    <arg choice='plain'><option>--system</option>
+    </arg><replaceable>path</replaceable>
+   </arg>
+   <arg>
+    <arg choice='plain'><option>--no-channel-copy</option>
     </arg>
-    <arg>
-      <arg choice='plain'><option>--root</option></arg>
-      <replaceable>root</replaceable>
+   </arg>
+   <arg>
+    <arg choice='plain'><option>--no-root-passwd</option>
     </arg>
-    <arg>
-      <arg choice='plain'><option>--system</option></arg>
-      <replaceable>path</replaceable>
+   </arg>
+   <arg>
+    <arg choice='plain'><option>--no-bootloader</option>
     </arg>
-    <arg>
-      <arg choice='plain'><option>--no-channel-copy</option></arg>
+   </arg>
+   <arg><group choice='req'>
+    <arg choice='plain'><option>--max-jobs</option>
     </arg>
-    <arg>
-      <arg choice='plain'><option>--no-root-passwd</option></arg>
+    <arg choice='plain'><option>-j</option>
+    </arg></group><replaceable>number</replaceable>
+   </arg>
+   <arg><option>--cores</option><replaceable>number</replaceable>
+   </arg>
+   <arg><option>--option</option><replaceable>name</replaceable><replaceable>value</replaceable>
+   </arg>
+   <arg>
+    <arg choice='plain'><option>--show-trace</option>
     </arg>
-    <arg>
-      <arg choice='plain'><option>--no-bootloader</option></arg>
-    </arg>
-    <arg>
-      <group choice='req'>
-        <arg choice='plain'><option>--max-jobs</option></arg>
-        <arg choice='plain'><option>-j</option></arg>
-      </group>
-      <replaceable>number</replaceable>
-    </arg>
-    <arg>
-      <option>--cores</option>
-      <replaceable>number</replaceable>
-    </arg>
-    <arg>
-      <option>--option</option>
-      <replaceable>name</replaceable>
-      <replaceable>value</replaceable>
-    </arg>
-    <arg>
-      <arg choice='plain'><option>--show-trace</option></arg>
-    </arg>
-    <arg>
-      <arg choice='plain'><option>--chroot</option></arg>
-    </arg>
-    <arg>
-      <arg choice='plain'><option>--help</option></arg>
+   </arg>
+   <arg>
+    <arg choice='plain'><option>--help</option>
     </arg>
+   </arg>
   </cmdsynopsis>
-</refsynopsisdiv>
-
-
-<refsection><title>Description</title>
-
-<para>This command installs NixOS in the file system mounted on
-<filename>/mnt</filename>, based on the NixOS configuration specified
-in <filename>/mnt/etc/nixos/configuration.nix</filename>.  It performs
-the following steps:
-
-<itemizedlist>
-
-  <listitem><para>It copies Nix and its dependencies to
-  <filename>/mnt/nix/store</filename>.</para></listitem>
-
-  <listitem><para>It runs Nix in <filename>/mnt</filename> to build
-  the NixOS configuration specified in
-  <filename>/mnt/etc/nixos/configuration.nix</filename>.</para></listitem>
-
-  <listitem><para>It installs the GRUB boot loader on the device
-  specified in the option <option>boot.loader.grub.device</option>
-  (unless <option>--no-bootloader</option> is specified),
-  and generates a GRUB configuration file that boots into the NixOS
-  configuration just installed.</para></listitem>
-
-  <listitem><para>It prompts you for a password for the root account
-  (unless <option>--no-root-passwd</option> is specified).</para></listitem>
-
-</itemizedlist>
-
-</para>
-
-<para>This command is idempotent: if it is interrupted or fails due to
-a temporary problem (e.g. a network issue), you can safely re-run
-it.</para>
-
-</refsection>
-
-<refsection><title>Options</title>
-
-<para>This command accepts the following options:</para>
-
-<variablelist>
-
-  <varlistentry>
-    <term><option>--root</option></term>
+ </refsynopsisdiv>
+ <refsection>
+  <title>Description</title>
+  <para>
+   This command installs NixOS in the file system mounted on
+   <filename>/mnt</filename>, based on the NixOS configuration specified in
+   <filename>/mnt/etc/nixos/configuration.nix</filename>. It performs the
+   following steps:
+   <itemizedlist>
+    <listitem>
+     <para>
+      It copies Nix and its dependencies to
+      <filename>/mnt/nix/store</filename>.
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      It runs Nix in <filename>/mnt</filename> to build the NixOS configuration
+      specified in <filename>/mnt/etc/nixos/configuration.nix</filename>.
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      It installs the GRUB boot loader on the device specified in the option
+      <option>boot.loader.grub.device</option> (unless
+      <option>--no-bootloader</option> is specified), and generates a GRUB
+      configuration file that boots into the NixOS configuration just
+      installed.
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      It prompts you for a password for the root account (unless
+      <option>--no-root-passwd</option> is specified).
+     </para>
+    </listitem>
+   </itemizedlist>
+  </para>
+  <para>
+   This command is idempotent: if it is interrupted or fails due to a temporary
+   problem (e.g. a network issue), you can safely re-run it.
+  </para>
+ </refsection>
+ <refsection>
+  <title>Options</title>
+  <para>
+   This command accepts the following options:
+  </para>
+  <variablelist>
+   <varlistentry>
+    <term><option>--root</option>
+    </term>
+    <listitem>
+     <para>
+      Defaults to <filename>/mnt</filename>. If this option is given, treat the
+      directory <replaceable>root</replaceable> as the root of the NixOS
+      installation.
+     </para>
+    </listitem>
+   </varlistentry>
+   <varlistentry>
+    <term><option>--system</option>
+    </term>
+    <listitem>
+     <para>
+      If this option is provided, <command>nixos-install</command> will install
+      the specified closure rather than attempt to build one from
+      <filename>/mnt/etc/nixos/configuration.nix</filename>.
+     </para>
+     <para>
+      The closure must be an appropriately configured NixOS system, with boot
+      loader and partition configuration that fits the target host. Such a
+      closure is typically obtained with a command such as <command>nix-build
+      -I nixos-config=./configuration.nix '&lt;nixos&gt;' -A system
+      --no-out-link</command>
+     </para>
+    </listitem>
+   </varlistentry>
+   <varlistentry>
+    <term><option>-I</option>
+    </term>
     <listitem>
-      <para>Defaults to <filename>/mnt</filename>. If this option is given, treat the directory
-      <replaceable>root</replaceable> as the root of the NixOS installation.
-      </para>
+     <para>
+      Add a path to the Nix expression search path. This option may be given
+      multiple times. See the NIX_PATH environment variable for information on
+      the semantics of the Nix search path. Paths added through
+      <replaceable>-I</replaceable> take precedence over NIX_PATH.
+     </para>
     </listitem>
-  </varlistentry>
-
-  <varlistentry>
-    <term><option>--system</option></term>
+   </varlistentry>
+   <varlistentry>
+    <term><option>--max-jobs</option>
+    </term>
+    <term><option>-j</option>
+    </term>
     <listitem>
-      <para>If this option is provided, <command>nixos-install</command> will install the specified closure
-      rather than attempt to build one from <filename>/mnt/etc/nixos/configuration.nix</filename>.</para>
-
-      <para>The closure must be an appropriately configured NixOS system, with boot loader and partition
-      configuration that fits the target host. Such a closure is typically obtained with a command such as
-      <command>nix-build -I nixos-config=./configuration.nix '&lt;nixos&gt;' -A system --no-out-link</command>
-      </para>
+     <para>
+      Sets the maximum number of build jobs that Nix will perform in parallel
+      to the specified number. The default is <literal>1</literal>. A higher
+      value is useful on SMP systems or to exploit I/O latency.
+     </para>
     </listitem>
-  </varlistentry>
-
-  <varlistentry>
-    <term><option>-I</option></term>
+   </varlistentry>
+   <varlistentry>
+    <term><option>--cores</option>
+    </term>
     <listitem>
-      <para>Add a path to the Nix expression search path. This option may be given multiple times.
-        See the NIX_PATH environment variable for information on the semantics of the Nix search path.
-        Paths added through <replaceable>-I</replaceable> take precedence over NIX_PATH.</para>
+     <para>
+      Sets the value of the <envar>NIX_BUILD_CORES</envar> environment variable
+      in the invocation of builders. Builders can use this variable at their
+      discretion to control the maximum amount of parallelism. For instance, in
+      Nixpkgs, if the derivation attribute
+      <varname>enableParallelBuilding</varname> is set to
+      <literal>true</literal>, the builder passes the
+      <option>-j<replaceable>N</replaceable></option> flag to GNU Make. The
+      value <literal>0</literal> means that the builder should use all
+      available CPU cores in the system.
+     </para>
     </listitem>
-  </varlistentry>
-
-  <varlistentry><term><option>--max-jobs</option></term>
-    <term><option>-j</option></term>
-  
-    <listitem><para>Sets the maximum number of build jobs that Nix will
-    perform in parallel to the specified number. The default is <literal>1</literal>.
-    A higher value is useful on SMP systems or to exploit I/O latency.</para></listitem>
-  
-  </varlistentry>
-  
-  
-  <varlistentry><term><option>--cores</option></term>
-  
-    <listitem><para>Sets the value of the <envar>NIX_BUILD_CORES</envar>
-    environment variable in the invocation of builders.  Builders can
-    use this variable at their discretion to control the maximum amount
-    of parallelism.  For instance, in Nixpkgs, if the derivation
-    attribute <varname>enableParallelBuilding</varname> is set to
-    <literal>true</literal>, the builder passes the
-    <option>-j<replaceable>N</replaceable></option> flag to GNU Make.
-    The value <literal>0</literal> means that the builder should use all
-    available CPU cores in the system.</para></listitem>
-  
-  </varlistentry>
-
-  <varlistentry><term><option>--option</option> <replaceable>name</replaceable> <replaceable>value</replaceable></term>
-
-    <listitem><para>Set the Nix configuration option
-    <replaceable>name</replaceable> to <replaceable>value</replaceable>.</para></listitem>
-
-  </varlistentry>
-
-  <varlistentry>
-    <term><option>--show-trace</option></term>
+   </varlistentry>
+   <varlistentry>
+    <term><option>--option</option><replaceable>name</replaceable><replaceable>value</replaceable>
+    </term>
     <listitem>
-      <para>Causes Nix to print out a stack trace in case of Nix expression evaluation errors.</para>
+     <para>
+      Set the Nix configuration option <replaceable>name</replaceable> to
+      <replaceable>value</replaceable>.
+     </para>
     </listitem>
-  </varlistentry>
-
-  <varlistentry>
-    <term><option>--chroot</option></term>
+   </varlistentry>
+   <varlistentry>
+    <term><option>--show-trace</option>
+    </term>
     <listitem>
-      <para>Chroot into given installation. Any additional arguments passed are going to be executed inside the chroot.
-      </para>
+     <para>
+      Causes Nix to print out a stack trace in case of Nix expression
+      evaluation errors.
+     </para>
     </listitem>
-  </varlistentry>
-
-  <varlistentry>
-    <term><option>--help</option></term>
+   </varlistentry>
+   <varlistentry>
+    <term><option>--help</option>
+    </term>
     <listitem>
-      <para>Synonym for <command>man nixos-install</command>.</para>
+     <para>
+      Synonym for <command>man nixos-install</command>.
+     </para>
     </listitem>
-  </varlistentry>
-
-</variablelist>
-
-</refsection>
-
-
-<refsection><title>Examples</title>
-
-<para>A typical NixOS installation is done by creating and mounting a
-file system on <filename>/mnt</filename>, generating a NixOS
-configuration in
-<filename>/mnt/etc/nixos/configuration.nix</filename>, and running
-<command>nixos-install</command>.  For instance, if we want to install
-NixOS on an <literal>ext4</literal> file system created in
-<filename>/dev/sda1</filename>:
-
+   </varlistentry>
+  </variablelist>
+ </refsection>
+ <refsection>
+  <title>Examples</title>
+  <para>
+   A typical NixOS installation is done by creating and mounting a file system
+   on <filename>/mnt</filename>, generating a NixOS configuration in
+   <filename>/mnt/etc/nixos/configuration.nix</filename>, and running
+   <command>nixos-install</command>. For instance, if we want to install NixOS
+   on an <literal>ext4</literal> file system created in
+   <filename>/dev/sda1</filename>:
 <screen>
 $ mkfs.ext4 /dev/sda1
 $ mount /dev/sda1 /mnt
@@ -215,9 +224,6 @@ $ # edit /mnt/etc/nixos/configuration.nix
 $ nixos-install
 $ reboot
 </screen>
-
-</para>
-
-</refsection>
-
+  </para>
+ </refsection>
 </refentry>
diff --git a/nixos/doc/manual/man-nixos-option.xml b/nixos/doc/manual/man-nixos-option.xml
index d2b2d5b7965..c22c3811ded 100644
--- a/nixos/doc/manual/man-nixos-option.xml
+++ b/nixos/doc/manual/man-nixos-option.xml
@@ -1,103 +1,96 @@
 <refentry xmlns="http://docbook.org/ns/docbook"
           xmlns:xlink="http://www.w3.org/1999/xlink"
           xmlns:xi="http://www.w3.org/2001/XInclude">
-
-<refmeta>
-  <refentrytitle><command>nixos-option</command></refentrytitle>
-  <manvolnum>8</manvolnum>
+ <refmeta>
+  <refentrytitle><command>nixos-option</command>
+  </refentrytitle><manvolnum>8</manvolnum>
   <refmiscinfo class="source">NixOS</refmiscinfo>
-  <!-- <refmiscinfo class="version"><xi:include href="version.txt" parse="text"/></refmiscinfo> -->
-</refmeta>
-
-<refnamediv>
-  <refname><command>nixos-option</command></refname>
-  <refpurpose>inspect a NixOS configuration</refpurpose>
-</refnamediv>
-
-<refsynopsisdiv>
-  <cmdsynopsis>
-    <command>nixos-option</command>
-    <arg>
-      <option>-I</option>
-      <replaceable>path</replaceable>
-    </arg>
-    <arg><option>--verbose</option></arg>
-    <arg><option>--xml</option></arg>
-    <arg choice="plain"><replaceable>option.name</replaceable></arg>
+<!-- <refmiscinfo class="version"><xi:include href="version.txt" parse="text"/></refmiscinfo> -->
+ </refmeta>
+ <refnamediv>
+  <refname><command>nixos-option</command>
+  </refname><refpurpose>inspect a NixOS configuration</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+  <cmdsynopsis><command>nixos-option</command>
+   <arg><option>-I</option><replaceable>path</replaceable>
+   </arg>
+   <arg><option>--verbose</option>
+   </arg>
+   <arg><option>--xml</option>
+   </arg>
+   <arg choice="plain"><replaceable>option.name</replaceable>
+   </arg>
   </cmdsynopsis>
-</refsynopsisdiv>
-
-<refsection><title>Description</title>
-
-<para>This command evaluates the configuration specified in
-<filename>/etc/nixos/configuration.nix</filename> and returns the properties
-of the option name given as argument.</para>
-
-<para>When the option name is not an option, the command prints the list of
-attributes contained in the attribute set.</para>
-
-</refsection>
-
-<refsection><title>Options</title>
-
-<para>This command accepts the following options:</para>
-
-<variablelist>
-
-  <varlistentry>
-    <term><option>-I</option> <replaceable>path</replaceable></term>
+ </refsynopsisdiv>
+ <refsection>
+  <title>Description</title>
+  <para>
+   This command evaluates the configuration specified in
+   <filename>/etc/nixos/configuration.nix</filename> and returns the properties
+   of the option name given as argument.
+  </para>
+  <para>
+   When the option name is not an option, the command prints the list of
+   attributes contained in the attribute set.
+  </para>
+ </refsection>
+ <refsection>
+  <title>Options</title>
+  <para>
+   This command accepts the following options:
+  </para>
+  <variablelist>
+   <varlistentry>
+    <term><option>-I</option><replaceable>path</replaceable>
+    </term>
     <listitem>
-      <para>
-        This option is passed to the underlying
-        <command>nix-instantiate</command> invocation.
-      </para>
+     <para>
+      This option is passed to the underlying
+      <command>nix-instantiate</command> invocation.
+     </para>
     </listitem>
-  </varlistentry>
-
-  <varlistentry>
-    <term><option>--verbose</option></term>
+   </varlistentry>
+   <varlistentry>
+    <term><option>--verbose</option>
+    </term>
     <listitem>
-      <para>
-        This option enables verbose mode, which currently is just
-        the Bash <command>set</command> <option>-x</option> debug mode.
-      </para>
+     <para>
+      This option enables verbose mode, which currently is just the Bash
+      <command>set</command> <option>-x</option> debug mode.
+     </para>
     </listitem>
-  </varlistentry>
-
-  <varlistentry>
-    <term><option>--xml</option></term>
+   </varlistentry>
+   <varlistentry>
+    <term><option>--xml</option>
+    </term>
     <listitem>
-      <para>
-        This option causes the output to be rendered as XML.
-      </para>
+     <para>
+      This option causes the output to be rendered as XML.
+     </para>
     </listitem>
-  </varlistentry>
-
-</variablelist>
-
-</refsection>
-
-<refsection><title>Environment</title>
-
-<variablelist>
-
-  <varlistentry>
-    <term><envar>NIXOS_CONFIG</envar></term>
+   </varlistentry>
+  </variablelist>
+ </refsection>
+ <refsection>
+  <title>Environment</title>
+  <variablelist>
+   <varlistentry>
+    <term><envar>NIXOS_CONFIG</envar>
+    </term>
     <listitem>
-      <para>Path to the main NixOS configuration module.  Defaults to
-      <filename>/etc/nixos/configuration.nix</filename>.</para>
+     <para>
+      Path to the main NixOS configuration module. Defaults to
+      <filename>/etc/nixos/configuration.nix</filename>.
+     </para>
     </listitem>
-  </varlistentry>
-
-</variablelist>
-
-</refsection>
-
-
-<refsection><title>Examples</title>
-
-<para>Investigate option values:
-
+   </varlistentry>
+  </variablelist>
+ </refsection>
+ <refsection>
+  <title>Examples</title>
+  <para>
+   Investigate option values:
 <screen>$ nixos-option boot.loader
 This attribute set contains:
 generationsDir
@@ -119,16 +112,14 @@ Declared by:
 
 Defined by:
   "/nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs/nixos/modules/system/boot/loader/grub/grub.nix"
-</screen></para>
-
-</refsection>
-
-<refsection><title>Bugs</title>
-
-<para>The author listed in the following section is wrong.  If there is any
-  other bug, please report to Nicolas Pierron.</para>
-
-</refsection>
-
-
+</screen>
+  </para>
+ </refsection>
+ <refsection>
+  <title>Bugs</title>
+  <para>
+   The author listed in the following section is wrong. If there is any other
+   bug, please report to Nicolas Pierron.
+  </para>
+ </refsection>
 </refentry>
diff --git a/nixos/doc/manual/man-nixos-rebuild.xml b/nixos/doc/manual/man-nixos-rebuild.xml
index f74788353e6..e1a2c7108d1 100644
--- a/nixos/doc/manual/man-nixos-rebuild.xml
+++ b/nixos/doc/manual/man-nixos-rebuild.xml
@@ -1,399 +1,415 @@
 <refentry xmlns="http://docbook.org/ns/docbook"
           xmlns:xlink="http://www.w3.org/1999/xlink"
           xmlns:xi="http://www.w3.org/2001/XInclude">
-
-<refmeta>
-  <refentrytitle><command>nixos-rebuild</command></refentrytitle>
-  <manvolnum>8</manvolnum>
+ <refmeta>
+  <refentrytitle><command>nixos-rebuild</command>
+  </refentrytitle><manvolnum>8</manvolnum>
   <refmiscinfo class="source">NixOS</refmiscinfo>
-  <!-- <refmiscinfo class="version"><xi:include href="version.txt" parse="text"/></refmiscinfo> -->
-</refmeta>
-
-<refnamediv>
-  <refname><command>nixos-rebuild</command></refname>
-  <refpurpose>reconfigure a NixOS machine</refpurpose>
-</refnamediv>
-
-<refsynopsisdiv>
-  <cmdsynopsis>
-    <command>nixos-rebuild</command>
-    <group choice='req'>
-      <arg choice='plain'><option>switch</option></arg>
-      <arg choice='plain'><option>boot</option></arg>
-      <arg choice='plain'><option>test</option></arg>
-      <arg choice='plain'><option>build</option></arg>
-      <arg choice='plain'><option>dry-build</option></arg>
-      <arg choice='plain'><option>dry-activate</option></arg>
-      <arg choice='plain'><option>build-vm</option></arg>
-      <arg choice='plain'><option>build-vm-with-bootloader</option></arg>
-    </group>
-    <sbr />
-    <arg><option>--upgrade</option></arg>
-    <arg><option>--install-bootloader</option></arg>
-    <arg><option>--no-build-nix</option></arg>
-    <arg><option>--fast</option></arg>
-    <arg><option>--rollback</option></arg>
-    <sbr />
-    <arg>
-      <group choice='req'>
-        <arg choice='plain'><option>--profile-name</option></arg>
-        <arg choice='plain'><option>-p</option></arg>
-      </group>
-      <replaceable>name</replaceable>
+<!-- <refmiscinfo class="version"><xi:include href="version.txt" parse="text"/></refmiscinfo> -->
+ </refmeta>
+ <refnamediv>
+  <refname><command>nixos-rebuild</command>
+  </refname><refpurpose>reconfigure a NixOS machine</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+  <cmdsynopsis><command>nixos-rebuild</command><group choice='req'>
+   <arg choice='plain'><option>switch</option>
+   </arg>
+   <arg choice='plain'><option>boot</option>
+   </arg>
+   <arg choice='plain'><option>test</option>
+   </arg>
+   <arg choice='plain'><option>build</option>
+   </arg>
+   <arg choice='plain'><option>dry-build</option>
+   </arg>
+   <arg choice='plain'><option>dry-activate</option>
+   </arg>
+   <arg choice='plain'><option>build-vm</option>
+   </arg>
+   <arg choice='plain'><option>build-vm-with-bootloader</option>
+   </arg></group>
+   <sbr />
+   <arg><option>--upgrade</option>
+   </arg>
+   <arg><option>--install-bootloader</option>
+   </arg>
+   <arg><option>--no-build-nix</option>
+   </arg>
+   <arg><option>--fast</option>
+   </arg>
+   <arg><option>--rollback</option>
+   </arg>
+   <sbr />
+   <arg><group choice='req'>
+    <arg choice='plain'><option>--profile-name</option>
     </arg>
-    <sbr />
-    <arg><option>--show-trace</option></arg>
+    <arg choice='plain'><option>-p</option>
+    </arg></group><replaceable>name</replaceable>
+   </arg>
+   <sbr />
+   <arg><option>--show-trace</option>
+   </arg>
   </cmdsynopsis>
-</refsynopsisdiv>
-
-
-<refsection><title>Description</title>
-
-<para>This command updates the system so that it corresponds to the
-configuration specified in
-<filename>/etc/nixos/configuration.nix</filename>.  Thus, every time
-you modify <filename>/etc/nixos/configuration.nix</filename> or any
-NixOS module, you must run <command>nixos-rebuild</command> to make
-the changes take effect.  It builds the new system in
-<filename>/nix/store</filename>, runs its activation script, and stop
-and (re)starts any system services if needed.</para>
-
-<para>This command has one required argument, which specifies the
-desired operation.  It must be one of the following:
-
-<variablelist>
-
-  <varlistentry>
-    <term><option>switch</option></term>
-    <listitem>
-      <para>Build and activate the new configuration, and make it the
-      boot default.  That is, the configuration is added to the GRUB
-      boot menu as the default menu entry, so that subsequent reboots
-      will boot the system into the new configuration.  Previous
-      configurations activated with <command>nixos-rebuild
-      switch</command> or <command>nixos-rebuild boot</command> remain
-      available in the GRUB menu.</para>
-    </listitem>
-  </varlistentry>
-
-  <varlistentry>
-    <term><option>boot</option></term>
-    <listitem>
-      <para>Build the new configuration and make it the boot default
-      (as with <command>nixos-rebuild switch</command>), but do not
-      activate it.  That is, the system continues to run the previous
-      configuration until the next reboot.</para>
-    </listitem>
-  </varlistentry>
-
-  <varlistentry>
-    <term><option>test</option></term>
-    <listitem>
-      <para>Build and activate the new configuration, but do not add
-      it to the GRUB boot menu.  Thus, if you reboot the system (or if
-      it crashes), you will automatically revert to the default
-      configuration (i.e. the configuration resulting from the last
-      call to <command>nixos-rebuild switch</command> or
-      <command>nixos-rebuild boot</command>).</para>
-    </listitem>
-  </varlistentry>
-
-  <varlistentry>
-    <term><option>build</option></term>
-    <listitem>
-      <para>Build the new configuration, but neither activate it nor
-      add it to the GRUB boot menu.  It leaves a symlink named
-      <filename>result</filename> in the current directory, which
-      points to the output of the top-level “system” derivation.  This
-      is essentially the same as doing
+ </refsynopsisdiv>
+ <refsection>
+  <title>Description</title>
+  <para>
+   This command updates the system so that it corresponds to the configuration
+   specified in <filename>/etc/nixos/configuration.nix</filename>. Thus, every
+   time you modify <filename>/etc/nixos/configuration.nix</filename> or any
+   NixOS module, you must run <command>nixos-rebuild</command> to make the
+   changes take effect. It builds the new system in
+   <filename>/nix/store</filename>, runs its activation script, and stop and
+   (re)starts any system services if needed.
+  </para>
+  <para>
+   This command has one required argument, which specifies the desired
+   operation. It must be one of the following:
+   <variablelist>
+    <varlistentry>
+     <term><option>switch</option>
+     </term>
+     <listitem>
+      <para>
+       Build and activate the new configuration, and make it the boot default.
+       That is, the configuration is added to the GRUB boot menu as the default
+       menu entry, so that subsequent reboots will boot the system into the new
+       configuration. Previous configurations activated with
+       <command>nixos-rebuild switch</command> or <command>nixos-rebuild
+       boot</command> remain available in the GRUB menu.
+      </para>
+     </listitem>
+    </varlistentry>
+    <varlistentry>
+     <term><option>boot</option>
+     </term>
+     <listitem>
+      <para>
+       Build the new configuration and make it the boot default (as with
+       <command>nixos-rebuild switch</command>), but do not activate it. That
+       is, the system continues to run the previous configuration until the
+       next reboot.
+      </para>
+     </listitem>
+    </varlistentry>
+    <varlistentry>
+     <term><option>test</option>
+     </term>
+     <listitem>
+      <para>
+       Build and activate the new configuration, but do not add it to the GRUB
+       boot menu. Thus, if you reboot the system (or if it crashes), you will
+       automatically revert to the default configuration (i.e. the
+       configuration resulting from the last call to <command>nixos-rebuild
+       switch</command> or <command>nixos-rebuild boot</command>).
+      </para>
+     </listitem>
+    </varlistentry>
+    <varlistentry>
+     <term><option>build</option>
+     </term>
+     <listitem>
+      <para>
+       Build the new configuration, but neither activate it nor add it to the
+       GRUB boot menu. It leaves a symlink named <filename>result</filename> in
+       the current directory, which points to the output of the top-level
+       “system” derivation. This is essentially the same as doing
 <screen>
 $ nix-build /path/to/nixpkgs/nixos -A system
 </screen>
-      Note that you do not need to be <literal>root</literal> to run
-      <command>nixos-rebuild build</command>.</para>
-    </listitem>
-  </varlistentry>
-
-  <varlistentry>
-    <term><option>dry-build</option></term>
-    <listitem>
-      <para>Show what store paths would be built or downloaded by any
-      of the operations above, but otherwise do nothing.</para>
-    </listitem>
-  </varlistentry>
-
-  <varlistentry>
-    <term><option>dry-activate</option></term>
-    <listitem>
-      <para>Build the new configuration, but instead of activating it,
-      show what changes would be performed by the activation (i.e. by
-      <command>nixos-rebuild test</command>). For
-      instance, this command will print which systemd units would be
-      restarted. The list of changes is not guaranteed to be
-      complete.</para>
-    </listitem>
-  </varlistentry>
-
-  <varlistentry>
-    <term><option>build-vm</option></term>
-    <listitem>
-      <para>Build a script that starts a NixOS virtual machine with
-      the desired configuration.  It leaves a symlink
-      <filename>result</filename> in the current directory that points
-      (under
-      <filename>result/bin/run-<replaceable>hostname</replaceable>-vm</filename>)
-      at the script that starts the VM.  Thus, to test a NixOS
-      configuration in a virtual machine, you should do the following:
+       Note that you do not need to be <literal>root</literal> to run
+       <command>nixos-rebuild build</command>.
+      </para>
+     </listitem>
+    </varlistentry>
+    <varlistentry>
+     <term><option>dry-build</option>
+     </term>
+     <listitem>
+      <para>
+       Show what store paths would be built or downloaded by any of the
+       operations above, but otherwise do nothing.
+      </para>
+     </listitem>
+    </varlistentry>
+    <varlistentry>
+     <term><option>dry-activate</option>
+     </term>
+     <listitem>
+      <para>
+       Build the new configuration, but instead of activating it, show what
+       changes would be performed by the activation (i.e. by
+       <command>nixos-rebuild test</command>). For instance, this command will
+       print which systemd units would be restarted. The list of changes is not
+       guaranteed to be complete.
+      </para>
+     </listitem>
+    </varlistentry>
+    <varlistentry>
+     <term><option>build-vm</option>
+     </term>
+     <listitem>
+      <para>
+       Build a script that starts a NixOS virtual machine with the desired
+       configuration. It leaves a symlink <filename>result</filename> in the
+       current directory that points (under
+       <filename>result/bin/run-<replaceable>hostname</replaceable>-vm</filename>)
+       at the script that starts the VM. Thus, to test a NixOS configuration in
+       a virtual machine, you should do the following:
 <screen>
 $ nixos-rebuild build-vm
 $ ./result/bin/run-*-vm
-</screen></para>
-
-      <para>The VM is implemented using the <literal>qemu</literal>
-      package.  For best performance, you should load the
-      <literal>kvm-intel</literal> or <literal>kvm-amd</literal>
-      kernel modules to get hardware virtualisation.</para>
-
-      <para>The VM mounts the Nix store of the host through the 9P
-      file system.  The host Nix store is read-only, so Nix commands
-      that modify the Nix store will not work in the VM.  This
-      includes commands such as <command>nixos-rebuild</command>; to
-      change the VM’s configuration, you must halt the VM and re-run
-      the commands above.
+</screen>
       </para>
-
-      <para>The VM has its own <literal>ext3</literal> root file
-      system, which is automatically created when the VM is first
-      started, and is persistent across reboots of the VM.  It is
-      stored in
-      <literal>./<replaceable>hostname</replaceable>.qcow2</literal>.
-      <!-- The entire file system hierarchy of the host is available in
-      the VM under <filename>/hostfs</filename>.--></para>
-    </listitem>
-  </varlistentry>
-
-  <varlistentry>
-    <term><option>build-vm-with-bootloader</option></term>
-    <listitem>
-      <para>Like <option>build-vm</option>, but boots using the
-      regular boot loader of your configuration (e.g., GRUB 1 or 2),
-      rather than booting directly into the kernel and initial ramdisk
-      of the system.  This allows you to test whether the boot loader
-      works correctly.  However, it does not guarantee that your NixOS
-      configuration will boot successfully on the host hardware (i.e.,
-      after running <command>nixos-rebuild switch</command>), because
-      the hardware and boot loader configuration in the VM are
-      different.  The boot loader is installed on an automatically
-      generated virtual disk containing a <filename>/boot</filename>
-      partition, which is mounted read-only in the VM.</para>
-    </listitem>
-  </varlistentry>
-
-</variablelist>
-
-</para>
-
-
-</refsection>
-
-
-<refsection><title>Options</title>
-
-<para>This command accepts the following options:</para>
-
-<variablelist>
-
-  <varlistentry>
-    <term><option>--upgrade</option></term>
+      <para>
+       The VM is implemented using the <literal>qemu</literal> package. For
+       best performance, you should load the <literal>kvm-intel</literal> or
+       <literal>kvm-amd</literal> kernel modules to get hardware
+       virtualisation.
+      </para>
+      <para>
+       The VM mounts the Nix store of the host through the 9P file system. The
+       host Nix store is read-only, so Nix commands that modify the Nix store
+       will not work in the VM. This includes commands such as
+       <command>nixos-rebuild</command>; to change the VM’s configuration,
+       you must halt the VM and re-run the commands above.
+      </para>
+      <para>
+       The VM has its own <literal>ext3</literal> root file system, which is
+       automatically created when the VM is first started, and is persistent
+       across reboots of the VM. It is stored in
+       <literal>./<replaceable>hostname</replaceable>.qcow2</literal>.
+<!-- The entire file system hierarchy of the host is available in
+      the VM under <filename>/hostfs</filename>.-->
+      </para>
+     </listitem>
+    </varlistentry>
+    <varlistentry>
+     <term><option>build-vm-with-bootloader</option>
+     </term>
+     <listitem>
+      <para>
+       Like <option>build-vm</option>, but boots using the regular boot loader
+       of your configuration (e.g., GRUB 1 or 2), rather than booting directly
+       into the kernel and initial ramdisk of the system. This allows you to
+       test whether the boot loader works correctly. However, it does not
+       guarantee that your NixOS configuration will boot successfully on the
+       host hardware (i.e., after running <command>nixos-rebuild
+       switch</command>), because the hardware and boot loader configuration in
+       the VM are different. The boot loader is installed on an automatically
+       generated virtual disk containing a <filename>/boot</filename>
+       partition, which is mounted read-only in the VM.
+      </para>
+     </listitem>
+    </varlistentry>
+   </variablelist>
+  </para>
+ </refsection>
+ <refsection>
+  <title>Options</title>
+  <para>
+   This command accepts the following options:
+  </para>
+  <variablelist>
+   <varlistentry>
+    <term><option>--upgrade</option>
+    </term>
     <listitem>
-      <para>Fetch the latest version of NixOS from the NixOS
-      channel.</para>
+     <para>
+      Fetch the latest version of NixOS from the NixOS channel.
+     </para>
     </listitem>
-  </varlistentry>
-
-  <varlistentry>
-    <term><option>--install-bootloader</option></term>
+   </varlistentry>
+   <varlistentry>
+    <term><option>--install-bootloader</option>
+    </term>
     <listitem>
-      <para>Causes the boot loader to be (re)installed on the
-      device specified by the relevant configuration options.
-      </para>
+     <para>
+      Causes the boot loader to be (re)installed on the device specified by the
+      relevant configuration options.
+     </para>
     </listitem>
-  </varlistentry>
-
-  <varlistentry>
-    <term><option>--no-build-nix</option></term>
+   </varlistentry>
+   <varlistentry>
+    <term><option>--no-build-nix</option>
+    </term>
     <listitem>
-      <para>Normally, <command>nixos-rebuild</command> first builds
-      the <varname>nixUnstable</varname> attribute in Nixpkgs, and
-      uses the resulting instance of the Nix package manager to build
-      the new system configuration.  This is necessary if the NixOS
-      modules use features not provided by the currently installed
-      version of Nix.  This option disables building a new Nix.</para>
+     <para>
+      Normally, <command>nixos-rebuild</command> first builds the
+      <varname>nixUnstable</varname> attribute in Nixpkgs, and uses the
+      resulting instance of the Nix package manager to build the new system
+      configuration. This is necessary if the NixOS modules use features not
+      provided by the currently installed version of Nix. This option disables
+      building a new Nix.
+     </para>
     </listitem>
-  </varlistentry>
-
-  <varlistentry>
-    <term><option>--fast</option></term>
+   </varlistentry>
+   <varlistentry>
+    <term><option>--fast</option>
+    </term>
     <listitem>
-      <para>Equivalent to <option>--no-build-nix</option>
-      <option>--show-trace</option>.  This option is useful if you
-      call <command>nixos-rebuild</command> frequently (e.g. if you’re
-      hacking on a NixOS module).</para>
+     <para>
+      Equivalent to <option>--no-build-nix</option>
+      <option>--show-trace</option>. This option is useful if you call
+      <command>nixos-rebuild</command> frequently (e.g. if you’re hacking on
+      a NixOS module).
+     </para>
     </listitem>
-  </varlistentry>
-
-  <varlistentry>
-    <term><option>--rollback</option></term>
+   </varlistentry>
+   <varlistentry>
+    <term><option>--rollback</option>
+    </term>
     <listitem>
-      <para>Instead of building a new configuration as specified by
-      <filename>/etc/nixos/configuration.nix</filename>, roll back to
-      the previous configuration.  (The previous configuration is
-      defined as the one before the “current” generation of the
-      Nix profile <filename>/nix/var/nix/profiles/system</filename>.)</para>
+     <para>
+      Instead of building a new configuration as specified by
+      <filename>/etc/nixos/configuration.nix</filename>, roll back to the
+      previous configuration. (The previous configuration is defined as the one
+      before the “current” generation of the Nix profile
+      <filename>/nix/var/nix/profiles/system</filename>.)
+     </para>
     </listitem>
-  </varlistentry>
-
-  <varlistentry>
-    <term><option>--profile-name</option></term>
-    <term><option>-p</option></term>
+   </varlistentry>
+   <varlistentry>
+    <term><option>--profile-name</option>
+    </term>
+    <term><option>-p</option>
+    </term>
     <listitem>
-      <para>Instead of using the Nix profile
-      <filename>/nix/var/nix/profiles/system</filename> to keep track
-      of the current and previous system configurations, use
+     <para>
+      Instead of using the Nix profile
+      <filename>/nix/var/nix/profiles/system</filename> to keep track of the
+      current and previous system configurations, use
       <filename>/nix/var/nix/profiles/system-profiles/<replaceable>name</replaceable></filename>.
-      When you use GRUB 2, for every system profile created with this
-      flag, NixOS will create a submenu named “NixOS - Profile
-      '<replaceable>name</replaceable>'” in GRUB’s boot menu,
-      containing the current and previous configurations of this
-      profile.</para>
-
-      <para>For instance, if you want to test a configuration file
-      named <filename>test.nix</filename> without affecting the
-      default system profile, you would do:
-
+      When you use GRUB 2, for every system profile created with this flag,
+      NixOS will create a submenu named “NixOS - Profile
+      '<replaceable>name</replaceable>'” in GRUB’s boot menu, containing
+      the current and previous configurations of this profile.
+     </para>
+     <para>
+      For instance, if you want to test a configuration file named
+      <filename>test.nix</filename> without affecting the default system
+      profile, you would do:
 <screen>
 $ nixos-rebuild switch -p test -I nixos-config=./test.nix
 </screen>
-
-      The new configuration will appear in the GRUB 2 submenu “NixOS - Profile
-      'test'”.</para>
+      The new configuration will appear in the GRUB 2 submenu “NixOS -
+      Profile 'test'”.
+     </para>
     </listitem>
-  </varlistentry>
-
-  <varlistentry>
-    <term><option>--build-host</option></term>
+   </varlistentry>
+   <varlistentry>
+    <term><option>--build-host</option>
+    </term>
     <listitem>
-      <para>Instead of building the new configuration locally, use the
-      specified host to perform the build. The host needs to be accessible
-      with ssh, and must be able to perform Nix builds. If the option
+     <para>
+      Instead of building the new configuration locally, use the specified host
+      to perform the build. The host needs to be accessible with ssh, and must
+      be able to perform Nix builds. If the option
       <option>--target-host</option> is not set, the build will be copied back
-      to the local machine when done.</para>
-
-      <para>Note that, if <option>--no-build-nix</option> is not specified,
-      Nix will be built both locally and remotely. This is because the
-      configuration will always be evaluated locally even though the building
-      might be performed remotely.</para>
-
-      <para>You can include a remote user name in
-      the host name (<replaceable>user@host</replaceable>). You can also set
-      ssh options by defining the <envar>NIX_SSHOPTS</envar> environment
-      variable.</para>
+      to the local machine when done.
+     </para>
+     <para>
+      Note that, if <option>--no-build-nix</option> is not specified, Nix will
+      be built both locally and remotely. This is because the configuration
+      will always be evaluated locally even though the building might be
+      performed remotely.
+     </para>
+     <para>
+      You can include a remote user name in the host name
+      (<replaceable>user@host</replaceable>). You can also set ssh options by
+      defining the <envar>NIX_SSHOPTS</envar> environment variable.
+     </para>
     </listitem>
-  </varlistentry>
-
-  <varlistentry>
-    <term><option>--target-host</option></term>
+   </varlistentry>
+   <varlistentry>
+    <term><option>--target-host</option>
+    </term>
     <listitem>
-      <para>Specifies the NixOS target host. By setting this to something other
-      than <replaceable>localhost</replaceable>, the system activation will
-      happen on the remote host instead of the local machine. The remote host
-      needs to be accessible over ssh, and for the commands
-      <option>switch</option>, <option>boot</option> and <option>test</option>
-      you need root access.</para>
-
-      <para>If <option>--build-host</option> is not explicitly
-      specified, <option>--build-host</option> will implicitly be set to the
-      same value as <option>--target-host</option>. So, if you only specify
+     <para>
+      Specifies the NixOS target host. By setting this to something other than
+      <replaceable>localhost</replaceable>, the system activation will happen
+      on the remote host instead of the local machine. The remote host needs to
+      be accessible over ssh, and for the commands <option>switch</option>,
+      <option>boot</option> and <option>test</option> you need root access.
+     </para>
+     <para>
+      If <option>--build-host</option> is not explicitly specified,
+      <option>--build-host</option> will implicitly be set to the same value as
+      <option>--target-host</option>. So, if you only specify
       <option>--target-host</option> both building and activation will take
       place remotely (and no build artifacts will be copied to the local
-      machine).</para>
-
-      <para>You can include a remote user name in
-      the host name (<replaceable>user@host</replaceable>). You can also set
-      ssh options by defining the <envar>NIX_SSHOPTS</envar> environment
-      variable.</para>
+      machine).
+     </para>
+     <para>
+      You can include a remote user name in the host name
+      (<replaceable>user@host</replaceable>). You can also set ssh options by
+      defining the <envar>NIX_SSHOPTS</envar> environment variable.
+     </para>
+    </listitem>
+   </varlistentry>
+  </variablelist>
+  <para>
+   In addition, <command>nixos-rebuild</command> accepts various Nix-related
+   flags, including <option>--max-jobs</option> / <option>-j</option>,
+   <option>--show-trace</option>, <option>--keep-failed</option>,
+   <option>--keep-going</option> and <option>--verbose</option> /
+   <option>-v</option>. See the Nix manual for details.
+  </para>
+ </refsection>
+ <refsection>
+  <title>Environment</title>
+  <variablelist>
+   <varlistentry>
+    <term><envar>NIXOS_CONFIG</envar>
+    </term>
+    <listitem>
+     <para>
+      Path to the main NixOS configuration module. Defaults to
+      <filename>/etc/nixos/configuration.nix</filename>.
+     </para>
     </listitem>
-  </varlistentry>
-
-</variablelist>
-
-<para>In addition, <command>nixos-rebuild</command> accepts various
-Nix-related flags, including <option>--max-jobs</option> /
-<option>-j</option>, <option>--show-trace</option>,
-<option>--keep-failed</option>, <option>--keep-going</option> and
-<option>--verbose</option> / <option>-v</option>.  See
-the Nix manual for details.</para>
-
-</refsection>
-
-
-<refsection><title>Environment</title>
-
-<variablelist>
-
-  <varlistentry>
-    <term><envar>NIXOS_CONFIG</envar></term>
+   </varlistentry>
+   <varlistentry>
+    <term><envar>NIX_SSHOPTS</envar>
+    </term>
     <listitem>
-      <para>Path to the main NixOS configuration module.  Defaults to
-      <filename>/etc/nixos/configuration.nix</filename>.</para>
+     <para>
+      Additional options to be passed to <command>ssh</command> on the command
+      line.
+     </para>
     </listitem>
-  </varlistentry>
-
-  <varlistentry><term><envar>NIX_SSHOPTS</envar></term>
-
-    <listitem><para>Additional options to be passed to
-    <command>ssh</command> on the command line.</para></listitem>
-
-  </varlistentry>
-
-</variablelist>
-
-</refsection>
-
-
-<refsection><title>Files</title>
-
-<variablelist>
-
-  <varlistentry>
-    <term><filename>/run/current-system</filename></term>
+   </varlistentry>
+  </variablelist>
+ </refsection>
+ <refsection>
+  <title>Files</title>
+  <variablelist>
+   <varlistentry>
+    <term><filename>/run/current-system</filename>
+    </term>
     <listitem>
-      <para>A symlink to the currently active system configuration in
-      the Nix store.</para>
+     <para>
+      A symlink to the currently active system configuration in the Nix store.
+     </para>
     </listitem>
-  </varlistentry>
-
-  <varlistentry>
-    <term><filename>/nix/var/nix/profiles/system</filename></term>
+   </varlistentry>
+   <varlistentry>
+    <term><filename>/nix/var/nix/profiles/system</filename>
+    </term>
     <listitem>
-      <para>The Nix profile that contains the current and previous
-      system configurations.  Used to generate the GRUB boot
-      menu.</para>
+     <para>
+      The Nix profile that contains the current and previous system
+      configurations. Used to generate the GRUB boot menu.
+     </para>
     </listitem>
-  </varlistentry>
-
-</variablelist>
-
-</refsection>
-
-
-<refsection><title>Bugs</title>
-
-<para>This command should be renamed to something more
-descriptive.</para>
-
-</refsection>
-
-
-
+   </varlistentry>
+  </variablelist>
+ </refsection>
+ <refsection>
+  <title>Bugs</title>
+  <para>
+   This command should be renamed to something more descriptive.
+  </para>
+ </refsection>
 </refentry>
diff --git a/nixos/doc/manual/man-nixos-version.xml b/nixos/doc/manual/man-nixos-version.xml
index 615d74f9090..c173bce1913 100644
--- a/nixos/doc/manual/man-nixos-version.xml
+++ b/nixos/doc/manual/man-nixos-version.xml
@@ -1,97 +1,102 @@
 <refentry xmlns="http://docbook.org/ns/docbook"
           xmlns:xlink="http://www.w3.org/1999/xlink"
           xmlns:xi="http://www.w3.org/2001/XInclude">
-
-<refmeta>
-  <refentrytitle><command>nixos-version</command></refentrytitle>
-  <manvolnum>8</manvolnum>
+ <refmeta>
+  <refentrytitle><command>nixos-version</command>
+  </refentrytitle><manvolnum>8</manvolnum>
   <refmiscinfo class="source">NixOS</refmiscinfo>
-</refmeta>
-
-<refnamediv>
-  <refname><command>nixos-version</command></refname>
-  <refpurpose>show the NixOS version</refpurpose>
-</refnamediv>
-
-<refsynopsisdiv>
-  <cmdsynopsis>
-    <command>nixos-version</command>
-    <arg><option>--hash</option></arg>
-    <arg><option>--revision</option></arg>
+ </refmeta>
+ <refnamediv>
+  <refname><command>nixos-version</command>
+  </refname><refpurpose>show the NixOS version</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+  <cmdsynopsis><command>nixos-version</command>
+   <arg><option>--hash</option>
+   </arg>
+   <arg><option>--revision</option>
+   </arg>
   </cmdsynopsis>
-</refsynopsisdiv>
-
-<refsection><title>Description</title>
-
-<para>This command shows the version of the currently active NixOS
-configuration. For example:
-
+ </refsynopsisdiv>
+ <refsection>
+  <title>Description</title>
+  <para>
+   This command shows the version of the currently active NixOS configuration.
+   For example:
 <screen>$ nixos-version
 16.03.1011.6317da4 (Emu)
 </screen>
-
-The version consists of the following elements:
-
-<variablelist>
-
-  <varlistentry>
-    <term><literal>16.03</literal></term>
-    <listitem><para>The NixOS release, indicating the year and month
-    in which it was released (e.g. March 2016).</para></listitem>
-  </varlistentry>
-
-  <varlistentry>
-    <term><literal>1011</literal></term>
-    <listitem><para>The number of commits in the Nixpkgs Git
-    repository between the start of the release branch and the commit
-    from which this version was built. This ensures that NixOS
-    versions are monotonically increasing. It is
-    <literal>git</literal> when the current NixOS configuration was
-    built from a checkout of the Nixpkgs Git repository rather than
-    from a NixOS channel.</para></listitem>
-  </varlistentry>
-
-  <varlistentry>
-    <term><literal>6317da4</literal></term>
-    <listitem><para>The first 7 characters of the commit in the
-    Nixpkgs Git repository from which this version was
-    built.</para></listitem>
-  </varlistentry>
-
-  <varlistentry>
-    <term><literal>Emu</literal></term>
-    <listitem><para>The code name of the NixOS release. The first
-    letter of the code name indicates that this is the N'th stable
-    NixOS release; for example, Emu is the fifth
-    release.</para></listitem>
-  </varlistentry>
-
-</variablelist>
-
-</para>
-
-</refsection>
-
-
-<refsection><title>Options</title>
-
-<para>This command accepts the following options:</para>
-
-<variablelist>
-
-  <varlistentry>
-    <term><option>--hash</option></term>
-    <term><option>--revision</option></term>
+   The version consists of the following elements:
+   <variablelist>
+    <varlistentry>
+     <term><literal>16.03</literal>
+     </term>
+     <listitem>
+      <para>
+       The NixOS release, indicating the year and month in which it was
+       released (e.g. March 2016).
+      </para>
+     </listitem>
+    </varlistentry>
+    <varlistentry>
+     <term><literal>1011</literal>
+     </term>
+     <listitem>
+      <para>
+       The number of commits in the Nixpkgs Git repository between the start of
+       the release branch and the commit from which this version was built.
+       This ensures that NixOS versions are monotonically increasing. It is
+       <literal>git</literal> when the current NixOS configuration was built
+       from a checkout of the Nixpkgs Git repository rather than from a NixOS
+       channel.
+      </para>
+     </listitem>
+    </varlistentry>
+    <varlistentry>
+     <term><literal>6317da4</literal>
+     </term>
+     <listitem>
+      <para>
+       The first 7 characters of the commit in the Nixpkgs Git repository from
+       which this version was built.
+      </para>
+     </listitem>
+    </varlistentry>
+    <varlistentry>
+     <term><literal>Emu</literal>
+     </term>
+     <listitem>
+      <para>
+       The code name of the NixOS release. The first letter of the code name
+       indicates that this is the N'th stable NixOS release; for example, Emu
+       is the fifth release.
+      </para>
+     </listitem>
+    </varlistentry>
+   </variablelist>
+  </para>
+ </refsection>
+ <refsection>
+  <title>Options</title>
+  <para>
+   This command accepts the following options:
+  </para>
+  <variablelist>
+   <varlistentry>
+    <term><option>--hash</option>
+    </term>
+    <term><option>--revision</option>
+    </term>
     <listitem>
-      <para>Show the full SHA1 hash of the Git commit from which this
-      configuration was built, e.g.
+     <para>
+      Show the full SHA1 hash of the Git commit from which this configuration
+      was built, e.g.
 <screen>$ nixos-version --hash
 6317da40006f6bc2480c6781999c52d88dde2acf
 </screen>
-      </para>
+     </para>
     </listitem>
-  </varlistentry>
-</variablelist>
-
-</refsection>
+   </varlistentry>
+  </variablelist>
+ </refsection>
 </refentry>
diff --git a/nixos/doc/manual/man-pages.xml b/nixos/doc/manual/man-pages.xml
index 80a8458fbfe..0390dda6468 100644
--- a/nixos/doc/manual/man-pages.xml
+++ b/nixos/doc/manual/man-pages.xml
@@ -1,33 +1,20 @@
 <reference xmlns="http://docbook.org/ns/docbook"
            xmlns:xlink="http://www.w3.org/1999/xlink"
            xmlns:xi="http://www.w3.org/2001/XInclude">
-
-  <title>NixOS Reference Pages</title>
-
-  <info>
-
-    <author>
-      <personname>
-        <firstname>Eelco</firstname>
-        <surname>Dolstra</surname>
-      </personname>
-      <contrib>Author</contrib>
-    </author>
-
-    <copyright>
-      <year>2007-2018</year>
-      <holder>Eelco Dolstra</holder>
-    </copyright>
-
-  </info>
-
-  <xi:include href="man-configuration.xml" />
-  <xi:include href="man-nixos-build-vms.xml" />
-  <xi:include href="man-nixos-generate-config.xml" />
-  <xi:include href="man-nixos-install.xml" />
-  <xi:include href="man-nixos-enter.xml" />
-  <xi:include href="man-nixos-option.xml" />
-  <xi:include href="man-nixos-rebuild.xml" />
-  <xi:include href="man-nixos-version.xml" />
-
+ <title>NixOS Reference Pages</title>
+ <info>
+  <author><personname><firstname>Eelco</firstname><surname>Dolstra</surname></personname>
+   <contrib>Author</contrib>
+  </author>
+  <copyright><year>2007-2018</year><holder>Eelco Dolstra</holder>
+  </copyright>
+ </info>
+ <xi:include href="man-configuration.xml" />
+ <xi:include href="man-nixos-build-vms.xml" />
+ <xi:include href="man-nixos-generate-config.xml" />
+ <xi:include href="man-nixos-install.xml" />
+ <xi:include href="man-nixos-enter.xml" />
+ <xi:include href="man-nixos-option.xml" />
+ <xi:include href="man-nixos-rebuild.xml" />
+ <xi:include href="man-nixos-version.xml" />
 </reference>
diff --git a/nixos/doc/manual/manual.xml b/nixos/doc/manual/manual.xml
index 9aa332f026d..61b21203f50 100644
--- a/nixos/doc/manual/manual.xml
+++ b/nixos/doc/manual/manual.xml
@@ -3,45 +3,46 @@
       xmlns:xi="http://www.w3.org/2001/XInclude"
       version="5.0"
       xml:id="book-nixos-manual">
-
-  <info>
-    <title>NixOS Manual</title>
-    <subtitle>Version <xi:include href="version" parse="text" /></subtitle>
-  </info>
-
-  <preface>
-    <title>Preface</title>
-
-    <para>This manual describes how to install, use and extend NixOS,
-    a Linux distribution based on the purely functional package
-    management system Nix.</para>
-
-    <para>If you encounter problems, please report them on the
-    <literal
+ <info>
+  <title>NixOS Manual</title>
+  <subtitle>Version <xi:include href="./generated/version" parse="text" />
+  </subtitle>
+ </info>
+ <preface>
+  <title>Preface</title>
+  <para>
+   This manual describes how to install, use and extend NixOS, a Linux
+   distribution based on the purely functional package management system Nix.
+  </para>
+  <para>
+   If you encounter problems, please report them on the
+   <literal
     xlink:href="https://groups.google.com/forum/#!forum/nix-devel">nix-devel</literal>
-    mailing list or on the <link
+   mailing list or on the <link
     xlink:href="irc://irc.freenode.net/#nixos">
-    <literal>#nixos</literal> channel on Freenode</link>.  Bugs should
-    be reported in <link
-    xlink:href="https://github.com/NixOS/nixpkgs/issues">NixOS’ GitHub
-    issue tracker</link>.</para>
-
-    <note><para>Commands prefixed with <literal>#</literal> have to be run as
-    root, either requiring to login as root user or temporarily switching
-    to it using <literal>sudo</literal> for example.</para></note>
-  </preface>
-
-  <xi:include href="installation/installation.xml" />
-  <xi:include href="configuration/configuration.xml" />
-  <xi:include href="administration/running.xml" />
-  <!-- <xi:include href="userconfiguration.xml" /> -->
-  <xi:include href="development/development.xml" />
-
-  <appendix xml:id="ch-options">
-    <title>Configuration Options</title>
-    <xi:include href="options-db.xml" />
-  </appendix>
-
-  <xi:include href="release-notes/release-notes.xml" />
-
+   <literal>#nixos</literal> channel on Freenode</link>. Bugs should be
+   reported in
+   <link
+    xlink:href="https://github.com/NixOS/nixpkgs/issues">NixOS’
+   GitHub issue tracker</link>.
+  </para>
+  <note>
+   <para>
+    Commands prefixed with <literal>#</literal> have to be run as root, either
+    requiring to login as root user or temporarily switching to it using
+    <literal>sudo</literal> for example.
+   </para>
+  </note>
+ </preface>
+ <xi:include href="installation/installation.xml" />
+ <xi:include href="configuration/configuration.xml" />
+ <xi:include href="administration/running.xml" />
+<!-- <xi:include href="userconfiguration.xml" /> -->
+ <xi:include href="development/development.xml" />
+ <appendix xml:id="ch-options">
+  <title>Configuration Options</title>
+  <xi:include href="./generated/options-db.xml"
+                xpointer="configuration-variable-list" />
+ </appendix>
+ <xi:include href="release-notes/release-notes.xml" />
 </book>
diff --git a/nixos/doc/manual/options-to-docbook.xsl b/nixos/doc/manual/options-to-docbook.xsl
index 7b45b233ab2..43a69806a2b 100644
--- a/nixos/doc/manual/options-to-docbook.xsl
+++ b/nixos/doc/manual/options-to-docbook.xsl
@@ -15,9 +15,9 @@
 
 
   <xsl:template match="/expr/list">
-
-      <variablelist>
-
+    <appendix>
+      <title>Configuration Options</title>
+      <variablelist xml:id="configuration-variable-list">
         <xsl:for-each select="attrs">
           <xsl:variable name="id" select="concat('opt-', str:replace(str:replace(str:replace(str:replace(attr[@name = 'name']/string/@value, '*', '_'), '&lt;', '_'), '>', '_'), '?', '_'))" />
           <varlistentry>
@@ -100,7 +100,7 @@
         </xsl:for-each>
 
       </variablelist>
-
+    </appendix>
   </xsl:template>
 
 
diff --git a/nixos/doc/manual/release-notes/release-notes.xml b/nixos/doc/manual/release-notes/release-notes.xml
index 5ed56bde665..94f176186b6 100644
--- a/nixos/doc/manual/release-notes/release-notes.xml
+++ b/nixos/doc/manual/release-notes/release-notes.xml
@@ -3,20 +3,19 @@
           xmlns:xi="http://www.w3.org/2001/XInclude"
           version="5.0"
           xml:id="ch-release-notes">
-
-<title>Release Notes</title>
-
-<para>This section lists the release notes for each stable version of NixOS
-and current unstable revision.</para>
-
-<xi:include href="rl-1803.xml" />
-<xi:include href="rl-1709.xml" />
-<xi:include href="rl-1703.xml" />
-<xi:include href="rl-1609.xml" />
-<xi:include href="rl-1603.xml" />
-<xi:include href="rl-1509.xml" />
-<xi:include href="rl-1412.xml" />
-<xi:include href="rl-1404.xml" />
-<xi:include href="rl-1310.xml" />
-
+ <title>Release Notes</title>
+ <para>
+  This section lists the release notes for each stable version of NixOS and
+  current unstable revision.
+ </para>
+ <xi:include href="rl-1809.xml" />
+ <xi:include href="rl-1803.xml" />
+ <xi:include href="rl-1709.xml" />
+ <xi:include href="rl-1703.xml" />
+ <xi:include href="rl-1609.xml" />
+ <xi:include href="rl-1603.xml" />
+ <xi:include href="rl-1509.xml" />
+ <xi:include href="rl-1412.xml" />
+ <xi:include href="rl-1404.xml" />
+ <xi:include href="rl-1310.xml" />
 </appendix>
diff --git a/nixos/doc/manual/release-notes/rl-1310.xml b/nixos/doc/manual/release-notes/rl-1310.xml
index 583912d7073..248bab70c36 100644
--- a/nixos/doc/manual/release-notes/rl-1310.xml
+++ b/nixos/doc/manual/release-notes/rl-1310.xml
@@ -3,9 +3,9 @@
          xmlns:xi="http://www.w3.org/2001/XInclude"
          version="5.0"
          xml:id="sec-release-13.10">
+ <title>Release 13.10 (“Aardvark”, 2013/10/31)</title>
 
-<title>Release 13.10 (“Aardvark”, 2013/10/31)</title>
-
-<para>This is the first stable release branch of NixOS.</para>
-
+ <para>
+  This is the first stable release branch of NixOS.
+ </para>
 </section>
diff --git a/nixos/doc/manual/release-notes/rl-1404.xml b/nixos/doc/manual/release-notes/rl-1404.xml
index 137caf14cba..8d8cea4303a 100644
--- a/nixos/doc/manual/release-notes/rl-1404.xml
+++ b/nixos/doc/manual/release-notes/rl-1404.xml
@@ -3,158 +3,177 @@
          xmlns:xi="http://www.w3.org/2001/XInclude"
          version="5.0"
          xml:id="sec-release-14.04">
-
-<title>Release 14.04 (“Baboon”, 2014/04/30)</title>
-
-<para>This is the second stable release branch of NixOS.  In addition
-to numerous new and upgraded packages and modules, this release has
-the following highlights:
-
-<itemizedlist>
-
-  <listitem><para>Installation on UEFI systems is now supported.  See
-  <xref linkend="sec-installation"/> for
-  details.</para></listitem>
-
-  <listitem><para>Systemd has been updated to version 212, which has
-  <link xlink:href="http://cgit.freedesktop.org/systemd/systemd/plain/NEWS?id=v212">numerous
-  improvements</link>. NixOS now automatically starts systemd user
-  instances when you log in. You can define global user units through
-  the <option>systemd.unit.*</option> options.</para></listitem>
-
-  <listitem><para>NixOS is now based on Glibc 2.19 and GCC
-  4.8.</para></listitem>
-
-  <listitem><para>The default Linux kernel has been updated to
-  3.12.</para></listitem>
-
-  <listitem><para>KDE has been updated to 4.12.</para></listitem>
-
-  <listitem><para>GNOME 3.10 experimental support has been added.</para></listitem>
-
-  <listitem><para>Nix has been updated to 1.7 (<link
-  xlink:href="http://nixos.org/nix/manual/#ssec-relnotes-1.7">details</link>).</para></listitem>
-
-  <listitem><para>NixOS now supports fully declarative management of
-  users and groups. If you set <option>users.mutableUsers</option> to
-  <literal>false</literal>, then the contents of
-  <filename>/etc/passwd</filename> and <filename>/etc/group</filename>
-  will be <link
+ <title>Release 14.04 (“Baboon”, 2014/04/30)</title>
+
+ <para>
+  This is the second stable release branch of NixOS. In addition to numerous
+  new and upgraded packages and modules, this release has the following
+  highlights:
+  <itemizedlist>
+   <listitem>
+    <para>
+     Installation on UEFI systems is now supported. See
+     <xref linkend="sec-installation"/> for details.
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     Systemd has been updated to version 212, which has
+     <link xlink:href="http://cgit.freedesktop.org/systemd/systemd/plain/NEWS?id=v212">numerous
+     improvements</link>. NixOS now automatically starts systemd user instances
+     when you log in. You can define global user units through the
+     <option>systemd.unit.*</option> options.
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     NixOS is now based on Glibc 2.19 and GCC 4.8.
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     The default Linux kernel has been updated to 3.12.
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     KDE has been updated to 4.12.
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     GNOME 3.10 experimental support has been added.
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     Nix has been updated to 1.7
+     (<link
+  xlink:href="http://nixos.org/nix/manual/#ssec-relnotes-1.7">details</link>).
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     NixOS now supports fully declarative management of users and groups. If
+     you set <option>users.mutableUsers</option> to <literal>false</literal>,
+     then the contents of <filename>/etc/passwd</filename> and
+     <filename>/etc/group</filename> will be
+     <link
   xlink:href="https://www.usenix.org/legacy/event/lisa02/tech/full_papers/traugott/traugott_html/">congruent</link>
-  to your NixOS configuration. For instance, if you remove a user from
-  <option>users.extraUsers</option> and run
-  <command>nixos-rebuild</command>, the user account will cease to
-  exist. Also, imperative commands for managing users and groups, such
-  as <command>useradd</command>, are no longer available. If
-  <option>users.mutableUsers</option> is <literal>true</literal> (the
-  default), then behaviour is unchanged from NixOS
-  13.10.</para></listitem>
-
-  <listitem><para>NixOS now has basic container support, meaning you
-  can easily run a NixOS instance as a container in a NixOS host
-  system. These containers are suitable for testing and
-  experimentation but not production use, since they’re not fully
-  isolated from the host. See <xref linkend="ch-containers"/> for
-  details.</para></listitem>
-
-  <listitem><para>Systemd units provided by packages can now be
-  overridden from the NixOS configuration. For instance, if a package
-  <literal>foo</literal> provides systemd units, you can say:
-
+     to your NixOS configuration. For instance, if you remove a user from
+     <option>users.extraUsers</option> and run
+     <command>nixos-rebuild</command>, the user account will cease to exist.
+     Also, imperative commands for managing users and groups, such as
+     <command>useradd</command>, are no longer available. If
+     <option>users.mutableUsers</option> is <literal>true</literal> (the
+     default), then behaviour is unchanged from NixOS 13.10.
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     NixOS now has basic container support, meaning you can easily run a NixOS
+     instance as a container in a NixOS host system. These containers are
+     suitable for testing and experimentation but not production use, since
+     they’re not fully isolated from the host. See
+     <xref linkend="ch-containers"/> for details.
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     Systemd units provided by packages can now be overridden from the NixOS
+     configuration. For instance, if a package <literal>foo</literal> provides
+     systemd units, you can say:
 <programlisting>
 systemd.packages = [ pkgs.foo ];
 </programlisting>
-
-  to enable those units. You can then set or override unit options in
-  the usual way, e.g.
-
+     to enable those units. You can then set or override unit options in the
+     usual way, e.g.
 <programlisting>
 systemd.services.foo.wantedBy = [ "multi-user.target" ];
 systemd.services.foo.serviceConfig.MemoryLimit = "512M";
 </programlisting>
-
-  </para></listitem>
-
-</itemizedlist>
-
-</para>
-
-<para>When upgrading from a previous release, please be aware of the
-following incompatible changes:
-
-<itemizedlist>
-
-  <listitem><para>Nixpkgs no longer exposes unfree packages by
-  default. If your NixOS configuration requires unfree packages from
-  Nixpkgs, you need to enable support for them explicitly by setting:
-
+    </para>
+   </listitem>
+  </itemizedlist>
+ </para>
+
+ <para>
+  When upgrading from a previous release, please be aware of the following
+  incompatible changes:
+  <itemizedlist>
+   <listitem>
+    <para>
+     Nixpkgs no longer exposes unfree packages by default. If your NixOS
+     configuration requires unfree packages from Nixpkgs, you need to enable
+     support for them explicitly by setting:
 <programlisting>
 nixpkgs.config.allowUnfree = true;
 </programlisting>
-
-  Otherwise, you get an error message such as:
-
+     Otherwise, you get an error message such as:
 <screen>
 error: package ‘nvidia-x11-331.49-3.12.17’ in ‘…/nvidia-x11/default.nix:56’
   has an unfree license, refusing to evaluate
 </screen>
-
-  </para></listitem>
-
-  <listitem><para>The Adobe Flash player is no longer enabled by
-  default in the Firefox and Chromium wrappers. To enable it, you must
-  set:
-
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     The Adobe Flash player is no longer enabled by default in the Firefox and
+     Chromium wrappers. To enable it, you must set:
 <programlisting>
 nixpkgs.config.allowUnfree = true;
 nixpkgs.config.firefox.enableAdobeFlash = true; # for Firefox
 nixpkgs.config.chromium.enableAdobeFlash = true; # for Chromium
 </programlisting>
-
-  </para></listitem>
-
-  <listitem><para>The firewall is now enabled by default. If you don’t
-  want this, you need to disable it explicitly:
-
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     The firewall is now enabled by default. If you don’t want this, you need
+     to disable it explicitly:
 <programlisting>
 networking.firewall.enable = false;
 </programlisting>
-
-  </para></listitem>
-
-  <listitem><para>The option
-  <option>boot.loader.grub.memtest86</option> has been renamed to
-  <option>boot.loader.grub.memtest86.enable</option>.</para></listitem>
-
-  <listitem><para>The <literal>mysql55</literal> service has been
-  merged into the <literal>mysql</literal> service, which no longer
-  sets a default for the option
-  <option>services.mysql.package</option>.</para></listitem>
-
-  <listitem><para>Package variants are now differentiated by suffixing
-  the name, rather than the version. For instance,
-  <filename>sqlite-3.8.4.3-interactive</filename> is now called
-  <filename>sqlite-interactive-3.8.4.3</filename>. This ensures that
-  <literal>nix-env -i sqlite</literal> is unambiguous, and that
-  <literal>nix-env -u</literal> won’t “upgrade”
-  <literal>sqlite</literal> to <literal>sqlite-interactive</literal>
-  or vice versa. Notably, this change affects the Firefox wrapper
-  (which provides plugins), as it is now called
-  <literal>firefox-wrapper</literal>. So when using
-  <command>nix-env</command>, you should do <literal>nix-env -e
-  firefox; nix-env -i firefox-wrapper</literal> if you want to keep
-  using the wrapper. This change does not affect declarative package
-  management, since attribute names like
-  <literal>pkgs.firefoxWrapper</literal> were already
-  unambiguous.</para></listitem>
-
-  <listitem><para>The symlink <filename>/etc/ca-bundle.crt</filename>
-  is gone. Programs should instead use the environment variable
-  <envar>OPENSSL_X509_CERT_FILE</envar> (which points to
-  <filename>/etc/ssl/certs/ca-bundle.crt</filename>).</para></listitem>
-
-</itemizedlist>
-
-</para>
-
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     The option <option>boot.loader.grub.memtest86</option> has been renamed to
+     <option>boot.loader.grub.memtest86.enable</option>.
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     The <literal>mysql55</literal> service has been merged into the
+     <literal>mysql</literal> service, which no longer sets a default for the
+     option <option>services.mysql.package</option>.
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     Package variants are now differentiated by suffixing the name, rather than
+     the version. For instance, <filename>sqlite-3.8.4.3-interactive</filename>
+     is now called <filename>sqlite-interactive-3.8.4.3</filename>. This
+     ensures that <literal>nix-env -i sqlite</literal> is unambiguous, and that
+     <literal>nix-env -u</literal> won’t “upgrade”
+     <literal>sqlite</literal> to <literal>sqlite-interactive</literal> or vice
+     versa. Notably, this change affects the Firefox wrapper (which provides
+     plugins), as it is now called <literal>firefox-wrapper</literal>. So when
+     using <command>nix-env</command>, you should do <literal>nix-env -e
+     firefox; nix-env -i firefox-wrapper</literal> if you want to keep using
+     the wrapper. This change does not affect declarative package management,
+     since attribute names like <literal>pkgs.firefoxWrapper</literal> were
+     already unambiguous.
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     The symlink <filename>/etc/ca-bundle.crt</filename> is gone. Programs
+     should instead use the environment variable
+     <envar>OPENSSL_X509_CERT_FILE</envar> (which points to
+     <filename>/etc/ssl/certs/ca-bundle.crt</filename>).
+    </para>
+   </listitem>
+  </itemizedlist>
+ </para>
 </section>
diff --git a/nixos/doc/manual/release-notes/rl-1412.xml b/nixos/doc/manual/release-notes/rl-1412.xml
index 42b51cd4a8e..4d93aa644c1 100644
--- a/nixos/doc/manual/release-notes/rl-1412.xml
+++ b/nixos/doc/manual/release-notes/rl-1412.xml
@@ -3,175 +3,465 @@
          xmlns:xi="http://www.w3.org/2001/XInclude"
          version="5.0"
          xml:id="sec-release-14.12">
+ <title>Release 14.12 (“Caterpillar”, 2014/12/30)</title>
 
-<title>Release 14.12 (“Caterpillar”, 2014/12/30)</title>
+ <para>
+  In addition to numerous new and upgraded packages, this release has the
+  following highlights:
+  <itemizedlist>
+   <listitem>
+    <para>
+     Systemd has been updated to version 217, which has numerous
+     <link xlink:href="http://lists.freedesktop.org/archives/systemd-devel/2014-October/024662.html">improvements.</link>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <link xlink:href="http://thread.gmane.org/gmane.linux.distributions.nixos/15165">
+     Nix has been updated to 1.8.</link>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     NixOS is now based on Glibc 2.20.
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     KDE has been updated to 4.14.
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     The default Linux kernel has been updated to 3.14.
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     If <option>users.mutableUsers</option> is enabled (the default), changes
+     made to the declaration of a user or group will be correctly realised when
+     running <command>nixos-rebuild</command>. For instance, removing a user
+     specification from <filename>configuration.nix</filename> will cause the
+     actual user account to be deleted. If <option>users.mutableUsers</option>
+     is disabled, it is no longer necessary to specify UIDs or GIDs; if
+     omitted, they are allocated dynamically.
+    </para>
+   </listitem>
+  </itemizedlist>
+ </para>
 
-<para>In addition to numerous new and upgraded packages, this release has the following highlights:
+ <para>
+  Following new services were added since the last release:
+  <itemizedlist>
+   <listitem>
+    <para>
+     <literal>atftpd</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>bosun</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>bspwm</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>chronos</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>collectd</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>consul</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>cpuminer-cryptonight</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>crashplan</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>dnscrypt-proxy</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>docker-registry</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>docker</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>etcd</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>fail2ban</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>fcgiwrap</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>fleet</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>fluxbox</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>gdm</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>geoclue2</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>gitlab</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>gitolite</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>gnome3.gnome-documents</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>gnome3.gnome-online-miners</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>gnome3.gvfs</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>gnome3.seahorse</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>hbase</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>i2pd</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>influxdb</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>kubernetes</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>liquidsoap</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>lxc</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>mailpile</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>mesos</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>mlmmj</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>monetdb</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>mopidy</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>neo4j</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>nsd</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>openntpd</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>opentsdb</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>openvswitch</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>parallels-guest</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>peerflix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>phd</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>polipo</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>prosody</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>radicale</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>redmine</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>riemann</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>scollector</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>seeks</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>siproxd</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>strongswan</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>tcsd</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>teamspeak3</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>thermald</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>torque/mrom</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>torque/server</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>uhub</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>unifi</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>znc</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>zookeeper</literal>
+    </para>
+   </listitem>
+  </itemizedlist>
+ </para>
 
-<itemizedlist>
-
-<listitem><para>Systemd has been updated to version 217, which has numerous
-<link xlink:href="http://lists.freedesktop.org/archives/systemd-devel/2014-October/024662.html">improvements.</link></para></listitem>
-
-<listitem><para><link xlink:href="http://thread.gmane.org/gmane.linux.distributions.nixos/15165">
-Nix has been updated to 1.8.</link></para></listitem>
-
-<listitem><para>NixOS is now based on Glibc 2.20.</para></listitem>
-
-<listitem><para>KDE has been updated to 4.14.</para></listitem>
-
-<listitem><para>The default Linux kernel has been updated to 3.14.</para></listitem>
-
-<listitem><para>If <option>users.mutableUsers</option> is enabled (the
-default), changes made to the declaration of a user or group will be
-correctly realised when running <command>nixos-rebuild</command>. For
-instance, removing a user specification from
-<filename>configuration.nix</filename> will cause the actual user
-account to be deleted. If <option>users.mutableUsers</option> is
-disabled, it is no longer necessary to specify UIDs or GIDs; if
-omitted, they are allocated dynamically.</para></listitem>
-
-</itemizedlist></para>
-
-<para>Following new services were added since the last release:
-
-<itemizedlist>
-<listitem><para><literal>atftpd</literal></para></listitem>
-<listitem><para><literal>bosun</literal></para></listitem>
-<listitem><para><literal>bspwm</literal></para></listitem>
-<listitem><para><literal>chronos</literal></para></listitem>
-<listitem><para><literal>collectd</literal></para></listitem>
-<listitem><para><literal>consul</literal></para></listitem>
-<listitem><para><literal>cpuminer-cryptonight</literal></para></listitem>
-<listitem><para><literal>crashplan</literal></para></listitem>
-<listitem><para><literal>dnscrypt-proxy</literal></para></listitem>
-<listitem><para><literal>docker-registry</literal></para></listitem>
-<listitem><para><literal>docker</literal></para></listitem>
-<listitem><para><literal>etcd</literal></para></listitem>
-<listitem><para><literal>fail2ban</literal></para></listitem>
-<listitem><para><literal>fcgiwrap</literal></para></listitem>
-<listitem><para><literal>fleet</literal></para></listitem>
-<listitem><para><literal>fluxbox</literal></para></listitem>
-<listitem><para><literal>gdm</literal></para></listitem>
-<listitem><para><literal>geoclue2</literal></para></listitem>
-<listitem><para><literal>gitlab</literal></para></listitem>
-<listitem><para><literal>gitolite</literal></para></listitem>
-<listitem><para><literal>gnome3.gnome-documents</literal></para></listitem>
-<listitem><para><literal>gnome3.gnome-online-miners</literal></para></listitem>
-<listitem><para><literal>gnome3.gvfs</literal></para></listitem>
-<listitem><para><literal>gnome3.seahorse</literal></para></listitem>
-<listitem><para><literal>hbase</literal></para></listitem>
-<listitem><para><literal>i2pd</literal></para></listitem>
-<listitem><para><literal>influxdb</literal></para></listitem>
-<listitem><para><literal>kubernetes</literal></para></listitem>
-<listitem><para><literal>liquidsoap</literal></para></listitem>
-<listitem><para><literal>lxc</literal></para></listitem>
-<listitem><para><literal>mailpile</literal></para></listitem>
-<listitem><para><literal>mesos</literal></para></listitem>
-<listitem><para><literal>mlmmj</literal></para></listitem>
-<listitem><para><literal>monetdb</literal></para></listitem>
-<listitem><para><literal>mopidy</literal></para></listitem>
-<listitem><para><literal>neo4j</literal></para></listitem>
-<listitem><para><literal>nsd</literal></para></listitem>
-<listitem><para><literal>openntpd</literal></para></listitem>
-<listitem><para><literal>opentsdb</literal></para></listitem>
-<listitem><para><literal>openvswitch</literal></para></listitem>
-<listitem><para><literal>parallels-guest</literal></para></listitem>
-<listitem><para><literal>peerflix</literal></para></listitem>
-<listitem><para><literal>phd</literal></para></listitem>
-<listitem><para><literal>polipo</literal></para></listitem>
-<listitem><para><literal>prosody</literal></para></listitem>
-<listitem><para><literal>radicale</literal></para></listitem>
-<listitem><para><literal>redmine</literal></para></listitem>
-<listitem><para><literal>riemann</literal></para></listitem>
-<listitem><para><literal>scollector</literal></para></listitem>
-<listitem><para><literal>seeks</literal></para></listitem>
-<listitem><para><literal>siproxd</literal></para></listitem>
-<listitem><para><literal>strongswan</literal></para></listitem>
-<listitem><para><literal>tcsd</literal></para></listitem>
-<listitem><para><literal>teamspeak3</literal></para></listitem>
-<listitem><para><literal>thermald</literal></para></listitem>
-<listitem><para><literal>torque/mrom</literal></para></listitem>
-<listitem><para><literal>torque/server</literal></para></listitem>
-<listitem><para><literal>uhub</literal></para></listitem>
-<listitem><para><literal>unifi</literal></para></listitem>
-<listitem><para><literal>znc</literal></para></listitem>
-<listitem><para><literal>zookeeper</literal></para></listitem>
-</itemizedlist>
-</para>
-
-<para>When upgrading from a previous release, please be aware of the
-following incompatible changes:
-
-<itemizedlist>
-
-<listitem><para>The default version of Apache httpd is now 2.4. If
-you use the <option>extraConfig</option> option to pass literal
-Apache configuration text, you may need to update it — see <link
+ <para>
+  When upgrading from a previous release, please be aware of the following
+  incompatible changes:
+  <itemizedlist>
+   <listitem>
+    <para>
+     The default version of Apache httpd is now 2.4. If you use the
+     <option>extraConfig</option> option to pass literal Apache configuration
+     text, you may need to update it — see
+     <link
 xlink:href="http://httpd.apache.org/docs/2.4/upgrading.html">Apache’s
-documentation</link> for details. If you wish to continue to use
-httpd 2.2, add the following line to your NixOS configuration:
-
+     documentation</link> for details. If you wish to continue to use httpd
+     2.2, add the following line to your NixOS configuration:
 <programlisting>
 services.httpd.package = pkgs.apacheHttpd_2_2;
 </programlisting>
-
-</para></listitem>
-
-<listitem><para>PHP 5.3 has been removed because it is no longer
-supported by the PHP project. A <link
-xlink:href="http://php.net/migration54">migration guide</link> is
-available.</para></listitem>
-
-<listitem><para>The host side of a container virtual Ethernet pair
-is now called <literal>ve-<replaceable>container-name</replaceable></literal>
-rather than <literal>c-<replaceable>container-name</replaceable></literal>.</para></listitem>
-
-<listitem><para>GNOME 3.10 support has been dropped. The default GNOME version is now 3.12.</para></listitem>
-
-<listitem><para>VirtualBox has been upgraded to 4.3.20 release. Users
-may be required to run <command>rm -rf /tmp/.vbox*</command>. The line
-<literal>imports = [ &lt;nixpkgs/nixos/modules/programs/virtualbox.nix&gt; ]</literal> is
-no longer necessary, use <literal>services.virtualboxHost.enable =
-true</literal> instead.
-</para>
-<para>Also, hardening mode is now enabled by default, which means that unless you want to use
-USB support, you no longer need to be a member of the <literal>vboxusers</literal> group.
-</para></listitem>
-
-<listitem><para>Chromium has been updated to 39.0.2171.65. <option>enablePepperPDF</option> is now enabled by default.
-<literal>chromium*Wrapper</literal> packages no longer exist, because upstream removed NSAPI support.
-<literal>chromium-stable</literal> has been renamed to <literal>chromium</literal>.
-</para></listitem>
-
-<listitem><para>Python packaging documentation is now part of nixpkgs manual. To override
-the python packages available to a custom python you now use <literal>pkgs.pythonFull.buildEnv.override</literal>
-instead of <literal>pkgs.pythonFull.override</literal>.
-</para></listitem>
-
-<listitem><para><literal>boot.resumeDevice = "8:6"</literal> is no longer supported. Most users will
-want to leave it undefined, which takes the swap partitions automatically. There is an evaluation
-assertion to ensure that the string starts with a slash.
-</para></listitem>
-
-<listitem><para>The system-wide default timezone for NixOS installations
-changed from <literal>CET</literal> to <literal>UTC</literal>. To choose
-a different timezone for your system, configure
-<literal>time.timeZone</literal> in
-<literal>configuration.nix</literal>. A fairly complete list of possible
-values for that setting is available at <link
-xlink:href="https://en.wikipedia.org/wiki/List_of_tz_database_time_zones"/>.</para></listitem>
-
-<listitem><para>GNU screen has been updated to 4.2.1, which breaks
-the ability to connect to sessions created by older versions of
-screen.</para></listitem>
-
-<listitem><para>The Intel GPU driver was updated to the 3.x prerelease
-version (used by most distributions) and supports DRI3
-now.</para></listitem>
-
-</itemizedlist>
-
-</para>
-
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     PHP 5.3 has been removed because it is no longer supported by the PHP
+     project. A <link
+xlink:href="http://php.net/migration54">migration
+     guide</link> is available.
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     The host side of a container virtual Ethernet pair is now called
+     <literal>ve-<replaceable>container-name</replaceable></literal> rather
+     than <literal>c-<replaceable>container-name</replaceable></literal>.
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     GNOME 3.10 support has been dropped. The default GNOME version is now
+     3.12.
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     VirtualBox has been upgraded to 4.3.20 release. Users may be required to
+     run <command>rm -rf /tmp/.vbox*</command>. The line <literal>imports = [
+     &lt;nixpkgs/nixos/modules/programs/virtualbox.nix&gt; ]</literal> is no
+     longer necessary, use <literal>services.virtualboxHost.enable =
+     true</literal> instead.
+    </para>
+    <para>
+     Also, hardening mode is now enabled by default, which means that unless
+     you want to use USB support, you no longer need to be a member of the
+     <literal>vboxusers</literal> group.
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     Chromium has been updated to 39.0.2171.65.
+     <option>enablePepperPDF</option> is now enabled by default.
+     <literal>chromium*Wrapper</literal> packages no longer exist, because
+     upstream removed NSAPI support. <literal>chromium-stable</literal> has
+     been renamed to <literal>chromium</literal>.
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     Python packaging documentation is now part of nixpkgs manual. To override
+     the python packages available to a custom python you now use
+     <literal>pkgs.pythonFull.buildEnv.override</literal> instead of
+     <literal>pkgs.pythonFull.override</literal>.
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>boot.resumeDevice = "8:6"</literal> is no longer supported. Most
+     users will want to leave it undefined, which takes the swap partitions
+     automatically. There is an evaluation assertion to ensure that the string
+     starts with a slash.
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     The system-wide default timezone for NixOS installations changed from
+     <literal>CET</literal> to <literal>UTC</literal>. To choose a different
+     timezone for your system, configure <literal>time.timeZone</literal> in
+     <literal>configuration.nix</literal>. A fairly complete list of possible
+     values for that setting is available at
+     <link
+xlink:href="https://en.wikipedia.org/wiki/List_of_tz_database_time_zones"/>.
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     GNU screen has been updated to 4.2.1, which breaks the ability to connect
+     to sessions created by older versions of screen.
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     The Intel GPU driver was updated to the 3.x prerelease version (used by
+     most distributions) and supports DRI3 now.
+    </para>
+   </listitem>
+  </itemizedlist>
+ </para>
 </section>
diff --git a/nixos/doc/manual/release-notes/rl-1509.xml b/nixos/doc/manual/release-notes/rl-1509.xml
index 6c1c46844cc..734bc076b85 100644
--- a/nixos/doc/manual/release-notes/rl-1509.xml
+++ b/nixos/doc/manual/release-notes/rl-1509.xml
@@ -3,375 +3,640 @@
          xmlns:xi="http://www.w3.org/2001/XInclude"
          version="5.0"
          xml:id="sec-release-15.09">
+ <title>Release 15.09 (“Dingo”, 2015/09/30)</title>
 
-<title>Release 15.09 (“Dingo”, 2015/09/30)</title>
-
-<para>In addition to numerous new and upgraded packages, this release
-has the following highlights:</para>
-
-<itemizedlist>
+ <para>
+  In addition to numerous new and upgraded packages, this release has the
+  following highlights:
+ </para>
 
+ <itemizedlist>
   <listitem>
-    <para>The <link xlink:href="http://haskell.org/">Haskell</link>
-    packages infrastructure has been re-designed from the ground up
-    (&quot;Haskell NG&quot;). NixOS now distributes the latest version
-    of every single package registered on <link
-    xlink:href="http://hackage.haskell.org/">Hackage</link> -- well in
-    excess of 8,000 Haskell packages. Detailed instructions on how to
-    use that infrastructure can be found in the <link
+   <para>
+    The <link xlink:href="http://haskell.org/">Haskell</link> packages
+    infrastructure has been re-designed from the ground up (&quot;Haskell
+    NG&quot;). NixOS now distributes the latest version of every single package
+    registered on
+    <link
+    xlink:href="http://hackage.haskell.org/">Hackage</link> -- well
+    in excess of 8,000 Haskell packages. Detailed instructions on how to use
+    that infrastructure can be found in the
+    <link
     xlink:href="http://nixos.org/nixpkgs/manual/#users-guide-to-the-haskell-infrastructure">User's
-    Guide to the Haskell Infrastructure</link>. Users migrating from an
-    earlier release may find helpful information below, in the list of
-    backwards-incompatible changes. Furthermore, we distribute 51(!)
-    additional Haskell package sets that provide every single <link
+    Guide to the Haskell Infrastructure</link>. Users migrating from an earlier
+    release may find helpful information below, in the list of
+    backwards-incompatible changes. Furthermore, we distribute 51(!) additional
+    Haskell package sets that provide every single
+    <link
     xlink:href="http://www.stackage.org/">LTS Haskell</link> release
-    since version 0.0 as well as the most recent <link
+    since version 0.0 as well as the most recent
+    <link
     xlink:href="http://www.stackage.org/">Stackage Nightly</link>
-    snapshot. The announcement <link
+    snapshot. The announcement
+    <link
     xlink:href="https://nixos.org/nix-dev/2015-September/018138.html">&quot;Full
-    Stackage Support in Nixpkgs&quot;</link> gives additional
-    details.</para>
+    Stackage Support in Nixpkgs&quot;</link> gives additional details.
+   </para>
   </listitem>
-
   <listitem>
-    <para>Nix has been updated to version 1.10, which among other
-    improvements enables cryptographic signatures on binary caches for
-    improved security.</para>
+   <para>
+    Nix has been updated to version 1.10, which among other improvements
+    enables cryptographic signatures on binary caches for improved security.
+   </para>
   </listitem>
-
   <listitem>
-    <para>You can now keep your NixOS system up to date automatically
-    by setting
-
+   <para>
+    You can now keep your NixOS system up to date automatically by setting
 <programlisting>
 system.autoUpgrade.enable = true;
 </programlisting>
-
-    This will cause the system to periodically check for updates in
-    your current channel and run <command>nixos-rebuild</command>.</para>
+    This will cause the system to periodically check for updates in your
+    current channel and run <command>nixos-rebuild</command>.
+   </para>
   </listitem>
-
   <listitem>
-    <para>This release is based on Glibc 2.21, GCC 4.9 and Linux
-    3.18.</para>
+   <para>
+    This release is based on Glibc 2.21, GCC 4.9 and Linux 3.18.
+   </para>
   </listitem>
-
   <listitem>
-    <para>GNOME has been upgraded to 3.16.
-    </para>
+   <para>
+    GNOME has been upgraded to 3.16.
+   </para>
   </listitem>
-
   <listitem>
-    <para>Xfce has been upgraded to 4.12.
-    </para>
+   <para>
+    Xfce has been upgraded to 4.12.
+   </para>
   </listitem>
-
   <listitem>
-    <para>KDE 5 has been upgraded to KDE Frameworks 5.10,
-      Plasma 5.3.2 and Applications 15.04.3.
-      KDE 4 has been updated to kdelibs-4.14.10.
-    </para>
+   <para>
+    KDE 5 has been upgraded to KDE Frameworks 5.10, Plasma 5.3.2 and
+    Applications 15.04.3. KDE 4 has been updated to kdelibs-4.14.10.
+   </para>
   </listitem>
-
   <listitem>
-    <para>E19 has been upgraded to 0.16.8.15.
-    </para>
+   <para>
+    E19 has been upgraded to 0.16.8.15.
+   </para>
   </listitem>
+ </itemizedlist>
 
-</itemizedlist>
-
-
-<para>The following new services were added since the last release:
-
+ <para>
+  The following new services were added since the last release:
   <itemizedlist>
-    <listitem><para><literal>services/mail/exim.nix</literal></para></listitem>
-    <listitem><para><literal>services/misc/apache-kafka.nix</literal></para></listitem>
-    <listitem><para><literal>services/misc/canto-daemon.nix</literal></para></listitem>
-    <listitem><para><literal>services/misc/confd.nix</literal></para></listitem>
-    <listitem><para><literal>services/misc/devmon.nix</literal></para></listitem>
-    <listitem><para><literal>services/misc/gitit.nix</literal></para></listitem>
-    <listitem><para><literal>services/misc/ihaskell.nix</literal></para></listitem>
-    <listitem><para><literal>services/misc/mbpfan.nix</literal></para></listitem>
-    <listitem><para><literal>services/misc/mediatomb.nix</literal></para></listitem>
-    <listitem><para><literal>services/misc/mwlib.nix</literal></para></listitem>
-    <listitem><para><literal>services/misc/parsoid.nix</literal></para></listitem>
-    <listitem><para><literal>services/misc/plex.nix</literal></para></listitem>
-    <listitem><para><literal>services/misc/ripple-rest.nix</literal></para></listitem>
-    <listitem><para><literal>services/misc/ripple-data-api.nix</literal></para></listitem>
-    <listitem><para><literal>services/misc/subsonic.nix</literal></para></listitem>
-    <listitem><para><literal>services/misc/sundtek.nix</literal></para></listitem>
-    <listitem><para><literal>services/monitoring/cadvisor.nix</literal></para></listitem>
-    <listitem><para><literal>services/monitoring/das_watchdog.nix</literal></para></listitem>
-    <listitem><para><literal>services/monitoring/grafana.nix</literal></para></listitem>
-    <listitem><para><literal>services/monitoring/riemann-tools.nix</literal></para></listitem>
-    <listitem><para><literal>services/monitoring/teamviewer.nix</literal></para></listitem>
-    <listitem><para><literal>services/network-filesystems/u9fs.nix</literal></para></listitem>
-    <listitem><para><literal>services/networking/aiccu.nix</literal></para></listitem>
-    <listitem><para><literal>services/networking/asterisk.nix</literal></para></listitem>
-    <listitem><para><literal>services/networking/bird.nix</literal></para></listitem>
-    <listitem><para><literal>services/networking/charybdis.nix</literal></para></listitem>
-    <listitem><para><literal>services/networking/docker-registry-server.nix</literal></para></listitem>
-    <listitem><para><literal>services/networking/fan.nix</literal></para></listitem>
-    <listitem><para><literal>services/networking/firefox/sync-server.nix</literal></para></listitem>
-    <listitem><para><literal>services/networking/gateone.nix</literal></para></listitem>
-    <listitem><para><literal>services/networking/heyefi.nix</literal></para></listitem>
-    <listitem><para><literal>services/networking/i2p.nix</literal></para></listitem>
-    <listitem><para><literal>services/networking/lambdabot.nix</literal></para></listitem>
-    <listitem><para><literal>services/networking/mstpd.nix</literal></para></listitem>
-    <listitem><para><literal>services/networking/nix-serve.nix</literal></para></listitem>
-    <listitem><para><literal>services/networking/nylon.nix</literal></para></listitem>
-    <listitem><para><literal>services/networking/racoon.nix</literal></para></listitem>
-    <listitem><para><literal>services/networking/skydns.nix</literal></para></listitem>
-    <listitem><para><literal>services/networking/shout.nix</literal></para></listitem>
-    <listitem><para><literal>services/networking/softether.nix</literal></para></listitem>
-    <listitem><para><literal>services/networking/sslh.nix</literal></para></listitem>
-    <listitem><para><literal>services/networking/tinc.nix</literal></para></listitem>
-    <listitem><para><literal>services/networking/tlsdated.nix</literal></para></listitem>
-    <listitem><para><literal>services/networking/tox-bootstrapd.nix</literal></para></listitem>
-    <listitem><para><literal>services/networking/tvheadend.nix</literal></para></listitem>
-    <listitem><para><literal>services/networking/zerotierone.nix</literal></para></listitem>
-    <listitem><para><literal>services/scheduling/marathon.nix</literal></para></listitem>
-    <listitem><para><literal>services/security/fprintd.nix</literal></para></listitem>
-    <listitem><para><literal>services/security/hologram.nix</literal></para></listitem>
-    <listitem><para><literal>services/security/munge.nix</literal></para></listitem>
-    <listitem><para><literal>services/system/cloud-init.nix</literal></para></listitem>
-    <listitem><para><literal>services/web-servers/shellinabox.nix</literal></para></listitem>
-    <listitem><para><literal>services/web-servers/uwsgi.nix</literal></para></listitem>
-    <listitem><para><literal>services/x11/unclutter.nix</literal></para></listitem>
-    <listitem><para><literal>services/x11/display-managers/sddm.nix</literal></para></listitem>
-    <listitem><para><literal>system/boot/coredump.nix</literal></para></listitem>
-    <listitem><para><literal>system/boot/loader/loader.nix</literal></para></listitem>
-    <listitem><para><literal>system/boot/loader/generic-extlinux-compatible</literal></para></listitem>
-    <listitem><para><literal>system/boot/networkd.nix</literal></para></listitem>
-    <listitem><para><literal>system/boot/resolved.nix</literal></para></listitem>
-    <listitem><para><literal>system/boot/timesyncd.nix</literal></para></listitem>
-    <listitem><para><literal>tasks/filesystems/exfat.nix</literal></para></listitem>
-    <listitem><para><literal>tasks/filesystems/ntfs.nix</literal></para></listitem>
-    <listitem><para><literal>tasks/filesystems/vboxsf.nix</literal></para></listitem>
-    <listitem><para><literal>virtualisation/virtualbox-host.nix</literal></para></listitem>
-    <listitem><para><literal>virtualisation/vmware-guest.nix</literal></para></listitem>
-    <listitem><para><literal>virtualisation/xen-dom0.nix</literal></para></listitem>
+   <listitem>
+    <para>
+     <literal>services/mail/exim.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/misc/apache-kafka.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/misc/canto-daemon.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/misc/confd.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/misc/devmon.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/misc/gitit.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/misc/ihaskell.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/misc/mbpfan.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/misc/mediatomb.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/misc/mwlib.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/misc/parsoid.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/misc/plex.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/misc/ripple-rest.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/misc/ripple-data-api.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/misc/subsonic.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/misc/sundtek.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/monitoring/cadvisor.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/monitoring/das_watchdog.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/monitoring/grafana.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/monitoring/riemann-tools.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/monitoring/teamviewer.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/network-filesystems/u9fs.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/networking/aiccu.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/networking/asterisk.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/networking/bird.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/networking/charybdis.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/networking/docker-registry-server.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/networking/fan.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/networking/firefox/sync-server.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/networking/gateone.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/networking/heyefi.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/networking/i2p.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/networking/lambdabot.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/networking/mstpd.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/networking/nix-serve.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/networking/nylon.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/networking/racoon.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/networking/skydns.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/networking/shout.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/networking/softether.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/networking/sslh.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/networking/tinc.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/networking/tlsdated.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/networking/tox-bootstrapd.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/networking/tvheadend.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/networking/zerotierone.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/scheduling/marathon.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/security/fprintd.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/security/hologram.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/security/munge.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/system/cloud-init.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/web-servers/shellinabox.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/web-servers/uwsgi.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/x11/unclutter.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/x11/display-managers/sddm.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>system/boot/coredump.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>system/boot/loader/loader.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>system/boot/loader/generic-extlinux-compatible</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>system/boot/networkd.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>system/boot/resolved.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>system/boot/timesyncd.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>tasks/filesystems/exfat.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>tasks/filesystems/ntfs.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>tasks/filesystems/vboxsf.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>virtualisation/virtualbox-host.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>virtualisation/vmware-guest.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>virtualisation/xen-dom0.nix</literal>
+    </para>
+   </listitem>
   </itemizedlist>
-</para>
-
-
-<para>When upgrading from a previous release, please be aware of the
-following incompatible changes:
-
-<itemizedlist>
-
-<listitem><para><command>sshd</command> no longer supports DSA and ECDSA
-host keys by default. If you have existing systems with such host keys
-and want to continue to use them, please set
+ </para>
 
+ <para>
+  When upgrading from a previous release, please be aware of the following
+  incompatible changes:
+  <itemizedlist>
+   <listitem>
+    <para>
+     <command>sshd</command> no longer supports DSA and ECDSA host keys by
+     default. If you have existing systems with such host keys and want to
+     continue to use them, please set
 <programlisting>
-system.stateVersion = "14.12";
+system.nixos.stateVersion = "14.12";
 </programlisting>
-
-The new option <option>system.stateVersion</option> ensures that
-certain configuration changes that could break existing systems (such
-as the <command>sshd</command> host key setting) will maintain
-compatibility with the specified NixOS release. NixOps sets the state
-version of existing deployments automatically.</para></listitem>
-
-<listitem><para><command>cron</command> is no longer enabled by
-default, unless you have a non-empty
-<option>services.cron.systemCronJobs</option>. To force
-<command>cron</command> to be enabled, set
-<option>services.cron.enable = true</option>.</para></listitem>
-
-<listitem><para>Nix now requires binary caches to be cryptographically
-signed. If you have unsigned binary caches that you want to continue
-to use, you should set <option>nix.requireSignedBinaryCaches =
-false</option>.</para></listitem>
-
-<listitem><para>Steam now doesn't need root rights to work. Instead of using
-<literal>*-steam-chrootenv</literal>, you should now just run <literal>steam</literal>.
-<literal>steamChrootEnv</literal> package was renamed to <literal>steam</literal>,
-and old <literal>steam</literal> package -- to <literal>steamOriginal</literal>.
-</para></listitem>
-
-<listitem><para>CMPlayer has been renamed to bomi upstream. Package
-<literal>cmplayer</literal> was accordingly renamed to
-<literal>bomi</literal> </para></listitem>
-
-<listitem><para>Atom Shell has been renamed to Electron upstream.  Package <literal>atom-shell</literal>
-was accordingly renamed to <literal>electron</literal>
-</para></listitem>
-
-<listitem><para>Elm is not released on Hackage anymore. You should now use <literal>elmPackages.elm</literal>
-which contains the latest Elm platform.</para></listitem>
-
-<listitem>
-  <para>The CUPS printing service has been updated to version
-  <literal>2.0.2</literal>.  Furthermore its systemd service has been
-  renamed to <literal>cups.service</literal>.</para>
-
-  <para>Local printers are no longer shared or advertised by
-  default. This behavior can be changed by enabling
-  <option>services.printing.defaultShared</option> or
-  <option>services.printing.browsing</option> respectively.</para>
-</listitem>
-
-<listitem>
-  <para>
-    The VirtualBox host and guest options have been named more
-    consistently. They can now found in
-    <option>virtualisation.virtualbox.host.*</option> instead of
-    <option>services.virtualboxHost.*</option> and
-    <option>virtualisation.virtualbox.guest.*</option> instead of
-    <option>services.virtualboxGuest.*</option>.
-  </para>
-
-  <para>
-    Also, there now is support for the <literal>vboxsf</literal> file
-    system using the <option>fileSystems</option> configuration
-    attribute. An example of how this can be used in a configuration:
-
+     The new option <option>system.nixos.stateVersion</option> ensures that certain
+     configuration changes that could break existing systems (such as the
+     <command>sshd</command> host key setting) will maintain compatibility with
+     the specified NixOS release. NixOps sets the state version of existing
+     deployments automatically.
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <command>cron</command> is no longer enabled by default, unless you have a
+     non-empty <option>services.cron.systemCronJobs</option>. To force
+     <command>cron</command> to be enabled, set <option>services.cron.enable =
+     true</option>.
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     Nix now requires binary caches to be cryptographically signed. If you have
+     unsigned binary caches that you want to continue to use, you should set
+     <option>nix.requireSignedBinaryCaches = false</option>.
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     Steam now doesn't need root rights to work. Instead of using
+     <literal>*-steam-chrootenv</literal>, you should now just run
+     <literal>steam</literal>. <literal>steamChrootEnv</literal> package was
+     renamed to <literal>steam</literal>, and old <literal>steam</literal>
+     package -- to <literal>steamOriginal</literal>.
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     CMPlayer has been renamed to bomi upstream. Package
+     <literal>cmplayer</literal> was accordingly renamed to
+     <literal>bomi</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     Atom Shell has been renamed to Electron upstream. Package
+     <literal>atom-shell</literal> was accordingly renamed to
+     <literal>electron</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     Elm is not released on Hackage anymore. You should now use
+     <literal>elmPackages.elm</literal> which contains the latest Elm platform.
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     The CUPS printing service has been updated to version
+     <literal>2.0.2</literal>. Furthermore its systemd service has been renamed
+     to <literal>cups.service</literal>.
+    </para>
+    <para>
+     Local printers are no longer shared or advertised by default. This
+     behavior can be changed by enabling
+     <option>services.printing.defaultShared</option> or
+     <option>services.printing.browsing</option> respectively.
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     The VirtualBox host and guest options have been named more consistently.
+     They can now found in <option>virtualisation.virtualbox.host.*</option>
+     instead of <option>services.virtualboxHost.*</option> and
+     <option>virtualisation.virtualbox.guest.*</option> instead of
+     <option>services.virtualboxGuest.*</option>.
+    </para>
+    <para>
+     Also, there now is support for the <literal>vboxsf</literal> file system
+     using the <option>fileSystems</option> configuration attribute. An example
+     of how this can be used in a configuration:
 <programlisting>
 fileSystems."/shiny" = {
   device = "myshinysharedfolder";
   fsType = "vboxsf";
 };
 </programlisting>
-
-  </para>
-</listitem>
-
-<listitem>
-  <para>
-    &quot;<literal>nix-env -qa</literal>&quot; no longer discovers
-    Haskell packages by name. The only packages visible in the global
-    scope are <literal>ghc</literal>, <literal>cabal-install</literal>,
-    and <literal>stack</literal>, but all other packages are hidden. The
-    reason for this inconvenience is the sheer size of the Haskell
-    package set. Name-based lookups are expensive, and most
-    <literal>nix-env -qa</literal> operations would become much slower
-    if we'd add the entire Hackage database into the top level attribute
-    set. Instead, the list of Haskell packages can be displayed by
-    running:
-  </para>
-  <programlisting>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     &quot;<literal>nix-env -qa</literal>&quot; no longer discovers Haskell
+     packages by name. The only packages visible in the global scope are
+     <literal>ghc</literal>, <literal>cabal-install</literal>, and
+     <literal>stack</literal>, but all other packages are hidden. The reason
+     for this inconvenience is the sheer size of the Haskell package set.
+     Name-based lookups are expensive, and most <literal>nix-env -qa</literal>
+     operations would become much slower if we'd add the entire Hackage
+     database into the top level attribute set. Instead, the list of Haskell
+     packages can be displayed by running:
+    </para>
+<programlisting>
 nix-env -f &quot;&lt;nixpkgs&gt;&quot; -qaP -A haskellPackages
 </programlisting>
-  <para>
-    Executable programs written in Haskell can be installed with:
-  </para>
-  <programlisting>
+    <para>
+     Executable programs written in Haskell can be installed with:
+    </para>
+<programlisting>
 nix-env -f &quot;&lt;nixpkgs&gt;&quot; -iA haskellPackages.pandoc
 </programlisting>
-  <para>
-    Installing Haskell <emphasis>libraries</emphasis> this way, however, is no
-    longer supported. See the next item for more details.
-  </para>
-</listitem>
-
-<listitem>
-  <para>
-    Previous versions of NixOS came with a feature called
-    <literal>ghc-wrapper</literal>, a small script that allowed GHC to
-    transparently pick up on libraries installed in the user's profile. This
-    feature has been deprecated; <literal>ghc-wrapper</literal> was removed
-    from the distribution. The proper way to register Haskell libraries with
-    the compiler now is the <literal>haskellPackages.ghcWithPackages</literal>
-    function. The <link
+    <para>
+     Installing Haskell <emphasis>libraries</emphasis> this way, however, is no
+     longer supported. See the next item for more details.
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     Previous versions of NixOS came with a feature called
+     <literal>ghc-wrapper</literal>, a small script that allowed GHC to
+     transparently pick up on libraries installed in the user's profile. This
+     feature has been deprecated; <literal>ghc-wrapper</literal> was removed
+     from the distribution. The proper way to register Haskell libraries with
+     the compiler now is the <literal>haskellPackages.ghcWithPackages</literal>
+     function. The
+     <link
     xlink:href="http://nixos.org/nixpkgs/manual/#users-guide-to-the-haskell-infrastructure">User's
-    Guide to the Haskell Infrastructure</link> provides more information about
-    this subject.
-  </para>
-</listitem>
-
-<listitem>
-  <para>
-    All Haskell builds that have been generated with version 1.x of
-    the <literal>cabal2nix</literal> utility are now invalid and need
-    to be re-generated with a current version of
-    <literal>cabal2nix</literal> to function. The most recent version
-    of this tool can be installed by running
-    <literal>nix-env -i cabal2nix</literal>.
-  </para>
-</listitem>
-
-<listitem>
-  <para>
-    The <literal>haskellPackages</literal> set in Nixpkgs used to have a
-    function attribute called <literal>extension</literal> that users
-    could override in their <literal>~/.nixpkgs/config.nix</literal>
-    files to configure additional attributes, etc. That function still
-    exists, but it's now called <literal>overrides</literal>.
-  </para>
-</listitem>
-
-<listitem>
-  <para>
-    The OpenBLAS library has been updated to version
-    <literal>0.2.14</literal>. Support for the
-    <literal>x86_64-darwin</literal> platform was added. Dynamic
-    architecture detection was enabled; OpenBLAS now selects
-    microarchitecture-optimized routines at runtime, so optimal
-    performance is achieved without the need to rebuild OpenBLAS
-    locally. OpenBLAS has replaced ATLAS in most packages which use an
-    optimized BLAS or LAPACK implementation.
- </para>
-</listitem>
-
-<listitem>
-  <para>
-    The <literal>phpfpm</literal> is now using the default PHP version
-    (<literal>pkgs.php</literal>) instead of PHP 5.4 (<literal>pkgs.php54</literal>).
-  </para>
-</listitem>
-
-<listitem>
-  <para>
-    The <literal>locate</literal> service no longer indexes the Nix store
-    by default, preventing packages with potentially numerous versions from
-    cluttering the output. Indexing the store can be activated by setting
-    <option>services.locate.includeStore = true</option>.
-  </para>
-</listitem>
-
-<listitem>
-  <para>
-    The Nix expression search path (<envar>NIX_PATH</envar>) no longer
-    contains <filename>/etc/nixos/nixpkgs</filename> by default. You
-    can override <envar>NIX_PATH</envar> by setting
-    <option>nix.nixPath</option>.
-  </para>
-</listitem>
-
-<listitem>
-  <para>
-    Python 2.6 has been marked as broken (as it no longer receives
-    security updates from upstream).
-  </para>
-</listitem>
-
-<listitem>
-  <para>
-    Any use of module arguments such as <varname>pkgs</varname> to access
-    library functions, or to define <literal>imports</literal> attributes
-    will now lead to an infinite loop at the time of the evaluation.
-  </para>
-
-  <para>
-    In case of an infinite loop, use the <command>--show-trace</command>
-    command line argument and read the line just above the error message.
-
+     Guide to the Haskell Infrastructure</link> provides more information about
+     this subject.
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     All Haskell builds that have been generated with version 1.x of the
+     <literal>cabal2nix</literal> utility are now invalid and need to be
+     re-generated with a current version of <literal>cabal2nix</literal> to
+     function. The most recent version of this tool can be installed by running
+     <literal>nix-env -i cabal2nix</literal>.
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     The <literal>haskellPackages</literal> set in Nixpkgs used to have a
+     function attribute called <literal>extension</literal> that users could
+     override in their <literal>~/.nixpkgs/config.nix</literal> files to
+     configure additional attributes, etc. That function still exists, but it's
+     now called <literal>overrides</literal>.
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     The OpenBLAS library has been updated to version
+     <literal>0.2.14</literal>. Support for the
+     <literal>x86_64-darwin</literal> platform was added. Dynamic architecture
+     detection was enabled; OpenBLAS now selects microarchitecture-optimized
+     routines at runtime, so optimal performance is achieved without the need
+     to rebuild OpenBLAS locally. OpenBLAS has replaced ATLAS in most packages
+     which use an optimized BLAS or LAPACK implementation.
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     The <literal>phpfpm</literal> is now using the default PHP version
+     (<literal>pkgs.php</literal>) instead of PHP 5.4
+     (<literal>pkgs.php54</literal>).
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     The <literal>locate</literal> service no longer indexes the Nix store by
+     default, preventing packages with potentially numerous versions from
+     cluttering the output. Indexing the store can be activated by setting
+     <option>services.locate.includeStore = true</option>.
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     The Nix expression search path (<envar>NIX_PATH</envar>) no longer
+     contains <filename>/etc/nixos/nixpkgs</filename> by default. You can
+     override <envar>NIX_PATH</envar> by setting <option>nix.nixPath</option>.
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     Python 2.6 has been marked as broken (as it no longer receives security
+     updates from upstream).
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     Any use of module arguments such as <varname>pkgs</varname> to access
+     library functions, or to define <literal>imports</literal> attributes will
+     now lead to an infinite loop at the time of the evaluation.
+    </para>
+    <para>
+     In case of an infinite loop, use the <command>--show-trace</command>
+     command line argument and read the line just above the error message.
 <screen>
 $ nixos-rebuild build --show-trace

 while evaluating the module argument `pkgs' in "/etc/nixos/my-module.nix":
 infinite recursion encountered
 </screen>
-  </para>
-
-
-  <para>
-    Any use of <literal>pkgs.lib</literal>, should be replaced by
-    <varname>lib</varname>, after adding it as argument of the module.  The
-    following module
-
+    </para>
+    <para>
+     Any use of <literal>pkgs.lib</literal>, should be replaced by
+     <varname>lib</varname>, after adding it as argument of the module. The
+     following module
 <programlisting>
 { config, pkgs, ... }:
 
@@ -384,9 +649,7 @@ with pkgs.lib;
   config = mkIf config.foo { … };
 }
 </programlisting>
-
-   should be modified to look like:
-
+     should be modified to look like:
 <programlisting>
 { config, pkgs, lib, ... }:
 
@@ -399,13 +662,11 @@ with lib;
   config = mkIf config.foo { <replaceable>option definition</replaceable> };
 }
 </programlisting>
-  </para>
-
-  <para>
-    When <varname>pkgs</varname> is used to download other projects to
-    import their modules, and only in such cases, it should be replaced by
-    <literal>(import &lt;nixpkgs&gt; {})</literal>.  The following module
-
+    </para>
+    <para>
+     When <varname>pkgs</varname> is used to download other projects to import
+     their modules, and only in such cases, it should be replaced by
+     <literal>(import &lt;nixpkgs&gt; {})</literal>. The following module
 <programlisting>
 { config, pkgs, ... }:
 
@@ -420,9 +681,7 @@ in
   imports = [ "${myProject}/module.nix" ];
 }
 </programlisting>
-
-    should be modified to look like:
-
+     should be modified to look like:
 <programlisting>
 { config, pkgs, ... }:
 
@@ -437,55 +696,55 @@ in
   imports = [ "${myProject}/module.nix" ];
 }
 </programlisting>
-  </para>
-
-</listitem>
-
-</itemizedlist>
-</para>
-
-
-<para>Other notable improvements:
-
-<itemizedlist>
-
-  <listitem><para>The nixos and nixpkgs channels were unified,
-    so one <emphasis>can</emphasis> use <literal>nix-env -iA nixos.bash</literal>
-    instead of <literal>nix-env -iA nixos.pkgs.bash</literal>.
-    See <link xlink:href="https://github.com/NixOS/nixpkgs/commit/2cd7c1f198">the commit</link> for details.
-  </para></listitem>
+    </para>
+   </listitem>
+  </itemizedlist>
+ </para>
 
-  <listitem>
+ <para>
+  Other notable improvements:
+  <itemizedlist>
+   <listitem>
     <para>
-      Users running an SSH server who worry about the quality of their
-      <literal>/etc/ssh/moduli</literal> file with respect to the
-      <link
+     The nixos and nixpkgs channels were unified, so one
+     <emphasis>can</emphasis> use <literal>nix-env -iA nixos.bash</literal>
+     instead of <literal>nix-env -iA nixos.pkgs.bash</literal>. See
+     <link xlink:href="https://github.com/NixOS/nixpkgs/commit/2cd7c1f198">the
+     commit</link> for details.
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     Users running an SSH server who worry about the quality of their
+     <literal>/etc/ssh/moduli</literal> file with respect to the
+     <link
       xlink:href="https://stribika.github.io/2015/01/04/secure-secure-shell.html">vulnerabilities
-      discovered in the Diffie-Hellman key exchange</link> can now
-      replace OpenSSH's default version with one they generated
-      themselves using the new
-      <option>services.openssh.moduliFile</option> option.
-      </para>
-  </listitem>
-
-  <listitem> <para>
-    A newly packaged TeX Live 2015 is provided in <literal>pkgs.texlive</literal>,
-    split into 6500 nix packages. For basic user documentation see
-    <link xlink:href="https://github.com/NixOS/nixpkgs/blob/release-15.09/pkgs/tools/typesetting/tex/texlive/default.nix#L1"
-      >the source</link>.
-    Beware of <link xlink:href="https://github.com/NixOS/nixpkgs/issues/9757"
-      >an issue</link> when installing a too large package set.
-
-    The plan is to deprecate and maybe delete the original TeX packages
-    until the next release.
-  </para> </listitem>
-
-  <listitem><para>
-    <option>buildEnv.env</option> on all Python interpreters
-    is now available for nix-shell interoperability.
-  </para> </listitem>
-</itemizedlist>
-
-</para>
-
+     discovered in the Diffie-Hellman key exchange</link> can now replace
+     OpenSSH's default version with one they generated themselves using the new
+     <option>services.openssh.moduliFile</option> option.
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     A newly packaged TeX Live 2015 is provided in
+     <literal>pkgs.texlive</literal>, split into 6500 nix packages. For basic
+     user documentation see
+     <link xlink:href="https://github.com/NixOS/nixpkgs/blob/release-15.09/pkgs/tools/typesetting/tex/texlive/default.nix#L1"
+      >the
+     source</link>. Beware of
+     <link xlink:href="https://github.com/NixOS/nixpkgs/issues/9757"
+      >an
+     issue</link> when installing a too large package set. The plan is to
+     deprecate and maybe delete the original TeX packages until the next
+     release.
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <option>buildEnv.env</option> on all Python interpreters is now available
+     for nix-shell interoperability.
+    </para>
+   </listitem>
+  </itemizedlist>
+ </para>
 </section>
diff --git a/nixos/doc/manual/release-notes/rl-1603.xml b/nixos/doc/manual/release-notes/rl-1603.xml
index 7279dd05827..9b512c4b1e5 100644
--- a/nixos/doc/manual/release-notes/rl-1603.xml
+++ b/nixos/doc/manual/release-notes/rl-1603.xml
@@ -3,250 +3,471 @@
          xmlns:xi="http://www.w3.org/2001/XInclude"
          version="5.0"
          xml:id="sec-release-16.03">
+ <title>Release 16.03 (“Emu”, 2016/03/31)</title>
 
-<title>Release 16.03 (“Emu”, 2016/03/31)</title>
-
-<para>In addition to numerous new and upgraded packages, this release
-has the following highlights:</para>
-
-<itemizedlist>
+ <para>
+  In addition to numerous new and upgraded packages, this release has the
+  following highlights:
+ </para>
 
+ <itemizedlist>
   <listitem>
-    <para>Systemd 229, bringing <link
+   <para>
+    Systemd 229, bringing
+    <link
     xlink:href="https://github.com/systemd/systemd/blob/v229/NEWS">numerous
-    improvements</link> over 217.</para>
+    improvements</link> over 217.
+   </para>
   </listitem>
-
   <listitem>
-    <para>Linux 4.4 (was 3.18).</para>
+   <para>
+    Linux 4.4 (was 3.18).
+   </para>
   </listitem>
-
   <listitem>
-    <para>GCC 5.3 (was 4.9). Note that GCC 5 <link
+   <para>
+    GCC 5.3 (was 4.9). Note that GCC 5
+    <link
     xlink:href="https://gcc.gnu.org/onlinedocs/libstdc++/manual/using_dual_abi.html">changes
-    the C++ ABI in an incompatible way</link>; this may cause problems
-    if you try to link objects compiled with different versions of
-    GCC.</para>
+    the C++ ABI in an incompatible way</link>; this may cause problems if you
+    try to link objects compiled with different versions of GCC.
+   </para>
   </listitem>
-
   <listitem>
-    <para>Glibc 2.23 (was 2.21).</para>
+   <para>
+    Glibc 2.23 (was 2.21).
+   </para>
   </listitem>
-
   <listitem>
-    <para>Binutils 2.26 (was 2.23.1). See #909</para>
+   <para>
+    Binutils 2.26 (was 2.23.1). See #909
+   </para>
   </listitem>
-
   <listitem>
-    <para>Improved support for ensuring <link
-    xlink:href="https://reproducible-builds.org/">bitwise reproducible
-    builds</link>. For example, <literal>stdenv</literal> now sets the
-    environment variable <envar
+   <para>
+    Improved support for ensuring
+    <link
+    xlink:href="https://reproducible-builds.org/">bitwise
+    reproducible builds</link>. For example, <literal>stdenv</literal> now sets
+    the environment variable
+    <envar
     xlink:href="https://reproducible-builds.org/specs/source-date-epoch/">SOURCE_DATE_EPOCH</envar>
-    to a deterministic value, and Nix has <link
+    to a deterministic value, and Nix has
+    <link
     xlink:href="http://nixos.org/nix/manual/#ssec-relnotes-1.11">gained
-    an option</link> to repeat a build a number of times to test
-    determinism. An ongoing project, the goal of exact reproducibility
-    is to allow binaries to be verified independently (e.g., a user
-    might only trust binaries that appear in three independent binary
-    caches).</para>
+    an option</link> to repeat a build a number of times to test determinism.
+    An ongoing project, the goal of exact reproducibility is to allow binaries
+    to be verified independently (e.g., a user might only trust binaries that
+    appear in three independent binary caches).
+   </para>
   </listitem>
-
   <listitem>
-    <para>Perl 5.22.</para>
+   <para>
+    Perl 5.22.
+   </para>
   </listitem>
+ </itemizedlist>
 
-</itemizedlist>
-
-<para>The following new services were added since the last release:
-
+ <para>
+  The following new services were added since the last release:
   <itemizedlist>
-    <listitem><para><literal>services/monitoring/longview.nix</literal></para></listitem>
-    <listitem><para><literal>hardware/video/webcam/facetimehd.nix</literal></para></listitem>
-    <listitem><para><literal>i18n/input-method/default.nix</literal></para></listitem>
-    <listitem><para><literal>i18n/input-method/fcitx.nix</literal></para></listitem>
-    <listitem><para><literal>i18n/input-method/ibus.nix</literal></para></listitem>
-    <listitem><para><literal>i18n/input-method/nabi.nix</literal></para></listitem>
-    <listitem><para><literal>i18n/input-method/uim.nix</literal></para></listitem>
-    <listitem><para><literal>programs/fish.nix</literal></para></listitem>
-    <listitem><para><literal>security/acme.nix</literal></para></listitem>
-    <listitem><para><literal>security/audit.nix</literal></para></listitem>
-    <listitem><para><literal>security/oath.nix</literal></para></listitem>
-    <listitem><para><literal>services/hardware/irqbalance.nix</literal></para></listitem>
-    <listitem><para><literal>services/mail/dspam.nix</literal></para></listitem>
-    <listitem><para><literal>services/mail/opendkim.nix</literal></para></listitem>
-    <listitem><para><literal>services/mail/postsrsd.nix</literal></para></listitem>
-    <listitem><para><literal>services/mail/rspamd.nix</literal></para></listitem>
-    <listitem><para><literal>services/mail/rmilter.nix</literal></para></listitem>
-    <listitem><para><literal>services/misc/autofs.nix</literal></para></listitem>
-    <listitem><para><literal>services/misc/bepasty.nix</literal></para></listitem>
-    <listitem><para><literal>services/misc/calibre-server.nix</literal></para></listitem>
-    <listitem><para><literal>services/misc/cfdyndns.nix</literal></para></listitem>
-    <listitem><para><literal>services/misc/gammu-smsd.nix</literal></para></listitem>
-    <listitem><para><literal>services/misc/mathics.nix</literal></para></listitem>
-    <listitem><para><literal>services/misc/matrix-synapse.nix</literal></para></listitem>
-    <listitem><para><literal>services/misc/octoprint.nix</literal></para></listitem>
-    <listitem><para><literal>services/monitoring/hdaps.nix</literal></para></listitem>
-    <listitem><para><literal>services/monitoring/heapster.nix</literal></para></listitem>
-    <listitem><para><literal>services/monitoring/longview.nix</literal></para></listitem>
-    <listitem><para><literal>services/network-filesystems/netatalk.nix</literal></para></listitem>
-    <listitem><para><literal>services/network-filesystems/xtreemfs.nix</literal></para></listitem>
-    <listitem><para><literal>services/networking/autossh.nix</literal></para></listitem>
-    <listitem><para><literal>services/networking/dnschain.nix</literal></para></listitem>
-    <listitem><para><literal>services/networking/gale.nix</literal></para></listitem>
-    <listitem><para><literal>services/networking/miniupnpd.nix</literal></para></listitem>
-    <listitem><para><literal>services/networking/namecoind.nix</literal></para></listitem>
-    <listitem><para><literal>services/networking/ostinato.nix</literal></para></listitem>
-    <listitem><para><literal>services/networking/pdnsd.nix</literal></para></listitem>
-    <listitem><para><literal>services/networking/shairport-sync.nix</literal></para></listitem>
-    <listitem><para><literal>services/networking/supplicant.nix</literal></para></listitem>
-    <listitem><para><literal>services/search/kibana.nix</literal></para></listitem>
-    <listitem><para><literal>services/security/haka.nix</literal></para></listitem>
-    <listitem><para><literal>services/security/physlock.nix</literal></para></listitem>
-    <listitem><para><literal>services/web-apps/pump.io.nix</literal></para></listitem>
-    <listitem><para><literal>services/x11/hardware/libinput.nix</literal></para></listitem>
-    <listitem><para><literal>services/x11/window-managers/windowlab.nix</literal></para></listitem>
-    <listitem><para><literal>system/boot/initrd-network.nix</literal></para></listitem>
-    <listitem><para><literal>system/boot/initrd-ssh.nix</literal></para></listitem>
-    <listitem><para><literal>system/boot/loader/loader.nix</literal></para></listitem>
-    <listitem><para><literal>system/boot/networkd.nix</literal></para></listitem>
-    <listitem><para><literal>system/boot/resolved.nix</literal></para></listitem>
-    <listitem><para><literal>virtualisation/lxd.nix</literal></para></listitem>
-    <listitem><para><literal>virtualisation/rkt.nix</literal></para></listitem>
+   <listitem>
+    <para>
+     <literal>services/monitoring/longview.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>hardware/video/webcam/facetimehd.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>i18n/input-method/default.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>i18n/input-method/fcitx.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>i18n/input-method/ibus.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>i18n/input-method/nabi.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>i18n/input-method/uim.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>programs/fish.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>security/acme.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>security/audit.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>security/oath.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/hardware/irqbalance.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/mail/dspam.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/mail/opendkim.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/mail/postsrsd.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/mail/rspamd.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/mail/rmilter.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/misc/autofs.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/misc/bepasty.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/misc/calibre-server.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/misc/cfdyndns.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/misc/gammu-smsd.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/misc/mathics.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/misc/matrix-synapse.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/misc/octoprint.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/monitoring/hdaps.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/monitoring/heapster.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/monitoring/longview.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/network-filesystems/netatalk.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/network-filesystems/xtreemfs.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/networking/autossh.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/networking/dnschain.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/networking/gale.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/networking/miniupnpd.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/networking/namecoind.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/networking/ostinato.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/networking/pdnsd.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/networking/shairport-sync.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/networking/supplicant.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/search/kibana.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/security/haka.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/security/physlock.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/web-apps/pump.io.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/x11/hardware/libinput.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/x11/window-managers/windowlab.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>system/boot/initrd-network.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>system/boot/initrd-ssh.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>system/boot/loader/loader.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>system/boot/networkd.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>system/boot/resolved.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>virtualisation/lxd.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>virtualisation/rkt.nix</literal>
+    </para>
+   </listitem>
   </itemizedlist>
-</para>
-
-<para>When upgrading from a previous release, please be aware of the
-following incompatible changes:</para>
+ </para>
 
-<itemizedlist>
+ <para>
+  When upgrading from a previous release, please be aware of the following
+  incompatible changes:
+ </para>
 
+ <itemizedlist>
   <listitem>
-    <para>We no longer produce graphical ISO images and VirtualBox
-    images for <literal>i686-linux</literal>. A minimal ISO image is
-    still provided.</para>
+   <para>
+    We no longer produce graphical ISO images and VirtualBox images for
+    <literal>i686-linux</literal>. A minimal ISO image is still provided.
+   </para>
   </listitem>
-
   <listitem>
-    <para>Firefox and similar browsers are now <emphasis>wrapped by default</emphasis>.
-    The package and attribute names are plain <literal>firefox</literal>
-    or <literal>midori</literal>, etc.  Backward-compatibility attributes were set up,
-    but note that <command>nix-env -u</command> will <emphasis>not</emphasis> update
-    your current <literal>firefox-with-plugins</literal>;
-    you have to uninstall it and install <literal>firefox</literal> instead.</para>
+   <para>
+    Firefox and similar browsers are now <emphasis>wrapped by
+    default</emphasis>. The package and attribute names are plain
+    <literal>firefox</literal> or <literal>midori</literal>, etc.
+    Backward-compatibility attributes were set up, but note that
+    <command>nix-env -u</command> will <emphasis>not</emphasis> update your
+    current <literal>firefox-with-plugins</literal>; you have to uninstall it
+    and install <literal>firefox</literal> instead.
+   </para>
   </listitem>
-
   <listitem>
-    <para><command>wmiiSnap</command> has been replaced with
+   <para>
+    <command>wmiiSnap</command> has been replaced with
     <command>wmii_hg</command>, but
-    <command>services.xserver.windowManager.wmii.enable</command> has
-    been updated respectively so this only affects you if you have
-    explicitly installed <command>wmiiSnap</command>.
-    </para>
+    <command>services.xserver.windowManager.wmii.enable</command> has been
+    updated respectively so this only affects you if you have explicitly
+    installed <command>wmiiSnap</command>.
+   </para>
   </listitem>
-
   <listitem>
-    <para><literal>jobs</literal> NixOS option has been removed. It served as
+   <para>
+    <literal>jobs</literal> NixOS option has been removed. It served as
     compatibility layer between Upstart jobs and SystemD services. All services
-    have been rewritten to use <literal>systemd.services</literal></para>
+    have been rewritten to use <literal>systemd.services</literal>
+   </para>
   </listitem>
-
   <listitem>
-    <para><command>wmiimenu</command> is removed, as it has been
-    removed by the developers upstream. Use <command>wimenu</command>
-    from the <command>wmii-hg</command> package.</para>
+   <para>
+    <command>wmiimenu</command> is removed, as it has been removed by the
+    developers upstream. Use <command>wimenu</command> from the
+    <command>wmii-hg</command> package.
+   </para>
   </listitem>
-
   <listitem>
-    <para>Gitit is no longer automatically added to the module list in
-    NixOS and as such there will not be any manual entries for it. You
-    will need to add an import statement to your NixOS configuration
-    in order to use it, e.g.
-
+   <para>
+    Gitit is no longer automatically added to the module list in NixOS and as
+    such there will not be any manual entries for it. You will need to add an
+    import statement to your NixOS configuration in order to use it, e.g.
 <programlisting><![CDATA[
 {
   imports = [ <nixpkgs/nixos/modules/services/misc/gitit.nix> ];
 }
 ]]></programlisting>
-
-    will include the Gitit service configuration options.</para>
+    will include the Gitit service configuration options.
+   </para>
   </listitem>
-
   <listitem>
-    <para><command>nginx</command> does not accept flags for enabling and
-    disabling modules anymore. Instead it accepts <literal>modules</literal>
-    argument, which is a list of modules to be built in. All modules now
-    reside in <literal>nginxModules</literal> set. Example configuration:
-
+   <para>
+    <command>nginx</command> does not accept flags for enabling and disabling
+    modules anymore. Instead it accepts <literal>modules</literal> argument,
+    which is a list of modules to be built in. All modules now reside in
+    <literal>nginxModules</literal> set. Example configuration:
 <programlisting><![CDATA[
 nginx.override {
   modules = [ nginxModules.rtmp nginxModules.dav nginxModules.moreheaders ];
 }
 ]]></programlisting>
-    </para>
+   </para>
   </listitem>
-
   <listitem>
-    <para><command>s3sync</command> is removed, as it hasn't been
-    developed by upstream for 4 years and only runs with ruby 1.8.
-    For an actively-developer alternative look at
-    <command>tarsnap</command> and others.
-    </para>
+   <para>
+    <command>s3sync</command> is removed, as it hasn't been developed by
+    upstream for 4 years and only runs with ruby 1.8. For an actively-developer
+    alternative look at <command>tarsnap</command> and others.
+   </para>
   </listitem>
-
   <listitem>
-    <para><command>ruby_1_8</command> has been removed as it's not
-    supported from upstream anymore and probably contains security
-    issues.
-    </para>
+   <para>
+    <command>ruby_1_8</command> has been removed as it's not supported from
+    upstream anymore and probably contains security issues.
+   </para>
   </listitem>
-
   <listitem>
-    <para><literal>tidy-html5</literal> package is removed.
-    Upstream only provided <literal>(lib)tidy5</literal> during development,
-    and now they went back to <literal>(lib)tidy</literal> to work as a drop-in
-    replacement of the original package that has been unmaintained for years.
-    You can (still) use the <literal>html-tidy</literal> package, which got updated
-    to a stable release from this new upstream.</para>
+   <para>
+    <literal>tidy-html5</literal> package is removed. Upstream only provided
+    <literal>(lib)tidy5</literal> during development, and now they went back to
+    <literal>(lib)tidy</literal> to work as a drop-in replacement of the
+    original package that has been unmaintained for years. You can (still) use
+    the <literal>html-tidy</literal> package, which got updated to a stable
+    release from this new upstream.
+   </para>
   </listitem>
-
   <listitem>
-    <para><literal>extraDeviceOptions</literal> argument is removed
-    from <literal>bumblebee</literal> package. Instead there are
-    now two separate arguments: <literal>extraNvidiaDeviceOptions</literal>
-    and <literal>extraNouveauDeviceOptions</literal> for setting
-    extra X11 options for nvidia and nouveau drivers, respectively.
-    </para>
+   <para>
+    <literal>extraDeviceOptions</literal> argument is removed from
+    <literal>bumblebee</literal> package. Instead there are now two separate
+    arguments: <literal>extraNvidiaDeviceOptions</literal> and
+    <literal>extraNouveauDeviceOptions</literal> for setting extra X11 options
+    for nvidia and nouveau drivers, respectively.
+   </para>
   </listitem>
-
   <listitem>
-    <para>The <literal>Ctrl+Alt+Backspace</literal> key combination
-    no longer kills the X server by default.
-    There's a new option <option>services.xserver.enableCtrlAltBackspace</option>
-    allowing to enable the combination again.
-    </para>
+   <para>
+    The <literal>Ctrl+Alt+Backspace</literal> key combination no longer kills
+    the X server by default. There's a new option
+    <option>services.xserver.enableCtrlAltBackspace</option> allowing to enable
+    the combination again.
+   </para>
   </listitem>
-
   <listitem>
-    <para><literal>emacsPackagesNg</literal> now contains all packages
-    from the ELPA, MELPA, and MELPA Stable repositories.
-    </para>
+   <para>
+    <literal>emacsPackagesNg</literal> now contains all packages from the ELPA,
+    MELPA, and MELPA Stable repositories.
+   </para>
   </listitem>
-
   <listitem>
-    <para>Data directory for Postfix MTA server is moved from
+   <para>
+    Data directory for Postfix MTA server is moved from
     <filename>/var/postfix</filename> to <filename>/var/lib/postfix</filename>.
-    Old configurations are migrated automatically. <literal>service.postfix</literal>
-    module has also received many improvements, such as correct directories' access
-    rights, new <literal>aliasFiles</literal> and <literal>mapFiles</literal>
-    options and more.</para>
+    Old configurations are migrated automatically.
+    <literal>service.postfix</literal> module has also received many
+    improvements, such as correct directories' access rights, new
+    <literal>aliasFiles</literal> and <literal>mapFiles</literal> options and
+    more.
+   </para>
   </listitem>
-
   <listitem>
-    <para>Filesystem options should now be configured as a list of strings, not
-    a comma-separated string. The old style will continue to work, but print a
+   <para>
+    Filesystem options should now be configured as a list of strings, not a
+    comma-separated string. The old style will continue to work, but print a
     warning, until the 16.09 release. An example of the new style:
-
 <programlisting>
 fileSystems."/example" = {
   device = "/dev/sdc";
@@ -254,103 +475,103 @@ fileSystems."/example" = {
   options = [ "noatime" "compress=lzo" "space_cache" "autodefrag" ];
 };
 </programlisting>
-    </para>
+   </para>
   </listitem>
-
   <listitem>
-    <para>CUPS, installed by <literal>services.printing</literal> module, now
-    has its data directory in <filename>/var/lib/cups</filename>. Old
-    configurations from <filename>/etc/cups</filename> are moved there
-    automatically, but there might be problems. Also configuration options
+   <para>
+    CUPS, installed by <literal>services.printing</literal> module, now has its
+    data directory in <filename>/var/lib/cups</filename>. Old configurations
+    from <filename>/etc/cups</filename> are moved there automatically, but
+    there might be problems. Also configuration options
     <literal>services.printing.cupsdConf</literal> and
-    <literal>services.printing.cupsdFilesConf</literal> were removed
-    because they had been allowing one to override configuration variables
-    required for CUPS to work at all on NixOS. For most use cases,
+    <literal>services.printing.cupsdFilesConf</literal> were removed because
+    they had been allowing one to override configuration variables required for
+    CUPS to work at all on NixOS. For most use cases,
     <literal>services.printing.extraConf</literal> and new option
-    <literal>services.printing.extraFilesConf</literal> should be enough;
-    if you encounter a situation when they are not, please file a bug.</para>
-
-    <para>There are also Gutenprint improvements; in particular, a new option
-    <literal>services.printing.gutenprint</literal> is added to enable automatic
-    updating of Gutenprint PPMs; it's greatly recommended to enable it instead
-    of adding <literal>gutenprint</literal> to the <literal>drivers</literal> list.
-    </para>
-  </listitem>
-
-  <listitem>
-    <para><literal>services.xserver.vaapiDrivers</literal> has been removed. Use
-    <literal>hardware.opengl.extraPackages{,32}</literal> instead. You can
-    also specify VDPAU drivers there.</para>
-  </listitem>
-
-  <listitem>
-    <para>
-    <literal>programs.ibus</literal> moved to <literal>i18n.inputMethod.ibus</literal>.
-    The option <literal>programs.ibus.plugins</literal> changed to <literal>i18n.inputMethod.ibus.engines</literal>
-    and the option to enable ibus changed from <literal>programs.ibus.enable</literal> to
+    <literal>services.printing.extraFilesConf</literal> should be enough; if
+    you encounter a situation when they are not, please file a bug.
+   </para>
+   <para>
+    There are also Gutenprint improvements; in particular, a new option
+    <literal>services.printing.gutenprint</literal> is added to enable
+    automatic updating of Gutenprint PPMs; it's greatly recommended to enable
+    it instead of adding <literal>gutenprint</literal> to the
+    <literal>drivers</literal> list.
+   </para>
+  </listitem>
+  <listitem>
+   <para>
+    <literal>services.xserver.vaapiDrivers</literal> has been removed. Use
+    <literal>hardware.opengl.extraPackages{,32}</literal> instead. You can also
+    specify VDPAU drivers there.
+   </para>
+  </listitem>
+  <listitem>
+   <para>
+    <literal>programs.ibus</literal> moved to
+    <literal>i18n.inputMethod.ibus</literal>. The option
+    <literal>programs.ibus.plugins</literal> changed to
+    <literal>i18n.inputMethod.ibus.engines</literal> and the option to enable
+    ibus changed from <literal>programs.ibus.enable</literal> to
     <literal>i18n.inputMethod.enabled</literal>.
-    <literal>i18n.inputMethod.enabled</literal> should be set to the used input method name,
-    <literal>"ibus"</literal> for ibus.
-    An example of the new style:
-
+    <literal>i18n.inputMethod.enabled</literal> should be set to the used input
+    method name, <literal>"ibus"</literal> for ibus. An example of the new
+    style:
 <programlisting>
 i18n.inputMethod.enabled = "ibus";
 i18n.inputMethod.ibus.engines = with pkgs.ibus-engines; [ anthy mozc ];
 </programlisting>
-
-That is equivalent to the old version:
-
+    That is equivalent to the old version:
 <programlisting>
 programs.ibus.enable = true;
 programs.ibus.plugins = with pkgs; [ ibus-anthy mozc ];
 </programlisting>
-
-    </para>
+   </para>
   </listitem>
-
   <listitem>
-    <para><literal>services.udev.extraRules</literal> option now writes rules
-    to <filename>99-local.rules</filename> instead of <filename>10-local.rules</filename>.
-    This makes all the user rules apply after others, so their results wouldn't be
-    overriden by anything else.</para>
+   <para>
+    <literal>services.udev.extraRules</literal> option now writes rules to
+    <filename>99-local.rules</filename> instead of
+    <filename>10-local.rules</filename>. This makes all the user rules apply
+    after others, so their results wouldn't be overriden by anything else.
+   </para>
   </listitem>
-
   <listitem>
-    <para>Large parts of the <literal>services.gitlab</literal> module has been
-    been rewritten. There are new configuration options available. The
+   <para>
+    Large parts of the <literal>services.gitlab</literal> module has been been
+    rewritten. There are new configuration options available. The
     <literal>stateDir</literal> option was renamned to
-    <literal>statePath</literal> and the <literal>satellitesDir</literal> option
-    was removed. Please review the currently available options.</para>
+    <literal>statePath</literal> and the <literal>satellitesDir</literal>
+    option was removed. Please review the currently available options.
+   </para>
   </listitem>
-
   <listitem>
-    <para>
-    The option <option>services.nsd.zones.&lt;name&gt;.data</option> no
-    longer interpret the dollar sign ($) as a shell variable, as such it
-    should not be escaped anymore.  Thus the following zone data:
-    </para>
-    <programlisting>
+   <para>
+    The option <option>services.nsd.zones.&lt;name&gt;.data</option> no longer
+    interpret the dollar sign ($) as a shell variable, as such it should not be
+    escaped anymore. Thus the following zone data:
+   </para>
+<programlisting>
 \$ORIGIN example.com.
 \$TTL 1800
 @       IN      SOA     ns1.vpn.nbp.name.      admin.example.com. (
     </programlisting>
-    <para>
+   <para>
     Should modified to look like the actual file expected by nsd:
-    </para>
-    <programlisting>
+   </para>
+<programlisting>
 $ORIGIN example.com.
 $TTL 1800
 @       IN      SOA     ns1.vpn.nbp.name.      admin.example.com. (
     </programlisting>
   </listitem>
-
   <listitem>
-    <para>
-    <literal>service.syncthing.dataDir</literal> options now has to point
-    to exact folder where syncthing is writing to. Example configuration should
+   <para>
+    <literal>service.syncthing.dataDir</literal> options now has to point to
+    exact folder where syncthing is writing to. Example configuration should
     look something like:
-    </para>
-    <programlisting>
+   </para>
+<programlisting>
 services.syncthing = {
     enable = true;
     dataDir = "/home/somebody/.syncthing";
@@ -358,76 +579,73 @@ services.syncthing = {
 };
     </programlisting>
   </listitem>
-
-  <listitem>
-    <para>
-      <literal>networking.firewall.allowPing</literal> is now enabled by
-      default. Users are encouraged to configure an appropriate rate limit for
-      their machines using the Kernel interface at
-      <filename>/proc/sys/net/ipv4/icmp_ratelimit</filename> and
-      <filename>/proc/sys/net/ipv6/icmp/ratelimit</filename> or using the
-      firewall itself, i.e. by setting the NixOS option
-      <literal>networking.firewall.pingLimit</literal>.
-    </para>
-  </listitem>
-
-  <listitem>
-    <para>
-      Systems with some broadcom cards used to result into a generated config
-      that is no longer accepted. If you get errors like
-      <screen>error: path ‘/nix/store/*-broadcom-sta-*’ does not exist and cannot be created</screen>
-      you should either re-run <command>nixos-generate-config</command> or manually replace
-      <literal>"${config.boot.kernelPackages.broadcom_sta}"</literal>
-      by
-      <literal>config.boot.kernelPackages.broadcom_sta</literal>
-      in your <filename>/etc/nixos/hardware-configuration.nix</filename>.
-      More discussion is on <link xlink:href="https://github.com/NixOS/nixpkgs/pull/12595">
-      the github issue</link>.
-    </para>
-  </listitem>
-
   <listitem>
-    <para>
-      The <literal>services.xserver.startGnuPGAgent</literal> option has been removed.
-      GnuPG 2.1.x changed the way the gpg-agent works, and that new approach no
-      longer requires (or even supports) the "start everything as a child of the
-      agent" scheme we've implemented in NixOS for older versions.
-      To configure the gpg-agent for your X session, add the following code to
-      <filename>~/.bashrc</filename> or some file that’s sourced when your shell is started:
-    <programlisting>
+   <para>
+    <literal>networking.firewall.allowPing</literal> is now enabled by default.
+    Users are encouraged to configure an appropriate rate limit for their
+    machines using the Kernel interface at
+    <filename>/proc/sys/net/ipv4/icmp_ratelimit</filename> and
+    <filename>/proc/sys/net/ipv6/icmp/ratelimit</filename> or using the
+    firewall itself, i.e. by setting the NixOS option
+    <literal>networking.firewall.pingLimit</literal>.
+   </para>
+  </listitem>
+  <listitem>
+   <para>
+    Systems with some broadcom cards used to result into a generated config
+    that is no longer accepted. If you get errors like
+<screen>error: path ‘/nix/store/*-broadcom-sta-*’ does not exist and cannot be created</screen>
+    you should either re-run <command>nixos-generate-config</command> or
+    manually replace
+    <literal>"${config.boot.kernelPackages.broadcom_sta}"</literal> by
+    <literal>config.boot.kernelPackages.broadcom_sta</literal> in your
+    <filename>/etc/nixos/hardware-configuration.nix</filename>. More discussion
+    is on <link xlink:href="https://github.com/NixOS/nixpkgs/pull/12595"> the
+    github issue</link>.
+   </para>
+  </listitem>
+  <listitem>
+   <para>
+    The <literal>services.xserver.startGnuPGAgent</literal> option has been
+    removed. GnuPG 2.1.x changed the way the gpg-agent works, and that new
+    approach no longer requires (or even supports) the "start everything as a
+    child of the agent" scheme we've implemented in NixOS for older versions.
+    To configure the gpg-agent for your X session, add the following code to
+    <filename>~/.bashrc</filename> or some file that’s sourced when your
+    shell is started:
+<programlisting>
 GPG_TTY=$(tty)
 export GPG_TTY
     </programlisting>
-      If you want to use gpg-agent for SSH, too, add the following to your session
-      initialization (e.g. <literal>displayManager.sessionCommands</literal>)
-    <programlisting>
+    If you want to use gpg-agent for SSH, too, add the following to your
+    session initialization (e.g.
+    <literal>displayManager.sessionCommands</literal>)
+<programlisting>
 gpg-connect-agent /bye
 unset SSH_AGENT_PID
 export SSH_AUTH_SOCK="''${HOME}/.gnupg/S.gpg-agent.ssh"
     </programlisting>
-      and make sure that
-    <programlisting>
+    and make sure that
+<programlisting>
 enable-ssh-support
     </programlisting>
-      is included in your <filename>~/.gnupg/gpg-agent.conf</filename>.
-      You will need to use <command>ssh-add</command> to re-add your ssh keys.
-      If gpg’s automatic transformation of the private keys to the new format fails,
-      you will need to re-import your private keyring as well:
-    <programlisting>
+    is included in your <filename>~/.gnupg/gpg-agent.conf</filename>. You will
+    need to use <command>ssh-add</command> to re-add your ssh keys. If gpg’s
+    automatic transformation of the private keys to the new format fails, you
+    will need to re-import your private keyring as well:
+<programlisting>
 gpg --import ~/.gnupg/secring.gpg
     </programlisting>
-    The <command>gpg-agent(1)</command> man page has more details about this subject,
-    i.e. in the "EXAMPLES" section.
-    </para>
+    The <command>gpg-agent(1)</command> man page has more details about this
+    subject, i.e. in the "EXAMPLES" section.
+   </para>
   </listitem>
-</itemizedlist>
-
-
-<para>Other notable improvements:
+ </itemizedlist>
 
-<itemizedlist>
-
-  <!--
+ <para>
+  Other notable improvements:
+  <itemizedlist>
+<!--
   <listitem>
     <para>The <command>command-not-found</command> hook was extended.
     Apart from <literal>$NIX_AUTO_INSTALL</literal> variable,
@@ -436,18 +654,18 @@ gpg --import ~/.gnupg/secring.gpg
     <command>nix-shell</command> (without installing anything).</para>
   </listitem>
   -->
-
-  <listitem>
-    <para><literal>ejabberd</literal> module is brought back and now works on
-    NixOS.</para>
-  </listitem>
-
-  <listitem>
-    <para>Input method support was improved. New NixOS modules (fcitx, nabi and uim),
-    fcitx engines (chewing, hangul, m17n, mozc and table-other) and ibus engines (hangul and m17n)
-    have been added.</para>
-  </listitem>
-
-</itemizedlist></para>
-
+   <listitem>
+    <para>
+     <literal>ejabberd</literal> module is brought back and now works on NixOS.
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     Input method support was improved. New NixOS modules (fcitx, nabi and
+     uim), fcitx engines (chewing, hangul, m17n, mozc and table-other) and ibus
+     engines (hangul and m17n) have been added.
+    </para>
+   </listitem>
+  </itemizedlist>
+ </para>
 </section>
diff --git a/nixos/doc/manual/release-notes/rl-1609.xml b/nixos/doc/manual/release-notes/rl-1609.xml
index 893f894f42f..4a2343edc97 100644
--- a/nixos/doc/manual/release-notes/rl-1609.xml
+++ b/nixos/doc/manual/release-notes/rl-1609.xml
@@ -3,237 +3,275 @@
          xmlns:xi="http://www.w3.org/2001/XInclude"
          version="5.0"
          xml:id="sec-release-16.09">
+ <title>Release 16.09 (“Flounder”, 2016/09/30)</title>
 
-<title>Release 16.09 (“Flounder”, 2016/09/30)</title>
-
-<para>In addition to numerous new and upgraded packages, this release
-has the following highlights: </para>
-
-<itemizedlist>
+ <para>
+  In addition to numerous new and upgraded packages, this release has the
+  following highlights:
+ </para>
 
+ <itemizedlist>
   <listitem>
-    <para>Many NixOS configurations and Nix packages now use
-    significantly less disk space, thanks to the <link
+   <para>
+    Many NixOS configurations and Nix packages now use significantly less disk
+    space, thanks to the
+    <link
     xlink:href="https://github.com/NixOS/nixpkgs/issues/7117">extensive
-    work on closure size reduction</link>. For example, the closure
-    size of a minimal NixOS container went down from ~424 MiB in 16.03
-    to ~212 MiB in 16.09, while the closure size of Firefox went from
-    ~651 MiB to ~259 MiB.</para>
+    work on closure size reduction</link>. For example, the closure size of a
+    minimal NixOS container went down from ~424 MiB in 16.03 to ~212 MiB in
+    16.09, while the closure size of Firefox went from ~651 MiB to ~259 MiB.
+   </para>
   </listitem>
-
   <listitem>
-    <para>To improve security, packages are now <link
+   <para>
+    To improve security, packages are now
+    <link
     xlink:href="https://github.com/NixOS/nixpkgs/pull/12895">built
-    using various hardening features</link>. See the Nixpkgs manual
-    for more information.</para>
+    using various hardening features</link>. See the Nixpkgs manual for more
+    information.
+   </para>
   </listitem>
-
   <listitem>
-    <para>Support for PXE netboot.  See <xref
-    linkend="sec-booting-from-pxe" /> for documentation.</para>
+   <para>
+    Support for PXE netboot. See <xref
+    linkend="sec-booting-from-pxe" />
+    for documentation.
+   </para>
   </listitem>
-
   <listitem>
-    <para>X.org server 1.18. If you use the
-    <literal>ati_unfree</literal> driver, 1.17 is still used due to an
-    ABI incompatibility.</para>
+   <para>
+    X.org server 1.18. If you use the <literal>ati_unfree</literal> driver,
+    1.17 is still used due to an ABI incompatibility.
+   </para>
   </listitem>
-
   <listitem>
-    <para>This release is based on Glibc 2.24, GCC 5.4.0 and systemd
-    231. The default Linux kernel remains 4.4.</para>
+   <para>
+    This release is based on Glibc 2.24, GCC 5.4.0 and systemd 231. The default
+    Linux kernel remains 4.4.
+   </para>
   </listitem>
+ </itemizedlist>
 
-</itemizedlist>
-
-<para>The following new services were added since the last release:</para>
+ <para>
+  The following new services were added since the last release:
+ </para>
 
-<itemizedlist>
-  <listitem><para><literal>(this will get automatically generated at release time)</literal></para></listitem>
-</itemizedlist>
-
-<para>When upgrading from a previous release, please be aware of the
-following incompatible changes:</para>
+ <itemizedlist>
+  <listitem>
+   <para>
+    <literal>(this will get automatically generated at release time)</literal>
+   </para>
+  </listitem>
+ </itemizedlist>
 
-<itemizedlist>
+ <para>
+  When upgrading from a previous release, please be aware of the following
+  incompatible changes:
+ </para>
 
+ <itemizedlist>
   <listitem>
-    <para>A large number of packages have been converted to use the multiple outputs feature
-      of Nix to greatly reduce the amount of required disk space, as
-      mentioned above. This may require changes
-      to any custom packages to make them build again; see the relevant chapter in the
-      Nixpkgs manual for more information. (Additional caveat to packagers: some packaging conventions
-      related to multiple-output packages
-      <link xlink:href="https://github.com/NixOS/nixpkgs/pull/14766">were changed</link>
-      late (August 2016) in the release cycle and differ from the initial introduction of multiple outputs.)
-    </para>
+   <para>
+    A large number of packages have been converted to use the multiple outputs
+    feature of Nix to greatly reduce the amount of required disk space, as
+    mentioned above. This may require changes to any custom packages to make
+    them build again; see the relevant chapter in the Nixpkgs manual for more
+    information. (Additional caveat to packagers: some packaging conventions
+    related to multiple-output packages
+    <link xlink:href="https://github.com/NixOS/nixpkgs/pull/14766">were
+    changed</link> late (August 2016) in the release cycle and differ from the
+    initial introduction of multiple outputs.)
+   </para>
   </listitem>
-
   <listitem>
-    <para>Previous versions of Nixpkgs had support for all versions of the LTS
+   <para>
+    Previous versions of Nixpkgs had support for all versions of the LTS
     Haskell package set. That support has been dropped. The previously provided
     <literal>haskell.packages.lts-x_y</literal> package sets still exist in
     name to aviod breaking user code, but these package sets don't actually
     contain the versions mandated by the corresponding LTS release. Instead,
     our package set it loosely based on the latest available LTS release, i.e.
     LTS 7.x at the time of this writing. New releases of NixOS and Nixpkgs will
-    drop those old names entirely. <link
+    drop those old names entirely.
+    <link
     xlink:href="https://nixos.org/nix-dev/2016-June/020585.html">The
     motivation for this change</link> has been discussed at length on the
-    <literal>nix-dev</literal> mailing list and in <link
-    xlink:href="https://github.com/NixOS/nixpkgs/issues/14897">Github issue
-    #14897</link>. Development strategies for Haskell hackers who want to rely
-    on Nix and NixOS have been described in <link
+    <literal>nix-dev</literal> mailing list and in
+    <link
+    xlink:href="https://github.com/NixOS/nixpkgs/issues/14897">Github
+    issue #14897</link>. Development strategies for Haskell hackers who want to
+    rely on Nix and NixOS have been described in
+    <link
     xlink:href="https://nixos.org/nix-dev/2016-June/020642.html">another
-    nix-dev article</link>.</para>
+    nix-dev article</link>.
+   </para>
   </listitem>
-
   <listitem>
-    <para>Shell aliases for systemd sub-commands
-    <link xlink:href="https://github.com/NixOS/nixpkgs/pull/15598">were dropped</link>:
-    <command>start</command>, <command>stop</command>,
-    <command>restart</command>, <command>status</command>.</para>
+   <para>
+    Shell aliases for systemd sub-commands
+    <link xlink:href="https://github.com/NixOS/nixpkgs/pull/15598">were
+    dropped</link>: <command>start</command>, <command>stop</command>,
+    <command>restart</command>, <command>status</command>.
+   </para>
   </listitem>
-
   <listitem>
-    <para>Redis now binds to 127.0.0.1 only instead of listening to all network interfaces. This is the default
-    behavior of Redis 3.2</para>
+   <para>
+    Redis now binds to 127.0.0.1 only instead of listening to all network
+    interfaces. This is the default behavior of Redis 3.2
+   </para>
   </listitem>
-
   <listitem>
-    <para>
-      <literal>/var/empty</literal> is now immutable. Activation script runs <command>chattr +i</command>
-      to forbid any modifications inside the folder. See <link xlink:href="https://github.com/NixOS/nixpkgs/pull/18365">
-      the pull request</link> for what bugs this caused.
-    </para>
+   <para>
+    <literal>/var/empty</literal> is now immutable. Activation script runs
+    <command>chattr +i</command> to forbid any modifications inside the folder.
+    See <link xlink:href="https://github.com/NixOS/nixpkgs/pull/18365"> the
+    pull request</link> for what bugs this caused.
+   </para>
   </listitem>
-
   <listitem>
-    <para>Gitlab's maintainance script
-    <command>gitlab-runner</command> was removed and split up into the
-    more clearer <command>gitlab-run</command> and
+   <para>
+    Gitlab's maintainance script <command>gitlab-runner</command> was removed
+    and split up into the more clearer <command>gitlab-run</command> and
     <command>gitlab-rake</command> scripts, because
-    <command>gitlab-runner</command> is a component of Gitlab
-    CI.</para>
+    <command>gitlab-runner</command> is a component of Gitlab CI.
+   </para>
   </listitem>
-
   <listitem>
-    <para><literal>services.xserver.libinput.accelProfile</literal> default
-    changed from <literal>flat</literal> to <literal>adaptive</literal>,
-    as per <link xlink:href="https://wayland.freedesktop.org/libinput/doc/latest/group__config.html#gad63796972347f318b180e322e35cee79">
-    official documentation</link>.</para>
+   <para>
+    <literal>services.xserver.libinput.accelProfile</literal> default changed
+    from <literal>flat</literal> to <literal>adaptive</literal>, as per
+    <link xlink:href="https://wayland.freedesktop.org/libinput/doc/latest/group__config.html#gad63796972347f318b180e322e35cee79">
+    official documentation</link>.
+   </para>
   </listitem>
-
   <listitem>
-    <para><literal>fonts.fontconfig.ultimate.rendering</literal> was removed
-    because our presets were obsolete for some time. New presets are hardcoded
-    into FreeType; you can select a preset via <literal>fonts.fontconfig.ultimate.preset</literal>.
-    You can customize those presets via ordinary environment variables, using
-    <literal>environment.variables</literal>.</para>
+   <para>
+    <literal>fonts.fontconfig.ultimate.rendering</literal> was removed because
+    our presets were obsolete for some time. New presets are hardcoded into
+    FreeType; you can select a preset via
+    <literal>fonts.fontconfig.ultimate.preset</literal>. You can customize
+    those presets via ordinary environment variables, using
+    <literal>environment.variables</literal>.
+   </para>
   </listitem>
-
   <listitem>
-    <para>The <literal>audit</literal> service is no longer enabled by default.
-    Use <literal>security.audit.enable = true</literal> to explicitly enable it.</para>
+   <para>
+    The <literal>audit</literal> service is no longer enabled by default. Use
+    <literal>security.audit.enable = true</literal> to explicitly enable it.
+   </para>
   </listitem>
-
   <listitem>
-    <para>
-      <literal>pkgs.linuxPackages.virtualbox</literal> now contains only the
-      kernel modules instead of the VirtualBox user space binaries.
-      If you want to reference the user space binaries, you have to use the new
-      <literal>pkgs.virtualbox</literal> instead.
-    </para>
+   <para>
+    <literal>pkgs.linuxPackages.virtualbox</literal> now contains only the
+    kernel modules instead of the VirtualBox user space binaries. If you want
+    to reference the user space binaries, you have to use the new
+    <literal>pkgs.virtualbox</literal> instead.
+   </para>
   </listitem>
-
   <listitem>
-    <para><literal>goPackages</literal> was replaced with separated Go
-    applications in appropriate <literal>nixpkgs</literal>
-    categories. Each Go package uses its own dependency set. There's
-    also a new <literal>go2nix</literal> tool introduced to generate a
-    Go package definition from its Go source automatically.</para>
+   <para>
+    <literal>goPackages</literal> was replaced with separated Go applications
+    in appropriate <literal>nixpkgs</literal> categories. Each Go package uses
+    its own dependency set. There's also a new <literal>go2nix</literal> tool
+    introduced to generate a Go package definition from its Go source
+    automatically.
+   </para>
   </listitem>
-
   <listitem>
-    <para><literal>services.mongodb.extraConfig</literal> configuration format
-    was changed to YAML.</para>
+   <para>
+    <literal>services.mongodb.extraConfig</literal> configuration format was
+    changed to YAML.
+   </para>
   </listitem>
-
   <listitem>
-    <para>
-      PHP has been upgraded to 7.0
-    </para>
+   <para>
+    PHP has been upgraded to 7.0
+   </para>
   </listitem>
-</itemizedlist>
-
-
-<para>Other notable improvements:</para>
-
-<itemizedlist>
+ </itemizedlist>
 
-  <listitem><para>Revamped grsecurity/PaX support.  There is now only a single
-  general-purpose distribution kernel and the configuration interface has been
-  streamlined.  Desktop users should be able to simply set
-  <programlisting>security.grsecurity.enable = true</programlisting> to get
-  a reasonably secure system without having to sacrifice too much
-  functionality.
-  </para></listitem>
+ <para>
+  Other notable improvements:
+ </para>
 
-  <listitem><para>Special filesystems, like <literal>/proc</literal>,
-  <literal>/run</literal> and others, now have the same mount options
-  as recommended by systemd and are unified across different places in
-  NixOS.  Mount options are updated during <command>nixos-rebuild
-  switch</command> if possible. One benefit from this is improved
-  security — most such filesystems are now mounted with
-  <literal>noexec</literal>, <literal>nodev</literal> and/or
-  <literal>nosuid</literal> options.</para></listitem>
-
-  <listitem><para>The reverse path filter was interfering with DHCPv4 server
-  operation in the past. An exception for DHCPv4 and a new option to log
-  packets that were dropped due to the reverse path filter was added
-  (<literal>networking.firewall.logReversePathDrops</literal>) for easier
-  debugging.</para></listitem>
-
-  <listitem><para>Containers configuration within
-  <literal>containers.&lt;name&gt;.config</literal> is <link
+ <itemizedlist>
+  <listitem>
+   <para>
+    Revamped grsecurity/PaX support. There is now only a single general-purpose
+    distribution kernel and the configuration interface has been streamlined.
+    Desktop users should be able to simply set
+<programlisting>security.grsecurity.enable = true</programlisting>
+    to get a reasonably secure system without having to sacrifice too much
+    functionality.
+   </para>
+  </listitem>
+  <listitem>
+   <para>
+    Special filesystems, like <literal>/proc</literal>, <literal>/run</literal>
+    and others, now have the same mount options as recommended by systemd and
+    are unified across different places in NixOS. Mount options are updated
+    during <command>nixos-rebuild switch</command> if possible. One benefit
+    from this is improved security — most such filesystems are now mounted
+    with <literal>noexec</literal>, <literal>nodev</literal> and/or
+    <literal>nosuid</literal> options.
+   </para>
+  </listitem>
+  <listitem>
+   <para>
+    The reverse path filter was interfering with DHCPv4 server operation in the
+    past. An exception for DHCPv4 and a new option to log packets that were
+    dropped due to the reverse path filter was added
+    (<literal>networking.firewall.logReversePathDrops</literal>) for easier
+    debugging.
+   </para>
+  </listitem>
+  <listitem>
+   <para>
+    Containers configuration within
+    <literal>containers.&lt;name&gt;.config</literal> is
+    <link
   xlink:href="https://github.com/NixOS/nixpkgs/pull/17365">now
-  properly typed and checked</link>. In particular, partial
-  configurations are merged correctly.</para></listitem>
-
+    properly typed and checked</link>. In particular, partial configurations
+    are merged correctly.
+   </para>
+  </listitem>
   <listitem>
-    <para>The directory container setuid wrapper programs,
-    <filename>/var/setuid-wrappers</filename>, <link
+   <para>
+    The directory container setuid wrapper programs,
+    <filename>/var/setuid-wrappers</filename>,
+    <link
     xlink:href="https://github.com/NixOS/nixpkgs/pull/18124">is now
-    updated atomically to prevent failures if the switch to a new
-    configuration is interrupted.</link></para>
+    updated atomically to prevent failures if the switch to a new configuration
+    is interrupted.</link>
+   </para>
   </listitem>
-
   <listitem>
-    <para><literal>services.xserver.startGnuPGAgent</literal>
-      has been removed due to GnuPG 2.1.x bump. See <link
+   <para>
+    <literal>services.xserver.startGnuPGAgent</literal> has been removed due to
+    GnuPG 2.1.x bump. See
+    <link
         xlink:href="https://github.com/NixOS/nixpkgs/commit/5391882ebd781149e213e8817fba6ac3c503740c">
-        how to achieve similar behavior</link>. You might need to
-      <literal>pkill gpg-agent</literal> after the upgrade
-      to prevent a stale agent being in the way.
-    </para>
+    how to achieve similar behavior</link>. You might need to <literal>pkill
+    gpg-agent</literal> after the upgrade to prevent a stale agent being in the
+    way.
+   </para>
   </listitem>
-
-  <listitem><para>
+  <listitem>
+   <para>
     <link xlink:href="https://github.com/NixOS/nixpkgs/commit/e561edc322d275c3687fec431935095cfc717147">
-    Declarative users could share the uid due to the bug in
-    the script handling conflict resolution.
-    </link>
-  </para></listitem>
-
-  <listitem><para>
+    Declarative users could share the uid due to the bug in the script handling
+    conflict resolution. </link>
+   </para>
+  </listitem>
+  <listitem>
+   <para>
     Gummi boot has been replaced using systemd-boot.
-  </para></listitem>
-
-  <listitem><para>
+   </para>
+  </listitem>
+  <listitem>
+   <para>
     Hydra package and NixOS module were added for convenience.
-  </para></listitem>
-
-</itemizedlist>
-
-
+   </para>
+  </listitem>
+ </itemizedlist>
 </section>
diff --git a/nixos/doc/manual/release-notes/rl-1703.xml b/nixos/doc/manual/release-notes/rl-1703.xml
index 6147b983013..6ca79e2bc00 100644
--- a/nixos/doc/manual/release-notes/rl-1703.xml
+++ b/nixos/doc/manual/release-notes/rl-1703.xml
@@ -3,259 +3,588 @@
          xmlns:xi="http://www.w3.org/2001/XInclude"
          version="5.0"
          xml:id="sec-release-17.03">
+ <title>Release 17.03 (“Gorilla”, 2017/03/31)</title>
 
-<title>Release 17.03 (“Gorilla”, 2017/03/31)</title>
-
-<section xmlns="http://docbook.org/ns/docbook"
+ <section xmlns="http://docbook.org/ns/docbook"
          xmlns:xlink="http://www.w3.org/1999/xlink"
          xmlns:xi="http://www.w3.org/2001/XInclude"
          version="5.0"
          xml:id="sec-release-17.03-highlights">
+  <title>Highlights</title>
 
-<title>Highlights</title>
+  <para>
+   In addition to numerous new and upgraded packages, this release has the
+   following highlights:
+  </para>
 
-<para>In addition to numerous new and upgraded packages, this release
-has the following highlights: </para>
-
-<itemizedlist>
-  <listitem>
-    <para>Nixpkgs is now extensible through overlays. See the <link
+  <itemizedlist>
+   <listitem>
+    <para>
+     Nixpkgs is now extensible through overlays. See the
+     <link
     xlink:href="https://nixos.org/nixpkgs/manual/#sec-overlays-install">Nixpkgs
-    manual</link> for more information.</para>
-  </listitem>
-
-  <listitem>
-    <para>This release is based on Glibc 2.25, GCC 5.4.0 and systemd
-    232. The default Linux kernel is 4.9 and Nix is at 1.11.8.</para>
-  </listitem>
-
-  <listitem>
-    <para>The default desktop environment now is KDE's Plasma 5. KDE 4 has been removed</para>
-  </listitem>
-
-  <listitem>
-    <para>The setuid wrapper functionality now supports setting
-    capabilities.</para>
-  </listitem>
-
-  <listitem>
-    <para>X.org server uses branch 1.19. Due to ABI incompatibilities,
-      <literal>ati_unfree</literal> keeps forcing 1.17
-      and <literal>amdgpu-pro</literal> starts forcing 1.18.</para>
-  </listitem>
-
-  <listitem>
+     manual</link> for more information.
+    </para>
+   </listitem>
+   <listitem>
     <para>
-      Cross compilation has been rewritten. See the nixpkgs manual for
-      details. The most obvious breaking change is that in derivations there is no
-      <literal>.nativeDrv</literal> nor <literal>.crossDrv</literal> are now
-      cross by default, not native.
+     This release is based on Glibc 2.25, GCC 5.4.0 and systemd 232. The
+     default Linux kernel is 4.9 and Nix is at 1.11.8.
     </para>
-  </listitem>
-
-  <listitem>
-    <para>The <literal>overridePackages</literal> function has been rewritten
-    to be replaced by <link
+   </listitem>
+   <listitem>
+    <para>
+     The default desktop environment now is KDE's Plasma 5. KDE 4 has been
+     removed
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     The setuid wrapper functionality now supports setting capabilities.
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     X.org server uses branch 1.19. Due to ABI incompatibilities,
+     <literal>ati_unfree</literal> keeps forcing 1.17 and
+     <literal>amdgpu-pro</literal> starts forcing 1.18.
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     Cross compilation has been rewritten. See the nixpkgs manual for details.
+     The most obvious breaking change is that in derivations there is no
+     <literal>.nativeDrv</literal> nor <literal>.crossDrv</literal> are now
+     cross by default, not native.
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     The <literal>overridePackages</literal> function has been rewritten to be
+     replaced by
+     <link
     xlink:href="https://nixos.org/nixpkgs/manual/#sec-overlays-install">
-    overlays</link></para>
-  </listitem>
-
-  <listitem>
-    <para>Packages in nixpkgs can be marked as insecure through listed
-    vulnerabilities. See the <link
+     overlays</link>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     Packages in nixpkgs can be marked as insecure through listed
+     vulnerabilities. See the
+     <link
     xlink:href="https://nixos.org/nixpkgs/manual/#sec-allow-insecure">Nixpkgs
-    manual</link> for more information.</para>
-  </listitem>
-
-  <listitem>
-    <para>PHP now defaults to PHP 7.1</para>
-  </listitem>
-
-</itemizedlist>
+     manual</link> for more information.
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     PHP now defaults to PHP 7.1
+    </para>
+   </listitem>
+  </itemizedlist>
+ </section>
 
-</section>
-<section xmlns="http://docbook.org/ns/docbook"
+ <section xmlns="http://docbook.org/ns/docbook"
          xmlns:xlink="http://www.w3.org/1999/xlink"
          xmlns:xi="http://www.w3.org/2001/XInclude"
          version="5.0"
          xml:id="sec-release-17.03-new-services">
+  <title>New Services</title>
 
-<title>New Services</title>
+  <para>
+   The following new services were added since the last release:
+  </para>
 
-<para>The following new services were added since the last release:</para>
-
-<itemizedlist>
-  <listitem><para><literal>hardware/ckb.nix</literal></para></listitem>
-  <listitem><para><literal>hardware/mcelog.nix</literal></para></listitem>
-  <listitem><para><literal>hardware/usb-wwan.nix</literal></para></listitem>
-  <listitem><para><literal>hardware/video/capture/mwprocapture.nix</literal></para></listitem>
-  <listitem><para><literal>programs/adb.nix</literal></para></listitem>
-  <listitem><para><literal>programs/chromium.nix</literal></para></listitem>
-  <listitem><para><literal>programs/gphoto2.nix</literal></para></listitem>
-  <listitem><para><literal>programs/java.nix</literal></para></listitem>
-  <listitem><para><literal>programs/mtr.nix</literal></para></listitem>
-  <listitem><para><literal>programs/oblogout.nix</literal></para></listitem>
-  <listitem><para><literal>programs/vim.nix</literal></para></listitem>
-  <listitem><para><literal>programs/wireshark.nix</literal></para></listitem>
-  <listitem><para><literal>security/dhparams.nix</literal></para></listitem>
-  <listitem><para><literal>services/audio/ympd.nix</literal></para></listitem>
-  <listitem><para><literal>services/computing/boinc/client.nix</literal></para></listitem>
-  <listitem><para><literal>services/continuous-integration/buildbot/master.nix</literal></para></listitem>
-  <listitem><para><literal>services/continuous-integration/buildbot/worker.nix</literal></para></listitem>
-  <listitem><para><literal>services/continuous-integration/gitlab-runner.nix</literal></para></listitem>
-  <listitem><para><literal>services/databases/riak-cs.nix</literal></para></listitem>
-  <listitem><para><literal>services/databases/stanchion.nix</literal></para></listitem>
-  <listitem><para><literal>services/desktops/gnome3/gnome-terminal-server.nix</literal></para></listitem>
-  <listitem><para><literal>services/editors/infinoted.nix</literal></para></listitem>
-  <listitem><para><literal>services/hardware/illum.nix</literal></para></listitem>
-  <listitem><para><literal>services/hardware/trezord.nix</literal></para></listitem>
-  <listitem><para><literal>services/logging/journalbeat.nix</literal></para></listitem>
-  <listitem><para><literal>services/mail/offlineimap.nix</literal></para></listitem>
-  <listitem><para><literal>services/mail/postgrey.nix</literal></para></listitem>
-  <listitem><para><literal>services/misc/couchpotato.nix</literal></para></listitem>
-  <listitem><para><literal>services/misc/docker-registry.nix</literal></para></listitem>
-  <listitem><para><literal>services/misc/errbot.nix</literal></para></listitem>
-  <listitem><para><literal>services/misc/geoip-updater.nix</literal></para></listitem>
-  <listitem><para><literal>services/misc/gogs.nix</literal></para></listitem>
-  <listitem><para><literal>services/misc/leaps.nix</literal></para></listitem>
-  <listitem><para><literal>services/misc/nix-optimise.nix</literal></para></listitem>
-  <listitem><para><literal>services/misc/ssm-agent.nix</literal></para></listitem>
-  <listitem><para><literal>services/misc/sssd.nix</literal></para></listitem>
-  <listitem><para><literal>services/monitoring/arbtt.nix</literal></para></listitem>
-  <listitem><para><literal>services/monitoring/netdata.nix</literal></para></listitem>
-  <listitem><para><literal>services/monitoring/prometheus/default.nix</literal></para></listitem>
-  <listitem><para><literal>services/monitoring/prometheus/alertmanager.nix</literal></para></listitem>
-  <listitem><para><literal>services/monitoring/prometheus/blackbox-exporter.nix</literal></para></listitem>
-  <listitem><para><literal>services/monitoring/prometheus/json-exporter.nix</literal></para></listitem>
-  <listitem><para><literal>services/monitoring/prometheus/nginx-exporter.nix</literal></para></listitem>
-  <listitem><para><literal>services/monitoring/prometheus/node-exporter.nix</literal></para></listitem>
-  <listitem><para><literal>services/monitoring/prometheus/snmp-exporter.nix</literal></para></listitem>
-  <listitem><para><literal>services/monitoring/prometheus/unifi-exporter.nix</literal></para></listitem>
-  <listitem><para><literal>services/monitoring/prometheus/varnish-exporter.nix</literal></para></listitem>
-  <listitem><para><literal>services/monitoring/sysstat.nix</literal></para></listitem>
-  <listitem><para><literal>services/monitoring/telegraf.nix</literal></para></listitem>
-  <listitem><para><literal>services/monitoring/vnstat.nix</literal></para></listitem>
-  <listitem><para><literal>services/network-filesystems/cachefilesd.nix</literal></para></listitem>
-  <listitem><para><literal>services/network-filesystems/glusterfs.nix</literal></para></listitem>
-  <listitem><para><literal>services/network-filesystems/ipfs.nix</literal></para></listitem>
-  <listitem><para><literal>services/networking/dante.nix</literal></para></listitem>
-  <listitem><para><literal>services/networking/dnscrypt-wrapper.nix</literal></para></listitem>
-  <listitem><para><literal>services/networking/fakeroute.nix</literal></para></listitem>
-  <listitem><para><literal>services/networking/flannel.nix</literal></para></listitem>
-  <listitem><para><literal>services/networking/htpdate.nix</literal></para></listitem>
-  <listitem><para><literal>services/networking/miredo.nix</literal></para></listitem>
-  <listitem><para><literal>services/networking/nftables.nix</literal></para></listitem>
-  <listitem><para><literal>services/networking/powerdns.nix</literal></para></listitem>
-  <listitem><para><literal>services/networking/pdns-recursor.nix</literal></para></listitem>
-  <listitem><para><literal>services/networking/quagga.nix</literal></para></listitem>
-  <listitem><para><literal>services/networking/redsocks.nix</literal></para></listitem>
-  <listitem><para><literal>services/networking/wireguard.nix</literal></para></listitem>
-  <listitem><para><literal>services/system/cgmanager.nix</literal></para></listitem>
-  <listitem><para><literal>services/torrent/opentracker.nix</literal></para></listitem>
-  <listitem><para><literal>services/web-apps/atlassian/confluence.nix</literal></para></listitem>
-  <listitem><para><literal>services/web-apps/atlassian/crowd.nix</literal></para></listitem>
-  <listitem><para><literal>services/web-apps/atlassian/jira.nix</literal></para></listitem>
-  <listitem><para><literal>services/web-apps/frab.nix</literal></para></listitem>
-  <listitem><para><literal>services/web-apps/nixbot.nix</literal></para></listitem>
-  <listitem><para><literal>services/web-apps/selfoss.nix</literal></para></listitem>
-  <listitem><para><literal>services/web-apps/quassel-webserver.nix</literal></para></listitem>
-  <listitem><para><literal>services/x11/unclutter-xfixes.nix</literal></para></listitem>
-  <listitem><para><literal>services/x11/urxvtd.nix</literal></para></listitem>
-  <listitem><para><literal>system/boot/systemd-nspawn.nix</literal></para></listitem>
-  <listitem><para><literal>virtualisation/ecs-agent.nix</literal></para></listitem>
-  <listitem><para><literal>virtualisation/lxcfs.nix</literal></para></listitem>
-  <listitem><para><literal>virtualisation/openstack/keystone.nix</literal></para></listitem>
-  <listitem><para><literal>virtualisation/openstack/glance.nix</literal></para></listitem>
-</itemizedlist>
+  <itemizedlist>
+   <listitem>
+    <para>
+     <literal>hardware/ckb.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>hardware/mcelog.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>hardware/usb-wwan.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>hardware/video/capture/mwprocapture.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>programs/adb.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>programs/chromium.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>programs/gphoto2.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>programs/java.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>programs/mtr.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>programs/oblogout.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>programs/vim.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>programs/wireshark.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>security/dhparams.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/audio/ympd.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/computing/boinc/client.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/continuous-integration/buildbot/master.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/continuous-integration/buildbot/worker.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/continuous-integration/gitlab-runner.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/databases/riak-cs.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/databases/stanchion.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/desktops/gnome3/gnome-terminal-server.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/editors/infinoted.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/hardware/illum.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/hardware/trezord.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/logging/journalbeat.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/mail/offlineimap.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/mail/postgrey.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/misc/couchpotato.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/misc/docker-registry.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/misc/errbot.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/misc/geoip-updater.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/misc/gogs.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/misc/leaps.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/misc/nix-optimise.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/misc/ssm-agent.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/misc/sssd.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/monitoring/arbtt.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/monitoring/netdata.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/monitoring/prometheus/default.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/monitoring/prometheus/alertmanager.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/monitoring/prometheus/blackbox-exporter.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/monitoring/prometheus/json-exporter.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/monitoring/prometheus/nginx-exporter.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/monitoring/prometheus/node-exporter.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/monitoring/prometheus/snmp-exporter.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/monitoring/prometheus/unifi-exporter.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/monitoring/prometheus/varnish-exporter.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/monitoring/sysstat.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/monitoring/telegraf.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/monitoring/vnstat.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/network-filesystems/cachefilesd.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/network-filesystems/glusterfs.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/network-filesystems/ipfs.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/networking/dante.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/networking/dnscrypt-wrapper.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/networking/fakeroute.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/networking/flannel.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/networking/htpdate.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/networking/miredo.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/networking/nftables.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/networking/powerdns.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/networking/pdns-recursor.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/networking/quagga.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/networking/redsocks.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/networking/wireguard.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/system/cgmanager.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/torrent/opentracker.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/web-apps/atlassian/confluence.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/web-apps/atlassian/crowd.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/web-apps/atlassian/jira.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/web-apps/frab.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/web-apps/nixbot.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/web-apps/selfoss.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/web-apps/quassel-webserver.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/x11/unclutter-xfixes.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/x11/urxvtd.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>system/boot/systemd-nspawn.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>virtualisation/ecs-agent.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>virtualisation/lxcfs.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>virtualisation/openstack/keystone.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>virtualisation/openstack/glance.nix</literal>
+    </para>
+   </listitem>
+  </itemizedlist>
+ </section>
 
-</section>
-<section xmlns="http://docbook.org/ns/docbook"
+ <section xmlns="http://docbook.org/ns/docbook"
          xmlns:xlink="http://www.w3.org/1999/xlink"
          xmlns:xi="http://www.w3.org/2001/XInclude"
          version="5.0"
          xml:id="sec-release-17.03-incompatibilities">
+  <title>Backward Incompatibilities</title>
 
-<title>Backward Incompatibilities</title>
+  <para>
+   When upgrading from a previous release, please be aware of the following
+   incompatible changes:
+  </para>
 
-<para>When upgrading from a previous release, please be aware of the
-following incompatible changes:</para>
-
-<itemizedlist>
-  <listitem>
+  <itemizedlist>
+   <listitem>
     <para>
-      Derivations have no <literal>.nativeDrv</literal> nor <literal>.crossDrv</literal> 
-      and are now cross by default, not native.
+     Derivations have no <literal>.nativeDrv</literal> nor
+     <literal>.crossDrv</literal> and are now cross by default, not native.
     </para>
-  </listitem>
-
-  <listitem>
+   </listitem>
+   <listitem>
     <para>
-      <literal>stdenv.overrides</literal> is now expected to take <literal>self</literal>
-      and <literal>super</literal> arguments. See <literal>lib.trivial.extends</literal>
-      for what those parameters represent.
+     <literal>stdenv.overrides</literal> is now expected to take
+     <literal>self</literal> and <literal>super</literal> arguments. See
+     <literal>lib.trivial.extends</literal> for what those parameters
+     represent.
     </para>
-  </listitem>
-
-  <listitem>
+   </listitem>
+   <listitem>
     <para>
-      <literal>ansible</literal> now defaults to ansible version 2 as version 1
-      has been removed due to a serious <link
+     <literal>ansible</literal> now defaults to ansible version 2 as version 1
+     has been removed due to a serious
+     <link
       xlink:href="https://www.computest.nl/advisories/CT-2017-0109_Ansible.txt">
-      vulnerability</link> unpatched by upstream.
+     vulnerability</link> unpatched by upstream.
     </para>
-  </listitem>
-
-  <listitem>
+   </listitem>
+   <listitem>
     <para>
-      <literal>gnome</literal> alias has been removed along with
-      <literal>gtk</literal>, <literal>gtkmm</literal> and several others.
-      Now you need to use versioned attributes, like <literal>gnome3</literal>.
+     <literal>gnome</literal> alias has been removed along with
+     <literal>gtk</literal>, <literal>gtkmm</literal> and several others. Now
+     you need to use versioned attributes, like <literal>gnome3</literal>.
     </para>
-  </listitem>
-
-  <listitem>
+   </listitem>
+   <listitem>
     <para>
-      The attribute name of the Radicale daemon has been changed from
-      <literal>pythonPackages.radicale</literal> to
-      <literal>radicale</literal>.
+     The attribute name of the Radicale daemon has been changed from
+     <literal>pythonPackages.radicale</literal> to <literal>radicale</literal>.
     </para>
-  </listitem>
-
-  <listitem>
+   </listitem>
+   <listitem>
     <para>
-      The <literal>stripHash</literal> bash function in <literal>stdenv</literal>
-      changed according to its documentation; it now outputs the stripped name to
-      <literal>stdout</literal> instead of putting it in the variable
-      <literal>strippedName</literal>.
+     The <literal>stripHash</literal> bash function in
+     <literal>stdenv</literal> changed according to its documentation; it now
+     outputs the stripped name to <literal>stdout</literal> instead of putting
+     it in the variable <literal>strippedName</literal>.
     </para>
-  </listitem>
-
-  <listitem>
-    <para>PHP now scans for extra configuration .ini files in /etc/php.d
-    instead of /etc. This prevents accidentally loading non-PHP .ini files
-    that may be in /etc.
+   </listitem>
+   <listitem>
+    <para>
+     PHP now scans for extra configuration .ini files in /etc/php.d instead of
+     /etc. This prevents accidentally loading non-PHP .ini files that may be in
+     /etc.
     </para>
-  </listitem>
-
-  <listitem>
+   </listitem>
+   <listitem>
     <para>
-      Two lone top-level dict dbs moved into <literal>dictdDBs</literal>. This
-      affects: <literal>dictdWordnet</literal> which is now at
-      <literal>dictdDBs.wordnet</literal> and <literal>dictdWiktionary</literal>
-      which is now at <literal>dictdDBs.wiktionary</literal>
+     Two lone top-level dict dbs moved into <literal>dictdDBs</literal>. This
+     affects: <literal>dictdWordnet</literal> which is now at
+     <literal>dictdDBs.wordnet</literal> and <literal>dictdWiktionary</literal>
+     which is now at <literal>dictdDBs.wiktionary</literal>
     </para>
-  </listitem>
-
-  <listitem>
+   </listitem>
+   <listitem>
     <para>
-      Parsoid service now uses YAML configuration format.
+     Parsoid service now uses YAML configuration format.
      <literal>service.parsoid.interwikis</literal> is now called
      <literal>service.parsoid.wikis</literal> and is a list of either API URLs
      or attribute sets as specified in parsoid's documentation.
     </para>
-  </listitem>
-
-  <listitem>
+   </listitem>
+   <listitem>
     <para>
      <literal>Ntpd</literal> was replaced by
      <literal>systemd-timesyncd</literal> as the default service to synchronize
@@ -263,14 +592,12 @@ following incompatible changes:</para>
      setting <literal>services.ntp.enable</literal> to <literal>true</literal>.
      Upstream time servers for all NTP implementations are now configured using
      <literal>networking.timeServers</literal>.
-   </para>
-  </listitem>
-
-  <listitem>
+    </para>
+   </listitem>
+   <listitem>
     <para>
-      <literal>service.nylon</literal> is now declared using named instances.
-      As an example:
-
+     <literal>service.nylon</literal> is now declared using named instances. As
+     an example:
 <programlisting>
   services.nylon = {
     enable = true;
@@ -279,9 +606,7 @@ following incompatible changes:</para>
     port = 5912;
   };
 </programlisting>
-
-      should be replaced with:
-
+     should be replaced with:
 <programlisting>
   services.nylon.myvpn = {
     enable = true;
@@ -290,225 +615,203 @@ following incompatible changes:</para>
     port = 5912;
   };
 </programlisting>
-
-      this enables you to declare a SOCKS proxy for each uplink.
-
+     this enables you to declare a SOCKS proxy for each uplink.
     </para>
-  </listitem>
-
-  <listitem>
-    <para><literal>overridePackages</literal> function no longer exists.
-    It is replaced by <link
+   </listitem>
+   <listitem>
+    <para>
+     <literal>overridePackages</literal> function no longer exists. It is
+     replaced by
+     <link
     xlink:href="https://nixos.org/nixpkgs/manual/#sec-overlays-install">
-    overlays</link>. For example, the following code:
-
+     overlays</link>. For example, the following code:
 <programlisting>
   let
     pkgs = import &lt;nixpkgs&gt; {};
   in
     pkgs.overridePackages (self: super: ...)
 </programlisting>
-
-    should be replaced by:
-
+     should be replaced by:
 <programlisting>
   let
     pkgs = import &lt;nixpkgs&gt; {};
   in
     import pkgs.path { overlays = [(self: super: ...)]; }
 </programlisting>
-
     </para>
-  </listitem>
-
-  <listitem>
+   </listitem>
+   <listitem>
     <para>
-      Autoloading connection tracking helpers is now disabled by default.
-      This default was also changed in the Linux kernel and is considered
-      insecure if not configured properly in your firewall. If you need
-      connection tracking helpers (i.e. for active FTP) please enable
-      <literal>networking.firewall.autoLoadConntrackHelpers</literal> and
-      tune <literal>networking.firewall.connectionTrackingModules</literal>
-      to suit your needs.
-    </para>
-  </listitem>
-
-  <listitem>
+     Autoloading connection tracking helpers is now disabled by default. This
+     default was also changed in the Linux kernel and is considered insecure if
+     not configured properly in your firewall. If you need connection tracking
+     helpers (i.e. for active FTP) please enable
+     <literal>networking.firewall.autoLoadConntrackHelpers</literal> and tune
+     <literal>networking.firewall.connectionTrackingModules</literal> to suit
+     your needs.
+    </para>
+   </listitem>
+   <listitem>
     <para>
-      <literal>local_recipient_maps</literal> is not set to empty value by
-      Postfix service. It's an insecure default as stated by Postfix
-      documentation. Those who want to retain this setting need to set it via
-      <literal>services.postfix.extraConfig</literal>.
+     <literal>local_recipient_maps</literal> is not set to empty value by
+     Postfix service. It's an insecure default as stated by Postfix
+     documentation. Those who want to retain this setting need to set it via
+     <literal>services.postfix.extraConfig</literal>.
     </para>
-  </listitem>
-
-  <listitem>
+   </listitem>
+   <listitem>
     <para>
-    Iputils no longer provide ping6 and traceroute6. The functionality of
-    these tools has been integrated into ping and traceroute respectively. To
-    enforce an address family the new flags <literal>-4</literal> and
-    <literal>-6</literal> have been added. One notable incompatibility is that
-    specifying an interface (for link-local IPv6 for instance) is no longer done
-    with the <literal>-I</literal> flag, but by encoding the interface into the
-    address (<literal>ping fe80::1%eth0</literal>).
-    </para>
-  </listitem>
-
-  <listitem>
+     Iputils no longer provide ping6 and traceroute6. The functionality of
+     these tools has been integrated into ping and traceroute respectively. To
+     enforce an address family the new flags <literal>-4</literal> and
+     <literal>-6</literal> have been added. One notable incompatibility is that
+     specifying an interface (for link-local IPv6 for instance) is no longer
+     done with the <literal>-I</literal> flag, but by encoding the interface
+     into the address (<literal>ping fe80::1%eth0</literal>).
+    </para>
+   </listitem>
+   <listitem>
     <para>
-      The socket handling of the <literal>services.rmilter</literal> module
-      has been fixed and refactored. As rmilter doesn't support binding to
-      more than one socket, the options <literal>bindUnixSockets</literal>
-      and <literal>bindInetSockets</literal> have been replaced by
-      <literal>services.rmilter.bindSocket.*</literal>. The default is still
-      a unix socket in <literal>/run/rmilter/rmilter.sock</literal>. Refer to
-      the options documentation for more information.
-    </para>
-  </listitem>
-
-  <listitem>
+     The socket handling of the <literal>services.rmilter</literal> module has
+     been fixed and refactored. As rmilter doesn't support binding to more than
+     one socket, the options <literal>bindUnixSockets</literal> and
+     <literal>bindInetSockets</literal> have been replaced by
+     <literal>services.rmilter.bindSocket.*</literal>. The default is still a
+     unix socket in <literal>/run/rmilter/rmilter.sock</literal>. Refer to the
+     options documentation for more information.
+    </para>
+   </listitem>
+   <listitem>
     <para>
-      The <literal>fetch*</literal> functions no longer support md5,
-      please use sha256 instead.
+     The <literal>fetch*</literal> functions no longer support md5, please use
+     sha256 instead.
     </para>
-  </listitem>
-
-  <listitem>
+   </listitem>
+   <listitem>
     <para>
-      The dnscrypt-proxy module interface has been streamlined around the
-      <option>extraArgs</option> option. Where possible, legacy option
-      declarations are mapped to <option>extraArgs</option> but will emit
-      warnings. The <option>resolverList</option> has been outright
-      removed: to use an unlisted resolver, use the
-      <option>customResolver</option> option.
-    </para>
-  </listitem>
-
-  <listitem>
+     The dnscrypt-proxy module interface has been streamlined around the
+     <option>extraArgs</option> option. Where possible, legacy option
+     declarations are mapped to <option>extraArgs</option> but will emit
+     warnings. The <option>resolverList</option> has been outright removed: to
+     use an unlisted resolver, use the <option>customResolver</option> option.
+    </para>
+   </listitem>
+   <listitem>
     <para>
-      torbrowser now stores local state under
-      <filename>~/.local/share/tor-browser</filename> by default. Any
-      browser profile data from the old location,
-      <filename>~/.torbrowser4</filename>, must be migrated manually.
+     torbrowser now stores local state under
+     <filename>~/.local/share/tor-browser</filename> by default. Any browser
+     profile data from the old location, <filename>~/.torbrowser4</filename>,
+     must be migrated manually.
     </para>
-  </listitem>
-
-  <listitem>
+   </listitem>
+   <listitem>
     <para>
-      The ihaskell, monetdb, offlineimap and sitecopy services have been removed.
+     The ihaskell, monetdb, offlineimap and sitecopy services have been
+     removed.
     </para>
-  </listitem>
-</itemizedlist>
+   </listitem>
+  </itemizedlist>
+ </section>
 
-</section>
-<section xmlns="http://docbook.org/ns/docbook"
+ <section xmlns="http://docbook.org/ns/docbook"
          xmlns:xlink="http://www.w3.org/1999/xlink"
          xmlns:xi="http://www.w3.org/2001/XInclude"
          version="5.0"
          xml:id="sec-release-17.03-notable-changes">
+  <title>Other Notable Changes</title>
 
-<title>Other Notable Changes</title>
-
-<itemizedlist>
-
-  <listitem>
-    <para>Module type system have a new extensible option types feature that
-      allow to extend certain types, such as enum, through multiple option
-      declarations of the same option across multiple modules.
-    </para>
-  </listitem>
-
-  <listitem>
+  <itemizedlist>
+   <listitem>
     <para>
-      <literal>jre</literal> now defaults to GTK+ UI by default. This
-      improves visual consistency and makes Java follow system font style,
-      improving the situation on HighDPI displays. This has a cost of increased
-      closure size; for server and other headless workloads it's recommended to
-      use <literal>jre_headless</literal>.
+     Module type system have a new extensible option types feature that allow
+     to extend certain types, such as enum, through multiple option
+     declarations of the same option across multiple modules.
     </para>
-  </listitem>
-
-  <listitem>
-    <para>Python 2.6 interpreter and package set have been removed.</para>
-  </listitem>
-
-  <listitem>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>jre</literal> now defaults to GTK+ UI by default. This improves
+     visual consistency and makes Java follow system font style, improving the
+     situation on HighDPI displays. This has a cost of increased closure size;
+     for server and other headless workloads it's recommended to use
+     <literal>jre_headless</literal>.
+    </para>
+   </listitem>
+   <listitem>
     <para>
-      The Python 2.7 interpreter does not use modules anymore. Instead, all
-      CPython interpreters now include the whole standard library except for `tkinter`,
-      which is available in the Python package set.
+     Python 2.6 interpreter and package set have been removed.
     </para>
-  </listitem>
-
-  <listitem>
+   </listitem>
+   <listitem>
     <para>
-      Python 2.7, 3.5 and 3.6 are now built deterministically and 3.4 mostly.
-      Minor modifications had to be made to the interpreters in order to generate
-      deterministic bytecode. This has security implications and is relevant for
-      those using Python in a <literal>nix-shell</literal>. See the Nixpkgs manual
-      for details.
+     The Python 2.7 interpreter does not use modules anymore. Instead, all
+     CPython interpreters now include the whole standard library except for
+     `tkinter`, which is available in the Python package set.
     </para>
-  </listitem>
-
-  <listitem>
+   </listitem>
+   <listitem>
     <para>
-      The Python package sets now use a fixed-point combinator and the sets are
-      available as attributes of the interpreters.
+     Python 2.7, 3.5 and 3.6 are now built deterministically and 3.4 mostly.
+     Minor modifications had to be made to the interpreters in order to
+     generate deterministic bytecode. This has security implications and is
+     relevant for those using Python in a <literal>nix-shell</literal>. See the
+     Nixpkgs manual for details.
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     The Python package sets now use a fixed-point combinator and the sets are
+     available as attributes of the interpreters.
     </para>
-  </listitem>
-
-  <listitem>
+   </listitem>
+   <listitem>
     <para>
-      The Python function <literal>buildPythonPackage</literal> has been improved and can be
-      used to build from Setuptools source, Flit source, and precompiled Wheels.
+     The Python function <literal>buildPythonPackage</literal> has been
+     improved and can be used to build from Setuptools source, Flit source, and
+     precompiled Wheels.
     </para>
-  </listitem>
-
-  <listitem>
+   </listitem>
+   <listitem>
     <para>
-      When adding new or updating current Python libraries, the expressions should be put
-      in separate files in <literal>pkgs/development/python-modules</literal> and
-      called from <literal>python-packages.nix</literal>.
+     When adding new or updating current Python libraries, the expressions
+     should be put in separate files in
+     <literal>pkgs/development/python-modules</literal> and called from
+     <literal>python-packages.nix</literal>.
     </para>
-  </listitem>
-
-  <listitem>
+   </listitem>
+   <listitem>
     <para>
-      The dnscrypt-proxy service supports synchronizing the list of public
-      resolvers without working DNS resolution. This fixes issues caused by the
-      resolver list becoming outdated. It also improves the viability of
-      DNSCrypt only configurations.
+     The dnscrypt-proxy service supports synchronizing the list of public
+     resolvers without working DNS resolution. This fixes issues caused by the
+     resolver list becoming outdated. It also improves the viability of
+     DNSCrypt only configurations.
     </para>
-  </listitem>
-
-  <listitem>
+   </listitem>
+   <listitem>
     <para>
-      Containers using bridged networking no longer lose their connection after
-      changes to the host networking.
+     Containers using bridged networking no longer lose their connection after
+     changes to the host networking.
     </para>
-  </listitem>
-
-  <listitem>
+   </listitem>
+   <listitem>
     <para>
-      ZFS supports pool auto scrubbing.
+     ZFS supports pool auto scrubbing.
     </para>
-  </listitem>
-
-  <listitem>
+   </listitem>
+   <listitem>
     <para>
-      The bind DNS utilities (e.g. dig) have been split into their own output and
-      are now also available in <literal>pkgs.dnsutils</literal> and it is no longer
-      necessary to pull in all of <literal>bind</literal> to use them.
+     The bind DNS utilities (e.g. dig) have been split into their own output
+     and are now also available in <literal>pkgs.dnsutils</literal> and it is
+     no longer necessary to pull in all of <literal>bind</literal> to use them.
     </para>
-  </listitem>
-
-  <listitem>
+   </listitem>
+   <listitem>
     <para>
-      Per-user configuration was moved from <filename>~/.nixpkgs</filename> to
-      <filename>~/.config/nixpkgs</filename>. The former is still valid for
-      <filename>config.nix</filename> for backwards compatibility.
+     Per-user configuration was moved from <filename>~/.nixpkgs</filename> to
+     <filename>~/.config/nixpkgs</filename>. The former is still valid for
+     <filename>config.nix</filename> for backwards compatibility.
     </para>
-  </listitem>
-</itemizedlist>
-</section>
+   </listitem>
+  </itemizedlist>
+ </section>
 </section>
diff --git a/nixos/doc/manual/release-notes/rl-1709.xml b/nixos/doc/manual/release-notes/rl-1709.xml
index 66f7b01db72..795c51d2923 100644
--- a/nixos/doc/manual/release-notes/rl-1709.xml
+++ b/nixos/doc/manual/release-notes/rl-1709.xml
@@ -3,40 +3,40 @@
          xmlns:xi="http://www.w3.org/2001/XInclude"
          version="5.0"
          xml:id="sec-release-17.09">
+ <title>Release 17.09 (“Hummingbird”, 2017/09/??)</title>
 
-<title>Release 17.09 (“Hummingbird”, 2017/09/??)</title>
-
-<section xmlns="http://docbook.org/ns/docbook"
+ <section xmlns="http://docbook.org/ns/docbook"
          xmlns:xlink="http://www.w3.org/1999/xlink"
          xmlns:xi="http://www.w3.org/2001/XInclude"
          version="5.0"
          xml:id="sec-release-17.09-highlights">
+  <title>Highlights</title>
 
-<title>Highlights</title>
-
-<para>In addition to numerous new and upgraded packages, this release
-has the following highlights: </para>
+  <para>
+   In addition to numerous new and upgraded packages, this release has the
+   following highlights:
+  </para>
 
-<itemizedlist>
-  <listitem>
+  <itemizedlist>
+   <listitem>
     <para>
-      The GNOME version is now 3.24. KDE Plasma was upgraded to 5.10,
-      KDE Applications to 17.08.1 and KDE Frameworks to 5.37.
+     The GNOME version is now 3.24. KDE Plasma was upgraded to 5.10, KDE
+     Applications to 17.08.1 and KDE Frameworks to 5.37.
     </para>
-  </listitem>
-  <listitem>
+   </listitem>
+   <listitem>
     <para>
-      The user handling now keeps track of deallocated UIDs/GIDs. When a user
-      or group is revived, this allows it to be allocated the UID/GID it had before.
-      A consequence is that UIDs and GIDs are no longer reused.
+     The user handling now keeps track of deallocated UIDs/GIDs. When a user or
+     group is revived, this allows it to be allocated the UID/GID it had
+     before. A consequence is that UIDs and GIDs are no longer reused.
     </para>
-  </listitem>
-  <listitem>
+   </listitem>
+   <listitem>
     <para>
-      The module option <option>services.xserver.xrandrHeads</option> now
-      causes the first head specified in this list to be set as the primary
-      head. Apart from that, it's now possible to also set additional options
-      by using an attribute set, for example:
+     The module option <option>services.xserver.xrandrHeads</option> now causes
+     the first head specified in this list to be set as the primary head. Apart
+     from that, it's now possible to also set additional options by using an
+     attribute set, for example:
 <programlisting>
 { services.xserver.xrandrHeads = [
     "HDMI-0"
@@ -50,365 +50,664 @@ has the following highlights: </para>
   ];
 }
 </programlisting>
-      This will set the <literal>DVI-0</literal> output to be the primary head,
-      even though <literal>HDMI-0</literal> is the first head in the list.
+     This will set the <literal>DVI-0</literal> output to be the primary head,
+     even though <literal>HDMI-0</literal> is the first head in the list.
     </para>
-  </listitem>
-  <listitem>
+   </listitem>
+   <listitem>
     <para>
-      The handling of SSL in the <literal>services.nginx</literal> module has
-      been cleaned up, renaming the misnamed <literal>enableSSL</literal> to
-      <literal>onlySSL</literal> which reflects its original intention. This
-      is not to be used with the already existing <literal>forceSSL</literal>
-      which creates a second non-SSL virtual host redirecting to the SSL
-      virtual host. This by chance had worked earlier due to specific
-      implementation details. In case you had specified both please remove
-      the <literal>enableSSL</literal> option to keep the previous behaviour.
+     The handling of SSL in the <literal>services.nginx</literal> module has
+     been cleaned up, renaming the misnamed <literal>enableSSL</literal> to
+     <literal>onlySSL</literal> which reflects its original intention. This is
+     not to be used with the already existing <literal>forceSSL</literal> which
+     creates a second non-SSL virtual host redirecting to the SSL virtual host.
+     This by chance had worked earlier due to specific implementation details.
+     In case you had specified both please remove the
+     <literal>enableSSL</literal> option to keep the previous behaviour.
     </para>
     <para>
-      Another <literal>addSSL</literal> option has been introduced to configure
-      both a non-SSL virtual host and an SSL virtual host with the same
-      configuration.
+     Another <literal>addSSL</literal> option has been introduced to configure
+     both a non-SSL virtual host and an SSL virtual host with the same
+     configuration.
     </para>
     <para>
-      Options to configure <literal>resolver</literal> options and
-      <literal>upstream</literal> blocks have been introduced. See their information
-      for further details.
+     Options to configure <literal>resolver</literal> options and
+     <literal>upstream</literal> blocks have been introduced. See their
+     information for further details.
     </para>
     <para>
-      The <literal>port</literal> option has been replaced by a more generic
-      <literal>listen</literal> option which makes it possible to specify
-      multiple addresses, ports and SSL configs dependant on the new SSL
-      handling mentioned above.
+     The <literal>port</literal> option has been replaced by a more generic
+     <literal>listen</literal> option which makes it possible to specify
+     multiple addresses, ports and SSL configs dependant on the new SSL
+     handling mentioned above.
     </para>
-  </listitem>
-</itemizedlist>
+   </listitem>
+  </itemizedlist>
+ </section>
 
-</section>
-<section xmlns="http://docbook.org/ns/docbook"
+ <section xmlns="http://docbook.org/ns/docbook"
          xmlns:xlink="http://www.w3.org/1999/xlink"
          xmlns:xi="http://www.w3.org/2001/XInclude"
          version="5.0"
          xml:id="sec-release-17.09-new-services">
+  <title>New Services</title>
 
-<title>New Services</title>
-
-<para>The following new services were added since the last release:</para>
+  <para>
+   The following new services were added since the last release:
+  </para>
 
-<itemizedlist>
-  <listitem><para><literal>config/fonts/fontconfig-penultimate.nix</literal></para></listitem>
-  <listitem><para><literal>config/fonts/fontconfig-ultimate.nix</literal></para></listitem>
-  <listitem><para><literal>config/terminfo.nix</literal></para></listitem>
-  <listitem><para><literal>hardware/sensor/iio.nix</literal></para></listitem>
-  <listitem><para><literal>hardware/nitrokey.nix</literal></para></listitem>
-  <listitem><para><literal>hardware/raid/hpsa.nix</literal></para></listitem>
-  <listitem><para><literal>programs/browserpass.nix</literal></para></listitem>
-  <listitem><para><literal>programs/gnupg.nix</literal></para></listitem>
-  <listitem><para><literal>programs/qt5ct.nix</literal></para></listitem>
-  <listitem><para><literal>programs/slock.nix</literal></para></listitem>
-  <listitem><para><literal>programs/thefuck.nix</literal></para></listitem>
-  <listitem><para><literal>security/auditd.nix</literal></para></listitem>
-  <listitem><para><literal>security/lock-kernel-modules.nix</literal></para></listitem>
-  <listitem><para><literal>service-managers/docker.nix</literal></para></listitem>
-  <listitem><para><literal>service-managers/trivial.nix</literal></para></listitem>
-  <listitem><para><literal>services/admin/salt/master.nix</literal></para></listitem>
-  <listitem><para><literal>services/admin/salt/minion.nix</literal></para></listitem>
-  <listitem><para><literal>services/audio/slimserver.nix</literal></para></listitem>
-  <listitem><para><literal>services/cluster/kubernetes/default.nix</literal></para></listitem>
-  <listitem><para><literal>services/cluster/kubernetes/dns.nix</literal></para></listitem>
-  <listitem><para><literal>services/cluster/kubernetes/dashboard.nix</literal></para></listitem>
-  <listitem><para><literal>services/continuous-integration/hail.nix</literal></para></listitem>
-  <listitem><para><literal>services/databases/clickhouse.nix</literal></para></listitem>
-  <listitem><para><literal>services/databases/postage.nix</literal></para></listitem>
-  <listitem><para><literal>services/desktops/gnome3/gnome-disks.nix</literal></para></listitem>
-  <listitem><para><literal>services/desktops/gnome3/gpaste.nix</literal></para></listitem>
-  <listitem><para><literal>services/logging/SystemdJournal2Gelf.nix</literal></para></listitem>
-  <listitem><para><literal>services/logging/heartbeat.nix</literal></para></listitem>
-  <listitem><para><literal>services/logging/journalwatch.nix</literal></para></listitem>
-  <listitem><para><literal>services/logging/syslogd.nix</literal></para></listitem>
-  <listitem><para><literal>services/mail/mailhog.nix</literal></para></listitem>
-  <listitem><para><literal>services/mail/nullmailer.nix</literal></para></listitem>
-  <listitem><para><literal>services/misc/airsonic.nix</literal></para></listitem>
-  <listitem><para><literal>services/misc/autorandr.nix</literal></para></listitem>
-  <listitem><para><literal>services/misc/exhibitor.nix</literal></para></listitem>
-  <listitem><para><literal>services/misc/fstrim.nix</literal></para></listitem>
-  <listitem><para><literal>services/misc/gollum.nix</literal></para></listitem>
-  <listitem><para><literal>services/misc/irkerd.nix</literal></para></listitem>
-  <listitem><para><literal>services/misc/jackett.nix</literal></para></listitem>
-  <listitem><para><literal>services/misc/radarr.nix</literal></para></listitem>
-  <listitem><para><literal>services/misc/snapper.nix</literal></para></listitem>
-  <listitem><para><literal>services/monitoring/osquery.nix</literal></para></listitem>
-  <listitem><para><literal>services/monitoring/prometheus/collectd-exporter.nix</literal></para></listitem>
-  <listitem><para><literal>services/monitoring/prometheus/fritzbox-exporter.nix</literal></para></listitem>
-  <listitem><para><literal>services/network-filesystems/kbfs.nix</literal></para></listitem>
-  <listitem><para><literal>services/networking/dnscache.nix</literal></para></listitem>
-  <listitem><para><literal>services/networking/fireqos.nix</literal></para></listitem>
-  <listitem><para><literal>services/networking/iwd.nix</literal></para></listitem>
-  <listitem><para><literal>services/networking/keepalived/default.nix</literal></para></listitem>
-  <listitem><para><literal>services/networking/keybase.nix</literal></para></listitem>
-  <listitem><para><literal>services/networking/lldpd.nix</literal></para></listitem>
-  <listitem><para><literal>services/networking/matterbridge.nix</literal></para></listitem>
-  <listitem><para><literal>services/networking/squid.nix</literal></para></listitem>
-  <listitem><para><literal>services/networking/tinydns.nix</literal></para></listitem>
-  <listitem><para><literal>services/networking/xrdp.nix</literal></para></listitem>
-  <listitem><para><literal>services/security/shibboleth-sp.nix</literal></para></listitem>
-  <listitem><para><literal>services/security/sks.nix</literal></para></listitem>
-  <listitem><para><literal>services/security/sshguard.nix</literal></para></listitem>
-  <listitem><para><literal>services/security/torify.nix</literal></para></listitem>
-  <listitem><para><literal>services/security/usbguard.nix</literal></para></listitem>
-  <listitem><para><literal>services/security/vault.nix</literal></para></listitem>
-  <listitem><para><literal>services/system/earlyoom.nix</literal></para></listitem>
-  <listitem><para><literal>services/system/saslauthd.nix</literal></para></listitem>
-  <listitem><para><literal>services/web-apps/nexus.nix</literal></para></listitem>
-  <listitem><para><literal>services/web-apps/pgpkeyserver-lite.nix</literal></para></listitem>
-  <listitem><para><literal>services/web-apps/piwik.nix</literal></para></listitem>
-  <listitem><para><literal>services/web-servers/lighttpd/collectd.nix</literal></para></listitem>
-  <listitem><para><literal>services/web-servers/minio.nix</literal></para></listitem>
-  <listitem><para><literal>services/x11/display-managers/xpra.nix</literal></para></listitem>
-  <listitem><para><literal>services/x11/xautolock.nix</literal></para></listitem>
-  <listitem><para><literal>tasks/filesystems/bcachefs.nix</literal></para></listitem>
-  <listitem><para><literal>tasks/powertop.nix</literal></para></listitem>
-</itemizedlist>
+  <itemizedlist>
+   <listitem>
+    <para>
+     <literal>config/fonts/fontconfig-penultimate.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>config/fonts/fontconfig-ultimate.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>config/terminfo.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>hardware/sensor/iio.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>hardware/nitrokey.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>hardware/raid/hpsa.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>programs/browserpass.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>programs/gnupg.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>programs/qt5ct.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>programs/slock.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>programs/thefuck.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>security/auditd.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>security/lock-kernel-modules.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>service-managers/docker.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>service-managers/trivial.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/admin/salt/master.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/admin/salt/minion.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/audio/slimserver.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/cluster/kubernetes/default.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/cluster/kubernetes/dns.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/cluster/kubernetes/dashboard.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/continuous-integration/hail.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/databases/clickhouse.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/databases/postage.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/desktops/gnome3/gnome-disks.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/desktops/gnome3/gpaste.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/logging/SystemdJournal2Gelf.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/logging/heartbeat.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/logging/journalwatch.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/logging/syslogd.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/mail/mailhog.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/mail/nullmailer.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/misc/airsonic.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/misc/autorandr.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/misc/exhibitor.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/misc/fstrim.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/misc/gollum.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/misc/irkerd.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/misc/jackett.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/misc/radarr.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/misc/snapper.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/monitoring/osquery.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/monitoring/prometheus/collectd-exporter.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/monitoring/prometheus/fritzbox-exporter.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/network-filesystems/kbfs.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/networking/dnscache.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/networking/fireqos.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/networking/iwd.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/networking/keepalived/default.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/networking/keybase.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/networking/lldpd.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/networking/matterbridge.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/networking/squid.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/networking/tinydns.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/networking/xrdp.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/security/shibboleth-sp.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/security/sks.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/security/sshguard.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/security/torify.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/security/usbguard.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/security/vault.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/system/earlyoom.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/system/saslauthd.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/web-apps/nexus.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/web-apps/pgpkeyserver-lite.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/web-apps/piwik.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/web-servers/lighttpd/collectd.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/web-servers/minio.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/x11/display-managers/xpra.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services/x11/xautolock.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>tasks/filesystems/bcachefs.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>tasks/powertop.nix</literal>
+    </para>
+   </listitem>
+  </itemizedlist>
+ </section>
 
-</section>
-<section xmlns="http://docbook.org/ns/docbook"
+ <section xmlns="http://docbook.org/ns/docbook"
          xmlns:xlink="http://www.w3.org/1999/xlink"
          xmlns:xi="http://www.w3.org/2001/XInclude"
          version="5.0"
          xml:id="sec-release-17.09-incompatibilities">
+  <title>Backward Incompatibilities</title>
 
-<title>Backward Incompatibilities</title>
-
-<para>When upgrading from a previous release, please be aware of the
-following incompatible changes:</para>
+  <para>
+   When upgrading from a previous release, please be aware of the following
+   incompatible changes:
+  </para>
 
-<itemizedlist>
-  <listitem>
-    <para>
-        <emphasis role="strong">
-            In an Qemu-based virtualization environment, the network interface
-            names changed from i.e. <literal>enp0s3</literal> to
-            <literal>ens3</literal>.
-        </emphasis>
-    </para>
-    <para>
-        This is due to a kernel configuration change. The new naming
-        is consistent with those of other Linux distributions with
-        systemd. See
-        <link xlink:href="https://github.com/NixOS/nixpkgs/issues/29197">#29197</link>
-        for more information.
-    </para>
-    <para>
-        A machine is affected if the <literal>virt-what</literal> tool
-        either returns <literal>qemu</literal> or
-        <literal>kvm</literal> <emphasis>and</emphasis> has
-        interface names used in any part of its NixOS configuration,
-        in particular if a static network configuration with
-        <literal>networking.interfaces</literal> is used.
-    </para>
-    <para>
-        Before rebooting affected machines, please ensure:
-        <itemizedlist>
-          <listitem>
-            <para>
-              Change the interface names in your NixOS configuration.
-              The first interface will be called <literal>ens3</literal>,
-              the second one <literal>ens8</literal> and starting from there
-              incremented by 1.
-            </para>
-          </listitem>
-          <listitem>
-            <para>
-              After changing the interface names, rebuild your system with
-              <literal>nixos-rebuild boot</literal> to activate the new
-              configuration after a reboot. If you switch to the new
-              configuration right away you might lose network connectivity!
-              If using <literal>nixops</literal>, deploy with
-              <literal>nixops deploy --force-reboot</literal>.
-            </para>
-          </listitem>
-        </itemizedlist>
-    </para>
-  </listitem>
-  <listitem>
-    <para>
-      The following changes apply if the <literal>stateVersion</literal> is changed to 17.09 or higher.
-      For <literal>stateVersion = "17.03"</literal> or lower the old behavior is preserved.
+  <itemizedlist>
+   <listitem>
+    <para>
+     <emphasis role="strong"> In an Qemu-based virtualization environment, the
+     network interface names changed from i.e. <literal>enp0s3</literal> to
+     <literal>ens3</literal>. </emphasis>
     </para>
-    <itemizedlist>
-      <listitem>
-        <para>
-          The <literal>postgres</literal> default version was changed from 9.5 to 9.6.
-        </para>
-      </listitem>
-      <listitem>
-        <para>
-          The <literal>postgres</literal> superuser name has changed from <literal>root</literal> to <literal>postgres</literal> to more closely follow what other Linux distributions are doing.
-        </para>
-      </listitem>
-      <listitem>
-        <para>
-          The <literal>postgres</literal> default <literal>dataDir</literal> has changed from <literal>/var/db/postgres</literal> to <literal>/var/lib/postgresql/$psqlSchema</literal> where $psqlSchema is 9.6 for example.
-        </para>
-      </listitem>
+    <para>
+     This is due to a kernel configuration change. The new naming is consistent
+     with those of other Linux distributions with systemd. See
+     <link xlink:href="https://github.com/NixOS/nixpkgs/issues/29197">#29197</link>
+     for more information.
+    </para>
+    <para>
+     A machine is affected if the <literal>virt-what</literal> tool either
+     returns <literal>qemu</literal> or <literal>kvm</literal>
+     <emphasis>and</emphasis> has interface names used in any part of its NixOS
+     configuration, in particular if a static network configuration with
+     <literal>networking.interfaces</literal> is used.
+    </para>
+    <para>
+     Before rebooting affected machines, please ensure:
+     <itemizedlist>
       <listitem>
-        <para>
-          The <literal>mysql</literal> default <literal>dataDir</literal> has changed from <literal>/var/mysql</literal> to <literal>/var/lib/mysql</literal>.
-        </para>
+       <para>
+        Change the interface names in your NixOS configuration. The first
+        interface will be called <literal>ens3</literal>, the second one
+        <literal>ens8</literal> and starting from there incremented by 1.
+       </para>
       </listitem>
       <listitem>
-        <para>
-          Radicale's default package has changed from 1.x to 2.x. Instructions to migrate can be found <link xlink:href="http://radicale.org/1to2/"> here </link>. It is also possible to use the newer version by setting the <literal>package</literal> to <literal>radicale2</literal>, which is done automatically when <literal>stateVersion</literal> is 17.09 or higher. The <literal>extraArgs</literal> option has been added to allow passing the data migration arguments specified in the instructions; see the <filename xlink:href="https://github.com/NixOS/nixpkgs/blob/master/nixos/tests/radicale.nix">radicale.nix</filename> NixOS test for an example migration.
-        </para>
+       <para>
+        After changing the interface names, rebuild your system with
+        <literal>nixos-rebuild boot</literal> to activate the new configuration
+        after a reboot. If you switch to the new configuration right away you
+        might lose network connectivity! If using <literal>nixops</literal>,
+        deploy with <literal>nixops deploy --force-reboot</literal>.
+       </para>
       </listitem>
+     </itemizedlist>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     The following changes apply if the <literal>stateVersion</literal> is
+     changed to 17.09 or higher. For <literal>stateVersion = "17.03"</literal>
+     or lower the old behavior is preserved.
+    </para>
+    <itemizedlist>
+     <listitem>
+      <para>
+       The <literal>postgres</literal> default version was changed from 9.5 to
+       9.6.
+      </para>
+     </listitem>
+     <listitem>
+      <para>
+       The <literal>postgres</literal> superuser name has changed from
+       <literal>root</literal> to <literal>postgres</literal> to more closely
+       follow what other Linux distributions are doing.
+      </para>
+     </listitem>
+     <listitem>
+      <para>
+       The <literal>postgres</literal> default <literal>dataDir</literal> has
+       changed from <literal>/var/db/postgres</literal> to
+       <literal>/var/lib/postgresql/$psqlSchema</literal> where $psqlSchema is
+       9.6 for example.
+      </para>
+     </listitem>
+     <listitem>
+      <para>
+       The <literal>mysql</literal> default <literal>dataDir</literal> has
+       changed from <literal>/var/mysql</literal> to
+       <literal>/var/lib/mysql</literal>.
+      </para>
+     </listitem>
+     <listitem>
+      <para>
+       Radicale's default package has changed from 1.x to 2.x. Instructions to
+       migrate can be found <link xlink:href="http://radicale.org/1to2/"> here
+       </link>. It is also possible to use the newer version by setting the
+       <literal>package</literal> to <literal>radicale2</literal>, which is
+       done automatically when <literal>stateVersion</literal> is 17.09 or
+       higher. The <literal>extraArgs</literal> option has been added to allow
+       passing the data migration arguments specified in the instructions; see
+       the
+       <filename xlink:href="https://github.com/NixOS/nixpkgs/blob/master/nixos/tests/radicale.nix">radicale.nix</filename>
+       NixOS test for an example migration.
+      </para>
+     </listitem>
     </itemizedlist>
-  </listitem>
-  <listitem>
+   </listitem>
+   <listitem>
     <para>
-      The <literal>aiccu</literal> package was removed. This is due to SixXS
-      <link xlink:href="https://www.sixxs.net/main/"> sunsetting</link> its IPv6 tunnel.
+     The <literal>aiccu</literal> package was removed. This is due to SixXS
+     <link xlink:href="https://www.sixxs.net/main/"> sunsetting</link> its IPv6
+     tunnel.
     </para>
-  </listitem>
-  <listitem>
+   </listitem>
+   <listitem>
     <para>
-      The <literal>fanctl</literal> package and <literal>fan</literal> module
-      have been removed due to the developers not upstreaming their iproute2
-      patches and lagging with compatibility to recent iproute2 versions.
+     The <literal>fanctl</literal> package and <literal>fan</literal> module
+     have been removed due to the developers not upstreaming their iproute2
+     patches and lagging with compatibility to recent iproute2 versions.
     </para>
-  </listitem>
-  <listitem>
+   </listitem>
+   <listitem>
     <para>
-      Top-level <literal>idea</literal> package collection was renamed.
-      All JetBrains IDEs are now at <literal>jetbrains</literal>.
+     Top-level <literal>idea</literal> package collection was renamed. All
+     JetBrains IDEs are now at <literal>jetbrains</literal>.
     </para>
-  </listitem>
-  <listitem>
+   </listitem>
+   <listitem>
     <para>
-      <literal>flexget</literal>'s state database cannot be upgraded to its
-      new internal format, requiring removal of any existing
-      <literal>db-config.sqlite</literal> which will be automatically recreated.
+     <literal>flexget</literal>'s state database cannot be upgraded to its new
+     internal format, requiring removal of any existing
+     <literal>db-config.sqlite</literal> which will be automatically recreated.
     </para>
-  </listitem>
-  <listitem>
+   </listitem>
+   <listitem>
     <para>
-      The <literal>ipfs</literal> service now doesn't ignore the <literal>dataDir</literal> option anymore. If you've ever set this option to anything other than the default you'll have to either unset it (so the default gets used) or migrate the old data manually with
+     The <literal>ipfs</literal> service now doesn't ignore the
+     <literal>dataDir</literal> option anymore. If you've ever set this option
+     to anything other than the default you'll have to either unset it (so the
+     default gets used) or migrate the old data manually with
 <programlisting>
 dataDir=&lt;valueOfDataDir&gt;
 mv /var/lib/ipfs/.ipfs/* $dataDir
 rmdir /var/lib/ipfs/.ipfs
 </programlisting>
     </para>
-  </listitem>
-  <listitem>
+   </listitem>
+   <listitem>
     <para>
-      The <literal>caddy</literal> service was previously using an extra
-      <literal>.caddy</literal> directory in the data directory specified
-      with the <literal>dataDir</literal> option. The contents of the
-      <literal>.caddy</literal> directory are now expected to be in the
-      <literal>dataDir</literal>.
+     The <literal>caddy</literal> service was previously using an extra
+     <literal>.caddy</literal> directory in the data directory specified with
+     the <literal>dataDir</literal> option. The contents of the
+     <literal>.caddy</literal> directory are now expected to be in the
+     <literal>dataDir</literal>.
     </para>
-  </listitem>
-  <listitem>
+   </listitem>
+   <listitem>
     <para>
-      The <literal>ssh-agent</literal> user service is not started by default
-      anymore. Use <literal>programs.ssh.startAgent</literal> to enable it if
-      needed. There is also a new <literal>programs.gnupg.agent</literal>
-      module that creates a <literal>gpg-agent</literal> user service. It can
-      also serve as a SSH agent if <literal>enableSSHSupport</literal> is set.
+     The <literal>ssh-agent</literal> user service is not started by default
+     anymore. Use <literal>programs.ssh.startAgent</literal> to enable it if
+     needed. There is also a new <literal>programs.gnupg.agent</literal> module
+     that creates a <literal>gpg-agent</literal> user service. It can also
+     serve as a SSH agent if <literal>enableSSHSupport</literal> is set.
     </para>
-  </listitem>
-  <listitem>
+   </listitem>
+   <listitem>
     <para>
-      The <literal>services.tinc.networks.&lt;name&gt;.listenAddress</literal>
-      option had a misleading name that did not correspond to its behavior. It
-      now correctly defines the ip to listen for incoming connections on. To
-      keep the previous behaviour, use
-      <literal>services.tinc.networks.&lt;name&gt;.bindToAddress</literal>
-      instead. Refer to the description of the options for more details.
+     The <literal>services.tinc.networks.&lt;name&gt;.listenAddress</literal>
+     option had a misleading name that did not correspond to its behavior. It
+     now correctly defines the ip to listen for incoming connections on. To
+     keep the previous behaviour, use
+     <literal>services.tinc.networks.&lt;name&gt;.bindToAddress</literal>
+     instead. Refer to the description of the options for more details.
     </para>
-  </listitem>
-  <listitem>
+   </listitem>
+   <listitem>
     <para>
-      <literal>tlsdate</literal> package and module were removed. This is due to the project
-      being dead and not building with openssl 1.1.
+     <literal>tlsdate</literal> package and module were removed. This is due to
+     the project being dead and not building with openssl 1.1.
     </para>
-  </listitem>
-  <listitem>
+   </listitem>
+   <listitem>
     <para>
-      <literal>wvdial</literal> package and module were removed. This is due to the project
-      being dead and not building with openssl 1.1.
+     <literal>wvdial</literal> package and module were removed. This is due to
+     the project being dead and not building with openssl 1.1.
     </para>
-  </listitem>
-  <listitem>
+   </listitem>
+   <listitem>
     <para>
-      <literal>cc-wrapper</literal>'s setup-hook now exports a number of
-      environment variables corresponding to binutils binaries,
-      (e.g. <envar>LD</envar>, <envar>STRIP</envar>, <envar>RANLIB</envar>,
-      etc). This is done to prevent packages' build systems guessing, which is
-      harder to predict, especially when cross-compiling. However, some packages
-      have broken due to this—their build systems either not supporting, or
-      claiming to support without adequate testing, taking such environment
-      variables as parameters.
+     <literal>cc-wrapper</literal>'s setup-hook now exports a number of
+     environment variables corresponding to binutils binaries, (e.g.
+     <envar>LD</envar>, <envar>STRIP</envar>, <envar>RANLIB</envar>, etc). This
+     is done to prevent packages' build systems guessing, which is harder to
+     predict, especially when cross-compiling. However, some packages have
+     broken due to this—their build systems either not supporting, or
+     claiming to support without adequate testing, taking such environment
+     variables as parameters.
     </para>
-  </listitem>
-  <listitem>
+   </listitem>
+   <listitem>
     <para>
-      <literal>services.firefox.syncserver</literal> now runs by default as a
-      non-root user. To accomodate this change, the default sqlite database
-      location has also been changed. Migration should work automatically.
-      Refer to the description of the options for more details.
+     <literal>services.firefox.syncserver</literal> now runs by default as a
+     non-root user. To accomodate this change, the default sqlite database
+     location has also been changed. Migration should work automatically. Refer
+     to the description of the options for more details.
     </para>
-  </listitem>
-  <listitem>
+   </listitem>
+   <listitem>
     <para>
-      The <literal>compiz</literal> window manager and package was
-      removed. The system support had been broken for several years.
+     The <literal>compiz</literal> window manager and package was removed. The
+     system support had been broken for several years.
     </para>
-  </listitem>
-  <listitem>
+   </listitem>
+   <listitem>
     <para>
-      Touchpad support should now be enabled through
-      <literal>libinput</literal> as <literal>synaptics</literal> is
-      now deprecated. See the option
-      <literal>services.xserver.libinput.enable</literal>.
+     Touchpad support should now be enabled through <literal>libinput</literal>
+     as <literal>synaptics</literal> is now deprecated. See the option
+     <literal>services.xserver.libinput.enable</literal>.
     </para>
-  </listitem>
-  <listitem>
+   </listitem>
+   <listitem>
     <para>
-      grsecurity/PaX support has been dropped, following upstream's
-      decision to cease free support.  See
-      <link xlink:href="https://grsecurity.net/passing_the_baton.php">
-      upstream's announcement</link> for more information.
-      No complete replacement for grsecurity/PaX is available presently.
+     grsecurity/PaX support has been dropped, following upstream's decision to
+     cease free support. See
+     <link xlink:href="https://grsecurity.net/passing_the_baton.php">
+     upstream's announcement</link> for more information. No complete
+     replacement for grsecurity/PaX is available presently.
     </para>
-  </listitem>
-  <listitem>
+   </listitem>
+   <listitem>
     <para>
-      <literal>services.mysql</literal> now has declarative
-      configuration of databases and users with the <literal>ensureDatabases</literal> and
-      <literal>ensureUsers</literal> options.
+     <literal>services.mysql</literal> now has declarative configuration of
+     databases and users with the <literal>ensureDatabases</literal> and
+     <literal>ensureUsers</literal> options.
     </para>
-
     <para>
-      These options will never delete existing databases and users,
-      especially not when the value of the options are changed.
+     These options will never delete existing databases and users, especially
+     not when the value of the options are changed.
     </para>
-
     <para>
-      The MySQL users will be identified using
-      <link xlink:href="https://mariadb.com/kb/en/library/authentication-plugin-unix-socket/">
-        Unix socket authentication</link>. This authenticates the
-        Unix user with the same name only, and that without the need
-        for a password.
+     The MySQL users will be identified using
+     <link xlink:href="https://mariadb.com/kb/en/library/authentication-plugin-unix-socket/">
+     Unix socket authentication</link>. This authenticates the Unix user with
+     the same name only, and that without the need for a password.
     </para>
-
     <para>
-      If you have previously created a MySQL <literal>root</literal>
-      user <emphasis>with a password</emphasis>, you will need to add
-      <literal>root</literal> user for unix socket authentication
-      before using the new options. This can be done by running the
-      following SQL script:
-
+     If you have previously created a MySQL <literal>root</literal> user
+     <emphasis>with a password</emphasis>, you will need to add
+     <literal>root</literal> user for unix socket authentication before using
+     the new options. This can be done by running the following SQL script:
 <programlisting language="sql">
 CREATE USER 'root'@'%' IDENTIFIED BY '';
 GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
@@ -418,194 +717,183 @@ FLUSH PRIVILEGES;
 -- DROP USER 'root'@'localhost';
 </programlisting>
     </para>
-  </listitem>
-
-  <listitem>
+   </listitem>
+   <listitem>
     <para>
-      <literal>services.mysqlBackup</literal> now works by default
-      without any user setup, including for users other than
-      <literal>mysql</literal>.
+     <literal>services.mysqlBackup</literal> now works by default without any
+     user setup, including for users other than <literal>mysql</literal>.
     </para>
-
     <para>
-      By default, the <literal>mysql</literal> user is no longer the
-      user which performs the backup. Instead a system account
-      <literal>mysqlbackup</literal> is used.
+     By default, the <literal>mysql</literal> user is no longer the user which
+     performs the backup. Instead a system account
+     <literal>mysqlbackup</literal> is used.
     </para>
-
     <para>
-      The <literal>mysqlBackup</literal> service is also now using
-      systemd timers instead of <literal>cron</literal>.
+     The <literal>mysqlBackup</literal> service is also now using systemd
+     timers instead of <literal>cron</literal>.
     </para>
-
     <para>
-      Therefore, the <literal>services.mysqlBackup.period</literal>
-      option no longer exists, and has been replaced with
-      <literal>services.mysqlBackup.calendar</literal>, which is in
-      the format of <link
+     Therefore, the <literal>services.mysqlBackup.period</literal> option no
+     longer exists, and has been replaced with
+     <literal>services.mysqlBackup.calendar</literal>, which is in the format
+     of
+     <link
       xlink:href="https://www.freedesktop.org/software/systemd/man/systemd.time.html#Calendar%20Events">systemd.time(7)</link>.
     </para>
-
     <para>
-      If you expect to be sent an e-mail when the backup fails,
-      consider using a script which monitors the systemd journal for
-      errors. Regretfully, at present there is no built-in
-      functionality for this.
+     If you expect to be sent an e-mail when the backup fails, consider using a
+     script which monitors the systemd journal for errors. Regretfully, at
+     present there is no built-in functionality for this.
     </para>
-
     <para>
-      You can check that backups still work by running
-      <command>systemctl start mysql-backup</command> then
-      <command>systemctl status mysql-backup</command>.
+     You can check that backups still work by running <command>systemctl start
+     mysql-backup</command> then <command>systemctl status
+     mysql-backup</command>.
     </para>
-  </listitem>
-
-  <listitem>
+   </listitem>
+   <listitem>
     <para>
-      Templated systemd services e.g <literal>container@name</literal> are
-      now handled currectly when switching to a new configuration, resulting
-      in them being reloaded.
+     Templated systemd services e.g <literal>container@name</literal> are now
+     handled currectly when switching to a new configuration, resulting in them
+     being reloaded.
     </para>
-  </listitem>
-
-  <listitem>
-    <para>Steam: the <literal>newStdcpp</literal> parameter
-    was removed and should not be needed anymore.</para>
-  </listitem>
-
-  <listitem>
+   </listitem>
+   <listitem>
     <para>
-      Redis has been updated to version 4 which mandates a cluster
-      mass-restart, due to changes in the network handling, in order
-      to ensure compatibility with networks NATing traffic.
+     Steam: the <literal>newStdcpp</literal> parameter was removed and should
+     not be needed anymore.
     </para>
-  </listitem>
-</itemizedlist>
+   </listitem>
+   <listitem>
+    <para>
+     Redis has been updated to version 4 which mandates a cluster mass-restart,
+     due to changes in the network handling, in order to ensure compatibility
+     with networks NATing traffic.
+    </para>
+   </listitem>
+  </itemizedlist>
+ </section>
 
-</section>
-<section xmlns="http://docbook.org/ns/docbook"
+ <section xmlns="http://docbook.org/ns/docbook"
          xmlns:xlink="http://www.w3.org/1999/xlink"
          xmlns:xi="http://www.w3.org/2001/XInclude"
          version="5.0"
          xml:id="sec-release-17.09-notable-changes">
+  <title>Other Notable Changes</title>
 
-<title>Other Notable Changes</title>
-
-<itemizedlist>
-
-  <listitem>
+  <itemizedlist>
+   <listitem>
     <para>
-      Modules can now be disabled by using <link
+     Modules can now be disabled by using
+     <link
       xlink:href="https://nixos.org/nixpkgs/manual/#sec-replace-modules">
-      disabledModules</link>, allowing another to take it's place.  This can be
-      used to import a set of modules from another channel while keeping the
-      rest of the system on a stable release.
+     disabledModules</link>, allowing another to take it's place. This can be
+     used to import a set of modules from another channel while keeping the
+     rest of the system on a stable release.
     </para>
-  </listitem>
-  <listitem>
+   </listitem>
+   <listitem>
     <para>
-      Updated to FreeType 2.7.1, including a new TrueType engine.
-      The new engine replaces the Infinality engine which was the default in
-      NixOS. The default font rendering settings are now provided by
-      fontconfig-penultimate, replacing fontconfig-ultimate; the new defaults
-      are less invasive and provide rendering that is more consistent with
-      other systems and hopefully with each font designer's intent. Some
-      system-wide configuration has been removed from the Fontconfig NixOS
-      module where user Fontconfig settings are available.
+     Updated to FreeType 2.7.1, including a new TrueType engine. The new engine
+     replaces the Infinality engine which was the default in NixOS. The default
+     font rendering settings are now provided by fontconfig-penultimate,
+     replacing fontconfig-ultimate; the new defaults are less invasive and
+     provide rendering that is more consistent with other systems and hopefully
+     with each font designer's intent. Some system-wide configuration has been
+     removed from the Fontconfig NixOS module where user Fontconfig settings
+     are available.
     </para>
-  </listitem>
-  <listitem>
+   </listitem>
+   <listitem>
     <para>
-      ZFS/SPL have been updated to 0.7.0, <literal>zfsUnstable, splUnstable</literal>
-      have therefore been removed.
+     ZFS/SPL have been updated to 0.7.0, <literal>zfsUnstable,
+     splUnstable</literal> have therefore been removed.
     </para>
-  </listitem>
-  <listitem>
+   </listitem>
+   <listitem>
     <para>
-      The <option>time.timeZone</option> option now allows the value
-      <literal>null</literal> in addition to timezone strings. This value
-      allows changing the timezone of a system imperatively using
-      <command>timedatectl set-timezone</command>. The default timezone
-      is still UTC.
+     The <option>time.timeZone</option> option now allows the value
+     <literal>null</literal> in addition to timezone strings. This value allows
+     changing the timezone of a system imperatively using <command>timedatectl
+     set-timezone</command>. The default timezone is still UTC.
     </para>
-  </listitem>
-  <listitem>
+   </listitem>
+   <listitem>
     <para>
-      Nixpkgs overlays may now be specified with a file as well as a directory. The
-      value of <literal>&lt;nixpkgs-overlays></literal> may be a file, and
-      <filename>~/.config/nixpkgs/overlays.nix</filename> can be used instead of the
-      <filename>~/.config/nixpkgs/overlays</filename> directory.
+     Nixpkgs overlays may now be specified with a file as well as a directory.
+     The value of <literal>&lt;nixpkgs-overlays></literal> may be a file, and
+     <filename>~/.config/nixpkgs/overlays.nix</filename> can be used instead of
+     the <filename>~/.config/nixpkgs/overlays</filename> directory.
     </para>
     <para>
-      See the overlays chapter of the Nixpkgs manual for more details.
+     See the overlays chapter of the Nixpkgs manual for more details.
     </para>
-  </listitem>
-  <listitem>
+   </listitem>
+   <listitem>
     <para>
-      Definitions for <filename>/etc/hosts</filename> can now be specified
-      declaratively with <literal>networking.hosts</literal>.
+     Definitions for <filename>/etc/hosts</filename> can now be specified
+     declaratively with <literal>networking.hosts</literal>.
     </para>
-  </listitem>
-  <listitem>
+   </listitem>
+   <listitem>
     <para>
-      Two new options have been added to the installer loader, in addition
-      to the default having changed. The kernel log verbosity has been lowered
-      to the upstream default for the default options, in order to not spam
-      the console when e.g. joining a network.
+     Two new options have been added to the installer loader, in addition to
+     the default having changed. The kernel log verbosity has been lowered to
+     the upstream default for the default options, in order to not spam the
+     console when e.g. joining a network.
     </para>
     <para>
-      This therefore leads to adding a new <literal>debug</literal> option
-      to set the log level to the previous verbose mode, to make debugging
-      easier, but still accessible easily.
+     This therefore leads to adding a new <literal>debug</literal> option to
+     set the log level to the previous verbose mode, to make debugging easier,
+     but still accessible easily.
     </para>
     <para>
-      Additionally a <literal>copytoram</literal> option has been added,
-      which makes it possible to remove the install medium after booting.
-      This allows tethering from your phone after booting from it.
+     Additionally a <literal>copytoram</literal> option has been added, which
+     makes it possible to remove the install medium after booting. This allows
+     tethering from your phone after booting from it.
     </para>
-  </listitem>
-  <listitem>
+   </listitem>
+   <listitem>
     <para>
-      <literal>services.gitlab-runner.configOptions</literal> has been added
-      to specify the configuration of gitlab-runners declaratively.
+     <literal>services.gitlab-runner.configOptions</literal> has been added to
+     specify the configuration of gitlab-runners declaratively.
     </para>
-  </listitem>
-  <listitem>
+   </listitem>
+   <listitem>
     <para>
-      <literal>services.jenkins.plugins</literal> has been added
-      to install plugins easily, this can be generated with jenkinsPlugins2nix.
+     <literal>services.jenkins.plugins</literal> has been added to install
+     plugins easily, this can be generated with jenkinsPlugins2nix.
     </para>
-  </listitem>
-  <listitem>
+   </listitem>
+   <listitem>
     <para>
-      <literal>services.postfix.config</literal> has been added
-      to specify the main.cf with NixOS options. Additionally other options
-      have been added to the postfix module and has been improved further.
+     <literal>services.postfix.config</literal> has been added to specify the
+     main.cf with NixOS options. Additionally other options have been added to
+     the postfix module and has been improved further.
     </para>
-  </listitem>
-  <listitem>
+   </listitem>
+   <listitem>
     <para>
-      The GitLab package and module have been updated to the latest 10.0
-      release.
+     The GitLab package and module have been updated to the latest 10.0
+     release.
     </para>
-  </listitem>
-  <listitem>
+   </listitem>
+   <listitem>
     <para>
-      The <literal>systemd-boot</literal> boot loader now lists the NixOS
-      version, kernel version and build date of all bootable generations.
+     The <literal>systemd-boot</literal> boot loader now lists the NixOS
+     version, kernel version and build date of all bootable generations.
     </para>
-  </listitem>
-  <listitem>
+   </listitem>
+   <listitem>
     <para>
-      The dnscrypt-proxy service now defaults to using a random upstream resolver,
-      selected from the list of public non-logging resolvers with DNSSEC support.
-      Existing configurations can be migrated to this mode of operation by
-      omitting the <option>services.dnscrypt-proxy.resolverName</option> option
-      or setting it to <literal>"random"</literal>.
+     The dnscrypt-proxy service now defaults to using a random upstream
+     resolver, selected from the list of public non-logging resolvers with
+     DNSSEC support. Existing configurations can be migrated to this mode of
+     operation by omitting the
+     <option>services.dnscrypt-proxy.resolverName</option> option or setting it
+     to <literal>"random"</literal>.
     </para>
-  </listitem>
-
-</itemizedlist>
-
-</section>
+   </listitem>
+  </itemizedlist>
+ </section>
 </section>
diff --git a/nixos/doc/manual/release-notes/rl-1803.xml b/nixos/doc/manual/release-notes/rl-1803.xml
index b755245a69f..c14679eea07 100644
--- a/nixos/doc/manual/release-notes/rl-1803.xml
+++ b/nixos/doc/manual/release-notes/rl-1803.xml
@@ -3,439 +3,822 @@
          xmlns:xi="http://www.w3.org/2001/XInclude"
          version="5.0"
          xml:id="sec-release-18.03">
+ <title>Release 18.03 (“Impala”, 2018/04/04)</title>
 
-<title>Release 18.03 (“Impala”, 2018/03/??)</title>
-
-<section xmlns="http://docbook.org/ns/docbook"
+ <section xmlns="http://docbook.org/ns/docbook"
          xmlns:xlink="http://www.w3.org/1999/xlink"
          xmlns:xi="http://www.w3.org/2001/XInclude"
          version="5.0"
          xml:id="sec-release-18.03-highlights">
+  <title>Highlights</title>
 
-<title>Highlights</title>
+  <para>
+   In addition to numerous new and upgraded packages, this release has the
+   following highlights:
+  </para>
 
-<para>In addition to numerous new and upgraded packages, this release
-has the following highlights: </para>
-
-<itemizedlist>
-  <listitem>
+  <itemizedlist>
+   <listitem>
     <para>
-      Nix now defaults to 2.0; see its
-      <link xlink:href="https://nixos.org/nix/manual/#ssec-relnotes-2.0">release notes</link>.
+     End of support is planned for end of October 2018, handing over to 18.09.
     </para>
-  </listitem>
-
-  <listitem>
+   </listitem>
+   <listitem>
     <para>
-      Linux kernel defaults to the 4.14 branch (it was 4.9).
+     Platform support: x86_64-linux and x86_64-darwin since release time (the
+     latter isn't NixOS, really). Binaries for aarch64-linux are available, but
+     no channel exists yet, as it's waiting for some test fixes, etc.
     </para>
-  </listitem>
-
-  <listitem>
+   </listitem>
+   <listitem>
     <para>
-      GCC defaults to 7.x (it was 6.x).
+     Nix now defaults to 2.0; see its
+     <link xlink:href="https://nixos.org/nix/manual/#ssec-relnotes-2.0">release
+     notes</link>.
     </para>
-  </listitem>
-
-  <listitem>
-    <para>
-      MariaDB 10.2, updated from 10.1, is now the default MySQL implementation. While upgrading a few changes
-      have been made to the infrastructure involved:
-      <itemizedlist>
-        <listitem>
-          <para>
-            <literal>libmysql</literal> has been deprecated, please use <literal>mysql.connector-c</literal>
-            instead, a compatibility passthru has been added to the MySQL packages.
-          </para>
-        </listitem>
-        <listitem>
-          <para>
-            The <literal>mysql57</literal> package has a new <literal>static</literal> output containing
-            the static libraries including <literal>libmysqld.a</literal>
-          </para>
-        </listitem>
-      </itemizedlist>
-    </para>
-  </listitem>
-
-  <listitem>
+   </listitem>
+   <listitem>
     <para>
-      The GNOME version is now 3.26.
+     Core version changes: linux: 4.9 -> 4.14, glibc: 2.25 -> 2.26, gcc: 6 ->
+     7, systemd: 234 -> 237.
     </para>
-  </listitem>
-
-  <listitem>
-    <para>PHP now defaults to PHP 7.2</para>
-  </listitem>
-</itemizedlist>
+   </listitem>
+   <listitem>
+    <para>
+     Desktop version changes: gnome: 3.24 -> 3.26, (KDE) plasma-desktop: 5.10
+     -> 5.12.
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     MariaDB 10.2, updated from 10.1, is now the default MySQL implementation.
+     While upgrading a few changes have been made to the infrastructure
+     involved:
+     <itemizedlist>
+      <listitem>
+       <para>
+        <literal>libmysql</literal> has been deprecated, please use
+        <literal>mysql.connector-c</literal> instead, a compatibility passthru
+        has been added to the MySQL packages.
+       </para>
+      </listitem>
+      <listitem>
+       <para>
+        The <literal>mysql57</literal> package has a new
+        <literal>static</literal> output containing the static libraries
+        including <literal>libmysqld.a</literal>
+       </para>
+      </listitem>
+     </itemizedlist>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     PHP now defaults to PHP 7.2, updated from 7.1.
+    </para>
+   </listitem>
+  </itemizedlist>
+ </section>
 
-</section>
-<section xmlns="http://docbook.org/ns/docbook"
+ <section xmlns="http://docbook.org/ns/docbook"
          xmlns:xlink="http://www.w3.org/1999/xlink"
          xmlns:xi="http://www.w3.org/2001/XInclude"
          version="5.0"
          xml:id="sec-release-18.03-new-services">
+  <title>New Services</title>
 
-<title>New Services</title>
-
-<para>The following new services were added since the last release:</para>
+  <para>
+   The following new services were added since the last release:
+  </para>
 
-<itemizedlist>
-  <listitem>
-    <para></para>
-  </listitem>
-</itemizedlist>
+  <itemizedlist>
+   <listitem>
+    <para>
+     <literal>./config/krb5/default.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>./hardware/digitalbitbox.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>./misc/label.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>./programs/ccache.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>./programs/criu.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>./programs/digitalbitbox/default.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>./programs/less.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>./programs/npm.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>./programs/plotinus.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>./programs/rootston.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>./programs/systemtap.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>./programs/sway.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>./programs/udevil.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>./programs/way-cooler.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>./programs/yabar.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>./programs/zsh/zsh-autoenv.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>./services/backup/borgbackup.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>./services/backup/crashplan-small-business.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>./services/desktops/dleyna-renderer.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>./services/desktops/dleyna-server.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>./services/desktops/pipewire.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>./services/desktops/gnome3/chrome-gnome-shell.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>./services/desktops/gnome3/tracker-miners.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>./services/hardware/fwupd.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>./services/hardware/interception-tools.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>./services/hardware/u2f.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>./services/hardware/usbmuxd.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>./services/mail/clamsmtp.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>./services/mail/dkimproxy-out.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>./services/mail/pfix-srsd.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>./services/misc/gitea.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>./services/misc/home-assistant.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>./services/misc/ihaskell.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>./services/misc/logkeys.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>./services/misc/novacomd.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>./services/misc/osrm.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>./services/misc/plexpy.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>./services/misc/pykms.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>./services/misc/tzupdate.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>./services/monitoring/fusion-inventory.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>./services/monitoring/prometheus/exporters.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>./services/network-filesystems/beegfs.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>./services/network-filesystems/davfs2.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>./services/network-filesystems/openafs/client.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>./services/network-filesystems/openafs/server.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>./services/network-filesystems/ceph.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>./services/networking/aria2.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>./services/networking/monero.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>./services/networking/nghttpx/default.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>./services/networking/nixops-dns.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>./services/networking/rxe.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>./services/networking/stunnel.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>./services/web-apps/matomo.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>./services/web-apps/restya-board.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>./services/web-servers/mighttpd2.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>./services/x11/fractalart.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>./system/boot/binfmt.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>./system/boot/grow-partition.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>./tasks/filesystems/ecryptfs.nix</literal>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>./virtualisation/hyperv-guest.nix</literal>
+    </para>
+   </listitem>
+  </itemizedlist>
+ </section>
 
-</section>
-<section xmlns="http://docbook.org/ns/docbook"
+ <section xmlns="http://docbook.org/ns/docbook"
          xmlns:xlink="http://www.w3.org/1999/xlink"
          xmlns:xi="http://www.w3.org/2001/XInclude"
          version="5.0"
          xml:id="sec-release-18.03-incompatibilities">
+  <title>Backward Incompatibilities</title>
 
-<title>Backward Incompatibilities</title>
-
-<para>When upgrading from a previous release, please be aware of the
-following incompatible changes:</para>
-
-<itemizedlist>
-  <listitem>
-    <para>
-      <literal>sound.enable</literal> now defaults to false.
-    </para>
-  </listitem>
-  <listitem>
-    <para>
-      Dollar signs in options under <option>services.postfix</option> are
-      passed verbatim to Postfix, which will interpret them as the beginning of
-      a parameter expression. This was already true for string-valued options
-      in the previous release, but not for list-valued options. If you need to
-      pass literal dollar signs through Postfix, double them.
-    </para>
-  </listitem>
-  <listitem>
-    <para>
-      The <literal>postage</literal> package (for web-based PostgreSQL
-      administration) has been renamed to <literal>pgmanage</literal>. The
-      corresponding module has also been renamed. To migrate please rename all
-      <option>services.postage</option> options to
-      <option>services.pgmanage</option>.
-    </para>
-  </listitem>
-  <listitem>
-    <para>
-      Package attributes starting with a digit have been prefixed with an
-      underscore sign. This is to avoid quoting in the configuration and
-      other issues with command-line tools like <literal>nix-env</literal>.
-      The change affects the following packages:
-      <itemizedlist>
-        <listitem>
-          <para><literal>2048-in-terminal</literal> → <literal>_2048-in-terminal</literal></para>
-        </listitem>
-        <listitem>
-          <para><literal>90secondportraits</literal> → <literal>_90secondportraits</literal></para>
-        </listitem>
-        <listitem>
-          <para><literal>2bwm</literal> → <literal>_2bwm</literal></para>
-        </listitem>
-        <listitem>
-          <para><literal>389-ds-base</literal> → <literal>_389-ds-base</literal></para>
-        </listitem>
-      </itemizedlist>
-    </para>
-  </listitem>
-  <listitem>
-    <para>
-      <emphasis role="strong">
-        The OpenSSH service no longer enables support for DSA keys by default,
-        which could cause a system lock out. Update your keys or, unfavorably,
-        re-enable DSA support manually.
-      </emphasis>
-    </para>
+  <para>
+   When upgrading from a previous release, please be aware of the following
+   incompatible changes:
+  </para>
 
+  <itemizedlist>
+   <listitem>
     <para>
-      DSA support was
-      <link xlink:href="https://www.openssh.com/legacy.html">deprecated in OpenSSH 7.0</link>,
-      due to it being too weak. To re-enable support, add
-      <literal>PubkeyAcceptedKeyTypes +ssh-dss</literal> to the end of your
-      <option>services.openssh.extraConfig</option>.
+     <literal>sound.enable</literal> now defaults to false.
     </para>
-
+   </listitem>
+   <listitem>
     <para>
-      After updating the keys to be stronger, anyone still on a pre-17.03
-      version is safe to jump to 17.03, as vetted
-      <link xlink:href="https://search.nix.gsc.io/?q=stateVersion">here</link>.
+     Dollar signs in options under <option>services.postfix</option> are passed
+     verbatim to Postfix, which will interpret them as the beginning of a
+     parameter expression. This was already true for string-valued options in
+     the previous release, but not for list-valued options. If you need to pass
+     literal dollar signs through Postfix, double them.
     </para>
-  </listitem>
-  <listitem>
+   </listitem>
+   <listitem>
     <para>
-      The <literal>openssh</literal> package
-      now includes Kerberos support by default;
-      the <literal>openssh_with_kerberos</literal> package
-      is now a deprecated alias.
-      If you do not want Kerberos support,
-      you can do <literal>openssh.override { withKerboros = false; }</literal>.
-      Note, this also applies to the <literal>openssh_hpn</literal> package.
+     The <literal>postage</literal> package (for web-based PostgreSQL
+     administration) has been renamed to <literal>pgmanage</literal>. The
+     corresponding module has also been renamed. To migrate please rename all
+     <option>services.postage</option> options to
+     <option>services.pgmanage</option>.
     </para>
-  </listitem>
-  <listitem>
+   </listitem>
+   <listitem>
     <para>
-      <literal>cc-wrapper</literal> has been split in two; there is now also a <literal>bintools-wrapper</literal>.
-      The most commonly used files in <filename>nix-support</filename> are now split between the two wrappers.
-      Some commonly used ones, like <filename>nix-support/dynamic-linker</filename>, are duplicated for backwards compatability, even though they rightly belong only in <literal>bintools-wrapper</literal>.
-      Other more obscure ones are just moved.
+     Package attributes starting with a digit have been prefixed with an
+     underscore sign. This is to avoid quoting in the configuration and other
+     issues with command-line tools like <literal>nix-env</literal>. The change
+     affects the following packages:
+     <itemizedlist>
+      <listitem>
+       <para>
+        <literal>2048-in-terminal</literal> →
+        <literal>_2048-in-terminal</literal>
+       </para>
+      </listitem>
+      <listitem>
+       <para>
+        <literal>90secondportraits</literal> →
+        <literal>_90secondportraits</literal>
+       </para>
+      </listitem>
+      <listitem>
+       <para>
+        <literal>2bwm</literal> → <literal>_2bwm</literal>
+       </para>
+      </listitem>
+      <listitem>
+       <para>
+        <literal>389-ds-base</literal> → <literal>_389-ds-base</literal>
+       </para>
+      </listitem>
+     </itemizedlist>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <emphasis role="strong"> The OpenSSH service no longer enables support for
+     DSA keys by default, which could cause a system lock out. Update your keys
+     or, unfavorably, re-enable DSA support manually. </emphasis>
+    </para>
+    <para>
+     DSA support was
+     <link xlink:href="https://www.openssh.com/legacy.html">deprecated in
+     OpenSSH 7.0</link>, due to it being too weak. To re-enable support, add
+     <literal>PubkeyAcceptedKeyTypes +ssh-dss</literal> to the end of your
+     <option>services.openssh.extraConfig</option>.
+    </para>
+    <para>
+     After updating the keys to be stronger, anyone still on a pre-17.03
+     version is safe to jump to 17.03, as vetted
+     <link xlink:href="https://search.nix.gsc.io/?q=stateVersion">here</link>.
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     The <literal>openssh</literal> package now includes Kerberos support by
+     default; the <literal>openssh_with_kerberos</literal> package is now a
+     deprecated alias. If you do not want Kerberos support, you can do
+     <literal>openssh.override { withKerberos = false; }</literal>. Note, this
+     also applies to the <literal>openssh_hpn</literal> package.
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>cc-wrapper</literal> has been split in two; there is now also a
+     <literal>bintools-wrapper</literal>. The most commonly used files in
+     <filename>nix-support</filename> are now split between the two wrappers.
+     Some commonly used ones, like
+     <filename>nix-support/dynamic-linker</filename>, are duplicated for
+     backwards compatability, even though they rightly belong only in
+     <literal>bintools-wrapper</literal>. Other more obscure ones are just
+     moved.
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     The propagation logic has been changed. The new logic, along with new
+     types of dependencies that go with, is thoroughly documented in the
+     "Specifying dependencies" section of the "Standard Environment" chapter of
+     the nixpkgs manual.
+<!-- That's <xref linkend="ssec-stdenv-attributes"> were we to merge the manuals. -->
+     The old logic isn't but is easy to describe: dependencies were propagated
+     as the same type of dependency no matter what. In practice, that means
+     that many <function>propagatedNativeBuildInputs</function> should instead
+     be <function>propagatedBuildInputs</function>. Thankfully, that was and is
+     the least used type of dependency. Also, it means that some
+     <function>propagatedBuildInputs</function> should instead be
+     <function>depsTargetTargetPropagated</function>. Other types dependencies
+     should be unaffected.
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>lib.addPassthru drv passthru</literal> is removed. Use
+     <literal>lib.extendDerivation true passthru drv</literal> instead.
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     The <literal>memcached</literal> service no longer accept dynamic socket
+     paths via <option>services.memcached.socket</option>. Unix sockets can be
+     still enabled by <option>services.memcached.enableUnixSocket</option> and
+     will be accessible at <literal>/run/memcached/memcached.sock</literal>.
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     The <varname>hardware.amdHybridGraphics.disable</varname> option was
+     removed for lack of a maintainer. If you still need this module, you may
+     wish to include a copy of it from an older version of nixos in your
+     imports.
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     The merging of config options for
+     <varname>services.postfix.config</varname> was buggy. Previously, if other
+     options in the Postfix module like
+     <varname>services.postfix.useSrs</varname> were set and the user set
+     config options that were also set by such options, the resulting config
+     wouldn't include all options that were needed. They are now merged
+     correctly. If config options need to be overridden,
+     <literal>lib.mkForce</literal> or <literal>lib.mkOverride</literal> can be
+     used.
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     The following changes apply if the <literal>stateVersion</literal> is
+     changed to 18.03 or higher. For <literal>stateVersion = "17.09"</literal>
+     or lower the old behavior is preserved.
     </para>
-  </listitem>
-  <listitem>
+    <itemizedlist>
+     <listitem>
+      <para>
+       <literal>matrix-synapse</literal> uses postgresql by default instead of
+       sqlite. Migration instructions can be found
+       <link xlink:href="https://github.com/matrix-org/synapse/blob/master/docs/postgres.rst#porting-from-sqlite">
+       here </link>.
+      </para>
+     </listitem>
+    </itemizedlist>
+   </listitem>
+   <listitem>
     <para>
-      The propagation logic has been changed.
-      The new logic, along with new types of dependencies that go with, is thoroughly documented in the "Specifying dependencies" section of the "Standard Environment" chapter of the nixpkgs manual.
-      <!-- That's <xref linkend="ssec-stdenv-attributes"> were we to merge the manuals. -->
-      The old logic isn't but is easy to describe: dependencies were propagated as the same type of dependency no matter what.
-      In practice, that means that many <function>propagatedNativeBuildInputs</function> should instead be  <function>propagatedBuildInputs</function>.
-      Thankfully, that was and is the least used type of dependency.
-      Also, it means that some <function>propagatedBuildInputs</function> should instead be <function>depsTargetTargetPropagated</function>.
-      Other types dependencies should be unaffected.
+     The <literal>jid</literal> package has been removed, due to maintenance
+     overhead of a go package having non-versioned dependencies.
     </para>
-  </listitem>
-  <listitem>
+   </listitem>
+   <listitem>
     <para>
-      <literal>lib.addPassthru drv passthru</literal> is removed.  Use <literal>lib.extendDerivation true passthru drv</literal> instead.
+     When using <option>services.xserver.libinput</option> (enabled by default
+     in GNOME), it now handles all input devices, not just touchpads. As a
+     result, you might need to re-evaluate any custom Xorg configuration. In
+     particular, <literal>Option "XkbRules" "base"</literal> may result in
+     broken keyboard layout.
     </para>
-  </listitem>
-  <listitem>
+   </listitem>
+   <listitem>
     <para>
-      The <literal>memcached</literal> service no longer accept dynamic socket
-      paths via <option>services.memcached.socket</option>. Unix sockets can be
-      still enabled by <option>services.memcached.enableUnixSocket</option> and
-      will be accessible at <literal>/run/memcached/memcached.sock</literal>.
+     The <literal>attic</literal> package was removed. A maintained fork called
+     <link xlink:href="https://www.borgbackup.org/">Borg</link> should be used
+     instead. Migration instructions can be found
+     <link xlink:href="http://borgbackup.readthedocs.io/en/stable/usage/upgrade.html#attic-and-borg-0-xx-to-borg-1-x">here</link>.
     </para>
-  </listitem>
-  <listitem>
+   </listitem>
+   <listitem>
     <para>
-      The <varname>hardware.amdHybridGraphics.disable</varname> option was removed for lack of a maintainer. If you still need this module, you may wish to include a copy of it from an older version of nixos in your imports.
+     The Piwik analytics software was renamed to Matomo:
+     <itemizedlist>
+      <listitem>
+       <para>
+        The package <literal>pkgs.piwik</literal> was renamed to
+        <literal>pkgs.matomo</literal>.
+       </para>
+      </listitem>
+      <listitem>
+       <para>
+        The service <literal>services.piwik</literal> was renamed to
+        <literal>services.matomo</literal>.
+       </para>
+      </listitem>
+      <listitem>
+       <para>
+        The data directory <filename>/var/lib/piwik</filename> was renamed to
+        <filename>/var/lib/matomo</filename>. All files will be moved
+        automatically on first startup, but you might need to adjust your
+        backup scripts.
+       </para>
+      </listitem>
+      <listitem>
+       <para>
+        The default <option>serverName</option> for the nginx configuration
+        changed from <literal>piwik.${config.networking.hostName}</literal> to
+        <literal>matomo.${config.networking.hostName}.${config.networking.domain}</literal>
+        if <option>config.networking.domain</option> is set,
+        <literal>matomo.${config.networking.hostName}</literal> if it is not
+        set. If you change your <option>serverName</option>, remember you'll
+        need to update the <literal>trustedHosts[]</literal> array in
+        <filename>/var/lib/matomo/config/config.ini.php</filename> as well.
+       </para>
+      </listitem>
+      <listitem>
+       <para>
+        The <literal>piwik</literal> user was renamed to
+        <literal>matomo</literal>. The service will adjust ownership
+        automatically for files in the data directory. If you use unix socket
+        authentication, remember to give the new <literal>matomo</literal> user
+        access to the database and to change the <literal>username</literal> to
+        <literal>matomo</literal> in the <literal>[database]</literal> section
+        of <filename>/var/lib/matomo/config/config.ini.php</filename>.
+       </para>
+      </listitem>
+      <listitem>
+       <para>
+        If you named your database `piwik`, you might want to rename it to
+        `matomo` to keep things clean, but this is neither enforced nor
+        required.
+       </para>
+      </listitem>
+     </itemizedlist>
     </para>
-  </listitem>
-  <listitem>
+   </listitem>
+   <listitem>
     <para>
-      The merging of config options for <varname>services.postfix.config</varname>
-      was buggy. Previously, if other options in the Postfix module like
-      <varname>services.postfix.useSrs</varname> were set and the user set config
-      options that were also set by such options, the resulting config wouldn't
-      include all options that were needed. They are now merged correctly. If
-      config options need to be overridden, <literal>lib.mkForce</literal> or
-      <literal>lib.mkOverride</literal> can be used.
+     <literal>nodejs-4_x</literal> is end-of-life.
+     <literal>nodejs-4_x</literal>, <literal>nodejs-slim-4_x</literal> and
+     <literal>nodePackages_4_x</literal> are removed.
     </para>
-  </listitem>
-  <listitem>
+   </listitem>
+   <listitem>
     <para>
-      The following changes apply if the <literal>stateVersion</literal> is changed to 18.03 or higher.
-      For <literal>stateVersion = "17.09"</literal> or lower the old behavior is preserved.
+     The <literal>pump.io</literal> NixOS module was removed. It is now
+     maintained as an
+     <link xlink:href="https://github.com/rvl/pump.io-nixos">external
+     module</link>.
     </para>
-    <itemizedlist>
+   </listitem>
+   <listitem>
+    <para>
+     The Prosody XMPP server has received a major update. The following modules
+     were renamed:
+     <itemizedlist>
       <listitem>
-        <para>
-          <literal>matrix-synapse</literal> uses postgresql by default instead of sqlite.
-          Migration instructions can be found <link xlink:href="https://github.com/matrix-org/synapse/blob/master/docs/postgres.rst#porting-from-sqlite"> here </link>.
-        </para>
+       <para>
+        <option>services.prosody.modules.httpserver</option> is now
+        <option>services.prosody.modules.http_files</option>
+       </para>
       </listitem>
-    </itemizedlist>
-  </listitem>
-  <listitem>
-    <para>
-      The <literal>jid</literal> package has been removed, due to maintenance
-      overhead of a go package having non-versioned dependencies.
-    </para>
-  </listitem>
-  <listitem>
-    <para>
-      When using <option>services.xserver.libinput</option> (enabled by default in GNOME),
-      it now handles all input devices, not just touchpads. As a result, you might need to
-      re-evaluate any custom Xorg configuration. In particular,
-      <literal>Option "XkbRules" "base"</literal> may result in broken keyboard layout.
-    </para>
-  </listitem>
-  <listitem>
-    <para>
-      The <literal>attic</literal> package was removed. A maintained fork called
-      <link xlink:href="https://www.borgbackup.org/">Borg</link> should be used instead.
-      Migration instructions can be found
-      <link xlink:href="http://borgbackup.readthedocs.io/en/stable/usage/upgrade.html#attic-and-borg-0-xx-to-borg-1-x">here</link>.
-    </para>
-  </listitem>
-  <listitem>
-    <para>
-      The Piwik analytics software was renamed to Matomo:
-      <itemizedlist>
-        <listitem>
-          <para>The package <literal>pkgs.piwik</literal> was renamed to <literal>pkgs.matomo</literal>.</para>
-        </listitem>
-        <listitem>
-          <para>The service <literal>services.piwik</literal> was renamed to <literal>services.matomo</literal>.</para>
-        </listitem>
-        <listitem>
-          <para>
-            The data directory <filename>/var/lib/piwik</filename> was renamed to <filename>/var/lib/matomo</filename>.
-            All files will be moved automatically on first startup, but you might need to adjust your backup scripts.
-          </para>
-        </listitem>
-        <listitem>
-          <para>
-            The default <option>serverName</option> for the nginx configuration changed from
-            <literal>piwik.${config.networking.hostName}</literal> to
-            <literal>matomo.${config.networking.hostName}.${config.networking.domain}</literal>
-            if <option>config.networking.domain</option> is set,
-            <literal>matomo.${config.networking.hostName}</literal> if it is not set.
-            If you change your <option>serverName</option>, remember you'll need to update the
-            <literal>trustedHosts[]</literal> array in <filename>/var/lib/matomo/config/config.ini.php</filename>
-            as well.
-          </para>
-        </listitem>
-        <listitem>
-          <para>
-            The <literal>piwik</literal> user was renamed to <literal>matomo</literal>.
-            The service will adjust ownership automatically for files in the data directory.
-            If you use unix socket authentication, remember to give the new <literal>matomo</literal> user
-            access to the database and to change the <literal>username</literal> to <literal>matomo</literal>
-            in the <literal>[database]</literal> section of <filename>/var/lib/matomo/config/config.ini.php</filename>.
-          </para>
-        </listitem>
-        <listitem>
-          <para>
-            If you named your database `piwik`, you might want to rename it to `matomo` to keep things clean,
-            but this is neither enforced nor required.
-          </para>
-        </listitem>
-      </itemizedlist>
-    </para>
-  </listitem>
-  <listitem>
-    <para>
-      <literal>nodejs-4_x</literal> is end-of-life.
-      <literal>nodejs-4_x</literal>, <literal>nodejs-slim-4_x</literal> and <literal>nodePackages_4_x</literal> are removed.
-    </para>
-  </listitem>
-  <listitem>
-    <para>
-      The <literal>pump.io</literal> NixOS module was removed.
-      It is now maintained as an
-      <link xlink:href="https://github.com/rvl/pump.io-nixos">external module</link>.
-    </para>
-  </listitem>
-</itemizedlist>
+      <listitem>
+       <para>
+        <option>services.prosody.modules.console</option> is now
+        <option>services.prosody.modules.admin_telnet</option>
+       </para>
+      </listitem>
+     </itemizedlist>
+    </para>
+    <para>
+     Many new modules are now core modules, most notably
+     <option>services.prosody.modules.carbons</option> and
+     <option>services.prosody.modules.mam</option>.
+    </para>
+    <para>
+     The better-performing <literal>libevent</literal> backend is now enabled
+     by default.
+    </para>
+    <para>
+     <literal>withCommunityModules</literal> now passes through the modules to
+     <option>services.prosody.extraModules</option>. Use
+     <literal>withOnlyInstalledCommunityModules</literal> for modules that
+     should not be enabled directly, e.g <literal>lib_ldap</literal>.
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     All prometheus exporter modules are now defined as submodules. The
+     exporters are configured using
+     <literal>services.prometheus.exporters</literal>.
+    </para>
+   </listitem>
+  </itemizedlist>
+ </section>
 
-</section>
-<section xmlns="http://docbook.org/ns/docbook"
+ <section xmlns="http://docbook.org/ns/docbook"
          xmlns:xlink="http://www.w3.org/1999/xlink"
          xmlns:xi="http://www.w3.org/2001/XInclude"
          version="5.0"
          xml:id="sec-release-18.03-notable-changes">
+  <title>Other Notable Changes</title>
 
-<title>Other Notable Changes</title>
-
-<itemizedlist>
-  <listitem>
-    <para>
-      ZNC option <option>services.znc.mutable</option> now defaults to
-      <literal>true</literal>. That means that old configuration is not
-      overwritten by default when update to the znc options are made.
-    </para>
-  </listitem>
-  <listitem>
-    <para>
-      The option <option>networking.wireless.networks.&lt;name&gt;.auth</option>
-      has been added for wireless networks with WPA-Enterprise authentication.
-      There is also a new <option>extraConfig</option> option to directly
-      configure <literal>wpa_supplicant</literal> and <option>hidden</option>
-      to connect to hidden networks.
-    </para>
-  </listitem>
-  <listitem>
-    <para>
-      In the module <option>networking.interfaces.&lt;name&gt;</option> the
-      following options have been removed:
-      <itemizedlist>
-        <listitem>
-          <para><option>ipAddress</option></para>
-        </listitem>
-        <listitem>
-          <para><option>ipv6Address</option></para>
-        </listitem>
-        <listitem>
-          <para><option>prefixLength</option></para>
-        </listitem>
-        <listitem>
-          <para><option>ipv6PrefixLength</option></para>
-        </listitem>
-        <listitem>
-          <para><option>subnetMask</option></para>
-        </listitem>
-      </itemizedlist>
-      To assign static addresses to an interface the options
-      <option>ipv4.addresses</option> and <option>ipv6.addresses</option>
-      should be used instead.
-      The options <option>ip4</option> and <option>ip6</option> have been
-      renamed to <option>ipv4.addresses</option> <option>ipv6.addresses</option>
-      respectively.
-      The new options <option>ipv4.routes</option> and <option>ipv6.routes</option>
-      have been added to set up static routing.
-    </para>
-  </listitem>
-  <listitem>
-    <para>
-      The option <option>services.xserver.desktopManager.default</option> is now
-      <literal>none</literal> by default. An assertion failure is thrown if WM's
-      and DM's default are <literal>none</literal>.
-      To explicitly run a plain X session without and DM or WM, the newly
-      introduced option <option>services.xserver.plainX</option> must be set to true.
-    </para>
-  </listitem>
-  <listitem>
-    <para>
-      The option <option>services.logstash.listenAddress</option> is now <literal>127.0.0.1</literal> by default.
-      Previously the default behaviour was to listen on all interfaces.
-    </para>
-  </listitem>
-  <listitem>
-    <para>
-      <literal>services.btrfs.autoScrub</literal> has been added, to
-      periodically check btrfs filesystems for data corruption.
-      If there's a correct copy available, it will automatically repair
-      corrupted blocks.
-    </para>
-  </listitem>
-  <listitem>
-    <para>
-      <literal>displayManager.lightdm.greeters.gtk.clock-format.</literal>
-      has been added, the clock format string (as expected by
-      strftime, e.g. <literal>%H:%M</literal>) to use with the lightdm
-      gtk greeter panel.
-    </para>
-    <para>
-      If set to null the default clock format is used.
-    </para>
-  </listitem>
-  <listitem>
-    <para>
-      <literal>displayManager.lightdm.greeters.gtk.indicators</literal>
-      has been added, a list of allowed indicator modules to use with
-      the lightdm gtk greeter panel.
-    </para>
-    <para>
-      Built-in indicators include <literal>~a11y</literal>,
-      <literal>~language</literal>, <literal>~session</literal>,
-      <literal>~power</literal>, <literal>~clock</literal>,
-      <literal>~host</literal>, <literal>~spacer</literal>. Unity
-      indicators can be represented by short name
-      (e.g. <literal>sound</literal>, <literal>power</literal>),
-      service file name, or absolute path.
-    </para>
-    <para>
-      If set to <literal>null</literal> the default indicators are
-      used.
-    </para>
-    <para>
-      In order to have the previous default configuration add
+  <itemizedlist>
+   <listitem>
+    <para>
+     ZNC option <option>services.znc.mutable</option> now defaults to
+     <literal>true</literal>. That means that old configuration is not
+     overwritten by default when update to the znc options are made.
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     The option <option>networking.wireless.networks.&lt;name&gt;.auth</option>
+     has been added for wireless networks with WPA-Enterprise authentication.
+     There is also a new <option>extraConfig</option> option to directly
+     configure <literal>wpa_supplicant</literal> and <option>hidden</option> to
+     connect to hidden networks.
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     In the module <option>networking.interfaces.&lt;name&gt;</option> the
+     following options have been removed:
+     <itemizedlist>
+      <listitem>
+       <para>
+        <option>ipAddress</option>
+       </para>
+      </listitem>
+      <listitem>
+       <para>
+        <option>ipv6Address</option>
+       </para>
+      </listitem>
+      <listitem>
+       <para>
+        <option>prefixLength</option>
+       </para>
+      </listitem>
+      <listitem>
+       <para>
+        <option>ipv6PrefixLength</option>
+       </para>
+      </listitem>
+      <listitem>
+       <para>
+        <option>subnetMask</option>
+       </para>
+      </listitem>
+     </itemizedlist>
+     To assign static addresses to an interface the options
+     <option>ipv4.addresses</option> and <option>ipv6.addresses</option> should
+     be used instead. The options <option>ip4</option> and <option>ip6</option>
+     have been renamed to <option>ipv4.addresses</option>
+     <option>ipv6.addresses</option> respectively. The new options
+     <option>ipv4.routes</option> and <option>ipv6.routes</option> have been
+     added to set up static routing.
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     The option <option>services.logstash.listenAddress</option> is now
+     <literal>127.0.0.1</literal> by default. Previously the default behaviour
+     was to listen on all interfaces.
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>services.btrfs.autoScrub</literal> has been added, to
+     periodically check btrfs filesystems for data corruption. If there's a
+     correct copy available, it will automatically repair corrupted blocks.
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>displayManager.lightdm.greeters.gtk.clock-format.</literal> has
+     been added, the clock format string (as expected by strftime, e.g.
+     <literal>%H:%M</literal>) to use with the lightdm gtk greeter panel.
+    </para>
+    <para>
+     If set to null the default clock format is used.
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>displayManager.lightdm.greeters.gtk.indicators</literal> has been
+     added, a list of allowed indicator modules to use with the lightdm gtk
+     greeter panel.
+    </para>
+    <para>
+     Built-in indicators include <literal>~a11y</literal>,
+     <literal>~language</literal>, <literal>~session</literal>,
+     <literal>~power</literal>, <literal>~clock</literal>,
+     <literal>~host</literal>, <literal>~spacer</literal>. Unity indicators can
+     be represented by short name (e.g. <literal>sound</literal>,
+     <literal>power</literal>), service file name, or absolute path.
+    </para>
+    <para>
+     If set to <literal>null</literal> the default indicators are used.
+    </para>
+    <para>
+     In order to have the previous default configuration add
 <programlisting>
   services.xserver.displayManager.lightdm.greeters.gtk.indicators = [
     "~host" "~spacer"
@@ -446,24 +829,27 @@ following incompatible changes:</para>
     "~power"
   ];
 </programlisting>
-      to your <literal>configuration.nix</literal>.
+     to your <literal>configuration.nix</literal>.
     </para>
-  </listitem>
-  <listitem>
+   </listitem>
+   <listitem>
     <para>
-      The NixOS test driver supports user services declared by <literal>systemd.user.services</literal>.
-      The methods <literal>waitForUnit</literal>, <literal>getUnitInfo</literal>, <literal>startJob</literal>
-      and <literal>stopJob</literal> provide an optional <literal>$user</literal> argument for that purpose.
+     The NixOS test driver supports user services declared by
+     <literal>systemd.user.services</literal>. The methods
+     <literal>waitForUnit</literal>, <literal>getUnitInfo</literal>,
+     <literal>startJob</literal> and <literal>stopJob</literal> provide an
+     optional <literal>$user</literal> argument for that purpose.
     </para>
-  </listitem>
-  <listitem>
+   </listitem>
+   <listitem>
     <para>
-      Enabling bash completion on NixOS, <literal>programs.bash.enableCompletion</literal>, will now also enable
-      completion for the Nix command line tools by installing the
-      <link xlink:href="https://github.com/hedning/nix-bash-completions">nix-bash-completions</link> package.
+     Enabling bash completion on NixOS,
+     <literal>programs.bash.enableCompletion</literal>, will now also enable
+     completion for the Nix command line tools by installing the
+     <link xlink:href="https://github.com/hedning/nix-bash-completions">nix-bash-completions</link>
+     package.
     </para>
-  </listitem>
-</itemizedlist>
-
-</section>
+   </listitem>
+  </itemizedlist>
+ </section>
 </section>
diff --git a/nixos/doc/manual/release-notes/rl-1809.xml b/nixos/doc/manual/release-notes/rl-1809.xml
new file mode 100644
index 00000000000..fd998b1b318
--- /dev/null
+++ b/nixos/doc/manual/release-notes/rl-1809.xml
@@ -0,0 +1,243 @@
+<section xmlns="http://docbook.org/ns/docbook"
+         xmlns:xlink="http://www.w3.org/1999/xlink"
+         xmlns:xi="http://www.w3.org/2001/XInclude"
+         version="5.0"
+         xml:id="sec-release-18.09">
+ <title>Release 18.09 (“Jellyfish”, 2018/09/??)</title>
+
+ <section xmlns="http://docbook.org/ns/docbook"
+         xmlns:xlink="http://www.w3.org/1999/xlink"
+         xmlns:xi="http://www.w3.org/2001/XInclude"
+         version="5.0"
+         xml:id="sec-release-18.09-highlights">
+  <title>Highlights</title>
+
+  <para>
+   In addition to numerous new and upgraded packages, this release has the
+   following highlights:
+  </para>
+
+  <itemizedlist>
+   <listitem>
+    <para>
+     User channels are now in the default <literal>NIX_PATH</literal>, allowing
+     users to use their personal <command>nix-channel</command> defined
+     channels in <command>nix-build</command> and <command>nix-shell</command>
+     commands, as well as in imports like <code>import
+     &lt;mychannel&gt;</code>.
+    </para>
+    <para>
+     For example
+    </para>
+<programlisting>
+$ nix-channel --add https://nixos.org/channels/nixpkgs-unstable nixpkgsunstable
+$ nix-channel --update
+$ nix-build '&lt;nixpkgsunstable&gt;' -A gitFull
+$ nix run -f '&lt;nixpkgsunstable&gt;' gitFull
+$ nix-instantiate -E '(import &lt;nixpkgsunstable&gt; {}).gitFull'
+</programlisting>
+   </listitem>
+  </itemizedlist>
+ </section>
+
+ <section xmlns="http://docbook.org/ns/docbook"
+         xmlns:xlink="http://www.w3.org/1999/xlink"
+         xmlns:xi="http://www.w3.org/2001/XInclude"
+         version="5.0"
+         xml:id="sec-release-18.09-new-services">
+  <title>New Services</title>
+
+  <para>
+   The following new services were added since the last release:
+  </para>
+
+  <itemizedlist>
+   <listitem>
+    <para></para>
+   </listitem>
+  </itemizedlist>
+ </section>
+
+ <section xmlns="http://docbook.org/ns/docbook"
+         xmlns:xlink="http://www.w3.org/1999/xlink"
+         xmlns:xi="http://www.w3.org/2001/XInclude"
+         version="5.0"
+         xml:id="sec-release-18.09-incompatibilities">
+  <title>Backward Incompatibilities</title>
+
+  <para>
+   When upgrading from a previous release, please be aware of the following
+   incompatible changes:
+  </para>
+
+  <itemizedlist>
+   <listitem>
+    <para>
+     <literal>lib.strict</literal> is removed. Use
+     <literal>builtins.seq</literal> instead.
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     The <literal>clementine</literal> package points now to the free
+     derivation. <literal>clementineFree</literal> is removed now and
+     <literal>clementineUnfree</literal> points to the package which is bundled
+     with the unfree <literal>libspotify</literal> package.
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     The <literal>netcat</literal> package is now taken directly from OpenBSD's
+     <literal>libressl</literal>, instead of relying on Debian's fork. The new
+     version should be very close to the old version, but there are some minor
+     differences. Importantly, flags like -b, -q, -C, and -Z are no longer
+     accepted by the nc command.
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     The <varname>services.docker-registry.extraConfig</varname> object doesn't contain
+     environment variables anymore. Instead it needs to provide an object structure
+     that can be mapped onto the YAML configuration defined in <link xlink:href="https://github.com/docker/distribution/blob/v2.6.2/docs/configuration.md">the <varname>docker/distribution</varname> docs</link>.
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>gnucash</literal> has changed from version 2.4 to 3.x.
+     If you've been using <literal>gnucash</literal> (version 2.4) instead of
+     <literal>gnucash26</literal> (version 2.6) you must open your Gnucash 
+     data file(s) with <literal>gnucash26</literal> and then save them to
+     upgrade the file format. Then you may use your data file(s) with
+     Gnucash 3.x. See the upgrade <link xlink:href="https://wiki.gnucash.org/wiki/FAQ#Using_Different_Versions.2C_Up_And_Downgrade">documentation</link>.
+     Gnucash 2.4 is still available under the attribute <literal>gnucash24</literal>.
+    </para>
+   </listitem>
+  </itemizedlist>
+ </section>
+
+ <section xmlns="http://docbook.org/ns/docbook"
+         xmlns:xlink="http://www.w3.org/1999/xlink"
+         xmlns:xi="http://www.w3.org/2001/XInclude"
+         version="5.0"
+         xml:id="sec-release-18.09-notable-changes">
+  <title>Other Notable Changes</title>
+
+  <itemizedlist>
+   <listitem>
+    <para>
+     <literal>dockerTools.pullImage</literal> relies on image digest
+     instead of image tag to download the image. The
+     <literal>sha256</literal> of a pulled image has to be updated.
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>lib.attrNamesToStr</literal> has been deprecated. Use more
+     specific concatenation (<literal>lib.concat(Map)StringsSep</literal>)
+     instead.
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>lib.addErrorContextToAttrs</literal> has been deprecated. Use
+     <literal>builtins.addErrorContext</literal> directly.
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>lib.showVal</literal> has been deprecated. Use
+     <literal>lib.traceSeqN</literal> instead.
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>lib.traceXMLVal</literal> has been deprecated. Use
+     <literal>lib.traceValFn builtins.toXml</literal> instead.
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>lib.traceXMLValMarked</literal> has been deprecated. Use
+     <literal>lib.traceValFn (x: str + builtins.toXML x)</literal> instead.
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>lib.traceValIfNot</literal> has been deprecated. Use
+     <literal>if/then/else</literal> and <literal>lib.traceValSeq</literal>
+     instead.
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>lib.traceCallXml</literal> has been deprecated. Please complain
+     if you use the function regularly.
+    </para>
+    <para>
+     The attribute <literal>lib.nixpkgsVersion</literal> has been deprecated in
+     favor of <literal>lib.version</literal>. Please refer to the discussion in
+     <link xlink:href="https://github.com/NixOS/nixpkgs/pull/39416#discussion_r183845745">NixOS/nixpkgs#39416</link>
+     for further reference.
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     The module for <option>security.dhparams</option> has two new options now:
+    </para>
+
+    <variablelist>
+     <varlistentry>
+      <term><option>security.dhparams.stateless</option></term>
+      <listitem><para>
+       Puts the generated Diffie-Hellman parameters into the Nix store instead
+       of managing them in a stateful manner in
+       <filename class="directory">/var/lib/dhparams</filename>.
+      </para></listitem>
+     </varlistentry>
+     <varlistentry>
+      <term><option>security.dhparams.defaultBitSize</option></term>
+      <listitem><para>
+       The default bit size to use for the generated Diffie-Hellman parameters.
+      </para></listitem>
+     </varlistentry>
+    </variablelist>
+
+    <note><para>
+     The path to the actual generated parameter files should now be queried
+     using
+     <literal>config.security.dhparams.params.<replaceable>name</replaceable>.path</literal>
+     because it might be either in the Nix store or in a directory configured
+     by <option>security.dhparams.path</option>.
+    </para></note>
+
+    <note>
+     <title>For developers:</title>
+     <para>
+      Module implementers should not set a specific bit size in order to let
+      users configure it by themselves if they want to have a different bit
+      size than the default (2048).
+     </para>
+     <para>
+      An example usage of this would be:
+<programlisting>
+{ config, ... }:
+
+{
+  security.dhparams.params.myservice = {};
+  environment.etc."myservice.conf".text = ''
+    dhparams = ${config.security.dhparams.params.myservice.path}
+  '';
+}
+</programlisting>
+     </para>
+    </note>
+   </listitem>
+   <listitem>
+    <para>
+     <literal>networking.networkmanager.useDnsmasq</literal> has been deprecated. Use
+     <literal>networking.networkmanager.dns</literal> instead.
+    </para>
+   </listitem>
+  </itemizedlist>
+ </section>
+</section>
diff --git a/nixos/doc/manual/shell.nix b/nixos/doc/manual/shell.nix
new file mode 100644
index 00000000000..7f8422b4ec1
--- /dev/null
+++ b/nixos/doc/manual/shell.nix
@@ -0,0 +1,8 @@
+let
+  pkgs = import ../../.. { };
+in
+pkgs.mkShell {
+  name = "nixos-manual";
+
+  buildInputs = with pkgs; [ xmlformat jing xmloscopy ];
+}
diff --git a/nixos/doc/manual/style.css b/nixos/doc/manual/style.css
deleted file mode 100644
index 3118b37ead1..00000000000
--- a/nixos/doc/manual/style.css
+++ /dev/null
@@ -1,267 +0,0 @@
-/* Copied from http://bakefile.sourceforge.net/, which appears
-   licensed under the GNU GPL. */
-
-
-/***************************************************************************
-                             Basic headers and text:
- ***************************************************************************/
-
-body
-{
-    font-family: "Nimbus Sans L", sans-serif;
-    background: white;
-    margin: 2em 1em 2em 1em;
-}
-
-h1, h2, h3, h4
-{
-    color: #005aa0;
-}
-
-h1 /* title */
-{
-    font-size: 200%;
-}
-
-h2 /* chapters, appendices, subtitle */
-{
-    font-size: 180%;
-}
-
-/* Extra space between chapters, appendices. */
-div.chapter > div.titlepage h2, div.appendix > div.titlepage h2 
-{ 
-    margin-top: 1.5em;
-}
-
-div.section > div.titlepage h2 /* sections */
-{
-    font-size: 150%;
-    margin-top: 1.5em;
-}
-
-h3 /* subsections */
-{
-    font-size: 125%;
-}
-
-div.simplesect h2
-{
-    font-size: 110%;
-}
-
-div.appendix h3
-{
-    font-size: 150%;
-    margin-top: 1.5em;
-}
-
-div.refnamediv h2, div.refsynopsisdiv h2, div.refsection h2 /* refentry parts */
-{
-    margin-top: 1.4em;
-    font-size: 125%;
-}
-
-div.refsection h3
-{
-    font-size: 110%;
-}
-
-
-/***************************************************************************
-                               Examples:
- ***************************************************************************/
-
-div.example
-{
-    border: 1px solid #b0b0b0;
-    padding: 6px 6px;
-    margin-left: 1.5em;
-    margin-right: 1.5em;
-    background: #f4f4f8;
-    border-radius: 0.4em;
-    box-shadow: 0.4em 0.4em 0.5em #e0e0e0;
-}
-
-div.example p.title
-{
-    margin-top: 0em;
-}
-
-div.example pre
-{
-    box-shadow: none;
-}
-
-
-/***************************************************************************
-                            Screen dumps:
- ***************************************************************************/
-
-pre.screen, pre.programlisting
-{
-    border: 1px solid #b0b0b0;
-    padding: 3px 3px;
-    margin-left: 1.5em;
-    margin-right: 1.5em;
-    color: #600000;
-    background: #f4f4f8;
-    font-family: monospace;
-    border-radius: 0.4em;
-    box-shadow: 0.4em 0.4em 0.5em #e0e0e0;
-}
-
-div.example pre.programlisting
-{
-    border: 0px;
-    padding: 0 0;
-    margin: 0 0 0 0;
-}
-
-
-/***************************************************************************
-                               Notes, warnings etc:
- ***************************************************************************/
-
-.note, .warning
-{
-    border: 1px solid #b0b0b0;
-    padding: 3px 3px;
-    margin-left: 1.5em;
-    margin-right: 1.5em;
-    margin-bottom: 1em;
-    padding: 0.3em 0.3em 0.3em 0.3em;
-    background: #fffff5;
-    border-radius: 0.4em;
-    box-shadow: 0.4em 0.4em 0.5em #e0e0e0;
-}
-
-div.note, div.warning
-{
-    font-style: italic;
-}
-
-div.note h3, div.warning h3
-{
-    color: red;
-    font-size: 100%;
-    padding-right: 0.5em;
-    display: inline;
-}
-
-div.note p, div.warning p
-{
-    margin-bottom: 0em;
-}
-
-div.note h3 + p, div.warning h3 + p
-{
-    display: inline;
-}
-
-div.note h3
-{
-    color: blue;
-    font-size: 100%;
-}
-
-div.navfooter *
-{
-    font-size: 90%;
-}
-
-
-/***************************************************************************
-                        Links colors and highlighting: 
- ***************************************************************************/
-
-a { text-decoration: none; }
-a:hover { text-decoration: underline; }
-a:link { color: #0048b3; }
-a:visited { color: #002a6a; }
-
-
-/***************************************************************************
-                              Table of contents:
- ***************************************************************************/
-
-div.toc
-{
-    font-size: 90%;
-}
-
-div.toc dl
-{
-    margin-top: 0em;
-    margin-bottom: 0em;
-}
-
-
-/***************************************************************************
-                               Special elements:
- ***************************************************************************/
-
-tt, code
-{
-    color: #400000;
-}
-
-.term
-{
-    font-weight: bold;
-    
-}
-
-div.variablelist dd p, div.glosslist dd p
-{
-    margin-top: 0em;
-}
-
-div.variablelist dd, div.glosslist dd
-{
-    margin-left: 1.5em;
-}
-
-div.glosslist dt
-{
-    font-style: italic;
-}
-
-.varname
-{
-    color: #400000;
-}
-
-span.command strong
-{
-    font-weight: normal;
-    color: #400000;
-}
-
-div.calloutlist table
-{
-    box-shadow: none;
-}
-
-table
-{
-    border-collapse: collapse;
-    box-shadow: 0.4em 0.4em 0.5em #e0e0e0;
-}
-
-table.simplelist
-{
-    text-align: left;
-    color: #005aa0;
-    border: 0;
-    padding: 5px;
-    background: #fffff5;
-    font-weight: normal;
-    font-style: italic;
-    box-shadow: none;
-    margin-bottom: 1em;
-}
-
-div.navheader table, div.navfooter table {
-    box-shadow: none;
-}
diff --git a/nixos/doc/xmlformat.conf b/nixos/doc/xmlformat.conf
new file mode 100644
index 00000000000..50255857b24
--- /dev/null
+++ b/nixos/doc/xmlformat.conf
@@ -0,0 +1,72 @@
+#
+# DocBook Configuration file for "xmlformat"
+# see http://www.kitebird.com/software/xmlformat/
+# 10 Sept. 2004
+#
+
+# Only block elements
+ackno address appendix article biblioentry bibliography bibliomixed \
+biblioset blockquote book bridgehead callout calloutlist caption caution \
+chapter chapterinfo classsynopsis cmdsynopsis colophon constraintdef \
+constructorsynopsis dedication destructorsynopsis entry epigraph equation example \
+figure formalpara funcsynopsis glossary glossdef glossdiv glossentry glosslist \
+glosssee glossseealso graphic graphicco highlights imageobjectco important \
+index indexdiv indexentry indexinfo info informalequation informalexample \
+informalfigure informaltable legalnotice literallayout lot lotentry mediaobject \
+mediaobjectco msgmain msgset note orderedlist para part preface primaryie \
+procedure qandadiv qandaentry qandaset refentry refentrytitle reference \
+refnamediv refsect1 refsect2 refsect3 refsection revhistory screenshot sect1 \
+sect2 sect3 sect4 sect5 section seglistitem set setindex sidebar simpara \
+simplesect step substeps synopfragment synopsis table term title \
+toc variablelist varlistentry warning itemizedlist listitem \
+footnote colspec partintro row simplelist subtitle tbody tgroup thead tip
+  format      block
+  normalize   no
+
+
+#appendix bibliography chapter glossary preface reference
+#  element-break   3
+
+sect1 section
+  element-break   2
+
+
+#
+para abstract
+  format       block
+  entry-break  1
+  exit-break   1
+  normalize    yes
+  wrap-length  79
+
+title
+  format       block
+  normalize = yes
+  entry-break = 0
+  exit-break = 0
+
+# Inline elements
+abbrev accel acronym action application citation citebiblioid citerefentry citetitle \
+classname co code command computeroutput constant country database date email emphasis \
+envar errorcode errorname errortext errortype exceptionname fax filename \
+firstname firstterm footnoteref foreignphrase funcdef funcparams function \
+glossterm group guibutton guiicon guilabel guimenu guimenuitem guisubmenu \
+hardware holder honorific indexterm inlineequation inlinegraphic inlinemediaobject \
+interface interfacename \
+keycap keycode keycombo keysym lineage link literal manvolnum markup medialabel \
+menuchoice methodname methodparam modifier mousebutton olink ooclass ooexception \
+oointerface option optional otheraddr othername package paramdef parameter personname \
+phrase pob postcode productname prompt property quote refpurpose replaceable \
+returnvalue revnumber sgmltag state street structfield structname subscript \
+superscript surname symbol systemitem token trademark type ulink userinput \
+uri varargs varname void wordasword xref year mathphrase member tag
+  format       inline
+
+programlisting screen
+  format       verbatim
+  entry-break = 0
+  exit-break = 0
+
+
+#term
+#  format       inline
diff --git a/nixos/lib/eval-config.nix b/nixos/lib/eval-config.nix
index 2e7971cca81..97c79487df4 100644
--- a/nixos/lib/eval-config.nix
+++ b/nixos/lib/eval-config.nix
@@ -26,7 +26,7 @@
 , lib ? import ../../lib
 }:
 
-let extraArgs_ = extraArgs; pkgs_ = pkgs; system_ = system;
+let extraArgs_ = extraArgs; pkgs_ = pkgs;
     extraModules = let e = builtins.getEnv "NIXOS_EXTRA_MODULE_PATH";
                    in if e == "" then [] else [(import (builtins.toPath e))];
 in
@@ -36,7 +36,7 @@ let
     _file = ./eval-config.nix;
     key = _file;
     config = {
-      nixpkgs.system = lib.mkDefault system_;
+      nixpkgs.localSystem = lib.mkDefault { inherit system; };
       _module.args.pkgs = lib.mkIf (pkgs_ != null) (lib.mkForce pkgs_);
     };
   };
diff --git a/nixos/lib/make-ext4-fs.nix b/nixos/lib/make-ext4-fs.nix
index 21c69ed560a..4095d9c6d00 100644
--- a/nixos/lib/make-ext4-fs.nix
+++ b/nixos/lib/make-ext4-fs.nix
@@ -7,23 +7,22 @@
 , volumeLabel
 }:
 
+let
+  sdClosureInfo = pkgs.closureInfo { rootPaths = storePaths; };
+in
+
 pkgs.stdenv.mkDerivation {
   name = "ext4-fs.img";
 
-  nativeBuildInputs = with pkgs; [e2fsprogs libfaketime perl];
-
-  # For obtaining the closure of `storePaths'.
-  exportReferencesGraph =
-    map (x: [("closure-" + baseNameOf x) x]) storePaths;
+  nativeBuildInputs = with pkgs; [e2fsprogs.bin libfaketime perl];
 
   buildCommand =
     ''
       # Add the closures of the top-level store objects.
-      storePaths=$(perl ${pkgs.pathsFromGraph} closure-*)
+      storePaths=$(cat ${sdClosureInfo}/store-paths)
 
-      # Also include a manifest of the closures in a format suitable
-      # for nix-store --load-db.
-      printRegistration=1 perl ${pkgs.pathsFromGraph} closure-* > nix-path-registration
+      # Also include a manifest of the closures in a format suitable for nix-store --load-db.
+      cp ${sdClosureInfo}/registration nix-path-registration
 
       # Make a crude approximation of the size of the target image.
       # If the script starts failing, increase the fudge factors here.
@@ -84,5 +83,12 @@ pkgs.stdenv.mkDerivation {
         echo "--- Failed to create EXT4 image of $bytes bytes (numInodes=$numInodes, numDataBlocks=$numDataBlocks) ---"
         return 1
       fi
+
+      # I have ended up with corrupted images sometimes, I suspect that happens when the build machine's disk gets full during the build.
+      if ! fsck.ext4 -n -f $out; then
+        echo "--- Fsck failed for EXT4 image of $bytes bytes (numInodes=$numInodes, numDataBlocks=$numDataBlocks) ---"
+        cat errorlog
+        return 1
+      fi
     '';
 }
diff --git a/nixos/lib/make-system-tarball.nix b/nixos/lib/make-system-tarball.nix
index a2a0340a6bd..92539235be7 100644
--- a/nixos/lib/make-system-tarball.nix
+++ b/nixos/lib/make-system-tarball.nix
@@ -1,4 +1,4 @@
-{ stdenv, perl, xz, pathsFromGraph
+{ stdenv, perl, pixz, pathsFromGraph
 
 , # The file name of the resulting tarball
   fileName ? "nixos-system-${stdenv.system}"
@@ -21,14 +21,20 @@
 
   # Extra tar arguments
 , extraArgs ? ""
+  # Command used for compression
+, compressCommand ? "pixz"
+  # Extension for the compressed tarball
+, compressionExtension ? ".xz"
+  # extra inputs, like the compressor to use
+, extraInputs ? [ pixz ]
 }:
 
 stdenv.mkDerivation {
   name = "tarball";
   builder = ./make-system-tarball.sh;
-  buildInputs = [perl xz];
+  buildInputs = [ perl ] ++ extraInputs;
 
-  inherit fileName pathsFromGraph extraArgs extraCommands;
+  inherit fileName pathsFromGraph extraArgs extraCommands compressCommand;
 
   # !!! should use XML.
   sources = map (x: x.source) contents;
@@ -41,4 +47,6 @@ stdenv.mkDerivation {
   # For obtaining the closure of `storeContents'.
   exportReferencesGraph =
     map (x: [("closure-" + baseNameOf x.object) x.object]) storeContents;
+
+  extension = compressionExtension;
 }
diff --git a/nixos/lib/make-system-tarball.sh b/nixos/lib/make-system-tarball.sh
index 73a009d8488..1a52a284a25 100644
--- a/nixos/lib/make-system-tarball.sh
+++ b/nixos/lib/make-system-tarball.sh
@@ -1,5 +1,4 @@
 source $stdenv/setup
-set -x
 
 sources_=($sources)
 targets_=($targets)
@@ -54,8 +53,8 @@ mkdir -p $out/tarball
 
 rm env-vars
 
-tar --sort=name --mtime='@1' --owner=0 --group=0 --numeric-owner -cvJf $out/tarball/$fileName.tar.xz * $extraArgs
+time tar --sort=name --mtime='@1' --owner=0 --group=0 --numeric-owner -c * $extraArgs | $compressCommand > $out/tarball/$fileName.tar${extension}
 
 mkdir -p $out/nix-support
 echo $system > $out/nix-support/system
-echo "file system-tarball $out/tarball/$fileName.tar.xz" > $out/nix-support/hydra-build-products
+echo "file system-tarball $out/tarball/$fileName.tar${extension}" > $out/nix-support/hydra-build-products
diff --git a/nixos/lib/test-driver/Machine.pm b/nixos/lib/test-driver/Machine.pm
index 78598b3efb4..b18f48464ce 100644
--- a/nixos/lib/test-driver/Machine.pm
+++ b/nixos/lib/test-driver/Machine.pm
@@ -33,9 +33,20 @@ sub new {
         $startCommand =
             "qemu-kvm -m 384 " .
             "-net nic,model=virtio \$QEMU_OPTS ";
-        my $iface = $args->{hdaInterface} || "virtio";
-        $startCommand .= "-drive file=" . Cwd::abs_path($args->{hda}) . ",if=$iface,werror=report "
-            if defined $args->{hda};
+
+        if (defined $args->{hda}) {
+            if ($args->{hdaInterface} eq "scsi") {
+                $startCommand .= "-drive id=hda,file="
+                               . Cwd::abs_path($args->{hda})
+                               . ",werror=report,if=none "
+                               . "-device scsi-hd,drive=hda ";
+            } else {
+                $startCommand .= "-drive file=" . Cwd::abs_path($args->{hda})
+                               . ",if=" . $args->{hdaInterface}
+                               . ",werror=report ";
+            }
+        }
+
         $startCommand .= "-cdrom $args->{cdrom} "
             if defined $args->{cdrom};
         $startCommand .= "-device piix3-usb-uhci -drive id=usbdisk,file=$args->{usb},if=none,readonly -device usb-storage,drive=usbdisk "
@@ -612,7 +623,7 @@ sub waitForX {
     my ($self, $regexp) = @_;
     $self->nest("waiting for the X11 server", sub {
         retry sub {
-            my ($status, $out) = $self->execute("journalctl -b SYSLOG_IDENTIFIER=systemd | grep 'session opened'");
+            my ($status, $out) = $self->execute("journalctl -b SYSLOG_IDENTIFIER=systemd | grep 'Reached target Current graphical'");
             return 0 if $status != 0;
             ($status, $out) = $self->execute("[ -e /tmp/.X11-unix/X0 ]");
             return 1 if $status == 0;
diff --git a/nixos/lib/testing.nix b/nixos/lib/testing.nix
index efcafbaa555..57acc990a48 100644
--- a/nixos/lib/testing.nix
+++ b/nixos/lib/testing.nix
@@ -3,7 +3,11 @@
 with import ./build-vms.nix { inherit system minimal config; };
 with pkgs;
 
-rec {
+let
+  jquery-ui = callPackage ./testing/jquery-ui.nix { };
+  jquery = callPackage ./testing/jquery.nix { };
+
+in rec {
 
   inherit pkgs;
 
@@ -107,6 +111,8 @@ rec {
 
       ocrProg = tesseract_4.override { enableLanguages = [ "eng" ]; };
 
+      imagemagick_tiff = imagemagick_light.override { inherit libtiff; };
+
       # Generate onvenience wrappers for running the test driver
       # interactively with the specified network, and for starting the
       # VMs from the command line.
@@ -124,7 +130,7 @@ rec {
           wrapProgram $out/bin/nixos-test-driver \
             --add-flags "''${vms[*]}" \
             ${lib.optionalString enableOCR
-              "--prefix PATH : '${ocrProg}/bin:${imagemagick}/bin'"} \
+              "--prefix PATH : '${ocrProg}/bin:${imagemagick_tiff}/bin'"} \
             --run "export testScript=\"\$(cat $out/test-script)\"" \
             --set VLANS '${toString vlans}'
           ln -s ${testDriver}/bin/nixos-test-driver $out/bin/nixos-run-vms
@@ -143,8 +149,8 @@ rec {
       test = passMeta (runTests driver);
       report = passMeta (releaseTools.gcovReport { coverageRuns = [ test ]; });
 
-    in (if makeCoverageReport then report else test) // { 
-      inherit nodes driver test; 
+    in (if makeCoverageReport then report else test) // {
+      inherit nodes driver test;
     };
 
   runInMachine =
diff --git a/pkgs/development/libraries/javascript/jquery-ui/default.nix b/nixos/lib/testing/jquery-ui.nix
index e65107a3c2f..e65107a3c2f 100644
--- a/pkgs/development/libraries/javascript/jquery-ui/default.nix
+++ b/nixos/lib/testing/jquery-ui.nix
diff --git a/pkgs/development/libraries/javascript/jquery/default.nix b/nixos/lib/testing/jquery.nix
index 103721cadc3..103721cadc3 100644
--- a/pkgs/development/libraries/javascript/jquery/default.nix
+++ b/nixos/lib/testing/jquery.nix
diff --git a/nixos/maintainers/option-usages.nix b/nixos/maintainers/option-usages.nix
index 7be0255b35a..371ee7d9180 100644
--- a/nixos/maintainers/option-usages.nix
+++ b/nixos/maintainers/option-usages.nix
@@ -15,7 +15,7 @@
 #
 #   $ nix-build ./option-usage.nix --argstr testOption service.xserver.enable -A txt -o service.xserver.enable._txt
 #
-# otther target exists such as, `dotContent`, `dot`, and `pdf`.  If you are
+# Other targets exists such as `dotContent`, `dot`, and `pdf`.  If you are
 # looking for the option usage of multiple options, you can provide a list
 # as argument.
 #
@@ -35,7 +35,7 @@
 # value is replaced by a `throw` statement which is caught by the `tryEval`
 # evaluation of each option value.
 #
-# We then compare the result of the evluation of the original module, with
+# We then compare the result of the evaluation of the original module, with
 # the result of the second evaluation, and consider that the new failures are
 # caused by our mutation of the `config` argument.
 #
@@ -62,7 +62,7 @@ let
     "_module.args"
 
     # For some reasons which we yet have to investigate, some options cannot
-    # be replaced by a throw without cuasing a non-catchable failure.
+    # be replaced by a throw without causing a non-catchable failure.
     "networking.bonds"
     "networking.bridges"
     "networking.interfaces"
diff --git a/nixos/maintainers/scripts/ec2/amazon-image.nix b/nixos/maintainers/scripts/ec2/amazon-image.nix
index 972c04453ae..eeae27ede0f 100644
--- a/nixos/maintainers/scripts/ec2/amazon-image.nix
+++ b/nixos/maintainers/scripts/ec2/amazon-image.nix
@@ -8,6 +8,11 @@ in {
 
   imports = [ ../../../modules/virtualisation/amazon-image.nix ];
 
+  # Required to provide good EBS experience,
+  # https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nvme-ebs-volumes.html#timeout-nvme-ebs-volumes
+  # TODO change value to 4294967295 when kernel is updated to 4.15 or later
+  config.boot.kernelParams = [ "nvme_core.io_timeout=255" ];
+
   options.amazonImage = {
     name = mkOption {
       type = types.str;
diff --git a/nixos/maintainers/scripts/ec2/create-amis.sh b/nixos/maintainers/scripts/ec2/create-amis.sh
index 347e6b9c6e0..9461144fad5 100755
--- a/nixos/maintainers/scripts/ec2/create-amis.sh
+++ b/nixos/maintainers/scripts/ec2/create-amis.sh
@@ -6,7 +6,7 @@
 set -e
 set -o pipefail
 
-version=$(nix-instantiate --eval --strict '<nixpkgs>' -A lib.nixpkgsVersion | sed s/'"'//g)
+version=$(nix-instantiate --eval --strict '<nixpkgs>' -A lib.version | sed s/'"'//g)
 major=${version:0:5}
 echo "NixOS version is $version ($major)"
 
diff --git a/nixos/maintainers/scripts/gce/create-gce.sh b/nixos/maintainers/scripts/gce/create-gce.sh
index ef1801fe54b..0fd26d34d07 100755
--- a/nixos/maintainers/scripts/gce/create-gce.sh
+++ b/nixos/maintainers/scripts/gce/create-gce.sh
@@ -3,7 +3,7 @@
 
 set -euo pipefail
 
-BUCKET_NAME="${BUCKET_NAME:-nixos-images}"
+BUCKET_NAME="${BUCKET_NAME:-nixos-cloud-images}"
 TIMESTAMP="$(date +%Y%m%d%H%M)"
 export TIMESTAMP
 
@@ -19,5 +19,5 @@ img_name=$(basename "$img_path")
 img_id=$(echo "$img_name" | sed 's|.raw.tar.gz$||;s|\.|-|g;s|_|-|g')
 if ! gsutil ls "gs://${BUCKET_NAME}/$img_name"; then
   gsutil cp "$img_path" "gs://${BUCKET_NAME}/$img_name"
+  gsutil acl ch -u AllUsers:R "gs://${BUCKET_NAME}/$img_name"
 fi
-gcloud compute images create "$img_id" --source-uri "gs://${BUCKET_NAME}/$img_name"
diff --git a/nixos/modules/config/i18n.nix b/nixos/modules/config/i18n.nix
index 46b22fc1285..6bf8c653e11 100644
--- a/nixos/modules/config/i18n.nix
+++ b/nixos/modules/config/i18n.nix
@@ -10,7 +10,7 @@ with lib;
     i18n = {
       glibcLocales = mkOption {
         type = types.path;
-        default = pkgs.glibcLocales.override {
+        default = pkgs.buildPackages.glibcLocales.override {
           allLocales = any (x: x == "all") config.i18n.supportedLocales;
           locales = config.i18n.supportedLocales;
         };
diff --git a/nixos/modules/config/no-x-libs.nix b/nixos/modules/config/no-x-libs.nix
index d8980944adc..a20910353f3 100644
--- a/nixos/modules/config/no-x-libs.nix
+++ b/nixos/modules/config/no-x-libs.nix
@@ -32,10 +32,10 @@ with lib;
       networkmanager-l2tp = pkgs.networkmanager-l2tp.override { withGnome = false; };
       networkmanager-openconnect = pkgs.networkmanager-openconnect.override { withGnome = false; };
       networkmanager-openvpn = pkgs.networkmanager-openvpn.override { withGnome = false; };
-      networkmanager-pptp = pkgs.networkmanager-pptp.override { withGnome = false; };
       networkmanager-vpnc = pkgs.networkmanager-vpnc.override { withGnome = false; };
       networkmanager-iodine = pkgs.networkmanager-iodine.override { withGnome = false; };
       pinentry = pkgs.pinentry_ncurses;
+      gobjectIntrospection = pkgs.gobjectIntrospection.override { x11Support = false; };
     };
   };
 }
diff --git a/nixos/modules/config/nsswitch.nix b/nixos/modules/config/nsswitch.nix
index 7b36d4f1cbd..c595c693294 100644
--- a/nixos/modules/config/nsswitch.nix
+++ b/nixos/modules/config/nsswitch.nix
@@ -17,23 +17,23 @@ let
   resolved = canLoadExternalModules && config.services.resolved.enable;
 
   hostArray = [ "files" ]
-    ++ optionals mymachines [ "mymachines" ]
-    ++ optionals nssmdns [ "mdns_minimal [NOTFOUND=return]" ]
-    ++ optionals nsswins [ "wins" ]
-    ++ optionals resolved ["resolve [!UNAVAIL=return]"]
+    ++ optional mymachines "mymachines"
+    ++ optional nssmdns "mdns_minimal [NOTFOUND=return]"
+    ++ optional nsswins "wins"
+    ++ optional resolved "resolve [!UNAVAIL=return]"
     ++ [ "dns" ]
-    ++ optionals nssmdns [ "mdns" ]
-    ++ optionals myhostname ["myhostname" ];
+    ++ optional nssmdns "mdns"
+    ++ optional myhostname "myhostname";
 
   passwdArray = [ "files" ]
     ++ optional sssd "sss"
-    ++ optionals ldap [ "ldap" ]
-    ++ optionals mymachines [ "mymachines" ]
+    ++ optional ldap "ldap"
+    ++ optional mymachines "mymachines"
     ++ [ "systemd" ];
 
   shadowArray = [ "files" ]
     ++ optional sssd "sss"
-    ++ optionals ldap [ "ldap" ];
+    ++ optional ldap "ldap";
 
   servicesArray = [ "files" ]
     ++ optional sssd "sss";
diff --git a/nixos/modules/config/pulseaudio.nix b/nixos/modules/config/pulseaudio.nix
index a9c5fc75660..90cea47b70a 100644
--- a/nixos/modules/config/pulseaudio.nix
+++ b/nixos/modules/config/pulseaudio.nix
@@ -214,6 +214,8 @@ in {
     (mkIf cfg.enable {
       environment.systemPackages = [ overriddenPackage ];
 
+      sound.enable = true;
+
       environment.etc = [
         { target = "asound.conf";
           source = alsaConf; }
diff --git a/nixos/modules/config/system-path.nix b/nixos/modules/config/system-path.nix
index d3212d93160..36115166501 100644
--- a/nixos/modules/config/system-path.nix
+++ b/nixos/modules/config/system-path.nix
@@ -109,7 +109,6 @@ in
         "/sbin"
         "/share/applications"
         "/share/desktop-directories"
-        "/share/doc"
         "/share/emacs"
         "/share/icons"
         "/share/menus"
diff --git a/nixos/modules/config/users-groups.nix b/nixos/modules/config/users-groups.nix
index 11e969b760e..621ca36fb6b 100644
--- a/nixos/modules/config/users-groups.nix
+++ b/nixos/modules/config/users-groups.nix
@@ -35,6 +35,7 @@ let
 
       name = mkOption {
         type = types.str;
+        apply = x: assert (builtins.stringLength x < 32 || abort "Username '${x}' is longer than 31 characters which is not allowed!"); x;
         description = ''
           The name of the user account. If undefined, the name of the
           attribute set will be used.
@@ -91,6 +92,7 @@ let
 
       group = mkOption {
         type = types.str;
+        apply = x: assert (builtins.stringLength x < 32 || abort "Group name '${x}' is longer than 31 characters which is not allowed!"); x;
         default = "nogroup";
         description = "The user's primary group.";
       };
@@ -502,9 +504,6 @@ in {
       };
     };
 
-    # Install all the user shells
-    environment.systemPackages = systemShells;
-
     users.groups = {
       root.gid = ids.gids.root;
       wheel.gid = ids.gids.wheel;
@@ -541,14 +540,29 @@ in {
     # for backwards compatibility
     system.activationScripts.groups = stringAfter [ "users" ] "";
 
-    environment.etc."subuid" = {
-      text = subuidFile;
-      mode = "0644";
-    };
-    environment.etc."subgid" = {
-      text = subgidFile;
-      mode = "0644";
-    };
+    # Install all the user shells
+    environment.systemPackages = systemShells;
+
+    environment.etc = {
+      "subuid" = {
+        text = subuidFile;
+        mode = "0644";
+      };
+      "subgid" = {
+        text = subgidFile;
+        mode = "0644";
+      };
+    } // (mapAttrs' (name: { packages, ... }: {
+      name = "profiles/per-user/${name}";
+      value.source = pkgs.buildEnv {
+        name = "user-environment";
+        paths = packages;
+        inherit (config.environment) pathsToLink extraOutputsToInstall;
+        inherit (config.system.path) ignoreCollisions postBuild;
+      };
+    }) (filterAttrs (_: u: u.packages != []) cfg.users));
+
+    environment.profiles = [ "/etc/profiles/per-user/$USER" ];
 
     assertions = [
       { assertion = !cfg.enforceIdUniqueness || (uidsAreUnique && gidsAreUnique);
@@ -579,22 +593,4 @@ in {
 
   };
 
-  imports =
-    [ (mkAliasOptionModule [ "users" "extraUsers" ] [ "users" "users" ])
-      (mkAliasOptionModule [ "users" "extraGroups" ] [ "users" "groups" ])
-      {
-        environment = {
-          etc = mapAttrs' (name: { packages, ... }: {
-            name = "profiles/per-user/${name}";
-            value.source = pkgs.buildEnv {
-              name = "user-environment";
-              paths = packages;
-              inherit (config.environment) pathsToLink extraOutputsToInstall;
-              inherit (config.system.path) ignoreCollisions postBuild;
-            };
-          }) (filterAttrs (_: { packages, ... }: packages != []) cfg.users);
-          profiles = ["/etc/profiles/per-user/$USER"];
-        };
-      }
-    ];
 }
diff --git a/nixos/modules/config/zram.nix b/nixos/modules/config/zram.nix
index ad41ad4f3d7..c1748812821 100644
--- a/nixos/modules/config/zram.nix
+++ b/nixos/modules/config/zram.nix
@@ -25,16 +25,16 @@ in
         type = types.bool;
         description = ''
           Enable in-memory compressed swap space provided by the zram kernel
-          module. It is recommended to enable only for kernel 3.14 or higher.
+          module.
+          See https://www.kernel.org/doc/Documentation/blockdev/zram.txt
         '';
       };
 
       numDevices = mkOption {
-        default = 4;
+        default = 1;
         type = types.int;
         description = ''
-          Number of zram swap devices to create. It should be equal to the
-          number of CPU cores your system has.
+          Number of zram swap devices to create.
         '';
       };
 
@@ -93,7 +93,7 @@ in
             serviceConfig = {
               Type = "oneshot";
               RemainAfterExit = true;
-              ExecStop = "${pkgs.stdenv.shell} -c 'echo 1 > /sys/class/block/${dev}/reset'";
+              ExecStop = "${pkgs.runtimeShell} -c 'echo 1 > /sys/class/block/${dev}/reset'";
             };
             script = ''
               set -u
diff --git a/nixos/modules/hardware/onlykey.nix b/nixos/modules/hardware/onlykey.nix
new file mode 100644
index 00000000000..b6820fe0191
--- /dev/null
+++ b/nixos/modules/hardware/onlykey.nix
@@ -0,0 +1,33 @@
+{ config, lib, ... }:
+
+with lib;
+
+{
+
+  ####### interface
+
+  options = {
+
+    hardware.onlykey = {
+      enable = mkOption {
+        type = types.bool;
+        default = false;
+        description = ''
+          Enable OnlyKey device (https://crp.to/p/) support.
+        '';
+      };
+    };
+
+  };
+
+  ## As per OnlyKey's documentation piece (hhttps://docs.google.com/document/d/1Go_Rs218fKUx-j_JKhddbSVTqY6P0vQO831t2MKCJC8),
+  ## it is important to add udev rule for OnlyKey for it to work on Linux
+
+  ####### implementation
+
+  config = mkIf config.hardware.onlykey.enable {
+    services.udev.extraRules = builtin.readFile ./onlykey.udev;
+  };
+
+
+}
diff --git a/nixos/modules/hardware/onlykey.udev b/nixos/modules/hardware/onlykey.udev
new file mode 100644
index 00000000000..6583530e568
--- /dev/null
+++ b/nixos/modules/hardware/onlykey.udev
@@ -0,0 +1,4 @@
+ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="04[789B]?", ENV{ID_MM_DEVICE_IGNORE}="1"
+ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="04[789A]?", ENV{MTP_NO_PROBE}="1"
+SUBSYSTEMS=="usb", ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="04[789ABCD]?", GROUP+="plugdev"
+KERNEL=="ttyACM*", ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="04[789B]?", GROUP+="plugdev"
diff --git a/nixos/modules/hardware/opengl.nix b/nixos/modules/hardware/opengl.nix
index d9646704e6f..b371af353cf 100644
--- a/nixos/modules/hardware/opengl.nix
+++ b/nixos/modules/hardware/opengl.nix
@@ -14,7 +14,6 @@ let
     name = "mesa-drivers+txc-${p.mesa_drivers.version}";
     paths =
       [ p.mesa_drivers
-        p.mesa_drivers.out # mainly for libGL
         (if cfg.s3tcSupport then p.libtxc_dxtn else p.libtxc_dxtn_s2tc)
       ];
   };
@@ -33,89 +32,92 @@ in
 
 {
   options = {
-    hardware.opengl.enable = mkOption {
-      description = ''
-        Whether to enable OpenGL drivers. This is needed to enable
-        OpenGL support in X11 systems, as well as for Wayland compositors
-        like sway, way-cooler and Weston. It is enabled by default
-        by the corresponding modules, so you do not usually have to
-        set it yourself, only if there is no module for your wayland
-        compositor of choice. See services.xserver.enable,
-        programs.sway.enable, and programs.way-cooler.enable.
-      '';
-      type = types.bool;
-      default = false;
-    };
-
-    hardware.opengl.driSupport = mkOption {
-      type = types.bool;
-      default = true;
-      description = ''
-        Whether to enable accelerated OpenGL rendering through the
-        Direct Rendering Interface (DRI).
-      '';
-    };
-
-    hardware.opengl.driSupport32Bit = mkOption {
-      type = types.bool;
-      default = false;
-      description = ''
-        On 64-bit systems, whether to support Direct Rendering for
-        32-bit applications (such as Wine).  This is currently only
-        supported for the <literal>nvidia</literal> and 
-        <literal>ati_unfree</literal> drivers, as well as
-        <literal>Mesa</literal>.
-      '';
-    };
-
-    hardware.opengl.s3tcSupport = mkOption {
-      type = types.bool;
-      default = false;
-      description = ''
-        Make S3TC(S3 Texture Compression) via libtxc_dxtn available
-        to OpenGL drivers instead of the patent-free S2TC replacement.
-
-        Using this library may require a patent license depending on your location.
-      '';
-    };
-
-    hardware.opengl.package = mkOption {
-      type = types.package;
-      internal = true;
-      description = ''
-        The package that provides the OpenGL implementation.
-      '';
-    };
 
-    hardware.opengl.package32 = mkOption {
-      type = types.package;
-      internal = true;
-      description = ''
-        The package that provides the 32-bit OpenGL implementation on
-        64-bit systems. Used when <option>driSupport32Bit</option> is
-        set.
-      '';
-    };
-
-    hardware.opengl.extraPackages = mkOption {
-      type = types.listOf types.package;
-      default = [];
-      example = literalExample "with pkgs; [ vaapiIntel libvdpau-va-gl vaapiVdpau intel-ocl ]";
-      description = ''
-        Additional packages to add to OpenGL drivers. This can be used
-        to add OpenCL drivers, VA-API/VDPAU drivers etc.
-      '';
-    };
-
-    hardware.opengl.extraPackages32 = mkOption {
-      type = types.listOf types.package;
-      default = [];
-      example = literalExample "with pkgs.pkgsi686Linux; [ vaapiIntel libvdpau-va-gl vaapiVdpau ]";
-      description = ''
-        Additional packages to add to 32-bit OpenGL drivers on
-        64-bit systems. Used when <option>driSupport32Bit</option> is
-        set. This can be used to add OpenCL drivers, VA-API/VDPAU drivers etc.
-      '';
+    hardware.opengl = {
+      enable = mkOption {
+        description = ''
+          Whether to enable OpenGL drivers. This is needed to enable
+          OpenGL support in X11 systems, as well as for Wayland compositors
+          like sway, way-cooler and Weston. It is enabled by default
+          by the corresponding modules, so you do not usually have to
+          set it yourself, only if there is no module for your wayland
+          compositor of choice. See services.xserver.enable,
+          programs.sway.enable, and programs.way-cooler.enable.
+        '';
+        type = types.bool;
+        default = false;
+      };
+
+      driSupport = mkOption {
+        type = types.bool;
+        default = true;
+        description = ''
+          Whether to enable accelerated OpenGL rendering through the
+          Direct Rendering Interface (DRI).
+        '';
+      };
+
+      driSupport32Bit = mkOption {
+        type = types.bool;
+        default = false;
+        description = ''
+          On 64-bit systems, whether to support Direct Rendering for
+          32-bit applications (such as Wine).  This is currently only
+          supported for the <literal>nvidia</literal> and
+          <literal>ati_unfree</literal> drivers, as well as
+          <literal>Mesa</literal>.
+        '';
+      };
+
+      s3tcSupport = mkOption {
+        type = types.bool;
+        default = false;
+        description = ''
+          Make S3TC(S3 Texture Compression) via libtxc_dxtn available
+          to OpenGL drivers instead of the patent-free S2TC replacement.
+
+          Using this library may require a patent license depending on your location.
+        '';
+      };
+
+      package = mkOption {
+        type = types.package;
+        internal = true;
+        description = ''
+          The package that provides the OpenGL implementation.
+        '';
+      };
+
+      package32 = mkOption {
+        type = types.package;
+        internal = true;
+        description = ''
+          The package that provides the 32-bit OpenGL implementation on
+          64-bit systems. Used when <option>driSupport32Bit</option> is
+          set.
+        '';
+      };
+
+      extraPackages = mkOption {
+        type = types.listOf types.package;
+        default = [];
+        example = literalExample "with pkgs; [ vaapiIntel libvdpau-va-gl vaapiVdpau intel-ocl ]";
+        description = ''
+          Additional packages to add to OpenGL drivers. This can be used
+          to add OpenCL drivers, VA-API/VDPAU drivers etc.
+        '';
+      };
+
+      extraPackages32 = mkOption {
+        type = types.listOf types.package;
+        default = [];
+        example = literalExample "with pkgs.pkgsi686Linux; [ vaapiIntel libvdpau-va-gl vaapiVdpau ]";
+        description = ''
+          Additional packages to add to 32-bit OpenGL drivers on
+          64-bit systems. Used when <option>driSupport32Bit</option> is
+          set. This can be used to add OpenCL drivers, VA-API/VDPAU drivers etc.
+        '';
+      };
     };
 
   };
diff --git a/nixos/modules/hardware/video/amdgpu-pro.nix b/nixos/modules/hardware/video/amdgpu-pro.nix
index 5cc96d8bd07..50af022b93c 100644
--- a/nixos/modules/hardware/video/amdgpu-pro.nix
+++ b/nixos/modules/hardware/video/amdgpu-pro.nix
@@ -15,13 +15,19 @@ let
 
   opengl = config.hardware.opengl;
 
+  kernel = pkgs.linux_4_9.override {
+    extraConfig = ''
+      KALLSYMS_ALL y
+    '';
+  };
+
 in
 
 {
 
   config = mkIf enabled {
 
-    nixpkgs.config.xorg.abiCompat = "1.18";
+    nixpkgs.config.xorg.abiCompat = "1.19";
 
     services.xserver.drivers = singleton
       { name = "amdgpu"; modules = [ package ]; libPath = [ package ]; };
@@ -31,6 +37,9 @@ in
 
     boot.extraModulePackages = [ package ];
 
+    boot.kernelPackages =
+      pkgs.recurseIntoAttrs (pkgs.linuxPackagesFor kernel);
+
     boot.blacklistedKernelModules = [ "radeon" ];
 
     hardware.firmware = [ package ];
@@ -38,10 +47,15 @@ in
     system.activationScripts.setup-amdgpu-pro = ''
       mkdir -p /run/lib
       ln -sfn ${package}/lib ${package.libCompatDir}
+      ln -sfn ${package} /run/amdgpu-pro
     '' + optionalString opengl.driSupport32Bit ''
       ln -sfn ${package32}/lib ${package32.libCompatDir}
     '';
 
+    system.requiredKernelConfig = with config.lib.kernelConfig; [
+      (isYes "KALLSYMS_ALL")
+    ];
+
     environment.etc = {
       "amd/amdrc".source = package + "/etc/amd/amdrc";
       "amd/amdapfxx.blb".source = package + "/etc/amd/amdapfxx.blb";
diff --git a/nixos/modules/hardware/video/nvidia.nix b/nixos/modules/hardware/video/nvidia.nix
index 50c085dd7ee..eb195228033 100644
--- a/nixos/modules/hardware/video/nvidia.nix
+++ b/nixos/modules/hardware/video/nvidia.nix
@@ -16,8 +16,6 @@ let
         kernelPackages.nvidia_x11
     else if elem "nvidiaBeta" drivers then
         kernelPackages.nvidia_x11_beta
-    else if elem "nvidiaLegacy173" drivers then
-      kernelPackages.nvidia_x11_legacy173
     else if elem "nvidiaLegacy304" drivers then
       kernelPackages.nvidia_x11_legacy304
     else if elem "nvidiaLegacy340" drivers then
@@ -27,13 +25,6 @@ let
   nvidia_x11 = nvidiaForKernel config.boot.kernelPackages;
   nvidia_libs32 = (nvidiaForKernel pkgs_i686.linuxPackages).override { libsOnly = true; kernel = null; };
 
-  nvidiaPackage = nvidia: pkgs:
-    if !nvidia.useGLVND then nvidia.out
-    else pkgs.buildEnv {
-      name = "nvidia-libs";
-      paths = [ pkgs.libglvnd nvidia.out ];
-    };
-
   enabled = nvidia_x11 != null;
 in
 
@@ -59,8 +50,8 @@ in
       source = "${nvidia_x11.bin}/share/nvidia/nvidia-application-profiles-rc";
     };
 
-    hardware.opengl.package = nvidiaPackage nvidia_x11 pkgs;
-    hardware.opengl.package32 = nvidiaPackage nvidia_libs32 pkgs_i686;
+    hardware.opengl.package = nvidia_x11.out;
+    hardware.opengl.package32 = nvidia_libs32.out;
 
     environment.systemPackages = [ nvidia_x11.bin nvidia_x11.settings ]
       ++ lib.filter (p: p != null) [ nvidia_x11.persistenced ];
@@ -75,10 +66,10 @@ in
     # Create /dev/nvidia-uvm when the nvidia-uvm module is loaded.
     services.udev.extraRules =
       ''
-        KERNEL=="nvidia", RUN+="${pkgs.stdenv.shell} -c 'mknod -m 666 /dev/nvidiactl c $(grep nvidia-frontend /proc/devices | cut -d \  -f 1) 255'"
-        KERNEL=="nvidia_modeset", RUN+="${pkgs.stdenv.shell} -c 'mknod -m 666 /dev/nvidia-modeset c $(grep nvidia-frontend /proc/devices | cut -d \  -f 1) 254'"
-        KERNEL=="card*", SUBSYSTEM=="drm", DRIVERS=="nvidia", RUN+="${pkgs.stdenv.shell} -c 'mknod -m 666 /dev/nvidia%n c $(grep nvidia-frontend /proc/devices | cut -d \  -f 1) %n'"
-        KERNEL=="nvidia_uvm", RUN+="${pkgs.stdenv.shell} -c 'mknod -m 666 /dev/nvidia-uvm c $(grep nvidia-uvm /proc/devices | cut -d \  -f 1) 0'"
+        KERNEL=="nvidia", RUN+="${pkgs.runtimeShell} -c 'mknod -m 666 /dev/nvidiactl c $(grep nvidia-frontend /proc/devices | cut -d \  -f 1) 255'"
+        KERNEL=="nvidia_modeset", RUN+="${pkgs.runtimeShell} -c 'mknod -m 666 /dev/nvidia-modeset c $(grep nvidia-frontend /proc/devices | cut -d \  -f 1) 254'"
+        KERNEL=="card*", SUBSYSTEM=="drm", DRIVERS=="nvidia", RUN+="${pkgs.runtimeShell} -c 'mknod -m 666 /dev/nvidia%n c $(grep nvidia-frontend /proc/devices | cut -d \  -f 1) %n'"
+        KERNEL=="nvidia_uvm", RUN+="${pkgs.runtimeShell} -c 'mknod -m 666 /dev/nvidia-uvm c $(grep nvidia-uvm /proc/devices | cut -d \  -f 1) 0'"
       '';
 
     boot.blacklistedKernelModules = [ "nouveau" "nvidiafb" ];
diff --git a/nixos/modules/i18n/input-method/default.xml b/nixos/modules/i18n/input-method/default.xml
index 45d6daf068b..76ffa8cb7e3 100644
--- a/nixos/modules/i18n/input-method/default.xml
+++ b/nixos/modules/i18n/input-method/default.xml
@@ -6,56 +6,56 @@
 
 <title>Input Methods</title>
 
-<para>Input methods are an operating system component that allows any data, such 
-  as keyboard strokes or mouse movements, to be received as input. In this way 
-  users can enter characters and symbols not found on their input devices. Using 
-  an input method is obligatory for any language that has more graphemes than 
+<para>Input methods are an operating system component that allows any data, such
+  as keyboard strokes or mouse movements, to be received as input. In this way
+  users can enter characters and symbols not found on their input devices. Using
+  an input method is obligatory for any language that has more graphemes than
   there are keys on the keyboard.</para>
 
 <para>The following input methods are available in NixOS:</para>
 
 <itemizedlist>
   <listitem><para>IBus: The intelligent input bus.</para></listitem>
-  <listitem><para>Fcitx: A customizable lightweight input 
+  <listitem><para>Fcitx: A customizable lightweight input
       method.</para></listitem>
   <listitem><para>Nabi: A Korean input method based on XIM.</para></listitem>
-  <listitem><para>Uim: The universal input method, is a library with a XIM 
+  <listitem><para>Uim: The universal input method, is a library with a XIM
       bridge.</para></listitem>
 </itemizedlist>
 
 <section><title>IBus</title>
 
-<para>IBus is an Intelligent Input Bus. It provides full featured and user 
+<para>IBus is an Intelligent Input Bus. It provides full featured and user
   friendly input method user interface.</para>
 
 <para>The following snippet can be used to configure IBus:</para>
 
 <programlisting>
 i18n.inputMethod = {
-  enabled = "ibus";
-  ibus.engines = with pkgs.ibus-engines; [ anthy hangul mozc ];
+  <link linkend="opt-i18n.inputMethod.enabled">enabled</link> = "ibus";
+  <link linkend="opt-i18n.inputMethod.ibus.engines">ibus.engines</link> = with pkgs.ibus-engines; [ anthy hangul mozc ];
 };
 </programlisting>
 
-<para><literal>i18n.inputMethod.ibus.engines</literal> is optional and can be 
+<para><literal>i18n.inputMethod.ibus.engines</literal> is optional and can be
   used to add extra IBus engines.</para>
 
 <para>Available extra IBus engines are:</para>
 
 <itemizedlist>
-  <listitem><para>Anthy (<literal>ibus-engines.anthy</literal>): Anthy is a 
-      system for Japanese input method. It converts Hiragana text to Kana Kanji 
+  <listitem><para>Anthy (<literal>ibus-engines.anthy</literal>): Anthy is a
+      system for Japanese input method. It converts Hiragana text to Kana Kanji
       mixed text.</para></listitem>
-  <listitem><para>Hangul (<literal>ibus-engines.hangul</literal>): Korean input 
+  <listitem><para>Hangul (<literal>ibus-engines.hangul</literal>): Korean input
       method.</para></listitem>
-  <listitem><para>m17n (<literal>ibus-engines.m17n</literal>): m17n is an input 
-      method that uses input methods and corresponding icons in the m17n 
+  <listitem><para>m17n (<literal>ibus-engines.m17n</literal>): m17n is an input
+      method that uses input methods and corresponding icons in the m17n
       database.</para></listitem>
-  <listitem><para>mozc (<literal>ibus-engines.mozc</literal>): A Japanese input 
+  <listitem><para>mozc (<literal>ibus-engines.mozc</literal>): A Japanese input
       method from Google.</para></listitem>
-  <listitem><para>Table (<literal>ibus-engines.table</literal>): An input method 
+  <listitem><para>Table (<literal>ibus-engines.table</literal>): An input method
       that load tables of input methods.</para></listitem>
-  <listitem><para>table-others (<literal>ibus-engines.table-others</literal>): 
+  <listitem><para>table-others (<literal>ibus-engines.table-others</literal>):
       Various table-based input methods. To use this, and any other table-based
       input methods, it must appear in the list of engines along with
       <literal>table</literal>. For example:
@@ -72,71 +72,71 @@ ibus.engines = with pkgs.ibus-engines; [ table table-others ];
 
 <section><title>Fcitx</title>
 
-<para>Fcitx is an input method framework with extension support. It has three 
-  built-in Input Method Engine, Pinyin, QuWei and Table-based input 
+<para>Fcitx is an input method framework with extension support. It has three
+  built-in Input Method Engine, Pinyin, QuWei and Table-based input
   methods.</para>
 <para>The following snippet can be used to configure Fcitx:</para>
 
 <programlisting>
 i18n.inputMethod = {
-  enabled = "fcitx";
-  fcitx.engines = with pkgs.fcitx-engines; [ mozc hangul m17n ];
+  <link linkend="opt-i18n.inputMethod.enabled">enabled</link> = "fcitx";
+  <link linkend="opt-i18n.inputMethod.fcitx.engines">fcitx.engines</link> = with pkgs.fcitx-engines; [ mozc hangul m17n ];
 };
 </programlisting>
 
-<para><literal>i18n.inputMethod.fcitx.engines</literal> is optional and can be 
+<para><literal>i18n.inputMethod.fcitx.engines</literal> is optional and can be
   used to add extra Fcitx engines.</para>
 
 <para>Available extra Fcitx engines are:</para>
 
 <itemizedlist>
-  <listitem><para>Anthy (<literal>fcitx-engines.anthy</literal>): Anthy is a 
-      system for Japanese input method. It converts Hiragana text to Kana Kanji 
+  <listitem><para>Anthy (<literal>fcitx-engines.anthy</literal>): Anthy is a
+      system for Japanese input method. It converts Hiragana text to Kana Kanji
       mixed text.</para></listitem>
-  <listitem><para>Chewing (<literal>fcitx-engines.chewing</literal>): Chewing is 
-      an intelligent Zhuyin input method. It is one of the most popular input 
+  <listitem><para>Chewing (<literal>fcitx-engines.chewing</literal>): Chewing is
+      an intelligent Zhuyin input method. It is one of the most popular input
       methods among Traditional Chinese Unix users.</para></listitem>
-  <listitem><para>Hangul (<literal>fcitx-engines.hangul</literal>): Korean input 
+  <listitem><para>Hangul (<literal>fcitx-engines.hangul</literal>): Korean input
       method.</para></listitem>
-  <listitem><para>Unikey (<literal>fcitx-engines.unikey</literal>): Vietnamese input 
+  <listitem><para>Unikey (<literal>fcitx-engines.unikey</literal>): Vietnamese input
       method.</para></listitem>
-  <listitem><para>m17n (<literal>fcitx-engines.m17n</literal>): m17n is an input 
-      method that uses input methods and corresponding icons in the m17n 
+  <listitem><para>m17n (<literal>fcitx-engines.m17n</literal>): m17n is an input
+      method that uses input methods and corresponding icons in the m17n
       database.</para></listitem>
-  <listitem><para>mozc (<literal>fcitx-engines.mozc</literal>): A Japanese input 
+  <listitem><para>mozc (<literal>fcitx-engines.mozc</literal>): A Japanese input
       method from Google.</para></listitem>
-  <listitem><para>table-others (<literal>fcitx-engines.table-others</literal>): 
+  <listitem><para>table-others (<literal>fcitx-engines.table-others</literal>):
       Various table-based input methods.</para></listitem>
 </itemizedlist>
 </section>
 
 <section><title>Nabi</title>
 
-<para>Nabi is an easy to use Korean X input method. It allows you to enter 
-  phonetic Korean characters (hangul) and pictographic Korean characters 
+<para>Nabi is an easy to use Korean X input method. It allows you to enter
+  phonetic Korean characters (hangul) and pictographic Korean characters
   (hanja).</para>
 <para>The following snippet can be used to configure Nabi:</para>
 
 <programlisting>
 i18n.inputMethod = {
-  enabled = "nabi";
+  <link linkend="opt-i18n.inputMethod.enabled">enabled</link> = "nabi";
 };
 </programlisting>
 </section>
 
 <section><title>Uim</title>
 
-<para>Uim (short for "universal input method") is a multilingual input method 
+<para>Uim (short for "universal input method") is a multilingual input method
   framework. Applications can use it through so-called bridges.</para>
 <para>The following snippet can be used to configure uim:</para>
 
 <programlisting>
 i18n.inputMethod = {
-  enabled = "uim";
+  <link linkend="opt-i18n.inputMethod.enabled">enabled</link> = "uim";
 };
 </programlisting>
 
-<para>Note: The <literal>i18n.inputMethod.uim.toolbar</literal> option can be 
+<para>Note: The <xref linkend="opt-i18n.inputMethod.uim.toolbar"/> option can be
   used to choose uim toolbar.</para>
 
 </section>
diff --git a/nixos/modules/installer/cd-dvd/channel.nix b/nixos/modules/installer/cd-dvd/channel.nix
index 4a198316795..01cfe8a02e1 100644
--- a/nixos/modules/installer/cd-dvd/channel.nix
+++ b/nixos/modules/installer/cd-dvd/channel.nix
@@ -21,7 +21,9 @@ let
       if [ ! -e $out/nixos/nixpkgs ]; then
         ln -s . $out/nixos/nixpkgs
       fi
+      echo -n ${config.system.nixos.revision} > $out/nixos/.git-revision
       echo -n ${config.system.nixos.versionSuffix} > $out/nixos/.version-suffix
+      echo ${config.system.nixos.versionSuffix} | sed -e s/pre// > $out/nixos/svn-revision
     '';
 
 in
diff --git a/nixos/modules/installer/cd-dvd/installation-cd-base.nix b/nixos/modules/installer/cd-dvd/installation-cd-base.nix
index 756c8751d00..1ed56386e6e 100644
--- a/nixos/modules/installer/cd-dvd/installation-cd-base.nix
+++ b/nixos/modules/installer/cd-dvd/installation-cd-base.nix
@@ -31,4 +31,6 @@ with lib;
 
   # Allow the user to log in as root without a password.
   users.extraUsers.root.initialHashedPassword = "";
+
+  system.nixos.stateVersion = mkDefault "18.03";
 }
diff --git a/nixos/modules/installer/cd-dvd/iso-image.nix b/nixos/modules/installer/cd-dvd/iso-image.nix
index e7cbf415a22..08923970cd3 100644
--- a/nixos/modules/installer/cd-dvd/iso-image.nix
+++ b/nixos/modules/installer/cd-dvd/iso-image.nix
@@ -59,7 +59,7 @@ let
     INITRD /boot/${config.system.boot.loader.initrdFile}
 
     # A variant to boot with verbose logging to the console
-    LABEL boot-nomodeset
+    LABEL boot-debug
     MENU LABEL NixOS ${config.system.nixos.label}${config.isoImage.appendToMenuLabel} (debug)
     LINUX /boot/${config.system.boot.loader.kernelFile}
     APPEND init=${config.system.build.toplevel}/init ${toString config.boot.kernelParams} loglevel=7
@@ -73,7 +73,8 @@ let
     APPEND ${toString config.boot.loader.grub.memtest86.params}
   '';
 
-  isolinuxCfg = baseIsolinuxCfg + (optionalString config.boot.loader.grub.memtest86.enable isolinuxMemtest86Entry);
+  isolinuxCfg = concatStringsSep "\n"
+    ([ baseIsolinuxCfg ] ++ optional config.boot.loader.grub.memtest86.enable isolinuxMemtest86Entry);
 
   # The EFI boot image.
   efiDir = pkgs.runCommand "efi-directory" {} ''
diff --git a/nixos/modules/installer/cd-dvd/sd-image-aarch64.nix b/nixos/modules/installer/cd-dvd/sd-image-aarch64.nix
index 3306846b7fa..ddf91a5656c 100644
--- a/nixos/modules/installer/cd-dvd/sd-image-aarch64.nix
+++ b/nixos/modules/installer/cd-dvd/sd-image-aarch64.nix
@@ -21,9 +21,6 @@ in
       "it cannot be cross compiled";
   };
 
-  # Needed by RPi firmware
-  nixpkgs.config.allowUnfree = true;
-
   boot.loader.grub.enable = false;
   boot.loader.generic-extlinux-compatible.enable = true;
 
diff --git a/nixos/modules/installer/cd-dvd/sd-image-armv7l-multiplatform.nix b/nixos/modules/installer/cd-dvd/sd-image-armv7l-multiplatform.nix
index 08903ba397a..891923234dd 100644
--- a/nixos/modules/installer/cd-dvd/sd-image-armv7l-multiplatform.nix
+++ b/nixos/modules/installer/cd-dvd/sd-image-armv7l-multiplatform.nix
@@ -21,9 +21,6 @@ in
       "it cannot be cross compiled";
   };
 
-  # Needed by RPi firmware
-  nixpkgs.config.allowUnfree = true;
-
   boot.loader.grub.enable = false;
   boot.loader.generic-extlinux-compatible.enable = true;
 
diff --git a/nixos/modules/installer/cd-dvd/sd-image-raspberrypi.nix b/nixos/modules/installer/cd-dvd/sd-image-raspberrypi.nix
index 2833b75b84d..212013b5e28 100644
--- a/nixos/modules/installer/cd-dvd/sd-image-raspberrypi.nix
+++ b/nixos/modules/installer/cd-dvd/sd-image-raspberrypi.nix
@@ -21,9 +21,6 @@ in
       "it cannot be cross compiled";
   };
 
-  # Needed by RPi firmware
-  nixpkgs.config.allowUnfree = true;
-
   boot.loader.grub.enable = false;
   boot.loader.generic-extlinux-compatible.enable = true;
 
diff --git a/nixos/modules/installer/cd-dvd/sd-image.nix b/nixos/modules/installer/cd-dvd/sd-image.nix
index 23312c073d5..c091923de60 100644
--- a/nixos/modules/installer/cd-dvd/sd-image.nix
+++ b/nixos/modules/installer/cd-dvd/sd-image.nix
@@ -20,6 +20,20 @@ let
 in
 {
   options.sdImage = {
+    imageName = mkOption {
+      default = "${config.sdImage.imageBaseName}-${config.system.nixos.label}-${pkgs.stdenv.system}.img";
+      description = ''
+        Name of the generated image file.
+      '';
+    };
+
+    imageBaseName = mkOption {
+      default = "nixos-sd-image";
+      description = ''
+        Prefix of the name of the generated image file.
+      '';
+    };
+
     storePaths = mkOption {
       type = with types; listOf package;
       example = literalExample "[ pkgs.stdenv ]";
@@ -61,19 +75,25 @@ in
     sdImage.storePaths = [ config.system.build.toplevel ];
 
     system.build.sdImage = pkgs.stdenv.mkDerivation {
-      name = "sd-image-${pkgs.stdenv.system}.img";
+      name = config.sdImage.imageName;
 
       buildInputs = with pkgs; [ dosfstools e2fsprogs mtools libfaketime utillinux ];
 
       buildCommand = ''
+        mkdir -p $out/nix-support $out/sd-image
+        export img=$out/sd-image/${config.sdImage.imageName}
+
+        echo "${pkgs.stdenv.system}" > $out/nix-support/system
+        echo "file sd-image $img" >> $out/nix-support/hydra-build-products
+
         # Create the image file sized to fit /boot and /, plus 20M of slack
         rootSizeBlocks=$(du -B 512 --apparent-size ${rootfsImage} | awk '{ print $1 }')
         bootSizeBlocks=$((${toString config.sdImage.bootSize} * 1024 * 1024 / 512))
         imageSize=$((rootSizeBlocks * 512 + bootSizeBlocks * 512 + 20 * 1024 * 1024))
-        truncate -s $imageSize $out
+        truncate -s $imageSize $img
 
         # type=b is 'W95 FAT32', type=83 is 'Linux'.
-        sfdisk $out <<EOF
+        sfdisk $img <<EOF
             label: dos
             label-id: 0x2178694e
 
@@ -82,11 +102,11 @@ in
         EOF
 
         # Copy the rootfs into the SD image
-        eval $(partx $out -o START,SECTORS --nr 2 --pairs)
-        dd conv=notrunc if=${rootfsImage} of=$out seek=$START count=$SECTORS
+        eval $(partx $img -o START,SECTORS --nr 2 --pairs)
+        dd conv=notrunc if=${rootfsImage} of=$img seek=$START count=$SECTORS
 
         # Create a FAT32 /boot partition of suitable size into bootpart.img
-        eval $(partx $out -o START,SECTORS --nr 1 --pairs)
+        eval $(partx $img -o START,SECTORS --nr 1 --pairs)
         truncate -s $((SECTORS * 512)) bootpart.img
         faketime "1970-01-01 00:00:00" mkfs.vfat -i 0x2178694e -n NIXOS_BOOT bootpart.img
 
@@ -96,7 +116,7 @@ in
 
         # Copy the populated /boot into the SD image
         (cd boot; mcopy -bpsvm -i ../bootpart.img ./* ::)
-        dd conv=notrunc if=bootpart.img of=$out seek=$START count=$SECTORS
+        dd conv=notrunc if=bootpart.img of=$img seek=$START count=$SECTORS
       '';
     };
 
diff --git a/nixos/modules/installer/cd-dvd/system-tarball-fuloong2f.nix b/nixos/modules/installer/cd-dvd/system-tarball-fuloong2f.nix
index ba84cd51098..6d4ba96dba0 100644
--- a/nixos/modules/installer/cd-dvd/system-tarball-fuloong2f.nix
+++ b/nixos/modules/installer/cd-dvd/system-tarball-fuloong2f.nix
@@ -54,7 +54,7 @@ in
   environment.systemPackages =
     [ pkgs.w3m # needed for the manual anyway
       pkgs.testdisk # useful for repairing boot problems
-      pkgs.mssys # for writing Microsoft boot sectors / MBRs
+      pkgs.ms-sys # for writing Microsoft boot sectors / MBRs
       pkgs.parted
       pkgs.ddrescue
       pkgs.ccrypt
diff --git a/nixos/modules/installer/tools/nix-fallback-paths.nix b/nixos/modules/installer/tools/nix-fallback-paths.nix
index 4774cf39c03..5ad28ea9499 100644
--- a/nixos/modules/installer/tools/nix-fallback-paths.nix
+++ b/nixos/modules/installer/tools/nix-fallback-paths.nix
@@ -1,6 +1,6 @@
 {
-  x86_64-linux = "/nix/store/6p2gambjac7xdkd2a7w1dsxdk1q5cq4d-nix-2.0";
-  i686-linux = "/nix/store/zznnaijjk3nwx0cmpczxsvngmqzhl7r4-nix-2.0";
-  aarch64-linux = "/nix/store/ci96w9kxfkmlc7x2vwqiz4da0r6abxnq-nix-2.0";
-  x86_64-darwin = "/nix/store/xmi4fylvx4qc79ji9v5q3zfy9vfdy4sv-nix-2.0";
+  x86_64-linux = "/nix/store/z6avpvg24f6d1br2sr6qlphsq3h4d91v-nix-2.0.2";
+  i686-linux = "/nix/store/cdqjyb9srhwkc4gqbknnap7y31lws4yq-nix-2.0.2";
+  aarch64-linux = "/nix/store/fbgaa3fb2am30klwv4lls44njwqh487a-nix-2.0.2";
+  x86_64-darwin = "/nix/store/hs8mxsvdhm95dxgx943d74fws01j2zj3-nix-2.0.2";
 }
diff --git a/nixos/modules/installer/tools/nixos-enter.sh b/nixos/modules/installer/tools/nixos-enter.sh
index 67939118961..518dbbbf21e 100644
--- a/nixos/modules/installer/tools/nixos-enter.sh
+++ b/nixos/modules/installer/tools/nixos-enter.sh
@@ -51,8 +51,9 @@ if [[ ! -e $mountPoint/etc/NIXOS ]]; then
     exit 126
 fi
 
-mkdir -m 0755 -p "$mountPoint/dev"
+mkdir -m 0755 -p "$mountPoint/dev" "$mountPoint/sys"
 mount --rbind /dev "$mountPoint/dev"
+mount --rbind /sys "$mountPoint/sys"
 
 # Run the activation script. Set $LOCALE_ARCHIVE to supress some Perl locale warnings.
 LOCALE_ARCHIVE=$system/sw/lib/locale/locale-archive chroot "$mountPoint" "$system/activate" >&2 || true
diff --git a/nixos/modules/installer/tools/nixos-generate-config.pl b/nixos/modules/installer/tools/nixos-generate-config.pl
index 0e0744a52e4..a198c2d49b5 100644
--- a/nixos/modules/installer/tools/nixos-generate-config.pl
+++ b/nixos/modules/installer/tools/nixos-generate-config.pl
@@ -577,15 +577,14 @@ $bootLoaderConfig
   # Set your time zone.
   # time.timeZone = "Europe/Amsterdam";
 
-  # List packages installed in system profile. To search by name, run:
-  # \$ nix-env -qaP | grep wget
+  # List packages installed in system profile. To search, run:
+  # \$ nix search wget
   # environment.systemPackages = with pkgs; [
   #   wget vim
   # ];
 
   # Some programs need SUID wrappers, can be configured further or are
   # started in user sessions.
-  # programs.bash.enableCompletion = true;
   # programs.mtr.enable = true;
   # programs.gnupg.agent = { enable = true; enableSSHSupport = true; };
 
@@ -629,7 +628,7 @@ $bootLoaderConfig
   # compatible, in order to avoid breaking some software such as database
   # servers. You should change this only after NixOS release notes say you
   # should.
-  system.stateVersion = "${\(qw(@release@))}"; # Did you read the comment?
+  system.nixos.stateVersion = "${\(qw(@release@))}"; # Did you read the comment?
 
 }
 EOF
diff --git a/nixos/modules/installer/tools/nixos-rebuild.sh b/nixos/modules/installer/tools/nixos-rebuild.sh
index 9ede74a54cd..2af73519bc5 100644
--- a/nixos/modules/installer/tools/nixos-rebuild.sh
+++ b/nixos/modules/installer/tools/nixos-rebuild.sh
@@ -382,6 +382,6 @@ fi
 if [ "$action" = build-vm ]; then
     cat >&2 <<EOF
 
-Done.  The virtual machine can be started by running $(echo $pathToConfig/bin/run-*-vm).
+Done.  The virtual machine can be started by running $(echo $pathToConfig/bin/run-*-vm)
 EOF
 fi
diff --git a/nixos/modules/installer/virtualbox-demo.nix b/nixos/modules/installer/virtualbox-demo.nix
index 5316cfce906..c40e3035420 100644
--- a/nixos/modules/installer/virtualbox-demo.nix
+++ b/nixos/modules/installer/virtualbox-demo.nix
@@ -19,4 +19,7 @@ with lib;
   # Add some more video drivers to give X11 a shot at working in
   # VMware and QEMU.
   services.xserver.videoDrivers = mkOverride 40 [ "virtualbox" "vmware" "cirrus" "vesa" "modesetting" ];
+
+  powerManagement.enable = false;
+  system.nixos.stateVersion = mkDefault "18.03";
 }
diff --git a/nixos/modules/misc/documentation.nix b/nixos/modules/misc/documentation.nix
new file mode 100644
index 00000000000..b482a5a6752
--- /dev/null
+++ b/nixos/modules/misc/documentation.nix
@@ -0,0 +1,96 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let cfg = config.documentation; in
+
+{
+
+  options = {
+
+    documentation = {
+
+      enable = mkOption {
+        type = types.bool;
+        default = true;
+        description = ''
+          Whether to install documentation of packages from
+          <option>environment.systemPackages</option> into the generated system path.
+
+          See "Multiple-output packages" chapter in the nixpkgs manual for more info.
+        '';
+        # which is at ../../../doc/multiple-output.xml
+      };
+
+      man.enable = mkOption {
+        type = types.bool;
+        default = true;
+        description = ''
+          Whether to install manual pages and the <command>man</command> command.
+          This also includes "man" outputs.
+        '';
+      };
+
+      info.enable = mkOption {
+        type = types.bool;
+        default = true;
+        description = ''
+          Whether to install info pages and the <command>info</command> command.
+          This also includes "info" outputs.
+        '';
+      };
+
+      doc.enable = mkOption {
+        type = types.bool;
+        default = true;
+        description = ''
+          Whether to install documentation distributed in packages' <literal>/share/doc</literal>.
+          Usually plain text and/or HTML.
+          This also includes "doc" outputs.
+        '';
+      };
+
+      dev.enable = mkOption {
+        type = types.bool;
+        default = false;
+        description = ''
+          Whether to install documentation targeted at developers.
+          <itemizedlist>
+          <listitem><para>This includes man pages targeted at developers if <option>man.enable</option> is
+                    set (this also includes "devman" outputs).</para></listitem>
+          <listitem><para>This includes info pages targeted at developers if <option>info.enable</option>
+                    is set (this also includes "devinfo" outputs).</para></listitem>
+          <listitem><para>This includes other pages targeted at developers if <option>doc.enable</option>
+                    is set (this also includes "devdoc" outputs).</para></listitem>
+          </itemizedlist>
+        '';
+      };
+
+    };
+
+  };
+
+  config = mkIf cfg.enable (mkMerge [
+
+    (mkIf cfg.man.enable {
+      environment.systemPackages = [ pkgs.man-db ];
+      environment.pathsToLink = [ "/share/man" ];
+      environment.extraOutputsToInstall = [ "man" ] ++ optional cfg.dev.enable "devman";
+    })
+
+    (mkIf cfg.info.enable {
+      environment.systemPackages = [ pkgs.texinfoInteractive ];
+      environment.pathsToLink = [ "/share/info" ];
+      environment.extraOutputsToInstall = [ "info" ] ++ optional cfg.dev.enable "devinfo";
+    })
+
+    (mkIf cfg.doc.enable {
+      # TODO(@oxij): put it here and remove from profiles?
+      # environment.systemPackages = [ pkgs.w3m ]; # w3m-nox?
+      environment.pathsToLink = [ "/share/doc" ];
+      environment.extraOutputsToInstall = [ "doc" ] ++ optional cfg.dev.enable "devdoc";
+    })
+
+  ]);
+
+}
diff --git a/nixos/modules/misc/ids.nix b/nixos/modules/misc/ids.nix
index 39a24cfecc5..cc7d8684982 100644
--- a/nixos/modules/misc/ids.nix
+++ b/nixos/modules/misc/ids.nix
@@ -56,7 +56,7 @@
       #dialout = 27; # unused
       polkituser = 28;
       #utmp = 29; # unused
-      ddclient = 30;
+      # ddclient = 30; # converted to DynamicUser = true
       davfs2 = 31;
       #disnix = 33; # unused
       osgi = 34;
@@ -106,7 +106,7 @@
       freenet = 79;
       ircd = 80;
       bacula = 81;
-      almir = 82;
+      #almir = 82; # removed 2018-03-25, the almir package was removed in 30291227f2411abaca097773eedb49b8f259e297 during 2017-08
       deluge = 83;
       mysql = 84;
       rabbitmq = 85;
@@ -138,7 +138,6 @@
       ngircd = 112;
       btsync = 113;
       minecraft = 114;
-      #monetdb = 115; # unused (not packaged), removed 2016-09-19
       vault = 115;
       rippled = 116;
       murmur = 117;
@@ -191,7 +190,7 @@
       cadvisor = 167;
       nylon = 168;
       apache-kafka = 169;
-      panamax = 170;
+      #panamax = 170; # unused
       exim = 172;
       #fleet = 173; # unused
       #input = 174; # unused
@@ -305,6 +304,9 @@
       hass = 286;
       monero = 287;
       ceph = 288;
+      duplicati = 289;
+      monetdb = 290;
+      restic = 291;
 
       # When adding a uid, make sure it doesn't match an existing gid. And don't use uids above 399!
 
@@ -343,7 +345,7 @@
       dialout = 27;
       #polkituser = 28; # currently unused, polkitd doesn't need a group
       utmp = 29;
-      ddclient = 30;
+      # ddclient = 30; # converted to DynamicUser = true
       davfs2 = 31;
       disnix = 33;
       osgi = 34;
@@ -393,7 +395,7 @@
       freenet = 79;
       ircd = 80;
       bacula = 81;
-      almir = 82;
+      #almir = 82; # removed 2018-03-25, the almir package was removed in 30291227f2411abaca097773eedb49b8f259e297 during 2017-08
       deluge = 83;
       mysql = 84;
       rabbitmq = 85;
@@ -423,7 +425,6 @@
       #ngircd = 112; # unused
       btsync = 113;
       #minecraft = 114; # unused
-      #monetdb = 115; # unused (not packaged), removed 2016-09-19
       vault = 115;
       #ripped = 116; # unused
       #murmur = 117; # unused
@@ -473,9 +474,9 @@
       #chronos = 164; # unused
       gitlab = 165;
       nylon = 168;
-      panamax = 170;
+      #panamax = 170; # unused
       exim = 172;
-      fleet = 173;
+      #fleet = 173; # unused
       input = 174;
       sddm = 175;
       tss = 176;
@@ -578,6 +579,9 @@
       hass = 286;
       monero = 287;
       ceph = 288;
+      duplicati = 289;
+      monetdb = 290;
+      restic = 291;
 
       # When adding a gid, make sure it doesn't match an existing
       # uid. Users and groups with the same name should have equal
diff --git a/nixos/modules/misc/locate.nix b/nixos/modules/misc/locate.nix
index 51953d1110c..ce5765cf197 100644
--- a/nixos/modules/misc/locate.nix
+++ b/nixos/modules/misc/locate.nix
@@ -97,7 +97,7 @@ in {
         Whether not to index bind mounts
       '';
     };
-    
+
   };
 
   config = mkIf cfg.enable {
@@ -133,13 +133,26 @@ in {
     systemd.services.update-locatedb =
       { description = "Update Locate Database";
         path = mkIf (!isMLocate) [ pkgs.su ];
+
+        # mlocate's updatedb takes flags via a configuration file or
+        # on the command line, but not by environment variable.
         script =
+          if isMLocate
+          then let toFlags = x: optional (cfg.${x} != [])
+                                         "--${lib.toLower x} '${concatStringsSep " " cfg.${x}}'";
+                   args = concatLists (map toFlags ["pruneFS" "pruneNames" "prunePaths"]);
+               in ''
+            exec ${cfg.locate}/bin/updatedb \
+              --output ${toString cfg.output} ${concatStringsSep " " args} \
+              --prune-bind-mounts ${if cfg.pruneBindMounts then "yes" else "no"} \
+              ${concatStringsSep " " cfg.extraFlags}
           ''
+          else ''
             exec ${cfg.locate}/bin/updatedb \
               ${optionalString (cfg.localuser != null && ! isMLocate) ''--localuser=${cfg.localuser}''} \
               --output=${toString cfg.output} ${concatStringsSep " " cfg.extraFlags}
           '';
-        environment = {
+        environment = optionalAttrs (!isMLocate) {
           PRUNEFS = concatStringsSep " " cfg.pruneFS;
           PRUNEPATHS = concatStringsSep " " cfg.prunePaths;
           PRUNENAMES = concatStringsSep " " cfg.pruneNames;
diff --git a/nixos/modules/misc/nixpkgs.nix b/nixos/modules/misc/nixpkgs.nix
index 11bd148d5de..8fbe218b232 100644
--- a/nixos/modules/misc/nixpkgs.nix
+++ b/nixos/modules/misc/nixpkgs.nix
@@ -33,7 +33,11 @@ let
   configType = mkOptionType {
     name = "nixpkgs-config";
     description = "nixpkgs config";
-    check = traceValIfNot isConfig;
+    check = x:
+      let traceXIfNot = c:
+            if c x then true
+            else lib.traceSeqN 1 x false;
+      in traceXIfNot isConfig;
     merge = args: fold (def: mergeConfig def.value) {};
   };
 
@@ -58,10 +62,13 @@ in
     pkgs = mkOption {
       defaultText = literalExample
         ''import "''${nixos}/.." {
-            inherit (config.nixpkgs) config overlays system;
+            inherit (config.nixpkgs) config overlays localSystem crossSystem;
           }
         '';
-      default = import ../../.. { inherit (cfg) config overlays system; };
+      default = import ../../.. {
+        localSystem = { inherit (cfg) system; } // cfg.localSystem;
+        inherit (cfg) config overlays crossSystem;
+      };
       type = pkgsType;
       example = literalExample ''import <nixpkgs> {}'';
       description = ''
@@ -73,8 +80,9 @@ in
         relative to the location of this NixOS module, because
         NixOS and Nixpkgs are distributed together for consistency,
         so the <code>nixos</code> in the default value is in fact a
-        relative path. The <code>config</code>, <code>overlays</code>
-        and <code>system</code> come from this option's siblings.
+        relative path. The <code>config</code>, <code>overlays</code>,
+        <code>localSystem</code>, and <code>crossSystem</code> come
+        from this option's siblings.
 
         This option can be used by applications like NixOps to increase
         the performance of evaluation, or to create packages that depend
@@ -130,14 +138,63 @@ in
       '';
     };
 
+    localSystem = mkOption {
+      type = types.attrs; # TODO utilize lib.systems.parsedPlatform
+      default = { system = builtins.currentSystem; };
+      example = { system = "aarch64-linux"; config = "aarch64-unknown-linux-gnu"; };
+      defaultText = literalExample
+        ''(import "''${nixos}/../lib").lib.systems.examples.aarch64-multiplatform'';
+      description = ''
+        Specifies the platform on which NixOS should be built. When
+        <code>nixpkgs.crossSystem</code> is unset, it also specifies
+        the platform <emphasis>for</emphasis> which NixOS should be
+        built.  If this option is unset, it defaults to the platform
+        type of the machine where evaluation happens. Specifying this
+        option is useful when doing distributed multi-platform
+        deployment, or when building virtual machines. See its
+        description in the Nixpkgs manual for more details.
+
+        Ignored when <code>nixpkgs.pkgs</code> is set.
+      '';
+    };
+
+    crossSystem = mkOption {
+      type = types.nullOr types.attrs; # TODO utilize lib.systems.parsedPlatform
+      default = null;
+      example = { system = "aarch64-linux"; config = "aarch64-unknown-linux-gnu"; };
+      defaultText = literalExample
+        ''(import "''${nixos}/../lib").lib.systems.examples.aarch64-multiplatform'';
+      description = ''
+        Specifies the platform for which NixOS should be
+        built. Specify this only if it is different from
+        <code>nixpkgs.localSystem</code>, the platform
+        <emphasis>on</emphasis> which NixOS should be built. In other
+        words, specify this to cross-compile NixOS. Otherwise it
+        should be set as null, the default. See its description in the
+        Nixpkgs manual for more details.
+
+        Ignored when <code>nixpkgs.pkgs</code> is set.
+      '';
+    };
+
     system = mkOption {
       type = types.str;
       example = "i686-linux";
       description = ''
-        Specifies the Nix platform type for which NixOS should be built.
-        If unset, it defaults to the platform type of your host system.
-        Specifying this option is useful when doing distributed
-        multi-platform deployment, or when building virtual machines.
+        Specifies the Nix platform type on which NixOS should be built.
+        It is better to specify <code>nixpkgs.localSystem</code> instead.
+        <programlisting>
+        {
+          nixpkgs.system = ..;
+        }
+        </programlisting>
+        is the same as
+        <programlisting>
+        {
+          nixpkgs.localSystem.system = ..;
+        }
+        </programlisting>
+        See <code>nixpkgs.localSystem</code> for more information.
 
         Ignored when <code>nixpkgs.pkgs</code> is set.
       '';
diff --git a/nixos/modules/misc/version.nix b/nixos/modules/misc/version.nix
index 6af584250a7..33d8a786169 100644
--- a/nixos/modules/misc/version.nix
+++ b/nixos/modules/misc/version.nix
@@ -1,12 +1,10 @@
-{ config, lib, pkgs, ... }:
+{ options, config, lib, pkgs, ... }:
 
 with lib;
 
 let
   cfg = config.system.nixos;
 
-  releaseFile  = "${toString pkgs.path}/.version";
-  suffixFile   = "${toString pkgs.path}/.version-suffix";
   revisionFile = "${toString pkgs.path}/.git-revision";
   gitRepo      = "${toString pkgs.path}/.git";
   gitCommitId  = lib.substring 0 7 (commitIdFromGitRepo gitRepo);
@@ -14,29 +12,29 @@ in
 
 {
 
-  options.system = {
+  options.system.nixos = {
 
-    nixos.version = mkOption {
+    version = mkOption {
       internal = true;
       type = types.str;
       description = "The full NixOS version (e.g. <literal>16.03.1160.f2d4ee1</literal>).";
     };
 
-    nixos.release = mkOption {
+    release = mkOption {
       readOnly = true;
       type = types.str;
-      default = fileContents releaseFile;
+      default = trivial.release;
       description = "The NixOS release (e.g. <literal>16.03</literal>).";
     };
 
-    nixos.versionSuffix = mkOption {
+    versionSuffix = mkOption {
       internal = true;
       type = types.str;
-      default = if pathExists suffixFile then fileContents suffixFile else "pre-git";
+      default = trivial.versionSuffix;
       description = "The NixOS version suffix (e.g. <literal>1160.f2d4ee1</literal>).";
     };
 
-    nixos.revision = mkOption {
+    revision = mkOption {
       internal = true;
       type = types.str;
       default = if pathIsDirectory gitRepo then commitIdFromGitRepo gitRepo
@@ -45,7 +43,7 @@ in
       description = "The Git revision from which this NixOS configuration was built.";
     };
 
-    nixos.codeName = mkOption {
+    codeName = mkOption {
       readOnly = true;
       type = types.str;
       description = "The NixOS release code name (e.g. <literal>Emu</literal>).";
@@ -78,6 +76,9 @@ in
 
   config = {
 
+    warnings = lib.optional (options.system.nixos.stateVersion.highestPrio > 1000)
+      "You don't have `system.nixos.stateVersion` explicitly set. Expect things to break.";
+
     system.nixos = {
       # These defaults are set here rather than up there so that
       # changing them would not rebuild the manual
@@ -85,8 +86,8 @@ in
       revision      = mkIf (pathIsDirectory gitRepo) (mkDefault            gitCommitId);
       versionSuffix = mkIf (pathIsDirectory gitRepo) (mkDefault (".git." + gitCommitId));
 
-      # Note: code names must only increase in alphabetical order.
-      codeName = "Impala";
+      # Note: the first letter is bumped on every release.  It's an animal.
+      codeName = "Jellyfish";
     };
 
     # Generate /etc/os-release.  See
diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix
index e7f28c670be..31f504ce556 100644
--- a/nixos/modules/module-list.nix
+++ b/nixos/modules/module-list.nix
@@ -41,6 +41,7 @@
   ./hardware/pcmcia.nix
   ./hardware/raid/hpsa.nix
   ./hardware/usb-wwan.nix
+  ./hardware/onlykey.nix
   ./hardware/video/amdgpu.nix
   ./hardware/video/amdgpu-pro.nix
   ./hardware/video/ati.nix
@@ -58,6 +59,7 @@
   ./installer/tools/tools.nix
   ./misc/assertions.nix
   ./misc/crashdump.nix
+  ./misc/documentation.nix
   ./misc/extra-arguments.nix
   ./misc/ids.nix
   ./misc/lib.nix
@@ -85,12 +87,11 @@
   ./programs/freetds.nix
   ./programs/gnupg.nix
   ./programs/gphoto2.nix
-  ./programs/info.nix
+  ./programs/iftop.nix
   ./programs/java.nix
   ./programs/kbdlight.nix
   ./programs/less.nix
   ./programs/light.nix
-  ./programs/man.nix
   ./programs/mosh.nix
   ./programs/mtr.nix
   ./programs/nano.nix
@@ -104,6 +105,7 @@
   ./programs/shadow.nix
   ./programs/shell.nix
   ./programs/spacefm.nix
+  ./programs/singularity.nix
   ./programs/ssh.nix
   ./programs/ssmtp.nix
   ./programs/sysdig.nix
@@ -157,20 +159,21 @@
   ./services/audio/slimserver.nix
   ./services/audio/squeezelite.nix
   ./services/audio/ympd.nix
-  ./services/backup/almir.nix
   ./services/backup/bacula.nix
+  ./services/backup/borgbackup.nix
+  ./services/backup/duplicati.nix
   ./services/backup/crashplan.nix
   ./services/backup/crashplan-small-business.nix
   ./services/backup/mysql-backup.nix
   ./services/backup/postgresql-backup.nix
+  ./services/backup/restic.nix
+  ./services/backup/restic-rest-server.nix
   ./services/backup/rsnapshot.nix
   ./services/backup/tarsnap.nix
   ./services/backup/znapzend.nix
-  ./services/cluster/fleet.nix
   ./services/cluster/kubernetes/default.nix
   ./services/cluster/kubernetes/dns.nix
   ./services/cluster/kubernetes/dashboard.nix
-  ./services/cluster/panamax.nix
   ./services/computing/boinc/client.nix
   ./services/computing/torque/server.nix
   ./services/computing/torque/mom.nix
@@ -191,9 +194,11 @@
   ./services/databases/clickhouse.nix
   ./services/databases/couchdb.nix
   ./services/databases/firebird.nix
+  ./services/databases/foundationdb.nix
   ./services/databases/hbase.nix
   ./services/databases/influxdb.nix
   ./services/databases/memcached.nix
+  ./services/databases/monetdb.nix
   ./services/databases/mongodb.nix
   ./services/databases/mysql.nix
   ./services/databases/neo4j.nix
@@ -245,6 +250,7 @@
   ./services/hardware/illum.nix
   ./services/hardware/interception-tools.nix
   ./services/hardware/irqbalance.nix
+  ./services/hardware/lcd.nix
   ./services/hardware/nvidia-optimus.nix
   ./services/hardware/pcscd.nix
   ./services/hardware/pommed.nix
@@ -324,6 +330,7 @@
   #./services/misc/gitit.nix
   ./services/misc/gitlab.nix
   ./services/misc/gitolite.nix
+  ./services/misc/gitweb.nix
   ./services/misc/gogs.nix
   ./services/misc/gollum.nix
   ./services/misc/gpsd.nix
@@ -361,6 +368,8 @@
   ./services/misc/rippled.nix
   ./services/misc/ripple-data-api.nix
   ./services/misc/rogue.nix
+  ./services/misc/serviio.nix
+  ./services/misc/safeeyes.nix
   ./services/misc/siproxd.nix
   ./services/misc/snapper.nix
   ./services/misc/sonarr.nix
@@ -396,16 +405,7 @@
   ./services/monitoring/osquery.nix
   ./services/monitoring/prometheus/default.nix
   ./services/monitoring/prometheus/alertmanager.nix
-  ./services/monitoring/prometheus/blackbox-exporter.nix
-  ./services/monitoring/prometheus/collectd-exporter.nix
-  ./services/monitoring/prometheus/fritzbox-exporter.nix
-  ./services/monitoring/prometheus/json-exporter.nix
-  ./services/monitoring/prometheus/minio-exporter.nix
-  ./services/monitoring/prometheus/nginx-exporter.nix
-  ./services/monitoring/prometheus/node-exporter.nix
-  ./services/monitoring/prometheus/snmp-exporter.nix
-  ./services/monitoring/prometheus/unifi-exporter.nix
-  ./services/monitoring/prometheus/varnish-exporter.nix
+  ./services/monitoring/prometheus/exporters.nix
   ./services/monitoring/riemann.nix
   ./services/monitoring/riemann-dash.nix
   ./services/monitoring/riemann-tools.nix
@@ -483,6 +483,7 @@
   ./services/networking/gnunet.nix
   ./services/networking/gogoclient.nix
   ./services/networking/gvpe.nix
+  ./services/networking/hans.nix
   ./services/networking/haproxy.nix
   ./services/networking/heyefi.nix
   ./services/networking/hostapd.nix
@@ -512,6 +513,7 @@
   ./services/networking/murmur.nix
   ./services/networking/namecoind.nix
   ./services/networking/nat.nix
+  ./services/networking/ndppd.nix
   ./services/networking/networkmanager.nix
   ./services/networking/nftables.nix
   ./services/networking/ngircd.nix
@@ -536,7 +538,7 @@
   ./services/networking/prayer.nix
   ./services/networking/privoxy.nix
   ./services/networking/prosody.nix
-  # ./services/networking/quagga.nix
+  ./services/networking/quagga.nix
   ./services/networking/quassel.nix
   ./services/networking/racoon.nix
   ./services/networking/radicale.nix
@@ -550,6 +552,7 @@
   ./services/networking/searx.nix
   ./services/networking/seeks.nix
   ./services/networking/skydns.nix
+  ./services/networking/shadowsocks.nix
   ./services/networking/shairport-sync.nix
   ./services/networking/shout.nix
   ./services/networking/sniproxy.nix
@@ -561,6 +564,7 @@
   ./services/networking/ssh/lshd.nix
   ./services/networking/ssh/sshd.nix
   ./services/networking/strongswan.nix
+  ./services/networking/strongswan-swanctl/module.nix
   ./services/networking/stunnel.nix
   ./services/networking/supplicant.nix
   ./services/networking/supybot.nix
@@ -638,7 +642,6 @@
   ./services/web-apps/atlassian/jira.nix
   ./services/web-apps/frab.nix
   ./services/web-apps/mattermost.nix
-  ./services/web-apps/nixbot.nix
   ./services/web-apps/nexus.nix
   ./services/web-apps/pgpkeyserver-lite.nix
   ./services/web-apps/matomo.nix
@@ -649,6 +652,7 @@
   ./services/web-servers/apache-httpd/default.nix
   ./services/web-servers/caddy.nix
   ./services/web-servers/fcgiwrap.nix
+  ./services/web-servers/hitch/default.nix
   ./services/web-servers/jboss/default.nix
   ./services/web-servers/lighttpd/cgit.nix
   ./services/web-servers/lighttpd/collectd.nix
@@ -658,6 +662,7 @@
   ./services/web-servers/mighttpd2.nix
   ./services/web-servers/minio.nix
   ./services/web-servers/nginx/default.nix
+  ./services/web-servers/nginx/gitweb.nix
   ./services/web-servers/phpfpm/default.nix
   ./services/web-servers/shellinabox.nix
   ./services/web-servers/tomcat.nix
@@ -775,6 +780,7 @@
   ./virtualisation/hyperv-guest.nix
   ./virtualisation/openvswitch.nix
   ./virtualisation/parallels-guest.nix
+  ./virtualisation/qemu-guest-agent.nix
   ./virtualisation/rkt.nix
   ./virtualisation/virtualbox-guest.nix
   ./virtualisation/virtualbox-host.nix
diff --git a/nixos/modules/profiles/base.nix b/nixos/modules/profiles/base.nix
index 39b8553976e..52481d90eab 100644
--- a/nixos/modules/profiles/base.nix
+++ b/nixos/modules/profiles/base.nix
@@ -9,7 +9,7 @@
   environment.systemPackages = [
     pkgs.w3m-nox # needed for the manual anyway
     pkgs.testdisk # useful for repairing boot problems
-    pkgs.mssys # for writing Microsoft boot sectors / MBRs
+    pkgs.ms-sys # for writing Microsoft boot sectors / MBRs
     pkgs.efibootmgr
     pkgs.efivar
     pkgs.parted
@@ -17,6 +17,7 @@
     pkgs.ddrescue
     pkgs.ccrypt
     pkgs.cryptsetup # needed for dm-crypt volumes
+    pkgs.mkpasswd # for generating password files
 
     # Some networking tools.
     pkgs.fuse
diff --git a/nixos/modules/profiles/demo.nix b/nixos/modules/profiles/demo.nix
index ef6fd77b5f8..c3ee6e98371 100644
--- a/nixos/modules/profiles/demo.nix
+++ b/nixos/modules/profiles/demo.nix
@@ -10,4 +10,10 @@
       password = "demo";
       uid = 1000;
     };
+
+  services.xserver.displayManager.sddm.autoLogin = {
+    enable = true;
+    relogin = true;
+    user = "demo";
+  };
 }
diff --git a/nixos/modules/profiles/docker-container.nix b/nixos/modules/profiles/docker-container.nix
index 433492b9613..7031d7d1d59 100644
--- a/nixos/modules/profiles/docker-container.nix
+++ b/nixos/modules/profiles/docker-container.nix
@@ -14,9 +14,7 @@ in {
   ];
 
   # Create the tarball
-  system.build.tarball = import ../../lib/make-system-tarball.nix {
-    inherit (pkgs) stdenv perl xz pathsFromGraph;
-
+  system.build.tarball = pkgs.callPackage ../../lib/make-system-tarball.nix {
     contents = [];
     extraArgs = "--owner=0";
 
diff --git a/nixos/modules/profiles/minimal.nix b/nixos/modules/profiles/minimal.nix
index e2497d04252..40df7063a9b 100644
--- a/nixos/modules/profiles/minimal.nix
+++ b/nixos/modules/profiles/minimal.nix
@@ -10,10 +10,9 @@ with lib;
 
   # This isn't perfect, but let's expect the user specifies an UTF-8 defaultLocale
   i18n.supportedLocales = [ (config.i18n.defaultLocale + "/UTF-8") ];
-  services.nixosManual.enable = mkDefault false;
 
-  programs.man.enable = mkDefault false;
-  programs.info.enable = mkDefault false;
+  documentation.enable = mkDefault false;
+  services.nixosManual.enable = mkDefault false;
 
   sound.enable = mkDefault false;
 }
diff --git a/nixos/modules/programs/bash/bash.nix b/nixos/modules/programs/bash/bash.nix
index 1a62f04972d..69a1a482d07 100644
--- a/nixos/modules/programs/bash/bash.nix
+++ b/nixos/modules/programs/bash/bash.nix
@@ -110,7 +110,7 @@ in
       };
 
       enableCompletion = mkOption {
-        default = false;
+        default = true;
         description = ''
           Enable Bash completion for all interactive bash shells.
         '';
@@ -126,7 +126,7 @@ in
     programs.bash = {
 
       shellInit = ''
-        . ${config.system.build.setEnvironment}
+        ${config.system.build.setEnvironment.text}
 
         ${cfge.shellInit}
       '';
diff --git a/nixos/modules/programs/digitalbitbox/doc.xml b/nixos/modules/programs/digitalbitbox/doc.xml
index 7acbc2fc4dd..a26653dda53 100644
--- a/nixos/modules/programs/digitalbitbox/doc.xml
+++ b/nixos/modules/programs/digitalbitbox/doc.xml
@@ -15,9 +15,9 @@
     installed by setting <literal>programs.digitalbitbox</literal>
     to <literal>true</literal> in a manner similar to
 
-    <programlisting>
-      programs.digitalbitbox.enable = true;
-    </programlisting>
+<programlisting>
+<xref linkend="opt-programs.digitalbitbox.enable"/> = true;
+</programlisting>
 
     and bundles the <literal>digitalbitbox</literal> package (see <xref
       linkend="sec-digitalbitbox-package" />), which contains the
@@ -46,11 +46,11 @@
       <literal>digitalbitbox</literal> package which could be installed
       as follows:
 
-      <programlisting>
-        environment.systemPackages = [
-          pkgs.digitalbitbox
-        ];
-      </programlisting>
+<programlisting>
+<xref linkend="opt-environment.systemPackages"/> = [
+  pkgs.digitalbitbox
+];
+</programlisting>
     </para>
   </section>
 
@@ -62,9 +62,9 @@
       The digitalbitbox hardware package enables the udev rules for
       Digital Bitbox devices and may be installed as follows:
 
-      <programlisting>
-        hardware.digitalbitbox.enable = true;
-      </programlisting>
+<programlisting>
+<xref linkend="opt-hardware.digitalbitbox.enable"/> = true;
+</programlisting>
     </para>
 
     <para>
@@ -72,14 +72,14 @@
       the <literal>udevRule51</literal> and <literal>udevRule52</literal>
       attributes by means of overriding as follows:
 
-      <programlisting>
-        programs.digitalbitbox = {
-          enable = true;
-          package = pkgs.digitalbitbox.override {
-            udevRule51 = "something else";
-          };
-        };
-      </programlisting>
+<programlisting>
+programs.digitalbitbox = {
+  <link linkend="opt-programs.digitalbitbox.enable">enable</link> = true;
+  <link linkend="opt-programs.digitalbitbox.package">package</link> = pkgs.digitalbitbox.override {
+    udevRule51 = "something else";
+  };
+};
+</programlisting>
     </para>
   </section>
 </chapter>
diff --git a/nixos/modules/programs/iftop.nix b/nixos/modules/programs/iftop.nix
new file mode 100644
index 00000000000..a98a9a8187d
--- /dev/null
+++ b/nixos/modules/programs/iftop.nix
@@ -0,0 +1,18 @@
+{ config, pkgs, lib, ... }:
+
+with lib;
+
+let
+  cfg = config.programs.iftop;
+in {
+  options = {
+    programs.iftop.enable = mkEnableOption "iftop + setcap wrapper";
+  };
+  config = mkIf cfg.enable {
+    environment.systemPackages = [ pkgs.iftop ];
+    security.wrappers.iftop = {
+      source = "${pkgs.iftop}/bin/iftop";
+      capabilities = "cap_net_raw+p";
+    };
+  };
+}
diff --git a/nixos/modules/programs/info.nix b/nixos/modules/programs/info.nix
deleted file mode 100644
index be6439dca5a..00000000000
--- a/nixos/modules/programs/info.nix
+++ /dev/null
@@ -1,30 +0,0 @@
-{ config, lib, pkgs, ... }:
-
-with lib;
-
-{
-
-  options = {
-
-    programs.info.enable = mkOption {
-      type = types.bool;
-      default = true;
-      description = ''
-        Whether to enable info pages and the <command>info</command> command.
-      '';
-    };
-
-  };
-
-
-  config = mkIf config.programs.info.enable {
-
-    environment.systemPackages = [ pkgs.texinfoInteractive ];
-
-    environment.pathsToLink = [ "/info" "/share/info" ];
-
-    environment.extraOutputsToInstall = [ "info" ];
-
-  };
-
-}
diff --git a/nixos/modules/programs/less.nix b/nixos/modules/programs/less.nix
index c0283c9e686..d39103a5805 100644
--- a/nixos/modules/programs/less.nix
+++ b/nixos/modules/programs/less.nix
@@ -6,7 +6,7 @@ let
 
   cfg = config.programs.less;
 
-  configFile = ''
+  configText = if (cfg.configFile != null) then (builtins.readFile cfg.configFile) else ''
     #command
     ${concatStringsSep "\n"
       (mapAttrsToList (command: action: "${command} ${action}") cfg.commands)
@@ -25,7 +25,7 @@ let
   '';
 
   lessKey = pkgs.runCommand "lesskey"
-            { src = pkgs.writeText "lessconfig" configFile; }
+            { src = pkgs.writeText "lessconfig" configText; }
             "${pkgs.less}/bin/lesskey -o $out $src";
 
 in
@@ -37,6 +37,19 @@ in
 
       enable = mkEnableOption "less";
 
+      configFile = mkOption {
+        type = types.nullOr types.path;
+        default = null;
+        example = literalExample "$${pkgs.my-configs}/lesskey";
+        description = ''
+          Path to lesskey configuration file.
+
+          <option>configFile</option> takes precedence over <option>commands</option>,
+          <option>clearDefaultCommands</option>, <option>lineEditingKeys</option>, and
+          <option>envVariables</option>.
+        '';
+      };
+
       commands = mkOption {
         type = types.attrsOf types.str;
         default = {};
diff --git a/nixos/modules/programs/man.nix b/nixos/modules/programs/man.nix
deleted file mode 100644
index 5b20a38d885..00000000000
--- a/nixos/modules/programs/man.nix
+++ /dev/null
@@ -1,31 +0,0 @@
-{ config, lib, pkgs, ... }:
-
-with lib;
-
-{
-
-  options = {
-
-    programs.man.enable = mkOption {
-      type = types.bool;
-      default = true;
-      description = ''
-        Whether to enable manual pages and the <command>man</command> command.
-        This also includes "man" outputs of all <literal>systemPackages</literal>.
-      '';
-    };
-
-  };
-
-
-  config = mkIf config.programs.man.enable {
-
-    environment.systemPackages = [ pkgs.man-db ];
-
-    environment.pathsToLink = [ "/share/man" ];
-
-    environment.extraOutputsToInstall = [ "man" ];
-
-  };
-
-}
diff --git a/nixos/modules/programs/plotinus.xml b/nixos/modules/programs/plotinus.xml
index 85b0e023e6c..91740ee16ec 100644
--- a/nixos/modules/programs/plotinus.xml
+++ b/nixos/modules/programs/plotinus.xml
@@ -17,7 +17,7 @@
 <para>To enable Plotinus, add the following to your <filename>configuration.nix</filename>:
 
 <programlisting>
-programs.plotinus.enable = true;
+<xref linkend="opt-programs.plotinus.enable"/> = true;
 </programlisting>
 
 </para>
diff --git a/nixos/modules/programs/rootston.nix b/nixos/modules/programs/rootston.nix
index 1946b1db657..842d9e6cfb4 100644
--- a/nixos/modules/programs/rootston.nix
+++ b/nixos/modules/programs/rootston.nix
@@ -6,7 +6,7 @@ let
   cfg = config.programs.rootston;
 
   rootstonWrapped = pkgs.writeScriptBin "rootston" ''
-    #! ${pkgs.stdenv.shell}
+    #! ${pkgs.runtimeShell}
     if [[ "$#" -ge 1 ]]; then
       exec ${pkgs.rootston}/bin/rootston "$@"
     else
diff --git a/nixos/modules/programs/shell.nix b/nixos/modules/programs/shell.nix
index d8845fd8f44..3504a8a924b 100644
--- a/nixos/modules/programs/shell.nix
+++ b/nixos/modules/programs/shell.nix
@@ -40,7 +40,7 @@ in
 
           # Subscribe the root user to the NixOS channel by default.
           if [ "$USER" = root -a ! -e $HOME/.nix-channels ]; then
-              echo "${config.system.defaultChannel} nixos" > $HOME/.nix-channels
+              echo "${config.system.nixos.defaultChannel} nixos" > $HOME/.nix-channels
           fi
 
           # Create the per-user garbage collector roots directory.
diff --git a/nixos/modules/programs/singularity.nix b/nixos/modules/programs/singularity.nix
new file mode 100644
index 00000000000..86153d93385
--- /dev/null
+++ b/nixos/modules/programs/singularity.nix
@@ -0,0 +1,20 @@
+{ config, pkgs, lib, ... }:
+
+with lib;
+let
+  cfg = config.programs.singularity;
+in {
+  options.programs.singularity = {
+    enable = mkEnableOption "Singularity";
+  };
+
+  config = mkIf cfg.enable {
+      environment.systemPackages = [ pkgs.singularity ];
+      systemd.tmpfiles.rules = [ "d /var/singularity/mnt/session 0770 root root -"
+                                 "d /var/singularity/mnt/final 0770 root root -"
+                                 "d /var/singularity/mnt/overlay 0770 root root -"
+                                 "d /var/singularity/mnt/container 0770 root root -"
+                                 "d /var/singularity/mnt/source 0770 root root -"];
+  };
+
+}
diff --git a/nixos/modules/programs/ssh.nix b/nixos/modules/programs/ssh.nix
index 0935bf0cae7..36289080a82 100644
--- a/nixos/modules/programs/ssh.nix
+++ b/nixos/modules/programs/ssh.nix
@@ -13,7 +13,7 @@ let
 
   askPasswordWrapper = pkgs.writeScript "ssh-askpass-wrapper"
     ''
-      #! ${pkgs.stdenv.shell} -e
+      #! ${pkgs.runtimeShell} -e
       export DISPLAY="$(systemctl --user show-environment | ${pkgs.gnused}/bin/sed 's/^DISPLAY=\(.*\)/\1/; t; d')"
       exec ${askPassword}
     '';
diff --git a/nixos/modules/programs/zsh/zsh.nix b/nixos/modules/programs/zsh/zsh.nix
index 5102bfef032..f689250dc61 100644
--- a/nixos/modules/programs/zsh/zsh.nix
+++ b/nixos/modules/programs/zsh/zsh.nix
@@ -108,7 +108,7 @@ in
         if [ -n "$__ETC_ZSHENV_SOURCED" ]; then return; fi
         export __ETC_ZSHENV_SOURCED=1
 
-        . ${config.system.build.setEnvironment}
+        ${config.system.build.setEnvironment.text}
 
         ${cfge.shellInit}
 
diff --git a/nixos/modules/rename.nix b/nixos/modules/rename.nix
index 489d7d8b9b5..8820a6da8c0 100644
--- a/nixos/modules/rename.nix
+++ b/nixos/modules/rename.nix
@@ -4,6 +4,7 @@ with lib;
 
 {
   imports = [
+    (mkRenamedOptionModule [ "dysnomia" ] [ "services" "dysnomia" ])
     (mkRenamedOptionModule [ "environment" "x11Packages" ] [ "environment" "systemPackages" ])
     (mkRenamedOptionModule [ "environment" "enableBashCompletion" ] [ "programs" "bash" "enableCompletion" ])
     (mkRenamedOptionModule [ "environment" "nix" ] [ "nix" "package" ])
@@ -16,12 +17,15 @@ with lib;
     (mkRenamedOptionModule [ "networking" "enableIntel2100BGFirmware" ] [ "hardware" "enableRedistributableFirmware" ])
     (mkRenamedOptionModule [ "networking" "enableRalinkFirmware" ] [ "hardware" "enableRedistributableFirmware" ])
     (mkRenamedOptionModule [ "networking" "enableRTL8192cFirmware" ] [ "hardware" "enableRedistributableFirmware" ])
+    (mkRenamedOptionModule [ "networking" "networkmanager" "useDnsmasq" ] [ "networking" "networkmanager" "dns" ])
 
     (mkRenamedOptionModule [ "services" "cadvisor" "host" ] [ "services" "cadvisor" "listenAddress" ])
     (mkChangedOptionModule [ "services" "printing" "gutenprint" ] [ "services" "printing" "drivers" ]
       (config:
         let enabled = getAttrFromPath [ "services" "printing" "gutenprint" ] config;
         in if enabled then [ pkgs.gutenprint ] else [ ]))
+    (mkRenamedOptionModule [ "services" "ddclient" "domain" ] [ "services" "ddclient" "domains" ])
+    (mkRemovedOptionModule [ "services" "ddclient" "homeDir" ] "")
     (mkRenamedOptionModule [ "services" "elasticsearch" "host" ] [ "services" "elasticsearch" "listenAddress" ])
     (mkRenamedOptionModule [ "services" "graphite" "api" "host" ] [ "services" "graphite" "api" "listenAddress" ])
     (mkRenamedOptionModule [ "services" "graphite" "web" "host" ] [ "services" "graphite" "web" "listenAddress" ])
@@ -186,22 +190,26 @@ with lib;
     (mkRenamedOptionModule [ "services" "xserver" "desktopManager" "kde5" ] [ "services" "xserver" "desktopManager" "plasma5" ])
 
     # Fontconfig
-    (mkRenamedOptionModule [ "config" "fonts" "fontconfig" "ultimate" "allowBitmaps" ] [ "config" "fonts" "fontconfig" "allowBitmaps" ])
-    (mkRenamedOptionModule [ "config" "fonts" "fontconfig" "ultimate" "allowType1" ] [ "config" "fonts" "fontconfig" "allowType1" ])
-    (mkRenamedOptionModule [ "config" "fonts" "fontconfig" "ultimate" "useEmbeddedBitmaps" ] [ "config" "fonts" "fontconfig" "useEmbeddedBitmaps" ])
-    (mkRenamedOptionModule [ "config" "fonts" "fontconfig" "ultimate" "forceAutohint" ] [ "config" "fonts" "fontconfig" "forceAutohint" ])
-    (mkRenamedOptionModule [ "config" "fonts" "fontconfig" "ultimate" "renderMonoTTFAsBitmap" ] [ "config" "fonts" "fontconfig" "renderMonoTTFAsBitmap" ])
+    (mkRenamedOptionModule [ "fonts" "fontconfig" "ultimate" "allowBitmaps" ] [ "fonts" "fontconfig" "allowBitmaps" ])
+    (mkRenamedOptionModule [ "fonts" "fontconfig" "ultimate" "allowType1" ] [ "fonts" "fontconfig" "allowType1" ])
+    (mkRenamedOptionModule [ "fonts" "fontconfig" "ultimate" "useEmbeddedBitmaps" ] [ "fonts" "fontconfig" "useEmbeddedBitmaps" ])
+    (mkRenamedOptionModule [ "fonts" "fontconfig" "ultimate" "forceAutohint" ] [ "fonts" "fontconfig" "forceAutohint" ])
+    (mkRenamedOptionModule [ "fonts" "fontconfig" "ultimate" "renderMonoTTFAsBitmap" ] [ "fonts" "fontconfig" "renderMonoTTFAsBitmap" ])
 
     # Profile splitting
     (mkRenamedOptionModule [ "virtualization" "growPartition" ] [ "boot" "growPartition" ])
 
     # misc/version.nix
-    (mkRenamedOptionModule [ "config" "system" "nixosVersion" ] [ "config" "system" "nixos" "version" ])
-    (mkRenamedOptionModule [ "config" "system" "nixosRelease" ] [ "config" "system" "nixos" "release" ])
-    (mkRenamedOptionModule [ "config" "system" "nixosVersionSuffix" ] [ "config" "system" "nixos" "versionSuffix" ])
-    (mkRenamedOptionModule [ "config" "system" "nixosRevision" ] [ "config" "system" "nixos" "revision" ])
-    (mkRenamedOptionModule [ "config" "system" "nixosCodeName" ] [ "config" "system" "nixos" "codeName" ])
-    (mkRenamedOptionModule [ "config" "system" "nixosLabel" ] [ "config" "system" "nixos" "label" ])
+    (mkRenamedOptionModule [ "system" "nixosVersion" ] [ "system" "nixos" "version" ])
+    (mkRenamedOptionModule [ "system" "nixosVersionSuffix" ] [ "system" "nixos" "versionSuffix" ])
+    (mkRenamedOptionModule [ "system" "nixosRevision" ] [ "system" "nixos" "revision" ])
+    (mkRenamedOptionModule [ "system" "nixosLabel" ] [ "system" "nixos" "label" ])
+    (mkRenamedOptionModule [ "system" "stateVersion" ] [ "system" "nixos" "stateVersion" ])
+    (mkRenamedOptionModule [ "system" "defaultChannel" ] [ "system" "nixos" "defaultChannel" ])
+
+    # Users
+    (mkAliasOptionModule [ "users" "extraUsers" ] [ "users" "users" ])
+    (mkAliasOptionModule [ "users" "extraGroups" ] [ "users" "groups" ])
 
     # Options that are obsolete and have no replacement.
     (mkRemovedOptionModule [ "boot" "initrd" "luks" "enable" ] "")
@@ -240,5 +248,15 @@ with lib;
 
     # Xen
     (mkRenamedOptionModule [ "virtualisation" "xen" "qemu-package" ] [ "virtualisation" "xen" "package-qemu" ])
-  ];
+
+    (mkRenamedOptionModule [ "programs" "info" "enable" ] [ "documentation" "info" "enable" ])
+    (mkRenamedOptionModule [ "programs" "man"  "enable" ] [ "documentation" "man"  "enable" ])
+
+  ] ++ (flip map [ "blackboxExporter" "collectdExporter" "fritzboxExporter"
+                   "jsonExporter" "minioExporter" "nginxExporter" "nodeExporter"
+                   "snmpExporter" "unifiExporter" "varnishExporter" ]
+       (opt: mkRemovedOptionModule [ "services" "prometheus" "${opt}" ] ''
+         The prometheus exporters are now configured using `services.prometheus.exporters'.
+         See the 18.03 release notes for more information.
+       '' ));
 }
diff --git a/nixos/modules/security/acme.nix b/nixos/modules/security/acme.nix
index 0736239ed2c..9e5d636241e 100644
--- a/nixos/modules/security/acme.nix
+++ b/nixos/modules/security/acme.nix
@@ -58,9 +58,11 @@ let
         default = "";
         example = "systemctl reload nginx.service";
         description = ''
-          Commands to run after certificates are re-issued. Typically
+          Commands to run after new certificates go live. Typically
           the web server and other servers using certificates need to
           be reloaded.
+
+          Executed in the same directory with the new certificate.
         '';
       };
 
@@ -78,6 +80,27 @@ let
         '';
       };
 
+      activationDelay = mkOption {
+        type = types.nullOr types.str;
+        default = null;
+        description = ''
+          Systemd time span expression to delay copying new certificates to main
+          state directory. See <citerefentry><refentrytitle>systemd.time</refentrytitle>
+          <manvolnum>7</manvolnum></citerefentry>.
+        '';
+      };
+
+      preDelay = mkOption {
+        type = types.lines;
+        default = "";
+        description = ''
+          Commands to run after certificates are re-issued but before they are
+          activated. Typically the new certificate is published to DNS.
+
+          Executed in the same directory with the new certificate.
+        '';
+      };
+
       extraDomains = mkOption {
         type = types.attrsOf (types.nullOr types.str);
         default = {};
@@ -140,14 +163,6 @@ in
         '';
       };
 
-      tosHash = mkOption {
-        type = types.string;
-        default = "cc88d8d9517f490191401e7b54e9ffd12a2b9082ec7a1d4cec6101f9f1647e7b";
-        description = ''
-          SHA256 of the Terms of Services document. This changes once in a while.
-        '';
-      };
-
       production = mkOption {
         type = types.bool;
         default = true;
@@ -194,14 +209,15 @@ in
           servicesLists = mapAttrsToList certToServices cfg.certs;
           certToServices = cert: data:
               let
-                cpath = "${cfg.directory}/${cert}";
+                domain = if data.domain != null then data.domain else cert;
+                cpath = lpath + optionalString (data.activationDelay != null) ".staging";
+                lpath = "${cfg.directory}/${cert}";
                 rights = if data.allowKeysForGroup then "750" else "700";
-                cmdline = [ "-v" "-d" data.domain "--default_root" data.webroot "--valid_min" cfg.validMin "--tos_sha256" cfg.tosHash ]
+                cmdline = [ "-v" "-d" data.domain "--default_root" data.webroot "--valid_min" cfg.validMin ]
                           ++ optionals (data.email != null) [ "--email" data.email ]
                           ++ concatMap (p: [ "-f" p ]) data.plugins
                           ++ concatLists (mapAttrsToList (name: root: [ "-d" (if root == null then name else "${name}:${root}")]) data.extraDomains)
-                          ++ (if cfg.production then []
-                              else ["--server" "https://acme-staging.api.letsencrypt.org/directory"]);
+                          ++ optionals (!cfg.production) ["--server" "https://acme-staging.api.letsencrypt.org/directory"];
                 acmeService = {
                   description = "Renew ACME Certificate for ${cert}";
                   after = [ "network.target" "network-online.target" ];
@@ -214,7 +230,7 @@ in
                     Group = data.group;
                     PrivateTmp = true;
                   };
-                  path = [ pkgs.simp_le ];
+                  path = with pkgs; [ simp_le systemd ];
                   preStart = ''
                     mkdir -p '${cfg.directory}'
                     chown 'root:root' '${cfg.directory}'
@@ -237,17 +253,43 @@ in
                     exit "$EXITCODE"
                   '';
                   postStop = ''
+                    cd '${cpath}'
+
                     if [ -e /tmp/lastExitCode ] && [ "$(cat /tmp/lastExitCode)" = "0" ]; then
-                      echo "Executing postRun hook..."
-                      ${data.postRun}
+                      ${if data.activationDelay != null then ''
+
+                      ${data.preDelay}
+
+                      if [ -d '${lpath}' ]; then
+                        systemd-run --no-block --on-active='${data.activationDelay}' --unit acme-setlive-${cert}.service
+                      else
+                        systemctl --wait start acme-setlive-${cert}.service
+                      fi
+                      '' else data.postRun}
+
+                      # noop ensuring that the "if" block is non-empty even if
+                      # activationDelay == null and postRun == ""
+                      true
                     fi
                   '';
 
                   before = [ "acme-certificates.target" ];
                   wantedBy = [ "acme-certificates.target" ];
                 };
+                delayService = {
+                  description = "Set certificate for ${cert} live";
+                  path = with pkgs; [ rsync ];
+                  serviceConfig = {
+                    Type = "oneshot";
+                  };
+                  script = ''
+                    rsync -a --delete-after '${cpath}/' '${lpath}'
+                  '';
+                  postStop = data.postRun;
+                };
                 selfsignedService = {
                   description = "Create preliminary self-signed certificate for ${cert}";
+                  path = [ pkgs.openssl ];
                   preStart = ''
                       if [ ! -d '${cpath}' ]
                       then
@@ -256,39 +298,43 @@ in
                         chown '${data.user}:${data.group}' '${cpath}'
                       fi
                   '';
-                  script = 
+                  script =
                     ''
-                      # Create self-signed key
-                      workdir="/run/acme-selfsigned-${cert}"
-                      ${pkgs.openssl.bin}/bin/openssl genrsa -des3 -passout pass:x -out $workdir/server.pass.key 2048
-                      ${pkgs.openssl.bin}/bin/openssl rsa -passin pass:x -in $workdir/server.pass.key -out $workdir/server.key
-                      ${pkgs.openssl.bin}/bin/openssl req -new -key $workdir/server.key -out $workdir/server.csr \
+                      workdir="$(mktemp -d)"
+
+                      # Create CA
+                      openssl genrsa -des3 -passout pass:x -out $workdir/ca.pass.key 2048
+                      openssl rsa -passin pass:x -in $workdir/ca.pass.key -out $workdir/ca.key
+                      openssl req -new -key $workdir/ca.key -out $workdir/ca.csr \
+                        -subj "/C=UK/ST=Warwickshire/L=Leamington/O=OrgName/OU=Security Department/CN=example.com"
+                      openssl x509 -req -days 1 -in $workdir/ca.csr -signkey $workdir/ca.key -out $workdir/ca.crt
+
+                      # Create key
+                      openssl genrsa -des3 -passout pass:x -out $workdir/server.pass.key 2048
+                      openssl rsa -passin pass:x -in $workdir/server.pass.key -out $workdir/server.key
+                      openssl req -new -key $workdir/server.key -out $workdir/server.csr \
                         -subj "/C=UK/ST=Warwickshire/L=Leamington/O=OrgName/OU=IT Department/CN=example.com"
-                      ${pkgs.openssl.bin}/bin/openssl x509 -req -days 1 -in $workdir/server.csr -signkey $workdir/server.key -out $workdir/server.crt
+                      openssl x509 -req -days 1 -in $workdir/server.csr -CA $workdir/ca.crt \
+                        -CAkey $workdir/ca.key -CAserial $workdir/ca.srl -CAcreateserial \
+                        -out $workdir/server.crt
 
-                      # Move key to destination
-                      mv $workdir/server.key ${cpath}/key.pem
-                      mv $workdir/server.crt ${cpath}/fullchain.pem
+                      # Copy key to destination
+                      cp $workdir/server.key ${cpath}/key.pem
 
-                      # Create full.pem for e.g. lighttpd (same format as "simp_le ... -f full.pem" creates)
-                      cat "${cpath}/key.pem" "${cpath}/fullchain.pem" > "${cpath}/full.pem"
+                      # Create fullchain.pem (same format as "simp_le ... -f fullchain.pem" creates)
+                      cat $workdir/{server.crt,ca.crt} > "${cpath}/fullchain.pem"
 
-                      # Clean up working directory
-                      rm $workdir/server.csr
-                      rm $workdir/server.pass.key
+                      # Create full.pem for e.g. lighttpd
+                      cat $workdir/{server.key,server.crt,ca.crt} > "${cpath}/full.pem"
 
                       # Give key acme permissions
-                      chmod ${rights} '${cpath}/key.pem'
-                      chown '${data.user}:${data.group}' '${cpath}/key.pem'
-                      chmod ${rights} '${cpath}/fullchain.pem'
-                      chown '${data.user}:${data.group}' '${cpath}/fullchain.pem'
-                      chmod ${rights} '${cpath}/full.pem'
-                      chown '${data.user}:${data.group}' '${cpath}/full.pem'
+                      chown '${data.user}:${data.group}' "${cpath}/"{key,fullchain,full}.pem
+                      chmod ${rights} "${cpath}/"{key,fullchain,full}.pem
                     '';
                   serviceConfig = {
                     Type = "oneshot";
-                    RuntimeDirectory = "acme-selfsigned-${cert}";
                     PermissionsStartOnly = true;
+                    PrivateTmp = true;
                     User = data.user;
                     Group = data.group;
                   };
@@ -305,11 +351,8 @@ in
                 };
               in (
                 [ { name = "acme-${cert}"; value = acmeService; } ]
-                ++
-                (if cfg.preliminarySelfsigned
-                  then [ { name = "acme-selfsigned-${cert}"; value = selfsignedService; } ]
-                  else []
-                )
+                ++ optional cfg.preliminarySelfsigned { name = "acme-selfsigned-${cert}"; value = selfsignedService; }
+                ++ optional (data.activationDelay != null) { name = "acme-setlive-${cert}"; value = delayService; }
               );
           servicesAttr = listToAttrs services;
           injectServiceDep = {
diff --git a/nixos/modules/security/acme.xml b/nixos/modules/security/acme.xml
index 6130ed82ed3..7cdc554989e 100644
--- a/nixos/modules/security/acme.xml
+++ b/nixos/modules/security/acme.xml
@@ -48,9 +48,9 @@ http {
 <filename>configuration.nix</filename>:
 
 <programlisting>
-security.acme.certs."foo.example.com" = {
-  webroot = "/var/www/challenges";
-  email = "foo@example.com";
+<xref linkend="opt-security.acme.certs"/>."foo.example.com" = {
+  <link linkend="opt-security.acme.certs._name_.webroot">webroot</link> = "/var/www/challenges";
+  <link linkend="opt-security.acme.certs._name_.email">email</link> = "foo@example.com";
 };
 </programlisting>
 </para>
@@ -58,17 +58,17 @@ security.acme.certs."foo.example.com" = {
 <para>The private key <filename>key.pem</filename> and certificate
 <filename>fullchain.pem</filename> will be put into
 <filename>/var/lib/acme/foo.example.com</filename>. The target directory can
-be configured with the option <literal>security.acme.directory</literal>.
+be configured with the option <xref linkend="opt-security.acme.directory"/>.
 </para>
 
 <para>Refer to <xref linkend="ch-options" /> for all available configuration
-options for the <literal>security.acme</literal> module.</para>
+options for the <link linkend="opt-security.acme.certs">security.acme</link> module.</para>
 
 </section>
 
 <section><title>Using ACME certificates in Nginx</title>
 <para>NixOS supports fetching ACME certificates for you by setting
-<literal>enableACME = true;</literal> in a virtualHost config. We
+  <literal><link linkend="opt-services.nginx.virtualHosts._name_.enableACME">enableACME</link> = true;</literal> in a virtualHost config. We
 first create self-signed placeholder certificates in place of the
 real ACME certs. The placeholder certs are overwritten when the ACME
 certs arrive. For <literal>foo.example.com</literal> the config would
@@ -77,13 +77,13 @@ look like.
 
 <programlisting>
 services.nginx = {
-  enable = true;
-  virtualHosts = {
+  <link linkend="opt-services.nginx.enable">enable = true;</link>
+  <link linkend="opt-services.nginx.virtualHosts">virtualHosts</link> = {
     "foo.example.com" = {
-      forceSSL = true;
-      enableACME = true;
+      <link linkend="opt-services.nginx.virtualHosts._name_.forceSSL">forceSSL</link> = true;
+      <link linkend="opt-services.nginx.virtualHosts._name_.enableACME">enableACME</link> = true;
       locations."/" = {
-        root = "/var/www";
+        <link linkend="opt-services.nginx.virtualHosts._name_.locations._name_.root">root</link> = "/var/www";
       };
     };
   };
diff --git a/nixos/modules/security/audit.nix b/nixos/modules/security/audit.nix
index 7ac21fd9650..2b22bdd9f0a 100644
--- a/nixos/modules/security/audit.nix
+++ b/nixos/modules/security/audit.nix
@@ -13,7 +13,7 @@ let
   };
 
   disableScript = pkgs.writeScript "audit-disable" ''
-    #!${pkgs.stdenv.shell} -eu
+    #!${pkgs.runtimeShell} -eu
     # Explicitly disable everything, as otherwise journald might start it.
     auditctl -D
     auditctl -e 0 -a task,never
@@ -23,7 +23,7 @@ let
   # put in the store like this. At the same time, it doesn't feel like a huge deal and working
   # around that is a pain so I'm leaving it like this for now.
   startScript = pkgs.writeScript "audit-start" ''
-    #!${pkgs.stdenv.shell} -eu
+    #!${pkgs.runtimeShell} -eu
     # Clear out any rules we may start with
     auditctl -D
 
@@ -43,7 +43,7 @@ let
   '';
 
   stopScript = pkgs.writeScript "audit-stop" ''
-    #!${pkgs.stdenv.shell} -eu
+    #!${pkgs.runtimeShell} -eu
     # Clear the rules
     auditctl -D
 
diff --git a/nixos/modules/security/dhparams.nix b/nixos/modules/security/dhparams.nix
index 55c75713101..e2b84c3e3b3 100644
--- a/nixos/modules/security/dhparams.nix
+++ b/nixos/modules/security/dhparams.nix
@@ -1,107 +1,173 @@
 { config, lib, pkgs, ... }:
 
-with lib;
 let
+  inherit (lib) mkOption types;
   cfg = config.security.dhparams;
-in
-{
+
+  bitType = types.addCheck types.int (b: b >= 16) // {
+    name = "bits";
+    description = "integer of at least 16 bits";
+  };
+
+  paramsSubmodule = { name, config, ... }: {
+    options.bits = mkOption {
+      type = bitType;
+      default = cfg.defaultBitSize;
+      description = ''
+        The bit size for the prime that is used during a Diffie-Hellman
+        key exchange.
+      '';
+    };
+
+    options.path = mkOption {
+      type = types.path;
+      readOnly = true;
+      description = ''
+        The resulting path of the generated Diffie-Hellman parameters
+        file for other services to reference. This could be either a
+        store path or a file inside the directory specified by
+        <option>security.dhparams.path</option>.
+      '';
+    };
+
+    config.path = let
+      generated = pkgs.runCommand "dhparams-${name}.pem" {
+        nativeBuildInputs = [ pkgs.openssl ];
+      } "openssl dhparam -out \"$out\" ${toString config.bits}";
+    in if cfg.stateful then "${cfg.path}/${name}.pem" else generated;
+  };
+
+in {
   options = {
     security.dhparams = {
+      enable = mkOption {
+        type = types.bool;
+        default = false;
+        description = ''
+          Whether to generate new DH params and clean up old DH params.
+        '';
+      };
+
       params = mkOption {
-        description =
-          ''
-            Diffie-Hellman parameters to generate.
-
-            The value is the size (in bits) of the DH params to generate. The
-            generated DH params path can be found in
-            <filename><replaceable>security.dhparams.path</replaceable>/<replaceable>name</replaceable>.pem</filename>.
-
-            Note: The name of the DH params is taken as being the name of the
-            service it serves: the params will be generated before the said
-            service is started.
-
-            Warning: If you are removing all dhparams from this list, you have
-            to leave security.dhparams.enable for at least one activation in
-            order to have them be cleaned up. This also means if you rollback to
-            a version without any dhparams the existing ones won't be cleaned
-            up.
-          '';
-        type = with types; attrsOf int;
+        type = with types; let
+          coerce = bits: { inherit bits; };
+        in attrsOf (coercedTo int coerce (submodule paramsSubmodule));
         default = {};
-        example = { nginx = 3072; };
+        example = lib.literalExample "{ nginx.bits = 3072; }";
+        description = ''
+          Diffie-Hellman parameters to generate.
+
+          The value is the size (in bits) of the DH params to generate. The
+          generated DH params path can be found in
+          <literal>config.security.dhparams.params.<replaceable>name</replaceable>.path</literal>.
+
+          <note><para>The name of the DH params is taken as being the name of
+          the service it serves and the params will be generated before the
+          said service is started.</para></note>
+
+          <warning><para>If you are removing all dhparams from this list, you
+          have to leave <option>security.dhparams.enable</option> for at
+          least one activation in order to have them be cleaned up. This also
+          means if you rollback to a version without any dhparams the
+          existing ones won't be cleaned up. Of course this only applies if
+          <option>security.dhparams.stateful</option> is
+          <literal>true</literal>.</para></warning>
+
+          <note><title>For module implementers:</title><para>It's recommended
+          to not set a specific bit size here, so that users can easily
+          override this by setting
+          <option>security.dhparams.defaultBitSize</option>.</para></note>
+        '';
+      };
+
+      stateful = mkOption {
+        type = types.bool;
+        default = true;
+        description = ''
+          Whether generation of Diffie-Hellman parameters should be stateful or
+          not. If this is enabled, PEM-encoded files for Diffie-Hellman
+          parameters are placed in the directory specified by
+          <option>security.dhparams.path</option>. Otherwise the files are
+          created within the Nix store.
+
+          <note><para>If this is <literal>false</literal> the resulting store
+          path will be non-deterministic and will be rebuilt every time the
+          <package>openssl</package> package changes.</para></note>
+        '';
+      };
+
+      defaultBitSize = mkOption {
+        type = bitType;
+        default = 2048;
+        description = ''
+          This allows to override the default bit size for all of the
+          Diffie-Hellman parameters set in
+          <option>security.dhparams.params</option>.
+        '';
       };
 
       path = mkOption {
-        description =
-          ''
-            Path to the directory in which Diffie-Hellman parameters will be
-            stored.
-          '';
         type = types.str;
         default = "/var/lib/dhparams";
-      };
-
-      enable = mkOption {
-        description =
-          ''
-            Whether to generate new DH params and clean up old DH params.
-          '';
-        default = false;
-        type = types.bool;
+        description = ''
+          Path to the directory in which Diffie-Hellman parameters will be
+          stored. This only is relevant if
+          <option>security.dhparams.stateful</option> is
+          <literal>true</literal>.
+        '';
       };
     };
   };
 
-  config = mkIf cfg.enable {
+  config = lib.mkIf (cfg.enable && cfg.stateful) {
     systemd.services = {
       dhparams-init = {
-        description = "Cleanup old Diffie-Hellman parameters";
-        wantedBy = [ "multi-user.target" ]; # Clean up even when no DH params is set
+        description = "Clean Up Old Diffie-Hellman Parameters";
+
+        # Clean up even when no DH params is set
+        wantedBy = [ "multi-user.target" ];
+
+        serviceConfig.RemainAfterExit = true;
         serviceConfig.Type = "oneshot";
-        script =
-          # Create directory
-          ''
-            if [ ! -d ${cfg.path} ]; then
-              mkdir -p ${cfg.path}
-            fi
-          '' +
+
+        script = ''
+          if [ ! -d ${cfg.path} ]; then
+            mkdir -p ${cfg.path}
+          fi
+
           # Remove old dhparams
-          ''
-            for file in ${cfg.path}/*; do
-              if [ ! -f "$file" ]; then
-                continue
-              fi
-          '' + concatStrings (mapAttrsToList (name: value:
-          ''
-              if [ "$file" == "${cfg.path}/${name}.pem" ] && \
-                  ${pkgs.openssl}/bin/openssl dhparam -in "$file" -text | head -n 1 | grep "(${toString value} bit)" > /dev/null; then
+          for file in ${cfg.path}/*; do
+            if [ ! -f "$file" ]; then
+              continue
+            fi
+            ${lib.concatStrings (lib.mapAttrsToList (name: { bits, path, ... }: ''
+              if [ "$file" = ${lib.escapeShellArg path} ] && \
+                 ${pkgs.openssl}/bin/openssl dhparam -in "$file" -text \
+                 | head -n 1 | grep "(${toString bits} bit)" > /dev/null; then
                 continue
               fi
-          ''
-          ) cfg.params) +
-          ''
-              rm $file
-            done
-
-            # TODO: Ideally this would be removing the *former* cfg.path, though this
-            # does not seem really important as changes to it are quite unlikely
-            rmdir --ignore-fail-on-non-empty ${cfg.path}
-          '';
+            '') cfg.params)}
+            rm $file
+          done
+
+          # TODO: Ideally this would be removing the *former* cfg.path, though
+          # this does not seem really important as changes to it are quite
+          # unlikely
+          rmdir --ignore-fail-on-non-empty ${cfg.path}
+        '';
       };
-    } //
-      mapAttrs' (name: value: nameValuePair "dhparams-gen-${name}" {
-        description = "Generate Diffie-Hellman parameters for ${name} if they don't exist yet";
-        after = [ "dhparams-init.service" ];
-        before = [ "${name}.service" ];
-        wantedBy = [ "multi-user.target" ];
-        serviceConfig.Type = "oneshot";
-        script =
-          ''
-            mkdir -p ${cfg.path}
-            if [ ! -f ${cfg.path}/${name}.pem ]; then
-              ${pkgs.openssl}/bin/openssl dhparam -out ${cfg.path}/${name}.pem ${toString value}
-            fi
-          '';
-      }) cfg.params;
+    } // lib.mapAttrs' (name: { bits, path, ... }: lib.nameValuePair "dhparams-gen-${name}" {
+      description = "Generate Diffie-Hellman Parameters for ${name}";
+      after = [ "dhparams-init.service" ];
+      before = [ "${name}.service" ];
+      wantedBy = [ "multi-user.target" ];
+      unitConfig.ConditionPathExists = "!${path}";
+      serviceConfig.Type = "oneshot";
+      script = ''
+        mkdir -p ${lib.escapeShellArg cfg.path}
+        ${pkgs.openssl}/bin/openssl dhparam -out ${lib.escapeShellArg path} \
+          ${toString bits}
+      '';
+    }) cfg.params;
   };
 }
diff --git a/nixos/modules/security/duosec.nix b/nixos/modules/security/duosec.nix
index 9ca818e86ff..df6108dede7 100644
--- a/nixos/modules/security/duosec.nix
+++ b/nixos/modules/security/duosec.nix
@@ -25,14 +25,14 @@ let
   loginCfgFile = optional cfg.ssh.enable
     { source = pkgs.writeText "login_duo.conf" configFile;
       mode   = "0600";
-      uid    = config.ids.uids.sshd;
+      user   = "sshd";
       target = "duo/login_duo.conf";
     };
 
   pamCfgFile = optional cfg.pam.enable
     { source = pkgs.writeText "pam_duo.conf" configFile;
       mode   = "0600";
-      uid    = config.ids.uids.sshd;
+      user   = "sshd";
       target = "duo/pam_duo.conf";
     };
 in
diff --git a/nixos/modules/security/hidepid.xml b/nixos/modules/security/hidepid.xml
index 5715ee7ac16..d69341eb3cd 100644
--- a/nixos/modules/security/hidepid.xml
+++ b/nixos/modules/security/hidepid.xml
@@ -8,9 +8,9 @@
 
   <para>
     Setting
-    <programlisting>
-      security.hideProcessInformation = true;
-    </programlisting>
+<programlisting>
+<xref linkend="opt-security.hideProcessInformation"/> = true;
+</programlisting>
     ensures that access to process information is restricted to the
     owning user.  This implies, among other things, that command-line
     arguments remain private.  Unless your deployment relies on unprivileged
@@ -25,9 +25,9 @@
 
   <para>
     To allow a service <replaceable>foo</replaceable> to run without process information hiding, set
-    <programlisting>
-      systemd.services.<replaceable>foo</replaceable>.serviceConfig.SupplementaryGroups = [ "proc" ];
-    </programlisting>
+<programlisting>
+<link linkend="opt-systemd.services._name_.serviceConfig">systemd.services.<replaceable>foo</replaceable>.serviceConfig</link>.SupplementaryGroups = [ "proc" ];
+</programlisting>
   </para>
 
 </chapter>
diff --git a/nixos/modules/security/pam.nix b/nixos/modules/security/pam.nix
index e1cad03e66e..bef10b4fe61 100644
--- a/nixos/modules/security/pam.nix
+++ b/nixos/modules/security/pam.nix
@@ -234,6 +234,11 @@ let
           password, KDE will prompt separately after login.
         '';
       };
+      sssdStrictAccess = mkOption {
+        default = false;
+        type = types.bool;
+        description = "enforce sssd access control";
+      };
 
       enableGnomeKeyring = mkOption {
         default = false;
@@ -264,11 +269,13 @@ let
       text = mkDefault
         (''
           # Account management.
-          account sufficient pam_unix.so
+          account ${if cfg.sssdStrictAccess then "required" else "sufficient"} pam_unix.so
           ${optionalString use_ldap
               "account sufficient ${pam_ldap}/lib/security/pam_ldap.so"}
-          ${optionalString config.services.sssd.enable
+          ${optionalString (config.services.sssd.enable && cfg.sssdStrictAccess==false)
               "account sufficient ${pkgs.sssd}/lib/security/pam_sss.so"}
+          ${optionalString (config.services.sssd.enable && cfg.sssdStrictAccess)
+              "account [default=bad success=ok user_unknown=ignore] ${pkgs.sssd}/lib/security/pam_sss.so"}
           ${optionalString config.krb5.enable
               "account sufficient ${pam_krb5}/lib/security/pam_krb5.so"}
 
@@ -386,7 +393,7 @@ let
           ${optionalString (cfg.enableGnomeKeyring)
               "session optional ${pkgs.gnome3.gnome-keyring}/lib/security/pam_gnome_keyring.so auto_start"}
           ${optionalString (config.virtualisation.lxc.lxcfs.enable)
-               "session optional ${pkgs.lxcfs}/lib/security/pam_cgfs.so -c freezer,memory,name=systemd,unified,cpuset"}
+               "session optional ${pkgs.lxc}/lib/security/pam_cgfs.so -c all"}
         '');
     };
 
@@ -442,6 +449,10 @@ in
           <varname>item</varname>, and <varname>value</varname>
           attribute.  The syntax and semantics of these attributes
           must be that described in the limits.conf(5) man page.
+
+          Note that these limits do not apply to systemd services,
+          whose limits can be changed via <option>systemd.extraConfig</option>
+          instead.
        '';
     };
 
diff --git a/nixos/modules/security/sudo.nix b/nixos/modules/security/sudo.nix
index a57f14bb5ae..24283e1d616 100644
--- a/nixos/modules/security/sudo.nix
+++ b/nixos/modules/security/sudo.nix
@@ -47,8 +47,8 @@ in
       default = true;
       description =
         ''
-          Whether users of the <code>wheel</code> group can execute
-          commands as super user without entering a password.
+          Whether users of the <code>wheel</code> group must
+          provide a password to run commands as super user via <command>sudo</command>.
         '';
       };
 
@@ -215,7 +215,7 @@ in
           { src = pkgs.writeText "sudoers-in" cfg.configFile; }
           # Make sure that the sudoers file is syntactically valid.
           # (currently disabled - NIXOS-66)
-          "${pkgs.sudo}/sbin/visudo -f $src -c && cp $src $out";
+          "${pkgs.buildPackages.sudo}/sbin/visudo -f $src -c && cp $src $out";
         target = "sudoers";
         mode = "0440";
       };
diff --git a/nixos/modules/security/wrappers/wrapper.c b/nixos/modules/security/wrappers/wrapper.c
index 7091e314bb2..494e9e93ac2 100644
--- a/nixos/modules/security/wrappers/wrapper.c
+++ b/nixos/modules/security/wrappers/wrapper.c
@@ -10,8 +10,8 @@
 #include <errno.h>
 #include <linux/capability.h>
 #include <sys/capability.h>
-#include <linux/prctl.h>
 #include <sys/prctl.h>
+#include <limits.h>
 #include <cap-ng.h>
 
 // Make sure assertions are not compiled out, we use them to codify
diff --git a/nixos/modules/services/audio/alsa.nix b/nixos/modules/services/audio/alsa.nix
index e3e8bb28c58..376aad66e23 100644
--- a/nixos/modules/services/audio/alsa.nix
+++ b/nixos/modules/services/audio/alsa.nix
@@ -54,6 +54,11 @@ in
           description = ''
             Whether to enable volume and capture control with keyboard media keys.
 
+            You want to leave this disabled if you run a desktop environment
+            like KDE, Gnome, Xfce, etc, as those handle such things themselves.
+            You might want to enable this if you run a minimalistic desktop
+            environment or work from bare linux ttys/framebuffers.
+
             Enabling this will turn on <option>services.actkbd</option>.
           '';
         };
diff --git a/nixos/modules/services/backup/almir.nix b/nixos/modules/services/backup/almir.nix
deleted file mode 100644
index fbb4ff4034f..00000000000
--- a/nixos/modules/services/backup/almir.nix
+++ /dev/null
@@ -1,173 +0,0 @@
-{ config, lib, pkgs, ... }:
-
-with lib;
-
-let
-  cfg = config.services.almir;
-
-  bconsoleconf = pkgs.writeText "bconsole.conf"
-    ''
-      Director {
-        Name = ${cfg.director_name}
-        DIRport = ${toString cfg.director_port}
-        address = ${cfg.director_address}
-        Password = "${cfg.director_password}"
-      }
-    '';
-
-  productionini = pkgs.writeText "production.ini"
-    ''
-[app:main]
-use = egg:almir
-
-pyramid.reload_templates = false
-pyramid.debug_authorization = false
-pyramid.debug_notfound = false
-pyramid.debug_routematch = false
-pyramid.debug_templates = false
-pyramid.default_locale_name = en
-pyramid.includes =
-    pyramid_exclog
-exclog.extra_info = true
-
-sqlalchemy.url = ${cfg.sqlalchemy_engine_url}
-timezone = ${cfg.timezone}
-bconsole_config = ${bconsoleconf}
-
-[server:main]
-use = egg:waitress#main
-host = 127.0.0.1
-port = ${toString cfg.port}
-
-
-# Begin logging configuration
-
-[loggers]
-keys = root, almir, sqlalchemy, exc_logger
-
-[handlers]
-keys = console
-
-[formatters]
-keys = generic
-
-[logger_root]
-level = WARN
-handlers = console
-
-[logger_almir]
-level = WARN
-handlers =
-qualname = almir
-
-[logger_exc_logger]
-level = ERROR
-handlers =
-qualname = exc_logger
-
-[logger_sqlalchemy]
-level = WARN
-handlers =
-qualname = sqlalchemy.engine
-# "level = INFO" logs SQL queries.
-# "level = DEBUG" logs SQL queries and results.
-# "level = WARN" logs neither.  (Recommended for production systems.)
-
-[handler_console]
-class = StreamHandler
-args = (sys.stderr,)
-level = NOTSET
-formatter = generic
-
-[formatter_generic]
-format = %(asctime)s %(levelname)-5.5s [%(name)s][%(threadName)s] %(message)s
-    '';
-in {
-  options = {
-    services.almir = {
-      enable = mkOption {
-        type = types.bool;
-        default = false;
-        description = ''
-          Enable Almir web server. Also configures postgresql database and installs bacula.
-        '';
-      };
-
-      port = mkOption {
-        default = 35000;
-        type = types.int;
-        description = ''
-          Port for Almir web server to listen on.
-        '';
-      };
-
-      timezone = mkOption {
-	description = ''
-         Timezone as specified in https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
-        '';
-        example = "Europe/Ljubljana";
-      };
-
-      sqlalchemy_engine_url = mkOption {
-        default = "postgresql:///bacula";
-        example = ''
-          postgresql://bacula:bacula@localhost:5432/bacula
-          mysql+mysqlconnector://<user>:<password>@<hostname>/<database>'
-          sqlite:////var/lib/bacula/bacula.db'
-        '';
-	description = ''
-         Define SQL database connection to bacula catalog as specified in http://docs.sqlalchemy.org/en/latest/core/engines.html#database-urls
-        '';
-      };
-
-      director_name = mkOption {
-        description = ''
-          Name of the Director to connect with bconsole.
-        '';
-      };
-
-      director_password = mkOption {
-        description = ''
-          Password for Director to connect with bconsole.
-        '';
-      };
-
-      director_port = mkOption {
-        default = 9101;
-        type = types.int;
-        description = ''
-          Port for Director to connect with bconsole.
-        '';
-      };
-
-      director_address = mkOption {
-        default = "127.0.0.1";
-        description = ''
-          IP/Hostname for Director to connect with bconsole.
-        '';
-      };
-    };
-  };
-
-  config = mkIf cfg.enable {
-    systemd.services.almir = {
-      after = [ "network.target" "postgresql.service" ];
-      description = "Almir web app";
-      wantedBy = [ "multi-user.target" ];
-      path = [ pkgs.pythonPackages.almir ];
-      environment.PYTHONPATH = "${pkgs.pythonPackages.almir}/lib/${pkgs.pythonPackages.python.libPrefix}/site-packages";
-      serviceConfig.ExecStart = "${pkgs.pythonPackages.pyramid}/bin/pserve ${productionini}";
-    };
-
-    environment.systemPackages = [ pkgs.pythonPackages.almir ];
-
-    users.extraUsers.almir = {
-      group = "almir";
-      uid = config.ids.uids.almir;
-      createHome = true;
-      shell = "${pkgs.bash}/bin/bash";
-    };
-
-    users.extraGroups.almir.gid = config.ids.gids.almir;
-  };
-}
diff --git a/nixos/modules/services/backup/borgbackup.nix b/nixos/modules/services/backup/borgbackup.nix
new file mode 100644
index 00000000000..1b730e0c2b7
--- /dev/null
+++ b/nixos/modules/services/backup/borgbackup.nix
@@ -0,0 +1,580 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+
+  isLocalPath = x:
+    builtins.substring 0 1 x == "/"      # absolute path
+    || builtins.substring 0 1 x == "."   # relative path
+    || builtins.match "[.*:.*]" == null; # not machine:path
+ 
+  mkExcludeFile = cfg:
+    # Write each exclude pattern to a new line
+    pkgs.writeText "excludefile" (concatStringsSep "\n" cfg.exclude);
+
+  mkKeepArgs = cfg:
+    # If cfg.prune.keep e.g. has a yearly attribute,
+    # its content is passed on as --keep-yearly
+    concatStringsSep " "
+      (mapAttrsToList (x: y: "--keep-${x}=${toString y}") cfg.prune.keep);
+
+  mkBackupScript = cfg: ''
+    on_exit()
+    {
+      exitStatus=$?
+      # Reset the EXIT handler, or else we're called again on 'exit' below
+      trap - EXIT
+      ${cfg.postHook}
+      exit $exitStatus
+    }
+    trap 'on_exit' INT TERM QUIT EXIT
+
+    archiveName="${cfg.archiveBaseName}-$(date ${cfg.dateFormat})"
+    archiveSuffix="${optionalString cfg.appendFailedSuffix ".failed"}"
+    ${cfg.preHook}
+  '' + optionalString cfg.doInit ''
+    # Run borg init if the repo doesn't exist yet
+    if ! borg list > /dev/null; then
+      borg init \
+        --encryption ${cfg.encryption.mode} \
+        $extraInitArgs
+      ${cfg.postInit}
+    fi
+  '' + ''
+    borg create \
+      --compression ${cfg.compression} \
+      --exclude-from ${mkExcludeFile cfg} \
+      $extraCreateArgs \
+      "::$archiveName$archiveSuffix" \
+      ${escapeShellArgs cfg.paths}
+  '' + optionalString cfg.appendFailedSuffix ''
+    borg rename "::$archiveName$archiveSuffix" "$archiveName"
+  '' + ''
+    ${cfg.postCreate}
+  '' + optionalString (cfg.prune.keep != { }) ''
+    borg prune \
+      ${mkKeepArgs cfg} \
+      --prefix ${escapeShellArg cfg.prune.prefix} \
+      $extraPruneArgs
+    ${cfg.postPrune}
+  '';
+
+  mkPassEnv = cfg: with cfg.encryption;
+    if passCommand != null then
+      { BORG_PASSCOMMAND = passCommand; }
+    else if passphrase != null then
+      { BORG_PASSPHRASE = passphrase; }
+    else { };
+
+  mkBackupService = name: cfg: 
+    let
+      userHome = config.users.users.${cfg.user}.home;
+    in nameValuePair "borgbackup-job-${name}" {
+      description = "BorgBackup job ${name}";
+      path = with pkgs; [
+        borgbackup openssh
+      ];
+      script = mkBackupScript cfg;
+      serviceConfig = {
+        User = cfg.user;
+        Group = cfg.group;
+        # Only run when no other process is using CPU or disk
+        CPUSchedulingPolicy = "idle";
+        IOSchedulingClass = "idle";
+        ProtectSystem = "strict";
+        ReadWritePaths =
+          [ "${userHome}/.config/borg" "${userHome}/.cache/borg" ]
+          # Borg needs write access to repo if it is not remote
+          ++ optional (isLocalPath cfg.repo) cfg.repo;
+        PrivateTmp = true;
+      };
+      environment = {
+        BORG_REPO = cfg.repo;
+        inherit (cfg) extraInitArgs extraCreateArgs extraPruneArgs;
+      } // (mkPassEnv cfg) // cfg.environment;
+      inherit (cfg) startAt;
+    };
+
+  # Paths listed in ReadWritePaths must exist before service is started
+  mkActivationScript = name: cfg:
+    let
+      install = "install -o ${cfg.user} -g ${cfg.group}";
+    in
+      nameValuePair "borgbackup-job-${name}" (stringAfter [ "users" ] (''
+        # Eensure that the home directory already exists
+        # We can't assert createHome == true because that's not the case for root
+        cd "${config.users.users.${cfg.user}.home}"                                                                                                         
+        ${install} -d .config/borg
+        ${install} -d .cache/borg
+      '' + optionalString (isLocalPath cfg.repo) ''
+        ${install} -d ${escapeShellArg cfg.repo}
+      ''));
+
+  mkPassAssertion = name: cfg: {
+    assertion = with cfg.encryption;
+      mode != "none" -> passCommand != null || passphrase != null;
+    message =
+      "passCommand or passphrase has to be specified because"
+      + '' borgbackup.jobs.${name}.encryption != "none"'';
+  };
+
+  mkRepoService = name: cfg:
+    nameValuePair "borgbackup-repo-${name}" {
+      description = "Create BorgBackup repository ${name} directory";
+      script = ''
+        mkdir -p ${escapeShellArg cfg.path}
+        chown ${cfg.user}:${cfg.group} ${escapeShellArg cfg.path}
+      '';
+      serviceConfig = {
+        # The service's only task is to ensure that the specified path exists
+        Type = "oneshot";
+      };
+      wantedBy = [ "multi-user.target" ];
+    };
+
+  mkAuthorizedKey = cfg: appendOnly: key:
+    let
+      # Because of the following line, clients do not need to specify an absolute repo path
+      cdCommand = "cd ${escapeShellArg cfg.path}";
+      restrictedArg = "--restrict-to-${if cfg.allowSubRepos then "path" else "repository"} .";
+      appendOnlyArg = optionalString appendOnly "--append-only";
+      quotaArg = optionalString (cfg.quota != null) "--storage-quota ${cfg.quota}";
+      serveCommand = "borg serve ${restrictedArg} ${appendOnlyArg} ${quotaArg}";
+    in
+      ''command="${cdCommand} && ${serveCommand}",restrict ${key}'';
+
+  mkUsersConfig = name: cfg: {
+    users.${cfg.user} = {
+      openssh.authorizedKeys.keys =
+        (map (mkAuthorizedKey cfg false) cfg.authorizedKeys
+        ++ map (mkAuthorizedKey cfg true) cfg.authorizedKeysAppendOnly);
+      useDefaultShell = true;
+    };
+    groups.${cfg.group} = { };
+  };
+
+  mkKeysAssertion = name: cfg: {
+    assertion = cfg.authorizedKeys != [ ] || cfg.authorizedKeysAppendOnly != [ ];
+    message =
+      "borgbackup.repos.${name} does not make sense"
+      + " without at least one public key";
+  };
+
+in {
+  meta.maintainers = with maintainers; [ dotlambda ];
+
+  ###### interface
+
+  options.services.borgbackup.jobs = mkOption {
+    description = "Deduplicating backups using BorgBackup.";
+    default = { };
+    example = literalExample ''
+      {
+        rootBackup = {
+          paths = "/";
+          exclude = [ "/nix" ];
+          repo = "/path/to/local/repo";
+          encryption = {
+            mode = "repokey";
+            passphrase = "secret";
+          };
+          compression = "auto,lzma";
+          startAt = "weekly";
+        };
+      }
+    '';
+    type = types.attrsOf (types.submodule (let globalConfig = config; in
+      { name, config, ... }: {
+        options = {
+
+          paths = mkOption {
+            type = with types; either path (nonEmptyListOf path);
+            description = "Path(s) to back up.";
+            example = "/home/user";
+            apply = x: if isList x then x else [ x ];
+          };
+
+          repo = mkOption {
+            type = types.str;
+            description = "Remote or local repository to back up to.";
+            example = "user@machine:/path/to/repo";
+          };
+
+          archiveBaseName = mkOption {
+            type = types.strMatching "[^/{}]+";
+            default = "${globalConfig.networking.hostName}-${name}";
+            defaultText = "\${config.networking.hostName}-<name>";
+            description = ''
+              How to name the created archives. A timestamp, whose format is
+              determined by <option>dateFormat</option>, will be appended. The full
+              name can be modified at runtime (<literal>$archiveName</literal>).
+              Placeholders like <literal>{hostname}</literal> must not be used.
+            '';
+          };
+
+          dateFormat = mkOption {
+            type = types.str;
+            description = ''
+              Arguments passed to <command>date</command>
+              to create a timestamp suffix for the archive name.
+            '';
+            default = "+%Y-%m-%dT%H:%M:%S";
+            example = "-u +%s";
+          };
+
+          startAt = mkOption {
+            type = with types; either str (listOf str);
+            default = "daily";
+            description = ''
+              When or how often the backup should run.
+              Must be in the format described in
+              <citerefentry><refentrytitle>systemd.time</refentrytitle>
+              <manvolnum>7</manvolnum></citerefentry>.
+              If you do not want the backup to start
+              automatically, use <literal>[ ]</literal>.
+            '';
+          };
+
+          user = mkOption {
+            type = types.str;
+            description = ''
+              The user <command>borg</command> is run as.
+              User or group need read permission
+              for the specified <option>paths</option>.
+            '';
+            default = "root";
+          };
+
+          group = mkOption {
+            type = types.str;
+            description = ''
+              The group borg is run as. User or group needs read permission
+              for the specified <option>paths</option>.
+            '';
+            default = "root";
+          };
+
+          encryption.mode = mkOption {
+            type = types.enum [
+              "repokey" "keyfile"
+              "repokey-blake2" "keyfile-blake2"
+              "authenticated" "authenticated-blake2"
+              "none"
+            ];
+            description = ''
+              Encryption mode to use. Setting a mode
+              other than <literal>"none"</literal> requires
+              you to specify a <option>passCommand</option>
+              or a <option>passphrase</option>.
+            '';
+          };
+
+          encryption.passCommand = mkOption {
+            type = with types; nullOr str;
+            description = ''
+              A command which prints the passphrase to stdout.
+              Mutually exclusive with <option>passphrase</option>.
+            '';
+            default = null;
+            example = "cat /path/to/passphrase_file";
+          };
+
+          encryption.passphrase = mkOption {
+            type = with types; nullOr str;
+            description = ''
+              The passphrase the backups are encrypted with.
+              Mutually exclusive with <option>passCommand</option>.
+              If you do not want the passphrase to be stored in the
+              world-readable Nix store, use <option>passCommand</option>.
+            '';
+            default = null;
+          };
+
+          compression = mkOption {
+            # "auto" is optional,
+            # compression mode must be given,
+            # compression level is optional
+            type = types.strMatching "none|(auto,)?(lz4|zstd|zlib|lzma)(,[[:digit:]]{1,2})?";
+            description = ''
+              Compression method to use. Refer to
+              <command>borg help compression</command>
+              for all available options.
+            '';
+            default = "lz4";
+            example = "auto,lzma";
+          };
+
+          exclude = mkOption {
+            type = with types; listOf str;
+            description = ''
+              Exclude paths matching any of the given patterns. See
+              <command>borg help patterns</command> for pattern syntax.
+            '';
+            default = [ ];
+            example = [
+              "/home/*/.cache"
+              "/nix"
+            ];
+          };
+
+          doInit = mkOption {
+            type = types.bool;
+            description = ''
+              Run <command>borg init</command> if the
+              specified <option>repo</option> does not exist.
+              You should set this to <literal>false</literal>
+              if the repository is located on an external drive
+              that might not always be mounted.
+            '';
+            default = true;
+          };
+
+          appendFailedSuffix = mkOption {
+            type = types.bool;
+            description = ''
+              Append a <literal>.failed</literal> suffix
+              to the archive name, which is only removed if
+              <command>borg create</command> has a zero exit status.
+            '';
+            default = true;
+          };
+
+          prune.keep = mkOption {
+            # Specifying e.g. `prune.keep.yearly = -1`
+            # means there is no limit of yearly archives to keep
+            # The regex is for use with e.g. --keep-within 1y
+            type = with types; attrsOf (either int (strMatching "[[:digit:]]+[Hdwmy]"));
+            description = ''
+              Prune a repository by deleting all archives not matching any of the
+              specified retention options. See <command>borg help prune</command>
+              for the available options.
+            '';
+            default = { };
+            example = literalExample ''
+              {
+                within = "1d"; # Keep all archives from the last day
+                daily = 7;
+                weekly = 4;
+                monthly = -1;  # Keep at least one archive for each month
+              }
+            '';
+          };
+
+          prune.prefix = mkOption {
+            type = types.str;
+            description = ''
+              Only consider archive names starting with this prefix for pruning.
+              By default, only archives created by this job are considered.
+              Use <literal>""</literal> to consider all archives.
+            '';
+            default = config.archiveBaseName;
+            defaultText = "\${archiveBaseName}";
+          };
+
+          environment = mkOption {
+            type = with types; attrsOf str;
+            description = ''
+              Environment variables passed to the backup script.
+              You can for example specify which SSH key to use.
+            '';
+            default = { };
+            example = { BORG_RSH = "ssh -i /path/to/key"; };
+          };
+
+          preHook = mkOption {
+            type = types.lines;
+            description = ''
+              Shell commands to run before the backup.
+              This can for example be used to mount file systems.
+            '';
+            default = "";
+            example = ''
+              # To add excluded paths at runtime
+              extraCreateArgs="$extraCreateArgs --exclude /some/path"
+            '';
+          };
+
+          postInit = mkOption {
+            type = types.lines;
+            description = ''
+              Shell commands to run after <command>borg init</command>.
+            '';
+            default = "";
+          };
+
+          postCreate = mkOption {
+            type = types.lines;
+            description = ''
+              Shell commands to run after <command>borg create</command>. The name
+              of the created archive is stored in <literal>$archiveName</literal>.
+            '';
+            default = "";
+          };
+
+          postPrune = mkOption {
+            type = types.lines;
+            description = ''
+              Shell commands to run after <command>borg prune</command>.
+            '';
+            default = "";
+          };
+
+          postHook = mkOption {
+            type = types.lines;
+            description = ''
+              Shell commands to run just before exit. They are executed
+              even if a previous command exits with a non-zero exit code.
+              The latter is available as <literal>$exitStatus</literal>.
+            '';
+            default = "";
+          };
+
+          extraInitArgs = mkOption {
+            type = types.str;
+            description = ''
+              Additional arguments for <command>borg init</command>.
+              Can also be set at runtime using <literal>$extraInitArgs</literal>.
+            '';
+            default = "";
+            example = "--append-only";
+          };
+
+          extraCreateArgs = mkOption {
+            type = types.str;
+            description = ''
+              Additional arguments for <command>borg create</command>.
+              Can also be set at runtime using <literal>$extraCreateArgs</literal>.
+            '';
+            default = "";
+            example = "--stats --checkpoint-interval 600";
+          };
+
+          extraPruneArgs = mkOption {
+            type = types.str;
+            description = ''
+              Additional arguments for <command>borg prune</command>.
+              Can also be set at runtime using <literal>$extraPruneArgs</literal>.
+            '';
+            default = "";
+            example = "--save-space";
+          };
+
+        };
+      }
+    ));
+  };
+
+  options.services.borgbackup.repos = mkOption {
+    description = ''
+      Serve BorgBackup repositories to given public SSH keys,
+      restricting their access to the repository only.
+      Also, clients do not need to specify the absolute path when accessing the repository,
+      i.e. <literal>user@machine:.</literal> is enough. (Note colon and dot.)
+    '';
+    default = { };
+    type = types.attrsOf (types.submodule (
+      { name, config, ... }: {
+        options = {
+          
+          path = mkOption {
+            type = types.path;
+            description = ''
+              Where to store the backups. Note that the directory
+              is created automatically, with correct permissions.
+            '';
+            default = "/var/lib/borgbackup";
+          };
+
+          user = mkOption {
+            type = types.str;
+            description = ''
+              The user <command>borg serve</command> is run as.
+              User or group needs write permission
+              for the specified <option>path</option>.
+            '';
+            default = "borg";
+          };
+
+          group = mkOption {
+            type = types.str;
+            description = ''
+              The group <command>borg serve</command> is run as.
+              User or group needs write permission
+              for the specified <option>path</option>.
+            '';
+            default = "borg";
+          };
+
+          authorizedKeys = mkOption {
+            type = with types; listOf str;
+            description = ''
+              Public SSH keys that are given full write access to this repository.
+              You should use a different SSH key for each repository you write to, because
+              the specified keys are restricted to running <command>borg serve</command>
+              and can only access this single repository.
+            '';
+            default = [ ];
+          };
+
+          authorizedKeysAppendOnly = mkOption {
+            type = with types; listOf str;
+            description = ''
+              Public SSH keys that can only be used to append new data (archives) to the repository.
+              Note that archives can still be marked as deleted and are subsequently removed from disk
+              upon accessing the repo with full write access, e.g. when pruning.
+            '';
+            default = [ ];
+          };
+
+          allowSubRepos = mkOption {
+            type = types.bool;
+            description = ''
+              Allow clients to create repositories in subdirectories of the
+              specified <option>path</option>. These can be accessed using
+              <literal>user@machine:path/to/subrepo</literal>. Note that a
+              <option>quota</option> applies to repositories independently.
+              Therefore, if this is enabled, clients can create multiple
+              repositories and upload an arbitrary amount of data.
+            '';
+            default = false;
+          };
+
+          quota = mkOption {
+            # See the definition of parse_file_size() in src/borg/helpers/parseformat.py
+            type = with types; nullOr (strMatching "[[:digit:].]+[KMGTP]?");
+            description = ''
+              Storage quota for the repository. This quota is ensured for all
+              sub-repositories if <option>allowSubRepos</option> is enabled
+              but not for the overall storage space used.
+            '';
+            default = null;
+            example = "100G";
+          };
+
+        };
+      }
+    ));
+  };
+
+  ###### implementation
+
+  config = mkIf (with config.services.borgbackup; jobs != { } || repos != { })
+    (with config.services.borgbackup; {
+      assertions =
+        mapAttrsToList mkPassAssertion jobs
+        ++ mapAttrsToList mkKeysAssertion repos;
+
+      system.activationScripts = mapAttrs' mkActivationScript jobs;
+
+      systemd.services =
+        # A job named "foo" is mapped to systemd.services.borgbackup-job-foo
+        mapAttrs' mkBackupService jobs
+        # A repo named "foo" is mapped to systemd.services.borgbackup-repo-foo
+        // mapAttrs' mkRepoService repos;
+
+      users = mkMerge (mapAttrsToList mkUsersConfig repos);
+
+      environment.systemPackages = with pkgs; [ borgbackup ];
+    });
+}
diff --git a/nixos/modules/services/backup/duplicati.nix b/nixos/modules/services/backup/duplicati.nix
new file mode 100644
index 00000000000..9772ca4d20a
--- /dev/null
+++ b/nixos/modules/services/backup/duplicati.nix
@@ -0,0 +1,40 @@
+{ config, pkgs, lib, ... }:
+
+with lib;
+
+let
+  cfg = config.services.duplicati;
+in
+{
+  options = {
+    services.duplicati = {
+      enable = mkEnableOption "Duplicati";
+    };
+  };
+
+  config = mkIf cfg.enable {
+    environment.systemPackages = [ pkgs.duplicati ];
+
+    systemd.services.duplicati = {
+      description = "Duplicati backup";
+      after = [ "network.target" ];
+      wantedBy = [ "multi-user.target" ];
+      serviceConfig = {
+        User = "duplicati";
+        Group = "duplicati";
+        ExecStart = "${pkgs.duplicati}/bin/duplicati-server --webservice-interface=any --webservice-port=8200 --server-datafolder=/var/lib/duplicati";
+        Restart = "on-failure";
+      };
+    };
+
+    users.extraUsers.duplicati = {
+      uid = config.ids.uids.duplicati;
+      home = "/var/lib/duplicati";
+      createHome = true;
+      group = "duplicati";
+    };
+    users.extraGroups.duplicati.gid = config.ids.gids.duplicati;
+
+  };
+}
+
diff --git a/nixos/modules/services/backup/restic-rest-server.nix b/nixos/modules/services/backup/restic-rest-server.nix
new file mode 100644
index 00000000000..d4b47a09941
--- /dev/null
+++ b/nixos/modules/services/backup/restic-rest-server.nix
@@ -0,0 +1,107 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+  cfg = config.services.restic.server;
+in
+{
+  meta.maintainers = [ maintainers.bachp ];
+
+  options.services.restic.server = {
+    enable = mkEnableOption "Restic REST Server";
+
+    listenAddress = mkOption {
+      default = ":8000";
+      example = "127.0.0.1:8080";
+      type = types.str;
+      description = "Listen on a specific IP address and port.";
+    };
+
+    dataDir = mkOption {
+      default = "/var/lib/restic";
+      type = types.path;
+      description = "The directory for storing the restic repository.";
+    };
+
+    appendOnly = mkOption {
+      default = false;
+      type = types.bool;
+      description = ''
+        Enable append only mode.
+        This mode allows creation of new backups but prevents deletion and modification of existing backups.
+        This can be useful when backing up systems that have a potential of being hacked.
+      '';
+    };
+
+    privateRepos = mkOption {
+      default = false;
+      type = types.bool;
+      description = ''
+        Enable private repos.
+        Grants access only when a subdirectory with the same name as the user is specified in the repository URL.
+      '';
+    };
+
+    prometheus = mkOption {
+      default = false;
+      type = types.bool;
+      description = "Enable Prometheus metrics at /metrics.";
+    };
+
+    extraFlags = mkOption {
+      type = types.listOf types.str;
+      default = [];
+      description = ''
+        Extra commandline options to pass to Restic REST server.
+      '';
+    };
+
+    package = mkOption {
+      default = pkgs.restic-rest-server;
+      defaultText = "pkgs.restic-rest-server";
+      type = types.package;
+      description = "Restic REST server package to use.";
+    };
+  };
+
+  config = mkIf cfg.enable {
+    systemd.services.restic-rest-server = {
+      description = "Restic REST Server";
+      after = [ "network.target" ];
+      wantedBy = [ "multi-user.target" ];
+      serviceConfig = {
+        ExecStart = ''
+          ${cfg.package}/bin/rest-server \
+          --listen ${cfg.listenAddress} \
+          --path ${cfg.dataDir} \
+          ${optionalString cfg.appendOnly "--append-only"} \
+          ${optionalString cfg.privateRepos "--private-repos"} \
+          ${optionalString cfg.prometheus "--prometheus"} \
+          ${escapeShellArgs cfg.extraFlags} \
+        '';
+        Type = "simple";
+        User = "restic";
+        Group = "restic";
+
+        # Security hardening
+        ReadWritePaths = [ cfg.dataDir ];
+        PrivateTmp = true;
+        ProtectSystem = "strict";
+        ProtectKernelTunables = true;
+        ProtectKernelModules = true;
+        ProtectControlGroups = true;
+        PrivateDevices = true;
+      };
+    };
+
+    users.extraUsers.restic = {
+      group = "restic";
+      home = cfg.dataDir;
+      createHome = true;
+      uid = config.ids.uids.restic;
+    };
+
+    users.extraGroups.restic.gid = config.ids.uids.restic;
+  };
+}
diff --git a/nixos/modules/services/backup/restic.nix b/nixos/modules/services/backup/restic.nix
new file mode 100644
index 00000000000..21d82469c60
--- /dev/null
+++ b/nixos/modules/services/backup/restic.nix
@@ -0,0 +1,150 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+{
+  options.services.restic.backups = mkOption {
+    description = ''
+      Periodic backups to create with Restic.
+    '';
+    type = types.attrsOf (types.submodule ({ name, config, ... }: {
+      options = {
+        passwordFile = mkOption {
+          type = types.str;
+          description = ''
+            Read the repository password from a file.
+          '';
+          example = "/etc/nixos/restic-password";
+
+        };
+
+        repository = mkOption {
+          type = types.str;
+          description = ''
+            repository to backup to.
+          '';
+          example = "sftp:backup@192.168.1.100:/backups/${name}";
+        };
+
+        paths = mkOption {
+          type = types.listOf types.str;
+          default = [];
+          description = ''
+            Which paths to backup.
+          '';
+          example = [
+            "/var/lib/postgresql"
+            "/home/user/backup"
+          ];
+        };
+
+        timerConfig = mkOption {
+          type = types.attrsOf types.str;
+          default = {
+            OnCalendar = "daily";
+          };
+          description = ''
+            When to run the backup. See man systemd.timer for details.
+          '';
+          example = {
+            OnCalendar = "00:05";
+            RandomizedDelaySec = "5h";
+          };
+        };
+
+        user = mkOption {
+          type = types.str;
+          default = "root";
+          description = ''
+            As which user the backup should run.
+          '';
+          example = "postgresql";
+        };
+
+        extraBackupArgs = mkOption {
+          type = types.listOf types.str;
+          default = [];
+          description = ''
+            Extra arguments passed to restic backup.
+          '';
+          example = [
+            "--exclude-file=/etc/nixos/restic-ignore"
+          ];
+        };
+
+        extraOptions = mkOption {
+          type = types.listOf types.str;
+          default = [];
+          description = ''
+            Extra extended options to be passed to the restic --option flag.
+          '';
+          example = [
+            "sftp.command='ssh backup@192.168.1.100 -i /home/user/.ssh/id_rsa -s sftp'"
+          ];
+        };
+
+        initialize = mkOption {
+          type = types.bool;
+          default = false;
+          description = ''
+            Create the repository if it doesn't exist.
+          '';
+        };
+      };
+    }));
+    default = {};
+    example = {
+      localbackup = {
+        paths = [ "/home" ];
+        repository = "/mnt/backup-hdd";
+        passwordFile = "/etc/nixos/secrets/restic-password";
+        initialize = true;
+      };
+      remotebackup = {
+        paths = [ "/home" ];
+        repository = "sftp:backup@host:/backups/home";
+        passwordFile = "/etc/nixos/secrets/restic-password";
+        extraOptions = [
+          "sftp.command='ssh backup@host -i /etc/nixos/secrets/backup-private-key -s sftp'"
+        ];
+        timerConfig = {
+          OnCalendar = "00:05";
+          RandomizedDelaySec = "5h";
+        };
+      };
+    };
+  };
+
+  config = {
+    systemd.services =
+      mapAttrs' (name: backup:
+        let
+          extraOptions = concatMapStrings (arg: " -o ${arg}") backup.extraOptions;
+          connectTo = elemAt (splitString ":" backup.repository) 1;
+          resticCmd = "${pkgs.restic}/bin/restic${extraOptions}";
+        in nameValuePair "restic-backups-${name}" ({
+          environment = {
+            RESTIC_PASSWORD_FILE = backup.passwordFile;
+            RESTIC_REPOSITORY = backup.repository;
+          };
+          path = with pkgs; [
+            openssh
+          ];
+          restartIfChanged = false;
+          serviceConfig = {
+            Type = "oneshot";
+            ExecStart = "${resticCmd} backup ${concatStringsSep " " backup.extraBackupArgs} ${concatStringsSep " " backup.paths}";
+            User = backup.user;
+          };
+        } // optionalAttrs backup.initialize {
+          preStart = ''
+            ${resticCmd} snapshots || ${resticCmd} init
+          '';
+        })
+      ) config.services.restic.backups;
+    systemd.timers =
+      mapAttrs' (name: backup: nameValuePair "restic-backups-${name}" {
+        wantedBy = [ "timers.target" ];
+        timerConfig = backup.timerConfig;
+      }) config.services.restic.backups;
+  };
+}
diff --git a/nixos/modules/services/backup/tarsnap.nix b/nixos/modules/services/backup/tarsnap.nix
index 59e9d122fb5..4fc7c24813a 100644
--- a/nixos/modules/services/backup/tarsnap.nix
+++ b/nixos/modules/services/backup/tarsnap.nix
@@ -238,6 +238,20 @@ in
                   Whether to produce verbose logging output.
                 '';
               };
+              explicitSymlinks = mkOption {
+                type = types.bool;
+                default = false;
+                description = ''
+                  Whether to follow symlinks specified as archives.
+                '';
+              };
+              followSymlinks = mkOption {
+                type = types.bool;
+                default = false;
+                description = ''
+                  Whether to follow all symlinks in archive trees.
+                '';
+              };
             };
           }
         ));
@@ -285,12 +299,12 @@ in
         }) gcfg.archives);
 
     systemd.services =
-      mapAttrs' (name: cfg: nameValuePair "tarsnap-${name}" {
+      (mapAttrs' (name: cfg: nameValuePair "tarsnap-${name}" {
         description = "Tarsnap archive '${name}'";
         requires    = [ "network-online.target" ];
         after       = [ "network-online.target" ];
 
-        path = [ pkgs.iputils pkgs.tarsnap pkgs.utillinux ];
+        path = with pkgs; [ iputils tarsnap utillinux ];
 
         # In order for the persistent tarsnap timer to work reliably, we have to
         # make sure that the tarsnap server is reachable after systemd starts up
@@ -300,10 +314,12 @@ in
           while ! ping -q -c 1 v1-0-0-server.tarsnap.com &> /dev/null; do sleep 3; done
         '';
 
-        script =
-          let run = ''tarsnap --configfile "/etc/tarsnap/${name}.conf" \
-                        -c -f "${name}-$(date +"%Y%m%d%H%M%S")" \
+        script = let
+          tarsnap = ''tarsnap --configfile "/etc/tarsnap/${name}.conf"'';
+          run = ''${tarsnap} -c -f "${name}-$(date +"%Y%m%d%H%M%S")" \
                         ${optionalString cfg.verbose "-v"} \
+                        ${optionalString cfg.explicitSymlinks "-H"} \
+                        ${optionalString cfg.followSymlinks "-L"} \
                         ${concatStringsSep " " cfg.directories}'';
           in if (cfg.cachedir != null) then ''
             mkdir -p ${cfg.cachedir}
@@ -313,7 +329,7 @@ in
               if [ ! -e ${cfg.cachedir}/firstrun ]; then
                 ( flock 10
                   flock -u 9
-                  tarsnap --configfile "/etc/tarsnap/${name}.conf" --fsck
+                  ${tarsnap} --fsck
                   flock 9
                 ) 10>${cfg.cachedir}/firstrun
               fi
@@ -329,7 +345,44 @@ in
           CapabilityBoundingSet = [ "CAP_DAC_READ_SEARCH" ];
           PermissionsStartOnly = "true";
         };
-      }) gcfg.archives;
+      }) gcfg.archives) //
+
+      (mapAttrs' (name: cfg: nameValuePair "tarsnap-restore-${name}"{
+        description = "Tarsnap restore '${name}'";
+        requires    = [ "network-online.target" ];
+
+        path = with pkgs; [ iputils tarsnap utillinux ];
+
+        script = let
+          tarsnap = ''tarsnap --configfile "/etc/tarsnap/${name}.conf"'';
+          lastArchive = ''$(${tarsnap} --list-archives | sort | tail -1)'';
+          run = ''${tarsnap} -x -f "${lastArchive}" ${optionalString cfg.verbose "-v"}'';
+
+        in if (cfg.cachedir != null) then ''
+          mkdir -p ${cfg.cachedir}
+          chmod 0700 ${cfg.cachedir}
+
+          ( flock 9
+            if [ ! -e ${cfg.cachedir}/firstrun ]; then
+              ( flock 10
+                flock -u 9
+                ${tarsnap} --fsck
+                flock 9
+              ) 10>${cfg.cachedir}/firstrun
+            fi
+          ) 9>${cfg.cachedir}/lockf
+
+           exec flock ${cfg.cachedir}/firstrun ${run}
+        '' else "exec ${run}";
+
+        serviceConfig = {
+          Type = "oneshot";
+          IOSchedulingClass = "idle";
+          NoNewPrivileges = "true";
+          CapabilityBoundingSet = [ "CAP_DAC_READ_SEARCH" ];
+          PermissionsStartOnly = "true";
+        };
+      }) gcfg.archives);
 
     # Note: the timer must be Persistent=true, so that systemd will start it even
     # if e.g. your laptop was asleep while the latest interval occurred.
diff --git a/nixos/modules/services/backup/znapzend.nix b/nixos/modules/services/backup/znapzend.nix
index 762bb4b3867..3d133f82d20 100644
--- a/nixos/modules/services/backup/znapzend.nix
+++ b/nixos/modules/services/backup/znapzend.nix
@@ -386,7 +386,7 @@ in
           echo Resetting znapzend zetups
           ${pkgs.znapzend}/bin/znapzendzetup list \
             | grep -oP '(?<=\*\*\* backup plan: ).*(?= \*\*\*)' \
-            | xargs ${pkgs.znapzend}/bin/znapzendzetup delete
+            | xargs -I{} ${pkgs.znapzend}/bin/znapzendzetup delete "{}"
         '' + concatStringsSep "\n" (mapAttrsToList (dataset: config: ''
           echo Importing znapzend zetup ${config} for dataset ${dataset}
           ${pkgs.znapzend}/bin/znapzendzetup import --write ${dataset} ${config}
diff --git a/nixos/modules/services/cluster/fleet.nix b/nixos/modules/services/cluster/fleet.nix
deleted file mode 100644
index ec03be39594..00000000000
--- a/nixos/modules/services/cluster/fleet.nix
+++ /dev/null
@@ -1,150 +0,0 @@
-{ config, lib, pkgs, ... }:
-
-with lib;
-
-let
-  cfg = config.services.fleet;
-
-in {
-
-  ##### Interface
-  options.services.fleet = {
-    enable = mkOption {
-      type = types.bool;
-      default = false;
-      description = ''
-        Whether to enable fleet service.
-      '';
-    };
-
-    listen = mkOption {
-      type = types.listOf types.str;
-      default = [ "/var/run/fleet.sock" ];
-      example = [ "/var/run/fleet.sock" "127.0.0.1:49153" ];
-      description = ''
-        Fleet listening addresses.
-      '';
-    };
-
-    etcdServers = mkOption {
-      type = types.listOf types.str;
-      default = [ "http://127.0.0.1:2379" ];
-      description = ''
-        Fleet list of etcd endpoints to use.
-      '';
-    };
-
-    publicIp = mkOption {
-      type = types.nullOr types.str;
-      default = "";
-      description = ''
-        Fleet IP address that should be published with the local Machine's
-        state and any socket information. If not set, fleetd will attempt
-        to detect the IP it should publish based on the machine's IP
-        routing information.
-      '';
-    };
-
-    etcdCafile = mkOption {
-      type = types.nullOr types.path;
-      default = null;
-      description = ''
-        Fleet TLS ca file when SSL certificate authentication is enabled
-        in etcd endpoints.
-      '';
-    };
-
-    etcdKeyfile = mkOption {
-      type = types.nullOr types.path;
-      default = null;
-      description = ''
-        Fleet TLS key file when SSL certificate authentication is enabled
-        in etcd endpoints.
-      '';
-    };
-
-    etcdCertfile = mkOption {
-      type = types.nullOr types.path;
-      default = null;
-      description = ''
-        Fleet TLS cert file when SSL certificate authentication is enabled
-        in etcd endpoints.
-      '';
-    };
-
-    metadata = mkOption {
-      type = types.attrsOf types.str;
-      default = {};
-      apply = attrs: concatMapStringsSep "," (n: "${n}=${attrs."${n}"}") (attrNames attrs);
-      example = literalExample ''
-        {
-          region = "us-west";
-          az = "us-west-1";
-        }
-      '';
-      description = ''
-        Key/value pairs that are published with the local to the fleet registry.
-        This data can be used directly by a client of fleet to make scheduling decisions.
-      '';
-    };
-
-    extraConfig = mkOption {
-      type = types.attrsOf types.str;
-      apply = mapAttrs' (n: v: nameValuePair ("FLEET_" + n) v);
-      default = {};
-      example = literalExample ''
-        {
-          VERBOSITY = 1;
-          ETCD_REQUEST_TIMEOUT = "2.0";
-          AGENT_TTL = "40s";
-        }
-      '';
-      description = ''
-        Fleet extra config. See
-        <link xlink:href="https://github.com/coreos/fleet/blob/master/Documentation/deployment-and-configuration.md"/>
-        for configuration options.
-      '';
-    };
-
-  };
-
-  ##### Implementation
-  config = mkIf cfg.enable {
-    systemd.services.fleet = {
-      description = "Fleet Init System Daemon";
-      wantedBy = [ "multi-user.target" ];
-      after = [ "network.target" "fleet.socket" "etcd.service" "docker.service" ];
-      requires = [ "fleet.socket" ];
-      environment = {
-        FLEET_ETCD_SERVERS = concatStringsSep "," cfg.etcdServers;
-        FLEET_PUBLIC_IP = cfg.publicIp;
-        FLEET_ETCD_CAFILE = cfg.etcdCafile;
-        FLEET_ETCD_KEYFILE = cfg.etcdKeyfile;
-        FLEET_ETCD_CERTFILE = cfg.etcdCertfile;
-        FLEET_METADATA = cfg.metadata;
-      } // cfg.extraConfig;
-      serviceConfig = {
-        ExecStart = "${pkgs.fleet}/bin/fleetd";
-        Group = "fleet";
-      };
-    };
-
-    systemd.sockets.fleet = {
-      description = "Fleet Socket for the API";
-      wantedBy = [ "sockets.target" ];
-      listenStreams = cfg.listen;
-      socketConfig = {
-        ListenStream = "/var/run/fleet.sock";
-        SocketMode = "0660";
-        SocketUser = "root";
-        SocketGroup = "fleet";
-      };
-    };
-
-    services.etcd.enable = mkDefault true;
-    virtualisation.docker.enable = mkDefault true;
-
-    environment.systemPackages = [ pkgs.fleet ];
-    users.extraGroups.fleet.gid = config.ids.gids.fleet;
-  };
-}
diff --git a/nixos/modules/services/cluster/kubernetes/default.nix b/nixos/modules/services/cluster/kubernetes/default.nix
index 4a2c6f0833e..aeb0a0d2432 100644
--- a/nixos/modules/services/cluster/kubernetes/default.nix
+++ b/nixos/modules/services/cluster/kubernetes/default.nix
@@ -279,7 +279,7 @@ in {
       tokenAuthFile = mkOption {
         description = ''
           Kubernetes apiserver token authentication file. See
-          <link xlink:href="http://kubernetes.io/docs/admin/authentication.html"/>
+          <link xlink:href="https://kubernetes.io/docs/admin/authentication.html"/>
         '';
         default = null;
         type = types.nullOr types.path;
@@ -288,7 +288,7 @@ in {
       basicAuthFile = mkOption {
         description = ''
           Kubernetes apiserver basic authentication file. See
-          <link xlink:href="http://kubernetes.io/docs/admin/authentication.html"/>
+          <link xlink:href="https://kubernetes.io/docs/admin/authentication.html"/>
         '';
         default = pkgs.writeText "users" ''
           kubernetes,admin,0
@@ -299,7 +299,7 @@ in {
       authorizationMode = mkOption {
         description = ''
           Kubernetes apiserver authorization mode (AlwaysAllow/AlwaysDeny/ABAC/RBAC). See
-          <link xlink:href="http://kubernetes.io/docs/admin/authorization.html"/>
+          <link xlink:href="https://kubernetes.io/docs/admin/authorization.html"/>
         '';
         default = ["RBAC" "Node"];
         type = types.listOf (types.enum ["AlwaysAllow" "AlwaysDeny" "ABAC" "RBAC" "Node"]);
@@ -308,7 +308,7 @@ in {
       authorizationPolicy = mkOption {
         description = ''
           Kubernetes apiserver authorization policy file. See
-          <link xlink:href="http://kubernetes.io/docs/admin/authorization.html"/>
+          <link xlink:href="https://kubernetes.io/docs/admin/authorization.html"/>
         '';
         default = [];
         type = types.listOf types.attrs;
@@ -332,7 +332,7 @@ in {
       runtimeConfig = mkOption {
         description = ''
           Api runtime configuration. See
-          <link xlink:href="http://kubernetes.io/docs/admin/cluster-management.html"/>
+          <link xlink:href="https://kubernetes.io/docs/admin/cluster-management.html"/>
         '';
         default = "authentication.k8s.io/v1beta1=true";
         example = "api/all=false,api/v1=true";
@@ -342,7 +342,7 @@ in {
       admissionControl = mkOption {
         description = ''
           Kubernetes admission control plugins to use. See
-          <link xlink:href="http://kubernetes.io/docs/admin/admission-controllers/"/>
+          <link xlink:href="https://kubernetes.io/docs/admin/admission-controllers/"/>
         '';
         default = ["NamespaceLifecycle" "LimitRanger" "ServiceAccount" "ResourceQuota" "DefaultStorageClass" "DefaultTolerationSeconds" "NodeRestriction"];
         example = [
@@ -766,7 +766,7 @@ in {
           rm /opt/cni/bin/* || true
           ${concatMapStrings (package: ''
             echo "Linking cni package: ${package}"
-            ln -fs ${package.plugins}/* /opt/cni/bin
+            ln -fs ${package}/bin/* /opt/cni/bin
           '') cfg.kubelet.cni.packages}
         '';
         serviceConfig = {
@@ -828,7 +828,7 @@ in {
       };
 
       # Allways include cni plugins
-      services.kubernetes.kubelet.cni.packages = [pkgs.cni];
+      services.kubernetes.kubelet.cni.packages = [pkgs.cni-plugins];
 
       boot.kernelModules = ["br_netfilter"];
 
diff --git a/nixos/modules/services/cluster/panamax.nix b/nixos/modules/services/cluster/panamax.nix
deleted file mode 100644
index 4475e8d8c24..00000000000
--- a/nixos/modules/services/cluster/panamax.nix
+++ /dev/null
@@ -1,156 +0,0 @@
-{ config, lib, pkgs, ... }:
-
-with lib;
-
-let
-  cfg = config.services.panamax;
-
-  panamax_api = pkgs.panamax_api.override { dataDir = cfg.dataDir + "/api"; };
-  panamax_ui = pkgs.panamax_ui.override { dataDir = cfg.dataDir + "/ui"; };
-
-in {
-
-  ##### Interface
-  options.services.panamax = {
-    enable = mkOption {
-      type = types.bool;
-      default = false;
-      description = ''
-        Whether to enable Panamax service.
-      '';
-    };
-
-    UIPort = mkOption {
-      type = types.int;
-      default = 8888;
-      description = ''
-        Panamax UI listening port.
-      '';
-    };
-
-    APIPort = mkOption {
-      type = types.int;
-      default = 3000;
-      description = ''
-        Panamax UI listening port.
-      '';
-    };
-
-    dataDir = mkOption {
-      type = types.str;
-      default = "/var/lib/panamax";
-      description = ''
-        Data dir for Panamax.
-      '';
-    };
-
-    fleetctlEndpoint = mkOption {
-      type = types.str;
-      default = "http://127.0.0.1:2379";
-      description = ''
-        Panamax fleetctl endpoint.
-      '';
-    };
-
-    journalEndpoint = mkOption {
-      type = types.str;
-      default = "http://127.0.0.1:19531";
-      description = ''
-        Panamax journal endpoint.
-      '';
-    };
-
-    secretKey = mkOption {
-      type = types.str;
-      default = "SomethingVeryLong.";
-      description = ''
-        Panamax secret key (do change this).
-      '';
-    };
-
-  };
-
-  ##### Implementation
-  config = mkIf cfg.enable {
-    systemd.services.panamax-api = {
-      description = "Panamax API";
-
-      wantedBy = [ "multi-user.target" ];
-      after = [ "network.target" "fleet.service" "etcd.service" "docker.service" ];
-
-      path = [ panamax_api ];
-      environment = {
-        RAILS_ENV = "production";
-        JOURNAL_ENDPOINT = cfg.journalEndpoint;
-        FLEETCTL_ENDPOINT = cfg.fleetctlEndpoint;
-        PANAMAX_DATABASE_PATH = "${cfg.dataDir}/api/db/mnt/db.sqlite3";
-      };
-
-      preStart = ''
-        rm -rf ${cfg.dataDir}/state/tmp
-        mkdir -p ${cfg.dataDir}/api/{db/mnt,state/log,state/tmp}
-        ln -sf ${panamax_api}/share/panamax-api/_db/{schema.rb,seeds.rb,migrate} ${cfg.dataDir}/api/db/
-
-        if [ ! -f ${cfg.dataDir}/.created ]; then
-          bundle exec rake db:setup
-          bundle exec rake db:seed
-          bundle exec rake panamax:templates:load || true
-          touch ${cfg.dataDir}/.created
-        else
-          bundle exec rake db:migrate
-        fi
-      '';
-
-      serviceConfig = {
-        ExecStart = "${panamax_api}/bin/bundle exec rails server --binding 127.0.0.1 --port ${toString cfg.APIPort}";
-        User = "panamax";
-        Group = "panamax";
-      };
-    };
-
-    systemd.services.panamax-ui = {
-      description = "Panamax UI";
-
-      wantedBy = [ "multi-user.target" ];
-      after = [ "network.target" "panamax_api.service" ];
-
-      path = [ panamax_ui ];
-      environment = {
-        RAILS_ENV = "production";
-        JOURNAL_ENDPOINT = cfg.journalEndpoint;
-        PMX_API_PORT_3000_TCP_ADDR = "localhost";
-        PMX_API_PORT_3000_TCP_PORT = toString cfg.APIPort;
-        SECRET_KEY_BASE = cfg.secretKey;
-      };
-
-      preStart = ''
-        mkdir -p ${cfg.dataDir}/ui/state/{log,tmp}
-        chown -R panamax:panamax ${cfg.dataDir}
-      '';
-
-      serviceConfig = {
-        ExecStart = "${panamax_ui}/bin/bundle exec rails server --binding 127.0.0.1 --port ${toString cfg.UIPort}";
-        User = "panamax";
-        Group = "panamax";
-        PermissionsStartOnly = true;
-      };
-    };
-
-    users.extraUsers.panamax =
-    { uid = config.ids.uids.panamax;
-      description = "Panamax user";
-      createHome = true;
-      home = cfg.dataDir;
-      extraGroups = [ "docker" ];
-    };
-
-    services.journald.enableHttpGateway = mkDefault true;
-    services.fleet.enable = mkDefault true;
-    services.cadvisor.enable = mkDefault true;
-    services.cadvisor.port = mkDefault 3002;
-    virtualisation.docker.enable = mkDefault true;
-
-    environment.systemPackages = [ panamax_api panamax_ui ];
-    users.extraGroups.panamax.gid = config.ids.gids.panamax;
-  };
-}
diff --git a/nixos/modules/services/computing/boinc/client.nix b/nixos/modules/services/computing/boinc/client.nix
index e43b6bbb253..8abe3c5b8c9 100644
--- a/nixos/modules/services/computing/boinc/client.nix
+++ b/nixos/modules/services/computing/boinc/client.nix
@@ -6,6 +6,13 @@ let
   cfg = config.services.boinc;
   allowRemoteGuiRpcFlag = optionalString cfg.allowRemoteGuiRpc "--allow_remote_gui_rpc";
 
+  fhsEnv = pkgs.buildFHSUserEnv {
+    name = "boinc-fhs-env";
+    targetPkgs = pkgs': [ cfg.package ] ++ cfg.extraEnvPackages;
+    runScript = "/bin/boinc_client";
+  };
+  fhsEnvExecutable = "${fhsEnv}/bin/${fhsEnv.name}";
+
 in
   {
     options.services.boinc = {
@@ -49,6 +56,43 @@ in
           See also: <link xlink:href="http://boinc.berkeley.edu/wiki/Controlling_BOINC_remotely#Remote_access"/>
         '';
       };
+
+      extraEnvPackages = mkOption {
+        type = types.listOf types.package;
+        default = [];
+        example = "[ pkgs.virtualbox ]";
+        description = ''
+          Additional packages to make available in the environment in which
+          BOINC will run. Common choices are:
+          <variablelist>
+            <varlistentry>
+              <term><varname>pkgs.virtualbox</varname></term>
+              <listitem><para>
+                The VirtualBox virtual machine framework. Required by some BOINC
+                projects, such as ATLAS@home.
+              </para></listitem>
+            </varlistentry>
+            <varlistentry>
+              <term><varname>pkgs.ocl-icd</varname></term>
+              <listitem><para>
+                OpenCL infrastructure library. Required by BOINC projects that
+                use OpenCL, in addition to a device-specific OpenCL driver.
+              </para></listitem>
+            </varlistentry>
+            <varlistentry>
+              <term><varname>pkgs.linuxPackages.nvidia_x11</varname></term>
+              <listitem><para>
+                Provides CUDA libraries. Required by BOINC projects that use
+                CUDA. Note that this requires an NVIDIA graphics device to be
+                present on the system.
+              </para><para>
+                Also provides OpenCL drivers for NVIDIA GPUs;
+                <varname>pkgs.ocl-icd</varname> is also needed in this case.
+              </para></listitem>
+            </varlistentry>
+          </variablelist>
+        '';
+      };
     };
 
     config = mkIf cfg.enable {
@@ -70,7 +114,7 @@ in
           chown boinc ${cfg.dataDir}
         '';
         script = ''
-          ${cfg.package}/bin/boinc_client --dir ${cfg.dataDir} --redirectio ${allowRemoteGuiRpcFlag}
+          ${fhsEnvExecutable} --dir ${cfg.dataDir} --redirectio ${allowRemoteGuiRpcFlag}
         '';
         serviceConfig = {
           PermissionsStartOnly = true; # preStart must be run as root
diff --git a/nixos/modules/services/continuous-integration/buildkite-agent.nix b/nixos/modules/services/continuous-integration/buildkite-agent.nix
index 0a0c9f665d2..d647b7b9fa4 100644
--- a/nixos/modules/services/continuous-integration/buildkite-agent.nix
+++ b/nixos/modules/services/continuous-integration/buildkite-agent.nix
@@ -17,8 +17,8 @@ let
 
   hooksDir = let
     mkHookEntry = name: value: ''
-      cat > $out/${name} <<EOF
-      #! ${pkgs.stdenv.shell}
+      cat > $out/${name} <<'EOF'
+      #! ${pkgs.runtimeShell}
       set -e
       ${value}
       EOF
diff --git a/nixos/modules/services/continuous-integration/jenkins/default.nix b/nixos/modules/services/continuous-integration/jenkins/default.nix
index 54047a50caa..c2f4e9c0c5a 100644
--- a/nixos/modules/services/continuous-integration/jenkins/default.nix
+++ b/nixos/modules/services/continuous-integration/jenkins/default.nix
@@ -145,6 +145,11 @@ in {
   };
 
   config = mkIf cfg.enable {
+    # server references the dejavu fonts
+    environment.systemPackages = [
+      pkgs.dejavu_fonts
+    ];
+
     users.extraGroups = optional (cfg.group == "jenkins") {
       name = "jenkins";
       gid = config.ids.gids.jenkins;
@@ -200,10 +205,12 @@ in {
           ${replacePlugins}
         '';
 
+      # For reference: https://wiki.jenkins.io/display/JENKINS/JenkinsLinuxStartupScript
       script = ''
         ${pkgs.jdk}/bin/java ${concatStringsSep " " cfg.extraJavaOptions} -jar ${cfg.package}/webapps/jenkins.war --httpListenAddress=${cfg.listenAddress} \
                                                   --httpPort=${toString cfg.port} \
                                                   --prefix=${cfg.prefix} \
+                                                  -Djava.awt.headless=true \
                                                   ${concatStringsSep " " cfg.extraOptions}
       '';
 
diff --git a/nixos/modules/services/databases/4store-endpoint.nix b/nixos/modules/services/databases/4store-endpoint.nix
index 906cb320df9..d528355671f 100644
--- a/nixos/modules/services/databases/4store-endpoint.nix
+++ b/nixos/modules/services/databases/4store-endpoint.nix
@@ -2,7 +2,7 @@
 let
   cfg = config.services.fourStoreEndpoint;
   endpointUser = "fourstorehttp";
-  run = "${pkgs.su}/bin/su -s ${pkgs.stdenv.shell} ${endpointUser} -c";
+  run = "${pkgs.su}/bin/su -s ${pkgs.runtimeShell} ${endpointUser} -c";
 in
 with lib;
 {
diff --git a/nixos/modules/services/databases/4store.nix b/nixos/modules/services/databases/4store.nix
index 62856822f90..abb62e1f263 100644
--- a/nixos/modules/services/databases/4store.nix
+++ b/nixos/modules/services/databases/4store.nix
@@ -3,7 +3,7 @@ let
   cfg = config.services.fourStore;
   stateDir = "/var/lib/4store";
   fourStoreUser = "fourstore";
-  run = "${pkgs.su}/bin/su -s ${pkgs.stdenv.shell} ${fourStoreUser}";
+  run = "${pkgs.su}/bin/su -s ${pkgs.runtimeShell} ${fourStoreUser}";
 in
 with lib;
 {
diff --git a/nixos/modules/services/databases/foundationdb.nix b/nixos/modules/services/databases/foundationdb.nix
new file mode 100644
index 00000000000..693d2fde991
--- /dev/null
+++ b/nixos/modules/services/databases/foundationdb.nix
@@ -0,0 +1,416 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+  cfg = config.services.foundationdb;
+  pkg = cfg.package;
+
+  # used for initial cluster configuration
+  initialIpAddr = if (cfg.publicAddress != "auto") then cfg.publicAddress else "127.0.0.1";
+
+  fdbServers = n:
+    concatStringsSep "\n" (map (x: "[fdbserver.${toString (x+cfg.listenPortStart)}]") (range 0 (n - 1)));
+
+  backupAgents = n:
+    concatStringsSep "\n" (map (x: "[backup_agent.${toString x}]") (range 1 n));
+
+  configFile = pkgs.writeText "foundationdb.conf" ''
+    [general]
+    cluster_file  = /etc/foundationdb/fdb.cluster
+
+    [fdbmonitor]
+    restart_delay = ${toString cfg.restartDelay}
+    user          = ${cfg.user}
+    group         = ${cfg.group}
+
+    [fdbserver]
+    command        = ${pkg}/bin/fdbserver
+    public_address = ${cfg.publicAddress}:$ID
+    listen_address = ${cfg.listenAddress}
+    datadir        = ${cfg.dataDir}/$ID
+    logdir         = ${cfg.logDir}
+    logsize        = ${cfg.logSize}
+    maxlogssize    = ${cfg.maxLogSize}
+    ${optionalString (cfg.class != null) "class = ${cfg.class}"}
+    memory         = ${cfg.memory}
+    storage_memory = ${cfg.storageMemory}
+
+    ${optionalString (cfg.tls != null) ''
+      tls_plugin           = ${pkg}/libexec/plugins/FDBLibTLS.so
+      tls_certificate_file = ${cfg.tls.certificate}
+      tls_key_file         = ${cfg.tls.key}
+      tls_verify_peers     = ${cfg.tls.allowedPeers}
+    ''}
+
+    ${optionalString (cfg.locality.machineId    != null) "locality_machineid=${cfg.locality.machineId}"}
+    ${optionalString (cfg.locality.zoneId       != null) "locality_zoneid=${cfg.locality.zoneId}"}
+    ${optionalString (cfg.locality.datacenterId != null) "locality_dcid=${cfg.locality.datacenterId}"}
+    ${optionalString (cfg.locality.dataHall     != null) "locality_data_hall=${cfg.locality.dataHall}"}
+
+    ${fdbServers cfg.serverProcesses}
+
+    [backup_agent]
+    command = ${pkg}/libexec/backup_agent
+    ${backupAgents cfg.backupProcesses}
+  '';
+in
+{
+  options.services.foundationdb = {
+
+    enable = mkEnableOption "FoundationDB Server";
+
+    package = mkOption {
+      type        = types.package;
+      description = ''
+        The FoundationDB package to use for this server. This must be specified by the user
+        in order to ensure migrations and upgrades are controlled appropriately.
+      '';
+    };
+
+    publicAddress = mkOption {
+      type        = types.str;
+      default     = "auto";
+      description = "Publicly visible IP address of the process. Port is determined by process ID";
+    };
+
+    listenAddress = mkOption {
+      type        = types.str;
+      default     = "public";
+      description = "Publicly visible IP address of the process. Port is determined by process ID";
+    };
+
+    listenPortStart = mkOption {
+      type          = types.int;
+      default       = 4500;
+      description   = ''
+        Starting port number for database listening sockets. Every FDB process binds to a
+        subsequent port, to this number reflects the start of the overall range. e.g. having
+        8 server processes will use all ports between 4500 and 4507.
+      '';
+    };
+
+    openFirewall = mkOption {
+      type        = types.bool;
+      default     = false;
+      description = ''
+        Open the firewall ports corresponding to FoundationDB processes and coordinators
+        using <option>config.networking.firewall.*</option>.
+      '';
+    };
+
+    dataDir = mkOption {
+      type        = types.path;
+      default     = "/var/lib/foundationdb";
+      description = "Data directory. All cluster data will be put under here.";
+    };
+
+    logDir = mkOption {
+      type        = types.path;
+      default     = "/var/log/foundationdb";
+      description = "Log directory.";
+    };
+
+    user = mkOption {
+      type        = types.str;
+      default     = "foundationdb";
+      description = "User account under which FoundationDB runs.";
+    };
+
+    group = mkOption {
+      type        = types.str;
+      default     = "foundationdb";
+      description = "Group account under which FoundationDB runs.";
+    };
+
+    class = mkOption {
+      type        = types.nullOr (types.enum [ "storage" "transaction" "stateless" ]);
+      default     = null;
+      description = "Process class";
+    };
+
+    restartDelay = mkOption {
+      type = types.int;
+      default = 10;
+      description = "Number of seconds to wait before restarting servers.";
+    };
+
+    logSize = mkOption {
+      type        = types.string;
+      default     = "10MiB";
+      description = ''
+        Roll over to a new log file after the current log file
+        reaches the specified size.
+      '';
+    };
+
+    maxLogSize = mkOption {
+      type        = types.string;
+      default     = "100MiB";
+      description = ''
+        Delete the oldest log file when the total size of all log
+        files exceeds the specified size. If set to 0, old log files
+        will not be deleted.
+      '';
+    };
+
+    serverProcesses = mkOption {
+      type = types.int;
+      default = 1;
+      description = "Number of fdbserver processes to run.";
+    };
+
+    backupProcesses = mkOption {
+      type = types.int;
+      default = 1;
+      description = "Number of backup_agent processes to run for snapshots.";
+    };
+
+    memory = mkOption {
+      type        = types.string;
+      default     = "8GiB";
+      description = ''
+        Maximum memory used by the process. The default value is
+        <literal>8GiB</literal>. When specified without a unit,
+        <literal>MiB</literal> is assumed. This parameter does not
+        change the memory allocation of the program. Rather, it sets
+        a hard limit beyond which the process will kill itself and
+        be restarted. The default value of <literal>8GiB</literal>
+        is double the intended memory usage in the default
+        configuration (providing an emergency buffer to deal with
+        memory leaks or similar problems). It is not recommended to
+        decrease the value of this parameter below its default
+        value. It may be increased if you wish to allocate a very
+        large amount of storage engine memory or cache. In
+        particular, when the <literal>storageMemory</literal>
+        parameter is increased, the <literal>memory</literal>
+        parameter should be increased by an equal amount.
+      '';
+    };
+
+    storageMemory = mkOption {
+      type        = types.string;
+      default     = "1GiB";
+      description = ''
+        Maximum memory used for data storage. The default value is
+        <literal>1GiB</literal>. When specified without a unit,
+        <literal>MB</literal> is assumed. Clusters using the memory
+        storage engine will be restricted to using this amount of
+        memory per process for purposes of data storage. Memory
+        overhead associated with storing the data is counted against
+        this total. If you increase the
+        <literal>storageMemory</literal>, you should also increase
+        the <literal>memory</literal> parameter by the same amount.
+      '';
+    };
+
+    tls = mkOption {
+      default = null;
+      description = ''
+        FoundationDB Transport Security Layer (TLS) settings.
+      '';
+
+      type = types.nullOr (types.submodule ({
+        options = {
+          certificate = mkOption {
+            type = types.str;
+            description = ''
+              Path to the TLS certificate file. This certificate will
+              be offered to, and may be verified by, clients.
+            '';
+          };
+
+          key = mkOption {
+            type = types.str;
+            description = "Private key file for the certificate.";
+          };
+
+          allowedPeers = mkOption {
+            type = types.str;
+            default = "Check.Valid=1,Check.Unexpired=1";
+            description = ''
+	      "Peer verification string". This may be used to adjust which TLS
+              client certificates a server will accept, as a form of user
+              authorization; for example, it may only accept TLS clients who
+              offer a certificate abiding by some locality or organization name.
+
+              For more information, please see the FoundationDB documentation.
+            '';
+          };
+        };
+      }));
+    };
+
+    locality = mkOption {
+      default = {
+        machineId    = null;
+        zoneId       = null;
+        datacenterId = null;
+        dataHall     = null;
+      };
+
+      description = ''
+        FoundationDB locality settings.
+      '';
+
+      type = types.submodule ({
+        options = {
+          machineId = mkOption {
+            default = null;
+            type = types.nullOr types.str;
+            description = ''
+              Machine identifier key. All processes on a machine should share a
+              unique id. By default, processes on a machine determine a unique id to share.
+              This does not generally need to be set.
+            '';
+          };
+
+          zoneId = mkOption {
+            default = null;
+            type = types.nullOr types.str;
+            description = ''
+              Zone identifier key. Processes that share a zone id are
+              considered non-unique for the purposes of data replication.
+              If unset, defaults to machine id.
+            '';
+          };
+
+          datacenterId = mkOption {
+            default = null;
+            type = types.nullOr types.str;
+            description = ''
+              Data center identifier key. All processes physically located in a
+              data center should share the id. If you are depending on data
+              center based replication this must be set on all processes.
+            '';
+          };
+
+          dataHall = mkOption {
+            default = null;
+            type = types.nullOr types.str;
+            description = ''
+              Data hall identifier key. All processes physically located in a
+              data hall should share the id. If you are depending on data
+              hall based replication this must be set on all processes.
+            '';
+          };
+        };
+      });
+    };
+
+    extraReadWritePaths = mkOption {
+      default = [ ];
+      type = types.listOf types.path;
+      description = ''
+        An extra set of filesystem paths that FoundationDB can read to
+        and write from. By default, FoundationDB runs under a heavily
+        namespaced systemd environment without write access to most of
+        the filesystem outside of its data and log directories. By
+        adding paths to this list, the set of writeable paths will be
+        expanded. This is useful for allowing e.g. backups to local files,
+        which must be performed on behalf of the foundationdb service.
+      '';
+    };
+
+    pidfile = mkOption {
+      type        = types.path;
+      default     = "/run/foundationdb.pid";
+      description = "Path to pidfile for fdbmonitor.";
+    };
+  };
+
+  config = mkIf cfg.enable {
+    meta.doc         = ./foundationdb.xml;
+    meta.maintainers = with lib.maintainers; [ thoughtpolice ];
+
+    environment.systemPackages = [ pkg ];
+
+    users.extraUsers = optionalAttrs (cfg.user == "foundationdb") (singleton
+      { name        = "foundationdb";
+        description = "FoundationDB User";
+        uid         = config.ids.uids.foundationdb;
+        group       = cfg.group;
+      });
+
+    users.extraGroups = optionalAttrs (cfg.group == "foundationdb") (singleton
+      { name = "foundationdb";
+        gid  = config.ids.gids.foundationdb;
+      });
+
+    networking.firewall.allowedTCPPortRanges = mkIf cfg.openFirewall
+      [ { from = cfg.listenPortStart;
+          to = (cfg.listenPortStart + cfg.serverProcesses) - 1;
+        }
+      ];
+
+    systemd.services.foundationdb = {
+      description             = "FoundationDB Service";
+
+      after                   = [ "network.target" ];
+      wantedBy                = [ "multi-user.target" ];
+      unitConfig =
+        { RequiresMountsFor = "${cfg.dataDir} ${cfg.logDir}";
+        };
+
+      serviceConfig =
+        let rwpaths = [ cfg.dataDir cfg.logDir cfg.pidfile "/etc/foundationdb" ]
+                   ++ cfg.extraReadWritePaths;
+        in
+        { Type       = "simple";
+          Restart    = "always";
+          RestartSec = 5;
+          User       = cfg.user;
+          Group      = cfg.group;
+          PIDFile    = "${cfg.pidfile}";
+
+          PermissionsStartOnly = true;  # setup needs root perms
+          TimeoutSec           = 120;   # give reasonable time to shut down
+
+          # Security options
+          NoNewPrivileges       = true;
+          ProtectHome           = true;
+          ProtectSystem         = "strict";
+          ProtectKernelTunables = true;
+          ProtectControlGroups  = true;
+          PrivateTmp            = true;
+          PrivateDevices        = true;
+          ReadWritePaths        = lib.concatStringsSep " " (map (x: "-" + x) rwpaths);
+        };
+
+      path = [ pkg pkgs.coreutils ];
+
+      preStart = ''
+        rm -f ${cfg.pidfile}   && \
+          touch ${cfg.pidfile} && \
+          chown -R ${cfg.user}:${cfg.group} ${cfg.pidfile}
+
+        for x in "${cfg.logDir}" "${cfg.dataDir}"; do
+          [ ! -d "$x" ] && mkdir -m 0700 -vp "$x";
+          chown -R ${cfg.user}:${cfg.group} "$x";
+        done
+
+        [ ! -d /etc/foundationdb ] && \
+          mkdir -m 0775 -vp /etc/foundationdb && \
+          chown -R ${cfg.user}:${cfg.group} "/etc/foundationdb"
+
+        if [ ! -f /etc/foundationdb/fdb.cluster ]; then
+            cf=/etc/foundationdb/fdb.cluster
+            desc=$(tr -dc A-Za-z0-9 </dev/urandom 2>/dev/null | head -c8)
+            rand=$(tr -dc A-Za-z0-9 </dev/urandom 2>/dev/null | head -c8)
+            echo ''${desc}:''${rand}@${initialIpAddr}:${builtins.toString cfg.listenPortStart} > $cf
+            chmod 0664 $cf && chown -R ${cfg.user}:${cfg.group} $cf
+            touch "${cfg.dataDir}/.first_startup"
+        fi
+      '';
+
+      script = "exec fdbmonitor --lockfile ${cfg.pidfile} --conffile ${configFile}";
+
+      postStart = ''
+        if [ -e "${cfg.dataDir}/.first_startup" ]; then
+          fdbcli --exec "configure new single memory"
+          rm -f "${cfg.dataDir}/.first_startup";
+        fi
+      '';
+    };
+  };
+}
diff --git a/nixos/modules/services/databases/foundationdb.xml b/nixos/modules/services/databases/foundationdb.xml
new file mode 100644
index 00000000000..def9cc43669
--- /dev/null
+++ b/nixos/modules/services/databases/foundationdb.xml
@@ -0,0 +1,322 @@
+<chapter xmlns="http://docbook.org/ns/docbook"
+         xmlns:xlink="http://www.w3.org/1999/xlink"
+         xmlns:xi="http://www.w3.org/2001/XInclude"
+         version="5.0"
+         xml:id="module-foundationdb">
+
+<title>FoundationDB</title>
+
+<para><emphasis>Source:</emphasis> <filename>modules/services/databases/foundationdb.nix</filename></para>
+
+<para><emphasis>Upstream documentation:</emphasis> <link xlink:href="https://apple.github.io/foundationdb/"/></para>
+
+<para><emphasis>Maintainer:</emphasis> Austin Seipp</para>
+
+<para><emphasis>Available version(s):</emphasis> 5.1.x</para>
+
+<para>FoundationDB (or "FDB") is a distributed, open source, high performance,
+transactional key-value store. It can store petabytes of data and deliver
+exceptional performance while maintaining consistency and ACID semantics
+(serializable transactions) over a large cluster.</para>
+
+<section><title>Configuring and basic setup</title>
+
+<para>To enable FoundationDB, add the following to your
+<filename>configuration.nix</filename>:
+
+<programlisting>
+services.foundationdb.enable = true;
+services.foundationdb.package = pkgs.foundationdb51; # FoundationDB 5.1.x
+</programlisting>
+</para>
+
+<para>The <option>services.foundationdb.package</option> option is required,
+and must always be specified. Because FoundationDB network protocols and
+on-disk storage formats may change between (major) versions, and upgrades must
+be explicitly handled by the user, you must always manually specify this
+yourself so that the NixOS module will use the proper version. Note that minor,
+bugfix releases are always compatible.</para>
+
+<para>After running <command>nixos-rebuild</command>, you can verify whether
+FoundationDB is running by executing <command>fdbcli</command> (which is added
+to <option>environment.systemPackages</option>):
+
+<programlisting>
+$ sudo -u foundationdb fdbcli
+Using cluster file `/etc/foundationdb/fdb.cluster'.
+
+The database is available.
+
+Welcome to the fdbcli. For help, type `help'.
+fdb> status
+
+Using cluster file `/etc/foundationdb/fdb.cluster'.
+
+Configuration:
+  Redundancy mode        - single
+  Storage engine         - memory
+  Coordinators           - 1
+
+Cluster:
+  FoundationDB processes - 1
+  Machines               - 1
+  Memory availability    - 5.4 GB per process on machine with least available
+  Fault Tolerance        - 0 machines
+  Server time            - 04/20/18 15:21:14
+
+...
+
+fdb>
+</programlisting>
+</para>
+
+<para>FoundationDB is run under the <command>foundationdb</command> user and
+group by default, but this may be changed in the NixOS configuration. The
+systemd unit <command>foundationdb.service</command> controls the
+<command>fdbmonitor</command> process.</para>
+
+<para>By default, the NixOS module for FoundationDB creates a single
+SSD-storage based database for development and basic usage. This storage engine
+is designed for SSDs and will perform poorly on HDDs; however it can handle far
+more data than the alternative "memory" engine and is a better default choice
+for most deployments. (Note that you can change the storage backend on-the-fly
+for a given FoundationDB cluster using <command>fdbcli</command>.)</para>
+
+<para>Furthermore, only 1 server process and 1 backup agent are started in the
+default configuration. See below for more on scaling to increase this.</para>
+
+<para>FoundationDB stores all data for all server processes under
+<filename>/var/lib/foundationdb</filename>. You can override this using
+<option>services.foundationdb.dataDir</option>, e.g.
+
+<programlisting>
+services.foundationdb.dataDir = "/data/fdb";
+</programlisting>
+
+</para>
+
+<para>Similarly, logs are stored under
+<filename>/var/log/foundationdb</filename> by default, and there is a
+corresponding <option>services.foundationdb.logDir</option> as well.</para>
+
+</section>
+
+<section><title>Scaling processes and backup agents</title>
+
+<para>Scaling the number of server processes is quite easy; simply specify
+<option>services.foundationdb.serverProcesses</option> to be the number of
+FoundationDB worker processes that should be started on the machine.</para>
+
+<para>FoundationDB worker processes typically require 4GB of RAM per-process at
+minimum for good performance, so this option is set to 1 by default since the
+maximum amount of RAM is unknown. You're advised to abide by this restriction,
+so pick a number of processes so that each has 4GB or more.</para>
+
+<para>A similar option exists in order to scale backup agent processes,
+<option>services.foundationdb.backupProcesses</option>. Backup agents are not
+as performance/RAM sensitive, so feel free to experiment with the number of
+available backup processes.</para>
+
+</section>
+
+<section><title>Clustering</title>
+
+<para>FoundationDB on NixOS works similarly to other Linux systems, so this
+section will be brief. Please refer to the full FoundationDB documentation for
+more on clustering.</para>
+
+<para>FoundationDB organizes clusters using a set of
+<emphasis>coordinators</emphasis>, which are just specially-designated worker
+processes. By default, every installation of FoundationDB on NixOS will start
+as its own individual cluster, with a single coordinator: the first worker
+process on <command>localhost</command>.</para>
+
+<para>Coordinators are specified globally using the
+<command>/etc/foundationdb/fdb.cluster</command> file, which all servers and
+client applications will use to find and join coordinators. Note that this file
+<emphasis>can not</emphasis> be managed by NixOS so easily: FoundationDB is
+designed so that it will rewrite the file at runtime for all clients and nodes
+when cluster coordinators change, with clients transparently handling this
+without intervention. It is fundamentally a mutable file, and you should not
+try to manage it in any way in NixOS.</para>
+
+<para>When dealing with a cluster, there are two main things you want to
+do:</para>
+
+<itemizedlist>
+  <listitem><para>Add a node to the cluster for storage/compute.</para></listitem>
+  <listitem><para>Promote an ordinary worker to a coordinator.</para></listitem>
+</itemizedlist>
+
+<para>A node must already be a member of the cluster in order to properly be
+promoted to a coordinator, so you must always add it first if you wish to
+promote it.</para>
+
+<para>To add a machine to a FoundationDB cluster:</para>
+
+<itemizedlist>
+  <listitem><para>Choose one of the servers to start as the initial coordinator.
+      </para></listitem>
+  <listitem><para>Copy the <command>/etc/foundationdb/fdb.cluster</command> file
+      from this server to all the other servers. Restart FoundationDB on all of
+      these other servers, so they join the cluster.</para></listitem>
+  <listitem><para>All of these servers are now connected and working together
+      in the cluster, under the chosen coordinator.</para></listitem>
+</itemizedlist>
+
+<para>At this point, you can add as many nodes as you want by just repeating
+the above steps. By default there will still be a single coordinator: you can
+use <command>fdbcli</command> to change this and add new coordinators.</para>
+
+<para>As a convenience, FoundationDB can automatically assign coordinators
+based on the redundancy mode you wish to achieve for the cluster. Once all the
+nodes have been joined, simply set the replication policy, and then issue the
+<command>coordinators auto</command> command</para>
+
+<para>For example, assuming we have 3 nodes available, we can enable double
+redundancy mode, then auto-select coordinators. For double redundancy, 3
+coordinators is ideal: therefore FoundationDB will make
+<emphasis>every</emphasis> node a coordinator automatically:</para>
+
+<programlisting>
+fdbcli> configure double ssd
+fdbcli> coordinators auto
+</programlisting>
+
+<para>This will transparently update all the servers within seconds, and
+appropriately rewrite the <command>fdb.cluster</command> file, as well as
+informing all client processes to do the same.</para>
+
+</section>
+
+<section><title>Client connectivity</title>
+
+<para>By default, all clients must use the current
+<command>fdb.cluster</command> file to access a given FoundationDB cluster.
+This file is located by default in
+<command>/etc/foundationdb/fdb.cluster</command> on all machines with the
+FoundationDB service enabled, so you may copy the active one from your cluster
+to a new node in order to connect, if it is not part of the cluster.</para>
+
+</section>
+
+<section><title>Client authorization and TLS</title>
+
+<para>By default, any user who can connect to a FoundationDB process with the
+correct cluster configuration can access anything. FoundationDB uses a
+pluggable design to transport security, and out of the box it supports a
+LibreSSL-based plugin for TLS support. This plugin not only does in-flight
+encryption, but also performs client authorization based on the given
+endpoint's certificate chain. For example, a FoundationDB server may be
+configured to only accept client connections over TLS, where the client TLS
+certificate is from organization <emphasis>Acme Co</emphasis> in the
+<emphasis>Research and Development</emphasis> unit.</para>
+
+<para>Configuring TLS with FoundationDB is done using the
+<option>services.foundationdb.tls</option> options in order to control the peer
+verification string, as well as the certificate and its private key.</para>
+
+<para>Note that the certificate and its private key must be accessible to the
+FoundationDB user account that the server runs under. These files are also NOT
+managed by NixOS, as putting them into the store may reveal private
+information.</para>
+
+<para>After you have a key and certificate file in place, it is not enough to
+simply set the NixOS module options -- you must also configure the
+<command>fdb.cluster</command> file to specify that a given set of coordinators
+use TLS. This is as simple as adding the suffix <command>:tls</command> to your
+cluster coordinator configuration, after the port number. For example, assuming
+you have a coordinator on localhost with the default configuration, simply
+specifying:</para>
+
+<programlisting>
+XXXXXX:XXXXXX@127.0.0.1:4500:tls
+</programlisting>
+
+<para>will configure all clients and server processes to use TLS from now
+on.</para>
+
+</section>
+
+<section><title>Backups and Disaster Recovery</title>
+
+<para>The usual rules for doing FoundationDB backups apply on NixOS as written
+in the FoundationDB manual. However, one important difference is the security
+profile for NixOS: by default, the <command>foundationdb</command> systemd unit
+uses <emphasis>Linux namespaces</emphasis> to restrict write access to the
+system, except for the log directory, data directory, and the
+<command>/etc/foundationdb/</command> directory. This is enforced by default
+and cannot be disabled.</para>
+
+<para>However, a side effect of this is that the <command>fdbbackup</command>
+command doesn't work properly for local filesystem backups: FoundationDB uses a
+server process alongside the database processes to perform backups and copy the
+backups to the filesystem. As a result, this process is put under the
+restricted namespaces above: the backup process can only write to a limited
+number of paths.</para>
+
+<para>In order to allow flexible backup locations on local disks, the
+FoundationDB NixOS module supports a
+<option>services.foundationdb.extraReadWritePaths</option> option. This option
+takes a list of paths, and adds them to the systemd unit, allowing the
+processes inside the service to write (and read) the specified
+directories.</para>
+
+<para>For example, to create backups in <command>/opt/fdb-backups</command>,
+first set up the paths in the module options:</para>
+
+<programlisting>
+services.foundationdb.extraReadWritePaths = [ "/opt/fdb-backups" ];
+</programlisting>
+
+<para>Restart the FoundationDB service, and it will now be able to write to
+this directory (even if it does not yet exist.) Note: this path
+<emphasis>must</emphasis> exist before restarting the unit. Otherwise, systemd
+will not include it in the private FoundationDB namespace (and it will not add
+it dynamically at runtime).</para>
+
+<para>You can now perform a backup:</para>
+
+<programlisting>
+$ sudo -u foundationdb fdbbackup start  -t default -d file:///opt/fdb-backups
+$ sudo -u foundationdb fdbbackup status -t default
+</programlisting>
+
+</section>
+
+<section><title>Known limitations</title>
+
+<para>The FoundationDB setup for NixOS should currently be considered beta.
+FoundationDB is not new software, but the NixOS compilation and integration has
+only undergone fairly basic testing of all the available functionality.</para>
+
+<itemizedlist>
+  <listitem><para>There is no way to specify individual parameters for
+      individual <command>fdbserver</command> processes. Currently, all server
+      processes inherit all the global <command>fdbmonitor</command> settings.
+      </para></listitem>
+  <listitem><para>Python bindings are not currently installed.</para></listitem>
+  <listitem><para>Ruby bindings are not currently installed.</para></listitem>
+  <listitem><para>Go bindings are not currently installed.</para></listitem>
+</itemizedlist>
+
+</section>
+
+<section><title>Options</title>
+
+<para>NixOS's FoundationDB module allows you to configure all of the most
+relevant configuration options for <command>fdbmonitor</command>, matching it
+quite closely. For a complete list of all options, check <command>man
+configuration.nix</command>.</para>
+
+</section>
+
+<section><title>Full documentation</title>
+
+<para>FoundationDB is a complex piece of software, and requires careful
+administration to properly use. Full documentation for administration can be
+found here: <link xlink:href="https://apple.github.io/foundationdb/"/>.</para>
+
+</section>
+
+</chapter>
diff --git a/nixos/modules/services/databases/monetdb.nix b/nixos/modules/services/databases/monetdb.nix
new file mode 100644
index 00000000000..5c66fc7b2e3
--- /dev/null
+++ b/nixos/modules/services/databases/monetdb.nix
@@ -0,0 +1,100 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+  cfg = config.services.monetdb;
+
+in {
+  meta.maintainers = with maintainers; [ StillerHarpo primeos ];
+
+  ###### interface
+  options = {
+    services.monetdb = {
+
+      enable = mkEnableOption "the MonetDB database server";
+
+      package = mkOption {
+        type = types.package;
+        default = pkgs.monetdb;
+        defaultText = "pkgs.monetdb";
+        description = "MonetDB package to use.";
+      };
+
+      user = mkOption {
+        type = types.str;
+        default = "monetdb";
+        description = "User account under which MonetDB runs.";
+      };
+
+      group = mkOption {
+        type = types.str;
+        default = "monetdb";
+        description = "Group under which MonetDB runs.";
+      };
+
+      dataDir = mkOption {
+        type = types.path;
+        default = "/var/lib/monetdb";
+        description = "Data directory for the dbfarm.";
+      };
+
+      port = mkOption {
+        type = types.ints.u16;
+        default = 50000;
+        description = "Port to listen on.";
+      };
+
+      listenAddress = mkOption {
+        type = types.str;
+        default = "127.0.0.1";
+        example = "0.0.0.0";
+        description = "Address to listen on.";
+      };
+    };
+  };
+
+  ###### implementation
+  config = mkIf cfg.enable {
+
+    users.users.monetdb = mkIf (cfg.user == "monetdb") {
+      uid = config.ids.uids.monetdb;
+      group = cfg.group;
+      description = "MonetDB user";
+      home = cfg.dataDir;
+      createHome = true;
+    };
+
+    users.groups.monetdb = mkIf (cfg.group == "monetdb") {
+      gid = config.ids.gids.monetdb;
+      members = [ cfg.user ];
+    };
+
+    environment.systemPackages = [ cfg.package ];
+
+    systemd.services.monetdb = {
+      description = "MonetDB database server";
+      wantedBy = [ "multi-user.target" ];
+      after = [ "network.target" ];
+      path = [ cfg.package ];
+      unitConfig.RequiresMountsFor = "${cfg.dataDir}";
+      serviceConfig = {
+        User = cfg.user;
+        Group = cfg.group;
+        ExecStart = "${cfg.package}/bin/monetdbd start -n ${cfg.dataDir}";
+        ExecStop = "${cfg.package}/bin/monetdbd stop ${cfg.dataDir}";
+      };
+      preStart = ''
+        if [ ! -e ${cfg.dataDir}/.merovingian_properties ]; then
+          # Create the dbfarm (as cfg.user)
+          ${cfg.package}/bin/monetdbd create ${cfg.dataDir}
+        fi
+
+        # Update the properties
+        ${cfg.package}/bin/monetdbd set port=${toString cfg.port} ${cfg.dataDir}
+        ${cfg.package}/bin/monetdbd set listenaddr=${cfg.listenAddress} ${cfg.dataDir}
+      '';
+    };
+
+  };
+}
diff --git a/nixos/modules/services/databases/mysql.nix b/nixos/modules/services/databases/mysql.nix
index 21a131b90a8..66c9330c355 100644
--- a/nixos/modules/services/databases/mysql.nix
+++ b/nixos/modules/services/databases/mysql.nix
@@ -218,7 +218,7 @@ in
   config = mkIf config.services.mysql.enable {
 
     services.mysql.dataDir =
-      mkDefault (if versionAtLeast config.system.stateVersion "17.09" then "/var/lib/mysql"
+      mkDefault (if versionAtLeast config.system.nixos.stateVersion "17.09" then "/var/lib/mysql"
                  else "/var/mysql");
 
     users.extraUsers.mysql = {
diff --git a/nixos/modules/services/databases/pgmanage.nix b/nixos/modules/services/databases/pgmanage.nix
index 86733a3e5a0..d1b48c06440 100644
--- a/nixos/modules/services/databases/pgmanage.nix
+++ b/nixos/modules/services/databases/pgmanage.nix
@@ -22,7 +22,7 @@ let
 
       web_root = ${cfg.package}/etc/pgmanage/web_root
 
-      data_root = ${cfg.dataRoot}
+      sql_root = ${cfg.sqlRoot}
 
       ${optionalString (!isNull cfg.tls) ''
       tls_cert = ${cfg.tls.cert}
@@ -130,7 +130,7 @@ let
       '';
     };
 
-    dataRoot = mkOption {
+    sqlRoot = mkOption {
       type = types.str;
       default = "/var/lib/pgmanage";
       description = ''
@@ -210,7 +210,7 @@ in {
         users."${pgmanage}" = {
           name  = pgmanage;
           group = pgmanage;
-          home  = cfg.dataRoot;
+          home  = cfg.sqlRoot;
           createHome = true;
         };
         groups."${pgmanage}" = {
diff --git a/nixos/modules/services/databases/postgresql.nix b/nixos/modules/services/databases/postgresql.nix
index 0dcbfe2e47a..4ad4728ccda 100644
--- a/nixos/modules/services/databases/postgresql.nix
+++ b/nixos/modules/services/databases/postgresql.nix
@@ -36,9 +36,6 @@ let
       ${cfg.extraConfig}
     '';
 
-  pre84 = versionOlder (builtins.parseDrvName postgresql.name).version "8.4";
-
-
 in
 
 {
@@ -150,7 +147,7 @@ in
       };
       superUser = mkOption {
         type = types.str;
-        default= if versionAtLeast config.system.stateVersion "17.09" then "postgres" else "root";
+        default= if versionAtLeast config.system.nixos.stateVersion "17.09" then "postgres" else "root";
         internal = true;
         description = ''
           NixOS traditionally used 'root' as superuser, most other distros use 'postgres'.
@@ -169,20 +166,20 @@ in
 
     services.postgresql.package =
       # Note: when changing the default, make it conditional on
-      # ‘system.stateVersion’ to maintain compatibility with existing
+      # ‘system.nixos.stateVersion’ to maintain compatibility with existing
       # systems!
-      mkDefault (if versionAtLeast config.system.stateVersion "17.09" then pkgs.postgresql96
-            else if versionAtLeast config.system.stateVersion "16.03" then pkgs.postgresql95
+      mkDefault (if versionAtLeast config.system.nixos.stateVersion "17.09" then pkgs.postgresql96
+            else if versionAtLeast config.system.nixos.stateVersion "16.03" then pkgs.postgresql95
             else pkgs.postgresql94);
 
     services.postgresql.dataDir =
-      mkDefault (if versionAtLeast config.system.stateVersion "17.09" then "/var/lib/postgresql/${config.services.postgresql.package.psqlSchema}"
+      mkDefault (if versionAtLeast config.system.nixos.stateVersion "17.09" then "/var/lib/postgresql/${config.services.postgresql.package.psqlSchema}"
                  else "/var/db/postgresql");
 
     services.postgresql.authentication = mkAfter
       ''
         # Generated file; do not edit!
-        local all all              ident ${optionalString pre84 "sameuser"}
+        local all all              ident
         host  all all 127.0.0.1/32 md5
         host  all all ::1/128      md5
       '';
diff --git a/nixos/modules/services/databases/postgresql.xml b/nixos/modules/services/databases/postgresql.xml
index a9802694295..98a631c0cd3 100644
--- a/nixos/modules/services/databases/postgresql.xml
+++ b/nixos/modules/services/databases/postgresql.xml
@@ -23,15 +23,15 @@
 <filename>configuration.nix</filename>:
 
 <programlisting>
-services.postgresql.enable = true;
-services.postgresql.package = pkgs.postgresql94;
+<xref linkend="opt-services.postgresql.enable"/> = true;
+<xref linkend="opt-services.postgresql.package"/> = pkgs.postgresql94;
 </programlisting>
 
 Note that you are required to specify the desired version of
 PostgreSQL (e.g. <literal>pkgs.postgresql94</literal>). Since
 upgrading your PostgreSQL version requires a database dump and reload
 (see below), NixOS cannot provide a default value for
-<option>services.postgresql.package</option> such as the most recent
+<xref linkend="opt-services.postgresql.package"/> such as the most recent
 release of PostgreSQL.</para>
 
 <!--
@@ -49,10 +49,10 @@ alice=>
 
 <para>By default, PostgreSQL stores its databases in
 <filename>/var/db/postgresql</filename>. You can override this using
-<option>services.postgresql.dataDir</option>, e.g.
+<xref linkend="opt-services.postgresql.dataDir"/>, e.g.
 
 <programlisting>
-services.postgresql.dataDir = "/data/postgresql";
+<xref linkend="opt-services.postgresql.dataDir"/> = "/data/postgresql";
 </programlisting>
 
 </para>
@@ -69,7 +69,7 @@ services.postgresql.dataDir = "/data/postgresql";
 
 <section><title>Options</title>
 
-<para>FIXME: auto-generated list of module options.</para>
+  <para>A complete list of options for the PostgreSQL module may be found <link linkend="opt-services.postgresql.enable">here</link>.</para>
 
 </section>
 
diff --git a/nixos/modules/services/editors/emacs.nix b/nixos/modules/services/editors/emacs.nix
index 2c5a0c4849e..ba7ec967919 100644
--- a/nixos/modules/services/editors/emacs.nix
+++ b/nixos/modules/services/editors/emacs.nix
@@ -7,7 +7,7 @@ let
   cfg = config.services.emacs;
 
   editorScript = pkgs.writeScriptBin "emacseditor" ''
-    #!${pkgs.stdenv.shell}
+    #!${pkgs.runtimeShell}
     if [ -z "$1" ]; then
       exec ${cfg.package}/bin/emacsclient --create-frame --alternate-editor ${cfg.package}/bin/emacs
     else
@@ -15,6 +15,25 @@ let
     fi
   '';
 
+desktopApplicationFile = pkgs.writeTextFile {
+  name = "emacsclient.desktop";
+  destination = "/share/applications/emacsclient.desktop";
+  text = ''
+[Desktop Entry]
+Name=Emacsclient
+GenericName=Text Editor
+Comment=Edit text
+MimeType=text/english;text/plain;text/x-makefile;text/x-c++hdr;text/x-c++src;text/x-chdr;text/x-csrc;text/x-java;text/x-moc;text/x-pascal;text/x-tcl;text/x-tex;application/x-shellscript;text/x-c;text/x-c++;
+Exec=emacseditor %F
+Icon=emacs
+Type=Application
+Terminal=false
+Categories=Development;TextEditor;
+StartupWMClass=Emacs
+Keywords=Text;Editor;
+'';
+};
+
 in {
 
   options.services.emacs = {
@@ -74,7 +93,7 @@ in {
       };
     } // optionalAttrs cfg.enable { wantedBy = [ "default.target" ]; };
 
-    environment.systemPackages = [ cfg.package editorScript ];
+    environment.systemPackages = [ cfg.package editorScript desktopApplicationFile ];
 
     environment.variables = {
       # This is required so that GTK applications launched from Emacs
diff --git a/nixos/modules/services/editors/emacs.xml b/nixos/modules/services/editors/emacs.xml
index dd66bac442c..dfab5ce4a79 100644
--- a/nixos/modules/services/editors/emacs.xml
+++ b/nixos/modules/services/editors/emacs.xml
@@ -404,10 +404,10 @@ in [...]
       user service for Emacs daemon, add the following to your
       <filename>configuration.nix</filename>:
 
-      <programlisting><![CDATA[
-services.emacs.enable = true;
-services.emacs.package = import /home/cassou/.emacs.d { pkgs = pkgs; };
-]]></programlisting>
+<programlisting>
+<xref linkend="opt-services.emacs.enable"/> = true;
+<xref linkend="opt-services.emacs.package"/> = import /home/cassou/.emacs.d { pkgs = pkgs; };
+</programlisting>
     </para>
 
     <para>
@@ -462,7 +462,7 @@ emacsclient --create-frame --tty  # opens a new frame on the current terminal
     <!--<title><command>emacsclient</command> as the Default Editor</title>-->
 
     <para>
-      If <varname>services.emacs.defaultEditor</varname> is
+      If <xref linkend="opt-services.emacs.defaultEditor"/> is
       <literal>true</literal>, the <varname>EDITOR</varname> variable
       will be set to a wrapper script which launches
       <command>emacsclient</command>.
@@ -497,10 +497,10 @@ emacsclient --create-frame --tty  # opens a new frame on the current terminal
       Emacs daemon is not wanted for all users, it is possible to
       install the service but not globally enable it:
 
-      <programlisting><![CDATA[
-services.emacs.enable = false;
-services.emacs.install = true;
-]]></programlisting>
+<programlisting>
+<xref linkend="opt-services.emacs.enable"/> = false;
+<xref linkend="opt-services.emacs.install"/> = true;
+</programlisting>
     </para>
 
     <para>
@@ -582,7 +582,7 @@ services.emacs.install = true;
     <para>
       To install the DocBook 5.0 schemas, either add
       <varname>pkgs.docbook5</varname> to
-      <varname>environment.systemPackages</varname> (<link
+      <xref linkend="opt-environment.systemPackages"/> (<link
       linkend="sec-declarative-package-mgmt">NixOS</link>), or run
       <literal>nix-env -i pkgs.docbook5</literal>
       (<link linkend="sec-ad-hoc-packages">Nix</link>).
diff --git a/nixos/modules/services/editors/infinoted.nix b/nixos/modules/services/editors/infinoted.nix
index 963147b18a0..9074a4345ea 100644
--- a/nixos/modules/services/editors/infinoted.nix
+++ b/nixos/modules/services/editors/infinoted.nix
@@ -129,7 +129,7 @@ in {
         serviceConfig = {
           Type = "simple";
           Restart = "always";
-          ExecStart = "${cfg.package}/bin/infinoted-0.6 --config-file=/var/lib/infinoted/infinoted.conf";
+          ExecStart = "${cfg.package}/bin/infinoted-${versions.majorMinor cfg.package.version} --config-file=/var/lib/infinoted/infinoted.conf";
           User = cfg.user;
           Group = cfg.group;
           PermissionsStartOnly = true;
diff --git a/nixos/modules/services/hardware/bluetooth.nix b/nixos/modules/services/hardware/bluetooth.nix
index 4a8cd86b0b1..d7ca8a43179 100644
--- a/nixos/modules/services/hardware/bluetooth.nix
+++ b/nixos/modules/services/hardware/bluetooth.nix
@@ -3,8 +3,8 @@
 with lib;
 
 let
-  bluez-bluetooth = pkgs.bluez;
   cfg = config.hardware.bluetooth;
+  bluez-bluetooth = cfg.package;
 
 in {
 
@@ -21,6 +21,16 @@ in {
         description = "Whether to power up the default Bluetooth controller on boot.";
       };
 
+      package = mkOption {
+        type = types.package;
+        default = pkgs.bluez;
+        defaultText = "pkgs.bluez";
+        example = "pkgs.bluez.override { enableMidi = true; }";
+        description = ''
+          Which BlueZ package to use.
+        '';
+      };
+
       extraConfig = mkOption {
         type = types.lines;
         default = "";
diff --git a/nixos/modules/services/hardware/lcd.nix b/nixos/modules/services/hardware/lcd.nix
new file mode 100644
index 00000000000..d78d742cd31
--- /dev/null
+++ b/nixos/modules/services/hardware/lcd.nix
@@ -0,0 +1,172 @@
+{ config, lib, pkgs, ... }:
+
+let
+  cfg = config.services.hardware.lcd;
+  pkg = lib.getBin pkgs.lcdproc;
+
+  serverCfg = pkgs.writeText "lcdd.conf" ''
+    [server]
+    DriverPath=${pkg}/lib/lcdproc/
+    ReportToSyslog=false
+    Bind=${cfg.serverHost}
+    Port=${toString cfg.serverPort}
+    ${cfg.server.extraConfig}
+  '';
+
+  clientCfg = pkgs.writeText "lcdproc.conf" ''
+    [lcdproc]
+    Server=${cfg.serverHost}
+    Port=${toString cfg.serverPort}
+    ReportToSyslog=false
+    ${cfg.client.extraConfig}
+  '';
+
+  serviceCfg = {
+    DynamicUser = true;
+    Restart = "on-failure";
+    Slice = "lcd.slice";
+  };
+
+in with lib; {
+
+  meta.maintainers = with maintainers; [ peterhoeg ];
+
+  options = with types; {
+    services.hardware.lcd = {
+      serverHost = mkOption {
+        type = str;
+        default = "localhost";
+        description = "Host on which LCDd is listening.";
+      };
+
+      serverPort = mkOption {
+        type = int;
+        default = 13666;
+        description = "Port on which LCDd is listening.";
+      };
+
+      server = {
+        enable = mkOption {
+          type = bool;
+          default = false;
+          description = "Enable the LCD panel server (LCDd)";
+        };
+
+        openPorts = mkOption {
+          type = bool;
+          default = false;
+          description = "Open the ports in the firewall";
+        };
+
+        usbPermissions = mkOption {
+          type = bool;
+          default = false;
+          description = ''
+            Set group-write permissions on a USB device.
+            </para>
+            <para>
+            A USB connected LCD panel will most likely require having its
+            permissions modified for lcdd to write to it. Enabling this option
+            sets group-write permissions on the device identified by
+            <option>services.hardware.lcd.usbVid</option> and
+            <option>services.hardware.lcd.usbPid</option>. In order to find the
+            values, you can run the <command>lsusb</command> command. Example
+            output:
+            </para>
+            <para>
+            <literal>
+            Bus 005 Device 002: ID 0403:c630 Future Technology Devices International, Ltd lcd2usb interface
+            </literal>
+            </para>
+            <para>
+            In this case the vendor id is 0403 and the product id is c630.
+          '';
+        };
+
+        usbVid = mkOption {
+          type = str;
+          default = "";
+          description = "The vendor ID of the USB device to claim.";
+        };
+
+        usbPid = mkOption {
+          type = str;
+          default = "";
+          description = "The product ID of the USB device to claim.";
+        };
+
+        usbGroup = mkOption {
+          type = str;
+          default = "dialout";
+          description = "The group to use for settings permissions. This group must exist or you will have to create it.";
+        };
+
+        extraConfig = mkOption {
+          type = lines;
+          default = "";
+          description = "Additional configuration added verbatim to the server config.";
+        };
+      };
+
+      client = {
+        enable = mkOption {
+          type = bool;
+          default = false;
+          description = "Enable the LCD panel client (LCDproc)";
+        };
+
+        extraConfig = mkOption {
+          type = lines;
+          default = "";
+          description = "Additional configuration added verbatim to the client config.";
+        };
+
+        restartForever = mkOption {
+          type = bool;
+          default = true;
+          description = "Try restarting the client forever.";
+        };
+      };
+    };
+  };
+
+  config = mkIf (cfg.server.enable || cfg.client.enable) {
+    networking.firewall.allowedTCPPorts = mkIf (cfg.server.enable && cfg.server.openPorts) [ cfg.serverPort ];
+
+    services.udev.extraRules = mkIf (cfg.server.enable && cfg.server.usbPermissions) ''
+      ACTION=="add", SUBSYSTEMS=="usb", ATTRS{idVendor}=="${cfg.server.usbVid}", ATTRS{idProduct}=="${cfg.server.usbPid}", MODE="660", GROUP="${cfg.server.usbGroup}"
+    '';
+
+    systemd.services = {
+      lcdd = mkIf cfg.server.enable {
+        description = "LCDproc - server";
+        wantedBy = [ "lcd.target" ];
+        serviceConfig = serviceCfg // {
+          ExecStart = "${pkg}/bin/LCDd -f -c ${serverCfg}";
+          SupplementaryGroups = cfg.server.usbGroup;
+        };
+      };
+
+      lcdproc = mkIf cfg.client.enable {
+        description = "LCDproc - client";
+        after = [ "lcdd.service" ];
+        wantedBy = [ "lcd.target" ];
+        serviceConfig = serviceCfg // {
+          ExecStart = "${pkg}/bin/lcdproc -f -c ${clientCfg}";
+          # If the server is being restarted at the same time, the client will
+          # fail as it cannot connect, so space it out a bit.
+          RestartSec = "5";
+          # Allow restarting for eternity
+          StartLimitIntervalSec = lib.mkIf cfg.client.restartForever "0";
+          StartLimitBurst = lib.mkIf cfg.client.restartForever "0";
+        };
+      };
+    };
+
+    systemd.targets.lcd = {
+      description = "LCD client/server";
+      after = [ "lcdd.service" "lcdproc.service" ];
+      wantedBy = [ "multi-user.target" ];
+    };
+  };
+}
diff --git a/nixos/modules/services/hardware/trezord.nix b/nixos/modules/services/hardware/trezord.nix
index 38d0a3a1d75..f2ec00a7d3e 100644
--- a/nixos/modules/services/hardware/trezord.nix
+++ b/nixos/modules/services/hardware/trezord.nix
@@ -26,8 +26,15 @@ in {
       name = "trezord-udev-rules";
       destination = "/etc/udev/rules.d/51-trezor.rules";
       text = ''
-        SUBSYSTEM=="usb", ATTR{idVendor}=="534c", ATTR{idProduct}=="0001", MODE="0666", GROUP="dialout", SYMLINK+="trezor%n"
-        KERNEL=="hidraw*", ATTRS{idVendor}=="534c", ATTRS{idProduct}=="0001",  MODE="0666", GROUP="dialout"
+        # Trezor 1
+        SUBSYSTEM=="usb",  ATTR{idVendor}=="534c",  ATTR{idProduct}=="0001",  MODE="0666", GROUP="dialout", SYMLINK+="trezor%n"
+        KERNEL=="hidraw*", ATTRS{idVendor}=="534c", ATTRS{idProduct}=="0001", MODE="0666", GROUP="dialout"
+
+        # Trezor 2 (Model-T)
+        SUBSYSTEM=="usb",  ATTR{idVendor}=="1209",  ATTR{idProduct}=="53c0",  MODE="0661", GROUP="dialout", TAG+="uaccess", TAG+="udev-acl", SYMLINK+="trezor%n"
+        SUBSYSTEM=="usb",  ATTR{idVendor}=="1209",  ATTR{idProduct}=="53c1",  MODE="0660", GROUP="dialout", TAG+="uaccess", TAG+="udev-acl", SYMLINK+="trezor%n"
+        KERNEL=="hidraw*", ATTRS{idVendor}=="1209", ATTRS{idProduct}=="53c1", MODE="0660", GROUP="dialout", TAG+="uaccess", TAG+="udev-acl"
+  ];
       '';
     });
 
@@ -38,7 +45,7 @@ in {
       path = [];
       serviceConfig = {
         Type = "simple";
-        ExecStart = "${pkgs.trezord}/bin/trezord -f";
+        ExecStart = "${pkgs.trezord}/bin/trezord-go";
         User = "trezord";
       };
     };
diff --git a/nixos/modules/services/hardware/udev.nix b/nixos/modules/services/hardware/udev.nix
index 9f42f9e59ad..7bfc3bb6487 100644
--- a/nixos/modules/services/hardware/udev.nix
+++ b/nixos/modules/services/hardware/udev.nix
@@ -146,7 +146,7 @@ let
 
       echo "Generating hwdb database..."
       # hwdb --update doesn't return error code even on errors!
-      res="$(${udev}/bin/udevadm hwdb --update --root=$(pwd) 2>&1)"
+      res="$(${pkgs.buildPackages.udev}/bin/udevadm hwdb --update --root=$(pwd) 2>&1)"
       echo "$res"
       [ -z "$(echo "$res" | egrep '^Error')" ]
       mv etc/udev/hwdb.bin $out
diff --git a/nixos/modules/services/logging/graylog.nix b/nixos/modules/services/logging/graylog.nix
index a0dc0d6d089..95f31829882 100644
--- a/nixos/modules/services/logging/graylog.nix
+++ b/nixos/modules/services/logging/graylog.nix
@@ -141,7 +141,7 @@ in
         JAVA_HOME = jre;
         GRAYLOG_CONF = "${confFile}";
       };
-      path = [ pkgs.openjdk8 pkgs.which pkgs.procps ];
+      path = [ pkgs.jre_headless pkgs.which pkgs.procps ];
       preStart = ''
         mkdir -p /var/lib/graylog -m 755
 
diff --git a/nixos/modules/services/mail/dovecot.nix b/nixos/modules/services/mail/dovecot.nix
index b42c73b8666..50477fdd25b 100644
--- a/nixos/modules/services/mail/dovecot.nix
+++ b/nixos/modules/services/mail/dovecot.nix
@@ -25,11 +25,13 @@ let
       ssl_cert = <${cfg.sslServerCert}
       ssl_key = <${cfg.sslServerKey}
       ${optionalString (!(isNull cfg.sslCACert)) ("ssl_ca = <" + cfg.sslCACert)}
+      ssl_dh = <${config.security.dhparams.params.dovecot2.path}
       disable_plaintext_auth = yes
     '')
 
     ''
       default_internal_user = ${cfg.user}
+      default_internal_group = ${cfg.group}
       ${optionalString (cfg.mailUser != null) "mail_uid = ${cfg.mailUser}"}
       ${optionalString (cfg.mailGroup != null) "mail_gid = ${cfg.mailGroup}"}
 
@@ -296,10 +298,13 @@ in
 
 
   config = mkIf cfg.enable {
-
     security.pam.services.dovecot2 = mkIf cfg.enablePAM {};
 
-    services.dovecot2.protocols =
+    security.dhparams = mkIf (! isNull cfg.sslServerCert) {
+      enable = true;
+      params.dovecot2 = {};
+    };
+   services.dovecot2.protocols =
      optional cfg.enableImap "imap"
      ++ optional cfg.enablePop3 "pop3"
      ++ optional cfg.enableLmtp "lmtp";
diff --git a/nixos/modules/services/misc/defaultUnicornConfig.rb b/nixos/modules/services/misc/defaultUnicornConfig.rb
index 84622622db7..0b58c59c7a5 100644
--- a/nixos/modules/services/misc/defaultUnicornConfig.rb
+++ b/nixos/modules/services/misc/defaultUnicornConfig.rb
@@ -1,205 +1,69 @@
-# The following was taken from github.com/crohr/syslogger and is BSD
-# licensed.
-require 'syslog'
-require 'logger'
-require 'thread'
+worker_processes 3
 
-class Syslogger
-
-  VERSION = "1.6.0"
-
-  attr_reader :level, :ident, :options, :facility, :max_octets
-  attr_accessor :formatter
-
-  MAPPING = {
-    Logger::DEBUG => Syslog::LOG_DEBUG,
-    Logger::INFO => Syslog::LOG_INFO,
-    Logger::WARN => Syslog::LOG_WARNING,
-    Logger::ERROR => Syslog::LOG_ERR,
-    Logger::FATAL => Syslog::LOG_CRIT,
-    Logger::UNKNOWN => Syslog::LOG_ALERT
-  }
-
-  #
-  # Initializes default options for the logger
-  # <tt>ident</tt>:: the name of your program [default=$0].
-  # <tt>options</tt>::  syslog options [default=<tt>Syslog::LOG_PID | Syslog::LOG_CONS</tt>].
-  #                     Correct values are:
-  #                       LOG_CONS    : writes the message on the console if an error occurs when sending the message;
-  #                       LOG_NDELAY  : no delay before sending the message;
-  #                       LOG_PERROR  : messages will also be written on STDERR;
-  #                       LOG_PID     : adds the process number to the message (just after the program name)
-  # <tt>facility</tt>:: the syslog facility [default=nil] Correct values include:
-  #                       Syslog::LOG_DAEMON
-  #                       Syslog::LOG_USER
-  #                       Syslog::LOG_SYSLOG
-  #                       Syslog::LOG_LOCAL2
-  #                       Syslog::LOG_NEWS
-  #                       etc.
-  #
-  # Usage:
-  #   logger = Syslogger.new("my_app", Syslog::LOG_PID | Syslog::LOG_CONS, Syslog::LOG_LOCAL0)
-  #   logger.level = Logger::INFO # use Logger levels
-  #   logger.warn "warning message"
-  #   logger.debug "debug message"
-  #
-  def initialize(ident = $0, options = Syslog::LOG_PID | Syslog::LOG_CONS, facility = nil)
-    @ident = ident
-    @options = options || (Syslog::LOG_PID | Syslog::LOG_CONS)
-    @facility = facility
-    @level = Logger::INFO
-    @mutex = Mutex.new
-    @formatter = Logger::Formatter.new
-  end
-
-  %w{debug info warn error fatal unknown}.each do |logger_method|
-    # Accepting *args as message could be nil.
-    #  Default params not supported in ruby 1.8.7
-    define_method logger_method.to_sym do |*args, &block|
-      return true if @level > Logger.const_get(logger_method.upcase)
-      message = args.first || block && block.call
-      add(Logger.const_get(logger_method.upcase), message)
-    end
-
-    unless logger_method == 'unknown'
-      define_method "#{logger_method}?".to_sym do
-        @level <= Logger.const_get(logger_method.upcase)
-      end
-    end
-  end
-
-  # Log a message at the Logger::INFO level. Useful for use with Rack::CommonLogger
-  def write(msg)
-    add(Logger::INFO, msg)
-  end
-
-  # Logs a message at the Logger::INFO level.
-  def <<(msg)
-    add(Logger::INFO, msg)
-  end
-
-  # Low level method to add a message.
-  # +severity+::  the level of the message. One of Logger::DEBUG, Logger::INFO, Logger::WARN, Logger::ERROR, Logger::FATAL, Logger::UNKNOWN
-  # +message+:: the message string.
-  #             If nil, the method will call the block and use the result as the message string.
-  #             If both are nil or no block is given, it will use the progname as per the behaviour of both the standard Ruby logger, and the Rails BufferedLogger.
-  # +progname+:: optionally, overwrite the program name that appears in the log message.
-  def add(severity, message = nil, progname = nil, &block)
-    if message.nil? && block.nil? && !progname.nil?
-      message, progname = progname, nil
-    end
-    progname ||= @ident
-
-    @mutex.synchronize do
-      Syslog.open(progname, @options, @facility) do |s|
-        s.mask = Syslog::LOG_UPTO(MAPPING[@level])
-        communication = clean(message || block && block.call)
-        if self.max_octets
-          buffer = "#{tags_text}"
-          communication.bytes do |byte|
-            buffer.concat(byte)
-            # if the last byte we added is potentially part of an escape, we'll go ahead and add another byte
-            if buffer.bytesize >= self.max_octets && !['%'.ord,'\\'.ord].include?(byte)
-              s.log(MAPPING[severity],buffer)
-              buffer = ""
-            end
-          end
-          s.log(MAPPING[severity],buffer) unless buffer.empty?
-        else
-          s.log(MAPPING[severity],"#{tags_text}#{communication}")
-        end
-      end
-    end
-  end
-
-  # Set the max octets of the messages written to the log
-  def max_octets=(max_octets)
-    @max_octets = max_octets
-  end
-
-  # Sets the minimum level for messages to be written in the log.
-  # +level+:: one of <tt>Logger::DEBUG</tt>, <tt>Logger::INFO</tt>, <tt>Logger::WARN</tt>, <tt>Logger::ERROR</tt>, <tt>Logger::FATAL</tt>, <tt>Logger::UNKNOWN</tt>
-  def level=(level)
-    level = Logger.const_get(level.to_s.upcase) if level.is_a?(Symbol)
-
-    unless level.is_a?(Fixnum)
-      raise ArgumentError.new("Invalid logger level `#{level.inspect}`")
-    end
-
-    @level = level
-  end
-
-  # Sets the ident string passed along to Syslog
-  def ident=(ident)
-    @ident = ident
-  end
-
-  # Tagging code borrowed from ActiveSupport gem
-  def tagged(*tags)
-    new_tags = push_tags(*tags)
-    yield self
-  ensure
-    pop_tags(new_tags.size)
-  end
-
-  def push_tags(*tags)
-    tags.flatten.reject{ |i| i.respond_to?(:empty?) ? i.empty? : !i }.tap do |new_tags|
-      current_tags.concat new_tags
-    end
-  end
-
-  def pop_tags(size = 1)
-    current_tags.pop size
-  end
-
-  def clear_tags!
-    current_tags.clear
-  end
-
-  protected
-
-  # Borrowed from SyslogLogger.
-  def clean(message)
-    message = message.to_s.dup
-    message.strip! # remove whitespace
-    message.gsub!(/\n/, '\\n') # escape newlines
-    message.gsub!(/%/, '%%') # syslog(3) freaks on % (printf)
-    message.gsub!(/\e\[[^m]*m/, '') # remove useless ansi color codes
-    message
-  end
-
-  private
-
-  def tags_text
-    tags = current_tags
-    if tags.any?
-      tags.collect { |tag| "[#{tag}] " }.join
-    end
-  end
-
-  def current_tags
-    Thread.current[:syslogger_tagged_logging_tags] ||= []
-  end
-end
+listen ENV["UNICORN_PATH"] + "/tmp/sockets/gitlab.socket", :backlog => 1024
+listen "/run/gitlab/gitlab.socket", :backlog => 1024
 
-worker_processes 2
 working_directory ENV["GITLAB_PATH"]
-pid ENV["UNICORN_PATH"] + "/tmp/pids/unicorn.pid"
 
-listen ENV["UNICORN_PATH"] + "/tmp/sockets/gitlab.socket", :backlog => 1024
+pid ENV["UNICORN_PATH"] + "/tmp/pids/unicorn.pid"
 
 timeout 60
 
-logger Syslogger.new
-
+# combine Ruby 2.0.0dev or REE with "preload_app true" for memory savings
+# http://rubyenterpriseedition.com/faq.html#adapt_apps_for_cow
 preload_app true
-
 GC.respond_to?(:copy_on_write_friendly=) and
   GC.copy_on_write_friendly = true
 
 check_client_connection false
 
+before_fork do |server, worker|
+  # the following is highly recommended for Rails + "preload_app true"
+  # as there's no need for the master process to hold a connection
+  defined?(ActiveRecord::Base) and
+    ActiveRecord::Base.connection.disconnect!
+
+  # The following is only recommended for memory/DB-constrained
+  # installations.  It is not needed if your system can house
+  # twice as many worker_processes as you have configured.
+  #
+  # This allows a new master process to incrementally
+  # phase out the old master process with SIGTTOU to avoid a
+  # thundering herd (especially in the "preload_app false" case)
+  # when doing a transparent upgrade.  The last worker spawned
+  # will then kill off the old master process with a SIGQUIT.
+  old_pid = "#{server.config[:pid]}.oldbin"
+  if old_pid != server.pid
+    begin
+      sig = (worker.nr + 1) >= server.worker_processes ? :QUIT : :TTOU
+      Process.kill(sig, File.read(old_pid).to_i)
+    rescue Errno::ENOENT, Errno::ESRCH
+    end
+  end
+
+  # Throttle the master from forking too quickly by sleeping.  Due
+  # to the implementation of standard Unix signal handlers, this
+  # helps (but does not completely) prevent identical, repeated signals
+  # from being lost when the receiving process is busy.
+  # sleep 1
+end
+
 after_fork do |server, worker|
+  # per-process listener ports for debugging/admin/migrations
+  # addr = "127.0.0.1:#{9293 + worker.nr}"
+  # server.listen(addr, :tries => -1, :delay => 5, :tcp_nopush => true)
+
+  # the following is *required* for Rails + "preload_app true",
   defined?(ActiveRecord::Base) and
     ActiveRecord::Base.establish_connection
+
+  # reset prometheus client, this will cause any opened metrics files to be closed
+  defined?(::Prometheus::Client.reinitialize_on_pid_change) &&
+    Prometheus::Client.reinitialize_on_pid_change
+
+  # if preload_app is true, then you may also want to check and
+  # restart any other shared sockets/descriptors such as Memcached,
+  # and Redis.  TokyoCabinet file handles are safe to reuse
+  # between any number of forked children (assuming your kernel
+  # correctly implements pread()/pwrite() system calls)
 end
diff --git a/nixos/modules/services/misc/disnix.nix b/nixos/modules/services/misc/disnix.nix
index 39d23610b06..e4517c636e8 100644
--- a/nixos/modules/services/misc/disnix.nix
+++ b/nixos/modules/services/misc/disnix.nix
@@ -57,7 +57,7 @@ in
   ###### implementation
 
   config = mkIf cfg.enable {
-    dysnomia.enable = true;
+    services.dysnomia.enable = true;
 
     environment.systemPackages = [ pkgs.disnix ] ++ optional cfg.useWebServiceInterface pkgs.DisnixWebService;
 
diff --git a/nixos/modules/services/misc/docker-registry.nix b/nixos/modules/services/misc/docker-registry.nix
index 96ac2a1cf2c..45931cb42b5 100644
--- a/nixos/modules/services/misc/docker-registry.nix
+++ b/nixos/modules/services/misc/docker-registry.nix
@@ -5,6 +5,45 @@ with lib;
 let
   cfg = config.services.dockerRegistry;
 
+  blobCache = if cfg.enableRedisCache
+    then "redis"
+    else "inmemory";
+
+  registryConfig = {
+    version =  "0.1";
+    log.fields.service = "registry";
+    storage = {
+      cache.blobdescriptor = blobCache;
+      filesystem.rootdirectory = cfg.storagePath;
+      delete.enabled = cfg.enableDelete;
+    };
+    http = {
+      addr = ":${builtins.toString cfg.port}";
+      headers.X-Content-Type-Options = ["nosniff"];
+    };
+    health.storagedriver = {
+      enabled = true;
+      interval = "10s";
+      threshold = 3;
+    };
+  };
+
+  registryConfig.redis = mkIf cfg.enableRedisCache {
+    addr = "${cfg.redisUrl}";
+    password = "${cfg.redisPassword}";
+    db = 0;
+    dialtimeout = "10ms";
+    readtimeout = "10ms";
+    writetimeout = "10ms";
+    pool = {
+      maxidle = 16;
+      maxactive = 64;
+      idletimeout = "300s";
+    };
+  };
+
+  configFile = pkgs.writeText "docker-registry-config.yml" (builtins.toJSON (registryConfig // cfg.extraConfig));
+
 in {
   options.services.dockerRegistry = {
     enable = mkEnableOption "Docker Registry";
@@ -27,6 +66,26 @@ in {
       description = "Docker registry storage path.";
     };
 
+    enableDelete = mkOption {
+      type = types.bool;
+      default = false;
+      description = "Enable delete for manifests and blobs.";
+    };
+
+    enableRedisCache = mkEnableOption "redis as blob cache";
+
+    redisUrl = mkOption {
+      type = types.str;
+      default = "localhost:6379";
+      description = "Set redis host and port.";
+    };
+
+    redisPassword = mkOption {
+      type = types.str;
+      default = "";
+      description = "Set redis password.";
+    };
+
     extraConfig = mkOption {
       description = ''
         Docker extra registry configuration via environment variables.
@@ -34,6 +93,19 @@ in {
       default = {};
       type = types.attrsOf types.str;
     };
+
+    enableGarbageCollect = mkEnableOption "garbage collect";
+
+    garbageCollectDates = mkOption {
+      default = "daily";
+      type = types.str;
+      description = ''
+        Specification (in the format described by
+        <citerefentry><refentrytitle>systemd.time</refentrytitle>
+        <manvolnum>7</manvolnum></citerefentry>) of the time at
+        which the garbage collect will occur.
+      '';
+    };
   };
 
   config = mkIf cfg.enable {
@@ -41,15 +113,8 @@ in {
       description = "Docker Container Registry";
       wantedBy = [ "multi-user.target" ];
       after = [ "network.target" ];
-
-      environment = {
-        REGISTRY_HTTP_ADDR = "${cfg.listenAddress}:${toString cfg.port}";
-        REGISTRY_STORAGE_FILESYSTEM_ROOTDIRECTORY = cfg.storagePath;
-      } // cfg.extraConfig;
-
       script = ''
-        ${pkgs.docker-distribution}/bin/registry serve \
-          ${pkgs.docker-distribution.out}/share/go/src/github.com/docker/distribution/cmd/registry/config-example.yml
+        ${pkgs.docker-distribution}/bin/registry serve ${configFile}
       '';
 
       serviceConfig = {
@@ -58,6 +123,22 @@ in {
       };
     };
 
+    systemd.services.docker-registry-garbage-collect = {
+      description = "Run Garbage Collection for docker registry";
+
+      restartIfChanged = false;
+      unitConfig.X-StopOnRemoval = false;
+
+      serviceConfig.Type = "oneshot";
+
+      script = ''
+        ${pkgs.docker-distribution}/bin/registry garbage-collect ${configFile}
+        ${pkgs.systemd}/bin/systemctl restart docker-registry.service
+      '';
+
+      startAt = optional cfg.enableGarbageCollect cfg.garbageCollectDates;
+    };
+
     users.extraUsers.docker-registry = {
       createHome = true;
       home = cfg.storagePath;
diff --git a/nixos/modules/services/misc/dysnomia.nix b/nixos/modules/services/misc/dysnomia.nix
index c5c41ad296d..9e66e0811ab 100644
--- a/nixos/modules/services/misc/dysnomia.nix
+++ b/nixos/modules/services/misc/dysnomia.nix
@@ -3,8 +3,8 @@
 with lib;
 
 let
-  cfg = config.dysnomia;
-  
+  cfg = config.services.dysnomia;
+
   printProperties = properties:
     concatMapStrings (propertyName:
       let
@@ -13,7 +13,7 @@ let
       if isList property then "${propertyName}=(${lib.concatMapStrings (elem: "\"${toString elem}\" ") (properties."${propertyName}")})\n"
       else "${propertyName}=\"${toString property}\"\n"
     ) (builtins.attrNames properties);
-  
+
   properties = pkgs.stdenv.mkDerivation {
     name = "dysnomia-properties";
     buildCommand = ''
@@ -22,13 +22,13 @@ let
       EOF
     '';
   };
-  
+
   containersDir = pkgs.stdenv.mkDerivation {
     name = "dysnomia-containers";
     buildCommand = ''
       mkdir -p $out
       cd $out
-      
+
       ${concatMapStrings (containerName:
         let
           containerProperties = cfg.containers."${containerName}";
@@ -42,11 +42,11 @@ let
       ) (builtins.attrNames cfg.containers)}
     '';
   };
-  
+
   linkMutableComponents = {containerName}:
     ''
       mkdir ${containerName}
-      
+
       ${concatMapStrings (componentName:
         let
           component = cfg.components."${containerName}"."${componentName}";
@@ -54,13 +54,13 @@ let
         "ln -s ${component} ${containerName}/${componentName}\n"
       ) (builtins.attrNames (cfg.components."${containerName}" or {}))}
     '';
-  
+
   componentsDir = pkgs.stdenv.mkDerivation {
     name = "dysnomia-components";
     buildCommand = ''
       mkdir -p $out
       cd $out
-      
+
       ${concatMapStrings (containerName:
         let
           components = cfg.components."${containerName}";
@@ -72,59 +72,59 @@ let
 in
 {
   options = {
-    dysnomia = {
-      
+    services.dysnomia = {
+
       enable = mkOption {
         type = types.bool;
         default = false;
         description = "Whether to enable Dysnomia";
       };
-      
+
       enableAuthentication = mkOption {
         type = types.bool;
         default = false;
         description = "Whether to publish privacy-sensitive authentication credentials";
       };
-      
+
       package = mkOption {
         type = types.path;
         description = "The Dysnomia package";
       };
-      
+
       properties = mkOption {
         description = "An attribute set in which each attribute represents a machine property. Optionally, these values can be shell substitutions.";
         default = {};
       };
-      
+
       containers = mkOption {
         description = "An attribute set in which each key represents a container and each value an attribute set providing its configuration properties";
         default = {};
       };
-      
+
       components = mkOption {
         description = "An atttribute set in which each key represents a container and each value an attribute set in which each key represents a component and each value a derivation constructing its initial state";
         default = {};
       };
-      
+
       extraContainerProperties = mkOption {
         description = "An attribute set providing additional container settings in addition to the default properties";
         default = {};
       };
-      
+
       extraContainerPaths = mkOption {
         description = "A list of paths containing additional container configurations that are added to the search folders";
         default = [];
       };
-      
+
       extraModulePaths = mkOption {
         description = "A list of paths containing additional modules that are added to the search folders";
         default = [];
       };
     };
   };
-  
+
   config = mkIf cfg.enable {
-  
+
     environment.etc = {
       "dysnomia/containers" = {
         source = containersDir;
@@ -136,16 +136,16 @@ in
         source = properties;
       };
     };
-    
+
     environment.variables = {
       DYSNOMIA_STATEDIR = "/var/state/dysnomia-nixos";
       DYSNOMIA_CONTAINERS_PATH = "${lib.concatMapStrings (containerPath: "${containerPath}:") cfg.extraContainerPaths}/etc/dysnomia/containers";
       DYSNOMIA_MODULES_PATH = "${lib.concatMapStrings (modulePath: "${modulePath}:") cfg.extraModulePaths}/etc/dysnomia/modules";
     };
-    
+
     environment.systemPackages = [ cfg.package ];
-    
-    dysnomia.package = pkgs.dysnomia.override (origArgs: {
+
+    services.dysnomia.package = pkgs.dysnomia.override (origArgs: {
       enableApacheWebApplication = config.services.httpd.enable;
       enableAxis2WebService = config.services.tomcat.axis2.enable;
       enableEjabberdDump = config.services.ejabberd.enable;
@@ -155,10 +155,10 @@ in
       enableTomcatWebApplication = config.services.tomcat.enable;
       enableMongoDatabase = config.services.mongodb.enable;
     });
-    
-    dysnomia.properties = {
+
+    services.dysnomia.properties = {
       hostname = config.networking.hostName;
-      system = if config.nixpkgs.system == "" then builtins.currentSystem else config.nixpkgs.system;
+      inherit (config.nixpkgs.localSystem) system;
 
       supportedTypes = (import "${pkgs.stdenv.mkDerivation {
         name = "supportedtypes";
@@ -173,8 +173,8 @@ in
         '';
       }}");
     };
-    
-    dysnomia.containers = lib.recursiveUpdate ({
+
+    services.dysnomia.containers = lib.recursiveUpdate ({
       process = {};
       wrapper = {};
     }
diff --git a/nixos/modules/services/misc/folding-at-home.nix b/nixos/modules/services/misc/folding-at-home.nix
index 053e7e95635..164221cbab7 100644
--- a/nixos/modules/services/misc/folding-at-home.nix
+++ b/nixos/modules/services/misc/folding-at-home.nix
@@ -57,7 +57,7 @@ in {
         chown ${fahUser} ${stateDir}
         cp -f ${pkgs.writeText "client.cfg" cfg.config} ${stateDir}/client.cfg
       '';
-      script = "${pkgs.su}/bin/su -s ${pkgs.stdenv.shell} ${fahUser} -c 'cd ${stateDir}; ${pkgs.foldingathome}/bin/fah6'";
+      script = "${pkgs.su}/bin/su -s ${pkgs.runtimeShell} ${fahUser} -c 'cd ${stateDir}; ${pkgs.foldingathome}/bin/fah6'";
     };
 
     services.foldingAtHome.config = ''
diff --git a/nixos/modules/services/misc/geoip-updater.nix b/nixos/modules/services/misc/geoip-updater.nix
index 760fa66e80d..e0b9df96f8e 100644
--- a/nixos/modules/services/misc/geoip-updater.nix
+++ b/nixos/modules/services/misc/geoip-updater.nix
@@ -14,7 +14,7 @@ let
   # ExecStart= command with '@' doesn't work because we start a shell (new
   # process) that creates a new argv[0].)
   geoip-updater = pkgs.writeScriptBin "geoip-updater" ''
-    #!${pkgs.stdenv.shell}
+    #!${pkgs.runtimeShell}
     skipExisting=0
     debug()
     {
diff --git a/nixos/modules/services/misc/gitea.nix b/nixos/modules/services/misc/gitea.nix
index f0b44b7bede..63e976ae566 100644
--- a/nixos/modules/services/misc/gitea.nix
+++ b/nixos/modules/services/misc/gitea.nix
@@ -4,6 +4,8 @@ with lib;
 
 let
   cfg = config.services.gitea;
+  pg = config.services.postgresql;
+  usePostgresql = cfg.database.type == "postgres";
   configFile = pkgs.writeText "app.ini" ''
     APP_NAME = ${cfg.appName}
     RUN_USER = ${cfg.user}
@@ -16,6 +18,9 @@ let
     USER = ${cfg.database.user}
     PASSWD = #dbpass#
     PATH = ${cfg.database.path}
+    ${optionalString usePostgresql ''
+      SSL_MODE = disable
+    ''}
 
     [repository]
     ROOT = ${cfg.repositoryRoot}
@@ -35,6 +40,10 @@ let
     SECRET_KEY = #secretkey#
     INSTALL_LOCK = true
 
+    [log]
+    ROOT_PATH = ${cfg.log.rootPath}
+    LEVEL = ${cfg.log.level}
+
     ${cfg.extraConfig}
   '';
 in
@@ -60,6 +69,19 @@ in
         description = "gitea data directory.";
       };
 
+      log = {
+        rootPath = mkOption {
+          default = "${cfg.stateDir}/log";
+          type = types.str;
+          description = "Root path for log files.";
+        };
+        level = mkOption {
+          default = "Trace";
+          type = types.enum [ "Trace" "Debug" "Info" "Warn" "Error" "Critical" ];
+          description = "General log level.";
+        };
+      };
+
       user = mkOption {
         type = types.str;
         default = "gitea";
@@ -82,7 +104,7 @@ in
 
         port = mkOption {
           type = types.int;
-          default = 3306;
+          default = (if !usePostgresql then 3306 else pg.port);
           description = "Database host port.";
         };
 
@@ -123,6 +145,15 @@ in
           default = "${cfg.stateDir}/data/gitea.db";
           description = "Path to the sqlite3 database file.";
         };
+
+        createDatabase = mkOption {
+          type = types.bool;
+          default = true;
+          description = ''
+            Whether to create a local postgresql database automatically.
+            This only applies if database type "postgres" is selected.
+          '';
+        };
       };
 
       appName = mkOption {
@@ -186,10 +217,11 @@ in
   };
 
   config = mkIf cfg.enable {
+    services.postgresql.enable = mkIf usePostgresql (mkDefault true);
 
     systemd.services.gitea = {
       description = "gitea";
-      after = [ "network.target" ];
+      after = [ "network.target" "postgresql.service" ];
       wantedBy = [ "multi-user.target" ];
       path = [ pkgs.gitea.bin ];
 
@@ -231,12 +263,31 @@ in
           mkdir -p ${cfg.stateDir}/conf
           cp -r ${pkgs.gitea.out}/locale ${cfg.stateDir}/conf/locale
         fi
+      '' + optionalString (usePostgresql && cfg.database.createDatabase) ''
+        if ! test -e "${cfg.stateDir}/db-created"; then
+          echo "CREATE ROLE ${cfg.database.user}
+                  WITH ENCRYPTED PASSWORD '$(head -n1 ${cfg.database.passwordFile})'
+                  NOCREATEDB NOCREATEROLE LOGIN"   |
+            ${pkgs.sudo}/bin/sudo -u ${pg.superUser} ${pg.package}/bin/psql
+          ${pkgs.sudo}/bin/sudo -u ${pg.superUser} \
+            ${pg.package}/bin/createdb             \
+            --owner=${cfg.database.user}           \
+            --encoding=UTF8                        \
+            --lc-collate=C                         \
+            --lc-ctype=C                           \
+            --template=template0                   \
+            ${cfg.database.name}
+          touch "${cfg.stateDir}/db-created"
+        fi
+      '' + ''
+        chown ${cfg.user} -R ${cfg.stateDir}
       '';
 
       serviceConfig = {
         Type = "simple";
         User = cfg.user;
         WorkingDirectory = cfg.stateDir;
+        PermissionsStartOnly = true;
         ExecStart = "${pkgs.gitea.bin}/bin/gitea web";
         Restart = "always";
       };
@@ -253,6 +304,7 @@ in
         description = "Gitea Service";
         home = cfg.stateDir;
         createHome = true;
+        useDefaultShell = true;
       };
     };
 
diff --git a/nixos/modules/services/misc/gitit.nix b/nixos/modules/services/misc/gitit.nix
index 44880ebeda1..94a98e0335d 100644
--- a/nixos/modules/services/misc/gitit.nix
+++ b/nixos/modules/services/misc/gitit.nix
@@ -17,7 +17,7 @@ let
   gititSh = hsPkgs: extras: with pkgs; let
     env = gititWithPkgs hsPkgs extras;
   in writeScript "gitit" ''
-    #!${stdenv.shell}
+    #!${runtimeShell}
     cd $HOME
     export NIX_GHC="${env}/bin/ghc"
     export NIX_GHCPKG="${env}/bin/ghc-pkg"
diff --git a/nixos/modules/services/misc/gitlab.nix b/nixos/modules/services/misc/gitlab.nix
index 9ed5875a019..be13fed860b 100644
--- a/nixos/modules/services/misc/gitlab.nix
+++ b/nixos/modules/services/misc/gitlab.nix
@@ -8,9 +8,6 @@ let
   cfg = config.services.gitlab;
 
   ruby = cfg.packages.gitlab.ruby;
-  bundler = pkgs.bundler;
-
-  gemHome = "${cfg.packages.gitlab.rubyEnv}/${ruby.gemPath}";
 
   gitlabSocket = "${cfg.statePath}/tmp/sockets/gitlab.socket";
   gitalySocket = "${cfg.statePath}/tmp/sockets/gitaly.socket";
@@ -137,12 +134,11 @@ let
 
   gitlabEnv = {
     HOME = "${cfg.statePath}/home";
-    GEM_HOME = gemHome;
-    BUNDLE_GEMFILE = "${cfg.packages.gitlab}/share/gitlab/Gemfile";
     UNICORN_PATH = "${cfg.statePath}/";
     GITLAB_PATH = "${cfg.packages.gitlab}/share/gitlab/";
     GITLAB_STATE_PATH = "${cfg.statePath}";
     GITLAB_UPLOADS_PATH = "${cfg.statePath}/uploads";
+    SCHEMA = "${cfg.statePath}/db/schema.rb";
     GITLAB_LOG_PATH = "${cfg.statePath}/log";
     GITLAB_SHELL_PATH = "${cfg.packages.gitlab-shell}";
     GITLAB_SHELL_CONFIG_PATH = "${cfg.statePath}/shell/config.yml";
@@ -157,19 +153,17 @@ let
 
   gitlab-rake = pkgs.stdenv.mkDerivation rec {
     name = "gitlab-rake";
-    buildInputs = [ cfg.packages.gitlab cfg.packages.gitlab.rubyEnv pkgs.makeWrapper ];
-    phases = "installPhase fixupPhase";
-    buildPhase = "";
+    buildInputs = [ pkgs.makeWrapper ];
+    dontBuild = true;
+    unpackPhase = ":";
     installPhase = ''
       mkdir -p $out/bin
-      makeWrapper ${cfg.packages.gitlab.rubyEnv}/bin/bundle $out/bin/gitlab-bundle \
+      makeWrapper ${cfg.packages.gitlab.rubyEnv}/bin/rake $out/bin/gitlab-rake \
           ${concatStrings (mapAttrsToList (name: value: "--set ${name} '${value}' ") gitlabEnv)} \
           --set GITLAB_CONFIG_PATH '${cfg.statePath}/config' \
           --set PATH '${lib.makeBinPath [ pkgs.nodejs pkgs.gzip pkgs.git pkgs.gnutar config.services.postgresql.package ]}:$PATH' \
           --set RAKEOPT '-f ${cfg.packages.gitlab}/share/gitlab/Rakefile' \
           --run 'cd ${cfg.packages.gitlab}/share/gitlab'
-      makeWrapper $out/bin/gitlab-bundle $out/bin/gitlab-rake \
-          --add-flags "exec rake"
      '';
   };
 
@@ -481,10 +475,10 @@ in {
         Type = "simple";
         User = cfg.user;
         Group = cfg.group;
-        TimeoutSec = "300";
+        TimeoutSec = "infinity";
         Restart = "on-failure";
         WorkingDirectory = "${cfg.packages.gitlab}/share/gitlab";
-        ExecStart="${cfg.packages.gitlab.rubyEnv}/bin/bundle exec \"sidekiq -C \"${cfg.packages.gitlab}/share/gitlab/config/sidekiq_queues.yml\" -e production -P ${cfg.statePath}/tmp/sidekiq.pid\"";
+        ExecStart="${cfg.packages.gitlab.rubyEnv}/bin/sidekiq -C \"${cfg.packages.gitlab}/share/gitlab/config/sidekiq_queues.yml\" -e production -P ${cfg.statePath}/tmp/sidekiq.pid";
       };
     };
 
@@ -492,15 +486,13 @@ in {
       after = [ "network.target" "gitlab.service" ];
       wantedBy = [ "multi-user.target" ];
       environment.HOME = gitlabEnv.HOME;
-      environment.GEM_HOME = "${cfg.packages.gitaly.rubyEnv}/${ruby.gemPath}";
       environment.GITLAB_SHELL_CONFIG_PATH = gitlabEnv.GITLAB_SHELL_CONFIG_PATH;
-      path = with pkgs; [ gitAndTools.git cfg.packages.gitaly.rubyEnv ruby ];
+      path = with pkgs; [ gitAndTools.git cfg.packages.gitaly.rubyEnv cfg.packages.gitaly.rubyEnv.wrappedRuby ];
       serviceConfig = {
-        #PermissionsStartOnly = true; # preStart must be run as root
         Type = "simple";
         User = cfg.user;
         Group = cfg.group;
-        TimeoutSec = "300";
+        TimeoutSec = "infinity";
         Restart = "on-failure";
         WorkingDirectory = gitlabEnv.HOME;
         ExecStart = "${cfg.packages.gitaly}/bin/gitaly ${gitalyToml}";
@@ -528,7 +520,7 @@ in {
         Type = "simple";
         User = cfg.user;
         Group = cfg.group;
-        TimeoutSec = "300";
+        TimeoutSec = "infinity";
         Restart = "on-failure";
         WorkingDirectory = gitlabEnv.HOME;
         ExecStart =
@@ -566,6 +558,7 @@ in {
         mkdir -p ${cfg.statePath}/tmp/pids
         mkdir -p ${cfg.statePath}/tmp/sockets
         mkdir -p ${cfg.statePath}/shell
+        mkdir -p ${cfg.statePath}/db
 
         rm -rf ${cfg.statePath}/config ${cfg.statePath}/shell/hooks
         mkdir -p ${cfg.statePath}/config
@@ -580,6 +573,7 @@ in {
         ln -sf ${cfg.statePath}/log /run/gitlab/log
         ln -sf ${cfg.statePath}/uploads /run/gitlab/uploads
         ln -sf ${cfg.statePath}/tmp /run/gitlab/tmp
+        ln -sf $GITLAB_SHELL_CONFIG_PATH /run/gitlab/shell-config.yml
         chown -R ${cfg.user}:${cfg.group} /run/gitlab
 
         # Prepare home directory
@@ -587,6 +581,7 @@ in {
         touch ${gitlabEnv.HOME}/.ssh/authorized_keys
         chown -R ${cfg.user}:${cfg.group} ${gitlabEnv.HOME}/
 
+        cp -rf ${cfg.packages.gitlab}/share/gitlab/db/* ${cfg.statePath}/db
         cp -rf ${cfg.packages.gitlab}/share/gitlab/config.dist/* ${cfg.statePath}/config
         ${optionalString cfg.smtp.enable ''
           ln -sf ${smtpSettings} ${cfg.statePath}/config/initializers/smtp_settings.rb
@@ -654,10 +649,10 @@ in {
         Type = "simple";
         User = cfg.user;
         Group = cfg.group;
-        TimeoutSec = "300";
+        TimeoutSec = "infinity";
         Restart = "on-failure";
         WorkingDirectory = "${cfg.packages.gitlab}/share/gitlab";
-        ExecStart = "${cfg.packages.gitlab.rubyEnv}/bin/bundle exec \"unicorn -c ${cfg.statePath}/config/unicorn.rb -E production\"";
+        ExecStart = "${cfg.packages.gitlab.rubyEnv}/bin/unicorn -c ${cfg.statePath}/config/unicorn.rb -E production";
       };
 
     };
diff --git a/nixos/modules/services/misc/gitlab.xml b/nixos/modules/services/misc/gitlab.xml
index 4b00f50abd6..3306ba8e9b1 100644
--- a/nixos/modules/services/misc/gitlab.xml
+++ b/nixos/modules/services/misc/gitlab.xml
@@ -18,19 +18,18 @@ webserver to proxy HTTP requests to the socket.</para>
     frontend proxy:
 
 <programlisting>
-    services.nginx = {
-      enable = true;
-      recommendedGzipSettings = true;
-      recommendedOptimisation = true;
-      recommendedProxySettings = true;
-      recommendedTlsSettings = true;
-      virtualHosts."git.example.com" = {
-        enableACME = true;
-        forceSSL = true;
-        locations."/".proxyPass = "http://unix:/run/gitlab/gitlab-workhorse.socket";
-      };
-    };
-'';
+<link linkend="opt-services.nginx.enable">services.nginx</link> = {
+  <link linkend="opt-services.nginx.enable">enable</link> = true;
+  <link linkend="opt-services.nginx.recommendedGzipSettings">recommendedGzipSettings</link> = true;
+  <link linkend="opt-services.nginx.recommendedOptimisation">recommendedOptimisation</link> = true;
+  <link linkend="opt-services.nginx.recommendedProxySettings">recommendedProxySettings</link> = true;
+  <link linkend="opt-services.nginx.recommendedTlsSettings">recommendedTlsSettings</link> = true;
+  <link linkend="opt-services.nginx.virtualHosts">virtualHosts</link>."git.example.com" = {
+    <link linkend="opt-services.nginx.virtualHosts._name_.enableACME">enableACME</link> = true;
+    <link linkend="opt-services.nginx.virtualHosts._name_.forceSSL">forceSSL</link> = true;
+    <link linkend="opt-services.nginx.virtualHosts._name_.locations._name_.proxyPass">locations."/".proxyPass</link> = "http://unix:/run/gitlab/gitlab-workhorse.socket";
+  };
+};
 </programlisting>
 </para>
 
@@ -49,24 +48,24 @@ all data like the repositories and uploads will be stored.</para>
 
 <programlisting>
 services.gitlab = {
-  enable = true;
-  databasePassword = "eXaMpl3";
-  initialRootPassword = "UseNixOS!";
-  https = true;
-  host = "git.example.com";
-  port = 443;
-  user = "git";
-  group = "git";
+  <link linkend="opt-services.gitlab.enable">enable</link> = true;
+  <link linkend="opt-services.gitlab.databasePassword">databasePassword</link> = "eXaMpl3";
+  <link linkend="opt-services.gitlab.initialRootPassword">initialRootPassword</link> = "UseNixOS!";
+  <link linkend="opt-services.gitlab.https">https</link> = true;
+  <link linkend="opt-services.gitlab.host">host</link> = "git.example.com";
+  <link linkend="opt-services.gitlab.port">port</link> = 443;
+  <link linkend="opt-services.gitlab.user">user</link> = "git";
+  <link linkend="opt-services.gitlab.group">group</link> = "git";
   smtp = {
-    enable = true;
-    address = "localhost";
-    port = 25;
+    <link linkend="opt-services.gitlab.smtp.enable">enable</link> = true;
+    <link linkend="opt-services.gitlab.smtp.address">address</link> = "localhost";
+    <link linkend="opt-services.gitlab.smtp.port">port</link> = 25;
   };
   secrets = {
-    db = "uPgq1gtwwHiatiuE0YHqbGa5lEIXH7fMsvuTNgdzJi8P0Dg12gibTzBQbq5LT7PNzcc3BP9P1snHVnduqtGF43PgrQtU7XL93ts6gqe9CBNhjtaqUwutQUDkygP5NrV6";
-    secret = "devzJ0Tz0POiDBlrpWmcsjjrLaltyiAdS8TtgT9YNBOoUcDsfppiY3IXZjMVtKgXrFImIennFGOpPN8IkP8ATXpRgDD5rxVnKuTTwYQaci2NtaV1XxOQGjdIE50VGsR3";
-    otp = "e1GATJVuS2sUh7jxiPzZPre4qtzGGaS22FR50Xs1TerRVdgI3CBVUi5XYtQ38W4xFeS4mDqi5cQjExE838iViSzCdcG19XSL6qNsfokQP9JugwiftmhmCadtsnHErBMI";
-    jws = ''
+    <link linkend="opt-services.gitlab.secrets.db">db</link> = "uPgq1gtwwHiatiuE0YHqbGa5lEIXH7fMsvuTNgdzJi8P0Dg12gibTzBQbq5LT7PNzcc3BP9P1snHVnduqtGF43PgrQtU7XL93ts6gqe9CBNhjtaqUwutQUDkygP5NrV6";
+    <link linkend="opt-services.gitlab.secrets.secret">secret</link> = "devzJ0Tz0POiDBlrpWmcsjjrLaltyiAdS8TtgT9YNBOoUcDsfppiY3IXZjMVtKgXrFImIennFGOpPN8IkP8ATXpRgDD5rxVnKuTTwYQaci2NtaV1XxOQGjdIE50VGsR3";
+    <link linkend="opt-services.gitlab.secrets.otp">otp</link> = "e1GATJVuS2sUh7jxiPzZPre4qtzGGaS22FR50Xs1TerRVdgI3CBVUi5XYtQ38W4xFeS4mDqi5cQjExE838iViSzCdcG19XSL6qNsfokQP9JugwiftmhmCadtsnHErBMI";
+    <link linkend="opt-services.gitlab.secrets.jws">jws</link> = ''
       -----BEGIN RSA PRIVATE KEY-----
       MIIEpAIBAAKCAQEArrtx4oHKwXoqUbMNqnHgAklnnuDon3XG5LJB35yPsXKv/8GK
       ke92wkI+s1Xkvsp8tg9BIY/7c6YK4SR07EWL+dB5qwctsWR2Q8z+/BKmTx9D99pm
@@ -96,7 +95,7 @@ services.gitlab = {
       -----END RSA PRIVATE KEY-----
     '';
   };
-  extraConfig = {
+  <link linkend="opt-services.gitlab.extraConfig">extraConfig</link> = {
     gitlab = {
       email_from = "gitlab-no-reply@example.com";
       email_display_name = "Example GitLab";
@@ -116,7 +115,7 @@ secret from <literal>config/secrets.yml</literal> located in your Gitlab state
 folder.</para>
 
 <para>Refer to <xref linkend="ch-options" /> for all available configuration
-options for the <literal>services.gitlab</literal> module.</para>
+options for the <link linkend="opt-services.gitlab.enable">services.gitlab</link> module.</para>
 
 </section>
 
diff --git a/nixos/modules/services/misc/gitweb.nix b/nixos/modules/services/misc/gitweb.nix
new file mode 100644
index 00000000000..ca21366b779
--- /dev/null
+++ b/nixos/modules/services/misc/gitweb.nix
@@ -0,0 +1,59 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+  cfg = config.services.gitweb;
+
+in
+{
+
+  options.services.gitweb = {
+
+    projectroot = mkOption {
+      default = "/srv/git";
+      type = types.path;
+      description = ''
+        Path to git projects (bare repositories) that should be served by
+        gitweb. Must not end with a slash.
+      '';
+    };
+
+    extraConfig = mkOption {
+      default = "";
+      type = types.lines;
+      description = ''
+        Verbatim configuration text appended to the generated gitweb.conf file.
+      '';
+      example = ''
+        $feature{'highlight'}{'default'} = [1];
+        $feature{'ctags'}{'default'} = [1];
+        $feature{'avatar'}{'default'} = ['gravatar'];
+      '';
+    };
+
+    gitwebTheme = mkOption {
+      default = false;
+      type = types.bool;
+      description = ''
+        Use an alternative theme for gitweb, strongly inspired by GitHub.
+      '';
+    };
+
+    gitwebConfigFile = mkOption {
+      default = pkgs.writeText "gitweb.conf" ''
+        # path to git projects (<project>.git)
+        $projectroot = "${cfg.projectroot}";
+        $highlight_bin = "${pkgs.highlight}/bin/highlight";
+        ${cfg.extraConfig}
+      '';
+      type = types.path;
+      readOnly = true;
+      internal = true;
+    };
+
+  };
+
+  meta.maintainers = with maintainers; [ gnidorah ];
+
+}
diff --git a/nixos/modules/services/misc/gogs.nix b/nixos/modules/services/misc/gogs.nix
index f6d326e43d9..ba744d37e71 100644
--- a/nixos/modules/services/misc/gogs.nix
+++ b/nixos/modules/services/misc/gogs.nix
@@ -35,6 +35,9 @@ let
     SECRET_KEY = #secretkey#
     INSTALL_LOCK = true
 
+    [log]
+    ROOT_PATH = ${cfg.stateDir}/log
+
     ${cfg.extraConfig}
   '';
 in
diff --git a/nixos/modules/services/misc/home-assistant.nix b/nixos/modules/services/misc/home-assistant.nix
index cc60a143fa6..1dc7b44ee37 100644
--- a/nixos/modules/services/misc/home-assistant.nix
+++ b/nixos/modules/services/misc/home-assistant.nix
@@ -5,7 +5,10 @@ with lib;
 let
   cfg = config.services.home-assistant;
 
-  configFile = pkgs.writeText "configuration.yaml" (builtins.toJSON cfg.config);
+  # cfg.config != null can be assumed here
+  configFile = pkgs.writeText "configuration.json"
+    (builtins.toJSON (if cfg.applyDefaultConfig then
+    (lib.recursiveUpdate defaultConfig cfg.config) else cfg.config));
 
   availableComponents = pkgs.home-assistant.availableComponents;
 
@@ -38,6 +41,12 @@ let
     then (cfg.package.override { inherit extraComponents; })
     else cfg.package;
 
+  # If you are changing this, please update the description in applyDefaultConfig
+  defaultConfig = {
+    homeassistant.time_zone = config.time.timeZone;
+    http.server_port = (toString cfg.port);
+  };
+
 in {
   meta.maintainers = with maintainers; [ dotlambda ];
 
@@ -50,6 +59,26 @@ in {
       description = "The config directory, where your <filename>configuration.yaml</filename> is located.";
     };
 
+    port = mkOption {
+      default = 8123;
+      type = types.int;
+      description = "The port on which to listen.";
+    };
+
+    applyDefaultConfig = mkOption {
+      default = true;
+      type = types.bool;
+      description = ''
+        Setting this option enables a few configuration options for HA based on NixOS configuration (such as time zone) to avoid having to manually specify configuration we already have.
+        </para>
+        <para>
+        Currently one side effect of enabling this is that the <literal>http</literal> component will be enabled.
+        </para>
+        <para>
+        This only takes effect if <literal>config != null</literal> in order to ensure that a manually managed <filename>configuration.yaml</filename> is not overwritten.
+      '';
+    };
+
     config = mkOption {
       default = null;
       type = with types; nullOr attrs;
@@ -104,23 +133,33 @@ in {
   config = mkIf cfg.enable {
     systemd.services.home-assistant = {
       description = "Home Assistant";
-      wantedBy = [ "multi-user.target" ];
       after = [ "network.target" ];
       preStart = lib.optionalString (cfg.config != null) ''
-        rm -f ${cfg.configDir}/configuration.yaml
-        ln -s ${configFile} ${cfg.configDir}/configuration.yaml
+        config=${cfg.configDir}/configuration.yaml
+        rm -f $config
+        ${pkgs.remarshal}/bin/json2yaml -i ${configFile} -o $config
+        chmod 444 $config
       '';
       serviceConfig = {
-        ExecStart = ''
-          ${package}/bin/hass --config "${cfg.configDir}"
-        '';
+        ExecStart = "${package}/bin/hass --config '${cfg.configDir}'";
         User = "hass";
         Group = "hass";
         Restart = "on-failure";
         ProtectSystem = "strict";
         ReadWritePaths = "${cfg.configDir}";
         PrivateTmp = true;
+        RemoveIPC = true;
       };
+      path = [
+        "/run/wrappers" # needed for ping
+      ];
+    };
+
+    systemd.targets.home-assistant = rec {
+      description = "Home Assistant";
+      wantedBy = [ "multi-user.target" ];
+      wants = [ "home-assistant.service" ];
+      after = wants;
     };
 
     users.extraUsers.hass = {
diff --git a/nixos/modules/services/misc/ihaskell.nix b/nixos/modules/services/misc/ihaskell.nix
index e07a4a44613..6da9cc8c47e 100644
--- a/nixos/modules/services/misc/ihaskell.nix
+++ b/nixos/modules/services/misc/ihaskell.nix
@@ -55,7 +55,7 @@ in
       serviceConfig = {
         User = config.users.extraUsers.ihaskell.name;
         Group = config.users.extraGroups.ihaskell.name;
-        ExecStart = "${pkgs.stdenv.shell} -c \"cd $HOME;${ihaskell}/bin/ihaskell-notebook\"";
+        ExecStart = "${pkgs.runtimeShell} -c \"cd $HOME;${ihaskell}/bin/ihaskell-notebook\"";
       };
     };
   };
diff --git a/nixos/modules/services/misc/logkeys.nix b/nixos/modules/services/misc/logkeys.nix
index df0b3ae24c9..ad13d9eaa67 100644
--- a/nixos/modules/services/misc/logkeys.nix
+++ b/nixos/modules/services/misc/logkeys.nix
@@ -7,6 +7,13 @@ let
 in {
   options.services.logkeys = {
     enable = mkEnableOption "logkeys service";
+
+    device = mkOption {
+      description = "Use the given device as keyboard input event device instead of /dev/input/eventX default.";
+      default = null;
+      type = types.nullOr types.string;
+      example = "/dev/input/event15";
+    };
   };
 
   config = mkIf cfg.enable {
@@ -14,7 +21,7 @@ in {
       description = "LogKeys Keylogger Daemon";
       wantedBy = [ "multi-user.target" ];
       serviceConfig = {
-        ExecStart = "${pkgs.logkeys}/bin/logkeys -s";
+        ExecStart = "${pkgs.logkeys}/bin/logkeys -s${lib.optionalString (cfg.device != null) " -d ${cfg.device}"}";
         ExecStop = "${pkgs.logkeys}/bin/logkeys -k";
         Type = "forking";
       };
diff --git a/nixos/modules/services/misc/matrix-synapse.nix b/nixos/modules/services/misc/matrix-synapse.nix
index 7e880ad09b8..f7441988b27 100644
--- a/nixos/modules/services/misc/matrix-synapse.nix
+++ b/nixos/modules/services/misc/matrix-synapse.nix
@@ -342,7 +342,7 @@ in {
       };
       database_type = mkOption {
         type = types.enum [ "sqlite3" "psycopg2" ];
-        default = if versionAtLeast config.system.stateVersion "18.03"
+        default = if versionAtLeast config.system.nixos.stateVersion "18.03"
           then "psycopg2"
           else "sqlite3";
         description = ''
@@ -395,7 +395,14 @@ in {
       };
       url_preview_ip_range_blacklist = mkOption {
         type = types.listOf types.str;
-        default = [];
+        default = [
+          "127.0.0.0/8"
+          "10.0.0.0/8"
+          "172.16.0.0/12"
+          "192.168.0.0/16"
+          "100.64.0.0/10"
+          "169.254.0.0/16"
+        ];
         description = ''
           List of IP address CIDR ranges that the URL preview spider is denied
           from accessing.
@@ -412,14 +419,7 @@ in {
       };
       url_preview_url_blacklist = mkOption {
         type = types.listOf types.str;
-        default = [
-          "127.0.0.0/8"
-          "10.0.0.0/8"
-          "172.16.0.0/12"
-          "192.168.0.0/16"
-          "100.64.0.0/10"
-          "169.254.0.0/16"
-        ];
+        default = [];
         description = ''
           Optional list of URL matches that the URL preview spider is
           denied from accessing.
diff --git a/nixos/modules/services/misc/mesos-slave.nix b/nixos/modules/services/misc/mesos-slave.nix
index 47be10274d3..468c7f36ecc 100644
--- a/nixos/modules/services/misc/mesos-slave.nix
+++ b/nixos/modules/services/misc/mesos-slave.nix
@@ -187,8 +187,8 @@ in {
     systemd.services.mesos-slave = {
       description = "Mesos Slave";
       wantedBy = [ "multi-user.target" ];
-      after = [ "network.target" ];
-      path = [ pkgs.stdenv.shellPackage ];
+      after = [ "network.target" ] ++ optionals cfg.withDocker [ "docker.service" ] ;
+      path = [ pkgs.runtimeShellPackage ];
       serviceConfig = {
         ExecStart = ''
           ${pkgs.mesos}/bin/mesos-slave \
@@ -213,7 +213,7 @@ in {
         PermissionsStartOnly = true;
       };
       preStart = ''
-        mkdir -m 0700 -p ${cfg.workDir}
+        mkdir -m 0701 -p ${cfg.workDir}
       '';
     };
   };
diff --git a/nixos/modules/services/misc/nix-daemon.nix b/nixos/modules/services/misc/nix-daemon.nix
index 72b70b28c80..6aa6d9b271f 100644
--- a/nixos/modules/services/misc/nix-daemon.nix
+++ b/nixos/modules/services/misc/nix-daemon.nix
@@ -30,10 +30,10 @@ let
       # /bin/sh in the sandbox as a bind-mount to bash. This means we
       # also need to include the entire closure of bash. Nix >= 2.0
       # provides a /bin/sh by default.
-      sh = pkgs.stdenv.shell;
+      sh = pkgs.runtimeShell;
       binshDeps = pkgs.writeReferencesToFile sh;
     in
-      pkgs.runCommand "nix.conf" { extraOptions = cfg.extraOptions; } ''
+      pkgs.runCommand "nix.conf" { extraOptions = cfg.extraOptions; } (''
         ${optionalString (!isNix20) ''
           extraPaths=$(for i in $(cat ${binshDeps}); do if test -d $i; then echo $i; fi; done)
         ''}
@@ -62,7 +62,11 @@ let
         ''}
         $extraOptions
         END
-      '';
+      '' + optionalString cfg.checkConfig ''
+        echo "Checking that Nix can read nix.conf..."
+        ln -s $out ./nix.conf
+        NIX_CONF_DIR=$PWD ${cfg.package}/bin/nix show-config >/dev/null
+      '');
 
 in
 
@@ -338,7 +342,9 @@ in
       nixPath = mkOption {
         type = types.listOf types.str;
         default =
-          [ "nixpkgs=/nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs"
+          [
+            "$HOME/.nix-defexpr/channels"
+            "nixpkgs=/nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs"
             "nixos-config=/etc/nixos/configuration.nix"
             "/nix/var/nix/profiles/per-user/root/channels"
           ];
@@ -349,6 +355,13 @@ in
         '';
       };
 
+      checkConfig = mkOption {
+        type = types.bool;
+        default = true;
+        description = ''
+          If enabled (the default), checks that Nix can parse the generated nix.conf.
+        '';
+      };
     };
 
   };
@@ -439,19 +452,18 @@ in
 
     services.xserver.displayManager.hiddenUsers = map ({ name, ... }: name) nixbldUsers;
 
+    # FIXME: use systemd-tmpfiles to create Nix directories.
     system.activationScripts.nix = stringAfter [ "etc" "users" ]
       ''
         # Nix initialisation.
-        mkdir -m 0755 -p \
+        install -m 0755 -d \
           /nix/var/nix/gcroots \
           /nix/var/nix/temproots \
-          /nix/var/nix/manifests \
           /nix/var/nix/userpool \
           /nix/var/nix/profiles \
           /nix/var/nix/db \
-          /nix/var/log/nix/drvs \
-          /nix/var/nix/channel-cache
-        mkdir -m 1777 -p \
+          /nix/var/log/nix/drvs
+        install -m 1777 -d \
           /nix/var/nix/gcroots/per-user \
           /nix/var/nix/profiles/per-user \
           /nix/var/nix/gcroots/tmp
diff --git a/nixos/modules/services/misc/nixos-manual.nix b/nixos/modules/services/misc/nixos-manual.nix
index 5d0f2abd13a..4bd1c20edf7 100644
--- a/nixos/modules/services/misc/nixos-manual.nix
+++ b/nixos/modules/services/misc/nixos-manual.nix
@@ -23,7 +23,7 @@ let
     options =
       let
         scrubbedEval = evalModules {
-          modules = [ { nixpkgs.system = config.nixpkgs.system; } ] ++ baseModules;
+          modules = [ { nixpkgs.localSystem = config.nixpkgs.localSystem; } ] ++ baseModules;
           args = (config._module.args) // { modules = [ ]; };
           specialArgs = { pkgs = scrubDerivations "pkgs" pkgs; };
         };
@@ -43,7 +43,7 @@ let
 
   helpScript = pkgs.writeScriptBin "nixos-help"
     ''
-      #! ${pkgs.stdenv.shell} -e
+      #! ${pkgs.runtimeShell} -e
       browser="$BROWSER"
       if [ -z "$browser" ]; then
         browser="$(type -P xdg-open || true)"
@@ -112,10 +112,10 @@ in
 
     system.build.manual = manual;
 
-    environment.systemPackages =
-      [ manual.manual helpScript ]
-      ++ optionals config.services.xserver.enable [desktopItem pkgs.nixos-icons]
-      ++ optional config.programs.man.enable manual.manpages;
+    environment.systemPackages = []
+      ++ optionals config.services.xserver.enable [ desktopItem pkgs.nixos-icons ]
+      ++ optional  config.documentation.man.enable manual.manpages
+      ++ optionals config.documentation.doc.enable [ manual.manual helpScript ];
 
     boot.extraTTYs = mkIf cfg.showManual ["tty${toString cfg.ttyNumber}"];
 
diff --git a/nixos/modules/services/misc/parsoid.nix b/nixos/modules/services/misc/parsoid.nix
index ae3f84333d2..c757093e5c1 100644
--- a/nixos/modules/services/misc/parsoid.nix
+++ b/nixos/modules/services/misc/parsoid.nix
@@ -6,6 +6,8 @@ let
 
   cfg = config.services.parsoid;
 
+  parsoid = pkgs.nodePackages."parsoid-git://github.com/abbradar/parsoid#stable";
+
   confTree = {
     worker_heartbeat_timeout = 300000;
     logging = { level = "info"; };
@@ -93,7 +95,7 @@ in
       after = [ "network.target" ];
       serviceConfig = {
         User = "nobody";
-        ExecStart = "${pkgs.nodePackages.parsoid}/lib/node_modules/parsoid/bin/server.js -c ${confFile} -n ${toString cfg.workers}";
+        ExecStart = "${parsoid}/lib/node_modules/parsoid/bin/server.js -c ${confFile} -n ${toString cfg.workers}";
       };
     };
 
diff --git a/nixos/modules/services/misc/safeeyes.nix b/nixos/modules/services/misc/safeeyes.nix
new file mode 100644
index 00000000000..1a33971d922
--- /dev/null
+++ b/nixos/modules/services/misc/safeeyes.nix
@@ -0,0 +1,50 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+
+  cfg = config.services.safeeyes;
+
+in
+
+{
+
+  ###### interface
+
+  options = {
+
+    services.safeeyes = {
+
+      enable = mkOption {
+        default = false;
+        description = "Whether to enable the safeeyes OSGi service";
+      };
+
+    };
+
+  };
+
+  ###### implementation
+
+  config = mkIf cfg.enable {
+
+    systemd.user.services.safeeyes = {
+      description = "Safeeyes";
+
+      wantedBy = [ "graphical-session.target" ];
+      partOf   = [ "graphical-session.target" ];
+
+      serviceConfig = {
+        ExecStart = ''
+          ${pkgs.safeeyes}/bin/safeeyes
+        '';
+        Restart = "on-failure";
+        RestartSec = 3;
+        StartLimitInterval = 350;
+        StartLimitBurst = 10;
+      };
+    };
+
+  };
+}
diff --git a/nixos/modules/services/misc/serviio.nix b/nixos/modules/services/misc/serviio.nix
new file mode 100644
index 00000000000..a6612e9c6ad
--- /dev/null
+++ b/nixos/modules/services/misc/serviio.nix
@@ -0,0 +1,92 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+
+  cfg = config.services.serviio;
+
+  serviioStart = pkgs.writeScript "serviio.sh" ''
+    #!${pkgs.bash}/bin/sh
+
+    SERVIIO_HOME=${pkgs.serviio}
+    
+    # Setup the classpath
+    SERVIIO_CLASS_PATH="$SERVIIO_HOME/lib/*:$SERVIIO_HOME/config"
+
+    # Setup Serviio specific properties
+    JAVA_OPTS="-Djava.net.preferIPv4Stack=true -Djava.awt.headless=true -Dorg.restlet.engine.loggerFacadeClass=org.restlet.ext.slf4j.Slf4jLoggerFacade
+               -Dderby.system.home=${cfg.dataDir}/library -Dserviio.home=${cfg.dataDir} -Dffmpeg.location=${pkgs.ffmpeg}/bin/ffmpeg -Ddcraw.location=${pkgs.dcraw}/bin/dcraw"
+
+    # Execute the JVM in the foreground
+    exec ${pkgs.jre}/bin/java -Xmx512M -Xms20M -XX:+UseG1GC -XX:GCTimeRatio=1 -XX:MinHeapFreeRatio=10 -XX:MaxHeapFreeRatio=20 $JAVA_OPTS -classpath "$SERVIIO_CLASS_PATH" org.serviio.MediaServer "$@"
+  '';
+  
+in {
+
+  ###### interface
+  options = {
+    services.serviio = {
+      
+      enable = mkOption {
+        type = types.bool;
+        default = false;
+        description = ''
+          Whether to enable the Serviio Media Server.
+        '';
+      };
+
+      dataDir = mkOption {
+        type = types.path;
+        default = "/var/lib/serviio";
+        description = ''
+          The directory where serviio stores its state, data, etc.
+        '';
+      };
+
+    };
+  };
+
+  ###### implementation
+
+  config = mkIf cfg.enable {
+    systemd.services.serviio = {
+      description = "Serviio Media Server";
+      after = [ "local-fs.target" "network.target" ];
+      wantedBy = [ "multi-user.target" ];
+      path = [ pkgs.serviio ];
+      serviceConfig = {
+        User = "serviio";
+        Group = "serviio";
+        ExecStart = "${serviioStart}";
+        ExecStop = "${serviioStart} -stop";
+      };
+    };
+
+    users.extraUsers = [
+      { 
+        name = "serviio";
+        group = "serviio";
+        home = cfg.dataDir;
+        description = "Serviio Media Server User";
+        createHome = true;
+        isSystemUser = true;
+      }
+    ];
+
+    users.extraGroups = [
+      { name = "serviio";} 
+    ];
+
+    networking.firewall = {
+      allowedTCPPorts = [ 
+        8895  # serve UPnP responses
+        23423 # console
+        23424 # mediabrowser
+      ];
+      allowedUDPPorts = [ 
+        1900 # UPnP service discovey
+      ];
+    };
+  };
+}
diff --git a/nixos/modules/services/misc/ssm-agent.nix b/nixos/modules/services/misc/ssm-agent.nix
index a57fbca86fb..e951a4c7ffa 100644
--- a/nixos/modules/services/misc/ssm-agent.nix
+++ b/nixos/modules/services/misc/ssm-agent.nix
@@ -8,7 +8,7 @@ let
   # in nixpkgs doesn't seem to work properly on NixOS, so let's just fake the two fields SSM
   # looks for. See https://github.com/aws/amazon-ssm-agent/issues/38 for upstream fix.
   fake-lsb-release = pkgs.writeScriptBin "lsb_release" ''
-    #!${pkgs.stdenv.shell}
+    #!${pkgs.runtimeShell}
 
     case "$1" in
       -i) echo "nixos";;
diff --git a/nixos/modules/services/misc/taskserver/doc.xml b/nixos/modules/services/misc/taskserver/doc.xml
index 6d4d2a9b488..75493ac1394 100644
--- a/nixos/modules/services/misc/taskserver/doc.xml
+++ b/nixos/modules/services/misc/taskserver/doc.xml
@@ -55,7 +55,7 @@
       Because Taskserver by default only provides scripts to setup users
       imperatively, the <command>nixos-taskserver</command> tool is used for
       addition and deletion of organisations along with users and groups defined
-      by <option>services.taskserver.organisations</option> and as well for
+      by <xref linkend="opt-services.taskserver.organisations"/> and as well for
       imperative set up.
     </para>
 
@@ -99,10 +99,10 @@
       For example, let's say you have the following configuration:
 <screen>
 {
-  services.taskserver.enable = true;
-  services.taskserver.fqdn = "server";
-  services.taskserver.listenHost = "::";
-  services.taskserver.organisations.my-company.users = [ "alice" ];
+  <xref linkend="opt-services.taskserver.enable"/> = true;
+  <xref linkend="opt-services.taskserver.fqdn"/> = "server";
+  <xref linkend="opt-services.taskserver.listenHost"/> = "::";
+  <link linkend="opt-services.taskserver.organisations._name_.users">services.taskserver.organisations.my-company.users</link> = [ "alice" ];
 }
 </screen>
       This creates an organisation called <literal>my-company</literal> with the
@@ -136,7 +136,7 @@ $ ssh server nixos-taskserver user export my-company alice | sh
 
     <para>
       If you set any options within
-      <option>service.taskserver.pki.manual.*</option>,
+      <link linkend="opt-services.taskserver.pki.manual.ca.cert">service.taskserver.pki.manual</link>.*,
       <command>nixos-taskserver</command> won't issue certificates, but you can
       still use it for adding or removing user accounts.
     </para>
diff --git a/nixos/modules/services/monitoring/apcupsd.nix b/nixos/modules/services/monitoring/apcupsd.nix
index 9abd6e9ab64..839116de626 100644
--- a/nixos/modules/services/monitoring/apcupsd.nix
+++ b/nixos/modules/services/monitoring/apcupsd.nix
@@ -38,7 +38,7 @@ let
   ];
 
   shellCmdsForEventScript = eventname: commands: ''
-    echo "#!${pkgs.stdenv.shell}" > "$out/${eventname}"
+    echo "#!${pkgs.runtimeShell}" > "$out/${eventname}"
     echo '${commands}' >> "$out/${eventname}"
     chmod a+x "$out/${eventname}"
   '';
diff --git a/nixos/modules/services/monitoring/grafana.nix b/nixos/modules/services/monitoring/grafana.nix
index 921be23f368..eceb91525db 100644
--- a/nixos/modules/services/monitoring/grafana.nix
+++ b/nixos/modules/services/monitoring/grafana.nix
@@ -25,6 +25,7 @@ let
     DATABASE_USER = cfg.database.user;
     DATABASE_PASSWORD = cfg.database.password;
     DATABASE_PATH = cfg.database.path;
+    DATABASE_CONN_MAX_LIFETIME = cfg.database.connMaxLifetime;
 
     SECURITY_ADMIN_USER = cfg.security.adminUser;
     SECURITY_ADMIN_PASSWORD = cfg.security.adminPassword;
@@ -49,7 +50,7 @@ in {
     protocol = mkOption {
       description = "Which protocol to listen.";
       default = "http";
-      type = types.enum ["http" "https"];
+      type = types.enum ["http" "https" "socket"];
     };
 
     addr = mkOption {
@@ -143,6 +144,15 @@ in {
         default = "${cfg.dataDir}/data/grafana.db";
         type = types.path;
       };
+
+      connMaxLifetime = mkOption {
+        description = ''
+          Sets the maximum amount of time (in seconds) a connection may be reused.
+          For MySQL this setting should be shorter than the `wait_timeout' variable.
+        '';
+        default = 14400;
+        type = types.int;
+      };
     };
 
     security = {
@@ -241,7 +251,9 @@ in {
       description = "Grafana Service Daemon";
       wantedBy = ["multi-user.target"];
       after = ["networking.target"];
-      environment = mapAttrs' (n: v: nameValuePair "GF_${n}" (toString v)) envOptions;
+      environment = {
+        QT_QPA_PLATFORM = "offscreen";
+      } // mapAttrs' (n: v: nameValuePair "GF_${n}" (toString v)) envOptions;
       serviceConfig = {
         ExecStart = "${cfg.package.bin}/bin/grafana-server -homepath ${cfg.dataDir}";
         WorkingDirectory = cfg.dataDir;
diff --git a/nixos/modules/services/monitoring/monit.nix b/nixos/modules/services/monitoring/monit.nix
index 71f50cc0f19..d48e5c550ab 100644
--- a/nixos/modules/services/monitoring/monit.nix
+++ b/nixos/modules/services/monitoring/monit.nix
@@ -26,16 +26,10 @@ in
 
     environment.systemPackages = [ pkgs.monit ];
 
-    environment.etc = [
-      {
-        source = pkgs.writeTextFile {
-          name = "monitrc";
-          text = config.services.monit.config;
-        };
-        target = "monitrc";
-        mode = "0400";
-      }
-    ];
+    environment.etc."monitrc" = {
+      text = config.services.monit.config;
+      mode = "0400";
+    };
 
     systemd.services.monit = {
       description = "Pro-active monitoring utility for unix systems";
@@ -48,6 +42,8 @@ in
         KillMode = "process";
         Restart = "always";
       };
+      restartTriggers = [ config.environment.etc."monitrc".source ];
     };
+
   };
 }
diff --git a/nixos/modules/services/monitoring/prometheus/blackbox-exporter.nix b/nixos/modules/services/monitoring/prometheus/blackbox-exporter.nix
deleted file mode 100644
index ce2e1cf2d74..00000000000
--- a/nixos/modules/services/monitoring/prometheus/blackbox-exporter.nix
+++ /dev/null
@@ -1,68 +0,0 @@
-{ config, pkgs, lib, ... }:
-
-with lib;
-
-let
-  cfg = config.services.prometheus.blackboxExporter;
-in {
-  options = {
-    services.prometheus.blackboxExporter = {
-      enable = mkEnableOption "prometheus blackbox exporter";
-
-      configFile = mkOption {
-        type = types.path;
-        description = ''
-          Path to configuration file.
-        '';
-      };
-
-      port = mkOption {
-        type = types.int;
-        default = 9115;
-        description = ''
-          Port to listen on.
-        '';
-      };
-
-      extraFlags = mkOption {
-        type = types.listOf types.str;
-        default = [];
-        description = ''
-          Extra commandline options when launching the blackbox exporter.
-        '';
-      };
-
-      openFirewall = mkOption {
-        type = types.bool;
-        default = false;
-        description = ''
-          Open port in firewall for incoming connections.
-        '';
-      };
-    };
-  };
-
-  config = mkIf cfg.enable {
-    networking.firewall.allowedTCPPorts = optional cfg.openFirewall cfg.port;
-
-    systemd.services.prometheus-blackbox-exporter = {
-      description = "Prometheus exporter for blackbox probes";
-      unitConfig.Documentation = "https://github.com/prometheus/blackbox_exporter";
-      wantedBy = [ "multi-user.target" ];
-      serviceConfig = {
-        User = "nobody";
-        Restart = "always";
-        PrivateTmp = true;
-        WorkingDirectory = /tmp;
-        AmbientCapabilities = [ "CAP_NET_RAW" ]; # for ping probes
-        ExecStart = ''
-          ${pkgs.prometheus-blackbox-exporter}/bin/blackbox_exporter \
-            --web.listen-address :${toString cfg.port} \
-            --config.file ${cfg.configFile} \
-            ${concatStringsSep " \\\n  " cfg.extraFlags}
-        '';
-        ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID";
-      };
-    };
-  };
-}
diff --git a/nixos/modules/services/monitoring/prometheus/collectd-exporter.nix b/nixos/modules/services/monitoring/prometheus/collectd-exporter.nix
deleted file mode 100644
index f8a5b9576a1..00000000000
--- a/nixos/modules/services/monitoring/prometheus/collectd-exporter.nix
+++ /dev/null
@@ -1,128 +0,0 @@
-{ config, pkgs, lib, ... }:
-
-with lib;
-
-let
-  cfg = config.services.prometheus.collectdExporter;
-
-  collectSettingsArgs = if (cfg.collectdBinary.enable) then ''
-    -collectd.listen-address ${optionalString (cfg.collectdBinary.listenAddress != null) cfg.collectdBinary.listenAddress}:${toString cfg.collectdBinary.port} \
-    -collectd.security-level ${cfg.collectdBinary.securityLevel} \
-  '' else "";
-
-in {
-  options = {
-    services.prometheus.collectdExporter = {
-      enable = mkEnableOption "prometheus collectd exporter";
-
-      port = mkOption {
-        type = types.int;
-        default = 9103;
-        description = ''
-          Port to listen on.
-          This is used for scraping as well as the to receive collectd data via the write_http plugin.
-        '';
-      };
-
-      listenAddress = mkOption {
-        type = types.nullOr types.str;
-        default = null;
-        example = "0.0.0.0";
-        description = ''
-          Address to listen on for web interface, telemetry and collectd JSON data.
-        '';
-      };
-
-      collectdBinary = {
-        enable = mkEnableOption "collectd binary protocol receiver";
-
-        authFile = mkOption {
-          default = null;
-          type = types.nullOr types.path;
-          description = "File mapping user names to pre-shared keys (passwords).";
-        };
-
-        port = mkOption {
-          type = types.int;
-          default = 25826;
-          description = ''Network address on which to accept collectd binary network packets.'';
-        };
-
-        listenAddress = mkOption {
-          type = types.nullOr types.str;
-          default = null;
-          example = "0.0.0.0";
-          description = ''
-            Address to listen on for binary network packets.
-            '';
-        };
-
-        securityLevel = mkOption {
-          type = types.enum ["None" "Sign" "Encrypt"];
-          default = "None";
-          description = ''
-            Minimum required security level for accepted packets.
-            '';
-        };
-      };
-
-      extraFlags = mkOption {
-        type = types.listOf types.str;
-        default = [];
-        description = ''
-          Extra commandline options when launching the collectd exporter.
-        '';
-      };
-
-      logFormat = mkOption {
-        type = types.str;
-        default = "logger:stderr";
-        example = "logger:syslog?appname=bob&local=7 or logger:stdout?json=true";
-        description = ''
-          Set the log target and format.
-        '';
-      };
-
-      logLevel = mkOption {
-        type = types.enum ["debug" "info" "warn" "error" "fatal"];
-        default = "info";
-        description = ''
-          Only log messages with the given severity or above.
-        '';
-      };
-
-      openFirewall = mkOption {
-        type = types.bool;
-        default = false;
-        description = ''
-          Open port in firewall for incoming connections.
-        '';
-      };
-    };
-  };
-
-  config = mkIf cfg.enable {
-    networking.firewall.allowedTCPPorts = (optional cfg.openFirewall cfg.port) ++
-      (optional (cfg.openFirewall && cfg.collectdBinary.enable) cfg.collectdBinary.port);
-
-    systemd.services.prometheus-collectd-exporter = {
-      description = "Prometheus exporter for Collectd metrics";
-      unitConfig.Documentation = "https://github.com/prometheus/collectd_exporter";
-      wantedBy = [ "multi-user.target" ];
-      serviceConfig = {
-        DynamicUser = true;
-        Restart = "always";
-        PrivateTmp = true;
-        WorkingDirectory = /tmp;
-        ExecStart = ''
-          ${pkgs.prometheus-collectd-exporter}/bin/collectd_exporter \
-            -log.format ${cfg.logFormat} \
-            -log.level ${cfg.logLevel} \
-            -web.listen-address ${optionalString (cfg.listenAddress != null) cfg.listenAddress}:${toString cfg.port} \
-            ${collectSettingsArgs} \
-            ${concatStringsSep " " cfg.extraFlags}
-        '';
-      };
-    };
-  };
-}
diff --git a/nixos/modules/services/monitoring/prometheus/exporters.nix b/nixos/modules/services/monitoring/prometheus/exporters.nix
new file mode 100644
index 00000000000..780448d8bad
--- /dev/null
+++ b/nixos/modules/services/monitoring/prometheus/exporters.nix
@@ -0,0 +1,174 @@
+{ config, pkgs, lib, ... }:
+
+with lib;
+
+let
+  cfg = config.services.prometheus.exporters;
+
+  # each attribute in `exporterOpts` is expected to have specified:
+  #   - port        (types.int):   port on which the exporter listens
+  #   - serviceOpts (types.attrs): config that is merged with the
+  #                                default definition of the exporter's
+  #                                systemd service
+  #   - extraOpts   (types.attrs): extra configuration options to
+  #                                configure the exporter with, which
+  #                                are appended to the default options
+  #
+  #  Note that `extraOpts` is optional, but a script for the exporter's
+  #  systemd service must be provided by specifying either
+  #  `serviceOpts.script` or `serviceOpts.serviceConfig.ExecStart`
+  exporterOpts = {
+    blackbox  = import ./exporters/blackbox.nix  { inherit config lib pkgs; };
+    collectd  = import ./exporters/collectd.nix  { inherit config lib pkgs; };
+    dovecot   = import ./exporters/dovecot.nix   { inherit config lib pkgs; };
+    fritzbox  = import ./exporters/fritzbox.nix  { inherit config lib pkgs; };
+    json      = import ./exporters/json.nix      { inherit config lib pkgs; };
+    minio     = import ./exporters/minio.nix     { inherit config lib pkgs; };
+    nginx     = import ./exporters/nginx.nix     { inherit config lib pkgs; };
+    node      = import ./exporters/node.nix      { inherit config lib pkgs; };
+    postfix   = import ./exporters/postfix.nix   { inherit config lib pkgs; };
+    snmp      = import ./exporters/snmp.nix      { inherit config lib pkgs; };
+    surfboard = import ./exporters/surfboard.nix { inherit config lib pkgs; };
+    unifi     = import ./exporters/unifi.nix     { inherit config lib pkgs; };
+    varnish   = import ./exporters/varnish.nix   { inherit config lib pkgs; };
+  };
+
+  mkExporterOpts = ({ name, port }: {
+    enable = mkEnableOption "the prometheus ${name} exporter";
+    port = mkOption {
+      type = types.int;
+      default = port;
+      description = ''
+        Port to listen on.
+      '';
+    };
+    listenAddress = mkOption {
+      type = types.str;
+      default = "0.0.0.0";
+      description = ''
+        Address to listen on.
+      '';
+    };
+    extraFlags = mkOption {
+      type = types.listOf types.str;
+      default = [];
+      description = ''
+        Extra commandline options to pass to the ${name} exporter.
+      '';
+    };
+    openFirewall = mkOption {
+      type = types.bool;
+      default = false;
+      description = ''
+        Open port in firewall for incoming connections.
+      '';
+    };
+    firewallFilter = mkOption {
+      type = types.str;
+      default = "-p tcp -m tcp --dport ${toString port}";
+      example = literalExample ''
+        "-i eth0 -p tcp -m tcp --dport ${toString port}"
+      '';
+      description = ''
+        Specify a filter for iptables to use when
+        <option>services.prometheus.exporters.${name}.openFirewall</option>
+        is true. It is used as `ip46tables -I INPUT <option>firewallFilter</option> -j ACCEPT`.
+      '';
+    };
+    user = mkOption {
+      type = types.str;
+      default = "nobody";
+      description = ''
+        User name under which the ${name} exporter shall be run.
+        Has no effect when <option>systemd.services.prometheus-${name}-exporter.serviceConfig.DynamicUser</option> is true.
+      '';
+    };
+    group = mkOption {
+      type = types.str;
+      default = "nobody";
+      description = ''
+        Group under which the ${name} exporter shall be run.
+        Has no effect when <option>systemd.services.prometheus-${name}-exporter.serviceConfig.DynamicUser</option> is true.
+      '';
+    };
+  });
+
+  mkSubModule = { name, port, extraOpts, serviceOpts }: {
+    ${name} = mkOption {
+      type = types.submodule {
+        options = (mkExporterOpts {
+          inherit name port;
+        } // extraOpts);
+      };
+      internal = true;
+      default = {};
+    };
+  };
+
+  mkSubModules = (foldl' (a: b: a//b) {}
+    (mapAttrsToList (name: opts: mkSubModule {
+      inherit name;
+      inherit (opts) port serviceOpts;
+      extraOpts = opts.extraOpts or {};
+    }) exporterOpts)
+  );
+
+  mkExporterConf = { name, conf, serviceOpts }:
+    mkIf conf.enable {
+      networking.firewall.extraCommands = mkIf conf.openFirewall ''
+        ip46tables -I INPUT ${conf.firewallFilter} -j ACCEPT
+      '';
+      systemd.services."prometheus-${name}-exporter" = mkMerge ([{
+        wantedBy = [ "multi-user.target" ];
+        after = [ "network.target" ];
+        serviceConfig = {
+          Restart = mkDefault "always";
+          PrivateTmp = mkDefault true;
+          WorkingDirectory = mkDefault /tmp;
+        } // mkIf (!(serviceOpts.serviceConfig.DynamicUser or false)) {
+          User = conf.user;
+          Group = conf.group;
+        };
+      } serviceOpts ]);
+  };
+in
+{
+  options.services.prometheus.exporters = mkOption {
+    type = types.submodule {
+      options = (mkSubModules);
+    };
+    description = "Prometheus exporter configuration";
+    default = {};
+    example = literalExample ''
+      {
+        node = {
+          enable = true;
+          enabledCollectors = [ "systemd" ];
+        };
+        varnish.enable = true;
+      }
+    '';
+  };
+
+  config = mkMerge ([{
+    assertions = [{
+      assertion = (cfg.snmp.configurationPath == null) != (cfg.snmp.configuration == null);
+      message = ''
+        Please ensure you have either `services.prometheus.exporters.snmp.configuration'
+          or `services.prometheus.exporters.snmp.configurationPath' set!
+      '';
+    }];
+  }] ++ [(mkIf config.services.minio.enable {
+    services.prometheus.exporters.minio.minioAddress  = mkDefault "http://localhost:9000";
+    services.prometheus.exporters.minio.minioAccessKey = mkDefault config.services.minio.accessKey;
+    services.prometheus.exporters.minio.minioAccessSecret = mkDefault config.services.minio.secretKey;
+  })] ++ (mapAttrsToList (name: conf:
+    mkExporterConf {
+      inherit name;
+      inherit (conf) serviceOpts;
+      conf = cfg.${name};
+    }) exporterOpts)
+  );
+
+  meta.doc = ./exporters.xml;
+}
diff --git a/nixos/modules/services/monitoring/prometheus/exporters.xml b/nixos/modules/services/monitoring/prometheus/exporters.xml
new file mode 100644
index 00000000000..4f0bcb29810
--- /dev/null
+++ b/nixos/modules/services/monitoring/prometheus/exporters.xml
@@ -0,0 +1,135 @@
+<chapter xmlns="http://docbook.org/ns/docbook"
+         xmlns:xlink="http://www.w3.org/1999/xlink"
+         xmlns:xi="http://www.w3.org/2001/XInclude"
+         version="5.0"
+         xml:id="module-services-prometheus-exporters">
+
+<title>Prometheus exporters</title>
+
+<para>Prometheus exporters provide metrics for the <link xlink:href="https://prometheus.io">prometheus monitoring system</link>.</para>
+
+<section><title>Configuration</title>
+  <para>One of the most common exporters is the <link xlink:href="https://github.com/prometheus/node_exporter">node exporter</link>, it provides hardware and OS metrics from the host it's running on. The exporter could be configured as follows:
+<programlisting>
+  services.promtheus.exporters.node = {
+    enable = true;
+    enabledCollectors = [
+      "logind"
+      "systemd"
+    ];
+    disabledCollectors = [
+      "textfile"
+    ];
+    openFirewall = true;
+    firewallFilter = "-i br0 -p tcp -m tcp --dport 9100";
+  };
+</programlisting>
+It should now serve all metrics from the collectors
+that are explicitly enabled and the ones that are
+<link xlink:href="https://github.com/prometheus/node_exporter#enabled-by-default">enabled by default</link>, via http under <literal>/metrics</literal>. In this example the firewall should just
+allow incoming connections to the exporter's port on the bridge interface <literal>br0</literal>
+(this would have to be configured seperately of course).
+For more information about configuration see <literal>man configuration.nix</literal> or
+search through the <link xlink:href="https://nixos.org/nixos/options.html#prometheus.exporters">available options</link>.
+</para>
+</section>
+<section><title>Adding a new exporter</title>
+  <para>To add a new exporter, it has to be packaged first (see <literal>nixpkgs/pkgs/servers/monitoring/prometheus/</literal> for examples), then a module can be added. The postfix exporter is used in this example:</para>
+<itemizedlist>
+  <listitem>
+    <para>
+      Some default options for all exporters are provided by
+      <literal>nixpkgs/nixos/modules/services/monitoring/prometheus/exporters.nix</literal>:
+    </para>
+  </listitem>
+  <listitem override='none'>
+    <itemizedlist>
+      <listitem><para><literal>enable</literal></para></listitem>
+      <listitem><para><literal>port</literal></para></listitem>
+      <listitem><para><literal>listenAddress</literal></para></listitem>
+      <listitem><para><literal>extraFlags</literal></para></listitem>
+      <listitem><para><literal>openFirewall</literal></para></listitem>
+      <listitem><para><literal>firewallFilter</literal></para></listitem>
+      <listitem><para><literal>user</literal></para></listitem>
+      <listitem><para><literal>group</literal></para></listitem>
+    </itemizedlist>
+  </listitem>
+  <listitem>
+    <para>As there is already a package available, the module can now be added.
+      This is accomplished by adding a new file to the
+      <literal>nixos/modules/services/monitoring/prometheus/exporters/</literal> directory,
+      which will be called postfix.nix and contains all exporter specific options
+      and configuration:
+      <programlisting>
+        # nixpgs/nixos/modules/services/prometheus/exporters/postfix.nix
+        { config, lib, pkgs }:
+
+        with lib;
+
+        let
+          # for convenience we define cfg here
+          cfg = config.services.prometheus.exporters.postfix;
+        in
+        {
+          port = 9154; # The postfix exporter listens on this port by default
+
+          # `extraOpts` is an attribute set which contains additional options
+          # (and optional overrides for default options).
+          # Note that this attribute is optional.
+          extraOpts = {
+            telemetryPath = mkOption {
+              type = types.str;
+              default = "/metrics";
+              description = ''
+                Path under which to expose metrics.
+              '';
+            };
+            logfilePath = mkOption {
+              type = types.path;
+              default = /var/log/postfix_exporter_input.log;
+              example = /var/log/mail.log;
+              description = ''
+                Path where Postfix writes log entries.
+                This file will be truncated by this exporter!
+              '';
+            };
+            showqPath = mkOption {
+              type = types.path;
+              default = /var/spool/postfix/public/showq;
+              example = /var/lib/postfix/queue/public/showq;
+              description = ''
+                Path at which Postfix places its showq socket.
+              '';
+            };
+          };
+
+          # `serviceOpts` is an attribute set which contains configuration
+          # for the exporter's systemd service. One of
+          # `serviceOpts.script` and `serviceOpts.serviceConfig.ExecStart`
+          # has to be specified here. This will be merged with the default
+          # service confiuration.
+          serviceOpts = {
+            serviceConfig = {
+              ExecStart = ''
+                ${pkgs.prometheus-postfix-exporter}/bin/postfix_exporter \
+                  --web.listen-address ${cfg.listenAddress}:${toString cfg.port} \
+                  --web.telemetry-path ${cfg.telemetryPath} \
+                  ${concatStringsSep " \\\n  " cfg.extraFlags}
+              '';
+            };
+          };
+        }
+      </programlisting>
+    </para>
+  </listitem>
+  <listitem>
+    <para>
+      This should already be enough for the postfix exporter. Additionally one could
+      now add assertions and conditional default values. This can be done in the
+      'meta-module' that combines all exporter definitions and generates the submodules:
+      <literal>nixpkgs/nixos/modules/services/prometheus/exporters.nix</literal>
+    </para>
+  </listitem>
+</itemizedlist>
+</section>
+</chapter>
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/blackbox.nix b/nixos/modules/services/monitoring/prometheus/exporters/blackbox.nix
new file mode 100644
index 00000000000..d09d1c4f366
--- /dev/null
+++ b/nixos/modules/services/monitoring/prometheus/exporters/blackbox.nix
@@ -0,0 +1,31 @@
+{ config, lib, pkgs }:
+
+with lib;
+
+let
+  cfg = config.services.prometheus.exporters.blackbox;
+in
+{
+  port = 9115;
+  extraOpts = {
+    configFile = mkOption {
+      type = types.path;
+      description = ''
+        Path to configuration file.
+      '';
+    };
+  };
+  serviceOpts = {
+    serviceConfig = {
+      AmbientCapabilities = [ "CAP_NET_RAW" ]; # for ping probes
+      DynamicUser = true;
+      ExecStart = ''
+        ${pkgs.prometheus-blackbox-exporter}/bin/blackbox_exporter \
+          --web.listen-address ${cfg.listenAddress}:${toString cfg.port} \
+          --config.file ${cfg.configFile} \
+          ${concatStringsSep " \\\n  " cfg.extraFlags}
+      '';
+      ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID";
+    };
+  };
+}
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/collectd.nix b/nixos/modules/services/monitoring/prometheus/exporters/collectd.nix
new file mode 100644
index 00000000000..0eba3527162
--- /dev/null
+++ b/nixos/modules/services/monitoring/prometheus/exporters/collectd.nix
@@ -0,0 +1,78 @@
+{ config, lib, pkgs }:
+
+with lib;
+
+let
+  cfg = config.services.prometheus.exporters.collectd;
+in
+{
+  port = 9103;
+  extraOpts = {
+    collectdBinary = {
+      enable = mkEnableOption "collectd binary protocol receiver";
+
+      authFile = mkOption {
+        default = null;
+        type = types.nullOr types.path;
+        description = "File mapping user names to pre-shared keys (passwords).";
+      };
+
+      port = mkOption {
+        type = types.int;
+        default = 25826;
+        description = ''Network address on which to accept collectd binary network packets.'';
+      };
+
+      listenAddress = mkOption {
+        type = types.str;
+        default = "0.0.0.0";
+        description = ''
+          Address to listen on for binary network packets.
+          '';
+      };
+
+      securityLevel = mkOption {
+        type = types.enum ["None" "Sign" "Encrypt"];
+        default = "None";
+        description = ''
+          Minimum required security level for accepted packets.
+        '';
+      };
+    };
+
+    logFormat = mkOption {
+      type = types.str;
+      default = "logger:stderr";
+      example = "logger:syslog?appname=bob&local=7 or logger:stdout?json=true";
+      description = ''
+        Set the log target and format.
+      '';
+    };
+
+    logLevel = mkOption {
+      type = types.enum ["debug" "info" "warn" "error" "fatal"];
+      default = "info";
+      description = ''
+        Only log messages with the given severity or above.
+      '';
+    };
+  };
+  serviceOpts = let
+    collectSettingsArgs = if (cfg.collectdBinary.enable) then ''
+      -collectd.listen-address ${cfg.collectdBinary.listenAddress}:${toString cfg.collectdBinary.port} \
+      -collectd.security-level ${cfg.collectdBinary.securityLevel} \
+    '' else "";
+  in {
+    serviceConfig = {
+      DynamicUser = true;
+      ExecStart = ''
+        ${pkgs.prometheus-collectd-exporter}/bin/collectd_exporter \
+          -log.format ${cfg.logFormat} \
+          -log.level ${cfg.logLevel} \
+          -web.listen-address ${cfg.listenAddress}:${toString cfg.port} \
+          ${collectSettingsArgs} \
+          ${concatStringsSep " \\\n  " cfg.extraFlags}
+      '';
+    };
+  };
+}
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/dovecot.nix b/nixos/modules/services/monitoring/prometheus/exporters/dovecot.nix
new file mode 100644
index 00000000000..4ca6d4e5f8b
--- /dev/null
+++ b/nixos/modules/services/monitoring/prometheus/exporters/dovecot.nix
@@ -0,0 +1,50 @@
+{ config, lib, pkgs }:
+
+with lib;
+
+let
+  cfg = config.services.prometheus.exporters.dovecot;
+in
+{
+  port = 9166;
+  extraOpts = {
+    telemetryPath = mkOption {
+      type = types.str;
+      default = "/metrics";
+      description = ''
+        Path under which to expose metrics.
+      '';
+    };
+    socketPath = mkOption {
+      type = types.path;
+      default = "/var/run/dovecot/stats";
+      example = "/var/run/dovecot2/stats";
+      description = ''
+        Path under which the stats socket is placed.
+        The user/group under which the exporter runs,
+        should be able to access the socket in order
+        to scrape the metrics successfully.
+      '';
+    };
+    scopes = mkOption {
+      type = types.listOf types.str;
+      default = [ "user" ];
+      example = [ "user" "global" ];
+      description = ''
+        Stats scopes to query.
+      '';
+    };
+  };
+  serviceOpts = {
+    serviceConfig = {
+      ExecStart = ''
+        ${pkgs.prometheus-dovecot-exporter}/bin/dovecot_exporter \
+          --web.listen-address ${cfg.listenAddress}:${toString cfg.port} \
+          --web.telemetry-path ${cfg.telemetryPath} \
+          --dovecot.socket-path ${cfg.socketPath} \
+          --dovecot.scopes ${concatStringsSep "," cfg.scopes} \
+          ${concatStringsSep " \\\n  " cfg.extraFlags}
+      '';
+    };
+  };
+}
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/fritzbox.nix b/nixos/modules/services/monitoring/prometheus/exporters/fritzbox.nix
new file mode 100644
index 00000000000..a3f1d9d3132
--- /dev/null
+++ b/nixos/modules/services/monitoring/prometheus/exporters/fritzbox.nix
@@ -0,0 +1,39 @@
+{ config, lib, pkgs }:
+
+with lib;
+
+let
+  cfg = config.services.prometheus.exporters.fritzbox;
+in
+{
+  port = 9133;
+  extraOpts = {
+    gatewayAddress = mkOption {
+      type = types.str;
+      default = "fritz.box";
+      description = ''
+        The hostname or IP of the FRITZ!Box.
+      '';
+    };
+
+    gatewayPort = mkOption {
+      type = types.int;
+      default = 49000;
+      description = ''
+        The port of the FRITZ!Box UPnP service.
+      '';
+    };
+  };
+  serviceOpts = {
+    serviceConfig = {
+      DynamicUser = true;
+      ExecStart = ''
+        ${pkgs.prometheus-fritzbox-exporter}/bin/fritzbox_exporter \
+          -listen-address ${cfg.listenAddress}:${toString cfg.port} \
+          -gateway-address ${cfg.gatewayAddress} \
+          -gateway-port ${toString cfg.gatewayPort} \
+          ${concatStringsSep " \\\n  " cfg.extraFlags}
+      '';
+    };
+  };
+}
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/json.nix b/nixos/modules/services/monitoring/prometheus/exporters/json.nix
new file mode 100644
index 00000000000..a5494e85e01
--- /dev/null
+++ b/nixos/modules/services/monitoring/prometheus/exporters/json.nix
@@ -0,0 +1,36 @@
+{ config, lib, pkgs }:
+
+with lib;
+
+let
+  cfg = config.services.prometheus.exporters.json;
+in
+{
+  port = 7979;
+  extraOpts = {
+    url = mkOption {
+      type = types.str;
+      description = ''
+        URL to scrape JSON from.
+      '';
+    };
+    configFile = mkOption {
+      type = types.path;
+      description = ''
+        Path to configuration file.
+      '';
+    };
+    listenAddress = {}; # not used
+  };
+  serviceOpts = {
+    serviceConfig = {
+      DynamicUser = true;
+      ExecStart = ''
+        ${pkgs.prometheus-json-exporter}/bin/prometheus-json-exporter \
+          --port ${toString cfg.port} \
+          ${cfg.url} ${cfg.configFile} \
+          ${concatStringsSep " \\\n  " cfg.extraFlags}
+      '';
+    };
+  };
+}
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/minio.nix b/nixos/modules/services/monitoring/prometheus/exporters/minio.nix
new file mode 100644
index 00000000000..3cc4ffdbc8f
--- /dev/null
+++ b/nixos/modules/services/monitoring/prometheus/exporters/minio.nix
@@ -0,0 +1,65 @@
+{ config, lib, pkgs }:
+
+with lib;
+
+let
+  cfg = config.services.prometheus.exporters.minio;
+in
+{
+  port = 9290;
+  extraOpts = {
+    minioAddress = mkOption {
+      type = types.str;
+      example = "https://10.0.0.1:9000";
+      description = ''
+        The URL of the minio server.
+        Use HTTPS if Minio accepts secure connections only.
+        By default this connects to the local minio server if enabled.
+      '';
+    };
+
+    minioAccessKey = mkOption {
+      type = types.str;
+      example = "yourMinioAccessKey";
+      description = ''
+        The value of the Minio access key.
+        It is required in order to connect to the server.
+        By default this uses the one from the local minio server if enabled
+        and <literal>config.services.minio.accessKey</literal>.
+      '';
+    };
+
+    minioAccessSecret = mkOption {
+      type = types.str;
+      description = ''
+        The value of the Minio access secret.
+        It is required in order to connect to the server.
+        By default this uses the one from the local minio server if enabled
+        and <literal>config.services.minio.secretKey</literal>.
+      '';
+    };
+
+    minioBucketStats = mkOption {
+      type = types.bool;
+      default = false;
+      description = ''
+        Collect statistics about the buckets and files in buckets.
+        It requires more computation, use it carefully in case of large buckets..
+      '';
+    };
+  };
+  serviceOpts = {
+    serviceConfig = {
+      DynamicUser = true;
+      ExecStart = ''
+        ${pkgs.prometheus-minio-exporter}/bin/minio-exporter \
+          -web.listen-address ${cfg.listenAddress}:${toString cfg.port} \
+          -minio.server ${cfg.minioAddress} \
+          -minio.access-key ${cfg.minioAccessKey} \
+          -minio.access-secret ${cfg.minioAccessSecret} \
+          ${optionalString cfg.minioBucketStats "-minio.bucket-stats"} \
+          ${concatStringsSep " \\\n  " cfg.extraFlags}
+      '';
+    };
+  };
+}
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/nginx.nix b/nixos/modules/services/monitoring/prometheus/exporters/nginx.nix
new file mode 100644
index 00000000000..431dd8b4ead
--- /dev/null
+++ b/nixos/modules/services/monitoring/prometheus/exporters/nginx.nix
@@ -0,0 +1,47 @@
+{ config, lib, pkgs }:
+
+with lib;
+
+let
+  cfg = config.services.prometheus.exporters.nginx;
+in
+{
+  port = 9113;
+  extraOpts = {
+    scrapeUri = mkOption {
+      type = types.str;
+      default = "http://localhost/nginx_status";
+      description = ''
+        Address to access the nginx status page.
+        Can be enabled with services.nginx.statusPage = true.
+      '';
+    };
+    telemetryEndpoint = mkOption {
+      type = types.str;
+      default = "/metrics";
+      description = ''
+        Path under which to expose metrics.
+      '';
+    };
+    insecure = mkOption {
+      type = types.bool;
+      default = true;
+      description = ''
+        Ignore server certificate if using https.
+      '';
+    };
+  };
+  serviceOpts = {
+    serviceConfig = {
+      DynamicUser = true;
+      ExecStart = ''
+        ${pkgs.prometheus-nginx-exporter}/bin/nginx_exporter \
+          --nginx.scrape_uri '${cfg.scrapeUri}' \
+          --telemetry.address ${cfg.listenAddress}:${toString cfg.port} \
+          --telemetry.endpoint ${cfg.telemetryEndpoint} \
+          --insecure ${toString cfg.insecure} \
+          ${concatStringsSep " \\\n  " cfg.extraFlags}
+      '';
+    };
+  };
+}
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/node.nix b/nixos/modules/services/monitoring/prometheus/exporters/node.nix
new file mode 100644
index 00000000000..c85f5f9cfb2
--- /dev/null
+++ b/nixos/modules/services/monitoring/prometheus/exporters/node.nix
@@ -0,0 +1,39 @@
+{ config, lib, pkgs }:
+
+with lib;
+
+let
+  cfg = config.services.prometheus.exporters.node;
+in
+{
+  port = 9100;
+  extraOpts = {
+    enabledCollectors = mkOption {
+      type = types.listOf types.string;
+      default = [];
+      example = ''[ "systemd" ]'';
+      description = ''
+        Collectors to enable. The collectors listed here are enabled in addition to the default ones.
+      '';
+    };
+    disabledCollectors = mkOption {
+      type = types.listOf types.str;
+      default = [];
+      example = ''[ "timex" ]'';
+      description = ''
+        Collectors to disable which are enabled by default.
+      '';
+    };
+  };
+  serviceOpts = {
+    serviceConfig = {
+      ExecStart = ''
+        ${pkgs.prometheus-node-exporter}/bin/node_exporter \
+          ${concatMapStringsSep " " (x: "--collector." + x) cfg.enabledCollectors} \
+          ${concatMapStringsSep " " (x: "--no-collector." + x) cfg.disabledCollectors} \
+          --web.listen-address ${cfg.listenAddress}:${toString cfg.port} \
+          ${concatStringsSep " \\\n  " cfg.extraFlags}
+      '';
+    };
+  };
+}
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/postfix.nix b/nixos/modules/services/monitoring/prometheus/exporters/postfix.nix
new file mode 100644
index 00000000000..efe78ebcba8
--- /dev/null
+++ b/nixos/modules/services/monitoring/prometheus/exporters/postfix.nix
@@ -0,0 +1,81 @@
+{ config, lib, pkgs }:
+
+with lib;
+
+let
+  cfg = config.services.prometheus.exporters.postfix;
+in
+{
+  port = 9154;
+  extraOpts = {
+    telemetryPath = mkOption {
+      type = types.str;
+      default = "/metrics";
+      description = ''
+        Path under which to expose metrics.
+      '';
+    };
+    logfilePath = mkOption {
+      type = types.path;
+      default = "/var/log/postfix_exporter_input.log";
+      example = "/var/log/mail.log";
+      description = ''
+        Path where Postfix writes log entries.
+        This file will be truncated by this exporter!
+      '';
+    };
+    showqPath = mkOption {
+      type = types.path;
+      default = "/var/spool/postfix/public/showq";
+      example = "/var/lib/postfix/queue/public/showq";
+      description = ''
+        Path where Postfix places it's showq socket.
+      '';
+    };
+    systemd = {
+      enable = mkEnableOption ''
+        reading metrics from the systemd-journal instead of from a logfile
+      '';
+      unit = mkOption {
+        type = types.str;
+        default = "postfix.service";
+        description = ''
+          Name of the postfix systemd unit.
+        '';
+      };
+      slice = mkOption {
+        type = types.nullOr types.str;
+        default = null;
+        description = ''
+          Name of the postfix systemd slice.
+          This overrides the <option>systemd.unit</option>.
+        '';
+      };
+      journalPath = mkOption {
+        type = types.nullOr types.path;
+        default = null;
+        description = ''
+          Path to the systemd journal.
+        '';
+      };
+    };
+  };
+  serviceOpts = {
+    serviceConfig = {
+      ExecStart = ''
+        ${pkgs.prometheus-postfix-exporter}/bin/postfix_exporter \
+          --web.listen-address ${cfg.listenAddress}:${toString cfg.port} \
+          --web.telemetry-path ${cfg.telemetryPath} \
+          --postfix.showq_path ${cfg.showqPath} \
+          ${concatStringsSep " \\\n  " (cfg.extraFlags
+          ++ optional cfg.systemd.enable "--systemd.enable"
+          ++ optional cfg.systemd.enable (if cfg.systemd.slice != null
+                                          then "--systemd.slice ${cfg.systemd.slice}"
+                                          else "--systemd.unit ${cfg.systemd.unit}")
+          ++ optional (cfg.systemd.enable && (cfg.systemd.journalPath != null))
+                       "--systemd.jounal_path ${cfg.systemd.journalPath}"
+          ++ optional (!cfg.systemd.enable) "--postfix.logfile_path ${cfg.logfilePath}")}
+      '';
+    };
+  };
+}
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/snmp.nix b/nixos/modules/services/monitoring/prometheus/exporters/snmp.nix
new file mode 100644
index 00000000000..404cd0a1896
--- /dev/null
+++ b/nixos/modules/services/monitoring/prometheus/exporters/snmp.nix
@@ -0,0 +1,71 @@
+{ config, lib, pkgs }:
+
+with lib;
+
+let
+  cfg = config.services.prometheus.exporters.snmp;
+in
+{
+  port = 9116;
+  extraOpts = {
+    configurationPath = mkOption {
+      type = types.nullOr types.path;
+      default = null;
+      description = ''
+        Path to a snmp exporter configuration file. Mutually exclusive with 'configuration' option.
+      '';
+      example = "./snmp.yml";
+    };
+
+    configuration = mkOption {
+      type = types.nullOr types.attrs;
+      default = {};
+      description = ''
+        Snmp exporter configuration as nix attribute set. Mutually exclusive with 'configurationPath' option.
+      '';
+      example = ''
+        {
+          "default" = {
+            "version" = 2;
+            "auth" = {
+              "community" = "public";
+            };
+          };
+        };
+      '';
+    };
+
+    logFormat = mkOption {
+      type = types.str;
+      default = "logger:stderr";
+      description = ''
+        Set the log target and format.
+      '';
+    };
+
+    logLevel = mkOption {
+      type = types.enum ["debug" "info" "warn" "error" "fatal"];
+      default = "info";
+      description = ''
+        Only log messages with the given severity or above.
+      '';
+    };
+  };
+  serviceOpts = let
+    configFile = if cfg.configurationPath != null
+                 then cfg.configurationPath
+                 else "${pkgs.writeText "snmp-eporter-conf.yml" (builtins.toJSON cfg.configuration)}";
+    in {
+    serviceConfig = {
+      DynamicUser = true;
+      ExecStart = ''
+        ${pkgs.prometheus-snmp-exporter.bin}/bin/snmp_exporter \
+          -config.file ${configFile} \
+          -log.format ${cfg.logFormat} \
+          -log.level ${cfg.logLevel} \
+          -web.listen-address ${cfg.listenAddress}:${toString cfg.port} \
+          ${concatStringsSep " \\\n  " cfg.extraFlags}
+      '';
+    };
+  };
+}
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/surfboard.nix b/nixos/modules/services/monitoring/prometheus/exporters/surfboard.nix
new file mode 100644
index 00000000000..715dba06a3d
--- /dev/null
+++ b/nixos/modules/services/monitoring/prometheus/exporters/surfboard.nix
@@ -0,0 +1,32 @@
+{ config, lib, pkgs }:
+
+with lib;
+
+let
+  cfg = config.services.prometheus.exporters.surfboard;
+in
+{
+  port = 9239;
+  extraOpts = {
+    modemAddress = mkOption {
+      type = types.str;
+      default = "192.168.100.1";
+      description = ''
+        The hostname or IP of the cable modem.
+      '';
+    };
+  };
+  serviceOpts = {
+    description = "Prometheus exporter for surfboard cable modem";
+    unitConfig.Documentation = "https://github.com/ipstatic/surfboard_exporter";
+    serviceConfig = {
+      DynamicUser = true;
+      ExecStart = ''
+        ${pkgs.prometheus-surfboard-exporter}/bin/surfboard_exporter \
+          --web.listen-address ${cfg.listenAddress}:${toString cfg.port} \
+          --modem-address ${cfg.modemAddress} \
+          ${concatStringsSep " \\\n  " cfg.extraFlags}
+      '';
+    };
+  };
+}
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/unifi.nix b/nixos/modules/services/monitoring/prometheus/exporters/unifi.nix
new file mode 100644
index 00000000000..011dcbe208e
--- /dev/null
+++ b/nixos/modules/services/monitoring/prometheus/exporters/unifi.nix
@@ -0,0 +1,67 @@
+{ config, lib, pkgs }:
+
+with lib;
+
+let
+  cfg = config.services.prometheus.exporters.unifi;
+in
+{
+  port = 9130;
+  extraOpts = {
+    unifiAddress = mkOption {
+      type = types.str;
+      example = "https://10.0.0.1:8443";
+      description = ''
+        URL of the UniFi Controller API.
+      '';
+    };
+
+    unifiInsecure = mkOption {
+      type = types.bool;
+      default = false;
+      description = ''
+        If enabled skip the verification of the TLS certificate of the UniFi Controller API.
+        Use with caution.
+      '';
+    };
+
+    unifiUsername = mkOption {
+      type = types.str;
+      example = "ReadOnlyUser";
+      description = ''
+        username for authentication against UniFi Controller API.
+      '';
+    };
+
+    unifiPassword = mkOption {
+      type = types.str;
+      description = ''
+        Password for authentication against UniFi Controller API.
+      '';
+    };
+
+    unifiTimeout = mkOption {
+      type = types.str;
+      default = "5s";
+      example = "2m";
+      description = ''
+        Timeout including unit for UniFi Controller API requests.
+      '';
+    };
+  };
+  serviceOpts = {
+    serviceConfig = {
+      DynamicUser = true;
+      ExecStart = ''
+        ${pkgs.prometheus-unifi-exporter}/bin/unifi_exporter \
+          -telemetry.addr ${cfg.listenAddress}:${toString cfg.port} \
+          -unifi.addr ${cfg.unifiAddress} \
+          -unifi.username ${cfg.unifiUsername} \
+          -unifi.password ${cfg.unifiPassword} \
+          -unifi.timeout ${cfg.unifiTimeout} \
+          ${optionalString cfg.unifiInsecure "-unifi.insecure" } \
+          ${concatStringsSep " \\\n  " cfg.extraFlags}
+      '';
+    };
+  };
+}
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/varnish.nix b/nixos/modules/services/monitoring/prometheus/exporters/varnish.nix
new file mode 100644
index 00000000000..8dbf2d735ab
--- /dev/null
+++ b/nixos/modules/services/monitoring/prometheus/exporters/varnish.nix
@@ -0,0 +1,87 @@
+{ config, lib, pkgs }:
+
+with lib;
+
+let
+  cfg = config.services.prometheus.exporters.varnish;
+in
+{
+  port = 9131;
+  extraOpts = {
+    noExit = mkOption {
+      type = types.bool;
+      default = false;
+      description = ''
+        Do not exit server on Varnish scrape errors.
+      '';
+    };
+    withGoMetrics = mkOption {
+      type = types.bool;
+      default = false;
+      description = ''
+        Export go runtime and http handler metrics.
+      '';
+    };
+    verbose = mkOption {
+      type = types.bool;
+      default = false;
+      description = ''
+        Enable verbose logging.
+      '';
+    };
+    raw = mkOption {
+      type = types.bool;
+      default = false;
+      description = ''
+        Enable raw stdout logging without timestamps.
+      '';
+    };
+    varnishStatPath = mkOption {
+      type = types.str;
+      default = "varnishstat";
+      description = ''
+        Path to varnishstat.
+      '';
+    };
+    instance = mkOption {
+      type = types.nullOr types.str;
+      default = null;
+      description = ''
+        varnishstat -n value.
+      '';
+    };
+    healthPath = mkOption {
+      type = types.nullOr types.str;
+      default = null;
+      description = ''
+        Path under which to expose healthcheck. Disabled unless configured.
+      '';
+    };
+    telemetryPath = mkOption {
+      type = types.str;
+      default = "/metrics";
+      description = ''
+        Path under which to expose metrics.
+      '';
+    };
+  };
+  serviceOpts = {
+    path = [ pkgs.varnish ];
+    serviceConfig = {
+      DynamicUser = true;
+      ExecStart = ''
+        ${pkgs.prometheus-varnish-exporter}/bin/prometheus_varnish_exporter \
+          --web.listen-address ${cfg.listenAddress}:${toString cfg.port} \
+          --web.telemetry-path ${cfg.telemetryPath} \
+          --varnishstat-path ${cfg.varnishStatPath} \
+          ${concatStringsSep " \\\n  " (cfg.extraFlags
+            ++ optional (cfg.healthPath != null) "--web.health-path ${cfg.healthPath}"
+            ++ optional (cfg.instance != null) "-n ${cfg.instance}"
+            ++ optional cfg.noExit "--no-exit"
+            ++ optional cfg.withGoMetrics "--with-go-metrics"
+            ++ optional cfg.verbose "--verbose"
+            ++ optional cfg.raw "--raw")}
+      '';
+    };
+  };
+}
diff --git a/nixos/modules/services/monitoring/prometheus/fritzbox-exporter.nix b/nixos/modules/services/monitoring/prometheus/fritzbox-exporter.nix
deleted file mode 100644
index 6da39b6519c..00000000000
--- a/nixos/modules/services/monitoring/prometheus/fritzbox-exporter.nix
+++ /dev/null
@@ -1,76 +0,0 @@
-{ config, pkgs, lib, ... }:
-
-with lib;
-
-let
-  cfg = config.services.prometheus.fritzboxExporter;
-in {
-  options = {
-    services.prometheus.fritzboxExporter = {
-      enable = mkEnableOption "prometheus fritzbox exporter";
-
-      port = mkOption {
-        type = types.int;
-        default = 9133;
-        description = ''
-          Port to listen on.
-        '';
-      };
-
-      gatewayAddress = mkOption {
-        type = types.str;
-        default = "fritz.box";
-        description = ''
-          The hostname or IP of the FRITZ!Box.
-        '';
-      };
-
-      gatewayPort = mkOption {
-        type = types.int;
-        default = 49000;
-        description = ''
-          The port of the FRITZ!Box UPnP service.
-        '';
-      };
-
-      extraFlags = mkOption {
-        type = types.listOf types.str;
-        default = [];
-        description = ''
-          Extra commandline options when launching the fritzbox exporter.
-        '';
-      };
-
-      openFirewall = mkOption {
-        type = types.bool;
-        default = false;
-        description = ''
-          Open port in firewall for incoming connections.
-        '';
-      };
-    };
-  };
-
-  config = mkIf cfg.enable {
-    networking.firewall.allowedTCPPorts = optional cfg.openFirewall cfg.port;
-
-    systemd.services.prometheus-fritzbox-exporter = {
-      description = "Prometheus exporter for FRITZ!Box via UPnP";
-      unitConfig.Documentation = "https://github.com/ndecker/fritzbox_exporter";
-      wantedBy = [ "multi-user.target" ];
-      serviceConfig = {
-        User = "nobody";
-        Restart = "always";
-        PrivateTmp = true;
-        WorkingDirectory = /tmp;
-        ExecStart = ''
-          ${pkgs.prometheus-fritzbox-exporter}/bin/fritzbox_exporter \
-            -listen-address :${toString cfg.port} \
-            -gateway-address ${cfg.gatewayAddress} \
-            -gateway-port ${toString cfg.gatewayPort} \
-            ${concatStringsSep " \\\n  " cfg.extraFlags}
-        '';
-      };
-    };
-  };
-}
diff --git a/nixos/modules/services/monitoring/prometheus/json-exporter.nix b/nixos/modules/services/monitoring/prometheus/json-exporter.nix
deleted file mode 100644
index 6bc56df9834..00000000000
--- a/nixos/modules/services/monitoring/prometheus/json-exporter.nix
+++ /dev/null
@@ -1,74 +0,0 @@
-{ config, pkgs, lib, ... }:
-
-with lib;
-
-let
-  cfg = config.services.prometheus.jsonExporter;
-in {
-  options = {
-    services.prometheus.jsonExporter = {
-      enable = mkEnableOption "prometheus JSON exporter";
-
-      url = mkOption {
-        type = types.str;
-        description = ''
-          URL to scrape JSON from.
-        '';
-      };
-
-      configFile = mkOption {
-        type = types.path;
-        description = ''
-          Path to configuration file.
-        '';
-      };
-
-      port = mkOption {
-        type = types.int;
-        default = 7979;
-        description = ''
-          Port to listen on.
-        '';
-      };
-
-      extraFlags = mkOption {
-        type = types.listOf types.str;
-        default = [];
-        description = ''
-          Extra commandline options when launching the JSON exporter.
-        '';
-      };
-
-      openFirewall = mkOption {
-        type = types.bool;
-        default = false;
-        description = ''
-          Open port in firewall for incoming connections.
-        '';
-      };
-    };
-  };
-
-  config = mkIf cfg.enable {
-    networking.firewall.allowedTCPPorts = optional cfg.openFirewall cfg.port;
-
-    systemd.services.prometheus-json-exporter = {
-      description = "Prometheus exporter for JSON over HTTP";
-      unitConfig.Documentation = "https://github.com/kawamuray/prometheus-json-exporter";
-      wantedBy = [ "multi-user.target" ];
-      serviceConfig = {
-        User = "nobody";
-        Restart = "always";
-        PrivateTmp = true;
-        WorkingDirectory = /tmp;
-        ExecStart = ''
-          ${pkgs.prometheus-json-exporter}/bin/prometheus-json-exporter \
-            --port ${toString cfg.port} \
-            ${cfg.url} ${cfg.configFile} \
-            ${concatStringsSep " \\\n  " cfg.extraFlags}
-        '';
-        ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID";
-      };
-    };
-  };
-}
diff --git a/nixos/modules/services/monitoring/prometheus/minio-exporter.nix b/nixos/modules/services/monitoring/prometheus/minio-exporter.nix
deleted file mode 100644
index 4314671523c..00000000000
--- a/nixos/modules/services/monitoring/prometheus/minio-exporter.nix
+++ /dev/null
@@ -1,117 +0,0 @@
-{ config, pkgs, lib, ... }:
-
-with lib;
-
-let
-  cfg = config.services.prometheus.minioExporter;
-in {
-  options = {
-    services.prometheus.minioExporter = {
-      enable = mkEnableOption "prometheus minio exporter";
-
-      port = mkOption {
-        type = types.int;
-        default = 9290;
-        description = ''
-          Port to listen on.
-        '';
-      };
-
-      listenAddress = mkOption {
-        type = types.nullOr types.str;
-        default = null;
-        example = "0.0.0.0";
-        description = ''
-          Address to listen on for web interface and telemetry.
-        '';
-      };
-
-      minioAddress = mkOption {
-        type = types.str;
-        example = "https://10.0.0.1:9000";
-        default = if config.services.minio.enable then "http://localhost:9000" else null;
-        description = ''
-          The URL of the minio server.
-          Use HTTPS if Minio accepts secure connections only.
-          By default this connects to the local minio server if enabled.
-        '';
-      };
-
-      minioAccessKey = mkOption ({
-        type = types.str;
-        example = "BKIKJAA5BMMU2RHO6IBB";
-        description = ''
-          The value of the Minio access key.
-          It is required in order to connect to the server.
-          By default this uses the one from the local minio server if enabled
-          and <literal>config.services.minio.accessKey</literal>.
-        '';
-      } // optionalAttrs (config.services.minio.enable && config.services.minio.accessKey != "") {
-        default = config.services.minio.accessKey;
-      });
-
-      minioAccessSecret = mkOption ({
-        type = types.str;
-        description = ''
-          The calue of the Minio access secret.
-          It is required in order to connect to the server.
-          By default this uses the one from the local minio server if enabled
-          and <literal>config.services.minio.secretKey</literal>.
-        '';
-      } // optionalAttrs (config.services.minio.enable && config.services.minio.secretKey != "") {
-        default = config.services.minio.secretKey;
-      });
-
-      minioBucketStats = mkOption {
-        type = types.bool;
-        default = false;
-        description = ''
-          Collect statistics about the buckets and files in buckets.
-          It requires more computation, use it carefully in case of large buckets..
-        '';
-      };
-
-      extraFlags = mkOption {
-        type = types.listOf types.str;
-        default = [];
-        description = ''
-          Extra commandline options when launching the minio exporter.
-        '';
-      };
-
-      openFirewall = mkOption {
-        type = types.bool;
-        default = false;
-        description = ''
-          Open port in firewall for incoming connections.
-        '';
-      };
-    };
-  };
-
-  config = mkIf cfg.enable {
-    networking.firewall.allowedTCPPorts = optional cfg.openFirewall cfg.port;
-
-    systemd.services.prometheus-minio-exporter = {
-      description = "Prometheus exporter for Minio server metrics";
-      unitConfig.Documentation = "https://github.com/joe-pll/minio-exporter";
-      wantedBy = [ "multi-user.target" ];
-      after = optional config.services.minio.enable "minio.service";
-      serviceConfig = {
-        DynamicUser = true;
-        Restart = "always";
-        PrivateTmp = true;
-        WorkingDirectory = /tmp;
-        ExecStart = ''
-          ${pkgs.prometheus-minio-exporter}/bin/minio-exporter \
-            -web.listen-address ${optionalString (cfg.listenAddress != null) cfg.listenAddress}:${toString cfg.port} \
-            -minio.server ${cfg.minioAddress} \
-            -minio.access-key ${cfg.minioAccessKey} \
-            -minio.access-secret ${cfg.minioAccessSecret} \
-            ${optionalString cfg.minioBucketStats "-minio.bucket-stats"} \
-            ${concatStringsSep " \\\n  " cfg.extraFlags}
-        '';
-      };
-    };
-  };
-}
diff --git a/nixos/modules/services/monitoring/prometheus/nginx-exporter.nix b/nixos/modules/services/monitoring/prometheus/nginx-exporter.nix
deleted file mode 100644
index 1ccafee3b18..00000000000
--- a/nixos/modules/services/monitoring/prometheus/nginx-exporter.nix
+++ /dev/null
@@ -1,78 +0,0 @@
-{ config, pkgs, lib, ... }:
-
-with lib;
-
-let
-  cfg = config.services.prometheus.nginxExporter;
-in {
-  options = {
-    services.prometheus.nginxExporter = {
-      enable = mkEnableOption "prometheus nginx exporter";
-
-      port = mkOption {
-        type = types.int;
-        default = 9113;
-        description = ''
-          Port to listen on.
-        '';
-      };
-
-      listenAddress = mkOption {
-        type = types.string;
-        default = "0.0.0.0";
-        description = ''
-          Address to listen on.
-        '';
-      };
-
-      scrapeUri = mkOption {
-        type = types.string;
-        default = "http://localhost/nginx_status";
-        description = ''
-          Address to access the nginx status page.
-          Can be enabled with services.nginx.statusPage = true.
-        '';
-      };
-
-      extraFlags = mkOption {
-        type = types.listOf types.str;
-        default = [];
-        description = ''
-          Extra commandline options when launching the nginx exporter.
-        '';
-      };
-
-      openFirewall = mkOption {
-        type = types.bool;
-        default = false;
-        description = ''
-          Open port in firewall for incoming connections.
-        '';
-      };
-    };
-  };
-
-  config = mkIf cfg.enable {
-    networking.firewall.allowedTCPPorts = optional cfg.openFirewall cfg.port;
-
-    systemd.services.prometheus-nginx-exporter = {
-      after = [ "network.target" "nginx.service" ];
-      description = "Prometheus exporter for nginx metrics";
-      unitConfig.Documentation = "https://github.com/discordianfish/nginx_exporter";
-      wantedBy = [ "multi-user.target" ];
-      serviceConfig = {
-        User = "nobody";
-        Restart  = "always";
-        PrivateTmp = true;
-        WorkingDirectory = /tmp;
-        ExecStart = ''
-          ${pkgs.prometheus-nginx-exporter}/bin/nginx_exporter \
-            -nginx.scrape_uri '${cfg.scrapeUri}' \
-            -telemetry.address ${cfg.listenAddress}:${toString cfg.port} \
-            ${concatStringsSep " \\\n  " cfg.extraFlags}
-        '';
-        ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID";
-      };
-    };
-  };
-}
diff --git a/nixos/modules/services/monitoring/prometheus/node-exporter.nix b/nixos/modules/services/monitoring/prometheus/node-exporter.nix
deleted file mode 100644
index bad4389ce79..00000000000
--- a/nixos/modules/services/monitoring/prometheus/node-exporter.nix
+++ /dev/null
@@ -1,87 +0,0 @@
-{ config, pkgs, lib, ... }:
-
-with lib;
-
-let
-  cfg = config.services.prometheus.nodeExporter;
-in {
-  options = {
-    services.prometheus.nodeExporter = {
-      enable = mkEnableOption "prometheus node exporter";
-
-      port = mkOption {
-        type = types.int;
-        default = 9100;
-        description = ''
-          Port to listen on.
-        '';
-      };
-
-      listenAddress = mkOption {
-        type = types.string;
-        default = "0.0.0.0";
-        description = ''
-          Address to listen on.
-        '';
-      };
-
-      enabledCollectors = mkOption {
-        type = types.listOf types.string;
-        default = [];
-        example = ''[ "systemd" ]'';
-        description = ''
-          Collectors to enable. The collectors listed here are enabled in addition to the default ones.
-        '';
-      };
-
-      disabledCollectors = mkOption {
-        type = types.listOf types.str;
-        default = [];
-        example = ''[ "timex" ]'';
-        description = ''
-          Collectors to disable which are enabled by default.
-        '';
-      };
-
-      extraFlags = mkOption {
-        type = types.listOf types.str;
-        default = [];
-        description = ''
-          Extra commandline options when launching the node exporter.
-        '';
-      };
-
-      openFirewall = mkOption {
-        type = types.bool;
-        default = false;
-        description = ''
-          Open port in firewall for incoming connections.
-        '';
-      };
-    };
-  };
-
-  config = mkIf cfg.enable {
-    networking.firewall.allowedTCPPorts = optional cfg.openFirewall cfg.port;
-
-    systemd.services.prometheus-node-exporter = {
-      description = "Prometheus exporter for machine metrics";
-      unitConfig.Documentation = "https://github.com/prometheus/node_exporter";
-      wantedBy = [ "multi-user.target" ];
-      script = ''
-        exec ${pkgs.prometheus-node-exporter}/bin/node_exporter \
-          ${concatMapStringsSep " " (x: "--collector." + x) cfg.enabledCollectors} \
-          ${concatMapStringsSep " " (x: "--no-collector." + x) cfg.disabledCollectors} \
-          --web.listen-address ${cfg.listenAddress}:${toString cfg.port} \
-          ${concatStringsSep " \\\n  " cfg.extraFlags}
-      '';
-      serviceConfig = {
-        User = "nobody";
-        Restart = "always";
-        PrivateTmp = true;
-        WorkingDirectory = /tmp;
-        ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID";
-      };
-    };
-  };
-}
diff --git a/nixos/modules/services/monitoring/prometheus/snmp-exporter.nix b/nixos/modules/services/monitoring/prometheus/snmp-exporter.nix
deleted file mode 100644
index fe33f8c1f04..00000000000
--- a/nixos/modules/services/monitoring/prometheus/snmp-exporter.nix
+++ /dev/null
@@ -1,127 +0,0 @@
-{ config, pkgs, lib, ... }:
-
-with lib;
-
-let
-  cfg = config.services.prometheus.snmpExporter;
-  mkConfigFile = pkgs.writeText "snmp.yml" (if cfg.configurationPath == null then builtins.toJSON cfg.configuration else builtins.readFile cfg.configurationPath);
-in {
-  options = {
-    services.prometheus.snmpExporter = {
-      enable = mkEnableOption "Prometheus snmp exporter";
-
-      user = mkOption {
-        type = types.str;
-        default = "nobody";
-        description = ''
-          User name under which snmp exporter shall be run.
-        '';
-      };
-
-      group = mkOption {
-        type = types.str;
-        default = "nogroup";
-        description = ''
-          Group under which snmp exporter shall be run.
-        '';
-      };
-
-      port = mkOption {
-        type = types.int;
-        default = 9116;
-        description = ''
-          Port to listen on.
-        '';
-      };
-
-      listenAddress = mkOption {
-        type = types.nullOr types.str;
-        default = null;
-        description = ''
-          Address to listen on for web interface and telemetry.
-        '';
-      };
-
-      configurationPath = mkOption {
-        type = types.nullOr types.path;
-        default = null;
-        description = ''
-          Path to a snmp exporter configuration file. Mutually exclusive with 'configuration' option.
-        '';
-        example = "./snmp.yml";
-      };
-
-      configuration = mkOption {
-        type = types.nullOr types.attrs;
-        default = {};
-        description = ''
-          Snmp exporter configuration as nix attribute set. Mutually exclusive with 'configurationPath' option.
-        '';
-        example = ''
-          {
-            "default" = {
-              "version" = 2;
-              "auth" = {
-                "community" = "public";
-              };
-            };
-          };
-        '';
-      };
-
-      logFormat = mkOption {
-        type = types.str;
-        default = "logger:stderr";
-        description = ''
-          Set the log target and format.
-        '';
-      };
-
-      logLevel = mkOption {
-        type = types.enum ["debug" "info" "warn" "error" "fatal"];
-        default = "info";
-        description = ''
-          Only log messages with the given severity or above.
-        '';
-      };
-
-      openFirewall = mkOption {
-        type = types.bool;
-        default = false;
-        description = ''
-          Open port in firewall for incoming connections.
-        '';
-      };
-    };
-  };
-
-  config = mkIf cfg.enable {
-    networking.firewall.allowedTCPPorts = optional cfg.openFirewall cfg.port;
-
-    assertions = singleton
-      {
-        assertion = (cfg.configurationPath == null) != (cfg.configuration == null);
-        message = "Please ensure you have either 'configuration' or 'configurationPath' set!";
-      };
-
-    systemd.services.prometheus-snmp-exporter = {
-      wantedBy = [ "multi-user.target" ];
-      after = [ "network.target" ];
-      script = ''
-        ${pkgs.prometheus-snmp-exporter.bin}/bin/snmp_exporter \
-          -config.file ${mkConfigFile} \
-          -log.format ${cfg.logFormat} \
-          -log.level ${cfg.logLevel} \
-          -web.listen-address ${optionalString (cfg.listenAddress != null) cfg.listenAddress}:${toString cfg.port}
-      '';
-
-      serviceConfig = {
-        User = cfg.user;
-        Group = cfg.group;
-        Restart  = "always";
-        PrivateTmp = true;
-        WorkingDirectory = "/tmp";
-      };
-    };
-  };
-}
diff --git a/nixos/modules/services/monitoring/prometheus/unifi-exporter.nix b/nixos/modules/services/monitoring/prometheus/unifi-exporter.nix
deleted file mode 100644
index 0a56d6ae95a..00000000000
--- a/nixos/modules/services/monitoring/prometheus/unifi-exporter.nix
+++ /dev/null
@@ -1,105 +0,0 @@
-{ config, pkgs, lib, ... }:
-
-with lib;
-
-let
-  cfg = config.services.prometheus.unifiExporter;
-in {
-  options = {
-    services.prometheus.unifiExporter = {
-      enable = mkEnableOption "prometheus unifi exporter";
-
-      port = mkOption {
-        type = types.int;
-        default = 9130;
-        description = ''
-          Port to listen on.
-        '';
-      };
-
-      unifiAddress = mkOption {
-        type = types.str;
-        example = "https://10.0.0.1:8443";
-        description = ''
-          URL of the UniFi Controller API.
-        '';
-      };
-
-      unifiInsecure = mkOption {
-        type = types.bool;
-        default = false;
-        description = ''
-          If enabled skip the verification of the TLS certificate of the UniFi Controller API.
-          Use with caution.
-        '';
-      };
-      
-      unifiUsername = mkOption {
-        type = types.str;
-        example = "ReadOnlyUser";
-        description = ''
-          username for authentication against UniFi Controller API.
-        '';
-      };
-      
-      unifiPassword = mkOption {
-        type = types.str;
-        description = ''
-          Password for authentication against UniFi Controller API.
-        '';
-      };
-      
-      unifiTimeout = mkOption {
-        type = types.str;
-        default = "5s";
-        example = "2m";
-        description = ''
-          Timeout including unit for UniFi Controller API requests.
-        '';
-      };
-
-      extraFlags = mkOption {
-        type = types.listOf types.str;
-        default = [];
-        description = ''
-          Extra commandline options when launching the unifi exporter.
-        '';
-      };
-
-      openFirewall = mkOption {
-        type = types.bool;
-        default = false;
-        description = ''
-          Open port in firewall for incoming connections.
-        '';
-      };
-    };
-  };
-
-  config = mkIf cfg.enable {
-    networking.firewall.allowedTCPPorts = optional cfg.openFirewall cfg.port;
-
-    systemd.services.prometheus-unifi-exporter = {
-      description = "Prometheus exporter for UniFi Controller metrics";
-      unitConfig.Documentation = "https://github.com/mdlayher/unifi_exporter";
-      wantedBy = [ "multi-user.target" ];
-      after = optional config.services.unifi.enable "unifi.service";
-      serviceConfig = {
-        User = "nobody";
-        Restart = "always";
-        PrivateTmp = true;
-        WorkingDirectory = /tmp;
-        ExecStart = ''
-          ${pkgs.prometheus-unifi-exporter}/bin/unifi_exporter \
-            -telemetry.addr :${toString cfg.port} \
-            -unifi.addr ${cfg.unifiAddress} \
-            -unifi.username ${cfg.unifiUsername} \
-            -unifi.password ${cfg.unifiPassword} \
-            -unifi.timeout ${cfg.unifiTimeout} \
-            ${optionalString cfg.unifiInsecure "-unifi.insecure" } \
-            ${concatStringsSep " \\\n  " cfg.extraFlags}
-        '';
-      };
-    };
-  };
-}
diff --git a/nixos/modules/services/monitoring/prometheus/varnish-exporter.nix b/nixos/modules/services/monitoring/prometheus/varnish-exporter.nix
deleted file mode 100644
index 143ebb62aea..00000000000
--- a/nixos/modules/services/monitoring/prometheus/varnish-exporter.nix
+++ /dev/null
@@ -1,61 +0,0 @@
-{ config, pkgs, lib, ... }:
-
-# Shamelessly cribbed from nginx-exporter.nix. ~ C.
-with lib;
-
-let
-  cfg = config.services.prometheus.varnishExporter;
-in {
-  options = {
-    services.prometheus.varnishExporter = {
-      enable = mkEnableOption "prometheus Varnish exporter";
-
-      port = mkOption {
-        type = types.int;
-        default = 9131;
-        description = ''
-          Port to listen on.
-        '';
-      };
-
-      extraFlags = mkOption {
-        type = types.listOf types.str;
-        default = [];
-        description = ''
-          Extra commandline options when launching the Varnish exporter.
-        '';
-      };
-
-      openFirewall = mkOption {
-        type = types.bool;
-        default = false;
-        description = ''
-          Open port in firewall for incoming connections.
-        '';
-      };
-    };
-  };
-
-  config = mkIf cfg.enable {
-    networking.firewall.allowedTCPPorts = optional cfg.openFirewall cfg.port;
-
-    systemd.services.prometheus-varnish-exporter = {
-      description = "Prometheus exporter for Varnish metrics";
-      unitConfig.Documentation = "https://github.com/jonnenauha/prometheus_varnish_exporter";
-      wantedBy = [ "multi-user.target" ];
-      path = [ pkgs.varnish ];
-      script = ''
-        exec ${pkgs.prometheus-varnish-exporter}/bin/prometheus_varnish_exporter \
-          -web.listen-address :${toString cfg.port} \
-          ${concatStringsSep " \\\n  " cfg.extraFlags}
-      '';
-      serviceConfig = {
-        User = "nobody";
-        Restart = "always";
-        PrivateTmp = true;
-        WorkingDirectory = /tmp;
-        ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID";
-      };
-    };
-  };
-}
diff --git a/nixos/modules/services/monitoring/smartd.nix b/nixos/modules/services/monitoring/smartd.nix
index b8d9e58a5a8..fecae4ca1b3 100644
--- a/nixos/modules/services/monitoring/smartd.nix
+++ b/nixos/modules/services/monitoring/smartd.nix
@@ -14,7 +14,7 @@ let
   nx = cfg.notifications.x11;
 
   smartdNotify = pkgs.writeScript "smartd-notify.sh" ''
-    #! ${pkgs.stdenv.shell}
+    #! ${pkgs.runtimeShell}
     ${optionalString nm.enable ''
       {
       ${pkgs.coreutils}/bin/cat << EOF
diff --git a/nixos/modules/services/network-filesystems/ipfs.nix b/nixos/modules/services/network-filesystems/ipfs.nix
index 39a4fd6beff..e2122ddb8ed 100644
--- a/nixos/modules/services/network-filesystems/ipfs.nix
+++ b/nixos/modules/services/network-filesystems/ipfs.nix
@@ -14,7 +14,7 @@ let
     (optionalString (cfg.defaultMode == "norouting") "--routing=none")
   ] ++ cfg.extraFlags);
 
-  defaultDataDir = if versionAtLeast config.system.stateVersion "17.09" then
+  defaultDataDir = if versionAtLeast config.system.nixos.stateVersion "17.09" then
     "/var/lib/ipfs" else
     "/var/lib/ipfs/.ipfs";
 
diff --git a/nixos/modules/services/network-filesystems/xtreemfs.nix b/nixos/modules/services/network-filesystems/xtreemfs.nix
index 0c6714563d8..95d7641e8b5 100644
--- a/nixos/modules/services/network-filesystems/xtreemfs.nix
+++ b/nixos/modules/services/network-filesystems/xtreemfs.nix
@@ -11,7 +11,7 @@ let
   home = cfg.homeDir;
 
   startupScript = class: configPath: pkgs.writeScript "xtreemfs-osd.sh" ''
-    #! ${pkgs.stdenv.shell}
+    #! ${pkgs.runtimeShell}
     JAVA_HOME="${pkgs.jdk}"
     JAVADIR="${xtreemfs}/share/java"
     JAVA_CALL="$JAVA_HOME/bin/java -ea -cp $JAVADIR/XtreemFS.jar:$JAVADIR/BabuDB.jar:$JAVADIR/Flease.jar:$JAVADIR/protobuf-java-2.5.0.jar:$JAVADIR/Foundation.jar:$JAVADIR/jdmkrt.jar:$JAVADIR/jdmktk.jar:$JAVADIR/commons-codec-1.3.jar"
diff --git a/nixos/modules/services/network-filesystems/yandex-disk.nix b/nixos/modules/services/network-filesystems/yandex-disk.nix
index 4de20664133..44b0edf6201 100644
--- a/nixos/modules/services/network-filesystems/yandex-disk.nix
+++ b/nixos/modules/services/network-filesystems/yandex-disk.nix
@@ -99,10 +99,10 @@ in
             exit 1
         fi
 
-        ${pkgs.su}/bin/su -s ${pkgs.stdenv.shell} ${u} \
+        ${pkgs.su}/bin/su -s ${pkgs.runtimeShell} ${u} \
           -c '${pkgs.yandex-disk}/bin/yandex-disk token -p ${cfg.password} ${cfg.username} ${dir}/token'
 
-        ${pkgs.su}/bin/su -s ${pkgs.stdenv.shell} ${u} \
+        ${pkgs.su}/bin/su -s ${pkgs.runtimeShell} ${u} \
           -c '${pkgs.yandex-disk}/bin/yandex-disk start --no-daemon -a ${dir}/token -d ${cfg.directory} --exclude-dirs=${cfg.excludes}'
       '';
 
diff --git a/nixos/modules/services/networking/amuled.nix b/nixos/modules/services/networking/amuled.nix
index fc7d56a24fa..9898f164c5c 100644
--- a/nixos/modules/services/networking/amuled.nix
+++ b/nixos/modules/services/networking/amuled.nix
@@ -68,7 +68,7 @@ in
       '';
 
       script = ''
-        ${pkgs.su}/bin/su -s ${pkgs.stdenv.shell} ${user} \
+        ${pkgs.su}/bin/su -s ${pkgs.runtimeShell} ${user} \
             -c 'HOME="${cfg.dataDir}" ${pkgs.amuleDaemon}/bin/amuled'
       '';
     };
diff --git a/nixos/modules/services/networking/dante.nix b/nixos/modules/services/networking/dante.nix
index 32acce51e69..20d4faa1cdb 100644
--- a/nixos/modules/services/networking/dante.nix
+++ b/nixos/modules/services/networking/dante.nix
@@ -6,6 +6,7 @@ let
   confFile = pkgs.writeText "dante-sockd.conf" ''
     user.privileged: root
     user.unprivileged: dante
+    logoutput: syslog
 
     ${cfg.config}
   '';
@@ -21,11 +22,10 @@ in
       enable = mkEnableOption "Dante SOCKS proxy";
 
       config = mkOption {
-        default     = null;
-        type        = types.nullOr types.str;
+        type        = types.lines;
         description = ''
-          Contents of Dante's configuration file
-          NOTE: user.privileged/user.unprivileged are set by the service
+          Contents of Dante's configuration file.
+          NOTE: user.privileged, user.unprivileged and logoutput are set by the service.
         '';
       };
     };
@@ -33,7 +33,7 @@ in
 
   config = mkIf cfg.enable {
     assertions = [
-      { assertion   = cfg.config != null;
+      { assertion   = cfg.config != "";
         message     = "please provide Dante configuration file contents";
       }
     ];
@@ -54,7 +54,8 @@ in
         Type        = "simple";
         ExecStart   = "${pkgs.dante}/bin/sockd -f ${confFile}";
         ExecReload  = "${pkgs.coreutils}/bin/kill -HUP $MAINPID";
-        Restart     = "always";
+        # Can crash sometimes; see https://github.com/NixOS/nixpkgs/pull/39005#issuecomment-381828708
+        Restart     = "on-failure";
       };
     };
   };
diff --git a/nixos/modules/services/networking/ddclient.nix b/nixos/modules/services/networking/ddclient.nix
index 9e56545f746..9a2e13e9553 100644
--- a/nixos/modules/services/networking/ddclient.nix
+++ b/nixos/modules/services/networking/ddclient.nix
@@ -3,24 +3,24 @@
 let
   cfg = config.services.ddclient;
   boolToStr = bool: if bool then "yes" else "no";
+  dataDir = "/var/lib/ddclient";
 
   configText = ''
     # This file can be used as a template for configFile or is automatically generated by Nix options.
-    daemon=${toString cfg.interval}
-    cache=${cfg.homeDir}/ddclient.cache
-    pid=/run/ddclient/ddclient.pid
-    foreground=NO
+    cache=${dataDir}/ddclient.cache
+    foreground=YES
     use=${cfg.use}
     login=${cfg.username}
     password=${cfg.password}
     protocol=${cfg.protocol}
-    ${let server = cfg.server; in
-      lib.optionalString (server != "") "server=${server}"}
+    ${lib.optionalString (cfg.script != "") "script=${cfg.script}"}
+    ${lib.optionalString (cfg.server != "") "server=${cfg.server}"}
+    ${lib.optionalString (cfg.zone != "")   "zone=${cfg.zone}"}
     ssl=${boolToStr cfg.ssl}
     wildcard=YES
     quiet=${boolToStr cfg.quiet}
     verbose=${boolToStr cfg.verbose}
-    ${cfg.domain}
+    ${lib.concatStringsSep "," cfg.domains}
     ${cfg.extraConfig}
   '';
 
@@ -44,17 +44,11 @@ with lib;
         '';
       };
 
-      homeDir = mkOption {
-        default = "/var/lib/ddclient";
-        type = str;
-        description = "Home directory for the daemon user.";
-      };
-
-      domain = mkOption {
-        default = "";
-        type = str;
+      domains = mkOption {
+        default = [ "" ];
+        type = listOf str;
         description = ''
-          Domain name to synchronize.
+          Domain name(s) to synchronize.
         '';
       };
 
@@ -62,7 +56,7 @@ with lib;
         default = "";
         type = str;
         description = ''
-          Username.
+          User name.
         '';
       };
 
@@ -75,9 +69,12 @@ with lib;
       };
 
       interval = mkOption {
-        default = 600;
-        type = int;
-        description = "The interval at which to run the check and update.";
+        default = "10min";
+        type = str;
+        description = ''
+          The interval at which to run the check and update.
+          See <command>man 7 systemd.time</command> for the format.
+        '';
       };
 
       configFile = mkOption {
@@ -95,7 +92,7 @@ with lib;
         default = "dyndns2";
         type = str;
         description = ''
-          Protocol to use with dynamic DNS provider (see http://sourceforge.net/apps/trac/ddclient/wiki/Protocols).
+          Protocol to use with dynamic DNS provider (see https://sourceforge.net/p/ddclient/wiki/protocols).
         '';
       };
 
@@ -115,11 +112,20 @@ with lib;
         '';
       };
 
-      extraConfig = mkOption {
+
+      quiet = mkOption {
+        default = false;
+        type = bool;
+        description = ''
+          Print no messages for unnecessary updates.
+        '';
+      };
+
+      script = mkOption {
         default = "";
-        type = lines;
+        type = str;
         description = ''
-          Extra configuration. Contents will be added verbatim to the configuration file.
+          script as required by some providers.
         '';
       };
 
@@ -139,11 +145,19 @@ with lib;
         '';
       };
 
-      quiet = mkOption {
-        default = false;
-        type = bool;
+      zone = mkOption {
+        default = "";
+        type = str;
         description = ''
-          Print no messages for unnecessary updates.
+          zone as required by some providers.
+        '';
+      };
+
+      extraConfig = mkOption {
+        default = "";
+        type = lines;
+        description = ''
+          Extra configuration. Contents will be added verbatim to the configuration file.
         '';
       };
     };
@@ -153,23 +167,8 @@ with lib;
   ###### implementation
 
   config = mkIf config.services.ddclient.enable {
-
-    users = {
-      extraGroups.ddclient.gid = config.ids.gids.ddclient;
-
-      extraUsers.ddclient = {
-        uid = config.ids.uids.ddclient;
-        description = "ddclient daemon user";
-        group = "ddclient";
-        home = cfg.homeDir;
-        createHome = true;
-      };
-    };
-
     environment.etc."ddclient.conf" = {
       enable = cfg.configFile == "/etc/ddclient.conf";
-      uid = config.ids.uids.ddclient;
-      gid = config.ids.gids.ddclient;
       mode = "0600";
       text = configText;
     };
@@ -180,15 +179,22 @@ with lib;
       after = [ "network.target" ];
       restartTriggers = [ config.environment.etc."ddclient.conf".source ];
 
-      serviceConfig = {
-        RuntimeDirectory = "ddclient";
-        # we cannot run in forking mode as it swallows all the program output
-        Type = "simple";
-        User = "ddclient";
-        Group = "ddclient";
-        ExecStart = "${lib.getBin pkgs.ddclient}/bin/ddclient -foreground -file ${cfg.configFile}";
-        ProtectSystem = "full";
-        PrivateTmp = true;
+      serviceConfig = rec {
+        DynamicUser = true;
+        RuntimeDirectory = StateDirectory;
+        StateDirectory = builtins.baseNameOf dataDir;
+        Type = "oneshot";
+        ExecStartPre = "!${lib.getBin pkgs.coreutils}/bin/install -m666 ${cfg.configFile} /run/${RuntimeDirectory}/ddclient.conf";
+        ExecStart = "${lib.getBin pkgs.ddclient}/bin/ddclient -file /run/${RuntimeDirectory}/ddclient.conf";
+      };
+    };
+
+    systemd.timers.ddclient = {
+      description = "Run ddclient";
+      wantedBy = [ "timers.target" ];
+      timerConfig = {
+        OnBootSec = cfg.interval;
+        OnUnitInactiveSec = cfg.interval;
       };
     };
   };
diff --git a/nixos/modules/services/networking/dhcpd.nix b/nixos/modules/services/networking/dhcpd.nix
index 2eac6dfec5b..fd7e317eee9 100644
--- a/nixos/modules/services/networking/dhcpd.nix
+++ b/nixos/modules/services/networking/dhcpd.nix
@@ -36,6 +36,7 @@ let
 
       preStart = ''
         mkdir -m 755 -p ${cfg.stateDir}
+        chown dhcpd:nogroup ${cfg.stateDir}
         touch ${cfg.stateDir}/dhcpd.leases
       '';
 
diff --git a/nixos/modules/services/networking/dnscache.nix b/nixos/modules/services/networking/dnscache.nix
index 379203cd1ab..ba5c8e2d5e5 100644
--- a/nixos/modules/services/networking/dnscache.nix
+++ b/nixos/modules/services/networking/dnscache.nix
@@ -9,12 +9,12 @@ let
     mkdir -p $out/{servers,ip}
 
     ${concatMapStrings (ip: ''
-      echo > "$out/ip/"${lib.escapeShellArg ip}
+      touch "$out/ip/"${lib.escapeShellArg ip}
     '') cfg.clientIps}
 
     ${concatStrings (mapAttrsToList (host: ips: ''
       ${concatMapStrings (ip: ''
-        echo ${lib.escapeShellArg ip} > "$out/servers/"${lib.escapeShellArg host}
+        echo ${lib.escapeShellArg ip} >> "$out/servers/"${lib.escapeShellArg host}
       '') ips}
     '') cfg.domainServers)}
 
@@ -34,33 +34,49 @@ in {
 
   options = {
     services.dnscache = {
+
       enable = mkOption {
         default = false;
         type = types.bool;
-        description = "Whether to run the dnscache caching dns server";
+        description = "Whether to run the dnscache caching dns server.";
       };
 
       ip = mkOption {
         default = "0.0.0.0";
         type = types.str;
-        description = "IP address on which to listen for connections";
+        description = "IP address on which to listen for connections.";
       };
 
       clientIps = mkOption {
         default = [ "127.0.0.1" ];
         type = types.listOf types.str;
-        description = "client IP addresses (or prefixes) from which to accept connections";
+        description = "Client IP addresses (or prefixes) from which to accept connections.";
         example = ["192.168" "172.23.75.82"];
       };
 
       domainServers = mkOption {
         default = { };
         type = types.attrsOf (types.listOf types.str);
-        description = "table of {hostname: server} pairs to use as authoritative servers for hosts (and subhosts)";
+        description = ''
+          Table of {hostname: server} pairs to use as authoritative servers for hosts (and subhosts).
+          If entry for @ is not specified predefined list of root servers is used.
+        '';
         example = {
-          "example.com" = ["8.8.8.8" "8.8.4.4"];
+          "@" = ["8.8.8.8" "8.8.4.4"];
+          "example.com" = ["192.168.100.100"];
         };
       };
+
+      forwardOnly = mkOption {
+        default = false;
+        type = types.bool;
+        description = ''
+          Whether to treat root servers (for @) as caching
+          servers, requesting addresses the same way a client does. This is
+          needed if you want to use e.g. Google DNS as your upstream DNS.
+        '';
+      };
+
     };
   };
 
@@ -82,6 +98,7 @@ in {
       '';
       script = ''
         cd /var/lib/dnscache/
+        ${optionalString cfg.forwardOnly "export FORWARDONLY=1"}
         exec ./run
       '';
     };
diff --git a/nixos/modules/services/networking/dnscrypt-proxy.xml b/nixos/modules/services/networking/dnscrypt-proxy.xml
index 555c6df4d55..ff108869858 100644
--- a/nixos/modules/services/networking/dnscrypt-proxy.xml
+++ b/nixos/modules/services/networking/dnscrypt-proxy.xml
@@ -19,7 +19,7 @@
   <para>
     To enable the client proxy, set
     <programlisting>
-      services.dnscrypt-proxy.enable = true;
+<xref linkend="opt-services.dnscrypt-proxy.enable"/> = true;
     </programlisting>
   </para>
 
@@ -38,17 +38,17 @@
     DNS client, change the default proxy listening port to a
     non-standard value and point the other client to it:
     <programlisting>
-      services.dnscrypt-proxy.localPort = 43;
+<xref linkend="opt-services.dnscrypt-proxy.localPort"/> = 43;
     </programlisting>
   </para>
 
   <sect2><title>dnsmasq</title>
   <para>
     <programlisting>
-      {
-        services.dnsmasq.enable = true;
-        services.dnsmasq.servers = [ "127.0.0.1#43" ];
-      }
+{
+  <xref linkend="opt-services.dnsmasq.enable"/> = true;
+  <xref linkend="opt-services.dnsmasq.servers"/> = [ "127.0.0.1#43" ];
+}
     </programlisting>
   </para>
   </sect2>
@@ -56,10 +56,10 @@
   <sect2><title>unbound</title>
   <para>
     <programlisting>
-      {
-        services.unbound.enable = true;
-        services.unbound.forwardAddresses = [ "127.0.0.1@43" ];
-      }
+{
+  <xref linkend="opt-services.unbound.enable"/> = true;
+  <xref linkend="opt-services.unbound.forwardAddresses"/> = [ "127.0.0.1@43" ];
+}
     </programlisting>
   </para>
   </sect2>
diff --git a/nixos/modules/services/networking/firewall.nix b/nixos/modules/services/networking/firewall.nix
index bce48c8f65e..c4bd0e7f9ee 100644
--- a/nixos/modules/services/networking/firewall.nix
+++ b/nixos/modules/services/networking/firewall.nix
@@ -54,7 +54,7 @@ let
     '';
 
   writeShScript = name: text: let dir = pkgs.writeScriptBin name ''
-    #! ${pkgs.stdenv.shell} -e
+    #! ${pkgs.runtimeShell} -e
     ${text}
   ''; in "${dir}/bin/${name}";
 
@@ -242,6 +242,9 @@ let
 
     # Don't allow traffic to leak out until the script has completed
     ip46tables -A INPUT -j nixos-drop
+
+    ${cfg.extraStopCommands}
+
     if ${startScript}; then
       ip46tables -D INPUT -j nixos-drop 2>/dev/null || true
     else
diff --git a/nixos/modules/services/networking/flashpolicyd.nix b/nixos/modules/services/networking/flashpolicyd.nix
index 5ba85178179..5b83ce13138 100644
--- a/nixos/modules/services/networking/flashpolicyd.nix
+++ b/nixos/modules/services/networking/flashpolicyd.nix
@@ -22,7 +22,7 @@ let
 
   flashpolicydWrapper = pkgs.writeScriptBin "flashpolicyd"
     ''
-      #! ${pkgs.stdenv.shell}
+      #! ${pkgs.runtimeShell}
       exec ${flashpolicyd}/Perl_xinetd/in.flashpolicyd.pl \
         --file=${pkgs.writeText "flashpolixy.xml" cfg.policy} \
         2> /dev/null
diff --git a/nixos/modules/services/networking/gnunet.nix b/nixos/modules/services/networking/gnunet.nix
index 02cd53c6fa3..008b09e81a5 100644
--- a/nixos/modules/services/networking/gnunet.nix
+++ b/nixos/modules/services/networking/gnunet.nix
@@ -102,6 +102,14 @@ in
         };
       };
 
+      package = mkOption {
+        type = types.package;
+        default = pkgs.gnunet;
+        defaultText = "pkgs.gnunet";
+        description = "Overridable attribute of the gnunet package to use.";
+        example = literalExample "pkgs.gnunet_git";
+      };
+
       extraOptions = mkOption {
         default = "";
         description = ''
@@ -130,16 +138,16 @@ in
 
     # The user tools that talk to `gnunetd' should come from the same source,
     # so install them globally.
-    environment.systemPackages = [ pkgs.gnunet ];
+    environment.systemPackages = [ cfg.package ];
 
     systemd.services.gnunet = {
       description = "GNUnet";
       after = [ "network.target" ];
       wantedBy = [ "multi-user.target" ];
-      path = [ pkgs.gnunet pkgs.miniupnpc ];
+      path = [ cfg.package pkgs.miniupnpc ];
       environment.TMPDIR = "/tmp";
       serviceConfig.PrivateTemp = true;
-      serviceConfig.ExecStart = "${pkgs.gnunet}/lib/gnunet/libexec/gnunet-service-arm -c ${configFile}";
+      serviceConfig.ExecStart = "${cfg.package}/lib/gnunet/libexec/gnunet-service-arm -c ${configFile}";
       serviceConfig.User = "gnunet";
       serviceConfig.UMask = "0007";
       serviceConfig.WorkingDirectory = homeDir;
diff --git a/nixos/modules/services/networking/hans.nix b/nixos/modules/services/networking/hans.nix
new file mode 100644
index 00000000000..dd34ef8d4ca
--- /dev/null
+++ b/nixos/modules/services/networking/hans.nix
@@ -0,0 +1,145 @@
+# NixOS module for hans, ip over icmp daemon
+
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+  cfg = config.services.hans;
+
+  hansUser = "hans";
+
+in
+{
+
+  ### configuration
+
+  options = {
+
+    services.hans = {
+      clients = mkOption {
+        default = {};
+        description = ''
+          Each attribute of this option defines a systemd service that
+          runs hans. Many or none may be defined.
+          The name of each service is
+          <literal>hans-<replaceable>name</replaceable></literal>
+          where <replaceable>name</replaceable> is the name of the
+          corresponding attribute name.
+        '';
+        example = literalExample ''
+        {
+          foo = {
+            server = "192.0.2.1";
+            extraConfig = "-v";
+          }
+        }
+        '';
+        type = types.attrsOf (types.submodule (
+        {
+          options = {
+            server = mkOption {
+              type = types.str;
+              default = "";
+              description = "IP address of server running hans";
+              example = "192.0.2.1";
+            };
+
+            extraConfig = mkOption {
+              type = types.str;
+              default = "";
+              description = "Additional command line parameters";
+              example = "-v";
+            };
+
+            passwordFile = mkOption {
+              type = types.str;
+              default = "";
+              description = "File that containts password";
+            };
+
+          };
+        }));
+      };
+
+      server = {
+        enable = mkOption {
+          type = types.bool;
+          default = false;
+          description = "enable hans server";
+        };
+
+        ip = mkOption {
+          type = types.str;
+          default = "";
+          description = "The assigned ip range";
+          example = "198.51.100.0";
+        };
+
+        respondToSystemPings = mkOption {
+          type = types.bool;
+          default = false;
+          description = "Force hans respond to ordinary pings";
+        };
+
+        extraConfig = mkOption {
+          type = types.str;
+          default = "";
+          description = "Additional command line parameters";
+          example = "-v";
+        };
+
+        passwordFile = mkOption {
+          type = types.str;
+          default = "";
+          description = "File that containts password";
+        };
+      };
+
+    };
+  };
+
+  ### implementation
+
+  config = mkIf (cfg.server.enable || cfg.clients != {}) {
+    boot.kernel.sysctl = optionalAttrs cfg.server.respondToSystemPings {
+      "net.ipv4.icmp_echo_ignore_all" = 1;
+    };
+
+    boot.kernelModules = [ "tun" ];
+
+    systemd.services =
+    let
+      createHansClientService = name: cfg:
+      {
+        description = "hans client - ${name}";
+        after = [ "network.target" ];
+        wantedBy = [ "multi-user.target" ];
+        script = "${pkgs.hans}/bin/hans -f -u ${hansUser} ${cfg.extraConfig} -c ${cfg.server} ${optionalString (cfg.passwordFile != "") "-p $(cat \"${cfg.passwordFile}\")"}";
+        serviceConfig = {
+          RestartSec = "30s";
+          Restart = "always";
+        };
+      };
+    in
+    listToAttrs (
+      mapAttrsToList
+        (name: value: nameValuePair "hans-${name}" (createHansClientService name value))
+        cfg.clients
+    ) // {
+      hans = mkIf (cfg.server.enable) {
+        description = "hans, ip over icmp server daemon";
+        after = [ "network.target" ];
+        wantedBy = [ "multi-user.target" ];
+        script = "${pkgs.hans}/bin/hans -f -u ${hansUser} ${cfg.server.extraConfig} -s ${cfg.server.ip} ${optionalString cfg.server.respondToSystemPings "-r"} ${optionalString (cfg.server.passwordFile != "") "-p $(cat \"${cfg.server.passwordFile}\")"}";
+      };
+    };
+
+    users.extraUsers = singleton {
+      name = hansUser;
+      description = "Hans daemon user";
+    };
+  };
+
+  meta.maintainers = with maintainers; [ gnidorah ];
+}
diff --git a/nixos/modules/services/networking/hostapd.nix b/nixos/modules/services/networking/hostapd.nix
index bf2d0916fa3..63f56437d1c 100644
--- a/nixos/modules/services/networking/hostapd.nix
+++ b/nixos/modules/services/networking/hostapd.nix
@@ -151,11 +151,6 @@ in
 
   config = mkIf cfg.enable {
 
-    assertions = [
-      { assertion = (cfg.channel >= 1 && cfg.channel <= 13);
-        message = "channel must be between 1 and 13";
-      }];
-
     environment.systemPackages =  [ pkgs.hostapd ];
 
     systemd.services.hostapd =
diff --git a/nixos/modules/services/networking/iodine.nix b/nixos/modules/services/networking/iodine.nix
index 512dbd77ae4..3f41421d27f 100644
--- a/nixos/modules/services/networking/iodine.nix
+++ b/nixos/modules/services/networking/iodine.nix
@@ -32,7 +32,7 @@ in
           foo = {
             server = "tunnel.mdomain.com";
             relay = "8.8.8.8";
-            extraConfig = "-P mysecurepassword";
+            extraConfig = "-v";
           }
         }
         '';
@@ -57,7 +57,13 @@ in
               type = types.str;
               default = "";
               description = "Additional command line parameters";
-              example = "-P mysecurepassword -l 192.168.1.10 -p 23";
+              example = "-l 192.168.1.10 -p 23";
+            };
+
+            passwordFile = mkOption {
+              type = types.str;
+              default = "";
+              description = "File that containts password";
             };
           };
         }));
@@ -88,7 +94,13 @@ in
           type = types.str;
           default = "";
           description = "Additional command line parameters";
-          example = "-P mysecurepassword -l 192.168.1.10 -p 23";
+          example = "-l 192.168.1.10 -p 23";
+        };
+
+        passwordFile = mkOption {
+          type = types.str;
+          default = "";
+          description = "File that containts password";
         };
       };
 
@@ -108,10 +120,10 @@ in
         description = "iodine client - ${name}";
         after = [ "network.target" ];
         wantedBy = [ "multi-user.target" ];
+        script = "${pkgs.iodine}/bin/iodine -f -u ${iodinedUser} ${cfg.extraConfig} ${optionalString (cfg.passwordFile != "") "-P $(cat \"${cfg.passwordFile}\")"} ${cfg.relay} ${cfg.server}";
         serviceConfig = {
           RestartSec = "30s";
           Restart = "always";
-          ExecStart = "${pkgs.iodine}/bin/iodine -f -u ${iodinedUser} ${cfg.extraConfig} ${cfg.relay} ${cfg.server}";
         };
       };
     in
@@ -124,7 +136,7 @@ in
         description = "iodine, ip over dns server daemon";
         after = [ "network.target" ];
         wantedBy = [ "multi-user.target" ];
-        serviceConfig.ExecStart = "${pkgs.iodine}/bin/iodined -f -u ${iodinedUser} ${cfg.server.extraConfig} ${cfg.server.ip} ${cfg.server.domain}";
+        script = "${pkgs.iodine}/bin/iodined -f -u ${iodinedUser} ${cfg.server.extraConfig} ${optionalString (cfg.server.passwordFile != "") "-P $(cat \"${cfg.server.passwordFile}\")"} ${cfg.server.ip} ${cfg.server.domain}";
       };
     };
 
diff --git a/nixos/modules/services/networking/iwd.nix b/nixos/modules/services/networking/iwd.nix
index 23787bce991..344212ad832 100644
--- a/nixos/modules/services/networking/iwd.nix
+++ b/nixos/modules/services/networking/iwd.nix
@@ -26,7 +26,7 @@ in {
       wants = [ "network.target" ];
       wantedBy = [ "multi-user.target" ];
 
-      serviceConfig.ExecStart = "${pkgs.iwd}/bin/iwd";
+      serviceConfig.ExecStart = "${pkgs.iwd}/libexec/iwd";
     };
   };
 
diff --git a/nixos/modules/services/networking/keepalived/default.nix b/nixos/modules/services/networking/keepalived/default.nix
index 378cd936584..c9ac2ee2599 100644
--- a/nixos/modules/services/networking/keepalived/default.nix
+++ b/nixos/modules/services/networking/keepalived/default.nix
@@ -8,10 +8,12 @@ let
 
   keepalivedConf = pkgs.writeText "keepalived.conf" ''
     global_defs {
+      ${optionalString cfg.enableScriptSecurity "enable_script_security"}
       ${snmpGlobalDefs}
       ${cfg.extraGlobalDefs}
     }
 
+    ${vrrpScriptStr}
     ${vrrpInstancesStr}
     ${cfg.extraConfig}
   '';
@@ -26,6 +28,22 @@ let
     + optionalString enableTraps "enable_traps"
   );
 
+  vrrpScriptStr = concatStringsSep "\n" (map (s:
+    ''
+      vrrp_script ${s.name} {
+        script "${s.script}"
+        interval ${toString s.interval}
+        fall ${toString s.fall}
+        rise ${toString s.rise}
+        timeout ${toString s.timeout}
+        weight ${toString s.weight}
+        user ${s.user} ${optionalString (s.group != null) s.group}
+
+        ${s.extraConfig}
+      }
+    ''
+  ) vrrpScripts);
+
   vrrpInstancesStr = concatStringsSep "\n" (map (i:
     ''
       vrrp_instance ${i.name} {
@@ -49,6 +67,18 @@ let
           ${concatMapStringsSep "\n" virtualIpLine i.virtualIps}
         }
 
+        ${optionalString (builtins.length i.trackScripts > 0) ''
+          track_script {
+            ${concatStringsSep "\n" i.trackScripts}
+          }
+        ''}
+
+        ${optionalString (builtins.length i.trackInterfaces > 0) ''
+          track_interface {
+            ${concatStringsSep "\n" i.trackInterfaces}
+          }
+        ''}
+
         ${i.extraConfig}
       }
     ''
@@ -64,6 +94,12 @@ let
 
   notNullOrEmpty = s: !(s == null || s == "");
 
+  vrrpScripts = mapAttrsToList (name: config:
+    {
+      inherit name;
+    } // config
+  ) cfg.vrrpScripts;
+
   vrrpInstances = mapAttrsToList (iName: iConfig:
     {
       name = iName;
@@ -86,7 +122,8 @@ let
     { assertion = !i.vmacXmitBase || i.useVmac;
       message = "services.keepalived.vrrpInstances.${i.name}.vmacXmitBase has no effect when services.keepalived.vrrpInstances.${i.name}.useVmac is not set.";
     }
-  ] ++ flatten (map (virtualIpAssertions i.name) i.virtualIps);
+  ] ++ flatten (map (virtualIpAssertions i.name) i.virtualIps)
+    ++ flatten (map (vrrpScriptAssertion i.name) i.trackScripts);
 
   virtualIpAssertions = vrrpName: ip: [
     { assertion = ip.addr != "";
@@ -94,6 +131,11 @@ let
     }
   ];
 
+  vrrpScriptAssertion = vrrpName: scriptName: {
+    assertion = builtins.hasAttr scriptName cfg.vrrpScripts;
+    message = "services.keepalived.vrrpInstances.${vrrpName} trackscript ${scriptName} is not defined in services.keepalived.vrrpScripts.";
+  };
+
   pidFile = "/run/keepalived.pid";
 
 in
@@ -110,6 +152,14 @@ in
         '';
       };
 
+      enableScriptSecurity = mkOption {
+        type = types.bool;
+        default = false;
+        description = ''
+          Don't run scripts configured to be run as root if any part of the path is writable by a non-root user.
+        '';
+      };
+
       snmp = {
 
         enable = mkOption {
@@ -181,8 +231,16 @@ in
 
       };
 
+      vrrpScripts = mkOption {
+        type = types.attrsOf (types.submodule (import ./vrrp-script-options.nix {
+          inherit lib;
+        }));
+        default = {};
+        description = "Declarative vrrp script config";
+      };
+
       vrrpInstances = mkOption {
-        type = types.attrsOf (types.submodule (import ./vrrp-options.nix {
+        type = types.attrsOf (types.submodule (import ./vrrp-instance-options.nix {
           inherit lib;
         }));
         default = {};
diff --git a/nixos/modules/services/networking/keepalived/vrrp-options.nix b/nixos/modules/services/networking/keepalived/vrrp-instance-options.nix
index 79eff3ae541..85b9bc33772 100644
--- a/nixos/modules/services/networking/keepalived/vrrp-options.nix
+++ b/nixos/modules/services/networking/keepalived/vrrp-instance-options.nix
@@ -108,6 +108,20 @@ with lib;
       description = "Declarative vhost config";
     };
 
+    trackScripts = mkOption {
+      type = types.listOf types.str;
+      default = [];
+      example = [ "chk_cmd1" "chk_cmd2" ];
+      description = "List of script names to invoke for health tracking.";
+    };
+
+    trackInterfaces = mkOption {
+      type = types.listOf types.str;
+      default = [];
+      example = [ "eth0" "eth1" ];
+      description = "List of network interfaces to monitor for health tracking.";
+    };
+
     extraConfig = mkOption {
       type = types.lines;
       default = "";
diff --git a/nixos/modules/services/networking/keepalived/vrrp-script-options.nix b/nixos/modules/services/networking/keepalived/vrrp-script-options.nix
new file mode 100644
index 00000000000..a3f794c40a8
--- /dev/null
+++ b/nixos/modules/services/networking/keepalived/vrrp-script-options.nix
@@ -0,0 +1,64 @@
+{ lib } :
+
+with lib;
+with lib.types;
+{
+  options = {
+
+    script = mkOption {
+      type = str;
+      example = "\${pkgs.curl} -f http://localhost:80";
+      description = "(Path of) Script command to execute followed by args, i.e. cmd [args]...";
+    };
+
+    interval = mkOption {
+      type = int;
+      default = 1;
+      description = "Seconds between script invocations.";
+    };
+
+    timeout = mkOption {
+      type = int;
+      default = 5;
+      description = "Seconds after which script is considered to have failed.";
+    };
+
+    weight = mkOption {
+      type = int;
+      default = 0;
+      description = "Following a failure, adjust the priority by this weight.";
+    };
+
+    rise = mkOption {
+      type = int;
+      default = 5;
+      description = "Required number of successes for OK transition.";
+    };
+
+    fall = mkOption {
+      type = int;
+      default = 3;
+      description = "Required number of failures for KO transition.";
+    };
+
+    user = mkOption {
+      type = str;
+      default = "keepalived_script";
+      description = "Name of user to run the script under.";
+    };
+
+    group = mkOption {
+      type = nullOr str;
+      default = null;
+      description = "Name of group to run the script under. Defaults to user group.";
+    };
+
+    extraConfig = mkOption {
+      type = lines;
+      default = "";
+      description = "Extra lines to be added verbatim to the vrrp_script section.";
+    };
+
+  };
+
+}
diff --git a/nixos/modules/services/networking/matterbridge.nix b/nixos/modules/services/networking/matterbridge.nix
index 5526e2ba23a..e2f47840595 100644
--- a/nixos/modules/services/networking/matterbridge.nix
+++ b/nixos/modules/services/networking/matterbridge.nix
@@ -1,4 +1,4 @@
-{ config, pkgs, lib, ... }:
+{ options, config, pkgs, lib, ... }:
 
 with lib;
 
@@ -6,7 +6,11 @@ let
 
   cfg = config.services.matterbridge;
 
-  matterbridgeConfToml = pkgs.writeText "matterbridge.toml" (cfg.configFile);
+  matterbridgeConfToml =
+    if cfg.configPath == null then
+      pkgs.writeText "matterbridge.toml" (cfg.configFile)
+    else
+      cfg.configPath;
 
 in
 
@@ -15,17 +19,32 @@ in
     services.matterbridge = {
       enable = mkEnableOption "Matterbridge chat platform bridge";
 
+      configPath = mkOption {
+        type = with types; nullOr str;
+        default = null;
+        example = "/etc/nixos/matterbridge.toml";
+        description = ''
+          The path to the matterbridge configuration file.
+        '';
+      };
+
       configFile = mkOption {
         type = types.str;
         example = ''
-          #WARNING: as this file contains credentials, be sure to set correct file permissions          [irc]
+          # WARNING: as this file contains credentials, do not use this option!
+          # It is kept only for backwards compatibility, and would cause your
+          # credentials to be in the nix-store, thus with the world-readable
+          # permission bits.
+          # Use services.matterbridge.configPath instead.
+
+          [irc]
               [irc.freenode]
               Server="irc.freenode.net:6667"
               Nick="matterbot"
 
           [mattermost]
               [mattermost.work]
-               #do not prefix it wit http:// or https://
+               # Do not prefix it with http:// or https://
                Server="yourmattermostserver.domain"
                Team="yourteam"
                Login="yourlogin"
@@ -44,6 +63,10 @@ in
               channel="off-topic"
         '';
         description = ''
+          WARNING: THIS IS INSECURE, as your password will end up in
+          <filename>/nix/store</filename>, thus publicly readable. Use
+          <literal>services.matterbridge.configPath</literal> instead.
+
           The matterbridge configuration file in the TOML file format.
         '';
       };
@@ -65,32 +88,31 @@ in
     };
   };
 
-  config = mkMerge [
-    (mkIf cfg.enable {
-
-      users.extraUsers = mkIf (cfg.user == "matterbridge") [
-        { name = "matterbridge";
-          group = "matterbridge";
-        } ];
-
-      users.extraGroups = mkIf (cfg.group == "matterbridge") [
-        { name = "matterbridge";
-        } ];
-
-      systemd.services.matterbridge = {
-        description = "Matterbridge chat platform bridge";
-        wantedBy = [ "multi-user.target" ];
-        after = [ "network.target" ];
-
-        serviceConfig = {
-          User = cfg.user;
-          Group = cfg.group;
-          ExecStart = "${pkgs.matterbridge.bin}/bin/matterbridge -conf ${matterbridgeConfToml}";
-          Restart = "always";
-          RestartSec = "10";
-        };
+  config = mkIf cfg.enable {
+    warnings = optional options.services.matterbridge.configFile.isDefined
+      "The option services.matterbridge.configFile is insecure and should be replaced with services.matterbridge.configPath";
+
+    users.extraUsers = optional (cfg.user == "matterbridge")
+      { name = "matterbridge";
+        group = "matterbridge";
+      };
+
+    users.extraGroups = optional (cfg.group == "matterbridge")
+      { name = "matterbridge";
       };
-    })
-  ];
-}
 
+    systemd.services.matterbridge = {
+      description = "Matterbridge chat platform bridge";
+      wantedBy = [ "multi-user.target" ];
+      after = [ "network.target" ];
+
+      serviceConfig = {
+        User = cfg.user;
+        Group = cfg.group;
+        ExecStart = "${pkgs.matterbridge.bin}/bin/matterbridge -conf ${matterbridgeConfToml}";
+        Restart = "always";
+        RestartSec = "10";
+      };
+    };
+  };
+}
diff --git a/nixos/modules/services/networking/minidlna.nix b/nixos/modules/services/networking/minidlna.nix
index 61d063dbfe0..6401631bf62 100644
--- a/nixos/modules/services/networking/minidlna.nix
+++ b/nixos/modules/services/networking/minidlna.nix
@@ -1,23 +1,16 @@
 # Module for MiniDLNA, a simple DLNA server.
-
 { config, lib, pkgs, ... }:
 
 with lib;
 
 let
-
   cfg = config.services.minidlna;
-
   port = 8200;
-
 in
 
 {
-
   ###### interface
-
   options = {
-
     services.minidlna.enable = mkOption {
       type = types.bool;
       default = false;
@@ -43,24 +36,48 @@ in
         '';
     };
 
+    services.minidlna.loglevel = mkOption {
+      type = types.str;
+      default = "warn";
+      example = "general,artwork,database,inotify,scanner,metadata,http,ssdp,tivo=warn";
+      description =
+        ''
+          Defines the type of messages that should be logged, and down to
+          which level of importance they should be considered.
+
+          The possible types are “artwork”, “database”, “general”, “http”,
+          “inotify”, “metadata”, “scanner”, “ssdp” and “tivo”.
+
+          The levels are “off”, “fatal”, “error”, “warn”, “info” and
+          “debug”, listed here in order of decreasing importance.  “off”
+          turns off logging messages entirely, “fatal” logs the most
+          critical messages only, and so on down to “debug” that logs every
+          single messages.
+
+          The types are comma-separated, followed by an equal sign (‘=’),
+          followed by a level that applies to the preceding types. This can
+          be repeated, separating each of these constructs with a comma.
+
+          Defaults to “general,artwork,database,inotify,scanner,metadata,
+          http,ssdp,tivo=warn” which logs every type of message at the
+          “warn” level.
+        '';
+    };
+
     services.minidlna.config = mkOption {
       type = types.lines;
       description = "The contents of MiniDLNA's configuration file.";
     };
-
   };
 
-
   ###### implementation
-
   config = mkIf cfg.enable {
-
     services.minidlna.config =
       ''
         port=${toString port}
         friendly_name=${config.networking.hostName} MiniDLNA
         db_dir=/var/cache/minidlna
-        log_level=warn
+        log_level=${cfg.loglevel}
         inotify=yes
         ${concatMapStrings (dir: ''
           media_dir=${dir}
@@ -98,7 +115,5 @@ in
               " -f ${pkgs.writeText "minidlna.conf" cfg.config}";
           };
       };
-
   };
-
 }
diff --git a/nixos/modules/services/networking/murmur.nix b/nixos/modules/services/networking/murmur.nix
index 13d7c3254f9..873d62dbf34 100644
--- a/nixos/modules/services/networking/murmur.nix
+++ b/nixos/modules/services/networking/murmur.nix
@@ -80,7 +80,7 @@ in
 
       pidfile = mkOption {
         type = types.path;
-        default = "/tmp/murmurd.pid";
+        default = "/run/murmur/murmurd.pid";
         description = "Path to PID file for Murmur daemon.";
       };
 
@@ -252,6 +252,7 @@ in
 
       serviceConfig = {
         Type      = "forking";
+        RuntimeDirectory = "murmur";
         PIDFile   = cfg.pidfile;
         Restart   = "always";
         User      = "murmur";
diff --git a/nixos/modules/services/networking/ndppd.nix b/nixos/modules/services/networking/ndppd.nix
new file mode 100644
index 00000000000..1d6c48dd8d3
--- /dev/null
+++ b/nixos/modules/services/networking/ndppd.nix
@@ -0,0 +1,47 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+  cfg = config.services.ndppd;
+
+  configFile = pkgs.runCommand "ndppd.conf" {} ''
+    substitute ${pkgs.ndppd}/etc/ndppd.conf $out \
+      --replace eth0 ${cfg.interface} \
+      --replace 1111:: ${cfg.network}
+  '';
+in {
+  options = {
+    services.ndppd = {
+      enable = mkEnableOption "daemon that proxies NDP (Neighbor Discovery Protocol) messages between interfaces";
+      interface = mkOption {
+        type = types.string;
+        default = "eth0";
+        example = "ens3";
+        description = "Interface which is on link-level with router.";
+      };
+      network = mkOption {
+        type = types.string;
+        default = "1111::";
+        example = "2001:DB8::/32";
+        description = "Network that we proxy.";
+      };
+      configFile = mkOption {
+        type = types.nullOr types.path;
+        default = null;
+        description = "Path to configuration file.";
+      };
+    };
+  };
+
+  config = mkIf cfg.enable {
+    systemd.packages = [ pkgs.ndppd ];
+    environment.etc."ndppd.conf".source = if (cfg.configFile != null) then cfg.configFile else configFile;
+    systemd.services.ndppd = {
+      serviceConfig.RuntimeDirectory = [ "ndppd" ];
+      wantedBy = [ "multi-user.target" ];
+    };
+  };
+
+  meta.maintainers = with maintainers; [ gnidorah ];
+}
diff --git a/nixos/modules/services/networking/networkmanager.nix b/nixos/modules/services/networking/networkmanager.nix
index f83fb7a6d5d..f4c4adcaaeb 100644
--- a/nixos/modules/services/networking/networkmanager.nix
+++ b/nixos/modules/services/networking/networkmanager.nix
@@ -10,7 +10,8 @@ let
   stateDirs = "/var/lib/NetworkManager /var/lib/dhclient /var/lib/misc";
 
   dns =
-    if cfg.useDnsmasq then "dnsmasq"
+    if cfg.dns == "none" then "none"
+    else if cfg.dns == "dnsmasq" then "dnsmasq"
     else if config.services.resolved.enable then "systemd-resolved"
     else if config.services.unbound.enable then "unbound"
     else "default";
@@ -135,8 +136,7 @@ in {
         default = { inherit networkmanager modemmanager wpa_supplicant
                             networkmanager-openvpn networkmanager-vpnc
                             networkmanager-openconnect networkmanager-fortisslvpn
-                            networkmanager-pptp networkmanager-l2tp
-                            networkmanager-iodine; };
+                            networkmanager-l2tp networkmanager-iodine; };
         internal = true;
       };
 
@@ -206,14 +206,20 @@ in {
         };
       };
 
-      useDnsmasq = mkOption {
-        type = types.bool;
-        default = false;
+      dns = mkOption {
+        type = types.enum [ "auto" "dnsmasq" "none" ];
+        default = "auto";
         description = ''
-          Enable NetworkManager's dnsmasq integration. NetworkManager will run
-          dnsmasq as a local caching nameserver, using a "split DNS"
-          configuration if you are connected to a VPN, and then update
-          resolv.conf to point to the local nameserver.
+          Options:
+            - auto: Check for systemd-resolved, unbound, or use default.
+            - dnsmasq:
+              Enable NetworkManager's dnsmasq integration. NetworkManager will run
+              dnsmasq as a local caching nameserver, using a "split DNS"
+              configuration if you are connected to a VPN, and then update
+              resolv.conf to point to the local nameserver.
+            - none:
+              Disable NetworkManager's DNS integration completely.
+              It will not touch your /etc/resolv.conf.
         '';
       };
 
@@ -267,8 +273,6 @@ in {
       message = "You can not use networking.networkmanager with networking.wireless";
     }];
 
-    boot.kernelModules = [ "ppp_mppe" ]; # Needed for most (all?) PPTP VPN connections.
-
     environment.etc = with cfg.basePackages; [
       { source = configFile;
         target = "NetworkManager/NetworkManager.conf";
@@ -285,9 +289,6 @@ in {
       { source = "${networkmanager-fortisslvpn}/etc/NetworkManager/VPN/nm-fortisslvpn-service.name";
         target = "NetworkManager/VPN/nm-fortisslvpn-service.name";
       }
-      { source = "${networkmanager-pptp}/etc/NetworkManager/VPN/nm-pptp-service.name";
-        target = "NetworkManager/VPN/nm-pptp-service.name";
-      }
       { source = "${networkmanager-l2tp}/etc/NetworkManager/VPN/nm-l2tp-service.name";
         target = "NetworkManager/VPN/nm-l2tp-service.name";
       }
diff --git a/nixos/modules/services/networking/nftables.nix b/nixos/modules/services/networking/nftables.nix
index 56b94205414..ad7c013a544 100644
--- a/nixos/modules/services/networking/nftables.nix
+++ b/nixos/modules/services/networking/nftables.nix
@@ -116,7 +116,7 @@ in
           include "${cfg.rulesetFile}"
         '';
         checkScript = pkgs.writeScript "nftables-check" ''
-          #! ${pkgs.stdenv.shell} -e
+          #! ${pkgs.runtimeShell} -e
           if $(${pkgs.kmod}/bin/lsmod | grep -q ip_tables); then
             echo "Unload ip_tables before using nftables!" 1>&2
             exit 1
diff --git a/nixos/modules/services/networking/nix-serve.nix b/nixos/modules/services/networking/nix-serve.nix
index 3e865e3b76a..8499e7c0f7c 100644
--- a/nixos/modules/services/networking/nix-serve.nix
+++ b/nixos/modules/services/networking/nix-serve.nix
@@ -55,6 +55,8 @@ in
       environment.NIX_SECRET_KEY_FILE = cfg.secretKeyFile;
 
       serviceConfig = {
+        Restart = "always";
+        RestartSec = "5s";
         ExecStart = "${pkgs.nix-serve}/bin/nix-serve " +
           "--listen ${cfg.bindAddress}:${toString cfg.port} ${cfg.extraParams}";
         User = "nix-serve";
diff --git a/nixos/modules/services/networking/nsd.nix b/nixos/modules/services/networking/nsd.nix
index 4241e6fccea..fc910e59c32 100644
--- a/nixos/modules/services/networking/nsd.nix
+++ b/nixos/modules/services/networking/nsd.nix
@@ -20,6 +20,7 @@ let
     zoneStats = length (collect (x: (x.zoneStats or null) != null) cfg.zones) > 0;
   };
 
+  mkZoneFileName = name: if name == "." then "root" else name;
 
   nsdEnv = pkgs.buildEnv {
     name = "nsd-env";
@@ -50,8 +51,9 @@ let
   };
 
   writeZoneData = name: text: pkgs.writeTextFile {
-    inherit name text;
-    destination = "/zones/${name}";
+    name = "nsd-zone-${mkZoneFileName name}";
+    inherit text;
+    destination = "/zones/${mkZoneFileName name}";
   };
 
 
@@ -146,7 +148,7 @@ let
   zoneConfigFile = name: zone: ''
     zone:
       name:         "${name}"
-      zonefile:     "${stateDir}/zones/${name}"
+      zonefile:     "${stateDir}/zones/${mkZoneFileName name}"
       ${maybeString "outgoing-interface: " zone.outgoingInterface}
     ${forEach     "  rrl-whitelist: "      zone.rrlWhitelist}
       ${maybeString "zonestats: "          zone.zoneStats}
@@ -250,6 +252,46 @@ let
           Use imports or pkgs.lib.readFile if you don't want this data in your config file.
         '';
       };
+      
+      dnssec = mkEnableOption "DNSSEC";
+
+      dnssecPolicy = {
+        algorithm = mkOption {
+          type = types.str;
+          default = "RSASHA256";
+          description = "Which algorithm to use for DNSSEC";
+        };
+        keyttl = mkOption {
+          type = types.str;
+          default = "1h";
+          description = "TTL for dnssec records";
+        };
+        coverage = mkOption {
+          type = types.str;
+          default = "1y";
+          description = ''
+            The length of time to ensure that keys will be correct; no action will be taken to create new keys to be activated after this time.
+          '';
+        };
+        zsk = mkOption {
+          type = keyPolicy;
+          default = { keySize = 2048;
+                      prePublish = "1w";
+                      postPublish = "1w";
+                      rollPeriod = "1mo";
+                    };
+          description = "Key policy for zone signing keys";
+        };
+        ksk = mkOption {
+          type = keyPolicy;
+          default = { keySize = 4096;
+                      prePublish = "1mo";
+                      postPublish = "1mo";
+                      rollPeriod = "0";
+                    };
+          description = "Key policy for key signing keys";
+        };
+      };
 
       maxRefreshSecs = mkOption {
         type = types.nullOr types.int;
@@ -367,10 +409,61 @@ let
           and stats_noreset.
         '';
       };
+    };
+  };
 
+  keyPolicy = types.submodule {
+    options = {
+      keySize = mkOption {
+        type = types.int;
+        description = "Key size in bits";
+      };
+      prePublish = mkOption {
+        type = types.str;
+        description = "How long in advance to publish new keys";
+      };
+      postPublish = mkOption {
+        type = types.str;
+        description = "How long after deactivation to keep a key in the zone";
+      };
+      rollPeriod = mkOption {
+        type = types.str;
+        description = "How frequently to change keys";
+      };
     };
   };
 
+  dnssecZones = (filterAttrs (n: v: if v ? dnssec then v.dnssec else false) zoneConfigs);
+
+  dnssec = length (attrNames dnssecZones) != 0; 
+
+  signZones = optionalString dnssec ''
+    mkdir -p ${stateDir}/dnssec
+    chown ${username}:${username} ${stateDir}/dnssec
+    chmod 0600 ${stateDir}/dnssec
+
+    ${concatStrings (mapAttrsToList signZone dnssecZones)}
+  '';
+  signZone = name: zone: ''
+    ${pkgs.bind}/bin/dnssec-keymgr -g ${pkgs.bind}/bin/dnssec-keygen -s ${pkgs.bind}/bin/dnssec-settime -K ${stateDir}/dnssec -c ${policyFile name zone.dnssecPolicy} ${name}
+    ${pkgs.bind}/bin/dnssec-signzone -S -K ${stateDir}/dnssec -o ${name} -O full -N date ${stateDir}/zones/${name}
+    ${nsdPkg}/sbin/nsd-checkzone ${name} ${stateDir}/zones/${name}.signed && mv -v ${stateDir}/zones/${name}.signed ${stateDir}/zones/${name}
+  '';
+  policyFile = name: policy: pkgs.writeText "${name}.policy" ''
+    zone ${name} {
+      algorithm ${policy.algorithm};
+      key-size zsk ${toString policy.zsk.keySize};
+      key-size ksk ${toString policy.ksk.keySize};
+      keyttl ${policy.keyttl};
+      pre-publish zsk ${policy.zsk.prePublish};
+      pre-publish ksk ${policy.ksk.prePublish};
+      post-publish zsk ${policy.zsk.postPublish};
+      post-publish ksk ${policy.ksk.postPublish};
+      roll-period zsk ${policy.zsk.rollPeriod};
+      roll-period ksk ${policy.ksk.rollPeriod};
+      coverage ${policy.coverage};
+    };
+  '';
 in
 {
   # options are ordered alphanumerically
@@ -380,6 +473,14 @@ in
 
     bind8Stats = mkEnableOption "BIND8 like statistics";
 
+    dnssecInterval = mkOption {
+      type = types.str;
+      default = "1h";
+      description = ''
+        How often to check whether dnssec key rollover is required
+      '';
+    };
+
     extraConfig = mkOption {
       type = types.str;
       default = "";
@@ -741,7 +842,6 @@ in
 
     };
 
-
     zones = mkOption {
       type = types.attrsOf zoneOptions;
       default = {};
@@ -785,11 +885,16 @@ in
         serverGroup1.
       '';
     };
-
   };
 
   config = mkIf cfg.enable {
 
+    assertions = singleton {
+      assertion = zoneConfigs ? "." -> cfg.rootServer;
+      message = "You have a root zone configured. If this is really what you "
+              + "want, please enable 'services.nsd.rootServer'.";
+    };
+
     environment.systemPackages = [ nsdPkg ];
 
     users.extraGroups = singleton {
@@ -832,9 +937,9 @@ in
         mkdir -m 0700 -p "${stateDir}/var"
 
         cat > "${stateDir}/don't touch anything in here" << EOF
-        Everything in this directory except NSD's state in var is
-        automatically generated and will be purged and redeployed
-        by the nsd.service pre-start script.
+        Everything in this directory except NSD's state in var and dnssec
+        is automatically generated and will be purged and redeployed by
+        the nsd.service pre-start script.
         EOF
 
         chown ${username}:${username} -R "${stateDir}/private"
@@ -848,6 +953,34 @@ in
       '';
     };
 
+    nixpkgs.config = mkIf dnssec {
+      bind.enablePython = true;
+    };
+
+    systemd.timers."nsd-dnssec" = mkIf dnssec {
+      description = "Automatic DNSSEC key rollover";
+
+      wantedBy = [ "nsd.service" ];
+
+      timerConfig = {
+        OnActiveSec = cfg.dnssecInterval;
+        OnUnitActiveSec = cfg.dnssecInterval;
+      };
+    };
+
+    systemd.services."nsd-dnssec" = mkIf dnssec {
+      description = "DNSSEC key rollover";
+
+      wantedBy = [ "nsd.service" ];
+      before = [ "nsd.service" ];
+
+      script = signZones;
+
+      postStop = ''
+        ${pkgs.systemd}/bin/systemctl kill -s SIGHUP nsd.service
+      '';
+    };
+
   };
 
   meta.maintainers = with lib.maintainers; [ hrdinka ];
diff --git a/nixos/modules/services/networking/openvpn.nix b/nixos/modules/services/networking/openvpn.nix
index 7a96b673c51..a418839d22b 100644
--- a/nixos/modules/services/networking/openvpn.nix
+++ b/nixos/modules/services/networking/openvpn.nix
@@ -65,7 +65,7 @@ let
 
       path = [ pkgs.iptables pkgs.iproute pkgs.nettools ];
 
-      serviceConfig.ExecStart = "@${openvpn}/sbin/openvpn openvpn --config ${configFile}";
+      serviceConfig.ExecStart = "@${openvpn}/sbin/openvpn openvpn --suppress-timestamps --config ${configFile}";
       serviceConfig.Restart = "always";
       serviceConfig.Type = "notify";
     };
diff --git a/nixos/modules/services/networking/prosody.nix b/nixos/modules/services/networking/prosody.nix
index 9d7e6d6018a..1b4f81f6b56 100644
--- a/nixos/modules/services/networking/prosody.nix
+++ b/nixos/modules/services/networking/prosody.nix
@@ -15,6 +15,7 @@ let
         description = "Path to the key file.";
       };
 
+      # TODO: rename to certificate to match the prosody config
       cert = mkOption {
         type = types.path;
         description = "Path to the certificate file.";
@@ -30,7 +31,7 @@ let
   };
 
   moduleOpts = {
-
+    # Generally required
     roster = mkOption {
       type = types.bool;
       default = true;
@@ -61,12 +62,38 @@ let
       description = "Service discovery";
     };
 
-    legacyauth = mkOption {
+    # Not essential, but recommended
+    carbons = mkOption {
       type = types.bool;
       default = true;
-      description = "Legacy authentication. Only used by some old clients and bots";
+      description = "Keep multiple clients in sync";
+    };
+
+    pep = mkOption {
+      type = types.bool;
+      default = true;
+      description = "Enables users to publish their mood, activity, playing music and more";
+    };
+
+    private = mkOption {
+      type = types.bool;
+      default = true;
+      description = "Private XML storage (for room bookmarks, etc.)";
+    };
+
+    blocklist = mkOption {
+      type = types.bool;
+      default = true;
+      description = "Allow users to block communications with other users";
     };
 
+    vcard = mkOption {
+      type = types.bool;
+      default = true;
+      description = "Allow users to set vCards";
+    };
+
+    # Nice to have
     version = mkOption {
       type = types.bool;
       default = true;
@@ -91,36 +118,112 @@ let
       description = "Replies to XMPP pings with pongs";
     };
 
-    console = mkOption {
+    register = mkOption {
+      type = types.bool;
+      default = true;
+      description = "Allow users to register on this server using a client and change passwords";
+    };
+
+    mam = mkOption {
       type = types.bool;
       default = false;
-      description = "telnet to port 5582";
+      description = "Store messages in an archive and allow users to access it";
     };
 
+    # Admin interfaces
+    admin_adhoc = mkOption {
+      type = types.bool;
+      default = true;
+      description = "Allows administration via an XMPP client that supports ad-hoc commands";
+    };
+
+    admin_telnet = mkOption {
+      type = types.bool;
+      default = false;
+      description = "Opens telnet console interface on localhost port 5582";
+    };
+
+    # HTTP modules
     bosh = mkOption {
       type = types.bool;
       default = false;
       description = "Enable BOSH clients, aka 'Jabber over HTTP'";
     };
 
-    httpserver = mkOption {
+    websocket = mkOption {
+      type = types.bool;
+      default = false;
+      description = "Enable WebSocket support";
+    };
+
+    http_files = mkOption {
       type = types.bool;
       default = false;
       description = "Serve static files from a directory over HTTP";
     };
 
-    websocket = mkOption {
+    # Other specific functionality
+    limits = mkOption {
       type = types.bool;
       default = false;
-      description = "Enable WebSocket support";
+      description = "Enable bandwidth limiting for XMPP connections";
+    };
+
+    groups = mkOption {
+      type = types.bool;
+      default = false;
+      description = "Shared roster support";
+    };
+
+    server_contact_info = mkOption {
+      type = types.bool;
+      default = false;
+      description = "Publish contact information for this service";
+    };
+
+    announce = mkOption {
+      type = types.bool;
+      default = false;
+      description = "Send announcement to all online users";
+    };
+
+    welcome = mkOption {
+      type = types.bool;
+      default = false;
+      description = "Welcome users who register accounts";
+    };
+
+    watchregistrations = mkOption {
+      type = types.bool;
+      default = false;
+      description = "Alert admins of registrations";
+    };
+
+    motd = mkOption {
+      type = types.bool;
+      default = false;
+      description = "Send a message to users when they log in";
+    };
+
+    legacyauth = mkOption {
+      type = types.bool;
+      default = false;
+      description = "Legacy authentication. Only used by some old clients and bots";
+    };
+
+    proxy65 = mkOption {
+      type = types.bool;
+      default = false;
+      description = "Enables a file transfer proxy service which clients behind NAT can use";
     };
 
   };
 
   toLua = x:
     if builtins.isString x then ''"${x}"''
-    else if builtins.isBool x then toString x
+    else if builtins.isBool x then (if x == true then "true" else "false")
     else if builtins.isInt x then toString x
+    else if builtins.isList x then ''{ ${lib.concatStringsSep ", " (map (n: toLua n) x) } }''
     else throw "Invalid Lua value";
 
   createSSLOptsStr = o: ''
@@ -192,12 +295,83 @@ in
         '';
       };
 
+      dataDir = mkOption {
+        type = types.string;
+        description = "Directory where Prosody stores its data";
+        default = "/var/lib/prosody";
+      };
+
+      user = mkOption {
+        type = types.str;
+        default = "prosody";
+        description = "User account under which prosody runs.";
+      };
+
+      group = mkOption {
+        type = types.str;
+        default = "prosody";
+        description = "Group account under which prosody runs.";
+      };
+
       allowRegistration = mkOption {
         type = types.bool;
         default = false;
         description = "Allow account creation";
       };
 
+      c2sRequireEncryption = mkOption {
+        type = types.bool;
+        default = true;
+        description = ''
+          Force clients to use encrypted connections? This option will
+          prevent clients from authenticating unless they are using encryption.
+        '';
+      };
+
+      s2sRequireEncryption = mkOption {
+        type = types.bool;
+        default = true;
+        description = ''
+          Force servers to use encrypted connections? This option will
+          prevent servers from authenticating unless they are using encryption.
+          Note that this is different from authentication.
+        '';
+      };
+
+      s2sSecureAuth = mkOption {
+        type = types.bool;
+        default = false;
+        description = ''
+          Force certificate authentication for server-to-server connections?
+          This provides ideal security, but requires servers you communicate
+          with to support encryption AND present valid, trusted certificates.
+          For more information see https://prosody.im/doc/s2s#security
+        '';
+      };
+
+      s2sInsecureDomains = mkOption {
+        type = types.listOf types.str;
+        default = [];
+        example = [ "insecure.example.com" ];
+        description = ''
+          Some servers have invalid or self-signed certificates. You can list
+          remote domains here that will not be required to authenticate using
+          certificates. They will be authenticated using DNS instead, even
+          when s2s_secure_auth is enabled.
+        '';
+      };
+
+      s2sSecureDomains = mkOption {
+        type = types.listOf types.str;
+        default = [];
+        example = [ "jabber.org" ];
+        description = ''
+          Even if you leave s2s_secure_auth disabled, you can still require valid
+          certificates for some domains by specifying a list here.
+        '';
+      };
+
+
       modules = moduleOpts;
 
       extraModules = mkOption {
@@ -206,6 +380,12 @@ in
         description = "Enable custom modules";
       };
 
+      extraPluginPaths = mkOption {
+        type = types.listOf types.path;
+        default = [];
+        description = "Addtional path in which to look find plugins/modules";
+      };
+
       virtualHosts = mkOption {
 
         description = "Define the virtual hosts";
@@ -255,37 +435,47 @@ in
 
   config = mkIf cfg.enable {
 
-    environment.systemPackages = [ pkgs.prosody ];
+    environment.systemPackages = [ cfg.package ];
 
     environment.etc."prosody/prosody.cfg.lua".text = ''
 
-      pidfile = "/var/lib/prosody/prosody.pid"
-
+      pidfile = "/run/prosody/prosody.pid"
 
       log = "*syslog"
 
-      data_path = "/var/lib/prosody"
-
-      allow_registration = ${boolToString cfg.allowRegistration};
-
-      ${ optionalString cfg.modules.console "console_enabled = true;" }
+      data_path = "${cfg.dataDir}"
+      plugin_paths = {
+        ${lib.concatStringsSep ", " (map (n: "\"${n}\"") cfg.extraPluginPaths) }
+      }
 
       ${ optionalString  (cfg.ssl != null) (createSSLOptsStr cfg.ssl) }
 
-      admins = { ${lib.concatStringsSep ", " (map (n: "\"${n}\"") cfg.admins) } };
+      admins = ${toLua cfg.admins}
+
+      -- we already build with libevent, so we can just enable it for a more performant server
+      use_libevent = true
 
       modules_enabled = {
 
         ${ lib.concatStringsSep "\n\ \ " (lib.mapAttrsToList
-          (name: val: optionalString val ''"${name}";'')
+          (name: val: optionalString val "${toLua name};")
         cfg.modules) }
+        ${ lib.concatStringsSep "\n" (map (x: "${toLua x};") cfg.package.communityModules)}
+        ${ lib.concatStringsSep "\n" (map (x: "${toLua x};") cfg.extraModules)}
+      };
 
-        ${ optionalString cfg.allowRegistration "\"register\"\;" }
+      allow_registration = ${toLua cfg.allowRegistration}
 
-        ${ lib.concatStringsSep "\n" (map (x: "\"${x}\";") cfg.extraModules)}
+      c2s_require_encryption = ${toLua cfg.c2sRequireEncryption}
+
+      s2s_require_encryption = ${toLua cfg.s2sRequireEncryption}
+
+      s2s_secure_auth = ${toLua cfg.s2sSecureAuth}
+
+      s2s_insecure_domains = ${toLua cfg.s2sInsecureDomains}
+
+      s2s_secure_domains = ${toLua cfg.s2sSecureDomains}
 
-        "posix";
-      };
 
       ${ cfg.extraConfig }
 
@@ -297,15 +487,15 @@ in
         '') cfg.virtualHosts) }
     '';
 
-    users.extraUsers.prosody = {
+    users.extraUsers.prosody = mkIf (cfg.user == "prosody") {
       uid = config.ids.uids.prosody;
       description = "Prosody user";
       createHome = true;
-      group = "prosody";
-      home = "/var/lib/prosody";
+      inherit (cfg) group;
+      home = "${cfg.dataDir}";
     };
 
-    users.extraGroups.prosody = {
+    users.extraGroups.prosody = mkIf (cfg.group == "prosody") {
       gid = config.ids.gids.prosody;
     };
 
@@ -316,9 +506,11 @@ in
       wantedBy = [ "multi-user.target" ];
       restartTriggers = [ config.environment.etc."prosody/prosody.cfg.lua".source ];
       serviceConfig = {
-        User = "prosody";
+        User = cfg.user;
+        Group = cfg.group;
         Type = "forking";
-        PIDFile = "/var/lib/prosody/prosody.pid";
+        RuntimeDirectory = [ "prosody" ];
+        PIDFile = "/run/prosody/prosody.pid";
         ExecStart = "${cfg.package}/bin/prosodyctl start";
       };
     };
diff --git a/nixos/modules/services/networking/quagga.nix b/nixos/modules/services/networking/quagga.nix
index aab58cc77b9..22204e53203 100644
--- a/nixos/modules/services/networking/quagga.nix
+++ b/nixos/modules/services/networking/quagga.nix
@@ -133,7 +133,7 @@ in
     users.groups = {
       quagga = {};
       # Members of the quaggavty group can use vtysh to inspect the Quagga daemons
-      quaggavty = {};
+      quaggavty = { members = [ "quagga" ]; };
     };
 
     systemd.services =
diff --git a/nixos/modules/services/networking/radicale.nix b/nixos/modules/services/networking/radicale.nix
index 391f4bdebba..97ee05046ff 100644
--- a/nixos/modules/services/networking/radicale.nix
+++ b/nixos/modules/services/networking/radicale.nix
@@ -9,7 +9,7 @@ let
   confFile = pkgs.writeText "radicale.conf" cfg.config;
 
   # This enables us to default to version 2 while still not breaking configurations of people with version 1
-  defaultPackage = if versionAtLeast config.system.stateVersion "17.09" then {
+  defaultPackage = if versionAtLeast config.system.nixos.stateVersion "17.09" then {
     pkg = pkgs.radicale2;
     text = "pkgs.radicale2";
   } else {
@@ -35,7 +35,7 @@ in
       defaultText = defaultPackage.text;
       description = ''
         Radicale package to use. This defaults to version 1.x if
-        <literal>system.stateVersion &lt; 17.09</literal> and version 2.x
+        <literal>system.nixos.stateVersion &lt; 17.09</literal> and version 2.x
         otherwise.
       '';
     };
diff --git a/nixos/modules/services/networking/rdnssd.nix b/nixos/modules/services/networking/rdnssd.nix
index 95833d31e99..a102242eae7 100644
--- a/nixos/modules/services/networking/rdnssd.nix
+++ b/nixos/modules/services/networking/rdnssd.nix
@@ -6,7 +6,7 @@
 with lib;
 let
   mergeHook = pkgs.writeScript "rdnssd-merge-hook" ''
-    #! ${pkgs.stdenv.shell} -e
+    #! ${pkgs.runtimeShell} -e
     ${pkgs.openresolv}/bin/resolvconf -u
   '';
 in
diff --git a/nixos/modules/services/networking/resilio.nix b/nixos/modules/services/networking/resilio.nix
index d1c4101f80b..2956a5ecbc0 100644
--- a/nixos/modules/services/networking/resilio.nix
+++ b/nixos/modules/services/networking/resilio.nix
@@ -50,12 +50,7 @@ in
         description = ''
           If enabled, start the Resilio Sync daemon. Once enabled, you can
           interact with the service through the Web UI, or configure it in your
-          NixOS configuration. Enabling the <literal>resilio</literal> service
-          also installs a systemd user unit which can be used to start
-          user-specific copies of the daemon. Once installed, you can use
-          <literal>systemctl --user start resilio</literal> as your user to start
-          the daemon using the configuration file located at
-          <literal>$HOME/.config/resilio-sync/config.json</literal>.
+          NixOS configuration.
         '';
       };
 
diff --git a/nixos/modules/services/networking/shadowsocks.nix b/nixos/modules/services/networking/shadowsocks.nix
new file mode 100644
index 00000000000..fe6d65a5f96
--- /dev/null
+++ b/nixos/modules/services/networking/shadowsocks.nix
@@ -0,0 +1,112 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+  cfg = config.services.shadowsocks;
+
+  opts = {
+    server = cfg.localAddress;
+    server_port = cfg.port;
+    method = cfg.encryptionMethod;
+    mode = cfg.mode;
+    user = "nobody";
+    fast_open = true;
+  } // optionalAttrs (cfg.password != null) { password = cfg.password; };
+
+  configFile = pkgs.writeText "shadowsocks.json" (builtins.toJSON opts);
+
+in
+
+{
+
+  ###### interface
+
+  options = {
+
+    services.shadowsocks = {
+
+      enable = mkOption {
+        type = types.bool;
+        default = false;
+        description = ''
+          Whether to run shadowsocks-libev shadowsocks server.
+        '';
+      };
+
+      localAddress = mkOption {
+        type = types.str;
+        default = "0.0.0.0";
+        description = ''
+          Local address to which the server binds.
+        '';
+      };
+
+      port = mkOption {
+        type = types.int;
+        default = 8388;
+        description = ''
+          Port which the server uses.
+        '';
+      };
+
+      password = mkOption {
+        type = types.nullOr types.str;
+        default = null;
+        description = ''
+          Password for connecting clients.
+        '';
+      };
+
+      passwordFile = mkOption {
+        type = types.nullOr types.path;
+        default = null;
+        description = ''
+          Password file with a password for connecting clients.
+        '';
+      };
+
+      mode = mkOption {
+        type = types.enum [ "tcp_only" "tcp_and_udp" "udp_only" ];
+        default = "tcp_and_udp";
+        description = ''
+          Relay protocols.
+        '';
+      };
+
+      encryptionMethod = mkOption {
+        type = types.str;
+        default = "chacha20-ietf-poly1305";
+        description = ''
+          Encryption method. See <link xlink:href="https://github.com/shadowsocks/shadowsocks-org/wiki/AEAD-Ciphers"/>.
+        '';
+      };
+
+    };
+
+  };
+
+
+  ###### implementation
+
+  config = mkIf cfg.enable {
+    assertions = singleton
+      { assertion = cfg.password == null || cfg.passwordFile == null;
+        message = "Cannot use both password and passwordFile for shadowsocks-libev";
+      };
+
+    systemd.services.shadowsocks-libev = {
+      description = "shadowsocks-libev Daemon";
+      after = [ "network.target" ];
+      wantedBy = [ "multi-user.target" ];
+      path = [ pkgs.shadowsocks-libev ] ++ optional (cfg.passwordFile != null) pkgs.jq;
+      serviceConfig.PrivateTmp = true;
+      script = ''
+        ${optionalString (cfg.passwordFile != null) ''
+          cat ${configFile} | jq --arg password "$(cat "${cfg.passwordFile}")" '. + { password: $password }' > /tmp/shadowsocks.json
+        ''}
+        exec ss-server -c ${if cfg.passwordFile != null then "/tmp/shadowsocks.json" else configFile}
+      '';
+    };
+  };
+}
diff --git a/nixos/modules/services/networking/ssh/sshd.nix b/nixos/modules/services/networking/ssh/sshd.nix
index e50c4dbacf3..aab1203086c 100644
--- a/nixos/modules/services/networking/ssh/sshd.nix
+++ b/nixos/modules/services/networking/ssh/sshd.nix
@@ -213,6 +213,65 @@ in
         description = "Files from which authorized keys are read.";
       };
 
+      kexAlgorithms = mkOption {
+        type = types.listOf types.str;
+        default = [
+          "curve25519-sha256@libssh.org"
+          "diffie-hellman-group-exchange-sha256"
+        ];
+        description = ''
+          Allowed key exchange algorithms
+          </para>
+          <para>
+          Defaults to recommended settings from both
+          <link xlink:href="https://stribika.github.io/2015/01/04/secure-secure-shell.html" />
+          and
+          <link xlink:href="https://wiki.mozilla.org/Security/Guidelines/OpenSSH#Modern_.28OpenSSH_6.7.2B.29" />
+        '';
+      };
+
+      ciphers = mkOption {
+        type = types.listOf types.str;
+        default = [
+          "chacha20-poly1305@openssh.com"
+          "aes256-gcm@openssh.com"
+          "aes128-gcm@openssh.com"
+          "aes256-ctr"
+          "aes192-ctr"
+          "aes128-ctr"
+        ];
+        description = ''
+          Allowed ciphers
+          </para>
+          <para>
+          Defaults to recommended settings from both
+          <link xlink:href="https://stribika.github.io/2015/01/04/secure-secure-shell.html" />
+          and
+          <link xlink:href="https://wiki.mozilla.org/Security/Guidelines/OpenSSH#Modern_.28OpenSSH_6.7.2B.29" />
+        '';
+      };
+
+      macs = mkOption {
+        type = types.listOf types.str;
+        default = [
+          "hmac-sha2-512-etm@openssh.com"
+          "hmac-sha2-256-etm@openssh.com"
+          "umac-128-etm@openssh.com"
+          "hmac-sha2-512"
+          "hmac-sha2-256"
+          "umac-128@openssh.com"
+        ];
+        description = ''
+          Allowed MACs
+          </para>
+          <para>
+          Defaults to recommended settings from both
+          <link xlink:href="https://stribika.github.io/2015/01/04/secure-secure-shell.html" />
+          and
+          <link xlink:href="https://wiki.mozilla.org/Security/Guidelines/OpenSSH#Modern_.28OpenSSH_6.7.2B.29" />
+        '';
+      };
+
       extraConfig = mkOption {
         type = types.lines;
         default = "";
@@ -363,14 +422,9 @@ in
           HostKey ${k.path}
         '')}
 
-        ### Recommended settings from both:
-        # https://stribika.github.io/2015/01/04/secure-secure-shell.html
-        # and
-        # https://wiki.mozilla.org/Security/Guidelines/OpenSSH#Modern_.28OpenSSH_6.7.2B.29
-
-        KexAlgorithms curve25519-sha256@libssh.org,diffie-hellman-group-exchange-sha256
-        Ciphers chacha20-poly1305@openssh.com,aes256-gcm@openssh.com,aes128-gcm@openssh.com,aes256-ctr,aes192-ctr,aes128-ctr
-        MACs hmac-sha2-512-etm@openssh.com,hmac-sha2-256-etm@openssh.com,umac-128-etm@openssh.com,hmac-sha2-512,hmac-sha2-256,umac-128@openssh.com
+        KexAlgorithms ${concatStringsSep "," cfg.kexAlgorithms}
+        Ciphers ${concatStringsSep "," cfg.ciphers}
+        MACs ${concatStringsSep "," cfg.macs}
 
         # LogLevel VERBOSE logs user's key fingerprint on login.
         # Needed to have a clear audit track of which key was used to log in.
diff --git a/nixos/modules/services/networking/strongswan-swanctl/module.nix b/nixos/modules/services/networking/strongswan-swanctl/module.nix
new file mode 100644
index 00000000000..d770094960b
--- /dev/null
+++ b/nixos/modules/services/networking/strongswan-swanctl/module.nix
@@ -0,0 +1,82 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+with (import ./param-lib.nix lib);
+
+let
+  cfg = config.services.strongswan-swanctl;
+  swanctlParams = import ./swanctl-params.nix lib;
+in  {
+  options.services.strongswan-swanctl = {
+    enable = mkEnableOption "strongswan-swanctl service";
+
+    package = mkOption {
+      type = types.package;
+      default = pkgs.strongswan;
+      defaultText = "pkgs.strongswan";
+      description = ''
+        The strongswan derivation to use.
+      '';
+    };
+
+    strongswan.extraConfig = mkOption {
+      type = types.str;
+      default = "";
+      description = ''
+        Contents of the <literal>strongswan.conf</literal> file.
+      '';
+    };
+
+    swanctl = paramsToOptions swanctlParams;
+  };
+
+  config = mkIf cfg.enable {
+
+    assertions = [
+      { assertion = !config.services.strongswan.enable;
+        message = "cannot enable both services.strongswan and services.strongswan-swanctl. Choose either one.";
+      }
+    ];
+
+    environment.etc."swanctl/swanctl.conf".text =
+      paramsToConf cfg.swanctl swanctlParams;
+
+    # The swanctl command complains when the following directories don't exist:
+    # See: https://wiki.strongswan.org/projects/strongswan/wiki/Swanctldirectory
+    system.activationScripts.strongswan-swanctl-etc = stringAfter ["etc"] ''
+      mkdir -p '/etc/swanctl/x509'     # Trusted X.509 end entity certificates
+      mkdir -p '/etc/swanctl/x509ca'   # Trusted X.509 Certificate Authority certificates
+      mkdir -p '/etc/swanctl/x509ocsp'
+      mkdir -p '/etc/swanctl/x509aa'   # Trusted X.509 Attribute Authority certificates
+      mkdir -p '/etc/swanctl/x509ac'   # Attribute Certificates
+      mkdir -p '/etc/swanctl/x509crl'  # Certificate Revocation Lists
+      mkdir -p '/etc/swanctl/pubkey'   # Raw public keys
+      mkdir -p '/etc/swanctl/private'  # Private keys in any format
+      mkdir -p '/etc/swanctl/rsa'      # PKCS#1 encoded RSA private keys
+      mkdir -p '/etc/swanctl/ecdsa'    # Plain ECDSA private keys
+      mkdir -p '/etc/swanctl/bliss'
+      mkdir -p '/etc/swanctl/pkcs8'    # PKCS#8 encoded private keys of any type
+      mkdir -p '/etc/swanctl/pkcs12'   # PKCS#12 containers
+    '';
+
+    systemd.services.strongswan-swanctl = {
+      description = "strongSwan IPsec IKEv1/IKEv2 daemon using swanctl";
+      wantedBy = [ "multi-user.target" ];
+      after    = [ "network-online.target" "keys.target" ];
+      wants    = [ "keys.target" ];
+      path = with pkgs; [ kmod iproute iptables utillinux ];
+      environment.STRONGSWAN_CONF = pkgs.writeTextFile {
+        name = "strongswan.conf";
+        text = cfg.strongswan.extraConfig;
+      };
+      restartTriggers = [ config.environment.etc."swanctl/swanctl.conf".source ];
+      serviceConfig = {
+        ExecStart     = "${cfg.package}/sbin/charon-systemd";
+        Type          = "notify";
+        ExecStartPost = "${cfg.package}/sbin/swanctl --load-all --noprompt";
+        ExecReload    = "${cfg.package}/sbin/swanctl --reload";
+        Restart       = "on-abnormal";
+      };
+    };
+  };
+}
diff --git a/nixos/modules/services/networking/strongswan-swanctl/param-constructors.nix b/nixos/modules/services/networking/strongswan-swanctl/param-constructors.nix
new file mode 100644
index 00000000000..5e74a96664f
--- /dev/null
+++ b/nixos/modules/services/networking/strongswan-swanctl/param-constructors.nix
@@ -0,0 +1,162 @@
+# In the following context a parameter is an attribute set that
+# contains a NixOS option and a render function. It also contains the
+# attribute: '_type = "param"' so we can distinguish it from other
+# sets.
+#
+# The render function is used to convert the value of the option to a
+# snippet of strongswan.conf. Most parameters simply render their
+# value to a string. For example, take the following parameter:
+#
+#   threads = mkIntParam 10 "Threads to use for request handling.";
+#
+# When a users defines the corresponding option as for example:
+#
+#   services.strongswan-swanctl.strongswan.threads = 32;
+#
+# It will get rendered to the following snippet in strongswan.conf:
+#
+#   threads = 32
+#
+# Some parameters however need to be able to change the attribute
+# name. For example, take the following parameter:
+#
+#   id = mkPrefixedAttrsOfParam (mkOptionalStrParam "") "...";
+#
+# A user can define the corresponding option as for example:
+#
+#   id = {
+#     "foo" = "bar";
+#     "baz" = "qux";
+#   };
+#
+# This will get rendered to the following snippet:
+#
+#   foo-id = bar
+#   baz-id = qux
+#
+# For this reason the render function is not simply a function from
+# value -> string but a function from a value to an attribute set:
+# { "${name}" = string }. This allows parameters to change the attribute
+# name like in the previous example.
+
+lib :
+
+with lib;
+with (import ./param-lib.nix lib);
+
+rec {
+  mkParamOfType = type : strongswanDefault : description : {
+    _type = "param";
+    option = mkOption {
+      type = types.nullOr type;
+      default = null;
+      description = documentDefault description strongswanDefault;
+    };
+    render = single toString;
+  };
+
+  documentDefault = description : strongswanDefault :
+    if isNull strongswanDefault
+    then description
+    else description + ''
+      </para><para>
+      StrongSwan default: <literal><![CDATA[${builtins.toJSON strongswanDefault}]]></literal>
+    '';
+
+  single = f: name: value: { "${name}" = f value; };
+
+  mkStrParam         = mkParamOfType types.str;
+  mkOptionalStrParam = mkStrParam null;
+
+  mkEnumParam = values : mkParamOfType (types.enum values);
+
+  mkIntParam         = mkParamOfType types.int;
+  mkOptionalIntParam = mkIntParam null;
+
+  # We should have floats in Nix...
+  mkFloatParam = mkStrParam;
+
+  # TODO: Check for hex format:
+  mkHexParam         = mkStrParam;
+  mkOptionalHexParam = mkOptionalStrParam;
+
+  # TODO: Check for duration format:
+  mkDurationParam         = mkStrParam;
+  mkOptionalDurationParam = mkOptionalStrParam;
+
+  mkYesNoParam = strongswanDefault : description : {
+    _type = "param";
+    option = mkOption {
+      type = types.nullOr types.bool;
+      default = null;
+      description = documentDefault description strongswanDefault;
+    };
+    render = single (b: if b then "yes" else "no");
+  };
+  yes = true;
+  no  = false;
+
+  mkSpaceSepListParam = mkSepListParam " ";
+  mkCommaSepListParam = mkSepListParam ",";
+
+  mkSepListParam = sep : strongswanDefault : description : {
+    _type = "param";
+    option = mkOption {
+      type = types.nullOr (types.listOf types.str);
+      default = null;
+      description = documentDefault description strongswanDefault;
+    };
+    render = single (value: concatStringsSep sep value);
+  };
+
+  mkAttrsOfParams = params :
+    mkAttrsOf params (types.submodule {options = paramsToOptions params;});
+
+  mkAttrsOfParam = param :
+    mkAttrsOf param param.option.type;
+
+  mkAttrsOf = param : option : description : {
+    _type = "param";
+    option = mkOption {
+      type = types.attrsOf option;
+      default = {};
+      inherit description;
+    };
+    render = single (attrs:
+      (paramsToRenderedStrings attrs
+        (mapAttrs (_n: _v: param) attrs)));
+  };
+
+  mkPrefixedAttrsOfParams = params :
+    mkPrefixedAttrsOf params (types.submodule {options = paramsToOptions params;});
+
+  mkPrefixedAttrsOfParam = param :
+    mkPrefixedAttrsOf param param.option.type;
+
+  mkPrefixedAttrsOf = p : option : description : {
+    _type = "param";
+    option = mkOption {
+      type = types.attrsOf option;
+      default = {};
+      inherit description;
+    };
+    render = prefix: attrs:
+      let prefixedAttrs = mapAttrs' (name: nameValuePair "${prefix}-${name}") attrs;
+      in paramsToRenderedStrings prefixedAttrs
+           (mapAttrs (_n: _v: p) prefixedAttrs);
+  };
+
+  mkPostfixedAttrsOfParams = params : description : {
+    _type = "param";
+    option = mkOption {
+      type = types.attrsOf (types.submodule {options = paramsToOptions params;});
+      default = {};
+      inherit description;
+    };
+    render = postfix: attrs:
+      let postfixedAttrs = mapAttrs' (name: nameValuePair "${name}-${postfix}") attrs;
+      in paramsToRenderedStrings postfixedAttrs
+           (mapAttrs (_n: _v: params) postfixedAttrs);
+  };
+
+}
diff --git a/nixos/modules/services/networking/strongswan-swanctl/param-lib.nix b/nixos/modules/services/networking/strongswan-swanctl/param-lib.nix
new file mode 100644
index 00000000000..fb87e81f321
--- /dev/null
+++ b/nixos/modules/services/networking/strongswan-swanctl/param-lib.nix
@@ -0,0 +1,82 @@
+lib :
+
+with lib;
+
+rec {
+  paramsToConf = cfg : ps : mkConf 0 (paramsToRenderedStrings cfg ps);
+
+  # mkConf takes an indentation level (which usually starts at 0) and a nested
+  # attribute set of strings and will render that set to a strongswan.conf style
+  # configuration format. For example:
+  #
+  #   mkConf 0 {a = "1"; b = { c = { "foo" = "2"; "bar" = "3"; }; d = "4";};}   =>   ''
+  #   a = 1
+  #   b {
+  #     c {
+  #       foo = 2
+  #       bar = 3
+  #     }
+  #     d = 4
+  #   }''
+  mkConf = indent : ps :
+    concatMapStringsSep "\n"
+      (name:
+        let value = ps."${name}";
+            indentation = replicate indent " ";
+        in
+        indentation + (
+          if isAttrs value
+          then "${name} {\n" +
+                 mkConf (indent + 2) value + "\n" +
+               indentation + "}"
+          else "${name} = ${value}"
+        )
+      )
+      (attrNames ps);
+
+  replicate = n : c : concatStrings (builtins.genList (_x : c) n);
+
+  # `paramsToRenderedStrings cfg ps` converts the NixOS configuration `cfg`
+  # (typically the "config" argument of a NixOS module) and the set of
+  # parameters `ps` (an attribute set where the values are constructed using the
+  # parameter constructors in ./param-constructors.nix) to a nested attribute
+  # set of strings (rendered parameters).
+  paramsToRenderedStrings = cfg : ps :
+    filterEmptySets (
+      (mapParamsRecursive (path: name: param:
+        let value = attrByPath path null cfg;
+        in optionalAttrs (!isNull value) (param.render name value)
+      ) ps));
+
+  filterEmptySets = set : filterAttrs (n: v: !(isNull v)) (mapAttrs (name: value:
+    if isAttrs value
+    then let value' = filterEmptySets value;
+         in if value' == {}
+            then null
+            else value'
+    else value
+  ) set);
+
+  # Recursively map over every parameter in the given attribute set.
+  mapParamsRecursive = mapAttrsRecursiveCond' (as: (!(as ? "_type" && as._type == "param")));
+
+  mapAttrsRecursiveCond' = cond: f: set:
+    let
+      recurse = path: set:
+        let
+          g =
+            name: value:
+            if isAttrs value && cond value
+              then { "${name}" = recurse (path ++ [name]) value; }
+              else f (path ++ [name]) name value;
+        in mapAttrs'' g set;
+    in recurse [] set;
+
+  mapAttrs'' = f: set:
+    foldl' (a: b: a // b) {} (map (attr: f attr set.${attr}) (attrNames set));
+
+  # Extract the options from the given set of parameters.
+  paramsToOptions = ps :
+    mapParamsRecursive (_path: name: param: { "${name}" = param.option; }) ps;
+
+}
diff --git a/nixos/modules/services/networking/strongswan-swanctl/swanctl-params.nix b/nixos/modules/services/networking/strongswan-swanctl/swanctl-params.nix
new file mode 100644
index 00000000000..ad211f41eef
--- /dev/null
+++ b/nixos/modules/services/networking/strongswan-swanctl/swanctl-params.nix
@@ -0,0 +1,1168 @@
+# See: https://wiki.strongswan.org/projects/strongswan/wiki/Swanctlconf
+#
+# When strongSwan is upgraded please update the parameters in this file. You can
+# see which parameters should be deleted, changed or added by diffing
+# swanctl.opt:
+#
+#   git clone https://github.com/strongswan/strongswan.git
+#   cd strongswan
+#   git diff 5.5.3..5.6.0 src/swanctl/swanctl.opt
+
+lib: with (import ./param-constructors.nix lib);
+
+let
+  certParams = {
+    file = mkOptionalStrParam ''
+      Absolute path to the certificate to load. Passed as-is to the daemon, so
+      it must be readable by it.
+      </para><para>
+      Configure either this or <option>handle</option>, but not both, in one section.
+    '';
+
+    handle = mkOptionalHexParam ''
+      Hex-encoded CKA_ID or handle of the certificate on a token or TPM,
+      respectively.
+      </para><para>
+      Configure either this or <option>file</option>, but not both, in one section.
+    '';
+
+    slot = mkOptionalIntParam ''
+      Optional slot number of the token that stores the certificate.
+    '';
+
+    module = mkOptionalStrParam ''
+      Optional PKCS#11 module name.
+    '';
+  };
+in {
+  authorities = mkAttrsOfParams ({
+
+    cacert = mkOptionalStrParam ''
+      The certificates may use a relative path from the swanctl
+      <literal>x509ca</literal> directory or an absolute path.
+      </para><para>
+      Configure one of <option>cacert</option>,
+      <option>file</option>, or
+      <option>handle</option> per section.
+    '';
+
+    cert_uri_base = mkOptionalStrParam ''
+      Defines the base URI for the Hash and URL feature supported by
+      IKEv2. Instead of exchanging complete certificates, IKEv2 allows one to
+      send an URI that resolves to the DER encoded certificate. The certificate
+      URIs are built by appending the SHA1 hash of the DER encoded certificates
+      to this base URI.
+    '';
+
+    crl_uris = mkCommaSepListParam [] ''
+      List of CRL distribution points (ldap, http, or file URI).
+    '';
+
+    ocsp_uris = mkCommaSepListParam [] ''
+      List of OCSP URIs.
+    '';
+
+  } // certParams) ''
+    Section defining complementary attributes of certification authorities, each
+    in its own subsection with an arbitrary yet unique name
+  '';
+
+  connections = mkAttrsOfParams {
+
+    version = mkIntParam 0 ''
+      IKE major version to use for connection.
+      <itemizedlist>
+      <listitem><para>1 uses IKEv1 aka ISAKMP,</para></listitem>
+      <listitem><para>2 uses IKEv2.</para></listitem>
+      <listitem><para>A connection using the default of 0 accepts both IKEv1 and IKEv2 as
+      responder, and initiates the connection actively with IKEv2.</para></listitem>
+      </itemizedlist>
+    '';
+
+    local_addrs	= mkCommaSepListParam [] ''
+      Local address(es) to use for IKE communication. Takes
+      single IPv4/IPv6 addresses, DNS names, CIDR subnets or IP address ranges.
+      </para><para>
+      As initiator, the first non-range/non-subnet is used to initiate the
+      connection from. As responder, the local destination address must match at
+      least to one of the specified addresses, subnets or ranges.
+      </para><para>
+      If FQDNs are assigned they are resolved every time a configuration lookup
+      is done. If DNS resolution times out, the lookup is delayed for that time.
+    '';
+
+    remote_addrs = mkCommaSepListParam [] ''
+      Remote address(es) to use for IKE communication. Takes
+      single IPv4/IPv6 addresses, DNS names, CIDR subnets or IP address ranges.
+      </para><para>
+      As initiator, the first non-range/non-subnet is used to initiate the
+      connection to. As responder, the initiator source address must match at
+      least to one of the specified addresses, subnets or ranges.
+      </para><para>
+      If FQDNs are assigned they are resolved every time a configuration lookup
+      is done. If DNS resolution times out, the lookup is delayed for that time.
+      To initiate a connection, at least one specific address or DNS name must
+      be specified.
+    '';
+
+    local_port = mkIntParam 500 ''
+      Local UDP port for IKE communication. By default the port of the socket
+      backend is used, which is usually <literal>500</literal>. If port
+      <literal>500</literal> is used, automatic IKE port floating to port
+      <literal>4500</literal> is used to work around NAT issues.
+      </para><para>
+      Using a non-default local IKE port requires support from the socket
+      backend in use (socket-dynamic).
+    '';
+
+    remote_port = mkIntParam 500 ''
+      Remote UDP port for IKE communication. If the default of port
+      <literal>500</literal> is used, automatic IKE port floating to port
+      <literal>4500</literal> is used to work around NAT issues.
+    '';
+
+    proposals = mkCommaSepListParam ["default"] ''
+      A proposal is a set of algorithms. For non-AEAD algorithms, this includes
+      for IKE an encryption algorithm, an integrity algorithm, a pseudo random
+      function and a Diffie-Hellman group. For AEAD algorithms, instead of
+      encryption and integrity algorithms, a combined algorithm is used.
+      </para><para>
+      In IKEv2, multiple algorithms of the same kind can be specified in a
+      single proposal, from which one gets selected. In IKEv1, only one
+      algorithm per kind is allowed per proposal, more algorithms get implicitly
+      stripped. Use multiple proposals to offer different algorithms
+      combinations in IKEv1.
+      </para><para>
+      Algorithm keywords get separated using dashes. Multiple proposals may be
+      specified in a list. The special value <literal>default</literal> forms a
+      default proposal of supported algorithms considered safe, and is usually a
+      good choice for interoperability.
+    '';
+
+    vips = mkCommaSepListParam [] ''
+      List of virtual IPs to request in IKEv2 configuration payloads or IKEv1
+      Mode Config. The wildcard addresses <literal>0.0.0.0</literal> and
+      <literal>::</literal> request an arbitrary address, specific addresses may
+      be defined. The responder may return a different address, though, or none
+      at all.
+    '';
+
+    aggressive = mkYesNoParam no ''
+      Enables Aggressive Mode instead of Main Mode with Identity
+      Protection. Aggressive Mode is considered less secure, because the ID and
+      HASH payloads are exchanged unprotected. This allows a passive attacker to
+      snoop peer identities, and even worse, start dictionary attacks on the
+      Preshared Key.
+    '';
+
+    pull = mkYesNoParam yes ''
+      If the default of yes is used, Mode Config works in pull mode, where the
+      initiator actively requests a virtual IP. With no, push mode is used,
+      where the responder pushes down a virtual IP to the initiating peer.
+      </para><para>
+      Push mode is currently supported for IKEv1, but not in IKEv2. It is used
+      by a few implementations only, pull mode is recommended.
+    '';
+
+    dscp = mkStrParam "000000" ''
+      Differentiated Services Field Codepoint to set on outgoing IKE packets for
+      this connection. The value is a six digit binary encoded string specifying
+      the Codepoint to set, as defined in RFC 2474.
+    '';
+
+    encap = mkYesNoParam no ''
+      To enforce UDP encapsulation of ESP packets, the IKE daemon can fake the
+      NAT detection payloads. This makes the peer believe that NAT takes place
+      on the path, forcing it to encapsulate ESP packets in UDP.
+      </para><para>
+      Usually this is not required, but it can help to work around connectivity
+      issues with too restrictive intermediary firewalls.
+    '';
+
+    mobike = mkYesNoParam yes ''
+      Enables MOBIKE on IKEv2 connections. MOBIKE is enabled by default on IKEv2
+      connections, and allows mobility of clients and multi-homing on servers by
+      migrating active IPsec tunnels.
+      </para><para>
+      Usually keeping MOBIKE enabled is unproblematic, as it is not used if the
+      peer does not indicate support for it. However, due to the design of
+      MOBIKE, IKEv2 always floats to port 4500 starting from the second
+      exchange. Some implementations don't like this behavior, hence it can be
+      disabled.
+    '';
+
+    dpd_delay = mkDurationParam "0s" ''
+      Interval to check the liveness of a peer actively using IKEv2
+      INFORMATIONAL exchanges or IKEv1 R_U_THERE messages. Active DPD checking
+      is only enforced if no IKE or ESP/AH packet has been received for the
+      configured DPD delay.
+    '';
+
+    dpd_timeout = mkDurationParam "0s" ''
+      Charon by default uses the normal retransmission mechanism and timeouts to
+      check the liveness of a peer, as all messages are used for liveness
+      checking. For compatibility reasons, with IKEv1 a custom interval may be
+      specified; this option has no effect on connections using IKEv2.
+    '';
+
+    fragmentation = mkEnumParam ["yes" "accept" "force" "no"] "yes" ''
+      Use IKE fragmentation (proprietary IKEv1 extension or RFC 7383 IKEv2
+      fragmentation). Acceptable values are <literal>yes</literal> (the default
+      since 5.5.1), <literal>accept</literal> (since versions:5.5.3),
+      <literal>force</literal> and <literal>no</literal>.
+      <itemizedlist>
+      <listitem><para>If set to <literal>yes</literal>, and the peer
+      supports it, oversized IKE messages will be sent in fragments.</para></listitem>
+      <listitem><para>If set to
+      <literal>accept</literal>, support for fragmentation is announced to the peer but the daemon
+      does not send its own messages in fragments.</para></listitem>
+      <listitem><para>If set to <literal>force</literal> (only
+      supported for IKEv1) the initial IKE message will already be fragmented if
+      required.</para></listitem>
+      <listitem><para>Finally, setting the option to <literal>no</literal> will disable announcing
+      support for this feature.</para></listitem>
+      </itemizedlist>
+      </para><para>
+      Note that fragmented IKE messages sent by a peer are always processed
+      irrespective of the value of this option (even when set to no).
+    '';
+
+    send_certreq = mkYesNoParam yes ''
+      Send certificate request payloads to offer trusted root CA certificates to
+      the peer. Certificate requests help the peer to choose an appropriate
+      certificate/private key for authentication and are enabled by default.
+      Disabling certificate requests can be useful if too many trusted root CA
+      certificates are installed, as each certificate request increases the size
+      of the initial IKE packets.
+   '';
+
+    send_cert = mkEnumParam ["always" "never" "ifasked" ] "ifasked" ''
+      Send certificate payloads when using certificate authentication.
+      <itemizedlist>
+      <listitem><para>With the default of <literal>ifasked</literal> the daemon sends
+      certificate payloads only if certificate requests have been received.</para></listitem>
+      <listitem><para><literal>never</literal> disables sending of certificate payloads
+      altogether,</para></listitem>
+      <listitem><para><literal>always</literal> causes certificate payloads to be sent
+      unconditionally whenever certificate authentication is used.</para></listitem>
+      </itemizedlist>
+    '';
+
+    keyingtries = mkIntParam 1 ''
+      Number of retransmission sequences to perform during initial
+      connect. Instead of giving up initiation after the first retransmission
+      sequence with the default value of <literal>1</literal>, additional
+      sequences may be started according to the configured value. A value of
+      <literal>0</literal> initiates a new sequence until the connection
+      establishes or fails with a permanent error.
+    '';
+
+    unique = mkEnumParam ["no" "never" "keep" "replace"] "no" ''
+      Connection uniqueness policy to enforce. To avoid multiple connections
+      from the same user, a uniqueness policy can be enforced.
+      </para><para>
+      <itemizedlist>
+      <listitem><para>
+      The value <literal>never</literal> does never enforce such a policy, even
+      if a peer included INITIAL_CONTACT notification messages,
+      </para></listitem>
+      <listitem><para>
+      whereas <literal>no</literal> replaces existing connections for the same
+      identity if a new one has the INITIAL_CONTACT notify.
+      </para></listitem>
+      <listitem><para>
+      <literal>keep</literal> rejects new connection attempts if the same user
+      already has an active connection,
+      </para></listitem>
+      <listitem><para>
+      <literal>replace</literal> deletes any existing connection if a new one
+      for the same user gets established.
+      </para></listitem>
+      </itemizedlist>
+      To compare connections for uniqueness, the remote IKE identity is used. If
+      EAP or XAuth authentication is involved, the EAP-Identity or XAuth
+      username is used to enforce the uniqueness policy instead.
+      </para><para>
+      On initiators this setting specifies whether an INITIAL_CONTACT notify is
+      sent during IKE_AUTH if no existing connection is found with the remote
+      peer (determined by the identities of the first authentication
+      round). Unless set to <literal>never</literal> the client will send a notify.
+    '';
+
+    reauth_time	= mkDurationParam "0s" ''
+      Time to schedule IKE reauthentication. IKE reauthentication recreates the
+      IKE/ISAKMP SA from scratch and re-evaluates the credentials. In asymmetric
+      configurations (with EAP or configuration payloads) it might not be
+      possible to actively reauthenticate as responder. The IKEv2
+      reauthentication lifetime negotiation can instruct the client to perform
+      reauthentication.
+      </para><para>
+      Reauthentication is disabled by default. Enabling it usually may lead to
+      small connection interruptions, as strongSwan uses a break-before-make
+      policy with IKEv2 to avoid any conflicts with associated tunnel resources.
+    '';
+
+    rekey_time = mkDurationParam "4h" ''
+      IKE rekeying refreshes key material using a Diffie-Hellman exchange, but
+      does not re-check associated credentials. It is supported in IKEv2 only,
+      IKEv1 performs a reauthentication procedure instead.
+      </para><para>
+      With the default value IKE rekeying is scheduled every 4 hours, minus the
+      configured rand_time. If a reauth_time is configured, rekey_time defaults
+      to zero, disabling rekeying; explicitly set both to enforce rekeying and
+      reauthentication.
+    '';
+
+    over_time = mkOptionalDurationParam ''
+      Hard IKE_SA lifetime if rekey/reauth does not complete, as time. To avoid
+      having an IKE/ISAKMP kept alive if IKE reauthentication or rekeying fails
+      perpetually, a maximum hard lifetime may be specified. If the IKE_SA fails
+      to rekey or reauthenticate within the specified time, the IKE_SA gets
+      closed.
+      </para><para>
+      In contrast to CHILD_SA rekeying, over_time is relative in time to the
+      rekey_time and reauth_time values, as it applies to both.
+      </para><para>
+      The default is 10% of the longer of <option>rekey_time</option> and
+      <option>reauth_time</option>.
+    '';
+
+    rand_time = mkOptionalDurationParam ''
+      Time range from which to choose a random value to subtract from
+      rekey/reauth times. To avoid having both peers initiating the rekey/reauth
+      procedure simultaneously, a random time gets subtracted from the
+      rekey/reauth times.
+      </para><para>
+      The default is equal to the configured <option>over_time</option>.
+    '';
+
+    pools = mkCommaSepListParam [] ''
+      List of named IP pools to allocate virtual IP addresses
+      and other configuration attributes from. Each name references a pool by
+      name from either the pools section or an external pool.
+    '';
+
+    mediation = mkYesNoParam no ''
+      Whether this connection is a mediation connection, that is, whether this
+      connection is used to mediate other connections using the IKEv2 Mediation
+      Extension. Mediation connections create no CHILD_SA.
+    '';
+
+    mediated_by = mkOptionalStrParam ''
+      The name of the connection to mediate this connection through. If given,
+      the connection will be mediated through the named mediation
+      connection. The mediation connection must have mediation enabled.
+    '';
+
+    mediation_peer = mkOptionalStrParam ''
+      Identity under which the peer is registered at the mediation server, that
+      is, the IKE identity the other end of this connection uses as its local
+      identity on its connection to the mediation server. This is the identity
+      we request the mediation server to mediate us with. Only relevant on
+      connections that set mediated_by. If it is not given, the remote IKE
+      identity of the first authentication round of this connection will be
+      used.
+    '';
+
+    local = mkPrefixedAttrsOfParams {
+
+      round = mkIntParam 0 ''
+        Optional numeric identifier by which authentication rounds are
+        sorted. If not specified rounds are ordered by their position in the
+        config file/vici message.
+      '';
+
+      certs = mkCommaSepListParam [] ''
+        List of certificate candidates to use for
+        authentication. The certificates may use a relative path from the
+        swanctl <literal>x509</literal> directory or an absolute path.
+        </para><para>
+        The certificate used for authentication is selected based on the
+        received certificate request payloads. If no appropriate CA can be
+        located, the first certificate is used.
+      '';
+
+      cert = mkPostfixedAttrsOfParams certParams ''
+        Section for a certificate candidate to use for
+        authentication. Certificates in certs are transmitted as binary blobs,
+        these sections offer more flexibility.
+      '';
+
+      pubkeys = mkCommaSepListParam [] ''
+        List of raw public key candidates to use for
+        authentication. The public keys may use a relative path from the swanctl
+        <literal>pubkey</literal> directory or an absolute path.
+        </para><para>
+        Even though multiple local public keys could be defined in principle,
+        only the first public key in the list is used for authentication.
+      '';
+
+      auth = mkStrParam "pubkey" ''
+        Authentication to perform locally.
+        <itemizedlist>
+        <listitem><para>
+        The default <literal>pubkey</literal> uses public key authentication
+        using a private key associated to a usable certificate.
+        </para></listitem>
+        <listitem><para>
+        <literal>psk</literal> uses pre-shared key authentication.
+        </para></listitem>
+        <listitem><para>
+        The IKEv1 specific <literal>xauth</literal> is used for XAuth or Hybrid
+        authentication,
+        </para></listitem>
+        <listitem><para>
+        while the IKEv2 specific <literal>eap</literal> keyword defines EAP
+        authentication.
+        </para></listitem>
+        <listitem><para>
+        For <literal>xauth</literal>, a specific backend name may be appended,
+        separated by a dash. The appropriate <literal>xauth</literal> backend is
+        selected to perform the XAuth exchange. For traditional XAuth, the
+        <literal>xauth</literal> method is usually defined in the second
+        authentication round following an initial <literal>pubkey</literal> (or
+        <literal>psk</literal>) round. Using <literal>xauth</literal> in the
+        first round performs Hybrid Mode client authentication.
+        </para></listitem>
+        <listitem><para>
+        For <literal>eap</literal>, a specific EAP method name may be appended, separated by a
+        dash. An EAP module implementing the appropriate method is selected to
+        perform the EAP conversation.
+        </para></listitem>
+        <listitem><para>
+        Since 5.4.0, if both peers support RFC 7427 ("Signature Authentication
+        in IKEv2") specific hash algorithms to be used during IKEv2
+        authentication may be configured. To do so use <literal>ike:</literal>
+        followed by a trust chain signature scheme constraint (see description
+        of the <option>remote</option> section's <option>auth</option>
+        keyword). For example, with <literal>ike:pubkey-sha384-sha256</literal>
+        a public key signature scheme with either SHA-384 or SHA-256 would get
+        used for authentication, in that order and depending on the hash
+        algorithms supported by the peer. If no specific hash algorithms are
+        configured, the default is to prefer an algorithm that matches or
+        exceeds the strength of the signature key. If no constraints with
+        <literal>ike:</literal> prefix are configured any signature scheme
+        constraint (without <literal>ike:</literal> prefix) will also apply to
+        IKEv2 authentication, unless this is disabled in
+        <literal>strongswan.conf</literal>. To use RSASSA-PSS signatures use
+        <literal>rsa/pss</literal> instead of <literal>pubkey</literal> or
+        <literal>rsa</literal> as in e.g.
+        <literal>ike:rsa/pss-sha256</literal>. If <literal>pubkey</literal> or
+        <literal>rsa</literal> constraints are configured RSASSA-PSS signatures
+        will only be used if enabled in <literal>strongswan.conf</literal>(5).
+        </para></listitem>
+        </itemizedlist>
+      '';
+
+      id = mkOptionalStrParam ''
+        IKE identity to use for authentication round. When using certificate
+        authentication, the IKE identity must be contained in the certificate,
+        either as subject or as subjectAltName.
+      '';
+
+      eap_id = mkOptionalStrParam ''
+        Client EAP-Identity to use in EAP-Identity exchange and the EAP method.
+      '';
+
+      aaa_id = mkOptionalStrParam ''
+        Server side EAP-Identity to expect in the EAP method. Some EAP methods,
+        such as EAP-TLS, use an identity for the server to perform mutual
+        authentication. This identity may differ from the IKE identity,
+        especially when EAP authentication is delegated from the IKE responder
+        to an AAA backend.
+        </para><para>
+        For EAP-(T)TLS, this defines the identity for which the server must
+        provide a certificate in the TLS exchange.
+      '';
+
+      xauth_id = mkOptionalStrParam ''
+        Client XAuth username used in the XAuth exchange.
+      '';
+
+    } ''
+      Section for a local authentication round. A local authentication round
+      defines the rules how authentication is performed for the local
+      peer. Multiple rounds may be defined to use IKEv2 RFC 4739 Multiple
+      Authentication or IKEv1 XAuth.
+      </para><para>
+      Each round is defined in a section having <literal>local</literal> as
+      prefix, and an optional unique suffix. To define a single authentication
+      round, the suffix may be omitted.
+    '';
+
+    remote = mkPrefixedAttrsOfParams {
+
+      round = mkIntParam 0 ''
+        Optional numeric identifier by which authentication rounds are
+        sorted. If not specified rounds are ordered by their position in the
+        config file/vici message.
+      '';
+
+      id = mkStrParam "%any" ''
+        IKE identity to expect for authentication round. When using certificate
+        authentication, the IKE identity must be contained in the certificate,
+        either as subject or as subjectAltName.
+      '';
+
+      eap_id = mkOptionalStrParam ''
+        Identity to use as peer identity during EAP authentication. If set to
+        <literal>%any</literal> the EAP-Identity method will be used to ask the
+        client for an EAP identity.
+      '';
+
+      groups = mkCommaSepListParam [] ''
+        Authorization group memberships to require. The peer
+        must prove membership to at least one of the specified groups. Group
+        membership can be certified by different means, for example by
+        appropriate Attribute Certificates or by an AAA backend involved in the
+        authentication.
+      '';
+
+      cert_policy = mkCommaSepListParam [] ''
+        List of certificate policy OIDs the peer's certificate
+        must have. OIDs are specified using the numerical dotted representation.
+      '';
+
+      certs = mkCommaSepListParam [] ''
+        List of certificates to accept for authentication. The certificates may
+        use a relative path from the swanctl <literal>x509</literal> directory
+        or an absolute path.
+      '';
+
+      cert = mkPostfixedAttrsOfParams certParams ''
+        Section for a certificate candidate to use for
+        authentication. Certificates in certs are transmitted as binary blobs,
+        these sections offer more flexibility.
+      '';
+
+      cacerts = mkCommaSepListParam [] ''
+        List of CA certificates to accept for
+        authentication. The certificates may use a relative path from the
+        swanctl <literal>x509ca</literal> directory or an absolute path.
+      '';
+
+      cacert = mkPostfixedAttrsOfParams certParams ''
+        Section for a CA certificate to accept for authentication. Certificates
+        in cacerts are transmitted as binary blobs, these sections offer more
+        flexibility.
+      '';
+
+      pubkeys = mkCommaSepListParam [] ''
+        List of raw public keys to accept for
+        authentication. The public keys may use a relative path from the swanctl
+        <literal>pubkey</literal> directory or an absolute path.
+      '';
+
+      revocation = mkEnumParam ["strict" "ifuri" "relaxed"] "relaxed" ''
+        Certificate revocation policy for CRL or OCSP revocation.
+        <itemizedlist>
+        <listitem><para>
+        A <literal>strict</literal> revocation policy fails if no revocation information is
+        available, i.e. the certificate is not known to be unrevoked.
+        </para></listitem>
+        <listitem><para>
+        <literal>ifuri</literal> fails only if a CRL/OCSP URI is available, but certificate
+        revocation checking fails, i.e. there should be revocation information
+        available, but it could not be obtained.
+        </para></listitem>
+        <listitem><para>
+        The default revocation policy <literal>relaxed</literal> fails only if a certificate is
+        revoked, i.e. it is explicitly known that it is bad.
+        </para></listitem>
+        </itemizedlist>
+      '';
+
+      auth = mkStrParam "pubkey" ''
+        Authentication to expect from remote. See the <option>local</option>
+        section's <option>auth</option> keyword description about the details of
+        supported mechanisms.
+        </para><para>
+        Since 5.4.0, to require a trustchain public key strength for the remote
+        side, specify the key type followed by the minimum strength in bits (for
+        example <literal>ecdsa-384</literal> or
+        <literal>rsa-2048-ecdsa-256</literal>). To limit the acceptable set of
+        hashing algorithms for trustchain validation, append hash algorithms to
+        pubkey or a key strength definition (for example
+        <literal>pubkey-sha256-sha512</literal>,
+        <literal>rsa-2048-sha256-sha384-sha512</literal> or
+        <literal>rsa-2048-sha256-ecdsa-256-sha256-sha384</literal>).
+        Unless disabled in <literal>strongswan.conf</literal>, or explicit IKEv2
+        signature constraints are configured (refer to the description of the
+        <option>local</option> section's <option>auth</option> keyword for
+        details), such key types and hash algorithms are also applied as
+        constraints against IKEv2 signature authentication schemes used by the
+        remote side. To require RSASSA-PSS signatures use
+        <literal>rsa/pss</literal> instead of <literal>pubkey</literal> or
+        <literal>rsa</literal> as in e.g. <literal>rsa/pss-sha256</literal>. If
+        <literal>pubkey</literal> or <literal>rsa</literal> constraints are
+        configured RSASSA-PSS signatures will only be accepted if enabled in
+        <literal>strongswan.conf</literal>(5).
+        </para><para>
+        To specify trust chain constraints for EAP-(T)TLS, append a colon to the
+        EAP method, followed by the key type/size and hash algorithm as
+        discussed above (e.g. <literal>eap-tls:ecdsa-384-sha384</literal>).
+      '';
+
+    } ''
+      Section for a remote authentication round. A remote authentication round
+      defines the constraints how the peers must authenticate to use this
+      connection. Multiple rounds may be defined to use IKEv2 RFC 4739 Multiple
+      Authentication or IKEv1 XAuth.
+      </para><para>
+      Each round is defined in a section having <literal>remote</literal> as
+      prefix, and an optional unique suffix. To define a single authentication
+      round, the suffix may be omitted.
+    '';
+
+    children = mkAttrsOfParams {
+      ah_proposals = mkCommaSepListParam [] ''
+        AH proposals to offer for the CHILD_SA. A proposal is a set of
+        algorithms. For AH, this includes an integrity algorithm and an optional
+        Diffie-Hellman group. If a DH group is specified, CHILD_SA/Quick Mode
+        rekeying and initial negotiation uses a separate Diffie-Hellman exchange
+        using the specified group (refer to esp_proposals for details).
+        </para><para>
+        In IKEv2, multiple algorithms of the same kind can be specified in a
+        single proposal, from which one gets selected. In IKEv1, only one
+        algorithm per kind is allowed per proposal, more algorithms get
+        implicitly stripped. Use multiple proposals to offer different algorithms
+        combinations in IKEv1.
+        </para><para>
+        Algorithm keywords get separated using dashes. Multiple proposals may be
+        specified in a list. The special value <literal>default</literal> forms
+        a default proposal of supported algorithms considered safe, and is
+        usually a good choice for interoperability. By default no AH proposals
+        are included, instead ESP is proposed.
+     '';
+
+      esp_proposals = mkCommaSepListParam ["default"] ''
+        ESP proposals to offer for the CHILD_SA. A proposal is a set of
+        algorithms. For ESP non-AEAD proposals, this includes an integrity
+        algorithm, an encryption algorithm, an optional Diffie-Hellman group and
+        an optional Extended Sequence Number Mode indicator. For AEAD proposals,
+        a combined mode algorithm is used instead of the separate
+        encryption/integrity algorithms.
+        </para><para>
+        If a DH group is specified, CHILD_SA/Quick Mode rekeying and initial
+        negotiation use a separate Diffie-Hellman exchange using the specified
+        group. However, for IKEv2, the keys of the CHILD_SA created implicitly
+        with the IKE_SA will always be derived from the IKE_SA's key material. So
+        any DH group specified here will only apply when the CHILD_SA is later
+        rekeyed or is created with a separate CREATE_CHILD_SA exchange. A
+        proposal mismatch might, therefore, not immediately be noticed when the
+        SA is established, but may later cause rekeying to fail.
+        </para><para>
+        Extended Sequence Number support may be indicated with the
+        <literal>esn</literal> and <literal>noesn</literal> values, both may be
+        included to indicate support for both modes. If omitted,
+        <literal>noesn</literal> is assumed.
+        </para><para>
+        In IKEv2, multiple algorithms of the same kind can be specified in a
+        single proposal, from which one gets selected. In IKEv1, only one
+        algorithm per kind is allowed per proposal, more algorithms get
+        implicitly stripped. Use multiple proposals to offer different algorithms
+        combinations in IKEv1.
+        </para><para>
+        Algorithm keywords get separated using dashes. Multiple proposals may be
+        specified as a list. The special value <literal>default</literal> forms
+        a default proposal of supported algorithms considered safe, and is
+        usually a good choice for interoperability. If no algorithms are
+        specified for AH nor ESP, the default set of algorithms for ESP is
+        included.
+      '';
+
+      sha256_96 = mkYesNoParam no ''
+        HMAC-SHA-256 is used with 128-bit truncation with IPsec. For
+        compatibility with implementations that incorrectly use 96-bit truncation
+        this option may be enabled to configure the shorter truncation length in
+        the kernel. This is not negotiated, so this only works with peers that
+        use the incorrect truncation length (or have this option enabled).
+      '';
+
+      local_ts = mkCommaSepListParam ["dynamic"] ''
+        List of local traffic selectors to include in CHILD_SA. Each selector is
+        a CIDR subnet definition, followed by an optional proto/port
+        selector. The special value <literal>dynamic</literal> may be used
+        instead of a subnet definition, which gets replaced by the tunnel outer
+        address or the virtual IP, if negotiated. This is the default.
+        </para><para>
+        A protocol/port selector is surrounded by opening and closing square
+        brackets. Between these brackets, a numeric or getservent(3) protocol
+        name may be specified. After the optional protocol restriction, an
+        optional port restriction may be specified, separated by a slash. The
+        port restriction may be numeric, a getservent(3) service name, or the
+        special value <literal>opaque</literal> for RFC 4301 OPAQUE
+        selectors. Port ranges may be specified as well, none of the kernel
+        backends currently support port ranges, though.
+        </para><para>
+        When IKEv1 is used only the first selector is interpreted, except if the
+        Cisco Unity extension plugin is used. This is due to a limitation of the
+        IKEv1 protocol, which only allows a single pair of selectors per
+        CHILD_SA. So to tunnel traffic matched by several pairs of selectors when
+        using IKEv1 several children (CHILD_SAs) have to be defined that cover
+        the selectors.  The IKE daemon uses traffic selector narrowing for IKEv1,
+        the same way it is standardized and implemented for IKEv2. However, this
+        may lead to problems with other implementations. To avoid that, configure
+        identical selectors in such scenarios.
+      '';
+
+      remote_ts = mkCommaSepListParam ["dynamic"] ''
+        List of remote selectors to include in CHILD_SA. See
+        <option>local_ts</option> for a description of the selector syntax.
+      '';
+
+      rekey_time = mkDurationParam "1h" ''
+        Time to schedule CHILD_SA rekeying. CHILD_SA rekeying refreshes key
+        material, optionally using a Diffie-Hellman exchange if a group is
+        specified in the proposal.  To avoid rekey collisions initiated by both
+        ends simultaneously, a value in the range of <option>rand_time</option>
+        gets subtracted to form the effective soft lifetime.
+        </para><para>
+        By default CHILD_SA rekeying is scheduled every hour, minus
+        <option>rand_time</option>.
+      '';
+
+      life_time = mkOptionalDurationParam ''
+        Maximum lifetime before CHILD_SA gets closed. Usually this hard lifetime
+        is never reached, because the CHILD_SA gets rekeyed before. If that fails
+        for whatever reason, this limit closes the CHILD_SA.  The default is 10%
+        more than the <option>rekey_time</option>.
+      '';
+
+      rand_time = mkOptionalDurationParam ''
+        Time range from which to choose a random value to subtract from
+        <option>rekey_time</option>. The default is the difference between
+        <option>life_time</option> and <option>rekey_time</option>.
+      '';
+
+      rekey_bytes = mkIntParam 0 ''
+        Number of bytes processed before initiating CHILD_SA rekeying. CHILD_SA
+        rekeying refreshes key material, optionally using a Diffie-Hellman
+        exchange if a group is specified in the proposal.
+        </para><para>
+        To avoid rekey collisions initiated by both ends simultaneously, a value
+        in the range of <option>rand_bytes</option> gets subtracted to form the
+        effective soft volume limit.
+        </para><para>
+        Volume based CHILD_SA rekeying is disabled by default.
+      '';
+
+      life_bytes = mkOptionalIntParam ''
+        Maximum bytes processed before CHILD_SA gets closed. Usually this hard
+        volume limit is never reached, because the CHILD_SA gets rekeyed
+        before. If that fails for whatever reason, this limit closes the
+        CHILD_SA.  The default is 10% more than <option>rekey_bytes</option>.
+      '';
+
+      rand_bytes = mkOptionalIntParam ''
+        Byte range from which to choose a random value to subtract from
+        <option>rekey_bytes</option>. The default is the difference between
+        <option>life_bytes</option> and <option>rekey_bytes</option>.
+      '';
+
+      rekey_packets = mkIntParam 0 ''
+        Number of packets processed before initiating CHILD_SA rekeying. CHILD_SA
+        rekeying refreshes key material, optionally using a Diffie-Hellman
+        exchange if a group is specified in the proposal.
+        </para><para>
+        To avoid rekey collisions initiated by both ends simultaneously, a value
+        in the range of <option>rand_packets</option> gets subtracted to form
+        the effective soft packet count limit.
+        </para><para>
+        Packet count based CHILD_SA rekeying is disabled by default.
+      '';
+
+      life_packets = mkOptionalIntParam ''
+        Maximum number of packets processed before CHILD_SA gets closed. Usually
+        this hard packets limit is never reached, because the CHILD_SA gets
+        rekeyed before. If that fails for whatever reason, this limit closes the
+        CHILD_SA.
+        </para><para>
+        The default is 10% more than <option>rekey_bytes</option>.
+      '';
+
+      rand_packets = mkOptionalIntParam ''
+        Packet range from which to choose a random value to subtract from
+        <option>rekey_packets</option>. The default is the difference between
+        <option>life_packets</option> and <option>rekey_packets</option>.
+      '';
+
+      updown = mkOptionalStrParam ''
+        Updown script to invoke on CHILD_SA up and down events.
+      '';
+
+      hostaccess = mkYesNoParam yes ''
+        Hostaccess variable to pass to <literal>updown</literal> script.
+      '';
+
+      mode = mkEnumParam [ "tunnel"
+                           "transport"
+                           "transport_proxy"
+                           "beet"
+                           "pass"
+                           "drop"
+                         ] "tunnel" ''
+        IPsec Mode to establish CHILD_SA with.
+        <itemizedlist>
+        <listitem><para>
+        <literal>tunnel</literal> negotiates the CHILD_SA in IPsec Tunnel Mode,
+        </para></listitem>
+        <listitem><para>
+        whereas <literal>transport</literal> uses IPsec Transport Mode.
+        </para></listitem>
+        <listitem><para>
+        <literal>transport_proxy</literal> signifying the special Mobile IPv6
+        Transport Proxy Mode.
+        </para></listitem>
+        <listitem><para>
+        <literal>beet</literal> is the Bound End to End Tunnel mixture mode,
+        working with fixed inner addresses without the need to include them in
+        each packet.
+        </para></listitem>
+        <listitem><para>
+        Both <literal>transport</literal> and <literal>beet</literal> modes are
+        subject to mode negotiation; <literal>tunnel</literal> mode is
+        negotiated if the preferred mode is not available.
+        </para></listitem>
+        <listitem><para>
+        <literal>pass</literal> and <literal>drop</literal> are used to install
+        shunt policies which explicitly bypass the defined traffic from IPsec
+        processing or drop it, respectively.
+        </para></listitem>
+        </itemizedlist>
+      '';
+
+      policies = mkYesNoParam yes ''
+        Whether to install IPsec policies or not. Disabling this can be useful in
+        some scenarios e.g. MIPv6, where policies are not managed by the IKE
+        daemon. Since 5.3.3.
+      '';
+
+      policies_fwd_out = mkYesNoParam no ''
+        Whether to install outbound FWD IPsec policies or not. Enabling this is
+        required in case there is a drop policy that would match and block
+        forwarded traffic for this CHILD_SA. Since 5.5.1.
+      '';
+
+      dpd_action = mkEnumParam ["clear" "trap" "restart"] "clear" ''
+        Action to perform for this CHILD_SA on DPD timeout. The default clear
+        closes the CHILD_SA and does not take further action. trap installs a
+        trap policy, which will catch matching traffic and tries to re-negotiate
+        the tunnel on-demand. restart immediately tries to re-negotiate the
+        CHILD_SA under a fresh IKE_SA.
+      '';
+
+      ipcomp = mkYesNoParam no ''
+        Enable IPComp compression before encryption. If enabled, IKE tries to
+        negotiate IPComp compression to compress ESP payload data prior to
+        encryption.
+      '';
+
+      inactivity = mkDurationParam "0s" ''
+        Timeout before closing CHILD_SA after inactivity. If no traffic has been
+        processed in either direction for the configured timeout, the CHILD_SA
+        gets closed due to inactivity. The default value of 0 disables inactivity
+        checks.
+      '';
+
+      reqid = mkIntParam 0 ''
+        Fixed reqid to use for this CHILD_SA. This might be helpful in some
+        scenarios, but works only if each CHILD_SA configuration is instantiated
+        not more than once. The default of 0 uses dynamic reqids, allocated
+        incrementally.
+      '';
+
+      priority = mkIntParam 0 ''
+        Optional fixed priority for IPsec policies. This could be useful to
+        install high-priority drop policies. The default of 0 uses dynamically
+        calculated priorities based on the size of the traffic selectors.
+      '';
+
+      interface = mkOptionalStrParam ''
+        Optional interface name to restrict outbound IPsec policies.
+      '';
+
+      mark_in = mkStrParam "0/0x00000000" ''
+        Netfilter mark and mask for input traffic. On Linux, Netfilter may
+        require marks on each packet to match an SA/policy having that option
+        set. This allows installing duplicate policies and enables Netfilter
+        rules to select specific SAs/policies for incoming traffic. Note that
+        inbound marks are only set on policies, by default, unless
+        <option>mark_in_sa</option> is enabled. The special value
+        <literal>%unique</literal> sets a unique mark on each CHILD_SA instance,
+        beyond that the value <literal>%unique-dir</literal> assigns a different
+        unique mark for each
+        </para><para>
+        An additional mask may be appended to the mark, separated by
+        <literal>/</literal>. The default mask if omitted is
+        <literal>0xffffffff</literal>.
+      '';
+
+      mark_in_sa = mkYesNoParam no ''
+        Whether to set <option>mark_in</option> on the inbound SA. By default,
+        the inbound mark is only set on the inbound policy. The tuple destination
+        address, protocol and SPI is unique and the mark is not required to find
+        the correct SA, allowing to mark traffic after decryption instead (where
+        more specific selectors may be used) to match different policies. Marking
+        packets before decryption is still possible, even if no mark is set on
+        the SA.
+      '';
+
+      mark_out = mkStrParam "0/0x00000000" ''
+        Netfilter mark and mask for output traffic. On Linux, Netfilter may
+        require marks on each packet to match a policy/SA having that option
+        set. This allows installing duplicate policies and enables Netfilter
+        rules to select specific policies/SAs for outgoing traffic. The special
+        value <literal>%unique</literal> sets a unique mark on each CHILD_SA
+        instance, beyond that the value <literal>%unique-dir</literal> assigns a
+        different unique mark for each CHILD_SA direction (in/out).
+        </para><para>
+        An additional mask may be appended to the mark, separated by
+        <literal>/</literal>. The default mask if omitted is
+        <literal>0xffffffff</literal>.
+      '';
+
+      tfc_padding = mkParamOfType (with lib.types; either int (enum ["mtu"])) 0 ''
+        Pads ESP packets with additional data to have a consistent ESP packet
+        size for improved Traffic Flow Confidentiality. The padding defines the
+        minimum size of all ESP packets sent.  The default value of
+        <literal>0</literal> disables TFC padding, the special value
+        <literal>mtu</literal> adds TFC padding to create a packet size equal to
+        the Path Maximum Transfer Unit.
+      '';
+
+      replay_window = mkIntParam 32 ''
+        IPsec replay window to configure for this CHILD_SA. Larger values than
+        the default of <literal>32</literal> are supported using the Netlink
+        backend only, a value of <literal>0</literal> disables IPsec replay
+        protection.
+      '';
+
+      hw_offload = mkYesNoParam no ''
+        Enable hardware offload for this CHILD_SA, if supported by the IPsec
+        implementation.
+      '';
+
+      start_action = mkEnumParam ["none" "trap" "start"] "none" ''
+        Action to perform after loading the configuration.
+        <itemizedlist>
+        <listitem><para>
+        The default of <literal>none</literal> loads the connection only, which
+        then can be manually initiated or used as a responder configuration.
+        </para></listitem>
+        <listitem><para>
+        The value <literal>trap</literal> installs a trap policy, which triggers
+        the tunnel as soon as matching traffic has been detected.
+        </para></listitem>
+        <listitem><para>
+        The value <literal>start</literal> initiates the connection actively.
+        </para></listitem>
+        </itemizedlist>
+        When unloading or replacing a CHILD_SA configuration having a
+        <option>start_action</option> different from <literal>none</literal>,
+        the inverse action is performed. Configurations with
+        <literal>start</literal> get closed, while such with
+        <literal>trap</literal> get uninstalled.
+      '';
+
+      close_action = mkEnumParam ["none" "trap" "start"] "none" ''
+        Action to perform after a CHILD_SA gets closed by the peer.
+        <itemizedlist>
+        <listitem><para>
+        The default of <literal>none</literal> does not take any action,
+        </para></listitem>
+        <listitem><para>
+        <literal>trap</literal> installs a trap policy for the CHILD_SA.
+        </para></listitem>
+        <listitem><para>
+        <literal>start</literal> tries to re-create the CHILD_SA.
+        </para></listitem>
+        </itemizedlist>
+        </para><para>
+        <option>close_action</option> does not provide any guarantee that the
+        CHILD_SA is kept alive. It acts on explicit close messages only, but not
+        on negotiation failures. Use trap policies to reliably re-create failed
+        CHILD_SAs.
+      '';
+
+    } ''
+      CHILD_SA configuration sub-section. Each connection definition may have
+      one or more sections in its <option>children</option> subsection. The
+      section name defines the name of the CHILD_SA configuration, which must be
+      unique within the connection (denoted &#60;child&#62; below).
+    '';
+  } ''
+    Section defining IKE connection configurations, each in its own subsection
+    with an arbitrary yet unique name
+  '';
+
+  secrets = let
+    mkEapXauthParams = mkPrefixedAttrsOfParams {
+      secret = mkOptionalStrParam ''
+        Value of the EAP/XAuth secret. It may either be an ASCII string, a hex
+        encoded string if it has a 0x prefix or a Base64 encoded string if it
+        has a 0s prefix in its value.
+      '';
+
+      id = mkPrefixedAttrsOfParam (mkOptionalStrParam "") ''
+        Identity the EAP/XAuth secret belongs to. Multiple unique identities may
+        be specified, each having an <literal>id</literal> prefix, if a secret
+        is shared between multiple users.
+      '';
+
+    } ''
+      EAP secret section for a specific secret. Each EAP secret is defined in a
+      unique section having the <literal>eap</literal> prefix. EAP secrets are
+      used for XAuth authentication as well.
+    '';
+
+  in {
+
+    eap   = mkEapXauthParams;
+    xauth = mkEapXauthParams;
+
+    ntlm = mkPrefixedAttrsOfParams {
+      secret = mkOptionalStrParam ''
+        Value of the NTLM secret, which is the NT Hash of the actual secret,
+        that is, MD4(UTF-16LE(secret)). The resulting 16-byte value may either
+        be given as a hex encoded string with a 0x prefix or as a Base64 encoded
+        string with a 0s prefix.
+      '';
+
+      id = mkPrefixedAttrsOfParam (mkOptionalStrParam "") ''
+        Identity the NTLM secret belongs to. Multiple unique identities may be
+        specified, each having an id prefix, if a secret is shared between
+        multiple users.
+      '';
+    } ''
+      NTLM secret section for a specific secret. Each NTLM secret is defined in
+      a unique section having the <literal>ntlm</literal> prefix. NTLM secrets
+      may only be used for EAP-MSCHAPv2 authentication.
+    '';
+
+    ike = mkPrefixedAttrsOfParams {
+      secret = mkOptionalStrParam ''
+        Value of the IKE preshared secret. It may either be an ASCII string, a
+        hex encoded string if it has a 0x prefix or a Base64 encoded string if
+        it has a 0s prefix in its value.
+      '';
+
+      id = mkPrefixedAttrsOfParam (mkOptionalStrParam "") ''
+        IKE identity the IKE preshared secret belongs to. Multiple unique
+        identities may be specified, each having an <literal>id</literal>
+        prefix, if a secret is shared between multiple peers.
+      '';
+    } ''
+      IKE preshared secret section for a specific secret. Each IKE PSK is
+      defined in a unique section having the <literal>ike</literal> prefix.
+    '';
+
+    private = mkPrefixedAttrsOfParams {
+      file = mkOptionalStrParam ''
+        File name in the private folder for which this passphrase should be used.
+      '';
+
+      secret = mkOptionalStrParam ''
+        Value of decryption passphrase for private key.
+      '';
+    } ''
+      Private key decryption passphrase for a key in the
+      <literal>private</literal> folder.
+    '';
+
+    rsa = mkPrefixedAttrsOfParams {
+      file = mkOptionalStrParam ''
+        File name in the <literal>rsa</literal> folder for which this passphrase
+        should be used.
+      '';
+      secret = mkOptionalStrParam ''
+        Value of decryption passphrase for RSA key.
+      '';
+    } ''
+      Private key decryption passphrase for a key in the <literal>rsa</literal>
+      folder.
+    '';
+
+    ecdsa = mkPrefixedAttrsOfParams {
+      file = mkOptionalStrParam ''
+        File name in the <literal>ecdsa</literal> folder for which this
+        passphrase should be used.
+      '';
+      secret = mkOptionalStrParam ''
+        Value of decryption passphrase for ECDSA key.
+      '';
+    } ''
+      Private key decryption passphrase for a key in the
+      <literal>ecdsa</literal> folder.
+    '';
+
+    pkcs8 = mkPrefixedAttrsOfParams {
+      file = mkOptionalStrParam ''
+        File name in the <literal>pkcs8</literal> folder for which this
+        passphrase should be used.
+      '';
+      secret = mkOptionalStrParam ''
+        Value of decryption passphrase for PKCS#8 key.
+      '';
+    } ''
+      Private key decryption passphrase for a key in the
+      <literal>pkcs8</literal> folder.
+    '';
+
+    pkcs12 = mkPrefixedAttrsOfParams {
+      file = mkOptionalStrParam ''
+        File name in the <literal>pkcs12</literal> folder for which this
+        passphrase should be used.
+      '';
+      secret = mkOptionalStrParam ''
+        Value of decryption passphrase for PKCS#12 container.
+      '';
+    } ''
+      PKCS#12 decryption passphrase for a container in the
+      <literal>pkcs12</literal> folder.
+    '';
+
+    token = mkPrefixedAttrsOfParams {
+      handle = mkOptionalHexParam ''
+        Hex-encoded CKA_ID or handle of the private key on the token or TPM,
+        respectively.
+      '';
+
+      slot = mkOptionalIntParam ''
+        Optional slot number to access the token.
+      '';
+
+      module = mkOptionalStrParam ''
+        Optional PKCS#11 module name to access the token.
+      '';
+
+      pin = mkOptionalStrParam ''
+        Optional PIN required to access the key on the token. If none is
+        provided the user is prompted during an interactive
+        <literal>--load-creds</literal> call.
+      '';
+    } ''Definition for a private key that's stored on a token/smartcard/TPM.'';
+
+  };
+
+  pools = mkAttrsOfParams {
+    addrs = mkOptionalStrParam ''
+      Subnet or range defining addresses allocated in pool. Accepts a single
+      CIDR subnet defining the pool to allocate addresses from or an address
+      range (&#60;from&#62;-&#60;to&#62;). Pools must be unique and non-overlapping.
+    '';
+
+    dns           = mkCommaSepListParam [] "Address or CIDR subnets";
+    nbns          = mkCommaSepListParam [] "Address or CIDR subnets";
+    dhcp          = mkCommaSepListParam [] "Address or CIDR subnets";
+    netmask       = mkCommaSepListParam [] "Address or CIDR subnets";
+    server        = mkCommaSepListParam [] "Address or CIDR subnets";
+    subnet        = mkCommaSepListParam [] "Address or CIDR subnets";
+    split_include = mkCommaSepListParam [] "Address or CIDR subnets";
+    split_exclude = mkCommaSepListParam [] "Address or CIDR subnets";
+  } ''
+    Section defining named pools. Named pools may be referenced by connections
+    with the pools option to assign virtual IPs and other configuration
+    attributes. Each pool must have a unique name (denoted &#60;name&#62; below).
+  '';
+}
diff --git a/nixos/modules/services/networking/tcpcrypt.nix b/nixos/modules/services/networking/tcpcrypt.nix
index 2f304165eb4..ee005e11aa3 100644
--- a/nixos/modules/services/networking/tcpcrypt.nix
+++ b/nixos/modules/services/networking/tcpcrypt.nix
@@ -44,9 +44,9 @@ in
       path = [ pkgs.iptables pkgs.tcpcrypt pkgs.procps ];
 
       preStart = ''
-        mkdir -p /var/run/tcpcryptd
-        chown tcpcryptd /var/run/tcpcryptd
-        sysctl -n net.ipv4.tcp_ecn >/run/pre-tcpcrypt-ecn-state
+        mkdir -p /run/tcpcryptd
+        chown tcpcryptd /run/tcpcryptd
+        sysctl -n net.ipv4.tcp_ecn > /run/tcpcryptd/pre-tcpcrypt-ecn-state
         sysctl -w net.ipv4.tcp_ecn=0
 
         iptables -t raw -N nixos-tcpcrypt
@@ -61,8 +61,8 @@ in
       script = "tcpcryptd -x 0x10";
 
       postStop = ''
-        if [ -f /run/pre-tcpcrypt-ecn-state ]; then
-          sysctl -w net.ipv4.tcp_ecn=$(cat /run/pre-tcpcrypt-ecn-state)
+        if [ -f /run/tcpcryptd/pre-tcpcrypt-ecn-state ]; then
+          sysctl -w net.ipv4.tcp_ecn=$(cat /run/tcpcryptd/pre-tcpcrypt-ecn-state)
         fi
 
         iptables -t mangle -D POSTROUTING -j nixos-tcpcrypt || true
diff --git a/nixos/modules/services/networking/unbound.nix b/nixos/modules/services/networking/unbound.nix
index 545ee327d59..f069a9883a7 100644
--- a/nixos/modules/services/networking/unbound.nix
+++ b/nixos/modules/services/networking/unbound.nix
@@ -112,7 +112,7 @@ in
         mkdir -m 0755 -p ${stateDir}/dev/
         cp ${confFile} ${stateDir}/unbound.conf
         ${optionalString cfg.enableRootTrustAnchor ''
-        ${pkgs.unbound}/bin/unbound-anchor -a ${rootTrustAnchorFile}
+        ${pkgs.unbound}/bin/unbound-anchor -a ${rootTrustAnchorFile} || echo "Root anchor updated!"
         chown unbound ${stateDir} ${rootTrustAnchorFile}
         ''}
         touch ${stateDir}/dev/random
diff --git a/nixos/modules/services/networking/unifi.nix b/nixos/modules/services/networking/unifi.nix
index 8e5f0bfc070..94958bfdd83 100644
--- a/nixos/modules/services/networking/unifi.nix
+++ b/nixos/modules/services/networking/unifi.nix
@@ -4,22 +4,22 @@ let
   cfg = config.services.unifi;
   stateDir = "/var/lib/unifi";
   cmd = ''
-    @${pkgs.jre}/bin/java java \
+    @${cfg.jrePackage}/bin/java java \
         ${optionalString (cfg.initialJavaHeapSize != null) "-Xms${(toString cfg.initialJavaHeapSize)}m"} \
         ${optionalString (cfg.maximumJavaHeapSize != null) "-Xmx${(toString cfg.maximumJavaHeapSize)}m"} \
         -jar ${stateDir}/lib/ace.jar
   '';
   mountPoints = [
     {
-      what = "${pkgs.unifi}/dl";
+      what = "${cfg.unifiPackage}/dl";
       where = "${stateDir}/dl";
     }
     {
-      what = "${pkgs.unifi}/lib";
+      what = "${cfg.unifiPackage}/lib";
       where = "${stateDir}/lib";
     }
     {
-      what = "${pkgs.mongodb}/bin";
+      what = "${cfg.mongodbPackage}/bin";
       where = "${stateDir}/bin";
     }
     {
@@ -41,6 +41,33 @@ in
       '';
     };
 
+    services.unifi.jrePackage = mkOption {
+      type = types.package;
+      default = pkgs.jre8;
+      defaultText = "pkgs.jre8";
+      description = ''
+        The JRE package to use. Check the release notes to ensure it is supported.
+      '';
+    };
+
+    services.unifi.unifiPackage = mkOption {
+      type = types.package;
+      default = pkgs.unifiLTS;
+      defaultText = "pkgs.unifiLTS";
+      description = ''
+        The unifi package to use.
+      '';
+    };
+
+    services.unifi.mongodbPackage = mkOption {
+      type = types.package;
+      default = pkgs.mongodb;
+      defaultText = "pkgs.mongodb";
+      description = ''
+        The mongodb package to use.
+      '';
+    };
+
     services.unifi.dataDir = mkOption {
       type = types.str;
       default = "${stateDir}/data";
@@ -137,7 +164,7 @@ in
         rm -rf "${stateDir}/webapps"
         mkdir -p "${stateDir}/webapps"
         chown unifi "${stateDir}/webapps"
-        ln -s "${pkgs.unifi}/webapps/ROOT" "${stateDir}/webapps/ROOT"
+        ln -s "${cfg.unifiPackage}/webapps/ROOT" "${stateDir}/webapps/ROOT"
       '';
 
       postStop = ''
diff --git a/nixos/modules/services/networking/wireguard.nix b/nixos/modules/services/networking/wireguard.nix
index 24accd41511..0591917c742 100644
--- a/nixos/modules/services/networking/wireguard.nix
+++ b/nixos/modules/services/networking/wireguard.nix
@@ -53,30 +53,30 @@ let
       };
 
       preSetup = mkOption {
-        example = literalExample [''
+        example = literalExample ''
           ${pkgs.iproute}/bin/ip netns add foo
-        ''];
-        default = [];
-        type = with types; listOf str;
+        '';
+        default = "";
+        type = with types; coercedTo (listOf str) (concatStringsSep "\n") lines;
         description = ''
-          A list of commands called at the start of the interface setup.
+          Commands called at the start of the interface setup.
         '';
       };
 
       postSetup = mkOption {
-        example = literalExample [''
-          ${pkgs.bash} -c 'printf "nameserver 10.200.100.1" | ${pkgs.openresolv}/bin/resolvconf -a wg0 -m 0'
-        ''];
-        default = [];
-        type = with types; listOf str;
-        description = "A list of commands called at the end of the interface setup.";
+        example = literalExample ''
+          printf "nameserver 10.200.100.1" | ${pkgs.openresolv}/bin/resolvconf -a wg0 -m 0
+        '';
+        default = "";
+        type = with types; coercedTo (listOf str) (concatStringsSep "\n") lines;
+        description = "Commands called at the end of the interface setup.";
       };
 
       postShutdown = mkOption {
-        example = literalExample ["${pkgs.openresolv}/bin/resolvconf -d wg0"];
-        default = [];
-        type = with types; listOf str;
-        description = "A list of commands called after shutting down the interface.";
+        example = literalExample "${pkgs.openresolv}/bin/resolvconf -d wg0";
+        default = "";
+        type = with types; coercedTo (listOf str) (concatStringsSep "\n") lines;
+        description = "Commands called after shutting down the interface.";
       };
 
       table = mkOption {
@@ -182,9 +182,6 @@ let
 
   };
 
-  ipCommand = "${pkgs.iproute}/bin/ip";
-  wgCommand = "${pkgs.wireguard}/bin/wg";
-
   generateUnit = name: values:
     # exactly one way to specify the private key must be set
     assert (values.privateKey != null) != (values.privateKeyFile != null);
@@ -196,49 +193,53 @@ let
         after = [ "network.target" ];
         wantedBy = [ "multi-user.target" ];
         environment.DEVICE = name;
+        path = with pkgs; [ kmod iproute wireguard ];
 
         serviceConfig = {
           Type = "oneshot";
           RemainAfterExit = true;
-          ExecStart = flatten([
-            values.preSetup
+        };
+
+        script = ''
+          modprobe wireguard
+
+          ${values.preSetup}
 
-            "-${ipCommand} link del dev ${name}"
-            "${ipCommand} link add dev ${name} type wireguard"
+          ip link add dev ${name} type wireguard
 
-            (map (ip:
-            "${ipCommand} address add ${ip} dev ${name}"
-            ) values.ips)
+          ${concatMapStringsSep "\n" (ip:
+            "ip address add ${ip} dev ${name}"
+          ) values.ips}
 
-            ("${wgCommand} set ${name} private-key ${privKey}" +
-            optionalString (values.listenPort != null) " listen-port ${toString values.listenPort}")
+          wg set ${name} private-key ${privKey} ${
+            optionalString (values.listenPort != null) " listen-port ${toString values.listenPort}"}
 
-            (map (peer:
+          ${concatMapStringsSep "\n" (peer:
             assert (peer.presharedKeyFile == null) || (peer.presharedKey == null); # at most one of the two must be set
             let psk = if peer.presharedKey != null then pkgs.writeText "wg-psk" peer.presharedKey else peer.presharedKeyFile;
             in
-            "${wgCommand} set ${name} peer ${peer.publicKey}" +
-            optionalString (psk != null) " preshared-key ${psk}" +
-            optionalString (peer.endpoint != null) " endpoint ${peer.endpoint}" +
-            optionalString (peer.persistentKeepalive != null) " persistent-keepalive ${toString peer.persistentKeepalive}" +
-            optionalString (peer.allowedIPs != []) " allowed-ips ${concatStringsSep "," peer.allowedIPs}"
-            ) values.peers)
-
-            "${ipCommand} link set up dev ${name}"
-
-            (optionals (values.allowedIPsAsRoutes != false) (map (peer:
-            (map (allowedIP:
-            "${ipCommand} route replace ${allowedIP} dev ${name} table ${values.table}"
-            ) peer.allowedIPs)
-            ) values.peers))
-
-            values.postSetup
-          ]);
-          ExecStop = flatten([
-            "${ipCommand} link del dev ${name}"
-            values.postShutdown
-          ]);
-        };
+              "wg set ${name} peer ${peer.publicKey}" +
+              optionalString (psk != null) " preshared-key ${psk}" +
+              optionalString (peer.endpoint != null) " endpoint ${peer.endpoint}" +
+              optionalString (peer.persistentKeepalive != null) " persistent-keepalive ${toString peer.persistentKeepalive}" +
+              optionalString (peer.allowedIPs != []) " allowed-ips ${concatStringsSep "," peer.allowedIPs}"
+            ) values.peers}
+
+          ip link set up dev ${name}
+
+          ${optionalString (values.allowedIPsAsRoutes != false) (concatStringsSep "\n" (concatMap (peer:
+              (map (allowedIP:
+                "ip route replace ${allowedIP} dev ${name} table ${values.table}"
+              ) peer.allowedIPs)
+            ) values.peers))}
+
+          ${values.postSetup}
+        '';
+
+        preStop = ''
+          ip link del dev ${name}
+          ${values.postShutdown}
+        '';
       };
 
 in
diff --git a/nixos/modules/services/networking/zerotierone.nix b/nixos/modules/services/networking/zerotierone.nix
index 86e0204ec2f..cd1617b8e2b 100644
--- a/nixos/modules/services/networking/zerotierone.nix
+++ b/nixos/modules/services/networking/zerotierone.nix
@@ -7,6 +7,16 @@ let
 in
 {
   options.services.zerotierone.enable = mkEnableOption "ZeroTierOne";
+
+  options.services.zerotierone.joinNetworks = mkOption {
+    default = [];
+    example = [ "a8a2c3c10c1a68de" ];
+    type = types.listOf types.str;
+    description = ''
+      List of ZeroTier Network IDs to join on startup
+    '';
+  };
+
   options.services.zerotierone.package = mkOption {
     default = pkgs.zerotierone;
     defaultText = "pkgs.zerotierone";
@@ -22,12 +32,13 @@ in
       path = [ cfg.package ];
       after = [ "network.target" ];
       wantedBy = [ "multi-user.target" ];
-      preStart =
-        ''
-        mkdir -p /var/lib/zerotier-one
+      preStart = ''
+        mkdir -p /var/lib/zerotier-one/networks.d
         chmod 700 /var/lib/zerotier-one
         chown -R root:root /var/lib/zerotier-one
-        '';
+      '' + (concatMapStrings (netId: ''
+        touch "/var/lib/zerotier-one/networks.d/${netId}.conf"
+      '') cfg.joinNetworks);
       serviceConfig = {
         ExecStart = "${cfg.package}/bin/zerotier-one";
         Restart = "always";
@@ -38,6 +49,9 @@ in
     # ZeroTier does not issue DHCP leases, but some strangers might...
     networking.dhcpcd.denyInterfaces = [ "zt0" ];
 
+    # ZeroTier receives UDP transmissions on port 9993 by default
+    networking.firewall.allowedUDPPorts = [ 9993 ];
+
     environment.systemPackages = [ cfg.package ];
   };
 }
diff --git a/nixos/modules/services/printing/cupsd.nix b/nixos/modules/services/printing/cupsd.nix
index 4c7f58d1d8b..c4147986439 100644
--- a/nixos/modules/services/printing/cupsd.nix
+++ b/nixos/modules/services/printing/cupsd.nix
@@ -83,6 +83,8 @@ let
 
     WebInterface ${if cfg.webInterface then "Yes" else "No"}
 
+    LogLevel ${cfg.logLevel}
+
     ${cfg.extraConf}
   '';
 
@@ -124,7 +126,7 @@ in
 
       listenAddresses = mkOption {
         type = types.listOf types.str;
-        default = [ "127.0.0.1:631" ];
+        default = [ "localhost:631" ];
         example = [ "*:631" ];
         description = ''
           A list of addresses and ports on which to listen.
@@ -165,6 +167,15 @@ in
         '';
       };
 
+      logLevel = mkOption {
+        type = types.str;
+        default = "info";
+        example = "debug";
+        description = ''
+          Specifies the cupsd logging verbosity.
+        '';
+      };
+
       extraFilesConf = mkOption {
         type = types.lines;
         default = "";
@@ -180,7 +191,7 @@ in
         example =
           ''
             BrowsePoll cups.example.com
-            LogLevel debug
+            MaxCopies 42
           '';
         description = ''
           Extra contents of the configuration file of the CUPS daemon
@@ -321,7 +332,10 @@ in
             ''}
           '';
 
-          serviceConfig.PrivateTmp = true;
+          serviceConfig = {
+            PrivateTmp = true;
+            RuntimeDirectory = [ "cups" ];
+          };
       };
 
     systemd.services.cups-browsed = mkIf avahiEnabled
@@ -342,8 +356,6 @@ in
 
     services.printing.extraConf =
       ''
-        LogLevel info
-
         DefaultAuthType Basic
 
         <Location />
diff --git a/nixos/modules/services/search/elasticsearch.nix b/nixos/modules/services/search/elasticsearch.nix
index adef500b7b5..d61f588205a 100644
--- a/nixos/modules/services/search/elasticsearch.nix
+++ b/nixos/modules/services/search/elasticsearch.nix
@@ -32,8 +32,11 @@ let
       (if es5 then (pkgs.writeTextDir "log4j2.properties" cfg.logging)
               else (pkgs.writeTextDir "logging.yml" cfg.logging))
     ];
-    # Elasticsearch 5.x won't start when the scripts directory does not exist
-    postBuild = if es5 then "${pkgs.coreutils}/bin/mkdir -p $out/scripts" else "";
+    postBuild = concatStringsSep "\n" (concatLists [
+      # Elasticsearch 5.x won't start when the scripts directory does not exist
+      (optional es5 "${pkgs.coreutils}/bin/mkdir -p $out/scripts")
+      (optional es6 "ln -s ${cfg.package}/config/jvm.options $out/jvm.options")
+    ]);
   };
 
   esPlugins = pkgs.buildEnv {
diff --git a/nixos/modules/services/security/hologram-server.nix b/nixos/modules/services/security/hologram-server.nix
index e267fed2795..bad02c7440b 100644
--- a/nixos/modules/services/security/hologram-server.nix
+++ b/nixos/modules/services/security/hologram-server.nix
@@ -12,16 +12,20 @@ let
         dn       = cfg.ldapBindDN;
         password = cfg.ldapBindPassword;
       };
-      insecureldap = cfg.ldapInsecure;
-      userattr     = cfg.ldapUserAttr;
-      baseDN       = cfg.ldapBaseDN;
+      insecureldap    = cfg.ldapInsecure;
+      userattr        = cfg.ldapUserAttr;
+      baseDN          = cfg.ldapBaseDN;
+      enableldapRoles = cfg.enableLdapRoles;
+      roleAttr        = cfg.roleAttr;
+      groupClassAttr  = cfg.groupClassAttr;
     };
     aws = {
       account     = cfg.awsAccount;
       defaultrole = cfg.awsDefaultRole;
     };
-    stats  = cfg.statsAddress;
-    listen = cfg.listenAddress;
+    stats        = cfg.statsAddress;
+    listen       = cfg.listenAddress;
+    cachetimeout = cfg.cacheTimeoutSeconds;
   });
 in {
   options = {
@@ -70,6 +74,24 @@ in {
         description = "Password of account to use to query the LDAP server";
       };
 
+      enableLdapRoles = mkOption {
+        type        = types.bool;
+        default     = false;
+        description = "Whether to assign user roles based on the user's LDAP group memberships";
+      };
+
+      groupClassAttr = mkOption {
+        type = types.str;
+        default = "groupOfNames";
+        description = "The objectclass attribute to search for groups when enableLdapRoles is true";
+      };
+
+      roleAttr = mkOption {
+        type        = types.str;
+        default     = "businessCategory";
+        description = "Which LDAP group attribute to search for authorized role ARNs";
+      };
+
       awsAccount = mkOption {
         type        = types.str;
         description = "AWS account number";
@@ -85,6 +107,12 @@ in {
         default     = "";
         description = "Address of statsd server";
       };
+
+      cacheTimeoutSeconds = mkOption {
+        type        = types.int;
+        default     = 3600;
+        description = "How often (in seconds) to refresh the LDAP cache";
+      };
     };
   };
 
diff --git a/nixos/modules/services/security/oauth2_proxy.nix b/nixos/modules/services/security/oauth2_proxy.nix
index ef48d52e7a9..433d97c2a7d 100644
--- a/nixos/modules/services/security/oauth2_proxy.nix
+++ b/nixos/modules/services/security/oauth2_proxy.nix
@@ -6,70 +6,81 @@ with lib;
 let
   cfg = config.services.oauth2_proxy;
 
-  # Use like:
-  #   repeatedArgs (arg: "--arg=${arg}") args
-  repeatedArgs = concatMapStringsSep " ";
-
   # oauth2_proxy provides many options that are only relevant if you are using
   # a certain provider. This set maps from provider name to a function that
   # takes the configuration and returns a string that can be inserted into the
   # command-line to launch oauth2_proxy.
   providerSpecificOptions = {
-    azure = cfg: ''
-      --azure-tenant=${cfg.azure.tenant} \
-      --resource=${cfg.azure.resource} \
-    '';
-
-    github = cfg: ''
-      ${optionalString (!isNull cfg.github.org) "--github-org=${cfg.github.org}"} \
-      ${optionalString (!isNull cfg.github.team) "--github-org=${cfg.github.team}"} \
-    '';
-
-    google = cfg: ''
-      --google-admin-email=${cfg.google.adminEmail} \
-      --google-service-account=${cfg.google.serviceAccountJSON} \
-      ${repeatedArgs (group: "--google-group=${group}") cfg.google.groups} \
-    '';
+    azure = cfg: {
+      azure.tenant = cfg.azure.tenant;
+      resource = cfg.azure.resource;
+    };
+
+    github = cfg: { github = {
+      inherit (cfg.github) org team;
+    }; };
+
+    google = cfg: { google = with cfg.google; optionalAttrs (groups != []) {
+      admin-email = adminEmail;
+      service-account = serviceAccountJSON;
+      group = groups;
+    }; };
   };
 
   authenticatedEmailsFile = pkgs.writeText "authenticated-emails" cfg.email.addresses;
 
-  getProviderOptions = cfg: provider: providerSpecificOptions.${provider} or (_: "") cfg;
-
-  mkCommandLine = cfg: ''
-    --provider='${cfg.provider}' \
-    ${optionalString (!isNull cfg.email.addresses) "--authenticated-emails-file='${authenticatedEmailsFile}'"} \
-    --approval-prompt='${cfg.approvalPrompt}' \
-    ${optionalString (cfg.passBasicAuth && !isNull cfg.basicAuthPassword) "--basic-auth-password='${cfg.basicAuthPassword}'"} \
-    --client-id='${cfg.clientID}' \
-    --client-secret='${cfg.clientSecret}' \
-    ${optionalString (!isNull cfg.cookie.domain) "--cookie-domain='${cfg.cookie.domain}'"} \
-    --cookie-expire='${cfg.cookie.expire}' \
-    --cookie-httponly=${boolToString cfg.cookie.httpOnly} \
-    --cookie-name='${cfg.cookie.name}' \
-    --cookie-secret='${cfg.cookie.secret}' \
-    --cookie-secure=${boolToString cfg.cookie.secure} \
-    ${optionalString (!isNull cfg.cookie.refresh) "--cookie-refresh='${cfg.cookie.refresh}'"} \
-    ${optionalString (!isNull cfg.customTemplatesDir) "--custom-templates-dir='${cfg.customTemplatesDir}'"} \
-    ${repeatedArgs (x: "--email-domain='${x}'") cfg.email.domains} \
-    --http-address='${cfg.httpAddress}' \
-    ${optionalString (!isNull cfg.htpasswd.file) "--htpasswd-file='${cfg.htpasswd.file}' --display-htpasswd-form=${boolToString cfg.htpasswd.displayForm}"} \
-    ${optionalString (!isNull cfg.loginURL) "--login-url='${cfg.loginURL}'"} \
-    --pass-access-token=${boolToString cfg.passAccessToken} \
-    --pass-basic-auth=${boolToString cfg.passBasicAuth} \
-    --pass-host-header=${boolToString cfg.passHostHeader} \
-    --proxy-prefix='${cfg.proxyPrefix}' \
-    ${optionalString (!isNull cfg.profileURL) "--profile-url='${cfg.profileURL}'"} \
-    ${optionalString (!isNull cfg.redeemURL) "--redeem-url='${cfg.redeemURL}'"} \
-    ${optionalString (!isNull cfg.redirectURL) "--redirect-url='${cfg.redirectURL}'"} \
-    --request-logging=${boolToString cfg.requestLogging} \
-    ${optionalString (!isNull cfg.scope) "--scope='${cfg.scope}'"} \
-    ${repeatedArgs (x: "--skip-auth-regex='${x}'") cfg.skipAuthRegexes} \
-    ${optionalString (!isNull cfg.signatureKey) "--signature-key='${cfg.signatureKey}'"} \
-    --upstream='${cfg.upstream}' \
-    ${optionalString (!isNull cfg.validateURL) "--validate-url='${cfg.validateURL}'"} \
-    ${optionalString cfg.tls.enable "--tls-cert='${cfg.tls.certificate}' --tls-key='${cfg.tls.key}' --https-address='${cfg.tls.httpsAddress}'"} \
-  '' + getProviderOptions cfg cfg.provider;
+  getProviderOptions = cfg: provider: providerSpecificOptions.${provider} or (_: {}) cfg;
+
+  allConfig = with cfg; {
+    inherit (cfg) provider scope upstream;
+    approval-prompt = approvalPrompt;
+    basic-auth-password = basicAuthPassword;
+    client-id = clientID;
+    client-secret = clientSecret;
+    custom-templates-dir = customTemplatesDir;
+    email-domain = email.domains;
+    http-address = httpAddress;
+    login-url = loginURL;
+    pass-access-token = passAccessToken;
+    pass-basic-auth = passBasicAuth;
+    pass-host-header = passHostHeader;
+    proxy-prefix = proxyPrefix;
+    profile-url = profileURL;
+    redeem-url = redeemURL;
+    redirect-url = redirectURL;
+    request-logging = requestLogging;
+    skip-auth-regex = skipAuthRegexes;
+    signature-key = signatureKey;
+    validate-url = validateURL;
+    htpasswd-file = htpasswd.file;
+    cookie = {
+      inherit (cookie) domain secure expire name secret refresh;
+      httponly = cookie.httpOnly;
+    };
+    set-xauthrequest = setXauthrequest;
+  } // lib.optionalAttrs (!isNull cfg.email.addresses) {
+    authenticated-emails-file = authenticatedEmailsFile;
+  } // lib.optionalAttrs (cfg.passBasicAuth) {
+    basic-auth-password = cfg.basicAuthPassword;
+  } // lib.optionalAttrs (!isNull cfg.htpasswd.file) {
+    display-htpasswd-file = cfg.htpasswd.displayForm;
+  } // lib.optionalAttrs tls.enable {
+    tls-cert = tls.certificate;
+    tls-key = tls.key;
+    https-address = tls.httpsAddress;
+  } // (getProviderOptions cfg cfg.provider) // cfg.extraConfig;
+
+  mapConfig = key: attr:
+  if (!isNull attr && attr != []) then (
+    if (builtins.typeOf attr) == "set" then concatStringsSep " "
+      (mapAttrsToList (name: value: mapConfig (key + "-" + name) value) attr) else
+    if (builtins.typeOf attr) == "list" then concatMapStringsSep " " (mapConfig key) attr else
+    if (builtins.typeOf attr) == "bool" then "--${key}=${boolToString attr}" else
+    if (builtins.typeOf attr) == "string" then "--${key}='${attr}'" else
+    "--${key}=${toString attr}")
+    else "";
+
+  configString = concatStringsSep " " (mapAttrsToList mapConfig allConfig);
 in
 {
   options.services.oauth2_proxy = {
@@ -110,7 +121,7 @@ in
     };
 
     clientID = mkOption {
-      type = types.str;
+      type = types.nullOr types.str;
       description = ''
         The OAuth Client ID.
       '';
@@ -118,7 +129,7 @@ in
     };
 
     clientSecret = mkOption {
-      type = types.str;
+      type = types.nullOr types.str;
       description = ''
         The OAuth Client Secret.
       '';
@@ -272,7 +283,8 @@ in
     ####################################################
     # UPSTREAM Configuration
     upstream = mkOption {
-      type = types.commas;
+      type = with types; coercedTo string (x: [x]) (listOf string);
+      default = [];
       description = ''
         The http url(s) of the upstream endpoint or <literal>file://</literal>
         paths for static files. Routing is based on the path.
@@ -365,7 +377,7 @@ in
       };
 
       secret = mkOption {
-        type = types.str;
+        type = types.nullOr types.str;
         description = ''
           The seed string for secure cookies.
         '';
@@ -494,10 +506,43 @@ in
       '';
     };
 
+    setXauthrequest = mkOption {
+      type = types.nullOr types.bool;
+      default = false;
+      description = ''
+        Set X-Auth-Request-User and X-Auth-Request-Email response headers (useful in Nginx auth_request mode). Setting this to 'null' means using the upstream default (false).
+      '';
+    };
+
+    extraConfig = mkOption {
+      default = {};
+      description = ''
+        Extra config to pass to oauth2_proxy.
+      '';
+    };
+
+    keyFile = mkOption {
+      type = types.nullOr types.string;
+      default = null;
+      description = ''
+        oauth2_proxy allows passing sensitive configuration via environment variables.
+        Make a file that contains lines like
+        OAUTH2_PROXY_CLIENT_SECRET=asdfasdfasdf.apps.googleuserscontent.com
+        and specify the path here.
+      '';
+      example = "/run/keys/oauth2_proxy";
+    };
+
   };
 
   config = mkIf cfg.enable {
 
+    services.oauth2_proxy = mkIf (!isNull cfg.keyFile) {
+      clientID = mkDefault null;
+      clientSecret = mkDefault null;
+      cookie.secret = mkDefault null;
+    };
+
     users.extraUsers.oauth2_proxy = {
       description = "OAuth2 Proxy";
     };
@@ -511,7 +556,8 @@ in
       serviceConfig = {
         User = "oauth2_proxy";
         Restart = "always";
-        ExecStart = "${cfg.package.bin}/bin/oauth2_proxy ${mkCommandLine cfg}";
+        ExecStart = "${cfg.package.bin}/bin/oauth2_proxy ${configString}";
+        EnvironmentFile = mkIf (cfg.keyFile != null) cfg.keyFile;
       };
     };
 
diff --git a/nixos/modules/services/security/sshguard.nix b/nixos/modules/services/security/sshguard.nix
index 7f09e8893c4..137c3d61018 100644
--- a/nixos/modules/services/security/sshguard.nix
+++ b/nixos/modules/services/security/sshguard.nix
@@ -133,6 +133,7 @@ in {
             ReadOnlyDirectories = "/";
             ReadWriteDirectories = "/run/sshguard /var/lib/sshguard";
             RuntimeDirectory = "sshguard";
+            StateDirectory = "sshguard";
             CapabilityBoundingSet = "CAP_NET_ADMIN CAP_NET_RAW";
          };
       };
diff --git a/nixos/modules/services/security/tor.nix b/nixos/modules/services/security/tor.nix
index fed91756e76..806252f49b8 100644
--- a/nixos/modules/services/security/tor.nix
+++ b/nixos/modules/services/security/tor.nix
@@ -5,6 +5,7 @@ with lib;
 let
   cfg = config.services.tor;
   torDirectory = "/var/lib/tor";
+  torRunDirectory = "/run/tor";
 
   opt    = name: value: optionalString (value != null) "${name} ${value}";
   optint = name: value: optionalString (value != null && value != 0)    "${name} ${toString value}";
@@ -38,6 +39,7 @@ let
     ''}
 
     ${optint "ControlPort" cfg.controlPort}
+    ${optionalString cfg.controlSocket.enable "ControlSocket ${torRunDirectory}/control GroupWritable RelaxDirModeCheck"}
   ''
   # Client connection config
   + optionalString cfg.client.enable ''
@@ -140,6 +142,17 @@ in
         '';
       };
 
+      controlSocket = {
+        enable = mkOption {
+          type = types.bool;
+          default = false;
+          description = ''
+            Wheter to enable Tor control socket. Control socket is created
+            in <literal>${torRunDirectory}/control</literal>
+          '';
+        };
+      };
+
       client = {
         enable = mkOption {
           type = types.bool;
@@ -690,14 +703,10 @@ in
         after    = [ "network.target" ];
         restartTriggers = [ torRcFile ];
 
-        # Translated from the upstream contrib/dist/tor.service.in
-        preStart = ''
-          install -o tor -g tor -d ${torDirectory}/onion
-          ${pkgs.tor}/bin/tor -f ${torRcFile} --verify-config
-        '';
-
         serviceConfig =
           { Type         = "simple";
+            # Translated from the upstream contrib/dist/tor.service.in
+            ExecStartPre = "${pkgs.tor}/bin/tor -f ${torRcFile} --verify-config";
             ExecStart    = "${pkgs.tor}/bin/tor -f ${torRcFile} --RunAsDaemon 0";
             ExecReload   = "${pkgs.coreutils}/bin/kill -HUP $MAINPID";
             KillSignal   = "SIGINT";
@@ -712,11 +721,13 @@ in
             #   DeviceAllow /dev/urandom r
             # .. but we can't specify DeviceAllow multiple times. 'closed'
             # is close enough.
+            RuntimeDirectory        = "tor";
+            StateDirectory          = [ "tor" "tor/onion" ];
             PrivateTmp              = "yes";
             DevicePolicy            = "closed";
             InaccessibleDirectories = "/home";
             ReadOnlyDirectories     = "/";
-            ReadWriteDirectories    = torDirectory;
+            ReadWriteDirectories    = [torDirectory torRunDirectory];
             NoNewPrivileges         = "yes";
           };
       };
diff --git a/nixos/modules/services/security/torify.nix b/nixos/modules/services/security/torify.nix
index a29cb3f33da..08da726437e 100644
--- a/nixos/modules/services/security/torify.nix
+++ b/nixos/modules/services/security/torify.nix
@@ -7,7 +7,7 @@ let
   torify = pkgs.writeTextFile {
     name = "tsocks";
     text = ''
-        #!${pkgs.stdenv.shell}
+        #!${pkgs.runtimeShell}
         TSOCKS_CONF_FILE=${pkgs.writeText "tsocks.conf" cfg.tsocks.config} LD_PRELOAD="${pkgs.tsocks}/lib/libtsocks.so $LD_PRELOAD" "$@"
     '';
     executable = true;
diff --git a/nixos/modules/services/security/torsocks.nix b/nixos/modules/services/security/torsocks.nix
index 1b5a05b21e7..c60c745443b 100644
--- a/nixos/modules/services/security/torsocks.nix
+++ b/nixos/modules/services/security/torsocks.nix
@@ -23,7 +23,7 @@ let
   wrapTorsocks = name: server: pkgs.writeTextFile {
     name = name;
     text = ''
-        #!${pkgs.stdenv.shell}
+        #!${pkgs.runtimeShell}
         TORSOCKS_CONF_FILE=${pkgs.writeText "torsocks.conf" (configFile server)} ${pkgs.torsocks}/bin/torsocks "$@"
     '';
     executable = true;
diff --git a/nixos/modules/services/torrent/deluge.nix b/nixos/modules/services/torrent/deluge.nix
index ec1e97f4125..bff22cd1359 100644
--- a/nixos/modules/services/torrent/deluge.nix
+++ b/nixos/modules/services/torrent/deluge.nix
@@ -11,10 +11,7 @@ in {
   options = {
     services = {
       deluge = {
-        enable = mkOption {
-          default = false;
-          description = "Start the Deluge daemon";
-        };
+        enable = mkEnableOption "Deluge daemon";
 
         openFilesLimit = mkOption {
           default = openFilesLimit;
@@ -25,14 +22,7 @@ in {
         };
       };
 
-      deluge.web = {
-        enable = mkOption {
-          default = false;
-          description = ''
-            Start Deluge Web daemon.
-          '';
-        };
-      };
+      deluge.web.enable = mkEnableOption "Deluge Web daemon";
     };
   };
 
diff --git a/nixos/modules/services/torrent/transmission.nix b/nixos/modules/services/torrent/transmission.nix
index dd6b585b7e2..3564afd77f4 100644
--- a/nixos/modules/services/torrent/transmission.nix
+++ b/nixos/modules/services/torrent/transmission.nix
@@ -21,6 +21,19 @@ let
 
   # for users in group "transmission" to have access to torrents
   fullSettings = { umask = 2; download-dir = downloadDir; incomplete-dir = incompleteDir; } // cfg.settings;
+
+  # Directories transmission expects to exist and be ug+rwx.
+  directoriesToManage = [ homeDir settingsDir fullSettings.download-dir fullSettings.incomplete-dir ];
+
+  preStart = pkgs.writeScript "transmission-pre-start" ''
+    #!${pkgs.runtimeShell}
+    set -ex
+    for DIR in ${escapeShellArgs directoriesToManage}; do
+      mkdir -p "$DIR"
+      chmod 770 "$DIR"
+    done
+    cp -f ${settingsFile} ${settingsDir}/settings.json
+  '';
 in
 {
   options = {
@@ -59,8 +72,8 @@ in
           time the service starts). String values must be quoted, integer and
           boolean values must not.
 
-          See https://trac.transmissionbt.com/wiki/EditConfigFiles for
-          documentation.
+          See https://github.com/transmission/transmission/wiki/Editing-Configuration-Files
+          for documentation.
         '';
       };
 
@@ -89,9 +102,7 @@ in
 
       # 1) Only the "transmission" user and group have access to torrents.
       # 2) Optionally update/force specific fields into the configuration file.
-      serviceConfig.ExecStartPre = ''
-          ${pkgs.stdenv.shell} -c "mkdir -p ${homeDir} ${settingsDir} ${fullSettings.download-dir} ${fullSettings.incomplete-dir} && chmod 770 ${homeDir} ${settingsDir} ${fullSettings.download-dir} ${fullSettings.incomplete-dir} && rm -f ${settingsDir}/settings.json && cp -f ${settingsFile} ${settingsDir}/settings.json"
-      '';
+      serviceConfig.ExecStartPre = preStart;
       serviceConfig.ExecStart = "${pkgs.transmission}/bin/transmission-daemon -f --port ${toString config.services.transmission.port}";
       serviceConfig.ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID";
       serviceConfig.User = "transmission";
@@ -136,6 +147,7 @@ in
           ${getLib pkgs.libcap}/lib/libcap*.so*            mr,
           ${getLib pkgs.attr}/lib/libattr*.so*             mr,
           ${getLib pkgs.lz4}/lib/liblz4*.so*               mr,
+          ${getLib pkgs.libkrb5}/lib/lib*.so*              mr,
 
           @{PROC}/sys/kernel/random/uuid   r,
           @{PROC}/sys/vm/overcommit_memory r,
diff --git a/nixos/modules/services/web-apps/atlassian/jira.nix b/nixos/modules/services/web-apps/atlassian/jira.nix
index 81ee8154326..13c5951524d 100644
--- a/nixos/modules/services/web-apps/atlassian/jira.nix
+++ b/nixos/modules/services/web-apps/atlassian/jira.nix
@@ -155,7 +155,7 @@ in
       requires = [ "postgresql.service" ];
       after = [ "postgresql.service" ];
 
-      path = [ cfg.jrePackage ];
+      path = [ cfg.jrePackage pkgs.bash ];
 
       environment = {
         JIRA_USER = cfg.user;
diff --git a/nixos/modules/services/web-apps/nixbot.nix b/nixos/modules/services/web-apps/nixbot.nix
deleted file mode 100644
index 0592d01bf36..00000000000
--- a/nixos/modules/services/web-apps/nixbot.nix
+++ /dev/null
@@ -1,149 +0,0 @@
-{ config, lib, pkgs, ... }:
-
-with lib;
-
-let
-  cfg = config.services.nixbot;
-  pyramidIni = ''
-    ###
-    # app configuration
-    # http://docs.pylonsproject.org/projects/pyramid/en/1.7-branch/narr/environment.html
-    ###
-
-    [app:main]
-    use = egg:nixbot
-
-    nixbot.github_token = ${cfg.githubToken}
-    nixbot.bot_name = ${cfg.botName}
-    nixbot.repo = ${cfg.repo}
-    nixbot.pr_repo = ${cfg.prRepo}
-    nixbot.hydra_jobsets_repo = ${cfg.hydraJobsetsRepo}
-    nixbot.github_secret = justnotsorandom
-    nixbot.public_url = ${cfg.publicUrl}
-    nixbot.repo_dir = ${cfg.repoDir}
-
-    pyramid.reload_templates = false
-    pyramid.debug_authorization = false
-    pyramid.debug_notfound = false
-    pyramid.debug_routematch = false
-    pyramid.default_locale_name = en
-
-    # By default, the toolbar only appears for clients from IP addresses
-    # '127.0.0.1' and '::1'.
-    # debugtoolbar.hosts = 127.0.0.1 ::1
-
-    ###
-    # wsgi server configuration
-    ###
-
-    [server:main]
-    use = egg:waitress#main
-    host = 0.0.0.0
-    port = 6543
-
-    ###
-    # logging configuration
-    # http://docs.pylonsproject.org/projects/pyramid/en/1.7-branch/narr/logging.html
-    ###
-
-    [loggers]
-    keys = root, nixbot
-
-    [handlers]
-    keys = console
-
-    [formatters]
-    keys = generic
-
-    [logger_root]
-    level = INFO
-    handlers = console
-
-    [logger_nixbot]
-    level = INFO
-    handlers =
-    qualname = nixbot
-
-    [handler_console]
-    class = StreamHandler
-    args = (sys.stderr,)
-    level = NOTSET
-    formatter = generic
-
-    [formatter_generic]
-    format = %(asctime)s %(levelname)-5.5s [%(name)s:%(lineno)s][%(threadName)s] %(message)s
-  '';
-in {
-  options = {
-    services.nixbot = {
-      enable = mkEnableOption "nixbot";
-
-      botName = mkOption {
-        type = types.str;
-        description = "The bot's github user account name.";
-        default = "nixbot";
-      };
-
-      githubToken = mkOption {
-        type = types.str;
-        description = "The bot's github user account token.";
-        example = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa";
-      };
-
-      repo = mkOption {
-        type = types.str;
-        description = "The github repository to check for PRs.";
-        example = "nixos/nixpkgs";
-      };
-
-      prRepo = mkOption {
-        type = types.str;
-        description = "The github repository to push the testing branches to.";
-        example = "nixos/nixpkgs-pr";
-      };
-
-      hydraJobsetsRepo = mkOption {
-        type = types.str;
-        description = "The github repository to push the hydra jobset definitions to.";
-        example = "nixos/hydra-jobsets";
-      };
-
-      publicUrl = mkOption {
-        type = types.str;
-        description = "The public URL the bot is reachable at (Github hook endpoint).";
-        example = "https://nixbot.nixos.org";
-      };
-
-      repoDir = mkOption {
-        type = types.path;
-        description = "The directory the repositories are stored in.";
-        default = "/var/lib/nixbot";
-      };
-    };
-  };
-
-  config = mkIf cfg.enable {
-    users.extraUsers.nixbot = {
-      createHome = true;
-      home = cfg.repoDir;
-    };
-
-    systemd.services.nixbot = let
-      env = pkgs.python3.buildEnv.override {
-        extraLibs = [ pkgs.nixbot ];
-      };
-    in {
-      after = [ "network.target" ];
-      wantedBy = [ "multi-user.target" ];
-      script = ''
-        ${env}/bin/pserve ${pkgs.writeText "production.ini" pyramidIni}
-      '';
-
-      serviceConfig = {
-        User = "nixbot";
-        Group = "nogroup";
-        PermissionsStartOnly = true;
-      };
-    };
-  };
-}
diff --git a/nixos/modules/services/web-apps/tt-rss.nix b/nixos/modules/services/web-apps/tt-rss.nix
index c784f4756d1..610c6463a5e 100644
--- a/nixos/modules/services/web-apps/tt-rss.nix
+++ b/nixos/modules/services/web-apps/tt-rss.nix
@@ -466,10 +466,10 @@ let
       '';
     };
 
-    services.nginx = {
+    # NOTE: No configuration is done if not using virtual host
+    services.nginx = mkIf (cfg.virtualHost != null) {
       enable = true;
-      # NOTE: No configuration is done if not using virtual host
-      virtualHosts = mkIf (cfg.virtualHost != null) {
+      virtualHosts = {
         "${cfg.virtualHost}" = {
           root = "${cfg.root}";
 
@@ -505,7 +505,7 @@ let
                     ${cfg.database.name}''
 
               else if cfg.database.type == "mysql" then ''
-                  echo '${e}' | ${pkgs.mysql}/bin/mysql \
+                  echo '${e}' | ${pkgs.sudo}/bin/sudo -u ${cfg.user} ${config.services.mysql.package}/bin/mysql \
                     -u ${cfg.database.user} \
                     ${optionalString (cfg.database.password != null) "-p${cfg.database.password}"} \
                     ${optionalString (cfg.database.host != null) "-h ${cfg.database.host} -P ${toString dbPort}"} \
diff --git a/nixos/modules/services/web-apps/youtrack.nix b/nixos/modules/services/web-apps/youtrack.nix
new file mode 100644
index 00000000000..e057e302562
--- /dev/null
+++ b/nixos/modules/services/web-apps/youtrack.nix
@@ -0,0 +1,177 @@
+{ config, lib, pkgs, options, ... }:
+
+with lib;
+
+let
+  cfg = config.services.youtrack;
+
+  extraAttr = concatStringsSep " " (mapAttrsToList (k: v: "-D${k}=${v}") (stdParams // cfg.extraParams));
+  mergeAttrList = lib.foldl' lib.mergeAttrs {};
+
+  stdParams = mergeAttrList [
+    (optionalAttrs (cfg.baseUrl != null) {
+      "jetbrains.youtrack.baseUrl" = cfg.baseUrl;
+    })
+    {
+    "java.aws.headless" = "true";
+    "jetbrains.youtrack.disableBrowser" = "true";
+    }
+  ];
+in
+{
+  options.services.youtrack = {
+
+    enable = mkEnableOption "YouTrack service";
+
+    address = mkOption {
+      description = ''
+        The interface youtrack will listen on.
+      '';
+      default = "127.0.0.1";
+      type = types.string;
+    };
+
+    baseUrl = mkOption {
+      description = ''
+        Base URL for youtrack. Will be auto-detected and stored in database.
+      '';
+      type = types.nullOr types.string;
+      default = null;
+    };
+
+    extraParams = mkOption {
+      default = {};
+      description = ''
+        Extra parameters to pass to youtrack. See 
+        https://www.jetbrains.com/help/youtrack/standalone/YouTrack-Java-Start-Parameters.html
+        for more information.
+      '';
+      example = {
+        "jetbrains.youtrack.overrideRootPassword" = "tortuga";
+      };
+      type = types.attrsOf types.string;
+    };
+
+    package = mkOption {
+      description = ''
+        Package to use.
+      '';
+      type = types.package;
+      default = pkgs.youtrack;
+      defaultText = "pkgs.youtrack";
+    };
+
+    port = mkOption {
+      description = ''
+        The port youtrack will listen on.
+      '';
+      default = 8080;
+      type = types.int;
+    };
+
+    statePath = mkOption {
+      description = ''
+        Where to keep the youtrack database.
+      '';
+      type = types.string;
+      default = "/var/lib/youtrack";
+    };
+
+    virtualHost = mkOption {
+      description = ''
+        Name of the nginx virtual host to use and setup.
+        If null, do not setup anything.
+      '';
+      default = null;
+      type = types.nullOr types.string;
+    };
+
+    jvmOpts = mkOption {
+      description = ''
+        Extra options to pass to the JVM.
+        See https://www.jetbrains.com/help/youtrack/standalone/Configure-JVM-Options.html
+        for more information.
+      '';
+      type = types.string;
+      example = "-XX:MetaspaceSize=250m";
+      default = "";
+    };
+
+    maxMemory = mkOption {
+      description = ''
+        Maximum Java heap size
+      '';
+      type = types.string;
+      default = "1g";
+    };
+
+    maxMetaspaceSize = mkOption {
+      description = ''
+        Maximum java Metaspace memory.
+      '';
+      type = types.string;
+      default = "350m";
+    };
+  };
+
+  config = mkIf cfg.enable {
+
+    systemd.services.youtrack = {
+      environment.HOME = cfg.statePath;
+      environment.YOUTRACK_JVM_OPTS = "-Xmx${cfg.maxMemory} -XX:MaxMetaspaceSize=${cfg.maxMetaspaceSize} ${cfg.jvmOpts} ${extraAttr}";
+      after = [ "network.target" ];
+      wantedBy = [ "multi-user.target" ];
+      serviceConfig = {
+        Type = "simple";
+        User = "youtrack";
+        Group = "youtrack";
+        ExecStart = ''${cfg.package}/bin/youtrack ${cfg.address}:${toString cfg.port}'';
+      };
+    };
+
+    users.users.youtrack = {
+      description = "Youtrack service user";
+      isSystemUser = true;
+      home = cfg.statePath;
+      createHome = true;
+      group = "youtrack";
+    };
+
+    users.groups.youtrack = {};
+
+    services.nginx = mkIf (cfg.virtualHost != null) {
+      upstreams.youtrack.servers."${cfg.address}:${toString cfg.port}" = {};
+      virtualHosts.${cfg.virtualHost}.locations = {
+        "/" = {
+          proxyPass = "http://youtrack";
+          extraConfig = ''
+            client_max_body_size 10m;
+            proxy_http_version 1.1;
+            proxy_set_header X-Forwarded-Host $http_host;
+            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
+            proxy_set_header X-Forwarded-Proto $scheme;
+          '';
+        };
+
+        "/api/eventSourceBus" = {
+          proxyPass = "http://youtrack";
+          extraConfig = ''
+            proxy_cache off;
+            proxy_buffering off;
+            proxy_read_timeout 86400s;
+            proxy_send_timeout 86400s;
+            proxy_set_header Connection "";
+            chunked_transfer_encoding off;
+            client_max_body_size 10m;
+            proxy_http_version 1.1;
+            proxy_set_header X-Forwarded-Host $http_host;
+            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
+            proxy_set_header X-Forwarded-Proto $scheme;
+          '';
+        };
+
+      };
+    };
+
+  };
+}
diff --git a/nixos/modules/services/web-servers/apache-httpd/owncloud.nix b/nixos/modules/services/web-servers/apache-httpd/owncloud.nix
index cfddab2f504..82b8bf3e30d 100644
--- a/nixos/modules/services/web-servers/apache-httpd/owncloud.nix
+++ b/nixos/modules/services/web-servers/apache-httpd/owncloud.nix
@@ -346,7 +346,7 @@ let
   postgresql = serverInfo.fullConfig.services.postgresql.package;
 
   setupDb = pkgs.writeScript "setup-owncloud-db" ''
-    #!${pkgs.stdenv.shell}
+    #!${pkgs.runtimeShell}
     PATH="${postgresql}/bin"
     createuser --no-superuser --no-createdb --no-createrole "${config.dbUser}" || true
     createdb "${config.dbName}" -O "${config.dbUser}" || true
diff --git a/nixos/modules/services/web-servers/apache-httpd/per-server-options.nix b/nixos/modules/services/web-servers/apache-httpd/per-server-options.nix
index 1d53ce65900..4bbd041b6e0 100644
--- a/nixos/modules/services/web-servers/apache-httpd/per-server-options.nix
+++ b/nixos/modules/services/web-servers/apache-httpd/per-server-options.nix
@@ -118,7 +118,7 @@ with lib;
     default = [];
     example = [
       { urlPath = "/foo/bar.png";
-        files = "/home/eelco/some-file.png";
+        file = "/home/eelco/some-file.png";
       }
     ];
     description = ''
diff --git a/nixos/modules/services/web-servers/caddy.nix b/nixos/modules/services/web-servers/caddy.nix
index d8efa24bc6d..fe65fba42a4 100644
--- a/nixos/modules/services/web-servers/caddy.nix
+++ b/nixos/modules/services/web-servers/caddy.nix
@@ -25,8 +25,8 @@ in {
     };
 
     ca = mkOption {
-      default = "https://acme-v01.api.letsencrypt.org/directory";
-      example = "https://acme-staging.api.letsencrypt.org/directory";
+      default = "https://acme-v02.api.letsencrypt.org/directory";
+      example = "https://acme-staging-v02.api.letsencrypt.org/directory";
       type = types.string;
       description = "Certificate authority ACME server. The default (Let's Encrypt production server) should be fine for most people.";
     };
@@ -66,7 +66,7 @@ in {
       description = "Caddy web server";
       after = [ "network-online.target" ];
       wantedBy = [ "multi-user.target" ];
-      environment = mkIf (versionAtLeast config.system.stateVersion "17.09")
+      environment = mkIf (versionAtLeast config.system.nixos.stateVersion "17.09")
         { CADDYPATH = cfg.dataDir; };
       serviceConfig = {
         ExecStart = ''
diff --git a/nixos/modules/services/web-servers/hitch/default.nix b/nixos/modules/services/web-servers/hitch/default.nix
new file mode 100644
index 00000000000..895d02827f7
--- /dev/null
+++ b/nixos/modules/services/web-servers/hitch/default.nix
@@ -0,0 +1,108 @@
+{ config, lib, pkgs, ...}:
+let
+  cfg = config.services.hitch;
+  ocspDir = lib.optionalString cfg.ocsp-stapling.enabled "/var/cache/hitch/ocsp";
+  hitchConfig = with lib; pkgs.writeText "hitch.conf" (concatStringsSep "\n" [
+    ("backend = \"${cfg.backend}\"")
+    (concatMapStrings (s: "frontend = \"${s}\"\n") cfg.frontend)
+    (concatMapStrings (s: "pem-file = \"${s}\"\n") cfg.pem-files)
+    ("ciphers = \"${cfg.ciphers}\"")
+    ("ocsp-dir = \"${ocspDir}\"")
+    "user = \"${cfg.user}\""
+    "group = \"${cfg.group}\""
+    cfg.extraConfig
+  ]);
+in
+with lib;
+{
+  options = {
+    services.hitch = {
+      enable = mkEnableOption "Hitch Server";
+
+      backend = mkOption {
+        type = types.str;
+        description = ''
+          The host and port Hitch connects to when receiving
+          a connection in the form [HOST]:PORT
+        '';
+      };
+
+      ciphers = mkOption {
+        type = types.str;
+        default = "EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH";
+        description = "The list of ciphers to use";
+      };
+
+      frontend = mkOption {
+        type = types.either types.str (types.listOf types.str);
+        default = "[127.0.0.1]:443";
+        description = ''
+          The port and interface of the listen endpoint in the
++         form [HOST]:PORT[+CERT].
+        '';
+        apply = toList;
+      };
+
+      pem-files = mkOption {
+        type = types.listOf types.path;
+        default = [];
+        description = "PEM files to use";
+      };
+
+      ocsp-stapling = {
+        enabled = mkOption {
+          type = types.bool;
+          default = true;
+          description = "Whether to enable OCSP Stapling";
+        };
+      };
+
+      user = mkOption {
+        type = types.str;
+        default = "hitch";
+        description = "The user to run as";
+      };
+
+      group = mkOption {
+        type = types.str;
+        default = "hitch";
+        description = "The group to run as";
+      };
+
+      extraConfig = mkOption {
+        type = types.lines;
+        default = "";
+        description = "Additional configuration lines";
+      };
+    };
+
+  };
+
+  config = mkIf cfg.enable {
+
+    systemd.services.hitch = {
+      description = "Hitch";
+      wantedBy = [ "multi-user.target" ];
+      after = [ "network.target" ];
+      preStart = ''
+        ${pkgs.hitch}/sbin/hitch -t --config ${hitchConfig}
+      '' + (optionalString cfg.ocsp-stapling.enabled ''
+        mkdir -p ${ocspDir}
+        chown -R hitch:hitch ${ocspDir}
+      '');
+      serviceConfig = {
+        Type = "forking";
+        ExecStart = "${pkgs.hitch}/sbin/hitch --daemon --config ${hitchConfig}";
+        ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID";
+        Restart = "always";
+        RestartSec = "5s";
+        LimitNOFILE = 131072;
+      };
+    };
+
+    environment.systemPackages = [ pkgs.hitch ];
+
+    users.extraUsers.hitch.group = "hitch";
+    users.extraGroups.hitch = {};
+  };
+}
diff --git a/nixos/modules/services/web-servers/lighttpd/gitweb.nix b/nixos/modules/services/web-servers/lighttpd/gitweb.nix
index c8d9836b0b6..c494d6966a7 100644
--- a/nixos/modules/services/web-servers/lighttpd/gitweb.nix
+++ b/nixos/modules/services/web-servers/lighttpd/gitweb.nix
@@ -3,12 +3,10 @@
 with lib;
 
 let
-  cfg = config.services.lighttpd.gitweb;
-  gitwebConfigFile = pkgs.writeText "gitweb.conf" ''
-    # path to git projects (<project>.git)
-    $projectroot = "${cfg.projectroot}";
-    ${cfg.extraConfig}
-  '';
+  cfg = config.services.gitweb;
+  package = pkgs.gitweb.override (optionalAttrs cfg.gitwebTheme {
+    gitwebTheme = true;
+  });
 
 in
 {
@@ -23,26 +21,9 @@ in
       '';
     };
 
-    projectroot = mkOption {
-      default = "/srv/git";
-      type = types.path;
-      description = ''
-        Path to git projects (bare repositories) that should be served by
-        gitweb. Must not end with a slash.
-      '';
-    };
-
-    extraConfig = mkOption {
-      default = "";
-      type = types.lines;
-      description = ''
-        Verbatim configuration text appended to the generated gitweb.conf file.
-      '';
-    };
-
   };
 
-  config = mkIf cfg.enable {
+  config = mkIf config.services.lighttpd.gitweb.enable {
 
     # declare module dependencies
     services.lighttpd.enableModules = [ "mod_cgi" "mod_redirect" "mod_alias" "mod_setenv" ];
@@ -56,11 +37,11 @@ in
               "^/gitweb$" => "/gitweb/"
           )
           alias.url = (
-              "/gitweb/static/" => "${pkgs.git}/share/gitweb/static/",
-              "/gitweb/"        => "${pkgs.git}/share/gitweb/gitweb.cgi"
+              "/gitweb/static/" => "${package}/static/",
+              "/gitweb/"        => "${package}/gitweb.cgi"
           )
           setenv.add-environment = (
-              "GITWEB_CONFIG" => "${gitwebConfigFile}",
+              "GITWEB_CONFIG" => "${cfg.gitwebConfigFile}",
               "HOME" => "${cfg.projectroot}"
           )
       }
diff --git a/nixos/modules/services/web-servers/nginx/default.nix b/nixos/modules/services/web-servers/nginx/default.nix
index dee877f1c11..0aa780bf6da 100644
--- a/nixos/modules/services/web-servers/nginx/default.nix
+++ b/nixos/modules/services/web-servers/nginx/default.nix
@@ -9,15 +9,16 @@ let
       serverName = if vhostConfig.serverName != null
         then vhostConfig.serverName
         else vhostName;
+      acmeDirectory = config.security.acme.directory;
     in
     vhostConfig // {
       inherit serverName;
     } // (optionalAttrs vhostConfig.enableACME {
-      sslCertificate = "/var/lib/acme/${serverName}/fullchain.pem";
-      sslCertificateKey = "/var/lib/acme/${serverName}/key.pem";
+      sslCertificate = "${acmeDirectory}/${serverName}/fullchain.pem";
+      sslCertificateKey = "${acmeDirectory}/${serverName}/key.pem";
     }) // (optionalAttrs (vhostConfig.useACMEHost != null) {
-      sslCertificate = "/var/lib/acme/${vhostConfig.useACMEHost}/fullchain.pem";
-      sslCertificateKey = "/var/lib/acme/${vhostConfig.useACMEHost}/key.pem";
+      sslCertificate = "${acmeDirectory}/${vhostConfig.useACMEHost}/fullchain.pem";
+      sslCertificateKey = "${acmeDirectory}/${vhostConfig.useACMEHost}/key.pem";
     })
   ) cfg.virtualHosts;
   enableIPv6 = config.networking.enableIPv6;
@@ -37,6 +38,7 @@ let
       ${toString (flip mapAttrsToList upstream.servers (name: server: ''
         server ${name} ${optionalString server.backup "backup"};
       ''))}
+      ${upstream.extraConfig}
     }
   ''));
 
@@ -217,7 +219,10 @@ let
             ssl_certificate_key ${vhost.sslCertificateKey};
           ''}
 
-          ${optionalString (vhost.basicAuth != {}) (mkBasicAuth vhostName vhost.basicAuth)}
+          ${optionalString (vhost.basicAuthFile != null || vhost.basicAuth != {}) ''
+            auth_basic secured;
+            auth_basic_user_file ${if vhost.basicAuthFile != null then vhost.basicAuthFile else mkHtpasswd vhostName vhost.basicAuth};
+          ''}
 
           ${mkLocations vhost.locations}
 
@@ -247,16 +252,11 @@ let
       ${optionalString (config.proxyPass != null && cfg.recommendedProxySettings) "include ${recommendedProxyConfig};"}
     }
   '') locations);
-  mkBasicAuth = vhostName: authDef: let
-    htpasswdFile = pkgs.writeText "${vhostName}.htpasswd" (
-      concatStringsSep "\n" (mapAttrsToList (user: password: ''
-        ${user}:{PLAIN}${password}
-      '') authDef)
-    );
-  in ''
-    auth_basic secured;
-    auth_basic_user_file ${htpasswdFile};
-  '';
+  mkHtpasswd = vhostName: authDef: pkgs.writeText "${vhostName}.htpasswd" (
+    concatStringsSep "\n" (mapAttrsToList (user: password: ''
+      ${user}:{PLAIN}${password}
+    '') authDef)
+  );
 in
 
 {
@@ -493,6 +493,13 @@ in
               '';
               default = {};
             };
+            extraConfig = mkOption {
+              type = types.lines;
+              default = "";
+              description = ''
+                These lines go to the end of the upstream verbatim.
+              '';
+            };
           };
         });
         description = ''
diff --git a/nixos/modules/services/web-servers/nginx/gitweb.nix b/nixos/modules/services/web-servers/nginx/gitweb.nix
new file mode 100644
index 00000000000..272fd148018
--- /dev/null
+++ b/nixos/modules/services/web-servers/nginx/gitweb.nix
@@ -0,0 +1,61 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+  cfg = config.services.gitweb;
+  package = pkgs.gitweb.override (optionalAttrs cfg.gitwebTheme {
+    gitwebTheme = true;
+  });
+
+in
+{
+
+  options.services.nginx.gitweb = {
+
+    enable = mkOption {
+      default = false;
+      type = types.bool;
+      description = ''
+        If true, enable gitweb in nginx. Access it at http://yourserver/gitweb
+      '';
+    };
+
+  };
+
+  config = mkIf config.services.nginx.gitweb.enable {
+
+    systemd.services.gitweb = {
+      description = "GitWeb service";
+      script = "${package}/gitweb.cgi --fastcgi --nproc=1";
+      environment  = {
+        FCGI_SOCKET_PATH = "/run/gitweb/gitweb.sock";
+      };
+      serviceConfig = {
+        User = "nginx";
+        Group = "nginx";
+        RuntimeDirectory = [ "gitweb" ];
+      };
+      wantedBy = [ "multi-user.target" ];
+    };
+
+    services.nginx = {
+      virtualHosts.default = {
+        locations."/gitweb/static/" = {
+          alias = "${package}/static/";
+        };
+        locations."/gitweb/" = {
+          extraConfig = ''
+            include ${pkgs.nginx}/conf/fastcgi_params;
+            fastcgi_param GITWEB_CONFIG ${cfg.gitwebConfigFile};
+            fastcgi_pass unix:/run/gitweb/gitweb.sock;
+          '';
+        };
+      };
+    };
+
+  };
+
+  meta.maintainers = with maintainers; [ gnidorah ];
+
+}
diff --git a/nixos/modules/services/web-servers/nginx/vhost-options.nix b/nixos/modules/services/web-servers/nginx/vhost-options.nix
index bf18108a1a3..f014d817e80 100644
--- a/nixos/modules/services/web-servers/nginx/vhost-options.nix
+++ b/nixos/modules/services/web-servers/nginx/vhost-options.nix
@@ -193,6 +193,14 @@ with lib;
       '';
     };
 
+    basicAuthFile = mkOption {
+      type = types.nullOr types.path;
+      default = null;
+      description = ''
+        Basic Auth password file for a vhost.
+      '';
+    };
+
     locations = mkOption {
       type = types.attrsOf (types.submodule (import ./location-options.nix {
         inherit lib;
diff --git a/nixos/modules/services/web-servers/tomcat.nix b/nixos/modules/services/web-servers/tomcat.nix
index 0b2e5c0b69d..aa94e0e976c 100644
--- a/nixos/modules/services/web-servers/tomcat.nix
+++ b/nixos/modules/services/web-servers/tomcat.nix
@@ -19,11 +19,7 @@ in
   options = {
 
     services.tomcat = {
-
-      enable = mkOption {
-        default = false;
-        description = "Whether to enable Apache Tomcat";
-      };
+      enable = mkEnableOption "Apache Tomcat";
 
       package = mkOption {
         type = types.package;
@@ -36,10 +32,30 @@ in
       };
 
       baseDir = mkOption {
+        type = lib.types.path;
         default = "/var/tomcat";
         description = "Location where Tomcat stores configuration files, webapplications and logfiles";
       };
 
+      logDirs = mkOption {
+        default = [];
+        type = types.listOf types.path;
+        description = "Directories to create in baseDir/logs/";
+      };
+
+      extraConfigFiles = mkOption {
+        default = [];
+        type = types.listOf types.path;
+        description = "Extra configuration files to pull into the tomcat conf directory";
+      };
+
+      extraEnvironment = mkOption {
+        type = types.listOf types.str;
+        default = [];
+        example = [ "ENVIRONMENT=production" ];
+        description = "Environment Variables to pass to the tomcat service";
+      };
+
       extraGroups = mkOption {
         default = [];
         example = [ "users" ];
@@ -47,31 +63,46 @@ in
       };
 
       user = mkOption {
+        type = types.str;
         default = "tomcat";
         description = "User account under which Apache Tomcat runs.";
       };
 
       group = mkOption {
+        type = types.str;
         default = "tomcat";
         description = "Group account under which Apache Tomcat runs.";
       };
 
       javaOpts = mkOption {
+        type = types.either (types.listOf types.str) types.str;
         default = "";
         description = "Parameters to pass to the Java Virtual Machine which spawns Apache Tomcat";
       };
 
       catalinaOpts = mkOption {
+        type = types.either (types.listOf types.str) types.str;
         default = "";
         description = "Parameters to pass to the Java Virtual Machine which spawns the Catalina servlet container";
       };
 
       sharedLibs = mkOption {
+        type = types.listOf types.str;
         default = [];
         description = "List containing JAR files or directories with JAR files which are libraries shared by the web applications";
       };
 
+      serverXml = mkOption {
+        type = types.lines;
+        default = "";
+        description = "
+          Verbatim server.xml configuration.
+          This is mutually exclusive with the virtualHosts options.
+        ";
+      };
+
       commonLibs = mkOption {
+        type = types.listOf types.str;
         default = [];
         description = "List containing JAR files or directories with JAR files which are libraries shared by the web applications and the servlet container";
       };
@@ -84,11 +115,21 @@ in
       };
 
       virtualHosts = mkOption {
+        type = types.listOf (types.submodule {
+          options = {
+            name = mkOption {
+              type = types.listOf types.str;
+              description = "name of the virtualhost";
+              default = [];
+            };
+          };
+        });
         default = [];
         description = "List consisting of a virtual host name and a list of web applications to deploy on each virtual host";
       };
 
       logPerVirtualHost = mkOption {
+        type = types.bool;
         default = false;
         description = "Whether to enable logging per virtual host.";
       };
@@ -104,11 +145,13 @@ in
 
         enable = mkOption {
           default = false;
+          type = types.bool;
           description = "Whether to enable an Apache Axis2 container";
         };
 
         services = mkOption {
           default = [];
+          type = types.listOf types.str;
           description = "List containing AAR files or directories with AAR files which are web services to be deployed on Axis2";
         };
 
@@ -140,130 +183,104 @@ in
       description = "Apache Tomcat server";
       wantedBy = [ "multi-user.target" ];
       after = [ "network.target" ];
-      serviceConfig.Type = "oneshot";
-      serviceConfig.RemainAfterExit = true;
 
       preStart = ''
         # Create the base directory
-        mkdir -p ${cfg.baseDir}
+        mkdir -p \
+          ${cfg.baseDir}/{conf,virtualhosts,logs,temp,lib,shared/lib,webapps,work}
+        chown ${cfg.user}:${cfg.group} \
+          ${cfg.baseDir}/{conf,virtualhosts,logs,temp,lib,shared/lib,webapps,work}
 
         # Create a symlink to the bin directory of the tomcat component
         ln -sfn ${tomcat}/bin ${cfg.baseDir}/bin
 
-        # Create a conf/ directory
-        mkdir -p ${cfg.baseDir}/conf
-        chown ${cfg.user}:${cfg.group} ${cfg.baseDir}/conf
-
         # Symlink the config files in the conf/ directory (except for catalina.properties and server.xml)
-        for i in $(ls ${tomcat}/conf | grep -v catalina.properties | grep -v server.xml)
-        do
-            ln -sfn ${tomcat}/conf/$i ${cfg.baseDir}/conf/`basename $i`
+        for i in $(ls ${tomcat}/conf | grep -v catalina.properties | grep -v server.xml); do
+          ln -sfn ${tomcat}/conf/$i ${cfg.baseDir}/conf/`basename $i`
         done
 
-        # Create subdirectory for virtual hosts
-        mkdir -p ${cfg.baseDir}/virtualhosts
+        ${if cfg.extraConfigFiles != [] then ''
+          for i in ${toString cfg.extraConfigFiles}; do
+            ln -sfn $i ${cfg.baseDir}/conf/`basename $i`
+          done
+        '' else ""}
 
         # Create a modified catalina.properties file
         # Change all references from CATALINA_HOME to CATALINA_BASE and add support for shared libraries
         sed -e 's|''${catalina.home}|''${catalina.base}|g' \
-            -e 's|shared.loader=|shared.loader=''${catalina.base}/shared/lib/*.jar|' \
-            ${tomcat}/conf/catalina.properties > ${cfg.baseDir}/conf/catalina.properties
-
-        # Create a modified server.xml which also includes all virtual hosts
-        sed -e "/<Engine name=\"Catalina\" defaultHost=\"localhost\">/a\  ${
-                     toString (map (virtualHost: ''<Host name=\"${virtualHost.name}\" appBase=\"virtualhosts/${virtualHost.name}/webapps\" unpackWARs=\"true\" autoDeploy=\"true\" xmlValidation=\"false\" xmlNamespaceAware=\"false\" >${if cfg.logPerVirtualHost then ''<Valve className=\"org.apache.catalina.valves.AccessLogValve\" directory=\"logs/${virtualHost.name}\"  prefix=\"${virtualHost.name}_access_log.\" pattern=\"combined\" resolveHosts=\"false\"/>'' else ""}</Host>'') cfg.virtualHosts)}" \
-            ${tomcat}/conf/server.xml > ${cfg.baseDir}/conf/server.xml
-
-        # Create a logs/ directory
-        mkdir -p ${cfg.baseDir}/logs
-        chown ${cfg.user}:${cfg.group} ${cfg.baseDir}/logs
-        ${if cfg.logPerVirtualHost then
-           toString (map (h: ''
-                                mkdir -p ${cfg.baseDir}/logs/${h.name}
-                                chown ${cfg.user}:${cfg.group} ${cfg.baseDir}/logs/${h.name}
-                             '') cfg.virtualHosts) else ''''}
-
-        # Create a temp/ directory
-        mkdir -p ${cfg.baseDir}/temp
-        chown ${cfg.user}:${cfg.group} ${cfg.baseDir}/temp
-
-        # Create a lib/ directory
-        mkdir -p ${cfg.baseDir}/lib
-        chown ${cfg.user}:${cfg.group} ${cfg.baseDir}/lib
-
-        # Create a shared/lib directory
-        mkdir -p ${cfg.baseDir}/shared/lib
-        chown ${cfg.user}:${cfg.group} ${cfg.baseDir}/shared/lib
-
-        # Create a webapps/ directory
-        mkdir -p ${cfg.baseDir}/webapps
-        chown ${cfg.user}:${cfg.group} ${cfg.baseDir}/webapps
+          -e 's|shared.loader=|shared.loader=''${catalina.base}/shared/lib/*.jar|' \
+          ${tomcat}/conf/catalina.properties > ${cfg.baseDir}/conf/catalina.properties
+
+        ${if cfg.serverXml != "" then ''
+          cp -f ${pkgs.writeTextDir "server.xml" cfg.serverXml}/* ${cfg.baseDir}/conf/
+          '' else ''
+          # Create a modified server.xml which also includes all virtual hosts
+          sed -e "/<Engine name=\"Catalina\" defaultHost=\"localhost\">/a\  ${toString (map (virtualHost: ''<Host name=\"${virtualHost.name}\" appBase=\"virtualhosts/${virtualHost.name}/webapps\" unpackWARs=\"true\" autoDeploy=\"true\" xmlValidation=\"false\" xmlNamespaceAware=\"false\" >${if cfg.logPerVirtualHost then ''<Valve className=\"org.apache.catalina.valves.AccessLogValve\" directory=\"logs/${virtualHost.name}\"  prefix=\"${virtualHost.name}_access_log.\" pattern=\"combined\" resolveHosts=\"false\"/>'' else ""}</Host>'') cfg.virtualHosts)}" \
+                ${tomcat}/conf/server.xml > ${cfg.baseDir}/conf/server.xml
+          ''
+        }
+        ${optionalString (cfg.logDirs != []) ''
+          for i in ${toString cfg.logDirs}; do
+            mkdir -p ${cfg.baseDir}/logs/$i
+            chown ${cfg.user}:${cfg.group} ${cfg.baseDir}/logs/$i
+          done
+        ''}
+        ${optionalString cfg.logPerVirtualHost (toString (map (h: ''
+          mkdir -p ${cfg.baseDir}/logs/${h.name}
+          chown ${cfg.user}:${cfg.group} ${cfg.baseDir}/logs/${h.name}
+        '') cfg.virtualHosts))}
 
         # Symlink all the given common libs files or paths into the lib/ directory
-        for i in ${tomcat} ${toString cfg.commonLibs}
-        do
-            if [ -f $i ]
-            then
-                # If the given web application is a file, symlink it into the common/lib/ directory
-                ln -sfn $i ${cfg.baseDir}/lib/`basename $i`
-            elif [ -d $i ]
-            then
-                # If the given web application is a directory, then iterate over the files
-                # in the special purpose directories and symlink them into the tomcat tree
-
-                for j in $i/lib/*
-                do
-                    ln -sfn $j ${cfg.baseDir}/lib/`basename $j`
-                done
-            fi
+        for i in ${tomcat} ${toString cfg.commonLibs}; do
+          if [ -f $i ]; then
+            # If the given web application is a file, symlink it into the common/lib/ directory
+            ln -sfn $i ${cfg.baseDir}/lib/`basename $i`
+          elif [ -d $i ]; then
+            # If the given web application is a directory, then iterate over the files
+            # in the special purpose directories and symlink them into the tomcat tree
+
+            for j in $i/lib/*; do
+              ln -sfn $j ${cfg.baseDir}/lib/`basename $j`
+            done
+          fi
         done
 
         # Symlink all the given shared libs files or paths into the shared/lib/ directory
-        for i in ${toString cfg.sharedLibs}
-        do
-            if [ -f $i ]
-            then
-                # If the given web application is a file, symlink it into the common/lib/ directory
-                ln -sfn $i ${cfg.baseDir}/shared/lib/`basename $i`
-            elif [ -d $i ]
-            then
-                # If the given web application is a directory, then iterate over the files
-                # in the special purpose directories and symlink them into the tomcat tree
-
-                for j in $i/shared/lib/*
-                do
-                    ln -sfn $j ${cfg.baseDir}/shared/lib/`basename $j`
-                done
-            fi
+        for i in ${toString cfg.sharedLibs}; do
+          if [ -f $i ]; then
+            # If the given web application is a file, symlink it into the common/lib/ directory
+            ln -sfn $i ${cfg.baseDir}/shared/lib/`basename $i`
+          elif [ -d $i ]; then
+            # If the given web application is a directory, then iterate over the files
+            # in the special purpose directories and symlink them into the tomcat tree
+
+            for j in $i/shared/lib/*; do
+              ln -sfn $j ${cfg.baseDir}/shared/lib/`basename $j`
+            done
+          fi
         done
 
         # Symlink all the given web applications files or paths into the webapps/ directory
-        for i in ${toString cfg.webapps}
-        do
-            if [ -f $i ]
-            then
-                # If the given web application is a file, symlink it into the webapps/ directory
-                ln -sfn $i ${cfg.baseDir}/webapps/`basename $i`
-            elif [ -d $i ]
-            then
-                # If the given web application is a directory, then iterate over the files
-                # in the special purpose directories and symlink them into the tomcat tree
-
-                for j in $i/webapps/*
-                do
-                    ln -sfn $j ${cfg.baseDir}/webapps/`basename $j`
-                done
+        for i in ${toString cfg.webapps}; do
+          if [ -f $i ]; then
+            # If the given web application is a file, symlink it into the webapps/ directory
+            ln -sfn $i ${cfg.baseDir}/webapps/`basename $i`
+          elif [ -d $i ]; then
+            # If the given web application is a directory, then iterate over the files
+            # in the special purpose directories and symlink them into the tomcat tree
+
+            for j in $i/webapps/*; do
+              ln -sfn $j ${cfg.baseDir}/webapps/`basename $j`
+            done
 
-                # Also symlink the configuration files if they are included
-                if [ -d $i/conf/Catalina ]
-                then
-                    for j in $i/conf/Catalina/*
-                    do
-                        mkdir -p ${cfg.baseDir}/conf/Catalina/localhost
-                        ln -sfn $j ${cfg.baseDir}/conf/Catalina/localhost/`basename $j`
-                    done
-                fi
+            # Also symlink the configuration files if they are included
+            if [ -d $i/conf/Catalina ]; then
+              for j in $i/conf/Catalina/*; do
+                mkdir -p ${cfg.baseDir}/conf/Catalina/localhost
+                ln -sfn $j ${cfg.baseDir}/conf/Catalina/localhost/`basename $j`
+              done
             fi
+          fi
         done
 
         ${toString (map (virtualHost: ''
@@ -275,94 +292,79 @@ in
 
           # Symlink all the given web applications files or paths into the webapps/ directory
           # of this virtual host
-          for i in "${if virtualHost ? webapps then toString virtualHost.webapps else ""}"
-          do
-              if [ -f $i ]
-              then
-                  # If the given web application is a file, symlink it into the webapps/ directory
-                  ln -sfn $i ${cfg.baseDir}/virtualhosts/${virtualHost.name}/webapps/`basename $i`
-              elif [ -d $i ]
-              then
-                  # If the given web application is a directory, then iterate over the files
-                  # in the special purpose directories and symlink them into the tomcat tree
-
-                  for j in $i/webapps/*
-                  do
-                      ln -sfn $j ${cfg.baseDir}/virtualhosts/${virtualHost.name}/webapps/`basename $j`
-                  done
-
-                  # Also symlink the configuration files if they are included
-                  if [ -d $i/conf/Catalina ]
-                  then
-                      for j in $i/conf/Catalina/*
-                      do
-                          mkdir -p ${cfg.baseDir}/conf/Catalina/${virtualHost.name}
-                          ln -sfn $j ${cfg.baseDir}/conf/Catalina/${virtualHost.name}/`basename $j`
-                      done
-                  fi
+          for i in "${if virtualHost ? webapps then toString virtualHost.webapps else ""}"; do
+            if [ -f $i ]; then
+              # If the given web application is a file, symlink it into the webapps/ directory
+              ln -sfn $i ${cfg.baseDir}/virtualhosts/${virtualHost.name}/webapps/`basename $i`
+            elif [ -d $i ]; then
+              # If the given web application is a directory, then iterate over the files
+              # in the special purpose directories and symlink them into the tomcat tree
+
+              for j in $i/webapps/*; do
+                ln -sfn $j ${cfg.baseDir}/virtualhosts/${virtualHost.name}/webapps/`basename $j`
+              done
+
+              # Also symlink the configuration files if they are included
+              if [ -d $i/conf/Catalina ]; then
+                for j in $i/conf/Catalina/*; do
+                  mkdir -p ${cfg.baseDir}/conf/Catalina/${virtualHost.name}
+                  ln -sfn $j ${cfg.baseDir}/conf/Catalina/${virtualHost.name}/`basename $j`
+                done
               fi
+            fi
           done
-
-          ''
-        ) cfg.virtualHosts) }
-
-        # Create a work/ directory
-        mkdir -p ${cfg.baseDir}/work
-        chown ${cfg.user}:${cfg.group} ${cfg.baseDir}/work
-
-        ${if cfg.axis2.enable then
-            ''
-            # Copy the Axis2 web application
-            cp -av ${pkgs.axis2}/webapps/axis2 ${cfg.baseDir}/webapps
-
-            # Turn off addressing, which causes many errors
-            sed -i -e 's%<module ref="addressing"/>%<!-- <module ref="addressing"/> -->%' ${cfg.baseDir}/webapps/axis2/WEB-INF/conf/axis2.xml
-
-            # Modify permissions on the Axis2 application
-            chown -R ${cfg.user}:${cfg.group} ${cfg.baseDir}/webapps/axis2
-
-            # Symlink all the given web service files or paths into the webapps/axis2/WEB-INF/services directory
-            for i in ${toString cfg.axis2.services}
-            do
-                if [ -f $i ]
-                then
-                    # If the given web service is a file, symlink it into the webapps/axis2/WEB-INF/services
-                    ln -sfn $i ${cfg.baseDir}/webapps/axis2/WEB-INF/services/`basename $i`
-                elif [ -d $i ]
-                then
-                    # If the given web application is a directory, then iterate over the files
-                    # in the special purpose directories and symlink them into the tomcat tree
-
-                    for j in $i/webapps/axis2/WEB-INF/services/*
-                    do
-                        ln -sfn $j ${cfg.baseDir}/webapps/axis2/WEB-INF/services/`basename $j`
-                    done
-
-                    # Also symlink the configuration files if they are included
-                    if [ -d $i/conf/Catalina ]
-                    then
-                        for j in $i/conf/Catalina/*
-                        do
-                            ln -sfn $j ${cfg.baseDir}/conf/Catalina/localhost/`basename $j`
-                        done
-                    fi
-                fi
-            done
-            ''
-        else ""}
-      '';
-
-      script = ''
-          ${pkgs.su}/bin/su -s ${pkgs.bash}/bin/sh ${cfg.user} -c 'CATALINA_BASE=${cfg.baseDir} JAVA_HOME=${cfg.jdk} JAVA_OPTS="${cfg.javaOpts}" CATALINA_OPTS="${cfg.catalinaOpts}" ${tomcat}/bin/startup.sh'
-      '';
-
-      preStop = ''
-        echo "Stopping tomcat..."
-        CATALINA_BASE=${cfg.baseDir} JAVA_HOME=${cfg.jdk} ${pkgs.su}/bin/su -s ${pkgs.bash}/bin/sh ${cfg.user} -c ${tomcat}/bin/shutdown.sh
+        '') cfg.virtualHosts)}
+
+        ${optionalString cfg.axis2.enable ''
+          # Copy the Axis2 web application
+          cp -av ${pkgs.axis2}/webapps/axis2 ${cfg.baseDir}/webapps
+
+          # Turn off addressing, which causes many errors
+          sed -i -e 's%<module ref="addressing"/>%<!-- <module ref="addressing"/> -->%' ${cfg.baseDir}/webapps/axis2/WEB-INF/conf/axis2.xml
+
+          # Modify permissions on the Axis2 application
+          chown -R ${cfg.user}:${cfg.group} ${cfg.baseDir}/webapps/axis2
+
+          # Symlink all the given web service files or paths into the webapps/axis2/WEB-INF/services directory
+          for i in ${toString cfg.axis2.services}; do
+            if [ -f $i ]; then
+              # If the given web service is a file, symlink it into the webapps/axis2/WEB-INF/services
+              ln -sfn $i ${cfg.baseDir}/webapps/axis2/WEB-INF/services/`basename $i`
+            elif [ -d $i ]; then
+              # If the given web application is a directory, then iterate over the files
+              # in the special purpose directories and symlink them into the tomcat tree
+
+              for j in $i/webapps/axis2/WEB-INF/services/*; do
+                ln -sfn $j ${cfg.baseDir}/webapps/axis2/WEB-INF/services/`basename $j`
+              done
+
+              # Also symlink the configuration files if they are included
+              if [ -d $i/conf/Catalina ]; then
+                for j in $i/conf/Catalina/*; do
+                  ln -sfn $j ${cfg.baseDir}/conf/Catalina/localhost/`basename $j`
+                done
+              fi
+            fi
+          done
+        ''}
       '';
 
+      serviceConfig = {
+        Type = "forking";
+        PermissionsStartOnly = true;
+        PIDFile="/run/tomcat/tomcat.pid";
+        RuntimeDirectory = "tomcat";
+        User = cfg.user;
+        Environment=[
+          "CATALINA_BASE=${cfg.baseDir}"
+          "CATALINA_PID=/run/tomcat/tomcat.pid"
+          "JAVA_HOME='${cfg.jdk}'"
+          "JAVA_OPTS='${builtins.toString cfg.javaOpts}'"
+          "CATALINA_OPTS='${builtins.toString cfg.catalinaOpts}'"
+        ] ++ cfg.extraEnvironment;
+        ExecStart = "${tomcat}/bin/startup.sh";
+        ExecStop = "${tomcat}/bin/shutdown.sh";
+      };
     };
-
   };
-
 }
diff --git a/nixos/modules/services/web-servers/varnish/default.nix b/nixos/modules/services/web-servers/varnish/default.nix
index d63fb954ef9..bc74d62b116 100644
--- a/nixos/modules/services/web-servers/varnish/default.nix
+++ b/nixos/modules/services/web-servers/varnish/default.nix
@@ -6,13 +6,22 @@ let
   cfg = config.services.varnish;
 
   commandLine = "-f ${pkgs.writeText "default.vcl" cfg.config}" +
-      optionalString (cfg.extraModules != []) " -p vmod_path='${makeSearchPathOutput "lib" "lib/varnish/vmods" ([pkgs.varnish] ++ cfg.extraModules)}' -r vmod_path";
+      optionalString (cfg.extraModules != []) " -p vmod_path='${makeSearchPathOutput "lib" "lib/varnish/vmods" ([cfg.package] ++ cfg.extraModules)}' -r vmod_path";
 in
 {
   options = {
     services.varnish = {
       enable = mkEnableOption "Varnish Server";
 
+      package = mkOption {
+        type = types.package;
+        default = pkgs.varnish5;
+        defaultText = "pkgs.varnish5";
+        description = ''
+          The package to use
+        '';
+      };
+
       http_address = mkOption {
         type = types.str;
         default = "*:6081";
@@ -39,7 +48,7 @@ in
       extraModules = mkOption {
         type = types.listOf types.package;
         default = [];
-        example = literalExample "[ pkgs.varnish-geoip ]";
+        example = literalExample "[ pkgs.varnish5Packages.geoip ]";
         description = "
           Varnish modules (except 'std').
         ";
@@ -73,7 +82,7 @@ in
       serviceConfig = {
         Type = "simple";
         PermissionsStartOnly = true;
-        ExecStart = "${pkgs.varnish}/sbin/varnishd -a ${cfg.http_address} -n ${cfg.stateDir} -F ${cfg.extraCommandLine} ${commandLine}";
+        ExecStart = "${cfg.package}/sbin/varnishd -a ${cfg.http_address} -n ${cfg.stateDir} -F ${cfg.extraCommandLine} ${commandLine}";
         Restart = "always";
         RestartSec = "5s";
         User = "varnish";
@@ -84,13 +93,13 @@ in
       };
     };
 
-    environment.systemPackages = [ pkgs.varnish ];
+    environment.systemPackages = [ cfg.package ];
 
     # check .vcl syntax at compile time (e.g. before nixops deployment)
     system.extraDependencies = [
       (pkgs.stdenv.mkDerivation {
         name = "check-varnish-syntax";
-        buildCommand = "${pkgs.varnish}/sbin/varnishd -C ${commandLine} 2> $out";
+        buildCommand = "${cfg.package}/sbin/varnishd -C ${commandLine} 2> $out || (cat $out; exit 1)";
       })
     ];
 
diff --git a/nixos/modules/services/x11/desktop-managers/default.nix b/nixos/modules/services/x11/desktop-managers/default.nix
index 4622c7b760f..f435e85f6b8 100644
--- a/nixos/modules/services/x11/desktop-managers/default.nix
+++ b/nixos/modules/services/x11/desktop-managers/default.nix
@@ -87,11 +87,11 @@ in
 
       default = mkOption {
         type = types.str;
-        default = "none";
-        example = "plasma5";
+        default = "";
+        example = "none";
         description = "Default desktop manager loaded if none have been chosen.";
         apply = defaultDM:
-          if defaultDM == "none" && cfg.session.list != [] then
+          if defaultDM == "" && cfg.session.list != [] then
             (head cfg.session.list).name
           else if any (w: w.name == defaultDM) cfg.session.list then
             defaultDM
diff --git a/nixos/modules/services/x11/desktop-managers/gnome3.nix b/nixos/modules/services/x11/desktop-managers/gnome3.nix
index 7256013d5d8..10e8ef0ed38 100644
--- a/nixos/modules/services/x11/desktop-managers/gnome3.nix
+++ b/nixos/modules/services/x11/desktop-managers/gnome3.nix
@@ -182,8 +182,7 @@ in {
       { inherit (pkgs) networkmanager modemmanager wpa_supplicant;
         inherit (pkgs.gnome3) networkmanager-openvpn networkmanager-vpnc
                               networkmanager-openconnect networkmanager-fortisslvpn
-                              networkmanager-pptp networkmanager-iodine
-                              networkmanager-l2tp; };
+                              networkmanager-iodine networkmanager-l2tp; };
 
     # Needed for themes and backgrounds
     environment.pathsToLink = [ "/share" ];
diff --git a/nixos/modules/services/x11/desktop-managers/lxqt.nix b/nixos/modules/services/x11/desktop-managers/lxqt.nix
index fb907618d35..2596ec4ad85 100644
--- a/nixos/modules/services/x11/desktop-managers/lxqt.nix
+++ b/nixos/modules/services/x11/desktop-managers/lxqt.nix
@@ -61,6 +61,8 @@ in
 
     environment.variables.GIO_EXTRA_MODULES = [ "${pkgs.gvfs}/lib/gio/modules" ];
 
+    services.upower.enable = config.powerManagement.enable;
   };
 
+
 }
diff --git a/nixos/modules/services/x11/desktop-managers/mate.nix b/nixos/modules/services/x11/desktop-managers/mate.nix
index 0117dc9d132..db83aaf3c19 100644
--- a/nixos/modules/services/x11/desktop-managers/mate.nix
+++ b/nixos/modules/services/x11/desktop-managers/mate.nix
@@ -108,6 +108,8 @@ in
     services.gnome3.gnome-keyring.enable = true;
     services.upower.enable = config.powerManagement.enable;
 
+    security.pam.services."mate-screensaver".unixAuth = true;
+
     environment.pathsToLink = [ "/share" ];
   };
 
diff --git a/nixos/modules/services/x11/desktop-managers/xfce.nix b/nixos/modules/services/x11/desktop-managers/xfce.nix
index 489bffbee91..7dcc600d266 100644
--- a/nixos/modules/services/x11/desktop-managers/xfce.nix
+++ b/nixos/modules/services/x11/desktop-managers/xfce.nix
@@ -128,7 +128,7 @@ in
         # Set GTK_DATA_PREFIX so that GTK+ can find the Xfce themes.
         export GTK_DATA_PREFIX=${config.system.path}
 
-        ${pkgs.stdenv.shell} ${pkgs.xfce.xinitrc} &
+        ${pkgs.runtimeShell} ${pkgs.xfce.xinitrc} &
         waitPID=$!
       '';
     }];
diff --git a/nixos/modules/services/x11/desktop-managers/xterm.nix b/nixos/modules/services/x11/desktop-managers/xterm.nix
index 29752ff405e..6ff1ef0e4c9 100644
--- a/nixos/modules/services/x11/desktop-managers/xterm.nix
+++ b/nixos/modules/services/x11/desktop-managers/xterm.nix
@@ -12,6 +12,7 @@ in
   options = {
 
     services.xserver.desktopManager.xterm.enable = mkOption {
+      type = types.bool;
       default = true;
       description = "Enable a xterm terminal as a desktop manager.";
     };
diff --git a/nixos/modules/services/x11/display-managers/slim.nix b/nixos/modules/services/x11/display-managers/slim.nix
index 0c4dd1973b5..f645a5c2f07 100644
--- a/nixos/modules/services/x11/display-managers/slim.nix
+++ b/nixos/modules/services/x11/display-managers/slim.nix
@@ -14,7 +14,7 @@ let
       default_xserver ${dmcfg.xserverBin}
       xserver_arguments ${toString dmcfg.xserverArgs}
       sessiondir ${dmcfg.session.desktops}
-      login_cmd exec ${pkgs.stdenv.shell} ${dmcfg.session.script} "%session"
+      login_cmd exec ${pkgs.runtimeShell} ${dmcfg.session.script} "%session"
       halt_cmd ${config.systemd.package}/sbin/shutdown -h now
       reboot_cmd ${config.systemd.package}/sbin/shutdown -r now
       logfile /dev/stderr
diff --git a/nixos/modules/services/x11/window-managers/bspwm.nix b/nixos/modules/services/x11/window-managers/bspwm.nix
index 6783ac3479e..23cd4f6529a 100644
--- a/nixos/modules/services/x11/window-managers/bspwm.nix
+++ b/nixos/modules/services/x11/window-managers/bspwm.nix
@@ -59,7 +59,7 @@ in
       start = ''
         export _JAVA_AWT_WM_NONREPARENTING=1
         SXHKD_SHELL=/bin/sh ${cfg.sxhkd.package}/bin/sxhkd ${optionalString (cfg.sxhkd.configFile != null) "-c \"${cfg.sxhkd.configFile}\""} &
-        ${cfg.package}/bin/bspwm ${optionalString (cfg.configFile != null) "-c \"${cfg.configFile}\""}
+        ${cfg.package}/bin/bspwm ${optionalString (cfg.configFile != null) "-c \"${cfg.configFile}\""} &
         waitPID=$!
       '';
     };
diff --git a/nixos/modules/services/x11/window-managers/default.nix b/nixos/modules/services/x11/window-managers/default.nix
index 25ba95fccd7..e617e55a7a5 100644
--- a/nixos/modules/services/x11/window-managers/default.nix
+++ b/nixos/modules/services/x11/window-managers/default.nix
@@ -12,6 +12,7 @@ in
     ./afterstep.nix
     ./bspwm.nix
     ./dwm.nix
+    ./evilwm.nix
     ./exwm.nix
     ./fluxbox.nix
     ./fvwm.nix
@@ -61,9 +62,7 @@ in
         example = "wmii";
         description = "Default window manager loaded if none have been chosen.";
         apply = defaultWM:
-          if defaultWM == "none" && cfg.session != []  then
-            (head cfg.session).name
-          else if any (w: w.name == defaultWM) cfg.session then
+          if any (w: w.name == defaultWM) cfg.session then
             defaultWM
           else
             throw "Default window manager (${defaultWM}) not found.";
diff --git a/nixos/modules/services/x11/window-managers/stumpwm.nix b/nixos/modules/services/x11/window-managers/stumpwm.nix
index 3d3f2e0028c..27a17178476 100644
--- a/nixos/modules/services/x11/window-managers/stumpwm.nix
+++ b/nixos/modules/services/x11/window-managers/stumpwm.nix
@@ -15,10 +15,10 @@ in
     services.xserver.windowManager.session = singleton {
       name = "stumpwm";
       start = ''
-        ${pkgs.stumpwm}/bin/stumpwm &
+        ${pkgs.lispPackages.stumpwm}/bin/stumpwm &
         waitPID=$!
       '';
     };
-    environment.systemPackages = [ pkgs.stumpwm ];
+    environment.systemPackages = [ pkgs.lispPackages.stumpwm ];
   };
 }
diff --git a/nixos/modules/services/x11/xserver.nix b/nixos/modules/services/x11/xserver.nix
index f96d3c5afba..1404231f837 100644
--- a/nixos/modules/services/x11/xserver.nix
+++ b/nixos/modules/services/x11/xserver.nix
@@ -161,15 +161,6 @@ in
         '';
       };
 
-      plainX = mkOption {
-        type = types.bool;
-        default = false;
-        description = ''
-          Whether the X11 session can be plain (without DM/WM) and
-          the Xsession script will be used as fallback or not.
-        '';
-      };
-
       autorun = mkOption {
         type = types.bool;
         default = true;
@@ -249,7 +240,10 @@ in
         type = types.listOf types.str;
         # !!! We'd like "nv" here, but it segfaults the X server.
         default = [ "ati" "cirrus" "intel" "vesa" "vmware" "modesetting" ];
-        example = [ "vesa" ];
+        example = [
+          "ati_unfree" "amdgpu" "amdgpu-pro"
+          "nv" "nvidia" "nvidiaLegacy340" "nvidiaLegacy304"
+        ];
         description = ''
           The names of the video drivers the configuration
           supports. They will be tried in order until one that
@@ -561,11 +555,6 @@ in
                 + "${toString (length primaryHeads)} heads set to primary: "
                 + concatMapStringsSep ", " (x: x.output) primaryHeads;
       })
-      { assertion = cfg.desktopManager.default == "none" && cfg.windowManager.default == "none" -> cfg.plainX;
-        message = "Either the desktop manager or the window manager shouldn't be `none`! "
-                + "To explicitly allow this, you can also set `services.xserver.plainX` to `true`. "
-                + "The `default` value looks for enabled WMs/DMs and select the first one.";
-      }
     ];
 
     environment.etc =
@@ -640,9 +629,7 @@ in
 
         environment =
           {
-            XORG_DRI_DRIVER_PATH = "/run/opengl-driver/lib/dri"; # !!! Depends on the driver selected at runtime.
-            LD_LIBRARY_PATH = concatStringsSep ":" (
-              [ "${xorg.libX11.out}/lib" "${xorg.libXext.out}/lib" "/run/opengl-driver/lib" ]
+            LD_LIBRARY_PATH = concatStringsSep ":" ([ "/run/opengl-driver/lib" ]
               ++ concatLists (catAttrs "libPath" cfg.drivers));
           } // cfg.displayManager.job.environment;
 
diff --git a/nixos/modules/system/activation/activation-script.nix b/nixos/modules/system/activation/activation-script.nix
index 8c9b35fe524..c563614caaa 100644
--- a/nixos/modules/system/activation/activation-script.nix
+++ b/nixos/modules/system/activation/activation-script.nix
@@ -61,7 +61,7 @@ in
       apply = set: {
         script =
           ''
-            #! ${pkgs.stdenv.shell}
+            #! ${pkgs.runtimeShell}
 
             systemConfig=@out@
 
diff --git a/nixos/modules/system/activation/switch-to-configuration.pl b/nixos/modules/system/activation/switch-to-configuration.pl
index 87a4ab2a586..2ce04ed5342 100644
--- a/nixos/modules/system/activation/switch-to-configuration.pl
+++ b/nixos/modules/system/activation/switch-to-configuration.pl
@@ -4,6 +4,7 @@ use strict;
 use warnings;
 use File::Basename;
 use File::Slurp;
+use Net::DBus;
 use Sys::Syslog qw(:standard :macros);
 use Cwd 'abs_path';
 
@@ -67,17 +68,15 @@ EOF
 $SIG{PIPE} = "IGNORE";
 
 sub getActiveUnits {
-    # FIXME: use D-Bus or whatever to query this, since parsing the
-    # output of list-units is likely to break.
-    # Use current version of systemctl binary before daemon is reexeced.
-    my $lines = `LANG= /run/current-system/sw/bin/systemctl list-units --full --no-legend`;
+    my $mgr = Net::DBus->system->get_service("org.freedesktop.systemd1")->get_object("/org/freedesktop/systemd1");
+    my $units = $mgr->ListUnitsByPatterns([], []);
     my $res = {};
-    foreach my $line (split '\n', $lines) {
-        chomp $line;
-        last if $line eq "";
-        $line =~ /^(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s/ or next;
-        next if $1 eq "UNIT";
-        $res->{$1} = { load => $2, state => $3, substate => $4 };
+    for my $item (@$units) {
+        my ($id, $description, $load_state, $active_state, $sub_state,
+            $following, $unit_path, $job_id, $job_type, $job_path) = @$item;
+        next unless $following eq '';
+        next if $job_id == 0 and $active_state eq 'inactive';
+        $res->{$id} = { load => $load_state, state => $active_state, substate => $sub_state };
     }
     return $res;
 }
diff --git a/nixos/modules/system/activation/top-level.nix b/nixos/modules/system/activation/top-level.nix
index 091a2e412ee..e2d1dd49ef0 100644
--- a/nixos/modules/system/activation/top-level.nix
+++ b/nixos/modules/system/activation/top-level.nix
@@ -127,7 +127,8 @@ let
       configurationName = config.boot.loader.grub.configurationName;
 
       # Needed by switch-to-configuration.
-      perl = "${pkgs.perl}/bin/perl -I${pkgs.perlPackages.FileSlurp}/lib/perl5/site_perl";
+
+      perl = "${pkgs.perl}/bin/perl " + (concatMapStringsSep " " (lib: "-I${lib}/${pkgs.perl.libPrefix}") (with pkgs.perlPackages; [ FileSlurp NetDBus XMLParser XMLTwig ]));
   } else throw "\nFailed assertions:\n${concatStringsSep "\n" (map (x: "- ${x}") failed)}");
 
   # Replace runtime dependencies
diff --git a/nixos/modules/system/boot/coredump.nix b/nixos/modules/system/boot/coredump.nix
index b27a35b6257..30f367da766 100644
--- a/nixos/modules/system/boot/coredump.nix
+++ b/nixos/modules/system/boot/coredump.nix
@@ -15,8 +15,11 @@ with lib;
           Enables storing core dumps in systemd.
           Note that this alone is not enough to enable core dumps. The maximum
           file size for core dumps must be specified in limits.conf as well. See
-          <option>security.pam.loginLimits</option> as well as the limits.conf(5)
-          man page.
+          <option>security.pam.loginLimits</option> and the limits.conf(5)
+          man page (these specify the core dump limits for user login sessions)
+          and <option>systemd.extraConfig</option> (where e.g.
+          <literal>DefaultLimitCORE=1000000</literal> can be specified to set
+          the core dump limit for systemd system-level services).
         '';
       };
 
diff --git a/nixos/modules/system/boot/grow-partition.nix b/nixos/modules/system/boot/grow-partition.nix
index c4c6d82dc5c..8c9b1502558 100644
--- a/nixos/modules/system/boot/grow-partition.nix
+++ b/nixos/modules/system/boot/grow-partition.nix
@@ -30,10 +30,17 @@ with lib;
 
     boot.initrd.postDeviceCommands = ''
       rootDevice="${config.fileSystems."/".device}"
-      if [ -e "$rootDevice" ]; then
+      if waitDevice "$rootDevice"; then
         rootDevice="$(readlink -f "$rootDevice")"
-        parentDevice="$(lsblk -npo PKNAME "$rootDevice")"
-        TMPDIR=/run sh $(type -P growpart) "$parentDevice" "''${rootDevice#$parentDevice}"
+        parentDevice="$rootDevice"
+        while [ "''${parentDevice%[0-9]}" != "''${parentDevice}" ]; do
+          parentDevice="''${parentDevice%[0-9]}";
+        done
+        partNum="''${rootDevice#''${parentDevice}}"
+        if [ "''${parentDevice%[0-9]p}" != "''${parentDevice}" ] && [ -b "''${parentDevice%p}" ]; then
+          parentDevice="''${parentDevice%p}"
+        fi
+        TMPDIR=/run sh $(type -P growpart) "$parentDevice" "$partNum"
         udevadm settle
       fi
     '';
diff --git a/nixos/modules/system/boot/kernel.nix b/nixos/modules/system/boot/kernel.nix
index 3bd7d355826..8ea05ed1468 100644
--- a/nixos/modules/system/boot/kernel.nix
+++ b/nixos/modules/system/boot/kernel.nix
@@ -77,8 +77,8 @@ in
       type = types.int;
       default = 4;
       description = ''
-        The kernel console log level.  Log messages with a priority
-        numerically less than this will not appear on the console.
+        The kernel console <literal>loglevel</literal>. All Kernel Messages with a log level smaller
+        than this setting will be printed to the console.
       '';
     };
 
diff --git a/nixos/modules/system/boot/kexec.nix b/nixos/modules/system/boot/kexec.nix
index b7821f9509f..3fc1af28f62 100644
--- a/nixos/modules/system/boot/kexec.nix
+++ b/nixos/modules/system/boot/kexec.nix
@@ -1,21 +1,22 @@
-{ config, pkgs, ... }:
+{ config, pkgs, lib, ... }:
 
 {
-  environment.systemPackages = [ pkgs.kexectools ];
+  config = lib.mkIf (pkgs.kexectools.meta.available) {
+    environment.systemPackages = [ pkgs.kexectools ];
 
-  systemd.services."prepare-kexec" =
-    { description = "Preparation for kexec";
-      wantedBy = [ "kexec.target" ];
-      before = [ "systemd-kexec.service" ];
-      unitConfig.DefaultDependencies = false;
-      serviceConfig.Type = "oneshot";
-      path = [ pkgs.kexectools ];
-      script =
-        ''
-          p=$(readlink -f /nix/var/nix/profiles/system)
-          if ! [ -d $p ]; then exit 1; fi
-          exec kexec --load $p/kernel --initrd=$p/initrd --append="$(cat $p/kernel-params) init=$p/init"
-        '';
-    };
-
-}
\ No newline at end of file
+    systemd.services."prepare-kexec" =
+      { description = "Preparation for kexec";
+        wantedBy = [ "kexec.target" ];
+        before = [ "systemd-kexec.service" ];
+        unitConfig.DefaultDependencies = false;
+        serviceConfig.Type = "oneshot";
+        path = [ pkgs.kexectools ];
+        script =
+          ''
+            p=$(readlink -f /nix/var/nix/profiles/system)
+            if ! [ -d $p ]; then exit 1; fi
+            exec kexec --load $p/kernel --initrd=$p/initrd --append="$(cat $p/kernel-params) init=$p/init"
+          '';
+      };
+  };
+}
diff --git a/nixos/modules/system/boot/loader/grub/grub.nix b/nixos/modules/system/boot/loader/grub/grub.nix
index 0d83391de89..e2cff1c1bd9 100644
--- a/nixos/modules/system/boot/loader/grub/grub.nix
+++ b/nixos/modules/system/boot/loader/grub/grub.nix
@@ -40,7 +40,7 @@ let
     { splashImage = f cfg.splashImage;
       grub = f grub;
       grubTarget = f (grub.grubTarget or "");
-      shell = "${pkgs.stdenv.shell}";
+      shell = "${pkgs.runtimeShell}";
       fullName = (builtins.parseDrvName realGrub.name).name;
       fullVersion = (builtins.parseDrvName realGrub.name).version;
       grubEfi = f grubEfi;
@@ -536,9 +536,9 @@ in
             btrfsprogs = pkgs.btrfs-progs;
           };
         in pkgs.writeScript "install-grub.sh" (''
-        #!${pkgs.stdenv.shell}
+        #!${pkgs.runtimeShell}
         set -e
-        export PERL5LIB=${makePerlPath (with pkgs.perlPackages; [ FileSlurp XMLLibXML XMLSAX ListCompare ])}
+        export PERL5LIB=${makePerlPath (with pkgs.perlPackages; [ FileSlurp XMLLibXML XMLSAX XMLSAXBase ListCompare ])}
         ${optionalString cfg.enableCryptodisk "export GRUB_ENABLE_CRYPTODISK=y"}
       '' + flip concatMapStrings cfg.mirroredBoots (args: ''
         ${pkgs.perl}/bin/perl ${install-grub-pl} ${grubConfig args} $@
diff --git a/nixos/modules/system/boot/loader/grub/install-grub.pl b/nixos/modules/system/boot/loader/grub/install-grub.pl
index cc03e54ead6..8bd203106f5 100644
--- a/nixos/modules/system/boot/loader/grub/install-grub.pl
+++ b/nixos/modules/system/boot/loader/grub/install-grub.pl
@@ -182,7 +182,7 @@ sub GrubFs {
                 # Based on the type pull in the identifier from the system
                 my ($status, @devInfo) = runCommand("@utillinux@/bin/blkid -o export @{[$fs->device]}");
                 if ($status != 0) {
-                    die "Failed to get blkid info for @{[$fs->mount]} on @{[$fs->device]}";
+                    die "Failed to get blkid info (returned $status) for @{[$fs->mount]} on @{[$fs->device]}";
                 }
                 my @matches = join("", @devInfo) =~ m/@{[uc $fsIdentifier]}=([^\n]*)/;
                 if ($#matches != 0) {
diff --git a/nixos/modules/system/boot/loader/raspberrypi/builder.sh b/nixos/modules/system/boot/loader/raspberrypi/builder.sh
index f627d093eaf..8adc8a6a7e1 100644
--- a/nixos/modules/system/boot/loader/raspberrypi/builder.sh
+++ b/nixos/modules/system/boot/loader/raspberrypi/builder.sh
@@ -109,11 +109,15 @@ copyForced $fwdir/bootcode.bin  /boot/bootcode.bin
 copyForced $fwdir/fixup.dat     /boot/fixup.dat
 copyForced $fwdir/fixup_cd.dat  /boot/fixup_cd.dat
 copyForced $fwdir/fixup_db.dat  /boot/fixup_db.dat
+copyForced $fwdir/fixup_x.dat   /boot/fixup_x.dat
 copyForced $fwdir/start.elf     /boot/start.elf
 copyForced $fwdir/start_cd.elf  /boot/start_cd.elf
 copyForced $fwdir/start_db.elf  /boot/start_db.elf
 copyForced $fwdir/start_x.elf   /boot/start_x.elf
 
+# Add the config.txt
+copyForced @configTxt@ /boot/config.txt
+
 # Remove obsolete files from /boot and /boot/old.
 for fn in /boot/old/*linux* /boot/old/*initrd-initrd* /boot/bcm*.dtb; do
     if ! test "${filesCopied[$fn]}" = 1; then
diff --git a/nixos/modules/system/boot/loader/raspberrypi/builder_uboot.nix b/nixos/modules/system/boot/loader/raspberrypi/builder_uboot.nix
new file mode 100644
index 00000000000..47f25a9c2b1
--- /dev/null
+++ b/nixos/modules/system/boot/loader/raspberrypi/builder_uboot.nix
@@ -0,0 +1,34 @@
+{ config, pkgs, configTxt }:
+
+let
+  cfg = config.boot.loader.raspberryPi;
+  isAarch64 = pkgs.stdenv.isAarch64;
+
+  uboot =
+    if cfg.version == 1 then
+      pkgs.ubootRaspberryPi
+    else if cfg.version == 2 then
+      pkgs.ubootRaspberryPi2
+    else
+      if isAarch64 then
+        pkgs.ubootRaspberryPi3_64bit
+      else
+        pkgs.ubootRaspberryPi3_32bit;
+
+  extlinuxConfBuilder =
+    import ../generic-extlinux-compatible/extlinux-conf-builder.nix {
+      inherit pkgs;
+    };
+in
+pkgs.substituteAll {
+  src = ./builder_uboot.sh;
+  isExecutable = true;
+  inherit (pkgs) bash;
+  path = [pkgs.coreutils pkgs.gnused pkgs.gnugrep];
+  firmware = pkgs.raspberrypifw;
+  inherit uboot;
+  inherit configTxt;
+  inherit extlinuxConfBuilder;
+  version = cfg.version;
+}
+
diff --git a/nixos/modules/system/boot/loader/raspberrypi/builder_uboot.sh b/nixos/modules/system/boot/loader/raspberrypi/builder_uboot.sh
new file mode 100644
index 00000000000..36bf1506627
--- /dev/null
+++ b/nixos/modules/system/boot/loader/raspberrypi/builder_uboot.sh
@@ -0,0 +1,29 @@
+#! @bash@/bin/sh -e
+
+copyForced() {
+    local src="$1"
+    local dst="$2"
+    cp $src $dst.tmp
+    mv $dst.tmp $dst
+}
+
+# Call the extlinux builder
+"@extlinuxConfBuilder@" "$@"
+
+# Add the firmware files
+fwdir=@firmware@/share/raspberrypi/boot/
+copyForced $fwdir/bootcode.bin  /boot/bootcode.bin
+copyForced $fwdir/fixup.dat     /boot/fixup.dat
+copyForced $fwdir/fixup_cd.dat  /boot/fixup_cd.dat
+copyForced $fwdir/fixup_db.dat  /boot/fixup_db.dat
+copyForced $fwdir/fixup_x.dat   /boot/fixup_x.dat
+copyForced $fwdir/start.elf     /boot/start.elf
+copyForced $fwdir/start_cd.elf  /boot/start_cd.elf
+copyForced $fwdir/start_db.elf  /boot/start_db.elf
+copyForced $fwdir/start_x.elf   /boot/start_x.elf
+
+# Add the uboot file
+copyForced @uboot@/u-boot.bin /boot/u-boot-rpi.bin
+
+# Add the config.txt
+copyForced @configTxt@ /boot/config.txt
diff --git a/nixos/modules/system/boot/loader/raspberrypi/raspberrypi.nix b/nixos/modules/system/boot/loader/raspberrypi/raspberrypi.nix
index f246d04284c..f974d07da9e 100644
--- a/nixos/modules/system/boot/loader/raspberrypi/raspberrypi.nix
+++ b/nixos/modules/system/boot/loader/raspberrypi/raspberrypi.nix
@@ -5,42 +5,108 @@ with lib;
 let
   cfg = config.boot.loader.raspberryPi;
 
-  builder = pkgs.substituteAll {
+  builderGeneric = pkgs.substituteAll {
     src = ./builder.sh;
     isExecutable = true;
     inherit (pkgs) bash;
     path = [pkgs.coreutils pkgs.gnused pkgs.gnugrep];
     firmware = pkgs.raspberrypifw;
     version = cfg.version;
+    inherit configTxt;
   };
 
   platform = pkgs.stdenv.platform;
 
+  builderUboot = import ./builder_uboot.nix { inherit config; inherit pkgs; inherit configTxt; };
+
+  builder = 
+    if cfg.uboot.enable then
+      "${builderUboot} -g ${toString cfg.uboot.configurationLimit} -t ${timeoutStr} -c"
+    else
+      builderGeneric;
+
+  blCfg = config.boot.loader;
+  timeoutStr = if blCfg.timeout == null then "-1" else toString blCfg.timeout;
+
+  isAarch64 = pkgs.stdenv.isAarch64;
+  optional = pkgs.stdenv.lib.optionalString;
+
+  configTxt =
+    pkgs.writeText "config.txt" (''
+      # U-Boot used to need this to work, regardless of whether UART is actually used or not.
+      # TODO: check when/if this can be removed.
+      enable_uart=1
+
+      # Prevent the firmware from smashing the framebuffer setup done by the mainline kernel
+      # when attempting to show low-voltage or overtemperature warnings.
+      avoid_warnings=1
+    '' + optional isAarch64 ''
+      # Boot in 64-bit mode.
+      arm_control=0x200
+    '' + optional cfg.uboot.enable ''
+      kernel=u-boot-rpi.bin
+    '' + optional (cfg.firmwareConfig != null) cfg.firmwareConfig);
+
 in
 
 {
   options = {
 
-    boot.loader.raspberryPi.enable = mkOption {
-      default = false;
-      type = types.bool;
-      description = ''
-        Whether to create files with the system generations in
-        <literal>/boot</literal>.
-        <literal>/boot/old</literal> will hold files from old generations.
-      '';
-    };
+    boot.loader.raspberryPi = {
+      enable = mkOption {
+        default = false;
+        type = types.bool;
+        description = ''
+          Whether to create files with the system generations in
+          <literal>/boot</literal>.
+          <literal>/boot/old</literal> will hold files from old generations.
+        '';
+      };
 
-    boot.loader.raspberryPi.version = mkOption {
-      default = 2;
-      type = types.enum [ 1 2 3 ];
-      description = ''
-      '';
-    };
+      version = mkOption {
+        default = 2;
+        type = types.enum [ 1 2 3 ];
+        description = ''
+        '';
+      };
+
+      uboot = {
+        enable = mkOption {
+          default = false;
+          type = types.bool;
+          description = ''
+            Enable using uboot as bootmanager for the raspberry pi.
+          '';
+        };
+
+        configurationLimit = mkOption {
+          default = 20;
+          example = 10;
+          type = types.int;
+          description = ''
+            Maximum number of configurations in the boot menu.
+          '';
+        };
+
+      };
 
+      firmwareConfig = mkOption {
+        default = null;
+        type = types.nullOr types.string;
+        description = ''
+          Extra options that will be appended to <literal>/boot/config.txt</literal> file.
+          For possible values, see: https://www.raspberrypi.org/documentation/configuration/config-txt/
+        '';
+      };
+    };
   };
 
-  config = mkIf config.boot.loader.raspberryPi.enable {
+  config = mkIf cfg.enable {
+    assertions = singleton {
+      assertion = !pkgs.stdenv.isAarch64 || cfg.version == 3;
+      message = "Only Raspberry Pi 3 supports aarch64.";
+    };
+
     system.build.installBootLoader = builder;
     system.boot.loader.id = "raspberrypi";
     system.boot.loader.kernelFile = platform.kernelTarget;
diff --git a/nixos/modules/system/boot/luksroot.nix b/nixos/modules/system/boot/luksroot.nix
index 54dfb53fd30..7ebfdb134d7 100644
--- a/nixos/modules/system/boot/luksroot.nix
+++ b/nixos/modules/system/boot/luksroot.nix
@@ -454,7 +454,6 @@ in
       ["firewire_ohci" "firewire_core" "firewire_sbp2"];
 
     # Some modules that may be needed for mounting anything ciphered
-    # Also load input_leds to get caps lock light working (#12456)
     boot.initrd.availableKernelModules = [ "dm_mod" "dm_crypt" "cryptd" "input_leds" ]
       ++ luks.cryptoModules
       # workaround until https://marc.info/?l=linux-crypto-vger&m=148783562211457&w=4 is merged
diff --git a/nixos/modules/system/boot/networkd.nix b/nixos/modules/system/boot/networkd.nix
index eea10613ea5..9aa557ac859 100644
--- a/nixos/modules/system/boot/networkd.nix
+++ b/nixos/modules/system/boot/networkd.nix
@@ -146,12 +146,13 @@ let
   # .network files have a [Link] section with different options than in .netlink files
   checkNetworkLink = checkUnitConfig "Link" [
     (assertOnlyFields [
-      "MACAddress" "MTUBytes" "ARP" "Unmanaged"
+      "MACAddress" "MTUBytes" "ARP" "Unmanaged" "RequiredForOnline"
     ])
     (assertMacAddress "MACAddress")
     (assertByteFormat "MTUBytes")
     (assertValueOneOf "ARP" boolValues)
     (assertValueOneOf "Unmanaged" boolValues)
+    (assertValueOneOf "RquiredForOnline" boolValues)
   ];
 
 
@@ -712,6 +713,9 @@ in
     systemd.services.systemd-networkd = {
       wantedBy = [ "multi-user.target" ];
       restartTriggers = map (f: f.source) (unitFiles);
+      # prevent race condition with interface renaming (#39069)
+      requires = [ "systemd-udev-settle.service" ];
+      after = [ "systemd-udev-settle.service" ];
     };
 
     systemd.services.systemd-networkd-wait-online = {
diff --git a/nixos/modules/system/boot/stage-1-init.sh b/nixos/modules/system/boot/stage-1-init.sh
index 964ec68cfe2..92e68b72664 100644
--- a/nixos/modules/system/boot/stage-1-init.sh
+++ b/nixos/modules/system/boot/stage-1-init.sh
@@ -74,6 +74,32 @@ ln -s /proc/mounts /etc/mtab # to shut up mke2fs
 touch /etc/udev/hwdb.bin # to shut up udev
 touch /etc/initrd-release
 
+# Function for waiting a device to appear.
+waitDevice() {
+    local device="$1"
+
+    # USB storage devices tend to appear with some delay.  It would be
+    # great if we had a way to synchronously wait for them, but
+    # alas...  So just wait for a few seconds for the device to
+    # appear.
+    if test ! -e $device; then
+        echo -n "waiting for device $device to appear..."
+        try=20
+        while [ $try -gt 0 ]; do
+            sleep 1
+            # also re-try lvm activation now that new block devices might have appeared
+            lvm vgchange -ay
+            # and tell udev to create nodes for the new LVs
+            udevadm trigger --action=add
+            if test -e $device; then break; fi
+            echo -n "."
+            try=$((try - 1))
+        done
+        echo
+        [ $try -ne 0 ]
+    fi
+}
+
 # Mount special file systems.
 specialMount() {
   local device="$1"
@@ -377,40 +403,7 @@ lustrateRoot () {
     exec 4>&-
 }
 
-# Function for waiting a device to appear.
-waitDevice() {
-    local device="$1"
-
-    # USB storage devices tend to appear with some delay.  It would be
-    # great if we had a way to synchronously wait for them, but
-    # alas...  So just wait for a few seconds for the device to
-    # appear.
-    if test ! -e $device; then
-        echo -n "waiting for device $device to appear..."
-        try=20
-        while [ $try -gt 0 ]; do
-            sleep 1
-            # also re-try lvm activation now that new block devices might have appeared
-            lvm vgchange -ay
-            # and tell udev to create nodes for the new LVs
-            udevadm trigger --action=add
-            if test -e $device; then break; fi
-            echo -n "."
-            try=$((try - 1))
-        done
-        echo
-        [ $try -ne 0 ]
-    fi
-}
-
 
-# Try to resume - all modules are loaded now.
-if test -e /sys/power/tuxonice/resume; then
-    if test -n "$(cat /sys/power/tuxonice/resume)"; then
-        echo 0 > /sys/power/tuxonice/user_interface/enabled
-        echo 1 > /sys/power/tuxonice/do_resume || echo "failed to resume..."
-    fi
-fi
 
 if test -e /sys/power/resume -a -e /sys/power/disk; then
     if test -n "@resumeDevice@" && waitDevice "@resumeDevice@"; then
diff --git a/nixos/modules/system/boot/stage-1.nix b/nixos/modules/system/boot/stage-1.nix
index df450be8c40..55bb6d3449c 100644
--- a/nixos/modules/system/boot/stage-1.nix
+++ b/nixos/modules/system/boot/stage-1.nix
@@ -30,6 +30,50 @@ let
   # mounting `/`, like `/` on a loopback).
   fileSystems = filter utils.fsNeededForBoot config.system.build.fileSystems;
 
+  # A utility for enumerating the shared-library dependencies of a program
+  findLibs = pkgs.writeShellScriptBin "find-libs" ''
+    set -euo pipefail
+
+    declare -A seen
+    declare -a left
+
+    patchelf="${pkgs.buildPackages.patchelf}/bin/patchelf"
+
+    function add_needed {
+      rpath="$($patchelf --print-rpath $1)"
+      dir="$(dirname $1)"
+      for lib in $($patchelf --print-needed $1); do
+        left+=("$lib" "$rpath" "$dir")
+      done
+    }
+
+    add_needed $1
+
+    while [ ''${#left[@]} -ne 0 ]; do
+      next=''${left[0]}
+      rpath=''${left[1]}
+      ORIGIN=''${left[2]}
+      left=("''${left[@]:3}")
+      if [ -z ''${seen[$next]+x} ]; then
+        seen[$next]=1
+        IFS=: read -ra paths <<< $rpath
+        res=
+        for path in "''${paths[@]}"; do
+          path=$(eval "echo $path")
+          if [ -f "$path/$next" ]; then
+              res="$path/$next"
+              echo "$res"
+              add_needed "$res"
+              break
+          fi
+        done
+        if [ -z "$res" ]; then
+          echo "Couldn't satisfy dependency $next" >&2
+          exit 1
+        fi
+      fi
+    done
+  '';
 
   # Some additional utilities needed in stage 1, like mount, lvm, fsck
   # etc.  We don't want to bring in all of those packages, so we just
@@ -37,7 +81,7 @@ let
   # we just copy what we need from Glibc and use patchelf to make it
   # work.
   extraUtils = pkgs.runCommandCC "extra-utils"
-    { buildInputs = [pkgs.nukeReferences];
+    { nativeBuildInputs = [pkgs.buildPackages.nukeReferences];
       allowedReferences = [ "out" ]; # prevent accidents like glibc being included in the initrd
     }
     ''
@@ -103,9 +147,7 @@ let
       # Copy all of the needed libraries
       find $out/bin $out/lib -type f | while read BIN; do
         echo "Copying libs for executable $BIN"
-        LDD="$(ldd $BIN)" || continue
-        LIBS="$(echo "$LDD" | awk '{print $3}' | sed '/^$/d')"
-        for LIB in $LIBS; do
+        for LIB in $(${findLibs}/bin/find-libs $BIN); do
           TGT="$out/lib/$(basename $LIB)"
           if [ ! -f "$TGT" ]; then
             SRC="$(readlink -e $LIB)"
@@ -132,6 +174,7 @@ let
         fi
       done
 
+      if [ -z "${toString pkgs.stdenv.isCross}" ]; then
       # Make sure that the patchelf'ed binaries still work.
       echo "testing patched programs..."
       $out/bin/ash -c 'echo hello world' | grep "hello world"
@@ -144,6 +187,7 @@ let
       $out/bin/mdadm --version
 
       ${config.boot.initrd.extraUtilsCommandsTest}
+      fi
     ''; # */
 
 
@@ -245,7 +289,7 @@ let
             { src = "${pkgs.kmod-blacklist-ubuntu}/modprobe.conf"; }
             ''
               target=$out
-              ${pkgs.perl}/bin/perl -0pe 's/## file: iwlwifi.conf(.+?)##/##/s;' $src > $out
+              ${pkgs.buildPackages.perl}/bin/perl -0pe 's/## file: iwlwifi.conf(.+?)##/##/s;' $src > $out
             '';
           symlink = "/etc/modprobe.d/ubuntu.conf";
         }
diff --git a/nixos/modules/system/boot/stage-2-init.sh b/nixos/modules/system/boot/stage-2-init.sh
index 9d2c580d62a..b83012dfda7 100644
--- a/nixos/modules/system/boot/stage-2-init.sh
+++ b/nixos/modules/system/boot/stage-2-init.sh
@@ -43,7 +43,7 @@ if [ ! -e /proc/1 ]; then
         local options="$3"
         local fsType="$4"
 
-        mkdir -m 0755 -p "$mountPoint"
+        install -m 0755 -d "$mountPoint"
         mount -n -t "$fsType" -o "$options" "$device" "$mountPoint"
     }
     source @earlyMountScript@
@@ -71,7 +71,7 @@ fi
 
 
 # Provide a /etc/mtab.
-mkdir -m 0755 -p /etc
+install -m 0755 -d /etc
 test -e /etc/fstab || touch /etc/fstab # to shut up mount
 rm -f /etc/mtab* # not that we care about stale locks
 ln -s /proc/mounts /etc/mtab
@@ -79,8 +79,8 @@ ln -s /proc/mounts /etc/mtab
 
 # More special file systems, initialise required directories.
 [ -e /proc/bus/usb ] && mount -t usbfs usbfs /proc/bus/usb # UML doesn't have USB by default
-mkdir -m 01777 -p /tmp
-mkdir -m 0755 -p /var/{log,lib,db} /nix/var /etc/nixos/ \
+install -m 01777 -d /tmp
+install -m 0755 -d /var/{log,lib,db} /nix/var /etc/nixos/ \
     /run/lock /home /bin # for the /bin/sh symlink
 
 
diff --git a/nixos/modules/system/boot/stage-2.nix b/nixos/modules/system/boot/stage-2.nix
index 8db6d2d2f73..78afbd8dbc1 100644
--- a/nixos/modules/system/boot/stage-2.nix
+++ b/nixos/modules/system/boot/stage-2.nix
@@ -10,6 +10,7 @@ let
   bootStage2 = pkgs.substituteAll {
     src = ./stage-2-init.sh;
     shellDebug = "${pkgs.bashInteractive}/bin/bash";
+    shell = "${pkgs.bash}/bin/bash";
     isExecutable = true;
     inherit (config.nix) readOnlyStore;
     inherit (config.networking) useHostResolvConf;
diff --git a/nixos/modules/system/boot/systemd-nspawn.nix b/nixos/modules/system/boot/systemd-nspawn.nix
index 8fa9f8b795e..64b3b8b584e 100644
--- a/nixos/modules/system/boot/systemd-nspawn.nix
+++ b/nixos/modules/system/boot/systemd-nspawn.nix
@@ -110,7 +110,7 @@ in {
 
   config =
     let
-      units = mapAttrs' (n: v: nameValuePair "${n}.nspawn" (instanceToUnit n v)) cfg;
+      units = mapAttrs' (n: v: let nspawnFile = "${n}.nspawn"; in nameValuePair nspawnFile (instanceToUnit nspawnFile v)) cfg;
     in mkIf (cfg != {}) {
 
       environment.etc."systemd/nspawn".source = generateUnits "nspawn" units [] [];
diff --git a/nixos/modules/system/boot/systemd-unit-options.nix b/nixos/modules/system/boot/systemd-unit-options.nix
index 43a9c28bb69..2cff25a8c85 100644
--- a/nixos/modules/system/boot/systemd-unit-options.nix
+++ b/nixos/modules/system/boot/systemd-unit-options.nix
@@ -217,7 +217,7 @@ in rec {
 
     environment = mkOption {
       default = {};
-      type = types.attrs; # FIXME
+      type = with types; attrsOf (nullOr (either str (either path package)));
       example = { PATH = "/foo/bar/bin"; LANG = "nl_NL.UTF-8"; };
       description = "Environment variables passed to the service's processes.";
     };
diff --git a/nixos/modules/system/boot/systemd.nix b/nixos/modules/system/boot/systemd.nix
index aff46ea861a..d2fe33488a7 100644
--- a/nixos/modules/system/boot/systemd.nix
+++ b/nixos/modules/system/boot/systemd.nix
@@ -137,7 +137,6 @@ let
 
       # Slices / containers.
       "slices.target"
-      "system.slice"
       "user.slice"
       "machine.slice"
       "machines.target"
@@ -241,37 +240,37 @@ let
         }
         (mkIf (config.preStart != "")
           { serviceConfig.ExecStartPre = makeJobScript "${name}-pre-start" ''
-              #! ${pkgs.stdenv.shell} -e
+              #! ${pkgs.runtimeShell} -e
               ${config.preStart}
             '';
           })
         (mkIf (config.script != "")
           { serviceConfig.ExecStart = makeJobScript "${name}-start" ''
-              #! ${pkgs.stdenv.shell} -e
+              #! ${pkgs.runtimeShell} -e
               ${config.script}
             '' + " " + config.scriptArgs;
           })
         (mkIf (config.postStart != "")
           { serviceConfig.ExecStartPost = makeJobScript "${name}-post-start" ''
-              #! ${pkgs.stdenv.shell} -e
+              #! ${pkgs.runtimeShell} -e
               ${config.postStart}
             '';
           })
         (mkIf (config.reload != "")
           { serviceConfig.ExecReload = makeJobScript "${name}-reload" ''
-              #! ${pkgs.stdenv.shell} -e
+              #! ${pkgs.runtimeShell} -e
               ${config.reload}
             '';
           })
         (mkIf (config.preStop != "")
           { serviceConfig.ExecStop = makeJobScript "${name}-pre-stop" ''
-              #! ${pkgs.stdenv.shell} -e
+              #! ${pkgs.runtimeShell} -e
               ${config.preStop}
             '';
           })
         (mkIf (config.postStop != "")
           { serviceConfig.ExecStopPost = makeJobScript "${name}-post-stop" ''
-              #! ${pkgs.stdenv.shell} -e
+              #! ${pkgs.runtimeShell} -e
               ${config.postStop}
             '';
           })
@@ -516,7 +515,7 @@ in
     };
 
     systemd.globalEnvironment = mkOption {
-      type = types.attrs;
+      type = with types; attrsOf (nullOr (either str package));
       default = {};
       example = { TZ = "CET"; };
       description = ''
@@ -524,6 +523,14 @@ in
       '';
     };
 
+    systemd.enableCgroupAccounting = mkOption {
+      default = false;
+      type = types.bool;
+      description = ''
+        Whether to enable cgroup accounting.
+      '';
+    };
+
     systemd.extraConfig = mkOption {
       default = "";
       type = types.lines;
@@ -725,6 +732,13 @@ in
 
       "systemd/system.conf".text = ''
         [Manager]
+        ${optionalString config.systemd.enableCgroupAccounting ''
+          DefaultCPUAccounting=yes
+          DefaultIOAccounting=yes
+          DefaultBlockIOAccounting=yes
+          DefaultMemoryAccounting=yes
+          DefaultTasksAccounting=yes
+        ''}
         ${config.systemd.extraConfig}
       '';
 
@@ -821,7 +835,8 @@ in
 
     system.requiredKernelConfig = map config.lib.kernelConfig.isEnabled
       [ "DEVTMPFS" "CGROUPS" "INOTIFY_USER" "SIGNALFD" "TIMERFD" "EPOLL" "NET"
-        "SYSFS" "PROC_FS" "FHANDLE" "DMIID" "AUTOFS4_FS" "TMPFS_POSIX_ACL"
+        "SYSFS" "PROC_FS" "FHANDLE" "CRYPTO_USER_API_HASH" "CRYPTO_HMAC"
+        "CRYPTO_SHA256" "DMIID" "AUTOFS4_FS" "TMPFS_POSIX_ACL"
         "TMPFS_XATTR" "SECCOMP"
       ];
 
diff --git a/nixos/modules/tasks/filesystems/exfat.nix b/nixos/modules/tasks/filesystems/exfat.nix
index 963bc940b4f..1527f993fdd 100644
--- a/nixos/modules/tasks/filesystems/exfat.nix
+++ b/nixos/modules/tasks/filesystems/exfat.nix
@@ -5,7 +5,7 @@ with lib;
 {
   config = mkIf (any (fs: fs == "exfat") config.boot.supportedFilesystems) {
 
-    system.fsPackages = [ pkgs.exfat-utils pkgs.fuse_exfat ];
+    system.fsPackages = [ pkgs.exfat ];
 
   };
 }
diff --git a/nixos/modules/tasks/filesystems/zfs.nix b/nixos/modules/tasks/filesystems/zfs.nix
index 30c54ddd0e4..c3bf897d51f 100644
--- a/nixos/modules/tasks/filesystems/zfs.nix
+++ b/nixos/modules/tasks/filesystems/zfs.nix
@@ -305,6 +305,8 @@ in
         }
       ];
 
+      virtualisation.lxd.zfsSupport = true;
+
       boot = {
         kernelModules = [ "spl" "zfs" ] ;
         extraModulePackages = with packages; [ spl zfs ];
@@ -452,7 +454,7 @@ in
                               }) snapshotNames);
 
       systemd.timers = let
-                         timer = name: if name == "frequent" then "*:15,30,45" else name;
+                         timer = name: if name == "frequent" then "*:0,15,30,45" else name;
                        in builtins.listToAttrs (map (snapName:
                             {
                               name = "zfs-snapshot-${snapName}";
diff --git a/nixos/modules/tasks/kbd.nix b/nixos/modules/tasks/kbd.nix
index 7fb3cbc5c1b..fbe42b8e8f0 100644
--- a/nixos/modules/tasks/kbd.nix
+++ b/nixos/modules/tasks/kbd.nix
@@ -13,7 +13,7 @@ let
   isUnicode = hasSuffix "UTF-8" (toUpper config.i18n.defaultLocale);
 
   optimizedKeymap = pkgs.runCommand "keymap" {
-    nativeBuildInputs = [ pkgs.kbd ];
+    nativeBuildInputs = [ pkgs.buildPackages.kbd ];
     LOADKEYS_KEYMAP_PATH = "${kbdEnv}/share/keymaps/**";
   } ''
     loadkeys -b ${optionalString isUnicode "-u"} "${config.i18n.consoleKeyMap}" > $out
diff --git a/nixos/modules/tasks/network-interfaces-scripted.nix b/nixos/modules/tasks/network-interfaces-scripted.nix
index 630fe6d114c..e754a1e8718 100644
--- a/nixos/modules/tasks/network-interfaces-scripted.nix
+++ b/nixos/modules/tasks/network-interfaces-scripted.nix
@@ -68,8 +68,7 @@ let
              (hasAttr dev cfg.macvlans) ||
              (hasAttr dev cfg.sits) ||
              (hasAttr dev cfg.vlans) ||
-             (hasAttr dev cfg.vswitches) ||
-             (hasAttr dev cfg.wlanInterfaces)
+             (hasAttr dev cfg.vswitches)
           then [ "${dev}-netdev.service" ]
           else optional (dev != null && dev != "lo" && !config.boot.isContainer) (subsystemDevice dev);
 
@@ -192,7 +191,7 @@ let
                     if out=$(ip addr add "${cidr}" dev "${i.name}" 2>&1); then
                       echo "done"
                     elif ! echo "$out" | grep "File exists" >/dev/null 2>&1; then
-                      echo "failed"
+                      echo "'ip addr add "${cidr}" dev "${i.name}"' failed: $out"
                       exit 1
                     fi
                   ''
@@ -213,7 +212,7 @@ let
                      if out=$(ip route add "${cidr}" ${options} ${via} dev "${i.name}" 2>&1); then
                        echo "done"
                      elif ! echo "$out" | grep "File exists" >/dev/null 2>&1; then
-                       echo "failed"
+                       echo "'ip route add "${cidr}" ${options} ${via} dev "${i.name}"' failed: $out"
                        exit 1
                      fi
                   ''
diff --git a/nixos/modules/tasks/network-interfaces.nix b/nixos/modules/tasks/network-interfaces.nix
index 5036b701bd8..14f9b956751 100644
--- a/nixos/modules/tasks/network-interfaces.nix
+++ b/nixos/modules/tasks/network-interfaces.nix
@@ -26,7 +26,7 @@ let
     executable = true;
     destination = "/bin/bridge-stp";
     text = ''
-      #!${pkgs.stdenv.shell} -e
+      #!${pkgs.runtimeShell} -e
       export PATH="${pkgs.mstpd}/bin"
 
       BRIDGES=(${concatStringsSep " " (attrNames rstpBridges)})
@@ -62,35 +62,6 @@ let
     then mapAttrsToList (n: v: v//{_iName=n;}) (filterAttrs (n: _: n==device) interfaces) ++ mapAttrsToList (n: v: v//{_iName=n;}) (filterAttrs (n: _: n!=device) interfaces)
     else mapAttrsToList (n: v: v // {_iName = n;}) interfaces;
 
-  # udev script that configures a physical wlan device and adds virtual interfaces
-  wlanDeviceUdevScript = device: interfaceList: pkgs.writeScript "wlan-${device}-udev-script" ''
-    #!${pkgs.stdenv.shell}
-
-    # Change the wireless phy device to a predictable name.
-    if [ -e "/sys/class/net/${device}/phy80211/name" ]; then
-      ${pkgs.iw}/bin/iw phy `${pkgs.coreutils}/bin/cat /sys/class/net/${device}/phy80211/name` set name ${device} || true
-    fi
-
-    # Crate new, virtual interfaces and configure them at the same time
-    ${flip concatMapStrings (drop 1 interfaceList) (i: ''
-    ${pkgs.iw}/bin/iw dev ${device} interface add ${i._iName} type ${i.type} \
-      ${optionalString (i.type == "mesh" && i.meshID != null) "mesh_id ${i.meshID}"} \
-      ${optionalString (i.type == "monitor" && i.flags != null) "flags ${i.flags}"} \
-      ${optionalString (i.type == "managed" && i.fourAddr != null) "4addr ${if i.fourAddr then "on" else "off"}"} \
-      ${optionalString (i.mac != null) "addr ${i.mac}"}
-    '')}
-
-    # Reconfigure and rename the default interface that already exists
-    ${flip concatMapStrings (take 1 interfaceList) (i: ''
-      ${pkgs.iw}/bin/iw dev ${device} set type ${i.type}
-      ${optionalString (i.type == "mesh" && i.meshID != null) "${pkgs.iw}/bin/iw dev ${device} set meshid ${i.meshID}"}
-      ${optionalString (i.type == "monitor" && i.flags != null) "${pkgs.iw}/bin/iw dev ${device} set monitor ${i.flags}"}
-      ${optionalString (i.type == "managed" && i.fourAddr != null) "${pkgs.iw}/bin/iw dev ${device} set 4addr ${if i.fourAddr then "on" else "off"}"}
-      ${optionalString (i.mac != null) "${pkgs.iproute}/bin/ip link set dev ${device} address ${i.mac}"}
-      ${optionalString (device != i._iName) "${pkgs.iproute}/bin/ip link set dev ${device} name ${i._iName}"}
-    '')}
-  '';
-
   # We must escape interfaces due to the systemd interpretation
   subsystemDevice = interface:
     "sys-subsystem-net-devices-${escapeSystemdPath interface}.device";
@@ -142,7 +113,7 @@ let
         default = { };
         example = { mtu = "1492"; window = "524288"; };
         description = ''
-          Other route options. See the symbol <literal>OPTION</literal>
+          Other route options. See the symbol <literal>OPTIONS</literal>
           in the <literal>ip-route(8)</literal> manual page for the details.
         '';
       };
@@ -191,7 +162,7 @@ let
       preferTempAddress = mkOption {
         type = types.bool;
         default = cfg.enableIPv6;
-        defaultText = literalExample "config.networking.enableIpv6";
+        defaultText = literalExample "config.networking.enableIPv6";
         description = ''
           When using SLAAC prefer a temporary (IPv6) address over the EUI-64
           address for originating connections. This is used to reduce tracking.
@@ -489,7 +460,7 @@ in
     networking.interfaces = mkOption {
       default = {};
       example =
-        { eth0.ipv4 = [ {
+        { eth0.ipv4.addresses = [ {
             address = "131.211.84.78";
             prefixLength = 25;
           } ];
@@ -1158,7 +1129,7 @@ in
             # The script creates the required, new WLAN interfaces interfaces and configures the
             # existing, default interface.
             curInterfaceScript = device: current: new: pkgs.writeScript "udev-run-script-wlan-interfaces-${device}.sh" ''
-              #!${pkgs.stdenv.shell}
+              #!${pkgs.runtimeShell}
               # Change the wireless phy device to a predictable name.
               ${pkgs.iw}/bin/iw phy `${pkgs.coreutils}/bin/cat /sys/class/net/$INTERFACE/phy80211/name` set name ${device}
 
@@ -1177,7 +1148,7 @@ in
 
             # Udev script to execute for a new WLAN interface. The script configures the new WLAN interface.
             newInterfaceScript = device: new: pkgs.writeScript "udev-run-script-wlan-interfaces-${new._iName}.sh" ''
-              #!${pkgs.stdenv.shell}
+              #!${pkgs.runtimeShell}
               # Configure the new interface
               ${pkgs.iw}/bin/iw dev ${new._iName} set type ${new.type}
               ${optionalString (new.type == "mesh" && new.meshID!=null) "${pkgs.iw}/bin/iw dev ${device} set meshid ${new.meshID}"}
diff --git a/nixos/modules/testing/test-instrumentation.nix b/nixos/modules/testing/test-instrumentation.nix
index 41dec2af9ed..3d46ba72493 100644
--- a/nixos/modules/testing/test-instrumentation.nix
+++ b/nixos/modules/testing/test-instrumentation.nix
@@ -58,6 +58,9 @@ in
     systemd.services."serial-getty@${qemuSerialDevice}".enable = false;
     systemd.services."serial-getty@hvc0".enable = false;
 
+    # Only use a serial console, no TTY.
+    virtualisation.qemu.consoles = [ qemuSerialDevice ];
+
     boot.initrd.preDeviceCommands =
       ''
         echo 600 > /proc/sys/kernel/hung_task_timeout_secs
@@ -126,6 +129,9 @@ in
     users.extraUsers.root.initialHashedPassword = mkOverride 150 "";
 
     services.xserver.displayManager.job.logToJournal = true;
+
+    # set default stateVersion to avoid warnings during eval
+    system.nixos.stateVersion = mkDefault "18.03";
   };
 
 }
diff --git a/nixos/modules/virtualisation/amazon-image.nix b/nixos/modules/virtualisation/amazon-image.nix
index f74c42a777f..e9e935e9020 100644
--- a/nixos/modules/virtualisation/amazon-image.nix
+++ b/nixos/modules/virtualisation/amazon-image.nix
@@ -48,13 +48,6 @@ let cfg = config.ec2; in
     boot.loader.grub.extraPerEntryConfig = mkIf (!cfg.hvm) "root (hd0)";
     boot.loader.timeout = 0;
 
-    boot.initrd.postDeviceCommands =
-      ''
-        # Force udev to exit to prevent random "Device or resource busy
-        # while trying to open /dev/xvda" errors from fsck.
-        udevadm control --exit || true
-      '';
-
     boot.initrd.network.enable = true;
 
     # Mount all formatted ephemeral disks and activate all swap devices.
diff --git a/nixos/modules/virtualisation/amazon-init.nix b/nixos/modules/virtualisation/amazon-init.nix
index a7362423eb4..8032b2c6d7c 100644
--- a/nixos/modules/virtualisation/amazon-init.nix
+++ b/nixos/modules/virtualisation/amazon-init.nix
@@ -2,7 +2,7 @@
 
 let
   script = ''
-    #!${pkgs.stdenv.shell} -eu
+    #!${pkgs.runtimeShell} -eu
 
     echo "attempting to fetch configuration from EC2 user data..."
 
diff --git a/nixos/modules/virtualisation/amazon-options.nix b/nixos/modules/virtualisation/amazon-options.nix
index 349fd3adfc9..9ecdcf23e5f 100644
--- a/nixos/modules/virtualisation/amazon-options.nix
+++ b/nixos/modules/virtualisation/amazon-options.nix
@@ -3,7 +3,7 @@
   options = {
     ec2 = {
       hvm = lib.mkOption {
-        default = lib.versionAtLeast config.system.stateVersion "17.03";
+        default = lib.versionAtLeast config.system.nixos.stateVersion "17.03";
         internal = true;
         description = ''
           Whether the EC2 instance is a HVM instance.
diff --git a/nixos/modules/virtualisation/azure-agent.nix b/nixos/modules/virtualisation/azure-agent.nix
index 6817eb837a0..b7ab54aab7e 100644
--- a/nixos/modules/virtualisation/azure-agent.nix
+++ b/nixos/modules/virtualisation/azure-agent.nix
@@ -47,7 +47,7 @@ let
   };
 
   provisionedHook = pkgs.writeScript "provisioned-hook" ''
-    #!${pkgs.stdenv.shell}
+    #!${pkgs.runtimeShell}
     ${config.systemd.package}/bin/systemctl start provisioned.target
   '';
 
@@ -66,6 +66,10 @@ in
       default = false;
       description = "Whether to enable verbose logging.";
     };
+    mountResourceDisk = mkOption {
+      default = true;
+      description = "Whether the agent should format (ext4) and mount the resource disk to /mnt/resource.";
+    };
   };
 
   ###### implementation
@@ -112,7 +116,7 @@ in
         Provisioning.ExecuteCustomData=n
 
         # Format if unformatted. If 'n', resource disk will not be mounted.
-        ResourceDisk.Format=y
+        ResourceDisk.Format=${if cfg.mountResourceDisk then "y" else "n"}
 
         # File system on the resource disk
         # Typically ext3 or ext4. FreeBSD images should use 'ufs2' here.
@@ -181,7 +185,7 @@ in
       after = [ "network-online.target" "sshd.service" ];
       wants = [ "network-online.target" ];
 
-      path = [ pkgs.e2fsprogs ];
+      path = [ pkgs.e2fsprogs pkgs.bash ];
       description = "Windows Azure Agent Service";
       unitConfig.ConditionPathExists = "/etc/waagent.conf";
       serviceConfig = {
diff --git a/nixos/modules/virtualisation/containers.nix b/nixos/modules/virtualisation/containers.nix
index 4038454b2d2..c3044ea124c 100644
--- a/nixos/modules/virtualisation/containers.nix
+++ b/nixos/modules/virtualisation/containers.nix
@@ -33,7 +33,7 @@ let
     in
       pkgs.writeScript "container-init"
       ''
-        #! ${pkgs.stdenv.shell} -e
+        #! ${pkgs.runtimeShell} -e
 
         # Initialise the container side of the veth pair.
         if [ "$PRIVATE_NETWORK" = 1 ]; then
@@ -112,7 +112,7 @@ let
 
       # If the host is 64-bit and the container is 32-bit, add a
       # --personality flag.
-      ${optionalString (config.nixpkgs.system == "x86_64-linux") ''
+      ${optionalString (config.nixpkgs.localSystem.system == "x86_64-linux") ''
         if [ "$(< ''${SYSTEM_PATH:-/nix/var/nix/profiles/per-container/$INSTANCE/system}/system)" = i686-linux ]; then
           extraFlags+=" --personality=x86"
         fi
@@ -223,7 +223,7 @@ let
   serviceDirectives = cfg: {
     ExecReload = pkgs.writeScript "reload-container"
       ''
-        #! ${pkgs.stdenv.shell} -e
+        #! ${pkgs.runtimeShell} -e
         ${pkgs.nixos-container}/bin/nixos-container run "$INSTANCE" -- \
           bash --login -c "''${SYSTEM_PATH:-/nix/var/nix/profiles/system}/bin/switch-to-configuration test"
       '';
@@ -255,7 +255,7 @@ let
   };
 
 
-  system = config.nixpkgs.system;
+  system = config.nixpkgs.localSystem.system;
 
   bindMountOpts = { name, config, ... }: {
 
@@ -575,6 +575,16 @@ in
               '';
             };
 
+            extraFlags = mkOption {
+              type = types.listOf types.str;
+              default = [];
+              example = [ "--drop-capability=CAP_SYS_CHROOT" ];
+              description = ''
+                Extra flags passed to the systemd-nspawn command.
+                See systemd-nspawn(1) for details.
+              '';
+            };
+
           } // networkOptions;
 
           config = mkMerge
@@ -596,8 +606,8 @@ in
                   { config, pkgs, ... }:
                   { services.postgresql.enable = true;
                     services.postgresql.package = pkgs.postgresql96;
-                    
-                    system.stateVersion = "17.03";
+
+                    system.nixos.stateVersion = "17.03";
                   };
               };
           }
@@ -714,7 +724,9 @@ in
             ${optionalString cfg.autoStart ''
               AUTO_START=1
             ''}
-            EXTRA_NSPAWN_FLAGS="${mkBindFlags cfg.bindMounts}"
+            EXTRA_NSPAWN_FLAGS="${mkBindFlags cfg.bindMounts +
+              optionalString (cfg.extraFlags != [])
+                (" " + concatStringsSep " " cfg.extraFlags)}"
           '';
       }) config.containers;
 
diff --git a/nixos/modules/virtualisation/ec2-amis.nix b/nixos/modules/virtualisation/ec2-amis.nix
index 01512911a05..baffad79b00 100644
--- a/nixos/modules/virtualisation/ec2-amis.nix
+++ b/nixos/modules/virtualisation/ec2-amis.nix
@@ -240,5 +240,22 @@ let self = {
   "17.09".sa-east-1.hvm-ebs = "ami-4762202b";
   "17.09".ap-south-1.hvm-ebs = "ami-4e376021";
 
-  latest = self."17.09";
+  # 18.03.131792.becbe4dbe16
+  "18.03".eu-west-1.hvm-ebs = "ami-cda4fab4";
+  "18.03".eu-west-2.hvm-ebs = "ami-d96786be";
+  "18.03".eu-west-3.hvm-ebs = "ami-6b0cba16";
+  "18.03".eu-central-1.hvm-ebs = "ami-5e2b75b5";
+  "18.03".us-east-1.hvm-ebs = "ami-d464cba9";
+  "18.03".us-east-2.hvm-ebs = "ami-fd221298";
+  "18.03".us-west-1.hvm-ebs = "ami-ff0d1d9f";
+  "18.03".us-west-2.hvm-ebs = "ami-c05c3bb8";
+  "18.03".ca-central-1.hvm-ebs = "ami-cc72f4a8";
+  "18.03".ap-southeast-1.hvm-ebs = "ami-b61633ca";
+  "18.03".ap-southeast-2.hvm-ebs = "ami-530fc131";
+  "18.03".ap-northeast-1.hvm-ebs = "ami-90d6c0ec";
+  "18.03".ap-northeast-2.hvm-ebs = "ami-a1248bcf";
+  "18.03".sa-east-1.hvm-ebs = "ami-b090c6dc";
+  "18.03".ap-south-1.hvm-ebs = "ami-32c9ec5d";
+
+  latest = self."18.03";
 }; in self
diff --git a/nixos/modules/virtualisation/google-compute-image.nix b/nixos/modules/virtualisation/google-compute-image.nix
index 155a33b3bb3..374a8433235 100644
--- a/nixos/modules/virtualisation/google-compute-image.nix
+++ b/nixos/modules/virtualisation/google-compute-image.nix
@@ -2,7 +2,7 @@
 
 with lib;
 let
-  diskSize = 1024; # MB
+  diskSize = 1536; # MB
   gce = pkgs.google-compute-engine;
 in
 {
@@ -57,6 +57,12 @@ in
   # Always include cryptsetup so that NixOps can use it.
   environment.systemPackages = [ pkgs.cryptsetup ];
 
+  # Make sure GCE image does not replace host key that NixOps sets
+  environment.etc."default/instance_configs.cfg".text = lib.mkDefault ''
+    [InstanceSetup]
+    set_host_keys = false
+  '';
+
   # Rely on GCP's firewall instead
   networking.firewall.enable = mkDefault false;
 
@@ -69,6 +75,9 @@ in
 
   networking.usePredictableInterfaceNames = false;
 
+  # GC has 1460 MTU
+  networking.interfaces.eth0.mtu = 1460;
+
   # allow the google-accounts-daemon to manage users
   users.mutableUsers = true;
   # and allow users to sudo without password
@@ -212,7 +221,7 @@ in
           echo "Obtaining SSH keys..."
           mkdir -m 0700 -p /root/.ssh
           AUTH_KEYS=$(${mktemp})
-          ${wget} -O $AUTH_KEYS --header="Metadata-Flavor: Google" http://metadata.google.internal/computeMetadata/v1/instance/attributes/sshKeys
+          ${wget} -O $AUTH_KEYS http://metadata.google.internal/computeMetadata/v1/instance/attributes/sshKeys
           if [ -s $AUTH_KEYS ]; then
 
             # Read in key one by one, split in case Google decided
@@ -237,6 +246,18 @@ in
             false
           fi
           rm -f $AUTH_KEYS
+          SSH_HOST_KEYS_DIR=$(${mktemp} -d)
+          ${wget} -O $SSH_HOST_KEYS_DIR/ssh_host_ed25519_key http://metadata.google.internal/computeMetadata/v1/instance/attributes/ssh_host_ed25519_key
+          ${wget} -O $SSH_HOST_KEYS_DIR/ssh_host_ed25519_key.pub http://metadata.google.internal/computeMetadata/v1/instance/attributes/ssh_host_ed25519_key_pub
+          if [ -s $SSH_HOST_KEYS_DIR/ssh_host_ed25519_key -a -s $SSH_HOST_KEYS_DIR/ssh_host_ed25519_key.pub ]; then
+              mv -f $SSH_HOST_KEYS_DIR/ssh_host_ed25519_key* /etc/ssh/
+              chmod 600 /etc/ssh/ssh_host_ed25519_key
+              chmod 644 /etc/ssh/ssh_host_ed25519_key.pub
+          else
+              echo "Setup of ssh host keys from http://metadata.google.internal/computeMetadata/v1/instance/attributes/ failed."
+              false
+          fi
+          rm -f $SSH_HOST_KEYS_DIR
         '';
       serviceConfig.Type = "oneshot";
       serviceConfig.RemainAfterExit = true;
diff --git a/nixos/modules/virtualisation/libvirtd.nix b/nixos/modules/virtualisation/libvirtd.nix
index a369b7ddbe1..024db7f87c2 100644
--- a/nixos/modules/virtualisation/libvirtd.nix
+++ b/nixos/modules/virtualisation/libvirtd.nix
@@ -119,18 +119,10 @@ in {
       after = [ "systemd-udev-settle.service" ]
               ++ optional vswitch.enable "vswitchd.service";
 
-      environment = {
-        LIBVIRTD_ARGS = ''--config "${configFile}" ${concatStringsSep " " cfg.extraOptions}'';
-      };
+      environment.LIBVIRTD_ARGS = ''--config "${configFile}" ${concatStringsSep " " cfg.extraOptions}'';
 
-      path = with pkgs; [
-          bridge-utils
-          dmidecode
-          dnsmasq
-          ebtables
-          cfg.qemuPackage # libvirtd requires qemu-img to manage disk images
-        ]
-        ++ optional vswitch.enable vswitch.package;
+      path = [ cfg.qemuPackage ] # libvirtd requires qemu-img to manage disk images
+             ++ optional vswitch.enable vswitch.package;
 
       preStart = ''
         mkdir -p /var/log/libvirt/qemu -m 755
diff --git a/nixos/modules/virtualisation/lxc.nix b/nixos/modules/virtualisation/lxc.nix
index 2310fe98432..9b5adaf0824 100644
--- a/nixos/modules/virtualisation/lxc.nix
+++ b/nixos/modules/virtualisation/lxc.nix
@@ -74,6 +74,9 @@ in
     systemd.tmpfiles.rules = [ "d /var/lib/lxc/rootfs 0755 root root -" ];
 
     security.apparmor.packages = [ pkgs.lxc ];
-    security.apparmor.profiles = [ "${pkgs.lxc}/etc/apparmor.d/lxc-containers" ];
+    security.apparmor.profiles = [
+      "${pkgs.lxc}/etc/apparmor.d/lxc-containers"
+      "${pkgs.lxc}/etc/apparmor.d/usr.bin.lxc-start"
+    ];
   };
 }
diff --git a/nixos/modules/virtualisation/lxd.nix b/nixos/modules/virtualisation/lxd.nix
index 4988886baf6..3e76cdacfc4 100644
--- a/nixos/modules/virtualisation/lxd.nix
+++ b/nixos/modules/virtualisation/lxd.nix
@@ -15,28 +15,34 @@ in
 
   options = {
 
-    virtualisation.lxd.enable =
-      mkOption {
+    virtualisation.lxd = {
+      enable = mkOption {
         type = types.bool;
         default = false;
-        description =
-          ''
-            This option enables lxd, a daemon that manages
-            containers. Users in the "lxd" group can interact with
-            the daemon (e.g. to start or stop containers) using the
-            <command>lxc</command> command line tool, among others.
-          '';
+        description = ''
+          This option enables lxd, a daemon that manages
+          containers. Users in the "lxd" group can interact with
+          the daemon (e.g. to start or stop containers) using the
+          <command>lxc</command> command line tool, among others.
+        '';
       };
-
+      zfsSupport = mkOption {
+        type = types.bool;
+        default = false;
+        description = ''
+          enables lxd to use zfs as a storage for containers.
+          This option is enabled by default if a zfs pool is configured
+          with nixos.
+        '';
+      };
+    };
   };
 
-
   ###### implementation
 
   config = mkIf cfg.enable {
 
-    environment.systemPackages =
-      [ pkgs.lxd ];
+    environment.systemPackages = [ pkgs.lxd ];
 
     security.apparmor = {
       enable = true;
@@ -47,31 +53,31 @@ in
       packages = [ pkgs.lxc ];
     };
 
-    systemd.services.lxd =
-      { description = "LXD Container Management Daemon";
+    systemd.services.lxd = {
+      description = "LXD Container Management Daemon";
 
-        wantedBy = [ "multi-user.target" ];
-        after = [ "systemd-udev-settle.service" ];
+      wantedBy = [ "multi-user.target" ];
+      after = [ "systemd-udev-settle.service" ];
 
-        # TODO(wkennington): Add lvm2 and thin-provisioning-tools
-        path = with pkgs; [ acl rsync gnutar xz btrfs-progs gzip dnsmasq squashfsTools iproute iptables ];
+      path = lib.optional cfg.zfsSupport pkgs.zfs;
 
-        preStart = ''
-          mkdir -m 0755 -p /var/lib/lxc/rootfs
-        '';
+      preStart = ''
+        mkdir -m 0755 -p /var/lib/lxc/rootfs
+      '';
 
-        serviceConfig.ExecStart = "@${pkgs.lxd.bin}/bin/lxd lxd --syslog --group lxd";
-        serviceConfig.Type = "simple";
-        serviceConfig.KillMode = "process"; # when stopping, leave the containers alone
+      serviceConfig = {
+        ExecStart = "@${pkgs.lxd.bin}/bin/lxd lxd --group lxd";
+        Type = "simple";
+        KillMode = "process"; # when stopping, leave the containers alone
       };
 
+    };
+
     users.extraGroups.lxd.gid = config.ids.gids.lxd;
 
     users.extraUsers.root = {
       subUidRanges = [ { startUid = 1000000; count = 65536; } ];
       subGidRanges = [ { startGid = 1000000; count = 65536; } ];
     };
-
   };
-
 }
diff --git a/nixos/modules/virtualisation/openvswitch.nix b/nixos/modules/virtualisation/openvswitch.nix
index 4218a3840fc..38b138e0632 100644
--- a/nixos/modules/virtualisation/openvswitch.nix
+++ b/nixos/modules/virtualisation/openvswitch.nix
@@ -169,7 +169,7 @@ in {
         mkdir -p ${runDir}/ipsec/{etc/racoon,etc/init.d/,usr/sbin/}
         ln -fs ${pkgs.ipsecTools}/bin/setkey ${runDir}/ipsec/usr/sbin/setkey
         ln -fs ${pkgs.writeScript "racoon-restart" ''
-        #!${pkgs.stdenv.shell}
+        #!${pkgs.runtimeShell}
         /var/run/current-system/sw/bin/systemctl $1 racoon
         ''} ${runDir}/ipsec/etc/init.d/racoon
       '';
diff --git a/nixos/modules/virtualisation/qemu-guest-agent.nix b/nixos/modules/virtualisation/qemu-guest-agent.nix
new file mode 100644
index 00000000000..e0d2b3dc509
--- /dev/null
+++ b/nixos/modules/virtualisation/qemu-guest-agent.nix
@@ -0,0 +1,36 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+  cfg = config.services.qemuGuest;
+in {
+
+  options.services.qemuGuest = {
+      enable = mkOption {
+        type = types.bool;
+        default = false;
+        description = "Whether to enable the qemu guest agent.";
+      };
+  };
+
+  config = mkIf cfg.enable (
+      mkMerge [
+    {
+
+      services.udev.extraRules = ''
+        SUBSYSTEM=="virtio-ports", ATTR{name}=="org.qemu.guest_agent.0", TAG+="systemd" ENV{SYSTEMD_WANTS}="qemu-guest-agent.service"
+      '';
+
+      systemd.services.qemu-guest-agent = {
+        description = "Run the QEMU Guest Agent";
+        serviceConfig = {
+          ExecStart = "${pkgs.kvm.ga}/bin/qemu-ga";
+          Restart = "always";
+          RestartSec = 0;
+        };
+      };
+    }
+  ]
+  );
+}
diff --git a/nixos/modules/virtualisation/qemu-vm.nix b/nixos/modules/virtualisation/qemu-vm.nix
index 13d0eb7de5c..0abf7b11703 100644
--- a/nixos/modules/virtualisation/qemu-vm.nix
+++ b/nixos/modules/virtualisation/qemu-vm.nix
@@ -23,14 +23,29 @@ let
 
   cfg = config.virtualisation;
 
-  qemuGraphics = if cfg.graphics then "" else "-nographic";
-  kernelConsole = if cfg.graphics then "" else "console=${qemuSerialDevice}";
-  ttys = [ "tty1" "tty2" "tty3" "tty4" "tty5" "tty6" ];
+  qemuGraphics = lib.optionalString (!cfg.graphics) "-nographic";
+
+  consoles = lib.concatMapStringsSep " " (c: "console=${c}") cfg.qemu.consoles;
+
+  # XXX: This is very ugly and in the future we really should use attribute
+  # sets to build ALL of the QEMU flags instead of this mixed mess of Nix
+  # expressions and shell script stuff.
+  mkDiskIfaceDriveFlag = idx: driveArgs: let
+    inherit (cfg.qemu) diskInterface;
+    # The drive identifier created by incrementing the index by one using the
+    # shell.
+    drvId = "drive$((${idx} + 1))";
+    # NOTE: DO NOT shell escape, because this may contain shell variables.
+    commonArgs = "index=${idx},id=${drvId},${driveArgs}";
+    isSCSI = diskInterface == "scsi";
+    devArgs = "${diskInterface}-hd,drive=${drvId}";
+    args = "-drive ${commonArgs},if=none -device lsi53c895a -device ${devArgs}";
+  in if isSCSI then args else "-drive ${commonArgs},if=${diskInterface}";
 
   # Shell script to start the VM.
   startVM =
     ''
-      #! ${pkgs.stdenv.shell}
+      #! ${pkgs.runtimeShell}
 
       NIX_DISK_IMAGE=$(readlink -f ''${NIX_DISK_IMAGE:-${config.virtualisation.diskImage}})
 
@@ -68,7 +83,7 @@ let
         if ! test -e "empty$idx.qcow2"; then
             ${qemu}/bin/qemu-img create -f qcow2 "empty$idx.qcow2" "${toString size}M"
         fi
-        extraDisks="$extraDisks -drive index=$idx,file=$(pwd)/empty$idx.qcow2,if=${cfg.qemu.diskInterface},werror=report"
+        extraDisks="$extraDisks ${mkDiskIfaceDriveFlag "$idx" "file=$(pwd)/empty$idx.qcow2,werror=report"}"
         idx=$((idx + 1))
       '')}
 
@@ -77,28 +92,29 @@ let
           -name ${vmName} \
           -m ${toString config.virtualisation.memorySize} \
           -smp ${toString config.virtualisation.cores} \
+          -device virtio-rng-pci \
           ${concatStringsSep " " config.virtualisation.qemu.networkingOptions} \
           -virtfs local,path=/nix/store,security_model=none,mount_tag=store \
           -virtfs local,path=$TMPDIR/xchg,security_model=none,mount_tag=xchg \
           -virtfs local,path=''${SHARED_DIR:-$TMPDIR/xchg},security_model=none,mount_tag=shared \
           ${if cfg.useBootLoader then ''
-            -drive index=0,id=drive1,file=$NIX_DISK_IMAGE,if=${cfg.qemu.diskInterface},cache=writeback,werror=report \
-            -drive index=1,id=drive2,file=$TMPDIR/disk.img,media=disk \
+            ${mkDiskIfaceDriveFlag "0" "file=$NIX_DISK_IMAGE,cache=writeback,werror=report"} \
+            ${mkDiskIfaceDriveFlag "1" "file=$TMPDIR/disk.img,media=disk"} \
             ${if cfg.useEFIBoot then ''
               -pflash $TMPDIR/bios.bin \
             '' else ''
             ''}
           '' else ''
-            -drive index=0,id=drive1,file=$NIX_DISK_IMAGE,if=${cfg.qemu.diskInterface},cache=writeback,werror=report \
+            ${mkDiskIfaceDriveFlag "0" "file=$NIX_DISK_IMAGE,cache=writeback,werror=report"} \
             -kernel ${config.system.build.toplevel}/kernel \
             -initrd ${config.system.build.toplevel}/initrd \
-            -append "$(cat ${config.system.build.toplevel}/kernel-params) init=${config.system.build.toplevel}/init regInfo=${regInfo}/registration ${kernelConsole} $QEMU_KERNEL_PARAMS" \
+            -append "$(cat ${config.system.build.toplevel}/kernel-params) init=${config.system.build.toplevel}/init regInfo=${regInfo}/registration ${consoles} $QEMU_KERNEL_PARAMS" \
           ''} \
           $extraDisks \
           ${qemuGraphics} \
           ${toString config.virtualisation.qemu.options} \
           $QEMU_OPTS \
-          $@
+          "$@"
     '';
 
 
@@ -232,9 +248,10 @@ in
         default = true;
         description =
           ''
-            Whether to run QEMU with a graphics window, or access
-            the guest computer serial port through the host tty.
-          '';
+            Whether to run QEMU with a graphics window, or in nographic mode.
+            Serial console will be enabled on both settings, but this will
+            change the preferred console.
+            '';
       };
 
     virtualisation.cores =
@@ -316,11 +333,28 @@ in
           description = "Options passed to QEMU.";
         };
 
+      consoles = mkOption {
+        type = types.listOf types.str;
+        default = let
+          consoles = [ "${qemuSerialDevice},115200n8" "tty0" ];
+        in if cfg.graphics then consoles else reverseList consoles;
+        example = [ "console=tty1" ];
+        description = ''
+          The output console devices to pass to the kernel command line via the
+          <literal>console</literal> parameter, the primary console is the last
+          item of this list.
+
+          By default it enables both serial console and
+          <literal>tty0</literal>. The preferred console (last one) is based on
+          the value of <option>virtualisation.graphics</option>.
+        '';
+      };
+
       networkingOptions =
         mkOption {
           default = [
-            "-net nic,vlan=0,model=virtio"
-            "-net user,vlan=0\${QEMU_NET_OPTS:+,$QEMU_NET_OPTS}"
+            "-net nic,netdev=user.0,model=virtio"
+            "-netdev user,id=user.0\${QEMU_NET_OPTS:+,$QEMU_NET_OPTS}"
           ];
           type = types.listOf types.str;
           description = ''
@@ -337,10 +371,16 @@ in
         mkOption {
           default = "virtio";
           example = "scsi";
-          type = types.str;
+          type = types.enum [ "virtio" "scsi" "ide" ];
+          description = "The interface used for the virtual hard disks.";
+        };
+
+      guestAgent.enable =
+        mkOption {
+          default = true;
+          type = types.bool;
           description = ''
-            The interface used for the virtual hard disks
-            (<literal>virtio</literal> or <literal>scsi</literal>).
+            Enable the Qemu guest agent.
           '';
         };
     };
@@ -434,9 +474,11 @@ in
 
     virtualisation.pathsInNixDB = [ config.system.build.toplevel ];
 
-    # FIXME: Figure out how to make this work on non-x86
-    virtualisation.qemu.options =
-      mkIf (pkgs.stdenv.isi686 || pkgs.stdenv.isx86_64) [ "-vga std" "-usbdevice tablet" ];
+    # FIXME: Consolidate this one day.
+    virtualisation.qemu.options = mkMerge [
+      (mkIf (pkgs.stdenv.isi686 || pkgs.stdenv.isx86_64) [ "-vga std" "-usb" "-device usb-tablet,bus=usb-bus.0" ])
+      (mkIf (pkgs.stdenv.isAarch32 || pkgs.stdenv.isAarch64) [ "-device virtio-gpu-pci" "-device usb-ehci,id=usb0" "-device usb-kbd" "-device usb-tablet" ])
+    ];
 
     # Mount the host filesystem via 9P, and bind-mount the Nix store
     # of the host into our own filesystem.  We use mkVMOverride to
@@ -492,6 +534,8 @@ in
     # Don't run ntpd in the guest.  It should get the correct time from KVM.
     services.timesyncd.enable = false;
 
+    services.qemuGuest.enable = cfg.qemu.guestAgent.enable;
+
     system.build.vm = pkgs.runCommand "nixos-vm" { preferLocalBuild = true; }
       ''
         mkdir -p $out/bin
diff --git a/nixos/modules/virtualisation/virtualbox-host.nix b/nixos/modules/virtualisation/virtualbox-host.nix
index 7413e12c8f3..885d752577d 100644
--- a/nixos/modules/virtualisation/virtualbox-host.nix
+++ b/nixos/modules/virtualisation/virtualbox-host.nix
@@ -6,7 +6,7 @@ let
   cfg = config.virtualisation.virtualbox.host;
 
   virtualbox = pkgs.virtualbox.override {
-    inherit (cfg) enableHardening headless;
+    inherit (cfg) enableExtensionPack enableHardening headless;
   };
 
   kernelModules = config.boot.kernelPackages.virtualbox.override {
@@ -17,9 +17,7 @@ in
 
 {
   options.virtualisation.virtualbox.host = {
-    enable = mkOption {
-      type = types.bool;
-      default = false;
+    enable = mkEnableOption "VirtualBox" // {
       description = ''
         Whether to enable VirtualBox.
 
@@ -30,6 +28,8 @@ in
       '';
     };
 
+    enableExtensionPack = mkEnableOption "VirtualBox extension pack";
+
     addNetworkInterface = mkOption {
       type = types.bool;
       default = true;
diff --git a/nixos/modules/virtualisation/xen-dom0.nix b/nixos/modules/virtualisation/xen-dom0.nix
index afc5a42f8b4..cf57868acef 100644
--- a/nixos/modules/virtualisation/xen-dom0.nix
+++ b/nixos/modules/virtualisation/xen-dom0.nix
@@ -241,6 +241,12 @@ in
           '';
           target = "default/xendomains";
         }
+      ]
+      ++ lib.optionals (builtins.compareVersions cfg.package.version "4.10" >= 0) [
+        # in V 4.10 oxenstored requires /etc/xen/oxenstored.conf to start
+        { source = "${cfg.package}/etc/xen/oxenstored.conf";
+          target = "xen/oxenstored.conf";
+        }
       ];
 
     # Xen provides udev rules.
@@ -262,7 +268,7 @@ in
         mkdir -p /var/lib/xen # so we create them here unconditionally.
         grep -q control_d /proc/xen/capabilities
         '';
-      serviceConfig = if cfg.package.version < "4.8" then
+      serviceConfig = if (builtins.compareVersions cfg.package.version "4.8" < 0) then
         { ExecStart = ''
             ${cfg.stored}${optionalString cfg.trace " -T /var/log/xen/xenstored-trace.log"} --no-fork
             '';
@@ -275,7 +281,7 @@ in
           NotifyAccess    = "all";
         };
       postStart = ''
-        ${optionalString (cfg.package.version < "4.8") ''
+        ${optionalString (builtins.compareVersions cfg.package.version "4.8" < 0) ''
           time=0
           timeout=30
           # Wait for xenstored to actually come up, timing out after 30 seconds
@@ -320,7 +326,7 @@ in
       serviceConfig = {
         ExecStart = ''
           ${cfg.package}/bin/xenconsoled\
-            ${optionalString ((cfg.package.version >= "4.8")) " -i"}\
+            ${optionalString ((builtins.compareVersions cfg.package.version "4.8" >= 0)) " -i"}\
             ${optionalString cfg.trace " --log=all --log-dir=/var/log/xen"}
           '';
       };
diff --git a/nixos/release-combined.nix b/nixos/release-combined.nix
index 9d4a551a958..989764874c4 100644
--- a/nixos/release-combined.nix
+++ b/nixos/release-combined.nix
@@ -52,17 +52,19 @@ in rec {
         (all nixos.dummy)
         (all nixos.manual)
 
-        nixos.iso_minimal.x86_64-linux
-        nixos.iso_minimal.i686-linux
-        nixos.iso_graphical.x86_64-linux
-        nixos.ova.x86_64-linux
+        nixos.iso_minimal.x86_64-linux or []
+        nixos.iso_minimal.i686-linux or []
+        nixos.iso_graphical.x86_64-linux or []
+        nixos.ova.x86_64-linux or []
 
         #(all nixos.tests.containers)
-        nixos.tests.chromium.x86_64-linux
+        (all nixos.tests.containers-imperative)
+        (all nixos.tests.containers-ipv4)
+        nixos.tests.chromium.x86_64-linux or []
         (all nixos.tests.firefox)
         (all nixos.tests.firewall)
         (all nixos.tests.gnome3)
-        nixos.tests.installer.zfsroot.x86_64-linux # ZFS is 64bit only
+        nixos.tests.installer.zfsroot.x86_64-linux or [] # ZFS is 64bit only
         (all nixos.tests.installer.lvm)
         (all nixos.tests.installer.luksroot)
         (all nixos.tests.installer.separateBoot)
@@ -81,7 +83,7 @@ in rec {
         (all nixos.tests.boot.uefiUsb)
         (all nixos.tests.boot-stage1)
         (all nixos.tests.hibernate)
-        nixos.tests.docker.x86_64-linux
+        nixos.tests.docker.x86_64-linux or []
         (all nixos.tests.ecryptfs)
         (all nixos.tests.env)
         (all nixos.tests.ipv6)
@@ -98,6 +100,7 @@ in rec {
         (all nixos.tests.misc)
         (all nixos.tests.mutableUsers)
         (all nixos.tests.nat.firewall)
+        (all nixos.tests.nat.firewall-conntrack)
         (all nixos.tests.nat.standalone)
         (all nixos.tests.networking.scripted.loopback)
         (all nixos.tests.networking.scripted.static)
@@ -112,6 +115,10 @@ in rec {
         (all nixos.tests.nfs4)
         (all nixos.tests.openssh)
         (all nixos.tests.php-pcre)
+        (all nixos.tests.predictable-interface-names.predictable)
+        (all nixos.tests.predictable-interface-names.unpredictable)
+        (all nixos.tests.predictable-interface-names.predictableNetworkd)
+        (all nixos.tests.predictable-interface-names.unpredictableNetworkd)
         (all nixos.tests.printing)
         (all nixos.tests.proxy)
         (all nixos.tests.sddm.default)
diff --git a/nixos/release.nix b/nixos/release.nix
index a7d373d1f7c..0d795802539 100644
--- a/nixos/release.nix
+++ b/nixos/release.nix
@@ -1,4 +1,4 @@
-{ nixpkgs ? { outPath = (import ../lib).cleanSource ./..; revCount = 56789; shortRev = "gfedcba"; }
+{ nixpkgs ? { outPath = (import ../lib).cleanSource ./..; revCount = 130979; shortRev = "gfedcba"; }
 , stableBranch ? false
 , supportedSystems ? [ "x86_64-linux" "aarch64-linux" ]
 }:
@@ -16,11 +16,15 @@ let
     inherit system;
   } // args);
 
-  callTestOnTheseSystems = systems: fn: args: forMatchingSystems systems (system: hydraJob (importTest fn args system));
-  callTest = callTestOnTheseSystems supportedSystems;
+  # Note: only supportedSystems are considered.
+  callTestOnMatchingSystems = systems: fn: args:
+    forMatchingSystems
+      (intersectLists supportedSystems systems)
+      (system: hydraJob (importTest fn args system));
+  callTest = callTestOnMatchingSystems supportedSystems;
 
-  callSubTests = callSubTestsOnTheseSystems supportedSystems;
-  callSubTestsOnTheseSystems = systems: fn: args: let
+  callSubTests = callSubTestsOnMatchingSystems supportedSystems;
+  callSubTestsOnMatchingSystems = systems: fn: args: let
     discover = attrs: let
       subTests = filterAttrs (const (hasAttr "test")) attrs;
     in mapAttrs (const (t: hydraJob t.test)) subTests;
@@ -51,6 +55,17 @@ let
     }).config.system.build.isoImage);
 
 
+  makeSdImage =
+    { module, maintainers ? ["dezgeg"], system }:
+
+    with import nixpkgs { inherit system; };
+
+    hydraJob ((import lib/eval-config.nix {
+      inherit system;
+      modules = [ module versionModule ];
+    }).config.system.build.sdImage);
+
+
   makeSystemTarball =
     { module, maintainers ? ["viric"], system }:
 
@@ -109,7 +124,6 @@ let
         preferLocalBuild = true;
       };
 
-
 in rec {
 
   channel = import lib/make-channel.nix { inherit pkgs nixpkgs version versionSuffix; };
@@ -117,6 +131,7 @@ in rec {
   manual = buildFromConfig ({ pkgs, ... }: { }) (config: config.system.build.manual.manual);
   manualEpub = (buildFromConfig ({ pkgs, ... }: { }) (config: config.system.build.manual.manualEpub));
   manpages = buildFromConfig ({ pkgs, ... }: { }) (config: config.system.build.manual.manpages);
+  manualGeneratedSources = buildFromConfig ({ pkgs, ... }: { }) (config: config.system.build.manual.generatedSources);
   options = (buildFromConfig ({ pkgs, ... }: { }) (config: config.system.build.manual.optionsJSON)).x86_64-linux;
 
 
@@ -151,6 +166,14 @@ in rec {
     inherit system;
   });
 
+  sd_image = forMatchingSystems [ "armv6l-linux" "armv7l-linux" "aarch64-linux" ] (system: makeSdImage {
+    module = {
+        armv6l-linux = ./modules/installer/cd-dvd/sd-image-raspberrypi.nix;
+        armv7l-linux = ./modules/installer/cd-dvd/sd-image-armv7l-multiplatform.nix;
+        aarch64-linux = ./modules/installer/cd-dvd/sd-image-aarch64.nix;
+      }.${system};
+    inherit system;
+  });
 
   # A bootable VirtualBox virtual appliance as an OVA file (i.e. packaged OVF).
   ova = forMatchingSystems [ "x86_64-linux" ] (system:
@@ -175,6 +198,7 @@ in rec {
         modules = singleton ({ config, pkgs, ... }:
           { fileSystems."/".device  = mkDefault "/dev/sda1";
             boot.loader.grub.device = mkDefault "/dev/sda";
+            system.nixos.stateVersion = mkDefault "18.03";
           });
       }).config.system.build.toplevel;
       preferLocalBuild = true;
@@ -229,9 +253,9 @@ in rec {
   tests.boot-stage1 = callTest tests/boot-stage1.nix {};
   tests.borgbackup = callTest tests/borgbackup.nix {};
   tests.buildbot = callTest tests/buildbot.nix {};
-  tests.cadvisor = callTestOnTheseSystems ["x86_64-linux"] tests/cadvisor.nix {};
-  tests.ceph = callTestOnTheseSystems ["x86_64-linux"] tests/ceph.nix {};
-  tests.chromium = (callSubTestsOnTheseSystems ["x86_64-linux"] tests/chromium.nix {}).stable;
+  tests.cadvisor = callTestOnMatchingSystems ["x86_64-linux"] tests/cadvisor.nix {};
+  tests.ceph = callTestOnMatchingSystems ["x86_64-linux"] tests/ceph.nix {};
+  tests.chromium = (callSubTestsOnMatchingSystems ["x86_64-linux"] tests/chromium.nix {}).stable or {};
   tests.cjdns = callTest tests/cjdns.nix {};
   tests.cloud-init = callTest tests/cloud-init.nix {};
   tests.containers-ipv4 = callTest tests/containers-ipv4.nix {};
@@ -245,22 +269,25 @@ in rec {
   tests.containers-hosts = callTest tests/containers-hosts.nix {};
   tests.containers-macvlans = callTest tests/containers-macvlans.nix {};
   tests.couchdb = callTest tests/couchdb.nix {};
-  tests.docker = callTestOnTheseSystems ["x86_64-linux"] tests/docker.nix {};
-  tests.docker-tools = callTestOnTheseSystems ["x86_64-linux"] tests/docker-tools.nix {};
-  tests.docker-edge = callTestOnTheseSystems ["x86_64-linux"] tests/docker-edge.nix {};
+  tests.deluge = callTest tests/deluge.nix {};
+  tests.dhparams = callTest tests/dhparams.nix {};
+  tests.docker = callTestOnMatchingSystems ["x86_64-linux"] tests/docker.nix {};
+  tests.docker-tools = callTestOnMatchingSystems ["x86_64-linux"] tests/docker-tools.nix {};
+  tests.docker-tools-overlay = callTestOnMatchingSystems ["x86_64-linux"] tests/docker-tools-overlay.nix {};
+  tests.docker-edge = callTestOnMatchingSystems ["x86_64-linux"] tests/docker-edge.nix {};
   tests.dovecot = callTest tests/dovecot.nix {};
-  tests.dnscrypt-proxy = callTestOnTheseSystems ["x86_64-linux"] tests/dnscrypt-proxy.nix {};
+  tests.dnscrypt-proxy = callTestOnMatchingSystems ["x86_64-linux"] tests/dnscrypt-proxy.nix {};
   tests.ecryptfs = callTest tests/ecryptfs.nix {};
-  tests.etcd = callTestOnTheseSystems ["x86_64-linux"] tests/etcd.nix {};
-  tests.ec2-nixops = (callSubTestsOnTheseSystems ["x86_64-linux"] tests/ec2.nix {}).boot-ec2-nixops;
-  tests.ec2-config = (callSubTestsOnTheseSystems ["x86_64-linux"] tests/ec2.nix {}).boot-ec2-config;
-  tests.elk = callSubTestsOnTheseSystems ["x86_64-linux"] tests/elk.nix {};
+  tests.etcd = callTestOnMatchingSystems ["x86_64-linux"] tests/etcd.nix {};
+  tests.ec2-nixops = (callSubTestsOnMatchingSystems ["x86_64-linux"] tests/ec2.nix {}).boot-ec2-nixops or {};
+  tests.ec2-config = (callSubTestsOnMatchingSystems ["x86_64-linux"] tests/ec2.nix {}).boot-ec2-config or {};
+  tests.elk = callSubTestsOnMatchingSystems ["x86_64-linux"] tests/elk.nix {};
   tests.env = callTest tests/env.nix {};
   tests.ferm = callTest tests/ferm.nix {};
   tests.firefox = callTest tests/firefox.nix {};
   tests.firewall = callTest tests/firewall.nix {};
-  tests.fleet = callTestOnTheseSystems ["x86_64-linux"] tests/fleet.nix {};
   tests.fwupd = callTest tests/fwupd.nix {};
+  tests.gdk-pixbuf = callTest tests/gdk-pixbuf.nix {};
   #tests.gitlab = callTest tests/gitlab.nix {};
   tests.gitolite = callTest tests/gitolite.nix {};
   tests.gjs = callTest tests/gjs.nix {};
@@ -272,27 +299,30 @@ in rec {
   tests.graphite = callTest tests/graphite.nix {};
   tests.hardened = callTest tests/hardened.nix { };
   tests.hibernate = callTest tests/hibernate.nix {};
+  tests.hitch = callTest tests/hitch {};
   tests.home-assistant = callTest tests/home-assistant.nix { };
   tests.hound = callTest tests/hound.nix {};
   tests.hocker-fetchdocker = callTest tests/hocker-fetchdocker {};
   tests.i3wm = callTest tests/i3wm.nix {};
+  tests.iftop = callTest tests/iftop.nix {};
   tests.initrd-network-ssh = callTest tests/initrd-network-ssh {};
   tests.installer = callSubTests tests/installer.nix {};
   tests.influxdb = callTest tests/influxdb.nix {};
   tests.ipv6 = callTest tests/ipv6.nix {};
   tests.jenkins = callTest tests/jenkins.nix {};
+  tests.osquery = callTest tests/osquery.nix {};
   tests.plasma5 = callTest tests/plasma5.nix {};
   tests.plotinus = callTest tests/plotinus.nix {};
   tests.keymap = callSubTests tests/keymap.nix {};
   tests.initrdNetwork = callTest tests/initrd-network.nix {};
-  tests.kafka_0_9 = callTest tests/kafka_0_9.nix {};
-  tests.kafka_0_10 = callTest tests/kafka_0_10.nix {};
-  tests.kafka_0_11 = callTest tests/kafka_0_11.nix {};
-  tests.kafka_1_0 = callTest tests/kafka_1_0.nix {};
+  tests.kafka = callSubTests tests/kafka.nix {};
   tests.kernel-copperhead = callTest tests/kernel-copperhead.nix {};
   tests.kernel-latest = callTest tests/kernel-latest.nix {};
   tests.kernel-lts = callTest tests/kernel-lts.nix {};
-  tests.kubernetes = hydraJob (import tests/kubernetes/default.nix { system = "x86_64-linux"; });
+  tests.kubernetes.dns = callSubTestsOnMatchingSystems ["x86_64-linux"] tests/kubernetes/dns.nix {};
+  ## kubernetes.e2e should eventually replace kubernetes.rbac when it works
+  #tests.kubernetes.e2e = callSubTestsOnMatchingSystems ["x86_64-linux"] tests/kubernetes/e2e.nix {};
+  tests.kubernetes.rbac = callSubTestsOnMatchingSystems ["x86_64-linux"] tests/kubernetes/rbac.nix {};
   tests.latestKernel.login = callTest tests/login.nix { latestKernel = true; };
   tests.ldap = callTest tests/ldap.nix {};
   #tests.lightdm = callTest tests/lightdm.nix {};
@@ -322,14 +352,13 @@ in rec {
   tests.nginx = callTest tests/nginx.nix { };
   tests.nghttpx = callTest tests/nghttpx.nix { };
   tests.nix-ssh-serve = callTest tests/nix-ssh-serve.nix { };
-  tests.novacomd = callTestOnTheseSystems ["x86_64-linux"] tests/novacomd.nix { };
+  tests.novacomd = callTestOnMatchingSystems ["x86_64-linux"] tests/novacomd.nix { };
   tests.leaps = callTest tests/leaps.nix { };
   tests.nsd = callTest tests/nsd.nix {};
   tests.openssh = callTest tests/openssh.nix {};
   tests.openldap = callTest tests/openldap.nix {};
   tests.owncloud = callTest tests/owncloud.nix {};
   tests.pam-oath-login = callTest tests/pam-oath-login.nix {};
-  #tests.panamax = callTestOnTheseSystems ["x86_64-linux"] tests/panamax.nix {};
   tests.peerflix = callTest tests/peerflix.nix {};
   tests.php-pcre = callTest tests/php-pcre.nix {};
   tests.postgresql = callSubTests tests/postgresql.nix {};
@@ -340,8 +369,9 @@ in rec {
   tests.predictable-interface-names = callSubTests tests/predictable-interface-names.nix {};
   tests.printing = callTest tests/printing.nix {};
   tests.prometheus = callTest tests/prometheus.nix {};
+  tests.prosody = callTest tests/prosody.nix {};
   tests.proxy = callTest tests/proxy.nix {};
-  # tests.quagga = callTest tests/quagga.nix {};
+  tests.quagga = callTest tests/quagga.nix {};
   tests.quake3 = callTest tests/quake3.nix {};
   tests.rabbitmq = callTest tests/rabbitmq.nix {};
   tests.radicale = callTest tests/radicale.nix {};
@@ -355,15 +385,18 @@ in rec {
   tests.smokeping = callTest tests/smokeping.nix {};
   tests.snapper = callTest tests/snapper.nix {};
   tests.statsd = callTest tests/statsd.nix {};
+  tests.strongswan-swanctl = callTest tests/strongswan-swanctl.nix {};
   tests.sudo = callTest tests/sudo.nix {};
   tests.systemd = callTest tests/systemd.nix {};
   tests.switchTest = callTest tests/switch-test.nix {};
   tests.taskserver = callTest tests/taskserver.nix {};
   tests.tomcat = callTest tests/tomcat.nix {};
+  tests.transmission = callTest tests/transmission.nix {};
   tests.udisks2 = callTest tests/udisks2.nix {};
   tests.vault = callTest tests/vault.nix {};
-  tests.virtualbox = callSubTestsOnTheseSystems ["x86_64-linux"] tests/virtualbox.nix {};
+  tests.virtualbox = callSubTestsOnMatchingSystems ["x86_64-linux"] tests/virtualbox.nix {};
   tests.wordpress = callTest tests/wordpress.nix {};
+  tests.xautolock = callTest tests/xautolock.nix {};
   tests.xfce = callTest tests/xfce.nix {};
   tests.xmonad = callTest tests/xmonad.nix {};
   tests.xrdp = callTest tests/xrdp.nix {};
diff --git a/nixos/tests/acme.nix b/nixos/tests/acme.nix
index d7452744e17..21b0fedcfef 100644
--- a/nixos/tests/acme.nix
+++ b/nixos/tests/acme.nix
@@ -54,9 +54,11 @@ in import ./make-test.nix {
   };
 
   testScript = ''
+    $letsencrypt->waitForUnit("default.target");
     $letsencrypt->waitForUnit("boulder.service");
-    startAll;
+    $webserver->waitForUnit("default.target");
     $webserver->waitForUnit("acme-certificates.target");
+    $client->waitForUnit("default.target");
     $client->succeed('curl https://example.com/ | grep -qF "hello world"');
   '';
 }
diff --git a/nixos/tests/atd.nix b/nixos/tests/atd.nix
index c2c0a716e0d..5260c8ddfb8 100644
--- a/nixos/tests/atd.nix
+++ b/nixos/tests/atd.nix
@@ -17,20 +17,14 @@ import ./make-test.nix ({ pkgs, lib, ... }:
     startAll;
 
     $machine->fail("test -f ~root/at-1");
-    $machine->fail("test -f ~root/batch-1");
     $machine->fail("test -f ~alice/at-1");
-    $machine->fail("test -f ~alice/batch-1");
 
     $machine->succeed("echo 'touch ~root/at-1' | at now+1min");
-    $machine->succeed("echo 'touch ~root/batch-1' | batch");
     $machine->succeed("su - alice -c \"echo 'touch at-1' | at now+1min\"");
-    $machine->succeed("su - alice -c \"echo 'touch batch-1' | batch\"");
 
     $machine->succeed("sleep 1.5m");
 
     $machine->succeed("test -f ~root/at-1");
-    $machine->succeed("test -f ~root/batch-1");
     $machine->succeed("test -f ~alice/at-1");
-    $machine->succeed("test -f ~alice/batch-1");
   '';
 })
diff --git a/nixos/tests/borgbackup.nix b/nixos/tests/borgbackup.nix
index 123b02be725..36731773de2 100644
--- a/nixos/tests/borgbackup.nix
+++ b/nixos/tests/borgbackup.nix
@@ -1,21 +1,162 @@
-import ./make-test.nix ({ pkgs, ...}: {
+import ./make-test.nix ({ pkgs, ... }:
+
+let
+  passphrase = "supersecret";
+  dataDir = "/ran:dom/data";
+  excludeFile = "not_this_file";
+  keepFile = "important_file";
+  keepFileData = "important_data";
+  localRepo = "/root/back:up";
+  archiveName = "my_archive";
+  remoteRepo = "borg@server:."; # No need to specify path
+  privateKey = pkgs.writeText "id_ed25519" ''
+    -----BEGIN OPENSSH PRIVATE KEY-----
+    b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAAAMwAAAAtzc2gtZW
+    QyNTUxOQAAACBx8UB04Q6Q/fwDFjakHq904PYFzG9pU2TJ9KXpaPMcrwAAAJB+cF5HfnBe
+    RwAAAAtzc2gtZWQyNTUxOQAAACBx8UB04Q6Q/fwDFjakHq904PYFzG9pU2TJ9KXpaPMcrw
+    AAAEBN75NsJZSpt63faCuaD75Unko0JjlSDxMhYHAPJk2/xXHxQHThDpD9/AMWNqQer3Tg
+    9gXMb2lTZMn0pelo8xyvAAAADXJzY2h1ZXR6QGt1cnQ=
+    -----END OPENSSH PRIVATE KEY-----
+  '';
+  publicKey = ''
+    ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHHxQHThDpD9/AMWNqQer3Tg9gXMb2lTZMn0pelo8xyv root@client
+  '';
+  privateKeyAppendOnly = pkgs.writeText "id_ed25519" ''
+    -----BEGIN OPENSSH PRIVATE KEY-----
+    b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAAAMwAAAAtzc2gtZW
+    QyNTUxOQAAACBacZuz1ELGQdhI7PF6dGFafCDlvh8pSEc4cHjkW0QjLwAAAJC9YTxxvWE8
+    cQAAAAtzc2gtZWQyNTUxOQAAACBacZuz1ELGQdhI7PF6dGFafCDlvh8pSEc4cHjkW0QjLw
+    AAAEAAhV7wTl5dL/lz+PF/d4PnZXuG1Id6L/mFEiGT1tZsuFpxm7PUQsZB2Ejs8Xp0YVp8
+    IOW+HylIRzhweORbRCMvAAAADXJzY2h1ZXR6QGt1cnQ=
+    -----END OPENSSH PRIVATE KEY-----
+  '';
+  publicKeyAppendOnly = ''
+    ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFpxm7PUQsZB2Ejs8Xp0YVp8IOW+HylIRzhweORbRCMv root@client
+  '';
+
+in {
   name = "borgbackup";
-  meta = with pkgs.stdenv.lib.maintainers; {
-    maintainers = [ mic92 ];
+  meta = with pkgs.stdenv.lib; {
+    maintainers = with maintainers; [ dotlambda ];
   };
 
   nodes = {
-    machine = { config, pkgs, ... }: {
-      environment.systemPackages = [ pkgs.borgbackup ];
+    client = { config, pkgs, ... }: {
+      services.borgbackup.jobs = {
+        
+        local = rec {
+          paths = dataDir;
+          repo = localRepo;
+          preHook = ''
+            # Don't append a timestamp
+            archiveName="${archiveName}"
+          '';
+          encryption = {
+            mode = "repokey";
+            inherit passphrase;
+          };
+          compression = "auto,zlib,9";
+          prune.keep = {
+            within = "1y";
+            yearly = 5;
+          };
+          exclude = [ "*/${excludeFile}" ];
+          postHook = "echo post";
+          startAt = [ ]; # Do not run automatically
+        };
+
+        remote = {
+          paths = dataDir;
+          repo = remoteRepo;
+          encryption.mode = "none";
+          startAt = [ ];
+          environment.BORG_RSH = "ssh -oStrictHostKeyChecking=no -i /root/id_ed25519";
+        };
+
+        remoteAppendOnly = {
+          paths = dataDir;
+          repo = remoteRepo;
+          encryption.mode = "none";
+          startAt = [ ];
+          environment.BORG_RSH = "ssh -oStrictHostKeyChecking=no -i /root/id_ed25519.appendOnly";
+        };
+
+      };
+    };
+
+    server = { config, pkgs, ... }: {
+      services.openssh = {
+        enable = true;
+        passwordAuthentication = false;
+        challengeResponseAuthentication = false;
+      };
+
+      services.borgbackup.repos.repo1 = {
+        authorizedKeys = [ publicKey ];
+        path = "/data/borgbackup";
+      };
+
+      # Second repo to make sure the authorizedKeys options are merged correctly
+      services.borgbackup.repos.repo2 = {
+        authorizedKeysAppendOnly = [ publicKeyAppendOnly ];
+        path = "/data/borgbackup";
+        quota = ".5G";
+      };
     };
   };
 
   testScript = ''
-    my $borg = "BORG_PASSPHRASE=supersecret borg";
-    $machine->succeed("$borg init --encryption=repokey /tmp/backup");
-    $machine->succeed("mkdir /tmp/data/ && echo 'data' >/tmp/data/file");
-    $machine->succeed("$borg create --stats /tmp/backup::test /tmp/data");
-    $machine->succeed("$borg extract /tmp/backup::test");
-    $machine->succeed('c=$(cat data/file) && echo "c = $c" >&2 && [[ "$c" == "data" ]]');
+    startAll;
+
+    $client->fail('test -d "${remoteRepo}"');
+
+    $client->succeed("cp ${privateKey} /root/id_ed25519");
+    $client->succeed("chmod 0600 /root/id_ed25519");
+    $client->succeed("cp ${privateKeyAppendOnly} /root/id_ed25519.appendOnly");
+    $client->succeed("chmod 0600 /root/id_ed25519.appendOnly");
+
+    $client->succeed("mkdir -p ${dataDir}");
+    $client->succeed("touch ${dataDir}/${excludeFile}");
+    $client->succeed("echo '${keepFileData}' > ${dataDir}/${keepFile}");
+
+    subtest "local", sub {
+      my $borg = "BORG_PASSPHRASE='${passphrase}' borg";
+      $client->systemctl("start --wait borgbackup-job-local");
+      $client->fail("systemctl is-failed borgbackup-job-local");
+      # Make sure exactly one archive has been created
+      $client->succeed("c=\$($borg list '${localRepo}' | wc -l) && [[ \$c == '1' ]]");
+      # Make sure excludeFile has been excluded
+      $client->fail("$borg list '${localRepo}::${archiveName}' | grep -qF '${excludeFile}'");
+      # Make sure keepFile has the correct content
+      $client->succeed("$borg extract '${localRepo}::${archiveName}'");
+      $client->succeed('c=$(cat ${dataDir}/${keepFile}) && [[ "$c" == "${keepFileData}" ]]');
+    };
+
+    subtest "remote", sub {
+      my $borg = "BORG_RSH='ssh -oStrictHostKeyChecking=no -i /root/id_ed25519' borg";
+      $server->waitForUnit("sshd.service");
+      $client->waitForUnit("network.target");
+      $client->systemctl("start --wait borgbackup-job-remote");
+      $client->fail("systemctl is-failed borgbackup-job-remote");
+
+      # Make sure we can't access repos other than the specified one
+      $client->fail("$borg list borg\@server:wrong");
+
+      #TODO: Make sure that data is actually deleted
+    };
+
+    subtest "remoteAppendOnly", sub {
+      my $borg = "BORG_RSH='ssh -oStrictHostKeyChecking=no -i /root/id_ed25519.appendOnly' borg";
+      $server->waitForUnit("sshd.service");
+      $client->waitForUnit("network.target");
+      $client->systemctl("start --wait borgbackup-job-remoteAppendOnly");
+      $client->fail("systemctl is-failed borgbackup-job-remoteAppendOnly");
+
+      # Make sure we can't access repos other than the specified one
+      $client->fail("$borg list borg\@server:wrong");
+
+      #TODO: Make sure that data is not actually deleted
+    };
+
   '';
 })
diff --git a/nixos/tests/chromium.nix b/nixos/tests/chromium.nix
index 3a2c6516476..c341e83961a 100644
--- a/nixos/tests/chromium.nix
+++ b/nixos/tests/chromium.nix
@@ -94,6 +94,11 @@ mapAttrs (channel: chromiumPkg: makeTest rec {
           ''}");
           if ($status == 0) {
             $ret = 1;
+
+            # XXX: Somehow Chromium is not accepting keystrokes for a few
+            # seconds after a new window has appeared, so let's wait a while.
+            $machine->sleep(10);
+
             last;
           }
           $machine->sleep(1);
@@ -151,11 +156,11 @@ mapAttrs (channel: chromiumPkg: makeTest rec {
 
       $machine->screenshot("sandbox_info");
 
-      $machine->succeed(ru "${xdo "submit-url" ''
+      $machine->succeed(ru "${xdo "find-window" ''
         search --sync --onlyvisible --name "sandbox status"
         windowfocus --sync
       ''}");
-      $machine->succeed(ru "${xdo "submit-url" ''
+      $machine->succeed(ru "${xdo "copy-sandbox-info" ''
         key --delay 1000 Ctrl+a Ctrl+c
       ''}");
 
@@ -166,6 +171,26 @@ mapAttrs (channel: chromiumPkg: makeTest rec {
           && $clipboard =~ /network namespaces.*yes/mi
           && $clipboard =~ /seccomp.*sandbox.*yes/mi
           && $clipboard =~ /you are adequately sandboxed/mi;
+
+      $machine->sleep(1);
+      $machine->succeed(ru "${xdo "find-window-after-copy" ''
+        search --onlyvisible --name "sandbox status"
+      ''}");
+
+      my $clipboard = $machine->succeed(ru "echo void | ${pkgs.xclip}/bin/xclip -i");
+      $machine->succeed(ru "${xdo "copy-sandbox-info" ''
+        key --delay 1000 Ctrl+a Ctrl+c
+      ''}");
+
+      my $clipboard = $machine->succeed(ru "${pkgs.xclip}/bin/xclip -o");
+      die "copying twice in a row does not work properly: $clipboard"
+      unless $clipboard =~ /namespace sandbox.*yes/mi
+          && $clipboard =~ /pid namespaces.*yes/mi
+          && $clipboard =~ /network namespaces.*yes/mi
+          && $clipboard =~ /seccomp.*sandbox.*yes/mi
+          && $clipboard =~ /you are adequately sandboxed/mi;
+
+      $machine->screenshot("afer_copy_from_chromium");
     };
 
     $machine->shutdown;
diff --git a/nixos/tests/common/letsencrypt.nix b/nixos/tests/common/letsencrypt.nix
index 9b53d9d61a1..7c6b3b29e36 100644
--- a/nixos/tests/common/letsencrypt.nix
+++ b/nixos/tests/common/letsencrypt.nix
@@ -138,8 +138,8 @@ let
   boulder = let
     owner = "letsencrypt";
     repo = "boulder";
-    rev = "9866abab8962a591f06db457a4b84c518cc88243";
-    version = "20170510";
+    rev = "9c6a1f2adc4c26d925588f5ae366cfd4efb7813a";
+    version = "20180129";
 
   in pkgs.buildGoPackage rec {
     name = "${repo}-${version}";
@@ -147,7 +147,7 @@ let
     src = pkgs.fetchFromGitHub {
       name = "${name}-src";
       inherit rev owner repo;
-      sha256 = "170m5cjngbrm36wi7wschqw8jzs7kxpcyzmshq3pcrmcpigrhna1";
+      sha256 = "09kszswrifm9rc6idfaq0p1mz5w21as2qbc8gd5pphrq9cf9pn55";
     };
 
     postPatch = ''
@@ -168,6 +168,18 @@ let
       cat "${snakeOilCa}/ca.pem" > test/test-ca.pem
     '';
 
+    # Until vendored pkcs11 is go 1.9 compatible
+    preBuild = ''
+      rm -r go/src/github.com/letsencrypt/boulder/vendor/github.com/miekg/pkcs11
+    '';
+
+    extraSrcs = map mkGoDep [
+      { goPackagePath = "github.com/miekg/pkcs11";
+        rev           = "6dbd569b952ec150d1425722dbbe80f2c6193f83";
+        sha256        = "1m8g6fx7df6hf6q6zsbyw1icjmm52dmsx28rgb0h930wagvngfwb";
+      }
+    ];
+
     goPackagePath = "github.com/${owner}/${repo}";
     buildInputs = [ pkgs.libtool ];
   };
@@ -284,7 +296,11 @@ let
     ocsp-updater.after = [ "boulder-publisher" ];
     ocsp-responder.args = "--config ${cfgDir}/ocsp-responder.json";
     ct-test-srv = {};
-    mail-test-srv.args = "--closeFirst 5";
+    mail-test-srv.args = let
+      key = "${boulderSource}/test/mail-test-srv/minica-key.pem";
+      crt = "${boulderSource}/test/mail-test-srv/minica.pem";
+     in
+      "--closeFirst 5 --cert ${crt} --key ${key}";
   };
 
   commonPath = [ softhsm pkgs.mariadb goose boulder ];
@@ -370,6 +386,10 @@ in {
 
     services.nginx.enable = true;
     services.nginx.recommendedProxySettings = true;
+    # This fixes the test on i686
+    services.nginx.commonHttpConfig = ''
+      server_names_hash_bucket_size 64;
+    '';
     services.nginx.virtualHosts.${wfeDomain} = {
       onlySSL = true;
       enableACME = false;
diff --git a/nixos/tests/containers-imperative.nix b/nixos/tests/containers-imperative.nix
index 7e2a5497638..a548b17b1ff 100644
--- a/nixos/tests/containers-imperative.nix
+++ b/nixos/tests/containers-imperative.nix
@@ -15,12 +15,14 @@ import ./make-test.nix ({ pkgs, ...} : {
       # container available within the VM, because we don't have network access.
       virtualisation.pathsInNixDB = let
         emptyContainer = import ../lib/eval-config.nix {
-          inherit (config.nixpkgs) system;
+          inherit (config.nixpkgs.localSystem) system;
           modules = lib.singleton {
-            containers.foo.config = {};
+            containers.foo.config = {
+              system.nixos.stateVersion = "18.03";
+            };
           };
         };
-      in [ pkgs.stdenv emptyContainer.config.containers.foo.path ];
+      in [ pkgs.stdenv emptyContainer.config.containers.foo.path pkgs.libxslt ];
     };
 
   testScript =
diff --git a/nixos/tests/containers-ipv4.nix b/nixos/tests/containers-ipv4.nix
index 31d05990a67..821ce1cd07d 100644
--- a/nixos/tests/containers-ipv4.nix
+++ b/nixos/tests/containers-ipv4.nix
@@ -21,6 +21,7 @@ import ./make-test.nix ({ pkgs, ...} : {
               services.httpd.adminAddr = "foo@example.org";
               networking.firewall.allowedTCPPorts = [ 80 ];
               networking.firewall.allowPing = true;
+              system.nixos.stateVersion = "18.03";
             };
         };
 
diff --git a/nixos/tests/containers-physical_interfaces.nix b/nixos/tests/containers-physical_interfaces.nix
index bd1228b8e37..bde8e175f95 100644
--- a/nixos/tests/containers-physical_interfaces.nix
+++ b/nixos/tests/containers-physical_interfaces.nix
@@ -52,7 +52,7 @@ import ./make-test.nix ({ pkgs, ...} : {
         config = {
           networking.bonds.bond0 = {
             interfaces = [ "eth1" ];
-            mode = "active-backup";
+            driverOptions.mode = "active-backup";
           };
           networking.interfaces.bond0.ipv4.addresses = [
             { address = "10.10.0.3"; prefixLength = 24; }
@@ -73,7 +73,7 @@ import ./make-test.nix ({ pkgs, ...} : {
         config = {
           networking.bonds.bond0 = {
             interfaces = [ "eth1" ];
-            mode = "active-backup";
+            driverOptions.mode = "active-backup";
           };
           networking.bridges.br0.interfaces = [ "bond0" ];
           networking.interfaces.br0.ipv4.addresses = [
diff --git a/nixos/tests/containers-tmpfs.nix b/nixos/tests/containers-tmpfs.nix
index 564831fa273..873dd364369 100644
--- a/nixos/tests/containers-tmpfs.nix
+++ b/nixos/tests/containers-tmpfs.nix
@@ -1,7 +1,7 @@
 # Test for NixOS' container support.
 
 import ./make-test.nix ({ pkgs, ...} : {
-  name = "containers-bridge";
+  name = "containers-tmpfs";
   meta = with pkgs.stdenv.lib.maintainers; {
     maintainers = [ ckampka ];
   };
diff --git a/nixos/tests/deluge.nix b/nixos/tests/deluge.nix
new file mode 100644
index 00000000000..6119fd58447
--- /dev/null
+++ b/nixos/tests/deluge.nix
@@ -0,0 +1,29 @@
+import ./make-test.nix ({ pkgs, ...} : {
+  name = "deluge";
+  meta = with pkgs.stdenv.lib.maintainers; {
+    maintainers = [ flokli ];
+  };
+
+  nodes = {
+    server =
+      { pkgs, config, ... }:
+
+      { services.deluge = {
+          enable = true;
+          web.enable = true;
+        };
+        networking.firewall.allowedTCPPorts = [ 8112 ];
+      };
+
+    client = { };
+  };
+
+  testScript = ''
+    startAll;
+
+    $server->waitForUnit("deluged");
+    $server->waitForUnit("delugeweb");
+    $client->waitForUnit("network.target");
+    $client->waitUntilSucceeds("curl --fail http://server:8112");
+  '';
+})
diff --git a/nixos/tests/dhparams.nix b/nixos/tests/dhparams.nix
new file mode 100644
index 00000000000..d11dfeec5d0
--- /dev/null
+++ b/nixos/tests/dhparams.nix
@@ -0,0 +1,144 @@
+let
+  common = { pkgs, ... }: {
+    security.dhparams.enable = true;
+    environment.systemPackages = [ pkgs.openssl ];
+  };
+
+in import ./make-test.nix {
+  name = "dhparams";
+
+  nodes.generation1 = { pkgs, config, ... }: {
+    imports = [ common ];
+    security.dhparams.params = {
+      # Use low values here because we don't want the test to run for ages.
+      foo.bits = 16;
+      # Also use the old format to make sure the type is coerced in the right
+      # way.
+      bar = 17;
+    };
+
+    systemd.services.foo = {
+      description = "Check systemd Ordering";
+      wantedBy = [ "multi-user.target" ];
+      unitConfig = {
+        # This is to make sure that the dhparams generation of foo occurs
+        # before this service so we need this service to start as early as
+        # possible to provoke a race condition.
+        DefaultDependencies = false;
+
+        # We check later whether the service has been started or not.
+        ConditionPathExists = config.security.dhparams.params.foo.path;
+      };
+      serviceConfig.Type = "oneshot";
+      serviceConfig.RemainAfterExit = true;
+      # The reason we only provide an ExecStop here is to ensure that we don't
+      # accidentally trigger an error because a file system is not yet ready
+      # during very early startup (we might not even have the Nix store
+      # available, for example if future changes in NixOS use systemd mount
+      # units to do early file system initialisation).
+      serviceConfig.ExecStop = "${pkgs.coreutils}/bin/true";
+    };
+  };
+
+  nodes.generation2 = {
+    imports = [ common ];
+    security.dhparams.params.foo.bits = 18;
+  };
+
+  nodes.generation3 = common;
+
+  nodes.generation4 = {
+    imports = [ common ];
+    security.dhparams.stateful = false;
+    security.dhparams.params.foo2.bits = 18;
+    security.dhparams.params.bar2.bits = 19;
+  };
+
+  nodes.generation5 = {
+    imports = [ common ];
+    security.dhparams.defaultBitSize = 30;
+    security.dhparams.params.foo3 = {};
+    security.dhparams.params.bar3 = {};
+  };
+
+  testScript = { nodes, ... }: let
+    getParamPath = gen: name: let
+      node = "generation${toString gen}";
+    in nodes.${node}.config.security.dhparams.params.${name}.path;
+
+    assertParamBits = gen: name: bits: let
+      path = getParamPath gen name;
+    in ''
+      $machine->nest('check bit size of ${path}', sub {
+        my $out = $machine->succeed('openssl dhparam -in ${path} -text');
+        $out =~ /^\s*DH Parameters:\s+\((\d+)\s+bit\)\s*$/m;
+        die "bit size should be ${toString bits} but it is $1 instead."
+          if $1 != ${toString bits};
+      });
+    '';
+
+    switchToGeneration = gen: let
+      node = "generation${toString gen}";
+      inherit (nodes.${node}.config.system.build) toplevel;
+      switchCmd = "${toplevel}/bin/switch-to-configuration test";
+    in ''
+      $machine->nest('switch to generation ${toString gen}', sub {
+        $machine->succeed('${switchCmd}');
+        $main::machine = ''$${node};
+      });
+    '';
+
+  in ''
+    my $machine = $generation1;
+
+    $machine->waitForUnit('multi-user.target');
+
+    subtest "verify startup order", sub {
+      $machine->succeed('systemctl is-active foo.service');
+    };
+
+    subtest "check bit sizes of dhparam files", sub {
+      ${assertParamBits 1 "foo" 16}
+      ${assertParamBits 1 "bar" 17}
+    };
+
+    ${switchToGeneration 2}
+
+    subtest "check whether bit size has changed", sub {
+      ${assertParamBits 2 "foo" 18}
+    };
+
+    subtest "ensure that dhparams file for 'bar' was deleted", sub {
+      $machine->fail('test -e ${getParamPath 1 "bar"}');
+    };
+
+    ${switchToGeneration 3}
+
+    subtest "ensure that 'security.dhparams.path' has been deleted", sub {
+      $machine->fail(
+        'test -e ${nodes.generation3.config.security.dhparams.path}'
+      );
+    };
+
+    ${switchToGeneration 4}
+
+    subtest "check bit sizes dhparam files", sub {
+      ${assertParamBits 4 "foo2" 18}
+      ${assertParamBits 4 "bar2" 19}
+    };
+
+    subtest "check whether dhparam files are in the Nix store", sub {
+      $machine->succeed(
+        'expr match ${getParamPath 4 "foo2"} ${builtins.storeDir}',
+        'expr match ${getParamPath 4 "bar2"} ${builtins.storeDir}',
+      );
+    };
+
+    ${switchToGeneration 5}
+
+    subtest "check whether defaultBitSize works as intended", sub {
+      ${assertParamBits 5 "foo3" 30}
+      ${assertParamBits 5 "bar3" 30}
+    };
+  '';
+}
diff --git a/nixos/tests/docker-registry.nix b/nixos/tests/docker-registry.nix
index 109fca440e5..1fbd199c7bc 100644
--- a/nixos/tests/docker-registry.nix
+++ b/nixos/tests/docker-registry.nix
@@ -3,14 +3,16 @@
 import ./make-test.nix ({ pkgs, ...} : {
   name = "docker-registry";
   meta = with pkgs.stdenv.lib.maintainers; {
-    maintainers = [ globin ];
+    maintainers = [ globin ma27 ironpinguin ];
   };
 
   nodes = {
     registry = { config, pkgs, ... }: {
       services.dockerRegistry.enable = true;
+      services.dockerRegistry.enableDelete = true;
       services.dockerRegistry.port = 8080;
       services.dockerRegistry.listenAddress = "0.0.0.0";
+      services.dockerRegistry.enableGarbageCollect = true;
       networking.firewall.allowedTCPPorts = [ 8080 ];
     };
 
@@ -33,11 +35,29 @@ import ./make-test.nix ({ pkgs, ...} : {
 
     $registry->start();
     $registry->waitForUnit("docker-registry.service");
+    $registry->waitForOpenPort("8080");
     $client1->succeed("docker push registry:8080/scratch");
 
     $client2->start();
     $client2->waitForUnit("docker.service");
     $client2->succeed("docker pull registry:8080/scratch");
     $client2->succeed("docker images | grep scratch");
+
+    $client2->succeed(
+      'curl -fsS -X DELETE registry:8080/v2/scratch/manifests/$(curl -fsS -I -H"Accept: application/vnd.docker.distribution.manifest.v2+json" registry:8080/v2/scratch/manifests/latest | grep Docker-Content-Digest | sed -e \'s/Docker-Content-Digest: //\' | tr -d \'\r\')'
+    );
+
+    $registry->systemctl("start docker-registry-garbage-collect.service");
+    $registry->waitUntilFails("systemctl status docker-registry-garbage-collect.service");
+    $registry->waitForUnit("docker-registry.service");
+
+    $registry->fail(
+      'ls -l /var/lib/docker-registry/docker/registry/v2/blobs/sha256/*/*/data'
+    );
+
+    $client1->succeed("docker push registry:8080/scratch");
+    $registry->succeed(
+      'ls -l /var/lib/docker-registry/docker/registry/v2/blobs/sha256/*/*/data'
+    );
   '';
 })
diff --git a/nixos/tests/docker-tools-overlay.nix b/nixos/tests/docker-tools-overlay.nix
new file mode 100644
index 00000000000..9d7fa3e7a8c
--- /dev/null
+++ b/nixos/tests/docker-tools-overlay.nix
@@ -0,0 +1,32 @@
+# this test creates a simple GNU image with docker tools and sees if it executes
+
+import ./make-test.nix ({ pkgs, ... }:
+{
+  name = "docker-tools-overlay";
+  meta = with pkgs.stdenv.lib.maintainers; {
+    maintainers = [ lnl7 ];
+  };
+
+  nodes = {
+    docker =
+      { config, pkgs, ... }:
+      {
+        virtualisation.docker.enable = true;
+        virtualisation.docker.storageDriver = "overlay";  # defaults to overlay2
+      };
+  };
+
+  testScript =
+    ''
+      $docker->waitForUnit("sockets.target");
+
+      $docker->succeed("docker load --input='${pkgs.dockerTools.examples.bash}'");
+      $docker->succeed("docker run --rm ${pkgs.dockerTools.examples.bash.imageName} bash --version");
+
+      # Check if the nix store has correct user permissions depending on what
+      # storage driver is used, incorrectly built images can show up as readonly.
+      # drw-------  3 0 0   3 Apr 14 11:36 /nix
+      # drw------- 99 0 0 100 Apr 14 11:36 /nix/store
+      $docker->succeed("docker run --rm -u 1000:1000 ${pkgs.dockerTools.examples.bash.imageName} bash --version");
+    '';
+})
diff --git a/nixos/tests/docker-tools.nix b/nixos/tests/docker-tools.nix
index e52a4c3f884..4466081d01e 100644
--- a/nixos/tests/docker-tools.nix
+++ b/nixos/tests/docker-tools.nix
@@ -3,14 +3,14 @@
 import ./make-test.nix ({ pkgs, ... }: {
   name = "docker-tools";
   meta = with pkgs.stdenv.lib.maintainers; {
-    maintainers = [ ];
+    maintainers = [ lnl7 ];
   };
 
   nodes = {
     docker =
       { config, pkgs, ... }: {
         virtualisation = {
-          diskSize = 1024;
+          diskSize = 2048;
           docker.enable = true;
         };
       };
@@ -21,19 +21,29 @@ import ./make-test.nix ({ pkgs, ... }: {
       $docker->waitForUnit("sockets.target");
 
       $docker->succeed("docker load --input='${pkgs.dockerTools.examples.bash}'");
-      $docker->succeed("docker run ${pkgs.dockerTools.examples.bash.imageName} /bin/bash --version");
+      $docker->succeed("docker run --rm ${pkgs.dockerTools.examples.bash.imageName} bash --version");
+      $docker->succeed("docker rmi ${pkgs.dockerTools.examples.bash.imageName}");
 
+      # Check if the nix store is correctly initialized by listing dependencies of the installed Nix binary
       $docker->succeed("docker load --input='${pkgs.dockerTools.examples.nix}'");
-      $docker->succeed("docker run ${pkgs.dockerTools.examples.nix.imageName} /bin/nix-store -qR ${pkgs.nix}");
+      $docker->succeed("docker run --rm ${pkgs.dockerTools.examples.nix.imageName} nix-store -qR ${pkgs.nix}");
+      $docker->succeed("docker rmi ${pkgs.dockerTools.examples.nix.imageName}");
 
       # To test the pullImage tool
       $docker->succeed("docker load --input='${pkgs.dockerTools.examples.nixFromDockerHub}'");
-      $docker->succeed("docker run nixos/nix:1.11 nix-store --version");
+      $docker->succeed("docker run --rm nixos/nix:1.11 nix-store --version");
+      $docker->succeed("docker rmi nixos/nix:1.11");
 
       # To test runAsRoot and entry point
       $docker->succeed("docker load --input='${pkgs.dockerTools.examples.nginx}'");
       $docker->succeed("docker run --name nginx -d -p 8000:80 ${pkgs.dockerTools.examples.nginx.imageName}");
       $docker->waitUntilSucceeds('curl http://localhost:8000/');
       $docker->succeed("docker rm --force nginx");
+      $docker->succeed("docker rmi '${pkgs.dockerTools.examples.nginx.imageName}'");
+
+      # An pulled image can be used as base image
+      $docker->succeed("docker load --input='${pkgs.dockerTools.examples.onTopOfPulledImage}'");
+      $docker->succeed("docker run --rm ontopofpulledimage hello");
+      $docker->succeed("docker rmi ontopofpulledimage");
     '';
 })
diff --git a/nixos/tests/dovecot.nix b/nixos/tests/dovecot.nix
index 3814855ed8e..156079d1d58 100644
--- a/nixos/tests/dovecot.nix
+++ b/nixos/tests/dovecot.nix
@@ -18,6 +18,18 @@ import ./make-test.nix {
         MAIL
       '';
 
+      sendTestMailViaDeliveryAgent = pkgs.writeScriptBin "send-lda" ''
+        #!${pkgs.stdenv.shell}
+
+        exec ${pkgs.dovecot}/libexec/dovecot/deliver -d bob <<MAIL
+        From: root@localhost
+        To: bob@localhost
+        Subject: Something else...
+
+        I'm running short of ideas!
+        MAIL
+      '';
+
       testImap = pkgs.writeScriptBin "test-imap" ''
         #!${pkgs.python3.interpreter}
         import imaplib
@@ -39,24 +51,25 @@ import ./make-test.nix {
 
         pop = poplib.POP3('localhost')
         try:
-          pop.user('alice')
+          pop.user('bob')
           pop.pass_('foobar')
           assert len(pop.list()[1]) == 1
           status, fullmail, size = pop.retr(1)
           assert status.startswith(b'+OK ')
           body = b"".join(fullmail[fullmail.index(b""):]).strip()
-          assert body == b'Hello world!'
+          assert body == b"I'm running short of ideas!"
         finally:
           pop.quit()
       '';
 
-    in [ sendTestMail testImap testPop ];
+    in [ sendTestMail sendTestMailViaDeliveryAgent testImap testPop ];
   };
 
   testScript = ''
     $machine->waitForUnit('postfix.service');
     $machine->waitForUnit('dovecot2.service');
     $machine->succeed('send-testmail');
+    $machine->succeed('send-lda');
     $machine->waitUntilFails('[ "$(postqueue -p)" != "Mail queue is empty" ]');
     $machine->succeed('test-imap');
     $machine->succeed('test-pop');
diff --git a/nixos/tests/fleet.nix b/nixos/tests/fleet.nix
deleted file mode 100644
index 67c95446526..00000000000
--- a/nixos/tests/fleet.nix
+++ /dev/null
@@ -1,76 +0,0 @@
-import ./make-test.nix ({ pkgs, ...} : rec {
-  name = "simple";
-  meta = with pkgs.stdenv.lib.maintainers; {
-    maintainers = [ offline ];
-  };
-
-  nodes = {
-    node1 =
-      { config, pkgs, ... }:
-        {
-          services = {
-            etcd = {
-              enable = true;
-              listenPeerUrls = ["http://0.0.0.0:7001"];
-              initialAdvertisePeerUrls = ["http://node1:7001"];
-              initialCluster = ["node1=http://node1:7001" "node2=http://node2:7001"];
-            };
-         };
-
-          services.fleet = {
-            enable = true;
-            metadata.name = "node1";
-          };
-
-          networking.firewall.allowedTCPPorts = [ 7001 ];
-        };
-
-    node2 =
-      { config, pkgs, ... }:
-        {
-          services = {
-            etcd = {
-              enable = true;
-              listenPeerUrls = ["http://0.0.0.0:7001"];
-              initialAdvertisePeerUrls = ["http://node2:7001"];
-              initialCluster = ["node1=http://node1:7001" "node2=http://node2:7001"];
-            };
-           };
-
-          services.fleet = {
-            enable = true;
-            metadata.name = "node2";
-          };
-
-          networking.firewall.allowedTCPPorts = [ 7001 ];
-        };
-  };
-
-  service = builtins.toFile "hello.service" ''
-    [Unit]
-    Description=Hello World
-
-    [Service]
-    ExecStart=/bin/sh -c "while true; do echo \"Hello, world\"; /var/run/current-system/sw/bin/sleep 1; done"
-
-    [X-Fleet]
-    MachineMetadata=name=node2
-  '';
-
-  testScript =
-    ''
-      startAll;
-      $node1->waitForUnit("fleet.service");
-      $node2->waitForUnit("fleet.service");
-
-      $node2->waitUntilSucceeds("fleetctl list-machines | grep node1");
-      $node1->waitUntilSucceeds("fleetctl list-machines | grep node2");
-
-      $node1->succeed("cp ${service} hello.service && fleetctl submit hello.service");
-      $node1->succeed("fleetctl list-unit-files | grep hello");
-      $node1->succeed("fleetctl start hello.service");
-      $node1->waitUntilSucceeds("fleetctl list-units | grep running");
-      $node1->succeed("fleetctl stop hello.service");
-      $node1->succeed("fleetctl destroy hello.service");
-    '';
-})
diff --git a/nixos/tests/gdk-pixbuf.nix b/nixos/tests/gdk-pixbuf.nix
new file mode 100644
index 00000000000..b20f61b5ffe
--- /dev/null
+++ b/nixos/tests/gdk-pixbuf.nix
@@ -0,0 +1,19 @@
+# run installed tests
+import ./make-test.nix ({ pkgs, ... }: {
+  name = "gdk-pixbuf";
+
+  meta = {
+    maintainers = pkgs.gdk_pixbuf.meta.maintainers;
+  };
+
+  machine = { pkgs, ... }: {
+    environment.systemPackages = with pkgs; [ gnome-desktop-testing ];
+    environment.variables.XDG_DATA_DIRS = [ "${pkgs.gdk_pixbuf.installedTests}/share" ];
+
+    virtualisation.memorySize = 4096; # Tests allocate a lot of memory trying to exploit a CVE
+  };
+
+  testScript = ''
+    $machine->succeed("gnome-desktop-testing-runner");
+  '';
+})
diff --git a/nixos/tests/gnome3-gdm.nix b/nixos/tests/gnome3-gdm.nix
index 4b459e93e1b..71ae1709d52 100644
--- a/nixos/tests/gnome3-gdm.nix
+++ b/nixos/tests/gnome3-gdm.nix
@@ -26,15 +26,22 @@ import ./make-test.nix ({ pkgs, ...} : {
 
   testScript =
     ''
+      # wait for gdm to start and bring up X
+      $machine->waitForUnit("display-manager.service");
       $machine->waitForX;
-      $machine->sleep(15);
+
+      # wait for alice to be logged in
+      $machine->waitForUnit("default.target","alice");
 
       # Check that logging in has given the user ownership of devices.
       $machine->succeed("getfacl /dev/snd/timer | grep -q alice");
 
-      $machine->succeed("su - alice -c 'DISPLAY=:0.0 gnome-terminal &'");
-      $machine->succeed("xauth merge ~alice/.Xauthority");
+      # open a terminal and check it's there
+      $machine->succeed("su - alice -c 'DISPLAY=:0.0 XAUTHORITY=/run/user/\$UID/gdm/Xauthority gnome-terminal'");
+      $machine->succeed("xauth merge /run/user/1000/gdm/Xauthority");
       $machine->waitForWindow(qr/Terminal/);
+
+      # wait to get a nice screenshot
       $machine->sleep(20);
       $machine->screenshot("screen");
     '';
diff --git a/nixos/tests/grafana.nix b/nixos/tests/grafana.nix
index 16b8181498a..d45776c3ee2 100644
--- a/nixos/tests/grafana.nix
+++ b/nixos/tests/grafana.nix
@@ -20,6 +20,6 @@ import ./make-test.nix ({ lib, ... }:
     $machine->start;
     $machine->waitForUnit("grafana.service");
     $machine->waitForOpenPort(3000);
-    $machine->succeed("curl -sS http://127.0.0.1:3000/");
+    $machine->succeed("curl -sSfL http://127.0.0.1:3000/");
   '';
 })
diff --git a/nixos/tests/graphite.nix b/nixos/tests/graphite.nix
index a22ef224580..5a1f50bd29b 100644
--- a/nixos/tests/graphite.nix
+++ b/nixos/tests/graphite.nix
@@ -4,6 +4,7 @@ import ./make-test.nix ({ pkgs, ...} :
   nodes = {
     one =
       { config, pkgs, ... }: {
+        virtualisation.memorySize = 1024;
         time.timeZone = "UTC";
         services.graphite = {
           web.enable = true;
@@ -21,12 +22,17 @@ import ./make-test.nix ({ pkgs, ...} :
   testScript = ''
     startAll;
     $one->waitForUnit("default.target");
-    $one->requireActiveUnit("graphiteWeb.service");
-    $one->requireActiveUnit("graphiteApi.service");
-    $one->requireActiveUnit("graphitePager.service");
-    $one->requireActiveUnit("carbonCache.service");
-    $one->requireActiveUnit("seyren.service");
-    $one->succeed("echo \"foo 1 `date +%s`\" | nc -q0 localhost 2003");
-    $one->waitUntilSucceeds("curl 'http://localhost:8080/metrics/find/?query=foo&format=treejson' --silent | grep foo")
+    $one->waitForUnit("graphiteWeb.service");
+    $one->waitForUnit("graphiteApi.service");
+    $one->waitForUnit("graphitePager.service");
+    $one->waitForUnit("carbonCache.service");
+    $one->waitForUnit("seyren.service");
+    # The services above are of type "simple". systemd considers them active immediately
+    # even if they're still in preStart (which takes quite long for graphiteWeb).
+    # Wait for ports to open so we're sure the services are up and listening.
+    $one->waitForOpenPort(8080);
+    $one->waitForOpenPort(2003);
+    $one->succeed("echo \"foo 1 `date +%s`\" | nc -N localhost 2003");
+    $one->waitUntilSucceeds("curl 'http://localhost:8080/metrics/find/?query=foo&format=treejson' --silent | grep foo >&2");
   '';
 })
diff --git a/nixos/tests/hibernate.nix b/nixos/tests/hibernate.nix
index a95235887e8..3ae2bdffed9 100644
--- a/nixos/tests/hibernate.nix
+++ b/nixos/tests/hibernate.nix
@@ -37,7 +37,7 @@ import ./make-test.nix (pkgs: {
       $machine->waitForShutdown;
       $machine->start;
       $probe->waitForUnit("network.target");
-      $probe->waitUntilSucceeds("echo test | nc machine 4444 -q 0");
+      $probe->waitUntilSucceeds("echo test | nc machine 4444 -N");
     '';
 
 })
diff --git a/nixos/tests/hitch/default.nix b/nixos/tests/hitch/default.nix
new file mode 100644
index 00000000000..b024306cde5
--- /dev/null
+++ b/nixos/tests/hitch/default.nix
@@ -0,0 +1,33 @@
+import ../make-test.nix ({ pkgs, ... }:
+{
+  name = "hitch";
+  meta = with pkgs.stdenv.lib.maintainers; {
+    maintainers = [ jflanglois ];
+  };
+  machine = { config, pkgs, ... }: {
+    environment.systemPackages = [ pkgs.curl ];
+    services.hitch = {
+      enable = true;
+      backend = "[127.0.0.1]:80";
+      pem-files = [
+        ./example.pem
+      ];
+    };
+
+    services.httpd = {
+      enable = true;
+      documentRoot = ./example;
+      adminAddr = "noone@testing.nowhere";
+    };
+  };
+
+  testScript =
+    ''
+      startAll;
+
+      $machine->waitForUnit('multi-user.target');
+      $machine->waitForUnit('hitch.service');
+      $machine->waitForOpenPort(443);
+      $machine->succeed('curl -k https://localhost:443/index.txt | grep "We are all good!"');
+    '';
+})
diff --git a/nixos/tests/hitch/example.pem b/nixos/tests/hitch/example.pem
new file mode 100644
index 00000000000..fde6f3cbd19
--- /dev/null
+++ b/nixos/tests/hitch/example.pem
@@ -0,0 +1,53 @@
+-----BEGIN CERTIFICATE-----
+MIIEKTCCAxGgAwIBAgIJAIFAWQXSZ7lIMA0GCSqGSIb3DQEBCwUAMIGqMQswCQYD
+VQQGEwJVUzETMBEGA1UECAwKQ2FsaWZvcm5pYTEVMBMGA1UEBwwMUmVkd29vZCBD
+aXR5MRkwFwYDVQQKDBBUZXN0aW5nIDEyMyBJbmMuMRQwEgYDVQQLDAtJVCBTZXJ2
+aWNlczEYMBYGA1UEAwwPdGVzdGluZy5ub3doZXJlMSQwIgYJKoZIhvcNAQkBFhVu
+b29uZUB0ZXN0aW5nLm5vd2hlcmUwHhcNMTgwNDIzMDcxMTI5WhcNMTkwNDIzMDcx
+MTI5WjCBqjELMAkGA1UEBhMCVVMxEzARBgNVBAgMCkNhbGlmb3JuaWExFTATBgNV
+BAcMDFJlZHdvb2QgQ2l0eTEZMBcGA1UECgwQVGVzdGluZyAxMjMgSW5jLjEUMBIG
+A1UECwwLSVQgU2VydmljZXMxGDAWBgNVBAMMD3Rlc3Rpbmcubm93aGVyZTEkMCIG
+CSqGSIb3DQEJARYVbm9vbmVAdGVzdGluZy5ub3doZXJlMIIBIjANBgkqhkiG9w0B
+AQEFAAOCAQ8AMIIBCgKCAQEAxQq6AA9o/QErMbQwfgDF4mqXcvglRTwPr2zPE6Rv
+1g0ncRBSMM8iKbPapHM6qHNfg2e1fU2SFqzD6HkyZqHHLCgLzkdzswEcEjsMqiUP
+OR++5g4CWoQrdTi31itzYzCjnQ45BrAMrLEhBQgDTNwrEE+Tit0gpOGggtj/ktLk
+OD8BKa640lkmWEUGF18fd3rYTUC4hwM5qhAVXTe21vj9ZWsgprpQKdN61v0dCUap
+C5eAgvZ8Re+Cd0Id674hK4cJ4SekqfHKv/jLyIg3Vsdc9nkhmiC4O6KH5f1Zzq2i
+E4Kd5mnJDFxfSzIErKWmbhriLWsj3KEJ983AGLJ9hxQTAwIDAQABo1AwTjAdBgNV
+HQ4EFgQU76Mm6DP/BePJRQUNrJ9z038zjocwHwYDVR0jBBgwFoAU76Mm6DP/BePJ
+RQUNrJ9z038zjocwDAYDVR0TBAUwAwEB/zANBgkqhkiG9w0BAQsFAAOCAQEAAZzt
+VdPaUqrvDAh5rMYqzYMJ3tj6daNYoX6CbTFoevK5J5D4FESM0D/FMKgpNiVz39kB
+8Cjaw5rPHMHY61rHz7JRDK1sWXsonwzCF21BK7Tx0G1CIfLpYHWYb/FfdWGROx+O
+hPgKuoMRWQB+txozkZp5BqWJmk5MOyFCDEXhMOmrfsJq0IYU6QaH3Lsf1oJRy4yU
+afFrT9o3DLOyYLG/j/HXijCu8DVjZVa4aboum79ecYzPjjGF1posrFUnvQiuAeYy
+t7cuHNUB8gW9lWR5J7tP8fzFWtIcyT2oRL8u3H+fXf0i4bW73wtOBOoeULBzBNE7
+6rphcSrQunSZQIc+hg==
+-----END CERTIFICATE-----
+-----BEGIN PRIVATE KEY-----
+MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDFCroAD2j9ASsx
+tDB+AMXiapdy+CVFPA+vbM8TpG/WDSdxEFIwzyIps9qkczqoc1+DZ7V9TZIWrMPo
+eTJmoccsKAvOR3OzARwSOwyqJQ85H77mDgJahCt1OLfWK3NjMKOdDjkGsAyssSEF
+CANM3CsQT5OK3SCk4aCC2P+S0uQ4PwEprrjSWSZYRQYXXx93ethNQLiHAzmqEBVd
+N7bW+P1layCmulAp03rW/R0JRqkLl4CC9nxF74J3Qh3rviErhwnhJ6Sp8cq/+MvI
+iDdWx1z2eSGaILg7oofl/VnOraITgp3mackMXF9LMgSspaZuGuItayPcoQn3zcAY
+sn2HFBMDAgMBAAECggEAcaR8HijFHpab+PC5vxJnDuz3KEHiDQpU6ZJR5DxEnCm+
+A8GsBaaRR4gJpCspO5o/DiS0Ue55QUanPt8XqIXJv7fhBznCiw0qyYDxDviMzR94
+FGskBFySS+tIa+dnh1+4HY7kaO0Egl0udB5o+N1KoP+kUsSyXSYcUxsgW+fx5FW9
+22Ya3HNWnWxMCSfSGGlTFXGj2whf25SkL25dM9iblO4ZOx4MX8kaXij7TaYy8hMM
+Vf6/OMnXqtPKho+ctZZVKZkE9PxdS4f/pnp5EsdoOZwNBtfQ1WqVLWd3DlGWhnsH
+7L8ZSP2HkoI4Pd1wtkpOKZc+yM2bFXWa8WY4TcmpUQKBgQD33HxGdtmtZehrexSA
+/ZwWJlMslUsNz4Ivv6s7J4WCRhdh94+r9TWQP/yHdT9Ry5bvn84I5ZLUdp+aA962
+mvjz+GIglkCGpA7HU/hqurB1O63pj2cIDB8qhV21zjVIoqXcQ7IBJ+tqD79nF8vm
+h3KfuHUhuu1rayGepbtIyNhLdwKBgQDLgw4TJBg/QB8RzYECk78QnfZpCExsQA/z
+YJpc+dF2/nsid5R2u9jWzfmgHM2Jjo2/+ofRUaTqcFYU0K57CqmQkOLIzsbNQoYt
+e2NOANNVHiZLuzTZC2r3BrrkNbo3YvQzhAesUA5lS6LfrxBLUKiwo2LU9NlmJs3b
+UPVFYI0/1QKBgCswxIcS1sOcam+wNtZzWuuRKhUuvrFdY3YmlBPuwxj8Vb7AgMya
+IgdM3xhLmgkKzPZchm6OcpOLSCxyWDDBuHfq5E6BYCUWGW0qeLNAbNdA2wFD99Qz
+KIskSjwP/sD1dql3MmF5L1CABf5U6zb0i0jBv8ds50o8lNMsVgJM3UPpAoGBAL1+
+nzllb4pdi1CJWKnspoizfQCZsIdPM0r71V/jYY36MO+MBtpz2NlSWzAiAaQm74gl
+oBdgfT2qMg0Zro11BSRONEykdOolGkj5TiMQk7b65s+3VeMPRZ8UTis2d9kgs5/Q
+PVDODkl1nwfGu1ZVmW04BUujXVZHpYCkJm1eFMetAoGAImE7gWj+qRMhpbtCCGCg
+z06gDKvMrF6S+GJsvUoSyM8oUtfdPodI6gWAC65NfYkIiqbpCaEVNzfui73f5Lnz
+p5X1IbzhuH5UZs/k5A3OR2PPDbPs3lqEw7YJdBdLVRmO1o824uaXaJJwkL/1C+lq
+8dh1wV3CnynNmZApkz4vpzQ=
+-----END PRIVATE KEY-----
diff --git a/nixos/tests/hitch/example/index.txt b/nixos/tests/hitch/example/index.txt
new file mode 100644
index 00000000000..0478b1c2635
--- /dev/null
+++ b/nixos/tests/hitch/example/index.txt
@@ -0,0 +1 @@
+We are all good!
diff --git a/nixos/tests/home-assistant.nix b/nixos/tests/home-assistant.nix
index 2e45dc78471..3d920dccc16 100644
--- a/nixos/tests/home-assistant.nix
+++ b/nixos/tests/home-assistant.nix
@@ -51,9 +51,9 @@ in {
     startAll;
     $hass->waitForUnit("home-assistant.service");
 
-    # Since config is specified using a Nix attribute set,
-    # configuration.yaml is a link to the Nix store
-    $hass->succeed("test -L ${configDir}/configuration.yaml");
+    # The config is specified using a Nix attribute set,
+    # but then converted from JSON to YAML
+    $hass->succeed("test -f ${configDir}/configuration.yaml");
 
     # Check that Home Assistant's web interface and API can be reached
     $hass->waitForOpenPort(8123);
@@ -65,12 +65,12 @@ in {
     $hass->waitUntilSucceeds("mosquitto_pub -V mqttv311 -t home-assistant/test -u homeassistant -P '${apiPassword}' -m let_there_be_light");
     $hass->succeed("curl http://localhost:8123/api/states/binary_sensor.mqtt_binary_sensor -H 'x-ha-access: ${apiPassword}' | grep -qF '\"state\": \"on\"'");
 
-    # Check that no errors were logged
-    $hass->fail("cat ${configDir}/home-assistant.log | grep -qF ERROR");
-
     # Print log to ease debugging
     my $log = $hass->succeed("cat ${configDir}/home-assistant.log");
     print "\n### home-assistant.log ###\n";
     print "$log\n";
+
+    # Check that no errors were logged
+    $hass->fail("cat ${configDir}/home-assistant.log | grep -qF ERROR");
   '';
 })
diff --git a/nixos/tests/iftop.nix b/nixos/tests/iftop.nix
new file mode 100644
index 00000000000..21ff3cafed7
--- /dev/null
+++ b/nixos/tests/iftop.nix
@@ -0,0 +1,30 @@
+import ./make-test.nix ({ pkgs, lib, ... }:
+
+with lib;
+
+{
+  name = "iftop";
+  meta.maintainers = with pkgs.stdenv.lib.maintainers; [ ma27 ];
+
+  nodes = {
+    withIftop = {
+      imports = [ ./common/user-account.nix ];
+
+      programs.iftop.enable = true;
+    };
+    withoutIftop = {
+      imports = [ ./common/user-account.nix ];
+    };
+  };
+
+  testScript = ''
+    subtest "machine with iftop enabled", sub {
+      $withIftop->start;
+      $withIftop->succeed("su -l alice -c 'iftop -t -s 1'");
+    };
+    subtest "machine without iftop", sub {
+      $withoutIftop->start;
+      $withoutIftop->mustFail("su -l alice -c 'iftop -t -s 1'");
+    };
+  '';
+})
diff --git a/nixos/tests/installer.nix b/nixos/tests/installer.nix
index c12919540a3..acf248d0a5a 100644
--- a/nixos/tests/installer.nix
+++ b/nixos/tests/installer.nix
@@ -69,13 +69,20 @@ let
     let
       iface = if grubVersion == 1 then "ide" else "virtio";
       isEfi = bootLoader == "systemd-boot" || (bootLoader == "grub" && grubUseEfi);
+
+      # FIXME don't duplicate the -enable-kvm etc. flags here yet again!
       qemuFlags =
         (if system == "x86_64-linux" then "-m 768 " else "-m 512 ") +
-        (optionalString (system == "x86_64-linux") "-cpu kvm64 ");
+        (optionalString (system == "x86_64-linux") "-cpu kvm64 ") +
+        (optionalString (system == "aarch64-linux") "-enable-kvm -machine virt,gic-version=host -cpu host ");
+
       hdFlags = ''hda => "vm-state-machine/machine.qcow2", hdaInterface => "${iface}", ''
-        + optionalString isEfi ''bios => "${pkgs.OVMF.fd}/FV/OVMF.fd", '';
-    in
-    ''
+        + optionalString isEfi (if pkgs.stdenv.isAarch64
+            then ''bios => "${pkgs.OVMF.fd}/FV/QEMU_EFI.fd", ''
+            else ''bios => "${pkgs.OVMF.fd}/FV/OVMF.fd", '');
+    in if !isEfi && !(pkgs.stdenv.isi686 || pkgs.stdenv.isx86_64) then
+      throw "Non-EFI boot methods are only supported on i686 / x86_64"
+    else ''
       $machine->start;
 
       # Make sure that we get a login prompt etc.
diff --git a/nixos/tests/kafka.nix b/nixos/tests/kafka.nix
new file mode 100644
index 00000000000..6209b4b8e2b
--- /dev/null
+++ b/nixos/tests/kafka.nix
@@ -0,0 +1,68 @@
+{ system ? builtins.currentSystem }:
+with import ../lib/testing.nix { inherit system; };
+with pkgs.lib;
+
+let
+  makeKafkaTest = name: kafkaPackage: (makeTest {
+    inherit name;
+    meta = with pkgs.stdenv.lib.maintainers; {
+      maintainers = [ nequissimus ];
+    };
+
+    nodes = {
+      zookeeper1 = { config, ... }: {
+        services.zookeeper = {
+          enable = true;
+        };
+
+        networking.firewall.allowedTCPPorts = [ 2181 ];
+        virtualisation.memorySize = 1024;
+      };
+      kafka = { config, ... }: {
+        services.apache-kafka = {
+          enable = true;
+          extraProperties = ''
+            offsets.topic.replication.factor = 1
+            zookeeper.session.timeout.ms = 600000
+          '';
+          package = kafkaPackage;
+          zookeeper = "zookeeper1:2181";
+          # These are the default options, but UseCompressedOops doesn't work with 32bit JVM
+          jvmOptions = [
+            "-server" "-Xmx1G" "-Xms1G" "-XX:+UseParNewGC" "-XX:+UseConcMarkSweepGC" "-XX:+CMSClassUnloadingEnabled"
+            "-XX:+CMSScavengeBeforeRemark" "-XX:+DisableExplicitGC" "-Djava.awt.headless=true" "-Djava.net.preferIPv4Stack=true"
+          ] ++ optionals (! pkgs.stdenv.isi686 ) [ "-XX:+UseCompressedOops" ];
+        };
+
+        networking.firewall.allowedTCPPorts = [ 9092 ];
+        # i686 tests: qemu-system-i386 can simulate max 2047MB RAM (not 2048)
+        virtualisation.memorySize = 2047; 
+      };
+    };
+
+    testScript = ''
+      startAll;
+
+      $zookeeper1->waitForUnit("default.target");
+      $zookeeper1->waitForUnit("zookeeper.service");
+      $zookeeper1->waitForOpenPort(2181);
+
+      $kafka->waitForUnit("default.target");
+      $kafka->waitForUnit("apache-kafka.service");
+      $kafka->waitForOpenPort(9092);
+
+      $kafka->waitUntilSucceeds("${kafkaPackage}/bin/kafka-topics.sh --create --zookeeper zookeeper1:2181 --partitions 1 --replication-factor 1 --topic testtopic");
+      $kafka->mustSucceed("echo 'test 1' | ${kafkaPackage}/bin/kafka-console-producer.sh --broker-list localhost:9092 --topic testtopic");
+    '' + (if name == "kafka_0_9" then ''
+      $kafka->mustSucceed("${kafkaPackage}/bin/kafka-console-consumer.sh --zookeeper zookeeper1:2181 --topic testtopic --from-beginning --max-messages 1 | grep 'test 1'");
+    '' else ''
+      $kafka->mustSucceed("${kafkaPackage}/bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic testtopic --from-beginning --max-messages 1 | grep 'test 1'");
+    '');
+  });
+
+in with pkgs; {
+  kafka_0_9  = makeKafkaTest "kafka_0_9"  apacheKafka_0_9;
+  kafka_0_10 = makeKafkaTest "kafka_0_10" apacheKafka_0_10;
+  kafka_0_11 = makeKafkaTest "kafka_0_11" apacheKafka_0_11;
+  kafka_1_0  = makeKafkaTest "kafka_1_0"  apacheKafka_1_0;
+}
diff --git a/nixos/tests/kafka_0_10.nix b/nixos/tests/kafka_0_10.nix
deleted file mode 100644
index 6e7820f64bc..00000000000
--- a/nixos/tests/kafka_0_10.nix
+++ /dev/null
@@ -1,48 +0,0 @@
-import ./make-test.nix ({ pkgs, lib, ... } :
-let
-  kafkaPackage = pkgs.apacheKafka_0_10;
-in {
-  name = "kafka_0_10";
-  meta = with pkgs.stdenv.lib.maintainers; {
-    maintainers = [ nequissimus ];
-  };
-
-  nodes = {
-    zookeeper1 = { config, ... }: {
-      services.zookeeper = {
-        enable = true;
-      };
-
-      networking.firewall.allowedTCPPorts = [ 2181 ];
-    };
-    kafka = { config, ... }: {
-      services.apache-kafka = {
-        enable = true;
-        extraProperties = ''
-          offsets.topic.replication.factor = 1
-        '';
-        package = kafkaPackage;
-        zookeeper = "zookeeper1:2181";
-      };
-
-      networking.firewall.allowedTCPPorts = [ 9092 ];
-      virtualisation.memorySize = 2048;
-    };
-  };
-
-  testScript = ''
-    startAll;
-
-    $zookeeper1->waitForUnit("zookeeper");
-    $zookeeper1->waitForUnit("network.target");
-    $zookeeper1->waitForOpenPort(2181);
-
-    $kafka->waitForUnit("apache-kafka");
-    $kafka->waitForUnit("network.target");
-    $kafka->waitForOpenPort(9092);
-
-    $kafka->waitUntilSucceeds("${kafkaPackage}/bin/kafka-topics.sh --create --zookeeper zookeeper1:2181 --partitions 1 --replication-factor 1 --topic testtopic");
-    $kafka->mustSucceed("echo 'test 1' | ${kafkaPackage}/bin/kafka-console-producer.sh --broker-list localhost:9092 --topic testtopic");
-    $kafka->mustSucceed("${kafkaPackage}/bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic testtopic --from-beginning --max-messages 1 | grep 'test 1'");
-  '';
-})
diff --git a/nixos/tests/kafka_0_11.nix b/nixos/tests/kafka_0_11.nix
deleted file mode 100644
index 39f9c36bb22..00000000000
--- a/nixos/tests/kafka_0_11.nix
+++ /dev/null
@@ -1,48 +0,0 @@
-import ./make-test.nix ({ pkgs, lib, ... } :
-let
-  kafkaPackage = pkgs.apacheKafka_0_11;
-in {
-  name = "kafka_0_11";
-  meta = with pkgs.stdenv.lib.maintainers; {
-    maintainers = [ nequissimus ];
-  };
-
-  nodes = {
-    zookeeper1 = { config, ... }: {
-      services.zookeeper = {
-        enable = true;
-      };
-
-      networking.firewall.allowedTCPPorts = [ 2181 ];
-    };
-    kafka = { config, ... }: {
-      services.apache-kafka = {
-        enable = true;
-        extraProperties = ''
-          offsets.topic.replication.factor = 1
-        '';
-        package = kafkaPackage;
-        zookeeper = "zookeeper1:2181";
-      };
-
-      networking.firewall.allowedTCPPorts = [ 9092 ];
-      virtualisation.memorySize = 2048;
-    };
-  };
-
-  testScript = ''
-    startAll;
-
-    $zookeeper1->waitForUnit("zookeeper");
-    $zookeeper1->waitForUnit("network.target");
-    $zookeeper1->waitForOpenPort(2181);
-
-    $kafka->waitForUnit("apache-kafka");
-    $kafka->waitForUnit("network.target");
-    $kafka->waitForOpenPort(9092);
-
-    $kafka->waitUntilSucceeds("${kafkaPackage}/bin/kafka-topics.sh --create --zookeeper zookeeper1:2181 --partitions 1 --replication-factor 1 --topic testtopic");
-    $kafka->mustSucceed("echo 'test 1' | ${kafkaPackage}/bin/kafka-console-producer.sh --broker-list localhost:9092 --topic testtopic");
-    $kafka->mustSucceed("${kafkaPackage}/bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic testtopic --from-beginning --max-messages 1 | grep 'test 1'");
-  '';
-})
diff --git a/nixos/tests/kafka_0_9.nix b/nixos/tests/kafka_0_9.nix
deleted file mode 100644
index fee82aba2bd..00000000000
--- a/nixos/tests/kafka_0_9.nix
+++ /dev/null
@@ -1,48 +0,0 @@
-import ./make-test.nix ({ pkgs, lib, ... } :
-let
-  kafkaPackage = pkgs.apacheKafka_0_9;
-in {
-  name = "kafka_0_9";
-  meta = with pkgs.stdenv.lib.maintainers; {
-    maintainers = [ nequissimus ];
-  };
-
-  nodes = {
-    zookeeper1 = { config, ... }: {
-      services.zookeeper = {
-        enable = true;
-      };
-
-      networking.firewall.allowedTCPPorts = [ 2181 ];
-    };
-    kafka = { config, ... }: {
-      services.apache-kafka = {
-        enable = true;
-        extraProperties = ''
-          offsets.topic.replication.factor = 1
-        '';
-        package = kafkaPackage;
-        zookeeper = "zookeeper1:2181";
-      };
-
-      networking.firewall.allowedTCPPorts = [ 9092 ];
-      virtualisation.memorySize = 2048;
-    };
-  };
-
-  testScript = ''
-    startAll;
-
-    $zookeeper1->waitForUnit("zookeeper");
-    $zookeeper1->waitForUnit("network.target");
-    $zookeeper1->waitForOpenPort(2181);
-
-    $kafka->waitForUnit("apache-kafka");
-    $kafka->waitForUnit("network.target");
-    $kafka->waitForOpenPort(9092);
-
-    $kafka->waitUntilSucceeds("${kafkaPackage}/bin/kafka-topics.sh --create --zookeeper zookeeper1:2181 --partitions 1 --replication-factor 1 --topic testtopic");
-    $kafka->mustSucceed("echo 'test 1' | ${kafkaPackage}/bin/kafka-console-producer.sh --broker-list localhost:9092 --topic testtopic");
-    $kafka->mustSucceed("${kafkaPackage}/bin/kafka-console-consumer.sh --zookeeper zookeeper1:2181 --topic testtopic --from-beginning --max-messages 1 | grep 'test 1'");
-  '';
-})
diff --git a/nixos/tests/kafka_1_0.nix b/nixos/tests/kafka_1_0.nix
deleted file mode 100644
index 936840dbcfd..00000000000
--- a/nixos/tests/kafka_1_0.nix
+++ /dev/null
@@ -1,48 +0,0 @@
-import ./make-test.nix ({ pkgs, lib, ... } :
-let
-  kafkaPackage = pkgs.apacheKafka_1_0;
-in {
-  name = "kafka_1_0";
-  meta = with pkgs.stdenv.lib.maintainers; {
-    maintainers = [ nequissimus ];
-  };
-
-  nodes = {
-    zookeeper1 = { config, ... }: {
-      services.zookeeper = {
-        enable = true;
-      };
-
-      networking.firewall.allowedTCPPorts = [ 2181 ];
-    };
-    kafka = { config, ... }: {
-      services.apache-kafka = {
-        enable = true;
-        extraProperties = ''
-          offsets.topic.replication.factor = 1
-        '';
-        package = kafkaPackage;
-        zookeeper = "zookeeper1:2181";
-      };
-
-      networking.firewall.allowedTCPPorts = [ 9092 ];
-      virtualisation.memorySize = 2048;
-    };
-  };
-
-  testScript = ''
-    startAll;
-
-    $zookeeper1->waitForUnit("zookeeper");
-    $zookeeper1->waitForUnit("network.target");
-    $zookeeper1->waitForOpenPort(2181);
-
-    $kafka->waitForUnit("apache-kafka");
-    $kafka->waitForUnit("network.target");
-    $kafka->waitForOpenPort(9092);
-
-    $kafka->waitUntilSucceeds("${kafkaPackage}/bin/kafka-topics.sh --create --zookeeper zookeeper1:2181 --partitions 1 --replication-factor 1 --topic testtopic");
-    $kafka->mustSucceed("echo 'test 1' | ${kafkaPackage}/bin/kafka-console-producer.sh --broker-list localhost:9092 --topic testtopic");
-    $kafka->mustSucceed("${kafkaPackage}/bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic testtopic --from-beginning --max-messages 1 | grep 'test 1'");
-  '';
-})
diff --git a/nixos/tests/kernel-copperhead.nix b/nixos/tests/kernel-copperhead.nix
index 07427d7f2a8..aa133c9b0aa 100644
--- a/nixos/tests/kernel-copperhead.nix
+++ b/nixos/tests/kernel-copperhead.nix
@@ -6,14 +6,14 @@ import ./make-test.nix ({ pkgs, ...} : {
 
   machine = { config, lib, pkgs, ... }:
     {
-      boot.kernelPackages = pkgs.linuxPackages_hardened_copperhead;
+      boot.kernelPackages = pkgs.linuxPackages_copperhead_lts;
     };
 
   testScript =
     ''
       $machine->succeed("uname -a");
       $machine->succeed("uname -s | grep 'Linux'");
-      $machine->succeed("uname -a | grep '${pkgs.linuxPackages_hardened_copperhead.kernel.modDirVersion}'");
+      $machine->succeed("uname -a | grep '${pkgs.linuxPackages_copperhead_lts.kernel.modDirVersion}'");
       $machine->succeed("uname -a | grep 'hardened'");
     '';
 })
diff --git a/nixos/tests/keymap.nix b/nixos/tests/keymap.nix
index eec674e227d..be880388314 100644
--- a/nixos/tests/keymap.nix
+++ b/nixos/tests/keymap.nix
@@ -3,46 +3,36 @@
 with import ../lib/testing.nix { inherit system; };
 
 let
+  readyFile  = "/tmp/readerReady";
+  resultFile = "/tmp/readerResult";
+
   testReader = pkgs.writeScript "test-input-reader" ''
     #!${pkgs.stdenv.shell}
-    readInput() {
-      touch /tmp/reader.ready
-      echo "Waiting for '$1' to be typed"
-      read -r -n1 c
-      if [ "$c" = "$2" ]; then
-        echo "SUCCESS: Got back '$c' as expected."
-        echo 0 >&2
-      else
-        echo "FAIL: Expected '$2' but got '$c' instead."
-        echo 1 >&2
-      fi
-    }
-
-    main() {
-      error=0
-      while [ $# -gt 0 ]; do
-        ret="$((readInput "$2" "$3" | systemd-cat -t "$1") 2>&1)"
-        if [ $ret -ne 0 ]; then error=1; fi
-        shift 3
-      done
-      return $error
-    }
-
-    main "$@"; echo -n $? > /tmp/reader.exit
+    rm -f ${resultFile} ${resultFile}.tmp
+    logger "testReader: START: Waiting for $1 characters, expecting '$2'."
+    touch ${readyFile}
+    read -r -N $1 chars
+    rm -f ${readyFile}
+
+    if [ "$chars" == "$2" ]; then
+      logger -s "testReader: PASS: Got '$2' as expected." 2>${resultFile}.tmp
+    else
+      logger -s "testReader: FAIL: Expected '$2' but got '$chars'." 2>${resultFile}.tmp
+    fi
+    # rename after the file is written to prevent a race condition
+    mv  ${resultFile}.tmp ${resultFile}
   '';
 
-  mkReaderInput = testname: { qwerty, expect }: with pkgs.lib; let
-    lq = length qwerty;
-    le = length expect;
-    msg = "`qwerty' (${lq}) and `expect' (${le}) lists"
-        + " need to be of the same length!";
-    result = flatten (zipListsWith (a: b: [testname a b]) qwerty expect);
-  in if lq != le then throw msg else result;
 
   mkKeyboardTest = layout: { extraConfig ? {}, tests }: with pkgs.lib; let
-    readerInput = flatten (mapAttrsToList mkReaderInput tests);
+    combinedTests = foldAttrs (acc: val: acc ++ val) [] (builtins.attrValues tests);
     perlStr = val: "'${escape ["'" "\\"] val}'";
-    perlReaderInput = concatMapStringsSep ", " perlStr readerInput;
+    lq = length combinedTests.qwerty;
+    le = length combinedTests.expect;
+    msg = "length mismatch between qwerty (${toString lq}) and expect (${toString le}) lists!";
+    send   = concatMapStringsSep ", " perlStr combinedTests.qwerty;
+    expect = if (lq == le) then concatStrings combinedTests.expect else throw msg;
+
   in makeTest {
     name = "keymap-${layout}";
 
@@ -50,69 +40,40 @@ let
     machine.i18n.consoleKeyMap = mkOverride 900 layout;
     machine.services.xserver.layout = mkOverride 900 layout;
     machine.imports = [ ./common/x11.nix extraConfig ];
-    machine.services.xserver.displayManager.slim = {
-      enable = true;
-
-      # Use a custom theme in order to get best OCR results
-      theme = pkgs.runCommand "slim-theme-ocr" {
-        nativeBuildInputs = [ pkgs.imagemagick ];
-      } ''
-        mkdir "$out"
-        convert -size 1x1 xc:white "$out/background.jpg"
-        convert -size 200x100 xc:white "$out/panel.jpg"
-        cat > "$out/slim.theme" <<EOF
-        background_color #ffffff
-        background_style tile
-
-        input_fgcolor #000000
-        msg_color #000000
-
-        session_color #000000
-        session_font Verdana:size=16:bold
-
-        username_msg Username:
-        username_font Verdana:size=16:bold
-        username_color #000000
-        username_x 50%
-        username_y 40%
-
-        password_msg Password:
-        password_x 50%
-        password_y 40%
-        EOF
-      '';
-    };
 
     testScript = ''
-      sub waitCatAndDelete ($) {
-        return $machine->succeed(
-          "for i in \$(seq 600); do if [ -e '$_[0]' ]; then ".
-          "cat '$_[0]' && rm -f '$_[0]' && exit 0; ".
-          "fi; sleep 0.1; done; echo timed out after 60 seconds >&2; exit 1"
-        );
-      };
 
       sub mkTest ($$) {
         my ($desc, $cmd) = @_;
 
-        my @testdata = (${perlReaderInput});
-        my $shellTestdata = join ' ', map { "'".s/'/'\\'''/gr."'" } @testdata;
-
         subtest $desc, sub {
-          $machine->succeed("$cmd ${testReader} $shellTestdata &");
-          while (my ($testname, $qwerty, $expect) = splice(@testdata, 0, 3)) {
-            waitCatAndDelete "/tmp/reader.ready";
-            $machine->sendKeys($qwerty);
-          };
-          my $exitcode = waitCatAndDelete "/tmp/reader.exit";
-          die "tests for $desc failed" if $exitcode ne 0;
+          # prepare and start testReader
+          $machine->execute("rm -f ${readyFile} ${resultFile}");
+          $machine->succeed("$cmd ${testReader} ${toString le} ".q(${escapeShellArg expect} & ));
+
+          if ($desc eq "Xorg keymap") {
+            # make sure the xterm window is open and has focus
+            $machine->waitForWindow(qr/testterm/);
+            $machine->waitUntilSucceeds("${pkgs.xdotool}/bin/xdotool search --sync --onlyvisible --class testterm windowfocus --sync");
+          }
+
+          # wait for reader to be ready
+          $machine->waitForFile("${readyFile}");
+          $machine->sleep(1);
+
+          # send all keys
+          foreach ((${send})) { $machine->sendKeys($_); };
+
+          # wait for result and check
+          $machine->waitForFile("${resultFile}");
+          $machine->succeed("grep -q 'PASS:' ${resultFile}");
         };
-      }
+      };
 
       $machine->waitForX;
 
       mkTest "VT keymap", "openvt -sw --";
-      mkTest "Xorg keymap", "DISPLAY=:0 xterm -fullscreen -e";
+      mkTest "Xorg keymap", "DISPLAY=:0 xterm -title testterm -class testterm -fullscreen -e";
     '';
   };
 
diff --git a/nixos/tests/kubernetes/certs.nix b/nixos/tests/kubernetes/certs.nix
index d3eff910c46..520c728b65e 100644
--- a/nixos/tests/kubernetes/certs.nix
+++ b/nixos/tests/kubernetes/certs.nix
@@ -6,29 +6,62 @@
   kubelets
 }:
 let
-  runWithCFSSL = name: cmd:
-    builtins.fromJSON (builtins.readFile (
-      pkgs.runCommand "${name}-cfss.json" {
-        buildInputs = [ pkgs.cfssl ];
-      } "cfssl ${cmd} > $out"
-    ));
-
-  writeCFSSL = content:
-    pkgs.runCommand content.name {
-      buildInputs = [ pkgs.cfssl ];
-    } ''
-      mkdir -p $out
-      cd $out
-      cat ${writeFile content} | cfssljson -bare ${content.name}
-    '';
+   runWithCFSSL = name: cmd:
+     let secrets = pkgs.runCommand "${name}-cfss.json" {
+         buildInputs = [ pkgs.cfssl pkgs.jq ];
+         outputs = [ "out" "cert" "key" "csr" ];
+       }
+       ''
+         (
+           echo "${cmd}"
+           cfssl ${cmd} > tmp
+           cat tmp | jq -r .key > $key
+           cat tmp | jq -r .cert > $cert
+           cat tmp | jq -r .csr > $csr
+
+           touch $out
+         ) 2>&1 | fold -w 80 -s
+       '';
+     in {
+       key = secrets.key;
+       cert = secrets.cert;
+       csr = secrets.csr;
+     };
+
+   writeCFSSL = content:
+     pkgs.runCommand content.name {
+      buildInputs = [ pkgs.cfssl pkgs.jq ];
+     } ''
+       mkdir -p $out
+       cd $out
+
+       json=${pkgs.lib.escapeShellArg (builtins.toJSON content)}
+
+       # for a given $field in the $json, treat the associated value as a
+       # file path and substitute the contents thereof into the $json
+       # object.
+       expandFileField() {
+         local field=$1
+         if jq -e --arg field "$field" 'has($field)'; then
+           local path="$(echo "$json" | jq -r ".$field")"
+           json="$(echo "$json" | jq --arg val "$(cat "$path")" ".$field = \$val")"
+         fi
+       }
+
+       expandFileField key
+       expandFileField ca
+       expandFileField cert
+
+       echo "$json" | cfssljson -bare ${content.name}
+     '';
 
   noCSR = content: pkgs.lib.filterAttrs (n: v: n != "csr") content;
   noKey = content: pkgs.lib.filterAttrs (n: v: n != "key") content;
 
-  writeFile = content: pkgs.writeText "content" (
-    if pkgs.lib.isAttrs content then builtins.toJSON content
-    else toString content
-  );
+  writeFile = content:
+    if pkgs.lib.isDerivation content
+    then content
+    else pkgs.writeText "content" (builtins.toJSON content);
 
   createServingCertKey = { ca, cn, hosts? [], size ? 2048, name ? cn }:
     noCSR (
diff --git a/nixos/tests/kubernetes/e2e.nix b/nixos/tests/kubernetes/e2e.nix
index d9d7ba9bb2c..175d8413045 100644
--- a/nixos/tests/kubernetes/e2e.nix
+++ b/nixos/tests/kubernetes/e2e.nix
@@ -2,7 +2,7 @@
 with import ./base.nix { inherit system; };
 let
   domain = "my.zyx";
-  certs = import ./certs.nix { externalDomain = domain; };
+  certs = import ./certs.nix { externalDomain = domain; kubelets = ["machine1" "machine2"]; };
   kubeconfig = pkgs.writeText "kubeconfig.json" (builtins.toJSON {
     apiVersion = "v1";
     kind = "Config";
diff --git a/nixos/tests/kubernetes/rbac.nix b/nixos/tests/kubernetes/rbac.nix
index 1966fed3a5f..226808c4b26 100644
--- a/nixos/tests/kubernetes/rbac.nix
+++ b/nixos/tests/kubernetes/rbac.nix
@@ -12,7 +12,7 @@ let
   });
 
   roRoleBinding = pkgs.writeText "ro-role-binding.json" (builtins.toJSON {
-    apiVersion = "rbac.authorization.k8s.io/v1beta1";
+    apiVersion = "rbac.authorization.k8s.io/v1";
     kind = "RoleBinding";
     metadata = {
       name = "read-pods";
@@ -31,7 +31,7 @@ let
   });
 
   roRole = pkgs.writeText "ro-role.json" (builtins.toJSON {
-    apiVersion = "rbac.authorization.k8s.io/v1beta1";
+    apiVersion = "rbac.authorization.k8s.io/v1";
     kind = "Role";
     metadata = {
       name = "pod-reader";
diff --git a/nixos/tests/mesos.nix b/nixos/tests/mesos.nix
index 34671df047c..007d7ac2160 100644
--- a/nixos/tests/mesos.nix
+++ b/nixos/tests/mesos.nix
@@ -66,9 +66,11 @@ import ./make-test.nix ({ pkgs, ...} : rec {
   testScript =
     ''
       startAll;
+      $master->waitForUnit("zookeeper.service");
       $master->waitForUnit("mesos-master.service");
+      $slave->waitForUnit("docker.service");
       $slave->waitForUnit("mesos-slave.service");
-
+      $master->waitForOpenPort(2181);
       $master->waitForOpenPort(5050);
       $slave->waitForOpenPort(5051);
 
diff --git a/nixos/tests/misc.nix b/nixos/tests/misc.nix
index 4fd9466dc50..179c95e7643 100644
--- a/nixos/tests/misc.nix
+++ b/nixos/tests/misc.nix
@@ -96,7 +96,7 @@ import ./make-test.nix ({ pkgs, ...} : rec {
       $machine->succeed("systemctl start systemd-udev-settle.service");
       subtest "udev-auto-load", sub {
           $machine->waitForUnit('systemd-udev-settle.service');
-          $machine->succeed('lsmod | grep psmouse');
+          $machine->succeed('lsmod | grep mousedev');
       };
 
       # Test whether systemd-tmpfiles-clean works.
diff --git a/nixos/tests/mysql-backup.nix b/nixos/tests/mysql-backup.nix
index f5bcc460cba..ff365098883 100644
--- a/nixos/tests/mysql-backup.nix
+++ b/nixos/tests/mysql-backup.nix
@@ -23,17 +23,25 @@ import ./make-test.nix ({ pkgs, ... } : {
   testScript =
     '' startAll;
 
+       # Delete backup file that may be left over from a previous test run.
+       # This is not needed on Hydra but useful for repeated local test runs.
+       $master->execute("rm -f /var/backup/mysql/testdb.gz");
+
        # Need to have mysql started so that it can be populated with data.
        $master->waitForUnit("mysql.service");
 
-       # Wait for testdb to be populated.
-       $master->sleep(10);
+       # Wait for testdb to be fully populated (5 rows).
+       $master->waitUntilSucceeds("mysql -u root -D testdb -N -B -e 'select count(id) from tests' | grep -q 5");
 
-       # Do a backup and wait for it to finish.
+       # Do a backup and wait for it to start
        $master->startJob("mysql-backup.service");
        $master->waitForJob("mysql-backup.service");
 
-       # Check that data appears in backup
+       # wait for backup to fail, because of database 'doesnotexist'
+       $master->waitUntilFails("systemctl is-active -q mysql-backup.service");
+
+       # wait for backup file and check that data appears in backup
+       $master->waitForFile("/var/backup/mysql/testdb.gz");
        $master->succeed("${pkgs.gzip}/bin/zcat /var/backup/mysql/testdb.gz | grep hello");
 
        # Check that a failed backup is logged
diff --git a/nixos/tests/nsd.nix b/nixos/tests/nsd.nix
index ad4d4f82243..c3c91e71b5c 100644
--- a/nixos/tests/nsd.nix
+++ b/nixos/tests/nsd.nix
@@ -41,6 +41,7 @@ in import ./make-test.nix ({ pkgs, ...} : {
         { address = "dead:beef::1"; prefixLength = 64; }
       ];
       services.nsd.enable = true;
+      services.nsd.rootServer = true;
       services.nsd.interfaces = lib.mkForce [];
       services.nsd.zones."example.com.".data = ''
         @ SOA ns.example.com noc.example.com 666 7200 3600 1209600 3600
@@ -55,6 +56,11 @@ in import ./make-test.nix ({ pkgs, ...} : {
         @ A 9.8.7.6
         @ AAAA fedc::bbaa
       '';
+      services.nsd.zones.".".data = ''
+        @ SOA ns.example.com noc.example.com 666 7200 3600 1209600 3600
+        root A 1.8.7.4
+        root AAAA acbd::4
+      '';
     };
   };
 
@@ -86,6 +92,9 @@ in import ./make-test.nix ({ pkgs, ...} : {
 
         assertHost($_, "a", "deleg.example.com", qr/address 9.8.7.6$/);
         assertHost($_, "aaaa", "deleg.example.com", qr/address fedc::bbaa$/);
+
+        assertHost($_, "a", "root", qr/address 1.8.7.4$/);
+        assertHost($_, "aaaa", "root", qr/address acbd::4$/);
       };
     }
   '';
diff --git a/nixos/tests/openldap.nix b/nixos/tests/openldap.nix
index 1178701c609..1eaf87a8eaa 100644
--- a/nixos/tests/openldap.nix
+++ b/nixos/tests/openldap.nix
@@ -1,5 +1,5 @@
 import ./make-test.nix {
-  name = "dovecot";
+  name = "openldap";
 
   machine = { pkgs, ... }: {
     services.openldap = {
@@ -28,8 +28,8 @@ import ./make-test.nix {
   };
 
   testScript = ''
-    $machine->succeed('systemctl status openldap.service');
     $machine->waitForUnit('openldap.service');
+    $machine->succeed('systemctl status openldap.service');
     $machine->succeed('ldapsearch -LLL -D "cn=root,dc=example" -w notapassword -b "dc=example"');
   '';
 }
diff --git a/nixos/tests/osquery.nix b/nixos/tests/osquery.nix
new file mode 100644
index 00000000000..281dbcff664
--- /dev/null
+++ b/nixos/tests/osquery.nix
@@ -0,0 +1,28 @@
+import ./make-test.nix ({ pkgs, lib, ... }:
+
+with lib;
+
+{
+  name = "osquery";
+  meta = with pkgs.stdenv.lib.maintainers; {
+    maintainers = [ ma27 ];
+  };
+
+  machine = {
+    services.osquery.enable = true;
+    services.osquery.loggerPath = "/var/log/osquery/logs";
+    services.osquery.pidfile = "/var/run/osqueryd.pid";
+  };
+
+  testScript = ''
+    $machine->start;
+    $machine->waitForUnit("osqueryd.service");
+
+    $machine->succeed("echo 'SELECT address FROM etc_hosts LIMIT 1;' | osqueryi | grep '127.0.0.1'");
+    $machine->succeed(
+      "echo 'SELECT value FROM osquery_flags WHERE name = \"logger_path\";' | osqueryi | grep /var/log/osquery/logs"
+    );
+
+    $machine->succeed("echo 'SELECT value FROM osquery_flags WHERE name = \"pidfile\";' | osqueryi | grep /var/run/osqueryd.pid");
+  '';
+})
diff --git a/nixos/tests/panamax.nix b/nixos/tests/panamax.nix
deleted file mode 100644
index 088aa79f8c6..00000000000
--- a/nixos/tests/panamax.nix
+++ /dev/null
@@ -1,21 +0,0 @@
-import ./make-test.nix ({ pkgs, ...} : {
-  name = "panamax";
-  meta = with pkgs.stdenv.lib.maintainers; {
-    maintainers = [ offline ];
-  };
-
-  machine = { config, pkgs, ... }: {
-    services.panamax.enable = true;
-  };
-
-  testScript =
-    ''
-      startAll;
-      $machine->waitForUnit("panamax-api.service");
-      $machine->waitForUnit("panamax-ui.service");
-      $machine->waitForOpenPort(3000);
-      $machine->waitForOpenPort(8888);
-      $machine->succeed("curl --fail http://localhost:8888/ > /dev/null");
-      $machine->shutdown;
-    '';
-})
diff --git a/nixos/tests/plotinus.nix b/nixos/tests/plotinus.nix
index 557d65f7960..9058c59c92d 100644
--- a/nixos/tests/plotinus.nix
+++ b/nixos/tests/plotinus.nix
@@ -15,11 +15,11 @@ import ./make-test.nix ({ pkgs, ... }: {
   testScript =
     ''
       $machine->waitForX;
-      $machine->execute("xterm -e 'gnome-calculator' &");
-      $machine->waitForWindow(qr/Calculator/);
-      $machine->execute("xdotool key ctrl+shift+p");
-      $machine->sleep(1); # wait for the popup
-      $machine->execute("xdotool key p r e f e r e n c e s Return");
+      $machine->succeed("gnome-calculator &");
+      $machine->waitForWindow(qr/gnome-calculator/);
+      $machine->succeed("xdotool search --sync --onlyvisible --class gnome-calculator windowfocus --sync key ctrl+shift+p");
+      $machine->sleep(5); # wait for the popup
+      $machine->succeed("xdotool key --delay 100 p r e f e r e n c e s Return");
       $machine->waitForWindow(qr/Preferences/);
       $machine->screenshot("screen");
     '';
diff --git a/nixos/tests/predictable-interface-names.nix b/nixos/tests/predictable-interface-names.nix
index b4c2039923c..0b431034a7a 100644
--- a/nixos/tests/predictable-interface-names.nix
+++ b/nixos/tests/predictable-interface-names.nix
@@ -1,27 +1,24 @@
-{ system ? builtins.currentSystem
-, pkgs ? import ../.. { inherit system; }
-}:
-with import ../lib/testing.nix { inherit system; };
-let boolToString = x: if x then "yes" else "no"; in
-let testWhenSetTo = predictable: withNetworkd:
-makeTest {
-  name = "${if predictable then "" else "un"}predictableInterfaceNames${if withNetworkd then "-with-networkd" else ""}";
-  meta = {};
+{ system ? builtins.currentSystem }:
 
-  machine = { config, pkgs, ... }: {
-    networking.usePredictableInterfaceNames = pkgs.stdenv.lib.mkForce predictable;
-    networking.useNetworkd = withNetworkd;
-    networking.dhcpcd.enable = !withNetworkd;
-  };
+let
+  inherit (import ../lib/testing.nix { inherit system; }) makeTest pkgs;
+in pkgs.lib.listToAttrs (pkgs.lib.crossLists (predictable: withNetworkd: {
+  name = pkgs.lib.optionalString (!predictable) "un" + "predictable"
+       + pkgs.lib.optionalString withNetworkd "Networkd";
+  value = makeTest {
+    name = "${if predictable then "" else "un"}predictableInterfaceNames${if withNetworkd then "-with-networkd" else ""}";
+    meta = {};
+
+    machine = { config, lib, ... }: {
+      networking.usePredictableInterfaceNames = lib.mkForce predictable;
+      networking.useNetworkd = withNetworkd;
+      networking.dhcpcd.enable = !withNetworkd;
+    };
 
-  testScript = ''
-    print $machine->succeed("ip link");
-    $machine->succeed("ip link show ${if predictable then "ens3" else "eth0"}");
-    $machine->fail("ip link show ${if predictable then "eth0" else "ens3"}");
-  '';
-}; in
-with pkgs.stdenv.lib.lists;
-with pkgs.stdenv.lib.attrsets;
-listToAttrs (map (drv: nameValuePair drv.name drv) (
-crossLists testWhenSetTo [[true false] [true false]]
-))
+    testScript = ''
+      print $machine->succeed("ip link");
+      $machine->succeed("ip link show ${if predictable then "ens3" else "eth0"}");
+      $machine->fail("ip link show ${if predictable then "eth0" else "ens3"}");
+    '';
+  };
+}) [[true false] [true false]])
diff --git a/nixos/tests/printing.nix b/nixos/tests/printing.nix
index 2d3ecaf94cf..98900883061 100644
--- a/nixos/tests/printing.nix
+++ b/nixos/tests/printing.nix
@@ -39,7 +39,9 @@ import ./make-test.nix ({pkgs, ... }: {
       $client->waitForUnit("cups.service");
       $client->sleep(10); # wait until cups is fully initialized
       $client->succeed("lpstat -r") =~ /scheduler is running/ or die;
-      $client->succeed("lpstat -H") =~ "localhost:631" or die;
+      # Test that UNIX socket is used for connections.
+      $client->succeed("lpstat -H") =~ "/var/run/cups/cups.sock" or die;
+      # Test that HTTP server is available too.
       $client->succeed("curl --fail http://localhost:631/");
       $client->succeed("curl --fail http://server:631/");
       $server->fail("curl --fail --connect-timeout 2  http://client:631/");
diff --git a/nixos/tests/prosody.nix b/nixos/tests/prosody.nix
new file mode 100644
index 00000000000..fcebfaf74e1
--- /dev/null
+++ b/nixos/tests/prosody.nix
@@ -0,0 +1,75 @@
+import ./make-test.nix {
+  name = "prosody";
+
+  machine = { config, pkgs, ... }: {
+    services.prosody = {
+      enable = true;
+      # TODO: use a self-signed certificate
+      c2sRequireEncryption = false;
+    };
+    environment.systemPackages = let
+      sendMessage = pkgs.writeScriptBin "send-message" ''
+        #!/usr/bin/env python3
+        # Based on the sleekxmpp send_client example, look there for more details:
+        # https://github.com/fritzy/SleekXMPP/blob/develop/examples/send_client.py
+        import sleekxmpp
+
+        class SendMsgBot(sleekxmpp.ClientXMPP):
+            """
+            A basic SleekXMPP bot that will log in, send a message,
+            and then log out.
+            """
+            def __init__(self, jid, password, recipient, message):
+                sleekxmpp.ClientXMPP.__init__(self, jid, password)
+
+                self.recipient = recipient
+                self.msg = message
+
+                self.add_event_handler("session_start", self.start, threaded=True)
+
+            def start(self, event):
+                self.send_presence()
+                self.get_roster()
+
+                self.send_message(mto=self.recipient,
+                                  mbody=self.msg,
+                                  mtype='chat')
+
+                self.disconnect(wait=True)
+
+
+        if __name__ == '__main__':
+            xmpp = SendMsgBot("test1@localhost", "test1", "test2@localhost", "Hello World!")
+            xmpp.register_plugin('xep_0030') # Service Discovery
+            xmpp.register_plugin('xep_0199') # XMPP Ping
+
+            # TODO: verify certificate
+            # If you want to verify the SSL certificates offered by a server:
+            # xmpp.ca_certs = "path/to/ca/cert"
+
+            if xmpp.connect(('localhost', 5222)):
+                xmpp.process(block=True)
+            else:
+                print("Unable to connect.")
+                sys.exit(1)
+      '';
+    in [ (pkgs.python3.withPackages (ps: [ ps.sleekxmpp ])) sendMessage ];
+  };
+
+  testScript = ''
+    $machine->waitForUnit('prosody.service');
+    $machine->succeed('prosodyctl status') =~ /Prosody is running/;
+
+    # set password to 'test' (it's asked twice)
+    $machine->succeed('yes test1 | prosodyctl adduser test1@localhost');
+    # set password to 'y'
+    $machine->succeed('yes | prosodyctl adduser test2@localhost');
+    # correct password to 'test2'
+    $machine->succeed('yes test2 | prosodyctl passwd test2@localhost');
+
+    $machine->succeed("send-message");
+
+    $machine->succeed('prosodyctl deluser test1@localhost');
+    $machine->succeed('prosodyctl deluser test2@localhost');
+  '';
+}
diff --git a/nixos/tests/radicale.nix b/nixos/tests/radicale.nix
index 8ac0639c6a8..e3843038541 100644
--- a/nixos/tests/radicale.nix
+++ b/nixos/tests/radicale.nix
@@ -43,7 +43,7 @@ in
             });
           })
         ];
-        system.stateVersion = "17.03";
+        system.nixos.stateVersion = "17.03";
       };
       radicale1_export = lib.recursiveUpdate radicale1 {
         services.radicale.extraArgs = [
@@ -54,7 +54,7 @@ in
         services.radicale.extraArgs = [ "--verify-storage" ];
       };
       radicale2 = lib.recursiveUpdate (common args) {
-        system.stateVersion = "17.09";
+        system.nixos.stateVersion = "17.09";
       };
     };
 
diff --git a/nixos/tests/statsd.nix b/nixos/tests/statsd.nix
index a9d7dc61cb6..c71949249a4 100644
--- a/nixos/tests/statsd.nix
+++ b/nixos/tests/statsd.nix
@@ -35,6 +35,6 @@ with lib;
   testScript = ''
     $statsd1->start();
     $statsd1->waitForUnit("statsd.service");
-    $statsd1->succeed("nc -z 127.0.0.1 8126");
+    $statsd1->waitUntilSucceeds("nc -z 127.0.0.1 8126");
   '';
 })
diff --git a/nixos/tests/strongswan-swanctl.nix b/nixos/tests/strongswan-swanctl.nix
new file mode 100644
index 00000000000..021743021b4
--- /dev/null
+++ b/nixos/tests/strongswan-swanctl.nix
@@ -0,0 +1,148 @@
+# This strongswan-swanctl test is based on:
+# https://www.strongswan.org/testing/testresults/swanctl/rw-psk-ipv4/index.html
+# https://github.com/strongswan/strongswan/tree/master/testing/tests/swanctl/rw-psk-ipv4
+#
+# The roadwarrior carol sets up a connection to gateway moon. The authentication
+# is based on pre-shared keys and IPv4 addresses. Upon the successful
+# establishment of the IPsec tunnels, the specified updown script automatically
+# inserts iptables-based firewall rules that let pass the tunneled traffic. In
+# order to test both tunnel and firewall, carol pings the client alice behind
+# the gateway moon.
+#
+#     alice                       moon                        carol
+#      eth1------vlan_0------eth1        eth2------vlan_1------eth1
+#   192.168.0.1         192.168.0.3  192.168.1.3           192.168.1.2
+#
+# See the NixOS manual for how to run this test:
+# https://nixos.org/nixos/manual/index.html#sec-running-nixos-tests-interactively
+
+import ./make-test.nix ({ pkgs, ...} :
+
+let
+  allowESP = "iptables --insert INPUT --protocol ESP --jump ACCEPT";
+
+  # Shared VPN settings:
+  vlan0         = "192.168.0.0/24";
+  carolIp       = "192.168.1.2";
+  moonIp        = "192.168.1.3";
+  version       = 2;
+  secret        = "0sFpZAZqEN6Ti9sqt4ZP5EWcqx";
+  esp_proposals = [ "aes128gcm128-x25519" ];
+  proposals     = [ "aes128-sha256-x25519" ];
+in {
+  name = "strongswan-swanctl";
+  meta.maintainers = with pkgs.stdenv.lib.maintainers; [ basvandijk ];
+  nodes = {
+
+    alice = { nodes, ... } : {
+      virtualisation.vlans = [ 0 ];
+      networking = {
+        dhcpcd.enable = false;
+        defaultGateway = "192.168.0.3";
+      };
+    };
+
+    moon = {pkgs, config, nodes, ...} :
+      let strongswan = config.services.strongswan-swanctl.package;
+      in {
+        virtualisation.vlans = [ 0 1 ];
+        networking = {
+          dhcpcd.enable = false;
+          firewall = {
+            allowedUDPPorts = [ 4500 500 ];
+            extraCommands = allowESP;
+          };
+          nat = {
+            enable             = true;
+            internalIPs        = [ vlan0 ];
+            internalInterfaces = [ "eth1" ];
+            externalIP         = moonIp;
+            externalInterface  = "eth2";
+          };
+        };
+        environment.systemPackages = [ strongswan ];
+        services.strongswan-swanctl = {
+          enable = true;
+          swanctl = {
+            connections = {
+              "rw" = {
+                local_addrs = [ moonIp ];
+                local."main" = {
+                  auth = "psk";
+                };
+                remote."main" = {
+                  auth = "psk";
+                };
+                children = {
+                  "net" = {
+                    local_ts = [ vlan0 ];
+                    updown = "${strongswan}/libexec/ipsec/_updown iptables";
+                    inherit esp_proposals;
+                  };
+                };
+                inherit version;
+                inherit proposals;
+              };
+            };
+            secrets = {
+              ike."carol" = {
+                id."main" = carolIp;
+                inherit secret;
+              };
+            };
+          };
+        };
+      };
+
+    carol = {pkgs, config, nodes, ...} :
+      let strongswan = config.services.strongswan-swanctl.package;
+      in {
+        virtualisation.vlans = [ 1 ];
+        networking = {
+          dhcpcd.enable = false;
+          firewall.extraCommands = allowESP;
+        };
+        environment.systemPackages = [ strongswan ];
+        services.strongswan-swanctl = {
+          enable = true;
+          swanctl = {
+            connections = {
+              "home" = {
+                local_addrs = [ carolIp ];
+                remote_addrs = [ moonIp ];
+                local."main" = {
+                  auth = "psk";
+                  id = carolIp;
+                };
+                remote."main" = {
+                  auth = "psk";
+                  id = moonIp;
+                };
+                children = {
+                  "home" = {
+                    remote_ts = [ vlan0 ];
+                    start_action = "trap";
+                    updown = "${strongswan}/libexec/ipsec/_updown iptables";
+                    inherit esp_proposals;
+                  };
+                };
+                inherit version;
+                inherit proposals;
+              };
+            };
+            secrets = {
+              ike."moon" = {
+                id."main" = moonIp;
+                inherit secret;
+              };
+            };
+          };
+        };
+      };
+
+  };
+  testScript = ''
+    startAll();
+    $carol->waitUntilSucceeds("ping -c 1 alice");
+  '';
+})
diff --git a/nixos/tests/systemd.nix b/nixos/tests/systemd.nix
index 2df6f341c4e..65aa553b314 100644
--- a/nixos/tests/systemd.nix
+++ b/nixos/tests/systemd.nix
@@ -46,6 +46,8 @@ import ./make-test.nix {
 
   testScript = ''
     $machine->waitForX;
+    # wait for user services
+    $machine->waitForUnit("default.target","alice");
 
     # Regression test for https://github.com/NixOS/nixpkgs/issues/35415
     subtest "configuration files are recognized by systemd", sub {
diff --git a/nixos/tests/transmission.nix b/nixos/tests/transmission.nix
new file mode 100644
index 00000000000..34c49bd7f15
--- /dev/null
+++ b/nixos/tests/transmission.nix
@@ -0,0 +1,21 @@
+import ./make-test.nix ({ pkgs, ...} : {
+  name = "transmission";
+  meta = with pkgs.stdenv.lib.maintainers; {
+    maintainers = [ coconnor ];
+  };
+
+  machine = { config, pkgs, ... }: {
+    imports = [ ../modules/profiles/minimal.nix ];
+
+    networking.firewall.allowedTCPPorts = [ 9091 ];
+
+    services.transmission.enable = true;
+  };
+
+  testScript =
+    ''
+      startAll;
+      $machine->waitForUnit("transmission");
+      $machine->shutdown;
+    '';
+})
diff --git a/nixos/tests/udisks2.nix b/nixos/tests/udisks2.nix
index 72d51c0051c..70a999267a5 100644
--- a/nixos/tests/udisks2.nix
+++ b/nixos/tests/udisks2.nix
@@ -37,7 +37,8 @@ in
       $machine->fail("udisksctl info -b /dev/sda1");
 
       # Attach a USB stick and wait for it to show up.
-      $machine->sendMonitorCommand("usb_add disk:$stick");
+      $machine->sendMonitorCommand("drive_add 0 id=stick,if=none,file=$stick,format=raw");
+      $machine->sendMonitorCommand("device_add usb-storage,id=stick,drive=stick");
       $machine->waitUntilSucceeds("udisksctl info -b /dev/sda1");
       $machine->succeed("udisksctl info -b /dev/sda1 | grep 'IdLabel:.*USBSTICK'");
 
@@ -52,7 +53,7 @@ in
       $machine->fail("[ -d /run/media/alice/USBSTICK ]");
 
       # Remove the USB stick.
-      $machine->sendMonitorCommand("usb_del 0.3"); # FIXME
+      $machine->sendMonitorCommand("device_del stick");
       $machine->waitUntilFails("udisksctl info -b /dev/sda1");
       $machine->fail("[ -e /dev/sda ]");
     '';
diff --git a/nixos/tests/vault.nix b/nixos/tests/vault.nix
index 2c08d06f286..515d5c8bac2 100644
--- a/nixos/tests/vault.nix
+++ b/nixos/tests/vault.nix
@@ -17,7 +17,7 @@ import ./make-test.nix ({ pkgs, ... }:
       $machine->waitForUnit('multi-user.target');
       $machine->waitForUnit('vault.service');
       $machine->waitForOpenPort(8200);
-      $machine->succeed('vault init');
-      $machine->succeed('vault status | grep "Sealed: true"');
+      $machine->succeed('vault operator init');
+      $machine->succeed('vault status | grep Sealed | grep true');
     '';
 })
diff --git a/nixos/tests/virtualbox.nix b/nixos/tests/virtualbox.nix
index 5574293ba37..249571fcede 100644
--- a/nixos/tests/virtualbox.nix
+++ b/nixos/tests/virtualbox.nix
@@ -43,6 +43,9 @@ let
       "init=${pkgs.writeScript "mini-init.sh" miniInit}"
     ];
 
+    # XXX: Remove this once TSS location detection has been fixed in VirtualBox
+    boot.kernelPackages = pkgs.linuxPackages_4_9;
+
     fileSystems."/" = {
       device = "vboxshare";
       fsType = "vboxsf";
diff --git a/nixos/tests/xautolock.nix b/nixos/tests/xautolock.nix
new file mode 100644
index 00000000000..ee46d9e05b0
--- /dev/null
+++ b/nixos/tests/xautolock.nix
@@ -0,0 +1,24 @@
+import ./make-test.nix ({ pkgs, lib, ... }:
+
+with lib;
+
+{
+  name = "xautolock";
+  meta.maintainers = with pkgs.stdenv.lib.maintainers; [ ma27 ];
+
+  nodes.machine = {
+    imports = [ ./common/x11.nix ./common/user-account.nix ];
+
+    services.xserver.displayManager.auto.user = "bob";
+    services.xserver.xautolock.enable = true;
+    services.xserver.xautolock.time = 1;
+  };
+
+  testScript = ''
+    $machine->start;
+    $machine->waitForX;
+    $machine->mustFail("pgrep xlock");
+    $machine->sleep(120);
+    $machine->mustSucceed("pgrep xlock");
+  '';
+})
diff --git a/pkgs/applications/altcoins/bitcoin-abc.nix b/pkgs/applications/altcoins/bitcoin-abc.nix
index 011e3cd7c87..bd365e16730 100644
--- a/pkgs/applications/altcoins/bitcoin-abc.nix
+++ b/pkgs/applications/altcoins/bitcoin-abc.nix
@@ -7,13 +7,13 @@ with stdenv.lib;
 stdenv.mkDerivation rec {
 
   name = "bitcoin" + (toString (optional (!withGui) "d")) + "-abc-" + version;
-  version = "0.16.0";
+  version = "0.17.1";
 
   src = fetchFromGitHub {
     owner = "bitcoin-ABC";
     repo = "bitcoin-abc";
     rev = "v${version}";
-    sha256 = "0wwcgvd8zgl5qh6z1sa3kdv1lr9cwwbs9j2gaad5mqr9sfwbbxdh";
+    sha256 = "1kq9n3s9vhkmfaizsyi2cb91ibi06gb6wx0hkcb9hg3nrrvcka3y";
   };
 
   patches = [ ./fix-bitcoin-qt-build.patch ];
diff --git a/pkgs/applications/altcoins/bitcoin-classic.nix b/pkgs/applications/altcoins/bitcoin-classic.nix
index 9a2145d91cf..31c8ed6fc8d 100644
--- a/pkgs/applications/altcoins/bitcoin-classic.nix
+++ b/pkgs/applications/altcoins/bitcoin-classic.nix
@@ -7,13 +7,13 @@ with stdenv.lib;
 stdenv.mkDerivation rec {
 
   name = "bitcoin" + (toString (optional (!withGui) "d")) + "-classic-" + version;
-  version = "1.3.6";
+  version = "1.3.8";
 
   src = fetchFromGitHub {
     owner = "bitcoinclassic";
     repo = "bitcoinclassic";
     rev = "v${version}";
-    sha256 = "129gkg035gv7zmc463jl2spvdh0fl4q8v4jdaslfnp34hbwi1p07";
+    sha256 = "06ij9v7zbdnhxq9429nnxiw655cp8idldj18l7fmj94gqx07n5vh";
   };
 
   patches = [ ./fix-bitcoin-qt-build.patch ];
diff --git a/pkgs/applications/altcoins/bitcoin-unlimited-const-comparators.patch b/pkgs/applications/altcoins/bitcoin-unlimited-const-comparators.patch
new file mode 100644
index 00000000000..1b74a48a84a
--- /dev/null
+++ b/pkgs/applications/altcoins/bitcoin-unlimited-const-comparators.patch
@@ -0,0 +1,38 @@
+--- a/src/txmempool.h
++++ b/src/txmempool.h
+@@ -204,7 +204,7 @@
+ class CompareTxMemPoolEntryByDescendantScore
+ {
+ public:
+-    bool operator()(const CTxMemPoolEntry& a, const CTxMemPoolEntry& b)
++    bool operator()(const CTxMemPoolEntry& a, const CTxMemPoolEntry& b) const
+     {
+         bool fUseADescendants = UseDescendantScore(a);
+         bool fUseBDescendants = UseDescendantScore(b);
+@@ -226,7 +226,7 @@
+     }
+ 
+     // Calculate which score to use for an entry (avoiding division).
+-    bool UseDescendantScore(const CTxMemPoolEntry &a)
++    bool UseDescendantScore(const CTxMemPoolEntry &a) const
+     {
+         double f1 = (double)a.GetModifiedFee() * a.GetSizeWithDescendants();
+         double f2 = (double)a.GetModFeesWithDescendants() * a.GetTxSize();
+@@ -241,7 +241,7 @@
+ class CompareTxMemPoolEntryByScore
+ {
+ public:
+-    bool operator()(const CTxMemPoolEntry& a, const CTxMemPoolEntry& b)
++    bool operator()(const CTxMemPoolEntry& a, const CTxMemPoolEntry& b) const
+     {
+         double f1 = (double)a.GetModifiedFee() * b.GetTxSize();
+         double f2 = (double)b.GetModifiedFee() * a.GetTxSize();
+@@ -255,7 +255,7 @@
+ class CompareTxMemPoolEntryByEntryTime
+ {
+ public:
+-    bool operator()(const CTxMemPoolEntry& a, const CTxMemPoolEntry& b)
++    bool operator()(const CTxMemPoolEntry& a, const CTxMemPoolEntry& b) const
+     {
+         return a.GetTime() < b.GetTime();
+     }
diff --git a/pkgs/applications/altcoins/bitcoin-unlimited.nix b/pkgs/applications/altcoins/bitcoin-unlimited.nix
index 9eb1e54b909..5a67dc565aa 100644
--- a/pkgs/applications/altcoins/bitcoin-unlimited.nix
+++ b/pkgs/applications/altcoins/bitcoin-unlimited.nix
@@ -1,28 +1,35 @@
 { stdenv, fetchFromGitHub, pkgconfig, autoreconfHook, openssl, db48, boost
 , zlib, miniupnpc, qt4, utillinux, protobuf, qrencode, libevent
-, withGui }:
+, withGui
+, Foundation, ApplicationServices, AppKit }:
 
 with stdenv.lib;
 
 stdenv.mkDerivation rec {
 
   name = "bitcoin" + (toString (optional (!withGui) "d")) + "-unlimited-" + version;
-  version = "1.0.2.0";
+  version = "1.0.3.0";
 
   src = fetchFromGitHub {
     owner = "bitcoinunlimited";
     repo = "bitcoinunlimited";
     rev = "v${version}";
-    sha256 = "17cmyns1908s2rqs0zwr05f3541nqm2pg08n2xn97g2k3yimdg5q";
+    sha256 = "0l02a7h502msrp4c02wgm7f3159ap8l61k4890vas99gq7ywxkcx";
   };
 
   nativeBuildInputs = [ pkgconfig autoreconfHook ];
   buildInputs = [ openssl db48 boost zlib
                   miniupnpc utillinux protobuf libevent ]
-                  ++ optionals withGui [ qt4 qrencode ];
+                  ++ optionals withGui [ qt4 qrencode ]
+                  ++ optionals stdenv.isDarwin [ Foundation ApplicationServices AppKit ];
+
+  patches = [
+    ./bitcoin-unlimited-const-comparators.patch
+  ];
 
   configureFlags = [ "--with-boost-libdir=${boost.out}/lib" ]
                      ++ optionals withGui [ "--with-gui=qt4" ];
+  enableParallelBuilding = true;
 
   meta = {
     description = "Peer-to-peer electronic cash system (Unlimited client)";
@@ -31,7 +38,7 @@ stdenv.mkDerivation rec {
       completely decentralized, without the need for a central server or trusted
       parties. Users hold the crypto keys to their own money and transact directly
       with each other, with the help of a P2P network to check for double-spending.
-      
+
       The Bitcoin Unlimited (BU) project seeks to provide a voice to all
       stakeholders in the Bitcoin ecosystem.
 
@@ -50,7 +57,7 @@ stdenv.mkDerivation rec {
 
       If you support an increase in the blocksize limit by any means - or just
       support Bitcoin conflict resolution as originally envisioned by its founder -
-      consider running a Bitcoin Unlimited client.      
+      consider running a Bitcoin Unlimited client.
     '';
     homepage = https://www.bitcoinunlimited.info/;
     maintainers = with maintainers; [ DmitryTsygankov ];
diff --git a/pkgs/applications/altcoins/bitcoin-xt.nix b/pkgs/applications/altcoins/bitcoin-xt.nix
index 38867619804..feb2924f865 100644
--- a/pkgs/applications/altcoins/bitcoin-xt.nix
+++ b/pkgs/applications/altcoins/bitcoin-xt.nix
@@ -1,24 +1,26 @@
 { stdenv, fetchFromGitHub, pkgconfig, autoreconfHook, openssl, db48, boost
 , zlib, miniupnpc, qt4, utillinux, protobuf, qrencode, curl, libevent
-, withGui }:
+, withGui
+, Foundation, ApplicationServices, AppKit }:
 
 with stdenv.lib;
 stdenv.mkDerivation rec{
 
   name = "bitcoin" + (toString (optional (!withGui) "d")) + "-xt-" + version;
-  version = "0.11G2";
+  version = "0.11H";
 
   src = fetchFromGitHub {
     owner = "bitcoinxt";
     repo = "bitcoinxt";
     rev = "v${version}";
-    sha256 = "071rljvsabyc9j64v248qfb7zfqpfl84hpsnvlavin235zljq8qs";
+    sha256 = "1v43bynmidn2zdpky939km721x3ks91bzyh4200gji61qzsmyg62";
   };
 
   nativeBuildInputs = [ pkgconfig autoreconfHook ];
   buildInputs = [ openssl db48 boost zlib libevent
                   miniupnpc utillinux protobuf curl ]
-                  ++ optionals withGui [ qt4 qrencode ];
+                  ++ optionals withGui [ qt4 qrencode ]
+                  ++ optionals stdenv.isDarwin [ Foundation ApplicationServices AppKit ];
 
   configureFlags = [
     "--with-boost-libdir=${boost.out}/lib"
@@ -36,7 +38,7 @@ stdenv.mkDerivation rec{
       Bitcoin XT is an implementation of a Bitcoin full node, based upon the
       source code of Bitcoin Core. It is built by taking the latest stable
       Core release, applying a series of patches, and then doing deterministic
-      builds so anyone can check the downloads correspond to the source code. 
+      builds so anyone can check the downloads correspond to the source code.
     '';
     homepage = https://bitcoinxt.software/;
     maintainers = with maintainers; [ jefdaj ];
diff --git a/pkgs/applications/altcoins/bitcoin.nix b/pkgs/applications/altcoins/bitcoin.nix
index 0acd616eeaf..30bbcb2c839 100644
--- a/pkgs/applications/altcoins/bitcoin.nix
+++ b/pkgs/applications/altcoins/bitcoin.nix
@@ -25,6 +25,10 @@ stdenv.mkDerivation rec{
                                             "--with-qt-bindir=${qtbase.dev}/bin:${qttools.dev}/bin"
                                           ];
 
+  # Fails with "This application failed to start because it could not
+  # find or load the Qt platform plugin "minimal""
+  doCheck = false;
+
   meta = {
     description = "Peer-to-peer electronic cash system";
     longDescription= ''
diff --git a/pkgs/applications/altcoins/btc1.nix b/pkgs/applications/altcoins/btc1.nix
index 8ade6fb5251..95e03ee6a21 100644
--- a/pkgs/applications/altcoins/btc1.nix
+++ b/pkgs/applications/altcoins/btc1.nix
@@ -5,11 +5,11 @@
 with stdenv.lib;
 stdenv.mkDerivation rec{
   name = "bit1" + (toString (optional (!withGui) "d")) + "-" + version;
-  version = "1.14.5";
+  version = "1.15.1";
 
   src = fetchurl {
     url = "https://github.com/btc1/bitcoin/archive/v${version}.tar.gz";
-    sha256 = "1az6bbblh3adgcs16r9cjz8jacg6sbwfpg8zzfzkbp9h9j85ass5";
+    sha256 = "0v0g2wb4nsnhddxzb63vj2bc1mgyj05vqm5imicjfz8prvgc0si8";
   };
 
   nativeBuildInputs = [ pkgconfig autoreconfHook ];
diff --git a/pkgs/applications/altcoins/dcrd.nix b/pkgs/applications/altcoins/dcrd.nix
index 8a8c4a7f102..cc3e83befa6 100644
--- a/pkgs/applications/altcoins/dcrd.nix
+++ b/pkgs/applications/altcoins/dcrd.nix
@@ -29,5 +29,6 @@ buildGoPackage rec {
     homepage = "https://decred.org";
     description = "Decred daemon in Go (golang)";
     license = with lib.licenses; [ isc ];
+    broken = stdenv.isLinux; # 2018-04-10
   };
 }
diff --git a/pkgs/applications/altcoins/dcrwallet.nix b/pkgs/applications/altcoins/dcrwallet.nix
index aa6e8a0315e..8d966684b23 100644
--- a/pkgs/applications/altcoins/dcrwallet.nix
+++ b/pkgs/applications/altcoins/dcrwallet.nix
@@ -38,5 +38,6 @@ buildGoPackage rec {
     homepage = "https://decred.org";
     description = "Decred daemon in Go (golang)";
     license = with lib.licenses; [ isc ];
+    broken = stdenv.isLinux; # 2018-04-10
   };
 }
diff --git a/pkgs/applications/altcoins/default.nix b/pkgs/applications/altcoins/default.nix
index a4caf8d4ef5..9915e0a301a 100644
--- a/pkgs/applications/altcoins/default.nix
+++ b/pkgs/applications/altcoins/default.nix
@@ -1,4 +1,4 @@
-{ callPackage, boost155, openssl_1_1_0, haskellPackages, darwin, libsForQt5, miniupnpc_2, python3 }:
+{ callPackage, boost155, boost165, openssl_1_1_0, haskellPackages, darwin, libsForQt5, miniupnpc_2, python3 }:
 
 rec {
 
@@ -7,20 +7,32 @@ rec {
   bitcoin  = libsForQt5.callPackage ./bitcoin.nix { miniupnpc = miniupnpc_2; withGui = true; };
   bitcoind = callPackage ./bitcoin.nix { miniupnpc = miniupnpc_2; withGui = false; };
 
-  bitcoin-abc  = libsForQt5.callPackage ./bitcoin-abc.nix { withGui = true; };
-  bitcoind-abc = callPackage ./bitcoin-abc.nix { withGui = false; };
+  bitcoin-abc  = libsForQt5.callPackage ./bitcoin-abc.nix { boost = boost165; withGui = true; };
+  bitcoind-abc = callPackage ./bitcoin-abc.nix { boost = boost165; withGui = false; };
 
-  bitcoin-unlimited  = callPackage ./bitcoin-unlimited.nix { withGui = true; };
-  bitcoind-unlimited = callPackage ./bitcoin-unlimited.nix { withGui = false; };
+  bitcoin-unlimited  = callPackage ./bitcoin-unlimited.nix {
+    inherit (darwin.apple_sdk.frameworks) Foundation ApplicationServices AppKit;
+    withGui = true;
+  };
+  bitcoind-unlimited = callPackage ./bitcoin-unlimited.nix {
+    inherit (darwin.apple_sdk.frameworks) Foundation ApplicationServices AppKit;
+    withGui = false;
+  };
 
-  bitcoin-classic  = libsForQt5.callPackage ./bitcoin-classic.nix { withGui = true; };
-  bitcoind-classic = callPackage ./bitcoin-classic.nix { withGui = false; };
+  bitcoin-classic  = libsForQt5.callPackage ./bitcoin-classic.nix { boost = boost165; withGui = true; };
+  bitcoind-classic = callPackage ./bitcoin-classic.nix { boost = boost165; withGui = false; };
 
-  bitcoin-xt  = callPackage ./bitcoin-xt.nix { withGui = true; };
-  bitcoind-xt = callPackage ./bitcoin-xt.nix { withGui = false; };
+  bitcoin-xt  = callPackage ./bitcoin-xt.nix {
+    inherit (darwin.apple_sdk.frameworks) Foundation ApplicationServices AppKit;
+    boost = boost165; withGui = true;
+  };
+  bitcoind-xt = callPackage ./bitcoin-xt.nix {
+    inherit (darwin.apple_sdk.frameworks) Foundation ApplicationServices AppKit;
+    boost = boost165; withGui = false;
+  };
 
-  btc1 = callPackage ./btc1.nix { withGui = true; };
-  btc1d = callPackage ./btc1.nix { withGui = false; };
+  btc1 = callPackage ./btc1.nix { boost = boost165; withGui = true; };
+  btc1d = callPackage ./btc1.nix { boost = boost165; withGui = false; };
 
   cryptop = python3.pkgs.callPackage ./cryptop { };
 
@@ -31,8 +43,8 @@ rec {
 
   dero = callPackage ./dero.nix { };
 
-  dogecoin  = callPackage ./dogecoin.nix { withGui = true; };
-  dogecoind = callPackage ./dogecoin.nix { withGui = false; };
+  dogecoin  = callPackage ./dogecoin.nix { boost = boost165; withGui = true; };
+  dogecoind = callPackage ./dogecoin.nix { boost = boost165; withGui = false; };
 
   ethsign = callPackage ./ethsign { };
 
@@ -46,8 +58,12 @@ rec {
   litecoin  = callPackage ./litecoin.nix { withGui = true; };
   litecoind = callPackage ./litecoin.nix { withGui = false; };
 
-  memorycoin  = callPackage ./memorycoin.nix { withGui = true; };
-  memorycoind = callPackage ./memorycoin.nix { withGui = false; };
+  masari = callPackage ./masari.nix { };
+
+  memorycoin  = callPackage ./memorycoin.nix { boost = boost165; withGui = true; };
+  memorycoind = callPackage ./memorycoin.nix { boost = boost165; withGui = false; };
+
+  mist = callPackage ./mist.nix { };
 
   namecoin  = callPackage ./namecoin.nix  { withGui = true; };
   namecoind = callPackage ./namecoin.nix { withGui = false; };
@@ -67,4 +83,10 @@ rec {
     withGui = false;
     openssl = openssl_1_1_0;
   };
+
+  parity = callPackage ./parity { };
+  parity-beta = callPackage ./parity/beta.nix { };
+  parity-ui = callPackage ./parity-ui { };
+
+  particl-core = callPackage ./particl/particl-core.nix { boost = boost165; miniupnpc = miniupnpc_2; withGui = false; };
 }
diff --git a/pkgs/applications/altcoins/ethsign/default.nix b/pkgs/applications/altcoins/ethsign/default.nix
index b7d14a43921..0659c4fa258 100644
--- a/pkgs/applications/altcoins/ethsign/default.nix
+++ b/pkgs/applications/altcoins/ethsign/default.nix
@@ -52,7 +52,7 @@ buildGoPackage rec {
   ];
 
   meta = with stdenv.lib; {
-    homepage = http://github.com/dapphub/ethsign;
+    homepage = https://github.com/dapphub/ethsign;
     description = "Make raw signed Ethereum transactions";
     license = [licenses.gpl3];
   };
diff --git a/pkgs/applications/altcoins/freicoin.nix b/pkgs/applications/altcoins/freicoin.nix
index a44dbbd62ce..b753e2d48c9 100644
--- a/pkgs/applications/altcoins/freicoin.nix
+++ b/pkgs/applications/altcoins/freicoin.nix
@@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
     owner = "freicoin";
     repo = "freicoin";
     rev = "v${version}";
-    sha256 = "1m5pcnfhwhcj7q00p2sy3h73rkdm3w6grmljgiq53gshcj08cq1z";
+    sha256 = "1v1qwv4x5agjba82s1vknmdgq67y26wzdwbmwwqavv7f7y3y860h";
   };
 
   qmakeFlags = ["USE_UPNP=-"];
diff --git a/pkgs/applications/altcoins/go-ethereum.nix b/pkgs/applications/altcoins/go-ethereum.nix
index 18a9d043e18..a47b7fa3168 100644
--- a/pkgs/applications/altcoins/go-ethereum.nix
+++ b/pkgs/applications/altcoins/go-ethereum.nix
@@ -2,7 +2,7 @@
 
 buildGoPackage rec {
   name = "go-ethereum-${version}";
-  version = "1.8.1";
+  version = "1.8.6";
   goPackagePath = "github.com/ethereum/go-ethereum";
 
   # Fix for usb-related segmentation faults on darwin
@@ -27,7 +27,7 @@ buildGoPackage rec {
     owner = "ethereum";
     repo = "go-ethereum";
     rev = "v${version}";
-    sha256 = "0k7ly9cw68ranksa1fdn7v2lncmlqgabw3qiiyqya2xz3s4aazlf";
+    sha256 = "1n6f34r7zlc64l1q8xzcjk5sljdznjwp81d9naapprhpqb8g01gl";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/altcoins/hevm.nix b/pkgs/applications/altcoins/hevm.nix
index 51e5f6bcb29..1aa598f3254 100644
--- a/pkgs/applications/altcoins/hevm.nix
+++ b/pkgs/applications/altcoins/hevm.nix
@@ -55,6 +55,7 @@ lib.overrideDerivation (mkDerivation rec {
   description = "Ethereum virtual machine evaluator";
   license = stdenv.lib.licenses.agpl3;
   maintainers = [stdenv.lib.maintainers.dbrock];
+  broken = true; # 2018-04-10
 }) (attrs: {
   buildInputs = attrs.buildInputs ++ [solc];
   nativeBuildInputs = attrs.nativeBuildInputs ++ [makeWrapper];
diff --git a/pkgs/applications/altcoins/litecoin.nix b/pkgs/applications/altcoins/litecoin.nix
index ac42caa8099..12cf5dcb71c 100644
--- a/pkgs/applications/altcoins/litecoin.nix
+++ b/pkgs/applications/altcoins/litecoin.nix
@@ -8,13 +8,13 @@ with stdenv.lib;
 stdenv.mkDerivation rec {
 
   name = "litecoin" + (toString (optional (!withGui) "d")) + "-" + version;
-  version = "0.14.2";
+  version = "0.15.1";
 
   src = fetchFromGitHub {
     owner = "litecoin-project";
     repo = "litecoin";
     rev = "v${version}";
-    sha256 = "1smadd5d2mpz2v3pyk7wqm60vdp81zqr4m3z4wfvnlz62m1m800y";
+    sha256 = "01q0lj0grabyfh67ar984m9lv9xs0rakadkci8jpfbp8xw166r40";
   };
 
   nativeBuildInputs = [ pkgconfig autoreconfHook ];
diff --git a/pkgs/applications/altcoins/masari.nix b/pkgs/applications/altcoins/masari.nix
new file mode 100644
index 00000000000..02a6d25df51
--- /dev/null
+++ b/pkgs/applications/altcoins/masari.nix
@@ -0,0 +1,27 @@
+{ lib, stdenv, fetchFromGitHub, cmake, pkgconfig, unbound, openssl, boost
+, lmdb, miniupnpc, readline }:
+
+stdenv.mkDerivation rec {
+  name = "masari-${version}";
+  version = "0.1.4.0";
+
+  src = fetchFromGitHub {
+    owner = "masari-project";
+    repo = "masari";
+    rev = "v${version}";
+    sha256 = "0l6i21wkq5f6z8xr756i7vqgkzk7lixaa31ydy34fkfcqxppgxz3";
+  };
+
+  nativeBuildInputs = [ cmake pkgconfig ];
+  buildInputs = [ boost miniupnpc openssl lmdb unbound readline ];
+
+  enableParallelBuilding = true;
+
+  meta = with lib; {
+    description = "scalability-focused, untraceable, secure, and fungible cryptocurrency using the RingCT protocol";
+    homepage = "https://www.getmasari.org/";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ fpletz ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/altcoins/memorycoin.nix b/pkgs/applications/altcoins/memorycoin.nix
index a14276d4fa2..944c82250d4 100644
--- a/pkgs/applications/altcoins/memorycoin.nix
+++ b/pkgs/applications/altcoins/memorycoin.nix
@@ -51,6 +51,6 @@ stdenv.mkDerivation rec{
     homepage = http://www.bitcoin.org/;
     maintainers = with maintainers; [ AndersonTorres ];
     license = licenses.mit;
-    platforms = platforms.unix;
+    platforms = [ "x86_64-linux" ];
   };
 }
diff --git a/pkgs/applications/altcoins/mist.nix b/pkgs/applications/altcoins/mist.nix
new file mode 100644
index 00000000000..c112384f3d8
--- /dev/null
+++ b/pkgs/applications/altcoins/mist.nix
@@ -0,0 +1,71 @@
+{ stdenv, lib, makeWrapper, fetchurl, unzip, atomEnv, makeDesktopItem, buildFHSUserEnv }:
+
+let
+  version = "0.10.0";
+  name = "mist-${version}";
+
+  throwSystem = throw "Unsupported system: ${stdenv.system}";
+
+  meta = with stdenv.lib; {
+    description = "Browse and use Ðapps on the Ethereum network";
+    homepage = https://github.com/ethereum/mist;
+    license = licenses.gpl3;
+    maintainers = with maintainers; [];
+    platforms = [ "x86_64-linux" "i686-linux" ];
+  };
+
+  urlVersion = builtins.replaceStrings ["."] ["-"] version;
+
+  desktopItem = makeDesktopItem rec {
+    name = "Mist";
+    exec = "mist";
+    icon = "mist";
+    desktopName = name;
+    genericName = "Mist Browser";
+    categories = "Network;";
+  };
+
+  mist = stdenv.mkDerivation {
+    inherit name version;
+
+    src = {
+      i686-linux = fetchurl {
+        url = "https://github.com/ethereum/mist/releases/download/v${version}/Mist-linux32-${urlVersion}.zip";
+        sha256 = "01hvxlm9w522pwvsjdy18gsrapkfjr7d1jjl4bqjjysxnjaaj2lk";
+      };
+      x86_64-linux = fetchurl {
+        url = "https://github.com/ethereum/mist/releases/download/v${version}/Mist-linux64-${urlVersion}.zip";
+        sha256 = "01k17j7fdfhxfd26njdsiwap0xnka2536k9ydk32czd8db7ya9zi";
+      };
+    }.${stdenv.system} or throwSystem;
+
+    buildInputs = [ unzip makeWrapper ];
+
+    buildCommand = ''
+      mkdir -p $out/lib/mist $out/bin
+      unzip -d $out/lib/mist $src
+      ln -s $out/lib/mist/mist $out/bin
+      fixupPhase
+      mkdir -p $out/share/applications
+      ln -s ${desktopItem}/share/applications/* $out/share/applications
+      patchelf \
+        --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
+        --set-rpath "${atomEnv.libPath}:$out/lib/mist" \
+        $out/lib/mist/mist
+    '';
+  };
+in
+buildFHSUserEnv {
+  name = "mist";
+
+  targetPkgs = pkgs: with pkgs; [
+     mist
+  ];
+
+  extraInstallCommands = ''
+    mkdir -p "$out/share/applications"
+    cp "${desktopItem}/share/applications/"* $out/share/applications
+  '';
+
+  runScript = "mist";
+}
diff --git a/pkgs/applications/altcoins/monero-gui/default.nix b/pkgs/applications/altcoins/monero-gui/default.nix
index 0d2899b2e64..2aff86ae1d3 100644
--- a/pkgs/applications/altcoins/monero-gui/default.nix
+++ b/pkgs/applications/altcoins/monero-gui/default.nix
@@ -2,32 +2,34 @@
 , makeWrapper, makeDesktopItem
 , qtbase, qmake, qtmultimedia, qttools
 , qtgraphicaleffects, qtdeclarative
-, qtlocation, qtquickcontrols, qtwebchannel
+, qtlocation, qtquickcontrols2, qtwebchannel
 , qtwebengine, qtx11extras, qtxmlpatterns
 , monero, unbound, readline, boost, libunwind
+, pcsclite, zeromq, cppzmq, pkgconfig
 }:
 
 with stdenv.lib;
 
 stdenv.mkDerivation rec {
   name = "monero-gui-${version}";
-  version = "0.11.1.0";
+  version = "0.12.0.0";
 
   src = fetchFromGitHub {
     owner  = "monero-project";
     repo   = "monero-gui";
     rev    = "v${version}";
-    sha256 = "01d7apwrv8j8bh7plvvhlnll3ransaha3n6rx19nkgvfn319hswq";
+    sha256 = "1mg5ival8a2wdp14yib4wzqax4xyvd40zjy9anhszljds1439jhl";
   };
 
-  nativeBuildInputs = [ qmake ];
+  nativeBuildInputs = [ qmake pkgconfig ];
 
   buildInputs = [
     qtbase qtmultimedia qtgraphicaleffects
-    qtdeclarative qtlocation qtquickcontrols
+    qtdeclarative qtlocation qtquickcontrols2
     qtwebchannel qtwebengine qtx11extras
     qtxmlpatterns monero unbound readline
-    boost libunwind makeWrapper
+    boost libunwind pcsclite zeromq cppzmq
+    makeWrapper
   ];
 
   patches = [
diff --git a/pkgs/applications/altcoins/monero-gui/move-log-file.patch b/pkgs/applications/altcoins/monero-gui/move-log-file.patch
index 928fb32911f..08840c6a65e 100644
--- a/pkgs/applications/altcoins/monero-gui/move-log-file.patch
+++ b/pkgs/applications/altcoins/monero-gui/move-log-file.patch
@@ -1,8 +1,8 @@
 diff --git a/main.cpp b/main.cpp
-index 1a9a979..2316929 100644
+index c03b160..a8ea263 100644
 --- a/main.cpp
 +++ b/main.cpp
-@@ -74,10 +74,6 @@ int main(int argc, char *argv[])
+@@ -80,14 +80,16 @@ int main(int argc, char *argv[])
  //    qDebug() << "High DPI auto scaling - enabled";
  //#endif
  
@@ -13,9 +13,6 @@ index 1a9a979..2316929 100644
      MainApp app(argc, argv);
  
      qDebug() << "app startd";
-@@ -86,6 +82,13 @@ int main(int argc, char *argv[])
-     app.setOrganizationDomain("getmonero.org");
-     app.setOrganizationName("monero-project");
  
 +    // Log settings
 +    QString logfile =
@@ -23,20 +20,19 @@ index 1a9a979..2316929 100644
 +      + "/monero-wallet-gui.log";
 +    Monero::Wallet::init(argv[0], logfile.toUtf8().constData());
 +
-+
-     filter *eventFilter = new filter;
-     app.installEventFilter(eventFilter);
- 
+     app.setApplicationName("monero-core");
+     app.setOrganizationDomain("getmonero.org");
+     app.setOrganizationName("monero-project");
 diff --git a/src/libwalletqt/Wallet.cpp b/src/libwalletqt/Wallet.cpp
-index 8525bf3..6967b24 100644
+index 74649ce..fe1efc6 100644
 --- a/src/libwalletqt/Wallet.cpp
 +++ b/src/libwalletqt/Wallet.cpp
-@@ -613,7 +613,7 @@ QString Wallet::getDaemonLogPath() const
- 
- QString Wallet::getWalletLogPath() const
- {
--    return QCoreApplication::applicationDirPath() + "/monero-wallet-gui.log";
-+    return QStandardPaths::writableLocation(QStandardPaths::CacheLocation) + "/monero-wallet-gui.log";
+@@ -729,7 +729,7 @@ QString Wallet::getWalletLogPath() const
+ #ifdef Q_OS_MACOS
+     return QStandardPaths::standardLocations(QStandardPaths::HomeLocation).at(0) + "/Library/Logs/" + filename;
+ #else
+-    return QCoreApplication::applicationDirPath() + "/" + filename;
++    return QStandardPaths::writableLocation(QStandardPaths::CacheLocation) + filename;
+ #endif
  }
  
- Wallet::Wallet(Monero::Wallet *w, QObject *parent)
diff --git a/pkgs/applications/altcoins/monero/build-wallet-rpc.patch b/pkgs/applications/altcoins/monero/build-wallet-rpc.patch
deleted file mode 100644
index 5436332db80..00000000000
--- a/pkgs/applications/altcoins/monero/build-wallet-rpc.patch
+++ /dev/null
@@ -1,78 +0,0 @@
-diff --git a/src/wallet/CMakeLists.txt b/src/wallet/CMakeLists.txt
-index 63908005..f6656d5c 100644
---- a/src/wallet/CMakeLists.txt
-+++ b/src/wallet/CMakeLists.txt
-@@ -86,43 +86,40 @@ target_link_libraries(wallet
-     ${EXTRA_LIBRARIES})
- add_dependencies(wallet version)
- 
--if (NOT BUILD_GUI_DEPS)
--  set(wallet_rpc_sources
--    wallet_rpc_server.cpp)
-+set(wallet_rpc_sources
-+  wallet_rpc_server.cpp)
- 
--  set(wallet_rpc_headers)
-+set(wallet_rpc_headers)
- 
--  set(wallet_rpc_private_headers
--    wallet_rpc_server.h)
-+set(wallet_rpc_private_headers
-+  wallet_rpc_server.h)
- 
--  monero_private_headers(wallet_rpc_server
--    ${wallet_rpc_private_headers})
--  monero_add_executable(wallet_rpc_server
--    ${wallet_rpc_sources}
--    ${wallet_rpc_headers}
--    ${wallet_rpc_private_headers})
--
--  target_link_libraries(wallet_rpc_server
--    PRIVATE
--      wallet
--      epee
--      rpc
--      cryptonote_core
--      cncrypto
--      common
--      ${Boost_CHRONO_LIBRARY}
--      ${Boost_PROGRAM_OPTIONS_LIBRARY}
--      ${Boost_FILESYSTEM_LIBRARY}
--      ${Boost_THREAD_LIBRARY}
--      ${CMAKE_THREAD_LIBS_INIT}
--      ${EXTRA_LIBRARIES})
--  add_dependencies(wallet_rpc_server version)
--  set_property(TARGET wallet_rpc_server
--    PROPERTY
--      OUTPUT_NAME "monero-wallet-rpc")
--  install(TARGETS wallet_rpc_server DESTINATION bin)
--endif()
-+monero_private_headers(wallet_rpc_server
-+  ${wallet_rpc_private_headers})
-+monero_add_executable(wallet_rpc_server
-+  ${wallet_rpc_sources}
-+  ${wallet_rpc_headers}
-+  ${wallet_rpc_private_headers})
- 
-+target_link_libraries(wallet_rpc_server
-+  PRIVATE
-+    wallet
-+    epee
-+    rpc
-+    cryptonote_core
-+    cncrypto
-+    common
-+    ${Boost_CHRONO_LIBRARY}
-+    ${Boost_PROGRAM_OPTIONS_LIBRARY}
-+    ${Boost_FILESYSTEM_LIBRARY}
-+    ${Boost_THREAD_LIBRARY}
-+    ${CMAKE_THREAD_LIBS_INIT}
-+    ${EXTRA_LIBRARIES})
-+add_dependencies(wallet_rpc_server version)
-+set_property(TARGET wallet_rpc_server
-+  PROPERTY
-+    OUTPUT_NAME "monero-wallet-rpc")
-+install(TARGETS wallet_rpc_server DESTINATION bin)
- 
- # build and install libwallet_merged only if we building for GUI
- if (BUILD_GUI_DEPS)
diff --git a/pkgs/applications/altcoins/monero/default.nix b/pkgs/applications/altcoins/monero/default.nix
index 4b1e9cd4ea3..cbba1ecba14 100644
--- a/pkgs/applications/altcoins/monero/default.nix
+++ b/pkgs/applications/altcoins/monero/default.nix
@@ -1,46 +1,53 @@
-{ stdenv, fetchpatch, fetchFromGitHub, cmake
-, boost, miniupnpc, openssl, pkgconfig, unbound
+{ stdenv, fetchFromGitHub, fetchpatch
+, cmake, pkgconfig, git
+, boost, miniupnpc, openssl, unbound, cppzmq
+, zeromq, pcsclite, readline
+, CoreData, IOKit, PCSC
 }:
 
+assert stdenv.isDarwin -> IOKit != null;
+
+with stdenv.lib;
+
 stdenv.mkDerivation rec {
   name    = "monero-${version}";
-  version = "0.11.1.0";
+  version = "0.12.0.0";
 
   src = fetchFromGitHub {
     owner  = "monero-project";
     repo   = "monero";
     rev    = "v${version}";
-    sha256 = "0nrpxx6r63ia6ard85d504x2kgaikvrhb5sg93ml70l6djyy1148";
+    sha256 = "1lc9mkrl1m8mdbvj88y8y5rv44vinxf7dyv221ndmw5c5gs5zfgk";
   };
 
-  nativeBuildInputs = [ cmake pkgconfig ];
-
-  buildInputs = [ boost miniupnpc openssl unbound ];
+  nativeBuildInputs = [ cmake pkgconfig git ];
 
   patches = [
-    ./build-wallet-rpc.patch # fixed in next release
+    # fix daemon crash, remove with 0.12.1.0 update
+    (fetchpatch {
+      url    = "https://github.com/monero-project/monero/commit/08343ab.diff";
+      sha256 = "0f1snrl2mk2czwk1ysympzr8ismjx39fcqgy13276vcmw0cfqi83";
+    })
   ];
 
+  buildInputs = [
+    boost miniupnpc openssl unbound
+    cppzmq zeromq pcsclite readline
+  ] ++ optionals stdenv.isDarwin [ IOKit CoreData PCSC ];
+
   cmakeFlags = [
     "-DCMAKE_BUILD_TYPE=Release"
     "-DBUILD_GUI_DEPS=ON"
+    "-DReadline_ROOT_DIR=${readline.dev}"
   ];
 
-  doCheck = false;
-
-  installPhase = ''
-    make install
-    install -Dt "$out/bin/" \
-      bin/monero-blockchain-export \
-      bin/monero-blockchain-import \
-      bin/monero-wallet-rpc
-  '';
+  hardeningDisable = [ "fortify" ];
 
-  meta = with stdenv.lib; {
+  meta = {
     description = "Private, secure, untraceable currency";
     homepage    = https://getmonero.org/;
     license     = licenses.bsd3;
     platforms   = platforms.all;
-    maintainers = [ maintainers.ehmry ];
+    maintainers = with maintainers; [ ehmry rnhmjoj ];
   };
 }
diff --git a/pkgs/applications/altcoins/namecoin.nix b/pkgs/applications/altcoins/namecoin.nix
index 83bead0adac..f7349581169 100644
--- a/pkgs/applications/altcoins/namecoin.nix
+++ b/pkgs/applications/altcoins/namecoin.nix
@@ -3,14 +3,14 @@
 
 with stdenv.lib;
 stdenv.mkDerivation rec {
-  version = "nc0.13.0rc1";
+  version = "nc0.15.99-name-tab-beta2";
   name = "namecoin" + toString (optional (!withGui) "d") + "-" + version;
 
   src = fetchFromGitHub {
     owner = "namecoin";
     repo = "namecoin-core";
     rev = version;
-    sha256 = "17zz0rm3js285w2assxp8blfx830rs0ambcsaqqfli9mnaik3m39";
+    sha256 = "1r0v0yvlazmidxp6xhapbdawqb8fhzrdp11d4an5vgxa208s6wdf";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/altcoins/nano-wallet/CMakeLists.txt.patch b/pkgs/applications/altcoins/nano-wallet/CMakeLists.txt.patch
new file mode 100644
index 00000000000..5bbec1d39be
--- /dev/null
+++ b/pkgs/applications/altcoins/nano-wallet/CMakeLists.txt.patch
@@ -0,0 +1,13 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index b43f02f6..4470abbf 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -119,7 +119,7 @@ endif (RAIBLOCKS_SECURE_RPC)
+ 
+ include_directories (${CMAKE_SOURCE_DIR})
+ 
+-set(Boost_USE_STATIC_LIBS        ON)
++add_definitions(-DBOOST_LOG_DYN_LINK)
+ set(Boost_USE_MULTITHREADED      ON)
+ 
+ if (BOOST_CUSTOM)
diff --git a/pkgs/applications/altcoins/nano-wallet/default.nix b/pkgs/applications/altcoins/nano-wallet/default.nix
new file mode 100644
index 00000000000..8c4722bd991
--- /dev/null
+++ b/pkgs/applications/altcoins/nano-wallet/default.nix
@@ -0,0 +1,57 @@
+{lib, pkgs, stdenv, fetchFromGitHub, cmake, pkgconfig, boost, libGL, qtbase}:
+
+stdenv.mkDerivation rec {
+
+  name = "nano-wallet-${version}";
+  version = "12.1";
+
+  src = fetchFromGitHub {
+    owner = "nanocurrency";
+    repo = "raiblocks";
+    rev = "V${version}";
+    sha256 = "10ng7qn6y31s2bjahmpivw2plx90ljjjzb87j3l7zmppsjd2iq03";
+    fetchSubmodules = true;
+  };
+
+  # Use a patch to force dynamic linking
+  patches = [
+    ./CMakeLists.txt.patch
+  ];
+
+  cmakeFlags = let
+    options = {
+      BOOST_ROOT = "${boost}";
+      Boost_USE_STATIC_LIBS = "OFF";
+      RAIBLOCKS_GUI = "ON";
+      RAIBLOCKS_TEST = "ON";
+      Qt5_DIR = "${qtbase.dev}/lib/cmake/Qt5";
+      Qt5Core_DIR = "${qtbase.dev}/lib/cmake/Qt5Core";
+      Qt5Gui_INCLUDE_DIRS = "${qtbase.dev}/include/QtGui";
+      Qt5Widgets_INCLUDE_DIRS = "${qtbase.dev}/include/QtWidgets";
+    };
+    optionToFlag = name: value: "-D${name}=${value}";
+  in lib.mapAttrsToList optionToFlag options;
+
+  nativeBuildInputs = [ cmake pkgconfig ];
+  buildInputs = [ boost libGL qtbase ];
+
+  buildPhase = ''
+    make nano_wallet
+  '';
+
+  checkPhase = ''
+    ./core_test
+  '';
+
+  meta = {
+    inherit version;
+    description = "Wallet for Nano cryptocurrency";
+    homepage = https://nano.org/en/wallet/;
+    license = lib.licenses.bsd2;
+    # Fails on Darwin. See:
+    # https://github.com/NixOS/nixpkgs/pull/39295#issuecomment-386800962
+    platforms = lib.platforms.linux;
+    maintainers = with lib.maintainers; [ jluttine ];
+  };
+
+}
diff --git a/pkgs/applications/altcoins/parity-ui/default.nix b/pkgs/applications/altcoins/parity-ui/default.nix
new file mode 100644
index 00000000000..56a95b6d596
--- /dev/null
+++ b/pkgs/applications/altcoins/parity-ui/default.nix
@@ -0,0 +1,50 @@
+{ stdenv, pkgs, fetchurl, lib, makeWrapper, nodePackages }:
+
+let
+
+uiEnv = pkgs.callPackage ./env.nix { };
+
+in stdenv.mkDerivation rec {
+  name = "parity-ui-${version}";
+  version = "0.1.1";
+
+  src = fetchurl {
+    url = "https://github.com/parity-js/shell/releases/download/v${version}/parity-ui_${version}_amd64.deb";
+    sha256 = "1jym6q63m5f4xm06dxiiabhbqnr0hysf2d3swysncs5hg6w00lh3";
+    name = "${name}.deb";
+  };
+
+  nativeBuildInputs = [ makeWrapper nodePackages.asar ];
+
+  buildCommand = ''
+    mkdir -p $out/usr/
+    ar p $src data.tar.xz | tar -C $out -xJ .
+    substituteInPlace $out/usr/share/applications/parity-ui.desktop \
+      --replace "/opt/Parity UI" $out/bin
+    mv $out/usr/* $out/
+    mv "$out/opt/Parity UI" $out/share/parity-ui
+    rm -r $out/usr/
+    rm -r $out/opt/
+
+    fixupPhase
+
+    patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
+      --set-rpath "${uiEnv.libPath}:$out/share/parity-ui" \
+      $out/share/parity-ui/parity-ui
+
+    find $out/share/parity-ui -name "*.node" -exec patchelf --set-rpath "${uiEnv.libPath}:$out/share/parity-ui" {} \;
+
+    paxmark m $out/share/parity-ui/parity-ui
+
+    mkdir -p $out/bin
+    ln -s $out/share/parity-ui/parity-ui $out/bin/parity-ui
+  '';
+
+  meta = with stdenv.lib; {
+    description = "UI for Parity. Fast, light, robust Ethereum implementation";
+    homepage = http://parity.io;
+    license = licenses.gpl3;
+    maintainers = [ maintainers.sorpaas ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/altcoins/parity-ui/env.nix b/pkgs/applications/altcoins/parity-ui/env.nix
new file mode 100644
index 00000000000..a273bf33d10
--- /dev/null
+++ b/pkgs/applications/altcoins/parity-ui/env.nix
@@ -0,0 +1,19 @@
+{ stdenv, lib, zlib, glib, alsaLib, dbus, gtk2, atk, pango, freetype, fontconfig
+, libgnome-keyring3, gdk_pixbuf, gvfs, cairo, cups, expat, libgpgerror, nspr
+, nss, xorg, libcap, systemd, libnotify, libsecret, gnome3 }:
+
+let
+  packages = [
+    stdenv.cc.cc zlib glib dbus gtk2 atk pango freetype libgnome-keyring3
+    fontconfig gdk_pixbuf cairo cups expat libgpgerror alsaLib nspr nss
+    xorg.libXrender xorg.libX11 xorg.libXext xorg.libXdamage xorg.libXtst
+    xorg.libXcomposite xorg.libXi xorg.libXfixes xorg.libXrandr
+    xorg.libXcursor xorg.libxkbfile xorg.libXScrnSaver libcap systemd libnotify
+    xorg.libxcb libsecret gnome3.gconf
+  ];
+
+  libPathNative = lib.makeLibraryPath packages;
+  libPath64 = lib.makeSearchPathOutput "lib" "lib64" packages;
+  libPath = "${libPathNative}:${libPath64}";
+
+in { inherit packages libPath; }
diff --git a/pkgs/applications/altcoins/parity/beta.nix b/pkgs/applications/altcoins/parity/beta.nix
new file mode 100644
index 00000000000..9cbab6ad095
--- /dev/null
+++ b/pkgs/applications/altcoins/parity/beta.nix
@@ -0,0 +1,7 @@
+let
+  version     = "1.10.2";
+  sha256      = "1a1rbwlwi60nfv6m1rdy5baq5lcafc8nw96y45pr1674i48gkp0l";
+  cargoSha256 = "0l3rjkinzppfq8fi8h24r35rb552fzzman5a6yk33wlsdj2lv7yh";
+  patches     = [ ./patches/vendored-sources-1.10.patch ];
+in
+  import ./parity.nix { inherit version sha256 cargoSha256 patches; }
diff --git a/pkgs/applications/altcoins/parity/default.nix b/pkgs/applications/altcoins/parity/default.nix
new file mode 100644
index 00000000000..d85fc25355c
--- /dev/null
+++ b/pkgs/applications/altcoins/parity/default.nix
@@ -0,0 +1,7 @@
+let
+  version     = "1.9.7";
+  sha256      = "1h9rmyqkdv2v83g12dadgqflq1n1qqgd5hrpy20ajha0qpbiv3ph";
+  cargoSha256 = "0ss5jw43850r8l34prai5vk1zd5d5fjyg4rcav1asbq6v683bww0";
+  patches     = [ ./patches/vendored-sources-1.9.patch ];
+in
+  import ./parity.nix { inherit version sha256 cargoSha256 patches; }
diff --git a/pkgs/applications/altcoins/parity/parity.nix b/pkgs/applications/altcoins/parity/parity.nix
new file mode 100644
index 00000000000..9c9d1d4293e
--- /dev/null
+++ b/pkgs/applications/altcoins/parity/parity.nix
@@ -0,0 +1,38 @@
+{ version
+, sha256
+, cargoSha256
+, patches
+}:
+
+{ stdenv
+, fetchFromGitHub
+, rustPlatform 
+, pkgconfig
+, openssl
+, systemd
+}:
+
+rustPlatform.buildRustPackage rec {
+  name = "parity-${version}";
+  inherit cargoSha256 patches;
+
+  src = fetchFromGitHub {
+    owner = "paritytech";
+    repo = "parity";
+    rev = "v${version}";
+    inherit sha256;
+  };
+
+  buildInputs = [ pkgconfig systemd.lib systemd.dev openssl openssl.dev ]; 
+
+  # Some checks failed
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    description = "Fast, light, robust Ethereum implementation";
+    homepage = http://parity.io;
+    license = licenses.gpl3;
+    maintainers = [ maintainers.akru ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/altcoins/parity/patches/vendored-sources-1.10.patch b/pkgs/applications/altcoins/parity/patches/vendored-sources-1.10.patch
new file mode 100644
index 00000000000..e59858442c9
--- /dev/null
+++ b/pkgs/applications/altcoins/parity/patches/vendored-sources-1.10.patch
@@ -0,0 +1,114 @@
+diff --git a/.cargo/config b/.cargo/config
+index 72652ad2f..b21c6aa7b 100644
+--- a/.cargo/config
++++ b/.cargo/config
+@@ -1,3 +1,108 @@
+ [target.x86_64-pc-windows-msvc]
+ # Link the C runtime statically ; https://github.com/paritytech/parity/issues/6643
+ rustflags = ["-Ctarget-feature=+crt-static"]
++
++[source."https://github.com/alexcrichton/mio-named-pipes"]
++git = "https://github.com/alexcrichton/mio-named-pipes"
++branch = "master"
++replace-with = "vendored-sources"
++
++[source."https://github.com/js-dist-paritytech/parity-master-1-10-shell.git"]
++git = "https://github.com/js-dist-paritytech/parity-master-1-10-shell.git"
++rev = "bd25b41cd642c6b822d820dded3aa601a29aa079"
++replace-with = "vendored-sources"
++
++[source."https://github.com/js-dist-paritytech/parity-master-1-10-wallet.git"]
++git = "https://github.com/js-dist-paritytech/parity-master-1-10-wallet.git"
++rev = "4b6f112412716cd05123d32eeb7fda448288a6c6"
++replace-with = "vendored-sources"
++
++[source."https://github.com/nikvolf/parity-tokio-ipc"]
++git = "https://github.com/nikvolf/parity-tokio-ipc"
++branch = "master"
++replace-with = "vendored-sources"
++
++[source."https://github.com/nikvolf/tokio-named-pipes"]
++git = "https://github.com/nikvolf/tokio-named-pipes"
++branch = "master"
++replace-with = "vendored-sources"
++
++[source."https://github.com/parity-js/dapp-wallet.git"]
++git = "https://github.com/parity-js/dapp-wallet.git"
++rev = "65deb02e7c007a0fd8aab0c089c93e3fd1de6f87"
++replace-with = "vendored-sources"
++
++[source."https://github.com/parity-js/shell.git"]
++git = "https://github.com/parity-js/shell.git"
++rev = "eecaadcb9e421bce31e91680d14a20bbd38f92a2"
++replace-with = "vendored-sources"
++
++[source."https://github.com/paritytech/app-dirs-rs"]
++git = "https://github.com/paritytech/app-dirs-rs"
++branch = "master"
++replace-with = "vendored-sources"
++
++[source."https://github.com/paritytech/bn"]
++git = "https://github.com/paritytech/bn"
++branch = "master"
++replace-with = "vendored-sources"
++
++[source."https://github.com/paritytech/hidapi-rs"]
++git = "https://github.com/paritytech/hidapi-rs"
++branch = "master"
++replace-with = "vendored-sources"
++
++[source."https://github.com/paritytech/hyper"]
++git = "https://github.com/paritytech/hyper"
++branch = "master"
++replace-with = "vendored-sources"
++
++[source."https://github.com/paritytech/jsonrpc.git"]
++git = "https://github.com/paritytech/jsonrpc.git"
++branch = "parity-1.10"
++replace-with = "vendored-sources"
++
++[source."https://github.com/paritytech/libusb-rs"]
++git = "https://github.com/paritytech/libusb-rs"
++branch = "master"
++replace-with = "vendored-sources"
++
++[source."https://github.com/paritytech/libusb-sys"]
++git = "https://github.com/paritytech/libusb-sys"
++branch = "master"
++replace-with = "vendored-sources"
++
++[source."https://github.com/paritytech/rust-ctrlc.git"]
++git = "https://github.com/paritytech/rust-ctrlc.git"
++branch = "master"
++replace-with = "vendored-sources"
++
++[source."https://github.com/paritytech/rust-rocksdb"]
++git = "https://github.com/paritytech/rust-rocksdb"
++branch = "master"
++replace-with = "vendored-sources"
++
++[source."https://github.com/paritytech/rust-secp256k1"]
++git = "https://github.com/paritytech/rust-secp256k1"
++branch = "master"
++replace-with = "vendored-sources"
++
++[source."https://github.com/paritytech/rust-snappy"]
++git = "https://github.com/paritytech/rust-snappy"
++branch = "master"
++replace-with = "vendored-sources"
++
++[source."https://github.com/paritytech/trezor-sys"]
++git = "https://github.com/paritytech/trezor-sys"
++branch = "master"
++replace-with = "vendored-sources"
++
++[source."https://github.com/tailhook/rotor"]
++git = "https://github.com/tailhook/rotor"
++branch = "master"
++replace-with = "vendored-sources"
++
++[source."https://github.com/tomusdrw/ws-rs"]
++git = "https://github.com/tomusdrw/ws-rs"
++branch = "master"
++replace-with = "vendored-sources"
++
diff --git a/pkgs/applications/altcoins/parity/patches/vendored-sources-1.9.patch b/pkgs/applications/altcoins/parity/patches/vendored-sources-1.9.patch
new file mode 100644
index 00000000000..3e1ba2429f2
--- /dev/null
+++ b/pkgs/applications/altcoins/parity/patches/vendored-sources-1.9.patch
@@ -0,0 +1,101 @@
+diff --git a/.cargo/config b/.cargo/config
+new file mode 100644
+index 000000000..0efb69724
+--- /dev/null 
++++ b/.cargo/config
+@@ -0,0 +1,94 @@
++[source."https://github.com/alexcrichton/mio-named-pipes"]
++git = "https://github.com/alexcrichton/mio-named-pipes"
++branch = "master"
++replace-with = "vendored-sources"
++
++[source."https://github.com/js-dist-paritytech/parity-stable-1-9-shell.git"]
++git = "https://github.com/js-dist-paritytech/parity-stable-1-9-shell.git"
++branch = "master"
++replace-with = "vendored-sources"
++
++[source."https://github.com/js-dist-paritytech/parity-stable-1-9-v1.git"]
++git = "https://github.com/js-dist-paritytech/parity-stable-1-9-v1.git"
++branch = "master"
++replace-with = "vendored-sources"
++
++[source."https://github.com/nikvolf/parity-tokio-ipc"]
++git = "https://github.com/nikvolf/parity-tokio-ipc"
++branch = "master"
++replace-with = "vendored-sources"
++
++[source."https://github.com/nikvolf/tokio-named-pipes"]
++git = "https://github.com/nikvolf/tokio-named-pipes"
++branch = "master"
++replace-with = "vendored-sources"
++
++[source."https://github.com/paritytech/app-dirs-rs"]
++git = "https://github.com/paritytech/app-dirs-rs"
++branch = "master"
++replace-with = "vendored-sources"
++
++[source."https://github.com/paritytech/bn"]
++git = "https://github.com/paritytech/bn"
++branch = "master"
++replace-with = "vendored-sources"
++
++[source."https://github.com/paritytech/hidapi-rs"]
++git = "https://github.com/paritytech/hidapi-rs"
++branch = "master"
++replace-with = "vendored-sources"
++
++[source."https://github.com/paritytech/hyper"]
++git = "https://github.com/paritytech/hyper"
++branch = "master"
++replace-with = "vendored-sources"
++
++[source."https://github.com/paritytech/jsonrpc.git"]
++git = "https://github.com/paritytech/jsonrpc.git"
++branch = "parity-1.9"
++replace-with = "vendored-sources"
++
++[source."https://github.com/paritytech/libusb-rs"]
++git = "https://github.com/paritytech/libusb-rs"
++branch = "master"
++replace-with = "vendored-sources"
++
++[source."https://github.com/paritytech/libusb-sys"]
++git = "https://github.com/paritytech/libusb-sys"
++branch = "master"
++replace-with = "vendored-sources"
++
++[source."https://github.com/paritytech/rust-ctrlc.git"]
++git = "https://github.com/paritytech/rust-ctrlc.git"
++branch = "master"
++replace-with = "vendored-sources"
++
++[source."https://github.com/paritytech/rust-rocksdb"]
++git = "https://github.com/paritytech/rust-rocksdb"
++branch = "master"
++replace-with = "vendored-sources"
++
++[source."https://github.com/paritytech/rust-secp256k1"]
++git = "https://github.com/paritytech/rust-secp256k1"
++branch = "master"
++replace-with = "vendored-sources"
++
++[source."https://github.com/paritytech/rust-snappy"]
++git = "https://github.com/paritytech/rust-snappy"
++branch = "master"
++replace-with = "vendored-sources"
++
++[source."https://github.com/paritytech/trezor-sys"]
++git = "https://github.com/paritytech/trezor-sys"
++branch = "master"
++replace-with = "vendored-sources"
++
++[source."https://github.com/tailhook/rotor"]
++git = "https://github.com/tailhook/rotor"
++branch = "master"
++replace-with = "vendored-sources"
++
++[source."https://github.com/tomusdrw/ws-rs"]
++git = "https://github.com/tomusdrw/ws-rs"
++branch = "master"
++replace-with = "vendored-sources"
++
diff --git a/pkgs/applications/altcoins/particl/particl-core.nix b/pkgs/applications/altcoins/particl/particl-core.nix
new file mode 100644
index 00000000000..f47b04c1dae
--- /dev/null
+++ b/pkgs/applications/altcoins/particl/particl-core.nix
@@ -0,0 +1,47 @@
+{ stdenv
+, autoreconfHook
+, boost
+, db48
+, fetchurl
+, libevent
+, libtool
+, miniupnpc
+, openssl
+, pkgconfig
+, utillinux
+, zeromq
+, zlib
+, withGui
+, unixtools
+}:
+
+with stdenv.lib;
+
+stdenv.mkDerivation rec {
+  name = "particl-core-${version}";
+  version     = "0.16.0.5";
+
+  src = fetchurl {
+    url = "https://github.com/particl/particl-core/archive/v${version}.tar.gz";
+    sha256 = "070crn6nnzrbcaj30w0qbybpm9kfd2ghnvmxp29gckgknw6n0vam";
+  };
+
+  nativeBuildInputs = [ pkgconfig autoreconfHook ];
+  buildInputs = [
+    openssl db48 boost zlib miniupnpc libevent zeromq
+    unixtools.hexdump
+  ];
+
+  configureFlags = [ "--with-boost-libdir=${boost.out}/lib" ];
+
+  meta = {
+    description = "Privacy-Focused Marketplace & Decentralized Application Platform";
+    longDescription= ''
+      An open source, decentralized privacy platform built for global person to person eCommerce.
+    '';
+    homepage = https://particl.io/;
+    maintainers = with maintainers; [ demyanrogozhin ];
+    license = licenses.mit;
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/applications/audio/aj-snapshot/default.nix b/pkgs/applications/audio/aj-snapshot/default.nix
index c7033afac34..f84958e1f82 100644
--- a/pkgs/applications/audio/aj-snapshot/default.nix
+++ b/pkgs/applications/audio/aj-snapshot/default.nix
@@ -3,11 +3,11 @@
 stdenv.mkDerivation rec {
   name =  packageName + "-" + version ;
   packageName = "aj-snapshot" ;
-  version = "0.9.7";
+  version = "0.9.8";
 
   src = fetchurl {
     url = "mirror://sourceforge/${packageName}/${name}.tar.bz2";
-    sha256 = "0yxccgp9qw2cyqv719wlbq8wfsr5ga8czvwa7bmb8dh5s11n3rn8";
+    sha256 = "0wilky1g2mb88v2z0520s7sw1dsn10iwanc8id5p6z1xsnhg7b6p";
   };
 
   doCheck = false;
diff --git a/pkgs/applications/audio/asunder/default.nix b/pkgs/applications/audio/asunder/default.nix
index bb0615df25b..9c42c98ba5e 100644
--- a/pkgs/applications/audio/asunder/default.nix
+++ b/pkgs/applications/audio/asunder/default.nix
@@ -12,11 +12,11 @@
 with stdenv.lib;
 
 stdenv.mkDerivation rec {
-  version = "2.9.2";
+  version = "2.9.3";
   name = "asunder-${version}";
   src = fetchurl {
     url = "http://littlesvr.ca/asunder/releases/${name}.tar.bz2";
-    sha256 = "0vjbxrrjih4c673sc39wj5whp81xp9kmnwqxwzfnmhkky970rg5r";
+    sha256 = "1630i1df06y840v3fgdf75jxw1s8kwbfn5bhi0686viah0scccw5";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/applications/audio/audacious/default.nix b/pkgs/applications/audio/audacious/default.nix
index 6890b53f407..6e411c8448f 100644
--- a/pkgs/applications/audio/audacious/default.nix
+++ b/pkgs/applications/audio/audacious/default.nix
@@ -60,7 +60,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Audio player";
-    homepage = http://audacious-media-player.org/;
+    homepage = https://audacious-media-player.org/;
     maintainers = with maintainers; [ eelco ramkromberg ];
     platforms = with platforms; linux;
     license = with licenses; [
diff --git a/pkgs/applications/audio/audacious/qt-5.nix b/pkgs/applications/audio/audacious/qt-5.nix
index 8910fdc1b0a..019bde7cc64 100644
--- a/pkgs/applications/audio/audacious/qt-5.nix
+++ b/pkgs/applications/audio/audacious/qt-5.nix
@@ -81,7 +81,7 @@ mkDerivation {
 
   meta = with lib; {
     description = "Audio player";
-    homepage = http://audacious-media-player.org/;
+    homepage = https://audacious-media-player.org/;
     maintainers = with maintainers; [ ttuegel ];
     platforms = with platforms; linux;
     license = with licenses; [
diff --git a/pkgs/applications/audio/bitwig-studio/bitwig-studio2.nix b/pkgs/applications/audio/bitwig-studio/bitwig-studio2.nix
index e5a5cc7c9c6..5d9fe0edece 100644
--- a/pkgs/applications/audio/bitwig-studio/bitwig-studio2.nix
+++ b/pkgs/applications/audio/bitwig-studio/bitwig-studio2.nix
@@ -3,11 +3,11 @@
 
 bitwig-studio1.overrideAttrs (oldAttrs: rec {
   name = "bitwig-studio-${version}";
-  version = "2.2.2";
+  version = "2.3.2";
 
   src = fetchurl {
     url    = "https://downloads.bitwig.com/stable/${version}/bitwig-studio-${version}.deb";
-    sha256 = "1x4wka32xlygmhdh9rb15s37zh5qjrgap2qk35y34c52lf5aak22";
+    sha256 = "10ji4jqnnlhv4bgvhqwysprax6jcjk4759jskr9imwj6qjnj3vzn";
   };
 
   buildInputs = bitwig-studio1.buildInputs ++ [ ffmpeg ];
diff --git a/pkgs/applications/audio/caps/default.nix b/pkgs/applications/audio/caps/default.nix
index 27724bc28e9..2d90599346f 100644
--- a/pkgs/applications/audio/caps/default.nix
+++ b/pkgs/applications/audio/caps/default.nix
@@ -9,9 +9,13 @@ stdenv.mkDerivation rec {
 
   patches = [
     (fetchurl {
-      url = "https://anonscm.debian.org/cgit/pkg-multimedia/caps.git/plain/debian/patches/0001-Avoid-ambiguity-in-div-invocation.patch";
+      url = "https://salsa.debian.org/multimedia-team/caps/raw/9a99c225/debian/patches/0001-Avoid-ambiguity-in-div-invocation.patch";
       sha256 = "1b1pb5yfskiw8zi1lkj572l2ajpirh4amq538vggwvlpv1fqfway";
     })
+    (fetchurl {
+      url = "https://salsa.debian.org/multimedia-team/caps/raw/a411203d/debian/patches/0002-Use-standard-exp10f-instead-of-pow10f.patch";
+      sha256 = "18ciklnscabr77l8b89xmbagkk79w4iqfpzr2yhn2ywv2jp8akx9";
+    })
   ];
 
   configurePhase = ''
diff --git a/pkgs/applications/audio/cava/default.nix b/pkgs/applications/audio/cava/default.nix
index 1420627c02a..439175b090a 100644
--- a/pkgs/applications/audio/cava/default.nix
+++ b/pkgs/applications/audio/cava/default.nix
@@ -3,7 +3,7 @@
 
 stdenv.mkDerivation rec {
   name = "cava-${version}";
-  version = "0.6.0";
+  version = "0.6.1";
 
   buildInputs = [
     alsaLib
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
     owner = "karlstav";
     repo = "cava";
     rev = version;
-    sha256 = "01maaq5pfd4a7zilgarwr1nl7jbqyrvir6w7ikchggsckrlk23wr";
+    sha256 = "1kvhqgijs29909w3sq9m0bslx2zxxn4b3i07kdz4hb0dqkppxpjy";
   };
 
   nativeBuildInputs = [ autoreconfHook ];
diff --git a/pkgs/applications/audio/cdparanoia/default.nix b/pkgs/applications/audio/cdparanoia/default.nix
index d4d302f07d2..760b04bef00 100644
--- a/pkgs/applications/audio/cdparanoia/default.nix
+++ b/pkgs/applications/audio/cdparanoia/default.nix
@@ -17,7 +17,8 @@ stdenv.mkDerivation rec {
       url = "https://trac.macports.org/export/70964/trunk/dports/audio/cdparanoia/files/patch-paranoia_paranoia.c.10.4.diff";
       sha256 = "17l2qhn8sh4jy6ryy5si6ll6dndcm0r537rlmk4a6a8vkn852vad";
     })
-  ] ++ stdenv.lib.optional stdenv.hostPlatform.isMusl ./utils.patch;
+    ] ++ stdenv.lib.optional stdenv.hostPlatform.isMusl ./utils.patch
+    ++ [./fix_private_keyword.patch];
 
   buildInputs = stdenv.lib.optional stdenv.isAarch64 autoreconfHook;
 
diff --git a/pkgs/applications/audio/cdparanoia/fix_private_keyword.patch b/pkgs/applications/audio/cdparanoia/fix_private_keyword.patch
new file mode 100644
index 00000000000..3e9cbe2bd8c
--- /dev/null
+++ b/pkgs/applications/audio/cdparanoia/fix_private_keyword.patch
@@ -0,0 +1,468 @@
+--- cdparanoia-III-10.2/interface/cdda_interface.h	(revision 15337)
++++ cdparanoia-III-10.2/interface/cdda_interface.h	(revision 15338)
+@@ -85,5 +85,5 @@
+   int is_mmc;
+ 
+-  cdda_private_data_t *private;
++  cdda_private_data_t *private_data;
+   void         *reserved;
+   unsigned char inqbytes[4];
+--- cdparanoia-III-10.2/interface/cooked_interface.c	(revision 15337)
++++ cdparanoia-III-10.2/interface/cooked_interface.c	(revision 15338)
+@@ -14,11 +14,11 @@
+   struct timespec tv1;
+   struct timespec tv2;
+-  int ret1=clock_gettime(d->private->clock,&tv1);
++  int ret1=clock_gettime(d->private_data->clock,&tv1);
+   int ret2=ioctl(fd, command,arg);
+-  int ret3=clock_gettime(d->private->clock,&tv2);
++  int ret3=clock_gettime(d->private_data->clock,&tv2);
+   if(ret1<0 || ret3<0){
+-    d->private->last_milliseconds=-1;
++    d->private_data->last_milliseconds=-1;
+   }else{
+-    d->private->last_milliseconds = (tv2.tv_sec-tv1.tv_sec)*1000. + (tv2.tv_nsec-tv1.tv_nsec)/1000000.;
++    d->private_data->last_milliseconds = (tv2.tv_sec-tv1.tv_sec)*1000. + (tv2.tv_nsec-tv1.tv_nsec)/1000000.;
+   }
+   return ret2;
+--- cdparanoia-III-10.2/interface/interface.c	(revision 15337)
++++ cdparanoia-III-10.2/interface/interface.c	(revision 15338)
+@@ -40,7 +40,7 @@
+     if(d->cdda_fd!=-1)close(d->cdda_fd);
+     if(d->ioctl_fd!=-1 && d->ioctl_fd!=d->cdda_fd)close(d->ioctl_fd);
+-    if(d->private){
+-      if(d->private->sg_hd)free(d->private->sg_hd);
+-      free(d->private);
++    if(d->private_data){
++      if(d->private_data->sg_hd)free(d->private_data->sg_hd);
++      free(d->private_data);
+     }
+ 
+@@ -128,5 +128,5 @@
+       }	
+     }
+-    if(ms)*ms=d->private->last_milliseconds;
++    if(ms)*ms=d->private_data->last_milliseconds;
+     return(sectors);
+   }
+--- cdparanoia-III-10.2/interface/scan_devices.c	(revision 15337)
++++ cdparanoia-III-10.2/interface/scan_devices.c	(revision 15338)
+@@ -265,9 +265,9 @@
+   d->bigendianp=-1; /* We don't know yet... */
+   d->nsectors=-1;
+-  d->private=calloc(1,sizeof(*d->private));
++  d->private_data=calloc(1,sizeof(*d->private_data));
+   {
+     /* goddamnit */
+     struct timespec tv;
+-    d->private->clock=(clock_gettime(CLOCK_MONOTONIC,&tv)<0?CLOCK_REALTIME:CLOCK_MONOTONIC);
++    d->private_data->clock=(clock_gettime(CLOCK_MONOTONIC,&tv)<0?CLOCK_REALTIME:CLOCK_MONOTONIC);
+   }
+   idmessage(messagedest,messages,"\t\tCDROM sensed: %s\n",description);
+@@ -675,13 +675,13 @@
+   d->nsectors=-1;
+   d->messagedest = messagedest;
+-  d->private=calloc(1,sizeof(*d->private));
++  d->private_data=calloc(1,sizeof(*d->private_data));
+   {
+     /* goddamnit */
+     struct timespec tv;
+-    d->private->clock=(clock_gettime(CLOCK_MONOTONIC,&tv)<0?CLOCK_REALTIME:CLOCK_MONOTONIC);
++    d->private_data->clock=(clock_gettime(CLOCK_MONOTONIC,&tv)<0?CLOCK_REALTIME:CLOCK_MONOTONIC);
+   }
+   if(use_sgio){
+     d->interface=SGIO_SCSI;
+-    d->private->sg_buffer=(unsigned char *)(d->private->sg_hd=malloc(MAX_BIG_BUFF_SIZE));
++    d->private_data->sg_buffer=(unsigned char *)(d->private_data->sg_hd=malloc(MAX_BIG_BUFF_SIZE));
+     g_fd=d->cdda_fd=dup(d->ioctl_fd);
+   }else{
+@@ -697,6 +697,6 @@
+ 
+     /* malloc our big buffer for scsi commands */
+-    d->private->sg_hd=malloc(MAX_BIG_BUFF_SIZE);
+-    d->private->sg_buffer=((unsigned char *)d->private->sg_hd)+SG_OFF;
++    d->private_data->sg_hd=malloc(MAX_BIG_BUFF_SIZE);
++    d->private_data->sg_buffer=((unsigned char *)d->private_data->sg_hd)+SG_OFF;
+   }
+ 
+@@ -773,7 +773,7 @@
+   if(g_fd!=-1)close(g_fd);
+   if(d){
+-    if(d->private){
+-      if(d->private->sg_hd)free(d->private->sg_hd);
+-      free(d->private);
++    if(d->private_data){
++      if(d->private_data->sg_hd)free(d->private_data->sg_hd);
++      free(d->private_data);
+     }
+     free(d);
+@@ -822,5 +822,5 @@
+   d->bigendianp=-1; /* We don't know yet... */
+   d->nsectors=-1;
+-  d->private=calloc(1,sizeof(*d->private));
++  d->private_data=calloc(1,sizeof(*d->private_data));
+   d->drive_model=copystring("File based test interface");
+   idmessage(messagedest,messages,"\t\tCDROM sensed: %s\n",d->drive_model);
+--- cdparanoia-III-10.2/interface/scsi_interface.c	(revision 15337)
++++ cdparanoia-III-10.2/interface/scsi_interface.c	(revision 15338)
+@@ -16,11 +16,11 @@
+   struct timespec tv1;
+   struct timespec tv2;
+-  int ret1=clock_gettime(d->private->clock,&tv1);
++  int ret1=clock_gettime(d->private_data->clock,&tv1);
+   int ret2=ioctl(fd, command,arg);
+-  int ret3=clock_gettime(d->private->clock,&tv2);
++  int ret3=clock_gettime(d->private_data->clock,&tv2);
+   if(ret1<0 || ret3<0){
+-    d->private->last_milliseconds=-1;
++    d->private_data->last_milliseconds=-1;
+   }else{
+-    d->private->last_milliseconds = (tv2.tv_sec-tv1.tv_sec)*1000. + (tv2.tv_nsec-tv1.tv_nsec)/1000000.;
++    d->private_data->last_milliseconds = (tv2.tv_sec-tv1.tv_sec)*1000. + (tv2.tv_nsec-tv1.tv_nsec)/1000000.;
+   }
+   return ret2;
+@@ -97,5 +97,5 @@
+   fd_set fdset;
+   struct timeval tv;
+-  struct sg_header *sg_hd=d->private->sg_hd;
++  struct sg_header *sg_hd=d->private_data->sg_hd;
+   int flag=0;
+ 
+@@ -186,5 +186,5 @@
+   int tret1,tret2;
+   int status = 0;
+-  struct sg_header *sg_hd=d->private->sg_hd;
++  struct sg_header *sg_hd=d->private_data->sg_hd;
+   long writebytes=SG_OFF+cmd_len+in_size;
+ 
+@@ -196,5 +196,5 @@
+   memset(sg_hd,0,sizeof(sg_hd)); 
+   memset(sense_buffer,0,SG_MAX_SENSE); 
+-  memcpy(d->private->sg_buffer,cmd,cmd_len+in_size);
++  memcpy(d->private_data->sg_buffer,cmd,cmd_len+in_size);
+   sg_hd->twelve_byte = cmd_len == 12;
+   sg_hd->result = 0;
+@@ -210,5 +210,5 @@
+ 
+   if(bytecheck && out_size>in_size){
+-    memset(d->private->sg_buffer+cmd_len+in_size,bytefill,out_size-in_size); 
++    memset(d->private_data->sg_buffer+cmd_len+in_size,bytefill,out_size-in_size); 
+     /* the size does not remove cmd_len due to the way the kernel
+        driver copies buffers */
+@@ -244,5 +244,5 @@
+ 
+   sigprocmask (SIG_BLOCK, &(d->sigset), NULL );
+-  tret1=clock_gettime(d->private->clock,&tv1);  
++  tret1=clock_gettime(d->private_data->clock,&tv1);  
+   errno=0;
+   status = write(d->cdda_fd, sg_hd, writebytes );
+@@ -290,5 +290,5 @@
+   }
+ 
+-  tret2=clock_gettime(d->private->clock,&tv2);  
++  tret2=clock_gettime(d->private_data->clock,&tv2);  
+   errno=0;
+   status = read(d->cdda_fd, sg_hd, SG_OFF + out_size);
+@@ -314,5 +314,5 @@
+     long i,flag=0;
+     for(i=in_size;i<out_size;i++)
+-      if(d->private->sg_buffer[i]!=bytefill){
++      if(d->private_data->sg_buffer[i]!=bytefill){
+ 	flag=1;
+ 	break;
+@@ -327,7 +327,7 @@
+   errno=0;
+   if(tret1<0 || tret2<0){
+-    d->private->last_milliseconds=-1;
++    d->private_data->last_milliseconds=-1;
+   }else{
+-    d->private->last_milliseconds = (tv2.tv_sec-tv1.tv_sec)*1000 + (tv2.tv_nsec-tv1.tv_nsec)/1000000;
++    d->private_data->last_milliseconds = (tv2.tv_sec-tv1.tv_sec)*1000 + (tv2.tv_nsec-tv1.tv_nsec)/1000000;
+   }
+   return(0);
+@@ -348,5 +348,5 @@
+   memset(&hdr,0,sizeof(hdr));
+   memset(sense,0,sizeof(sense));
+-  memcpy(d->private->sg_buffer,cmd+cmd_len,in_size);
++  memcpy(d->private_data->sg_buffer,cmd+cmd_len,in_size);
+ 
+   hdr.cmdp = cmd;
+@@ -356,5 +356,5 @@
+   hdr.timeout = 50000;
+   hdr.interface_id = 'S';
+-  hdr.dxferp =  d->private->sg_buffer;
++  hdr.dxferp =  d->private_data->sg_buffer;
+   hdr.flags = SG_FLAG_DIRECT_IO;  /* direct IO if we can get it */
+ 
+@@ -401,5 +401,5 @@
+     long i,flag=0;
+     for(i=in_size;i<out_size;i++)
+-      if(d->private->sg_buffer[i]!=bytefill){
++      if(d->private_data->sg_buffer[i]!=bytefill){
+ 	flag=1;
+ 	break;
+@@ -413,5 +413,5 @@
+ 
+   /* Can't rely on .duration because we can't be certain kernel has HZ set to something useful */
+-  /* d->private->last_milliseconds = hdr.duration; */
++  /* d->private_data->last_milliseconds = hdr.duration; */
+ 
+   errno = 0;
+@@ -446,7 +446,7 @@
+   handle_scsi_cmd(d, cmd, 6, 0, 56, 0,0, sense);
+ 
+-  key = d->private->sg_buffer[2] & 0xf;
+-  ASC = d->private->sg_buffer[12];
+-  ASCQ = d->private->sg_buffer[13];
++  key = d->private_data->sg_buffer[2] & 0xf;
++  ASC = d->private_data->sg_buffer[12];
++  ASCQ = d->private_data->sg_buffer[13];
+   
+   if(key == 2 && ASC == 4 && ASCQ == 1) return 0;
+@@ -493,5 +493,5 @@
+ 
+   {
+-    unsigned char *b=d->private->sg_buffer;
++    unsigned char *b=d->private_data->sg_buffer;
+     if(b[0])return(1); /* Handles only up to 256 bytes */
+     if(b[6])return(1); /* Handles only up to 256 bytes */
+@@ -605,6 +605,6 @@
+   if(mode_sense(d,12,0x01))return(-1);
+ 
+-  d->orgdens = d->private->sg_buffer[4];
+-  return(d->orgsize = ((int)(d->private->sg_buffer[10])<<8)+d->private->sg_buffer[11]);
++  d->orgdens = d->private_data->sg_buffer[4];
++  return(d->orgsize = ((int)(d->private_data->sg_buffer[10])<<8)+d->private_data->sg_buffer[11]);
+ }
+ 
+@@ -665,6 +665,6 @@
+   }
+ 
+-  first=d->private->sg_buffer[2];
+-  last=d->private->sg_buffer[3];
++  first=d->private_data->sg_buffer[2];
++  last=d->private_data->sg_buffer[3];
+   tracks=last-first+1;
+ 
+@@ -684,5 +684,5 @@
+     }
+     {
+-      scsi_TOC *toc=(scsi_TOC *)(d->private->sg_buffer+4);
++      scsi_TOC *toc=(scsi_TOC *)(d->private_data->sg_buffer+4);
+ 
+       d->disc_toc[i-first].bFlags=toc->bFlags;
+@@ -705,5 +705,5 @@
+   }
+   {
+-    scsi_TOC *toc=(scsi_TOC *)(d->private->sg_buffer+4);
++    scsi_TOC *toc=(scsi_TOC *)(d->private_data->sg_buffer+4);
+     
+     d->disc_toc[i-first].bFlags=toc->bFlags;
+@@ -739,5 +739,5 @@
+ 
+   /* copy to our structure and convert start sector */
+-  tracks = d->private->sg_buffer[1];
++  tracks = d->private_data->sg_buffer[1];
+   if (tracks > MAXTRK) {
+     cderror(d,"003: CDROM reporting illegal number of tracks\n");
+@@ -755,31 +755,31 @@
+     }
+     
+-    d->disc_toc[i].bFlags = d->private->sg_buffer[10];
++    d->disc_toc[i].bFlags = d->private_data->sg_buffer[10];
+     d->disc_toc[i].bTrack = i + 1;
+ 
+     d->disc_toc[i].dwStartSector= d->adjust_ssize * 
+-	(((signed char)(d->private->sg_buffer[2])<<24) | 
+-	 (d->private->sg_buffer[3]<<16)|
+-	 (d->private->sg_buffer[4]<<8)|
+-	 (d->private->sg_buffer[5]));
++	(((signed char)(d->private_data->sg_buffer[2])<<24) | 
++	 (d->private_data->sg_buffer[3]<<16)|
++	 (d->private_data->sg_buffer[4]<<8)|
++	 (d->private_data->sg_buffer[5]));
+   }
+ 
+   d->disc_toc[i].bFlags = 0;
+   d->disc_toc[i].bTrack = i + 1;
+-  memcpy (&foo, d->private->sg_buffer+2, 4);
+-  memcpy (&bar, d->private->sg_buffer+6, 4);
++  memcpy (&foo, d->private_data->sg_buffer+2, 4);
++  memcpy (&bar, d->private_data->sg_buffer+6, 4);
+   d->disc_toc[i].dwStartSector = d->adjust_ssize * (be32_to_cpu(foo) +
+ 						    be32_to_cpu(bar));
+ 
+   d->disc_toc[i].dwStartSector= d->adjust_ssize * 
+-    ((((signed char)(d->private->sg_buffer[2])<<24) | 
+-      (d->private->sg_buffer[3]<<16)|
+-      (d->private->sg_buffer[4]<<8)|
+-      (d->private->sg_buffer[5]))+
++    ((((signed char)(d->private_data->sg_buffer[2])<<24) | 
++      (d->private_data->sg_buffer[3]<<16)|
++      (d->private_data->sg_buffer[4]<<8)|
++      (d->private_data->sg_buffer[5]))+
+      
+-     ((((signed char)(d->private->sg_buffer[6])<<24) | 
+-       (d->private->sg_buffer[7]<<16)|
+-       (d->private->sg_buffer[8]<<8)|
+-       (d->private->sg_buffer[9]))));
++     ((((signed char)(d->private_data->sg_buffer[6])<<24) | 
++       (d->private_data->sg_buffer[7]<<16)|
++       (d->private_data->sg_buffer[8]<<8)|
++       (d->private_data->sg_buffer[9]))));
+ 
+ 
+@@ -818,5 +818,5 @@
+   if((ret=handle_scsi_cmd(d,cmd,10,0,sectors * CD_FRAMESIZE_RAW,'\177',1,sense)))
+     return(ret);
+-  if(p)memcpy(p,d->private->sg_buffer,sectors*CD_FRAMESIZE_RAW);
++  if(p)memcpy(p,d->private_data->sg_buffer,sectors*CD_FRAMESIZE_RAW);
+   return(0);
+ }
+@@ -837,5 +837,5 @@
+   if((ret=handle_scsi_cmd(d,cmd,12,0,sectors * CD_FRAMESIZE_RAW,'\177',1,sense)))
+     return(ret);
+-  if(p)memcpy(p,d->private->sg_buffer,sectors*CD_FRAMESIZE_RAW);
++  if(p)memcpy(p,d->private_data->sg_buffer,sectors*CD_FRAMESIZE_RAW);
+   return(0);
+ }
+@@ -855,5 +855,5 @@
+   if((ret=handle_scsi_cmd(d,cmd,10,0,sectors * CD_FRAMESIZE_RAW,'\177',1,sense)))
+     return(ret);
+-  if(p)memcpy(p,d->private->sg_buffer,sectors*CD_FRAMESIZE_RAW);
++  if(p)memcpy(p,d->private_data->sg_buffer,sectors*CD_FRAMESIZE_RAW);
+   return(0);
+ }
+@@ -873,5 +873,5 @@
+   if((ret=handle_scsi_cmd(d,cmd,12,0,sectors * CD_FRAMESIZE_RAW,'\177',1,sense)))
+     return(ret);
+-  if(p)memcpy(p,d->private->sg_buffer,sectors*CD_FRAMESIZE_RAW);
++  if(p)memcpy(p,d->private_data->sg_buffer,sectors*CD_FRAMESIZE_RAW);
+   return(0);
+ }
+@@ -891,5 +891,5 @@
+   if((ret=handle_scsi_cmd(d,cmd,10,0,sectors * CD_FRAMESIZE_RAW,'\177',1,sense)))
+     return(ret);
+-  if(p)memcpy(p,d->private->sg_buffer,sectors*CD_FRAMESIZE_RAW);
++  if(p)memcpy(p,d->private_data->sg_buffer,sectors*CD_FRAMESIZE_RAW);
+   return(0);
+ }
+@@ -909,5 +909,5 @@
+   if((ret=handle_scsi_cmd(d,cmd,12,0,sectors * CD_FRAMESIZE_RAW,'\177',1,sense)))
+     return(ret);
+-  if(p)memcpy(p,d->private->sg_buffer,sectors*CD_FRAMESIZE_RAW);
++  if(p)memcpy(p,d->private_data->sg_buffer,sectors*CD_FRAMESIZE_RAW);
+   return(0);
+ }
+@@ -923,5 +923,5 @@
+   if((ret=handle_scsi_cmd(d,cmd,12,0,sectors * CD_FRAMESIZE_RAW,'\177',1,sense)))
+     return(ret);
+-  if(p)memcpy(p,d->private->sg_buffer,sectors*CD_FRAMESIZE_RAW);
++  if(p)memcpy(p,d->private_data->sg_buffer,sectors*CD_FRAMESIZE_RAW);
+   return(0);
+ }
+@@ -937,5 +937,5 @@
+   if((ret=handle_scsi_cmd(d,cmd,12,0,sectors * CD_FRAMESIZE_RAW,'\177',1,sense)))
+     return(ret);
+-  if(p)memcpy(p,d->private->sg_buffer,sectors*CD_FRAMESIZE_RAW);
++  if(p)memcpy(p,d->private_data->sg_buffer,sectors*CD_FRAMESIZE_RAW);
+   return(0);
+ }
+@@ -951,5 +951,5 @@
+   if((ret=handle_scsi_cmd(d,cmd,12,0,sectors * CD_FRAMESIZE_RAW,'\177',1,sense)))
+     return(ret);
+-  if(p)memcpy(p,d->private->sg_buffer,sectors*CD_FRAMESIZE_RAW);
++  if(p)memcpy(p,d->private_data->sg_buffer,sectors*CD_FRAMESIZE_RAW);
+   return(0);
+ }
+@@ -965,5 +965,5 @@
+   if((ret=handle_scsi_cmd(d,cmd,12,0,sectors * CD_FRAMESIZE_RAW,'\177',1,sense)))
+     return(ret);
+-  if(p)memcpy(p,d->private->sg_buffer,sectors*CD_FRAMESIZE_RAW);
++  if(p)memcpy(p,d->private_data->sg_buffer,sectors*CD_FRAMESIZE_RAW);
+   return(0);
+ }
+@@ -979,5 +979,5 @@
+   if((ret=handle_scsi_cmd(d,cmd,12,0,sectors * CD_FRAMESIZE_RAW,'\177',1,sense)))
+     return(ret);
+-  if(p)memcpy(p,d->private->sg_buffer,sectors*CD_FRAMESIZE_RAW);
++  if(p)memcpy(p,d->private_data->sg_buffer,sectors*CD_FRAMESIZE_RAW);
+   return(0);
+ }
+@@ -993,5 +993,5 @@
+   if((ret=handle_scsi_cmd(d,cmd,12,0,sectors * CD_FRAMESIZE_RAW,'\177',1,sense)))
+     return(ret);
+-  if(p)memcpy(p,d->private->sg_buffer,sectors*CD_FRAMESIZE_RAW);
++  if(p)memcpy(p,d->private_data->sg_buffer,sectors*CD_FRAMESIZE_RAW);
+   return(0);
+ }
+@@ -1027,5 +1027,5 @@
+   if((ret=handle_scsi_cmd(d,cmd,12,0,sectors * CD_FRAMESIZE_RAW,'\177',1,sense)))
+     return(ret);
+-  if(p)memcpy(p,d->private->sg_buffer,sectors*CD_FRAMESIZE_RAW);
++  if(p)memcpy(p,d->private_data->sg_buffer,sectors*CD_FRAMESIZE_RAW);
+   return(0);
+ }
+@@ -1040,5 +1040,5 @@
+   if((ret=handle_scsi_cmd(d,cmd,12,0,sectors * CD_FRAMESIZE_RAW,'\177',1,sense)))
+     return(ret);
+-  if(p)memcpy(p,d->private->sg_buffer,sectors*CD_FRAMESIZE_RAW);
++  if(p)memcpy(p,d->private_data->sg_buffer,sectors*CD_FRAMESIZE_RAW);
+   return(0);
+ }
+@@ -1053,5 +1053,5 @@
+   if((ret=handle_scsi_cmd(d,cmd,12,0,sectors * CD_FRAMESIZE_RAW,'\177',1,sense)))
+     return(ret);
+-  if(p)memcpy(p,d->private->sg_buffer,sectors*CD_FRAMESIZE_RAW);
++  if(p)memcpy(p,d->private_data->sg_buffer,sectors*CD_FRAMESIZE_RAW);
+   return(0);
+ }
+@@ -1276,5 +1276,5 @@
+   long i;
+   for(i=2351;i>=0;i--)
+-    if(d->private->sg_buffer[i]!=(unsigned char)'\177')
++    if(d->private_data->sg_buffer[i]!=(unsigned char)'\177')
+       return(((i+3)>>2)<<2);
+ 
+@@ -1285,5 +1285,5 @@
+   long i,flag=0;
+   for(i=0;i<2352;i++)
+-    if(d->private->sg_buffer[i]!=0){
++    if(d->private_data->sg_buffer[i]!=0){
+       flag=1;
+       break;
+@@ -1622,5 +1622,5 @@
+   if(mode_sense(d,22,0x2A)==0){
+   
+-    b=d->private->sg_buffer;
++    b=d->private_data->sg_buffer;
+     b+=b[3]+4;
+     
+@@ -1670,5 +1670,5 @@
+     return(NULL);
+   }
+-  return (d->private->sg_buffer);
++  return (d->private_data->sg_buffer);
+ }
+ 
+@@ -1726,6 +1726,6 @@
+ 
+   d->error_retry=1;
+-  d->private->sg_hd=realloc(d->private->sg_hd,d->nsectors*CD_FRAMESIZE_RAW + SG_OFF + 128);
+-  d->private->sg_buffer=((unsigned char *)d->private->sg_hd)+SG_OFF;
++  d->private_data->sg_hd=realloc(d->private_data->sg_hd,d->nsectors*CD_FRAMESIZE_RAW + SG_OFF + 128);
++  d->private_data->sg_buffer=((unsigned char *)d->private_data->sg_hd)+SG_OFF;
+   d->report_all=1;
+   return(0);
+--- cdparanoia-III-10.2/interface/test_interface.c	(revision 15337)
++++ cdparanoia-III-10.2/interface/test_interface.c	(revision 15338)
+@@ -67,7 +67,7 @@
+ 
+   if(begin<lastread)
+-    d->private->last_milliseconds=20;
++    d->private_data->last_milliseconds=20;
+   else
+-    d->private->last_milliseconds=sectors;
++    d->private_data->last_milliseconds=sectors;
+ 
+ #ifdef CDDA_TEST_UNDERRUN
diff --git a/pkgs/applications/audio/chuck/clang.patch b/pkgs/applications/audio/chuck/clang.patch
new file mode 100644
index 00000000000..77227ef0fd4
--- /dev/null
+++ b/pkgs/applications/audio/chuck/clang.patch
@@ -0,0 +1,58 @@
+diff --git a/src/ugen_osc.cpp b/src/ugen_osc.cpp
+index 6b93c6b..dbefe4f 100644
+--- a/src/ugen_osc.cpp
++++ b/src/ugen_osc.cpp
+@@ -1232,7 +1232,7 @@ CK_DLL_CTRL( gen5_coeffs )
+     Chuck_Array8 * in_args = (Chuck_Array8 *)GET_CK_OBJECT(ARGS);
+     
+     // fprintf(stdout, "calling gen10coeffs, %d\n", weights);
+-    if(in_args<0) return;
++    if(in_args!=0) return;
+     size = in_args->size();
+     if(size >= genX_MAX_COEFFS) size = genX_MAX_COEFFS - 1;
+     
+@@ -1287,7 +1287,7 @@ CK_DLL_CTRL( gen7_coeffs )
+     Chuck_Array8 * in_args = (Chuck_Array8 *)GET_CK_OBJECT(ARGS);
+     
+     // fprintf(stdout, "calling gen10coeffs, %d\n", weights);
+-    if(in_args<0) return;
++    if(in_args!=0) return;
+     size = in_args->size();
+     if(size >= genX_MAX_COEFFS) size = genX_MAX_COEFFS - 1;
+     
+@@ -1340,7 +1340,7 @@ CK_DLL_CTRL( gen9_coeffs )
+     Chuck_Array8 * weights = (Chuck_Array8 *)GET_CK_OBJECT(ARGS);
+     
+     // fprintf(stdout, "calling gen10coeffs, %d\n", weights);
+-    if(weights<0) return;
++    if(weights!=0) return;
+     size = weights->size();
+     if(size >= genX_MAX_COEFFS) size = genX_MAX_COEFFS - 1;
+     
+@@ -1390,7 +1390,7 @@ CK_DLL_CTRL( gen10_coeffs )
+     Chuck_Array8 * weights = (Chuck_Array8 *)GET_CK_OBJECT(ARGS);
+     
+     // fprintf(stdout, "calling gen10coeffs, %d\n", weights);
+-    if(weights<0) return;
++    if(weights!=0) return;
+     size = weights->size();
+     if(size >= genX_MAX_COEFFS) size = genX_MAX_COEFFS - 1;
+     
+@@ -1441,7 +1441,7 @@ CK_DLL_CTRL( gen17_coeffs )
+     Chuck_Array8 * weights = (Chuck_Array8 *)GET_CK_OBJECT(ARGS);
+     
+     // fprintf(stdout, "calling gen17coeffs, %d\n", weights);
+-    if(weights<0) return;
++    if(weights!=0) return;
+     size = weights->size();
+     if(size >= genX_MAX_COEFFS) size = genX_MAX_COEFFS - 1;
+     
+@@ -1502,7 +1502,7 @@ CK_DLL_CTRL( curve_coeffs )
+     Chuck_Array8 * weights = (Chuck_Array8 *)GET_CK_OBJECT(ARGS);
+     
+     // fprintf(stdout, "calling gen17coeffs, %d\n", weights);
+-    if(weights<0) goto done;
++    if(weights!=0) goto done;
+ 
+     nargs = weights->size();
+     if (nargs < 5 || (nargs % 3) != 2)  {   // check number of args
diff --git a/pkgs/applications/audio/chuck/default.nix b/pkgs/applications/audio/chuck/default.nix
index fd7f0c2b07c..e94172b0f87 100644
--- a/pkgs/applications/audio/chuck/default.nix
+++ b/pkgs/applications/audio/chuck/default.nix
@@ -1,4 +1,6 @@
-{ stdenv, fetchurl, alsaLib, bison, flex, libsndfile, which }:
+{ stdenv, fetchurl, alsaLib, bison, flex, libsndfile, which
+, AppKit, Carbon, CoreAudio, CoreMIDI, CoreServices, Kernel
+}:
 
 stdenv.mkDerivation rec {
   version = "1.3.5.2";
@@ -10,19 +12,24 @@ stdenv.mkDerivation rec {
   };
 
   buildInputs = [ bison flex libsndfile which ]
-    ++ stdenv.lib.optional (!stdenv.isDarwin) alsaLib;
+    ++ stdenv.lib.optional (!stdenv.isDarwin) alsaLib
+    ++ stdenv.lib.optional stdenv.isDarwin [ AppKit Carbon CoreAudio CoreMIDI CoreServices Kernel ];
 
-  patches = [ ./darwin-limits.patch ];
+  patches = [ ./clang.patch ./darwin-limits.patch ];
+
+  NIX_CFLAGS_COMPILE = stdenv.lib.optionalString stdenv.isDarwin "-Wno-missing-sysroot";
+  NIX_LDFLAGS = stdenv.lib.optionalString stdenv.isDarwin "-framework MultitouchSupport";
 
   postPatch = ''
     substituteInPlace src/makefile --replace "/usr/bin" "$out/bin"
     substituteInPlace src/makefile.osx --replace "xcodebuild" "/usr/bin/xcodebuild"
     substituteInPlace src/makefile.osx --replace "weak_framework" "framework"
+    substituteInPlace src/makefile.osx --replace "MACOSX_DEPLOYMENT_TARGET=10.5" "MACOSX_DEPLOYMENT_TARGET=$MACOSX_DEPLOYMENT_TARGET"
   '';
 
-  buildPhase =
-    stdenv.lib.optionals stdenv.isLinux  ["make -C src linux-alsa"] ++
-    stdenv.lib.optionals stdenv.isDarwin ["make -C src osx"];
+  buildPhase = ''
+    make -C src ${if stdenv.isDarwin then "osx" else "linux-alsa"}
+  '';
 
   installPhase = ''
     install -Dm755 ./src/chuck $out/bin/chuck
diff --git a/pkgs/applications/audio/clementine/default.nix b/pkgs/applications/audio/clementine/default.nix
index 92a33035c82..6379975e951 100644
--- a/pkgs/applications/audio/clementine/default.nix
+++ b/pkgs/applications/audio/clementine/default.nix
@@ -70,12 +70,21 @@ let
 
   free = stdenv.mkDerivation {
     name = "clementine-free-${version}";
-    inherit src patches nativeBuildInputs buildInputs postPatch;
+    inherit src patches nativeBuildInputs postPatch;
+
+    buildInputs = buildInputs ++ [ makeWrapper ];
 
     cmakeFlags = [ "-DUSE_SYSTEM_PROJECTM=ON" ];
 
     enableParallelBuilding = true;
 
+    passthru.unfree = unfree;
+
+    postInstall = ''
+      wrapProgram $out/bin/clementine \
+        --prefix GST_PLUGIN_SYSTEM_PATH_1_0 : "$GST_PLUGIN_SYSTEM_PATH_1_0"
+    '';
+
     meta = with stdenv.lib; {
       homepage = http://www.clementine-player.org;
       description = "A multiplatform music player";
@@ -85,8 +94,8 @@ let
     };
   };
 
-  # Spotify blob for Clementine
-  blob = stdenv.mkDerivation {
+  # Unfree Spotify blob for Clementine
+  unfree = stdenv.mkDerivation {
     name = "clementine-blob-${version}";
     # Use the same patches and sources as Clementine
     inherit src nativeBuildInputs postPatch;
@@ -95,7 +104,7 @@ let
       ./clementine-spotify-blob.patch
     ];
 
-    buildInputs = buildInputs ++ [ libspotify ];
+    buildInputs = buildInputs ++ [ libspotify makeWrapper gst_plugins ];
     # Only build and install the Spotify blob
     preBuild = ''
       cd ext/clementine-spotifyblob
@@ -104,6 +113,14 @@ let
       mkdir -p $out/libexec/clementine
       mv $out/bin/clementine-spotifyblob $out/libexec/clementine
       rmdir $out/bin
+
+      makeWrapper ${free}/bin/clementine $out/bin/clementine \
+        --set CLEMENTINE_SPOTIFYBLOB $out/libexec/clementine
+
+      mkdir -p $out/share
+      for dir in applications icons kde4; do
+        ln -s "$free/share/$dir" "$out/share/$dir"
+      done
     '';
     enableParallelBuilding = true;
     meta = with stdenv.lib; {
@@ -116,34 +133,4 @@ let
     };
   };
 
-in
-
-with stdenv.lib;
-
-runCommand "clementine-${version}"
-{
-  inherit blob free;
-  buildInputs = [ makeWrapper ] ++ gst_plugins; # for the setup-hooks
-  dontPatchELF = true;
-  dontStrip = true;
-  meta = {
-    description = "A multiplatform music player"
-      + " (" + (optionalString withSpotify "with Spotify, ")
-      + "with gstreamer plugins: "
-      + concatStrings (intersperse ", " (map (x: x.name) gst_plugins))
-      + ")";
-    license = licenses.gpl3Plus;
-    inherit (free.meta) homepage platforms maintainers;
-  };
-}
-''
-  mkdir -p $out/bin
-  makeWrapper "$free/bin/${exeName}" "$out/bin/${exeName}" \
-      ${optionalString withSpotify "--set CLEMENTINE_SPOTIFYBLOB \"$blob/libexec/clementine\""} \
-      --prefix GST_PLUGIN_SYSTEM_PATH_1_0 : "$GST_PLUGIN_SYSTEM_PATH_1_0"
-
-  mkdir -p $out/share
-  for dir in applications icons kde4; do
-      ln -s "$free/share/$dir" "$out/share/$dir"
-  done
-''
+in free
diff --git a/pkgs/applications/audio/crip/default.nix b/pkgs/applications/audio/crip/default.nix
new file mode 100644
index 00000000000..0383af06795
--- /dev/null
+++ b/pkgs/applications/audio/crip/default.nix
@@ -0,0 +1,68 @@
+{ stdenv
+, fetchurl
+, makeWrapper
+
+, perl
+, perlPackages
+
+, cdparanoia
+, coreutils
+, eject
+, flac
+, gnugrep
+, nano
+, sox
+, vorbis-tools
+, vorbisgain
+, which
+}:
+
+with stdenv.lib;
+
+stdenv.mkDerivation rec {
+  name = "crip-3.9";
+  src = fetchurl {
+    url = "http://bach.dynet.com/crip/src/${name}.tar.gz";
+    sha256 = "0pk9152wll6fmkj1pki3fz3ijlf06jyk32v31yarwvdkwrk7s9xz";
+  };
+
+  buildInputs = [ perl perlPackages.CDDB_get ];
+  nativeBuildInputs = [ makeWrapper ];
+
+  toolDeps = makeBinPath [
+    cdparanoia
+    coreutils
+    eject
+    flac
+    gnugrep
+    sox
+    vorbis-tools
+    vorbisgain
+    which
+  ];
+
+  scripts = [ "crip" "editcomment" "editfilenames" ];
+
+  installPhase = ''
+    mkdir -p $out/bin/
+
+    for script in ${escapeShellArgs scripts}; do
+      cp $script $out/bin/
+
+      substituteInPlace $out/bin/$script \
+        --replace '$editor = "vim";' '$editor = "${nano}/bin/nano";'
+
+      wrapProgram $out/bin/$script \
+        --set PERL5LIB "${makePerlPath [ perlPackages.CDDB_get ]}" \
+        --set PATH "${toolDeps}"
+    done
+  '';
+
+  meta = {
+    homepage = http://bach.dynet.com/crip/;
+    description = "Terminal-based ripper/encoder/tagger tool for creating Ogg Vorbis/FLAC files";
+    license = stdenv.lib.licenses.gpl1;
+    platforms = stdenv.lib.platforms.linux;
+    maintainers = [ maintainers.endgame ];
+  };
+}
diff --git a/pkgs/applications/audio/csound/default.nix b/pkgs/applications/audio/csound/default.nix
index dc0c8eabcac..191074eba27 100644
--- a/pkgs/applications/audio/csound/default.nix
+++ b/pkgs/applications/audio/csound/default.nix
@@ -14,7 +14,7 @@
 
 stdenv.mkDerivation rec {
   name = "csound-${version}";
-  version = "6.09.0";
+  version = "6.10.0";
 
   enableParallelBuilding = true;
 
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
     owner = "csound";
     repo = "csound";
     rev = version;
-    sha256 = "1vfb0mab89psfwidadjrn5mbzq3bhjbyrrmyp98yp0xm6a8cssih";
+    sha256 = "1mak183y8bn097z9q3k7f1kwvawkngkc4ch9hv6gqhgfy1cjln8n";
   };
 
   cmakeFlags = [ "-DBUILD_CSOUND_AC=0" ] # fails to find Score.hpp
diff --git a/pkgs/applications/audio/deadbeef/default.nix b/pkgs/applications/audio/deadbeef/default.nix
index be70443fd4d..4dced0cfafa 100644
--- a/pkgs/applications/audio/deadbeef/default.nix
+++ b/pkgs/applications/audio/deadbeef/default.nix
@@ -93,7 +93,7 @@ stdenv.mkDerivation rec {
     description = "Ultimate Music Player for GNU/Linux";
     homepage = http://deadbeef.sourceforge.net/;
     license = licenses.gpl2;
-    platforms = platforms.linux;
+    platforms = [ "x86_64-linux" "i686-linux" ];
     maintainers = [ maintainers.abbradar ];
     repositories.git = "https://github.com/Alexey-Yakovenko/deadbeef";
   };
diff --git a/pkgs/applications/audio/dragonfly-reverb/default.nix b/pkgs/applications/audio/dragonfly-reverb/default.nix
new file mode 100644
index 00000000000..b3d9fd58028
--- /dev/null
+++ b/pkgs/applications/audio/dragonfly-reverb/default.nix
@@ -0,0 +1,33 @@
+{ stdenv, fetchgit, libjack2, libGL, pkgconfig, xorg }:
+
+stdenv.mkDerivation rec {
+  name = "dragonfly-reverb-${src.rev}";
+
+  src = fetchgit {
+    url = "https://github.com/michaelwillis/dragonfly-reverb";
+    rev = "0.9.1";
+    sha256 = "1dbykx044h768bbzabdagl4jh65gqgfsxsrarjrkp07sqnhlnhpd";
+  };
+
+  patchPhase = ''
+    patchShebangs dpf/utils/generate-ttl.sh
+  '';
+
+  nativeBuildInputs = [ pkgconfig ];
+  buildInputs = [
+    libjack2 xorg.libX11 libGL
+  ];
+
+  installPhase = ''
+    mkdir -p $out/lib/lv2/
+    cp -a bin/DragonflyReverb.lv2/ $out/lib/lv2/
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/michaelwillis/dragonfly-reverb;
+    description = "A hall-style reverb based on freeverb3 algorithms";
+    maintainers = [ maintainers.magnetophon ];
+    license = licenses.gpl2;
+    platforms = ["x86_64-linux"];
+  };
+}
diff --git a/pkgs/applications/audio/drumkv1/default.nix b/pkgs/applications/audio/drumkv1/default.nix
index 4ceafa1e52e..3594fd881b2 100644
--- a/pkgs/applications/audio/drumkv1/default.nix
+++ b/pkgs/applications/audio/drumkv1/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "drumkv1-${version}";
-  version = "0.8.6";
+  version = "0.9.0";
 
   src = fetchurl {
     url = "mirror://sourceforge/drumkv1/${name}.tar.gz";
-    sha256 = "0fwxrfyp15a4m77mzz4mwj36mhdrj646whlrkvcys33p2w75f8cq";
+    sha256 = "1vm8lrk3lykdic6fyfpl12jx1xg6rcaid242s8sij30p1ix4zdab";
   };
 
   buildInputs = [ libjack2 alsaLib libsndfile liblo lv2 qt5.qtbase qt5.qttools ];
diff --git a/pkgs/applications/audio/easytag/default.nix b/pkgs/applications/audio/easytag/default.nix
index 1ca2570fd4b..f3bcff7a2c5 100644
--- a/pkgs/applications/audio/easytag/default.nix
+++ b/pkgs/applications/audio/easytag/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, pkgconfig, intltool, gtk3, glib, libid3tag, id3lib, taglib
-, libvorbis, libogg, flac, itstool, libxml2, gsettings-desktop-schemas
+, libvorbis, libogg, opusfile, flac, itstool, libxml2, gsettings-desktop-schemas
 , gnome3, wrapGAppsHook
 }:
 
@@ -18,10 +18,12 @@ in stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkgconfig intltool itstool libxml2 wrapGAppsHook ];
   buildInputs = [
-    gtk3 glib libid3tag id3lib taglib libvorbis libogg flac
+    gtk3 glib libid3tag id3lib taglib libvorbis libogg opusfile flac
     gsettings-desktop-schemas gnome3.defaultIconTheme
   ];
 
+  doCheck = false; # fails 1 out of 9 tests
+
   passthru = {
     updateScript = gnome3.updateScript {
       packageName = pname;
diff --git a/pkgs/applications/audio/eflite/buf-overflow.patch b/pkgs/applications/audio/eflite/buf-overflow.patch
deleted file mode 100644
index 8873aa77b0e..00000000000
--- a/pkgs/applications/audio/eflite/buf-overflow.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-Fix buffer overflow
-
---- eflite-0.4.1.orig/es.c
-+++ eflite-0.4.1/es.c
-@@ -329,7 +329,7 @@
-   char *p;
- 
-   p = getenv("HOME");
--  sprintf(buf, "%s/.es.conf", p);
-+  snprintf(buf, sizeof(buf), "%s/.es.conf", p);
-   fp = fopen(buf, "r");
-   if (!fp) fp = fopen("/etc/es.conf", "r");
-   if (!fp) return 1;
-@@ -438,7 +438,7 @@
-   char logname[200];
- 
-   if ((flags & 0xffff) > DEBUG) return;
--  sprintf(logname, "%s/es.log", getenv("HOME"));
-+  snprintf(logname, sizeof(logname), "%s/es.log", getenv("HOME"));
-   va_start(arg, text);
-   vsnprintf(buf, 200, text, arg);
-   va_end(arg);
diff --git a/pkgs/applications/audio/eflite/cvs-update.patch b/pkgs/applications/audio/eflite/cvs-update.patch
deleted file mode 100644
index 1ceace83aa5..00000000000
--- a/pkgs/applications/audio/eflite/cvs-update.patch
+++ /dev/null
@@ -1,98 +0,0 @@
---- eflite-0.4.1.orig/fs.c
-+++ eflite-0.4.1/fs.c
-@@ -9,7 +9,7 @@
-  * GNU General Public License, as published by the Free Software
-  * Foundation.  Please see the file COPYING for details.
-  *
-- * $Id: fs.c,v 1.19 2007/01/18 23:58:42 mgorse Exp $
-+ * $Id: fs.c,v 1.22 2008/03/05 15:21:43 mgorse Exp $
-  *
-  * Notes:
-  *
-@@ -505,19 +505,6 @@
-   }
- }
- 
--
--
--static void play_audio_close(void *cancel)
--{
--  if (audiodev)
--  {
--	audio_drain(audiodev);
--	close_audiodev();
--	//	usleep(5000);
--  }
--}
--
--
- static inline void determine_playlen(int speed, cst_wave *wptr, int type, int *pl, int *s)
- {
-   int playlen, skip;
-@@ -573,12 +560,12 @@
- 	type = ac[ac_head].type;
- 	WAVE_UNLOCK;
- 	pthread_testcancel();
--	pthread_cleanup_push(play_audio_close, NULL);
--
-+	
- 	es_log(2, "Opening audio device.");
- 	/* We abuse the wave mutex here to avoid being canceled
- 	 * while the audio device is being openned */
- 	WAVE_LOCK;
-+	assert(audiodev == NULL);
- 	audiodev = audio_open(wptr->sample_rate, wptr->num_channels, CST_AUDIO_LINEAR16);
- 	WAVE_UNLOCK;
- 	if (audiodev == NULL)
-@@ -606,8 +593,8 @@
- #ifdef DEBUG
- 	  start_time = get_ticks_count();
- #endif
--	  pthread_setcanceltype(PTHREAD_CANCEL_ASYNCHRONOUS, NULL);
-       audio_write(audiodev, wptr->samples + skip, playlen * 2);
-+      pthread_testcancel();
- 	  es_log(2, "Write took %.2f seconds.", get_ticks_count() - start_time);
- 	}
-     es_log(2, "play: syncing.");
-@@ -617,16 +604,16 @@
-     audio_flush(audiodev);
- 	pthread_setcanceltype(PTHREAD_CANCEL_DEFERRED, NULL);
- 	es_log(2, "Flush took %.2f seconds.", get_ticks_count() - start_time);
--    es_log(2, "play: Closing audio device");
--	close_audiodev();
--	pthread_cleanup_pop(0);
--	  pthread_testcancel();
--	  TEXT_LOCK;
-+    	pthread_testcancel();
-+
-+	TEXT_LOCK;
-     time_left -= ((float)playlen) / wptr->sample_rate;
- 	pthread_cond_signal(&text_condition);
- 	TEXT_UNLOCK;
- 
- 	WAVE_LOCK;
-+	es_log(2, "play: Closing audio device");
-+	close_audiodev();
-     ac_destroy(&ac[ac_head]);
- 	ac_head++;
- 	if (ac_head == ac_tail)
-@@ -894,6 +881,7 @@
- 	WAVE_LOCK_NI;
- 	pthread_cond_signal(&wave_condition); // necessary because we inhibit cancellation while waiting
- 	pthread_cancel(wave_thread);
-+	if (audiodev != NULL) audio_drain(audiodev);
- 	WAVE_UNLOCK_NI;
-   }
- 
-@@ -917,7 +905,10 @@
-   }
- 	
-   /* At this point, no thread is running */
--  
-+
-+  // Make sure audio device is closed
-+  close_audiodev();
-+
-   /* Free any wave data */
-   es_log(2, "s_clear: freeing wave data: %d", ac_tail);
-   for (i = 0; i < ac_tail; i++)
diff --git a/pkgs/applications/audio/eflite/default.nix b/pkgs/applications/audio/eflite/default.nix
index 36fbdbc2cc9..4138a07ec06 100644
--- a/pkgs/applications/audio/eflite/default.nix
+++ b/pkgs/applications/audio/eflite/default.nix
@@ -1,21 +1,40 @@
-{stdenv,fetchurl,flite,alsaLib,debug ? false}:
+{ stdenv, fetchurl, fetchpatch, flite, alsaLib, debug ? false }:
 
 stdenv.mkDerivation rec {
   name = "eflite-${version}";
   version = "0.4.1";
+
   src = fetchurl {
     url = "https://sourceforge.net/projects/eflite/files/eflite/${version}/${name}.tar.gz";
     sha256 = "088p9w816s02s64grfs28gai3lnibzdjb9d1jwxzr8smbs2qbbci";
   };
+
   buildInputs = [ flite alsaLib ];
-  configureFlags = "flite_dir=${flite} --with-audio=alsa --with-vox=cmu_us_kal16";
+
+  configureFlags = [
+    "flite_dir=${flite}"
+    "--with-audio=alsa"
+    "--with-vox=cmu_us_kal16"
+  ];
+
   patches = [
-    ./buf-overflow.patch
-    ./cvs-update.patch
-    ./link.patch
+    (fetchpatch {
+      url = "https://sources.debian.org/data/main/e/eflite/0.4.1-8/debian/patches/cvs-update";
+      sha256 = "0r631vzmky7b7qyhm152557y4fr0xqrpi3y4w66fcn6p4rj03j05";
+    })
+    (fetchpatch {
+      url = "https://sources.debian.org/data/main/e/eflite/0.4.1-8/debian/patches/buf-overflow";
+      sha256 = "071qk133kb7n7bq6kxgh3p9bba6hcl1ixsn4lx8vp8klijgrvkmx";
+    })
+    (fetchpatch {
+      url = "https://sources.debian.org/data/main/e/eflite/0.4.1-8/debian/patches/link";
+      sha256 = "0p833dp4pdsya72bwh3syvkq85927pm6snxvx13lvcppisbhj0fc";
+    })
     ./format.patch
-  ]; # Patches are taken from debian.
+  ];
+
   CFLAGS = stdenv.lib.optionalString debug " -DDEBUG=2";
+
   meta = {
     homepage = http://eflite.sourceforge.net;
     description = "EFlite is a speech server for screen readers";
diff --git a/pkgs/applications/audio/eflite/link.patch b/pkgs/applications/audio/eflite/link.patch
deleted file mode 100644
index 73c69da965c..00000000000
--- a/pkgs/applications/audio/eflite/link.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- eflite-0.4.1/Makefile.in	2007-01-19 01:01:09.000000000 +0100
-+++ eflite-0.4.1-new/Makefile.in	2017-03-01 23:25:34.223615492 +0100
-@@ -34,7 +34,7 @@
- 	$(CC) $(LDFLAGS) -o $@ $^ -lm $(LIBS) $(FLITE_LIBS) $(AUDIOLIBS)
- 
- fs.o: fs.c
--	$(CC) $(CFLAGS) @AUDIODEFS@ -I. -I$(flite_include_dir) -DREGISTER_VOX=register_$(subst cmu_us_kal16,cmu_us_kal,$(FL_VOX)) -DSTANDALONE -DEFLITE -c -o $@ $<
-+	$(CC) $(CFLAGS) @AUDIODEFS@ -I. -I$(flite_include_dir) -DREGISTER_VOX=register_$(FL_VOX) -DSTANDALONE -DEFLITE -c -o $@ $<
- 
- tone.o: tone.c
- 	$(CC) $(CFLAGS) -I$(flite_include_dir) -DEFLITE -c -o $@ $<
diff --git a/pkgs/applications/audio/elisa/default.nix b/pkgs/applications/audio/elisa/default.nix
new file mode 100644
index 00000000000..4ef1f1dd202
--- /dev/null
+++ b/pkgs/applications/audio/elisa/default.nix
@@ -0,0 +1,35 @@
+{ mkDerivation, fetchFromGitHub, lib
+, extra-cmake-modules, kdoctools, wrapGAppsHook
+, qtmultimedia, qtquickcontrols2, qtwebsockets
+, kconfig, kcmutils, kcrash, kdeclarative, kfilemetadata, kinit
+, baloo
+}:
+
+mkDerivation rec {
+  name = "elisa-${version}";
+  version = "0.1";
+
+  src = fetchFromGitHub {
+    owner  = "KDE";
+    repo   = "elisa";
+    rev    = version;
+    sha256 = "13i0fkpwrskric3gfalh7mcpp4l2knwnq7jpq391lgh6krq04r4w";
+  };
+
+  nativeBuildInputs = [ extra-cmake-modules kdoctools wrapGAppsHook ];
+
+  propagatedBuildInputs = [
+    qtmultimedia qtquickcontrols2 qtwebsockets
+    kconfig kcmutils kcrash kdeclarative kfilemetadata kinit
+    baloo
+  ];
+
+  enableParallelBuilding = true;
+
+  meta = with lib; {
+    description = "Elisa Music Player";
+    license     = licenses.gpl3;
+    maintainers = with maintainers; [ peterhoeg ];
+    inherit (kconfig.meta) platforms;
+  };
+}
diff --git a/pkgs/applications/audio/eq10q/default.nix b/pkgs/applications/audio/eq10q/default.nix
index 3faeeb12d4c..651604c71a1 100644
--- a/pkgs/applications/audio/eq10q/default.nix
+++ b/pkgs/applications/audio/eq10q/default.nix
@@ -1,4 +1,5 @@
-{ stdenv, fetchurl, cmake, fftw, gtkmm2, libxcb, lv2, pkgconfig, xorg }:
+{ stdenv, fetchurl, fetchpatch, cmake, fftw, gtkmm2, libxcb, lv2, pkgconfig
+, xorg }:
 stdenv.mkDerivation rec {
   name = "eq10q-${version}";
   version = "2.2";
@@ -10,6 +11,14 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ cmake fftw gtkmm2 libxcb lv2 xorg.libpthreadstubs xorg.libXdmcp xorg.libxshmfence ];
 
+  patches = [
+    (fetchpatch {
+      # glibc 2.27 compatibility
+      url = https://sources.debian.org/data/main/e/eq10q/2.2~repack0-2.1/debian/patches/05-pow10.patch;
+      sha256 = "07b0wf6k4xqgigv4h095bzfaw8r218wa36r9w1817jcys13r6c5r";
+    })
+  ];
+
   installFlags = ''
     DESTDIR=$(out)
   '';
diff --git a/pkgs/applications/audio/faust/faust1.nix b/pkgs/applications/audio/faust/faust1.nix
index 4875ee8b57d..bf5bb781585 100644
--- a/pkgs/applications/audio/faust/faust1.nix
+++ b/pkgs/applications/audio/faust/faust1.nix
@@ -49,7 +49,7 @@ let
     # faust.wrapWithBuildEnv.
     postInstall = ''
       # syntax error when eval'd directly
-      pattern="faust2!(svg)"
+      pattern="faust2!(*@(atomsnippets|graph|graphviewer|md|plot|sig|sigviewer|svg))"
       (shopt -s extglob; rm "$out"/bin/$pattern)
     '';
 
diff --git a/pkgs/applications/audio/faust/faust2.nix b/pkgs/applications/audio/faust/faust2.nix
index 877bd26a5c1..db5433cc35f 100644
--- a/pkgs/applications/audio/faust/faust2.nix
+++ b/pkgs/applications/audio/faust/faust2.nix
@@ -16,13 +16,13 @@ with stdenv.lib.strings;
 
 let
 
-  version = "2.5.21";
+  version = "2.5.23";
 
   src = fetchFromGitHub {
     owner = "grame-cncm";
     repo = "faust";
     rev = "${version}";
-    sha256 = "1kfrcfhpzkpjxsrvgwmc2valgwfb4b7gfwwnlnjq6f6dp56yflpz";
+    sha256 = "1pci8ac6sqrm3mb3yikmmr3iy35g3nj4iihazif1amqkbdz719rc";
     fetchSubmodules = true;
   };
 
@@ -78,7 +78,7 @@ let
     # faust.wrapWithBuildEnv.
     postInstall = ''
       # syntax error when eval'd directly
-      pattern="faust2!(svg)"
+      pattern="faust2!(*@(atomsnippets|graph|graphviewer|md|plot|sig|sigviewer|svg))"
       (shopt -s extglob; rm "$out"/bin/$pattern)
     '';
 
diff --git a/pkgs/applications/audio/flacon/default.nix b/pkgs/applications/audio/flacon/default.nix
index cc453347aea..a16593d4d1b 100644
--- a/pkgs/applications/audio/flacon/default.nix
+++ b/pkgs/applications/audio/flacon/default.nix
@@ -5,13 +5,13 @@
 
 stdenv.mkDerivation rec {
   name = "flacon-${version}";
-  version = "4.0.0";
+  version = "4.1.0";
 
   src = fetchFromGitHub {
     owner = "flacon";
     repo = "flacon";
     rev = "v${version}";
-    sha256 = "0l0xbzpy4nnr08z7gqvb4ngrjwzpspa382cbcrpkya3nd40987kr";
+    sha256 = "1sw2v2w3s79lbzhkf96m8lwvag824am7rwfzzsi8bz6sa6krmj0m";
   };
 
   nativeBuildInputs = [ cmake pkgconfig makeWrapper ];
diff --git a/pkgs/applications/audio/fldigi/default.nix b/pkgs/applications/audio/fldigi/default.nix
index 545e7c5047a..246e02c53c7 100644
--- a/pkgs/applications/audio/fldigi/default.nix
+++ b/pkgs/applications/audio/fldigi/default.nix
@@ -2,13 +2,13 @@
   libsamplerate, libpulseaudio, libXinerama, gettext, pkgconfig, alsaLib }:
 
 stdenv.mkDerivation rec {
-  version = "3.23.15";
+  version = "4.0.16";
   pname = "fldigi";
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://sourceforge/${pname}/${name}.tar.gz";
-    sha256 = "1nxafk99fr6yb09cq3vdpzjcd85mnjwwl8rzccx21kla1ysihl5m";
+    sha256 = "1gcahm1lv3yfscaxanrx6q7dydxjznw98vdc0f8zgdb15na3f0g7";
   };
 
   buildInputs = [ libXinerama gettext hamlib fltk13 libjpeg libpng portaudio
diff --git a/pkgs/applications/audio/fluidsynth/default.nix b/pkgs/applications/audio/fluidsynth/default.nix
index 789ee35f260..27ca539850e 100644
--- a/pkgs/applications/audio/fluidsynth/default.nix
+++ b/pkgs/applications/audio/fluidsynth/default.nix
@@ -5,13 +5,13 @@
 
 stdenv.mkDerivation  rec {
   name = "fluidsynth-${version}";
-  version = "1.1.9";
+  version = "1.1.10";
 
   src = fetchFromGitHub {
     owner = "FluidSynth";
     repo = "fluidsynth";
     rev = "v${version}";
-    sha256 = "0krvmb1idnf95l2ydzfcb08ayyx3n4m71hf9fgwv3srzaikvpf3q";
+    sha256 = "04jlgq1d1hd8r9cnmkl3lgf1fgm7kgy4hh9nfddap41fm1wp121p";
   };
 
   nativeBuildInputs = [ pkgconfig cmake ];
diff --git a/pkgs/applications/audio/fmit/default.nix b/pkgs/applications/audio/fmit/default.nix
index e238f883142..f1bdcd8c524 100644
--- a/pkgs/applications/audio/fmit/default.nix
+++ b/pkgs/applications/audio/fmit/default.nix
@@ -11,10 +11,10 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   name = "fmit-${version}";
-  version = "1.1.13";
+  version = "1.1.14";
 
   src = fetchFromGitHub {
-    sha256 = "1p374gf7iksrlyvddm3w4qk3l0rxsiyymz5s8dmc447yvin8ykfq";
+    sha256 = "18gvl8smcnigzldy1acs5h8rscf287b39xi4y2cl5armqbj0y38x";
     rev = "v${version}";
     repo = "fmit";
     owner = "gillesdegottex";
diff --git a/pkgs/applications/audio/freewheeling/default.nix b/pkgs/applications/audio/freewheeling/default.nix
index 25704d26280..4266b8c69bb 100644
--- a/pkgs/applications/audio/freewheeling/default.nix
+++ b/pkgs/applications/audio/freewheeling/default.nix
@@ -8,13 +8,13 @@ in
 
 stdenv.mkDerivation rec {
   name = "freewheeling-${version}";
-  version = "0.6.2";
+  version = "0.6.4";
 
   src = fetchFromGitHub {
     owner = "free-wheeling";
     repo = "freewheeling";
     rev = "v${version}";
-    sha256 = "01hmp0jxzxpb5sl0x91hdlwmbw9n4yffrpra4f89s4n8cixrz3d9";
+    sha256 = "1xflbbnjdibjmyxb1zq8liylaw5k03nnl1z3272jh204pqh17ri9";
   };
 
   nativeBuildInputs = [ pkgconfig autoreconfHook libtool ];
diff --git a/pkgs/applications/audio/gmpc/default.nix b/pkgs/applications/audio/gmpc/default.nix
index c2adc58f9ce..099e4428016 100644
--- a/pkgs/applications/audio/gmpc/default.nix
+++ b/pkgs/applications/audio/gmpc/default.nix
@@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
   ];
 
   meta = with stdenv.lib; {
-    homepage = http://gmpclient.org;
+    homepage = https://gmpclient.org;
     description = "A GTK2 frontend for Music Player Daemon";
     license = licenses.gpl2;
     maintainers = [ maintainers.rickynils ];
diff --git a/pkgs/applications/audio/google-play-music-desktop-player/default.nix b/pkgs/applications/audio/google-play-music-desktop-player/default.nix
index 83df4b33940..6c7d6dba455 100644
--- a/pkgs/applications/audio/google-play-music-desktop-player/default.nix
+++ b/pkgs/applications/audio/google-play-music-desktop-player/default.nix
@@ -4,7 +4,7 @@
 }:
 
 let
-  version = "4.4.1";
+  version = "4.5.0";
 
   deps = [
     alsaLib
@@ -46,7 +46,7 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "https://github.com/MarshallOfSound/Google-Play-Music-Desktop-Player-UNOFFICIAL-/releases/download/v${version}/google-play-music-desktop-player_${version}_amd64.deb";
-    sha256 = "0jqgawgij6jxf3zy3glviqj6s34mq7d756syg2c7kk1gkqkwgdpw";
+    sha256 = "06h9g1yhd5q7gg8v55q143fr65frxg0khfgckr03gsaw0swin51q";
   };
 
   dontBuild = true;
diff --git a/pkgs/applications/audio/gtkpod/default.nix b/pkgs/applications/audio/gtkpod/default.nix
index 39cd1a444fa..e0e620bd05f 100644
--- a/pkgs/applications/audio/gtkpod/default.nix
+++ b/pkgs/applications/audio/gtkpod/default.nix
@@ -1,5 +1,5 @@
-{ stdenv, fetchurl, pkgconfig, makeWrapper, intltool, libgpod, curl, flac,
-  gnome, gtk3, glib, gettext, perl, perlXMLParser, flex, libglade, libid3tag,
+{ stdenv, fetchurl, pkgconfig, wrapGAppsHook, intltool, libgpod, curl, flac,
+  gnome3, gtk3, glib, gettext, perl, perlXMLParser, flex, libid3tag,
   libvorbis, hicolor-icon-theme, gdk_pixbuf }:
 
 stdenv.mkDerivation rec {
@@ -11,24 +11,17 @@ stdenv.mkDerivation rec {
     sha256 = "0xisrpx069f7bjkyc8vqxb4k0480jmx1wscqxr6cpq1qj6pchzd5";
   };
 
-  propagatedUserEnvPkgs = [ gnome.gnome-themes-standard ];
-
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ makeWrapper intltool curl gettext perl perlXMLParser
-    flex libgpod libid3tag flac libvorbis gtk3 gdk_pixbuf libglade gnome.anjuta
-    gnome.gdl gnome.defaultIconTheme
-    hicolor-icon-theme ];
+  nativeBuildInputs = [ pkgconfig wrapGAppsHook intltool ];
+  buildInputs = [
+    curl gettext perl perlXMLParser
+    flex libgpod libid3tag flac libvorbis gtk3 gdk_pixbuf
+    gnome3.gdl gnome3.defaultIconTheme gnome3.anjuta
+  ];
 
   patchPhase = ''
     sed -i 's/which/type -P/' scripts/*.sh
   '';
 
-  preFixup = ''
-    wrapProgram "$out/bin/gtkpod" \
-      --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
-      --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:${gnome.gnome-themes-standard}/share:$out/share:$GSETTINGS_SCHEMAS_PATH"
-  '';
-
   enableParallelBuilding = true;
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/audio/guitarix/default.nix b/pkgs/applications/audio/guitarix/default.nix
index bcb30168708..62bc2fa6f36 100644
--- a/pkgs/applications/audio/guitarix/default.nix
+++ b/pkgs/applications/audio/guitarix/default.nix
@@ -12,11 +12,11 @@ in
 
 stdenv.mkDerivation rec {
   name = "guitarix-${version}";
-  version = "0.36.1";
+  version = "0.37.0";
 
   src = fetchurl {
     url = "mirror://sourceforge/guitarix/guitarix2-${version}.tar.xz";
-    sha256 = "1g5949jwh2n755xjs3kcbdb8a1wxr5mn0m115wdnk27dxcdn93b0";
+    sha256 = "17dsd32yd92l7xq1x0b8jsws5yif2pk4zbfjbc560hgarym6r8x6";
   };
 
   nativeBuildInputs = [ gettext intltool wrapGAppsHook pkgconfig python2 ];
diff --git a/pkgs/applications/audio/kid3/default.nix b/pkgs/applications/audio/kid3/default.nix
index 24421b527e1..31369bd1e63 100644
--- a/pkgs/applications/audio/kid3/default.nix
+++ b/pkgs/applications/audio/kid3/default.nix
@@ -1,26 +1,26 @@
 { stdenv, fetchurl
-, pkgconfig, cmake
-, docbook_xml_dtd_45, docbook_xsl, libxslt
-, python, ffmpeg, mp4v2, flac, libogg, libvorbis
-, phonon, automoc4, chromaprint, id3lib, taglib
-, qt, zlib, readline
+, pkgconfig, cmake, python, ffmpeg, phonon, automoc4
+, chromaprint, docbook_xml_dtd_45, docbook_xsl, libxslt
+, id3lib, taglib, mp4v2, flac, libogg, libvorbis
+, zlib, readline , qtbase, qttools, qtmultimedia, qtquickcontrols
 , makeWrapper
 }:
 
 stdenv.mkDerivation rec {
 
   name = "kid3-${version}";
-  version = "3.5.1";
+  version = "3.6.1";
 
   src = fetchurl {
     url = "mirror://sourceforge/project/kid3/kid3/${version}/${name}.tar.gz";
-    sha256 = "09iryxnhg8d9q36a4brb25bqkjprkx5kl0x7vyy82gxivqk0ihl8";
+    sha256 = "1bbnd6jgahdiqmsbw6c3x4h517m50db592fnq1w0v4k5aaav4i26";
   };
 
   buildInputs = with stdenv.lib;
-  [ pkgconfig cmake python ffmpeg docbook_xml_dtd_45 docbook_xsl libxslt
-    phonon automoc4 chromaprint id3lib taglib mp4v2 flac libogg libvorbis
-    qt zlib readline makeWrapper ];
+  [ pkgconfig cmake python ffmpeg phonon automoc4
+    chromaprint docbook_xml_dtd_45 docbook_xsl libxslt
+    id3lib taglib mp4v2 flac libogg libvorbis zlib readline
+    qtbase qttools qtmultimedia qtquickcontrols makeWrapper ];
 
   cmakeFlags = [ "-DWITH_APPS=Qt;CLI" ];
   NIX_LDFLAGS = "-lm -lpthread";
@@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
   '';
 
   postInstall = ''
-    wrapProgram $out/bin/kid3-qt --prefix QT_PLUGIN_PATH : $out/lib/qt4/plugins
+    wrapProgram $out/bin/kid3-qt --prefix QT_PLUGIN_PATH : $out/lib/qt5/plugins
   '';
 
   enableParallelBuilding = true;
@@ -73,4 +73,3 @@ stdenv.mkDerivation rec {
     platforms = platforms.linux;
   };
 }
-# TODO: Qt5 support - not so urgent!
diff --git a/pkgs/applications/audio/lastfmsubmitd/default.nix b/pkgs/applications/audio/lastfmsubmitd/default.nix
index 01b450ab7dd..d0c3eab6915 100644
--- a/pkgs/applications/audio/lastfmsubmitd/default.nix
+++ b/pkgs/applications/audio/lastfmsubmitd/default.nix
@@ -6,7 +6,7 @@ pythonPackages.buildPythonApplication rec {
   version = "1.0.6";
 
   src = fetchurl {
-    url = "http://www.red-bean.com/decklin/lastfmsubmitd/lastfmsubmitd-${version}.tar.gz";
+    url = "https://www.red-bean.com/decklin/lastfmsubmitd/lastfmsubmitd-${version}.tar.gz";
     sha256 = "c2636d5095a95167366bacd458624d67b046e060244fa54ba2c2e3efb79f9b0e";
   };
 
@@ -15,7 +15,7 @@ pythonPackages.buildPythonApplication rec {
   installCommand = "python setup.py install --prefix=$out";
 
   meta = {
-    homepage = http://www.red-bean.com/decklin/lastfmsubmitd/;
+    homepage = https://www.red-bean.com/decklin/lastfmsubmitd/;
     description = "An last.fm audio scrobbler and daemon";
   };
 }
diff --git a/pkgs/applications/audio/mi2ly/default.nix b/pkgs/applications/audio/mi2ly/default.nix
index fa4ea6343e9..4dfc7b13046 100644
--- a/pkgs/applications/audio/mi2ly/default.nix
+++ b/pkgs/applications/audio/mi2ly/default.nix
@@ -36,5 +36,6 @@ stdenv.mkDerivation {
     license = stdenv.lib.licenses.gpl2Plus ;
     maintainers = [stdenv.lib.maintainers.raskin];
     platforms = stdenv.lib.platforms.linux;
+    broken = true; # 2018-04-11
   };
 }
diff --git a/pkgs/applications/audio/mopidy-gmusic/default.nix b/pkgs/applications/audio/mopidy/gmusic.nix
index b792ec3428e..e58cddd4294 100644
--- a/pkgs/applications/audio/mopidy-gmusic/default.nix
+++ b/pkgs/applications/audio/mopidy/gmusic.nix
@@ -19,7 +19,7 @@ pythonPackages.buildPythonApplication rec {
   doCheck = false;
 
   meta = with stdenv.lib; {
-    homepage = http://www.mopidy.com/;
+    homepage = https://www.mopidy.com/;
     description = "Mopidy extension for playing music from Google Play Music";
     license = licenses.asl20;
     maintainers = [ maintainers.jgillich ];
diff --git a/pkgs/applications/audio/mopidy-iris/default.nix b/pkgs/applications/audio/mopidy/iris.nix
index cb99f9b5dbe..eb4dce81416 100644
--- a/pkgs/applications/audio/mopidy-iris/default.nix
+++ b/pkgs/applications/audio/mopidy/iris.nix
@@ -2,11 +2,11 @@
 
 pythonPackages.buildPythonApplication rec {
   pname = "Mopidy-Iris";
-  version = "3.14.0";
+  version = "3.18.0";
 
   src = pythonPackages.fetchPypi {
     inherit pname version;
-    sha256 = "2c0ec5138e554e91d299ac72a7049bc00d77770a08c16c17e1a9df7f8ef42feb";
+    sha256 = "0j56pj7cqymdk22bjw33c9rz4n36k693gs3w6kg6y68as8l6qpvb";
   };
 
   propagatedBuildInputs = [
@@ -17,8 +17,11 @@ pythonPackages.buildPythonApplication rec {
     pylast
     spotipy
     raven
+    tornado
   ]);
 
+  postPatch = "sed -i /tornado/d setup.py";
+
   # no tests implemented
   doCheck = false;
 
diff --git a/pkgs/applications/audio/mopidy-local-images/default.nix b/pkgs/applications/audio/mopidy/local-images.nix
index 063821544ae..063821544ae 100644
--- a/pkgs/applications/audio/mopidy-local-images/default.nix
+++ b/pkgs/applications/audio/mopidy/local-images.nix
diff --git a/pkgs/applications/audio/mopidy-local-sqlite/default.nix b/pkgs/applications/audio/mopidy/local-sqlite.nix
index 7aebc43dabb..7aebc43dabb 100644
--- a/pkgs/applications/audio/mopidy-local-sqlite/default.nix
+++ b/pkgs/applications/audio/mopidy/local-sqlite.nix
diff --git a/pkgs/applications/audio/mopidy-moped/default.nix b/pkgs/applications/audio/mopidy/moped.nix
index 3754bf763b2..3754bf763b2 100644
--- a/pkgs/applications/audio/mopidy-moped/default.nix
+++ b/pkgs/applications/audio/mopidy/moped.nix
diff --git a/pkgs/applications/audio/mopidy-mopify/default.nix b/pkgs/applications/audio/mopidy/mopify.nix
index d55e711cf33..d55e711cf33 100644
--- a/pkgs/applications/audio/mopidy-mopify/default.nix
+++ b/pkgs/applications/audio/mopidy/mopify.nix
diff --git a/pkgs/applications/audio/mopidy-musicbox-webclient/default.nix b/pkgs/applications/audio/mopidy/musicbox-webclient.nix
index d2f525bffd1..d2f525bffd1 100644
--- a/pkgs/applications/audio/mopidy-musicbox-webclient/default.nix
+++ b/pkgs/applications/audio/mopidy/musicbox-webclient.nix
diff --git a/pkgs/applications/audio/mopidy-soundcloud/default.nix b/pkgs/applications/audio/mopidy/soundcloud.nix
index 09881296164..09881296164 100644
--- a/pkgs/applications/audio/mopidy-soundcloud/default.nix
+++ b/pkgs/applications/audio/mopidy/soundcloud.nix
diff --git a/pkgs/applications/audio/mopidy-spotify-tunigo/default.nix b/pkgs/applications/audio/mopidy/spotify-tunigo.nix
index 034a07bf027..034a07bf027 100644
--- a/pkgs/applications/audio/mopidy-spotify-tunigo/default.nix
+++ b/pkgs/applications/audio/mopidy/spotify-tunigo.nix
diff --git a/pkgs/applications/audio/mopidy-spotify/default.nix b/pkgs/applications/audio/mopidy/spotify.nix
index 999883dc26c..64b5ee629b3 100644
--- a/pkgs/applications/audio/mopidy-spotify/default.nix
+++ b/pkgs/applications/audio/mopidy/spotify.nix
@@ -14,7 +14,7 @@ pythonPackages.buildPythonApplication rec {
   doCheck = false;
 
   meta = with stdenv.lib; {
-    homepage = http://www.mopidy.com/;
+    homepage = https://www.mopidy.com/;
     description = "Mopidy extension for playing music from Spotify";
     license = licenses.asl20;
     maintainers = [ maintainers.rickynils ];
diff --git a/pkgs/applications/audio/mopidy-youtube/default.nix b/pkgs/applications/audio/mopidy/youtube.nix
index d3eb8539a19..d3eb8539a19 100644
--- a/pkgs/applications/audio/mopidy-youtube/default.nix
+++ b/pkgs/applications/audio/mopidy/youtube.nix
diff --git a/pkgs/applications/audio/mp3blaster/default.nix b/pkgs/applications/audio/mp3blaster/default.nix
index ed7a4e786f0..eb5aa7c036c 100644
--- a/pkgs/applications/audio/mp3blaster/default.nix
+++ b/pkgs/applications/audio/mp3blaster/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, ncurses, libvorbis }:
+{ stdenv, fetchFromGitHub, ncurses, libvorbis, SDL }:
 stdenv.mkDerivation rec {
 
   version = "3.2.6";
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
   buildInputs = [
     ncurses
     libvorbis
-  ];
+  ] ++ stdenv.lib.optional stdenv.isDarwin SDL;
 
   buildFlags = [ "CXXFLAGS=-Wno-narrowing" ];
 
diff --git a/pkgs/applications/audio/mpc123/default.nix b/pkgs/applications/audio/mpc123/default.nix
index ac945bee7f7..efaef97257e 100644
--- a/pkgs/applications/audio/mpc123/default.nix
+++ b/pkgs/applications/audio/mpc123/default.nix
@@ -27,6 +27,6 @@ stdenv.mkDerivation rec {
     license = stdenv.lib.licenses.gpl2Plus;
 
     maintainers = [ ];
-    platforms = stdenv.lib.platforms.gnu; # arbitrary choice
+    platforms = stdenv.lib.platforms.gnu ++ stdenv.lib.platforms.linux; # arbitrary choice
   };
 }
diff --git a/pkgs/applications/audio/mpg123/default.nix b/pkgs/applications/audio/mpg123/default.nix
index 1b30399ae0a..3aef2e35943 100644
--- a/pkgs/applications/audio/mpg123/default.nix
+++ b/pkgs/applications/audio/mpg123/default.nix
@@ -4,11 +4,11 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "mpg123-1.25.8";
+  name = "mpg123-1.25.10";
 
   src = fetchurl {
     url = "mirror://sourceforge/mpg123/${name}.tar.bz2";
-    sha256 = "16s9z1xc5kv1p90g42vsr9m4gq3dwjsmrj873x4i8601mvpm3nkr";
+    sha256 = "08vhp8lz7d9ybhxcmkq3adwfryhivfvp0745k4r9kgz4wap3f4vc";
   };
 
   buildInputs = stdenv.lib.optional (!stdenv.isDarwin) alsaLib;
diff --git a/pkgs/applications/audio/mpg321/default.nix b/pkgs/applications/audio/mpg321/default.nix
index ee0ebf234ce..3ffc5265f7a 100644
--- a/pkgs/applications/audio/mpg321/default.nix
+++ b/pkgs/applications/audio/mpg321/default.nix
@@ -30,6 +30,6 @@ stdenv.mkDerivation rec {
     homepage = http://mpg321.sourceforge.net/;
     license = licenses.gpl2;
     maintainers = [ maintainers.rycee ];
-    platforms = platforms.gnu;
+    platforms = platforms.gnu ++ platforms.linux;
   };
 }
diff --git a/pkgs/applications/audio/ncmpc/default.nix b/pkgs/applications/audio/ncmpc/default.nix
index 93e909fc604..ffd5b9a5858 100644
--- a/pkgs/applications/audio/ncmpc/default.nix
+++ b/pkgs/applications/audio/ncmpc/default.nix
@@ -3,20 +3,18 @@
 
 stdenv.mkDerivation rec {
   name = "ncmpc-${version}";
-  version = "0.29";
+  version = "0.30";
 
   src = fetchFromGitHub {
     owner  = "MusicPlayerDaemon";
     repo   = "ncmpc";
     rev    = "v${version}";
-    sha256 = "1b2kbx2phbf4s2qpy7mx72c87xranljr0yam6z9m1i1kvcnp8q1q";
+    sha256 = "0s2bynm5szrk8bjhg200mvsm2ny0wz9s10nx7r69y9y4jsxr8624";
   };
 
   buildInputs = [ glib ncurses mpd_clientlib ];
   nativeBuildInputs = [ meson ninja pkgconfig gettext ];
 
-  NIX_LDFLAGS = stdenv.lib.optionalString stdenv.isDarwin "-lintl";
-
   meta = with stdenv.lib; {
     description = "Curses-based interface for MPD (music player daemon)";
     homepage    = https://www.musicpd.org/clients/ncmpc/;
diff --git a/pkgs/applications/audio/ncmpcpp/default.nix b/pkgs/applications/audio/ncmpcpp/default.nix
index 10c3bb2a195..87f5f94bb30 100644
--- a/pkgs/applications/audio/ncmpcpp/default.nix
+++ b/pkgs/applications/audio/ncmpcpp/default.nix
@@ -12,11 +12,11 @@ assert taglibSupport -> (taglib != null);
 with stdenv.lib;
 stdenv.mkDerivation rec {
   name = "ncmpcpp-${version}";
-  version = "0.8.1";
+  version = "0.8.2";
 
   src = fetchurl {
     url = "https://ncmpcpp.rybczak.net/stable/${name}.tar.bz2";
-    sha256 = "1zw8d07b2bkssbsybg6jnmpq001w525viajrnz4jvfml3l55gyad";
+    sha256 = "0m0mjb049sl62vx13h9waavysa30mk0rphacksnvf94n13la62v5";
   };
 
   configureFlags = [ "BOOST_LIB_SUFFIX=" ]
diff --git a/pkgs/applications/audio/padthv1/default.nix b/pkgs/applications/audio/padthv1/default.nix
index 779374aaa08..5cecdc8187d 100644
--- a/pkgs/applications/audio/padthv1/default.nix
+++ b/pkgs/applications/audio/padthv1/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "padthv1-${version}";
-  version = "0.8.6";
+  version = "0.9.0";
 
   src = fetchurl {
     url = "mirror://sourceforge/padthv1/${name}.tar.gz";
-    sha256 = "1mikab2f9n5q1sfgnp3sbm1rf3v57k4085lsgh0a5gzga2h4hwxq";
+    sha256 = "0c519qk2g0dk8gqf9ywqfp7dnr4b25lsnxxbf2l1spnnvf8nysvh";
   };
 
   buildInputs = [ libjack2 alsaLib libsndfile liblo lv2 qt5.qtbase qt5.qttools fftw ];
diff --git a/pkgs/applications/audio/pamixer/default.nix b/pkgs/applications/audio/pamixer/default.nix
index 3e159c84384..322a4e23846 100644
--- a/pkgs/applications/audio/pamixer/default.nix
+++ b/pkgs/applications/audio/pamixer/default.nix
@@ -1,15 +1,22 @@
-{ stdenv, fetchurl, boost, libpulseaudio }:
+{ stdenv, fetchFromGitHub, fetchpatch, boost, libpulseaudio }:
 
 stdenv.mkDerivation rec {
-
   name = "pamixer-${version}";
   version = "1.3.1";
 
-  src = fetchurl {
-    url = "https://github.com/cdemoulins/pamixer/archive/${version}.tar.gz";
-    sha256 = "1lsvb4xk1dq762w9c0jn7xvj3v1lzppql9mj1b55fhzdypbrkm6x";
+  src = fetchFromGitHub {
+    owner = "cdemoulins";
+    repo = "pamixer";
+    rev = version;
+    sha256 = "15zs2x4hnrpxphqn542b6qqm4ymvhkvbcfyffy69d6cki51chzzw";
   };
 
+  # Remove after https://github.com/cdemoulins/pamixer/pull/16 gets fixed
+  patches = [(fetchpatch {
+    url = "https://github.com/oxij/pamixer/commit/dea1cd967aa837940e5c0b04ef7ebc47a7a93d63.patch";
+    sha256 = "0s77xmsiwywyyp6f4bjxg1sqdgms1k5fiy7na6ws0aswshfnzfjb";
+  })];
+
   buildInputs = [ boost libpulseaudio ];
 
   installPhase = ''
diff --git a/pkgs/applications/audio/pd-plugins/helmholtz/default.nix b/pkgs/applications/audio/pd-plugins/helmholtz/default.nix
index 8f04bf116a6..3670fb8347d 100644
--- a/pkgs/applications/audio/pd-plugins/helmholtz/default.nix
+++ b/pkgs/applications/audio/pd-plugins/helmholtz/default.nix
@@ -20,13 +20,16 @@ stdenv.mkDerivation rec {
     mv helmholtz~/src/Makefile .
     rm -rf helmholtz~/src/
     rm helmholtz~/helmholtz~.pd_darwin
+    rm helmholtz~/helmholtz~.pd_linux
     rm helmholtz~/helmholtz~.dll
     rm -rf __MACOSX
   '';
 
   patchPhase = ''
+    mkdir -p $out/helmholtz~
     sed -i "s@current: pd_darwin@current: pd_linux@g" Makefile
     sed -i "s@-Wl@@g" Makefile
+    sed -i "s@\$(NAME).pd_linux \.\./\$(NAME).pd_linux@helmholtz~.pd_linux $out/helmholtz~/@g" Makefile
   '';
 
   installPhase = ''
diff --git a/pkgs/applications/audio/praat/default.nix b/pkgs/applications/audio/praat/default.nix
index 94b240ebb02..ada12eefaf7 100644
--- a/pkgs/applications/audio/praat/default.nix
+++ b/pkgs/applications/audio/praat/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "praat-${version}";
-  version = "6.0.37";
+  version = "6.0.38";
 
   src = fetchurl {
     url = "https://github.com/praat/praat/archive/v${version}.tar.gz";
-    sha256 = "1c675jfzcrwfn8lcswm5y5kmazkhnb0p4mzlf5sim57hms88ffjq";
+    sha256 = "1l01mdhd0kf6mnyrg8maydr56cpw4312gryk303kr0a4w0gwzhhc";
   };
 
   configurePhase = ''
diff --git a/pkgs/applications/audio/qmmp/default.nix b/pkgs/applications/audio/qmmp/default.nix
index 6b816cdeec1..e2218f477a5 100644
--- a/pkgs/applications/audio/qmmp/default.nix
+++ b/pkgs/applications/audio/qmmp/default.nix
@@ -29,11 +29,11 @@
 # handle that.
 
 stdenv.mkDerivation rec {
-  name = "qmmp-1.2.0";
+  name = "qmmp-1.2.1";
 
   src = fetchurl {
     url = "http://qmmp.ylsoftware.com/files/${name}.tar.bz2";
-    sha256 = "17kci7srgbkk62dgxlmg3lv2y7z04jsinpgx6jmxjpnpblpcj840";
+    sha256 = "1ag8wh11dq394zjqdyz5g1srjnm4fnq4cwlhpb9k89gpmlk42cdr";
   };
 
   buildInputs =
diff --git a/pkgs/applications/audio/quodlibet/default.nix b/pkgs/applications/audio/quodlibet/default.nix
index fd328669846..972da4f773f 100644
--- a/pkgs/applications/audio/quodlibet/default.nix
+++ b/pkgs/applications/audio/quodlibet/default.nix
@@ -1,5 +1,5 @@
-{ stdenv, fetchurl, python2Packages, wrapGAppsHook, gettext, intltool, libsoup, gnome3,
-  tag ? "",
+{ stdenv, fetchurl, python3, wrapGAppsHook, gettext, intltool, libsoup, gnome3, gtk3, gdk_pixbuf,
+  tag ? "", xvfb_run, dbus, glibcLocales, glib, gobjectIntrospection,
   gst_all_1, withGstPlugins ? true,
   xineBackend ? false, xineLib,
   withDbusPython ? false, withPyInotify ? false, withMusicBrainzNgs ? false, withPahoMqtt ? false,
@@ -7,38 +7,53 @@
   keybinder3 ? null, gtksourceview ? null, libmodplug ? null, kakasi ? null, libappindicator-gtk3 ? null }:
 
 let optionals = stdenv.lib.optionals; in
-python2Packages.buildPythonApplication rec {
+python3.pkgs.buildPythonApplication rec {
   name = "quodlibet${tag}-${version}";
-  version = "3.9.1";
+  version = "4.0.2";
 
   # XXX, tests fail
+  # https://github.com/quodlibet/quodlibet/issues/2820
   doCheck = false;
 
   src = fetchurl {
     url = "https://github.com/quodlibet/quodlibet/releases/download/release-${version}/quodlibet-${version}.tar.gz";
-    sha256 = "d2b42df5d439213973dc97149fddc779a6c90cec389c24baf1c0bdcc39ffe591";
+    sha256 = "072s983p3n84yl807pbdxsy5vrgs8jzzfl648gsri6kpwsp6w5fz";
   };
 
   nativeBuildInputs = [ wrapGAppsHook gettext intltool ];
-  # ++ (with python2Packages; [ pytest pyflakes pycodestyle polib ]); # test deps
 
-  buildInputs = [ gnome3.defaultIconTheme libsoup webkitgtk keybinder3 gtksourceview libmodplug libappindicator-gtk3 kakasi ]
+  checkInputs = with python3.pkgs; [ pytest pytest_xdist pyflakes pycodestyle polib xvfb_run dbus.daemon glibcLocales ];
+
+  buildInputs = [ gnome3.defaultIconTheme libsoup glib gtk3 webkitgtk gdk_pixbuf keybinder3 gtksourceview libmodplug libappindicator-gtk3 kakasi gobjectIntrospection ]
     ++ (if xineBackend then [ xineLib ] else with gst_all_1;
     [ gstreamer gst-plugins-base ] ++ optionals withGstPlugins [ gst-plugins-good gst-plugins-ugly gst-plugins-bad ]);
 
-  propagatedBuildInputs = with python2Packages;
-    [ pygobject3 pycairo mutagen pygtk gst-python feedparser faulthandler futures ]
+  propagatedBuildInputs = with python3.pkgs; [ pygobject3 pycairo mutagen gst-python feedparser ]
       ++ optionals withDbusPython [ dbus-python ]
       ++ optionals withPyInotify [ pyinotify ]
       ++ optionals withMusicBrainzNgs [ musicbrainzngs ]
       ++ optionals stdenv.isDarwin [ pyobjc ]
       ++ optionals withPahoMqtt [ paho-mqtt ];
 
-  makeWrapperArgs = optionals (kakasi != null) [ "--prefix PATH : ${kakasi}/bin" ];
+  LC_ALL = "en_US.UTF-8";
+
+  checkPhase = ''
+    runHook preCheck
+    checkHomeDir=$(mktemp -d)
+    mkdir -p $checkHomeDir/.cache/thumbnails/normal # Required by TThumb.test_recreate_broken_cache_file
+    env XDG_DATA_DIRS="$out/share:${gtk3}/share/gsettings-schemas/${gtk3.name}:$XDG_DATA_DIRS" \
+      HOME=$checkHomeDir \
+      xvfb-run -s '-screen 0 800x600x24' dbus-run-session \
+        --config-file=${dbus.daemon}/share/dbus-1/session.conf \
+        py.test
+    runHook postCheck
+  '';
+
+  preFixup = stdenv.lib.optionalString (kakasi != null) "gappsWrapperArgs+=(--prefix PATH : ${kakasi}/bin)";
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "GTK+-based audio player written in Python, using the Mutagen tagging library";
-    license = stdenv.lib.licenses.gpl2;
+    license = licenses.gpl2Plus;
 
     longDescription = ''
       Quod Libet is a GTK+-based audio player written in Python, using
@@ -54,7 +69,7 @@ python2Packages.buildPythonApplication rec {
       & internet radio, and all major audio formats.
     '';
 
-    maintainers = with stdenv.lib.maintainers; [ coroa sauyon ];
+    maintainers = with maintainers; [ coroa sauyon ];
     homepage = https://quodlibet.readthedocs.io/en/latest/;
   };
 }
diff --git a/pkgs/applications/audio/radiotray-ng/default.nix b/pkgs/applications/audio/radiotray-ng/default.nix
index 60c8f90b6d1..2ce82eb6a0a 100644
--- a/pkgs/applications/audio/radiotray-ng/default.nix
+++ b/pkgs/applications/audio/radiotray-ng/default.nix
@@ -40,13 +40,13 @@ let
 in
 stdenv.mkDerivation rec {
   name = "radiotray-ng-${version}";
-  version = "0.2.1";
+  version = "0.2.2";
 
   src = fetchFromGitHub {
     owner = "ebruck";
     repo = "radiotray-ng";
     rev = "v${version}";
-    sha256 = "0hqg6vn8hv5pic96klf1d9vj8fibrgiqnqb5vwrg3wvakx0y32kr";
+    sha256 = "0q8k7nsjm6m0r0zs1br60niaqlwvd3myqalb5sqijzanx41aq2l6";
   };
 
   nativeBuildInputs = [ cmake pkgconfig wrapGAppsHook makeWrapper ];
@@ -78,7 +78,8 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  doCheck = true;
+ # XXX: as of 0.2.2, tries to download gmock instead of checking for provided
+  doCheck = false;
 
   checkPhase = "ctest";
 
diff --git a/pkgs/applications/audio/rhvoice/default.nix b/pkgs/applications/audio/rhvoice/default.nix
new file mode 100644
index 00000000000..65cb7dab34a
--- /dev/null
+++ b/pkgs/applications/audio/rhvoice/default.nix
@@ -0,0 +1,48 @@
+{ stdenv, lib, pkgconfig, fetchFromGitHub, scons, python, glibmm, libpulseaudio, libao
+}:
+
+let
+  version = "unstable-2018-02-10";
+in stdenv.mkDerivation rec {
+  name = "rhvoice-${version}";
+
+  src = fetchFromGitHub {
+    owner = "Olga-Yakovleva";
+    repo = "RHVoice";
+    rev = "7a25a881b0465e47a12d8029b56f3b71a1d02312";
+    sha256 = "1gkrlmv7msh9qlm0gkjqpl9gswghpclfdwszr1p85v8vk6m63v0b";
+  };
+
+  nativeBuildInputs = [
+    scons pkgconfig
+  ];
+
+  buildInputs = [
+    python glibmm libpulseaudio libao
+  ];
+
+  # SConstruct patch
+  #     Scons creates an independent environment that assumes standard POSIX paths.
+  #     The patch is needed to push the nix environment.
+  #     - PATH
+  #     - PKG_CONFIG_PATH, to find available (sound) libraries
+  #     - RPATH, to link to the newly built libraries
+
+  patches = [ ./honor_nix_environment.patch ];
+
+  buildPhase = ''
+    scons prefix=$out
+  '';
+
+  installPhase = ''
+    scons install
+  '';
+
+  meta = {
+    description = "A free and open source speech synthesizer for Russian language and others";
+    homepage = https://github.com/Olga-Yakovleva/RHVoice/wiki;
+    license = lib.licenses.gpl3;
+    maintainers = with lib.maintainers; [ berce ];
+    platforms = with lib.platforms; all;
+  };
+}
diff --git a/pkgs/applications/audio/rhvoice/honor_nix_environment.patch b/pkgs/applications/audio/rhvoice/honor_nix_environment.patch
new file mode 100644
index 00000000000..ed180c92deb
--- /dev/null
+++ b/pkgs/applications/audio/rhvoice/honor_nix_environment.patch
@@ -0,0 +1,14 @@
+diff --git a/SConstruct b/SConstruct
+index 2421399..ba39254 100644
+--- a/SConstruct
++++ b/SConstruct
+@@ -147,6 +147,9 @@ def create_base_env(vars):
+     env_args["package_name"]="RHVoice"
+     env_args["CPPDEFINES"]=[("RHVOICE","1")]
+     env=Environment(**env_args)
++    env.PrependENVPath("PATH", os.environ["PATH"])
++    env["ENV"]["PKG_CONFIG_PATH"]=os.environ["PKG_CONFIG_PATH"]
++    env["RPATH"]=env["libdir"]
+     env["package_version"]=get_version(env["release"])
+     env.Append(CPPDEFINES=("PACKAGE",env.subst(r'\"$package_name\"')))
+     env.Append(CPPDEFINES=("VERSION",env.subst(r'\"$package_version\"')))
diff --git a/pkgs/applications/audio/rhythmbox/default.nix b/pkgs/applications/audio/rhythmbox/default.nix
index a23324c7fda..8dab9e32f98 100644
--- a/pkgs/applications/audio/rhythmbox/default.nix
+++ b/pkgs/applications/audio/rhythmbox/default.nix
@@ -24,6 +24,15 @@ in stdenv.mkDerivation rec {
     sha256 = "0hzcns8gf5yb0rm4ss8jd8qzarcaplp5cylk6plwilsqfvxj4xn2";
   };
 
+  patches = [
+    # build with GStreamer 1.14 https://bugzilla.gnome.org/show_bug.cgi?id=788706
+    (fetchurl {
+      name = "fmradio-Fix-build-with-GStreamer-master.patch";
+      url = https://bugzilla.gnome.org/attachment.cgi?id=361178;
+      sha256 = "1h09mimlglj9hcmc3pfp0d6c277mqh2khwv9fryk43pkv3904d2w";
+    })
+  ];
+
   nativeBuildInputs = [
     pkgconfig
     intltool perl perlPackages.XMLParser
diff --git a/pkgs/applications/audio/samplv1/default.nix b/pkgs/applications/audio/samplv1/default.nix
index c2c24c29a13..4eeb893ee96 100644
--- a/pkgs/applications/audio/samplv1/default.nix
+++ b/pkgs/applications/audio/samplv1/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "samplv1-${version}";
-  version = "0.8.6";
+  version = "0.9.0";
 
   src = fetchurl {
     url = "mirror://sourceforge/samplv1/${name}.tar.gz";
-    sha256 = "035bq7yfg1yirsqk63zwkzjw9dxl52lrzq9y0w7nga0vb11xdfij";
+    sha256 = "0g67vm9ilmq5nlvk0f3abia9pbinr4ck5v4mll6igni1rxz2n7wk";
   };
 
   buildInputs = [ libjack2 alsaLib liblo libsndfile lv2 qt5.qtbase qt5.qttools];
diff --git a/pkgs/applications/audio/snd/default.nix b/pkgs/applications/audio/snd/default.nix
index 3fe8ecfe546..cacc6e04429 100644
--- a/pkgs/applications/audio/snd/default.nix
+++ b/pkgs/applications/audio/snd/default.nix
@@ -4,11 +4,11 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "snd-18.1";
+  name = "snd-18.3";
 
   src = fetchurl {
     url = "mirror://sourceforge/snd/${name}.tar.gz";
-    sha256 = "0wdifvpm54j5fxxp867jnrfdy3jb8iff2mxqvp08plp45zfjv6xh";
+    sha256 = "117sgvdv0a03ys1v27bs99mgzpfm2a7xg6s0q6m1f79jniia12ss";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/applications/audio/sonata/default.nix b/pkgs/applications/audio/sonata/default.nix
index 1afb36571bd..55c3dfa92e3 100644
--- a/pkgs/applications/audio/sonata/default.nix
+++ b/pkgs/applications/audio/sonata/default.nix
@@ -19,7 +19,7 @@ in buildPythonApplication rec {
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
     intltool wrapGAppsHook
-    gnome3.gnome-themes-standard gnome3.defaultIconTheme
+    gnome3.defaultIconTheme
     gnome3.gsettings-desktop-schemas
   ];
 
@@ -28,8 +28,6 @@ in buildPythonApplication rec {
     sed -i '/localmpd/d' sonata/consts.py
   '';
 
-  propagatedUserEnvPkgs = [ gnome3.gnome-themes-standard ];
-
   propagatedBuildInputs = [
     gobjectIntrospection gtk3 pygobject3
   ];
diff --git a/pkgs/applications/audio/sound-juicer/default.nix b/pkgs/applications/audio/sound-juicer/default.nix
index c68f2cd4a35..e38f38dad78 100644
--- a/pkgs/applications/audio/sound-juicer/default.nix
+++ b/pkgs/applications/audio/sound-juicer/default.nix
@@ -1,41 +1,33 @@
-{ stdenv, fetchurl, pkgconfig, gtk3, intltool, itstool, libxml2, brasero
+{ stdenv, fetchurl, pkgconfig, glib, gtk3, intltool, itstool, libxml2, brasero
 , libcanberra-gtk3, gnome3, gst_all_1, libmusicbrainz5, libdiscid, isocodes
-, makeWrapper }:
+, wrapGAppsHook }:
 
 let
-  major = "3.16";
-  minor = "1";
-
-in stdenv.mkDerivation rec {
-  version = "${major}.${minor}";
-  name = "sound-juicer-${version}";
+  pname = "sound-juicer";
+  version = "3.16.1";
+in stdenv.mkDerivation rec{
+  name = "${pname}-${version}";
 
   src = fetchurl {
-    url = "http://download.gnome.org/sources/sound-juicer/${major}/${name}.tar.xz";
+    url = "mirror://gnome/sources/${pname}/${gnome3.versionBranch version}/${name}.tar.xz";
     sha256 = "0mx6n901vb97hsv0cwaafjffj75s1kcp8jsqay90dy3099849dyz";
   };
 
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ gtk3 intltool itstool libxml2 brasero libcanberra-gtk3
-                  gnome3.gsettings-desktop-schemas libmusicbrainz5 libdiscid isocodes
-                  makeWrapper (stdenv.lib.getLib gnome3.dconf)
-                  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-libav
-                ];
-
-  preFixup = ''
-    for f in $out/bin/* $out/libexec/*; do
-      wrapProgram "$f" \
-        --prefix XDG_DATA_DIRS : "${gnome3.gnome-themes-standard}/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH" \
-        --prefix GST_PLUGIN_SYSTEM_PATH_1_0 : "$GST_PLUGIN_SYSTEM_PATH_1_0" \
-        --prefix GIO_EXTRA_MODULES : "${stdenv.lib.getLib gnome3.dconf}/lib/gio/modules"
-    done
-  '';
+  nativeBuildInputs = [ pkgconfig intltool itstool libxml2 wrapGAppsHook ];
+  buildInputs = [
+    glib gtk3 brasero libcanberra-gtk3 gnome3.defaultIconTheme
+    gnome3.gsettings-desktop-schemas libmusicbrainz5 libdiscid isocodes
+    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-libav
+  ];
 
-  postInstall = ''
-    rm $out/share/icons/hicolor/icon-theme.cache
-  '';
+  passthru = {
+    updateScript = gnome3.updateScript {
+      packageName = pname;
+      attrPath = "gnome3.${pname}";
+    };
+  };
 
   meta = with stdenv.lib; {
     description = "A Gnome CD Ripper";
diff --git a/pkgs/applications/audio/soundscape-renderer/default.nix b/pkgs/applications/audio/soundscape-renderer/default.nix
index 47851adc3aa..babe4edff9d 100644
--- a/pkgs/applications/audio/soundscape-renderer/default.nix
+++ b/pkgs/applications/audio/soundscape-renderer/default.nix
@@ -27,6 +27,8 @@ stdenv.mkDerivation rec {
 
   # Without it doesn't find all of the boost libraries.
   BOOST_LIB_DIR="${boost}/lib";
+  # uses the deprecated get_generic_category() in boost_system
+  NIX_CFLAGS_COMPILE="-DBOOST_SYSTEM_ENABLE_DEPRECATED=1";
 
   LC_ALL = "en_US.UTF-8";
 
diff --git a/pkgs/applications/audio/spotify/default.nix b/pkgs/applications/audio/spotify/default.nix
index 9ac0c49ebc3..5f6772256ca 100644
--- a/pkgs/applications/audio/spotify/default.nix
+++ b/pkgs/applications/audio/spotify/default.nix
@@ -1,15 +1,13 @@
 { fetchurl, stdenv, dpkg, xorg, alsaLib, makeWrapper, openssl, freetype
-, glib, pango, cairo, atk, gdk_pixbuf, gtk2, cups, nspr, nss, libpng, GConf
-, libgcrypt, systemd, fontconfig, dbus, expat, ffmpeg_0_10, curl, zlib, gnome2 }:
-
-assert stdenv.system == "x86_64-linux";
+, glib, pango, cairo, atk, gdk_pixbuf, gtk2, cups, nspr, nss, libpng
+, libgcrypt, systemd, fontconfig, dbus, expat, ffmpeg_0_10, curl, zlib, gnome3 }:
 
 let
   # Please update the stable branch!
   # Latest version number can be found at:
   # http://repository-origin.spotify.com/pool/non-free/s/spotify-client/
   # Be careful not to pick the testing version.
-  version = "1.0.69.336.g7edcc575-39";
+  version = "1.0.79.223.g92622cc2-21";
 
   deps = [
     alsaLib
@@ -22,7 +20,6 @@ let
     ffmpeg_0_10
     fontconfig
     freetype
-    GConf
     gdk_pixbuf
     glib
     gtk2
@@ -54,7 +51,7 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "https://repository-origin.spotify.com/pool/non-free/s/spotify-client/spotify-client_${version}_amd64.deb";
-    sha256 = "0bh2q7g478g7wj661fypxcbhrbq87zingfyigg7rz1shgsgwc3gd";
+    sha256 = "1x1rpprzin4cmz1spzw036b4phd0yk1v7idlrcy4pkv97b4g5dw6";
   };
 
   buildInputs = [ dpkg makeWrapper ];
@@ -95,7 +92,7 @@ stdenv.mkDerivation {
       librarypath="${stdenv.lib.makeLibraryPath deps}:$libdir"
       wrapProgram $out/share/spotify/spotify \
         --prefix LD_LIBRARY_PATH : "$librarypath" \
-        --prefix PATH : "${gnome2.zenity}/bin"
+        --prefix PATH : "${gnome3.zenity}/bin"
 
       # Desktop file
       mkdir -p "$out/share/applications/"
diff --git a/pkgs/applications/audio/squishyball/default.nix b/pkgs/applications/audio/squishyball/default.nix
index 2022183f4a0..496ce779ffb 100644
--- a/pkgs/applications/audio/squishyball/default.nix
+++ b/pkgs/applications/audio/squishyball/default.nix
@@ -16,6 +16,8 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ flac libao libvorbis ncurses opusfile ];
 
+  NIX_CFLAGS_COMPILE = "-DNCURSES_INTERNALS";
+
   patches = [ ./gnu-screen.patch ];
 
   postInstall = ''
diff --git a/pkgs/applications/audio/streamripper/default.nix b/pkgs/applications/audio/streamripper/default.nix
index 0fb1b77e708..39d1c266a37 100644
--- a/pkgs/applications/audio/streamripper/default.nix
+++ b/pkgs/applications/audio/streamripper/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl , glib, pkgconfig, libogg, libvorbis }:
+{ stdenv, fetchurl , glib, pkgconfig, libogg, libvorbis, libmad }:
 
 stdenv.mkDerivation rec {
   name = "streamripper-${version}";
@@ -10,13 +10,12 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ glib libogg libvorbis ];
+  buildInputs = [ glib libogg libvorbis libmad ];
 
   meta = with stdenv.lib; {
     homepage = http://streamripper.sourceforge.net/;
     description = "Application that lets you record streaming mp3 to your hard drive";
     license = licenses.gpl2;
-    platforms = platforms.linux;
     maintainers = with maintainers; [ the-kenny ];
   };
 }
diff --git a/pkgs/applications/audio/synthv1/default.nix b/pkgs/applications/audio/synthv1/default.nix
index 651e56d0e8e..53875389a4c 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.8.6";
+  version = "0.9.0";
 
   src = fetchurl {
     url = "mirror://sourceforge/synthv1/${name}.tar.gz";
-    sha256 = "141ah1gnv5r2k846v5ay15q9q90h01p74240a56vlxqh20z43g92";
+    sha256 = "1skynjg6ip0qfbqqkybfjh6xcwxagq89ghl08f7sp7j0sz5qdcwp";
   };
 
   buildInputs = [ qt5.qtbase qt5.qttools libjack2 alsaLib liblo lv2 ];
diff --git a/pkgs/applications/audio/x42-plugins/default.nix b/pkgs/applications/audio/x42-plugins/default.nix
index 4c4f958ec49..6bf45f451a5 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 = "20170428";
+  version = "20180320";
   name = "x42-plugins-${version}";
 
   src = fetchurl {
     url = "http://gareus.org/misc/x42-plugins/${name}.tar.xz";
-    sha256 = "0yi82rak2277x4nzzr5zwbsnha5pi61w975c8src2iwar2b6m0xg";
+    sha256 = "167ly9nxqq3g0j35i9jv9rvd8qp4i9ncfcjxmg972cp6q8ak8mdl";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/applications/audio/yoshimi/default.nix b/pkgs/applications/audio/yoshimi/default.nix
index cdf84cb7e46..678345a91dd 100644
--- a/pkgs/applications/audio/yoshimi/default.nix
+++ b/pkgs/applications/audio/yoshimi/default.nix
@@ -6,11 +6,11 @@ assert stdenv ? glibc;
 
 stdenv.mkDerivation  rec {
   name = "yoshimi-${version}";
-  version = "1.5.6";
+  version = "1.5.7";
 
   src = fetchurl {
     url = "mirror://sourceforge/yoshimi/${name}.tar.bz2";
-    sha256 = "0bjfhfslpa2hjrc9h38m7dlr62953w9n4cvkgvfy495cbym12dak";
+    sha256 = "1w916mmi6hh547a7icrgx6qr2kwxlxwlm6ampql427rshcz9r61k";
   };
 
   buildInputs = [
diff --git a/pkgs/applications/backup/deja-dup/default.nix b/pkgs/applications/backup/deja-dup/default.nix
index e46ffec3979..ef7aa96beb0 100644
--- a/pkgs/applications/backup/deja-dup/default.nix
+++ b/pkgs/applications/backup/deja-dup/default.nix
@@ -1,5 +1,5 @@
-{ stdenv, fetchurl, meson, ninja, pkgconfig, vala_0_38, gettext
-, gnome3, libnotify, intltool, itstool, glib, gtk3, libxml2
+{ stdenv, fetchurl, substituteAll, meson, ninja, pkgconfig, vala_0_40, gettext
+, gnome3, libnotify, itstool, glib, gtk3, libxml2
 , coreutils, libsecret, pcre, libxkbcommon, wrapGAppsHook
 , libpthreadstubs, libXdmcp, epoxy, at-spi2-core, dbus, libgpgerror
 , appstream-glib, desktop-file-utils, duplicity
@@ -15,20 +15,14 @@ stdenv.mkDerivation rec {
   };
 
   patches = [
-    ./fix-paths.patch
+    (substituteAll {
+      src = ./fix-paths.patch;
+      inherit coreutils;
+    })
   ];
 
-  postPatch = ''
-    substituteInPlace libdeja/tools/duplicity/DuplicityInstance.vala --replace \
-      "/bin/rm" \
-      "${coreutils}/bin/rm"
-  '';
-
-  # couldn't find gio/gdesktopappinfo.h
-  NIX_CFLAGS_COMPILE = "-I${glib.dev}/include/gio-unix-2.0";
-
   nativeBuildInputs = [
-    meson ninja pkgconfig vala_0_38 gettext intltool itstool
+    meson ninja pkgconfig vala_0_40 gettext itstool
     appstream-glib desktop-file-utils libxml2 wrapGAppsHook
   ];
 
@@ -40,6 +34,8 @@ stdenv.mkDerivation rec {
 
   propagatedUserEnvPkgs = [ duplicity ];
 
+  PKG_CONFIG_LIBNAUTILUS_EXTENSION_EXTENSIONDIR = "lib/nautilus/extensions-3.0";
+
   postInstall = ''
     glib-compile-schemas $out/share/glib-2.0/schemas
   '';
@@ -47,11 +43,6 @@ stdenv.mkDerivation rec {
   postFixup = ''
     # Unwrap accidentally wrapped library
     mv $out/libexec/deja-dup/tools/.libduplicity.so-wrapped $out/libexec/deja-dup/tools/libduplicity.so
-
-    # Patched meson does not add internal libraries to rpath
-    for elf in "$out/bin/.deja-dup-wrapped" "$out/libexec/deja-dup/.deja-dup-monitor-wrapped" "$out/libexec/deja-dup/tools/libduplicity.so"; do
-      patchelf --set-rpath "$(patchelf --print-rpath "$elf"):$out/lib/deja-dup" "$elf"
-    done
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/backup/deja-dup/fix-paths.patch b/pkgs/applications/backup/deja-dup/fix-paths.patch
index 1cc57e6a54a..26126fdc9d5 100644
--- a/pkgs/applications/backup/deja-dup/fix-paths.patch
+++ b/pkgs/applications/backup/deja-dup/fix-paths.patch
@@ -1,12 +1,11 @@
-diff --git a/deja-dup/nautilus/meson.build b/deja-dup/nautilus/meson.build
-index 04b136f3..ed8f7cba 100644
---- a/deja-dup/nautilus/meson.build
-+++ b/deja-dup/nautilus/meson.build
-@@ -31,6 +31,6 @@ shared_module('deja-dup', ['NautilusExtension.c'],
-     link_with: [dirhandling],
-     dependencies: [nautilus_dep],
-     install: true,
--    install_dir: nautilus_dep.get_pkgconfig_variable('extensiondir'))
-+    install_dir: join_paths(get_option('libdir'), 'nautilus', 'extensions-3.0'))
+--- a/libdeja/tools/duplicity/DuplicityInstance.vala
++++ b/libdeja/tools/duplicity/DuplicityInstance.vala
+@@ -159,7 +159,7 @@
+     // We already are pretty sure we don't have other duplicities in our
+     // archive directories, because we use our own and we ensure we only have
+     // one deja-dup running at a time via DBus.
+-    Posix.system("/bin/rm -f " + Shell.quote(cache_dir) + "/*/lockfile.lock");
++    Posix.system("@coreutils@/bin/rm -f " + Shell.quote(cache_dir) + "/*/lockfile.lock");
  
- endif
+     Process.spawn_async_with_pipes(null, real_argv, real_envp,
+                         SpawnFlags.SEARCH_PATH |
diff --git a/pkgs/applications/display-managers/lightdm-gtk-greeter/default.nix b/pkgs/applications/display-managers/lightdm/gtk-greeter.nix
index 486a52ef667..3227151ce21 100644
--- a/pkgs/applications/display-managers/lightdm-gtk-greeter/default.nix
+++ b/pkgs/applications/display-managers/lightdm/gtk-greeter.nix
@@ -9,14 +9,14 @@
 
 let
   ver_branch = "2.0";
-  version = "2.0.4";
+  version = "2.0.5";
 in
 stdenv.mkDerivation rec {
   name = "lightdm-gtk-greeter-${version}";
 
   src = fetchurl {
     url = "${meta.homepage}/${ver_branch}/${version}/+download/${name}.tar.gz";
-    sha256 = "1svbyq2l3l2d72k10nw79jz940rqsskryaim2viy6jfpv9k5jfv1";
+    sha256 = "1pw70db8320wvkhkrw4i2qprxlrqy3jmb6yrr4bm3lgrizahiijx";
   };
 
   nativeBuildInputs = [ pkgconfig ];
@@ -28,6 +28,8 @@ stdenv.mkDerivation rec {
     "--sysconfdir=/etc"
   ] ++ stdenv.lib.optional useGTK2 "--with-gtk2";
 
+  NIX_CFLAGS_COMPILE = [ "-Wno-error=deprecated-declarations" ];
+
   installFlags = [
     "localstatedir=\${TMPDIR}"
     "sysconfdir=\${out}/etc"
diff --git a/pkgs/applications/display-managers/sddm/default.nix b/pkgs/applications/display-managers/sddm/default.nix
index a7e8799c9c1..a41f917a7ec 100644
--- a/pkgs/applications/display-managers/sddm/default.nix
+++ b/pkgs/applications/display-managers/sddm/default.nix
@@ -22,6 +22,10 @@ in mkDerivation rec {
     # Module Qt5::Test must be included in `find_package` before it is used.
     ''
       sed -i CMakeLists.txt -e '/find_package(Qt5/ s|)| Test)|'
+    ''
+    # Fix missing include for gettimeofday()
+    + ''
+      sed -e '1i#include <sys/time.h>' -i src/helper/HelperApp.cpp
     '';
 
   nativeBuildInputs = [ cmake extra-cmake-modules pkgconfig qttools ];
diff --git a/pkgs/applications/display-managers/slim/default.nix b/pkgs/applications/display-managers/slim/default.nix
index 5d06c2221b3..5160e02963f 100644
--- a/pkgs/applications/display-managers/slim/default.nix
+++ b/pkgs/applications/display-managers/slim/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, cmake, pkgconfig, xorg, libjpeg, libpng
+{ stdenv, fetchurl, fetchpatch, cmake, pkgconfig, xorg, libjpeg, libpng
 , fontconfig, freetype, pam, dbus_libs, makeWrapper }:
 
 stdenv.mkDerivation rec {
@@ -26,7 +26,10 @@ stdenv.mkDerivation rec {
       # Allow to set logfile to a special "/dev/stderr" in order to continue
       # logging to stderr and thus to the journal.
       ./no-logfile.patch
-    ];
+    ] ++ stdenv.lib.optional stdenv.hostPlatform.isMusl (fetchpatch {
+      url = "https://raw.githubusercontent.com/gentoo/musl/8eddda8072add075ebf56cf6d288bc1450d6b5f8/x11-misc/slim/files/slim-1.3.6-add-missing-libgen_h.patch";
+      sha256 = "0f82672s2r2cmdqfn2mbg3di76mbla9n0ik20p2gv4igi6p866xm";
+    });
 
   preConfigure = "substituteInPlace CMakeLists.txt --replace /lib $out/lib";
 
diff --git a/pkgs/applications/editors/android-studio/common.nix b/pkgs/applications/editors/android-studio/common.nix
index 2c2227dd4ee..a165fad370e 100644
--- a/pkgs/applications/editors/android-studio/common.nix
+++ b/pkgs/applications/editors/android-studio/common.nix
@@ -5,10 +5,13 @@
 , fetchurl
 , findutils
 , file
+, fontsConf
 , git
 , glxinfo
 , gnugrep
+, gnused
 , gnutar
+, gtk2, gnome_vfs, glib, GConf
 , gzip
 , fontconfig
 , freetype
@@ -29,7 +32,6 @@
 , writeTextFile
 , xkeyboard_config
 , zlib
-, fontsConf
 }:
 
 let
@@ -56,6 +58,7 @@ let
           findutils
           gnugrep
           which
+          gnused
 
           # For Android emulator
           file
@@ -95,6 +98,11 @@ let
           libpulseaudio
           libX11
 
+          # For GTKLookAndFeel
+          gtk2
+          gnome_vfs
+          glib
+          GConf
         ]}" \
         --set QT_XKB_CONFIG_ROOT "${xkeyboard_config}/share/X11/xkb" \
         --set FONTCONFIG_FILE ${fontsConf}
@@ -106,6 +114,7 @@ let
   # environment is used as a work around for that.
   fhsEnv = buildFHSUserEnv {
     name = "${pname}-fhs-env";
+    multiPkgs = pkgs: [ pkgs.ncurses5 ];
   };
 
 in
diff --git a/pkgs/applications/editors/android-studio/default.nix b/pkgs/applications/editors/android-studio/default.nix
index 4a71153cf91..328370c2501 100644
--- a/pkgs/applications/editors/android-studio/default.nix
+++ b/pkgs/applications/editors/android-studio/default.nix
@@ -1,20 +1,34 @@
-{ stdenv, callPackage, fetchurl, makeFontsConf }:
+{ stdenv, callPackage, fetchurl, makeFontsConf, gnome2 }:
+
 let
   mkStudio = opts: callPackage (import ./common.nix opts) {
     fontsConf = makeFontsConf {
       fontDirectories = [];
     };
+    inherit (gnome2) GConf gnome_vfs;
+  };
+  stableVersion = {
+    version = "3.1.2.0"; # "Android Studio 3.1.2"
+    build = "173.4720617";
+    sha256Hash = "1h9f4pkyqxkqxampi8v035czg5d4g6lp4bsrnq5mgpwhjwkr1whk";
+  };
+  latestVersion = {
+    version = "3.2.0.13"; # "Android Studio 3.2 Canary 14"
+    build = "181.4763614";
+    sha256Hash = "1rx3bip5a7v349whg26kxvj05qlvm7zwacfqnfzfmvvhzbh7xnyh";
   };
 in rec {
-  # linux-bundle
-  stable = mkStudio {
+  # Old alias
+  preview = beta;
+
+  # Attributes are named by the corresponding release channels
+
+  stable = mkStudio (stableVersion // {
     pname = "android-studio";
-    version = "3.0.1.0"; # "Android Studio 3.0.1"
-    build = "171.4443003";
-    sha256Hash = "1krahlqr70nq3csqiinq2m4fgs68j11hd9gg2dx2nrpw5zni0wdd";
+    #pname = "android-studio-stable"; # TODO: Rename and provide symlink
 
     meta = with stdenv.lib; {
-      description = "The Official IDE for Android (stable version)";
+      description = "The Official IDE for Android (stable channel)";
       longDescription = ''
         Android Studio is the official IDE for Android app development, based on
         IntelliJ IDEA.
@@ -24,18 +38,31 @@ in rec {
       platforms = [ "x86_64-linux" ];
       maintainers = with maintainers; [ primeos ];
     };
-  };
+  });
 
-  # linux-beta-bundle
-  preview = mkStudio {
+  beta = mkStudio (stableVersion // {
     pname = "android-studio-preview";
-    version = "3.1.0.12"; # "Android Studio 3.1 Beta 4"
-    build = "173.4615496";
-    sha256Hash = "0rp0vg5hwv7kdrirydvnwznpfwibwwm2dxsbhbxfkyahph10ly72";
+    #pname = "android-studio-beta"; # TODO: Rename and provide symlink
 
     meta = stable.meta // {
-      description = "The Official IDE for Android (preview version)";
+      description = "The Official IDE for Android (beta channel)";
       homepage = https://developer.android.com/studio/preview/index.html;
     };
-  };
+  });
+
+  dev = mkStudio (latestVersion // {
+    pname = "android-studio-dev";
+
+    meta = beta.meta // {
+      description = "The Official IDE for Android (dev channel)";
+    };
+  });
+
+  canary = mkStudio (latestVersion // {
+    pname = "android-studio-canary";
+
+    meta = beta.meta // {
+      description = "The Official IDE for Android (canary channel)";
+    };
+  });
 }
diff --git a/pkgs/applications/editors/atom/default.nix b/pkgs/applications/editors/atom/default.nix
index 2194ff226b5..f646fab8629 100644
--- a/pkgs/applications/editors/atom/default.nix
+++ b/pkgs/applications/editors/atom/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "atom-${version}";
-  version = "1.24.0";
+  version = "1.26.1";
 
   src = fetchurl {
     url = "https://github.com/atom/atom/releases/download/v${version}/atom-amd64.deb";
-    sha256 = "1yvwz4lkf7ya775h3fvrg1wkdc30321j666vfjlmax5mbcjrxkzf";
+    sha256 = "0g83qj9siq1vr2v46rzjf3dy2gns9krh6xlh7w3bhrgfk0vqkm11";
     name = "${name}.deb";
   };
 
@@ -34,6 +34,8 @@ stdenv.mkDerivation rec {
 
     rm -f $out/share/atom/resources/app.asar.unpacked/node_modules/dugite/git/bin/git
     ln -s ${pkgs.git}/bin/git $out/share/atom/resources/app.asar.unpacked/node_modules/dugite/git/bin/git
+    rm -f $out/share/atom/resources/app.asar.unpacked/node_modules/dugite/git/libexec/git-core/git
+    ln -s ${pkgs.git}/bin/git $out/share/atom/resources/app.asar.unpacked/node_modules/dugite/git/libexec/git-core/git
 
     find $out/share/atom -name "*.node" -exec patchelf --set-rpath "${atomEnv.libPath}:$out/share/atom" {} \;
 
@@ -45,7 +47,7 @@ stdenv.mkDerivation rec {
     description = "A hackable text editor for the 21st Century";
     homepage = https://atom.io/;
     license = licenses.mit;
-    maintainers = [ maintainers.offline maintainers.nequissimus ];
+    maintainers = [ maintainers.offline maintainers.nequissimus maintainers.ysndr ];
     platforms = [ "x86_64-linux" ];
   };
 }
diff --git a/pkgs/applications/editors/bonzomatic/default.nix b/pkgs/applications/editors/bonzomatic/default.nix
new file mode 100644
index 00000000000..9f1db146448
--- /dev/null
+++ b/pkgs/applications/editors/bonzomatic/default.nix
@@ -0,0 +1,30 @@
+{ stdenv, makeWrapper, fetchFromGitHub, cmake, alsaLib, mesa_glu, libXcursor, libXinerama, libXrandr, xorgserver }:
+
+stdenv.mkDerivation rec {
+  name = "${pname}-${version}";
+  pname = "bonzomatic";
+  version = "2018-03-29";
+
+  src = fetchFromGitHub {
+    owner = "Gargaj";
+    repo = pname;
+    rev = version;
+    sha256 = "12mdfjvbhdqz1585772rj4cap8m4ijfci6ib62jysxjf747k41fg";
+  };
+
+  buildInputs = [ cmake makeWrapper alsaLib mesa_glu libXcursor libXinerama libXrandr xorgserver ];
+
+  postFixup = ''
+    wrapProgram $out/bin/Bonzomatic --prefix LD_LIBRARY_PATH : "${alsaLib}/lib"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A live-coding tool for writing 2D fragment/pixel shaders";
+    license = with licenses; [
+      unlicense
+      unfreeRedistributable # contains libbass.so in repository
+    ];
+    maintainers = [ maintainers.nocent ];
+    platforms = [ "i686-linux" "x86_64-linux" ];
+  };
+}
diff --git a/pkgs/applications/editors/codeblocks/default.nix b/pkgs/applications/editors/codeblocks/default.nix
index 20c2623e034..72642cfbe63 100644
--- a/pkgs/applications/editors/codeblocks/default.nix
+++ b/pkgs/applications/editors/codeblocks/default.nix
@@ -6,12 +6,12 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   name = "${pname}-${stdenv.lib.optionalString contribPlugins "full-"}${version}";
-  version = "16.01";
+  version = "17.12";
   pname = "codeblocks";
 
   src = fetchurl {
-    url = "mirror://sourceforge/codeblocks/Sources/${version}/codeblocks_${version}.tar.gz";
-    sha256 = "00sskm91r20ywydwqwx6v7z3nwn9lyh5297c5wp3razldlh9vyrh";
+    url = "mirror://sourceforge/codeblocks/Sources/${version}/codeblocks_${version}.tar.xz";
+    sha256 = "1q2pph7md1p10i83rir2l4gvy7ym2iw8w6sk5vl995knf851m20k";
   };
 
   nativeBuildInputs = [ autoreconfHook pkgconfig libtool file zip ];
@@ -22,11 +22,7 @@ stdenv.mkDerivation rec {
   preConfigure = "substituteInPlace ./configure --replace /usr/bin/file ${file}/bin/file";
   postConfigure = optionalString stdenv.isLinux "substituteInPlace libtool --replace ldconfig ${stdenv.cc.libc.bin}/bin/ldconfig";
   configureFlags = [ "--enable-pch=no" ]
-    ++ optional contribPlugins "--with-contrib-plugins";
-
-  # Fix boost 1.59 compat
-  # Try removing in the next version
-  #CPPFLAGS = "-DBOOST_ERROR_CODE_HEADER_ONLY -DBOOST_SYSTEM_NO_DEPRECATED";
+    ++ optional contribPlugins [ "--with-contrib-plugins" "--with-boost-libdir=${boost}/lib" ];
 
   meta = {
     maintainers = [ maintainers.linquize ];
diff --git a/pkgs/applications/editors/dit/default.nix b/pkgs/applications/editors/dit/default.nix
new file mode 100644
index 00000000000..03c3c5d5eec
--- /dev/null
+++ b/pkgs/applications/editors/dit/default.nix
@@ -0,0 +1,30 @@
+{ lib, fetchurl, stdenv, coreutils, ncurses, lua }:
+
+stdenv.mkDerivation rec {
+  name = "dit-${version}";
+  version = "0.4";
+
+  src = fetchurl {
+    url = "https://hisham.hm/dit/releases/${version}/${name}.tar.gz";
+    sha256 = "0bwczbv7annbbpg7bgbsqd5kwypn81sza4v7v99fin94wwmcn784";
+  };
+
+  buildInputs = [ coreutils ncurses lua ];
+
+  prePatch = ''
+    patchShebangs tools/GenHeaders
+  '';
+
+  # needs GNU tail for tail -r
+  postPatch = ''
+    substituteInPlace Prototypes.h --replace 'tail' "$(type -P tail)"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A console text editor for Unix that you already know how to use";
+    homepage = https://hisham.hm/dit/;
+    license = licenses.gpl2;
+    platforms = with platforms; linux;
+    maintainers = with maintainers; [ davidak ];
+  };
+}
diff --git a/pkgs/applications/editors/eclipse/build-eclipse.nix b/pkgs/applications/editors/eclipse/build-eclipse.nix
index 23e4449ee2e..a26d380ec1d 100644
--- a/pkgs/applications/editors/eclipse/build-eclipse.nix
+++ b/pkgs/applications/editors/eclipse/build-eclipse.nix
@@ -1,5 +1,5 @@
 { stdenv, makeDesktopItem, freetype, fontconfig, libX11, libXrender
-, zlib, jdk, glib, gtk2, libXtst, gsettings-desktop-schemas, webkitgtk24x-gtk2
+, zlib, jdk, glib, gtk3, libXtst, gsettings-desktop-schemas, webkitgtk
 , makeWrapper, ... }:
 
 { name, src ? builtins.getAttr stdenv.system sources, sources ? null, description }:
@@ -18,9 +18,9 @@ stdenv.mkDerivation rec {
   };
 
   buildInputs = [
-    fontconfig freetype glib gsettings-desktop-schemas gtk2 jdk libX11
+    fontconfig freetype glib gsettings-desktop-schemas gtk3 jdk libX11
     libXrender libXtst makeWrapper zlib
-  ] ++ stdenv.lib.optional (webkitgtk24x-gtk2 != null) webkitgtk24x-gtk2;
+  ] ++ stdenv.lib.optional (webkitgtk != null) webkitgtk;
 
   buildCommand = ''
     # Unpack tarball.
@@ -41,7 +41,7 @@ stdenv.mkDerivation rec {
 
     makeWrapper $out/eclipse/eclipse $out/bin/eclipse \
       --prefix PATH : ${jdk}/bin \
-      --prefix LD_LIBRARY_PATH : ${stdenv.lib.makeLibraryPath ([ glib gtk2 libXtst ] ++ stdenv.lib.optional (webkitgtk24x-gtk2 != null) webkitgtk24x-gtk2)} \
+      --prefix LD_LIBRARY_PATH : ${stdenv.lib.makeLibraryPath ([ glib gtk3 libXtst ] ++ stdenv.lib.optional (webkitgtk != null) webkitgtk)} \
       --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH" \
       --add-flags "-configuration \$HOME/.eclipse/''${productId}_$productVersion/configuration"
 
diff --git a/pkgs/applications/editors/eclipse/default.nix b/pkgs/applications/editors/eclipse/default.nix
index c69686a0967..1688e606222 100644
--- a/pkgs/applications/editors/eclipse/default.nix
+++ b/pkgs/applications/editors/eclipse/default.nix
@@ -1,7 +1,7 @@
 { stdenv, lib, fetchurl, makeDesktopItem, makeWrapper
 , freetype, fontconfig, libX11, libXext, libXrender, zlib
-, glib, gtk2, libXtst, jdk, gsettings-desktop-schemas
-, webkitgtk24x-gtk2 ? null  # for internal web browser
+, glib, gtk3, libXtst, jdk, gsettings-desktop-schemas
+, webkitgtk ? null  # for internal web browser
 , buildEnv, writeText, runCommand
 , callPackage
 }:
@@ -15,7 +15,7 @@ rec {
 
   buildEclipse = import ./build-eclipse.nix {
     inherit stdenv makeDesktopItem freetype fontconfig libX11 libXrender zlib
-            jdk glib gtk2 libXtst gsettings-desktop-schemas webkitgtk24x-gtk2
+            jdk glib gtk3 libXtst gsettings-desktop-schemas webkitgtk
             makeWrapper;
   };
 
diff --git a/pkgs/applications/editors/eclipse/plugins.nix b/pkgs/applications/editors/eclipse/plugins.nix
index 5d850614e95..adb763c1250 100644
--- a/pkgs/applications/editors/eclipse/plugins.nix
+++ b/pkgs/applications/editors/eclipse/plugins.nix
@@ -160,6 +160,29 @@ rec {
     };
   };
 
+  antlr-runtime_4_7 = buildEclipsePluginBase rec {
+    name = "antlr-runtime-4.7.1";
+
+    src = fetchurl {
+      url = "http://www.antlr.org/download/${name}.jar";
+      sha256 = "07f91mjclacrvkl8a307w2abq5wcqp0gcsnh0jg90ddfpqcnsla3";
+    };
+
+    buildCommand = ''
+      dropinDir="$out/eclipse/dropins/"
+      mkdir -p $dropinDir
+      cp -v $src $dropinDir/${name}.jar
+    '';
+
+    meta = with stdenv.lib; {
+      description = "A powerful parser generator for processing structured text or binary files";
+      homepage = http://www.antlr.org/;
+      license = licenses.bsd3;
+      platforms = platforms.all;
+      maintainers = [ maintainers.rycee ];
+    };
+  };
+
   anyedittools = buildEclipsePlugin rec {
     name = "anyedit-${version}";
     version = "2.7.1.201709201439";
@@ -409,11 +432,11 @@ rec {
 
   jsonedit = buildEclipsePlugin rec {
     name = "jsonedit-${version}";
-    version = "1.0.2";
+    version = "1.1.1";
 
     srcFeature = fetchurl {
       url = "https://boothen.github.io/Json-Eclipse-Plugin/features/jsonedit-feature_${version}.jar";
-      sha256 = "0zh9ihvaji2v4d4980va8p1c38x5dn2mcw74qmqkwxlz4nglpsr0";
+      sha256 = "0zkg8d8x3l5jpfxi0mz9dn62wmy4fjgpwdikj280fvsklmcw5b86";
     };
 
     srcPlugins =
@@ -425,16 +448,16 @@ rec {
           };
       in
         map fetch [
-          { n = "core"; h = "0zc1jpda6sviazsgvvig8zk2zmz0ac1mch5qs8lbcbdmrpq732ni"; }
-          { n = "editor"; h = "06k2mx7ka0bn0i8dfbv89jna9kmy8wnlwkg9yp1n1pgqmr01944s"; }
-          { n = "folding"; h = "1525blyhrl495vz5r98dyfws6kcgnhmyf9qgm5vkplhb27474yca"; }
-          { n = "model"; h = "0rnnkdl3hrp0sxchfzfad97ya5swsw56wfb5zvjwffbby4vln8fd"; }
-          { n = "outline"; h = "06bday90a7sdpv4idp69m2831z3r99q248n2avw2npc3gzkfy3kl"; }
-          { n = "preferences"; h = "1d9pcnq6j5p2smkfldb9dw8gdw5nqlmpcy9kh5n34jcyzf37cdac"; }
-          { n = "text"; h = "0r3g2qhnhl6misi0rrmw152gw0nb7zlcjy7019qvprn9mhwn1n84"; }
+          { n = "core"; h = "0svs0aswnhl26cqw6bmw30cisx4cr50kc5njg272sy5c1dqjm1zq"; }
+          { n = "editor"; h = "1q62dinrbb18aywbvii4mlr7rxa20rdsxxd6grix9y8h9776q4l5"; }
+          { n = "folding"; h = "1qh4ijfb1gl9xza5ydi87v1kyima3a9sh7lncwdy1way3pdhln1y"; }
+          { n = "model"; h = "1pr6k2pdfdwx8jqs7gx7wzn3gxsql3sk6lnjha8m15lv4al6d4kj"; }
+          { n = "outline"; h = "1jgr2g16j3id8v367jbgd6kx6g2w636fbzmd8jvkvkh7y1jgjqxm"; }
+          { n = "preferences"; h = "027fhaqa5xbil6dmhvkbpha3pgw6dpmc2im3nlliyds57mdmdb1h"; }
+          { n = "text"; h = "0clywylyidrxlqs0n816nhgjmk1c3xl7sn904ki4q050amfy0wb2"; }
         ];
 
-    propagatedBuildInputs = [ antlr-runtime_4_5 ];
+    propagatedBuildInputs = [ antlr-runtime_4_7 ];
 
     meta = with stdenv.lib; {
       description = "Adds support for JSON files to Eclipse";
@@ -507,18 +530,13 @@ rec {
     };
   };
 
-  spotbugs = buildEclipsePlugin rec {
+  spotbugs = buildEclipseUpdateSite rec {
     name = "spotbugs-${version}";
-    version = "3.1.2.r201802250230-59118d9";
-
-    srcFeature = fetchurl {
-      url = "https://spotbugs.github.io/eclipse/features/com.github.spotbugs.plugin.eclipse_${version}.jar";
-      sha256 = "1p0pz7znpfi5h1wr60sl8clkpd7rzkh7krmc0nxc6w43gkgkg9h4";
-    };
+    version = "3.1.3";
 
-    srcPlugin = fetchurl {
-      url = "https://spotbugs.github.io/eclipse/plugins/com.github.spotbugs.plugin.eclipse_${version}.jar";
-      sha256 = "1z3jjbcjif4qip1gx2dhfcm9fyhps96ms7z3ngbdcakgw7wai9v4";
+    src = fetchzip {
+      url = "https://github.com/spotbugs/spotbugs/releases/download/${version}/eclipsePlugin.zip";
+      sha256 = "01zrmk497bxzqgwgbpsvi5iz5qk9b4q949h4918abm54zvkgndlg";
     };
 
     meta = with stdenv.lib; {
diff --git a/pkgs/applications/editors/edbrowse/default.nix b/pkgs/applications/editors/edbrowse/default.nix
index e5e64a32e97..862739b4ed0 100644
--- a/pkgs/applications/editors/edbrowse/default.nix
+++ b/pkgs/applications/editors/edbrowse/default.nix
@@ -1,26 +1,25 @@
-{ stdenv, fetchurl, spidermonkey, unzip, curl, pcre, readline, openssl, perl, html-tidy }:
+{ stdenv, fetchFromGitHub, duktape, curl, pcre, readline, openssl, perl, html-tidy }:
 
 stdenv.mkDerivation rec {
   name = "edbrowse-${version}";
-  version = "3.6.1";
+  version = "3.7.3";
 
-  nativeBuildInputs = [ unzip ];
-  buildInputs = [ curl pcre readline openssl spidermonkey perl html-tidy ];
+  buildInputs = [ curl pcre readline openssl duktape perl html-tidy ];
 
   patchPhase = ''
-    substituteInPlace src/ebjs.c --replace \"edbrowse-js\" \"$out/bin/edbrowse-js\"
     for i in ./tools/*.pl
     do
       substituteInPlace $i --replace "/usr/bin/perl" "${perl}/bin/perl"
     done
   '';
 
-  NIX_CFLAGS_COMPILE = "-I${spidermonkey}/include/mozjs-31";
   makeFlags = "-C src prefix=$(out)";
 
-  src = fetchurl {
-    url = "http://edbrowse.org/${name}.zip";
-    sha256 = "1grkn09r31nmvcnm76jkd8aclmd9n5141mpqvb86wndp9pa7gz7q";
+  src = fetchFromGitHub {
+    owner = "CMB";
+    repo = "edbrowse";
+    rev = "v${version}";
+    sha256 = "19qdxigp0qv5vyy0hpn0czcc8papvivsjrxx7p367ihizm39yzla";
   };
   meta = with stdenv.lib; {
     description = "Command Line Editor Browser";
@@ -35,6 +34,5 @@ stdenv.mkDerivation rec {
     homepage = http://edbrowse.org/;
     maintainers = [ maintainers.schmitthenner maintainers.vrthra ];
     platforms = platforms.linux;
-    broken = true;  # no compatible spidermonkey
   };
 }
diff --git a/pkgs/applications/editors/emacs-modes/calfw/default.nix b/pkgs/applications/editors/emacs-modes/calfw/default.nix
index c173684fab4..091635feda6 100644
--- a/pkgs/applications/editors/emacs-modes/calfw/default.nix
+++ b/pkgs/applications/editors/emacs-modes/calfw/default.nix
@@ -29,6 +29,6 @@ stdenv.mkDerivation rec {
     license = stdenv.lib.licenses.gpl3Plus;
 
     maintainers = with stdenv.lib.maintainers; [ chaoflow ];
-    platforms = stdenv.lib.platforms.gnu;
+    platforms = stdenv.lib.platforms.gnu ++ stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/applications/editors/emacs-modes/elpa-generated.nix b/pkgs/applications/editors/emacs-modes/elpa-generated.nix
index ac50e829100..958066e2106 100644
--- a/pkgs/applications/editors/emacs-modes/elpa-generated.nix
+++ b/pkgs/applications/editors/emacs-modes/elpa-generated.nix
@@ -54,10 +54,10 @@
       }) {};
     adaptive-wrap = callPackage ({ elpaBuild, fetchurl, lib }: elpaBuild {
         pname = "adaptive-wrap";
-        version = "0.5.1";
+        version = "0.5.2";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/adaptive-wrap-0.5.1.el";
-          sha256 = "0qi7gjprcpywk2daivnlavwsx53hl5wcqvpxbwinvigg42vxh3ll";
+          url = "https://elpa.gnu.org/packages/adaptive-wrap-0.5.2.el";
+          sha256 = "1qcf1cabn4wb34cdmlyk3rv5dl1dcrxrbaw38kly1prs6y4l22aw";
         };
         packageRequires = [];
         meta = {
@@ -175,10 +175,10 @@
       }) {};
     auctex = callPackage ({ elpaBuild, fetchurl, lib }: elpaBuild {
         pname = "auctex";
-        version = "12.1.0";
+        version = "12.1.1";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/auctex-12.1.0.tar";
-          sha256 = "0iy5x61xqkxaph2hq64sg50l1c6yp6qhzppwadayxkdz00b46sas";
+          url = "https://elpa.gnu.org/packages/auctex-12.1.1.tar";
+          sha256 = "10l96569dy9pfp8bm64pndhk1skg65kqhsyllwfa0zvb7mjkm70l";
         };
         packageRequires = [];
         meta = {
@@ -713,10 +713,10 @@
     ebdb = callPackage ({ cl-lib ? null, elpaBuild, emacs, fetchurl, lib, seq }:
     elpaBuild {
         pname = "ebdb";
-        version = "0.4.3";
+        version = "0.5.2";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/ebdb-0.4.3.tar";
-          sha256 = "1xq0nhhgzgzrvxbb0lgpz71rfd0dcjakh87wg8wi3cpiw9w7zx41";
+          url = "https://elpa.gnu.org/packages/ebdb-0.5.2.tar";
+          sha256 = "09ff6kf74r6hg3m6lryrjr2rrczm9h702jpkap71xrj0fk4zfb5c";
         };
         packageRequires = [ cl-lib emacs seq ];
         meta = {
@@ -768,10 +768,10 @@
     el-search = callPackage ({ cl-print, elpaBuild, emacs, fetchurl, lib, stream }:
     elpaBuild {
         pname = "el-search";
-        version = "1.6";
+        version = "1.6.5";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/el-search-1.6.tar";
-          sha256 = "18pv2l6rl8f9x0yjn4iyf6g94c0ly5mizqg0vxr3m420bkbyk95h";
+          url = "https://elpa.gnu.org/packages/el-search-1.6.5.tar";
+          sha256 = "1iw13ifyrga2r2xz63zhjxiy541jy4p2rp3a8fgb22sjw1zi8n7w";
         };
         packageRequires = [ cl-print emacs stream ];
         meta = {
@@ -861,10 +861,10 @@
       }) {};
     exwm = callPackage ({ elpaBuild, fetchurl, lib, xelb }: elpaBuild {
         pname = "exwm";
-        version = "0.17";
+        version = "0.18";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/exwm-0.17.tar";
-          sha256 = "03vgrrrc1d3xr9ydl1ydvmqnvpnzg858dzdky2nd65h9ssyp2f5f";
+          url = "https://elpa.gnu.org/packages/exwm-0.18.tar";
+          sha256 = "1shz5bf4v4gg3arjaaldics5qkg3aiiaf3ngys8lb6qyxhcpvh6q";
         };
         packageRequires = [ xelb ];
         meta = {
@@ -931,10 +931,10 @@
     gited = callPackage ({ cl-lib ? null, elpaBuild, emacs, fetchurl, lib }:
     elpaBuild {
         pname = "gited";
-        version = "0.3.4";
+        version = "0.4.3";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/gited-0.3.4.tar";
-          sha256 = "0s03p0z5dqhigl01hzin2qy53nm7b4ilvfm83d0ca683i9rb7hx1";
+          url = "https://elpa.gnu.org/packages/gited-0.4.3.tar";
+          sha256 = "07sjrh7900v5gkjzac2hh05ygywp6k4803ikc3wj3x22yrc9l8bx";
         };
         packageRequires = [ cl-lib emacs ];
         meta = {
@@ -1106,10 +1106,10 @@
       }) {};
     iterators = callPackage ({ elpaBuild, emacs, fetchurl, lib }: elpaBuild {
         pname = "iterators";
-        version = "0.1";
+        version = "0.1.1";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/iterators-0.1.el";
-          sha256 = "0rljqdaj88cbhngj4ddd2z3bfd35r84aivq4h10mk4n4h8whjpj4";
+          url = "https://elpa.gnu.org/packages/iterators-0.1.1.el";
+          sha256 = "1r2cz2n6cr6wal5pqiqi5pn28pams639czgrvd60xcqmlr3li3g5";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -1160,10 +1160,10 @@
     js2-mode = callPackage ({ cl-lib ? null, elpaBuild, emacs, fetchurl, lib }:
     elpaBuild {
         pname = "js2-mode";
-        version = "20170721";
+        version = "20180301";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/js2-mode-20170721.tar";
-          sha256 = "02w2hgk8qbmwkksqf1dmslpr3xn9zjp3srl3qh8730w8r8s8czni";
+          url = "https://elpa.gnu.org/packages/js2-mode-20180301.tar";
+          sha256 = "0kcs70iygbpaxs094q6agsjs56sz03jy4fwk178f9hr93x95pynx";
         };
         packageRequires = [ cl-lib emacs ];
         meta = {
@@ -1423,14 +1423,29 @@
           license = lib.licenses.free;
         };
       }) {};
-    multishell = callPackage ({ elpaBuild, fetchurl, lib }: elpaBuild {
+    mmm-mode = callPackage ({ cl-lib ? null, elpaBuild, fetchurl, lib }:
+    elpaBuild {
+        pname = "mmm-mode";
+        version = "0.5.6";
+        src = fetchurl {
+          url = "https://elpa.gnu.org/packages/mmm-mode-0.5.6.tar";
+          sha256 = "1vwsi8sk1i16dvz940c6q7i75023hrw07sc4cpmcz06rj8r68gr0";
+        };
+        packageRequires = [ cl-lib ];
+        meta = {
+          homepage = "https://elpa.gnu.org/packages/mmm-mode.html";
+          license = lib.licenses.free;
+        };
+      }) {};
+    multishell = callPackage ({ cl-lib ? null, elpaBuild, fetchurl, lib }:
+    elpaBuild {
         pname = "multishell";
         version = "1.1.5";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/multishell-1.1.5.tar";
           sha256 = "0g38p5biyxqkjdkmxlikvhkhkmafyy3ibd012q83skaf8fi4cv1y";
         };
-        packageRequires = [];
+        packageRequires = [ cl-lib ];
         meta = {
           homepage = "https://elpa.gnu.org/packages/multishell.html";
           license = lib.licenses.free;
@@ -1438,10 +1453,10 @@
       }) {};
     muse = callPackage ({ elpaBuild, fetchurl, lib }: elpaBuild {
         pname = "muse";
-        version = "3.20";
+        version = "3.20.2";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/muse-3.20.tar";
-          sha256 = "0i5gfhgxdm1ripw7j3ixqlfkinx3fxjj2gk5md99h70iigrhcnm9";
+          url = "https://elpa.gnu.org/packages/muse-3.20.2.tar";
+          sha256 = "0g2ff6x45x2k5dnkp31sk3bjj92jyhhnar7l5hzn8vp22l0rv8wn";
         };
         packageRequires = [];
         meta = {
@@ -1492,10 +1507,10 @@
     nhexl-mode = callPackage ({ cl-lib ? null, elpaBuild, emacs, fetchurl, lib }:
     elpaBuild {
         pname = "nhexl-mode";
-        version = "0.2";
+        version = "0.5";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/nhexl-mode-0.2.el";
-          sha256 = "0qrzpkxxdwi2b3136yj5agvaxwr9g2c58kpmjmjpfhpc6yyyx5x0";
+          url = "https://elpa.gnu.org/packages/nhexl-mode-0.5.el";
+          sha256 = "02z2mx39m96s7v5d8sh6hxb5p70qzbagjfa3lavfw10zjim8g9wl";
         };
         packageRequires = [ cl-lib emacs ];
         meta = {
@@ -1544,10 +1559,10 @@
       }) {};
     num3-mode = callPackage ({ elpaBuild, fetchurl, lib }: elpaBuild {
         pname = "num3-mode";
-        version = "1.2";
+        version = "1.3";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/num3-mode-1.2.el";
-          sha256 = "1nm3yjp5qs6rq4ak47gb6325vjfw0dnkryfgybgly0m6h4hhpbd8";
+          url = "https://elpa.gnu.org/packages/num3-mode-1.3.el";
+          sha256 = "0x2jpnzvpbj03pbmhsny5gygh63c4dbl4g3k0cfs3vh4qmp2dg6w";
         };
         packageRequires = [];
         meta = {
@@ -1595,6 +1610,19 @@
           license = lib.licenses.free;
         };
       }) {};
+    org = callPackage ({ elpaBuild, fetchurl, lib }: elpaBuild {
+        pname = "org";
+        version = "9.1.10";
+        src = fetchurl {
+          url = "https://elpa.gnu.org/packages/org-9.1.10.tar";
+          sha256 = "01vvq6m7r2ifyflvq5ga241qvl4j62smz0zr6jljk56b6nqi20lm";
+        };
+        packageRequires = [];
+        meta = {
+          homepage = "https://elpa.gnu.org/packages/org.html";
+          license = lib.licenses.free;
+        };
+      }) {};
     osc = callPackage ({ elpaBuild, fetchurl, lib }: elpaBuild {
         pname = "osc";
         version = "0.1";
@@ -1688,6 +1716,19 @@
           license = lib.licenses.free;
         };
       }) {};
+    posframe = callPackage ({ elpaBuild, emacs, fetchurl, lib }: elpaBuild {
+        pname = "posframe";
+        version = "0.3.0";
+        src = fetchurl {
+          url = "https://elpa.gnu.org/packages/posframe-0.3.0.el";
+          sha256 = "0q74lwklr29c50qgaqly48nj7f49kgxiv70lsvhdy8cg2v082v8k";
+        };
+        packageRequires = [ emacs ];
+        meta = {
+          homepage = "https://elpa.gnu.org/packages/posframe.html";
+          license = lib.licenses.free;
+        };
+      }) {};
     psgml = callPackage ({ elpaBuild, fetchurl, lib }: elpaBuild {
         pname = "psgml";
         version = "1.3.4";
@@ -1704,10 +1745,10 @@
     python = callPackage ({ cl-lib ? null, elpaBuild, emacs, fetchurl, lib }:
     elpaBuild {
         pname = "python";
-        version = "0.26";
+        version = "0.26.1";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/python-0.26.el";
-          sha256 = "197sq42xd4ryqq2zy1802pns6wf6n4vzx90yxgn1zzqpwffpv317";
+          url = "https://elpa.gnu.org/packages/python-0.26.1.el";
+          sha256 = "1dpw2w2nk6ggr8pz293qysjkiya3i7k25i447fbycjil59anzpb3";
         };
         packageRequires = [ cl-lib emacs ];
         meta = {
@@ -1743,10 +1784,10 @@
       }) {};
     rainbow-mode = callPackage ({ elpaBuild, fetchurl, lib }: elpaBuild {
         pname = "rainbow-mode";
-        version = "0.13";
+        version = "1.0";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/rainbow-mode-0.13.el";
-          sha256 = "1d3aamx6qgqqpqijwsr02ggwrh67gfink1bir0692alfkm3zdddl";
+          url = "https://elpa.gnu.org/packages/rainbow-mode-1.0.el";
+          sha256 = "1mg9dbgvg79sphpic56d11mrjwx668xffx5z5jszc9fdl5b8ygml";
         };
         packageRequires = [];
         meta = {
@@ -1796,10 +1837,10 @@
     realgud = callPackage ({ cl-lib ? null, elpaBuild, emacs, fetchurl, lib, load-relative, loc-changes, test-simple }:
     elpaBuild {
         pname = "realgud";
-        version = "1.4.4";
+        version = "1.4.5";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/realgud-1.4.4.tar";
-          sha256 = "1nc8km339ip90h1j55ahfga03v7x7rh4iycmw6yrxyzir68vwn7c";
+          url = "https://elpa.gnu.org/packages/realgud-1.4.5.tar";
+          sha256 = "108wgxg7fb4byaiasgvbxv2hq7b00biq9f0mh9hy6vw4160y5w24";
         };
         packageRequires = [
           cl-lib
@@ -2400,10 +2441,10 @@
     xelb = callPackage ({ cl-generic, elpaBuild, emacs, fetchurl, lib }:
     elpaBuild {
         pname = "xelb";
-        version = "0.13";
+        version = "0.14";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/xelb-0.13.tar";
-          sha256 = "0sfygy6ihjwszhn6a81fz2yn70rr7vpygl7z49vz4rsd8s0fdgjc";
+          url = "https://elpa.gnu.org/packages/xelb-0.14.tar";
+          sha256 = "09flnbjy9ck784kprz036rwg9qk45hpv0w5hz3pz3zhwyk57fv74";
         };
         packageRequires = [ cl-generic emacs ];
         meta = {
diff --git a/pkgs/applications/editors/emacs-modes/icicles/default.nix b/pkgs/applications/editors/emacs-modes/icicles/default.nix
index f0d120dd803..2277ebef4ff 100644
--- a/pkgs/applications/editors/emacs-modes/icicles/default.nix
+++ b/pkgs/applications/editors/emacs-modes/icicles/default.nix
@@ -2,25 +2,25 @@
 
 let
   modules = [
-    { name = "icicles.el"; sha256 = "10w1lghh9jqxxm5cszi2qyk24vnvazfywmyyz1v7zf6cyiwbndrz"; }
-    { name = "icicles-chg.el"; sha256 = "020yg4hv120mcy7qvn76j85q6hl7mfcfv66w55c6izc9lbrvvnv8"; }
-    { name = "icicles-cmd1.el"; sha256 = "1715x1vkiax93890gfjbzslxsn4swsv37spvyx7chy4s1mym9kfw"; }
-    { name = "icicles-cmd2.el"; sha256 = "187k0gmn34fn6w1dw9hjf4i788y01vk47z7ac11ar4bddwh97ddx"; }
-    { name = "icicles-doc1.el"; sha256 = "1bw5dkymn2xdrfrp80am0gqi0szs0xihny4qmgzgx6hfbng351qh"; }
-    { name = "icicles-doc2.el"; sha256 = "0zd94m1a8mwwbrbcrahxxx8q34w8cg5lna4yww4m1gliyklww86s"; }
-    { name = "icicles-face.el"; sha256 = "1mlz8dq7bgzp2cf5j37i25yw90ry657d2m8r93rdj67h7l4wyxhj"; }
-    { name = "icicles-fn.el"; sha256 = "1cdghvgsr0b7pdq4lmnfm6kwwcqbk4wqf168kf2sjajbpa24ix96"; }
-    { name = "icicles-mac.el"; sha256 = "1w5sgzbp8hyjzrmqd8bwivszaayzh8dkyqa0d751adiwjfs9sq9m"; }
-    { name = "icicles-mcmd.el"; sha256 = "1lf2galn3g52hfz61avlr4ifyn5b42dfbmyq78cpzlq7hzc928v2"; }
-    { name = "icicles-mode.el"; sha256 = "0gci04j6vx0vqsh4skarznklam1xibj7pjvy67kaip8b6a4zx9ip"; }
-    { name = "icicles-opt.el"; sha256 = "17g35ancml0mvywagzhjrgmlr4rhm1wgb5wg3fsqhhldib9qlz56"; }
-    { name = "icicles-var.el"; sha256 = "0ydixg41h09yncp8g2nv8zsyv8avg1hj2f3mgrmd2kf0n27bw2nv"; }
+    { name = "icicles.el"; sha256 = "0wxak7wh0rrb3h77ay2vypbb53skcfbrv71xkajhax0w12q6zpaj"; }
+    { name = "icicles-chg.el"; sha256 = "1kqlhisg5g9ycylzqiwxrmmgfw2jw599wisz26wvi48lac2icgg7"; }
+    { name = "icicles-cmd1.el"; sha256 = "17cpw798bl6p77cmjl7lwdnxa1qpw4z1wacjq2mdc8fh81cyw3am"; }
+    { name = "icicles-cmd2.el"; sha256 = "15swxk7fr7wsqpf26xzbvyk12ikkvfcyh9w8wmnpc38dmpyq79rb"; }
+    { name = "icicles-doc1.el"; sha256 = "04j5qvj7pqnjh8h2y2sdgi7x55czdp9xn7yysr3bzcmr1rq5p4bz"; }
+    { name = "icicles-doc2.el"; sha256 = "1k8vfhi3fa4bzsxr074bw5q6srvq6z6hi61rzlxdw7pah6qf7hcz"; }
+    { name = "icicles-face.el"; sha256 = "1pvygqzmh6ag0zhfjn1vhdvlhxybwxzj22ah2pc0ls80dlywhi4l"; }
+    { name = "icicles-fn.el"; sha256 = "1sn56z5rjsvqsy3vs7af7yai0c0qdjvcxvwwc59rhswrbi6zlxz5"; }
+    { name = "icicles-mac.el"; sha256 = "1wyvqzlpq5n70mggqijb8f5r5q9y1hxxngp64sixy0xszy5d12dk"; }
+    { name = "icicles-mcmd.el"; sha256 = "05dniz6337v9r15w8r2zad0n2h6jlygzjp7vw75vvq8mds0acmia"; }
+    { name = "icicles-mode.el"; sha256 = "1xfv8nryf5y2gygg02naawzm5qhrkba3h84g43518r1xc6rgbpp6"; }
+    { name = "icicles-opt.el"; sha256 = "10n4p999ylkapirs75y5fh33lpiyx42i3ajzl2zjfwyr1zksg1iz"; }
+    { name = "icicles-var.el"; sha256 = "1r5gb01zg8nf2qryq9saxfpnzlymmppsk7w1g09lac35c87vh8yl"; }
   ];
 
   forAll = f: map f modules;
 in
 stdenv.mkDerivation rec {
-  version = "2017-10-28";
+  version = "2018-04-16";
   name = "icicles-${version}";
 
   srcs = forAll ({name, sha256}: fetchurl { url = "http://www.emacswiki.org/emacs/download/${name}"; inherit sha256; });
diff --git a/pkgs/applications/editors/emacs-modes/jdee/default.nix b/pkgs/applications/editors/emacs-modes/jdee/default.nix
index e47da7a4193..306fe66823c 100644
--- a/pkgs/applications/editors/emacs-modes/jdee/default.nix
+++ b/pkgs/applications/editors/emacs-modes/jdee/default.nix
@@ -92,7 +92,7 @@ in
       license = stdenv.lib.licenses.gpl2Plus;
 
       maintainers = [ ];
-      platforms = stdenv.lib.platforms.gnu;  # arbitrary choice
+      platforms = stdenv.lib.platforms.gnu ++ stdenv.lib.platforms.linux;  # arbitrary choice
 
       broken = true;
     };
diff --git a/pkgs/applications/editors/emacs-modes/melpa-generated.nix b/pkgs/applications/editors/emacs-modes/melpa-generated.nix
index a24cb9e4910..aec089f43de 100644
--- a/pkgs/applications/editors/emacs-modes/melpa-generated.nix
+++ b/pkgs/applications/editors/emacs-modes/melpa-generated.nix
@@ -250,48 +250,6 @@
           license = lib.licenses.free;
         };
       }) {};
-    ac-cake = callPackage ({ auto-complete, cake, fetchFromGitHub, fetchurl, lib, melpaBuild }:
-    melpaBuild {
-        pname = "ac-cake";
-        version = "20140315.929";
-        src = fetchFromGitHub {
-          owner = "k1LoW";
-          repo = "emacs-ac-cake";
-          rev = "f34c9e3ba8cb962e4708c8f53b623e1922500176";
-          sha256 = "1llpnb9vy612sg214i76rxnzcl3qx8pqnixczc5pik9kd3fdaz5f";
-        };
-        recipeFile = fetchurl {
-          url = "https://raw.githubusercontent.com/milkypostman/melpa/2257db76719cb1e3e2f79aff2b61073b655f9061/recipes/ac-cake";
-          sha256 = "0s2pgf0m98ixgadsnn201vm5gnawanpvxv56sf599f33krqnxzkl";
-          name = "ac-cake";
-        };
-        packageRequires = [ auto-complete cake ];
-        meta = {
-          homepage = "https://melpa.org/#/ac-cake";
-          license = lib.licenses.free;
-        };
-      }) {};
-    ac-cake2 = callPackage ({ auto-complete, cake2, fetchFromGitHub, fetchurl, lib, melpaBuild }:
-    melpaBuild {
-        pname = "ac-cake2";
-        version = "20140320.8";
-        src = fetchFromGitHub {
-          owner = "k1LoW";
-          repo = "emacs-ac-cake2";
-          rev = "ffbb679c0d5c261b05abde06d8d1d1e5d5990b6a";
-          sha256 = "0mlmhdl9s28z981y8bnpj8jpfzm6bgfiyl0zmpgvhyqw1wzqywwv";
-        };
-        recipeFile = fetchurl {
-          url = "https://raw.githubusercontent.com/milkypostman/melpa/b8b728c2caed96d7505cafc42d0d7ed49d6cadcd/recipes/ac-cake2";
-          sha256 = "0qxilldx23wqf8ilif2nin119bvd0l7b6f6wifixx28a6kl1vsgy";
-          name = "ac-cake2";
-        };
-        packageRequires = [ auto-complete cake2 ];
-        meta = {
-          homepage = "https://melpa.org/#/ac-cake2";
-          license = lib.licenses.free;
-        };
-      }) {};
     ac-capf = callPackage ({ auto-complete, cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "ac-capf";
@@ -337,12 +295,12 @@
     ac-clang = callPackage ({ auto-complete, cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, pos-tip, yasnippet }:
     melpaBuild {
         pname = "ac-clang";
-        version = "20171209.240";
+        version = "20180318.1124";
         src = fetchFromGitHub {
           owner = "yaruopooner";
           repo = "ac-clang";
-          rev = "f11f17382646e13a0c794821ed5efe1692f96652";
-          sha256 = "0ynl5fvsamij5ji2cnxp4vbqwbw09c8x8fxx3s80v02yi3xi5fr0";
+          rev = "daddbea033d3c6f934e5043cc2fff8eca3b6e5f7";
+          sha256 = "1hp3xpv0kwmilfivif2smbbgknjyk8kcgp399dghdcq71qsxz3wr";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/ffe0485048b85825f5e8ba95917d8c9dc64fe5de/recipes/ac-clang";
@@ -715,12 +673,12 @@
     ac-octave = callPackage ({ auto-complete, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "ac-octave";
-        version = "20171122.943";
+        version = "20180405.2034";
         src = fetchFromGitHub {
           owner = "coldnew";
           repo = "ac-octave";
-          rev = "6d09b94a86f43de84c60e9a699b5e1be61c0f138";
-          sha256 = "1kg5q0bw0ymynsn3j7bjavb6wr8b0bjwm6jfj254g80y1inn4bp4";
+          rev = "fe0f931f2024f43de3c4fff4b1ace672413adeae";
+          sha256 = "1yj5fapbp79k88k1cxrmmf91fb0j6s4s7f2dhk2afcf7z83mqkwb";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/634bd324148d6b74e1098362e06dc512456cde31/recipes/ac-octave";
@@ -740,8 +698,8 @@
         src = fetchFromGitHub {
           owner = "xcwen";
           repo = "ac-php";
-          rev = "56a18467de4bc1cf408a1910458e1819102312dd";
-          sha256 = "0x9ilnqaw9vim9f17rl4g8ikbi4qwagjz41j9f2i72aspir3jdfg";
+          rev = "24204333743b3ba26a9a8d51f56f1d3195ae4115";
+          sha256 = "0y3pzf2zvqlsqs7255ihrswaxjq0q389yiiprlwzm86xsws8fbkw";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/ac283f1b65c3ba6278e9d3236e5a19734e42b123/recipes/ac-php";
@@ -757,12 +715,12 @@
     ac-php-core = callPackage ({ dash, emacs, f, fetchFromGitHub, fetchurl, lib, melpaBuild, php-mode, popup, s, xcscope }:
     melpaBuild {
         pname = "ac-php-core";
-        version = "20180222.2209";
+        version = "20180323.503";
         src = fetchFromGitHub {
           owner = "xcwen";
           repo = "ac-php";
-          rev = "56a18467de4bc1cf408a1910458e1819102312dd";
-          sha256 = "0x9ilnqaw9vim9f17rl4g8ikbi4qwagjz41j9f2i72aspir3jdfg";
+          rev = "24204333743b3ba26a9a8d51f56f1d3195ae4115";
+          sha256 = "0y3pzf2zvqlsqs7255ihrswaxjq0q389yiiprlwzm86xsws8fbkw";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/ac283f1b65c3ba6278e9d3236e5a19734e42b123/recipes/ac-php-core";
@@ -803,8 +761,8 @@
         src = fetchFromGitHub {
           owner = "Andersbakken";
           repo = "rtags";
-          rev = "4f27c1cc60742622e6616b579c82b5440ad446d3";
-          sha256 = "08310vkd7gyfc9jcis7r5dfdb6spilxw1kf7p8vm078v8hmmjyj0";
+          rev = "4747d5b695bee40c3b0a2e3591ac8897571edd66";
+          sha256 = "1qy71bx8nki73mqslw54hq5bn1asz5qg1b2848nrsj8zb2yd85x5";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/3dea16daf0d72188c8b4043534f0833fe9b04e07/recipes/ac-rtags";
@@ -880,6 +838,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    academic-phrases = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, ht, lib, melpaBuild, s }:
+    melpaBuild {
+        pname = "academic-phrases";
+        version = "20180318.438";
+        src = fetchFromGitHub {
+          owner = "nashamri";
+          repo = "academic-phrases";
+          rev = "0823ed8c24b26c32f909b896a469833ec4d7b656";
+          sha256 = "0qfzsq8jh05w4zkr0cvq3i1hdn97bq344vcqjg46sib26x3wpz6r";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/fe4323043fb875c0252861800e61fdd0a51ed453/recipes/academic-phrases";
+          sha256 = "18y6lff7xwg6hczwgavwp32848gnlmc30afra9x7m8wmdddps1bh";
+          name = "academic-phrases";
+        };
+        packageRequires = [ dash emacs ht s ];
+        meta = {
+          homepage = "https://melpa.org/#/academic-phrases";
+          license = lib.licenses.free;
+        };
+      }) {};
     ace-flyspell = callPackage ({ avy, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "ace-flyspell";
@@ -1009,12 +988,12 @@
     ace-link = callPackage ({ avy, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "ace-link";
-        version = "20180224.2244";
+        version = "20180308.100";
         src = fetchFromGitHub {
           owner = "abo-abo";
           repo = "ace-link";
-          rev = "177e0f9a60ddca62cc44c2395b075cb230b26f4d";
-          sha256 = "1rjxpjanyxfrx4dfsag6g647flxvw75vf0jh6y6y0w2jdiih919i";
+          rev = "fae5d508ff519ba1fab21c51f46c0906fd82229f";
+          sha256 = "118dp8w0z475j67gvl1dj137glbli2ykbm934vdvlz6q0k94vds7";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/68032f40c0ce4170a22db535be4bfa7099f61f85/recipes/ace-link";
@@ -1447,12 +1426,12 @@
     airline-themes = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, powerline }:
     melpaBuild {
         pname = "airline-themes";
-        version = "20170623.958";
+        version = "20180410.2106";
         src = fetchFromGitHub {
           owner = "AnthonyDiGirolamo";
           repo = "airline-themes";
-          rev = "0c0f8efbeaefa49ef04c0c4405b1ef79ecc5433e";
-          sha256 = "08hkx5wf9qyh4d5s5z4v57d43qkzw6p8zsqijw92wy4kngv1gl78";
+          rev = "8b528fbae0e557461315bed82883275d58df41f2";
+          sha256 = "1xydgf9w0i2anpmjhy8m0zv1hql4gb37i11xfn6xzwna572z1ml9";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/addeb923176132a52807308fa5e71d41c9511802/recipes/airline-themes";
@@ -1489,12 +1468,12 @@
     alchemist = callPackage ({ company, dash, elixir-mode, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, pkg-info, s }:
     melpaBuild {
         pname = "alchemist";
-        version = "20171029.2307";
+        version = "20180312.604";
         src = fetchFromGitHub {
           owner = "tonini";
           repo = "alchemist.el";
-          rev = "38ec1faf4a9cbeb2944b517ec30d999022082bc1";
-          sha256 = "1hqr1phkm4mxzfszzraqljb32mpin1h1r26al9bazrsq2azmd5a7";
+          rev = "6f99367511ae209f8fe2c990779764bbb4ccb6ed";
+          sha256 = "12f95rwxs11sqf1w9pnf6cxc2lh2jz4nqkq33p8b5yamnl8cq9kg";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/6616dc61d17c5bd89bc4d226baab24a1f8e49b3e/recipes/alchemist";
@@ -1514,8 +1493,8 @@
         src = fetchFromGitHub {
           owner = "jgkamat";
           repo = "alda-mode";
-          rev = "ea0d3a25ca2b45d08c510ad55b3d8a5374b2ec43";
-          sha256 = "18rfn6608sxwv8r0kdrzhag58kf1822xmy7h9gw1ci7mfpq2i1ns";
+          rev = "2582122c41cd34d034b6bbe71469f5ceb1de40c7";
+          sha256 = "11miyk48p09327ivmsk1hiw0brnx1pgjvdrfsdfhcwhbv2cafnf9";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/2612c494a2b6bd43ffbbaef88ce9ee6327779158/recipes/alda-mode";
@@ -1531,12 +1510,12 @@
     alect-themes = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "alect-themes";
-        version = "20180113.1316";
+        version = "20180322.1408";
         src = fetchFromGitHub {
           owner = "alezost";
           repo = "alect-themes";
-          rev = "b30158d5d9e43318fa0e4a211d81fe4b2495c027";
-          sha256 = "0hylvk7ivibm8l6y21v88j1gfv8mwggdcbgw6gb4rz5ws6n0jdxd";
+          rev = "f61eec647abd9981139c720811e1c4e2501f250c";
+          sha256 = "0hfhk2bnhml2sc1i7i4py06x9sph1g7qa50x6bffkxx92ry4wvl0";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/84c25a290ae4bcc4674434c83c66ae128e4c4282/recipes/alect-themes";
@@ -1552,12 +1531,12 @@
     alert = callPackage ({ fetchFromGitHub, fetchurl, gntp, lib, log4e, melpaBuild }:
     melpaBuild {
         pname = "alert";
-        version = "20180122.1242";
+        version = "20180403.38";
         src = fetchFromGitHub {
           owner = "jwiegley";
           repo = "alert";
-          rev = "103d34c83fe77e46a6976dcaba3db678199e0c9c";
-          sha256 = "1nbk768d8iqjf1mx956497hbjfxar144h3m3sd298byc54z8bvmf";
+          rev = "667d9c7848c723eb392ab9bacae07966da3e3504";
+          sha256 = "04nrl7kg5pprfdxjbqjyh7vw0vs22bplhhpaf30v3hw7k7nkc0ky";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/113953825ac4ff98d90a5375eb48d8b7bfa224e7/recipes/alert";
@@ -1792,12 +1771,12 @@
     amx = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, s }:
     melpaBuild {
         pname = "amx";
-        version = "20180203.1043";
+        version = "20180313.857";
         src = fetchFromGitHub {
           owner = "DarwinAwardWinner";
           repo = "amx";
-          rev = "356393033980746eccff950c84c6e3c2984cbae4";
-          sha256 = "12ady1k621difw8b00x8ynhynkra02nkcm22s2cyzh9vv4m505zg";
+          rev = "f2b030121e59b9b3c8f05218e6c673bc6d69125e";
+          sha256 = "10369f68wzpxb01bmk35yhm1z99wj0vm5d6ivdq5n6lard5afgvy";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/c55bfad05343b2b0f3150fd2b4adb07a1768c1c0/recipes/amx";
@@ -1817,8 +1796,8 @@
         src = fetchFromGitHub {
           owner = "proofit404";
           repo = "anaconda-mode";
-          rev = "b3f742620c17f9866f3a85ec771f4d0b239f2970";
-          sha256 = "1ycfq11x1nshv69d891am50j5zclk62krwyfgia8wk3rxmgnaj53";
+          rev = "384f1c5995a96c2687cea7cf18ff5710d00a39c2";
+          sha256 = "0qk1cd39pqjfm9hpgwm6xb205rgcka9jxfdkw3fcay3rmj3qyzws";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/e03b698fd3fe5b80bdd24ce01f7fba28e9da0da8/recipes/anaconda-mode";
@@ -2209,194 +2188,6 @@
           license = lib.licenses.free;
         };
       }) {};
-    anything = callPackage ({ fetchgit, fetchurl, lib, melpaBuild }:
-    melpaBuild {
-        pname = "anything";
-        version = "20170125.1710";
-        src = fetchgit {
-          url = "http://repo.or.cz/r/anything-config.git";
-          rev = "9e2259fc779eef1a3e947e74cc7d301d1cea0ca6";
-          sha256 = "1rl60k9imk5wma2xnx1s0av7rzgjjbaw7nkb539vwk4pwj1kmqqq";
-        };
-        recipeFile = fetchurl {
-          url = "https://raw.githubusercontent.com/milkypostman/melpa/e1700e86cb35617178f5d7c61c88718ac7849f9b/recipes/anything";
-          sha256 = "13pmks0bsby57v3vp6jcvvzwb771d4qq62djgvrw4ykxqzkcb8fj";
-          name = "anything";
-        };
-        packageRequires = [];
-        meta = {
-          homepage = "https://melpa.org/#/anything";
-          license = lib.licenses.free;
-        };
-      }) {};
-    anything-exuberant-ctags = callPackage ({ anything, fetchFromGitHub, fetchurl, lib, melpaBuild }:
-    melpaBuild {
-        pname = "anything-exuberant-ctags";
-        version = "20140316.1637";
-        src = fetchFromGitHub {
-          owner = "k1LoW";
-          repo = "anything-exuberant-ctags";
-          rev = "8ed688fd526751e044435bb77135f5315c8167e5";
-          sha256 = "0dbf510gcd0m191samih0r4lx6d7sgk0ls0sx2jrdkyacy82ridy";
-        };
-        recipeFile = fetchurl {
-          url = "https://raw.githubusercontent.com/milkypostman/melpa/66cae648d534468e5e9f125679847fb876935f68/recipes/anything-exuberant-ctags";
-          sha256 = "0p0jq2ggdgaxv2gd9m5iza0y3mjjc82xmgp899yr15pfffa4wihk";
-          name = "anything-exuberant-ctags";
-        };
-        packageRequires = [ anything ];
-        meta = {
-          homepage = "https://melpa.org/#/anything-exuberant-ctags";
-          license = lib.licenses.free;
-        };
-      }) {};
-    anything-git-files = callPackage ({ anything, fetchFromGitHub, fetchurl, lib, melpaBuild }:
-    melpaBuild {
-        pname = "anything-git-files";
-        version = "20130609.243";
-        src = fetchFromGitHub {
-          owner = "tarao";
-          repo = "anything-git-files-el";
-          rev = "efeec4f8001e2a95f36a9c31181bb30f7561015c";
-          sha256 = "0gj0p7420wx5c186kdccjb9icn656sg5b0zwnwy3fjvhsbbvrb2r";
-        };
-        recipeFile = fetchurl {
-          url = "https://raw.githubusercontent.com/milkypostman/melpa/7f69f8362790ef4a9200f99a8f7ac3770b402b97/recipes/anything-git-files";
-          sha256 = "13giasg8lh5968plva449ki9nc3478a63700f8c0yghnwjb77asw";
-          name = "anything-git-files";
-        };
-        packageRequires = [ anything ];
-        meta = {
-          homepage = "https://melpa.org/#/anything-git-files";
-          license = lib.licenses.free;
-        };
-      }) {};
-    anything-git-grep = callPackage ({ anything, fetchFromGitHub, fetchurl, lib, melpaBuild }:
-    melpaBuild {
-        pname = "anything-git-grep";
-        version = "20130608.1940";
-        src = fetchFromGitHub {
-          owner = "mechairoi";
-          repo = "anything-git-grep";
-          rev = "6ee26e68bb8ec23ffacf5c5f9698c451a4bc905c";
-          sha256 = "06fyvk7cjz1aag6fj52qraqmr23b0fqwml41yyid8gjxl4ygmkpv";
-        };
-        recipeFile = fetchurl {
-          url = "https://raw.githubusercontent.com/milkypostman/melpa/784a04ab60ef0862105d2bec309994d3a755c043/recipes/anything-git-grep";
-          sha256 = "1kw88fvxil9l80w8zn16az7avqplyf2m0l7kp431wb5b1b1508jl";
-          name = "anything-git-grep";
-        };
-        packageRequires = [ anything ];
-        meta = {
-          homepage = "https://melpa.org/#/anything-git-grep";
-          license = lib.licenses.free;
-        };
-      }) {};
-    anything-milkode = callPackage ({ anything, fetchFromGitHub, fetchurl, lib, melpaBuild, milkode }:
-    melpaBuild {
-        pname = "anything-milkode";
-        version = "20140518.743";
-        src = fetchFromGitHub {
-          owner = "ongaeshi";
-          repo = "anything-milkode";
-          rev = "d6b2be13a351c41793e9cc13c1320953939d3ac9";
-          sha256 = "1jw6gqwcl3fx1m7w0a15w2pnzzlqyr1fbg0m81ay358s4w3jn6v7";
-        };
-        recipeFile = fetchurl {
-          url = "https://raw.githubusercontent.com/milkypostman/melpa/124d55605500c30ca7b01ae31eec3f3da51a2c7e/recipes/anything-milkode";
-          sha256 = "1apc865a01jyx602ldzj32rrjk6xmgnxdccpjpcfgh24h2aqpdan";
-          name = "anything-milkode";
-        };
-        packageRequires = [ anything milkode ];
-        meta = {
-          homepage = "https://melpa.org/#/anything-milkode";
-          license = lib.licenses.free;
-        };
-      }) {};
-    anything-prosjekt = callPackage ({ anything, fetchFromGitHub, fetchurl, lib, melpaBuild, prosjekt }:
-    melpaBuild {
-        pname = "anything-prosjekt";
-        version = "20140129.4";
-        src = fetchFromGitHub {
-          owner = "abingham";
-          repo = "prosjekt";
-          rev = "a864a8be5842223043702395f311e3350c28e9db";
-          sha256 = "1m8zvrv5aws7b0dffk8y6b5mncdk2c4k90mx69jys10fs0gc5hb3";
-        };
-        recipeFile = fetchurl {
-          url = "https://raw.githubusercontent.com/milkypostman/melpa/6d359ec827573dd8c871c4f23df5d1737f1830e7/recipes/anything-prosjekt";
-          sha256 = "15kgn0wrnbh666kchijdlssf2gp7spgbymr2nwgv6k730cb4mfa8";
-          name = "anything-prosjekt";
-        };
-        packageRequires = [ anything prosjekt ];
-        meta = {
-          homepage = "https://melpa.org/#/anything-prosjekt";
-          license = lib.licenses.free;
-        };
-      }) {};
-    anything-replace-string = callPackage ({ anything, fetchFromGitHub, fetchurl, lib, melpaBuild }:
-    melpaBuild {
-        pname = "anything-replace-string";
-        version = "20140317.336";
-        src = fetchFromGitHub {
-          owner = "k1LoW";
-          repo = "anything-replace-string";
-          rev = "1962f24243d6013bcef7e8d23136277d42e13130";
-          sha256 = "1834yj2vgs4dasdfnppc8iw8ll3yif948biq9hj0sbpsa2d8y44k";
-        };
-        recipeFile = fetchurl {
-          url = "https://raw.githubusercontent.com/milkypostman/melpa/39b7f3a8de2f7728b374c09a1387beb3f7595d2e/recipes/anything-replace-string";
-          sha256 = "1fagi6cn88p6sf1yhx1qsi7nw9zpyx9hdfl66iyskqwddfvywp71";
-          name = "anything-replace-string";
-        };
-        packageRequires = [ anything ];
-        meta = {
-          homepage = "https://melpa.org/#/anything-replace-string";
-          license = lib.licenses.free;
-        };
-      }) {};
-    anything-sage = callPackage ({ anything, cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild, sage-shell-mode }:
-    melpaBuild {
-        pname = "anything-sage";
-        version = "20141005.413";
-        src = fetchFromGitHub {
-          owner = "stakemori";
-          repo = "anything-sage";
-          rev = "370b4248935dd4527127954788a028399644f578";
-          sha256 = "08xr6fkk1r4r5jqh349d4dfal9nbs2a8y2fp8zn3zlrj2cd0g80k";
-        };
-        recipeFile = fetchurl {
-          url = "https://raw.githubusercontent.com/milkypostman/melpa/07be4b11bbddb376e11616525e7b226c5a9f2296/recipes/anything-sage";
-          sha256 = "1878vj8hzrwfyd2yvxcm0f1vm9m0ndwnj0pcq7j8zm9lxj0w48p3";
-          name = "anything-sage";
-        };
-        packageRequires = [ anything cl-lib sage-shell-mode ];
-        meta = {
-          homepage = "https://melpa.org/#/anything-sage";
-          license = lib.licenses.free;
-        };
-      }) {};
-    anything-tramp = callPackage ({ anything, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
-    melpaBuild {
-        pname = "anything-tramp";
-        version = "20171224.601";
-        src = fetchFromGitHub {
-          owner = "masasam";
-          repo = "emacs-anything-tramp";
-          rev = "7364472a8e9ddaafdff7ad004c7a2bad42da9d92";
-          sha256 = "0sfbx63mq8pmwwb2y7w6l9hy1qr4f7d9wij6r5n7y75r19l1j9ph";
-        };
-        recipeFile = fetchurl {
-          url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/anything-tramp";
-          sha256 = "053bi7b6d9aa6xwsgm0yxbklbs5sl3dgi529gsapj30lw68lh1vh";
-          name = "anything-tramp";
-        };
-        packageRequires = [ anything emacs ];
-        meta = {
-          homepage = "https://melpa.org/#/anything-tramp";
-          license = lib.licenses.free;
-        };
-      }) {};
     anzu = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "anzu";
@@ -2505,12 +2296,12 @@
     apiwrap = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "apiwrap";
-        version = "20180201.637";
+        version = "20180318.1515";
         src = fetchFromGitHub {
           owner = "vermiculus";
           repo = "apiwrap.el";
-          rev = "44fe79d56bafaaf3a688e5441298ec5f7bbf419e";
-          sha256 = "12i39kl4fj1xhzrdw24i4mi2m3aj2w3isxpcyr48z23d1x0grviq";
+          rev = "d80ae8d80520786dd5527e53c0a9374534168d41";
+          sha256 = "0v2bnndrhvdkk5qa3rzzdl83471i00s0cxbvrsl8ijcm6xpc0m1b";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/0197fd3657e65e3826375d9b6f19da3058366c91/recipes/apiwrap";
@@ -2610,11 +2401,11 @@
     apt-sources-list = callPackage ({ emacs, fetchgit, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "apt-sources-list";
-        version = "20171004.1143";
+        version = "20180311.437";
         src = fetchgit {
           url = "https://git.korewanetadesu.com/apt-sources-list.git";
-          rev = "842c3896f660295e4c16938aa1fd195e5d377460";
-          sha256 = "1d1v2h91vabqdrjcrdnzqj4xzmm7gbad4mxcphrj5yfnc4rrfc12";
+          rev = "fd12fbacf245714be5ca20563572cb49e2f1eb45";
+          sha256 = "0kfz9gj66a9wqcdrvxg4hzndmh1j01wqfqkdrblplgni4h7907a4";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/141a22e593415302d64cf8ebd2635a1baf35eb38/recipes/apt-sources-list";
@@ -2690,22 +2481,22 @@
           license = lib.licenses.free;
         };
       }) {};
-    arduino-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    arduino-mode = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "arduino-mode";
-        version = "20151017.2335";
+        version = "20180305.1916";
         src = fetchFromGitHub {
-          owner = "bookest";
+          owner = "stardiviner";
           repo = "arduino-mode";
-          rev = "3e2bad4569ad26e929e6db2cbcff0d6d36812698";
-          sha256 = "1yvaqjc9hadbnnay5fprnh890xsp53kidad1zpb4a5z4a5z61n3c";
+          rev = "40bc53149b517ebfa448b07f0b766f24d612f716";
+          sha256 = "0rh8rmi7y1a4myf6pa51qhr9sa1arjfbrr6rzbsdlwcbzinfj83f";
         };
         recipeFile = fetchurl {
-          url = "https://raw.githubusercontent.com/milkypostman/melpa/e21ef938877444097d6d9cb7769819e2acb77cff/recipes/arduino-mode";
-          sha256 = "1lpsjpc7par12zsmg9sf4r1h039kxa4n68anjr3mhpp3d6rapjcx";
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/2db785f52c2facc55459e945ccb4d4b088506747/recipes/arduino-mode";
+          sha256 = "1amqah0sx95866ikdlc7h7n9hmrwaqizc0rj0gliv15kjjggv55v";
           name = "arduino-mode";
         };
-        packageRequires = [];
+        packageRequires = [ cl-lib emacs ];
         meta = {
           homepage = "https://melpa.org/#/arduino-mode";
           license = lib.licenses.free;
@@ -2781,8 +2572,8 @@
         src = fetchFromGitHub {
           owner = "sachac";
           repo = "artbollocks-mode";
-          rev = "4a907e470bf345b88c3802c1241ce2b8cf4123ee";
-          sha256 = "1l1dwhdfd5bwx92k84h5v47pv9my4p4wj0wq8hrwvwzwlv8dzn2w";
+          rev = "33a41ca4f8206f57e5498a526d3b0ea18d08bb93";
+          sha256 = "06a2dp6nwy8xjr01k6d2c611qr2n9m7hdkrz9fci9r4rv1ikx5xv";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/22b237ab91ddd3c17986ea12e6a32f2ce62d3a79/recipes/artbollocks-mode";
@@ -2882,12 +2673,12 @@
     async = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "async";
-        version = "20180119.533";
+        version = "20180408.844";
         src = fetchFromGitHub {
           owner = "jwiegley";
           repo = "emacs-async";
-          rev = "7279cc6bdba7bfcb53ca8f5471631ae8dc3918b3";
-          sha256 = "1nmi2ykwbswj6qv2s38518nijmlhjd2jvhabybqs8smc152g58sw";
+          rev = "8bb64e398897d1cc000fc295c5157b4ad1a7bd5b";
+          sha256 = "04384akcxirvfcl5rb07hj5xaw2crsgnhbnwyh1dkmy56qak60a1";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/async";
@@ -2966,12 +2757,12 @@
     atom-one-dark-theme = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "atom-one-dark-theme";
-        version = "20180215.828";
+        version = "20180305.1454";
         src = fetchFromGitHub {
           owner = "jonathanchu";
           repo = "atom-one-dark-theme";
-          rev = "f67722244554025db1d1ccd2a30e9fa22f8985cd";
-          sha256 = "1slk5zbwjr7jv21hxsn61ppijj6p98sqh0k0flnd4512gywdrz2r";
+          rev = "7b73ab795286fe121d23026dcc94d6a0a211e4c4";
+          sha256 = "1w5j773zg6lz8vq9yqfx2w5076h53k0narcnknni8hd8z4qg6b6q";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/3ba1c4625c9603372746a6c2edb69d65f0ef79f5/recipes/atom-one-dark-theme";
@@ -2987,12 +2778,12 @@
     atomic-chrome = callPackage ({ emacs, fetchFromGitHub, fetchurl, let-alist, lib, melpaBuild, websocket }:
     melpaBuild {
         pname = "atomic-chrome";
-        version = "20171116.2332";
+        version = "20180322.301";
         src = fetchFromGitHub {
           owner = "alpha22jp";
           repo = "atomic-chrome";
-          rev = "7dd8a45ebccb9b5bbbfd2e822bd914b38dad6008";
-          sha256 = "0nbhw43c7jrpx7iyyjp3fdzprccj549d6k1kd3wgym83qljf236d";
+          rev = "d6577d61981a8bf293928eddaa6b83d22d59bd8c";
+          sha256 = "0qi5g5js885hp0xkwib12zbz84sganb8lnrps48097zlkcxppm3p";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/35785773942a5510e2317ded5bdf872ffe434e8c/recipes/atomic-chrome";
@@ -3131,24 +2922,24 @@
           license = lib.licenses.free;
         };
       }) {};
-    auth-password-store = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, password-store, seq }:
+    auth-source-pass = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
-        pname = "auth-password-store";
-        version = "20180214.558";
+        pname = "auth-source-pass";
+        version = "20180326.8";
         src = fetchFromGitHub {
           owner = "DamienCassou";
           repo = "auth-password-store";
-          rev = "6af0458a6b586cc5004fa652f23615433304924d";
-          sha256 = "150cx8ida9bl0g84iq051rziy64ic2pxz6hn0blsys1qcp9lf8wa";
+          rev = "5690092e40c790384692d8e8da3451e6878d8c17";
+          sha256 = "1dv202z8briifd4aqn8yvn4kd6zi1cabb2p86qcjj40lzkgn6w3p";
         };
         recipeFile = fetchurl {
-          url = "https://raw.githubusercontent.com/milkypostman/melpa/0f4d2a28373ba93da5b280ebf40c5a3fa758ea11/recipes/auth-password-store";
-          sha256 = "118ll12dhhxmlsp2mxmy5cd91166a1qsk406yhap5zw1qvyg58w5";
-          name = "auth-password-store";
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/5e268441634a6e58a00e577d6e2292fa226c11b8/recipes/auth-source-pass";
+          sha256 = "0icwdwz2zy3f9ynksr81pgq482iapsbx8lpyssiklyw0xgd1k8ak";
+          name = "auth-source-pass";
         };
-        packageRequires = [ cl-lib emacs password-store seq ];
+        packageRequires = [ emacs ];
         meta = {
-          homepage = "https://melpa.org/#/auth-password-store";
+          homepage = "https://melpa.org/#/auth-source-pass";
           license = lib.licenses.free;
         };
       }) {};
@@ -3197,12 +2988,12 @@
     auto-compile = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, packed }:
     melpaBuild {
         pname = "auto-compile";
-        version = "20180111.436";
+        version = "20180321.807";
         src = fetchFromGitHub {
           owner = "emacscollective";
           repo = "auto-compile";
-          rev = "8d117868a0a091389d528428136e60f951e9c550";
-          sha256 = "1qkw8qzhqzk16kvk1200ha10gi6ny0saqvyqm6b1ww0iw3q1ic5c";
+          rev = "6ce4255ab9a0b010ef8414c5bd9a6d6d9eea012f";
+          sha256 = "013vw4sgw6hpz7kskilndv7i7ik40asrkgicghjbygwk0lj5ran3";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/57a2fb9524df3fdfdc54c403112e12bd70888b23/recipes/auto-compile";
@@ -3554,12 +3345,12 @@
     auto-minor-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "auto-minor-mode";
-        version = "20170917.1437";
+        version = "20180401.245";
         src = fetchFromGitHub {
           owner = "joewreschnig";
           repo = "auto-minor-mode";
-          rev = "07ea9df59c5364d1938beef3dfbba24afd46c230";
-          sha256 = "007w6j6zhjv2647njh80vfbrhjzhmb8rx9yi9rf94fhf17z8pmk3";
+          rev = "c0aa31d9385ec809969288d0029c7a6db319690f";
+          sha256 = "0fzw91d1ysv82g2mfwc5f1a1zq1ih9f6i26hk9jyyqp5izx9ydfw";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/b3ab5f048034777551e344101d8415cac92362c8/recipes/auto-minor-mode";
@@ -3596,12 +3387,12 @@
     auto-package-update = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "auto-package-update";
-        version = "20170803.1005";
+        version = "20180323.1547";
         src = fetchFromGitHub {
           owner = "rranelli";
           repo = "auto-package-update.el";
-          rev = "0b296970d09d7deb7f780cb041fcbc313d39aa5d";
-          sha256 = "1nicx2sjnmf3i7dlzi788rh2kjc7mj9q69knp3g2x72zxqy8x07d";
+          rev = "85c64d11ccfffd58527ef39cac390a88c5b6d979";
+          sha256 = "0pg9qw63ii4268hwzz7sj9g6rkmxr956849fpa2rwbfzfhjmns2f";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/78f549a299a06941edce13381f597f3a61e8c723/recipes/auto-package-update";
@@ -3743,12 +3534,12 @@
     auto-virtualenvwrapper = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild, s, virtualenvwrapper }:
     melpaBuild {
         pname = "auto-virtualenvwrapper";
-        version = "20170916.1304";
+        version = "20180408.310";
         src = fetchFromGitHub {
           owner = "robert-zaremba";
           repo = "auto-virtualenvwrapper.el";
-          rev = "0f2cc8ea8f211c7b88f852ae6ffe677914652b92";
-          sha256 = "1vm2nf7i9v56v57r7ckz8i1y3fk5s302bcfglywqysm4b8k36mp8";
+          rev = "e2628408d4e67e1b1714cf7682cff9405e735c81";
+          sha256 = "1cj4a6yay02gvi04lyhnfb7gws8jrappprnv36mcqlq053202wij";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/02a209ae8f9fc68feb3bb64d32d129fedef2b80b/recipes/auto-virtualenvwrapper";
@@ -3894,8 +3685,8 @@
         src = fetchFromGitHub {
           owner = "zenspider";
           repo = "elisp";
-          rev = "c1b59448e103e32202423a56c873967033778a92";
-          sha256 = "1v3swwmkmfgpylypmg6qv9bykcxqcg9d1awk8zxbwh83ys0q70sf";
+          rev = "ee8a9c3052446876057ff853369d136aea7831f5";
+          sha256 = "15sla4n88003fclni5nhsrw3ib7bql11ks8pb7rgjyjddqrq274r";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/5fc2c4a590cbeccfb43003972a78f5d76ec4a9e7/recipes/autotest";
@@ -3995,12 +3786,12 @@
     avk-emacs-themes = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "avk-emacs-themes";
-        version = "20180205.2254";
+        version = "20180406.2220";
         src = fetchFromGitHub {
           owner = "avkoval";
           repo = "avk-emacs-themes";
-          rev = "1a119d0b52f0755fa14ad4d8c6e00e2e720b7732";
-          sha256 = "1im1bvrcy9163414328yfmsz2hb0whqxnd6wpmh8hvh6vpbmwaj7";
+          rev = "6abf91ecdaeb16a3a5529b0d5abef9756da1f68c";
+          sha256 = "0hvg8yp7prfl1n71lkyr9l43f3zm1zsh8n2mh26rmdw2chippr4d";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/ef362a76a3881c7596dcc2639df588227b3713c0/recipes/avk-emacs-themes";
@@ -4016,12 +3807,12 @@
     avy = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "avy";
-        version = "20171230.220";
+        version = "20180415.1259";
         src = fetchFromGitHub {
           owner = "abo-abo";
           repo = "avy";
-          rev = "34d3531a3cd35ae6b9e8dbc37343c027504fdcb0";
-          sha256 = "0rgwbm5jcbv132xldbz2kcp09c7hs96329mwfa019v99qdbb5k32";
+          rev = "08370cdbc35ff41646461a02d6d9758dfce30c20";
+          sha256 = "08pgyj3mab6iqbb029wixvvjfc634iln0ij6lxnvpvgy4298iw9k";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/77fac7a702d4086fb860514e377037acedc60412/recipes/avy";
@@ -4142,12 +3933,12 @@
     aws-snippets = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, yasnippet }:
     melpaBuild {
         pname = "aws-snippets";
-        version = "20180213.835";
+        version = "20180410.845";
         src = fetchFromGitHub {
           owner = "baron42bba";
           repo = "aws-snippets";
-          rev = "619c9a401f873042e45547e8cf57f23d0c8947e4";
-          sha256 = "19yrdsn76vscqgxmapxn3gv6nrxp7i20p37anylmjss3xkvblxn9";
+          rev = "a2ebae582a8c8a5f5f16dbc42ecd2ded9d70fca8";
+          sha256 = "08mbi5g321n4ir7a7ggxmh7qpl8pr06pg4rcsk8pklylvkf89k2w";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/485aa401a6a14cd4a916474d9a7df12cdf45d591/recipes/aws-snippets";
@@ -4163,11 +3954,11 @@
     axiom-environment = callPackage ({ emacs, fetchgit, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "axiom-environment";
-        version = "20171111.1152";
+        version = "20180401.1257";
         src = fetchgit {
           url = "https://bitbucket.org/pdo/axiom-environment";
-          rev = "b4f0fa9cd013e107d2af8e2ebedff8a7f40be7b5";
-          sha256 = "0p2mg2824mw8l1zrfq5va1mnxg0ib5f960306vvsm6b3pi1w5kv0";
+          rev = "6842fb7f85df839acde395093647e2f91cf62fdd";
+          sha256 = "1ag5isg0bvarf86978zd2zq1mbs3ysy29ywvgapls6115ws5k9k8";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/8b4c6b03c5ff78ce327dcf66b175e266bbc53dbf/recipes/axiom-environment";
@@ -4250,6 +4041,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    backup-each-save = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "backup-each-save";
+        version = "20180226.2157";
+        src = fetchFromGitHub {
+          owner = "conornash";
+          repo = "backup-each-save";
+          rev = "3c414b9d6b278911c95c5b8b71819e6af6f8a02a";
+          sha256 = "13pliz2ra020hhxcidkyhfa0767n188l1w5r0vpvv6zqyc2p414i";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/caa478356d20b5b0e9a450f7b4a8b25937e583a4/recipes/backup-each-save";
+          sha256 = "1l7lx3vd27qypkxa0cdm8zbd9fv08xn1bf6xj6g9c49ql95xbyiv";
+          name = "backup-each-save";
+        };
+        packageRequires = [];
+        meta = {
+          homepage = "https://melpa.org/#/backup-each-save";
+          license = lib.licenses.free;
+        };
+      }) {};
     backup-walker = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "backup-walker";
@@ -4334,15 +4146,36 @@
           license = lib.licenses.free;
         };
       }) {};
+    banner-comment = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "banner-comment";
+        version = "20180403.1438";
+        src = fetchFromGitHub {
+          owner = "WJCFerguson";
+          repo = "banner-comment";
+          rev = "9b1c9a94f8b6789c890a7e7eedd6f60ad5aa4d52";
+          sha256 = "02wsnmzbb60d4a8bsb5kywdwcfsqb6chcchs5v2d0s3sacakbmnl";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/4bb69f15cb6be38a86abf4d15450a29c9a819068/recipes/banner-comment";
+          sha256 = "0i5nkfdwfr9mcir2ijdhw563azmr5p7hyl6rfy1r04fzs8j7w2pc";
+          name = "banner-comment";
+        };
+        packageRequires = [ emacs ];
+        meta = {
+          homepage = "https://melpa.org/#/banner-comment";
+          license = lib.licenses.free;
+        };
+      }) {};
     bar-cursor = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "bar-cursor";
-        version = "20160923.920";
+        version = "20180226.1645";
         src = fetchFromGitHub {
           owner = "ajsquared";
           repo = "bar-cursor";
-          rev = "afa1d4bc1937610cc30575d71aab85ea20ebf2ea";
-          sha256 = "1cj28v48xajy1nsqk92vinaz2rh1crm5g58ma5gnibkdnkpq828s";
+          rev = "20cb59bedc3532a712fe7feeff3660ebd72a8107";
+          sha256 = "06b0nkcp8yjixps72nrgk2zmljc9f71cdr96jdpgssydfhn4pcdf";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/932e7b128f092ec724ebf18c9c5ca84e16edc82c/recipes/bar-cursor";
@@ -4379,12 +4212,12 @@
     base16-theme = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "base16-theme";
-        version = "20180211.1545";
+        version = "20180320.2254";
         src = fetchFromGitHub {
           owner = "belak";
           repo = "base16-emacs";
-          rev = "2c3f8dc0f00446376ed1d1e7776d118337e42a41";
-          sha256 = "03z477y26gwnrd1hy9ysmdqxih54adlkbvgd57m4s6zfcd6f9cyx";
+          rev = "69a96c1061d1d783a44f70fd811d49541762caf9";
+          sha256 = "1mg158w81vivar7lrya8qk46zghs2b7inmdckjcs8qw7w078cwav";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/30862f6be74882cfb57fb031f7318d3fd15551e3/recipes/base16-theme";
@@ -4400,12 +4233,12 @@
     bash-completion = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "bash-completion";
-        version = "20170924.1021";
+        version = "20180303.1144";
         src = fetchFromGitHub {
           owner = "szermatt";
           repo = "emacs-bash-completion";
-          rev = "2c0b8d6a6e5cec52740b8f773297459b98f3e064";
-          sha256 = "0psp1rli7h477js25kzm00s4j5x3604ly1m3xh2w29lz8jpc0nvk";
+          rev = "6aedd690006e07199b2fcd319b9b840a527650e5";
+          sha256 = "1a1wxcqzh0javjmxwi3lng5i99xiylm8lm04kv4q1lh9bli6vmv0";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/8b528544841995045fb1f8344aaaa38946bb3915/recipes/bash-completion";
@@ -4523,22 +4356,22 @@
           license = lib.licenses.free;
         };
       }) {};
-    bbcode-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    bbcode-mode = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "bbcode-mode";
-        version = "20141103.1341";
+        version = "20180326.1410";
         src = fetchFromGitHub {
-          owner = "ejmr";
+          owner = "lassik";
           repo = "bbcode-mode";
-          rev = "b6ff1bfb8041b1435ebfc0a7d8e5e34eeb1b6aae";
-          sha256 = "17ip24fk13aj9zldn2qsr4naa8anqhm484m1an5l5i9m9awfiyn7";
+          rev = "4a6df9eff9da9cb98d53164a585f2c69d8399e3a";
+          sha256 = "1gzx7s96fd6r9xgzp29d1w102rxkyr1mywhyvzcdslszbcrjc0r1";
         };
         recipeFile = fetchurl {
-          url = "https://raw.githubusercontent.com/milkypostman/melpa/acc9b816796b9f142c53f90593952b43c962d2d8/recipes/bbcode-mode";
-          sha256 = "0ixxavmilr6na56yc148prbh3nlhcwir6rxqvh332cr8vr9gmp89";
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/1ef095d23cc043f5d14a9deea788ed71d90c586c/recipes/bbcode-mode";
+          sha256 = "1kfxzp0916gdphp4dkk4xbramsbqmg6mazvfqni86mra41rdq6sb";
           name = "bbcode-mode";
         };
-        packageRequires = [];
+        packageRequires = [ cl-lib ];
         meta = {
           homepage = "https://melpa.org/#/bbcode-mode";
           license = lib.licenses.free;
@@ -4546,11 +4379,11 @@
       }) {};
     bbdb = callPackage ({ fetchgit, fetchurl, lib, melpaBuild }: melpaBuild {
         pname = "bbdb";
-        version = "20180106.910";
+        version = "20180330.2018";
         src = fetchgit {
           url = "https://git.savannah.nongnu.org/git/bbdb.git";
-          rev = "f18720ff5cd963a0bf6fc0e41293e50c0172b8ae";
-          sha256 = "1s5qi8njiqdpgnzlik36islzh13zfhybnynqisr61p602pn4ghk7";
+          rev = "e0eff7e1ee5003f7c557a83d655a7fc0b6b45fcc";
+          sha256 = "0qalxasfckqqgngsafplrp9j1pcism17bn0h53qs8pfj9gxkng5q";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/caaa21f235c4864f6008fb454d0a970a2fd22a86/recipes/bbdb";
@@ -4734,12 +4567,12 @@
     beeminder = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, org }:
     melpaBuild {
         pname = "beeminder";
-        version = "20160209.1903";
+        version = "20180413.1229";
         src = fetchFromGitHub {
           owner = "Sodaware";
           repo = "beeminder.el";
-          rev = "a4e159250bac89bc25ced8523a5eac2a951cd5b6";
-          sha256 = "0ki9q3ylssjabh15dr49k7dxv88snpj4564g0myp3c61qzyy82lk";
+          rev = "3fcee7a7003a37171ddb59171c7f4b5dd4b34349";
+          sha256 = "0phiyv4n5y052fgxngl3yy74akb378sr6manx21s360gnxzcblwd";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/7fabdb05de9b8ec18a3a566f99688b50443b6b44/recipes/beeminder";
@@ -4965,12 +4798,12 @@
     bibliothek = callPackage ({ a, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, pdf-tools }:
     melpaBuild {
         pname = "bibliothek";
-        version = "20180122.2021";
+        version = "20180327.1422";
         src = fetchFromGitHub {
           owner = "cadadr";
           repo = "elisp";
-          rev = "497c7e68df5e3b6b8c3ebaaf6edfce6b2d29b616";
-          sha256 = "1j15dfg1mr21vyf7c9h3dij1pnikwvmxr3rs0vdrx8lz9x321amf";
+          rev = "35424f7360f5110833b7a9f4f53907b9e222be85";
+          sha256 = "1xi56c8f2wcmldr76ylrcqsy0wf75pv74b0455ki84fq1fk4n08s";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/8b8308e72c4437237fded29db1f60b3eba0edd26/recipes/bibliothek";
@@ -5095,8 +4928,8 @@
         src = fetchFromGitHub {
           owner = "jwiegley";
           repo = "use-package";
-          rev = "6af4b6caf67f5fbd63429d27fa54a92933df966a";
-          sha256 = "13qp22m3sd1x84776d9v3h2071zj1xlmkdqi6s6wks6gk3ybyia1";
+          rev = "512aa50b025018cb8574498d868814f73c02bb9b";
+          sha256 = "0ncg9vbn2hjdv846v0ij6pf1cs76i73jkb17wbf08r3km7933xmw";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/6240afa625290187785e4b7535ee7b0d7aad8969/recipes/bind-chord";
@@ -5116,8 +4949,8 @@
         src = fetchFromGitHub {
           owner = "jwiegley";
           repo = "use-package";
-          rev = "6af4b6caf67f5fbd63429d27fa54a92933df966a";
-          sha256 = "13qp22m3sd1x84776d9v3h2071zj1xlmkdqi6s6wks6gk3ybyia1";
+          rev = "512aa50b025018cb8574498d868814f73c02bb9b";
+          sha256 = "0ncg9vbn2hjdv846v0ij6pf1cs76i73jkb17wbf08r3km7933xmw";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/d39d33af6b6c9af9fe49bda319ea05c711a1b16e/recipes/bind-key";
@@ -5217,12 +5050,12 @@
     bitbake = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, mmm-mode, s }:
     melpaBuild {
         pname = "bitbake";
-        version = "20160613.156";
+        version = "20180326.58";
         src = fetchFromGitHub {
           owner = "canatella";
           repo = "bitbake-el";
-          rev = "4d9f0a4ffb7b9c6cd4d8271f1b429ca1bb7e9130";
-          sha256 = "0c8f6w8pgbr63g1zhgppfyh5g3sb0iv31ywqmvp6467766di4qh9";
+          rev = "e5088c4b3dfb4feb96850fbc281b4207d23c7713";
+          sha256 = "0x765j9vks8r34kkqr9chlfy7dng71rciighk12fgiksqsl82qb0";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/da099b66180ed537f8962ab4ca727d2441f9691d/recipes/bitbake";
@@ -5319,6 +5152,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    blacken = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "blacken";
+        version = "20180402.435";
+        src = fetchFromGitHub {
+          owner = "proofit404";
+          repo = "blacken";
+          rev = "528527c832710aa1ceeb4c42ef85b5a37d2e213a";
+          sha256 = "1my234bsv5db99hhr66n2yhh3knvv4xwg7q05y408qbhrcf3ya5l";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/69d9802996a338be937d61678f2cadf3497f6b85/recipes/blacken";
+          sha256 = "16lbs76jkhcq0vg09x1n8mrd4pgz5bdjsprr9260xr7g3dx8xacc";
+          name = "blacken";
+        };
+        packageRequires = [ emacs ];
+        meta = {
+          homepage = "https://melpa.org/#/blacken";
+          license = lib.licenses.free;
+        };
+      }) {};
     blgrep = callPackage ({ clmemo, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "blgrep";
@@ -5466,22 +5320,22 @@
           license = lib.licenses.free;
         };
       }) {};
-    bmx-mode = callPackage ({ cl-lib ? null, company, dash, fetchFromGitHub, fetchurl, lib, melpaBuild, s }:
+    bmx-mode = callPackage ({ cl-lib ? null, company, dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, s }:
     melpaBuild {
         pname = "bmx-mode";
-        version = "20180226.256";
+        version = "20180324.857";
         src = fetchFromGitHub {
           owner = "josteink";
           repo = "bmx-mode";
-          rev = "2093e7041006aa8c142c151bb597af061419aa43";
-          sha256 = "12h8h44ni8g6nzh9i2h9w4lmvkca3fxp8cybikln7x4hcnplkfj5";
+          rev = "7450c29f5c1f5f67b02bca1c89f06cdf01855f41";
+          sha256 = "0knxsmlp1agfs5sj5iz13b8igjx4gpk1lj36wzh1rdiwcxicnr49";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/7f456d2b2b8f5a33bcb0f2ffd19e6e0276950f24/recipes/bmx-mode";
           sha256 = "04g8l4cw20k3yhbija9mz1l4nx3bzhzj7nb35s0xdyvwbc2mhrwb";
           name = "bmx-mode";
         };
-        packageRequires = [ cl-lib company dash s ];
+        packageRequires = [ cl-lib company dash emacs s ];
         meta = {
           homepage = "https://melpa.org/#/bmx-mode";
           license = lib.licenses.free;
@@ -5529,6 +5383,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    bolt-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "bolt-mode";
+        version = "20180310.10";
+        src = fetchFromGitHub {
+          owner = "mpontus";
+          repo = "bolt-mode";
+          rev = "85a5a752bfbebb4aed884326c25db64c000e9934";
+          sha256 = "03nxcmpm5n8jcca39ivrl7cjqz3gzsl3w6qc30hcp278qf2jq6va";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/ec9e35f0e37db90d906fccd08fb25b673c88d3b8/recipes/bolt-mode";
+          sha256 = "03x89k8v0m9kv1fhyys2gwympb70qlmg7gdib8wsmdxs34ys5igz";
+          name = "bolt-mode";
+        };
+        packageRequires = [ emacs ];
+        meta = {
+          homepage = "https://melpa.org/#/bolt-mode";
+          license = lib.licenses.free;
+        };
+      }) {};
     bongo = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "bongo";
@@ -5616,12 +5491,12 @@
     boon = callPackage ({ dash, emacs, expand-region, fetchFromGitHub, fetchurl, lib, melpaBuild, multiple-cursors }:
     melpaBuild {
         pname = "boon";
-        version = "20180108.41";
+        version = "20180319.526";
         src = fetchFromGitHub {
           owner = "jyp";
           repo = "boon";
-          rev = "836f25c5baa363691a8d31712d07248c0d9a49a7";
-          sha256 = "1jh6c6i1jy1f8hskqbpqj2babk9yvqyjxyxy0x11686riasc5vps";
+          rev = "b4cf42bbc531032404da88e8671c7495f0f7a5b0";
+          sha256 = "163j41j29nm29w567iq662k9anivqc20yxghm8w49w7i5hsbq9dh";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/091dcc3775ec2137cb61d66df4e72aca4900897a/recipes/boon";
@@ -5637,12 +5512,12 @@
     borg = callPackage ({ dash, emacs, epkg, fetchFromGitHub, fetchurl, lib, magit, melpaBuild }:
     melpaBuild {
         pname = "borg";
-        version = "20180220.505";
+        version = "20180325.1457";
         src = fetchFromGitHub {
           owner = "emacscollective";
           repo = "borg";
-          rev = "28abb4b602d060bba38e6f38623b2d3f309e1ede";
-          sha256 = "15iim40gzirw75h6b3alhb95x7pmzmanx6pbdrfmyw7yv4bjsdbx";
+          rev = "b03e8d19874809e813c9631d29260bac73f51e01";
+          sha256 = "15djx2c0agpmmy5ls61p0hwnv2plvb8k190xrrj925w9ypg2qp92";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/878ab90d444f3a1fd2c9f9068ca7b477e218f1da/recipes/borg";
@@ -5826,12 +5701,12 @@
     browse-at-remote = callPackage ({ cl-lib ? null, f, fetchFromGitHub, fetchurl, lib, melpaBuild, s }:
     melpaBuild {
         pname = "browse-at-remote";
-        version = "20171115.210";
+        version = "20180227.52";
         src = fetchFromGitHub {
           owner = "rmuslimov";
           repo = "browse-at-remote";
-          rev = "31dcf77d7c89a12f230e2b2332585db2c44530ef";
-          sha256 = "017cb8lf7zbg0jmr7zxzd7d5kz2jy35cvw5vcpdmq1fdr3wqwkgj";
+          rev = "47bab994640f086939c30cc6416e770ad067e950";
+          sha256 = "0vhia7xmszcb3lxrb8wh93a3knjfzj48h8nhj4fh8zj1pjz6args";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/browse-at-remote";
@@ -6036,12 +5911,12 @@
     buffer-flip = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "buffer-flip";
-        version = "20180223.2341";
+        version = "20180307.1451";
         src = fetchFromGitHub {
           owner = "killdash9";
           repo = "buffer-flip.el";
-          rev = "443f74c1186ee91dab42812e864e7ad095f45b9a";
-          sha256 = "18ii9gd7hbfcibj7fpx9b9bz3cbpdhvy4z143hmlh3ywj2mjdfii";
+          rev = "e093360e05164c78255866c1ac8f966aa38ba514";
+          sha256 = "1s35llycdhhclf9kl1q9l7zzzfqrnnvbiqv5csfw0mngfj0lz77f";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/3924870cac1392a7eaeeda34b92614c26c674d63/recipes/buffer-flip";
@@ -6396,8 +6271,8 @@
         src = fetchFromGitHub {
           owner = "jorgenschaefer";
           repo = "emacs-buttercup";
-          rev = "8d27bb99463bc230a76dee96378dd337622988f5";
-          sha256 = "0s5vfzcfsiqb6bc6jh95a2dyy23b4bvhdpzn2fcq8awldbpx51fh";
+          rev = "4106adc5051965a3d066dfb5594e3d3ba0303b3f";
+          sha256 = "01pvga1b54p7l9fjj388hdvjkmmp2gf5la7l74xjaxfk7v5rrifv";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/d4b187cb5b3cc5b546bfa6b94b6792e6363242d1/recipes/buttercup";
@@ -6557,27 +6432,6 @@
           license = lib.licenses.free;
         };
       }) {};
-    cake = callPackage ({ anything, cake-inflector, fetchFromGitHub, fetchurl, historyf, lib, melpaBuild }:
-    melpaBuild {
-        pname = "cake";
-        version = "20140603.2131";
-        src = fetchFromGitHub {
-          owner = "k1LoW";
-          repo = "emacs-cake";
-          rev = "a7c9f3bee71eb3865060123d4d98e5397c2f967e";
-          sha256 = "0bvrwzjx93qyx97qqw0imvnkkx4w91yk99rnhcmk029zj1fy0kzg";
-        };
-        recipeFile = fetchurl {
-          url = "https://raw.githubusercontent.com/milkypostman/melpa/86ed5054ee2392a0e384443c945a5d4824238e95/recipes/cake";
-          sha256 = "06qlqrazz2jr08g44q73hx9vpp6xnjvkpd6ky108g0xc5p9q2hcr";
-          name = "cake";
-        };
-        packageRequires = [ anything cake-inflector historyf ];
-        meta = {
-          homepage = "https://melpa.org/#/cake";
-          license = lib.licenses.free;
-        };
-      }) {};
     cake-inflector = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, s }:
     melpaBuild {
         pname = "cake-inflector";
@@ -6599,27 +6453,6 @@
           license = lib.licenses.free;
         };
       }) {};
-    cake2 = callPackage ({ anything, cake-inflector, dash, f, fetchFromGitHub, fetchurl, historyf, ht, json ? null, lib, melpaBuild, s }:
-    melpaBuild {
-        pname = "cake2";
-        version = "20140626.542";
-        src = fetchFromGitHub {
-          owner = "k1LoW";
-          repo = "emacs-cake2";
-          rev = "caffb646c86333b8747cefeba070d57ac4fbaf00";
-          sha256 = "14q5hny3bdwcaq3ls6jlk8np4hf99jksxz84dhm2rdvnm18b1wk3";
-        };
-        recipeFile = fetchurl {
-          url = "https://raw.githubusercontent.com/milkypostman/melpa/18e38d9cdb9f1a8cc05545c52c3a76265a9aa2ab/recipes/cake2";
-          sha256 = "03q8vqqjlhahgnyy976c46x52splwdjpmb9ngrj5c2z7d8n9145x";
-          name = "cake2";
-        };
-        packageRequires = [ anything cake-inflector dash f historyf ht json s ];
-        meta = {
-          homepage = "https://melpa.org/#/cake2";
-          license = lib.licenses.free;
-        };
-      }) {};
     cakecrumbs = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "cakecrumbs";
@@ -6809,22 +6642,22 @@
           license = lib.licenses.free;
         };
       }) {};
-    call-graph = callPackage ({ emacs, fetchFromGitHub, fetchurl, hierarchy, ivy, lib, melpaBuild, tree-mode }:
+    call-graph = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, hierarchy, ivy, lib, melpaBuild, tree-mode }:
     melpaBuild {
         pname = "call-graph";
-        version = "20180226.156";
+        version = "20180403.2002";
         src = fetchFromGitHub {
           owner = "beacoder";
           repo = "call-graph";
-          rev = "bdbd5130476b8ad5606e694f4310678a90bab9c2";
-          sha256 = "1a7fcpdnmjmc151d4vma9wng1m9mw102sw8qx02h61gqsg6ia8bc";
+          rev = "31bfac00f33b8494fcf6c18a210dd7ed4b81a21d";
+          sha256 = "00ajq1xkm9hmk92vrnvmgkrs65jlx1rl1hxghf9id4gx09yy011s";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a6acf099e2510c82b4b03e2f35051afc3d28af45/recipes/call-graph";
           sha256 = "0cklr79gqqrb94jq8aq65wqriamay78vv9sd3jrvp86ixl3ig5xc";
           name = "call-graph";
         };
-        packageRequires = [ emacs hierarchy ivy tree-mode ];
+        packageRequires = [ cl-lib emacs hierarchy ivy tree-mode ];
         meta = {
           homepage = "https://melpa.org/#/call-graph";
           license = lib.licenses.free;
@@ -6879,8 +6712,8 @@
         src = fetchFromGitHub {
           owner = "ocaml";
           repo = "ocaml";
-          rev = "70eb179b20d401b2fad43d3ddfd2752fc7925ab1";
-          sha256 = "1l0qfkm9jz4yx5rpwr8bxcjpn1z1mm4zi0na6b21zbsspbmpv912";
+          rev = "fe9a5215948b3636161262b275eca8b98ff1967b";
+          sha256 = "1nkqrbx86j2mj0jsap12jfihpw5lnrsxy711qn4g8n3abng4lnza";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/d5a3263cdcc229b11a3e96edbf632d56f32c47aa/recipes/caml";
@@ -7277,8 +7110,8 @@
         src = fetchFromGitHub {
           owner = "andre-r";
           repo = "centered-cursor-mode.el";
-          rev = "319636448ffb7dba5fade3b2599ed9c1fd3bf8c8";
-          sha256 = "1fib5db8rjyjrr86nw1jvf30pz2zva0v21khyz7fkh2nkf8b3a7i";
+          rev = "00fb47d227f9e211ec1c58161a501a1550c3a60d";
+          sha256 = "0yd78k28dp139a889q5nh8fdbc59jl227anasg5695bz8bkzavd1";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/9a7a28caba49a20413dec3c3d0cc9c36b859834d/recipes/centered-cursor-mode";
@@ -7298,8 +7131,8 @@
         src = fetchFromGitHub {
           owner = "anler";
           repo = "centered-window-mode";
-          rev = "1234a364c9fa3a54087884ced2a7357b93fbb5d7";
-          sha256 = "1z3zi6zy1z68g4sfiv21l998n04hbbqp660khind6ap8yjjn8ik8";
+          rev = "24f7c5be9def20879f46659082d497e67b55d7af";
+          sha256 = "0387x0z2l0yvbhkvh3rf3h2ddk7bvwgkpvpngwhhsjbc4hh4k3hz";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/58bfd795d4d620f0c83384fb03008e129c71dc09/recipes/centered-window";
@@ -7382,8 +7215,8 @@
         src = fetchFromGitHub {
           owner = "cfengine";
           repo = "core";
-          rev = "8a24c2cb8a59bc4eba0a9271e86d078c80a3864c";
-          sha256 = "17my98032fx95kbi0hklwnk52c5n8w9npynd24255637fan46x30";
+          rev = "bb460ccf2348873b7a84e99930feb038d0f9a95b";
+          sha256 = "1wgf2lpcpplxdabz0xbzq9j5va5zhxl22ns63d4jj7v86a77cg2y";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/c737839aeda583e61257ad40157e24df7f918b0f/recipes/cfengine-code-style";
@@ -7963,15 +7796,36 @@
           license = lib.licenses.free;
         };
       }) {};
+    chyla-theme = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "chyla-theme";
+        version = "20180302.858";
+        src = fetchFromGitHub {
+          owner = "chyla";
+          repo = "ChylaThemeForEmacs";
+          rev = "ae5e7ecace2ab474151eb0ac5ef07fba2dc32f8a";
+          sha256 = "1gqzwwr3fnhd9iqn7zmqpxgxvmrhq7g849ndjwizksk0bfj3b596";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/5c55eebf8df165360ce1e5d18e484c90f296fe52/recipes/chyla-theme";
+          sha256 = "1mgr6483bjjwk8bi6kijyw61s52nq6g2svhy5n1jnffi3gaw7hl5";
+          name = "chyla-theme";
+        };
+        packageRequires = [];
+        meta = {
+          homepage = "https://melpa.org/#/chyla-theme";
+          license = lib.licenses.free;
+        };
+      }) {};
     cider = callPackage ({ clojure-mode, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, pkg-info, queue, seq, spinner }:
     melpaBuild {
         pname = "cider";
-        version = "20180219.1846";
+        version = "20180413.51";
         src = fetchFromGitHub {
           owner = "clojure-emacs";
           repo = "cider";
-          rev = "88f4fcf1d39a13ff336657b2cc4161ebb9d955d6";
-          sha256 = "13yl09chl8j5n3mlwb25ipxgi4a3cfs8822lahkisjv42n62f234";
+          rev = "a01115242ba839465e16892383133c21c350d5bd";
+          sha256 = "1b0p7dnrcgnjma4yk6fc3v21sxaz772wrc780sd5faa833z8wg16";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/55a937aed818dbe41530037da315f705205f189b/recipes/cider";
@@ -8134,12 +7988,12 @@
     circadian = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "circadian";
-        version = "20171215.1403";
+        version = "20180307.954";
         src = fetchFromGitHub {
           owner = "GuidoSchmidt";
           repo = "circadian.el";
-          rev = "bb49da54b2fb57524066e54ffee27cb9549ec925";
-          sha256 = "0ra9cs407mz5243ymf4qsr92sly0k5gfl24xgdmxczg35w8hn31l";
+          rev = "26ffd83a5931bb3fb04f01cb780715a05c8dd33e";
+          sha256 = "0z8jkbycvia8ha1yv9v8zrcpqn0jqlb5myqx3qcvykn9yysmv2lq";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/3440905a20bc91bb2637a87c04ff8410379f150d/recipes/circadian";
@@ -8159,8 +8013,8 @@
         src = fetchFromGitHub {
           owner = "jorgenschaefer";
           repo = "circe";
-          rev = "f7f7cb62a992120bf80c3a078bec1c029f8ff0cd";
-          sha256 = "122wvsxvv3yzkdjfi8s5gbl371bzi5kw377a7f3cpp7hxz4i24bl";
+          rev = "9aaad726ea0b0cce4d911eec92ab8fd2a6455fe6";
+          sha256 = "1nyw9phrh1qpc7j6b8fkald18y3rldydb666r6ppphggly6lh4vd";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a2b295656d53fddc76cacc86b239e5648e49e3a4/recipes/circe";
@@ -8194,6 +8048,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    citeproc = callPackage ({ dash, emacs, f, fetchFromGitHub, fetchurl, lib, melpaBuild, queue, s, string-inflection }:
+    melpaBuild {
+        pname = "citeproc";
+        version = "20180325.2358";
+        src = fetchFromGitHub {
+          owner = "andras-simonyi";
+          repo = "citeproc-el";
+          rev = "b15e3cadbcbbe777b809a32859e341e2ef212c13";
+          sha256 = "1axl3b31ylp8y2vsf853j8d8wb1wsizwi605qfxj5aj8xafbgbb5";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/20aa56e9a4809cee1082224b1b4e65921a48bda1/recipes/citeproc";
+          sha256 = "1qphg2bg7vvjzgvnsscbyf40llxxh4aa2s2ffk8vsbfd4p8208cq";
+          name = "citeproc";
+        };
+        packageRequires = [ dash emacs f queue s string-inflection ];
+        meta = {
+          homepage = "https://melpa.org/#/citeproc";
+          license = lib.licenses.free;
+        };
+      }) {};
     cl-format = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "cl-format";
@@ -8449,12 +8324,12 @@
     clj-refactor = callPackage ({ cider, clojure-mode, edn, emacs, fetchFromGitHub, fetchurl, hydra, inflections, lib, melpaBuild, multiple-cursors, paredit, s, seq, yasnippet }:
     melpaBuild {
         pname = "clj-refactor";
-        version = "20171117.317";
+        version = "20180411.43";
         src = fetchFromGitHub {
           owner = "clojure-emacs";
           repo = "clj-refactor.el";
-          rev = "408ab1f13b8d956dd8d2c839bea5197175ef5a93";
-          sha256 = "0iqq74w65dp88y1iqc5rx7i4489ksr8lfmnjqrmwmzqzmax53nld";
+          rev = "adffc6a4c61a9555744634598b47631760e91488";
+          sha256 = "19bi7pnsyqaahwsy6gr55k8kgjfimrjn3lriyzjh7jkhfsmm77bn";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/3a2db268e55d10f7d1d5a5f02d35b2c27b12b78e/recipes/clj-refactor";
@@ -8629,12 +8504,12 @@
     clojure-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "clojure-mode";
-        version = "20180202.922";
+        version = "20180329.2109";
         src = fetchFromGitHub {
           owner = "clojure-emacs";
           repo = "clojure-mode";
-          rev = "5cf0fd9360dc5a9a95464601319062673d213807";
-          sha256 = "07ignia68340fjd0qnlrmgb7p6v15xysjx30xxfvd215slpjc4qw";
+          rev = "58e909365c89a4e31b5f6c790f261be788cac409";
+          sha256 = "066w6mb37ihv92a5l7gwcld7divbylj29n619q02lazqfwbssfwr";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/5e3cd2e6ee52692dc7b2a04245137130a9f521c7/recipes/clojure-mode";
@@ -8654,8 +8529,8 @@
         src = fetchFromGitHub {
           owner = "clojure-emacs";
           repo = "clojure-mode";
-          rev = "5cf0fd9360dc5a9a95464601319062673d213807";
-          sha256 = "07ignia68340fjd0qnlrmgb7p6v15xysjx30xxfvd215slpjc4qw";
+          rev = "58e909365c89a4e31b5f6c790f261be788cac409";
+          sha256 = "066w6mb37ihv92a5l7gwcld7divbylj29n619q02lazqfwbssfwr";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/5e3cd2e6ee52692dc7b2a04245137130a9f521c7/recipes/clojure-mode-extra-font-locking";
@@ -8692,12 +8567,12 @@
     clojure-snippets = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, yasnippet }:
     melpaBuild {
         pname = "clojure-snippets";
-        version = "20170713.2310";
+        version = "20180314.608";
         src = fetchFromGitHub {
           owner = "mpenet";
           repo = "clojure-snippets";
-          rev = "36207f9d8738851f5b686dfe0225ad0553bf8e68";
-          sha256 = "0fb4l4gjzpr5rij4kyvz0r705blv2a5w1rf1c92d34g8jyy2hmd5";
+          rev = "6068dca90467a0f4ebc2cd39338a173d6f5ddc04";
+          sha256 = "0vvadcydpsz4b17dlm1jd4fbddzfqibh3mlzv3k4gvp67vv10cqy";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/4898fc6746b30b0d0453b3b56d02479bfb0f70b9/recipes/clojure-snippets";
@@ -8734,12 +8609,12 @@
     closql = callPackage ({ emacs, emacsql-sqlite, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "closql";
-        version = "20171219.524";
+        version = "20180318.1222";
         src = fetchFromGitHub {
           owner = "emacscollective";
           repo = "closql";
-          rev = "01cb892f6a457fbff857d924cebfdc77f69bd45d";
-          sha256 = "0c5b6w67qjy2kvk3daljjg01xsv91c03n6kxvg5bswqq1j7n66si";
+          rev = "bfd5a5e4d32bc00e439c86f42859964d4fa91dc3";
+          sha256 = "1ivdlabnkm5dsdjpi68mgvvif5bg8pc2igjyr2jrkwl7jnz51dz8";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/2df16abf56e53d4a1cc267a78797419520ff8a1c/recipes/closql";
@@ -8860,12 +8735,12 @@
     cmake-ide = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, levenshtein, lib, melpaBuild, s, seq }:
     melpaBuild {
         pname = "cmake-ide";
-        version = "20180212.258";
+        version = "20180413.329";
         src = fetchFromGitHub {
           owner = "atilaneves";
           repo = "cmake-ide";
-          rev = "91dd693dca350d0744fcbaa2b5a36029fb17adcb";
-          sha256 = "1gy32n8xslgdsrw9riiy1rf5pxsqiwp7is71qc6z2qp2fn2dr83j";
+          rev = "3d4da16226e8d4e53613feeebb5e21e6a7defed5";
+          sha256 = "1d0nxqhx6ssld92wlv8c40m655zpf622a0ns4v78397nfm135khq";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/17e8a8a5205d222950dc8e9245549a48894b864a/recipes/cmake-ide";
@@ -8885,8 +8760,8 @@
         src = fetchFromGitHub {
           owner = "Kitware";
           repo = "CMake";
-          rev = "25613b9fa46e6433f987e9e9f47533db3a0939f3";
-          sha256 = "1pnyx2niscm7bs2n48xxlxdfavxvb40vl0sm0j5m8vp9ybl11g4m";
+          rev = "ccd17a557cbf8ada18207a72eea78d2adcc9d752";
+          sha256 = "1i85zb5j3ckn5b9xybczf6k42vpwsyq3xyzzarq3w775iyjlnkfj";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/598723893ae4bc2e60f527a072efe6ed9d4e2488/recipes/cmake-mode";
@@ -8986,12 +8861,12 @@
     cobalt = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "cobalt";
-        version = "20180222.1938";
+        version = "20180304.355";
         src = fetchFromGitHub {
           owner = "cobalt-org";
           repo = "cobalt.el";
-          rev = "b542c4172ef41bb1d50e1b1dc712acf50c2392d5";
-          sha256 = "1614m2m19wa6awvaz8akakbm2kbvj55s2lh7k3lgysaw007wbi1d";
+          rev = "634ace275697e188746ca22a30ff94380ec756be";
+          sha256 = "1mrydmzldgabkkdpmlwfrfb6iddj4by7scc14k9bak5y6hj6ix7l";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/b2435d98e7564d333c8224b67ac6ad9c95debda1/recipes/cobalt";
@@ -9217,12 +9092,12 @@
     color-identifiers-mode = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "color-identifiers-mode";
-        version = "20170814.1121";
+        version = "20180308.1739";
         src = fetchFromGitHub {
           owner = "ankurdave";
           repo = "color-identifiers-mode";
-          rev = "5750ee9e1ab8a6890381bb461982113b1eb98879";
-          sha256 = "17ry98s4lcl6g63bj8a0wd1rmh8whlxlmzfdjhp8mapdybqplcql";
+          rev = "2407ddea7873f55216d9512ca2fb5eef268d5eba";
+          sha256 = "0zah7w0dhgzwlgspvlb3gzsg6d2dqpxnmqm1kjjjdh3y0qimmy0g";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/5c735755e414fdf169aca5ec6f742533d21472e0/recipes/color-identifiers-mode";
@@ -9364,12 +9239,12 @@
     color-theme-sanityinc-tomorrow = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "color-theme-sanityinc-tomorrow";
-        version = "20180210.2104";
+        version = "20180302.1412";
         src = fetchFromGitHub {
           owner = "purcell";
           repo = "color-theme-sanityinc-tomorrow";
-          rev = "17bfc80dec721914299b50ef48ce47a5c18bb6b0";
-          sha256 = "1jlkpp027xfsgyw5kw9wigwxrlgihj01x76rpp2mly9pghggx6mb";
+          rev = "6be4fea186f2865d6d027eade7d4a15d35e9a88b";
+          sha256 = "1lil6n0fd3d8wajdr8qzgw5np1v3nzympsjrn3dk7zwwdf8b1zk4";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/cae2ac3513e371a256be0f1a7468e38e686c2487/recipes/color-theme-sanityinc-tomorrow";
@@ -9406,12 +9281,12 @@
     color-theme-x = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "color-theme-x";
-        version = "20160924.854";
+        version = "20180226.1646";
         src = fetchFromGitHub {
           owner = "ajsquared";
           repo = "color-theme-x";
-          rev = "7cba227f8bd4c82269405848550a4f4475057c65";
-          sha256 = "053dq567iy9hkidsx76wjzgnq91z4gncx4870cj5lyp6j4g4mc8h";
+          rev = "6c2264aa6c5d9a72caeae67ebaa4472090e70350";
+          sha256 = "1fyz8bampcqzpbyg0l1g0nvv2m5n8000xy5yl05217dlxb448nnd";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/321900baf4149f8b58b075b9fb27716cf708f2a2/recipes/color-theme-x";
@@ -9637,12 +9512,12 @@
     common-lisp-snippets = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, yasnippet }:
     melpaBuild {
         pname = "common-lisp-snippets";
-        version = "20170918.356";
+        version = "20180226.723";
         src = fetchFromGitHub {
           owner = "mrkkrp";
           repo = "common-lisp-snippets";
-          rev = "cd46223fbc6ee99372a25ba455ffec4354895e45";
-          sha256 = "0xii63fw3gx1hhx57yh8gr9mhkgb2vjkfs2sl5z9010myi9504is";
+          rev = "1ddf808311ba4d9e8444a1cb50bd5ee75e4111f6";
+          sha256 = "0zalsvs47hv33dmbs94srpb8q354sr52sxbad182p69dn1khlwyp";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/48d0166ccd3dcdd3df4719349778c6c5ab6872ca/recipes/common-lisp-snippets";
@@ -9658,12 +9533,12 @@
     company = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "company";
-        version = "20180225.1741";
+        version = "20180415.2135";
         src = fetchFromGitHub {
           owner = "company-mode";
           repo = "company-mode";
-          rev = "a64d52ca033208cda34f2fb7d0a2f951cce8bd29";
-          sha256 = "1n44f9kbmp95nbsyp4g60d6pi044vxy2ccai9lgkjm3wlg7xdzrd";
+          rev = "46680da66a3ba70c7b2371832f8b8d9734dec554";
+          sha256 = "03q76dvjka0xw91gzin848virwpm9dv71y3y2p3m168y7chk4g7s";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/96e7b4184497d0d0db532947f2801398b72432e4/recipes/company";
@@ -9700,12 +9575,12 @@
     company-ansible = callPackage ({ company, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "company-ansible";
-        version = "20170430.53";
+        version = "20180401.640";
         src = fetchFromGitHub {
           owner = "krzysztof-magosa";
           repo = "company-ansible";
-          rev = "2c30c3bdb8316b27d5c1832b944cb146d00de456";
-          sha256 = "183hyy5vy7xs6hwsk8nrylck8w5czcqwzfx0wik4ppx8011jzis1";
+          rev = "42753d43333c6e4ad83797f0234149b76b463369";
+          sha256 = "1g93vnizl42k52ar47g7yn2csjyzsqvwb6siwbpfvjgbsr5d5d01";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/7b44cd4bd9f9a7c942ca3f3bd88b2ce61ffff130/recipes/company-ansible";
@@ -9750,12 +9625,12 @@
     company-auctex = callPackage ({ auctex, company, fetchFromGitHub, fetchurl, lib, melpaBuild, yasnippet }:
     melpaBuild {
         pname = "company-auctex";
-        version = "20161025.24";
+        version = "20180330.1118";
         src = fetchFromGitHub {
           owner = "alexeyr";
           repo = "company-auctex";
-          rev = "d3727c9f5bb13c52b4a345bc8f895d3dbd9178b3";
-          sha256 = "0bcf6vaq6bcp60wgfq0vr3mjzv74fn7jibndz5g1d9jkd1vj64xw";
+          rev = "f24de90a14c46fc3b924875c658b319c7f209aff";
+          sha256 = "0izi2p8whif6nlbippjw0zxkd0zilmgj2n0arx6k0zi7k4vbfsb7";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/189e1a60894db0787a4468b120fbab84be1b5d59/recipes/company-auctex";
@@ -9774,8 +9649,8 @@
         version = "20171024.1310";
         src = fetchgit {
           url = "https://bitbucket.org/pdo/axiom-environment";
-          rev = "b4f0fa9cd013e107d2af8e2ebedff8a7f40be7b5";
-          sha256 = "0p2mg2824mw8l1zrfq5va1mnxg0ib5f960306vvsm6b3pi1w5kv0";
+          rev = "6842fb7f85df839acde395093647e2f91cf62fdd";
+          sha256 = "1ag5isg0bvarf86978zd2zq1mbs3ysy29ywvgapls6115ws5k9k8";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/8b4c6b03c5ff78ce327dcf66b175e266bbc53dbf/recipes/company-axiom";
@@ -9809,6 +9684,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    company-box = callPackage ({ company, dash, dash-functional, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "company-box";
+        version = "20180413.1651";
+        src = fetchFromGitHub {
+          owner = "sebastiencs";
+          repo = "company-box";
+          rev = "a27b632c1bb92de3415cea08c7885f3dc9ce30eb";
+          sha256 = "1p71yalry5linxdb5xiyig8wlb9nw0c5nmlkdxc1l0gyhr8lrzci";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/a54879f4dd4dcb6867680567731547d604ad02bb/recipes/company-box";
+          sha256 = "0v39gja3jp8b2xfn9da93xsh8mihizwbg0gqp2yyczaxjm8ga23i";
+          name = "company-box";
+        };
+        packageRequires = [ company dash dash-functional emacs ];
+        meta = {
+          homepage = "https://melpa.org/#/company-box";
+          license = lib.licenses.free;
+        };
+      }) {};
     company-c-headers = callPackage ({ company, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "company-c-headers";
@@ -9875,12 +9771,12 @@
     company-coq = callPackage ({ cl-lib ? null, company, company-math, dash, fetchFromGitHub, fetchurl, lib, melpaBuild, yasnippet }:
     melpaBuild {
         pname = "company-coq";
-        version = "20180219.751";
+        version = "20180307.510";
         src = fetchFromGitHub {
           owner = "cpitclaudel";
           repo = "company-coq";
-          rev = "e2bbd06af9661628198d12e7b4725a17ef260dd9";
-          sha256 = "01qyy4037isa5ghy7gwl77byydn3s5mc6pvd7w79910cg5h60dkg";
+          rev = "c2bd34f79472c27ee6f819820558c8b26f774748";
+          sha256 = "1dvd7w93gly70x7j7dsn2n90w7n76k2bp96p4zlzxad94kvdj2a8";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/7f89e3097c654774981953ef125679fec0b5b7c9/recipes/company-coq";
@@ -10159,8 +10055,8 @@
         src = fetchFromGitHub {
           owner = "nsf";
           repo = "gocode";
-          rev = "416643789f088aa5077f667cecde7f966131f6be";
-          sha256 = "1vggwjpcssxp075l8aippgr318m0nkfjyakq7j24ml48g4gc48rm";
+          rev = "d7aee89652f1bd8ca319c64d6dee1bc1dfd9b6ef";
+          sha256 = "1mbz80y0qa6vyvjs33hxsrq5vc2mza5rjhi6rvbxzy2a3lrx4cig";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/04867a574773e8794335a2664d4f5e8b243f3ec9/recipes/company-go";
@@ -10411,8 +10307,8 @@
         src = fetchFromGitHub {
           owner = "xcwen";
           repo = "ac-php";
-          rev = "56a18467de4bc1cf408a1910458e1819102312dd";
-          sha256 = "0x9ilnqaw9vim9f17rl4g8ikbi4qwagjz41j9f2i72aspir3jdfg";
+          rev = "24204333743b3ba26a9a8d51f56f1d3195ae4115";
+          sha256 = "0y3pzf2zvqlsqs7255ihrswaxjq0q389yiiprlwzm86xsws8fbkw";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/ac283f1b65c3ba6278e9d3236e5a19734e42b123/recipes/company-php";
@@ -10453,8 +10349,8 @@
         src = fetchFromGitHub {
           owner = "lijunsong";
           repo = "pollen-mode";
-          rev = "de762bd7f9760185dae8ef025ca9a9126ae78de0";
-          sha256 = "19bi50nlmwnh4kz3b1hrgc7ks0g84bld9aifws2l3wyc3xsj8cqa";
+          rev = "df4eab5b490cb478a092e6bab6b07f9e2f9c6fad";
+          sha256 = "0x8bnf0n109ard5zdmma04w0wv5jb1r7qh5smsa1kjvws98gnp57";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/97bda0616abe3bb632fc4231e5317d9472dfd14f/recipes/company-pollen";
@@ -10491,12 +10387,12 @@
     company-quickhelp = callPackage ({ company, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, pos-tip }:
     melpaBuild {
         pname = "company-quickhelp";
-        version = "20170429.1052";
+        version = "20180323.1200";
         src = fetchFromGitHub {
           owner = "expez";
           repo = "company-quickhelp";
-          rev = "c42610040ccfaacd8040f47c5e1c629a18987614";
-          sha256 = "0j1fqyi97imv1zp0w0y51j2svs494r2bdi2q9jm11b9bdi3jmf7d";
+          rev = "1580b107ebecb98cf5c21a5b7185d4bfe761047d";
+          sha256 = "0d237si89c4r325zirqvivq5k9b59hyahnfjlgc3fy9cnr07xqg3";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/022cc4fee54bb0194822947c70058145e2980b94/recipes/company-quickhelp";
@@ -10564,8 +10460,8 @@
         src = fetchFromGitHub {
           owner = "Andersbakken";
           repo = "rtags";
-          rev = "4f27c1cc60742622e6616b579c82b5440ad446d3";
-          sha256 = "08310vkd7gyfc9jcis7r5dfdb6spilxw1kf7p8vm078v8hmmjyj0";
+          rev = "4747d5b695bee40c3b0a2e3591ac8897571edd66";
+          sha256 = "1qy71bx8nki73mqslw54hq5bn1asz5qg1b2848nrsj8zb2yd85x5";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/3dea16daf0d72188c8b4043534f0833fe9b04e07/recipes/company-rtags";
@@ -10599,22 +10495,22 @@
           license = lib.licenses.free;
         };
       }) {};
-    company-solidity = callPackage ({ cl-lib ? null, company, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    company-solidity = callPackage ({ cl-lib ? null, company, fetchFromGitHub, fetchurl, lib, melpaBuild, solidity-mode }:
     melpaBuild {
         pname = "company-solidity";
-        version = "20180221.1330";
+        version = "20180407.1344";
         src = fetchFromGitHub {
           owner = "ssmolkin1";
           repo = "company-solidity";
-          rev = "9a57a4ff4cad1d423429c78457cd05c38826801c";
-          sha256 = "1v9h85vb6lqjlb5w9g2i042zb3w3y916in7h8jph2b74187a9nl6";
+          rev = "32bfe4c8fe282c30ebf4f5cf1f9285f151c8e6d4";
+          sha256 = "0qgvxpij5zwwvdqzi2yf2f52vgmky4xwz9v4smrkcx29k88ivlg5";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/ef246601ff6d92d6dfcd809f637e50d9838da0b8/recipes/company-solidity";
           sha256 = "076z5jqh486k2lkh9rgbhs71bws4fba68pjybr9yyf0sdc5m7kc6";
           name = "company-solidity";
         };
-        packageRequires = [ cl-lib company ];
+        packageRequires = [ cl-lib company solidity-mode ];
         meta = {
           homepage = "https://melpa.org/#/company-solidity";
           license = lib.licenses.free;
@@ -10662,6 +10558,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    company-suggest = callPackage ({ company, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "company-suggest";
+        version = "20180325.931";
+        src = fetchFromGitHub {
+          owner = "juergenhoetzel";
+          repo = "company-suggest";
+          rev = "e1679bd2cff0396bda0eba7dc48469332bd54251";
+          sha256 = "00cy1lhnlwz99zmxhk7403qq4wi8abk483syw5z1xvhdx1fxgq04";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/9579e3366db055364829e20d3ce228bf17060b0a/recipes/company-suggest";
+          sha256 = "1w5fp4mydc4av14sjb8di6jjvzfqwnasnxpf9720pk0rsj05i972";
+          name = "company-suggest";
+        };
+        packageRequires = [ company emacs ];
+        meta = {
+          homepage = "https://melpa.org/#/company-suggest";
+          license = lib.licenses.free;
+        };
+      }) {};
     company-tern = callPackage ({ cl-lib ? null, company, dash, dash-functional, fetchFromGitHub, fetchurl, lib, melpaBuild, s, tern }:
     melpaBuild {
         pname = "company-tern";
@@ -10728,12 +10645,12 @@
     company-web = callPackage ({ cl-lib ? null, company, dash, fetchFromGitHub, fetchurl, lib, melpaBuild, web-completion-data }:
     melpaBuild {
         pname = "company-web";
-        version = "20171111.1049";
+        version = "20180402.455";
         src = fetchFromGitHub {
           owner = "osv";
           repo = "company-web";
-          rev = "935c65de0411ebbcb4f2223f31e756e093eaae07";
-          sha256 = "0kw0fc1lg7qd23fx26y9m543sql32n1dlvr4rg7bmq6im7dwz4hy";
+          rev = "f0cc9187c9c34f72ad71f5649a69c74f996bae9a";
+          sha256 = "1xcwwcy2866vzaqgn7hrl7j8k48mk74i4shm40v7ybacws47s9nr";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/company-web";
@@ -10812,12 +10729,12 @@
     composer = callPackage ({ emacs, f, fetchFromGitHub, fetchurl, lib, melpaBuild, php-runtime, request, s, seq }:
     melpaBuild {
         pname = "composer";
-        version = "20180111.942";
+        version = "20180415.743";
         src = fetchFromGitHub {
           owner = "emacs-php";
           repo = "composer.el";
-          rev = "e34ebe795d267e28965c85bd84cbb16b18165bd8";
-          sha256 = "1vqjraldl2an10q1w91l7rx66mpsvqvjgg3j1k7xcvw07570aabl";
+          rev = "1d43edd8079e84df5e1b46c65e6783cb3ff9debd";
+          sha256 = "0k6345mc2ppckbbmji4wkynlfgy00kr945ah8j2b62hqgm73h575";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/eb13cb0dba1696cc51132cd1ff723fa17f892a7c/recipes/composer";
@@ -10956,6 +10873,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    conllu-mode = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, parsec }:
+    melpaBuild {
+        pname = "conllu-mode";
+        version = "20180304.637";
+        src = fetchFromGitHub {
+          owner = "odanoburu";
+          repo = "conllu-mode";
+          rev = "5c1f4de04d5cba9ff4fc3246c507f74f50a2aa6c";
+          sha256 = "0zr8pglciqc1af06qsvqjks823wbb7s33g3qvhajxlfcz10iyd98";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/444f943baddfeafe29708d6d68aeeeedbb7aa7bd/recipes/conllu-mode";
+          sha256 = "1wffvvs8d0xcnz6mcm9rbr8imyj4npyc148yh0gzfzlgjm0fiz1v";
+          name = "conllu-mode";
+        };
+        packageRequires = [ cl-lib emacs parsec ];
+        meta = {
+          homepage = "https://melpa.org/#/conllu-mode";
+          license = lib.licenses.free;
+        };
+      }) {};
     connection = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "connection";
@@ -11211,12 +11149,12 @@
     counsel = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, swiper }:
     melpaBuild {
         pname = "counsel";
-        version = "20180225.744";
+        version = "20180415.905";
         src = fetchFromGitHub {
           owner = "abo-abo";
           repo = "swiper";
-          rev = "e4b05e7af0ea80c91ddca6be5eae447a0ba3b8b5";
-          sha256 = "00vdb4mwgy6cza3ybjza2xk3rzk4y14d83cnvw58wvnj190gphm3";
+          rev = "1181d0f7acb9e77a15fa7e62cb1027979185c853";
+          sha256 = "0vsl346axdlkcv96cxlciw7bmvxwl2ficjgw9nxrsvhsjsy7md02";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/06c50f32b8d603db0d70e77907e36862cd66b811/recipes/counsel";
@@ -11250,6 +11188,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    counsel-css = callPackage ({ cl-lib ? null, counsel, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "counsel-css";
+        version = "20180302.236";
+        src = fetchFromGitHub {
+          owner = "hlissner";
+          repo = "emacs-counsel-css";
+          rev = "0536af00236cdce1ed08b40dd46c917e8b4b8869";
+          sha256 = "04qm5dqxnl4s0axbrin7a7dpj3h8rx096q01bwzfs10qsdx3l7c0";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/519a05a9f0e43f3e1dfac75759346476bfc40772/recipes/counsel-css";
+          sha256 = "1sckfq8kv68q1anqmslrvhcf83m7b5r0clny6q33b9x0qypkv9xp";
+          name = "counsel-css";
+        };
+        packageRequires = [ cl-lib counsel emacs ];
+        meta = {
+          homepage = "https://melpa.org/#/counsel-css";
+          license = lib.licenses.free;
+        };
+      }) {};
     counsel-dash = callPackage ({ counsel, dash, dash-functional, emacs, fetchFromGitHub, fetchurl, helm-dash, lib, melpaBuild }:
     melpaBuild {
         pname = "counsel-dash";
@@ -11274,12 +11233,12 @@
     counsel-etags = callPackage ({ counsel, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "counsel-etags";
-        version = "20180222.2023";
+        version = "20180324.2005";
         src = fetchFromGitHub {
           owner = "redguardtoo";
           repo = "counsel-etags";
-          rev = "9d70490b551503aac22241c8089a46e55dd3deba";
-          sha256 = "03yr0y3z0jgh8c1db43nq0888rr561f6ks5fmf254aibh63schff";
+          rev = "267c071724fcc665359f2f4472392507facaab2c";
+          sha256 = "0039l9pdndl0y06xjvxpgcc71kqpwhny2lhy5a68p6n1ndi958z9";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/87528349a3ab305bfe98f30c5404913272817a38/recipes/counsel-etags";
@@ -11358,12 +11317,12 @@
     counsel-projectile = callPackage ({ counsel, fetchFromGitHub, fetchurl, lib, melpaBuild, projectile }:
     melpaBuild {
         pname = "counsel-projectile";
-        version = "20180217.2349";
+        version = "20180316.1608";
         src = fetchFromGitHub {
           owner = "ericdanan";
           repo = "counsel-projectile";
-          rev = "bf98fbd1988885e82129823bf189b777dd52a084";
-          sha256 = "0z940554lqsyrj1wljmgl4najrxpv4d6kqf5n60a6sj630ak0blc";
+          rev = "d428d08015f83fe91c058abf7f1fa95657e90483";
+          sha256 = "177w7v9hxx7p5l25hap4n4x8axzvp019a4xhkla8r1i821bxbqjw";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/389f16f886a385b02f466540f042a16eea8ba792/recipes/counsel-projectile";
@@ -11400,12 +11359,12 @@
     counsel-spotify = callPackage ({ emacs, fetchFromGitHub, fetchurl, ivy, lib, melpaBuild }:
     melpaBuild {
         pname = "counsel-spotify";
-        version = "20170612.1132";
+        version = "20180319.2022";
         src = fetchFromGitHub {
           owner = "Lautaro-Garcia";
           repo = "counsel-spotify";
-          rev = "dba8c1bf92e15f34f12a9e22b5958a93f10b46c5";
-          sha256 = "1j7rzf8mws2yzdvfz8a6k48b5x6cn11lfvfya5s4c90kyy92j8ag";
+          rev = "9033e207dccdfea7fe590d2e102d50fcd2bd22e3";
+          sha256 = "00mjcp3x558gh7f8yrj8y4ivq3pvml7y46rms8xah5zxavg6q52b";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/b386462518a5ebb6454f4d01582df98395239bcc/recipes/counsel-spotify";
@@ -11421,12 +11380,12 @@
     counsel-tramp = callPackage ({ counsel, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "counsel-tramp";
-        version = "20171224.321";
+        version = "20180311.2327";
         src = fetchFromGitHub {
           owner = "masasam";
           repo = "emacs-counsel-tramp";
-          rev = "6efa0e6e204d08d5b8b8b66f7e3ae7f07d5a3665";
-          sha256 = "1byskmvhs0vdj08xjnds8zczw19d2kmnsym514c56k3a0v7g1ldz";
+          rev = "3f5ae75a6bde00bffeb2877b4ed4bd45610c0dfa";
+          sha256 = "06dhhjrgpikzpdl1hck0ckjbx8yzx8jbymb3ajfxglgvrvid4l1k";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/e1822b735b6bd533f658bd64ddccda29e19e9a5e/recipes/counsel-tramp";
@@ -11460,22 +11419,22 @@
           license = lib.licenses.free;
         };
       }) {};
-    cov = callPackage ({ emacs, f, fetchFromGitHub, fetchurl, lib, melpaBuild, s }:
+    cov = callPackage ({ elquery, emacs, f, fetchFromGitHub, fetchurl, lib, melpaBuild, s }:
     melpaBuild {
         pname = "cov";
-        version = "20170405.1508";
+        version = "20180415.1331";
         src = fetchFromGitHub {
           owner = "AdamNiederer";
           repo = "cov";
-          rev = "519239cc37d3ad0204fecac99f42e1694ce57d3d";
-          sha256 = "1kb2rmxx91q4cwm1npzyiykwg5jxhhz7waykh5vqxr5y81hr5nza";
+          rev = "e6731ddf16be343a24449cf7dca92f382c8a831b";
+          sha256 = "09p61ni7vkwl679ysl9aibw0b7qi5v9vpgvg08vj00fp5a82rzsq";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/d0f35ce436ac157955d6f92de96e14bef9ad69e3/recipes/cov";
           sha256 = "02wk8ikanl5lcwqb9wqc8xx5vwzhn2hpqpxdchg5mdi7fifa1rni";
           name = "cov";
         };
-        packageRequires = [ emacs f s ];
+        packageRequires = [ elquery emacs f s ];
         meta = {
           homepage = "https://melpa.org/#/cov";
           license = lib.licenses.free;
@@ -11484,12 +11443,12 @@
     coverage = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild, ov }:
     melpaBuild {
         pname = "coverage";
-        version = "20160222.114";
+        version = "20180226.2057";
         src = fetchFromGitHub {
           owner = "trezona-lecomte";
           repo = "coverage";
-          rev = "d68e5d20108e280b11a802a671bd009c7dcfff89";
-          sha256 = "0glnvr10lwi17g44653qqswn9vnyh5r2nmpaa0y6lvfb952zn0k0";
+          rev = "c73d984168955ca0f47f44b0464aa45282df42b6";
+          sha256 = "1kn61j91x4r4kc498y2jas5il4pc4qzhkj8392g2qiq5m3lbv4vl";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/cd70e138534551dd12ba4d165ba56fbd1e033241/recipes/coverage";
@@ -11610,12 +11569,12 @@
     cquery = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, lib, lsp-mode, melpaBuild }:
     melpaBuild {
         pname = "cquery";
-        version = "20180226.428";
+        version = "20180413.938";
         src = fetchFromGitHub {
           owner = "cquery-project";
           repo = "emacs-cquery";
-          rev = "0b70a10869581a682ade3730442881250304a331";
-          sha256 = "01jf77m3d8ydrnjms62c6zn2xwfcs3wadk7wcc73qrsqz99i81ba";
+          rev = "7f48de485c5f4ca0d55b93307763889ce2d7c5c4";
+          sha256 = "1cb41f0can8mslg80v1np5wvq9c0vl0px5mgy0zyzhajf9zqszgn";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/3cd3bffff0d2564c39735f844f9a02a660272caa/recipes/cquery";
@@ -11799,12 +11758,12 @@
     cryptol-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "cryptol-mode";
-        version = "20180118.535";
+        version = "20180321.1108";
         src = fetchFromGitHub {
           owner = "thoughtpolice";
           repo = "cryptol-mode";
-          rev = "dcc9498813a77ffb83010032e0e5a540f00f3d33";
-          sha256 = "0w73i9a6qpab2h58mblhcjqs7xcyr9vpx9mczj3sxzygb2lhzwxw";
+          rev = "91f8ad617e5db2fad57a7be1da211f22f3b51550";
+          sha256 = "12jd2wc5icnkbvxjam7kgr8bdjavxjsy79vwi0hi3gzwiirx4ifg";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/de12333bb429d84b2c214ac7ebb0219f67838f4f/recipes/cryptol-mode";
@@ -11841,12 +11800,12 @@
     crystal-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "crystal-mode";
-        version = "20180104.1920";
+        version = "20180306.1821";
         src = fetchFromGitHub {
           owner = "crystal-lang-tools";
           repo = "emacs-crystal-mode";
-          rev = "0fe6815201bebe4c5ff6857bd541d95b05132b10";
-          sha256 = "0r75dvc0jqcqi1qjns8zj132dnm0s6mvqlqynkis16nigbawix8m";
+          rev = "490f213c17e67ac28e7de19a0cfa62652d44b5de";
+          sha256 = "0isz91ikwc5175y9a984j8j9nmli0qf2j0shljk576ywlybiy00a";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/d4b9b47d7deecf0cf24a42b26d50021cb1219a69/recipes/crystal-mode";
@@ -11883,12 +11842,12 @@
     csharp-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "csharp-mode";
-        version = "20171211.2238";
+        version = "20180315.203";
         src = fetchFromGitHub {
           owner = "josteink";
           repo = "csharp-mode";
-          rev = "ba7a81a85ee5fd234f24333ab156ce897cb20cc7";
-          sha256 = "1jb0aq0fs1l3djb0cjfk0b2igvdd06l8lz0g94f63p324jn8rl62";
+          rev = "79e0a606f60a2620631623285dbbbd8591cbd2f8";
+          sha256 = "1h36ns0kcz8p7nafczdyz1bvbz8fp3ci72c7ikyl703kkyqpk0px";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/736716bbcfd9c9fb1d10ce290cb4f66fe1c68f44/recipes/csharp-mode";
@@ -11925,12 +11884,12 @@
     css-autoprefixer = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "css-autoprefixer";
-        version = "20180118.1411";
+        version = "20180311.900";
         src = fetchFromGitHub {
           owner = "kkweon";
           repo = "emacs-css-autoprefixer";
-          rev = "a694e7e725074da99d90b18dd166707f1649bfae";
-          sha256 = "0cd4i9xbc7rqsmaa73gj4p9za3g6x6xv54ngnkf6vprpg3g7lb6n";
+          rev = "386a5defc8543a3b87820f1761c075c7d1d93b38";
+          sha256 = "0ymba9bhzfi7kkrha4d4sn0hrc3sid4b5k8lhakwwdwafhym0jjb";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/122e3813a5b8a57303345e9cd855f4d85eced6f0/recipes/css-autoprefixer";
@@ -12118,8 +12077,8 @@
         src = fetchFromGitHub {
           owner = "mortberg";
           repo = "cubicaltt";
-          rev = "7f3c7a7cfe60f98da46e6958bec62bac4675ccd2";
-          sha256 = "096523m3spfqw72zp2rzcf1b54997yzs7qxwvr3awhicah1z6mv0";
+          rev = "bf8253f482917e390fe8b44ceaf308405afeefc6";
+          sha256 = "1ff4gq1bjm0j1wi58lsv5fazkjcq4ay01n4k55nhd34pgk0rbnv0";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/1be42b49c206fc4f0df6fb50fed80b3d9b76710b/recipes/cubicaltt";
@@ -12370,8 +12329,8 @@
         src = fetchFromGitHub {
           owner = "cython";
           repo = "cython";
-          rev = "cf70c10744aec43df0708f5ee3d692d378fc31f1";
-          sha256 = "03ka1lnw4qdg5lzlimdg8w1gynmbf66wvr7iplgszf752cg1q01i";
+          rev = "29961acc1c64710127a5191af6c039cb1fa22203";
+          sha256 = "00qwi8frmhas5qgs9i8hx067d60zpycnw3pbd4xgn9nis8fjjnw6";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/be9bfabe3f79153cb859efc7c3051db244a63879/recipes/cython-mode";
@@ -12405,22 +12364,22 @@
           license = lib.licenses.free;
         };
       }) {};
-    d-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    d-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "d-mode";
-        version = "20180215.727";
+        version = "20180409.1043";
         src = fetchFromGitHub {
           owner = "Emacs-D-Mode-Maintainers";
           repo = "Emacs-D-Mode";
-          rev = "398f1854d53863185e60873b494eec0263bdd0dd";
-          sha256 = "0xka4k0j0rl4kjjyzryx7a7ngf9qzry148nhpzc66yirlrp5hjn8";
+          rev = "09745ba713e08a02fd81c01824aefa6731992a6f";
+          sha256 = "0l1rpdfjhwbhzrs1z54s57j4zahx62mym9rdld0rb41ph3k4l49q";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/3c13e9ccc358743de660b1f0e89d6bb709c42bff/recipes/d-mode";
           sha256 = "060k9ndjx0n5vlpzfxlv5zxnizx72d7y9vk7gz7gdvpm6w2ha0a2";
           name = "d-mode";
         };
-        packageRequires = [];
+        packageRequires = [ emacs ];
         meta = {
           homepage = "https://melpa.org/#/d-mode";
           license = lib.licenses.free;
@@ -12468,6 +12427,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    daemons = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "daemons";
+        version = "20180408.301";
+        src = fetchFromGitHub {
+          owner = "cbowdon";
+          repo = "daemons.el";
+          rev = "9e6868e2559ea7d70fbad8c419798124f406cc40";
+          sha256 = "00ijgm22ck76gw0x79krl05yy0m8a502yfakazfy5xhpn1zi6ab7";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/1f780485e72ae2885f698fdab0156855f70831f1/recipes/daemons";
+          sha256 = "14givkrw9p0m261hawahzi0n8jarapb63kv1s62faq57mqnq23jr";
+          name = "daemons";
+        };
+        packageRequires = [ emacs ];
+        meta = {
+          homepage = "https://melpa.org/#/daemons";
+          license = lib.licenses.free;
+        };
+      }) {};
     dakrone-light-theme = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "dakrone-light-theme";
@@ -12513,12 +12493,12 @@
     danneskjold-theme = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "danneskjold-theme";
-        version = "20180221.541";
+        version = "20180327.254";
         src = fetchFromGitHub {
           owner = "rails-to-cosmos";
           repo = "danneskjold-theme";
-          rev = "7b32dcdad3933e0eab03d2702014c0b56fc73b9a";
-          sha256 = "1sxqnf8c48p8jnrxabjikijah8d7v11c4k4mvmc67vvn92p20ag5";
+          rev = "ae26f45800d9e2ad5d76d50bf1902edc1e36d0f7";
+          sha256 = "1b8mp4xhcswhzk2r5w0s84kkiil1wzl2s32nfbiphpqg7f0863dj";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/557244a3b60c7cd3ca964ff843aa1e9d5a1e32ec/recipes/danneskjold-theme";
@@ -12534,12 +12514,12 @@
     dante = callPackage ({ dash, emacs, f, fetchFromGitHub, fetchurl, flycheck, haskell-mode, lcr, lib, melpaBuild, s }:
     melpaBuild {
         pname = "dante";
-        version = "20180224.1246";
+        version = "20180414.1306";
         src = fetchFromGitHub {
           owner = "jyp";
           repo = "dante";
-          rev = "33c8c4afac616e6de30111f8a7f11d572496a838";
-          sha256 = "0zv6vqzw299ydgwxiky8b2nlb8cyzzw9zsx44ixaqqf73f63bv1n";
+          rev = "18a2c4a833f9ece01ccfb5910455fc2f0b0de986";
+          sha256 = "09a8gwnh2281kjc1rk6ba5clk020hmz11pz36iy99y1bya043794";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/5afa8226077cbda4b76f52734cf8e0b745ab88e8/recipes/dante";
@@ -12765,12 +12745,12 @@
     dash = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "dash";
-        version = "20180206.2124";
+        version = "20180413.30";
         src = fetchFromGitHub {
           owner = "magnars";
           repo = "dash.el";
-          rev = "48a5015dd1314a8bcad48f2ad8866dd911001b01";
-          sha256 = "0cs8l20fw34ilr7qir1p708wx925d3qkp7g4py2s2d8k1yf0kjmy";
+          rev = "a74f4cfcdc8d0642a9f602ad494f0354f27dacc9";
+          sha256 = "1kzijmjxjxgr7p8clphzvmm47vczckbs8mza9an77c25bn627ywl";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/57eed8767c3e98614259c408dc0b5c54d3473883/recipes/dash";
@@ -12811,8 +12791,8 @@
         src = fetchFromGitHub {
           owner = "magnars";
           repo = "dash.el";
-          rev = "48a5015dd1314a8bcad48f2ad8866dd911001b01";
-          sha256 = "0cs8l20fw34ilr7qir1p708wx925d3qkp7g4py2s2d8k1yf0kjmy";
+          rev = "a74f4cfcdc8d0642a9f602ad494f0354f27dacc9";
+          sha256 = "1kzijmjxjxgr7p8clphzvmm47vczckbs8mza9an77c25bn627ywl";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/57eed8767c3e98614259c408dc0b5c54d3473883/recipes/dash-functional";
@@ -12828,12 +12808,12 @@
     dashboard = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, page-break-lines }:
     melpaBuild {
         pname = "dashboard";
-        version = "20180110.1153";
+        version = "20180328.807";
         src = fetchFromGitHub {
           owner = "rakanalh";
           repo = "emacs-dashboard";
-          rev = "e3fc28a6d3626c8cae9eb2e448b2f2e6b1a98f52";
-          sha256 = "0kfdx5za610v3s8hmvy39gqn5w6xc8yljz6ybxzbg09byjinhxmn";
+          rev = "5be3f45b0f5e84aa7db3988827c5cf0a8134176d";
+          sha256 = "10ac6d2b97jpqrkfd3rnxj1n6a0lzh1n2dxmmz5i2yy5pjfabc5q";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/e9a79341ccaa82a8c065e71c02fe6aee22007c66/recipes/dashboard";
@@ -12891,12 +12871,12 @@
     datetime = callPackage ({ emacs, extmap, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "datetime";
-        version = "20180205.1445";
+        version = "20180325.1004";
         src = fetchFromGitHub {
           owner = "doublep";
           repo = "datetime";
-          rev = "2a92d80cdc7febf620cd184cf1204a68985d0e8b";
-          sha256 = "0lzdgnmvkvap5j8hvn6pidfnc2ax317sj5r6b2nahllhh53mlr4j";
+          rev = "d8674ac11f9ebb702e5bbac10a4a6e5542958ef5";
+          sha256 = "19d4wximzwdcs0i2r48k6m60wwxcx5f89jw75k4hr0wvx0352a82";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/91ef4352603cc69930ab3d63f0a90eee63f5f328/recipes/datetime";
@@ -13080,12 +13060,12 @@
     decide = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "decide";
-        version = "20170702.1617";
+        version = "20180316.1101";
         src = fetchFromGitHub {
           owner = "lifelike";
           repo = "decide-mode";
-          rev = "90133687118c236142b8110571c463304b3192f9";
-          sha256 = "04yakjnh9c165ssmcwkkm03lnlhgfx5bnk0v3cm73kmwdmfd2q7s";
+          rev = "257f0e39ac60ca375942950b44eeaee04cb9d961";
+          sha256 = "0hiv3wlqidj1qd8z5jy800spzrpbca2vgq4zg1lkzvbcmhqvcqqm";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/6adcd300e2ac2c718989cf855fd7b3eef654df00/recipes/decide";
@@ -13206,12 +13186,12 @@
     define-word = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "define-word";
-        version = "20180128.725";
+        version = "20180327.1935";
         src = fetchFromGitHub {
           owner = "abo-abo";
           repo = "define-word";
-          rev = "06d094f070b5d675441f74e05a449ce4941529e8";
-          sha256 = "0r0lihmkz802ik9qlbs41wfw86vj23mlm7z41zw8h845drxc8vl6";
+          rev = "f0da313420a3b27f761fcafd01ccd9e32b71bd0d";
+          sha256 = "0xvsv2wzkgys99vx1x2by9isagihi97bwbxmrwhfrz47pphdmj5r";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/e318b30d8b2b89981f4b89d78e5a46e77d3de412/recipes/define-word";
@@ -13311,12 +13291,12 @@
     demo-it = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "demo-it";
-        version = "20170628.1503";
+        version = "20180403.2032";
         src = fetchFromGitHub {
           owner = "howardabrams";
           repo = "demo-it";
-          rev = "1e8b42ff6479fa541eeec5699b4727af136d40da";
-          sha256 = "1x9crsc8n5pqyp60h46gz6wz98qaj3bygk11vd39qpfh2hxdxxi6";
+          rev = "4f74e6f1bb6519587303e20fe59470853b1a0352";
+          sha256 = "15j4f7jjjhrcjycxwzqnwqhm3fyvjnisd41k5lw13dnhbmp1gzx6";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/1dec5877db00c29d81d76be0ee2504399bad9cc4/recipes/demo-it";
@@ -13437,12 +13417,12 @@
     dhall-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "dhall-mode";
-        version = "20171204.1327";
+        version = "20180409.1255";
         src = fetchFromGitHub {
           owner = "psibi";
           repo = "dhall-mode";
-          rev = "bc6aec777594beeac6ba4c6dbfb1c889341589c9";
-          sha256 = "0vfkdj1fyykmylh6gg9igpiylb2n7bd4iqq1gl5mdqid8gsv4sgl";
+          rev = "7c9bbb7c1f8ca7f700b45c26a64ca8e0143543ae";
+          sha256 = "12swhpsl86pi21smvggqszn1wl71wrw15x7nybcmfgjb4d403716";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/c7ab435077b2f47d75ddc0ff10c64ee2b46044e2/recipes/dhall-mode";
@@ -13650,8 +13630,8 @@
         src = fetchFromGitHub {
           owner = "alezost";
           repo = "dim.el";
-          rev = "4b00587dfaabc1f2393b9a9f9993996c288d4445";
-          sha256 = "0qvx81glmrsaafcikxz07ym60haxhb39dyspv5x95f2p345f03q4";
+          rev = "79b81724b951fedffdd3113f473c18990af837a9";
+          sha256 = "1fclhpcrsi09z2np7q3dq3hhb3pqxsvv1l2dqis27afxnb1zshr3";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/3a740ab40cab3a1890f56df808f41a2d541aa77c/recipes/dim";
@@ -13667,12 +13647,12 @@
     dim-autoload = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "dim-autoload";
-        version = "20161023.1329";
+        version = "20180318.1327";
         src = fetchFromGitHub {
           owner = "tarsius";
           repo = "dim-autoload";
-          rev = "c91edab065f413910354940742b35bdffeb52029";
-          sha256 = "0v4fgbh1byv89iiszifr31j4y2s95xwcq0g9iizxiww7mjrfggyi";
+          rev = "788320fe089fafbdf1cb09d2ab4d29d64a804e21";
+          sha256 = "0iyhjww7p274x418n1iw1xj2fkmn5k9icav0jyzbwmy83a2nmr52";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/66b1a81dfd09a2859ae996d5d8e3d704857a340f/recipes/dim-autoload";
@@ -13772,12 +13752,12 @@
     dired-atool = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "dired-atool";
-        version = "20160208.433";
+        version = "20180302.2340";
         src = fetchFromGitHub {
           owner = "HKey";
           repo = "dired-atool";
-          rev = "f188ccf6092330dbbefc0e75aa4fad3e7258749d";
-          sha256 = "06m2p5sf47ykhkl958x4k0j0rxzrq0wfwf86mvnarlgc1215dbaf";
+          rev = "b92e0106827d34fa686e189c7e9a537a3a947a8b";
+          sha256 = "1i40zd7y1jf9skr3wi2zqv4awrgff244p1h89r707aq67v1j19yk";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/0fe7b0857828a041ee06b30edd2cd488cc3394c7/recipes/dired-atool";
@@ -13797,8 +13777,8 @@
         src = fetchFromGitHub {
           owner = "Fuco1";
           repo = "dired-hacks";
-          rev = "f0628fb58ae25563a5bba211f613f8bd7e23fabd";
-          sha256 = "02dwazx62297wyyxxvb1zw2yz031lsw2h9kc1zgn63ra33kb4b2a";
+          rev = "89af4f12ce4a0692c9c9824eacf56875ca86cb36";
+          sha256 = "0nyc17b029ksa6aai5890g6ainncixgig9cnjjp7khcifmrrpw9s";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/568e524b7bdf91b31655bdbb30fe9481d7a0ffbf/recipes/dired-avfs";
@@ -13818,8 +13798,8 @@
         src = fetchFromGitHub {
           owner = "Fuco1";
           repo = "dired-hacks";
-          rev = "f0628fb58ae25563a5bba211f613f8bd7e23fabd";
-          sha256 = "02dwazx62297wyyxxvb1zw2yz031lsw2h9kc1zgn63ra33kb4b2a";
+          rev = "89af4f12ce4a0692c9c9824eacf56875ca86cb36";
+          sha256 = "0nyc17b029ksa6aai5890g6ainncixgig9cnjjp7khcifmrrpw9s";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/6aab23df1451682ff18d9ad02c35cb7ec612bc38/recipes/dired-collapse";
@@ -13898,12 +13878,12 @@
     dired-fdclone = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "dired-fdclone";
-        version = "20170413.747";
+        version = "20180402.2308";
         src = fetchFromGitHub {
           owner = "knu";
           repo = "dired-fdclone.el";
-          rev = "f55b69e5cd1d45699a0f37468ac8e20fa7a0cff6";
-          sha256 = "193mf90d5vds8hswkxasda267ifr6w55vn4pph15lkbmp33wa50n";
+          rev = "903d7a736d240ef7352989a4e5d0ff9129c2ee3c";
+          sha256 = "0vkdsm29g1cvvv1j8xgjwr94x20zx8k2wvmncrpakcwq6d47cfxw";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/8a0ddc10b11772d72a473e8d24ab4641bf4239a4/recipes/dired-fdclone";
@@ -13944,8 +13924,8 @@
         src = fetchFromGitHub {
           owner = "Fuco1";
           repo = "dired-hacks";
-          rev = "f0628fb58ae25563a5bba211f613f8bd7e23fabd";
-          sha256 = "02dwazx62297wyyxxvb1zw2yz031lsw2h9kc1zgn63ra33kb4b2a";
+          rev = "89af4f12ce4a0692c9c9824eacf56875ca86cb36";
+          sha256 = "0nyc17b029ksa6aai5890g6ainncixgig9cnjjp7khcifmrrpw9s";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/568e524b7bdf91b31655bdbb30fe9481d7a0ffbf/recipes/dired-filter";
@@ -13965,8 +13945,8 @@
         src = fetchFromGitHub {
           owner = "Fuco1";
           repo = "dired-hacks";
-          rev = "f0628fb58ae25563a5bba211f613f8bd7e23fabd";
-          sha256 = "02dwazx62297wyyxxvb1zw2yz031lsw2h9kc1zgn63ra33kb4b2a";
+          rev = "89af4f12ce4a0692c9c9824eacf56875ca86cb36";
+          sha256 = "0nyc17b029ksa6aai5890g6ainncixgig9cnjjp7khcifmrrpw9s";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/568e524b7bdf91b31655bdbb30fe9481d7a0ffbf/recipes/dired-hacks-utils";
@@ -14091,8 +14071,8 @@
         src = fetchFromGitHub {
           owner = "Fuco1";
           repo = "dired-hacks";
-          rev = "f0628fb58ae25563a5bba211f613f8bd7e23fabd";
-          sha256 = "02dwazx62297wyyxxvb1zw2yz031lsw2h9kc1zgn63ra33kb4b2a";
+          rev = "89af4f12ce4a0692c9c9824eacf56875ca86cb36";
+          sha256 = "0nyc17b029ksa6aai5890g6ainncixgig9cnjjp7khcifmrrpw9s";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/8994330f90a925df17ae425ccdc87865df8e19cd/recipes/dired-narrow";
@@ -14112,8 +14092,8 @@
         src = fetchFromGitHub {
           owner = "Fuco1";
           repo = "dired-hacks";
-          rev = "f0628fb58ae25563a5bba211f613f8bd7e23fabd";
-          sha256 = "02dwazx62297wyyxxvb1zw2yz031lsw2h9kc1zgn63ra33kb4b2a";
+          rev = "89af4f12ce4a0692c9c9824eacf56875ca86cb36";
+          sha256 = "0nyc17b029ksa6aai5890g6ainncixgig9cnjjp7khcifmrrpw9s";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/568e524b7bdf91b31655bdbb30fe9481d7a0ffbf/recipes/dired-open";
@@ -14154,8 +14134,8 @@
         src = fetchFromGitHub {
           owner = "Fuco1";
           repo = "dired-hacks";
-          rev = "f0628fb58ae25563a5bba211f613f8bd7e23fabd";
-          sha256 = "02dwazx62297wyyxxvb1zw2yz031lsw2h9kc1zgn63ra33kb4b2a";
+          rev = "89af4f12ce4a0692c9c9824eacf56875ca86cb36";
+          sha256 = "0nyc17b029ksa6aai5890g6ainncixgig9cnjjp7khcifmrrpw9s";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/568e524b7bdf91b31655bdbb30fe9481d7a0ffbf/recipes/dired-rainbow";
@@ -14171,12 +14151,12 @@
     dired-ranger = callPackage ({ dash, dired-hacks-utils, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "dired-ranger";
-        version = "20171229.753";
+        version = "20180401.1506";
         src = fetchFromGitHub {
           owner = "Fuco1";
           repo = "dired-hacks";
-          rev = "f0628fb58ae25563a5bba211f613f8bd7e23fabd";
-          sha256 = "02dwazx62297wyyxxvb1zw2yz031lsw2h9kc1zgn63ra33kb4b2a";
+          rev = "89af4f12ce4a0692c9c9824eacf56875ca86cb36";
+          sha256 = "0nyc17b029ksa6aai5890g6ainncixgig9cnjjp7khcifmrrpw9s";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/c03f6f8c779c8784f52adb20b266404cb537113a/recipes/dired-ranger";
@@ -14192,12 +14172,12 @@
     dired-sidebar = callPackage ({ dired-subtree, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "dired-sidebar";
-        version = "20180218.1717";
+        version = "20180312.1715";
         src = fetchFromGitHub {
           owner = "jojojames";
           repo = "dired-sidebar";
-          rev = "e43864a70ee240bf8dcaddd7bb88b77c6e1e9fe6";
-          sha256 = "1s70qlm1jxq7larwq5gr2zc58q4qxch5f2qk6fzqwkpcvsvlv304";
+          rev = "df9d46615930ad3709303babd45bc12b96d0945c";
+          sha256 = "0yj0jlm695v1kzdlvi0lqa0phafvgn1y9bwbin5cikygvn2wjjxw";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/30e15c8361b01195f198197e704828fbcac0e8d6/recipes/dired-sidebar";
@@ -14238,8 +14218,8 @@
         src = fetchFromGitHub {
           owner = "Fuco1";
           repo = "dired-hacks";
-          rev = "f0628fb58ae25563a5bba211f613f8bd7e23fabd";
-          sha256 = "02dwazx62297wyyxxvb1zw2yz031lsw2h9kc1zgn63ra33kb4b2a";
+          rev = "89af4f12ce4a0692c9c9824eacf56875ca86cb36";
+          sha256 = "0nyc17b029ksa6aai5890g6ainncixgig9cnjjp7khcifmrrpw9s";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/d6a947ac9476f10b95a3c153ec784d2a8330dd4c/recipes/dired-subtree";
@@ -14339,12 +14319,12 @@
     direnv = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, with-editor }:
     melpaBuild {
         pname = "direnv";
-        version = "20180213.1238";
+        version = "20180410.203";
         src = fetchFromGitHub {
           owner = "wbolster";
           repo = "emacs-direnv";
-          rev = "5b55dac12467689083ff995777f54a304ff47be1";
-          sha256 = "0sjrnab8rx1bpnxim268b8jfpyh8h0iy3j38925r0jqjgjb19ksn";
+          rev = "bb0de5e8f662c3f522b931c6e2c2340e4ed682af";
+          sha256 = "1mk35k0iiyxk5s8ymcx94fhyz188i8r51r73vnndm868g86yslzp";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/5419809ee62b920463e359c8e1314cd0763657c1/recipes/direnv";
@@ -14860,6 +14840,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    djangonaut = callPackage ({ emacs, f, fetchFromGitHub, fetchurl, lib, magit-popup, melpaBuild, pythonic, s }:
+    melpaBuild {
+        pname = "djangonaut";
+        version = "20180403.302";
+        src = fetchFromGitHub {
+          owner = "proofit404";
+          repo = "djangonaut";
+          rev = "501ecb3cd927975a19ed8beeacb326e01715b78c";
+          sha256 = "1h47skyx9yfcgvj5k53h3c40am191dwjw5hyq9jgmc3fkg2dr95j";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/0c1281f59add99abf57bc858d6e0f9b2ae5b3c5c/recipes/djangonaut";
+          sha256 = "0038zqazzhxz82q8l1phxc3aiiwmzksz9c15by9v0apzwpmdkj38";
+          name = "djangonaut";
+        };
+        packageRequires = [ emacs f magit-popup pythonic s ];
+        meta = {
+          homepage = "https://melpa.org/#/djangonaut";
+          license = lib.licenses.free;
+        };
+      }) {};
     dkdo = callPackage ({ dkmisc, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "dkdo";
@@ -15031,12 +15032,12 @@
     docker = callPackage ({ dash, docker-tramp, emacs, fetchFromGitHub, fetchurl, json-mode, lib, magit-popup, melpaBuild, s, tablist }:
     melpaBuild {
         pname = "docker";
-        version = "20180222.717";
+        version = "20180416.911";
         src = fetchFromGitHub {
           owner = "Silex";
           repo = "docker.el";
-          rev = "ec2b07255e273639ff76303778661f81c5b74000";
-          sha256 = "0nlf3rw9xa9hggqkw6nxfswbqlnsgbliz9z652kp7c9hfikfmcsj";
+          rev = "6df5799e358cfd8714bf9aff8368865a5bcf9691";
+          sha256 = "091p9wvrnhz42azg9g9ybc08s4gf1fxwjzxc3ar530wc56kdmd7p";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/6c74bf8a41c17bc733636f9e7c05f3858d17936b/recipes/docker";
@@ -15081,12 +15082,12 @@
     docker-compose-mode = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, yaml-mode }:
     melpaBuild {
         pname = "docker-compose-mode";
-        version = "20170916.1438";
+        version = "20180324.1052";
         src = fetchFromGitHub {
           owner = "meqif";
           repo = "docker-compose-mode";
-          rev = "f3c06a43d69dfe80041a82a9365281bd5c65a105";
-          sha256 = "1fzz950wb95lp15ak8q4vzls21w9fc3qxqs5hlf50najdw36w52h";
+          rev = "c9f131d2c90d652435d407fd36c40feebfed1dad";
+          sha256 = "0d5d46i6hplmy7q2ihbvcrnk9jrwa2mswgbf8yca3m4k44wgk6la";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/37dd4c1fc11d22598c6faf03ccc860503a68b950/recipes/docker-compose-mode";
@@ -15123,12 +15124,12 @@
     dockerfile-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, s }:
     melpaBuild {
         pname = "dockerfile-mode";
-        version = "20171124.1647";
+        version = "20180410.936";
         src = fetchFromGitHub {
           owner = "spotify";
           repo = "dockerfile-mode";
-          rev = "4ab78f678e9ee40c7c5729dc8f1f5c1a847be2e7";
-          sha256 = "0dc3pfqf6nrwnqsiyn49l0pgq7rm31kciwsqagnrjnc85nnbpf9m";
+          rev = "818e6946fcf2d58438ab78ea06761a372cc5435a";
+          sha256 = "0mqb09jcqi74hbn7869gng85sac38mc1hylzcwh7d5qlsyl9dg08";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/1406f5a24115d29e3b140c360a51b977a369e4f9/recipes/dockerfile-mode";
@@ -15207,16 +15208,16 @@
     doom = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "doom";
-        version = "20160121.722";
+        version = "20180301.1508";
         src = fetchFromGitHub {
-          owner = "emacsorphanage";
+          owner = "kensanata";
           repo = "doom";
-          rev = "5e2d3f54e5b84eaa533cbdb6cf17b1b6009f0730";
-          sha256 = "04h1hlsc83w4dppw9m44jq7mkcpy0bblvnzrhvsh06pibjywdd73";
+          rev = "e59040aefc92dd9b3134eb623624307fb9e4327b";
+          sha256 = "14lwq30m0s7pkwkbn6vm5gdlkww7sszc6pdhxyinkhj67b0bxpin";
         };
         recipeFile = fetchurl {
-          url = "https://raw.githubusercontent.com/milkypostman/melpa/7e41ed64142be89a62fddeceee5e39603a18525c/recipes/doom";
-          sha256 = "098q77lix7kwpmarv26yndyk1yy1h4k3l9kaf3g7sg6ji6k7d3wl";
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/0960deb3b1d106ad2ffa95a44f34cb9efc026f01/recipes/doom";
+          sha256 = "1ji2fdiw5b13n76nv2wvkz6v155b0qgh1rxwmv3m5nnrbmklfjh5";
           name = "doom";
         };
         packageRequires = [ cl-lib ];
@@ -15228,12 +15229,12 @@
     doom-themes = callPackage ({ all-the-icons, cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "doom-themes";
-        version = "20180219.1227";
+        version = "20180328.1556";
         src = fetchFromGitHub {
           owner = "hlissner";
           repo = "emacs-doom-themes";
-          rev = "aa57d222b65a4dc9dddd76f66adbe6ac003f57a6";
-          sha256 = "05chhg1mpnp3jqjgwwsnzkh19ci4429sgq9xpx4jxfbbalhd4z11";
+          rev = "179c0836a12a37957569f904024b6e65597fb4b6";
+          sha256 = "01jhds2si4bdm05vjdb9azd8ix75p9xi80qqrhcmp3asml50ha39";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/c5084bc2c3fe378af6ff39d65e40649c6359b7b5/recipes/doom-themes";
@@ -15249,12 +15250,12 @@
     dot-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "dot-mode";
-        version = "20161025.1037";
+        version = "20180312.1600";
         src = fetchFromGitHub {
           owner = "wyrickre";
           repo = "dot-mode";
-          rev = "cde2d593cb3f8e31db8778e434d3a4550707d2cc";
-          sha256 = "1pvmypsz5c5jkx4g3hvznayyv9cs9yr5sgf251prxnqcl0ivc0y9";
+          rev = "6ca22b73bcdae2363ee9641b822a60685df16a3e";
+          sha256 = "10lmwra48ihxqxyl54m3yn1zy0q5w6cxqd2n5pbs4lva1yck0z4w";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/dot-mode";
@@ -15417,12 +15418,12 @@
     dracula-theme = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "dracula-theme";
-        version = "20170412.845";
+        version = "20180416.652";
         src = fetchFromGitHub {
           owner = "dracula";
           repo = "emacs";
-          rev = "62df5de68c73d34faaa0191a92ce3ebce589bf24";
-          sha256 = "0wpbscqaszr2mg0hijamcz6l9nknsi12mwdbib16ghlh6y9mj4ia";
+          rev = "74094e6fd5d0f15b92d82c73b3b3d9f13949d5dd";
+          sha256 = "0apimfivs0g4m9qy1m3c8id6ycr2lwxdpd00crxbka284g440nzj";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/d63cb8906726f106e65f7d9895b49a38ffebf8d5/recipes/dracula-theme";
@@ -15648,12 +15649,12 @@
     dtrt-indent = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "dtrt-indent";
-        version = "20180218.1123";
+        version = "20180319.648";
         src = fetchFromGitHub {
           owner = "jscheid";
           repo = "dtrt-indent";
-          rev = "3ea5136bde1240f93fbf3ce30fffc4f279a58d27";
-          sha256 = "0lkc8y09lhlpg7vrn2459c5fxn0nvxbzqhwadmkgc046i3aapqpg";
+          rev = "0ac070c9576e4ebab12cd6800ac2ac3abcecc2c1";
+          sha256 = "0dambn5l0wvbhccvhh5hbz9hw66y4mp1la3wj85dl9kgr7hq1ry7";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/61bcbcfa6c0f38a1d87f5b6913b8be6c50ef2994/recipes/dtrt-indent";
@@ -15732,12 +15733,12 @@
     dumb-jump = callPackage ({ dash, emacs, f, fetchFromGitHub, fetchurl, lib, melpaBuild, popup, s }:
     melpaBuild {
         pname = "dumb-jump";
-        version = "20180225.1541";
+        version = "20180323.1942";
         src = fetchFromGitHub {
           owner = "jacktasia";
           repo = "dumb-jump";
-          rev = "65b9a3aea2bb212cc83d2f9414d0897331278000";
-          sha256 = "14g99l038f29wh66ybfi99nvk1niqkk613j0rz7hkw9l0y912m2k";
+          rev = "9e4090ac9108da9a794194b831dc6226998c623b";
+          sha256 = "1hablgysv2a2jlwnp7hgxglraznbc992ikd3myxfspqr3f6rzm9q";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/dumb-jump";
@@ -15917,22 +15918,22 @@
           license = lib.licenses.free;
         };
       }) {};
-    e2ansi = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    e2ansi = callPackage ({ face-explorer, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "e2ansi";
-        version = "20150220.1513";
+        version = "20180403.1215";
         src = fetchFromGitHub {
           owner = "Lindydancer";
           repo = "e2ansi";
-          rev = "bd047d3d6ad02a0679582d5786afe9aee656da90";
-          sha256 = "0d18kdpw4zfbq4bkqh19cf42xlinxqa71lr2d994phaxqxqq195w";
+          rev = "f886e687d50ff58063a92d40623f2400fa913af0";
+          sha256 = "0wg16hdmhbhll0ffp2hrqmr12ddai2s6gql52q6pz9k3lw6v0d5m";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/5e655a3fdfae80ea120cdb2ce84dd4fd36f9a71e/recipes/e2ansi";
           sha256 = "0ns1sldipx5kyqpi0bw79kdmhi1ry5glwxfzfx8r01hbbkf0cc94";
           name = "e2ansi";
         };
-        packageRequires = [];
+        packageRequires = [ face-explorer ];
         meta = {
           homepage = "https://melpa.org/#/e2ansi";
           license = lib.licenses.free;
@@ -16109,12 +16110,12 @@
     eacl = callPackage ({ emacs, fetchFromGitHub, fetchurl, ivy, lib, melpaBuild }:
     melpaBuild {
         pname = "eacl";
-        version = "20180204.1911";
+        version = "20180308.1656";
         src = fetchFromGitHub {
           owner = "redguardtoo";
           repo = "eacl";
-          rev = "0e4d4e016caedbfed8dea0e700a33a043e798029";
-          sha256 = "06dcv3ws91ldld3qjpbpp5j7jnjp0s8ng6g7w8wj0rspjbcb2dg5";
+          rev = "80113a9f6cc246cef67e3e20ec052788c38ab116";
+          sha256 = "1pwppn0m288d6j9b7cdshgc3rxv0nfs94klc1fpsyfxqx0a6f23z";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/8223bec7eed97f0bad300af9caa4c8207322d39a/recipes/eacl";
@@ -16169,22 +16170,22 @@
           license = lib.licenses.free;
         };
       }) {};
-    easy-hugo = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    easy-hugo = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, popup }:
     melpaBuild {
         pname = "easy-hugo";
-        version = "20180225.2153";
+        version = "20180416.749";
         src = fetchFromGitHub {
           owner = "masasam";
           repo = "emacs-easy-hugo";
-          rev = "336fb8ec510c10596d65bfd50f65b59e2f7711e9";
-          sha256 = "1bkd3q8lr9admpipad1vi42gvs1sv7l7rzgi6dhl799zq1691kd3";
+          rev = "b01585991ca1885e9cf10dc41481116feb091c89";
+          sha256 = "1nac2al4hi4lcarj325957jgkkfgfkgpw6mzmbcqzqvy02r2v7g4";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/easy-hugo";
           sha256 = "1m7iw6njxxsk82agyqay277iql578b3wz6z9wjs8ls30ps8s2b8g";
           name = "easy-hugo";
         };
-        packageRequires = [ emacs ];
+        packageRequires = [ emacs popup ];
         meta = {
           homepage = "https://melpa.org/#/easy-hugo";
           license = lib.licenses.free;
@@ -16193,12 +16194,12 @@
     easy-jekyll = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "easy-jekyll";
-        version = "20180108.559";
+        version = "20180416.811";
         src = fetchFromGitHub {
           owner = "masasam";
           repo = "emacs-easy-jekyll";
-          rev = "b3176d34f1e2850ab96795e264da6e05e23e280b";
-          sha256 = "175by3aswpd00lhin69f2jkb1aqi487vzk3qa6wqp41hjpga6fag";
+          rev = "670c289d7dabc9e991ba78cdde17fb659f23eb50";
+          sha256 = "1myqhny6v5xdz55xi1ayfash5r3ihkyy2cykwhjkrpp339695bxf";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/c3f281145bad12c27bdbef32ccc07b6a5f13b577/recipes/easy-jekyll";
@@ -16281,8 +16282,8 @@
         src = fetchFromGitHub {
           owner = "mrkkrp";
           repo = "ebal";
-          rev = "b7e5f2c730036197cfa7d819006b91b4dcc2efba";
-          sha256 = "0zbcx5ksf02kv7vavdnixblb8xk3zipwp5nrlyxyshmksw7qg3wh";
+          rev = "1740118125ae7aa6ba82d36e1fe0e69065a6fcaa";
+          sha256 = "1i5r8m34zf7ya1kzgm8hsx707phq5smf2x6y2a1ykbnfkk39gmbf";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/629aa451162a0085488caad4052a56366b7ce392/recipes/ebal";
@@ -16319,12 +16320,12 @@
     ebib = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, parsebib, seq }:
     melpaBuild {
         pname = "ebib";
-        version = "20180213.531";
+        version = "20180416.350";
         src = fetchFromGitHub {
           owner = "joostkremers";
           repo = "ebib";
-          rev = "cbad0a51d7905712201d83e9f4f52a7bb047652f";
-          sha256 = "1jmg63q4msy83nr0xzivay9n8nv48kawqj5jxlfq83fwkvnk1szm";
+          rev = "22709d2b5e973b321dc8412f9a26acb156a076e1";
+          sha256 = "1xh7gmshn1ra027pqbvc06qxjs49ijby0kiz37qdqz7rvq2xgl6n";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/4e39cd8e8b4f61c04fa967def6a653bb22f45f5b/recipes/ebib";
@@ -16743,8 +16744,8 @@
         src = fetchFromGitHub {
           owner = "stsquad";
           repo = "emacs_chrome";
-          rev = "f01f5775760d73a8b0975d8caf009c3b1e7b2229";
-          sha256 = "1rri1h1ilhmyspp8krbqh2qz4f4wigmxk8kwvg39pr4mmma3dz4f";
+          rev = "e1f86b4ff0b8b872a121287bde4875a7c3c4f8e2";
+          sha256 = "0vxahv098bh3bk8iphj7nvvajf31mc5yr9l1fzs127qvy2x62b0v";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/d98d69008b5ca8b92fa7a6045b9d1af86f269386/recipes/edit-server";
@@ -16781,12 +16782,12 @@
     editorconfig = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "editorconfig";
-        version = "20180211.2028";
+        version = "20180408.2210";
         src = fetchFromGitHub {
           owner = "editorconfig";
           repo = "editorconfig-emacs";
-          rev = "f52d2133f3948221ba84a396c693eff958fc0eb9";
-          sha256 = "1ml9hgsyndzn03bz4a81yhalfg34mk5il56kqv4bhqkwjkl1axm7";
+          rev = "35e94de8223c407901548989cf4c9547ba692ffa";
+          sha256 = "16d8njpvcsc845mbjyzjskkdgbvcy7m4lvy87sl14fznb12fims6";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/50d4f2ed288ef38153a7eab44c036e4f075b51d0/recipes/editorconfig";
@@ -16982,8 +16983,8 @@
         src = fetchFromGitHub {
           owner = "egisatoshi";
           repo = "egison3";
-          rev = "a41addef812318bb6bc0a693ce3a22606f27a3cf";
-          sha256 = "1303m6d53qdkv3j7bx708ipvrjb4mjdj1b58600x8471bddamgh3";
+          rev = "2f8f744bd0a8d1c307922c6636f1c337d45a55bc";
+          sha256 = "1ds0fxi12z3cls0wavyq5anw2jfhmc2a6mx3g4mnxfr39sjr4q2r";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/f543dd136e2af6c36b12073ea75b3c4d4bc79769/recipes/egison-mode";
@@ -16999,12 +17000,12 @@
     ego = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, ht, htmlize, lib, melpaBuild, mustache, org, simple-httpd }:
     melpaBuild {
         pname = "ego";
-        version = "20180123.2256";
+        version = "20180228.1704";
         src = fetchFromGitHub {
           owner = "emacs-china";
           repo = "EGO";
-          rev = "ec91e8234e2b8fbfd37b6135dfda352a923c556e";
-          sha256 = "1m98zkmyy1bbcz7jpa15in9kdgskl3l498q7a9vxpr8w2scq3cls";
+          rev = "719809679c1a60887735db41abae53b61f08ef59";
+          sha256 = "10f179kl53la4dyikzl1xysccx4gk04skzwaw3w1pgr8f5fjppxc";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/ego";
@@ -17019,11 +17020,11 @@
       }) {};
     eide = callPackage ({ fetchgit, fetchurl, lib, melpaBuild }: melpaBuild {
         pname = "eide";
-        version = "20171229.1435";
+        version = "20180330.1330";
         src = fetchgit {
           url = "https://git.tuxfamily.org/eide/emacs-ide.git";
-          rev = "faae6f1384826d18f70b28826dc528d70e91a5c9";
-          sha256 = "02hylmgs6il59kkq59i9lpdg9gdirpb2y37xzybh7n5lqyzdafai";
+          rev = "4023c7b19ed75e0e2a58af7b737aff23589ab6f9";
+          sha256 = "0j3gdsnk64xnk028rrc3ngyzjrzsyafpdg1kxnf1p10jrig6pwyy";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/34b70a5616e27ff9904a2803c86e049acfe9b26d/recipes/eide";
@@ -17060,12 +17061,12 @@
     ein = callPackage ({ auto-complete, cl-generic, dash, deferred, fetchFromGitHub, fetchurl, lib, melpaBuild, request, request-deferred, s, skewer-mode, websocket }:
     melpaBuild {
         pname = "ein";
-        version = "20180226.416";
+        version = "20180414.1838";
         src = fetchFromGitHub {
           owner = "millejoh";
           repo = "emacs-ipython-notebook";
-          rev = "7a52ebca3527d891ecb7e8a3e46785b271717acc";
-          sha256 = "01ifzww8gs4qy9yrhhf5dm0s3ifrlppknvllkajfp6lh9hc7q4cx";
+          rev = "ed4ae8006ca58c39c5e09925fb51c0f3529cb199";
+          sha256 = "0clww9329ysipdby8d3qwkx7pmrls075j0kpsqw3h8mm9hb48wgj";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/215e163755fe391ce1f049622e7b9bf9a8aea95a/recipes/ein";
@@ -17133,12 +17134,12 @@
     ejc-sql = callPackage ({ auto-complete, clomacs, dash, direx, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, spinner }:
     melpaBuild {
         pname = "ejc-sql";
-        version = "20180215.627";
+        version = "20180328.623";
         src = fetchFromGitHub {
           owner = "kostafey";
           repo = "ejc-sql";
-          rev = "ef19d5e33b632d776e9e369281c522e26e632384";
-          sha256 = "1q8gh79rfcn4v8ps4z3a0s60qr5nf9j93p0mkq0fdll57h2y6cbz";
+          rev = "dac78aa9fd1979a0c6caccbe3698cad5f0e32d9f";
+          sha256 = "099lkldwxnw7ghpj42z07i1bv7jz8438xq7mv4vz6s2d6qwc07lq";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/8f2cd74717269ef7f10362077a91546723a72104/recipes/ejc-sql";
@@ -17179,8 +17180,8 @@
         src = fetchFromGitHub {
           owner = "dimitri";
           repo = "el-get";
-          rev = "129789cef476279a7840647a5bf39aa5cd2bc2f6";
-          sha256 = "0b20s3bc92jwi4xl2fralj0ffdj1zvagbmnsp2dw5cj94dhm33p1";
+          rev = "e065feaa545087dd49f690a838237fe6239b00f6";
+          sha256 = "18hd7x3rk335r8ps1mpg1lpymywaswpg3w2s3m36khd56m3vd4yf";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/1c61197a2b616d6d3c6b652248cb166196846b44/recipes/el-get";
@@ -17427,12 +17428,12 @@
     el2org = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "el2org";
-        version = "20180216.2005";
+        version = "20180311.855";
         src = fetchFromGitHub {
           owner = "tumashu";
           repo = "el2org";
-          rev = "742b2e4de42026edbff20dfcc6f63200c1d0ad40";
-          sha256 = "0ji8ngf6zzhhq2vhn9i04dpgg1sgqcs0vzq7wdyfl9cfa0cpwlps";
+          rev = "81f1c97db8911f5bdf92c729630ab509de4ec73f";
+          sha256 = "152y6a6qjch2w84axghzcqiswhx1cq5bq1r1gjfffh41wsddqb53";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/el2org";
@@ -17448,12 +17449,12 @@
     elbank = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, seq }:
     melpaBuild {
         pname = "elbank";
-        version = "20180215.556";
+        version = "20180316.627";
         src = fetchFromGitHub {
           owner = "NicolasPetton";
           repo = "Elbank";
-          rev = "f494716105b1a9f4f52f43bc3dd37c9cd0309bf5";
-          sha256 = "0bvx6nq0gjjbjs0mzd1x1ajyjpa181z0n4kv4aknh3is210gbpbb";
+          rev = "28143b3076f2ac64a9db84a53e9af0ad43fe4322";
+          sha256 = "0gdhdq3g34m1jqpq4m12pbf70sl5jrmj8wbakj36vh540p12f0ph";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/05d252ee84adae2adc88fd325540f76b6cdaf010/recipes/elbank";
@@ -17490,12 +17491,12 @@
     elcord = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "elcord";
-        version = "20180203.1417";
+        version = "20180411.1207";
         src = fetchFromGitHub {
           owner = "Mstrodl";
           repo = "elcord";
-          rev = "a97824ead7c63fb114a9f34ed46a8401407fb4ea";
-          sha256 = "12mjmdr5kwmgpihnc943widbbw5pcp0gw1mcjf06v4lh0fpihk7h";
+          rev = "0cef4ca13b00d79507292d5591be8ffb7df5a9ca";
+          sha256 = "1571r8iwrf4dagjr2pv7dgs1i0f20nq6jdkxm2dlwvkblcnlx3fm";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/cf2c52366a8f60b68a33a40ea92cc96e7f0933d2/recipes/elcord";
@@ -17574,12 +17575,12 @@
     electric-operator = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, names }:
     melpaBuild {
         pname = "electric-operator";
-        version = "20180204.1405";
+        version = "20180322.506";
         src = fetchFromGitHub {
           owner = "davidshepherd7";
           repo = "electric-operator";
-          rev = "478a976db3ea764f9c88c3302fb3bea1ab41f1ca";
-          sha256 = "08qzi8wvlf64xfhhndnmr9xksk3n9whzvjqaikf5kz1jrygncnrp";
+          rev = "d47149a8027907b67dfe4787a53b247be34ad4cb";
+          sha256 = "0ipzhmv105621lhwjm7dvc12ap38hcg62z8z805czn6yinw6wydg";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/906cdf8647524bb76f644373cf8b65397d9053a5/recipes/electric-operator";
@@ -17728,12 +17729,12 @@
     elfeed-protocol = callPackage ({ cl-lib ? null, elfeed, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "elfeed-protocol";
-        version = "20180204.2003";
+        version = "20180409.813";
         src = fetchFromGitHub {
           owner = "fasheng";
           repo = "elfeed-protocol";
-          rev = "e809a0f1c5b9713ec8d1932fa6412c57bc10150b";
-          sha256 = "0ly7g9a85r5vm8fr45km43vdl9jbzdqyiy9a7d95wx63p6aip7vs";
+          rev = "611a1f57373e3692abf5122652ea7f6f96d3f6ec";
+          sha256 = "0z9xij39p6m2855ksk40qaf830d04smhl3ag9gjb4fhzvw671k76";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/3f1eef8add7cd2cfefe6fad6d8e69d65696e9677/recipes/elfeed-protocol";
@@ -17767,6 +17768,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    elgrep = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "elgrep";
+        version = "20180302.527";
+        src = fetchFromGitHub {
+          owner = "TobiasZawada";
+          repo = "elgrep";
+          rev = "5e982024250e75fe02aee358a542ae3ed2a472d5";
+          sha256 = "0bkiay3mmk00lay2cv91qmas346ffhb2nlrg6xw083s5vk45fbbv";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/0d9ab623b2d634936a79ff6f4b98b31825d44b6d/recipes/elgrep";
+          sha256 = "0b8dma52zv57sh1jbrabfy6k5lzixs7f541s8dsqyrg0fzlq460j";
+          name = "elgrep";
+        };
+        packageRequires = [ emacs ];
+        meta = {
+          homepage = "https://melpa.org/#/elgrep";
+          license = lib.licenses.free;
+        };
+      }) {};
     elhome = callPackage ({ fetchFromGitHub, fetchurl, initsplit, lib, melpaBuild }:
     melpaBuild {
         pname = "elhome";
@@ -17788,6 +17810,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    elisp-def = callPackage ({ dash, emacs, f, fetchFromGitHub, fetchurl, lib, melpaBuild, s }:
+    melpaBuild {
+        pname = "elisp-def";
+        version = "20180410.224";
+        src = fetchFromGitHub {
+          owner = "Wilfred";
+          repo = "elisp-def";
+          rev = "ff0730b8110f776862b29bf0b66e396fab2aaafb";
+          sha256 = "1zdbb1mgmb8hkzsmp6l4mv61831bw8ybfsfcwalnvrw5fvfwpaik";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/1f027b844efdc5946d2ad80d7052a8f3b96aac3d/recipes/elisp-def";
+          sha256 = "1y29nsgjv9nb03g0jc5hb1a8k23r54ivdlv9h0a384cig8i91hsz";
+          name = "elisp-def";
+        };
+        packageRequires = [ dash emacs f s ];
+        meta = {
+          homepage = "https://melpa.org/#/elisp-def";
+          license = lib.licenses.free;
+        };
+      }) {};
     elisp-depend = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "elisp-depend";
@@ -17875,12 +17918,12 @@
     elisp-refs = callPackage ({ dash, fetchFromGitHub, fetchurl, lib, loop, melpaBuild, s }:
     melpaBuild {
         pname = "elisp-refs";
-        version = "20180111.1431";
+        version = "20180331.1206";
         src = fetchFromGitHub {
           owner = "Wilfred";
           repo = "refs.el";
-          rev = "eee751a6120f925cdffcfbb6a4545e599b953e94";
-          sha256 = "01gckl8fwmwr5kp1qy4dcmvm7dh4677brwjy4xpqwhiq094fw9b1";
+          rev = "788f6f65d5171b1887b3ff9e4cad900e8046b2b1";
+          sha256 = "0c7hcbjqynw6k5idpmfxn6xbr192ahhk8a2g72npap97flpw6cdq";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/60891099e241ebd32d39bdcfe4953529a5a3263e/recipes/elisp-refs";
@@ -18190,12 +18233,12 @@
     elpa-mirror = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "elpa-mirror";
-        version = "20180113.2321";
+        version = "20180228.1636";
         src = fetchFromGitHub {
           owner = "redguardtoo";
           repo = "elpa-mirror";
-          rev = "3fedb1ca6f84cdbfc27723d6906b67a0e2ca2972";
-          sha256 = "087sa553aqyphrdrn8clb8pjl609aw3qkmim47hvnq8npzvhhr0l";
+          rev = "6ca78e3fb69ef582da1a01f1d193e07ae8223142";
+          sha256 = "0s0c5qqg1cl63kig7kc4fx9rz4kgchxc3w3ywgh5csmgwlkpg0id";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/d64ce7042c45f29fb394be25ce415912182bac8b/recipes/elpa-mirror";
@@ -18211,12 +18254,12 @@
     elpy = callPackage ({ company, emacs, fetchFromGitHub, fetchurl, find-file-in-project, highlight-indentation, lib, melpaBuild, pyvenv, s, yasnippet }:
     melpaBuild {
         pname = "elpy";
-        version = "20180223.1119";
+        version = "20180415.1232";
         src = fetchFromGitHub {
           owner = "jorgenschaefer";
           repo = "elpy";
-          rev = "0c51b0d3aede3e3e3d2107ea86d133c669220948";
-          sha256 = "1404r7al2rndy2nqfgdm2iw37mn2dr9hb51fr5f0l0w34mhfhyji";
+          rev = "911d1c58df1c0ff9ce8057d07b13c06759f2e0e4";
+          sha256 = "0cyk2467gcxz0vf63p0db9y6rij9hb7251lv6s054mzy3kbcn7zm";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/1d8fcd8745bb15402c9f3b6f4573ea151415237a/recipes/elpy";
@@ -18279,22 +18322,22 @@
           license = lib.licenses.free;
         };
       }) {};
-    elscreen = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    elscreen = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "elscreen";
-        version = "20160613.251";
+        version = "20180320.1902";
         src = fetchFromGitHub {
           owner = "knu";
           repo = "elscreen";
-          rev = "35c68a7503179fa618639e1c90b43bec9812a988";
-          sha256 = "0gvhnhcchrzlj0kbi48rzmqx2nz68d5lyp7f8jk0lbbbdrdv36ka";
+          rev = "02164afab2c5fbff6e4aa7c59e0daedc6c504772";
+          sha256 = "1jzp7w2c9xl8x8kdxcchgp8s3ygvj70pi2vwwg1qilkya7yv61p0";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/e6140694c1dea0a573586d23d1f63d46c9b22936/recipes/elscreen";
           sha256 = "1mlqbw14ilk6d3ba38kfw50pnlhb9f6sm5hy9dw58gp59siark5s";
           name = "elscreen";
         };
-        packageRequires = [];
+        packageRequires = [ emacs ];
         meta = {
           homepage = "https://melpa.org/#/elscreen";
           license = lib.licenses.free;
@@ -18450,12 +18493,12 @@
     elx = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "elx";
-        version = "20180202.958";
+        version = "20180324.936";
         src = fetchFromGitHub {
           owner = "emacscollective";
           repo = "elx";
-          rev = "99840665f3ffff36633d52b9970352fc523434a6";
-          sha256 = "0hfpbfvk2f20sy1gia77aw7ndyxpc268bk4n2n6zlfb4j9jcp2sf";
+          rev = "cf1000f5d214363fe545a4ce849166194b8fb2c8";
+          sha256 = "0k62qcmhav7pshrn1f55sar6lz37l26aqaqlkkd20h60fhbqp9aj";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/57a2fb9524df3fdfdc54c403112e12bd70888b23/recipes/elx";
@@ -18828,11 +18871,11 @@
     emms = callPackage ({ cl-lib ? null, fetchgit, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "emms";
-        version = "20180217.1219";
+        version = "20180412.639";
         src = fetchgit {
           url = "https://git.savannah.gnu.org/git/emms.git";
-          rev = "0459003a1686b5742e660d08e7c936d1b06e8e7c";
-          sha256 = "1gym522bhxbip4vfg0lxkpjnb00nb4rh08xdmz33r71rclh4vrkv";
+          rev = "9b7b50a89bc4f9df7f9edd6e939508288f0ffa9b";
+          sha256 = "0v271gk6q77zs0gdp9asbqd8alrn6ifxzzjkqb3hd4xdafv35sf3";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/caaa21f235c4864f6008fb454d0a970a2fd22a86/recipes/emms";
@@ -18932,12 +18975,12 @@
     emms-player-mpv = callPackage ({ emms, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "emms-player-mpv";
-        version = "20180210.310";
+        version = "20180415.1958";
         src = fetchFromGitHub {
           owner = "dochang";
           repo = "emms-player-mpv";
-          rev = "6d526fe618c3cebf7fbc5f0d3f0a225de16a76c7";
-          sha256 = "0jq67lngpz7iqwqfsl95r5p26cnnq7ldcj534nm86hwm6jfij564";
+          rev = "c7efefd0b41fa910436a91eb3bca4db3a85ad940";
+          sha256 = "0h40nhrzndzhdq3ra8bzqg3gczbmjf010n0nan6dril427qvxdjw";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/9679cb8d4b3b9dce1e0bff16647ea3f3e02c4189/recipes/emms-player-mpv";
@@ -18953,12 +18996,12 @@
     emms-player-mpv-jp-radios = callPackage ({ cl-lib ? null, emacs, emms, emms-player-simple-mpv, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "emms-player-mpv-jp-radios";
-        version = "20171211.609";
+        version = "20180325.417";
         src = fetchFromGitHub {
           owner = "momomo5717";
           repo = "emms-player-mpv-jp-radios";
-          rev = "686be9b27537bdc7987f1ab0525393208bfc480b";
-          sha256 = "0c53mbl53ii0h64a1vdvskm29wjr7v1ms54ax5d588bv4c67wsms";
+          rev = "f6b37f5878c741124d5fca43c5b80af873541edd";
+          sha256 = "1sxzh1bhdwln7kcn07agayyhmgyrbmmhgc3f85336xybc6ljpqs8";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/09ba6da5057061f055d4a3212d167f9666618d4f/recipes/emms-player-mpv-jp-radios";
@@ -18974,12 +19017,12 @@
     emms-player-simple-mpv = callPackage ({ cl-lib ? null, emacs, emms, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "emms-player-simple-mpv";
-        version = "20170930.2216";
+        version = "20180316.849";
         src = fetchFromGitHub {
           owner = "momomo5717";
           repo = "emms-player-simple-mpv";
-          rev = "1af7838037c86872e897bea872d279ff080c28c6";
-          sha256 = "1xgkpw89pyn4p37l5rz9dw8yg065slzq8l5z69n6nam9hndcnjsh";
+          rev = "101d120ccdee1c2c213fd2f0423c858b21649c00";
+          sha256 = "1i6rxkm0ra0jbkkwgkwxg3vk5xfl794h1gkgnlpscynz0v94b6ll";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/emms-player-simple-mpv";
@@ -19121,12 +19164,12 @@
     emojify = callPackage ({ emacs, fetchFromGitHub, fetchurl, ht, lib, melpaBuild, seq }:
     melpaBuild {
         pname = "emojify";
-        version = "20180128.607";
+        version = "20180320.1933";
         src = fetchFromGitHub {
           owner = "iqbalansari";
           repo = "emacs-emojify";
-          rev = "8d89c10a5eb975544f8475261e758de390d141ba";
-          sha256 = "1aa9kvfq6vh5rjwg5hif9lc7c886893f9ayl5nqgpxcdjvlpnvc9";
+          rev = "a86afc14e20ec7287c2b37f5b64318c209c9bbd3";
+          sha256 = "08z699ycyidm2c1yi0zhrg6nhhdf3gqx3yi6h9z4n61ns0irg8r5";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/488d2751b5fd3bf00f5a6f0545530f44563b86d7/recipes/emojify";
@@ -19259,12 +19302,12 @@
     engine-mode = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "engine-mode";
-        version = "20170812.2007";
+        version = "20180401.946";
         src = fetchFromGitHub {
           owner = "hrs";
           repo = "engine-mode";
-          rev = "408932727bb723017eaf6338e50cb6d1266b8df8";
-          sha256 = "1wl172ldmdw6gcdzbbf7dln7m55112kq42jzs42xbihm0v1x8xlb";
+          rev = "fd5a235b2c93b95143d676e6b654e388d7cdd956";
+          sha256 = "0lynwd7s1mjppynh8424qk30jzcr384wvr21bqy6ylsxs19kqg0w";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/ea1b5dfb6628cf17e77369f25341835aad425f54/recipes/engine-mode";
@@ -19280,12 +19323,12 @@
     enh-ruby-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "enh-ruby-mode";
-        version = "20180123.1835";
+        version = "20180403.1251";
         src = fetchFromGitHub {
           owner = "zenspider";
           repo = "enhanced-ruby-mode";
-          rev = "989f7191078c8c1c46921167f5f96119fad930a5";
-          sha256 = "167b34cgp5f7nfrcp9jn8phzs125jx8mkbni8yshfb5i2mf7g0ml";
+          rev = "fd50e71913e4dc714f71020701ab398a18b524b6";
+          sha256 = "0al8bbhfjxqh40hkpiaziz5vsfy2m5saj7wcvs6xivz1ph5ass0b";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/cd1ac1ce69b77b11f34c4175611a852e7ec0806c/recipes/enh-ruby-mode";
@@ -19364,12 +19407,12 @@
     ensime = callPackage ({ company, dash, fetchFromGitHub, fetchurl, lib, melpaBuild, popup, s, sbt-mode, scala-mode, yasnippet }:
     melpaBuild {
         pname = "ensime";
-        version = "20180201.1340";
+        version = "20180320.230";
         src = fetchFromGitHub {
           owner = "ensime";
           repo = "ensime-emacs";
-          rev = "2819a9c2ae2bc6d095887c2cbb6f9bd8617f1e52";
-          sha256 = "1cfr9xs268nwjjhx7n00h5sssm479bzd5f7c847hg6x2hyqkfzxb";
+          rev = "4ee365c35a34a41c31c262d4360132037461a60a";
+          sha256 = "0919ifs4xm7s7axpjrlb6ymv5xy647pbfczw03z0xwm5gx7fmra3";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/502faab70af713f50dd8952be4f7a5131075e78e/recipes/ensime";
@@ -19477,12 +19520,12 @@
     epkg = callPackage ({ closql, dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "epkg";
-        version = "20180221.1318";
+        version = "20180318.1221";
         src = fetchFromGitHub {
           owner = "emacscollective";
           repo = "epkg";
-          rev = "5d0bf705ccb617fafe28f2748d566d2a990aba06";
-          sha256 = "1igiwnvl3w907hz83x8hwf298wdv86s5c54zs4naw1pbi875j7zw";
+          rev = "432312b9583ed7b88ad9644fd1bf2183765a892e";
+          sha256 = "0d882kahn7a0vri7a9r15lvmfx1zn2hsga6jfcc6jv0hqbswlb2k";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/2df16abf56e53d4a1cc267a78797419520ff8a1c/recipes/epkg";
@@ -19582,12 +19625,12 @@
     eproject = callPackage ({ fetchFromGitHub, fetchurl, helm, lib, melpaBuild }:
     melpaBuild {
         pname = "eproject";
-        version = "20151205.2130";
+        version = "20180312.942";
         src = fetchFromGitHub {
           owner = "jrockway";
           repo = "eproject";
-          rev = "fdff000d601eb8bdb165db3dc4925c6797308b78";
-          sha256 = "13ds5z2nvanx8cvxrzi0da6ixx7kw222z6mrlbs8cldqcmzm7xh2";
+          rev = "068218d2cf2138cb2e8fc29b57e773a0097a7e8b";
+          sha256 = "110b8gn47m5kafmvxr8q9zzrj0pdn6ikw9xsx4z1rc58i02jy307";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/d7e82668617a9b599f8994c720f3f123ba1e008a/recipes/eproject";
@@ -19665,12 +19708,12 @@
     erc-hl-nicks = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "erc-hl-nicks";
-        version = "20160202.1150";
+        version = "20180415.1246";
         src = fetchFromGitHub {
           owner = "leathekd";
           repo = "erc-hl-nicks";
-          rev = "be181920ce6af0ab5d00d1c638e4e598b3998643";
-          sha256 = "1k0g3bwp3w0dd6zwdv6k2wpqs2krjayilrzsr1hli649ljcx55d7";
+          rev = "756c4438a8245ccd3e389bf6c9850ee8453783ec";
+          sha256 = "0c82rxpl5v7bbxirf1ksg06xv5xcddh8nkrpj7i6nvfarwdfnk4f";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/erc-hl-nicks";
@@ -19686,12 +19729,12 @@
     erc-image = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "erc-image";
-        version = "20180206.941";
+        version = "20180407.1545";
         src = fetchFromGitHub {
           owner = "kidd";
           repo = "erc-image.el";
-          rev = "9f4d7b93a3c7e12ac935b50943177923a8c01d22";
-          sha256 = "0dd2v91rp3lai10258bszpd9wsa1lvx08xspsnijv64axh73yf7r";
+          rev = "4ad26a06c8faf106172a0f8e472c677adca60542";
+          sha256 = "0280pijlnm071c2lh9z55w1xzgphfjq4zbl29r7igscy7q5dc60z";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/erc-image";
@@ -20043,12 +20086,12 @@
     erlang = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "erlang";
-        version = "20171219.305";
+        version = "20180323.612";
         src = fetchFromGitHub {
           owner = "erlang";
           repo = "otp";
-          rev = "1c7938bc9539f1c06b5493ced9f265e05a4824af";
-          sha256 = "0vrrxh4ngbmsr2iaw5hqr0xf43vnbqghql2sm9ffm0zh6snd4kag";
+          rev = "40dc6b9fed7d51a204e0d69b7bba7e8cb6496ae5";
+          sha256 = "1ndzx4alfwc437d4j0bifgc0pignxs0nvwp4i2fdrpljcf0x0nxa";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/d9cd526f43981e0826af59cdc4bb702f644781d9/recipes/erlang";
@@ -20064,12 +20107,12 @@
     eros = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "eros";
-        version = "20161221.826";
+        version = "20180414.2318";
         src = fetchFromGitHub {
           owner = "xiongtx";
           repo = "eros";
-          rev = "a42e45c9b2397156c684330b0fc90ee0eba773f5";
-          sha256 = "0whlsq90v13fz69k3wjrwcwb9gkpfxqjd75mg3nrp85j9nwhb5i4";
+          rev = "dd8910279226259e100dab798b073a52f9b4233a";
+          sha256 = "08chj3a0lw4ygi2sv7wj0i6ihfbi8jhylr8p92inif8b88r6wg3k";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/eros";
@@ -20127,11 +20170,11 @@
     ert-junit = callPackage ({ ert ? null, fetchgit, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "ert-junit";
-        version = "20180208.935";
+        version = "20180407.1243";
         src = fetchgit {
           url = "https://bitbucket.org/olanilsson/ert-junit";
-          rev = "b335d7fb84d6af381a5dbc40c324078faf397b66";
-          sha256 = "0nbpqhpff3my4ndsf148iqgnl84ilsbq6na5jnn3nddyhbmidcxb";
+          rev = "8d7d703332e3a41bfc59de44fa8832435ff1633b";
+          sha256 = "1mbbv18pviirf220wjzfjlig8i3jwcl1bpv5awzvyzg2lm3h1nbc";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/27c627eacab54896a1363dbabc56250a65343dd8/recipes/ert-junit";
@@ -20252,12 +20295,12 @@
     esa = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "esa";
-        version = "20170427.845";
+        version = "20180403.825";
         src = fetchFromGitHub {
           owner = "nabinno";
           repo = "esa.el";
-          rev = "8bd011cd1861113f54ad155d3c62725e1dcd37e7";
-          sha256 = "1a5mrz3m0gy5r7dcw31s488jgfhrp4axcnsmma40q2x3harp0hsk";
+          rev = "417e0ac55abe9b17e0b7165d0df26bc018aff42e";
+          sha256 = "0hib8q9fslvw02i1y19z78fv6yy88q09lhfdfmbdyn6yal21855q";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/esa";
@@ -20270,27 +20313,6 @@
           license = lib.licenses.free;
         };
       }) {};
-    escreen = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
-    melpaBuild {
-        pname = "escreen";
-        version = "20170613.1534";
-        src = fetchFromGitHub {
-          owner = "emacsmirror";
-          repo = "escreen";
-          rev = "153dc05b2b7e6e2d4cbd7b6cbe8b10d6a70f73f3";
-          sha256 = "0xz3dkvgrbgv91dxgdfcir9zld5qsqpzrmp4q6fxqa548advn9ak";
-        };
-        recipeFile = fetchurl {
-          url = "https://raw.githubusercontent.com/milkypostman/melpa/c64c21a42fd8436bd60e490980ad4ed824b212d1/recipes/escreen";
-          sha256 = "0yis27362jc63jkzdndz1wpysmf1b51rrbv3swvi6b36da5i6b54";
-          name = "escreen";
-        };
-        packageRequires = [];
-        meta = {
-          homepage = "https://melpa.org/#/escreen";
-          license = lib.licenses.free;
-        };
-      }) {};
     esh-autosuggest = callPackage ({ company, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "esh-autosuggest";
@@ -20567,12 +20589,12 @@
     eslintd-fix = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "eslintd-fix";
-        version = "20171128.453";
+        version = "20180407.911";
         src = fetchFromGitHub {
           owner = "aaronjensen";
           repo = "eslintd-fix";
-          rev = "3efb041c9ad0116e745efaede7f7972bc2179a72";
-          sha256 = "16siwr2d930kifdhzgbyiszphp6i5ggbyi76ya6gkzy6wh1s9b56";
+          rev = "97e8aa9b106e3e4b3a44c775ca972bdd2feda9ec";
+          sha256 = "1g6bv58m1052x2f5ffs17ryyqv0ay8vii5bwqs7dyfhlpppsn6c8";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/c72d2b3ee9b8066d51d09e165e58e9846ca879cc/recipes/eslintd-fix";
@@ -20672,12 +20694,12 @@
     ess = callPackage ({ fetchFromGitHub, fetchurl, julia-mode, lib, melpaBuild }:
     melpaBuild {
         pname = "ess";
-        version = "20180216.1616";
+        version = "20180416.631";
         src = fetchFromGitHub {
           owner = "emacs-ess";
           repo = "ESS";
-          rev = "f10792493602cb5c77a7010b1b4c7063c7c41add";
-          sha256 = "03spbyi24gpmw7wlf0aifg0aa793sm0s1lxk9xw2lm974rj0g6w7";
+          rev = "27b55440d15ff532da86dfae6d030e76d1e6d518";
+          sha256 = "1sjnky11lhmiqcqrmdfi8xaf40jlm43kzbnviq031apwfxrvifi5";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/12997b9e2407d782b3d2fcd2843f7c8b22442c0a/recipes/ess";
@@ -20777,12 +20799,12 @@
     esup = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "esup";
-        version = "20180226.254";
+        version = "20180325.2152";
         src = fetchFromGitHub {
           owner = "jschaf";
           repo = "esup";
-          rev = "d4db4f3023afff4321cd3f99be75ad44e77cd0b0";
-          sha256 = "1z8ban35vrkibr07awfg6z4cy79irjiz6hchcyid94l6iifbwf0y";
+          rev = "fb061cf49bea47ba80090775d93388dc9b1b495e";
+          sha256 = "1ygn927d71dxh07si38ii48l4myg42vb7xl09nbbz9c0df4m8q0a";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/b9d2948a42da5d4864404d2d11a924a4f235fc3b/recipes/esup";
@@ -20840,12 +20862,12 @@
     eterm-256color = callPackage ({ emacs, f, fetchFromGitHub, fetchurl, lib, melpaBuild, xterm-color }:
     melpaBuild {
         pname = "eterm-256color";
-        version = "20180202.1722";
+        version = "20180308.1615";
         src = fetchFromGitHub {
           owner = "dieggsy";
           repo = "eterm-256color";
-          rev = "72b2d650a173c39648f1cb0f2b68fab5a6886d79";
-          sha256 = "15vj55l71v9yzl7cw4yw7lc71045xa3y6q0hn8a5pmakmb6fiwdf";
+          rev = "dab96af559deb443c4c9c00e23389926e1607192";
+          sha256 = "0ysxblc90kjcz84siprnyxwh94scflivqbxylzkvjm7hbx93rsh1";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/e556383f7e18c0215111aa720d4653465e91eff6/recipes/eterm-256color";
@@ -21029,12 +21051,12 @@
     evil = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, goto-chg, lib, melpaBuild, undo-tree }:
     melpaBuild {
         pname = "evil";
-        version = "20180222.1032";
+        version = "20180408.1423";
         src = fetchFromGitHub {
           owner = "emacs-evil";
           repo = "evil";
-          rev = "3bf198796b2d135776143eac854e8d855cd94475";
-          sha256 = "0bzmq988x9734dxgjli70r9dpa3kagbz43md79zr32q4z96rj4y4";
+          rev = "49ebf2dce325bc7fe0941dc4112226c291ff9670";
+          sha256 = "0vjbyh77d4z9ahk0w8fmb4fdd98hq19ijy11b1y4n029yl1yrwvr";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/440482c0edac8ee8bd4fe22f6bc5c1607f34c7ad/recipes/evil";
@@ -21173,22 +21195,22 @@
           license = lib.licenses.free;
         };
       }) {};
-    evil-collection = callPackage ({ emacs, evil, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    evil-collection = callPackage ({ cl-lib ? null, emacs, evil, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "evil-collection";
-        version = "20180226.21";
+        version = "20180416.146";
         src = fetchFromGitHub {
-          owner = "jojojames";
+          owner = "emacs-evil";
           repo = "evil-collection";
-          rev = "7adf05cf25b022197c0542920ddc65acdae1703e";
-          sha256 = "1cxsi0aqm2fd344q6nlahhg0q2bf4k6gagi6sxsvjlhwvb80skxq";
+          rev = "aca031a7f313d4380a1dbaa2158a9908a2ce9415";
+          sha256 = "1mzgi8bdd767g6xfkznpm5v8gjx8wp99drlxggi0vgp1rm3zslsz";
         };
         recipeFile = fetchurl {
-          url = "https://raw.githubusercontent.com/milkypostman/melpa/d7538c9eb00b6826867891b037e7aa537ac5b160/recipes/evil-collection";
-          sha256 = "0wxx6x9lxlnxaa3i36gj4nad3q8c25mbw17bp4aa0agh43yk4bgn";
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/a9b93a8e3750e4e7767498e418f46d553d814604/recipes/evil-collection";
+          sha256 = "1fggdlssb8sai00vbrxph8cama3r0f7w8qhmiajj4cy2il7jgmhy";
           name = "evil-collection";
         };
-        packageRequires = [ emacs evil ];
+        packageRequires = [ cl-lib emacs evil ];
         meta = {
           homepage = "https://melpa.org/#/evil-collection";
           license = lib.licenses.free;
@@ -21344,12 +21366,12 @@
     evil-expat = callPackage ({ emacs, evil, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "evil-expat";
-        version = "20171125.752";
+        version = "20180302.657";
         src = fetchFromGitHub {
           owner = "edkolev";
           repo = "evil-expat";
-          rev = "ff443637fc514813ed3139d99950391189a9360a";
-          sha256 = "1w1yj0avg54gl7a143ib3rszi0a6arrvcb3s8j5pjr4hs7sy9jbd";
+          rev = "523edb0d1fd6ad17b777c1893cbe1f4857469a4d";
+          sha256 = "10irfd546pz0sz0ckfms1md37ni44p7i12imii5ck13hga7grv7i";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/f08f6396e66479eb9510727968c5bb01ac239476/recipes/evil-expat";
@@ -21428,12 +21450,12 @@
     evil-goggles = callPackage ({ emacs, evil, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "evil-goggles";
-        version = "20180210.938";
+        version = "20180414.2306";
         src = fetchFromGitHub {
           owner = "edkolev";
           repo = "evil-goggles";
-          rev = "deab4966d75321a9172947ee5cdf2329eb2c5a6b";
-          sha256 = "1b4w40x23kbzry80d4rxxynasmrkbry9jj5jkc4l4rcj8lk3vbbi";
+          rev = "bc318ad4b7711837c21405d49a0ce4097f3a70a9";
+          sha256 = "0vy6skhp6skr3hvkc0dzfn1dridwzybjm9mg2h90srvg76c8966p";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/811b1261705b4c525e165fa9ee23ae191727a623/recipes/evil-goggles";
@@ -21617,12 +21639,12 @@
     evil-magit = callPackage ({ evil, fetchFromGitHub, fetchurl, lib, magit, melpaBuild }:
     melpaBuild {
         pname = "evil-magit";
-        version = "20171213.1019";
+        version = "20180410.804";
         src = fetchFromGitHub {
           owner = "emacs-evil";
           repo = "evil-magit";
-          rev = "4cdfbcd13075869c238b2253a64668736a16880e";
-          sha256 = "148k9ssq8arlvkvacjxwpyg3g8i961ab6wcgg92jmxwl7ir853yf";
+          rev = "9bd91561e7d0bfe3198d0860bae1785a543f2eee";
+          sha256 = "1jhna9lyic4c28kcdhbqid6gyv9gawznf2ga470vnfnyghd4f757";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/50315ec837d2951bf5b2bb75809a35dd7ffc8fe8/recipes/evil-magit";
@@ -21659,12 +21681,12 @@
     evil-matchit = callPackage ({ evil, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "evil-matchit";
-        version = "20180131.502";
+        version = "20180328.2351";
         src = fetchFromGitHub {
           owner = "redguardtoo";
           repo = "evil-matchit";
-          rev = "20270ab6b0a3a398942609f7acc3d0162b954591";
-          sha256 = "0vnaplchyl1z9d8fhrc83157a6d97dgwdja4y0nm7bkgm1jqgbdc";
+          rev = "51d8b268e597693aa9d02f2dda66840562998621";
+          sha256 = "1b1iymyb2f8913xgzr13pslqcvhwyyl3370kjs43acpbgnhn2zzj";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/aeab4a998bffbc784e8fb23927d348540baf9951/recipes/evil-matchit";
@@ -21743,12 +21765,12 @@
     evil-multiedit = callPackage ({ cl-lib ? null, emacs, evil, fetchFromGitHub, fetchurl, iedit, lib, melpaBuild }:
     melpaBuild {
         pname = "evil-multiedit";
-        version = "20171217.2317";
+        version = "20180209.1819";
         src = fetchFromGitHub {
           owner = "hlissner";
           repo = "evil-multiedit";
-          rev = "adcadd09c9f628a65d73a140c37b649c3415a3cd";
-          sha256 = "1iz0hd0h4y9crqwbq7ysnkgvwqhd9vcjcca8hk2506cks8sab73q";
+          rev = "ea3d9177b74ab0bc65e55df9cc0a0b42e4ef815d";
+          sha256 = "17zm35r474z8ras4xy7124pcb972d385pbdv4jxyj5vq042vq07w";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/997f5a6999d1add57fae33ba8eb3e3bc60d7bb56/recipes/evil-multiedit";
@@ -21761,22 +21783,22 @@
           license = lib.licenses.free;
         };
       }) {};
-    evil-nerd-commenter = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    evil-nerd-commenter = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "evil-nerd-commenter";
-        version = "20171206.441";
+        version = "20180411.640";
         src = fetchFromGitHub {
           owner = "redguardtoo";
           repo = "evil-nerd-commenter";
-          rev = "41d43709210711c07de69497c5f7db646b7e7a96";
-          sha256 = "04xjbsgydfb3mi2jg5fkkvp0rvjpx3mdx8anxzjqzdry7nir3m14";
+          rev = "34d411715ead5829d6d8969511047feb703b067e";
+          sha256 = "0ax846dy2hbrbvkj7nzfkcl5i1x9rga8bvg0ln55ivhq0iiy1lkv";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a3e1ff69e7cc95a5b5d628524ad836833f4ee736/recipes/evil-nerd-commenter";
           sha256 = "1pa5gh065hqn5mhs47qvjllwdwwafl0clk555mb6w7svq58r6i8d";
           name = "evil-nerd-commenter";
         };
-        packageRequires = [];
+        packageRequires = [ emacs ];
         meta = {
           homepage = "https://melpa.org/#/evil-nerd-commenter";
           license = lib.licenses.free;
@@ -21827,12 +21849,12 @@
     evil-org = callPackage ({ emacs, evil, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "evil-org";
-        version = "20180116.1347";
+        version = "20180323.1606";
         src = fetchFromGitHub {
           owner = "Somelauw";
           repo = "evil-org-mode";
-          rev = "491b0b302b95d44ceb73d291dedbb9d5517ccee2";
-          sha256 = "04lyp4z0vr8imjwrqc88d1pdpl86wgwn19vzl6256yl63xaipvf2";
+          rev = "b6d652a9163d3430a9e0933a554bdbee5244bbf6";
+          sha256 = "176hrw7y7nczffbyhsa167b8rvfacsmcafm2gpkrdjqlrikbmrhl";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/1768558ed0a0249421437b66fe45018dd768e637/recipes/evil-org";
@@ -21911,12 +21933,12 @@
     evil-replace-with-char = callPackage ({ emacs, evil, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "evil-replace-with-char";
-        version = "20171223.906";
+        version = "20180324.1506";
         src = fetchFromGitHub {
           owner = "ninrod";
           repo = "evil-replace-with-char";
-          rev = "b08293f380ca8809ef12df572d37f977bed0ae52";
-          sha256 = "05d505scnmhplaqrcj7fpb107bfgh4zpxrrq942nn035yw07yjjx";
+          rev = "ed4a12d5bff11163eb03ad2826c52fd30f51a8d3";
+          sha256 = "1nhnwl39wsi7akzcjqszxxw2b6j9i5y4qabcd8p387zajjpgscwk";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/0ac1b487e0fe193cc46c8b489686972ed6db3973/recipes/evil-replace-with-char";
@@ -22016,12 +22038,12 @@
     evil-snipe = callPackage ({ cl-lib ? null, emacs, evil, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "evil-snipe";
-        version = "20170903.603";
+        version = "20180317.233";
         src = fetchFromGitHub {
           owner = "hlissner";
           repo = "evil-snipe";
-          rev = "69adb46546a871beb54a445cb22652ac276555c1";
-          sha256 = "1g6whd2zg880wxxyn269q4b0697aybj1lc936gi7nrxvm6fnaiwc";
+          rev = "37ca9749bf5604040e745d65143cb0667f052542";
+          sha256 = "172zqf7qmdhyhlj48nxyxpn0cnqb9v045536sf6gfvcrv81wps0c";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/6748f3febbe2f098761e967b4dc67791186d0aa7/recipes/evil-snipe";
@@ -22058,12 +22080,12 @@
     evil-string-inflection = callPackage ({ emacs, evil, fetchFromGitHub, fetchurl, lib, melpaBuild, string-inflection }:
     melpaBuild {
         pname = "evil-string-inflection";
-        version = "20171225.1815";
+        version = "20180313.1055";
         src = fetchFromGitHub {
           owner = "ninrod";
           repo = "evil-string-inflection";
-          rev = "f13a4aab75e5d50c0c63c126c4cbc0067d452d85";
-          sha256 = "1i4vc8iqyhswa77awczgqi1vqaxx8png5is1hwisxf0j9ydsgw4c";
+          rev = "00b62fb82de36e9c7b44bd644c7e11ae88f35f62";
+          sha256 = "0f24722vl3sqri389hi6qj7hhfalqpjvyq4ain5hhr0gsx2dznw4";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/0720a0f5b775fcee8d1cfa0defe80048e2dd0972/recipes/evil-string-inflection";
@@ -22167,8 +22189,8 @@
         src = fetchFromGitHub {
           owner = "emacs-evil";
           repo = "evil";
-          rev = "3bf198796b2d135776143eac854e8d855cd94475";
-          sha256 = "0bzmq988x9734dxgjli70r9dpa3kagbz43md79zr32q4z96rj4y4";
+          rev = "49ebf2dce325bc7fe0941dc4112226c291ff9670";
+          sha256 = "0vjbyh77d4z9ahk0w8fmb4fdd98hq19ijy11b1y4n029yl1yrwvr";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/87da8c50f9167ad9c3844b23becb6904f809611d/recipes/evil-test-helpers";
@@ -22433,22 +22455,22 @@
           license = lib.licenses.free;
         };
       }) {};
-    exato = callPackage ({ evil, fetchFromGitHub, fetchurl, lib, melpaBuild, thingatpt-plus }:
+    exato = callPackage ({ emacs, evil, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "exato";
-        version = "20171127.1736";
+        version = "20180305.242";
         src = fetchFromGitHub {
           owner = "ninrod";
           repo = "exato";
-          rev = "5b709c128680d4dc5ac4c11253eab94a1e38bcbc";
-          sha256 = "0ins7z1a3np7h7l2n7syhj10hm01v0gxn0m8kzjim59x57l0l3wb";
+          rev = "88266fa7fcfbef704032f671b94f756f2f98bd4f";
+          sha256 = "0nmm7pvs81429a4zpal6aidfd1n58yavv3skscrav5r0wnlbz773";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/939efbcb9b40a2df5ef14e653fb242a8e37c72f9/recipes/exato";
           sha256 = "1h2dd3yhv1n0sznznw8ncx98g53hgi1rg1zkd0nmldih2rd5qisn";
           name = "exato";
         };
-        packageRequires = [ evil thingatpt-plus ];
+        packageRequires = [ emacs evil ];
         meta = {
           homepage = "https://melpa.org/#/exato";
           license = lib.licenses.free;
@@ -22457,12 +22479,12 @@
     exec-path-from-shell = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "exec-path-from-shell";
-        version = "20180224.1916";
+        version = "20180323.1904";
         src = fetchFromGitHub {
           owner = "purcell";
           repo = "exec-path-from-shell";
-          rev = "885b3de9bb6365771dd09f5267f6ff843d5109e8";
-          sha256 = "0x5a0v4z5hgvi7biwbsbxw9l8in0gxwrz77g9vffz9djvlr70r1h";
+          rev = "54ea2f9c3c81d18b96e4d33c4c547e02eee420dc";
+          sha256 = "193d9wf8x1cl1q5bzpdm9508a37m6nwlsjzn2mxbiqkb8p9psj73";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/exec-path-from-shell";
@@ -22687,12 +22709,12 @@
     exwm-x = callPackage ({ bind-key, cl-lib ? null, counsel, exwm, fetchFromGitHub, fetchurl, ivy, lib, melpaBuild, swiper, switch-window }:
     melpaBuild {
         pname = "exwm-x";
-        version = "20180225.1531";
+        version = "20180227.257";
         src = fetchFromGitHub {
           owner = "tumashu";
           repo = "exwm-x";
-          rev = "d26d719d95b3b3296e113d89ef36972312610f4e";
-          sha256 = "0n0b7gxamizmkm2gz1ghyg36i7wvy5ims63nzjgwhbrc3ifig6cn";
+          rev = "4f7946db67d6599baba6b3961e8f543a68707742";
+          sha256 = "00lcn5106xig2y9gyir1f1gzyp2i05rwq1lbbbah8aipkdi3z9xl";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a0e6e23bcffdcd1e17c70599c563609050e5de40/recipes/exwm-x";
@@ -22779,12 +22801,12 @@
     eziam-theme = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "eziam-theme";
-        version = "20180208.628";
+        version = "20180414.329";
         src = fetchFromGitHub {
           owner = "thblt";
           repo = "eziam-theme-emacs";
-          rev = "8891dc05b54c0ea848ee3bf7b42e759f73c1bb1a";
-          sha256 = "1wi1qqzf630ffz0kkk12f81jmm8ii7cckf1wds3phpb67msn5ial";
+          rev = "96595833110cd64c391e0ccd5230782a8f0a4e08";
+          sha256 = "0nvwgxlrbfhchb7z2qnw1lj66xpzn2b6yb6mhx0k31xdfr173wch";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/4e0411583bd4fdbe425eb07de98851136fa1eeb0/recipes/eziam-theme";
@@ -22926,12 +22948,12 @@
     faff-theme = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "faff-theme";
-        version = "20170522.1219";
+        version = "20180322.1005";
         src = fetchFromGitHub {
           owner = "WJCFerguson";
           repo = "emacs-faff-theme";
-          rev = "e79dc142d99bc5a455a46345d3aba6f95f3f3f42";
-          sha256 = "0j5vdbwwpav09v3kkx7cn5qd41inam0jd7smx8133hqpnirsh8mv";
+          rev = "d123161586397fb74a928bb1b22e2b507f1beed5";
+          sha256 = "136gq45c0w0c3i0fzk3js67z8p7r9k81d31s48flpsb982bf7nfz";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/0b35c169fe56a5612ff5a4242140f617fdcae14f/recipes/faff-theme";
@@ -23219,12 +23241,12 @@
     feebleline = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "feebleline";
-        version = "20180202.1420";
+        version = "20180322.1401";
         src = fetchFromGitHub {
           owner = "tautologyclub";
           repo = "feebleline";
-          rev = "c6a8a955c0f441d4b4663fabd5cecdc92235b74b";
-          sha256 = "09g67mkschca2vp73263xm5zf48831zfxlyyfcmkjpsvrgm83ii2";
+          rev = "56cd8fe336b619840991dc66d9cca973ddd8500c";
+          sha256 = "0p8d31942c3xlymjm2r9qppr07c8vg0842f87lzqh84sc3z7r5ql";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/782295d8c530878bd0e20cde7e7f7f8f640953dd/recipes/feebleline";
@@ -23340,6 +23362,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    fill-function-arguments = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "fill-function-arguments";
+        version = "20180331.1023";
+        src = fetchFromGitHub {
+          owner = "davidshepherd7";
+          repo = "fill-function-arguments";
+          rev = "50ea2e4ec943993f54ef72a5deccd62dad5bb7a4";
+          sha256 = "0s6kw87p1w3xwk354lbj5br07x0l63x3dcgfcxcvmy7k820f0iq6";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/b78eab67517b19516e5d265018afcbff0acfa9ec/recipes/fill-function-arguments";
+          sha256 = "1gigzzz2csl3a55jmjx391a5k3ymixnwpblsn0pfgkkk4p3674q0";
+          name = "fill-function-arguments";
+        };
+        packageRequires = [ emacs ];
+        meta = {
+          homepage = "https://melpa.org/#/fill-function-arguments";
+          license = lib.licenses.free;
+        };
+      }) {};
     fillcode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "fillcode";
@@ -23406,12 +23449,12 @@
     find-file-in-project = callPackage ({ emacs, fetchFromGitHub, fetchurl, ivy, lib, melpaBuild }:
     melpaBuild {
         pname = "find-file-in-project";
-        version = "20180224.2103";
+        version = "20180405.713";
         src = fetchFromGitHub {
           owner = "technomancy";
           repo = "find-file-in-project";
-          rev = "aba912a73d1f3fcff0d184b49008a2fa1655ad7e";
-          sha256 = "145n04lid9alrm8nl6gfnll75jz1ssli48pbsc9zyva00ryk83my";
+          rev = "5691beb79f78c6a0ef1a18460df9fd1571ec3361";
+          sha256 = "0mvli1r7ml596y6v9qsip76j78f58q6jnwb18j8c7rngsrg08rc4";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/cae2ac3513e371a256be0f1a7468e38e686c2487/recipes/find-file-in-project";
@@ -23658,12 +23701,12 @@
     fish-completion = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "fish-completion";
-        version = "20171209.508";
+        version = "20180329.2137";
         src = fetchFromGitHub {
           owner = "Ambrevar";
           repo = "emacs-fish-completion";
-          rev = "12e5db70b5efe7a3cd37e8fd25eb526d08007aac";
-          sha256 = "0p06rahi66fa3i2gfkf6nzf7hnysdpz475d5dib2wps7labfh9qd";
+          rev = "3e3ed1f19fa778b7c35ad88e033dce5a6b1fc153";
+          sha256 = "1zi5cgzwy1wkvc8352s3l24p4i4fh87f9pyir6jji3hy424pm6w4";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/832bae268cd08d7ebfd4b7a8d0570af8549cdbd6/recipes/fish-completion";
@@ -23679,12 +23722,12 @@
     fish-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "fish-mode";
-        version = "20180117.1847";
+        version = "20180306.818";
         src = fetchFromGitHub {
           owner = "wwwjfy";
           repo = "emacs-fish";
-          rev = "276db7de3c86411fbe3117f30272c5882b24a69e";
-          sha256 = "04srqfndhm6f190l7jfcswhd84xkw6vi09s6kv8bjwrk8iiy3qm9";
+          rev = "bac709ac1235751952d6022dddc6307d9135d096";
+          sha256 = "0a74ghmjjrxfdhk4mvq6lar4w6l6lc4iilabs99smqr2fn5rsslq";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/efac97c0f54a3300251020c4626056526c18b441/recipes/fish-mode";
@@ -23788,6 +23831,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    flame = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "flame";
+        version = "20180303.1216";
+        src = fetchFromGitHub {
+          owner = "mschuldt";
+          repo = "flame";
+          rev = "a749b2a77b87e505572d0f1f5d59fac76348bb73";
+          sha256 = "1l9jbzavyi75li64jqfs000s1m8iw9xvsv8mg0bw1div6bc7vq7s";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/b7a14c14368de722855286c088020a5657f7cf8b/recipes/flame";
+          sha256 = "1br9c48anscq9vbssr0gq8f5kbq755hjaglbljwwh9nd5riycv5v";
+          name = "flame";
+        };
+        packageRequires = [ emacs ];
+        meta = {
+          homepage = "https://melpa.org/#/flame";
+          license = lib.licenses.free;
+        };
+      }) {};
     flappymacs = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "flappymacs";
@@ -23979,12 +24043,12 @@
     flim = callPackage ({ apel, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "flim";
-        version = "20180118.522";
+        version = "20180328.1624";
         src = fetchFromGitHub {
           owner = "wanderlust";
           repo = "flim";
-          rev = "e969ab24f729835b6f8dd71d57cee1aff345f959";
-          sha256 = "1gs3f2dvqh0pfc2mdz00l66wm4hsl2qb7pz29r5yfzjbk5inwqry";
+          rev = "faaa2b1f2bb8fcf835ddfb8981654e4d3b2bdbc6";
+          sha256 = "0hr4qi5vhq3ravgky95k2n7hin97jln7fmkgbx45fcyiz8jbpz2z";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/94faf56ff9bf94f51ef5253e4c4244faec5eecfd/recipes/flim";
@@ -24063,12 +24127,12 @@
     flow-minor-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "flow-minor-mode";
-        version = "20180204.141";
+        version = "20180315.1124";
         src = fetchFromGitHub {
           owner = "an-sh";
           repo = "flow-minor-mode";
-          rev = "9a90436f9208a8f4796ce0d5b08f9d1ba5dbbacf";
-          sha256 = "012q3rdzg5zrqwx5ywq07h8bzpvv0lnldkv4p1wxlr9yzxxhrv4a";
+          rev = "6c782a3fe3f810484009d87813b88804beafafac";
+          sha256 = "1awf44fyjwzlxjavk31lha8iknm8nxr2r6z07sxhzyy23ff127mh";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/66504f789069922ea56f268f4da90fac52b601ff/recipes/flow-minor-mode";
@@ -24084,12 +24148,12 @@
     flower = callPackage ({ clomacs, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "flower";
-        version = "20180222.1112";
+        version = "20180316.1052";
         src = fetchFromGitHub {
           owner = "PositiveTechnologies";
           repo = "flower";
-          rev = "6a9ba9f25daecfb994b8d71afbf9ab0cc9de5349";
-          sha256 = "1i95nqbcqm0gld74g5r42wwpsgdlv8fjalr8kgcn09wzg4glpvrk";
+          rev = "98c53b03da698833058b9ad6b6eb8be46cfd00f6";
+          sha256 = "08wq66gvqy14mcpm8x14xz3hvw4h7rcd5ivynma91d4358qrmqap";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/c8a731715d360aea9af2b898242fd4eee5419d14/recipes/flower";
@@ -24130,8 +24194,8 @@
         src = fetchFromGitHub {
           owner = "lewang";
           repo = "flx";
-          rev = "9c5cb5de0202b4eaac9359c84ca7ce9cbd7ee835";
-          sha256 = "0i7pj4l0ilihvkgal8d71idy5jr9zwanzxch350pg4myr6j1hnad";
+          rev = "46040d0b096a0340d91235561f27a959a61d0fef";
+          sha256 = "0zysqnxa6kgnyfgknsin7pk25a8dy8208qw2yzan93cabplgqszy";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/63bdf3ae2f861e333a8f9c5997f5cc52869d3b3a/recipes/flx";
@@ -24151,8 +24215,8 @@
         src = fetchFromGitHub {
           owner = "lewang";
           repo = "flx";
-          rev = "9c5cb5de0202b4eaac9359c84ca7ce9cbd7ee835";
-          sha256 = "0i7pj4l0ilihvkgal8d71idy5jr9zwanzxch350pg4myr6j1hnad";
+          rev = "46040d0b096a0340d91235561f27a959a61d0fef";
+          sha256 = "0zysqnxa6kgnyfgknsin7pk25a8dy8208qw2yzan93cabplgqszy";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/63bdf3ae2f861e333a8f9c5997f5cc52869d3b3a/recipes/flx-ido";
@@ -24189,12 +24253,12 @@
     flycheck = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, let-alist, lib, melpaBuild, pkg-info, seq }:
     melpaBuild {
         pname = "flycheck";
-        version = "20180224.1046";
+        version = "20180415.1527";
         src = fetchFromGitHub {
           owner = "flycheck";
           repo = "flycheck";
-          rev = "b0edfef87457a13118450969696a68505cce936d";
-          sha256 = "146v50nl2a4ryd7p9lpavah01idlsjg3ff1pb0bnblprrs9sg0fw";
+          rev = "1eecec814debc6994b1aa8b6760cbfbbdf71e219";
+          sha256 = "1in3sanhyd0cmivq7c5xxqpb5frzq77zp7rdyyki9pczpf9yv58a";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/649f9c3576e81409ae396606798035173cc6669f/recipes/flycheck";
@@ -24483,12 +24547,12 @@
     flycheck-crystal = callPackage ({ fetchFromGitHub, fetchurl, flycheck, lib, melpaBuild }:
     melpaBuild {
         pname = "flycheck-crystal";
-        version = "20171124.740";
+        version = "20180306.1821";
         src = fetchFromGitHub {
           owner = "crystal-lang-tools";
           repo = "emacs-crystal-mode";
-          rev = "0fe6815201bebe4c5ff6857bd541d95b05132b10";
-          sha256 = "0r75dvc0jqcqi1qjns8zj132dnm0s6mvqlqynkis16nigbawix8m";
+          rev = "490f213c17e67ac28e7de19a0cfa62652d44b5de";
+          sha256 = "0isz91ikwc5175y9a984j8j9nmli0qf2j0shljk576ywlybiy00a";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/c718f809af30226611358f9aaed7519e52923fd3/recipes/flycheck-crystal";
@@ -24672,12 +24736,12 @@
     flycheck-dmd-dub = callPackage ({ f, fetchFromGitHub, fetchurl, flycheck, lib, melpaBuild }:
     melpaBuild {
         pname = "flycheck-dmd-dub";
-        version = "20180220.15";
+        version = "20180321.1546";
         src = fetchFromGitHub {
           owner = "atilaneves";
           repo = "flycheck-dmd-dub";
-          rev = "3d378a59492c810842b7c72506d2037bf70b8545";
-          sha256 = "0y8iqyml27sx2d765w2hhbyrdx0alaqvj5ls8x1zf53xfwv88x3z";
+          rev = "995132ced9c0e4464a36c4435ae8248c23fc0511";
+          sha256 = "0k0dlbpz3vys373cng2gqlpbzlzbls9dl613rxvnba8d8ndz7ri4";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a812594901c1099283bdf51fbea1aa077cfc588d/recipes/flycheck-dmd-dub";
@@ -24711,6 +24775,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    flycheck-dtrace = callPackage ({ emacs, fetchFromGitHub, fetchurl, flycheck, lib, melpaBuild }:
+    melpaBuild {
+        pname = "flycheck-dtrace";
+        version = "20180126.1135";
+        src = fetchFromGitHub {
+          owner = "juergenhoetzel";
+          repo = "flycheck-dtrace";
+          rev = "a328c38aea855c0fd02f901c141c100c24b27d7f";
+          sha256 = "1cl50ckvjjgx9m7p7fpijk61mw737qigbh9glm5b3slmgkyfq2mq";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/cdcdd10fbcd58a5c67e4d07632212e7dedf42dbe/recipes/flycheck-dtrace";
+          sha256 = "14sg7zkq9f5zbcfn8app8m9mdc8cnwcxh7h4glsz32yaqc1dj7h8";
+          name = "flycheck-dtrace";
+        };
+        packageRequires = [ emacs flycheck ];
+        meta = {
+          homepage = "https://melpa.org/#/flycheck-dtrace";
+          license = lib.licenses.free;
+        };
+      }) {};
     flycheck-elixir = callPackage ({ fetchFromGitHub, fetchurl, flycheck, lib, melpaBuild }:
     melpaBuild {
         pname = "flycheck-elixir";
@@ -24840,12 +24925,12 @@
     flycheck-gradle = callPackage ({ emacs, fetchFromGitHub, fetchurl, flycheck, lib, melpaBuild }:
     melpaBuild {
         pname = "flycheck-gradle";
-        version = "20180121.2251";
+        version = "20180403.33";
         src = fetchFromGitHub {
           owner = "jojojames";
           repo = "flycheck-gradle";
-          rev = "f8c7ec0abdd77f35c5a9a653f8a80acea717b014";
-          sha256 = "11lsk5mw2fkx81vd9r2xychh4nwadi516mpg8hr0ibh154p4ql6z";
+          rev = "a14b45183e50993e8b28a4c57ad5db82b789faef";
+          sha256 = "1n3i0fh0rvy29gykqamxayfbbv5jy3h6l375pw4ckydcqlp0dgxk";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/382d9afd2bbb0c137719c308a67d185b86d84331/recipes/flycheck-gradle";
@@ -24861,12 +24946,12 @@
     flycheck-haskell = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, flycheck, haskell-mode, let-alist, lib, melpaBuild, seq }:
     melpaBuild {
         pname = "flycheck-haskell";
-        version = "20180209.1357";
+        version = "20180321.1340";
         src = fetchFromGitHub {
           owner = "flycheck";
           repo = "flycheck-haskell";
-          rev = "cbc4a54c0bb9ab0b9559a1e2b7eb1c02c2f38f14";
-          sha256 = "1kxcc12vrxbcpc8wjf9srczlhqjqs8nxdi8z01zd7d5fxcafikwh";
+          rev = "ef91cfd2766724adf6dd48f7d1dfaeed46dde570";
+          sha256 = "0qv2kzplqpnhgalqibb7ligsbxanv07wjjb5cshlsn2l0dimq4w7";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/6ca601613788ae830655e148a222625035195f55/recipes/flycheck-haskell";
@@ -24942,6 +25027,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    flycheck-jest = callPackage ({ emacs, fetchFromGitHub, fetchurl, flycheck, lib, melpaBuild }:
+    melpaBuild {
+        pname = "flycheck-jest";
+        version = "20180410.2028";
+        src = fetchFromGitHub {
+          owner = "jojojames";
+          repo = "flycheck-jest";
+          rev = "08f27c5ed97c83c445f99fab58f0b6c826f14449";
+          sha256 = "1ipr1yyk5vf2i8q7923r18a216sgf759x5f6j5776jcjkhp98c98";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/31e2ac9de5f28ee9d847097cdeb60afa99476a51/recipes/flycheck-jest";
+          sha256 = "19dg8v0xzni7x6zn472n4ach1c1jv4syzarfi8ba8r6n26vz9ss4";
+          name = "flycheck-jest";
+        };
+        packageRequires = [ emacs flycheck ];
+        meta = {
+          homepage = "https://melpa.org/#/flycheck-jest";
+          license = lib.licenses.free;
+        };
+      }) {};
     flycheck-joker = callPackage ({ fetchFromGitHub, fetchurl, flycheck, lib, melpaBuild }:
     melpaBuild {
         pname = "flycheck-joker";
@@ -25197,12 +25303,12 @@
     flycheck-objc-clang = callPackage ({ emacs, fetchFromGitHub, fetchurl, flycheck, lib, melpaBuild }:
     melpaBuild {
         pname = "flycheck-objc-clang";
-        version = "20171231.453";
+        version = "20180410.422";
         src = fetchFromGitHub {
           owner = "GyazSquare";
           repo = "flycheck-objc-clang";
-          rev = "07f17d1dbe878fdcabac791a8916ddf643571a68";
-          sha256 = "03624xn6g1ybcjw634c7nd5s2yllwfffk2gzn5hm70vfz06q7wb9";
+          rev = "f4a76ac199b67ff383ab5e70434c9b98b48c92d5";
+          sha256 = "0ryanx4vmy9jwqjnwvma6dm136y4fh227cyhz206km6595bbn3nc";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/4ff4412f507371b93cfb85fc744e54110cd87338/recipes/flycheck-objc-clang";
@@ -25383,6 +25489,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    flycheck-posframe = callPackage ({ emacs, fetchFromGitHub, fetchurl, flycheck, lib, melpaBuild, posframe }:
+    melpaBuild {
+        pname = "flycheck-posframe";
+        version = "20180321.2307";
+        src = fetchFromGitHub {
+          owner = "alexmurray";
+          repo = "flycheck-posframe";
+          rev = "61bdfd4b04e1651163fdcaa7dc631ad073b3e513";
+          sha256 = "1r5cwmrszp5cvzlcc4dyhajxd0zrgxjpc0arhr2jkw1fc3d611x9";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/124f2a7833e3386a0bf57c8111d782ae7a7ee02e/recipes/flycheck-posframe";
+          sha256 = "02ym2isn761w2nsfxiqjh0jk4md9wy3hk9na2aw7pyycm5cgmfwp";
+          name = "flycheck-posframe";
+        };
+        packageRequires = [ emacs flycheck posframe ];
+        meta = {
+          homepage = "https://melpa.org/#/flycheck-posframe";
+          license = lib.licenses.free;
+        };
+      }) {};
     flycheck-purescript = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, flycheck, let-alist, lib, melpaBuild, seq }:
     melpaBuild {
         pname = "flycheck-purescript";
@@ -25407,12 +25534,12 @@
     flycheck-pycheckers = callPackage ({ fetchFromGitHub, fetchurl, flycheck, lib, melpaBuild }:
     melpaBuild {
         pname = "flycheck-pycheckers";
-        version = "20171207.1754";
+        version = "20180402.1039";
         src = fetchFromGitHub {
           owner = "msherry";
           repo = "flycheck-pycheckers";
-          rev = "41e676931f37ba32652edde727e443e304e7e6ee";
-          sha256 = "118y7r06cmvas5g2nypabslfch3g5wlzl3p69ynmpfsmbrlclsz1";
+          rev = "facb6e6cff7baaf38cf4e76a3e27a508225fc3f7";
+          sha256 = "061iahihq348ncbx9zh8ihca6j2fkc1nygk5f7v2q4j2g7kmfv8n";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/af36dca316b318d25d65c9e842f15f736e19ea63/recipes/flycheck-pycheckers";
@@ -25474,8 +25601,8 @@
         src = fetchFromGitHub {
           owner = "Andersbakken";
           repo = "rtags";
-          rev = "4f27c1cc60742622e6616b579c82b5440ad446d3";
-          sha256 = "08310vkd7gyfc9jcis7r5dfdb6spilxw1kf7p8vm078v8hmmjyj0";
+          rev = "4747d5b695bee40c3b0a2e3591ac8897571edd66";
+          sha256 = "1qy71bx8nki73mqslw54hq5bn1asz5qg1b2848nrsj8zb2yd85x5";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/3dea16daf0d72188c8b4043534f0833fe9b04e07/recipes/flycheck-rtags";
@@ -25491,12 +25618,12 @@
     flycheck-rust = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, flycheck, let-alist, lib, melpaBuild, seq }:
     melpaBuild {
         pname = "flycheck-rust";
-        version = "20171021.151";
+        version = "20180327.945";
         src = fetchFromGitHub {
           owner = "flycheck";
           repo = "flycheck-rust";
-          rev = "962f18603c45e3f9a84d059886c7d13178cbf31e";
-          sha256 = "0c3lnfj1z27q1pyhfzwxh26ska1wvcnmqmdzpc6zps72prjfdknd";
+          rev = "a722204cff5bffe26b8f127c7003cfc9ed00e34b";
+          sha256 = "1z0zkf4dxkma6qz83ysyhbfvr0sg2cwxvsapc9j9l1x9nskybv2g";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/68d8cdf3d225b13ebbbe5ce81a01366f33266aed/recipes/flycheck-rust";
@@ -25533,12 +25660,12 @@
     flycheck-status-emoji = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, flycheck, let-alist, lib, melpaBuild }:
     melpaBuild {
         pname = "flycheck-status-emoji";
-        version = "20180210.1000";
+        version = "20180330.1625";
         src = fetchFromGitHub {
           owner = "liblit";
           repo = "flycheck-status-emoji";
-          rev = "ca3d3993cd30d8881dabebd1c540d819967c0212";
-          sha256 = "0nqw77q31k6y0lc5v7ly8vnnyl72k8y0jxj9dclqfiq9ch53y3c3";
+          rev = "61e93ac41847d27b8eea3a334ced2d1783687b77";
+          sha256 = "104zz9fihvd5klzdcaxsdmmfp0q5qisq5bbff48rfwdxnlp8dskr";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/5abd6aaa8d2bf55ae75cd217820763531f91958b/recipes/flycheck-status-emoji";
@@ -25575,12 +25702,12 @@
     flycheck-swift3 = callPackage ({ emacs, fetchFromGitHub, fetchurl, flycheck, lib, melpaBuild }:
     melpaBuild {
         pname = "flycheck-swift3";
-        version = "20171231.452";
+        version = "20180411.652";
         src = fetchFromGitHub {
           owner = "GyazSquare";
           repo = "flycheck-swift3";
-          rev = "34973cd28ca5e63f8f6328a17fd7b78cc913b93d";
-          sha256 = "1iy6j05dzpi7pi87y6rpjzmlnl2s9izqpbzknis2kx9072qddm3q";
+          rev = "06a6f98d7e498860b345bbd03e96bfe59608f508";
+          sha256 = "0h1n4x0fvqfb6jcapbab1ck6bj4d7irbn9zz2hxv2rlrkqxfsmh3";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/f1fb8c731c118327dc0bbb726e046fec46bcfb82/recipes/flycheck-swift3";
@@ -25596,12 +25723,12 @@
     flycheck-swiftlint = callPackage ({ emacs, fetchFromGitHub, fetchurl, flycheck, lib, melpaBuild }:
     melpaBuild {
         pname = "flycheck-swiftlint";
-        version = "20180121.2251";
+        version = "20180312.1656";
         src = fetchFromGitHub {
           owner = "jojojames";
           repo = "flycheck-swiftlint";
-          rev = "fef7fd20cc167790cb29f16de16a8045717e0a18";
-          sha256 = "06m352s5ixxm5wdrkljfk0b2chlqhm8f7bp8c2f2fkcf1l2gvs5q";
+          rev = "8496fd4499ef5c0e0cfeb65f4d76c6f9dd8991f3";
+          sha256 = "0d2s9brccv7lgw2vnglhhaq29mxb3pxiclhx4w28gb76x8r2rsf7";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/7e2a979726507e974a0a19dfc2ca6884157025be/recipes/flycheck-swiftlint";
@@ -25614,6 +25741,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    flycheck-tcl = callPackage ({ emacs, fetchFromGitHub, fetchurl, flycheck, lib, melpaBuild }:
+    melpaBuild {
+        pname = "flycheck-tcl";
+        version = "20180327.559";
+        src = fetchFromGitHub {
+          owner = "nwidger";
+          repo = "flycheck-tcl";
+          rev = "7ca23f4673e178b9f5dcc8a82b86cf05b15d7236";
+          sha256 = "17mmj0yx7d7cwyq35ll1lw4j0yyha172375apvanrkpgpzjpnvrq";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/fafc86df6c15348711f16302bb86c0ee08c08454/recipes/flycheck-tcl";
+          sha256 = "0rmc7rk0n4mgk11jgza1dn1nkjyi7rqs79d3p0cj1081znyj56f3";
+          name = "flycheck-tcl";
+        };
+        packageRequires = [ emacs flycheck ];
+        meta = {
+          homepage = "https://melpa.org/#/flycheck-tcl";
+          license = lib.licenses.free;
+        };
+      }) {};
     flycheck-tip = callPackage ({ emacs, fetchFromGitHub, fetchurl, flycheck, lib, melpaBuild, popup }:
     melpaBuild {
         pname = "flycheck-tip";
@@ -25659,12 +25807,12 @@
     flycheck-vale = callPackage ({ emacs, fetchFromGitHub, fetchurl, flycheck, let-alist, lib, melpaBuild }:
     melpaBuild {
         pname = "flycheck-vale";
-        version = "20170619.2322";
+        version = "20180308.2243";
         src = fetchFromGitHub {
           owner = "abingham";
           repo = "flycheck-vale";
-          rev = "97df981468120aaedeaa4cf8ecfd68b07046d998";
-          sha256 = "1zic9mirz2xi25pcj3d6r9sclambyn9q5dp7v9jvvxqkml3vy88c";
+          rev = "7777e0d4cf961b6ee6ae4ef917636121d18b3ee8";
+          sha256 = "1k0bhyy2r9c79lld7mbhw8n4c1hlzwr5qp5wmcxzya0fnp3s6g9j";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/7693eeb536e601589b49f96d0e2734cd08fad4f2/recipes/flycheck-vale";
@@ -25722,12 +25870,12 @@
     flycheck-yang = callPackage ({ fetchFromGitHub, fetchurl, flycheck, lib, melpaBuild, yang-mode }:
     melpaBuild {
         pname = "flycheck-yang";
-        version = "20170915.1308";
+        version = "20180312.1131";
         src = fetchFromGitHub {
           owner = "andaru";
           repo = "flycheck-yang";
-          rev = "c5f65fe3f710f73d56e04d077868719afc1ebfaf";
-          sha256 = "00w91mif3wnxgj93qag51yyadnfcsyxik96vf91qlfvwh4wi6ii7";
+          rev = "47881fc42ef0163c47064b72b5d6dbef4f83d778";
+          sha256 = "0bkbl1pas44bl6s3xjdb5zjbd6bmfjk39md5ds1ix4wchnkjm3iy";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/e58b4f4294d11424918b399898c0044f5b76ab14/recipes/flycheck-yang";
@@ -26419,8 +26567,8 @@
         src = fetchFromGitHub {
           owner = "d12frosted";
           repo = "flyspell-correct";
-          rev = "a8ac817f7b646d8ba761b64e1b2f65d0a9ebd277";
-          sha256 = "1xqjj4ff811w205f1qs9zd68h6nsbh60pj6mhv2w4kpf3hmmj310";
+          rev = "6a3392859531c36091a656fedcaebc0f995dbca5";
+          sha256 = "138y5zmqwrac0r32z14adz8gs047wlqikn4bzkyl0blnlr1fkhnf";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/fa06fbe3bc40ae5e3f6d10dee93a9d49e9288ba5/recipes/flyspell-correct";
@@ -26440,8 +26588,8 @@
         src = fetchFromGitHub {
           owner = "d12frosted";
           repo = "flyspell-correct";
-          rev = "a8ac817f7b646d8ba761b64e1b2f65d0a9ebd277";
-          sha256 = "1xqjj4ff811w205f1qs9zd68h6nsbh60pj6mhv2w4kpf3hmmj310";
+          rev = "6a3392859531c36091a656fedcaebc0f995dbca5";
+          sha256 = "138y5zmqwrac0r32z14adz8gs047wlqikn4bzkyl0blnlr1fkhnf";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/ef7b9302d8f804c77eb81fee7ed27f13cb1176f6/recipes/flyspell-correct-helm";
@@ -26461,8 +26609,8 @@
         src = fetchFromGitHub {
           owner = "d12frosted";
           repo = "flyspell-correct";
-          rev = "a8ac817f7b646d8ba761b64e1b2f65d0a9ebd277";
-          sha256 = "1xqjj4ff811w205f1qs9zd68h6nsbh60pj6mhv2w4kpf3hmmj310";
+          rev = "6a3392859531c36091a656fedcaebc0f995dbca5";
+          sha256 = "138y5zmqwrac0r32z14adz8gs047wlqikn4bzkyl0blnlr1fkhnf";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/ef7b9302d8f804c77eb81fee7ed27f13cb1176f6/recipes/flyspell-correct-ivy";
@@ -26482,8 +26630,8 @@
         src = fetchFromGitHub {
           owner = "d12frosted";
           repo = "flyspell-correct";
-          rev = "a8ac817f7b646d8ba761b64e1b2f65d0a9ebd277";
-          sha256 = "1xqjj4ff811w205f1qs9zd68h6nsbh60pj6mhv2w4kpf3hmmj310";
+          rev = "6a3392859531c36091a656fedcaebc0f995dbca5";
+          sha256 = "138y5zmqwrac0r32z14adz8gs047wlqikn4bzkyl0blnlr1fkhnf";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/ef7b9302d8f804c77eb81fee7ed27f13cb1176f6/recipes/flyspell-correct-popup";
@@ -26538,27 +26686,6 @@
           license = lib.licenses.free;
         };
       }) {};
-    fm = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
-    melpaBuild {
-        pname = "fm";
-        version = "20130126.1618";
-        src = fetchFromGitHub {
-          owner = "emacsmirror";
-          repo = "fm";
-          rev = "555bcebdf47ea3b1d9d1e152af7237b9daa62d59";
-          sha256 = "1fk4zsb4jliwz10sqz5bpqgj1p479mc506dmvy4zq3vqnpbypqvs";
-        };
-        recipeFile = fetchurl {
-          url = "https://raw.githubusercontent.com/milkypostman/melpa/e4a74b87c05b408433545a2236000ac081af36bf/recipes/fm";
-          sha256 = "118d8fbhlv6i2rsyfqdhi841p96j7q4fab5qdg95ip40wq02dg4f";
-          name = "fm";
-        };
-        packageRequires = [];
-        meta = {
-          homepage = "https://melpa.org/#/fm";
-          license = lib.licenses.free;
-        };
-      }) {};
     fm-bookmarks = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "fm-bookmarks";
@@ -26664,27 +26791,6 @@
           license = lib.licenses.free;
         };
       }) {};
-    fold-dwim = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
-    melpaBuild {
-        pname = "fold-dwim";
-        version = "20140208.837";
-        src = fetchFromGitHub {
-          owner = "emacsmirror";
-          repo = "fold-dwim";
-          rev = "c46f4bb2ce91b4e307136320e72c28dd50b6cd8b";
-          sha256 = "1yz1wis31asw6xa5maliyd1ck2q02xnnh7dc6swgj9cb4wi7k6i1";
-        };
-        recipeFile = fetchurl {
-          url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/fold-dwim";
-          sha256 = "1c8sh6i453jpfhwaqdvlqibnb9lmzfd7q6bvnk1b1q0df7igl53d";
-          name = "fold-dwim";
-        };
-        packageRequires = [];
-        meta = {
-          homepage = "https://melpa.org/#/fold-dwim";
-          license = lib.licenses.free;
-        };
-      }) {};
     fold-dwim-org = callPackage ({ fetchFromGitHub, fetchurl, fold-dwim, lib, melpaBuild }:
     melpaBuild {
         pname = "fold-dwim-org";
@@ -26839,8 +26945,8 @@
         src = fetchFromGitHub {
           owner = "cadadr";
           repo = "elisp";
-          rev = "497c7e68df5e3b6b8c3ebaaf6edfce6b2d29b616";
-          sha256 = "1j15dfg1mr21vyf7c9h3dij1pnikwvmxr3rs0vdrx8lz9x321amf";
+          rev = "35424f7360f5110833b7a9f4f53907b9e222be85";
+          sha256 = "1xi56c8f2wcmldr76ylrcqsy0wf75pv74b0455ki84fq1fk4n08s";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a7ea18a56370348715dec91f75adc162c800dd10/recipes/forecast";
@@ -27024,12 +27130,12 @@
     fountain-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "fountain-mode";
-        version = "20180215.2005";
+        version = "20180410.732";
         src = fetchFromGitHub {
           owner = "rnkn";
           repo = "fountain-mode";
-          rev = "f131de1052d724f14c6c4a19d72978be7c70e5ad";
-          sha256 = "04dqdzyiy6iqi9p8dy8k2zml5nmlrin0p60b9p5hhxabmkwawmbx";
+          rev = "1efbdbba6cb52c8bc2e70ca2636935d2b1ea8d98";
+          sha256 = "16hlywji8ny8b7dc6wq9vfxp6b1fbm1m4f3mzxgngs3gjv6vic82";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/913386ac8d5049d37154da3ab32bde408a226511/recipes/fountain-mode";
@@ -27112,8 +27218,8 @@
         src = fetchFromGitHub {
           owner = "davidshepherd7";
           repo = "frames-only-mode";
-          rev = "4dbc6871d8220cb95d287dd35475725a1b7662ab";
-          sha256 = "19y23jdfp9i950vl8ahywfh6gkf8cmy0nd3fk931xkx0x5kp64h9";
+          rev = "0f42139a41e97bb0a2ebc320d41cec071c034ca0";
+          sha256 = "0bfgqlfdjmxz8fq34ad9m6avja5z5pvw9cjxlfxd3k716ga1nc06";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/1e628416ad9420b3ac5bbfacf930a86d98958ac8/recipes/frames-only-mode";
@@ -27126,6 +27232,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    frameshot = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "frameshot";
+        version = "20180228.408";
+        src = fetchFromGitHub {
+          owner = "tarsius";
+          repo = "frameshot";
+          rev = "4e7b252e9fd9227de8b25f384af2c855ec45279a";
+          sha256 = "020irzkqr7gs99xsvdd0haja0jvw46dk40xi7ab0m3cq7957srjh";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/e5cfaa4b5fda97054d45691fad9d79b559f2df14/recipes/frameshot";
+          sha256 = "1z5f988m9s25miyxbhaxk6m4af9afvblb2p5mdidva04szjklr70";
+          name = "frameshot";
+        };
+        packageRequires = [ emacs ];
+        meta = {
+          homepage = "https://melpa.org/#/frameshot";
+          license = lib.licenses.free;
+        };
+      }) {};
     framesize = callPackage ({ fetchFromGitHub, fetchurl, key-chord, lib, melpaBuild }:
     melpaBuild {
         pname = "framesize";
@@ -27284,12 +27411,12 @@
     fstar-mode = callPackage ({ company, company-quickhelp, dash, emacs, fetchFromGitHub, fetchurl, flycheck, lib, melpaBuild, quick-peek, yasnippet }:
     melpaBuild {
         pname = "fstar-mode";
-        version = "20171105.1108";
+        version = "20180324.2211";
         src = fetchFromGitHub {
           owner = "FStarLang";
           repo = "fstar-mode.el";
-          rev = "742e427068b5a8568f257585db3fc89c2c6c620e";
-          sha256 = "1id41sw15cvazrh7rfb3b840n2ff42qspfr7pm1sfb3v0g7cq6i6";
+          rev = "9b948a4ff5d54b5f72c7b004146121ab7d1b9018";
+          sha256 = "1r6dgi029hybsbkjbgb2bhsr4ashpfcx3x3sp3gb1ypg2nlck463";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/c58ace42342c3d3ff5a56d86a16206f2ecb45f77/recipes/fstar-mode";
@@ -27317,8 +27444,8 @@
         src = fetchFromGitHub {
           owner = "factor";
           repo = "factor";
-          rev = "f1030159af4a5998a8ea751a20fc8bd6598952da";
-          sha256 = "18zy8nmbi6a79rs6n3d8qrm52640fxmg6s9xfflhkr5pprbwi8fn";
+          rev = "9b2eac2942d777572e330ba5231e1ee3c0a4eea8";
+          sha256 = "1sz3n3dfrga2zgwmn7fy21vhgfw51ma8pbgr459hfq9ay96yvd94";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/1e2a0e4698d4e71ec28656594f6a83504a823490/recipes/fuel";
@@ -27415,6 +27542,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    fuo = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "fuo";
+        version = "20180314.948";
+        src = fetchFromGitHub {
+          owner = "cosven";
+          repo = "emacs-fuo";
+          rev = "5318bef9d935b53031e6312652554920def69af2";
+          sha256 = "02f4kl1y277pry13hz1jscdh2nrbn3xp7zm1dmqyn8yfhn1s1yx2";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/25fb625becf7f582d2a8d53726d6f01d9ea89ecc/recipes/fuo";
+          sha256 = "02mvgz2cxrdn5kp5dw0c57rl5nfavqli5yqbxczmbsih164ljdxf";
+          name = "fuo";
+        };
+        packageRequires = [ emacs ];
+        meta = {
+          homepage = "https://melpa.org/#/fuo";
+          license = lib.licenses.free;
+        };
+      }) {};
     furl = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "furl";
@@ -27439,12 +27587,12 @@
     futhark-mode = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "futhark-mode";
-        version = "20171026.722";
+        version = "20180416.830";
         src = fetchFromGitHub {
           owner = "HIPERFIT";
           repo = "futhark";
-          rev = "bb36b2c074449955649907449fa84bd3336528ce";
-          sha256 = "1ji4bnwqpbhldjpnkdfvd05y8bv0nc0g52iza1q4azcw4qqdkwql";
+          rev = "314e43c80fc31e15741136e61f3ee5f793ba190c";
+          sha256 = "1i9rs9cb9l7hp678rf4w9r47zqy1pakyy7alfli192mm650w07l1";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/0607f01aad7e77d53595ad8db95d32acfd29b148/recipes/futhark-mode";
@@ -27502,12 +27650,12 @@
     fwb-cmds = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "fwb-cmds";
-        version = "20180206.1549";
+        version = "20180318.1519";
         src = fetchFromGitHub {
           owner = "tarsius";
           repo = "fwb-cmds";
-          rev = "7d4abf8aa13b2235e4e2f0bb9049ebd6b491f710";
-          sha256 = "10xjs8gm9l3riffxip1ffg8xhcf8srffh01yn6ifyln5f70b063d";
+          rev = "90258a5c7dbbaa2ac227e0fb4ff6c7d5aec3628f";
+          sha256 = "1xwvv8wjgdaz96v1x1xc5w697bfvcanlcixd0n5qbx6ryakqrb72";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/fe40cdeb5e19628937820181479897acdad40200/recipes/fwb-cmds";
@@ -27583,22 +27731,22 @@
           license = lib.licenses.free;
         };
       }) {};
-    gams-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    gams-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "gams-mode";
-        version = "20171117.1815";
+        version = "20180416.206";
         src = fetchFromGitHub {
           owner = "ShiroTakeda";
           repo = "gams-mode";
-          rev = "900e1788695d91dde2a3d7fee97681a3380285de";
-          sha256 = "1lix0x2gj6lrcx6imr5w3scyix99526fwpx0vzs1dzxfzglscjja";
+          rev = "3022e9f8411628e6a210fb5843d858b15a7513f5";
+          sha256 = "06hc8yy1g2vyvib8yrhwzs8fvgxnrxlw6iyzi7phjp9fgr3cp504";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/c895a716636b00c2a158d33aab18f664a8601833/recipes/gams-mode";
           sha256 = "0hx9mv4sqskz4nn7aks64hqd4vn3m7b34abzhy9bnmyw6d5zzfci";
           name = "gams-mode";
         };
-        packageRequires = [];
+        packageRequires = [ emacs ];
         meta = {
           homepage = "https://melpa.org/#/gams-mode";
           license = lib.licenses.free;
@@ -27752,12 +27900,12 @@
     geiser = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "geiser";
-        version = "20180202.1825";
+        version = "20180413.1646";
         src = fetchFromGitHub {
           owner = "jaor";
           repo = "geiser";
-          rev = "e1603edd6f64094495af34432f0d9be621173403";
-          sha256 = "0qab1c3d9glp15sh1b1i40zlg50phhix5c2k0vr2i9j6wl8vc80b";
+          rev = "ec3d0ea34081789da44f0b11b2cf05627a1e9b8e";
+          sha256 = "0g79vz9b73p7g2zy8ml0glwiivq48d64yq3kd6wmq1qpx3zflrf2";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/b0fe32d24cedd5307b4cccfb08a7095d81d639a0/recipes/geiser";
@@ -27773,12 +27921,12 @@
     general = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "general";
-        version = "20180215.1455";
+        version = "20180406.944";
         src = fetchFromGitHub {
           owner = "noctuid";
           repo = "general.el";
-          rev = "de82992bba6226f1be3aac9ed6568f1a3b23295b";
-          sha256 = "1693mrknq0mwzgwrh5z92nv7c80g6ynlymk5qfq8icpii4rlz5n2";
+          rev = "d8fb9f69c9d66279316b096929454ebf242aa721";
+          sha256 = "025dakpmp2232n15rjz6kbs0vn1gazi4qkaagkm8fra703sx4v4v";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/d86383b443622d78f6d8ff7b8ac74c8d72879d26/recipes/general";
@@ -27896,22 +28044,22 @@
           license = lib.licenses.free;
         };
       }) {};
-    gh = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, lib, logito, marshal, melpaBuild, pcache, s }:
+    gh = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, logito, marshal, melpaBuild, pcache }:
     melpaBuild {
         pname = "gh";
-        version = "20180112.1110";
+        version = "20180308.1338";
         src = fetchFromGitHub {
           owner = "sigma";
           repo = "gh.el";
-          rev = "519e8397fb223bb1071b726ed65c59a9ebd9fa48";
-          sha256 = "0fz6f9g1r6lzwvnqmlnn4lr91nn2s59wrv9ajm9baxvivgr4x8w1";
+          rev = "f029fc11f345ef04ab62ee91c38657e29c462fea";
+          sha256 = "1rgdpi8ld5hi2rp30p8sxbrl6z95nvq80jfp3zsr7cmsniwz0vv3";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/cae2ac3513e371a256be0f1a7468e38e686c2487/recipes/gh";
           sha256 = "1141l8pas3m755yzby4zsan7p81nbnlch3kj1zh69qzjpgqp30c0";
           name = "gh";
         };
-        packageRequires = [ dash emacs logito marshal pcache s ];
+        packageRequires = [ emacs logito marshal pcache ];
         meta = {
           homepage = "https://melpa.org/#/gh";
           license = lib.licenses.free;
@@ -28067,12 +28215,12 @@
     ghub = callPackage ({ emacs, fetchFromGitHub, fetchurl, let-alist, lib, melpaBuild }:
     melpaBuild {
         pname = "ghub";
-        version = "20180221.1319";
+        version = "20180414.1654";
         src = fetchFromGitHub {
           owner = "magit";
           repo = "ghub";
-          rev = "bd16d17006488bcbcea32b258752ddf625954c78";
-          sha256 = "0fqkl0dhiqq53p51044aw1zx64phdqklz5c0c1kd3vx92j76zsp6";
+          rev = "27e7b17473d17b684ddf873e4281f2595c05ca65";
+          sha256 = "00yjgz8c03l8v99gi2ly08iwp10bv5s6hhhlvw1kyg00mflgn4m9";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/70a4dbd62fd6ebb4e056d0e97fa1a958437ddc91/recipes/ghub";
@@ -28088,12 +28236,12 @@
     ghub-plus = callPackage ({ apiwrap, emacs, fetchFromGitHub, fetchurl, ghub, lib, melpaBuild }:
     melpaBuild {
         pname = "ghub-plus";
-        version = "20180203.1017";
+        version = "20180330.1738";
         src = fetchFromGitHub {
           owner = "vermiculus";
           repo = "ghub-plus";
-          rev = "80a8e9480839eddf1e4e48a23b03ae17d4dffe0d";
-          sha256 = "1wdkniszcd5zaqvhfw5j82icf7hh6jy0fg0sifmcmfssvb7xx97n";
+          rev = "3f609f5d8277e4282bf2b93366c9f911e0f721a8";
+          sha256 = "01a6sgzmyc3m4adik1sgvp19z12rap51xj72hjywgh116l9cqn52";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/03a412fd25218ff6f302734e078a699ff0234e36/recipes/ghub+";
@@ -28109,12 +28257,12 @@
     gif-screencast = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "gif-screencast";
-        version = "20180226.212";
+        version = "20180309.242";
         src = fetchFromGitHub {
           owner = "Ambrevar";
           repo = "emacs-gif-screencast";
-          rev = "08eebb7e9dc583b02b86d2b62f25b7b8ff8bbd9e";
-          sha256 = "1j3bp4ahwk6jdanqspqxhf6jvk78mad6zhn7ym88561hv4gq3ngk";
+          rev = "825e606950ec842304bf75cf85baef707b853b03";
+          sha256 = "0xdzfw19zll8v9kpvay2rm8piq92ksz574m2gb6b63nm3z7sia1j";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/b149509fb245975b450d15470c7d915e3c7b474d/recipes/gif-screencast";
@@ -28176,8 +28324,8 @@
         src = fetchFromGitHub {
           owner = "defunkt";
           repo = "gist.el";
-          rev = "b2712a61d04af98a05cc2556d85479803b6626be";
-          sha256 = "0zpdh7j0nm9qgzgp55kim04r9hi8cyi3f6kflxrs8srzxwb4gs6k";
+          rev = "314fe6ab80fae35b95f0734eceb82f72813b6f41";
+          sha256 = "0vbyzww9qmsvdpdc6d6wq6drlq1r9y92807fjhs0frgzmq6dg0rh";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/cae2ac3513e371a256be0f1a7468e38e686c2487/recipes/gist";
@@ -28319,12 +28467,12 @@
     git-commit = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, with-editor }:
     melpaBuild {
         pname = "git-commit";
-        version = "20180202.321";
+        version = "20180411.1649";
         src = fetchFromGitHub {
           owner = "magit";
           repo = "magit";
-          rev = "60a167ad12ce9e4dc9637254f39ae11ab2f22a81";
-          sha256 = "1s6n2j56cvrdg130w2iy2wvynzsqgjqcrnra3f39llpgl4vw9spl";
+          rev = "16785d7962cf84df12cf1e498b2c96519e84d235";
+          sha256 = "0ifzqqsyqk5x3d8zvq0yspcfhlndl7ppv6yxzz8w27pgb4h0jqwn";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/cec5af50ae7634cc566adfbfdf0f95c3e2951c0c/recipes/git-commit";
@@ -28463,15 +28611,36 @@
           license = lib.licenses.free;
         };
       }) {};
+    git-io = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "git-io";
+        version = "20180317.1052";
+        src = fetchFromGitHub {
+          owner = "tejasbubane";
+          repo = "emacs-git-io";
+          rev = "48753acba73b48b997bb678fb5e2a938ae63b5d6";
+          sha256 = "1zw24j6l0ap761q1knxjaxzdfz11kmfq29aag5av4n87m86rxzr8";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/a713197f227e3c43de3609dd505cf7cd226d94b9/recipes/git-io";
+          sha256 = "1acwc9iqchvlvx98fxh4xf3xphv0xzrnxpv8kkl8qaly41izfj0v";
+          name = "git-io";
+        };
+        packageRequires = [ emacs ];
+        meta = {
+          homepage = "https://melpa.org/#/git-io";
+          license = lib.licenses.free;
+        };
+      }) {};
     git-lens = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "git-lens";
-        version = "20170517.144";
+        version = "20180328.717";
         src = fetchFromGitHub {
           owner = "pidu";
           repo = "git-lens";
-          rev = "91bf19d6dd7368de5cad373a8155c48c4e254723";
-          sha256 = "1gszcsji3n42xpshz1pzyvlrd0hxjh14fr4n0ixqv2igk3fywxr3";
+          rev = "ea49e2e005af977a08331f8caa8f64d102b3b932";
+          sha256 = "0prx0xbnhhp46c09nnzpz07jgr3s5ngrw8zjksf48abr8acwywfv";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/66fd7c0642e8e61b883d2030f88892d039380475/recipes/git-lens";
@@ -28550,12 +28719,12 @@
     git-ps1-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "git-ps1-mode";
-        version = "20170102.1944";
+        version = "20180413.247";
         src = fetchFromGitHub {
           owner = "10sr";
           repo = "git-ps1-mode-el";
-          rev = "e41c630f5d04cb1a4d38a4b500d7a154a96a4655";
-          sha256 = "11bg953nk5x501vkr0jrz710pz3qxla27bgrd4gp503fbygnixkz";
+          rev = "6a06bf57cbe614ab26032b153d3dcf4fb4bfa7ee";
+          sha256 = "1lgvzla1bg7gmkj41hmzhiqcbdmdw9ycpzfvpl6xl0sm0fk3j3rj";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/ea177b5ea168828881bd8dcd29ef6b4cb81317f0/recipes/git-ps1-mode";
@@ -28571,12 +28740,12 @@
     git-timemachine = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "git-timemachine";
-        version = "20180208.1342";
+        version = "20180307.414";
         src = fetchFromGitHub {
           owner = "pidu";
           repo = "git-timemachine";
-          rev = "8e85fff38a7aec727d29d93b79f57c2a9f95c488";
-          sha256 = "0ds5pbg87r7ydip2dwdc3dagjby5j5q7rnrl14wpkzm3xq1zpjl3";
+          rev = "dbcb92ffaa5f8350d47f4fbd74512f4000b8c043";
+          sha256 = "1ml06jfjyrcqmbpr5hqvbpi3yy6l2aa836jq8qjla1h74g9qka7z";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/41e95e41fc429b688f0852f58ec6ce80303b68ce/recipes/git-timemachine";
@@ -28613,12 +28782,12 @@
     gitattributes-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "gitattributes-mode";
-        version = "20170118.1613";
+        version = "20180318.1256";
         src = fetchFromGitHub {
           owner = "magit";
           repo = "git-modes";
-          rev = "8ca6595b1362d5882d5642e79f7bb2f18f1c8bbe";
-          sha256 = "1crpndp5flw16vrbnd24bk3r99s60xa9zc34apkdglg2s3n50wh7";
+          rev = "b08ac12f09a6cfe967ef70dad3f22430da4fbdab";
+          sha256 = "13zwdl0gn8ykqprqv3f3sfjsdqx9zk8ih4k4y7qm5i36crip8nyy";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/4b4e2ddd2a80875afc0fc654052e6cbff2f3777f/recipes/gitattributes-mode";
@@ -28655,12 +28824,12 @@
     gitconfig-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "gitconfig-mode";
-        version = "20170627.854";
+        version = "20180318.1256";
         src = fetchFromGitHub {
           owner = "magit";
           repo = "git-modes";
-          rev = "8ca6595b1362d5882d5642e79f7bb2f18f1c8bbe";
-          sha256 = "1crpndp5flw16vrbnd24bk3r99s60xa9zc34apkdglg2s3n50wh7";
+          rev = "b08ac12f09a6cfe967ef70dad3f22430da4fbdab";
+          sha256 = "13zwdl0gn8ykqprqv3f3sfjsdqx9zk8ih4k4y7qm5i36crip8nyy";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/44a37f59b87f59a587f6681e7aadfabf137c98d7/recipes/gitconfig-mode";
@@ -28841,6 +29010,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    github-stars = callPackage ({ emacs, fetchFromGitHub, fetchurl, ghub, lib, melpaBuild }:
+    melpaBuild {
+        pname = "github-stars";
+        version = "20180328.433";
+        src = fetchFromGitHub {
+          owner = "xuchunyang";
+          repo = "github-stars.el";
+          rev = "15cbf15cdd3fbd2139b5c128a173bb8f6a4ef496";
+          sha256 = "10hyjkdbf5b792vfm072g9wizkszwghxs2x5k1hi1q0c4gw5w518";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/58df7d536f9711e10ecaa6e0a37b9ad255e8fca5/recipes/github-stars";
+          sha256 = "1vljmrjid5xxmq5yfmsaq09js7zd75nmm4gd0kwm3lf71pb3lp6f";
+          name = "github-stars";
+        };
+        packageRequires = [ emacs ghub ];
+        meta = {
+          homepage = "https://melpa.org/#/github-stars";
+          license = lib.licenses.free;
+        };
+      }) {};
     github-theme = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "github-theme";
@@ -28865,12 +29055,12 @@
     gitignore-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "gitignore-mode";
-        version = "20160319.302";
+        version = "20180318.1256";
         src = fetchFromGitHub {
           owner = "magit";
           repo = "git-modes";
-          rev = "8ca6595b1362d5882d5642e79f7bb2f18f1c8bbe";
-          sha256 = "1crpndp5flw16vrbnd24bk3r99s60xa9zc34apkdglg2s3n50wh7";
+          rev = "b08ac12f09a6cfe967ef70dad3f22430da4fbdab";
+          sha256 = "13zwdl0gn8ykqprqv3f3sfjsdqx9zk8ih4k4y7qm5i36crip8nyy";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/44a37f59b87f59a587f6681e7aadfabf137c98d7/recipes/gitignore-mode";
@@ -28883,15 +29073,36 @@
           license = lib.licenses.free;
         };
       }) {};
+    gitignore-templates = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "gitignore-templates";
+        version = "20180327.626";
+        src = fetchFromGitHub {
+          owner = "xuchunyang";
+          repo = "gitignore-templates.el";
+          rev = "b0705b8de4cbdd631c64c4e0024d62ba4ad68052";
+          sha256 = "1f0lcyw7yrdfmv0h8b87kz0pdrzhy28fzv688z4aaw964qn8jz0k";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/4c9aa71eac2e68eb1925ed00a2c659c4375bd39c/recipes/gitignore-templates";
+          sha256 = "17zx52pmpd4yqlnj39v7ym728i710mdl0by3lc8zk6ljfz77933w";
+          name = "gitignore-templates";
+        };
+        packageRequires = [ emacs ];
+        meta = {
+          homepage = "https://melpa.org/#/gitignore-templates";
+          license = lib.licenses.free;
+        };
+      }) {};
     gitlab = callPackage ({ dash, fetchFromGitHub, fetchurl, lib, melpaBuild, pkg-info, request, s }:
     melpaBuild {
         pname = "gitlab";
-        version = "20170710.724";
+        version = "20180312.947";
         src = fetchFromGitHub {
           owner = "nlamirault";
           repo = "emacs-gitlab";
-          rev = "67567a354a1888419331b79862f151817d9747c5";
-          sha256 = "11bcl5ndwvm2nahcfdbrvxgh48s5i4i7sv74lgnskd90fnjh7gdw";
+          rev = "68318aca3206d50701039c9aae39734ca29a49f9";
+          sha256 = "0arsjdn0anp7pacwxd3cw4db8a7pgzjlnwav1l3maaz1176h4lpb";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/1d012991188956f6e06c37d504b0d06ab31487b9/recipes/gitlab";
@@ -28904,6 +29115,48 @@
           license = lib.licenses.free;
         };
       }) {};
+    gitlab-ci-mode = callPackage ({ emacs, fetchFromGitLab, fetchurl, lib, melpaBuild, yaml-mode }:
+    melpaBuild {
+        pname = "gitlab-ci-mode";
+        version = "20180401.252";
+        src = fetchFromGitLab {
+          owner = "joewreschnig";
+          repo = "gitlab-ci-mode";
+          rev = "19a377aa42cd8a8bea74ae900fedc2ac74a323a5";
+          sha256 = "0wjz87nhcwzp201jxv3qlj88hn7p8nvq20924y06gra2d656znar";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/d7915ddcf21fdec539a86bb86c209cf0bbd378cb/recipes/gitlab-ci-mode";
+          sha256 = "1jg6ihrgccrcwg30ysyqw9k7rmvfmsrp70skr2057hfamvccwn4f";
+          name = "gitlab-ci-mode";
+        };
+        packageRequires = [ emacs yaml-mode ];
+        meta = {
+          homepage = "https://melpa.org/#/gitlab-ci-mode";
+          license = lib.licenses.free;
+        };
+      }) {};
+    gitlab-ci-mode-flycheck = callPackage ({ emacs, fetchFromGitLab, fetchurl, flycheck, gitlab-ci-mode, lib, melpaBuild }:
+    melpaBuild {
+        pname = "gitlab-ci-mode-flycheck";
+        version = "20180401.255";
+        src = fetchFromGitLab {
+          owner = "joewreschnig";
+          repo = "gitlab-ci-mode-flycheck";
+          rev = "adc5658fe3c90ff944b6ca481773b316a6016e86";
+          sha256 = "111clb37329c7v0lv1lwypb8bv7qb9f495f2cy45j2n711vymdna";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/d7915ddcf21fdec539a86bb86c209cf0bbd378cb/recipes/gitlab-ci-mode-flycheck";
+          sha256 = "19ixd60yynsvmaj7mkppp6k73793x794vrnhx3hh6n7dap1rsjdh";
+          name = "gitlab-ci-mode-flycheck";
+        };
+        packageRequires = [ emacs flycheck gitlab-ci-mode ];
+        meta = {
+          homepage = "https://melpa.org/#/gitlab-ci-mode-flycheck";
+          license = lib.licenses.free;
+        };
+      }) {};
     gitolite-clone = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, pcache, s }:
     melpaBuild {
         pname = "gitolite-clone";
@@ -28991,12 +29244,12 @@
     glab = callPackage ({ emacs, fetchFromGitHub, fetchurl, ghub, lib, melpaBuild }:
     melpaBuild {
         pname = "glab";
-        version = "20180218.652";
+        version = "20180319.828";
         src = fetchFromGitHub {
           owner = "magit";
           repo = "ghub";
-          rev = "bd16d17006488bcbcea32b258752ddf625954c78";
-          sha256 = "0fqkl0dhiqq53p51044aw1zx64phdqklz5c0c1kd3vx92j76zsp6";
+          rev = "27e7b17473d17b684ddf873e4281f2595c05ca65";
+          sha256 = "00yjgz8c03l8v99gi2ly08iwp10bv5s6hhhlvw1kyg00mflgn4m9";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/70a4dbd62fd6ebb4e056d0e97fa1a958437ddc91/recipes/glab";
@@ -29373,8 +29626,8 @@
         src = fetchFromGitHub {
           owner = "nsf";
           repo = "gocode";
-          rev = "416643789f088aa5077f667cecde7f966131f6be";
-          sha256 = "1vggwjpcssxp075l8aippgr318m0nkfjyakq7j24ml48g4gc48rm";
+          rev = "d7aee89652f1bd8ca319c64d6dee1bc1dfd9b6ef";
+          sha256 = "1mbz80y0qa6vyvjs33hxsrq5vc2mza5rjhi6rvbxzy2a3lrx4cig";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/04867a574773e8794335a2664d4f5e8b243f3ec9/recipes/go-autocomplete";
@@ -29562,8 +29815,8 @@
         src = fetchFromGitHub {
           owner = "dominikh";
           repo = "go-mode.el";
-          rev = "7eb5b3dd0ac31d176e9d56da4172f66aef8fae47";
-          sha256 = "1gx8hpgj9pbhpqqg1n5lby03bkg0llbkvb6pnidnfayh338amiqp";
+          rev = "ff87a1e80945d958d9c348ce4d2e65a797b38a4b";
+          sha256 = "182z309aysvi5xg5ymxmdxhkwdllj9v3pi1pajxsgwiq314bycdr";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/0cede3a468b6f7e4ad88e9fa985f0fdee7d195f5/recipes/go-guru";
@@ -29600,12 +29853,12 @@
     go-imports = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "go-imports";
-        version = "20180107.1423";
+        version = "20180325.1918";
         src = fetchFromGitHub {
           owner = "yasushi-saito";
           repo = "go-imports";
-          rev = "5b3a1d520c599553f621efaf9aec71609d2b9bb6";
-          sha256 = "19v05qc9fmrbdcrjliw02hqrl29dqsg3l57qp2rn8z63n3s17rqq";
+          rev = "7955b820668af7380e65b418e66e445729ea8ef3";
+          sha256 = "0yykpnnrxjp4zf66l6pcx9xx4v26b6468gyqyf77kr5890ry9sl1";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/4118ebf0db84cc047fab311c789bfbffd6eb2d92/recipes/go-imports";
@@ -29621,12 +29874,12 @@
     go-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "go-mode";
-        version = "20170726.555";
+        version = "20180327.830";
         src = fetchFromGitHub {
           owner = "dominikh";
           repo = "go-mode.el";
-          rev = "7eb5b3dd0ac31d176e9d56da4172f66aef8fae47";
-          sha256 = "1gx8hpgj9pbhpqqg1n5lby03bkg0llbkvb6pnidnfayh338amiqp";
+          rev = "ff87a1e80945d958d9c348ce4d2e65a797b38a4b";
+          sha256 = "182z309aysvi5xg5ymxmdxhkwdllj9v3pi1pajxsgwiq314bycdr";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/0cede3a468b6f7e4ad88e9fa985f0fdee7d195f5/recipes/go-mode";
@@ -29709,8 +29962,8 @@
         src = fetchFromGitHub {
           owner = "dominikh";
           repo = "go-mode.el";
-          rev = "7eb5b3dd0ac31d176e9d56da4172f66aef8fae47";
-          sha256 = "1gx8hpgj9pbhpqqg1n5lby03bkg0llbkvb6pnidnfayh338amiqp";
+          rev = "ff87a1e80945d958d9c348ce4d2e65a797b38a4b";
+          sha256 = "182z309aysvi5xg5ymxmdxhkwdllj9v3pi1pajxsgwiq314bycdr";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/d806abe90da9a8951fdb0c31e2167bde13183c5c/recipes/go-rename";
@@ -29789,12 +30042,12 @@
     go-tag = callPackage ({ emacs, fetchFromGitHub, fetchurl, go-mode, lib, melpaBuild }:
     melpaBuild {
         pname = "go-tag";
-        version = "20180116.2332";
+        version = "20180226.2011";
         src = fetchFromGitHub {
           owner = "brantou";
           repo = "emacs-go-tag";
-          rev = "3e334d9ef3c85fd09b05973734584f401ea18c21";
-          sha256 = "1nr6ijbc4g7mwrhsbl2pacagcrhkyb32vmbp2wdc3c5j9831h7j1";
+          rev = "59b243f2fa079d9de9d56f6e2d94397e9560310a";
+          sha256 = "0r72qk79q8yyidpxgq4r0295fm73id946p1r4s65bwyzii76rjyi";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/fc4cd3fd8fb0707912e205b9d71789ea8126c442/recipes/go-tag";
@@ -29961,8 +30214,8 @@
         src = fetchFromGitHub {
           owner = "golang";
           repo = "lint";
-          rev = "3ea3fa98a8104b2c8f8a7bffaebc7e54dddf99e1";
-          sha256 = "0d2xxvk44i3m4zirl9rzp6dfkf85kssw2kk8wv7h2rqgc3cxi38z";
+          rev = "85993ffd0a6cd043291f3f63d45d656d97b165bd";
+          sha256 = "0kag4ki3dx9xnm41gj4q77wcl77785id4qqb8kb7k5rhfrs29psz";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/34f22d829257456abbc020c006b92da9c7a7860e/recipes/golint";
@@ -30024,8 +30277,8 @@
         src = fetchFromGitHub {
           owner = "google";
           repo = "styleguide";
-          rev = "209d38166b1a56b177de486d894d39ae6822eee6";
-          sha256 = "1qssg9sz6b5mx1x6x9ygi5kjmazi1787h8pph990fblh8gvp41wx";
+          rev = "1b206ee36263b16ec18f7b2f86a2b770b7490844";
+          sha256 = "0vwx5h7b0f4yv5aqznw8zq2fnwwdmrcfa270v16dzdfr5a7n3pj3";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/b4e7f5f641251e17add561991d3bcf1fde23467b/recipes/google-c-style";
@@ -30188,12 +30441,12 @@
     gotest = callPackage ({ emacs, f, fetchFromGitHub, fetchurl, go-mode, lib, melpaBuild, s }:
     melpaBuild {
         pname = "gotest";
-        version = "20170823.141";
+        version = "20180319.137";
         src = fetchFromGitHub {
           owner = "nlamirault";
           repo = "gotest.el";
-          rev = "8a5ef7363f83edb3b77c5e23876f13dd8c23b2b9";
-          sha256 = "1ksi37kmy9mnrjr5lf9f0ga5nvi3r2kc85g6yvdfj0mbsjm1pnp7";
+          rev = "ad0d617887eed837eed72f7d3daba40d1bb7cba8";
+          sha256 = "1lsc6bri8rqkqrmhdslqpph2rdad4b3x8zabg55d9msc4fh25jlv";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/0670b42c0c998daa7bf01080757976ac3589ec06/recipes/gotest";
@@ -30293,12 +30546,12 @@
     govc = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, json-mode, lib, magit-popup, melpaBuild, s }:
     melpaBuild {
         pname = "govc";
-        version = "20180129.905";
+        version = "20180402.2025";
         src = fetchFromGitHub {
           owner = "vmware";
           repo = "govmomi";
-          rev = "0f82f03a2bbf14037d2331cf02f1d4157bbef6cc";
-          sha256 = "19bbx8jmigflyarmydf03ms8lsjwlpn6hl97s63dcw3l4gz4jab2";
+          rev = "d3ae3004773719bcc413ff8e3396f2ce6bf0827b";
+          sha256 = "0l06li4d7mppj7r7xvx4dpvi0asdcazwj3nil6kd1in2pfq3hh4y";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/92d6391318021c63b06fe39b0ca38f667bb45ae9/recipes/govc";
@@ -30335,12 +30588,12 @@
     grab-mac-link = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "grab-mac-link";
-        version = "20180116.251";
+        version = "20180328.745";
         src = fetchFromGitHub {
           owner = "xuchunyang";
           repo = "grab-mac-link.el";
-          rev = "19369badf8b0621eb03ea9e3adeecb22b9710c23";
-          sha256 = "0bp4x8s16zj2v7z0i5sxvqafka9v27riizjdrgfbvlvw9idlnsq0";
+          rev = "35edb57d136c2a9726fd14e6a59cce4fc0248771";
+          sha256 = "1c3g6ygi71qm3lqvhjjzxkpdhwkpx4qwm8mhinwffcib5hagrafn";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/e4cc8a72a9f161f024ed9415ad281dbea5f07a18/recipes/grab-mac-link";
@@ -30423,8 +30676,8 @@
         src = fetchFromGitHub {
           owner = "Groovy-Emacs-Modes";
           repo = "groovy-emacs-modes";
-          rev = "771a9f448593216b8d93deb8cb18465f3551406d";
-          sha256 = "1gyj8j02if4hlrj06j5mya1qa8c3vm11y1s4qamsak07r7p26n4s";
+          rev = "0aea74def58791b2343a8f0139c2f2a6a0941877";
+          sha256 = "0aih46rk2zzxhbx4k65w1lmg3ibxnkimdfpyxc5qfdcr4kyfg06i";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/3fe318b4e51a280a55c01fa30455e4a180df8bd6/recipes/grails-mode";
@@ -30533,22 +30786,22 @@
           license = lib.licenses.free;
         };
       }) {};
-    graphql-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, request }:
+    graphql-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "graphql-mode";
-        version = "20171102.1606";
+        version = "20180303.1558";
         src = fetchFromGitHub {
           owner = "davazp";
           repo = "graphql-mode";
-          rev = "1f3bd34b18a41dbda75a0baee38aa0f0f1fffb7a";
-          sha256 = "16cqncjyai3kak9p108c85d8jp0n83jpfijkwjv8nx2s5wyw57dx";
+          rev = "36b1a4ed9fe78ccd1f386111644e69a5424a1a7b";
+          sha256 = "1azq0igx07aff9r7fbl0l4vbr44c4ylfq41g5rahbc70spd85bk6";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/3850073e6706d4d8151bc6ab12963a19deae8be9/recipes/graphql-mode";
           sha256 = "074dc8fgbrikb5inv837n9bpmz1ami7aaxsqcci1f94x3iw8i74i";
           name = "graphql-mode";
         };
-        packageRequires = [ emacs request ];
+        packageRequires = [ emacs ];
         meta = {
           homepage = "https://melpa.org/#/graphql-mode";
           license = lib.licenses.free;
@@ -30640,12 +30893,12 @@
     green-is-the-new-black-theme = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "green-is-the-new-black-theme";
-        version = "20180220.1332";
+        version = "20180322.1903";
         src = fetchFromGitHub {
           owner = "fredcamps";
           repo = "green-is-the-new-black-emacs";
-          rev = "374d14b99f4959fa039c0e1ce8e0e7991b726d98";
-          sha256 = "135w5vwbk2468b82v6icc8nh50d9flpi7zd63xch8vpvsri0vpw0";
+          rev = "8a03687a2b8b55c5dc7f099086019278d505d8d8";
+          sha256 = "07j5sv8dskqxpbzr5f58n75cziyqm9v01c3f7wmwfs8jl7h5nc4m";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/3e42528d5677fd90515cad47266c07ea3d4363fb/recipes/green-is-the-new-black-theme";
@@ -30742,6 +30995,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    grep-context = callPackage ({ cl-lib ? null, dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "grep-context";
+        version = "20180415.435";
+        src = fetchFromGitHub {
+          owner = "mkcms";
+          repo = "grep-context";
+          rev = "4c63d0f2654dee1e249c2054d118d674a757bd45";
+          sha256 = "0n2bc9q6bvbfpaqivp3ajy9ad1wr7hfdd98qhnspsap67p73kfn4";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/41dbaf627ae4ef86c222d2b6b5d3523fdb9a4637/recipes/grep-context";
+          sha256 = "175s9asbnk2wlgpzc5izcd3vlfvdj064n38myy9qf4awn12c2y1g";
+          name = "grep-context";
+        };
+        packageRequires = [ cl-lib dash emacs ];
+        meta = {
+          homepage = "https://melpa.org/#/grep-context";
+          license = lib.licenses.free;
+        };
+      }) {};
     greymatters-theme = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "greymatters-theme";
@@ -30827,12 +31101,12 @@
     groovy-mode = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, s }:
     melpaBuild {
         pname = "groovy-mode";
-        version = "20180214.810";
+        version = "20180412.538";
         src = fetchFromGitHub {
           owner = "Groovy-Emacs-Modes";
           repo = "groovy-emacs-modes";
-          rev = "771a9f448593216b8d93deb8cb18465f3551406d";
-          sha256 = "1gyj8j02if4hlrj06j5mya1qa8c3vm11y1s4qamsak07r7p26n4s";
+          rev = "0aea74def58791b2343a8f0139c2f2a6a0941877";
+          sha256 = "0aih46rk2zzxhbx4k65w1lmg3ibxnkimdfpyxc5qfdcr4kyfg06i";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/3fe318b4e51a280a55c01fa30455e4a180df8bd6/recipes/groovy-mode";
@@ -30890,12 +31164,12 @@
     gruvbox-theme = callPackage ({ autothemer, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "gruvbox-theme";
-        version = "20180210.756";
+        version = "20180313.1451";
         src = fetchFromGitHub {
           owner = "Greduan";
           repo = "emacs-theme-gruvbox";
-          rev = "156848895d16057c1dda2fdde5a7dde3053c9948";
-          sha256 = "04szg56wxf0x7w8nvf98fmnry2s77kx7jg7j6gjkp16nr0asiqp8";
+          rev = "dd5e5ad109cf0b5db6c5d9ba279337a799e12b89";
+          sha256 = "17ga9qrjmvyjj7i77k6k0riy1jc3lvjvc3v631yvza4qi28492fv";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/2bd48c87919f64ced9f3add4860751bb34cb5ecb/recipes/gruvbox-theme";
@@ -30961,8 +31235,8 @@
           sha256 = "0dmaazcscg9mdsmij26873af5jl2np4q9xf2klw1jmcl61wzggb0";
         };
         recipeFile = fetchurl {
-          url = "https://raw.githubusercontent.com/milkypostman/melpa/b98ec72605077f3b3f587713a681eb2144f29645/recipes/gtk-pomodoro-indicator";
-          sha256 = "0fg227yhj85xy0s32xzwg2ka9kc9ygl0wd33wypp6jban13ldasr";
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/a58f1acaafc459e055d751acdb68427e4b11275e/recipes/gtk-pomodoro-indicator";
+          sha256 = "1lkz1bk3zl51jdgp7pg6sr57drdwz8mlvl9ryky3iv73kr5i0q6c";
           name = "gtk-pomodoro-indicator";
         };
         packageRequires = [];
@@ -31034,22 +31308,22 @@
           license = lib.licenses.free;
         };
       }) {};
-    guix = callPackage ({ bui, dash, emacs, fetchFromGitHub, fetchurl, geiser, lib, magit-popup, melpaBuild }:
+    guix = callPackage ({ bui, dash, edit-indirect, emacs, fetchFromGitHub, fetchurl, geiser, lib, magit-popup, melpaBuild }:
     melpaBuild {
         pname = "guix";
-        version = "20180207.952";
+        version = "20180414.1025";
         src = fetchFromGitHub {
           owner = "alezost";
           repo = "guix.el";
-          rev = "1d400fd2f4b21e8fd834887198fe6587933a9cc7";
-          sha256 = "03q8rq74zxil5aws18wysiyk8zxyp9w0sqxcnk79d1p5hdgn09p2";
+          rev = "00c87a9cafa3d74840be02efa2516286515b6f93";
+          sha256 = "0mbri7p7hm5bfqw8i8wl5yc5av13sd77bs15af44nv8p5gqx7wng";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/b3d8c73e8a946b8265487a0825d615d80aa3337d/recipes/guix";
           sha256 = "0h4jwc4h2jv09c6rngb614fc39qfy04rmvqrn1l54hn28s6q7sk9";
           name = "guix";
         };
-        packageRequires = [ bui dash emacs geiser magit-popup ];
+        packageRequires = [ bui dash edit-indirect emacs geiser magit-popup ];
         meta = {
           homepage = "https://melpa.org/#/guix";
           license = lib.licenses.free;
@@ -31541,12 +31815,12 @@
     haskell-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "haskell-mode";
-        version = "20171022.26";
+        version = "20180406.2222";
         src = fetchFromGitHub {
           owner = "haskell";
           repo = "haskell-mode";
-          rev = "9018ad5cac0b1b1b5e0a51586027fb0ca4076b1a";
-          sha256 = "0aj6mjv1i8m18klj9mp690fkmwc81wxh2q69cxjf78fdpgbrhcwl";
+          rev = "d71cca7f5ddc8178f5fe331563edcefe91cc0bcb";
+          sha256 = "1amg9k50nw90b1dci6bylhrdkfmwminxcx3hlxxwvfvdgszfs2s4";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/7f18b4dcbad4192b0153a316cff6533272898f1a/recipes/haskell-mode";
@@ -31624,12 +31898,12 @@
     hasky-stack = callPackage ({ emacs, f, fetchFromGitHub, fetchurl, lib, magit-popup, melpaBuild }:
     melpaBuild {
         pname = "hasky-stack";
-        version = "20171231.942";
+        version = "20180331.208";
         src = fetchFromGitHub {
           owner = "hasky-mode";
           repo = "hasky-stack";
-          rev = "b981467f557498de46101ddfcbdfd025e7ec1f8c";
-          sha256 = "17vvz8gawih8rksbcn3ndyjqhxaczmjzqm42b1y51j9lky5hmsw0";
+          rev = "3e17ce07dd6b0207474e4ff14ad7b8c467382947";
+          sha256 = "0cdsdlgapf9xxj928hlb7ch9x8rznayrvj7n8j2vzfa0kfmg7qwf";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/c3faf544872478c3bccf2fe7dc51d406031e4d80/recipes/hasky-stack";
@@ -31812,12 +32086,12 @@
     helm = callPackage ({ async, emacs, fetchFromGitHub, fetchurl, helm-core, lib, melpaBuild, popup }:
     melpaBuild {
         pname = "helm";
-        version = "20180226.417";
+        version = "20180413.335";
         src = fetchFromGitHub {
           owner = "emacs-helm";
           repo = "helm";
-          rev = "07f6dcfabb8904b758c87ea192d9eb44e5d56d35";
-          sha256 = "1mzf7lidnz9y6744qh5v66kpmy1lqp7gh2i1ys3cjgfiqk8shy84";
+          rev = "b72baa1183fabf5213e4d50a38358288f7af5a86";
+          sha256 = "0q89c9axk8a7w3hncl7wak0z3yg022vwf3lwfmww6xkn9daxldjx";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/7e8bccffdf69479892d76b9336a4bec3f35e919d/recipes/helm";
@@ -31956,27 +32230,6 @@
           license = lib.licenses.free;
         };
       }) {};
-    helm-anything = callPackage ({ anything, fetchFromGitHub, fetchurl, helm, lib, melpaBuild }:
-    melpaBuild {
-        pname = "helm-anything";
-        version = "20141126.231";
-        src = fetchFromGitHub {
-          owner = "rubikitch";
-          repo = "helm-anything";
-          rev = "0ec578922928b7c75cf034d1b7a956b5f36107ea";
-          sha256 = "153zq1q3s3ihjh15wyci9qdic3pin8f1j1gq2qlzyhmy0njlvgjb";
-        };
-        recipeFile = fetchurl {
-          url = "https://raw.githubusercontent.com/milkypostman/melpa/0d844b790661258bc9b73985ad7a7da37ba339ab/recipes/helm-anything";
-          sha256 = "0yjlwsiahb7n4q3522d68xrdb8caad9gpnglz5php245yqy3n5vx";
-          name = "helm-anything";
-        };
-        packageRequires = [ anything helm ];
-        meta = {
-          homepage = "https://melpa.org/#/helm-anything";
-          license = lib.licenses.free;
-        };
-      }) {};
     helm-aws = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, helm, lib, melpaBuild, s }:
     melpaBuild {
         pname = "helm-aws";
@@ -32022,12 +32275,12 @@
     helm-bbdb = callPackage ({ bbdb, fetchFromGitHub, fetchurl, helm, lib, melpaBuild }:
     melpaBuild {
         pname = "helm-bbdb";
-        version = "20170505.2338";
+        version = "20180412.807";
         src = fetchFromGitHub {
           owner = "emacs-helm";
           repo = "helm-bbdb";
-          rev = "c0e6b83911598fe334c51b12f51ff1a8252ed11d";
-          sha256 = "084m23w4088njk2c8z6yxi2851dakdq71jhpazlzms85i2dlwg21";
+          rev = "1f182900207cff383d62d91e839b48dd4874f2a5";
+          sha256 = "0m08zb1i6m8i0n590f1717p8dxb7w9d4mh3wnkd829zjhycradrd";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/7025c319fcabc64576c0c6554d0d572cef697693/recipes/helm-bbdb";
@@ -32043,12 +32296,12 @@
     helm-bibtex = callPackage ({ biblio, cl-lib ? null, dash, f, fetchFromGitHub, fetchurl, helm, lib, melpaBuild, parsebib, s }:
     melpaBuild {
         pname = "helm-bibtex";
-        version = "20180222.630";
+        version = "20180328.1147";
         src = fetchFromGitHub {
           owner = "tmalsburg";
           repo = "helm-bibtex";
-          rev = "9002522af7ea199a1453326746ffccbd934d290f";
-          sha256 = "1h5czxjxlq16na9rxyg73zpkrvalqyyvdfr7qyknn1avibn2msz7";
+          rev = "5be84d36758ed7d5838cc5c8796a6ff427ba7043";
+          sha256 = "1pqg49mj22izilx8x9rshflpyiw1q9zrp881nasp5lvbihwydvrg";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/f4118a7721435240cf8489daa4dd39369208855b/recipes/helm-bibtex";
@@ -32274,12 +32527,12 @@
     helm-cider = callPackage ({ cider, emacs, fetchFromGitHub, fetchurl, helm-core, lib, melpaBuild }:
     melpaBuild {
         pname = "helm-cider";
-        version = "20180202.1818";
+        version = "20180306.2058";
         src = fetchFromGitHub {
           owner = "clojure-emacs";
           repo = "helm-cider";
-          rev = "f498727b2a742560256942ea184dcb28c455fee2";
-          sha256 = "1g7hy6fjym11yznzb8m5cn9bq5ys5iszf81hhwyia5n8qdvnlmm5";
+          rev = "9363cc537f06233345aa3af5cd46aa5681ad607b";
+          sha256 = "0vfn4smqba1vsshz48ggkj8gs94la0sxb1sq4shrb41qj2x3dci7";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/helm-cider";
@@ -32442,12 +32695,12 @@
     helm-core = callPackage ({ async, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "helm-core";
-        version = "20180226.417";
+        version = "20180414.2257";
         src = fetchFromGitHub {
           owner = "emacs-helm";
           repo = "helm";
-          rev = "07f6dcfabb8904b758c87ea192d9eb44e5d56d35";
-          sha256 = "1mzf7lidnz9y6744qh5v66kpmy1lqp7gh2i1ys3cjgfiqk8shy84";
+          rev = "b72baa1183fabf5213e4d50a38358288f7af5a86";
+          sha256 = "0q89c9axk8a7w3hncl7wak0z3yg022vwf3lwfmww6xkn9daxldjx";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/ef7a700c5665e6d72cb4cecf7fb5a2dd43ef9bf7/recipes/helm-core";
@@ -32547,12 +32800,12 @@
     helm-descbinds = callPackage ({ fetchFromGitHub, fetchurl, helm, lib, melpaBuild }:
     melpaBuild {
         pname = "helm-descbinds";
-        version = "20160916.713";
+        version = "20180411.2215";
         src = fetchFromGitHub {
           owner = "emacs-helm";
           repo = "helm-descbinds";
-          rev = "6d5ddc11e6cef86548bd6b3e0d840112d602659c";
-          sha256 = "03b79wdcp4im0fwadzhyc8jxl2wqvg8gmpflnznrwz3l71bi4sqq";
+          rev = "cc000b1bf580577d032c9f0563168b6bbdd6d290";
+          sha256 = "1z5z0yfj1h3852zn4sh0p9dl3viyfiqpw28jczqgm8rcng94rvbw";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/447610a05422cd2f35399e43d98bf46410ff0408/recipes/helm-descbinds";
@@ -32736,12 +32989,12 @@
     helm-emms = callPackage ({ cl-lib ? null, emacs, emms, fetchFromGitHub, fetchurl, helm, lib, melpaBuild }:
     melpaBuild {
         pname = "helm-emms";
-        version = "20180124.1023";
+        version = "20180405.2228";
         src = fetchFromGitHub {
           owner = "emacs-helm";
           repo = "helm-emms";
-          rev = "6e05efc4612262b39732d2d82d606c48fd6bf46b";
-          sha256 = "04iaxzx3r5f7jr42nycnvrrs3rx51nf9a20l2zpyz14i2g4pqjvn";
+          rev = "d3f9bdef8ff0d093eaf6e26af50ea905ab53fdec";
+          sha256 = "0bdb8xp0yp3gijpa9i2rc17gfzjhzlm92vdzw93i10qpd1xhj4aa";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/db836b671705607f6cd9bce8229884b1f29b4a76/recipes/helm-emms";
@@ -32799,12 +33052,12 @@
     helm-exwm = callPackage ({ emacs, exwm, fetchFromGitHub, fetchurl, helm, lib, melpaBuild }:
     melpaBuild {
         pname = "helm-exwm";
-        version = "20180115.311";
+        version = "20180301.958";
         src = fetchFromGitHub {
           owner = "emacs-helm";
           repo = "helm-exwm";
-          rev = "0b557cbf0f1c84b80a83ffafb17c5aadf753859b";
-          sha256 = "0i2sbdxjv3nbnv2250gwghqk202s3z43s6dn1pa5sdsp7gkvwxjz";
+          rev = "9eec927d7fa092762b467d400d996b66c1f6d9c2";
+          sha256 = "131xb40y8n3laivzbx4pjynbv0c5v09ihvq4r9c3m1d7qmq6x3kh";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/8ecdf9e00cf19fabbeade12a66d66cd010561366/recipes/helm-exwm";
@@ -33177,12 +33430,12 @@
     helm-gitlab = callPackage ({ dash, fetchFromGitHub, fetchurl, gitlab, helm, lib, melpaBuild, s }:
     melpaBuild {
         pname = "helm-gitlab";
-        version = "20160519.303";
+        version = "20180312.947";
         src = fetchFromGitHub {
           owner = "nlamirault";
           repo = "emacs-gitlab";
-          rev = "67567a354a1888419331b79862f151817d9747c5";
-          sha256 = "11bcl5ndwvm2nahcfdbrvxgh48s5i4i7sv74lgnskd90fnjh7gdw";
+          rev = "68318aca3206d50701039c9aae39734ca29a49f9";
+          sha256 = "0arsjdn0anp7pacwxd3cw4db8a7pgzjlnwav1l3maaz1176h4lpb";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/1d012991188956f6e06c37d504b0d06ab31487b9/recipes/helm-gitlab";
@@ -33636,6 +33889,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    helm-lib-babel = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, helm, lib, melpaBuild }:
+    melpaBuild {
+        pname = "helm-lib-babel";
+        version = "20180225.1322";
+        src = fetchFromGitHub {
+          owner = "dfeich";
+          repo = "helm-lib-babel";
+          rev = "69bce58c1ef109dd33cc7f7696ad02a536f1b215";
+          sha256 = "0x39ds3hziabizaa3hrqfbz2a9by4s25dndp8ymxbl8jjvqgdi3a";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/d6718da5d8849a8c3ec17188b89a1273cf963047/recipes/helm-lib-babel";
+          sha256 = "0ddj6xrhz4n0npplkjmblqb43jnd6fmr4i4vv1cigrgb7zj6bjx4";
+          name = "helm-lib-babel";
+        };
+        packageRequires = [ cl-lib emacs helm ];
+        meta = {
+          homepage = "https://melpa.org/#/helm-lib-babel";
+          license = lib.licenses.free;
+        };
+      }) {};
     helm-lobsters = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, helm, lib, melpaBuild }:
     melpaBuild {
         pname = "helm-lobsters";
@@ -33660,12 +33934,12 @@
     helm-ls-git = callPackage ({ fetchFromGitHub, fetchurl, helm, lib, melpaBuild }:
     melpaBuild {
         pname = "helm-ls-git";
-        version = "20170727.1238";
+        version = "20180415.2336";
         src = fetchFromGitHub {
           owner = "emacs-helm";
           repo = "helm-ls-git";
-          rev = "d116bb96b6ea946f633ed7735fbf38a63e611a3a";
-          sha256 = "0z09qvb6yyz2vnxkcg6xhaawja1ynxfwzx5j2aqyiicwqbyf3kvg";
+          rev = "c63c27f10d0cc409ab528d20700bccc52abbab26";
+          sha256 = "1xmrg49b7r3ry85gizllnll4v6wk3qxmhwrd7d0jifx5df9v13f9";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/b487b4c0db9092bb7e32aad9265b79a9d18c8478/recipes/helm-ls-git";
@@ -33723,12 +33997,12 @@
     helm-make = callPackage ({ fetchFromGitHub, fetchurl, helm, lib, melpaBuild, projectile }:
     melpaBuild {
         pname = "helm-make";
-        version = "20171103.1155";
+        version = "20180322.1251";
         src = fetchFromGitHub {
           owner = "abo-abo";
           repo = "helm-make";
-          rev = "feae8df22bc4b20705ea08ac9adfc2b43bb348d0";
-          sha256 = "1y2v77mmd1bfkkz51cnk1l0dg3lvvxc39wlamnm7wjns66dbvlam";
+          rev = "51dfe9871ae2851d8d82530346c8e0a846cdfd94";
+          sha256 = "0zipg6zv62839n0px8sil86jdv9qlqy877kj1m8x3dln3c7pf0x3";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/0f25f066c60d4caff1fbf885bc944cac47515ec8/recipes/helm-make";
@@ -33916,8 +34190,8 @@
         src = fetchFromGitHub {
           owner = "alphapapa";
           repo = "helm-org-rifle";
-          rev = "81a84a071c9ec9313b9b13e0c89b9e499268436a";
-          sha256 = "0ipz4r2cdvxsrzgsrcrxchj8vvgfqz7whd61smfn7h6sakljk2xm";
+          rev = "f4936509b4a5658ea325fc9f941f2e2e9e3018cf";
+          sha256 = "020jg7mwyibd6c3lrzdsrc5jbn7vh6y6iyxfc6r28k8bwv4fggv3";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/f39cc94dde5aaf0d6cfea5c98dd52cdb0bcb1615/recipes/helm-org-rifle";
@@ -33972,22 +34246,22 @@
           license = lib.licenses.free;
         };
       }) {};
-    helm-pass = callPackage ({ auth-password-store, fetchFromGitHub, fetchurl, helm, lib, melpaBuild, password-store }:
+    helm-pass = callPackage ({ auth-source-pass, emacs, fetchFromGitHub, fetchurl, helm, lib, melpaBuild, password-store }:
     melpaBuild {
         pname = "helm-pass";
-        version = "20180208.1313";
+        version = "20180415.2038";
         src = fetchFromGitHub {
           owner = "jabranham";
           repo = "helm-pass";
-          rev = "231c496eb2da4ecf26fcf8545de9a9819683a17f";
-          sha256 = "1lv47cwb3j7lvx8qd4p5ripmvh3ixyd0x5bql143hja396wx12rr";
+          rev = "ebcbef1a962795a36e3491ae926e2a4b8a8b0ebb";
+          sha256 = "13far24blzmcjyxkwnsqbx0g865p233bx21885nw59rp28frg538";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/d8100599d69a760cd4548004a552cc0adcdb3bed/recipes/helm-pass";
           sha256 = "11yknsch0avdl8jmj54xk45nba3qh8bhsdrc2rds084i7d5gmqia";
           name = "helm-pass";
         };
-        packageRequires = [ auth-password-store helm password-store ];
+        packageRequires = [ auth-source-pass emacs helm password-store ];
         meta = {
           homepage = "https://melpa.org/#/helm-pass";
           license = lib.licenses.free;
@@ -34101,12 +34375,12 @@
     helm-projectile = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, helm, lib, melpaBuild, projectile }:
     melpaBuild {
         pname = "helm-projectile";
-        version = "20170926.1123";
+        version = "20180407.1842";
         src = fetchFromGitHub {
           owner = "bbatsov";
           repo = "helm-projectile";
-          rev = "4466adbcada8be19ec97b9dba52e12b8da3da849";
-          sha256 = "1a4s3vs2vh2dz31an7jjrbyli1dsqwl7qcd1r63ak87klzpqn98b";
+          rev = "213339b896eebff6d61778b2b1816301ab583081";
+          sha256 = "1wjlm3i0ygcgy37nn1ljaxx9w7nw3pfczrmv5ibm2dyna88kafr5";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/8bc4e3a5af7ba86d277c73a1966a91c87d3d855a/recipes/helm-projectile";
@@ -34206,12 +34480,12 @@
     helm-qiita = callPackage ({ fetchFromGitHub, fetchurl, helm, lib, melpaBuild }:
     melpaBuild {
         pname = "helm-qiita";
-        version = "20170821.609";
+        version = "20180301.635";
         src = fetchFromGitHub {
           owner = "masutaka";
           repo = "emacs-helm-qiita";
-          rev = "f00a61fc802d0f6442f07e7bd1c55fedf60f3895";
-          sha256 = "0z5xyb4kh3hwv8a869kgfx7hdzmja4ksvfkmc7v0xmxzjcg3nb7j";
+          rev = "3ccb85640bf54491ed3c3c8110d454ae181650dc";
+          sha256 = "03km0hm3jy6qcs8szqsmzpdmhfmyh121i5f68cf60am8y616f0kp";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/37331f6cc8a95fd2b2ed5b20be0bcb604ea66dee/recipes/helm-qiita";
@@ -34336,8 +34610,8 @@
         src = fetchFromGitHub {
           owner = "cosmicexplorer";
           repo = "helm-rg";
-          rev = "775ee76d8b6f45eab1330c714ddac1da20c87fe3";
-          sha256 = "11f7m143qnmh2x4987a56ir3acxbp0n54msak3mp5nc1i1h8hq31";
+          rev = "cbce7b4f1afefa1e9a505b45c1b58c688a42f3b9";
+          sha256 = "1z8ijiqih902mzfc7kbnfbdhjwfqh5yzg4w3v4mxac0ys5j4z6sg";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/958fbafdcb214f1ec89fd0d84c6600c89890e0cf/recipes/helm-rg";
@@ -34420,8 +34694,8 @@
         src = fetchFromGitHub {
           owner = "Andersbakken";
           repo = "rtags";
-          rev = "4f27c1cc60742622e6616b579c82b5440ad446d3";
-          sha256 = "08310vkd7gyfc9jcis7r5dfdb6spilxw1kf7p8vm078v8hmmjyj0";
+          rev = "4747d5b695bee40c3b0a2e3591ac8897571edd66";
+          sha256 = "1qy71bx8nki73mqslw54hq5bn1asz5qg1b2848nrsj8zb2yd85x5";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/3dea16daf0d72188c8b4043534f0833fe9b04e07/recipes/helm-rtags";
@@ -34525,8 +34799,8 @@
         src = fetchFromGitHub {
           owner = "takaxp";
           repo = "helm-selected";
-          rev = "d2609cdfce14052ab2d9c23761d4fe56966a8ed1";
-          sha256 = "0nbfs5s6lshxib6kp20dzh1qbmq079hwcqwi1n61ank22qa9qw5x";
+          rev = "6743ede584571319e4c29204197e9ff6b7ee97cf";
+          sha256 = "199a1ycv6pi4kljv7ln0i59l85yr6ngvd3acjakq3416nnjlvhzh";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/acc087661e614d9f30c23fe4a65c020bd3656a29/recipes/helm-selected";
@@ -34689,12 +34963,12 @@
     helm-system-packages = callPackage ({ emacs, fetchFromGitHub, fetchurl, helm, lib, melpaBuild, seq }:
     melpaBuild {
         pname = "helm-system-packages";
-        version = "20180210.1307";
+        version = "20180412.2325";
         src = fetchFromGitHub {
           owner = "emacs-helm";
           repo = "helm-system-packages";
-          rev = "715a8ee0257d7d7138d4cd0cfdd61ee0ebb8ee08";
-          sha256 = "0hc51ndn3jaxykflr5mkhwc7lajp5fsnzxpqwr17hqq4aa6g1sci";
+          rev = "986b7bd360a705053500c4ce2c9bea03dd7b24a6";
+          sha256 = "19iklhpxgh5xx6h4dysf58nd46lmyb46xj601lf7kbwl6yq0y61f";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/0c46cfb0fcda0500e15d04106150a072a1a75ccc/recipes/helm-system-packages";
@@ -34752,12 +35026,12 @@
     helm-tramp = callPackage ({ emacs, fetchFromGitHub, fetchurl, helm, lib, melpaBuild }:
     melpaBuild {
         pname = "helm-tramp";
-        version = "20171224.702";
+        version = "20180311.2157";
         src = fetchFromGitHub {
           owner = "masasam";
           repo = "emacs-helm-tramp";
-          rev = "94e05b0bf6f2604a2786ef6ff358363b9d4790ec";
-          sha256 = "0b0d1ka9jx68dfkdw2l7sbawa85yzkzxigjwlwki1i5l7m3cr5pd";
+          rev = "34cc68bededd3ff6cbec8140f33c530fd3206a64";
+          sha256 = "1lway52ssh6zn6jw8157fp8d4brrkdln03vgll2r53bd69i2ipmn";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/helm-tramp";
@@ -34962,12 +35236,12 @@
     helpful = callPackage ({ dash, dash-functional, elisp-refs, emacs, f, fetchFromGitHub, fetchurl, lib, melpaBuild, s, shut-up }:
     melpaBuild {
         pname = "helpful";
-        version = "20180220.1512";
+        version = "20180407.351";
         src = fetchFromGitHub {
           owner = "Wilfred";
           repo = "helpful";
-          rev = "4abe04870467beb8a5a798773e1f145f65298e59";
-          sha256 = "1la6im11wmid8k2smsaks1vgw42b4plpy65mr4z22c2bx4q1a24w";
+          rev = "5e9f90776ddfa64e11823c98406362bfabc03a3c";
+          sha256 = "1zwnh03ifkmq5r78m714yxha9d0j7bflb78f5jak58f3ympnms76";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/889d34b654de13bd413d46071a5ff191cbf3d157/recipes/helpful";
@@ -35190,6 +35464,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    hide-mode-line = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "hide-mode-line";
+        version = "20180302.1110";
+        src = fetchFromGitHub {
+          owner = "hlissner";
+          repo = "emacs-hide-mode-line";
+          rev = "86b9057391edad75467261c2e579603567e608f9";
+          sha256 = "0qmjmwhmlm008r22n2mv7lir4v1lpfz1c3yvqlwjgv0glbyvqd88";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/2af28365f9fbc6ae71043a67966490c5d18a6095/recipes/hide-mode-line";
+          sha256 = "0yl6aicpib5h1ckqi3gyilh2nwvp8gf1017n1w1755j01gw1p9hl";
+          name = "hide-mode-line";
+        };
+        packageRequires = [ emacs ];
+        meta = {
+          homepage = "https://melpa.org/#/hide-mode-line";
+          license = lib.licenses.free;
+        };
+      }) {};
     hideshow-org = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "hideshow-org";
@@ -35361,12 +35656,12 @@
     highlight-indent-guides = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "highlight-indent-guides";
-        version = "20170516.1355";
+        version = "20180404.1216";
         src = fetchFromGitHub {
           owner = "DarthFennec";
           repo = "highlight-indent-guides";
-          rev = "b51744bde1287979f2d948f46501bd6ed0897f69";
-          sha256 = "17xbd1kiww762dibws48gwn682g1bxy5rb7np5alqhiiw1l13wdw";
+          rev = "a968436711520d4728c0b6c64279eb5eae7e0e5d";
+          sha256 = "0cbdhxmd2a2pygnr4fb246dxyqggv2h8f5q2sflbq05jb81k5fal";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/c8acca65a5c134d4405900a43b422c4f4e18b586/recipes/highlight-indent-guides";
@@ -35903,36 +36198,15 @@
           license = lib.licenses.free;
         };
       }) {};
-    hl-sexp = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
-    melpaBuild {
-        pname = "hl-sexp";
-        version = "20101130.443";
-        src = fetchFromGitHub {
-          owner = "emacsmirror";
-          repo = "hl-sexp";
-          rev = "0606100422321c18db51ceda80f25cd7717c2e01";
-          sha256 = "1fsyj9cmqcz5nfxsfcyvpq2vqrhgl99xvq7ligviawl3x77376kw";
-        };
-        recipeFile = fetchurl {
-          url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/hl-sexp";
-          sha256 = "109qzk39s5l30fmrfxhkx1y6ldbw9d5xnahwdvasc8fal5j6f1bm";
-          name = "hl-sexp";
-        };
-        packageRequires = [];
-        meta = {
-          homepage = "https://melpa.org/#/hl-sexp";
-          license = lib.licenses.free;
-        };
-      }) {};
     hl-todo = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "hl-todo";
-        version = "20170621.1257";
+        version = "20180327.1716";
         src = fetchFromGitHub {
           owner = "tarsius";
           repo = "hl-todo";
-          rev = "961db3116f1396dc4f903e3a59824a40e0bbb6a2";
-          sha256 = "0w847g7lvzk9br9r73n7rf2ba6wafqrapyigp91f62jicz28lvm1";
+          rev = "54d6562ba33182b16a7225c5fe6bb17a68025302";
+          sha256 = "1jkxvik625rqbazbm8r83pcdmd288g26a4vvchsp4717k82sklkj";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/7c262f6a1a10e8b3cc30151cad2e34ceb66c6ed7/recipes/hl-todo";
@@ -36091,6 +36365,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    honcho = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, sudo-edit }:
+    melpaBuild {
+        pname = "honcho";
+        version = "20180319.1441";
+        src = fetchFromGitHub {
+          owner = "emacs-pe";
+          repo = "honcho.el";
+          rev = "fd3306f5cb870b557fc7d700fcb0a560feb3fbc7";
+          sha256 = "0pdpnn206nfkc8pl36lxc2jfrmii8ai1gvf21ycx0r37g9q64qhq";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/76487b6776d148325c0200d2f788815f115feac9/recipes/honcho";
+          sha256 = "1ywx67dmvackfx19p4fvrb8mm27a7pri3m3bwr2acwd29lrrid2x";
+          name = "honcho";
+        };
+        packageRequires = [ emacs sudo-edit ];
+        meta = {
+          homepage = "https://melpa.org/#/honcho";
+          license = lib.licenses.free;
+        };
+      }) {};
     hookify = callPackage ({ dash, fetchFromGitHub, fetchurl, lib, melpaBuild, s }:
     melpaBuild {
         pname = "hookify";
@@ -36112,6 +36407,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    horoscope = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "horoscope";
+        version = "20180408.2341";
+        src = fetchFromGitHub {
+          owner = "mschuldt";
+          repo = "horoscope.el";
+          rev = "f4c683e991adce0a8f9023f15050f306f9b9a9ed";
+          sha256 = "17k4j4q19l4ahxlzzic1jlbbh7l378j9vgnrcrvpm0lxa9ipclk0";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/180248c19160940a208b32fa7a9660a838f68de5/recipes/horoscope";
+          sha256 = "1y2nzhdl7ghi5l3iyzb04xics7gr5981jmb5z5y8y1z04xhqpfs6";
+          name = "horoscope";
+        };
+        packageRequires = [ emacs ];
+        meta = {
+          homepage = "https://melpa.org/#/horoscope";
+          license = lib.licenses.free;
+        };
+      }) {};
     hound = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild, request }:
     melpaBuild {
         pname = "hound";
@@ -36324,12 +36640,12 @@
     htmlize = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "htmlize";
-        version = "20171017.141";
+        version = "20180412.1244";
         src = fetchFromGitHub {
           owner = "hniksic";
           repo = "emacs-htmlize";
-          rev = "a0b55cba65a225df8d9e17a3ac448ce9e8ec962d";
-          sha256 = "0k23xz34ksd6n9xa8anbpvx07fymflyxdggy2is2kp0vqg66pv5q";
+          rev = "315a8f23cfd3e87642ff9e30ae3300c7a84244d5";
+          sha256 = "0pjiid5a16xx9n5bvfff612mpli00y9nbzjapn9f1y79yl99yvxy";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/075aa00a0757c6cd1ad392f0300bf5f1b937648d/recipes/htmlize";
@@ -36513,12 +36829,12 @@
     hy-mode = callPackage ({ dash, dash-functional, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, s }:
     melpaBuild {
         pname = "hy-mode";
-        version = "20180115.1230";
+        version = "20180411.1231";
         src = fetchFromGitHub {
           owner = "hylang";
           repo = "hy-mode";
-          rev = "5c1167c17372c7448fedbbabbca6abc0e7e50050";
-          sha256 = "09pvgrbbq1z9s4bbr40iabcxpw1z08hqbr8i997hmfy7whmv8mwp";
+          rev = "d72192e36aeeae1c7784c95569cc330981465714";
+          sha256 = "1ld1q06i2srnwz1vkwf023vmcranb76xvskhclb8bmwk7gimz95s";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/fc9ab5cf16b61bb27559cd8ec5cf665a5aab2154/recipes/hy-mode";
@@ -36597,12 +36913,12 @@
     hydra = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "hydra";
-        version = "20180201.846";
+        version = "20180226.1116";
         src = fetchFromGitHub {
           owner = "abo-abo";
           repo = "hydra";
-          rev = "cf961400796aea8b385b64ac0ad31c1e2500cf6a";
-          sha256 = "03ffjrq4hidvxb6m4kk0xp8rmi53al16nab6lbid5brky67hvpmq";
+          rev = "62e0f374623df15c1eabebe78f4100850d708227";
+          sha256 = "1ydipk4fkc7dlfjr7isadgap9mfnmi1lj6n7ckrnzia22vyi9i7r";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a4375d8ae519290fd5018626b075c226016f951d/recipes/hydra";
@@ -36658,12 +36974,12 @@
     ialign = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "ialign";
-        version = "20180202.1447";
+        version = "20180322.848";
         src = fetchFromGitHub {
           owner = "mkcms";
           repo = "interactive-align";
-          rev = "523df320197b587abd8c0ec4e9fbc763aeab1cf6";
-          sha256 = "04jak5j4yywl7fn5sggc125yh6cy0livf55194mfxs2kmbs5wm0h";
+          rev = "0f3b412dc7688d99ea8c8810dd5e57a70d580b59";
+          sha256 = "1hqblgk14qrjd339p9hm640q11mixkhk5jd72sjja74xhbaxciab";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/072f1f7ce17e2972863bce10af9c52b3c6502eab/recipes/ialign";
@@ -36721,12 +37037,12 @@
     ibuffer-projectile = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, projectile }:
     melpaBuild {
         pname = "ibuffer-projectile";
-        version = "20171222.2000";
+        version = "20180324.2025";
         src = fetchFromGitHub {
           owner = "purcell";
           repo = "ibuffer-projectile";
-          rev = "bfa02c76dabdc02557b67fa556969bc74e255023";
-          sha256 = "0isgy5nkcbcf56p4f7xaf0shi4ja99s23gbvan6fimf6ra7qw4i2";
+          rev = "1e89bfa7cae0629d29f24af3d81774b88b3cede0";
+          sha256 = "0y0pvjic5n5wmkrjzjjnhz2xaknib6w5p01vgv2jf5ylwq84wray";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/363a6a888945f2c8b02f5715539439ba744d737d/recipes/ibuffer-projectile";
@@ -36998,8 +37314,8 @@
         src = fetchFromGitHub {
           owner = "DarwinAwardWinner";
           repo = "ido-completing-read-plus";
-          rev = "cb9aa780addb9d9b24a7be777d9fc70807596fa4";
-          sha256 = "0pqpjk7gmd28pmlih63c5z8j8h18ph780gba9yd71s2b2vkaw649";
+          rev = "2f4050ebd9591a3c2c73cbae1014c908226c43ec";
+          sha256 = "1jg3k8ivfjfqh5gw0zzwknvpa8hq21n9p2k913wvxyazv0b1gvqx";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/6104efc035bcf469d133ab9a2caf42c9d4482334/recipes/ido-completing-read+";
@@ -37057,12 +37373,12 @@
     ido-flex-with-migemo = callPackage ({ emacs, fetchFromGitHub, fetchurl, flx-ido, lib, melpaBuild, migemo }:
     melpaBuild {
         pname = "ido-flex-with-migemo";
-        version = "20170319.431";
+        version = "20180323.456";
         src = fetchFromGitHub {
           owner = "ROCKTAKEY";
           repo = "ido-flex-with-migemo";
-          rev = "c620934f50b9713693eba8e23f88c2aaa8510708";
-          sha256 = "0aymvbf36ph0zaff38r5vd7q0z3kv8wl3ivakhaybpsa2zvsgvxf";
+          rev = "9684ffc47d838e82d611d0955b390d8387cf5741";
+          sha256 = "06wi05bqwr1va589vzcyakjvh2z3vnn17ccbx0cgb7b3l8md73qs";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/1647d1ae7400ddbc8367c355ade16b5c360b42fc/recipes/ido-flex-with-migemo";
@@ -37306,27 +37622,6 @@
           license = lib.licenses.free;
         };
       }) {};
-    ido-ubiquitous = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, ido-completing-read-plus, lib, melpaBuild }:
-    melpaBuild {
-        pname = "ido-ubiquitous";
-        version = "20180216.949";
-        src = fetchFromGitHub {
-          owner = "DarwinAwardWinner";
-          repo = "ido-completing-read-plus";
-          rev = "cb9aa780addb9d9b24a7be777d9fc70807596fa4";
-          sha256 = "0pqpjk7gmd28pmlih63c5z8j8h18ph780gba9yd71s2b2vkaw649";
-        };
-        recipeFile = fetchurl {
-          url = "https://raw.githubusercontent.com/milkypostman/melpa/6104efc035bcf469d133ab9a2caf42c9d4482334/recipes/ido-ubiquitous";
-          sha256 = "11sdk0ymsqnsw1gycvq2wj4j0g502fp23qk6q9d95lm98nz68frz";
-          name = "ido-ubiquitous";
-        };
-        packageRequires = [ cl-lib ido-completing-read-plus ];
-        meta = {
-          homepage = "https://melpa.org/#/ido-ubiquitous";
-          license = lib.licenses.free;
-        };
-      }) {};
     ido-vertical-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "ido-vertical-mode";
@@ -37622,12 +37917,12 @@
     imake = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "imake";
-        version = "20171006.450";
+        version = "20180318.1559";
         src = fetchFromGitHub {
           owner = "tarsius";
           repo = "imake";
-          rev = "edd2e59f7996c35450987cf8f137ecb54777e9ca";
-          sha256 = "12mq1ki001jgjdfr3fx43z1xz4jrki18rb0wkb7n956dvl34w0fg";
+          rev = "7df5fb9684a0288313ef5f64594078d477105959";
+          sha256 = "0xc19ir5ak1bfq0ag48ql5rj58zd565csgxhpa30s9lvvkc8kvr5";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/28de8f7f5302b27c7c6600ad65a998119518be43/recipes/imake";
@@ -37643,12 +37938,12 @@
     imapfilter = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "imapfilter";
-        version = "20161008.1357";
+        version = "20180318.1327";
         src = fetchFromGitHub {
           owner = "tarsius";
           repo = "imapfilter";
-          rev = "a879ddc36fedc30311693f308f414c520fdfc370";
-          sha256 = "0rx4r6822iwl4gb9j0fii0sqinqvp3lzrc768rasgicgpklaqkjs";
+          rev = "79bbbe918319bc1e8f42a0bef53dc7c77fe868ea";
+          sha256 = "0lqhwh8kav7f526a40rjdy2hzarzph1i3ig2dmbf02gp32sl7rg9";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/2415894afa3404fbd73c84c58f8b8267187d6d86/recipes/imapfilter";
@@ -37724,27 +38019,6 @@
           license = lib.licenses.free;
         };
       }) {};
-    imgur = callPackage ({ anything, fetchFromGitHub, fetchurl, lib, melpaBuild }:
-    melpaBuild {
-        pname = "imgur";
-        version = "20120307.225";
-        src = fetchFromGitHub {
-          owner = "myuhe";
-          repo = "imgur.el";
-          rev = "ed952eb8f556c6fc0d982e2a689083504558cffb";
-          sha256 = "0nzgfj083im8lc62ifgsh1pmbw0j9wivimjgih7k6ny3jgw834rs";
-        };
-        recipeFile = fetchurl {
-          url = "https://raw.githubusercontent.com/milkypostman/melpa/d889f470cb81ac8a5f27e054755152867904feac/recipes/imgur";
-          sha256 = "0hr2zz7nq65jig2036g5sa8q2lhb42jv40ijikcz8s4f5v3y14i7";
-          name = "imgur";
-        };
-        packageRequires = [ anything ];
-        meta = {
-          homepage = "https://melpa.org/#/imgur";
-          license = lib.licenses.free;
-        };
-      }) {};
     immortal-scratch = callPackage ({ fetchhg, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "immortal-scratch";
@@ -37957,12 +38231,12 @@
     indium = callPackage ({ company, emacs, fetchFromGitHub, fetchurl, js2-mode, lib, melpaBuild, seq, websocket }:
     melpaBuild {
         pname = "indium";
-        version = "20180221.1434";
+        version = "20180410.457";
         src = fetchFromGitHub {
           owner = "NicolasPetton";
           repo = "Indium";
-          rev = "001ef02a2a3ac0803f0f89fb90ea92d7a6e23db2";
-          sha256 = "08plikqy6k1drc1m08c9jsln8laq3mzh6056ib64pxip64fwpl62";
+          rev = "3b758dff8a5153d6ad8c0d08385e5bcdd69232e4";
+          sha256 = "1yv2nz8x7i0dv2g9485hqq8b5qq397fa5yxv5d8bn5msvj81vl6c";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/4292058cc6e31cabc0de575134427bce7fcef541/recipes/indium";
@@ -37999,12 +38273,12 @@
     inf-clojure = callPackage ({ clojure-mode, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "inf-clojure";
-        version = "20180223.1717";
+        version = "20180402.1403";
         src = fetchFromGitHub {
           owner = "clojure-emacs";
           repo = "inf-clojure";
-          rev = "f420c8a4d27c7c2dfea2ebee230d4d1b632a4e3f";
-          sha256 = "06l1mqawpaypxmb8mx7l65nzms7amr2wjz2xyhhx2czg7wdhg7sk";
+          rev = "59868ff0433f7631c362ce25879bd4271d350ebc";
+          sha256 = "1xh901krzwmvkj0rdq0hjbf41vsf92mr0w9vjb9ki660wnnjw8wc";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/5d6112e06d1efcb7cb5652b0bec8d282d7f67bd9/recipes/inf-clojure";
@@ -38041,12 +38315,12 @@
     inf-mongo = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "inf-mongo";
-        version = "20160815.216";
+        version = "20180408.638";
         src = fetchFromGitHub {
           owner = "tobiassvn";
           repo = "inf-mongo";
-          rev = "649dc6ea8e468f1d8109568548eb222c71486dbf";
-          sha256 = "19n0ddzgbqhbz3qjpvvw4nasrn2qvkczrdd8kk9h28v8xix5grzp";
+          rev = "2e498d1c88bd1904eeec18ed06b1a0cf8bdc2a92";
+          sha256 = "1m6skisj6r3fbxadpwwgf3a3934b2qvwb7zj975qksxq56ij0wkq";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/be9b27d5354d4b30cc9dd3be730d79e5a5bc1f74/recipes/inf-mongo";
@@ -38062,12 +38336,12 @@
     inf-ruby = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "inf-ruby";
-        version = "20180121.2300";
+        version = "20180309.433";
         src = fetchFromGitHub {
           owner = "nonsequitur";
           repo = "inf-ruby";
-          rev = "d39ea0bd59e5f62eb92a051c1ab3d7a0f896ae0c";
-          sha256 = "0jfcdmyvxk8vj097qiq2zsr2h6v7wmsxlm8yldpsan8wa0s4rkzx";
+          rev = "57710da5c8c146fef805deb7dc6a2cd8ccbc11d4";
+          sha256 = "0kwxa8mpn3drvn1rnfh4g1hvin8l2sa1gns01dshf1qqaa829jkb";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/cae2ac3513e371a256be0f1a7468e38e686c2487/recipes/inf-ruby";
@@ -38377,12 +38651,12 @@
     insert-shebang = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "insert-shebang";
-        version = "20170825.438";
+        version = "20180403.514";
         src = fetchFromGitHub {
           owner = "psachin";
           repo = "insert-shebang";
-          rev = "adfa473f07443b231914d277c20a3419b30399b6";
-          sha256 = "10zy3vg5fr30hhv0q3jldffhjacg1yrv5d9gfkdz55ry277l3xz1";
+          rev = "7bfea92ba1dae9d13d442e2f84f9fb6c05a0a9bd";
+          sha256 = "01f2p58qsny7p9l6vrra0i2m2g1k05p39m0bzi906zm5awx7l0rr";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/c257f4f5011cd7d0b2a5ef3adf13f9871bf0be92/recipes/insert-shebang";
@@ -38502,12 +38776,12 @@
     intero = callPackage ({ company, emacs, fetchFromGitHub, fetchurl, flycheck, haskell-mode, lib, melpaBuild }:
     melpaBuild {
         pname = "intero";
-        version = "20180221.149";
+        version = "20180409.1854";
         src = fetchFromGitHub {
           owner = "commercialhaskell";
           repo = "intero";
-          rev = "752e5ab174bdde87dcadccf478ca43fe328d8aeb";
-          sha256 = "0darhg4iwzgfpi62f2l9p83fvl877dw1fml8y4sfn9vrwqnvy93f";
+          rev = "37af01509e55341ffcc81b56d1f30032a055d1e5";
+          sha256 = "0fqm6r73lk2ysv2zif6mi7zkdzsxar8dxgc5g6j64426hp6jc5m0";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/1b56ca344ad944e03b669a9974e9b734b5b445bb/recipes/intero";
@@ -38817,12 +39091,12 @@
     irony = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, json ? null, lib, melpaBuild }:
     melpaBuild {
         pname = "irony";
-        version = "20180104.1109";
+        version = "20180408.429";
         src = fetchFromGitHub {
           owner = "Sarcasm";
           repo = "irony-mode";
-          rev = "82ba45ec15c9011bbdf1d69cf25c8193d33c0028";
-          sha256 = "0iby446mpgjrs4kg0ji8435h3aamdvcxbmv1j3qg0i9p6abmi7f8";
+          rev = "94856c65ea9242aee5f57a66212ad12f5f39252b";
+          sha256 = "1n6malmrxfzrzc9m44ycgp122x3hqkm6yhgiyna53z7bmx6whq70";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/d2b6a8d57b192325dcd30fddc9ff8dd1516ad680/recipes/irony";
@@ -38943,12 +39217,12 @@
     isortify = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "isortify";
-        version = "20180206.450";
+        version = "20180312.2132";
         src = fetchFromGitHub {
           owner = "proofit404";
           repo = "isortify";
-          rev = "18c273ff401643fb903e90dff73c47a4b52268ef";
-          sha256 = "18ziajgjij66g01fyrr1z95z4x2ynfvcyas92b2rvdc1dnsdhs10";
+          rev = "2e53c9ce3fa1ef80b08a8568cdae19a3669f3056";
+          sha256 = "1l2py65xr0m3w9lc6qp2jcc9477kjhkfnjdnkgfimz6aqlg1p9xg";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/9d4ad18492e7f4a56a1515873bc0b66fa49829bb/recipes/isortify";
@@ -39111,12 +39385,12 @@
     ivy = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "ivy";
-        version = "20180225.744";
+        version = "20180415.905";
         src = fetchFromGitHub {
           owner = "abo-abo";
           repo = "swiper";
-          rev = "e4b05e7af0ea80c91ddca6be5eae447a0ba3b8b5";
-          sha256 = "00vdb4mwgy6cza3ybjza2xk3rzk4y14d83cnvw58wvnj190gphm3";
+          rev = "1181d0f7acb9e77a15fa7e62cb1027979185c853";
+          sha256 = "0vsl346axdlkcv96cxlciw7bmvxwl2ficjgw9nxrsvhsjsy7md02";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/06c24112a5e17c423a4d92607356b25eb90a9a7b/recipes/ivy";
@@ -39132,12 +39406,12 @@
     ivy-bibtex = callPackage ({ biblio, cl-lib ? null, dash, f, fetchFromGitHub, fetchurl, lib, melpaBuild, parsebib, s, swiper }:
     melpaBuild {
         pname = "ivy-bibtex";
-        version = "20180222.630";
+        version = "20180328.1147";
         src = fetchFromGitHub {
           owner = "tmalsburg";
           repo = "helm-bibtex";
-          rev = "9002522af7ea199a1453326746ffccbd934d290f";
-          sha256 = "1h5czxjxlq16na9rxyg73zpkrvalqyyvdfr7qyknn1avibn2msz7";
+          rev = "5be84d36758ed7d5838cc5c8796a6ff427ba7043";
+          sha256 = "1pqg49mj22izilx8x9rshflpyiw1q9zrp881nasp5lvbihwydvrg";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/c23c09225c57a9b9abe0a0a770a9184ae2e58f7c/recipes/ivy-bibtex";
@@ -39174,12 +39448,12 @@
     ivy-erlang-complete = callPackage ({ async, counsel, emacs, erlang, fetchFromGitHub, fetchurl, ivy, lib, melpaBuild }:
     melpaBuild {
         pname = "ivy-erlang-complete";
-        version = "20180201.427";
+        version = "20180311.558";
         src = fetchFromGitHub {
           owner = "s-kostyaev";
           repo = "ivy-erlang-complete";
-          rev = "9783970f7dc39aaa8263d420d9d1ed6912c8e19d";
-          sha256 = "1fanxpynp3cigll0x3vknxr8r6plvsbyn34qs28zjfi0l062a8jv";
+          rev = "62e2b14ff25b0c143c882cb38d029b216acc3dd6";
+          sha256 = "0sbxmj3ap0navgi7lxlgwb9ykfb8khgh7nl1hmqfh2jn9vx2s568";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/ac1b9e350d3f066e4e56202ebb443134d5fc3669/recipes/ivy-erlang-complete";
@@ -39216,12 +39490,12 @@
     ivy-gitlab = callPackage ({ dash, fetchFromGitHub, fetchurl, gitlab, ivy, lib, melpaBuild, s }:
     melpaBuild {
         pname = "ivy-gitlab";
-        version = "20160519.312";
+        version = "20180312.947";
         src = fetchFromGitHub {
           owner = "nlamirault";
           repo = "emacs-gitlab";
-          rev = "67567a354a1888419331b79862f151817d9747c5";
-          sha256 = "11bcl5ndwvm2nahcfdbrvxgh48s5i4i7sv74lgnskd90fnjh7gdw";
+          rev = "68318aca3206d50701039c9aae39734ca29a49f9";
+          sha256 = "0arsjdn0anp7pacwxd3cw4db8a7pgzjlnwav1l3maaz1176h4lpb";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/35d4d4f22e4c567954287b2a1cabcb595497095a/recipes/ivy-gitlab";
@@ -39262,8 +39536,8 @@
         src = fetchFromGitHub {
           owner = "abo-abo";
           repo = "swiper";
-          rev = "e4b05e7af0ea80c91ddca6be5eae447a0ba3b8b5";
-          sha256 = "00vdb4mwgy6cza3ybjza2xk3rzk4y14d83cnvw58wvnj190gphm3";
+          rev = "1181d0f7acb9e77a15fa7e62cb1027979185c853";
+          sha256 = "0vsl346axdlkcv96cxlciw7bmvxwl2ficjgw9nxrsvhsjsy7md02";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/06c24112a5e17c423a4d92607356b25eb90a9a7b/recipes/ivy-hydra";
@@ -39297,6 +39571,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    ivy-mpdel = callPackage ({ emacs, fetchFromGitHub, fetchurl, ivy, lib, libmpdel, melpaBuild, mpdel }:
+    melpaBuild {
+        pname = "ivy-mpdel";
+        version = "20180401.1207";
+        src = fetchFromGitHub {
+          owner = "mpdel";
+          repo = "ivy-mpdel";
+          rev = "f9f745792abfed85d535b4cb5b2a95f944bbad1d";
+          sha256 = "1sxd9hny0n751irf87bab0g3ygq6j4g32gdy4yk27y3r00i9g4b6";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/bb25443752e18e47afc63d5497cc5052c388a607/recipes/ivy-mpdel";
+          sha256 = "1v9xiy4bs7r24li6fwi5dfqav8dfr3dy0xhj3wnzvcgwxp5ji56r";
+          name = "ivy-mpdel";
+        };
+        packageRequires = [ emacs ivy libmpdel mpdel ];
+        meta = {
+          homepage = "https://melpa.org/#/ivy-mpdel";
+          license = lib.licenses.free;
+        };
+      }) {};
     ivy-pages = callPackage ({ emacs, fetchFromGitHub, fetchurl, ivy, lib, melpaBuild }:
     melpaBuild {
         pname = "ivy-pages";
@@ -39339,15 +39634,36 @@
           license = lib.licenses.free;
         };
       }) {};
+    ivy-phpunit = callPackage ({ emacs, fetchFromGitHub, fetchurl, ivy, lib, melpaBuild, phpunit }:
+    melpaBuild {
+        pname = "ivy-phpunit";
+        version = "20180219.115";
+        src = fetchFromGitHub {
+          owner = "12pt";
+          repo = "ivy-phpunit";
+          rev = "ffedb0138d36564e8e36a28fd9bc71ea8944681f";
+          sha256 = "0kf1k3jqg2r20x985h6brg92sg7y47c5vkfjky8xp11gqyqw47bi";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/93822c5588f81683e3d43f690785b80c207d331d/recipes/ivy-phpunit";
+          sha256 = "1spvcf41lvjdmiwp6058wrpp0hfg1cjld6b7zm28m2ys6mn35ycs";
+          name = "ivy-phpunit";
+        };
+        packageRequires = [ emacs ivy phpunit ];
+        meta = {
+          homepage = "https://melpa.org/#/ivy-phpunit";
+          license = lib.licenses.free;
+        };
+      }) {};
     ivy-posframe = callPackage ({ emacs, fetchFromGitHub, fetchurl, ivy, lib, melpaBuild, posframe }:
     melpaBuild {
         pname = "ivy-posframe";
-        version = "20180222.343";
+        version = "20180309.132";
         src = fetchFromGitHub {
           owner = "tumashu";
           repo = "ivy-posframe";
-          rev = "ddaf875d5f5a8629ba49731c199e0ca57effd3d8";
-          sha256 = "0k7mc268lrkkv7ril7z4vnm5z1ha7hl4274av8m2vfsd1szryip2";
+          rev = "b9b9a45455692d06b89d4fbf40bba6852b9a109a";
+          sha256 = "1sc8mwk5ans3l0p465wl3blvchfmkhyg06x95b0dnkjldzkk2v6a";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/9e7c6f7ca439683abf11dcaa38672ac139c0da4f/recipes/ivy-posframe";
@@ -39384,12 +39700,12 @@
     ivy-rich = callPackage ({ emacs, fetchFromGitHub, fetchurl, ivy, lib, melpaBuild }:
     melpaBuild {
         pname = "ivy-rich";
-        version = "20180225.1752";
+        version = "20180314.1909";
         src = fetchFromGitHub {
           owner = "yevgnen";
           repo = "ivy-rich";
-          rev = "7fc9859802e264afeadb464aa8945f508727e8fa";
-          sha256 = "0lw2ywk47cbgdc37m41hm1rin3r79j5w1qrb45mixdw3l5b1vsv2";
+          rev = "69314197b6563b87d145eb13ea16efd5b20513a6";
+          sha256 = "1a09mf51nbjvz8i91vx09rricvnlpmnh1znwhrxi5iiwa1pd0dlh";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/0fc297f4949e8040d1b0b3271c9a70c64887b960/recipes/ivy-rich";
@@ -39409,8 +39725,8 @@
         src = fetchFromGitHub {
           owner = "Andersbakken";
           repo = "rtags";
-          rev = "4f27c1cc60742622e6616b579c82b5440ad446d3";
-          sha256 = "08310vkd7gyfc9jcis7r5dfdb6spilxw1kf7p8vm078v8hmmjyj0";
+          rev = "4747d5b695bee40c3b0a2e3591ac8897571edd66";
+          sha256 = "1qy71bx8nki73mqslw54hq5bn1asz5qg1b2848nrsj8zb2yd85x5";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/3dea16daf0d72188c8b4043534f0833fe9b04e07/recipes/ivy-rtags";
@@ -39468,12 +39784,12 @@
     ivy-xref = callPackage ({ emacs, fetchFromGitHub, fetchurl, ivy, lib, melpaBuild }:
     melpaBuild {
         pname = "ivy-xref";
-        version = "20180201.1919";
+        version = "20180405.1721";
         src = fetchFromGitHub {
           owner = "alexmurray";
           repo = "ivy-xref";
-          rev = "4d2c437b479733e4159a356c9909ed3e110403a1";
-          sha256 = "19gzsphcmkzyihcijb0609ykv98ak24p3z4k0ifil5r40iss1d1n";
+          rev = "5c21aa14c81df1b75a4c7090729a41f755b74916";
+          sha256 = "0qw3yqbs340k4mv0wy42nrn7r1wx537ypnr2idrll4v8fppfz24n";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a4cd8724e8a4119b61950a97b88219bf56ce3945/recipes/ivy-xref";
@@ -39928,12 +40244,12 @@
     jbeans-theme = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "jbeans-theme";
-        version = "20171212.1053";
+        version = "20180309.825";
         src = fetchFromGitHub {
           owner = "synic";
           repo = "jbeans-emacs";
-          rev = "08dbcc9d8d33ed17cfe2de279f6979692c6fcaab";
-          sha256 = "09w9rkp6vh3v632kbd38aizbl3njpwxpx3n1819sz452iqsx81c7";
+          rev = "3caa95998d8492a2ca6c17971de499ca15609871";
+          sha256 = "0k8bd5j09753czl55dcwijs4j1vxir4zwcwlgsxli4b4f8sl2z8r";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/6dd4bd78795ec7509d8744fec1e80426ce0557ec/recipes/jbeans-theme";
@@ -39974,8 +40290,8 @@
         src = fetchFromGitHub {
           owner = "jdee-emacs";
           repo = "jdee";
-          rev = "6244d4608fe1ec1a1cac7b4b45cf6d1edb06cb91";
-          sha256 = "00bscgxv2gmxbmb88p8yhb5ckz73srm251h1vsdfz84cn7vsk1wz";
+          rev = "07afc434bb502d85fc8b882f62fc4d237d23f34e";
+          sha256 = "0pnf80l5v0sn24p64pb36lrajs9b7p4y9m984hm52k2ah8kjg2n5";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a6d2c98f3bf2075e33d95c7befe205df802e798d/recipes/jdee";
@@ -40138,12 +40454,12 @@
     jetbrains = callPackage ({ cl-lib ? null, emacs, f, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "jetbrains";
-        version = "20171107.847";
+        version = "20180228.2102";
         src = fetchFromGitHub {
           owner = "emacs-php";
           repo = "jetbrains.el";
-          rev = "8d0851793d0658cc39bca455dc14c89f78ab8335";
-          sha256 = "1k3zb3c5h8bqa7yxl3by4vxlzabh3wl5sz6ynpi01pmqf75qxa4s";
+          rev = "56f71a17d455581c10d48f6dbb31d9e2126227bf";
+          sha256 = "0v948k7xjm66px20ad331pskc7svpcrcffh3hbkjsksd4k0pggds";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/00dd4626e261d9831fc62d866d50b7257ee418c4/recipes/jetbrains";
@@ -40306,12 +40622,12 @@
     jq-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "jq-mode";
-        version = "20180213.755";
+        version = "20180407.1048";
         src = fetchFromGitHub {
           owner = "ljos";
           repo = "jq-mode";
-          rev = "d1fca4613ec90c2c0b8241f4603eba733dd1ac73";
-          sha256 = "0sgpl03dqm4lv081l3ff3xp38c39q5i2miyvpsqdjmgnixg3nm8c";
+          rev = "72ea5e35e0a66c7275cf4fe4af25a619761653d7";
+          sha256 = "0xgkmadbbs3zid11pn6silb25kyng424ikgx0wib48yzcra0kdw4";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/318705966e26e58f87b53c115c519db95874ac1c/recipes/jq-mode";
@@ -40537,12 +40853,12 @@
     js2-mode = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "js2-mode";
-        version = "20171224.1833";
+        version = "20180331.2247";
         src = fetchFromGitHub {
           owner = "mooz";
           repo = "js2-mode";
-          rev = "40885b6b50e497d2af53161785b3c9cc3133e42d";
-          sha256 = "1yr96bm3vd6na967nn13p462ggh16k0lczgjmwg2qafmpyypn1di";
+          rev = "d76b4df4427e7bf4dfb2ba7b5dfff3c2aea52459";
+          sha256 = "0m6pv3a6ji5dxjc8wp4z40rms63y4wz5k0bbl0ayi0k6miliik0d";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/cae2ac3513e371a256be0f1a7468e38e686c2487/recipes/js2-mode";
@@ -40558,12 +40874,12 @@
     js2-refactor = callPackage ({ dash, fetchFromGitHub, fetchurl, js2-mode, lib, melpaBuild, multiple-cursors, s, yasnippet }:
     melpaBuild {
         pname = "js2-refactor";
-        version = "20180118.251";
+        version = "20180410.201";
         src = fetchFromGitHub {
           owner = "magnars";
           repo = "js2-refactor.el";
-          rev = "c005a0df51fd671213a45d8693a1d9cf5b21a06f";
-          sha256 = "1jyrirfnrb38jcl24ad2v427arzw3ynxwsw29b58zm9c6rxr7k6h";
+          rev = "391e06c80e9197581c9d0b04edb5a65ffc149dcf";
+          sha256 = "1w6pjhvcc8i7rmg85nxbnch3yxfcz81i7d1kdpbyra0i2ls7ikvm";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/8935264dfea9bacc89fef312215624d1ad9fc437/recipes/js2-refactor";
@@ -40747,12 +41063,12 @@
     jsonnet-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "jsonnet-mode";
-        version = "20171005.24";
+        version = "20180310.2256";
         src = fetchFromGitHub {
           owner = "mgyucht";
           repo = "jsonnet-mode";
-          rev = "efe768fdcff25d746674fbbf229b9e1a7efea4f1";
-          sha256 = "1a52266y83z9i3sg7hhc8sw7rhjy5i9wdy2bv7s2fv00lnngaj29";
+          rev = "4eb52cff8ce6020f5a6309a1c0465b5cdd6c698e";
+          sha256 = "0l9q6g00yxz5j1hchd2vim33n39zshv7qmmga1zf8qcn20yxz7mm";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/ba17372732723f73e8eeb6e7c47abc0edeb20da4/recipes/jsonnet-mode";
@@ -41127,8 +41443,8 @@
         src = fetchFromGitHub {
           owner = "listx";
           repo = "kakapo-mode";
-          rev = "67d516138172fd60782df94454b3d0bd247e84f3";
-          sha256 = "0r2n410arr48skcwm39c6mjhzsia117lb8xd7pc4854y0rbrvrvs";
+          rev = "292e07203c676361a1d918deb5acf2123cd70eaf";
+          sha256 = "00rl5y7wra7kyp867ps2inx0vng9jrmym0sm4jhnk6pqj50c8i9y";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a43f0f1f6a0773240a51d379ec786c20a9389e7b/recipes/kakapo-mode";
@@ -41226,12 +41542,12 @@
     kaolin-themes = callPackage ({ autothemer, cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "kaolin-themes";
-        version = "20180223.1702";
+        version = "20180416.401";
         src = fetchFromGitHub {
           owner = "ogdenwebb";
           repo = "emacs-kaolin-themes";
-          rev = "bf301134df90159a8657fe772365fd9c82de977b";
-          sha256 = "0gm96xxa2zvmn442cjzqsqhjw6r8fsrxqacphwa19lvmm9csv3wj";
+          rev = "2afd1be2a431b59e82ce22353b57bb7def851da5";
+          sha256 = "19y5j2jha3q3i0l06bzywgxbc8q34sc1rh76j0wfvm6r6yxq1bwa";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/043a4e3bd5301ef8f4df2cbda0b3f4111eb399e4/recipes/kaolin-themes";
@@ -41433,15 +41749,36 @@
           license = lib.licenses.free;
         };
       }) {};
+    keycast = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "keycast";
+        version = "20180318.1321";
+        src = fetchFromGitHub {
+          owner = "tarsius";
+          repo = "keycast";
+          rev = "46370b8a72922902921d3ed2fa194564568053dc";
+          sha256 = "0wgicba3v5l7a0wmmr3awf026vhf4grrn8c4i2hipi9ij3wckqzc";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/aaaf62c586818f2493667ad6ec8877234a58da53/recipes/keycast";
+          sha256 = "19qq5y1zjp3029kfq0c59xl9xnxqmdn2pd04sblznchcr9jdy5id";
+          name = "keycast";
+        };
+        packageRequires = [ emacs ];
+        meta = {
+          homepage = "https://melpa.org/#/keycast";
+          license = lib.licenses.free;
+        };
+      }) {};
     keychain-environment = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "keychain-environment";
-        version = "20170118.626";
+        version = "20180318.1523";
         src = fetchFromGitHub {
           owner = "tarsius";
           repo = "keychain-environment";
-          rev = "7c08e8c4c3ea4d6eaee12d710a56793771f837c5";
-          sha256 = "1mnqa69f584qzb62nn01bb4nz08gi7ra8b6xr0x7aphfqzk86kzy";
+          rev = "d3643196de6dc79ea77f9f4805028350fd76100b";
+          sha256 = "0wzs77nwal6apinc39d4arj3lralv2cb9aw9gkikk46fgk404hwj";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/4382c9e7e8dee2cafea9ee49965d0952ca359dd5/recipes/keychain-environment";
@@ -41499,12 +41836,12 @@
     keymap-utils = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "keymap-utils";
-        version = "20170614.1134";
+        version = "20180318.1537";
         src = fetchFromGitHub {
           owner = "tarsius";
           repo = "keymap-utils";
-          rev = "0130f32e5ade649dd2738206a80570e450906ef6";
-          sha256 = "1bq7zihdj67j94yyv6655mcrxhz99szbf2zi64nwsl60bxz0znb8";
+          rev = "1ad766dbc111ec78b1a292da97b9bd4856cd2ff7";
+          sha256 = "0imx8zp21bm066bzdynvasylrlhw0gr8mpk2bwkz8j1y5lsp54v8";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/c03acebf1462dea36c81d4b9ab41e2e5739be3c3/recipes/keymap-utils";
@@ -41734,8 +42071,8 @@
         src = fetchFromGitHub {
           owner = "kivy";
           repo = "kivy";
-          rev = "9f64f5e24240cbf7e2cd34315d08131fd31ec822";
-          sha256 = "0liyqkwv94wz623ihz5kyzfagdi08qp3q0q2hcvavjyk3j8ih6ll";
+          rev = "94d623f914745aab67715356db6731860a3e37e1";
+          sha256 = "1hs69p79f27rdy8v4dld46qdnsszm7f4xx0nqlvz1pgy0wm3lq71";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/688e2a114073958c413e56e1d117d48db9d16fb8/recipes/kivy-mode";
@@ -42066,12 +42403,12 @@
     kurecolor = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, s }:
     melpaBuild {
         pname = "kurecolor";
-        version = "20170808.602";
+        version = "20180401.521";
         src = fetchFromGitHub {
           owner = "emacsfodder";
           repo = "kurecolor";
-          rev = "3e8b63e89e294179e42a14a4a357c29a72669a22";
-          sha256 = "0pj8252x5s61bwsfrhi5qvwk8jia3kc67r82v5m4a900zpmx3a7k";
+          rev = "a27153f6a01f38226920772dc4917b73166da5e6";
+          sha256 = "04av67q5841jli6rp39hav3a5gr2vcf3db4qsv553i23ffplb955";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/58a5ebdbf82e83e6602161bca049d468887abe02/recipes/kurecolor";
@@ -42192,12 +42529,12 @@
     langtool = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "langtool";
-        version = "20170917.2154";
+        version = "20180409.316";
         src = fetchFromGitHub {
           owner = "mhayashi1120";
           repo = "Emacs-langtool";
-          rev = "bae4bdd240583b2253b4ff03af5295146e285103";
-          sha256 = "0zwaddpmvkq7v5nnyzacmx0ql5zjlisvkqwa2knw3pihngr160cd";
+          rev = "d93286722cff3fecf8641a4a6c3b0691f30362fe";
+          sha256 = "17xa055705n4jb7nafqvqgl0a6fdaxp3b3q8q0gsv5vzycsc74ga";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/503845e79e67c921f1fde31447f3dd4da2b6f993/recipes/langtool";
@@ -42485,12 +42822,12 @@
     lcr = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "lcr";
-        version = "20180224.1243";
+        version = "20180414.1256";
         src = fetchFromGitHub {
           owner = "jyp";
           repo = "lcr";
-          rev = "6caa2bac7056dcf42c4cb88a1d5fbe1c9d71a9b4";
-          sha256 = "0xvl0dqxwim6nmm6f9ddyp0r6j1n719zlgm2a3f49dskhnkn798z";
+          rev = "49a59d80a4b55cc421cb55430ff8258887382c3d";
+          sha256 = "1fds0s0if9m155v5hk5l0ihc6wr331qif5bc013w04hrlkn4v5jh";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/29374d3da932675b7b3e28ab8906690dad9c9cbe/recipes/lcr";
@@ -42503,27 +42840,6 @@
           license = lib.licenses.free;
         };
       }) {};
-    ldap-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
-    melpaBuild {
-        pname = "ldap-mode";
-        version = "20091203.1015";
-        src = fetchFromGitHub {
-          owner = "emacsmirror";
-          repo = "ldap-mode";
-          rev = "8761a835e90b990fb5fe70173ecdcd6f4b776cb0";
-          sha256 = "03mv2r6k9syr7bk4vmdafmpa8kz19hv5h68ahj2bmdcmwlvwhkf3";
-        };
-        recipeFile = fetchurl {
-          url = "https://raw.githubusercontent.com/milkypostman/melpa/169243eedf4ee97fe01811a686f0798f2573fa0a/recipes/ldap-mode";
-          sha256 = "0lkfpbzsry9jigrx5zp14bkrvqnavnk4y3s0whnbigc4fgpf94rq";
-          name = "ldap-mode";
-        };
-        packageRequires = [];
-        meta = {
-          homepage = "https://melpa.org/#/ldap-mode";
-          license = lib.licenses.free;
-        };
-      }) {};
     lean-mode = callPackage ({ dash, dash-functional, emacs, f, fetchFromGitHub, fetchurl, flycheck, lib, melpaBuild, s }:
     melpaBuild {
         pname = "lean-mode";
@@ -42569,12 +42885,12 @@
     ledger-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "ledger-mode";
-        version = "20180224.1936";
+        version = "20180416.105";
         src = fetchFromGitHub {
           owner = "ledger";
           repo = "ledger-mode";
-          rev = "3a10229bc1c12f36c9432ec3b459069a07f05498";
-          sha256 = "1x0jg0vysab8592882pgbszrshr85ss66s8fsa6mhh61plxd0fw6";
+          rev = "fa09a3bdd25a532b8ee1335e22b7427eb0d231e9";
+          sha256 = "0hp7p6nmxp4ass17vnlx0r73k9gc4z8aknsmpwpyw1radx26vy1k";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/1549048b6f57fbe9d1f7fcda74b78a7294327b7b/recipes/ledger-mode";
@@ -42881,6 +43197,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    libmpdel = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "libmpdel";
+        version = "20180403.816";
+        src = fetchFromGitHub {
+          owner = "mpdel";
+          repo = "libmpdel";
+          rev = "6e9b1bd6c3439c8e15be0f85eff94f95d1e987f6";
+          sha256 = "03qcr2nc8x8h3cgb7fzk7r69b5fqpq63a3x8vd4fr6nps8bsb8gd";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/bb25443752e18e47afc63d5497cc5052c388a607/recipes/libmpdel";
+          sha256 = "0qi9g3czwzi9hhp7gjczpzjx9vgzz52xi91332l0sxcxmwbawjp1";
+          name = "libmpdel";
+        };
+        packageRequires = [ emacs ];
+        meta = {
+          homepage = "https://melpa.org/#/libmpdel";
+          license = lib.licenses.free;
+        };
+      }) {};
     lice = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "lice";
@@ -42930,8 +43267,8 @@
         src = fetchFromGitHub {
           owner = "janestreet";
           repo = "line-up-words";
-          rev = "b2cedc45295fd27f534f3b025d2ce72041850c2d";
-          sha256 = "0f3601k1clflan8h7a2g4l8ag2f5i5f1gh37mg5hrny8b98n009z";
+          rev = "bbefa954510801725070be50a7e13de6dc38f49a";
+          sha256 = "165sg8j69lxqjfx9avbcclsw6n57x4qrkhd74zbmzs35xnji9w5q";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/28ac7764a19fee2e1e2a89d95569815f1940c5e4/recipes/line-up-words";
@@ -42989,12 +43326,12 @@
     link-hint = callPackage ({ avy, cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "link-hint";
-        version = "20170923.855";
+        version = "20180407.1440";
         src = fetchFromGitHub {
           owner = "noctuid";
           repo = "link-hint.el";
-          rev = "0294df85aee10b47fcf6c2c9bfe7e1038660fa21";
-          sha256 = "0ixfrp6pfljgy5ja79cka0fa6a9ganwhh5myz6czqj4ykjzlyi2c";
+          rev = "b350015ec4ebea9e84f73dcac808dd79b2882966";
+          sha256 = "10gqpqq1xgjji7plljjkqzi0p63q65avjya0fsalrwvakzsx6xlv";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/d24b48fe0bc127ae6ac4084be8059aacb8445afd/recipes/link-hint";
@@ -43165,12 +43502,12 @@
     lispy = callPackage ({ ace-window, emacs, fetchFromGitHub, fetchurl, hydra, iedit, lib, melpaBuild, swiper, zoutline }:
     melpaBuild {
         pname = "lispy";
-        version = "20180215.1527";
+        version = "20180415.1117";
         src = fetchFromGitHub {
           owner = "abo-abo";
           repo = "lispy";
-          rev = "ae975815db5da512ea86c8547e5907cf04af54bc";
-          sha256 = "02s5242yc0c93g9wdry75pg3wrf53da9a3hdvm57zg7b1sjw6p4s";
+          rev = "582c9994688fcbbda454207e4112ad4a0cd80970";
+          sha256 = "02frf3r2m0hfz3xf3vvcccxi4gvkl9fz5asrgrc0f6v45850mdv2";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/e23c062ff32d7aeae486c01e29c56a74727dcf1d/recipes/lispy";
@@ -43207,12 +43544,12 @@
     lispyville = callPackage ({ cl-lib ? null, emacs, evil, fetchFromGitHub, fetchurl, lib, lispy, melpaBuild }:
     melpaBuild {
         pname = "lispyville";
-        version = "20180218.1555";
+        version = "20180414.1952";
         src = fetchFromGitHub {
           owner = "noctuid";
           repo = "lispyville";
-          rev = "d99f08d5971613bcecdd2768241b9c6d617a24c7";
-          sha256 = "12kjh2b9jdwrf6naq6qvskbhlv8xkjsqr1igbldg9mi8qmas60b9";
+          rev = "d2491462647fc6cffcc8f40c2a518a4948f2afcb";
+          sha256 = "029jg6nggk5qvrskvlgb52ymgbakd56cnva1mgb10invr0wpswqq";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/b5d96d3603dc328467fcce29d3ac1b0a02833d51/recipes/lispyville";
@@ -43267,27 +43604,6 @@
           license = lib.licenses.free;
         };
       }) {};
-    list-register = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
-    melpaBuild {
-        pname = "list-register";
-        version = "20091203.1015";
-        src = fetchFromGitHub {
-          owner = "emacsmirror";
-          repo = "list-register";
-          rev = "f8bec5dc3765174de1089549947d9ca9a1cdbe5f";
-          sha256 = "1pr7vmjmyildg44n7psg0zmj8a3kfsw5xmgh600fhs95wqxn3sag";
-        };
-        recipeFile = fetchurl {
-          url = "https://raw.githubusercontent.com/milkypostman/melpa/0fda2b54a0ff0b6fc3bd6d20cfcbbf63cae5380f/recipes/list-register";
-          sha256 = "0kza9xfhmxc8qia5yixx5z2y9j4wb1530rcvgxn545b903fs55kv";
-          name = "list-register";
-        };
-        packageRequires = [];
-        meta = {
-          homepage = "https://melpa.org/#/list-register";
-          license = lib.licenses.free;
-        };
-      }) {};
     list-unicode-display = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "list-unicode-display";
@@ -43480,12 +43796,12 @@
     live-py-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "live-py-mode";
-        version = "20180129.2352";
+        version = "20180330.1758";
         src = fetchFromGitHub {
           owner = "donkirkby";
           repo = "live-py-plugin";
-          rev = "22406984b66201441c7ad5689ab010bdfadd768b";
-          sha256 = "0ni1cvrabxiprb4gl5rd5hgwl5csy9q6b0yjd40ffvl1x5lmb0qw";
+          rev = "ab2f9bea32dbad11a6464a4880e5487645a0f65a";
+          sha256 = "0w3kpszsrh0gj0a62iqhnhm3flmmgq0pl0d6w5r61mvlq9wck5dv";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/c7615237e80b46b5c50cb51a3ed5b07d92566fb7/recipes/live-py-mode";
@@ -44002,12 +44318,12 @@
     lsp-go = callPackage ({ fetchFromGitHub, fetchurl, lib, lsp-mode, melpaBuild }:
     melpaBuild {
         pname = "lsp-go";
-        version = "20171021.336";
+        version = "20180330.255";
         src = fetchFromGitHub {
           owner = "emacs-lsp";
           repo = "lsp-go";
-          rev = "d270b7c0bd893fdc73a97763e07706830756cad2";
-          sha256 = "0i9l56dmkxcycn9a2ddj1zwa9cmzb5lpj6qn5x1k9q9yfk9hsc6b";
+          rev = "00cbaac9419efc641fbe9e27ad0315d2c9a3ecb5";
+          sha256 = "1n08vr2rkasz1w1bc43fi6zqg11vg7fa2a4sgp2cdrsn5hcp8nnh";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/1a7b69312e688211089a23b75910c05efb507e35/recipes/lsp-go";
@@ -44048,8 +44364,8 @@
         src = fetchFromGitHub {
           owner = "emacs-lsp";
           repo = "lsp-haskell";
-          rev = "cf3739e96b623fe8b95617561bb29476d7553462";
-          sha256 = "0739kclc6g80r38yjwwsyx7arc0z4jlmp4x7gmf30ijdpn32qb4b";
+          rev = "aa421f9702056a89cd4e63c0dcf5543acb62840f";
+          sha256 = "1m0diap909jn9w54j9462zg972xhwxivcda59jmb6isgjpyi1yyb";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/1a7b69312e688211089a23b75910c05efb507e35/recipes/lsp-haskell";
@@ -44065,12 +44381,12 @@
     lsp-java = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, lsp-mode, melpaBuild }:
     melpaBuild {
         pname = "lsp-java";
-        version = "20171023.650";
+        version = "20180330.30";
         src = fetchFromGitHub {
           owner = "emacs-lsp";
           repo = "lsp-java";
-          rev = "5176f63e80e8f971563c0b98658db7dc72404369";
-          sha256 = "07g259bx3vra2gf9mhxyd3qv1jb2s0lc0hndf0kvrcjdy29wwi52";
+          rev = "35ad849fdd445be127f8df59ef1bb68effd0b7ff";
+          sha256 = "0id9rjjzwybcyfa9ns3fm1py3zsm0z1l88dwlfh8pgkfjy7zkc34";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/1a7b69312e688211089a23b75910c05efb507e35/recipes/lsp-java";
@@ -44107,12 +44423,12 @@
     lsp-javascript-typescript = callPackage ({ fetchFromGitHub, fetchurl, lib, lsp-mode, melpaBuild }:
     melpaBuild {
         pname = "lsp-javascript-typescript";
-        version = "20180203.52";
+        version = "20180403.743";
         src = fetchFromGitHub {
           owner = "emacs-lsp";
           repo = "lsp-javascript";
-          rev = "8df90bc27852da2cf05951870d94ce7920d8c09f";
-          sha256 = "0pqk8p0z30p0j7lc5i2mvy7vmg8k5hphgwp4djhgm1ickm9pcx20";
+          rev = "2c1f2f4cb24c30fcefb2d07dad3f40b058c90c1f";
+          sha256 = "0pjzywlg981pvg4015w11b1dzrvqm1h3fjdl6qp6pv7iq2x9hxdp";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/999a4b0cd84e821c7e785ae4e487f32cff5c346b/recipes/lsp-javascript-typescript";
@@ -44125,22 +44441,22 @@
           license = lib.licenses.free;
         };
       }) {};
-    lsp-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, flycheck, lib, melpaBuild }:
+    lsp-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "lsp-mode";
-        version = "20180224.246";
+        version = "20180416.622";
         src = fetchFromGitHub {
           owner = "emacs-lsp";
           repo = "lsp-mode";
-          rev = "14d5626f905d2929e4358cbea3e0106b9f3c0454";
-          sha256 = "00py4qp1rivr54h033cjnipx7011cqac49v9x86zn2g2hfclhy7n";
+          rev = "34a669b76ac0aa45b4917f882687ca7577814249";
+          sha256 = "091ph46y6mb9rf0saar0vb230z1kf8w74f3dkcm7hs7b1k7khj3f";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/1a7b69312e688211089a23b75910c05efb507e35/recipes/lsp-mode";
           sha256 = "0cklwllqxzsvs4wvvvsc1pqpmp9w99m8wimpby6v6wlijfg6y1m9";
           name = "lsp-mode";
         };
-        packageRequires = [ emacs flycheck ];
+        packageRequires = [ emacs ];
         meta = {
           homepage = "https://melpa.org/#/lsp-mode";
           license = lib.licenses.free;
@@ -44191,12 +44507,12 @@
     lsp-python = callPackage ({ fetchFromGitHub, fetchurl, lib, lsp-mode, melpaBuild }:
     melpaBuild {
         pname = "lsp-python";
-        version = "20171021.254";
+        version = "20180404.819";
         src = fetchFromGitHub {
           owner = "emacs-lsp";
           repo = "lsp-python";
-          rev = "035fed681ef18a774dcb82e361bd6b5b8778623f";
-          sha256 = "0mhs7v1mc23h0rlcyinl3pf1qavjl4s6j5vrf9vc65sggsnw0x1d";
+          rev = "e2fb53d191344dd73e26ffaaa4ac95cd6686dbd9";
+          sha256 = "0s0w6sx7k7ys9i1w8zcf3hp9v3qzmcm4gl5pdnwr08ln73d3as9g";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/1a7b69312e688211089a23b75910c05efb507e35/recipes/lsp-python";
@@ -44212,12 +44528,12 @@
     lsp-rust = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, lib, lsp-mode, markdown-mode, melpaBuild, rust-mode }:
     melpaBuild {
         pname = "lsp-rust";
-        version = "20180213.2304";
+        version = "20180305.508";
         src = fetchFromGitHub {
           owner = "emacs-lsp";
           repo = "lsp-rust";
-          rev = "b4053425d57101f0c16ee3d4f7e3a3c483205f90";
-          sha256 = "037y7ns1p6riyycf65gq6myn921zjc2ga3h804yjx1n11wvrw9al";
+          rev = "ecc889cc8735b280e0e6e84d2f4526b0048148b3";
+          sha256 = "0wmci5lij5721xpfsj3mnvr3z1j8b9s0w76dhzd0lnyaknvyv1rs";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/1a7b69312e688211089a23b75910c05efb507e35/recipes/lsp-rust";
@@ -44230,22 +44546,29 @@
           license = lib.licenses.free;
         };
       }) {};
-    lsp-ui = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, flycheck, lib, lsp-mode, markdown-mode, melpaBuild }:
+    lsp-ui = callPackage ({ dash, dash-functional, emacs, fetchFromGitHub, fetchurl, flycheck, lib, lsp-mode, markdown-mode, melpaBuild }:
     melpaBuild {
         pname = "lsp-ui";
-        version = "20180224.2300";
+        version = "20180412.1807";
         src = fetchFromGitHub {
           owner = "emacs-lsp";
           repo = "lsp-ui";
-          rev = "7d73049dc2cf703550decdea42e35920efe7339f";
-          sha256 = "0cah4azsgks5qq8iv3g8dv0l18wkc4lca9xr7g79p2vl4z34sgps";
+          rev = "146efa7414a91090c494e24fac364011bc884f31";
+          sha256 = "0076kjv1wpw079mbv35v0j609xhis7xrvx6jg54hnb7y5h5rkqqz";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/1e4fa7cdf71f49f6998b26d81de9522248bc58e6/recipes/lsp-ui";
           sha256 = "00y5i44yd79z0v00a9lvgixb4mrx9nq5vcgmib70h41ffffaq42j";
           name = "lsp-ui";
         };
-        packageRequires = [ dash emacs flycheck lsp-mode markdown-mode ];
+        packageRequires = [
+          dash
+          dash-functional
+          emacs
+          flycheck
+          lsp-mode
+          markdown-mode
+        ];
         meta = {
           homepage = "https://melpa.org/#/lsp-ui";
           license = lib.licenses.free;
@@ -44275,12 +44598,12 @@
     lua-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "lua-mode";
-        version = "20180207.1216";
+        version = "20180323.321";
         src = fetchFromGitHub {
           owner = "immerrr";
           repo = "lua-mode";
-          rev = "7909513c056ac85fd637aece6d3773ffa3b9b6cd";
-          sha256 = "0bmsvggmrvcaq6yw856dk9484w5pjpfkkgia0p4w0f5rvvnfr8j3";
+          rev = "99312b8d6c500ba3067da6d81efcfbbea05a1cbd";
+          sha256 = "04m9njcpdmar3njjz4x2qq26xk0k6qprcfzx8whlmvapqf8w19iz";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/ca7bf43ef8893bf04e9658390e306ef69e80a156/recipes/lua-mode";
@@ -44590,12 +44913,12 @@
     magit = callPackage ({ async, dash, emacs, fetchFromGitHub, fetchurl, ghub, git-commit, let-alist, lib, magit-popup, melpaBuild, with-editor }:
     melpaBuild {
         pname = "magit";
-        version = "20180224.1651";
+        version = "20180416.852";
         src = fetchFromGitHub {
           owner = "magit";
           repo = "magit";
-          rev = "60a167ad12ce9e4dc9637254f39ae11ab2f22a81";
-          sha256 = "1s6n2j56cvrdg130w2iy2wvynzsqgjqcrnra3f39llpgl4vw9spl";
+          rev = "16785d7962cf84df12cf1e498b2c96519e84d235";
+          sha256 = "0ifzqqsyqk5x3d8zvq0yspcfhlndl7ppv6yxzz8w27pgb4h0jqwn";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/b0a9a6277974a7a38c0c46d9921b54747a85501a/recipes/magit";
@@ -44746,12 +45069,12 @@
     magit-imerge = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, magit, melpaBuild }:
     melpaBuild {
         pname = "magit-imerge";
-        version = "20180212.1648";
+        version = "20180329.1950";
         src = fetchFromGitHub {
           owner = "magit";
           repo = "magit-imerge";
-          rev = "79a2fccc460695df5547204ad6c05529868ba1fd";
-          sha256 = "1ks17wl0h4a5rhwfzq47rf60192rxyvkwqhnp3fg9sa85b0nqc3i";
+          rev = "f337f178a1b4d2e4c1199fa02338febe216ab902";
+          sha256 = "1x0714qxryj3fg9qwnsxrksdja1q98vvjpdwn8h9anifxa0wknh6";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/e78a5c27eedfc9b1d79e37e8d333c5d253f31a3c/recipes/magit-imerge";
@@ -44785,6 +45108,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    magit-org-todos = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, magit, melpaBuild }:
+    melpaBuild {
+        pname = "magit-org-todos";
+        version = "20180412.1542";
+        src = fetchFromGitHub {
+          owner = "danielma";
+          repo = "magit-org-todos.el";
+          rev = "0bfa36bbc50e62de0a3406031cb93e2f57dcdc55";
+          sha256 = "07r5x256k1fjjxs1yfg41kc94nwvnjlk2vvknkra3j8v9p0j88m7";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/84480cad490cab2f087a484ed7b9d3d3064bbd29/recipes/magit-org-todos";
+          sha256 = "0yywgzm2jzvsccm9h0a0s1q8fag9dfajnznwk6iqz5pywq5mxijr";
+          name = "magit-org-todos";
+        };
+        packageRequires = [ emacs magit ];
+        meta = {
+          homepage = "https://melpa.org/#/magit-org-todos";
+          license = lib.licenses.free;
+        };
+      }) {};
     magit-p4 = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, magit, magit-popup, melpaBuild, p4 }:
     melpaBuild {
         pname = "magit-p4";
@@ -44809,12 +45153,12 @@
     magit-popup = callPackage ({ async, dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "magit-popup";
-        version = "20180217.910";
+        version = "20180329.1302";
         src = fetchFromGitHub {
           owner = "magit";
           repo = "magit-popup";
-          rev = "48cf02b8e4d7d4a83bc22cacd64cbf4e6a266aa2";
-          sha256 = "0dnfa3djgnfgig279v46xl4gz3lzjmc48nq27gdlksnkp1mwnn3j";
+          rev = "a0b22e30d135d4f83a9227b3fa13b1377f9be0df";
+          sha256 = "0sn9gi0qm3q6c63f1jd67pkc54r2gqk8bzh21x48n2x2v4f84s63";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/0263ca6aea7bf6eae26a637454affbda6bd106df/recipes/magit-popup";
@@ -44827,27 +45171,6 @@
           license = lib.licenses.free;
         };
       }) {};
-    magit-rockstar = callPackage ({ dash, fetchFromGitHub, fetchurl, lib, magit, melpaBuild }:
-    melpaBuild {
-        pname = "magit-rockstar";
-        version = "20171215.1135";
-        src = fetchFromGitHub {
-          owner = "tarsius";
-          repo = "magit-rockstar";
-          rev = "c8320472e8a50c8299140ba0943bb1fe485d294a";
-          sha256 = "1xjym51z0v7ibxw059f6k3zljli6z390rmxvrywbfzkb8hqms0l1";
-        };
-        recipeFile = fetchurl {
-          url = "https://raw.githubusercontent.com/milkypostman/melpa/7a20b539cbd38ffa546c1b56b9fac78c0b9457f6/recipes/magit-rockstar";
-          sha256 = "1i4fmraiypyd3q6vvibkg9xqfxiq83kcz64b1dr3wmwn30j7986n";
-          name = "magit-rockstar";
-        };
-        packageRequires = [ dash magit ];
-        meta = {
-          homepage = "https://melpa.org/#/magit-rockstar";
-          license = lib.licenses.free;
-        };
-      }) {};
     magit-stgit = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, magit, melpaBuild }:
     melpaBuild {
         pname = "magit-stgit";
@@ -44935,12 +45258,12 @@
     magithub = callPackage ({ emacs, fetchFromGitHub, fetchurl, ghub-plus, git-commit, lib, magit, markdown-mode, melpaBuild, s }:
     melpaBuild {
         pname = "magithub";
-        version = "20180225.529";
+        version = "20180410.1351";
         src = fetchFromGitHub {
           owner = "vermiculus";
           repo = "magithub";
-          rev = "8d8d136ae4c380f004354675519f4016c735d78c";
-          sha256 = "1dnz8rz78wfvpjz652hs4jh90pkkgiak4vp9fzf2kx1j4c9skp97";
+          rev = "76b0156323c9953a8c6f36ff483a2d528d8df9bc";
+          sha256 = "0xg0284ca7w1clfyrd7lhiick6izj00bi9zn0hdq01h9lifardxw";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/magithub";
@@ -44956,12 +45279,12 @@
     magma-mode = callPackage ({ cl-lib ? null, dash, f, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "magma-mode";
-        version = "20160304.408";
+        version = "20180413.727";
         src = fetchFromGitHub {
           owner = "ThibautVerron";
           repo = "magma-mode";
-          rev = "528c96a269980dcc6b65e2e973510ff07e6b9fc4";
-          sha256 = "1pq6ckxp3dcb2f6xfsd4jwd43r9d0920m30ammp39glgc39p9lsq";
+          rev = "d8e41b3c0bc7d37be78fdbcabf6c13c9e182dfaa";
+          sha256 = "1wlwgbj3hslfxl21nz5s7g0p4kdpc5ph58jp7mrz0dws5cw3sj02";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/59764a0aab7c3f32b5a872a3d10a7e144f273a7e/recipes/magma-mode";
@@ -45082,12 +45405,12 @@
     makefile-executor = callPackage ({ dash, emacs, f, fetchFromGitHub, fetchurl, lib, melpaBuild, s }:
     melpaBuild {
         pname = "makefile-executor";
-        version = "20171017.438";
+        version = "20180410.30";
         src = fetchFromGitHub {
           owner = "thiderman";
           repo = "makefile-executor.el";
-          rev = "a950438c93dc2fdcb867ac25174c773deda95aff";
-          sha256 = "1vpa24k8gm9zr8mpam76k1wbzc1zama5s5ch1f8c1h539l8i8cl9";
+          rev = "054c5460616d1903499d49190ac79074e9bd1c52";
+          sha256 = "0axqm8hd2hz1a4qh02p7kyvrb0mab8iswpypij3q05s5yxidv1vv";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/08f8b4d680e4907dbd8ea46a75d98aa0e93c2bb9/recipes/makefile-executor";
@@ -45271,12 +45594,12 @@
     mandoku = callPackage ({ fetchFromGitHub, fetchurl, git, github-clone, lib, magit, melpaBuild, org }:
     melpaBuild {
         pname = "mandoku";
-        version = "20180223.2121";
+        version = "20180403.406";
         src = fetchFromGitHub {
           owner = "mandoku";
           repo = "mandoku";
-          rev = "a07d1cd310f59b28125717620dff5cd3ff674ab1";
-          sha256 = "1rpn1c66yi6rdn7f2dgdspbwgdyidvpdwshh52dydgwy4z08lpfs";
+          rev = "f230c871de8aab1be7b7a9718cd930548a90baa8";
+          sha256 = "1zqshxwbsyz60bag6dcabmx8a49nmnpad5kvpy1c6gvqhjr8axvw";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/1aac4ae2c908de2c44624fb22a3f5ccf0b7a4912/recipes/mandoku";
@@ -45664,12 +45987,12 @@
     mastodon = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "mastodon";
-        version = "20170619.1050";
+        version = "20180305.1909";
         src = fetchFromGitHub {
           owner = "jdenen";
           repo = "mastodon.el";
-          rev = "e08bb5794762d22f90e85fd65cef7c143e6b9318";
-          sha256 = "0bil0xxava04pd4acjqm3bfqm1kjdk4g0czd4zqvacsp5c9sl2qp";
+          rev = "ae8dabda04e377a6ac22cb854e4844f68073f533";
+          sha256 = "1avf2wkzd14dj27i9skm3mn3ipkr1zp93yrwxrk2q5kphj1qji2j";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/809d963b69b154325faaf61e54ca87b94c1c9a90/recipes/mastodon";
@@ -45999,12 +46322,12 @@
     meghanada = callPackage ({ company, emacs, fetchFromGitHub, fetchurl, flycheck, lib, melpaBuild, yasnippet }:
     melpaBuild {
         pname = "meghanada";
-        version = "20180218.538";
+        version = "20180405.1845";
         src = fetchFromGitHub {
           owner = "mopemope";
           repo = "meghanada-emacs";
-          rev = "ca20c57c9c389d4dd9fe88d9a3da33d5af78e4d0";
-          sha256 = "1k9dpvvz7qcscq9z76xvsas96lj0xsnp725z3w97sahqsi0sdxq8";
+          rev = "5479b42efe3ed504e3a0824e039e8365ebc0b788";
+          sha256 = "1jn4cpd6y310c8kkk7w0lpchac0rd3f8ri3lmy369gi1sb2xsk94";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/4c75c69b2f00be9a93144f632738272c1e375785/recipes/meghanada";
@@ -46293,12 +46616,12 @@
     mew = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "mew";
-        version = "20170508.22";
+        version = "20180329.2022";
         src = fetchFromGitHub {
           owner = "kazu-yamamoto";
           repo = "Mew";
-          rev = "36b36a154dab22e112cc19675cfd73478f2a5956";
-          sha256 = "01wqa5pf6zjxgsgzqw0pnp278vfd7livfgyqvc24xfqr519k2ifq";
+          rev = "abe7f589adc5eef0d53e1eeaba9ab28d01c91231";
+          sha256 = "1bn78w2mslsh02m6rzrqdm70cfgx1kgw10ifnrcslc1vn6lwvd0z";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/362dfc4d0fdb3e5cb39564160de62c3440ce182e/recipes/mew";
@@ -46332,15 +46655,36 @@
           license = lib.licenses.free;
         };
       }) {};
+    mgmtconfig-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "mgmtconfig-mode";
+        version = "20180222.1257";
+        src = fetchFromGitHub {
+          owner = "purpleidea";
+          repo = "mgmt";
+          rev = "754480a9b6f2d62093fb7a264a5c4ac42fc57997";
+          sha256 = "1z7gaij17yxk3ikxljlb54cvdcz0lhnm8wl0bpzpiycpnfkqxcy4";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/4cf3dd70ae73c2b049e201a3547bbeb9bb117983/recipes/mgmtconfig-mode";
+          sha256 = "0bdjaqfk68av4lfc4cpacrl2mxvimplfkbadi9l6wb65vlqz6sil";
+          name = "mgmtconfig-mode";
+        };
+        packageRequires = [ emacs ];
+        meta = {
+          homepage = "https://melpa.org/#/mgmtconfig-mode";
+          license = lib.licenses.free;
+        };
+      }) {};
     mhc = callPackage ({ calfw, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "mhc";
-        version = "20180127.621";
+        version = "20180314.3";
         src = fetchFromGitHub {
           owner = "yoshinari-nomura";
           repo = "mhc";
-          rev = "5c5265be1a0099d48ada502aaa28c7f3f08f9078";
-          sha256 = "0xaqbkdmn3hlalnzz69812a2cigpgh1199fl6hp20d4dq4hj4m6c";
+          rev = "f7bce7f5504093737071e2fc79ae6bc95dd37af5";
+          sha256 = "0sash77j2k1gpi35miyaf96g0zfx3d5hjqag8vcwc692lx1sf06c";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/d8d3efa0fcd6cd4af94bc99b35614ef6402cbdba/recipes/mhc";
@@ -46646,6 +46990,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    minions = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "minions";
+        version = "20180321.749";
+        src = fetchFromGitHub {
+          owner = "tarsius";
+          repo = "minions";
+          rev = "acac7fb0b04ffdf243775231690956d163474177";
+          sha256 = "1065asbg1h2chd34cbja2pir93r5y8gp3wv3jv6sf5csa6yqk6c7";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/769a2167d7f6dfdbbfda058ddea036f80b97d230/recipes/minions";
+          sha256 = "0ximlj93yp6646bh99r2vnayk15ky26sibrmrqqysfw1pzs4a940";
+          name = "minions";
+        };
+        packageRequires = [ dash emacs ];
+        meta = {
+          homepage = "https://melpa.org/#/minions";
+          license = lib.licenses.free;
+        };
+      }) {};
     minitest = callPackage ({ dash, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "minitest";
@@ -46733,12 +47098,12 @@
     mips-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "mips-mode";
-        version = "20170310.2149";
+        version = "20180321.211";
         src = fetchFromGitHub {
           owner = "hlissner";
           repo = "emacs-mips-mode";
-          rev = "a13d1fc5b583a29f059f7794f2d83e59da439fa1";
-          sha256 = "0ncvp52dnicy84wmnbxhm6djxhc8njrbxy6zwz2vylmy24z9948w";
+          rev = "e6c25201a3325b555e64388908d584f3f81d9e32";
+          sha256 = "0ai4ff6hinajvnp8r86s5pv0rrv8h68ncdz4k98kka1ws2f79zdf";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/024a76b83efce47271bcb0ce3bde01b88349f391/recipes/mips-mode";
@@ -46754,12 +47119,12 @@
     mixed-pitch = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "mixed-pitch";
-        version = "20180121.1039";
+        version = "20180410.917";
         src = fetchFromGitHub {
           owner = "jabranham";
           repo = "mixed-pitch";
-          rev = "5915172c86a1d249854fed32c0e472501d1df1e6";
-          sha256 = "1mm5nkc167bli01lbng1iiswh5mgz0a48k11aipki213inhm29jc";
+          rev = "b6b1601c7a3eb9ab23e33192bc479bccc4dd5e7b";
+          sha256 = "0g3mcbsjgcwg196ygj21i454ifyf0898r0xlkar1fqdl8lckb8zj";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/20e85b11dc864500d44b25e36c5e7c4c67c1ebe2/recipes/mixed-pitch";
@@ -46834,27 +47199,6 @@
           license = lib.licenses.free;
         };
       }) {};
-    mmm-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
-    melpaBuild {
-        pname = "mmm-mode";
-        version = "20171212.1428";
-        src = fetchFromGitHub {
-          owner = "purcell";
-          repo = "mmm-mode";
-          rev = "3fb2964c1923fa4ae71741afbd87c76dc16af93a";
-          sha256 = "1al8n18h3pnjsaffwbfbxv68zwh7svnkrjjrvzdav1ja5qs39wa4";
-        };
-        recipeFile = fetchurl {
-          url = "https://raw.githubusercontent.com/milkypostman/melpa/cae2ac3513e371a256be0f1a7468e38e686c2487/recipes/mmm-mode";
-          sha256 = "10vkqaf4684cm5yds1xfinvgc3v7871fb203sfl9dbkcgnd5dcjw";
-          name = "mmm-mode";
-        };
-        packageRequires = [];
-        meta = {
-          homepage = "https://melpa.org/#/mmm-mode";
-          license = lib.licenses.free;
-        };
-      }) {};
     mmt = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "mmt";
@@ -46942,12 +47286,12 @@
     mocha = callPackage ({ f, fetchFromGitHub, fetchurl, js2-mode, lib, melpaBuild }:
     melpaBuild {
         pname = "mocha";
-        version = "20171217.835";
+        version = "20180321.1622";
         src = fetchFromGitHub {
           owner = "scottaj";
           repo = "mocha.el";
-          rev = "29376477b63e319875ad0969a8103f3864efb2a0";
-          sha256 = "1j36ac827llm5ch58hs3yni4jfg0x5fypv5p1i30ffvb7dhn4mmc";
+          rev = "33e1b521a8a8d0225df353b51f1e8a4588ee32d0";
+          sha256 = "1ln6wz452sfxy7ii211ha9p0n3pygxyzyk0raczfla3ln8dh989q";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/39c26134ba95f277a4e9400e506433d96a695aa4/recipes/mocha";
@@ -47068,12 +47412,12 @@
     mode-line-debug = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "mode-line-debug";
-        version = "20150307.512";
+        version = "20180318.1525";
         src = fetchFromGitHub {
           owner = "tarsius";
           repo = "mode-line-debug";
-          rev = "da44422eeb6a1f055b4ec2f822962c5162fce001";
-          sha256 = "1lkw9nnlns6v7r6nx915f85whq1ri4w8lccwyxrvam40hfvq60s1";
+          rev = "a0fcc394b07d2414bd6f722da10f1c7567333f6b";
+          sha256 = "04vsb0lniy90bhnqb590dap9y4wac64xz0lc2rlfczic0nrqd1aa";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/b0080ab9ef1eca5dd19b3fd9af536d8aa17773a2/recipes/mode-line-debug";
@@ -47131,12 +47475,12 @@
     moe-theme = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "moe-theme";
-        version = "20170914.2111";
+        version = "20180314.2108";
         src = fetchFromGitHub {
           owner = "kuanyui";
           repo = "moe-theme.el";
-          rev = "b8f0206614ab40ffb75e50ce6c38675fb9c7cf2e";
-          sha256 = "0pn3a1rrj7ycxh91x3q008b6rmq7rbl8ir6diqzqfp6y465pn2w2";
+          rev = "c3ec67b02d55b5072ef4d32ff412019e5940d988";
+          sha256 = "1kjyv8mypcpqhhrmbnzjfrf4i40zws9sysaar8f7i08cr79idjj1";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/4efefd7edacf90620436ad4ef9ceb470618a8018/recipes/moe-theme";
@@ -47155,8 +47499,8 @@
         version = "20180120.1514";
         src = fetchgit {
           url = "https://git.daemons.it/drymer/molecule.el/";
-          rev = "758dad6f5701c3a2e1146ba5895c08ef734a93d2";
-          sha256 = "0syirvzjgbf1yvcvp00a19m4gi49yh1g95ba896mh741wrkilhb4";
+          rev = "f3a1b19d2e0312bbb9ada00146994df84576abd2";
+          sha256 = "0didxv3v3qnn3szxfnm1cmgpx0bhmjccdja3fhbhhdmp948904cy";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/7421b67dc51abf13bb028e467bb4c83f857a342e/recipes/molecule";
@@ -47298,12 +47642,12 @@
     monokai-theme = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "monokai-theme";
-        version = "20180201.553";
+        version = "20180402.221";
         src = fetchFromGitHub {
           owner = "oneKelvinSmith";
           repo = "monokai-emacs";
-          rev = "031849ab863a29e7576535af92b11d535e762440";
-          sha256 = "1xl6b71r0j90n9r96f6hfvd9fzwzwy7rmn44c1p2r76inyxvlyil";
+          rev = "1143c072f5153ae1a69807e5e8af163069b947d2";
+          sha256 = "0dy8c3349j7fmp8052hbgvk0b7ldlv5jqpg0paq1i0hlypivd30i";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/2bc9ce95a02fc4bcf7bc7547849c1c15d6db5089/recipes/monokai-theme";
@@ -47344,8 +47688,8 @@
         src = fetchFromGitHub {
           owner = "sanel";
           repo = "monroe";
-          rev = "666431c047479e414b47ca1f83fe0a2ecc02144a";
-          sha256 = "0k7d2k3m9rf77a1812clqvmsva27c7wpvkgdhkgvi7kpglj1dz2n";
+          rev = "609dfd82897c14324a99206ebf450377e5c6257e";
+          sha256 = "07qyxc7mjly0j2x7aqbpnn7nd5fp2pck02ks25m62gn4a1sq4v3z";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/590e5e784c5a1c12a241d90c9a0794d2737a61ef/recipes/monroe";
@@ -47358,6 +47702,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    moody = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "moody";
+        version = "20180403.549";
+        src = fetchFromGitHub {
+          owner = "tarsius";
+          repo = "moody";
+          rev = "adf652f35cba1bb3d0f254e1905e2deeeb0fbdba";
+          sha256 = "1zspq29n60r0kd9fy7d50zdypljigwcjb0qa5gkwiipnhpcnf9bp";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/63521fe6a1e540544a07231cc94144439e8caea7/recipes/moody";
+          sha256 = "095241sjw330fb5lk48aa4zx8xbzk8s4ml22n6a8bzr99nkhn5jy";
+          name = "moody";
+        };
+        packageRequires = [ emacs ];
+        meta = {
+          homepage = "https://melpa.org/#/moody";
+          license = lib.licenses.free;
+        };
+      }) {};
     moonscript = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "moonscript";
@@ -47403,12 +47768,12 @@
     morlock = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "morlock";
-        version = "20161008.1358";
+        version = "20180318.1323";
         src = fetchFromGitHub {
           owner = "tarsius";
           repo = "morlock";
-          rev = "5845b60c705e8db88ce790b0b12cd8b917e1e5a5";
-          sha256 = "1a6kwpanwcnipsq0dc99r4iiz9xa2k883syj0kbk544dxgf338xj";
+          rev = "b883d48024ddfffebe2d0dd69f5ed54c617f8834";
+          sha256 = "0xns4f39x012n7piiv6kgb45n932wxs5fp4yyq44p1mnr0m8v4y8";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/b6ef53bbc80edda12a90a8a9705fe14415972833/recipes/morlock";
@@ -47617,8 +47982,8 @@
         src = fetchFromGitHub {
           owner = "google";
           repo = "mozc";
-          rev = "6b878e31fb6ac4347dc9dfd8ccc1080fe718479f";
-          sha256 = "03gcda62xl6hfibw3y15lf6b04998kj1v95gyzs3q0bqxav74ahw";
+          rev = "afb03ddfe72dde4cf2409863a3bfea160f7a66d8";
+          sha256 = "0w2dy2j9x5nc7x3g95j17r3m60vbfyn5j617h7js9xryv33yzpgx";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/30fef77e1d7194ee3c3c1d4775c349a4a9f6af2c/recipes/mozc";
@@ -47715,6 +48080,48 @@
           license = lib.licenses.free;
         };
       }) {};
+    mpdel = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, libmpdel, melpaBuild }:
+    melpaBuild {
+        pname = "mpdel";
+        version = "20180405.148";
+        src = fetchFromGitHub {
+          owner = "mpdel";
+          repo = "mpdel";
+          rev = "82f98b94d0bfcb48b8ed9985ef8bf9202c8917f7";
+          sha256 = "1fhcf1mm7pjjy9nyjr3lkqhn0xsp8bpykzk2pxdzfkidb1ca47bf";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/bb25443752e18e47afc63d5497cc5052c388a607/recipes/mpdel";
+          sha256 = "1py6zk16yl7pyql2qxzd770clzszw7c769hw70n963kns1qmpif8";
+          name = "mpdel";
+        };
+        packageRequires = [ emacs libmpdel ];
+        meta = {
+          homepage = "https://melpa.org/#/mpdel";
+          license = lib.licenses.free;
+        };
+      }) {};
+    mpmc-queue = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, queue }:
+    melpaBuild {
+        pname = "mpmc-queue";
+        version = "20180303.1229";
+        src = fetchFromGitHub {
+          owner = "smizoe";
+          repo = "mpmc-queue";
+          rev = "df07d6bef7468edb1d73ef73b8331b94d0e5d0ca";
+          sha256 = "17817l3afghg9z8jxkj61yg85plmr74ki3wf4hz685llx8fr69w0";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/30511f1e5eaf45b5f43fbacdd6c7254cb39b1d2c/recipes/mpmc-queue";
+          sha256 = "08jcmhfl87nsg6zgv582yfs152bqihbcssh085gxxqn2x99li354";
+          name = "mpmc-queue";
+        };
+        packageRequires = [ emacs queue ];
+        meta = {
+          homepage = "https://melpa.org/#/mpmc-queue";
+          license = lib.licenses.free;
+        };
+      }) {};
     mpv = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, json ? null, lib, melpaBuild, names, org }:
     melpaBuild {
         pname = "mpv";
@@ -47802,12 +48209,12 @@
     mu4e-alert = callPackage ({ alert, emacs, fetchFromGitHub, fetchurl, ht, lib, melpaBuild, s }:
     melpaBuild {
         pname = "mu4e-alert";
-        version = "20180211.2319";
+        version = "20180304.2246";
         src = fetchFromGitHub {
           owner = "iqbalansari";
           repo = "mu4e-alert";
-          rev = "997ef1bfc7dc09d87f50ece80f0345782065eb92";
-          sha256 = "0pc95w6idvrmdpiq6gmcmi31rmh0d94rfhwjafsxqqimmsm9fk0z";
+          rev = "96a293b28646f4620e257f24748becc4a06843cd";
+          sha256 = "01rgsd958shph01ialk0lp3snxqydvjkiik170jshfls1jric1di";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/mu4e-alert";
@@ -47973,8 +48380,8 @@
         src = fetchFromGitHub {
           owner = "sagarjha";
           repo = "multi-run";
-          rev = "87d9eed414999fd94685148d39e5308c099e65ca";
-          sha256 = "0m4wk6sf01b7bq5agmyfcm9kpmwmd90wbvh7fkhs61mrs86s2zw8";
+          rev = "3c5e44afd69aac2e0a5be118cf6249b757e2889a";
+          sha256 = "0jknx6b973wlhmg01nymncqr2809kmjhchv75v92fas5yvn1pb3w";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/e05ad99477bb97343232ded7083fddb810ae1781/recipes/multi-run";
@@ -48074,12 +48481,12 @@
     multiple-cursors = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "multiple-cursors";
-        version = "20170908.1452";
+        version = "20180406.1350";
         src = fetchFromGitHub {
           owner = "magnars";
           repo = "multiple-cursors.el";
-          rev = "10752700084595bb24712c27ba70a2326302e45b";
-          sha256 = "1hg693xq45bjxdla4drn6qn0np417hyvw6x3bmhfykg6lpibslz6";
+          rev = "75dd6bf83af4eff83dc22e278c47264c1a41cd66";
+          sha256 = "0cw6xcc1m4r0gdqrlj5w6kbyjwqbhhpvrrr7p4b1mhd4c2a7lhiv";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a5f015e6b88be2a5ded363bd882a558e94d1f391/recipes/multiple-cursors";
@@ -48095,12 +48502,12 @@
     multitran = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "multitran";
-        version = "20161122.1323";
+        version = "20180320.956";
         src = fetchFromGitHub {
           owner = "zevlg";
           repo = "multitran.el";
-          rev = "c0ce2e1b3706263946f9240a47c3f65ed4fc0afa";
-          sha256 = "1dd82jlc865achy70ldjwkjx45p11sjj0snvf85r1dj4aywci6i5";
+          rev = "d826eff6ada28799a9ff6c8a4c2884b2ef1e36fb";
+          sha256 = "0rk8fidq8fp9k4m21wvkld3w8g13nbfpxnj10g35c16n5wa0ydkb";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/d665759fa6491b77103920a75c18a561f6800c1c/recipes/multitran";
@@ -48242,12 +48649,12 @@
     mwim = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "mwim";
-        version = "20180214.837";
+        version = "20180227.852";
         src = fetchFromGitHub {
           owner = "alezost";
           repo = "mwim.el";
-          rev = "508efa3a616d4b371039053b1fa80b057422196c";
-          sha256 = "067m1r19fc4zhgwc7gwb6khbh3sz74li2fcxfj42d9sx1dqhy218";
+          rev = "462207227b98a6a4356d51419f5ad5ba9356e5cf";
+          sha256 = "06lw6064i82daasgm87gm58d142pypqc1q3cnx1cm35hyj4skd32";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/b7e1aa2fa1294b27ed7b6c5bdd5844fa5c37df72/recipes/mwim";
@@ -48515,12 +48922,12 @@
     names = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "names";
-        version = "20171012.1214";
+        version = "20180321.455";
         src = fetchFromGitHub {
           owner = "Malabarba";
           repo = "names";
-          rev = "1d45ec50568eb2f5b55973f7ed0b48c68f9f13aa";
-          sha256 = "1z0zdi9r6x6pqy2qfj9krkmbmlw9rlrgdvgn4dppfzrmrig8libr";
+          rev = "d8baba5360e5253938a25d3e005455b6d2d86971";
+          sha256 = "11wyha2q8y7bzqq3jrzix8n97ywvsibvddrahqcps1a1yqk4hzfz";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/1e6aed365c42987d64d0cd9a8a6178339b1b39e8/recipes/names";
@@ -48913,12 +49320,12 @@
     neon-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "neon-mode";
-        version = "20170711.501";
+        version = "20180406.456";
         src = fetchFromGitHub {
           owner = "Fuco1";
           repo = "neon-mode";
-          rev = "9c23289c0c8ed17d1596cfb95a5ade57df7db5f7";
-          sha256 = "0q5niz0di1r0wl0lsq8hcsz854xdwpzw798sl42qc1r5mdpz3ghz";
+          rev = "99d15e46beaf1e7d71e39a00cce810df1f33229d";
+          sha256 = "07vsi07m5q070fvkqhz32qa2y7dgnyi1kggairimbiwbn98bh642";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/c6b2a4898bf21413c4d9e6714af129bbb0a23e1a/recipes/neon-mode";
@@ -49206,12 +49613,12 @@
     nimbus-theme = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "nimbus-theme";
-        version = "20180220.440";
+        version = "20180410.307";
         src = fetchFromGitHub {
           owner = "m-cat";
           repo = "nimbus-theme";
-          rev = "451a570d656e18e66d58182577685da0e43c87a3";
-          sha256 = "02bvvrvbfg7cgbd83y7544ra5a0hfrk8kh938hwygq991krc2zhp";
+          rev = "6b0c1ef6e6cec93b0d17a714406830edab8cb995";
+          sha256 = "1h5c5fsg610mqi7m0ddnkvc0l4952hdjic3hpbnmjaicnhszdgfw";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/fc0e6b456b76e2379c64a86ad844362c58146dc6/recipes/nimbus-theme";
@@ -49231,8 +49638,8 @@
         src = fetchFromGitHub {
           owner = "martine";
           repo = "ninja";
-          rev = "e234a7bdb6c42f4539c0ab09b624f191287c2c10";
-          sha256 = "01hsabhvp1yilzdss3mkvrskkvxw41xxch6lkwlcrr6h5f70szi2";
+          rev = "ca041d88f4d610332aa48c801342edfafb622ccb";
+          sha256 = "05wipm7cvhyf1fsd5awi44yzndllfsmg0i3xzdmml545ypdimk3m";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/aed2f32a02cb38c49163d90b1b503362e2e4a480/recipes/ninja-mode";
@@ -49269,12 +49676,12 @@
     nix-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "nix-mode";
-        version = "20180215.1331";
+        version = "20180403.1741";
         src = fetchFromGitHub {
           owner = "NixOS";
           repo = "nix-mode";
-          rev = "0ac0271f6c8acdbfddfdbb1211a1972ae562ec17";
-          sha256 = "157vy4xkvaqd76km47sh41wykbjmfrzvg40jxgppnalq9pjxfinp";
+          rev = "cc23fd6a0e394aeeed603e2bfeb4a5ebc63db660";
+          sha256 = "1vz3s2jx14nzy53f04d821n4f2s22ys5h9s7af6cnpynkwawyhhq";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/e1870d786dbfac3b14386c8030e06f2d13ab9da6/recipes/nix-mode";
@@ -49437,12 +49844,12 @@
     no-littering = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "no-littering";
-        version = "20180125.1539";
+        version = "20180414.503";
         src = fetchFromGitHub {
           owner = "emacscollective";
           repo = "no-littering";
-          rev = "5156e005d59453f2608b9c38e9fe92ba8df550db";
-          sha256 = "086y8y5309hhmhiq9c5yqvya0fm6j3vxba47861ckwjqyp7d3ygk";
+          rev = "9bffebc0f4858a06ba374f1d48a7dffd3537b93e";
+          sha256 = "02dhplz597r5qp1mljy1npx2kzg07l938d2xivwy9cd6jlkj35ya";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/57a2fb9524df3fdfdc54c403112e12bd70888b23/recipes/no-littering";
@@ -49602,6 +50009,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    nofrils-acme-theme = callPackage ({ emacs, fetchFromGitLab, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "nofrils-acme-theme";
+        version = "20180227.1353";
+        src = fetchFromGitLab {
+          owner = "esessoms";
+          repo = "nofrils-theme";
+          rev = "0bb6f199ace1488613884075fe588f02000bb0ab";
+          sha256 = "1aslhxk5mp6khf66ac4c441vywhiqpb4kyajagb8b1p10z8hrqva";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/c59ddaa5e41d3c25c446b1ed1905d7f88b448e0a/recipes/nofrils-acme-theme";
+          sha256 = "01xqsn8whczv34lfa9vbm5rpvrvsrlpav8pzng10jvax1a9wdp3a";
+          name = "nofrils-acme-theme";
+        };
+        packageRequires = [ emacs ];
+        meta = {
+          homepage = "https://melpa.org/#/nofrils-acme-theme";
+          license = lib.licenses.free;
+        };
+      }) {};
     nord-theme = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "nord-theme";
@@ -49626,12 +50054,12 @@
     nordless-theme = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "nordless-theme";
-        version = "20180215.454";
+        version = "20180328.516";
         src = fetchFromGitHub {
           owner = "lthms";
           repo = "nordless-theme.el";
-          rev = "aeecad74c19121fa2f68dfd85efb9a4f34e8a911";
-          sha256 = "1ypwh4kz9kjxikmhgh8aac8ihnyinijsvsjwa8s4lc1j4nfzffih";
+          rev = "31cf52bfa81cf312421533ccc4a26f79b03b6976";
+          sha256 = "120d5wajjcimfzdmqn1kxav5l6ylpggg9rjhv0n65nmh829f1msm";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/3de9da6cb8c1a75ff1d41a69e156c21be00713b6/recipes/nordless-theme";
@@ -49665,11 +50093,11 @@
       }) {};
     notmuch = callPackage ({ fetchgit, fetchurl, lib, melpaBuild }: melpaBuild {
         pname = "notmuch";
-        version = "20180104.1635";
+        version = "20180324.1609";
         src = fetchgit {
           url = "https://git.notmuchmail.org/git/notmuch";
-          rev = "a9f1c7c294526afb2a2ac18003a654ea4c780b7b";
-          sha256 = "0pv6rpymhf1m10011hw5plsfz18d7gm10w396dc2rm05c9szffjr";
+          rev = "5d510221d17862a252955d98046508bebcd14573";
+          sha256 = "1pls4wny8f5pdfgmdg4c3cpsdy046hwmlaqlf90x5x9hp2jyibnz";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/d05fbde3aabfec4efdd19a33fd2b1297905acb5a/recipes/notmuch";
@@ -49706,12 +50134,12 @@
     nov = callPackage ({ dash, emacs, esxml, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "nov";
-        version = "20180215.1206";
+        version = "20180317.345";
         src = fetchFromGitHub {
           owner = "wasamasa";
           repo = "nov.el";
-          rev = "b0eab94b84464aa4508ccfee59af5b8df49666a2";
-          sha256 = "0r4wy99kpdzs0c8b6ini8k0xixjrb48bbml3nz3sfxy3w7kb4kyb";
+          rev = "b4959103619d94a7a1d5fe1d9a15887fc2b12b8f";
+          sha256 = "18kqw9c2a6si1q55r7w8mmwhqfnajdxvrv9dckwxkc4pbgpjkk8j";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/cf543955ba2d5d0074fa2a5ba176f9415f6e006d/recipes/nov";
@@ -50111,12 +50539,12 @@
     ob-async = callPackage ({ async, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, org }:
     melpaBuild {
         pname = "ob-async";
-        version = "20171114.1936";
+        version = "20180410.2058";
         src = fetchFromGitHub {
           owner = "astahlman";
           repo = "ob-async";
-          rev = "99a6f24191cacb343d6090ecc8c1c67f768b2e22";
-          sha256 = "1cw62nsdnmllpkn4mqi80vp6s17yf6an418gvr06z8cxqndw07h1";
+          rev = "703159f106ba918ccd4e3c053eb887840aea8e5f";
+          sha256 = "06aax8k3p9h49sdy47v73a851b6xwkvz97xgcrplhrpi2w77p7ll";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/ob-async";
@@ -50135,8 +50563,8 @@
         version = "20171103.1548";
         src = fetchgit {
           url = "https://bitbucket.org/pdo/axiom-environment";
-          rev = "b4f0fa9cd013e107d2af8e2ebedff8a7f40be7b5";
-          sha256 = "0p2mg2824mw8l1zrfq5va1mnxg0ib5f960306vvsm6b3pi1w5kv0";
+          rev = "6842fb7f85df839acde395093647e2f91cf62fdd";
+          sha256 = "1ag5isg0bvarf86978zd2zq1mbs3ysy29ywvgapls6115ws5k9k8";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/8b4c6b03c5ff78ce327dcf66b175e266bbc53dbf/recipes/ob-axiom";
@@ -50212,6 +50640,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    ob-clojurescript = callPackage ({ emacs, fetchFromGitLab, fetchurl, lib, melpaBuild, org }:
+    melpaBuild {
+        pname = "ob-clojurescript";
+        version = "20180406.1128";
+        src = fetchFromGitLab {
+          owner = "statonjr";
+          repo = "ob-clojurescript";
+          rev = "17ee1558aa94c7b0246fd03f684884122806cfe7";
+          sha256 = "1an4m7mpr345xw4fanyf2vznxm1dxbv35987caq1wq9039mzfaxr";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/0c9ccc0d2d034944cb9688d5e184fa5df95f6b31/recipes/ob-clojurescript";
+          sha256 = "0h4qjz65k8m1ms7adrm5ypmjcjxx1nws1jmda88c4jjwjyz40jjf";
+          name = "ob-clojurescript";
+        };
+        packageRequires = [ emacs org ];
+        meta = {
+          homepage = "https://melpa.org/#/ob-clojurescript";
+          license = lib.licenses.free;
+        };
+      }) {};
     ob-coffee = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, org }:
     melpaBuild {
         pname = "ob-coffee";
@@ -50425,12 +50874,12 @@
     ob-http = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild, s }:
     melpaBuild {
         pname = "ob-http";
-        version = "20170920.2251";
+        version = "20180416.822";
         src = fetchFromGitHub {
           owner = "zweifisch";
           repo = "ob-http";
-          rev = "c4da6d47b3f96c31c00f9eaaf712b59afe00daef";
-          sha256 = "0rhxp7gw4d5yp6yvjcp80in22wckj4zl9siykalj0jm97hkwqmzz";
+          rev = "b68a0187e4f67e57891a3faae384d650a1cf31fc";
+          sha256 = "0107xn1z2im8672lwsw4r7blza1gamgihy9aahxyf27jc0a2zvfx";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/950b02f76a04f453992b8720032e8c4cec9a039a/recipes/ob-http";
@@ -50593,12 +51042,12 @@
     ob-prolog = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "ob-prolog";
-        version = "20170126.921";
+        version = "20180328.1034";
         src = fetchFromGitHub {
           owner = "ljos";
           repo = "ob-prolog";
-          rev = "e70a9f9b96fd0fedcc30de7768c870f4b0ee1ae9";
-          sha256 = "0vpxnvvmfxqwq1i6wl1gv76dgavcl4sg3f1ma42sq2bldpdn8am7";
+          rev = "8e34b273730423f267138e9f9a0abe7718f3a5fa";
+          sha256 = "0kn4dph1wfigh9l8r8ghxgnixjxawfh335kh4ypab1hb528pdq2n";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/fb87868cd74325f0a4a38c5542c264501000951d/recipes/ob-prolog";
@@ -51139,12 +51588,12 @@
     olivetti = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "olivetti";
-        version = "20180205.2323";
+        version = "20180308.638";
         src = fetchFromGitHub {
           owner = "rnkn";
           repo = "olivetti";
-          rev = "6893bef23e576fd776ca69517dbf0981a8dc4b2a";
-          sha256 = "0jxqnc7cwrrl9kw0fng515kl9hblkqkd5yf2gqq7di09q3rccq65";
+          rev = "b1759abbb2be27107c0c09beae10ca5e4c556b56";
+          sha256 = "0zdxvd3xh5p9j8si2kfmavzdjwpz9352nr6i0c550m10lrnixnv4";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/697334ca3cdb9630572ae267811bd5c2a67d2a95/recipes/olivetti";
@@ -51290,8 +51739,8 @@
         src = fetchFromGitHub {
           owner = "OmniSharp";
           repo = "omnisharp-emacs";
-          rev = "7a6fe00e841106b17e7554f8a21f8457d12c5197";
-          sha256 = "1vrgj2irm87pykfjyx27a46g5xam7rxwjdfqh4jl6p8cgzgprrrg";
+          rev = "c00a3a9157432c578fffb79169232e4a81d4ad31";
+          sha256 = "0ghwqf1wbiywzdx0qlgs4y94z4ivlgac8rpg1bimlb8xfx62sia0";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/e327c483be04de32638b420c5b4e043d12a2cd01/recipes/omnisharp";
@@ -51673,12 +52122,12 @@
     org-alert = callPackage ({ alert, dash, fetchFromGitHub, fetchurl, lib, melpaBuild, s }:
     melpaBuild {
         pname = "org-alert";
-        version = "20170724.2116";
+        version = "20180413.2111";
         src = fetchFromGitHub {
           owner = "groksteve";
           repo = "org-alert";
-          rev = "3b7417ac12f2710e88f8dff538670621064ef8bc";
-          sha256 = "1hyl4b2r7wzdfr2m7x8pgpylia3z15fihn679xdiyc32rzy7k5vk";
+          rev = "85fd01f5bde7cb3adb167a8e37e52865d49c9579";
+          sha256 = "1isb6ym8c22f9y2wph6zy90x9nl4g51fal68vfklg8bq1pywzj7a";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/2976b7f9271bc46679a5774ff5f388b81a9f0cf8/recipes/org-alert";
@@ -51694,12 +52143,12 @@
     org-attach-screenshot = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "org-attach-screenshot";
-        version = "20160928.258";
+        version = "20180330.1139";
         src = fetchFromGitHub {
           owner = "dfeich";
           repo = "org-screenshot";
-          rev = "1aabac1a2885d31a3d862cbeb31a635c3d68b9ab";
-          sha256 = "04fylcv782sl00g5y30hjcg9z8q00lkzf89wq9g9za6dx013z33q";
+          rev = "5eeb2eef690a02b95dfe171d38ec66c954719d65";
+          sha256 = "10mzlqk7in6gjh6x9q0gc5slx536hc2dz2kndm77f8qaf9z7hw79";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/f545cd8d1da39e7fbd61020e178de30053ba774b/recipes/org-attach-screenshot";
@@ -51778,12 +52227,12 @@
     org-board = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "org-board";
-        version = "20170507.858";
+        version = "20180226.1136";
         src = fetchFromGitHub {
           owner = "scallywag";
           repo = "org-board";
-          rev = "2978aee8981a2ff5c09104b2d8b055957b277078";
-          sha256 = "1vbpwzzrl5vq0vwkwn0cr1w9wkfbjd9rmxbpsddm0sbx7k4m3am9";
+          rev = "eef4cd47ea221dcdc352b5af578007bcde5f3e6a";
+          sha256 = "1sj5n2gynwc14kl6cjmdg8mvs0nc187nfj4czd3rbz4yqq818l3b";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/d8063ee17586d9b1e7415f7b924239826b81ab08/recipes/org-board";
@@ -51820,12 +52269,12 @@
     org-brain = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, org }:
     melpaBuild {
         pname = "org-brain";
-        version = "20180223.1455";
+        version = "20180411.1157";
         src = fetchFromGitHub {
           owner = "Kungsgeten";
           repo = "org-brain";
-          rev = "22eacef9fd0e66508888016b5d33b6ce85727573";
-          sha256 = "16mz2vv3p4x1x400ylx5321svpczsydzkkb93j21cmk3b6a1jibg";
+          rev = "6857c9dcf11135eef40b8f1f86d10a71cecc86ac";
+          sha256 = "092rl3vfkbj7vcn49bibc1s3m0479l0isbhb2w7xb06dh8k8j9ih";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/47480fbae06e4110d50bc89db7df05fa80afc7d3/recipes/org-brain";
@@ -51862,12 +52311,12 @@
     org-caldav = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, org }:
     melpaBuild {
         pname = "org-caldav";
-        version = "20170615.724";
+        version = "20180403.1336";
         src = fetchFromGitHub {
           owner = "dengste";
           repo = "org-caldav";
-          rev = "07e6ccda6756754a115d567f2ad3a760514b731d";
-          sha256 = "0gaqkbdqkb7v6k2bg21c8c7c38g9rkgk8gy79s4gi6hzd4j717mp";
+          rev = "8d3492c27a09f437d2d94f2736c56d7652e87aa0";
+          sha256 = "19q83xgbdabkidx26xvff1x7kixk2wllplnwfsy7kggdj9wqpm9l";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/org-caldav";
@@ -51908,8 +52357,8 @@
         src = fetchFromGitHub {
           owner = "IvanMalison";
           repo = "org-projectile";
-          rev = "8cec702f602b18da90b3d6207888a887b8e07750";
-          sha256 = "1prfkkfsbmprcq4irsj1qgixgwrsddz2zb9gwl8r3rq8qwfn9lhn";
+          rev = "53c193a209d663b33de71fe7d35eb40c0d0e15b6";
+          sha256 = "0kcbcj1nz2asi1v1nbqa2lp1qjg90nbdz2913m8c6dnwhff8rr0j";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/6760daac1ef9d9d7ba07e2fc9668873020f901f1/recipes/org-category-capture";
@@ -51922,6 +52371,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    org-chef = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, org }:
+    melpaBuild {
+        pname = "org-chef";
+        version = "20180325.628";
+        src = fetchFromGitHub {
+          owner = "Chobbes";
+          repo = "org-chef";
+          rev = "36fc59b4181456d7bd4c8227c34edbad600b08f3";
+          sha256 = "0yvrxl24a0q4wbhmx2azsylwapih0xf6a5rhch3ppzhy4vyrdjcf";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/23b9e64887a290fca7c7ab2718f627f8d728575f/recipes/org-chef";
+          sha256 = "1xzbdrv5z31lxnzzgbp50l10lzlvx6j7kc7ssg76fma49wfpnra5";
+          name = "org-chef";
+        };
+        packageRequires = [ emacs org ];
+        meta = {
+          homepage = "https://melpa.org/#/org-chef";
+          license = lib.licenses.free;
+        };
+      }) {};
     org-cliplink = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "org-cliplink";
@@ -51967,12 +52437,12 @@
     org-clock-csv = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, org, s }:
     melpaBuild {
         pname = "org-clock-csv";
-        version = "20180128.2130";
+        version = "20180313.1957";
         src = fetchFromGitHub {
           owner = "atheriel";
           repo = "org-clock-csv";
-          rev = "e3b1c4236f6b74105b291ec68c0909226621b4ac";
-          sha256 = "1ykam54wz53n0gx0raywhd92diggyxw8669w988sw6jghhg65ivs";
+          rev = "4a6e9e4895799afa0b994f4a908c1e3c2043451f";
+          sha256 = "1f7xvarimv82xwiw5cavnak7av0yi4afn94nhhp60pyfh8azls50";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/e023cb898699f76f6c3d9ffe8162aacfc6a8c34f/recipes/org-clock-csv";
@@ -52135,12 +52605,12 @@
     org-download = callPackage ({ async, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "org-download";
-        version = "20171116.1045";
+        version = "20180327.1429";
         src = fetchFromGitHub {
           owner = "abo-abo";
           repo = "org-download";
-          rev = "d0e6793497d57a90543d711310ad26fae7c9bcba";
-          sha256 = "0b9a09gx9idsaw2jx5z6zd8k8la0ly3132gkz7krzkvf3nc4yfz9";
+          rev = "a57beffd0f09b218a9487d1750960878c1d5b12c";
+          sha256 = "1disqqfwjl366kv6xgc28w7zbc4xl9a0jmdj7w27mb00sxzfk3vb";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/edab283bc9ca736499207518b4c9f5e71e822bd9/recipes/org-download";
@@ -52156,12 +52626,12 @@
     org-dp = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "org-dp";
-        version = "20160326.603";
+        version = "20180311.123";
         src = fetchFromGitHub {
           owner = "tj64";
           repo = "org-dp";
-          rev = "d9a18e8fb04c94d5d35236b37ee7db0afcb7d580";
-          sha256 = "0misv6g1cql7qc3xhy56cn79pzvn811fvhvivvq0bdx4g0hpp2fg";
+          rev = "334fefd06eb925c86b1642787b2a088aa0932bab";
+          sha256 = "0cjx9428ypadvrlbfnfj6zwnfhdcay82q2f9x8v5gaffa6wrr7j3";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/7f337375082da316ed07b8ce9c775b484b8cdbf6/recipes/org-dp";
@@ -52303,12 +52773,12 @@
     org-evil = callPackage ({ dash, evil, fetchFromGitHub, fetchurl, lib, melpaBuild, monitor, org }:
     melpaBuild {
         pname = "org-evil";
-        version = "20171102.556";
+        version = "20180416.953";
         src = fetchFromGitHub {
           owner = "GuiltyDolphin";
           repo = "org-evil";
-          rev = "90a82ec72fb688ef98d1343c02dc3c6da9e4bbee";
-          sha256 = "0fl9m1bgcmvxpdmb05lbna9snfrd8gbrn16c2w72b3asxx7acq94";
+          rev = "4e1f949a6fb225e79e69cb8684c0629671b6b8e3";
+          sha256 = "1nrcwjl50nycyraac2zwlx3346az7521icf1h718hqqw4r799ggk";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/17a4772d409aa5dbda5fb84d86c237fd2653c70b/recipes/org-evil";
@@ -52321,23 +52791,24 @@
           license = lib.licenses.free;
         };
       }) {};
-    org-fstree = callPackage ({ fetchgit, fetchurl, lib, melpaBuild }:
+    org-fancy-priorities = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
-        pname = "org-fstree";
-        version = "20090723.819";
-        src = fetchgit {
-          url = "http://repo.or.cz/r/org-fstree.git";
-          rev = "24e305c6443be9f45198185772eecfddc390a9ce";
-          sha256 = "0ydsmjjc64r50qilgazmv5gzdv67vszlid67wskc2zii5ss0y01m";
+        pname = "org-fancy-priorities";
+        version = "20180328.1631";
+        src = fetchFromGitHub {
+          owner = "harrybournis";
+          repo = "org-fancy-priorities";
+          rev = "819bb993b71e7253cefef7047306ab4e0f9d0a86";
+          sha256 = "13cyzlx0415i953prq6ch7r5iy23c1pz116bdxi5yqags4igh4wv";
         };
         recipeFile = fetchurl {
-          url = "https://raw.githubusercontent.com/milkypostman/melpa/4327b4dd464ebb00c2acdd496274dedf912cdf92/recipes/org-fstree";
-          sha256 = "11ddkfddmsy26mmhgw24757f753ssh056v9vxn89pxp4qypxidfz";
-          name = "org-fstree";
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/712902ae1cf967ceb2052266ed3244e92998f8a7/recipes/org-fancy-priorities";
+          sha256 = "13rljgi5fbzlc16cxqj49yg47a5qpyxzj0lswhdyhgzncp1fyq7p";
+          name = "org-fancy-priorities";
         };
         packageRequires = [];
         meta = {
-          homepage = "https://melpa.org/#/org-fstree";
+          homepage = "https://melpa.org/#/org-fancy-priorities";
           license = lib.licenses.free;
         };
       }) {};
@@ -52425,6 +52896,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    org-index = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "org-index";
+        version = "20180414.208";
+        src = fetchFromGitHub {
+          owner = "marcihm";
+          repo = "org-index";
+          rev = "0dfe0a67979279345378ca006ab4f727df378aca";
+          sha256 = "16wjzskq000grkanaw9zca2qbw9yzpndhfd2g0b0if2mf1g31mkv";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/54946e733901986304f7a7a5139b2818ebf97eb3/recipes/org-index";
+          sha256 = "1dp52xqrhby2xyi6p2d0ggp5irqsqwicp62ndg5wszyd33clxab5";
+          name = "org-index";
+        };
+        packageRequires = [ emacs ];
+        meta = {
+          homepage = "https://melpa.org/#/org-index";
+          license = lib.licenses.free;
+        };
+      }) {};
     org-iv = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, impatient-mode, lib, melpaBuild, org }:
     melpaBuild {
         pname = "org-iv";
@@ -52467,27 +52959,48 @@
           license = lib.licenses.free;
         };
       }) {};
-    org-journal = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    org-journal = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "org-journal";
-        version = "20180118.31";
+        version = "20180402.536";
         src = fetchFromGitHub {
           owner = "bastibe";
           repo = "org-journal";
-          rev = "1d6f7ddf3baa296bf7ca7ed008f0d86c10397021";
-          sha256 = "02r4h7l8mj5blxwsiv0zyfiwagmxckxdsi39vbx2kxjvxasv4zw3";
+          rev = "f24d6c5e71954fd1a748e719b9b4b51f77879800";
+          sha256 = "10cqri6k3lvsngwg060nj4n15ip54h3ldlyxgnknmp6wl0vjsjr3";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/7fabdb05de9b8ec18a3a566f99688b50443b6b44/recipes/org-journal";
           sha256 = "1npzqxn1ssigq7k1nrxz3xymxaazby0ddgxq6lgw2a1zjmjm4h2b";
           name = "org-journal";
         };
-        packageRequires = [];
+        packageRequires = [ emacs ];
         meta = {
           homepage = "https://melpa.org/#/org-journal";
           license = lib.licenses.free;
         };
       }) {};
+    org-kanban = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "org-kanban";
+        version = "20180410.1258";
+        src = fetchFromGitHub {
+          owner = "gizmomogwai";
+          repo = "org-kanban";
+          rev = "d5f6c82c1f4072f5800b01b724ee980ea0373d0a";
+          sha256 = "1xqx3iqv627wkpyz8b3frxgdm2y2zicfd5ansxw9yg2q7dxs6bff";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/a9f3a10c126fa43a6fa60ee7f8e50c7a9661dbc1/recipes/org-kanban";
+          sha256 = "1flgqa2pwzw6b2zm3j09i9bvz1i8k03mbwj6l75yrk29lh4njq41";
+          name = "org-kanban";
+        };
+        packageRequires = [ dash emacs ];
+        meta = {
+          homepage = "https://melpa.org/#/org-kanban";
+          license = lib.licenses.free;
+        };
+      }) {};
     org-link-minor-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, org }:
     melpaBuild {
         pname = "org-link-minor-mode";
@@ -52554,12 +53067,12 @@
     org-mime = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "org-mime";
-        version = "20180220.1906";
+        version = "20180407.1820";
         src = fetchFromGitHub {
           owner = "org-mime";
           repo = "org-mime";
-          rev = "0752659f7a19cead182584fabc9544464f69b83e";
-          sha256 = "06lay5w03ah3w156spgh4bv2ma4x42pyhr3glfxw7vplfr5klvfz";
+          rev = "41ea9818b4e35555fac5d287a3f8bbf84c694005";
+          sha256 = "148mw7wik58756k072p3frlb0hdy6sc2jsqgjzhp5pqsmd1chg7w";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/521678fa13884dae69c2b4b7a2af718b2eea4b28/recipes/org-mime";
@@ -52621,8 +53134,8 @@
         src = fetchFromGitHub {
           owner = "unhammer";
           repo = "org-mru-clock";
-          rev = "0894a5dad148524f6e31cd089eda2879fc85fbe4";
-          sha256 = "0ya3f86kryaminjja1868wh6db5hsnczhqldq3hgh7bvlnnsvp6s";
+          rev = "18301b6ffe1149e373dc07d5047b67b9e1faec64";
+          sha256 = "13x25fk2wnddzgx11rmkrhpvaava0knaqhlhk36c6pyldbhbhbxy";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/b36bf1c1faa4d7e38254416a293e56af96214136/recipes/org-mru-clock";
@@ -52680,12 +53193,12 @@
     org-noter = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, org }:
     melpaBuild {
         pname = "org-noter";
-        version = "20180225.1352";
+        version = "20180331.1231";
         src = fetchFromGitHub {
           owner = "weirdNox";
           repo = "org-noter";
-          rev = "6ef0f4d1ee13a91da837a940f7c6633e4f5d8d65";
-          sha256 = "06c35lmy2852n1ss7ry2x1m05s7indb3x5zy6lii64bmqcqr1w7v";
+          rev = "32cdf41079ca67c5906a10215eb7fbaefebab994";
+          sha256 = "11hhw8fk1qn63hwdx49h9h58p2hmxhmni6qdazd0ipk68finmy8f";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/4a2bc0d95dc2744277d6acbba1f7483b4c14d75c/recipes/org-noter";
@@ -52814,11 +53327,11 @@
     org-password-manager = callPackage ({ dash, fetchgit, fetchurl, lib, melpaBuild, org, s }:
     melpaBuild {
         pname = "org-password-manager";
-        version = "20170701.919";
+        version = "20180227.1010";
         src = fetchgit {
           url = "https://git.leafac.com/org-password-manager";
-          rev = "3e7058586b2ab96b12e9b1195b1db1e66e704f20";
-          sha256 = "0ac0nd84y8lckapyckbdvc1wdflwz5nxm7isxcc8cp92pgqy49r2";
+          rev = "4b30a36e71182553a02e4dd415369290d98ec03a";
+          sha256 = "1a6i3g032c5xzsnaf7rprn22kk68y1ay3w21p3q52p3lvlzhnfis";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/02ef86ffe6923921cc1246e51ad8db87faa00ecb/recipes/org-password-manager";
@@ -52876,12 +53389,12 @@
     org-present = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, org }:
     melpaBuild {
         pname = "org-present";
-        version = "20141109.1756";
+        version = "20180303.1530";
         src = fetchFromGitHub {
           owner = "rlister";
           repo = "org-present";
-          rev = "1b519cfd5abf44bed307cac576dc9fd61eb2c35f";
-          sha256 = "1n9magg7r7xnw16d43fh6nzjf42s70l3mxq6ph727zi4lz5ngmfm";
+          rev = "d13acd70eff6a1608bc991920232146a0de76b21";
+          sha256 = "0jz8xiny3rv9ql0p623byz32pip1b82j2c2nyfz2wd114kiabb6q";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/aba18f15fbaab115456e6afc9433074558a379f5/recipes/org-present";
@@ -52922,8 +53435,8 @@
         src = fetchFromGitHub {
           owner = "IvanMalison";
           repo = "org-projectile";
-          rev = "8cec702f602b18da90b3d6207888a887b8e07750";
-          sha256 = "1prfkkfsbmprcq4irsj1qgixgwrsddz2zb9gwl8r3rq8qwfn9lhn";
+          rev = "53c193a209d663b33de71fe7d35eb40c0d0e15b6";
+          sha256 = "0kcbcj1nz2asi1v1nbqa2lp1qjg90nbdz2913m8c6dnwhff8rr0j";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/9d7a7ab98f364d3d5e93f83f0cb3d80a95f28689/recipes/org-projectile";
@@ -52943,8 +53456,8 @@
         src = fetchFromGitHub {
           owner = "IvanMalison";
           repo = "org-projectile";
-          rev = "8cec702f602b18da90b3d6207888a887b8e07750";
-          sha256 = "1prfkkfsbmprcq4irsj1qgixgwrsddz2zb9gwl8r3rq8qwfn9lhn";
+          rev = "53c193a209d663b33de71fe7d35eb40c0d0e15b6";
+          sha256 = "0kcbcj1nz2asi1v1nbqa2lp1qjg90nbdz2913m8c6dnwhff8rr0j";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/6760daac1ef9d9d7ba07e2fc9668873020f901f1/recipes/org-projectile-helm";
@@ -52978,15 +53491,36 @@
           license = lib.licenses.free;
         };
       }) {};
+    org-radiobutton = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "org-radiobutton";
+        version = "20180321.1535";
+        src = fetchFromGitHub {
+          owner = "Fuco1";
+          repo = "org-radiobutton";
+          rev = "15777e9b389cd93eab6c3c2f967e64a5b7f247b0";
+          sha256 = "1mysrs3m9bmw66r4hrh2bssfhgp56rbhnkcc4rm4d5slsbak10fz";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/105043d8cfcb62ed89ddf9870f615519e6f415e7/recipes/org-radiobutton";
+          sha256 = "16ly42iyfh7d34yz4bvdpj3zrlwkw3kmh82gwr25a05mlsdc1d93";
+          name = "org-radiobutton";
+        };
+        packageRequires = [ dash emacs ];
+        meta = {
+          homepage = "https://melpa.org/#/org-radiobutton";
+          license = lib.licenses.free;
+        };
+      }) {};
     org-random-todo = callPackage ({ alert, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "org-random-todo";
-        version = "20171219.58";
+        version = "20180312.104";
         src = fetchFromGitHub {
           owner = "unhammer";
           repo = "org-random-todo";
-          rev = "24500edf303a854f09a88b07e1a16a21e164eb87";
-          sha256 = "0c2d5dbr10p1hz51ybygmwv25si6sfwy21kc9xmbjyrrlw5l5sqv";
+          rev = "8357350a66bbc4e0e5cb590acc104d39870cf736";
+          sha256 = "1cl1abgflbnnmvakb1z69rpr2gsm3hyg20iggwl6pn2fl0pf5wf5";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/80fad6244ea3e5bdf7f448c9f62374fae45bae78/recipes/org-random-todo";
@@ -53089,15 +53623,15 @@
           license = lib.licenses.free;
         };
       }) {};
-    org-ref = callPackage ({ dash, emacs, f, fetchFromGitHub, fetchurl, helm, helm-bibtex, hydra, ivy, key-chord, lib, melpaBuild, pdf-tools, s }:
+    org-ref = callPackage ({ dash, emacs, f, fetchFromGitHub, fetchurl, helm, helm-bibtex, htmlize, hydra, ivy, key-chord, lib, melpaBuild, pdf-tools, s }:
     melpaBuild {
         pname = "org-ref";
-        version = "20180224.1445";
+        version = "20180409.813";
         src = fetchFromGitHub {
           owner = "jkitchin";
           repo = "org-ref";
-          rev = "8e469035a73e3658d818d1665bcfdfb108d7ae41";
-          sha256 = "1ff901w7qrlgqzxn0cfnw3a6nqs3nip6vja11ikj9lykrh1pkf44";
+          rev = "57e14a9e1c91c47fc46eb63b51e0b6585dfec977";
+          sha256 = "129g1yzx5qkmy4s44czmmdk5ffvv9kdn0kpxcky56ndsyvnkz35p";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/550e4dcef2f74fbd96474561c1cb6c4fd80091fe/recipes/org-ref";
@@ -53110,6 +53644,7 @@
           f
           helm
           helm-bibtex
+          htmlize
           hydra
           ivy
           key-chord
@@ -53166,12 +53701,12 @@
     org-rich-yank = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "org-rich-yank";
-        version = "20180218.156";
+        version = "20180325.1218";
         src = fetchFromGitHub {
           owner = "unhammer";
           repo = "org-rich-yank";
-          rev = "ffa90b29604e27a60ad341c06d0e43769af19715";
-          sha256 = "1z9137nirbaydqpw5b7ii3qnpn09v1kiqnyxsxkgc0q3arb1m1f6";
+          rev = "ba7eb7ba8d25dbf053b1f746061a4442375da437";
+          sha256 = "0c6prl8wk9cf9rnr9ymwj50zv0gahbrwqjdqn0a46sflsaycb07i";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/1261823d88459b6ac42d6c55c157a326173663df/recipes/org-rich-yank";
@@ -53229,12 +53764,12 @@
     org-send-ebook = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, seq }:
     melpaBuild {
         pname = "org-send-ebook";
-        version = "20180117.1824";
+        version = "20180401.1015";
         src = fetchFromGitHub {
           owner = "stardiviner";
           repo = "org-send-ebook";
-          rev = "3e8030a16e420fe4a6fc73b6f166af73880c4843";
-          sha256 = "19v9vjbpvib9jcv4z0jflqym2z101a2xaf2mcjcf692nlrz8y2wk";
+          rev = "efa80f3c1a26347097a16eca4dda2610627fcdf0";
+          sha256 = "097cpr9v0c03117z76cy0b9faq3zjvi45anvgrw4bkbgs5mh9x2l";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/646106cf43649544056285aef8c4035b6e5bbbdb/recipes/org-send-ebook";
@@ -53250,12 +53785,12 @@
     org-static-blog = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "org-static-blog";
-        version = "20170706.646";
+        version = "20180402.237";
         src = fetchFromGitHub {
           owner = "bastibe";
           repo = "org-static-blog";
-          rev = "9dea733006ae53902e6ec91fb11ff058229afe84";
-          sha256 = "0gyhhcr54myg0r4pjc5z4mkmpc2xnw3ymykz3m0sm589q1i1ym34";
+          rev = "0ce09a3c27f6ea862b6dd121cb16a192cee0e9c4";
+          sha256 = "07hx4d8a2m7kj151zjc0920l6h0c0d7jgvravp2n5rgcb76yrlnp";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/e0768d41a3de625c04ac8644ef2e05f17ee99908/recipes/org-static-blog";
@@ -53527,8 +54062,8 @@
         src = fetchFromGitHub {
           owner = "takaxp";
           repo = "org-tree-slide";
-          rev = "dff8f1a4a64c8dd0a1fde0b0131e2fe186747134";
-          sha256 = "153bg0x7ypla11pq51jmsgzfjklwwnrq56xgpbfhk1j16xwz9hyf";
+          rev = "9f1b898223f3dafd15a384e0d06da8f09bd55cb0";
+          sha256 = "097p6wyx8fabwmsg8nvv8zlmk6fr8wgbckn5pz8vdzjwp0kbi3s5";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/6160c259bc4bbcf3b98c220222430f798ee6463f/recipes/org-tree-slide";
@@ -53544,12 +54079,12 @@
     org-trello = callPackage ({ dash, dash-functional, deferred, fetchFromGitHub, fetchurl, lib, melpaBuild, request-deferred, s }:
     melpaBuild {
         pname = "org-trello";
-        version = "20170225.1247";
+        version = "20180330.2331";
         src = fetchFromGitHub {
           owner = "org-trello";
           repo = "org-trello";
-          rev = "d7885038d7e160a64f561f8abc942206d582faa6";
-          sha256 = "091hznr9pznm26p5vm0kav69qkji6hihf6bil0a314d8k0kaj5bc";
+          rev = "e2e8a3d45057645e4caae7d46a79d2d9be2894bd";
+          sha256 = "12yw54hg1lhfxw6mvxjsvbiv7cg1zwm3ccsl7g127vbf0yp2dhrl";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/188ed8dc1ce2704838f7a2883c41243598150a46/recipes/org-trello";
@@ -53586,12 +54121,12 @@
     org-wc = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "org-wc";
-        version = "20180124.229";
+        version = "20180415.2219";
         src = fetchFromGitHub {
           owner = "tesujimath";
           repo = "org-wc";
-          rev = "6ff202a4612fe65b4e96bd551893fe8df67b0f51";
-          sha256 = "1yqiqscj7cmnqd4s1lgbf7jbhcqlf3bwr52sabz7mqfs4iwdryhl";
+          rev = "d22b4cff3e1157ca468b186eb789ca62b9214abd";
+          sha256 = "0ysnydpm6lviak3mrqifim4zs2lffbjiv9nvb33qs8mi1dq2igji";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/852e0a5cee285cc9b5e2cd9e18061fc0fe91d5a6/recipes/org-wc";
@@ -53847,12 +54382,12 @@
     orgit = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, lib, magit, melpaBuild, org }:
     melpaBuild {
         pname = "orgit";
-        version = "20180217.1320";
+        version = "20180318.1301";
         src = fetchFromGitHub {
           owner = "magit";
           repo = "orgit";
-          rev = "976f3c7d25ad92c57341b52dad9af89b49c37f0c";
-          sha256 = "0m8mghh0iydbvlsrg0zd2xajfhdxgxk79dm4gwircrh6zv8194ax";
+          rev = "d909f92d3b1b42184143fd5e6d4c6a2762477ab7";
+          sha256 = "1jdc874bxkpbfpllak3vmfsn82p930s565bzff341vzv7aw2528c";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/73b5f7c44c90540e4cbdc003d9881f0ac22cc7bc/recipes/orgit";
@@ -53868,12 +54403,12 @@
     orglink = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, org }:
     melpaBuild {
         pname = "orglink";
-        version = "20161104.1800";
+        version = "20180318.1323";
         src = fetchFromGitHub {
           owner = "tarsius";
           repo = "orglink";
-          rev = "50debcf3508d2252bdce35c8822af1b3a81fd2dd";
-          sha256 = "1b86c4pyc7cs02lrhnk93gh3czp9wajm17wd9mhszcbdn996rnhz";
+          rev = "e9e90e16ddaceaf99c9b251a215d6338b9762b4d";
+          sha256 = "0vqyidi54rbpqwqi6iv1xaqkr9gfr0pfhr1msxckh8jy6avgy319";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/be9b8e97cda6af91d54d402887f225e3a0caf055/recipes/orglink";
@@ -54159,27 +54694,6 @@
           license = lib.licenses.free;
         };
       }) {};
-    osx-plist = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
-    melpaBuild {
-        pname = "osx-plist";
-        version = "20101130.448";
-        src = fetchFromGitHub {
-          owner = "emacsmirror";
-          repo = "osx-plist";
-          rev = "5e6de2622fdfe552d4902904f05ea03bc5a6ebd0";
-          sha256 = "0830kkmvc3ss7ygqfwz3j75s7mhxfxyadaksrp0v2cc4y6wn6nfv";
-        };
-        recipeFile = fetchurl {
-          url = "https://raw.githubusercontent.com/milkypostman/melpa/f3686dc818bd12be247bad915c01736a95690041/recipes/osx-plist";
-          sha256 = "0zaqmhf5nm6jflwgxnknhi8zn97vhsia2xv8jm677l0h23pk2va8";
-          name = "osx-plist";
-        };
-        packageRequires = [];
-        meta = {
-          homepage = "https://melpa.org/#/osx-plist";
-          license = lib.licenses.free;
-        };
-      }) {};
     osx-pseudo-daemon = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "osx-pseudo-daemon";
@@ -54243,6 +54757,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    other-emacs-eval = callPackage ({ async, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "other-emacs-eval";
+        version = "20180408.648";
+        src = fetchFromGitHub {
+          owner = "xuchunyang";
+          repo = "other-emacs-eval";
+          rev = "8ace5acafef65daabf0c6619eff60733d7f5d792";
+          sha256 = "1pry1xw2p01b18ks5n0xs895qqqci7v2nrwjiil2vr3m1ys92ymc";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/75b6391726b0d5069e036930c2c5fa177c4e3422/recipes/other-emacs-eval";
+          sha256 = "07sr5bb6x9w450cvfg32darg6jlwg11n7c1qhhk0ijcrnlsm09n7";
+          name = "other-emacs-eval";
+        };
+        packageRequires = [ async emacs ];
+        meta = {
+          homepage = "https://melpa.org/#/other-emacs-eval";
+          license = lib.licenses.free;
+        };
+      }) {};
     outline-magic = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "outline-magic";
@@ -54306,6 +54841,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    outlook = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "outlook";
+        version = "20180330.458";
+        src = fetchFromGitHub {
+          owner = "asavonic";
+          repo = "outlook.el";
+          rev = "77f5199f573a67700cb8d4f736cea5b6bda8ab0c";
+          sha256 = "0rhivgwqnfdvcl5vh9lmg6yaz36bhkvfmj590qxcq18zj1529mfh";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/c5ce3e6800213b117578a1022f25407f2ec1604f/recipes/outlook";
+          sha256 = "0yq9zl7dr8kkm4rps5np4dwvjfhzsxq9wd1af7zwcmms4l3qry6k";
+          name = "outlook";
+        };
+        packageRequires = [ emacs ];
+        meta = {
+          homepage = "https://melpa.org/#/outlook";
+          license = lib.licenses.free;
+        };
+      }) {};
     outorg = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "outorg";
@@ -54390,6 +54946,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    overcast-theme = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "overcast-theme";
+        version = "20180315.1243";
+        src = fetchFromGitHub {
+          owner = "myTerminal";
+          repo = "overcast-theme";
+          rev = "009257956522dedf07d9e136ee41ac0b1b0b3518";
+          sha256 = "1g3s44n839s7fw3spkph31m0a5walilj151v0jyp302mjfn396nh";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/d86691c61fc880954a05502a6474cc2fa0d0a43b/recipes/overcast-theme";
+          sha256 = "1v8hdnvc4pfmadkvdm6b8z0cy20pminvhjdlr13q5m9immr88a4r";
+          name = "overcast-theme";
+        };
+        packageRequires = [ emacs ];
+        meta = {
+          homepage = "https://melpa.org/#/overcast-theme";
+          license = lib.licenses.free;
+        };
+      }) {};
     overseer = callPackage ({ dash, emacs, f, fetchFromGitHub, fetchurl, lib, melpaBuild, pkg-info }:
     melpaBuild {
         pname = "overseer";
@@ -54477,12 +55054,12 @@
     ox-clip = callPackage ({ fetchFromGitHub, fetchurl, htmlize, lib, melpaBuild, org }:
     melpaBuild {
         pname = "ox-clip";
-        version = "20170805.505";
+        version = "20180305.1940";
         src = fetchFromGitHub {
           owner = "jkitchin";
           repo = "ox-clip";
-          rev = "b596760aec2ab4e10b18807c01839047aa209d6e";
-          sha256 = "0bd5vbbz0p0dg5v7s54a88ba7aca53xwr8niirshfkm916lc8mpy";
+          rev = "594c90953a91948505bb394350adf110e041f19a";
+          sha256 = "1alm6hh7qg8sv50cm5p03icx47za2g7b2nvbwzx6kxkrgmgqfq6c";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/6d9ae1e58a1f214a9b88627a2d3254ce7de50740/recipes/ox-clip";
@@ -54561,12 +55138,12 @@
     ox-hugo = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, org }:
     melpaBuild {
         pname = "ox-hugo";
-        version = "20180222.1537";
+        version = "20180403.1111";
         src = fetchFromGitHub {
           owner = "kaushalmodi";
           repo = "ox-hugo";
-          rev = "d53acbb3f8557583a1a03e92ec7626ccc63f5264";
-          sha256 = "0p0a0qfsfg548bymvy57frj9yg5bzbp9r70l31p86q2x3dyjgiyi";
+          rev = "15a6df059f5eac0964c075c1386ce1c83cfe979d";
+          sha256 = "11vndvwq64s7kc8a706favp7x7jc59sqwgs00sknfzznmpyy0xki";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/1e1240bb7b5bb8773f804b987901566a20e3e8a9/recipes/ox-hugo";
@@ -54792,12 +55369,12 @@
     ox-rst = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, org }:
     melpaBuild {
         pname = "ox-rst";
-        version = "20180222.533";
+        version = "20180314.1713";
         src = fetchFromGitHub {
           owner = "msnoigrs";
           repo = "ox-rst";
-          rev = "313640ac945ec63b7de37fe58d4e71098c2fa4d8";
-          sha256 = "0frxwb5mi4gzv2qfqjvw10xl2vnxkra8p73hp6hx7dawbgxb56j4";
+          rev = "a74b60883b0d844c80efb364dac1560b85f2548f";
+          sha256 = "0smgz2q7bjj2svx1gdr187m58yxq1hs878bciz9h6jcp03a9sb61";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/85770d6e235217e98dda9d8b9f027a4ba3ebba96/recipes/ox-rst";
@@ -54981,12 +55558,12 @@
     package-build = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "package-build";
-        version = "20180205.1521";
+        version = "20180414.938";
         src = fetchFromGitHub {
           owner = "melpa";
           repo = "package-build";
-          rev = "d6f926e3688d1c8d3c9d06cbfdd5a31f85accf00";
-          sha256 = "072dlzskl0w4xcnrzgy36gzn4sla4hw84yr82rv04akb9mg4ya9m";
+          rev = "cf202c0a93bd5aabea59d16ad7ddf8c292c05990";
+          sha256 = "18icx58yqig4c7zdvjz8jrhilbv5ygdyl56473mz1zyhvb3q42xy";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/948fb86b710aafe6bc71f95554655dfdfcab0cca/recipes/package-build";
@@ -55023,12 +55600,12 @@
     package-lint = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "package-lint";
-        version = "20171201.1903";
+        version = "20180416.100";
         src = fetchFromGitHub {
           owner = "purcell";
           repo = "package-lint";
-          rev = "9abfb14d9ad903ef73895a27b9964b5e6023d752";
-          sha256 = "0brd8zhiyn9kpbc0za455vjbb5v49i2pj3hhj1lbdcghzwq39jvi";
+          rev = "6929545b6c116bd3eb12d3481a78f381c759e6fc";
+          sha256 = "19fj94i4ai1gzj2y2b2klw7xdsh4aki8zr4840lffn4a0f16nc7n";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/9744d8521b4ac5aeb1f28229c0897af7260c6f78/recipes/package-lint";
@@ -55083,22 +55660,22 @@
           license = lib.licenses.free;
         };
       }) {};
-    package-utils = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    package-utils = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, restart-emacs }:
     melpaBuild {
         pname = "package-utils";
-        version = "20170222.2352";
+        version = "20180317.1134";
         src = fetchFromGitHub {
           owner = "Silex";
           repo = "package-utils";
-          rev = "3cbbc2ff50ecb5e6fb20a309cb07d74ca10d4d42";
-          sha256 = "1bp04c2ljcgxf590yv05wzvqz7b7ih22h343g7rwdd5l3cli43km";
+          rev = "652531caf1a1df916d2185e7f47085bd0509c940";
+          sha256 = "0lmz4szrfs2445q8nyqnh9hgm69bwdf7q78sfqyxiw1fqaj205si";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a1bb884a0299408daa716eba42cb39f79622766c/recipes/package-utils";
           sha256 = "02hgh7wg68ysfhw5hckrpshzv4vm1vnm395d34x6vpgl4ccx7v9r";
           name = "package-utils";
         };
-        packageRequires = [];
+        packageRequires = [ restart-emacs ];
         meta = {
           homepage = "https://melpa.org/#/package-utils";
           license = lib.licenses.free;
@@ -55107,12 +55684,12 @@
     packed = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "packed";
-        version = "20170819.942";
+        version = "20180318.1029";
         src = fetchFromGitHub {
           owner = "emacscollective";
           repo = "packed";
-          rev = "94ea12b9d44bfa42c28d0548199f2fcd19e4aa6a";
-          sha256 = "1n80y5pqaibix71fnw3cxmq66frmqfji2b2y170jszmrxi03kwxm";
+          rev = "c41c3dfda86ae33832ffc146923e2a4675cbacfa";
+          sha256 = "1272xmb3l8ddfijqzci3x0kxwibqb0sbkci4rbcv9ba9hpxp4d1v";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/57a2fb9524df3fdfdc54c403112e12bd70888b23/recipes/packed";
@@ -55275,12 +55852,12 @@
     pamparam = callPackage ({ emacs, fetchFromGitHub, fetchurl, hydra, lib, lispy, melpaBuild, worf }:
     melpaBuild {
         pname = "pamparam";
-        version = "20180122.1325";
+        version = "20180415.48";
         src = fetchFromGitHub {
           owner = "abo-abo";
           repo = "pamparam";
-          rev = "f531518bd9952d39af8605f461fc43aa6b6fa5f4";
-          sha256 = "110jnj7yp6j2qj5ar72c5kgkpj43b4b82ipq725xivk6zsvrhicr";
+          rev = "8fa25d06fb2ae6d992e738a10d8b2150e109d9bf";
+          sha256 = "0p50cfmwgwahb1czqvgx2kvnd3k46zl0pybvxlyf45y4c4kr8wjp";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/067b5e3594641447478db8c1ffcb36d63018b1b2/recipes/pamparam";
@@ -55384,8 +55961,8 @@
         src = fetchFromGitHub {
           owner = "cadadr";
           repo = "elisp";
-          rev = "497c7e68df5e3b6b8c3ebaaf6edfce6b2d29b616";
-          sha256 = "1j15dfg1mr21vyf7c9h3dij1pnikwvmxr3rs0vdrx8lz9x321amf";
+          rev = "35424f7360f5110833b7a9f4f53907b9e222be85";
+          sha256 = "1xi56c8f2wcmldr76ylrcqsy0wf75pv74b0455ki84fq1fk4n08s";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a7ea18a56370348715dec91f75adc162c800dd10/recipes/paper-theme";
@@ -55409,8 +55986,8 @@
           sha256 = "1b2gm823qd6bllgp9qg2vgskzg4rpdvh8bgic8708hkq6lwpdv70";
         };
         recipeFile = fetchurl {
-          url = "https://raw.githubusercontent.com/milkypostman/melpa/921ba9059183a57e08f9c79af2b28bb77a210508/recipes/paperless";
-          sha256 = "02jbqdhbq4b3yb9lrqkwaxmyymvcqrjswhzp4sbccw6arla4q7wg";
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/500be17952ffb6b8d1e524b5b3d316878202fabc/recipes/paperless";
+          sha256 = "182arnx2fz0dww6bvg6m70a1picqd3czmzwv92x0rb4ghwrnq2dq";
           name = "paperless";
         };
         packageRequires = [ cl-lib emacs f s ];
@@ -55525,12 +56102,12 @@
     paren-face = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "paren-face";
-        version = "20180124.352";
+        version = "20180318.1325";
         src = fetchFromGitHub {
           owner = "tarsius";
           repo = "paren-face";
-          rev = "166975683225367c866e6ae6f6acb88d24e21a35";
-          sha256 = "02mh8w2na6qa94p3bh6pvdvmg36p2vrbp5hpjnwjcayrb92dskgy";
+          rev = "a45d111153a76c481fa0b36d6172ac90e073dfc4";
+          sha256 = "1cr0vnm57lxs48z17ddcv7qlfvks7wdsp01zsw0c7i3h5ajl8myp";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/d398398d1d5838dc4985a06515ee668f0f566aab/recipes/paren-face";
@@ -55567,12 +56144,12 @@
     parinfer = callPackage ({ cl-lib ? null, dash, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "parinfer";
-        version = "20180214.1040";
+        version = "20180226.2134";
         src = fetchFromGitHub {
           owner = "DogLooksGood";
           repo = "parinfer-mode";
-          rev = "05f554bb5633d48e1ffb053aa3cca462c52600cf";
-          sha256 = "1dxvwc48z4z23pl317pkcrnlpwpyw1qyggzn89xcv7p3abyqqhpz";
+          rev = "5bfc915c4a91da740f3216798327b5676d227569";
+          sha256 = "0zz4l7k2blbxcg1ni3amfys58szw51fvrjk7dbjxp7vsgpp7x3ji";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/470ab2b5cceef23692523b4668b15a0775a0a5ba/recipes/parinfer";
@@ -55648,15 +56225,36 @@
           license = lib.licenses.free;
         };
       }) {};
+    parseclj = callPackage ({ a, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "parseclj";
+        version = "20180225.2233";
+        src = fetchFromGitHub {
+          owner = "clojure-emacs";
+          repo = "parseclj";
+          rev = "af6102c4a80693cc3b40c4eb5c340358ab4b9696";
+          sha256 = "1m1yvskgvm4np6r36c5gjg5whi1dyg6c1xd0nfqgc0cw9awwxp6b";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/e2a977779a7ee49f57b849b14e581210a7f47d61/recipes/parseclj";
+          sha256 = "077qigx0qyjyvm3437ffnv05rmnpqxvpxf69yyfdgnay1xclv172";
+          name = "parseclj";
+        };
+        packageRequires = [ a emacs ];
+        meta = {
+          homepage = "https://melpa.org/#/parseclj";
+          license = lib.licenses.free;
+        };
+      }) {};
     pasp-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "pasp-mode";
-        version = "20170803.1301";
+        version = "20180404.1000";
         src = fetchFromGitHub {
           owner = "santifa";
           repo = "pasp-mode";
-          rev = "6511193677d6113fec1171f476c0db3be242ee15";
-          sha256 = "1fk87iiqnyfwblw8fgqhw2mg61w2pl7id1dm8lb75pqrjq8kvjbg";
+          rev = "59385eb0e8ebcfc8c11dd811fb145d4b0fa3cc92";
+          sha256 = "1ar4vws3izzmir7m870mccci620ns3c5j26dcmwaxavhgw45wcmf";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/f3c1bbfc6b3a60f8bb4f0ee77ec4108e9d3f458b/recipes/pasp-mode";
@@ -56176,12 +56774,12 @@
     pcomplete-extension = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "pcomplete-extension";
-        version = "20140604.947";
+        version = "20180322.28";
         src = fetchFromGitHub {
           owner = "thierryvolpiatto";
           repo = "pcomplete-extension";
-          rev = "839740c90de857e18db2f578d6660951522faab5";
-          sha256 = "0h0p4c08z0dqxmg55fzch1d2f38rywfk1j0an2f4sc94lj7ckbm6";
+          rev = "3d7dac3de9e81604e4ed93c344cf4d44ebae3bf7";
+          sha256 = "1qrlp066rbcafn67mmbg48fkxw7ai6ni8b3asmm8w623xhd63v1g";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/6cb8a938418f84a5b0ede92e84a516f38e4b1011/recipes/pcomplete-extension";
@@ -56365,11 +56963,11 @@
     pelican-mode = callPackage ({ emacs, fetchgit, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "pelican-mode";
-        version = "20180217.317";
+        version = "20180401.148";
         src = fetchgit {
           url = "https://git.korewanetadesu.com/pelican-mode.git";
-          rev = "524c001eed50ceee40095d6680787e435b9d3624";
-          sha256 = "1559x7wxmflgzjykkbdsgw61zayswpil940n71979qkgqzcc5ggq";
+          rev = "c48bd6c3b7369787a09923c53b452d9ec460399c";
+          sha256 = "0b5sizmbf05kiwrq0n45scg95jg33qar70gi2vsqp4aaqryipccs";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/aede5994c2e76c7fd860661c1e3252fb741f9228/recipes/pelican-mode";
@@ -56468,12 +57066,12 @@
     persistent-scratch = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "persistent-scratch";
-        version = "20170110.546";
+        version = "20180414.1044";
         src = fetchFromGitHub {
           owner = "Fanael";
           repo = "persistent-scratch";
-          rev = "551c655fa349e6f48e4e29f427fff7594f76ac1d";
-          sha256 = "1iqfr8s4cvnnmqw5yxyr6b6nghbsc95mgjlc61qxa8wa1mpv31rz";
+          rev = "85d753a27c198cc3611845ca144150d3baf4e3d8";
+          sha256 = "08iypb0pbscbqcvg6p81rmazr5b7kdavjg2z9l37jha4vcb3nbcj";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/f1e32702bfa15490b692d5db59e22d2c07b292d1/recipes/persistent-scratch";
@@ -56825,12 +57423,12 @@
     phi-search = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "phi-search";
-        version = "20170310.237";
+        version = "20180321.1829";
         src = fetchFromGitHub {
           owner = "zk-phi";
           repo = "phi-search";
-          rev = "a81c4ea203fcb572f6cc37cc658d6b01453bef9d";
-          sha256 = "1z3640walrdk2c90hj47xvlpm6xd5iblxvn7i16krdfz735i4rr5";
+          rev = "9a089b8271cb1cff9640848850298c9ec855286c";
+          sha256 = "1gr5plcbrfdc4pglfj905s89hf8x0kc083h30wcnd81bnw9jwz1x";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/2f0274300c33f19ca6f868e1d570ffee513dbdf7/recipes/phi-search";
@@ -57056,12 +57654,12 @@
     php-mode = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "php-mode";
-        version = "20180219.1806";
+        version = "20180412.1002";
         src = fetchFromGitHub {
           owner = "ejmr";
           repo = "php-mode";
-          rev = "e9e1b5806c169a8c7a7881530dcd2e9a52ab5fe8";
-          sha256 = "1d2isgf17sg7n7vg6dif88yn31yxxgargvllys8azl48x0y40hh9";
+          rev = "ef69a8b63f70a89694087ab0f97545d103ad952c";
+          sha256 = "0njhhlpv93rkskhzj6wyxyvvx839saix6d96x0ipairxv1arcj3j";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/7cdbc35fee67b87b87ec72aa00e6dca77aef17c4/recipes/php-mode";
@@ -57074,27 +57672,6 @@
           license = lib.licenses.free;
         };
       }) {};
-    php-plus--mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
-    melpaBuild {
-        pname = "php-plus--mode";
-        version = "20171027.921";
-        src = fetchFromGitHub {
-          owner = "echosa";
-          repo = "phpplus-mode";
-          rev = "523e7e50f9978ba74b8a324f9f896cd9b5dfd9de";
-          sha256 = "0xf79pxsrfr9bi3138hdq2ccrh391sci8lvmvzcs3vnzw0hrzbfh";
-        };
-        recipeFile = fetchurl {
-          url = "https://raw.githubusercontent.com/milkypostman/melpa/d542e94471b9f601f1ee6f31e727bc4a31fa8f9e/recipes/php+-mode";
-          sha256 = "1wl15l4m68xng1b87a19fm21qwr230ckjz1iwi3y1xl184zliv8p";
-          name = "php-plus--mode";
-        };
-        packageRequires = [];
-        meta = {
-          homepage = "https://melpa.org/#/php+-mode";
-          license = lib.licenses.free;
-        };
-      }) {};
     php-refactor-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "php-refactor-mode";
@@ -57203,12 +57780,12 @@
     pianobar = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "pianobar";
-        version = "20171117.1522";
+        version = "20180409.1906";
         src = fetchFromGitHub {
           owner = "agrif";
           repo = "pianobar.el";
-          rev = "68fe0ed839f6775535081b3ae0a946ccaf11234a";
-          sha256 = "0ycwahbn7fny3slmh5xkfv7vk4qj95jydygdk6pzzx6drsdhnyza";
+          rev = "9eb9b7fcb4790b11726302cbcec1b7951fbc8b0e";
+          sha256 = "0y41hfml5l28i40fk279m6yngylkwrlv5wldhq3y1sp4ryahwl6p";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/b5659b4c7be20572aabe75caba866301393db012/recipes/pianobar";
@@ -57434,12 +58011,12 @@
     pip-requirements = callPackage ({ dash, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "pip-requirements";
-        version = "20171109.1439";
+        version = "20180306.1522";
         src = fetchFromGitHub {
           owner = "Wilfred";
           repo = "pip-requirements.el";
-          rev = "d6d0437794e5de205a5fb03e0ff0a4a1b9e04eea";
-          sha256 = "01j33xlrh8zflzib7gngjhkgg8fvyx2yz57clxzbjkd4377f22c2";
+          rev = "88c764ad5d988a3ed0d2b6f0b7dd22308b03a058";
+          sha256 = "01gl4nzqpmczprsdg13yvcj8d1p49wdwskmkm8nzssrshir6xdxl";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/5eaf6987f92070ccc33d3e28c6bb2b96f72ba1aa/recipes/pip-requirements";
@@ -57455,12 +58032,12 @@
     pipenv = callPackage ({ emacs, f, fetchFromGitHub, fetchurl, lib, melpaBuild, s }:
     melpaBuild {
         pname = "pipenv";
-        version = "20180222.359";
+        version = "20180402.2127";
         src = fetchFromGitHub {
           owner = "pwalsh";
           repo = "pipenv.el";
-          rev = "364eaf1c823a28db97fe55e7fe85106107a23234";
-          sha256 = "1f3xx606xvsmcc73mqml0w07xbkkm2xjirc4pfkb2883cfsk3fq1";
+          rev = "7f1fb3dd1704e535e67860c58080e55fc89e07f4";
+          sha256 = "1z1hdh6m10gam86zyhdfjksj2jxjrichdcz8qs3290lxy59f7agq";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/d46738976f5dfaf899ee778b1ba6dcee455fd271/recipes/pipenv";
@@ -57669,8 +58246,8 @@
         src = fetchFromGitHub {
           owner = "skuro";
           repo = "plantuml-mode";
-          rev = "fce628885b54635b0287b3337626752b2725369d";
-          sha256 = "1pcxl00iwhrsi57s6gbf3bch00pkdxbg46p8xryn1w5r16xzd9pm";
+          rev = "cfb408fc840dae80a7d05d5648d27c18f04c00a9";
+          sha256 = "1w2f953glxqfg8ilv537qznxj4kv4ddi011wyhkn27sv4wnky82c";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/38e74bb9923044323f34473a5b13867fe39bed25/recipes/plantuml-mode";
@@ -57770,12 +58347,12 @@
     playerctl = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "playerctl";
-        version = "20170414.156";
+        version = "20180301.554";
         src = fetchFromGitHub {
           owner = "thomasluquet";
           repo = "playerctl.el";
-          rev = "8354352813cd206efb60002f2af4427957bf8894";
-          sha256 = "1138jcn2yjfhg0abkiwzzrf69pc5nddppf2hj35mn8b0rr7zs4bq";
+          rev = "3eee541423c2e5eb9f23a26fa9aa88c9c5a19ad1";
+          sha256 = "16qvn1mss5j8vpf1qpq4lwl4hwng64caw3c3shixsncfmgw25z6f";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/6db0d82c2eef7c5bef5f9f2c15969da4c404b62d/recipes/playerctl";
@@ -57791,12 +58368,12 @@
     playground = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "playground";
-        version = "20180224.2325";
+        version = "20180319.243";
         src = fetchFromGitHub {
           owner = "akirak";
           repo = "emacs-playground";
-          rev = "5b8d9eb5ea48313e2b33ed3a390d7a2e04d9dda8";
-          sha256 = "1v83mkg4573iy6rjnvi5hshbgp98jhyj2c2swz7p4vfcdcak8j2n";
+          rev = "f1b87ba65d8be28c4a8fc0fd8480d2da00e52406";
+          sha256 = "0fqja170pbdrj1lz8dfpi53l07bf4vk18maa1kzcd2nyd569xxvi";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/f062a74fe1746129879ad19c1735621f58509d33/recipes/playground";
@@ -57938,8 +58515,8 @@
         version = "20170419.303";
         src = fetchgit {
           url = "https://git.savannah.gnu.org/git/gettext.git";
-          rev = "7b967191976bf013cca0a5b21b1e3dbe34e86889";
-          sha256 = "18ar8m5sj3drflcpl7z528x28nskhahjl5bwa8624csdzn0fhngy";
+          rev = "071d155f83e2c9c917db43f5452822a6dc30250a";
+          sha256 = "1whbjblizl478gc7yc2yj0spwskzq8d9inpxian441a6jj9biah3";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/caaa21f235c4864f6008fb454d0a970a2fd22a86/recipes/po-mode";
@@ -57955,12 +58532,12 @@
     pocket-api = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, request }:
     melpaBuild {
         pname = "pocket-api";
-        version = "20170818.533";
+        version = "20180402.1809";
         src = fetchFromGitHub {
           owner = "lujun9972";
           repo = "pocket-api.el";
-          rev = "26e4583311ebc472f7bba59a1189f04938f2c03e";
-          sha256 = "04cf97mwkp5rw0dvnspdbrycywjdv4mljl6lbjhbvlijj745d5xm";
+          rev = "3eb9430b9db90bc02e736e433eb86389f7655189";
+          sha256 = "0k6a9zzdi02g677cc699llk04i06yb7ddnlnmxndap5jszfyqwfi";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/04e3be76aef4d1b6d5bb3eda533b5deffcc8a5bc/recipes/pocket-api";
@@ -58067,6 +58644,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    poet-theme = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "poet-theme";
+        version = "20180415.2212";
+        src = fetchFromGitHub {
+          owner = "kunalb";
+          repo = "poet";
+          rev = "70b514373ea32c20ce4e46809b3336af1a69d2c8";
+          sha256 = "0jsgd4fgz6xliyfq46xn3ky7hr5ma4577h8kgshsbdidzwmp6xrr";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/40bbe29dee56f7989d8e87c03f4842e2b191acc3/recipes/poet-theme";
+          sha256 = "0pllyp4spj30g6ihzc91hzvnrvcg2zb49adj8wcmbzvq3hxnvls1";
+          name = "poet-theme";
+        };
+        packageRequires = [];
+        meta = {
+          homepage = "https://melpa.org/#/poet-theme";
+          license = lib.licenses.free;
+        };
+      }) {};
     point-pos = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "point-pos";
@@ -58133,12 +58731,12 @@
     pollen-mode = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "pollen-mode";
-        version = "20160808.2000";
+        version = "20180404.612";
         src = fetchFromGitHub {
           owner = "lijunsong";
           repo = "pollen-mode";
-          rev = "de762bd7f9760185dae8ef025ca9a9126ae78de0";
-          sha256 = "19bi50nlmwnh4kz3b1hrgc7ks0g84bld9aifws2l3wyc3xsj8cqa";
+          rev = "df4eab5b490cb478a092e6bab6b07f9e2f9c6fad";
+          sha256 = "0x8bnf0n109ard5zdmma04w0wv5jb1r7qh5smsa1kjvws98gnp57";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/97bda0616abe3bb632fc4231e5317d9472dfd14f/recipes/pollen-mode";
@@ -58196,12 +58794,12 @@
     pomidor = callPackage ({ alert, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "pomidor";
-        version = "20180224.946";
+        version = "20180320.1252";
         src = fetchFromGitHub {
           owner = "TatriX";
           repo = "pomidor";
-          rev = "458ff63f640ba741959670fca0e439374d2d840a";
-          sha256 = "0vg38cccjfkn2w7a7fxks26x4v27bhxkpz7nfnq1scw88z9hl1sh";
+          rev = "30004b21714b53d22041514d905e1876c5cedd4b";
+          sha256 = "0nis9dx73y90lqnh24j5ywrdmjf7aa1jrdgwxm53wjl4sfmk85r1";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/4e0d4f313081594df23f357c40feb456847d8bd0/recipes/pomidor";
@@ -58532,12 +59130,12 @@
     posframe = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "posframe";
-        version = "20180225.2325";
+        version = "20180308.1627";
         src = fetchFromGitHub {
           owner = "tumashu";
           repo = "posframe";
-          rev = "489620f6bd1ca5a6363d4ab9176b6eeb753e7f3b";
-          sha256 = "1p1khm0mcjq6acjh08z5gaw24hns6sg7p1iy8x6zf63c8kyfq2ls";
+          rev = "c29228eb2100503a0fda39252d4f11c1eb5acc56";
+          sha256 = "1k92gzzy6ys2f86jzggqlz3x6v665hwkafj3frj4mgmxp7yxsiw0";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/fa3488f2ede1201faf4a147313456ed90271f050/recipes/posframe";
@@ -58616,12 +59214,12 @@
     powerline = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "powerline";
-        version = "20180115.1942";
+        version = "20180321.1948";
         src = fetchFromGitHub {
           owner = "milkypostman";
           repo = "powerline";
-          rev = "2933f2b6d00a8cab39f73fc6231fac311cba5b29";
-          sha256 = "0fxkz7rqj057bnxfqgh3i88waqxnla05dqw20v8njf9swchry0ya";
+          rev = "af5ef31a33c3589a9be0b2a55a2741582e605efd";
+          sha256 = "0zynj4pl9717xbj8g1mac3haiybdndb034bnqk03bb42iyrwy767";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/f805053cd4dd9ed53ee0df17ad69429bc62325bb/recipes/powerline";
@@ -58973,12 +59571,12 @@
     prodigy = callPackage ({ dash, emacs, f, fetchFromGitHub, fetchurl, lib, melpaBuild, s }:
     melpaBuild {
         pname = "prodigy";
-        version = "20180214.1249";
+        version = "20180329.1357";
         src = fetchFromGitHub {
           owner = "rejeep";
           repo = "prodigy.el";
-          rev = "a90f917390cac8ae7e95b57e88a1527b7f3242b3";
-          sha256 = "0b53xgja04vsw22yqxj5vnn4w2x23zcm3fsjwzfxlcgy4h50y3ay";
+          rev = "a07c611862ae6dad6cdf9186a7813e701dc6e072";
+          sha256 = "1addcwmgd2i9jp327ccsw5vgiixw6k1jks2fwg328llln0gv18ll";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/prodigy";
@@ -59182,12 +59780,12 @@
     projectile = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, pkg-info }:
     melpaBuild {
         pname = "projectile";
-        version = "20180128.655";
+        version = "20180324.2226";
         src = fetchFromGitHub {
           owner = "bbatsov";
           repo = "projectile";
-          rev = "c3562c3a182d3c9948db9c8f364e84da2e90c218";
-          sha256 = "044fdvcjqkp25kn20lr77jirgdnzjrxp8i024zp3lz7wa4gywyhy";
+          rev = "fba757dcee67479e579c164ec0f4f930793de6cd";
+          sha256 = "1c3lvq9n501dcvxa8xz9cg4hm7bazbamb5rbfxlqjk9b4gbf8hby";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/ca7bf43ef8893bf04e9658390e306ef69e80a156/recipes/projectile";
@@ -59287,12 +59885,12 @@
     projectile-rails = callPackage ({ emacs, f, fetchFromGitHub, fetchurl, inf-ruby, inflections, lib, melpaBuild, projectile, rake }:
     melpaBuild {
         pname = "projectile-rails";
-        version = "20171117.730";
+        version = "20180327.433";
         src = fetchFromGitHub {
           owner = "asok";
           repo = "projectile-rails";
-          rev = "348b11b237e87d87e784ab7accaef2bf97664bd6";
-          sha256 = "1swlbndipa48hd6mhmgzi1x3bapdzn4cwd7j7a13wxfcj9s1jm9x";
+          rev = "b5e516ef6a336bde32e4594408be15fd96b07e1b";
+          sha256 = "06qwhf04wy67ils5wn9hyc1z2j1pq0kb1mvxkxzqglwdnaca00l7";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/b16532bb8d08f7385bca4b83ab4e030d7b453524/recipes/projectile-rails";
@@ -59308,12 +59906,12 @@
     projectile-ripgrep = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, projectile, ripgrep }:
     melpaBuild {
         pname = "projectile-ripgrep";
-        version = "20170211.857";
+        version = "20180301.651";
         src = fetchFromGitHub {
           owner = "nlamirault";
           repo = "ripgrep.el";
-          rev = "c47a2da4668ca338e7fadc3d8c095e075caaa17d";
-          sha256 = "0x2rkm1yf03qfzylx6pk32cq7mmydila2iwiq40k5nl4wgfia5vx";
+          rev = "a1f8f030bf5daea92dd13b953720a6c13dd3557c";
+          sha256 = "0mpysjcbw9qxy1lcwsd2rqf72xahpdpn88xcq0cnk1y2jam8gjkf";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/195f340855b403128645b59c8adce1b45e90cd18/recipes/projectile-ripgrep";
@@ -59476,12 +60074,12 @@
     promise = callPackage ({ async, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "promise";
-        version = "20170215.2204";
+        version = "20180409.252";
         src = fetchFromGitHub {
           owner = "chuntaro";
           repo = "emacs-promise";
-          rev = "d3cad4e1f7825404828cd9f5b887f18d3fd83c56";
-          sha256 = "1cn1xcp6yfxp642yibknngf456v29s2qq3y8bsc67ydxjkr5w4gz";
+          rev = "f623fa7466983fd1ba7034371f599434c03da723";
+          sha256 = "1ffk5scab9whn27xz4wyik5vl235ngvhx30fd05abq97d6l7hndl";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/3eaf5ac668008759677b9cc6f11406abd573012a/recipes/promise";
@@ -59627,8 +60225,8 @@
         src = fetchFromGitHub {
           owner = "google";
           repo = "protobuf";
-          rev = "a6037c5230c0ccb6531f80cef909dbfe37257884";
-          sha256 = "1847pbxsh2xwfj7vm1hvf88prwni5k2jbswilply034f1648r9ar";
+          rev = "320d56c833f835f40c56bdaf2a375768cdd1b334";
+          sha256 = "0waqwqcwwv99rl0ays9maqv0y6l06vx6k8ygap21i69dn7mrj5nl";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/b4e7f5f641251e17add561991d3bcf1fde23467b/recipes/protobuf-mode";
@@ -59665,12 +60263,12 @@
     psc-ide = callPackage ({ cl-lib ? null, company, dash, dash-functional, emacs, fetchFromGitHub, fetchurl, flycheck, let-alist, lib, melpaBuild, s, seq }:
     melpaBuild {
         pname = "psc-ide";
-        version = "20180101.1421";
+        version = "20180404.215";
         src = fetchFromGitHub {
           owner = "epost";
           repo = "psc-ide-emacs";
-          rev = "085e9d5541ccf35e876a6135daaddaa0a58f3bb2";
-          sha256 = "0q7xqrjvllngz658w32zm9jbz1njqwpaqgiv3b377nfnay9rsh3p";
+          rev = "de22a50eb031d11c4771e62f8c705298bc5636d6";
+          sha256 = "1sn2lw37382kl5d69c8wdghcr10cwwx7g5dgxgnmmfhspbkz6v95";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/384ffc463cc6edb4806f8da68bd251e662718e65/recipes/psc-ide";
@@ -59717,12 +60315,12 @@
     psession = callPackage ({ async, cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "psession";
-        version = "20180202.44";
+        version = "20180409.1056";
         src = fetchFromGitHub {
           owner = "thierryvolpiatto";
           repo = "psession";
-          rev = "0d5091ae1090bad41d8e10a2f3f94a9e87711610";
-          sha256 = "1h60j33nygivwa9hgn98ibyvxmxr02p338iq80z0nhqqkhzg24rp";
+          rev = "faea8e5b3873a4c62a03c76a057cd0fd6fb0434e";
+          sha256 = "1i1rjk72cwvfgxvqsiw2sqfwhsc8n4q89p94c96f3wm10rvlv7k2";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/669342d2b3e6cb622f196571d776a98ec8f3b1d3/recipes/psession";
@@ -59735,27 +60333,6 @@
           license = lib.licenses.free;
         };
       }) {};
-    psvn = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
-    melpaBuild {
-        pname = "psvn";
-        version = "20151103.1042";
-        src = fetchFromGitHub {
-          owner = "emacsmirror";
-          repo = "psvn";
-          rev = "23048d302858fc3a52c118652bd83491a4956410";
-          sha256 = "1jz1g0igpnsjn2r144205bffj10iyp8izm8678mzkhnricxkn0d6";
-        };
-        recipeFile = fetchurl {
-          url = "https://raw.githubusercontent.com/milkypostman/melpa/3690f9af15a6470b76d953c349eed82833b79a7c/recipes/psvn";
-          sha256 = "1wdww25pjla7c8zf04mvgia1ws8cal9rb7z8g3vn2s3gp68py12n";
-          name = "psvn";
-        };
-        packageRequires = [];
-        meta = {
-          homepage = "https://melpa.org/#/psvn";
-          license = lib.licenses.free;
-        };
-      }) {};
     psysh = callPackage ({ emacs, f, fetchFromGitHub, fetchurl, lib, melpaBuild, s }:
     melpaBuild {
         pname = "psysh";
@@ -60241,12 +60818,12 @@
     pydoc = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "pydoc";
-        version = "20170429.1158";
+        version = "20180302.2041";
         src = fetchFromGitHub {
           owner = "statmobile";
           repo = "pydoc";
-          rev = "916153516382e5546b59b46342c58ed76cf27faf";
-          sha256 = "18ba5mcp030l6ywdq70ryvbwn7af28kp0xi8h1bma5mwcxj2sg2c";
+          rev = "146a006493f5284fdf23b42ef90454f1be25d0c1";
+          sha256 = "1wk9zkwqi7vf0jpsf5y7hz0z198x4k9xp2fpqggkqfbv007ks1qq";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/5c4988a66040ddf659492bdb0ae2b9617c342c69/recipes/pydoc";
@@ -60307,8 +60884,8 @@
         src = fetchFromGitHub {
           owner = "ssbb";
           repo = "pyenv-mode-auto";
-          rev = "51248f13e98240ab146ff45a8247e0f5286277b2";
-          sha256 = "1y5fmc6jrw9xrafq1j2j0k1p5hydvbw1m3zy47b5c55ll97dsflj";
+          rev = "08f319efbc31571f391e032379169ab90fa71418";
+          sha256 = "089n0s0vhwysgrkpjidy7gsl6skmzz2lg011mgiskfvqwijj2vyx";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/f3fcb707356bd16fd0b573c176023534cd69d0d7/recipes/pyenv-mode-auto";
@@ -60366,12 +60943,12 @@
     pyim = callPackage ({ async, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, popup, pyim-basedict }:
     melpaBuild {
         pname = "pyim";
-        version = "20180206.1419";
+        version = "20180324.2310";
         src = fetchFromGitHub {
           owner = "tumashu";
           repo = "pyim";
-          rev = "c670df2a338ca956b6103fd388f81a551bfc33f8";
-          sha256 = "1pkjwcwz6xagamigsv25bxydda1yxzphw0xfclpi21raqnr9f1s6";
+          rev = "78fe2db87d38fc64879621802e2fcf8b54b8acb7";
+          sha256 = "1w5qswz1ybfzk1g5w8qlid836n6nsd5zpblfkijmss4nlkwxczgs";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/151a0af91a58e27f724854d85d5dd9668229fe8d/recipes/pyim";
@@ -60450,12 +61027,12 @@
     pyimport = callPackage ({ dash, fetchFromGitHub, fetchurl, lib, melpaBuild, s, shut-up }:
     melpaBuild {
         pname = "pyimport";
-        version = "20170808.346";
+        version = "20180308.952";
         src = fetchFromGitHub {
           owner = "Wilfred";
           repo = "pyimport";
-          rev = "50789ef8c5e19997bd5b0d4c47acb7660d128e76";
-          sha256 = "1g4kp6m9bqpvyp0wy1bjx8246mqvdy5jznl1ash1qn7gr07kb34s";
+          rev = "a6f63cf7ed93f0c0f7c207e6595813966f8852b9";
+          sha256 = "1q5gqhvh4zq5dy8vns694warcz48j1hdnxg16sjck4gsi9xivbvs";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/71bc39b06cee37814960ef31c6a2056261b802fb/recipes/pyimport";
@@ -60496,8 +61073,8 @@
         src = fetchFromGitHub {
           owner = "PyCQA";
           repo = "pylint";
-          rev = "04481735e10c8d4584447a6dba97df8653fc7ec5";
-          sha256 = "1v100ccggdhprj7zgs8cs7qi86a6xs2pkzx0whi2hvb8nyyp9gx9";
+          rev = "56b5da6efd3a7ac934adbadf4d85abfc1d324d71";
+          sha256 = "09c14bsfglvlbz0y7sx0di50p1iw033g5y8f3qxbwrxba3213pkv";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a073c91d6f4d31b82f6bfee785044c4e3ae96d3f/recipes/pylint";
@@ -60510,22 +61087,22 @@
           license = lib.licenses.free;
         };
       }) {};
-    pynt = callPackage ({ deferred, ein, emacs, epc, fetchFromGitHub, fetchurl, helm, lib, melpaBuild }:
+    pynt = callPackage ({ deferred, ein, emacs, epc, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "pynt";
-        version = "20180203.2100";
+        version = "20180410.1715";
         src = fetchFromGitHub {
           owner = "ebanner";
           repo = "pynt";
-          rev = "92b3f0e7ee88dde641b9f62c50431f7c499dcf1e";
-          sha256 = "1wn1gjql7g2dg7bnwqgx3r66b0hnxcmpmbh1wc5nc312wnklpz6f";
+          rev = "313dd24248f26ee1257b8b20885c593d8fb19d58";
+          sha256 = "05ik3807pv6g8rc66wyybwgnscjwgl2dn9yssn35rvb95cavqq77";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/fdb297084188a957a46dcd036e65d9d893044bea/recipes/pynt";
           sha256 = "07c0zc68r3pskn3bac3a8x5nrsykl90a1h22865g3i5vil76vvg3";
           name = "pynt";
         };
-        packageRequires = [ deferred ein emacs epc helm ];
+        packageRequires = [ deferred ein emacs epc ];
         meta = {
           homepage = "https://melpa.org/#/pynt";
           license = lib.licenses.free;
@@ -60660,12 +61237,12 @@
     python-mode = callPackage ({ fetchFromGitLab, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "python-mode";
-        version = "20180121.50";
+        version = "20180319.344";
         src = fetchFromGitLab {
           owner = "python-mode-devs";
           repo = "python-mode";
-          rev = "c9009f6753e05a4182674fdd3d9f80808de2dc2f";
-          sha256 = "01r54skcxkjd6ihx7spx4rmp1b4x02yy9my93qgb4bkg3mwsbq5w";
+          rev = "85b61649b5f66e966d55ffbaf90160c2b60ff410";
+          sha256 = "173i3k0nvjri1g1mkgkc2i9c9mpnsvxf1ldmm12yhadl5gl2ah07";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/82861e1ab114451af5e1106d53195afd3605448a/recipes/python-mode";
@@ -60681,12 +61258,12 @@
     python-pytest = callPackage ({ dash, dash-functional, emacs, fetchFromGitHub, fetchurl, lib, magit-popup, melpaBuild, projectile, s }:
     melpaBuild {
         pname = "python-pytest";
-        version = "20180226.305";
+        version = "20180307.844";
         src = fetchFromGitHub {
           owner = "wbolster";
           repo = "emacs-python-pytest";
-          rev = "0ed385f7e8edd1a7d0aee72f5112459ea9054cbe";
-          sha256 = "1wpvgx8ldrnq0pjr8iq65f3m0kmh1c9hnv1lkrgrglqazs2c6hbm";
+          rev = "6772ecfaa86f0f4a1a66bfd3a454c9b11956de70";
+          sha256 = "086jjygzdrcjfp7j70xs8jh8nq0xv496kza6iap7lyc3qf16b4kk";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/d95442748827911e082a55f4fd7c348a3757e274/recipes/python-pytest";
@@ -60793,12 +61370,12 @@
     pyvenv = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "pyvenv";
-        version = "20180223.22";
+        version = "20180415.614";
         src = fetchFromGitHub {
           owner = "jorgenschaefer";
           repo = "pyvenv";
-          rev = "71eec02c25006737444dec7dfd004285f6cff6a8";
-          sha256 = "1j62qf4llrbmwwi7ynrhnzvh0g4razbc21vdlaa8jkjg6y5id95m";
+          rev = "d7f89bd4fd3d3be7f6ef82caed51b4e7d1d754fa";
+          sha256 = "1dmj4yfbwlp9259is8av9ggsx08dfhqj2jd18hvvpxbhfqcybi8j";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/e37236b89b9705ba7a9d134b1fb2c3c003953a9b/recipes/pyvenv";
@@ -60832,6 +61409,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    ql = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "ql";
+        version = "20180404.943";
+        src = fetchFromGitHub {
+          owner = "ieure";
+          repo = "ql-el";
+          rev = "c885d125d8972374b408f6eddf031e44dc6fa0c6";
+          sha256 = "1l1jdvz1913m03ikcf9g3dsraaajqac1kzfy9c9xhzx8w7bbl80c";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/475bd8fd66c6d5b5c7e74aa2c4e094d313cc8303/recipes/ql";
+          sha256 = "0wxjblqacs5nx2hyh7r6rlv1yngbhn6phn5rni4dw2dms98zj34z";
+          name = "ql";
+        };
+        packageRequires = [ emacs ];
+        meta = {
+          homepage = "https://melpa.org/#/ql";
+          license = lib.licenses.free;
+        };
+      }) {};
     qml-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "qml-mode";
@@ -60874,36 +61472,15 @@
           license = lib.licenses.free;
         };
       }) {};
-    quack = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
-    melpaBuild {
-        pname = "quack";
-        version = "20160410.207";
-        src = fetchFromGitHub {
-          owner = "emacsmirror";
-          repo = "quack";
-          rev = "c1c8e448d295cc1b5752104a63a5759a9c5fdf6d";
-          sha256 = "0vhzwr2adkprjibi3x4lnsvjxishysma7fhpwzgg28l21qjqc0nm";
-        };
-        recipeFile = fetchurl {
-          url = "https://raw.githubusercontent.com/milkypostman/melpa/cb571caa41ea51ebbfe952526785287d913d2836/recipes/quack";
-          sha256 = "1l7jw8sx2llbzp3sg5755qdhhyq8jdaggxzzn7icjxxrmj1ji6ii";
-          name = "quack";
-        };
-        packageRequires = [];
-        meta = {
-          homepage = "https://melpa.org/#/quack";
-          license = lib.licenses.free;
-        };
-      }) {};
     quasi-monochrome-theme = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "quasi-monochrome-theme";
-        version = "20171126.203";
+        version = "20180307.458";
         src = fetchFromGitHub {
           owner = "lbolla";
           repo = "emacs-quasi-monochrome";
-          rev = "aa6a3649ad518b9eebd7bc5c84f184469ea735a9";
-          sha256 = "04ihrwnnfhwzg2l3sjsdk84rv36672hapq4016c10z0f106dcyrz";
+          rev = "7c1217521616f568a1c9aba76cc87a7381b833a4";
+          sha256 = "1yg3dg6ldlpxgsxxd15qgpda0jivj4g4cyy631hakdrp5skvpmk6";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a9c8498e4bcca19c4c24b2fd0db035c3da477e2a/recipes/quasi-monochrome-theme";
@@ -60916,22 +61493,22 @@
           license = lib.licenses.free;
         };
       }) {};
-    quelpa = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, package-build }:
+    quelpa = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "quelpa";
-        version = "20171207.1139";
+        version = "20180325.1338";
         src = fetchFromGitHub {
           owner = "quelpa";
           repo = "quelpa";
-          rev = "fc393aeb3bb1a9a35e603515d13c90cc008caece";
-          sha256 = "1zkx7bpzmphhfwgqf5pfwf6qb4vjwgvhmds38vm6h2302hl4racx";
+          rev = "1e57420158c158275c5a098951aca25651a41bc7";
+          sha256 = "1lnvzl9a7pa0v1jzcf6n4qik4swmsm99y7bz9cscmy6i1hcd35b5";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/7dc3ba4f3efbf66142bf946d9cd31ff0c7a0b60e/recipes/quelpa";
           sha256 = "1g53fcy837hpyn9lnmmri0h4c5va61vszhblz4caadqq265hknvs";
           name = "quelpa";
         };
-        packageRequires = [ emacs package-build ];
+        packageRequires = [ emacs ];
         meta = {
           homepage = "https://melpa.org/#/quelpa";
           license = lib.licenses.free;
@@ -60944,8 +61521,8 @@
         src = fetchFromGitHub {
           owner = "quelpa";
           repo = "quelpa-use-package";
-          rev = "f276555d6bead02a0d869149f03a545d4d4265ad";
-          sha256 = "0cmpfjkwx5mpiyssyglfnrfkfg7c4qr01b598z50vc1lyg6198i1";
+          rev = "cd4820a34819516f26df0fe2e4d416bdea468e89";
+          sha256 = "0wbmf0ihxldgrx43c3wiaapssn8qimcyaa3hg2x2j1q05c2qlgcg";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/b581e411ef5ea3954acc2cd997c87b3b86777333/recipes/quelpa-use-package";
@@ -61171,12 +61748,12 @@
     racket-mode = callPackage ({ emacs, faceup, fetchFromGitHub, fetchurl, lib, melpaBuild, s }:
     melpaBuild {
         pname = "racket-mode";
-        version = "20171116.1435";
+        version = "20180401.1803";
         src = fetchFromGitHub {
           owner = "greghendershott";
           repo = "racket-mode";
-          rev = "240a52f5e944ca6aa1799cb32160301b1d128917";
-          sha256 = "1r14q751g87846ilvqkifaq0nqyl02dgkfdfdpmsw9k006ml8rfa";
+          rev = "aea74aceddf112cdfb918aa5ddb9842f0d56c744";
+          sha256 = "0cqzj8qjcqwakikklx0yb193gyqvj5fvcr2acmlqzy8xwr0v65jd";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/7ad88d92cf02e718c9318d197dd458a2ecfc0f46/recipes/racket-mode";
@@ -61801,12 +62378,12 @@
     realgud = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, load-relative, loc-changes, melpaBuild, test-simple }:
     melpaBuild {
         pname = "realgud";
-        version = "20180207.1330";
+        version = "20180327.1634";
         src = fetchFromGitHub {
           owner = "rocky";
           repo = "emacs-dbgr";
-          rev = "251eb8c971b2a706767326f4f8c6fc5221dd6bd8";
-          sha256 = "0w00j3m73lwkwr2jv1bw8glbx50xk1h5vqnpb26zqk54nz310lw1";
+          rev = "096bd8732ea0661f10d7f7c1c91ad1ca4cf51207";
+          sha256 = "1mjbhnzq4j7pfapmxqhy6lx3f6py2wbj2xrri16npmn1qqmkmbjp";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/7ca56f05df6c8430a5cbdc55caac58ba79ed6ce5/recipes/realgud";
@@ -61828,12 +62405,12 @@
     realgud-byebug = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, realgud }:
     melpaBuild {
         pname = "realgud-byebug";
-        version = "20160805.732";
+        version = "20180308.1923";
         src = fetchFromGitHub {
           owner = "rocky";
           repo = "realgud-byebug";
-          rev = "cb75d6bd9abbe04afa4c74a7ce9c66852814e0c3";
-          sha256 = "04fn27a079zsdrf08w4rrvw9xd473ni1bh57gbizdznnvgjldfkr";
+          rev = "de603d58aa9ef72a2619247a0234fccf6bc2cc9a";
+          sha256 = "1hk2z7axy1v5yvx4xgkisfk00varq5rf8j88f0l63ywylyw1fwhl";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/7ca56f05df6c8430a5cbdc55caac58ba79ed6ce5/recipes/realgud-byebug";
@@ -61933,12 +62510,12 @@
     rebecca-theme = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "rebecca-theme";
-        version = "20171114.2208";
+        version = "20180324.121";
         src = fetchFromGitHub {
           owner = "vic";
           repo = "rebecca-theme";
-          rev = "f34089f176def79ecee5feda7dd79896f555bbe2";
-          sha256 = "08kavajrmp3lxl9r67rg9710326ynywlklz73vdijpzjpyhp5al5";
+          rev = "9ac0c71c2858b76dc5499f62c7c7fb7f9e8f16bc";
+          sha256 = "0a0qf118gj2fag3j57zmli47939rn1jayvs2fwa4l280ipfvp2m7";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/19f40f30113c7dabd76a2d0e52898e6d6be69a35/recipes/rebecca-theme";
@@ -62164,12 +62741,12 @@
     redprl = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "redprl";
-        version = "20180216.646";
+        version = "20180320.1312";
         src = fetchFromGitHub {
           owner = "RedPRL";
           repo = "sml-redprl";
-          rev = "fcc5b73e2139529e4c0c8b8639cab6bb51dd2b74";
-          sha256 = "0kvh84k9k11xpnvs0kpk4q9nhfjrilwnhlzqmimd51pp7jqz5gff";
+          rev = "8b9309f6344cddf9b5ef4b9c1fde9d910672e913";
+          sha256 = "04n4nhxh3v8wjav67i1wl0qi626s2xpi001bn8qbxqipnfpidk9y";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/06e7371d703ffdc5b6ea555f2ed289e57e71e377/recipes/redprl";
@@ -62227,12 +62804,12 @@
     refine = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, lib, list-utils, loop, melpaBuild, s }:
     melpaBuild {
         pname = "refine";
-        version = "20180205.956";
+        version = "20180315.1528";
         src = fetchFromGitHub {
           owner = "Wilfred";
           repo = "refine";
-          rev = "6b432bef019e7af38ee7145956fa28d512256420";
-          sha256 = "0sf70cb3ahz42pb7lyp380w4k3698z6in9ng10pm47dv7j660llq";
+          rev = "0a99439a0b4ed6f79b9a240ea1270140a9e328bc";
+          sha256 = "1scw449mbmr70kb0r2ymhph9j0s5ym77ijp5fpwph9bri46cad3g";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/b111879ea0685cda88c758b270304d9e913c1391/recipes/refine";
@@ -62315,8 +62892,8 @@
         src = fetchFromGitHub {
           owner = "zonuexe";
           repo = "right-click-context";
-          rev = "a50d473c3bfb33537d12025115a14c821fa5325a";
-          sha256 = "0n3jdclyxgi579mab8ayynrrcbwpk4rhq3l5dzfpsy1lk690g7hn";
+          rev = "2f8195fb81b8d27aeb42bdc4055ebce37c09717b";
+          sha256 = "05fr1gg5xfwp4rmyyn181vxn2mhmb3aca1g1rp2nk36v7lfzgpxv";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/ddcf4612cccb9a53425c5f0324206d70549d9d9e/recipes/region-convert";
@@ -62772,12 +63349,12 @@
     restclient = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "restclient";
-        version = "20171203.1248";
+        version = "20180316.851";
         src = fetchFromGitHub {
           owner = "pashky";
           repo = "restclient.el";
-          rev = "7242da37f7a3973c5fc5e84e8a62ff1aa09eef1b";
-          sha256 = "0ll1aws1m46c0k1dxgd05bajj09fxf20ya4rs2wapvzm4mwrbz2c";
+          rev = "859d944796ce298b5779d9d256bd8d271d57e221";
+          sha256 = "18grh9pislyr1mnj05nd2wj2ns8wy2irsxi7y203qkhkhqaamdgn";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/59303304fe1f724596245556dd90f6afffba425d/recipes/restclient";
@@ -62797,8 +63374,8 @@
         src = fetchFromGitHub {
           owner = "pashky";
           repo = "restclient.el";
-          rev = "7242da37f7a3973c5fc5e84e8a62ff1aa09eef1b";
-          sha256 = "0ll1aws1m46c0k1dxgd05bajj09fxf20ya4rs2wapvzm4mwrbz2c";
+          rev = "859d944796ce298b5779d9d256bd8d271d57e221";
+          sha256 = "18grh9pislyr1mnj05nd2wj2ns8wy2irsxi7y203qkhkhqaamdgn";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/59303304fe1f724596245556dd90f6afffba425d/recipes/restclient-helm";
@@ -62898,12 +63475,12 @@
     review-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "review-mode";
-        version = "20171029.650";
+        version = "20180312.535";
         src = fetchFromGitHub {
           owner = "kmuto";
           repo = "review-el";
-          rev = "115cd06558c01889f89feaa659e0d7513a2ad21e";
-          sha256 = "0162gg3hf633zhr5jwj222lx143xvph001qmpmlbbqdxc0sgw5hv";
+          rev = "bf38b0ce8be2eef1cf810ac6f3664d2190bb9ef7";
+          sha256 = "0vmv19qvpba715xqx18dmlxq9kgkzvkf6jfd03bdcj2lh804y3pb";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/f2f9e2667389577d0703874ca69ebe4800ae3e01/recipes/review-mode";
@@ -62940,12 +63517,12 @@
     rg = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, s }:
     melpaBuild {
         pname = "rg";
-        version = "20180218.1129";
+        version = "20180404.315";
         src = fetchFromGitHub {
           owner = "dajva";
           repo = "rg.el";
-          rev = "26413536ee71ac6ee07f193b94e60e544d800655";
-          sha256 = "1ic4ym575qj38xd3565nvwyrhzw7lx2mflbirb5aycnz7dis9xsq";
+          rev = "d50bd106275f3ef7f77d0147857412fb065eef47";
+          sha256 = "0zjhak534j1n03z6p9wjmgc48yy40icrp2x8y9vbvg4hgx8xh9lm";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/9ce1f721867383a841957370946f283f996fa76f/recipes/rg";
@@ -63108,12 +63685,12 @@
     ripgrep = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "ripgrep";
-        version = "20170810.1118";
+        version = "20180323.920";
         src = fetchFromGitHub {
           owner = "nlamirault";
           repo = "ripgrep.el";
-          rev = "c47a2da4668ca338e7fadc3d8c095e075caaa17d";
-          sha256 = "0x2rkm1yf03qfzylx6pk32cq7mmydila2iwiq40k5nl4wgfia5vx";
+          rev = "a1f8f030bf5daea92dd13b953720a6c13dd3557c";
+          sha256 = "0mpysjcbw9qxy1lcwsd2rqf72xahpdpn88xcq0cnk1y2jam8gjkf";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/e8d789818876e959a1a59690f1dd7d4efa6d608b/recipes/ripgrep";
@@ -63150,12 +63727,12 @@
     rjsx-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, js2-mode, lib, melpaBuild }:
     melpaBuild {
         pname = "rjsx-mode";
-        version = "20171029.1156";
+        version = "20180409.902";
         src = fetchFromGitHub {
           owner = "felipeochoa";
           repo = "rjsx-mode";
-          rev = "ed8ff80f7fb7a9d46715577e4937de756b001ff7";
-          sha256 = "14a6qhh4rvsn1z8jhj4wjlljmxmmq2hrmsqpfmvx7yn1r3x51liq";
+          rev = "a0231e76808e94eb842c502fc9e10b53d3307ea8";
+          sha256 = "0i6yzxfwyvbmfy1x5pymmjdli91ya6jgfq6wdjnwyrknbf6p76w7";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/b83be7efdef2457e1320fe3dec46484fbd20263c/recipes/rjsx-mode";
@@ -63381,12 +63958,12 @@
     rtags = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "rtags";
-        version = "20180224.1134";
+        version = "20180224.1658";
         src = fetchFromGitHub {
           owner = "Andersbakken";
           repo = "rtags";
-          rev = "4f27c1cc60742622e6616b579c82b5440ad446d3";
-          sha256 = "08310vkd7gyfc9jcis7r5dfdb6spilxw1kf7p8vm078v8hmmjyj0";
+          rev = "4747d5b695bee40c3b0a2e3591ac8897571edd66";
+          sha256 = "1qy71bx8nki73mqslw54hq5bn1asz5qg1b2848nrsj8zb2yd85x5";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/3dea16daf0d72188c8b4043534f0833fe9b04e07/recipes/rtags";
@@ -63402,12 +63979,12 @@
     rtm = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "rtm";
-        version = "20160116.927";
+        version = "20180329.808";
         src = fetchFromGitHub {
           owner = "pmiddend";
           repo = "emacs-rtm";
-          rev = "08dc10458b56e72f1512896192b2114ef57e58c5";
-          sha256 = "1ajks5dmsb5cyj0hzxbp3r305liwaayb8jds0wdnw4nk5anlsbnr";
+          rev = "3e3d09387cb84801343ecca8fb02e82f213e7bbe";
+          sha256 = "0cc07lhh27i1ra4alrwb6w322ddi6hw0498nkzf388arhn10h3wv";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/rtm";
@@ -63591,12 +64168,12 @@
     ruby-hash-syntax = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "ruby-hash-syntax";
-        version = "20171013.50";
+        version = "20180323.1909";
         src = fetchFromGitHub {
           owner = "purcell";
           repo = "ruby-hash-syntax";
-          rev = "90e0fc89a2b28c527fcece7ee90d5783694a4406";
-          sha256 = "1lkicxingcvs4inxvkrpxknylf09a506plbzx6bfiq9dicsnlw14";
+          rev = "89fc364a837d7a78ecce34380f09c073a83e30e0";
+          sha256 = "1nwf3681fa6lfqr14n9wihckpi220hvamv1ppzmrhn4k49vxljy8";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/c7d21a43a4bf267507bdc746ec9d0fd82049c0af/recipes/ruby-hash-syntax";
@@ -63822,12 +64399,12 @@
     rust-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "rust-mode";
-        version = "20180221.1130";
+        version = "20180322.127";
         src = fetchFromGitHub {
           owner = "rust-lang";
           repo = "rust-mode";
-          rev = "cc2435b9e5899c0787929a62dc6e6dcdb982febc";
-          sha256 = "0aq665cd28k4szc07m6cfl50dvr87i4pkbggfj8qim0gwzsgc4bi";
+          rev = "07e16c6364bf0362f76c6aa46604453dec3ac640";
+          sha256 = "0xjbv9q3mz7chjaz889hyji4xaff8ql2wmk0wir6bnyg6g2k58d1";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/8f6e5d990d699d571dccbdeb13327b33389bb113/recipes/rust-mode";
@@ -63843,12 +64420,12 @@
     rust-playground = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, rust-mode }:
     melpaBuild {
         pname = "rust-playground";
-        version = "20170211.5";
+        version = "20180317.1434";
         src = fetchFromGitHub {
           owner = "grafov";
           repo = "rust-playground";
-          rev = "ff4149489c30a65817750428847217368bd995ba";
-          sha256 = "04d5z33pv1xqsn539nfkyjh7dvf0kc0rwili1zr6817z0406k1qn";
+          rev = "cbb8a32c5f69b5acd5e04519f55465b2b241c0a0";
+          sha256 = "0791msvihb99ghknkvmmbjkp1zcvn39463y3qg6xj049h2xl9skk";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/rust-playground";
@@ -63885,12 +64462,12 @@
     ryo-modal = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "ryo-modal";
-        version = "20180222.415";
+        version = "20180331.118";
         src = fetchFromGitHub {
           owner = "Kungsgeten";
           repo = "ryo-modal";
-          rev = "4d10e251ca734548e48e7f0785b3b69a6e863f67";
-          sha256 = "1pqq2mzrfam7lzilpgqnzr192dsisgxnnnkilyksqfk1q199p9my";
+          rev = "42f874467dfdce59b511f883496ce2624b133dd7";
+          sha256 = "0k9nmi014vb9c8rymy3w8xbnj1q85xlslpblacz78iqn1kr6wy1z";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/ryo-modal";
@@ -63906,12 +64483,12 @@
     s = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "s";
-        version = "20171102.227";
+        version = "20180406.108";
         src = fetchFromGitHub {
           owner = "magnars";
           repo = "s.el";
-          rev = "5e9a6857d42015c67681616aa3519f599f97b8d8";
-          sha256 = "00g7nvcbf1291npid30pih72209l5hv2fpv6s6m5i1vg94z081fg";
+          rev = "03410e6a7a2b11e47e1fea3b7d9899c7df26435e";
+          sha256 = "074ny8y68fhnknkjxvrijrk534xzdiwip8wkifxfbwv3va315x83";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/s";
@@ -64242,12 +64819,12 @@
     sayid = callPackage ({ cider, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "sayid";
-        version = "20170509.1215";
+        version = "20180404.1139";
         src = fetchFromGitHub {
           owner = "bpiel";
           repo = "sayid";
-          rev = "20a92323c3edc060c521aa93edab9dad47646b4f";
-          sha256 = "0h0wn5c1n2y3cyslz3kbhksvwy1rnwvb1995949b6qkkzwf0cb4l";
+          rev = "8ea70573e6eb1a0d1a450fd501f38c2cf26ce27f";
+          sha256 = "02yp3h16yzys27lxcxn7qzb23z95vjdaxhinz0swdixgr5qwwc77";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/2bd2e05f9c9328d8f9ae434c86697a4a04af8b0d/recipes/sayid";
@@ -64263,12 +64840,12 @@
     sbt-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "sbt-mode";
-        version = "20171111.1558";
+        version = "20180314.1511";
         src = fetchFromGitHub {
           owner = "ensime";
           repo = "emacs-sbt-mode";
-          rev = "84c3d178a1f2c580f620fd8f03a05ac6413086a3";
-          sha256 = "1ndxylb2jbnfrrsbbs5vcxygrqd3ssf3az01nh694hv6lkcidw5k";
+          rev = "aebea880b3d3de606d8d8c8d65bc6a5040f52d1f";
+          sha256 = "1iqbigqdv1g12q2bg0f6j7xl0z1ra7vy4k8h1wfqxvlb9fqfqr1y";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/364abdc3829fc12e19f00b534565227dbc30baad/recipes/sbt-mode";
@@ -64288,8 +64865,8 @@
         src = fetchFromGitHub {
           owner = "openscad";
           repo = "openscad";
-          rev = "21f67de6389234d00a2dde437616063a6479402b";
-          sha256 = "1vn3i5gvyn8nn5sfd8lm9csgl1v4m6n59mkif6c6h37h04232dqn";
+          rev = "9bd8e87da64ffbdb1a41763a92e7feaf78652010";
+          sha256 = "1sasl3r7fx3vy8w636sx7ahih7w6ihwzhnczi2vyxf5hyf478js9";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/2d27782b9ac8474fbd4f51535351207c9c84984c/recipes/scad-mode";
@@ -65059,12 +65636,12 @@
     sentence-navigation = callPackage ({ ample-regexps, cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "sentence-navigation";
-        version = "20171215.1007";
+        version = "20180408.919";
         src = fetchFromGitHub {
           owner = "noctuid";
           repo = "emacs-sentence-navigation";
-          rev = "b2fc2de3aaf1e2e7fd12d6d75a5b6c4b23614022";
-          sha256 = "0s7xqs3r9ygc6vcba8ghsd7rbrgy7dkis3y1d36ik4w5dqh9qlvi";
+          rev = "7c5d2edeaed01196aec25031782e89adeaa089f0";
+          sha256 = "15za4fg7c8fsih86wz1npyx6gdmw0xhizklfsyfh84416dsmgswp";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/3d097cf9b6c9c1606505d3988a2afdd7b066abc8/recipes/sentence-navigation";
@@ -65080,12 +65657,12 @@
     seoul256-theme = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "seoul256-theme";
-        version = "20171213.1209";
+        version = "20180412.1643";
         src = fetchFromGitHub {
           owner = "anandpiyer";
           repo = "seoul256-emacs";
-          rev = "1b487722ba817347030b50df01491dbbff4b2891";
-          sha256 = "0q8nnm5b6dp9qlnjg3hw7l863xiiajdfd4nk2i5p1gfx549mcdv5";
+          rev = "fb7dd994f9fed518693475b2b6de67d518417783";
+          sha256 = "0arg66j25ixvmbhlgdjw12gzwsa5wmif7qw1mzfzd0sghgdbmj0v";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/seoul256-theme";
@@ -65689,12 +66266,12 @@
     shm = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "shm";
-        version = "20170523.238";
+        version = "20180326.1757";
         src = fetchFromGitHub {
           owner = "chrisdone";
           repo = "structured-haskell-mode";
-          rev = "bd08a0b2297667e2ac7896e3b480033ae5721d4d";
-          sha256 = "14rl739z19ns31h9fj48sx9ppca4g4mqkc7ccpacagwwf55m259c";
+          rev = "7f9df73f45d107017c18ce4835bbc190dfe6782e";
+          sha256 = "1jcc30048j369jgsbbmkb63whs4wb37bq21jrm3r6ry22izndsqa";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/68a2fddb7e000487f022b3827a7de9808ae73e2a/recipes/shm";
@@ -65899,12 +66476,12 @@
     shx = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "shx";
-        version = "20171230.1219";
+        version = "20180310.1748";
         src = fetchFromGitHub {
           owner = "riscy";
           repo = "shx-for-emacs";
-          rev = "33383bd359d795df2d7ef725b5349c953f5a6aa8";
-          sha256 = "1arwsb6as8jpah0bs3b92a3kdnbfkhnsm1jglspfh4lqpafmx5vf";
+          rev = "b33b23097ad34177e4179e9d3731ec5db30c6391";
+          sha256 = "0vlgm1aix074ifi9gvp4c0ygdmzplydj4gdsl46173qbd8lfi2rj";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/7a2ff78ae3c4289ebf9e06cdfd8f8082c395a16f/recipes/shx";
@@ -66025,12 +66602,12 @@
     silkworm-theme = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "silkworm-theme";
-        version = "20160217.509";
+        version = "20180301.637";
         src = fetchFromGitHub {
           owner = "mswift42";
           repo = "silkworm-theme";
-          rev = "7951b53e5caf9daf6a5a15a57ae3a668cb78bd7b";
-          sha256 = "1q21886qsam8y3s60zlfh48w0jl67q14qg9pzda7j2jcbj1q6r91";
+          rev = "4a297f952401cfe894dcb24174f6eda05e00fada";
+          sha256 = "00kjibpn3ry7j1s6kqmakybialpcx4919344lxks7wij5l6qqxx0";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/9451d247693c3e991f79315868c73808c0a664d4/recipes/silkworm-theme";
@@ -66113,8 +66690,8 @@
         src = fetchFromGitHub {
           owner = "skeeto";
           repo = "emacs-web-server";
-          rev = "c252765de191441cc25068b35bdff6a912745268";
-          sha256 = "08n41cshzxjjd06n8q94yivc72kmwwnmbg469w61v8sanzv0j04q";
+          rev = "868ec06abdc23c69597bc3a12da7aa2e5c0ad9c5";
+          sha256 = "1grq5a74arng2nn5q1xjm7gl5gk55a1js2r22wsahm8gd0fn0jdv";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/7fabdb05de9b8ec18a3a566f99688b50443b6b44/recipes/simple-httpd";
@@ -66424,12 +67001,12 @@
     slack = callPackage ({ alert, circe, emojify, fetchFromGitHub, fetchurl, lib, melpaBuild, oauth2, request, websocket }:
     melpaBuild {
         pname = "slack";
-        version = "20180209.1923";
+        version = "20180410.2035";
         src = fetchFromGitHub {
           owner = "yuya373";
           repo = "emacs-slack";
-          rev = "61dfcaeb4f560406c188390797448747eef1e90d";
-          sha256 = "0pmkjdq1dlbsjpfcgnmxrkj7iggwzw1b0qpyvldwp6h8xlnkca54";
+          rev = "411b1ec8385c431d2ad1a56525a981d8d63e1700";
+          sha256 = "0ghnhcr9z7av9iwhdq1ww3fc0i11637xrri8l4w69dx3j435virg";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/f0258cc41de809b67811a5dde3d475c429df0695/recipes/slack";
@@ -66487,12 +67064,12 @@
     slime = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, macrostep, melpaBuild }:
     melpaBuild {
         pname = "slime";
-        version = "20180218.1356";
+        version = "20180413.1720";
         src = fetchFromGitHub {
           owner = "slime";
           repo = "slime";
-          rev = "bb663e97339d1ff217c674d649088493b82d08a9";
-          sha256 = "0sc7k7b5fixwpmjx15vpbh3fmaxqz6m21z1ajd4c25jfnxvvhyck";
+          rev = "26695c66162dcbb9dfd083c6e3b329c468e14ed9";
+          sha256 = "1fj096yhvxnj47qvc0b3pw3vf7icxv2jdfa3nvap9aksj453xndb";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/14c60acbfde13d5e9256cea83d4d0d33e037d4b9/recipes/slime";
@@ -66655,12 +67232,12 @@
     sly = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "sly";
-        version = "20180221.1414";
+        version = "20180412.355";
         src = fetchFromGitHub {
           owner = "capitaomorte";
           repo = "sly";
-          rev = "486bfbe95612bcdc0960c490207970a188e0fbb9";
-          sha256 = "0ib4q4k3h3qn88pymyjjmlmnpizdn1mfg5gpk5a715nqsgxlg09l";
+          rev = "7d12c47bc573c5497487cfba60ccb30bd66514d7";
+          sha256 = "15wkra725r1sqzgpqgjs6shw5njlv116xinw4di9b41ih9qg98k1";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/79e7213183df892c5058a766b5805a1854bfbaec/recipes/sly";
@@ -66844,12 +67421,12 @@
     smart-compile = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "smart-compile";
-        version = "20171104.2333";
+        version = "20180315.2030";
         src = fetchFromGitHub {
           owner = "zenitani";
           repo = "elisp";
-          rev = "2a0c9b33bd97461d100e24df0103d4e5526a30d6";
-          sha256 = "1h0d1rbaprxrwgwi8pq2q93xf9j8q8qy7p42iyywav9ilc6sak6p";
+          rev = "16ebc3c570f1949b8198fcc8663d6d26df32717a";
+          sha256 = "0i5g7inbr90l3n1rsf4152ax4wkbw2q41ks9j3x6a956zxn8q92w";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/93562afd7b62d7535b8010179ba6ac7e8e6280d0/recipes/smart-compile";
@@ -67011,12 +67588,12 @@
     smart-mode-line = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, rich-minority }:
     melpaBuild {
         pname = "smart-mode-line";
-        version = "20180129.130";
+        version = "20180323.648";
         src = fetchFromGitHub {
           owner = "Malabarba";
           repo = "smart-mode-line";
-          rev = "5aca51956fae55d7310c1f96b5d128201087864a";
-          sha256 = "1wpavjkxszq1xr49q0qvqniq751s69axgnsdv37n73k3zl527vqw";
+          rev = "9e261a2bb6ade7f8a4428bc6cb27789878b2844c";
+          sha256 = "1hfngb60n3nbfx1p662p76kz7v4mjcppf0ygbqlhrlbv6a9n8ll5";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/1e6aed365c42987d64d0cd9a8a6178339b1b39e8/recipes/smart-mode-line";
@@ -67036,8 +67613,8 @@
         src = fetchFromGitHub {
           owner = "Malabarba";
           repo = "smart-mode-line";
-          rev = "5aca51956fae55d7310c1f96b5d128201087864a";
-          sha256 = "1wpavjkxszq1xr49q0qvqniq751s69axgnsdv37n73k3zl527vqw";
+          rev = "9e261a2bb6ade7f8a4428bc6cb27789878b2844c";
+          sha256 = "1hfngb60n3nbfx1p662p76kz7v4mjcppf0ygbqlhrlbv6a9n8ll5";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/60072b183151e519d141ec559b4902d20c87904c/recipes/smart-mode-line-powerline-theme";
@@ -67200,12 +67777,12 @@
     smartparens = callPackage ({ cl-lib ? null, dash, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "smartparens";
-        version = "20180219.758";
+        version = "20180325.438";
         src = fetchFromGitHub {
           owner = "Fuco1";
           repo = "smartparens";
-          rev = "3452c21f34751bf04f2ede175b3f8eb3fe6ae282";
-          sha256 = "0df4q6467a2rkpsml7bg7s9y336cw6zlgrp1s9h04f92fhv8z9c2";
+          rev = "6eea872207c331c3df70caac49577b01926be45a";
+          sha256 = "02qx8clgwwaggm2xmrsr0bxcapiipryyb5d4csm05xpbm19q7xv1";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/bd98f85461ef7134502d4f2aa8ce1bc764f3bda3/recipes/smartparens";
@@ -67536,12 +68113,12 @@
     snakemake-mode = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, magit-popup, melpaBuild }:
     melpaBuild {
         pname = "snakemake-mode";
-        version = "20180128.752";
+        version = "20180320.2029";
         src = fetchFromGitHub {
           owner = "kyleam";
           repo = "snakemake-mode";
-          rev = "6cf6d20db2e5253ce3f86e302651faa28f220aa7";
-          sha256 = "0dmvd5f5rb5kkzjkhzz17b40hlld23sy5wyzr8vq763f6pzs37kk";
+          rev = "43a4b37b1374de50e2022885077968af6d0e30a5";
+          sha256 = "1xjhg3921gpgnxwr2grcrw9j9ar9faggppv030lyc4i7cx5qj357";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/c3a5b51fee1c9e6ce7e21555faa355d118d34b8d/recipes/snakemake-mode";
@@ -67746,12 +68323,12 @@
     solaire-mode = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "solaire-mode";
-        version = "20171209.1350";
+        version = "20180328.343";
         src = fetchFromGitHub {
           owner = "hlissner";
           repo = "emacs-solaire-mode";
-          rev = "dd93cfd6c02e4575e6c7048ecf9dac8c09864bf2";
-          sha256 = "1afbkz93xa6f0453n7n1mrm0ng5jrdi06mh0s105gkzcfxqjc0gd";
+          rev = "9307486ceee18f4b622406b8d600360419e6d742";
+          sha256 = "0j8vl26vpzmsfbpx23wj5c9b7ia6fdyr8advnk6vcbkcwgj8r9q2";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/52c69070eef3003eb53e1436c538779c74670ce6/recipes/solaire-mode";
@@ -67767,12 +68344,12 @@
     solarized-theme = callPackage ({ cl-lib ? null, dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "solarized-theme";
-        version = "20180101.42";
+        version = "20180316.859";
         src = fetchFromGitHub {
           owner = "bbatsov";
           repo = "solarized-emacs";
-          rev = "2dd2699b2f315374333292b132dc0dc03719aba2";
-          sha256 = "04365kpw8a3f3963v6c3q8zka5xivx9jikvcar7fx59l4l7k5i2p";
+          rev = "1a46af3ff988e656a12b93c503fff87324b7420b";
+          sha256 = "1w8rw2fqrf5xmy2i5pr7bxlr6n21vzfhcgd65jknbp2229nggkrh";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/cae2ac3513e371a256be0f1a7468e38e686c2487/recipes/solarized-theme";
@@ -67788,12 +68365,12 @@
     solidity-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "solidity-mode";
-        version = "20171231.741";
+        version = "20180409.853";
         src = fetchFromGitHub {
           owner = "ethereum";
           repo = "emacs-solidity";
-          rev = "b5d95ef678305ca70b17e94fc2ee4289a8328048";
-          sha256 = "04l3hvfpgqiaxdxh8s2cg2rx4cy50i7a411q81g8661fx60c6h6p";
+          rev = "051128d7b7f217263c1aee5cb602338803d44ecb";
+          sha256 = "1lfa1jbl5rfmvsk2cvsa5z4glvvg3qnhphksvkhinaha23369vhg";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/bb9df5ec0692352b6494d435d11166f4ea26c99e/recipes/solidity-mode";
@@ -68110,12 +68687,12 @@
     spaceline = callPackage ({ cl-lib ? null, dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, powerline, s }:
     melpaBuild {
         pname = "spaceline";
-        version = "20171111.334";
+        version = "20180412.526";
         src = fetchFromGitHub {
           owner = "TheBB";
           repo = "spaceline";
-          rev = "ca20430271f80d46892d62cb7624b4dee6cafe72";
-          sha256 = "1a9my43y64y4k7bizvxc0pdr7194vcf167jdiyyl577wxq1z640p";
+          rev = "ca85233b443216f8519c401c58af6807b6d31740";
+          sha256 = "1ssbvp8xc1i7bf51rb2n0pkbhqs741dq0i0akwc3qqjg2sblckk1";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/46e4c876aeeb0bb0d0e81dcbb8363a5db9c3ff61/recipes/spaceline";
@@ -68152,12 +68729,12 @@
     spacemacs-theme = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "spacemacs-theme";
-        version = "20180214.758";
+        version = "20180319.736";
         src = fetchFromGitHub {
           owner = "nashamri";
           repo = "spacemacs-theme";
-          rev = "0cd15af82bb3adb5fa18bef795a2ea7f021b7e20";
-          sha256 = "19mifs075kkn45dxkgcqixvmf9d72rp79g12vpxi0rp5aw90ddfx";
+          rev = "3c1a613a36e80d10ecd4a536d690dca672d41242";
+          sha256 = "0arg3sw1rrlkn12kag5zyx8jgn4xgfffj7ysxpyqag8as7i5mcwi";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/6c8ac39214856c1598beca0bd609e011b562346f/recipes/spacemacs-theme";
@@ -68236,12 +68813,12 @@
     sparql-mode = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "sparql-mode";
-        version = "20171116.510";
+        version = "20180320.1102";
         src = fetchFromGitHub {
           owner = "ljos";
           repo = "sparql-mode";
-          rev = "00527b8172ae61b667bc70a802c112132e06ba0b";
-          sha256 = "1k8hg1mg8zyxr9bvfm2k2447arph9wk58yjbxgqlq4w5svrq79km";
+          rev = "a00bb622c54086ac1ee96c265bf7fbef12c68089";
+          sha256 = "0f919alnqbp5dnc4krgmnc9acqg84xs64fmzjc78gpbmfn0kyi0m";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/c3d729130a41903bb01465d0f01c34fbc508b56e/recipes/sparql-mode";
@@ -68317,6 +68894,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    speeddating = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "speeddating";
+        version = "20180319.23";
+        src = fetchFromGitHub {
+          owner = "xuchunyang";
+          repo = "emacs-speeddating";
+          rev = "df69db0560f19636a66a74f3d88c793bbb18b21e";
+          sha256 = "0mhzjia900irv0ndiw6w2vzin1gvyaf48pghi16r562ci4lr963w";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/01e23a3e2a2495e86aba60302dbd06f3b25768b4/recipes/speeddating";
+          sha256 = "0b5lcb1inkcx94grib5ssv1qkbzxqryzm115qizlgfs04k8cwz09";
+          name = "speeddating";
+        };
+        packageRequires = [ emacs ];
+        meta = {
+          homepage = "https://melpa.org/#/speeddating";
+          license = lib.licenses.free;
+        };
+      }) {};
     sphinx-doc = callPackage ({ cl-lib ? null, dash, fetchFromGitHub, fetchurl, lib, melpaBuild, s }:
     melpaBuild {
         pname = "sphinx-doc";
@@ -68362,12 +68960,12 @@
     sphinx-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "sphinx-mode";
-        version = "20170607.1436";
+        version = "20180316.856";
         src = fetchFromGitHub {
           owner = "Fuco1";
           repo = "sphinx-mode";
-          rev = "0a9fcd60639f1f4235b4747e8449b9f48651705f";
-          sha256 = "05kn45gh4l1wrj06qb3qzphx8mfqn3zqb8v73awhn5p7a1asb8kr";
+          rev = "95a14a288b50db70ee10598f83e5b087ba693bfb";
+          sha256 = "0c8p65jwrbn9pmk6j87g99p6fqcahfrc6wngmx94zw5m2wvxca2j";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/sphinx-mode";
@@ -68632,6 +69230,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    sql-clickhouse = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "sql-clickhouse";
+        version = "20180302.755";
+        src = fetchFromGitHub {
+          owner = "leethargo";
+          repo = "sql-clickhouse";
+          rev = "2edccd94145c55a040a3a87193793f06cf01f64f";
+          sha256 = "0zajd35i02h869mg6n2pn2fnb80ddny6ss1kap21b75p2gw79lb7";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/a0ef23e6825924094eb69bd8526a95d8fab210c1/recipes/sql-clickhouse";
+          sha256 = "083i9aaf69yk71mndl5x0pimn3bkkhp3mfppxvy0f5lzf2847q2j";
+          name = "sql-clickhouse";
+        };
+        packageRequires = [ emacs ];
+        meta = {
+          homepage = "https://melpa.org/#/sql-clickhouse";
+          license = lib.licenses.free;
+        };
+      }) {};
     sql-impala = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "sql-impala";
@@ -68737,6 +69356,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    srcery-theme = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "srcery-theme";
+        version = "20180414.636";
+        src = fetchFromGitHub {
+          owner = "roosta";
+          repo = "emacs-srcery";
+          rev = "6eea761e039a9511cb49b2cd3967b498b06db979";
+          sha256 = "0gqh4vn8f9d1jy1z8qw6qq5lgmbqywb9nbg1c3jrffgxcn1r414b";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/1df48441ecf6abd272ff154722b9ce0e2546c284/recipes/srcery-theme";
+          sha256 = "1r8srxhznli3sskwppk7fyapyx0qixagkwm0fllgsbm4nwkzq9pn";
+          name = "srcery-theme";
+        };
+        packageRequires = [ emacs ];
+        meta = {
+          homepage = "https://melpa.org/#/srcery-theme";
+          license = lib.licenses.free;
+        };
+      }) {};
     srefactor = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "srefactor";
@@ -68761,12 +69401,12 @@
     ssass-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "ssass-mode";
-        version = "20171201.509";
+        version = "20180413.2303";
         src = fetchFromGitHub {
           owner = "AdamNiederer";
           repo = "ssass-mode";
-          rev = "a95c4c9f99895cc582849b35e90ae13f1587ddce";
-          sha256 = "1ldw72ggk22ih5j9fyb3bl0ngyfdkzfcyg97mp0mb40w8ly68qav";
+          rev = "511fb0b7c41b5a479f9ea4b65f38b14454cb1401";
+          sha256 = "199v7n8l9784hv2iqhqwf2na9gw20l22bf9dmi22sjmfsk8l9s7l";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/3137f98aaa871a52f477b63d9c3b7b63f7271344/recipes/ssass-mode";
@@ -68803,12 +69443,12 @@
     ssh-agency = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "ssh-agency";
-        version = "20180127.1301";
+        version = "20180403.1638";
         src = fetchFromGitHub {
           owner = "magit";
           repo = "ssh-agency";
-          rev = "31b2b41e33d315fff54ace8bc2234abc38adf7cc";
-          sha256 = "02kw4h3hzpad39ir6y8cg8lnldd01cl0lm8p22kf4bf5f7f3sdlw";
+          rev = "bd4f655adce484bfceee4bb816429b96bc35113f";
+          sha256 = "0d3ppp4qs4n3rh0sla1x1kkrwl4fhlz1gvc9472vnlhva38ffxsn";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/b9a9e4bd0205908bfb99762c7daaf3be276bb03a/recipes/ssh-agency";
@@ -68845,12 +69485,12 @@
     ssh-deploy = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "ssh-deploy";
-        version = "20180222.2157";
+        version = "20180411.2201";
         src = fetchFromGitHub {
           owner = "cjohansson";
           repo = "emacs-ssh-deploy";
-          rev = "aef539bb4feefe927fa48d01736dfadb7b3d7930";
-          sha256 = "0vra7y2icid9sdyp7iygwkp4xaas249nm1lcbcyfpaad250g2pn4";
+          rev = "d0be94676f44078fd29668c6e1a790cc0cc02f88";
+          sha256 = "0gc3pjzjgvznla5bl9n0yahsj8whs8jnicah5kv5zjgv99wslvb7";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/ssh-deploy";
@@ -69122,8 +69762,8 @@
         src = fetchFromGitHub {
           owner = "ctmarinas";
           repo = "stgit";
-          rev = "416a4569ccd644718b694d4c587b313f357c6f4d";
-          sha256 = "19d8r0l0bqzwkbzd90symq65w2ay30k5bc2xrgdqpawiqz2sx7qf";
+          rev = "ffd7fb7a67b4c90b38f6caa7ce14448e11cbc86e";
+          sha256 = "01rxlg2qqqw1bvzdqdmhikag02sp9f6fira0zhwzxmrp5gsvbh3a";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/726da64b7baea1735a916b826bdfb8f575860e21/recipes/stgit";
@@ -69269,8 +69909,8 @@
         src = fetchFromGitHub {
           owner = "akicho8";
           repo = "string-inflection";
-          rev = "d3bbc560bad160ba183778ca4628a2cce34fdd65";
-          sha256 = "1yjy11s027r7v8bzwsqfpfzh2r2ywnywx7ngajw9gy9yfchw1xxs";
+          rev = "d506eeeac59ea71601a901c311a874949a25372f";
+          sha256 = "0mp9h42qrgdlk34m9ffdqmhyy65slna5vw71bpw1883aic4agq70";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/5c2e2b6dba8686236c2595475cfddac5fd700e60/recipes/string-inflection";
@@ -69641,12 +70281,12 @@
     sunburn-theme = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "sunburn-theme";
-        version = "20171101.1126";
+        version = "20180414.2312";
         src = fetchFromGitHub {
           owner = "mvarela";
           repo = "Sunburn-Theme";
-          rev = "c57190f87e2e6c5ef6c7fbfd40964eb8f11b32ca";
-          sha256 = "1b2d0iky9w8f0sww4wish55j2s2j1y2v4bjf3lk0yg2ysbspy3vq";
+          rev = "995b389b7aa18b511718e9dcc68d7e1d9a2891a9";
+          sha256 = "0skmxv4qmdncp79jd0kh5rsx7ff98r8kmzii9l9d0da3xmkvgx1d";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/bfd68b90234222dbf5907a29d506b6c4e61a372b/recipes/sunburn-theme";
@@ -69683,12 +70323,12 @@
     sunshine = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "sunshine";
-        version = "20160410.1317";
+        version = "20180325.548";
         src = fetchFromGitHub {
           owner = "aaronbieber";
           repo = "sunshine.el";
-          rev = "11e49846a116bdec6e2e463bed2db4c2df9c8ad2";
-          sha256 = "0jv1shacpxqbw6pv9rlkk8z84si85alhillhb9a2s6s36kjmybk0";
+          rev = "ecaccac91010f8d464646a0360b1676be71e6600";
+          sha256 = "0n9ppy22ijc2cgs5xix8nks7abn0shvh0v0f2ir1j7v1ckjsklc5";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/4a0ff9a4ef4bbe8de722a4f77f4a56a851497ff1/recipes/sunshine";
@@ -69872,12 +70512,12 @@
     sweetgreen = callPackage ({ cl-lib ? null, dash, fetchFromGitHub, fetchurl, helm, lib, melpaBuild, request }:
     melpaBuild {
         pname = "sweetgreen";
-        version = "20151207.916";
+        version = "20180401.1715";
         src = fetchFromGitHub {
           owner = "CestDiego";
           repo = "sweetgreen.el";
-          rev = "a456dd7948a25da8ff007a142cf1325b4855d908";
-          sha256 = "10blwlwg1ry9jznf1a6iss5s0z8sj9gc02ayf5qv92mgxvjhrhdn";
+          rev = "ffd7a7497db05e64031eaaffe170741b40ed753a";
+          sha256 = "0whciwh6avhfb2qhpxfl63x3z097hcm7hwhypx8symydy3r4cbqz";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/63812707948e6dcc00e00ebc3c423469593e80fd/recipes/sweetgreen";
@@ -69935,12 +70575,12 @@
     swiper = callPackage ({ emacs, fetchFromGitHub, fetchurl, ivy, lib, melpaBuild }:
     melpaBuild {
         pname = "swiper";
-        version = "20180225.744";
+        version = "20180402.1857";
         src = fetchFromGitHub {
           owner = "abo-abo";
           repo = "swiper";
-          rev = "e4b05e7af0ea80c91ddca6be5eae447a0ba3b8b5";
-          sha256 = "00vdb4mwgy6cza3ybjza2xk3rzk4y14d83cnvw58wvnj190gphm3";
+          rev = "1181d0f7acb9e77a15fa7e62cb1027979185c853";
+          sha256 = "0vsl346axdlkcv96cxlciw7bmvxwl2ficjgw9nxrsvhsjsy7md02";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/e64cad81615ef3ec34fab1f438b0c55134833c97/recipes/swiper";
@@ -70082,12 +70722,12 @@
     symbol-overlay = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "symbol-overlay";
-        version = "20180218.729";
+        version = "20180412.339";
         src = fetchFromGitHub {
           owner = "wolray";
           repo = "symbol-overlay";
-          rev = "1d610fa5023e210e59f823e1bbe819f0fb8727ef";
-          sha256 = "14v5rw2yby2n3dhzc7y1jwnmz53apljb34a9g64h08wdpg2ff0wq";
+          rev = "b76f510037eb8e0ea018272495f356c71ff5b758";
+          sha256 = "0dlb7rm4adm2ccqga5a1w6m2jvs4ics9ihf76hqyx4px9m9ca1ll";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/c2a468ebe1a3e5a35ef40c59a62befbf8960bd7b/recipes/symbol-overlay";
@@ -70100,6 +70740,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    symbolword-mode = callPackage ({ emacs, f, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "symbolword-mode";
+        version = "20180401.727";
+        src = fetchFromGitHub {
+          owner = "ncaq";
+          repo = "symbolword-mode";
+          rev = "3857c42696e20f49f274ff8bc45a6f3ee26884d4";
+          sha256 = "0pk20glbf73lpfky0jz6dqvxzaqvig3m11xca0786ni0g1yc4g0g";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/be2018e0206c3f39c1b67e83000b030d70a72ceb/recipes/symbolword-mode";
+          sha256 = "1fs1irnmlbrn76b4gdsy0v65nz8av85iqm0b7g9nm2rm8azcr050";
+          name = "symbolword-mode";
+        };
+        packageRequires = [ emacs f ];
+        meta = {
+          homepage = "https://melpa.org/#/symbolword-mode";
+          license = lib.licenses.free;
+        };
+      }) {};
     symon = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "symon";
@@ -70187,12 +70848,12 @@
     synonymous = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, request }:
     melpaBuild {
         pname = "synonymous";
-        version = "20160721.2255";
+        version = "20180325.1117";
         src = fetchFromGitHub {
           owner = "toroidal-code";
           repo = "synonymous.el";
-          rev = "1cbdc016c70ed3834c514621f9a33adc93707024";
-          sha256 = "1lsn2x6mk36pl0j3z419jq2g6sxxl0hylpz0xl8aiqzsbmwnc6r1";
+          rev = "2cb9a674d84fddf3f1b00c9d6b13a853576acb87";
+          sha256 = "1l0skavpj96x5gdrx9l8dqj4mrb7zcilv3jj335ak11p2i4ckcq2";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/ecf2c44c63e9f41f1733849bdef0d0c301485580/recipes/synonymous";
@@ -70212,8 +70873,8 @@
         src = fetchFromGitHub {
           owner = "hpdeifel";
           repo = "synosaurus";
-          rev = "ceeb06e24d3af3643862ecfdb263590eec1f492f";
-          sha256 = "1qdppyx24zmz9dzm9kjvcx30g6znik602mg2h2s835cww9n97idm";
+          rev = "8bf95b935976ec0a1964cf175ed57cc5f6f93bdb";
+          sha256 = "06dssdq0fwmr5fw56f17hysy4ysvljlvh6np4szv7lc8bhvykki0";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/7fabdb05de9b8ec18a3a566f99688b50443b6b44/recipes/synosaurus";
@@ -70309,22 +70970,22 @@
           license = lib.licenses.free;
         };
       }) {};
-    system-packages = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    system-packages = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "system-packages";
-        version = "20180131.1624";
+        version = "20180415.2039";
         src = fetchFromGitHub {
           owner = "jabranham";
           repo = "system-packages";
-          rev = "ba902ce6602649aefda675e3c3cfcf20ac7995f2";
-          sha256 = "017gif03773wlb0jfy45lsmq5vxqhghslxck9g6rgap22xn3xbcs";
+          rev = "9e5532bbed819e6736922d2da2615a2fa4433cea";
+          sha256 = "1blncv4cdf3ayq9d5ymdiacavma23smrmwh46130pscbjb4iyppy";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/8c423d8c1ff251bd34df20bdb8b425c2f55ae1b1/recipes/system-packages";
           sha256 = "0cq1vb4m8phdmv3c0dj6m76fss5vp1a0hikn7a1q5l2mmns40wj1";
           name = "system-packages";
         };
-        packageRequires = [ cl-lib ];
+        packageRequires = [ emacs ];
         meta = {
           homepage = "https://melpa.org/#/system-packages";
           license = lib.licenses.free;
@@ -70354,12 +71015,12 @@
     systemd = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "systemd";
-        version = "20180101.1803";
+        version = "20180414.1111";
         src = fetchFromGitHub {
           owner = "holomorph";
           repo = "systemd-mode";
-          rev = "228f0b99ca3e1f3139ae8cacd15f9698d5b6da90";
-          sha256 = "0cdqpzkx01qm0pk66hs6yhzv5iccrzzgfv3bh5c8i91v55d66bff";
+          rev = "e97f78ee11f4d4738aaa646e48bb39565d88abd6";
+          sha256 = "16ffz0m964g8j6hi1drjvzaz2nxjm1z7r1y1j0g9bmn1dksz7vl8";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/ca810e512c357d1d0130aeeb9b46b38c595e3351/recipes/systemd";
@@ -70665,6 +71326,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    taskpaper-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "taskpaper-mode";
+        version = "20180416.754";
+        src = fetchFromGitHub {
+          owner = "saf-dmitry";
+          repo = "taskpaper-mode";
+          rev = "0e4f11d3aa07ea1602df0566f28bb2dc172f70f5";
+          sha256 = "048hw8kbvdxihd9qsr16gzjlvjm3plvwlqb216mxbx60ig8vlhfx";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/f969b1cd58dfd22041a8a2b116db0f48e321e546/recipes/taskpaper-mode";
+          sha256 = "0gayhzakiwlrkysmh24499pyzdfy3rmf8d68vamih7igxpl57gim";
+          name = "taskpaper-mode";
+        };
+        packageRequires = [];
+        meta = {
+          homepage = "https://melpa.org/#/taskpaper-mode";
+          license = lib.licenses.free;
+        };
+      }) {};
     tawny-mode = callPackage ({ cider, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "tawny-mode";
@@ -70672,8 +71354,8 @@
         src = fetchFromGitHub {
           owner = "phillord";
           repo = "tawny-owl";
-          rev = "f10b81de14a71c6cb682a46d1a5012daba321e9b";
-          sha256 = "0iwhxikv81i45q6q31yhbij2fli1g7vsbnv5bsaf1rshbwjla3k6";
+          rev = "3d353a435c7fcb0d9edae3094a9ece81914ba34e";
+          sha256 = "14kb6pzj23zrxwfkcxnra1j4fxzm94a3fym0nx1gf7bx362yqn5g";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/ea9a114ff739f7d6f5d4c3167f5635ddf79bf60c/recipes/tawny-mode";
@@ -70836,12 +71518,12 @@
     telephone-line = callPackage ({ cl-generic, cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, seq }:
     melpaBuild {
         pname = "telephone-line";
-        version = "20180220.109";
+        version = "20180404.1614";
         src = fetchFromGitHub {
           owner = "dbordak";
           repo = "telephone-line";
-          rev = "3e73a0ed2457e7b6991ea6555a1379bf9b77053b";
-          sha256 = "0bwicz1xymq5j57m2kc8myjnc2dyfljm1jz2l80ifmlkdn549x92";
+          rev = "c9aca6ce030fac893793558c74a957e7bd0e6034";
+          sha256 = "081mj24h301vljb0d8bn5d9ibrgm1im2r5slzadd699h4zyyldcc";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/9c998b70365fb0a210c3b9639db84034c7d45097/recipes/telephone-line";
@@ -71319,12 +72001,12 @@
     texfrag = callPackage ({ auctex, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "texfrag";
-        version = "20180117.2025";
+        version = "20180318.1647";
         src = fetchFromGitHub {
           owner = "TobiasZawada";
           repo = "texfrag";
-          rev = "aca88ea6440dc9a8ac35692e72ee00aac27ce575";
-          sha256 = "0bgjsqsxpfncfab5wnjpwy64wli6k7xw77dn7l1lpbymmsm9mnr5";
+          rev = "8bb74e2d38139d6497545581a3507c6f7b4fa5e2";
+          sha256 = "03pqbx2mwz2lz7027da0aiyh12f2jifdfvxh0s83qshsnw6sipmk";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/756649bbe2dc6233c66c3d128a8096be12231078/recipes/texfrag";
@@ -71596,8 +72278,8 @@
         src = fetchFromGitHub {
           owner = "apache";
           repo = "thrift";
-          rev = "d907cc92db5b93e699a4282e979d097ea863215a";
-          sha256 = "1zswprjkjyav2502dfsyyvh9w0hs43qpfwq9q4617p909d0sj1nb";
+          rev = "c564651dd404d7e9ff6bf7e5b343f429b9e52082";
+          sha256 = "19i37mhyvg80d6j2zdxi5iljv28fbx5mjnayc6p14rqhk93xm856";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/857ab7e3a5c290265d88ebacb9685b3faee586e5/recipes/thrift";
@@ -71655,12 +72337,12 @@
     tidal = callPackage ({ emacs, fetchFromGitHub, fetchurl, haskell-mode, lib, melpaBuild }:
     melpaBuild {
         pname = "tidal";
-        version = "20171207.1452";
+        version = "20180410.1245";
         src = fetchFromGitHub {
           owner = "tidalcycles";
           repo = "Tidal";
-          rev = "b96bc7842e15f6b8973df8966307db7a1c4b7406";
-          sha256 = "0g02k411xbwqv66qi2pw7r0slkvgfgvr7q41kf1czqnrmg5k4wzg";
+          rev = "f8af7bdbda547ebd12cf5c0ee1327f33cd9aa93f";
+          sha256 = "0y7a4bxsgpbg1sbsi4xdp4k9x3l0vh7acm5i3k87acpcpfb9aq5y";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/16a26659a16199b5bb066be6e5c4a40419bda018/recipes/tidal";
@@ -71676,12 +72358,12 @@
     tide = callPackage ({ cl-lib ? null, dash, fetchFromGitHub, fetchurl, flycheck, lib, melpaBuild, s, typescript-mode }:
     melpaBuild {
         pname = "tide";
-        version = "20180212.2229";
+        version = "20180416.755";
         src = fetchFromGitHub {
           owner = "ananthakumaran";
           repo = "tide";
-          rev = "d80f62c07ab880fa486853846dbcda15351b61b5";
-          sha256 = "00bky1vxw08s0z1s9jm813acrnawj0s6mkg71d82lc4ig5x4lbvi";
+          rev = "e9a19bf500ee9c1a31d420055c159da44ada92db";
+          sha256 = "0kfcllkkhknqx69h407v5v6b0p8g0xpd5ashh2smhz9zdnxwx1m8";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a21e063011ebbb03ac70bdcf0a379f9e383bdfab/recipes/tide";
@@ -72063,12 +72745,12 @@
     toggle = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "toggle";
-        version = "20160331.100";
+        version = "20180315.1703";
         src = fetchFromGitHub {
           owner = "zenspider";
           repo = "elisp";
-          rev = "c1b59448e103e32202423a56c873967033778a92";
-          sha256 = "1v3swwmkmfgpylypmg6qv9bykcxqcg9d1awk8zxbwh83ys0q70sf";
+          rev = "ee8a9c3052446876057ff853369d136aea7831f5";
+          sha256 = "15sla4n88003fclni5nhsrw3ib7bql11ks8pb7rgjyjddqrq274r";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/bd02426ce7ab46361363c7a6c56b1575642003e0/recipes/toggle";
@@ -72388,8 +73070,8 @@
         src = fetchFromGitHub {
           owner = "jorgenschaefer";
           repo = "circe";
-          rev = "f7f7cb62a992120bf80c3a078bec1c029f8ff0cd";
-          sha256 = "122wvsxvv3yzkdjfi8s5gbl371bzi5kw377a7f3cpp7hxz4i24bl";
+          rev = "9aaad726ea0b0cce4d911eec92ab8fd2a6455fe6";
+          sha256 = "1nyw9phrh1qpc7j6b8fkald18y3rldydb666r6ppphggly6lh4vd";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a2b295656d53fddc76cacc86b239e5648e49e3a4/recipes/tracking";
@@ -72468,12 +73150,12 @@
     transfer-sh = callPackage ({ async, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "transfer-sh";
-        version = "20160828.424";
+        version = "20180317.1022";
         src = fetchFromGitHub {
           owner = "Brillow";
           repo = "transfer-sh.el";
-          rev = "70cd5c50b56ed2597221796014298417f503d10f";
-          sha256 = "1s4c70z54pc1kcqzqg3z07vw4v0d0f68w7nzifcmbx6s1l5211wf";
+          rev = "3f0344358081bcaa3c129b401ee18ecaeecda4d9";
+          sha256 = "0flsdkqhmrclnwwbxxqraawj4xv0240bwh5pbi4hgwdl5l9ihc4j";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/b4f74dd06d4d5249beaf67b2befec4251c8c18ed/recipes/transfer-sh";
@@ -72594,16 +73276,16 @@
     treemacs = callPackage ({ ace-window, cl-lib ? null, dash, emacs, f, fetchFromGitHub, fetchurl, ht, hydra, lib, melpaBuild, pfuture, s }:
     melpaBuild {
         pname = "treemacs";
-        version = "20180221.1229";
+        version = "20180410.1230";
         src = fetchFromGitHub {
           owner = "Alexander-Miller";
           repo = "treemacs";
-          rev = "e8be02971ad6c7a9c33ec544fa41b4b2f6827a35";
-          sha256 = "0fk45jmnx34azldxa4yrv6lqmkaxkpkqbnwnn29q7y4ld0ljghs0";
+          rev = "51f4aeccdae03885cb118ac5a4894550172abe79";
+          sha256 = "0kqd7zhhy0h52skvkyxjyrh23s2p4qrlf0bdgqi2xh8mqqxd4cq1";
         };
         recipeFile = fetchurl {
-          url = "https://raw.githubusercontent.com/milkypostman/melpa/7a680ee3b4a0ab286ac04d84b3fba7606b40c65b/recipes/treemacs";
-          sha256 = "0zbnw48wrbq9g7vlwxapxpq9xz8cqyr63814w0pqnh6j40ia7r2a";
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/91038c1ab2f463102263dcc3701c0fdaad55de4c/recipes/treemacs";
+          sha256 = "1wcsn0kzrbawyyhxmsmrsxr1vp0llkxw6r7zx53pwyc82ia64nlv";
           name = "treemacs";
         };
         packageRequires = [ ace-window cl-lib dash emacs f ht hydra pfuture s ];
@@ -72619,12 +73301,12 @@
         src = fetchFromGitHub {
           owner = "Alexander-Miller";
           repo = "treemacs";
-          rev = "e8be02971ad6c7a9c33ec544fa41b4b2f6827a35";
-          sha256 = "0fk45jmnx34azldxa4yrv6lqmkaxkpkqbnwnn29q7y4ld0ljghs0";
+          rev = "51f4aeccdae03885cb118ac5a4894550172abe79";
+          sha256 = "0kqd7zhhy0h52skvkyxjyrh23s2p4qrlf0bdgqi2xh8mqqxd4cq1";
         };
         recipeFile = fetchurl {
-          url = "https://raw.githubusercontent.com/milkypostman/melpa/7a680ee3b4a0ab286ac04d84b3fba7606b40c65b/recipes/treemacs-evil";
-          sha256 = "1b02dybvp2fs9n1f80gpnqaxic45wwykny7vdyfay11ds5xzfpsg";
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/91038c1ab2f463102263dcc3701c0fdaad55de4c/recipes/treemacs-evil";
+          sha256 = "1i2mxqwnqb2jz775qg3z4lf7pk4mgi646fyyi2la5gdcnq6a46mg";
           name = "treemacs-evil";
         };
         packageRequires = [ evil treemacs ];
@@ -72640,12 +73322,12 @@
         src = fetchFromGitHub {
           owner = "Alexander-Miller";
           repo = "treemacs";
-          rev = "e8be02971ad6c7a9c33ec544fa41b4b2f6827a35";
-          sha256 = "0fk45jmnx34azldxa4yrv6lqmkaxkpkqbnwnn29q7y4ld0ljghs0";
+          rev = "51f4aeccdae03885cb118ac5a4894550172abe79";
+          sha256 = "0kqd7zhhy0h52skvkyxjyrh23s2p4qrlf0bdgqi2xh8mqqxd4cq1";
         };
         recipeFile = fetchurl {
-          url = "https://raw.githubusercontent.com/milkypostman/melpa/7a680ee3b4a0ab286ac04d84b3fba7606b40c65b/recipes/treemacs-projectile";
-          sha256 = "0q3rj0g03423ql0d1ssp928x5f4540kxqlg51584aw57dlyy2z3n";
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/91038c1ab2f463102263dcc3701c0fdaad55de4c/recipes/treemacs-projectile";
+          sha256 = "1vyifik30673bwlfvbmw8pzz7f3wd4q6zzssvbj8d23zhk8kh8vc";
           name = "treemacs-projectile";
         };
         packageRequires = [ projectile treemacs ];
@@ -72844,12 +73526,12 @@
     tuareg = callPackage ({ caml, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "tuareg";
-        version = "20180218.130";
+        version = "20180325.47";
         src = fetchFromGitHub {
           owner = "ocaml";
           repo = "tuareg";
-          rev = "b9941efaba0dbf40ee96c9f1829b562052b3f2d3";
-          sha256 = "1nlb46mkyzdfb0k98wsqqk7mwyh6dfw4i83wxmdpixskww4iywfj";
+          rev = "fcf578a6aa2af815bc93fb48f374b8c3798a3e9a";
+          sha256 = "0zmrmkcz019ny1cwqssyy327zmqpjmrn05xikcz4xqwy7ij8xifp";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/01fb6435a1dfeebdf4e7fa3f4f5928bc75526809/recipes/tuareg";
@@ -73117,12 +73799,12 @@
     typescript-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "typescript-mode";
-        version = "20180222.534";
+        version = "20180409.422";
         src = fetchFromGitHub {
           owner = "ananthakumaran";
           repo = "typescript.el";
-          rev = "2815dd1b4bbf902fb61e0a8f1aca6319c7b0c940";
-          sha256 = "0d97frhcf6g4ijr1vphfnvrchj2p1rfpj7zrvj8i3jzb6dakyw4c";
+          rev = "5350c45aec10bcdffe16ec9273d04298e576f1e1";
+          sha256 = "0121gik1ksmwyx8lrr1pgpim0kyay189rg3cfa9l4hpwm425prp6";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/d3f534a1e2cee4ad2e32e32802c5080207417b3d/recipes/typescript-mode";
@@ -73180,12 +73862,12 @@
     typit = callPackage ({ emacs, f, fetchFromGitHub, fetchurl, lib, melpaBuild, mmt }:
     melpaBuild {
         pname = "typit";
-        version = "20171231.2214";
+        version = "20180317.107";
         src = fetchFromGitHub {
           owner = "mrkkrp";
           repo = "typit";
-          rev = "45dc6ba44fd5f2aece9da4a0e88effb947fe6c0e";
-          sha256 = "1q3gva57r7g9iqvkfi90zih97dq37ds2vfbjisqxzh43vab8hsjv";
+          rev = "4fe50d616fc60e77eb9b5a824c0a1ca4010b0746";
+          sha256 = "0j5s86s9wb33fqw415mmkysdasyj3vdx9l8l6ca6f89ps6znr636";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/d17d019155e19c156f123dcd702f18cfba488701/recipes/typit";
@@ -73369,12 +74051,12 @@
     undercover = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, shut-up }:
     melpaBuild {
         pname = "undercover";
-        version = "20170502.912";
+        version = "20180403.752";
         src = fetchFromGitHub {
           owner = "sviridov";
           repo = "undercover.el";
-          rev = "d947e6410a3b269c657645b499a413d90d4b69ca";
-          sha256 = "0c4i8qfa6mzbnjmdk9zqgw324fxyjnq5dm6bmxfadsnvnhjmn7y5";
+          rev = "3fc54ef92f0b4b7d26d962d6ed29a81d526a3a66";
+          sha256 = "0iqj1a6nj1ka5ahcy4rrn7k427bs1ifv0v0i7gj79m7isjj15qc4";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/d58ad9eb863494f609114e3c6af8c14c891b83a5/recipes/undercover";
@@ -73429,26 +74111,6 @@
           license = lib.licenses.free;
         };
       }) {};
-    undo-tree = callPackage ({ fetchgit, fetchurl, lib, melpaBuild }:
-    melpaBuild {
-        pname = "undo-tree";
-        version = "20170706.246";
-        src = fetchgit {
-          url = "http://www.dr-qubit.org/git/undo-tree.git";
-          rev = "e9a9102f515acd7523158f20e83f300600374989";
-          sha256 = "07y1pn0dzwh1avkd3dm96lcjisvnr7p02wbhxf1m3dgaxf059mcn";
-        };
-        recipeFile = fetchurl {
-          url = "https://raw.githubusercontent.com/milkypostman/melpa/4327b4dd464ebb00c2acdd496274dedf912cdf92/recipes/undo-tree";
-          sha256 = "0vrjxprpk854989wcp4wjb07jhhxqi25p6c758gz264z3xa8g9cr";
-          name = "undo-tree";
-        };
-        packageRequires = [];
-        meta = {
-          homepage = "https://melpa.org/#/undo-tree";
-          license = lib.licenses.free;
-        };
-      }) {};
     undohist = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "undohist";
@@ -73670,22 +74332,22 @@
           license = lib.licenses.free;
         };
       }) {};
-    unidecode = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    unidecode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "unidecode";
-        version = "20140317.2118";
+        version = "20180312.1226";
         src = fetchFromGitHub {
           owner = "sindikat";
           repo = "unidecode";
-          rev = "9e279e88a689584027d5a1b088fe5def25d0f75c";
-          sha256 = "1jvr1k8zd40m1rvwmxzidz1dvr4j8cbh78nqgc3vfb410fj619gw";
+          rev = "5502ada9287b4012eabb879f12f5b0a9df52c5b7";
+          sha256 = "03x3nakbhmakwm977mwrf8jifvjnfwzpjv6wrwpizbqjnkgfchmn";
         };
         recipeFile = fetchurl {
-          url = "https://raw.githubusercontent.com/milkypostman/melpa/2a5265b00464bcd2bb397229e87385d172856474/recipes/unidecode";
-          sha256 = "0h058mvb6x53zywpwg85dzhaynlgq577yyqhrn5qqyqjg1n8lhc1";
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/f9ba8e425e37e80a2236832c3f12568546d4c7c9/recipes/unidecode";
+          sha256 = "0vhghnyj8a5mcqq5rzajrm1izzfry77pd1wxhmra5yp9ribw2sv5";
           name = "unidecode";
         };
-        packageRequires = [ cl-lib ];
+        packageRequires = [];
         meta = {
           homepage = "https://melpa.org/#/unidecode";
           license = lib.licenses.free;
@@ -73841,12 +74503,12 @@
     uptimes = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "uptimes";
-        version = "20170830.533";
+        version = "20180416.623";
         src = fetchFromGitHub {
           owner = "davep";
           repo = "uptimes.el";
-          rev = "c2c1b44b16a0fd873193b17c580ef3dfdacea580";
-          sha256 = "1rq4m77fydkawdwkbw8125ihmvv6aisr03nwb1857k3hxhrg0gwv";
+          rev = "5e81f8bb419836602819045e7d5a74b76ad3e69c";
+          sha256 = "04l452k249s3ilfj0da0k7rrfyjnxxdsipa2al46xqjds8l3h2rn";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/72099e35ce3e34ec6afc6a3f87a4da07ec91499a/recipes/uptimes";
@@ -73925,12 +74587,12 @@
     use-package = callPackage ({ bind-key, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "use-package";
-        version = "20180206.1414";
+        version = "20180314.1143";
         src = fetchFromGitHub {
           owner = "jwiegley";
           repo = "use-package";
-          rev = "6af4b6caf67f5fbd63429d27fa54a92933df966a";
-          sha256 = "13qp22m3sd1x84776d9v3h2071zj1xlmkdqi6s6wks6gk3ybyia1";
+          rev = "512aa50b025018cb8574498d868814f73c02bb9b";
+          sha256 = "0ncg9vbn2hjdv846v0ij6pf1cs76i73jkb17wbf08r3km7933xmw";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/51a19a251c879a566d4ae451d94fcb35e38a478b/recipes/use-package";
@@ -73950,8 +74612,8 @@
         src = fetchFromGitHub {
           owner = "jwiegley";
           repo = "use-package";
-          rev = "6af4b6caf67f5fbd63429d27fa54a92933df966a";
-          sha256 = "13qp22m3sd1x84776d9v3h2071zj1xlmkdqi6s6wks6gk3ybyia1";
+          rev = "512aa50b025018cb8574498d868814f73c02bb9b";
+          sha256 = "0ncg9vbn2hjdv846v0ij6pf1cs76i73jkb17wbf08r3km7933xmw";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/6240afa625290187785e4b7535ee7b0d7aad8969/recipes/use-package-chords";
@@ -73988,12 +74650,12 @@
     use-package-ensure-system-package = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, system-packages, use-package }:
     melpaBuild {
         pname = "use-package-ensure-system-package";
-        version = "20180127.46";
+        version = "20180316.1307";
         src = fetchFromGitHub {
           owner = "jwiegley";
           repo = "use-package";
-          rev = "6af4b6caf67f5fbd63429d27fa54a92933df966a";
-          sha256 = "13qp22m3sd1x84776d9v3h2071zj1xlmkdqi6s6wks6gk3ybyia1";
+          rev = "512aa50b025018cb8574498d868814f73c02bb9b";
+          sha256 = "0ncg9vbn2hjdv846v0ij6pf1cs76i73jkb17wbf08r3km7933xmw";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/6240afa625290187785e4b7535ee7b0d7aad8969/recipes/use-package-ensure-system-package";
@@ -74009,12 +74671,12 @@
     usql = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "usql";
-        version = "20180204.1407";
+        version = "20180305.1523";
         src = fetchFromGitHub {
           owner = "nickbarnwell";
           repo = "usql.el";
-          rev = "b6bd210ba3feec946576ab1f130d9f91ad2e2c44";
-          sha256 = "1y1da6ipig7r5wcnb1v4pj0j56dsykvgy2pw0h4jxxibcr50pa42";
+          rev = "bfaf428b366a9a185eef84f0d645a98dc918fe3d";
+          sha256 = "00b1g30l86abg65wc9f4vcn4ccqa2zmn2mi33vdjrq3phw17d2ks";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/c8f6b968312a09d062fcc8f942d29c93df2a5a3c/recipes/usql";
@@ -74030,12 +74692,12 @@
     utop = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "utop";
-        version = "20170508.2343";
+        version = "20180228.305";
         src = fetchFromGitHub {
           owner = "diml";
           repo = "utop";
-          rev = "262539ae26f5e0729d6ef59009e6339a1ec21e94";
-          sha256 = "0f6m9nfvy7vgpnzra8xrb0bpgnhgi93iif4d1mswylwvj3805s6s";
+          rev = "1b4bd052c6513d38f6cc626c24665637d25fdc07";
+          sha256 = "05pv6nj88im1jf9nngv56z362wrp9pmkzrjn3nm846rdzbc5f21j";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/30489fe52b4031184e54f994770aa3291257bc9d/recipes/utop";
@@ -74534,12 +75196,12 @@
     vertigo = callPackage ({ dash, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "vertigo";
-        version = "20160429.2105";
+        version = "20180408.920";
         src = fetchFromGitHub {
           owner = "noctuid";
           repo = "vertigo.el";
-          rev = "70b56a57c3a37735cc9e92ffaa6dc27c64437738";
-          sha256 = "044vy6yi9yfk3h2gd3a718w50py02h1b5fr0i7a08rjlq4l3srka";
+          rev = "117450dfad5d5ad45d40995cdf9a626cf9c2b136";
+          sha256 = "1bxf2kzdj4xmy6wmajwvn40msp2q4szp25ylah49biw92dwi2bzw";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/f1957e7fa03b6b8eb2f3250bd814d707bce3cfa3/recipes/vertigo";
@@ -74888,27 +75550,6 @@
           license = lib.licenses.free;
         };
       }) {};
-    vkill = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
-    melpaBuild {
-        pname = "vkill";
-        version = "20091203.1022";
-        src = fetchFromGitHub {
-          owner = "emacsmirror";
-          repo = "vkill";
-          rev = "8ffe640ed03ddcc23db1c74c76d1acbf25250ad9";
-          sha256 = "0hb845pnh2yska6alca8hbbxh65x7g81pr7852h8fddm0qd1agkd";
-        };
-        recipeFile = fetchurl {
-          url = "https://raw.githubusercontent.com/milkypostman/melpa/1fe8711711d5c7e1dfdf81b8153a193e6940a16c/recipes/vkill";
-          sha256 = "09siqsip6d2h3jrxbdbhylkqm42dx3d2dqlkkdw3a81c7ga9lpwm";
-          name = "vkill";
-        };
-        packageRequires = [];
-        meta = {
-          homepage = "https://melpa.org/#/vkill";
-          license = lib.licenses.free;
-        };
-      }) {};
     vlf = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "vlf";
@@ -75038,12 +75679,12 @@
     vue-mode = callPackage ({ edit-indirect, fetchFromGitHub, fetchurl, lib, melpaBuild, mmm-mode, ssass-mode, vue-html-mode }:
     melpaBuild {
         pname = "vue-mode";
-        version = "20180104.1611";
+        version = "20180410.1157";
         src = fetchFromGitHub {
           owner = "CodeFalling";
           repo = "vue-mode";
-          rev = "b489a63dabe0f2fee2730121ecabb1b4f4c11761";
-          sha256 = "09fkyyj0lg3q9q0874q0jpvx1h8rf26g96sn9a2xw0j3fl5ab1n4";
+          rev = "eab311f535ac922086466dba3e6f0d428fcff3f2";
+          sha256 = "0j7qbrx0z6kvm9r2swyb2khhn9gciq4yjxg199ckg7k5p8iqlzlq";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/2e5e0a9fff332aeec09f6d3d758e2b67dfdf8397/recipes/vue-mode";
@@ -75101,12 +75742,12 @@
     wacspace = callPackage ({ cl-lib ? null, dash, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "wacspace";
-        version = "20140826.2232";
+        version = "20180311.1650";
         src = fetchFromGitHub {
           owner = "shosti";
           repo = "wacspace.el";
-          rev = "4a11168d58c9c129cfcd04a1c9581962565eca4a";
-          sha256 = "0nvlni3iy2sq76z8d4kj5492m0w7qv96shjqkynvlj0avf528hv4";
+          rev = "54d19aab6fd2bc5945b7ffc58104e695064927e2";
+          sha256 = "1nfx1qsl2gxjqbbc5xsr8f3xz2qyb4wnz3634k3hglb1jpa78j3n";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/58e5ff4c5853c5350d0534894ddb358daa83cee9/recipes/wacspace";
@@ -75226,12 +75867,12 @@
     wanderlust = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, semi }:
     melpaBuild {
         pname = "wanderlust";
-        version = "20180210.2213";
+        version = "20180331.105";
         src = fetchFromGitHub {
           owner = "wanderlust";
           repo = "wanderlust";
-          rev = "7c70e6308242a8e9f175fca02da9b55a1805508c";
-          sha256 = "0ipwchasw6ijykyl6ikxkghzigbxg8g10rdxqcy0250ra57afc2p";
+          rev = "afecc04e806c8338e553bdbdb716328fa9f2227a";
+          sha256 = "1sf1mck6pk2xnlfcr4rh47brpgl6dsla7zir8lxpa0224dvy0bvw";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/426172b72026d1adeb1bf3fcc6b0407875047333/recipes/wanderlust";
@@ -75457,12 +76098,12 @@
     web-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "web-mode";
-        version = "20180224.733";
+        version = "20180416.240";
         src = fetchFromGitHub {
           owner = "fxbois";
           repo = "web-mode";
-          rev = "c6d5cab4fc30ff9ca8b55a2a37d3ae3f7f540859";
-          sha256 = "03vb5aqyvqzxxw5zafp0hgc5vs7c74917p4r4ki9dp2qwvh82ziq";
+          rev = "370fba5fefc819b863909330fa17b6b0e8b20080";
+          sha256 = "0rsksx6gbff2l26rcfrxjq51pnl3l61r0vsnwq9ax70djrpk804m";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/6f0565555eaa356141422c5175d6cca4e9eb5c00/recipes/web-mode";
@@ -75559,6 +76200,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    webkit-color-picker = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, posframe }:
+    melpaBuild {
+        pname = "webkit-color-picker";
+        version = "20180325.36";
+        src = fetchFromGitHub {
+          owner = "osener";
+          repo = "emacs-webkit-color-picker";
+          rev = "765cac80144cad4bc0bf59025ea0199f0486f737";
+          sha256 = "0a6nirdn1l7cymjycbns38ja9an1z4l5lwjk5h428aly3pmkvdqj";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/af9d2e39385c6833eff6b7c7e5a039238563c00f/recipes/webkit-color-picker";
+          sha256 = "1i9244zghabyavxhz86d22fn40qspzdn2sjql8pl3mm8ks7a49a3";
+          name = "webkit-color-picker";
+        };
+        packageRequires = [ emacs posframe ];
+        meta = {
+          homepage = "https://melpa.org/#/webkit-color-picker";
+          license = lib.licenses.free;
+        };
+      }) {};
     weblogger = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, xml-rpc }:
     melpaBuild {
         pname = "weblogger";
@@ -75604,12 +76266,12 @@
     websocket = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "websocket";
-        version = "20171113.2045";
+        version = "20180402.2042";
         src = fetchFromGitHub {
           owner = "ahyatt";
           repo = "emacs-websocket";
-          rev = "7d2adf218743c52578c8e8fd5584a5e54732e256";
-          sha256 = "0k8n710ip4av51n6l9ap1254qkifj987a6k86pgj3y6bw76ry08f";
+          rev = "e9d148fbb6425c35dc7f76cccdec70aba7fafacf";
+          sha256 = "1gyp67sdi4pwrzdkgslnd9l0sjw7nbkqlh7j4zi423yrb5zxh4wi";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/091dcc3775ec2137cb61d66df4e72aca4900897a/recipes/websocket";
@@ -75835,12 +76497,12 @@
     which-key = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "which-key";
-        version = "20180225.1951";
+        version = "20180321.331";
         src = fetchFromGitHub {
           owner = "justbur";
           repo = "emacs-which-key";
-          rev = "0f80d0f95cbf133f52f64578d6a152e7e48ceb0e";
-          sha256 = "0bljzvggx1dzjl904bryny9pdg7xcncnqqzmvymgc3i6j70c0v2f";
+          rev = "bc97659029bffda0861a418da092656b379dd0cd";
+          sha256 = "0j1kpykqz691f8dlb2grfgv5rafr9xvb64yfc9pb07r4f8791fgc";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/315865a3df97c0694f648633d44b8b34df1ac76d/recipes/which-key";
@@ -75940,12 +76602,12 @@
     whizzml-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "whizzml-mode";
-        version = "20171015.938";
+        version = "20180411.1636";
         src = fetchFromGitHub {
           owner = "whizzml";
           repo = "whizzml-mode";
-          rev = "9060fdce07c137abc2c494cb72641b9b9d6fbe22";
-          sha256 = "10yi3n6pyqirlzxdkv7nvp0d0n1fkjrgwhn0kp5i27dnp3fi0i2b";
+          rev = "cfe081c957ad6e70e1fd32c7836008851198431a";
+          sha256 = "1qipmr0v6l6r2ggdp7lbrc14hwfjs6j835ii53y99knmbp7cnci1";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/11f26b15c326c3b8541bac510579b32493916042/recipes/whizzml-mode";
@@ -75961,12 +76623,12 @@
     whole-line-or-region = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "whole-line-or-region";
-        version = "20170815.212";
+        version = "20180324.2119";
         src = fetchFromGitHub {
           owner = "purcell";
           repo = "whole-line-or-region";
-          rev = "1220974153b7eaca5192ed87f86182d121e228e4";
-          sha256 = "1n44nn0zkk55cnwlincv5i8s36nymnh3bm6jd85h6m97jssxd85l";
+          rev = "944290d443a395ef0578531929186d6274ab03e9";
+          sha256 = "04hbs8hrm5csnjxvxkfbd9fky0rd6xpr105cy0bvya5c14anzcd4";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/whole-line-or-region";
@@ -76028,8 +76690,8 @@
         src = fetchFromGitHub {
           owner = "foretagsplatsen";
           repo = "emacs-js";
-          rev = "5922cf54533e1f8a3b1db5f57f07ececf9a20e1e";
-          sha256 = "1qjs9xkqv3084hj67vk9cz4pnkw7hzl48fzps5kng8ip94yiazh3";
+          rev = "aafd8a262599571f2de06e3aa75933d8a09e2d35";
+          sha256 = "0663631mxw4mrzlb144fbvry6yffg9hic9jbns147zfgvsp1xcf7";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/78d7a15152f45a193384741fa00d0649c4bba91e/recipes/widgetjs";
@@ -76405,8 +77067,8 @@
         version = "20160419.1232";
         src = fetchhg {
           url = "https://bitbucket.com/ArneBab/wisp";
-          rev = "d04938232934";
-          sha256 = "1sjadb0kh3hrdsvwywi04agrzrs21sxzh1v1km0z3x6f15nr048c";
+          rev = "dbb4f5d19925";
+          sha256 = "1ng4p0yf8lp3nhdz8l3m4zhl13x3bpb9prckw8nghqf2hc96l2dj";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/5b7972602399f9df9139cff177e38653bb0f43ed/recipes/wisp-mode";
@@ -76443,12 +77105,12 @@
     with-editor = callPackage ({ async, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "with-editor";
-        version = "20180217.548";
+        version = "20180414.757";
         src = fetchFromGitHub {
           owner = "magit";
           repo = "with-editor";
-          rev = "fcbccec6ec0f6639eab769d6ff8e97f25347a48e";
-          sha256 = "079dy4b409i9016j3fkgwxggw8332hkvnnm86am46va3lqpd3jr9";
+          rev = "ad5bb005ed3afec2d8b9b2bc1df19fb9b5e2dd84";
+          sha256 = "0hq2dy8djxf45ajk9di1grhgzly0qrijcjfdah8xj5zkwvn9cvlh";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/8c52c840dc35f3fd17ec660e113ddbb53aa99076/recipes/with-editor";
@@ -76545,6 +77207,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    wolfram-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "wolfram-mode";
+        version = "20180306.1613";
+        src = fetchFromGitHub {
+          owner = "kawabata";
+          repo = "wolfram-mode";
+          rev = "be680190cac6ccf579dbce107deaae495928d1b3";
+          sha256 = "1cvdw28gvhbr9l65xkv8ld12rb0pcf53jd55gns2b0abz1lg1jc4";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/40ded2302e413e233d867caa4776c54a778b8b99/recipes/wolfram-mode";
+          sha256 = "0rc39vvpyhpn0m52i4hs23j6avqfddmrkhjqg339apfq7z35fpli";
+          name = "wolfram-mode";
+        };
+        packageRequires = [ emacs ];
+        meta = {
+          homepage = "https://melpa.org/#/wolfram-mode";
+          license = lib.licenses.free;
+        };
+      }) {};
     wonderland = callPackage ({ dash, dash-functional, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, multi }:
     melpaBuild {
         pname = "wonderland";
@@ -76590,12 +77273,12 @@
     wordnut = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "wordnut";
-        version = "20151002.1457";
+        version = "20180312.2143";
         src = fetchFromGitHub {
           owner = "gromnitsky";
           repo = "wordnut";
-          rev = "6e223dced5b865e9d38af6f9b7e57b3a56d362bb";
-          sha256 = "1w4037jplkl8sr6b7qj4cb5qcrjwz6vnfxfshdjimilwgc3ihs16";
+          rev = "feac531404041855312c1a046bde7ea18c674915";
+          sha256 = "1jl0b6g64a9w0q7bfvwha67vgws5xd15b7mkfyb5gkz3pymqhfxn";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/321c5e171eb4da85980968ac3c8ef4300101c0b1/recipes/wordnut";
@@ -76632,12 +77315,12 @@
     worf = callPackage ({ ace-link, fetchFromGitHub, fetchurl, hydra, lib, melpaBuild, swiper, zoutline }:
     melpaBuild {
         pname = "worf";
-        version = "20171002.1118";
+        version = "20180408.36";
         src = fetchFromGitHub {
           owner = "abo-abo";
           repo = "worf";
-          rev = "cf2f382b368bcb3c8ba4785a7fac8ee9300e80b5";
-          sha256 = "0rnvmwdks8m4f6dwnyinv9rli58mlvlnrg7swpdjfh0g3bqgr7w5";
+          rev = "90f0e5f7a596ead7fc3b5106684ab118ee857340";
+          sha256 = "1yfvknn4nbc6qig0pa4gks1085l91v79cg8hjg7776plz0cwmn08";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/f00f8765e35c21dd1a4b5c01c239ed4d15170ab7/recipes/worf";
@@ -76804,8 +77487,8 @@
         src = fetchFromGitHub {
           owner = "lewang";
           repo = "ws-butler";
-          rev = "80dabd5d158929e8433e46207bb521282b21e4f3";
-          sha256 = "0s4kfg2ga3qa6gb2ji1jv73fv66d9vn054cl0mif7n16kic4bkr4";
+          rev = "52321b99be69aa1b661da7743c4421a30d8b6bcb";
+          sha256 = "1b6hxhwhzs6xq12w0jmvvjw0bx4czw71xzj3qizq9gx0q4n7a0qf";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/ws-butler";
@@ -76902,27 +77585,6 @@
           license = lib.licenses.free;
         };
       }) {};
-    x-dict = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
-    melpaBuild {
-        pname = "x-dict";
-        version = "20091203.1023";
-        src = fetchFromGitHub {
-          owner = "emacsmirror";
-          repo = "x-dict";
-          rev = "920b2430bff9fb8c4bb7944aa358622545c00cee";
-          sha256 = "0i7bgbhk4lvdkdjh6z4xs69mbdi49985j82cjikzyyskjcqd2klq";
-        };
-        recipeFile = fetchurl {
-          url = "https://raw.githubusercontent.com/milkypostman/melpa/0567fcc7b7aff08094095292fb701da3be8403c3/recipes/x-dict";
-          sha256 = "1w51xhiaxk50wlch262dxs2ybjvjj8qzx01xlgiimvggb8h5arlc";
-          name = "x-dict";
-        };
-        packageRequires = [];
-        meta = {
-          homepage = "https://melpa.org/#/x-dict";
-          license = lib.licenses.free;
-        };
-      }) {};
     x-path-walker = callPackage ({ fetchFromGitHub, fetchurl, helm-core, lib, melpaBuild }:
     melpaBuild {
         pname = "x-path-walker";
@@ -76947,12 +77609,12 @@
     x509-mode = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "x509-mode";
-        version = "20180225.2330";
+        version = "20180313.153";
         src = fetchFromGitHub {
           owner = "jobbflykt";
           repo = "x509-mode";
-          rev = "33cddc0fe18652ba707308e907b255ead60e2850";
-          sha256 = "05b7ifmjiy5rw0ywyjknf46garsyfaxrrdzn4rjwrw1crf8f804r";
+          rev = "d59058608bea1840fdba44810d7184b47bc88410";
+          sha256 = "1srqlzgrp75spygw360d1h2jfhlhmgszfsz9kyn8h564mlc3m35k";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/27145423eb4e68e006ef96868a35b99d119a3099/recipes/x509-mode";
@@ -76968,12 +77630,12 @@
     x86-lookup = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "x86-lookup";
-        version = "20161215.448";
+        version = "20180321.1802";
         src = fetchFromGitHub {
           owner = "skeeto";
           repo = "x86-lookup";
-          rev = "544a1ad4e8551c60e58e6c431470b6ef4ce7c5cb";
-          sha256 = "1w2fhi5x0amjyzzdndp9lvm6i279pcjjs6zfhssly2lbxw4dpaky";
+          rev = "a72e282d3db72fc1078623f405c2874bd48b9205";
+          sha256 = "0ayjdq50kd3karg0rc9ffxdn8pv0fbf7yfbq5vics8p5w7fl55x0";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/27757b9b5673f5581e678e8cad719138db654415/recipes/x86-lookup";
@@ -76989,12 +77651,12 @@
     xah-css-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "xah-css-mode";
-        version = "20180219.2311";
+        version = "20180405.1521";
         src = fetchFromGitHub {
           owner = "xahlee";
           repo = "xah-css-mode";
-          rev = "cf452fd0f2e742812a4c69e41cb5403f22b0a16a";
-          sha256 = "1wjj3sj90az5y4a7cy0pblwxi0xbj5gg72jdr9wbm95si582vk58";
+          rev = "5b630c3a706d7b692e04e44c571ff9c1076be2c3";
+          sha256 = "0di2pyd1b4a0lyz1xi260dha3n6wa8d4nlb59inaxcj4nfw7sv15";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/05eed39bae37cc8359d2cc678052cbbcc946e379/recipes/xah-css-mode";
@@ -77010,12 +77672,12 @@
     xah-elisp-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "xah-elisp-mode";
-        version = "20180225.1515";
+        version = "20180402.2139";
         src = fetchFromGitHub {
           owner = "xahlee";
           repo = "xah-elisp-mode";
-          rev = "cf1cce0ddc3cba18ccd506b04d8278189fbd92c2";
-          sha256 = "0wdfdjcq0yrj2g995879y5ymjb5z1pv38vxvniclifg478qym5yy";
+          rev = "95ec296ec6e059e0f802b919fcaeae521714fd68";
+          sha256 = "19hjw9bcq2qsc0m47303r5r1nr144sbsrs0lwzzadxvfyfwpm1q4";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/05eed39bae37cc8359d2cc678052cbbcc946e379/recipes/xah-elisp-mode";
@@ -77031,12 +77693,12 @@
     xah-find = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "xah-find";
-        version = "20170821.358";
+        version = "20180310.450";
         src = fetchFromGitHub {
           owner = "xahlee";
           repo = "xah-find";
-          rev = "6b7a60d6210d42559b46f0e17d7a0e4a2607f887";
-          sha256 = "11whm7cnz6z61lycm5w6qmvbbl5f2c2lpgmk5c5whks7v3bkq6n6";
+          rev = "0cd985675c286bfa5f07ab9d00231f8a23505537";
+          sha256 = "01h5wdbzf7swrmddai2vsakr8rsqg447w9bnp7akxla426fsr8wg";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/05eed39bae37cc8359d2cc678052cbbcc946e379/recipes/xah-find";
@@ -77052,12 +77714,12 @@
     xah-fly-keys = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "xah-fly-keys";
-        version = "20180221.1809";
+        version = "20180412.2300";
         src = fetchFromGitHub {
           owner = "xahlee";
           repo = "xah-fly-keys";
-          rev = "c01ddd038e03051bcc8010629b7548838db2531b";
-          sha256 = "132afibrgz6381nanjhalkgqmxwia6ykyprrasa19m9kbm96xwdl";
+          rev = "e7181d40cc4bf30eed2672cb97255a8451031002";
+          sha256 = "0lhakj8hr2wg7n3nqc5bqwgxb9lf6yvknryll9xw9lq4q9yha7rg";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/05eed39bae37cc8359d2cc678052cbbcc946e379/recipes/xah-fly-keys";
@@ -77115,12 +77777,12 @@
     xah-math-input = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "xah-math-input";
-        version = "20180216.1040";
+        version = "20180328.1515";
         src = fetchFromGitHub {
           owner = "xahlee";
           repo = "xah-math-input";
-          rev = "16a441944da3fb3f844b93d0add1e042e1b5377a";
-          sha256 = "1vr7dkibw5ibd1c3snxy2pw055yl620pi2vynxszsk82shz2xvbz";
+          rev = "6e240b83bd3bc19b0edf8a85413b216dbf27f441";
+          sha256 = "1ff3r1a3jgvv33sahi9ajs04m4sch9cmqwx0dlwkn1595smwk8k5";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/05eed39bae37cc8359d2cc678052cbbcc946e379/recipes/xah-math-input";
@@ -77532,27 +78194,6 @@
           license = lib.licenses.free;
         };
       }) {};
-    xterm-frobs = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
-    melpaBuild {
-        pname = "xterm-frobs";
-        version = "20161207.1609";
-        src = fetchFromGitHub {
-          owner = "emacsmirror";
-          repo = "xterm-frobs";
-          rev = "0832d588598dbf6bd8aa8e05c611d7c098c3f9d8";
-          sha256 = "0snrylgv2d6r3d6nv05vqs6ng3sgrxkvqpx7m4ga2y7a1m5lmxkw";
-        };
-        recipeFile = fetchurl {
-          url = "https://raw.githubusercontent.com/milkypostman/melpa/b7bb3be63b798967f5525cf118579a1cc756ee1a/recipes/xterm-frobs";
-          sha256 = "02v8kh2g6a2fpxy911630zsg985hyakvqbd6v2xyfbz0vnd6i1lf";
-          name = "xterm-frobs";
-        };
-        packageRequires = [];
-        meta = {
-          homepage = "https://melpa.org/#/xterm-frobs";
-          license = lib.licenses.free;
-        };
-      }) {};
     xterm-keybinder = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, let-alist, lib, melpaBuild }:
     melpaBuild {
         pname = "xterm-keybinder";
@@ -77574,27 +78215,6 @@
           license = lib.licenses.free;
         };
       }) {};
-    xterm-title = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
-    melpaBuild {
-        pname = "xterm-title";
-        version = "20091203.1023";
-        src = fetchFromGitHub {
-          owner = "emacsmirror";
-          repo = "xterm-title";
-          rev = "b6ea73d297d191d48bba7dd1e2adc23bbdfa1c3c";
-          sha256 = "06cbr7y3wp7j8lnbys57g6md4fdx9xhlnxl73pj7xpfa5i2x9ifl";
-        };
-        recipeFile = fetchurl {
-          url = "https://raw.githubusercontent.com/milkypostman/melpa/bc25d156c8631b552a463f5088a99a3370166e03/recipes/xterm-title";
-          sha256 = "08z8qg9x6vjpybbhxa8x46qnp3951miz1264fivg776y76cg3ck6";
-          name = "xterm-title";
-        };
-        packageRequires = [];
-        meta = {
-          homepage = "https://melpa.org/#/xterm-title";
-          license = lib.licenses.free;
-        };
-      }) {};
     xtest = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "xtest";
@@ -77728,8 +78348,8 @@
         src = fetchFromGitHub {
           owner = "drdv";
           repo = "yahtzee";
-          rev = "c2912e845d74a22436bdf720eb9bc543d0e0c45c";
-          sha256 = "1swnr1nrlyd7ij4m05dvqwdfmpj41b3ibfqmb45qm073f27gvj65";
+          rev = "673f033c05b4984f5159526db2d7f4a32dd57b6d";
+          sha256 = "1iwmwff538zw95mlrq4jhwaikx2hs6jqcx94rypn6znymrfsf0hp";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/200169fdabce0ae3a2ecb6f4f3255c15ec3ed094/recipes/yahtzee";
@@ -77766,12 +78386,12 @@
     yaml-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "yaml-mode";
-        version = "20180212.1556";
+        version = "20180408.2307";
         src = fetchFromGitHub {
           owner = "yoshiki";
           repo = "yaml-mode";
-          rev = "3fc5a33760b0bbb6e67adbce48ab3dc4ae34b847";
-          sha256 = "1ijq7ay5lx77nibzqc1kih64v4bg4790as1zg26igp7ivg66l1m6";
+          rev = "40067a10ac1360f0b9533f0bbbb2eea128e2574d";
+          sha256 = "0v7646vdsbbhxh9ywsypq2ycdsrf6m7wv788qaircbjgn1pk4v7i";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/cae2ac3513e371a256be0f1a7468e38e686c2487/recipes/yaml-mode";
@@ -77829,12 +78449,12 @@
     yang-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "yang-mode";
-        version = "20170323.1104";
+        version = "20180306.407";
         src = fetchFromGitHub {
           owner = "mbj4668";
           repo = "yang-mode";
-          rev = "0d5d5df86dbb6cbb2de3c0f2d0d5f8c8f29d0695";
-          sha256 = "0ca55vjv9lz7w8mk2z731bia9vialrd4kv0igi09xs1mm0r2x5nv";
+          rev = "340aec635e359609b22f7e94df15af1af2b070f6";
+          sha256 = "0795z6s71vlb709n5lpx2f9adfjndafg1h5860zvy1qc4m1054rz";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/bb42ab9b5f118baaf6766c478046552b686981a1/recipes/yang-mode";
@@ -77850,12 +78470,12 @@
     yankpad = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "yankpad";
-        version = "20180220.1049";
+        version = "20180415.350";
         src = fetchFromGitHub {
           owner = "Kungsgeten";
           repo = "yankpad";
-          rev = "de672dab9df4a0bffb44cdadaace93d00d9a8848";
-          sha256 = "1w0lkn1prv9xd4pn81kqxk26s37ia1xk0kz8qahcvjg7z4igyy9n";
+          rev = "a804f145d17b4b68490ee62ba9a9c4fc7faad130";
+          sha256 = "1m9zal19s7v6djrma1xbqwx1n271y0ik44wx9sscmrynmhdlis04";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/e64746d10f9e0158621a7c4dc41dc2eca6ad573c/recipes/yankpad";
@@ -77997,12 +78617,12 @@
     yasnippet = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "yasnippet";
-        version = "20180218.459";
+        version = "20180319.607";
         src = fetchFromGitHub {
           owner = "joaotavora";
           repo = "yasnippet";
-          rev = "3d7cafccf8d7ea9d62e0ccd63c30769de5b8cf01";
-          sha256 = "0m5z46vdv5npwpkqc87jsf488k31mpqphsg1yayy4pjqz2bn68vb";
+          rev = "fa6a71c42de7fecd58193e2fd3681a0225b71dc5";
+          sha256 = "0zxwqc2ksk43p47svhcxsbw8fazl7krarfj8d1i1r9nkwhx5sqqi";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/5d1927dc3351d3522de1baccdc4ce200ba52bd6e/recipes/yasnippet";
@@ -78018,12 +78638,12 @@
     yasnippet-snippets = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, yasnippet }:
     melpaBuild {
         pname = "yasnippet-snippets";
-        version = "20180222.440";
+        version = "20180408.446";
         src = fetchFromGitHub {
           owner = "AndreaCrotti";
           repo = "yasnippet-snippets";
-          rev = "2373036c13d71c5fab2616d97498213f54688bd6";
-          sha256 = "18sdc92qaacxp757yqdv71hx2pjhcy33vshkwjdi6mmmqa1d2zq8";
+          rev = "4bbe565b7c9c7286f7ac465f0cc79c3fe5796c0b";
+          sha256 = "0rak66wmj0x4zmksckniamslvcaxsz0dgysrzv22jijmjjqpfd2z";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/25b8d4efe2e7833eb95dfdf33aa3ecc34af7a687/recipes/yasnippet-snippets";
@@ -78345,8 +78965,8 @@
         src = fetchFromGitHub {
           owner = "bbatsov";
           repo = "zenburn-emacs";
-          rev = "3a9ae671d01d9828b3e2935c80e8796cd3c1d77b";
-          sha256 = "1kfwnwnnax22dlkc42rlw7lrdlpjxmh70sjnrrljpvi238scn5b2";
+          rev = "af752f46306eb710158904b89c1bf0d6786d0a4d";
+          sha256 = "0w3s3c1h7s5j02h7jgbnnh85cx1cmqb5jd8w6fgsp4jna6wn5627";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/091dcc3775ec2137cb61d66df4e72aca4900897a/recipes/zenburn-theme";
@@ -78424,12 +79044,12 @@
     zerodark-theme = callPackage ({ all-the-icons, fetchFromGitHub, fetchurl, flycheck, lib, magit, melpaBuild }:
     melpaBuild {
         pname = "zerodark-theme";
-        version = "20180201.246";
+        version = "20180308.957";
         src = fetchFromGitHub {
           owner = "NicolasPetton";
           repo = "zerodark-theme";
-          rev = "553ba2ba9907e56bda1d2ebf142ba7cbf9bd16f1";
-          sha256 = "1d9fclil0nf06gc9734y3p6clkxpwxa8nqh9mk9kpj8k9b36lxcn";
+          rev = "2a240de8cd89c741612d807a521d6b3e51088324";
+          sha256 = "10r806hzmgwnysjgg5lx252ychnhyma1bpwm980pf46vlywws5a0";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/d00b78ead693e844e35c760fe2c39b8ed6cb0d81/recipes/zerodark-theme";
@@ -78445,16 +79065,16 @@
     zig-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "zig-mode";
-        version = "20170920.802";
+        version = "20180309.1458";
         src = fetchFromGitHub {
-          owner = "AndreaOrru";
+          owner = "zig-lang";
           repo = "zig-mode";
-          rev = "814657c5b6b0600ace78a7bbd216c3e90d611cfd";
-          sha256 = "0nhx2wsk3qpdplvwxmdzwlka9255x46ca9vcjb58zbpb5wbfckzx";
+          rev = "4f281e4748a4eae64efaa98d9dfd9b7c163fbed8";
+          sha256 = "0pip0kgbxh4cf60j2kzgb9lvrm5vksg83mllk1pcs9mkbxdgjyww";
         };
         recipeFile = fetchurl {
-          url = "https://raw.githubusercontent.com/milkypostman/melpa/33895b0ff559ffd18a62c04736597188f55419ee/recipes/zig-mode";
-          sha256 = "1rmvlsgx01h62imbksxl164d5p0caz49nlgg0z7spvvd9bmplr09";
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/5cba49d25ebbaa9240d5d87d0c7ca48d928b2e4b/recipes/zig-mode";
+          sha256 = "005lsgnsaj8rjkzbhi23g99xy9zln4ggkad11xqmn4xa6g199wly";
           name = "zig-mode";
         };
         packageRequires = [ emacs ];
@@ -78634,12 +79254,12 @@
     zoom = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "zoom";
-        version = "20171110.715";
+        version = "20180310.421";
         src = fetchFromGitHub {
           owner = "cyrus-and";
           repo = "zoom";
-          rev = "d4f417b24fe022b6512a1a0ffebf898044393250";
-          sha256 = "0qksgg0c4z5c293avc87q2hgwnvr550rycwgnvrp574n3qmvqjmd";
+          rev = "a72714bb14eb32c1c5e7ad1cb4bdeb208450e507";
+          sha256 = "176fbhsh2rk6rn8fisfq4ja71lqvf1zbb393wzfsgg68df39mqyh";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/3fe094c99756ad29eda9bc51f31bb70c4ddc4131/recipes/zoom";
@@ -78760,12 +79380,12 @@
     zoutline = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "zoutline";
-        version = "20170722.651";
+        version = "20180314.1059";
         src = fetchFromGitHub {
           owner = "abo-abo";
           repo = "zoutline";
-          rev = "e86e739b53a1c8a0a2cf6de43dffabb15d465507";
-          sha256 = "0ycri5d61pbwhwpwh9qx9m22mb4ab7bgniwgdbi9s8rzqs4q1p91";
+          rev = "b3ee0f0e0b916838c2d2c249beba74ffdb8d5699";
+          sha256 = "0sd0017piw0dis6dhpq5dkqd3acisxqgipl7dj8gmc1vnswhdwr8";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/4a26341f491145938aee9b531cd861200bfa2f6d/recipes/zoutline";
@@ -78801,12 +79421,12 @@
     ztree = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "ztree";
-        version = "20180215.1021";
+        version = "20180409.1322";
         src = fetchFromGitHub {
           owner = "fourier";
           repo = "ztree";
-          rev = "67a1d90595353ab57fd424651c567df9851b9494";
-          sha256 = "01qv400zp4bdfah62l3ixkc3kvkwrjj5ngc36m6w783q0zmr105r";
+          rev = "487957664cedc61d70feccc881092eef6746977b";
+          sha256 = "1hvqx1dfh253iin59j9i1x85xfnhljgwsrvn9pq3lxfvy82zjlc0";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/f151e057c05407748991f23c021e94c178b87248/recipes/ztree";
diff --git a/pkgs/applications/editors/emacs-modes/melpa-packages.nix b/pkgs/applications/editors/emacs-modes/melpa-packages.nix
index 6b986aa7499..c21db447e39 100644
--- a/pkgs/applications/editors/emacs-modes/melpa-packages.nix
+++ b/pkgs/applications/editors/emacs-modes/melpa-packages.nix
@@ -82,10 +82,6 @@ self:
         inherit (self.melpaPackages) ess ctable popup;
       };
 
-      ess-R-object-popup = super.ess-R-object-popup.override {
-        inherit (self.melpaPackages) ess popup;
-      };
-
       # upstream issue: missing dependency highlight
       evil-search-highlight-persist = markBroken super.evil-search-highlight-persist;
 
@@ -98,8 +94,8 @@ self:
       # Expects bash to be at /bin/bash
       flycheck-rtags = markBroken super.flycheck-rtags;
 
-      # upstream issue: missing file header
-      fold-dwim = markBroken super.fold-dwim;
+      # upstream issue: missing dependency
+      fold-dwim-org = markBroken super.fold-dwim-org;
 
       # build timeout
       graphene = markBroken super.graphene;
@@ -111,13 +107,10 @@ self:
       helm-rtags = markBroken super.helm-rtags;
 
       # upstream issue: missing file header
-      helm-words = markBroken super.helm-words;
-
-      # upstream issue: missing file header
       ido-complete-space-or-hyphen = markBroken super.ido-complete-space-or-hyphen;
 
       # upstream issue: missing file header
-      initsplit = markBroken super.initsplit;
+      initsplit = super.initsplit;
 
       # Expects bash to be at /bin/bash
       ivy-rtags = markBroken super.ivy-rtags;
@@ -128,9 +121,6 @@ self:
       # upstream issue: missing file header
       link = markBroken super.link;
 
-      # upstream issue: mismatched filename
-      link-hint = markBroken super.link-hint;
-
       # upstream issue: missing file header
       maxframe = markBroken super.maxframe;
 
@@ -159,9 +149,6 @@ self:
       # upstream issue: missing dependency
       org-readme = markBroken super.org-readme;
 
-      # upstream issue: missing file header
-      perl-completion = markBroken super.perl-completion;
-
       # upstream issue: truncated file
       powershell = markBroken super.powershell;
 
@@ -171,12 +158,6 @@ self:
       # upstream issue: missing file header
       qiita = markBroken super.qiita;
 
-      # upstream issue: missing package version
-      quack = markBroken super.quack;
-
-      # upstream issue: missing file header
-      railgun = markBroken super.railgun;
-
       # upstream issue: missing file footer
       seoul256-theme = markBroken super.seoul256-theme;
 
@@ -211,9 +192,6 @@ self:
       # upstream issue: missing file header
       window-numbering = markBroken super.window-numbering;
 
-      # upstream issue: missing file header
-      zeitgeist = markBroken super.zeitgeist;
-
       w3m = super.w3m.override (args: {
         melpaBuild = drv: args.melpaBuild (drv // {
           prePatch =
diff --git a/pkgs/applications/editors/emacs-modes/melpa-stable-generated.nix b/pkgs/applications/editors/emacs-modes/melpa-stable-generated.nix
index 294414f15ee..ff9967e51b3 100644
--- a/pkgs/applications/editors/emacs-modes/melpa-stable-generated.nix
+++ b/pkgs/applications/editors/emacs-modes/melpa-stable-generated.nix
@@ -125,48 +125,6 @@
           license = lib.licenses.free;
         };
       }) {};
-    ac-cake = callPackage ({ auto-complete, cake, fetchFromGitHub, fetchurl, lib, melpaBuild }:
-    melpaBuild {
-        pname = "ac-cake";
-        version = "1.0.0";
-        src = fetchFromGitHub {
-          owner = "k1LoW";
-          repo = "emacs-ac-cake";
-          rev = "f01b3da7e2d20ea5a62daf62412c7dc1ad0130ff";
-          sha256 = "12z8nq797hjy0bq5vzpcm7z7bdn0ixc3ma4cj3v51xnwmgknzk6c";
-        };
-        recipeFile = fetchurl {
-          url = "https://raw.githubusercontent.com/milkypostman/melpa/2257db76719cb1e3e2f79aff2b61073b655f9061/recipes/ac-cake";
-          sha256 = "0s2pgf0m98ixgadsnn201vm5gnawanpvxv56sf599f33krqnxzkl";
-          name = "ac-cake";
-        };
-        packageRequires = [ auto-complete cake ];
-        meta = {
-          homepage = "https://melpa.org/#/ac-cake";
-          license = lib.licenses.free;
-        };
-      }) {};
-    ac-cake2 = callPackage ({ auto-complete, cake2, fetchFromGitHub, fetchurl, lib, melpaBuild }:
-    melpaBuild {
-        pname = "ac-cake2";
-        version = "1.0.1";
-        src = fetchFromGitHub {
-          owner = "k1LoW";
-          repo = "emacs-ac-cake2";
-          rev = "ffbb679c0d5c261b05abde06d8d1d1e5d5990b6a";
-          sha256 = "0mlmhdl9s28z981y8bnpj8jpfzm6bgfiyl0zmpgvhyqw1wzqywwv";
-        };
-        recipeFile = fetchurl {
-          url = "https://raw.githubusercontent.com/milkypostman/melpa/b8b728c2caed96d7505cafc42d0d7ed49d6cadcd/recipes/ac-cake2";
-          sha256 = "0qxilldx23wqf8ilif2nin119bvd0l7b6f6wifixx28a6kl1vsgy";
-          name = "ac-cake2";
-        };
-        packageRequires = [ auto-complete cake2 ];
-        meta = {
-          homepage = "https://melpa.org/#/ac-cake2";
-          license = lib.licenses.free;
-        };
-      }) {};
     ac-capf = callPackage ({ auto-complete, cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "ac-capf";
@@ -212,12 +170,12 @@
     ac-clang = callPackage ({ auto-complete, cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, pos-tip, yasnippet }:
     melpaBuild {
         pname = "ac-clang";
-        version = "2.0.2";
+        version = "2.1.0";
         src = fetchFromGitHub {
           owner = "yaruopooner";
           repo = "ac-clang";
-          rev = "d14b0898f88c9f2911ebf68c1cbaae09e28b534a";
-          sha256 = "02f8avxvcpr3ns4f0dw72jfx9c89aib5c2j54qcfz66fhka9jnvq";
+          rev = "daddbea033d3c6f934e5043cc2fff8eca3b6e5f7";
+          sha256 = "1hp3xpv0kwmilfivif2smbbgknjyk8kcgp399dghdcq71qsxz3wr";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/ffe0485048b85825f5e8ba95917d8c9dc64fe5de/recipes/ac-clang";
@@ -527,12 +485,12 @@
     ac-php = callPackage ({ ac-php-core, auto-complete, fetchFromGitHub, fetchurl, lib, melpaBuild, yasnippet }:
     melpaBuild {
         pname = "ac-php";
-        version = "2.0.3";
+        version = "2.0.4";
         src = fetchFromGitHub {
           owner = "xcwen";
           repo = "ac-php";
-          rev = "cf9db85af2db9150e9d9b4fecad874e16ce43f0d";
-          sha256 = "0gm15f5l91sh7syf60lnvlfnf3vivbk36gddsf3yndiwfsqh7xd0";
+          rev = "326721527b2f88df7227cdc41708912b2f9c8494";
+          sha256 = "1rrjzaa1qqzbnwp6ykk4qbdqlrwprdg2z4xqsb8098p052jjdpii";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/ac283f1b65c3ba6278e9d3236e5a19734e42b123/recipes/ac-php";
@@ -548,12 +506,12 @@
     ac-php-core = callPackage ({ dash, emacs, f, fetchFromGitHub, fetchurl, lib, melpaBuild, php-mode, popup, s, xcscope }:
     melpaBuild {
         pname = "ac-php-core";
-        version = "2.0.3";
+        version = "2.0.4";
         src = fetchFromGitHub {
           owner = "xcwen";
           repo = "ac-php";
-          rev = "cf9db85af2db9150e9d9b4fecad874e16ce43f0d";
-          sha256 = "0gm15f5l91sh7syf60lnvlfnf3vivbk36gddsf3yndiwfsqh7xd0";
+          rev = "326721527b2f88df7227cdc41708912b2f9c8494";
+          sha256 = "1rrjzaa1qqzbnwp6ykk4qbdqlrwprdg2z4xqsb8098p052jjdpii";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/ac283f1b65c3ba6278e9d3236e5a19734e42b123/recipes/ac-php-core";
@@ -1562,110 +1520,6 @@
           license = lib.licenses.free;
         };
       }) {};
-    anything = callPackage ({ fetchgit, fetchurl, lib, melpaBuild }:
-    melpaBuild {
-        pname = "anything";
-        version = "1.3.9";
-        src = fetchgit {
-          url = "http://repo.or.cz/r/anything-config.git";
-          rev = "6b9718fba257e6c2912ba70f9895251ab1926928";
-          sha256 = "040znq4qv6rqjw05klriasysvsx6s6xn00ssc3acbqdqjgjk8l2a";
-        };
-        recipeFile = fetchurl {
-          url = "https://raw.githubusercontent.com/milkypostman/melpa/e1700e86cb35617178f5d7c61c88718ac7849f9b/recipes/anything";
-          sha256 = "13pmks0bsby57v3vp6jcvvzwb771d4qq62djgvrw4ykxqzkcb8fj";
-          name = "anything";
-        };
-        packageRequires = [];
-        meta = {
-          homepage = "https://melpa.org/#/anything";
-          license = lib.licenses.free;
-        };
-      }) {};
-    anything-exuberant-ctags = callPackage ({ anything, fetchFromGitHub, fetchurl, lib, melpaBuild }:
-    melpaBuild {
-        pname = "anything-exuberant-ctags";
-        version = "0.1.2";
-        src = fetchFromGitHub {
-          owner = "k1LoW";
-          repo = "anything-exuberant-ctags";
-          rev = "97fa91eb04df11bdf4558fe7bb2f6aebf8be0d6c";
-          sha256 = "01lw9159axg5w9bpdy55m4zc902zmsqvk213ky1nmgnln0fvq3rd";
-        };
-        recipeFile = fetchurl {
-          url = "https://raw.githubusercontent.com/milkypostman/melpa/66cae648d534468e5e9f125679847fb876935f68/recipes/anything-exuberant-ctags";
-          sha256 = "0p0jq2ggdgaxv2gd9m5iza0y3mjjc82xmgp899yr15pfffa4wihk";
-          name = "anything-exuberant-ctags";
-        };
-        packageRequires = [ anything ];
-        meta = {
-          homepage = "https://melpa.org/#/anything-exuberant-ctags";
-          license = lib.licenses.free;
-        };
-      }) {};
-    anything-replace-string = callPackage ({ anything, fetchFromGitHub, fetchurl, lib, melpaBuild }:
-    melpaBuild {
-        pname = "anything-replace-string";
-        version = "0.9.2";
-        src = fetchFromGitHub {
-          owner = "k1LoW";
-          repo = "anything-replace-string";
-          rev = "1962f24243d6013bcef7e8d23136277d42e13130";
-          sha256 = "1834yj2vgs4dasdfnppc8iw8ll3yif948biq9hj0sbpsa2d8y44k";
-        };
-        recipeFile = fetchurl {
-          url = "https://raw.githubusercontent.com/milkypostman/melpa/39b7f3a8de2f7728b374c09a1387beb3f7595d2e/recipes/anything-replace-string";
-          sha256 = "1fagi6cn88p6sf1yhx1qsi7nw9zpyx9hdfl66iyskqwddfvywp71";
-          name = "anything-replace-string";
-        };
-        packageRequires = [ anything ];
-        meta = {
-          homepage = "https://melpa.org/#/anything-replace-string";
-          license = lib.licenses.free;
-        };
-      }) {};
-    anything-sage = callPackage ({ anything, cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild, sage-shell-mode }:
-    melpaBuild {
-        pname = "anything-sage";
-        version = "0.0.1";
-        src = fetchFromGitHub {
-          owner = "stakemori";
-          repo = "anything-sage";
-          rev = "8335657d3f0611bd5fc8858160bbe87dfdbaf0f2";
-          sha256 = "1bcvin2694ypqgiw0mqk82riq7gw6ra10vbkzng1yp9jp2qr6wmm";
-        };
-        recipeFile = fetchurl {
-          url = "https://raw.githubusercontent.com/milkypostman/melpa/07be4b11bbddb376e11616525e7b226c5a9f2296/recipes/anything-sage";
-          sha256 = "1878vj8hzrwfyd2yvxcm0f1vm9m0ndwnj0pcq7j8zm9lxj0w48p3";
-          name = "anything-sage";
-        };
-        packageRequires = [ anything cl-lib sage-shell-mode ];
-        meta = {
-          homepage = "https://melpa.org/#/anything-sage";
-          license = lib.licenses.free;
-        };
-      }) {};
-    anything-tramp = callPackage ({ anything, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
-    melpaBuild {
-        pname = "anything-tramp";
-        version = "0.8.5";
-        src = fetchFromGitHub {
-          owner = "masasam";
-          repo = "emacs-anything-tramp";
-          rev = "942affd6b7538d1e829ee257bbd829cb4e860cce";
-          sha256 = "0njynjg7p7i5li668ldpvmnpc5w7bikcs4cmkf26vf5n714fvlc1";
-        };
-        recipeFile = fetchurl {
-          url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/anything-tramp";
-          sha256 = "053bi7b6d9aa6xwsgm0yxbklbs5sl3dgi529gsapj30lw68lh1vh";
-          name = "anything-tramp";
-        };
-        packageRequires = [ anything emacs ];
-        meta = {
-          homepage = "https://melpa.org/#/anything-tramp";
-          license = lib.licenses.free;
-        };
-      }) {};
     anzu = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "anzu";
@@ -2023,36 +1877,36 @@
           license = lib.licenses.free;
         };
       }) {};
-    auth-password-store = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, password-store, seq }:
+    auth-source-pass = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
-        pname = "auth-password-store";
-        version = "3.0.0";
+        pname = "auth-source-pass";
+        version = "4.0.1";
         src = fetchFromGitHub {
           owner = "DamienCassou";
           repo = "auth-password-store";
-          rev = "6af0458a6b586cc5004fa652f23615433304924d";
-          sha256 = "150cx8ida9bl0g84iq051rziy64ic2pxz6hn0blsys1qcp9lf8wa";
+          rev = "5690092e40c790384692d8e8da3451e6878d8c17";
+          sha256 = "1dv202z8briifd4aqn8yvn4kd6zi1cabb2p86qcjj40lzkgn6w3p";
         };
         recipeFile = fetchurl {
-          url = "https://raw.githubusercontent.com/milkypostman/melpa/0f4d2a28373ba93da5b280ebf40c5a3fa758ea11/recipes/auth-password-store";
-          sha256 = "118ll12dhhxmlsp2mxmy5cd91166a1qsk406yhap5zw1qvyg58w5";
-          name = "auth-password-store";
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/5e268441634a6e58a00e577d6e2292fa226c11b8/recipes/auth-source-pass";
+          sha256 = "0icwdwz2zy3f9ynksr81pgq482iapsbx8lpyssiklyw0xgd1k8ak";
+          name = "auth-source-pass";
         };
-        packageRequires = [ cl-lib emacs password-store seq ];
+        packageRequires = [ emacs ];
         meta = {
-          homepage = "https://melpa.org/#/auth-password-store";
+          homepage = "https://melpa.org/#/auth-source-pass";
           license = lib.licenses.free;
         };
       }) {};
     auto-compile = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, packed }:
     melpaBuild {
         pname = "auto-compile";
-        version = "1.4.2";
+        version = "1.4.3";
         src = fetchFromGitHub {
           owner = "emacscollective";
           repo = "auto-compile";
-          rev = "8d117868a0a091389d528428136e60f951e9c550";
-          sha256 = "1qkw8qzhqzk16kvk1200ha10gi6ny0saqvyqm6b1ww0iw3q1ic5c";
+          rev = "6ce4255ab9a0b010ef8414c5bd9a6d6d9eea012f";
+          sha256 = "013vw4sgw6hpz7kskilndv7i7ik40asrkgicghjbygwk0lj5ran3";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/57a2fb9524df3fdfdc54c403112e12bd70888b23/recipes/auto-compile";
@@ -2554,6 +2408,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    banner-comment = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "banner-comment";
+        version = "2.5";
+        src = fetchFromGitHub {
+          owner = "WJCFerguson";
+          repo = "banner-comment";
+          rev = "9b1c9a94f8b6789c890a7e7eedd6f60ad5aa4d52";
+          sha256 = "02wsnmzbb60d4a8bsb5kywdwcfsqb6chcchs5v2d0s3sacakbmnl";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/4bb69f15cb6be38a86abf4d15450a29c9a819068/recipes/banner-comment";
+          sha256 = "0i5nkfdwfr9mcir2ijdhw563azmr5p7hyl6rfy1r04fzs8j7w2pc";
+          name = "banner-comment";
+        };
+        packageRequires = [ emacs ];
+        meta = {
+          homepage = "https://melpa.org/#/banner-comment";
+          license = lib.licenses.free;
+        };
+      }) {};
     base16-theme = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "base16-theme";
@@ -2620,16 +2495,16 @@
     bbcode-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "bbcode-mode";
-        version = "2.0.0";
+        version = "2.1.0";
         src = fetchFromGitHub {
-          owner = "ejmr";
+          owner = "lassik";
           repo = "bbcode-mode";
-          rev = "e693ab09c3f34cabfd185e7c249c0b5403f0a7e0";
-          sha256 = "1xvxz9sk9l57a4kiiavxxdp0v241mfgiy2lg5ilacq1cd6xrrhky";
+          rev = "73c56a40301c8b017d3e64c08dccc80d1dc47e59";
+          sha256 = "0g0dxk33pz18awv7ncv64c2a4lmdx9sigppkvq2mb9za47azk8dh";
         };
         recipeFile = fetchurl {
-          url = "https://raw.githubusercontent.com/milkypostman/melpa/acc9b816796b9f142c53f90593952b43c962d2d8/recipes/bbcode-mode";
-          sha256 = "0ixxavmilr6na56yc148prbh3nlhcwir6rxqvh332cr8vr9gmp89";
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/1ef095d23cc043f5d14a9deea788ed71d90c586c/recipes/bbcode-mode";
+          sha256 = "1kfxzp0916gdphp4dkk4xbramsbqmg6mazvfqni86mra41rdq6sb";
           name = "bbcode-mode";
         };
         packageRequires = [];
@@ -2722,22 +2597,22 @@
           license = lib.licenses.free;
         };
       }) {};
-    beeminder = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    beeminder = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, org }:
     melpaBuild {
         pname = "beeminder";
-        version = "1.0.0";
+        version = "1.1.0";
         src = fetchFromGitHub {
           owner = "Sodaware";
           repo = "beeminder.el";
-          rev = "54cc1277f2a7667a7b0d999dc49ceffcf2862b44";
-          sha256 = "01d10algmi9a4xd7mzf7n3zxfs2qf5as66wx17mff5cd8dahxj1q";
+          rev = "3e95a669474e27cd51a16caea030456377f83062";
+          sha256 = "1bj9yzjvglnb0f4glh8fg478xlm5nqmd9jqm1casdj5m30i4kafn";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/7fabdb05de9b8ec18a3a566f99688b50443b6b44/recipes/beeminder";
           sha256 = "1cb8xmgsv23b464hpchm9f9i64p3fyf7aillrwk1aa2l1008kyww";
           name = "beeminder";
         };
-        packageRequires = [];
+        packageRequires = [ org ];
         meta = {
           homepage = "https://melpa.org/#/beeminder";
           license = lib.licenses.free;
@@ -3250,12 +3125,12 @@
     buffer-flip = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "buffer-flip";
-        version = "2.0";
+        version = "2.1";
         src = fetchFromGitHub {
           owner = "killdash9";
           repo = "buffer-flip.el";
-          rev = "868aa9e04438d57746e0b1f5a13bcb9b64061c05";
-          sha256 = "0b069g89b34s76ds3axmpiwl924fjd1jh6z6fdw5x0h0lj20pa87";
+          rev = "e093360e05164c78255866c1ac8f966aa38ba514";
+          sha256 = "1s35llycdhhclf9kl1q9l7zzzfqrnnvbiqv5csfw0mngfj0lz77f";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/3924870cac1392a7eaeeda34b92614c26c674d63/recipes/buffer-flip";
@@ -3562,27 +3437,6 @@
           license = lib.licenses.free;
         };
       }) {};
-    cake = callPackage ({ anything, cake-inflector, fetchFromGitHub, fetchurl, historyf, lib, melpaBuild }:
-    melpaBuild {
-        pname = "cake";
-        version = "1.4.3";
-        src = fetchFromGitHub {
-          owner = "k1LoW";
-          repo = "emacs-cake";
-          rev = "a7c9f3bee71eb3865060123d4d98e5397c2f967e";
-          sha256 = "0bvrwzjx93qyx97qqw0imvnkkx4w91yk99rnhcmk029zj1fy0kzg";
-        };
-        recipeFile = fetchurl {
-          url = "https://raw.githubusercontent.com/milkypostman/melpa/86ed5054ee2392a0e384443c945a5d4824238e95/recipes/cake";
-          sha256 = "06qlqrazz2jr08g44q73hx9vpp6xnjvkpd6ky108g0xc5p9q2hcr";
-          name = "cake";
-        };
-        packageRequires = [ anything cake-inflector historyf ];
-        meta = {
-          homepage = "https://melpa.org/#/cake";
-          license = lib.licenses.free;
-        };
-      }) {};
     cake-inflector = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, s }:
     melpaBuild {
         pname = "cake-inflector";
@@ -3604,27 +3458,6 @@
           license = lib.licenses.free;
         };
       }) {};
-    cake2 = callPackage ({ anything, cake-inflector, dash, f, fetchFromGitHub, fetchurl, historyf, ht, json ? null, lib, melpaBuild, s }:
-    melpaBuild {
-        pname = "cake2";
-        version = "2.1.0";
-        src = fetchFromGitHub {
-          owner = "k1LoW";
-          repo = "emacs-cake2";
-          rev = "0a9d0b3a1c49ba1730088416f50507f53221c70b";
-          sha256 = "15w21r0gqblbn9wlvb4wlm3706wf01r38mp465snjzi839f6sazb";
-        };
-        recipeFile = fetchurl {
-          url = "https://raw.githubusercontent.com/milkypostman/melpa/18e38d9cdb9f1a8cc05545c52c3a76265a9aa2ab/recipes/cake2";
-          sha256 = "03q8vqqjlhahgnyy976c46x52splwdjpmb9ngrj5c2z7d8n9145x";
-          name = "cake2";
-        };
-        packageRequires = [ anything cake-inflector dash f historyf ht json s ];
-        meta = {
-          homepage = "https://melpa.org/#/cake2";
-          license = lib.licenses.free;
-        };
-      }) {};
     calendar-norway = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "calendar-norway";
@@ -3751,6 +3584,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    call-graph = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, hierarchy, ivy, lib, melpaBuild, tree-mode }:
+    melpaBuild {
+        pname = "call-graph";
+        version = "0.1.0";
+        src = fetchFromGitHub {
+          owner = "beacoder";
+          repo = "call-graph";
+          rev = "0bbe292b1b9c7ba1d8a65ed5e475f6a53f5f9f27";
+          sha256 = "0kckjs7yg8d04nir5z3f00k05272kgma98794g0ycgfn1vrck0h0";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/a6acf099e2510c82b4b03e2f35051afc3d28af45/recipes/call-graph";
+          sha256 = "0cklr79gqqrb94jq8aq65wqriamay78vv9sd3jrvp86ixl3ig5xc";
+          name = "call-graph";
+        };
+        packageRequires = [ cl-lib emacs hierarchy ivy tree-mode ];
+        meta = {
+          homepage = "https://melpa.org/#/call-graph";
+          license = lib.licenses.free;
+        };
+      }) {};
     camcorder = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, names }:
     melpaBuild {
         pname = "camcorder";
@@ -3775,12 +3629,12 @@
     caml = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "caml";
-        version = "4.6.1";
+        version = "4.7.0beta2";
         src = fetchFromGitHub {
           owner = "ocaml";
           repo = "ocaml";
-          rev = "81dc8e8fcf923baa5e5208f9bc4228930c7c3d56";
-          sha256 = "0pn25c3v8xnihnyzk1w297ci5ca05hcdv46m21522sgpcinbvkc7";
+          rev = "c0bd6a27e138911560f43dc75d5fde2ade4d6cfe";
+          sha256 = "0z08mpvfa5jvbdxkx9wlarn1zpp01aaxasmy63cz452jr8zg0nll";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/d5a3263cdcc229b11a3e96edbf632d56f32c47aa/recipes/caml";
@@ -4400,6 +4254,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    citeproc = callPackage ({ dash, emacs, f, fetchFromGitHub, fetchurl, lib, melpaBuild, queue, s, string-inflection }:
+    melpaBuild {
+        pname = "citeproc";
+        version = "0.1.1";
+        src = fetchFromGitHub {
+          owner = "andras-simonyi";
+          repo = "citeproc-el";
+          rev = "6d68f52ebd150e035b33dcaa59d9e2aceab69b84";
+          sha256 = "04xz3y3j8k1pv5v6v9wqscqlpmgqi85fs3igrv8c9y0xagild29k";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/20aa56e9a4809cee1082224b1b4e65921a48bda1/recipes/citeproc";
+          sha256 = "1qphg2bg7vvjzgvnsscbyf40llxxh4aa2s2ffk8vsbfd4p8208cq";
+          name = "citeproc";
+        };
+        packageRequires = [ dash emacs f queue s string-inflection ];
+        meta = {
+          homepage = "https://melpa.org/#/citeproc";
+          license = lib.licenses.free;
+        };
+      }) {};
     cl-format = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "cl-format";
@@ -4772,12 +4647,12 @@
     cmake-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "cmake-mode";
-        version = "3.11.0pre1";
+        version = "3.11.0";
         src = fetchFromGitHub {
           owner = "Kitware";
           repo = "CMake";
-          rev = "02edf08be2b9476f442b702c6c00447912425cc2";
-          sha256 = "1ppq3g1525izfl4d8779rj6lq8jkgqh50wnbyb0cmj6bp7b7c9sz";
+          rev = "61fd4c742013a7f9139db190f936703b656540ff";
+          sha256 = "1iiyysw16asqj1c077gk6s9pqy8qij6d83kwxc59swc7xgcy1g0d";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/598723893ae4bc2e60f527a072efe6ed9d4e2488/recipes/cmake-mode";
@@ -5129,12 +5004,12 @@
     company-ansible = callPackage ({ company, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "company-ansible";
-        version = "0.6.0";
+        version = "0.7.0";
         src = fetchFromGitHub {
           owner = "krzysztof-magosa";
           repo = "company-ansible";
-          rev = "2c30c3bdb8316b27d5c1832b944cb146d00de456";
-          sha256 = "183hyy5vy7xs6hwsk8nrylck8w5czcqwzfx0wik4ppx8011jzis1";
+          rev = "42753d43333c6e4ad83797f0234149b76b463369";
+          sha256 = "1g93vnizl42k52ar47g7yn2csjyzsqvwb6siwbpfvjgbsr5d5d01";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/7b44cd4bd9f9a7c942ca3f3bd88b2ce61ffff130/recipes/company-ansible";
@@ -5486,12 +5361,12 @@
     company-php = callPackage ({ ac-php-core, cl-lib ? null, company, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "company-php";
-        version = "2.0.3";
+        version = "2.0.4";
         src = fetchFromGitHub {
           owner = "xcwen";
           repo = "ac-php";
-          rev = "cf9db85af2db9150e9d9b4fecad874e16ce43f0d";
-          sha256 = "0gm15f5l91sh7syf60lnvlfnf3vivbk36gddsf3yndiwfsqh7xd0";
+          rev = "326721527b2f88df7227cdc41708912b2f9c8494";
+          sha256 = "1rrjzaa1qqzbnwp6ykk4qbdqlrwprdg2z4xqsb8098p052jjdpii";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/ac283f1b65c3ba6278e9d3236e5a19734e42b123/recipes/company-php";
@@ -5681,12 +5556,12 @@
     company-web = callPackage ({ cl-lib ? null, company, dash, fetchFromGitHub, fetchurl, lib, melpaBuild, web-completion-data }:
     melpaBuild {
         pname = "company-web";
-        version = "2.0";
+        version = "2.1";
         src = fetchFromGitHub {
           owner = "osv";
           repo = "company-web";
-          rev = "935c65de0411ebbcb4f2223f31e756e093eaae07";
-          sha256 = "0kw0fc1lg7qd23fx26y9m543sql32n1dlvr4rg7bmq6im7dwz4hy";
+          rev = "f0cc9187c9c34f72ad71f5649a69c74f996bae9a";
+          sha256 = "1xcwwcy2866vzaqgn7hrl7j8k48mk74i4shm40v7ybacws47s9nr";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/company-web";
@@ -5825,6 +5700,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    conllu-mode = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, parsec }:
+    melpaBuild {
+        pname = "conllu-mode";
+        version = "0.1.0";
+        src = fetchFromGitHub {
+          owner = "odanoburu";
+          repo = "conllu-mode";
+          rev = "993fd6bc2b5c7b70815a3ecede1642f607513615";
+          sha256 = "0x6ga4h084qcf9h6nak7c66qq1slq907n64sqx41gnd3zbscmwxa";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/444f943baddfeafe29708d6d68aeeeedbb7aa7bd/recipes/conllu-mode";
+          sha256 = "1wffvvs8d0xcnz6mcm9rbr8imyj4npyc148yh0gzfzlgjm0fiz1v";
+          name = "conllu-mode";
+        };
+        packageRequires = [ cl-lib emacs parsec ];
+        meta = {
+          homepage = "https://melpa.org/#/conllu-mode";
+          license = lib.licenses.free;
+        };
+      }) {};
     connection = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "connection";
@@ -6059,12 +5955,12 @@
     counsel-etags = callPackage ({ counsel, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "counsel-etags";
-        version = "1.4.1";
+        version = "1.5.1";
         src = fetchFromGitHub {
           owner = "redguardtoo";
           repo = "counsel-etags";
-          rev = "9d70490b551503aac22241c8089a46e55dd3deba";
-          sha256 = "03yr0y3z0jgh8c1db43nq0888rr561f6ks5fmf254aibh63schff";
+          rev = "307638efaa172539e77fe425626eac99f7abf654";
+          sha256 = "0c0fqn9hin9738bcxib354al6pd64arj2pccacjiyg1sa5h3mwj3";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/87528349a3ab305bfe98f30c5404913272817a38/recipes/counsel-etags";
@@ -6122,12 +6018,12 @@
     counsel-tramp = callPackage ({ counsel, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "counsel-tramp";
-        version = "0.3.1";
+        version = "0.4.1";
         src = fetchFromGitHub {
           owner = "masasam";
           repo = "emacs-counsel-tramp";
-          rev = "d4c35e1aca724af6a0084362a027fdd70876d2c8";
-          sha256 = "0dflm700n9wzn2nrwlbrh1558zv0c9fzzrs43d1kqvzw98wihfz2";
+          rev = "3f5ae75a6bde00bffeb2877b4ed4bd45610c0dfa";
+          sha256 = "06dhhjrgpikzpdl1hck0ckjbx8yzx8jbymb3ajfxglgvrvid4l1k";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/e1822b735b6bd533f658bd64ddccda29e19e9a5e/recipes/counsel-tramp";
@@ -6143,12 +6039,12 @@
     coverage = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild, ov }:
     melpaBuild {
         pname = "coverage";
-        version = "0.2";
+        version = "0.3";
         src = fetchFromGitHub {
           owner = "trezona-lecomte";
           repo = "coverage";
-          rev = "f7e78bb9502d3893ef876274c992743f49c0a1a7";
-          sha256 = "01545iy2gaxyd4i8gawgxqi9gbkrjk20djhvc59finnjrblzccn3";
+          rev = "c73d984168955ca0f47f44b0464aa45282df42b6";
+          sha256 = "1kn61j91x4r4kc498y2jas5il4pc4qzhkj8392g2qiq5m3lbv4vl";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/cd70e138534551dd12ba4d165ba56fbd1e033241/recipes/coverage";
@@ -6605,12 +6501,12 @@
     cython-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "cython-mode";
-        version = "0.27.3";
+        version = "0.28.2";
         src = fetchFromGitHub {
           owner = "cython";
           repo = "cython";
-          rev = "8ad16fc871be075f889d5e7c2892db3e4c8ce978";
-          sha256 = "144mqqyaid6w9qx38m88snd3c8qm2k1a73vs21h9cmnp19gigfby";
+          rev = "93e3bb9b7558d597d10c4cb8aa1dd887ed37dc2b";
+          sha256 = "1cywxcfrb2j33ncldylimqhj7r7yzlb6ghy5i8c9784vfvxd56yh";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/be9bfabe3f79153cb859efc7c3051db244a63879/recipes/cython-mode";
@@ -6665,6 +6561,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    daemons = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "daemons";
+        version = "1.2.0";
+        src = fetchFromGitHub {
+          owner = "cbowdon";
+          repo = "daemons.el";
+          rev = "9e6868e2559ea7d70fbad8c419798124f406cc40";
+          sha256 = "00ijgm22ck76gw0x79krl05yy0m8a502yfakazfy5xhpn1zi6ab7";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/1f780485e72ae2885f698fdab0156855f70831f1/recipes/daemons";
+          sha256 = "14givkrw9p0m261hawahzi0n8jarapb63kv1s62faq57mqnq23jr";
+          name = "daemons";
+        };
+        packageRequires = [ emacs ];
+        meta = {
+          homepage = "https://melpa.org/#/daemons";
+          license = lib.licenses.free;
+        };
+      }) {};
     dante = callPackage ({ dash, emacs, f, fetchFromGitHub, fetchurl, flycheck, haskell-mode, lib, melpaBuild, s }:
     melpaBuild {
         pname = "dante";
@@ -6694,7 +6611,7 @@
           owner = "fommil";
           repo = "emacs-darcula-theme";
           rev = "2ecd466ffa7a3157b9ddcd7545b6fb8ad308c976";
-          sha256 = "1h5lssnc1am54hkprnp61bsj5fnm8j556q2gbhljfjgrdwnqv8ky";
+          sha256 = "1y8rsc63nl4n43pvn283f1vcpqyjnv6xl60fwyscwrqaz19bsnl1";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/23c8f10205187babb17e3abc3dc40eb1938e6640/recipes/darcula-theme";
@@ -6752,12 +6669,12 @@
     dash = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "dash";
-        version = "2.13.0";
+        version = "2.14.1";
         src = fetchFromGitHub {
           owner = "magnars";
           repo = "dash.el";
-          rev = "4ae329aa2160411c8b47794de067fcf29bc38a22";
-          sha256 = "12gvpn0a07kgbj2lrzw1vv4njp1w4gl38rl68yh0jp3rhvacbsg0";
+          rev = "a74f4cfcdc8d0642a9f602ad494f0354f27dacc9";
+          sha256 = "1kzijmjxjxgr7p8clphzvmm47vczckbs8mza9an77c25bn627ywl";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/57eed8767c3e98614259c408dc0b5c54d3473883/recipes/dash";
@@ -6773,12 +6690,12 @@
     dash-functional = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "dash-functional";
-        version = "2.13.0";
+        version = "2.14.1";
         src = fetchFromGitHub {
           owner = "magnars";
           repo = "dash.el";
-          rev = "4ae329aa2160411c8b47794de067fcf29bc38a22";
-          sha256 = "12gvpn0a07kgbj2lrzw1vv4njp1w4gl38rl68yh0jp3rhvacbsg0";
+          rev = "a74f4cfcdc8d0642a9f602ad494f0354f27dacc9";
+          sha256 = "1kzijmjxjxgr7p8clphzvmm47vczckbs8mza9an77c25bn627ywl";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/57eed8767c3e98614259c408dc0b5c54d3473883/recipes/dash-functional";
@@ -6857,12 +6774,12 @@
     datetime = callPackage ({ emacs, extmap, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "datetime";
-        version = "0.4";
+        version = "0.4.1";
         src = fetchFromGitHub {
           owner = "doublep";
           repo = "datetime";
-          rev = "2a92d80cdc7febf620cd184cf1204a68985d0e8b";
-          sha256 = "0lzdgnmvkvap5j8hvn6pidfnc2ax317sj5r6b2nahllhh53mlr4j";
+          rev = "d8674ac11f9ebb702e5bbac10a4a6e5542958ef5";
+          sha256 = "19d4wximzwdcs0i2r48k6m60wwxcx5f89jw75k4hr0wvx0352a82";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/91ef4352603cc69930ab3d63f0a90eee63f5f328/recipes/datetime";
@@ -7235,12 +7152,12 @@
     dim-autoload = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "dim-autoload";
-        version = "2.0.0";
+        version = "2.0.1";
         src = fetchFromGitHub {
           owner = "tarsius";
           repo = "dim-autoload";
-          rev = "c91edab065f413910354940742b35bdffeb52029";
-          sha256 = "0v4fgbh1byv89iiszifr31j4y2s95xwcq0g9iizxiww7mjrfggyi";
+          rev = "788320fe089fafbdf1cb09d2ab4d29d64a804e21";
+          sha256 = "0iyhjww7p274x418n1iw1xj2fkmn5k9icav0jyzbwmy83a2nmr52";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/66b1a81dfd09a2859ae996d5d8e3d704857a340f/recipes/dim-autoload";
@@ -7361,12 +7278,12 @@
     dired-fdclone = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "dired-fdclone";
-        version = "1.5.2";
+        version = "1.5.4";
         src = fetchFromGitHub {
           owner = "knu";
           repo = "dired-fdclone.el";
-          rev = "8144c013d46c55b0471f31cdc3b5ead303286cbf";
-          sha256 = "0lrc4082ghg77x5jl26hj8c7cp48yjvqhv4g3j0pznpzb4qyfnq0";
+          rev = "903d7a736d240ef7352989a4e5d0ff9129c2ee3c";
+          sha256 = "0vkdsm29g1cvvv1j8xgjwr94x20zx8k2wvmncrpakcwq6d47cfxw";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/8a0ddc10b11772d72a473e8d24ab4641bf4239a4/recipes/dired-fdclone";
@@ -7408,7 +7325,7 @@
           owner = "xuhdev";
           repo = "dired-icon";
           rev = "dbace8d2250f84487d31b39050fcdc260fcde804";
-          sha256 = "1d9105ibaw858gqp19rx2m6xm3hl57vzsmdqir883cy46qpvwhki";
+          sha256 = "0r9qmr2l5kjwh1frp0k87nyaf13f7f9fjjf9yf9z92djqapfm9dd";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/8a96249947cba52cd75515b3dc83b0842fedf624/recipes/dired-icon";
@@ -7471,7 +7388,7 @@
           owner = "xuhdev";
           repo = "dired-quick-sort";
           rev = "fe39cfb2d4a7ba6b30f98134548b4e4bac67c469";
-          sha256 = "1a9r1kz5irpvb2byabbf27sy7rjzaygfpqimpag41sj955wlgy9a";
+          sha256 = "014frvpszixn8cx7rdx704glmjbslv3py3kw0pb0xqf50k4scynf";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/4d278178128deb03a7b1d2e586dc38da2c7af857/recipes/dired-quick-sort";
@@ -7571,12 +7488,12 @@
     direnv = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, with-editor }:
     melpaBuild {
         pname = "direnv";
-        version = "1.3.0";
+        version = "1.4.0";
         src = fetchFromGitHub {
           owner = "wbolster";
           repo = "emacs-direnv";
-          rev = "5b55dac12467689083ff995777f54a304ff47be1";
-          sha256 = "0sjrnab8rx1bpnxim268b8jfpyh8h0iy3j38925r0jqjgjb19ksn";
+          rev = "03c4edffba45722a9511d6d10992578f140d095f";
+          sha256 = "1b8xp0yprpy1sc8hmim6jcdmgpc8yj6wjzgj4rdy77k7l96016v8";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/5419809ee62b920463e359c8e1314cd0763657c1/recipes/direnv";
@@ -7809,12 +7726,12 @@
     docker-compose-mode = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, yaml-mode }:
     melpaBuild {
         pname = "docker-compose-mode";
-        version = "1.0.0";
+        version = "1.1.0";
         src = fetchFromGitHub {
           owner = "meqif";
           repo = "docker-compose-mode";
-          rev = "ae25b0e01394f94995f4b0ceaab1e04eb4b9acbd";
-          sha256 = "14xri92dcj52vw1vhrnicibrn9y010zv8w7jw6j3q9lrpmr073lr";
+          rev = "7f4cd0b1718df2ab93d51bd395b2f37df9482265";
+          sha256 = "1fbcxwfvm33xcdj3cs26d9i1zyrryyjjkv7sc3mfxd45nq8d3ivj";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/37dd4c1fc11d22598c6faf03ccc860503a68b950/recipes/docker-compose-mode";
@@ -7895,14 +7812,14 @@
         pname = "doom";
         version = "1.3";
         src = fetchFromGitHub {
-          owner = "emacsorphanage";
+          owner = "kensanata";
           repo = "doom";
           rev = "5e2d3f54e5b84eaa533cbdb6cf17b1b6009f0730";
           sha256 = "04h1hlsc83w4dppw9m44jq7mkcpy0bblvnzrhvsh06pibjywdd73";
         };
         recipeFile = fetchurl {
-          url = "https://raw.githubusercontent.com/milkypostman/melpa/7e41ed64142be89a62fddeceee5e39603a18525c/recipes/doom";
-          sha256 = "098q77lix7kwpmarv26yndyk1yy1h4k3l9kaf3g7sg6ji6k7d3wl";
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/0960deb3b1d106ad2ffa95a44f34cb9efc026f01/recipes/doom";
+          sha256 = "1ji2fdiw5b13n76nv2wvkz6v155b0qgh1rxwmv3m5nnrbmklfjh5";
           name = "doom";
         };
         packageRequires = [ cl-lib ];
@@ -8103,12 +8020,12 @@
     dtrt-indent = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "dtrt-indent";
-        version = "0.6";
+        version = "0.7";
         src = fetchFromGitHub {
           owner = "jscheid";
           repo = "dtrt-indent";
-          rev = "3ea5136bde1240f93fbf3ce30fffc4f279a58d27";
-          sha256 = "0lkc8y09lhlpg7vrn2459c5fxn0nvxbzqhwadmkgc046i3aapqpg";
+          rev = "0ac070c9576e4ebab12cd6800ac2ac3abcecc2c1";
+          sha256 = "0dambn5l0wvbhccvhh5hbz9hw66y4mp1la3wj85dl9kgr7hq1ry7";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/61bcbcfa6c0f38a1d87f5b6913b8be6c50ef2994/recipes/dtrt-indent";
@@ -8145,12 +8062,12 @@
     dumb-jump = callPackage ({ dash, emacs, f, fetchFromGitHub, fetchurl, lib, melpaBuild, popup, s }:
     melpaBuild {
         pname = "dumb-jump";
-        version = "0.5.1";
+        version = "0.5.2";
         src = fetchFromGitHub {
           owner = "jacktasia";
           repo = "dumb-jump";
-          rev = "64c0759432334465ccea115d83600b468f86e3be";
-          sha256 = "00vhxd7z7fw2cwdzgvfbdzfp668dfaw83c95kkicmmdzlabiz50i";
+          rev = "260054500d4731c36574b6cbc519de29fdd22f43";
+          sha256 = "00ph85vp8sa3k99qrdxfz4l8zx121q9xf47vvspzg26bk9l4nwin";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/dumb-jump";
@@ -8354,12 +8271,12 @@
     eacl = callPackage ({ emacs, fetchFromGitHub, fetchurl, ivy, lib, melpaBuild }:
     melpaBuild {
         pname = "eacl";
-        version = "1.1.1";
+        version = "1.1.2";
         src = fetchFromGitHub {
           owner = "redguardtoo";
           repo = "eacl";
-          rev = "ec601f3a8da331dd0a9e7a93d40ae3925bd06700";
-          sha256 = "1kgayh2q97rxzds5ba1zc9ah08kbah9lqbwhmb7pxxgvgx9yfagg";
+          rev = "80113a9f6cc246cef67e3e20ec052788c38ab116";
+          sha256 = "1pwppn0m288d6j9b7cdshgc3rxv0nfs94klc1fpsyfxqx0a6f23z";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/8223bec7eed97f0bad300af9caa4c8207322d39a/recipes/eacl";
@@ -8372,22 +8289,22 @@
           license = lib.licenses.free;
         };
       }) {};
-    easy-hugo = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    easy-hugo = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, popup }:
     melpaBuild {
         pname = "easy-hugo";
-        version = "2.8.21";
+        version = "3.2.24";
         src = fetchFromGitHub {
           owner = "masasam";
           repo = "emacs-easy-hugo";
-          rev = "61a504616705feae8c3fd8b01bf315e2cb89f699";
-          sha256 = "1lr2hbz4gxcn2r5m3hx4izk8aawgy0fls0isp6cvcgs1s54s2kxi";
+          rev = "fbcd7dfd737e6ec90f7bee6a911ff66e86577a64";
+          sha256 = "1yabqf8mksadfab7pfk87a3yimda3x6la2kvrxf76kbzbl23h3dx";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/easy-hugo";
           sha256 = "1m7iw6njxxsk82agyqay277iql578b3wz6z9wjs8ls30ps8s2b8g";
           name = "easy-hugo";
         };
-        packageRequires = [ emacs ];
+        packageRequires = [ emacs popup ];
         meta = {
           homepage = "https://melpa.org/#/easy-hugo";
           license = lib.licenses.free;
@@ -8396,12 +8313,12 @@
     easy-jekyll = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "easy-jekyll";
-        version = "1.5.12";
+        version = "1.6.13";
         src = fetchFromGitHub {
           owner = "masasam";
           repo = "emacs-easy-jekyll";
-          rev = "9a66d5c5dddac7d5b924df0c3bb414d3f797d8a5";
-          sha256 = "0qx6lgpg2szjgy1a3a856klm7vh544braq8v2s7f81lq0ks2bjhj";
+          rev = "742366a2eb8bdb3d91e108e701ca8a1e83084671";
+          sha256 = "1i3pxg5mskbk2zmcavbd78sr9l45qqcjjfp3p0i8q5kbm9zjr5fm";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/c3f281145bad12c27bdbef32ccc07b6a5f13b577/recipes/easy-jekyll";
@@ -8919,12 +8836,12 @@
     ein = callPackage ({ auto-complete, cl-generic, dash, deferred, fetchFromGitHub, fetchurl, lib, melpaBuild, request, request-deferred, s, skewer-mode, websocket }:
     melpaBuild {
         pname = "ein";
-        version = "0.13.0";
+        version = "0.14.1";
         src = fetchFromGitHub {
           owner = "millejoh";
           repo = "emacs-ipython-notebook";
-          rev = "213cea559e7a8fb50e303ea25e1626fefddaf4bd";
-          sha256 = "18ysd78pfyymqd0f6ipma9p9x61pw21f0jwk118r5yi00wnry9za";
+          rev = "fcf9bff0af071f5e2020ac77d9a9473325e4c5bb";
+          sha256 = "1xk7k4av9hy0i7zqwpzis0rjp5myvxs52k45ah00zg8wi5hybq1x";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/215e163755fe391ce1f049622e7b9bf9a8aea95a/recipes/ein";
@@ -9265,12 +9182,12 @@
     elfeed-protocol = callPackage ({ cl-lib ? null, elfeed, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "elfeed-protocol";
-        version = "0.5.2";
+        version = "0.5.3";
         src = fetchFromGitHub {
           owner = "fasheng";
           repo = "elfeed-protocol";
-          rev = "e809a0f1c5b9713ec8d1932fa6412c57bc10150b";
-          sha256 = "0ly7g9a85r5vm8fr45km43vdl9jbzdqyiy9a7d95wx63p6aip7vs";
+          rev = "611a1f57373e3692abf5122652ea7f6f96d3f6ec";
+          sha256 = "0z9xij39p6m2855ksk40qaf830d04smhl3ag9gjb4fhzvw671k76";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/3f1eef8add7cd2cfefe6fad6d8e69d65696e9677/recipes/elfeed-protocol";
@@ -9304,6 +9221,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    elisp-def = callPackage ({ dash, emacs, f, fetchFromGitHub, fetchurl, lib, melpaBuild, s }:
+    melpaBuild {
+        pname = "elisp-def";
+        version = "1.0";
+        src = fetchFromGitHub {
+          owner = "Wilfred";
+          repo = "elisp-def";
+          rev = "5e0d766a5db537f4e7145c2053c22829d736ceba";
+          sha256 = "0l9az09yw40rr2xrvf01c3idfqplddr1kk880qscnzj8v9p06l4x";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/1f027b844efdc5946d2ad80d7052a8f3b96aac3d/recipes/elisp-def";
+          sha256 = "1y29nsgjv9nb03g0jc5hb1a8k23r54ivdlv9h0a384cig8i91hsz";
+          name = "elisp-def";
+        };
+        packageRequires = [ dash emacs f s ];
+        meta = {
+          homepage = "https://melpa.org/#/elisp-def";
+          license = lib.licenses.free;
+        };
+      }) {};
     elisp-lint = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "elisp-lint";
@@ -9538,12 +9476,12 @@
     elpy = callPackage ({ company, emacs, fetchFromGitHub, fetchurl, find-file-in-project, highlight-indentation, lib, melpaBuild, pyvenv, s, yasnippet }:
     melpaBuild {
         pname = "elpy";
-        version = "1.18.0";
+        version = "1.19.0";
         src = fetchFromGitHub {
           owner = "jorgenschaefer";
           repo = "elpy";
-          rev = "30cb5e3c344edef572b6cffac94c6ff80bf6595f";
-          sha256 = "17iwdaly9kw17ih86rk9w1iswn8r6vvj9sh71picsxg6gqdrqnrk";
+          rev = "8b04039b8112fd18392861718dc30ba011626dee";
+          sha256 = "0yyn1a8sdn8avmwmlg98365irr9b2rx2jrjxs3y93d1bhlmr816i";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/1d8fcd8745bb15402c9f3b6f4573ea151415237a/recipes/elpy";
@@ -9564,6 +9502,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    elscreen = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "elscreen";
+        version = "2018snapshot3snapshot21";
+        src = fetchFromGitHub {
+          owner = "knu";
+          repo = "elscreen";
+          rev = "02164afab2c5fbff6e4aa7c59e0daedc6c504772";
+          sha256 = "1jzp7w2c9xl8x8kdxcchgp8s3ygvj70pi2vwwg1qilkya7yv61p0";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/e6140694c1dea0a573586d23d1f63d46c9b22936/recipes/elscreen";
+          sha256 = "1mlqbw14ilk6d3ba38kfw50pnlhb9f6sm5hy9dw58gp59siark5s";
+          name = "elscreen";
+        };
+        packageRequires = [ emacs ];
+        meta = {
+          homepage = "https://melpa.org/#/elscreen";
+          license = lib.licenses.free;
+        };
+      }) {};
     elscreen-fr = callPackage ({ elscreen, fetchFromGitHub, fetchurl, lib, melpaBuild, seq }:
     melpaBuild {
         pname = "elscreen-fr";
@@ -9630,12 +9589,12 @@
     elx = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "elx";
-        version = "1.2.1";
+        version = "1.2.2";
         src = fetchFromGitHub {
           owner = "emacscollective";
           repo = "elx";
-          rev = "9f32e91ebbaebd7f1125107dce2aa979827b26c0";
-          sha256 = "1hc4jw2fy25ri2hh3xw7sp67yfl2jvrgj1a25xa6svchjq3h1yf2";
+          rev = "c5fb4853d8a7d266c8d484522cbaa6b31e745695";
+          sha256 = "1lc9kdflssp4j220p252hskd5ikl0fbvhqp6fksfynrj1j02p4jg";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/57a2fb9524df3fdfdc54c403112e12bd70888b23/recipes/elx";
@@ -9923,12 +9882,12 @@
     emms-player-mpv = callPackage ({ emms, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "emms-player-mpv";
-        version = "0.0.13";
+        version = "0.1.0";
         src = fetchFromGitHub {
           owner = "dochang";
           repo = "emms-player-mpv";
-          rev = "6d526fe618c3cebf7fbc5f0d3f0a225de16a76c7";
-          sha256 = "0jq67lngpz7iqwqfsl95r5p26cnnq7ldcj534nm86hwm6jfij564";
+          rev = "ccc0090ba1ebaad6bd3b079d6d810e9a051218b3";
+          sha256 = "1jy7zc26ypwl46ag26gbspbn7p4lf3jxgb34l8blqzk8qn8fxz0c";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/9679cb8d4b3b9dce1e0bff16647ea3f3e02c4189/recipes/emms-player-mpv";
@@ -10028,12 +9987,12 @@
     emojify = callPackage ({ emacs, fetchFromGitHub, fetchurl, ht, lib, melpaBuild, seq }:
     melpaBuild {
         pname = "emojify";
-        version = "0.4";
+        version = "1.0";
         src = fetchFromGitHub {
           owner = "iqbalansari";
           repo = "emacs-emojify";
-          rev = "4eccfc7ce43d4dfd3cf65ea86b2975abb4b4e9ad";
-          sha256 = "1n5pmcd6d71pcgjwkqnmh6midcyp7ahc5yry3r38my3shrwirqc2";
+          rev = "9fac58de9b8f7539bfd4c6983bc826e27d060b30";
+          sha256 = "1z5j4nr9c6806f6ys4p3b2byxca7zc34ap1bysai8nvzxz02rzf6";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/488d2751b5fd3bf00f5a6f0545530f44563b86d7/recipes/emojify";
@@ -10101,12 +10060,12 @@
     enh-ruby-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "enh-ruby-mode";
-        version = "20171101";
+        version = "20180330";
         src = fetchFromGitHub {
           owner = "zenspider";
           repo = "enhanced-ruby-mode";
-          rev = "9467cd7fc8b6bb3caf644b223e3046fc32013ccb";
-          sha256 = "0spsgfkka6sld8ac3m2biydyp8xj84vxa0w7apqvhhmfk3klbbhf";
+          rev = "c9c39ff07f8cf45814071a77b559477bd57bc3b1";
+          sha256 = "1w563cnxadmjbfnwbazqazrpmw2k5xyk4yaxgfk2glxahk4dr0fn";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/cd1ac1ce69b77b11f34c4175611a852e7ec0806c/recipes/enh-ruby-mode";
@@ -10339,12 +10298,12 @@
     erc-hl-nicks = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "erc-hl-nicks";
-        version = "1.3.2";
+        version = "1.3.3";
         src = fetchFromGitHub {
           owner = "leathekd";
           repo = "erc-hl-nicks";
-          rev = "be181920ce6af0ab5d00d1c638e4e598b3998643";
-          sha256 = "1k0g3bwp3w0dd6zwdv6k2wpqs2krjayilrzsr1hli649ljcx55d7";
+          rev = "756c4438a8245ccd3e389bf6c9850ee8453783ec";
+          sha256 = "0c82rxpl5v7bbxirf1ksg06xv5xcddh8nkrpj7i6nvfarwdfnk4f";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/erc-hl-nicks";
@@ -10486,12 +10445,12 @@
     erlang = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "erlang";
-        version = "20.2.4";
+        version = "20.3.2";
         src = fetchFromGitHub {
           owner = "erlang";
           repo = "otp";
-          rev = "13c6a4bf01d39a5002e09ef1f82619cde9f2c90c";
-          sha256 = "1j8fqzaw36j8naafrrq1s329jlvlb06ra1f03hl76xr0bbxm44ks";
+          rev = "c5ee502e6031986983d3596745cad7fd547fd9c2";
+          sha256 = "0cd7rz32cxghxb2q7g3p52sxbhwqn4pkjlf28hy1dms6q7f85zv1";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/d9cd526f43981e0826af59cdc4bb702f644781d9/recipes/erlang";
@@ -10860,22 +10819,22 @@
           license = lib.licenses.free;
         };
       }) {};
-    eslintd-fix = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    eslintd-fix = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "eslintd-fix";
-        version = "1.0.0";
+        version = "1.1.0";
         src = fetchFromGitHub {
           owner = "aaronjensen";
           repo = "eslintd-fix";
-          rev = "555fdad8ebee4ca0d990b8c80151c77c8bd6b773";
-          sha256 = "0xmlr98gyq56vas02nnjdfv7x6zjddy4b1qpy3zz770jnpnrgq33";
+          rev = "97e8aa9b106e3e4b3a44c775ca972bdd2feda9ec";
+          sha256 = "1g6bv58m1052x2f5ffs17ryyqv0ay8vii5bwqs7dyfhlpppsn6c8";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/c72d2b3ee9b8066d51d09e165e58e9846ca879cc/recipes/eslintd-fix";
           sha256 = "0lv4xpp9bm1yyn9mj7hpgw1v46yyxr0nlwggbav78jbg4v7ai04v";
           name = "eslintd-fix";
         };
-        packageRequires = [];
+        packageRequires = [ dash emacs ];
         meta = {
           homepage = "https://melpa.org/#/eslintd-fix";
           license = lib.licenses.free;
@@ -11010,12 +10969,12 @@
     eterm-256color = callPackage ({ emacs, f, fetchFromGitHub, fetchurl, lib, melpaBuild, xterm-color }:
     melpaBuild {
         pname = "eterm-256color";
-        version = "0.3.12";
+        version = "0.3.13";
         src = fetchFromGitHub {
           owner = "dieggsy";
           repo = "eterm-256color";
-          rev = "89b20de890bc890331abe2d5e27a7e3129cde7b8";
-          sha256 = "1bh0wqz2wkp8i1g8r8wgqzny0f5igflca5hkwq9p8ql84jkwlm69";
+          rev = "dab96af559deb443c4c9c00e23389926e1607192";
+          sha256 = "0ysxblc90kjcz84siprnyxwh94scflivqbxylzkvjm7hbx93rsh1";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/e556383f7e18c0215111aa720d4653465e91eff6/recipes/eterm-256color";
@@ -11427,22 +11386,22 @@
           license = lib.licenses.free;
         };
       }) {};
-    evil-nerd-commenter = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    evil-nerd-commenter = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "evil-nerd-commenter";
-        version = "3.1.3";
+        version = "3.2.3";
         src = fetchFromGitHub {
           owner = "redguardtoo";
           repo = "evil-nerd-commenter";
-          rev = "41d43709210711c07de69497c5f7db646b7e7a96";
-          sha256 = "04xjbsgydfb3mi2jg5fkkvp0rvjpx3mdx8anxzjqzdry7nir3m14";
+          rev = "34d411715ead5829d6d8969511047feb703b067e";
+          sha256 = "0ax846dy2hbrbvkj7nzfkcl5i1x9rga8bvg0ln55ivhq0iiy1lkv";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a3e1ff69e7cc95a5b5d628524ad836833f4ee736/recipes/evil-nerd-commenter";
           sha256 = "1pa5gh065hqn5mhs47qvjllwdwwafl0clk555mb6w7svq58r6i8d";
           name = "evil-nerd-commenter";
         };
-        packageRequires = [];
+        packageRequires = [ emacs ];
         meta = {
           homepage = "https://melpa.org/#/evil-nerd-commenter";
           license = lib.licenses.free;
@@ -11910,22 +11869,22 @@
           license = lib.licenses.free;
         };
       }) {};
-    exato = callPackage ({ evil, fetchFromGitHub, fetchurl, lib, melpaBuild, thingatpt-plus }:
+    exato = callPackage ({ emacs, evil, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "exato";
-        version = "0.0.5";
+        version = "0.0.6";
         src = fetchFromGitHub {
           owner = "ninrod";
           repo = "exato";
-          rev = "ba21cd2c8d0588e1c70ba89ebad6df247605e03f";
-          sha256 = "12xqysbdnkvz220qf0jz2v40809hcmdmga10ac74yhg00h25nll6";
+          rev = "70f7ca2a4c6de0392e5e54ac4f16c96daa106be6";
+          sha256 = "0ns43whqcq3cv9vh8wbakj5fgs0lsn8f3q1rgl4rw4mfgbvv85pm";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/939efbcb9b40a2df5ef14e653fb242a8e37c72f9/recipes/exato";
           sha256 = "1h2dd3yhv1n0sznznw8ncx98g53hgi1rg1zkd0nmldih2rd5qisn";
           name = "exato";
         };
-        packageRequires = [ evil thingatpt-plus ];
+        packageRequires = [ emacs evil ];
         meta = {
           homepage = "https://melpa.org/#/exato";
           license = lib.licenses.free;
@@ -12077,22 +12036,30 @@
           license = lib.licenses.free;
         };
       }) {};
-    exwm-x = callPackage ({ bind-key, cl-lib ? null, exwm, fetchFromGitHub, fetchurl, lib, melpaBuild, swiper, switch-window }:
+    exwm-x = callPackage ({ bind-key, cl-lib ? null, counsel, exwm, fetchFromGitHub, fetchurl, ivy, lib, melpaBuild, swiper, switch-window }:
     melpaBuild {
         pname = "exwm-x";
-        version = "1.7.2";
+        version = "1.8.1";
         src = fetchFromGitHub {
           owner = "tumashu";
           repo = "exwm-x";
-          rev = "e50edd9e4174b729fdbc5750221c5e49b772e9c5";
-          sha256 = "0kx4db5mdm295d4gyx88xjgivhsnl6f5p24smvwi1wf3jv35rnds";
+          rev = "4f7946db67d6599baba6b3961e8f543a68707742";
+          sha256 = "00lcn5106xig2y9gyir1f1gzyp2i05rwq1lbbbah8aipkdi3z9xl";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a0e6e23bcffdcd1e17c70599c563609050e5de40/recipes/exwm-x";
           sha256 = "1d9q57vz63sk3h1g5gvp9xnmqkpa73wppmiy2bv8mxk11whl6xa3";
           name = "exwm-x";
         };
-        packageRequires = [ bind-key cl-lib exwm swiper switch-window ];
+        packageRequires = [
+          bind-key
+          cl-lib
+          counsel
+          exwm
+          ivy
+          swiper
+          switch-window
+        ];
         meta = {
           homepage = "https://melpa.org/#/exwm-x";
           license = lib.licenses.free;
@@ -12122,12 +12089,12 @@
     eziam-theme = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "eziam-theme";
-        version = "0.4.5";
+        version = "1.0";
         src = fetchFromGitHub {
           owner = "thblt";
           repo = "eziam-theme-emacs";
-          rev = "4a79230739cfaa607f39fbfe53339692b83c3933";
-          sha256 = "0cdaayp2ca6wcqh11snmc50p4gl6sika58jxvn5dklsipzxv75v8";
+          rev = "a2bdda95f840c15240975c32b66d4d1e0682a1e1";
+          sha256 = "1z0m3pzhyif1rx8g4gzg1wfdqdkxdaahjjq8hx2fj4k4l16bia99";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/4e0411583bd4fdbe425eb07de98851136fa1eeb0/recipes/eziam-theme";
@@ -12224,6 +12191,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    faff-theme = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "faff-theme";
+        version = "2.0";
+        src = fetchFromGitHub {
+          owner = "WJCFerguson";
+          repo = "emacs-faff-theme";
+          rev = "0835c25b5e4ae7a79f0c1c4c44867f2d2e73b642";
+          sha256 = "0msh7w8qmrd9977zamyh0qifzf5bwl6g1012gc8lsr995c6gwm87";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/0b35c169fe56a5612ff5a4242140f617fdcae14f/recipes/faff-theme";
+          sha256 = "1dmwbkp94zsddy0brs3mkdjr09n69maw2mrdfhriqcdk56qpwp4g";
+          name = "faff-theme";
+        };
+        packageRequires = [];
+        meta = {
+          homepage = "https://melpa.org/#/faff-theme";
+          license = lib.licenses.free;
+        };
+      }) {};
     fancy-battery = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "fancy-battery";
@@ -12412,6 +12400,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    fill-function-arguments = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "fill-function-arguments";
+        version = "0.9";
+        src = fetchFromGitHub {
+          owner = "davidshepherd7";
+          repo = "fill-function-arguments";
+          rev = "e819fca19a138ae67201220e41fe1d4384fb2a42";
+          sha256 = "102aalb7bfvjgf1klqsx6mn5a4vfjq63kwn7wqs9cmlib1mp8vnf";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/b78eab67517b19516e5d265018afcbff0acfa9ec/recipes/fill-function-arguments";
+          sha256 = "1gigzzz2csl3a55jmjx391a5k3ymixnwpblsn0pfgkkk4p3674q0";
+          name = "fill-function-arguments";
+        };
+        packageRequires = [ emacs ];
+        meta = {
+          homepage = "https://melpa.org/#/fill-function-arguments";
+          license = lib.licenses.free;
+        };
+      }) {};
     finalize = callPackage ({ cl-generic, cl-lib ? null, eieio ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "finalize";
@@ -12457,12 +12466,12 @@
     find-file-in-project = callPackage ({ emacs, fetchFromGitHub, fetchurl, ivy, lib, melpaBuild }:
     melpaBuild {
         pname = "find-file-in-project";
-        version = "5.5.2";
+        version = "5.6.4";
         src = fetchFromGitHub {
           owner = "technomancy";
           repo = "find-file-in-project";
-          rev = "aba912a73d1f3fcff0d184b49008a2fa1655ad7e";
-          sha256 = "145n04lid9alrm8nl6gfnll75jz1ssli48pbsc9zyva00ryk83my";
+          rev = "5691beb79f78c6a0ef1a18460df9fd1571ec3361";
+          sha256 = "0mvli1r7ml596y6v9qsip76j78f58q6jnwb18j8c7rngsrg08rc4";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/cae2ac3513e371a256be0f1a7468e38e686c2487/recipes/find-file-in-project";
@@ -12583,12 +12592,12 @@
     fish-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "fish-mode";
-        version = "0.1.3";
+        version = "0.1.4";
         src = fetchFromGitHub {
           owner = "wwwjfy";
           repo = "emacs-fish";
-          rev = "cd0387f7f1d5c50e080091f86ca97d8a67d603a6";
-          sha256 = "0q4cq1rkiz5mjxhp7p5awmw59q1yjb2sryc9i54cwhr5dwwqf95k";
+          rev = "bac709ac1235751952d6022dddc6307d9135d096";
+          sha256 = "0a74ghmjjrxfdhk4mvq6lar4w6l6lc4iilabs99smqr2fn5rsslq";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/efac97c0f54a3300251020c4626056526c18b441/recipes/fish-mode";
@@ -12776,22 +12785,22 @@
           license = lib.licenses.free;
         };
       }) {};
-    flower = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    flower = callPackage ({ clomacs, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "flower";
-        version = "0.3.6";
+        version = "0.4.1";
         src = fetchFromGitHub {
           owner = "PositiveTechnologies";
           repo = "flower";
-          rev = "2c89a7b0bc9d7b2e95d98e159a059d41ae43933f";
-          sha256 = "1ilj0wa53qs8863d7ri9k8m57jd4n2zm3ijs3s2i7fn8a3svmmhy";
+          rev = "98c53b03da698833058b9ad6b6eb8be46cfd00f6";
+          sha256 = "08wq66gvqy14mcpm8x14xz3hvw4h7rcd5ivynma91d4358qrmqap";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/c8a731715d360aea9af2b898242fd4eee5419d14/recipes/flower";
           sha256 = "1cb9ppgspdrg4yrrlq4sfajpa6s7xiwvdf9b3947rmmxizgqgynd";
           name = "flower";
         };
-        packageRequires = [];
+        packageRequires = [ clomacs emacs ];
         meta = {
           homepage = "https://melpa.org/#/flower";
           license = lib.licenses.free;
@@ -13262,12 +13271,12 @@
     flycheck-objc-clang = callPackage ({ emacs, fetchFromGitHub, fetchurl, flycheck, lib, melpaBuild }:
     melpaBuild {
         pname = "flycheck-objc-clang";
-        version = "2.0.1";
+        version = "2.0.2";
         src = fetchFromGitHub {
           owner = "GyazSquare";
           repo = "flycheck-objc-clang";
-          rev = "07f17d1dbe878fdcabac791a8916ddf643571a68";
-          sha256 = "03624xn6g1ybcjw634c7nd5s2yllwfffk2gzn5hm70vfz06q7wb9";
+          rev = "f4a76ac199b67ff383ab5e70434c9b98b48c92d5";
+          sha256 = "0ryanx4vmy9jwqjnwvma6dm136y4fh227cyhz206km6595bbn3nc";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/4ff4412f507371b93cfb85fc744e54110cd87338/recipes/flycheck-objc-clang";
@@ -13388,12 +13397,12 @@
     flycheck-pycheckers = callPackage ({ fetchFromGitHub, fetchurl, flycheck, lib, melpaBuild }:
     melpaBuild {
         pname = "flycheck-pycheckers";
-        version = "0.5";
+        version = "0.8";
         src = fetchFromGitHub {
           owner = "msherry";
           repo = "flycheck-pycheckers";
-          rev = "6f7c6d7db4d3209897c4b15511bfaed4562ac5e4";
-          sha256 = "0mg2165zsrkn8w7anjyrfgkr66ynhm1fv43f5p8wg6g0afss9763";
+          rev = "facb6e6cff7baaf38cf4e76a3e27a508225fc3f7";
+          sha256 = "061iahihq348ncbx9zh8ihca6j2fkc1nygk5f7v2q4j2g7kmfv8n";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/af36dca316b318d25d65c9e842f15f736e19ea63/recipes/flycheck-pycheckers";
@@ -13493,12 +13502,12 @@
     flycheck-swift3 = callPackage ({ emacs, fetchFromGitHub, fetchurl, flycheck, lib, melpaBuild }:
     melpaBuild {
         pname = "flycheck-swift3";
-        version = "2.0.1";
+        version = "2.0.2";
         src = fetchFromGitHub {
           owner = "GyazSquare";
           repo = "flycheck-swift3";
-          rev = "34973cd28ca5e63f8f6328a17fd7b78cc913b93d";
-          sha256 = "1iy6j05dzpi7pi87y6rpjzmlnl2s9izqpbzknis2kx9072qddm3q";
+          rev = "06a6f98d7e498860b345bbd03e96bfe59608f508";
+          sha256 = "0h1n4x0fvqfb6jcapbab1ck6bj4d7irbn9zz2hxv2rlrkqxfsmh3";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/f1fb8c731c118327dc0bbb726e046fec46bcfb82/recipes/flycheck-swift3";
@@ -14078,27 +14087,6 @@
           license = lib.licenses.free;
         };
       }) {};
-    fm = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
-    melpaBuild {
-        pname = "fm";
-        version = "1.0";
-        src = fetchFromGitHub {
-          owner = "emacsmirror";
-          repo = "fm";
-          rev = "6266840de17ac396dd7275a71da72cd5120c35a6";
-          sha256 = "0r2j238iyxnww60xpbxggjmz6y2waayw4m51f0l39hszbhags2cv";
-        };
-        recipeFile = fetchurl {
-          url = "https://raw.githubusercontent.com/milkypostman/melpa/e4a74b87c05b408433545a2236000ac081af36bf/recipes/fm";
-          sha256 = "118d8fbhlv6i2rsyfqdhi841p96j7q4fab5qdg95ip40wq02dg4f";
-          name = "fm";
-        };
-        packageRequires = [];
-        meta = {
-          homepage = "https://melpa.org/#/fm";
-          license = lib.licenses.free;
-        };
-      }) {};
     fn = callPackage ({ cl-lib ? null, dash, dash-functional, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "fn";
@@ -14141,27 +14129,6 @@
           license = lib.licenses.free;
         };
       }) {};
-    fold-dwim = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
-    melpaBuild {
-        pname = "fold-dwim";
-        version = "1.2";
-        src = fetchFromGitHub {
-          owner = "emacsmirror";
-          repo = "fold-dwim";
-          rev = "4764b0246a722d37eb8ec9f204ffaccaad1755d0";
-          sha256 = "1k8z30imlxvqm7lv12kgqdfgc5znxyvl9jxi8j2ymmwlgy11f726";
-        };
-        recipeFile = fetchurl {
-          url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/fold-dwim";
-          sha256 = "1c8sh6i453jpfhwaqdvlqibnb9lmzfd7q6bvnk1b1q0df7igl53d";
-          name = "fold-dwim";
-        };
-        packageRequires = [];
-        meta = {
-          homepage = "https://melpa.org/#/fold-dwim";
-          license = lib.licenses.free;
-        };
-      }) {};
     fold-dwim-org = callPackage ({ fetchFromGitHub, fetchurl, fold-dwim, lib, melpaBuild }:
     melpaBuild {
         pname = "fold-dwim-org";
@@ -14333,12 +14300,12 @@
     fountain-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "fountain-mode";
-        version = "2.5.0";
+        version = "2.5.3";
         src = fetchFromGitHub {
           owner = "rnkn";
           repo = "fountain-mode";
-          rev = "ee20f7a3bcb86b661a38480acf853c1da2db6d26";
-          sha256 = "0y7ji7p3blgzbwsz434346g835hzjs896hd7jli1ig0b9b0l43my";
+          rev = "8269066a9035fcf50eb835de3745a62c1cb96660";
+          sha256 = "1s1wyhjdyp12iz3zk333z5wlbxl5x3hki9q16164fk9ifhkrppxd";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/913386ac8d5049d37154da3ab32bde408a226511/recipes/fountain-mode";
@@ -14372,6 +14339,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    frameshot = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "frameshot";
+        version = "0.1.1";
+        src = fetchFromGitHub {
+          owner = "tarsius";
+          repo = "frameshot";
+          rev = "4e7b252e9fd9227de8b25f384af2c855ec45279a";
+          sha256 = "020irzkqr7gs99xsvdd0haja0jvw46dk40xi7ab0m3cq7957srjh";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/e5cfaa4b5fda97054d45691fad9d79b559f2df14/recipes/frameshot";
+          sha256 = "1z5f988m9s25miyxbhaxk6m4af9afvblb2p5mdidva04szjklr70";
+          name = "frameshot";
+        };
+        packageRequires = [ emacs ];
+        meta = {
+          homepage = "https://melpa.org/#/frameshot";
+          license = lib.licenses.free;
+        };
+      }) {};
     free-keys = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "free-keys";
@@ -14551,12 +14539,12 @@
     futhark-mode = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "futhark-mode";
-        version = "0.3.1";
+        version = "0.4.1";
         src = fetchFromGitHub {
           owner = "HIPERFIT";
           repo = "futhark";
-          rev = "631c493b97b3e2f928892fb25fa29daca4927f83";
-          sha256 = "1a6qr5r62q84m1jcs1xj36p7jr9c042gh38lb7cmfcxf2x693h68";
+          rev = "784e3147196bfe82ea9499628467335ea1d036f9";
+          sha256 = "07dqqpacvap034jzvdvnpjyryzicbvjx2imnsghsxw9m52jsb9wn";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/0607f01aad7e77d53595ad8db95d32acfd29b148/recipes/futhark-mode";
@@ -14614,12 +14602,12 @@
     fwb-cmds = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "fwb-cmds";
-        version = "1.1.0";
+        version = "1.1.1";
         src = fetchFromGitHub {
           owner = "tarsius";
           repo = "fwb-cmds";
-          rev = "7d4abf8aa13b2235e4e2f0bb9049ebd6b491f710";
-          sha256 = "10xjs8gm9l3riffxip1ffg8xhcf8srffh01yn6ifyln5f70b063d";
+          rev = "90258a5c7dbbaa2ac227e0fb4ff6c7d5aec3628f";
+          sha256 = "1xwvv8wjgdaz96v1x1xc5w697bfvcanlcixd0n5qbx6ryakqrb72";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/fe40cdeb5e19628937820181479897acdad40200/recipes/fwb-cmds";
@@ -14674,22 +14662,22 @@
           license = lib.licenses.free;
         };
       }) {};
-    gams-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    gams-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "gams-mode";
-        version = "6.3";
+        version = "6.5";
         src = fetchFromGitHub {
           owner = "ShiroTakeda";
           repo = "gams-mode";
-          rev = "900e1788695d91dde2a3d7fee97681a3380285de";
-          sha256 = "1lix0x2gj6lrcx6imr5w3scyix99526fwpx0vzs1dzxfzglscjja";
+          rev = "3022e9f8411628e6a210fb5843d858b15a7513f5";
+          sha256 = "06hc8yy1g2vyvib8yrhwzs8fvgxnrxlw6iyzi7phjp9fgr3cp504";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/c895a716636b00c2a158d33aab18f664a8601833/recipes/gams-mode";
           sha256 = "0hx9mv4sqskz4nn7aks64hqd4vn3m7b34abzhy9bnmyw6d5zzfci";
           name = "gams-mode";
         };
-        packageRequires = [];
+        packageRequires = [ emacs ];
         meta = {
           homepage = "https://melpa.org/#/gams-mode";
           license = lib.licenses.free;
@@ -14761,12 +14749,12 @@
     geiser = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "geiser";
-        version = "0.9";
+        version = "0.10";
         src = fetchFromGitHub {
           owner = "jaor";
           repo = "geiser";
-          rev = "8ef6a9321d81ff478cfd376023eb84b8a819a991";
-          sha256 = "08aha9lxdxix1jq0vc3am9wsyivj6vjpfs8frm797aca3bwaam0j";
+          rev = "775d1d734a677274fbbf4af780592bb3768d3f9b";
+          sha256 = "086qlii1w7sqxwnxwxvc4d6d71p829jabhgwvi0l0bjkxn7bx8pq";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/b0fe32d24cedd5307b4cccfb08a7095d81d639a0/recipes/geiser";
@@ -14947,22 +14935,22 @@
           license = lib.licenses.free;
         };
       }) {};
-    ghub = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    ghub = callPackage ({ emacs, fetchFromGitHub, fetchurl, let-alist, lib, melpaBuild }:
     melpaBuild {
         pname = "ghub";
-        version = "1.3.0";
+        version = "2.0.0";
         src = fetchFromGitHub {
           owner = "magit";
           repo = "ghub";
-          rev = "d8ec78184ec82d363fb0ac5bab724f390ee71d3d";
-          sha256 = "194nf5kjkxgxqjmxlr9q6r4p9kxcsm9qx8pcagxbhvmfyh6km71h";
+          rev = "ae37bef2eb3afb8232bb0a6f7306a8da2390abf4";
+          sha256 = "1k8bim7yk3swpzsx5lwm6qbjfqf2lsssir0zlqzrkid61d3ixfgy";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/70a4dbd62fd6ebb4e056d0e97fa1a958437ddc91/recipes/ghub";
           sha256 = "031bzp61aal2id5sazwjz30svydjvxvphw5wbv5cyy4dqyh7w2ps";
           name = "ghub";
         };
-        packageRequires = [ emacs ];
+        packageRequires = [ emacs let-alist ];
         meta = {
           homepage = "https://melpa.org/#/ghub";
           license = lib.licenses.free;
@@ -15118,12 +15106,12 @@
     git-commit = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, with-editor }:
     melpaBuild {
         pname = "git-commit";
-        version = "2.11.0";
+        version = "2.12.1";
         src = fetchFromGitHub {
           owner = "magit";
           repo = "magit";
-          rev = "4ad2ebfef0afa7e5f5fb85e8d1146da613804fe5";
-          sha256 = "1zvib46hn2c0g2zdnf4vcwjrs9dj5sb81hpqm7bqm8f97p9dv6ym";
+          rev = "44508d71fb400910adb5d0594b56d3c34aa3a5de";
+          sha256 = "0cpcdrikfcmkb6sj13bvznilyk8yc054pq5md874s3j224bdxcnx";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/cec5af50ae7634cc566adfbfdf0f95c3e2951c0c/recipes/git-commit";
@@ -15136,7 +15124,7 @@
           license = lib.licenses.free;
         };
       }) {};
-    git-commit-insert-issue = callPackage ({ bitbucket, fetchFromGitLab, fetchurl, github-issues, gitlab, helm, lib, melpaBuild, projectile, s }:
+    git-commit-insert-issue = callPackage ({ bitbucket, fetchFromGitLab, fetchurl, github-issues, gitlab, lib, melpaBuild, projectile, s }:
     melpaBuild {
         pname = "git-commit-insert-issue";
         version = "0.3.1";
@@ -15144,14 +15132,14 @@
           owner = "emacs-stuff";
           repo = "git-commit-insert-issue";
           rev = "5f08c17bf93b17915415d435ee41923d924fe20b";
-          sha256 = "11my5apnyhdqh0pmq9wdjd1iah415a5nw87sk586cb3vxnbn5qas";
+          sha256 = "1gffjf6byasisa9jdcv9n4n5zqalvzfsxv7z75zl0g3ph7wc7bbm";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/git-commit-insert-issue";
           sha256 = "0xhlchr7dbm0hp4cjba3x1fdf7lnfc97id327i2fqgkdc4yn9fax";
           name = "git-commit-insert-issue";
         };
-        packageRequires = [ bitbucket github-issues gitlab helm projectile s ];
+        packageRequires = [ bitbucket github-issues gitlab projectile s ];
         meta = {
           homepage = "https://melpa.org/#/git-commit-insert-issue";
           license = lib.licenses.free;
@@ -15244,12 +15232,12 @@
     git-lens = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "git-lens";
-        version = "0.4.2";
+        version = "0.7.0";
         src = fetchFromGitHub {
           owner = "pidu";
           repo = "git-lens";
-          rev = "2d1d94fd2e8a17025224ae2224c5f44d8482dc64";
-          sha256 = "1d0vk8344n4lcdcqxkv44qc7f3753mpy76hmgf8xi60kyajvjrd7";
+          rev = "ea49e2e005af977a08331f8caa8f64d102b3b932";
+          sha256 = "0prx0xbnhhp46c09nnzpz07jgr3s5ngrw8zjksf48abr8acwywfv";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/66fd7c0642e8e61b883d2030f88892d039380475/recipes/git-lens";
@@ -15328,12 +15316,12 @@
     git-timemachine = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "git-timemachine";
-        version = "4.4";
+        version = "4.5";
         src = fetchFromGitHub {
           owner = "pidu";
           repo = "git-timemachine";
-          rev = "020d02cd77df6bf6f0efd4d4c597aad2083b6302";
-          sha256 = "1g7gxa2snh8ya8r3wim834qszhcmpp154gnvqkc3b1gw8x7jdrql";
+          rev = "dbcb92ffaa5f8350d47f4fbd74512f4000b8c043";
+          sha256 = "1ml06jfjyrcqmbpr5hqvbpi3yy6l2aa836jq8qjla1h74g9qka7z";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/41e95e41fc429b688f0852f58ec6ce80303b68ce/recipes/git-timemachine";
@@ -15370,12 +15358,12 @@
     gitattributes-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "gitattributes-mode";
-        version = "1.2.6";
+        version = "1.2.7";
         src = fetchFromGitHub {
           owner = "magit";
           repo = "git-modes";
-          rev = "9f18eca514d242816a4969e86c4cfd2cf4dfe401";
-          sha256 = "0k380f9ff15gg724c2spfd9qml97k24bhn3h9ipv1c7rn9qvhdhc";
+          rev = "b08ac12f09a6cfe967ef70dad3f22430da4fbdab";
+          sha256 = "13zwdl0gn8ykqprqv3f3sfjsdqx9zk8ih4k4y7qm5i36crip8nyy";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/4b4e2ddd2a80875afc0fc654052e6cbff2f3777f/recipes/gitattributes-mode";
@@ -15412,12 +15400,12 @@
     gitconfig-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "gitconfig-mode";
-        version = "1.2.6";
+        version = "1.2.7";
         src = fetchFromGitHub {
           owner = "magit";
           repo = "git-modes";
-          rev = "9f18eca514d242816a4969e86c4cfd2cf4dfe401";
-          sha256 = "0k380f9ff15gg724c2spfd9qml97k24bhn3h9ipv1c7rn9qvhdhc";
+          rev = "b08ac12f09a6cfe967ef70dad3f22430da4fbdab";
+          sha256 = "13zwdl0gn8ykqprqv3f3sfjsdqx9zk8ih4k4y7qm5i36crip8nyy";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/44a37f59b87f59a587f6681e7aadfabf137c98d7/recipes/gitconfig-mode";
@@ -15538,12 +15526,12 @@
     gitignore-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "gitignore-mode";
-        version = "1.2.6";
+        version = "1.2.7";
         src = fetchFromGitHub {
           owner = "magit";
           repo = "git-modes";
-          rev = "9f18eca514d242816a4969e86c4cfd2cf4dfe401";
-          sha256 = "0k380f9ff15gg724c2spfd9qml97k24bhn3h9ipv1c7rn9qvhdhc";
+          rev = "b08ac12f09a6cfe967ef70dad3f22430da4fbdab";
+          sha256 = "13zwdl0gn8ykqprqv3f3sfjsdqx9zk8ih4k4y7qm5i36crip8nyy";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/44a37f59b87f59a587f6681e7aadfabf137c98d7/recipes/gitignore-mode";
@@ -15577,6 +15565,48 @@
           license = lib.licenses.free;
         };
       }) {};
+    gitlab-ci-mode = callPackage ({ emacs, fetchFromGitLab, fetchurl, lib, melpaBuild, yaml-mode }:
+    melpaBuild {
+        pname = "gitlab-ci-mode";
+        version = "20180306.1";
+        src = fetchFromGitLab {
+          owner = "joewreschnig";
+          repo = "gitlab-ci-mode";
+          rev = "313431fa5b8b5ce4512909dfc15675bb99395f6f";
+          sha256 = "0wjz87nhcwzp201jxv3qlj88hn7p8nvq20924y06gra2d656znar";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/d7915ddcf21fdec539a86bb86c209cf0bbd378cb/recipes/gitlab-ci-mode";
+          sha256 = "1jg6ihrgccrcwg30ysyqw9k7rmvfmsrp70skr2057hfamvccwn4f";
+          name = "gitlab-ci-mode";
+        };
+        packageRequires = [ emacs yaml-mode ];
+        meta = {
+          homepage = "https://melpa.org/#/gitlab-ci-mode";
+          license = lib.licenses.free;
+        };
+      }) {};
+    gitlab-ci-mode-flycheck = callPackage ({ emacs, fetchFromGitLab, fetchurl, flycheck, gitlab-ci-mode, lib, melpaBuild }:
+    melpaBuild {
+        pname = "gitlab-ci-mode-flycheck";
+        version = "20180304.1";
+        src = fetchFromGitLab {
+          owner = "joewreschnig";
+          repo = "gitlab-ci-mode-flycheck";
+          rev = "388fd05f3ea88ed3ebafb09868fc021f6ecc7625";
+          sha256 = "111clb37329c7v0lv1lwypb8bv7qb9f495f2cy45j2n711vymdna";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/d7915ddcf21fdec539a86bb86c209cf0bbd378cb/recipes/gitlab-ci-mode-flycheck";
+          sha256 = "19ixd60yynsvmaj7mkppp6k73793x794vrnhx3hh6n7dap1rsjdh";
+          name = "gitlab-ci-mode-flycheck";
+        };
+        packageRequires = [ emacs flycheck gitlab-ci-mode ];
+        meta = {
+          homepage = "https://melpa.org/#/gitlab-ci-mode-flycheck";
+          license = lib.licenses.free;
+        };
+      }) {};
     gitpatch = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "gitpatch";
@@ -15640,6 +15670,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    glab = callPackage ({ emacs, fetchFromGitHub, fetchurl, ghub, lib, melpaBuild }:
+    melpaBuild {
+        pname = "glab";
+        version = "2.0.0";
+        src = fetchFromGitHub {
+          owner = "magit";
+          repo = "ghub";
+          rev = "ae37bef2eb3afb8232bb0a6f7306a8da2390abf4";
+          sha256 = "1k8bim7yk3swpzsx5lwm6qbjfqf2lsssir0zlqzrkid61d3ixfgy";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/70a4dbd62fd6ebb4e056d0e97fa1a958437ddc91/recipes/glab";
+          sha256 = "0ym8bgym11mdv5bw22lgkcxyqy7qgxxm0yjmrq8qx7i55gqayyb8";
+          name = "glab";
+        };
+        packageRequires = [ emacs ghub ];
+        meta = {
+          homepage = "https://melpa.org/#/glab";
+          license = lib.licenses.free;
+        };
+      }) {};
     gmail-message-mode = callPackage ({ fetchFromGitHub, fetchurl, ham-mode, lib, melpaBuild }:
     melpaBuild {
         pname = "gmail-message-mode";
@@ -16063,12 +16114,12 @@
     go-tag = callPackage ({ emacs, fetchFromGitHub, fetchurl, go-mode, lib, melpaBuild }:
     melpaBuild {
         pname = "go-tag";
-        version = "1.0.1";
+        version = "1.1.0";
         src = fetchFromGitHub {
           owner = "brantou";
           repo = "emacs-go-tag";
-          rev = "a239f58bbef2629086d9e2cf90a64ba3d389a8a3";
-          sha256 = "1w1m05ypl94xn2qvypbgvjhq7gysi13g42pqwlmppgsdh1kphwha";
+          rev = "8dbcb7d42dccac046c7beb31bdf79bb09a0fef40";
+          sha256 = "1l20az4lhgbrh96sk6bpvp3w4bh29653fms4bimmiaqmhn2n14y2";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/fc4cd3fd8fb0707912e205b9d71789ea8126c442/recipes/go-tag";
@@ -16315,12 +16366,12 @@
     govc = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, json-mode, lib, magit-popup, melpaBuild, s }:
     melpaBuild {
         pname = "govc";
-        version = "0.16.0";
+        version = "0.17.1";
         src = fetchFromGitHub {
           owner = "vmware";
           repo = "govmomi";
-          rev = "7d879bac14d09f2f2a45a0477c1e45fbf52240f5";
-          sha256 = "09fllx7l2hsjrv1jl7g06xngjy0xwn5n5zng6x8dspgsl6kblyqp";
+          rev = "123ed177021588bac57b5c87c1a84270ddf2eca8";
+          sha256 = "0m144lpjbyil8cs57dw9q72abjhrd8cfwbalvzyaldgnx10j8gkc";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/92d6391318021c63b06fe39b0ca38f667bb45ae9/recipes/govc";
@@ -16599,12 +16650,12 @@
     green-is-the-new-black-theme = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "green-is-the-new-black-theme";
-        version = "0.0.4";
+        version = "0.0.6";
         src = fetchFromGitHub {
           owner = "fredcamps";
           repo = "green-is-the-new-black-emacs";
-          rev = "374d14b99f4959fa039c0e1ce8e0e7991b726d98";
-          sha256 = "135w5vwbk2468b82v6icc8nh50d9flpi7zd63xch8vpvsri0vpw0";
+          rev = "8a03687a2b8b55c5dc7f099086019278d505d8d8";
+          sha256 = "07j5sv8dskqxpbzr5f58n75cziyqm9v01c3f7wmwfs8jl7h5nc4m";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/3e42528d5677fd90515cad47266c07ea3d4363fb/recipes/green-is-the-new-black-theme";
@@ -16638,6 +16689,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    grep-context = callPackage ({ cl-lib ? null, dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "grep-context";
+        version = "0.1.0";
+        src = fetchFromGitHub {
+          owner = "mkcms";
+          repo = "grep-context";
+          rev = "4c63d0f2654dee1e249c2054d118d674a757bd45";
+          sha256 = "0n2bc9q6bvbfpaqivp3ajy9ad1wr7hfdd98qhnspsap67p73kfn4";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/41dbaf627ae4ef86c222d2b6b5d3523fdb9a4637/recipes/grep-context";
+          sha256 = "175s9asbnk2wlgpzc5izcd3vlfvdj064n38myy9qf4awn12c2y1g";
+          name = "grep-context";
+        };
+        packageRequires = [ cl-lib dash emacs ];
+        meta = {
+          homepage = "https://melpa.org/#/grep-context";
+          license = lib.licenses.free;
+        };
+      }) {};
     grin = callPackage ({ fetchhg, fetchurl, lib, melpaBuild }: melpaBuild {
         pname = "grin";
         version = "1.0";
@@ -16980,7 +17052,7 @@
           owner = "iain";
           repo = "hamburger-menu-mode";
           rev = "fd37f013c2f2619a88d3ed5311a9d1308cc82614";
-          sha256 = "196ydb57h4mjagjaiflvb20my561i6mdc6v6694ibdik2yns2inm";
+          sha256 = "1nykpp8afa0c0wiax1qn8wf5hfjaixk5kn4yhcw40z00pb8i2z5f";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/e8017730403cc0e613e3939017f85074753c3778/recipes/hamburger-menu";
@@ -17226,12 +17298,12 @@
     hasky-stack = callPackage ({ emacs, f, fetchFromGitHub, fetchurl, lib, magit-popup, melpaBuild }:
     melpaBuild {
         pname = "hasky-stack";
-        version = "0.7.0";
+        version = "0.8.0";
         src = fetchFromGitHub {
           owner = "hasky-mode";
           repo = "hasky-stack";
-          rev = "17b9facafcff8203012c037c5a589f290169fc33";
-          sha256 = "00k13sl2yjnqjjdqlmz8ril07xw5al2ysbsnpmz81sccqa1kbikr";
+          rev = "3e17ce07dd6b0207474e4ff14ad7b8c467382947";
+          sha256 = "0cdsdlgapf9xxj928hlb7ch9x8rznayrvj7n8j2vzfa0kfmg7qwf";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/c3faf544872478c3bccf2fe7dc51d406031e4d80/recipes/hasky-stack";
@@ -17289,12 +17361,12 @@
     helm = callPackage ({ async, emacs, fetchFromGitHub, fetchurl, helm-core, lib, melpaBuild, popup }:
     melpaBuild {
         pname = "helm";
-        version = "2.9.0";
+        version = "2.9.2";
         src = fetchFromGitHub {
           owner = "emacs-helm";
           repo = "helm";
-          rev = "3dda0089ace4696cd5cfd397d5f5710fd3374e69";
-          sha256 = "1r7jwp3l0n77zxvsl3h0rf4jff2ah0kpn3cgxyinl98js95w8fgy";
+          rev = "d5b9404176c41b16dffe522d45d08bdc7cb60e28";
+          sha256 = "0mr5jllsargsbw6xrqpacxi40nx472sd5qhbaf5a6ydc6l1qyqyk";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/7e8bccffdf69479892d76b9336a4bec3f35e919d/recipes/helm";
@@ -17625,12 +17697,12 @@
     helm-core = callPackage ({ async, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "helm-core";
-        version = "2.9.0";
+        version = "2.9.2";
         src = fetchFromGitHub {
           owner = "emacs-helm";
           repo = "helm";
-          rev = "3dda0089ace4696cd5cfd397d5f5710fd3374e69";
-          sha256 = "1r7jwp3l0n77zxvsl3h0rf4jff2ah0kpn3cgxyinl98js95w8fgy";
+          rev = "d5b9404176c41b16dffe522d45d08bdc7cb60e28";
+          sha256 = "0mr5jllsargsbw6xrqpacxi40nx472sd5qhbaf5a6ydc6l1qyqyk";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/ef7a700c5665e6d72cb4cecf7fb5a2dd43ef9bf7/recipes/helm-core";
@@ -18276,12 +18348,12 @@
     helm-org-rifle = callPackage ({ dash, emacs, f, fetchFromGitHub, fetchurl, helm, lib, melpaBuild, s }:
     melpaBuild {
         pname = "helm-org-rifle";
-        version = "1.5.0";
+        version = "1.5.1";
         src = fetchFromGitHub {
           owner = "alphapapa";
           repo = "helm-org-rifle";
-          rev = "68f01726795ca3054cfc6327dcdb22c9c83dfdfa";
-          sha256 = "0vak9phqgxz5dk1zj3i4cs94y797h77qadirsf33gl073cg95l8a";
+          rev = "ecf5ad53bef572e38d8c8d93b516f8eab8c4dfe5";
+          sha256 = "14020ws87m64bfxqw30c9hc88zb7w4kxs5svd2a10y00lgrg2m93";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/f39cc94dde5aaf0d6cfea5c98dd52cdb0bcb1615/recipes/helm-org-rifle";
@@ -18738,12 +18810,12 @@
     helm-system-packages = callPackage ({ emacs, fetchFromGitHub, fetchurl, helm, lib, melpaBuild, seq }:
     melpaBuild {
         pname = "helm-system-packages";
-        version = "1.8.0";
+        version = "1.9.0";
         src = fetchFromGitHub {
           owner = "emacs-helm";
           repo = "helm-system-packages";
-          rev = "beb7e488454402a122b9dec9a019ea190b9b7dc3";
-          sha256 = "0wclsv69v84d7bknnlralham94s7iqal7aczsvfxgj97hpwgywfz";
+          rev = "f1aeafd3de4d434fb89b9f65b863c9a53a7d2feb";
+          sha256 = "194f2in1k4g9fm66q63ayqmrg5shj807nq4phmkgfm02p1hj7v5w";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/0c46cfb0fcda0500e15d04106150a072a1a75ccc/recipes/helm-system-packages";
@@ -18780,12 +18852,12 @@
     helm-tramp = callPackage ({ emacs, fetchFromGitHub, fetchurl, helm, lib, melpaBuild }:
     melpaBuild {
         pname = "helm-tramp";
-        version = "0.8.5";
+        version = "0.9.5";
         src = fetchFromGitHub {
           owner = "masasam";
           repo = "emacs-helm-tramp";
-          rev = "ee7f6a2c09df5fdc28b4d910840a7c56922059c3";
-          sha256 = "0lkzi6h6wkm19mn7v6wjy50kd96k6hw7jhx7pxwgfp577816c7c2";
+          rev = "34cc68bededd3ff6cbec8140f33c530fd3206a64";
+          sha256 = "1lway52ssh6zn6jw8157fp8d4brrkdln03vgll2r53bd69i2ipmn";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/helm-tramp";
@@ -18885,12 +18957,12 @@
     helpful = callPackage ({ dash, dash-functional, elisp-refs, emacs, f, fetchFromGitHub, fetchurl, lib, melpaBuild, s, shut-up }:
     melpaBuild {
         pname = "helpful";
-        version = "0.7";
+        version = "0.9";
         src = fetchFromGitHub {
           owner = "Wilfred";
           repo = "helpful";
-          rev = "3ae20551fb0ce199deff47534a475cab50f19237";
-          sha256 = "1zb2zfyflabhar8smvpxcdmkla7camaq2srq6dk2xc66226vj9rn";
+          rev = "c527d0a9f66b50c28dfc44b88c5dd634c770ade2";
+          sha256 = "0mbqwxnk689mx58yjqs6dyyfkcgakginm35nqzp3kdwsvwvvkxzb";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/889d34b654de13bd413d46071a5ff191cbf3d157/recipes/helpful";
@@ -18966,6 +19038,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    hide-mode-line = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "hide-mode-line";
+        version = "1.0.1";
+        src = fetchFromGitHub {
+          owner = "hlissner";
+          repo = "emacs-hide-mode-line";
+          rev = "86b9057391edad75467261c2e579603567e608f9";
+          sha256 = "0qmjmwhmlm008r22n2mv7lir4v1lpfz1c3yvqlwjgv0glbyvqd88";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/2af28365f9fbc6ae71043a67966490c5d18a6095/recipes/hide-mode-line";
+          sha256 = "0yl6aicpib5h1ckqi3gyilh2nwvp8gf1017n1w1755j01gw1p9hl";
+          name = "hide-mode-line";
+        };
+        packageRequires = [ emacs ];
+        meta = {
+          homepage = "https://melpa.org/#/hide-mode-line";
+          license = lib.licenses.free;
+        };
+      }) {};
     hierarchy = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "hierarchy";
@@ -19281,36 +19374,15 @@
           license = lib.licenses.free;
         };
       }) {};
-    hl-sexp = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
-    melpaBuild {
-        pname = "hl-sexp";
-        version = "1.0.0";
-        src = fetchFromGitHub {
-          owner = "emacsmirror";
-          repo = "hl-sexp";
-          rev = "0606100422321c18db51ceda80f25cd7717c2e01";
-          sha256 = "1fsyj9cmqcz5nfxsfcyvpq2vqrhgl99xvq7ligviawl3x77376kw";
-        };
-        recipeFile = fetchurl {
-          url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/hl-sexp";
-          sha256 = "109qzk39s5l30fmrfxhkx1y6ldbw9d5xnahwdvasc8fal5j6f1bm";
-          name = "hl-sexp";
-        };
-        packageRequires = [];
-        meta = {
-          homepage = "https://melpa.org/#/hl-sexp";
-          license = lib.licenses.free;
-        };
-      }) {};
     hl-todo = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "hl-todo";
-        version = "1.8.0";
+        version = "1.8.1";
         src = fetchFromGitHub {
           owner = "tarsius";
           repo = "hl-todo";
-          rev = "961db3116f1396dc4f903e3a59824a40e0bbb6a2";
-          sha256 = "0w847g7lvzk9br9r73n7rf2ba6wafqrapyigp91f62jicz28lvm1";
+          rev = "fbe311b3be34cb5719e612f71d46a87b99954309";
+          sha256 = "0f7dsp2b0hzzz6klcmawwlid1jyl90ax0p2ph7bh2791jhywq60k";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/7c262f6a1a10e8b3cc30151cad2e34ceb66c6ed7/recipes/hl-todo";
@@ -19452,12 +19524,12 @@
     htmlize = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "htmlize";
-        version = "1.51";
+        version = "1.53";
         src = fetchFromGitHub {
           owner = "hniksic";
           repo = "emacs-htmlize";
-          rev = "88e2cb6588827893d7bc619529393887c264d15a";
-          sha256 = "09xpv8dsc39a7w9s6xnilc5kh1krs2jw8cklizxzz4gp36hrsj2n";
+          rev = "1bc2f1b0feb852fa5a289a1d72646b16ac84adf1";
+          sha256 = "0dr235c0z8is3pi5xdgqyqljg6px0b2aya6qb79zkyi477bmz4ip";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/075aa00a0757c6cd1ad392f0300bf5f1b937648d/recipes/htmlize";
@@ -19662,12 +19734,12 @@
     ialign = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "ialign";
-        version = "0.4.1";
+        version = "0.4.2";
         src = fetchFromGitHub {
           owner = "mkcms";
           repo = "interactive-align";
-          rev = "523df320197b587abd8c0ec4e9fbc763aeab1cf6";
-          sha256 = "04jak5j4yywl7fn5sggc125yh6cy0livf55194mfxs2kmbs5wm0h";
+          rev = "7ad88c8f7922adc616b8f060b65fa1add8952ea1";
+          sha256 = "0bh03w91i622hbar5dcq631ndxx1y8kd3h655pgw1g0lqkv1mlnc";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/072f1f7ce17e2972863bce10af9c52b3c6502eab/recipes/ialign";
@@ -19932,27 +20004,6 @@
           license = lib.licenses.free;
         };
       }) {};
-    ido-ubiquitous = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, ido-completing-read-plus, lib, melpaBuild }:
-    melpaBuild {
-        pname = "ido-ubiquitous";
-        version = "4.7";
-        src = fetchFromGitHub {
-          owner = "DarwinAwardWinner";
-          repo = "ido-completing-read-plus";
-          rev = "51861afe385f59f3262ee40acbe772ccb3dd52e7";
-          sha256 = "0hspgk8m4acyhpcldwg3xqla9xp3fjrhf37cnjp45j1b3h94x3iy";
-        };
-        recipeFile = fetchurl {
-          url = "https://raw.githubusercontent.com/milkypostman/melpa/6104efc035bcf469d133ab9a2caf42c9d4482334/recipes/ido-ubiquitous";
-          sha256 = "11sdk0ymsqnsw1gycvq2wj4j0g502fp23qk6q9d95lm98nz68frz";
-          name = "ido-ubiquitous";
-        };
-        packageRequires = [ cl-lib ido-completing-read-plus ];
-        meta = {
-          homepage = "https://melpa.org/#/ido-ubiquitous";
-          license = lib.licenses.free;
-        };
-      }) {};
     ido-vertical-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "ido-vertical-mode";
@@ -20166,12 +20217,12 @@
     imake = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "imake";
-        version = "1.0.0";
+        version = "1.0.1";
         src = fetchFromGitHub {
           owner = "tarsius";
           repo = "imake";
-          rev = "edd2e59f7996c35450987cf8f137ecb54777e9ca";
-          sha256 = "12mq1ki001jgjdfr3fx43z1xz4jrki18rb0wkb7n956dvl34w0fg";
+          rev = "7df5fb9684a0288313ef5f64594078d477105959";
+          sha256 = "0xc19ir5ak1bfq0ag48ql5rj58zd565csgxhpa30s9lvvkc8kvr5";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/28de8f7f5302b27c7c6600ad65a998119518be43/recipes/imake";
@@ -20187,12 +20238,12 @@
     imapfilter = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "imapfilter";
-        version = "1.0.2";
+        version = "1.0.3";
         src = fetchFromGitHub {
           owner = "tarsius";
           repo = "imapfilter";
-          rev = "a879ddc36fedc30311693f308f414c520fdfc370";
-          sha256 = "0rx4r6822iwl4gb9j0fii0sqinqvp3lzrc768rasgicgpklaqkjs";
+          rev = "79bbbe918319bc1e8f42a0bef53dc7c77fe868ea";
+          sha256 = "0lqhwh8kav7f526a40rjdy2hzarzph1i3ig2dmbf02gp32sl7rg9";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/2415894afa3404fbd73c84c58f8b8267187d6d86/recipes/imapfilter";
@@ -20753,12 +20804,12 @@
     intero = callPackage ({ company, emacs, fetchFromGitHub, fetchurl, flycheck, haskell-mode, lib, melpaBuild }:
     melpaBuild {
         pname = "intero";
-        version = "0.1.26";
+        version = "0.1.29";
         src = fetchFromGitHub {
           owner = "commercialhaskell";
           repo = "intero";
-          rev = "f85e1b47df3bb328be0de34120950cecb3465055";
-          sha256 = "1zng4sliygg1l0jamprx9pfs85jiy19gwxpcy2hs3s4hc7yxjdds";
+          rev = "73997cf10277e9781682768113ebd87eeb6d2882";
+          sha256 = "1mf2ddpgnyjiq2km1qc4l926xp8mj9vrszlizh39hn3acxqlac7s";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/1b56ca344ad944e03b669a9974e9b734b5b445bb/recipes/intero";
@@ -20984,12 +21035,12 @@
     ivy-erlang-complete = callPackage ({ async, counsel, emacs, erlang, fetchFromGitHub, fetchurl, ivy, lib, melpaBuild }:
     melpaBuild {
         pname = "ivy-erlang-complete";
-        version = "0.3.0";
+        version = "0.3.1";
         src = fetchFromGitHub {
           owner = "s-kostyaev";
           repo = "ivy-erlang-complete";
-          rev = "acd6322571cb0820868a6febdc5326782a29b729";
-          sha256 = "158cmxhky8nng43jj0d7w8126phx6zlr6r0kf9g2in5nkmbcbd33";
+          rev = "62e2b14ff25b0c143c882cb38d029b216acc3dd6";
+          sha256 = "0sbxmj3ap0navgi7lxlgwb9ykfb8khgh7nl1hmqfh2jn9vx2s568";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/ac1b9e350d3f066e4e56202ebb443134d5fc3669/recipes/ivy-erlang-complete";
@@ -21044,6 +21095,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    ivy-mpdel = callPackage ({ emacs, fetchFromGitHub, fetchurl, ivy, lib, libmpdel, melpaBuild, mpdel }:
+    melpaBuild {
+        pname = "ivy-mpdel";
+        version = "0.4.0";
+        src = fetchFromGitHub {
+          owner = "mpdel";
+          repo = "ivy-mpdel";
+          rev = "f9f745792abfed85d535b4cb5b2a95f944bbad1d";
+          sha256 = "1sxd9hny0n751irf87bab0g3ygq6j4g32gdy4yk27y3r00i9g4b6";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/bb25443752e18e47afc63d5497cc5052c388a607/recipes/ivy-mpdel";
+          sha256 = "1v9xiy4bs7r24li6fwi5dfqav8dfr3dy0xhj3wnzvcgwxp5ji56r";
+          name = "ivy-mpdel";
+        };
+        packageRequires = [ emacs ivy libmpdel mpdel ];
+        meta = {
+          homepage = "https://melpa.org/#/ivy-mpdel";
+          license = lib.licenses.free;
+        };
+      }) {};
     ivy-pages = callPackage ({ emacs, fetchFromGitHub, fetchurl, ivy, lib, melpaBuild }:
     melpaBuild {
         pname = "ivy-pages";
@@ -21549,12 +21621,12 @@
     js2-mode = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "js2-mode";
-        version = "20170721";
+        version = "20180301";
         src = fetchFromGitHub {
           owner = "mooz";
           repo = "js2-mode";
-          rev = "cb57d9b67390ae3ff70ab64169bbc4f1264244bc";
-          sha256 = "0z7ya533ap6lm5qwfsbhn1k4jh1k1p5xyk5r27wd40rfzvd2x2gy";
+          rev = "38e425785d5ea4600c3642f6500062ecedf694a4";
+          sha256 = "1afvm8cp9h0v0pk7v3jwag6f608v1787l7m7a9541ld616cgb5x7";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/cae2ac3513e371a256be0f1a7468e38e686c2487/recipes/js2-mode";
@@ -21906,12 +21978,12 @@
     kaolin-themes = callPackage ({ autothemer, cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "kaolin-themes";
-        version = "1.3.1";
+        version = "1.3.2";
         src = fetchFromGitHub {
           owner = "ogdenwebb";
           repo = "emacs-kaolin-themes";
-          rev = "8a229fcd1d73876920a063f0eba906a5080275a7";
-          sha256 = "0w35862sjyizj7grb9ixjns8kpxq2wgdgn1n06jdhmnnaqdyq911";
+          rev = "0a80628e083db6e9d4b4af73be5d917d7d667330";
+          sha256 = "1brb0l39xkl19h9xslvmms9vcziygfp244xs5r3n4dqn43c7rr68";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/043a4e3bd5301ef8f4df2cbda0b3f4111eb399e4/recipes/kaolin-themes";
@@ -22008,15 +22080,36 @@
           license = lib.licenses.free;
         };
       }) {};
+    keycast = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "keycast";
+        version = "0.1.1";
+        src = fetchFromGitHub {
+          owner = "tarsius";
+          repo = "keycast";
+          rev = "46370b8a72922902921d3ed2fa194564568053dc";
+          sha256 = "0wgicba3v5l7a0wmmr3awf026vhf4grrn8c4i2hipi9ij3wckqzc";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/aaaf62c586818f2493667ad6ec8877234a58da53/recipes/keycast";
+          sha256 = "19qq5y1zjp3029kfq0c59xl9xnxqmdn2pd04sblznchcr9jdy5id";
+          name = "keycast";
+        };
+        packageRequires = [ emacs ];
+        meta = {
+          homepage = "https://melpa.org/#/keycast";
+          license = lib.licenses.free;
+        };
+      }) {};
     keychain-environment = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "keychain-environment";
-        version = "2.4.0";
+        version = "2.4.1";
         src = fetchFromGitHub {
           owner = "tarsius";
           repo = "keychain-environment";
-          rev = "7c08e8c4c3ea4d6eaee12d710a56793771f837c5";
-          sha256 = "1mnqa69f584qzb62nn01bb4nz08gi7ra8b6xr0x7aphfqzk86kzy";
+          rev = "d3643196de6dc79ea77f9f4805028350fd76100b";
+          sha256 = "0wzs77nwal6apinc39d4arj3lralv2cb9aw9gkikk46fgk404hwj";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/4382c9e7e8dee2cafea9ee49965d0952ca359dd5/recipes/keychain-environment";
@@ -22074,12 +22167,12 @@
     keymap-utils = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "keymap-utils";
-        version = "3.0.0";
+        version = "3.0.1";
         src = fetchFromGitHub {
           owner = "tarsius";
           repo = "keymap-utils";
-          rev = "0130f32e5ade649dd2738206a80570e450906ef6";
-          sha256 = "1bq7zihdj67j94yyv6655mcrxhz99szbf2zi64nwsl60bxz0znb8";
+          rev = "1ad766dbc111ec78b1a292da97b9bd4856cd2ff7";
+          sha256 = "0imx8zp21bm066bzdynvasylrlhw0gr8mpk2bwkz8j1y5lsp54v8";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/c03acebf1462dea36c81d4b9ab41e2e5739be3c3/recipes/keymap-utils";
@@ -22326,12 +22419,12 @@
     kurecolor = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, s }:
     melpaBuild {
         pname = "kurecolor";
-        version = "1.2.4";
+        version = "1.2.6";
         src = fetchFromGitHub {
           owner = "emacsfodder";
           repo = "kurecolor";
-          rev = "eb894bcb0769ce73404734f14f7582661abe02c8";
-          sha256 = "118csp4pi1dxm9grmd006d9wmdplnx8gnk02hbfrl639k7hnnd8z";
+          rev = "a27153f6a01f38226920772dc4917b73166da5e6";
+          sha256 = "04av67q5841jli6rp39hav3a5gr2vcf3db4qsv553i23ffplb955";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/58a5ebdbf82e83e6602161bca049d468887abe02/recipes/kurecolor";
@@ -22368,12 +22461,12 @@
     langtool = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "langtool";
-        version = "1.6.0";
+        version = "2.0.0";
         src = fetchFromGitHub {
           owner = "mhayashi1120";
           repo = "Emacs-langtool";
-          rev = "d976e4f0cadb2309b798540429558936f8f45889";
-          sha256 = "1qlgd5i8jngsq754jm44gb46p5y6j2cccacg72aklvwajay0adyh";
+          rev = "d93286722cff3fecf8641a4a6c3b0691f30362fe";
+          sha256 = "17xa055705n4jb7nafqvqgl0a6fdaxp3b3q8q0gsv5vzycsc74ga";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/503845e79e67c921f1fde31447f3dd4da2b6f993/recipes/langtool";
@@ -22415,7 +22508,7 @@
           owner = "latex-math-preview";
           repo = "latex-math-preview";
           rev = "c1c87c4c5501f98b97af19f7e3454a2369265edc";
-          sha256 = "118xrgrnwsmsysmframf6bmb0gkrdrm3jbkgivzxs41cw92fhbzw";
+          sha256 = "1mp6bpl8992pi40vs6b86q922h4z8879mrjalldv5dyz57ym5fsq";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/9e413b7684e9199510b00035825aa861d670e072/recipes/latex-math-preview";
@@ -22617,6 +22710,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    libmpdel = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "libmpdel";
+        version = "0.5.0";
+        src = fetchFromGitHub {
+          owner = "mpdel";
+          repo = "libmpdel";
+          rev = "abb748b6cb35de4652df80ce8539bfc63189619d";
+          sha256 = "0ccqcn85131pywzga4644f0azxrsl5ay69m6jz27zzvshs7gzzjv";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/bb25443752e18e47afc63d5497cc5052c388a607/recipes/libmpdel";
+          sha256 = "0qi9g3czwzi9hhp7gjczpzjx9vgzz52xi91332l0sxcxmwbawjp1";
+          name = "libmpdel";
+        };
+        packageRequires = [ emacs ];
+        meta = {
+          homepage = "https://melpa.org/#/libmpdel";
+          license = lib.licenses.free;
+        };
+      }) {};
     lice = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "lice";
@@ -22942,12 +23056,12 @@
     live-py-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "live-py-mode";
-        version = "2.21.1";
+        version = "2.22.0";
         src = fetchFromGitHub {
           owner = "donkirkby";
           repo = "live-py-plugin";
-          rev = "e0a5627e6591e1cbb9f93aabc44adbdc50b346c9";
-          sha256 = "0dhm7gdd1smlibj5jmzps97kwkpzcigbdp0l26baa2mkc6155y66";
+          rev = "ab2f9bea32dbad11a6464a4880e5487645a0f65a";
+          sha256 = "0w3kpszsrh0gj0a62iqhnhm3flmmgq0pl0d6w5r61mvlq9wck5dv";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/c7615237e80b46b5c50cb51a3ed5b07d92566fb7/recipes/live-py-mode";
@@ -23169,6 +23283,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    lsp-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "lsp-mode";
+        version = "4.1";
+        src = fetchFromGitHub {
+          owner = "emacs-lsp";
+          repo = "lsp-mode";
+          rev = "065c36f1fceb6322b7ff8fd4bc623aa0cf6136ba";
+          sha256 = "0129h8h2abc7vcv0h5b2lsr6swa0zq597s5r7zcfj3macga7iifr";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/1a7b69312e688211089a23b75910c05efb507e35/recipes/lsp-mode";
+          sha256 = "0cklwllqxzsvs4wvvvsc1pqpmp9w99m8wimpby6v6wlijfg6y1m9";
+          name = "lsp-mode";
+        };
+        packageRequires = [ emacs ];
+        meta = {
+          homepage = "https://melpa.org/#/lsp-mode";
+          license = lib.licenses.free;
+        };
+      }) {};
     lsp-ocaml = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, lsp-mode, melpaBuild }:
     melpaBuild {
         pname = "lsp-ocaml";
@@ -23316,15 +23451,15 @@
           license = lib.licenses.free;
         };
       }) {};
-    magit = callPackage ({ async, dash, emacs, fetchFromGitHub, fetchurl, git-commit, lib, magit-popup, melpaBuild, with-editor }:
+    magit = callPackage ({ async, dash, emacs, fetchFromGitHub, fetchurl, ghub, git-commit, let-alist, lib, magit-popup, melpaBuild, with-editor }:
     melpaBuild {
         pname = "magit";
-        version = "2.11.0";
+        version = "2.12.1";
         src = fetchFromGitHub {
           owner = "magit";
           repo = "magit";
-          rev = "4ad2ebfef0afa7e5f5fb85e8d1146da613804fe5";
-          sha256 = "1zvib46hn2c0g2zdnf4vcwjrs9dj5sb81hpqm7bqm8f97p9dv6ym";
+          rev = "44508d71fb400910adb5d0594b56d3c34aa3a5de";
+          sha256 = "0cpcdrikfcmkb6sj13bvznilyk8yc054pq5md874s3j224bdxcnx";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/b0a9a6277974a7a38c0c46d9921b54747a85501a/recipes/magit";
@@ -23335,7 +23470,9 @@
           async
           dash
           emacs
+          ghub
           git-commit
+          let-alist
           magit-popup
           with-editor
         ];
@@ -23473,12 +23610,12 @@
     magit-imerge = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, magit, melpaBuild }:
     melpaBuild {
         pname = "magit-imerge";
-        version = "0.2.0";
+        version = "0.3.0";
         src = fetchFromGitHub {
           owner = "magit";
           repo = "magit-imerge";
-          rev = "1cd0fa843095f4ce8aa4eae89476c116414d060c";
-          sha256 = "1h9m0miiv44az4bigg5gjgkpdgdy4hh114kavzjgjhmw5zsg6qfg";
+          rev = "f337f178a1b4d2e4c1199fa02338febe216ab902";
+          sha256 = "1x0714qxryj3fg9qwnsxrksdja1q98vvjpdwn8h9anifxa0wknh6";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/e78a5c27eedfc9b1d79e37e8d333c5d253f31a3c/recipes/magit-imerge";
@@ -23491,45 +23628,45 @@
           license = lib.licenses.free;
         };
       }) {};
-    magit-popup = callPackage ({ async, dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    magit-org-todos = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, magit, melpaBuild }:
     melpaBuild {
-        pname = "magit-popup";
-        version = "2.12.2";
+        pname = "magit-org-todos";
+        version = "0.1.2";
         src = fetchFromGitHub {
-          owner = "magit";
-          repo = "magit-popup";
-          rev = "ab75385a1fb8c0fba0769d448b13ba8324835261";
-          sha256 = "0ky4l3k3camh1paa5ap9frr9hcadj7nj40l3imiiqfcvgyl8ijp6";
+          owner = "danielma";
+          repo = "magit-org-todos.el";
+          rev = "0bfa36bbc50e62de0a3406031cb93e2f57dcdc55";
+          sha256 = "07r5x256k1fjjxs1yfg41kc94nwvnjlk2vvknkra3j8v9p0j88m7";
         };
         recipeFile = fetchurl {
-          url = "https://raw.githubusercontent.com/milkypostman/melpa/0263ca6aea7bf6eae26a637454affbda6bd106df/recipes/magit-popup";
-          sha256 = "1pv5slspcfmi10bnnw6acpijn7vkn2h9iqww3w641v41d3p37jmv";
-          name = "magit-popup";
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/84480cad490cab2f087a484ed7b9d3d3064bbd29/recipes/magit-org-todos";
+          sha256 = "0yywgzm2jzvsccm9h0a0s1q8fag9dfajnznwk6iqz5pywq5mxijr";
+          name = "magit-org-todos";
         };
-        packageRequires = [ async dash emacs ];
+        packageRequires = [ emacs magit ];
         meta = {
-          homepage = "https://melpa.org/#/magit-popup";
+          homepage = "https://melpa.org/#/magit-org-todos";
           license = lib.licenses.free;
         };
       }) {};
-    magit-rockstar = callPackage ({ dash, fetchFromGitHub, fetchurl, lib, magit, melpaBuild }:
+    magit-popup = callPackage ({ async, dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
-        pname = "magit-rockstar";
-        version = "1.1.0";
+        pname = "magit-popup";
+        version = "2.12.3";
         src = fetchFromGitHub {
-          owner = "tarsius";
-          repo = "magit-rockstar";
-          rev = "c8320472e8a50c8299140ba0943bb1fe485d294a";
-          sha256 = "1xjym51z0v7ibxw059f6k3zljli6z390rmxvrywbfzkb8hqms0l1";
+          owner = "magit";
+          repo = "magit-popup";
+          rev = "32e6da899abd6657c098534c5775fc7177047f49";
+          sha256 = "0nrvs7gwd9kn4n808akrydn7zggvy9zyk38yrcmm561kw0h0h903";
         };
         recipeFile = fetchurl {
-          url = "https://raw.githubusercontent.com/milkypostman/melpa/7a20b539cbd38ffa546c1b56b9fac78c0b9457f6/recipes/magit-rockstar";
-          sha256 = "1i4fmraiypyd3q6vvibkg9xqfxiq83kcz64b1dr3wmwn30j7986n";
-          name = "magit-rockstar";
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/0263ca6aea7bf6eae26a637454affbda6bd106df/recipes/magit-popup";
+          sha256 = "1pv5slspcfmi10bnnw6acpijn7vkn2h9iqww3w641v41d3p37jmv";
+          name = "magit-popup";
         };
-        packageRequires = [ dash magit ];
+        packageRequires = [ async dash emacs ];
         meta = {
-          homepage = "https://melpa.org/#/magit-rockstar";
+          homepage = "https://melpa.org/#/magit-popup";
           license = lib.licenses.free;
         };
       }) {};
@@ -23963,12 +24100,12 @@
     mastodon = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "mastodon";
-        version = "0.7.1";
+        version = "0.7.2";
         src = fetchFromGitHub {
           owner = "jdenen";
           repo = "mastodon.el";
-          rev = "e08bb5794762d22f90e85fd65cef7c143e6b9318";
-          sha256 = "0bil0xxava04pd4acjqm3bfqm1kjdk4g0czd4zqvacsp5c9sl2qp";
+          rev = "ae8dabda04e377a6ac22cb854e4844f68073f533";
+          sha256 = "1avf2wkzd14dj27i9skm3mn3ipkr1zp93yrwxrk2q5kphj1qji2j";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/809d963b69b154325faaf61e54ca87b94c1c9a90/recipes/mastodon";
@@ -24152,12 +24289,12 @@
     meghanada = callPackage ({ company, emacs, fetchFromGitHub, fetchurl, flycheck, lib, melpaBuild, yasnippet }:
     melpaBuild {
         pname = "meghanada";
-        version = "0.9.2";
+        version = "1.0.0";
         src = fetchFromGitHub {
           owner = "mopemope";
           repo = "meghanada-emacs";
-          rev = "ca20c57c9c389d4dd9fe88d9a3da33d5af78e4d0";
-          sha256 = "1k9dpvvz7qcscq9z76xvsas96lj0xsnp725z3w97sahqsi0sdxq8";
+          rev = "5479b42efe3ed504e3a0824e039e8365ebc0b788";
+          sha256 = "1jn4cpd6y310c8kkk7w0lpchac0rd3f8ri3lmy369gi1sb2xsk94";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/4c75c69b2f00be9a93144f632738272c1e375785/recipes/meghanada";
@@ -24338,6 +24475,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    mgmtconfig-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "mgmtconfig-mode";
+        version = "0.0.15";
+        src = fetchFromGitHub {
+          owner = "purpleidea";
+          repo = "mgmt";
+          rev = "3ad7097c8aa7eab7f895aab9af22338c0cf82986";
+          sha256 = "04sq8qn6wpsn5yxyf1g2cxv74v3r7n1n32jv174qdn4qknc9khkv";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/4cf3dd70ae73c2b049e201a3547bbeb9bb117983/recipes/mgmtconfig-mode";
+          sha256 = "0bdjaqfk68av4lfc4cpacrl2mxvimplfkbadi9l6wb65vlqz6sil";
+          name = "mgmtconfig-mode";
+        };
+        packageRequires = [ emacs ];
+        meta = {
+          homepage = "https://melpa.org/#/mgmtconfig-mode";
+          license = lib.licenses.free;
+        };
+      }) {};
     mhc = callPackage ({ calfw, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "mhc";
@@ -24485,6 +24643,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    minions = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "minions";
+        version = "0.2.0";
+        src = fetchFromGitHub {
+          owner = "tarsius";
+          repo = "minions";
+          rev = "4fa1b333ecc13f577fab84ee64b8ee385a214b1e";
+          sha256 = "0gzp1n0jpjmlskbw8mpdpql0d050qdcxwkcw1bfpp07xbs071w0l";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/769a2167d7f6dfdbbfda058ddea036f80b97d230/recipes/minions";
+          sha256 = "0ximlj93yp6646bh99r2vnayk15ky26sibrmrqqysfw1pzs4a940";
+          name = "minions";
+        };
+        packageRequires = [ dash emacs ];
+        meta = {
+          homepage = "https://melpa.org/#/minions";
+          license = lib.licenses.free;
+        };
+      }) {};
     minitest = callPackage ({ dash, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "minitest";
@@ -24509,12 +24688,12 @@
     mips-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "mips-mode";
-        version = "1.0.1";
+        version = "1.1.1";
         src = fetchFromGitHub {
           owner = "hlissner";
           repo = "emacs-mips-mode";
-          rev = "dcde079176c1419ec24df08b62dd77a897892437";
-          sha256 = "0jvbcld3abm45qzsbcaf6f1zd71hgdg5y47v6c0ri4xgwgcwqrvc";
+          rev = "e6c25201a3325b555e64388908d584f3f81d9e32";
+          sha256 = "0ai4ff6hinajvnp8r86s5pv0rrv8h68ncdz4k98kka1ws2f79zdf";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/024a76b83efce47271bcb0ce3bde01b88349f391/recipes/mips-mode";
@@ -24568,27 +24747,6 @@
           license = lib.licenses.free;
         };
       }) {};
-    mmm-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
-    melpaBuild {
-        pname = "mmm-mode";
-        version = "0.5.4";
-        src = fetchFromGitHub {
-          owner = "purcell";
-          repo = "mmm-mode";
-          rev = "4085494df67e0a3207839a175ac62673dfd0acc1";
-          sha256 = "097s4xnwfy8d1wzmz65g2f8bnjjjlj67w1yzwn4d3yasb171nbv8";
-        };
-        recipeFile = fetchurl {
-          url = "https://raw.githubusercontent.com/milkypostman/melpa/cae2ac3513e371a256be0f1a7468e38e686c2487/recipes/mmm-mode";
-          sha256 = "10vkqaf4684cm5yds1xfinvgc3v7871fb203sfl9dbkcgnd5dcjw";
-          name = "mmm-mode";
-        };
-        packageRequires = [];
-        meta = {
-          homepage = "https://melpa.org/#/mmm-mode";
-          license = lib.licenses.free;
-        };
-      }) {};
     mmt = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "mmt";
@@ -24718,12 +24876,12 @@
     mode-line-debug = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "mode-line-debug";
-        version = "1.2.2";
+        version = "1.2.3";
         src = fetchFromGitHub {
           owner = "tarsius";
           repo = "mode-line-debug";
-          rev = "da44422eeb6a1f055b4ec2f822962c5162fce001";
-          sha256 = "1lkw9nnlns6v7r6nx915f85whq1ri4w8lccwyxrvam40hfvq60s1";
+          rev = "a0fcc394b07d2414bd6f722da10f1c7567333f6b";
+          sha256 = "04vsb0lniy90bhnqb590dap9y4wac64xz0lc2rlfczic0nrqd1aa";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/b0080ab9ef1eca5dd19b3fd9af536d8aa17773a2/recipes/mode-line-debug";
@@ -24781,12 +24939,12 @@
     monokai-theme = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "monokai-theme";
-        version = "3.5.0";
+        version = "3.5.3";
         src = fetchFromGitHub {
           owner = "oneKelvinSmith";
           repo = "monokai-emacs";
-          rev = "bb5cbbd5895b8b3fbc6af572b1fd0aacd4988a8a";
-          sha256 = "1f0jl4a3b6i9skbcym0qzpszy620385m947l2ba2wxf1na7rc626";
+          rev = "1143c072f5153ae1a69807e5e8af163069b947d2";
+          sha256 = "0dy8c3349j7fmp8052hbgvk0b7ldlv5jqpg0paq1i0hlypivd30i";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/2bc9ce95a02fc4bcf7bc7547849c1c15d6db5089/recipes/monokai-theme";
@@ -24820,15 +24978,36 @@
           license = lib.licenses.free;
         };
       }) {};
+    moody = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "moody";
+        version = "0.2.0";
+        src = fetchFromGitHub {
+          owner = "tarsius";
+          repo = "moody";
+          rev = "db27ba168503bd6e6c98c313e73699dc403a10aa";
+          sha256 = "1y0zg0flcv3sawyqvwilh1ysvbn1bsnkn0b2n89lj00zyb5dj5z8";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/63521fe6a1e540544a07231cc94144439e8caea7/recipes/moody";
+          sha256 = "095241sjw330fb5lk48aa4zx8xbzk8s4ml22n6a8bzr99nkhn5jy";
+          name = "moody";
+        };
+        packageRequires = [ emacs ];
+        meta = {
+          homepage = "https://melpa.org/#/moody";
+          license = lib.licenses.free;
+        };
+      }) {};
     morlock = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "morlock";
-        version = "1.0.1";
+        version = "1.0.2";
         src = fetchFromGitHub {
           owner = "tarsius";
           repo = "morlock";
-          rev = "5845b60c705e8db88ce790b0b12cd8b917e1e5a5";
-          sha256 = "1a6kwpanwcnipsq0dc99r4iiz9xa2k883syj0kbk544dxgf338xj";
+          rev = "b883d48024ddfffebe2d0dd69f5ed54c617f8834";
+          sha256 = "0xns4f39x012n7piiv6kgb45n932wxs5fp4yyq44p1mnr0m8v4y8";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/b6ef53bbc80edda12a90a8a9705fe14415972833/recipes/morlock";
@@ -24988,6 +25167,48 @@
           license = lib.licenses.free;
         };
       }) {};
+    mpdel = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, libmpdel, melpaBuild }:
+    melpaBuild {
+        pname = "mpdel";
+        version = "0.4.0";
+        src = fetchFromGitHub {
+          owner = "mpdel";
+          repo = "mpdel";
+          rev = "3786dd31a9f0a3355c967889323742cfe61f4141";
+          sha256 = "0fqdhjmywyw9yd97glrw12j962kmq062djgz2ymv6kspy2g1xv9y";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/bb25443752e18e47afc63d5497cc5052c388a607/recipes/mpdel";
+          sha256 = "1py6zk16yl7pyql2qxzd770clzszw7c769hw70n963kns1qmpif8";
+          name = "mpdel";
+        };
+        packageRequires = [ emacs libmpdel ];
+        meta = {
+          homepage = "https://melpa.org/#/mpdel";
+          license = lib.licenses.free;
+        };
+      }) {};
+    mpmc-queue = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, queue }:
+    melpaBuild {
+        pname = "mpmc-queue";
+        version = "0.1.1";
+        src = fetchFromGitHub {
+          owner = "smizoe";
+          repo = "mpmc-queue";
+          rev = "4775ddcb120528828ef1fcb7ee761524a0907a31";
+          sha256 = "0fbrx288vpd0vx2cph7kfclr7hhplqjgynr6csmkh8jaskv26p79";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/30511f1e5eaf45b5f43fbacdd6c7254cb39b1d2c/recipes/mpmc-queue";
+          sha256 = "08jcmhfl87nsg6zgv582yfs152bqihbcssh085gxxqn2x99li354";
+          name = "mpmc-queue";
+        };
+        packageRequires = [ emacs queue ];
+        meta = {
+          homepage = "https://melpa.org/#/mpmc-queue";
+          license = lib.licenses.free;
+        };
+      }) {};
     mpv = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, json ? null, lib, melpaBuild, names, org }:
     melpaBuild {
         pname = "mpv";
@@ -25155,6 +25376,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    multi-run = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, window-layout }:
+    melpaBuild {
+        pname = "multi-run";
+        version = "1";
+        src = fetchFromGitHub {
+          owner = "sagarjha";
+          repo = "multi-run";
+          rev = "87d9eed414999fd94685148d39e5308c099e65ca";
+          sha256 = "0m4wk6sf01b7bq5agmyfcm9kpmwmd90wbvh7fkhs61mrs86s2zw8";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/e05ad99477bb97343232ded7083fddb810ae1781/recipes/multi-run";
+          sha256 = "1iv4a49czdjl0slp8590f1ya0vm8g2ycnkwrdpqi3b55haaqp91h";
+          name = "multi-run";
+        };
+        packageRequires = [ emacs window-layout ];
+        meta = {
+          homepage = "https://melpa.org/#/multi-run";
+          license = lib.licenses.free;
+        };
+      }) {};
     multi-term = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "multi-term";
@@ -25263,12 +25505,12 @@
     mwim = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "mwim";
-        version = "0.3";
+        version = "0.4";
         src = fetchFromGitHub {
           owner = "alezost";
           repo = "mwim.el";
-          rev = "d7885c32ad54f5b5698b48abea392a8eae2567a8";
-          sha256 = "1kssmryl44m4cq05ff98blwdvqafb9x7v3bvb1z70rrvdvw3l024";
+          rev = "462207227b98a6a4356d51419f5ad5ba9356e5cf";
+          sha256 = "06lw6064i82daasgm87gm58d142pypqc1q3cnx1cm35hyj4skd32";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/b7e1aa2fa1294b27ed7b6c5bdd5844fa5c37df72/recipes/mwim";
@@ -25578,12 +25820,12 @@
     neon-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "neon-mode";
-        version = "1.2.2";
+        version = "1.3.0";
         src = fetchFromGitHub {
           owner = "Fuco1";
           repo = "neon-mode";
-          rev = "044040df9e83a015ddfe58940b503b6197fc29ce";
-          sha256 = "0cxfn1v3jww8ih4yn77jw4lp8kjlc19m2vffwm8jli0dg8fzrfqa";
+          rev = "99d15e46beaf1e7d71e39a00cce810df1f33229d";
+          sha256 = "07vsi07m5q070fvkqhz32qa2y7dgnyi1kggairimbiwbn98bh642";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/c6b2a4898bf21413c4d9e6714af129bbb0a23e1a/recipes/neon-mode";
@@ -25725,12 +25967,12 @@
     nix-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "nix-mode";
-        version = "1.2.1";
+        version = "1.2.2";
         src = fetchFromGitHub {
           owner = "NixOS";
           repo = "nix-mode";
-          rev = "d5e839692a1273b128003eaed543318e7e5965a7";
-          sha256 = "1zpqpq6hd83prk80921nbjrvcmk0dykqrrr1mw3b29ppjma5zjiz";
+          rev = "cc23fd6a0e394aeeed603e2bfeb4a5ebc63db660";
+          sha256 = "1vz3s2jx14nzy53f04d821n4f2s22ys5h9s7af6cnpynkwawyhhq";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/e1870d786dbfac3b14386c8030e06f2d13ab9da6/recipes/nix-mode";
@@ -25767,12 +26009,12 @@
     no-littering = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "no-littering";
-        version = "0.5.12";
+        version = "0.5.13";
         src = fetchFromGitHub {
           owner = "emacscollective";
           repo = "no-littering";
-          rev = "8e321f1036770c20637a0f946b655805cd070e25";
-          sha256 = "11hxf0fkka4mv1qsw0nx3ymvgcav95r2bvk1gwyj5m5cbwb4a1n9";
+          rev = "57bf044e2f779a03c7bb80c9131d31286ca9660d";
+          sha256 = "0fdsm6d3v2hjcyl2kcrzv1fzy17qy8l5a5kpkrv3xq3s25l7dqx1";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/57a2fb9524df3fdfdc54c403112e12bd70888b23/recipes/no-littering";
@@ -25827,6 +26069,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    nofrils-acme-theme = callPackage ({ emacs, fetchFromGitLab, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "nofrils-acme-theme";
+        version = "0.1.0";
+        src = fetchFromGitLab {
+          owner = "esessoms";
+          repo = "nofrils-theme";
+          rev = "7825f88cb881a84eaa5cd1689772819a18eb2943";
+          sha256 = "1aslhxk5mp6khf66ac4c441vywhiqpb4kyajagb8b1p10z8hrqva";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/c59ddaa5e41d3c25c446b1ed1905d7f88b448e0a/recipes/nofrils-acme-theme";
+          sha256 = "01xqsn8whczv34lfa9vbm5rpvrvsrlpav8pzng10jvax1a9wdp3a";
+          name = "nofrils-acme-theme";
+        };
+        packageRequires = [ emacs ];
+        meta = {
+          homepage = "https://melpa.org/#/nofrils-acme-theme";
+          license = lib.licenses.free;
+        };
+      }) {};
     nord-theme = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "nord-theme";
@@ -25869,11 +26132,11 @@
       }) {};
     notmuch = callPackage ({ fetchgit, fetchurl, lib, melpaBuild }: melpaBuild {
         pname = "notmuch";
-        version = "0.26";
+        version = "0.26.1";
         src = fetchgit {
           url = "https://git.notmuchmail.org/git/notmuch";
-          rev = "3c4e64d976eb561ac5157df1bbe5882e3e65b583";
-          sha256 = "00a9ggrc63n88g7vp57c09r859pl2dbxnqgf543ks94lm0jzyz3f";
+          rev = "ea690a44d1a5af3da496b0d9482471cbd9623231";
+          sha256 = "0c9ihkwg2p2sq1zkribbc4k60sl5zdi3sgcy0v2amydsk5kkfy3r";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/d05fbde3aabfec4efdd19a33fd2b1297905acb5a/recipes/notmuch";
@@ -25910,12 +26173,12 @@
     nov = callPackage ({ dash, emacs, esxml, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "nov";
-        version = "0.2.2";
+        version = "0.2.3";
         src = fetchFromGitHub {
           owner = "wasamasa";
           repo = "nov.el";
-          rev = "4ef20ebb587ffb0ab73c85ad5748d41af1071596";
-          sha256 = "03s0qjvwk1f7y3i4wh2p5y3z4hdv00adgz8za3vphzc0q8i1kjzb";
+          rev = "e7bb37334ca85ce0e3f5c980464f652266a11218";
+          sha256 = "1lymf4ir9kja0dpifbx230cq3n1li25kcdn3x3bh8fskiil1pqm0";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/cf543955ba2d5d0074fa2a5ba176f9415f6e006d/recipes/nov";
@@ -26204,12 +26467,12 @@
     ob-prolog = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "ob-prolog";
-        version = "1.0.0";
+        version = "1.0.2";
         src = fetchFromGitHub {
           owner = "ljos";
           repo = "ob-prolog";
-          rev = "7e94309d3a21d7e265f3a85b41801397f286af00";
-          sha256 = "0qxpgnjrx04dl43i949vcwv70sc7i23ivyvfk82hdvl8c2lwfd7w";
+          rev = "efa86bb70fd1907806f3e43705aff54d35582442";
+          sha256 = "0g25nn2h7djgc9rp59spx9096jdypsizd0vfzwj96cpq90lkysjx";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/fb87868cd74325f0a4a38c5542c264501000951d/recipes/ob-prolog";
@@ -26544,8 +26807,8 @@
         src = fetchFromGitHub {
           owner = "OmniSharp";
           repo = "omnisharp-emacs";
-          rev = "7a6fe00e841106b17e7554f8a21f8457d12c5197";
-          sha256 = "1vrgj2irm87pykfjyx27a46g5xam7rxwjdfqh4jl6p8cgzgprrrg";
+          rev = "c00a3a9157432c578fffb79169232e4a81d4ad31";
+          sha256 = "0ghwqf1wbiywzdx0qlgs4y94z4ivlgac8rpg1bimlb8xfx62sia0";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/e327c483be04de32638b420c5b4e043d12a2cd01/recipes/omnisharp";
@@ -27073,6 +27336,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    org-index = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "org-index";
+        version = "5.8.8";
+        src = fetchFromGitHub {
+          owner = "marcihm";
+          repo = "org-index";
+          rev = "0dfe0a67979279345378ca006ab4f727df378aca";
+          sha256 = "16wjzskq000grkanaw9zca2qbw9yzpndhfd2g0b0if2mf1g31mkv";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/54946e733901986304f7a7a5139b2818ebf97eb3/recipes/org-index";
+          sha256 = "1dp52xqrhby2xyi6p2d0ggp5irqsqwicp62ndg5wszyd33clxab5";
+          name = "org-index";
+        };
+        packageRequires = [ emacs ];
+        meta = {
+          homepage = "https://melpa.org/#/org-index";
+          license = lib.licenses.free;
+        };
+      }) {};
     org-jira = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, request, s }:
     melpaBuild {
         pname = "org-jira";
@@ -27094,27 +27378,48 @@
           license = lib.licenses.free;
         };
       }) {};
-    org-journal = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    org-journal = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "org-journal";
-        version = "1.12.3";
+        version = "1.13.3";
         src = fetchFromGitHub {
           owner = "bastibe";
           repo = "org-journal";
-          rev = "44a52a20a154d5c1a78684ef720972c4fe36b64a";
-          sha256 = "0c4jwh53mgy4qpv7aiwbsbvjjhchyfjb0ca5ny5875ljvkq59qz6";
+          rev = "f24d6c5e71954fd1a748e719b9b4b51f77879800";
+          sha256 = "10cqri6k3lvsngwg060nj4n15ip54h3ldlyxgnknmp6wl0vjsjr3";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/7fabdb05de9b8ec18a3a566f99688b50443b6b44/recipes/org-journal";
           sha256 = "1npzqxn1ssigq7k1nrxz3xymxaazby0ddgxq6lgw2a1zjmjm4h2b";
           name = "org-journal";
         };
-        packageRequires = [];
+        packageRequires = [ emacs ];
         meta = {
           homepage = "https://melpa.org/#/org-journal";
           license = lib.licenses.free;
         };
       }) {};
+    org-kanban = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "org-kanban";
+        version = "0.2.0";
+        src = fetchFromGitHub {
+          owner = "gizmomogwai";
+          repo = "org-kanban";
+          rev = "2f0909f6f988f5185026a46a9cc929404652672f";
+          sha256 = "08imw445bic3r8x7wls78dqskgx9ny5lixdksrvnp806vixq0f94";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/a9f3a10c126fa43a6fa60ee7f8e50c7a9661dbc1/recipes/org-kanban";
+          sha256 = "1flgqa2pwzw6b2zm3j09i9bvz1i8k03mbwj6l75yrk29lh4njq41";
+          name = "org-kanban";
+        };
+        packageRequires = [ dash emacs ];
+        meta = {
+          homepage = "https://melpa.org/#/org-kanban";
+          license = lib.licenses.free;
+        };
+      }) {};
     org-link-travis = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, org }:
     melpaBuild {
         pname = "org-link-travis";
@@ -27220,6 +27525,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    org-noter = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, org }:
+    melpaBuild {
+        pname = "org-noter";
+        version = "1.0.1";
+        src = fetchFromGitHub {
+          owner = "weirdNox";
+          repo = "org-noter";
+          rev = "32cdf41079ca67c5906a10215eb7fbaefebab994";
+          sha256 = "11hhw8fk1qn63hwdx49h9h58p2hmxhmni6qdazd0ipk68finmy8f";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/4a2bc0d95dc2744277d6acbba1f7483b4c14d75c/recipes/org-noter";
+          sha256 = "0vsc2b1yz9lw0zv1vnm722pl35kxpwhcdi7h6mijhnw8vv7rhixf";
+          name = "org-noter";
+        };
+        packageRequires = [ cl-lib emacs org ];
+        meta = {
+          homepage = "https://melpa.org/#/org-noter";
+          license = lib.licenses.free;
+        };
+      }) {};
     org-outlook = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "org-outlook";
@@ -27506,12 +27832,12 @@
     org-static-blog = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "org-static-blog";
-        version = "1.0.3";
+        version = "1.1.2";
         src = fetchFromGitHub {
           owner = "bastibe";
           repo = "org-static-blog";
-          rev = "1a63f7eb0682a73126b534458b403ad0858273e8";
-          sha256 = "13k8rqh8r48hhdn8z580g379m6mgyc3jnh8a2kk0b22vlx6c3zap";
+          rev = "ab4ad93a23e5402b5276c061945872dd6d586e75";
+          sha256 = "07j4gyw22372nlfbaf94w6a7pza01zp6ivsg9iq2hcnx5pniv7hz";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/e0768d41a3de625c04ac8644ef2e05f17ee99908/recipes/org-static-blog";
@@ -27737,12 +28063,12 @@
     org-trello = callPackage ({ dash, dash-functional, deferred, fetchFromGitHub, fetchurl, lib, melpaBuild, request-deferred, s }:
     melpaBuild {
         pname = "org-trello";
-        version = "0.8.0";
+        version = "0.8.1";
         src = fetchFromGitHub {
           owner = "org-trello";
           repo = "org-trello";
-          rev = "32dd866e830836a72a3b96b96e0d00d044d0eaf7";
-          sha256 = "0m5hyhb6211hdmyp1bq6f3fklfgw3957knd96bfdafj727vdnlzm";
+          rev = "c38c36159cdeb2348c4e9ca75246aa9cc1dfd76c";
+          sha256 = "02gx3kv4mkij69ln8x8wf9n28x17pbb4kv85v78d3lxph7ykqimc";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/188ed8dc1ce2704838f7a2883c41243598150a46/recipes/org-trello";
@@ -27893,12 +28219,12 @@
     orgit = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, lib, magit, melpaBuild, org }:
     melpaBuild {
         pname = "orgit";
-        version = "1.5.0";
+        version = "1.5.1";
         src = fetchFromGitHub {
           owner = "magit";
           repo = "orgit";
-          rev = "976f3c7d25ad92c57341b52dad9af89b49c37f0c";
-          sha256 = "0m8mghh0iydbvlsrg0zd2xajfhdxgxk79dm4gwircrh6zv8194ax";
+          rev = "d909f92d3b1b42184143fd5e6d4c6a2762477ab7";
+          sha256 = "1jdc874bxkpbfpllak3vmfsn82p930s565bzff341vzv7aw2528c";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/73b5f7c44c90540e4cbdc003d9881f0ac22cc7bc/recipes/orgit";
@@ -27914,12 +28240,12 @@
     orglink = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, org }:
     melpaBuild {
         pname = "orglink";
-        version = "1.1.2";
+        version = "1.1.3";
         src = fetchFromGitHub {
           owner = "tarsius";
           repo = "orglink";
-          rev = "50debcf3508d2252bdce35c8822af1b3a81fd2dd";
-          sha256 = "1b86c4pyc7cs02lrhnk93gh3czp9wajm17wd9mhszcbdn996rnhz";
+          rev = "e9e90e16ddaceaf99c9b251a215d6338b9762b4d";
+          sha256 = "0vqyidi54rbpqwqi6iv1xaqkr9gfr0pfhr1msxckh8jy6avgy319";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/be9b8e97cda6af91d54d402887f225e3a0caf055/recipes/orglink";
@@ -28037,27 +28363,6 @@
           license = lib.licenses.free;
         };
       }) {};
-    osx-plist = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
-    melpaBuild {
-        pname = "osx-plist";
-        version = "1.0.0";
-        src = fetchFromGitHub {
-          owner = "emacsmirror";
-          repo = "osx-plist";
-          rev = "5e6de2622fdfe552d4902904f05ea03bc5a6ebd0";
-          sha256 = "0830kkmvc3ss7ygqfwz3j75s7mhxfxyadaksrp0v2cc4y6wn6nfv";
-        };
-        recipeFile = fetchurl {
-          url = "https://raw.githubusercontent.com/milkypostman/melpa/f3686dc818bd12be247bad915c01736a95690041/recipes/osx-plist";
-          sha256 = "0zaqmhf5nm6jflwgxnknhi8zn97vhsia2xv8jm677l0h23pk2va8";
-          name = "osx-plist";
-        };
-        packageRequires = [];
-        meta = {
-          homepage = "https://melpa.org/#/osx-plist";
-          license = lib.licenses.free;
-        };
-      }) {};
     osx-pseudo-daemon = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "osx-pseudo-daemon";
@@ -28100,6 +28405,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    outlook = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "outlook";
+        version = "0.1";
+        src = fetchFromGitHub {
+          owner = "asavonic";
+          repo = "outlook.el";
+          rev = "5847c6f13b106cb54529080e9050be5b8b5be867";
+          sha256 = "13wlfklk342gv5fmzpnz69mc07vm8x6xmh7li1w7f13ci3v4s045";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/c5ce3e6800213b117578a1022f25407f2ec1604f/recipes/outlook";
+          sha256 = "0yq9zl7dr8kkm4rps5np4dwvjfhzsxq9wd1af7zwcmms4l3qry6k";
+          name = "outlook";
+        };
+        packageRequires = [ emacs ];
+        meta = {
+          homepage = "https://melpa.org/#/outlook";
+          license = lib.licenses.free;
+        };
+      }) {};
     outorg = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "outorg";
@@ -28163,6 +28489,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    overcast-theme = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "overcast-theme";
+        version = "1.1.0";
+        src = fetchFromGitHub {
+          owner = "myTerminal";
+          repo = "overcast-theme";
+          rev = "009257956522dedf07d9e136ee41ac0b1b0b3518";
+          sha256 = "1g3s44n839s7fw3spkph31m0a5walilj151v0jyp302mjfn396nh";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/d86691c61fc880954a05502a6474cc2fa0d0a43b/recipes/overcast-theme";
+          sha256 = "1v8hdnvc4pfmadkvdm6b8z0cy20pminvhjdlr13q5m9immr88a4r";
+          name = "overcast-theme";
+        };
+        packageRequires = [ emacs ];
+        meta = {
+          homepage = "https://melpa.org/#/overcast-theme";
+          license = lib.licenses.free;
+        };
+      }) {};
     overseer = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, pkg-info }:
     melpaBuild {
         pname = "overseer";
@@ -28436,22 +28783,22 @@
           license = lib.licenses.free;
         };
       }) {};
-    package-utils = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    package-utils = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, restart-emacs }:
     melpaBuild {
         pname = "package-utils";
-        version = "0.5.0";
+        version = "1.0.0";
         src = fetchFromGitHub {
           owner = "Silex";
           repo = "package-utils";
-          rev = "e00df8a85fb3d0cfe9dde5a683d81e1a89570e29";
-          sha256 = "14zcg9rc2nif8kv8pfmv9arbq0i8glviyvxgxr0lfiif2n4cfg9s";
+          rev = "652531caf1a1df916d2185e7f47085bd0509c940";
+          sha256 = "0lmz4szrfs2445q8nyqnh9hgm69bwdf7q78sfqyxiw1fqaj205si";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a1bb884a0299408daa716eba42cb39f79622766c/recipes/package-utils";
           sha256 = "02hgh7wg68ysfhw5hckrpshzv4vm1vnm395d34x6vpgl4ccx7v9r";
           name = "package-utils";
         };
-        packageRequires = [];
+        packageRequires = [ restart-emacs ];
         meta = {
           homepage = "https://melpa.org/#/package-utils";
           license = lib.licenses.free;
@@ -28460,12 +28807,12 @@
     packed = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "packed";
-        version = "2.0.2";
+        version = "3.0.0";
         src = fetchFromGitHub {
           owner = "emacscollective";
           repo = "packed";
-          rev = "94ea12b9d44bfa42c28d0548199f2fcd19e4aa6a";
-          sha256 = "1n80y5pqaibix71fnw3cxmq66frmqfji2b2y170jszmrxi03kwxm";
+          rev = "c41c3dfda86ae33832ffc146923e2a4675cbacfa";
+          sha256 = "1272xmb3l8ddfijqzci3x0kxwibqb0sbkci4rbcv9ba9hpxp4d1v";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/57a2fb9524df3fdfdc54c403112e12bd70888b23/recipes/packed";
@@ -28668,12 +29015,12 @@
     paren-face = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "paren-face";
-        version = "1.0.3";
+        version = "1.0.4";
         src = fetchFromGitHub {
           owner = "tarsius";
           repo = "paren-face";
-          rev = "166975683225367c866e6ae6f6acb88d24e21a35";
-          sha256 = "02mh8w2na6qa94p3bh6pvdvmg36p2vrbp5hpjnwjcayrb92dskgy";
+          rev = "a45d111153a76c481fa0b36d6172ac90e073dfc4";
+          sha256 = "1cr0vnm57lxs48z17ddcv7qlfvks7wdsp01zsw0c7i3h5ajl8myp";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/d398398d1d5838dc4985a06515ee668f0f566aab/recipes/paren-face";
@@ -29443,12 +29790,12 @@
     php-mode = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "php-mode";
-        version = "1.18.4";
+        version = "1.19.0";
         src = fetchFromGitHub {
           owner = "ejmr";
           repo = "php-mode";
-          rev = "ad7d1092e1d66602482c5b54ed0609c6171dcae1";
-          sha256 = "03yp07dxmxmhm8p5qcxsfdidhvnrpls20nr234cz6yamjl5zszh6";
+          rev = "c68013a583e2f0bd0792e0988ff9ce3e6deae531";
+          sha256 = "0ycqf8fr3f4flgww9ffiga2hkj8l6ikcdj93iafp7qxqs1bzjxfl";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/7cdbc35fee67b87b87ec72aa00e6dca77aef17c4/recipes/php-mode";
@@ -29930,6 +30277,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    pomidor = callPackage ({ alert, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "pomidor";
+        version = "0.2";
+        src = fetchFromGitHub {
+          owner = "TatriX";
+          repo = "pomidor";
+          rev = "5780ce2aaa98882a79e92f5eefaaf10fd8dbee3a";
+          sha256 = "19bz3pg3s265wpcwb458i84138z170rgd1qybn6vrll2brvwsf8b";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/4e0d4f313081594df23f357c40feb456847d8bd0/recipes/pomidor";
+          sha256 = "0pdzipyza98dhnz6am8lrmz8fh3p1c21v2mhs56fb9lwyvcgv8fi";
+          name = "pomidor";
+        };
+        packageRequires = [ alert emacs ];
+        meta = {
+          homepage = "https://melpa.org/#/pomidor";
+          license = lib.licenses.free;
+        };
+      }) {};
     pony-snippets = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, yasnippet }:
     melpaBuild {
         pname = "pony-snippets";
@@ -30562,12 +30930,12 @@
     protobuf-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "protobuf-mode";
-        version = "3.5.1.1";
+        version = "3.5.2";
         src = fetchFromGitHub {
           owner = "google";
           repo = "protobuf";
-          rev = "860bd12fec5c69e6529565165532b3d5108a7d97";
-          sha256 = "1h4xydr5j2zg1888ncn8a1jvqq8fgpgckrmjg6lqzy9jpkvqvfdk";
+          rev = "b5fbb742af122b565925987e65c08957739976a7";
+          sha256 = "14gq6rnv03zvcb5hym240z4yqiphrmd5y4zx9a77n37rwvfgx5qy";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/b4e7f5f641251e17add561991d3bcf1fde23467b/recipes/protobuf-mode";
@@ -30622,22 +30990,22 @@
           license = lib.licenses.free;
         };
       }) {};
-    psession = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    psession = callPackage ({ async, cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "psession";
-        version = "1.3";
+        version = "1.4";
         src = fetchFromGitHub {
           owner = "thierryvolpiatto";
           repo = "psession";
-          rev = "3488f7777486aa6c85ebc04d011860163d3cf0fc";
-          sha256 = "0v9pg9ywwdqmahmmhg4gwzmibznlbmiyz4hf90brb59ns013jb53";
+          rev = "c48b0574e1477437b4427e78d018f858b49fd0ff";
+          sha256 = "1ffgnkdvrryc84cw1m5k37zx22dd5l7z882zgfh1p3dfzh8rqpqb";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/669342d2b3e6cb622f196571d776a98ec8f3b1d3/recipes/psession";
           sha256 = "18va6kvpia5an74vkzccs72z02vg4vq9mjzr5ih7xbcqxna7yv3a";
           name = "psession";
         };
-        packageRequires = [ cl-lib emacs ];
+        packageRequires = [ async cl-lib emacs ];
         meta = {
           homepage = "https://melpa.org/#/psession";
           license = lib.licenses.free;
@@ -30714,7 +31082,7 @@
           owner = "elzair";
           repo = "punctuality-logger";
           rev = "708cae8e67dbae293c7c4be0ca5e49d76fac6714";
-          sha256 = "1v48i37iqrrwbyy3bscicfq66vbbml4sg0f0n950bnk0qagjx8py";
+          sha256 = "1bkkgs2agy00wivilljkj3a9fsb2ba935icjmhbk46zjc6yf3y6q";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/76ac7178ee5381e08ae881f3fc6061106eeb1c1d/recipes/punctuality-logger";
@@ -31071,7 +31439,7 @@
           owner = "python-mode-devs";
           repo = "python-mode";
           rev = "a0a534639bc6142c2c2f44bd7ca5878ad5f79518";
-          sha256 = "0sj2hfjwpcdg9djsgl3y5aa3gnvl4s87477x6a9d14m11db3p7ml";
+          sha256 = "173i3k0nvjri1g1mkgkc2i9c9mpnsvxf1ldmm12yhadl5gl2ah07";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/82861e1ab114451af5e1106d53195afd3605448a/recipes/python-mode";
@@ -31087,12 +31455,12 @@
     python-pytest = callPackage ({ dash, dash-functional, emacs, fetchFromGitHub, fetchurl, lib, magit-popup, melpaBuild, projectile, s }:
     melpaBuild {
         pname = "python-pytest";
-        version = "0.2.2";
+        version = "0.3.1";
         src = fetchFromGitHub {
           owner = "wbolster";
           repo = "emacs-python-pytest";
-          rev = "0ed385f7e8edd1a7d0aee72f5112459ea9054cbe";
-          sha256 = "1wpvgx8ldrnq0pjr8iq65f3m0kmh1c9hnv1lkrgrglqazs2c6hbm";
+          rev = "6772ecfaa86f0f4a1a66bfd3a454c9b11956de70";
+          sha256 = "086jjygzdrcjfp7j70xs8jh8nq0xv496kza6iap7lyc3qf16b4kk";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/d95442748827911e082a55f4fd7c348a3757e274/recipes/python-pytest";
@@ -31157,12 +31525,12 @@
     pyvenv = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "pyvenv";
-        version = "1.12";
+        version = "1.13";
         src = fetchFromGitHub {
           owner = "jorgenschaefer";
           repo = "pyvenv";
-          rev = "71eec02c25006737444dec7dfd004285f6cff6a8";
-          sha256 = "1j62qf4llrbmwwi7ynrhnzvh0g4razbc21vdlaa8jkjg6y5id95m";
+          rev = "70a755d79b04964bdb969e41166f2473e21f277e";
+          sha256 = "1sim74ccvwifradjdq726jbfcbw52cizbj1vh8q7c75qis6nhb7x";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/e37236b89b9705ba7a9d134b1fb2c3c003953a9b/recipes/pyvenv";
@@ -31196,6 +31564,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    ql = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "ql";
+        version = "1.0";
+        src = fetchFromGitHub {
+          owner = "ieure";
+          repo = "ql-el";
+          rev = "c885d125d8972374b408f6eddf031e44dc6fa0c6";
+          sha256 = "1l1jdvz1913m03ikcf9g3dsraaajqac1kzfy9c9xhzx8w7bbl80c";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/475bd8fd66c6d5b5c7e74aa2c4e094d313cc8303/recipes/ql";
+          sha256 = "0wxjblqacs5nx2hyh7r6rlv1yngbhn6phn5rni4dw2dms98zj34z";
+          name = "ql";
+        };
+        packageRequires = [ emacs ];
+        meta = {
+          homepage = "https://melpa.org/#/ql";
+          license = lib.licenses.free;
+        };
+      }) {};
     qml-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "qml-mode";
@@ -31640,12 +32029,12 @@
     realgud = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, load-relative, loc-changes, melpaBuild, test-simple }:
     melpaBuild {
         pname = "realgud";
-        version = "1.4.4";
+        version = "1.4.5";
         src = fetchFromGitHub {
           owner = "rocky";
           repo = "emacs-dbgr";
-          rev = "3804711863630affe79614a1527bc12c0955ec7c";
-          sha256 = "0fi48xh6rc7z146rafkabqhg6wy3zv85apn1bciw9pysazblq8pb";
+          rev = "09431a4561921bece36a6083b6e27ac4dc82432d";
+          sha256 = "00dgdiiwnwynlyyh6pfhljrl363s8zd5ynbx9mhd2y8c3gmvfab0";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/7ca56f05df6c8430a5cbdc55caac58ba79ed6ce5/recipes/realgud";
@@ -32192,12 +32581,12 @@
     rg = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, s }:
     melpaBuild {
         pname = "rg";
-        version = "1.4.2";
+        version = "1.5.0";
         src = fetchFromGitHub {
           owner = "dajva";
           repo = "rg.el";
-          rev = "562ac6fd6291f828ee6116db62982c77ddd52956";
-          sha256 = "0r5pqjmjwn5qpm8kns1730a6cq3bqxjp8ha63w0n1hnrd4gb24sw";
+          rev = "d50bd106275f3ef7f77d0147857412fb065eef47";
+          sha256 = "0zjhak534j1n03z6p9wjmgc48yy40icrp2x8y9vbvg4hgx8xh9lm";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/9ce1f721867383a841957370946f283f996fa76f/recipes/rg";
@@ -32318,12 +32707,12 @@
     rjsx-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, js2-mode, lib, melpaBuild }:
     melpaBuild {
         pname = "rjsx-mode";
-        version = "0.3.0";
+        version = "0.4.0";
         src = fetchFromGitHub {
           owner = "felipeochoa";
           repo = "rjsx-mode";
-          rev = "79bedb1d188e209be5cfef3bea8906df9c509ab8";
-          sha256 = "1dh76r9hy1d1f9xhdywslgv0w3c9nhsbwvpd8icgp300x5c6a3zh";
+          rev = "f7d31589acd8a2dfcf4ca8851d2384e4f90364d0";
+          sha256 = "057pgylflzd69ydqz41g8wisvixypdrfn8yv81mfixh3iyq740y8";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/b83be7efdef2457e1320fe3dec46484fbd20263c/recipes/rjsx-mode";
@@ -32927,12 +33316,12 @@
     sayid = callPackage ({ cider, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "sayid";
-        version = "0.0.15";
+        version = "0.0.16";
         src = fetchFromGitHub {
           owner = "bpiel";
           repo = "sayid";
-          rev = "b44b6d346604f8d1ef9b9180be359ce1e601a298";
-          sha256 = "0ggk60l132qgscgqbx4fdhzx6nlv2k7gbrjapkdl15slz2kyq03d";
+          rev = "8ea70573e6eb1a0d1a450fd501f38c2cf26ce27f";
+          sha256 = "02yp3h16yzys27lxcxn7qzb23z95vjdaxhinz0swdixgr5qwwc77";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/2bd2e05f9c9328d8f9ae434c86697a4a04af8b0d/recipes/sayid";
@@ -32948,12 +33337,12 @@
     sbt-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "sbt-mode";
-        version = "1.0.1";
+        version = "1.0.2";
         src = fetchFromGitHub {
           owner = "ensime";
           repo = "emacs-sbt-mode";
-          rev = "84c3d178a1f2c580f620fd8f03a05ac6413086a3";
-          sha256 = "1ndxylb2jbnfrrsbbs5vcxygrqd3ssf3az01nh694hv6lkcidw5k";
+          rev = "a70899661861cf40f54f773c3066fe5b5e9fb71d";
+          sha256 = "0gnqy88qi751pzpg8ga3j2yx0x9cz5inkqpv2451n5b0gjfps9yh";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/364abdc3829fc12e19f00b534565227dbc30baad/recipes/sbt-mode";
@@ -33594,7 +33983,7 @@
           license = lib.licenses.free;
         };
       }) {};
-    shrink-path = callPackage ({ dash, f, fetchFromGitLab, fetchurl, lib, melpaBuild, s }:
+    shrink-path = callPackage ({ dash, emacs, f, fetchFromGitLab, fetchurl, lib, melpaBuild, s }:
     melpaBuild {
         pname = "shrink-path";
         version = "0.3.1";
@@ -33602,14 +33991,14 @@
           owner = "bennya";
           repo = "shrink-path.el";
           rev = "9b8cfb59a2dcee8b39b680ab9adad5ecb1f53c0b";
-          sha256 = "0kx0c4syd7k6ff9j463bib32pz4wq0rzjlg6b0yqnymlzfr1mbki";
+          sha256 = "021bpgpzysag1s11m9pyq2bk6a0mf9ayx10yxhf5cw56x3d0jj1b";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/86b0d105e8a57d5f0bcde779441dc80b85e170ea/recipes/shrink-path";
           sha256 = "0fq13c6g7qbq6f2ry9dzdyg1f6p41wimkjcdaj177rnilz77alzb";
           name = "shrink-path";
         };
-        packageRequires = [ dash f s ];
+        packageRequires = [ dash emacs f s ];
         meta = {
           homepage = "https://melpa.org/#/shrink-path";
           license = lib.licenses.free;
@@ -33660,12 +34049,12 @@
     shx = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "shx";
-        version = "0.0.13";
+        version = "0.0.14";
         src = fetchFromGitHub {
           owner = "riscy";
           repo = "shx-for-emacs";
-          rev = "33383bd359d795df2d7ef725b5349c953f5a6aa8";
-          sha256 = "1arwsb6as8jpah0bs3b92a3kdnbfkhnsm1jglspfh4lqpafmx5vf";
+          rev = "b33b23097ad34177e4179e9d3731ec5db30c6391";
+          sha256 = "0vlgm1aix074ifi9gvp4c0ygdmzplydj4gdsl46173qbd8lfi2rj";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/7a2ff78ae3c4289ebf9e06cdfd8f8082c395a16f/recipes/shx";
@@ -34521,12 +34910,12 @@
     solidity-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "solidity-mode";
-        version = "0.1.8";
+        version = "0.1.9";
         src = fetchFromGitHub {
           owner = "ethereum";
           repo = "emacs-solidity";
-          rev = "b5d95ef678305ca70b17e94fc2ee4289a8328048";
-          sha256 = "04l3hvfpgqiaxdxh8s2cg2rx4cy50i7a411q81g8661fx60c6h6p";
+          rev = "d0ff4dea49540f37301d869f2797fca2492f55d5";
+          sha256 = "1wcy5z4wggn3zs9h1kyvm0ji51ppjcqdmym3mmxbrhan6a0kq724";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/bb9df5ec0692352b6494d435d11166f4ea26c99e/recipes/solidity-mode";
@@ -34731,12 +35120,12 @@
     sparql-mode = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "sparql-mode";
-        version = "4.0.0";
+        version = "4.0.2";
         src = fetchFromGitHub {
           owner = "ljos";
           repo = "sparql-mode";
-          rev = "0ca89a2186ac35d7323ac45c0bea2e1c9ecd61ea";
-          sha256 = "0a0vy1pg9s6vh3z52bahhcls9b5p4hhqi075cqsif0ld2l4a4am2";
+          rev = "2837b97244111515c61fb3823c1479bc126a458b";
+          sha256 = "0hqp8r24wvzrkl630wbm0lynrcrnawv2yn2a3xgwqwwhwgva35rn";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/c3d729130a41903bb01465d0f01c34fbc508b56e/recipes/sparql-mode";
@@ -34980,6 +35369,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    srcery-theme = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "srcery-theme";
+        version = "0.1.0";
+        src = fetchFromGitHub {
+          owner = "roosta";
+          repo = "emacs-srcery";
+          rev = "385809e78a2494ee617782430415048d91a11444";
+          sha256 = "1r6k042jipqz04nlr9gfpq6p80k33k4aqxsn03p1sicnpakzpixg";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/1df48441ecf6abd272ff154722b9ce0e2546c284/recipes/srcery-theme";
+          sha256 = "1r8srxhznli3sskwppk7fyapyx0qixagkwm0fllgsbm4nwkzq9pn";
+          name = "srcery-theme";
+        };
+        packageRequires = [];
+        meta = {
+          homepage = "https://melpa.org/#/srcery-theme";
+          license = lib.licenses.free;
+        };
+      }) {};
     srefactor = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "srefactor";
@@ -35490,8 +35900,8 @@
         src = fetchFromGitHub {
           owner = "CestDiego";
           repo = "sweetgreen.el";
-          rev = "9de3916023872ab054e1c7301175fa27fdb1de0c";
-          sha256 = "1h56qkbx5abz1l94wrdpbzspiz24mfgkppzfalvbvx5qwl079cvs";
+          rev = "e40d2821ff941695e50a9b003a8c96d32c19bfdc";
+          sha256 = "1gw09x5d4yqlmknjsrhgygp9bch315cnmyqp3679i3hza0l7fds6";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/63812707948e6dcc00e00ebc3c423469593e80fd/recipes/sweetgreen";
@@ -35672,6 +36082,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    symbolword-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "symbolword-mode";
+        version = "1.0";
+        src = fetchFromGitHub {
+          owner = "ncaq";
+          repo = "symbolword-mode";
+          rev = "273dece5b04f7abc4c35048b2f64f04b33774b87";
+          sha256 = "0gpm0zy1kwqxkakvfdgh1lylp99msyamwvi19c53g9jl01m9avyd";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/be2018e0206c3f39c1b67e83000b030d70a72ceb/recipes/symbolword-mode";
+          sha256 = "1fs1irnmlbrn76b4gdsy0v65nz8av85iqm0b7g9nm2rm8azcr050";
+          name = "symbolword-mode";
+        };
+        packageRequires = [];
+        meta = {
+          homepage = "https://melpa.org/#/symbolword-mode";
+          license = lib.licenses.free;
+        };
+      }) {};
     symon = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "symon";
@@ -35779,12 +36210,12 @@
     system-packages = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "system-packages";
-        version = "1.0.0";
+        version = "1.0.2";
         src = fetchFromGitHub {
           owner = "jabranham";
           repo = "system-packages";
-          rev = "149c253583e8b4d56a851b1e91e456260749cdea";
-          sha256 = "1c0q9c0wq9kskg8p6mnh6mnkivlabb46aqfcs7ms21497ndlmlsv";
+          rev = "fff67d190440fb076104f0f52d55a5e098207e31";
+          sha256 = "0ia4nnyhk84dkahsan8l8dslmqiv0afs5abc1w2fnql7zhsiac6q";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/8c423d8c1ff251bd34df20bdb8b425c2f55ae1b1/recipes/system-packages";
@@ -36493,12 +36924,12 @@
     tidal = callPackage ({ emacs, fetchFromGitHub, fetchurl, haskell-mode, lib, melpaBuild }:
     melpaBuild {
         pname = "tidal";
-        version = "0.9.6";
+        version = "0.9.8";
         src = fetchFromGitHub {
           owner = "tidalcycles";
           repo = "Tidal";
-          rev = "b96bc7842e15f6b8973df8966307db7a1c4b7406";
-          sha256 = "0g02k411xbwqv66qi2pw7r0slkvgfgvr7q41kf1czqnrmg5k4wzg";
+          rev = "f8af7bdbda547ebd12cf5c0ee1327f33cd9aa93f";
+          sha256 = "0y7a4bxsgpbg1sbsi4xdp4k9x3l0vh7acm5i3k87acpcpfb9aq5y";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/16a26659a16199b5bb066be6e5c4a40419bda018/recipes/tidal";
@@ -36514,12 +36945,12 @@
     tide = callPackage ({ cl-lib ? null, dash, fetchFromGitHub, fetchurl, flycheck, lib, melpaBuild, s, typescript-mode }:
     melpaBuild {
         pname = "tide";
-        version = "2.7.1";
+        version = "2.8.1";
         src = fetchFromGitHub {
           owner = "ananthakumaran";
           repo = "tide";
-          rev = "6ca5319cdd581d323944584242a1ba45a115ee3d";
-          sha256 = "1jcnzx8g742pfh9nv3gcsxdj31kfpjzl202by30pzg2xz54i48gb";
+          rev = "0db094ba1748e3add4e152fa34d64b25eb07bdd2";
+          sha256 = "113lg22aaagh3bbabxp65460cfwa9whjg3yzafd5n8azkinq8s6k";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a21e063011ebbb03ac70bdcf0a379f9e383bdfab/recipes/tide";
@@ -36752,8 +37183,8 @@
           sha256 = "0fk45jmnx34azldxa4yrv6lqmkaxkpkqbnwnn29q7y4ld0ljghs0";
         };
         recipeFile = fetchurl {
-          url = "https://raw.githubusercontent.com/milkypostman/melpa/7a680ee3b4a0ab286ac04d84b3fba7606b40c65b/recipes/treemacs";
-          sha256 = "0zbnw48wrbq9g7vlwxapxpq9xz8cqyr63814w0pqnh6j40ia7r2a";
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/91038c1ab2f463102263dcc3701c0fdaad55de4c/recipes/treemacs";
+          sha256 = "1wcsn0kzrbawyyhxmsmrsxr1vp0llkxw6r7zx53pwyc82ia64nlv";
           name = "treemacs";
         };
         packageRequires = [ ace-window cl-lib dash emacs f ht hydra pfuture s ];
@@ -36773,8 +37204,8 @@
           sha256 = "0fk45jmnx34azldxa4yrv6lqmkaxkpkqbnwnn29q7y4ld0ljghs0";
         };
         recipeFile = fetchurl {
-          url = "https://raw.githubusercontent.com/milkypostman/melpa/7a680ee3b4a0ab286ac04d84b3fba7606b40c65b/recipes/treemacs-evil";
-          sha256 = "1b02dybvp2fs9n1f80gpnqaxic45wwykny7vdyfay11ds5xzfpsg";
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/91038c1ab2f463102263dcc3701c0fdaad55de4c/recipes/treemacs-evil";
+          sha256 = "1i2mxqwnqb2jz775qg3z4lf7pk4mgi646fyyi2la5gdcnq6a46mg";
           name = "treemacs-evil";
         };
         packageRequires = [ evil treemacs ];
@@ -36794,8 +37225,8 @@
           sha256 = "0fk45jmnx34azldxa4yrv6lqmkaxkpkqbnwnn29q7y4ld0ljghs0";
         };
         recipeFile = fetchurl {
-          url = "https://raw.githubusercontent.com/milkypostman/melpa/7a680ee3b4a0ab286ac04d84b3fba7606b40c65b/recipes/treemacs-projectile";
-          sha256 = "0q3rj0g03423ql0d1ssp928x5f4540kxqlg51584aw57dlyy2z3n";
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/91038c1ab2f463102263dcc3701c0fdaad55de4c/recipes/treemacs-projectile";
+          sha256 = "1vyifik30673bwlfvbmw8pzz7f3wd4q6zzssvbj8d23zhk8kh8vc";
           name = "treemacs-projectile";
         };
         packageRequires = [ projectile treemacs ];
@@ -37401,12 +37832,12 @@
     uptimes = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "uptimes";
-        version = "3.5";
+        version = "3.6";
         src = fetchFromGitHub {
           owner = "davep";
           repo = "uptimes.el";
-          rev = "07bcd6517243c9c9f61172202d33718bd9b2a850";
-          sha256 = "0n416p47j4cl84lq8wcgmkagkws7a9n4g9307v1s91s2gqmfia3n";
+          rev = "5e81f8bb419836602819045e7d5a74b76ad3e69c";
+          sha256 = "04l452k249s3ilfj0da0k7rrfyjnxxdsipa2al46xqjds8l3h2rn";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/72099e35ce3e34ec6afc6a3f87a4da07ec91499a/recipes/uptimes";
@@ -37440,15 +37871,36 @@
           license = lib.licenses.free;
         };
       }) {};
+    use-package-el-get = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, use-package }:
+    melpaBuild {
+        pname = "use-package-el-get";
+        version = "0.1";
+        src = fetchFromGitHub {
+          owner = "edvorg";
+          repo = "use-package-el-get";
+          rev = "f33c448ed43ecb003b60ff601ee7ef9b08cff947";
+          sha256 = "1wzn3h8k7aydj3hxxws64b0v4cr3b77cf7z128xh3v6xz2w62m4z";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/ee4a96cf467bcab171a0adfd4ef754abec1a9971/recipes/use-package-el-get";
+          sha256 = "0sg9ijkjax6w25p0q7rw5rjn8r2i83z5jfzjkvy8pxil5cg8zyh0";
+          name = "use-package-el-get";
+        };
+        packageRequires = [ use-package ];
+        meta = {
+          homepage = "https://melpa.org/#/use-package-el-get";
+          license = lib.licenses.free;
+        };
+      }) {};
     usql = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "usql";
-        version = "0.0.1";
+        version = "0.0.3";
         src = fetchFromGitHub {
           owner = "nickbarnwell";
           repo = "usql.el";
-          rev = "4cd8f4cf5c2e75485343321f02d621915aef10e8";
-          sha256 = "0cw25g8jvfjpzq3sabc3zbp0qynknzc0mq5psspcbxffk2qalbb9";
+          rev = "bfaf428b366a9a185eef84f0d645a98dc918fe3d";
+          sha256 = "00b1g30l86abg65wc9f4vcn4ccqa2zmn2mi33vdjrq3phw17d2ks";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/c8f6b968312a09d062fcc8f942d29c93df2a5a3c/recipes/usql";
@@ -37464,12 +37916,12 @@
     utop = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "utop";
-        version = "2.0.2";
+        version = "2.1.0";
         src = fetchFromGitHub {
           owner = "diml";
           repo = "utop";
-          rev = "599fa4ff640d731927415a44679e5b07d9553acd";
-          sha256 = "030wmzi51hya4180m411afy8i2vkq63r630cms3apdqd2bkjjjqs";
+          rev = "1b4bd052c6513d38f6cc626c24665637d25fdc07";
+          sha256 = "05pv6nj88im1jf9nngv56z362wrp9pmkzrjn3nm846rdzbc5f21j";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/30489fe52b4031184e54f994770aa3291257bc9d/recipes/utop";
@@ -37784,7 +38236,7 @@
           owner = "iankelling";
           repo = "visible-mark";
           rev = "c1852e13b6b61982738b56977a452ec9026faf1b";
-          sha256 = "15zdbvv6c114mv6hdq375l7ax70sss06p9d7m86hgssc3kiv9vsv";
+          sha256 = "1rsi9irv9i03627cmfaqz03f9cvpm7555ga8n2gs622lzp6bb3jf";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/76ac7178ee5381e08ae881f3fc6061106eeb1c1d/recipes/visible-mark";
@@ -38136,12 +38588,12 @@
     web-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "web-mode";
-        version = "15";
+        version = "16";
         src = fetchFromGitHub {
           owner = "fxbois";
           repo = "web-mode";
-          rev = "aef2a32f6e5e2fdb7f38a650b009a737c67959e2";
-          sha256 = "14x91pngh9i7r66inssc4jaqvzv2kb3bnbks5x2bhsidvls7s28r";
+          rev = "3ff506aae50a47b277f2b95ff7b7a7c596664e6a";
+          sha256 = "17dw6a8d0p304f2sa4f9zwd8r48w2wbkc3fvbmxwlg4w12h7cwf0";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/6f0565555eaa356141422c5175d6cca4e9eb5c00/recipes/web-mode";
@@ -38723,12 +39175,12 @@
     with-editor = callPackage ({ async, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "with-editor";
-        version = "2.7.1";
+        version = "2.7.2";
         src = fetchFromGitHub {
           owner = "magit";
           repo = "with-editor";
-          rev = "04d59d68dab58a7cf3034c84d8ba0553b78ae30c";
-          sha256 = "080f39m9nmi163arpmxw45xwadb7q7w7p385yi1jy62bzvqnk0pm";
+          rev = "ff3e96929d4532e33422a5980a6e3ca9f2fcf032";
+          sha256 = "1fhn2wd0wszbnfpvnjmlw8gxqzy8f4q7dg7r16jpa1cmk0fpcdi0";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/8c52c840dc35f3fd17ec660e113ddbb53aa99076/recipes/with-editor";
@@ -39311,12 +39763,12 @@
     yang-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "yang-mode";
-        version = "0.9.7";
+        version = "0.9.8";
         src = fetchFromGitHub {
           owner = "mbj4668";
           repo = "yang-mode";
-          rev = "0d5d5df86dbb6cbb2de3c0f2d0d5f8c8f29d0695";
-          sha256 = "0ca55vjv9lz7w8mk2z731bia9vialrd4kv0igi09xs1mm0r2x5nv";
+          rev = "340aec635e359609b22f7e94df15af1af2b070f6";
+          sha256 = "0795z6s71vlb709n5lpx2f9adfjndafg1h5860zvy1qc4m1054rz";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/bb42ab9b5f118baaf6766c478046552b686981a1/recipes/yang-mode";
@@ -39828,7 +40280,7 @@
           owner = "egh";
           repo = "zotxt-emacs";
           rev = "43c0c6d23b31126bac6b14bb85608180fd9c866f";
-          sha256 = "0qksa67aazs9vx7v14nlakr34z6l0h6mhfzi2c0vhrr0c210r6hp";
+          sha256 = "1hz1m4190yi6knz3y088ql8wy3pmsl8lsznqby2vpnn9p74fvl37";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/b633453e77a719f6b6b6564e66c1c1260db38aa6/recipes/zotxt";
diff --git a/pkgs/applications/editors/emacs-modes/melpa-stable-packages.nix b/pkgs/applications/editors/emacs-modes/melpa-stable-packages.nix
index a2ba794933e..33473ecad3f 100644
--- a/pkgs/applications/editors/emacs-modes/melpa-stable-packages.nix
+++ b/pkgs/applications/editors/emacs-modes/melpa-stable-packages.nix
@@ -81,10 +81,6 @@ self:
         inherit (self.melpaPackages) ess ctable popup;
       };
 
-      ess-R-object-popup = super.ess-R-object-popup.override {
-        inherit (self.melpaPackages) ess popup;
-      };
-
       # upstream issue: doesn't build
       eterm-256color = markBroken super.eterm-256color;
 
@@ -100,8 +96,8 @@ self:
       # Expects bash to be at /bin/bash
       flycheck-rtags = markBroken super.flycheck-rtags;
 
-      # upstream issue: missing file header
-      fold-dwim = markBroken super.fold-dwim;
+      # upstream issue: missing dependency
+      fold-dwim-org = markBroken super.fold-dwim-org;
 
       # build timeout
       graphene = markBroken super.graphene;
diff --git a/pkgs/applications/editors/emacs-modes/org-generated.nix b/pkgs/applications/editors/emacs-modes/org-generated.nix
index f6349089be1..c0223e17a56 100644
--- a/pkgs/applications/editors/emacs-modes/org-generated.nix
+++ b/pkgs/applications/editors/emacs-modes/org-generated.nix
@@ -1,10 +1,10 @@
 { callPackage }: {
     org = callPackage ({ elpaBuild, fetchurl, lib }: elpaBuild {
         pname = "org";
-        version = "20180226";
+        version = "20180416";
         src = fetchurl {
-          url = "https://orgmode.org/elpa/org-20180226.tar";
-          sha256 = "0jqvry6gah1bwnryha4asynj13jyds3qim0xcy7s01rxk99m2ziy";
+          url = "https://orgmode.org/elpa/org-20180416.tar";
+          sha256 = "05rbkrs93zd9kvldwvypb8fwwaysajy5n7b2k9c8xm2cx2nayv8m";
         };
         packageRequires = [];
         meta = {
@@ -14,10 +14,10 @@
       }) {};
     org-plus-contrib = callPackage ({ elpaBuild, fetchurl, lib }: elpaBuild {
         pname = "org-plus-contrib";
-        version = "20180226";
+        version = "20180416";
         src = fetchurl {
-          url = "https://orgmode.org/elpa/org-plus-contrib-20180226.tar";
-          sha256 = "034wp70hcqnpidji5k1k80mj35iyyy098nbvc2sl7i2aca4m03zc";
+          url = "https://orgmode.org/elpa/org-plus-contrib-20180416.tar";
+          sha256 = "1f5zdfsa1fcf66hk3w57wh5385069yg0b86h57jgkcbmxkcmj6ij";
         };
         packageRequires = [];
         meta = {
diff --git a/pkgs/applications/editors/focuswriter/default.nix b/pkgs/applications/editors/focuswriter/default.nix
index 4964de13986..b01532ae288 100644
--- a/pkgs/applications/editors/focuswriter/default.nix
+++ b/pkgs/applications/editors/focuswriter/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "focuswriter-${version}";
-  version = "1.6.8";
+  version = "1.6.12";
 
   src = fetchurl {
     url = "https://gottcode.org/focuswriter/focuswriter-${version}-src.tar.bz2";
-    sha256 = "1d2q99xa7dhdpqkipapzi1r1mvynf70s7sgdczd59kn0d8sr3map";
+    sha256 = "0vcr9dhfsdls2x493klv7w5kn08iqqfg2jwjcbz274mcnd07bpqj";
   };
 
   nativeBuildInputs = [ pkgconfig qmake qttools ];
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
     description = "Simple, distraction-free writing environment";
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ madjar ];
-    platforms = platforms.all;
+    platforms = platforms.linux;
     homepage = https://gottcode.org/focuswriter/;
   };
 }
diff --git a/pkgs/applications/editors/geany/default.nix b/pkgs/applications/editors/geany/default.nix
index 23478758efe..bedc299ee67 100644
--- a/pkgs/applications/editors/geany/default.nix
+++ b/pkgs/applications/editors/geany/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, gtk2, which, pkgconfig, intltool, file }:
+{ stdenv, fetchurl, gtk2, which, pkgconfig, intltool, file, libintl }:
 
 with stdenv.lib;
 
@@ -14,9 +14,7 @@ stdenv.mkDerivation rec {
     sha256 = "66baaff43f12caebcf0efec9a5533044dc52837f799c73a1fd7312caa86099c2";
   };
 
-  NIX_LDFLAGS = if stdenv.isDarwin then "-lintl" else null;
-
-  nativeBuildInputs = [ pkgconfig intltool ];
+  nativeBuildInputs = [ pkgconfig intltool libintl ];
   buildInputs = [ gtk2 which file ];
 
   doCheck = true;
diff --git a/pkgs/applications/editors/ghostwriter/default.nix b/pkgs/applications/editors/ghostwriter/default.nix
index 491fc0ca2a8..7a0399ea0f8 100644
--- a/pkgs/applications/editors/ghostwriter/default.nix
+++ b/pkgs/applications/editors/ghostwriter/default.nix
@@ -2,14 +2,14 @@
 
 stdenv.mkDerivation rec {
   pname = "ghostwriter";
-  version = "1.5.0";
+  version = "1.6.2";
   name = "${pname}-${version}";
 
   src = fetchFromGitHub {
     owner = "wereturtle";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0ixw2w2526836lwj4pc0vp7prp1gls7iq37v8m9ql1508b33b9pq";
+    sha256 = "0251563zy0q69fzfacvalpx43y15cshb0bhshyd4w37061gh1c12";
   };
 
   nativeBuildInputs = [ qmake pkgconfig ];
diff --git a/pkgs/applications/editors/hexcurse/default.nix b/pkgs/applications/editors/hexcurse/default.nix
index 5c0f2ee18e1..22cc4d47e68 100644
--- a/pkgs/applications/editors/hexcurse/default.nix
+++ b/pkgs/applications/editors/hexcurse/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, fetchFromGitHub, ncurses }:
+{ stdenv, lib, fetchFromGitHub, fetchpatch, ncurses }:
 
 stdenv.mkDerivation rec {
   name = "hexcurse-${version}";
@@ -11,6 +11,18 @@ stdenv.mkDerivation rec {
     sha256 = "17ckkxfzbqvvfdnh10if4aqdcq98q3vl6dn1v6f4lhr4ifnyjdlk";
   };
   buildInputs = [ ncurses ];
+  patches = [
+    # gcc7 compat
+    (fetchpatch {
+      url = https://github.com/LonnyGomes/hexcurse/commit/d808cb7067d1df067f8b707fabbfaf9f8931484c.patch;
+      sha256 = "0h8345blmc401c6bivf0imn4cwii67264yrzxg821r46wrnfvyi2";
+    })
+    # gcc7 compat
+    (fetchpatch {
+      url = https://github.com/LonnyGomes/hexcurse/commit/716b5d58ac859cc240b8ccb9cbd79ace3e0593c1.patch;
+      sha256 = "0v6gbp6pjpmnzswlf6d97aywiy015g3kcmfrrkspsbb7lh1y3nix";
+    })
+  ];
   
   meta = with lib; {
     description = "ncurses-based console hexeditor written in C";
diff --git a/pkgs/applications/editors/ht/default.nix b/pkgs/applications/editors/ht/default.nix
index 112eebfaf6f..63864bc581d 100644
--- a/pkgs/applications/editors/ht/default.nix
+++ b/pkgs/applications/editors/ht/default.nix
@@ -15,6 +15,8 @@ stdenv.mkDerivation rec {
 
   hardeningDisable = [ "format" ];
 
+  patches = [ ./gcc7.patch ];
+
   meta = with lib; {
     description = "File editor/viewer/analyzer for executables";
     homepage = http://hte.sourceforge.net;
diff --git a/pkgs/applications/editors/ht/gcc7.patch b/pkgs/applications/editors/ht/gcc7.patch
new file mode 100644
index 00000000000..a90deaac698
--- /dev/null
+++ b/pkgs/applications/editors/ht/gcc7.patch
@@ -0,0 +1,11 @@
+--- ht-2.1.0.org/htapp.cc	2014-09-14 16:55:26.000000000 +0100
++++ ht-2.1.0/htapp.cc	2018-03-10 12:48:07.158533800 +0000
+@@ -3023,7 +3023,7 @@
+ {
+ 	uint a = 2;
+ 	uint b = u/a;
+-	while (abs(a - b) > 1) {
++	while (abs((int)(a - b)) > 1) {
+ 		a = (a+b)/2;
+ 		b = u/a;
+         }
diff --git a/pkgs/applications/editors/jetbrains/default.nix b/pkgs/applications/editors/jetbrains/default.nix
index a02773f715c..98172ce1905 100644
--- a/pkgs/applications/editors/jetbrains/default.nix
+++ b/pkgs/applications/editors/jetbrains/default.nix
@@ -3,8 +3,6 @@
 , androidsdk, jdk, cmake, libxml2, zlib, python3, ncurses
 }:
 
-assert stdenv.isLinux;
-
 with stdenv.lib;
 
 let
@@ -104,9 +102,9 @@ let
     }) (attrs: {
       postFixup = (attrs.postFixup or "") + ''
         interp="$(cat $NIX_CC/nix-support/dynamic-linker)"
-        patchelf --set-interpreter $interp $out/goland*/plugins/intellij-go-plugin/lib/dlv/linux/dlv
+        patchelf --set-interpreter $interp $out/goland*/plugins/go/lib/dlv/linux/dlv
 
-        chmod +x $out/goland*/plugins/intellij-go-plugin/lib/dlv/linux/dlv
+        chmod +x $out/goland*/plugins/go/lib/dlv/linux/dlv
       '';
     });
 
@@ -211,7 +209,7 @@ let
     });
 
   buildWebStorm = { name, version, src, license, description, wmClass, update-channel }:
-    (mkJetBrainsProduct {
+    lib.overrideDerivation (mkJetBrainsProduct {
       inherit name version src wmClass jdk;
       product = "WebStorm";
       meta = with stdenv.lib; {
@@ -225,8 +223,13 @@ let
         maintainers = with maintainers; [ abaldeau ];
         platforms = platforms.linux;
       };
+    }) (attrs: {
+      patchPhase = (attrs.patchPhase or "") + optionalString (stdenv.isLinux) ''
+        # Webstorm tries to use bundled jre if available.
+        # Lets prevent this for the moment
+        rm -r jre64
+      '';
     });
-
 in
 
 {
@@ -234,12 +237,12 @@ in
 
   clion = buildClion rec {
     name = "clion-${version}";
-    version = "2017.3.3"; /* updated by script */
+    version = "2018.1.2"; /* updated by script */
     description  = "C/C++ IDE. New. Intelligent. Cross-platform";
     license = stdenv.lib.licenses.unfree;
     src = fetchurl {
       url = "https://download.jetbrains.com/cpp/CLion-${version}.tar.gz";
-      sha256 = "0j090863y68ppw34qkldm8h4lpbhalhqn70gb0ifj9bglf17503d"; /* updated by script */
+      sha256 = "158ydbr0bbzm1nqi4xhrcp6bwk7kmiw78v959h7bxg3y7z55hbwa"; /* updated by script */
     };
     wmClass = "jetbrains-clion";
     update-channel = "CLion_Release"; # channel's id as in http://www.jetbrains.com/updates/updates.xml
@@ -247,25 +250,25 @@ in
 
   datagrip = buildDataGrip rec {
     name = "datagrip-${version}";
-    version = "2017.3.5"; /* updated by script */
+    version = "2018.1.2"; /* updated by script */
     description = "Your Swiss Army Knife for Databases and SQL";
     license = stdenv.lib.licenses.unfree;
     src = fetchurl {
       url = "https://download.jetbrains.com/datagrip/${name}.tar.gz";
-      sha256 = "1hfy0mxdsvydjjklh8fwdz6f6qxajhngmcmyyzw0gdfhw6ldrv9c"; /* updated by script */
+      sha256 = "12rihb1ppl4i1i0j3yj4ih4qx3xf30kfx022pbvng1rjy0bpikp7"; /* updated by script */
     };
     wmClass = "jetbrains-datagrip";
-    update-channel = "datagrip_2017_3";
+    update-channel = "datagrip_2018_1";
   };
 
   goland = buildGoland rec {
     name = "goland-${version}";
-    version = "2017.3.2"; /* updated by script */
+    version = "2018.1.2"; /* 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 = "0bhvj1xqlpy58yq2s5nrhhaw53i913zpr135b1f6r5s22nvkigvm"; /* updated by script */
+      sha256 = "1qhhxarvw6mzavyzackzkbq52yfr5437gljxdvlbr6rpi99hgfzb"; /* updated by script */
     };
     wmClass = "jetbrains-goland";
     update-channel = "goland_release";
@@ -273,12 +276,12 @@ in
 
   idea-community = buildIdea rec {
     name = "idea-community-${version}";
-    version = "2017.3.4"; /* updated by script */
+    version = "2018.1.2"; /* 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 = "15qsfirzmmjhwzkhx36zr4n0z5lhs021n2n3wim01g309ymr4gl9"; /* updated by script */
+      sha256 = "0s5vbdg8ajaac1jqh8ypy20fp061aqjhiyi20kdcsb0856nw5frg"; /* updated by script */
     };
     wmClass = "jetbrains-idea-ce";
     update-channel = "IDEA_Release";
@@ -286,12 +289,12 @@ in
 
   idea-ultimate = buildIdea rec {
     name = "idea-ultimate-${version}";
-    version = "2017.3.4"; /* updated by script */
+    version = "2018.1.2"; /* 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 = "0f937s6zc1sv0gdlxf9kkc8l8rg78a5mxsfr2laab0g37rfy8c99"; /* updated by script */
+      sha256 = "1rrqc9sj0ibkkj627hzwdh7l5z8zm6cmaz0yzx6xhyi989ivfy2r"; /* updated by script */
     };
     wmClass = "jetbrains-idea";
     update-channel = "IDEA_Release";
@@ -299,25 +302,25 @@ in
 
   phpstorm = buildPhpStorm rec {
     name = "phpstorm-${version}";
-    version = "2017.3.4"; /* updated by script */
+    version = "2018.1.2"; /* updated by script */
     description = "Professional IDE for Web and PHP developers";
     license = stdenv.lib.licenses.unfree;
     src = fetchurl {
       url = "https://download.jetbrains.com/webide/PhpStorm-${version}.tar.gz";
-      sha256 = "1hxkn0p0lp021bbysypwn8s69iggb76iwq38jv5a1ql7v5r1nwvd"; /* updated by script */
+      sha256 = "13si8g7n1qvjm5ivbrazsbqlvwwlg65nia78k74nkaqp704z92cs"; /* updated by script */
     };
     wmClass = "jetbrains-phpstorm";
-    update-channel = "PS2017.3";
+    update-channel = "PS2018.1";
   };
 
   pycharm-community = buildPycharm rec {
     name = "pycharm-community-${version}";
-    version = "2017.3.3"; /* updated by script */
+    version = "2018.1.2"; /* updated by script */
     description = "PyCharm Community Edition";
     license = stdenv.lib.licenses.asl20;
     src = fetchurl {
       url = "https://download.jetbrains.com/python/${name}.tar.gz";
-      sha256 = "1j9pp8lfy62d9l3953d5mpij60s6sqyv3bcjimgy85hsrw570x3r"; /* updated by script */
+      sha256 = "1phxzsz2qnyk0b0kkccsgjkxx4ak7rbm68k1lpgr59rwyxqnazy3"; /* updated by script */
     };
     wmClass = "jetbrains-pycharm-ce";
     update-channel = "PyCharm_Release";
@@ -325,12 +328,12 @@ in
 
   pycharm-professional = buildPycharm rec {
     name = "pycharm-professional-${version}";
-    version = "2017.3.3"; /* updated by script */
+    version = "2018.1.2"; /* updated by script */
     description = "PyCharm Professional Edition";
     license = stdenv.lib.licenses.unfree;
     src = fetchurl {
       url = "https://download.jetbrains.com/python/${name}.tar.gz";
-      sha256 = "180cwva49air4j7g409algrm4svvmcbapspf9als3djhazqmczgr"; /* updated by script */
+      sha256 = "08cfmrrmxs67dc61cvjc0ynzng0hnr2i78fv3m888k4x63cy6mv5"; /* updated by script */
     };
     wmClass = "jetbrains-pycharm";
     update-channel = "PyCharm_Release";
@@ -351,25 +354,25 @@ in
 
   ruby-mine = buildRubyMine rec {
     name = "ruby-mine-${version}";
-    version = "2017.3.2"; /* updated by script */
+    version = "2018.1.1"; /* 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 = "1dc14k7i0nfhkzi0j53hysqzxcls29j487jr9kv1aqp81k544bdy"; /* updated by script */
+      sha256 = "1nh2m10ikwl85n66aspkmgxmbk98amhlgj2xl2sasjfwn5pn1wmf"; /* updated by script */
     };
     wmClass = "jetbrains-rubymine";
-    update-channel = "rm2017.3";
+    update-channel = "rm2018.1";
   };
 
   webstorm = buildWebStorm rec {
     name = "webstorm-${version}";
-    version = "2017.3.4"; /* updated by script */
+    version = "2018.1.2"; /* 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 = "0d5whqa6c76l6g5yj0yq8a3k1x6d9kxwnac1dwsiy5dbr5jk0cyj"; /* updated by script */
+      sha256 = "14fmny9i0cgkplna0li5q2c5wiqk71k6c5h480ia85jaqi2vm8jh"; /* updated by script */
     };
     wmClass = "jetbrains-webstorm";
     update-channel = "WS_Release";
diff --git a/pkgs/applications/editors/kakoune/default.nix b/pkgs/applications/editors/kakoune/default.nix
index 404160668b4..868dfaf3d12 100644
--- a/pkgs/applications/editors/kakoune/default.nix
+++ b/pkgs/applications/editors/kakoune/default.nix
@@ -4,12 +4,12 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   name = "kakoune-unstable-${version}";
-  version = "2018-02-15";
+  version = "2018-03-22";
   src = fetchFromGitHub {
     repo = "kakoune";
     owner = "mawww";
-    rev = "f5e39972eb525166dc5b1d963067f79990991a75";
-    sha256 = "160a302xg6nfzx49dkis6ij20kyzr63kxvcv8ld3l07l8k69g80r";
+    rev = "f8e297acef1be0657b779fea5256f606a6c6a3a3";
+    sha256 = "14xmw3lkwzppm9bns55nmyb1lfihzhdyisf6xjqlszdj4mcf94jl";
   };
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ ncurses asciidoc docbook_xsl libxslt ];
diff --git a/pkgs/applications/editors/kodestudio/default.nix b/pkgs/applications/editors/kodestudio/default.nix
index 8eb2f392ddc..b03abc2146a 100644
--- a/pkgs/applications/editors/kodestudio/default.nix
+++ b/pkgs/applications/editors/kodestudio/default.nix
@@ -1,7 +1,7 @@
 { stdenv, lib, callPackage, fetchurl, makeDesktopItem, makeWrapper
 , # Patchelf dependencies:
   alsaLib, atomEnv, boehmgc, flac, libogg, libvorbis, libXScrnSaver, libGLU_combined
-, openssl, xlibs, xorg, zlib
+, openssl, xorg, zlib
 }:
 
 let
diff --git a/pkgs/applications/editors/moe/default.nix b/pkgs/applications/editors/moe/default.nix
index 751b78ab674..764877a11cb 100644
--- a/pkgs/applications/editors/moe/default.nix
+++ b/pkgs/applications/editors/moe/default.nix
@@ -36,7 +36,7 @@ stdenv.mkDerivation rec {
     homepage = http://www.gnu.org/software/moe/;
     license = licenses.gpl2Plus;
     maintainers = with maintainers; [ AndersonTorres ];
-    platforms = platforms.linux;
+    platforms = platforms.unix;
   };
 }
 # TODO: a configurable, global moerc file
diff --git a/pkgs/applications/editors/nano/default.nix b/pkgs/applications/editors/nano/default.nix
index a4dd39b8f76..9ff1c44dceb 100644
--- a/pkgs/applications/editors/nano/default.nix
+++ b/pkgs/applications/editors/nano/default.nix
@@ -20,11 +20,11 @@ let
 
 in stdenv.mkDerivation rec {
   name = "nano-${version}";
-  version = "2.9.3";
+  version = "2.9.4";
 
   src = fetchurl {
     url = "mirror://gnu/nano/${name}.tar.xz";
-    sha256 = "04j05nbnp8vjjwja90d83p4s6ywyl6qhggflcjzw0p9d9gyvr0vp";
+    sha256 = "0nm3zy4azr5rkxjq7jfybbj3cnddmvxc49rxyqm9cp2zfdp75y9c";
   };
 
   nativeBuildInputs = [ texinfo ] ++ optional enableNls gettext;
diff --git a/pkgs/applications/editors/neovim/default.nix b/pkgs/applications/editors/neovim/default.nix
index 149f7804a79..480b749d201 100644
--- a/pkgs/applications/editors/neovim/default.nix
+++ b/pkgs/applications/editors/neovim/default.nix
@@ -75,6 +75,7 @@ let
 
     cmakeFlags = [
       "-DLUA_PRG=${luaPackages.lua}/bin/lua"
+      "-DGPERF_PRG=${gperf}/bin/gperf"
     ];
 
     # triggers on buffer overflow bug while running tests
diff --git a/pkgs/applications/editors/neovim/ruby_provider/Gemfile.lock b/pkgs/applications/editors/neovim/ruby_provider/Gemfile.lock
index 87b011c4f8b..a95ced76371 100644
--- a/pkgs/applications/editors/neovim/ruby_provider/Gemfile.lock
+++ b/pkgs/applications/editors/neovim/ruby_provider/Gemfile.lock
@@ -1,9 +1,9 @@
 GEM
   remote: https://rubygems.org/
   specs:
-    msgpack (1.2.2)
+    msgpack (1.2.4)
     multi_json (1.13.1)
-    neovim (0.6.2)
+    neovim (0.7.0)
       msgpack (~> 1.0)
       multi_json (~> 1.0)
 
diff --git a/pkgs/applications/editors/neovim/ruby_provider/gemset.nix b/pkgs/applications/editors/neovim/ruby_provider/gemset.nix
index aefecbf5ba8..af887161ea6 100644
--- a/pkgs/applications/editors/neovim/ruby_provider/gemset.nix
+++ b/pkgs/applications/editors/neovim/ruby_provider/gemset.nix
@@ -2,10 +2,10 @@
   msgpack = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1ai0sfdv9jnr333fsvkn7a8vqvn0iwiw83yj603a3i68ds1x6di1";
+      sha256 = "09xy1wc4wfbd1jdrzgxwmqjzfdfxbz0cqdszq2gv6rmc3gv1c864";
       type = "gem";
     };
-    version = "1.2.2";
+    version = "1.2.4";
   };
   multi_json = {
     source = {
@@ -19,9 +19,9 @@
     dependencies = ["msgpack" "multi_json"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "15r3j9bwlpm1ry7cp6059xb0irvsvvlmw53i28z6sf2khwfj5j53";
+      sha256 = "0b487dzz41im8cwzvfjqgf8kkrp6mpkvcbzhazrmqqw8gxyvfbq4";
       type = "gem";
     };
-    version = "0.6.2";
+    version = "0.7.0";
   };
 }
diff --git a/pkgs/applications/kde/okteta.nix b/pkgs/applications/editors/okteta/default.nix
index 0ac8ddebc75..770eb63dc69 100644
--- a/pkgs/applications/kde/okteta.nix
+++ b/pkgs/applications/editors/okteta/default.nix
@@ -1,16 +1,22 @@
 {
-  mkDerivation, lib,
+  mkDerivation, lib, fetchurl,
   extra-cmake-modules, kdoctools,
   qtscript, kconfig, kinit, karchive, kcrash,
   kcmutils, kconfigwidgets, knewstuff, kparts, qca-qt5,
   shared-mime-info
 }:
 
-mkDerivation {
+let
+  version = "17.12.3";
+in mkDerivation rec {
   name = "okteta";
+  src = fetchurl {
+    url    = "mirror://kde/stable/applications/${version}/src/${name}-${version}.tar.xz";
+    sha256 = "03wsv83l1cay2dpcsksad124wzan7kh8zxdw1h0yicn398kdbck4";
+  };
   meta = {
     license = with lib.licenses; [ gpl2 ];
-    maintainers = with lib.maintainers; [ peterhoeg ];
+    maintainers = with lib.maintainers; [ peterhoeg bkchr ];
   };
   nativeBuildInputs = [ qtscript extra-cmake-modules kdoctools ];
   buildInputs = [ shared-mime-info ];
diff --git a/pkgs/applications/editors/rstudio/default.nix b/pkgs/applications/editors/rstudio/default.nix
index 6b7881c490c..0943513a4d1 100644
--- a/pkgs/applications/editors/rstudio/default.nix
+++ b/pkgs/applications/editors/rstudio/default.nix
@@ -6,7 +6,7 @@
 let
   verMajor = "1";
   verMinor = "1";
-  verPatch = "423";
+  verPatch = "442";
   version = "${verMajor}.${verMinor}.${verPatch}";
   ginVer = "1.5";
   gwtVer = "2.7.0";
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
     owner = "rstudio";
     repo = "rstudio";
     rev = "v${version}";
-    sha256 = "02kpmzh0vr0gb5dhiwcm4gwjbc3biwz0km655mgzmx9j64cyd3nf";
+    sha256 = "0drqh2brfs9w8dfh4r7j3fsqdsg63s6pvj2bbg5xwwc0yf220ahs";
   };
 
   # Hack RStudio to only use the input R.
diff --git a/pkgs/applications/editors/sublime/default.nix b/pkgs/applications/editors/sublime/2/default.nix
index 9cf5bd97d0a..78c2d9aaa0c 100644
--- a/pkgs/applications/editors/sublime/default.nix
+++ b/pkgs/applications/editors/sublime/2/default.nix
@@ -2,11 +2,10 @@
 let
   libPath = stdenv.lib.makeLibraryPath [glib xorg.libX11 gtk2 cairo];
 in
-assert stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux";
 
 stdenv.mkDerivation rec {
   name = "sublimetext-2.0.2";
-  src = 
+  src =
     if stdenv.system == "i686-linux" then
       fetchurl {
         name = "sublimetext-2.0.2.tar.bz2";
@@ -55,5 +54,6 @@ stdenv.mkDerivation rec {
   meta = {
     description = "Sophisticated text editor for code, markup and prose";
     license = stdenv.lib.licenses.unfree;
+    platforms = [ "x86_64-linux" "i686-linux" ];
   };
 }
diff --git a/pkgs/applications/editors/sublime3/default.nix b/pkgs/applications/editors/sublime/3/common.nix
index 9c8a75320a6..628993dbf5b 100644
--- a/pkgs/applications/editors/sublime3/default.nix
+++ b/pkgs/applications/editors/sublime/3/common.nix
@@ -1,33 +1,38 @@
+{buildVersion, x32sha256, x64sha256}:
+
 { fetchurl, stdenv, glib, xorg, cairo, gtk2, pango, makeWrapper, openssl, bzip2,
   pkexecPath ? "/run/wrappers/bin/pkexec", libredirect,
-  gksuSupport ? false, gksu, unzip, zip, bash }:
+  gksuSupport ? false, gksu, unzip, zip, bash}:
 
-assert stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux";
 assert gksuSupport -> gksu != null;
 
 let
-  build = "3143";
+
   libPath = stdenv.lib.makeLibraryPath [glib xorg.libX11 gtk2 cairo pango];
   redirects = [ "/usr/bin/pkexec=${pkexecPath}" ]
     ++ stdenv.lib.optional gksuSupport "/usr/bin/gksudo=${gksu}/bin/gksudo";
 in let
+  archSha256 =
+    if stdenv.system == "i686-linux" then
+      x32sha256
+    else
+      x64sha256;
+
+  arch =
+    if stdenv.system == "i686-linux" then
+      "x32"
+    else
+      "x64";
+
   # package with just the binaries
   sublime = stdenv.mkDerivation {
-    name = "sublimetext3-${build}-bin";
-
+    name = "sublimetext3-${buildVersion}-bin";
     src =
-      if stdenv.system == "i686-linux" then
-        fetchurl {
-          name = "sublimetext-${build}.tar.bz2";
-          url = "https://download.sublimetext.com/sublime_text_3_build_${build}_x32.tar.bz2";
-          sha256 = "0dgpx4wij2m77f478p746qadavab172166bghxmj7fb61nvw9v5i";
-        }
-      else
-        fetchurl {
-          name = "sublimetext-${build}.tar.bz2";
-          url = "https://download.sublimetext.com/sublime_text_3_build_${build}_x64.tar.bz2";
-          sha256 = "06b554d2cvpxc976rvh89ix3kqc7klnngvk070xrs8wbyb221qcw";
-        };
+      fetchurl {
+        name = "sublimetext-${buildVersion}.tar.bz2";
+        url = "https://download.sublimetext.com/sublime_text_3_build_${buildVersion}_${arch}.tar.bz2";
+        sha256 = archSha256;
+      };
 
     dontStrip = true;
     dontPatchELF = true;
@@ -80,8 +85,8 @@ in let
       wrapProgram $out/plugin_host --prefix LD_PRELOAD : ${stdenv.cc.cc.lib}/lib${stdenv.lib.optionalString stdenv.is64bit "64"}/libgcc_s.so.1:${openssl.out}/lib/libssl.so:${bzip2.out}/lib/libbz2.so
     '';
   };
-in stdenv.mkDerivation {
-  name = "sublimetext3-${build}";
+in stdenv.mkDerivation (rec {
+  name = "sublimetext3-${buildVersion}";
 
   phases = [ "installPhase" ];
 
@@ -108,6 +113,6 @@ in stdenv.mkDerivation {
     homepage = https://www.sublimetext.com/;
     maintainers = with maintainers; [ wmertens demin-dmitriy zimbatm ];
     license = licenses.unfree;
-    platforms = platforms.linux;
+    platforms = [ "x86_64-linux" "i686-linux" ];
   };
-}
+})
diff --git a/pkgs/applications/editors/sublime/3/packages.nix b/pkgs/applications/editors/sublime/3/packages.nix
new file mode 100644
index 00000000000..8ab7c814407
--- /dev/null
+++ b/pkgs/applications/editors/sublime/3/packages.nix
@@ -0,0 +1,18 @@
+{ callPackage }:
+
+let
+  common = opts: callPackage (import ./common.nix opts);
+in
+  rec {
+    sublime3-dev = common {
+      buildVersion = "3176";
+      x32sha256 = "08asz13888d4ddsz81cfk7k3319dabzz1kgbnshw0756pvyrvr23";
+      x64sha256 = "0cppkh5jx2g8f6jyy1bs81fpb90l0kn5m7y3skackpjdxhd7rwbl";
+    } {};
+
+    sublime3 = common {
+      buildVersion = "3176";
+      x32sha256 = "08asz13888d4ddsz81cfk7k3319dabzz1kgbnshw0756pvyrvr23";
+      x64sha256 = "0cppkh5jx2g8f6jyy1bs81fpb90l0kn5m7y3skackpjdxhd7rwbl";
+    } {};
+  }
diff --git a/pkgs/applications/editors/texmacs/common.nix b/pkgs/applications/editors/texmacs/common.nix
new file mode 100644
index 00000000000..ec2498aa69b
--- /dev/null
+++ b/pkgs/applications/editors/texmacs/common.nix
@@ -0,0 +1,68 @@
+{ stdenv, fetchurl, tex, extraFonts, chineseFonts, japaneseFonts, koreanFonts }:
+rec {
+  extraFontsSrc = fetchurl {
+    url = "ftp://ftp.texmacs.org/pub/TeXmacs/fonts/TeXmacs-extra-fonts-1.0-noarch.tar.gz";
+    sha256 = "0hylgjmd95y9yahbblmawkkw0i71vb145xxv2xqrmff81301n6k7";
+  };
+
+  fullFontsSrc = fetchurl {
+    url = "ftp://ftp.texmacs.org/pub/TeXmacs/fonts/TeXmacs-windows-fonts-1.0-noarch.tar.gz";
+    sha256 = "1yxzjpqpm7kvx0ly5jmfpzlfhsh41b0ibn1v84qv6xy73r2vis2f";
+  };
+
+  chineseFontsSrc = fetchurl {
+    url = "ftp://ftp.texmacs.org/pub/TeXmacs/fonts/TeXmacs-chinese-fonts.tar.gz";
+    sha256 = "0yprqjsx5mfsaxr525mcm3xqwcadzxp14njm38ir1325baada2fp";
+  };
+
+  japaneseFontsSrc = fetchurl {
+    url = "ftp://ftp.texmacs.org/pub/TeXmacs/fonts/TeXmacs-japanese-fonts.tar.gz";
+    sha256 = "1dn6zvsa7gk59d61xicwpbapab3rm6kz48rp5w1bhmihxixw21jn";
+  };
+
+  koreanFontsSrc = fetchurl {
+    url = "ftp://ftp.texmacs.org/pub/TeXmacs/fonts/TeXmacs-korean-fonts.tar.gz";
+    sha256 = "07axg57mqm3jbnm4lawx0h3r2h56xv9acwzjppryfklw4c27f5hh";
+  };
+
+  postPatch = (if tex == null then ''
+    gunzip < ${fullFontsSrc} | (cd TeXmacs && tar xvf -)
+   '' else if extraFonts then ''
+    gunzip < ${extraFontsSrc} | (cd TeXmacs && tar xvf -)
+   '' else "") +
+   (if chineseFonts then ''
+    gunzip < ${chineseFontsSrc} | (cd TeXmacs && tar xvf -)
+   '' else "") +
+   (if japaneseFonts then ''
+    gunzip < ${japaneseFontsSrc} | (cd TeXmacs && tar xvf -)
+   '' else "") +
+   (if koreanFonts then ''
+    gunzip < ${koreanFontsSrc} | (cd TeXmacs && tar xvf -)
+   '' else "");
+
+
+  meta = {
+    description = "WYSIWYW editing platform with special features for scientists";
+    longDescription =
+    '' GNU TeXmacs is a free wysiwyw (what you see is what you want)
+    editing platform with special features for scientists.  The software
+    aims to provide a unified and user friendly framework for editing
+    structured documents with different types of content (text,
+    graphics, mathematics, interactive content, etc.).  The rendering
+    engine uses high-quality typesetting algorithms so as to produce
+    professionally looking documents, which can either be printed out or
+    presented from a laptop.
+
+    The software includes a text editor with support for mathematical
+    formulas, a small technical picture editor and a tool for making
+    presentations from a laptop.  Moreover, TeXmacs can be used as an
+    interface for many external systems for computer algebra, numerical
+    analysis, statistics, etc.  New presentation styles can be written
+    by the user and new features can be added to the editor using the
+    Scheme extension language.  A native spreadsheet and tools for
+    collaborative authoring are planned for later.
+  '';
+    homepage = http://texmacs.org/;
+    license = stdenv.lib.licenses.gpl2Plus;
+  };
+}
diff --git a/pkgs/applications/editors/texmacs/darwin.nix b/pkgs/applications/editors/texmacs/darwin.nix
new file mode 100644
index 00000000000..e319ccf39b1
--- /dev/null
+++ b/pkgs/applications/editors/texmacs/darwin.nix
@@ -0,0 +1,59 @@
+{ stdenv, callPackage, fetchurl, makeWrapper,
+  guile_1_8, qt4, zlib, freetype, CoreFoundation, Cocoa, gettext, libiconv, ghostscript,
+  tex ? null,
+  aspell ? null,
+  netpbm ? null,
+  imagemagick ? null,
+  extraFonts ? false,
+  chineseFonts ? false,
+  japaneseFonts ? false,
+  koreanFonts ? false }:
+let
+  version = "1.99.4";
+  common = callPackage ./common.nix {
+    inherit tex extraFonts chineseFonts japaneseFonts koreanFonts;
+  };
+in
+stdenv.mkDerivation {
+  name = "TeXmacs-${version}";
+
+  src= fetchurl {
+    url = "http://www.texmacs.org/Download/ftp/tmftp/source/TeXmacs-${version}-src.tar.gz";
+    sha256 = "1z8sj0xd1ncbl7ipzfsib6lmc7ahgvmiw61ln5zxm2l88jf7qc1a";
+  };
+
+  patches = [ ./darwin.patch ];
+
+  buildInputs = [ guile_1_8.dev qt4 freetype CoreFoundation Cocoa gettext libiconv ghostscript ];
+
+  GUILE_CPPFLAGS="-D_THREAD_SAFE -I${guile_1_8.dev}/include -I${guile_1_8.dev}/include/guile ";
+
+  NIX_LDFLAGS="${zlib}/lib/libz.dylib";
+
+  buildPhase = ''
+    substituteInPlace Makefile \
+      --replace 'find -d $(MACOS_PACKAGE_TEXMACS)' 'find $(MACOS_PACKAGE_TEXMACS) -depth' \
+      --replace '$(MACOS_PACKAGE_SRC)/bundle-libs.sh' 'true'
+    make MACOS_BUNDLE
+  '';
+
+  installPhase = ''
+    mkdir -p $out/Applications
+    cp -R ../distr/TeXmacs-${version}.app $out/Applications
+  '';
+
+  inherit (common) postPatch;
+
+  postInstall = "wrapProgram $out/Applications/TeXmacs-${version}/Contents/MacOS/TeXmacs --suffix PATH : " +
+    "${ghostscript}/bin:" +
+    (if aspell == null then "" else "${aspell}/bin:") +
+    (if tex == null then "" else "${tex}/bin:") +
+    (if netpbm == null then "" else "${netpbm}/bin:") +
+    (if imagemagick == null then "" else "${imagemagick}/bin:");
+
+  enableParallelBuilding = true;
+
+  meta = common.meta // {
+    platforms = stdenv.lib.platforms.darwin;
+  };
+}
diff --git a/pkgs/applications/editors/texmacs/darwin.patch b/pkgs/applications/editors/texmacs/darwin.patch
new file mode 100644
index 00000000000..2cb33fbbef3
--- /dev/null
+++ b/pkgs/applications/editors/texmacs/darwin.patch
@@ -0,0 +1,29 @@
+--- a/configure
++++ b/configure
+@@ -7461,7 +7461,7 @@ $as_echo "final adjustments for cygwin host" >&6; }
+     CONFIG_QTPIPES="yes"
+     CONFIG_CXXFLAGS="-I${prefix}/include"
+     CONFIG_BSHARED=""
+-    CONFIG_BFLAGS="-framework Cocoa -framework IOKit"
++    CONFIG_BFLAGS="-framework Cocoa -framework IOKit -framework CoreFoundation"
+     CONFIG_BPATH=""
+     CONFIG_SO="dylib"
+     CONFIG_LIB_PATH="DYLD_LIBRARY_PATH"
+@@ -8281,6 +8281,7 @@ _ASEOF
+   if $QMAKE ${additional_qmake_flags} ; then :; else
+     as_fn_error $? "Calling $QMAKE failed." "$LINENO" 5
+   fi
++  echo "QMAKE_MACOSX_DEPLOYMENT_TARGET = 10.10" >> $pro_file
+   # Try to compile a simple Qt app.
+   { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we can build a simple Qt app" >&5
+ $as_echo_n "checking whether we can build a simple Qt app... " >&6; }
+--- a/src/Plugins/Unix/unix_sys_utils.cpp
++++ b/src/Plugins/Unix/unix_sys_utils.cpp
+@@ -17,6 +17,7 @@
+ #include <spawn.h>
+ #include <unistd.h>
+ #include <sys/wait.h>
++#include <pthread.h>
+ 
+ // for thread safe strings
+ #include <string>
diff --git a/pkgs/applications/editors/texmacs/default.nix b/pkgs/applications/editors/texmacs/default.nix
index e51813459c6..d3d95e5886a 100644
--- a/pkgs/applications/editors/texmacs/default.nix
+++ b/pkgs/applications/editors/texmacs/default.nix
@@ -1,41 +1,21 @@
-{stdenv, fetchurl, guile_1_8, qt4, zlib, xmodmap, which, makeWrapper, freetype,
- tex ? null,
- aspell ? null,
- ghostscriptX ? null,
- extraFonts ? false,
- chineseFonts ? false,
- japaneseFonts ? false,
- koreanFonts ? false }:
-
-let 
+{ stdenv, callPackage,
+  fetchurl, guile_1_8, qt4, zlib, xmodmap, which, makeWrapper, freetype,
+  tex ? null,
+  aspell ? null,
+  ghostscriptX ? null,
+  extraFonts ? false,
+  chineseFonts ? false,
+  japaneseFonts ? false,
+  koreanFonts ? false }:
+
+let
   pname = "TeXmacs";
   version = "1.99.2";
-  extraFontsSrc = fetchurl {
-    url = "ftp://ftp.texmacs.org/pub/TeXmacs/fonts/TeXmacs-extra-fonts-1.0-noarch.tar.gz";
-    sha256 = "0hylgjmd95y9yahbblmawkkw0i71vb145xxv2xqrmff81301n6k7";
-  };
-
-  fullFontsSrc = fetchurl {
-   url = "ftp://ftp.texmacs.org/pub/TeXmacs/fonts/TeXmacs-windows-fonts-1.0-noarch.tar.gz";
-   sha256 = "1yxzjpqpm7kvx0ly5jmfpzlfhsh41b0ibn1v84qv6xy73r2vis2f";
-  };
-
-  chineseFontsSrc = fetchurl {
-   url = "ftp://ftp.texmacs.org/pub/TeXmacs/fonts/TeXmacs-chinese-fonts.tar.gz";
-   sha256 = "0yprqjsx5mfsaxr525mcm3xqwcadzxp14njm38ir1325baada2fp";
-  };
-
-  japaneseFontsSrc = fetchurl {
-   url = "ftp://ftp.texmacs.org/pub/TeXmacs/fonts/TeXmacs-japanese-fonts.tar.gz";
-   sha256 = "1dn6zvsa7gk59d61xicwpbapab3rm6kz48rp5w1bhmihxixw21jn";
-  };
-
-  koreanFontsSrc = fetchurl {
-   url = "ftp://ftp.texmacs.org/pub/TeXmacs/fonts/TeXmacs-korean-fonts.tar.gz";
-   sha256 = "07axg57mqm3jbnm4lawx0h3r2h56xv9acwzjppryfklw4c27f5hh";
+  common = callPackage ./common.nix {
+    inherit tex extraFonts chineseFonts japaneseFonts koreanFonts;
   };
 in
-stdenv.mkDerivation rec {
+stdenv.mkDerivation {
   name = "${pname}-${version}";
 
   src = fetchurl {
@@ -45,57 +25,22 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ guile_1_8 qt4 makeWrapper ghostscriptX freetype ];
 
-  patchPhase = (if tex == null then ''
-    gunzip < ${fullFontsSrc} | (cd TeXmacs && tar xvf -)
-   '' else if extraFonts then ''
-    gunzip < ${extraFontsSrc} | (cd TeXmacs && tar xvf -)
-   '' else "") +
-   (if chineseFonts then ''
-    gunzip < ${chineseFontsSrc} | (cd TeXmacs && tar xvf -)
-   '' else "") +
-   (if japaneseFonts then ''
-    gunzip < ${japaneseFontsSrc} | (cd TeXmacs && tar xvf -)
-   '' else "") +
-   (if koreanFonts then ''
-    gunzip < ${koreanFontsSrc} | (cd TeXmacs && tar xvf -)
-   '' else "");
-
   postInstall = "wrapProgram $out/bin/texmacs --suffix PATH : " +
         (if ghostscriptX == null then "" else "${ghostscriptX}/bin:") +
         (if aspell == null then "" else "${aspell}/bin:") +
         (if tex == null then "" else "${tex}/bin:") +
         "${xmodmap}/bin:${which}/bin";
 
+  inherit (common) postPatch;
+
   postFixup = ''
     bin="$out/libexec/TeXmacs/bin/texmacs.bin"
     rpath=$(patchelf --print-rpath "$bin")
     patchelf --set-rpath "$rpath:${zlib.out}/lib" "$bin"
   '';
 
-  meta = {
-    description = "WYSIWYW editing platform with special features for scientists";
-    longDescription =
-      '' GNU TeXmacs is a free wysiwyw (what you see is what you want)
-         editing platform with special features for scientists.  The software
-         aims to provide a unified and user friendly framework for editing
-         structured documents with different types of content (text,
-         graphics, mathematics, interactive content, etc.).  The rendering
-         engine uses high-quality typesetting algorithms so as to produce
-         professionally looking documents, which can either be printed out or
-         presented from a laptop.
-
-         The software includes a text editor with support for mathematical
-         formulas, a small technical picture editor and a tool for making
-         presentations from a laptop.  Moreover, TeXmacs can be used as an
-         interface for many external systems for computer algebra, numerical
-         analysis, statistics, etc.  New presentation styles can be written
-         by the user and new features can be added to the editor using the
-         Scheme extension language.  A native spreadsheet and tools for
-         collaborative authoring are planned for later.
-      '';
-    homepage = http://texmacs.org/;
-    license = stdenv.lib.licenses.gpl2Plus;
+  meta = common.meta // {
     maintainers = [ stdenv.lib.maintainers.roconnor ];
-    platforms = stdenv.lib.platforms.gnu;  # arbitrary choice
+    platforms = stdenv.lib.platforms.gnu ++ stdenv.lib.platforms.linux;  # arbitrary choice
   };
 }
diff --git a/pkgs/applications/editors/texmaker/default.nix b/pkgs/applications/editors/texmaker/default.nix
index 76c8e4ae0e4..c5f691e95c2 100644
--- a/pkgs/applications/editors/texmaker/default.nix
+++ b/pkgs/applications/editors/texmaker/default.nix
@@ -1,23 +1,26 @@
-{ stdenv, fetchurl, qt4, qmake4Hook, poppler_qt4, zlib, pkgconfig, poppler }:
+{ stdenv, fetchurl, qtbase, qtscript, qmake, zlib, pkgconfig, poppler }:
 
 stdenv.mkDerivation rec {
   pname = "texmaker";
-  version = "4.5";
+  version = "5.0.2";
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "http://www.xm1math.net/texmaker/${name}.tar.bz2";
-    sha256 = "056njk6j8wma23mlp7xa3rgfaxx0q8ynwx8wkmj7iy0b85p9ds9c";
+    sha256 = "0y81mjm89b99pr9svcwpaf4iz2q9pc9hjas5kiwd1pbgl5vqskm9";
   };
 
-  buildInputs = [ qt4 poppler_qt4 zlib ];
-  nativeBuildInputs = [ pkgconfig poppler qmake4Hook ];
+  buildInputs = [ qtbase qtscript poppler zlib ];
+  nativeBuildInputs = [ pkgconfig poppler qmake ];
   NIX_CFLAGS_COMPILE="-I${poppler.dev}/include/poppler";
 
   preConfigure = ''
-    qmakeFlags="$qmakeFlags DESKTOPDIR=$out/share/applications ICONDIR=$out/share/pixmaps"
+    qmakeFlags="$qmakeFlags DESKTOPDIR=$out/share/applications ICONDIR=$out/share/pixmaps METAINFODIR=$out/share/metainfo"
   '';
 
+
+  enableParallelBuilding = true;
+
   meta = with stdenv.lib; {
     description = "TeX and LaTeX editor";
     longDescription=''
diff --git a/pkgs/applications/editors/texstudio/default.nix b/pkgs/applications/editors/texstudio/default.nix
index 03505ec11a5..938f3817479 100644
--- a/pkgs/applications/editors/texstudio/default.nix
+++ b/pkgs/applications/editors/texstudio/default.nix
@@ -1,14 +1,15 @@
-{ stdenv, fetchurl, qt5, poppler_qt5, zlib, pkgconfig}:
+{ stdenv, fetchFromGitHub, qt5, poppler_qt5, zlib, pkgconfig}:
 
 stdenv.mkDerivation rec {
   pname = "texstudio";
-  version = "2.12.6";
+  version = "2.12.8";
   name = "${pname}-${version}";
-  altname="Texstudio";
 
-  src = fetchurl {
-    url = "mirror://sourceforge/texstudio/${name}.tar.gz";
-    sha256 = "18rxd7ra5k2f7s4c296b3v3pqhxjmfix9xpy9i1g4jm87ygqrbnd";
+  src = fetchFromGitHub {
+    owner = "${pname}-org";
+    repo = pname;
+    rev = version;
+    sha256 = "0f1az7398rnxmm3m9b2jcz7pd9x445fjsv8w85k2j261n5cyfqx2";
   };
 
   nativeBuildInputs = [ qt5.qmake pkgconfig ];
diff --git a/pkgs/applications/editors/tiled/default.nix b/pkgs/applications/editors/tiled/default.nix
index 438ae26f06f..b23db38e0f4 100644
--- a/pkgs/applications/editors/tiled/default.nix
+++ b/pkgs/applications/editors/tiled/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   name = "tiled-${version}";
-  version = "1.1.2";
+  version = "1.1.5";
 
   src = fetchFromGitHub {
     owner = "bjorn";
     repo = "tiled";
     rev = "v${version}";
-    sha256 = "1bzp89914rlrwf2whky3fx10rwxqiwbw9acyqllvam3l4hmv4nlz";
+    sha256 = "1l8sx0qfkm7n2ag0ns01vrs8mzcxzva00in4xqz4zgd505qx5q9v";
   };
 
   nativeBuildInputs = [ pkgconfig qmake ];
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Free, easy to use and flexible tile map editor";
-    homepage = http://www.mapeditor.org/;
+    homepage = https://www.mapeditor.org/;
     license = with licenses; [
       bsd2	# libtiled and tmxviewer
       gpl2Plus	# all the rest
diff --git a/pkgs/applications/editors/typora/default.nix b/pkgs/applications/editors/typora/default.nix
index 7c6d186b883..d687712fc08 100644
--- a/pkgs/applications/editors/typora/default.nix
+++ b/pkgs/applications/editors/typora/default.nix
@@ -3,18 +3,18 @@
 
 stdenv.mkDerivation rec {
   name = "typora-${version}";
-  version = "0.9.44";
+  version = "0.9.47";
 
   src =
     if stdenv.system == "x86_64-linux" then
       fetchurl {
         url = "https://www.typora.io/linux/typora_${version}_amd64.deb";
-        sha256 = "9442c090bf2619d270890228abd7dabb9e217c0b200615f8ed3cb255efd122d5";
+        sha256 = "431741948f5a2faba04984c495bea56b4a800c6dbb7e21e24ad3124fb8ffcbc9";
       }
     else
       fetchurl {
         url = "https://www.typora.io/linux/typora_${version}_i386.deb";
-        sha256 = "ae228ca946d03940b85df30c995c4de3f942a780e32d4dcab872dec671c66ef3";
+        sha256 = "a95c8c1e296d8587a4dc6182af3b24253c3c2abc991badb7c758cd6d1bf5b1b6";
       }
     ;
 
diff --git a/pkgs/applications/editors/vim/common.nix b/pkgs/applications/editors/vim/common.nix
index 5155f94eef5..5b4f631987f 100644
--- a/pkgs/applications/editors/vim/common.nix
+++ b/pkgs/applications/editors/vim/common.nix
@@ -1,12 +1,12 @@
 { lib, fetchFromGitHub }:
 rec {
-  version = "8.0.1451";
+  version = "8.0.1655";
 
   src = fetchFromGitHub {
     owner = "vim";
     repo = "vim";
     rev = "v${version}";
-    sha256 = "1vxd5mr8c62qyf7ax7gi2wka48282yplckq91154yd55xcqw36zx";
+    sha256 = "1c6raqjaxgsjazn4l7wqg2cscd5i4bz9m2g2xhn9ba1injs7mps1";
   };
 
   enableParallelBuilding = true;
diff --git a/pkgs/applications/editors/vim/configurable.nix b/pkgs/applications/editors/vim/configurable.nix
index 0f81b0bdd64..9ffa31f2f2e 100644
--- a/pkgs/applications/editors/vim/configurable.nix
+++ b/pkgs/applications/editors/vim/configurable.nix
@@ -4,6 +4,7 @@ args@{ source ? "default", callPackage, fetchurl, stdenv, ncurses, pkgconfig, ge
 , composableDerivation, writeText, lib, config, glib, gtk2, gtk3, python, perl, tcl, ruby
 , libX11, libXext, libSM, libXpm, libXt, libXaw, libXau, libXmu
 , libICE
+, vimPlugins
 
 # apple frameworks
 , CoreServices, CoreData, Cocoa, Foundation, libobjc, cf-private
@@ -80,6 +81,11 @@ composableDerivation {
     flags = {
         ftNix = {
           patches = [ ./ft-nix-support.patch ];
+          preConfigure = ''
+            cp ${vimPlugins.vim-nix.src}/ftplugin/nix.vim runtime/ftplugin/nix.vim
+            cp ${vimPlugins.vim-nix.src}/indent/nix.vim runtime/indent/nix.vim
+            cp ${vimPlugins.vim-nix.src}/syntax/nix.vim runtime/syntax/nix.vim
+          '';
         };
       }
       // edf {
diff --git a/pkgs/applications/editors/vim/ft-nix-support.patch b/pkgs/applications/editors/vim/ft-nix-support.patch
index 416ec18cf2c..274d855731f 100644
--- a/pkgs/applications/editors/vim/ft-nix-support.patch
+++ b/pkgs/applications/editors/vim/ft-nix-support.patch
@@ -6,7 +6,7 @@ index a8e6261..2b008fc 100644
  " Z80 assembler asz80
  au BufNewFile,BufRead *.z8a			setf z8a
  
-+" NIX
++" Nix
 +au BufNewFile,BufRead *.nix		setf nix
 +
  augroup END
@@ -18,72 +18,3 @@ index a8e6261..2b008fc 100644
  unlet s:cpo_save
 +
 +
-diff --git a/runtime/syntax/nix.vim b/runtime/syntax/nix.vim
-new file mode 100644
-index 0000000..a2f9918
---- /dev/null
-+++ b/runtime/syntax/nix.vim
-@@ -0,0 +1,56 @@
-+" Vim syntax file
-+" Language:	nix
-+" Maintainer:	Marc Weber <marco-oweber@gmx.de>
-+"               Modify and commit if you feel that way
-+" Last Change:	2011 Jun
-+"
-+" this syntax file can be still be enhanced very much..
-+" Don't ask, do it :-)
-+" This file (github.com/MarcWeber/vim-addon-nix) is periodically synced with
-+" the patch found in vim_configurable (nixpkgs)
-+
-+" Quit when a (custom) syntax file was already loaded
-+if exists("b:current_syntax")
-+  finish
-+endif
-+
-+
-+sy cluster nixStrings contains=nixStringParam,nixStringIndented
-+
-+syn keyword	nixKeyword	let throw inherit import true false null with
-+syn keyword	nixConditional	if else then
-+syn keyword     nixBrace        ( ) { } =
-+syn keyword     nixBuiltin         __currentSystem __currentTime __isFunction __getEnv __trace __toPath __pathExists 
-+  \ __readFile __toXML __toFile __filterSource __attrNames __getAttr __hasAttr __isAttrs __listToAttrs __isList 
-+  \ __head __tail __add __sub __lessThan __substring __stringLength
-+
-+syn region nixStringIndented start=+''+ skip=+'''\|''${\|"+ end=+''+ contains=nixStringParam
-+" syn region nixString         start=+"+ skip=+\\"+ end=+"+
-+syn match nixAttr "\w\+\ze\s*="
-+syn match nixFuncArg "\zs\w\+\ze\s*:"
-+syn region nixStringParam start=+\${+ end=+}+ contains=@nixStrings
-+syn region nixMultiLineComment start=+/\*+ skip=+\\"+ end=+\*/+
-+syn match  nixEndOfLineComment "#.*$"
-+
-+hi def link nixKeyword       Keyword
-+hi def link nixConditional   Conditional
-+hi def link nixBrace         Special
-+hi def link nixString        String
-+hi def link nixStringIndented String
-+hi def link nixBuiltin       Special
-+hi def link nixStringParam   Macro
-+hi def link nixMultiLineComment Comment
-+hi def link nixEndOfLineComment Comment
-+hi def link nixAttr        Identifier
-+hi def link nixFuncArg     Identifier
-+
-+syn sync maxlines=20000
-+syn sync minlines=50000
-+
-+let b:current_syntax = "nix"
-+
-+" thanks to domenkozar
-+" scan backwards to find begining of multiline statements
-+syn sync ccomment nixMultiLineComment minlines=10 maxlines=500
-+syn sync ccomment nixStringIndented minlines=10 maxlines=500
-+syn sync ccomment nixString maxlines=10
-diff --git a/runtime/ftplugin/nix.vim b/runtime/ftplugin/nix.vim
-new file mode 100644
---- /dev/null
-+++ b/runtime/ftplugin/nix.vim
-@@ -0,0 +1,2 @@
-+" coding conventions
-+setlocal sw=2 ts=2 expandtab
diff --git a/pkgs/applications/editors/vis/default.nix b/pkgs/applications/editors/vis/default.nix
index 0db93f78781..7825188fea9 100644
--- a/pkgs/applications/editors/vis/default.nix
+++ b/pkgs/applications/editors/vis/default.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   name = "vis-${version}";
-  version  = "0.4";
+  version  = "0.5";
 
   src = fetchFromGitHub {
     rev = "v${version}";
-    sha256 = "1crsg3ssqv4xix9z16hwl0zyx7hxk686s52zmrp7yfak3m5igf9k";
+    sha256 = "1vhq6hprkgj90iwl5vl3pxs3xwc01mx8yhi6c1phzry5agqqp8jb";
     repo = "vis";
     owner = "martanne";
   };
@@ -26,6 +26,10 @@ stdenv.mkDerivation rec {
     libselinux
   ];
 
+  postPatch = ''
+    patchShebangs ./configure
+  '';
+
   LUA_CPATH="${lpeg}/lib/lua/${lua.luaversion}/?.so;";
   LUA_PATH="${lpeg}/share/lua/${lua.luaversion}/?.lua";
 
diff --git a/pkgs/applications/editors/vscode/default.nix b/pkgs/applications/editors/vscode/default.nix
index 4c825cc9891..41d4c114c75 100644
--- a/pkgs/applications/editors/vscode/default.nix
+++ b/pkgs/applications/editors/vscode/default.nix
@@ -2,7 +2,7 @@
   makeWrapper, libXScrnSaver, libxkbfile, libsecret }:
 
 let
-  version = "1.20.1";
+  version = "1.23.0";
   channel = "stable";
 
   plat = {
@@ -12,9 +12,9 @@ let
   }.${stdenv.system};
 
   sha256 = {
-    "i686-linux" = "0gycz857bl9ikfrylim970qgmyw7rcy3gbg2zsjddp9cgdk9basn";
-    "x86_64-linux" = "0rx0qyxv173s9wjw97f94h61f12lh42grnmabgsvwd87b8zx4qim";
-    "x86_64-darwin" = "0mqxmmkp3bsmy1g35prsgan61zzq5368gp720v37cwx1rskl0bfg";
+    "i686-linux" = "1nyrcgnf18752n3i7xaq6gpb2k4wsfzk671kxg6za4ycrriw1f5l";
+    "x86_64-linux" = "1mkxyavzav522sl3fjn2hdlbj0bkdl3hagqiw9i6h8wgkxcvsszy";
+    "x86_64-darwin" = "123ggzssd5qd80jxar2pf5g2n2473pd2j8pfjyir1c7xkaqji2w6";
   }.${stdenv.system};
 
   archive_fmt = if stdenv.system == "x86_64-darwin" then "zip" else "tar.gz";
@@ -79,7 +79,7 @@ in
 
       patchelf \
         --set-rpath "${rpath}" \
-        $out/lib/vscode/resources/app/node_modules/keytar/build/Release/keytar.node
+        $out/lib/vscode/resources/app/node_modules.asar.unpacked/keytar/build/Release/keytar.node
 
       ln -s ${lib.makeLibraryPath [libsecret]}/libsecret-1.so.0 $out/lib/vscode/libsecret-1.so.0
     '';
diff --git a/pkgs/applications/editors/vscode-with-extensions/default.nix b/pkgs/applications/editors/vscode/with-extensions.nix
index c54c8a4277f..c54c8a4277f 100644
--- a/pkgs/applications/editors/vscode-with-extensions/default.nix
+++ b/pkgs/applications/editors/vscode/with-extensions.nix
diff --git a/pkgs/applications/editors/wxhexeditor/default.nix b/pkgs/applications/editors/wxhexeditor/default.nix
index ad294480e60..85d9b0546d6 100644
--- a/pkgs/applications/editors/wxhexeditor/default.nix
+++ b/pkgs/applications/editors/wxhexeditor/default.nix
@@ -1,25 +1,35 @@
-{ stdenv, fetchurl, wxGTK, autoconf, automake, libtool, python, gettext, bash }:
+{ stdenv, fetchFromGitHub, fetchpatch, wxGTK, autoconf, automake, libtool, python, gettext, bash }:
 
 stdenv.mkDerivation rec {
   name = "wxHexEditor-${version}";
-  version = "v0.22";
+  version = "v0.24";
 
-  src = fetchurl {
-    url = "mirror://sourceforge/wxhexeditor/${name}-src.tar.bz2";
-    sha256 = "15ir038g4lyw1q5bsay974hvj0nkg2yd9kccwxz808cd45fp411w";
+  src = fetchFromGitHub {
+    repo = "wxHexEditor";
+    owner = "EUA";
+    rev = version;
+    sha256 = "08xnhaif8syv1fa0k6lc3jm7yg2k50b02lyds8w0jyzh4xi5crqj";
   };
 
   buildInputs = [ wxGTK autoconf automake libtool python gettext ];
 
-  patchPhase = ''
-    substituteInPlace Makefile --replace "/usr/local" "$out"
+  preConfigure = "patchShebangs .";
+
+  prePatch = ''
+    substituteInPlace Makefile --replace "/usr" "$out"
     substituteInPlace Makefile --replace "mhash; ./configure" "mhash; ./configure --prefix=$out"
-    substituteInPlace udis86/autogen.sh --replace "/bin/bash" "${bash}/bin/bash"
   '';
 
+  patches = [
+    # https://github.com/EUA/wxHexEditor/issues/90
+    (fetchpatch {
+      url = https://github.com/EUA/wxHexEditor/commit/d0fa3ddc3e9dc9b05f90b650991ef134f74eed01.patch;
+      sha256 = "1wcb70hrnhq72frj89prcqylpqs74xrfz3kdfdkq84p5qfz9svyj";
+    })
+  ];
+
   buildPhase = ''
     make OPTFLAGS="-fopenmp"
-
   '';
 
   meta = {
diff --git a/pkgs/applications/editors/zed/default.nix b/pkgs/applications/editors/zed/default.nix
deleted file mode 100644
index bcf262957bc..00000000000
--- a/pkgs/applications/editors/zed/default.nix
+++ /dev/null
@@ -1,82 +0,0 @@
-{ stdenv, buildEnv, fetchgit, makeWrapper, writeScript, fetchurl, zip, pkgs
-, node_webkit }:
-
-let
-  name = "zed-${version}";
-  version = "1.1.0";
-
-  nodePackages = import ./node.nix {
-    inherit pkgs;
-    system = stdenv.system;
-  };
-
-  node_env = buildEnv {
-    name = "node_env";
-    paths = [ nodePackages."body-parser-~1.6.3" nodePackages."express-~4.8.3"
-      nodePackages."request-~2.34.0" nodePackages."tar-~0.1.19"
-      nodePackages."ws-~0.4.32" ];
-    pathsToLink = [ "/lib" ];
-    ignoreCollisions = true;
-  };
-
-  zed = stdenv.mkDerivation rec {
-    inherit name version;
-
-    src = fetchgit {
-        url = "git://github.com/zedapp/zed";
-        rev = "refs/tags/v${version}";
-        sha256 = "1zvlngv73h968jd2m42ylr9vfhf35n80wzy616cv2ic7gmr1fl9p";
-      };
-
-    buildInputs = [ makeWrapper zip ];
-
-    dontBuild = true;
-
-    installPhase = ''
-      export NWPATH="${node_webkit}/share/node-webkit";
-
-      mkdir -p $out/zed
-
-      cd ${src}/app; zip -r $out/zed/app.nw *; cd ..
-
-      cat $NWPATH/nw $out/zed/app.nw > $out/zed/zed-bin
-      cp $NWPATH/nw.pak $out/zed/
-      cp nw/zed-linux $out/zed/zed
-      chmod +x $out/zed/zed*
-      cp Zed.desktop.tmpl Zed.svg Zed.png $out/zed
-      rm $out/zed/app.nw
-    '';
-
-    postFixup = ''
-      wrapProgram $out/zed/zed-bin \
-        --prefix NODE_PATH : ${node_env}/lib/node_modules
-    '';
-  };
-
-  zed_script = writeScript "zed.sh" ''
-    if [[ $1 == http://* ]] || [[ $1 == https://* ]]; then
-        PROJECT=$1
-    elif [ "" != "$1" ]; then
-       PROJECT=$(readlink -f $1)
-    fi
-    ${zed}/zed/zed-bin $PROJECT
-  '';
-
-in stdenv.mkDerivation rec {
-  inherit name version;
-
-  src = zed;
-
-  installPhase = ''
-    mkdir -p $out/bin
-    ln -s ${zed_script} $out/bin/zed
-  '';
-
-  meta = with stdenv.lib; {
-    description = "A fully offline-capable, open source, keyboard-focused, text and code editor for power users";
-    license = licenses.mit;
-    homepage = http://zedapp.org/;
-    maintainers = with maintainers; [ matejc ma27 ];
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/applications/editors/zed/deps.json b/pkgs/applications/editors/zed/deps.json
deleted file mode 100644
index d3a7708d156..00000000000
--- a/pkgs/applications/editors/zed/deps.json
+++ /dev/null
@@ -1,6 +0,0 @@
-[ { "body-parser": "~1.6.3" }
-, { "express": "~4.8.3" }
-, { "request": "~2.34.0" }
-, { "tar": "~0.1.19" }
-, { "ws": "~0.4.32" }
-]
diff --git a/pkgs/applications/editors/zed/deps.sh b/pkgs/applications/editors/zed/deps.sh
deleted file mode 100755
index 6d2bf29532e..00000000000
--- a/pkgs/applications/editors/zed/deps.sh
+++ /dev/null
@@ -1,7 +0,0 @@
-#!/usr/bin/env nix-shell
-#! nix-shell -i bash -p nodePackages.node2nix
-
-node2nix -6 -i deps.json \
-  -e ../../../development/node-packages/node-env.nix \
-  --no-copy-node-env \
-  -c node.nix
diff --git a/pkgs/applications/editors/zed/node-packages.nix b/pkgs/applications/editors/zed/node-packages.nix
deleted file mode 100644
index 5aaa75b6c91..00000000000
--- a/pkgs/applications/editors/zed/node-packages.nix
+++ /dev/null
@@ -1,877 +0,0 @@
-# This file has been generated by node2nix 1.3.0. Do not edit!
-
-{nodeEnv, fetchurl, fetchgit, globalBuildInputs ? []}:
-
-let
-  sources = {
-    "bytes-1.0.0" = {
-      name = "bytes";
-      packageName = "bytes";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/bytes/-/bytes-1.0.0.tgz";
-        sha1 = "3569ede8ba34315fab99c3e92cb04c7220de1fa8";
-      };
-    };
-    "depd-0.4.4" = {
-      name = "depd";
-      packageName = "depd";
-      version = "0.4.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/depd/-/depd-0.4.4.tgz";
-        sha1 = "07091fae75f97828d89b4a02a2d4778f0e7c0662";
-      };
-    };
-    "iconv-lite-0.4.4" = {
-      name = "iconv-lite";
-      packageName = "iconv-lite";
-      version = "0.4.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.4.tgz";
-        sha1 = "e95f2e41db0735fc21652f7827a5ee32e63c83a8";
-      };
-    };
-    "media-typer-0.2.0" = {
-      name = "media-typer";
-      packageName = "media-typer";
-      version = "0.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/media-typer/-/media-typer-0.2.0.tgz";
-        sha1 = "d8a065213adfeaa2e76321a2b6dda36ff6335984";
-      };
-    };
-    "on-finished-2.1.0" = {
-      name = "on-finished";
-      packageName = "on-finished";
-      version = "2.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/on-finished/-/on-finished-2.1.0.tgz";
-        sha1 = "0c539f09291e8ffadde0c8a25850fb2cedc7022d";
-      };
-    };
-    "qs-2.2.2" = {
-      name = "qs";
-      packageName = "qs";
-      version = "2.2.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/qs/-/qs-2.2.2.tgz";
-        sha1 = "dfe783f1854b1ac2b3ade92775ad03e27e03218c";
-      };
-    };
-    "raw-body-1.3.0" = {
-      name = "raw-body";
-      packageName = "raw-body";
-      version = "1.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/raw-body/-/raw-body-1.3.0.tgz";
-        sha1 = "978230a156a5548f42eef14de22d0f4f610083d1";
-      };
-    };
-    "type-is-1.3.2" = {
-      name = "type-is";
-      packageName = "type-is";
-      version = "1.3.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/type-is/-/type-is-1.3.2.tgz";
-        sha1 = "4f2a5dc58775ca1630250afc7186f8b36309d1bb";
-      };
-    };
-    "ee-first-1.0.5" = {
-      name = "ee-first";
-      packageName = "ee-first";
-      version = "1.0.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ee-first/-/ee-first-1.0.5.tgz";
-        sha1 = "8c9b212898d8cd9f1a9436650ce7be202c9e9ff0";
-      };
-    };
-    "mime-types-1.0.2" = {
-      name = "mime-types";
-      packageName = "mime-types";
-      version = "1.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/mime-types/-/mime-types-1.0.2.tgz";
-        sha1 = "995ae1392ab8affcbfcb2641dd054e943c0d5dce";
-      };
-    };
-    "accepts-1.0.7" = {
-      name = "accepts";
-      packageName = "accepts";
-      version = "1.0.7";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/accepts/-/accepts-1.0.7.tgz";
-        sha1 = "5b501fb4f0704309964ccdb048172541208dab1a";
-      };
-    };
-    "buffer-crc32-0.2.3" = {
-      name = "buffer-crc32";
-      packageName = "buffer-crc32";
-      version = "0.2.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.3.tgz";
-        sha1 = "bb54519e95d107cbd2400e76d0cab1467336d921";
-      };
-    };
-    "debug-1.0.4" = {
-      name = "debug";
-      packageName = "debug";
-      version = "1.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/debug/-/debug-1.0.4.tgz";
-        sha1 = "5b9c256bd54b6ec02283176fa8a0ede6d154cbf8";
-      };
-    };
-    "escape-html-1.0.1" = {
-      name = "escape-html";
-      packageName = "escape-html";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/escape-html/-/escape-html-1.0.1.tgz";
-        sha1 = "181a286ead397a39a92857cfb1d43052e356bff0";
-      };
-    };
-    "finalhandler-0.1.0" = {
-      name = "finalhandler";
-      packageName = "finalhandler";
-      version = "0.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/finalhandler/-/finalhandler-0.1.0.tgz";
-        sha1 = "da05bbc4f5f4a30c84ce1d91f3c154007c4e9daa";
-      };
-    };
-    "methods-1.1.0" = {
-      name = "methods";
-      packageName = "methods";
-      version = "1.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/methods/-/methods-1.1.0.tgz";
-        sha1 = "5dca4ee12df52ff3b056145986a8f01cbc86436f";
-      };
-    };
-    "parseurl-1.3.2" = {
-      name = "parseurl";
-      packageName = "parseurl";
-      version = "1.3.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/parseurl/-/parseurl-1.3.2.tgz";
-        sha1 = "fc289d4ed8993119460c156253262cdc8de65bf3";
-      };
-    };
-    "path-to-regexp-0.1.3" = {
-      name = "path-to-regexp";
-      packageName = "path-to-regexp";
-      version = "0.1.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.3.tgz";
-        sha1 = "21b9ab82274279de25b156ea08fd12ca51b8aecb";
-      };
-    };
-    "proxy-addr-1.0.1" = {
-      name = "proxy-addr";
-      packageName = "proxy-addr";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/proxy-addr/-/proxy-addr-1.0.1.tgz";
-        sha1 = "c7c566d5eb4e3fad67eeb9c77c5558ccc39b88a8";
-      };
-    };
-    "range-parser-1.0.0" = {
-      name = "range-parser";
-      packageName = "range-parser";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/range-parser/-/range-parser-1.0.0.tgz";
-        sha1 = "a4b264cfe0be5ce36abe3765ac9c2a248746dbc0";
-      };
-    };
-    "send-0.8.5" = {
-      name = "send";
-      packageName = "send";
-      version = "0.8.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/send/-/send-0.8.5.tgz";
-        sha1 = "37f708216e6f50c175e74c69fec53484e2fd82c7";
-      };
-    };
-    "serve-static-1.5.4" = {
-      name = "serve-static";
-      packageName = "serve-static";
-      version = "1.5.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/serve-static/-/serve-static-1.5.4.tgz";
-        sha1 = "819fb37ae46bd02dd520b77fcf7fd8f5112f9782";
-      };
-    };
-    "vary-0.1.0" = {
-      name = "vary";
-      packageName = "vary";
-      version = "0.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/vary/-/vary-0.1.0.tgz";
-        sha1 = "df0945899e93c0cc5bd18cc8321d9d21e74f6176";
-      };
-    };
-    "cookie-0.1.2" = {
-      name = "cookie";
-      packageName = "cookie";
-      version = "0.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/cookie/-/cookie-0.1.2.tgz";
-        sha1 = "72fec3d24e48a3432073d90c12642005061004b1";
-      };
-    };
-    "fresh-0.2.2" = {
-      name = "fresh";
-      packageName = "fresh";
-      version = "0.2.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/fresh/-/fresh-0.2.2.tgz";
-        sha1 = "9731dcf5678c7faeb44fb903c4f72df55187fa77";
-      };
-    };
-    "cookie-signature-1.0.4" = {
-      name = "cookie-signature";
-      packageName = "cookie-signature";
-      version = "1.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.4.tgz";
-        sha1 = "0edd22286e3a111b9a2a70db363e925e867f6aca";
-      };
-    };
-    "merge-descriptors-0.0.2" = {
-      name = "merge-descriptors";
-      packageName = "merge-descriptors";
-      version = "0.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-0.0.2.tgz";
-        sha1 = "c36a52a781437513c57275f39dd9d317514ac8c7";
-      };
-    };
-    "utils-merge-1.0.0" = {
-      name = "utils-merge";
-      packageName = "utils-merge";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.0.tgz";
-        sha1 = "0294fb922bb9375153541c4f7096231f287c8af8";
-      };
-    };
-    "negotiator-0.4.7" = {
-      name = "negotiator";
-      packageName = "negotiator";
-      version = "0.4.7";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/negotiator/-/negotiator-0.4.7.tgz";
-        sha1 = "a4160f7177ec806738631d0d3052325da42abdc8";
-      };
-    };
-    "ms-0.6.2" = {
-      name = "ms";
-      packageName = "ms";
-      version = "0.6.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ms/-/ms-0.6.2.tgz";
-        sha1 = "d89c2124c6fdc1353d65a8b77bf1aac4b193708c";
-      };
-    };
-    "ipaddr.js-0.1.2" = {
-      name = "ipaddr.js";
-      packageName = "ipaddr.js";
-      version = "0.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-0.1.2.tgz";
-        sha1 = "6a1fd3d854f5002965c34d7bbcd9b4a8d4b0467e";
-      };
-    };
-    "destroy-1.0.3" = {
-      name = "destroy";
-      packageName = "destroy";
-      version = "1.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/destroy/-/destroy-1.0.3.tgz";
-        sha1 = "b433b4724e71fd8551d9885174851c5fc377e2c9";
-      };
-    };
-    "mime-1.2.11" = {
-      name = "mime";
-      packageName = "mime";
-      version = "1.2.11";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/mime/-/mime-1.2.11.tgz";
-        sha1 = "58203eed86e3a5ef17aed2b7d9ebd47f0a60dd10";
-      };
-    };
-    "qs-0.6.6" = {
-      name = "qs";
-      packageName = "qs";
-      version = "0.6.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/qs/-/qs-0.6.6.tgz";
-        sha1 = "6e015098ff51968b8a3c819001d5f2c89bc4b107";
-      };
-    };
-    "json-stringify-safe-5.0.1" = {
-      name = "json-stringify-safe";
-      packageName = "json-stringify-safe";
-      version = "5.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz";
-        sha1 = "1296a2d58fd45f19a0f6ce01d65701e2c735b6eb";
-      };
-    };
-    "forever-agent-0.5.2" = {
-      name = "forever-agent";
-      packageName = "forever-agent";
-      version = "0.5.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/forever-agent/-/forever-agent-0.5.2.tgz";
-        sha1 = "6d0e09c4921f94a27f63d3b49c5feff1ea4c5130";
-      };
-    };
-    "node-uuid-1.4.8" = {
-      name = "node-uuid";
-      packageName = "node-uuid";
-      version = "1.4.8";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/node-uuid/-/node-uuid-1.4.8.tgz";
-        sha1 = "b040eb0923968afabf8d32fb1f17f1167fdab907";
-      };
-    };
-    "tough-cookie-2.3.3" = {
-      name = "tough-cookie";
-      packageName = "tough-cookie";
-      version = "2.3.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.3.tgz";
-        sha1 = "0b618a5565b6dea90bf3425d04d55edc475a7561";
-      };
-    };
-    "form-data-0.1.4" = {
-      name = "form-data";
-      packageName = "form-data";
-      version = "0.1.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/form-data/-/form-data-0.1.4.tgz";
-        sha1 = "91abd788aba9702b1aabfa8bc01031a2ac9e3b12";
-      };
-    };
-    "tunnel-agent-0.3.0" = {
-      name = "tunnel-agent";
-      packageName = "tunnel-agent";
-      version = "0.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.3.0.tgz";
-        sha1 = "ad681b68f5321ad2827c4cfb1b7d5df2cfe942ee";
-      };
-    };
-    "http-signature-0.10.1" = {
-      name = "http-signature";
-      packageName = "http-signature";
-      version = "0.10.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/http-signature/-/http-signature-0.10.1.tgz";
-        sha1 = "4fbdac132559aa8323121e540779c0a012b27e66";
-      };
-    };
-    "oauth-sign-0.3.0" = {
-      name = "oauth-sign";
-      packageName = "oauth-sign";
-      version = "0.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.3.0.tgz";
-        sha1 = "cb540f93bb2b22a7d5941691a288d60e8ea9386e";
-      };
-    };
-    "hawk-1.0.0" = {
-      name = "hawk";
-      packageName = "hawk";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/hawk/-/hawk-1.0.0.tgz";
-        sha1 = "b90bb169807285411da7ffcb8dd2598502d3b52d";
-      };
-    };
-    "aws-sign2-0.5.0" = {
-      name = "aws-sign2";
-      packageName = "aws-sign2";
-      version = "0.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.5.0.tgz";
-        sha1 = "c57103f7a17fc037f02d7c2e64b602ea223f7d63";
-      };
-    };
-    "punycode-1.4.1" = {
-      name = "punycode";
-      packageName = "punycode";
-      version = "1.4.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz";
-        sha1 = "c0d5a63b2718800ad8e1eb0fa5269c84dd41845e";
-      };
-    };
-    "combined-stream-0.0.7" = {
-      name = "combined-stream";
-      packageName = "combined-stream";
-      version = "0.0.7";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/combined-stream/-/combined-stream-0.0.7.tgz";
-        sha1 = "0137e657baa5a7541c57ac37ac5fc07d73b4dc1f";
-      };
-    };
-    "async-0.9.2" = {
-      name = "async";
-      packageName = "async";
-      version = "0.9.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/async/-/async-0.9.2.tgz";
-        sha1 = "aea74d5e61c1f899613bf64bda66d4c78f2fd17d";
-      };
-    };
-    "delayed-stream-0.0.5" = {
-      name = "delayed-stream";
-      packageName = "delayed-stream";
-      version = "0.0.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/delayed-stream/-/delayed-stream-0.0.5.tgz";
-        sha1 = "d4b1f43a93e8296dfe02694f4680bc37a313c73f";
-      };
-    };
-    "assert-plus-0.1.5" = {
-      name = "assert-plus";
-      packageName = "assert-plus";
-      version = "0.1.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/assert-plus/-/assert-plus-0.1.5.tgz";
-        sha1 = "ee74009413002d84cec7219c6ac811812e723160";
-      };
-    };
-    "asn1-0.1.11" = {
-      name = "asn1";
-      packageName = "asn1";
-      version = "0.1.11";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/asn1/-/asn1-0.1.11.tgz";
-        sha1 = "559be18376d08a4ec4dbe80877d27818639b2df7";
-      };
-    };
-    "ctype-0.5.3" = {
-      name = "ctype";
-      packageName = "ctype";
-      version = "0.5.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ctype/-/ctype-0.5.3.tgz";
-        sha1 = "82c18c2461f74114ef16c135224ad0b9144ca12f";
-      };
-    };
-    "hoek-0.9.1" = {
-      name = "hoek";
-      packageName = "hoek";
-      version = "0.9.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/hoek/-/hoek-0.9.1.tgz";
-        sha1 = "3d322462badf07716ea7eb85baf88079cddce505";
-      };
-    };
-    "boom-0.4.2" = {
-      name = "boom";
-      packageName = "boom";
-      version = "0.4.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/boom/-/boom-0.4.2.tgz";
-        sha1 = "7a636e9ded4efcefb19cef4947a3c67dfaee911b";
-      };
-    };
-    "cryptiles-0.2.2" = {
-      name = "cryptiles";
-      packageName = "cryptiles";
-      version = "0.2.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/cryptiles/-/cryptiles-0.2.2.tgz";
-        sha1 = "ed91ff1f17ad13d3748288594f8a48a0d26f325c";
-      };
-    };
-    "sntp-0.2.4" = {
-      name = "sntp";
-      packageName = "sntp";
-      version = "0.2.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/sntp/-/sntp-0.2.4.tgz";
-        sha1 = "fb885f18b0f3aad189f824862536bceeec750900";
-      };
-    };
-    "block-stream-0.0.9" = {
-      name = "block-stream";
-      packageName = "block-stream";
-      version = "0.0.9";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz";
-        sha1 = "13ebfe778a03205cfe03751481ebb4b3300c126a";
-      };
-    };
-    "fstream-0.1.31" = {
-      name = "fstream";
-      packageName = "fstream";
-      version = "0.1.31";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/fstream/-/fstream-0.1.31.tgz";
-        sha1 = "7337f058fbbbbefa8c9f561a28cab0849202c988";
-      };
-    };
-    "inherits-2.0.3" = {
-      name = "inherits";
-      packageName = "inherits";
-      version = "2.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz";
-        sha1 = "633c2c83e3da42a502f52466022480f4208261de";
-      };
-    };
-    "graceful-fs-3.0.11" = {
-      name = "graceful-fs";
-      packageName = "graceful-fs";
-      version = "3.0.11";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/graceful-fs/-/graceful-fs-3.0.11.tgz";
-        sha1 = "7613c778a1afea62f25c630a086d7f3acbbdd818";
-      };
-    };
-    "mkdirp-0.5.1" = {
-      name = "mkdirp";
-      packageName = "mkdirp";
-      version = "0.5.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz";
-        sha1 = "30057438eac6cf7f8c4767f38648d6697d75c903";
-      };
-    };
-    "rimraf-2.6.2" = {
-      name = "rimraf";
-      packageName = "rimraf";
-      version = "2.6.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz";
-        sha512 = "3kmrqh8xli7rzfm8wc6j9lp0c6vml172iv3z088an9xlwl1xvkvh3fn92za66ms4c9yww80qa5kan31k1z1ypqvkchmh1mznb09xdwn";
-      };
-    };
-    "natives-1.1.0" = {
-      name = "natives";
-      packageName = "natives";
-      version = "1.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/natives/-/natives-1.1.0.tgz";
-        sha1 = "e9ff841418a6b2ec7a495e939984f78f163e6e31";
-      };
-    };
-    "minimist-0.0.8" = {
-      name = "minimist";
-      packageName = "minimist";
-      version = "0.0.8";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz";
-        sha1 = "857fcabfc3397d2625b8228262e86aa7a011b05d";
-      };
-    };
-    "glob-7.1.2" = {
-      name = "glob";
-      packageName = "glob";
-      version = "7.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz";
-        sha512 = "08vjxzixc9dwc1hn5pd60yyij98krk2pr758aiga97r02ncvaqx1hidi95wk470k1v84gg4alls9bm52m77174z128bgf13b61x951h";
-      };
-    };
-    "fs.realpath-1.0.0" = {
-      name = "fs.realpath";
-      packageName = "fs.realpath";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz";
-        sha1 = "1504ad2523158caa40db4a2787cb01411994ea4f";
-      };
-    };
-    "inflight-1.0.6" = {
-      name = "inflight";
-      packageName = "inflight";
-      version = "1.0.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz";
-        sha1 = "49bd6331d7d02d0c09bc910a1075ba8165b56df9";
-      };
-    };
-    "minimatch-3.0.4" = {
-      name = "minimatch";
-      packageName = "minimatch";
-      version = "3.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz";
-        sha512 = "1879a3j85h92ypvb7lpv1dqpcxl49rqnbgs5la18zmj1yqhwl60c2m74254wbr5pp3znckqpkg9dvjyrz6hfz8b9vag5a3j910db4f8";
-      };
-    };
-    "once-1.4.0" = {
-      name = "once";
-      packageName = "once";
-      version = "1.4.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/once/-/once-1.4.0.tgz";
-        sha1 = "583b1aa775961d4b113ac17d9c50baef9dd76bd1";
-      };
-    };
-    "path-is-absolute-1.0.1" = {
-      name = "path-is-absolute";
-      packageName = "path-is-absolute";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz";
-        sha1 = "174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f";
-      };
-    };
-    "wrappy-1.0.2" = {
-      name = "wrappy";
-      packageName = "wrappy";
-      version = "1.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz";
-        sha1 = "b5243d8f3ec1aa35f1364605bc0d1036e30ab69f";
-      };
-    };
-    "brace-expansion-1.1.8" = {
-      name = "brace-expansion";
-      packageName = "brace-expansion";
-      version = "1.1.8";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.8.tgz";
-        sha1 = "c07b211c7c952ec1f8efd51a77ef0d1d3990a292";
-      };
-    };
-    "balanced-match-1.0.0" = {
-      name = "balanced-match";
-      packageName = "balanced-match";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz";
-        sha1 = "89b4d199ab2bee49de164ea02b89ce462d71b767";
-      };
-    };
-    "concat-map-0.0.1" = {
-      name = "concat-map";
-      packageName = "concat-map";
-      version = "0.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz";
-        sha1 = "d8a96bd77fd68df7793a73036a3ba0d5405d477b";
-      };
-    };
-    "commander-2.1.0" = {
-      name = "commander";
-      packageName = "commander";
-      version = "2.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/commander/-/commander-2.1.0.tgz";
-        sha1 = "d121bbae860d9992a3d517ba96f56588e47c6781";
-      };
-    };
-    "nan-1.0.0" = {
-      name = "nan";
-      packageName = "nan";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/nan/-/nan-1.0.0.tgz";
-        sha1 = "ae24f8850818d662fcab5acf7f3b95bfaa2ccf38";
-      };
-    };
-    "tinycolor-0.0.1" = {
-      name = "tinycolor";
-      packageName = "tinycolor";
-      version = "0.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/tinycolor/-/tinycolor-0.0.1.tgz";
-        sha1 = "320b5a52d83abb5978d81a3e887d4aefb15a6164";
-      };
-    };
-    "options-0.0.6" = {
-      name = "options";
-      packageName = "options";
-      version = "0.0.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/options/-/options-0.0.6.tgz";
-        sha1 = "ec22d312806bb53e731773e7cdaefcf1c643128f";
-      };
-    };
-  };
-in
-{
-  "body-parser-~1.6.3" = nodeEnv.buildNodePackage {
-    name = "body-parser";
-    packageName = "body-parser";
-    version = "1.6.7";
-    src = fetchurl {
-      url = "https://registry.npmjs.org/body-parser/-/body-parser-1.6.7.tgz";
-      sha1 = "82306becadf44543e826b3907eae93f0237c4e5c";
-    };
-    dependencies = [
-      sources."bytes-1.0.0"
-      sources."depd-0.4.4"
-      sources."iconv-lite-0.4.4"
-      sources."media-typer-0.2.0"
-      sources."on-finished-2.1.0"
-      sources."qs-2.2.2"
-      sources."raw-body-1.3.0"
-      sources."type-is-1.3.2"
-      sources."ee-first-1.0.5"
-      sources."mime-types-1.0.2"
-    ];
-    buildInputs = globalBuildInputs;
-    meta = {
-      description = "Node.js body parsing middleware";
-      homepage = https://github.com/expressjs/body-parser;
-      license = "MIT";
-    };
-    production = true;
-  };
-  "express-~4.8.3" = nodeEnv.buildNodePackage {
-    name = "express";
-    packageName = "express";
-    version = "4.8.8";
-    src = fetchurl {
-      url = "https://registry.npmjs.org/express/-/express-4.8.8.tgz";
-      sha1 = "6aba348ccdfa87608040b12ca0010107a0aac28e";
-    };
-    dependencies = [
-      sources."accepts-1.0.7"
-      sources."buffer-crc32-0.2.3"
-      sources."debug-1.0.4"
-      sources."depd-0.4.4"
-      sources."escape-html-1.0.1"
-      sources."finalhandler-0.1.0"
-      sources."media-typer-0.2.0"
-      sources."methods-1.1.0"
-      sources."parseurl-1.3.2"
-      sources."path-to-regexp-0.1.3"
-      sources."proxy-addr-1.0.1"
-      sources."qs-2.2.2"
-      sources."range-parser-1.0.0"
-      sources."send-0.8.5"
-      sources."serve-static-1.5.4"
-      sources."type-is-1.3.2"
-      sources."vary-0.1.0"
-      sources."cookie-0.1.2"
-      sources."fresh-0.2.2"
-      sources."cookie-signature-1.0.4"
-      sources."merge-descriptors-0.0.2"
-      sources."utils-merge-1.0.0"
-      sources."mime-types-1.0.2"
-      sources."negotiator-0.4.7"
-      sources."ms-0.6.2"
-      sources."ipaddr.js-0.1.2"
-      sources."destroy-1.0.3"
-      sources."mime-1.2.11"
-      sources."on-finished-2.1.0"
-      sources."ee-first-1.0.5"
-    ];
-    buildInputs = globalBuildInputs;
-    meta = {
-      description = "Fast, unopinionated, minimalist web framework";
-      homepage = http://expressjs.com/;
-      license = "MIT";
-    };
-    production = true;
-  };
-  "request-~2.34.0" = nodeEnv.buildNodePackage {
-    name = "request";
-    packageName = "request";
-    version = "2.34.0";
-    src = fetchurl {
-      url = "https://registry.npmjs.org/request/-/request-2.34.0.tgz";
-      sha1 = "b5d8b9526add4a2d4629f4d417124573996445ae";
-    };
-    dependencies = [
-      sources."qs-0.6.6"
-      sources."json-stringify-safe-5.0.1"
-      sources."forever-agent-0.5.2"
-      sources."node-uuid-1.4.8"
-      sources."mime-1.2.11"
-      sources."tough-cookie-2.3.3"
-      sources."form-data-0.1.4"
-      sources."tunnel-agent-0.3.0"
-      sources."http-signature-0.10.1"
-      sources."oauth-sign-0.3.0"
-      sources."hawk-1.0.0"
-      sources."aws-sign2-0.5.0"
-      sources."punycode-1.4.1"
-      sources."combined-stream-0.0.7"
-      sources."async-0.9.2"
-      sources."delayed-stream-0.0.5"
-      sources."assert-plus-0.1.5"
-      sources."asn1-0.1.11"
-      sources."ctype-0.5.3"
-      sources."hoek-0.9.1"
-      sources."boom-0.4.2"
-      sources."cryptiles-0.2.2"
-      sources."sntp-0.2.4"
-    ];
-    buildInputs = globalBuildInputs;
-    meta = {
-      description = "Simplified HTTP request client.";
-      homepage = https://github.com/mikeal/request;
-      license = "Apache, Version 2.0";
-    };
-    production = true;
-  };
-  "tar-~0.1.19" = nodeEnv.buildNodePackage {
-    name = "tar";
-    packageName = "tar";
-    version = "0.1.20";
-    src = fetchurl {
-      url = "https://registry.npmjs.org/tar/-/tar-0.1.20.tgz";
-      sha1 = "42940bae5b5f22c74483699126f9f3f27449cb13";
-    };
-    dependencies = [
-      sources."block-stream-0.0.9"
-      sources."fstream-0.1.31"
-      sources."inherits-2.0.3"
-      sources."graceful-fs-3.0.11"
-      sources."mkdirp-0.5.1"
-      sources."rimraf-2.6.2"
-      sources."natives-1.1.0"
-      sources."minimist-0.0.8"
-      sources."glob-7.1.2"
-      sources."fs.realpath-1.0.0"
-      sources."inflight-1.0.6"
-      sources."minimatch-3.0.4"
-      sources."once-1.4.0"
-      sources."path-is-absolute-1.0.1"
-      sources."wrappy-1.0.2"
-      sources."brace-expansion-1.1.8"
-      sources."balanced-match-1.0.0"
-      sources."concat-map-0.0.1"
-    ];
-    buildInputs = globalBuildInputs;
-    meta = {
-      description = "tar for node";
-      homepage = https://github.com/isaacs/node-tar;
-      license = "BSD";
-    };
-    production = true;
-  };
-  "ws-~0.4.32" = nodeEnv.buildNodePackage {
-    name = "ws";
-    packageName = "ws";
-    version = "0.4.32";
-    src = fetchurl {
-      url = "https://registry.npmjs.org/ws/-/ws-0.4.32.tgz";
-      sha1 = "787a6154414f3c99ed83c5772153b20feb0cec32";
-    };
-    dependencies = [
-      sources."commander-2.1.0"
-      sources."nan-1.0.0"
-      sources."tinycolor-0.0.1"
-      sources."options-0.0.6"
-    ];
-    buildInputs = globalBuildInputs;
-    meta = {
-      description = "simple to use, blazing fast and thoroughly tested websocket client, server and console for node.js, up-to-date against RFC-6455";
-      homepage = https://github.com/einaros/ws;
-    };
-    production = true;
-  };
-}
\ No newline at end of file
diff --git a/pkgs/applications/editors/zed/node.nix b/pkgs/applications/editors/zed/node.nix
deleted file mode 100644
index ff0bf1eb805..00000000000
--- a/pkgs/applications/editors/zed/node.nix
+++ /dev/null
@@ -1,16 +0,0 @@
-# This file has been generated by node2nix 1.3.0. Do not edit!
-
-{pkgs ? import <nixpkgs> {
-    inherit system;
-  }, system ? builtins.currentSystem, nodejs ? pkgs."nodejs-6_x"}:
-
-let
-  nodeEnv = import ../../../development/node-packages/node-env.nix {
-    inherit (pkgs) stdenv python2 utillinux runCommand writeTextFile;
-    inherit nodejs;
-  };
-in
-import ./node-packages.nix {
-  inherit (pkgs) fetchurl fetchgit;
-  inherit nodeEnv;
-}
\ No newline at end of file
diff --git a/pkgs/applications/gis/grass/default.nix b/pkgs/applications/gis/grass/default.nix
index 987b544c556..b2404df8e56 100644
--- a/pkgs/applications/gis/grass/default.nix
+++ b/pkgs/applications/gis/grass/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchurl, flex, bison, pkgconfig, zlib, libtiff, libpng, fftw
 , cairo, readline, ffmpeg, makeWrapper, wxGTK30, netcdf, blas
-, proj, gdal, geos, sqlite, postgresql, mysql, python2Packages
+, proj, gdal, geos, sqlite, postgresql, mysql, python2Packages, libLAS
 }:
 
 stdenv.mkDerivation {
@@ -12,9 +12,14 @@ stdenv.mkDerivation {
 
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ flex bison zlib proj gdal libtiff libpng fftw sqlite cairo
-  readline ffmpeg makeWrapper wxGTK30 netcdf geos postgresql mysql.connector-c blas ]
+  readline ffmpeg makeWrapper wxGTK30 netcdf geos postgresql mysql.connector-c blas
+  libLAS ]
     ++ (with python2Packages; [ python dateutil wxPython30 numpy ]);
 
+  # On Darwin the installer tries to symlink the help files into a system
+  # directory
+  patches = [ ./no_symbolic_links.patch ];
+
   configureFlags = [
     "--with-proj-share=${proj}/share/proj"
     "--without-opengl"
@@ -29,8 +34,12 @@ stdenv.mkDerivation {
     "--with-mysql-includes=${mysql.connector-c}/include/mysql"
     "--with-mysql-libs=${mysql.connector-c}/lib/mysql"
     "--with-blas"
+    "--with-liblas=${libLAS}/bin/liblas-config"
   ];
 
+  # Otherwise a very confusing "Can't load GDAL library" error
+  makeFlags = stdenv.lib.optional stdenv.isDarwin "GDAL_DYNAMIC=";
+
   /* Ensures that the python script run at build time are actually executable;
    * otherwise, patchShebangs ignores them.  */
   postConfigure = ''
@@ -69,6 +78,7 @@ stdenv.mkDerivation {
     --set GRASS_PYTHON ${python2Packages.python}/bin/${python2Packages.python.executable} \
     --suffix LD_LIBRARY_PATH ':' '${gdal}/lib'
     ln -s $out/grass-*/lib $out/lib
+    ln -s $out/grass-*/include $out/include
   '';
 
   enableParallelBuilding = true;
@@ -78,5 +88,6 @@ stdenv.mkDerivation {
     description = "GIS software suite used for geospatial data management and analysis, image processing, graphics and maps production, spatial modeling, and visualization";
     license = stdenv.lib.licenses.gpl2Plus;
     platforms = stdenv.lib.platforms.all;
+    maintainers = with stdenv.lib.maintainers; [mpickering];
   };
 }
diff --git a/pkgs/applications/gis/grass/no_symbolic_links.patch b/pkgs/applications/gis/grass/no_symbolic_links.patch
new file mode 100644
index 00000000000..ef09b97b703
--- /dev/null
+++ b/pkgs/applications/gis/grass/no_symbolic_links.patch
@@ -0,0 +1,37 @@
+diff --git a/include/Make/Install.make b/include/Make/Install.make
+index 0aba138..8ba74bc 100644
+--- a/include/Make/Install.make
++++ b/include/Make/Install.make
+@@ -116,11 +116,6 @@ real-install: | $(INST_DIR) $(UNIX_BIN)
+ 	-$(INSTALL) config.status $(INST_DIR)/config.status
+ 	-$(CHMOD) -R a+rX $(INST_DIR) 2>/dev/null
+ 
+-ifneq ($(findstring darwin,$(ARCH)),)
+-	@# enable OSX Help Viewer
+-	@/bin/ln -sfh "$(INST_DIR)/docs/html" /Library/Documentation/Help/GRASS-$(GRASS_VERSION_MAJOR).$(GRASS_VERSION_MINOR)
+-endif
+-
+ $(INST_DIR) $(UNIX_BIN):
+ 	$(MAKE_DIR_CMD) $@
+ 
+diff --git a/macosx/app/build_html_user_index.sh b/macosx/app/build_html_user_index.sh
+index 04e63eb..c9d9c2c 100755
+--- a/macosx/app/build_html_user_index.sh
++++ b/macosx/app/build_html_user_index.sh
+@@ -140,7 +140,6 @@ else
+ #      echo "<tr><td valign=\"top\"><a href=\"$HTMLDIRG/$i\">$BASENAME</a></td> <td>$SHORTDESC</td></tr>" >> $FULLINDEX
+       # make them local to user to simplify page links
+       echo "<tr><td valign=\"top\"><a href=\"global_$i\">$BASENAME</a></td> <td>$SHORTDESC</td></tr>" >> $FULLINDEX
+-      ln -sf "$HTMLDIRG/$i" global_$i
+     done
+   done
+ fi
+@@ -183,8 +182,3 @@ echo "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\">
+ </html>" > $i.html
+ done
+ 
+-# add Help Viewer links in user docs folder
+-
+-mkdir -p $HOME/Library/Documentation/Help/
+-ln -sfh ../../GRASS/$GRASS_MMVER/Modules/docs/html $HOME/Library/Documentation/Help/GRASS-$GRASS_MMVER-addon
+-ln -sfh $GISBASE/docs/html $HOME/Library/Documentation/Help/GRASS-$GRASS_MMVER
diff --git a/pkgs/applications/gis/openorienteering-mapper/default.nix b/pkgs/applications/gis/openorienteering-mapper/default.nix
new file mode 100644
index 00000000000..7b79cd062a8
--- /dev/null
+++ b/pkgs/applications/gis/openorienteering-mapper/default.nix
@@ -0,0 +1,68 @@
+{ stdenv, fetchFromGitHub, gdal, cmake, ninja, proj, clipper, zlib, qtbase, qttools
+  , qtlocation, qtsensors, doxygen, cups, makeWrapper, qtimageformats
+}:
+
+stdenv.mkDerivation rec {
+  name = "OpenOrienteering-Mapper-${version}";
+  version = "0.8.1.2";
+
+  buildInputs = [ gdal qtbase qttools qtlocation qtimageformats
+                  qtsensors clipper zlib proj doxygen cups];
+
+  nativeBuildInputs = [ cmake makeWrapper ninja ];
+
+  src = fetchFromGitHub {
+    owner = "OpenOrienteering";
+    repo = "mapper";
+    rev = "v${version}";
+    sha256 = "0f7zxzl2n46qy86k6n3f6a7l1nhba58i28l8ngp3drf74qffaa33";
+  };
+
+  cmakeFlags =
+    [
+    # Required by the build to be specified
+    "-DPROJ4_ROOT=${proj}"
+
+    # Building the manual and bundling licenses fails
+    "-DLICENSING_PROVIDER:BOOL=OFF"
+    "-DMapper_MANUAL_QTHELP:BOOL=OFF"
+    ] ++
+    (stdenv.lib.optionals stdenv.isDarwin
+    [
+    # Usually enabled on Darwin
+    "-DCMAKE_FIND_FRAMEWORK=never"
+    # FindGDAL is broken and always finds /Library/Framework unless this is
+    # specified
+    "-DGDAL_INCLUDE_DIR=${gdal}/include"
+    "-DGDAL_CONFIG=${gdal}/bin/gdal-config"
+    "-DGDAL_LIBRARY=${gdal}/lib/libgdal.dylib"
+    # Don't bundle libraries
+    "-DMapper_PACKAGE_PROJ=0"
+    "-DMapper_PACKAGE_QT=0"
+    "-DMapper_PACKAGE_ASSISTANT=0"
+    "-DMapper_PACKAGE_GDAL=0"
+    ]);
+
+
+  postInstall =
+    stdenv.lib.optionalString stdenv.isDarwin ''
+    # Fixes "This application failed to start because it could not find or load the Qt
+    # platform plugin "cocoa"."
+    wrapProgram $out/Mapper.app/Contents/MacOS/Mapper \
+      --set QT_QPA_PLATFORM_PLUGIN_PATH ${qtbase.bin}/lib/qt-*/plugins/platforms \
+      --set QT_PLUGIN_PATH ${qtbase.bin}/${qtbase.qtPluginPrefix}:${qtimageformats}/${qtbase.qtPluginPrefix}
+    mkdir -p $out/bin
+    ln -s $out/Mapper.app/Contents/MacOS/Mapper $out/bin/mapper
+    '';
+
+  meta = with stdenv.lib; {
+    description = ''
+      OpenOrienteering Mapper is an orienteering mapmaking program
+      and provides a free alternative to the existing proprietary solution.
+    '';
+    homepage = https://www.openorienteering.org/apps/mapper/;
+    license = licenses.gpl3;
+    platforms = with platforms; linux ++ darwin;
+    maintainers = with maintainers; [mpickering];
+  };
+}
diff --git a/pkgs/applications/gis/qgis/default.nix b/pkgs/applications/gis/qgis/default.nix
index c2a09a507cc..896387b1f7f 100644
--- a/pkgs/applications/gis/qgis/default.nix
+++ b/pkgs/applications/gis/qgis/default.nix
@@ -1,23 +1,31 @@
 { stdenv, fetchurl, fetchpatch, gdal, cmake, qt4, flex, bison, proj, geos, xlibsWrapper, sqlite, gsl
 , qwt, fcgi, python2Packages, libspatialindex, libspatialite, qscintilla, postgresql, makeWrapper
-, qjson, qca2, txt2tags, openssl
-, withGrass ? false, grass
+, qjson, qca2, txt2tags, openssl, darwin, pkgconfig
+, withGrass ? true, grass, IOKit, ApplicationServices
 }:
 
 stdenv.mkDerivation rec {
-  name = "qgis-2.18.16";
+  name = "qgis-2.18.17";
 
   buildInputs = [ gdal qt4 flex openssl bison proj geos xlibsWrapper sqlite gsl qwt qscintilla
-    fcgi libspatialindex libspatialite postgresql qjson qca2 txt2tags ] ++
+    fcgi libspatialindex libspatialite postgresql qjson qca2 txt2tags pkgconfig ]
+  ++
+    (stdenv.lib.optionals stdenv.isDarwin [IOKit ApplicationServices])
+  ++
     (stdenv.lib.optional withGrass grass) ++
+    (stdenv.lib.optional (stdenv.isDarwin && withGrass) darwin.apple_sdk.libs.utmp) ++
     (with python2Packages; [ jinja2 numpy psycopg2 pygments requests python2Packages.qscintilla sip ]);
 
-  nativeBuildInputs = [ cmake makeWrapper ];
+  nativeBuildInputs = [ cmake makeWrapper pkgconfig ];
 
   # `make -f src/providers/wms/CMakeFiles/wmsprovider_a.dir/build.make src/providers/wms/CMakeFiles/wmsprovider_a.dir/qgswmssourceselect.cpp.o`:
   # fatal error: ui_qgsdelimitedtextsourceselectbase.h: No such file or directory
   enableParallelBuilding = false;
 
+  preConfigure = ''
+    NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE $(pkg-config --cflags libspatialindex)"
+  '';
+
   # To handle the lack of 'local' RPATH; required, as they call one of
   # their built binaries requiring their libs, in the build process.
   preBuild = ''
@@ -26,22 +34,49 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "http://qgis.org/downloads/${name}.tar.bz2";
-    sha256 = "0d880m013kzi4qiyr27yjx6hzpb652slp66gyqgw9ziw03wy12c9";
+    sha256 = "1nxwl5lwibbiz9v3qaw3px7iyxg113zr4j8d99yj07mhk2ap082y";
   };
 
-  cmakeFlags = stdenv.lib.optional withGrass "-DGRASS_PREFIX7=${grass}/${grass.name}";
+  # CMAKE_FIND_FRAMEWORK=never stops the installer choosing system
+  # installed frameworks
+  # QGIS_MACAPP_BUNDLE=0 stops the installer copying the Qt binaries into the
+  # installation which causes havoc
+  # Building RelWithDebInfo allows QGIS_DEBUG to print debugging information
+  cmakeFlags = stdenv.lib.optional withGrass "-DGRASS_PREFIX7=${grass}/${grass.name}"
+               ++ stdenv.lib.optional stdenv.isDarwin
+                    (["-DCMAKE_FIND_FRAMEWORK=never"]
+                      ++ ["-DQGIS_MACAPP_BUNDLE=0"]);
+#                     ++ ["-DCMAKE_BUILD_TYPE=RelWithDebInfo"];
 
-  postInstall = ''
-    wrapProgram $out/bin/qgis \
-      --prefix PYTHONPATH : $PYTHONPATH \
-      --prefix LD_LIBRARY_PATH : ${stdenv.lib.makeLibraryPath [ openssl ]}
-  '';
+
+
+  postInstall =
+    (stdenv.lib.optionalString stdenv.isLinux ''
+          wrapProgram $out/bin/qgis \
+            --set PYTHONPATH $PYTHONPATH \
+            --prefix LD_LIBRARY_PATH : ${stdenv.lib.makeLibraryPath [ openssl ]}
+          '') +
+    (stdenv.lib.optionalString stdenv.isDarwin ''
+      # Necessary for QGIS to find the correct default GRASS path
+      # Plugins look for gdal tools like deminfo on the PATH
+      ${stdenv.lib.optionalString withGrass "ln -sf ${grass} $out/QGIS.app/Contents/MacOS/grass"}
+      for file in $(find $out -type f -name "QGIS"); do
+        wrapProgram "$file" \
+          --prefix DYLD_LIBRARY_PATH : "${qwt}/lib" \
+          --prefix DYLD_LIBRARY_PATH : "${qscintilla}/lib" \
+          --prefix PATH : "${gdal}/bin" \
+          ${stdenv.lib.optionalString withGrass "--prefix PATH : ${grass}/bin"} \
+          --set PYTHONPATH $PYTHONPATH
+      done
+      mkdir -p $out/bin
+      ln -s $out/QGIS.app/Contents/MacOS/QGIS $out/bin/qgis
+      '');
 
   meta = {
     description = "User friendly Open Source Geographic Information System";
     homepage = http://www.qgis.org;
     license = stdenv.lib.licenses.gpl2Plus;
-    platforms = with stdenv.lib.platforms; linux;
-    maintainers = with stdenv.lib.maintainers; [viric];
+    platforms = with stdenv.lib.platforms; unix;
+    maintainers = with stdenv.lib.maintainers; [viric mpickering];
   };
 }
diff --git a/pkgs/applications/gis/saga/default.nix b/pkgs/applications/gis/saga/default.nix
index 847421de3b1..a0f2e007555 100644
--- a/pkgs/applications/gis/saga/default.nix
+++ b/pkgs/applications/gis/saga/default.nix
@@ -2,15 +2,15 @@
   libharu, opencv, vigra, postgresql }:
 
 stdenv.mkDerivation rec {
-  name = "saga-6.2.0";
+  name = "saga-6.3.0";
 
   buildInputs = [ gdal wxGTK30 proj libharu opencv vigra postgresql libiodbc lzma jasper ];
 
   enableParallelBuilding = true;
 
   src = fetchurl {
-    url = "mirror://sourceforge/project/saga-gis/SAGA%20-%206/SAGA%20-%206.2.0/saga-6.2.0.tar.gz";
-    sha256 = "91b030892c894ba02eb4292ebfc9ccbf4acf3062118f2a89a9a11208773fa280";
+    url = "mirror://sourceforge/project/saga-gis/SAGA%20-%206/SAGA%20-%206.3.0/saga-6.3.0.tar.gz";
+    sha256 = "0hyjim8fcp3mna1hig22nnn4ki3j6b7096am2amcs99sdr09jjxv";
   };
 
   meta = {
diff --git a/pkgs/applications/graphics/ImageMagick/7.0.nix b/pkgs/applications/graphics/ImageMagick/7.0.nix
index e716146ec7a..65a3238ef57 100644
--- a/pkgs/applications/graphics/ImageMagick/7.0.nix
+++ b/pkgs/applications/graphics/ImageMagick/7.0.nix
@@ -14,8 +14,8 @@ let
     else throw "ImageMagick is not supported on this platform.";
 
   cfg = {
-    version = "7.0.7-22";
-    sha256 = "1ad7mwx48xrkvm3v060n2f67kmi0qk7gfql1shiwbkkjvzzaaiam";
+    version = "7.0.7-29";
+    sha256 = "0jfpfydz50zxs776knz6w2f5g0l4nhivp9g1fz4cf5clgjcpa3z6";
     patches = [];
   };
 in
diff --git a/pkgs/applications/graphics/ImageMagick/default.nix b/pkgs/applications/graphics/ImageMagick/default.nix
index be3a369c28b..4b8d2ab291b 100644
--- a/pkgs/applications/graphics/ImageMagick/default.nix
+++ b/pkgs/applications/graphics/ImageMagick/default.nix
@@ -38,7 +38,7 @@ stdenv.mkDerivation rec {
 
   src = fetchFromGitHub {
     owner = "ImageMagick";
-    repo = "ImageMagick";
+    repo = "ImageMagick6";
     rev = cfg.version;
     inherit (cfg) sha256;
   };
@@ -78,6 +78,8 @@ stdenv.mkDerivation rec {
       [ libX11 libXext libXt libwebp ]
     ;
 
+  doCheck = false; # fails 6 out of 76 tests
+
   postInstall = ''
     (cd "$dev/include" && ln -s ImageMagick* ImageMagick)
     moveToOutput "bin/*-config" "$dev"
diff --git a/pkgs/applications/graphics/ahoviewer/default.nix b/pkgs/applications/graphics/ahoviewer/default.nix
index b7647803b3d..5fb7e007806 100644
--- a/pkgs/applications/graphics/ahoviewer/default.nix
+++ b/pkgs/applications/graphics/ahoviewer/default.nix
@@ -1,31 +1,41 @@
-{ stdenv, pkgs, fetchurl, fetchFromGitHub, pkgconfig, libconfig, 
-  gtkmm2, glibmm, libxml2, libsecret, curl, unrar, libzip,
-  librsvg, gst_all_1, autoreconfHook, makeWrapper }:
+{ stdenv, pkgs, fetchurl, fetchFromGitHub, pkgconfig, libconfig,
+  gtkmm2, glibmm, libxml2, libsecret, curl, libzip,
+  librsvg, gst_all_1, autoreconfHook, makeWrapper,
+  useUnrar ? false, unrar
+}:
+
+assert useUnrar -> unrar != null;
 
 stdenv.mkDerivation rec {
   name = "ahoviewer-${version}";
-  version = "1.4.9";
+  version = "1.5.0";
 
   src = fetchFromGitHub {
     owner = "ahodesuka";
     repo = "ahoviewer";
     rev = version;
-    sha256 = "194h3k5zvd8gjrbs91qba7d9h7i30yh4rjk4w3aa1vwvv0qm2amx";
+    sha256 = "1adzxp30fwh41y339ha8i5qp89zf21dw18vcicqqnzvyxbk5r3ig";
   };
 
-  enableParallelBuilding = true; 
-  
+  enableParallelBuilding = true;
+
   nativeBuildInputs = [ autoreconfHook pkgconfig makeWrapper ];
-  buildInputs = [ glibmm libconfig gtkmm2 glibmm libxml2
-                  libsecret curl unrar libzip librsvg 
-                  gst_all_1.gstreamer
-                  gst_all_1.gst-plugins-good 
-                  gst_all_1.gst-plugins-bad 
-                  gst_all_1.gst-libav
-                  gst_all_1.gst-plugins-base ];
-  
+  buildInputs = [
+    glibmm libconfig gtkmm2 glibmm libxml2
+    libsecret curl libzip librsvg
+    gst_all_1.gstreamer
+    gst_all_1.gst-plugins-good
+    gst_all_1.gst-libav
+    gst_all_1.gst-plugins-base
+  ] ++ stdenv.lib.optional useUnrar unrar;
+
+  # https://github.com/ahodesuka/ahoviewer/issues/60
+  # Already fixed in the master branch
+  # TODO: remove this next release
+  makeFlags = [ ''LIBS=-lssl -lcrypto'' ];
+
   postPatch = ''patchShebangs version.sh'';
-  
+
   postInstall = ''
     wrapProgram $out/bin/ahoviewer \
     --prefix GST_PLUGIN_SYSTEM_PATH_1_0 : "$GST_PLUGIN_SYSTEM_PATH_1_0" \
diff --git a/pkgs/applications/graphics/ao/default.nix b/pkgs/applications/graphics/ao/default.nix
index d415df1bae8..f51777bdbf7 100644
--- a/pkgs/applications/graphics/ao/default.nix
+++ b/pkgs/applications/graphics/ao/default.nix
@@ -36,5 +36,6 @@ stdenv.mkDerivation rec {
     license = stdenv.lib.licenses.gpl2Plus ; # Some parts can be extracted and used under LGPL2+
     maintainers = [stdenv.lib.maintainers.raskin];
     platforms = stdenv.lib.platforms.linux;
+    broken = true; # 2018-04-10
   };
 }
diff --git a/pkgs/applications/graphics/avocode/default.nix b/pkgs/applications/graphics/avocode/default.nix
new file mode 100644
index 00000000000..7bcbc8f2e40
--- /dev/null
+++ b/pkgs/applications/graphics/avocode/default.nix
@@ -0,0 +1,99 @@
+{ stdenv, lib, makeDesktopItem, fetchurl, unzip
+, gdk_pixbuf, glib, gtk2, atk, pango, cairo, freetype, fontconfig, dbus, nss, nspr, alsaLib, cups, expat, udev, gnome2
+, xorg, mozjpeg
+}:
+
+stdenv.mkDerivation rec {
+  name = "avocode-${version}";
+  version = "2.26.0";
+
+  src = fetchurl {
+    url = "https://media.avocode.com/download/avocode-app/${version}/avocode-${version}-linux.zip";
+    sha256 = "11d3nlshyzh5aqf5vsvnjwhr9qn8a2kd848x0ylv91y9p9njgsl5";
+  };
+
+  libPath = stdenv.lib.makeLibraryPath (with xorg; with gnome2; [
+    stdenv.cc.cc.lib
+    gdk_pixbuf
+    glib
+    gtk2
+    atk
+    pango
+    cairo
+    freetype
+    fontconfig
+    dbus
+    nss
+    nspr
+    alsaLib
+    cups
+    expat
+    udev
+    GConf
+    libX11
+    libxcb
+    libXi
+    libXcursor
+    libXdamage
+    libXrandr
+    libXcomposite
+    libXext
+    libXfixes
+    libXrender
+    libXtst
+    libXScrnSaver
+  ]);
+
+  desktopItem = makeDesktopItem {
+    name = "Avocode";
+    exec = "avocode";
+    icon = "avocode";
+    desktopName = "Avocode";
+    genericName = "Design Inspector";
+    categories = "Application;Development;";
+    comment = "The bridge between designers and developers";
+  };
+
+  buildInputs = [ unzip ];
+
+  # src is producing multiple folder on unzip so we must
+  # override unpackCmd to extract it into newly created folder
+  unpackCmd = ''
+    mkdir out
+    unzip $curSrc -d out
+  '';
+
+  installPhase = ''
+    substituteInPlace avocode.desktop.in \
+      --replace /path/to/avocode-dir/Avocode $out/bin/avocode \
+      --replace /path/to/avocode-dir/avocode.png avocode
+
+    mkdir -p share/applications share/pixmaps
+    mv avocode.desktop.in share/applications/avocode.desktop
+    mv avocode.png share/pixmaps/
+
+    rm resources/cjpeg
+    cp -av . $out
+
+    mkdir $out/bin
+    ln -s $out/avocode $out/bin/avocode
+    ln -s ${mozjpeg}/bin/cjpeg $out/resources/cjpeg
+  '';
+
+  postFixup = ''
+    for file in $(find $out -type f \( -perm /0111 -o -name \*.so\* \) ); do
+      patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" $out/avocode
+        patchelf --set-rpath ${libPath}:$out/ $file
+    done
+  '';
+
+  enableParallelBuilding = true;
+
+  meta = with stdenv.lib; {
+    homepage = https://avocode.com/;
+    description = "The bridge between designers and developers";
+    license = licenses.unfree;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ megheaiulian ];
+  };
+}
diff --git a/pkgs/applications/graphics/c3d/default.nix b/pkgs/applications/graphics/c3d/default.nix
index 74631e88ebf..7e1c6d7c8c4 100644
--- a/pkgs/applications/graphics/c3d/default.nix
+++ b/pkgs/applications/graphics/c3d/default.nix
@@ -3,12 +3,12 @@
 stdenv.mkDerivation rec {
   name    = "${pname}-${version}";
   pname   = "c3d";
-  version = "1.1.0";
+  version = "2018-10-04";
 
   src = fetchgit {
     url = "https://git.code.sf.net/p/c3d/git";
-    rev = "3453f6133f0df831dcbb0d0cfbd8b26e121eb153";
-    sha256 = "1xgbk20w22jwvf7pa0n4lcbyx35fq56zzlslj0nvcclh6vx0b4z8";
+    rev = "351929a582b2ef68fb9902df0b11d38f44a0ccd0";
+    sha256 = "0mpv4yl6hdnxgvnwrmd182h64n3ppp30ldzm0jz6jglk0nvpzq9w";
   };
 
   nativeBuildInputs = [ cmake ];
@@ -21,5 +21,6 @@ stdenv.mkDerivation rec {
     maintainers = with maintainers; [ bcdarwin ];
     platforms = platforms.unix;
     license = licenses.gpl2;
+    broken = true;
   };
 }
diff --git a/pkgs/applications/graphics/darktable/default.nix b/pkgs/applications/graphics/darktable/default.nix
index 14659d796fc..4de49524f82 100644
--- a/pkgs/applications/graphics/darktable/default.nix
+++ b/pkgs/applications/graphics/darktable/default.nix
@@ -6,12 +6,12 @@
 }:
 
 stdenv.mkDerivation rec {
-  version = "2.4.1";
+  version = "2.4.3";
   name = "darktable-${version}";
 
   src = fetchurl {
     url = "https://github.com/darktable-org/darktable/releases/download/release-${version}/darktable-${version}.tar.xz";
-    sha256 = "014pq80i5k1kdvvrl7xrgaaq3i4fzv09h7a3pwzlp2ahkczwcm32";
+    sha256 = "1lq3xp7hhfhfwqrz0f2mrp3xywnpvb0nlw6lbm5cgx22s5xzri8x";
   };
 
   nativeBuildInputs = [ cmake ninja llvm pkgconfig intltool perl desktop-file-utils wrapGAppsHook ];
diff --git a/pkgs/applications/graphics/digikam/default.nix b/pkgs/applications/graphics/digikam/default.nix
index 9dd0722541f..5c6a4bab930 100644
--- a/pkgs/applications/graphics/digikam/default.nix
+++ b/pkgs/applications/graphics/digikam/default.nix
@@ -50,13 +50,13 @@
 
 mkDerivation rec {
   name    = "digikam-${version}";
-  version = "5.8.0";
+  version = "5.9.0";
 
   src = fetchFromGitHub {
     owner  = "KDE";
     repo   = "digikam";
     rev    = "v${version}";
-    sha256 = "1bvidg0fn92xvw5brhb34lm7m4iy4jb5xpvnhbgh8vik2m4n41w1";
+    sha256 = "09diw273h9i7rss89ba82yrfy6jb2njv3k0dknrrg7bb998vrw2d";
   };
 
   nativeBuildInputs = [ cmake doxygen extra-cmake-modules kdoctools wrapGAppsHook ];
@@ -116,7 +116,7 @@ mkDerivation rec {
   meta = with lib; {
     description = "Photo Management Program";
     license = licenses.gpl2;
-    homepage = http://www.digikam.org;
+    homepage = https://www.digikam.org;
     maintainers = with maintainers; [ the-kenny ];
     platforms = platforms.linux;
   };
diff --git a/pkgs/applications/graphics/displaycal/default.nix b/pkgs/applications/graphics/displaycal/default.nix
index a845bc63a38..9984c0222a0 100644
--- a/pkgs/applications/graphics/displaycal/default.nix
+++ b/pkgs/applications/graphics/displaycal/default.nix
@@ -1,15 +1,15 @@
 {buildPythonPackage, stdenv, fetchurl, pkgconfig
- , libXext, libXxf86vm, libX11, libXrandr, libXinerama
+ , libXext, libXxf86vm, libX11, libXrandr, libXinerama, libXScrnSaver
  , argyllcms, wxPython, numpy
  }:
 buildPythonPackage {
-  name = "displaycal-3.2.4.0";
+  name = "displaycal-3.5.0.0";
 
   enableParallelBuilding = true;
 
   src = fetchurl {
-    url = mirror://sourceforge/project/dispcalgui/release/3.2.4.0/DisplayCAL-3.2.4.0.tar.gz;
-    sha256 = "0swkhv338d1kmfxyf30zzdjs5xpbha40pg2zysiipcbasc0xhlb8";
+    url = mirror://sourceforge/project/dispcalgui/release/3.5.0.0/DisplayCAL-3.5.0.0.tar.gz;
+    sha256 = "1j496sv8pbhby5hkkbp07k6bs3f7mb1l3dijmn2iga3kmix0fn5q";
   };
 
   propagatedBuildInputs = [
@@ -18,6 +18,7 @@ buildPythonPackage {
     libX11
     libXrandr
     libXinerama
+    libXScrnSaver
     argyllcms
     wxPython
     numpy
diff --git a/pkgs/applications/graphics/dosage/default.nix b/pkgs/applications/graphics/dosage/default.nix
new file mode 100644
index 00000000000..4bc0e93a3b4
--- /dev/null
+++ b/pkgs/applications/graphics/dosage/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, pythonPackages, fetchFromGitHub }:
+
+pythonPackages.buildPythonApplication rec {
+  name = "${pname}-${version}";
+  pname = "dosage";
+  version = "2018.04.08";
+  PBR_VERSION = version;
+
+  src = fetchFromGitHub {
+    owner = "webcomics";
+    repo = "dosage";
+    rev = "b2fdc13feb65b93762928f7e99bac7b1b7b31591";
+    sha256 = "1p6vllqaf9s6crj47xqp97hkglch1kd4y8y4lxvzx3g2shhhk9hh";
+  };
+  buildInputs = with pythonPackages; [ pytest responses ];
+  propagatedBuildInputs = with pythonPackages; [ colorama lxml requests pbr ];
+
+  disabled = pythonPackages.pythonOlder "3.3";
+
+  checkPhase = ''
+    py.test tests/
+  '';
+
+  meta = {
+    description = "A comic strip downloader and archiver";
+    homepage = https://dosage.rocks/;
+  };
+}
diff --git a/pkgs/applications/graphics/draftsight/default.nix b/pkgs/applications/graphics/draftsight/default.nix
index 9ab43ff9433..b604099096f 100644
--- a/pkgs/applications/graphics/draftsight/default.nix
+++ b/pkgs/applications/graphics/draftsight/default.nix
@@ -4,8 +4,6 @@
   libX11, libXcursor, libXrandr, libxcb, libXi, libSM, libICE,
   libXrender, libXcomposite }:
 
-assert stdenv.system == "x86_64-linux";
-
 let version = "2017-SP2"; in
 stdenv.mkDerivation {
   name = "draftsight-${version}";
@@ -71,6 +69,6 @@ stdenv.mkDerivation {
     homepage = https://www.3ds.com/products-services/draftsight-cad-software/;
     license = stdenv.lib.licenses.unfree;
     maintainers = with maintainers; [ hodapp ];
-    platforms = platforms.linux;
+    platforms = [ "x86_64-linux" ];
   };
 }
diff --git a/pkgs/applications/graphics/epeg/default.nix b/pkgs/applications/graphics/epeg/default.nix
new file mode 100644
index 00000000000..02528a43e31
--- /dev/null
+++ b/pkgs/applications/graphics/epeg/default.nix
@@ -0,0 +1,31 @@
+{ lib, stdenv, fetchFromGitHub, pkgconfig, libtool, autoconf, automake
+, libjpeg, libexif
+}:
+
+stdenv.mkDerivation rec {
+  name = "epeg-0.9.1.042"; # version taken from configure.ac
+
+  src = fetchFromGitHub {
+    owner = "mattes";
+    repo = "epeg";
+    rev = "248ae9fc3f1d6d06e6062a1f7bf5df77d4f7de9b";
+    sha256 = "14ad33w3pxrg2yfc2xzyvwyvjirwy2d00889dswisq8b84cmxfia";
+  };
+
+  enableParallelBuilding = true;
+
+  nativeBuildInputs = [ pkgconfig libtool autoconf automake ];
+
+  propagatedBuildInputs = [ libjpeg libexif ];
+
+  preConfigure = ''
+    ./autogen.sh
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/mattes/epeg;
+    description = "Insanely fast JPEG/ JPG thumbnail scaling";
+    platforms = platforms.linux ++ platforms.darwin;
+    maintainers = with maintainers; [ nh2 ];
+  };
+}
diff --git a/pkgs/applications/graphics/exrdisplay/default.nix b/pkgs/applications/graphics/exrdisplay/default.nix
index aee65803e53..e698fb8f234 100644
--- a/pkgs/applications/graphics/exrdisplay/default.nix
+++ b/pkgs/applications/graphics/exrdisplay/default.nix
@@ -3,11 +3,11 @@
 assert fltk.glSupport;
 
 stdenv.mkDerivation {
-  name ="openexr_viewers-2.2.0";
+  name ="openexr_viewers-2.2.1";
 
   src = fetchurl {
-    url =  "mirror://savannah/openexr/openexr_viewers-2.2.0.tar.gz";
-    sha256 = "1s84vnas12ybx8zz0jcmpfbk9m4ab5bg2d3cglqwk3wys7jf4gzp";
+    url =  "mirror://savannah/openexr/openexr_viewers-2.2.1.tar.gz";
+    sha256 = "1ixx2wbjp4rvsf7h3bkja010gl1ihjrcjzy7h20jnn47ikg12vj8";
   };
 
   configurePhase = ''
diff --git a/pkgs/applications/graphics/fbida/default.nix b/pkgs/applications/graphics/fbida/default.nix
index 2943b5ef94c..2e91f787350 100644
--- a/pkgs/applications/graphics/fbida/default.nix
+++ b/pkgs/applications/graphics/fbida/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchurl, libjpeg, libexif, libungif, libtiff, libpng, libwebp, libdrm
 , pkgconfig, freetype, fontconfig, which, imagemagick, curl, sane-backends, libXpm
-, epoxy, poppler, lirc }:
+, epoxy, poppler, mesa_noglu, lirc }:
 
 stdenv.mkDerivation rec {
   name = "fbida-2.13";
@@ -11,8 +11,11 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ pkgconfig which ];
-  buildInputs = [ libexif libjpeg libpng libungif freetype fontconfig libtiff
-   libwebp imagemagick curl sane-backends libdrm libXpm epoxy poppler lirc ];
+  buildInputs = [
+    libexif libjpeg libpng libungif freetype fontconfig libtiff libwebp
+    imagemagick curl sane-backends libdrm libXpm epoxy poppler lirc
+    mesa_noglu
+  ];
   
   makeFlags = [ "prefix=$(out)" "verbose=yes" "STRIP=" ];
 
diff --git a/pkgs/applications/graphics/feh/default.nix b/pkgs/applications/graphics/feh/default.nix
index 61e177be609..96d4a397c90 100644
--- a/pkgs/applications/graphics/feh/default.nix
+++ b/pkgs/applications/graphics/feh/default.nix
@@ -6,11 +6,11 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   name = "feh-${version}";
-  version = "2.25";
+  version = "2.26.1";
 
   src = fetchurl {
     url = "https://feh.finalrewind.org/${name}.tar.bz2";
-    sha256 = "102rwi30n09l8rih6kv6bb7lhv3djklgzill4p2zag0h700yqfq6";
+    sha256 = "155clzkrzs7fh5nx924851di30hilcg16g192ldqqc12p5z5gikd";
   };
 
   outputs = [ "out" "man" "doc" ];
diff --git a/pkgs/applications/graphics/fstl/default.nix b/pkgs/applications/graphics/fstl/default.nix
new file mode 100644
index 00000000000..355acf7681a
--- /dev/null
+++ b/pkgs/applications/graphics/fstl/default.nix
@@ -0,0 +1,35 @@
+{stdenv, fetchFromGitHub, qtbase, mesa_glu, qmake}:
+stdenv.mkDerivation rec {
+  name = "fstl-${version}";
+  version = "0.9.3";
+
+  buildInputs = [qtbase mesa_glu];
+
+  prePatch = ''
+    sed -i "s|/usr/bin|$out/bin|g" qt/fstl.pro
+  '';
+
+  preBuild = ''
+    qmake qt/fstl.pro
+  '';
+  
+  postInstall = stdenv.lib.optionalString stdenv.isDarwin ''
+    mkdir -p $out/Applications
+    mv fstl.app $out/Applications
+  '';
+
+  src = fetchFromGitHub {
+    owner = "mkeeter";
+    repo = "fstl";
+    rev = "v" + version;
+    sha256 = "1j0y9xbf0ybrrnsmfzgpyyz6bi98xgzn9ivani424j01vffns892";
+  };
+
+  meta = with stdenv.lib; {
+    description = "The fastest STL file viewer";
+    homepage = "https://github.com/mkeeter/fstl";
+    license = licenses.mit;
+    platforms = platforms.linux ++ platforms.darwin;
+    maintainers = with maintainers; [ tweber ];
+  };
+}
diff --git a/pkgs/applications/graphics/geeqie/default.nix b/pkgs/applications/graphics/geeqie/default.nix
index d034f5d64d9..a1ea88da84b 100644
--- a/pkgs/applications/graphics/geeqie/default.nix
+++ b/pkgs/applications/graphics/geeqie/default.nix
@@ -49,6 +49,6 @@ stdenv.mkDerivation rec {
     homepage = http://geeqie.sourceforge.net;
 
     maintainers = with maintainers; [ jfrankenau pSub ];
-    platforms = platforms.gnu;
+    platforms = platforms.gnu ++ platforms.linux;
   };
 }
diff --git a/pkgs/applications/graphics/gimp/2.8.nix b/pkgs/applications/graphics/gimp/2.8.nix
deleted file mode 100644
index a2cbffd5d21..00000000000
--- a/pkgs/applications/graphics/gimp/2.8.nix
+++ /dev/null
@@ -1,58 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, intltool, babl, gegl, gtk2, glib, gdk_pixbuf
-, pango, cairo, freetype, fontconfig, lcms, libpng, libjpeg, poppler, libtiff
-, webkit, libmng, librsvg, libwmf, zlib, libzip, ghostscript, aalib, jasper
-, python2Packages, libexif, gettext, xorg
-, AppKit, Cocoa, gtk-mac-integration }:
-
-let
-  inherit (python2Packages) pygtk wrapPython python;
-in stdenv.mkDerivation rec {
-  name = "gimp-${version}";
-  version = "2.8.22";
-
-  # This declarations for `gimp-with-plugins` wrapper,
-  # (used for determining $out/lib/gimp/${majorVersion}/ paths)
-  majorVersion = "2.0";
-  targetPluginDir = "$out/lib/gimp/${majorVersion}/plug-ins";
-  targetScriptDir = "$out/lib/gimp/${majorVersion}/scripts";
-
-  src = fetchurl {
-    url = "http://download.gimp.org/pub/gimp/v2.8/${name}.tar.bz2";
-    sha256 = "12k3lp938qdc9cqj29scg55f3bb8iav2fysd29w0s49bqmfa71wi";
-  };
-
-  buildInputs =
-    [ pkgconfig intltool babl gegl gtk2 glib gdk_pixbuf pango cairo
-      freetype fontconfig lcms libpng libjpeg poppler libtiff webkit
-      libmng librsvg libwmf zlib libzip ghostscript aalib jasper
-      python pygtk libexif gettext xorg.libXpm
-      wrapPython
-    ]
-    ++ stdenv.lib.optionals stdenv.isDarwin [ AppKit Cocoa gtk-mac-integration ];
-
-  pythonPath = [ pygtk ];
-
-  postFixup = ''
-    wrapPythonProgramsIn $out/lib/gimp/2.0/plug-ins/
-    wrapProgram $out/bin/gimp \
-      --prefix PYTHONPATH : "$PYTHONPATH" \
-      --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE"
-  '';
-
-  passthru = { gtk = gtk2; }; # probably its a good idea to use the same gtk in plugins ?
-
-  #configureFlags = [ "--disable-print" ];
-
-  enableParallelBuilding = true;
-
-  # "screenshot" needs this.
-  NIX_LDFLAGS = "-rpath ${xorg.libX11.out}/lib"
-    + stdenv.lib.optionalString stdenv.isDarwin " -lintl";
-
-  meta = {
-    description = "The GNU Image Manipulation Program";
-    homepage = https://www.gimp.org/;
-    license = stdenv.lib.licenses.gpl3Plus;
-    platforms = stdenv.lib.platforms.unix;
-  };
-}
diff --git a/pkgs/applications/graphics/gimp/default.nix b/pkgs/applications/graphics/gimp/default.nix
new file mode 100644
index 00000000000..80bc2d49efc
--- /dev/null
+++ b/pkgs/applications/graphics/gimp/default.nix
@@ -0,0 +1,96 @@
+{ stdenv, fetchurl, fetchpatch, autoreconfHook, pkgconfig, intltool, babl, gegl, gtk2, glib, gdk_pixbuf, isocodes
+, pango, cairo, freetype, fontconfig, lcms, libpng, libjpeg, poppler, poppler_data, libtiff
+, libmng, librsvg, libwmf, zlib, libzip, ghostscript, aalib, shared-mime-info
+, python2Packages, libexif, gettext, xorg, glib-networking, libmypaint, gexiv2
+, harfbuzz, mypaint-brushes, libwebp, libgudev, openexr
+, AppKit, Cocoa, gtk-mac-integration }:
+
+let
+  inherit (python2Packages) pygtk wrapPython python;
+in stdenv.mkDerivation rec {
+  name = "gimp-${version}";
+  version = "2.10.0";
+
+  src = fetchurl {
+    url = "http://download.gimp.org/pub/gimp/v${stdenv.lib.versions.majorMinor version}/${name}.tar.bz2";
+    sha256 = "1qkxaigbfkx26xym5nzrgfrmn97cbnhn63v1saaha2nbi3xrdk3z";
+  };
+
+  patches = [
+    # fix rpath of python library https://bugzilla.gnome.org/show_bug.cgi?id=795620
+    (fetchurl {
+      url = https://bugzilla.gnome.org/attachment.cgi?id=371482;
+      sha256 = "18bysndh61pvlv255xapdrfpsl5ivm51wp1w7xgk9vky9z2y3llc";
+    })
+
+    # fix absolute paths stored in configuration
+    (fetchpatch {
+      url = https://git.gnome.org/browse/gimp/patch/?id=0fce8fdb3c056acead8322c976a96fb6fba793b6;
+      sha256 = "09845i3bdpdbf13razr04ksvwydxcvzhjwlb4dfgdv5q203g2ris";
+    })
+    (fetchpatch {
+      url = https://git.gnome.org/browse/gimp/patch/?id=f6b586237cb8c912c1503f8e6086edd17f07d4df;
+      sha256 = "0s68885ip2wgjvsl5vqi2f1xhxdjpzqprifzgdl1vnv6gqmfy3bh";
+    })
+
+    # fix pc file (needed e.g. for building plug-ins)
+    (fetchpatch {
+      url = https://git.gnome.org/browse/gimp/patch/?id=7e19906827d301eb70275dba089849a632a0eabe;
+      sha256 = "0cbjfbwvzg2hqihg3rpsga405v7z2qahj22dfqn2jrb2gbhrjcp1";
+    })
+  ];
+
+  nativeBuildInputs = [ autoreconfHook pkgconfig intltool gettext wrapPython ];
+  propagatedBuildInputs = [ gegl ]; # needed by gimp-2.0.pc
+  buildInputs = [
+    babl gegl gtk2 glib gdk_pixbuf pango cairo gexiv2 harfbuzz isocodes
+    freetype fontconfig lcms libpng libjpeg poppler poppler_data libtiff openexr
+    libmng librsvg libwmf zlib libzip ghostscript aalib shared-mime-info libwebp
+    python pygtk libexif xorg.libXpm glib-networking libmypaint mypaint-brushes
+  ] ++ stdenv.lib.optionals stdenv.isDarwin [ AppKit Cocoa gtk-mac-integration ]
+    ++ stdenv.lib.optionals stdenv.isLinux [ libgudev ];
+
+  pythonPath = [ pygtk ];
+
+  # Check if librsvg was built with --disable-pixbuf-loader.
+  PKG_CONFIG_GDK_PIXBUF_2_0_GDK_PIXBUF_MODULEDIR = "${librsvg}/${gdk_pixbuf.moduleDir}";
+
+  preConfigure = ''
+    # The check runs before glib-networking is registered
+    export GIO_EXTRA_MODULES="${glib-networking}/lib/gio/modules:$GIO_EXTRA_MODULES"
+  '';
+
+  postFixup = ''
+    wrapPythonProgramsIn $out/lib/gimp/${passthru.majorVersion}/plug-ins/
+    wrapProgram $out/bin/gimp-${stdenv.lib.versions.majorMinor version} \
+      --prefix PYTHONPATH : "$PYTHONPATH" \
+      --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE"
+  '';
+
+  passthru = rec {
+    # The declarations for `gimp-with-plugins` wrapper,
+    # used for determining plug-in installation paths
+    majorVersion = "${stdenv.lib.versions.major version}.0";
+    targetPluginDir = "lib/gimp/${majorVersion}/plug-ins";
+    targetScriptDir = "lib/gimp/${majorVersion}/scripts";
+
+    # probably its a good idea to use the same gtk in plugins ?
+    gtk = gtk2;
+  };
+
+  configureFlags = [
+    "--without-webkit" # old version is required
+  ];
+
+  doCheck = true;
+
+  enableParallelBuilding = true;
+
+  meta = with stdenv.lib; {
+    description = "The GNU Image Manipulation Program";
+    homepage = https://www.gimp.org/;
+    maintainers = with maintainers; [ jtojnar ];
+    license = licenses.gpl3Plus;
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/applications/graphics/gimp/plugins/default.nix b/pkgs/applications/graphics/gimp/plugins/default.nix
index 0d4215dd5bc..5b21b349764 100644
--- a/pkgs/applications/graphics/gimp/plugins/default.nix
+++ b/pkgs/applications/graphics/gimp/plugins/default.nix
@@ -12,12 +12,12 @@ let
     prePhases = "extraLib";
     extraLib = ''
       installScripts(){
-        mkdir -p ${targetScriptDir};
-        for p in "$@"; do cp "$p" ${targetScriptDir}; done
+        mkdir -p $out/${targetScriptDir};
+        for p in "$@"; do cp "$p" $out/${targetScriptDir}; done
       }
       installPlugins(){
-        mkdir -p ${targetPluginDir};
-        for p in "$@"; do cp "$p" ${targetPluginDir}; done
+        mkdir -p $out/${targetPluginDir};
+        for p in "$@"; do cp "$p" $out/${targetPluginDir}; done
       }
     '';
   }
@@ -35,15 +35,6 @@ let
     installPhase = "installScripts ${src}";
   };
 
- libLQR = pluginDerivation {
-    name = "liblqr-1-0.4.1";
-    # required by lqrPlugin, you don't havet to install this lib explicitely
-    src = fetchurl {
-      url = http://registry.gimp.org/files/liblqr-1-0.4.1.tar.bz2;
-      sha256 = "02g90wag7xi5rjlmwq8h0qs666b1i2sa90s4303hmym40il33nlz";
-    };
-  };
-
 in
 rec {
   gap = pluginDerivation {
@@ -52,7 +43,7 @@ rec {
     */
     name = "gap-2.6.0";
     src = fetchurl {
-      url = http://ftp.gimp.org/pub/gimp/plug-ins/v2.6/gap/gimp-gap-2.6.0.tar.bz2;
+      url = https://ftp.gimp.org/pub/gimp/plug-ins/v2.6/gap/gimp-gap-2.6.0.tar.bz2;
       sha256 = "1jic7ixcmsn4kx2cn32nc5087rk6g8xsrz022xy11yfmgvhzb0ql";
     };
     patchPhase = ''
@@ -62,7 +53,7 @@ rec {
     hardeningDisable = [ "format" ];
     meta = with stdenv.lib; {
       description = "The GIMP Animation Package";
-      homepage = http://www.gimp.org;
+      homepage = https://www.gimp.org;
       # The main code is given in GPLv3, but it has ffmpeg in it, and I think ffmpeg license
       # falls inside "free".
       license = with licenses; [ gpl3 free ];
@@ -97,6 +88,7 @@ rec {
       url = "http://registry.gimp.org/files/${name}.tar.bz2";
       sha256 = "1gqf3hchz7n7v5kpqkhqh8kwnxbsvlb5cr2w2n7ngrvl56f5xs1h";
     };
+    meta.broken = true;
   };
 
   resynthesizer = pluginDerivation {
@@ -147,6 +139,7 @@ rec {
       sha256 = "1zzvbczly7k456c0y6s92a1i8ph4ywmbvdl8i4rcc29l4qd2z8fw";
     };
     installPhase = "installPlugins src/texturize";
+    meta.broken = true; # https://github.com/lmanul/gimp-texturize/issues/1
   };
 
   waveletSharpen = pluginDerivation {
@@ -166,54 +159,18 @@ rec {
        Layer/Liquid Rescale
     */
     name = "lqr-plugin-0.6.1";
-    buildInputs = with pkgs; [ libLQR ];
+    buildInputs = with pkgs; [ liblqr1 ];
     src = fetchurl {
       url = http://registry.gimp.org/files/gimp-lqr-plugin-0.6.1.tar.bz2;
       sha256 = "00hklkpcimcbpjly4rjhfipaw096cpy768g9wixglwrsyqhil7l9";
     };
-    #postInstall = ''mkdir -p $out/nix-support; echo "${libLQR}" > "$out/nix-support/propagated-user-env-packages"'';
+    #postInstall = ''mkdir -p $out/nix-support; echo "${liblqr1}" > "$out/nix-support/propagated-user-env-packages"'';
     installPhase = "installPlugins src/gimp-lqr-plugin";
   };
 
-  gmic =
-    pluginDerivation rec {
-      inherit (pkgs.gmic) name src meta;
+  gmic = pkgs.gmic.gimpPlugin;
 
-      buildInputs = with pkgs; [ fftw opencv curl ];
-
-      sourceRoot = "${name}/src";
-
-      buildFlags = "gimp";
-
-      installPhase = "installPlugins gmic_gimp";
-  };
-
-  # this is more than a gimp plugin !
-  # either load the raw image with gimp (and the import dialog will popup)
-  # or use the binary
-  ufraw = pluginDerivation rec {
-    name = "ufraw-0.19.2";
-    buildInputs = with pkgs; [ gtkimageview lcms ];
-      # --enable-mime - install mime files, see README for more information
-      # --enable-extras - build extra (dcraw, nikon-curve) executables
-      # --enable-dst-correction - enable DST correction for file timestamps.
-      # --enable-contrast - enable the contrast setting option.
-      # --enable-interp-none: enable 'None' interpolation (mostly for debugging).
-      # --with-lensfun: use the lensfun library - experimental feature, read this before using it.
-      # --with-prefix=PREFIX - use also PREFIX as an input prefix for the build
-      # --with-dosprefix=PREFIX - PREFIX in the the prefix in dos format (needed only for ms-window
-    configureFlags = "--enable-extras --enable-dst-correction --enable-contrast";
-
-    src = fetchurl {
-      url = "mirror://sourceforge/ufraw/${name}.tar.gz";
-      sha256 = "1lxba7pb3vcsq94dwapg9bk9mb3ww6r3pvvcyb0ah5gh2sgzxgkk";
-    };
-    installPhase = "
-      installPlugins ufraw-gimp
-      mkdir -p $out/bin
-      cp ufraw $out/bin
-    ";
-  };
+  ufraw = pkgs.ufraw.gimpPlugin;
 
   gimplensfun = pluginDerivation rec {
     version = "0.2.4";
@@ -239,7 +196,7 @@ rec {
 
       license = stdenv.lib.licenses.gpl3Plus;
       maintainers = [ ];
-      platforms = stdenv.lib.platforms.gnu;
+      platforms = stdenv.lib.platforms.gnu ++ stdenv.lib.platforms.linux;
     };
   };
 
diff --git a/pkgs/applications/graphics/gimp/wrapper.nix b/pkgs/applications/graphics/gimp/wrapper.nix
index 7455a69dde9..ec529519159 100644
--- a/pkgs/applications/graphics/gimp/wrapper.nix
+++ b/pkgs/applications/graphics/gimp/wrapper.nix
@@ -1,9 +1,10 @@
 { stdenv, lib, symlinkJoin, gimp, makeWrapper, gimpPlugins, plugins ? null}:
 
 let
-allPlugins = lib.filter (pkg: builtins.isAttrs pkg && pkg.type == "derivation") (lib.attrValues gimpPlugins);
+allPlugins = lib.filter (pkg: builtins.isAttrs pkg && pkg.type == "derivation" && !pkg.meta.broken or false) (lib.attrValues gimpPlugins);
 selectedPlugins = if plugins == null then allPlugins else plugins;
 extraArgs = map (x: x.wrapArgs or "") selectedPlugins;
+versionBranch = stdenv.lib.versions.majorMinor gimp.version;
 
 in symlinkJoin {
   name = "gimp-with-plugins-${gimp.version}";
@@ -13,14 +14,14 @@ in symlinkJoin {
   buildInputs = [ makeWrapper ];
 
   postBuild = ''
-    for each in gimp-2.8 gimp-console-2.8; do
+    for each in gimp-${versionBranch} gimp-console-${versionBranch}; do
       wrapProgram $out/bin/$each \
         --set GIMP2_PLUGINDIR "$out/lib/gimp/2.0" \
         ${toString extraArgs}
     done
     set +x
     for each in gimp gimp-console; do
-      ln -sf "$each-2.8" $out/bin/$each
+      ln -sf "$each-${versionBranch}" $out/bin/$each
     done
   '';
 }
diff --git a/pkgs/applications/graphics/gnuclad/default.nix b/pkgs/applications/graphics/gnuclad/default.nix
new file mode 100644
index 00000000000..2b391710907
--- /dev/null
+++ b/pkgs/applications/graphics/gnuclad/default.nix
@@ -0,0 +1,22 @@
+{ stdenv, fetchurl, pkgconfig
+}:
+
+stdenv.mkDerivation rec {
+  name = "gnuclad";
+  version = "0.2.4";
+
+  src = fetchurl {
+    url = "https://launchpad.net/gnuclad/trunk/0.2/+download/${name}-${version}.tar.gz";
+    sha256 = "0ka2kscpjff7gflsargv3r9fdaxhkf3nym9mfaln3pnq6q7fwdki";
+  };
+
+  nativeBuildInputs = [ pkgconfig ];
+
+  meta = with stdenv.lib; {
+    homepage = https://launchpad.net/gnuclad;
+    description = "gnuclad tries to help the environment by creating trees.  It's primary use will be generating cladogram trees for the GNU/Linux distro timeline project.";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ mog ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/graphics/gocr/default.nix b/pkgs/applications/graphics/gocr/default.nix
index 6fe37d605ae..98a32ad1899 100644
--- a/pkgs/applications/graphics/gocr/default.nix
+++ b/pkgs/applications/graphics/gocr/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, tk }:
 
 stdenv.mkDerivation rec {
-  name = "gocr-0.50";
+  name = "gocr-0.51";
 
   src = fetchurl {
     url = "http://www-e.uni-magdeburg.de/jschulen/ocr/${name}.tar.gz";
-    sha256 = "1dgmcpapy7h68d53q2c5d0bpgzgfb2nw2blndnx9qhc7z12149mw";
+    sha256 = "14i6zi6q11h6d0qds2cpvgvhbxk5xaa027h8cd0wy1zblh7sxckf";
   };
 
   buildFlags = [ "all" "libs" ];
diff --git a/pkgs/applications/graphics/goxel/default.nix b/pkgs/applications/graphics/goxel/default.nix
index 6fb7182035b..3d49452cbe6 100644
--- a/pkgs/applications/graphics/goxel/default.nix
+++ b/pkgs/applications/graphics/goxel/default.nix
@@ -3,15 +3,17 @@
 
 stdenv.mkDerivation rec {
   name = "goxel-${version}";
-  version = "0.7.2";
+  version = "0.8.0";
 
   src = fetchFromGitHub {
     owner = "guillaumechereau";
     repo = "goxel";
     rev = "v${version}";
-    sha256 = "1d6waj8zz9iq3ddbi9wbpcnh200ajjy9x53xrj5bij01pb8jwskv";
+    sha256 = "01022c43pmwiqb18rx9fz08xr99h6p03gw6bp0lay5z61g3xkz17";
   };
 
+  patches = [ ./disable-imgui_ini.patch ];
+
   nativeBuildInputs = [ scons pkgconfig wrapGAppsHook ];
   buildInputs = [ glfw3 gtk3 libpng12 ];
 
diff --git a/pkgs/applications/graphics/goxel/disable-imgui_ini.patch b/pkgs/applications/graphics/goxel/disable-imgui_ini.patch
new file mode 100644
index 00000000000..9427d45487d
--- /dev/null
+++ b/pkgs/applications/graphics/goxel/disable-imgui_ini.patch
@@ -0,0 +1,13 @@
+diff --git a/src/gui.cpp b/src/gui.cpp
+index 9b7236c..a8a11b2 100644
+--- a/src/gui.cpp
++++ b/src/gui.cpp
+@@ -314,6 +314,8 @@ static void init_ImGui(const inputs_t *inputs)
+     ImGuiIO& io = ImGui::GetIO();
+     io.DeltaTime = 1.0f/60.0f;
+
++    io.IniFilename = NULL;
++
+     io.KeyMap[ImGuiKey_Tab]         = KEY_TAB;
+     io.KeyMap[ImGuiKey_LeftArrow]   = KEY_LEFT;
+     io.KeyMap[ImGuiKey_RightArrow]  = KEY_RIGHT;
diff --git a/pkgs/applications/graphics/graphicsmagick/compat.nix b/pkgs/applications/graphics/graphicsmagick/compat.nix
new file mode 100644
index 00000000000..bd1ce2ed893
--- /dev/null
+++ b/pkgs/applications/graphics/graphicsmagick/compat.nix
@@ -0,0 +1,37 @@
+{ stdenv, graphicsmagick }:
+
+stdenv.mkDerivation rec {
+  name = "graphicsmagick-imagemagick-compat-${version}";
+  inherit (graphicsmagick) version;
+
+  unpackPhase = "true";
+  buildPhase = "true";
+
+  utils = [
+    "composite"
+    "conjure"
+    "convert"
+    "identify"
+    "mogrify"
+    "montage"
+    "animate"
+    "display"
+    "import"
+  ];
+
+  # TODO: symlink libraries?
+  installPhase = ''
+    mkdir -p "$out"/bin
+    mkdir -p "$out"/share/man/man1
+    for util in ''${utils[@]}; do
+      ln -s ${graphicsmagick}/bin/gm "$out/bin/$util"
+      ln -s ${graphicsmagick}/share/man/man1/gm.1.gz "$out/share/man/man1/$util.1.gz"
+    done
+  '';
+
+  meta = {
+    description = "ImageMagick interface for GraphicsMagick";
+    license = stdenv.lib.licenses.free;
+    platforms = stdenv.lib.platforms.all;
+  };
+}
diff --git a/pkgs/applications/graphics/graphicsmagick/default.nix b/pkgs/applications/graphics/graphicsmagick/default.nix
index f086a8f5ba6..872afb39ec6 100644
--- a/pkgs/applications/graphics/graphicsmagick/default.nix
+++ b/pkgs/applications/graphics/graphicsmagick/default.nix
@@ -2,14 +2,13 @@
 , libjpeg, libpng, libtiff, libxml2, zlib, libtool, xz, libX11
 , libwebp, quantumdepth ? 8, fixDarwinDylibNames }:
 
-let version = "1.3.28"; in
-
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   name = "graphicsmagick-${version}";
+  version = "1.3.29";
 
   src = fetchurl {
     url = "mirror://sourceforge/graphicsmagick/GraphicsMagick-${version}.tar.xz";
-    sha256 = "0jlrrimrajcmwp7llivyj14qnzb1mpqd8vw95dl6zbx5m2lnhall";
+    sha256 = "1m0cc6kpky06lpcipj7rfwc2jbw2igr0jk97zqmw3j1ld5mg93g1";
   };
 
   patches = [
diff --git a/pkgs/applications/graphics/gthumb/default.nix b/pkgs/applications/graphics/gthumb/default.nix
index 03489db933c..7dc69bceda9 100644
--- a/pkgs/applications/graphics/gthumb/default.nix
+++ b/pkgs/applications/graphics/gthumb/default.nix
@@ -1,32 +1,43 @@
 { stdenv,  fetchurl, gnome3, itstool, libxml2, pkgconfig, intltool,
-  exiv2, libjpeg, libtiff, gstreamer, libraw, libsoup, libsecret,
-  libchamplain, librsvg, libwebp, json-glib, webkit, lcms2, bison,
-  flex, hicolor-icon-theme, wrapGAppsHook, shared-mime-info }:
+  exiv2, libjpeg, libtiff, gst_all_1, libraw, libsoup, libsecret,
+  libchamplain, librsvg, libwebp, json-glib, webkitgtk, lcms2, bison,
+  flex, wrapGAppsHook, shared-mime-info }:
 
-stdenv.mkDerivation rec {
-  name = "${pname}-${version}";
+let
   pname = "gthumb";
-  version = "${major}.0";
-  major = "3.6";
+  version = "3.6.1";
+in stdenv.mkDerivation rec {
+  name = "${pname}-${version}";
 
   src = fetchurl {
-    url = "mirror://gnome/sources/${pname}/${major}/${name}.tar.xz";
-    sha256 = "1zc7myvnzgq7dawjg03rqvwfad7p938m20f25sfhv65jsfq8n928";
+    url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
+    sha256 = "1vj26gw9b5y4bmb2m49wplqg0md568g3gxin500v3slggzhzkaww";
   };
 
-  nativeBuildInputs = [ pkgconfig wrapGAppsHook ];
+  nativeBuildInputs = [ itstool libxml2 intltool pkgconfig bison flex wrapGAppsHook ];
 
-  buildInputs = with gnome3;
-    [ itstool libxml2 intltool glib gtk gsettings-desktop-schemas dconf
-      exiv2 libjpeg libtiff gstreamer libraw libsoup libsecret libchamplain
-      librsvg libwebp json-glib webkit lcms2 bison flex hicolor-icon-theme defaultIconTheme ];
+  buildInputs = with gnome3; [
+    glib gtk gsettings-desktop-schemas gst_all_1.gstreamer gst_all_1.gst-plugins-base
+    exiv2 libjpeg libtiff libraw libsoup libsecret libchamplain
+    librsvg libwebp json-glib webkitgtk lcms2 defaultIconTheme
+  ];
 
   enableParallelBuilding = true;
 
+  configureFlags = [
+    "--enable-libchamplain"
+  ];
+
   preFixup = ''
     gappsWrapperArgs+=(--prefix XDG_DATA_DIRS : "${shared-mime-info}/share")
   '';
 
+  passthru = {
+    updateScript = gnome3.updateScript {
+      packageName = pname;
+    };
+  };
+
   meta = with stdenv.lib; {
     homepage = https://wiki.gnome.org/Apps/gthumb;
     description = "Image browser and viewer for GNOME";
diff --git a/pkgs/applications/graphics/inkscape/default.nix b/pkgs/applications/graphics/inkscape/default.nix
index 889d710f043..5978612fdf3 100644
--- a/pkgs/applications/graphics/inkscape/default.nix
+++ b/pkgs/applications/graphics/inkscape/default.nix
@@ -2,56 +2,67 @@
 , libpng, zlib, popt, boehmgc, libxml2, libxslt, glib, gtkmm2
 , glibmm, libsigcxx, lcms, boost, gettext, makeWrapper
 , gsl, python2, poppler, imagemagick, libwpg, librevenge
-, libvisio, libcdr, libexif, potrace, cmake
+, libvisio, libcdr, libexif, potrace, autoreconfHook
+, intltool
+, icu # Not needed for building with CMake
+, lib
 }:
 
+# Note that originally this Nix expression used CMake to build but
+# this led to errors on MacOS of "Too many arguments". Inkscape
+# supports autoconf and we will use this for now on.
+
 let
   python2Env = python2.withPackages(ps: with ps; [ numpy lxml ]);
 in
 
 stdenv.mkDerivation rec {
-  name = "inkscape-0.92.2";
+  name = "inkscape-0.92.3";
 
   src = fetchurl {
     url = "https://media.inkscape.org/dl/resources/file/${name}.tar.bz2";
-    sha256 = "1lyghk6yarcv9nwkh6k366p6hb7rfilqcvbyji09hki59khd0a56";
+    sha256 = "1chng2yw8dsjxc9gf92aqv7plj11cav8ax321wmakmv5bb09cch6";
   };
 
-  unpackPhase = ''
-    cp $src ${name}.tar.bz2
-    tar xvjf ${name}.tar.bz2 > /dev/null
-    cd ${name}
-  '';
-
   postPatch = ''
     patchShebangs share/extensions
     patchShebangs fix-roff-punct
 
+    # XXX: Not needed for CMake:
+    ${lib.optionalString (!stdenv.isDarwin) ''
+      patchShebangs share/filters
+      patchShebangs share/palettes
+      patchShebangs share/patterns
+      patchShebangs share/symbols
+      patchShebangs share/templates
+    ''}
+
     # Python is used at run-time to execute scripts, e.g., those from
     # the "Effects" menu.
     substituteInPlace src/extension/implementation/script.cpp \
       --replace '"python-interpreter", "python"' '"python-interpreter", "${python2Env}/bin/python"'
   '';
 
-  nativeBuildInputs = [ pkgconfig ];
+  nativeBuildInputs = [ pkgconfig autoreconfHook intltool ];
   buildInputs = [
     perl perlXMLParser libXft libpng zlib popt boehmgc
     libxml2 libxslt glib gtkmm2 glibmm libsigcxx lcms boost gettext
     makeWrapper gsl poppler imagemagick libwpg librevenge
-    libvisio libcdr libexif potrace cmake python2Env
+    libvisio libcdr libexif potrace python2Env icu
   ];
 
   enableParallelBuilding = true;
 
+  preConfigure = ''
+    intltoolize -f
+  '';
+
   postInstall = ''
     # Make sure PyXML modules can be found at run-time.
     rm "$out/share/icons/hicolor/icon-theme.cache"
-  '' + stdenv.lib.optionalString stdenv.isDarwin ''
-    install_name_tool -change $out/lib/libinkscape_base.dylib $out/lib/inkscape/libinkscape_base.dylib $out/bin/inkscape
-    install_name_tool -change $out/lib/libinkscape_base.dylib $out/lib/inkscape/libinkscape_base.dylib $out/bin/inkview
   '';
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     license = "GPL";
     homepage = https://www.inkscape.org;
     description = "Vector graphics editor";
@@ -62,5 +73,6 @@ stdenv.mkDerivation rec {
 
       If you want to import .eps files install ps2edit.
     '';
+    maintainers = with maintainers; [ matthewbauer ];
   };
 }
diff --git a/pkgs/applications/graphics/jpegoptim/default.nix b/pkgs/applications/graphics/jpegoptim/default.nix
index b7063a0c4e7..b428be1a1ba 100644
--- a/pkgs/applications/graphics/jpegoptim/default.nix
+++ b/pkgs/applications/graphics/jpegoptim/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, libjpeg }:
 
 stdenv.mkDerivation rec {
-  version = "1.4.4";
+  version = "1.4.6";
   name = "jpegoptim-${version}";
 
   src = fetchurl {
     url = "http://www.kokkonen.net/tjko/src/${name}.tar.gz";
-    sha256 = "1cn1i0g1xjdwa12w0ifbnzgb1vqbpr8ji6h05vxksj79vyi3x849";
+    sha256 = "1dss7907fclfl8zsw0bl4qcw0hhz6fqgi3867w0jyfm3q9jfpcc8";
   };
 
   # There are no checks, it seems.
diff --git a/pkgs/applications/graphics/k3d/default.nix b/pkgs/applications/graphics/k3d/default.nix
index eb59b6ff6d6..996d495d87c 100644
--- a/pkgs/applications/graphics/k3d/default.nix
+++ b/pkgs/applications/graphics/k3d/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchFromGitHub, fetchpatch, unzip, ftgl, glew, asciidoc
-, cmake, libGLU_combined, zlib, python, expat, libxml2, libsigcxx, libuuid, freetype
+, cmake, ninja, libGLU_combined, zlib, python, expat, libxml2, libsigcxx, libuuid, freetype
 , libpng, boost, doxygen, cairomm, pkgconfig, imagemagick, libjpeg, libtiff
 , gettext, intltool, perl, gtkmm2, glibmm, gtkglext, pangox_compat, libXmu }:
 
@@ -20,24 +20,25 @@ stdenv.mkDerivation rec {
     })
   ];
 
-  cmakeFlags = "-DK3D_BUILD_DOCS=false -DK3D_BUILD_GUIDE=false";
+  cmakeFlags = [
+    "-DK3D_BUILD_DOCS=false"
+    "-DK3D_BUILD_GUIDE=false"
+  ];
 
   preConfigure = ''
     export LD_LIBRARY_PATH="$LD_LIBRARY_PATH''${LD_LIBRARY_PATH:+:}$PWD/build/lib"
-    export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE  -I$(echo ${gtkglext}/include/gtkglext-*) -I$(echo ${gtkglext}/lib/gtkglext-*/include)"
   '';
 
+  nativeBuildInputs = [ cmake ninja gettext intltool doxygen pkgconfig perl asciidoc ];
+
   buildInputs = [
-     cmake libGLU_combined zlib python expat libxml2 libsigcxx libuuid freetype libpng
-     boost doxygen cairomm pkgconfig imagemagick libjpeg libtiff
-     gettext intltool perl unzip ftgl glew asciidoc
-     gtkmm2 glibmm gtkglext pangox_compat libXmu
+     libGLU_combined zlib python expat libxml2 libsigcxx libuuid freetype libpng
+     boost cairomm imagemagick libjpeg libtiff
+     ftgl glew gtkmm2 glibmm gtkglext pangox_compat libXmu
     ];
 
   #doCheck = false;
 
-  enableParallelBuilding = true;
-
   meta = {
     description = "A 3D editor with support for procedural editing";
     homepage = http://www.k-3d.org/;
diff --git a/pkgs/applications/graphics/krita/default.nix b/pkgs/applications/graphics/krita/default.nix
index 1f7e779e88a..f86694ebc6c 100644
--- a/pkgs/applications/graphics/krita/default.nix
+++ b/pkgs/applications/graphics/krita/default.nix
@@ -9,11 +9,11 @@
 
 mkDerivation rec {
   name = "krita-${version}";
-  version = "3.3.3";
+  version = "4.0.2";
 
   src = fetchurl {
     url = "https://download.kde.org/stable/krita/${version}/${name}.tar.gz";
-    sha256 = "0pc6hnakkqy81x5b5ncivaps6hqv43i50sjwgi3i3cz9j8rlxh5y";
+    sha256 = "136nia6z8l9czk3ls2c9dpk617cvfilfhx0s838g5nrqxh4kn0cf";
   };
 
   nativeBuildInputs = [ cmake extra-cmake-modules ];
diff --git a/pkgs/applications/graphics/leocad/default.nix b/pkgs/applications/graphics/leocad/default.nix
index 4dc1e89116e..ada55f0351e 100644
--- a/pkgs/applications/graphics/leocad/default.nix
+++ b/pkgs/applications/graphics/leocad/default.nix
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "CAD program for creating virtual LEGO models";
-    homepage = http://www.leocad.org/;
+    homepage = https://www.leocad.org/;
     license = licenses.gpl2;
     platforms = platforms.linux;
   };
diff --git a/pkgs/applications/graphics/meshlab/default.nix b/pkgs/applications/graphics/meshlab/default.nix
index adb1ec29237..eaaabe8fd39 100644
--- a/pkgs/applications/graphics/meshlab/default.nix
+++ b/pkgs/applications/graphics/meshlab/default.nix
@@ -61,5 +61,6 @@ in stdenv.mkDerivation {
     license = stdenv.lib.licenses.gpl3;
     maintainers = with stdenv.lib.maintainers; [viric];
     platforms = with stdenv.lib.platforms; linux;
+    broken = true; # 2018-04-11
   };
 }
diff --git a/pkgs/applications/graphics/nomacs/default.nix b/pkgs/applications/graphics/nomacs/default.nix
index 8c3a8bc894b..675c4e6a49e 100644
--- a/pkgs/applications/graphics/nomacs/default.nix
+++ b/pkgs/applications/graphics/nomacs/default.nix
@@ -18,12 +18,12 @@
 }:
 
 stdenv.mkDerivation rec {
-  version = "3.6.1";
+  version = "3.8.1";
   src = fetchFromGitHub {
     owner = "nomacs";
     repo = "nomacs";
     rev = version;
-    sha256 = "0yli05hhmd57v3mynq78nmr15rbpm0vadv273pavmcnayv86yl44";
+    sha256 = "1irms980d7acdqrfn8isw55vgc4d9n26ff86887vk7xfvxs0ayla";
   };
 
   name = "nomacs-${version}";
@@ -34,8 +34,6 @@ stdenv.mkDerivation rec {
     sourceRoot=$(echo */ImageLounge)
   '';
 
-  patches = [./fix-appdata-install.patch];
-
   nativeBuildInputs = [cmake
                        pkgconfig
                        wrapGAppsHook];
diff --git a/pkgs/applications/graphics/nomacs/fix-appdata-install.patch b/pkgs/applications/graphics/nomacs/fix-appdata-install.patch
deleted file mode 100644
index cdeed56f496..00000000000
--- a/pkgs/applications/graphics/nomacs/fix-appdata-install.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/cmake/UnixBuildTarget.cmake b/cmake/UnixBuildTarget.cmake
-index 3521056a..34f99ed9 100644
---- a/cmake/UnixBuildTarget.cmake
-+++ b/cmake/UnixBuildTarget.cmake
-@@ -80,7 +80,7 @@ install(FILES ${NOMACS_QM} DESTINATION share/nomacs/translations)
- #  manpage
- install(FILES Readme/nomacs.1 DESTINATION share/man/man1)
- #  appdata
--install(FILES nomacs.appdata.xml DESTINATION /usr/share/appdata/)
-+install(FILES nomacs.appdata.xml DESTINATION share/appdata/)
- 
- # "make dist" target
- string(TOLOWER ${PROJECT_NAME} CPACK_PACKAGE_NAME)
diff --git a/pkgs/applications/graphics/ocrad/default.nix b/pkgs/applications/graphics/ocrad/default.nix
index ac67759c258..2ff62cc9eef 100644
--- a/pkgs/applications/graphics/ocrad/default.nix
+++ b/pkgs/applications/graphics/ocrad/default.nix
@@ -29,6 +29,6 @@ stdenv.mkDerivation rec {
 
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ pSub ];
-    platforms = platforms.gnu;  # arbitrary choice
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/applications/graphics/openimageio/default.nix b/pkgs/applications/graphics/openimageio/default.nix
index a52515ed1a3..49835298f13 100644
--- a/pkgs/applications/graphics/openimageio/default.nix
+++ b/pkgs/applications/graphics/openimageio/default.nix
@@ -4,20 +4,20 @@
 
 stdenv.mkDerivation rec {
   name = "openimageio-${version}";
-  version = "1.8.8";
+  version = "1.8.9";
 
   src = fetchFromGitHub {
     owner = "OpenImageIO";
     repo = "oiio";
     rev = "Release-${version}";
-    sha256 = "1jn4ph7giwxr65xxbm59i03wywnmxkqnpvqp0kcajl4k48vq3wkr";
+    sha256 = "0xyfb41arvi3cc5jvgj2m8skzjrb0xma8sml74svygjgagxfj65h";
   };
 
   outputs = [ "bin" "out" "dev" "doc" ];
 
   nativeBuildInputs = [ cmake ];
   buildInputs = [
-    boost ilmbase libjpeg libpng 
+    boost ilmbase libjpeg libpng
     libtiff opencolorio openexr
     unzip
   ];
@@ -43,6 +43,6 @@ stdenv.mkDerivation rec {
     description = "A library and tools for reading and writing images";
     license = licenses.bsd3;
     maintainers = [ maintainers.goibhniu ];
-    platforms = platforms.linux;
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/applications/graphics/openscad/default.nix b/pkgs/applications/graphics/openscad/default.nix
index 33fddf6c8d0..9ab5288700c 100644
--- a/pkgs/applications/graphics/openscad/default.nix
+++ b/pkgs/applications/graphics/openscad/default.nix
@@ -1,20 +1,30 @@
-{ stdenv, fetchurl, qt4, qmake4Hook, bison, flex, eigen, boost, libGLU_combined, glew, opencsg, cgal
-, mpfr, gmp, glib, pkgconfig, harfbuzz, qscintilla, gettext
+{ stdenv, fetchurl, fetchFromGitHub, qt5, libsForQt5
+, bison, flex, eigen, boost, libGLU_combined, glew, opencsg, cgal
+, mpfr, gmp, glib, pkgconfig, harfbuzz, gettext
 }:
 
 stdenv.mkDerivation rec {
-  version = "2015.03-3";
+  version = "2018.04-git";
   name = "openscad-${version}";
 
-  src = fetchurl {
-    url = "http://files.openscad.org/${name}.src.tar.gz";
-    sha256 = "0djsgi9yx1nxr2gh1kgsqw5vrbncp8v5li0p1pp02higqf1psajx";
+#  src = fetchurl {
+#    url = "http://files.openscad.org/${name}.src.tar.gz";
+#    sha256 = "0djsgi9yx1nxr2gh1kgsqw5vrbncp8v5li0p1pp02higqf1psajx";
+#  };
+  src = fetchFromGitHub {
+    owner = "openscad";
+    repo = "openscad";
+    rev = "179074dff8c23cbc0e651ce8463737df0006f4ca";
+    sha256 = "1y63yqyd0v255liik4ff5ak6mj86d8d76w436x76hs5dk6jgpmfb";
   };
 
   buildInputs = [
-    qt4 qmake4Hook bison flex eigen boost libGLU_combined glew opencsg cgal mpfr gmp glib
-    pkgconfig harfbuzz qscintilla gettext
-  ];
+    bison flex eigen boost libGLU_combined glew opencsg cgal mpfr gmp glib
+    pkgconfig harfbuzz gettext
+  ]
+    ++ (with qt5; [qtbase qmake])
+    ++ (with libsForQt5; [qscintilla])
+  ;
 
   qmakeFlags = [ "VERSION=${version}" ];
 
diff --git a/pkgs/applications/graphics/panotools/default.nix b/pkgs/applications/graphics/panotools/default.nix
index 9ca90d2f5df..719aca5096a 100644
--- a/pkgs/applications/graphics/panotools/default.nix
+++ b/pkgs/applications/graphics/panotools/default.nix
@@ -18,6 +18,6 @@ stdenv.mkDerivation rec {
     description = "Free software suite for authoring and displaying virtual reality panoramas";
     license = stdenv.lib.licenses.gpl2Plus;
 
-    platforms = stdenv.lib.platforms.gnu;  # arbitrary choice
+    platforms = stdenv.lib.platforms.gnu ++ stdenv.lib.platforms.linux;  # arbitrary choice
   };
 }
diff --git a/pkgs/applications/graphics/paraview/default.nix b/pkgs/applications/graphics/paraview/default.nix
index 42b69e24926..e5385c75280 100644
--- a/pkgs/applications/graphics/paraview/default.nix
+++ b/pkgs/applications/graphics/paraview/default.nix
@@ -1,5 +1,5 @@
 {
-stdenv, fetchFromGitHub, cmake
+stdenv, fetchFromGitHub, cmake, makeWrapper
 ,qtbase, qttools, python, libGLU_combined
 ,libXt, qtx11extras, qtxmlpatterns
 }:
@@ -18,11 +18,11 @@ stdenv.mkDerivation rec {
     fetchSubmodules = true;
   };
 
-   cmakeFlags = [
-     "-DPARAVIEW_ENABLE_PYTHON=ON"
-     "-DPARAVIEW_INSTALL_DEVELOPMENT_FILES=ON"
-     "-DPARAVIEW_ENABLE_EMBEDDED_DOCUMENTATION=OFF"
-   ];
+  cmakeFlags = [
+    "-DPARAVIEW_ENABLE_PYTHON=ON"
+    "-DPARAVIEW_INSTALL_DEVELOPMENT_FILES=ON"
+    "-DPARAVIEW_ENABLE_EMBEDDED_DOCUMENTATION=OFF"
+  ];
 
   # During build, binaries are called that rely on freshly built
   # libraries.  These reside in build/lib, and are not found by
@@ -35,10 +35,12 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [
     cmake
+    makeWrapper
   ];
 
   buildInputs = [
     python
+    python.pkgs.numpy
     libGLU_combined
     libXt
     qtbase
@@ -47,6 +49,16 @@ stdenv.mkDerivation rec {
     qtxmlpatterns
   ];
 
+  # Paraview links into the Python library, resolving symbolic links on the way,
+  # so we need to put the correct sitePackages (with numpy) back on the path
+  postInstall = ''
+    wrapProgram $out/bin/paraview \
+      --set PYTHONPATH "${python.pkgs.numpy}/${python.sitePackages}"
+    wrapProgram $out/bin/pvbatch \
+      --set PYTHONPATH "${python.pkgs.numpy}/${python.sitePackages}"
+    wrapProgram $out/bin/pvpython \
+      --set PYTHONPATH "${python.pkgs.numpy}/${python.sitePackages}"
+  '';
 
   meta = {
     homepage = http://www.paraview.org/;
diff --git a/pkgs/applications/graphics/pencil/default.nix b/pkgs/applications/graphics/pencil/default.nix
index a4e73d2f5b5..0e52190af42 100644
--- a/pkgs/applications/graphics/pencil/default.nix
+++ b/pkgs/applications/graphics/pencil/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, lib, makeWrapper,
   # build dependencies
   alsaLib, atk, cairo, cups, dbus, expat, fontconfig,
-  freetype, gdk_pixbuf, glib, gnome2, nspr, nss, xlibs,
+  freetype, gdk_pixbuf, glib, gnome2, nspr, nss, xorg,
   glibc, udev
 }:
 
@@ -55,17 +55,17 @@ stdenv.mkDerivation rec {
       gnome2.pango
       nspr
       nss
-      xlibs.libX11
-      xlibs.libXScrnSaver
-      xlibs.libXcomposite
-      xlibs.libXcursor
-      xlibs.libXdamage
-      xlibs.libXext
-      xlibs.libXfixes
-      xlibs.libXi
-      xlibs.libXrandr
-      xlibs.libXrender
-      xlibs.libXtst
+      xorg.libX11
+      xorg.libXScrnSaver
+      xorg.libXcomposite
+      xorg.libXcursor
+      xorg.libXdamage
+      xorg.libXext
+      xorg.libXfixes
+      xorg.libXi
+      xorg.libXrandr
+      xorg.libXrender
+      xorg.libXtst
       stdenv.cc.cc.lib
       stdenv.cc.cc
       glibc
diff --git a/pkgs/applications/graphics/photoflow/default.nix b/pkgs/applications/graphics/photoflow/default.nix
new file mode 100644
index 00000000000..ffef558e84d
--- /dev/null
+++ b/pkgs/applications/graphics/photoflow/default.nix
@@ -0,0 +1,55 @@
+{ 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.mkDerivation {
+  name = "photoflow-unstable-2018-03-06";
+
+  src = fetchFromGitHub {
+    owner = "aferrero2707";
+    repo = "PhotoFlow";
+    rev = "f9bbea183fa02412d1d17075955d2284eeaf8174";
+    sha256 = "1fsk7kdmlkd64wcswbxrl87aqwmzqak6p3s38ggxzx2h51fa7lmf";
+  };
+
+  nativeBuildInputs = [
+    gettext
+    glib
+    libxml2
+    pkgconfig
+    swig
+    automake
+    gobjectIntrospection
+    cmake
+    ninja
+  ];
+
+  buildInputs = [
+    libtiff
+    libjpeg
+    fftw
+    exiv2
+    lensfun
+    gtkmm2  # Could be build with gtk3 but proper UI theme is missing and therefore not very usable with gtk3
+            # See: https://discuss.pixls.us/t/help-needed-for-gtk3-theme/5803
+    libraw
+    lcms2
+    libexif
+    vips
+    expat
+    pcre
+    pugixml
+  ];
+
+  cmakeFlags = [
+    "-DBUNDLED_EXIV2=OFF"
+    "-DBUNDLED_LENSFUN=OFF"
+    "-DBUNDLED_GEXIV2=OFF"
+  ];
+
+  meta = with stdenv.lib; {
+    description = "A fully non-destructive photo retouching program providing a complete RAW image editing workflow";
+    homepage = https://aferrero2707.github.io/PhotoFlow/;
+    license = licenses.gpl3Plus;
+    maintainers = [ maintainers.MtP ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/applications/graphics/pqiv/default.nix b/pkgs/applications/graphics/pqiv/default.nix
index 9e5958871cc..e4f565b3b05 100644
--- a/pkgs/applications/graphics/pqiv/default.nix
+++ b/pkgs/applications/graphics/pqiv/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation (rec {
   name = "pqiv-${version}";
-  version = "2.10.2";
+  version = "2.10.4";
 
   src = fetchFromGitHub {
     owner = "phillipberndt";
     repo = "pqiv";
     rev = version;
-    sha256 = "0zn7ps73lw04l9i4777c90ik07v3hkg66mnpz8vvvwjyi40i77a7";
+    sha256 = "04fawc3sd625y1bbgfgwmak56pq28sm58dwn5db4h183iy3awdl9";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/applications/graphics/processing/default.nix b/pkgs/applications/graphics/processing/default.nix
deleted file mode 100644
index 12ff5c77240..00000000000
--- a/pkgs/applications/graphics/processing/default.nix
+++ /dev/null
@@ -1,39 +0,0 @@
-{ fetchurl, stdenv, ant, jdk, makeWrapper, libXxf86vm, which }:
-
-stdenv.mkDerivation rec {
-  name = "processing-${version}";
-  version = "2.2.1";
-
-  src = fetchurl {
-    url = "https://github.com/processing/processing/archive/processing-0227-${version}.tar.gz";
-    sha256 = "1r8q5y0h4gpqap5jwkspc0li6566hzx5chr7hwrdn8mxlzsm50xk";
-  };
-
-  # Stop it trying to download its own version of java
-  patches = [ ./use-nixpkgs-jre.patch ];
-
-  buildInputs = [ ant jdk makeWrapper libXxf86vm which ];
-
-  buildPhase = "cd build && ant build";
-
-  installPhase = ''
-    mkdir -p $out/${name}
-    mkdir -p $out/bin
-   cp -r linux/work/* $out/${name}/
-   makeWrapper $out/${name}/processing $out/bin/processing \
-     --prefix PATH : "${stdenv.lib.makeBinPath [ jdk which ]}" \
-     --prefix LD_LIBRARY_PATH : ${libXxf86vm}/lib
-   makeWrapper $out/${name}/processing-java $out/bin/processing-java \
-     --prefix PATH : "${stdenv.lib.makeBinPath [ jdk which ]}" \
-     --prefix LD_LIBRARY_PATH : ${libXxf86vm}/lib
-   ln -s ${jdk} $out/${name}/java
-  '';
-
-  meta = with stdenv.lib; {
-    description = "A language and IDE for electronic arts";
-    homepage = https://processing.org;
-    license = licenses.gpl2Plus;
-    maintainers = [ maintainers.goibhniu ];
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/applications/graphics/processing/use-nixpkgs-jre.patch b/pkgs/applications/graphics/processing/use-nixpkgs-jre.patch
deleted file mode 100644
index 8f6a5e2018e..00000000000
--- a/pkgs/applications/graphics/processing/use-nixpkgs-jre.patch
+++ /dev/null
@@ -1,88 +0,0 @@
-From d1fb63255ff028ecc9cc66d5a6b21b24031b4b4a Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Cillian=20de=20R=C3=B3iste?= <cillian.deroiste@gmail.com>
-Date: Tue, 26 Aug 2014 00:07:58 +0200
-Subject: [PATCH] patch
-
----
- build/build.xml | 42 +++++++++++++++++++++---------------------
- 1 file changed, 21 insertions(+), 21 deletions(-)
-
-diff --git a/build/build.xml b/build/build.xml
-index 4d0f0b2..c3f5c09 100755
---- a/build/build.xml
-+++ b/build/build.xml
-@@ -640,10 +640,11 @@
- 	      value="jre-tools-6u37-linux${sun.arch.data.model}.tgz" />
-     -->
- 
-+    <!--
-     <get src="http://processing.googlecode.com/files/${jre.file}" 
- 	 dest="linux/jre.tgz" 
- 	 usetimestamp="true" />
--
-+    -->
- <!--	   
-     Cannot use ant version of tar because it doesn't preserve properties.
-     <untar compression="gzip" 
-@@ -655,39 +656,38 @@
- <!--
-     http://www.gnu.org/software/tar/manual/html_section/transform.html
- -->
--    <exec executable="tar" dir="linux">
-+    <!-- <exec executable="tar" dir="linux"> -->
-       <!-- Change directory -->
-       <!--
-       <arg value="-C" /> 
-       <arg value="linux/work" />
-       <arg value="-xzpf" />
-       -->
--      <arg value="xfz" />
--      <arg value="jre.tgz"/>
--    </exec>
-+    <!--   <arg value="xfz" /> -->
-+    <!--   <arg value="jre.tgz"/> -->
-+    <!-- </exec> -->
- 
-     <!--
-     We only want to move when the folder didn't exist before
-     <move file="linux/jre1.7.0_40" tofile="linux/work/java" />
-     -->
--    <exec executable="rsync" dir="linux">
--      <arg value="-a" />
--      <arg value="--delete" />
--      <arg value="jre1.7.0_40/" />
--      <arg value="work/java" />
--    </exec>
--    <delete dir="linux/jre1.7.0_40" />
-+    <!-- <exec executable="rsync" dir="linux"> -->
-+    <!--   <arg value="-a" /> -->
-+    <!--   <arg value="jre1.7.0_40/" /> -->
-+    <!--   <arg value="work/java" /> -->
-+    <!-- </exec> -->
-+    <!-- <delete dir="linux/jre1.7.0_40" /> -->
- 
-     <!-- Remove unused JRE bloat. -->
--    <delete> 
--      <fileset refid="javafx-basics" />
--      <fileset refid="javafx-linux-${sun.arch.data.model}" />
--      <fileset refid="jre-optional-linux" />
--    </delete>
--
--    <copy todir="linux/work/java/lib/fonts">
--      <fileset dir="shared/lib/fonts" includes="*" />
--    </copy>
-+    <!-- <delete>  -->
-+    <!--   <fileset refid="javafx-basics" /> -->
-+    <!--   <fileset refid="javafx-linux-${sun.arch.data.model}" /> -->
-+    <!--   <fileset refid="jre-optional-linux" /> -->
-+    <!-- </delete> -->
-+
-+    <!-- <copy todir="linux/work/java/lib/fonts"> -->
-+    <!--   <fileset dir="shared/lib/fonts" includes="*" /> -->
-+    <!-- </copy> -->
- 
-   </target>
-   
--- 
-2.1.0
-
diff --git a/pkgs/applications/graphics/processing3/default.nix b/pkgs/applications/graphics/processing3/default.nix
new file mode 100644
index 00000000000..4ef078fdbac
--- /dev/null
+++ b/pkgs/applications/graphics/processing3/default.nix
@@ -0,0 +1,53 @@
+{ stdenv, callPackage, fetchFromGitHub, makeWrapper, ant, jdk, rsync, javaPackages, libXxf86vm }:
+
+stdenv.mkDerivation rec {
+  version = "3.3.7";
+  name = "processing3-${version}";
+
+  src = fetchFromGitHub {
+    owner = "processing";
+    repo = "processing";
+    rev = "processing-0264-3.3.7";
+    sha256 = "0a20z19lmc4xarfnr7xshcmlv3xkc2dgjxknis0iv79gxnwlqhpq";
+  };
+
+  nativeBuildInputs = [ ant rsync makeWrapper ];
+  buildInputs = [ jdk ];
+
+  buildPhase = ''
+    # use compiled jogl to avoid patchelf'ing .so files inside jars
+    rm core/library/*.jar
+    cp ${javaPackages.jogl_2_3_2}/share/java/*.jar core/library/
+
+    # suppress "Not fond of this Java VM" message box
+    substituteInPlace app/src/processing/app/platform/LinuxPlatform.java \
+      --replace 'Messages.showWarning' 'if (false) Messages.showWarning'
+
+    ( cd build
+      substituteInPlace build.xml --replace "jre-download," ""  # do not download jre1.8.0_144
+      mkdir -p linux/jre1.8.0_144                               # fake dir to avoid error
+      ant build )
+  '';
+
+  installPhase = ''
+    mkdir $out
+    cp -dpR build/linux/work $out/${name}
+
+    rmdir $out/${name}/java
+    ln -s ${jdk} $out/${name}/java
+
+    makeWrapper $out/${name}/processing      $out/bin/processing \
+        --prefix _JAVA_OPTIONS " " -Dawt.useSystemAAFontSettings=lcd \
+        --prefix LD_LIBRARY_PATH : ${libXxf86vm}/lib
+    makeWrapper $out/${name}/processing-java $out/bin/processing-java \
+        --prefix _JAVA_OPTIONS " " -Dawt.useSystemAAFontSettings=lcd \
+        --prefix LD_LIBRARY_PATH : ${libXxf86vm}/lib
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A language and IDE for electronic arts";
+    homepage = https://processing.org;
+    license = licenses.gpl2Plus;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/graphics/qscreenshot/default.nix b/pkgs/applications/graphics/qscreenshot/default.nix
index c4f4f6472ed..fafc76a76ff 100644
--- a/pkgs/applications/graphics/qscreenshot/default.nix
+++ b/pkgs/applications/graphics/qscreenshot/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, dos2unix, which, qt }:
+{ stdenv, fetchurl, dos2unix, which, qt, Carbon }:
 
 stdenv.mkDerivation rec {
   name = "qscreenshot-1.0";
@@ -8,7 +8,8 @@ stdenv.mkDerivation rec {
     sha256 = "1spj5fg2l8p5bk81xsv6hqn1kcrdiy54w19jsfb7g5i94vcb1pcx";
   };
 
-  buildInputs = [ dos2unix which qt ];
+  buildInputs = [ dos2unix which qt ]
+    ++ stdenv.lib.optional stdenv.isDarwin Carbon;
 
   # Remove carriage returns that cause /bin/sh to abort
   preConfigure = ''
diff --git a/pkgs/applications/graphics/qtpfsgui/default.nix b/pkgs/applications/graphics/qtpfsgui/default.nix
index d3edc40cbea..4be7d230b5f 100644
--- a/pkgs/applications/graphics/qtpfsgui/default.nix
+++ b/pkgs/applications/graphics/qtpfsgui/default.nix
@@ -36,6 +36,6 @@ stdenv.mkDerivation rec {
     license = stdenv.lib.licenses.gpl2Plus;
 
     maintainers = [ ];
-    platforms = stdenv.lib.platforms.gnu;
+    platforms = stdenv.lib.platforms.gnu ++ stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/applications/graphics/rapcad/default.nix b/pkgs/applications/graphics/rapcad/default.nix
index c8327b9bca1..b300c0071fa 100644
--- a/pkgs/applications/graphics/rapcad/default.nix
+++ b/pkgs/applications/graphics/rapcad/default.nix
@@ -29,5 +29,6 @@ stdenv.mkDerivation rec {
     maintainers = [ maintainers.raskin ];
     platforms = platforms.linux;
     description = ''Constructive solid geometry package'';
+    broken = true; # 2018-04-11
   };
 }
diff --git a/pkgs/applications/graphics/rawtherapee/default.nix b/pkgs/applications/graphics/rawtherapee/default.nix
index 9964bec6781..eb97a2b9b3b 100644
--- a/pkgs/applications/graphics/rawtherapee/default.nix
+++ b/pkgs/applications/graphics/rawtherapee/default.nix
@@ -4,14 +4,14 @@
 }:
 
 stdenv.mkDerivation rec {
-  version = "5.3";
+  version = "5.4";
   name = "rawtherapee-" + version;
 
   src = fetchFromGitHub {
     owner = "Beep6581";
     repo = "RawTherapee";
     rev = version;
-    sha256 = "1r6sx9zl1wkykgfx6k26268xadair6hzl15v5hmiri9sdhrn33q7";
+    sha256 = "1h2x5biqsb4kfwsffqkyk8ky22qv2a0cjs1s445x9farcr3kwk99";
   };
 
   nativeBuildInputs = [ cmake pkgconfig wrapGAppsHook ];
diff --git a/pkgs/applications/graphics/sane/xsane.nix b/pkgs/applications/graphics/sane/xsane.nix
index ad02e1a8023..ca0f49e0c94 100644
--- a/pkgs/applications/graphics/sane/xsane.nix
+++ b/pkgs/applications/graphics/sane/xsane.nix
@@ -1,9 +1,9 @@
 { stdenv, fetchurl, sane-backends, sane-frontends, libX11, gtk2, pkgconfig, libpng
 , libusb ? null
-, gimpSupport ? false, gimp_2_8 ? null
+, gimpSupport ? false, gimp ? null
 }:
 
-assert gimpSupport -> gimp_2_8 != null;
+assert gimpSupport -> gimp != null;
 
 stdenv.mkDerivation rec {
   name = "xsane-0.999";
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [libpng sane-backends sane-frontends libX11 gtk2 ]
     ++ (if libusb != null then [libusb] else [])
-    ++ stdenv.lib.optional gimpSupport gimp_2_8;
+    ++ stdenv.lib.optional gimpSupport gimp;
 
   meta = {
     homepage = http://www.sane-project.org/;
diff --git a/pkgs/applications/graphics/scantailor/advanced.nix b/pkgs/applications/graphics/scantailor/advanced.nix
index 8f26d5a9884..1fb8d572e95 100644
--- a/pkgs/applications/graphics/scantailor/advanced.nix
+++ b/pkgs/applications/graphics/scantailor/advanced.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   name = "scantailor-advanced-${version}";
-  version = "1.0.12";
+  version = "1.0.14";
 
   src = fetchFromGitHub {
     owner = "4lex4";
     repo = "scantailor-advanced";
     rev = "v${version}";
-    sha256 = "0i80jzky7l8wdv0wqdx48x1q0wmj72hhm0050pd43q80pj5r78a0";
+    sha256 = "1h7lng0hxkjcvwbdf1yx59a382kiwn9bpll42acqs71nsvw65p28";
   };
 
   nativeBuildInputs = [ cmake qttools ];
@@ -44,6 +44,6 @@ stdenv.mkDerivation rec {
     description = "Interactive post-processing tool for scanned pages";
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ jfrankenau ];
-    platforms = platforms.gnu;
+    platforms = platforms.gnu ++ platforms.linux;
   };
 }
diff --git a/pkgs/applications/graphics/scantailor/default.nix b/pkgs/applications/graphics/scantailor/default.nix
index ec7af882907..395179ff70a 100644
--- a/pkgs/applications/graphics/scantailor/default.nix
+++ b/pkgs/applications/graphics/scantailor/default.nix
@@ -19,6 +19,6 @@ stdenv.mkDerivation rec {
     license = stdenv.lib.licenses.gpl3Plus;
 
     maintainers = [ stdenv.lib.maintainers.viric ];
-    platforms = stdenv.lib.platforms.gnu;
+    platforms = stdenv.lib.platforms.gnu ++ stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/applications/graphics/shotwell/default.nix b/pkgs/applications/graphics/shotwell/default.nix
index bba6a189b8f..1ebc2f88ec5 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
-, itstool, libgdata }:
+, gobjectIntrospection, itstool, libgdata }:
 
 # for dependencies see https://wiki.gnome.org/Apps/Shotwell/BuildingAndInstalling
 
 let
   pname = "shotwell";
-  version = "0.27.4";
+  version = "0.28.2";
 in stdenv.mkDerivation rec {
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${gnome3.versionBranch version}/${name}.tar.xz";
-    sha256 = "0g2vphhpxrljpy9sryfsgaayix807i1i9plj9bay72dk0zphqab2";
+    sha256 = "0pa7lb33i4hdnz7hr7x938d48ilrnj47jzb99la79rmm08yyin8n";
   };
 
   nativeBuildInputs = [
-    meson ninja vala pkgconfig itstool gettext desktop-file-utils wrapGAppsHook
+    meson ninja vala pkgconfig itstool gettext desktop-file-utils wrapGAppsHook gobjectIntrospection
   ];
 
   buildInputs = [
diff --git a/pkgs/applications/graphics/shutter/default.nix b/pkgs/applications/graphics/shutter/default.nix
index a8b4973203d..3bc814e1e75 100644
--- a/pkgs/applications/graphics/shutter/default.nix
+++ b/pkgs/applications/graphics/shutter/default.nix
@@ -1,4 +1,6 @@
-{ stdenv, fetchurl, fetchpatch, perl, perlPackages, makeWrapper, imagemagick, gdk_pixbuf, librsvg }:
+{ stdenv, fetchurl, fetchpatch, perl, perlPackages, makeWrapper, imagemagick, gdk_pixbuf, librsvg
+, hicolor-icon-theme
+}:
 
 let
   perlModules = with perlPackages;
@@ -8,6 +10,7 @@ let
       ProcProcessTable URI ImageExifTool Gtk2AppIndicator LWPUserAgent JSON
       PerlMagick WWWMechanize HTTPDate HTMLForm HTMLParser HTMLTagset JSONXS
       CommonSense HTTPCookies NetOAuth PathClass GooCanvas X11Protocol Cairo
+      EncodeLocale TryTiny TypesSerialiser LWPMediaTypes
     ];
 in
 stdenv.mkDerivation rec {
@@ -28,6 +31,7 @@ stdenv.mkDerivation rec {
     wrapProgram $out/bin/shutter \
       --set PERL5LIB "${stdenv.lib.makePerlPath perlModules}" \
       --prefix PATH : "${imagemagick.out}/bin" \
+      --suffix XDG_DATA_DIRS : "${hicolor-icon-theme}/share" \
       --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE"
   '';
 
diff --git a/pkgs/applications/graphics/solvespace/default.nix b/pkgs/applications/graphics/solvespace/default.nix
index 08ce9c1fc2e..a1d0316631f 100644
--- a/pkgs/applications/graphics/solvespace/default.nix
+++ b/pkgs/applications/graphics/solvespace/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchgit, cmake, pkgconfig, zlib, libpng, cairo, freetype
-, json_c, fontconfig, gtkmm3, pangomm, glew, libGLU, xlibs, pcre
+, json_c, fontconfig, gtkmm3, pangomm, glew, libGLU, xorg, pcre
 , wrapGAppsHook
 }:
 stdenv.mkDerivation rec {
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
   buildInputs = [
     zlib libpng cairo freetype
     json_c fontconfig gtkmm3 pangomm glew libGLU
-    xlibs.libpthreadstubs xlibs.libXdmcp pcre
+    xorg.libpthreadstubs xorg.libXdmcp pcre
   ];
   enableParallelBuilding = true;
 
diff --git a/pkgs/applications/graphics/ufraw/default.nix b/pkgs/applications/graphics/ufraw/default.nix
index fc8e7a62c2b..50cd9485a3e 100644
--- a/pkgs/applications/graphics/ufraw/default.nix
+++ b/pkgs/applications/graphics/ufraw/default.nix
@@ -1,6 +1,9 @@
 { fetchurl, stdenv, pkgconfig, gtk2, gettext, bzip2, zlib
+, withGimpPlugin ? true, gimp ? null
 , libjpeg, libtiff, cfitsio, exiv2, lcms2, gtkimageview, lensfun }:
 
+assert withGimpPlugin -> gimp != null;
+
 stdenv.mkDerivation rec {
   name = "ufraw-0.22";
 
@@ -10,10 +13,23 @@ stdenv.mkDerivation rec {
     sha256 = "0pm216pg0vr44gwz9vcvq3fsf8r5iayljhf5nis2mnw7wn6d5azp";
   };
 
-  buildInputs =
-    [ pkgconfig gtk2 gtkimageview gettext bzip2 zlib
-      libjpeg libtiff cfitsio exiv2 lcms2 lensfun
-    ];
+  outputs = [ "out" ] ++ stdenv.lib.optional withGimpPlugin "gimpPlugin";
+
+  nativeBuildInputs = [ pkgconfig gettext ];
+  buildInputs = [
+    gtk2 gtkimageview bzip2 zlib
+    libjpeg libtiff cfitsio exiv2 lcms2 lensfun
+  ] ++ stdenv.lib.optional withGimpPlugin gimp;
+
+  configureFlags = [
+    "--enable-extras"
+    "--enable-dst-correction"
+    "--enable-contrast"
+  ] ++ stdenv.lib.optional withGimpPlugin "--with-gimp";
+
+  postInstall = stdenv.lib.optionalString withGimpPlugin ''
+    moveToOutput "lib/gimp" "$gimpPlugin"
+  '';
 
   meta = {
     homepage = http://ufraw.sourceforge.net/;
@@ -33,6 +49,6 @@ stdenv.mkDerivation rec {
     license = stdenv.lib.licenses.gpl2Plus;
 
     maintainers = [ ];
-    platforms = stdenv.lib.platforms.gnu;  # needs GTK+
+    platforms = stdenv.lib.platforms.gnu ++ stdenv.lib.platforms.linux;  # needs GTK+
   };
 }
diff --git a/pkgs/applications/graphics/viewnior/default.nix b/pkgs/applications/graphics/viewnior/default.nix
index c655cadef40..5afd7a0237d 100644
--- a/pkgs/applications/graphics/viewnior/default.nix
+++ b/pkgs/applications/graphics/viewnior/default.nix
@@ -38,6 +38,6 @@ stdenv.mkDerivation rec {
 
     maintainers = [ stdenv.lib.maintainers.smironov ];
 
-    platforms = stdenv.lib.platforms.gnu;
+    platforms = stdenv.lib.platforms.gnu ++ stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/applications/graphics/xfig/default.nix b/pkgs/applications/graphics/xfig/default.nix
index c70b1029b79..545675ab154 100644
--- a/pkgs/applications/graphics/xfig/default.nix
+++ b/pkgs/applications/graphics/xfig/default.nix
@@ -42,6 +42,6 @@ stdenv.mkDerivation {
   meta = {
     description = "An interactive drawing tool for X11";
     homepage = http://xfig.org;
-    platforms = stdenv.lib.platforms.gnu;         # arbitrary choice
+    platforms = stdenv.lib.platforms.gnu ++ stdenv.lib.platforms.linux;         # arbitrary choice
   };
 }
diff --git a/pkgs/applications/kde/akonadi-import-wizard.nix b/pkgs/applications/kde/akonadi-import-wizard.nix
new file mode 100644
index 00000000000..cc1acbc6dd0
--- /dev/null
+++ b/pkgs/applications/kde/akonadi-import-wizard.nix
@@ -0,0 +1,20 @@
+{
+  mkDerivation, lib, kdepimTeam,
+  extra-cmake-modules, kdoctools,
+  akonadi, karchive, kcontacts, kcrash, kidentitymanagement, kio,
+  kmailtransport, kwallet, mailcommon, mailimporter, messagelib
+}:
+
+mkDerivation {
+  name = "akonadi-import-wizard";
+  meta = {
+    license = with lib.licenses; [ gpl2Plus lgpl21Plus fdl12 ];
+    maintainers = kdepimTeam;
+  };
+  nativeBuildInputs = [ extra-cmake-modules kdoctools ];
+  buildInputs = [
+    akonadi karchive kcontacts kcrash kidentitymanagement kio
+    kmailtransport kwallet mailcommon mailimporter messagelib
+  ];
+  outputs = [ "out" "dev" ];
+}
diff --git a/pkgs/applications/kde/akonadi/akonadi-paths.patch b/pkgs/applications/kde/akonadi/akonadi-paths.patch
index 91fd934b1ec..4743c36c44d 100644
--- a/pkgs/applications/kde/akonadi/akonadi-paths.patch
+++ b/pkgs/applications/kde/akonadi/akonadi-paths.patch
@@ -1,8 +1,40 @@
-Index: akonadi-17.04.0/src/server/storage/dbconfigmysql.cpp
-===================================================================
---- akonadi-17.04.0.orig/src/server/storage/dbconfigmysql.cpp
-+++ akonadi-17.04.0/src/server/storage/dbconfigmysql.cpp
-@@ -63,7 +63,6 @@ bool DbConfigMysql::init(QSettings &sett
+diff --git a/src/akonadicontrol/agentmanager.cpp b/src/akonadicontrol/agentmanager.cpp
+index 2e9f1acf4..ecc80afdc 100644
+--- a/src/akonadicontrol/agentmanager.cpp
++++ b/src/akonadicontrol/agentmanager.cpp
+@@ -84,12 +84,12 @@ AgentManager::AgentManager(bool verbose, QObject *parent)
+     mStorageController = new Akonadi::ProcessControl;
+     mStorageController->setShutdownTimeout(15 * 1000);   // the server needs more time for shutdown if we are using an internal mysqld
+     connect(mStorageController, &Akonadi::ProcessControl::unableToStart, this, &AgentManager::serverFailure);
+-    mStorageController->start(QStringLiteral("akonadiserver"), serviceArgs, Akonadi::ProcessControl::RestartOnCrash);
++    mStorageController->start(QLatin1String(NIX_OUT "/bin/akonadiserver"), serviceArgs, Akonadi::ProcessControl::RestartOnCrash);
+ 
+     if (mAgentServerEnabled) {
+         mAgentServer = new Akonadi::ProcessControl;
+         connect(mAgentServer, &Akonadi::ProcessControl::unableToStart, this, &AgentManager::agentServerFailure);
+-        mAgentServer->start(QStringLiteral("akonadi_agent_server"), serviceArgs, Akonadi::ProcessControl::RestartOnCrash);
++        mAgentServer->start(QLatin1String(NIX_OUT "/bin/akonadi_agent_server"), serviceArgs, Akonadi::ProcessControl::RestartOnCrash);
+     }
+ 
+ #ifndef QT_NO_DEBUG
+diff --git a/src/akonadicontrol/agentprocessinstance.cpp b/src/akonadicontrol/agentprocessinstance.cpp
+index be1cc4afb..6d0c1d7e5 100644
+--- a/src/akonadicontrol/agentprocessinstance.cpp
++++ b/src/akonadicontrol/agentprocessinstance.cpp
+@@ -62,7 +62,7 @@ bool AgentProcessInstance::start(const AgentType &agentInfo)
+     } else {
+         Q_ASSERT(agentInfo.launchMethod == AgentType::Launcher);
+         const QStringList arguments = QStringList() << executable << identifier();
+-        const QString agentLauncherExec = Akonadi::StandardDirs::findExecutable(QStringLiteral("akonadi_agent_launcher"));
++        const QString agentLauncherExec = QLatin1String(NIX_OUT "/bin/akonadi_agent_launcher");
+         mController->start(agentLauncherExec, arguments);
+     }
+     return true;
+diff --git a/src/server/storage/dbconfigmysql.cpp b/src/server/storage/dbconfigmysql.cpp
+index a32e86602..48ea4e52e 100644
+--- a/src/server/storage/dbconfigmysql.cpp
++++ b/src/server/storage/dbconfigmysql.cpp
+@@ -63,7 +63,6 @@ bool DbConfigMysql::init(QSettings &settings)
      // determine default settings depending on the driver
      QString defaultHostName;
      QString defaultOptions;
@@ -10,7 +42,7 @@ Index: akonadi-17.04.0/src/server/storage/dbconfigmysql.cpp
      QString defaultCleanShutdownCommand;
  
  #ifndef Q_OS_WIN
-@@ -71,25 +70,8 @@ bool DbConfigMysql::init(QSettings &sett
+@@ -71,25 +70,7 @@ bool DbConfigMysql::init(QSettings &settings)
  #endif
  
      const bool defaultInternalServer = true;
@@ -29,28 +61,28 @@ Index: akonadi-17.04.0/src/server/storage/dbconfigmysql.cpp
 -                                         << QStringLiteral("/opt/local/lib/mysql5/bin")
 -                                         << QStringLiteral("/opt/mysql/sbin");
 -    if (defaultServerPath.isEmpty()) {
--        defaultServerPath = XdgBaseDirs::findExecutableFile(QStringLiteral("mysqld"), mysqldSearchPath);
+-        defaultServerPath = QStandardPaths::findExecutable(QStringLiteral("mysqld"), mysqldSearchPath);
 -    }
- 
--    const QString mysqladminPath = XdgBaseDirs::findExecutableFile(QStringLiteral("mysqladmin"), mysqldSearchPath);
+-
+-    const QString mysqladminPath = QStandardPaths::findExecutable(QStringLiteral("mysqladmin"), mysqldSearchPath);
 +    const QString mysqladminPath = QLatin1String(NIXPKGS_MYSQL_MYSQLADMIN);
      if (!mysqladminPath.isEmpty()) {
  #ifndef Q_OS_WIN
          defaultCleanShutdownCommand = QStringLiteral("%1 --defaults-file=%2/mysql.conf --socket=%3/mysql.socket shutdown")
-@@ -99,10 +81,10 @@ bool DbConfigMysql::init(QSettings &sett
+@@ -99,10 +80,10 @@ bool DbConfigMysql::init(QSettings &settings)
  #endif
      }
  
--    mMysqlInstallDbPath = XdgBaseDirs::findExecutableFile(QStringLiteral("mysql_install_db"), mysqldSearchPath);
+-    mMysqlInstallDbPath = QStandardPaths::findExecutable(QStringLiteral("mysql_install_db"), mysqldSearchPath);
 +    mMysqlInstallDbPath = QLatin1String(NIXPKGS_MYSQL_MYSQL_INSTALL_DB);
      qCDebug(AKONADISERVER_LOG) << "Found mysql_install_db: " << mMysqlInstallDbPath;
  
--    mMysqlCheckPath = XdgBaseDirs::findExecutableFile(QStringLiteral("mysqlcheck"), mysqldSearchPath);
+-    mMysqlCheckPath = QStandardPaths::findExecutable(QStringLiteral("mysqlcheck"), mysqldSearchPath);
 +    mMysqlCheckPath = QLatin1String(NIXPKGS_MYSQL_MYSQLCHECK);
      qCDebug(AKONADISERVER_LOG) << "Found mysqlcheck: " << mMysqlCheckPath;
  
      mInternalServer = settings.value(QStringLiteral("QMYSQL/StartServer"), defaultInternalServer).toBool();
-@@ -119,7 +101,7 @@ bool DbConfigMysql::init(QSettings &sett
+@@ -119,7 +100,7 @@ bool DbConfigMysql::init(QSettings &settings)
      mUserName = settings.value(QStringLiteral("User")).toString();
      mPassword = settings.value(QStringLiteral("Password")).toString();
      mConnectionOptions = settings.value(QStringLiteral("Options"), defaultOptions).toString();
@@ -59,7 +91,7 @@ Index: akonadi-17.04.0/src/server/storage/dbconfigmysql.cpp
      mCleanServerShutdownCommand = settings.value(QStringLiteral("CleanServerShutdownCommand"), defaultCleanShutdownCommand).toString();
      settings.endGroup();
  
-@@ -129,9 +111,6 @@ bool DbConfigMysql::init(QSettings &sett
+@@ -129,9 +110,6 @@ bool DbConfigMysql::init(QSettings &settings)
          // intentionally not namespaced as we are the only one in this db instance when using internal mode
          mDatabaseName = QStringLiteral("akonadi");
      }
@@ -69,7 +101,7 @@ Index: akonadi-17.04.0/src/server/storage/dbconfigmysql.cpp
  
      qCDebug(AKONADISERVER_LOG) << "Using mysqld:" << mMysqldPath;
  
-@@ -140,9 +119,6 @@ bool DbConfigMysql::init(QSettings &sett
+@@ -140,9 +118,6 @@ bool DbConfigMysql::init(QSettings &settings)
      settings.setValue(QStringLiteral("Name"), mDatabaseName);
      settings.setValue(QStringLiteral("Host"), mHostName);
      settings.setValue(QStringLiteral("Options"), mConnectionOptions);
@@ -79,20 +111,20 @@ Index: akonadi-17.04.0/src/server/storage/dbconfigmysql.cpp
      settings.setValue(QStringLiteral("StartServer"), mInternalServer);
      settings.endGroup();
      settings.sync();
-@@ -196,7 +172,7 @@ bool DbConfigMysql::startInternalServer(
+@@ -196,7 +171,7 @@ bool DbConfigMysql::startInternalServer()
  #endif
  
      // generate config file
--    const QString globalConfig = XdgBaseDirs::findResourceFile("config", QStringLiteral("akonadi/mysql-global.conf"));
+-    const QString globalConfig = StandardDirs::locateResourceFile("config", QStringLiteral("mysql-global.conf"));
 +    const QString globalConfig = QLatin1String(NIX_OUT "/etc/xdg/akonadi/mysql-global.conf");
-     const QString localConfig  = XdgBaseDirs::findResourceFile("config", QStringLiteral("akonadi/mysql-local.conf"));
+     const QString localConfig  = StandardDirs::locateResourceFile("config", QStringLiteral("mysql-local.conf"));
      const QString actualConfig = StandardDirs::saveDir("data") + QLatin1String("/mysql.conf");
      if (globalConfig.isEmpty()) {
-Index: akonadi-17.04.0/src/server/storage/dbconfigpostgresql.cpp
-===================================================================
---- akonadi-17.04.0.orig/src/server/storage/dbconfigpostgresql.cpp
-+++ akonadi-17.04.0/src/server/storage/dbconfigpostgresql.cpp
-@@ -58,7 +58,6 @@ bool DbConfigPostgresql::init(QSettings
+diff --git a/src/server/storage/dbconfigpostgresql.cpp b/src/server/storage/dbconfigpostgresql.cpp
+index 60e6272f2..ad7cefbfe 100644
+--- a/src/server/storage/dbconfigpostgresql.cpp
++++ b/src/server/storage/dbconfigpostgresql.cpp
+@@ -58,7 +58,6 @@ bool DbConfigPostgresql::init(QSettings &settings)
      // determine default settings depending on the driver
      QString defaultHostName;
      QString defaultOptions;
@@ -100,7 +132,7 @@ Index: akonadi-17.04.0/src/server/storage/dbconfigpostgresql.cpp
      QString defaultInitDbPath;
      QString defaultPgData;
  
-@@ -70,35 +69,7 @@ bool DbConfigPostgresql::init(QSettings
+@@ -70,34 +69,7 @@ bool DbConfigPostgresql::init(QSettings &settings)
  
      mInternalServer = settings.value(QStringLiteral("QPSQL/StartServer"), defaultInternalServer).toBool();
      if (mInternalServer) {
@@ -130,14 +162,13 @@ Index: akonadi-17.04.0/src/server/storage/dbconfigpostgresql.cpp
 -            }
 -        }
 -        postgresSearchPath.append(postgresVersionedSearchPaths);
--
--        defaultServerPath = XdgBaseDirs::findExecutableFile(QStringLiteral("pg_ctl"), postgresSearchPath);
--        defaultInitDbPath = XdgBaseDirs::findExecutableFile(QStringLiteral("initdb"), postgresSearchPath);
+-        defaultServerPath = QStandardPaths::findExecutable(QStringLiteral("pg_ctl"), postgresSearchPath);
+-        defaultInitDbPath = QStandardPaths::findExecutable(QStringLiteral("initdb"), postgresSearchPath);
 +        defaultInitDbPath = QLatin1String(NIXPKGS_POSTGRES_INITDB);
          defaultHostName = Utils::preferredSocketDirectory(StandardDirs::saveDir("data", QStringLiteral("db_misc")));
          defaultPgData = StandardDirs::saveDir("data", QStringLiteral("db_data"));
      }
-@@ -118,10 +89,7 @@ bool DbConfigPostgresql::init(QSettings
+@@ -117,10 +89,7 @@ bool DbConfigPostgresql::init(QSettings &settings)
      mUserName = settings.value(QStringLiteral("User")).toString();
      mPassword = settings.value(QStringLiteral("Password")).toString();
      mConnectionOptions = settings.value(QStringLiteral("Options"), defaultOptions).toString();
@@ -149,7 +180,7 @@ Index: akonadi-17.04.0/src/server/storage/dbconfigpostgresql.cpp
      qCDebug(AKONADISERVER_LOG) << "Found pg_ctl:" << mServerPath;
      mInitDbPath = settings.value(QStringLiteral("InitDbPath"), defaultInitDbPath).toString();
      if (mInternalServer && mInitDbPath.isEmpty()) {
-@@ -142,7 +110,6 @@ bool DbConfigPostgresql::init(QSettings
+@@ -141,7 +110,6 @@ bool DbConfigPostgresql::init(QSettings &settings)
          settings.setValue(QStringLiteral("Port"), mHostPort);
      }
      settings.setValue(QStringLiteral("Options"), mConnectionOptions);
@@ -157,35 +188,3 @@ Index: akonadi-17.04.0/src/server/storage/dbconfigpostgresql.cpp
      settings.setValue(QStringLiteral("InitDbPath"), mInitDbPath);
      settings.setValue(QStringLiteral("StartServer"), mInternalServer);
      settings.endGroup();
-Index: akonadi-17.04.0/src/akonadicontrol/agentprocessinstance.cpp
-===================================================================
---- akonadi-17.04.0.orig/src/akonadicontrol/agentprocessinstance.cpp
-+++ akonadi-17.04.0/src/akonadicontrol/agentprocessinstance.cpp
-@@ -62,7 +62,7 @@ bool AgentProcessInstance::start(const A
-     } else {
-         Q_ASSERT(agentInfo.launchMethod == AgentType::Launcher);
-         const QStringList arguments = QStringList() << executable << identifier();
--        const QString agentLauncherExec = XdgBaseDirs::findExecutableFile(QStringLiteral("akonadi_agent_launcher"));
-+        const QString agentLauncherExec = QLatin1String(NIX_OUT "/bin/akonadi_agent_launcher");
-         mController->start(agentLauncherExec, arguments);
-     }
-     return true;
-Index: akonadi-17.04.0/src/akonadicontrol/agentmanager.cpp
-===================================================================
---- akonadi-17.04.0.orig/src/akonadicontrol/agentmanager.cpp
-+++ akonadi-17.04.0/src/akonadicontrol/agentmanager.cpp
-@@ -102,12 +102,12 @@ AgentManager::AgentManager(bool verbose,
-     mStorageController = new Akonadi::ProcessControl;
-     mStorageController->setShutdownTimeout(15 * 1000);   // the server needs more time for shutdown if we are using an internal mysqld
-     connect(mStorageController, &Akonadi::ProcessControl::unableToStart, this, &AgentManager::serverFailure);
--    mStorageController->start(QStringLiteral("akonadiserver"), serviceArgs, Akonadi::ProcessControl::RestartOnCrash);
-+    mStorageController->start(QLatin1String(NIX_OUT "/bin/akonadiserver"), serviceArgs, Akonadi::ProcessControl::RestartOnCrash);
- 
-     if (mAgentServerEnabled) {
-         mAgentServer = new Akonadi::ProcessControl;
-         connect(mAgentServer, &Akonadi::ProcessControl::unableToStart, this, &AgentManager::agentServerFailure);
--        mAgentServer->start(QStringLiteral("akonadi_agent_server"), serviceArgs, Akonadi::ProcessControl::RestartOnCrash);
-+        mAgentServer->start(QLatin1String(NIX_OUT "/bin/akonadi_agent_server"), serviceArgs, Akonadi::ProcessControl::RestartOnCrash);
-     }
- 
- #ifndef QT_NO_DEBUG
diff --git a/pkgs/applications/kde/default.nix b/pkgs/applications/kde/default.nix
index 8fd65770afd..f602e5c92d9 100644
--- a/pkgs/applications/kde/default.nix
+++ b/pkgs/applications/kde/default.nix
@@ -28,6 +28,7 @@ still shows most of the available features is in `./gwenview.nix`.
 {
   stdenv, lib, libsForQt5, fetchurl, recurseIntoAttrs,
   plasma5, attica, phonon,
+  okteta
 }:
 
 let
@@ -66,6 +67,7 @@ let
       akonadi = callPackage ./akonadi {};
       akonadi-calendar = callPackage ./akonadi-calendar.nix {};
       akonadi-contacts = callPackage ./akonadi-contacts.nix {};
+      akonadi-import-wizard = callPackage ./akonadi-import-wizard.nix {};
       akonadi-mime = callPackage ./akonadi-mime.nix {};
       akonadi-notes = callPackage ./akonadi-notes.nix {};
       akonadi-search = callPackage ./akonadi-search.nix {};
@@ -84,6 +86,7 @@ let
       incidenceeditor = callPackage ./incidenceeditor.nix {};
       k3b = callPackage ./k3b.nix {};
       kaddressbook = callPackage ./kaddressbook.nix {};
+      kalarm = callPackage ./kalarm.nix {};
       kalarmcal = callPackage ./kalarmcal.nix {};
       kate = callPackage ./kate.nix {};
       kcachegrind = callPackage ./kcachegrind.nix {};
@@ -93,11 +96,13 @@ let
       kcolorchooser = callPackage ./kcolorchooser.nix {};
       kcontacts = callPackage ./kcontacts.nix {};
       kdav = callPackage ./kdav.nix {};
+      kdebugsettings = callPackage ./kdebugsettings.nix {};
       kdegraphics-mobipocket = callPackage ./kdegraphics-mobipocket.nix {};
       kdegraphics-thumbnailers = callPackage ./kdegraphics-thumbnailers.nix {};
       kdenetwork-filesharing = callPackage ./kdenetwork-filesharing.nix {};
       kdenlive = callPackage ./kdenlive.nix {};
       kdepim-runtime = callPackage ./kdepim-runtime.nix {};
+      kdepim-addons = callPackage ./kdepim-addons.nix {};
       kdepim-apps-libs = callPackage ./kdepim-apps-libs {};
       kdf = callPackage ./kdf.nix {};
       kdialog = callPackage ./kdialog.nix {};
@@ -105,7 +110,6 @@ let
       kget = callPackage ./kget.nix {};
       kgpg = callPackage ./kgpg.nix {};
       khelpcenter = callPackage ./khelpcenter.nix {};
-      kholidays = callPackage ./kholidays.nix {};
       kidentitymanagement = callPackage ./kidentitymanagement.nix {};
       kig = callPackage ./kig.nix {};
       kimap = callPackage ./kimap.nix {};
@@ -130,6 +134,7 @@ let
       krdc = callPackage ./krdc.nix {};
       krfb = callPackage ./krfb.nix {};
       kruler = callPackage ./kruler.nix {};
+      ksystemlog = callPackage ./ksystemlog.nix {};
       ktnef = callPackage ./ktnef.nix {};
       kwalletmanager = callPackage ./kwalletmanager.nix {};
       libgravatar = callPackage ./libgravatar.nix {};
@@ -149,7 +154,6 @@ let
       mbox-importer = callPackage ./mbox-importer.nix {};
       messagelib = callPackage ./messagelib.nix {};
       minuet = callPackage ./minuet.nix {};
-      okteta = callPackage ./okteta.nix {};
       okular = callPackage ./okular.nix {};
       pimcommon = callPackage ./pimcommon.nix {};
       pim-data-exporter = callPackage ./pim-data-exporter.nix {};
@@ -157,6 +161,9 @@ let
       print-manager = callPackage ./print-manager.nix {};
       spectacle = callPackage ./spectacle.nix {};
       syndication = callPackage ./syndication.nix {};
+      # Okteta was removed from kde applications and will now be released independently
+      # Lets keep an alias for compatibility reasons
+      inherit okteta;
     };
 
 in lib.makeScope libsForQt5.newScope packages
diff --git a/pkgs/applications/kde/fetch.sh b/pkgs/applications/kde/fetch.sh
index 724f252907c..0646e258b40 100644
--- a/pkgs/applications/kde/fetch.sh
+++ b/pkgs/applications/kde/fetch.sh
@@ -1 +1 @@
-WGET_ARGS=( https://download.kde.org/stable/applications/17.12.2/ -A '*.tar.xz' )
+WGET_ARGS=( https://download.kde.org/stable/applications/18.04.1/ -A '*.tar.xz' )
diff --git a/pkgs/applications/kde/k3b.nix b/pkgs/applications/kde/k3b.nix
index 89bc171d295..9b16485cfa7 100644
--- a/pkgs/applications/kde/k3b.nix
+++ b/pkgs/applications/kde/k3b.nix
@@ -16,7 +16,7 @@ mkDerivation {
     platforms = platforms.linux;
   };
   nativeBuildInputs = [ extra-cmake-modules kdoctools makeWrapper ];
-  propagatedBuildInputs = [
+  buildInputs = [
     # qt
     qtwebkit
     # kde
@@ -32,11 +32,17 @@ mkDerivation {
   ];
   propagatedUserEnvPkgs = [ (lib.getBin kinit) ];
   postFixup =
-    let k3bPath = lib.makeBinPath [
-          cdrdao cdrtools dvdplusrwtools libburn normalize sox transcode
-          vcdimager
-        ];
+    let
+      binPath = lib.makeBinPath [
+        cdrdao cdrtools dvdplusrwtools libburn normalize sox transcode
+        vcdimager flac
+      ];
+      libraryPath = lib.makeLibraryPath [
+        cdparanoia
+      ];
     in ''
-      wrapProgram "$out/bin/k3b" --prefix PATH : "${k3bPath}"
+      wrapProgram "$out/bin/k3b"     \
+        --prefix PATH : "${binPath}" \
+        --prefix LD_LIBRARY_PATH : ${libraryPath}
     '';
 }
diff --git a/pkgs/applications/kde/kalarm.nix b/pkgs/applications/kde/kalarm.nix
new file mode 100644
index 00000000000..9978e7ff667
--- /dev/null
+++ b/pkgs/applications/kde/kalarm.nix
@@ -0,0 +1,37 @@
+{
+  mkDerivation, lib,
+  extra-cmake-modules,
+
+  kauth, kcodecs, kcompletion, kconfig, kconfigwidgets, kdbusaddons, kdoctools,
+  kguiaddons, ki18n, kiconthemes, kjobwidgets, kcmutils, kdelibs4support, kio,
+  knotifications, kservice, kwidgetsaddons, kwindowsystem, kxmlgui, phonon,
+
+  kimap, akonadi, akonadi-contacts, akonadi-mime, kalarmcal, kcalcore, kcalutils,
+  kholidays, kidentitymanagement, libkdepim, mailcommon, kmailtransport, kmime,
+  pimcommon, kpimtextedit, kdepim-apps-libs, messagelib,
+
+  qtx11extras,
+
+  kdepim-runtime
+}:
+
+mkDerivation {
+  name = "kalarm";
+  meta = {
+    license = with lib.licenses; [ gpl2 ];
+    maintainers = [ lib.maintainers.rittelle ];
+  };
+  nativeBuildInputs = [ extra-cmake-modules kdoctools ];
+  buildInputs = [
+    kauth kcodecs kcompletion kconfig kconfigwidgets kdbusaddons kdoctools
+    kguiaddons ki18n kiconthemes kjobwidgets kcmutils kdelibs4support kio
+    knotifications kservice kwidgetsaddons kwindowsystem kxmlgui phonon
+
+    kimap akonadi akonadi-contacts akonadi-mime kalarmcal kcalcore kcalutils
+    kholidays kidentitymanagement libkdepim mailcommon kmailtransport kmime
+    pimcommon kpimtextedit kdepim-apps-libs messagelib
+
+    qtx11extras
+  ];
+  propagatedUserEnvPkgs = [ kdepim-runtime ];
+}
diff --git a/pkgs/applications/kde/kalarmcal.nix b/pkgs/applications/kde/kalarmcal.nix
index f2fb6f4d8bb..46832477cc6 100644
--- a/pkgs/applications/kde/kalarmcal.nix
+++ b/pkgs/applications/kde/kalarmcal.nix
@@ -2,7 +2,7 @@
   mkDerivation, lib, kdepimTeam,
   extra-cmake-modules, kdoctools,
   akonadi, kcalcore, kdelibs4support, kholidays, kidentitymanagement,
-  kpimtextedit,
+  kpimtextedit, kcalutils
 }:
 
 mkDerivation {
@@ -13,7 +13,7 @@ mkDerivation {
   };
   nativeBuildInputs = [ extra-cmake-modules kdoctools ];
   propagatedBuildInputs = [
-    akonadi kcalcore kdelibs4support kholidays kidentitymanagement kpimtextedit
+    akonadi kcalcore kdelibs4support kholidays kidentitymanagement kpimtextedit kcalutils
   ];
   outputs = [ "out" "dev" ];
 }
diff --git a/pkgs/applications/kde/kdebugsettings.nix b/pkgs/applications/kde/kdebugsettings.nix
new file mode 100644
index 00000000000..a58e1b25a2e
--- /dev/null
+++ b/pkgs/applications/kde/kdebugsettings.nix
@@ -0,0 +1,20 @@
+{
+  mkDerivation, lib,
+  extra-cmake-modules, kdoctools,
+  gettext,
+  kcoreaddons, kconfig, kdbusaddons, kwidgetsaddons, kitemviews, kcompletion,
+  python
+}:
+
+mkDerivation {
+  name = "kdebugsettings";
+  meta = {
+    license = with lib.licenses; [ gpl2 ];
+    maintainers = [ lib.maintainers.rittelle ];
+  };
+  nativeBuildInputs = [ extra-cmake-modules kdoctools ];
+  buildInputs = [
+    gettext kcoreaddons kconfig kdbusaddons kwidgetsaddons kitemviews kcompletion python
+  ];
+  propagatedUserEnvPkgs = [ ];
+}
diff --git a/pkgs/applications/kde/kdepim-addons.nix b/pkgs/applications/kde/kdepim-addons.nix
new file mode 100644
index 00000000000..fd3fe2d6c09
--- /dev/null
+++ b/pkgs/applications/kde/kdepim-addons.nix
@@ -0,0 +1,23 @@
+{
+  mkDerivation, lib, kdepimTeam,
+  extra-cmake-modules, shared-mime-info,
+  akonadi-import-wizard, akonadi-notes, calendarsupport, eventviews,
+  incidenceeditor, kcalcore, kcalutils, kconfig, kdbusaddons, kdeclarative,
+  kdepim-apps-libs, kholidays, ki18n, kmime, ktexteditor, ktnef, libgravatar,
+  libksieve, mailcommon, mailimporter, messagelib, poppler_qt5, prison
+}:
+
+mkDerivation {
+  name = "kdepim-addons";
+  meta = {
+    license = with lib.licenses; [ gpl2Plus lgpl21Plus ];
+    maintainers = kdepimTeam;
+  };
+  nativeBuildInputs = [ extra-cmake-modules shared-mime-info ];
+  buildInputs = [
+    akonadi-import-wizard akonadi-notes calendarsupport eventviews
+    incidenceeditor kcalcore kcalutils kconfig kdbusaddons kdeclarative
+    kdepim-apps-libs kholidays ki18n kmime ktexteditor ktnef libgravatar
+    libksieve mailcommon mailimporter messagelib poppler_qt5 prison
+  ];
+}
diff --git a/pkgs/applications/kde/konsole.nix b/pkgs/applications/kde/konsole.nix
index 5269941fa11..2847e312d00 100644
--- a/pkgs/applications/kde/konsole.nix
+++ b/pkgs/applications/kde/konsole.nix
@@ -4,7 +4,7 @@
   kbookmarks, kcompletion, kconfig, kconfigwidgets, kcoreaddons, kguiaddons,
   ki18n, kiconthemes, kinit, kdelibs4support, kio, knotifications,
   knotifyconfig, kparts, kpty, kservice, ktextwidgets, kwidgetsaddons,
-  kwindowsystem, kxmlgui, qtscript
+  kwindowsystem, kxmlgui, qtscript, knewstuff
 }:
 
 mkDerivation {
@@ -17,7 +17,7 @@ mkDerivation {
   buildInputs = [
     kbookmarks kcompletion kconfig kconfigwidgets kcoreaddons kdelibs4support
     kguiaddons ki18n kiconthemes kinit kio knotifications knotifyconfig kparts kpty
-    kservice ktextwidgets kwidgetsaddons kwindowsystem kxmlgui qtscript
+    kservice ktextwidgets kwidgetsaddons kwindowsystem kxmlgui qtscript knewstuff
   ];
   propagatedUserEnvPkgs = [ (lib.getBin kinit) ];
 }
diff --git a/pkgs/applications/kde/krfb.nix b/pkgs/applications/kde/krfb.nix
index d6de2521533..d2b96bf6100 100644
--- a/pkgs/applications/kde/krfb.nix
+++ b/pkgs/applications/kde/krfb.nix
@@ -1,7 +1,7 @@
 {
   mkDerivation, lib,
   extra-cmake-modules, kdoctools,
-  kdelibs4support, kdnssd, libvncserver, libXtst, qtx11extras
+  kdelibs4support, kdnssd, libvncserver, libXtst, libXdamage, qtx11extras
 }:
 
 mkDerivation {
@@ -11,6 +11,6 @@ mkDerivation {
     maintainers = with lib.maintainers; [ jerith666 ];
   };
   nativeBuildInputs = [ extra-cmake-modules kdoctools ];
-  buildInputs = [ libvncserver libXtst qtx11extras ];
+  buildInputs = [ libvncserver libXtst libXdamage qtx11extras ];
   propagatedBuildInputs = [ kdelibs4support kdnssd ];
 }
diff --git a/pkgs/applications/kde/ksystemlog.nix b/pkgs/applications/kde/ksystemlog.nix
new file mode 100644
index 00000000000..bec92d55966
--- /dev/null
+++ b/pkgs/applications/kde/ksystemlog.nix
@@ -0,0 +1,17 @@
+{
+  mkDerivation, lib,
+  extra-cmake-modules, gettext, kdoctools,
+  karchive, kconfig, kio
+}:
+
+mkDerivation {
+  name = "ksystemlog";
+
+  nativeBuildInputs = [ extra-cmake-modules gettext kdoctools ];
+  propagatedBuildInputs = [ karchive kconfig kio ];
+
+  meta = with lib; {
+    license = with licenses; [ gpl2 ];
+    maintainers = with maintainers; [ peterhoeg ];
+  };
+}
diff --git a/pkgs/applications/kde/mbox-importer.nix b/pkgs/applications/kde/mbox-importer.nix
index aa637d440bd..0704003353a 100644
--- a/pkgs/applications/kde/mbox-importer.nix
+++ b/pkgs/applications/kde/mbox-importer.nix
@@ -14,7 +14,4 @@ mkDerivation {
   buildInputs = [
     akonadi akonadi-search kconfig kservice kio mailcommon mailimporter messagelib
   ];
-  preHook = ''
-    set -x
-  '';
 }
diff --git a/pkgs/applications/kde/okular.nix b/pkgs/applications/kde/okular.nix
index 64511aabf7c..39fb232b342 100644
--- a/pkgs/applications/kde/okular.nix
+++ b/pkgs/applications/kde/okular.nix
@@ -1,25 +1,27 @@
 {
-  mkDerivation, lib,
+  stdenv, mkDerivation, lib,
   extra-cmake-modules, kdoctools,
-  djvulibre, ebook_tools, kactivities, karchive, kbookmarks, kcompletion,
-  kconfig, kconfigwidgets, kcoreaddons, kdbusaddons, kdegraphics-mobipocket,
-  kiconthemes, kjs, khtml, kio, kparts, kpty, kwallet, kwindowsystem, libkexiv2,
-  libspectre, phonon, poppler, qca-qt5, qtdeclarative, qtsvg, threadweaver
+  chmlib ? null, discount, djvulibre, ebook_tools, kactivities, karchive, kbookmarks,
+  kcompletion, kconfig, kconfigwidgets, kcoreaddons, kdbusaddons,
+  kdegraphics-mobipocket, kiconthemes, kjs, khtml, kio, kparts, kpty, kwallet,
+  kwindowsystem, libkexiv2, libspectre, libzip, phonon, poppler, qca-qt5,
+  qtdeclarative, qtsvg, threadweaver, kcrash
 }:
 
 mkDerivation {
   name = "okular";
   nativeBuildInputs = [ extra-cmake-modules kdoctools ];
   buildInputs = [
-    djvulibre ebook_tools kactivities karchive kbookmarks kcompletion kconfig kconfigwidgets
-    kcoreaddons kdbusaddons kdegraphics-mobipocket kiconthemes kjs khtml kio
-    kparts kpty kwallet kwindowsystem libkexiv2 libspectre phonon poppler
-    qca-qt5 qtdeclarative qtsvg threadweaver
-  ];
-  meta = {
-    platforms = lib.platforms.linux;
+    discount djvulibre ebook_tools kactivities karchive kbookmarks
+    kcompletion kconfig kconfigwidgets kcoreaddons kdbusaddons
+    kdegraphics-mobipocket kiconthemes kjs khtml kio kparts kpty kwallet
+    kwindowsystem libkexiv2 libspectre libzip phonon poppler qca-qt5
+    qtdeclarative qtsvg threadweaver kcrash
+  ] ++ lib.optional (!stdenv.isAarch64) chmlib;
+  meta = with lib; {
     homepage = http://www.kde.org;
-    license = with lib.licenses; [ gpl2 lgpl21 fdl12 bsd3 ];
-    maintainers = [ lib.maintainers.ttuegel ];
+    license = with licenses; [ gpl2 lgpl21 fdl12 bsd3 ];
+    maintainers = with maintainers; [ ttuegel ];
+    platforms = lib.platforms.linux;
   };
 }
diff --git a/pkgs/applications/kde/spectacle.nix b/pkgs/applications/kde/spectacle.nix
index 6deec6aaabb..f036e8cf632 100644
--- a/pkgs/applications/kde/spectacle.nix
+++ b/pkgs/applications/kde/spectacle.nix
@@ -4,7 +4,7 @@
   ki18n, xcb-util-cursor,
   kconfig, kcoreaddons, kdbusaddons, kdeclarative, kio, kipi-plugins,
   knotifications, kscreen, kwidgetsaddons, kwindowsystem, kxmlgui, libkipi,
-  qtx11extras
+  qtx11extras, knewstuff
 }:
 
 mkDerivation {
@@ -14,6 +14,7 @@ mkDerivation {
   buildInputs = [
     kconfig kcoreaddons kdbusaddons kdeclarative ki18n kio knotifications
     kscreen kwidgetsaddons kwindowsystem kxmlgui libkipi qtx11extras xcb-util-cursor
+    knewstuff
   ];
   propagatedUserEnvPkgs = [ kipi-plugins libkipi ];
 }
diff --git a/pkgs/applications/kde/srcs.nix b/pkgs/applications/kde/srcs.nix
index ff6b1803e13..5514345057d 100644
--- a/pkgs/applications/kde/srcs.nix
+++ b/pkgs/applications/kde/srcs.nix
@@ -3,1691 +3,1699 @@
 
 {
   akonadi = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/akonadi-17.12.2.tar.xz";
-      sha256 = "03cz5jl5qywc39krjrzby7yxcrx4iaf94pkvzbkagx1c7bfgajkf";
-      name = "akonadi-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/akonadi-18.04.1.tar.xz";
+      sha256 = "0dg0r49angzkp5b09zbxjygjaxn1d50db15rwm7v9xsnz6fmc6hv";
+      name = "akonadi-18.04.1.tar.xz";
     };
   };
   akonadi-calendar = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/akonadi-calendar-17.12.2.tar.xz";
-      sha256 = "1j2bs3ybl2lz3yr862kz4jnkiksawbyv96lsjvzgkalmri3y2jv9";
-      name = "akonadi-calendar-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/akonadi-calendar-18.04.1.tar.xz";
+      sha256 = "0anmy67dc85afc0aq6y813c6xjr0jnkzsh56889zyz8z7k9xpg2q";
+      name = "akonadi-calendar-18.04.1.tar.xz";
     };
   };
   akonadi-calendar-tools = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/akonadi-calendar-tools-17.12.2.tar.xz";
-      sha256 = "0fh7zsf4ckmikqqwa3zqdd97i80s53r56bx8q0aj1dyxa5kzrid6";
-      name = "akonadi-calendar-tools-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/akonadi-calendar-tools-18.04.1.tar.xz";
+      sha256 = "1935d5nwq2s8ijc9nzp7rdsmbyl2b42xwx0vj7cz1835y4w3k2vn";
+      name = "akonadi-calendar-tools-18.04.1.tar.xz";
     };
   };
   akonadiconsole = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/akonadiconsole-17.12.2.tar.xz";
-      sha256 = "00w21nxbq9a9h1cs4wl0641hj82i3w63r9ab5hb9kw33gi9ijali";
-      name = "akonadiconsole-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/akonadiconsole-18.04.1.tar.xz";
+      sha256 = "032r5r5ksifigx8bk82yygvhji1xjx3dd6i7z7mpx5qlc1zmqjpk";
+      name = "akonadiconsole-18.04.1.tar.xz";
     };
   };
   akonadi-contacts = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/akonadi-contacts-17.12.2.tar.xz";
-      sha256 = "1v8082walg47bl8rj6zcp2br4wr0mhrw82l0aw41gmcwi2vr4pr7";
-      name = "akonadi-contacts-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/akonadi-contacts-18.04.1.tar.xz";
+      sha256 = "1y1qcndsrdphii048cpwnfnd185mywcaw1h1szq71q2ww2aapcmp";
+      name = "akonadi-contacts-18.04.1.tar.xz";
     };
   };
   akonadi-import-wizard = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/akonadi-import-wizard-17.12.2.tar.xz";
-      sha256 = "1yflksmvvysl3p3s37i0qc712cdzkzi501x74mk3c7sy1pw097g4";
-      name = "akonadi-import-wizard-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/akonadi-import-wizard-18.04.1.tar.xz";
+      sha256 = "150i8m7ngb6kdyixvzfgnjwyrs2xpsd53gy2x28091kg2kqb0nl4";
+      name = "akonadi-import-wizard-18.04.1.tar.xz";
     };
   };
   akonadi-mime = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/akonadi-mime-17.12.2.tar.xz";
-      sha256 = "0xsm87nph967293ixwnh1450qwrn0ghfcw34444fj8f4ciwbv0iv";
-      name = "akonadi-mime-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/akonadi-mime-18.04.1.tar.xz";
+      sha256 = "0ypfbrr8h2nypdyg8xxs4d53qlbq4kd3ph2yhafp80577xwhqgmw";
+      name = "akonadi-mime-18.04.1.tar.xz";
     };
   };
   akonadi-notes = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/akonadi-notes-17.12.2.tar.xz";
-      sha256 = "06ac7b1n3aaad7y1cbby44jaq748xnxfjd51c1jh0p257q22qj85";
-      name = "akonadi-notes-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/akonadi-notes-18.04.1.tar.xz";
+      sha256 = "0f4q6ls7z5ikf46v7m0wazdczay8y3yvscw1lnmq5qwnvdfyqcpd";
+      name = "akonadi-notes-18.04.1.tar.xz";
     };
   };
   akonadi-search = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/akonadi-search-17.12.2.tar.xz";
-      sha256 = "0g03z7xcbl25ylrflgkycfgyvny5hr8i38flirw9jidwy5zf1pny";
-      name = "akonadi-search-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/akonadi-search-18.04.1.tar.xz";
+      sha256 = "01mfj7s3kx5kcjbvj4hljfrmsbpfmfiq0r87cgzg6734c4mzjqsl";
+      name = "akonadi-search-18.04.1.tar.xz";
     };
   };
   akregator = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/akregator-17.12.2.tar.xz";
-      sha256 = "19grppwmspn7x84ygxscch3ydr5i6nanshi1pk4wr5z34g8qcxrc";
-      name = "akregator-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/akregator-18.04.1.tar.xz";
+      sha256 = "0h5pdbrwxa3n086yywqsm0m8x9p1s5jy2hgjivdilxgwnqcj6zpv";
+      name = "akregator-18.04.1.tar.xz";
     };
   };
   analitza = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/analitza-17.12.2.tar.xz";
-      sha256 = "128qcnzizcvrc1mknb5qdzricymxai2mxlrxb5h93cc14jwiivg1";
-      name = "analitza-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/analitza-18.04.1.tar.xz";
+      sha256 = "09y3zz6zn3cs5nn0i0dcx71jrm0lzz3g8af6nz118m6rz71wndnq";
+      name = "analitza-18.04.1.tar.xz";
     };
   };
   ark = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/ark-17.12.2.tar.xz";
-      sha256 = "0xh60mf1ygyhcc06w8g4nnrhqyjf88ji3kf8d5vfpdijq8m6gg8b";
-      name = "ark-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/ark-18.04.1.tar.xz";
+      sha256 = "10gpm90zsssygl65280z4p43ma75qjswiyv4drlrksydakxvvxk3";
+      name = "ark-18.04.1.tar.xz";
     };
   };
   artikulate = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/artikulate-17.12.2.tar.xz";
-      sha256 = "0plc81c7sc47392x183q30x39ksjr1wnjhlwy0ixngj2q9nhi6nn";
-      name = "artikulate-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/artikulate-18.04.1.tar.xz";
+      sha256 = "0brpb7ijqib7qp5ypvz9gkai7mwdxf915a7makklgzg80mdqnxpv";
+      name = "artikulate-18.04.1.tar.xz";
     };
   };
   audiocd-kio = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/audiocd-kio-17.12.2.tar.xz";
-      sha256 = "1n3n3ylwdm5yjv0hh43rmn3bn0q32xsbrl5wlbwgiijhpqd0ahkw";
-      name = "audiocd-kio-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/audiocd-kio-18.04.1.tar.xz";
+      sha256 = "1g3waj7xb14fgb75b0zzhbai93yqv5r1p0n0j3rwhfg9bvkgqgpa";
+      name = "audiocd-kio-18.04.1.tar.xz";
     };
   };
   baloo-widgets = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/baloo-widgets-17.12.2.tar.xz";
-      sha256 = "0pw153cy606dggkq2njk6fs5yp6a9jlkwpp7vckd9jl5s6pbsqd2";
-      name = "baloo-widgets-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/baloo-widgets-18.04.1.tar.xz";
+      sha256 = "1bq2n7lpldi2qiwdgx6l78m41whdjd41n1247985d1cr62bsn5cq";
+      name = "baloo-widgets-18.04.1.tar.xz";
     };
   };
   blinken = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/blinken-17.12.2.tar.xz";
-      sha256 = "008pmr3g553xd4mcdmby0fqzp8vk651dji3c8zkad94560xysm71";
-      name = "blinken-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/blinken-18.04.1.tar.xz";
+      sha256 = "0sgaipxfzwjfikyj2r47vp0192s8v0zll2x61i9z6p6lzq7glw0j";
+      name = "blinken-18.04.1.tar.xz";
     };
   };
   bomber = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/bomber-17.12.2.tar.xz";
-      sha256 = "1rdxr7w2p3r1gviqsmshx6n07gzsc3ymz6drhqk3kacqwgnnr72y";
-      name = "bomber-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/bomber-18.04.1.tar.xz";
+      sha256 = "13ivb42jq2864vdpajds3cwjhhml7ikww66z1r6j4wp8mlmdlnal";
+      name = "bomber-18.04.1.tar.xz";
     };
   };
   bovo = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/bovo-17.12.2.tar.xz";
-      sha256 = "0rhj0w7li1rsfjmrivr6g6z9ja408v59pk5rpci4344piaqglrqm";
-      name = "bovo-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/bovo-18.04.1.tar.xz";
+      sha256 = "1lm465vcmf4glql9krxl36sr6msgayqkzinammw9ian1wmih9qbn";
+      name = "bovo-18.04.1.tar.xz";
     };
   };
   calendarsupport = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/calendarsupport-17.12.2.tar.xz";
-      sha256 = "0c6i8gqjdgc9s3mz351qjxwv6fsk3098i7ni6x4bhh5shg863vnr";
-      name = "calendarsupport-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/calendarsupport-18.04.1.tar.xz";
+      sha256 = "02zw1hyqwy031bg0nyxjvayjfamm0z9iw9v9f71hfrsi9siyf77a";
+      name = "calendarsupport-18.04.1.tar.xz";
     };
   };
   cantor = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/cantor-17.12.2.tar.xz";
-      sha256 = "1b055fcbpqs4fwwyj0pywv5y8pfpg3ha5382d4hhrpvpc8xwjn6c";
-      name = "cantor-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/cantor-18.04.1.tar.xz";
+      sha256 = "1hcdf755yzs8kz6qbxan47gn622pg137sqabfbvqjflnphzz7f08";
+      name = "cantor-18.04.1.tar.xz";
     };
   };
   cervisia = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/cervisia-17.12.2.tar.xz";
-      sha256 = "1iqkp7d3wkmi0wfxsx2k20qblkmk6m1ndh472bxn6vvfaii2dqmm";
-      name = "cervisia-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/cervisia-18.04.1.tar.xz";
+      sha256 = "03slkk30k747f73dk98q4b930m7w1cimim053hl9y50n1c63n021";
+      name = "cervisia-18.04.1.tar.xz";
     };
   };
   dolphin = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/dolphin-17.12.2.tar.xz";
-      sha256 = "1pmfix569996minfc8rrjdbfvybm1a5bnljk0gxybahlainxwjp4";
-      name = "dolphin-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/dolphin-18.04.1.tar.xz";
+      sha256 = "11wm2wqmkni798xj6g8z7r6qyfy6db9k7xwnp90k2g1qb5n0xnsh";
+      name = "dolphin-18.04.1.tar.xz";
     };
   };
   dolphin-plugins = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/dolphin-plugins-17.12.2.tar.xz";
-      sha256 = "03637pxjf0kjbw831vvdj3lk3msvn6y3gkildsr1490v60cl2f2c";
-      name = "dolphin-plugins-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/dolphin-plugins-18.04.1.tar.xz";
+      sha256 = "00azpyy8xh0d62vayj04l3cbwxgxax430wh35jbv828vng3d2pfc";
+      name = "dolphin-plugins-18.04.1.tar.xz";
     };
   };
   dragon = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/dragon-17.12.2.tar.xz";
-      sha256 = "03z263agwrkpqf1l3xpfmgxjzqs6icwxv22bp5shzlyiq5dvmq0d";
-      name = "dragon-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/dragon-18.04.1.tar.xz";
+      sha256 = "1phrgssp3x11dmg07yvyi1hsmigfw8q6bblsizr9xm0pvmgrdjl0";
+      name = "dragon-18.04.1.tar.xz";
     };
   };
   eventviews = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/eventviews-17.12.2.tar.xz";
-      sha256 = "1y1d8flzmi3mm15gc2q2925f1z17lcm5b8difd65z7rji4ra9rg6";
-      name = "eventviews-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/eventviews-18.04.1.tar.xz";
+      sha256 = "0jq1adi764a4w1kszhbdm49dylbwai4ipasjyrkqnf85xly48g40";
+      name = "eventviews-18.04.1.tar.xz";
     };
   };
   ffmpegthumbs = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/ffmpegthumbs-17.12.2.tar.xz";
-      sha256 = "098w62hvjqkq9iixbipg1wl0091d0fnb49jm874k4d68mpvlmmf2";
-      name = "ffmpegthumbs-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/ffmpegthumbs-18.04.1.tar.xz";
+      sha256 = "06ls31wxgvnc4c7bc3ba14w4w64b9x37q3zmcnslyydghhnr0qnn";
+      name = "ffmpegthumbs-18.04.1.tar.xz";
     };
   };
   filelight = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/filelight-17.12.2.tar.xz";
-      sha256 = "1ysh5rb9irgha62iw1yiw5f4fxanym9swgc8sd9cdlmkqm6km27m";
-      name = "filelight-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/filelight-18.04.1.tar.xz";
+      sha256 = "1w169433m5823h1axn4ami9hk4rimi87ypiqagyyl13bncb7s6as";
+      name = "filelight-18.04.1.tar.xz";
     };
   };
   granatier = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/granatier-17.12.2.tar.xz";
-      sha256 = "1c86vh6jx991ig1n6n591r9va8rs029gd83m6y9appavi43aylkv";
-      name = "granatier-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/granatier-18.04.1.tar.xz";
+      sha256 = "0q5a2w2bz40qnk7jpcknsc4758k91cd1rh3rxa4v4wlq51id7lzz";
+      name = "granatier-18.04.1.tar.xz";
     };
   };
   grantlee-editor = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/grantlee-editor-17.12.2.tar.xz";
-      sha256 = "1x4rn8liz083y8h3in743xrmk3caqcn75ba97f8ymaap0f48nly6";
-      name = "grantlee-editor-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/grantlee-editor-18.04.1.tar.xz";
+      sha256 = "0ysirk51y993jxvvk98h2r9awsc4zyijavfja6zl0gsnvwwrjnjs";
+      name = "grantlee-editor-18.04.1.tar.xz";
     };
   };
   grantleetheme = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/grantleetheme-17.12.2.tar.xz";
-      sha256 = "0cpmd8glpjpg62h2qcngaks6adahfcbf9aikm9y4gwqbsmglqjkx";
-      name = "grantleetheme-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/grantleetheme-18.04.1.tar.xz";
+      sha256 = "0gzsxxywaqs6lc111hsw736p6gz55xs77v9bpk48igk37r9a0rs8";
+      name = "grantleetheme-18.04.1.tar.xz";
     };
   };
   gwenview = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/gwenview-17.12.2.tar.xz";
-      sha256 = "0cpv7wlbkm20vch1d4m49kxk02by9zh9lbdcli5p6bgp8mnvpxgr";
-      name = "gwenview-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/gwenview-18.04.1.tar.xz";
+      sha256 = "0wyxwqsf2nynz4h87lgy1xla8nj7mi94b997pmp70jzy4936l8bi";
+      name = "gwenview-18.04.1.tar.xz";
     };
   };
   incidenceeditor = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/incidenceeditor-17.12.2.tar.xz";
-      sha256 = "1qlghzfc4lg69p5014f3zj6k0lgy57n0lg063b804nqy0378xra2";
-      name = "incidenceeditor-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/incidenceeditor-18.04.1.tar.xz";
+      sha256 = "0kc18pml59mhn9bn0g96mw46dmxq7crgn4033dxsfczak0kdr474";
+      name = "incidenceeditor-18.04.1.tar.xz";
     };
   };
   juk = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/juk-17.12.2.tar.xz";
-      sha256 = "1wa52sysy3hr7n5r59vb9qqnac73fcy2dc3zl51ba9da8lz8q0lj";
-      name = "juk-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/juk-18.04.1.tar.xz";
+      sha256 = "01zgxxx00hxag29883xfgw4r0m4j66iwr83bap55ni018xgkf4c3";
+      name = "juk-18.04.1.tar.xz";
     };
   };
   k3b = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/k3b-17.12.2.tar.xz";
-      sha256 = "0ryzchkk37yzihfhra5xh5sj2k46bdlspi9i2zfs63q3n32jyfww";
-      name = "k3b-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/k3b-18.04.1.tar.xz";
+      sha256 = "0py84q63r40mh8pp0r70gzwidfxv9kj5firvr7pp59rk9fsxznl7";
+      name = "k3b-18.04.1.tar.xz";
     };
   };
   kaccounts-integration = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/kaccounts-integration-17.12.2.tar.xz";
-      sha256 = "14mipln6ppg88yipwvyc6ainj250ss6xynh9smxbji533wyg72c5";
-      name = "kaccounts-integration-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/kaccounts-integration-18.04.1.tar.xz";
+      sha256 = "1abyhaa7gj2admk6kf555sbwzc7yha3ql41dhw4j3k6kpzkqk9zj";
+      name = "kaccounts-integration-18.04.1.tar.xz";
     };
   };
   kaccounts-providers = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/kaccounts-providers-17.12.2.tar.xz";
-      sha256 = "1lapgxlgzymrdl8swn2prrlrmz5xgmkhmv7hx8fpxpc3cpfyvfsd";
-      name = "kaccounts-providers-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/kaccounts-providers-18.04.1.tar.xz";
+      sha256 = "15ygghq434qkj1z5iislm8fz0m8z6rkpiyrcjbmqs0cw4s0mqzp6";
+      name = "kaccounts-providers-18.04.1.tar.xz";
     };
   };
   kaddressbook = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/kaddressbook-17.12.2.tar.xz";
-      sha256 = "1b5a5ypmf0jr9si5cx01h52aql26v6cv16wzrrb6vhxqzksmwriw";
-      name = "kaddressbook-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/kaddressbook-18.04.1.tar.xz";
+      sha256 = "0w02gc9l8jhzf15ljig83ddbkzf430k1qbqp821b3rz5s20gg4m5";
+      name = "kaddressbook-18.04.1.tar.xz";
     };
   };
   kajongg = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/kajongg-17.12.2.tar.xz";
-      sha256 = "15vnin2rg63c60injxqkx0jp5sy1hjmh5rys3qq40wy0bm41pwai";
-      name = "kajongg-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/kajongg-18.04.1.tar.xz";
+      sha256 = "1vpkj42ylzpakrqy84hkp0hvj4q4x7wnarwwqqj8xp4xi40na481";
+      name = "kajongg-18.04.1.tar.xz";
     };
   };
   kalarm = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/kalarm-17.12.2.tar.xz";
-      sha256 = "1vvayib91mh73kqc0linzqlwa1l9jlc2wsih80bzzglaaxbi4l7z";
-      name = "kalarm-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/kalarm-18.04.1.tar.xz";
+      sha256 = "0v6maszs79959jkciy5j9xnqggr9ymjzvsibr1j5s30kynlzpxkm";
+      name = "kalarm-18.04.1.tar.xz";
     };
   };
   kalarmcal = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/kalarmcal-17.12.2.tar.xz";
-      sha256 = "04js601j477jwa5lhqdxq9gaacd7bf5ladgy3k64dwns5mx1j762";
-      name = "kalarmcal-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/kalarmcal-18.04.1.tar.xz";
+      sha256 = "1j04wdb6vg2896hb8y28lm8sna0lil8021i2kw97crfhramldvjk";
+      name = "kalarmcal-18.04.1.tar.xz";
     };
   };
   kalgebra = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/kalgebra-17.12.2.tar.xz";
-      sha256 = "10vfzwmz0l7yvmy8gjwcb3dnpqyfngj47knb5knvkibqzij6p4w4";
-      name = "kalgebra-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/kalgebra-18.04.1.tar.xz";
+      sha256 = "0gg1fb4cgnnrxyrm554847kpa1bs57zgi9ia8f9wmcivyd35vvyf";
+      name = "kalgebra-18.04.1.tar.xz";
     };
   };
   kalzium = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/kalzium-17.12.2.tar.xz";
-      sha256 = "0rdq2cpq5mzl3qrj3ll1d0qixaiygl5x277wlr5fg9cngi51v58x";
-      name = "kalzium-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/kalzium-18.04.1.tar.xz";
+      sha256 = "00x2jql639rmbvcfj72yjmfb98f9msfwi2g2mqyww43ja3c835ic";
+      name = "kalzium-18.04.1.tar.xz";
     };
   };
   kamera = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/kamera-17.12.2.tar.xz";
-      sha256 = "070kvaij5chk8nkap9nm1rrilq3sc32q7ysnrld9bssbfi9m73v7";
-      name = "kamera-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/kamera-18.04.1.tar.xz";
+      sha256 = "1ra7hdvs6fnkbzqvm5sryk6ymlgj0ngsg98yhznda0qvrrkgfahg";
+      name = "kamera-18.04.1.tar.xz";
+    };
+  };
+  kamoso = {
+    version = "18.04.1";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/18.04.1/src/kamoso-18.04.1.tar.xz";
+      sha256 = "1rd08647zx2k7xq8jclxsk0dgjgdaih6fxmnrd7awzjmj0qh89a7";
+      name = "kamoso-18.04.1.tar.xz";
     };
   };
   kanagram = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/kanagram-17.12.2.tar.xz";
-      sha256 = "1300wg5k6x6s1wgmavywcwyqgv68xv0qv6hkqawvzsd61zfhxcr3";
-      name = "kanagram-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/kanagram-18.04.1.tar.xz";
+      sha256 = "0g4zmr10jq9vw92z9nbfvigz6pbjg1p1zc1aspwlh38ajk8sr3gb";
+      name = "kanagram-18.04.1.tar.xz";
     };
   };
   kapman = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/kapman-17.12.2.tar.xz";
-      sha256 = "0njf1017dnf4xl801xinfgfmqqpjf3ifnpwchg35zm2qlrlwhmyi";
-      name = "kapman-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/kapman-18.04.1.tar.xz";
+      sha256 = "14s2kg50r9nlg53vsi1x59kc8z1rgnqcq028a6zwfnv0sdsa7pw5";
+      name = "kapman-18.04.1.tar.xz";
     };
   };
   kapptemplate = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/kapptemplate-17.12.2.tar.xz";
-      sha256 = "16p63zil3vaa5q2q01010gshn6a58kbmayks27kdgvsfdavgdh51";
-      name = "kapptemplate-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/kapptemplate-18.04.1.tar.xz";
+      sha256 = "064pw1fkbm52pkcg9hyay8mkraw3fdlycgx306p9brahvxb9xjsb";
+      name = "kapptemplate-18.04.1.tar.xz";
     };
   };
   kate = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/kate-17.12.2.tar.xz";
-      sha256 = "1w3pswd3gpjpa55xy98yq39nck775mfv5i9lcvm8y15x1233rr6p";
-      name = "kate-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/kate-18.04.1.tar.xz";
+      sha256 = "1xbckjsp5imxcda8vrdb5flgb5sjmdylwy1yr5v01nilmqgpmwa8";
+      name = "kate-18.04.1.tar.xz";
     };
   };
   katomic = {
-    version = "17.12.2";
+    version = "18.04.1";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/18.04.1/src/katomic-18.04.1.tar.xz";
+      sha256 = "0g3kkibgnxkg5zxgja7rqad57fpw28qapf8rlbczkmxls581ifw6";
+      name = "katomic-18.04.1.tar.xz";
+    };
+  };
+  kbackup = {
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/katomic-17.12.2.tar.xz";
-      sha256 = "0jhmszbq0rslwg8b8aq0vjynjlkg491di661k2b6yrsfqr4vmngw";
-      name = "katomic-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/kbackup-18.04.1.tar.xz";
+      sha256 = "1gv5m4d6zcadamcicllfp8smm7k4846a2qy4pgm006lhk390bsyz";
+      name = "kbackup-18.04.1.tar.xz";
     };
   };
   kblackbox = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/kblackbox-17.12.2.tar.xz";
-      sha256 = "07bvmcfm3r4dj41dvsaba4rig2i9yilshrzl3wwprsjajmx4j6rf";
-      name = "kblackbox-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/kblackbox-18.04.1.tar.xz";
+      sha256 = "0hv6ziw2dy88fbc1z0vlflagsrr7x97r9c5l4w9v4acr0ih7ms7h";
+      name = "kblackbox-18.04.1.tar.xz";
     };
   };
   kblocks = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/kblocks-17.12.2.tar.xz";
-      sha256 = "019h8rxv9p1ynby7bshr2yzrcn415magwlzmyrwvh5hzjjp0bmm9";
-      name = "kblocks-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/kblocks-18.04.1.tar.xz";
+      sha256 = "12339f1g73h3qg9a21kqmkqp6ywiw1gvnwdww45dzflf4w931lsw";
+      name = "kblocks-18.04.1.tar.xz";
     };
   };
   kblog = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/kblog-17.12.2.tar.xz";
-      sha256 = "1s2py5ll879zxcl6l7y2jryy1z29wljwm8hrgr52f8xr22vspbjc";
-      name = "kblog-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/kblog-18.04.1.tar.xz";
+      sha256 = "1gndfvny1zh2w1daxmpix5sn2wlbc2430m3a21lvgp3qmhb5rwkr";
+      name = "kblog-18.04.1.tar.xz";
     };
   };
   kbounce = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/kbounce-17.12.2.tar.xz";
-      sha256 = "0rb9p8q0zwwfx70cxfcdbr9h3i8gag0da8nql6nnd37v2wcr4i82";
-      name = "kbounce-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/kbounce-18.04.1.tar.xz";
+      sha256 = "0qjbzmjgcvxbpvbqxyyh02pk5hr6z871n13awsq770xwbr1pdnwc";
+      name = "kbounce-18.04.1.tar.xz";
     };
   };
   kbreakout = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/kbreakout-17.12.2.tar.xz";
-      sha256 = "1j9gfzgdjhfd4jz2x3qgbd4jwfix0m1qx5lnlbkbxnff5jkw68sh";
-      name = "kbreakout-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/kbreakout-18.04.1.tar.xz";
+      sha256 = "0yr9hwlwdp1fi2parzniyq5rfv4fxbxxs63xfggaz7ndbm1h8bif";
+      name = "kbreakout-18.04.1.tar.xz";
     };
   };
   kbruch = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/kbruch-17.12.2.tar.xz";
-      sha256 = "0q95i474lgbl6phshbw7f89kik8hk9k8j8vpbzy3cchwn7dmg3p3";
-      name = "kbruch-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/kbruch-18.04.1.tar.xz";
+      sha256 = "08wb7f2jhz3dkx22sj2k4sairl715nrk7c2swd88dcaskcy411nk";
+      name = "kbruch-18.04.1.tar.xz";
     };
   };
   kcachegrind = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/kcachegrind-17.12.2.tar.xz";
-      sha256 = "02nx8vqvl62vdm311r4akcckzl1w4c47phl3ybswygrakik7vf2a";
-      name = "kcachegrind-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/kcachegrind-18.04.1.tar.xz";
+      sha256 = "1mig7xm67w3vwslymbfm51w8w9cnqzk41kqp998j6g7dfrh8476g";
+      name = "kcachegrind-18.04.1.tar.xz";
     };
   };
   kcalc = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/kcalc-17.12.2.tar.xz";
-      sha256 = "13h4c97qz8g7z4r5kb4js6sjzdgr3s4mabzr16qkwmmg4lwvzcp8";
-      name = "kcalc-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/kcalc-18.04.1.tar.xz";
+      sha256 = "14j2w9w31cqmsls3zrgifywbz5bxkzkryggfd1jxiz9q526ylpxy";
+      name = "kcalc-18.04.1.tar.xz";
     };
   };
   kcalcore = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/kcalcore-17.12.2.tar.xz";
-      sha256 = "06z7xd0a8pz75zx1l2hcban39rc6dmxhhwhgidfglkj3l2xzw927";
-      name = "kcalcore-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/kcalcore-18.04.1.tar.xz";
+      sha256 = "0q23pb9pkii6czk3angl3xzlzc90fck1pwc05695rz90iwbxq62x";
+      name = "kcalcore-18.04.1.tar.xz";
     };
   };
   kcalutils = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/kcalutils-17.12.2.tar.xz";
-      sha256 = "11vp32f53by2gc7zv08zq0z591rw4srmmjmiafds8hvx76ry3dsl";
-      name = "kcalutils-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/kcalutils-18.04.1.tar.xz";
+      sha256 = "05ma56f0ly8nq62p6nlzkscdq5m93142kakhqrsl17c902bvkcmm";
+      name = "kcalutils-18.04.1.tar.xz";
     };
   };
   kcharselect = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/kcharselect-17.12.2.tar.xz";
-      sha256 = "1gbr6gvp2vwgvns83pmg5idhwhixyw9yqyr6nn61qf43f97nkdiy";
-      name = "kcharselect-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/kcharselect-18.04.1.tar.xz";
+      sha256 = "0pv22v1x3n73rxzpihsxz5xxy1c37lq72jcscwylwmwfyszmvdwx";
+      name = "kcharselect-18.04.1.tar.xz";
     };
   };
   kcolorchooser = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/kcolorchooser-17.12.2.tar.xz";
-      sha256 = "0jjzpm82jy9f4qf5sf5v24vk50y4qq2sj42zn057v0kwlpwzvrr9";
-      name = "kcolorchooser-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/kcolorchooser-18.04.1.tar.xz";
+      sha256 = "1wzy9a3pz0jwwmgbqxqlfii0faascrxnxq398wzrnx955shlksbm";
+      name = "kcolorchooser-18.04.1.tar.xz";
     };
   };
   kcontacts = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/kcontacts-17.12.2.tar.xz";
-      sha256 = "0hg442jg0rb7fsy67fg44551c02gx3i7znwl6cgr9nzlxj5srhyq";
-      name = "kcontacts-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/kcontacts-18.04.1.tar.xz";
+      sha256 = "0725cad646qzpgpvxl0vyb1a4hpbk0b6zb3wbdim4al56y7x1rxh";
+      name = "kcontacts-18.04.1.tar.xz";
     };
   };
   kcron = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/kcron-17.12.2.tar.xz";
-      sha256 = "1h1bkicvfbz7s0n36iw5pilqrv2vfzl3rwqx6r0wa10341sx8wc3";
-      name = "kcron-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/kcron-18.04.1.tar.xz";
+      sha256 = "1wlk36s6i53vk4crrvijbfmagh5d8sjbmcacdwdcf4vlb56kxphr";
+      name = "kcron-18.04.1.tar.xz";
     };
   };
   kdav = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/kdav-17.12.2.tar.xz";
-      sha256 = "1jlw2l6jd2rhf7swl7bwlsphp1xddb0f9xzkpa6dxw4cimfz4r7l";
-      name = "kdav-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/kdav-18.04.1.tar.xz";
+      sha256 = "16abp767h4rs35yj0j8kgmhm4k09cidnsmh1ihx2b53ya1ivmv9b";
+      name = "kdav-18.04.1.tar.xz";
     };
   };
   kdebugsettings = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/kdebugsettings-17.12.2.tar.xz";
-      sha256 = "1a9yy42x16maj60wh7x19248gp1x4diybj9k2gkmlf7hd8g82m4b";
-      name = "kdebugsettings-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/kdebugsettings-18.04.1.tar.xz";
+      sha256 = "1bz5wcap6kqjv6164zm7wcm31q634785lqlarsc5hqld5xjgr7ig";
+      name = "kdebugsettings-18.04.1.tar.xz";
     };
   };
   kde-dev-scripts = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/kde-dev-scripts-17.12.2.tar.xz";
-      sha256 = "181s9cf1kqx35w9cza40svgzbqvhz48f858r0rxvl6klzm7rrqmn";
-      name = "kde-dev-scripts-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/kde-dev-scripts-18.04.1.tar.xz";
+      sha256 = "08wsj1h44lmvvv43k9l3mxvi2hr498hz3d22z0bwcdjaqgvy60r5";
+      name = "kde-dev-scripts-18.04.1.tar.xz";
     };
   };
   kde-dev-utils = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/kde-dev-utils-17.12.2.tar.xz";
-      sha256 = "044w9az0jnc7lhlgyiqxsl5lgfzbnrfrdvsr2918idy2niif7cjq";
-      name = "kde-dev-utils-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/kde-dev-utils-18.04.1.tar.xz";
+      sha256 = "13wpa4xrkm3711vdwjkklibaf7as64klw4hpq9s9vx33ma73sf9a";
+      name = "kde-dev-utils-18.04.1.tar.xz";
     };
   };
   kdeedu-data = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/kdeedu-data-17.12.2.tar.xz";
-      sha256 = "1sdldx357ifv4sqwa8yrcjxyricb0kk21gvj9472bi28rcgyxqgv";
-      name = "kdeedu-data-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/kdeedu-data-18.04.1.tar.xz";
+      sha256 = "1ccf8bjd2fc2chgf63bwg91c0r4acxf40w81rssi83wjvnhg4d5j";
+      name = "kdeedu-data-18.04.1.tar.xz";
     };
   };
   kdegraphics-mobipocket = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/kdegraphics-mobipocket-17.12.2.tar.xz";
-      sha256 = "1jx5ir1q12s939m0nndhxwiarfr6r7ma79dy9fn5bbhdjgjqf7fq";
-      name = "kdegraphics-mobipocket-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/kdegraphics-mobipocket-18.04.1.tar.xz";
+      sha256 = "1y9bjnpbpriyhs007wli7m0q5g9wv2d7izp0qxk4xzmrrw7k5v51";
+      name = "kdegraphics-mobipocket-18.04.1.tar.xz";
     };
   };
   kdegraphics-thumbnailers = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/kdegraphics-thumbnailers-17.12.2.tar.xz";
-      sha256 = "0d6cf2mhblxgnhv432x9rgk5k73fhpa20xajn6nfawxkmpkzngsy";
-      name = "kdegraphics-thumbnailers-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/kdegraphics-thumbnailers-18.04.1.tar.xz";
+      sha256 = "06798hwxyd2xvf3aiigwzd53frzi0mqxsbxliznqxxjvk5lcp1ha";
+      name = "kdegraphics-thumbnailers-18.04.1.tar.xz";
     };
   };
   kdenetwork-filesharing = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/kdenetwork-filesharing-17.12.2.tar.xz";
-      sha256 = "1ghdskmc0ynjb1a4qid9vjjcl8nmyqvr5x6aryzz9g1rmm6vv8l5";
-      name = "kdenetwork-filesharing-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/kdenetwork-filesharing-18.04.1.tar.xz";
+      sha256 = "18dilp18312v1zbrfq5rq223s6cy2lmdmgvp2hg5a25rmldw1yiw";
+      name = "kdenetwork-filesharing-18.04.1.tar.xz";
     };
   };
   kdenlive = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/kdenlive-17.12.2.tar.xz";
-      sha256 = "1l2sv78wwfwrya486sm4iszkm1hsj473a5gpkgay66h4qb968w70";
-      name = "kdenlive-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/kdenlive-18.04.1.tar.xz";
+      sha256 = "059xqybn3r1w432mbnxx5ds1whj5x23ym2lm90wg23b9hmmmhxl3";
+      name = "kdenlive-18.04.1.tar.xz";
     };
   };
   kdepim-addons = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/kdepim-addons-17.12.2.tar.xz";
-      sha256 = "185qargpzlmphq5afzvw0pcmas8ska2cnnbv5rpicmg8q01ixnm7";
-      name = "kdepim-addons-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/kdepim-addons-18.04.1.tar.xz";
+      sha256 = "1qninnlhwmkw6nxxymjww1x7krm87nz5m6p66y3ghrgyl0q16k7b";
+      name = "kdepim-addons-18.04.1.tar.xz";
     };
   };
   kdepim-apps-libs = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/kdepim-apps-libs-17.12.2.tar.xz";
-      sha256 = "0zn620bv551lgl6sx9g4f8ncpv5hs231jbrzkiwqw6y74xw5qq7g";
-      name = "kdepim-apps-libs-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/kdepim-apps-libs-18.04.1.tar.xz";
+      sha256 = "1a41km8nhgrc24qlgh64560p8il6q9dlcmy25x92s1xmpn1zg1lc";
+      name = "kdepim-apps-libs-18.04.1.tar.xz";
     };
   };
   kdepim-runtime = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/kdepim-runtime-17.12.2.tar.xz";
-      sha256 = "1z11ac0l4n80nybsnfk716c88ah2l7g1fsz5xmzvv6pcmhm2q94j";
-      name = "kdepim-runtime-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/kdepim-runtime-18.04.1.tar.xz";
+      sha256 = "0gl2wkkaxpz13rg6zyclcjkc0i7qwqwxcvamgb3cl6l6qkp869w1";
+      name = "kdepim-runtime-18.04.1.tar.xz";
     };
   };
   kdesdk-kioslaves = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/kdesdk-kioslaves-17.12.2.tar.xz";
-      sha256 = "09r7iqqvil2sjfzdnq64075gmm7wxd705j00qxfch99ja3nf4961";
-      name = "kdesdk-kioslaves-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/kdesdk-kioslaves-18.04.1.tar.xz";
+      sha256 = "1mx3pg36mx0b6v2kq3a3spxm40rdk4bgkhzzjwphppqkxc57bgln";
+      name = "kdesdk-kioslaves-18.04.1.tar.xz";
     };
   };
   kdesdk-thumbnailers = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/kdesdk-thumbnailers-17.12.2.tar.xz";
-      sha256 = "1j8gqwcs65cfpaqvny29yqzsgjbjmxrafnf4ggc1bjaz2p63blni";
-      name = "kdesdk-thumbnailers-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/kdesdk-thumbnailers-18.04.1.tar.xz";
+      sha256 = "0s07h5kfl2h2w0qarz28362n92jdbbq7iw4cy93p949mp6jz1xij";
+      name = "kdesdk-thumbnailers-18.04.1.tar.xz";
     };
   };
   kdf = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/kdf-17.12.2.tar.xz";
-      sha256 = "07379lagrl7hhh05dixd4ldqiy9pwmw0yai8sgcbfi3kgcns9c6a";
-      name = "kdf-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/kdf-18.04.1.tar.xz";
+      sha256 = "1hmq92vglivs9q536g3qx0b7v3g7nlvkly81p8brqs55cw0npf8d";
+      name = "kdf-18.04.1.tar.xz";
     };
   };
   kdialog = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/kdialog-17.12.2.tar.xz";
-      sha256 = "1pwicn5jsg3jwqqkrjhaxbcd9762k9fj4w51ahglby04c4cca38a";
-      name = "kdialog-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/kdialog-18.04.1.tar.xz";
+      sha256 = "0xmdzwawa43xfv9a2sm2rijiiik7b0cvpbcxvwf7s37gwrw5fk05";
+      name = "kdialog-18.04.1.tar.xz";
     };
   };
   kdiamond = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/kdiamond-17.12.2.tar.xz";
-      sha256 = "03m91x6rgh3wd8mim41d08x1c06ndg9vkciyl6nkj4iyflwwy0rp";
-      name = "kdiamond-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/kdiamond-18.04.1.tar.xz";
+      sha256 = "12z0v4w8adlzsnymn5dsc1fpgqx2w3hx38chwc7l2l5bvgx5ycc1";
+      name = "kdiamond-18.04.1.tar.xz";
     };
   };
   keditbookmarks = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/keditbookmarks-17.12.2.tar.xz";
-      sha256 = "1aqqd2lvdbqhnzz28axv9j84s7i7cxrs39zyaia7cwzbbgymkal1";
-      name = "keditbookmarks-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/keditbookmarks-18.04.1.tar.xz";
+      sha256 = "1qi8y5j9s9d4i6vqvw5h29b55q73zfgj4v76dxdl1z85ghcv0my4";
+      name = "keditbookmarks-18.04.1.tar.xz";
     };
   };
   kfind = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/kfind-17.12.2.tar.xz";
-      sha256 = "0zxm5fjf6xzl871gjbs5nzp6h5j4qm47ygfq644jqbi9f3z2in74";
-      name = "kfind-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/kfind-18.04.1.tar.xz";
+      sha256 = "15fha4k00s88n0k7ad0bnw9iyyjyxlhjmnlcr84hfbh6wiwn4l4k";
+      name = "kfind-18.04.1.tar.xz";
     };
   };
   kfloppy = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/kfloppy-17.12.2.tar.xz";
-      sha256 = "0s25jbngh6zipxm16kffvwyd1ircnf0xjsh20lm08i9kh4jcicgq";
-      name = "kfloppy-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/kfloppy-18.04.1.tar.xz";
+      sha256 = "0rw3r09zil7121ssms1mvccw435nmmgmz0zx0rmfvpk6bks0cim9";
+      name = "kfloppy-18.04.1.tar.xz";
     };
   };
   kfourinline = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/kfourinline-17.12.2.tar.xz";
-      sha256 = "0cqlqab9sazhvvsdyvwzdzrjccvlbxwq2p1n6ki8g8i6707mx3hc";
-      name = "kfourinline-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/kfourinline-18.04.1.tar.xz";
+      sha256 = "0gm8s8gi9nnilcvmnz4gk26wrszjg7y8xfq4dyqw87axwaqcv2z6";
+      name = "kfourinline-18.04.1.tar.xz";
     };
   };
   kgeography = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/kgeography-17.12.2.tar.xz";
-      sha256 = "1mf5zr4cwnnrvsad4mq0mr6p3v38payajagc2whfl1lmcg82f2wl";
-      name = "kgeography-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/kgeography-18.04.1.tar.xz";
+      sha256 = "16c2gidj8jc4xr35ph392gh4r75vfiqw7n07lpv30d6v3h1mq2jy";
+      name = "kgeography-18.04.1.tar.xz";
     };
   };
   kget = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/kget-17.12.2.tar.xz";
-      sha256 = "1fm5yzxxg7lihzgnl7207gfn9gz33ydk1axf8lmdhwwld14q25f9";
-      name = "kget-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/kget-18.04.1.tar.xz";
+      sha256 = "1kzvalb1a27bn9ac4iqkgar7fydspd9bhva3n0v9gzz34p3lv1f7";
+      name = "kget-18.04.1.tar.xz";
     };
   };
   kgoldrunner = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/kgoldrunner-17.12.2.tar.xz";
-      sha256 = "0dddzimh41xm6fvz1spl58gwff9vlx12h52kbfxdb2wz60zkg8wb";
-      name = "kgoldrunner-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/kgoldrunner-18.04.1.tar.xz";
+      sha256 = "0w1vppp0r1prciz6gg5srlj0z05m5wcbpp3wwz6wxh2vnpbm2lc1";
+      name = "kgoldrunner-18.04.1.tar.xz";
     };
   };
   kgpg = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/kgpg-17.12.2.tar.xz";
-      sha256 = "0r604acqm255xqjqg4islk30g62f8p9mj6haqp0iyw82239hbkp0";
-      name = "kgpg-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/kgpg-18.04.1.tar.xz";
+      sha256 = "0b2kngq4dqs3qxkvxny72sfm2xlbsmhb986zmpp0wsm09gd6lhyh";
+      name = "kgpg-18.04.1.tar.xz";
     };
   };
   khangman = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/khangman-17.12.2.tar.xz";
-      sha256 = "1wk0k4lbskgxrbv91032yg6n64ghir25128pphsy61m4v00jysg3";
-      name = "khangman-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/khangman-18.04.1.tar.xz";
+      sha256 = "1vcr5gp3gz0dygkn8dhkg3fpyqny8vc61nymwii4v247znhg7hw4";
+      name = "khangman-18.04.1.tar.xz";
     };
   };
   khelpcenter = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/khelpcenter-17.12.2.tar.xz";
-      sha256 = "0871xxril7dllks46f4a31dkiwmgjc8ajm2jpn5hfm3g2cbawlsd";
-      name = "khelpcenter-17.12.2.tar.xz";
-    };
-  };
-  kholidays = {
-    version = "17.12.2";
-    src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/kholidays-17.12.2.tar.xz";
-      sha256 = "0mn2bmjiy5k99g4yv0n61jklyp1105kmnvkf4ay28ha55zy95bbk";
-      name = "kholidays-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/khelpcenter-18.04.1.tar.xz";
+      sha256 = "00p3s5zmql82dwr4lmfy3yqyyn7h2209lhf49cajh01hd2nasig1";
+      name = "khelpcenter-18.04.1.tar.xz";
     };
   };
   kidentitymanagement = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/kidentitymanagement-17.12.2.tar.xz";
-      sha256 = "1s5xjgbp7vdww8k59s8h2mypi1d94n4kkphkgiybdq2gxpfq73pb";
-      name = "kidentitymanagement-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/kidentitymanagement-18.04.1.tar.xz";
+      sha256 = "1lb1vl3r7avj45lfrlabbbkq0f7anpx04g20ajn2n8ajfgjpns9q";
+      name = "kidentitymanagement-18.04.1.tar.xz";
     };
   };
   kig = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/kig-17.12.2.tar.xz";
-      sha256 = "1cphrji1l3c32j8wdr88y40fzkr9s20q79hlk4c4rhzkym7jgzhp";
-      name = "kig-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/kig-18.04.1.tar.xz";
+      sha256 = "1ry2rgmy7y4wyxwwz2f7qrj5aw5sjgv46vs4x5203v514p625nzw";
+      name = "kig-18.04.1.tar.xz";
     };
   };
   kigo = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/kigo-17.12.2.tar.xz";
-      sha256 = "0xz8nmhgx8iadwmqkm6469vw8vn9n74mk2fhmciqn8xn66r11g9d";
-      name = "kigo-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/kigo-18.04.1.tar.xz";
+      sha256 = "1l2bdxjv5kiz6f0gmqwd43jghps5l2cvw8228ay4l7r4r9wp0ihr";
+      name = "kigo-18.04.1.tar.xz";
     };
   };
   killbots = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/killbots-17.12.2.tar.xz";
-      sha256 = "140v8mwbkhv9fkqi0781mrk51fk00q5p1ad3p1rqgmhy0pzfvkg4";
-      name = "killbots-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/killbots-18.04.1.tar.xz";
+      sha256 = "06vqgahirw01zfbhr2dj5z7fd2jay3kizvl04wwwp1fr8jsw3plw";
+      name = "killbots-18.04.1.tar.xz";
     };
   };
   kimagemapeditor = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/kimagemapeditor-17.12.2.tar.xz";
-      sha256 = "16wyb80al1vp3macr2lrkh0f1l42jzm126mv2l5gbhd5qiwj6yag";
-      name = "kimagemapeditor-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/kimagemapeditor-18.04.1.tar.xz";
+      sha256 = "1144z9zasc3x678q8xnk98nn5y0bzaal0lxc6xb51ib4q8q2lhn1";
+      name = "kimagemapeditor-18.04.1.tar.xz";
     };
   };
   kimap = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/kimap-17.12.2.tar.xz";
-      sha256 = "15nbnjckmqa4kka012lvaziimgnr6vs5k361sjhdykvrvk4fhz13";
-      name = "kimap-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/kimap-18.04.1.tar.xz";
+      sha256 = "03y1n4rf7xdxb82716wijz196dk0rg8d50rs9kycymys9sgq5y0h";
+      name = "kimap-18.04.1.tar.xz";
     };
   };
   kio-extras = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/kio-extras-17.12.2.tar.xz";
-      sha256 = "0vc8wwx9cqs48hn1hf49fmz99xa4c8vhcqq58wmpq3bg62vfipyp";
-      name = "kio-extras-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/kio-extras-18.04.1.tar.xz";
+      sha256 = "0635iam41i5afjspw08x99irqfsj7pa1w8wz4nfbx9yv2iclq1rh";
+      name = "kio-extras-18.04.1.tar.xz";
     };
   };
   kiriki = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/kiriki-17.12.2.tar.xz";
-      sha256 = "1a427gja7y2s37a29jl1n4bx1xa2piqm7wwv7g7agaxm5j15qvx8";
-      name = "kiriki-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/kiriki-18.04.1.tar.xz";
+      sha256 = "0n258bvhd5cgb978zqqkig6is5fb9idvwa7n860q1r2nimsnch5y";
+      name = "kiriki-18.04.1.tar.xz";
     };
   };
   kiten = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/kiten-17.12.2.tar.xz";
-      sha256 = "0bcb65pcs3xv5pmr78zlxcbicxknvbf30h83i4f4qjxrq6iw8sf4";
-      name = "kiten-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/kiten-18.04.1.tar.xz";
+      sha256 = "1f6z5assiz6gxvhcp08x71qk3hyc36ib2sr6bmq0q7cbb7xlhbac";
+      name = "kiten-18.04.1.tar.xz";
     };
   };
   kjumpingcube = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/kjumpingcube-17.12.2.tar.xz";
-      sha256 = "0d2gdvjd0fxxdnpxfplw9gp69b1qx35w165srd79qcx17c2r7cdv";
-      name = "kjumpingcube-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/kjumpingcube-18.04.1.tar.xz";
+      sha256 = "0p4manwh4pndhdnb45fczllpsvswwwgvz1wk8grx2axq0x6pjjln";
+      name = "kjumpingcube-18.04.1.tar.xz";
     };
   };
   kldap = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/kldap-17.12.2.tar.xz";
-      sha256 = "177xg8ng4636gnppf4jf0m2amadlrz0n9bdmc7f6xnijchmda2p4";
-      name = "kldap-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/kldap-18.04.1.tar.xz";
+      sha256 = "0arriibg2flqr8rvd4fa8xd4rgr1rl3pwhxxskpfi4i3rl8w1a2i";
+      name = "kldap-18.04.1.tar.xz";
     };
   };
   kleopatra = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/kleopatra-17.12.2.tar.xz";
-      sha256 = "04c1w1la826dwjam19m12jg8l5c8641l7ad6injrbig1kja819v4";
-      name = "kleopatra-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/kleopatra-18.04.1.tar.xz";
+      sha256 = "0ayjxvm6sdg1waf44nw360nh740vi29c7m6frq2jyfbxn401x7p3";
+      name = "kleopatra-18.04.1.tar.xz";
     };
   };
   klettres = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/klettres-17.12.2.tar.xz";
-      sha256 = "16pi5r4s67j6pq5jjbyap7jrxxx5wrg7dr77391yk06s955rcfr1";
-      name = "klettres-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/klettres-18.04.1.tar.xz";
+      sha256 = "1vzr8pf6m24ng3kg44ld5hiap7qqfp2w1q7npyr6sq28rrm8jilb";
+      name = "klettres-18.04.1.tar.xz";
     };
   };
   klickety = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/klickety-17.12.2.tar.xz";
-      sha256 = "0rwmswrmwjizv9vw3bivh75wisy09icbykvwsi43zsapar9hs89l";
-      name = "klickety-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/klickety-18.04.1.tar.xz";
+      sha256 = "1wk6g4a8gmd1z8qqgy30s3f2zgq651dv38gnbk3949j81k92084m";
+      name = "klickety-18.04.1.tar.xz";
     };
   };
   klines = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/klines-17.12.2.tar.xz";
-      sha256 = "0nl5w65m7c46hjh0hvd76x7zf5c9qlqxqn8b96dzgrab6s9f96wf";
-      name = "klines-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/klines-18.04.1.tar.xz";
+      sha256 = "0zslagiphj37i79896k71j40125nz74qknx75sp3iv2wafy0akgf";
+      name = "klines-18.04.1.tar.xz";
     };
   };
   kmag = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/kmag-17.12.2.tar.xz";
-      sha256 = "0yxh4y5l6l528j2nz4wl0w8zmydayrgh1aracy1lymv65ww8qax2";
-      name = "kmag-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/kmag-18.04.1.tar.xz";
+      sha256 = "163i0axbnxkyqhbri6k48x9jsb5l5ll8hl0zvcsw0srh8bzswvgd";
+      name = "kmag-18.04.1.tar.xz";
     };
   };
   kmahjongg = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/kmahjongg-17.12.2.tar.xz";
-      sha256 = "06skr41bs29q19dm6j79h0x1l2szbr6gz9kn6s47s23wmyjkqdqr";
-      name = "kmahjongg-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/kmahjongg-18.04.1.tar.xz";
+      sha256 = "1zl1mr8pg6sz2ydqilgdbh3758vw13af37s9g8pi7axva8adf0fp";
+      name = "kmahjongg-18.04.1.tar.xz";
     };
   };
   kmail = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/kmail-17.12.2.tar.xz";
-      sha256 = "0kanmbb09x6cyswq7ws6cw7j117lqwqp3hvs9hipx7nyr38mhrlc";
-      name = "kmail-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/kmail-18.04.1.tar.xz";
+      sha256 = "057727gsrdf0pkn5n17km5ryjiw5rimxixff0dax939d9403qwfg";
+      name = "kmail-18.04.1.tar.xz";
     };
   };
   kmail-account-wizard = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/kmail-account-wizard-17.12.2.tar.xz";
-      sha256 = "1l7szmbhxrqj93cqvpaywgyql319n1wmw8acnca1aym9l79pns0s";
-      name = "kmail-account-wizard-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/kmail-account-wizard-18.04.1.tar.xz";
+      sha256 = "0qky1a0lrmy8mfiq0dqhrd8j7m1lc9p34ivx9vy4rr82r9g3y5jw";
+      name = "kmail-account-wizard-18.04.1.tar.xz";
     };
   };
   kmailtransport = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/kmailtransport-17.12.2.tar.xz";
-      sha256 = "1prrw61vz52wp8yb587xz1kd5rm6s6dry8i9zcs66aha5g7r0wj8";
-      name = "kmailtransport-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/kmailtransport-18.04.1.tar.xz";
+      sha256 = "09l79049dpkzc3iqdxv4jvglpynrq976gvr8n38k63mr5sajwg72";
+      name = "kmailtransport-18.04.1.tar.xz";
     };
   };
   kmbox = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/kmbox-17.12.2.tar.xz";
-      sha256 = "0q6217br3cpdwns6hiw5klnvkwwx7sd8gbl003clf4wkfnxpgqsb";
-      name = "kmbox-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/kmbox-18.04.1.tar.xz";
+      sha256 = "05zcnykb7asamqf8iqs63bl7jk5myywdqydhxz56jr19fw32lyqq";
+      name = "kmbox-18.04.1.tar.xz";
     };
   };
   kmime = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/kmime-17.12.2.tar.xz";
-      sha256 = "097xzsd7lld01iz1nziy8b9vv97xaz6vsl52d5809h0kxfpixw99";
-      name = "kmime-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/kmime-18.04.1.tar.xz";
+      sha256 = "1jlhlxw31c9g7z6yhqjsp76xm85ywrr0in4qazidwb9k8lkqxa7g";
+      name = "kmime-18.04.1.tar.xz";
     };
   };
   kmines = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/kmines-17.12.2.tar.xz";
-      sha256 = "00apcafaxh18rxk8d3r333mzjd0b6f7946kp6ffr1ps9c93mm3ab";
-      name = "kmines-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/kmines-18.04.1.tar.xz";
+      sha256 = "0i88pc7j18xighw8ii6gh5gxq9k2zy372ggdyany91dcjgmwhgw7";
+      name = "kmines-18.04.1.tar.xz";
     };
   };
   kmix = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/kmix-17.12.2.tar.xz";
-      sha256 = "096dbmywdhgcjzvm473sm0vjrmgfmb19cjx82066ws8pvn9fybdj";
-      name = "kmix-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/kmix-18.04.1.tar.xz";
+      sha256 = "1jq71pgnlz95na5fbm504pkrrahiclqbb0cwsqpbpi10m2nzcrwd";
+      name = "kmix-18.04.1.tar.xz";
     };
   };
   kmousetool = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/kmousetool-17.12.2.tar.xz";
-      sha256 = "08kv4j6r18wrl7n4j7apffyj52w77l8rkksvmdzlfg2nk87vaafj";
-      name = "kmousetool-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/kmousetool-18.04.1.tar.xz";
+      sha256 = "08g5k9yfd5wrh47zp99hgq634vd9r23gjlr77xg86jqn8dj2lgqx";
+      name = "kmousetool-18.04.1.tar.xz";
     };
   };
   kmouth = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/kmouth-17.12.2.tar.xz";
-      sha256 = "12kdrwz3mxwz9y4srq5jjrrn0wg3905qhg1qbj8p583gk1n03g20";
-      name = "kmouth-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/kmouth-18.04.1.tar.xz";
+      sha256 = "08m5r9vd0gb06izav2g21qkfmg1gjpj0kn0nh785bbhs0bbngrci";
+      name = "kmouth-18.04.1.tar.xz";
     };
   };
   kmplot = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/kmplot-17.12.2.tar.xz";
-      sha256 = "1pws8lajpjm4nfichd0949lmsn975ivxh2b001gsif3vvadmp48l";
-      name = "kmplot-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/kmplot-18.04.1.tar.xz";
+      sha256 = "01rxnc45jc6swsm2h8bw45n96lsalgbfzww18hlq1qpyjr20181h";
+      name = "kmplot-18.04.1.tar.xz";
     };
   };
   knavalbattle = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/knavalbattle-17.12.2.tar.xz";
-      sha256 = "0iil9kw7xhjq8ll93hcvcm9apigrys89nj7j2bpvs00208dcyv9c";
-      name = "knavalbattle-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/knavalbattle-18.04.1.tar.xz";
+      sha256 = "1kr37qmb4577i12wghc0qcbbqpxr2wzww1cqv0wcd9jmjd3mq1xw";
+      name = "knavalbattle-18.04.1.tar.xz";
     };
   };
   knetwalk = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/knetwalk-17.12.2.tar.xz";
-      sha256 = "0l98h7grhgddawbn9apm0zifxpdssdkp29cdrcyv025h72dhj5ih";
-      name = "knetwalk-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/knetwalk-18.04.1.tar.xz";
+      sha256 = "02zpndbbyffakdxxswpmb1hrszh78a3ip6mfr8bqwnwbvzh80cjy";
+      name = "knetwalk-18.04.1.tar.xz";
     };
   };
   knotes = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/knotes-17.12.2.tar.xz";
-      sha256 = "009mia832fxll0a5kl5n16zsy54jvvm9gr2zp4qy5xmimci48llj";
-      name = "knotes-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/knotes-18.04.1.tar.xz";
+      sha256 = "0jc9mpnwgrbh8pra75gsiy9wm0aylm9a0ssw8bhfivb77dmqr44c";
+      name = "knotes-18.04.1.tar.xz";
     };
   };
   kolf = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/kolf-17.12.2.tar.xz";
-      sha256 = "12zxqa88jsg4zf68ndw32gw7l6sjjzq6pkkj0a55wcwsdph59666";
-      name = "kolf-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/kolf-18.04.1.tar.xz";
+      sha256 = "1bahv98dskknyy8rxpnjxywpcw09x58bsdg0aqgh5xdm0ym992ik";
+      name = "kolf-18.04.1.tar.xz";
     };
   };
   kollision = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/kollision-17.12.2.tar.xz";
-      sha256 = "1lzc0gih4lcw5dbrkkz0411al1xsjnqi1xzdwa2cijlka1py028g";
-      name = "kollision-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/kollision-18.04.1.tar.xz";
+      sha256 = "0pr4f9inxp77d761byis30jski642bhcfvbpcpnj9fi3k1cgzcna";
+      name = "kollision-18.04.1.tar.xz";
     };
   };
   kolourpaint = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/kolourpaint-17.12.2.tar.xz";
-      sha256 = "0jd2r9jv0g1wrqvx7dwniv8an4miv3wjl3ym4rkczpdsjh3smc7c";
-      name = "kolourpaint-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/kolourpaint-18.04.1.tar.xz";
+      sha256 = "1lfvmk9vhwa8j454pfh0x1klqb360zlsyydiiqm5a4dhc4wvcwzy";
+      name = "kolourpaint-18.04.1.tar.xz";
     };
   };
   kompare = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/kompare-17.12.2.tar.xz";
-      sha256 = "0cww2zhvf97zya2wpmc9hyk1vp3za8r8xvxc0l4whcm33w0fwgc9";
-      name = "kompare-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/kompare-18.04.1.tar.xz";
+      sha256 = "0kmf245fbm32hdgmyiv51ham3py7jhc3zpwfcfxbjyi94ikx4n79";
+      name = "kompare-18.04.1.tar.xz";
     };
   };
   konqueror = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/konqueror-17.12.2.tar.xz";
-      sha256 = "08yyxkrc4rx8y166p8r871rs3b6gxq6fkrnfbg9j4n3387rpg64f";
-      name = "konqueror-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/konqueror-18.04.1.tar.xz";
+      sha256 = "0798z1pm7sxi93xy4jibzhff8k37q88l59kyz524kl7m8wnw5scj";
+      name = "konqueror-18.04.1.tar.xz";
     };
   };
   konquest = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/konquest-17.12.2.tar.xz";
-      sha256 = "18c30b1z0jalkwcgdg6w5y4nl1j2iapp7588qk1zip3nfvgbdpky";
-      name = "konquest-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/konquest-18.04.1.tar.xz";
+      sha256 = "0h637lpmdsascp178fi5mpl9825n83r094ff8l5k4dnfks5imgv4";
+      name = "konquest-18.04.1.tar.xz";
     };
   };
   konsole = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/konsole-17.12.2.tar.xz";
-      sha256 = "1dbsmfqw0d1f0nhmhz61rhy6spcfvv54j7v05axjhh870wyfmrpc";
-      name = "konsole-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/konsole-18.04.1.tar.xz";
+      sha256 = "0hnyi5361glmal69brqc9h6zcv8z4l8va6nv0hc2siafmj21yhw6";
+      name = "konsole-18.04.1.tar.xz";
     };
   };
   kontact = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/kontact-17.12.2.tar.xz";
-      sha256 = "0qn1iha7g6i85va7bvcagxjx3qk0g9lpaqikn2fvlz22sgv45a2q";
-      name = "kontact-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/kontact-18.04.1.tar.xz";
+      sha256 = "00xaizfnfvh39xnxq2jp9n9cl7f0a22hlndamjfhw126ji0mz052";
+      name = "kontact-18.04.1.tar.xz";
     };
   };
   kontactinterface = {
-    version = "17.12.2";
+    version = "18.04.1";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/18.04.1/src/kontactinterface-18.04.1.tar.xz";
+      sha256 = "1zywgcrwzgw56vx2x0f2f0235bs2aikvn2qfizv4m5ac7ydihnyd";
+      name = "kontactinterface-18.04.1.tar.xz";
+    };
+  };
+  kopete = {
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/kontactinterface-17.12.2.tar.xz";
-      sha256 = "044dys074cgahspx9h3bz8a807r5975b25pwjxwimr9vg4ln37d3";
-      name = "kontactinterface-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/kopete-18.04.1.tar.xz";
+      sha256 = "1isxabxxx48vjzihycv80fapx69qrvv5zlyfrdg42s9qxqkcgvi8";
+      name = "kopete-18.04.1.tar.xz";
     };
   };
   korganizer = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/korganizer-17.12.2.tar.xz";
-      sha256 = "0ijw3dq0c21c11a4bhdpgd1ailamrhknim4bs4ix1fgriycwpz31";
-      name = "korganizer-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/korganizer-18.04.1.tar.xz";
+      sha256 = "1x3n03200j79xrj4y7046l3sa3qqfys3z2d2b1nl22v8g3l8gyx2";
+      name = "korganizer-18.04.1.tar.xz";
     };
   };
   kpat = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/kpat-17.12.2.tar.xz";
-      sha256 = "1yy81rv29wfym74709hrz67ms6af408ni5dbnpwjniz86fx2jnxs";
-      name = "kpat-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/kpat-18.04.1.tar.xz";
+      sha256 = "1fly7cd895v6k991hjvq4cv22dibzsvihzcj9cl9pzc7dk9vp70v";
+      name = "kpat-18.04.1.tar.xz";
     };
   };
   kpimtextedit = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/kpimtextedit-17.12.2.tar.xz";
-      sha256 = "1bj3ccvccwg1x5px080w7c3adkjsl1z886bxdimdf84pdxj2fm65";
-      name = "kpimtextedit-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/kpimtextedit-18.04.1.tar.xz";
+      sha256 = "09513fv0kaa7x01lsnpm18vvxijcwb68hdglbw08n5f7135k79mn";
+      name = "kpimtextedit-18.04.1.tar.xz";
     };
   };
   kqtquickcharts = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/kqtquickcharts-17.12.2.tar.xz";
-      sha256 = "05xsvc4ppncpjj0w5j7m5075ydxjnln8kjfd002c1m2a755brv5j";
-      name = "kqtquickcharts-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/kqtquickcharts-18.04.1.tar.xz";
+      sha256 = "08y0nc070pjmf07yifkfd6dm3frma752c42m3ms0ysz96l1x2gr1";
+      name = "kqtquickcharts-18.04.1.tar.xz";
     };
   };
   krdc = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/krdc-17.12.2.tar.xz";
-      sha256 = "0m9ij015cs8qb1sbiysy27jrz070x9dkrbkrsqy3a2n9dkv7jjz0";
-      name = "krdc-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/krdc-18.04.1.tar.xz";
+      sha256 = "166990llgfkbysahrfralc6n2g7ix7h4w1fpzss0axfigz5ink1x";
+      name = "krdc-18.04.1.tar.xz";
     };
   };
   kreversi = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/kreversi-17.12.2.tar.xz";
-      sha256 = "1qx0lv85pn98wbaskk0ihg3zywwfj9p0l30jjq67my254qlbaqpk";
-      name = "kreversi-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/kreversi-18.04.1.tar.xz";
+      sha256 = "0g6jc7s54i4gzb5q9cg4qczwx9i4zir52zqnjl5akr1w9v8d2m34";
+      name = "kreversi-18.04.1.tar.xz";
     };
   };
   krfb = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/krfb-17.12.2.tar.xz";
-      sha256 = "1ggi0rmb0jx9pkqcvml5q6gxzzng5mdpyj8m9knknhmdx0y19k1b";
-      name = "krfb-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/krfb-18.04.1.tar.xz";
+      sha256 = "1zd3rgp4265r1fi1kc2s09rrzpa22b9j56cq3l50mzkb80kyi6vl";
+      name = "krfb-18.04.1.tar.xz";
     };
   };
   kross-interpreters = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/kross-interpreters-17.12.2.tar.xz";
-      sha256 = "05fd5cbgh81qmffbkmn3zanlrdjdqcgyafcw4jxsfvqb556wdvzv";
-      name = "kross-interpreters-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/kross-interpreters-18.04.1.tar.xz";
+      sha256 = "1gybf7diq2amaqs7xaikfh1kp40iwfvxz4bms16b6flck8sja8va";
+      name = "kross-interpreters-18.04.1.tar.xz";
     };
   };
   kruler = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/kruler-17.12.2.tar.xz";
-      sha256 = "1j39vrd98p3bxa5kggmg3ccx4wrn8hvd100p0njkd54wagm9r2m7";
-      name = "kruler-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/kruler-18.04.1.tar.xz";
+      sha256 = "0bkf1cm23582hwz4j3xygrwqwbfq27qycvnf2mqw921j08axa376";
+      name = "kruler-18.04.1.tar.xz";
     };
   };
   kshisen = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/kshisen-17.12.2.tar.xz";
-      sha256 = "02ihwa8zhaig97z14l3jx6c7swsm8aq5107n41h0z0lzf7sir47g";
-      name = "kshisen-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/kshisen-18.04.1.tar.xz";
+      sha256 = "098qqzii4wk0pv5388yighy381k5ffrb8wy4z461yxgxc75d77f7";
+      name = "kshisen-18.04.1.tar.xz";
     };
   };
   ksirk = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/ksirk-17.12.2.tar.xz";
-      sha256 = "049za390509m4gsmjybhidbq3p2qss47whwfmzcj6lpcxf0fsrja";
-      name = "ksirk-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/ksirk-18.04.1.tar.xz";
+      sha256 = "0mxj4vp6da535ghnxisk6j7akhis0fh16kj6bycw8fxxl5jiy0sq";
+      name = "ksirk-18.04.1.tar.xz";
     };
   };
   ksmtp = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/ksmtp-17.12.2.tar.xz";
-      sha256 = "0g6sjn5vkkwcdqjhpws86l5dhwilxrqqif50dndc2fyiak6x796n";
-      name = "ksmtp-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/ksmtp-18.04.1.tar.xz";
+      sha256 = "0imfcaisvh78s18x2w4iizr4vn6sndr1nk9585vs9dr8wcwbfrl3";
+      name = "ksmtp-18.04.1.tar.xz";
     };
   };
   ksnakeduel = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/ksnakeduel-17.12.2.tar.xz";
-      sha256 = "1gqgw47im2sifxskhbgmg5rr6clvswcz81sinqffmjmpwgrabif7";
-      name = "ksnakeduel-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/ksnakeduel-18.04.1.tar.xz";
+      sha256 = "07p9nil9x3cyzzxcr59h3rj9h6g1lfssrsi6iqwq0hpdc6h2zl73";
+      name = "ksnakeduel-18.04.1.tar.xz";
     };
   };
   kspaceduel = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/kspaceduel-17.12.2.tar.xz";
-      sha256 = "13636n466yna04wga7f206gw1scnjr3w3x59hwi4mdr0sghz9a7i";
-      name = "kspaceduel-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/kspaceduel-18.04.1.tar.xz";
+      sha256 = "0aar147l5bq1ij40ng5wbdixg91678r3d07lrnmdffb47wa1ly7n";
+      name = "kspaceduel-18.04.1.tar.xz";
     };
   };
   ksquares = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/ksquares-17.12.2.tar.xz";
-      sha256 = "1csw9kns4b258k1hwcshw01bxbzfa1kclbd4w5fail1qp5xs7x7d";
-      name = "ksquares-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/ksquares-18.04.1.tar.xz";
+      sha256 = "1vr9xdi0jfrjwvq5y04djmnax7q4d5amj8a7mzvvqq427zl6xc3c";
+      name = "ksquares-18.04.1.tar.xz";
     };
   };
   ksudoku = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/ksudoku-17.12.2.tar.xz";
-      sha256 = "0rwgzg0i8s4b7af2dhzccaklbg3rj0khyjsiawijw66p9gs9cczy";
-      name = "ksudoku-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/ksudoku-18.04.1.tar.xz";
+      sha256 = "0habss3w7m3x8mhh70qq38nymynvihar9clpxmlp6pbyw8sl9v6n";
+      name = "ksudoku-18.04.1.tar.xz";
     };
   };
   ksystemlog = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/ksystemlog-17.12.2.tar.xz";
-      sha256 = "1aw1m1kv3si3qqzhs5mdynmf2b8s2dpsjnb7h0c1l39kq7mbgc9i";
-      name = "ksystemlog-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/ksystemlog-18.04.1.tar.xz";
+      sha256 = "1yyrbdzjxrlf96l3bvj675fsbn6440lxr1nd5j4rs09d3fyvl6p1";
+      name = "ksystemlog-18.04.1.tar.xz";
     };
   };
   kteatime = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/kteatime-17.12.2.tar.xz";
-      sha256 = "13p1v7ic64rfff7md7f33xv9pl89sgjig35q78q31h5q42k6qzv9";
-      name = "kteatime-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/kteatime-18.04.1.tar.xz";
+      sha256 = "02849i02h0zmsc3wifzgq9s0mgfdyzdrm61ngq944r260anizxhd";
+      name = "kteatime-18.04.1.tar.xz";
     };
   };
   ktimer = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/ktimer-17.12.2.tar.xz";
-      sha256 = "1263bsqz23064v7qnrz51nbbckld3d2vz80cm6z43vcis236bvh2";
-      name = "ktimer-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/ktimer-18.04.1.tar.xz";
+      sha256 = "13k0wmjh925sj7l8n4kc0adva1vfbgs6admh80ch0xwk8mmsdjvp";
+      name = "ktimer-18.04.1.tar.xz";
     };
   };
   ktnef = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/ktnef-17.12.2.tar.xz";
-      sha256 = "05cj5lghqj8js0bd14w6kbpl29wslyh36yn57sdf5dfbgpnn9a7v";
-      name = "ktnef-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/ktnef-18.04.1.tar.xz";
+      sha256 = "1m6nbsnbh8apyqaw2kivkzhk7fp9y2xphmrblqdpf49qpbh6jqlq";
+      name = "ktnef-18.04.1.tar.xz";
     };
   };
   ktouch = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/ktouch-17.12.2.tar.xz";
-      sha256 = "1jqc0i6n70vjy6ipgv4swnd8xp404d8frax6nfd4rv3gmn68l5q4";
-      name = "ktouch-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/ktouch-18.04.1.tar.xz";
+      sha256 = "18piwwdq4hl8yaln7s7p4bw0lwkyjwnw8lknirj1352npycvq2n1";
+      name = "ktouch-18.04.1.tar.xz";
     };
   };
   ktp-accounts-kcm = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/ktp-accounts-kcm-17.12.2.tar.xz";
-      sha256 = "1qfq2sg2pzv2gkr87yb3r5j0xy0f1j56cxys8c1zijpglfy6a41z";
-      name = "ktp-accounts-kcm-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/ktp-accounts-kcm-18.04.1.tar.xz";
+      sha256 = "1ihxvngg6cp1vzhpf4hkf2zwxpa5gnlq11lc1ffnhy7fm7ig28nx";
+      name = "ktp-accounts-kcm-18.04.1.tar.xz";
     };
   };
   ktp-approver = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/ktp-approver-17.12.2.tar.xz";
-      sha256 = "0jhzazj42qigdbzjidpnkqlsndv3ias80ik033hzks6m22c20bz6";
-      name = "ktp-approver-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/ktp-approver-18.04.1.tar.xz";
+      sha256 = "1749l1zklk1q7i3z4mbk24566vps74hj3as4ijybgymczr4rd3gz";
+      name = "ktp-approver-18.04.1.tar.xz";
     };
   };
   ktp-auth-handler = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/ktp-auth-handler-17.12.2.tar.xz";
-      sha256 = "0h81j79285k872wfyflabk6j4s3y7fi0nv41c9n6rnsdv91yvwpk";
-      name = "ktp-auth-handler-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/ktp-auth-handler-18.04.1.tar.xz";
+      sha256 = "0llkw1yqi91s8iqdqz8pskccinmjsgbp1081pngpkqcg1iy7bara";
+      name = "ktp-auth-handler-18.04.1.tar.xz";
     };
   };
   ktp-call-ui = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/ktp-call-ui-17.12.2.tar.xz";
-      sha256 = "1nh6a7gf3qp3vgw32rbh196ik5pzgad4z6lgrn59x36ssvcpmmd2";
-      name = "ktp-call-ui-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/ktp-call-ui-18.04.1.tar.xz";
+      sha256 = "1pji4z8h7bk5npl279x5g9hx7zgdhnjdrv669nrd1gi9m20n6vi7";
+      name = "ktp-call-ui-18.04.1.tar.xz";
     };
   };
   ktp-common-internals = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/ktp-common-internals-17.12.2.tar.xz";
-      sha256 = "18i311hnyd7lwvv6c08dk674w77q1sk3bggj5mp94r987507kns4";
-      name = "ktp-common-internals-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/ktp-common-internals-18.04.1.tar.xz";
+      sha256 = "0jwkwznqcrk39k07srl7c0yznj9p9dp70lkfhjg3syscwm8drydv";
+      name = "ktp-common-internals-18.04.1.tar.xz";
     };
   };
   ktp-contact-list = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/ktp-contact-list-17.12.2.tar.xz";
-      sha256 = "1fzw7mqk65ry16bpbrh9zp7rpcbdgjabcsw23xdz08dzl86gji24";
-      name = "ktp-contact-list-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/ktp-contact-list-18.04.1.tar.xz";
+      sha256 = "1806fapr0pv15dmpqb0khdlgrmk9bsf45s1ab7x9pdnghnawn132";
+      name = "ktp-contact-list-18.04.1.tar.xz";
     };
   };
   ktp-contact-runner = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/ktp-contact-runner-17.12.2.tar.xz";
-      sha256 = "0qmwajxqhd2m2p9jnyqq5c8i1a02r8mc20limrikvg2m25cg8ii9";
-      name = "ktp-contact-runner-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/ktp-contact-runner-18.04.1.tar.xz";
+      sha256 = "0b9xm5p9w5kd67sh13h9caxqj89jzia79hfk9fzxpjbf0kifj72s";
+      name = "ktp-contact-runner-18.04.1.tar.xz";
     };
   };
   ktp-desktop-applets = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/ktp-desktop-applets-17.12.2.tar.xz";
-      sha256 = "02s5b2lgcsslr2zavijp457kngmdall03li9wlgg31kxyqwrycwc";
-      name = "ktp-desktop-applets-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/ktp-desktop-applets-18.04.1.tar.xz";
+      sha256 = "0jrdz8ccgrbwpb6k73wvsix3h3h16dxzgqy19lykd5igckq1v2qh";
+      name = "ktp-desktop-applets-18.04.1.tar.xz";
     };
   };
   ktp-filetransfer-handler = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/ktp-filetransfer-handler-17.12.2.tar.xz";
-      sha256 = "1vc8w0aq16rfcwf48s3178y2qmz6r03bsdrgn2mkxscj8z4rv8j5";
-      name = "ktp-filetransfer-handler-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/ktp-filetransfer-handler-18.04.1.tar.xz";
+      sha256 = "03v0wgac6knprqi7mfzc3w1rrdkf9lgi2gpscc3k910dyswh1802";
+      name = "ktp-filetransfer-handler-18.04.1.tar.xz";
     };
   };
   ktp-kded-module = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/ktp-kded-module-17.12.2.tar.xz";
-      sha256 = "1is5l0ammvqqp4cz9hk9ra63rv5kphy58b1b1qh1vwdhbc74cdx6";
-      name = "ktp-kded-module-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/ktp-kded-module-18.04.1.tar.xz";
+      sha256 = "0d3vv1ngsbh87wxijvyd2hzhdzwr0r5vx5h3jdl3znjh9ysifwm4";
+      name = "ktp-kded-module-18.04.1.tar.xz";
     };
   };
   ktp-send-file = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/ktp-send-file-17.12.2.tar.xz";
-      sha256 = "13xq1slbr6qhjq135kxcxmv9lk5w68i6zkc47ffj76x40hdryh34";
-      name = "ktp-send-file-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/ktp-send-file-18.04.1.tar.xz";
+      sha256 = "1p3vgbsmam687bzp1h6xxv2qr2f6jz6mjbpk5jxjvvz66aq4dj8y";
+      name = "ktp-send-file-18.04.1.tar.xz";
     };
   };
   ktp-text-ui = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/ktp-text-ui-17.12.2.tar.xz";
-      sha256 = "166ya2nggpljf591rvscd2gqbi8fbr2zq06v512clraawfzgbrqa";
-      name = "ktp-text-ui-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/ktp-text-ui-18.04.1.tar.xz";
+      sha256 = "1zsxyizm9vdlrxicxvgmy5irqi914szxkd38xrgspp2vdi4bnvb6";
+      name = "ktp-text-ui-18.04.1.tar.xz";
     };
   };
   ktuberling = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/ktuberling-17.12.2.tar.xz";
-      sha256 = "05h47my9f167gi811nzpdn6sdn0k7bdbr582rrm6j1gpjgay2d16";
-      name = "ktuberling-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/ktuberling-18.04.1.tar.xz";
+      sha256 = "1rpval4rl63dfy2p6aq5902ifvv14x1zg8mzzci26kqq8k38jasc";
+      name = "ktuberling-18.04.1.tar.xz";
     };
   };
   kturtle = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/kturtle-17.12.2.tar.xz";
-      sha256 = "0xk3dpnld7f58b9p1hgcv6afvay1yhcm285jq22qa29wi2ckhk6m";
-      name = "kturtle-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/kturtle-18.04.1.tar.xz";
+      sha256 = "1s2n46nlzc63108gc43h14yjrcd12h93bvbg08ynhfaq26pqz1jk";
+      name = "kturtle-18.04.1.tar.xz";
     };
   };
   kubrick = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/kubrick-17.12.2.tar.xz";
-      sha256 = "0f5b3z91w4g8kl11wv43xn7n92dcfpmga51nw20wk4vsfmrwgpc9";
-      name = "kubrick-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/kubrick-18.04.1.tar.xz";
+      sha256 = "1gqnfc8gnl96gz5i3ak7swhm36c9dv7n0c4b5f70pnsi5n7klbxr";
+      name = "kubrick-18.04.1.tar.xz";
     };
   };
   kwalletmanager = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/kwalletmanager-17.12.2.tar.xz";
-      sha256 = "0aqdlm87hxw8d28jr9hhvpjcjs939595vxhg8p5bw5dzanj48zkv";
-      name = "kwalletmanager-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/kwalletmanager-18.04.1.tar.xz";
+      sha256 = "0vj0ch1dk265v6x8xzvskpv5mc564p10pn8m9jjv79wk2xy1vsjz";
+      name = "kwalletmanager-18.04.1.tar.xz";
     };
   };
   kwave = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/kwave-17.12.2.tar.xz";
-      sha256 = "1l5mdy1qdzw3lmrmvylcjj4wc9xg6brcd7qd20fsanzfv7w8if6k";
-      name = "kwave-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/kwave-18.04.1.tar.xz";
+      sha256 = "0avbyyrhvzfxdib0d80rk7m6gk6kq9rjvv640s08y237m68fncap";
+      name = "kwave-18.04.1.tar.xz";
     };
   };
   kwordquiz = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/kwordquiz-17.12.2.tar.xz";
-      sha256 = "175cf0qvw7qiifbqbgsg036n125gqpbpw7v1qq81hfg8nl0zpy2h";
-      name = "kwordquiz-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/kwordquiz-18.04.1.tar.xz";
+      sha256 = "1yqynfmlargfwk7nlfzhlxd1df462ssw7qj3pdhym8277jfch58r";
+      name = "kwordquiz-18.04.1.tar.xz";
     };
   };
   libgravatar = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/libgravatar-17.12.2.tar.xz";
-      sha256 = "1vps67mbjh31y7q19wr1km0n35drimc7gi4xyhfx17l8k87nrx7a";
-      name = "libgravatar-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/libgravatar-18.04.1.tar.xz";
+      sha256 = "19xrc70yh6baxg5jlr3v3d3af46vms28jzvkpgda5ffacnn3xnrj";
+      name = "libgravatar-18.04.1.tar.xz";
     };
   };
   libkcddb = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/libkcddb-17.12.2.tar.xz";
-      sha256 = "1hqrpnfy5gzknvvcfmbp2axx4qbk0qkl47rmhr8gmpdvlkh33cny";
-      name = "libkcddb-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/libkcddb-18.04.1.tar.xz";
+      sha256 = "1nn80sflfgzd3d2kc4d4zwa09ix498svrinn27b9h8x3w3gsbg8f";
+      name = "libkcddb-18.04.1.tar.xz";
     };
   };
   libkcompactdisc = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/libkcompactdisc-17.12.2.tar.xz";
-      sha256 = "12dcyxjr6b6i8zfk3i17ah0kc3x0d9ixy65wj3zw1gf4mmdzgpbk";
-      name = "libkcompactdisc-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/libkcompactdisc-18.04.1.tar.xz";
+      sha256 = "12zb39zwvl8y2b48vjn34dxj4f65laswd67w5f7m4g0nczq218v1";
+      name = "libkcompactdisc-18.04.1.tar.xz";
     };
   };
   libkdcraw = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/libkdcraw-17.12.2.tar.xz";
-      sha256 = "1qfzyy4952b2lc3619bbzqffvrphqsq16z89bxb4pn1ad796zn62";
-      name = "libkdcraw-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/libkdcraw-18.04.1.tar.xz";
+      sha256 = "011q982rx5m8609i1zd6q186xw3ps81fnvhjk69hxy5w8pp44m6i";
+      name = "libkdcraw-18.04.1.tar.xz";
     };
   };
   libkdegames = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/libkdegames-17.12.2.tar.xz";
-      sha256 = "1v3a9240crfpjdwpbz0bdwv06572s99h80l53vf3zwmqw5yk05z4";
-      name = "libkdegames-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/libkdegames-18.04.1.tar.xz";
+      sha256 = "03afnypmn8bz1cgc4lgfmid2hszsq564hsf9m5s57a29vfswnp6m";
+      name = "libkdegames-18.04.1.tar.xz";
     };
   };
   libkdepim = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/libkdepim-17.12.2.tar.xz";
-      sha256 = "069x28ia6d95rm1g3mr339v7rdvlmiz20y4kddp2acja53b0sagg";
-      name = "libkdepim-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/libkdepim-18.04.1.tar.xz";
+      sha256 = "02wrkn1h662dqzp7kyrhhhiyahhkgqz75jcd59haxyj66amlgcx6";
+      name = "libkdepim-18.04.1.tar.xz";
     };
   };
   libkeduvocdocument = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/libkeduvocdocument-17.12.2.tar.xz";
-      sha256 = "1g4zldr9ys7ddxqfkkhlyqgq623q303011ifaraid5zpiql092qd";
-      name = "libkeduvocdocument-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/libkeduvocdocument-18.04.1.tar.xz";
+      sha256 = "14i25wjfak39bz0y5rkg25mvjxnzpak76sf5w163dmwx2hd7spzr";
+      name = "libkeduvocdocument-18.04.1.tar.xz";
     };
   };
   libkexiv2 = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/libkexiv2-17.12.2.tar.xz";
-      sha256 = "0jr9wpnl80xala60yz4zd5j9nd1bv56y688fldr5dxx25ljavn24";
-      name = "libkexiv2-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/libkexiv2-18.04.1.tar.xz";
+      sha256 = "0q6hmghivdj0aq00pg3z5i6mfdj3xgpdd6yw0vr9i4jnk0rfb349";
+      name = "libkexiv2-18.04.1.tar.xz";
     };
   };
   libkgapi = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/libkgapi-17.12.2.tar.xz";
-      sha256 = "1vki4sxb7dzg202waqqyvjwsx8yhx8cfp2wk4b6p81hfaq8a1syd";
-      name = "libkgapi-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/libkgapi-18.04.1.tar.xz";
+      sha256 = "0wpxn7qyf56rckarx52ic3yyhv8r043dxjir4f2yf05vkddwkshv";
+      name = "libkgapi-18.04.1.tar.xz";
     };
   };
   libkgeomap = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/libkgeomap-17.12.2.tar.xz";
-      sha256 = "1spq6g56ih6wlc2qasf3fkpkn7m4gsbn14p6ja60cr1gvf4p9j79";
-      name = "libkgeomap-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/libkgeomap-18.04.1.tar.xz";
+      sha256 = "16rzw8r1i7isfh86rg86a0h25zwa8h3hnxbzf3fjmdn6mmdkp2va";
+      name = "libkgeomap-18.04.1.tar.xz";
     };
   };
   libkipi = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/libkipi-17.12.2.tar.xz";
-      sha256 = "180yg24iqh02nkcv7jbvm10lr7z7qagapjh8zarpmh6r2s3c0nh5";
-      name = "libkipi-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/libkipi-18.04.1.tar.xz";
+      sha256 = "09rx85phr259anznvxyfp4rb51jsid76jrbcgv52vy9cfd7rr8pk";
+      name = "libkipi-18.04.1.tar.xz";
     };
   };
   libkleo = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/libkleo-17.12.2.tar.xz";
-      sha256 = "00nlspwnh9nvxarm34y9hdis3af2zkjf2flla4qwks5nhl7fgi8g";
-      name = "libkleo-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/libkleo-18.04.1.tar.xz";
+      sha256 = "06kyiv9bshyf2q0k7g7pm1ja35sxddgrzb5ayxnx03na86dm67j9";
+      name = "libkleo-18.04.1.tar.xz";
     };
   };
   libkmahjongg = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/libkmahjongg-17.12.2.tar.xz";
-      sha256 = "0l8krpiyzlsn9awp8za10n9qhbac8nf98jiz7dxzn4qpniv45px5";
-      name = "libkmahjongg-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/libkmahjongg-18.04.1.tar.xz";
+      sha256 = "09sqi1xyd8hk3x6w5ix6sa191ihil3zjq1qd6j50fr2rpqzfnbm0";
+      name = "libkmahjongg-18.04.1.tar.xz";
     };
   };
   libkomparediff2 = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/libkomparediff2-17.12.2.tar.xz";
-      sha256 = "07is7vn9wrivxpyd4s19371ffylj2x3s5zi14y8zr778nq68wrzq";
-      name = "libkomparediff2-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/libkomparediff2-18.04.1.tar.xz";
+      sha256 = "0d00r0h1fbmhkdn791f3i87ckc4l8wd5rljlm4lfzcr95lbmpzyv";
+      name = "libkomparediff2-18.04.1.tar.xz";
     };
   };
   libksane = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/libksane-17.12.2.tar.xz";
-      sha256 = "01d182hnrj6n8qmh85pkwmjdyhfy0n946zp40r9r6avh9ajrx5nd";
-      name = "libksane-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/libksane-18.04.1.tar.xz";
+      sha256 = "1k1ffki9gcgah7xymyzbwza00gw3dvkfghcbyy4dpvbb0q4ayw7c";
+      name = "libksane-18.04.1.tar.xz";
     };
   };
   libksieve = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/libksieve-17.12.2.tar.xz";
-      sha256 = "1nfy96ykaxdm5h67bhykgdcmlidsjgvbsf52qs5f7j7iyl3w4nhr";
-      name = "libksieve-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/libksieve-18.04.1.tar.xz";
+      sha256 = "0dsb1lj155y32avlgw6clxpbv00z3nrc7a7nlfh29l0wjl09mr50";
+      name = "libksieve-18.04.1.tar.xz";
     };
   };
   lokalize = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/lokalize-17.12.2.tar.xz";
-      sha256 = "18nama2dafhp5v1lvxibm92cxwdldkxs778s948qnb7xh65mxvsb";
-      name = "lokalize-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/lokalize-18.04.1.tar.xz";
+      sha256 = "1svwl30abycdq2jc4a688lbb4yk28dqscchi1zshdii6w00bcys9";
+      name = "lokalize-18.04.1.tar.xz";
     };
   };
   lskat = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/lskat-17.12.2.tar.xz";
-      sha256 = "0a4gch1krd7xpvxkscy7prsfb72dcg78alk4vz2z70nfn11zrzv3";
-      name = "lskat-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/lskat-18.04.1.tar.xz";
+      sha256 = "0isy9ibk93i4b72cdv5210n8gfwiydrw4i0bax2pkyxqymyfr5lj";
+      name = "lskat-18.04.1.tar.xz";
     };
   };
   mailcommon = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/mailcommon-17.12.2.tar.xz";
-      sha256 = "0ikmbg91f4p7d4qb7nx05n5mlbmmcdwzgw0xvdsib7vkj5cfrxp2";
-      name = "mailcommon-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/mailcommon-18.04.1.tar.xz";
+      sha256 = "0s0c4swm1q331hzqg0fqb2r9dwx4aamwan3s5p71vjnibxzbmqck";
+      name = "mailcommon-18.04.1.tar.xz";
     };
   };
   mailimporter = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/mailimporter-17.12.2.tar.xz";
-      sha256 = "1p4dc7xwk6wx1j6xk3h5w5cnzm665pzrmc70v8l5898025i94ml5";
-      name = "mailimporter-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/mailimporter-18.04.1.tar.xz";
+      sha256 = "1qzc7yjjscbxkinby9carp02wqppx95hirq0m5ihly7avn5cn6dz";
+      name = "mailimporter-18.04.1.tar.xz";
     };
   };
   marble = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/marble-17.12.2.tar.xz";
-      sha256 = "1y6wbh571g2d8gzg9pwdbsc4a4bl67fmvnkf65acs182zfc2x7jy";
-      name = "marble-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/marble-18.04.1.tar.xz";
+      sha256 = "04aa32qnr585lq3s3hmxqlwqranr3wr1zr1xm99pbsb32k2yyyjn";
+      name = "marble-18.04.1.tar.xz";
     };
   };
   mbox-importer = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/mbox-importer-17.12.2.tar.xz";
-      sha256 = "0f1zvp31m6i20jd7xi9hxks8759mvbsj57r2nciwhc47r3m9wi3l";
-      name = "mbox-importer-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/mbox-importer-18.04.1.tar.xz";
+      sha256 = "06735201365rpp3lr877pqdkz9206zfzhvbbr432fvg6lx3p5z4s";
+      name = "mbox-importer-18.04.1.tar.xz";
     };
   };
   messagelib = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/messagelib-17.12.2.tar.xz";
-      sha256 = "17fayacl3m7p0w0rf724fhdm287dz8n03pyliapsxybldgp2rlaz";
-      name = "messagelib-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/messagelib-18.04.1.tar.xz";
+      sha256 = "1fznlxl1j1n5pbg3v7rmd4lhfjhr1r95b62gyqydlrrwgzzs92b2";
+      name = "messagelib-18.04.1.tar.xz";
     };
   };
   minuet = {
-    version = "17.12.2";
-    src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/minuet-17.12.2.tar.xz";
-      sha256 = "17gwnh0bd2a7fvxbjhwadh0gvb0zly71lwv8znkb18dwsyd38v3r";
-      name = "minuet-17.12.2.tar.xz";
-    };
-  };
-  okteta = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/okteta-17.12.2.tar.xz";
-      sha256 = "1k4b2m5pvrv1zxvm6pwmkl0ahh0ynkssa8z1v51a3hxlvw593b4d";
-      name = "okteta-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/minuet-18.04.1.tar.xz";
+      sha256 = "0fans0fpghdckmp6ww8api4d7kfna1w20yjgssvfqxgyxxni0vps";
+      name = "minuet-18.04.1.tar.xz";
     };
   };
   okular = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/okular-17.12.2.tar.xz";
-      sha256 = "10rkrwp3rwccvqsw7njcmggw3jkj84fb90vkvqp8k2lmhnrz1ypx";
-      name = "okular-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/okular-18.04.1.tar.xz";
+      sha256 = "0fhfbjlwa4xzf2q2wnidprj7qqizs26i959k61k4j66y66d2za0g";
+      name = "okular-18.04.1.tar.xz";
     };
   };
   palapeli = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/palapeli-17.12.2.tar.xz";
-      sha256 = "0j9b4a6x3bp9bki2p79ksn86l16niixa2x8xx24vdnd9y71lp2yb";
-      name = "palapeli-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/palapeli-18.04.1.tar.xz";
+      sha256 = "01p1xipacb8w7lcd3n8387c7axjxswvv62rn7sphp736l23wri5c";
+      name = "palapeli-18.04.1.tar.xz";
     };
   };
   parley = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/parley-17.12.2.tar.xz";
-      sha256 = "0kqvj1gwsv9kdac0zsv6cda34h8qx8xr43mgwk343c8pcwm1r2r5";
-      name = "parley-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/parley-18.04.1.tar.xz";
+      sha256 = "1qh7bg38bvq8drnd7plkdxxqsl6rgd37g3iqnxwljxf723s6hcz5";
+      name = "parley-18.04.1.tar.xz";
     };
   };
   picmi = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/picmi-17.12.2.tar.xz";
-      sha256 = "0ry4vvspa2mdvxrxvbqihkdh7qvsxhl9v7i07ycx3qs7sybf1rx4";
-      name = "picmi-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/picmi-18.04.1.tar.xz";
+      sha256 = "095xm4nkd0kg0pvbbp3vasll1lfpk491frspk2463q0zhd04hpmi";
+      name = "picmi-18.04.1.tar.xz";
     };
   };
   pimcommon = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/pimcommon-17.12.2.tar.xz";
-      sha256 = "0frgn2shd2qzf4rbix9k4psy81b2yzsyy0sisy0ngc68gk5mdj8a";
-      name = "pimcommon-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/pimcommon-18.04.1.tar.xz";
+      sha256 = "0zyd0ja6ir6nbkvf4hk6hi93qr19kns8hgww15y2xmdhdcyf52ja";
+      name = "pimcommon-18.04.1.tar.xz";
     };
   };
   pim-data-exporter = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/pim-data-exporter-17.12.2.tar.xz";
-      sha256 = "1fbpz4sw4gn01yc7vzlj9v15wp3b6acbcd6xs9nsp3bfpb9mqd16";
-      name = "pim-data-exporter-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/pim-data-exporter-18.04.1.tar.xz";
+      sha256 = "0k69nmjp0n2mmg1nsghghk2ybnvyr01gnrhqwvknpbncb2cnkgcg";
+      name = "pim-data-exporter-18.04.1.tar.xz";
     };
   };
   pim-sieve-editor = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/pim-sieve-editor-17.12.2.tar.xz";
-      sha256 = "1jwjgywqp23c17g08c18ajbl2dzq3h9vm94bmbjcan64isd03jr4";
-      name = "pim-sieve-editor-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/pim-sieve-editor-18.04.1.tar.xz";
+      sha256 = "076hzkia8l61nn3gwma88lsx02d1fb6d00jbibvghqp7raa9f0fx";
+      name = "pim-sieve-editor-18.04.1.tar.xz";
     };
   };
   poxml = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/poxml-17.12.2.tar.xz";
-      sha256 = "0amb095qjv8d22ny86rs6wj280b2ag2zpk7bzs5834m75wlmpg6w";
-      name = "poxml-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/poxml-18.04.1.tar.xz";
+      sha256 = "1ha1dy5j40269nv5ygb0idd9kkizni3zq4vz64i2y29lvbrqdgh1";
+      name = "poxml-18.04.1.tar.xz";
     };
   };
   print-manager = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/print-manager-17.12.2.tar.xz";
-      sha256 = "0sz7xqcjc5ddxkc7gbl1h673ywp3ffhmx985jzpd296n6sjppc2v";
-      name = "print-manager-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/print-manager-18.04.1.tar.xz";
+      sha256 = "10l2w1fyym4nflmqnfsxdnnbllvliwyx7z7ylmi4i4rkcpaafyqx";
+      name = "print-manager-18.04.1.tar.xz";
     };
   };
   rocs = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/rocs-17.12.2.tar.xz";
-      sha256 = "08flyrla2kqkdc94hd8w2inzmnmzvczcgwl9hzqxxzf3fsjnnfdl";
-      name = "rocs-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/rocs-18.04.1.tar.xz";
+      sha256 = "1bsm1kjkp9x2rh4n682kjyljisri7mniw5yap4ifksq5lk2vbn8z";
+      name = "rocs-18.04.1.tar.xz";
     };
   };
   signon-kwallet-extension = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/signon-kwallet-extension-17.12.2.tar.xz";
-      sha256 = "06l1mynl7wp1r3gmy5919dm0p19p23harsh6qwdvbi9lffy7ascp";
-      name = "signon-kwallet-extension-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/signon-kwallet-extension-18.04.1.tar.xz";
+      sha256 = "0xhvah1xq60wiz6pyjkc66sxsz1v3vdzjbjdr5kklpr98pg9xlib";
+      name = "signon-kwallet-extension-18.04.1.tar.xz";
     };
   };
   spectacle = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/spectacle-17.12.2.tar.xz";
-      sha256 = "0qhhnpdk4rqzpg3npj183nl7k1n4mvhcb97hydwaq51yh51r4gvj";
-      name = "spectacle-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/spectacle-18.04.1.tar.xz";
+      sha256 = "0k8vl79gwm4sj0f5pshz99l6cq323hk7a4r1jqzkdmbdv1mc0rgc";
+      name = "spectacle-18.04.1.tar.xz";
     };
   };
   step = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/step-17.12.2.tar.xz";
-      sha256 = "1n9gd2sq2lvfmgvjdb8yn5g25j58jcb24qh8l41k1y0hgcbaxly7";
-      name = "step-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/step-18.04.1.tar.xz";
+      sha256 = "1zwxjsjv72wjvzwj7cdz3lclw92bp9306bcpm4bpfrlcnr3xny1z";
+      name = "step-18.04.1.tar.xz";
     };
   };
   svgpart = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/svgpart-17.12.2.tar.xz";
-      sha256 = "1d7yrpnxc3sm3381fd9m3fiipi664vl8cz2li8dlw2y4pbgpx28g";
-      name = "svgpart-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/svgpart-18.04.1.tar.xz";
+      sha256 = "14qf9xfgvgk8d49qz6vhfivzw8hsmj6q2scjk6vg3i16y62qlym9";
+      name = "svgpart-18.04.1.tar.xz";
     };
   };
   sweeper = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/sweeper-17.12.2.tar.xz";
-      sha256 = "1qi4kfd4p8xnykv3zn3sqkx4b605mwbnr6m9l6cr0v26c01yjq3k";
-      name = "sweeper-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/sweeper-18.04.1.tar.xz";
+      sha256 = "0f8nyxdw2arpa85vwl834jqbydvsx7dswjl8cdy66frx5jyqirim";
+      name = "sweeper-18.04.1.tar.xz";
     };
   };
   syndication = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/syndication-17.12.2.tar.xz";
-      sha256 = "1hcdk0apdrppfrjyfjm4cn0iyb1yrf7zq2wb2ipmxzca1hfgw4c0";
-      name = "syndication-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/syndication-18.04.1.tar.xz";
+      sha256 = "1gcas0aqgzr6r571d66yn7hw86hdb4akd5vgk5jh3liww25y8qm5";
+      name = "syndication-18.04.1.tar.xz";
     };
   };
   umbrello = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/umbrello-17.12.2.tar.xz";
-      sha256 = "1sm0drfsyyslls5n66mvjy2knbwykws34g74c6rn1mmmdpyp7b94";
-      name = "umbrello-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/umbrello-18.04.1.tar.xz";
+      sha256 = "1vw8py5nm7mpv3qa0lxi72cvbvslxppag6aqhbp2zsnz6b152qhy";
+      name = "umbrello-18.04.1.tar.xz";
     };
   };
   zeroconf-ioslave = {
-    version = "17.12.2";
+    version = "18.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.12.2/src/zeroconf-ioslave-17.12.2.tar.xz";
-      sha256 = "09p55dmrsi8jyvs793ya2xzfbhm6f6gwg8ldri15v9n3if7crpzx";
-      name = "zeroconf-ioslave-17.12.2.tar.xz";
+      url = "${mirror}/stable/applications/18.04.1/src/zeroconf-ioslave-18.04.1.tar.xz";
+      sha256 = "09nvkcq924v3f8jl36618j0hx2b1dzkvbvspf98mnx9lsliyzsc3";
+      name = "zeroconf-ioslave-18.04.1.tar.xz";
     };
   };
 }
diff --git a/pkgs/applications/misc/1password/default.nix b/pkgs/applications/misc/1password/default.nix
new file mode 100644
index 00000000000..b0b6111b334
--- /dev/null
+++ b/pkgs/applications/misc/1password/default.nix
@@ -0,0 +1,34 @@
+{ stdenv, fetchzip, makeWrapper }:
+
+stdenv.mkDerivation rec {
+  name = "1password-${version}";
+  version = "0.4";
+  src = if stdenv.system == "i686-linux" then fetchzip {
+    url = "https://cache.agilebits.com/dist/1P/op/pkg/v${version}/op_linux_386_v${version}.zip";
+    sha256 = "0mhlqvd3az50gnfil0xlq10855v3bg7yb05j6ndg4h2c551jrq41";
+    stripRoot = false;
+  } else fetchzip {
+    url = "https://cache.agilebits.com/dist/1P/op/pkg/v${version}/op_linux_amd64_v${version}.zip";
+    sha256 = "15cv8xi4slid9jicdmc5xx2r9ag63wcx1mn7hcgzxbxbhyrvwhyf";
+    stripRoot = false;
+  };
+
+  nativeBuildInputs = [ makeWrapper ];
+  installPhase = ''
+    mkdir -p $out/bin
+    install -D op $out/share/1password/op
+
+    # https://github.com/NixOS/patchelf/issues/66#issuecomment-267743051
+    makeWrapper $(cat $NIX_CC/nix-support/dynamic-linker) $out/bin/op \
+      --argv0 op \
+      --add-flags $out/share/1password/op
+  '';
+
+  meta = with stdenv.lib; {
+    description = "1Password command-line tool";
+    homepage    = "https://blog.agilebits.com/2017/09/06/announcing-the-1password-command-line-tool-public-beta/";
+    maintainers = with maintainers; [ joelburget ];
+    license     = licenses.unfree;
+    platforms   = [ "i686-linux" "x86_64-linux" ];
+  };
+}
diff --git a/pkgs/applications/misc/alacritty/default.nix b/pkgs/applications/misc/alacritty/default.nix
index 6907ce87764..4a10d68ee4d 100644
--- a/pkgs/applications/misc/alacritty/default.nix
+++ b/pkgs/applications/misc/alacritty/default.nix
@@ -13,6 +13,7 @@
   libXxf86vm,
   libXi,
   libXrandr,
+  libGL,
   xclip }:
 
 with rustPlatform;
@@ -26,22 +27,23 @@ let
     libXcursor
     libXxf86vm
     libXrandr
+    libGL
     libXi
   ];
 in buildRustPackage rec {
   name = "alacritty-unstable-${version}";
-  version = "2018-03-04";
+  version = "2018-04-16";
 
   # At the moment we cannot handle git dependencies in buildRustPackage.
   # This fork only replaces rust-fontconfig/libfontconfig with a git submodules.
   src = fetchgit {
     url = https://github.com/Mic92/alacritty.git;
     rev = "rev-${version}";
-    sha256 = "0pxnc6r75c7rwnsqc0idi4a60arpgchl1i8yppibhv0px5w11mwa";
+    sha256 = "14qsfaij631pk0gxrhmp594f72v0z7kzymf4hnqv4k5w9xlxciwx";
     fetchSubmodules = true;
   };
 
-  cargoSha256 = "0q2yy9cldng8znkmhysgrwi43z2x7a8nb1bnxpy9z170q8ds0m0j";
+  cargoSha256 = "0gg28fbx0kisv7hqxgzqhv4z4ikk074djfjlj90nmmi4nddp017p";
 
   nativeBuildInputs = [
     cmake
diff --git a/pkgs/applications/misc/apvlv/default.nix b/pkgs/applications/misc/apvlv/default.nix
index f1d84a91972..eb35eb9cf73 100644
--- a/pkgs/applications/misc/apvlv/default.nix
+++ b/pkgs/applications/misc/apvlv/default.nix
@@ -36,6 +36,11 @@ stdenv.mkDerivation rec {
       url = "https://github.com/naihe2010/apvlv/commit/4c7a583e8431964def482e5471f02e6de8e62a7b.patch";
       sha256 = "1dszm120lwm90hcg5zmd4vr6pjyaxc84qmb7k0fr59mmb3qif62j";
     })
+    # fix build with gcc7
+    (fetchpatch {
+      url = "https://github.com/naihe2010/apvlv/commit/a3a895772a27d76dab0c37643f0f4c73f9970e62.patch";
+      sha256 = "1fpc7wr1ajilvwi5gjsy5g9jcx4bl03gp5dmajg90ljqbhwz2bfi";
+    })
   ];
 
   installPhase = ''
@@ -58,7 +63,7 @@ stdenv.mkDerivation rec {
     '';
 
     license = licenses.lgpl2;
-    platforms = platforms.unix;
+    platforms = platforms.linux;
     maintainers = [ maintainers.ardumont ];
   };
 
diff --git a/pkgs/applications/misc/audio/soxr/default.nix b/pkgs/applications/misc/audio/soxr/default.nix
index 12da125bb3e..7c4e6ff8c3d 100644
--- a/pkgs/applications/misc/audio/soxr/default.nix
+++ b/pkgs/applications/misc/audio/soxr/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, cmake }:
 
 stdenv.mkDerivation rec {
-  name = "soxr-0.1.2";
+  name = "soxr-0.1.3";
 
   src = fetchurl {
     url = "mirror://sourceforge/soxr/${name}-Source.tar.xz";
-    sha256 = "0xf2w3piwz9gfr1xqyrj4k685q5dy53kq3igv663i4f4y4sg9rjl";
+    sha256 = "12aql6svkplxq5fjycar18863hcq84c5kx8g6f4rj0lcvigw24di";
   };
 
   outputs = [ "out" "doc" ]; # headers are just two and very small
diff --git a/pkgs/applications/misc/bb/default.nix b/pkgs/applications/misc/bb/default.nix
index 3d04b53dcde..0689843af61 100644
--- a/pkgs/applications/misc/bb/default.nix
+++ b/pkgs/applications/misc/bb/default.nix
@@ -19,6 +19,6 @@ stdenv.mkDerivation rec {
     description = "AA-lib demo";
     license     = licenses.gpl2;
     maintainers = [ maintainers.rnhmjoj ];
-    platforms   = platforms.unix;
+    platforms   = platforms.linux;
   };
 }
diff --git a/pkgs/applications/misc/bleachbit/default.nix b/pkgs/applications/misc/bleachbit/default.nix
index 196db45d905..f0dce54675c 100644
--- a/pkgs/applications/misc/bleachbit/default.nix
+++ b/pkgs/applications/misc/bleachbit/default.nix
@@ -1,13 +1,13 @@
 { stdenv, pythonPackages, fetchurl }:
 pythonPackages.buildPythonApplication rec {
   name = "bleachbit-${version}";
-  version = "1.12";
+  version = "2.0";
 
   namePrefix = "";
 
   src = fetchurl {
     url = "mirror://sourceforge/bleachbit/${name}.tar.bz2";
-    sha256 = "1x58n429q1c77nfpf2g3vyh6yq8wha69zfzmxf1rvjvcvvmqs62m";
+    sha256 = "0ps98zx4n13q92bq7ykqi6hj3i7brdqgm87i9gk6ibvljp1vxdz9";
   };
 
   buildInputs = [  pythonPackages.wrapPython ];
diff --git a/pkgs/applications/misc/blender/default.nix b/pkgs/applications/misc/blender/default.nix
index 8133bf1c763..c4c57380be9 100644
--- a/pkgs/applications/misc/blender/default.nix
+++ b/pkgs/applications/misc/blender/default.nix
@@ -1,21 +1,24 @@
 { stdenv, lib, fetchurl, boost, cmake, ffmpeg, gettext, glew
 , ilmbase, libXi, libX11, libXext, libXrender
 , libjpeg, libpng, libsamplerate, libsndfile
-, libtiff, libGLU_combined, openal, opencolorio, openexr, openimageio, openjpeg_1, python
+, libtiff, libGLU_combined, openal, opencolorio, openexr, openimageio, openjpeg_1, pythonPackages
 , zlib, fftw, opensubdiv, freetype, jemalloc, ocl-icd
 , jackaudioSupport ? false, libjack2
 , cudaSupport ? false, cudatoolkit
 , colladaSupport ? true, opencollada
+, enableNumpy ? false, makeWrapper
 }:
 
 with lib;
 
+let python = pythonPackages.python; in
+
 stdenv.mkDerivation rec {
-  name = "blender-2.79a";
+  name = "blender-2.79b";
 
   src = fetchurl {
     url = "http://download.blender.org/source/${name}.tar.gz";
-    sha256 = "1mw45mvfk9f0fhn12vp3g2vwqzinrp3by0m3w01wj87h9ri5zkwc";
+    sha256 = "1g4kcdqmf67srzhi3hkdnr4z1ph4h9sza1pahz38mrj998q4r52c";
   };
 
   buildInputs =
@@ -24,6 +27,7 @@ stdenv.mkDerivation rec {
       freetype libjpeg libpng libsamplerate libsndfile libtiff libGLU_combined openal
       opencolorio openexr openimageio openjpeg_1 python zlib fftw jemalloc
       (opensubdiv.override { inherit cudaSupport; })
+      makeWrapper
     ]
     ++ optional jackaudioSupport libjack2
     ++ optional cudaSupport cudatoolkit
@@ -70,6 +74,12 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
+  postInstall = optionalString enableNumpy
+    ''
+      wrapProgram $out/bin/blender \
+        --prefix PYTHONPATH : ${pythonPackages.numpy}/lib/python${python.majorVersion}/site-packages
+    '';
+
   meta = with stdenv.lib; {
     description = "3D Creation/Animation/Publishing System";
     homepage = https://www.blender.org;
diff --git a/pkgs/applications/misc/buku/default.nix b/pkgs/applications/misc/buku/default.nix
index e75076e53d1..83ba02933fd 100644
--- a/pkgs/applications/misc/buku/default.nix
+++ b/pkgs/applications/misc/buku/default.nix
@@ -1,17 +1,22 @@
-{ stdenv, python3, fetchFromGitHub }:
+{ stdenv, python3, fetchFromGitHub, fetchpatch }:
 
 with python3.pkgs; buildPythonApplication rec {
-  version = "3.6";
-  name = "buku-${version}";
+  version = "3.7";
+  pname = "buku";
 
   src = fetchFromGitHub {
     owner = "jarun";
     repo = "buku";
     rev = "v${version}";
-    sha256 = "1639sf200n9rxgkvvhlhnrjsb7vn42p1fl1rx562axh3vpr6j4c4";
+    sha256 = "0qc6xkrhf2phaj9fhym19blr4rr2vllvnyljjz909xr4vsynvb41";
   };
 
-  nativeBuildInputs = [
+  patches = fetchpatch {
+    url = https://github.com/jarun/Buku/commit/495d6eac4d9371e8ce6d3f601e2bb9e5e74962b4.patch;
+    sha256 = "0py4l5qcgdzqr0iqmcc8ddld1bspk8iwypz4dcr88y70j86588gk";
+  };
+
+  checkInputs = [
     pytestcov
     pytest-catchlog
     hypothesis
@@ -52,7 +57,7 @@ with python3.pkgs; buildPythonApplication rec {
     homepage = https://github.com/jarun/Buku;
     license = licenses.gpl3;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ matthiasbeyer infinisil ];
+    maintainers = with maintainers; [ infinisil ];
   };
 }
 
diff --git a/pkgs/applications/misc/calibre/default.nix b/pkgs/applications/misc/calibre/default.nix
index 8924114013c..3c1f426fb1b 100644
--- a/pkgs/applications/misc/calibre/default.nix
+++ b/pkgs/applications/misc/calibre/default.nix
@@ -5,28 +5,20 @@
 }:
 
 stdenv.mkDerivation rec {
-  version = "3.17.0";
+  version = "3.23.0";
   name = "calibre-${version}";
 
   src = fetchurl {
     url = "https://download.calibre-ebook.com/${version}/${name}.tar.xz";
-    sha256 = "1w6hw1s0d4daa4q2ykzhxdndiq61l8z7ls7rxh7k7p62ia0i5sxp";
+    sha256 = "0ds3i3dhkgpwa3c1lcq4zjmiaza8k9and0lbqqw4i6jrnpk691f9";
   };
 
   patches = [
     # Patches from Debian that:
     # - disable plugin installation (very insecure)
+    ./disable_plugins.patch
     # - switches the version update from enabled to disabled by default
-    (fetchpatch {
-      name = "disable_plugins.patch";
-      url = "http://bazaar.launchpad.net/~calibre-packagers/calibre/debian/download/head:/disable_plugins.py-20111220183043-dcl08ccfagjxt1dv-1/disable_plugins.py";
-      sha256 = "19spdx52dhbrfn9lm084yl3cfwm6f90imd51k97sf7flmpl569pk";
-    })
-    (fetchpatch {
-      name = "no_updates_dialog.patch";
-      url = "http://bazaar.launchpad.net/~calibre-packagers/calibre/debian/download/head:/no_updates_dialog.pa-20081231120426-rzzufl0zo66t3mtc-16/no_updates_dialog.patch";
-      sha256 = "16xwa2fa47jvs954fjrwr8rhh89aljgi1d1wrfxa40sknlmfwxif";
-    })
+    ./no_updates_dialog.patch
     # the unrar patch is not from debian
   ] ++ stdenv.lib.optional (!unrarSupport) ./dont_build_unrar_plugin.patch;
 
diff --git a/pkgs/applications/misc/calibre/disable_plugins.patch b/pkgs/applications/misc/calibre/disable_plugins.patch
new file mode 100644
index 00000000000..9ef1dd04251
--- /dev/null
+++ b/pkgs/applications/misc/calibre/disable_plugins.patch
@@ -0,0 +1,17 @@
+Description: Disable plugin dialog. It uses a totally non-authenticated and non-trusted way of installing arbitrary code.
+Author: Martin Pitt <mpitt@debian.org>
+Bug-Debian: http://bugs.debian.org/640026
+
+Index: calibre-0.8.29+dfsg/src/calibre/gui2/actions/preferences.py
+===================================================================
+--- calibre-0.8.29+dfsg.orig/src/calibre/gui2/actions/preferences.py	2011-12-16 05:49:14.000000000 +0100
++++ calibre-0.8.29+dfsg/src/calibre/gui2/actions/preferences.py	2011-12-20 19:29:04.798468930 +0100
+@@ -28,8 +28,6 @@
+             pm.addAction(QIcon(I('config.png')), _('Preferences'), self.do_config)
+         cm('welcome wizard', _('Run welcome wizard'),
+                 icon='wizard.png', triggered=self.gui.run_wizard)
+-        cm('plugin updater', _('Get plugins to enhance calibre'),
+-                icon='plugins/plugin_updater.png', triggered=self.get_plugins)
+         if not DEBUG:
+             pm.addSeparator()
+             cm('restart', _('Restart in debug mode'), icon='debug.png',
diff --git a/pkgs/applications/misc/calibre/no_updates_dialog.patch b/pkgs/applications/misc/calibre/no_updates_dialog.patch
new file mode 100644
index 00000000000..faaaf2c1994
--- /dev/null
+++ b/pkgs/applications/misc/calibre/no_updates_dialog.patch
@@ -0,0 +1,15 @@
+diff -burN calibre-2.9.0.orig/src/calibre/gui2/main.py calibre-2.9.0/src/calibre/gui2/main.py
+--- calibre-2.9.0.orig/src/calibre/gui2/main.py	2014-11-09 20:09:54.081231882 +0800
++++ calibre-2.9.0/src/calibre/gui2/main.py	2014-11-09 20:15:48.193033844 +0800
+@@ -37,8 +37,9 @@
+                       help=_('Start minimized to system tray.'))
+     parser.add_option('-v', '--verbose', default=0, action='count',
+                       help=_('Ignored, do not use. Present only for legacy reasons'))
+-    parser.add_option('--no-update-check', default=False, action='store_true',
+-            help=_('Do not check for updates'))
++    parser.add_option('--update-check', dest='no_update_check', default=True,
++            action='store_false',
++            help=_('Check for updates'))
+     parser.add_option('--ignore-plugins', default=False, action='store_true',
+             help=_('Ignore custom plugins, useful if you installed a plugin'
+                 ' that is preventing calibre from starting'))
diff --git a/pkgs/applications/misc/cataract/build.nix b/pkgs/applications/misc/cataract/build.nix
index e48b32a783d..f2aac4326cb 100644
--- a/pkgs/applications/misc/cataract/build.nix
+++ b/pkgs/applications/misc/cataract/build.nix
@@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
     homepage = http://cgg.bzatek.net/;
     description = "a simple static web photo gallery, designed to be clean and easily usable";
     license = stdenv.lib.licenses.gpl2;
-    maintainers = [ stdenv.lib.maintainers.matthiasbeyer ];
+    maintainers = with stdenv.lib.maintainers; [ ];
     platforms = with stdenv.lib.platforms; linux ++ darwin;
   };
 }
diff --git a/pkgs/applications/misc/cbatticon/default.nix b/pkgs/applications/misc/cbatticon/default.nix
index 0c71b3ffb0a..01511b41b08 100644
--- a/pkgs/applications/misc/cbatticon/default.nix
+++ b/pkgs/applications/misc/cbatticon/default.nix
@@ -3,13 +3,13 @@
 stdenv.mkDerivation rec {
 
   name = "cbatticon-${version}";
-  version = "1.6.7";
+  version = "1.6.8";
 
   src = fetchFromGitHub {
     owner = "valr";
     repo = "cbatticon";
     rev = version;
-    sha256 = "0rm1rpq81cxjwd4f11c3ivg5hwsd08qm47vdn16yr1cmm2cw4r2d";
+    sha256 = "16g26vin1693dbdr9qsnw36fdchx394lp79gvp7gcbw0w1ny9av6";
   };
 
   makeFlags = "PREFIX=$(out)";
diff --git a/pkgs/applications/misc/cheat/default.nix b/pkgs/applications/misc/cheat/default.nix
index 4ef1adb8e6c..ad3f6534659 100644
--- a/pkgs/applications/misc/cheat/default.nix
+++ b/pkgs/applications/misc/cheat/default.nix
@@ -4,7 +4,7 @@ with python3Packages;
 buildPythonApplication rec {
   name = "${pname}-${version}";
   pname = "cheat";
-  version = "2.2.2";
+  version = "2.2.3";
 
   propagatedBuildInputs = [ docopt pygments ];
 
@@ -12,7 +12,7 @@ buildPythonApplication rec {
     owner = "chrisallenlane";
     repo = "cheat";
     rev = version;
-    sha256 = "1da4m4n6nivjakpll6jj0aszrv24g2zax74034lzpv3pbh84fvas";
+    sha256 = "1p9a54fax3b1ilqcwdlccy08ww3igwsyzcyikqivaxj5p6mqq6wl";
   };
   # no tests available
   doCheck = false;
diff --git a/pkgs/applications/misc/cherrytree/default.nix b/pkgs/applications/misc/cherrytree/default.nix
index 324fa12dc46..ff1712f12fe 100644
--- a/pkgs/applications/misc/cherrytree/default.nix
+++ b/pkgs/applications/misc/cherrytree/default.nix
@@ -4,11 +4,11 @@ with stdenv.lib;
 stdenv.mkDerivation rec {
 
   name = "cherrytree-${version}";
-  version = "0.37.6";
+  version = "0.38.4";
 
   src = fetchurl {
     url = "http://www.giuspen.com/software/${name}.tar.xz";
-    sha256 = "0x4cgsimpwh7wfbzbzw2f5ipxxjizpi4wa99s1cwizynfjr38y5s";
+    sha256 = "1zazyxkrli77wahn4c1z24qyz5bwlayl335f2kdxb44dicrx58g2";
   };
 
   buildInputs = with pythonPackages;
diff --git a/pkgs/applications/misc/chirp/default.nix b/pkgs/applications/misc/chirp/default.nix
index 673ecdc8549..b8fc63c2c9e 100644
--- a/pkgs/applications/misc/chirp/default.nix
+++ b/pkgs/applications/misc/chirp/default.nix
@@ -3,11 +3,11 @@
 
 stdenv.mkDerivation rec {
   name = "chirp-daily-${version}";
-  version = "20170714";
+  version = "20180412";
 
   src = fetchurl {
-    url = "http://trac.chirp.danplanet.com/chirp_daily/daily-${version}/${name}.tar.gz";
-    sha256 = "1pglsmc0pf50w7df4vv30z5hmdxy4aqjl3qrv8kfiax7rld21gcy";
+    url = "https://trac.chirp.danplanet.com/chirp_daily/daily-${version}/${name}.tar.gz";
+    sha256 = "17wpxqzifz6grw9xzg9q9vr58vm2xd50fhd64c3ngdhxcnq2dpj9";
   };
 
   nativeBuildInputs = [ makeWrapper ];
@@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "A free, open-source tool for programming your amateur radio";
-    homepage = http://chirp.danplanet.com/;
+    homepage = https://chirp.danplanet.com/;
     license = licenses.gpl3;
     platforms = platforms.linux;
     maintainers = [ maintainers.the-kenny ];
diff --git a/pkgs/applications/misc/cli-visualizer/default.nix b/pkgs/applications/misc/cli-visualizer/default.nix
index 8b24df1bee9..7aecc8f823e 100644
--- a/pkgs/applications/misc/cli-visualizer/default.nix
+++ b/pkgs/applications/misc/cli-visualizer/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchFromGitHub, fftw, ncurses5, libpulseaudio, makeWrapper }:
 
 stdenv.mkDerivation rec {
-  version = "1.6";
+  version = "1.7";
   name = "cli-visualizer-${version}";
 
   src = fetchFromGitHub {
     owner = "dpayne";
     repo = "cli-visualizer";
     rev = version;
-    sha256 = "0mirp8bk398di5xyq95iprmdyvplfghxqmrfj7jdnpy554vx7ppc";
+    sha256 = "06z6vj87xjmacppcxvgm47wby6mv1hnbqav8lpdk9v5s1hmmp1cr";
   };
 
   postPatch = ''
@@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
     homepage = https://github.com/dpayne/cli-visualizer;
     description = "CLI based audio visualizer";
     license = stdenv.lib.licenses.mit;
-    maintainers = [ stdenv.lib.maintainers.matthiasbeyer ];
+    maintainers = with stdenv.lib.maintainers; [ ];
     platforms = with stdenv.lib.platforms; linux;
   };
 }
diff --git a/pkgs/applications/misc/cointop/default.nix b/pkgs/applications/misc/cointop/default.nix
new file mode 100644
index 00000000000..2ac335759ce
--- /dev/null
+++ b/pkgs/applications/misc/cointop/default.nix
@@ -0,0 +1,30 @@
+{ stdenv, buildGoPackage, fetchgit }:
+
+buildGoPackage rec {
+  name    = "cointop-unstable-${version}";
+  version = "2018-05-03";
+  rev     = "08acd96082682347d458cd4f861e2debd3255745";
+
+  goPackagePath = "github.com/miguelmota/cointop";
+
+  src = fetchgit {
+    inherit rev;
+    url    = "https://github.com/miguelmota/cointop";
+    sha256 = "14savz48wzrfpm12fgnnndpl3mpzx7wsch4jrnm3rmrfdabdx7mi";
+  };
+
+  goDeps = ./deps.nix;
+
+  meta = {
+    description = "The fastest and most interactive terminal based UI application for tracking cryptocurrencies";
+    longDescription = ''
+    cointop is a fast and lightweight interactive terminal based UI application
+    for tracking and monitoring cryptocurrency coin stats in real-time.
+
+    The interface is inspired by htop and shortcut keys are inspired by vim.
+    '';
+    homepage  = https://cointop.sh;
+    platforms = stdenv.lib.platforms.linux; # cannot test others
+    maintainers = [ ];
+  };
+}
diff --git a/pkgs/applications/misc/cointop/deps.nix b/pkgs/applications/misc/cointop/deps.nix
new file mode 100644
index 00000000000..3ba1d12a804
--- /dev/null
+++ b/pkgs/applications/misc/cointop/deps.nix
@@ -0,0 +1,3 @@
+# This file was generated by https://github.com/kamilchm/go2nix v1.2.1
+[
+]
diff --git a/pkgs/applications/misc/confclerk/default.nix b/pkgs/applications/misc/confclerk/default.nix
index de18a211c45..661a00a0661 100644
--- a/pkgs/applications/misc/confclerk/default.nix
+++ b/pkgs/applications/misc/confclerk/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, qt4, qmake4Hook }:
 
-let version = "0.6.1"; in
+let version = "0.6.4"; in
 stdenv.mkDerivation {
   name = "confclerk-${version}";
 
   src = fetchurl {
     url = "http://www.toastfreeware.priv.at/tarballs/confclerk/confclerk-${version}.tar.gz";
-    sha256 = "1wprndshmc7k1919n7k93c4ha2jp171q31gx7xsbzx7g4sw6432g";
+    sha256 = "10rhg44px4nvbkd3p341cmp2ds43jn8r4rvgladda9v8zmsgr2b3";
   };
 
   buildInputs = [ qt4 ];
@@ -23,6 +23,6 @@ stdenv.mkDerivation {
     homepage = http://www.toastfreeware.priv.at/confclerk;
     license = stdenv.lib.licenses.gpl2;
     maintainers = with stdenv.lib.maintainers; [ ehmry ];
-    inherit (qt4.meta) platforms;
+    platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/applications/misc/copyq/default.nix b/pkgs/applications/misc/copyq/default.nix
index 37afea2bb6f..75a402ba231 100644
--- a/pkgs/applications/misc/copyq/default.nix
+++ b/pkgs/applications/misc/copyq/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   name = "CopyQ-${version}";
-  version = "3.1.2";
+  version = "3.3.1";
 
   src  = fetchFromGitHub {
     owner = "hluk";
     repo = "CopyQ";
     rev = "v${version}";
-    sha256 = "0gdx1bqqqr4fk6wcrxqm9li6z48j1w84wjwyjpzp2cjzg96bp6bl";
+    sha256 = "1jjb979dwdnkjca95yxzapbjpd6hr97hxz7sn614whvdv4vvpnyc";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/applications/misc/coursera-dl/default.nix b/pkgs/applications/misc/coursera-dl/default.nix
new file mode 100644
index 00000000000..a7a2dac26c6
--- /dev/null
+++ b/pkgs/applications/misc/coursera-dl/default.nix
@@ -0,0 +1,41 @@
+{ stdenv, fetchFromGitHub, glibcLocales, pandoc, python3 }:
+
+let
+  pythonPackages = python3.pkgs;
+
+in pythonPackages.buildPythonApplication rec {
+  name = "coursera-dl-${version}";
+  version = "0.10.0";
+
+  src = fetchFromGitHub {
+    owner = "coursera-dl";
+    repo = "coursera-dl";
+    rev = version;
+    sha256 = "0m3f6ly8c3mkb8yy2y398afswqgy17rz159s1054wzxpb4f85zlb";
+  };
+
+  nativeBuildInputs = with pythonPackages; [ pandoc ];
+
+  buildInputs = with pythonPackages; [ glibcLocales ];
+
+  propagatedBuildInputs = with pythonPackages; [ beautifulsoup4 ConfigArgParse keyring pyasn1 requests six urllib3 ];
+
+  checkInputs = with pythonPackages; [ pytest mock ];
+
+  preConfigure = ''
+    export LC_ALL=en_US.utf-8
+  '';
+
+  checkPhase = ''
+    # requires dbus service
+    py.test -k 'not test_get_credentials_with_keyring' .
+  '';
+
+  meta = with stdenv.lib; {
+    description = "CLI for downloading Coursera.org videos and naming them";
+    homepage = https://github.com/coursera-dl/coursera-dl;
+    license = licenses.lgpl3Plus;
+    maintainers = with maintainers; [ alexfmpe ];
+    platforms = platforms.darwin ++ platforms.linux;
+  };
+}
diff --git a/pkgs/applications/misc/cpp-ethereum/default.nix b/pkgs/applications/misc/cpp-ethereum/default.nix
index 857254c3cb0..33b16e3242c 100644
--- a/pkgs/applications/misc/cpp-ethereum/default.nix
+++ b/pkgs/applications/misc/cpp-ethereum/default.nix
@@ -80,5 +80,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl3;
     maintainers = with maintainers; [ artuuge ];
     platforms = platforms.linux;
+    broken = true; # 2018-04-10
   };
 }
diff --git a/pkgs/applications/misc/ctodo/default.nix b/pkgs/applications/misc/ctodo/default.nix
index 0123e0c38d7..f8927319a01 100644
--- a/pkgs/applications/misc/ctodo/default.nix
+++ b/pkgs/applications/misc/ctodo/default.nix
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
     homepage = http://ctodo.apakoh.dk/;
     description = "A simple ncurses-based task list manager";
     license = stdenv.lib.licenses.mit;
-    maintainers = [ stdenv.lib.maintainers.matthiasbeyer ];
+    maintainers = with stdenv.lib.maintainers; [ ];
     platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/applications/misc/curabydagoma/default.nix b/pkgs/applications/misc/curabydagoma/default.nix
new file mode 100644
index 00000000000..439b0fc2568
--- /dev/null
+++ b/pkgs/applications/misc/curabydagoma/default.nix
@@ -0,0 +1,76 @@
+{ stdenv, lib, fetchurl, python, pythonPackages, unzip }:
+
+# This package uses a precompiled "binary" distribution of CuraByDagoma,
+# distributed by the editor.
+#
+# To update the package, follow the links on https://dist.dagoma.fr/:
+# * Cura By Dagoma
+# * Linux
+# * 64 bits
+# * Genric archive
+#
+# I made the arbitrary choice to compile this package only for x86_64.
+# I guess people owning a 3D printer generally don't use i686.
+# If, however, someone needs it, we certainly can find a solution.
+
+stdenv.mkDerivation rec {
+  name = "curabydagoma-${version}";
+  # Version is the date, UNIX format
+  version = "1520506579";
+  # Hash of the user's choice: os, arch, package type...
+  hash = "58228cce5bbdcf764b7116850956f1e5";
+
+  src = fetchurl {
+    url = "https://dist.dagoma.fr/get/zip/CuraByDagoma/${version}/${hash}";
+    sha256 = "16wfipdyjkf6dq8awjzs4zgkmqk6230277mf3iz8swday9hns8pq";
+  };
+  unpackCmd = "unzip $curSrc && tar zxf CuraByDagoma_amd64.tar.gz";
+  nativeBuildInputs = [ unzip ];
+  buildInputs = [ python pythonPackages.pyopengl pythonPackages.wxPython pythonPackages.pyserial pythonPackages.numpy ];
+
+  # Compile all pyc files because the included pyc files may be older than the
+  # py files. However, Python doesn't realize that because the packages
+  # have all dates set to epoch.
+  buildPhase = ''
+    python -m compileall -f curabydago
+  '';
+
+  # * Simply copy the stuff there
+  # * Create an executable with the correct path etc
+  # * Create a .desktop file to have a launcher in the desktop environments
+  installPhase = ''
+    mkdir $out
+    cp -r * $out/
+
+    mkdir $out/bin
+    cat > $out/bin/curabydago <<EOF
+    #!/bin/sh
+    export PYTHONPATH=$PYTHONPATH
+    ${python.out}/bin/python $out/curabydago/cura.py
+    EOF
+    chmod a+x $out/bin/curabydago
+
+    mkdir -p $out/share/applications
+    cat > $out/share/applications/curabydago.desktop <<EOF
+    [Desktop Entry]
+    Type=Application
+    Name=Cura-by-dagoma
+    Comment=CuraByDagoma is a fork of Legacy Cura made by Dagoma for its own printers.
+    Icon=$out/curabydago/resources/images/cura.ico
+    Exec=$out/bin/curabydago
+    Path=$out/
+    StartupNotify=true
+    Terminal=false
+    Categories=GNOME;GTK;Utility;
+    EOF
+
+  '';
+
+  meta = with lib; {
+    description = "Slicer for 3D printers built by Dagoma";
+    homepage = https://dagoma.fr/cura-by-dagoma.html;
+    license = licenses.agpl3;
+    platforms = [ "x86_64-linux" ];
+    maintainers = with maintainers; [ tiramiseb ];
+  };
+}
diff --git a/pkgs/applications/misc/dbeaver/default.nix b/pkgs/applications/misc/dbeaver/default.nix
index caf40ef5faf..23b98200d14 100644
--- a/pkgs/applications/misc/dbeaver/default.nix
+++ b/pkgs/applications/misc/dbeaver/default.nix
@@ -7,7 +7,7 @@
 
 stdenv.mkDerivation rec {
   name = "dbeaver-ce-${version}";
-  version = "4.3.3";
+  version = "5.0.5";
 
   desktopItem = makeDesktopItem {
     name = "dbeaver";
@@ -29,8 +29,8 @@ stdenv.mkDerivation rec {
   ];
 
   src = fetchurl {
-    url = "https://dbeaver.jkiss.org/files/${version}/dbeaver-ce-${version}-linux.gtk.x86_64.tar.gz";
-    sha256 = "063h2za2m33b4k9s756lwicxwszzsqr2sqr2gi4ai05dqkgkw951";
+    url = "https://dbeaver.io/files/${version}/dbeaver-ce-${version}-linux.gtk.x86_64.tar.gz";
+    sha256 = "1rcskrv8d3rjcfcn1sxzcaxnvmzgdsbjc9m11li8i4rln712ysza";
   };
 
   installPhase = ''
@@ -55,7 +55,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with stdenv.lib; {
-    homepage = https://dbeaver.jkiss.org;
+    homepage = https://dbeaver.io/;
     description = "Universal SQL Client for developers, DBA and analysts. Supports MySQL, PostgreSQL, MariaDB, SQLite, and more";
     longDescription = ''
       Free multi-platform database tool for developers, SQL programmers, database
diff --git a/pkgs/applications/misc/deco/default.nix b/pkgs/applications/misc/deco/default.nix
index 170018dc972..e5dc011d553 100644
--- a/pkgs/applications/misc/deco/default.nix
+++ b/pkgs/applications/misc/deco/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, scsh, feh, xlibs }:
+{ stdenv, fetchFromGitHub, scsh, feh, xorg }:
 
 stdenv.mkDerivation rec {
   pname = "deco";
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
   postFixup = ''
     substituteInPlace $out/bin/deco --replace "/usr/bin/env scsh" "${scsh}/bin/scsh"
     substituteInPlace $out/bin/deco --replace "feh" "${feh}/bin/feh"
-    substituteInPlace $out/bin/deco --replace "xdpyinfo" "${xlibs.xdpyinfo}/bin/xdpyinfo"
+    substituteInPlace $out/bin/deco --replace "xdpyinfo" "${xorg.xdpyinfo}/bin/xdpyinfo"
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/misc/djvulibre/default.nix b/pkgs/applications/misc/djvulibre/default.nix
index 6e158f5696c..0b685e04a6f 100644
--- a/pkgs/applications/misc/djvulibre/default.nix
+++ b/pkgs/applications/misc/djvulibre/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, libjpeg, libtiff, librsvg, libintlOrEmpty }:
+{ stdenv, fetchurl, libjpeg, libtiff, librsvg, libiconv }:
 
 stdenv.mkDerivation rec {
   name = "djvulibre-3.5.27";
@@ -10,9 +10,7 @@ stdenv.mkDerivation rec {
 
   outputs = [ "bin" "dev" "out" ];
 
-  buildInputs = [ libjpeg libtiff librsvg ] ++ libintlOrEmpty;
-
-  NIX_LDFLAGS = stdenv.lib.optionalString stdenv.isDarwin "-lintl";
+  buildInputs = [ libjpeg libtiff librsvg libiconv ];
 
   meta = with stdenv.lib; {
     description = "A library and viewer for the DJVU file format for scanned images";
diff --git a/pkgs/applications/misc/dmenu/default.nix b/pkgs/applications/misc/dmenu/default.nix
index 8ef4f3ae897..3b620fc0606 100644
--- a/pkgs/applications/misc/dmenu/default.nix
+++ b/pkgs/applications/misc/dmenu/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, libX11, libXinerama, libXft, zlib, patches ? null }:
 
 stdenv.mkDerivation rec {
-  name = "dmenu-4.7";
+  name = "dmenu-4.8";
 
   src = fetchurl {
-    url = "http://dl.suckless.org/tools/${name}.tar.gz";
-    sha256 = "1fgph549i0yw62x02jhfc8qmqk2rnzcnm46bxq6jig1cvkw3amm7";
+    url = "https://dl.suckless.org/tools/${name}.tar.gz";
+    sha256 = "0qfvfrj10xlwd9hkvb57wshryan65bl6423h0qhiw1h76rf5lqgy";
   };
 
   buildInputs = [ libX11 libXinerama zlib libXft ];
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
       description = "A generic, highly customizable, and efficient menu for the X Window System";
-      homepage = http://tools.suckless.org/dmenu;
+      homepage = https://tools.suckless.org/dmenu;
       license = licenses.mit;
       maintainers = with maintainers; [ viric pSub ];
       platforms = platforms.all;
diff --git a/pkgs/applications/misc/dunst/default.nix b/pkgs/applications/misc/dunst/default.nix
index 9906b1fd858..75640b2c54e 100644
--- a/pkgs/applications/misc/dunst/default.nix
+++ b/pkgs/applications/misc/dunst/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, fetchpatch
+{ stdenv, fetchFromGitHub
 , pkgconfig, which, perl, libXrandr
 , cairo, dbus, systemd, gdk_pixbuf, glib, libX11, libXScrnSaver
 , libXinerama, libnotify, libxdg_basedir, pango, xproto, librsvg
@@ -6,13 +6,13 @@
 
 stdenv.mkDerivation rec {
   name = "dunst-${version}";
-  version = "1.3.1";
+  version = "1.3.2";
 
   src = fetchFromGitHub {
     owner = "dunst-project";
     repo = "dunst";
     rev = "v${version}";
-    sha256 = "0i518v2z9fklzl5w60gkwwmg30yz3bd0k4rxjrxjabx73pvxm1mz";
+    sha256 = "1kqlshaflp306yrjjmc28pghi1y5p24vdx4bxf8i4n9khdawb514";
   };
 
   nativeBuildInputs = [ perl pkgconfig which systemd ];
diff --git a/pkgs/applications/misc/electron-cash/default.nix b/pkgs/applications/misc/electron-cash/default.nix
index 21af05133bf..76b61de5608 100644
--- a/pkgs/applications/misc/electron-cash/default.nix
+++ b/pkgs/applications/misc/electron-cash/default.nix
@@ -7,14 +7,14 @@ let
 in
 
 python3Packages.buildPythonApplication rec {
-  version = "3.1.2";
+  version = "3.1.6";
   name = "electron-cash-${version}";
 
   src = fetchurl {
     url = "https://electroncash.org/downloads/${version}/win-linux/ElectronCash-${version}.tar.gz";
     # Verified using official SHA-1 and signature from
     # https://github.com/fyookball/keys-n-hashes
-    sha256 = "18h44jfbc2ksj34hdzgszvvq82xi28schl3wp3lkq9fjp7ny0mf3";
+    sha256 = "062k5iw0jcp10zxrffvgiyfg51c5xzs7gmm638icx01yy67d58dm";
   };
 
   propagatedBuildInputs = with python3Packages; [
diff --git a/pkgs/applications/misc/electrum-dash/default.nix b/pkgs/applications/misc/electrum/dash.nix
index c98efa547b3..c98efa547b3 100644
--- a/pkgs/applications/misc/electrum-dash/default.nix
+++ b/pkgs/applications/misc/electrum/dash.nix
diff --git a/pkgs/applications/misc/electrum/default.nix b/pkgs/applications/misc/electrum/default.nix
index 40fc10a5673..383f73b6299 100644
--- a/pkgs/applications/misc/electrum/default.nix
+++ b/pkgs/applications/misc/electrum/default.nix
@@ -2,22 +2,13 @@
 
 python3Packages.buildPythonApplication rec {
   name = "electrum-${version}";
-  version = "3.0.6";
+  version = "3.1.3";
 
   src = fetchurl {
     url = "https://download.electrum.org/${version}/Electrum-${version}.tar.gz";
-    sha256 = "01dnqiazjl2avrmdiq68absjvcfv24446y759z2s9dwk8ywzjkrg";
+    sha256 = "05m28yd3zr9awjhaqikf4rg08j5i4ygm750ip1z27wl446sysniy";
   };
 
-  patches = [
-    # Trezor compat patch should be included in electrum > 3.0.6
-    (fetchpatch {
-      name = "trezor-compat.patch";
-      url = "https://patch-diff.githubusercontent.com/raw/spesmilo/electrum/pull/3621.patch";
-      sha256 = "1bk1r2ikhnvw1fpfh71y4za2lnskcbkv50k8ynjxi5slx2wrfpl0";
-    })
-  ];
-
   propagatedBuildInputs = with python3Packages; [
     dnspython
     ecdsa
diff --git a/pkgs/applications/misc/electrum-ltc/default.nix b/pkgs/applications/misc/electrum/ltc.nix
index 10b2aacbf8c..45c44880462 100644
--- a/pkgs/applications/misc/electrum-ltc/default.nix
+++ b/pkgs/applications/misc/electrum/ltc.nix
@@ -5,11 +5,11 @@
 
 python3Packages.buildPythonApplication rec {
   name = "electrum-ltc-${version}";
-  version = "3.0.5.1";
+  version = "3.1.3.1";
 
   src = fetchurl {
     url = "https://electrum-ltc.org/download/Electrum-LTC-${version}.tar.gz";
-    sha256 = "1acsgzmd83cz6ha5fw63mi7123fr6gbiq537p5lxxfs2i8zrl63r";
+    sha256 = "0kxcx1xf6h9z8x0k483d6ykpnmfr30n6z3r6lgqxvbl42pq75li7";
   };
 
   propagatedBuildInputs = with python3Packages; [
diff --git a/pkgs/applications/misc/et/default.nix b/pkgs/applications/misc/et/default.nix
index 40631b0a0db..4aaaa333998 100644
--- a/pkgs/applications/misc/et/default.nix
+++ b/pkgs/applications/misc/et/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "et-${version}";
-  version = "0.1";
+  version = "0.1.1";
 
   src = fetchFromGitHub {
     owner = "geistesk";
     repo = "et";
     rev = "${version}";
-    sha256 = "1d2hq6p1y2ynk0a3l35lwbm1fcl9kg7rpjcin8bx4xcdpbw42y94";
+    sha256 = "167w9qwfpd63rgy0xmkkkh5krmd91q42c3ijy3j099krgdfbb9bc";
   };
 
   buildInputs = [ libnotify gdk_pixbuf ];
diff --git a/pkgs/applications/misc/far2l/add-nix-syntax-highlighting.patch b/pkgs/applications/misc/far2l/add-nix-syntax-highlighting.patch
index 0ed98ee947b..a50070c4ead 100644
--- a/pkgs/applications/misc/far2l/add-nix-syntax-highlighting.patch
+++ b/pkgs/applications/misc/far2l/add-nix-syntax-highlighting.patch
@@ -77,9 +77,9 @@ index 0000000..1bd9bb5
 +      <block start="/(\()/"   end="/(\))/" scheme="NixExpression" region00="Symbol"        region01="PairStart" region10="Symbol"        region11="PairEnd"/>
 +      <block start="/(\[)/"   end="/(\])/" scheme="NixExpression" region00="Symbol"        region01="PairStart" region10="Symbol"        region11="PairEnd"/>
 +
-+      <regexp match="/[\w\d.+=?~-]*(\/[\w\d.+=?~-]+)+/"                         region0="Path"/>
-+      <regexp match="/&lt;[\w\d\/.+=?~-]+&gt;/"                                 region0="Path"/>
-+      <regexp match="/(ftp|mirror|http|https|git):\/\/[\w\d\/:?=&amp;.~-]+/"    region0="URL"/>
++      <regexp match="/[\w\d.+=?~-]*(\/[\w\d.+?~-]+)+/"                          region0="Path"/>
++      <regexp match="/&lt;[\w\d\/.+?~-]+&gt;/"                                  region0="Path"/>
++      <regexp match="/(ftp|mirror|http|https|git):\/\/[\w\d\/:?=&amp;.~+-]+/"   region0="URL"/>
 +      <block start="/(&quot;)/"       end="/(&quot;)/"       scheme="String"      region="String" region00="def:StringEdge" region01="def:PairStart" region10="def:StringEdge" region11="def:PairEnd"/>
 +      <block start="/(&apos;&apos;)/" end="/(&apos;&apos;)/" scheme="BlockString" region="String" region00="def:StringEdge" region01="def:PairStart" region10="def:StringEdge" region11="def:PairEnd"/>
 +
diff --git a/pkgs/applications/misc/far2l/default.nix b/pkgs/applications/misc/far2l/default.nix
index aaaa7f3c214..9ddd39981cc 100644
--- a/pkgs/applications/misc/far2l/default.nix
+++ b/pkgs/applications/misc/far2l/default.nix
@@ -3,15 +3,15 @@
 
 with stdenv.lib;
 stdenv.mkDerivation rec {
-  rev = "192dace49c2e5456ca235833ee9877e4b8b491cc";
-  build = "unstable-2017-10-08.git${builtins.substring 0 7 rev}";
+  rev = "819d131110a9fedfc14f3b3bea8f1f56e68b077a";
+  build = "unstable-2018-02-27.git${builtins.substring 0 7 rev}";
   name = "far2l-2.1.${build}";
 
   src = fetchFromGitHub {
     owner = "elfmz";
     repo = "far2l";
     rev = rev;
-    sha256 = "1l1sf5zlr99xrmjlpzfk3snxqw13xgvnqilw4n7051b8km0snrbl";
+    sha256 = "1xjy2ricd68pm9j758pb2axc2269ns2xh86443x5llfcaxrjja4b";
   };
 
   nativeBuildInputs = [ cmake pkgconfig m4 makeWrapper imagemagick ];
diff --git a/pkgs/applications/misc/gcal/default.nix b/pkgs/applications/misc/gcal/default.nix
index 67bb5feff8c..f3f7fe2aacb 100644
--- a/pkgs/applications/misc/gcal/default.nix
+++ b/pkgs/applications/misc/gcal/default.nix
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
     '';
     homepage = https://www.gnu.org/software/gcal/;
     license = stdenv.lib.licenses.gpl3Plus;
-    platforms = stdenv.lib.platforms.linux;
+    platforms = stdenv.lib.platforms.unix;
     maintainers = [ stdenv.lib.maintainers.romildo ];
   };
 }
diff --git a/pkgs/applications/misc/gcalcli/default.nix b/pkgs/applications/misc/gcalcli/default.nix
index d3ba5a97333..6a7a7ae604d 100644
--- a/pkgs/applications/misc/gcalcli/default.nix
+++ b/pkgs/applications/misc/gcalcli/default.nix
@@ -1,7 +1,38 @@
-{ stdenv, lib, fetchFromGitHub, pythonPackages
+{ stdenv, lib, fetchFromGitHub, python2
 , libnotify ? null }:
 
-pythonPackages.buildPythonApplication rec {
+let
+  py = python2.override {
+    packageOverrides = self: super: {
+      google_api_python_client = super.google_api_python_client.overridePythonAttrs (oldAttrs: rec {
+        version = "1.5.1";
+        src = oldAttrs.src.override {
+          inherit version;
+          sha256 = "1ggxk094vqr4ia6yq7qcpa74b4x5cjd5mj74rq0xx9wp2jkrxmig";
+        };
+      });
+
+      oauth2client = super.oauth2client.overridePythonAttrs (oldAttrs: rec {
+        version = "1.4.12";
+        src = oldAttrs.src.override {
+          inherit version;
+          sha256 = "0phfk6s8bgpap5xihdk1xv2lakdk1pb3rg6hp2wsg94hxcxnrakl";
+        };
+      });
+
+      uritemplate = super.uritemplate.overridePythonAttrs (oldAttrs: rec {
+        version = "0.6";
+        src = oldAttrs.src.override {
+          inherit version;
+          sha256 = "1zapwg406vkwsirnzc6mwq9fac4az8brm6d9bp5xpgkyxc5263m3";
+        };
+        # there are no checks in this version
+        doCheck = false;
+      });
+    };
+  };
+
+in with py.pkgs; buildPythonApplication rec {
   version = "3.4.0";
   name = "gcalcli-${version}";
 
@@ -12,27 +43,21 @@ pythonPackages.buildPythonApplication rec {
     sha256 = "171awccgnmfv4j7m2my9387sjy60g18kzgvscl6pzdid9fn9rrm8";
   };
 
-  propagatedBuildInputs = with pythonPackages; [
-    dateutil
-    gflags
-    google_api_python_client
-    httplib2
-    oauth2client
-    parsedatetime
-    six
-    vobject
-  ]
-  ++ lib.optional (!pythonPackages.isPy3k) futures;
-
-  # there are no tests as of 3.4.0
-  doCheck = false;
+  propagatedBuildInputs = [
+    dateutil gflags httplib2 parsedatetime six vobject
+    # overridden
+    google_api_python_client oauth2client uritemplate
+  ] ++ lib.optional (!isPy3k) futures;
 
   postInstall = lib.optionalString stdenv.isLinux ''
-    substituteInPlace $out/bin/gcalcli \
-      --replace "command = 'notify-send -u critical -a gcalcli %s'" \
-                "command = '${libnotify}/bin/notify-send -i view-calendar-upcoming-events -u critical -a Calendar %s'"
+    substituteInPlace $out/bin/gcalcli --replace \
+      "command = 'notify-send -u critical -a gcalcli %s'" \
+      "command = '${libnotify}/bin/notify-send -i view-calendar-upcoming-events -u critical -a Calendar %s'"
   '';
 
+  # There are no tests as of 3.4.0
+  doCheck = false;
+
   meta = with lib; {
     homepage = https://github.com/insanum/gcalcli;
     description = "CLI for Google Calendar";
diff --git a/pkgs/applications/misc/girara/default.nix b/pkgs/applications/misc/girara/default.nix
index 7fd3db860df..ab4159790de 100644
--- a/pkgs/applications/misc/girara/default.nix
+++ b/pkgs/applications/misc/girara/default.nix
@@ -1,35 +1,18 @@
-{ stdenv, fetchurl, pkgconfig, gtk, gettext, ncurses, libiconv, libintlOrEmpty
-, withBuildColors ? true
+{ stdenv, fetchurl, meson, ninja, pkgconfig, glib, gtk, gettext, libiconv, libintl
 }:
 
-assert withBuildColors -> ncurses != null;
-
 stdenv.mkDerivation rec {
   name = "girara-${version}";
-  version = "0.2.8";
+  version = "0.2.9";
 
   src = fetchurl {
-    url    = "http://pwmt.org/projects/girara/download/${name}.tar.gz";
-    sha256 = "18wss3sak3djip090v2vdbvq1mvkwcspfswc87zbvv3magihan98";
+    url = "http://pwmt.org/projects/girara/download/${name}.tar.xz";
+    sha256 = "0lkxrfna818wkkr2f6mdzf15y5z8xl1b9592ylmzjbqsqya3w7x8";
   };
 
-  preConfigure = ''
-    substituteInPlace colors.mk \
-      --replace 'ifdef TPUT_AVAILABLE' 'ifneq ($(TPUT_AVAILABLE), 0)'
-  '';
-
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ gtk gettext libintlOrEmpty ]
-    ++ stdenv.lib.optional stdenv.isDarwin libiconv;
-
-  NIX_LDFLAGS = stdenv.lib.optionalString stdenv.isDarwin "-lintl";
-
-  makeFlags = [
-    "PREFIX=$(out)"
-    (if withBuildColors
-      then "TPUT=${ncurses.out}/bin/tput"
-      else "TPUT_AVAILABLE=0")
-  ];
+  nativeBuildInputs = [ meson ninja pkgconfig gettext ];
+  buildInputs = [ libintl libiconv ];
+  propagatedBuildInputs = [ glib gtk ];
 
   meta = with stdenv.lib; {
     homepage = https://pwmt.org/projects/girara/;
diff --git a/pkgs/applications/misc/gkrellm/default.nix b/pkgs/applications/misc/gkrellm/default.nix
index b9cbf8064a0..b4fac899f66 100644
--- a/pkgs/applications/misc/gkrellm/default.nix
+++ b/pkgs/applications/misc/gkrellm/default.nix
@@ -41,6 +41,6 @@ stdenv.mkDerivation rec {
     homepage = http://gkrellm.srcbox.net;
     license = licenses.gpl3Plus;
     maintainers = [ ];
-    platforms = platforms.unix;
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/misc/gmtp/default.nix b/pkgs/applications/misc/gmtp/default.nix
index 776a10b7e0c..bb1556c7c4d 100644
--- a/pkgs/applications/misc/gmtp/default.nix
+++ b/pkgs/applications/misc/gmtp/default.nix
@@ -2,14 +2,14 @@
 , gsettings-desktop-schemas, wrapGAppsHook
 }:
 
-let version = "1.3.10"; in
+let version = "1.3.11"; in
 
 stdenv.mkDerivation {
   name = "gmtp-${version}";
 
   src = fetchurl {
     url = "mirror://sourceforge/gmtp/gMTP-${version}/gmtp-${version}.tar.gz";
-    sha256 = "b21b9a8e66ae7bb09fc70ac7e317a0e32aff3917371a7241dea73c41db1dd13b";
+    sha256 = "04q6byyq002fhzkc2rkkahwh5b6272xakaj4m3vwm8la8jf0r0ss";
   };
 
   nativeBuildInputs = [ pkgconfig wrapGAppsHook ];
@@ -17,6 +17,10 @@ stdenv.mkDerivation {
 
   enableParallelBuilding = true;
 
+  preFixup = ''
+    gappsWrapperArgs+=(--add-flags "--datapath \"$out/share\"");
+  '';
+
   meta = {
     description = "A simple MP3 and Media player client for UNIX and UNIX like systems.";
     homepage = https://gmtp.sourceforge.io;
diff --git a/pkgs/applications/misc/gnome-usage/default.nix b/pkgs/applications/misc/gnome-usage/default.nix
new file mode 100644
index 00000000000..f99344b83d6
--- /dev/null
+++ b/pkgs/applications/misc/gnome-usage/default.nix
@@ -0,0 +1,37 @@
+{ stdenv, fetchurl, meson, ninja, pkgconfig, vala, gettext
+, libxml2, desktop-file-utils, wrapGAppsHook
+, glib, gtk3, libgtop, gnome3 }:
+
+let
+  pname = "gnome-usage";
+  version = "3.28.0";
+in stdenv.mkDerivation rec {
+  name = "${pname}-${version}";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/${pname}/${gnome3.versionBranch version}/${name}.tar.xz";
+    sha256 = "0130bwinpkz307nalw6ndi5mk38k5g6jna4gbw2916d54df6a4nq";
+  };
+
+  nativeBuildInputs = [ meson ninja pkgconfig vala gettext libxml2 desktop-file-utils wrapGAppsHook ];
+
+  buildInputs = [ glib gtk3 libgtop gnome3.defaultIconTheme ];
+
+  postPatch = ''
+    chmod +x build-aux/meson/postinstall.sh
+    patchShebangs build-aux/meson/postinstall.sh
+  '';
+
+  passthru = {
+    updateScript = gnome3.updateScript {
+      packageName = pname;
+    };
+  };
+
+  meta = with stdenv.lib; {
+    description = "";
+    license = licenses.gpl3;
+    platforms = platforms.linux;
+    maintainers = gnome3.maintainers;
+  };
+}
diff --git a/pkgs/applications/misc/gnuradio-ais/default.nix b/pkgs/applications/misc/gnuradio/ais.nix
index dfb8415219c..dfb8415219c 100644
--- a/pkgs/applications/misc/gnuradio-ais/default.nix
+++ b/pkgs/applications/misc/gnuradio/ais.nix
diff --git a/pkgs/applications/misc/gnuradio-gsm/default.nix b/pkgs/applications/misc/gnuradio/gsm.nix
index 6e0856ce66a..6e0856ce66a 100644
--- a/pkgs/applications/misc/gnuradio-gsm/default.nix
+++ b/pkgs/applications/misc/gnuradio/gsm.nix
diff --git a/pkgs/applications/misc/gnuradio-nacl/default.nix b/pkgs/applications/misc/gnuradio/nacl.nix
index 28836958e98..28836958e98 100644
--- a/pkgs/applications/misc/gnuradio-nacl/default.nix
+++ b/pkgs/applications/misc/gnuradio/nacl.nix
diff --git a/pkgs/applications/misc/gnuradio-osmosdr/default.nix b/pkgs/applications/misc/gnuradio/osmosdr.nix
index 355ca0e9544..355ca0e9544 100644
--- a/pkgs/applications/misc/gnuradio-osmosdr/default.nix
+++ b/pkgs/applications/misc/gnuradio/osmosdr.nix
diff --git a/pkgs/applications/misc/gnuradio-rds/default.nix b/pkgs/applications/misc/gnuradio/rds.nix
index 44ed89d9002..44ed89d9002 100644
--- a/pkgs/applications/misc/gnuradio-rds/default.nix
+++ b/pkgs/applications/misc/gnuradio/rds.nix
diff --git a/pkgs/applications/misc/go-jira/default.nix b/pkgs/applications/misc/go-jira/default.nix
new file mode 100644
index 00000000000..b80ddb8f303
--- /dev/null
+++ b/pkgs/applications/misc/go-jira/default.nix
@@ -0,0 +1,22 @@
+# This file was generated by https://github.com/kamilchm/go2nix v1.2.1
+{ stdenv, buildGoPackage, fetchgit }:
+
+buildGoPackage rec {
+  name = "go-jira-${version}";
+  version = "1.0.17";
+
+  goPackagePath = "gopkg.in/Netflix-Skunkworks/go-jira.v1";
+
+  src = fetchgit {
+    rev = "v${version}";
+    url = "https://gopkg.in/Netflix-Skunkworks/go-jira.v1";
+    sha256 = "0ap5dzikp934mawigmv7ighajr5yxpck2gpnb2cmkc1p6qa6gn4v";
+  };
+
+  meta = with stdenv.lib; {
+    description = "Simple command line client for Atlassian's Jira service written in Go";
+    homepage = "https://github.com/Netflix-Skunkworks/go-jira";
+    license = licenses.asl20;
+    maintainers = [ maintainers.carlosdagos ];
+  };
+}
diff --git a/pkgs/applications/misc/googleearth/default.nix b/pkgs/applications/misc/googleearth/default.nix
index f8ba66c4197..c77f8658220 100644
--- a/pkgs/applications/misc/googleearth/default.nix
+++ b/pkgs/applications/misc/googleearth/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchurl, glibc, libGLU_combined, freetype, glib, libSM, libICE, libXi, libXv
 , libXrender, libXrandr, libXfixes, libXcursor, libXinerama, libXext, libX11, qt4
-, zlib, fontconfig, dpkg }:
+, zlib, fontconfig, dpkg, libproxy, libxml2, gstreamer, gst_all_1, dbus }:
 
 let
   arch =
@@ -11,6 +11,7 @@ let
     if arch == "amd64"
     then "0dwnppn5snl5bwkdrgj4cyylnhngi0g66fn2k41j3dvis83x24k6"
     else "0gndbxrj3kgc2dhjqwjifr3cl85hgpm695z0wi01wvwzhrjqs0l2";
+  version = "7.1.8.3036";
   fullPath = stdenv.lib.makeLibraryPath [
     glibc
     glib
@@ -28,21 +29,26 @@ let
     freetype
     libXext
     libX11
-    qt4
     zlib
     fontconfig
+    libproxy
+    libxml2
+    gstreamer
+    dbus
+    gst_all_1.gstreamer
+    gst_all_1.gst-plugins-base
   ];
 in
 stdenv.mkDerivation rec {
-  version = "7.1.4.1529";
   name = "googleearth-${version}";
-
   src = fetchurl {
-    url = "https://dl.google.com/earth/client/current/google-earth-stable_current_${arch}.deb";
+    url = "https://dl.google.com/linux/earth/deb/pool/main/g/google-earth-stable/google-earth-stable_${version}-r0_${arch}.deb";
     inherit sha256;
   };
 
-  phases = "unpackPhase installPhase";
+  phases = [ "unpackPhase" "installPhase" "checkPhase" ];
+
+  doCheck = true;
 
   buildInputs = [ dpkg ];
 
@@ -55,25 +61,37 @@ stdenv.mkDerivation rec {
     mv usr/* $out/
     rmdir usr
     mv * $out/
-    rm $out/bin/google-earth $out/opt/google/earth/free/google-earth
-    ln -s $out/opt/google/earth/free/googleearth $out/bin/google-earth
+    rm $out/bin/google-earth $out/opt/google/earth/free/googleearth
 
+    # patch and link googleearth binary
+    ln -s $out/opt/google/earth/free/googleearth-bin $out/bin/googleearth
     patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
       --set-rpath "${fullPath}:\$ORIGIN" \
       $out/opt/google/earth/free/googleearth-bin
 
+    # patch and link gpsbabel binary
+    ln -s $out/opt/google/earth/free/gpsbabel $out/bin/gpsbabel
+    patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
+      --set-rpath "${fullPath}:\$ORIGIN" \
+      $out/opt/google/earth/free/gpsbabel
+
+    # patch libraries
     for a in $out/opt/google/earth/free/*.so* ; do
       patchelf --set-rpath "${fullPath}:\$ORIGIN" $a
     done
   '';
 
+  checkPhase = ''
+    $out/bin/gpsbabel -V > /dev/null
+  '';
+
   dontPatchELF = true;
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "A world sphere viewer";
     homepage = http://earth.google.com;
-    license = stdenv.lib.licenses.unfree;
-    maintainers = [ stdenv.lib.maintainers.viric ];
-    platforms = stdenv.lib.platforms.linux;
+    license = licenses.unfree;
+    maintainers = with maintainers; [ markus1189 ];
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/misc/googler/default.nix b/pkgs/applications/misc/googler/default.nix
index 026457fb857..3b8b08c1b66 100644
--- a/pkgs/applications/misc/googler/default.nix
+++ b/pkgs/applications/misc/googler/default.nix
@@ -1,14 +1,14 @@
 {stdenv, fetchFromGitHub, python}:
 
 stdenv.mkDerivation rec {
-  version = "3.3";
+  version = "3.5";
   name = "googler-${version}";
 
   src = fetchFromGitHub {
     owner = "jarun";
     repo = "googler";
     rev = "v${version}";
-    sha256 = "0gkzgcf0qss7fskgswryk835vivlv1f99ym1pbxy3vv9wcwx6a43";
+    sha256 = "0z5cngg1kr3b484zddqlg9yn7crbmnd78pdb8vzd32mkp3fahcxa";
   };
 
   propagatedBuildInputs = [ python ];
diff --git a/pkgs/applications/misc/gosmore/default.nix b/pkgs/applications/misc/gosmore/default.nix
index 8936d3f222f..464e0ba5334 100644
--- a/pkgs/applications/misc/gosmore/default.nix
+++ b/pkgs/applications/misc/gosmore/default.nix
@@ -22,6 +22,9 @@ stdenv.mkDerivation {
   prePatch = ''
     sed -e '/curl.types.h/d' -i *.{c,h,hpp,cpp}
   '';
+
+  patches = [ ./pointer_int_comparison.patch ];
+  patchFlags = [ "-p1" "--binary" ]; # patch has dos style eol
       
   meta = with stdenv.lib; {
     description = "Open Street Map viewer";
diff --git a/pkgs/applications/misc/gosmore/pointer_int_comparison.patch b/pkgs/applications/misc/gosmore/pointer_int_comparison.patch
new file mode 100644
index 00000000000..4a715b6d859
--- /dev/null
+++ b/pkgs/applications/misc/gosmore/pointer_int_comparison.patch
@@ -0,0 +1,11 @@
+--- blah_/jni/gosmore.cpp	1970-01-01 01:00:01.000000000 +0100

++++ /dev/stdin	2018-03-18 00:21:08.474217132 +0100

+@@ -1273,7 +1273,7 @@

+       if (deg[i] < -180 || deg[i] > 180) break;

+       if (i == 0 && (strncasecmp (t, "lat", 3) == 0 ||

+                      strncasecmp (t, "lon", 3) == 0)) { // lat=-25.7 lon=28.2

+-        for (t += 3; t != '\0' && !isalnum (*t); t++) {}

++        for (t += 3; *t != '\0' && !isalnum (*t); t++) {}

+       }

+       if (i == 1) { // Success !

+         //printf ("%lf %lf %u\n", deg[lonFirst ? 1 : 0], deg[lonFirst ? 0 : 1],

diff --git a/pkgs/applications/misc/gpa/default.nix b/pkgs/applications/misc/gpa/default.nix
index ef805a31567..149092c70d3 100644
--- a/pkgs/applications/misc/gpa/default.nix
+++ b/pkgs/applications/misc/gpa/default.nix
@@ -15,6 +15,6 @@ stdenv.mkDerivation rec {
     description = "Graphical user interface for the GnuPG";
     homepage = https://www.gnupg.org/related_software/gpa/;
     license = licenses.gpl3Plus;
-    platforms = platforms.linux;
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/applications/misc/gphoto2/default.nix b/pkgs/applications/misc/gphoto2/default.nix
index 77e7b592f64..5131e0739e7 100644
--- a/pkgs/applications/misc/gphoto2/default.nix
+++ b/pkgs/applications/misc/gphoto2/default.nix
@@ -3,11 +3,11 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "gphoto2-2.5.15";
+  name = "gphoto2-2.5.17";
 
   src = fetchurl {
     url = "mirror://sourceforge/gphoto/${name}.tar.bz2";
-    sha256 = "0xsa12k5fz49v8y4h3zahzr427a3ylxaf0k7hybrkp43g4i1lmxf";
+    sha256 = "0kslwclyyzvnxjw3gdzhlagj7l5f8lba833ipr9s0s0c4hwi0mxa";
   };
 
   nativeBuildInputs = [ pkgconfig gettext libtool ];
diff --git a/pkgs/applications/misc/gpx/default.nix b/pkgs/applications/misc/gpx/default.nix
new file mode 100644
index 00000000000..9fef9381949
--- /dev/null
+++ b/pkgs/applications/misc/gpx/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchFromGitHub, autoreconfHook }:
+
+stdenv.mkDerivation rec {
+  name = "gpx-${version}";
+  version = "2.5.2";
+
+  nativeBuildInputs = [ autoreconfHook ];
+
+  src = fetchFromGitHub {
+    owner = "markwal";
+    repo = "GPX";
+    rev = version;
+    sha256 = "1yab269x8qyf7rd04vaxyqyjv4pzz9lp4sc4dwh927k23avr3rw5";
+  };
+
+  meta = {
+    description = "Gcode to x3g conversion postprocessor";
+    homepage = https://github.com/markwal/GPX/;
+    license = stdenv.lib.licenses.gpl2;
+    platforms = stdenv.lib.platforms.unix;
+    maintainers = [ stdenv.lib.maintainers.leo60228 ];
+  };
+}
diff --git a/pkgs/applications/misc/gqrx/default.nix b/pkgs/applications/misc/gqrx/default.nix
index f6d9f4edb62..5c449451e70 100644
--- a/pkgs/applications/misc/gqrx/default.nix
+++ b/pkgs/applications/misc/gqrx/default.nix
@@ -8,13 +8,13 @@ assert pulseaudioSupport -> libpulseaudio != null;
 
 stdenv.mkDerivation rec {
   name = "gqrx-${version}";
-  version = "2.10";
+  version = "2.11.4";
 
   src = fetchFromGitHub {
     owner = "csete";
     repo = "gqrx";
     rev = "v${version}";
-    sha256 = "1qc944sn1kjdnhdhcsdc39764vqcryk86808xxl49vy8sznqr0mf";
+    sha256 = "0a5w9b3fi4f95j34cqsbzxks0d9hmrz4cznc8pi9b0pwvx13hqhm";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/applications/misc/gramps/default.nix b/pkgs/applications/misc/gramps/default.nix
index ace91bfafff..50f575d15ce 100644
--- a/pkgs/applications/misc/gramps/default.nix
+++ b/pkgs/applications/misc/gramps/default.nix
@@ -1,5 +1,5 @@
-{ stdenv, fetchFromGitHub, gtk3, pythonPackages, intltool,
-  pango, gsettings-desktop-schemas,
+{ stdenv, fetchFromGitHub, gtk3, pythonPackages, intltool, gnome3,
+  pango, gsettings-desktop-schemas, gobjectIntrospection, wrapGAppsHook,
 # Optional packages:
  enableOSM ? true, osm-gps-map
  }:
@@ -7,25 +7,23 @@
 let
   inherit (pythonPackages) python buildPythonApplication;
 in buildPythonApplication rec {
-  version = "4.2.6";
+  version = "4.2.8";
   name = "gramps-${version}";
 
-  buildInputs = [ intltool gtk3 ] 
+  nativeBuildInputs = [ wrapGAppsHook ];
+  buildInputs = [ intltool gtk3 gobjectIntrospection pango gnome3.gexiv2 ] 
     # Map support
     ++ stdenv.lib.optional enableOSM osm-gps-map
   ;
 
-  # Currently broken
-  doCheck = false;
-
   src = fetchFromGitHub {
     owner = "gramps-project";
     repo = "gramps";
     rev = "v${version}";
-    sha256 = "0k0bx6msc2kvkg0nwa9v2mp3qy7lmnxjd97n6a1zdzlq8yzw29f1";
+    sha256 = "17y6rjvvcz7lwjck4f5nmhnn07i9k5vzk5dp1jk7j3ldxjagscsd";
   };
 
-  pythonPath = with pythonPackages; [ bsddb3 PyICU pygobject3 pycairo ] ++ [ pango ];
+  pythonPath = with pythonPackages; [ bsddb3 PyICU pygobject3 pycairo ];
 
   # Same installPhase as in buildPythonApplication but without --old-and-unmanageble
   # install flag.
@@ -51,16 +49,9 @@ in buildPythonApplication rec {
     runHook postInstall
   '';
 
-  # gobjectIntrospection package, wrap accordingly
-  preFixup = ''
-    wrapProgram $out/bin/gramps \
-      --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \
-      --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH:$out/share"
-  '';
-
   meta = with stdenv.lib; {
     description = "Genealogy software";
-    homepage = http://gramps-project.org;
+    homepage = https://gramps-project.org;
     license = licenses.gpl2;
   };
 }
diff --git a/pkgs/applications/misc/guake/default.nix b/pkgs/applications/misc/guake/default.nix
index 0a2a17fc8fa..c34f0e48f3e 100644
--- a/pkgs/applications/misc/guake/default.nix
+++ b/pkgs/applications/misc/guake/default.nix
@@ -1,76 +1,44 @@
-/* Beware!
-After starting Guake it will give the error message "Guake can not init! Gconf Error. Have you installed guake.schemas properly?",
-which will have to be resolved manually, because I have not found a way to automate this, without being impure.
-
-If you have Guake installed, you can use `nix-build -A gnome3.guake` to get the path to the build directory in the nix store,
-which then can be used in the following command to install the schemas file of Guake:
-gconftool-2 --install-schema-file /path/returned/by/nix-build/share/gconf/schemas/guake.schemas
-
-It can be removed again by the following command:
-gconftool-2 --recursive-unset /apps/guake
-*/
-{ stdenv, fetchurl, lib
-, pkgconfig, libtool, intltool, makeWrapper
-, dbus, gtk2, gconf, python2Packages, libutempter, vte, keybinder, gnome2, gnome3 }:
-
-with lib;
+{ stdenv, fetchFromGitHub, python3, gettext, gobjectIntrospection, wrapGAppsHook, glibcLocales
+, gtk3, keybinder3, libnotify, libutempter, vte }:
 
 let
-  inherit (python2Packages) python;
-  inputs = [ dbus gtk2 gconf python libutempter vte keybinder gnome3.gnome-common ];
-  pyPath = makeSearchPathOutput "lib" python.sitePackages (attrVals [ "dbus-python" "notify" "pyGtkGlade" "pyxdg" ] python2Packages ++ [ gnome2.gnome_python ]);
- in stdenv.mkDerivation rec {
+  version = "3.2.1";
+in python3.pkgs.buildPythonApplication rec {
   name = "guake-${version}";
-  version = "0.8.3";
+  format = "other";
 
-  src = fetchurl {
-    url = "https://github.com/Guake/guake/archive/${version}.tar.gz";
-    sha256 = "1lbmdz3i9a97840h8239s360hd37nmhy3hs6kancxbzl1512ak1y";
+  src = fetchFromGitHub {
+    owner = "Guake";
+    repo = "guake";
+    rev = version;
+    sha256 = "0qzrkmjizpc3kirvhml62wya1sr3pbig25nfcrfhk1hhr3jxq17s";
   };
 
-  nativeBuildInputs = [ pkgconfig libtool intltool makeWrapper ];
+  nativeBuildInputs = [ gettext gobjectIntrospection wrapGAppsHook python3.pkgs.pip glibcLocales ];
 
-  buildInputs = inputs ++ (with python2Packages; [ pyGtkGlade pyxdg ]);
+  buildInputs = [ gtk3 keybinder3 libnotify python3 vte ];
 
-  propagatedUserEnvPkgs = [ gconf.out ];
+  propagatedBuildInputs = with python3.pkgs; [ dbus-python pbr pycairo pygobject3 ];
 
-  patchPhase = ''
-    patchShebangs .
-  '';
+  LC_ALL = "en_US.UTF-8"; # fixes weird encoding error, see https://github.com/NixOS/nixpkgs/pull/38642#issuecomment-379727699
 
-  configureScript = "./autogen.sh";
+  PBR_VERSION = version; # pbr needs either .git directory, sdist, or env var
 
-  configureFlags = [
-    "--sysconfdir=/etc"
-    "--localstatedir=/var"
-    "--disable-schemas-install"
-  ];
+  postPatch = ''
+    # unnecessary /usr/bin/env in Makefile
+    # https://github.com/Guake/guake/pull/1285
+    substituteInPlace "Makefile" --replace "/usr/bin/env python3" "python3"
+  '';
 
-  installFlags = [
-    # Configuring the installation to not install gconf schemas is not always supported,
-    # therefore gconftool-2 has this variable, which will make gconftool-2 not update any of the databases.
-    "GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL=1"
-    "sysconfdir=\${out}/etc"
-    "localstatedir=\${TMPDIR}"
+  makeFlags = [
+    "prefix=$(out)"
   ];
 
-  postInstall = ''
-    mkdir -p $out/share/gconf/schemas
-    cp data/guake.schemas $out/share/gconf/schemas
-  '';
-
-  postFixup = ''
-    for bin in $out/bin/{guake,guake-prefs}; do
-      substituteInPlace $bin \
-        --replace '/usr/bin/env python2' ${python.interpreter}
-      wrapProgram $bin \
-        --prefix XDG_DATA_DIRS : "$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH" \
-        --prefix LD_LIBRARY_PATH : ${makeLibraryPath inputs} \
-        --prefix PYTHONPATH : "$out/${python.sitePackages}:${pyPath}:$PYTHONPATH"
-    done
+  preFixup = ''
+    gappsWrapperArgs+=(--prefix LD_LIBRARY_PATH : "${stdenv.lib.makeLibraryPath [ libutempter ]}")
   '';
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "Drop-down terminal for GNOME";
     homepage = http://guake-project.org;
     license = licenses.gpl2;
diff --git a/pkgs/applications/misc/gv/default.nix b/pkgs/applications/misc/gv/default.nix
index 3fad634b18b..b13e7ae5232 100644
--- a/pkgs/applications/misc/gv/default.nix
+++ b/pkgs/applications/misc/gv/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, Xaw3d, ghostscriptX, perl }:
+{ stdenv, fetchurl, Xaw3d, ghostscriptX, perl, pkgconfig, libiconv }:
 
 let
   name = "gv-3.7.4";
@@ -11,7 +11,18 @@ stdenv.mkDerivation {
     sha256 = "0q8s43z14vxm41pfa8s5h9kyyzk1fkwjhkiwbf2x70alm6rv6qi1";
   };
 
-  buildInputs = [ Xaw3d ghostscriptX perl ];
+  configureFlags = stdenv.lib.optionals stdenv.isDarwin [
+    "--enable-SIGCHLD-fallback"
+  ];
+
+  buildInputs = [
+    Xaw3d
+    ghostscriptX
+    perl
+  ] ++ stdenv.lib.optionals stdenv.isDarwin [
+    pkgconfig
+    libiconv
+  ];
 
   patchPhase = ''
     sed 's|\<gs\>|${ghostscriptX}/bin/gs|g' -i "src/"*.in
@@ -32,6 +43,6 @@ stdenv.mkDerivation {
 
     license = stdenv.lib.licenses.gpl3Plus;
     maintainers = [ ];
-    platforms = stdenv.lib.platforms.gnu;  # arbitrary choice
+    platforms = stdenv.lib.platforms.unix;
   };
 }
diff --git a/pkgs/applications/misc/haxor-news/default.nix b/pkgs/applications/misc/haxor-news/default.nix
index b37a6ad732f..624c15e118a 100644
--- a/pkgs/applications/misc/haxor-news/default.nix
+++ b/pkgs/applications/misc/haxor-news/default.nix
@@ -32,7 +32,7 @@ buildPythonApplication rec {
     homepage = https://github.com/donnemartin/haxor-news;
     description = "Browse Hacker News like a haxor";
     license = licenses.asl20;
-    maintainers = with maintainers; [ matthiasbeyer ];
+    maintainers = with maintainers; [ ];
   };
 
 }
diff --git a/pkgs/applications/misc/houdini/runtime.nix b/pkgs/applications/misc/houdini/runtime.nix
index e58ff06b29c..7477e5c0af2 100644
--- a/pkgs/applications/misc/houdini/runtime.nix
+++ b/pkgs/applications/misc/houdini/runtime.nix
@@ -29,11 +29,11 @@ let
   license_dir = "~/.config/houdini";
 in
 stdenv.mkDerivation rec {
-  version = "16.0.671";
+  version = "16.5.439";
   name = "houdini-runtime-${version}";
   src = requireFile rec {
     name = "houdini-${version}-linux_x86_64_gcc4.8.tar.gz";
-    sha256 = "1d3c1a1128szlgaf3ilw5y20plz5azwp37v0ljawgm80y64hq15r";
+    sha256 = "7e483072a0e6e751a93f2a2f968cccb2d95559c61106ffeb344c95975704321b";
     message = ''
       This nix expression requires that ${name} is already part of the store.
       Download it from https://sidefx.com and add it to the nix store with:
diff --git a/pkgs/applications/misc/hr/default.nix b/pkgs/applications/misc/hr/default.nix
index 2fd56e3c555..6b0926db047 100644
--- a/pkgs/applications/misc/hr/default.nix
+++ b/pkgs/applications/misc/hr/default.nix
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
     homepage = https://github.com/LuRsT/hr;
     description = "A horizontal bar for your terminal";
     license = licenses.mit;
-    maintainers = [ maintainers.matthiasbeyer ];
+    maintainers = [ ];
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/applications/misc/hstr/default.nix b/pkgs/applications/misc/hstr/default.nix
index 6b62b418d78..026cf9ecc14 100644
--- a/pkgs/applications/misc/hstr/default.nix
+++ b/pkgs/applications/misc/hstr/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name    = "hstr-${version}";
-  version = "1.24";
+  version = "1.25";
 
   src = fetchurl {
     url = "https://github.com/dvorka/hstr/releases/download/${version}/hh-${version}-src.tgz";
-    sha256 = "0w8is777fwq6r17zhl9xwrv9f7vanllzjiasx1pg6pxvppq7rh0x";
+    sha256 = "10njj0a3s5czv497wk3whka3gxr7vmhabs12vaw7kgb07h4ssnhg";
   };
 
   buildInputs = [ readline ncurses ];
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
     homepage = https://github.com/dvorka/hstr;
     description = "Shell history suggest box - easily view, navigate, search and use your command history";
     license = stdenv.lib.licenses.asl20;
-    maintainers = [ stdenv.lib.maintainers.matthiasbeyer ];
+    maintainers = with stdenv.lib.maintainers; [ ];
     platforms = with stdenv.lib.platforms; linux; # Cannot test others
   };
 
diff --git a/pkgs/applications/misc/hubstaff/default.nix b/pkgs/applications/misc/hubstaff/default.nix
index bd4a891a329..2b6e58a6ab3 100644
--- a/pkgs/applications/misc/hubstaff/default.nix
+++ b/pkgs/applications/misc/hubstaff/default.nix
@@ -5,7 +5,7 @@
 
 let
 
-  version = "1.3.0-9b2ba62";
+  version = "1.3.1-ff75f26";
 
   rpath = stdenv.lib.makeLibraryPath
     [ libX11 zlib libSM libICE libXext freetype libXrender fontconfig libXft
@@ -19,7 +19,7 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "https://hubstaff-production.s3.amazonaws.com/downloads/HubstaffClient/Builds/Release/${version}/Hubstaff-${version}.sh";
-    sha256 = "1dxzyl3yxbfmbw1pv8k3vhqzbmyyf16zkgrhzsbm866nmbgnqk1s";
+    sha256 = "0jm5l34r6lkfkg8vsdfqbr0axngxznhagwcl9y184lnyji91fmdl";
   };
 
   nativeBuildInputs = [ unzip makeWrapper ];
diff --git a/pkgs/applications/misc/hugo/default.nix b/pkgs/applications/misc/hugo/default.nix
index f984cb712c7..e4e45dd570b 100644
--- a/pkgs/applications/misc/hugo/default.nix
+++ b/pkgs/applications/misc/hugo/default.nix
@@ -2,7 +2,7 @@
 
 buildGoPackage rec {
   name = "hugo-${version}";
-  version = "0.36.1";
+  version = "0.40.3";
 
   goPackagePath = "github.com/gohugoio/hugo";
 
@@ -10,7 +10,7 @@ buildGoPackage rec {
     owner  = "gohugoio";
     repo   = "hugo";
     rev    = "v${version}";
-    sha256 = "179lzkd6f81rssgcwlngx2mhr9nvbj0rsh6yjbf1fsrpxfzr2q9z";
+    sha256 = "08d4y6x19cd4qy9pf80zrqarcyarbzxph0yp8mfb1sp2bvq42308";
   };
 
   goDeps = ./deps.nix;
diff --git a/pkgs/applications/misc/hugo/deps.nix b/pkgs/applications/misc/hugo/deps.nix
index cf55ef4b64b..a99eb563dc2 100644
--- a/pkgs/applications/misc/hugo/deps.nix
+++ b/pkgs/applications/misc/hugo/deps.nix
@@ -14,8 +14,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/PuerkitoBio/purell";
-      rev = "1c4bec281e4bbc75b4f4a1bd923bdf1bd989a969";
-      sha256 = "05aif0xf3i6j6r0ivas8ywagkz92iynsa0xnkbrif4w1chzalx0f";
+      rev = "975f53781597ed779763b7b65566e74c4004d8de";
+      sha256 = "1j5l793zxrjv09z3cdgs05qn45sbhbm9njsw5cfv168x8z88pd3l";
     };
   }
   {
@@ -32,8 +32,17 @@
     fetch = {
       type = "git";
       url = "https://github.com/alecthomas/chroma";
-      rev = "df4ec264daccb2ecb17bde9134830100701199c5";
-      sha256 = "1snw7byfkfvvw0579jc0yxk79j1v1rb0jdcvivfsalh064zmjdvd";
+      rev = "222a1f0fc811afd47471d4a4e32f3aa09b6f9cdf";
+      sha256 = "090yb9f9gld4l0r6x8y2a6a3ghiqbyh19fgmjcjfq8qlv0vj5n4s";
+    };
+  }
+  {
+    goPackagePath = "github.com/bep/debounce";
+    fetch = {
+      type = "git";
+      url = "https://github.com/bep/debounce";
+      rev = "844797fa1dd9ba969d71b62797ff19d1e49d4eac";
+      sha256 = "1sh4zv0hv7f454mhzpl2mbv7ar5rm00wyy5qr78x1h84bgph87wy";
     };
   }
   {
@@ -41,8 +50,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/bep/gitmap";
-      rev = "de8030ebafb76c6e84d50ee6d143382637c00598";
-      sha256 = "0adkv2ghi0zd104akksa9wjzj7s849wpa1rij03mycgxp4si9ami";
+      rev = "012701e8669671499fc43e9792335a1dcbfe2afb";
+      sha256 = "10ixv4zwmrpxvpchws78yzsjvw1zplljw3iqvwpina2mkwwp71ql";
     };
   }
   {
@@ -77,8 +86,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/disintegration/imaging";
-      rev = "1884593a19ddc6f2ea050403430d02c1d0fc1283";
-      sha256 = "13wlkidihz7gc36hd1vy7i81d0v1rbnw97118z3slq1kv1j56zll";
+      rev = "bbcee2f5c9d5e94ca42c8b50ec847fec64a6c134";
+      sha256 = "0dzwqy1xcm0d481z1fa2r60frdlf5fzjligpiqh5g8lhqskk2lx8";
     };
   }
   {
@@ -113,8 +122,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/gobuffalo/envy";
-      rev = "50fabbbaf1e65fc9b739f37a00590c396485d84d";
-      sha256 = "0js2hggb1gybk28pk3hcsb1m6rswfdzvvr194z4my4za09ly5jax";
+      rev = "ef60bfc50c8f92d1ee64674d8ce7a48f1f67625e";
+      sha256 = "15qrmw3l2achpd3hz8fkkz7yzpbvldm1pf1vsr250q24nsh6x7iz";
     };
   }
   {
@@ -122,8 +131,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/gobwas/glob";
-      rev = "19c076cdf202b3d1c0489bdfa2f2f289f634474b";
-      sha256 = "0176psz3m0pks0ka6pb62g7ccq5izzj0i7c0j20lb7dp3kawphxs";
+      rev = "f00a7392b43971b2fdb562418faab1f18da2067a";
+      sha256 = "1b7jnb7rx99na25lkm9m9jr583mv7y0lwp57w58sv7ir9iiilx29";
     };
   }
   {
@@ -131,8 +140,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/gorilla/websocket";
-      rev = "f37d1588608ec036fa9b0b7b8afbde47dc06aea9";
-      sha256 = "1y0z7k4yi8aaw6yjm8s92hvbkyc51b5azpiywminjj1a84czvzvq";
+      rev = "21ab95fa12b9bdd8fecf5fa3586aad941cc98785";
+      sha256 = "1ygg6cr84461d6k3nzbja0dxhcgf5zvry2w10f6i7291ghrcwhyy";
     };
   }
   {
@@ -158,8 +167,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/hashicorp/hcl";
-      rev = "23c074d0eceb2b8a5bfdbb271ab780cde70f05a8";
-      sha256 = "0db4lpqb5m130rmfy3s3gjjf4dxllypmyrzxv6ggqhkmwmc7w4mc";
+      rev = "ef8a98b0bbce4a65b5aa4c368430a80ddc533168";
+      sha256 = "1qalfsc31fra7hcw2lc3s20aj7al62fq3j5fn5kga3mg99b82nyr";
     };
   }
   {
@@ -176,8 +185,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/joho/godotenv";
-      rev = "6bb08516677f8c8274c557fc801bee9ab564ab2c";
-      sha256 = "0jqczq5x5zwgs29vrmq87335c99gi5jrvxkwcpidz98yqg95db4f";
+      rev = "1709ab122c988931ad53508747b3c061400c2984";
+      sha256 = "1pym5lydb28ggxrz80q9s26bj2bd80ax1igm1zfhyhx9i3060kif";
     };
   }
   {
@@ -203,8 +212,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/markbates/inflect";
-      rev = "80fa1ea41b0dc859816314ab0b85f07a6bc57923";
-      sha256 = "0fmpfcz8g0qsb6h94yqpcms2bdb68qac706b54x0k1crfzl1d1mj";
+      rev = "fbc6b23ce49e2578f572d2e72bb72fa03c7145de";
+      sha256 = "10rf7kfqnic8x4z8c29whb76w9v847y63wh5b2kfx6rqhrjfilis";
     };
   }
   {
@@ -212,8 +221,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/mattn/go-runewidth";
-      rev = "97311d9f7767e3d6f422ea06661bc2c7a19e8a5d";
-      sha256 = "0dxlrzn570xl7gb11hjy1v4p3gw3r41yvqhrffgw95ha3q9p50cg";
+      rev = "ce7b0b5c7b45a81508558cd1dba6bb1e4ddb51bb";
+      sha256 = "0lc39b6xrxv7h3v3y1kgz49cgi5qxwlygs715aam6ba35m48yi7g";
     };
   }
   {
@@ -226,15 +235,6 @@
     };
   }
   {
-    goPackagePath = "github.com/mitchellh/go-homedir";
-    fetch = {
-      type = "git";
-      url = "https://github.com/mitchellh/go-homedir";
-      rev = "b8bc1bf767474819792c23f32d8286a45736f1c6";
-      sha256 = "13ry4lylalkh4g2vny9cxwvryslzyzwp9r92z0b10idhdq3wad1q";
-    };
-  }
-  {
     goPackagePath = "github.com/mitchellh/mapstructure";
     fetch = {
       type = "git";
@@ -248,8 +248,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/muesli/smartcrop";
-      rev = "c2a0373a193bac1daf8b6691e2ece069c5d7ac7f";
-      sha256 = "1jv68g9wddm2a1kf838anjnr4w17k7sqzz01h4z2lfashw3nanar";
+      rev = "f6ebaa786a12a0fdb2d7c6dee72808e68c296464";
+      sha256 = "0xbv5wbn0z36nkw9ay3ly6z23lpsrs0khryl1w54fz85lvwh66gp";
     };
   }
   {
@@ -257,8 +257,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/nicksnyder/go-i18n";
-      rev = "ec04da47793482067e2e376d810e1622277368e4";
-      sha256 = "1c7ip5jidvssr8d4dbx9nchf99m13wblgaz630f7wm73y99dc3lr";
+      rev = "8c6996ea1058153460146b16c341a4ae611f7cf7";
+      sha256 = "1k8ai8mdi5cqbcxihzx727z3gg46lpkw0s1byb3lrdnmp31l7p9r";
     };
   }
   {
@@ -266,8 +266,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/olekukonko/tablewriter";
-      rev = "b8a9be070da40449e501c3c4730a889e42d87a9e";
-      sha256 = "1z9frlk9avqhzjv6zz2rg7mvdhzcr9acdgagblijwwkx01f02hw7";
+      rev = "d4647c9c7a84d847478d890b816b7d8b62b0b279";
+      sha256 = "1274k5r9ardh1f6gsmadxmdds7zy8rkr55fb9swvnm0vazr3y01l";
     };
   }
   {
@@ -275,8 +275,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/pelletier/go-toml";
-      rev = "acdc4509485b587f5e675510c4f2c63e90ff68a8";
-      sha256 = "1y5m9pngxhsfzcnxh8ma5nsllx74wn0jr47p2n6i3inrjqxr12xh";
+      rev = "66540cf1fcd2c3aee6f6787dfa32a6ae9a870f12";
+      sha256 = "1n8na0yg90gm0rpifmzrby5r385vvd62cdam3ls7ssy02bjvfw15";
     };
   }
   {
@@ -284,8 +284,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/russross/blackfriday";
-      rev = "55d61fa8aa702f59229e6cff85793c22e580eaf5";
-      sha256 = "0qmavm5d14kj6im6sqzpqnlhpy524428vkn4hnfwknndr9rycmn0";
+      rev = "11635eb403ff09dbc3a6b5a007ab5ab09151c229";
+      sha256 = "14j8ibm6h9rydiwfp9b5c7rwhnx04yqyxv1a7p7rmfwyg4zd714n";
     };
   }
   {
@@ -302,8 +302,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/spf13/afero";
-      rev = "bbf41cb36dffe15dff5bf7e18c447801e7ffe163";
-      sha256 = "19jgsm6y1yp99h0fr77rhamdsn34r8545if7y9q377l3phrz2s0l";
+      rev = "63644898a8da0bc22138abf860edaf5277b6102e";
+      sha256 = "13piahaq4vw1y1sklq5scrsflqx0a8hzmdqfz1fy4871kf2gl8qw";
     };
   }
   {
@@ -320,8 +320,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/spf13/cobra";
-      rev = "be77323fc05148ef091e83b3866c0d47c8e74a8b";
-      sha256 = "0kl0psbdg8cyznwvq13sva6r4ggmhwzfxdjmkl2vqhy83xq3a6yn";
+      rev = "ef82de70bb3f60c65fb8eebacbb2d122ef517385";
+      sha256 = "1q1nsx05svyv9fv3fy6xv6gs9ffimkyzsfm49flvl3wnvf1ncrkd";
     };
   }
   {
@@ -356,8 +356,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/spf13/pflag";
-      rev = "ee5fd03fd6acfd43e44aea0b4135958546ed8e73";
-      sha256 = "1fgb1ph3vrqcpdvypp3c1fwj15r587l9yvv5wqcq08shln5rbsnk";
+      rev = "583c0c0531f06d5278b7d917446061adc344b5cd";
+      sha256 = "0nr4mdpfhhk94hq4ymn5b2sxc47b29p1akxd8b0hx4dvdybmipb5";
     };
   }
   {
@@ -365,8 +365,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/spf13/viper";
-      rev = "aafc9e6bc7b7bb53ddaa75a5ef49a17d6e654be5";
-      sha256 = "089balmspfs2x68wr4riwh7qvhf0b061wqqqfw8j4p9pxvwrxsdc";
+      rev = "15738813a09db5c8e5b60a19d67d3f9bd38da3a4";
+      sha256 = "1mjfzg8zvnxckaq6l8gw99i2msrfqn9yr04dc3b7kd5bpxi6zr4v";
     };
   }
   {
@@ -383,8 +383,8 @@
     fetch = {
       type = "git";
       url = "https://go.googlesource.com/image";
-      rev = "12117c17ca67ffa1ce22e9409f3b0b0a93ac08c7";
-      sha256 = "017xpcshrj1r2w20xvpcx0rklpfmbz6h16msv12l3x0w6vy0800s";
+      rev = "f315e440302883054d0c2bd85486878cb4f8572c";
+      sha256 = "010pc6qjppqd9c7rramiwz7myvip9vhridfxy7wc2qj1kr92b4dc";
     };
   }
   {
@@ -392,8 +392,8 @@
     fetch = {
       type = "git";
       url = "https://go.googlesource.com/net";
-      rev = "cbe0f9307d0156177f9dd5dc85da1a31abc5f2fb";
-      sha256 = "1hmpqkxh97ayyy0xcdvf1bwirwja4wyin3sh0fzjlh93aqmqgylf";
+      rev = "f73e4c9ed3b7ebdd5f699a16a880c2b1994e50dd";
+      sha256 = "1mvnpln6vm0y1i5bb0ycswds49hyapg3jz643lmlw6d183jdcg0q";
     };
   }
   {
@@ -401,8 +401,8 @@
     fetch = {
       type = "git";
       url = "https://go.googlesource.com/sync";
-      rev = "fd80eb99c8f653c847d294a001bdf2a3a6f768f5";
-      sha256 = "12lzldlj1cqc1babp1hkkn76fglzn5abkqvmbpr4f2j95mf9x836";
+      rev = "1d60e4601c6fd243af51cc01ddf169918a5407ca";
+      sha256 = "046jlanz2lkxq1r57x9bl6s4cvfqaic6p2xybsj8mq1120jv4rs6";
     };
   }
   {
@@ -410,8 +410,8 @@
     fetch = {
       type = "git";
       url = "https://go.googlesource.com/sys";
-      rev = "37707fdb30a5b38865cfb95e5aab41707daec7fd";
-      sha256 = "1abrr2507a737hdqv4q7pw7hv6ls9pdiq9crhdi52r3gcz6hvizg";
+      rev = "64746a42f36bf0832f86b76004f1699dbeb33e4f";
+      sha256 = "1hbk7cnbywiwxdzbx7lqw6iym9dpwvdyacg06gchxpfw7nfa9r27";
     };
   }
   {
@@ -419,8 +419,8 @@
     fetch = {
       type = "git";
       url = "https://go.googlesource.com/text";
-      rev = "9e2b64d659da1afe07ce1c9c1dfefc09d188f21e";
-      sha256 = "00ichxdybvs76gj805j828qxg7x4h4v64pq1s56ydaw07ja6lmry";
+      rev = "7922cc490dd5a7dbaa7fd5d6196b49db59ac042f";
+      sha256 = "06sicjc24hv7v9p1l6psaq87w4lycx3mjixd6gsd1wnd4jhqvlnr";
     };
   }
   {
@@ -428,8 +428,8 @@
     fetch = {
       type = "git";
       url = "https://gopkg.in/yaml.v2";
-      rev = "d670f9405373e636a5a2765eea47fac0c9bc91a4";
-      sha256 = "1w1xid51n8v1mydn2m3vgggw8qgpd5a5sr62snsc77d99fpjsrs0";
+      rev = "5420a8b6744d3b0345ab293f6fcba19c978f1183";
+      sha256 = "0dwjrs2lp2gdlscs7bsrmyc5yf6mm4fvgw71bzr9mv2qrd2q73s1";
     };
   }
 ]
diff --git a/pkgs/applications/misc/hyper/default.nix b/pkgs/applications/misc/hyper/default.nix
index 9349c07a62e..75d18c7a774 100644
--- a/pkgs/applications/misc/hyper/default.nix
+++ b/pkgs/applications/misc/hyper/default.nix
@@ -12,11 +12,11 @@ let
   ];
 in
 stdenv.mkDerivation rec {
-  version = "1.4.8";
+  version = "2.0.0";
   name = "hyper-${version}";
   src = fetchurl {
     url = "https://github.com/zeit/hyper/releases/download/${version}/hyper_${version}_amd64.deb";
-    sha256 = "0v31z3p5h3qr8likifbq9kk08fpfyf8g1hrz6f6v90z4b2yhkf51";
+    sha256 = "04241kjy65pnp5q9z901910rmvcx18x0qaqfl31i0l4c2xj83ws0";
   };
   buildInputs = [ dpkg ];
   unpackPhase = ''
diff --git a/pkgs/applications/misc/ipmicfg/default.nix b/pkgs/applications/misc/ipmicfg/default.nix
index 2efd0ee969f..af7d257eed6 100644
--- a/pkgs/applications/misc/ipmicfg/default.nix
+++ b/pkgs/applications/misc/ipmicfg/default.nix
@@ -15,9 +15,10 @@ stdenv.mkDerivation rec {
     mkdir -p "$out/bin" "$out/opt/ipmicfg"
     cp Linux/64bit/* "$out/opt/ipmicfg"
 
-    patchelf "$out/opt/ipmicfg/IPMICFG-Linux.x86_64" \
+    patchelf \
        --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
-       --set-rpath "${stdenv.lib.makeLibraryPath [ stdenv.cc.cc ]}"
+       --set-rpath "${stdenv.lib.makeLibraryPath [ stdenv.cc.cc ]}" \
+       "$out/opt/ipmicfg/IPMICFG-Linux.x86_64"
 
     ln -s "$out/opt/ipmicfg/IPMICFG-Linux.x86_64" "$out/bin/ipmicfg"
   '';
diff --git a/pkgs/applications/misc/ipmiview/default.nix b/pkgs/applications/misc/ipmiview/default.nix
index ebc13766ccc..638765840cb 100644
--- a/pkgs/applications/misc/ipmiview/default.nix
+++ b/pkgs/applications/misc/ipmiview/default.nix
@@ -1,7 +1,5 @@
 { stdenv, fetchurl, patchelf, makeWrapper, xorg, gcc, gcc-unwrapped }:
 
-assert stdenv.isLinux;
-
 stdenv.mkDerivation rec {
    name = "IPMIView-${version}";
    version = "2.13.0";
diff --git a/pkgs/applications/misc/jekyll/basic/Gemfile.lock b/pkgs/applications/misc/jekyll/basic/Gemfile.lock
index d18546cb36f..a0b1916fb18 100644
--- a/pkgs/applications/misc/jekyll/basic/Gemfile.lock
+++ b/pkgs/applications/misc/jekyll/basic/Gemfile.lock
@@ -13,17 +13,17 @@ GEM
     em-websocket (0.5.1)
       eventmachine (>= 0.12.9)
       http_parser.rb (~> 0.6.0)
-    eventmachine (1.2.5)
+    eventmachine (1.2.6)
     ffi (1.9.23)
     forwardable-extended (2.6.0)
     gemoji (3.0.0)
-    html-pipeline (2.7.1)
+    html-pipeline (2.7.2)
       activesupport (>= 2)
       nokogiri (>= 1.4)
     http_parser.rb (0.6.0)
     i18n (0.9.5)
       concurrent-ruby (~> 1.0)
-    jekyll (3.7.3)
+    jekyll (3.8.1)
       addressable (~> 2.4)
       colorator (~> 1.0)
       em-websocket (~> 0.5)
@@ -36,10 +36,9 @@ GEM
       pathutil (~> 0.9)
       rouge (>= 1.7, < 4)
       safe_yaml (~> 1.0)
-    jekyll-avatar (0.5.0)
+    jekyll-avatar (0.6.0)
       jekyll (~> 3.0)
-    jekyll-mentions (1.2.0)
-      activesupport (~> 4.0)
+    jekyll-mentions (1.4.0)
       html-pipeline (~> 2.3)
       jekyll (~> 3.0)
     jekyll-sass-converter (1.5.2)
@@ -50,8 +49,7 @@ GEM
       jekyll (~> 3.3)
     jekyll-watch (2.0.0)
       listen (~> 3.0)
-    jemoji (0.9.0)
-      activesupport (~> 4.0, >= 4.2.9)
+    jemoji (0.10.0)
       gemoji (~> 3.0)
       html-pipeline (~> 2.2)
       jekyll (~> 3.0)
@@ -69,13 +67,13 @@ GEM
     pathutil (0.16.1)
       forwardable-extended (~> 2.6)
     public_suffix (3.0.2)
-    rb-fsevent (0.10.2)
+    rb-fsevent (0.10.3)
     rb-inotify (0.9.10)
       ffi (>= 0.5.0, < 2)
     rouge (3.1.1)
     ruby_dep (1.5.0)
     safe_yaml (1.0.4)
-    sass (3.5.5)
+    sass (3.5.6)
       sass-listen (~> 4.0.0)
     sass-listen (4.0.0)
       rb-fsevent (~> 0.9, >= 0.9.4)
diff --git a/pkgs/applications/misc/jekyll/basic/gemset.nix b/pkgs/applications/misc/jekyll/basic/gemset.nix
index b5b21dec438..c93f93f457d 100644
--- a/pkgs/applications/misc/jekyll/basic/gemset.nix
+++ b/pkgs/applications/misc/jekyll/basic/gemset.nix
@@ -45,10 +45,10 @@
   eventmachine = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "075hdw0fgzldgss3xaqm2dk545736khcvv1fmzbf1sgdlkyh1v8z";
+      sha256 = "08477hl609rmmngwfy8dmsqz5zvsg8xrsrrk6xi70jf48majwli0";
       type = "gem";
     };
-    version = "1.2.5";
+    version = "1.2.6";
   };
   ffi = {
     source = {
@@ -78,10 +78,10 @@
     dependencies = ["activesupport" "nokogiri"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0hkx70z9ijgnncmrna9qdh9ajn9m7v146k91j257lrzyq2f6jdjd";
+      sha256 = "1fdnxi9lh88vjndk4g94pwa45awbzklqc9b38nhqqb3sxg6my6zp";
       type = "gem";
     };
-    version = "2.7.1";
+    version = "2.7.2";
   };
   "http_parser.rb" = {
     source = {
@@ -104,28 +104,28 @@
     dependencies = ["addressable" "colorator" "em-websocket" "i18n" "jekyll-sass-converter" "jekyll-watch" "kramdown" "liquid" "mercenary" "pathutil" "rouge" "safe_yaml"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1k8pz95yiwxj6h645sxwckl227lah97lshv9xxrddhldxwf0n0ff";
+      sha256 = "01s1r5pjfdvk5r1pz3j4smz42jsfv5vvp4q7fg0mrzxn9xk2nvi6";
       type = "gem";
     };
-    version = "3.7.3";
+    version = "3.8.1";
   };
   jekyll-avatar = {
     dependencies = ["jekyll"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0y2w7pnahkm3ddxrq589wv1w53ay7p1pvfs6khcmh6wq85r6wpsf";
+      sha256 = "124624r83pmn7sp2idnsph9m1bbdiha5jnza4ypna8w2inpih51p";
       type = "gem";
     };
-    version = "0.5.0";
+    version = "0.6.0";
   };
   jekyll-mentions = {
-    dependencies = ["activesupport" "html-pipeline" "jekyll"];
+    dependencies = ["html-pipeline" "jekyll"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "00nqm1ng4iiibmv4vx0ayzq7fqm2sm1af98r4ykvld6asqj5qkyd";
+      sha256 = "042z02j0chv679s8imciiy44fgxh9028q8n95w48i0xrfrhyzzfb";
       type = "gem";
     };
-    version = "1.2.0";
+    version = "1.4.0";
   };
   jekyll-sass-converter = {
     dependencies = ["sass"];
@@ -164,13 +164,13 @@
     version = "2.0.0";
   };
   jemoji = {
-    dependencies = ["activesupport" "gemoji" "html-pipeline" "jekyll"];
+    dependencies = ["gemoji" "html-pipeline" "jekyll"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0acmi7mgr844dmzgfi9flcqkkb0jh5l21h579cidxwf1409w588b";
+      sha256 = "0r6ja4bw2c50hb585cmqscbmm27982kkskyh7gk6j0mr70jqlz25";
       type = "gem";
     };
-    version = "0.9.0";
+    version = "0.10.0";
   };
   kramdown = {
     source = {
@@ -250,10 +250,10 @@
   rb-fsevent = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1fbpmjypwxkb8r7y1kmhmyp6gawa4byw0yb3jc3dn9ly4ld9lizf";
+      sha256 = "1lm1k7wpz69jx7jrc92w3ggczkjyjbfziq5mg62vjnxmzs383xx8";
       type = "gem";
     };
-    version = "0.10.2";
+    version = "0.10.3";
   };
   rb-inotify = {
     dependencies = ["ffi"];
@@ -292,10 +292,10 @@
     dependencies = ["sass-listen"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "10401m2xlv6vaxfwzy4xxmk51ddcnkvwi918cw3jkki0qqdl7d8v";
+      sha256 = "19wyzp9qsg8hdkkxlsv713w0qmy66qrdp0shj42587ssx4qhrlag";
       type = "gem";
     };
-    version = "3.5.5";
+    version = "3.5.6";
   };
   sass-listen = {
     dependencies = ["rb-fsevent" "rb-inotify"];
diff --git a/pkgs/applications/misc/jekyll/full/Gemfile.lock b/pkgs/applications/misc/jekyll/full/Gemfile.lock
index 190f1d66479..bbcdad669da 100644
--- a/pkgs/applications/misc/jekyll/full/Gemfile.lock
+++ b/pkgs/applications/misc/jekyll/full/Gemfile.lock
@@ -20,21 +20,21 @@ GEM
     em-websocket (0.5.1)
       eventmachine (>= 0.12.9)
       http_parser.rb (~> 0.6.0)
-    eventmachine (1.2.5)
+    eventmachine (1.2.6)
     execjs (2.7.0)
-    faraday (0.14.0)
+    faraday (0.15.0)
       multipart-post (>= 1.2, < 3)
     fast-stemmer (1.0.2)
     ffi (1.9.23)
     forwardable-extended (2.6.0)
     gemoji (3.0.0)
-    html-pipeline (2.7.1)
+    html-pipeline (2.7.2)
       activesupport (>= 2)
       nokogiri (>= 1.4)
     http_parser.rb (0.6.0)
     i18n (0.9.5)
       concurrent-ruby (~> 1.0)
-    jekyll (3.7.3)
+    jekyll (3.8.1)
       addressable (~> 2.4)
       colorator (~> 1.0)
       em-websocket (~> 0.5)
@@ -47,7 +47,7 @@ GEM
       pathutil (~> 0.9)
       rouge (>= 1.7, < 4)
       safe_yaml (~> 1.0)
-    jekyll-avatar (0.5.0)
+    jekyll-avatar (0.6.0)
       jekyll (~> 3.0)
     jekyll-coffeescript (1.1.1)
       coffee-script (~> 2.2)
@@ -56,8 +56,7 @@ GEM
       jekyll (~> 3.3)
     jekyll-gist (1.5.0)
       octokit (~> 4.2)
-    jekyll-mentions (1.2.0)
-      activesupport (~> 4.0)
+    jekyll-mentions (1.4.0)
       html-pipeline (~> 2.3)
       jekyll (~> 3.0)
     jekyll-paginate (1.1.0)
@@ -71,8 +70,7 @@ GEM
       jekyll (~> 3.3)
     jekyll-watch (2.0.0)
       listen (~> 3.0)
-    jemoji (0.9.0)
-      activesupport (~> 4.0, >= 4.2.9)
+    jemoji (0.10.0)
       gemoji (~> 3.0)
       html-pipeline (~> 2.2)
       jekyll (~> 3.0)
@@ -101,16 +99,16 @@ GEM
     public_suffix (3.0.2)
     pygments.rb (1.2.1)
       multi_json (>= 1.0.0)
-    rb-fsevent (0.10.2)
+    rb-fsevent (0.10.3)
     rb-inotify (0.9.10)
       ffi (>= 0.5.0, < 2)
     rdiscount (2.2.0.1)
-    rdoc (6.0.1)
+    rdoc (6.0.3)
     redcarpet (3.4.0)
     rouge (3.1.1)
     ruby_dep (1.5.0)
     safe_yaml (1.0.4)
-    sass (3.5.5)
+    sass (3.5.6)
       sass-listen (~> 4.0.0)
     sass-listen (4.0.0)
       rb-fsevent (~> 0.9, >= 0.9.4)
diff --git a/pkgs/applications/misc/jekyll/full/gemset.nix b/pkgs/applications/misc/jekyll/full/gemset.nix
index 3a115f8a4b0..8473cee0be5 100644
--- a/pkgs/applications/misc/jekyll/full/gemset.nix
+++ b/pkgs/applications/misc/jekyll/full/gemset.nix
@@ -79,10 +79,10 @@
   eventmachine = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "075hdw0fgzldgss3xaqm2dk545736khcvv1fmzbf1sgdlkyh1v8z";
+      sha256 = "08477hl609rmmngwfy8dmsqz5zvsg8xrsrrk6xi70jf48majwli0";
       type = "gem";
     };
-    version = "1.2.5";
+    version = "1.2.6";
   };
   execjs = {
     source = {
@@ -96,10 +96,10 @@
     dependencies = ["multipart-post"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1c3x3s8vb5nf7inyfvhdxwa4q3swmnacpxby6pish5fgmhws7zrr";
+      sha256 = "1dv1vcxxyw4vy0r2diiml0r8zqk1csrksfxv8nkrw61xlf2daaaa";
       type = "gem";
     };
-    version = "0.14.0";
+    version = "0.15.0";
   };
   fast-stemmer = {
     source = {
@@ -137,10 +137,10 @@
     dependencies = ["activesupport" "nokogiri"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0hkx70z9ijgnncmrna9qdh9ajn9m7v146k91j257lrzyq2f6jdjd";
+      sha256 = "1fdnxi9lh88vjndk4g94pwa45awbzklqc9b38nhqqb3sxg6my6zp";
       type = "gem";
     };
-    version = "2.7.1";
+    version = "2.7.2";
   };
   "http_parser.rb" = {
     source = {
@@ -163,19 +163,19 @@
     dependencies = ["addressable" "colorator" "em-websocket" "i18n" "jekyll-sass-converter" "jekyll-watch" "kramdown" "liquid" "mercenary" "pathutil" "rouge" "safe_yaml"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1k8pz95yiwxj6h645sxwckl227lah97lshv9xxrddhldxwf0n0ff";
+      sha256 = "01s1r5pjfdvk5r1pz3j4smz42jsfv5vvp4q7fg0mrzxn9xk2nvi6";
       type = "gem";
     };
-    version = "3.7.3";
+    version = "3.8.1";
   };
   jekyll-avatar = {
     dependencies = ["jekyll"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0y2w7pnahkm3ddxrq589wv1w53ay7p1pvfs6khcmh6wq85r6wpsf";
+      sha256 = "124624r83pmn7sp2idnsph9m1bbdiha5jnza4ypna8w2inpih51p";
       type = "gem";
     };
-    version = "0.5.0";
+    version = "0.6.0";
   };
   jekyll-coffeescript = {
     dependencies = ["coffee-script" "coffee-script-source"];
@@ -205,13 +205,13 @@
     version = "1.5.0";
   };
   jekyll-mentions = {
-    dependencies = ["activesupport" "html-pipeline" "jekyll"];
+    dependencies = ["html-pipeline" "jekyll"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "00nqm1ng4iiibmv4vx0ayzq7fqm2sm1af98r4ykvld6asqj5qkyd";
+      sha256 = "042z02j0chv679s8imciiy44fgxh9028q8n95w48i0xrfrhyzzfb";
       type = "gem";
     };
-    version = "1.2.0";
+    version = "1.4.0";
   };
   jekyll-paginate = {
     source = {
@@ -267,13 +267,13 @@
     version = "2.0.0";
   };
   jemoji = {
-    dependencies = ["activesupport" "gemoji" "html-pipeline" "jekyll"];
+    dependencies = ["gemoji" "html-pipeline" "jekyll"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0acmi7mgr844dmzgfi9flcqkkb0jh5l21h579cidxwf1409w588b";
+      sha256 = "0r6ja4bw2c50hb585cmqscbmm27982kkskyh7gk6j0mr70jqlz25";
       type = "gem";
     };
-    version = "0.9.0";
+    version = "0.10.0";
   };
   kramdown = {
     source = {
@@ -413,10 +413,10 @@
   rb-fsevent = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1fbpmjypwxkb8r7y1kmhmyp6gawa4byw0yb3jc3dn9ly4ld9lizf";
+      sha256 = "1lm1k7wpz69jx7jrc92w3ggczkjyjbfziq5mg62vjnxmzs383xx8";
       type = "gem";
     };
-    version = "0.10.2";
+    version = "0.10.3";
   };
   rb-inotify = {
     dependencies = ["ffi"];
@@ -438,10 +438,10 @@
   rdoc = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1vzhv04lp76iax258dh47zsxhjg34r9sg76vgikbyfywjzflvfyj";
+      sha256 = "0ia6gq4fnwkm29j34yncg74w0nq5iyyrcjjhmkwzmzw9dbs0zy8a";
       type = "gem";
     };
-    version = "6.0.1";
+    version = "6.0.3";
   };
   redcarpet = {
     source = {
@@ -479,10 +479,10 @@
     dependencies = ["sass-listen"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "10401m2xlv6vaxfwzy4xxmk51ddcnkvwi918cw3jkki0qqdl7d8v";
+      sha256 = "19wyzp9qsg8hdkkxlsv713w0qmy66qrdp0shj42587ssx4qhrlag";
       type = "gem";
     };
-    version = "3.5.5";
+    version = "3.5.6";
   };
   sass-listen = {
     dependencies = ["rb-fsevent" "rb-inotify"];
diff --git a/pkgs/applications/misc/jekyll/update.sh b/pkgs/applications/misc/jekyll/update.sh
new file mode 100755
index 00000000000..528f1062c73
--- /dev/null
+++ b/pkgs/applications/misc/jekyll/update.sh
@@ -0,0 +1,15 @@
+#!/usr/bin/env nix-shell
+#!nix-shell -i bash -p bundix zlib
+
+set -o errexit
+set -o nounset
+
+readonly BASEDIR="$(dirname $(readlink -f $0))"
+
+for directory in "basic" "full"; do
+  pushd "$BASEDIR/$directory"
+  rm -f Gemfile.lock gemset.nix
+  bundix --magic
+  rm -rf .bundle vendor
+  popd
+done
diff --git a/pkgs/applications/misc/jgmenu/default.nix b/pkgs/applications/misc/jgmenu/default.nix
index e87288d7128..ffb898b265c 100644
--- a/pkgs/applications/misc/jgmenu/default.nix
+++ b/pkgs/applications/misc/jgmenu/default.nix
@@ -34,7 +34,7 @@ stdenv.mkDerivation rec {
     homepage = https://github.com/johanmalm/jgmenu;
     description = "Small X11 menu intended to be used with openbox and tint2";
     license = licenses.gpl2;
-    platforms = platforms.unix;
+    platforms = platforms.linux;
     maintainers = [ maintainers.romildo ];
   };
 }
diff --git a/pkgs/applications/misc/josm/default.nix b/pkgs/applications/misc/josm/default.nix
index b536dffb708..6c14c93c83d 100644
--- a/pkgs/applications/misc/josm/default.nix
+++ b/pkgs/applications/misc/josm/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "josm-${version}";
-  version = "13478";
+  version = "13576";
 
   src = fetchurl {
     url = "https://josm.openstreetmap.de/download/josm-snapshot-${version}.jar";
-    sha256 = "1mc1zdcnlm14ky820cj61sid6aiq9k11kj6vzlqskvgqazc60xj4";
+    sha256 = "0pw7srvds8zs53ibvj779vj505h2gfrn7xqx13hkbacdg441jkd4";
   };
 
   buildInputs = [ jre8 makeWrapper ];
diff --git a/pkgs/applications/misc/k2pdfopt/default.nix b/pkgs/applications/misc/k2pdfopt/default.nix
index 1cab20baef1..ad2381394f4 100644
--- a/pkgs/applications/misc/k2pdfopt/default.nix
+++ b/pkgs/applications/misc/k2pdfopt/default.nix
@@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
     mupdf_modded = mupdf.overrideAttrs (attrs: {
       name = "mupdf-1.10a";
       src = fetchurl {
-        url = "http://mupdf.com/downloads/archive/mupdf-1.10a-source.tar.gz";
+        url = "https://mupdf.com/downloads/archive/mupdf-1.10a-source.tar.gz";
         sha256 = "0dm8wcs8i29aibzkqkrn8kcnk4q0kd1v66pg48h5c3qqp4v1zk5a";
       };
       # Excluded the pdf-*.c files, since they mostly just broke the #includes
diff --git a/pkgs/applications/misc/kdeconnect/default.nix b/pkgs/applications/misc/kdeconnect/default.nix
index fe250362593..0d02dbba69e 100644
--- a/pkgs/applications/misc/kdeconnect/default.nix
+++ b/pkgs/applications/misc/kdeconnect/default.nix
@@ -15,22 +15,23 @@
 , qtx11extras
 , sshfs
 , makeWrapper
+, kwayland
 }:
 
 stdenv.mkDerivation rec {
   pname = "kdeconnect";
-  version = "1.2.1";
+  version = "1.3.0";
   name = "${pname}-${version}";
 
   src = fetchurl {
-    url = "mirror://kde/stable/${pname}/${version}/src/${pname}-kde-v${version}.tar.xz";
-    sha256 = "01v432p9ylwss9gl6fvby8954bnjd91dni5jk1i44vv7x26yn8zg";
+    url = "mirror://kde/stable/${pname}/${version}/src/${pname}-kde-${version}.tar.xz";
+    sha256 = "0gzv55hks6j37pf7d18l40n1q6j8b74j9qg3v44p8sp0gnglwkcm";
   };
 
   buildInputs = [
     libfakekey libXtst
     ki18n kiconthemes kcmutils kconfigwidgets kdbusaddons knotifications
-    qca-qt5 qtx11extras makeWrapper
+    qca-qt5 qtx11extras makeWrapper kwayland
   ];
 
   nativeBuildInputs = [ extra-cmake-modules kdoctools ];
diff --git a/pkgs/applications/misc/keepass/default.nix b/pkgs/applications/misc/keepass/default.nix
index 5e492fc621f..53b965a1bb7 100644
--- a/pkgs/applications/misc/keepass/default.nix
+++ b/pkgs/applications/misc/keepass/default.nix
@@ -3,11 +3,11 @@
 
 with builtins; buildDotnetPackage rec {
   baseName = "keepass";
-  version = "2.38";
+  version = "2.39.1";
 
   src = fetchurl {
     url = "mirror://sourceforge/keepass/KeePass-${version}-Source.zip";
-    sha256 = "0m33gfpvv01xc28k4rrc8llbyk6qanm9rsqcnv8ydms0cr78dbbk";
+    sha256 = "0y69w9zzxqj7xrn632bw6bibrknjbx1k3qcvi9axn67sqmzaka00";
   };
 
   sourceRoot = ".";
diff --git a/pkgs/applications/misc/keepassx/community.nix b/pkgs/applications/misc/keepassx/community.nix
index 4daa1938aba..6b37f9b9145 100644
--- a/pkgs/applications/misc/keepassx/community.nix
+++ b/pkgs/applications/misc/keepassx/community.nix
@@ -14,6 +14,7 @@
 , yubikey-personalization
 , libXi
 , qtx11extras
+, qtmacextras
 
 , withKeePassBrowser ? true
 , withKeePassSSHAgent ? true
@@ -25,17 +26,27 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   name = "keepassxc-${version}";
-  version = "2.3.0";
+  version = "2.3.3";
 
   src = fetchFromGitHub {
     owner = "keepassxreboot";
     repo = "keepassxc";
     rev = "${version}";
-    sha256 = "1zch1qbqgphhp2p2kvjlah8s337162m69yf4y00kcnfb3539ii5f";
+    sha256 = "08cj1nxbjy2m80h3irnra2qha7fc5ahhzcgkyk9jv4zyys9xv998";
   };
 
-  NIX_CFLAGS_COMPILE = stdenv.lib.optionalString stdenv.cc.isClang "-Wno-old-style-cast";
+  NIX_CFLAGS_COMPILE = stdenv.lib.optionalString stdenv.cc.isClang [
+    "-Wno-old-style-cast"
+    "-Wno-error"
+    "-D__BIG_ENDIAN__=${if stdenv.isBigEndian then "1" else "0"}"
+  ];
 
+  postPatch = stdenv.lib.optionalString stdenv.isDarwin ''
+    substituteInPlace CMakeLists.txt \
+      --replace "/usr/local/bin" "../bin" \
+      --replace "/usr/local/share/man" "../share/man"
+  '';
+  NIX_LDFLAGS = stdenv.lib.optionalString stdenv.isDarwin "-rpath ${libargon2}/lib";
   patches = [ ./darwin.patch ];
 
   cmakeFlags = [
@@ -72,7 +83,7 @@ stdenv.mkDerivation rec {
     qtx11extras
     yubikey-personalization
     zlib
-  ];
+  ] ++ stdenv.lib.optional stdenv.isDarwin qtmacextras;
 
   postInstall = optionalString stdenv.isDarwin ''
     # Make it work without Qt in PATH.
diff --git a/pkgs/applications/misc/khal/default.nix b/pkgs/applications/misc/khal/default.nix
index 91e583e2af4..5351cd41b25 100644
--- a/pkgs/applications/misc/khal/default.nix
+++ b/pkgs/applications/misc/khal/default.nix
@@ -40,6 +40,6 @@ buildPythonApplication rec {
     homepage = http://lostpackets.de/khal/;
     description = "CLI calendar application";
     license = licenses.mit;
-    maintainers = with maintainers; [ matthiasbeyer jgeerds ];
+    maintainers = with maintainers; [ jgeerds ];
   };
 }
diff --git a/pkgs/applications/misc/khard/default.nix b/pkgs/applications/misc/khard/default.nix
index 5f3ac3d93c4..c626aaca66b 100644
--- a/pkgs/applications/misc/khard/default.nix
+++ b/pkgs/applications/misc/khard/default.nix
@@ -31,6 +31,6 @@ python3Packages.buildPythonApplication rec {
     homepage = https://github.com/scheibler/khard;
     description = "Console carddav client";
     license = stdenv.lib.licenses.gpl3;
-    maintainers = with stdenv.lib.maintainers; [ matthiasbeyer ];
+    maintainers = with stdenv.lib.maintainers; [ ];
   };
 }
diff --git a/pkgs/applications/misc/kitty/default.nix b/pkgs/applications/misc/kitty/default.nix
index 17746563c56..e9c860f0b90 100644
--- a/pkgs/applications/misc/kitty/default.nix
+++ b/pkgs/applications/misc/kitty/default.nix
@@ -1,8 +1,11 @@
-{ stdenv, fetchFromGitHub, pkgs, python3Packages, glfw, libunistring, harfbuzz, fontconfig, zlib, pkgconfig, ncurses, imagemagick, makeWrapper, xsel, libstartup_notification, libX11, libXrandr, libXinerama, libXcursor, libxkbcommon, libXi, libXext }:
+{ stdenv, fetchFromGitHub, pkgs, python3Packages, glfw, libunistring, harfbuzz,
+  fontconfig, zlib, pkgconfig, ncurses, imagemagick, makeWrapper, xsel,
+  libstartup_notification, libX11, libXrandr, libXinerama, libXcursor,
+  libxkbcommon, libXi, libXext }:
 
 with python3Packages;
 buildPythonApplication rec {
-  version = "0.8.0";
+  version = "0.9.1";
   name = "kitty-${version}";
   format = "other";
 
@@ -10,10 +13,13 @@ buildPythonApplication rec {
     owner = "kovidgoyal";
     repo = "kitty";
     rev = "v${version}";
-    sha256 = "12pj4js704r4f6idam3ljg7yllij9v158ayq6ym24zq18bv1nmbz";
+    sha256 = "08j2k3852c64z4mgh1j0dgdj6c2alkckpav67lzg1lxsz3w2izh2";
   };
 
-  buildInputs = [ fontconfig glfw ncurses libunistring harfbuzz libX11 libXrandr libXinerama libXcursor libxkbcommon libXi libXext ];
+  buildInputs = [
+    fontconfig glfw ncurses libunistring harfbuzz libX11
+    libXrandr libXinerama libXcursor libxkbcommon libXi libXext
+  ];
 
   nativeBuildInputs = [ pkgconfig ];
 
diff --git a/pkgs/applications/misc/latte-dock/default.nix b/pkgs/applications/misc/latte-dock/default.nix
index 5c21b404f34..eafe0b9b5c6 100644
--- a/pkgs/applications/misc/latte-dock/default.nix
+++ b/pkgs/applications/misc/latte-dock/default.nix
@@ -1,7 +1,7 @@
 { mkDerivation, lib, cmake, xorg, plasma-framework, fetchFromGitHub
 , extra-cmake-modules, karchive, kwindowsystem, qtx11extras, kcrash }:
 
-let version = "0.7.3"; in
+let version = "0.7.5"; in
 
 mkDerivation {
   name = "latte-dock-${version}";
@@ -10,7 +10,7 @@ mkDerivation {
     owner = "psifidotos";
     repo = "Latte-Dock";
     rev = "v${version}";
-    sha256 = "110bal0dairsvgj624n5k0zabh2qfy9dk560a4wy7icxv0cjh7hg";
+    sha256 = "0fblbx6qk4miag1mhiyns7idsw03p9pj3xc3xxxnb5rpj1fy0ifv";
   };
 
   buildInputs = [ plasma-framework xorg.libpthreadstubs xorg.libXdmcp xorg.libSM ];
diff --git a/pkgs/applications/misc/lilyterm/default.nix b/pkgs/applications/misc/lilyterm/default.nix
index 36527cdbe7c..662ca9761fb 100644
--- a/pkgs/applications/misc/lilyterm/default.nix
+++ b/pkgs/applications/misc/lilyterm/default.nix
@@ -15,7 +15,7 @@ let
     then rec {
         version = "0.9.9.4";
         src = fetchurl {
-          url = "http://lilyterm.luna.com.tw/file/lilyterm-${version}.tar.gz";
+          url = "https://lilyterm.luna.com.tw/file/lilyterm-${version}.tar.gz";
           sha256 = "0x2x59qsxq6d6xg5sd5lxbsbwsdvkwqlk17iw3h4amjg3m1jc9mp";
         };
       }
@@ -50,7 +50,7 @@ stdenv.mkDerivation rec {
     longDescription = ''
       LilyTerm is a terminal emulator based off of libvte that aims to be fast and lightweight.
     '';
-    homepage = http://lilyterm.luna.com.tw/;
+    homepage = https://lilyterm.luna.com.tw/;
     license = licenses.gpl3;
     maintainers = with maintainers; [ AndersonTorres Profpatsch ];
     platforms = platforms.linux;
diff --git a/pkgs/applications/misc/limesuite/default.nix b/pkgs/applications/misc/limesuite/default.nix
new file mode 100644
index 00000000000..4599fab0c6d
--- /dev/null
+++ b/pkgs/applications/misc/limesuite/default.nix
@@ -0,0 +1,53 @@
+{ stdenv, fetchFromGitHub, cmake
+, sqlite, wxGTK30, libusb1, soapysdr
+, mesa_glu, libX11, gnuplot, fltk
+} :
+
+let
+  version = "18.04.1";
+
+in stdenv.mkDerivation {
+  name = "limesuite-${version}";
+
+  src = fetchFromGitHub {
+    owner = "myriadrf";
+    repo = "LimeSuite";
+    rev = "v${version}";
+    sha256 = "1aaqnwif1j045hvj011k5dyqxgxx72h33r4al74h5f8al81zvzj9";
+  };
+
+  nativeBuildInputs = [ cmake ];
+
+  buildInputs = [
+    libusb1
+    sqlite
+    wxGTK30
+    fltk
+    gnuplot
+    libusb1
+    soapysdr
+    mesa_glu
+    libX11
+  ];
+
+  postInstall = ''
+    mkdir -p $out/lib/udev/rules.d
+    cp ../udev-rules/64-limesuite.rules $out/lib/udev/rules.d
+
+    mkdir -p $out/share/limesuite
+    cp bin/Release/lms7suite_mcu/* $out/share/limesuite
+
+    cp bin/dualRXTX $out/bin
+    cp bin/basicRX $out/bin
+    cp bin/singleRX $out/bin
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Driver and GUI for LMS7002M-based SDR platforms";
+    homepage = https://github.com/myriadrf/LimeSuite;
+    license = licenses.asl20;
+    maintainers = with maintainers; [ markuskowa ];
+    platforms = platforms.linux;
+  };
+}
+
diff --git a/pkgs/applications/misc/lyx/default.nix b/pkgs/applications/misc/lyx/default.nix
index e3c4943cb2f..092ad6bf478 100644
--- a/pkgs/applications/misc/lyx/default.nix
+++ b/pkgs/applications/misc/lyx/default.nix
@@ -3,12 +3,12 @@
 }:
 
 stdenv.mkDerivation rec {
-  version = "2.2.3";
+  version = "2.3.0";
   name = "lyx-${version}";
 
   src = fetchurl {
-    url = "ftp://ftp.lyx.org/pub/lyx/stable/2.2.x/${name}.tar.xz";
-    sha256 = "0mrbr24xbdg25gd7w8g76gpmy0a10nrnz0mz47mdjwi441yfpjjg";
+    url = "ftp://ftp.lyx.org/pub/lyx/stable/2.3.x/${name}.tar.xz";
+    sha256 = "0axri2h8xkna4mkfchfyyysbjl7s486vx80p5hzj9zgsvdm5a3ri";
   };
 
   # LaTeX is used from $PATH, as people often want to have it with extra pkgs
diff --git a/pkgs/applications/misc/makeself/default.nix b/pkgs/applications/misc/makeself/default.nix
index 8a752bbaf86..a9ec2760e8a 100644
--- a/pkgs/applications/misc/makeself/default.nix
+++ b/pkgs/applications/misc/makeself/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchFromGitHub }:
 
 stdenv.mkDerivation rec {
-  version = "2.3.1";
+  version = "2.4.0";
   name = "makeself-${version}";
 
   src = fetchFromGitHub {
     owner = "megastep";
     repo = "makeself";
     rev = "release-${version}";
-    sha256 = "01r7vb9vyb99s3g5cw0c04s1ahcingynk3ki17wknlk2asjrbc4p";
+    sha256 = "1lw3gx1zpzp2wmzrw5v7k31vfsrdzadqha9ni309fp07g8inrr9n";
   };
 
   patchPhase = ''
diff --git a/pkgs/applications/misc/masterpdfeditor/default.nix b/pkgs/applications/misc/masterpdfeditor/default.nix
index 76d23f1a8f0..525be09d968 100644
--- a/pkgs/applications/misc/masterpdfeditor/default.nix
+++ b/pkgs/applications/misc/masterpdfeditor/default.nix
@@ -1,52 +1,42 @@
-{ stdenv, fetchurl, glibc, sane-backends, qtbase, qtsvg, libXext, libX11, libXdmcp, libXau, libxcb }:
-  let
-    version = "4.3.61";
-  in
-    stdenv.mkDerivation {
-      name = "masterpdfeditor-${version}";
-      src = fetchurl {
-        url = "http://get.code-industry.net/public/master-pdf-editor-${version}_qt5.amd64.tar.gz";
-        sha256 = "1g6mx8nch6ypf78h6xsb673wim19wn5ni5840armzg0pvi3sfknm";
-      };
-      libPath = stdenv.lib.makeLibraryPath [
-        stdenv.cc.cc
-        glibc
-        sane-backends
-        qtbase
-        qtsvg
-        libXext
-        libX11
-        libXdmcp
-        libXau
-        libxcb
-      ];
-      dontStrip = true;
-      installPhase = ''
-        p=$out/opt/masterpdfeditor
-        mkdir -p $out/bin $p $out/share/applications $out/share/pixmaps
-
-        substituteInPlace masterpdfeditor4.desktop \
-          --replace 'Exec=/opt/master-pdf-editor-4' "Exec=$out/bin" \
-          --replace 'Path=/opt/master-pdf-editor-4' "Path=$out/bin" \
-          --replace 'Icon=/opt/master-pdf-editor-4' "Icon=$out/share/pixmaps"
-        cp -v masterpdfeditor4.png $out/share/pixmaps/
-        cp -v masterpdfeditor4.desktop $out/share/applications
-
-        cp -v masterpdfeditor4 $p/
-        ln -s $p/masterpdfeditor4 $out/bin/masterpdfeditor4
-        cp -v -r stamps templates lang fonts $p
-
-        install -D license.txt $out/share/$name/LICENSE
-
-        patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
-                 --set-rpath $libPath \
-                 $p/masterpdfeditor4
-      '';
-      meta = with stdenv.lib; {
-        description = "Master PDF Editor";
-        homepage = "https://code-industry.net/free-pdf-editor/";
-        license = licenses.unfreeRedistributable;
-        platforms = with platforms; [ "x86_64-linux" ];
-        maintainers = with maintainers; [ cmcdragonkai flokli ];
-      };
-    }
+{ stdenv, fetchurl, glibc, sane-backends, qtbase, qtsvg, libXext, libX11, libXdmcp, libXau, libxcb, autoPatchelfHook }:
+let
+  version = "4.3.89";
+in stdenv.mkDerivation {
+  name = "masterpdfeditor-${version}";
+  src = fetchurl {
+    url = "http://get.code-industry.net/public/master-pdf-editor-${version}_qt5.amd64.tar.gz";
+    sha256 = "0k5bzlhqglskiiq86nmy18mnh5bf2w3mr9cq3pibrwn5pisxnxxc";
+  };
+
+  nativeBuildInputs = [ autoPatchelfHook ];
+
+  buildInputs = [ sane-backends qtbase qtsvg ];
+
+  dontStrip = true;
+
+  installPhase = ''
+   p=$out/opt/masterpdfeditor
+   mkdir -p $out/bin $p $out/share/applications $out/share/pixmaps
+
+   substituteInPlace masterpdfeditor4.desktop \
+     --replace 'Exec=/opt/master-pdf-editor-4' "Exec=$out/bin" \
+     --replace 'Path=/opt/master-pdf-editor-4' "Path=$out/bin" \
+     --replace 'Icon=/opt/master-pdf-editor-4' "Icon=$out/share/pixmaps"
+   cp -v masterpdfeditor4.png $out/share/pixmaps/
+   cp -v masterpdfeditor4.desktop $out/share/applications
+
+   cp -v masterpdfeditor4 $p/
+   ln -s $p/masterpdfeditor4 $out/bin/masterpdfeditor4
+   cp -v -r stamps templates lang fonts $p
+
+   install -D license.txt $out/share/$name/LICENSE
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Master PDF Editor";
+    homepage = "https://code-industry.net/free-pdf-editor/";
+    license = licenses.unfreeRedistributable;
+    platforms = with platforms; [ "x86_64-linux" ];
+    maintainers = with maintainers; [ cmcdragonkai flokli ];
+  };
+}
diff --git a/pkgs/applications/misc/mdp/default.nix b/pkgs/applications/misc/mdp/default.nix
index 9e584217c59..fd0a8ea1fe4 100644
--- a/pkgs/applications/misc/mdp/default.nix
+++ b/pkgs/applications/misc/mdp/default.nix
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
   meta = with stdenv.lib; {
     homepage = https://github.com/visit1985/mdp;
     description = "A command-line based markdown presentation tool";
-    maintainers = with maintainers; [ matthiasbeyer vrthra ];
+    maintainers = with maintainers; [ vrthra ];
     license = licenses.gpl3;
     platforms = with platforms; unix;
   };
diff --git a/pkgs/applications/misc/mediainfo-gui/default.nix b/pkgs/applications/misc/mediainfo-gui/default.nix
index 8451c783aac..b6ec3305cb3 100644
--- a/pkgs/applications/misc/mediainfo-gui/default.nix
+++ b/pkgs/applications/misc/mediainfo-gui/default.nix
@@ -2,11 +2,11 @@
 , desktop-file-utils, libSM, imagemagick }:
 
 stdenv.mkDerivation rec {
-  version = "17.12";
+  version = "18.05";
   name = "mediainfo-gui-${version}";
   src = fetchurl {
     url = "https://mediaarea.net/download/source/mediainfo/${version}/mediainfo_${version}.tar.xz";
-    sha256 = "1pxdf0ny3c38gl513zdiaagpvk4bqnsc2fn7476yjdpv2lxsw56f";
+    sha256 = "0rgsfplisf729n1j3fyg82wpw88aahisrddn5wq9yx8hz6m96h6r";
   };
 
   nativeBuildInputs = [ autoreconfHook pkgconfig ];
diff --git a/pkgs/applications/misc/mediainfo/default.nix b/pkgs/applications/misc/mediainfo/default.nix
index 7b4b8f0d780..5b2f8125f72 100644
--- a/pkgs/applications/misc/mediainfo/default.nix
+++ b/pkgs/applications/misc/mediainfo/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, autoreconfHook, pkgconfig, libzen, libmediainfo, zlib }:
 
 stdenv.mkDerivation rec {
-  version = "17.12";
+  version = "18.05";
   name = "mediainfo-${version}";
   src = fetchurl {
     url = "https://mediaarea.net/download/source/mediainfo/${version}/mediainfo_${version}.tar.xz";
-    sha256 = "1pxdf0ny3c38gl513zdiaagpvk4bqnsc2fn7476yjdpv2lxsw56f";
+    sha256 = "0rgsfplisf729n1j3fyg82wpw88aahisrddn5wq9yx8hz6m96h6r";
   };
 
   nativeBuildInputs = [ autoreconfHook pkgconfig ];
diff --git a/pkgs/applications/misc/minergate/default.nix b/pkgs/applications/misc/minergate/default.nix
new file mode 100644
index 00000000000..d11e889e932
--- /dev/null
+++ b/pkgs/applications/misc/minergate/default.nix
@@ -0,0 +1,36 @@
+{ fetchurl, stdenv, dpkg, makeWrapper, fontconfig, freetype, openssl, xorg, xkeyboard_config }:
+
+stdenv.mkDerivation rec {
+  version = "8.1";
+  name = "minergate-${version}";
+  src = fetchurl {
+    url = "https://minergate.com/download/ubuntu";
+    sha256 = "1dbbbb8e0735cde239fca9e82c096dcc882f6cecda20bba7c14720a614c16e13";
+  };
+
+  nativeBuildInputs = [ dpkg makeWrapper ];
+
+  phases = [ "installPhase" ];
+
+  installPhase = ''
+    dpkg-deb -x $src $out
+    pgm=$out/opt/minergate/minergate
+
+    interpreter=${stdenv.glibc}/lib/ld-linux-x86-64.so.2
+    patchelf --set-interpreter "$interpreter" $pgm
+
+    wrapProgram $pgm --prefix LD_LIBRARY_PATH : ${stdenv.lib.makeLibraryPath [ fontconfig freetype openssl stdenv.cc.cc xorg.libX11 xorg.libxcb ]} --prefix "QT_XKB_CONFIG_ROOT" ":" "${xkeyboard_config}/share/X11/xkb"
+
+    rm $out/usr/bin/minergate
+    mkdir -p $out/bin
+    ln -s $out/opt/minergate/minergate $out/bin
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Minergate CPU/GPU mining software";
+    homepage = https://www.minergate.com/;
+    license = licenses.unfree;
+    maintainers = with maintainers; [ bfortz ];
+    platforms = [ "x86_64-linux" ];
+};
+}
diff --git a/pkgs/applications/misc/mucommander/default.nix b/pkgs/applications/misc/mucommander/default.nix
new file mode 100644
index 00000000000..fdb236194f9
--- /dev/null
+++ b/pkgs/applications/misc/mucommander/default.nix
@@ -0,0 +1,82 @@
+{ stdenv, fetchFromGitHub, gradle_3_5, perl, makeWrapper, jre }:
+
+let
+  version = "0.9.2";
+  name = "mucommander-${version}";
+
+  src = fetchFromGitHub {
+    owner = "mucommander";
+    repo = "mucommander";
+    rev = version;
+    sha256 = "1fvij0yjjz56hsyddznx7mdgq1zm25fkng3axl03iyrij976z7b8";
+  };
+  
+  postPatch = ''
+    # there is no .git anyway
+    substituteInPlace build.gradle \
+      --replace "git = org.ajoberstar.grgit.Grgit.open(file('.'))"  "" \
+      --replace "revision = git.head().id"                          "revision = 'abcdefgh'"
+
+    # disable gradle plugins with native code and their targets
+    perl -i.bak1 -pe "s#(^\s*id '.+' version '.+'$)#// \1#" build.gradle
+    perl -i.bak2 -pe "s#(.*)#// \1# if /^(buildscript|task portable|task nsis|task proguard|task tgz|task\(afterEclipseImport\)|launch4j|macAppBundle|buildRpm|buildDeb|shadowJar)/ ... /^}/" build.gradle
+
+    # fix source encoding
+    find . -type f -name build.gradle \
+      -exec perl -i.bak3 -pe "s#(repositories\.jcenter\(\))#
+                                \1
+                                compileJava.options.encoding = 'UTF-8'
+                                compileTestJava.options.encoding = 'UTF-8'
+                               #" {} \;
+  '';
+
+  # fake build to pre-download deps into fixed-output derivation
+  deps = stdenv.mkDerivation {
+    name = "${name}-deps";
+    inherit src postPatch;
+    nativeBuildInputs = [ gradle_3_5 perl ];
+    buildPhase = ''
+      export GRADLE_USER_HOME=$(mktemp -d)
+      gradle --no-daemon build
+    '';
+    # 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
+    '';
+    outputHashAlgo = "sha256";
+    outputHashMode = "recursive";
+    outputHash = "199a9rc1pp9jjwpy83743qhjczfz0d1mkbic6si9bh8l62nw8qc7";
+  };
+
+in stdenv.mkDerivation {
+  inherit name src postPatch;
+  nativeBuildInputs = [ gradle_3_5 perl makeWrapper ];
+
+  buildPhase = ''
+    export GRADLE_USER_HOME=$(mktemp -d)
+
+    # point to offline repo
+    find . -type f -name build.gradle \
+      -exec perl -i.bak3 -pe "s#repositories\.jcenter\(\)#
+                                repositories { mavenLocal(); maven { url '${deps}' } }
+                               #" {} \;
+
+    gradle --offline --no-daemon build
+  '';
+
+  installPhase = ''
+    mkdir $out
+    tar xvf build/distributions/mucommander-${version}.tar --directory=$out --strip=1
+    wrapProgram $out/bin/mucommander --set JAVA_HOME ${jre}
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = http://www.mucommander.com/;
+    description = "Cross-platform file manager";
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ volth ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/applications/misc/multimon-ng/default.nix b/pkgs/applications/misc/multimon-ng/default.nix
index 953c4c1d9a9..99d511d413c 100644
--- a/pkgs/applications/misc/multimon-ng/default.nix
+++ b/pkgs/applications/misc/multimon-ng/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchFromGitHub, qt4, qmake4Hook, libpulseaudio }:
 let
-  version = "1.1.4";
+  version = "1.1.5";
 in
 stdenv.mkDerivation {
   name = "multimon-ng-${version}";
@@ -9,7 +9,7 @@ stdenv.mkDerivation {
     owner = "EliasOenal";
     repo = "multimon-ng";
     rev = "${version}";
-    sha256 = "12z6f0ra2k0qh56pcvnwvlxd3msvr6yr97jvs7w5kf42jqbxdsga";
+    sha256 = "00h884hn5afrx5i52xmngpsv3204hgb7xpw9my3lm8sajmfrjj1g";
   };
 
   buildInputs = [ qt4 libpulseaudio ];
diff --git a/pkgs/applications/misc/mupdf/default.nix b/pkgs/applications/misc/mupdf/default.nix
index b0d8ba3bb08..fbc7da07021 100644
--- a/pkgs/applications/misc/mupdf/default.nix
+++ b/pkgs/applications/misc/mupdf/default.nix
@@ -14,35 +14,19 @@ let
 
 
 in stdenv.mkDerivation rec {
-  version = "1.12.0";
+  version = "1.13.0";
   name = "mupdf-${version}";
 
   src = fetchurl {
-    url = "http://mupdf.com/downloads/archive/${name}-source.tar.gz";
-    sha256 = "0mc7a92zri27lk17wdr2iffarbfi4lvrmxhc53sz84hm5yl56qsw";
+    url = "https://mupdf.com/downloads/archive/${name}-source.tar.gz";
+    sha256 = "02faww5bnjw76k6igrjzwf0lnw4xd9ckc8d6ilc3c4gfrdi6j707";
   };
 
   patches = [
-    # Compatibility with new openjpeg
-    (fetchpatch {
-      name = "mupdf-1.12-openjpeg-version.patch";
-      url = "https://git.archlinux.org/svntogit/community.git/plain/trunk/0001-mupdf-openjpeg.patch?h=packages/mupdf&id=a910cd33a2b311712f83710dc042fbe80c104306";
-      sha256 = "05i9v2ia586jyjqdb7g68ss4vkfwgp6cwhagc8zzggsba83azyqk";
-    })
-    (fetchpatch {
-      name = "CVE-2018-6544.1.patch";
-      url = "http://git.ghostscript.com/?p=mupdf.git;a=commitdiff_plain;h=b03def134988da8c800adac1a38a41a1f09a1d89;hp=26527eef77b3e51c2258c8e40845bfbc015e405d";
-      sha256 = "1rlmjibl73ls8xfpsz69axa3lw5l47vb0a1dsjqziszsld4lpj5i";
-    })
-    (fetchpatch {
-      name = "CVE-2018-6544.2.patch";
-      url = "http://git.ghostscript.com/?p=mupdf.git;a=patch;h=26527eef77b3e51c2258c8e40845bfbc015e405d;hp=ab98356f959c7a6e94b1ec10f78dd2c33ed3f3e7";
-      sha256 = "1brcc029s5zmd6ya0d9qk3mh9qwx5g6vhsf1j8h879092sya5627";
-    })
   ]
 
   # Use shared libraries to decrease size
-  ++ stdenv.lib.optional (!stdenv.isDarwin) ./mupdf-1.12-shared_libs-1.patch
+  ++ stdenv.lib.optional (!stdenv.isDarwin) ./mupdf-1.13-shared_libs-1.patch
 
   ++ stdenv.lib.optional stdenv.isDarwin ./darwin.patch
   ;
diff --git a/pkgs/applications/misc/mupdf/default.upstream b/pkgs/applications/misc/mupdf/default.upstream
index 07cafdb0c2a..852233633ca 100644
--- a/pkgs/applications/misc/mupdf/default.upstream
+++ b/pkgs/applications/misc/mupdf/default.upstream
@@ -1,4 +1,4 @@
-url http://mupdf.com/downloads/archive/
+url https://mupdf.com/downloads/archive/
 do_overwrite(){
   ensure_hash
   ensure_version
diff --git a/pkgs/applications/misc/mupdf/mupdf-1.12-shared_libs-1.patch b/pkgs/applications/misc/mupdf/mupdf-1.13-shared_libs-1.patch
index b39f005ed74..e29f1f52077 100644
--- a/pkgs/applications/misc/mupdf/mupdf-1.12-shared_libs-1.patch
+++ b/pkgs/applications/misc/mupdf/mupdf-1.13-shared_libs-1.patch
@@ -9,22 +9,24 @@
  LIBS += $(XLIBS) -lm
  
  LIBS += $(FREETYPE_LIBS)
-@@ -312,9 +312,9 @@
+@@ -312,10 +312,10 @@
  
  # --- Library ---
  
 -MUPDF_LIB = $(OUT)/libmupdf.a
 -THIRD_LIB = $(OUT)/libmupdfthird.a
 -THREAD_LIB = $(OUT)/libmuthreads.a
+-PKCS7_LIB = $(OUT)/libmupkcs7.a
 +MUPDF_LIB = $(OUT)/libmupdf.so
 +THIRD_LIB = $(OUT)/libmupdfthird.so
 +THREAD_LIB = $(OUT)/libmuthreads.so
++PKCS7_LIB = $(OUT)/libmupkcs7.so
  
  MUPDF_OBJ := \
  	$(FITZ_OBJ) \
-@@ -343,11 +343,14 @@
- 
- THREAD_OBJ := $(THREAD_OBJ)
+@@ -343,13 +343,17 @@
+ 	$(ZLIB_OBJ) \
+ 	$(LCMS2_OBJ)
  
 -$(MUPDF_LIB) : $(MUPDF_OBJ)
 +$(MUPDF_LIB) : $(MUPDF_OBJ) $(THIRD_LIB) $(THREAD_LIB)
@@ -33,9 +35,11 @@
 +	$(LINK_CMD) -shared -Wl,-soname -Wl,libmupdfthird.so -Wl,--no-undefined
  $(THREAD_LIB) : $(THREAD_OBJ)
 +	$(LINK_CMD) -shared -Wl,-soname -Wl,libmuthreads.so -Wl,--no-undefined -lpthread
+ $(PKCS7_LIB) : $(PKCS7_OBJ)
++	$(LINK_CMD) -shared -Wl,-soname -Wl,libmupkcs7.so
  
 -INSTALL_LIBS := $(MUPDF_LIB) $(THIRD_LIB)
-+INSTALL_LIBS := $(MUPDF_LIB) $(THIRD_LIB) $(THREAD_LIB)
++INSTALL_LIBS := $(MUPDF_LIB) $(THIRD_LIB) $(THREAD_LIB) $(PKCS7_LIB)
  
  # --- Tools and Apps ---
  
diff --git a/pkgs/applications/misc/mwic/default.nix b/pkgs/applications/misc/mwic/default.nix
index e6ac35d19a0..67e6ed3fa9c 100644
--- a/pkgs/applications/misc/mwic/default.nix
+++ b/pkgs/applications/misc/mwic/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, pythonPackages }:
 
 stdenv.mkDerivation rec {
-  version = "0.7.4";
+  version = "0.7.5";
   name = "mwic-${version}";
 
   src = fetchurl {
     url = "https://github.com/jwilk/mwic/releases/download/${version}/${name}.tar.gz";
-    sha256 = "0c0xk7wx4vaamlry6srdixw1q6afmqznvxdzcg1skr0qjypw5i5q";
+    sha256 = "1b4fz9vs0aihg9nj9aj6d2jmykpa9nxi9rvz06v50wwk515plpmc";
   };
 
   makeFlags=["PREFIX=\${out}"];
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
     homepage = http://jwilk.net/software/mwic;
     description = "spell-checker that groups possible misspellings and shows them in their contexts";
     license = licenses.mit;
-    maintainers = with maintainers; [ matthiasbeyer ];
+    maintainers = with maintainers; [ ];
   };
 }
 
diff --git a/pkgs/applications/misc/netsurf/buildsystem/default.nix b/pkgs/applications/misc/netsurf/buildsystem/default.nix
index 74e7c694ea4..f25180505e8 100644
--- a/pkgs/applications/misc/netsurf/buildsystem/default.nix
+++ b/pkgs/applications/misc/netsurf/buildsystem/default.nix
@@ -3,11 +3,11 @@
 stdenv.mkDerivation rec {
 
   name = "netsurf-buildsystem-${version}";
-  version = "1.5";
+  version = "1.6";
 
   src = fetchurl {
     url = "http://download.netsurf-browser.org/libs/releases/buildsystem-${version}.tar.gz";
-    sha256 = "0wdgvasrjik1dgvvpqbppbpyfzkqd1v45x3g9rq7p67n773azinv";
+    sha256 = "0p5k708lcq8dip9xxck6hml32bjrbyipprm22bbsvdnsc0pqm71x";
   };
 
   makeFlags = [
diff --git a/pkgs/applications/misc/netsurf/libcss/default.nix b/pkgs/applications/misc/netsurf/libcss/default.nix
index 02bb593ce71..e97452249bc 100644
--- a/pkgs/applications/misc/netsurf/libcss/default.nix
+++ b/pkgs/applications/misc/netsurf/libcss/default.nix
@@ -27,6 +27,8 @@ stdenv.mkDerivation rec {
     "NSSHARED=${buildsystem}/share/netsurf-buildsystem"
   ];
 
+  NIX_CFLAGS_COMPILE=[ "-Wno-error=implicit-fallthrough" ];
+
   meta = with stdenv.lib; {
     homepage = http://www.netsurf-browser.org/;
     description = "Cascading Style Sheets library for netsurf browser";
diff --git a/pkgs/applications/misc/nixnote2/default.nix b/pkgs/applications/misc/nixnote2/default.nix
index 971da8ba048..4ac152c2669 100644
--- a/pkgs/applications/misc/nixnote2/default.nix
+++ b/pkgs/applications/misc/nixnote2/default.nix
@@ -24,8 +24,14 @@ mkDerivation rec {
         --replace '#include <poppler-qt5.h>' '#include <poppler/qt5/poppler-qt5.h>'
     done
 
+    substituteInPlace help/about.html --replace '__VERSION__' '${version}'
+
     substituteInPlace nixnote.cpp --replace 'tidyProcess.start("tidy' 'tidyProcess.start("${html-tidy}/bin/tidy'
   '';
+  
+  postInstal = ''
+    cp images/windowIcon.png $out/share/pixmaps/nixnote2.png
+  '';
 
   meta = with stdenv.lib; {
     description = "An unofficial client of Evernote";
diff --git a/pkgs/applications/misc/nnn/default.nix b/pkgs/applications/misc/nnn/default.nix
index ae1c178e571..b4832a72c2b 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 = "1.7";
+  version = "1.8";
 
   src = fetchFromGitHub {
     owner = "jarun";
     repo = "nnn";
     rev = "v${version}";
-    sha256 = "03cgsdj4l19gla5fx9d1ydqirpsah9d7gx9jaik73x38zqsabr89";
+    sha256 = "0sd8djig56163k0b0y4a7kg3malxlg08gayjw4zmvqaihvbbkc6v";
   };
 
   configFile = optionalString (conf!=null) (builtins.toFile "nnn.h" conf);
diff --git a/pkgs/applications/misc/octoprint/default.nix b/pkgs/applications/misc/octoprint/default.nix
index 6587305a770..ca381e14dd1 100644
--- a/pkgs/applications/misc/octoprint/default.nix
+++ b/pkgs/applications/misc/octoprint/default.nix
@@ -94,6 +94,9 @@ in pythonPackages.buildPythonApplication rec {
       -e 's,pyserial>=[^"]*,pyserial,g' \
       -e 's,semantic_version>=[^"]*,semantic_version,g' \
       -e 's,wrapt>=[^"]*,wrapt,g' \
+      -e 's,python-dateutil>=[^"]*,python-dateutil,g' \
+      -e 's,emoji>=[^"]*,emoji,g' \
+      -e 's,futures>=[^"]*,futures,g' \
       setup.py
   '';
 
diff --git a/pkgs/applications/misc/onboard/default.nix b/pkgs/applications/misc/onboard/default.nix
index d4847e4ce49..de64705d832 100644
--- a/pkgs/applications/misc/onboard/default.nix
+++ b/pkgs/applications/misc/onboard/default.nix
@@ -88,6 +88,7 @@ in python3.pkgs.buildPythonApplication rec {
 
   nativeBuildInputs = [
     glibcLocales
+    gobjectIntrospection # populate GI_TYPELIB_PATH
     intltool
     pkgconfig
   ];
diff --git a/pkgs/applications/misc/oneko/default.nix b/pkgs/applications/misc/oneko/default.nix
index 4655b059b33..58e80e7f726 100644
--- a/pkgs/applications/misc/oneko/default.nix
+++ b/pkgs/applications/misc/oneko/default.nix
@@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
     homepage = "http://www.daidouji.com/oneko/";
     license = licenses.publicDomain;
     maintainers = [ maintainers.xaverdh ];
-    platforms = platforms.linux;
+    platforms = platforms.unix;
   };
 }
 
diff --git a/pkgs/applications/misc/open-pdf-presenter/default.nix b/pkgs/applications/misc/open-pdf-presenter/default.nix
deleted file mode 100644
index 0f40a236c58..00000000000
--- a/pkgs/applications/misc/open-pdf-presenter/default.nix
+++ /dev/null
@@ -1,22 +0,0 @@
-{ stdenv, fetchFromGitHub, cmake, qt4, pythonPackages }:
-
-stdenv.mkDerivation rec {
-  name = "open-pdf-presenter-git-2014-09-23";
-
-  src = fetchFromGitHub {
-    owner  = "olabini";
-    repo   = "open-pdf-presenter";
-    rev    = "f14930871b60b6ba50298c27377605e0a5fdf124";
-    sha256 = "1lfqb60zmjmsvzpbz29m8yxlzs2fscingyk8jvisng1y921726rr";
-  };
-
-  buildInputs = [ cmake qt4 pythonPackages.poppler-qt4 ];
-
-  meta = {
-    homepage = https://github.com/olabini/open-pdf-presenter;
-    description = "A program for presenting PDFs on multi-monitor settings (typically a laptop connected to a overhead projector)";
-    license = stdenv.lib.licenses.gpl3;
-    maintainers = [ ];
-    platforms = stdenv.lib.platforms.all;
-  };
-}
diff --git a/pkgs/applications/misc/opencpn/default.nix b/pkgs/applications/misc/opencpn/default.nix
index 1c5fde9353a..7713b5256bf 100644
--- a/pkgs/applications/misc/opencpn/default.nix
+++ b/pkgs/applications/misc/opencpn/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   name = "opencpn-${version}";
-  version = "4.8.2";
+  version = "4.8.4";
 
   src = fetchFromGitHub {
     owner = "OpenCPN";
     repo = "OpenCPN";
     rev = "v${version}";
-    sha256 = "0r6a279xhhf4jrmjb2xi5arxb4xd5wvqbs4hyyildlgpr1x7bd09";
+    sha256 = "0v4klprzddmpq7w8h2pm69sgbshirdmjrlzhz62b606gbr58fazf";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/applications/misc/orca/default.nix b/pkgs/applications/misc/orca/default.nix
index c9f00d48aec..e05cb0ad6f9 100644
--- a/pkgs/applications/misc/orca/default.nix
+++ b/pkgs/applications/misc/orca/default.nix
@@ -1,5 +1,5 @@
 { stdenv, lib, pkgconfig, fetchurl, buildPythonApplication
-, autoreconfHook, wrapGAppsHook
+, autoreconfHook, wrapGAppsHook, gobjectIntrospection
 , intltool, yelp-tools, itstool, libxmlxx3
 , python, pygobject3, gtk3, gnome3, substituteAll
 , at-spi2-atk, at-spi2-core, pyatspi, dbus, dbus-python, pyxdg
@@ -10,7 +10,7 @@
 with lib;
 let
   pname = "orca";
-  version = "3.26.0";
+  version = "3.28.1";
 in buildPythonApplication rec {
   name = "${pname}-${version}";
 
@@ -18,7 +18,7 @@ in buildPythonApplication rec {
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${gnome3.versionBranch version}/${name}.tar.xz";
-    sha256 = "0xk5k9cbswymma60nrfj00dl97wypx59c107fb1hwi75gm0i07a7";
+    sha256 = "04l5ccn7wf175gyq3blfpx0yh70ny06n161297jwc9idf951852g";
   };
 
   patches = [
@@ -30,11 +30,12 @@ in buildPythonApplication rec {
 
   nativeBuildInputs = [
     autoreconfHook wrapGAppsHook pkgconfig libxmlxx3
-    intltool yelp-tools itstool
+    intltool yelp-tools itstool gobjectIntrospection
   ];
 
   propagatedBuildInputs = [
-    pygobject3 pyatspi dbus-python pyxdg brltty liblouis speechd gst-python setproctitle
+    # TODO: re-add liblouis when it is fixed
+    pygobject3 pyatspi dbus-python pyxdg brltty speechd gst-python setproctitle
   ];
 
   buildInputs = [
diff --git a/pkgs/applications/misc/overmind/default.nix b/pkgs/applications/misc/overmind/default.nix
new file mode 100644
index 00000000000..46e00a97990
--- /dev/null
+++ b/pkgs/applications/misc/overmind/default.nix
@@ -0,0 +1,27 @@
+{ stdenv, buildGoPackage, fetchFromGitHub, tmux, makeWrapper }:
+
+buildGoPackage rec {
+  name = "overmind-${version}";
+  version = "1.1.1";
+  goPackagePath = "github.com/DarthSim/overmind";
+
+  nativeBuildInputs = [ makeWrapper ];
+
+  postInstall = ''
+    wrapProgram "$bin/bin/overmind" --prefix PATH : "${stdenv.lib.makeBinPath [ tmux ]}"
+  '';
+
+  src = fetchFromGitHub {
+    owner = "DarthSim";
+    repo = "overmind";
+    rev = "v${version}";
+    sha256 = "0gdsbm54ln07jv1kgg53fiavx18xxw4f21lfcdl74ijk6bx4jbzv";
+  };
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/DarthSim/;
+    description = "Process manager for Procfile-based applications and tmux";
+    license = with licenses; [ mit ];
+    maintainers = [ maintainers.adisbladis ];
+  };
+}
diff --git a/pkgs/applications/misc/pcmanfm/default.nix b/pkgs/applications/misc/pcmanfm/default.nix
index 148dd427fbc..a77b2d17ecb 100644
--- a/pkgs/applications/misc/pcmanfm/default.nix
+++ b/pkgs/applications/misc/pcmanfm/default.nix
@@ -7,10 +7,10 @@ let
   inherit (stdenv.lib) optional;
 in
 stdenv.mkDerivation rec {
-  name = "pcmanfm-1.2.5";
+  name = "pcmanfm-1.3.0";
   src = fetchurl {
     url = "mirror://sourceforge/pcmanfm/${name}.tar.xz";
-    sha256 = "0rxdh0dfzc84l85c54blq42gczygq8adhr3l9hqzy1dp530cm1hc";
+    sha256 = "1ywgfyklms5hqkapsbjps4kyx20ac0d1qk16ww74yagkyfdkwsas";
   };
 
   buildInputs = [ glib gtk libfm' libX11 pango gnome3.defaultIconTheme ];
diff --git a/pkgs/applications/misc/pcmanx-gtk2/default.nix b/pkgs/applications/misc/pcmanx-gtk2/default.nix
index 060d4899f4c..7448b8e6648 100644
--- a/pkgs/applications/misc/pcmanx-gtk2/default.nix
+++ b/pkgs/applications/misc/pcmanx-gtk2/default.nix
@@ -1,10 +1,14 @@
-{ stdenv, fetchurl, gtk2, libXft, intltool, automake, autoconf, libtool, pkgconfig }:
+{ stdenv, fetchFromGitHub, gtk2, libXft, intltool, automake, autoconf, libtool, pkgconfig }:
 
-stdenv.mkDerivation {
-  name = "pcmanx-gtk2-1.3";
-  src = fetchurl {
-    url = "https://github.com/pcman-bbs/pcmanx/archive/1.3.tar.gz";
-    sha256 = "2e5c59f6b568036f2ad6ac67ca2a41dfeeafa185451e507f9fb987d4ed9c4302";
+stdenv.mkDerivation rec {
+  name = "pcmanx-gtk2-${version}";
+  version = "1.3";
+
+  src = fetchFromGitHub {
+    owner = "pcman-bbs";
+    repo = "pcmanx";
+    rev = version;
+    sha256 = "0fbwd149wny67rfhczz4cbh713a1qnswjiz7b6c2bxfcwh51f9rc";
   };
 
   nativeBuildInputs = [ pkgconfig ];
@@ -12,6 +16,8 @@ stdenv.mkDerivation {
 
   preConfigure = ''
     ./autogen.sh
+    # libtoolize generates configure script which uses older version of automake, we need to autoreconf it
+    cd libltdl; autoreconf; cd ..
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/misc/pdf-quench/default.nix b/pkgs/applications/misc/pdf-quench/default.nix
new file mode 100644
index 00000000000..c567a7903b8
--- /dev/null
+++ b/pkgs/applications/misc/pdf-quench/default.nix
@@ -0,0 +1,36 @@
+{ stdenv, fetchFromGitHub, pkgs, pythonPackages, wrapGAppsHook}:
+
+pythonPackages.buildPythonApplication rec {
+  name = "pdf-quench-${version}";
+  version = "1.0.5";
+
+  src = fetchFromGitHub {
+    owner = "linuxerwang";
+    repo = "pdf-quench";
+    rev = "b72b3970b371026f9a7ebe6003581e8a63af98f6";
+    sha256 = "1rp9rlwr6rarcsxygv5x2c5psgwl6r69k0lsgribgyyla9cf2m7n";
+  };
+
+  nativeBuildInputs = [ wrapGAppsHook ];
+  buildInputs = with pkgs; [
+    gtk3
+    gobjectIntrospection
+    goocanvas2
+    poppler_gi
+  ];
+  propagatedBuildInputs = with pythonPackages; [ pygobject3 pypdf2 ];
+
+  format = "other";
+  doCheck = false;
+
+  installPhase = ''
+    install -D -T -m 755 src/pdf_quench.py $out/bin/pdf-quench
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/linuxerwang/pdf-quench;
+    description = "A visual tool for cropping pdf files";
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ flokli ];
+  };
+}
diff --git a/pkgs/applications/misc/pdfpc/default.nix b/pkgs/applications/misc/pdfpc/default.nix
index 515127e12eb..e61613a4b30 100644
--- a/pkgs/applications/misc/pdfpc/default.nix
+++ b/pkgs/applications/misc/pdfpc/default.nix
@@ -4,13 +4,13 @@
 stdenv.mkDerivation rec {
   name = "${product}-${version}";
   product = "pdfpc";
-  version = "4.1";
+  version = "4.1.2";
 
   src = fetchFromGitHub {
     repo = "pdfpc";
     owner = "pdfpc";
     rev = "v${version}";
-    sha256 = "02cp0x5prqrizxdp0sf2sk5ip0363vyw6fxsb3zwyx4dw0vz4g96";
+    sha256 = "01c2bswvxqk4biidpfj3hzf0kdk69i56ibk2wfi8v50qm105psli";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/misc/pgmanage/default.nix b/pkgs/applications/misc/pgmanage/default.nix
index e08035aef57..7da71df7814 100644
--- a/pkgs/applications/misc/pgmanage/default.nix
+++ b/pkgs/applications/misc/pgmanage/default.nix
@@ -2,15 +2,23 @@
 
 stdenv.mkDerivation rec {
   name = "pgmanage-${version}";
-  version = "10.1.0";
+  version = "10.1.1";
 
   src = fetchFromGitHub {
     owner  = "pgManage";
     repo   = "pgManage";
     rev    = "v${version}";
-    sha256 = "0kzdq3xl6wyclngq307544yk57vpm10wyklkbgzx649z3pls3kyw";
+    sha256 = "1gv96an1ff9amh16lf71wknshmxl3l4hsl3ga7wb106c10i14zzc";
   };
 
+  patchPhase = ''
+    patchShebangs src/configure
+  '';
+
+  configurePhase = ''
+    ./configure --prefix $out
+  '';
+
   buildInputs = [ postgresql openssl ];
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/misc/plank/default.nix b/pkgs/applications/misc/plank/default.nix
new file mode 100644
index 00000000000..46e26666b40
--- /dev/null
+++ b/pkgs/applications/misc/plank/default.nix
@@ -0,0 +1,48 @@
+{ 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 }:
+
+stdenv.mkDerivation rec {
+  pname = "plank";
+  version = "0.11.4";
+  name = "${pname}-${version}";
+
+  src = fetchurl {
+    url = "https://launchpad.net/${pname}/1.0/${version}/+download/${name}.tar.xz";
+    sha256 = "1f41i45xpqhjxql9nl4a1sz30s0j46aqdhbwbvgrawz6himcvdc8";
+  };
+
+  nativeBuildInputs = [
+    pkgconfig
+    intltool
+    libxml2 # xmllint
+    wrapGAppsHook
+    gobjectIntrospection
+    autoreconfHook
+  ];
+
+  buildInputs = [ vala atk cairo glib gnome3.gnome-menus
+                  gtk3 gnome3.libgee libwnck3 libX11 libXfixes
+                  libXi pango gnome3.gnome-common bamf gdk_pixbuf
+                  libdbusmenu-gtk3 gnome3.dconf ];
+
+  # fix paths
+  makeFlags = [
+    "INTROSPECTION_GIRDIR=$(out)/share/gir-1.0/"
+    "INTROSPECTION_TYPELIBDIR=$(out)/lib/girepository-1.0"
+  ];
+
+  postPatch = ''
+    substituteInPlace ./configure \
+      --replace "/usr/bin/file" "${file}/bin/file"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Elegant, simple, clean dock";
+    homepage = https://launchpad.net/plank;
+    license = licenses.gpl3Plus;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ davidak ];
+  };
+}
diff --git a/pkgs/applications/misc/playonlinux/default.nix b/pkgs/applications/misc/playonlinux/default.nix
index 44650d001e3..2ad6321d519 100644
--- a/pkgs/applications/misc/playonlinux/default.nix
+++ b/pkgs/applications/misc/playonlinux/default.nix
@@ -21,8 +21,6 @@
 , curl
 }:
 
-assert stdenv.isLinux;
-
 let
   version = "4.2.12";
 
@@ -50,7 +48,7 @@ let
     else if stdenv.system == "i686-linux" then "${stdenv.cc}/nix-support/dynamic-linker"
     else throw "Unsupported platform for PlayOnLinux: ${stdenv.system}";
   ld64 = "${stdenv.cc}/nix-support/dynamic-linker";
-  libs = pkgs: stdenv.lib.makeLibraryPath [ pkgs.xlibs.libX11 ];
+  libs = pkgs: stdenv.lib.makeLibraryPath [ pkgs.xorg.libX11 ];
 
 in stdenv.mkDerivation {
   name = "playonlinux-${version}";
diff --git a/pkgs/applications/misc/plover/default.nix b/pkgs/applications/misc/plover/default.nix
index b8fa38268c3..b9323ece1f4 100644
--- a/pkgs/applications/misc/plover/default.nix
+++ b/pkgs/applications/misc/plover/default.nix
@@ -1,26 +1,47 @@
-{ stdenv, fetchurl, python27Packages, wmctrl }:
+{ stdenv, fetchurl, python27Packages, python36Packages, wmctrl }:
 
-python27Packages.buildPythonPackage rec {
-  name = "plover-${version}";
-  version = "3.1.0";
+{
+  stable = with python27Packages; buildPythonPackage rec {
+    name    = "plover-${version}";
+    version = "3.1.1";
 
-  meta = with stdenv.lib; {
-    description = "OpenSteno Plover stenography software";
-    maintainers = with maintainers; [ twey kovirobi ];
-    license = licenses.gpl2;
-  };
+    meta = with stdenv.lib; {
+      description = "OpenSteno Plover stenography software";
+      maintainers = with maintainers; [ twey kovirobi ];
+      license     = licenses.gpl2;
+    };
+
+    src = fetchurl {
+      url    = "https://github.com/openstenoproject/plover/archive/v${version}.tar.gz";
+      sha256 = "1hdg5491phx6svrxxsxp8v6n4b25y7y4wxw7x3bxlbyhaskgj53r";
+    };
 
-  src = fetchurl {
-    url = "https://github.com/openstenoproject/plover/archive/v${version}.tar.gz";
-    sha256 = "1zdlgyjp93sfvk6by7rsh9hj4ijzplglrxpcpkcir6c3nq2bixl4";
+    buildInputs           = [ pytest mock ];
+    propagatedBuildInputs = [
+      six setuptools pyserial appdirs hidapi wxPython xlib wmctrl
+    ];
   };
 
-  # This is a fix for https://github.com/pypa/pip/issues/3624 causing regression https://github.com/pypa/pip/issues/3781
-  postPatch = ''
-    substituteInPlace setup.py --replace " in sys_platform" " == sys_platform"
-    '';
+  dev = with python36Packages; buildPythonPackage rec {
+    name    = "plover-${version}";
+    version = "4.0.0.dev8";
+
+    meta = with stdenv.lib; {
+      description = "OpenSteno Plover stenography software";
+      maintainers = with maintainers; [ twey kovirobi ];
+      license     = licenses.gpl2;
+    };
 
-  buildInputs = with python27Packages; [ pytest mock ];
-  propagatedBuildInputs = with python27Packages; [ six setuptools pyserial appdirs hidapi
-    wxPython xlib wmctrl ];
+    src = fetchurl {
+      url    = "https://github.com/openstenoproject/plover/archive/v${version}.tar.gz";
+      sha256 = "1wxkmik1zyw5gqig5r0cas5v6f5408fbnximzw610rdisqy09rxp";
+    };
+
+    # I'm not sure why we don't find PyQt5 here but there's a similar
+    # sed on many of the platforms Plover builds for
+    postPatch = "sed -i /PyQt5/d setup.cfg";
+
+    checkInputs           = [ pytest mock ];
+    propagatedBuildInputs = [ Babel pyqt5 xlib pyserial appdirs wcwidth ];
+  };
 }
diff --git a/pkgs/applications/misc/polybar/default.nix b/pkgs/applications/misc/polybar/default.nix
index a3b87fd34f6..05ad3e2a906 100644
--- a/pkgs/applications/misc/polybar/default.nix
+++ b/pkgs/applications/misc/polybar/default.nix
@@ -1,6 +1,6 @@
 { cairo, cmake, fetchgit, libXdmcp, libpthreadstubs, libxcb, pcre, pkgconfig
 , python2 , stdenv, xcbproto, xcbutil, xcbutilimage, xcbutilrenderutil
-, xcbutilwm, xcbutilxrm, fetchpatch
+, xcbutilwm, xcbutilxrm, fetchpatch, makeWrapper
 
 # optional packages-- override the variables ending in 'Support' to enable or
 # disable modules
@@ -52,8 +52,15 @@ stdenv.mkDerivation rec {
       (if i3Support || i3GapsSupport then jsoncpp else null)
       (if i3Support then i3 else null)
       (if i3GapsSupport then i3-gaps else null)
+
+      (if i3Support || i3GapsSupport then makeWrapper else null)
     ];
 
+    fixupPhase = if (i3Support || i3GapsSupport) then ''
+    wrapProgram $out/bin/polybar \
+      --prefix PATH : "${if i3Support then i3 else i3-gaps}/bin"
+  '' else null;
+
     nativeBuildInputs = [
       cmake pkgconfig
     ];
diff --git a/pkgs/applications/misc/posterazor/default.nix b/pkgs/applications/misc/posterazor/default.nix
index 1347840ee67..6cb00fb1525 100644
--- a/pkgs/applications/misc/posterazor/default.nix
+++ b/pkgs/applications/misc/posterazor/default.nix
@@ -32,6 +32,6 @@ stdenv.mkDerivation rec {
     homepage = http://posterazor.sourceforge.net/;
     description = "Cuts a raster image into pieces which can afterwards be printed out and assembled to a poster";
     maintainers = [ stdenv.lib.maintainers.madjar ];
-    platforms = stdenv.lib.platforms.all;
+    platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/applications/misc/projectlibre/default.nix b/pkgs/applications/misc/projectlibre/default.nix
new file mode 100644
index 00000000000..5ba8e1b6e31
--- /dev/null
+++ b/pkgs/applications/misc/projectlibre/default.nix
@@ -0,0 +1,44 @@
+{ stdenv, fetchgit, ant, jdk, makeWrapper, jre, coreutils, which }:
+
+stdenv.mkDerivation rec {
+  name = "projectlibre-${version}";
+  version = "1.7.0";
+
+  src = fetchgit {
+    url = "https://git.code.sf.net/p/projectlibre/code";
+    rev = "0c939507cc63e9eaeb855437189cdec79e9386c2"; # version 1.7.0 was not tagged
+    sha256 = "0vy5vgbp45ai957gaby2dj1hvmbxfdlfnwcanwqm9f8q16qipdbq";
+  };
+
+  buildInputs = [ ant jdk makeWrapper ];
+  buildPhase = ''
+    export ANT_OPTS=-Dbuild.sysclasspath=ignore
+    ${ant}/bin/ant -f openproj_build/build.xml
+  '';
+
+  resourcesPath = "openproj_build/resources";
+  desktopItem = "${resourcesPath}/projectlibre.desktop";
+
+  installPhase = ''
+    mkdir -p $out/share/{applications,projectlibre/samples,pixmaps,doc/projectlibre} $out/bin
+
+    substitute $resourcesPath/projectlibre $out/bin/projectlibre \
+      --replace "\"/usr/share/projectlibre\"" "\"$out/share/projectlibre\""
+    chmod +x $out/bin/projectlibre
+    wrapProgram $out/bin/projectlibre \
+     --prefix PATH : "${jre}/bin:${coreutils}/bin:${which}/bin"
+
+    cp -R openproj_build/dist/* $out/share/projectlibre
+    cp -R openproj_build/license $out/share/doc/projectlibre
+    cp $desktopItem $out/share/applications
+    cp $resourcesPath/projectlibre.png $out/share/pixmaps
+    cp -R $resourcesPath/samples/* $out/share/projectlibre/samples
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = "http://www.projectlibre.com/";
+    description = "Project-Management Software similar to MS-Project";
+    maintainers = [ maintainers.Mogria ];
+    license = licenses.cpal10;
+  };
+}
diff --git a/pkgs/applications/misc/pytrainer/default.nix b/pkgs/applications/misc/pytrainer/default.nix
index 5b4b043ef66..cdeca96568d 100644
--- a/pkgs/applications/misc/pytrainer/default.nix
+++ b/pkgs/applications/misc/pytrainer/default.nix
@@ -1,26 +1,26 @@
-{ stdenv, fetchFromGitHub, perl, python2Packages, sqlite, gpsbabel
+{ stdenv, fetchFromGitHub, perl, python, sqlite, gpsbabel
 , withWebKit ? false }:
 
 let
 
   # Pytrainer needs a matplotlib with GTK backend. Also ensure we are
   # using the pygtk with glade support as needed by pytrainer.
-  matplotlibGtk = python2Packages.matplotlib.override {
+  matplotlibGtk = python.pkgs.matplotlib.override {
     enableGtk2 = true;
-    pygtk = python2Packages.pyGtkGlade;
+    pygtk = python.pkgs.pyGtkGlade;
   };
 
 in
 
-python2Packages.buildPythonApplication rec {
+python.pkgs.buildPythonApplication rec {
   name = "pytrainer-${version}";
-  version = "1.12.0";
+  version = "1.12.1";
 
   src = fetchFromGitHub {
     owner = "pytrainer";
     repo = "pytrainer";
     rev = "v${version}";
-    sha256 = "09pfddjaqdpy3r27h21xvsvh04sb8hppinskxlahdqb3vjzkr581";
+    sha256 = "0rzf8kks96qzlknh6g3b9pjq04j7qk6rmz58scp7sck8xz9rjbwx";
   };
 
   namePrefix = "";
@@ -40,7 +40,7 @@ python2Packages.buildPythonApplication rec {
       --replace "'mysqlclient'," ""
   '';
 
-  propagatedBuildInputs = with python2Packages; [
+  propagatedBuildInputs = with python.pkgs; [
     dateutil lxml matplotlibGtk pyGtkGlade sqlalchemy sqlalchemy_migrate psycopg2
   ] ++ stdenv.lib.optional withWebKit [ pywebkitgtk ];
 
@@ -50,6 +50,10 @@ python2Packages.buildPythonApplication rec {
   dontPatchELF = true;
   dontStrip = true;
 
+  checkPhase = ''
+    ${python.interpreter} -m unittest discover
+  '';
+
   meta = with stdenv.lib; {
     homepage = https://github.com/pytrainer/pytrainer/wiki;
     description = "Application for logging and graphing sporting excursions";
diff --git a/pkgs/applications/misc/pytrainer/fix-test-tz.patch b/pkgs/applications/misc/pytrainer/fix-test-tz.patch
index 761064077a9..ca487576901 100644
--- a/pkgs/applications/misc/pytrainer/fix-test-tz.patch
+++ b/pkgs/applications/misc/pytrainer/fix-test-tz.patch
@@ -30,13 +30,16 @@ diff -Nurp source.orig/pytrainer/test/imports/test_garmintcxv2.py source/pytrain
 +        summary = [(0, True, '2012-10-14T10:02:42', '10.12', '00:39:51', 'Running')]
          activity = Activity(date_time_utc='2012-10-14T10:02:42Z', sport_id='1')
          self.ddbb.session.add(activity)
-         self.ddbb.session.commit()
+         self.ddbb.session.commit(
 diff -Nurp source.orig/pytrainer/test/lib/test_date.py source/pytrainer/test/lib/test_date.py
---- source.orig/pytrainer/test/lib/test_date.py	2018-02-27 22:15:32.079243364 +0100
-+++ source/pytrainer/test/lib/test_date.py	2018-02-27 22:16:33.936867052 +0100
-@@ -45,4 +45,4 @@ class DateFunctionTest(unittest.TestCase
+--- source.orig/pytrainer/test/lib/test_date.py	2018-05-10 21:15:22.196275555 +0200
++++ source/pytrainer/test/lib/test_date.py	2018-05-10 21:22:43.647870401 +0200
+@@ -47,7 +47,7 @@ class DateFunctionTest(unittest.TestCase
      def test_getDateTime(self):
          utctime, localtime = getDateTime('Tue Nov 24 17:29:05 UTC 2015')
          self.assertEqual(datetime.datetime(2015, 11, 24, 17, 29, 5, tzinfo=tzutc()), utctime)
 -        self.assertEqual(datetime.datetime(2015, 11, 24, 19, 29, 5, tzinfo=tzlocal()), localtime)
 +        self.assertEqual(datetime.datetime(2015, 11, 24, 17, 29, 5, tzinfo=tzlocal()), localtime)
+ 
+ class DateRangeTest(unittest.TestCase):
+ 
diff --git a/pkgs/applications/misc/qlcplus/default.nix b/pkgs/applications/misc/qlcplus/default.nix
index e162d0d317f..2fa4887a0f0 100644
--- a/pkgs/applications/misc/qlcplus/default.nix
+++ b/pkgs/applications/misc/qlcplus/default.nix
@@ -5,13 +5,13 @@
 
 mkDerivation rec {
   name = "qlcplus-${version}";
-  version = "4.11.1";
+  version = "4.11.2";
 
   src = fetchFromGitHub {
     owner = "mcallegari";
     repo = "qlcplus";
     rev = "QLC+_${version}";
-    sha256 = "0lb1mdp7kbnkja14phgyknr65irwkxcmzk96rqacysvwrvzvfzyd";
+    sha256 = "0ry7j8d5mm3h3mzd49xqlagnldmfhfr6plwk73pz62hxr4j58s6w";
   };
 
   nativeBuildInputs = [ qmake pkgconfig ];
diff --git a/pkgs/applications/misc/qmapshack/default.nix b/pkgs/applications/misc/qmapshack/default.nix
index bc09d0b4d0a..3b9e76aee4b 100644
--- a/pkgs/applications/misc/qmapshack/default.nix
+++ b/pkgs/applications/misc/qmapshack/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "qmapshack-${version}";
-  version = "1.10.0";
+  version = "1.11.1";
 
   src = fetchurl {
     url = "https://bitbucket.org/maproom/qmapshack/downloads/${name}.tar.gz";
-    sha256 = "10qk6c5myw5dhkbw7pcrx3900kiqhs32vy47xl2844nzb4fq2liw";
+    sha256 = "0yqilfldmfw8m18jbkffv4ar1px6kjs0zlgb216bnhahcr1y8r9y";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/applications/misc/qpdfview/default.nix b/pkgs/applications/misc/qpdfview/default.nix
index e3e7ff950b0..f836ce5b808 100644
--- a/pkgs/applications/misc/qpdfview/default.nix
+++ b/pkgs/applications/misc/qpdfview/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, qt4, pkgconfig, poppler_qt4, djvulibre, libspectre, cups
+{stdenv, fetchurl, qmake, qtbase, qtsvg, pkgconfig, poppler_qt5, djvulibre, libspectre, cups
 , file, ghostscript
 }:
 let
@@ -10,9 +10,9 @@ let
     url="https://launchpad.net/qpdfview/trunk/${version}/+download/qpdfview-${version}.tar.gz";
     sha256 = "0zysjhr58nnmx7ba01q3zvgidkgcqxjdj4ld3gx5fc7wzvl1dm7s";
   };
-  nativeBuildInputs = [ pkgconfig ];
+  nativeBuildInputs = [ qmake pkgconfig ];
   buildInputs = [
-    qt4 poppler_qt4 djvulibre libspectre cups file ghostscript
+    qtbase qtsvg poppler_qt5 djvulibre libspectre cups file ghostscript
   ];
 in
 stdenv.mkDerivation {
@@ -21,13 +21,12 @@ stdenv.mkDerivation {
   src = fetchurl {
     inherit (s) url sha256;
   };
-  configurePhase = ''
-    qmake *.pro
-    for i in *.pro; do 
-      qmake "$i" -o "Makefile.$(basename "$i" .pro)"
-    done
-    sed -e "s@/usr/@$out/@g" -i Makefile*
+
+  # TODO: revert this once placeholder is supported
+  preConfigure = ''
+    qmakeFlags="$qmakeFlags *.pro TARGET_INSTALL_PATH=$out/bin PLUGIN_INSTALL_PATH=$out/lib/qpdfview DATA_INSTALL_PATH=$out/share/qpdfview MANUAL_INSTALL_PATH=$out/share/man/man1 ICON_INSTALL_PATH=$out/share/icons/hicolor/scalable/apps LAUNCHER_INSTALL_PATH=$out/share/applications APPDATA_INSTALL_PATH=$out/share/appdata"
   '';
+
   meta = {
     inherit (s) version;
     description = "A tabbed document viewer";
diff --git a/pkgs/applications/misc/qsyncthingtray/default.nix b/pkgs/applications/misc/qsyncthingtray/default.nix
index 88628c63c9c..6ae8f380fe2 100644
--- a/pkgs/applications/misc/qsyncthingtray/default.nix
+++ b/pkgs/applications/misc/qsyncthingtray/default.nix
@@ -1,4 +1,4 @@
-{ mkDerivation, stdenv, lib, fetchFromGitHub, fetchpatch, procps ? null
+{ mkDerivation, stdenv, lib, fetchFromGitHub, fetchpatch, procps
 , qtbase, qtwebengine, qtwebkit
 , cmake
 , syncthing
diff --git a/pkgs/applications/misc/qtbitcointrader/default.nix b/pkgs/applications/misc/qtbitcointrader/default.nix
index 3a2ec62222f..90908c67b4e 100644
--- a/pkgs/applications/misc/qtbitcointrader/default.nix
+++ b/pkgs/applications/misc/qtbitcointrader/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchurl, qt5 }:
 
 let
-  version = "1.10.01";
+  version = "1.40.13";
 in
 stdenv.mkDerivation {
   name = "qtbitcointrader-${version}";
 
   src = fetchurl {
     url = "https://github.com/JulyIGHOR/QtBitcoinTrader/archive/v${version}.tar.gz";
-    sha256 = "0pgj8rsk9yxvls7yjpzblzbci2vvd0mlf9c7wdbjhwf6qyi7dfi3";
+    sha256 = "0d6b9ls742nghzg5y97dx7myvv8i88f0s27lhr52yy4833hdxdwn";
   };
 
   buildInputs = [ qt5.qtbase qt5.qtmultimedia qt5.qtscript ];
diff --git a/pkgs/applications/misc/redis-desktop-manager/default.nix b/pkgs/applications/misc/redis-desktop-manager/default.nix
index 169d6951d45..7a4348260fd 100644
--- a/pkgs/applications/misc/redis-desktop-manager/default.nix
+++ b/pkgs/applications/misc/redis-desktop-manager/default.nix
@@ -15,13 +15,13 @@ in
 
 stdenv.mkDerivation rec {
   name = "redis-desktop-manager-${version}";
-  version = "0.9.0-alpha5";
+  version = "0.9.1";
 
   src = fetchgit {
     url = "https://github.com/uglide/RedisDesktopManager.git";
     fetchSubmodules = true;
     rev = "refs/tags/${version}";
-    sha256 = "1grw4zng0ff0lvplzzld133hlz6zjn5f5hl3z6z7kc1nq5642yr9";
+    sha256 = "0yd4i944d4blw8jky0nxl7sfkkj975q4d328rdcbhizwvf6dx81f";
   };
 
   nativeBuildInputs = [ pkgconfig qmake ];
@@ -30,17 +30,13 @@ stdenv.mkDerivation rec {
     qtquick1 qtquickcontrols qtsvg qttools qtcharts
   ];
 
-  patches = [
-    (fetchpatch {
-      url = "https://github.com/google/breakpad/commit/bddcc58860f522a0d4cbaa7e9d04058caee0db9d.patch";
-      sha256 = "1bcamjkmif62rb0lbp111r0ppf4raqw664m5by7vr3pdkcjbbilq";
-    })
-  ];
-
-  patchFlags = "-d 3rdparty/gbreakpad -p1";
-
   dontUseQmakeConfigure = true;
 
+  # Disable annoying update reminder
+  postPatch = ''
+    sed -i s/'^\s*initUpdater();'/'\/\/initUpdater():'/ src/app/app.cpp
+  '';
+
   buildPhase = ''
     srcdir=$PWD
 
diff --git a/pkgs/applications/misc/robo3t/default.nix b/pkgs/applications/misc/robo3t/default.nix
index 8928ee18064..be365cb94e4 100644
--- a/pkgs/applications/misc/robo3t/default.nix
+++ b/pkgs/applications/misc/robo3t/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, zlib, glib, xorg, dbus, fontconfig,
+{ stdenv, fetchurl, zlib, glib, xorg, dbus, fontconfig, libGL,
   freetype, xkeyboard_config, makeDesktopItem, makeWrapper }:
 
 stdenv.mkDerivation rec {
@@ -41,6 +41,7 @@ stdenv.mkDerivation rec {
     dbus
     fontconfig
     freetype
+    libGL
   ];
 
   installPhase = ''
diff --git a/pkgs/applications/misc/rofi/config.patch b/pkgs/applications/misc/rofi/config.patch
new file mode 100644
index 00000000000..46982d51e00
--- /dev/null
+++ b/pkgs/applications/misc/rofi/config.patch
@@ -0,0 +1,54 @@
+diff --git a/script/rofi-theme-selector b/script/rofi-theme-selector
+index 0646e4bc..f827dbfe 100755
+--- a/script/rofi-theme-selector
++++ b/script/rofi-theme-selector
+@@ -42,34 +42,7 @@ function find_themes()
+     DIRS=${XDG_DATA_DIRS}
+     OLDIFS=${IFS}
+     IFS=:
+-    if [ -z "${XDG_DATA_DIRS}" ]
+-    then
+-        echo "XDG_DATA_DIRS needs to be set for this script to function correctly."
+-        echo -n "Using dirs from \$PATH: "
+-        DIRS=
+-        # Iterate over items in $PATH
+-        for p in ${PATH}; do
+-            # Remove trailing / if exists.
+-            x=${p%/}
+-            # remove both /bin and /sbin and /games from end
+-            x=${x%/bin}
+-            x=${x%/sbin}
+-            x=${x%/games}
+-            # Add /share
+-            x=${x}/share
+-            # Check if entry exists Prepend : so :${x}: matches nicely
+-            case ":${DIRS}" in
+-                *$x:*);;
+-                *) DIRS+="$x:";;
+-            esac
+-        done
+-        # Remove trailing :
+-        DIRS=${DIRS%:}
+-        echo "${DIRS}"
+-    fi
+-    # Add user dir.
+-    DIRS+=":${HOME}/.local/share/"
+-    DIRS+=":${HOME}/.config/"
++    DIRS+=":%ROFIOUT%/"
+     for p in ${DIRS}; do 
+     	p=${p%/}
+         TD=${p}/rofi/themes
+@@ -164,7 +137,12 @@ Current theme: <b>${CUR}</b>"""
+ ###
+ function set_theme()
+ {
+-    CDIR="${HOME}/.config/rofi/"
++    if [ -d "${XDG_CONFIG_HOME}" ]; then
++      CDIR="${XDG_CONFIG_HOME}/rofi/"
++    else
++      CDIR="${HOME}/.config/rofi/"
++    fi
++
+     if [ ! -d "${CDIR}" ]
+     then
+         mkdir -p ${CDIR}
diff --git a/pkgs/applications/misc/rofi/default.nix b/pkgs/applications/misc/rofi/default.nix
index bdf14c03bcc..7da721e9f37 100644
--- a/pkgs/applications/misc/rofi/default.nix
+++ b/pkgs/applications/misc/rofi/default.nix
@@ -4,31 +4,39 @@
 }:
 
 stdenv.mkDerivation rec {
-  version = "1.4.2";
-  name = "rofi-${version}";
+  version = "1.5.1";
+  name = "rofi-unwrapped-${version}";
 
   src = fetchurl {
-    url = "https://github.com/DaveDavenport/rofi/releases/download/${version}/${name}.tar.gz";
-    sha256 = "0ys7grazqz5hw3nx2393df54ykcd5gw0zn66kik5fvzijpg3qfcx";
+    url = "https://github.com/DaveDavenport/rofi/releases/download/${version}/rofi-${version}.tar.gz";
+    sha256 = "1dc33zf33z38jcxb0lxpyd31waalpf6d4cd9z5f9m5qphdk1g679";
   };
 
+  # config.patch may be removed in the future - https://github.com/DaveDavenport/rofi/pull/781
+  patches = [ ./config.patch ];
+
   preConfigure = ''
     patchShebangs "script"
     # root not present in build /etc/passwd
     sed -i 's/~root/~nobody/g' test/helper-expand.c
   '';
 
+  postFixup = ''
+    substituteInPlace "$out"/bin/rofi-theme-selector \
+        --replace "%ROFIOUT%" "$out/share"
+  '';
+
   nativeBuildInputs = [ autoreconfHook pkgconfig ];
   buildInputs = [ libxkbcommon pango cairo git bison flex librsvg check
     libstartup_notification libxcb xcbutil xcbutilwm xcbutilxrm which
   ];
-  doCheck = true;
+  doCheck = false;
 
   meta = with stdenv.lib; {
     description = "Window switcher, run dialog and dmenu replacement";
     homepage = https://davedavenport.github.io/rofi;
     license = licenses.mit;
-    maintainers = with maintainers; [ mbakke garbas ];
+    maintainers = with maintainers; [ mbakke garbas ma27 ];
     platforms = with platforms; unix;
   };
 }
diff --git a/pkgs/applications/misc/rofi/wrapper.nix b/pkgs/applications/misc/rofi/wrapper.nix
new file mode 100644
index 00000000000..44c6f892bf5
--- /dev/null
+++ b/pkgs/applications/misc/rofi/wrapper.nix
@@ -0,0 +1,17 @@
+{ stdenv, rofi-unwrapped, makeWrapper, theme ? null, lib }:
+
+stdenv.mkDerivation {
+  name = "rofi-${rofi-unwrapped.version}";
+  buildInputs = [ makeWrapper ];
+  preferLocalBuild = true;
+  passthru = { unwrapped = rofi-unwrapped; };
+  buildCommand = ''
+    mkdir -p $out/bin
+    ln -s ${rofi-unwrapped}/bin/rofi $out/bin/rofi
+    ${lib.optionalString (theme != null) ''wrapProgram $out/bin/rofi --add-flags "-theme ${theme}"''}
+  '';
+
+  meta = rofi-unwrapped.meta // {
+    priority = (rofi-unwrapped.meta.priority or 0) - 1;
+  };
+}
diff --git a/pkgs/applications/misc/rsibreak/default.nix b/pkgs/applications/misc/rsibreak/default.nix
new file mode 100644
index 00000000000..6ee9966401b
--- /dev/null
+++ b/pkgs/applications/misc/rsibreak/default.nix
@@ -0,0 +1,28 @@
+{
+  mkDerivation, fetchurl, lib,
+  extra-cmake-modules, kdoctools,
+  knotifyconfig, kidletime, kwindowsystem, ktextwidgets, kcrash
+}:
+
+let
+  pname = "rsibreak";
+  version = "0.12";
+  revision = ".8";
+in mkDerivation rec {
+  name = "rsibreak-${version}${revision}";
+
+  src = fetchurl {
+    url = "https://download.kde.org/stable/${pname}/${version}/${name}.tar.xz";
+    sha256 = "1qn9xdjx9zzw47jsj7f4nkqmrangfhdgafm2jxm7cm6z6kcvzr28";
+  };
+
+  nativeBuildInputs = [ extra-cmake-modules kdoctools ];
+  propagatedBuildInputs = [ knotifyconfig kidletime kwindowsystem ktextwidgets kcrash ];
+
+  meta = with lib; {
+    description = "RSIBreak takes care of your health and regularly breaks your work to avoid repetitive strain injury (RSI)";
+    license = licenses.gpl2;
+    homepage = https://www.kde.org/applications/utilities/rsibreak/;
+    maintainers = with maintainers; [ vandenoever ];
+  };
+}
diff --git a/pkgs/applications/misc/rtl-sdr/default.nix b/pkgs/applications/misc/rtl-sdr/default.nix
index f1c3cbc5557..92e96a7fb5e 100644
--- a/pkgs/applications/misc/rtl-sdr/default.nix
+++ b/pkgs/applications/misc/rtl-sdr/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   name = "rtl-sdr-${version}";
-  version = "0.5.3";
+  version = "0.5.4";
 
   src = fetchgit {
     url = "git://git.osmocom.org/rtl-sdr.git";
     rev = "refs/tags/v${version}";
-    sha256 = "1dh52xcvxkjb3mj80wlm20grz8cqf5wipx2ksi91ascz12b5pym6";
+    sha256 = "0c56a9dhlqgs6y15ns0mn4r5giz0x6y7x151jcq755f711pc3y01";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/applications/misc/rtv/default.nix b/pkgs/applications/misc/rtv/default.nix
index c9064d93740..ed54e523c8f 100644
--- a/pkgs/applications/misc/rtv/default.nix
+++ b/pkgs/applications/misc/rtv/default.nix
@@ -2,14 +2,14 @@
 
 with pythonPackages;
 buildPythonApplication rec {
-  version = "1.21.0";
+  version = "1.22.1";
   name = "rtv-${version}";
 
   src = fetchFromGitHub {
     owner = "michael-lazar";
     repo = "rtv";
     rev = "v${version}";
-    sha256 = "0srm01nrb23hdmj3ripsa9p8nv2cgss3m6and9rdr875qw5ii130";
+    sha256 = "1jil8cwhnpf2mclgah7s79j4c38hzm0j6di2mffrqhlsnn2vxbf4";
   };
 
   # Tests try to access network
@@ -48,6 +48,6 @@ buildPythonApplication rec {
     homepage = https://github.com/michael-lazar/rtv;
     description = "Browse Reddit from your Terminal";
     license = licenses.mit;
-    maintainers = with maintainers; [ matthiasbeyer jgeerds wedens ];
+    maintainers = with maintainers; [ jgeerds wedens ];
   };
 }
diff --git a/pkgs/applications/misc/safeeyes/default.nix b/pkgs/applications/misc/safeeyes/default.nix
new file mode 100644
index 00000000000..d216a695a3c
--- /dev/null
+++ b/pkgs/applications/misc/safeeyes/default.nix
@@ -0,0 +1,71 @@
+{ lib, python3Packages, gobjectIntrospection, libappindicator-gtk3, libnotify, gtk3, gnome3, xprintidle-ng, wrapGAppsHook, gdk_pixbuf, shared-mime-info, librsvg
+}:
+
+let inherit (python3Packages) python buildPythonApplication fetchPypi;
+
+in buildPythonApplication rec {
+  name = "${pname}-${version}";
+  pname = "safeeyes";
+  version = "2.0.5";
+  namePrefix = "";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1q52ncqn18wb3d42dzsm7lh301w6g053a685i1cnismvp86amvfl";
+  };
+
+  buildInputs = [
+    gtk3
+    gobjectIntrospection
+    gnome3.defaultIconTheme
+    gnome3.adwaita-icon-theme
+  ];
+
+  nativeBuildInputs = [
+    wrapGAppsHook
+  ];
+
+  propagatedBuildInputs = with python3Packages; [
+    Babel
+    psutil
+    xlib
+    pygobject3
+    dbus-python
+
+    libappindicator-gtk3
+    libnotify
+    xprintidle-ng
+  ];
+
+  # patch smartpause plugin
+  postPatch = ''
+    sed -i \
+      -e 's!xprintidle!xprintidle-ng!g' \
+      safeeyes/plugins/smartpause/plugin.py
+
+    sed -i \
+      -e 's!xprintidle!xprintidle-ng!g' \
+      safeeyes/plugins/smartpause/config.json
+  '';
+
+  preFixup = ''
+    gappsWrapperArgs+=(
+      --prefix XDG_DATA_DIRS : "${gdk_pixbuf}/share"
+      --prefix XDG_DATA_DIRS : "${shared-mime-info}/share"
+      --prefix XDG_DATA_DIRS : "${librsvg}/share"
+
+      # safeeyes images
+      --prefix XDG_DATA_DIRS : "$out/lib/${python.libPrefix}/site-packages/usr/share"
+    )
+  '';
+
+  doCheck = false; # no tests
+
+  meta = {
+    homepage = http://slgobinath.github.io/SafeEyes;
+    description = "Protect your eyes from eye strain using this simple and beautiful, yet extensible break reminder. A Free and Open Source Linux alternative to EyeLeo";
+    license = lib.licenses.gpl3;
+    maintainers = with lib.maintainers; [ srghma ];
+    platforms = lib.platforms.all;
+  };
+}
diff --git a/pkgs/applications/misc/sakura/default.nix b/pkgs/applications/misc/sakura/default.nix
index 7c74bb6cd45..94782bdd860 100644
--- a/pkgs/applications/misc/sakura/default.nix
+++ b/pkgs/applications/misc/sakura/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "sakura-${version}";
-  version = "3.5.0";
+  version = "3.6.0";
 
   src = fetchurl {
     url = "http://launchpad.net/sakura/trunk/${version}/+download/${name}.tar.bz2";
-    sha256 = "0fhcn3540iw22l5zg3njh5z8cj0g2n9p6fvagjqa5zc323jfsc7b";
+    sha256 = "1q463qm41ym7jb3kbzjz7b6x549vmgkb70arpkhsf86yxly1y5m1";
   };
 
   nativeBuildInputs = [ cmake perl pkgconfig ];
diff --git a/pkgs/applications/misc/sc-im/default.nix b/pkgs/applications/misc/sc-im/default.nix
index e664a5a7527..acd79859901 100644
--- a/pkgs/applications/misc/sc-im/default.nix
+++ b/pkgs/applications/misc/sc-im/default.nix
@@ -36,7 +36,7 @@ stdenv.mkDerivation rec {
     homepage = https://github.com/andmarti1424/sc-im;
     description = "SC-IM - Spreadsheet Calculator Improvised - SC fork";
     license = licenses.bsdOriginal;
-    maintainers = [ maintainers.matthiasbeyer ];
+    maintainers = [ ];
     platforms = platforms.linux; # Cannot test others
   };
 
diff --git a/pkgs/applications/misc/sdcv/default.nix b/pkgs/applications/misc/sdcv/default.nix
index 0a8d20a3958..cc8c30043b2 100644
--- a/pkgs/applications/misc/sdcv/default.nix
+++ b/pkgs/applications/misc/sdcv/default.nix
@@ -19,8 +19,7 @@ stdenv.mkDerivation rec {
     mkdir locale
   '';
 
-  NIX_CFLAGS_COMPILE = "-D__GNU_LIBRARY__"
-    + stdenv.lib.optionalString stdenv.isDarwin " -lintl";
+  NIX_CFLAGS_COMPILE = "-D__GNU_LIBRARY__";
 
   meta = with stdenv.lib; {
     homepage = https://dushistov.github.io/sdcv/;
diff --git a/pkgs/applications/misc/sent/default.nix b/pkgs/applications/misc/sent/default.nix
index 24e76500a6a..9bbae33b3e4 100644
--- a/pkgs/applications/misc/sent/default.nix
+++ b/pkgs/applications/misc/sent/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, farbfeld, libX11, libXft
+{ stdenv, fetchurl, farbfeld, libX11, libXft, makeWrapper
 , patches ? [] }:
 
 stdenv.mkDerivation rec {
@@ -9,7 +9,8 @@ stdenv.mkDerivation rec {
     sha256 = "0cxysz5lp25mgww73jl0mgip68x7iyvialyzdbriyaff269xxwvv";
   };
 
-  buildInputs = [ farbfeld libX11 libXft ];
+  buildInputs = [ libX11 libXft ];
+  nativeBuildInputs = [ makeWrapper ];
 
   # unpacking doesn't create a directory
   sourceRoot = ".";
@@ -17,6 +18,9 @@ stdenv.mkDerivation rec {
   inherit patches;
 
   installFlags = [ "PREFIX=$(out)" ];
+  postInstall = ''
+    wrapProgram "$out/bin/sent" --prefix PATH : "${farbfeld}/bin"
+  '';
 
   meta = with stdenv.lib; {
     description = "A simple plaintext presentation tool";
diff --git a/pkgs/applications/misc/sigal/default.nix b/pkgs/applications/misc/sigal/default.nix
index 622f6e14752..936b1a389f1 100644
--- a/pkgs/applications/misc/sigal/default.nix
+++ b/pkgs/applications/misc/sigal/default.nix
@@ -1,4 +1,4 @@
-{ lib, buildPythonApplication, fetchPypi, pythonPackages }:
+{ lib, buildPythonApplication, fetchPypi, pythonPackages, ffmpeg }:
 
 buildPythonApplication rec {
   version = "1.4.0";
@@ -20,6 +20,8 @@ buildPythonApplication rec {
     blinker
   ];
 
+  makeWrapperArgs = [ "--prefix PATH : ${ffmpeg}/bin" ];
+
   # No tests included
   doCheck = false;
 
@@ -27,7 +29,7 @@ buildPythonApplication rec {
     description = "Yet another simple static gallery generator";
     homepage    = http://sigal.saimon.org/en/latest/index.html;
     license     = licenses.mit;
-    maintainers = with maintainers; [ domenkozar matthiasbeyer ];
+    maintainers = with maintainers; [ domenkozar ];
   };
 }
 
diff --git a/pkgs/applications/misc/simplenote/default.nix b/pkgs/applications/misc/simplenote/default.nix
index 7fbf11573c4..513c5facc6b 100644
--- a/pkgs/applications/misc/simplenote/default.nix
+++ b/pkgs/applications/misc/simplenote/default.nix
@@ -5,11 +5,11 @@
  stdenv.mkDerivation rec {
 
   name = "simplenote-${pkgver}";
-  pkgver = "1.0.6";
+  pkgver = "1.1.3";
 
   src = fetchurl {
-    url = "https://github.com/Automattic/simplenote-electron/releases/download/v${pkgver}/Simplenote-linux-x64.${pkgver}.tar.gz";
-    sha256 = "18wj880iw92yd57w781dqaj7iv9j3bqhyh2cbikqrl4m5w9xkla8";
+    url = "https://github.com/Automattic/simplenote-electron/releases/download/v${pkgver}/Simplenote-linux-${pkgver}.tar.gz";
+    sha256 = "1z92yyjmg3bgfqfdpnysf98h9hhhnqzdqqigwlmdmn3d7fy49kcf";
   };
 
   buildCommand = let
@@ -20,6 +20,7 @@
       xorg.libXrender xorg.libX11 xorg.libXext xorg.libXdamage xorg.libXtst
       xorg.libXcomposite xorg.libXi xorg.libXfixes xorg.libXrandr
       xorg.libXcursor libcap systemd libnotify libXScrnSaver gnome3.gconf
+      xorg.libxcb
     ];
 
     libPathNative = lib.makeLibraryPath packages;
diff --git a/pkgs/applications/misc/slade/default.nix b/pkgs/applications/misc/slade/default.nix
index 712b5a7e750..fc6be074a07 100644
--- a/pkgs/applications/misc/slade/default.nix
+++ b/pkgs/applications/misc/slade/default.nix
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
     description = "Doom editor";
     homepage = http://slade.mancubus.net/;
     license = licenses.gpl2;
-    platforms = platforms.linux;
+    platforms = [ "x86_64-linux" "i686-linux" ];
     maintainers = with maintainers; [ abbradar ];
   };
 }
diff --git a/pkgs/applications/misc/slade/git.nix b/pkgs/applications/misc/slade/git.nix
index 29e01da1b5b..9ee30d347b0 100644
--- a/pkgs/applications/misc/slade/git.nix
+++ b/pkgs/applications/misc/slade/git.nix
@@ -20,7 +20,7 @@ stdenv.mkDerivation {
     description = "Doom editor";
     homepage = http://slade.mancubus.net/;
     license = licenses.gpl2Plus;
-    platforms = platforms.linux;
+    platforms = [ "x86_64-linux" "i686-linux" ];
     maintainers = with maintainers; [ ertes ];
   };
 }
diff --git a/pkgs/applications/misc/sleepyhead/default.nix b/pkgs/applications/misc/sleepyhead/default.nix
new file mode 100644
index 00000000000..cf5c4625c95
--- /dev/null
+++ b/pkgs/applications/misc/sleepyhead/default.nix
@@ -0,0 +1,42 @@
+{ stdenv, fetchgit, qt5, zlib, libGLU, libX11 }:
+
+let
+  name = "sleepyhead-${version}";
+  version = "1.0.0-beta-git";
+in stdenv.mkDerivation {
+  inherit name;
+
+  src = fetchgit {
+    url = https://gitlab.com/sleepyhead/sleepyhead-code.git;
+    rev = "9e2329d8bca45693231b5e3dae80063717c24578";
+    sha256 = "0448z8gyaxpgpnksg34lzmffj36jdpm0ir4xxa5gvzagkx0wk07h";
+  };
+
+  buildInputs = [
+    qt5.qtbase qt5.qtwebkit qt5.qtserialport
+    zlib
+    libGLU
+    libX11
+  ];
+
+  patchPhase = ''
+    patchShebangs configure
+  '';
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cp sleepyhead/SleepyHead $out/bin
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = https://sleepyhead.jedimark.net/;
+    description = "Review and explore data produced by CPAP and related machines";
+    longDescription = ''
+      SleepyHead is cross platform, opensource sleep tracking program for reviewing CPAP and Oximetry data, which are devices used in the treatment of Sleep Disorders like Obstructive Sleep Apnea.
+    '';
+    license = licenses.gpl3;
+    platforms = platforms.all;
+    maintainers = [ maintainers.krav ];
+  };
+
+}
diff --git a/pkgs/applications/misc/slic3r-prusa3d/default.nix b/pkgs/applications/misc/slic3r/prusa3d.nix
index 88cb42e3f5c..371bf26fe6c 100644
--- a/pkgs/applications/misc/slic3r-prusa3d/default.nix
+++ b/pkgs/applications/misc/slic3r/prusa3d.nix
@@ -33,7 +33,7 @@ let
 in
 stdenv.mkDerivation rec {
   name = "slic3r-prusa-edition-${version}";
-  version = "1.38.7";
+  version = "1.39.2";
 
   enableParallelBuilding = true;
 
@@ -52,6 +52,7 @@ stdenv.mkDerivation rec {
     ClassXSAccessor
     EncodeLocale
     ExtUtilsMakeMaker
+    ExtUtilsTypemapsDefault
     ExtUtilsXSpp
     GrowlGNTP
     ImportInto
@@ -62,7 +63,7 @@ stdenv.mkDerivation rec {
     MathConvexHullMonotoneChain
     MathGeometryVoronoi
     MathPlanePath
-    ModuleBuild
+    ModuleBuildWithXSpp
     Moo
     NetDBus
     OpenGL
@@ -70,6 +71,10 @@ stdenv.mkDerivation rec {
     XMLSAX
   ]);
 
+  prePatch = ''
+    sed -i 's|"/usr/include/asm-generic/ioctls.h"|<asm-generic/ioctls.h>|g' xs/src/libslic3r/GCodeSender.cpp
+  '';
+
   postInstall = ''
     echo 'postInstall'
     wrapProgram "$out/bin/slic3r-prusa3d" \
@@ -84,7 +89,7 @@ stdenv.mkDerivation rec {
   src = fetchFromGitHub {
     owner = "prusa3d";
     repo = "Slic3r";
-    sha256 = "1nrryd2bxmk4y59bq5fp7n2alyvc5a9xvnbx5j4fg4mqr91ccs5c";
+    sha256 = "0vbqkmd2yqi469ijqm4wyzjmq9w1kwiy8av1kchm4429z5hpmxcd";
     rev = "version_${version}";
   };
 
diff --git a/pkgs/applications/misc/slstatus/default.nix b/pkgs/applications/misc/slstatus/default.nix
new file mode 100644
index 00000000000..f4a2e889cd4
--- /dev/null
+++ b/pkgs/applications/misc/slstatus/default.nix
@@ -0,0 +1,30 @@
+{ stdenv, fetchgit, pkgconfig, writeText, libX11, conf ? null }:
+
+with stdenv.lib;
+
+stdenv.mkDerivation rec {
+  name = "slstatus-${version}";
+  version = "unstable-2018-04-16";
+
+  src = fetchgit {
+    url = https://git.suckless.org/slstatus;
+    rev = "97ef7c2a1d67bb2c9c379e657fbc8e35acd6aafb";
+    sha256 = "1777hgl10imk0l2sgnqgbkfchv1mpxrd82ninzwp7f1rgwchz36v";
+  };
+
+  configFile = optionalString (conf!=null) (writeText "config.def.h" conf);
+  preBuild = optionalString (conf!=null) "cp ${configFile} config.def.h";
+
+  nativeBuildInputs = [ pkgconfig ];
+  buildInputs = [ libX11 ];
+
+  installFlags = [ "PREFIX=$(out)" ];
+
+  meta = {
+    homepage = https://tools.suckless.org/slstatus/;
+    description = "status monitor for window managers that use WM_NAME like dwm";
+    license = licenses.isc;
+    maintainers = with maintainers; [ geistesk ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/misc/soapyairspy/default.nix b/pkgs/applications/misc/soapyairspy/default.nix
new file mode 100644
index 00000000000..af72c784135
--- /dev/null
+++ b/pkgs/applications/misc/soapyairspy/default.nix
@@ -0,0 +1,30 @@
+{ stdenv, fetchFromGitHub, cmake
+, airspy, soapysdr
+} :
+
+let
+  version = "0.1.1";
+
+in stdenv.mkDerivation {
+  name = "soapyairspy-${version}";
+
+  src = fetchFromGitHub {
+    owner = "pothosware";
+    repo = "SoapyAirspy";
+    rev = "soapy-airspy-${version}";
+    sha256 = "072vc9619s9f22k7639krr1p2418cmhgm44yhzy7x9dzapc43wvk";
+  };
+
+  nativeBuildInputs = [ cmake ];
+  buildInputs = [ airspy soapysdr ];
+
+  cmakeFlags = [ "-DSoapySDR_DIR=${soapysdr}/share/cmake/SoapySDR/" ];
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/pothosware/SoapyAirspy;
+    description = "SoapySDR plugin for Airspy devices";
+    license = licenses.mit;
+    maintainers = with maintainers; [ markuskowa ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/misc/soapybladerf/default.nix b/pkgs/applications/misc/soapybladerf/default.nix
new file mode 100644
index 00000000000..4e1adc32946
--- /dev/null
+++ b/pkgs/applications/misc/soapybladerf/default.nix
@@ -0,0 +1,31 @@
+{ stdenv, fetchFromGitHub, cmake, pkgconfig
+, libbladeRF, soapysdr
+} :
+
+let
+  version = "0.3.5";
+
+in stdenv.mkDerivation {
+  name = "soapybladerf-${version}";
+
+  src = fetchFromGitHub {
+    owner = "pothosware";
+    repo = "SoapyBladeRF";
+    rev = "soapy-bladerf-${version}";
+    sha256 = "1n7vy6y8k1smq3l729npxbhxbnrc79gz06dxkibsihz4k8sddkrg";
+  };
+
+  nativeBuildInputs = [ cmake pkgconfig ];
+  buildInputs = [ libbladeRF soapysdr ];
+
+  cmakeFlags = [ "-DSoapySDR_DIR=${soapysdr}/share/cmake/SoapySDR/" ];
+
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/pothosware/SoapyBladeRF;
+    description = "SoapySDR plugin for BladeRF devices";
+    license = licenses.lgpl21;
+    maintainers = with maintainers; [ markuskowa ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/misc/soapyhackrf/default.nix b/pkgs/applications/misc/soapyhackrf/default.nix
new file mode 100644
index 00000000000..f5543af9c60
--- /dev/null
+++ b/pkgs/applications/misc/soapyhackrf/default.nix
@@ -0,0 +1,30 @@
+{ stdenv, fetchFromGitHub, cmake, pkgconfig
+, hackrf, soapysdr
+} :
+
+let
+  version = "0.3.2";
+
+in stdenv.mkDerivation {
+  name = "soapyhackrf-${version}";
+
+  src = fetchFromGitHub {
+    owner = "pothosware";
+    repo = "SoapyHackRF";
+    rev = "soapy-hackrf-${version}";
+    sha256 = "1sgx2nk8yrzfwisjfs9mw0xwc47bckzi17p42s2pbv7zcxzpb66p";
+  };
+
+  nativeBuildInputs = [ cmake pkgconfig ];
+  buildInputs = [ hackrf soapysdr ];
+
+  cmakeFlags = [ "-DSoapySDR_DIR=${soapysdr}/share/cmake/SoapySDR/" ];
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/pothosware/SoapyHackRF;
+    description = "SoapySDR plugin for HackRF devices";
+    license = licenses.mit;
+    maintainers = with maintainers; [ markuskowa ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/misc/soapyremote/default.nix b/pkgs/applications/misc/soapyremote/default.nix
new file mode 100644
index 00000000000..d10b09f99a8
--- /dev/null
+++ b/pkgs/applications/misc/soapyremote/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, fetchFromGitHub, cmake, soapysdr }:
+
+let
+  version = "0.4.3";
+
+in stdenv.mkDerivation {
+  name = "soapyremote-${version}";
+
+  src = fetchFromGitHub {
+    owner = "pothosware";
+    repo = "SoapyRemote";
+    rev = "d07f43863b1ef79252f8029cfb5947220f21311d";
+    sha256 = "0i101dfqq0aawybv0qyjgsnhk39dc4q6z6ys2gsvwjhpf3d48aw0";
+  };
+
+  nativeBuildInputs = [ cmake ];
+  buildInputs = [ soapysdr ];
+
+  cmakeFlags = [ "-DSoapySDR_DIR=${soapysdr}/share/cmake/SoapySDR/" ];
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/pothosware/SoapyRemote;
+    description = "SoapySDR plugin for remote access to SDRs";
+    license = licenses.boost;
+    maintainers = with maintainers; [ markuskowa ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/misc/soapysdr/default.nix b/pkgs/applications/misc/soapysdr/default.nix
new file mode 100644
index 00000000000..6230f2f6f6a
--- /dev/null
+++ b/pkgs/applications/misc/soapysdr/default.nix
@@ -0,0 +1,50 @@
+{ stdenv, lib, lndir, makeWrapper
+, fetchFromGitHub, cmake
+, libusb, pkgconfig
+, python, swig2, numpy, ncurses
+, extraPackages ? []
+} :
+
+let
+  version = "0.6.1";
+
+in stdenv.mkDerivation {
+  name = "soapysdr-${version}";
+
+  src = fetchFromGitHub {
+    owner = "pothosware";
+    repo = "SoapySDR";
+    rev = "soapy-sdr-${version}";
+    sha256 = "1azbb2j6dv0b2dd5ks6yqd31j17sdhi9p82czwc8zy2isymax0l9";
+  };
+
+  nativeBuildInputs = [ cmake pkgconfig ];
+  buildInputs = [ libusb ncurses numpy swig2 python ];
+
+  cmakeFlags = [
+    "-DCMAKE_BUILD_TYPE=Release"
+    "-DUSE_PYTHON_CONFIG=ON"
+  ];
+
+  postFixup = lib.optionalString (lib.length extraPackages != 0) ''
+    # Join all plugins via symlinking
+    for i in ${toString extraPackages}; do
+      ${lndir}/bin/lndir -silent $i $out
+    done
+
+    # Needed for at least the remote plugin server
+    for file in out/bin/*; do
+        ${makeWrapper}/bin/wrapProgram "$file" \
+            --prefix SOAPY_SDR_PLUGIN_PATH : ${lib.makeSearchPath "lib/SoapySDR/modules0.6" extraPackages}
+    done
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/pothosware/SoapySDR;
+    description = "Vendor and platform neutral SDR support library";
+    license = licenses.boost;
+    maintainers = with maintainers; [ markuskowa ];
+    platforms = platforms.linux;
+  };
+}
+
diff --git a/pkgs/applications/misc/soapyuhd/default.nix b/pkgs/applications/misc/soapyuhd/default.nix
new file mode 100644
index 00000000000..4f2a79c97fe
--- /dev/null
+++ b/pkgs/applications/misc/soapyuhd/default.nix
@@ -0,0 +1,34 @@
+{ stdenv, fetchFromGitHub, cmake, pkgconfig
+, uhd, boost, soapysdr
+} :
+
+let
+  version = "0.3.4";
+
+in stdenv.mkDerivation {
+  name = "soapyuhd-${version}";
+
+  src = fetchFromGitHub {
+    owner = "pothosware";
+    repo = "SoapyUHD";
+    rev = "soapy-uhd-${version}";
+    sha256 = "1da7cjcvfdqhgznm7x14s1h7lwz5lan1b48akw445ah1vxwvh4hl";
+  };
+
+  nativeBuildInputs = [ cmake pkgconfig ];
+  buildInputs = [ uhd boost soapysdr ];
+
+  cmakeFlags = [ "-DSoapySDR_DIR=${soapysdr}/share/cmake/SoapySDR/" ];
+
+  postPatch = ''
+    sed -i "s:DESTINATION .*uhd/modules:DESTINATION $out/lib/uhd/modules:" CMakeLists.txt
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/pothosware/SoapyAirspy;
+    description = "SoapySDR plugin for UHD devices";
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ markuskowa ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/misc/spacefm/default.nix b/pkgs/applications/misc/spacefm/default.nix
index 1e4e72c4e48..6fa594dec04 100644
--- a/pkgs/applications/misc/spacefm/default.nix
+++ b/pkgs/applications/misc/spacefm/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   name = "spacefm-${version}";
-  version = "1.0.5";
+  version = "1.0.6";
 
   src = fetchFromGitHub {
     owner = "IgnorantGuru";
     repo = "spacefm";
     rev = "${version}";
-    sha256 = "06askkrwls09d1x382zjrmnvcm0ghfgz4cms2qbhdkazfyy0ff65";
+    sha256 = "089r6i40lxcwzp60553b18f130asspnzqldlpii53smz52kvpirx";
   };
 
   configureFlags = [
@@ -26,6 +26,10 @@ stdenv.mkDerivation rec {
     ln -s /etc/spacefm/spacefm.conf $out/etc/spacefm/spacefm.conf
   '';
 
+  preFixup = ''
+    gappsWrapperArgs+=(--prefix XDG_DATA_DIRS : "${shared-mime-info}/share")
+  '';
+
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
     gtk3 udev desktop-file-utils shared-mime-info intltool
diff --git a/pkgs/applications/misc/st/default.nix b/pkgs/applications/misc/st/default.nix
index 59e67fc65e2..3562a4f9b16 100644
--- a/pkgs/applications/misc/st/default.nix
+++ b/pkgs/applications/misc/st/default.nix
@@ -1,27 +1,28 @@
-{ stdenv, fetchurl, pkgconfig, writeText, libX11, ncurses, libXext, libXft
-, fontconfig, conf ? null, patches ? [], extraLibs ? []}:
+{ stdenv, fetchurl, pkgconfig, writeText, makeWrapper, libX11, ncurses, libXext
+, libXft, fontconfig, dmenu, conf ? null, patches ? [], extraLibs ? []}:
 
 with stdenv.lib;
 
 let patches' = if patches == null then [] else patches;
 in stdenv.mkDerivation rec {
-  name = "st-0.7";
+  name = "st-0.8.1";
 
   src = fetchurl {
-    url = "http://dl.suckless.org/st/${name}.tar.gz";
-    sha256 = "f7870d906ccc988926eef2cc98950a99cc78725b685e934c422c03c1234e6000";
+    url = "https://dl.suckless.org/st/${name}.tar.gz";
+    sha256 = "09k94v3n20gg32xy7y68p96x9dq5msl80gknf9gbvlyjp3i0zyy4";
   };
 
-  patches = patches' ++ [ ./st-fix-deletekey.patch ];
+  patches = patches';
 
   configFile = optionalString (conf!=null) (writeText "config.def.h" conf);
   preBuild = optionalString (conf!=null) "cp ${configFile} config.def.h";
 
-  nativeBuildInputs = [ pkgconfig ];
+  nativeBuildInputs = [ pkgconfig makeWrapper ];
   buildInputs = [ libX11 ncurses libXext libXft fontconfig ] ++ extraLibs;
 
   installPhase = ''
     TERMINFO=$out/share/terminfo make install PREFIX=$out
+    wrapProgram "$out/bin/st" --prefix PATH : "${dmenu}/bin"
   '';
 
   meta = {
diff --git a/pkgs/applications/misc/st/st-fix-deletekey.patch b/pkgs/applications/misc/st/st-fix-deletekey.patch
deleted file mode 100644
index cf009322053..00000000000
--- a/pkgs/applications/misc/st/st-fix-deletekey.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-diff --git a/config.def.h b/config.def.h
-index 1896246..b41747f 100644
---- a/config.def.h
-+++ b/config.def.h
-@@ -315,8 +315,8 @@ static Key key[] = {
- 	{ XK_Delete,        ControlMask,    "\033[3;5~",    +1,    0,    0},
- 	{ XK_Delete,        ShiftMask,      "\033[2K",      -1,    0,    0},
- 	{ XK_Delete,        ShiftMask,      "\033[3;2~",    +1,    0,    0},
--	{ XK_Delete,        XK_ANY_MOD,     "\033[P",       -1,    0,    0},
--	{ XK_Delete,        XK_ANY_MOD,     "\033[3~",      +1,    0,    0},
-+	{ XK_Delete,        XK_ANY_MOD,     "\033[P",       +1,    0,    0},
-+	{ XK_Delete,        XK_ANY_MOD,     "\033[3~",      -1,    0,    0},
- 	{ XK_BackSpace,     XK_NO_MOD,      "\177",          0,    0,    0},
- 	{ XK_BackSpace,     Mod1Mask,       "\033\177",      0,    0,    0},
- 	{ XK_Home,          ShiftMask,      "\033[2J",       0,   -1,    0},
diff --git a/pkgs/applications/misc/stag/default.nix b/pkgs/applications/misc/stag/default.nix
index ebb50e685da..6d6382faccd 100644
--- a/pkgs/applications/misc/stag/default.nix
+++ b/pkgs/applications/misc/stag/default.nix
@@ -19,7 +19,7 @@ stdenv.mkDerivation {
     homepage = https://github.com/seenaburns/stag;
     description = "Terminal streaming bar graph passed through stdin";
     license = stdenv.lib.licenses.bsdOriginal;
-    maintainers = [ stdenv.lib.maintainers.matthiasbeyer ];
+    maintainers = with stdenv.lib.maintainers; [ ];
     platforms = stdenv.lib.platforms.unix;
   };
 }
diff --git a/pkgs/applications/misc/stupidterm/default.nix b/pkgs/applications/misc/stupidterm/default.nix
index 5701997fd29..f6286bfece3 100644
--- a/pkgs/applications/misc/stupidterm/default.nix
+++ b/pkgs/applications/misc/stupidterm/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchFromGitHub, pkgconfig, vte, gtk }:
 
 stdenv.mkDerivation rec {
-  name = "stupidterm-2017-03-15";
+  name = "stupidterm-2018-03-10";
 
   nativeBuildInputs = [ pkgconfig ];
 
@@ -10,8 +10,8 @@ stdenv.mkDerivation rec {
   src = fetchFromGitHub {
     owner = "esmil";
     repo = "stupidterm";
-    rev = "752316a783f52317ffd9f05d32e208dbcafc5ba6";
-    sha256 = "1d8fyhr9sgpxgkwzkyiws0kvhmqfwwyycvcr1qf2wjldiax222lv";
+    rev = "0463519a96c9e4f9ce9fdc99d8e776499346ccba";
+    sha256 = "1vbk53xyjn33myb3fix6y7sxb1x3rndrkk5l9qa60qaw2ivkr965";
   };
 
   makeFlags = "PKGCONFIG=${pkgconfig}/bin/pkg-config binary=stupidterm";
diff --git a/pkgs/applications/misc/synapse/default.nix b/pkgs/applications/misc/synapse/default.nix
index a337b5eae99..0da0b83d64a 100644
--- a/pkgs/applications/misc/synapse/default.nix
+++ b/pkgs/applications/misc/synapse/default.nix
@@ -3,13 +3,13 @@
 }:
 
 let
-  version = "0.2.99.3";
+  version = "0.2.99.4";
 in stdenv.mkDerivation rec {
   name = "synapse-${version}";
 
   src = fetchurl {
     url = "https://launchpad.net/synapse-project/0.3/${version}/+download/${name}.tar.xz";
-    sha256 = "0rwd42164xqfi40r13yr29cx6zy3bckgxk00y53b376nl5yqacvy";
+    sha256 = "1g6x9knb4jy1d8zgssjhzkgac583137pibisy9whjs8mckaj4k1j";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/misc/tasknc/default.nix b/pkgs/applications/misc/tasknc/default.nix
index 0deda8ce35a..3f395696161 100644
--- a/pkgs/applications/misc/tasknc/default.nix
+++ b/pkgs/applications/misc/tasknc/default.nix
@@ -36,7 +36,7 @@ stdenv.mkDerivation rec {
   meta = with stdenv.lib; {
     homepage = https://github.com/lharding/tasknc;
     description = "A ncurses wrapper around taskwarrior";
-    maintainers = with maintainers; [ matthiasbeyer infinisil ];
+    maintainers = with maintainers; [ infinisil ];
     platforms = platforms.linux; # Cannot test others
   };
 }
diff --git a/pkgs/applications/misc/tasksh/default.nix b/pkgs/applications/misc/tasksh/default.nix
index 11bc7620368..f64d2547198 100644
--- a/pkgs/applications/misc/tasksh/default.nix
+++ b/pkgs/applications/misc/tasksh/default.nix
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
     description = "REPL for taskwarrior";
     homepage = http://tasktools.org;
     license = licenses.mit;
-    maintainers = with maintainers; [ matthiasbeyer ];
+    maintainers = with maintainers; [ ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/misc/taskwarrior/default.nix b/pkgs/applications/misc/taskwarrior/default.nix
index 80e1b9b69ef..1018a53ce21 100644
--- a/pkgs/applications/misc/taskwarrior/default.nix
+++ b/pkgs/applications/misc/taskwarrior/default.nix
@@ -4,10 +4,8 @@ stdenv.mkDerivation rec {
   name = "taskwarrior-${version}";
   version = "2.5.1";
 
-  enableParallelBuilding = true;
-
   src = fetchurl {
-    url = "http://www.taskwarrior.org/download/task-${version}.tar.gz";
+    url = "https://taskwarrior.org/download/task-${version}.tar.gz";
     sha256 = "059a9yc58wcicc6xxsjh1ph7k2yrag0spsahp1wqmsq6h7jwwyyq";
   };
 
@@ -20,11 +18,13 @@ stdenv.mkDerivation rec {
     ln -s "../../doc/task/scripts/bash/task.sh" "$out/share/bash-completion/completions/task.bash"
     mkdir -p "$out/share/fish/vendor_completions.d"
     ln -s "../../../share/doc/task/scripts/fish/task.fish" "$out/share/fish/vendor_completions.d/"
+    mkdir -p "$out/share/zsh/site-functions"
+    ln -s "../../../share/doc/task/scripts/zsh/_task" "$out/share/zsh/site-functions/"
   '';
 
   meta = with stdenv.lib; {
     description = "Highly flexible command-line tool to manage TODO lists";
-    homepage = http://taskwarrior.org;
+    homepage = https://taskwarrior.org;
     license = licenses.mit;
     maintainers = with maintainers; [ marcweber jgeerds ];
     platforms = platforms.linux ++ platforms.darwin;
diff --git a/pkgs/applications/misc/terminator/default.nix b/pkgs/applications/misc/terminator/default.nix
index 59ea70e3da2..2fef852ace9 100644
--- a/pkgs/applications/misc/terminator/default.nix
+++ b/pkgs/applications/misc/terminator/default.nix
@@ -1,8 +1,8 @@
-{ stdenv, fetchurl, pythonPackages, keybinder, vte, gettext, intltool, file, gtk3, gobjectIntrospection, cairo
-, wrapGAppsHook, gnome3
+{ stdenv, fetchurl, python2, keybinder3, intltool, file, gtk3, gobjectIntrospection
+, libnotify, wrapGAppsHook, gnome3
 }:
 
-pythonPackages.buildPythonApplication rec {
+python2.pkgs.buildPythonApplication rec {
   name = "terminator-${version}";
   version = "1.91";
 
@@ -11,13 +11,9 @@ pythonPackages.buildPythonApplication rec {
     sha256 = "95f76e3c0253956d19ceab2f8da709a496f1b9cf9b1c5b8d3cd0b6da3cc7be69";
   };
 
-  nativeBuildInputs = [ file intltool wrapGAppsHook ];
-  buildInputs = [ gtk3 gnome3.vte gobjectIntrospection cairo ];
-
-  pythonPath = with pythonPackages; [
-    pygobject3 vte keybinder notify gettext psutil
-    pycairo
-  ];
+  nativeBuildInputs = [ file intltool wrapGAppsHook gobjectIntrospection ];
+  buildInputs = [ gtk3 gnome3.vte libnotify keybinder3 ];
+  propagatedBuildInputs = with python2.pkgs; [ pygobject3 psutil pycairo ];
 
   postPatch = ''
     patchShebangs .
diff --git a/pkgs/applications/misc/terminus/default.nix b/pkgs/applications/misc/terminus/default.nix
new file mode 100644
index 00000000000..67ca05fdb10
--- /dev/null
+++ b/pkgs/applications/misc/terminus/default.nix
@@ -0,0 +1,43 @@
+{ stdenv, lib, fetchurl, dpkg, gtk2, atk, glib, pango, gdk_pixbuf, cairo
+, freetype, fontconfig, dbus, libXi, libXcursor, libXdamage, libXrandr
+, libXcomposite, libXext, libXfixes, libXrender, libX11, libXtst, libXScrnSaver
+, libxcb, makeWrapper, nodejs
+, GConf, nss, nspr, alsaLib, cups, expat, libudev, libpulseaudio }:
+
+let
+  libPath = stdenv.lib.makeLibraryPath [
+    stdenv.cc.cc gtk2 atk glib pango gdk_pixbuf cairo freetype fontconfig dbus
+    libXi libXcursor libXdamage libXrandr libXcomposite libXext libXfixes libxcb
+    libXrender libX11 libXtst libXScrnSaver GConf nss nspr alsaLib cups expat libudev libpulseaudio
+  ];
+in
+stdenv.mkDerivation rec {
+  version = "1.0.0-alpha.42";
+  name = "terminus-${version}";
+  src = fetchurl {
+    url = "https://github.com/Eugeny/terminus/releases/download/v${version}/terminus_${version}_amd64.deb";
+    sha256 = "1r5n75n71zwahg4rxlnf9qzrb0651gxv0987m6bykqmfpnw91nmb";
+  };
+  buildInputs = [ dpkg makeWrapper ];
+  unpackPhase = ''
+    mkdir pkg
+    dpkg-deb -x $src pkg
+    sourceRoot=pkg
+  '';
+  installPhase = ''
+    mkdir -p "$out/bin"
+    mv opt "$out/"
+    ln -s "$out/opt/Terminus/terminus" "$out/bin/terminus"
+    patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" --set-rpath "${libPath}:\$ORIGIN" "$out/opt/Terminus/terminus"
+    mv usr/* "$out/"
+    wrapProgram $out/bin/terminus --prefix PATH : ${lib.makeBinPath [ nodejs ]}
+  '';
+  dontPatchELF = true;
+  meta = with lib; {
+    description = "A terminal for a more modern age";
+    homepage    = https://eugeny.github.io/terminus/;
+    maintainers = with maintainers; [ jlesquembre ];
+    license     = licenses.mit;
+    platforms   = [ "x86_64-linux" ];
+  };
+}
diff --git a/pkgs/applications/misc/teseq/default.nix b/pkgs/applications/misc/teseq/default.nix
new file mode 100644
index 00000000000..9502b3a0abe
--- /dev/null
+++ b/pkgs/applications/misc/teseq/default.nix
@@ -0,0 +1,22 @@
+{ stdenv, fetchurl }:
+
+let
+  version = "1.1.1";
+in
+stdenv.mkDerivation {
+  name = "teseq-${version}";
+
+  src = fetchurl {
+    url = "mirror://gnu/teseq/teseq-${version}.tar.gz";
+    sha256 = "08ln005qciy7f3jhv980kfhhfmh155naq59r5ah9crz1q4mx5yrj";
+  };
+
+  meta = {
+    homepage = https://www.gnu.org/software/teseq/;
+    description = "Escape sequence illuminator";
+    license = stdenv.lib.licenses.gpl3;
+
+    platforms = stdenv.lib.platforms.unix;
+    maintainers = [ stdenv.lib.maintainers.vaibhavsagar ];
+  };
+}
diff --git a/pkgs/applications/misc/timewarrior/default.nix b/pkgs/applications/misc/timewarrior/default.nix
index b2dcd418fb2..9aca45264af 100644
--- a/pkgs/applications/misc/timewarrior/default.nix
+++ b/pkgs/applications/misc/timewarrior/default.nix
@@ -17,8 +17,8 @@ stdenv.mkDerivation rec {
     description = "A command-line time tracker";
     homepage = https://tasktools.org/projects/timewarrior.html;
     license = licenses.mit;
-    maintainers = with maintainers; [ matthiasbeyer mrVanDalo ];
-    platforms = platforms.linux;
+    maintainers = with maintainers; [ mrVanDalo ];
+    platforms = platforms.linux ++ platforms.darwin;
   };
 }
 
diff --git a/pkgs/applications/misc/todiff/default.nix b/pkgs/applications/misc/todiff/default.nix
new file mode 100644
index 00000000000..6af7fae3497
--- /dev/null
+++ b/pkgs/applications/misc/todiff/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, rustPlatform, fetchFromGitHub }:
+
+rustPlatform.buildRustPackage rec {
+  name = "todiff-${version}";
+  version = "0.5.0";
+
+  src = fetchFromGitHub {
+    owner = "Ekleog";
+    repo = "todiff";
+    rev = version;
+    sha256 = "0xnqw98nccnkqfdmbkblm897v981rw1fagbi5q895bpwfg0p71lk";
+  };
+
+  cargoSha256 = "0ih7lw5hbayvc66fjqwga0i7l3sb9qn0m26vnham5li39f5i3rqp";
+
+  meta = with stdenv.lib; {
+    description = "Human-readable diff for todo.txt files";
+    homepage = "https://github.com/Ekleog/todiff";
+    maintainers = with maintainers; [ ekleog ];
+    license = licenses.mit;
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/applications/misc/todolist/default.nix b/pkgs/applications/misc/todolist/default.nix
new file mode 100644
index 00000000000..61e10b6d1a6
--- /dev/null
+++ b/pkgs/applications/misc/todolist/default.nix
@@ -0,0 +1,22 @@
+{ stdenv, buildGoPackage, fetchFromGitHub }:
+
+buildGoPackage rec {
+  name = "todolist-${version}";
+  version = "0.8";
+
+  goPackagePath = "github.com/gammons/todolist";
+
+  src = fetchFromGitHub {
+    owner = "gammons";
+    repo = "todolist";
+    rev = "${version}";
+    sha256 = "0agv9a44q81qr960b7m1jxk0pb8ahk6lvmzmijvw4v6mbip2720z";
+  };
+
+  meta = with stdenv.lib; {
+    description = "Simple GTD-style todo list for the command line";
+    homepage = "http://todolist.site";
+    license = licenses.mit;
+    maintainers = with maintainers; [ uvnikita ];
+  };
+}
diff --git a/pkgs/applications/misc/toot/default.nix b/pkgs/applications/misc/toot/default.nix
index 1f8ab8b438d..e282e752b31 100644
--- a/pkgs/applications/misc/toot/default.nix
+++ b/pkgs/applications/misc/toot/default.nix
@@ -24,7 +24,7 @@ python3Packages.buildPythonApplication rec {
     description = "Mastodon CLI interface";
     homepage    = "https://github.com/ihabunek/toot";
     license     = licenses.mit;
-    maintainers = [ maintainers.matthiasbeyer ];
+    maintainers = [ ];
   };
 
 }
diff --git a/pkgs/applications/misc/translate-shell/default.nix b/pkgs/applications/misc/translate-shell/default.nix
index 3810da40849..8e8a22ed4e4 100644
--- a/pkgs/applications/misc/translate-shell/default.nix
+++ b/pkgs/applications/misc/translate-shell/default.nix
@@ -1,101 +1,38 @@
-{ stdenv, fetchFromGitHub, curl, fribidi, mpv, less, rlwrap, gawk, bash, emacs, groff, ncurses, pandoc }:
+{ stdenv, fetchFromGitHub, makeWrapper, curl, fribidi, rlwrap, gawk, groff, ncurses }:
 
 stdenv.mkDerivation rec {
   name = "${pname}-${version}";
   pname = "translate-shell";
-  version = "0.9.6.6";
+  version = "0.9.6.7";
 
   src = fetchFromGitHub {
     owner = "soimort";
     repo = "translate-shell";
-    rev = "v" + version;
-    sha256 = "0hbwvc554v6fi4ardidwsnn8hk7p68p155yjllvljjawkbq4qljq";
+    rev = "v${version}";
+    sha256 = "0krcidjh32xwybr1v4nykgf0jjnffjqx125bvn3jh2a44cikyq3n";
   };
 
-  phases = [ "buildPhase" "installPhase" "postFixup" ];
+  buildInputs = [ makeWrapper ];
 
-  buildPhase = ''
-    mkdir -p $out/bin
-    mkdir -p $out/share
-    mkdir -p $out/share/man/man1
-  '';
-
-  installPhase = ''
-    cp $src/translate $out/bin/trans
-    cp $src/translate $out/bin/translate
-    cp $src/translate $out/bin/translate-shell
-
-    cp $src/translate.awk $out/share/translate.awk
-    cp $src/build.awk $out/share/build.awk
-    cp $src/metainfo.awk $out/share/metainfo.awk
-    cp $src/test.awk $out/share/test.awk
-
-    cp -r $src/include $out/share
-    cp -r $src/test $out/share
-    cp $src/man/trans.1 $out/share/man/man1
-
-    chmod +x $out/bin/translate
-    chmod +x $out/share/translate.awk
-    chmod +x $out/share/build.awk
-    chmod +x $out/share/metainfo.awk
-    chmod +x $out/share/test.awk
-  '';
-
-  postFixup = ''
-    substituteInPlace $out/bin/trans --replace "/bin/sh" "${bash}/bin/bash"
-    substituteInPlace $out/bin/trans --replace "gawk " "${gawk}/bin/gawk "
-    substituteInPlace $out/bin/trans --replace "translate.awk" "$out/share/translate.awk"
-
-    substituteInPlace $out/bin/translate --replace "/bin/sh" "${bash}/bin/bash"
-    substituteInPlace $out/bin/translate --replace "gawk " "${gawk}/bin/gawk "
-    substituteInPlace $out/bin/translate --replace "translate.awk" "$out/share/translate.awk"
-
-    substituteInPlace $out/bin/translate-shell --replace "/bin/sh" "${bash}/bin/bash"
-    substituteInPlace $out/bin/translate-shell --replace "gawk " "${gawk}/bin/gawk "
-    substituteInPlace $out/bin/translate-shell --replace "translate.awk" "$out/share/translate.awk"
-
-    substituteInPlace $out/share/translate.awk --replace "/usr/bin/gawk" "${gawk}/bin/gawk"
-    substituteInPlace $out/share/translate.awk --replace "metainfo" "$out/share/metainfo"
-    substituteInPlace $out/share/translate.awk --replace "include/" "$out/share/include/"
-
-    substituteInPlace $out/share/build.awk --replace "/usr/bin/gawk" "${gawk}/bin/gawk"
-    substituteInPlace $out/share/build.awk --replace "include/" "$out/share/include/"
-    substituteInPlace $out/share/build.awk --replace "metainfo.awk" "$out/share/metainfo.awk"
-
-    substituteInPlace $out/share/metainfo.awk --replace "translate.awk" "$out/share/translate.awk"
-
-    substituteInPlace $out/share/test.awk --replace "/usr/bin/gawk" "${gawk}/bin/gawk"
-    substituteInPlace $out/share/test.awk --replace "include/" "$out/share/include/"
-    substituteInPlace $out/share/test.awk --replace "test/" "$out/share/test/"
-
-    substituteInPlace $out/share/include/Translators/\*.awk --replace "include/" "$out/share/include/"
-
-    substituteInPlace $out/share/test/Test.awk --replace "test/" "$out/share/test/"
-    substituteInPlace $out/share/test/TestUtils.awk --replace "include/" "$out/share/include/"
-    substituteInPlace $out/share/test/TestParser.awk --replace "include/" "$out/share/include/"
-    substituteInPlace $out/share/test/TestCommons.awk --replace "\"gawk\"" "\"${gawk}/bin/gawk\""
-    substituteInPlace $out/share/test/TestCommons.awk --replace "Commons.awk" "$out/share/include/Commons.awk"
-
-    substituteInPlace $out/share/include/Main.awk --replace "\"tput\"" "\"${ncurses.out}/bin/tput\""
-    substituteInPlace $out/share/include/Help.awk --replace "\"groff\"" "\"${groff}/bin/groff\""
-    substituteInPlace $out/share/include/Utils.awk --replace "\"fribidi\"" "\"${fribidi}/bin/fribidi\""
-    substituteInPlace $out/share/include/Utils.awk --replace "\"fribidi " "\"${fribidi}/bin/fribidi "
-    substituteInPlace $out/share/include/Utils.awk --replace "\"rlwrap\"" "\"${rlwrap}/bin/rlwrap\""
-    substituteInPlace $out/share/include/Utils.awk --replace "\"emacs\"" "\"${emacs}/bin/emacs\""
-    substituteInPlace $out/share/include/Utils.awk --replace "\"curl\"" "\"${curl.bin}/bin/curl\""
-
-    substituteInPlace $out/share/build.awk --replace "\"pandoc " "\"${pandoc}/bin/pandoc "
-
-    substituteInPlace $out/share/include/Translate.awk --replace "\"mpv " "\"${mpv}/bin/mpv "
-    substituteInPlace $out/share/include/Translate.awk --replace "\"less " "\"${less}/bin/less "
+  installFlags = [ "PREFIX=$(out)" ];
 
+  postInstall = ''
+    wrapProgram $out/bin/trans \
+      --prefix PATH : ${stdenv.lib.makeBinPath [
+        gawk
+        curl
+        ncurses
+        rlwrap
+        groff
+        fribidi
+      ]}
   '';
 
   meta = with stdenv.lib; {
     homepage = https://www.soimort.org/translate-shell;
     description = "Command-line translator using Google Translate, Bing Translator, Yandex.Translate, and Apertium";
-    license = licenses.publicDomain;
-    maintainers = [ maintainers.ebzzry ];
+    license = licenses.unlicense;
+    maintainers = with maintainers; [ ebzzry infinisil ];
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/applications/misc/urh/default.nix b/pkgs/applications/misc/urh/default.nix
index 6aba4e75150..b1966539f2c 100644
--- a/pkgs/applications/misc/urh/default.nix
+++ b/pkgs/applications/misc/urh/default.nix
@@ -2,13 +2,13 @@
 
 python3Packages.buildPythonApplication rec {
   name = "urh-${version}";
-  version = "1.9.2";
+  version = "2.0.4";
 
   src = fetchFromGitHub {
     owner = "jopohl";
     repo = "urh";
     rev = "v${version}";
-    sha256 = "02jq2jas6gm08z4l09azi6dcsydaaaqbxfv4mb7pnrc1w8m593zr";
+    sha256 = "1b796lfwasp02q1340g43z0gmza5y6jn1ga6nb22vfas0yvqpz6p";
   };
 
   buildInputs = [ hackrf rtl-sdr ];
diff --git a/pkgs/applications/misc/urlscan/default.nix b/pkgs/applications/misc/urlscan/default.nix
index 7c4def95210..c3071647c40 100644
--- a/pkgs/applications/misc/urlscan/default.nix
+++ b/pkgs/applications/misc/urlscan/default.nix
@@ -1,20 +1,23 @@
 { stdenv, python3Packages, fetchFromGitHub }:
 
 python3Packages.buildPythonApplication rec {
-  name = "urlscan-${version}";
-  version = "0.8.6";
+  pname = "urlscan";
+  version = "0.8.7";
 
   src = fetchFromGitHub {
     owner = "firecat53";
-    repo = "urlscan";
+    repo = pname;
     rev = version;
-    sha256 = "1v26fni64n0lbv37m35plh2bsrvhpb4ibgmg2mv05qfc3df721s5";
+    sha256 = "1jxjcq869jimsq1ihk2fbjhp5lj7yga0hbp0msskxyz92afl1kz8";
   };
 
   propagatedBuildInputs = [ python3Packages.urwid ];
 
+  doCheck = false; # No tests available
+
   meta = with stdenv.lib; {
     description = "Mutt and terminal url selector (similar to urlview)";
+    homepage = https://github.com/firecat53/urlscan;
     license = licenses.gpl2;
     maintainers = with maintainers; [ dpaetzel jfrankenau ];
   };
diff --git a/pkgs/applications/misc/veracrypt/default.nix b/pkgs/applications/misc/veracrypt/default.nix
index 201e2bcc6ac..1c5c4d1dcaa 100644
--- a/pkgs/applications/misc/veracrypt/default.nix
+++ b/pkgs/applications/misc/veracrypt/default.nix
@@ -6,11 +6,11 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   name = "veracrypt-${version}";
-  version = "1.21";
+  version = "1.22";
 
   src = fetchurl {
     url = "https://launchpad.net/veracrypt/trunk/${version}/+download/VeraCrypt_${version}_Source.tar.bz2";
-    sha256 = "0n036znmwnv70wy8r2j3b55bx2z3cch5fr83vnwjvzyyp0j7swa4";
+    sha256 = "0w5qyxnx03vn93ach1kb995w2mdg43s82gf1isbk206sxp00qk4y";
   };
 
   unpackPhase =
diff --git a/pkgs/applications/misc/vit/default.nix b/pkgs/applications/misc/vit/default.nix
index d8dea641c3a..40a399247e9 100644
--- a/pkgs/applications/misc/vit/default.nix
+++ b/pkgs/applications/misc/vit/default.nix
@@ -28,8 +28,8 @@ stdenv.mkDerivation {
 
   meta = {
     description = "Visual Interactive Taskwarrior";
-    maintainers = with pkgs.lib.maintainers; [ matthiasbeyer ];
-    platforms = pkgs.lib.platforms.linux;
+    maintainers = with pkgs.lib.maintainers; [ ];
+    platforms = pkgs.lib.platforms.all;
     license = pkgs.lib.licenses.gpl3;
   };
 }
diff --git a/pkgs/applications/misc/weather/default.nix b/pkgs/applications/misc/weather/default.nix
index 90fa0166154..544c1252ff4 100644
--- a/pkgs/applications/misc/weather/default.nix
+++ b/pkgs/applications/misc/weather/default.nix
@@ -35,7 +35,7 @@ stdenv.mkDerivation rec {
         homepage = http://fungi.yuggoth.org/weather;
         description = "Quick access to current weather conditions and forecasts";
         license = stdenv.lib.licenses.isc;
-        maintainers = [ stdenv.lib.maintainers.matthiasbeyer ];
+        maintainers = with stdenv.lib.maintainers; [ ];
         platforms = with stdenv.lib.platforms; linux; # my only platform
     };
 }
diff --git a/pkgs/applications/misc/welle-io/default.nix b/pkgs/applications/misc/welle-io/default.nix
index d705de1a8cd..143ec518ac5 100644
--- a/pkgs/applications/misc/welle-io/default.nix
+++ b/pkgs/applications/misc/welle-io/default.nix
@@ -1,6 +1,6 @@
 { stdenv, buildEnv, fetchFromGitHub, cmake, pkgconfig
 , qtbase, qtcharts, qtmultimedia, qtquickcontrols, qtquickcontrols2
-, faad2, rtl-sdr, libusb, fftwSinglePrec }:
+, faad2, rtl-sdr, soapysdr-with-plugins, libusb, fftwSinglePrec }:
 let
 
   version = "1.0-rc2";
@@ -28,10 +28,11 @@ in stdenv.mkDerivation {
     qtquickcontrols
     qtquickcontrols2
     rtl-sdr
+    soapysdr-with-plugins
   ];
 
   cmakeFlags = [
-    "-DRTLSDR=true"
+    "-DRTLSDR=true" "-DSOAPYSDR=true"
   ];
 
   enableParallelBuilding = true;
@@ -41,7 +42,6 @@ in stdenv.mkDerivation {
     homepage = http://www.welle.io/;
     maintainers = with maintainers; [ ck3d ];
     license = licenses.gpl2;
-    platforms = with platforms; linux ++ darwin;
+    platforms = with platforms; [ "x86_64-linux" "i686-linux" ] ++ darwin;
   };
-
 }
diff --git a/pkgs/applications/misc/wmname/default.nix b/pkgs/applications/misc/wmname/default.nix
index fe0348cad21..68f6c4df159 100644
--- a/pkgs/applications/misc/wmname/default.nix
+++ b/pkgs/applications/misc/wmname/default.nix
@@ -4,7 +4,7 @@ stdenv.mkDerivation rec {
   name = "wmname-0.1";
 
   src = fetchurl {
-    url = "http://dl.suckless.org/tools/${name}.tar.gz";
+    url = "https://dl.suckless.org/tools/${name}.tar.gz";
     sha256 = "559ad188b2913167dcbb37ecfbb7ed474a7ec4bbcb0129d8d5d08cb9208d02c5";
   };
 
diff --git a/pkgs/applications/misc/wordnet/default.nix b/pkgs/applications/misc/wordnet/default.nix
index b93295850bc..71d95e13892 100644
--- a/pkgs/applications/misc/wordnet/default.nix
+++ b/pkgs/applications/misc/wordnet/default.nix
@@ -39,7 +39,7 @@ stdenv.mkDerivation rec {
          for computational linguistics and natural language processing.
       '';
 
-    homepage = http://wordnet.princeton.edu/;
+    homepage = https://wordnet.princeton.edu/;
 
     maintainers = [ ];
     platforms = with stdenv.lib.platforms; linux ++ darwin;
diff --git a/pkgs/applications/misc/workrave/default.nix b/pkgs/applications/misc/workrave/default.nix
index 0394fa83d4a..6e92e98481e 100644
--- a/pkgs/applications/misc/workrave/default.nix
+++ b/pkgs/applications/misc/workrave/default.nix
@@ -1,39 +1,30 @@
-{ stdenv, fetchFromGitHub, fetchpatch
-, autoconf, automake, gettext, intltool, libtool, pkgconfig
+{ stdenv, fetchFromGitHub, wrapGAppsHook
+, autoconf, autoconf-archive, automake, gettext, intltool, libtool, pkgconfig
 , libICE, libSM, libXScrnSaver, libXtst, cheetah
-, glib, glibmm, gtkmm2, atk, pango, pangomm, cairo, cairomm
-, dbus, dbus-glib, GConf, gconfmm, gdome2, gstreamer, libsigcxx }:
+, gobjectIntrospection, glib, glibmm, gtkmm3, atk, pango, pangomm, cairo
+, cairomm , dbus, dbus-glib, gdome2, gstreamer, gst-plugins-base
+, gst-plugins-good, libsigcxx }:
 
 stdenv.mkDerivation rec {
   name = "workrave-${version}";
-  version = "1.10.7";
+  version = "1.10.20";
 
   src = let
   in fetchFromGitHub {
-    sha256 = "1mxg882rfih7xzadrpj51m9r33f6s3rzwv61nfwi94vzd68qjnxb";
+    sha256 = "099a87zkrkmsgfz9isrfm89dh545x52891jh6qxmn19h6wwsi941";
     rev = with stdenv.lib;
       "v" + concatStringsSep "_" (splitString "." version);
     repo = "workrave";
     owner = "rcaelers";
   };
 
-  patches = [
-    # Building with gtk{,mm}3 works just fine, but let's be conservative for once:
-    (fetchpatch {
-      name = "workrave-fix-compilation-with-gtk2.patch";
-      url = "https://github.com/rcaelers/workrave/commit/"
-        + "271efdcd795b3592bfede8b1af2162af4b1f0f26.patch";
-      sha256 = "1a3d4jj8516m3m24bl6y8alanl1qnyzv5dv1hz5v3hjgk89fj6rk";
-    })
-  ];
-
   nativeBuildInputs = [
-    autoconf automake gettext intltool libtool pkgconfig
+    autoconf autoconf-archive automake gettext intltool libtool pkgconfig wrapGAppsHook
   ];
   buildInputs = [
     libICE libSM libXScrnSaver libXtst cheetah
-    glib glibmm gtkmm2 atk pango pangomm cairo cairomm
-    dbus dbus-glib GConf gconfmm gdome2 gstreamer libsigcxx
+    gobjectIntrospection glib glibmm gtkmm3 atk pango pangomm cairo cairomm
+    dbus dbus-glib gdome2 gstreamer gst-plugins-base gst-plugins-good libsigcxx
   ];
 
   preConfigure = "./autogen.sh";
diff --git a/pkgs/applications/misc/xca/default.nix b/pkgs/applications/misc/xca/default.nix
index c783985d505..270380a8c3f 100644
--- a/pkgs/applications/misc/xca/default.nix
+++ b/pkgs/applications/misc/xca/default.nix
@@ -3,11 +3,11 @@
 
 mkDerivation rec {
   name = "xca-${version}";
-  version = "1.4.0";
+  version = "1.4.1";
 
   src = fetchurl {
     url = "mirror://sourceforge/xca/${name}.tar.gz";
-    sha256 = "1gygj6kljj3r1y0pg67mks36vfcz4vizjsqnqdvrk6zlgqjbzm7z";
+    sha256 = "11niik2m4yswkp71hrdh54z5kgkvdg8y0b6wdqbrn6vy1n8gz63q";
   };
 
   enableParallelBuilding = true;
diff --git a/pkgs/applications/misc/xfe/default.nix b/pkgs/applications/misc/xfe/default.nix
index 78e1d15481b..444ab802673 100644
--- a/pkgs/applications/misc/xfe/default.nix
+++ b/pkgs/applications/misc/xfe/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, fox, pkgconfig, gettext, xlibsWrapper, gcc, intltool, file, libpng }:
 
 stdenv.mkDerivation rec {
-  name = "xfe-1.37";
+  name = "xfe-1.42";
 
   src = fetchurl {
     url = "mirror://sourceforge/xfe/${name}.tar.gz";
-    sha256 = "1g9a0bpny2m7ixgxpqjh0wvh2x6d0lpj6682zn5dfqwan4j2xfsd";
+    sha256 = "1v1v0vcbnm30kpyd3rj8f56yh7lfnwy7nbs9785wi229b29fiqx1";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/applications/misc/xfontsel/default.nix b/pkgs/applications/misc/xfontsel/default.nix
index b152badcda4..5d2b70a80ee 100644
--- a/pkgs/applications/misc/xfontsel/default.nix
+++ b/pkgs/applications/misc/xfontsel/default.nix
@@ -4,11 +4,11 @@
 
 {stdenv, fetchurl, makeWrapper, libX11, pkgconfig, libXaw}:
 stdenv.mkDerivation rec {
-  name = "xfontsel-1.0.5";
+  name = "xfontsel-1.0.6";
 
   src = fetchurl {
     url = "mirror://xorg/individual/app/${name}.tar.bz2";
-    sha256 = "1grir464hy52a71r3mpm9mzvkf7nwr3vk0b1vc27pd3gp588a38p";
+    sha256 = "0700lf6hx7dg88wq1yll7zjvf9gbwh06xff20yffkxb289y0pai5";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/applications/misc/xmr-stak/default.nix b/pkgs/applications/misc/xmr-stak/default.nix
index c985f601447..51fd2ee8064 100644
--- a/pkgs/applications/misc/xmr-stak/default.nix
+++ b/pkgs/applications/misc/xmr-stak/default.nix
@@ -1,19 +1,24 @@
-{ stdenv, lib, fetchFromGitHub, cmake, libuv, libmicrohttpd, openssl
+{ stdenv, stdenvGcc6, lib
+, fetchFromGitHub, cmake, libuv, libmicrohttpd, openssl
 , opencl-headers, ocl-icd, hwloc, cudatoolkit
 , devDonationLevel ? "0.0"
 , cudaSupport ? false
-, openclSupport ? false
+, openclSupport ? true
 }:
 
-stdenv.mkDerivation rec {
+let
+  stdenv' = if cudaSupport then stdenvGcc6 else stdenv;
+in
+
+stdenv'.mkDerivation rec {
   name = "xmr-stak-${version}";
-  version = "2.2.0";
+  version = "2.4.3";
 
   src = fetchFromGitHub {
     owner = "fireice-uk";
     repo = "xmr-stak";
-    rev = "v${version}";
-    sha256 = "0n21y37d8khgfk9965mrhnh6y5ag7w0s6as1fmf76yx6vajvajsn";
+    rev = "${version}";
+    sha256 = "0plks4yyd9gjnfg7sfsgsvdgczkbghf5xjwb8bzv01f0fndn10r1";
   };
 
   NIX_CFLAGS_COMPILE = "-O3";
diff --git a/pkgs/applications/misc/xmrig/default.nix b/pkgs/applications/misc/xmrig/default.nix
new file mode 100644
index 00000000000..91fdb37432e
--- /dev/null
+++ b/pkgs/applications/misc/xmrig/default.nix
@@ -0,0 +1,34 @@
+{ stdenv, lib, fetchFromGitHub, cmake, libuv, libmicrohttpd
+, donateLevel ? 0
+}:
+
+stdenv.mkDerivation rec {
+  name = "xmrig-${version}";
+  version = "2.6.2";
+
+  src = fetchFromGitHub {
+    owner = "xmrig";
+    repo = "xmrig";
+    rev = "v${version}";
+    sha256 = "09dcjvnm74j1d26mvdiz0sl1qwns5xfkdwx46nqd4xlgvg9x4rpx";
+  };
+
+  nativeBuildInputs = [ cmake ];
+  buildInputs = [ libuv libmicrohttpd ];
+
+  postPatch = ''
+    substituteInPlace src/donate.h --replace "kDonateLevel = 5;" "kDonateLevel = ${toString donateLevel};"
+  '';
+
+  installPhase = ''
+    install -vD xmrig $out/bin/xmrig
+  '';
+
+  meta = with lib; {
+    description = "Monero (XMR) CPU miner";
+    homepage = "https://github.com/xmrig/xmrig";
+    license = licenses.gpl3Plus;
+    platforms   = [ "x86_64-linux" "x86_64-darwin" ];
+    maintainers = with maintainers; [ fpletz ];
+  };
+}
diff --git a/pkgs/applications/misc/xmrig/proxy.nix b/pkgs/applications/misc/xmrig/proxy.nix
new file mode 100644
index 00000000000..248f629f2e9
--- /dev/null
+++ b/pkgs/applications/misc/xmrig/proxy.nix
@@ -0,0 +1,34 @@
+{ stdenv, lib, fetchFromGitHub, cmake, libuv, libmicrohttpd, libuuid
+, donateLevel ? 0
+}:
+
+stdenv.mkDerivation rec {
+  name = "xmrig-proxy-${version}";
+  version = "2.5.2";
+
+  src = fetchFromGitHub {
+    owner = "xmrig";
+    repo = "xmrig-proxy";
+    rev = "v${version}";
+    sha256 = "1x10mrr58lc207zppzkjnhwah83kpxrqpa3idv01lyasv8mfkxzc";
+  };
+
+  nativeBuildInputs = [ cmake ];
+  buildInputs = [ libuv libmicrohttpd libuuid ];
+
+  # Set default donation level to 0%. Can be increased at runtime via --donate-level option.
+  postPatch = ''
+    substituteInPlace src/donate.h --replace "kDonateLevel = 2;" "kDonateLevel = ${toString donateLevel};"
+  '';
+
+  installPhase = ''
+    install -vD xmrig-proxy $out/bin/xmrig-proxy
+  '';
+
+  meta = with lib; {
+    description = "Monero (XMR) Stratum protocol proxy";
+    homepage = "https://github.com/xmrig/xmrig-proxy";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ aij ];
+  };
+}
diff --git a/pkgs/applications/misc/xpdf/default.nix b/pkgs/applications/misc/xpdf/default.nix
index 3b05c9be451..3cb416a5f7c 100644
--- a/pkgs/applications/misc/xpdf/default.nix
+++ b/pkgs/applications/misc/xpdf/default.nix
@@ -36,7 +36,7 @@ stdenv.mkDerivation {
 
   hardeningDisable = [ "format" ];
 
-  postInstall = stdenv.lib.optionalString stdenv.isDarwin ''
+  postInstall = stdenv.lib.optionalString (stdenv.isDarwin && enableGUI) ''
     wrapProgram $out/bin/xpdf \
       --set QT_PLUGIN_PATH ${qtbase.bin}/${qtbase.qtPluginPrefix}:${qtsvg.bin}/${qtbase.qtPluginPrefix}
   '';
diff --git a/pkgs/applications/misc/xterm/default.nix b/pkgs/applications/misc/xterm/default.nix
index d807e8eb9ed..8b15b030789 100644
--- a/pkgs/applications/misc/xterm/default.nix
+++ b/pkgs/applications/misc/xterm/default.nix
@@ -3,14 +3,14 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "xterm-331";
+  name = "xterm-333";
 
   src = fetchurl {
     urls = [
      "ftp://ftp.invisible-island.net/xterm/${name}.tgz"
      "https://invisible-mirror.net/archives/xterm/${name}.tgz"
    ];
-    sha256 = "047gk58hvj64974sg259ss5gixj7pac6halmjfz4cc6r1yimds4s";
+    sha256 = "0y7gl26mxw6kwqx9j9mi6lx1lp1v3nrlga19ddn07j2m9q0l479g";
   };
 
   buildInputs =
diff --git a/pkgs/applications/misc/xtermcontrol/default.nix b/pkgs/applications/misc/xtermcontrol/default.nix
index eae5240129a..ae31ebd1ca7 100644
--- a/pkgs/applications/misc/xtermcontrol/default.nix
+++ b/pkgs/applications/misc/xtermcontrol/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  version = "3.3";
+  version = "3.4";
   name = "xtermcontrol-${version}";
 
   src = fetchurl {
     url = "http://thrysoee.dk/xtermcontrol/xtermcontrol-${version}.tar.gz";
-    sha256 = "1v2c1cnx43apmspga7icssh5ndbhzy5h82y6vm8fda40flq9mxj5";
+    sha256 = "1g81v9gfn08gjn1269j0qx12x36s9j6x39gl91ycay391flgzr5l";
   };
 
   meta = {
diff --git a/pkgs/applications/misc/yaft/default.nix b/pkgs/applications/misc/yaft/default.nix
index d273d27944a..0794b2b6dbe 100644
--- a/pkgs/applications/misc/yaft/default.nix
+++ b/pkgs/applications/misc/yaft/default.nix
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
     homepage = https://github.com/uobikiemukot/yaft;
     description = "Yet another framebuffer terminal";
     license = stdenv.lib.licenses.mit;
-    maintainers = [ stdenv.lib.maintainers.matthiasbeyer ];
+    maintainers = with stdenv.lib.maintainers; [ ];
     platforms = with stdenv.lib.platforms; linux;
   };
 }
diff --git a/pkgs/applications/misc/yakuake/default.nix b/pkgs/applications/misc/yakuake/default.nix
index 0eb33c845c3..676cfc12eb0 100644
--- a/pkgs/applications/misc/yakuake/default.nix
+++ b/pkgs/applications/misc/yakuake/default.nix
@@ -20,12 +20,12 @@
 
 mkDerivation rec {
   pname = "yakuake";
-  version = "3.0.4";
+  version = "3.0.5";
   name = "${pname}-${version}";
 
     src = fetchurl {
       url = "http://download.kde.org/stable/${pname}/${version}/src/${name}.tar.xz";
-      sha256 = "1q31p1cqhz8b2bikqjrr7fww86kaq723ib4ys2zwablfa1ybbqhh";
+      sha256 = "021a9mnghffv2mrdl987mn7wbg8bk6bnf6xz8kn2nwsqxp9kpqh8";
     };
 
     buildInputs = [
diff --git a/pkgs/applications/misc/yarssr/default.nix b/pkgs/applications/misc/yarssr/default.nix
new file mode 100644
index 00000000000..cadf5ccb6a4
--- /dev/null
+++ b/pkgs/applications/misc/yarssr/default.nix
@@ -0,0 +1,68 @@
+{
+fetchFromGitHub, stdenv, lib,
+autoreconfHook, intltool, pkgconfig, makeWrapper, pkgs,
+perl, perlPackages,
+gnome2 }:
+
+let
+  perlDeps = with perlPackages; [
+    Glib Gtk2 Gnome2 Pango Cairo Gnome2Canvas Gnome2VFS Gtk2GladeXML Gtk2TrayIcon
+    XMLLibXML XMLSAXBase XMLParser XMLRSS
+    HTMLParser
+    DateTime DateTimeFormatMail DateTimeFormatW3CDTF DateTimeLocale DateTimeTimeZone
+    ParamsValidate
+    ModuleImplementation ModuleRuntime
+    TryTiny
+    ClassSingleton
+    URI
+    AnyEvent AnyEventHTTP
+    CommonSense
+    FileSlurp
+    JSON
+    Guard
+    LocaleGettext
+  ];
+  libs = [
+    stdenv.cc.cc.lib
+    pkgs.gtk2
+  ];
+in
+stdenv.mkDerivation rec {
+  version = "git-2017-12-01";
+  name = "yarssr-${version}";
+
+  src = fetchFromGitHub {
+    owner = "JGRennison";
+    repo = "yarssr";
+    rev = "e70eb9fc6563599bfb91c6de6a79654de531c18d";
+    sha256 = "0x7hz8x8qyp3i1vb22zhcnvwxm3jhmmmlr22jqc5b09vpmbw1l45";
+  };
+
+  nativeBuildInputs = [ perl pkgs.gettext makeWrapper ];
+  buildInputs = perlDeps ++ [gnome2.libglade];
+  propagatedBuildInputs = libs ++ perlDeps;
+
+  installPhase = ''
+    DESTDIR=$out make install
+    mv $out/usr/* $out/
+    rm -R $out/usr
+    sed -i -r "s!use lib [^;]+;!use lib '$out/share/yarssr';!" $out/bin/yarssr
+    sed -i -r "s!$Yarssr::PREFIX = [^;]+;!$Yarssr::PREFIX = '$out';!" $out/bin/yarssr
+    sed -i -r "s!use Yarssr::Browser;!!" $out/share/yarssr/Yarssr/GUI.pm
+    chmod a+x $out/bin/yarssr
+  '';
+
+  postFixup = ''
+    wrapProgram $out/bin/yarssr \
+      --prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath libs} \
+      --set PERL5LIB "${lib.makePerlPath perlDeps}"
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/tsyrogit/zxcvbn-c;
+    description = "A fork of Yarssr (a RSS reader for the GNOME Tray) from http://yarssr.sf.net with various fixes.";
+    license = licenses.gpl1;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ xurei ];
+  };
+}
diff --git a/pkgs/applications/misc/yate/default.nix b/pkgs/applications/misc/yate/default.nix
index bd891ff8493..53d427e61c2 100644
--- a/pkgs/applications/misc/yate/default.nix
+++ b/pkgs/applications/misc/yate/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "yate-${version}";
-  version = "5.4.2-1";
+  version = "6.0.0-1";
 
   src = fetchurl {
-    url = "http://voip.null.ro/tarballs/yate5/${name}.tar.gz";
-    sha256 = "08gwz0gipc5v75jv46p2yg8hg31xjp6x7jssd0rrgsa3szi5697n";
+    url = "http://voip.null.ro/tarballs/yate${lib.versions.major version}/${name}.tar.gz";
+    sha256 = "05qqdhi3rp5660gq1484jkmxkm9vq81j0yr765h0gf0xclan1dqa";
   };
 
   # TODO zaptel ? postgres ?
@@ -17,6 +17,7 @@ stdenv.mkDerivation rec {
   preConfigure =
     ''
       sed -i 's@,/dev/null@@' configure
+      patchShebangs configure
     '';
 
   # --unresolved-symbols=ignore-in-shared-libs makes ld no longer find --library=yate? Why?
@@ -35,7 +36,7 @@ stdenv.mkDerivation rec {
     # OpenH323 and PWlib (licensed under MPL).
     license = ["GPL" "MPL"];
     maintainers = [ lib.maintainers.marcweber ];
-    platforms = lib.platforms.linux;
+    platforms = [ "i686-linux" "x86_64-linux" ];
   };
 
 }
diff --git a/pkgs/applications/misc/zathura/core/default.nix b/pkgs/applications/misc/zathura/core/default.nix
index afb38ace1d9..84dc1445153 100644
--- a/pkgs/applications/misc/zathura/core/default.nix
+++ b/pkgs/applications/misc/zathura/core/default.nix
@@ -1,6 +1,7 @@
-{ stdenv, fetchurl, makeWrapper, pkgconfig
-, gtk, girara, ncurses, gettext, docutils
-, file, sqlite, glib, texlive, libintlOrEmpty
+{ stdenv, fetchurl, fetchpatch, meson, ninja, makeWrapper, pkgconfig
+, appstream-glib, desktop-file-utils, python3
+, gtk, girara, ncurses, gettext, libxml2
+, file, sqlite, glib, texlive, libintl, libseccomp
 , gtk-mac-integration, synctexSupport ? true
 }:
 
@@ -9,53 +10,42 @@ assert synctexSupport -> texlive != null;
 with stdenv.lib;
 
 stdenv.mkDerivation rec {
-  name    = "zathura-core-${version}";
-  version = "0.3.8";
+  name = "zathura-core-${version}";
+  version = "0.3.9";
 
   src = fetchurl {
-    url    = "http://pwmt.org/projects/zathura/download/zathura-${version}.tar.gz";
-    sha256 = "0dz5pky3vmf3s2cp2rv1c099gb1s49p9xlgm3ghyy4pzyxc8bgs6";
+    url = "https://pwmt.org/projects/zathura/download/zathura-${version}.tar.xz";
+    sha256 = "0z09kz92a2n8qqv3cy8bx5j5k612g2f9mmh4szqlc7yvi39aax1g";
   };
 
-  icon = ./icon.xpm;
+  patches = [
+    (fetchpatch {
+      url = https://git.pwmt.org/pwmt/zathura/commit/4223464db68529f9a2064ed760fb7746b3c0df6b.patch;
+      sha256 = "004j68b7c8alxzyx0d80lr5i43cgh7lbqm5fx3d77ihci7hdmxnw";
+    })
+  ];
 
   nativeBuildInputs = [
-    pkgconfig
-  ] ++ optional stdenv.isDarwin [ libintlOrEmpty ];
+    meson ninja pkgconfig appstream-glib desktop-file-utils python3.pkgs.sphinx
+    gettext makeWrapper libxml2
+  ];
 
   buildInputs = [
-    file gtk girara
-    gettext makeWrapper sqlite glib
+    file gtk girara libintl libseccomp
+    sqlite glib
   ] ++ optional synctexSupport texlive.bin.core
     ++ optional stdenv.isDarwin [ gtk-mac-integration ];
 
-  NIX_LDFLAGS = stdenv.lib.optionalString stdenv.isDarwin "-lintl";
-  NIX_CFLAGS_COMPILE = "-I${glib.dev}/include/gio-unix-2.0";
-
-  makeFlags = [
-    "PREFIX=$(out)"
-    "RSTTOMAN=${docutils}/bin/rst2man.py"
-    "VERBOSE=1"
-    "TPUT=${ncurses.out}/bin/tput"
-    (optionalString synctexSupport "WITH_SYNCTEX=1")
-  ];
-
   postInstall = ''
     wrapProgram "$out/bin/zathura" \
-      --prefix PATH ":" "${makeBinPath [ file ]}" \
-      --prefix XDG_CONFIG_DIRS ":" "$out/etc"
-
-    install -Dm644 $icon $out/share/pixmaps/pwmt.xpm
-    mkdir -pv $out/etc
-    echo "set window-icon $out/share/pixmaps/pwmt.xpm" > $out/etc/zathurarc
-    echo "Icon=pwmt" >> $out/share/applications/zathura.desktop
+      --prefix PATH ":" "${makeBinPath [ file ]}"
   '';
 
   meta = {
-    homepage    = http://pwmt.org/projects/zathura/;
+    homepage = https://pwmt.org/projects/zathura/;
     description = "A core component for zathura PDF viewer";
-    license     = licenses.zlib;
-    platforms   = platforms.unix;
+    license = licenses.zlib;
+    platforms = platforms.unix;
     maintainers = with maintainers; [ garbas ];
   };
 }
diff --git a/pkgs/applications/misc/zathura/core/icon.xpm b/pkgs/applications/misc/zathura/core/icon.xpm
deleted file mode 100644
index a863c5ddb09..00000000000
--- a/pkgs/applications/misc/zathura/core/icon.xpm
+++ /dev/null
@@ -1,120 +0,0 @@
-/* XPM */
-static char *freeimage[] = {
-/* width height num_colors chars_per_pixel */
-"16 16 96 2",
-/* colors */
-"   c #1e1e1e",
-" . c #222222",
-" X c #212121",
-" o c #535353",
-" O c #a4a4a4",
-" + c #202020",
-" @ c #252525",
-" # c #3c3c3c",
-" $ c #292929",
-" % c #979797",
-" & c #cccccc",
-" * c #303030",
-" = c #1f1f1f",
-" - c #494949",
-" ; c #dddddd",
-" : c #696969",
-" > c #232323",
-" , c #262626",
-" < c #adadad",
-" 1 c #bbbbbb",
-" 2 c #1d1d1d",
-" 3 c #1c1c1c",
-" 4 c #5e5e5e",
-" 5 c #e8e8e8",
-" 6 c #9c9c9c",
-" 7 c #242424",
-" 8 c #b1b1b1",
-" 9 c #b3b3b3",
-" 0 c #090909",
-" q c #161616",
-" w c #131313",
-" e c #4d4d4d",
-" r c #dedede",
-" t c #afafaf",
-" y c #282828",
-" u c #393939",
-" i c #c4c4c4",
-" p c #dcdcdc",
-" a c #9a9a9a",
-" s c #a2a2a2",
-" d c #ababab",
-" f c #313131",
-" g c #a7a7a7",
-" h c #e4e4e4",
-" j c #f2f2f2",
-" k c #eaeaea",
-" l c #e2e2e2",
-" z c #f0f0f0",
-" x c #d5d5d5",
-" c c #737373",
-" v c #323232",
-" b c #808080",
-" n c #7a7a7a",
-" m c #d3d3d3",
-" M c #e5e5e5",
-" N c #8a8a8a",
-" B c #cbcbcb",
-" V c #b5b5b5",
-" C c #b9b9b9",
-" Z c #272727",
-" A c #b4b4b4",
-" S c #bababa",
-" D c #2d2d2d",
-" F c #414141",
-" G c #444444",
-" H c #f4f4f4",
-" J c #838383",
-" K c #cfcfcf",
-" L c #fafafa",
-" P c #efefef",
-" I c #e3e3e3",
-" U c #8d8d8d",
-" Y c #656565",
-" T c #ffffff",
-" R c #fbfbfb",
-" E c #e9e9e9",
-" W c #bdbdbd",
-" Q c #e1e1e1",
-" ! c #dfdfdf",
-" ~ c #646464",
-" ^ c #3a3a3a",
-" / c #a1a1a1",
-" ( c #999999",
-" ) c #c0c0c0",
-" _ c #3b3b3b",
-" ` c #acacac",
-" ' c #050505",
-" ] c #151515",
-" [ c #1b1b1b",
-" { c #1a1a1a",
-" } c #b2b2b2",
-" | c #a5a5a5",
-".  c #c5c5c5",
-".. c #a6a6a6",
-".X c #bfbfbf",
-".o c #747474",
-/* pixels */
-"                                ",
-"   . . . X X X X . o O + X . .  ",
-"   . . X @ # $ . @ % & * = . .  ",
-"   . .   - ; : > , < 1 2 X . .  ",
-"   . . 3 4 5 6 7 7 8 9 0 q q 3  ",
-"   . + w e r t y u i p a s d 4  ",
-"   X f g h j k p l z z x g c v  ",
-"   X f b n m M N c B V 3 , > X  ",
-"   X X   w V C $ Z A S + $ , .  ",
-"   D F G u S H 1 J K L P I U @  ",
-"   Y T T T R E & W Q ! d g ~ 7  ",
-"   ^ / 6 ( ; ) _ 2 ` 8 ' ] [ X  ",
-"   + > 7 { A } 7 @ |.  $ + . .  ",
-"   X X X ].. 8 Z 7 n.X + X . .  ",
-"   . . . { n.o 7 . @ y X X . .  ",
-"                                "
-};
-
diff --git a/pkgs/applications/misc/zathura/djvu/default.nix b/pkgs/applications/misc/zathura/djvu/default.nix
index d280a10f618..58985dced42 100644
--- a/pkgs/applications/misc/zathura/djvu/default.nix
+++ b/pkgs/applications/misc/zathura/djvu/default.nix
@@ -1,29 +1,20 @@
-{ stdenv, fetchurl, pkgconfig, gtk, zathura_core, girara, djvulibre, gettext }:
+{ stdenv, fetchurl, meson, ninja, pkgconfig, gtk, zathura_core, girara, djvulibre, gettext }:
 
 stdenv.mkDerivation rec {
-  name = "zathura-djvu-0.2.7";
+  name = "zathura-djvu-0.2.8";
 
   src = fetchurl {
-    url = "http://pwmt.org/projects/zathura/plugins/download/${name}.tar.gz";
-    sha256 = "1sbfdsyp50qc85xc4458sn4w1rv1qbygdwmcr5kjlfpsmdq98vhd";
+    url = "https://pwmt.org/projects/zathura/plugins/download/${name}.tar.xz";
+    sha256 = "0axkv1crdxn0z44whaqp2ibkdqcykhjnxk7qzms0dp1b67an9rnh";
   };
 
-  nativeBuildInputs = [ pkgconfig ];
+  nativeBuildInputs = [ meson ninja pkgconfig ];
   buildInputs = [ djvulibre gettext zathura_core gtk girara ];
 
-  patches = [ ./gtkflags.patch ];
-
-  postPatch = stdenv.lib.optionalString stdenv.isDarwin ''
-    string1='-shared ''${LDFLAGS} -o $@ ''$(OBJECTS) ''${LIBS}'
-    string2='-Wl,-dylib_install_name,''${PLUGIN}.dylib -Wl,-bundle_loader,${zathura_core}/bin/.zathura-wrapped -bundle ''${LDFLAGS} -o $@ ''${OBJECTS} ''${LIBS}'
-    makefileC1=$(sed -r 's/\.so/.dylib/g' Makefile)
-    echo "''${makefileC1/$string1/$string2}" > Makefile
-  '';
-
-  makeFlags = [ "PREFIX=$(out)" "PLUGINDIR=$(out)/lib" ];
+  PKG_CONFIG_ZATHURA_PLUGINDIR = "lib/zathura";
 
   meta = with stdenv.lib; {
-    homepage = http://pwmt.org/projects/zathura/;
+    homepage = https://pwmt.org/projects/zathura-djvu/;
     description = "A zathura DJVU plugin";
     longDescription = ''
       The zathura-djvu plugin adds DjVu support to zathura by using the
diff --git a/pkgs/applications/misc/zathura/djvu/gtkflags.patch b/pkgs/applications/misc/zathura/djvu/gtkflags.patch
deleted file mode 100644
index 6e8819e6082..00000000000
--- a/pkgs/applications/misc/zathura/djvu/gtkflags.patch
+++ /dev/null
@@ -1,23 +0,0 @@
---- zathura-djvu-0.2.7.orig/config.mk	2017-12-21 14:20:24.000000000 +0100
-+++ zathura-djvu-0.2.7/config.mk	2017-12-31 00:41:02.580154770 +0100
-@@ -16,6 +16,9 @@
- DESKTOPPREFIX ?= ${PREFIX}/share/applications
- 
- # libs
-+GTK_INC ?= $(shell pkg-config --cflags gtk+-2.0)
-+GTK_LIB ?= $(shell pkg-config --libs gtk+-2.0)
-+
- CAIRO_INC ?= $(shell pkg-config --cflags cairo)
- CAIRO_LIB ?= $(shell pkg-config --libs cairo)
- 
-@@ -34,8 +37,8 @@
- PLUGINDIR = ${LIBDIR}/zathura
- endif
- 
--INCS = ${GIRARA_INC} ${GLIB_INC} ${DJVU_INC} ${CAIRO_INC} ${ZATHURA_INC}
--LIBS = ${GIRARA_LIB} ${GLIB_LIB} ${DJVU_LIB} ${CAIRO_LIB}
-+INCS = ${GIRARA_INC} ${GLIB_INC} ${DJVU_INC} ${CAIRO_INC} ${ZATHURA_INC} ${GTK_INC}
-+LIBS = ${GIRARA_LIB} ${GLIB_LIB} ${DJVU_LIB} ${CAIRO_LIB} ${GTK_LIB}
- 
- # pre-processor flags
- CPPFLAGS += -D_FILE_OFFSET_BITS=64
diff --git a/pkgs/applications/misc/zathura/pdf-mupdf/default.nix b/pkgs/applications/misc/zathura/pdf-mupdf/default.nix
index 1ca7644f60f..86fe453465a 100644
--- a/pkgs/applications/misc/zathura/pdf-mupdf/default.nix
+++ b/pkgs/applications/misc/zathura/pdf-mupdf/default.nix
@@ -1,35 +1,28 @@
-{ stdenv, lib, fetchurl, pkgconfig, zathura_core, gtk,
+{ stdenv, lib, meson, ninja, fetchurl, pkgconfig, zathura_core, cairo,
 gtk-mac-integration, girara, mupdf, openssl , libjpeg, jbig2dec,
 openjpeg, fetchpatch }:
 
 stdenv.mkDerivation rec {
-  version = "0.3.2";
+  version = "0.3.3";
   name = "zathura-pdf-mupdf-${version}";
 
   src = fetchurl {
-    url = "https://pwmt.org/projects/zathura-pdf-mupdf/download/${name}.tar.gz";
-    sha256 = "0xkajc3is7ncmb2fmymbzfgrran2bz12i7zsm1vvxhxds728h7ck";
+    url = "https://pwmt.org/projects/zathura-pdf-mupdf/download/${name}.tar.xz";
+    sha256 = "1zbdqimav4wfgimpy3nfzl10qj7vyv23rdy2z5z7z93jwbp2rc2j";
   };
 
-  nativeBuildInputs = [ pkgconfig ];
+  nativeBuildInputs = [ meson ninja pkgconfig ];
 
   buildInputs = [
-    zathura_core gtk girara openssl mupdf libjpeg jbig2dec openjpeg
+    zathura_core girara mupdf cairo
   ] ++ stdenv.lib.optional stdenv.isDarwin [
     gtk-mac-integration
   ];
 
-  postPatch = stdenv.lib.optionalString stdenv.isDarwin ''
-    string1='-shared ''${LDFLAGS} -o $@ ''$(OBJECTS) ''${LIBS}'
-    string2='-Wl,-dylib_install_name,''${PLUGIN}.dylib -Wl,-bundle_loader,${zathura_core}/bin/.zathura-wrapped -bundle ''${LDFLAGS} -o $@ ''${OBJECTS} ''${LIBS}'
-    makefileC1=$(sed -r 's/\.so/.dylib/g' Makefile)
-    echo "''${makefileC1/$string1/$string2}" > Makefile
-  '';
-
-  makeFlags = [ "PREFIX=$(out)" "PLUGINDIR=$(out)/lib" ];
+  PKG_CONFIG_ZATHURA_PLUGINDIR= "lib/zathura";
 
   meta = with lib; {
-    homepage = http://pwmt.org/projects/zathura/;
+    homepage = https://pwmt.org/projects/zathura-pdf-mupdf/;
     description = "A zathura PDF plugin (mupdf)";
     longDescription = ''
       The zathura-pdf-mupdf plugin adds PDF support to zathura by
diff --git a/pkgs/applications/misc/zathura/pdf-poppler/default.nix b/pkgs/applications/misc/zathura/pdf-poppler/default.nix
index 215ebdd7564..663e798ee0b 100644
--- a/pkgs/applications/misc/zathura/pdf-poppler/default.nix
+++ b/pkgs/applications/misc/zathura/pdf-poppler/default.nix
@@ -1,28 +1,21 @@
-{ stdenv, lib, fetchurl, pkgconfig, zathura_core, girara, poppler }:
+{ stdenv, lib, fetchurl, meson, ninja, pkgconfig, zathura_core, girara, poppler }:
 
 stdenv.mkDerivation rec {
-  version = "0.2.8";
+  version = "0.2.9";
   name = "zathura-pdf-poppler-${version}";
 
   src = fetchurl {
-    url = "http://pwmt.org/projects/zathura/plugins/download/${name}.tar.gz";
-    sha256 = "1m55m7s7f8ng8a7lmcw9z4n5zv7xk4vp9n6fp9j84z6rk2imf7a2";
+    url = "https://pwmt.org/projects/zathura/plugins/download/${name}.tar.xz";
+    sha256 = "1p4jcny0jniygns78mcf0nlm298dszh49qpmjmackrm6dq8hc25y";
   };
 
-  nativeBuildInputs = [ pkgconfig zathura_core ];
+  nativeBuildInputs = [ meson ninja pkgconfig zathura_core ];
   buildInputs = [ poppler girara ];
 
-  makeFlags = [ "PREFIX=$(out)" "PLUGINDIR=$(out)/lib" ];
-
-  postPatch = stdenv.lib.optionalString stdenv.isDarwin ''
-    string1='-shared ''${LDFLAGS} -o $@ ''$(OBJECTS) ''${LIBS}'
-    string2='-Wl,-dylib_install_name,''${PLUGIN}.dylib -Wl,-bundle_loader,${zathura_core}/bin/.zathura-wrapped -bundle ''${LDFLAGS} -o $@ ''${OBJECTS} ''${LIBS}'
-    makefileC1=$(sed -r 's/\.so/.dylib/g' Makefile)
-    echo "''${makefileC1/$string1/$string2}" > Makefile
-  '';
+  PKG_CONFIG_ZATHURA_PLUGINDIR = "lib/zathura";
 
   meta = with lib; {
-    homepage = http://pwmt.org/projects/zathura/;
+    homepage = https://pwmt.org/projects/zathura-pdf-poppler/;
     description = "A zathura PDF plugin (poppler)";
     longDescription = ''
       The zathura-pdf-poppler plugin adds PDF support to zathura by
diff --git a/pkgs/applications/misc/zathura/ps/default.nix b/pkgs/applications/misc/zathura/ps/default.nix
index c324deb28e0..07e4c5d715b 100644
--- a/pkgs/applications/misc/zathura/ps/default.nix
+++ b/pkgs/applications/misc/zathura/ps/default.nix
@@ -1,29 +1,20 @@
-{ stdenv, lib, fetchurl, pkgconfig, gtk2, zathura_core, girara, libspectre, gettext }:
+{ stdenv, lib, fetchurl, meson, ninja, pkgconfig, zathura_core, girara, libspectre, gettext }:
 
 stdenv.mkDerivation rec {
-  name = "zathura-ps-0.2.5";
+  name = "zathura-ps-0.2.6";
 
   src = fetchurl {
-    url = "http://pwmt.org/projects/zathura/plugins/download/${name}.tar.gz";
-    sha256 = "1x4knqja8pw2a5cb3y2209nr3iddj1z8nwasy48v5nprj61fdxqj";
+    url = "https://pwmt.org/projects/zathura/plugins/download/${name}.tar.xz";
+    sha256 = "0wygq89nyjrjnsq7vbpidqdsirjm6iq4w2rijzwpk2f83ys8bc3y";
   };
 
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ libspectre gettext zathura_core gtk2 girara ];
+  nativeBuildInputs = [ meson ninja pkgconfig gettext ];
+  buildInputs = [ libspectre zathura_core girara ];
 
-  patches = [ ./gtkflags.patch ];
-
-  postPatch = stdenv.lib.optionalString stdenv.isDarwin ''
-    makefileC1=$(sed -r 's/\.so/.dylib/g' Makefile)
-    makefileC2=$(echo "$makefileC1" | sed 's|-shared ''${LDFLAGS} -o $@ ''$(OBJECTS) ''${LIBS}|-Wl,-dylib_install_name,''${PLUGIN}.dylib -Wl,-bundle_loader,${zathura_core}/bin/.zathura-wrapped -bundle ''${LDFLAGS} -o $@ ''${OBJECTS} ''${LIBS}|g' )
-    echo "$makefileC2" > Makefile
-    echo "$makefileC2"
-  '';
-
-  makeFlags = [ "PREFIX=$(out)" "PLUGINDIR=$(out)/lib" ];
+  PKG_CONFIG_ZATHURA_PLUGINDIR = "lib/zathura";
 
   meta = with lib; {
-    homepage = http://pwmt.org/projects/zathura/;
+    homepage = https://pwmt.org/projects/zathura-ps/;
     description = "A zathura PS plugin";
     longDescription = ''
       The zathura-ps plugin adds PS support to zathura by using the
diff --git a/pkgs/applications/misc/zathura/ps/gtkflags.patch b/pkgs/applications/misc/zathura/ps/gtkflags.patch
deleted file mode 100644
index 1464d2c8373..00000000000
--- a/pkgs/applications/misc/zathura/ps/gtkflags.patch
+++ /dev/null
@@ -1,23 +0,0 @@
---- zathura-ps-0.2.5.orig/config.mk	2017-12-21 14:21:17.000000000 +0100
-+++ zathura-ps-0.2.5/config.mk	2017-12-31 01:05:17.507268817 +0100
-@@ -16,6 +16,9 @@
- DESKTOPPREFIX ?= ${PREFIX}/share/applications
- 
- # libs
-+GTK_INC ?= $(shell pkg-config --cflags gtk+-2.0)
-+GTK_LIB ?= $(shell pkg-config --libs gtk+-2.0)
-+
- CAIRO_INC ?= $(shell pkg-config --cflags cairo)
- CAIRO_LIB ?= $(shell pkg-config --libs cairo)
- 
-@@ -34,8 +37,8 @@
- PLUGINDIR = ${LIBDIR}/zathura
- endif
- 
--INCS = ${GLIB_INC} ${SPECTRE_INC} ${GIRARA_INC} ${CAIRO_INC} ${ZATHURA_INC}
--LIBS = ${GLIB_LIB} ${SPECTRE_LIB} ${GIRARA_LIB} ${CAIRO_LIB}
-+INCS = ${GLIB_INC} ${SPECTRE_INC} ${GIRARA_INC} ${CAIRO_INC} ${ZATHURA_INC} ${GTK_INC}
-+LIBS = ${GLIB_LIB} ${SPECTRE_LIB} ${GIRARA_LIB} ${CAIRO_LIB } ${GTK_LIB}
- 
- # compiler flags
- CFLAGS += -std=c11 -fPIC -pedantic -Wall -Wno-format-zero-length $(INCS)
diff --git a/pkgs/applications/misc/zathura/wrapper.nix b/pkgs/applications/misc/zathura/wrapper.nix
index 2fd7d58e63e..64f617782f2 100644
--- a/pkgs/applications/misc/zathura/wrapper.nix
+++ b/pkgs/applications/misc/zathura/wrapper.nix
@@ -1,7 +1,7 @@
 { symlinkJoin, lib, makeWrapper, zathura_core, plugins ? [] }:
 
 let
-  pluginsPath = lib.makeLibraryPath plugins;
+  pluginsPath = lib.makeSearchPath "lib/zathura" plugins;
 
 in symlinkJoin {
   name = "zathura-with-plugins-${zathura_core.version}";
diff --git a/pkgs/applications/networking/browsers/chromium/browser.nix b/pkgs/applications/networking/browsers/chromium/browser.nix
index e35d894e0e7..cca26b54124 100644
--- a/pkgs/applications/networking/browsers/chromium/browser.nix
+++ b/pkgs/applications/networking/browsers/chromium/browser.nix
@@ -51,5 +51,6 @@ mkChromiumDerivation (base: rec {
     license = licenses.bsd3;
     platforms = platforms.linux;
     hydraPlatforms = if channel == "stable" then ["aarch64-linux" "x86_64-linux"] else [];
+    timeout = 86400; # 24 hours
   };
 })
diff --git a/pkgs/applications/networking/browsers/chromium/common.nix b/pkgs/applications/networking/browsers/chromium/common.nix
index 1291e5c4e91..923084a5738 100644
--- a/pkgs/applications/networking/browsers/chromium/common.nix
+++ b/pkgs/applications/networking/browsers/chromium/common.nix
@@ -12,7 +12,7 @@
 , utillinux, alsaLib
 , bison, gperf
 , glib, gtk2, gtk3, dbus-glib
-, libXScrnSaver, libXcursor, libXtst, libGLU_combined 
+, libXScrnSaver, libXcursor, libXtst, libGLU_combined
 , protobuf, speechd, libXdamage, cups
 , ffmpeg, harfbuzz, harfbuzz-icu, libxslt, libxml2
 
@@ -139,28 +139,26 @@ let
 
     patches = [
       ./patches/nix_plugin_paths_52.patch
-      # To enable ChromeCast, go to chrome://flags and set "Load Media Router Component Extension" to Enabled
-      # Fixes Chromecast: https://bugs.chromium.org/p/chromium/issues/detail?id=734325
-      ./patches/fix_network_api_crash.patch
       # As major versions are added, you can trawl the gentoo and arch repos at
       # https://gitweb.gentoo.org/repo/gentoo.git/plain/www-client/chromium/
       # https://git.archlinux.org/svntogit/packages.git/tree/trunk?h=packages/chromium
       # for updated patches and hints about build flags
-
     # (gentooPatch "<patch>" "0000000000000000000000000000000000000000000000000000000000000000")
-    ]  ++ optionals (versionRange "64" "65") [
-      (gentooPatch "chromium-cups-r0.patch" "0hyjlfh062c8h54j4b27y4dq5yzd4w6mxzywk3s02yf6cj3cbkrl")
-      (gentooPatch "chromium-angle-r0.patch" "0izdrqwsyr48117dhvwdsk8c6dkrnq2njida1q4mb1lagvwbz7gc")
-      # missing ninja dep https://github.com/NixOS/nixpkgs/issues/35296#issuecomment-368666833
-      (githubPatch "b1e3cfd4f9bfe43a1e08c5670b51c8c80d3e6372" "17vih86rpsy282r8ikrf2q5gfjdwqzvyn8859i75xzvl8agyhbaa")
-    ]  ++ optionals (versionRange "65" "66") [
-      #(gentooPatch "chromium-gcc-r0.patch" "127xdwabizn5gz8rf1qsw62i7m0b5bsfjqxv4kdbsnizmjanddf8")
-      #(gentooPatch "chromium-memcpy-r0.patch" "1d3vra59wjg2lva7ddv55ff6l57mk9k50llsplr0b7vxk0lh0ps5")
-      (gentooPatch "chromium-webrtc-r0.patch" "0qj5b4w9kav51ylpdf38vm5w7p2gx4qp8p45vrfggp7miicg9cmw")
-      #(gentooPatch "chromium-vulkan-r0.patch" "1wphsbc6kyck5qanbc4bv14iw2s67fvp1c0kwz29a2avzkz19s84")
-      #(gentooPatch "chromium-ffmpeg-r0.patch" "0j58g24j6n6vpy6v9wwv34x0dd43m52wg0xcrfkzp72km9wiahff")
-      #(gentooPatch "<patch>" "0000000000000000000000000000000000000000000000000000000000000000")
-    ]  ++ optional enableWideVine ./patches/widevine.patch;
+    ]  ++ optionals (versionRange "66" "67") [
+      (gentooPatch "chromium-webrtc-r0.patch" "0wp4zivbv2wpgiwmiznbq1aw4w98mvwjvdy36cpfmnvr8yw430pd")
+      (gentooPatch "chromium-ffmpeg-r1.patch" "1k8agaqsvg0w0s6s5wh346ih02cc86vr0vwyshw2q9vafa0jvmq4")
+      # GCC 7 fixes
+      (githubPatch "f64fadcd79aebe5ed893ecbf258d1123609d28f8" "1h255w1v327r08cnifs19s4bwmkinqjmdmbwihddc5dyl43sjnvv")
+      (githubPatch "ede5178322ccd297b0ad82ae4c59119ceaab9ea5" "0rsal0dy0yhgs4lhn8h1vy1s77xcssy4f5wals7hvrz5m08jqizj")
+      (githubPatch "7d721f438acb38db556ae9a9e6e8b718bd503216" "13lzvxm63zq3rd8p387ylq4bm9wr4r09vk2w4p81f838pf0v1kbj")
+      (githubPatch "ba4141e451f4e0b1b19410b1b503bd32e150df06" "1cjxw1f9fin6z12b0mcxnxf2mdjb0n3chwz7mgvmp9yij8qhqnxj")
+      (githubPatch "b34ed1e6524479d61ee944ebf6ca7389ea47e563" "1s13zw93nsyr259dzck6gbhg4x46qg5sg14djf4bvrrc6hlkiczw")
+      (githubPatch "4f2b52281ce1649ea8347489443965ad33262ecc" "1g59izkicn9cpcphamdgrijs306h5b9i7i4pmy134asn1ifiax5z")
+    ] ++ optional enableWideVine ./patches/widevine.patch
+      ++ optionals (stdenv.isAarch64 && versionRange "65" "67") [
+        ./patches/skia_buildfix.patch
+        ./patches/neon_buildfix.patch
+    ];
 
     postPatch = ''
       # We want to be able to specify where the sandbox is via CHROME_DEVEL_SANDBOX
diff --git a/pkgs/applications/networking/browsers/chromium/default.nix b/pkgs/applications/networking/browsers/chromium/default.nix
index 1f6eb7c178f..1458a181656 100644
--- a/pkgs/applications/networking/browsers/chromium/default.nix
+++ b/pkgs/applications/networking/browsers/chromium/default.nix
@@ -90,7 +90,7 @@ in stdenv.mkDerivation {
     mkdir -p "$out/bin"
 
     eval makeWrapper "${browserBinary}" "$out/bin/chromium" \
-      ${commandLineArgs} \
+      --add-flags ${escapeShellArg (escapeShellArg commandLineArgs)} \
       ${concatMapStringsSep " " getWrapperFlags chromium.plugins.enabled}
 
     ed -v -s "$out/bin/chromium" << EOF
diff --git a/pkgs/applications/networking/browsers/chromium/patches/chromium-gcc5-r4.patch b/pkgs/applications/networking/browsers/chromium/patches/chromium-gcc5-r4.patch
deleted file mode 100644
index cb978d58a06..00000000000
--- a/pkgs/applications/networking/browsers/chromium/patches/chromium-gcc5-r4.patch
+++ /dev/null
@@ -1,98 +0,0 @@
---- a/third_party/WebKit/Source/platform/wtf/typed_arrays/ArrayBufferContents.h
-+++ b/third_party/WebKit/Source/platform/wtf/typed_arrays/ArrayBufferContents.h
-@@ -63,7 +63,7 @@ class WTF_EXPORT ArrayBufferContents {
-           allocation_length_(0),
-           data_(data),
-           data_length_(0),
--          kind_(AllocationKind::kNormal),
-+          kind_(WTF::ArrayBufferContents::AllocationKind::kNormal),
-           deleter_(deleter) {}
-     DataHandle(void* allocation_base,
-                size_t allocation_length,
-@@ -94,11 +94,11 @@ class WTF_EXPORT ArrayBufferContents {
-              reinterpret_cast<uintptr_t>(allocation_base_) +
-                  allocation_length_);
-       switch (kind_) {
--        case AllocationKind::kNormal:
-+        case WTF::ArrayBufferContents::AllocationKind::kNormal:
-           DCHECK(deleter_);
-           deleter_(data_);
-           return;
--        case AllocationKind::kReservation:
-+        case WTF::ArrayBufferContents::AllocationKind::kReservation:
-           ReleaseReservedMemory(allocation_base_, allocation_length_);
-           return;
-       }
---- a/third_party/webrtc/modules/audio_processing/aec3/aec_state.cc.orig	2017-08-15 12:45:59.433532111 +0000
-+++ b/third_party/webrtc/modules/audio_processing/aec3/aec_state.cc	2017-08-15 17:52:59.691328825 +0000
-@@ -10,7 +10,7 @@
- 
- #include "webrtc/modules/audio_processing/aec3/aec_state.h"
- 
--#include <math.h>
-+#include <cmath>
- #include <numeric>
- #include <vector>
- 
---- a/gpu/ipc/common/mailbox_struct_traits.h
-+++ b/gpu/ipc/common/mailbox_struct_traits.h
-@@ -15,7 +15,7 @@ namespace mojo {
- template <>
- struct StructTraits<gpu::mojom::MailboxDataView, gpu::Mailbox> {
-   static base::span<const int8_t> name(const gpu::Mailbox& mailbox) {
--    return mailbox.name;
-+    return base::make_span(mailbox.name);
-   }
-   static bool Read(gpu::mojom::MailboxDataView data, gpu::Mailbox* out);
- };
---- a/services/viz/public/cpp/compositing/filter_operation_struct_traits.h
-+++ b/services/viz/public/cpp/compositing/filter_operation_struct_traits.h
-@@ -134,7 +134,7 @@ struct StructTraits<viz::mojom::FilterOperationDataView, cc::FilterOperation> {
-   static base::span<const float> matrix(const cc::FilterOperation& operation) {
-     if (operation.type() != cc::FilterOperation::COLOR_MATRIX)
-       return base::span<const float>();
--    return operation.matrix();
-+    return base::make_span(operation.matrix());
-   }
- 
-   static base::span<const gfx::Rect> shape(
---- a/services/viz/public/cpp/compositing/quads_struct_traits.h
-+++ b/services/viz/public/cpp/compositing/quads_struct_traits.h
-@@ -303,7 +303,7 @@ struct StructTraits<viz::mojom::TextureQuadStateDataView, viz::DrawQuad> {
-   static base::span<const float> vertex_opacity(const viz::DrawQuad& input) {
-     const viz::TextureDrawQuad* quad =
-         viz::TextureDrawQuad::MaterialCast(&input);
--    return quad->vertex_opacity;
-+    return base::make_span(quad->vertex_opacity);
-   }
-
-   static bool y_flipped(const viz::DrawQuad& input) {
---- a/third_party/WebKit/Source/platform/exported/WebCORS.cpp
-+++ b/third_party/WebKit/Source/platform/exported/WebCORS.cpp
-@@ -480,7 +480,7 @@ WebString AccessControlErrorString(
-     }
-     default:
-       NOTREACHED();
--      return "";
-+      return WebString();
-   }
- }
- 
-@@ -512,7 +512,7 @@ WebString PreflightErrorString(const PreflightStatus status,
-     }
-     default:
-       NOTREACHED();
--      return "";
-+      return WebString();
-   }
- }
- 
-@@ -533,7 +533,7 @@ WebString RedirectErrorString(const RedirectStatus status,
-     }
-     default:
-       NOTREACHED();
--      return "";
-+      return WebString();
-   }
- }
- 
diff --git a/pkgs/applications/networking/browsers/chromium/patches/constexpr-fix.patch b/pkgs/applications/networking/browsers/chromium/patches/constexpr-fix.patch
deleted file mode 100644
index 9f187752ea6..00000000000
--- a/pkgs/applications/networking/browsers/chromium/patches/constexpr-fix.patch
+++ /dev/null
@@ -1,98 +0,0 @@
-From aab2cc3a20af9ebe9ddb8dfd15089f131f95817f Mon Sep 17 00:00:00 2001
-From: Tomas Popela <tomas.popela@gmail.com>
-Date: Fri, 20 Oct 2017 14:06:42 +0200
-Subject: [PATCH] Fix the build of base/numerics with GCC
-
-Initialize the uninitialized variables where the build is failing.
-
-BUG=776705
-
-Change-Id: I5782e18086a752b3676f8738930bf0553f3f97ad
----
- base/numerics/checked_math_impl.h |  6 +++---
- base/numerics/clamped_math_impl.h | 10 +++++-----
- 2 files changed, 8 insertions(+), 8 deletions(-)
-
-diff --git a/base/numerics/checked_math_impl.h b/base/numerics/checked_math_impl.h
-index 2926b37b5e..e083389ebf 100644
---- a/base/numerics/checked_math_impl.h
-+++ b/base/numerics/checked_math_impl.h
-@@ -67,7 +67,7 @@ struct CheckedAddOp<T,
-       return false;
-     }
- 
--    Promotion presult;
-+    Promotion presult = {};
-     bool is_valid = true;
-     if (IsIntegerArithmeticSafe<Promotion, T, U>::value) {
-       presult = static_cast<Promotion>(x) + static_cast<Promotion>(y);
-@@ -127,7 +127,7 @@ struct CheckedSubOp<T,
-       return false;
-     }
- 
--    Promotion presult;
-+    Promotion presult = {};
-     bool is_valid = true;
-     if (IsIntegerArithmeticSafe<Promotion, T, U>::value) {
-       presult = static_cast<Promotion>(x) - static_cast<Promotion>(y);
-@@ -183,7 +183,7 @@ struct CheckedMulOp<T,
-       return false;
-     }
- 
--    Promotion presult;
-+    Promotion presult = {};
-     bool is_valid = true;
-     if (CheckedMulFastOp<Promotion, Promotion>::is_supported) {
-       // The fast op may be available with the promoted type.
-diff --git a/base/numerics/clamped_math_impl.h b/base/numerics/clamped_math_impl.h
-index 7b5e4346f2..303a7e945a 100644
---- a/base/numerics/clamped_math_impl.h
-+++ b/base/numerics/clamped_math_impl.h
-@@ -87,7 +87,7 @@ struct ClampedAddOp<T,
-                   "The saturation result cannot be determined from the "
-                   "provided types.");
-     const V saturated = CommonMaxOrMin<V>(IsValueNegative(y));
--    V result;
-+    V result = {};
-     return BASE_NUMERICS_LIKELY((CheckedAddOp<T, U>::Do(x, y, &result)))
-                ? result
-                : saturated;
-@@ -114,7 +114,7 @@ struct ClampedSubOp<T,
-                   "The saturation result cannot be determined from the "
-                   "provided types.");
-     const V saturated = CommonMaxOrMin<V>(!IsValueNegative(y));
--    V result;
-+    V result = {};
-     return BASE_NUMERICS_LIKELY((CheckedSubOp<T, U>::Do(x, y, &result)))
-                ? result
-                : saturated;
-@@ -136,7 +136,7 @@ struct ClampedMulOp<T,
-     if (ClampedMulFastOp<T, U>::is_supported)
-       return ClampedMulFastOp<T, U>::template Do<V>(x, y);
- 
--    V result;
-+    V result = {};
-     const V saturated =
-         CommonMaxOrMin<V>(IsValueNegative(x) ^ IsValueNegative(y));
-     return BASE_NUMERICS_LIKELY((CheckedMulOp<T, U>::Do(x, y, &result)))
-@@ -156,7 +156,7 @@ struct ClampedDivOp<T,
-   using result_type = typename MaxExponentPromotion<T, U>::type;
-   template <typename V = result_type>
-   static constexpr V Do(T x, U y) {
--    V result;
-+    V result = {};
-     if (BASE_NUMERICS_LIKELY((CheckedDivOp<T, U>::Do(x, y, &result))))
-       return result;
-     // Saturation goes to max, min, or NaN (if x is zero).
-@@ -176,7 +176,7 @@ struct ClampedModOp<T,
-   using result_type = typename MaxExponentPromotion<T, U>::type;
-   template <typename V = result_type>
-   static constexpr V Do(T x, U y) {
--    V result;
-+    V result = {};
-     return BASE_NUMERICS_LIKELY((CheckedModOp<T, U>::Do(x, y, &result)))
-                ? result
-                : x;
--- 
-2.14.2
-
diff --git a/pkgs/applications/networking/browsers/chromium/patches/fix_network_api_crash.patch b/pkgs/applications/networking/browsers/chromium/patches/fix_network_api_crash.patch
deleted file mode 100644
index 093598465c4..00000000000
--- a/pkgs/applications/networking/browsers/chromium/patches/fix_network_api_crash.patch
+++ /dev/null
@@ -1,77 +0,0 @@
-Index: extensions/browser/api/networking_private/networking_private_linux.cc
-===================================================================
---- a/extensions/browser/api/networking_private/networking_private_linux.cc.orig	2016-05-05 03:01:50.000000000 +0200
-+++ b/extensions/browser/api/networking_private/networking_private_linux.cc	2016-05-10 16:16:42.431052917 +0200
-@@ -215,12 +215,14 @@ void NetworkingPrivateLinux::GetState(
-   std::unique_ptr<base::DictionaryValue> network_properties(
-       new base::DictionaryValue);
- 
-+  std::string* erp = error.get();
-+  base::DictionaryValue* npp = network_properties.get();
-   // Runs GetCachedNetworkProperties on |dbus_thread|.
-   dbus_thread_.task_runner()->PostTaskAndReply(
-       FROM_HERE, base::Bind(&NetworkingPrivateLinux::GetCachedNetworkProperties,
-                             base::Unretained(this), guid,
--                            base::Unretained(network_properties.get()),
--                            base::Unretained(error.get())),
-+                            base::Unretained(npp),
-+                            base::Unretained(erp)),
-       base::Bind(&GetCachedNetworkPropertiesCallback, base::Passed(&error),
-                  base::Passed(&network_properties), success_callback,
-                  failure_callback));
-@@ -301,11 +303,12 @@ void NetworkingPrivateLinux::GetNetworks
- 
-   // Runs GetAllWiFiAccessPoints on the dbus_thread and returns the
-   // results back to OnAccessPointsFound where the callback is fired.
-+  NetworkMap* nmp = network_map.get();
-   dbus_thread_.task_runner()->PostTaskAndReply(
-       FROM_HERE,
-       base::Bind(&NetworkingPrivateLinux::GetAllWiFiAccessPoints,
-                  base::Unretained(this), configured_only, visible_only, limit,
--                 base::Unretained(network_map.get())),
-+                 base::Unretained(nmp)),
-       base::Bind(&NetworkingPrivateLinux::OnAccessPointsFound,
-                  base::Unretained(this), base::Passed(&network_map),
-                  success_callback, failure_callback));
-@@ -321,11 +324,12 @@ bool NetworkingPrivateLinux::GetNetworks
-   // Runs GetAllWiFiAccessPoints on the dbus_thread and returns the
-   // results back to SendNetworkListChangedEvent to fire the event. No
-   // callbacks are used in this case.
-+  NetworkMap* nmp = network_map.get();
-   dbus_thread_.task_runner()->PostTaskAndReply(
-       FROM_HERE, base::Bind(&NetworkingPrivateLinux::GetAllWiFiAccessPoints,
-                             base::Unretained(this), false /* configured_only */,
-                             false /* visible_only */, 0 /* limit */,
--                            base::Unretained(network_map.get())),
-+                            base::Unretained(nmp)),
-       base::Bind(&NetworkingPrivateLinux::OnAccessPointsFoundViaScan,
-                  base::Unretained(this), base::Passed(&network_map)));
- 
-@@ -506,11 +510,12 @@ void NetworkingPrivateLinux::StartConnec
- 
-   std::unique_ptr<std::string> error(new std::string);
- 
-+  std::string* erp = error.get();
-   // Runs ConnectToNetwork on |dbus_thread|.
-   dbus_thread_.task_runner()->PostTaskAndReply(
-       FROM_HERE,
-       base::Bind(&NetworkingPrivateLinux::ConnectToNetwork,
--                 base::Unretained(this), guid, base::Unretained(error.get())),
-+                 base::Unretained(this), guid, base::Unretained(erp)),
-       base::Bind(&OnNetworkConnectOperationCompleted, base::Passed(&error),
-                  success_callback, failure_callback));
- }
-@@ -524,11 +529,12 @@ void NetworkingPrivateLinux::StartDiscon
- 
-   std::unique_ptr<std::string> error(new std::string);
- 
-+  std::string* erp = error.get();
-   // Runs DisconnectFromNetwork on |dbus_thread|.
-   dbus_thread_.task_runner()->PostTaskAndReply(
-       FROM_HERE,
-       base::Bind(&NetworkingPrivateLinux::DisconnectFromNetwork,
--                 base::Unretained(this), guid, base::Unretained(error.get())),
-+                 base::Unretained(this), guid, base::Unretained(erp)),
-       base::Bind(&OnNetworkConnectOperationCompleted, base::Passed(&error),
-                  success_callback, failure_callback));
- }
diff --git a/pkgs/applications/networking/browsers/chromium/patches/include-math-for-round.patch b/pkgs/applications/networking/browsers/chromium/patches/include-math-for-round.patch
deleted file mode 100644
index 530493dcd0f..00000000000
--- a/pkgs/applications/networking/browsers/chromium/patches/include-math-for-round.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From 7f90e2cceda0458cf56026eb6ccffb961a47804b Mon Sep 17 00:00:00 2001
-From: Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com>
-Date: Fri, 13 Oct 2017 15:49:32 +0200
-Subject: [PATCH] IWYU: Include math.h for round(3).
-
-math.h was being implicitly included, which can break the build with
-alternative libc implementations.
-
-Bug: None
-Change-Id: I969b320b65d0f44abb33d3e1036cfbcb859a4952
-Reviewed-on: https://webrtc-review.googlesource.com/9384
-Reviewed-by: Tommi <tommi@webrtc.org>
-Commit-Queue: Raphael Kubo da Costa (rakuco) <raphael.kubo.da.costa@intel.com>
-Cr-Commit-Position: refs/heads/master@{#20292}
----
- p2p/base/port.cc | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/third_party/webrtc/p2p/base/port.cc b/third_party/webrtc/p2p/base/port.cc
-index a1b478d11..81aa0aadb 100644
---- a/third_party/webrtc/p2p/base/port.cc
-+++ b/third_party/webrtc/p2p/base/port.cc
-@@ -10,6 +10,8 @@
- 
- #include "p2p/base/port.h"
- 
-+#include <math.h>
-+
- #include <algorithm>
- #include <vector>
- 
--- 
-2.15.0
-
diff --git a/pkgs/applications/networking/browsers/chromium/patches/neon_buildfix.patch b/pkgs/applications/networking/browsers/chromium/patches/neon_buildfix.patch
new file mode 100644
index 00000000000..b44487ca634
--- /dev/null
+++ b/pkgs/applications/networking/browsers/chromium/patches/neon_buildfix.patch
@@ -0,0 +1,21 @@
+diff --git a/skia/ext/convolver_neon.cc b/skia/ext/convolver_neon.cc
+index 26b91b9..cae6bc2 100644
+--- a/skia/ext/convolver_neon.cc
++++ b/skia/ext/convolver_neon.cc
+
+@@ -23,7 +23,7 @@
+     remainder[2] += coeff * pixels_left[i * 4 + 2];
+     remainder[3] += coeff * pixels_left[i * 4 + 3];
+   }
+-  return {remainder[0], remainder[1], remainder[2], remainder[3]};
++  return vld1q_s32(remainder);
+ }
+ 
+ // Convolves horizontally along a single row. The row data is given in
+@@ -336,4 +336,4 @@
+   }
+ }
+ 
+-}  // namespace skia
+\ No newline at end of file
++}  // namespace skia
diff --git a/pkgs/applications/networking/browsers/chromium/patches/skia_buildfix.patch b/pkgs/applications/networking/browsers/chromium/patches/skia_buildfix.patch
new file mode 100644
index 00000000000..5348b9ac905
--- /dev/null
+++ b/pkgs/applications/networking/browsers/chromium/patches/skia_buildfix.patch
@@ -0,0 +1,22 @@
+Index: chromium-browser-65.0.3325.73/third_party/skia/src/jumper/SkJumper_stages.cpp
+===================================================================
+--- chromium-browser-65.0.3325.73.orig/third_party/skia/src/jumper/SkJumper_stages.cpp
++++ chromium-browser-65.0.3325.73/third_party/skia/src/jumper/SkJumper_stages.cpp
+@@ -666,7 +666,7 @@ SI F approx_powf(F x, F y) {
+ }
+ 
+ SI F from_half(U16 h) {
+-#if defined(__aarch64__) && !defined(SK_BUILD_FOR_GOOGLE3)  // Temporary workaround for some Google3 builds.
++#if defined(JUMPER_IS_NEON) && defined(__aarch64__) && !defined(SK_BUILD_FOR_GOOGLE3)  // Temporary workaround for some Google3 builds.
+     return vcvt_f32_f16(h);
+ 
+ #elif defined(JUMPER_IS_HSW) || defined(JUMPER_IS_AVX512)
+@@ -686,7 +686,7 @@ SI F from_half(U16 h) {
+ }
+ 
+ SI U16 to_half(F f) {
+-#if defined(__aarch64__) && !defined(SK_BUILD_FOR_GOOGLE3)  // Temporary workaround for some Google3 builds.
++#if defined(JUMPER_IS_NEON) && defined(__aarch64__) && !defined(SK_BUILD_FOR_GOOGLE3)  // Temporary workaround for some Google3 builds.
+     return vcvt_f16_f32(f);
+ 
+ #elif defined(JUMPER_IS_HSW) || defined(JUMPER_IS_AVX512)
diff --git a/pkgs/applications/networking/browsers/chromium/plugins.nix b/pkgs/applications/networking/browsers/chromium/plugins.nix
index bac4a361a19..cb2121553ac 100644
--- a/pkgs/applications/networking/browsers/chromium/plugins.nix
+++ b/pkgs/applications/networking/browsers/chromium/plugins.nix
@@ -98,12 +98,12 @@ let
 
   flash = stdenv.mkDerivation rec {
     name = "flashplayer-ppapi-${version}";
-    version = "28.0.0.161";
+    version = "29.0.0.171";
 
     src = fetchzip {
       url = "https://fpdownload.adobe.com/pub/flashplayer/pdc/"
           + "${version}/flash_player_ppapi_linux.x86_64.tar.gz";
-      sha256 = "0xhfr2mqmg71dxnsq4x716hzkryj2dmmlzgyi8hf7s999p7x8djw";
+      sha256 = "1j7w81wjfrpkir11m719jdahnbnw4sph448hs90hvai6rsn3imib";
       stripRoot = false;
     };
 
diff --git a/pkgs/applications/networking/browsers/chromium/upstream-info.nix b/pkgs/applications/networking/browsers/chromium/upstream-info.nix
index bca9e1c9a1c..7be5d259115 100644
--- a/pkgs/applications/networking/browsers/chromium/upstream-info.nix
+++ b/pkgs/applications/networking/browsers/chromium/upstream-info.nix
@@ -1,18 +1,18 @@
 # This file is autogenerated from update.sh in the same directory.
 {
   beta = {
-    sha256 = "1kdv6r3cmy7lqynnk4ylkn81x91wkv2k3hqh41sb50h65s7h9b3y";
-    sha256bin64 = "18bralcc4frapglcfa5az3z8i74calrblf4zzavisvpkmnil7ypa";
-    version = "65.0.3325.88";
+    sha256 = "136gx9qqbzfzaf19k0gxb8n4ypd4ycyr83i9v68nqdvy2k26vf4n";
+    sha256bin64 = "0w628afj5k4xygizlznwxkljgc1prxqc3lanaz6gdmyrl7gk1s7n";
+    version = "67.0.3396.18";
   };
   dev = {
-    sha256 = "1ykg5c3bayv6pwz74dglxcmbsalz6p04c3r0y15xkw2iyv5jjcam";
-    sha256bin64 = "1phw755ra3pckvhapm26amr6b3652k8f7sxanjyq118zkpga21w2";
-    version = "66.0.3350.0";
+    sha256 = "1yspf0n385ail9qxsmax58mfk5yi473ygsraqs83q30pfgxc5z2f";
+    sha256bin64 = "1gi1xpnjwkg7sxv94ksv6fiymw13rxdq2hyvza8b9famvfcaz07j";
+    version = "68.0.3409.2";
   };
   stable = {
-    sha256 = "0q0q1whspmzyln04gxhgl3jd2vrgb4imh8r9qw6c06i3b63j3l2z";
-    sha256bin64 = "1sq8mmdw32n00swm4q9q5q3vw6q5sp8yiaxag4rbzvxkfnr3vi4g";
-    version = "64.0.3282.186";
+    sha256 = "1ck4wbi28702p1lfs4sz894ysbgm7fj79wrqj8srsy65z2ssaxdy";
+    sha256bin64 = "1vgrgay3h0961vj96ql2p0pb16gzfr48r4hk25rxdqbflnz7njz0";
+    version = "66.0.3359.139";
   };
 }
diff --git a/pkgs/applications/networking/browsers/dwb/default.nix b/pkgs/applications/networking/browsers/dwb/default.nix
deleted file mode 100644
index ec585e53fd2..00000000000
--- a/pkgs/applications/networking/browsers/dwb/default.nix
+++ /dev/null
@@ -1,35 +0,0 @@
-{ stdenv, fetchgit, pkgconfig, makeWrapper, libsoup, webkitgtk24x-gtk2, gtk2, gnutls
-, json_c, m4, glib-networking, gsettings-desktop-schemas, dconf }:
-
-stdenv.mkDerivation {
-  name = "dwb-2016-03-21";
-
-  src = fetchgit {
-    url = "https://bitbucket.org/portix/dwb";
-    rev = "7fb82bc1db36a5d1d2436088c9b58054d2c51f96";
-    sha256 = "1wg7pslcx7z4fw595a3nbnygxy2bwfj0h377i48mxhddvl3wzzbq";
-  };
-
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ makeWrapper gsettings-desktop-schemas libsoup
-    webkitgtk24x-gtk2 gtk2 gnutls json_c m4 ];
-
-  # There are Xlib and gtk warnings therefore I have set Wno-error
-  makeFlags = ''PREFIX=$(out) GTK=2 CPPFLAGS="-Wno-error"'';
-
-  preFixup=''
-    wrapProgram "$out/bin/dwb" \
-     --prefix GIO_EXTRA_MODULES : "${glib-networking.out}/lib/gio/modules:${stdenv.lib.getLib dconf}/lib/gio/modules" \
-     --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH:$out/share"
-    wrapProgram "$out/bin/dwbem" \
-     --prefix GIO_EXTRA_MODULES : "${glib-networking.out}/lib/gio/modules"
-  '';
-
-  meta = with stdenv.lib; {
-    homepage = http://portix.bitbucket.org/dwb/;
-    description = "A lightweight web browser based on the webkit web browser engine and the gtk toolkit";
-    platforms = platforms.mesaPlatforms;
-    maintainers = with maintainers; [ pSub ];
-    license = licenses.gpl3;
-  };
-}
diff --git a/pkgs/applications/networking/browsers/eolie/0001-Remove-post-install-script-handle-in-nix-config-inst.patch b/pkgs/applications/networking/browsers/eolie/0001-Remove-post-install-script-handle-in-nix-config-inst.patch
deleted file mode 100644
index 770cd8afa9e..00000000000
--- a/pkgs/applications/networking/browsers/eolie/0001-Remove-post-install-script-handle-in-nix-config-inst.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-From a79d2dcd1b6275904193454fb9d68614813929f3 Mon Sep 17 00:00:00 2001
-From: Sam Parkinson <sam@sam.today>
-Date: Mon, 27 Nov 2017 11:17:35 +1100
-Subject: [PATCH] Remove post install script - handle in nix config instead
-
----
- meson.build | 2 --
- 1 file changed, 2 deletions(-)
-
-diff --git a/meson.build b/meson.build
-index fc45296..2227f1f 100644
---- a/meson.build
-+++ b/meson.build
-@@ -53,5 +53,3 @@ configure_file(
-   configuration: conf,
-   install_dir: bindir
- )
--
--meson.add_install_script('meson_post_install.py')
--- 
-2.15.0
-
-
diff --git a/pkgs/applications/networking/browsers/eolie/default.nix b/pkgs/applications/networking/browsers/eolie/default.nix
index d1741774d34..9d4c858298d 100644
--- a/pkgs/applications/networking/browsers/eolie/default.nix
+++ b/pkgs/applications/networking/browsers/eolie/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchgit, intltool, itstool, meson, ninja, pkgconfig, wrapGAppsHook
-, git, glib, glib-networking, gsettings-desktop-schemas, gst_all_1, gtk3
+, glib, glib-networking, gsettings-desktop-schemas, gst_all_1, gtk3, gobjectIntrospection
 , gtkspell3, libsecret, python36, python36Packages, webkitgtk }:
 
 stdenv.mkDerivation rec {
@@ -7,7 +7,7 @@ stdenv.mkDerivation rec {
   version = "0.9.16";
 
   src = fetchgit {
-    url = "https://gitlab.gnome.org/gnumdk/eolie";
+    url = https://gitlab.gnome.org/gnumdk/eolie;
     rev = version;
     sha256 = "0mvhr6hy4nx7xaq9r9qp5rb0y293kjjryw5ykzb473cr3iwzk25b";
   };
@@ -19,10 +19,11 @@ stdenv.mkDerivation rec {
     ninja
     pkgconfig
     wrapGAppsHook
+    gobjectIntrospection
   ];
 
   buildInputs = [
-    git # required to download ad blocking DB
+    glib
     glib-networking
     gsettings-desktop-schemas
     gst_all_1.gstreamer
@@ -47,20 +48,18 @@ stdenv.mkDerivation rec {
 
   wrapPrefixVariables = [ "PYTHONPATH" ];
 
-  enableParallelBuilding = true;
-
-  postInstall = ''
-    ${glib.dev}/bin/glib-compile-schemas $out/share/glib-2.0/schemas
+  postPatch = ''
+    chmod +x meson_post_install.py # patchShebangs requires executable file
+    patchShebangs meson_post_install.py
   '';
 
   patches = [
-    ./0001-Remove-post-install-script-handle-in-nix-config-inst.patch
     ./0001-Extend-the-python-path-rather-than-replacing-it.patch
   ];
 
   meta = with stdenv.lib; {
     description = "A new GNOME web browser";
-    homepage = https://gitlab.gnome.org/gnumdk/eolie;
+    homepage = https://wiki.gnome.org/Apps/Eolie;
     license = licenses.gpl3;
     maintainers = [ maintainers.samdroid-apps ];
     platforms = platforms.linux;
diff --git a/pkgs/applications/networking/browsers/falkon/default.nix b/pkgs/applications/networking/browsers/falkon/default.nix
index de56a0605b8..9dad2df7fd0 100644
--- a/pkgs/applications/networking/browsers/falkon/default.nix
+++ b/pkgs/applications/networking/browsers/falkon/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   name = "falkon-${version}";
-  version = "3.0.0";
+  version = "3.0.1";
 
   src = fetchFromGitHub {
     owner  = "KDE";
     repo   = "falkon";
     rev    = "v${version}";
-    sha256 = "148idxvx32iwg18m3b7s22awcijnbrywz9r8gnfrq6gpwr0m2jna";
+    sha256 = "1ay1ljrdjcfqwjv4rhf4psh3dfihnvhpmpqcayd3p9lh57x7fh41";
   };
 
   preConfigure = ''
diff --git a/pkgs/applications/networking/browsers/firefox-bin/beta_sources.nix b/pkgs/applications/networking/browsers/firefox-bin/beta_sources.nix
index 224af61bfa4..2ac0e9c1b26 100644
--- a/pkgs/applications/networking/browsers/firefox-bin/beta_sources.nix
+++ b/pkgs/applications/networking/browsers/firefox-bin/beta_sources.nix
@@ -1,975 +1,985 @@
 {
-  version = "59.0b13";
+  version = "61.0b4";
   sources = [
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-x86_64/ach/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-x86_64/ach/firefox-61.0b4.tar.bz2";
       locale = "ach";
       arch = "linux-x86_64";
-      sha512 = "3385d1c5540bd0066c90fb63b2f18105085092e1d89ae1a0badc9e00f8392f4dc20b65ac6a04f22239332ca1ccef0995df433d656d6b105be03c0129063e7198";
+      sha512 = "1253b49fcb5705c5f35ba972ef6949cc9be52b0b509c15f1ad3197918cade88df3a69c6dcd1ba32fcaecf5485d0e614b008a1e05adb5c0675de50345cb2ef7bc";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-x86_64/af/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-x86_64/af/firefox-61.0b4.tar.bz2";
       locale = "af";
       arch = "linux-x86_64";
-      sha512 = "1eaa00e379a4f3dbf162edb4a79b3642b8b16a882e6b106475ccbb962072e6148becde4c068f41cf3061741d30ad1cd72e5b04f587eb9ca9483e248e8366a522";
+      sha512 = "0668158d59973ebc1a6701066bd736304e8cb8d41095aef296b0a807eb0baf23edb1e399605c097dbfddbdbec191ad570d56a92e40edf4801cd2e857d03fc8e7";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-x86_64/an/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-x86_64/an/firefox-61.0b4.tar.bz2";
       locale = "an";
       arch = "linux-x86_64";
-      sha512 = "0cb52af20dcec4785865a479096d211213257ddf19b033a2d9b078727192be9b44eccbb548248e32f0f4a19348b5e8c5ebf27c8dc94f1872d5ebf3e369b74006";
+      sha512 = "97f9ea677bd851dfe37d5d4f1fa54f0286f5245a7f13924bbd576a1c6ac19f14c96937e78c3c05e3f13cea146ab91d4e36c8501cda2026663f09536e12e5af80";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-x86_64/ar/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-x86_64/ar/firefox-61.0b4.tar.bz2";
       locale = "ar";
       arch = "linux-x86_64";
-      sha512 = "099945735a3fe0470eb67f50fe1e2c92f49d7d34b5ca7a1c35167eee05aadf705dc6a3f4fdbeb78ff609c8892ecadd2cb32cf3a11cea6879f734220895172982";
+      sha512 = "85dc5ce10e6aa418d5f035a53cc392230010a89a3994579d40b926d5e2d1ccd41ff14bf86f634212c49ed2c24a10558e449fd82836deee2002039330b1b5baf4";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-x86_64/as/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-x86_64/as/firefox-61.0b4.tar.bz2";
       locale = "as";
       arch = "linux-x86_64";
-      sha512 = "30efe149f3f941a19d47ed8ebf0eac53997397f550f56d79c548054df8e14cccd5b1b3d1728b5d9f347cb2e373eff2f2f9403c1741f70c43c958b7566d70a55a";
+      sha512 = "58d67ff5acacc6458d3ea24d017185a44072d2552e664c9d5867fce16e77c679a3f886dd5e680a12f0a09e77af82d50e375f43fd724dba10e62c52c9611b300c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-x86_64/ast/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-x86_64/ast/firefox-61.0b4.tar.bz2";
       locale = "ast";
       arch = "linux-x86_64";
-      sha512 = "c962aef0f068f3dcc3c9fe82f670b3a2de132ad761144fa009d052622f6578bb42875e39fc311265709e87aac58fcf62e60b0f0d5f98f05193f385be7296b35d";
+      sha512 = "c1cad96695ceed2c9f8461d3a00c7f4c79064e79e808f0daf3f7b240c7af3fc076dde7a5c70b1ddba4b6291e51658f11937c9155c1c130bb9aad6a2bb83d8bef";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-x86_64/az/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-x86_64/az/firefox-61.0b4.tar.bz2";
       locale = "az";
       arch = "linux-x86_64";
-      sha512 = "994d995198817480b0f4d198f5a6289d4a380a183b2e350054e6efe1d77ca3dad5c48ce8aeccf5e4813047fca9d856bd392614d7adfe49fac52cd950e05e0bdf";
+      sha512 = "8340347da83edd0d74543b7ccf8add125cf1a3722d182753cfbc5270b350e0b5268925b17dfea35ca565d360fc9fe03e1ba42939df2ea342329639eec98803c9";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-x86_64/be/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-x86_64/be/firefox-61.0b4.tar.bz2";
       locale = "be";
       arch = "linux-x86_64";
-      sha512 = "48a60eb7e794fdb5f060f2bd0e359d22ee14ac5916819fada7bf939d07b31993dbfeaf58ce6906c40890c4b35e7edb47fa3f0b33f5d327d649ae5fe2417c5bcc";
+      sha512 = "be2f46fbd814e464d5db068ce0d5c3f1f5531b90c13c8b420813559f99f9c511f1505943dbdd94bce01dafa7e709ed6fddcde7ac13d9d6e7b28eed56062d799e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-x86_64/bg/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-x86_64/bg/firefox-61.0b4.tar.bz2";
       locale = "bg";
       arch = "linux-x86_64";
-      sha512 = "caa1de35213a8bc492bdec4b003b7b4b072f268f59ff0ccde04e69b64aefd18ee2ef3bc1fca698be4a38251fe76863f8b613279ac060644d3c84e3191977f2dd";
+      sha512 = "128835294278c381e4800cf5fc4b572e2ddae72f02f6f3c077f3b1c7557eb106858d3c40e254fd328a31d5520644bdc3263deadbfd2cbf31ae6092a5ed9d43a9";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-x86_64/bn-BD/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-x86_64/bn-BD/firefox-61.0b4.tar.bz2";
       locale = "bn-BD";
       arch = "linux-x86_64";
-      sha512 = "466bf0e7394dffbac4f58736c51dcabfb1d9634baf73d28af3ccd270bc1267a51b5c31802d48fc225918f8b15fc4291eb5e959802804510f5967db298e6054ae";
+      sha512 = "205bfe4d02cc73560eb11ee79ff2f737ee96a3234e62589399adaa03ea48cc8d0abf81567536f7fb11dbe037c751ef317a841fde5a2b1a6d29fb9a0fdc71d05d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-x86_64/bn-IN/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-x86_64/bn-IN/firefox-61.0b4.tar.bz2";
       locale = "bn-IN";
       arch = "linux-x86_64";
-      sha512 = "034d37ac4aa1fb38b1aa6181e291e16447a270d5c21196469cbba33be773364614e2d2cae415674588c460a107a06f30a8d8ee663a0c797c621f0d4618c1588f";
+      sha512 = "5d4c5b3f7b025b77089246889209d3f7e3c0ca924da9a6d4886ed0c96d437c7c47452e8a2cf3d030ad4e4859565e3b0cb18ee1132852e1460bb1529058cd4198";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-x86_64/br/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-x86_64/br/firefox-61.0b4.tar.bz2";
       locale = "br";
       arch = "linux-x86_64";
-      sha512 = "f38c6cc0fc8ab0d0c7504b427c88081b5d8d456510aa6c0a8e1a14b013d9a9502008c4397850fefe3dbfe28d0da57175b1d10824f6feabaacbd6c44a03ed283d";
+      sha512 = "3d6baadab9b20598e8d4fb604720dfab67eefb89e9e9d58f220a8b7165f8162506e19ada83d0085349a63ca31b861a3b6ff1df4b15436d2256f7591db58ff3d1";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-x86_64/bs/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-x86_64/bs/firefox-61.0b4.tar.bz2";
       locale = "bs";
       arch = "linux-x86_64";
-      sha512 = "e93729b7e94cddc446d035fb35dbfe74a7582bb553095a62b4809c965453a172654aac5268c3238d398a9f46260daf206126782d393938b4863a1efab2a7f78b";
+      sha512 = "29a8df8006287fd38a283cc499a799174a14359d7a540cf5ed1983da98d1efbbd504489eeb6b2b5d420c06f42a0a3f9b5e7afd1c1d5cc70f9eff8b354bf3cfb3";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-x86_64/ca/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-x86_64/ca/firefox-61.0b4.tar.bz2";
       locale = "ca";
       arch = "linux-x86_64";
-      sha512 = "fbe2aea772370a83f78bc831d4ad447ba2bfb48b462a085e01aa44aaa517f69002b905523a3ecaf72ad04b41bc0bf0158042ae9d492410e6260bd180e8345699";
+      sha512 = "3daa8bdb22e64dc39a359ab15a55d001c95ecf53ade50c0779e0b744043b21d41f36cdc1d3fff53f59c71dd0205a089f7af21074e6ae34d1b03744ad7cd38631";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-x86_64/cak/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-x86_64/cak/firefox-61.0b4.tar.bz2";
       locale = "cak";
       arch = "linux-x86_64";
-      sha512 = "f272b29b440ed9dd3f520539537b3822f79ea274c9dd887f0bd7b352fd25d54850f8c3d3de77ba23d7498d789c90659c16b68df139c325c48cb5bd23b9dc6fc8";
+      sha512 = "031311b5ad4173778f879f5241cdeb559739875bb49330d20c37d5733b7e58a226480b6c456a297d509a9a379803bd5de38343249dca1fcccdc74b9ec1b97ac3";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-x86_64/cs/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-x86_64/cs/firefox-61.0b4.tar.bz2";
       locale = "cs";
       arch = "linux-x86_64";
-      sha512 = "562a7feb664d7fbd1cf46a611cc47b275f730e35af4a5c6860aaec54a5ef3a9ea25b56152b7a6f8b0a239b6c30ba961d1f6584219659a1a35d3395aa9abeda7a";
+      sha512 = "979985e5a292bacd3031554288b92d8d90f9b05ce8f59ca2126a5f0d2b38436cf39fec21d830e16204982157d722e8fa9483062d3bd3c78cf2cb462a5c13d597";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-x86_64/cy/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-x86_64/cy/firefox-61.0b4.tar.bz2";
       locale = "cy";
       arch = "linux-x86_64";
-      sha512 = "811773221c9df7778afe17d31bce17a322247ebab55461b34fe3f984afec96ba44cd941a781915433ae54f5eefbe14c9e6fbaff6b690c69db3504c5fe3c1f678";
+      sha512 = "3572e150c1effc9d5b67cad7954a69ddd50f6aa5159adb6ac40f0e2c557cf03f6760e664be604edb27faeed8235b43793122223fadd61ba6923694ae689fb740";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-x86_64/da/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-x86_64/da/firefox-61.0b4.tar.bz2";
       locale = "da";
       arch = "linux-x86_64";
-      sha512 = "6fc0b8a04ee1a03b8aa7647a409274d642827b284c9e19b11281369b6299b9f4e17cff942f297ffbdacf922cb47df35b5c572d1a33a6450d000d4c373ebc7c03";
+      sha512 = "241dc58b57f683b3a568f456f1235a78af6b8089837b508c98c5e223eb1c9e98507df80aeb805752a9bfa15b0837f457e3b2cbab683982ab7ef29cbb1177b4c5";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-x86_64/de/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-x86_64/de/firefox-61.0b4.tar.bz2";
       locale = "de";
       arch = "linux-x86_64";
-      sha512 = "080b44995281ca69a92c039c8734b16b5a57c28df8b7b076f770f2d360d6945b5b9ff1c30c0e226a84a70ef5c76085ddc5b3b2790131e7797508854e261efa4a";
+      sha512 = "d86f8658348a006b8f0baa020f273cb40c46fe82b34a2de4a2193439777ff6d0874bd63cb143c976c6de9eac4170ed8081d446267d2dd1185fc8625268f11f1b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-x86_64/dsb/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-x86_64/dsb/firefox-61.0b4.tar.bz2";
       locale = "dsb";
       arch = "linux-x86_64";
-      sha512 = "0c37fc3850911499130612465980cb1642c4a7914cffd8d857c6b03e75737992f0e181646050057085a52d7d11654e57c0efacc195b3be377b7fbeadaacf77e9";
+      sha512 = "bf73cd3a94aae19e1e58fa492d766ce43be171f349c7f5cf3f889bbd1c3c0f8aca3378eda8583b9c9007b1b26f4d159b281f85b5a33279635acd22289badcc3b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-x86_64/el/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-x86_64/el/firefox-61.0b4.tar.bz2";
       locale = "el";
       arch = "linux-x86_64";
-      sha512 = "e0e10ddd3f24686790d2d78b9509d1d4dd679588f6c0a9349b35c7d58aab0fc3f914cb139212faa993056997cf805ffb75ee334f8dad6a110b6912b199da3bef";
+      sha512 = "fc7acf24643996c6f3c63f1ef392883b24875914111128ec5c3cd4aaa3fe45b3a8b86ffa0a32f288231d10229f1824526fe7130a96524b7abc4917f375f3d96f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-x86_64/en-GB/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-x86_64/en-GB/firefox-61.0b4.tar.bz2";
       locale = "en-GB";
       arch = "linux-x86_64";
-      sha512 = "989b1e7590520271a0e16c1fd02c4b0c85edd53d9d0f6c2dc6e2dcc71b24e53e5ddb58d081e41720bcb54dcdaa8c0b2f8183183adddd6e4da2257dfe71d978e3";
+      sha512 = "d79ebb446402325a043acf700c1aa05ed85793423a0795e6afd397a004ac4f01bef39ad7c31d3dafaed2ee665c86b4ea4293292773a3eb7442c995c73c47ae48";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-x86_64/en-US/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-x86_64/en-US/firefox-61.0b4.tar.bz2";
       locale = "en-US";
       arch = "linux-x86_64";
-      sha512 = "f8bd79f3a6e6b7439103699111fba9e5c1534ba643227fcfb07106fc7e6aa5ce8004b7fcfc58a825e73dcde769e9d19dbb35ac1169c587b66bed6a6805390b52";
+      sha512 = "13d1ff7486bc06daa37b1d9e98034fd463f663bae35d1163fbb4f033c327c5d85e8fcbecd2d9854456fe4e176748b921cc96d02b0889beab332a4a6987b2c457";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-x86_64/en-ZA/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-x86_64/en-ZA/firefox-61.0b4.tar.bz2";
       locale = "en-ZA";
       arch = "linux-x86_64";
-      sha512 = "b1eb3804b3f25984afc72756388f538c822d0056d6b6955e92f4eddd975bcefb2dfba22fd343171f3ed33f779c86c5f154928a7f2764242d3ce86530e57b8ae4";
+      sha512 = "843fc740b224b07307517a17fae1ea342dcb71564b511172da3f8d96f566908e485da5f0de81fb924625edd5b182e9855d4c39485b5d5e6b1f03d227a1582cdd";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-x86_64/eo/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-x86_64/eo/firefox-61.0b4.tar.bz2";
       locale = "eo";
       arch = "linux-x86_64";
-      sha512 = "1ea4e0fa24012532cbbcce89b22e5c3131248ef72544bce2de97afc1c104c254a630104d4f2117bf01d217072983296718663e1108e96e86101369d6a66619a0";
+      sha512 = "fd62f3c1b4295fd91c3b0e3606761da2f4dbf534ff9c29d63c150b3e0c08663c8639499643163868fc3a205159afaf1766127d68dfbbe91262109b4673d6e4d6";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-x86_64/es-AR/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-x86_64/es-AR/firefox-61.0b4.tar.bz2";
       locale = "es-AR";
       arch = "linux-x86_64";
-      sha512 = "151be2980e61df7e96b47f0d48553da52b54007999734322814f4a0fee269d8bba3831411b5731caa23619033ba80a4265eba02acc228db78ef4c1705e1a7615";
+      sha512 = "098bbb5b7e60d72561e99fbe55d5aa7fdad0ca78daa9085ef47814e525a284fc69d5dc2723974df97b4567dc050a7c23c77a92f16ac29f8f1f2c32feb0fed5a3";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-x86_64/es-CL/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-x86_64/es-CL/firefox-61.0b4.tar.bz2";
       locale = "es-CL";
       arch = "linux-x86_64";
-      sha512 = "c7b46b7c7fd78cb9bdb5b2fc6e5b0ddb0bbc09bb6e28fbda12ca46b0a0fd8e35660c4d66aeb47fc3b70b725c39e6629f2a0f3a27a9d4991458e5952fc08e819c";
+      sha512 = "1e518d4c0149e51452b7710791dde0e51c92a16183e36d2130beb1a9471bb213853cced03604cb81b209a550c8c19b27f69c2ec13774f63dd143abfd27187568";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-x86_64/es-ES/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-x86_64/es-ES/firefox-61.0b4.tar.bz2";
       locale = "es-ES";
       arch = "linux-x86_64";
-      sha512 = "2d79c84179d27e2dbf08637d6302c357438790fd3b02805a0722adb978187cbdde53a4a600c224d2c9c207142550efbc4ef5773218580615af31e0bc42e5ae32";
+      sha512 = "cbec05d15f141e61612d9eb2e0001104500839d1cff156398d58fdab027d446a7f936d96e257d6ea8c35082f1a519f16155a6e45f6186989a09bc75fdcff4e7c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-x86_64/es-MX/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-x86_64/es-MX/firefox-61.0b4.tar.bz2";
       locale = "es-MX";
       arch = "linux-x86_64";
-      sha512 = "38a64984e500e18cb21529e23e803fd33de9ef910b367f39ceb416cb284f61d5bb2717d86bdf0ed74e2320fade42dde89b7a8d4de024ea7e9b9ff95474208e9e";
+      sha512 = "33670d131c9746823f205260829d789144079c71e089c399f4fc9ece9c19ea1e2f840f48ea8b629cc1101e3e776bfc12dff3e6ddb48c27547d458f7ae9a61744";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-x86_64/et/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-x86_64/et/firefox-61.0b4.tar.bz2";
       locale = "et";
       arch = "linux-x86_64";
-      sha512 = "940c57ebf1384150a96bc31c9d7bf900f38f020e42cbb4c9a58d563a95a64005aa5244de17acb9834ffb1d2f39cc9acd4b08e976cfe8e48ea9b3584d2ded1db6";
+      sha512 = "ceb2cbca7b75b2dc083d40ed6c9fedf0fcaf6e2b7a626cd93e3de0d92b6cf73b60374d8b90d6fa57ae2910c06af84f00e55a2769725be87b37e2291b15d1f0b8";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-x86_64/eu/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-x86_64/eu/firefox-61.0b4.tar.bz2";
       locale = "eu";
       arch = "linux-x86_64";
-      sha512 = "770dc127e21e350873ad17a966c438a10a1eab8637adc11a368bfb3397a61d0411f17452a984aa0b7c62012adc75b193d49936de7775e1c380ad0e1d315f479c";
+      sha512 = "4e6a8878c8adfe5e8fd5ba0b6eaa6ba88ff4f76cc5f3a8178040ef72d838141360fa56b0f125490a1effcadaf964cddaabe3c769a69e67c94400bc07ece89cb9";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-x86_64/fa/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-x86_64/fa/firefox-61.0b4.tar.bz2";
       locale = "fa";
       arch = "linux-x86_64";
-      sha512 = "483bbed985b9f1987393e288894e41760f2a69ac7f71c38807ee099928d478d7599d86795462d638f83003b4bc5869a32e13df4ab73ad85219228bf2326aab93";
+      sha512 = "9aa36ed9b2e9770d56302d41a373ae19510caa8c5442928dbeb70bfdf46ce2746a68776713ae54b0b996c1f3b6e36a5efc45d5b2a4508d1b0bea0e49adc0f380";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-x86_64/ff/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-x86_64/ff/firefox-61.0b4.tar.bz2";
       locale = "ff";
       arch = "linux-x86_64";
-      sha512 = "70e3d235569a976c3f82f10117e2060bc366382f630cb94fdda89f7f30e2dfb1075393dda29a67a6a3e224d8c2baae0d3727132d4391b261b39819eaad7b7a4c";
+      sha512 = "53955ae8ddd8d46863cb960e2709d643869b882c15cb5b13f73c05a6442a38d3be5df47f3da670031bc99f22dfbb10ae80ac9799a71ef775fbe34649c803c82a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-x86_64/fi/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-x86_64/fi/firefox-61.0b4.tar.bz2";
       locale = "fi";
       arch = "linux-x86_64";
-      sha512 = "6e72b77d296a2f4b8d404ca1302ff96ea39c846bf3d38b741acd6e327afab6c6e010980f15502fe5f69ddb0bae06041a343d588aa813f24176c34022a5371551";
+      sha512 = "78d9adc8c5b05cae1def5260aee2ca9419cf1e46ac2f4e5272f565ff73fa2cf57912120c7bf2160cf4df18722e63a4aebcd3574ec3c61c2f35c757ac677d5862";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-x86_64/fr/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-x86_64/fr/firefox-61.0b4.tar.bz2";
       locale = "fr";
       arch = "linux-x86_64";
-      sha512 = "724271904d24b4d412e6246ce8ece8fed71c6fe3e272551d3040dea3e7326f00f2516d742cdff9751222a141a574624fad4d476bfdd942a572ebf590eea4b1d0";
+      sha512 = "1235a994606f43e3c9d8660adbd9d3049da19cf5e654d8deab2affa18835a65a3bb297dc99de7ac6949bdb4c1c47296e2dcadc859833740c235c4364c418b5f3";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-x86_64/fy-NL/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-x86_64/fy-NL/firefox-61.0b4.tar.bz2";
       locale = "fy-NL";
       arch = "linux-x86_64";
-      sha512 = "73ed1f28ad9c8b5c9a94ed746b48fe5756c323ecfbc35165b1af8f957331564a8a46403b72ad1e7d0c9e955f88bddd75628bd491a20916d769e410fc7d06671f";
+      sha512 = "44d97d3842a2ac5f816e7c74301cd85a8e09884438e5130cee9d17f0b4a59015831169afa47bc2dc6f89d7934d356bec18bbfc20bc97c0a85b441214afc9de71";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-x86_64/ga-IE/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-x86_64/ga-IE/firefox-61.0b4.tar.bz2";
       locale = "ga-IE";
       arch = "linux-x86_64";
-      sha512 = "da86d4603f6456d62a2668f86d5eb3b5cfb9bc9454fbea11cce135fa0e215713a73976a71e630c93a6f6235880a08ae036bab6026f64e12847dde3996a4e767b";
+      sha512 = "5f1e8aff2b70032c5907a73f99b1d62500a583ce7c5d5aab50faa5e40f4cfc01f1ae10936ecec9436ef4dfc8b5db1fbfc1603f0a5bbbec0a9c04eea32f9f9907";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-x86_64/gd/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-x86_64/gd/firefox-61.0b4.tar.bz2";
       locale = "gd";
       arch = "linux-x86_64";
-      sha512 = "34904ec1e30394e06a14d2f5492fb2d08b66af587ee0823d7ddf6dd0c89407e784342c438f9f2fee85e7bb21888f4003c33c90be51a395d3b4d29050290cfd67";
+      sha512 = "1d971abafa1636d154f015d874e97db108b48a1f6e188145afb7f3f4da1c01f4b80fc152e917fe3baf419af767172b965657f75afc4cd694523d458498631b42";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-x86_64/gl/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-x86_64/gl/firefox-61.0b4.tar.bz2";
       locale = "gl";
       arch = "linux-x86_64";
-      sha512 = "485c67a32819bebca340240a53767ded9a4af9b8e89a9ddd98913ee2702b799551cae47a1be8ffc13cb3c61121ccc25def8527db622eee4f1f762c88e1517f53";
+      sha512 = "cf9cccd08695208227d0cbdc1531df4957817327c95f8aacb8314d0991f7c0226fb8e4cb565c18830cf5026d7e87e32b4e445a4580ed27c0fa0ce643c9f37657";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-x86_64/gn/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-x86_64/gn/firefox-61.0b4.tar.bz2";
       locale = "gn";
       arch = "linux-x86_64";
-      sha512 = "b1e6704fee7cf35bf24e94db3dac411e4627b88eb5b954d017bd69cc03d598058a4f6a649522e8e56c648fd649c0315ca62fcb77304175753dc0e71ede3848ad";
+      sha512 = "79dcd2747c22484002bacbc7266a793c984a0f51b34921256d351a0df5d5d0fe041f2cb6db0757ff48c9b32551c882fa60c0d052d8d59a94f0747f40728a5e85";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-x86_64/gu-IN/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-x86_64/gu-IN/firefox-61.0b4.tar.bz2";
       locale = "gu-IN";
       arch = "linux-x86_64";
-      sha512 = "fb2163796be2756d7c3cb6993e2ce295162e1d407e7673989365848c82017280b3da615dcec32ec6170fd39edd7cac87f9998d54e91b365c7fb88431201c7feb";
+      sha512 = "425f0864046581340110ea61a6a3abc87a5b12c2c24401b91273fc5c55014a0af9d1868e4e2918b30576394d97f16854252fe999d0a5b84ffc15c7b7765e20b5";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-x86_64/he/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-x86_64/he/firefox-61.0b4.tar.bz2";
       locale = "he";
       arch = "linux-x86_64";
-      sha512 = "f902b115d29654c34f98e1acc15aa173c5881838f42734b5ccbccb388eadbc32167ee35aa07173e62290cd69bab0ec985293e49bcd951b407e9b568e1a126b4a";
+      sha512 = "7a2b5119651e391164f514e8deba75cbbc7fb2b89353d5386758e3f1442d0a9d61bfcc9fa5ac28c20a0b4eaa793c04d7c45c6dc43aeb4d0042aa07a1efb22d26";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-x86_64/hi-IN/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-x86_64/hi-IN/firefox-61.0b4.tar.bz2";
       locale = "hi-IN";
       arch = "linux-x86_64";
-      sha512 = "5cc246d4807ea49700784c4d4f0995eccac7120c9e3f3c38efa4ddc0835db21f53682ac1921864270079c3dcc39d60ebb5cde7c58dcea9f91f04b81ba2fc41d2";
+      sha512 = "b0bca544fda321aeb18e91c6c639434084ba508cd0bb3027271d61075fbe11c10c9114d5f3bacb3538bf5bf41dd83f37b9231ecba7c8586a19f64c367d7bc0a9";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-x86_64/hr/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-x86_64/hr/firefox-61.0b4.tar.bz2";
       locale = "hr";
       arch = "linux-x86_64";
-      sha512 = "3455463f7fad3c893a06b24df9a58a53ffa7f56845dca035b2eff9d98c67f1127ac74492dceb9277c01a47131d95f7b2dbfa23189420c6a3cbfc6c63e8fcd616";
+      sha512 = "baf8526abbdac323b3976c0561a4f7152465db2f7acbafca467c06794ced55f851d30c1a02161945791097351ad5e07a4a77d89bb8e6084e682fd39813ab5af5";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-x86_64/hsb/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-x86_64/hsb/firefox-61.0b4.tar.bz2";
       locale = "hsb";
       arch = "linux-x86_64";
-      sha512 = "aba2ea135d6114c0615677193641c91e4b047840e9dfa5d2f9eb461cde5d539aeae34179f50038424f82104bad8d31ff6fc0f39e6ec7092ba8f3526781284a19";
+      sha512 = "21678434d8b8c90ccd8e6f04f29c0d5d99376a0ee8a0c34b4748982b48591cc5f6f361b3c8e50bc90fb45668e439db9b1e7e1e0bcd88bf65d42186463decd348";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-x86_64/hu/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-x86_64/hu/firefox-61.0b4.tar.bz2";
       locale = "hu";
       arch = "linux-x86_64";
-      sha512 = "05651119089ebe610586abde15515e9a6886fe546c7b2c1260d5c0c0b778448da5d7ffbe30e46d5f32d49ff0f050a97adddb608cbefdc6f2bdddd593b9e2ad28";
+      sha512 = "7964a915f1bb67cbe69a62ea5d707e81cea6a1f1e221cb8b35754a90c074d70822357bf71562877aaae41d53d58a310a4db39d388f53a011fdbc195160038525";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-x86_64/hy-AM/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-x86_64/hy-AM/firefox-61.0b4.tar.bz2";
       locale = "hy-AM";
       arch = "linux-x86_64";
-      sha512 = "6d3b6f30e9450352dedd933c310a8c8ee6858410a653a75f4851743cbaf5fa9a35e8f9d65eb110afa02f6a7025266127d10db3326443289e235be012e34495e7";
+      sha512 = "71f1f37b090e370ce5152290a6ba89cee3d29dea718247c5c472cc0d619e37c60910445f4cf57e0e0693a8af9d439820e2da57fb0b88e85f2c13db042252e8a5";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-x86_64/ia/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-x86_64/ia/firefox-61.0b4.tar.bz2";
       locale = "ia";
       arch = "linux-x86_64";
-      sha512 = "f14f8f554d18adc261a26c55e0c78af833992fdcb1c8c8bb8e4dcd65d8f731b36a663cf02513d7d12d979751aec62d8484a06d8403001e26b5aea304c34c9a65";
+      sha512 = "92ce50a687a76bd51d852a65e5bd2495d572adbdcb250183c5a757d7c4ca09f2420c5b3e2abf968a956a5625bef4e28fd46f048bd79ea8be0a5a49e783986add";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-x86_64/id/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-x86_64/id/firefox-61.0b4.tar.bz2";
       locale = "id";
       arch = "linux-x86_64";
-      sha512 = "ca3f9e284afc1836a73d8b6afee674daaf4f930f9128ad2aea052a8f0050b4b741726af21a5843ee8579c03b4b456e57f2f6f983f223aae8e2b7ee69231a82cd";
+      sha512 = "668db99ee60ed9553076f8de71e228386d04bb337a3ef6efd25e9cc8a193ab98a472562bee667314cae745895089d34d08e8a11e0f21d6407b6f4d443be9f52d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-x86_64/is/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-x86_64/is/firefox-61.0b4.tar.bz2";
       locale = "is";
       arch = "linux-x86_64";
-      sha512 = "3356171a15ee94549cfb41eeb601b2f08e4cf286a0c3bdf02a55882df64b819e3159c2ded9601d2f23fc9b49b58cf4f4c53017c5344e9f246f53a5c3b1ed2799";
+      sha512 = "409d8b328287e504128f1e5a76793e8bfffc43453d3fde593c0a3048b4c3d5cfcba155269b629039acd6d29d53f862a00cb1e9f63fe2ea49c9c96793f440db16";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-x86_64/it/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-x86_64/it/firefox-61.0b4.tar.bz2";
       locale = "it";
       arch = "linux-x86_64";
-      sha512 = "b1bc75a9f2a4ab2923127514c4b31b679fb5ee5e58223f02cf4b3aae820ebccdc4d41b1d0bbd45ba5bf1dbccbbb2452e95e651417889e8d9acca3bff065630e2";
+      sha512 = "d6ebeec88e354b3fe1e21a259e85c67c1aeed0278eb82c8da5d4df1990a94cb3bc239ae0094146da31f53715722d225ec7ecdc13c62bc69ac6a0d99854cdffca";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-x86_64/ja/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-x86_64/ja/firefox-61.0b4.tar.bz2";
       locale = "ja";
       arch = "linux-x86_64";
-      sha512 = "f8a8cd7a69367dbc5d19094c530cf3fa75dc996c2ddb6e91d82d788d778ae2d67e05a8e9371417dd618b62fbd1940ea1dd1231aa7e50e9fa0b633da41f9f9b35";
+      sha512 = "d81dc550cb3b8c07da81205268ca7411a81fbe481f289f7a35bc84cb8fcea978ce1c30d8d36b6b87349b5bf2c9bea45d98c6e0e96ee376e2fcdbf2f1fdddbdfd";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-x86_64/ka/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-x86_64/ka/firefox-61.0b4.tar.bz2";
       locale = "ka";
       arch = "linux-x86_64";
-      sha512 = "6bab5af80f51494e6bb6d1813f05c7defe6170964513438781ea8d72afcc90af90792480c61cbec4cc87909867e47364fcaafcaab9b87f75c845d5022d1d8878";
+      sha512 = "9005824d0555987b997366cf6bdc776f2df18e4e15b32a3953acda22ad669ea073233c91f8c2b12b5d1f783611bbd3acd9859778ec19d21d929595f206b55a73";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-x86_64/kab/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-x86_64/kab/firefox-61.0b4.tar.bz2";
       locale = "kab";
       arch = "linux-x86_64";
-      sha512 = "040e8a53f4f0d3ead182edf37afe9275b0e875c479fd2866f52945824d729c47e6af9162af8e67cc9d7540fed394c09c95b5003d61287a74736336a9a4632118";
+      sha512 = "955c96dfb14225b9249323a4be404a4a2acc5523398c3456b22406f6aac4ba9a7e84607c7d9f3ef203feaaf66ab190b04d17ebb3562a0789143fe78b79fb6d26";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-x86_64/kk/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-x86_64/kk/firefox-61.0b4.tar.bz2";
       locale = "kk";
       arch = "linux-x86_64";
-      sha512 = "3c34fc69be05029ac47810ccf2e64c358bea58abf5b8bde5e8af076fb87e7b36327fb4be565adea27b992e6c4bba14e678ddc3c71de127adfe0a048f11d33a70";
+      sha512 = "a6519912de9d60fe4eb11bd14b65c946b9d80ef21c001689363d2f34ea3dcb6cfd108068538a96e0c566db48ffd4322ba3ca7ef4d6c4f95e8c22e4a41ada9cd6";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-x86_64/km/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-x86_64/km/firefox-61.0b4.tar.bz2";
       locale = "km";
       arch = "linux-x86_64";
-      sha512 = "2e6d71df99893d69c29352d9a69176d7d3f2d5f47e95d95e6d65826c7bcbb4ebe855878fcf0c1a33fe4e3e749868f081ba58dd9265f130712dcac86d87fa5a2e";
+      sha512 = "af3a016e28b9a2d0150298878188f798f781dcbe3553bb7231ce9d5a7bcd3b3c2c9ccc9a5a867efee4d0bfbdfe70355ada38e2e3531bfc63382bc2d2d9db7377";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-x86_64/kn/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-x86_64/kn/firefox-61.0b4.tar.bz2";
       locale = "kn";
       arch = "linux-x86_64";
-      sha512 = "b37754188e3f79a5968d5b2c64c6ec8ebe0afd3252260e33e1be639445377d4f36c3dd2bf3e278d14255bf5964def6a359aa17eb108e8402e35f47ebac460c93";
+      sha512 = "872a6d1dd69a540e253a15376a5ed0af35ccd65d400c110ac82046749c05a43b73c6f8980a0d1d8f4bc11cb8e01d412ec170b3d905461d8f896f37f3cbb6cdab";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-x86_64/ko/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-x86_64/ko/firefox-61.0b4.tar.bz2";
       locale = "ko";
       arch = "linux-x86_64";
-      sha512 = "1f069f59437cdc924e8eb34ce4af4c9de39e28733589f35f7ba7d1d40347164dc4bb8953160436bc5b2228f9c78d097d2c8c46a5e3295c10dd6585575939a133";
+      sha512 = "d8890110362ce85decec314f885cfba90c8ee7c0287a60b8b747176bf45426706f88f78642d2c92e4542913cf64a602cc36a706d3331330fd3d37579af1b12dc";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-x86_64/lij/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-x86_64/lij/firefox-61.0b4.tar.bz2";
       locale = "lij";
       arch = "linux-x86_64";
-      sha512 = "4d4890e1aac3a606eeaaa4379f983d556643201ed209f67e1cad1a5c9518a362630a79e74805b37af9e7adf59523ed267f45537b890752cd59d7f10e1b07e189";
+      sha512 = "73b79ee6702844e66ca565f10ec28d4640345303e1cf51e57a064eb01ce9be9c02332d8dc9700466e11ef38a03c99203ad7935fa6ca14cd751b8ee2096c2972c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-x86_64/lt/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-x86_64/lt/firefox-61.0b4.tar.bz2";
       locale = "lt";
       arch = "linux-x86_64";
-      sha512 = "8212468dd5c7ecd531bf6bc1f2ec83fe41074b0706f73359cf628312d5959ff04dcd13814f5a54b0c74b050cbd02343099ab654ed8f24bf315036f5da36a6b65";
+      sha512 = "d463bfd3766e950e40309845ec88f1ae52a72f38dbc41ccdb1652882f5aabc94b9b204b0d3e1bf1a0e4959eb2a23694bb189bda14f9dac3c91401c2a646be8a4";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-x86_64/lv/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-x86_64/lv/firefox-61.0b4.tar.bz2";
       locale = "lv";
       arch = "linux-x86_64";
-      sha512 = "456002cac8a82802af2b9a7277f57094bfa69fe03a511b3ab8aae9e74a4e02c90dba69b64f8e0277ce9b78fe254a5fceef31c4684028384655b97651c123b9d1";
+      sha512 = "2616476c2280b7e1c21ab7f850342e8deaff2c97b1f0ef05496ed1b87c15578dca206eed0f853866c5d018be4a2d6281472033f490466b41132c5623abc7574b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-x86_64/mai/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-x86_64/mai/firefox-61.0b4.tar.bz2";
       locale = "mai";
       arch = "linux-x86_64";
-      sha512 = "5307b74b03e68f95de62512edb1bbacd059b7906582bbca41bae83508ae6de12962ee2b27a7046b6eddd0b0521550ee04d77db07ee0d283e9c1f9fccda1ad1b9";
+      sha512 = "3628ddce5fe431663d46c4973059112b3384f907d3e76ea99266968a855cf88de932985e2912ea6513c0bba7b321bcb125024d9b52a1920cb6c02211a876bbcd";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-x86_64/mk/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-x86_64/mk/firefox-61.0b4.tar.bz2";
       locale = "mk";
       arch = "linux-x86_64";
-      sha512 = "693c0665ee15d3136b3bc2e10404f1504237b3cae9eb7e3f3869de641bb6a1b15311e94da778396bcde8d91589260eb08cccf4cb59446b343e39c15506183ff1";
+      sha512 = "be145f4a7919433312a25c318b072e40160285542b9d9a9659aabc0a90f2d6641329745ca3950b4da2c0e58ee9c106b93cb93bd5e806cd35e0884217eec3a20f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-x86_64/ml/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-x86_64/ml/firefox-61.0b4.tar.bz2";
       locale = "ml";
       arch = "linux-x86_64";
-      sha512 = "5b57c7756477983f153f650cc0611f9e5d07bd53fc741ef489a32434ee5ba716fc4b1162af2b603e7049b08f737eabb4e91c9f90a3058d83ad1c68608f4713ce";
+      sha512 = "4cd05fa46a357eff1a1121abc72e07b992763e702b5c58a82fed7b4a8b731154b4d6e5578a6334e4ea5a58323ef0bb0761beb10ff971ca25482e973144f2f6ac";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-x86_64/mr/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-x86_64/mr/firefox-61.0b4.tar.bz2";
       locale = "mr";
       arch = "linux-x86_64";
-      sha512 = "8c1d7c5434f8fd7321a2140a938b3505d929c1469d93a08c0deddd20578269c6f6d13a2ee42803f753d19873150587b75924c708918f340e7925b7457a68b39a";
+      sha512 = "5aa015d9a68c5d840cb20cb86ad98b837a97ff08da1ddd7f2c4b003d7aceefe9f82574248a39e86b45f5567adcdea2efe7821ad0fc019042fc507a3c673e628a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-x86_64/ms/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-x86_64/ms/firefox-61.0b4.tar.bz2";
       locale = "ms";
       arch = "linux-x86_64";
-      sha512 = "cc35a754552dfe2e99004f0b72cdda5b82daebd8ec6eedbb00a9cf64a7f6c51d2c6f2b14b4777117d2cd4f8e585c7a3bb5d81b925c359a35f9873d3a9c5e4bd9";
+      sha512 = "e02b8441994cd826bc308f0a5955d0a646b60acee04a254e35b9b3ec4dbc36374bbc2405e917fae352b9f000b7e72d3242520f092f27b7fa171ea5f9808d240a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-x86_64/my/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-x86_64/my/firefox-61.0b4.tar.bz2";
       locale = "my";
       arch = "linux-x86_64";
-      sha512 = "1772df0d4931024a9256e1a2ec465f193d3351019e397a2708a35317d7a08ffadc4516ff6bbd1cf4efc4b03a4230b628ba2e6b0956763bbedda6bb055a810249";
+      sha512 = "1a20e82aeea3151d66b673f774a6c284ba8155f3f724c1f1cf79195a41cffbcf56af3399a7b526ba9a43f294a7a6c155c5914035417b36616ebb88d9e9125dc2";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-x86_64/nb-NO/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-x86_64/nb-NO/firefox-61.0b4.tar.bz2";
       locale = "nb-NO";
       arch = "linux-x86_64";
-      sha512 = "0f1c60c5e1db28d733093840c1823bc6509dd6bc18a6c514d977d59f03c82ad8a88e114f5ae18fc27d4071eebe3145b91e5a00885b666ee7ed8c1617493f0072";
+      sha512 = "0bfba4dc5ad7f20a5660b1492e356c1ad2113a7e67e74cb86950600c0a209b47bc398e8c9f6fef8d27bde502b706c04965046316d952fbd8f2eb7d1f87af3e10";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-x86_64/ne-NP/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-x86_64/ne-NP/firefox-61.0b4.tar.bz2";
       locale = "ne-NP";
       arch = "linux-x86_64";
-      sha512 = "17382dd82ed6bd5e4e948c98b494cbd937654bfbfa834c8c8dd8b33d3f7f85fe1d54f4b1e1eb166b4c3e9798063d25abaa89076379ab3283ef73873145db6db5";
+      sha512 = "f373d90059cb2b65f3eaf34af16dd5644c28f3bfad9fff8a02b855b5b3a0da3146b876e835add7e70e94d59a911c68ab61dcdae8739d2e2a39afda3cde6e813f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-x86_64/nl/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-x86_64/nl/firefox-61.0b4.tar.bz2";
       locale = "nl";
       arch = "linux-x86_64";
-      sha512 = "45d50122bb98684d3542a3bd015ea906b4d5cd8998f7b1564548d93b567e947f899e554ab8b6bed72077247ca96c8a4df1bf4d85cbaa795a5bd84bed9b6b9af6";
+      sha512 = "bd971832a63eb6d8a2df4ba1ee69db7390ac8da13894aaccea7bbb79d27d1c29dc541144202b1e44ae95dff5e0c1425ee17c2845acad9c55b9126fe20d53e85c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-x86_64/nn-NO/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-x86_64/nn-NO/firefox-61.0b4.tar.bz2";
       locale = "nn-NO";
       arch = "linux-x86_64";
-      sha512 = "99a97c7b3570e885003e2e93d641574fcb7aa3d9e96555eaf9baa6376bcb22b702d3bc100514c69cb0d9ef8d690d54afea9ad28f996dcb91cbe2a2f29807cf73";
+      sha512 = "a5017881f6b2ba0453b3ef41d6a47763fabf7a87e18e47e9b97d8c7d3ed4dead67687fbe3b1ed18d23e6ca3a85db4ca4dc3632537f74432faa1ea5fb69deccad";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-x86_64/or/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-x86_64/oc/firefox-61.0b4.tar.bz2";
+      locale = "oc";
+      arch = "linux-x86_64";
+      sha512 = "f0593858258ec794dccaa420dcc39fb3bc35dda0c5b9996c7069d53d2b68fb2e373fbbb40859099ab8d85044308da500cf931dfb6e2d6132c7be2ffa350d653f";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-x86_64/or/firefox-61.0b4.tar.bz2";
       locale = "or";
       arch = "linux-x86_64";
-      sha512 = "088fc29280127267909b0900db695db6d6ac51a223755c588e2d88703a07ec4ad5cd9c61e9b7c6f2d5456b15859409045a0f7efc869781994aea010522bf96e7";
+      sha512 = "33cbdcb3331097ab29581595579a2bff78c2af99dd20ccc9b0308cab6ae73335b990582d559cf8d9459c422f03f4dc0dfcba4b72c3e66bd286db001e0064a6c7";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-x86_64/pa-IN/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-x86_64/pa-IN/firefox-61.0b4.tar.bz2";
       locale = "pa-IN";
       arch = "linux-x86_64";
-      sha512 = "6cbb3780012e9e89767bcad23291f9935836904946b71d3c238478ae30f9c72d12a94b68aaee25079118528c1bfb81f58439c72483f57f49174f43556f50cdd7";
+      sha512 = "b5af8ed8a500d8b7b8ccc7ac44be235c8182dad44a55e461365f7b9089190c40d7ab7d2ec0fef7189d19ee0d80f96bdcecdaadc563c7d281f61ede5d19ba227e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-x86_64/pl/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-x86_64/pl/firefox-61.0b4.tar.bz2";
       locale = "pl";
       arch = "linux-x86_64";
-      sha512 = "b02fd17e4432c75e10018a61c6d24e156658708bc127874c8f1a27a7b6cc3887feeacbba6047d723883f901666e6352127f8ce447651d78120ccba409470abce";
+      sha512 = "77a651fb2b5bcb33754adbaf09e1c5abaf9c07af78fe5907b8954a1d0439d2853186070124e926a4ea2dae6acdefc5487632110557e96fda274556e97fdf2061";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-x86_64/pt-BR/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-x86_64/pt-BR/firefox-61.0b4.tar.bz2";
       locale = "pt-BR";
       arch = "linux-x86_64";
-      sha512 = "e65860c40c362c36732d25f2eac9126d9ba5186343f2de91f33bbfab11d907a7c3968dd5f25664d8c5865c7824b5b754717b9f7a03eb231ba0008151ac7c19f7";
+      sha512 = "0de1974b69f3d95381be1ac1366e9e7cf1057e26adeb655e20b088bd77035fc00bf94f0db24e676e5dffb320efc99481a9c9ccdeb5f6b0ca5c7050313daa3ba4";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-x86_64/pt-PT/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-x86_64/pt-PT/firefox-61.0b4.tar.bz2";
       locale = "pt-PT";
       arch = "linux-x86_64";
-      sha512 = "847f71e52e133ca383cad419021657e5b17275f9c27468fe18dd34913665c770f4c9a059ea997684bf54dfb96a4ca6802f8e19b2c138410e55482b5762f3dd96";
+      sha512 = "dde0ba1bdee706596f0da206c9c30d959db7f1bd0ca7d98482bbff5c8554a7e9049b8b8f905a0cf0138c00e9cf136dd8a805db7653849215733268025720ce43";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-x86_64/rm/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-x86_64/rm/firefox-61.0b4.tar.bz2";
       locale = "rm";
       arch = "linux-x86_64";
-      sha512 = "337005d811d838545cb6d978dc4cf20afd35aeead11e5adee65fbd0b792b11fd857abe9d49ed14d9efafb7e2e27cdf79110be0b61d6367294072378e27b778aa";
+      sha512 = "c75a77ed854bc309bd20551a1dd99811043be9a1344b81831ef38dadcb31b0155bdffe7511e928b1fb877050b10a425c5f76520fedff88dd41388db7ff3085ed";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-x86_64/ro/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-x86_64/ro/firefox-61.0b4.tar.bz2";
       locale = "ro";
       arch = "linux-x86_64";
-      sha512 = "9c6dff63e8cb8892ca5ebf6050ae8a1fc639923442b7bfc52be3496667b6043598a85ea94f51af8dff27b5ebb59352b4a8c6898066de0b7f49ccd600eff967ac";
+      sha512 = "b9cf50d440e405114f055b597b85cdf8c78e67a42213d0a1c7c81346fbf8768408d0ea0defa173b41283a239d12b037f4a6b6ee6458e1aeb0e68822351b849be";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-x86_64/ru/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-x86_64/ru/firefox-61.0b4.tar.bz2";
       locale = "ru";
       arch = "linux-x86_64";
-      sha512 = "6b2fbaa5c4219288ab02cf376bc48393c6514d26a7c3c4d108b483eec6286101ca01f7399dbc62575fbaf21a4750fbd6b851bdf5cb3af1d5144b99f52e04a0b4";
+      sha512 = "9075f179b98ada166c203d044b55aff03a66c2e8c3c1478f919acf34a02682a126a5fbe7076cfbc8b34f5c4c68243b324e71056dd92cbf316b3ff23c36d3228f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-x86_64/si/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-x86_64/si/firefox-61.0b4.tar.bz2";
       locale = "si";
       arch = "linux-x86_64";
-      sha512 = "a152768e04c2e7ee4a501a4a50dd72591f19c3d6b20ea1fb64090f61998ff1ef7d65cde0a39d60d4b594e120b8a65d4bde90c501b839c6a1b8fbd268f02750e1";
+      sha512 = "2f8215d03ebdf28d74c4dd30f5a3db568e32e1a169a3902a71bbbbd546e4b9f9e2de2b25ee83a2fc512ba34888139ac2a1cad1625a8a70dc16233cde8babc28c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-x86_64/sk/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-x86_64/sk/firefox-61.0b4.tar.bz2";
       locale = "sk";
       arch = "linux-x86_64";
-      sha512 = "36a185b703c18e393dc581d494e90f58ebfa1326b434ad0e9e4cb6d0e44e51687d37db219d6000c7777a76372ce5dfc1428d945546887630206f2929508151e6";
+      sha512 = "12cf08203e22eff69adcbac620cafd5bae56ed137c257ace48930cb3f70d7877780dca32ed65afefe7015413581c9493a069d463c5285e9ededf8bf3b9045ba6";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-x86_64/sl/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-x86_64/sl/firefox-61.0b4.tar.bz2";
       locale = "sl";
       arch = "linux-x86_64";
-      sha512 = "1cb63ce3433f109eb9ffa795de2eb1b7c3dd52a66fb50b45e7e33f8150c034c06f928eb829dabdb7ffdf2d3e89f667e1d315aea566027ad51e288dc2d54046aa";
+      sha512 = "c4f20a2d20d89e9795cc8f67cfabe1563e69649015850e1e9e26c21a536325d760f4494d734b351b6e60e789e9d23b726a77b7ab8c970c820f6fe0a1e1de379e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-x86_64/son/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-x86_64/son/firefox-61.0b4.tar.bz2";
       locale = "son";
       arch = "linux-x86_64";
-      sha512 = "3d18c86a14c46a09669c9db111292006de1dd8ca8f26fbf0733b6478a3e93212301ceb0ef5824a250ed68b45ddb0fdeb29a0459fedcb1f3145f95974a0c0d39c";
+      sha512 = "d86ec2e9961d5802cd16d1e98e79dad8f758bc10f875c24048eab2b3114b55109e781c3dce3f8498436ab6f542671e9d4b883f0017be71d7321e2fa86bfd1dac";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-x86_64/sq/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-x86_64/sq/firefox-61.0b4.tar.bz2";
       locale = "sq";
       arch = "linux-x86_64";
-      sha512 = "05d945d5dcd2e8554ad8c8508f468c16cb9573dc3ae3bcb7a0ae01e11aee1bccc40686e96dc51ef64a380d94f391b6984cc1232ebb47f3f0aeb46913fed31446";
+      sha512 = "3ad5d9d572cb30aa8e373174e866701494548acb471f29b3477477606b6f856ed984b3fc84cb2302927363ee62009fbaa0a4a0a9e51ebabd431fa17b8d472445";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-x86_64/sr/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-x86_64/sr/firefox-61.0b4.tar.bz2";
       locale = "sr";
       arch = "linux-x86_64";
-      sha512 = "c9e1ad67ff5e183c9b30f91110e52d8b546585f837dd5fc9c859fc589dee4e49e5da57e4ffa397c3152226217f83e0ab1375a4c36da88a4899b7ebfe99654fa7";
+      sha512 = "0b684b2a726f849cc61d4b3dd4d8618280961a59f80e479689cab06d499aac6f1c0eee82705fa6d0295abbebb498d5652f9e745060323ccfdc2a7cb1b800ebe3";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-x86_64/sv-SE/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-x86_64/sv-SE/firefox-61.0b4.tar.bz2";
       locale = "sv-SE";
       arch = "linux-x86_64";
-      sha512 = "8cce3afd623efc0926f75e77f4db3914047755957f7aae01f67215caa1764f047a5af6eab1316d3b6562ad584d152d5cbec32858f9dd2c5403b8069efa555866";
+      sha512 = "50cc112c5aa0404dba0760b183f6849e74fa57aa28c7f4ec03ef3c68c8726ba212655fb5ac49df12f4492454a2fc8431550a9ae84b9e9f86eb6dc575617f77b0";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-x86_64/ta/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-x86_64/ta/firefox-61.0b4.tar.bz2";
       locale = "ta";
       arch = "linux-x86_64";
-      sha512 = "0311bc2738f4e245f78e8e1abd15d7b480ebd6ada25e79c13e2110cee6c789f11326352eac41d0e1a32954045125888cabddfc811f29351e053d45787054442c";
+      sha512 = "0821005fcb9010e14db315283d178438eab03f02e1dc7a524815cb1175509343265c2c972a8115d229f5346d5a5bcf99c6383fbd294f5862386665748112ab42";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-x86_64/te/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-x86_64/te/firefox-61.0b4.tar.bz2";
       locale = "te";
       arch = "linux-x86_64";
-      sha512 = "8e986b0741df57e59b5f211c7c3342d6cf7b2916b4591415afac7d747eb97c8dbfbdc3fc4b9fd0a834d16af97109476814919b3fbbd220d66db5e4ad01fa308b";
+      sha512 = "0dfc09db03347201731214c987856f22c63a89272d9fba0fb130f12a56e5ef2b932850f13af117551fef949803b9622717df02c7b164e10035243181168fa0fb";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-x86_64/th/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-x86_64/th/firefox-61.0b4.tar.bz2";
       locale = "th";
       arch = "linux-x86_64";
-      sha512 = "6524b7b5801bedec93d7cd7da2a7b05bbb3352b7d28399507fe21b72d1c2979389c6d1e51dc968bb7f28d1d0f7f723c93e2970fce90d84b6f9bbe4dfd258a94f";
+      sha512 = "4a54abbc01a456433ac601823dce9f22f1f19ce1def11d4469a8f5aac4b529aed09828fc75aee1a47855a9283bd54477994ab0be06fc0b4996153a1d0df43ff5";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-x86_64/tr/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-x86_64/tr/firefox-61.0b4.tar.bz2";
       locale = "tr";
       arch = "linux-x86_64";
-      sha512 = "fad0309059571ac100d92be735fbc307ee1359e1fdb9128166cbd2fddd4caa7543890f85875943d445b71b97d20de6845e7d17336839481ea7624064ef4bed2e";
+      sha512 = "c3b90f4197f7c99e3c24b6ac6aae31567f5f5fa6907a5eb9cf026904bc627bc8c0f4b3b889e30d63ca871499ced0a0349fb1fadfd84c8171eb0ff52a771fef18";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-x86_64/uk/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-x86_64/uk/firefox-61.0b4.tar.bz2";
       locale = "uk";
       arch = "linux-x86_64";
-      sha512 = "4769300bb43e9b88314e13a42d0ee760a86bac32fc5e3ada4dd03d33886a8f7c3b572c901a081f017ab0ce46d31f3bb97e8796d4699db0ef582ffc6a6e84fd9d";
+      sha512 = "2067902285dbbfeb7f3c8dd946f2f2997a8ca6f7a731deda8fe53b3bec1a980793010beebdb5360d8c08ce643a2edc0c86676f50961b7e531b4b59610ad9e151";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-x86_64/ur/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-x86_64/ur/firefox-61.0b4.tar.bz2";
       locale = "ur";
       arch = "linux-x86_64";
-      sha512 = "ecbe4eadfd031f28cdcf75443d67f14906d497e18037ab2c78e3ec81fd6e0228495ee725c29bf57b1b5d0abcbceff94e72e765dbf38110fc5ad4ecb9ab1873f0";
+      sha512 = "f2d12deb0147d178e53444e6f047e3cd809ed53124f78dadf698cce75f8f9fed76cc94cbd32d606c0e7ac5d1c6cd07356a35739651650bd3e3f95a6b2f655ac8";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-x86_64/uz/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-x86_64/uz/firefox-61.0b4.tar.bz2";
       locale = "uz";
       arch = "linux-x86_64";
-      sha512 = "ece335699ca00e0296445187a1a96ef6acf34985b8e8996ed0165f45e7648b9af62a4e242a78881e220d5ff1336833bf8025ae78fe6458fa90992a9a0bdb16ef";
+      sha512 = "4b6c73553ab6f4f20bafbfc1c45e41bf342c76de27562514d2662047e78435d95ee0c20442b5328f13ea0ecc6451f18166fe10e6fb0b16975fda4000c713c80c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-x86_64/vi/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-x86_64/vi/firefox-61.0b4.tar.bz2";
       locale = "vi";
       arch = "linux-x86_64";
-      sha512 = "8fd030682e6d3eef3397d340814dae3d58dc0025b575dbc20c1d5d40ae97f48631ade63be12e03e9dfd8e84e5dc1585cc2cfa0d8a1cf958fee50006a7d1bf27c";
+      sha512 = "172f81ad5505494ae3fb3a170e2c38507c89a2627896e8889b3d128f68099bba5b9a91af7d102b70fdf10e827a4b7fb6c0aed117cd1576910e44cc5e72372207";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-x86_64/xh/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-x86_64/xh/firefox-61.0b4.tar.bz2";
       locale = "xh";
       arch = "linux-x86_64";
-      sha512 = "55ebe55c84883ece28fb6b7771eae6ed47b0dcd5b90974110a7018f39d1ad690302be44a67d0d034ef7b77f985d10cba26d3fad714579aa3d293bd6f36fd0880";
+      sha512 = "3ee80235b5bb3b717930fd9366c43c3c30d519945673ba16b550fb8665b91ae929b52c7852281f5b275f2c0a140553bc348e2323960516d2ccbaeedf5999804e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-x86_64/zh-CN/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-x86_64/zh-CN/firefox-61.0b4.tar.bz2";
       locale = "zh-CN";
       arch = "linux-x86_64";
-      sha512 = "fb1176a2c711ec34297a5ddf95a797c4dd5823ee9e898e78c804daa44c16ab78fc84addccd9d83f4171af5dff60302f69236fa92cc584e3985770d6bbe369e57";
+      sha512 = "735e577a352aeffeb8110d4385e35741f28a5f7471cf77dd7cf146a48d5fe9aaabdf80dc468807b15b74601532a5eeddb27d3fa158cffc32623d929111f67c47";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-x86_64/zh-TW/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-x86_64/zh-TW/firefox-61.0b4.tar.bz2";
       locale = "zh-TW";
       arch = "linux-x86_64";
-      sha512 = "226d55ac9bb97fee285ef9fbbe54fee9746cb98a09d1e669761bda08ea6115f2cdd39e1eff0a087f8f46d94139e1906758a8bcdeb74c191c0f453f3705ceaeff";
+      sha512 = "ebbadae639f4a3c9de64909b52a56ba192f832c0200fb983339b16fcf3dedb0b28589c73599990c572aadf85256701b579311a0d4e30b45a507e0c7186ec4d2a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-i686/ach/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-i686/ach/firefox-61.0b4.tar.bz2";
       locale = "ach";
       arch = "linux-i686";
-      sha512 = "9cf2e615fcc0014b5c40b4113c3be737f5ef7930515dd84a92b8a0d5d6cb90f29c7fe5cab3252cd895558ffb7a6735591ff6cfb8e8125a09455b2139d2d3cacf";
+      sha512 = "61779e2106c89aa37e7ff2b0e2bfdcc2fe5f6d3de0c96e913149dfac19d93d2f572298214bdc9ac32d26ef81f69710f55ab888d9b432928c6473b2c510c23d60";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-i686/af/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-i686/af/firefox-61.0b4.tar.bz2";
       locale = "af";
       arch = "linux-i686";
-      sha512 = "eafd8c098c6092829104ffd870f9803338628cf38cc0525de6beea95d182a8b0a46c9ffc3180798ca06d35bc7822bc18b551b57166d02a53c786299a85c41fcf";
+      sha512 = "39e88a0db67b553ae149626c34cc988a2164b64ab634fbd9d1f649ecdfcedfc5e2a62a017c3048df74aad8285be7d904dd6f4b8edd9ced2e0a8beb25ea5cdbcc";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-i686/an/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-i686/an/firefox-61.0b4.tar.bz2";
       locale = "an";
       arch = "linux-i686";
-      sha512 = "7b82271ede38e63c86d0d805c486183c52f0ef12b181a8cc57315fce353111497896e884f7eac873f140c25695af4a810fe8b7a7a070d9015f8cae3eef0b3a3d";
+      sha512 = "addb893599cf0e376c37905a76cfc4e05d17816a0def36ae8b163c44f994a10533e0a55ff9a3ecd19bf8f8b6627ba68afb1dee11125554132a5509b095412eff";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-i686/ar/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-i686/ar/firefox-61.0b4.tar.bz2";
       locale = "ar";
       arch = "linux-i686";
-      sha512 = "49749432076c90f63697b45fcc8714c6d98a6450ea8ee5d2f850c7a229f65277786784ba00e2ef14622c19a121805a7f07eab7e7dee02a213fd6d44cf10bc783";
+      sha512 = "a0598263fb3ad1aa67a75fb47a92633c31b0c769b05b1279f8c8a65989bee532a04480b47aa41cd6e03159ea407db910efa2cd15ce80b47faef18e15bebbabd8";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-i686/as/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-i686/as/firefox-61.0b4.tar.bz2";
       locale = "as";
       arch = "linux-i686";
-      sha512 = "b8c3d57dc6cc1c00d8edd37eb7c81eca0c2d8f5df318801b111630511968bcf5fd8afb0549cb3618577c95d121a181d4c8ab523a78857826141621ad5c7d26da";
+      sha512 = "d3d7eea767b6ed9097585c91ca81bbb83567749c9998896287338dff19fcb78c9b641ff9f3abb28ade7624b110e2a129495ec4e3d7906779633c319e950bfa90";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-i686/ast/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-i686/ast/firefox-61.0b4.tar.bz2";
       locale = "ast";
       arch = "linux-i686";
-      sha512 = "a0b482b610d3d569f1a17d166bd86bb37fe57c1f7d8bad6164c40d509811cf706d818be6add0c3277531f0cf5a18e14eb8ae4a652abe9a45207f62de6f4074a3";
+      sha512 = "4e12e39c1061c14db738372ad8fd0c9488a42490682ae0f0450a5d02d08d959ea33c87c3e4c1e66ae58fa446b8faa6643455bb21cbb03d2aeabad0207f8f4180";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-i686/az/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-i686/az/firefox-61.0b4.tar.bz2";
       locale = "az";
       arch = "linux-i686";
-      sha512 = "c1bc3350bdf7f9c16d9b3370d01661c369156e55bfdc7bce0a4a1c1d1b3e7764a691b257984696b021897d47b206f3b21dc692e4de9ab6aa3a47dc12ac2eb9d9";
+      sha512 = "8ec2ddefa9530e1135ad70a8ce5b2304a756efaa201414f657bf865699b02e26b19431fc86d2404b41c3d3557b81b9147a94033739c59b17690be4d3f250643e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-i686/be/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-i686/be/firefox-61.0b4.tar.bz2";
       locale = "be";
       arch = "linux-i686";
-      sha512 = "b228044ff1a1d581b00a25c3c33ae2059622f80900d0106af9da3a2b99722691e795bd83cdefd64f81ba17928fb74c3e9a79370871d7ea3c50c3747c1dd18046";
+      sha512 = "55d15c013df53929560584d3586a946e1cd3b0fd481881d10f0ded8513257ab4fc4a77d0495708c203b15bb749eb92abc2a4231dc892987ae4b2955a5fbc93db";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-i686/bg/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-i686/bg/firefox-61.0b4.tar.bz2";
       locale = "bg";
       arch = "linux-i686";
-      sha512 = "b60e554d7233d14b6513b815289a81c06a54d9da30dd57f1d595d0210b6229229ae59b3523dc4e3ff4f12693e519898c507c506db65f3f76b3bd475ce6e33d22";
+      sha512 = "229c10bb56080d50a88657b7595fa4d0f33f79570a00bdc9207c4b583aff5ad27ce309d6dab77988789cf6fa2671c7fb21dcdc5d69b0a4a7b87a767c7a7ca98a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-i686/bn-BD/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-i686/bn-BD/firefox-61.0b4.tar.bz2";
       locale = "bn-BD";
       arch = "linux-i686";
-      sha512 = "8a0ee21d78875b5ec34a30140fbfbdc9fe9480cf792d73652fa2479c7446115aa501562c4cab873aa3f45f20802941272596ee4edc91c2927cdac22a887915da";
+      sha512 = "81d57db09707f13efc8fba2a13a0bffbb40224e837a50f5fe3c59b1648d89c8f7965cb4eae60ba0b1616cc77316c00ea2189012c4d8b8677649c042907683ae1";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-i686/bn-IN/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-i686/bn-IN/firefox-61.0b4.tar.bz2";
       locale = "bn-IN";
       arch = "linux-i686";
-      sha512 = "b38841e3b9d6b5ced6e8ab5dbc3510275f2cf0410fcb75ec86a99d31a06d9524c1b2420045bc71bac7b541ff60dc37a79dd5eccda2483a3e92697ce29594be98";
+      sha512 = "f674542115e8d9117f6255dbfc96507577791f7a29ffaf1de263ec6b75c0aa332beea348dc9be60c24ef6ffa822b100037030985157fa4e8540eddf2a9d6d769";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-i686/br/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-i686/br/firefox-61.0b4.tar.bz2";
       locale = "br";
       arch = "linux-i686";
-      sha512 = "df014a91481412ec3c950250d37f8ee006055f1504070e01573c479b5e3f157eaf84a6ab41ab5eef96c94b868e526dfe0f884f36263e36437a1e3269e8b33b43";
+      sha512 = "9adbfb3ee70096a03dc75235e2a0ad60a9d90f1b240d3ae35a36186c013aadd283470b0878a8514759f04952208210bd4f2ab63a987e055bdbc9652296333259";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-i686/bs/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-i686/bs/firefox-61.0b4.tar.bz2";
       locale = "bs";
       arch = "linux-i686";
-      sha512 = "982567a667735df9fbe86a3c3dedc3103d6b63c81e8e54f70fe9b3d6ba751de1545c1dcf3b902189dbdbbf5bfd5b129186e8f3a09f417a64746c71bb30228c25";
+      sha512 = "b9267ccda43e947096337b02a5c40bcdca497755aeac2df06930232b1b1bf1b7e245c32733990575719c6e998c2103d8d29f46c804024cb4cc15d1400d459ad7";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-i686/ca/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-i686/ca/firefox-61.0b4.tar.bz2";
       locale = "ca";
       arch = "linux-i686";
-      sha512 = "c6fb02d7867bd2541d37ac52bc92da0357bad6439fac72fde1883b843a14b6c5bcfe3638bfda989e9169d8282624ea43735a167fe78633601545cd04636d2465";
+      sha512 = "59a5ac9116bfbfe296595cafb11c13cfe50a4483e3079a4112d04a10e1d6168b67183874f25047fa7c3e0e93a7932e5778bc78930e0cc48ff9a4a661fea202dc";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-i686/cak/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-i686/cak/firefox-61.0b4.tar.bz2";
       locale = "cak";
       arch = "linux-i686";
-      sha512 = "9b6542199a9e02ac62c604543e2ba72e63847482662992a1a1717de78f3d992d7c70c5476559dce147a1756d25dbbe78720118e607668375757bedcfcb3b919f";
+      sha512 = "3ea669f0050922163e4450ce8a1e72432dfb9c64b9317796b0648e9079333a2204ad1691c9c8e293714aade59c57aff75ded358911f4bcf161ddd140126dc164";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-i686/cs/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-i686/cs/firefox-61.0b4.tar.bz2";
       locale = "cs";
       arch = "linux-i686";
-      sha512 = "912eac4e2b9ea7e48f3270138aedea1847ff7c2998489244beb52125286565423ee287b967d675556204e38cc90b224f88b0830caa03f13fc908649480f8b6a4";
+      sha512 = "39391f7b6b1ac13ec573040c5b7ada54c29fbe202cd5efb9bccf0ba5b38c962ba199afa845a5d7df0ecc58f3f205ce0b120acf70f5cf5c66fe8b465f324efdf8";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-i686/cy/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-i686/cy/firefox-61.0b4.tar.bz2";
       locale = "cy";
       arch = "linux-i686";
-      sha512 = "9f9ad35c577fd5d8d387861ace87dbcaa46768a6b16b1351314c1eba98a23ab99de3a3670e54c0b6463be38fbbf347868a4915f2827ecef5fc722c19bde82082";
+      sha512 = "2c44aa81963f6285bb8f5e689c18a9e5f15d449d1a1f7983c5e65c0049a8da72bf9e07c368b68da408839e4e4c58b35692cbb7dd3fd565c5d53c21514ca33628";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-i686/da/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-i686/da/firefox-61.0b4.tar.bz2";
       locale = "da";
       arch = "linux-i686";
-      sha512 = "53f724c516ebc8d1ac72c8a6f3e21975ccaaf2f7c12382c5483e9755568a1908ddf8448eae34e91c64a1b3d4f73ca7b4f71bd5f3ad36dc14468323599cea1745";
+      sha512 = "0d49ed761fc55d137c4337c43d0ac8e2ee36c15fdcba2ffdd6f536a2d51ee42227eb32f553ff15bcc1313476a12d7f51d59a112c2c23aa47f753a01adf121755";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-i686/de/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-i686/de/firefox-61.0b4.tar.bz2";
       locale = "de";
       arch = "linux-i686";
-      sha512 = "f4332be64f0a87f7afd98788307fedae93021ab3578c7c193e16e6e3a66c2b7468eef75e7bd8ffad4e23b05b47d04a95d56e0a51428ade99e956f97152b1b2c6";
+      sha512 = "51cf51f85b68346dd0eeac98706e097e1a42b6da1e3d740459d58e7954367c3dfa4bbd423a07eda4b2f89e03de1c3c6ac169b0bf0657922c9c2f0ec865623a47";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-i686/dsb/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-i686/dsb/firefox-61.0b4.tar.bz2";
       locale = "dsb";
       arch = "linux-i686";
-      sha512 = "8e6bec92f696e49273b1ba9ef1ee367e7d67db409e2833dc3e76a7cf6de2437f23a7203865262e9e0b355ec8aa09d8ce6a8bccced367108039755fc8bbee5319";
+      sha512 = "06d58745022be40d690483d0f96b232df31de994efca42bdc43d57554ed38a6c4b36b466dd5b9a28b6f9ad8bad8c672a0cbd1bee5c7dcf0820da479ce4c03b55";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-i686/el/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-i686/el/firefox-61.0b4.tar.bz2";
       locale = "el";
       arch = "linux-i686";
-      sha512 = "fea0097f647d170f04e239668c4f6d3a31d0c0e0a7fabfef909fafe82cd2ae6cfc08166b6d8c55f2e778781bff98055ecb1393fbc21164b699feb3797131d426";
+      sha512 = "74fac2b70c3a5eda6859b7eecb4609569c56ae76b82f880ff9cf9d8bc1af2a3a6efd09ddb2bd32315205faaa6e5cc471cf41edaf139a3da486ce4e7a2788b635";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-i686/en-GB/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-i686/en-GB/firefox-61.0b4.tar.bz2";
       locale = "en-GB";
       arch = "linux-i686";
-      sha512 = "9664ff64be155b308c586b8e170f06004160809c7802674f5c14549a36ad18260e7736f40ce841013a5db9084be83a4e0f44b8c11b69c11f0a34be8bbe7ea11c";
+      sha512 = "f842a7fab1eb6bb15a9782838bcda4b69188c2a36114316f984e5e2f21fbde9d8d07b7a680ce3516ee359f638c82524c1961dd67b1f05a430a045851aa6e41e4";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-i686/en-US/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-i686/en-US/firefox-61.0b4.tar.bz2";
       locale = "en-US";
       arch = "linux-i686";
-      sha512 = "ff65f20d9ef9911ac853dcd830b4fdd60790c9c860fcfa3f57791c3d2615624a8ea837342745c7646c1704c04e145c4c5b68c939d49a1fe05d5835e78d141132";
+      sha512 = "68797571e5cb045872c78db9cf9ba06bbe2982f464199a2c89f35d1b42369f49ce3abff1d01bb6be612efea2a102c2cde5f00d4ae71f02ac0728abfb96bafb65";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-i686/en-ZA/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-i686/en-ZA/firefox-61.0b4.tar.bz2";
       locale = "en-ZA";
       arch = "linux-i686";
-      sha512 = "de76c940a1d3f5ded493455fc979582908368e10035d685fcb2c216dbbe55ca539a3feae8851b6ad97901be6d4a6fce34583ff35c5cc241765ea115ba45b6d8d";
+      sha512 = "22369e8b23cb8b30a8e1680f35acfefc3198e2cca558c58ddb0478da8ba11b08f1336cddf1fd9d3bbc7330f43f930ddc9c81b4b25bcbb6f2919aad8b60a30def";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-i686/eo/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-i686/eo/firefox-61.0b4.tar.bz2";
       locale = "eo";
       arch = "linux-i686";
-      sha512 = "4268e22b96f9195444bca4fbeffc1d47f1ed93c3001115f532f3bec1bbf788fb72c99d5d7f6ee427c19b103602e35e98354784aa13368f0df53b52fc9a8d9c5e";
+      sha512 = "44b5d9b3a4fd149942277700ab3ce73246eaa8ab2826843bbd4f4f5db5aca100e6aee1149389cb9d21335b1f928035f872afec1a62874942932614afa01482d4";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-i686/es-AR/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-i686/es-AR/firefox-61.0b4.tar.bz2";
       locale = "es-AR";
       arch = "linux-i686";
-      sha512 = "143cbedbdb18aeed78a1805591011b2dcd2837ed950aa2579d34d4006aeaaa85a84ceaccefd8b14e1d4695469d0cd8088261927e80eb5bdc6df4ef1ee5e07350";
+      sha512 = "7ac6beeb77e49d5439825a6e909355f95dea535978b8639173c6903013cd1218461b1a8c3f4fc1baf291e9063e7f16c0ad0a985f02fc7c41f1f654ca872c9797";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-i686/es-CL/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-i686/es-CL/firefox-61.0b4.tar.bz2";
       locale = "es-CL";
       arch = "linux-i686";
-      sha512 = "6fe0857c8615720b5f268297c1809148943a25b1549f294ac83db6bf3315f7984de7b9b9921fffd0505f2d956fcfcba6b90e0f14d0a25e7e1c52a89f13eb2079";
+      sha512 = "7b6c6daacb63eb5435a908e9ea95eb205c57e0626059f80237083290af22b4b12feaefc0d47ca23345238fd1f665b08e1f97e6b26633b7fe231b9526137a29a8";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-i686/es-ES/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-i686/es-ES/firefox-61.0b4.tar.bz2";
       locale = "es-ES";
       arch = "linux-i686";
-      sha512 = "93817b6399e451a99317b1981c033cb9ed46b673ce00fb6014e384be250ec64b5f32625d9e1b79e80e4c38a203a32f4f4716c76bbf2df130a3d7be1604a91106";
+      sha512 = "37e8968ccac78447e07fe54965474dd6cfde6fee86be113bff29161af76a83b29806b3ea6c651e8e014f550832012032750daa72d7d1ddbcf99549bae1a6a345";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-i686/es-MX/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-i686/es-MX/firefox-61.0b4.tar.bz2";
       locale = "es-MX";
       arch = "linux-i686";
-      sha512 = "c6ed809031bb31dfe29a5fa9af201b59eabd59b286d0b7d69063c98682f603a3b6995eed553ae1db2f433b3ccd85e1a9e0ee94e14ec63f2e428e317335137538";
+      sha512 = "c61dd6fa039da4724cd5f058c838624f0e5fa8246b6c15fd28e5f501077ff0136dd9f45a3c249eec339b2ebb253a7563e06ec080bfa6bbee823bafddc36bee55";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-i686/et/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-i686/et/firefox-61.0b4.tar.bz2";
       locale = "et";
       arch = "linux-i686";
-      sha512 = "9e688803943cafff591e9f675a864447964cbb2f0441db212e9152e88edae83331d913094053c2af49db9caf0341c7e6194ff6f54c48ba6931e4b5ef4222399a";
+      sha512 = "635bc450686fb89bb67573a313a8b06c4c7ac3f0a7ce2b8d9ae9cfb128e63f6cba4a4701c93016d9111d1ece4b5466bcef7497ef83c9b8c664f903f0ed79da10";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-i686/eu/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-i686/eu/firefox-61.0b4.tar.bz2";
       locale = "eu";
       arch = "linux-i686";
-      sha512 = "47cd9810a14f512857cd6b11cb839800f0335c17cbe6ecd29c22b765f475891bdf07f9756f5a9258233c16389543f4bd662f767636823bc578744323bc56eb37";
+      sha512 = "9fa8d908bb5b656afa68b67a3289e576a3c64b845a9688261e21de10908c123879bcb87eb1ee8e3f151295c97596a8a122ca57d61eac56badf48e0c1c3efd245";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-i686/fa/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-i686/fa/firefox-61.0b4.tar.bz2";
       locale = "fa";
       arch = "linux-i686";
-      sha512 = "357c1be02050c9871f54b444c7cea4b56a3834779e239aebfacb00feac0960197cee9837ad127cd5e617423b44ab13ca1d1a4aa4d75d52ea59a4d8caec64cdeb";
+      sha512 = "f8e8a56dffd9c82289b7bb5c2c953292dfaec1c4737fffef17f8ed32a8abedee90c4d484fd9a8a27d24163bd3005e1931df5bb0b50efba5d42362517861997f7";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-i686/ff/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-i686/ff/firefox-61.0b4.tar.bz2";
       locale = "ff";
       arch = "linux-i686";
-      sha512 = "5b35389950b1e5913c0a8177348f314235fab8560663abc59ab09c360ac02857e3387e77be119d2c126ef000ee52c9ba1b408d9b760158dab751e03a618863eb";
+      sha512 = "91d0571155490d847b9bd5bdd8cec98e4edb7841a7c32da07b52fb7e3d67fd286ae5d770af47d66d7e80638c5e741f02a3e38e2cef28f08cbf332ae5f1cc50de";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-i686/fi/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-i686/fi/firefox-61.0b4.tar.bz2";
       locale = "fi";
       arch = "linux-i686";
-      sha512 = "d9a0cedad0e8715bb86031797639ffe28ba2b5846531b6712de5b1ad2dda60f1279ecb34570b172091e4e245f09e8cf3bcc62478f7cfb02a38043bbceb7b2d6b";
+      sha512 = "8a363ade6138222a39520a7e3b02fad03ae846ad0b015f90259c5b6e09f4d309bd84a5b545f67288e3415f406e3efbf6c2dc9e1aba1aceba116318734de30f35";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-i686/fr/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-i686/fr/firefox-61.0b4.tar.bz2";
       locale = "fr";
       arch = "linux-i686";
-      sha512 = "b850891b14e1aeee6779687f558160d21f1618da6e6b8133b5701a2076a8b91a283af711c0107fb9862e4c76dab318c6be9f19c03fd4567c67530f573003bd0d";
+      sha512 = "47f2830f33753931516be570f1984624b41009fb0e8402ac6f5bc769fc6791ea50ff7c33ed79deee913539461f1ccb2eb0a0b9b33b9da9d03c204cd0d77c1dae";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-i686/fy-NL/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-i686/fy-NL/firefox-61.0b4.tar.bz2";
       locale = "fy-NL";
       arch = "linux-i686";
-      sha512 = "cc37b6614980a31fcc11a5b964a08a900661ca1057ea8ae486ac7dd6ada72adde58ae1839dd9797e6aeda28e657d4d763c94a906f745fbedf8fa9423e3d83061";
+      sha512 = "df144500225be3ed718e4276062903b4e7cbd9b9d176cab88469ce5ba57960817be80a106bfd20da2e6cf14807dbece026167572e941b3c4d75cdd49e753e4ca";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-i686/ga-IE/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-i686/ga-IE/firefox-61.0b4.tar.bz2";
       locale = "ga-IE";
       arch = "linux-i686";
-      sha512 = "2d078d00cb4fda65ac14abc3ab5e4a4a0c203f12e64f726843751884b51bbb15bafb15cc1dc76cfc587428a7348a6886d3f41a125129235432bed16ea2b53f94";
+      sha512 = "b063d3701661a1d3298f268efceb4ace079a56b8017a0476df13677d1871fb36708984d0a0d03d56e90a02229e7c3b005501259884af0ff8b38c503deb581c68";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-i686/gd/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-i686/gd/firefox-61.0b4.tar.bz2";
       locale = "gd";
       arch = "linux-i686";
-      sha512 = "74fc1848fbfc826e18a60b34dfe61b056636561927aa96e2c789d26dd72b9adff32ed445c62fe62b877b28945ea5a0007224deabae1d264dbf3ad61c5b38493b";
+      sha512 = "68f34cfd93b5e84017ee06cabef3945797c29668ad6c5574ec11d2bd3f4e6480d48c2161f5908a1782b9ef5b139fab855bfaad2db17646c94f33de2d2e84aca4";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-i686/gl/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-i686/gl/firefox-61.0b4.tar.bz2";
       locale = "gl";
       arch = "linux-i686";
-      sha512 = "9ff0b453c118cd48cb3455690755cba41d39ab81cad52d2f6ae6ce26589f5d09ecc6506acda66b5a0b79e0c53ce51d9875eac646cf31b9643baacc8866dbf50d";
+      sha512 = "3bdbcd0efe048104c09e44645bf11d3bc2daf61d3158d02d4407c8290fdd51c7c63d8ae7a111132b173a0fa86e73350617aed47fb33d9a97b911b20d552602c4";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-i686/gn/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-i686/gn/firefox-61.0b4.tar.bz2";
       locale = "gn";
       arch = "linux-i686";
-      sha512 = "6b4c85b78808d1c28869363a0760aa63bb6aef022734b5c4bd77035e68faaaacb8501d296ae32bdf70e4a0c8c001978be13bf596e6e87c6d209fe0766b40bf33";
+      sha512 = "1fded332e034a7ad70fa2a33d4033301291098b5deed26cce6e3007198f0ed998ad32fb019d0126c5fef7bbc546f5c483be56ff0d0ae299b42482b283c27d4bf";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-i686/gu-IN/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-i686/gu-IN/firefox-61.0b4.tar.bz2";
       locale = "gu-IN";
       arch = "linux-i686";
-      sha512 = "860423153134eb53a0ea7cc1e77f3e9ef03fe50ba59bff939b082e41ee015f464ea76ceb93400f91b8cdf2288fa64382f44b735a42ae4b805c3b7ea9d9dd4c40";
+      sha512 = "36b1c695fcd4db371c27d6560c1d39f8cb692a297423fed0e8bd11ec861b26ad0b94c97e7283828954d183ca69c4347b378725e04454fb4ea146836602ab3447";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-i686/he/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-i686/he/firefox-61.0b4.tar.bz2";
       locale = "he";
       arch = "linux-i686";
-      sha512 = "10eb3db2c96e3c9b157890abd5cc83ee852a530d4f3f11b043049e11458bf52f2d3dc3ea2e8f1a0352f9541177130e07293f1d008f6d89fef734a8bfe65c247c";
+      sha512 = "5c96152e5244b5da39b4c86a24282c289516c7555e23d0152796c7ae78ecc186cbe870affde2d25f5d30533d2f73970d28ef7595b9ff5f006f1b7eb17fe78fc1";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-i686/hi-IN/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-i686/hi-IN/firefox-61.0b4.tar.bz2";
       locale = "hi-IN";
       arch = "linux-i686";
-      sha512 = "e55dcd464c1c99613842a3b98d7ea2404f516be7ffa92765021e0fda65a4f961b470af53f672d61b0579d18618dc84d0f851158fa773800163ee8cbbb6cf73cb";
+      sha512 = "ddcd5ad522fcc041028d82d212dfb0c05c8ffd6737af6ed044bd7d26d34317cad252cfea2002075dd855a52a86be84e54f02c2038bf1aafb1b10adee90415d31";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-i686/hr/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-i686/hr/firefox-61.0b4.tar.bz2";
       locale = "hr";
       arch = "linux-i686";
-      sha512 = "ff166b9bd88bb607eb5e06ace5015a76fba9ff8c70967bb043efc52d6eedec8f1eb2fb720a85e19ef3994ce5a1de081b624fac37fea2ec7d88236aae829cdc8c";
+      sha512 = "a4131caebecb7d340f8a006684118f801cc8a9987cb51d219d5463e4de5fb934a0a9856655224a3977657879bb45f823ebf41271aea26878efa52ebb1357cf34";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-i686/hsb/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-i686/hsb/firefox-61.0b4.tar.bz2";
       locale = "hsb";
       arch = "linux-i686";
-      sha512 = "679258efd864a674a471674ef4cdb241f1ebbd9713c7017c28fb528065b52ab658413269f346415ee14268664bd667f53db618290ad971fcc24d33e957605eba";
+      sha512 = "ad25dd1d0e795150537860b60174ce0c475b341605328d68f4cd1e0bf0c5609e08b6d637ef4ea654f2683a15b8a5dfe2ddf6a9fbc609ae13a4add26d4ddab4c6";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-i686/hu/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-i686/hu/firefox-61.0b4.tar.bz2";
       locale = "hu";
       arch = "linux-i686";
-      sha512 = "51758c4e4c57495a6a44bafba54b1ee376139258f1451e51cfb68aacc5990253ed7fe1ebd0639d9f8c1fd7ca59c344c330333d5da6b2b992fe9da576fb251aa1";
+      sha512 = "15227814eb13d55b9a5274cd21da6127b4012292403b06fdd76306b1ca40fa32992ed735a43be6229cb0ada49424c23dd655fe9ecc8361c107352fc40357a804";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-i686/hy-AM/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-i686/hy-AM/firefox-61.0b4.tar.bz2";
       locale = "hy-AM";
       arch = "linux-i686";
-      sha512 = "419e445b1d97710047a80e74645fa1504766e4d89d5bd616f98cc4a50c936b60e4c1b32202b13f4703e4edafe13be13a2eef1fa22ae77ebb1432f12463a977b2";
+      sha512 = "10a88c32862badf5db544470dc0f3b08276e74f0571b6f4e3af80f6f29009288d9760d553776fd273e0bef41b039a318f09deef478fa63694096d4ed9fb7667a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-i686/ia/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-i686/ia/firefox-61.0b4.tar.bz2";
       locale = "ia";
       arch = "linux-i686";
-      sha512 = "59084fde1fc58ef1ed14db350281b6c4d3fc0abf08f349c69083e2185b4441dca760e288ec861ff97fb1f4a12942f65f16fd4fc6ad78a7e006def5000ac28cac";
+      sha512 = "4a44abb56c89dd65cc89be06fc17edc79bd6fcdbc600860bfddedaca277e03a5cc146bc89be4e3529bc320e1dad14d080efa6d388a56f0511fad8e69c5752ca4";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-i686/id/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-i686/id/firefox-61.0b4.tar.bz2";
       locale = "id";
       arch = "linux-i686";
-      sha512 = "a97dc85473478c00a35767dc725030fd55a285b707ba0627ec6413c51c64d5f24891b6a9fefb17aa54a4bfa42cc6625e77df8942af66e44de1fccaa7fb4aca9d";
+      sha512 = "611036954d22acf9b82283e44e869a6cbe6e46f2111b30c410576af281e907f19abe4b885ed1ba68d67de7450ca22bd02c020a9aaf43dce6b64828c55aeac373";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-i686/is/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-i686/is/firefox-61.0b4.tar.bz2";
       locale = "is";
       arch = "linux-i686";
-      sha512 = "1ebd9ce8b8285597ce3ec93e30ba3d8564f400c6c1716e8e7e043342cb2c69c391dfca71ffd62ccfb1c9a6719f107d869fb1f4caac18308b0d33a912139297c6";
+      sha512 = "051b1f604bae1d65d8001dc524b2edfe36e1a07e4f8625aa908bf912e7791840f6ee83581cecadec079eabc67961bbe8204f5992795b2cf4b29edc242d741837";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-i686/it/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-i686/it/firefox-61.0b4.tar.bz2";
       locale = "it";
       arch = "linux-i686";
-      sha512 = "e96beacb71274940a491fe68c3b12e2c65672bc3a3fa45f3e8b1febd72acfd601856c109bf3a1027e9690803ef4112611fc571b7e7e51a01fef1b0a0f2a638fb";
+      sha512 = "3939de7cb78afe4749d9981cc40bbd8157f028f6f19b247e09d25ce43af7341d2b8544be37a1052ffae17a0de796333c203fd89408fd9d390b16f41947bcb985";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-i686/ja/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-i686/ja/firefox-61.0b4.tar.bz2";
       locale = "ja";
       arch = "linux-i686";
-      sha512 = "f1ba3a7c77da4f4d6ec8c48ce3353356eedb83dd16f342ffbc5df602922c098ad7ac48c6414ac9a0aa029d3d504412c7c614a63b85bc36f172663f2dc65ed66c";
+      sha512 = "63ca3b592e0473a2cc24bbad734091d90e35464da526d6696b68bc2478d1fed2571f3ba6af51d5d19898d7640c6afc5cc3354593ef9d3d389410b7e50495b326";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-i686/ka/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-i686/ka/firefox-61.0b4.tar.bz2";
       locale = "ka";
       arch = "linux-i686";
-      sha512 = "5a63064d45cdead33f387c3f9f053abc659c02b957d3c7edc9b319defa0c6c5e36aa9134257ded94c102511d382c366cacc3c744280194e7a7c1d920966c692d";
+      sha512 = "75a3ea5b87058d3e793cffff69c6b13b0e65395241ed2bcb3f566adbfb6c9a7f6f419f211f1fe11c2d44008091f3b7132495961d145c155191d9fc7af29682f2";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-i686/kab/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-i686/kab/firefox-61.0b4.tar.bz2";
       locale = "kab";
       arch = "linux-i686";
-      sha512 = "1c9d970798a8cd1e7fc302e479e1609d919bf098aacc4ac398e1287e598d33e396f37cdd521e65ac1ce828d1aa690765c1d5b407aff6835f53c725d4cdf29237";
+      sha512 = "290ebd2df481ed5b4b3663e1746b5804d9d7fe6aaedd2e81f10f566fd7668dc27f869e992ef023fa921c77818d8e389676de5cb94459ece81aa3828e02f527b4";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-i686/kk/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-i686/kk/firefox-61.0b4.tar.bz2";
       locale = "kk";
       arch = "linux-i686";
-      sha512 = "e9aba1a5ac3a4aaee4623b62abc22e387539041c940b316cabfe89fb0320d30e1a063c72a0247fd364f8f32c5c02ca4431012c74795d4cbadfb96f2f7fd673ea";
+      sha512 = "372ec57b95d63469552683d709862d66cd5ef16c3b6c91c618193799eb9cc1b882666be8137bd1d037e656d7841e4a18cb1f5cd5c477e49e7f933bf7860d4116";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-i686/km/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-i686/km/firefox-61.0b4.tar.bz2";
       locale = "km";
       arch = "linux-i686";
-      sha512 = "92547aff76f0d0a124e82c9a6e6b91f66b1126d23f652423333513f618bc674d879cb777447963717663b91e23cabb687de730129fd5af9daca2055ee2dd78f2";
+      sha512 = "56202e87711e0f23e46f361d135f36ed4a2a55f8743db57cdd91d433e70a1d0d45f8b52f574c683f65980df220b194c93726e036624778385bbf1ad7f499a899";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-i686/kn/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-i686/kn/firefox-61.0b4.tar.bz2";
       locale = "kn";
       arch = "linux-i686";
-      sha512 = "d3bfcf0ff2b91b3023c30a7cdd0ff568f4b98f36012ec3368f52b4cfd3f6bb5e0295078f2b45f121b251f03c5b9072bd4c742fc5d225d21ce72026012f1abf77";
+      sha512 = "2c507240bf10fde9b7576b95a129e33a06f88d8c962c39a50366d4efa72d2520bb96cf756fcc911c92c04b008ca0199fb8f79f871df6153eab247d228ef5af64";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-i686/ko/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-i686/ko/firefox-61.0b4.tar.bz2";
       locale = "ko";
       arch = "linux-i686";
-      sha512 = "d651f789418fe39b1611f0e5a24be58d9602209f285d1d0db62d33b93bae34e542fb9b59d09c96b2c14891119bd0ed20500e0cbe0e24e86ed9801af4072bd7fa";
+      sha512 = "925c3d9a67b697493de83c8fd1d59ba7cc309f37c42f7db60668c82790cb90ddde405cc90a0a88073419788dc040c5bcbd4efca38ad415cac73e3e21f6f64fe1";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-i686/lij/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-i686/lij/firefox-61.0b4.tar.bz2";
       locale = "lij";
       arch = "linux-i686";
-      sha512 = "fa9c21f3c81617a275c8fe15f142707bb4227ae6ccd5895262309e771c221c121d01bc57af39d2b45891e689bc6fd6a34c51ace106a35cbab176f98b60c5ef49";
+      sha512 = "bbfc7409fde63525642c12f82af5693f7e6857e3abe7ca21c298e45ede687797efe35dd4f874f94729f5eaf01392c49899ee62cc1a48c6565c606267ed59c825";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-i686/lt/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-i686/lt/firefox-61.0b4.tar.bz2";
       locale = "lt";
       arch = "linux-i686";
-      sha512 = "f934a730d3e22c3b49f7bbd3d4ebec5efae8f637ca39f72276644b7e80d082f87620f58c76c86cf542b3123a88abb58a29fb781c40ae897902bc0854635e0fef";
+      sha512 = "2770ac893a60bba546fc44c3e88deb098eea8c04874d363dbbb974f3bc0037fb600f681e95b7184a5e8d74aa61e4721fae21225b9e5506d18e6bcfb39ba24027";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-i686/lv/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-i686/lv/firefox-61.0b4.tar.bz2";
       locale = "lv";
       arch = "linux-i686";
-      sha512 = "afdd6675ba2bfc18eb4fec5c63f9ed394fbaaa3800097843925c2c8c76a29a4de10e3c7c4fbf4897067e73f551d549bbc93550fe8a7f8c78878a61d67c414764";
+      sha512 = "5a9e58ba15226a919d92efa893e3e8d05ad905eebe737cb7637259279403a545845cbe612389d5aace5cc1791640d9aa0d0e8e73dae032de48312ec55123c387";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-i686/mai/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-i686/mai/firefox-61.0b4.tar.bz2";
       locale = "mai";
       arch = "linux-i686";
-      sha512 = "a52776efbcedf14f1e3878d3ef06e27eacd39c55ef7ca743c99429f7b8e24000def5535cf082226fe337deb2ebe1ac94f8f42a0b0d855c099b6fea4c4980d971";
+      sha512 = "73ced087da65a903dd9233103dc955b8429cb07dcc262a15e02dd0782c2eed68eb239745d14598ac261e40f7abb5c8004724389956f05a3f607917fd1c68aaaa";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-i686/mk/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-i686/mk/firefox-61.0b4.tar.bz2";
       locale = "mk";
       arch = "linux-i686";
-      sha512 = "601500f68a5b9fa8297a0d7cb612f3bdc8f5910d3a76d2adbcdcc468c4f2beac24d7f85701ee20fe98a0d6a024c4ebb8dffde33ecf113da2f833e10d18395528";
+      sha512 = "71c65bd3d47fcf2dc295f595618856f6d37d794655ed5b443c0d4a57667792eeed18a262df3a1c29661ccfe163d5628c1f5980f01fd7bf5781ddaae617118e56";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-i686/ml/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-i686/ml/firefox-61.0b4.tar.bz2";
       locale = "ml";
       arch = "linux-i686";
-      sha512 = "1163bf2a97011e86401dd429834ac0be699c9dfca2c8a90bcdd79c54537d5f56e6ff8c788e5dcb599a0d094a6405b84f6f0de6fcbeb9210c53fef98220399733";
+      sha512 = "f7b9fc140cf6f2632e5b62e1747d0c5e4fa8622f3b1a267d2f43143a4167f99c73a08b54a535ed3b4853a115dd11831143afe100d128aebb07ff46ee406552bd";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-i686/mr/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-i686/mr/firefox-61.0b4.tar.bz2";
       locale = "mr";
       arch = "linux-i686";
-      sha512 = "76e48c4b910532d5b94d099994341bced12a9db673af6baabc75cb786b59ec033662873d532ebe7266f1af4cca799fb4d468150551ea875b5f3c78d0155eff60";
+      sha512 = "7829daa88913ef2d0bdc07549030e6659825e7ec2a22b3431565080e0a18da24e29f057c51fcf1d6b8705b994720c203e04fb71c5dea7ec5780b27f2e6cd463d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-i686/ms/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-i686/ms/firefox-61.0b4.tar.bz2";
       locale = "ms";
       arch = "linux-i686";
-      sha512 = "1e2d3e00b04fa231b5fd8d52e624dfe6d4bf22474896c68e6c54b61a9c363c72535853a93c5695ded4cd1c1ff56c7f690c5716f22aaf2a2b7f652c31084372ef";
+      sha512 = "576c4996091d788d2ef814dd150972abf909bdad4f351b1fc2de31b4b45910e5e565c873b386b88c44f2a4472386335a68a22fe36544b033a7963d80b3252ac1";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-i686/my/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-i686/my/firefox-61.0b4.tar.bz2";
       locale = "my";
       arch = "linux-i686";
-      sha512 = "7ee2c4581657472b0747ab4a0e188485ab67d4ce9a14b0a5ad27c45c7f5abc9e021723f4af8aa80ac698ced75cda9043e685cb568c3fc20f34c507cb1f375952";
+      sha512 = "869ab9e2bf7494203d44917ef254ed0d74465abf93e93fe6feed03c60988a1e20d932c92290028fc3dfd4e9f53194cfeb229b7f9b254fd45d05451c776ebd077";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-i686/nb-NO/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-i686/nb-NO/firefox-61.0b4.tar.bz2";
       locale = "nb-NO";
       arch = "linux-i686";
-      sha512 = "99d0718cd52cbd9483a8d19541dc6ca2d3c6546a08690a30c61d18f71cd9620aa7ec5080925c9115c5f96fde1887bbd1dae6e93e05f461da8c06ffb29841c753";
+      sha512 = "bd2b1e3707d233d248b54dce532b70455414d740993c5526834acaf0ac72f273500e5f601d1fe5c1d747780ce5300317d1e6d0e106726311ebd3e8f3568f721e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-i686/ne-NP/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-i686/ne-NP/firefox-61.0b4.tar.bz2";
       locale = "ne-NP";
       arch = "linux-i686";
-      sha512 = "db9d211a189398ccadabd82d6a51f60e3c5d5c4e3d2581e172681e7313f8fc2783b7488486b0f4b4b3d32acf891ec2e99f32cd995584073a03891db95adcddbb";
+      sha512 = "ddaac816dacc0d07940dcbb034a6c117e557733b51706ad32aa974ccf76722961aff057e0bac299315a064000d65c92d8547a89cb8e522a8bc8b473e2d3e6425";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-i686/nl/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-i686/nl/firefox-61.0b4.tar.bz2";
       locale = "nl";
       arch = "linux-i686";
-      sha512 = "a3fc5b7f6209e348236449b3c66a7fef1b230421f66392c8c149d32d4c7d2d606ed9ecc972d58d132682ae1c415bafe410e218d2dbcf7ef183b658e2b5d54f01";
+      sha512 = "56711c59af60b7082bf3f2c413ad94aaea489d3984e4afa55304022f0c57fe072efa597533dbec5ba8e3aefb2ced9d365a7564ebcaf93e77b4911cc28150cc80";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-i686/nn-NO/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-i686/nn-NO/firefox-61.0b4.tar.bz2";
       locale = "nn-NO";
       arch = "linux-i686";
-      sha512 = "f701240e3c4c5f112ca9076aa83d3d399c0e65be600ea7baf6c4b2b232b90e1c8c56a358c10302986a945256dde3f1f9397a8c0aad3ff35f8582e0dd6972f3a1";
+      sha512 = "a6939789ea572a5687d2d542d9a5fd57159e7d5c8384e82816fdf69417f5416d23883d571041dce6c285b66e6ab1b90190818f87105f7c06c0f6bb0eac45ab3b";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-i686/oc/firefox-61.0b4.tar.bz2";
+      locale = "oc";
+      arch = "linux-i686";
+      sha512 = "9b51e1b2dd125e12bf8de2517432fc9d60a6e807372ad375a949c0c6ed3d8ccd4095eeb30e275ede31aa89a9c831c7f9108173ea2d207e0ecc37593094f67020";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-i686/or/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-i686/or/firefox-61.0b4.tar.bz2";
       locale = "or";
       arch = "linux-i686";
-      sha512 = "b912565bccfd31b9f32742a83353f7d97a3ff272e05cbfeb5153bfb4b26479404ef559b0e0b7c1636c5d41a81d409522c5726a38622f26f3719a076946cef076";
+      sha512 = "6f3e10d95af809d98fee038039d048dd9da04d97465c6ce16a97d3a6bb1d77bc3481dc347b8e120ecd9e10daa47242ea11601e13236c4d7804d993b4ee455ed6";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-i686/pa-IN/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-i686/pa-IN/firefox-61.0b4.tar.bz2";
       locale = "pa-IN";
       arch = "linux-i686";
-      sha512 = "4fec18f06be41273f84c16213de8e4877dd4dc378ba051a761fbcdd8aebbaf937bed1d547c976b8da3a2b377d3878bfd00c8e3c2ec9fb40b1442e12dc395836a";
+      sha512 = "e9d5a3618744e99604a476d39b04b35618b589e90d655ae7ceae942e0944a2395d01a6a05e386adbf3dbf13f6e3eaf8823a04d307d92fdab4086261736800e07";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-i686/pl/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-i686/pl/firefox-61.0b4.tar.bz2";
       locale = "pl";
       arch = "linux-i686";
-      sha512 = "0fbd127500ceedc19c160764a2a61f3fb788e54b029c2728b50a7a35b1a51d430a67bec739ea623621c05cb64d1e35fc9044da6c5403054d51baf141baeb732c";
+      sha512 = "cc5cbf37e8af29d9a186ea5e91ea263a77db7ff7758e58877a9227bb1e3591b80bf112e0bd7535d8e30a519427724b52a557799d60acfef053f02b383b25940a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-i686/pt-BR/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-i686/pt-BR/firefox-61.0b4.tar.bz2";
       locale = "pt-BR";
       arch = "linux-i686";
-      sha512 = "5b960fe9614152e27da77c659cbc198b8b7eda777e3ae188a80c79f96f775330354f3a76f409b022408905dc4bdfb102acca42227cca1e0e20811644dcf14c34";
+      sha512 = "296054c1424fc160b8688d89700b37271d3d16fd29ffb85275e0488fc45a3465c2f060bf77d5b6c1e8d81c2d53ee5cae6853cf26704ae7fb5222351b09e652d9";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-i686/pt-PT/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-i686/pt-PT/firefox-61.0b4.tar.bz2";
       locale = "pt-PT";
       arch = "linux-i686";
-      sha512 = "7bca9e76dce8eaa92e9c6836cb07614e0b7cd520ce085d245de8b64499c8972cfd9ef74e3b04744446e5ba5c34be7c1b39fbc1d6828f411ffc2b1a1133bdd993";
+      sha512 = "c32d68de0fb3a54b38db13f6416be06745e61767d3dd2dbcfa3d397ba54899318aff0ccede0f562b3cb8b5a2b4a126f5f0300c146e9d4d847148d1392bb1a2be";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-i686/rm/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-i686/rm/firefox-61.0b4.tar.bz2";
       locale = "rm";
       arch = "linux-i686";
-      sha512 = "9770c6ece4f52557bcb47dabc717b9e422f915feeb5bd4d02debf4b4e2bd9708dc4da81c1e918335b8a9813b567df229eff83cf8dc413e1287dfa6dd57c704db";
+      sha512 = "92bf05ae92adbb08e70e610d46e260c63158073598718fc64ba5e14f8f15c8ff712353586da0b2d693d070bdeb48824b0c68a36acb101b483b8af4bf37f74eef";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-i686/ro/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-i686/ro/firefox-61.0b4.tar.bz2";
       locale = "ro";
       arch = "linux-i686";
-      sha512 = "43df1f25801a0bdbf0d47327264b8c4ac6eb8c10e5e48ca5993b9aff92f3c6c97a2d289073cda0a52a81d72c384a62a8f233b7b155a424378f06fb7706eebc04";
+      sha512 = "3e5da35749bd3a5da3172b9d567e4baa121d268a0d13611becec3e497cec2bf652effd26310a4147204940499fcf837bf20138555c4c0bd7c034ec3d36d983b1";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-i686/ru/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-i686/ru/firefox-61.0b4.tar.bz2";
       locale = "ru";
       arch = "linux-i686";
-      sha512 = "9d0ac601df2827191c8ad44d88b5bb5b46dcdda85281ae73090ef735c9e9895e2eabb36aac1d095a0cedac525b315f588ea5f64163b5ec6328412ac29046c0a0";
+      sha512 = "a83c33ead97106e384a4d16f4436e639bc736db9811e162e889f159ed38d37a670c6256a0f3d5b5dd7e62e03dd140cb763c02d5d915b2fdc1de35650de0fa165";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-i686/si/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-i686/si/firefox-61.0b4.tar.bz2";
       locale = "si";
       arch = "linux-i686";
-      sha512 = "f45e432475757cbfe66a5ef12071a95bf74c1ae6c357165f2caff119c677974a53c66ad92e7c951c4ebe41ca82b7ed25fdc308698b03a6c2aa686df0b173cae4";
+      sha512 = "272cb7022e819e930ada868f2260c991bf21fcbbd8f219ca9d3199e2152059d2956c490bd7ebd10441ccc261210f9b8fabce4a41cf4e01939aaa2054e4ab99b1";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-i686/sk/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-i686/sk/firefox-61.0b4.tar.bz2";
       locale = "sk";
       arch = "linux-i686";
-      sha512 = "a4e0e3db886326d6ce74a2a47d8e9d7b80e2090a425cc7dd3a386835ee4c5ae525c597ec8aae603ca638f4a742f517559b821a58b5396799742481f7f859cdf9";
+      sha512 = "dbe0b1c1e63836eb695a24ff2576190d4a0552c9a7b6b2373a3b55774fbd9891b0cf32f53e95923fc267e8fc052bceb79d3d900ef060b92cbe40d7f0dddbcb49";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-i686/sl/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-i686/sl/firefox-61.0b4.tar.bz2";
       locale = "sl";
       arch = "linux-i686";
-      sha512 = "3e83fd71a7620c4d58dca6437fddaffec172405bc10ca7e7df2a7c1f34ca5f3f3dcf139112fa5ca608c911d08b30d08cb55854d2edb84b9f59d14e459d9bdc84";
+      sha512 = "7422cc10f57ebacd937a3153035cb8acf369639f117d71447e002fa151cd108f2a8609563fb9575c2c71271f3f4e50fa5211cdda88a1ae53847045aad8af9b9d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-i686/son/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-i686/son/firefox-61.0b4.tar.bz2";
       locale = "son";
       arch = "linux-i686";
-      sha512 = "eadcba6770e85c50394ce85def8915c7d819521e2ae8025a79a1888280278c23c0a41846705a3450dfe3548b1154a84fd17a1c971478e4746143b2d4d3925749";
+      sha512 = "8eafe8f6e1fc8170f622f29e598c6a06ccc507dc97d180e0810ff971d7fc4a4a965a75f1eb878483b03069ec0484833bdd0c0c1aafc732982b8cc802249914c7";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-i686/sq/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-i686/sq/firefox-61.0b4.tar.bz2";
       locale = "sq";
       arch = "linux-i686";
-      sha512 = "861148e9080b230884b8cbb415e116da836d367b7c6b8e3edbe55e2275f03697dd0219d2c30d01375abe023e99e0547abb7d47e7bc29dc68af7ea05a2849dc92";
+      sha512 = "32a5e3d158e8931cca10777a59765cd8aa823678cb339b013519b07045b8a6614082bd6ae81d7871cf22fda10570fb4934c05be5dd16b0610f9bf7a1f19d671c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-i686/sr/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-i686/sr/firefox-61.0b4.tar.bz2";
       locale = "sr";
       arch = "linux-i686";
-      sha512 = "242794c64aeb0f350d83a22e12225e723822b70f79e629c41715d3e47c7c482ac9b089c71d08e9d1674da0eb0f4c122257d4570989c59d5d2d3877385fa95268";
+      sha512 = "42877a689c178b9ddd8711b2b15e51062411667ac4c978aebcb364ee9c71764c8dd64963966fd17f3bc929c9853bdd54c12ab312a4c1527f7adad277fc9adc32";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-i686/sv-SE/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-i686/sv-SE/firefox-61.0b4.tar.bz2";
       locale = "sv-SE";
       arch = "linux-i686";
-      sha512 = "ece418ecc310406da2e8bd583468435d0e6cd4eade1f0334b867c71806ccccd2781c22482caca04c8924978907b2fb654660944df4bbd31be8eb13b0bfaa42a7";
+      sha512 = "48605bdcc841dca8a663b61d75d30e2bc7e0722be9e47833c42fc0b6ae275bf778b5ca534e66440db2cd85de70f8725f25a1f9a303b2fd8057fcbc1f4262e0d4";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-i686/ta/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-i686/ta/firefox-61.0b4.tar.bz2";
       locale = "ta";
       arch = "linux-i686";
-      sha512 = "8bcb70380c63c5b6363e4b13caf4462031f990455f9e2d2f47b4621ac9cada5f05de4d1e5d1e2c65437aae2533867bb81399768577f9d68c58e300712c96c91d";
+      sha512 = "7ede0ec9dc91cd2ca4226e5c361b2f14c592e77573bc64feaba4aefd24dce79d8139967f5c394bde440ecec5fc83e21d8d17e00923775fa33ed39b055ed50fba";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-i686/te/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-i686/te/firefox-61.0b4.tar.bz2";
       locale = "te";
       arch = "linux-i686";
-      sha512 = "40aeec3c324bbde19bf6566532d995706fb9c603222265713133d967735ace95a80af0dbb8401f8589a78332958e0c02745ae5e99030cb5b8e990d87ff441241";
+      sha512 = "b37dd0bbdc6a8227fa76902ddd049281bc4313bbd5cbdd90866036b400ecb0b07d2995015c48e37c69a6c68de3b8810787fdcf138c36075a47fbc43b0106811e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-i686/th/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-i686/th/firefox-61.0b4.tar.bz2";
       locale = "th";
       arch = "linux-i686";
-      sha512 = "1368b907c43cc93387ddf74d86c2e04e1c2e0e867217de11595662921a48abf9660030f54bdc7961df90b50729e9ea0d0d2e634d9f4b9773d9b8da75517b961e";
+      sha512 = "29ce9cafcb24811fe6c9ef33d81d3f43634bf4acee7e3f1905d743a241bbeeb1d8d44d210389d28f6fb740f6ecf37648e808717780319f54f9c198a0a1b3f319";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-i686/tr/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-i686/tr/firefox-61.0b4.tar.bz2";
       locale = "tr";
       arch = "linux-i686";
-      sha512 = "a9019b3bc55a87bc20cc06907f2fc24eb7ccbdb397ad39bdbc5bea4bb3a3eeb23cfeba68dec1bfed66fdfa42ab281c41447b2ce848b38410b84f53be7a8ff9b9";
+      sha512 = "b1248f1e115a509554ee8cef5316ea85020fdc8c150bac0b363b25123ec17b40fd46d34f2a33a161fa66822fcbd4b111313986649931e0e6ed2c4afff3ea9279";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-i686/uk/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-i686/uk/firefox-61.0b4.tar.bz2";
       locale = "uk";
       arch = "linux-i686";
-      sha512 = "a09122c768e3c90a4a5278f800c1e41ee566792e5c3a29d8f2d37cd1b647fa5160376564b0f3fee08d93627b8fd5b084fb66ecf34500a73f9a0a726a353758f2";
+      sha512 = "6220697e54e30e70267c3d777763da05bfc6625fa9c239a5c761ab3b992d3fa5e1271332011fe7aa218a615917002351c2c5e9fe4cd278f99efaa635f6934237";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-i686/ur/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-i686/ur/firefox-61.0b4.tar.bz2";
       locale = "ur";
       arch = "linux-i686";
-      sha512 = "8e4d3bad6652afa436f690ea934cdf5feddf2dea13dad1637b4ce244256d3823afb6e23a511b38e8a467c324539c8cfa0113a3897cec00a475072ba0325c7403";
+      sha512 = "bbbc09b0f0a88cf5540c4bcdddd226984bd91dd7aaee1256bd8142535b5e949d54dd8b92990f1d71e3695a8ff0054530dd64564edafb21bcf93e6764988c6568";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-i686/uz/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-i686/uz/firefox-61.0b4.tar.bz2";
       locale = "uz";
       arch = "linux-i686";
-      sha512 = "1e532a744f4969b1d6df7f5d9d958cced92ae996a123aca3de97c35ec5b3d597db62c3da2191bc5b3bea172c6c5d1f1bea93ee2127fa417a43e4550cdb1c3b82";
+      sha512 = "164c63d66666ee819a88169844859c8db95ec5281eeab77e30a63b1cca1fafd97bde09538665fc433ab9ecd62d05ac7fed68aa43bbb6e16476e34461ead4164e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-i686/vi/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-i686/vi/firefox-61.0b4.tar.bz2";
       locale = "vi";
       arch = "linux-i686";
-      sha512 = "5f9980b4d1fbb7b620021fe1aa80d2aed5cefc4c5be8716ece73697428cb157c79c052aee7a9ebe505a811da5c9a01fd789b27ae1fa8b11292d5a44ec28adb5d";
+      sha512 = "b12a47314960a28c9527cb2200286070294d4ebaf6260b9b4d4c483e4eb98cef349e4df7ed7c60c032a327aadf101994a49e2226a2a0cedf7793feec42e85cc4";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-i686/xh/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-i686/xh/firefox-61.0b4.tar.bz2";
       locale = "xh";
       arch = "linux-i686";
-      sha512 = "e8a9cbc9df298c53b54b6c3ed1b75b87f668ae7feb11a911c4e90b3d925b4e818f7a5f8c50e22cf5ca399324e41aafc436abbe787fc68d0b41fbbd9c0fd99502";
+      sha512 = "147b827716182a41fac6170656ab53bea4b658a0de537c57a0ca786d77ef4227c433c1ebc09d1dd00a4b92e07f03eacaba5928b61e055af67ac35b1aa9238890";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-i686/zh-CN/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-i686/zh-CN/firefox-61.0b4.tar.bz2";
       locale = "zh-CN";
       arch = "linux-i686";
-      sha512 = "e7d0c0a7f8bfcb63a2d3d1164917ee8ecb2a0fe74871437723edf381cd2bb5888c86bc9708ddbf94383569ff5b6703f3dadbc0cbb5afe56e70130dd4df4340c1";
+      sha512 = "c47f74481322b2f480893be1ba9f795d951af2db7632b6a0fbed6e00155a4dcba12e7a8f4a7a3f44460540e499c03b2561eaea5a67d22f68d31cbad8fdde58e5";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b13/linux-i686/zh-TW/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/61.0b4/linux-i686/zh-TW/firefox-61.0b4.tar.bz2";
       locale = "zh-TW";
       arch = "linux-i686";
-      sha512 = "09bacdd45bbe517dfd7c30b20307e1fe50ffd97be349fa778cc977af64a976326f4bbae30baefab714ccbe8160e5ebc375b7f409d8c8e2d18a7615481abee811";
+      sha512 = "41c5b6b561995a4a9a7b954ce0c6981889b89e046ca7420bc17ec4da7de90c11e7e54b1408587e7bb60d58b667e51816dd748f651bf7f3abea6e84bcf86659fb";
     }
     ];
 }
diff --git a/pkgs/applications/networking/browsers/firefox-bin/default.nix b/pkgs/applications/networking/browsers/firefox-bin/default.nix
index 12cf5c30df4..eaf304ca9fd 100644
--- a/pkgs/applications/networking/browsers/firefox-bin/default.nix
+++ b/pkgs/applications/networking/browsers/firefox-bin/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, config, wrapGAppsHook
+{ lib, stdenv, fetchurl, config, wrapGAppsHook
 , alsaLib
 , atk
 , cairo
@@ -12,8 +12,6 @@
 , gdk_pixbuf
 , glib
 , glibc
-, gst-plugins-base
-, gstreamer
 , gtk2
 , gtk3
 , kerberos
@@ -30,6 +28,7 @@
 , libcanberra-gtk2
 , libgnome
 , libgnomeui
+, libnotify
 , defaultIconTheme
 , libGLU_combined
 , nspr
@@ -48,8 +47,6 @@
 , gnupg
 }:
 
-assert stdenv.isLinux;
-
 let
 
   inherit (generated) version sources;
@@ -87,7 +84,7 @@ stdenv.mkDerivation {
   libPath = stdenv.lib.makeLibraryPath
     [ stdenv.cc.cc
       alsaLib
-      alsaLib.dev
+      (lib.getDev alsaLib)
       atk
       cairo
       curl
@@ -100,8 +97,6 @@ stdenv.mkDerivation {
       gdk_pixbuf
       glib
       glibc
-      gst-plugins-base
-      gstreamer
       gtk2
       gtk3
       kerberos
@@ -118,13 +113,14 @@ stdenv.mkDerivation {
       libcanberra-gtk2
       libgnome
       libgnomeui
+      libnotify
       libGLU_combined
       nspr
       nss
       pango
       libheimdal
       libpulseaudio
-      libpulseaudio.dev
+      (lib.getDev libpulseaudio)
       systemd
     ] + ":" + stdenv.lib.makeSearchPathOutput "lib" "lib64" [
       stdenv.cc.cc
@@ -174,6 +170,8 @@ stdenv.mkDerivation {
 
   passthru.ffmpegSupport = true;
   passthru.gssSupport = true;
+  # update with:
+  # $ nix-shell maintainers/scripts/update.nix --argstr package firefox-bin-unwrapped
   passthru.updateScript = import ./update.nix {
     inherit name channel writeScript xidel coreutils gnused gnugrep gnupg curl;
     baseUrl =
diff --git a/pkgs/applications/networking/browsers/firefox-bin/devedition_sources.nix b/pkgs/applications/networking/browsers/firefox-bin/devedition_sources.nix
index 1bb7ffd1b09..d0c87fd35b8 100644
--- a/pkgs/applications/networking/browsers/firefox-bin/devedition_sources.nix
+++ b/pkgs/applications/networking/browsers/firefox-bin/devedition_sources.nix
@@ -1,975 +1,985 @@
 {
-  version = "59.0b13";
+  version = "61.0b4";
   sources = [
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-x86_64/ach/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-x86_64/ach/firefox-61.0b4.tar.bz2";
       locale = "ach";
       arch = "linux-x86_64";
-      sha512 = "b94b5d17bb2bcdf0997e8e0b8d58cb07a7be671fba4c9a6e42c4954fab5bac2c2243b9f57cb2513db319f0a257561aebd837531f134344b1c51486f66f96ce3e";
+      sha512 = "79f2d4d476d87e3a66b5985eb05b4c2c67da500c4f655fc917bea787b2745cf2275bc1a0a60f2a7d8edd29339f9db8bddac9c079687c212076e2c51811784ff6";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-x86_64/af/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-x86_64/af/firefox-61.0b4.tar.bz2";
       locale = "af";
       arch = "linux-x86_64";
-      sha512 = "10b1db6c1abdfcd1cdfa5465447b70413b411cbee9fb33161bac21c3f47a9222243be4267849008d1bd20486c3d6dc752a57cb9003c2bef4566ff4210f37e388";
+      sha512 = "6bff0f1fbd1ac000a2d3eaa6b65e115a2d4ab3fb7d8c267f1aa13e0edc42f3f1a390eac87dc516b144969473106fc492ad471f696a885b8994db05c19e386a0b";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-x86_64/an/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-x86_64/an/firefox-61.0b4.tar.bz2";
       locale = "an";
       arch = "linux-x86_64";
-      sha512 = "8d94ad871580dc295783c5f3b7f22c88db3f16f0fe3511a505569571082775dec3edd95c472b17fce9353cd07737450df8a9a44a78f4541c26c9dbbb24f1ebfe";
+      sha512 = "26665a323860a567e6daf053324a895c5b639c720325612b923fc9c62365983c9d6af48274a068b51a22476c9c005e31ad6c95dd291bd8705f700111191cbad3";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-x86_64/ar/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-x86_64/ar/firefox-61.0b4.tar.bz2";
       locale = "ar";
       arch = "linux-x86_64";
-      sha512 = "9f2cf9ae453fb79dec52c29371af50830b129bd82e190cf93d846042579484adb389ba33690bc5dc5e3a652af3924b70878fc0109d5a6da679d97a48fb3de567";
+      sha512 = "6b98ba510a4c5db95205ffb0a56ca3307093631bd905358ec8800a421506f7d880b599324f2a39150796d719c1d83c614e18db25933ff06980941319e648d8f8";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-x86_64/as/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-x86_64/as/firefox-61.0b4.tar.bz2";
       locale = "as";
       arch = "linux-x86_64";
-      sha512 = "b97ca2803feb8b9afb1b006ac375111a59a26f67ed54ec0bf285452f2b59999f4c99e40b2cc066314ba761de465a7a893de671b50b575464d6f9f5bfa631368f";
+      sha512 = "68650b9b92be7e65e9bdb833ef97320ad5475255e1b040487925a2172d16168bf0c36f70698379f194b7a41e1619152142ddc9e8ee46d4347b7d6b0de71946f4";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-x86_64/ast/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-x86_64/ast/firefox-61.0b4.tar.bz2";
       locale = "ast";
       arch = "linux-x86_64";
-      sha512 = "1f92d7ad29a89ac7e27181cb67cc956811ec512f48a9b9bb5e35247e4b03bac680dcc900719d1975d476c8ea7f51ad3d21d01aa9fed8f0f4b9ec81a443354575";
+      sha512 = "11e775167faf1a9d6f1b1a14009ac8f45569156fec5c550cffc90abb0fccc601827cbba8b805d82df8cf2239caebad3dd35e3e54818af69dd98aef45d12bbf63";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-x86_64/az/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-x86_64/az/firefox-61.0b4.tar.bz2";
       locale = "az";
       arch = "linux-x86_64";
-      sha512 = "43a54e6e62e02f792ce7aaae7fdfb4198320baa34c7e1ae76213e10bfe118f6c49a2d8c85536910e5eee7ea2d48b0e15087a906ef01d100a2978f885d0a04515";
+      sha512 = "7c5347d7997fbe7a540153fb931a1d6e143c6f9200bb3692fbbdd0b9b5e3b38ba9e55d7579d448bb63816d4007c8944f0bedb5ee446c4ed1ecfdb8e8957fc717";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-x86_64/be/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-x86_64/be/firefox-61.0b4.tar.bz2";
       locale = "be";
       arch = "linux-x86_64";
-      sha512 = "9baeb1245ffca545d6b0ac79b4bed8398406f411cb4a6b7c2f703d32435709521894ffbcba5d31e063dbd0a1c2ed1639656454ba5f69ef5a53c1c3622b5cff21";
+      sha512 = "78877031b48f257b7070d9ab9b261df1414b5e7447f0855811abdf47f35edc8f6ef8e59264a73a57ef5eeca0afa261557d18cf348cf38e48c7f0f24cc8b13305";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-x86_64/bg/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-x86_64/bg/firefox-61.0b4.tar.bz2";
       locale = "bg";
       arch = "linux-x86_64";
-      sha512 = "57e9db4705224381034f2c11434bf750fa8addc16773a8aa6e761c2a3bc5e583568531acdab844337948bd5ee2e39101a99a32074862f36738ff9c700087227f";
+      sha512 = "8c57bfc0361de65a0bc7a19ede9aba1af4808aa4f07e0dede04c262429489791c84c0e3f2a2ae6d0cb457b1cbf0a44a966f6f5a636bf897fa9475858b6922ab5";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-x86_64/bn-BD/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-x86_64/bn-BD/firefox-61.0b4.tar.bz2";
       locale = "bn-BD";
       arch = "linux-x86_64";
-      sha512 = "f42d8d243a88bf713b82f3fd284e1dbd3a320db37b43d14a11aa6ec98dd5db4e50ac5b014f00495c11204c4732461c9c24f3d3410aec9f33f9cfda6e97d867f6";
+      sha512 = "19f197b25b3792e7660d062341ed047c2983c6a375947c9c09b7d0c39b5630f88b2f0ea70b6865199caec8bf19f0f927f05347b85ebdd176f26ae6a1997747f4";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-x86_64/bn-IN/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-x86_64/bn-IN/firefox-61.0b4.tar.bz2";
       locale = "bn-IN";
       arch = "linux-x86_64";
-      sha512 = "ddcb486b0909bce3c8e917ec504e0f99c366a83385c36f18ddbc0a0456cad295e689ebc7715bfa82aa62b679387b31334000c92c4c7f7223ffdd9390f039ceb9";
+      sha512 = "09c01a7da3e77a4c07fefeb8fbb33317a90b14d5b4d33286152c494238da9436b0db54a410a57046a183786a006fe8e3328fd4a2192465fabcb0e5b2686a4536";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-x86_64/br/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-x86_64/br/firefox-61.0b4.tar.bz2";
       locale = "br";
       arch = "linux-x86_64";
-      sha512 = "a271350d8d0f87461479fe4bb5b998535ce5ac673e0c8657b820fc50f805cf282141269bd1cb467b0df3c1139362b33b15b4dda5eccaa297894bb400b0e7c6fe";
+      sha512 = "2b8a1a9cb5127e678e783742876a94b8bdc25a0d392d90ccaa0747c3c7b50afef665bc950b20858194a2a2bc3617fe1421f7acd95968cdd67c7e7b88b7972675";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-x86_64/bs/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-x86_64/bs/firefox-61.0b4.tar.bz2";
       locale = "bs";
       arch = "linux-x86_64";
-      sha512 = "a897577f7c233a4e6d905a9e03dd817cf26636dab68deb8c4db13b0101f7317bc55de40a7570d835de3256803901acbdc10041e8cfd0aa21ced140a80bf7c845";
+      sha512 = "4a451248f826726a606b025b9acdf8b41fb3993906a7481aa60fe7110b8abe9b5206525fb188bb16159370ab9ecccbc199f0d1bed475db124c923461546167d0";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-x86_64/ca/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-x86_64/ca/firefox-61.0b4.tar.bz2";
       locale = "ca";
       arch = "linux-x86_64";
-      sha512 = "d032ca82efbaf4207759f8e048c5018400dda9e80078fe13c2cfaec542b1d16bea8ba68bf885a6255793b3724c3f1d1b0a79be8028651ffff6ffb85bfb1856e7";
+      sha512 = "02b9ad16ba37bda6a60f980293eb402657c612bb78a1911c8ae2b60657fbde2a1d41ff7849a653a8ff2f8c77bdb4d8a774d856ae90d3112b89846dcdec988533";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-x86_64/cak/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-x86_64/cak/firefox-61.0b4.tar.bz2";
       locale = "cak";
       arch = "linux-x86_64";
-      sha512 = "d3c6c7fc0b505f0ec8f670b314627061b3f829ee04fbdca6301956cd6ba244de194295aa989badf0cf3a015668945a8311f12ac37b39e1caec653380a719238f";
+      sha512 = "2a87fd3ba1e96a7cf850c3795300e488f61cd29c17ef4f02b4957a9859f65b63e3a8a3479a56818e28dd08b2b7399eadf027b305fb10b5a4cb7fb7052c655646";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-x86_64/cs/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-x86_64/cs/firefox-61.0b4.tar.bz2";
       locale = "cs";
       arch = "linux-x86_64";
-      sha512 = "e636cb9df591f73f0d9b8d596e997893b92fd6db9692be44e6aaf83b7eda66ecd8e4ebcf8a4c3d451358f3ebc510e51c6ba1a79cdb76dacb21bc1a9904e425b0";
+      sha512 = "128f7466d1bd1b2a091cbf64d9f521ce77dfc1ff27b4d1bd3bc5d9f297d6ea5b326eb822dd6f1f9a20220f1032afdf89f04296e1810c95e28029b1846fcb9c45";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-x86_64/cy/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-x86_64/cy/firefox-61.0b4.tar.bz2";
       locale = "cy";
       arch = "linux-x86_64";
-      sha512 = "8b4252664548625e4b9e007b88fb6dadfbf2ac5592b6721e37f44a86e11e1b429534b321b8582b5b82b17e3819fd94c45e9d03e5f8faa1eb5e318de22a2e6ee8";
+      sha512 = "a99bb3ae930f47a8c7ea43ba50e6dd780b8aad4f3171530c8d8f730c395e4844fd6d4b37a1372ce5aca631b95a196cebafaeae1e4467f22240d5e0033ef505e3";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-x86_64/da/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-x86_64/da/firefox-61.0b4.tar.bz2";
       locale = "da";
       arch = "linux-x86_64";
-      sha512 = "5d2d668d74064dabe2f0a074ee6a101706ac76e0e21129a68d201a6eb627948b911dac86746cface983dc077ac44f68519f81b62e8fa07f097c3b5bfecd88739";
+      sha512 = "ccdd547ae7a31e4edb5ea980f55b8e58753e47845ae1b33b45bc1c3def18ba3a716cc8e23061038480ea71c43d682fc48548adefdc480ca6499ac3842e7508db";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-x86_64/de/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-x86_64/de/firefox-61.0b4.tar.bz2";
       locale = "de";
       arch = "linux-x86_64";
-      sha512 = "8730f4173165b961badf184c7a8e25659e0844eea51c26a7f7bb958ccb43a0b1cb079ce8916a8a58853f7a1489c0464330a8467822c70f6c6b2df510db1460ee";
+      sha512 = "afb82ce313001463da8763615ec9f6a52f019ceb1ed52616e0771081472455df2d252bf2e06700aa8add39ec1a6db0e51ad1f46026a1367cdd7e02ef070e3f9c";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-x86_64/dsb/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-x86_64/dsb/firefox-61.0b4.tar.bz2";
       locale = "dsb";
       arch = "linux-x86_64";
-      sha512 = "522459633b1a8638efe961e33c8779eea0c83e51eff1372731389d32c1826ee019c6fbd7e5592a632fb7c07fd85adb3c7ef08200dc087b95568d75d86033dabe";
+      sha512 = "8fa44ec6ea0726cada8491d2b47675a283ddd669a0bc6d7708b3807fad6007941325c430f5a01358977d6827cabbf79ba57e32b816adf6bc846c2f729f887273";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-x86_64/el/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-x86_64/el/firefox-61.0b4.tar.bz2";
       locale = "el";
       arch = "linux-x86_64";
-      sha512 = "46ec66ca8cf5a2b299ed1eb21db01b115ca54044adfc74851ac5436ec0d8fdb227fbd9033b14745dcafedea722f63fca3ad1a860efaf9802d717b6f91bb51174";
+      sha512 = "73cdbe7ecc09520bb3efb10f74b3792e079589bef18bb9e78f3eeb3aa99ebfd598fde9fb4dc1b1f7cca8f168f5677cf7c96941d1ee08799a41335faba1b6ddf2";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-x86_64/en-GB/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-x86_64/en-GB/firefox-61.0b4.tar.bz2";
       locale = "en-GB";
       arch = "linux-x86_64";
-      sha512 = "ac52ba67083f9d411e9e14afe88bb4bfe9850f7509d5ff70812c30ddedd4563e758852dd457fc7c50b285abe0e8423a5b72d8b39dcd9c501e3c692cce3591cca";
+      sha512 = "53b28a49f42c2d5a18ea81070da3dfe08609b1e967068e3eb99d369b9e16c95683dcae080954a3d89231b2b136caab4632e9c79bdafdd1860c2d642ba46d66d9";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-x86_64/en-US/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-x86_64/en-US/firefox-61.0b4.tar.bz2";
       locale = "en-US";
       arch = "linux-x86_64";
-      sha512 = "c911e4a8b16272d4bc7839b5f13dd4892d68290ed778d72cde95ce110cba5d78df1572868f50222d9adb81df367a564d542c8afb4b1f7ced23e3b9a8a759e4b3";
+      sha512 = "1d68fb1e26f70e54e32dccda9ce56ba3d6ee4925c8a46ee04321fb88438df4cd9051772e3da23113f95d4ab684b154ac9c7732b1025bada5a7a71b03d683370e";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-x86_64/en-ZA/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-x86_64/en-ZA/firefox-61.0b4.tar.bz2";
       locale = "en-ZA";
       arch = "linux-x86_64";
-      sha512 = "67baa5b7bbb55b3732dba842fe6c063a0bac2cefb55f201e6aaab2d11105c50cbba4850cf80c7d99b2e83b32535ad4cb3a95432bb26563592d48ee961cc1ac0c";
+      sha512 = "e694b56888823d91888c92eebd9778429f92a749453efc2188013c83dbb71c6b4f9aca31d0cf1036ff3e22cbe229bab266319fdaa0efe2b3cd1a6844f0dcf93b";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-x86_64/eo/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-x86_64/eo/firefox-61.0b4.tar.bz2";
       locale = "eo";
       arch = "linux-x86_64";
-      sha512 = "3d952efdefd0f8b7886506cbea3359f747854f73d53efe58474a8d31beb396b568849151951c6d0750d116570a8f894c5d6e586b0487e3696cfaf451450ecd3b";
+      sha512 = "b8007be22bd2e84fcc99f76fc2ac6edbc48b8f529ed055aab31dd7212ec3aabe47d7870a6812eec554ace6a41f98654fdce32e15620b872e9898bff020c5e56e";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-x86_64/es-AR/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-x86_64/es-AR/firefox-61.0b4.tar.bz2";
       locale = "es-AR";
       arch = "linux-x86_64";
-      sha512 = "26ea9b1ddff5518975d49cd851df6951af376d3086b88483e7da9253fc4b427241d77019a8cfc22ba4ffa279af83fbae3c4deca8e43ec085fa366abf44629ba5";
+      sha512 = "3b0998405d2a019b049b80f077eaae13ed7b562b5767a821cb73dcfe50d4c243267e5bb5490911c384a5f5e34f13e0338f768a0119098b1222671ae410efaa7a";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-x86_64/es-CL/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-x86_64/es-CL/firefox-61.0b4.tar.bz2";
       locale = "es-CL";
       arch = "linux-x86_64";
-      sha512 = "85d260e0dc02a4d3f94c43b4c3425c0ed0c6c9569577faf80f8f7719f368d0c353d59deaad519ccecf9da081b3063721746cdefbef18127ae2eb6d7c9863470a";
+      sha512 = "a28fe0c2be869e0038da0156601714e33e4e5ead47b9546e9328e06fb7c690b633f28c7f029747cbd438d4854ebe665f58244a18c309358d1877ff769557f99b";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-x86_64/es-ES/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-x86_64/es-ES/firefox-61.0b4.tar.bz2";
       locale = "es-ES";
       arch = "linux-x86_64";
-      sha512 = "0efb25a3539fce60d2788513ca26f2a2ea48330894fe9468d54e5eac1bce411e72d937eb5997c18f60fc64c9d15ba247664998199655c73f3e9488a84810e4b4";
+      sha512 = "450b32e899da5077b3e633917324c93132682d9bab4da0f44e63eebc0e406c1ae7c5ea5adf2863363ba4cf8dc8b235b5f3d1ab0be790ea63f5f51feaf5c8723a";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-x86_64/es-MX/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-x86_64/es-MX/firefox-61.0b4.tar.bz2";
       locale = "es-MX";
       arch = "linux-x86_64";
-      sha512 = "64c1d3945d866649891da16dd16d7d3261d0434e275d44c179d98fabee7eeb35e7fffb6e20b9b6630d60de52559f62d01ab59a5e460a389a17f5d5513296fd5a";
+      sha512 = "bebdc8924ae2d3a6d329a86c838bc54e99335e087dac0696fa833e13af17b81ac2a937f7327db970e55fce04cb3cf66f645f8a0e15c3a421c2487a30e29f6d0a";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-x86_64/et/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-x86_64/et/firefox-61.0b4.tar.bz2";
       locale = "et";
       arch = "linux-x86_64";
-      sha512 = "6b63a9fe3f12f4c270dcebe46d9b13082efdc32e94c8d1937e1e5248eaa84e8e0966092e408475bf20014d116509ee773bc91b06be9cd14fd97e64b8269072e7";
+      sha512 = "522acba62d532c6d96235862101f14cd0b7ff38bc52957d5e77783d3299820969c576713bd85c8c6bc63e7bbefaa09d0308110d3390594ac4612299ef8d751a7";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-x86_64/eu/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-x86_64/eu/firefox-61.0b4.tar.bz2";
       locale = "eu";
       arch = "linux-x86_64";
-      sha512 = "221f867cf7384f2d5f79906ac68c53b87ac6d11034698a7f390def2008f1acdb944db748b8019a726ad9eb89debf72b4939034057e48ab0a2642d041e3fa2b14";
+      sha512 = "799508fd282cc99417f040481d1988d2eb45bc2b7537ff5ee984ba88560819fb20df4ef0de8ed5304e5920bb7e271d05f1faa5e2400428a59ae8e25f4c1c3b3f";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-x86_64/fa/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-x86_64/fa/firefox-61.0b4.tar.bz2";
       locale = "fa";
       arch = "linux-x86_64";
-      sha512 = "e513f3f871c444c6dfe4af027b31830e78d0d90ee6f199f26b3dc8fac1dbd3293c1ae74f4df735e15cfb4338330665f94c6d1dc4221e9f30250c7aac33ddddfb";
+      sha512 = "4068a191f7a66cbb11fc6938722b6a1a5cc902f024d63dd1f27187d35d1f2d28e1cb17c74e73ee4f4b2ef10925d858973ff51a779314a32ed22a91b78c2fed12";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-x86_64/ff/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-x86_64/ff/firefox-61.0b4.tar.bz2";
       locale = "ff";
       arch = "linux-x86_64";
-      sha512 = "074cb42f7b6cb93ff5583834c8ba1f16d92330d241a166983b26c3311c3254a323ab52badc16e9fd3d13e71a783d5aea55674c04c7ff5bb68f60a5deae446954";
+      sha512 = "051d7945af28916ccfc39647617f81041f3fff0cc305027dce6408ba7575213c0cd1064d2d48986f4b2740533c7c770ee4b28802b9cde01681fad5baf2fdf27c";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-x86_64/fi/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-x86_64/fi/firefox-61.0b4.tar.bz2";
       locale = "fi";
       arch = "linux-x86_64";
-      sha512 = "901bbb71c4293a6cd7c79210a64349d65fa91c2c2f0bc00da5ceba0a7906c0cdfe00c72d316cfb39604129070d48dc1a30416ae4d6ea2fbf9c3be3511b1a3a39";
+      sha512 = "371f8f0e5d14323a5274923d6745a3aa327b11a18b06b3ff4f4e1c9843985a83b675cff17fcf0c6927d34e771a56a1a605248b32cb04890e202a14251e0ff13c";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-x86_64/fr/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-x86_64/fr/firefox-61.0b4.tar.bz2";
       locale = "fr";
       arch = "linux-x86_64";
-      sha512 = "b70919cdb4f6798253acee401efc6fe22acdce8e12249c59c618b9d2858ccffd398a51c0c77c82ffa4c5a68dc0ac6a9066466f8bb3cb7bbed621ddbe426072ed";
+      sha512 = "0b5270611797881954b4c2ab8a506ad8104b895c33fe0ee32bc786e45b96f9fad47dfac84955fbae2091c63bf0f7a0c0e189d48366f623b2740aa8bf0115c0bd";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-x86_64/fy-NL/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-x86_64/fy-NL/firefox-61.0b4.tar.bz2";
       locale = "fy-NL";
       arch = "linux-x86_64";
-      sha512 = "b3ce427644dd2997d8f21eb60fa1b94c03ab091e79e5c8c908d938ff73871fec81b288d70cd754e03ff9a3758289bd9886077c01b5e3db0458bb7c6f04b11ea1";
+      sha512 = "a48ac0ce28c4a689afc7196de17e4235709b239f4c1b6c1150ae706dedc858edc973291998e6f72e36a233c5c316848ae70234fc6c7fd80923894947f2897bd3";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-x86_64/ga-IE/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-x86_64/ga-IE/firefox-61.0b4.tar.bz2";
       locale = "ga-IE";
       arch = "linux-x86_64";
-      sha512 = "6bc8201b78d85d5e5e2dc226628ce03814cea2c9084e5c4bb332b21d50418fcbb5ba656ca3a592e5304bf9fa10b64b32493daf17f6f3363c154b59ff3aaea828";
+      sha512 = "d96b456a2e77dbc0ddb47702c94772b7f75d58ce9fb4473c7f9b4455461e6ea5e0507da2128810f194a74ad6f58d5c3b373a501a1d28ddf7111eb90f9d2e3851";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-x86_64/gd/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-x86_64/gd/firefox-61.0b4.tar.bz2";
       locale = "gd";
       arch = "linux-x86_64";
-      sha512 = "8167a0e36c2ff85a85c9155a47f5530c581fcec9bea1b535b60b8c9e2bc4a370d002f942c9542787a34c76117356e513822cccdf8c02962d0091acec16724001";
+      sha512 = "4c9d9adfb6236e011c0048810716a9d44e6251d2122443f7be1a2761fd12ef085c4b8aec06bbdad54d056962ada81f8034d3e87f9dc17551ca74ca9a0630d304";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-x86_64/gl/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-x86_64/gl/firefox-61.0b4.tar.bz2";
       locale = "gl";
       arch = "linux-x86_64";
-      sha512 = "b1d8de0f315199bbcae9ae693a04e038dcd24c73b8795f031a595e70fbbb4c79b9fb93ccb1761319010e99a915e3f71a075b2e368731bc530ba59b48873b5b48";
+      sha512 = "fe6a9944ce2e595c436aa3aa4556d3e24b2595e7aa3cfe54eacdb23d16d461b1e0e1f4ecb1185f776f19b9f7ceebc01177d624443827d21c5697755f92cb4fbd";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-x86_64/gn/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-x86_64/gn/firefox-61.0b4.tar.bz2";
       locale = "gn";
       arch = "linux-x86_64";
-      sha512 = "2c64c3db99edca9ae722953a48e4df9f106dd485357ec0bd35bfeaf5d35ca72437f38991e2af7fd46fc3653a9907a2f67f6cd931f8d8cd2f55cc56f9bc3a9b99";
+      sha512 = "5ed38fd1a5d0414c95c0ca1ded08f3f31e9a3bcc3860a3127a5568c3c8891a958071d1923a208174d27f479811a9053b0e217fe81d51d130b15b8c5ff8ad135d";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-x86_64/gu-IN/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-x86_64/gu-IN/firefox-61.0b4.tar.bz2";
       locale = "gu-IN";
       arch = "linux-x86_64";
-      sha512 = "29bead26899e8cc33cf47e7e9248493d80a5ddd82fc35e94836f26b627d7343768d427a7ce4e7ebfc70465fba9a5c81bdb56ca7e0e06c788d179c500ee42b44e";
+      sha512 = "b6f850d0a828b24d0c81be758aad2402b749701c09f40c19d47860aa6e9b8e595c223ad14b94560513044ab9e96113bd509aa049e8caa6ce502ac005fd59cf36";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-x86_64/he/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-x86_64/he/firefox-61.0b4.tar.bz2";
       locale = "he";
       arch = "linux-x86_64";
-      sha512 = "e3899e1a3fb97df70a29c0a0b314bc871a9625e736249eb9bc056cf0c56a81d1a2a3364ab964078733f5f3f4cb20229a5fb65a4a481e74b1afe2f1282e41894a";
+      sha512 = "ff989985b24a8b4ea0ebc9dcaa73406b3031733d925477487b4ec53ac5dd39d879601bacd1a69a1190c0438df1403adf9fafa67419e098ff618c1cdf1abbb86b";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-x86_64/hi-IN/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-x86_64/hi-IN/firefox-61.0b4.tar.bz2";
       locale = "hi-IN";
       arch = "linux-x86_64";
-      sha512 = "ca96796c00ea4f028d833c7b9720de0ce2d77e72b9de85dc6e77fcf83379992abad22ace9201de0d4e45c4c89f8a77bf997228b9667accbeb774d3035276d1f9";
+      sha512 = "ffae6c7f92f2c4dc83c65aa4caac0baaef54cce44e7da771a5523e57c15c2d1b2bf4685f8a9fbf0c0d83a234367ed4a30e037e8855fa909fcc3cef2e54c4e01c";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-x86_64/hr/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-x86_64/hr/firefox-61.0b4.tar.bz2";
       locale = "hr";
       arch = "linux-x86_64";
-      sha512 = "7ebbf4ee67c475d8abc48212b6be0cac569000f386c54d893c863e329b0459e59d2af70c1a9ec5d5d123edef738c84249bd41538eb876e010776cd8920744997";
+      sha512 = "d63f360161802fd7a680a412bd11ebd47ddc33e234ea97d9725b58ad35c7ec41b598497847077e991a3744024a384d5fd636d66c9f2a31a32d59040ee684700f";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-x86_64/hsb/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-x86_64/hsb/firefox-61.0b4.tar.bz2";
       locale = "hsb";
       arch = "linux-x86_64";
-      sha512 = "b1ed1fa049df575cdf5e7ec1e0e5e0d70f3fd235ecb969490e4e6ed694db677fb9d561b6d78e798e684df1a918d1660aa5460494639a525e71c5689d7a0d312a";
+      sha512 = "6c5cf6db753f03a108a13303c2a4ccd1be0a8a7dacc4c60de95beaa0395c41bf93921a81e56cb8f65ad7d2ed6e45177c80c8ac9a516e5b72b23942016b62f78a";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-x86_64/hu/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-x86_64/hu/firefox-61.0b4.tar.bz2";
       locale = "hu";
       arch = "linux-x86_64";
-      sha512 = "7f2420f9da6b68a461cd7345755b8968b55e7cccf2d89ee1e5133a11486f35fbe20284e1a083c108806f49f61070550222fd82898d8229baa64d2097f448fbf4";
+      sha512 = "d98013b7aa341be6efce51e9d7d61668c232958066e8e3b9ea7a8ff886450946b30b9ce089b0bd4c12e43da85f922d58be37863eae552d76a953badccf135514";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-x86_64/hy-AM/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-x86_64/hy-AM/firefox-61.0b4.tar.bz2";
       locale = "hy-AM";
       arch = "linux-x86_64";
-      sha512 = "15394abfe0ff50a85714a601b250530ac8983bd456e6eab5f1cd6551ac19b283433ca68bed8f05874785eceea4e7eaa3eb442193ccd31c9e611cac43a20655e5";
+      sha512 = "044962ffc10cb00cee9c7a4e7025d3bc08768f4b955a0df9ec8e183de27ac06366b9cdf4a07611cee23fafb27258e9ddf0b3aea4104193d9ebe58577406cd7f9";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-x86_64/ia/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-x86_64/ia/firefox-61.0b4.tar.bz2";
       locale = "ia";
       arch = "linux-x86_64";
-      sha512 = "80281f638231443c959e0f8ba8c40a74bd96dc9d5b95a3d15d6a62b04fd308b9f3c4613685098da85d45d6e1f5b0f813b8e9b7d2b6f3fd655dfec5481d184106";
+      sha512 = "3a810b0a95babf1e51fc02f54d2be4cfe0a3596b216a85c1e676f7d90bd322abb63d9ad1dab135d268d996fa409a30d6a247d14f8780b9c5daf7dcb09e3c49e9";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-x86_64/id/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-x86_64/id/firefox-61.0b4.tar.bz2";
       locale = "id";
       arch = "linux-x86_64";
-      sha512 = "1ebfd95939088082786a667284a30426fa98d490eb0fbb0cab1546b46f8f22d2e2f4e58b862c2f11b1c2f2f12efc76348f435230fbbaad8451bf7896f2fecdab";
+      sha512 = "2faf68616257b9d4a81677676fa86c014fabcd0164d9b851c37176bf60b0495d493c5434d5f677b7d29c91e97a02aff92d3d3ec9449f5df4c85c261410492785";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-x86_64/is/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-x86_64/is/firefox-61.0b4.tar.bz2";
       locale = "is";
       arch = "linux-x86_64";
-      sha512 = "2bb326166ed2f5ed8cc8c67607b817f9acdc760ff94b7cb5078ce45068ba7bf10aed568b1b6bbd68a5882103f490fa0c6aae1f9d66efe46bdcb606cbf4af6f6d";
+      sha512 = "aa312acb041a1d8f3aaa6f85c0bbd09703d1c5ae972bd80006b929c415dfaebacd849b5297aa2f6d047cb4f21df601a71b3143c451088532f3cd116199373fd5";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-x86_64/it/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-x86_64/it/firefox-61.0b4.tar.bz2";
       locale = "it";
       arch = "linux-x86_64";
-      sha512 = "f73757b9dd8fbe5b079db6399513a01867e3d910ddc35bfe2f7046bdfcde7687c4e90da67ed9fbe829d4007edd6e9745886a458d81da07ca244eb1cde67d9f8e";
+      sha512 = "edbb5f0922521d17ffe3e3481ce5ac440b48af65bca441166c26cd9b1b9a12053b6212d3caf29e4f2b32611ce846aed9e157a537eb20f5785ec8fb92990765fc";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-x86_64/ja/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-x86_64/ja/firefox-61.0b4.tar.bz2";
       locale = "ja";
       arch = "linux-x86_64";
-      sha512 = "60308c41f841ea80554ec084fcfabe002922aa86d67ffd9bd9ed654bfe94b3a5e216ecf2c05e7b409a21d7b86ef07da72738ee94e7b54a1fcc15c056b156d396";
+      sha512 = "20d9c4e1cd8515432163daf732aea418fb0eef6f164c9f72bb8519c896a2e119a4774c00308d8fe49640838d166da673f5def9e99af2c88adb3191cf94ac545f";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-x86_64/ka/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-x86_64/ka/firefox-61.0b4.tar.bz2";
       locale = "ka";
       arch = "linux-x86_64";
-      sha512 = "f18aedeb49d25f3d5e87a1121fd3ff42e70473666c7d6d4ef6006d0f7303c9b64568de36435d4cea9196e92523b5d808a4ebcc7bea94f68d90abcb19bf2d6f2b";
+      sha512 = "291ab0b8da0b4ffb634967a298499b880e3fe8aac73fbf22cf90744aec1ee2d0eae38b32a970e4650243de5aa547986b78bde59e241668be3f363762922d56ed";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-x86_64/kab/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-x86_64/kab/firefox-61.0b4.tar.bz2";
       locale = "kab";
       arch = "linux-x86_64";
-      sha512 = "40db6321b4793a823b37214d08f4db718f84d4bd4737cd03351100b417e48cddb36ff550a26d7462cc793ce2aeeadaa0b72391701215873707946384e122e6a0";
+      sha512 = "edf8a27e6a745e2ab7db9cb3a5a270f50c12bf089846d9050176847b29698203c7a298bcce311001d69a22a3049e34506c77bfe08b6dca3b2f2a8a9fe9dab54b";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-x86_64/kk/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-x86_64/kk/firefox-61.0b4.tar.bz2";
       locale = "kk";
       arch = "linux-x86_64";
-      sha512 = "3511fe6537af25878518394f460a946e6013ba1ca56042070a2de96c637d9726a7e6b9ce2db8bab7972bd434037db76abff03fbd2380c893f5cb60b2a68c1640";
+      sha512 = "1b3972db8aa56fa61b7729029aec794c03b20378b7bbfea93dbbf4d14b9b9bff3be30b94fcc214531bd0067679c5dc5fc3bded774eaa9da1582706166331923b";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-x86_64/km/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-x86_64/km/firefox-61.0b4.tar.bz2";
       locale = "km";
       arch = "linux-x86_64";
-      sha512 = "8884ea6d19ebe1091768629698fb7d11e34c9d011f9270a603b4530a0be5e8479abd87c2aca0cb6fbb33e944b22a69d3267b69c665fbb9b41b0e54e4f9a25c19";
+      sha512 = "210d65fbb16d3f63e5b94b7df2b33655fe29dc3bb1707f0cff4875f480b7b5731aab65306ccf8d19c78041284bdc6343b5bfa195a03503a27e1e687ab14dfeae";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-x86_64/kn/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-x86_64/kn/firefox-61.0b4.tar.bz2";
       locale = "kn";
       arch = "linux-x86_64";
-      sha512 = "6ec80a671c71d5995812417c17e6a65dc9188238abaf2fcd15d9494b9c98ca3495c4b9be35e16175dc88d93a32d51ef2ab5c8d58683ba564e063a0931d63c25b";
+      sha512 = "081d883a7f9982418347463a1bab7a361ef915654314b254993c22e1cc6a37dab197950dfc742dbb76c2e520628c12ee190b33d12b89675de3b87adcac4fd389";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-x86_64/ko/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-x86_64/ko/firefox-61.0b4.tar.bz2";
       locale = "ko";
       arch = "linux-x86_64";
-      sha512 = "3c4ee32ef52f915e0a64a28fdbbc1bb19e80405b63a1d574eaf503431165761d8917c972cf5757b1c104c2cfa9f080ee3c4ba550511b51458f9f9f8894cd4abf";
+      sha512 = "f00a78552a06c759f353d39a6a3abead6d10d8f4d7276b4eee2d81b7572e96b14aeb7801f6382fab96b355264f391093726bd35b94ce4e4c97d221b0eb18fe0d";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-x86_64/lij/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-x86_64/lij/firefox-61.0b4.tar.bz2";
       locale = "lij";
       arch = "linux-x86_64";
-      sha512 = "f5af79d0aa476e21a93a077f94e8408b28f4a1835596aa34caef4176ab37e201e3cff3c13e96e67687146eb2c6b3443744e43e99bb1766d5b49b789980a6545d";
+      sha512 = "2f681b55c324601f297f56b7f7fd83af21a4a176602275d00f75f919923d6006ec1c7a5178877aae406559f2d9acb27de89aeb9fc94e14e273b2729eb27e5fd0";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-x86_64/lt/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-x86_64/lt/firefox-61.0b4.tar.bz2";
       locale = "lt";
       arch = "linux-x86_64";
-      sha512 = "ddb0cf56afae0de194528dfbedc96714e221d43486907cbce6014731650d8a9bfe8bfc639e27aabd5eeef9824004c140511178b89f8ab46550822950e33608e3";
+      sha512 = "2c7388340d8bf4dd7163e7515158d79da26428219f3b2c8a11dfd6d04f85966fde0013fa4209c297d28d8b6bf6ddaed6dcdb3209e1cf3ed6b359f35576d64d23";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-x86_64/lv/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-x86_64/lv/firefox-61.0b4.tar.bz2";
       locale = "lv";
       arch = "linux-x86_64";
-      sha512 = "d2489d3e6f46695ef8e3aa12d01528a289fd687c5840e65d2cd4aa01c122b52ffacc139bff635bbb959c80e686dd8ffa1d0cbe585981048ef7b78ab490a53c8c";
+      sha512 = "c6f2d1c64793e63cd9c5f0a5e0346d6d20af95e8ee46e6a68c41a1af7c584137c2cfda7c9bdfcce22dc23a0f7f5b9dab93117d52133bf78b94a6dc78fa3d2261";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-x86_64/mai/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-x86_64/mai/firefox-61.0b4.tar.bz2";
       locale = "mai";
       arch = "linux-x86_64";
-      sha512 = "e5dabfeeaaec8bca3e8265b395b35ab2f4edab143f14461b9bf63fb9e0261c899e7d87ee194e2da0d4695863c9332b6dee6b8f3334af64832664fafb4c6daac4";
+      sha512 = "c1e0b25fe89e0d27c27942a3c93b2a5f1d861620e2b5e2a077952d806e66183319c5613b099afca667564a9d3f55109b5acb99a5b33da3e8362eae873099b83e";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-x86_64/mk/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-x86_64/mk/firefox-61.0b4.tar.bz2";
       locale = "mk";
       arch = "linux-x86_64";
-      sha512 = "309d35b7611336dd11933d7cacc78d1c94813ac6343dc522110bd153d6dffc29eb803601958735789233c0f0163a983d6ddf2072d730a2858a8de808db00e3c8";
+      sha512 = "b1da2340de04e9535461cd14e8bd203975b6d570d214288da2af3b1b9eeded470325b5a1048e277e173fa3159e7ead212efd4c10748444469ab90ae8ee36d49b";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-x86_64/ml/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-x86_64/ml/firefox-61.0b4.tar.bz2";
       locale = "ml";
       arch = "linux-x86_64";
-      sha512 = "de02f9cbb6f47c3fe16e081aba67c45290fef2c420c29399bb4f0e32c3366957d381190b918723660a7bf9425e02bb290841062b4104498af4ebc35bc3bd3323";
+      sha512 = "41e686c0ae341a4f3b5c89c1c3f583b05d78fdb9b45f51b4791cb0b6e8d32b08fa4b1b98d76e9e41241e90ffd60a43d0a1d43a3a33a20d1f24c1a0efb4ad6f43";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-x86_64/mr/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-x86_64/mr/firefox-61.0b4.tar.bz2";
       locale = "mr";
       arch = "linux-x86_64";
-      sha512 = "079a38be805c8527e1f17e64598e90eb9e464594656785e125f9daab0d3355268d8d18f28c2fe9ab3e8cfa526c2f9010d0a3b8a673e041ad60a8f5b2b6dc3796";
+      sha512 = "3ceed12270a4d9f8c705d6cabc11e362ed56c7ae9d8ec550abeb3fc1df1a727dd836ab53a9301ccb10ac4f6c0552f614452c23c19c5371b00e5eae85ccd16e72";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-x86_64/ms/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-x86_64/ms/firefox-61.0b4.tar.bz2";
       locale = "ms";
       arch = "linux-x86_64";
-      sha512 = "05a087a15ce680f8330070e5717cb32bd42fd7530b48917eb0f47f3608a1d08eb6e99834d20a7b51e4382c16e397ce46db166c49650e3d38112676e3d79b83cd";
+      sha512 = "e4efd20a943b934c304b8a1a873dcf70a8f48e5d5c95314c7ddff0c5030afa0d80868b6f1bad6dc553c93d28c219183edcc474ae6a9905c26b2c4bb2a10cf9b9";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-x86_64/my/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-x86_64/my/firefox-61.0b4.tar.bz2";
       locale = "my";
       arch = "linux-x86_64";
-      sha512 = "2ab117abe127794aed26e5c50f65b7d32dc2fb8b46ca4766259df8190a33a7cb0630315b5a9d19a36a902f8caa2d33730a4500585ffb3deabffb65ad53ed7bd6";
+      sha512 = "7f9f8eba68930d62624321470066a25ddefa3c85df9791829633cbe7c23b928e1e00e7682d8d9d11added730be19087d68701ca428078fd3bbf21dcc69ef639a";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-x86_64/nb-NO/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-x86_64/nb-NO/firefox-61.0b4.tar.bz2";
       locale = "nb-NO";
       arch = "linux-x86_64";
-      sha512 = "136b17bf57805f1c5523b8a170b6c0cf70b58760d8c3485d5c2d0bf6480acecf98ecb10de0b97cae79d8d5595b43b4289bbca851edf07844121dcc2e74c1e68a";
+      sha512 = "184fcfccde9ec2190ef34cdcdacb3781c7f4d003a79672b78729512be1b899138a10f45e4570b837d5b4e64a1db13c1fe3bb0f2ca16defb5315dd495b1dd18c3";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-x86_64/ne-NP/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-x86_64/ne-NP/firefox-61.0b4.tar.bz2";
       locale = "ne-NP";
       arch = "linux-x86_64";
-      sha512 = "4fc566997dc0a55caacd5a2b3a1a8a4d4f691e593da07e19cfc1e47fc6477e32101a5de1d5bfe34741885589eff724c6f2886d18fe208e8e7f6eff5a65fab0eb";
+      sha512 = "19cd13b90d7cc501d2198019d05d33ab8afda90cce2fb805648aa5be8100f0ff15f4a2898b33e3b2d2a39f847ab736b87a77d0f8edf64146a0a5efc18b38df9b";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-x86_64/nl/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-x86_64/nl/firefox-61.0b4.tar.bz2";
       locale = "nl";
       arch = "linux-x86_64";
-      sha512 = "a5bf66f2f9180763534c7d5cfa51fa9d7c9f6b00e01c98245bbc836597f81bf0b07a11baa7ae4e3b5c49864f71f60caea673883d7c93ef3a5b3286b084c00b57";
+      sha512 = "6f716a77ad36a1c73103cea5d0c3c7021bbf70e33cbdb4d7cbf4148036a2888ffa6fa64e7e386038ce247e53e3538538c3cede0e8f1d300b393343b32f59b5c7";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-x86_64/nn-NO/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-x86_64/nn-NO/firefox-61.0b4.tar.bz2";
       locale = "nn-NO";
       arch = "linux-x86_64";
-      sha512 = "900f3975c993fcce0a043989b9dd92d09daca5a0e16f601069ce56183407380685fc3c4106ba38733ad545e4d79487a945ddf192ace54db7c7d97305e7f1f96a";
+      sha512 = "6c44f966dd099fdc355245bfd96edc6749dfdac74ac711ede0bd770b43f154927d78dd8b3413ea70b3992a8a2271cd6e67895fcb2e9fc5fe0b4488c6ffcd1c98";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-x86_64/or/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-x86_64/oc/firefox-61.0b4.tar.bz2";
+      locale = "oc";
+      arch = "linux-x86_64";
+      sha512 = "dad6e6c63936b40e5a05dbe7b0a8dd9dcdf9ed8b80b50963067dea80dbe4c95e13ca890f0b7c4e3c134c1a4db8252fb03bbf32534ffa74d6de1a7213a43d2143";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-x86_64/or/firefox-61.0b4.tar.bz2";
       locale = "or";
       arch = "linux-x86_64";
-      sha512 = "09214aaa9c182013dd12f38b17db33e6b4872dcdb3105db8405bbd068163bb65546620692b5539ccf7bf477929619ddcb438593bd41929489b8842011307cae8";
+      sha512 = "5c1fcdea8c87acb46d74c3fead0da078316f8fc5edb97a379b613c2ec992c24296dd7e83468472f7f453794f6079f485724d154ca70c87483f803b17bd770c32";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-x86_64/pa-IN/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-x86_64/pa-IN/firefox-61.0b4.tar.bz2";
       locale = "pa-IN";
       arch = "linux-x86_64";
-      sha512 = "0e09950b757f8af342329c933414a8c8bb26e8759ff47281208f3cf4aebbe6ef8f230e2fae80070649897b52daabc695b4e47a87e4682d3570cd0b12fb4371b7";
+      sha512 = "9c60479466d6dee01492a04250f77dc496438ec8f2cf3888f504df20a014f0e614a3651dea6eb4617a8eb7ccceb04415377edf04e87fb6bc01eede0ca41cd195";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-x86_64/pl/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-x86_64/pl/firefox-61.0b4.tar.bz2";
       locale = "pl";
       arch = "linux-x86_64";
-      sha512 = "dceeee73fdb4810363feb949792c9fed1e58cd99d64585a8259fd0e0709981de85c174b95317e9fc77667e73bd86faccbcb491cb77b14405553d271092b99989";
+      sha512 = "cac19ecc04fe84e3056c77f6c7ab2e497671cbb5900be1d7f8d296599d0a8a892d557a13711a46b1a73fbb0e0d30dd51a70399dd08680e5e5b119a7bd6f9443c";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-x86_64/pt-BR/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-x86_64/pt-BR/firefox-61.0b4.tar.bz2";
       locale = "pt-BR";
       arch = "linux-x86_64";
-      sha512 = "111d579b63758bb24995b74e5fac69a299db6caebab05eea1af3b2e86ed12db1a7e7ca4fd3d55e2ee18b7640a316bcd1964df18f8da8753f2b7f089f88bf213d";
+      sha512 = "580fbe7a4ece0ebbf08a4642d83724735f2075bcdbfed5d9883e8a94fb5708bf2496bb72c5357c53d7db995e98db7636f4a72da8492607ad4df5c1699302e95b";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-x86_64/pt-PT/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-x86_64/pt-PT/firefox-61.0b4.tar.bz2";
       locale = "pt-PT";
       arch = "linux-x86_64";
-      sha512 = "d62693d19e7463639d0c06a9d07bfc34622f5748b01bf94398fe7195f5d9639344587d81ada0f17ae43f45fa8371f6558b9b468fdddf6677a6ac919e439ac569";
+      sha512 = "6d64a54de0468261ad3ebdbd96b390dc26bd11167ce93450f651b20167fb3796fb4a30aa5fc5cbef2c48a48637a4bc4b5f79a40bddd2744c89038ba339814b61";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-x86_64/rm/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-x86_64/rm/firefox-61.0b4.tar.bz2";
       locale = "rm";
       arch = "linux-x86_64";
-      sha512 = "ae41b07013bc8908282b6683f5f161dc1e7d90c7373f9b31897c25d7b33da2b7136dc6ff94f9e0b9112de334c3c79c3176dbdedf39f09f0eae1af7809d23b224";
+      sha512 = "faf3cd4948bbbfef3ed8f78bec64ac2aecb27d9a6a2ca695cc0cf79d44eff57450aaa1aad25c65b6bf934df007674fb2e6e97979798990827e01c5e17bfd96a9";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-x86_64/ro/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-x86_64/ro/firefox-61.0b4.tar.bz2";
       locale = "ro";
       arch = "linux-x86_64";
-      sha512 = "91b1776539108dc7cf75c6aae2c07153f61ddbaa0a46755dd70e418d0540ff752d6baa29e54cde95aa7bc4c3fc4ad05ac391bb63cd13b8ae8ff54cc4a09e9a2b";
+      sha512 = "563fb9c0b44eaf13a82d8e8ad6a4cf45e5fa5ace7797b774687a1ca779bd8c455719cfa1ff2ca567323d4b282135e9e30757be8d432386bd9875f4c32bfbe391";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-x86_64/ru/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-x86_64/ru/firefox-61.0b4.tar.bz2";
       locale = "ru";
       arch = "linux-x86_64";
-      sha512 = "41b9995ea1002ceff23a785e5e15b8978071554ce65358e68337bd00fb32be101fbf6feab1734f78b665b6f3eb1b25b4fd187a328fbdfe4e70824ee5f8b4800e";
+      sha512 = "5598552aa4e7cc7e97f327343cd6e5b717b8aa5b1a80e8955f08c37cbd87c3baa6fbde9c1bdb8be41687fa89d0b93d2720fb106193ba50efbd9736ac47661845";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-x86_64/si/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-x86_64/si/firefox-61.0b4.tar.bz2";
       locale = "si";
       arch = "linux-x86_64";
-      sha512 = "e3ef0842002689f2430b8a70e2de709b18690aa8e691494e51c032126302e0c661ac4fdeca11a9249aa6dc94edbeb4276be49c1c30707566d3f5b33737677f3c";
+      sha512 = "0a5dfd926c217c84b5fb022eb9d60e12bd9869a5abe4c2d8a575f72c8b1bcd6bcfd91a40d2b41c9beed97e5611f400d99546db3bdfb2ab77267f0babf843b091";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-x86_64/sk/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-x86_64/sk/firefox-61.0b4.tar.bz2";
       locale = "sk";
       arch = "linux-x86_64";
-      sha512 = "92a3ca10270763cc17bbffb9d27286c029a1bbdd02b341748c098161a270b645e07b5939c6cea06d1d9e8c70553e3df887fbc6937f01b336e1676d35e2f15e8f";
+      sha512 = "483faaf1444715cea3f576db1b90963da3fa5999545c16f66506f60659f803158c5080f513bcaa0d51de6c56dfcecc1cfdcc2d7675c26b1dccd31e6ac6fbb70a";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-x86_64/sl/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-x86_64/sl/firefox-61.0b4.tar.bz2";
       locale = "sl";
       arch = "linux-x86_64";
-      sha512 = "462c88a1112a75404782c189817f52925c11d3e0e46f193b9c3a9446bc01a7675d222881c563a1217971a1d5c7b5f4780b756e6913e2ec96034a0fcfcaf53634";
+      sha512 = "25b17017b66ad20c1a895819fbbf4b5d33b536a14991131af6be536033376e53373b82aac17137bb6599672c179de9e039a71f468450ff9fa370a971dbee4162";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-x86_64/son/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-x86_64/son/firefox-61.0b4.tar.bz2";
       locale = "son";
       arch = "linux-x86_64";
-      sha512 = "7d0c93e02f1b71ba5625749c0fa39e3f09349cc2daaf8161248baacdc41794955fef74d5144730972abf0e20d8610795feeb9d47d1419d397a739bf52f3d794c";
+      sha512 = "4334e40cbfe4c531f04362bce012e03428138ddf9dc94abb75a94b76c1ae8881e8552b82b3e7e608bfd7a4b8684f9ad3105d65ed7fc378865b003e25cc389b3d";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-x86_64/sq/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-x86_64/sq/firefox-61.0b4.tar.bz2";
       locale = "sq";
       arch = "linux-x86_64";
-      sha512 = "dc4271095f23a32c20e1ef7b9356fa5d28feebf6347b31d137744bbb565433b8e0fd6b811a2d0ef024405235f2747875f0457e9d5fbe35467ced4e79852d2087";
+      sha512 = "355f71742b7f7de9523c388d3debc116b79cda128f0da877401f9a664fe0985edeba82c9a1f3819a8b0132b20b7f596830c94b4d49f57f6b924ce07c5995e410";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-x86_64/sr/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-x86_64/sr/firefox-61.0b4.tar.bz2";
       locale = "sr";
       arch = "linux-x86_64";
-      sha512 = "7e4045f5daca691b38268c721249fd03c43492f1b523465fb5fa9b4652c7d2681f908c71e204916a016683df2423f2f567e8f9f34b836494eeea97e412bae465";
+      sha512 = "c095d671593b63b17bc48a0bfc1683b96e0a1590e15735194a2e8bd9180df7c6484165ffda4e2f328589f1afbc561d8ef3e79d1474c91734aa77ebe5d53c7a67";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-x86_64/sv-SE/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-x86_64/sv-SE/firefox-61.0b4.tar.bz2";
       locale = "sv-SE";
       arch = "linux-x86_64";
-      sha512 = "cb2c3763f087f8478abdc8c40e272737e4e3f4bd5a4c9aa39de8a54f950d970479824d32afb21f3d78dd345fe8023045a974d5aa5e4b5169c885da7ce57f668d";
+      sha512 = "d9a80a6e41703831cab25e9ae7237d4122dfaa5bf992faf5fd5ad16d9dc9b5c6ee5d1919b25b545c4a2a9b8f52838e5ffc3af39f69266f9a4629925be1aee424";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-x86_64/ta/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-x86_64/ta/firefox-61.0b4.tar.bz2";
       locale = "ta";
       arch = "linux-x86_64";
-      sha512 = "34290d4dd472fbd0488882cddc9fc107833a9124d68ae3be554187bc1418c4614d6a3fd0afaeab70d70f29ca588cd6ee3393ec1750590fffbeb1171d110da373";
+      sha512 = "6da53d55c5ebc813b6c2ad8275745ee2d9b93374c1b6bbf4cfd28c490210a4828655ccffc9c37657892bad50c9b08c87ce43a587126ab58131a50217e626818a";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-x86_64/te/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-x86_64/te/firefox-61.0b4.tar.bz2";
       locale = "te";
       arch = "linux-x86_64";
-      sha512 = "866b566de668a28e7975e9aabb0122afc58e7fe8ae8b2200af9f1118bd279d03819ab8f8e02ff3182b741e50adac994de33edbe7f611eaa80b81c471ffa0fc75";
+      sha512 = "75d23d05b365d2bd6e06a2c737c3febb7e45c0ee944e26da78f5bd247aeb5853e5abd1ae638f95bc124f3657b23d457c62b9a1595a11588cf13bbb8528ada3ed";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-x86_64/th/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-x86_64/th/firefox-61.0b4.tar.bz2";
       locale = "th";
       arch = "linux-x86_64";
-      sha512 = "8dbdd85fdf77c1e8bda711e4400048b42341b34d21b68221e658d03c119f05e78f870121a5f60c354163b797c5fa4213b208a63b73944fbde35eee2728d04a3a";
+      sha512 = "f43d0c98bd1af2e19c6723bc4a4c28dcf594bbb37ebed416d0493883a4389c79d47f6d63a844a3d2f1c6ae9a84670f059faa3ef3d5ed01ff4eeaee6573da7a76";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-x86_64/tr/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-x86_64/tr/firefox-61.0b4.tar.bz2";
       locale = "tr";
       arch = "linux-x86_64";
-      sha512 = "e537f0d5843b26f0e16f8c0d2b7930b604a6a2d208ca87cc76bd8b11bb18d38cc8a247c6601c0ce607df0434534e898ca1cb73e062b8b7c4a1cb02c8f41b1ecd";
+      sha512 = "a6ceb28b89763e46f19307cd6f384dff8c8d7b69a1c89b29a40653b88bf3ec13955247d565c72a0df47a7ab0e3bafabf45b59fc6a22fa3ac6dd3213d3629cd80";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-x86_64/uk/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-x86_64/uk/firefox-61.0b4.tar.bz2";
       locale = "uk";
       arch = "linux-x86_64";
-      sha512 = "8169a900880914dbf76027f3e7a8b7f30a00d729d8178e30c99a108944029640ff9ddfd81a88dc3627c704cfdf2a97daf5cafb6434ff8dd342d27eb72c3d8c1e";
+      sha512 = "64332b903dec3002fdb99bc4c13821c830fa29db868c37d6eee4f26b46cbd5b6b2c2b6f9aa1b2cbf36e5a68b7a18ce068431f229182c8dd380847550845e54e5";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-x86_64/ur/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-x86_64/ur/firefox-61.0b4.tar.bz2";
       locale = "ur";
       arch = "linux-x86_64";
-      sha512 = "8fd7b1f7cc80978f6d0658d265883bc7a4f38462ccebbef8ccd537114b40bd5eacf3195fb193059cd9e1f4a5c926eac5d94bdd611afc1e5a738688461b714ce2";
+      sha512 = "796361fbbb849c1ebfd5e44d97443c151be90275d101c1e124def82073cbc9ec22ae4e88b1767896f4ee0edb6b1ae20de508df1fce99a0846b4388b768ca5c3b";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-x86_64/uz/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-x86_64/uz/firefox-61.0b4.tar.bz2";
       locale = "uz";
       arch = "linux-x86_64";
-      sha512 = "b2a4c15f3b2304ebfb809c3eb654f53c13837feb9ca895c1c8e24a823ba646971df1726ea7c49510a8745f34fc6fbd004fa83b00752bef18cc7ba4f928e34a7e";
+      sha512 = "2bd641e76281fe1740890ebe91a4d87326179d5b45683d5667d523d2ef3300213342ce027578a6c510b46939cfb5d1d3b25b671b17095c9cd22cc7a8b7920a42";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-x86_64/vi/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-x86_64/vi/firefox-61.0b4.tar.bz2";
       locale = "vi";
       arch = "linux-x86_64";
-      sha512 = "dd8cd6dc52ff521b70daa4a2b4a67a500fc6149d23da635b453b3f49e79343a64f2cc9206e0ce58fdb2598b3240e36e5180a1ec1f21be5b47251b07eead7b363";
+      sha512 = "d6f14d45db8551005cd37e386bab3ba1cef2b58bc3b5925dcd7fcb83627823edb9f49ccab2e8092158b7ea83ad263cf01635c9d639873581558234d1d1664a69";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-x86_64/xh/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-x86_64/xh/firefox-61.0b4.tar.bz2";
       locale = "xh";
       arch = "linux-x86_64";
-      sha512 = "c9c78d72670e5e707bab9d53c38b542e0eeacc9ee4e883f9096881ccccfea339e24aca35ff71c1b2f0bec63396309ad55d65ba42fcd0fbb4f1a3876001412354";
+      sha512 = "0bcb49577f8063b2378e6434e41429205b6ecab7dbbddb071b5a32f40533c2c2c1eea65870cde99a760ed0be34b7ceee4ab2f1a2d5cbb8734dfe1fe176129991";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-x86_64/zh-CN/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-x86_64/zh-CN/firefox-61.0b4.tar.bz2";
       locale = "zh-CN";
       arch = "linux-x86_64";
-      sha512 = "1427b96d989c898d70c4d8419742a6e647c952951843aaba95668d8e4a02f7972d7e2f1940417a6c605a53f23ce08c52338c1f4ad605256baf4908694281b47a";
+      sha512 = "d0eb45a490fd8306113176ad3c42b7e8ab317db4f9b9004c70206e0fc51c4fb84274ca7410732f2003afa058b7f2c8ae2d1b8ec52f58d96ed79a2210db23c7d3";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-x86_64/zh-TW/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-x86_64/zh-TW/firefox-61.0b4.tar.bz2";
       locale = "zh-TW";
       arch = "linux-x86_64";
-      sha512 = "0a78c8076b21ce6ee385aaf85dec8ca6249eae73e66209003765edea31660f3707cf3ceaea55d75db08746a6a4636ea8bd18ac3a0c0b2265013c501c71166af6";
+      sha512 = "51f43754fe3840886a3e8ba195055bfc597eefab9f056ffef25974ebcbbb3b05ccef9b35c99af8b5021249cd076b10a5d40307fca31b18f1b7aa315f0a9e57f4";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-i686/ach/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-i686/ach/firefox-61.0b4.tar.bz2";
       locale = "ach";
       arch = "linux-i686";
-      sha512 = "963cdae76d22bc167d5d24f6c6c12705dd095f837cfbac6729cb357bd3a2e348d1841102d969e1446c93b56099087ac26af9454e72126c6d37eae2b1af9d437e";
+      sha512 = "9787c6977c6d50b2c9b2f4a6bbb3ee43a5a8298858cafa24d4abe0bf6bbf1b78eabadfd5b27e69f9fe96269f7a530bc6d0ec0c7afcc6800d88841115c55e5fcc";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-i686/af/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-i686/af/firefox-61.0b4.tar.bz2";
       locale = "af";
       arch = "linux-i686";
-      sha512 = "5feb546e412702ce7dd12b3d81bf1099499ee8461c4d3ef8d0857b9516b6733902e4c554f43c19bfe36425c55dc98463a2e4f576c5ed692ff23dde051a24f82f";
+      sha512 = "61400c29445bd6d7c2b5040788dd6db236678c6fc4f9a7a23414f97757e70cb235ed6d8c39dd35dca66924f40e62c4c4460f3b11cb6da57e2b6928109c2a661a";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-i686/an/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-i686/an/firefox-61.0b4.tar.bz2";
       locale = "an";
       arch = "linux-i686";
-      sha512 = "55208a195cb846401e1dd6746157d6dd6fea37fa179be33c73af28f4ee2e2a4ae3649ab022dc20c0f678c0741f33cce6cff24bc6383689b804c5c770e648626a";
+      sha512 = "cb9dc92f0c490accb006e0fc6d44c37c415e8df5b06e97f0d004e53e5662391b09e0def195c6f5ed41b2c5803f966fb3a151f140e048ae12b2f7aa1ff537fab6";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-i686/ar/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-i686/ar/firefox-61.0b4.tar.bz2";
       locale = "ar";
       arch = "linux-i686";
-      sha512 = "c4e185972857b5e47d6199e89dde4e554c2b636b67cee70be78efd7bd06d6d0efca50309000258f7c499a3dbd5e38f1356c362f3602ee2604d9fa7bdb45e8fad";
+      sha512 = "fbb4af4bce19250e42e362c43ca68b00080020673691b3917ade54e35028908b8938b924a4a8d1b4823a24857c10324b171944caf21a16b0f1cdd6aef8478905";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-i686/as/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-i686/as/firefox-61.0b4.tar.bz2";
       locale = "as";
       arch = "linux-i686";
-      sha512 = "8e2c8a07665b989389a443539c26017e81f0f88ded862d6293f801989556fcafcc7453d9d6a9d379eaefd7987b7ca3ca365ac26feb672a1bbd1717970b6f9e5a";
+      sha512 = "5fe55f0ff65e819ee7ed194a0d2c7a0cfba052e7efc6fb813a6faca7370031d8a679beceefcac33edcf221de5a5701badcf29276b1f835c39eb8665207147297";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-i686/ast/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-i686/ast/firefox-61.0b4.tar.bz2";
       locale = "ast";
       arch = "linux-i686";
-      sha512 = "65fe275638d5b0b4c9d597ea024665ee75570c302296e1b8a4f5b3088ad6f23cc094f9099085ace25814663787bc973339327c1c3ef9b887338f81bafcaebd4a";
+      sha512 = "129218d8d08c39e118a47497e38c3cc30fefddc6a08ea363a08341da4da85b1cf2070a86b34ffa75038b27366222c8d03489d3a4eb4be35e31500fd32d606ec7";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-i686/az/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-i686/az/firefox-61.0b4.tar.bz2";
       locale = "az";
       arch = "linux-i686";
-      sha512 = "e822f84cecb6b783e6cb3d5bbde521c03d73ac9597533217173f84a62d4fdebe1cddad7ca537b7982498842d333f9e03a41bbcfaee21a7b6d1a4025518fc47df";
+      sha512 = "b30d0836f1ef35ad01c929dd43688976a2fd9917d56ec99be65298ff2ea88b4608ff0b5e398fc016718c62aabe6373cd85394b1a9da927c539fc1999dd49659b";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-i686/be/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-i686/be/firefox-61.0b4.tar.bz2";
       locale = "be";
       arch = "linux-i686";
-      sha512 = "3f682a589e8701c4247aba7d79b2606ed94627f55ba2d39c4d12b97c2bfea9279844797fc79130da59ec04c9e05a722ac3a3345acc65db0a638329e136812053";
+      sha512 = "7a3dd71f5e22c03b76290d34eab1dddb83662d80977c99580bd7abb1bf80f448a6b4a3b866a1656c0b51018b323c28f921a7489d7e10fa3ed2b092fd77463fb0";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-i686/bg/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-i686/bg/firefox-61.0b4.tar.bz2";
       locale = "bg";
       arch = "linux-i686";
-      sha512 = "8e9dd34afe39d623e8015eb63d6f78f20aa22cb9c1cf97ce0279260325c86f1999fadac0b4e622a55bef1e994ffc6c3e347a91ec1401105b65e0dcc968c578f3";
+      sha512 = "48b75a86c8cd4d288ef7b39d2a2998ee01082db7c32767c0188d6d930362e0ddc391062d69b2dd420ade553d13145b0f11233f85e68de27469f287ec1a788b73";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-i686/bn-BD/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-i686/bn-BD/firefox-61.0b4.tar.bz2";
       locale = "bn-BD";
       arch = "linux-i686";
-      sha512 = "eb0cbec48a71db923ca6054ec3fe908a9c60f7a21f74e6e18e85a4d7390f5a48c56c08ebb36f57b36bd517446d62a3ccc7556fb33c9203dff0f90dfa020b79d8";
+      sha512 = "065841bd9ce5877c7e7c9732eedc96a61c424ed7d1ad797ae8411f3ab8ed6d24f8490f067ad96d0ef77af3343a201e3cee8e31e6b9cb4589969afcea03fba6f8";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-i686/bn-IN/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-i686/bn-IN/firefox-61.0b4.tar.bz2";
       locale = "bn-IN";
       arch = "linux-i686";
-      sha512 = "bf4300ef92802f8c635aa543156a2310379d8cc8bd1a1821921e4152ba1134b9c72cefd82597499ff3dee3b19cdb6ed7e264628499161ad07497a3e3912603e1";
+      sha512 = "7c11742660e36861c6acb0d4022feaaae13ac4d3ea3c3a8dd0ed0c8634c39bd4f36f893ffcaa8bc7170a03b69fe98b8a426722ac9d394a3b0ce6c3b5ba00036b";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-i686/br/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-i686/br/firefox-61.0b4.tar.bz2";
       locale = "br";
       arch = "linux-i686";
-      sha512 = "aca08a08d8c9c77da57d5aa0f9313c0bc9dd5dd766381c189c361ef4b311e49e462f70b6350dcd9dddd292d0a3dd295f0180444d607a9d33eb402242e34c9ddf";
+      sha512 = "e3b15b6c19340b8be15c72c926759bece00e26a1ff82c5fb0ee7f6a92e59c075af3cee82285af7ea9eb666c087193d6b19048043ee84cd6fdb8749395785f3a4";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-i686/bs/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-i686/bs/firefox-61.0b4.tar.bz2";
       locale = "bs";
       arch = "linux-i686";
-      sha512 = "56334e40e7175a49b77dc44bc2d915ef1836c1a67d71b2449f75073a113c6f87361e176defd412bce60f8d687aa07b527e5588d164e1177fb139a077527241f5";
+      sha512 = "ad8ee06512e4f9a6354284548359c6f27915ab10d5ba171ca16ca2f928a4fd07a586d6db8923faeaba18c1c2e8f6d62a7db36bf124ec8d3e3e36879b131f2800";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-i686/ca/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-i686/ca/firefox-61.0b4.tar.bz2";
       locale = "ca";
       arch = "linux-i686";
-      sha512 = "dadfd68b729ec9d8fceb68dc1ee65fd0f00bd2135e8163c993cee34094110be3cdaf856f48c16a0156da395842503bf52a5438795c56caf9d6ea5f4b36961e1c";
+      sha512 = "e34d1c3c85e41bb8d63df460390473ede1f5591b1c261edcdb15fc8e2b892b4899b82f5a7de77ebfdee54c1dec78108064c716d36c221cd856b98ae79f5f5e44";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-i686/cak/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-i686/cak/firefox-61.0b4.tar.bz2";
       locale = "cak";
       arch = "linux-i686";
-      sha512 = "bde96a0f22c762f7d7a877ecefcf876b6161326052110b3f8efb61a67954b93d456acc854901a9af9857005c622ae9d557a647a10fe4e8df6399ee4bd889bcda";
+      sha512 = "53ecf3572525dbfb1af987ebdacb2b2e2a6a1e88ada6974f5f831abb9756059006f63b7980cd30d18ff1b803db395731f4efb4de4d8f6fcaf2d52cef3d37ef29";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-i686/cs/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-i686/cs/firefox-61.0b4.tar.bz2";
       locale = "cs";
       arch = "linux-i686";
-      sha512 = "1174c231b511292e4528f59458f26f4ad601b2b4815c30322dd5e151e2d24e1f2fc244cd512e2bd43a46436180f83b25db61f3e8ca38164de130e76fa3415429";
+      sha512 = "58c6b6878e2d519527771ae44c1253625276382aaacae50bdde525ed3cba0c2fe92dfd38244e0e7eb12c60705388e1d8d1dbf69e7f5010113fb44d1a466d0089";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-i686/cy/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-i686/cy/firefox-61.0b4.tar.bz2";
       locale = "cy";
       arch = "linux-i686";
-      sha512 = "02eb16c001278e637df52a28c5ffa9fd2565ec71b163cddc1cf0e01bc82895226d746474cea36317a43cb2dda7f0bb1e7ea74c1101602220db850bc8b238576c";
+      sha512 = "e1d0316ccf08dd913131fe2c0c7286d8bd0f76e95103c2b112bae5a93f85f2860848a4e1fd48360be941f6ac0204b9e9a5d47371b6a8b0a3960eafdfa9a32d52";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-i686/da/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-i686/da/firefox-61.0b4.tar.bz2";
       locale = "da";
       arch = "linux-i686";
-      sha512 = "58738db35718350a5eb1ff0ebc1fa6a7c49a4d8604fd60bd5dca6fd4718f49ab4817abcdeb30d99d8a5a0eca5374b17dca28134d554eb608c030eb0d2be59cf7";
+      sha512 = "a8273ee29ed1614adcd45dbe5fc78959a8bc17629dd92b1019a4b017bb0cb49ad2e6a65fb361483ec88d0124880e8d8994c3cd502d6e2d2f8ba7aa67043a9c37";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-i686/de/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-i686/de/firefox-61.0b4.tar.bz2";
       locale = "de";
       arch = "linux-i686";
-      sha512 = "3b2e2f745b61a182a6a1c4b1a236e6e3639cacf0c3034dc5ac510e0595cb636b728e8c6f39d5e183a181f54788a64f19c7f3e8288cd73929e4a7b96e760a714d";
+      sha512 = "6e81e858d7933940e6866142cea5ebf1c7009a018ca322ae35ca05c0813b82b19796ab445105c9b274431aded2713d25992fa91730e837335596a8f5ccc9e574";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-i686/dsb/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-i686/dsb/firefox-61.0b4.tar.bz2";
       locale = "dsb";
       arch = "linux-i686";
-      sha512 = "f05b7d0c56278b2d4644ceb542efe21ca4a548725ba5162f82b13ba9a122f6dbeb71db227a413c37fd05590868a41fd3e77831824753b140a763514c16aee76f";
+      sha512 = "fa4e6ee982554045afcbe798a3113a4a1a5baadd0bf20b79d08186d781a739c9ac01bbdcad7c1e473844c997bfdab03feb590d133be5aba465eb737938f8ef5d";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-i686/el/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-i686/el/firefox-61.0b4.tar.bz2";
       locale = "el";
       arch = "linux-i686";
-      sha512 = "af7f98c5461b365724b81b99daf054b5308933debc99cf20eb8f4a0862b27b4024934682f780c09810333799ab297750cf59b4f4a709e0387f8f98ef4fb9947b";
+      sha512 = "3865e8d77801bebd4036a69e0d5a4e7f96e676808bf8379c3165142b42ed9e2f1eb4cdf9e3aa0c1a1688c2d882b72d49f2e8ba04c4ba31da3d31d2672ec897f0";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-i686/en-GB/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-i686/en-GB/firefox-61.0b4.tar.bz2";
       locale = "en-GB";
       arch = "linux-i686";
-      sha512 = "d8339bfff4843038367a6043eac811138a9d0084dd6d0ba92d0cf23575a6d9780e071bccd281440a496d3d8e0f8dc0b25eca685a3012032dba1bb122d4212ad9";
+      sha512 = "5133291dd265109496669babd12fa97685e83e7ed08b98b8fe202d2d8baba0f3fce4fafeb71a09d16ded277bb809600af792f2e8dde8a2418fd7bf28f993119c";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-i686/en-US/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-i686/en-US/firefox-61.0b4.tar.bz2";
       locale = "en-US";
       arch = "linux-i686";
-      sha512 = "3b6be53409502fbc88498e14129c0ba9d68fed4bdd68833a01fba16d75d61471eabe344a3be487834e6b36205df0584cd09724c650cd2510075a54ea786a4cab";
+      sha512 = "f2a9a678f3082f85848a87cf784e774f36e374a872103c0b324b1de755f02889e844a78c6faff30109b301e1729898826a779f1f690ff0757e02e9485f23aba6";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-i686/en-ZA/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-i686/en-ZA/firefox-61.0b4.tar.bz2";
       locale = "en-ZA";
       arch = "linux-i686";
-      sha512 = "d3fdae13673f4f6c2d6d0e675f2dabbc9880805ffebd03c531fdadd0ccbf7767d434ad8f8cf5c50e385998cfcd0f16433e40fee9b280784eea815ee14c846f70";
+      sha512 = "7f5560724d00f3dba6249e4c38d61701dcf3007d1e4a2521353be771eb50fa1937bdd346008c1b912723e17a6b13708b1d57d5b385cbb1eba4ed7438e2d64a50";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-i686/eo/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-i686/eo/firefox-61.0b4.tar.bz2";
       locale = "eo";
       arch = "linux-i686";
-      sha512 = "e9d2468d817a93e73a5d547442ca5bd12ee0e7e030b6b63d4d889a8baafa566db6c5a5f8bd2aa4411bda49bf0f8eb0af6f6845ca7297cc0b2b6f5dd25326021c";
+      sha512 = "6be242be300413c2e9e96f233f651c19472934c63b7a850957b32316b5a387ec81f25e84a885b0796317ef1d5f413be7793f7bb98629ea4550d31d33f7c540ad";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-i686/es-AR/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-i686/es-AR/firefox-61.0b4.tar.bz2";
       locale = "es-AR";
       arch = "linux-i686";
-      sha512 = "173de5049863b8e291fbbfb4cf1d7c04c15bf3b48f9eca1ce3759e1117f6fc64be3e37cd0548e4ad4dc8cf2be8ef6341b7745423a5e39c0d882d040ae9f94623";
+      sha512 = "59c78ef47c350d2afe16d2d135028a9831c5a8a458582e9909f5a9e3e13db8dc9bd102b46dec06c606ff1f74b3c1c410b1bd8df2c38cf3816817ca56c32d0ad2";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-i686/es-CL/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-i686/es-CL/firefox-61.0b4.tar.bz2";
       locale = "es-CL";
       arch = "linux-i686";
-      sha512 = "bee968fbc414f05b467528c398d8884c0ffe9390fb44c2c9a5d7e9807f63bc58bcd11078ca7db4e98dff470280b066ebbe605f5600d8e43782166b23bfd2a0e3";
+      sha512 = "b969bb7762821084db87f0da0ca0898671dba0ee2deb7a134065ef607765cf40f9b4858edb198e044bc8520221511cb26a55254a4870f01bbc216704668c0deb";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-i686/es-ES/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-i686/es-ES/firefox-61.0b4.tar.bz2";
       locale = "es-ES";
       arch = "linux-i686";
-      sha512 = "dde6f0790c19fb619dc408eb3a6a9abe8cfb749110fbbc8f408460c3181755d408a7fefe79c8041187891ed45ce374727a54232510ebbae3e9620d207f406b27";
+      sha512 = "cea1b56365a4a6fffcbce53ad3540ec9dbc9faa01500f8924c67a25828ce14d03e3a9338900d1aa44bb1b17e913f58e5ae50d8027359f6070c947bd419cef075";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-i686/es-MX/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-i686/es-MX/firefox-61.0b4.tar.bz2";
       locale = "es-MX";
       arch = "linux-i686";
-      sha512 = "7794d4152d2fdc6d28d6c4607841364fdd5211eb7df56cc0c386a581140d16fb94b5fa26035f9c1b45fbeb3dc02d6fdfcdb51576599717c551416a961ae8e244";
+      sha512 = "864580e8940a5d6cee69c14b3483ebc27abe06cd441f322aef3102c5b38d87502f514a3f315e7bae6ded19ce2f0c8d31f59d654ff3b067226923cee70987412b";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-i686/et/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-i686/et/firefox-61.0b4.tar.bz2";
       locale = "et";
       arch = "linux-i686";
-      sha512 = "3984aeac5f5d27d0a2e3797b91dfa3b23766fe742fd30b8872bf88010e8852a2bd7390c6180ddceb4685ea3f763ec7acc402eaf11930769c28c8069147fb01c7";
+      sha512 = "cf7cb0590a7d2ecf6f2286c9b2c14935a44bfb546be69985c109948e610c5ba501a87c80c983e7646420f41be27e4d4bf329242e2557a3706a40d2254fceab34";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-i686/eu/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-i686/eu/firefox-61.0b4.tar.bz2";
       locale = "eu";
       arch = "linux-i686";
-      sha512 = "f4c38298ec6bf715011b631151ae599e94546112e50888d98229818be9551f9c8dbbb4664e99b00d17640406b86ea9496d59fa620fd13be850ca77994d50d9cb";
+      sha512 = "968fe509ae134626a51d066b2f054f604ba35d0d4ae48ccf3d56a76aa5a73c9af43660b88f90c650234987fd9b8ded64779675e18ba7b67876e87e91e2b119c1";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-i686/fa/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-i686/fa/firefox-61.0b4.tar.bz2";
       locale = "fa";
       arch = "linux-i686";
-      sha512 = "49e5fd356f031bf60952152e4e7fcd0cba651a20178d220d9927089639f783d2b866f79184015074c77606209a1c0a455554a6c9b454c21b46e3a9f083c83777";
+      sha512 = "bb72ed23df33434b4a1ea1d141e4e918200285d0ac1491376c520b16436e1a22ca04d391c8fe22780aca312962807c165dd2aebced2c1a2db6de95c51ef15c10";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-i686/ff/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-i686/ff/firefox-61.0b4.tar.bz2";
       locale = "ff";
       arch = "linux-i686";
-      sha512 = "29c96f619912254b644b479e60a38f1532b140cfb14b83c09e9b1adabbc95ba0b11b6f67b12668f194164d933e1bc4fa4410ceb33ff2511096765d2b447eb434";
+      sha512 = "5d68fbc01a5d55309af596520097b863dc670b51daa48f0fc03a3bc593871b68fe67252774d7a52c71932a08d84d8faa2c42aba1f48b4d26f765fa34561b0c34";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-i686/fi/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-i686/fi/firefox-61.0b4.tar.bz2";
       locale = "fi";
       arch = "linux-i686";
-      sha512 = "80929d60bf83d81e732f2dc0348cee41f43568c8652d16a96a46ae10107f155fdefbd7755c149b1522083e54b96c1fffa84e21007f27f8164663360d662b0c5b";
+      sha512 = "eb669bc4c743e3b4ddc241ea101ce1ca7c0e68ea80046ba15c6001a90bbfe148561ebb8d32cc6d353ceae12772ac4ca600ef48f9ce3f4896b5a99842a0298829";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-i686/fr/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-i686/fr/firefox-61.0b4.tar.bz2";
       locale = "fr";
       arch = "linux-i686";
-      sha512 = "313722edf4b082eae40b4eeb2c5b382606095c84e0e112024d07552e1d9ce3a4ca0fa39679f574b8f41074e7e850a94db034b452624caacd98aa3d837662b409";
+      sha512 = "bfad13dc2450ac4e486d3e2555d9056a8ca3442f2e215fcf27e86d3a70dc78b601c711f47a70e75f77098a2f4025d0c0b49a1a0e82d8635efd248ea8f2be2abc";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-i686/fy-NL/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-i686/fy-NL/firefox-61.0b4.tar.bz2";
       locale = "fy-NL";
       arch = "linux-i686";
-      sha512 = "2b819cb5bf8e1fb80604a98d134a94de735782b8539a89ec4a542b7bb5b795cfad173b26c66c77c9f518ca1edcd3b3946225a7475253bd948f44939453d20d26";
+      sha512 = "9e9e7532aaa30467a080cbb7fea380ad25a244fc17f89bd0be04f73508163580b7fae1b6151ce6e451904cdcf04b389605883a937150cfbdba5b20e9521b5207";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-i686/ga-IE/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-i686/ga-IE/firefox-61.0b4.tar.bz2";
       locale = "ga-IE";
       arch = "linux-i686";
-      sha512 = "dacde472539682785a79ae2fc01918ffdcd23e630857bf0dffb13eb53651217dc081b8103eccafe62db7b5aaa36c33268e8378bef51a01111249718251b4215e";
+      sha512 = "580f5e6d0ebbb7baa80084472c3b89817c83a674dfb73f00949648d42c8c9c327dace1fc0162d389e06c347f0a0fade4fee906b80931217662d59f1f1515535d";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-i686/gd/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-i686/gd/firefox-61.0b4.tar.bz2";
       locale = "gd";
       arch = "linux-i686";
-      sha512 = "8ce645014642c907d309b965aec5d568bbaae65805a8331ed4726a9d404a1e8a243763c7a92bb85295a541767305560a2e1b5bea93ba6b2f96341e3587105a29";
+      sha512 = "2499205db938c19f749dfa303e859084d6801f86a384a5e88be0e9e0900863e1970bb7314929ab8441944b8cd4fd23f2b487167c7803ee58ff4a50da4af371de";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-i686/gl/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-i686/gl/firefox-61.0b4.tar.bz2";
       locale = "gl";
       arch = "linux-i686";
-      sha512 = "729da9849d664ed6e2cbaeeb89f8b81d1de29b5f28d599d26e0d14e9d1a2daf1b37c8de769435c2dd7a88d8807f76ce7233fe629b0728ee063b02828edf8b984";
+      sha512 = "cca1a6adb4096f91abffbcbb1969322d8c60a53c0fefd8cb98bfac1c1c324134a7cbcea53fa15217f41b2c54893f1dd26e4dea2a0fbfec9bcd0d7dd928c1673c";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-i686/gn/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-i686/gn/firefox-61.0b4.tar.bz2";
       locale = "gn";
       arch = "linux-i686";
-      sha512 = "f4af9658e7e0074ffcbd38ed9c2a8a131e279bc67c86da47f3322d30c5051c4b41cee8d7b61bb7faf9993d8ba41ad151681621525f92b50b88e4680246eaf2ba";
+      sha512 = "8484312cd5f4d38babbaf2757f1b0548fa0a291c1de76e751bf0235b67f1fdacc5f3c6e4d54729a91fe9f5451c527972346d36adc0d80bbd110ea1c0a0025b85";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-i686/gu-IN/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-i686/gu-IN/firefox-61.0b4.tar.bz2";
       locale = "gu-IN";
       arch = "linux-i686";
-      sha512 = "30218d1a8b550130520018af0079e9abdb4e78642fceeee25806f739ec079f88a5df0740c44828678d865a7ab242e6805a7d632c41fbc2c3b84f44fd58fd9cfc";
+      sha512 = "019deda9993a2d02cec8577f5542cfe247c04a4c0a7c7d6faf65cefb1a8338ed86e24e51c74e6ba30a4f5b6e644655de9df1c99584172ea51e07eafddad65f6c";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-i686/he/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-i686/he/firefox-61.0b4.tar.bz2";
       locale = "he";
       arch = "linux-i686";
-      sha512 = "809baa75d75c1cbea94e9934ed9e445d60f3f0cb37b9ecbae851c342f0477731de0fd5f6170c43863035f5e2633ab8cff960729a9f8594c684b23d5819192ee5";
+      sha512 = "7a5285965e37b112803f0b533c8ba501ca70a9fd09ffd1e83e630174c4966a21d53f6c6054e7b60b76818acd47813a2062fa9f986d11d78c714c127b0864de58";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-i686/hi-IN/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-i686/hi-IN/firefox-61.0b4.tar.bz2";
       locale = "hi-IN";
       arch = "linux-i686";
-      sha512 = "440638f35d07edbc4f854924f60f22cb4115634d55e2847867c11391a950c3c792afaf2e35b3090764acd8512117a1a04e77d060ca2d9aec12638d00c2032245";
+      sha512 = "6bbc86f071ff51ef1cd4aea468ec2165a6ca991ecef2524bcedc0ed3d25c7b3e0729dbbfe5df3c236d14d996629824486f064d554a0eb5f89f46d69f3a8d61a4";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-i686/hr/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-i686/hr/firefox-61.0b4.tar.bz2";
       locale = "hr";
       arch = "linux-i686";
-      sha512 = "df6b3ab4c53799b6100722fad4f20403d1a1e659b17d66d21f65e98e3b335b0c7ae8a9a099c44bc8952359dee184f9acff836bfecab6cc09c686a7bb3d9d6599";
+      sha512 = "924ff70afb07ee9379c202bb684e7ef85d0793fdaabedde7c8889c0eb798c64cb7fd5a309a03abd94cb56e4a194d9b7b9f7a212abef4ed314d1b79ef4c8f0433";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-i686/hsb/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-i686/hsb/firefox-61.0b4.tar.bz2";
       locale = "hsb";
       arch = "linux-i686";
-      sha512 = "c3ffb3eaf9d86a42ce281f97cdfc942081d14bc671e28543603e135bdbbb527a004af13df9e7cfdb1846c9cb42d4f2162b8ab63129eb447433ee5f47baad3ed7";
+      sha512 = "4e6fa9f275896bc32e426b91aa5b26867a27f52dd767e030872ca365ba56a57fc4a0df7ab877c282113333d94ac3a1ba0159fe8563f45d01650fa595568bad38";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-i686/hu/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-i686/hu/firefox-61.0b4.tar.bz2";
       locale = "hu";
       arch = "linux-i686";
-      sha512 = "7b1f231f3add4b70b9f1f2d2801237dcaca17e4d0b0e0ce5934a617dd73550db4b36386b1997f835bd4712313fb9ce1752a3a972d77dd0fe8f1fe51364048ca1";
+      sha512 = "13593a85271fe064f0d201d14fcb830ae2f9ceb965b4b3ed1f3a7f7c9a7a6b889bedf551bbae07a385b9ff97a3d79e0f9081b1746d00c827af3c2c20092fe965";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-i686/hy-AM/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-i686/hy-AM/firefox-61.0b4.tar.bz2";
       locale = "hy-AM";
       arch = "linux-i686";
-      sha512 = "2d8d1b61a9609d5e69b031e51428cecfea166b8bad1e2c928cde2aeff0a5a105547954235628f3d67031ee6b150d800a2dd09235e69af8e61a5046a80d74cc38";
+      sha512 = "a8357f7eb7ab322a1a5552a8852772ecc8bc36f8509d1f165aa226442c67d00649aac802ba405e1ae722c957b6c3f6fd7c2d546db2968f28bcc2c9a7e9fa7ec9";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-i686/ia/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-i686/ia/firefox-61.0b4.tar.bz2";
       locale = "ia";
       arch = "linux-i686";
-      sha512 = "a8045c13e33f28c136923abcd2131deef56fce717eb0be77ce750f80d1f0617b6b86cb3b123eb2da58bdf543209cc6b6c803cb3dc9a53b3cc6e23c98ce6b678b";
+      sha512 = "b370703f8984192be45b07e30b0737ab296494aae0a9a5f3f31f276beb9548dcea441aa245cb1e12ed04fa9ae11d2f00a699483e02f8f47f35db625faecb1f2a";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-i686/id/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-i686/id/firefox-61.0b4.tar.bz2";
       locale = "id";
       arch = "linux-i686";
-      sha512 = "4e89147ebe166243ef1a551f7943e3fca44d5005f8b8386728c3d9d82352cbdea004467ba7ccdeea5a4710bb34605217ee2577e1f1c534713fb52fe55aa0bbcd";
+      sha512 = "e8bf96e09bd1c919848fe86b87769fd7d60086919f71b1f92896c6d785206c9fda2e7cc57aa79234765fe55b29575135d05db4181155b8e7607c28d3ad92fa4b";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-i686/is/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-i686/is/firefox-61.0b4.tar.bz2";
       locale = "is";
       arch = "linux-i686";
-      sha512 = "5a94e9fb47ff68a2f5a07100acf573d974222446bbea110e11729286b64e59d1a1a9df91b93848b47fa9a8e3e3471d5d4973872ec1c6314b3a76b852459574a7";
+      sha512 = "9668851619bb97b32d043032931bb0a0f1df8f9cfc35a308594983a32de504a6a64830d265b46bdb30a23c58fbd4c7e6571a042e44382930d183849880c1ba3e";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-i686/it/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-i686/it/firefox-61.0b4.tar.bz2";
       locale = "it";
       arch = "linux-i686";
-      sha512 = "c11b004d02096e950c59f77ada04ba557ac37e9d95994a105b0bd76e8a9193a0e66f0a3efbf724fcebe96e77a5940704c284f79d48f8865ca1907fc2bc7adc1f";
+      sha512 = "fccd8388e7466ed46aae6d157f3baef23d742ec797fa26a7cc861da97f19650e09f8ba5e94aa9f9ac779555a1c7873e0aaecdc9bb691af773767b55ee0b820b9";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-i686/ja/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-i686/ja/firefox-61.0b4.tar.bz2";
       locale = "ja";
       arch = "linux-i686";
-      sha512 = "9d98fb24d1c705246d2535a1bcb5ee38d84930ee609d15d350e3eb8bc905d1103e7e1f1cb48642ea6e6b99531e74929497790549e9ee9ef9c597bc8f16a827a1";
+      sha512 = "6d8bb09d098b94be37d41d73a6587885240f15b83094714adfbac8ed595f3de4ecc78de82b5516270b57ca093439209a3093b2e737b2d773984cc3a28e8e27b2";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-i686/ka/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-i686/ka/firefox-61.0b4.tar.bz2";
       locale = "ka";
       arch = "linux-i686";
-      sha512 = "767d109b2e7bfe89a01b923c859d6f3d3f1050922cc84df9aef775cba990a2808bb839ab1b2431b3c6603b41d0e757dbb64b1c766ee150aeb221900bc9e0fedb";
+      sha512 = "902e6cec903dffa2e3227f8cf67b472857145bfca6e228a896f14fb347707b753beef3a2836be90e0a17161248adb7b916b2dc9dbf4f780989a09bfba757b5d9";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-i686/kab/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-i686/kab/firefox-61.0b4.tar.bz2";
       locale = "kab";
       arch = "linux-i686";
-      sha512 = "3dc103b9a807abf43816db6ee9bcfdeef31dc21b969762a7b1e9f4fa06d5ff6a57cff134382b6d1d578c80d4b902232a7cc79642a68b2e26680887ee172ed11b";
+      sha512 = "7ac062a6523a91dff3573a9f8b664ed85877ba1d192baa196cac1e3576ca285c2368d1d5582a439b5693cffcddbc08b35ad093d322eba7dd8181c4ab797c4ebb";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-i686/kk/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-i686/kk/firefox-61.0b4.tar.bz2";
       locale = "kk";
       arch = "linux-i686";
-      sha512 = "e7cf35aae82156bdb4dd023e5a7530fa431f41c0e4f270aab89a64a0aa02dda228c92dfc7aa4ff289ccd256c543bfd74622c6d44ccd5b48ceeec880b394d38ec";
+      sha512 = "83ba96c3675c4cdeb9a7c661c73314485430058280118ecaf2135318c238ec78ad88e6e09e2c7cb4c43f4e9dbada55cf010301b2b1b6d1b49355039e6bad9763";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-i686/km/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-i686/km/firefox-61.0b4.tar.bz2";
       locale = "km";
       arch = "linux-i686";
-      sha512 = "03afeff083f483b274a8526a4418dda8ce7c3773a60354aea26498c7f006445bd6631357213944ecd6996a5a4508b96797d44f16eadc5f1017b7fbc18d0bf3ae";
+      sha512 = "71716deb9304033c46b72a277aadbdeea99fa936fe63830df79fad5e7a79f76eb9527cfd38da5ece4511fe19fdfc32eb301877a26d590b20d3c3c051bece2496";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-i686/kn/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-i686/kn/firefox-61.0b4.tar.bz2";
       locale = "kn";
       arch = "linux-i686";
-      sha512 = "a8d2609029d28f8d2b59815bd8149a2473e06227fe710c77e2e72044663ef90e65105a32a7ada47a6d889d6aa761dbbd903b61ce8dff8100b052b54f35f86b28";
+      sha512 = "2f296eead5f73a279309d68aa6d7fcd433bf133861f158cf6c24a766f28d902d00e3ecc25df07d51794706461bbf2bafb4228dd61cc3dfa3baecbbc4f967ee12";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-i686/ko/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-i686/ko/firefox-61.0b4.tar.bz2";
       locale = "ko";
       arch = "linux-i686";
-      sha512 = "1d073bff96a15bccf6a59e11a28eb0231983a0392069cc785ba8760827ade0e52f511040941b8e142c6de91621bd928e218ef4832a95439102644670b9be3a9d";
+      sha512 = "51f4b2409f822b1ae357f194fb308e35f6436dc0319629a436c03b789373887eb0cf6f8ec2d11c005f7d63a79dfb035e8661d7833cac083648def49d1fb1acf3";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-i686/lij/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-i686/lij/firefox-61.0b4.tar.bz2";
       locale = "lij";
       arch = "linux-i686";
-      sha512 = "a69b4ff3b9a452a56e4ecc07c09d6276b26356bf35090cbefe9be419ce4d1a1fd772b7013a13fbe4f39fea495c5191575971db5786d3c1edf1b4ac9acac33323";
+      sha512 = "19a2b183bd086aa57e5dda573e422e3721fdead13b0ffe62beaa1ec437544e6138747a5ac22d990c772bc75b58cfd69cfb218f518a6fe01c3fd375ecf7ca6373";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-i686/lt/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-i686/lt/firefox-61.0b4.tar.bz2";
       locale = "lt";
       arch = "linux-i686";
-      sha512 = "987863606a8f68fdafc8c61f206db6bd8bc358157f28631fea598872acb5ae0ab6e56259134ef3ea46f5d74d908e49981eb6e8bd80e32a9cf1de77b6086e1ffb";
+      sha512 = "36ae93add3821233d16fb3f9baeffcbbb061f77824f5030043f1f9b3222e7612afa227022ff7ebf05ea5760dce1e727777f148c77d1eb2e4ba2e0bf35adb4911";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-i686/lv/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-i686/lv/firefox-61.0b4.tar.bz2";
       locale = "lv";
       arch = "linux-i686";
-      sha512 = "3466e0bb5ebc426bddc9fa70f4c84b6c07e997119c707a3638b726c335ec8cd58fa9ad038528de4366ac0866b4e535b2a6ba307c0bd42a3590f55ffaf6fe7032";
+      sha512 = "a3474036735619ef1ba34caff598f17572b32ec1138b2535983055dae6b4969428ce634930e2805b25d5b5a56a731831d681f12a6506429fbe1149e8cf57e8c2";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-i686/mai/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-i686/mai/firefox-61.0b4.tar.bz2";
       locale = "mai";
       arch = "linux-i686";
-      sha512 = "427060dbefd340c2e5e0006b88c40de5a63786afa7dc7449b11493faf66acaa4c17dadccbbe8c44ba4651a4a44d65932a9eb17eb79280e4cbf2d10696077bd0b";
+      sha512 = "185f3e1953c05a496dac5027e899054ed376a09ad0c08c88f183c4f91b7210b4244ebdbfa224ab88f7e695998faf50899551379b30e7ad04ceb2c9938099df4f";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-i686/mk/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-i686/mk/firefox-61.0b4.tar.bz2";
       locale = "mk";
       arch = "linux-i686";
-      sha512 = "d4ad81fa8aa8ab44b63421d16d7cea36d900bf4d374e4c5a167c46e3480b459554672815cc9e54f02aa3a53f1becadf675e730799d57bb4bec4e245a78718aee";
+      sha512 = "4c04cd14c893461ff87ddf5a17955c5a80eb5e9ce929aa6a37204530f1fc10f359e9af451918f98d30fce80f595a4f14498e26c07b48ad0dee6b3720f72842f1";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-i686/ml/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-i686/ml/firefox-61.0b4.tar.bz2";
       locale = "ml";
       arch = "linux-i686";
-      sha512 = "c933f92ef6e972c2ede1f67852dcdd47e7f59928a3569c7fb935b538f8145185e2b460242feb6ec58f064c6581e44c046d568ceb1e96b5617821aa1a5cdec7c7";
+      sha512 = "304abcd82e0bd2e0f0e2cb639558340f3424be9485ee9378aa8d59db49aea096013798132df26d14c0fe83529b211ab40c5b708ac62f117969a59d0516f2a3d7";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-i686/mr/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-i686/mr/firefox-61.0b4.tar.bz2";
       locale = "mr";
       arch = "linux-i686";
-      sha512 = "49318119e82876c99741b7829946d124db7bcd4833e014996842399bb8cfbd4f2f3374d4910ff208cca558da027dd6a6041c2d66e4026c6f1df4be199e4b9d9e";
+      sha512 = "2f05f7cf18e4de46cbeca27910bff036ff34c4564f5ab66c4830f2e8c6a2d016fc87d700d2085141e01fac19a0226f27b0ab467f4a4146c1a6bb54fa549030e8";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-i686/ms/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-i686/ms/firefox-61.0b4.tar.bz2";
       locale = "ms";
       arch = "linux-i686";
-      sha512 = "2e5e74999bb921e1a78c491f9794ab04efe4f069d2403757797e4aa408c41e6ff3bcaf9d94f786a407fdcd085ce57654a1e7aeb7560192827d6bc01786fde7ee";
+      sha512 = "767328afb8582def36c31911e5bb798acd19b2b47603decf6e21772626e0ba1fd139f9a79c2bd6a79f56b84480f2ec3564506db84841a6bbaeb95041d4b192e4";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-i686/my/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-i686/my/firefox-61.0b4.tar.bz2";
       locale = "my";
       arch = "linux-i686";
-      sha512 = "a50843752c15dd9ddaa30f51188a4992bf9624f290f3179a95a93ad09c3b5c0080ecde02005264c7364de1d072a73a40159f3fd3b77c481f5f301604d1042db9";
+      sha512 = "f68de98e766df5192a266dbfe9d9cd167d6ed4f3976ab58e768f8a6939d36f6903004e6bf0e09b8304a4a30cc0b36c084fb75eaaf9084804cae318727796c4ed";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-i686/nb-NO/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-i686/nb-NO/firefox-61.0b4.tar.bz2";
       locale = "nb-NO";
       arch = "linux-i686";
-      sha512 = "9e03fcbd2e10345eac1483934eddecf6b0469cad4772787b8e01733283bc7655faffe504a424031e3dcd6fd27cf40148dd0ad82a9c06861f64b38fadc9e189c7";
+      sha512 = "fb1a96d11944441f8e7e74c8efd55d59d11ab3c38f446dd8ead4729346a0d8030c3e801debf517746fb78f338af0a178d45045e31d8178fbc1a1d9704c33f1c6";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-i686/ne-NP/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-i686/ne-NP/firefox-61.0b4.tar.bz2";
       locale = "ne-NP";
       arch = "linux-i686";
-      sha512 = "6c969e22d53d6fb723f5d722e1ac2b3fd6d3970b42a2971eae647a1c1d38a8b5f5456298751ae06e02a17ae619f613459da114ea8d335a29d068aadae30446f3";
+      sha512 = "e4764fa38c66196bbd7034bdc7216ce43b9d4d0ad550fb1faf89a0b030f3781605766d0ee95b67255656b1eba40825def39a25cd059e74bac558af511cbc6e1c";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-i686/nl/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-i686/nl/firefox-61.0b4.tar.bz2";
       locale = "nl";
       arch = "linux-i686";
-      sha512 = "009a49a7cb71bf7876d7c0d52ec1145d0989592a16a560fa76c4223e5d71c3f0523a39202928f00f7499689d030afde1e21808e504291d70ba7cc7e5bc117c91";
+      sha512 = "8177521f43ad209734de5903746c366b08aed805067b0a195fa19c8d134527f8ef4226b79be8f603e96c451816511e2a38961e694e0a284ab54f272bd93b80ab";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-i686/nn-NO/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-i686/nn-NO/firefox-61.0b4.tar.bz2";
       locale = "nn-NO";
       arch = "linux-i686";
-      sha512 = "da95a2bf55806687d77b52cd16d2a03e75d573318eb3a4f8b19720914e13cfcc965975528d21439da87b71bc1ef6aa7506c12afd641100fbd7ab1b58017301c9";
+      sha512 = "a62c38672ff3ee43cafa8d3b8f03429414578f0a1bbe2cc39e3fc8dddd5edb430d6f12ea6fd40811e382694f925650224d7a59f27b3d5cb817e0e51f77c3c918";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-i686/oc/firefox-61.0b4.tar.bz2";
+      locale = "oc";
+      arch = "linux-i686";
+      sha512 = "8d406f76157a5b8890a7d6b1bc0bdb820acde82b29aa4798d7020e140b336796e0ba309186044de42ac6efd3bb66b9ad8b9f56104376d81e3b0277354cca6aba";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-i686/or/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-i686/or/firefox-61.0b4.tar.bz2";
       locale = "or";
       arch = "linux-i686";
-      sha512 = "b969bdd2d27eb9f5ef28de7537c09d7939534dd6cec2b5a95a32406e6b3c6687f84498f990ad2a353b5e4db38ad7a170649467688dd3fc51cbefbce3253f7a2b";
+      sha512 = "2c23189d5342608f39d05342d9070094e2485bb11067e436da5aab307bcfbc6e4c92ea9ae28f4cc707b6171e2f708c9f0e6aa8e0e32afbfab592f45766c5f642";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-i686/pa-IN/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-i686/pa-IN/firefox-61.0b4.tar.bz2";
       locale = "pa-IN";
       arch = "linux-i686";
-      sha512 = "7c020da300a1dbe494180fc8299d42432f32b6f473ce4bf47b30105db39789f2ab07c2a883c1443202f39c4dd47eea8221b0484deacff6a90f4eb6cd4b8f164b";
+      sha512 = "6c586e3c9e7c4b10505fd5ba37ff4188415e1566b456f6c929b060e44f09151b9ef9bbe9f3bbacc36533ff6789805b9e007c7a32148e9c9517053ab4e20f2225";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-i686/pl/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-i686/pl/firefox-61.0b4.tar.bz2";
       locale = "pl";
       arch = "linux-i686";
-      sha512 = "ad50c7a6539ee8b2f36f6420b524055f20880bd01cb118d6bef124ea9f1acb83148078972118fd6628394ee0d22215c26a1f9cb5cfec5713d5265229e0bdf681";
+      sha512 = "d26f54ffafeeff89e91e826614b4f55c8a78cc8a149845c5700fb024e20defdae937a2a9dd75d0a156932a9b7a13f5b39666051cbe8b50827e057400b8eab244";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-i686/pt-BR/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-i686/pt-BR/firefox-61.0b4.tar.bz2";
       locale = "pt-BR";
       arch = "linux-i686";
-      sha512 = "4f915c651bcba9581db961e0b5e66c15db0cb72298c5389183f0442e0ed18c84593235fcaba2274ee62ee7ca7998043ef9fba650a476a4017a8e066825cabde9";
+      sha512 = "8ec8ad7a5bbcfb9c020511915c07fe891ebf3e7f88977bd8a03e3a9020f9293122f6d3a6d257fd2867a34ed257e74d85f87e65490e037d28d5eec37d97ba0cb2";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-i686/pt-PT/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-i686/pt-PT/firefox-61.0b4.tar.bz2";
       locale = "pt-PT";
       arch = "linux-i686";
-      sha512 = "a5d9f49caa6e20afb8410f7668d0c6a71f06f5dd413e004183b82022db92406f752609ba6be05b27d70a8d68e4071e3a42ba5bebb8bf32e3cc074df4ce083bee";
+      sha512 = "0ff4e05427926f408ed4310d63e01b46ce3b7ca618336faa289666924a203641102c02ddc3b171b9ce964bd7e7fb260a365ed1ba44c37e837a14df3c0bde7c25";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-i686/rm/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-i686/rm/firefox-61.0b4.tar.bz2";
       locale = "rm";
       arch = "linux-i686";
-      sha512 = "50ef735ca5b2987200978e2df10df33ba9fec6be80cbfba63bdc4a6409c6180080740e5e716cfaf4c536c0dc84727431e16c08d91be93abefb214a4887653492";
+      sha512 = "13465556af41b81d328b98a38361534dc4a4f9151b17fac0d20121cda3e4d5d2c21580ee7f1e966fda8e910dd26647806159bb7f556509a13dd456e22509e44b";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-i686/ro/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-i686/ro/firefox-61.0b4.tar.bz2";
       locale = "ro";
       arch = "linux-i686";
-      sha512 = "9b38d3798a880ea76f6f378c0458cd2aeb7887fa53ec89b9f23c6d5ee98ec2b4aed0f3708b1a4fb17b2a818424479643a3706a812cba3291ba7b584392648d8f";
+      sha512 = "1c54f88ed76c1c9f3863e67e4088e823dbd80c3e696d3b480a7bf15022b5abcde86b10953df18ba667d0cf9c5a264c4b8e59cb1d6031e937562c6fa207071013";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-i686/ru/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-i686/ru/firefox-61.0b4.tar.bz2";
       locale = "ru";
       arch = "linux-i686";
-      sha512 = "b772760cfddb791eb57c23ebeb05611b311b30041de8f286f639beceedb6482be36ecc183acfac4aa9f280904c2275c123f3e71302aa3b139f863ea01c7c4966";
+      sha512 = "4583bc0174b8e7b98f882571bdf0d9502cbeb5c2e4a44473229653c383df30b78beeab446d299d465425c7c8106642b6ad0672a436a9f74c76a3d4e131bf645c";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-i686/si/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-i686/si/firefox-61.0b4.tar.bz2";
       locale = "si";
       arch = "linux-i686";
-      sha512 = "1934317eef2a5af831d7bb9fa493584956a32e28f7e22b7186ef8258abff504adfd936f473c9f2e2b414a880a2d9b6b2b09c9a77b3fd7060ae8e5254083a3a3f";
+      sha512 = "66acf2ae9e2db8702085154883a6412ad1b15dd830b7297a1bf489a0b173884d54497ed5a91cdc1e11e179f8abaa0ce8cf2953a180febd3b6e5059468b2fb496";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-i686/sk/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-i686/sk/firefox-61.0b4.tar.bz2";
       locale = "sk";
       arch = "linux-i686";
-      sha512 = "fb4c68917e17b472a592474e1370719c102072fb70a97ebd18a5f02e5295a1392afea4936c5f79aec041ee6f9ae0056a74233b660f55162b2d84562ef86e5265";
+      sha512 = "61837b2d91606c1d6c54e7e955843f1914bac69cdbd99558a25520c05a0a0c45b80a90cbee17d30f272cd969e352f6e6511cbfdb0734694eb7409f603a7c8114";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-i686/sl/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-i686/sl/firefox-61.0b4.tar.bz2";
       locale = "sl";
       arch = "linux-i686";
-      sha512 = "0255e54036f6ca78213414c63d40ca1907d597ac4da1a6f7bddd6bf307d536e710bb9cbb8caefb8f08def99f1fe27f28d22e076f1c7e62fae4ef1cb6d093c51f";
+      sha512 = "2d8b99bae7442394760fc1100456d2bef3f65532217cc554e2c064622d7e1b56de1ee96114b7f31c7098afec3770a8ff4f7bc7b64c2cd4b72b2f41ff2a80ba89";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-i686/son/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-i686/son/firefox-61.0b4.tar.bz2";
       locale = "son";
       arch = "linux-i686";
-      sha512 = "43dd5f557382d9ab69f8a087dbe4d06e71ce68416f7a88a84978d1a6a9144938e12e4b9a50c3c42ff77131be16aee474a4a99f092a95671dbcb76e367f95d280";
+      sha512 = "5850028adba338641444a2fd62bceda5f03048321f70b3ebc090d362541b23e4900a2a37d5fd4f22ffeed422a63b7fe640e7aec829610397f2635de1e75ec1fd";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-i686/sq/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-i686/sq/firefox-61.0b4.tar.bz2";
       locale = "sq";
       arch = "linux-i686";
-      sha512 = "55ad59358e6e84204ea33f7a98436283ea7c843de6ecfe7f9feed24e719fb8fadb5f4de4d236a8f0490e56588f2574d3904093b6b3e9c58b2500fa04f302cc3e";
+      sha512 = "6028d2498f800e0179b2102fe90d8217f719b9c00aad1e03ce8f5e593fab2467c628b2f9a60e643348f567c242bd6e2b600d989dafb1a664ace0d0aee2fa8372";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-i686/sr/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-i686/sr/firefox-61.0b4.tar.bz2";
       locale = "sr";
       arch = "linux-i686";
-      sha512 = "871214235400256f86321f95ed1a5d2cfc80bfd892eada49987d6e1330901126922439a55ad03be84a97bc92544ab145892eecc3ac54e350876b7a2e7d2773ad";
+      sha512 = "3cd1bdc2a7536b5416e81b8e20617de047907a7a7b80c9c3bf2fd1defb5440be72f2102d28159b1b8133f2b2669fbfa765afbe999936ab7ea4d1fb8188960037";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-i686/sv-SE/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-i686/sv-SE/firefox-61.0b4.tar.bz2";
       locale = "sv-SE";
       arch = "linux-i686";
-      sha512 = "fd98c7c2c7347f36ddfbf3adf1e3b5059cabbce588785bbb522cc0c43ab061f0d776757633ad801efc53b769374f3f71bb810d07648aba98843ddd2b6bd97322";
+      sha512 = "d9be8928075973a22a15c2ea9fbb10968e5189fe34b13924ad6c33742e17c9b6c493d484024e3a1d3b1529826f129aa308e13549675560fee80244f98bafb04c";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-i686/ta/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-i686/ta/firefox-61.0b4.tar.bz2";
       locale = "ta";
       arch = "linux-i686";
-      sha512 = "4346ffc1367a8892c49a42717056d2ac46b5ad6e577a6b018fc08d673dd570a7ef2de6c6db493ab7f6cda899ac9a90b902c7d79a2ad8d5fc9dbffd8bbd5be32c";
+      sha512 = "86921b7228c6f2b2aedb68299ac21e22c82ad4fd5b55e428dae00e29f69721dff52060792b396a0f43b3ad6a571d977c87f7f3d420b52e665fff42e1daec95c5";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-i686/te/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-i686/te/firefox-61.0b4.tar.bz2";
       locale = "te";
       arch = "linux-i686";
-      sha512 = "7c361450f296ac828068a97d9d936219bfb588d5dfdd79e8ce05839ea2f9a530736386ce4945d1b740f5582abe1a4c61ba0185632a0ced948d110c867e819d6a";
+      sha512 = "fc2847ae6864ad852791edeb2d2228a1d5484052c87966c9b29b3471218366d74f53dca4b0564f2206134ccfb5bbb39fddd6b44fb6b53ea7ef1acb7949668aef";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-i686/th/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-i686/th/firefox-61.0b4.tar.bz2";
       locale = "th";
       arch = "linux-i686";
-      sha512 = "7cf88ac5b3f8d3e32d337fed29ee88bfdab1df2c733f8f959c5957dd4c3b9b866792fb56e776915398008f1f804544e0b0d1fdb0cf5fbaa8a81fbbf12f386b7e";
+      sha512 = "61e412edeb4bba9c00cb853cf953c61c5e669b2655d08990aedc4388ce3a836405b0cc805a6c4b5e6041f6f1657c3586252803338f85e9f1c2902ef1187802e8";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-i686/tr/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-i686/tr/firefox-61.0b4.tar.bz2";
       locale = "tr";
       arch = "linux-i686";
-      sha512 = "f4816172c5979b7b3bc4bf33084f319bf964876356b08a32d2337e7e5c599596f41f4e4efeb5996a53b462635f4d2ac51bd95978fb0f00fd74596f9203f1d94c";
+      sha512 = "c0e9cdb54766e2e05bd124a71d68b8023834ed8c701b721658bd43e27b17805c17a378f645a53710ea800752149d7930fff14050604ddcf6825147347a56ac6e";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-i686/uk/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-i686/uk/firefox-61.0b4.tar.bz2";
       locale = "uk";
       arch = "linux-i686";
-      sha512 = "143e683fcf134dd6062ab87569798d34de1f3bf53ff2d50a73b35e2cc95d83d02654a047c7530cc5c1e34ddc791ce9d455ffba9f1f93d8b782e0968ef41621b9";
+      sha512 = "b8fe37b1922275e2bb717dac3ab24f5872bd1b15d48120504b018b28319956ba6a4d4587a9d87b128d7420fcf19fa09c0821fbce21d0136b35882aa3e2586e3c";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-i686/ur/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-i686/ur/firefox-61.0b4.tar.bz2";
       locale = "ur";
       arch = "linux-i686";
-      sha512 = "bb82ed997dd8d2b15f3881325b4f879b8eb49cbbd661da99994a54be21ceaedfa3901fa56214936c5ac05430035e41e9a0ac407afe73db289dc656f70a2199de";
+      sha512 = "fdf65d54545271e79b118787a28a903b130c17569cc763d495c62150949cda4dcc6c1697fde0d038229a7cdd8c99f2d43dc530844f2ae1b75f87512901c763d6";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-i686/uz/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-i686/uz/firefox-61.0b4.tar.bz2";
       locale = "uz";
       arch = "linux-i686";
-      sha512 = "d2db8f09274c73d63729fc32fa8dbe3a51f6421e16a741ea39e6cab1bc3d0e833fedd26678e68ac92aeb2caf01cdc7a02bfa518391ce20f9a0855a498297a001";
+      sha512 = "caa53302be25bef37d7a40e3853cb175eb68a828abfc1e1f8562cd69312f785b9e7e853dbe796c758e01fa92129937f0625c7eae3aed07690395a92ab845d3c2";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-i686/vi/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-i686/vi/firefox-61.0b4.tar.bz2";
       locale = "vi";
       arch = "linux-i686";
-      sha512 = "5b964331ae4567f12e3241eaf30a6d7d13b4da1bc4cd300a86d8a3a4102c6e8d71af5e6cdebe8a6399a2525345fcba06683c06216779aa2a6f375a56b0c71e53";
+      sha512 = "cfad4746a9357219a29f9d55e455e11e7d3c49a8d231ed18b64e728edb44ea3f5200bccd8b2115bc1e00cefb73a5a74af4f9a23aae4ded7f29d8f04678ee9f28";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-i686/xh/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-i686/xh/firefox-61.0b4.tar.bz2";
       locale = "xh";
       arch = "linux-i686";
-      sha512 = "56556a238bc874e931e56f00879953bee1903ad1f1e67e2ae6dcabb8f65c97a74feda0f98d27f3e0a28b2a813d66d956696f001e08b809901e3bffec246f8f66";
+      sha512 = "a17d844b4ad6498c7b7c937d674f2129ad365c59a7178b9ed51cbcab6695f08746949b485c02bfcc72916a0a37b138aa9fa651897a5719504050783901f78ba9";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-i686/zh-CN/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-i686/zh-CN/firefox-61.0b4.tar.bz2";
       locale = "zh-CN";
       arch = "linux-i686";
-      sha512 = "cdf97069df00610f1f964de5aff4dc7134e7cb27768b15177c03b96c486b5856816b685a6acd5308c0e334672d39ed094f35a2bbe8046465f8ce6c9ed803baea";
+      sha512 = "1a2ff744cac644e67aecaf838f5050324dfe4101842820fe847e86e55c3d711f661b59ceac1e7c3fe3d648576a93591951a74be5696c820956ba712418c3c52d";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b13/linux-i686/zh-TW/firefox-59.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/61.0b4/linux-i686/zh-TW/firefox-61.0b4.tar.bz2";
       locale = "zh-TW";
       arch = "linux-i686";
-      sha512 = "ad5266e66e06bf5d0dd674e57bb368e66917beda800cf58eeef9b5dafffb2f6272ebfa67e03a3a0ffd2a6d9d273fb3f93e6feee011e8971e760d8af04ec91330";
+      sha512 = "86e03ba89c9918542305d35d18aff083a8e618e741dead7f11d7a01a05ff5addabf8fad060112b6c2cd5ef0ef7b3389fdf02cda4c65370449b2f4049049407a4";
     }
     ];
 }
diff --git a/pkgs/applications/networking/browsers/firefox-bin/release_sources.nix b/pkgs/applications/networking/browsers/firefox-bin/release_sources.nix
index 0fbe6d749c2..478728cf09e 100644
--- a/pkgs/applications/networking/browsers/firefox-bin/release_sources.nix
+++ b/pkgs/applications/networking/browsers/firefox-bin/release_sources.nix
@@ -1,965 +1,985 @@
 {
-  version = "58.0.2";
+  version = "60.0";
   sources = [
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/ach/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-x86_64/ach/firefox-60.0.tar.bz2";
       locale = "ach";
       arch = "linux-x86_64";
-      sha512 = "4f974e90d5db09a02c61a634f7309ba479f8699d1d61f4c21a7bb6ae5f520332292031ce0988605f8e727da5161de1b3a055da59d5f8bf220c1b369f9c453f17";
+      sha512 = "1e7d2419e488a14eed5af7f2aec9a0092f830cea256f69cf654b2bbf783b192ead4512538fe3b2566dd55061cccaced91a7aa54732fc0987a4b24f676b9cabd9";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/af/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-x86_64/af/firefox-60.0.tar.bz2";
       locale = "af";
       arch = "linux-x86_64";
-      sha512 = "d821bf5c1fa1bc38f64195d1bfbc7ce5205b50139710fde6e1db37c4a429a0df16ede8411a618d8e339f369dac699a38651c3aec9952d7c20fb84e1eaf1f59de";
+      sha512 = "5714025668a2a9856571c743870f3401f0bfba66bb216936df7fbc977d9a935ae8b66fcb3042e45a934584a2571289fdac4f8fe8af2ec6a52c93d6fbf21484fd";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/an/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-x86_64/an/firefox-60.0.tar.bz2";
       locale = "an";
       arch = "linux-x86_64";
-      sha512 = "7238e49735bab7983a478c217b128d7cc8b07e90fc5e2739eaf07e35be054a354c5c0006bae6fdb29ef71855c33ea531e84c1617832412315eb2e07ad7310d14";
+      sha512 = "678a060be20453e11fa2e8dc92db8a510789082d026a768dfb6cb3ac6a77924a1f6a9cce4e8c83e19a4aa6702b1e7e0b17846c52d2de2719dc5f8141a95d1c47";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/ar/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-x86_64/ar/firefox-60.0.tar.bz2";
       locale = "ar";
       arch = "linux-x86_64";
-      sha512 = "f505930eed9262e595a8969dc86ed43c04f32ba62301b2fa8d1246ef956f3075d5633112e6129707ddb02d3047b93a5c9f5ce16f958a06ad928c59d64c8a1e75";
+      sha512 = "0c8e9cff9d7a349dfb18e3c5924efb068e1f9f145347b08feb158521b3ebf331ee01b035052ddb889d09b728745465fb6b7ba79c3608719c6f14a36e1da061c5";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/as/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-x86_64/as/firefox-60.0.tar.bz2";
       locale = "as";
       arch = "linux-x86_64";
-      sha512 = "e1b876dee0ac09a391c53f066f5bf56fa6b0b4bcb389beb0844670a7f14ff422a230f58389f3c3d2a1f8b7486fe528a7abbe3b6abfb86c330ea13cab0cc67a7f";
+      sha512 = "0ec81546fa30b6ff5fd8b66df5b97eff25b359ea0ff258cd24aeab63cc87ecec3deb5f4173d9da46efbf82f70a3fd1579aff819de4e299a464abe289e7c77890";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/ast/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-x86_64/ast/firefox-60.0.tar.bz2";
       locale = "ast";
       arch = "linux-x86_64";
-      sha512 = "1c47fae696cfcbdd4f7fbbc8ddeacbfa1ae1b9a624bec9f512527b99c7ddd63c99fd55b60ae9a3ea1104fb5b943c8c029b19b93e6426de793788c2a5354a0d57";
+      sha512 = "ca9eceb89df3d618756618d961be5115846c1c6426f7f145379c2a127c807ba17c4796e9a16395e6f2d05b5638366b7f0a77ca19a75f89bbdf6a2a2f93269c74";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/az/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-x86_64/az/firefox-60.0.tar.bz2";
       locale = "az";
       arch = "linux-x86_64";
-      sha512 = "5c3bab4ba81967b957c14152f6461ccb129396562ece07a34644f88b67185f9d6639ce3bd709a463816efe531c6e8bf3aa6414828feb37ae54564d1c9ae237fc";
+      sha512 = "e99295b469fb85cba099424700267f875e7d4ad9c3e8398c7ed8bd4427a3d173feec957edec2847ade3735df77a7313ca99a98b66b67c158b33bd17e39fe98df";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/be/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-x86_64/be/firefox-60.0.tar.bz2";
       locale = "be";
       arch = "linux-x86_64";
-      sha512 = "8c719a8fcaef9f2f3ae50d0ecd999972649b5814c1bab45a418c474b6090bbcb47d58a32012f3ccb6c785ca9a1c76cb2f69e370714e1533349806c3db0364dd5";
+      sha512 = "ce80aa81c5b04da5f0f89d9e527b8e1d7ebc287ddb05d2ecc08994c0e31ea8860b68316af5e00f59e1ba85a4abb29e1e9403cedde40faa294af6b130be2a4ef1";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/bg/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-x86_64/bg/firefox-60.0.tar.bz2";
       locale = "bg";
       arch = "linux-x86_64";
-      sha512 = "b871aa3dc5e4721174e73081e4c551f802a16cb54690ea1850e549c37c1160000b9eb0e312fe03e43d8e254cfc063d971625624a6d0d7a8de14f731d1e139135";
+      sha512 = "5a5f0fa8745c9c649dc26e8d235729bcdcbc397c4deb56bc0d8bff954ec64c2acd9f4d9fbeab9b0484d3fe91ed3717f8e37d5602f139fb5bc4fb22d0a372b926";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/bn-BD/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-x86_64/bn-BD/firefox-60.0.tar.bz2";
       locale = "bn-BD";
       arch = "linux-x86_64";
-      sha512 = "53cfa7aa2bcdebb6770d1d993d71a0fd039eb540884d0dbe3d0fc953260a850bcdf72b20eb67d11630aafa9f282cab279776fa9d5cb45aeb7280dfd064b0199b";
+      sha512 = "62989d16accef0717ec9360d66cd169d89847701cab64f06fae6290b9be6d67acb0dd6c5d7f0e0c79107301512f57b44da04ce66096232291c5947a903e446e7";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/bn-IN/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-x86_64/bn-IN/firefox-60.0.tar.bz2";
       locale = "bn-IN";
       arch = "linux-x86_64";
-      sha512 = "a47f5c6bb46f6f4a2af27a8dd1556339ba5efd1b2c23494b0913033580dc735097eeefd58a6c0253d74c8fab30fa628d106a0f4111b0b5af5f98b1dd2d9d111d";
+      sha512 = "fd75cfe4d3e9e7534d4b99452c05e4ee8bb45ddeb0b6cbac979b65db0a783f342b346204428c9b0787ab4e1bcccf4d4f056f4043a906dee41e7753ab8e53fc9a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/br/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-x86_64/br/firefox-60.0.tar.bz2";
       locale = "br";
       arch = "linux-x86_64";
-      sha512 = "b4dade4de1e40f8ef6c1af9fa260f7e06bbae6790a87813032c35317fa462f15905fa8b66c8b08bae640186f1fe6d10c15c87d64085d6fd23e5dd7a33cb9326d";
+      sha512 = "5c17a47e0fcc7231e6d1a9fb632f5f55c6dcb4dbfdf02ca6607ddcc54db3e198d563b0247fd4e95226ca29dfda25bf092e1b427d1b532b6544c2f2c5c498ee02";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/bs/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-x86_64/bs/firefox-60.0.tar.bz2";
       locale = "bs";
       arch = "linux-x86_64";
-      sha512 = "d32cd117524343cf451b30526466b84f84a7ab99f6e716ccff5c1c7e768003409723df93ee8839ca00d3e0a52cd9cba270f78033124809e4d18942bae9c736e0";
+      sha512 = "290f57558d2d0b6abee4e6220047e0e6082f328bf3c1c7ba02474d7885ad3bbe77ead7875ec2726ae5ab4db25bf9659147c5abe9fea771a54acd4a9cefa18c8a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/ca/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-x86_64/ca/firefox-60.0.tar.bz2";
       locale = "ca";
       arch = "linux-x86_64";
-      sha512 = "c4063632526c6936e71e50a898077568cf678a8f9275258311bda91ca0a150b7c30b19b86cb12bbf786624675ed3f383ba21b52545b36f8ef7032ef9001136e1";
+      sha512 = "cfd5654a3ac3a50885621bc4be9918f5e71dd8150e4fe4e54acf35685a42ea82d6115e8a50593866e186860c7d5de5408c5a0e7325050b1bc39d6964e828a3e7";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/cak/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-x86_64/cak/firefox-60.0.tar.bz2";
       locale = "cak";
       arch = "linux-x86_64";
-      sha512 = "cb1f2142d698226ff881e9b3a1037ddbea1bc3ffca8ae98a7526bc3a6b728a3e30957196d809d523a638d7482db3e60b774de8f7f274c76982962026cebc0b9c";
+      sha512 = "479d713253b99a19c6ec305e7986062b3a1ee476afb8968dfa2f57c52f22b734df82661bf487ad1fe7e706dfb581a99b247ea4128e89c9105b719b96f37e1cc2";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/cs/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-x86_64/cs/firefox-60.0.tar.bz2";
       locale = "cs";
       arch = "linux-x86_64";
-      sha512 = "8b17ed6a66081f445319a6e329710350f79751388e1cc6eb6f5945e0c0e6145053904ee2a1c1a562407299518eb8d97a52d86a0d4807f8711ee3ba6521f23820";
+      sha512 = "5139f4a2820ee921bd3c02acca7f57c5c2cc510c0e364129ecc07f17843cf92c565770fd0829515bfae94f96f6c9c68e8eb05c87fe5800da0be64f2400bf876a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/cy/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-x86_64/cy/firefox-60.0.tar.bz2";
       locale = "cy";
       arch = "linux-x86_64";
-      sha512 = "a679e779b6afda954fde1bfdf079eca62e4541bb5c0398e8fe797e3ab8341922c279d1eb5d4f237995d01d39261f9b6f814540532c646558b10cef178870d5bb";
+      sha512 = "d26fa97dae91eaaf0b09a580880ff0bb70f67c473cd8dd804d835823ac6cd97306b0bfab9b8fabd45b35330ddbef72e779dd09b47580b0347d4d857dd04182e5";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/da/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-x86_64/da/firefox-60.0.tar.bz2";
       locale = "da";
       arch = "linux-x86_64";
-      sha512 = "81771c6a78ff9349ac8086dce32900544d0a8b79eca55a61bc1efde34788a77fd41607c43403bf1df18f2f6aee8b61460e113ee301c2888494a970600fb4a371";
+      sha512 = "66a187b067f2e71f8ef43e3eed3eb12d02b407a230692e653111407c2dec82dce552eb5f9716733b0b3112d2d07ba6d917e4166e9bdac030dc0569a8630b566e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/de/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-x86_64/de/firefox-60.0.tar.bz2";
       locale = "de";
       arch = "linux-x86_64";
-      sha512 = "cef7eebf9dd55af3d7245161c6f41153b99cefdb73e71c5cfaab1d8f1037c8da7ee2f36836e51416c36f7a7472b113bab23fa6a35ce30269733889ecd4aa1d5d";
+      sha512 = "aab4cfcf1c47d99c01cc93b0e26babecb4619b67df65a2400259249a870aa765152b7e4be625a9708e3e44b90f5a20b77f282b6939f2d092cc0bd180d8167c0d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/dsb/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-x86_64/dsb/firefox-60.0.tar.bz2";
       locale = "dsb";
       arch = "linux-x86_64";
-      sha512 = "986c25e9f994ab766f4017f664304c03cc0a26c8ea50f892d48ff571322aeaa6b76eb1f4c7f1133a68783a9f55ce0e56a6cc599fb6eae0431e5bccec639504d9";
+      sha512 = "8726bd887b610e74b8b7073b8e797a98e009150594f2dd5e0f301f375b7bd6af02b5c8915c444145fadc6ae3e77f494a6c39632858d172b6324a2e4c84c0d6f0";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/el/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-x86_64/el/firefox-60.0.tar.bz2";
       locale = "el";
       arch = "linux-x86_64";
-      sha512 = "8d352b56ef049e2bb94952ebaca276dbfa4d7ea34ad368907406b67391d618e8aa2f908c19f3c7210220237d3721021686bc8fa0702c748680035a48b9ff2c4e";
+      sha512 = "f67a778f0aa15bac7450a210287f8e1e29cb9f4abc0f9e3c037d15a0f9341cdfff80b38a936724e5d18b5ceb373233fd8d038579e3a044c177887e05f5834310";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/en-GB/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-x86_64/en-GB/firefox-60.0.tar.bz2";
       locale = "en-GB";
       arch = "linux-x86_64";
-      sha512 = "318a67d7d875a350e561a2a4e0f2d6278ce3a9f7e2db9ce307c58b5a2ffd40753edbfce01438c7b02421efa84129f95caf3887ca2929271ce5fe95f9321db11a";
+      sha512 = "fecd277c434cf3d4509371a5abf09fad81aba3fc7807470fcb91975939fef0d1384a97c4322411a787bb3fb27e3b043f9dd3ac182e41d35ea59824d109ff483e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/en-US/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-x86_64/en-US/firefox-60.0.tar.bz2";
       locale = "en-US";
       arch = "linux-x86_64";
-      sha512 = "71f5d1d3779eab4025ab57aef1795f9d6c509a50c5397df6a8ec741584d441acb9f7cbf8c8c002cb367c9c42b72dd6d29710fcf0cfead3a4525f2ccf39f3b930";
+      sha512 = "263b6e827b8e6f8757c82a2ca24f78bd649ee07254cfde454e6d6ed879cfe816ed61c94aab3c10f3d63a38f83f391bf66bc578ae958343327298801fc30eaf3f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/en-ZA/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-x86_64/en-ZA/firefox-60.0.tar.bz2";
       locale = "en-ZA";
       arch = "linux-x86_64";
-      sha512 = "07604a360c8a932fdc161b4c2762e953812eef7cca765db29bcf0514027a8db3c22bbd879de6a1222eadbfb817540ef55e136df0df858a21c55ab4150cb3d5a4";
+      sha512 = "6ffa936e9f5e495309ff535fa9775200f8110bc0162d97f8d8bd00cbf3606c47b88b566114224f882a323c6e9538150ef79e1340e1e1eead8ddaf030b4ffb3fe";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/eo/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-x86_64/eo/firefox-60.0.tar.bz2";
       locale = "eo";
       arch = "linux-x86_64";
-      sha512 = "cdcb32f4b5e14a11033f62ec7e4ba00fab689dde93978cec405d55a497fb6a59a9c06839e04b8cd550557d37f1801bc6f9a9440e4a59f3d4b32cd2a27ddbac9c";
+      sha512 = "f65bf2b40299c5260cb857c781445c9213dea8a49751d6701f43f6dd11fccec206b5850d54e96a4eba544d59b6a470f21b3e15b60116615c343d78726e7402f4";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/es-AR/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-x86_64/es-AR/firefox-60.0.tar.bz2";
       locale = "es-AR";
       arch = "linux-x86_64";
-      sha512 = "aaf28d1b93d1eba50eafdc112f51fe261a0a38bb9e28ba4d86c12cb1f509d5fb375986e7a7e7a81483aa64bcf16f09620ff325674c29738ff62335d8ad1d1c7b";
+      sha512 = "50a912c5d4cb1e73bbe5b4c6cd8a112cf88377ca78cb45a073bfe74b4b5618a39fe088c908e278eedaf50308e70e63d38c06343c4d60fdfc346684ce7042a5ef";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/es-CL/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-x86_64/es-CL/firefox-60.0.tar.bz2";
       locale = "es-CL";
       arch = "linux-x86_64";
-      sha512 = "f30c318fa51c551fc03bf9f962cad8fce4795094d1389c1a35096e8e229fd1d78dae43cfb6c01f2600e7f5fd8efd02345f2c18578e3bc0378fedb947abf5904a";
+      sha512 = "b12f0fca0d307b280ec2a44f9dceed0073b0b9e898e05a55fdfd15623e022eac7b937e6b4ce470c7892e9ed429fd98a4d09141a5e1141fe05e3b21ab838a21d2";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/es-ES/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-x86_64/es-ES/firefox-60.0.tar.bz2";
       locale = "es-ES";
       arch = "linux-x86_64";
-      sha512 = "08fc4a475fdf2e91550de0b5127df679f4011cc79af6125fb117aec44f97936f794fc0135fd381abaae4370b7343c200308e0cc659828fa8f8e665f39c4109cd";
+      sha512 = "492aed6ef8fa3e51ad1604cf858dd1223ccc8a949b3cef4ec37be1596640421b057f50d3ad1827fe139230013ba4c040466682e61ebee59e7b6c168f35a14b1d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/es-MX/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-x86_64/es-MX/firefox-60.0.tar.bz2";
       locale = "es-MX";
       arch = "linux-x86_64";
-      sha512 = "baf9277fe32334b88be4bb6aa5b714e86d6d316866088173d0bfb221ab989708e3b67dfdd934c0df80ddbbcef8b2d78c35b33b1420332b094442b31aa62b6ca7";
+      sha512 = "8f12520b74b0899c58f29217f9ecc6223635b627ddf525e3d36b7a0616ad2ea39e239bdb3cf3e0570ba4be03ebd93a2aa2739cb7cbfb851e84d2549970fd0bec";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/et/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-x86_64/et/firefox-60.0.tar.bz2";
       locale = "et";
       arch = "linux-x86_64";
-      sha512 = "eed1be0068e6efba0130658c7fe5104ca0fd9c7485da0715113ac82665a153836e6d0eed083c91a89b4f8c11eec0fe2c0f8ef161f2bf7f565b6689f5978a454a";
+      sha512 = "c24e822fbd147ae85a8f02dcbb070764c31b96056a07b2b344f85641517e1e8fa78fff860bc7e951675f9ba30616dcb567e279db93638f241a75632f7fd97b9f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/eu/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-x86_64/eu/firefox-60.0.tar.bz2";
       locale = "eu";
       arch = "linux-x86_64";
-      sha512 = "d0bd609308813d99a79b393dc4fe0960da01ab032ada1d4c2933c89acdc7a1016ac25ca67205aa29106ca12b34fe7dee42316ed457a4e0cee9fc43e3acc2011e";
+      sha512 = "61ebe8e2e353419f7ed3ef8f944f4d8ae54d3c1c21ed7c1707212ac31e20c6f0607c00d0f3039e83c1aba832653f9c352b4976af4100b968045ad103862cee6c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/fa/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-x86_64/fa/firefox-60.0.tar.bz2";
       locale = "fa";
       arch = "linux-x86_64";
-      sha512 = "cde046bc147e860c40f979f8fe1bb39cc3391939f2b04f572d6db5a61be8be9574c1ddde1a400d16c06c2c6dd87a9b19830f2591809439820a27349d10860801";
+      sha512 = "d47f63bedfc12a2e14eab57eeca7f946513b3067ea84b7931237a32841c40e477dfb4f3979fdd617b6b43787631f97fa4e28f996038f3eac7c2be7c82f8edfaf";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/ff/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-x86_64/ff/firefox-60.0.tar.bz2";
       locale = "ff";
       arch = "linux-x86_64";
-      sha512 = "047d9b2af90da36699cec77ba419db42cf6ac63fd3d9185150973fa6aaa20cb4bf23538e50154f03bb3edee4f16985baa4332e247ccf7d756f358f81afb2c329";
+      sha512 = "91fbab65d71da4416df7501ef392154844a6e5fafde529e9a9a42f01b44eb87ad248d83387b68fbda5b964b8d18b1b22b978dac8751cd73bf30c46d3cafda868";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/fi/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-x86_64/fi/firefox-60.0.tar.bz2";
       locale = "fi";
       arch = "linux-x86_64";
-      sha512 = "5c2955e5c1e54bc0b2bfa08051ec61745765b7d9c970c7ea905e41d4ccb22b32caa3011a64a152d997db1f0b6451b10116060914c601aaa7a240f23cecff166c";
+      sha512 = "483408626eaec192e753277b02de5c5bb68ca6056f35756fd7f80ff6c6ab3e6ff15f23d4cd5d1a28c8e662bc278ce7cb285513504663340451b912126e4d4fbe";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/fr/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-x86_64/fr/firefox-60.0.tar.bz2";
       locale = "fr";
       arch = "linux-x86_64";
-      sha512 = "e32448bc068d0c816c16ec1b4c53d462da430ca7ebca484dd363253e9d47277a0eb40ef0291b58e7dadd3457f49fd69d452c2e7728e45a1473472a2523c24028";
+      sha512 = "adb7d295ba37c0cc7b51e312ffc3f60e8ee13106bacbb833086d160535504fa2f8f859ea3c1d30eb6a823ed9c2c6efc97bb691dde8cdcf991090e29e15d5c21b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/fy-NL/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-x86_64/fy-NL/firefox-60.0.tar.bz2";
       locale = "fy-NL";
       arch = "linux-x86_64";
-      sha512 = "9501fc459c883b3d7c3299243288aa5210755d78238af2f6d79e15104ba575b4a7cffebc9c067dc23bbc0941bc5f4a786909a194bac9f1f59244715f8b3cea2c";
+      sha512 = "ff44abaf4ec57162bdeb3197c3f75f312029934a8546018dab76aee8bab44cf2411c59d04a4dee9bebd618f26b466fd074f7533d839f1202e643d255e97e8015";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/ga-IE/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-x86_64/ga-IE/firefox-60.0.tar.bz2";
       locale = "ga-IE";
       arch = "linux-x86_64";
-      sha512 = "d7696ae4b38bfdcd93ffc6796bb2fdd6b952a5892a4a753b0a0717c0448ff59263516896dac2830aabc7b2df5719856f077450d29a48e25fec77bde00cb25d4a";
+      sha512 = "5d511a4dbc00b39199500b30c98ecd6bc009217644b82f58beed9fbb74699fdeca7cc31b59a046a7c56fa57c53c2aef7cc55232fedbca751b85347460c014d3b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/gd/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-x86_64/gd/firefox-60.0.tar.bz2";
       locale = "gd";
       arch = "linux-x86_64";
-      sha512 = "ebe7526f32d43572538bde521b4df30aff91eb1a30148e20a164cfa044d7391bd7259486c72e68f9c110745e9013f36fa8c1f5be7519551c303cfdb06d4b6008";
+      sha512 = "c7c893d0acb97541d9545a35c031aec967405113a4855d6833b5ade0418004fb8b6efab82abb551499c4b4f8a32010634b64a96e8c9b12f27b764dc50b33a23e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/gl/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-x86_64/gl/firefox-60.0.tar.bz2";
       locale = "gl";
       arch = "linux-x86_64";
-      sha512 = "a071ecc811b90c102dd5c7b4174d6cd65e7e07bed16566e71740cc3d29446757f220330910aa3a321809de3417a64641ee74b788bd27975c7ad75cc4e777116a";
+      sha512 = "aadd92086094860936f1c0436bab9742170533a1b233022313439c9aa968269835b2f63bf33226c1fc52bafbcbe1e00677e8f1e04579193c474600e5dc3d94c0";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/gn/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-x86_64/gn/firefox-60.0.tar.bz2";
       locale = "gn";
       arch = "linux-x86_64";
-      sha512 = "1bc8f57884cd4af64e1a99defaca501561d84a70aaa3f4ee71c3c1497a4829248e2f5fea5b09c89eaf8d3701fd4f9753bdb50f6133850d2baa1708e942d8281a";
+      sha512 = "cf566c8adb01873712708f76bb976a92a3b729459639faabd22ab5515cf59951142af734c9eab7d67ec4eabf9590f1d7bab65787f70908dbc01aece73bf52277";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/gu-IN/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-x86_64/gu-IN/firefox-60.0.tar.bz2";
       locale = "gu-IN";
       arch = "linux-x86_64";
-      sha512 = "230b2c609b5ff96385b93ece8ac197910fe332ca76300dada12a0687b025ee7781ded47bb1a13816bb2fbd6c7e250bd0af8f4b40dd78c1d75a77a66391d7bccf";
+      sha512 = "ecc4afe4acebf476fb0c4bd089679d8fdfb88c06769a75dc473ca3cefae09c01c8e71f88cf3c8130f4576eac17445032223f2713327ef6386fda6a2e3f588bbd";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/he/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-x86_64/he/firefox-60.0.tar.bz2";
       locale = "he";
       arch = "linux-x86_64";
-      sha512 = "f52add938bcf862c8d417709298eae9e502aa5845d01a349b9a8d29ab790ed342b7bbbe615fee6db7e939150a15a2e46895d162544ce4028806bd68c0c832186";
+      sha512 = "604048649305e7abe426b831c8b3fd0eb3cb26cabc7b055f85b7fcad8d0f9cb8bb06a431a28013ae8fd24ab4b21d8f8e68053dd7397a88546305f241adab476a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/hi-IN/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-x86_64/hi-IN/firefox-60.0.tar.bz2";
       locale = "hi-IN";
       arch = "linux-x86_64";
-      sha512 = "10406b782c3343fcb63420cf98690ac6eb1eaf9024eff226066587c356edf32006e288e8ce6373f6fc1475dd08c30da2b38cd284ccfd610c33c3726c91dc7691";
+      sha512 = "1f1d56c762166cd8c099f636c610c361ca94d388bd4d627ddae6d94e4424074686b5fb6a3aae5562e9250dc82576bc52abac4e1b09386dc2f81799a1804bb7c9";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/hr/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-x86_64/hr/firefox-60.0.tar.bz2";
       locale = "hr";
       arch = "linux-x86_64";
-      sha512 = "8fdfd613b9ee56a9da8f8c1ed1e9c9a6ece04bbffb1dc197120c9d3aeef2c36d9d660a44539f4c1820273be91dcc30d89652a9d9ecabe9bfa88b146fdaef18a0";
+      sha512 = "f5968a481d92aa0b57ed6319e7bba0d11ff00e0ec8beab9c6b66e18f4a6d128979ce1efaaf6fa07d4202130698216e58b8580833c13e1420dcfadbcda925b908";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/hsb/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-x86_64/hsb/firefox-60.0.tar.bz2";
       locale = "hsb";
       arch = "linux-x86_64";
-      sha512 = "4e1cce7f55a3b66b21c0f8f16661855b2946a403d6f29e3725aa300fce49bc065dd7719b9203e79b3ead73dc92220a40d2f99d9079eecc8ae44a38b87086394d";
+      sha512 = "6dee0423afa3ab5c173568aa91a2e92927cd6aae390033f34d8e63ad224d813b3f688a0287872cd8b08efad823b05804ddf54efcb57d1503bb70731391fafebf";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/hu/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-x86_64/hu/firefox-60.0.tar.bz2";
       locale = "hu";
       arch = "linux-x86_64";
-      sha512 = "b636ff6691834dbab712be03bd3dfa92f8a0bcf5e4807ef77e81d0a602acfd1f5df37e0c5a2237518305e4a9150fa592204f84e93ef83273f84a4ec34f65d3f2";
+      sha512 = "688103282fbc64a541bf6b914f757ef4cdf58ac6eaa942f45bb8b20b661136913b62735b7352c2118643118c48d94dd9a7cc18dcac184c3080e078d6bafbb278";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/hy-AM/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-x86_64/hy-AM/firefox-60.0.tar.bz2";
       locale = "hy-AM";
       arch = "linux-x86_64";
-      sha512 = "909f565a687d6676175105584b2042af8cea66a2da1a2d529954c1a3f5f98807f655a20b1b16d1d80a9af05c02997d543055bd2edcffaec4fb0df0da6e610ab7";
+      sha512 = "f836cd764ddd7f9f48295c103b4ec0c091c8eaceb756825fbc9f4a03b9dab786fc94781903975167d93c8d9ee73940a6607403ae6d0ef97a7c83b89989ec628c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/id/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-x86_64/ia/firefox-60.0.tar.bz2";
+      locale = "ia";
+      arch = "linux-x86_64";
+      sha512 = "61ed80fa61e7e8247ac1b59dd26582b063fd1313a02bf1ab73c696389cdf5f3d8bc0c3b58a15fd9ff08ca9514e3a3b53fb16aa532758586d412a8155131fa457";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-x86_64/id/firefox-60.0.tar.bz2";
       locale = "id";
       arch = "linux-x86_64";
-      sha512 = "1338acae5fb5d477f51d09c8e49bf29ea4a7ac1a86d2b8bbfd431af2faa7a2db19fe5ae61650127c0f10a40b37a464bf7c67e4a4d2930bdb0dd04160013f5ead";
+      sha512 = "a87de8f34c82d35a5bfc77ba7a5be2c5afa6b5015d79f25280d162f9563cf8e48ff54386c03b67e4743a376c0d679f1d90b7f87924126028f2a4b990e7d28182";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/is/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-x86_64/is/firefox-60.0.tar.bz2";
       locale = "is";
       arch = "linux-x86_64";
-      sha512 = "6bf296d0e64ded43518b30f2b064cc99ddad031e8ff6129a6a9bda4736e93cfee1d2a9c0df96e86754762cc0ef38fa9cf7d79caf154c1db8c5ba57d88abfce0c";
+      sha512 = "3b51c777930363c3085f11f3fd54a58a3ebf63a1a35384ec8d324acd670cb35e8bf8f9d1bd3b6ba735b63b5b2f0901d064e7802c5fea6edd5b36d7cc022cfd94";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/it/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-x86_64/it/firefox-60.0.tar.bz2";
       locale = "it";
       arch = "linux-x86_64";
-      sha512 = "c46ab44a51aa21b23b50763a6f35c5418a03a847584a1aad3560f62a828d2f859c912ead26d1a1206cfde73d411bad31bc87f19c5203850712bae911dc86fa44";
+      sha512 = "84ab4fc30b8753fd7586239b6f7313828862793581932aba00394ba59f6070a5ce69455a102f2ad05fe19e8cdfcd78de82d488bc31918b63f4d8aa810db2be76";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/ja/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-x86_64/ja/firefox-60.0.tar.bz2";
       locale = "ja";
       arch = "linux-x86_64";
-      sha512 = "4765ad23e91c8599b6d1144533b7b24cac68b77a91c197e6e505a3be0bdb74f60bec2c49b7e7338ba994619d3969c00e5b9c7ba872da4958be37ab69b772d786";
+      sha512 = "345b9ed332637d74064064894d34d32263725af9d288da3de3b2c05d2e38ee97355bba5a871698980d772a7b6847642c19716e00514d2965900f12b8a5d7a633";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/ka/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-x86_64/ka/firefox-60.0.tar.bz2";
       locale = "ka";
       arch = "linux-x86_64";
-      sha512 = "2a8aee12fead92872c5c94a319926aec87a95e891fa280588737b66814aa7378c5d7240a3c5f50145ff23c7673767037160d043b655b2a96ccdded6015254f4f";
+      sha512 = "fa3baf6c474e883c94e5d862739e2124980e3d7cb7692dee8507d13bd1aaf389c849b218ec0cde02f60db479c1ecd32e8e444afe3e09c6ebb4e7afa0b273a2a4";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/kab/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-x86_64/kab/firefox-60.0.tar.bz2";
       locale = "kab";
       arch = "linux-x86_64";
-      sha512 = "6518ac1276db195c2435160e619dbc1ec7494e51b06971fe409f46ead4af6367567a99356f6b5e353c024a8b9e51d2c2f99983d50709fba2e12342b0084c39f8";
+      sha512 = "a86ccc40c7a7460acf3242a8ab85fdae4146bf0efbae20ea44fb0251f18bbc803f55748348022ad5196c2347e3da7b79a03418ae281835af184d2245e4bb7635";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/kk/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-x86_64/kk/firefox-60.0.tar.bz2";
       locale = "kk";
       arch = "linux-x86_64";
-      sha512 = "2d515605c00f1cf2e76b26dfba3d4fbca00da18bddc5ed39f66d15568b15a2bbee0f1676d2b1b5058e11399ecb3e7cc593ff040757fce76d82ca859ca7b9ce81";
+      sha512 = "420956435202d7166c3d29c795974034b43c758fe19d0d55dfbd207e4e1862272a55a6770294ffa54a4cb9259985eac7f17a290e13a49006661b18beb7f27a23";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/km/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-x86_64/km/firefox-60.0.tar.bz2";
       locale = "km";
       arch = "linux-x86_64";
-      sha512 = "6bcba0015fd5753f7ab6725197fc164723d64de0790927115a0c06d0d1d92fd39bd41d83ffe59a5e9eaec48224c24e39f26cab3ac1bef6265eff8ad9a70c46c5";
+      sha512 = "cfc262238316cd3dcab2e2a11647cdf3a7ba38004d4fa18f83286d6cf1320a78534cb88727635c330e6ca8c8608aae748786a83fb68484f6d2f6ee23cff603f1";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/kn/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-x86_64/kn/firefox-60.0.tar.bz2";
       locale = "kn";
       arch = "linux-x86_64";
-      sha512 = "5fbbffed20a48328d2b199626a9810dfa6bf9cc84f358d429e7986d813c1ffa37fc95eb20a37b10bbf728e4bddd3ce8635c096b7fc4a4dabe462a32606a6dd96";
+      sha512 = "27c445445080f6642d4f95022d8bd07824ea81549f80da041ad1273db6d4a0eccb9e1bdcacb89e269e69dc63a33af2c131f193545624771e25444e212592c45b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/ko/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-x86_64/ko/firefox-60.0.tar.bz2";
       locale = "ko";
       arch = "linux-x86_64";
-      sha512 = "2e7f5b385fb65b167ef1784288a68fdde29a3345ade9eb873a6e07a340c5bf76df5769c7771fbf9049eb31bfc5978e20c143a2e753614237b25a065e0735313d";
+      sha512 = "21f8dedddbcc5da3788abbc17ae07c422b2f1476fea3c45f173376b1ba38736f1a85b7d11bfc0e50ad610d605680b3333c39b18b89e9e4990086a782f8559881";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/lij/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-x86_64/lij/firefox-60.0.tar.bz2";
       locale = "lij";
       arch = "linux-x86_64";
-      sha512 = "fe436e3ab07f3b139460ff385e73147572a1becbda1ccacc0da6a6cf1c49ab3e1424e9b9d8e26a14a2748e5ac9b0c67fc8970f14f5d64975ace3c6e9949f702a";
+      sha512 = "706bb394d90ac405773448cd4869c8880a649569d15af420e15851131194a014b0b9f72a9b60b2f621596d4215f606b3b81e0409ea4eff5da0c04a91691bd99f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/lt/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-x86_64/lt/firefox-60.0.tar.bz2";
       locale = "lt";
       arch = "linux-x86_64";
-      sha512 = "b6e3d248f7a76c4a202c767710151067031e34a08ebcc460f4d6bd95fb395533414d6267daa1d9d8172097aa4ae0155ae693e027757c93b1cba50ad9a94f3cc4";
+      sha512 = "6cf1735fb80b7fd945a2b993f1963ed14c903791dd720fb9821a728251b0c006cfda12f80f55e96bb821c7988f7e73144254e7e3a3c92a4a66680be9293771cc";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/lv/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-x86_64/lv/firefox-60.0.tar.bz2";
       locale = "lv";
       arch = "linux-x86_64";
-      sha512 = "7bd3844aedf8112d396f07e1d57ec915e48bec1c375c8489057d7a3f2aa5f93c738d2d361848b977243b95b79a821848c2b27b3117a26fce9054d26e4621522e";
+      sha512 = "5feccbfe1088ed569e67e3a54f9cff0f7fcac91dccb8fa447febfd96ef2a4f25a2f51b8dce2f397b2b09fd8654bfcf292339cc5d25140a1892894425f2d86e3e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/mai/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-x86_64/mai/firefox-60.0.tar.bz2";
       locale = "mai";
       arch = "linux-x86_64";
-      sha512 = "d5e6a53c7744ab267404d9107665e6f55acf584c11123d0e9b4a82f6572ef815fb87f52ce9e0be9352ed7c4af901819fa186ed57e4a313349ddee680727b0343";
+      sha512 = "0b75fa47591f6ed9cdab76ceda17636a7f666b6469e2fef948d29c77f559328320cb1108105590a240a0004976cc922439eaa800a5234f7064396e2d56e5a45c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/mk/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-x86_64/mk/firefox-60.0.tar.bz2";
       locale = "mk";
       arch = "linux-x86_64";
-      sha512 = "7c49cc95a233c4662265e3fe57e87f4320ed120309599f0f78655a9e70b87ae36dad915afad2445cbf55c84e906c3fd2df4b7f84db59323f4629f662f6f2af31";
+      sha512 = "bcecbd3a82a66abc1918f03ff0c5da822526f3c1a8ad72ca9a021d5c036a382734251513dacef9ca6f290b130b67edeea5a79a37606ac34f34b27528ba7cffac";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/ml/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-x86_64/ml/firefox-60.0.tar.bz2";
       locale = "ml";
       arch = "linux-x86_64";
-      sha512 = "d1aed7e78433d3b427c215ed0b2c8455a8a0374bd4e2d88d7dca59c2a3d0402ce1670f1dc1c8675cf7953416fd4be584df59ab646783240f3aef14cb9474c91c";
+      sha512 = "14d844aa0c430376d17224e0172234bf028f1bdc56b931aad2455c221affb93f1048866b8bb3418dd10fe12367178e7504842762fa9fff381a21ef8599bf9f37";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/mr/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-x86_64/mr/firefox-60.0.tar.bz2";
       locale = "mr";
       arch = "linux-x86_64";
-      sha512 = "3244354a154372149da8b0564645ac5b827176c6eb79a88a2a182d2ae7a5e320fc1f843c1576eee86dec62d2866f6648403bc9c687322eade1f943717b655771";
+      sha512 = "b25b3aad52c6670c27c977084cacaf526b4c64b24c679dd7f45f4ab583a80799912b6e6b9eac195ba19c94d70dc5a1fcdac46e2c1234fac777d706fa51008221";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/ms/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-x86_64/ms/firefox-60.0.tar.bz2";
       locale = "ms";
       arch = "linux-x86_64";
-      sha512 = "3f753476dcd5f128d7a660dfb9e1003f706ba2b2a135df629bdd68c8580e9bd47f23b5fe3ef77136c8e6611f434bc502f96eef4b7f7d6185ce7630bfd1f32e24";
+      sha512 = "5df8c5ca3e8dec6b84066ce0c4e2db00d12cbf7c0c51d229a88072653166359652caf4c51e7470f06151d9ddda0075f8f53eebe2bd83e25bec9920db7654a97a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/my/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-x86_64/my/firefox-60.0.tar.bz2";
       locale = "my";
       arch = "linux-x86_64";
-      sha512 = "b83f6807c08c08e7245bc1c5309e2bb2d3d434a577f672a9ea9e95017b61993acbd0df9c339a4fff4c5e65c589d939c57477ba206194e7d09ff140a8882d2e52";
+      sha512 = "eb35f499f6d2ad6e71eb780767abef864b2611e8cf83669e1a8a08f6fdd098ea183234e157a5ea442773c45348b13c55b2811398a2440d5e579cf57ffd1620fe";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/nb-NO/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-x86_64/nb-NO/firefox-60.0.tar.bz2";
       locale = "nb-NO";
       arch = "linux-x86_64";
-      sha512 = "e59931df86dff00b3ee55f93b01e4828a60de0f693de412c4825dfe7957c0bda8b9644040657036d5228fd7b6f4e3a93273d561f14fc5e9d3d81cc5c708f0f84";
+      sha512 = "bf8b5d719d507faed5f2f9c34d6a78471b16f0452286ab3f79d63d516bdd6af54186cb4cd896d09400da51ec4a923f711791e4040048ed546a0d30a065dac129";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/ne-NP/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-x86_64/ne-NP/firefox-60.0.tar.bz2";
       locale = "ne-NP";
       arch = "linux-x86_64";
-      sha512 = "4dc88c6895264f50639e17eddd5df76de7689208d6094b0d4a51586fa45b359a0ebddc2d58cffbb952cda0a3c199ca287dac278f2a9cd517b923c60398fea449";
+      sha512 = "e389da15177b36b9f480630e88491252b37ae1c4b9874804eda96a259fd8d0dd5c53975056246dbfb1ec8b5d47c90a9eddd2dc665c19dda64d35fb1af4d1a531";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/nl/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-x86_64/nl/firefox-60.0.tar.bz2";
       locale = "nl";
       arch = "linux-x86_64";
-      sha512 = "30f623d07fba2688b8f4c4958817ca208bb8981d1c5a64a232568c301aa8b95dec9406bc064b5c629c357381b5c41bcaed9d652d7e25b3a4f537717d79302361";
+      sha512 = "d4b4978889d9acd79e60c05f9e088c8850ef234e475bc05b27abe79596f74db47da748fa228b0b9706ff8f7e747b28edda36555dca8a3c8a70bb3a2ee147b8cf";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/nn-NO/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-x86_64/nn-NO/firefox-60.0.tar.bz2";
       locale = "nn-NO";
       arch = "linux-x86_64";
-      sha512 = "ddb85b71a86ad20a363edbdc9e0e79f6c485b4da02cb803142a717d297e58c10a4ada476a57dee01d5834246a53051b9e65b95eafae081b5b43648b2ac914acd";
+      sha512 = "7f27fefba306c82b7227889f56059d271623ac40af272ecf810c53224cdfca8a79225bdc1dbf267be8b8a4db4a5c870f5f969f0e30cb3bc6488c8ce101c43bd5";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-x86_64/oc/firefox-60.0.tar.bz2";
+      locale = "oc";
+      arch = "linux-x86_64";
+      sha512 = "f5dd23837b4c6d60a3efece4f70fa4ad2c69a0d560d2dba884ca0bf004619c26aca11348e4eaecebb0a92c46a835ea766b09a9734f7ae34dab88c4849aae5151";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/or/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-x86_64/or/firefox-60.0.tar.bz2";
       locale = "or";
       arch = "linux-x86_64";
-      sha512 = "8161a5ccf70f5b370d1bdfb9b849a2761eb4c25f6d821d39e63f45cd29d9be82be81f523bdb9b1f1b2ea134a8672b9153ff14ece3af6ed7e5a2339c9a43d71a7";
+      sha512 = "f3224d03f3a264498167e62fa8df8b1d4ad0cd9de07f9bfe26eb85977214a00d64daa0d3ed8ae9d2d4ba30e606bb006a0399918dcda34d6eb5b9009eb3db6dcf";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/pa-IN/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-x86_64/pa-IN/firefox-60.0.tar.bz2";
       locale = "pa-IN";
       arch = "linux-x86_64";
-      sha512 = "fc0424027788746b0c8b68c553b7d989e60af2a29e4fa733bea440f31d277c1e64fba06a74c915986dfb3c8da13405689121a8771fb0a47f091e27185cfd7a28";
+      sha512 = "47b347b899f7300a9bc9fb15f00ea5b05ed26f422b4836d24da1a795b8f35fa8cdce292fcd92b8730e54078318794cf942b27425c367ed4090f3ea9237611cb1";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/pl/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-x86_64/pl/firefox-60.0.tar.bz2";
       locale = "pl";
       arch = "linux-x86_64";
-      sha512 = "f39a26cbc41739b250bb92bf2daf6ba835639e5751e1dd0893013e1541ec43de7e747b3ec754894a56362263b3ace8d5f105ace5654c30657ad9e44195cd42ee";
+      sha512 = "844eb1c7e46ef7bea66317220a6a57daa0cca6022457da4184550974cb9f616bc25ea01ccd8f158c3d195d39e74cab4d04f51d41406a9cbaffb423c87ea24b3c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/pt-BR/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-x86_64/pt-BR/firefox-60.0.tar.bz2";
       locale = "pt-BR";
       arch = "linux-x86_64";
-      sha512 = "2d3fb878c286a750fa10413545f0d2ce5efeebea5f8c4192dd5b53131edcaa6a54940f242ea002d9a79f41a14e70095cc79526773dc95d3550bc0e0291185a5f";
+      sha512 = "ba3418e27df6f0e037c37d1afde5e96c5415257fb0ad70f95bec98d50084f8f0aaf1a5d8752163bfaf00b390db6d0dfb88867d3afe48bb246664e7a9361b2d87";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/pt-PT/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-x86_64/pt-PT/firefox-60.0.tar.bz2";
       locale = "pt-PT";
       arch = "linux-x86_64";
-      sha512 = "a2eb5b43c3d87ea8193fdb1f0ecb0e1a317a71f10af4f3184484536dfc1f7f09fdfb498bbf073f68847f7c2cbf9383adf9ad9e92371c8a835e4e3651a0546ce7";
+      sha512 = "6f675e939407e19ddea4962e2f8cb0fcfc7f573ff76689d1f434416b02024bf8786ad78b03fcd4150301309fbfbb91be078340a47d9fa413d2312c6b8aebdb8c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/rm/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-x86_64/rm/firefox-60.0.tar.bz2";
       locale = "rm";
       arch = "linux-x86_64";
-      sha512 = "8dd38ae11781013a03fae2b3cd5fc1b033c45050ed4245fca2302e1818135f1e754cb6c8ecbc535d253104ebafc0792dbabe78f7f336f12297b7b4b8c4a9f2a3";
+      sha512 = "d6623710addc98457977ff62337a3aaccf1953874e6df5fb6d4ecfe2d7650920d5c1d4593793f37b5397e688ee3e745ac7007f3925e0982b7ce168f5a1fd90ae";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/ro/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-x86_64/ro/firefox-60.0.tar.bz2";
       locale = "ro";
       arch = "linux-x86_64";
-      sha512 = "e9958818254c1b5577a83960e1136541c8ebf2cd4f43ba06d73c2e40990fb6da958aeb423c640ae988057d3782db145ba8e8cd7816b8aac8dfb7f58c2eb0060a";
+      sha512 = "38c6a14a6ac375ce700cea3853b4fa208929ab6814bf2037c2b9d03b15d85ce81833c09e889ef5a8966c61658055fc11e4d1ece2a16370e7436adb52ab321bc5";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/ru/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-x86_64/ru/firefox-60.0.tar.bz2";
       locale = "ru";
       arch = "linux-x86_64";
-      sha512 = "abcd9a548335648d84ed3856a89275c62ef7d883e18d52dca053b4d8f80deff8fdab7336a2aa9382e55e110ded2d4bd9cf147b3f482f3b0ebb972ac696562645";
+      sha512 = "730d26ce8e54b9b4e8379c475e6db9bfc293cd6bd233f566ac54ef6512f3f3bcf687b18f8a31f3869821a9fa1d26cd8e6149e3721b5950ff7633a645df4df8fb";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/si/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-x86_64/si/firefox-60.0.tar.bz2";
       locale = "si";
       arch = "linux-x86_64";
-      sha512 = "53a7b139ba28103b88359eb450c033fbc8bd3a0c95048aadbd058e505ec85b652054968304d113826a5fcdb6abcb47e8498d9750023a899fd83d5c0dc8b3ed63";
+      sha512 = "37b72c9fd02ca03087458b58080da505fd334fd7059291a7d83557212af0e30273ef002a3fdd9a8797e76f1178fba731c127a28051b1bbf74f570f13d6d8064f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/sk/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-x86_64/sk/firefox-60.0.tar.bz2";
       locale = "sk";
       arch = "linux-x86_64";
-      sha512 = "05d4f52e87bf24884caa888c14dbb6e46bce2de967fa4524090df63b2d9f2f4f82b926842544d2ce7ee46f0196a62e8dbe26e7b07176f5c13886ab2a1b2cd184";
+      sha512 = "5ad4c596575cf5ee63d7ee6c9df3f9b9dead8fe41fc66dd09c010755d069f2c6dc2a920ce4cd82f23df7a22d600aa502b3accbdb05976ad5f08f1ec19772fd51";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/sl/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-x86_64/sl/firefox-60.0.tar.bz2";
       locale = "sl";
       arch = "linux-x86_64";
-      sha512 = "655b4fae25e42cd1678e49b555508ddba2da83a24f04d7d66f5d25a124fa2818368adc851258dd78915a2998272cf8e7bb7a5e918e01228e735d3ad0caa8edc8";
+      sha512 = "5c7181d319b5bc4c9c731640360fec12a862975fb8d6b59f913a9a113b88a65ab3b9db9ff759f9faef6088f25c5f59462f0f82b62a8e5115836f498289478f6c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/son/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-x86_64/son/firefox-60.0.tar.bz2";
       locale = "son";
       arch = "linux-x86_64";
-      sha512 = "cb555d1465c5ce0a7db10e5117081e682425aaf00221b93a66d23ca9217cb2cd2b3835007961f572a39d93a02d12f9a62acc75f1ce3d8c3bd6cd057afd750f79";
+      sha512 = "f1ff760bc5516ac6a5beb251d541e38cadf0652ff51f9f1798b9677e9d3e33c844d56e6397288c898ba38c6bfc80129c7318e1e9cba3ef9ab4b9f07405dd628a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/sq/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-x86_64/sq/firefox-60.0.tar.bz2";
       locale = "sq";
       arch = "linux-x86_64";
-      sha512 = "5afe4996a2c66d220d038cc041fba4a3bb5e411c0d1c4962b2a3f28ee16c5f23d1d8609a7d492a10b16d508c2781b7bdfb884d810ae5d8c5fdadee8120a34659";
+      sha512 = "d57cd7cf4669cb537d96d6b9b4bc81446d7e54d6cc294776f2155b1280352289c1afc3d0b2744973280bc980c4f6200a0cf114e449c15c339535cb30ed153766";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/sr/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-x86_64/sr/firefox-60.0.tar.bz2";
       locale = "sr";
       arch = "linux-x86_64";
-      sha512 = "641e3173693e73018154f5f3fdeefc0b0fdc0b1939ccac19b73769476a8827b7244a4088cc83fc651694e9c82fa5231b114fc05c80371469e63926494906aa83";
+      sha512 = "2aaaa459fc730feb75428dc4af773d001bd18fd0afbe564d919925f159cd95abc22a21db9919a0c3f16f12ffdb30e8f0d91c0d3c113578804c35a1764b86af1b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/sv-SE/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-x86_64/sv-SE/firefox-60.0.tar.bz2";
       locale = "sv-SE";
       arch = "linux-x86_64";
-      sha512 = "873f11216e002fc9eb4bd6389774c21d1f3aa17baf0f38770c18db541b30334a84cf2c33b478d009227b1ef48a7c45183d7df9991878daee78c139f6964c8b3a";
+      sha512 = "223f00e509c53a88f102c2f9da9b75640bea329307251b59aaf2ccc759fa0246701b1877c400f3fef2337099f2c070f33ffb92c8313612a384e7f5ec7cf66ffd";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/ta/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-x86_64/ta/firefox-60.0.tar.bz2";
       locale = "ta";
       arch = "linux-x86_64";
-      sha512 = "1d91749d41fdd5d5f3988803563e083f3d65ed6c70fed197f38fffa7847c10d2b0f355fd46a1fb7f84d8c94dce096d2b84ff692fc6f5f33be4ee1dc63a4efcd0";
+      sha512 = "910ff3e81fda8c94989b3d6cefc5ade22ff0dce21a81907e84f1573d631253ca3b3f45383552193fb46875e09b770ff8e28fe945558fd897bf0b64bfb4e01004";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/te/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-x86_64/te/firefox-60.0.tar.bz2";
       locale = "te";
       arch = "linux-x86_64";
-      sha512 = "2b779beaee906278903dc12bf679f0d8ed51d622a1f790a956d039faa71c11abf1b4d462527e330dfb92dabd87aaaa70b3d84a295f21e1a701b4a308c85dc821";
+      sha512 = "3fb89f3620d5a39a44cef228a9fdd11362bb3bff59fc64815468376221bc151e3538f929023fe634a163e0c7ec47c45c54388d4f5dc911b53a3f2565caaa6edf";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/th/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-x86_64/th/firefox-60.0.tar.bz2";
       locale = "th";
       arch = "linux-x86_64";
-      sha512 = "82bf20ace51794807f6460ae4142869fc2efb1b4bcef66cc5d68fe8812d4cb89578a45cfe0cb7927c45ab0d1e057f30d4388093678213187bbbb6f209babad2c";
+      sha512 = "78a66d69b6225ee29c5c1084c9059a9f1bb867c22886ad42e628fd7e0316bc2eb8eb02522972817508557f1be5369e00ba489260b7b6882a4f12448808b9af16";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/tr/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-x86_64/tr/firefox-60.0.tar.bz2";
       locale = "tr";
       arch = "linux-x86_64";
-      sha512 = "65766e0207ea300dae4d95023ddc732cf5f59662a894689e87620e6e08a3f658234293b666467eb1f76afffda29716b128d72286b1c9cd68cf574f7121b71792";
+      sha512 = "afb9c372e5b1f0f69c53b4c0ea9dcd8ba73672c163bd63cf88b7d8c9bf24af3656a924b29c6b3e28f826ea710c452cde789ee68e0a80bf269b034428ca2de577";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/uk/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-x86_64/uk/firefox-60.0.tar.bz2";
       locale = "uk";
       arch = "linux-x86_64";
-      sha512 = "01aab08b333c16ac7156ca35580fc6502aaccdc269c6be29e20ea3ecf97104a3d0214d16bb65f1e3e7aab5b17ef3c637d948a2767594c36ab920c7086e11607d";
+      sha512 = "ff3cd139b34652446807063c4d68f4a5ff8b5643bfe786527114a11a4cfe2838f64ff151d5d77ffc9c51e4b057d3f1058dee1dde521ea95bc9f17392a641c5ae";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/ur/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-x86_64/ur/firefox-60.0.tar.bz2";
       locale = "ur";
       arch = "linux-x86_64";
-      sha512 = "b282916667060259bb90452d08a2bb65cb1225cc45494c2c18c4982e710abbd345744b08bb9c2bd200073c2b470c3b3bddf7f9b6d652563e3c4a8cf6a6248391";
+      sha512 = "f075ecd1d15e9737ea6079c2dad94f7e3bda9503ae8a17f017fba27c166f1721ff9e5956c3a7a3704594d8f4154f9e11dd2df19630aa735aa7d3e533283af43f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/uz/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-x86_64/uz/firefox-60.0.tar.bz2";
       locale = "uz";
       arch = "linux-x86_64";
-      sha512 = "9339ec640a3d4920fba39e69520477d9c00cdda5f1617067f19fb13b1c17cabd1cf1917001a49604686cd835839adcf3f206dcde14e7c4a98d579c7d8a19386d";
+      sha512 = "8c885715f9df669d79fa4c0b0bc054c4e760916ddef288deda943ce372dfc85693a2297ed591b4f540f618e4044321fd3812c9fb037561969a11a7b472dba2ca";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/vi/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-x86_64/vi/firefox-60.0.tar.bz2";
       locale = "vi";
       arch = "linux-x86_64";
-      sha512 = "c318398809637623e4ecb187f4b531bfc1b9abe093cfecfefe2faa75990dad09b505d8f88e2556476c92cdfda491161af8e7fc27c68c8bbedf5d4abee8eda941";
+      sha512 = "19b398ae13e9cb74f61fbfeefe68fa8fcdf8785fdba2dece9e2674900cd9ab71b401029e1f1fb91174c9996e65522eabea975d3bf9d46de0f76c29d0ff6d3812";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/xh/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-x86_64/xh/firefox-60.0.tar.bz2";
       locale = "xh";
       arch = "linux-x86_64";
-      sha512 = "08caf6844c3900624093ada61c92f7c74dc5533818745b8e85b15a093b640eda9686bb0d5d86cfec0c90df49e782c942693d4e0a169b7cdfecfd13827ae27ea8";
+      sha512 = "e236beb0e0d5a7fda5c6bde0141884a0d5e09628e579ad0e31280db64d2f373946bba15fa1fc40a7c5ac7d468896d9e7af41b587378a999dd7fc1d9b89d7a11d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/zh-CN/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-x86_64/zh-CN/firefox-60.0.tar.bz2";
       locale = "zh-CN";
       arch = "linux-x86_64";
-      sha512 = "3046e58285f220ef7ecaea81c44063b8573f59ffc64dc12f698a184ad2f11bed3a4cb5d03a2bc105083b0fd84335d7477f81d3eac4bb28b961d38d9c886a9376";
+      sha512 = "d4865b13e94ed4ecaddee1458700ad6ac3850aed5c5298761fc1dee3b483a302a60256ceae15fb0b8d2b212420aedf1e66345b951dc90e5d8368242bcdd0cebb";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/zh-TW/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-x86_64/zh-TW/firefox-60.0.tar.bz2";
       locale = "zh-TW";
       arch = "linux-x86_64";
-      sha512 = "cc453128e4720181d147552fe2452b5142b959e3e0cfd3e340159def69be169d272980066f9a34206da5f815ea54b8e4a062bf95ec4b1cd7ec7b3b83e2ae13b8";
+      sha512 = "2165c1971c390be50a8af0e7a17766952a28c62355ac6c017c0871696b4073dd164795b3a347c3db99fd6b625f02c7e1ab8dfedb48943bcd50a1fcd46aca797d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/ach/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-i686/ach/firefox-60.0.tar.bz2";
       locale = "ach";
       arch = "linux-i686";
-      sha512 = "c26386414dd416bee1e4fe505da524a4c1de34ba8c25b2978a20c66a09f8e3c7339dfc4b5fa00f0d2c052fea1574e5ef1a5d74e67d39c7e717b54439d7dbb852";
+      sha512 = "ae783339b7f51f9e7fdddd36086fee47545b0624d42498627b65233bdc157cd30b2efd2272e27699e495b617b888c6c0a179d9026b7e22b5f96112f9cb520837";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/af/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-i686/af/firefox-60.0.tar.bz2";
       locale = "af";
       arch = "linux-i686";
-      sha512 = "a8c4485e579f127882c0f00a4a90bff5d02bee5f28642257bfe0d6638fe9156ab10a00dfd48052aa4995dcecbe10b7247f1d4e6d9b424bf06e431a782b46b95c";
+      sha512 = "8591da90fb08f30445457e84464219f47e685b973b118829878e5c9bda41a58296190f34959549bec9cfda400cf4dd29b2bff99b8411a3f255b04da4f67789b4";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/an/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-i686/an/firefox-60.0.tar.bz2";
       locale = "an";
       arch = "linux-i686";
-      sha512 = "29e91d4e5ff020241ac81b810b893bdea9fc194090c78fc857d507d7bec8651f15a3c70f3fc245f0d5faa21a3cc44b6327c1a32444eeff3ae4d93a723e230e16";
+      sha512 = "f60502441cc1d58194329d9853cc5d893ef1255dbf0d07a9344d9d49ebf328473bc978a5cd8ec43de5b57751b698774e090c2ee471ce65423f5a33750262c280";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/ar/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-i686/ar/firefox-60.0.tar.bz2";
       locale = "ar";
       arch = "linux-i686";
-      sha512 = "d1d936284a12f1718b69b279334aecd49a68e5dbabc65a5ade2af277ac7b8ea342ba4b580df95040ae057525d28a7c1852222ab2bd273c2aae74409a5533f74b";
+      sha512 = "c0174c009dce15fc2836d28cf80063e04ce34d12c04ce2230c5a9e01bbdcdc8073856601db45158bee68b410c4b9d9c53c78bfbe24c8293536c866b2cd13c3cf";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/as/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-i686/as/firefox-60.0.tar.bz2";
       locale = "as";
       arch = "linux-i686";
-      sha512 = "49f8e1e8cbe6910a9fc8a812b3dcb7e694c2785fca1c65639d70a5d0fc82dcda9630a1e311df9bdf148d684c2173c761b6aa3926a425730dc35fe99b14124992";
+      sha512 = "19f81fb36908e5959818c74c0534d4189025b061222bcd01745033891321a2931ffcfec76a893249a8e7026489ced55497c00ef0dab156416a644a9b88c72a05";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/ast/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-i686/ast/firefox-60.0.tar.bz2";
       locale = "ast";
       arch = "linux-i686";
-      sha512 = "a01eb17a9952055aedc3eb29126a826ef812c75f5f5b5a22af3125ab37b63e3e0ad6de0a5f68d0a5bf0b3d1c8fb1f721d4331f1afd30b6a3ee94a502d5931ff1";
+      sha512 = "a9bcf4be3e09509d34f70ea2cbffd4ecbf3aeb15f535080851c63aa2cc8e473fcc9453ef76d25fd525ae79f74eb76a6269919261aff5e8637cac139587b92c95";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/az/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-i686/az/firefox-60.0.tar.bz2";
       locale = "az";
       arch = "linux-i686";
-      sha512 = "7117993a67c2d0f3c0438afcbd87f22ce141063dbc66a1fea997f5145603f8e9d28b62473add81475bdfbad350d6e683d0c483ec2287f0a47f4e9b3bfbe92ec7";
+      sha512 = "14dc7149a69e6dce184e4526cc31f1a8d2f5a833c49ffd1c0ec51d67e8746d27334fa49abf9d487b7656b9f1e71ee0f24e7ef69b9888e6da640ffeab1da12ef0";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/be/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-i686/be/firefox-60.0.tar.bz2";
       locale = "be";
       arch = "linux-i686";
-      sha512 = "9b3486fdb08f0aae375a74701e7904dc13b1e4db7a1489c4538d523bd4af91b882b9785fc4fbc3da2f6ac67745216ffaf7c48c173f840288c6e39b2fb8e78b62";
+      sha512 = "38dc8e028feb9a523190346b01b9342e865af18db67eda7dd65189087ec1302085a141c708da5834339f5abb36e5eb91cf727eab1dd4feca3b4fda8035f8b423";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/bg/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-i686/bg/firefox-60.0.tar.bz2";
       locale = "bg";
       arch = "linux-i686";
-      sha512 = "a917bd437926c8854786b4169ddb2a132bf4ca0e51c17a99a3cb814a1c1fa7fbc7c2ca46a0c7c91ada117ce4b2e89c955e1d60502c6eaefc9c57e0011459609e";
+      sha512 = "d8f0df46d689c512996623657d3b2e893d2a465bf22be0679c1ff9204e8e773172f6a857d392fe2278c59c44e91eb588ba4b035b1dca1540ed59645a9d8708b7";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/bn-BD/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-i686/bn-BD/firefox-60.0.tar.bz2";
       locale = "bn-BD";
       arch = "linux-i686";
-      sha512 = "51032301e619fdf9e9ac99c52f771e39425e9e8f063f71c491f0802f02993bda668e0e18196f4d10125ffc66fec760df0f98c19713f8b54b5b05c502067fa4ff";
+      sha512 = "98902ccb5f3b34e3dfcf101c6f1333428a6a1579d5c5c390cfc134fcf64ae0b4fdb493094bd654c39e9e6708bcdb1ffab377003544432a73e4d80c150a17e871";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/bn-IN/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-i686/bn-IN/firefox-60.0.tar.bz2";
       locale = "bn-IN";
       arch = "linux-i686";
-      sha512 = "b76ea76976ade5df4866c2c54bef553924ec9d3bc229cc7513530ca81c4c4e118bbbbadbea8a64f27a061d0ccb061d7ec0e1a398a428892a2c59761b0a7392e6";
+      sha512 = "d2582614773a08192d0ef87eba9392dc4023c15affbfd14227b642ff93bffa8339fcafad0ef0ee8428c8d5f84a4e84f67af376cbd2e14f187c37a294e710dd12";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/br/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-i686/br/firefox-60.0.tar.bz2";
       locale = "br";
       arch = "linux-i686";
-      sha512 = "7ba73fb0068862700bf64248987796837c44bb59ffec052638956fe205bb52780bf2ce9bc6b1a5347b173255e893de8b9380dbbb245d8a3552dfd1a6fb73f7cf";
+      sha512 = "62457d015c193a77d12bfe58dff76a23c8b71e184965130699d7d97ba9dcdac47cdbbe9858e5a571185e4c56621f5aa4d8ec01a8c081f6157a98c6ef68ee90d9";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/bs/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-i686/bs/firefox-60.0.tar.bz2";
       locale = "bs";
       arch = "linux-i686";
-      sha512 = "5f2aa4be25f279212541716777012f87f5e65a57deb3b4dd84d4187d84db80ef3f8dede2adf971dae1fd9f4e6398db81f956f59df2f51f35f1893f581266fe0f";
+      sha512 = "5fe3bdeabe8804b4604440541565fd45854c82f421714a182b93f5b455935743ccb8f29d7b177316513a3f86bf31f549bfbda296c68f5808071dd3f74744fd4b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/ca/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-i686/ca/firefox-60.0.tar.bz2";
       locale = "ca";
       arch = "linux-i686";
-      sha512 = "2995ed991ab118d5e318f085a340113a0e71801cb2b781890dec674bf3a8142b9bd8b0bc23ee23bed72b1b7bdc7f0181abd4f4d23fc88b7930f710934d2943c0";
+      sha512 = "05240abcb093d8a643e636f05fc24f58cd79aebdfd9050dbea00cbec8f25bd61f521f4f85492df0bb4b7db1a69b0d73a322604a0d3741ebd88a3c961495924e8";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/cak/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-i686/cak/firefox-60.0.tar.bz2";
       locale = "cak";
       arch = "linux-i686";
-      sha512 = "dce6a70f1c59b01a2d3ac65c6f44adb9baa8e483dba84989e40d7388f9ffaea894e3107cc4a82ba6aa730770c681bd73b50d0ae2f248477f0b63192c45f142d6";
+      sha512 = "9bd35d87ee4b3e0d867088c5c788c3871ed6c1bdfb5443d7cc4c88501a59a2cd16d58ebe38343d7e9789292ef9ba1392d7a26d86dc56ca916330cf91e7e859d2";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/cs/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-i686/cs/firefox-60.0.tar.bz2";
       locale = "cs";
       arch = "linux-i686";
-      sha512 = "3c84b185de63520d430ef541cc95290868fb8ccb09829ef8887ee0559fc5da8182e890155e3d1bf4e82966c82837d05253fdf2d2115f376c4bb0d09c21cef339";
+      sha512 = "643daf0dabf25827872158e746355b2cce1df12b696e03e2e1e1ee9beb70339eae1175c3eacb31bef8af45d82772310bbcda00fa4d19219421c636a79b85fd0f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/cy/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-i686/cy/firefox-60.0.tar.bz2";
       locale = "cy";
       arch = "linux-i686";
-      sha512 = "1561488521608643f3ce97da23052b8e968c1b8ad7ca38b966fd088368932976be0f503942ef65617248d3ae572afa4ecda3499c427845de32572d163d577c9e";
+      sha512 = "3742cf47692ef0a6cc3597678601c260bbbcedf1828286ecef73c55b51113b63954d8f1577050f7db647fc5c520c080fd476e2b714c1c7fc4d2a2eb7bb5ef450";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/da/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-i686/da/firefox-60.0.tar.bz2";
       locale = "da";
       arch = "linux-i686";
-      sha512 = "fda58e6fbf5243d5fed1b386ac8014efefa856ea3f8cdfca4e723f646dda2a8825356818bc8f06183a57337a5449ae3907bb3ac4c81bd7f9590d94bbc32749a2";
+      sha512 = "500ac0b682d60e92a695da8b63c87414f2d86f48fea269946b978fe2e1adb79583c813764d039e2201736d367c86dd91a2ca62a555d3355d25b7c4dc96f9fea7";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/de/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-i686/de/firefox-60.0.tar.bz2";
       locale = "de";
       arch = "linux-i686";
-      sha512 = "d56395a97002f31ead2523179eec912dea7035a86c80a8788b21f272c6e6ac4095caff5520feed261f5ab5a2a2366cd12e223b23d276e01d1ef318b8c15db860";
+      sha512 = "4d0e210832d9a3290271b804bcf3a64c125764c6236bb84af88988c8ffd0aa57ba7e1060985005100476f36a4a93da93469717634665a634d726a1eda372cf73";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/dsb/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-i686/dsb/firefox-60.0.tar.bz2";
       locale = "dsb";
       arch = "linux-i686";
-      sha512 = "97538fdf8a2a1cc3c485210583d9c80db10b2d599d2b34bfffd5e3b29c092a8573f100cee5c69dbbc69fe67ba6e2c648715fbb9271704dc26e6b2fa98a8512c3";
+      sha512 = "39b5f2aaf2617a021d15a9da5a3bdb9ce5e56b28e8d61d7d422d5e95918fe10b5608aeb255595f9f92879fc48686337dcb93fc5b8e4a04610523156c8097f579";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/el/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-i686/el/firefox-60.0.tar.bz2";
       locale = "el";
       arch = "linux-i686";
-      sha512 = "4a12302d67b830098e74ecc5a2e785829c1602dfc3cdc20c1e4be5a2e58854128a68ef9fe459dc4baf7f1f87e8ac2a065061a259c9625f09098b364c6d12a393";
+      sha512 = "bc8d884f1b850d0b76625d4abf1a919481d23a0632e89396ade24841d7bbc9e23eeabed768b7d937bd7d69adeb2146551e25065251d65021240459f197a6d533";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/en-GB/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-i686/en-GB/firefox-60.0.tar.bz2";
       locale = "en-GB";
       arch = "linux-i686";
-      sha512 = "0ef9e96b43154f3b6d8e620183c092d38b8a5dfd7b762416b090e2754baee4564f6876bba9765cbf7499f5c658f2d352bb45769d852a683fd528573b53eff2d8";
+      sha512 = "905394e0add0e530b4a0202237ce6c77bbc124543f2fada77ff6d578b52deeb90861ce4b7df907b9be0c12863b4aea9f545ad55729b83e713cdb556c7d1c4404";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/en-US/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-i686/en-US/firefox-60.0.tar.bz2";
       locale = "en-US";
       arch = "linux-i686";
-      sha512 = "05046233531db36a9c9c16cf6247401ec662254e8e1b896abf557bb2f4043ee2ec1f83a04c9b1199877d66b50b41d47bef1ebe6236e21998406616b8251001ca";
+      sha512 = "75d3f38d13033717486a7b9cd686cdda1dc15d2064f47311b1bc4c7cbd4c1fd783fb1b8298751360f1513e74dcd1f9eefd73967fb248dc52e26bbc92f5914b3e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/en-ZA/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-i686/en-ZA/firefox-60.0.tar.bz2";
       locale = "en-ZA";
       arch = "linux-i686";
-      sha512 = "7ff1777a3aab71e9bdac1d41f777837cf91ca5f9ae353e6289812899fd10a4f58c13938cef0f33cb3d3a0e80b42c70034f7af22783e0b22495fe279cc497fa5a";
+      sha512 = "9ce1abed9f7bc0debbd34e70c036ae48afe36d87b1cd4df108fd5ff698b3d8e8b32cdf5c8d9ba8b9bba2c7113eddaf9f7a5d015e1b908b47c98f066bff644b40";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/eo/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-i686/eo/firefox-60.0.tar.bz2";
       locale = "eo";
       arch = "linux-i686";
-      sha512 = "3b4a8b0fb29abbebb224cbdc4dd9ca62457d88394f653388915898fba9eed6d1cbed43f6b8fb7bebbf18963d368fbea6aeef5bf681c14d2d5e09747fbd42fbe1";
+      sha512 = "bf671aa74bd9f22d56864b46d12ac131255c43b2820cda77264f08c48223627e4dff88872240b39d6404a7cec2135788ce5b08506eeeee571c14e2d933d8eb35";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/es-AR/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-i686/es-AR/firefox-60.0.tar.bz2";
       locale = "es-AR";
       arch = "linux-i686";
-      sha512 = "9409072b8aaffe4ed914832d0b545fefd20b9930e0529c38255f19a0ad524b66127d9704eae2b8623696560fb78169aa66d1b5bde358885dad4d00e010189841";
+      sha512 = "b282c35954eed46ddf46ed1f0e0ad52440811f6bb0b351337716eed5bd595c519792853003a6f7a742f83beb5231abe8f11deaaa176febe2dcbf84a43eda4077";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/es-CL/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-i686/es-CL/firefox-60.0.tar.bz2";
       locale = "es-CL";
       arch = "linux-i686";
-      sha512 = "0bcdfe996b3a8f4810d464bbca0690d12f6262032a21e0716f86f793faa4e707d3c308e79aac5657d619ebca204d5f67667c6d3d09e405e887c338a859ea1faf";
+      sha512 = "278245defd36da337383e6970b8afc59c37b207248638db8947a8fa970ca025620dfa8c8045ac2c0f53b4f3e8167425c2f6dc2071574931b43190560ca511ad5";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/es-ES/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-i686/es-ES/firefox-60.0.tar.bz2";
       locale = "es-ES";
       arch = "linux-i686";
-      sha512 = "1f2aa1ec1c97cfdaff07b7aabf75b5e1bfc628fd8ee71c988af5471e570574453889a7bf40f9d3a4ec06889a4672518c986c3bc6fd35d7436d45c5c74507d801";
+      sha512 = "f0fb467bbace051bc229fbe07f21f29db492d35f3901cfa9b488c72f303a5dcc85a7969517165980ea7182a85c45a3758a7ceedea3c51bb8a31b9e81ae197214";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/es-MX/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-i686/es-MX/firefox-60.0.tar.bz2";
       locale = "es-MX";
       arch = "linux-i686";
-      sha512 = "366dc93d1e6508b00987163e44ac2d6fd318bc9c80487a13d581926be7d3a88a6fbc6438effcefcfbe6a1a9794f2a692c385fec7503ea96feeabc5fe10cc7a4b";
+      sha512 = "9a0bfa7ec953da8564b34d0e17efb6935bac51399f604ede83f4c0497494a93ce087ea35daa8ba0c52839e8722ce3bdbceb2e1ed17810f5816c5dbc9778bcd72";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/et/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-i686/et/firefox-60.0.tar.bz2";
       locale = "et";
       arch = "linux-i686";
-      sha512 = "82b25a2e1ab4d61d89f5944495f69fcc7db33b3a7bb7822758b588ea7c3fe9ce3d728ba838760b93975cc52b105de77cd980d20997f642839680a20ccd5e1d4f";
+      sha512 = "12209ad383627aaafdc4a89b462494f23eb239c736d5f3a1f2541b0ebd5487d6348ac63ccfd4da40df9c8bb929c02a9a54563bd6c53ec5dd87edfdeaece0bb5a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/eu/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-i686/eu/firefox-60.0.tar.bz2";
       locale = "eu";
       arch = "linux-i686";
-      sha512 = "6eacc4b6069f6bda6b08fca871c7cf08bd666f974bedff6c511652801e3718ef60ab97425c8ce6d1cf5aaac1b5b9a62990ab086ebfd9e76f646d491a19325b34";
+      sha512 = "afc9e8e0fed835420c385f0c19e81d1711a8c99a7b02f1a8e09218ac2a30aac6380ed88040e96a36edd39a057b98581cdc3a043d6222aaf30bab92ca81669729";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/fa/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-i686/fa/firefox-60.0.tar.bz2";
       locale = "fa";
       arch = "linux-i686";
-      sha512 = "e3f4c57555c415a4d3830a6751c5444e07987fdf85ed0e122312bc4bfd0fbaf841cda7aeeb6aa161d48070844aaab316ffc163755481479f5d421ab8967aac15";
+      sha512 = "6e8821bc7678a1d486693b2043031064618ff06309cd5b0dcaad0c9b712a312e43cb948bfa0e5e5af1eb54ac8e258bb6a5464b1369c9759ac72803709f5d86b3";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/ff/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-i686/ff/firefox-60.0.tar.bz2";
       locale = "ff";
       arch = "linux-i686";
-      sha512 = "695b44de161563727097da1d969c0a98fdbda51613ae8631a757410a502ab25038a9c356338b1178f7d35e0110e9772b3e2fb705e20d81787317b528ffd709c0";
+      sha512 = "ecf9565c6d6e8442836dfb50f1ad833cf88ea9eab884dd3d2fe6f1296d6230658093f27e30e953a51c2bd6ba5d69823f1f4e3f5457cc40a4e516b14baa17d884";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/fi/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-i686/fi/firefox-60.0.tar.bz2";
       locale = "fi";
       arch = "linux-i686";
-      sha512 = "1227a6e57a68c0ffc60f6d9eda20a41fe70e7da130bc705fa15e428539e0380e1f65739e791ec699f216588ba54e558ddb6242862396837229c3ef3b028a6346";
+      sha512 = "ca10ece92ea7114a4c91bdebadbab97933232f8610719b5130e2658600b9ff7667834708a992500f31628249bca5c585f08fbced1e98ff31e318a20b68d3e27c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/fr/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-i686/fr/firefox-60.0.tar.bz2";
       locale = "fr";
       arch = "linux-i686";
-      sha512 = "c15980e0a1b4b9709416d362e36a3dab26502af4788b7c74d68e0ebd2f3ada6039d10af1e1d49885604c4c3b41356519e53c278f04b14729502d8044bc106384";
+      sha512 = "2458452a4c239cdc36e744e4116791a310f2a300b913b61dee64e20349dbce8c0290e544027f0b9eca6d50dcc57561e63f4c618ef5ece9cc05815337ce639498";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/fy-NL/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-i686/fy-NL/firefox-60.0.tar.bz2";
       locale = "fy-NL";
       arch = "linux-i686";
-      sha512 = "dd38e22a986b558aea005900c2da53cbf28ea68a77bff428aea6ebaa09318439232cc2d5c8d0599fd8512ee4ca2488080297ffa61f2cac9547fd5257a01abd3f";
+      sha512 = "51cf096cd74d98bb081f9d397ff7eebc4624bfc4b90de8000bdf07dd739a441543d631dc783af1bb8aa3c639492aa1e402541ea979fd7837535874d8a4adb771";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/ga-IE/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-i686/ga-IE/firefox-60.0.tar.bz2";
       locale = "ga-IE";
       arch = "linux-i686";
-      sha512 = "97ff02536814db1310bcf53adac31fd9e84a5e39d58f9d81dc2f70d40e6b608c450dbdb38edc83abbaeb0535f1a1c0b1511c77a161e6d0ec22b8cde71501be08";
+      sha512 = "680c47e14f7c6a1abd94ac73bba738a44c0bab8745176639283efea617974c40efecf5b43538940c43599bcdb21ff6c4cb380c3c53c0c9915fc542cc647240d2";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/gd/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-i686/gd/firefox-60.0.tar.bz2";
       locale = "gd";
       arch = "linux-i686";
-      sha512 = "7e8d8dc8c341ab3990b550392f92029b70f6d947119de13843e11a8067c2edcd10a02dc088396beb52b1d069e8f42732db8c514f822706de3f309061e649caa8";
+      sha512 = "3702012b6a32bb9878747d85a0a66c69ee68fe2eac25be428b9e07081a90c867cafd70d2cae32b48229fb333c3f3dddc339f43212aaca29508db33f5807ee6a3";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/gl/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-i686/gl/firefox-60.0.tar.bz2";
       locale = "gl";
       arch = "linux-i686";
-      sha512 = "31b57462e13e43e31e0e9073b353e1f5a3c32ffcf5c5fded188a1a61a973510479d5e04dc26437eba5445baca51f82311ee9470e3bed9a6309d40cd456da4763";
+      sha512 = "bbc4986b7d03bd11041e969ef8341023a95e2f4a524c6cbd2290555ced2669edaf89971bd58b30b8193dd880a068d9bc8b2c0a3b16310a678b19e3f5e60c3c65";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/gn/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-i686/gn/firefox-60.0.tar.bz2";
       locale = "gn";
       arch = "linux-i686";
-      sha512 = "d54e50b52870747013ba457d205fd9d2632302309b9850171b968d66dc537357bf747e322420e70e5c029532b053e557da86076a25fe8c5f1a3491acc9906b37";
+      sha512 = "a27c80bd7041fc80939716b55c631796e2421a5bdd05843d411d6f0dda84a636fbd366cffa214fba133635332318af2d2e67f5e03c719b12368437dcb4341142";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/gu-IN/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-i686/gu-IN/firefox-60.0.tar.bz2";
       locale = "gu-IN";
       arch = "linux-i686";
-      sha512 = "d18427e64b54eb6aa1a1ee7ebfe4bdc3b219af28e7cedde55ae384d475ba88b83b9c6fe701ff849aeec32f8e6b184f2e3f910b407a9d200fd45ceaa18fc7d61f";
+      sha512 = "14edc663057b200f32f9a4437c0141d079fa5b77eeeee357d3a09342299643aa0ee5146c6dc2fe0a178285d39f530c58c456f8bf6533e7f901cba551ad84f1fd";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/he/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-i686/he/firefox-60.0.tar.bz2";
       locale = "he";
       arch = "linux-i686";
-      sha512 = "a7ac2db737ddeb870bbd136f8dea08306e8bc7158d7e880655cf15541ed26382086d270a6ff2bbfb332fcc3e53c7348a403bb889aa8ae5dd1cc6fd1b7844e768";
+      sha512 = "ce57395416083abb353c45050b6f6fcc8c7b9affe81d6e8504b8c6264b806ce33a44bc018918df92cfcdef047d31c67640074c63447a76c65f5928fbf6b0f50a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/hi-IN/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-i686/hi-IN/firefox-60.0.tar.bz2";
       locale = "hi-IN";
       arch = "linux-i686";
-      sha512 = "18263b33d5fff4154db809fed79fc2ae20590cc2ad609e2abe90b036420bcd38fda629c613750432ca4c06684c772cf567368ba2bf098719b501e329e55caf51";
+      sha512 = "a3621b49b47f835381df92712044a1d9d4655bb0d4a8502841761a60c8d00f0fd0288b8a6574aa2baba88ab8cfbe714c866bbb493aaa1bb382f75ca069f1a97f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/hr/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-i686/hr/firefox-60.0.tar.bz2";
       locale = "hr";
       arch = "linux-i686";
-      sha512 = "f75aa782b03335b0197cbea1446cca56cedeb4be0282dff8bc0f1d6f6c8bf596113edcab650b6c8b7bf5a9ffe6bd14e0e29f2e82002a5c720cbf82f9dfca1b08";
+      sha512 = "49cb57fc321b67e1b5c9e516b72d36025d22abfdc49bda180cca0194cdc0465be5c0e7edd9b98714eb3b1a7c0a1946bd28d8b9ae59e2ac4e9f45d48916cbfeb2";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/hsb/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-i686/hsb/firefox-60.0.tar.bz2";
       locale = "hsb";
       arch = "linux-i686";
-      sha512 = "c0b987b299ba764ff5418be38e68c52b7caaf61480edc34d575ef58807b5289fabc25cb22d7d87dc8ba708d6fa4157d46237e0a31dafcbbe5f463fc945a620e5";
+      sha512 = "c8488108906636a4a93447ca28176013e161c56e86d16b535cd73bd27dc568ce22fccff1d26a520a76578c31d870637afcf04ae9e104fc6b347701d4021eb98c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/hu/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-i686/hu/firefox-60.0.tar.bz2";
       locale = "hu";
       arch = "linux-i686";
-      sha512 = "58c7c346d0fdb16efee21d8802d3bc668ff4fd9497ceef1b7a96cb8bff01df647c32819a5606891e2b7a9283677bfa9624e33423f7ed1a9c6acd1c19414276fb";
+      sha512 = "69bc30e00e39f2c3ae4da333fbd48a595dcc84f7e9e2cc0691e04658ab02e48d2ac6a1e9194faba7a0c28df3637ff9d213708812436200213721136775243d91";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/hy-AM/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-i686/hy-AM/firefox-60.0.tar.bz2";
       locale = "hy-AM";
       arch = "linux-i686";
-      sha512 = "79e733f8be50ce4cab74d80dd8e4ea667ac9b2973bce27fc1f70a37b879e19b52ee423c2b360433d1e5e15a4143050e7943a3bdcbf709bc34e89302bb0ad7f35";
+      sha512 = "155c1a34a252cb1789c85ce4d757f483cc51b62d1f8bbe6179adfe5642a9693f1d202240a1765c5966602c03f95dba5c8ae58cd9a0c98edd65da101e61593cfd";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/id/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-i686/ia/firefox-60.0.tar.bz2";
+      locale = "ia";
+      arch = "linux-i686";
+      sha512 = "7e603f5d72c0b060404d6639858051951a4aef9d61f3e1e813e8c0167896e15a4b837d6f0eae5da8b26acd8b5899c7a557e5e259a797b096a6e6d8eca2cc7177";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-i686/id/firefox-60.0.tar.bz2";
       locale = "id";
       arch = "linux-i686";
-      sha512 = "5f49f449fd68cd4513ccbb541d3884e190b2a9897ba6267f348f4e7df9415a63e58a254d18f116cecd33f0e34a9022f4e34472bf2486e29b0ff17702f4790e0b";
+      sha512 = "82179d401af39f949057153062190214bf294445964a6d1c63102da1a7f94ce3327351e6257e82bd66c4586791a73c11e2394207514cab6b8ac76fc7f4a2f147";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/is/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-i686/is/firefox-60.0.tar.bz2";
       locale = "is";
       arch = "linux-i686";
-      sha512 = "6c5028ec47a18d9de6bfb4d99d54815b174ed51ccb74f84e0e1d69ad10940847d4655eb76b13281296575fdbb972d32df34e8e9849c8db4fd46a6dac4b4f0d62";
+      sha512 = "20237dc74245241a289a4a51964d19ec0ae60732c2a528de412d5ae70aebc1b58c4d4ad514109c01bfb1bbd83d4be22bfcf18b89361eeff0e9024bd07acfec35";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/it/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-i686/it/firefox-60.0.tar.bz2";
       locale = "it";
       arch = "linux-i686";
-      sha512 = "dd4e79563c63cfcd76906dad9b28162bc9df443964a10fb0be7c2a201621d394d45ace33dbdf85d7acd040175528d58da243333d06ced80bfa96f8c6226aa3de";
+      sha512 = "d15b7b6a4e56676a45d2a0c55612de6b57a5d90558bd826d3c9047db831551893cc288771826b95a0ceb587b9bd82e5b30c914f9dc7070bb09a93073222e2bea";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/ja/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-i686/ja/firefox-60.0.tar.bz2";
       locale = "ja";
       arch = "linux-i686";
-      sha512 = "472f544038dce535691db40eae8cb06dcd77a468059a261cfe04186bedb4403ca209efd51a5b5efdedca323f70f4a69140614d13380fae0e01b49c85e5fffb8c";
+      sha512 = "e47706e58a216f0f468bd6972d0373c3795a33318f811064b1c7dbf78a955bc65a62f8f27d66c656b002a4301043485abeaef8c5ef28622e65bc355cb1fa05db";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/ka/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-i686/ka/firefox-60.0.tar.bz2";
       locale = "ka";
       arch = "linux-i686";
-      sha512 = "8337bbc594e6d7c0f862a99b8ad67fa7b86e55d372c5db850657eb7952f9abe2640c7bccf69568790099c8f9e7dcda65ecb28bbf2c18eeeb6760f3274f343513";
+      sha512 = "84c141262f4c2a7ece6ae6effb47ac2ce277da9db4bf1683dfc62e78dea5a0daac52647279da7ef19e439c8622678e235fc90763a0e19dcbf156aa0e2b30d8d0";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/kab/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-i686/kab/firefox-60.0.tar.bz2";
       locale = "kab";
       arch = "linux-i686";
-      sha512 = "8d46fdff00c65f503f87b1d478b71621a2051c7ea7c24747f0793f6f6b7ebccaa39e8a61b35299078e2b49f07a17f7c4f744c97ee3767f598503faf7bae4a17d";
+      sha512 = "d5ca56b0d58f9acf8577cc1a69f1e0213a2d9e6c6ad70f6ef2b234d6ca87ae4b37489f69f7d8003a71a7992c6443700c8aa2739c58bafb34d3f99ecbe2b9aca3";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/kk/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-i686/kk/firefox-60.0.tar.bz2";
       locale = "kk";
       arch = "linux-i686";
-      sha512 = "617ce9bd37cd1ef36251cae9a0738ab93bfc4eeac2f54912011343905047ea5d181c25fc891b8abe178f3632189fe62c38ea00910a1c4bea3d47907c0a2caa07";
+      sha512 = "8b892727929298025c9f7c212da27c6941afbea15a07b5212bae363b358c05ca5373a1fcaf487e2f4f2aa5a491ac0a244e74240b22d80125140ea563432bb7b8";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/km/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-i686/km/firefox-60.0.tar.bz2";
       locale = "km";
       arch = "linux-i686";
-      sha512 = "38ee6522276cd186ae63053fb15978f6eb5bfa8b2e78b3f2e4233d58ef53ac32307c936c454eb76e86e9f5d4845632a7b58e6209851a775c93629d0bad1473d5";
+      sha512 = "11326282020f7b673b78490452fd47bfd932c99ed523b87ef4d99b55a189069665d1e8cb7d39d0f45a673e1e36e0bb689b9454c9047c1f701dc1c9b18055f043";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/kn/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-i686/kn/firefox-60.0.tar.bz2";
       locale = "kn";
       arch = "linux-i686";
-      sha512 = "462349b1bf91686f8212deb580166a3e0ca5dafb947c74b9786809626af68e43c4ac6e51c8351d028acb3c86d1f687ea9f94cf34c9b5085801c242d136a19383";
+      sha512 = "842005f68c58fbfc6c831a7515e0ad5078697e6eabf40294fb1c0b8bf45497549f0636b6a9d53973f64d0d522d601cc0d872ce6f515c4a488c2aaa563b70da60";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/ko/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-i686/ko/firefox-60.0.tar.bz2";
       locale = "ko";
       arch = "linux-i686";
-      sha512 = "78e8eb72d89173676a0b65d7295f37b656791595c4def454604a83ad76e2fdf8ce40976bc91ee17219a320242e9a41568157f3754719ab9f9e0a7ce6cb4f66ff";
+      sha512 = "aa8bf2c373fe549a59f3412e3b155164c3f4953257f7adb6535c3e4cec494e1191f25dfff9475fa610cd3ab765c10c4a303c895c78b35720483677a87613923a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/lij/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-i686/lij/firefox-60.0.tar.bz2";
       locale = "lij";
       arch = "linux-i686";
-      sha512 = "f51136d2e8e29af14aee4cc20e3fba6546effa40c681d3831a9ced7008a845e27e9bb80ada996d0d77c2c9ecc0825f6c7bbf1063797f71a153fe298be06e7da4";
+      sha512 = "fbcfad4fae4dcd132ccbc2fdbf7cb6f0deb49357c987c52edcf87b25d55684732b5e6a834d0263996620c2b4149e06b5e82a097807d8673a8b7df6c0cb9a0561";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/lt/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-i686/lt/firefox-60.0.tar.bz2";
       locale = "lt";
       arch = "linux-i686";
-      sha512 = "e1ba1b26612c2622853987fb802c4fd5e7433481b6721950813f76b6463b1320484383b25574733d75c5c4e547b52b3ad9d8687c1a28b511b07bacb9186f22f0";
+      sha512 = "f388751a01ed0214c284ec1ef1045a7c66c7a201901ad48370d7fa3c0e06e2b66c3ecc42357c781b58f6308efcf74e6b0c3902a8db46b11d0b39435294eb5e42";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/lv/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-i686/lv/firefox-60.0.tar.bz2";
       locale = "lv";
       arch = "linux-i686";
-      sha512 = "894b82ffe22425e1c95c4e148c7dd58f5b14e2ec11a5a27594e0a00b8d5d57364080caf4da38f73c0af3962600d0051f6d6d436687f485cc178e6eab1d5733d7";
+      sha512 = "f932a06b7667762f41c410e394b4ec5cd91116cf82a774899b48045143c6fe88840ba472d91c71f7088f420563857b185c99cbaee884acb2ad760ce7f83abcc4";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/mai/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-i686/mai/firefox-60.0.tar.bz2";
       locale = "mai";
       arch = "linux-i686";
-      sha512 = "7240f90b5a4b6cd68135b3436fa796de0e799316b8abc06c1c62bbe22ef9b6ae38bdcf1c60a5df97354ec5b0b69f64635ad6a88321a34a6b15e035bbee19fd53";
+      sha512 = "34da4ab327eba8076fd9944ad1c86b6e0e300df870b5a7ce906c7666df8c8ba7c76c792da7d8776150710bf2e8098a0ee9de86c273b19f6fdeadb5978258357a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/mk/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-i686/mk/firefox-60.0.tar.bz2";
       locale = "mk";
       arch = "linux-i686";
-      sha512 = "30769e066f1c0cc71f0e5139c893b3e887f4618640b762b666f85c208fc8bdddc53afd7f0beb0421e9c84f82a6b332321840c93ecc9635dff784185f2122527c";
+      sha512 = "8b92fd90754604535c641286e465b720400505e86d778d554364ba6e3fea9db038607bc0638e426123760de59a4a920d21fc4522d8e3e155f47d834ef7db4cd8";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/ml/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-i686/ml/firefox-60.0.tar.bz2";
       locale = "ml";
       arch = "linux-i686";
-      sha512 = "6c3f77d4fd7fbc05b7812eff2e8c5ebb75d4fd97a1cb8797260da5d2e53e10def88cfe107131097e6b72968b4c827b998abc42df0443c24330be3a0b0622b715";
+      sha512 = "4ce610e4b8979027e12dc07cca350f467d9f48c9c8cff1f52d08452616cab30dc8c49ce967ee49afca1c4905121d93ec00be9892b7b613736f1daced144f4347";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/mr/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-i686/mr/firefox-60.0.tar.bz2";
       locale = "mr";
       arch = "linux-i686";
-      sha512 = "60d8c8824ee7b414ada656310218cc87ad347b36e7192196b2d5c6a5e0958f9786589a3c3f896f1a99b19aa2419431e6aaafaf69b877240872f9ea89178ea699";
+      sha512 = "1c1092ee47d62addc304dc81ddef6fa2987afd778ed8deb2796c862496bba584812a9acad11deb045c050fe80aec523de3b007488bbd23fc039767254b8f5918";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/ms/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-i686/ms/firefox-60.0.tar.bz2";
       locale = "ms";
       arch = "linux-i686";
-      sha512 = "114c337fdceec43c1482ee60467526d7fc422f720400e2cd66259cb11c1aed46fc800b1b3fc32ca5e08ad85667bdff31cb31ecd19f66e63d29bdf8696f8e4477";
+      sha512 = "d0e4257f953e907c2ebdeafb7c60e3407906f908a9724ce6674842a2c87692963d0d932ba16e92ab0506cb91461ad07712178914f38feeb0662cde7b0fe035c8";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/my/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-i686/my/firefox-60.0.tar.bz2";
       locale = "my";
       arch = "linux-i686";
-      sha512 = "430ed92df431653d7c2f3750c6a7e3987424d9bc49359dcbe6f9c2b66c601e263cdb26f2428c9a1948de78ea51a78e0f1e6fc1538c4cdbc39a126c76050ea51d";
+      sha512 = "d77bce209f0b333abf132f9d8220b5d808e7aa45930f509278b9666c4f0bf03d09cd9a38752af7924a66f3c1171260a92ffee2ed550c75c304065e413d9d25ac";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/nb-NO/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-i686/nb-NO/firefox-60.0.tar.bz2";
       locale = "nb-NO";
       arch = "linux-i686";
-      sha512 = "c0b00789726e8020a5d8f853b73280720ba650f81cb4559e17578c862ab3d45aadd6a1948ff26e502bacd34d8c0cffa8d46ad6fd35d968ddcb4f8300dfcf44b8";
+      sha512 = "a1d86b6859599df2680e68e166e411590eda852923117051e28c14832c061a975dd535b11439639e44b1ea85bc4b409aada94e01bbda8847d4ca5239268306f3";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/ne-NP/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-i686/ne-NP/firefox-60.0.tar.bz2";
       locale = "ne-NP";
       arch = "linux-i686";
-      sha512 = "b90dc1fd628689c45f06800b3cadee034d6da54a3695959a927ac0466ba70378f4197bc5b17b39d9572a8369897aebb589d1ce7d2dcc0972a371100938704f9c";
+      sha512 = "5cd668f8c4295bffd14d769557f0be86b643ade50990497d72f15f5da15e1b4e82cb9b671045f445e87987f13fc97d05d04970d9fb559db1edc0122bf08871e1";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/nl/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-i686/nl/firefox-60.0.tar.bz2";
       locale = "nl";
       arch = "linux-i686";
-      sha512 = "ab802fa78343b4a2074d2a09187cc96b66c03a26d26f21eb158e90b30bbbafe6dd40d563c9a65c3b6c99f79edcca3615e1322dd9a4fe3ddf1ea527ae41b4b25d";
+      sha512 = "a0aac7fda38ac8f85ba341a11b1e90bb21dd5827e5201c782adc854a5b159a5555eaacc8df78bd6ccfe6945fa4502711b655688e61bf1d24748872da7830f522";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/nn-NO/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-i686/nn-NO/firefox-60.0.tar.bz2";
       locale = "nn-NO";
       arch = "linux-i686";
-      sha512 = "4ca2889f2e0a7f19ff1e1f7fa95ef692188f78289e1830df5c72e27db761f599dc1022ce1f9b8c8f30eab92aa70381a1e721deff07fe130b1685e968cd3aaa68";
+      sha512 = "e40c0bab77e5437c77a2db272444d0fe6874b9e153f84033f0bbc21a3d987562d77b5e37da82accc1e996682b8cdfc8eb67c104134191414e6a86f755130aac0";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-i686/oc/firefox-60.0.tar.bz2";
+      locale = "oc";
+      arch = "linux-i686";
+      sha512 = "86a2193d5d442dad54fa55d83f0788d3e30b278370ef6b5836ad06e36307b599155ce2bef6760e6c73c56f4badfb1ad63073d3348395c598e13be73b2fef762d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/or/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-i686/or/firefox-60.0.tar.bz2";
       locale = "or";
       arch = "linux-i686";
-      sha512 = "f2da13fc423beccb7044af1b8ad8ae5b8728aeff5ad0bccf52625936b59040aa6db6fd8fec112be8cfa0baf5448ff4b9d0e179b35302c235e6b4dae01500660d";
+      sha512 = "b10a8f799764a2933d6a3843848028bbd8f6cc7fbe2566550426c2f066699158f654bb6913e57585fd695bd775efa29c054c5b7992efd1110d3e7135723ce206";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/pa-IN/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-i686/pa-IN/firefox-60.0.tar.bz2";
       locale = "pa-IN";
       arch = "linux-i686";
-      sha512 = "ab193a72db52ab2208f7c6b5b5eca4756231cc31a7fc9f6adf434169ece5df5cca8800c952bca285f989dd2b5c8d7f825b0a0e99d2fa6a698a70a11fc63b1602";
+      sha512 = "5b0e9b50dd17472919cbcbc04dd8edcdde706d08421723e7afeb978fb31422e49751a4377a414b330ee81a6ad0e6ecb508db28d9a6a9fddd6e915819c1895fe5";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/pl/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-i686/pl/firefox-60.0.tar.bz2";
       locale = "pl";
       arch = "linux-i686";
-      sha512 = "31954e6be8bc114fab04c45f5ffa1f38c74ca147d790bf63130dac4fbc6f8213cf485216d5f50ceb87e60d587fbdb82fe7034c04182017b8120ec6995a9278a1";
+      sha512 = "49f9ff7f27dd04ff0c05b82b82d9f3864b3fa10cc27fe86099773e4984f6ae8d6ab8be964d345801a4bbf84b5fd28e794eb850d67f5e82d8a1a693ad77e8f396";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/pt-BR/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-i686/pt-BR/firefox-60.0.tar.bz2";
       locale = "pt-BR";
       arch = "linux-i686";
-      sha512 = "5cfe1e7d703cfa42a1033df3509db3e91788160079c9396d55356b3c7f0b848b59e6a8f704866dd14f2f0714e89830ad541da615c7d4209249ccc46b01eb11ee";
+      sha512 = "e4e6a6b5017297faff42ea399519c414530b2a281a9e8d20858c10b464e06d989f145b78b955e653fa5f11895a2b375d549bf8bad01b10fb4b8c88e7b5aab2e1";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/pt-PT/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-i686/pt-PT/firefox-60.0.tar.bz2";
       locale = "pt-PT";
       arch = "linux-i686";
-      sha512 = "124ce2632b461e53b2cd3474e4fbcb92554006bee72498356886a451800a15d91ffe32ac87451b61d32e6f9d60b04dd14f4ba081a535124c7e2816edc11ac287";
+      sha512 = "6acb042f4e22f67afb66a2a34f7c3865b77fa59dee2e163594f87c0aff0e409d3f252ffdb1986a4f7d776ece974ccb8701c90e72ee4782ea774298f801782271";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/rm/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-i686/rm/firefox-60.0.tar.bz2";
       locale = "rm";
       arch = "linux-i686";
-      sha512 = "847f41ff0293f82425bfba1af30deb4858c066f738f0f9d3db5303092406358e9b11f6207ed732903b860f60c1c1b1f622c5c1d2113eed073d70d039dac4a6bd";
+      sha512 = "822ca52c4be4a5ac19fd1c0436603d587816b3771f39ba1c6bb9e2e047b8e5fce8d8b4ae5109a07c79cbe35ece397cbd9644a45b4a8dd3d79d0e5162bdc6f68d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/ro/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-i686/ro/firefox-60.0.tar.bz2";
       locale = "ro";
       arch = "linux-i686";
-      sha512 = "ccd5ac724cd810dec2e1ddb3e48139d9f5768d56ded09c0e6576c0dae898df310a4c5815635f646c0aa91caaad696c0ec6338bf21dacde33b4675f320fb4bca8";
+      sha512 = "0c85d51248e95ba3a6a871b99e97dad557af06686949616990aca8ff939fdc1e4fa3414f91c03f7c9f6b8b1a90d13d8b080bc1a04af40daf57b01681efb8ff46";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/ru/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-i686/ru/firefox-60.0.tar.bz2";
       locale = "ru";
       arch = "linux-i686";
-      sha512 = "d003f707e4a481ddaeab11dffccbc46d0d7173afb081a5007b3efbb6e1ce8d081a4eb23017b87d7e22fc3741e117bdcddbd2393b578bae2d07a2c2c2bbe2d0a9";
+      sha512 = "cf2b8f766237534342c31f6227e653fbe171222caeb4ba8a234dd23389ac5fd4e1ff7a75cb9fa66d25a3022e73c148cce9872f976cc9e0f8b275c828cb30fd5a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/si/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-i686/si/firefox-60.0.tar.bz2";
       locale = "si";
       arch = "linux-i686";
-      sha512 = "80e0e8c1ee6483a5b70140e4a6c0eb694f24dbce0a638700866ea8759063bba3f42c33ffaf465c7e8266fc764fe2983a2d6b098356dc6f4420eff9089c22331a";
+      sha512 = "4b480cec371499a48f01455a908b1acc90525b8f92a7cc0e0a4dbb7f81daac6ee60b96ef2c8439dd3e8b38d721317b07928afd59ac329ec80575e10d16579f67";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/sk/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-i686/sk/firefox-60.0.tar.bz2";
       locale = "sk";
       arch = "linux-i686";
-      sha512 = "9aec4b3085ac757137a8ead6829bee1ae26cc02a494f60a3aa44daa56f5cbe1201c7588a60682b3bdccccad75782bade43d092352c015213e5f16212f9fb2800";
+      sha512 = "415a8231ef4303fabe66b9e4f3e34ec8fbabd1d56feb5a2f7e9c63dd30907786255992f56ce340609fdfccec6eb88583c00473fdc52245456aa16078cfe6a834";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/sl/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-i686/sl/firefox-60.0.tar.bz2";
       locale = "sl";
       arch = "linux-i686";
-      sha512 = "2dc5d855eaedd125f8a3d828d85bc12ae47123f2f4be2bbf1e262c678cbd2607ee48c61e6fa70402da5e7ad549e2580e7d9a0a696e89ac5fee1da2154443f289";
+      sha512 = "e3f4374669d2ef1cb029695ac2945147f7a47d6b97a711f99a0e622aa6919dc30505f19879018f6df4c1f3086937c5317ad85945770ff3cfd7d86e89bbd22886";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/son/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-i686/son/firefox-60.0.tar.bz2";
       locale = "son";
       arch = "linux-i686";
-      sha512 = "7a1c4f86a4e459e80725b250b3a54be7c78397bd909c7a2081723571378578b7e672af380305ff9dae714e911fb209833833fd7cb3fb8a850f9d6a3b14f41cba";
+      sha512 = "0ca8209e1ca51d4529b6dc20b7c7d15f8e5307a4b4b292a6c6eaabf4919d91c35a6d35694031eac5889ea17ef691f34683210de3590c9bc768bcc5f444b6a0c4";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/sq/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-i686/sq/firefox-60.0.tar.bz2";
       locale = "sq";
       arch = "linux-i686";
-      sha512 = "45d20dcd82c6648c0429dfa0009aaf2d807efb7e9468ded4491a04dced5957d3bc9c1491c09c7f85ea63991283e2c38b2c906ebb338dffba1d0db4748e56246a";
+      sha512 = "27613a71060a22665d6332b2f8e5e3c91c98a8cd3207b94a67ebfd08b8604c7bad834e4cc2bfab10f9f0897696925e19addee42eb45eaca9b358fe15136c09a9";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/sr/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-i686/sr/firefox-60.0.tar.bz2";
       locale = "sr";
       arch = "linux-i686";
-      sha512 = "799f0548e18cbf77a6daf6ec0f9c12e904fde3235e9d8a5564e06df45bc037f4a04de0f5bfb9e74f9fa7053e8fc7b39b5c55b03dba5e78cf4e1400c033077f5f";
+      sha512 = "6234e96196069614a25ddf751f820f5787e77f75d0adf91c9a479749471c75cef114d4a3816b4d63227344c4ae9915756c81e862aca3282d467f86fd42faee99";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/sv-SE/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-i686/sv-SE/firefox-60.0.tar.bz2";
       locale = "sv-SE";
       arch = "linux-i686";
-      sha512 = "c2c693ab974b4c26a0c786955cff61f3b0689bd272b00fe4cbdbd7701a57481724f0ebf8aeb8427c7b50f4419875e9ca10d79c534c0e3ca8db132bcf6436e013";
+      sha512 = "3b5f8c85ffd4037aea0f8de95c77ac29f227e6ea02cbd8fdebbfc50ef6a03c6b7d31f695c7e0eb54dbd4d1d5471edf0c4793bf39e78b846c287f35ffc5a01aab";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/ta/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-i686/ta/firefox-60.0.tar.bz2";
       locale = "ta";
       arch = "linux-i686";
-      sha512 = "0771a9cbb44102291142fab34dbfd704461da5c6c013b48c1ee22cd7cc92ebfaad7ccac5b87bf764489d66e8cec2e4056e9fcd62c3ddb734753a48022f7f8914";
+      sha512 = "e965954447ea2b47b949b74c06857c75b31edf724987559fc13ec25c4eb2766811da9929f0430297d4c7354ffe8bc9ee2b8ef7274bc47d1a07af3ed3f0ceaf61";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/te/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-i686/te/firefox-60.0.tar.bz2";
       locale = "te";
       arch = "linux-i686";
-      sha512 = "699d8d52cc8e1bac02fbca3caa6504a028100d76fc9fe2492dfe214c5a96f0d3425bf541d2873133dd00e501dcc9d27894e613c44fc3cf9adedc0e08104524f6";
+      sha512 = "05b795c817f46fdbb1b15055203f4622fc231d5344993d96db81c98466724b72e99f8293cab8d560e9c297f7b4197e3cc0449e037096455c480020817aa24a0f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/th/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-i686/th/firefox-60.0.tar.bz2";
       locale = "th";
       arch = "linux-i686";
-      sha512 = "13cf7e1740ab2f508983617ce27f991db8049070061cb4d31299b372a801abf7292edd185fafc73dd58c46d009c32a6b5103a77834b2ddb0cc420cd98f747e9b";
+      sha512 = "6e10c20163819045bafd07216f7d29ef4d737bf60c9f38e4981871fda4c19112b19aa628ede00f45b71c7b549b2611c2cf74044a1d153fb9fab9b9014184bf84";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/tr/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-i686/tr/firefox-60.0.tar.bz2";
       locale = "tr";
       arch = "linux-i686";
-      sha512 = "a3439d157762eddcc1c09c4b687028b97004ac49144a3f26ea2a05a8eccc0a8b04659147ae7e8972ac16299d262586cc1d0c1bc69e5a309a0c82086cf61202ac";
+      sha512 = "1ed74dc5b302c70c9d980f6c19dcda00b399879034f6d49368b0a859434d5ba3097360e15de8d47b136dccd3567d60dbef1f0ac20cdcea3ca8757b2dc189a19c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/uk/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-i686/uk/firefox-60.0.tar.bz2";
       locale = "uk";
       arch = "linux-i686";
-      sha512 = "7767a4549265131e29a142c6f2a914b8699f2042a9da5831192668300acc564fbfe94009b3ea33a7bedc469a7585029685fa91dc752b46d7d7be5425776bc7c4";
+      sha512 = "be15de40cc87999b145178e5009e144aa1a68d6c7c422dd3f7c1669bdf8c200787ffe650670d29b2ab8230dd25a3ece9bdf9dc5b93331da96df6f28bb2388b1a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/ur/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-i686/ur/firefox-60.0.tar.bz2";
       locale = "ur";
       arch = "linux-i686";
-      sha512 = "b85f5c3067cf897079ff1de7c0de84756fb2224f703ec6825108efff52bed3a6e780b8410a58ed756e926a6033cd10c888743642f997b9c9d7390096c3b5e7c9";
+      sha512 = "c4d853ce32374513df113fc95e28c26c2dfdd4e7d2f4771cd23fbad78f29068cd003fd2aad657ea582a5229ee217d3c05c2acc0ee248c10b1630c0bd8b521625";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/uz/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-i686/uz/firefox-60.0.tar.bz2";
       locale = "uz";
       arch = "linux-i686";
-      sha512 = "3febb16ceabdcf7395196f1aef6c5ecc6a09f45e63485207816e95dd5ec0ac9729c3644b8afa75d68241ad203459239bd7f5693c6d8aa7e59afb1a1f661015ff";
+      sha512 = "9912cef59e3f2457126a6623f0e3913248335b29d5c5412b6ddd451aa32e455cf3d4a752f975c6b06a9a4dcbb2511cff6cb918b0bf3564c8e8c37a06f79e862d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/vi/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-i686/vi/firefox-60.0.tar.bz2";
       locale = "vi";
       arch = "linux-i686";
-      sha512 = "d117eca28279af133e2dde8dc25d3f7c4dcdc97f683f4570aa9cb8965200dfd8799271958ed6113b9bee488fc3e17d772b1aa4a4d657a49f72914890752af13c";
+      sha512 = "5ae557d429613cc9bb3fb4220d3242fad8b7b5a625b01bbe662283b78153b9d96f4d27907e63488500a766606196d8292b61614d007c6c5a4391dc8f88332e5d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/xh/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-i686/xh/firefox-60.0.tar.bz2";
       locale = "xh";
       arch = "linux-i686";
-      sha512 = "4ce7c4627a7db67ebe85ddb134cadca8cc4ecd3a01d8895dcb8b691f85e01911818404cc7243b4f5e1df0133a204a1ce5289168cae0b7e1b0b2674a659fc6684";
+      sha512 = "4fac1b8bce8770812566dd05460d7d580f2fca9b4b006c5aefe50ecb8e24d104f725c0fe952e59492d438e5c98e683bf4b55df12a18748eb3daffa59aa4de35e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/zh-CN/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-i686/zh-CN/firefox-60.0.tar.bz2";
       locale = "zh-CN";
       arch = "linux-i686";
-      sha512 = "d0a73f00af50d70b055a1b2e89dc942b56d8d6e3a297407060a88a994dfcbd52fd60ec221e3afd9b6036500d27d861415ab0b25ceb443210321823e4e3b189e2";
+      sha512 = "0f1adcc43685a0da2e855ad8b679270be7131343f92c4f3f19048049696ce75b03e5a8b508a0d025b1348a66f18e65ccbb7def6382d3bb51152d7b9389f53656";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/zh-TW/firefox-58.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/60.0/linux-i686/zh-TW/firefox-60.0.tar.bz2";
       locale = "zh-TW";
       arch = "linux-i686";
-      sha512 = "a855e8de90b5b26e8d4fed05b48c5efd6626c9d793f30c1f0b71d9b062a4e253b8c417a44e581ea8edd7babf5bd536b4384dd494dbb2fa36d7f585e555cdd655";
+      sha512 = "9a53a37523125ae165f2fd71957f748841302918812b0dea1b1b088eb56906524ddb0a3dc27bbfe7e0b9e7adec2823d5656561eed662c9239473fa21feaf8184";
     }
     ];
 }
diff --git a/pkgs/applications/networking/browsers/firefox-bin/update.nix b/pkgs/applications/networking/browsers/firefox-bin/update.nix
index ac3f7d1380c..df928f88c38 100644
--- a/pkgs/applications/networking/browsers/firefox-bin/update.nix
+++ b/pkgs/applications/networking/browsers/firefox-bin/update.nix
@@ -37,7 +37,7 @@ in writeScript "update-${name}" ''
   #    versions or removes release versions if we are looking for beta
   #    versions
   # - this line pick up latest release
-  version=`xidel -q $url --extract "//a" | \
+  version=`xidel -s $url --extract "//a" | \
            sed s"/.$//" | \
            grep "^[0-9]" | \
            sort --version-sort | \
diff --git a/pkgs/applications/networking/browsers/firefox/common.nix b/pkgs/applications/networking/browsers/firefox/common.nix
index a70b554c850..5b88a61afce 100644
--- a/pkgs/applications/networking/browsers/firefox/common.nix
+++ b/pkgs/applications/networking/browsers/firefox/common.nix
@@ -213,6 +213,7 @@ stdenv.mkDerivation (rec {
   ++ extraMakeFlags;
 
   enableParallelBuilding = true;
+  doCheck = false; # "--disable-tests" above
 
   preInstall = ''
     # The following is needed for startup cache creation on grsecurity kernels.
@@ -221,7 +222,7 @@ stdenv.mkDerivation (rec {
 
   postInstall = ''
     # For grsecurity kernels
-    paxmark m $out/lib/firefox-[0-9]*/{firefox,firefox-bin,plugin-container}
+    paxmark m $out/lib/firefox*/{firefox,firefox-bin,plugin-container}
 
     # Remove SDK cruft. FIXME: move to a separate output?
     rm -rf $out/share/idl $out/include $out/lib/firefox-devel-*
@@ -233,8 +234,8 @@ stdenv.mkDerivation (rec {
   postFixup = ''
     # Fix notifications. LibXUL uses dlopen for this, unfortunately; see #18712.
     patchelf --set-rpath "${lib.getLib libnotify
-      }/lib:$(patchelf --print-rpath "$out"/lib/firefox-*/libxul.so)" \
-        "$out"/lib/firefox-*/libxul.so
+      }/lib:$(patchelf --print-rpath "$out"/lib/firefox*/libxul.so)" \
+        "$out"/lib/firefox*/libxul.so
   '';
 
   doInstallCheck = true;
diff --git a/pkgs/applications/networking/browsers/firefox/fix-pa-context-connect-retval.patch b/pkgs/applications/networking/browsers/firefox/fix-pa-context-connect-retval.patch
new file mode 100644
index 00000000000..1c3c3294894
--- /dev/null
+++ b/pkgs/applications/networking/browsers/firefox/fix-pa-context-connect-retval.patch
@@ -0,0 +1,26 @@
+Yep, it's a "return code was ignored" bug.
+diff --git a/media/libcubeb/src/cubeb_pulse.c b/media/libcubeb/src/cubeb_pulse.c
+index aaaaaaaaaaa..bbbbbbbbbbb 100644
+--- a/media/libcubeb/src/cubeb_pulse.c
++++ b/media/libcubeb/src/cubeb_pulse.c
+@@ -473,6 +473,8 @@
+ static int
+ pulse_context_init(cubeb * ctx)
+ {
++  int r;
++
+   if (ctx->context) {
+     assert(ctx->error == 1);
+     pulse_context_destroy(ctx);
+@@ -486,9 +488,9 @@
+   WRAP(pa_context_set_state_callback)(ctx->context, context_state_callback, ctx);
+ 
+   WRAP(pa_threaded_mainloop_lock)(ctx->mainloop);
+-  WRAP(pa_context_connect)(ctx->context, NULL, 0, NULL);
++  r = WRAP(pa_context_connect)(ctx->context, NULL, 0, NULL);
+ 
+-  if (wait_until_context_ready(ctx) != 0) {
++  if (r < 0 || wait_until_context_ready(ctx) != 0) {
+     WRAP(pa_threaded_mainloop_unlock)(ctx->mainloop);
+     pulse_context_destroy(ctx);
+     ctx->context = NULL;
diff --git a/pkgs/applications/networking/browsers/firefox/no-buildconfig.patch b/pkgs/applications/networking/browsers/firefox/no-buildconfig.patch
index 83f9a1329be..de278152f97 100644
--- a/pkgs/applications/networking/browsers/firefox/no-buildconfig.patch
+++ b/pkgs/applications/networking/browsers/firefox/no-buildconfig.patch
@@ -1,7 +1,7 @@
 diff -ru -x '*~' firefox-55.0.3-orig/docshell/base/nsAboutRedirector.cpp firefox-55.0.3/docshell/base/nsAboutRedirector.cpp
 --- firefox-55.0.3-orig/docshell/base/nsAboutRedirector.cpp	2017-07-31 18:20:51.000000000 +0200
 +++ firefox-55.0.3/docshell/base/nsAboutRedirector.cpp	2017-09-26 22:02:00.814151731 +0200
-@@ -40,10 +40,6 @@
+@@ -36,10 +36,6 @@
      nsIAboutModule::ALLOW_SCRIPT
    },
    {
@@ -20,6 +20,6 @@ diff -ru -x '*~' firefox-55.0.3-orig/toolkit/content/jar.mn firefox-55.0.3/toolk
     content/global/browser-child.js
     content/global/browser-content.js
 -*   content/global/buildconfig.html
+    content/global/buildconfig.css
     content/global/contentAreaUtils.js
- #ifndef MOZ_FENNEC
-    content/global/customizeToolbar.css
+    content/global/datepicker.xhtml
diff --git a/pkgs/applications/networking/browsers/firefox/packages.nix b/pkgs/applications/networking/browsers/firefox/packages.nix
index 44f4b014d70..33bdb62929e 100644
--- a/pkgs/applications/networking/browsers/firefox/packages.nix
+++ b/pkgs/applications/networking/browsers/firefox/packages.nix
@@ -1,34 +1,32 @@
 { lib, callPackage, stdenv, overrideCC, gcc5, fetchurl, fetchFromGitHub, fetchpatch }:
 
-let common = opts: callPackage (import ./common.nix opts); in
+let
+
+  common = opts: callPackage (import ./common.nix opts);
+
+  nixpkgsPatches = [
+    ./env_var_for_system_dir.patch
+
+    # this one is actually an omnipresent bug
+    # https://bugzilla.mozilla.org/show_bug.cgi?id=1444519
+    ./fix-pa-context-connect-retval.patch
+  ];
+
+in
 
 rec {
 
   firefox = common rec {
     pname = "firefox";
-    version = "58.0.2";
+    version = "60.0";
     src = fetchurl {
       url = "mirror://mozilla/firefox/releases/${version}/source/firefox-${version}.source.tar.xz";
-      sha512 = "ff748780492fc66b3e44c7e7641f16206e4c09514224c62d37efac2c59877bdf428a3670bfb50407166d7b505d4e2ea020626fd776b87f6abb6bc5d2e54c773f";
+      sha512 = "3ya0rq50cwryza7d56mm3g2h7kayh17vry565qvaq7wsi9gcd4cbjk4z7a1s4bdka0xsxg2l7v0zkaj666nbllky2462svbi8imdhb3";
     };
 
-    patches = [
+    patches = nixpkgsPatches ++ [
       ./no-buildconfig.patch
-      ./env_var_for_system_dir.patch
-
-      # https://bugzilla.mozilla.org/show_bug.cgi?id=1430274
-      # Scheduled for firefox 59
-      (fetchpatch {
-        url = "https://bug1430274.bmoattachments.org/attachment.cgi?id=8943426";
-        sha256 = "12yfss3k61yilrb337dh2rffy5hh83d2f16gqrf5i56r9c33f7hf";
-      })
-
-      # https://bugzilla.mozilla.org/show_bug.cgi?id=1388981
-      # Should have been fixed in firefox 57
-    ] ++ lib.optional stdenv.isi686 (fetchpatch {
-      url = "https://hg.mozilla.org/mozilla-central/raw-rev/15517c5a5d37";
-      sha256 = "1ba487p3hk4w2w7qqfxgv1y57vp86b8g3xhav2j20qd3j3phbbn7";
-    });
+    ];
 
     meta = {
       description = "A web browser built from Firefox source tree";
@@ -41,16 +39,36 @@ rec {
     };
   } {};
 
-  firefox-esr = common rec {
+  firefox-esr-52 = common rec {
+    pname = "firefox-esr";
+    version = "52.8.0esr";
+    src = fetchurl {
+      url = "mirror://mozilla/firefox/releases/${version}/source/firefox-${version}.source.tar.xz";
+      sha512 = "4136fa582e4ffd754d46a79bdb562bd12da4d013d87dfe40fa92addf377e95f5f642993c8b783edd5290089619beeb5a907a0810b68b8808884f087986977df1";
+    };
+
+    patches = nixpkgsPatches;
+
+    meta = firefox.meta // {
+      description = "A web browser built from Firefox Extended Support Release source tree";
+    };
+    updateScript = callPackage ./update.nix {
+      attrPath = "firefox-esr-unwrapped";
+      versionSuffix = "esr";
+    };
+  } {};
+
+  firefox-esr-60 = common rec {
     pname = "firefox-esr";
-    version = "52.6.0esr";
+    version = "60.0esr";
     src = fetchurl {
       url = "mirror://mozilla/firefox/releases/${version}/source/firefox-${version}.source.tar.xz";
-      sha512 = "cf583df34272b7ff8841c3b093ca0819118f9c36d23c6f9b3135db298e84ca022934bcd189add6473922b199b47330c0ecf14c303ab4177c03dbf26e64476fa4";
+      sha512 = "20whvk4spdi4yb3alb492c1jca60p4p70mgj2bypa7r8fgjqn57pyh9rcvnci61asar0zvmlihq46ywzrijm1804iw8c4wmlv7qy8dv";
     };
 
-    patches =
-      [ ./env_var_for_system_dir.patch ];
+    patches = nixpkgsPatches ++ [
+      ./no-buildconfig.patch
+    ];
 
     meta = firefox.meta // {
       description = "A web browser built from Firefox Extended Support Release source tree";
@@ -93,15 +111,18 @@ rec {
         It will use your default Firefox profile if you're not careful
         even! Be careful!
 
-        It will clash with firefox binary if you install both. But its
-        not a problem since you should run browsers in separate
-        users/VMs anyway.
+        It will clash with firefox binary if you install both. But it
+        should not be a problem because you should run browsers in
+        separate users/VMs anyway.
 
         Create new profile by starting it as
 
         $ firefox -ProfileManager
 
         and then configure it to use your tor instance.
+
+        Or just use `tor-browser-bundle` package that packs this
+        `tor-browser` back into a sanely-built bundle.
       '';
       homepage = https://www.torproject.org/projects/torbrowser.html;
       platforms = lib.platforms.linux;
@@ -124,8 +145,7 @@ in rec {
       sha256 = "169mjkr0bp80yv9nzza7kay7y2k03lpnx71h4ybcv9ygxgzdgax5";
     };
 
-    patches =
-      [ ./env_var_for_system_dir.patch ];
+    patches = nixpkgsPatches;
   } // commonAttrs) {};
 
   tor-browser-7-5 = common (rec {
@@ -137,13 +157,29 @@ in rec {
     src = fetchFromGitHub {
       owner = "SLNOS";
       repo  = "tor-browser";
-      # branch "tor-browser-52.6.2esr-7.5-2-slnos";
-      rev   = "cf1a504aaa26af962ae909a3811c0038db2d2eec";
-      sha256 = "0llbk7skh1n7yj137gv7rnxfasxsnvfjp4ss7h1fbdnw19yba115";
+      # branch "tor-browser-52.7.3esr-7.5-1-slnos";
+      rev   = "62e77aa47d90c10cfc9c6f3b7358a6bdc3167182";
+      sha256 = "09pyqicv6z0h4lmjdybx56gj3l28gkl0bbpk0pnmlzcyr9vng7zj";
+    };
+
+    patches = nixpkgsPatches;
+  } // commonAttrs) {};
+
+  tor-browser-8-0 = common (rec {
+    pname = "tor-browser";
+    version = "8.0.1";
+    isTorBrowserLike = true;
+
+    # FIXME: fetchFromGitHub is not ideal, unpacked source is >900Mb
+    src = fetchFromGitHub {
+      owner = "SLNOS";
+      repo  = "tor-browser";
+      # branch "tor-browser-52.7.0esr-8.0-1-slnos";
+      rev   = "58314ccb043882e830ee9a21c37a92d6e0d34e94";
+      sha256 = "09gb7chw2kly53b599xwpi75azj00957rnxly9fqv8zi3n5k2pdb";
     };
 
-    patches =
-      [ ./env_var_for_system_dir.patch ];
+    patches = nixpkgsPatches;
   } // commonAttrs) {};
 
   tor-browser = tor-browser-7-5;
diff --git a/pkgs/applications/networking/browsers/firefox/update.nix b/pkgs/applications/networking/browsers/firefox/update.nix
index 0f465122806..8cc03cf8212 100644
--- a/pkgs/applications/networking/browsers/firefox/update.nix
+++ b/pkgs/applications/networking/browsers/firefox/update.nix
@@ -22,13 +22,11 @@ writeScript "update-${attrPath}" ''
   #  - removes trailing slash
   #  - sorts everything with semver in mind
   #  - picks up latest release
-  version=`xidel -q $url --extract "//a" | \
+  version=`xidel -s $url --extract "//a" | \
            grep "^[0-9.]*${versionSuffix}/$" | \
            sed s/[/]$// | \
            sort --version-sort | \
            tail -n 1`
 
-  shasum=`curl --silent $url$version/SHA512SUMS | grep 'source\.tar\.xz' | cut -d ' ' -f 1`
-
-  update-source-version ${attrPath} "$version" "$shasum"
+  update-source-version ${attrPath} "$version"
 ''
diff --git a/pkgs/applications/networking/browsers/firefox/wrapper.nix b/pkgs/applications/networking/browsers/firefox/wrapper.nix
index 8d08eceb169..5b2ede611d0 100644
--- a/pkgs/applications/networking/browsers/firefox/wrapper.nix
+++ b/pkgs/applications/networking/browsers/firefox/wrapper.nix
@@ -2,13 +2,12 @@
 
 ## various stuff that can be plugged in
 , flashplayer, hal-flash
-, MPlayerPlugin, ffmpeg, gst_all, xorg, libpulseaudio, libcanberra-gtk2
+, MPlayerPlugin, ffmpeg, xorg, libpulseaudio, libcanberra-gtk2
 , jrePlugin, icedtea_web
 , trezor-bridge, bluejeans, djview4, adobe-reader
 , google_talk_plugin, fribid, gnome3/*.gnome-shell*/
 , esteidfirefoxplugin
-, vlc_npapi
-, browserpass, chrome-gnome-shell
+, browserpass, chrome-gnome-shell, uget-integrator
 , libudev
 , kerberos
 }:
@@ -30,7 +29,7 @@ let
     }:
 
     let
-      cfg = stdenv.lib.attrByPath [ browserName ] {} config;
+      cfg = config.${browserName} or {};
       enableAdobeFlash = cfg.enableAdobeFlash or false;
       ffmpegSupport = browser.ffmpegSupport or false;
       gssSupport = browser.gssSupport or false;
@@ -57,22 +56,21 @@ let
           ++ lib.optional (cfg.enableBluejeans or false) bluejeans
           ++ lib.optional (cfg.enableAdobeReader or false) adobe-reader
           ++ lib.optional (cfg.enableEsteid or false) esteidfirefoxplugin
-          ++ lib.optional (cfg.enableVLC or false) vlc_npapi
           ++ extraPlugins
         );
       nativeMessagingHosts =
         ([ ]
           ++ lib.optional (cfg.enableBrowserpass or false) browserpass
           ++ lib.optional (cfg.enableGnomeExtensions or false) chrome-gnome-shell
+          ++ lib.optional (cfg.enableUgetIntegrator or false) uget-integrator
           ++ extraNativeMessagingHosts
         );
-      libs = (if ffmpegSupport then [ ffmpeg ] else with gst_all; [ gstreamer gst-plugins-base ])
+      libs = lib.optional ffmpegSupport ffmpeg
             ++ lib.optional gssSupport kerberos
             ++ lib.optionals (cfg.enableQuakeLive or false)
             (with xorg; [ stdenv.cc libX11 libXxf86dga libXxf86vm libXext libXt alsaLib zlib libudev ])
             ++ lib.optional (enableAdobeFlash && (cfg.enableAdobeFlashDRM or false)) hal-flash
             ++ lib.optional (config.pulseaudio or true) libpulseaudio;
-      gst-plugins = with gst_all; [ gst-plugins-base gst-plugins-good gst-plugins-bad gst-plugins-ugly gst-ffmpeg ];
       gtk_modules = [ libcanberra-gtk2 ];
 
     in stdenv.mkDerivation {
@@ -98,7 +96,6 @@ let
       };
 
       buildInputs = [makeWrapper]
-        ++ lib.optional (!ffmpegSupport) gst-plugins
         ++ lib.optional (browser ? gtk3) browser.gtk3;
 
       buildCommand = ''
@@ -118,9 +115,7 @@ let
             --suffix PATH ':' "$out/bin" \
             --set MOZ_APP_LAUNCHER "${browserName}${nameSuffix}" \
             --set MOZ_SYSTEM_DIR "$out/lib/mozilla" \
-            ${lib.optionalString (!ffmpegSupport)
-                ''--prefix GST_PLUGIN_SYSTEM_PATH : "$GST_PLUGIN_SYSTEM_PATH"''
-            + lib.optionalString (browser ? gtk3)
+            ${lib.optionalString (browser ? gtk3)
                 ''--prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH" \
                   --suffix XDG_DATA_DIRS : '${gnome3.defaultIconTheme}/share'
                 ''
@@ -130,9 +125,13 @@ let
             mkdir -p "$out/share"
             ln -s "${browser}/share/icons" "$out/share/icons"
         else
-            mkdir -p "$out/share/icons/hicolor/128x128/apps"
-            ln -s "${browser}/lib/${browserName}-"*"/browser/icons/mozicon128.png" \
-                "$out/share/icons/hicolor/128x128/apps/${browserName}.png"
+            for res in 16 32 48 64 128; do
+            mkdir -p "$out/share/icons/hicolor/''${res}x''${res}/apps"
+            icon=( "${browser}/lib/"*"/browser/chrome/icons/default/default''${res}.png" )
+              if [ -e "$icon" ]; then ln -s "$icon" \
+                "$out/share/icons/hicolor/''${res}x''${res}/apps/${browserName}.png"
+              fi
+            done
         fi
 
         install -D -t $out/share/applications $desktopItem/share/applications/*
diff --git a/pkgs/applications/networking/browsers/google-chrome/default.nix b/pkgs/applications/networking/browsers/google-chrome/default.nix
index eaa05726f1c..d2d26190ce0 100644
--- a/pkgs/applications/networking/browsers/google-chrome/default.nix
+++ b/pkgs/applications/networking/browsers/google-chrome/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, patchelf, bash
+{ stdenv, fetchurl, patchelf, makeWrapper
 
 # Linked dynamic libraries.
 , glib, fontconfig, freetype, pango, cairo, libX11, libXi, atk, gconf, nss, nspr
@@ -72,7 +72,7 @@ in stdenv.mkDerivation rec {
   src = chromium.upstream-info.binary;
 
   buildInputs = [
-    patchelf
+    patchelf makeWrapper
 
     # needed for GSETTINGS_SCHEMAS_PATH
     gsettings-desktop-schemas glib gtk
@@ -120,14 +120,11 @@ in stdenv.mkDerivation rec {
       mv "$icon_file" "$logo_output_path/google-$appname.png"
     done
 
-    cat > $exe << EOF
-    #!${bash}/bin/sh
-    export LD_LIBRARY_PATH=$rpath\''${LD_LIBRARY_PATH:+:\$LD_LIBRARY_PATH}
-    export PATH=$binpath\''${PATH:+:\$PATH}
-    export XDG_DATA_DIRS=$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH\''${XDG_DATA_DIRS:+:}\$XDG_DATA_DIRS
-    $out/share/google/$appname/google-$appname ${commandLineArgs} "\$@"
-    EOF
-    chmod +x $exe
+    makeWrapper "$out/share/google/$appname/google-$appname" "$exe" \
+      --prefix LD_LIBRARY_PATH : "$rpath" \
+      --prefix PATH            : "$binpath" \
+      --prefix XDG_DATA_DIRS   : "$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH" \
+      --add-flags ${escapeShellArg commandLineArgs}
 
     for elf in $out/share/google/$appname/{chrome,chrome-sandbox,nacl_helper}; do
       patchelf --set-rpath $rpath $elf
diff --git a/pkgs/applications/networking/browsers/links2/default.nix b/pkgs/applications/networking/browsers/links2/default.nix
index f097d748d48..bb8eb83d6bf 100644
--- a/pkgs/applications/networking/browsers/links2/default.nix
+++ b/pkgs/applications/networking/browsers/links2/default.nix
@@ -8,12 +8,12 @@
 }:
 
 stdenv.mkDerivation rec {
-  version = "2.14";
+  version = "2.16";
   name = "links2-${version}";
 
   src = fetchurl {
     url = "${meta.homepage}/download/links-${version}.tar.bz2";
-    sha256 = "1f24y83wa1vzzjq5kp857gjqdpnmf8pb29yw7fam0m8wxxw0c3gp";
+    sha256 = "0gsa2gpb1grhssl5jzpc5pa0zi21mxi8g25rh5bacl70slw31w42";
   };
 
   buildInputs = with stdenv.lib;
diff --git a/pkgs/applications/networking/browsers/luakit/default.nix b/pkgs/applications/networking/browsers/luakit/default.nix
new file mode 100644
index 00000000000..7142ba6140b
--- /dev/null
+++ b/pkgs/applications/networking/browsers/luakit/default.nix
@@ -0,0 +1,61 @@
+{stdenv, fetchFromGitHub, pkgconfig, wrapGAppsHook, makeWrapper
+,help2man, lua5, luafilesystem, luajit, sqlite
+,webkitgtk, gtk3, gst_all_1}:
+
+let
+  lualibs = [luafilesystem];
+  getPath       = lib : type : "${lib}/lib/lua/${lua5.luaversion}/?.${type};${lib}/share/lua/${lua5.luaversion}/?.${type}";
+  getLuaPath    = lib : getPath lib "lua";
+  getLuaCPath   = lib : getPath lib "so";
+  luaPath       = stdenv.lib.concatStringsSep ";" (map getLuaPath lualibs);
+  luaCPath      = stdenv.lib.concatStringsSep ";" (map getLuaCPath lualibs);
+
+in stdenv.mkDerivation rec {
+
+  name = "luakit-${version}";
+  version = "2017.08.10";
+  src = fetchFromGitHub {
+    owner = "luakit";
+    repo = "luakit";
+    rev = "${version}";
+    sha256 = "09z88b50vf2y64vj79cymknyzk3py6azv4r50jng4cw9jx2ray7r";
+  };
+
+  nativeBuildInputs = [pkgconfig help2man wrapGAppsHook makeWrapper];
+
+  buildInputs = [webkitgtk lua5 luafilesystem luajit sqlite gtk3
+    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
+                ];
+
+  postPatch =
+    #Kind of ugly seds here. There must be a better solution.
+  ''
+    patchShebangs ./build-utils
+    sed -i "2 s|require \"lib.lousy.util\"|dofile(\"./lib/lousy/util.lua\")|" ./build-utils/docgen/gen.lua;
+    sed -i "3 s|require \"lib.markdown\"|dofile(\"./lib/markdown.lua\")|" ./build-utils/docgen/gen.lua;
+    sed -i "1,2 s|require(\"lib.lousy.util\")|dofile(\"./lib/lousy/util.lua\")|" ./build-utils/find_files.lua;
+  '';
+
+  buildPhase = ''
+    make DEVELOPMENT_PATHS=0 USE_LUAJIT=1 INSTALLDIR=$out PREFIX=$out USE_GTK3=1
+  '';
+
+  installPhase = let
+    luaKitPath = "$out/share/luakit/lib/?/init.lua;$out/share/luakit/lib/?.lua";
+  in ''
+    make DEVELOPMENT_PATHS=0 INSTALLDIR=$out PREFIX=$out XDGPREFIX=$out/etc/xdg USE_GTK3=1 install
+    wrapProgram $out/bin/luakit                                         \
+      --prefix XDG_CONFIG_DIRS : "$out/etc/xdg"                         \
+      --set LUA_PATH '${luaKitPath};${luaPath};'                      \
+      --set LUA_CPATH '${luaCPath};'
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Fast, small, webkit based browser framework extensible in Lua";
+    homepage    = "http://luakit.org";
+    license     = licenses.gpl3;
+    platforms   = platforms.linux; # Only tested linux
+  };
+}
diff --git a/pkgs/applications/networking/browsers/lynx/default.nix b/pkgs/applications/networking/browsers/lynx/default.nix
index 9cad2838a39..9cdd32d2aae 100644
--- a/pkgs/applications/networking/browsers/lynx/default.nix
+++ b/pkgs/applications/networking/browsers/lynx/default.nix
@@ -9,21 +9,24 @@ assert sslSupport -> openssl != null;
 
 stdenv.mkDerivation rec {
   name = "lynx-${version}";
-  version = "2.8.9dev.16";
+  version = "2.8.9dev.17";
 
   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 = "1j0vx871ghkm7fgrafnvd2ml3ywcl8d3gyhq02fhfb851c88lc84";
+    sha256 = "1lvfsnrw5mmwrmn1m76q9mx287xwm3h5lg8sv7bcqilc0ywi2f54";
   };
 
   enableParallelBuilding = true;
 
   hardeningEnable = [ "pie" ];
 
-  configureFlags = [ "--enable-widec" ] ++ stdenv.lib.optional sslSupport "--with-ssl";
+  configureFlags = [
+    "--enable-widec"
+    "--enable-ipv6"
+  ] ++ stdenv.lib.optional sslSupport "--with-ssl";
 
   depsBuildBuild = [ buildPackages.stdenv.cc ];
   nativeBuildInputs = [ nukeReferences ]
@@ -40,7 +43,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "A text-mode web browser";
-    homepage = http://lynx.invisible-island.net/;
+    homepage = https://lynx.invisible-island.net/;
     license = licenses.gpl2Plus;
     platforms = platforms.unix;
   };
diff --git a/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer/default.nix b/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer/default.nix
index dc9c3358552..6c19b684aaa 100644
--- a/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer/default.nix
+++ b/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer/default.nix
@@ -73,25 +73,25 @@ let
 in
 stdenv.mkDerivation rec {
   name = "flashplayer-${version}";
-  version = "28.0.0.161";
+  version = "29.0.0.171";
 
   src = fetchurl {
     url =
       if debug then
-        "https://fpdownload.macromedia.com/pub/flashplayer/updaters/28/flash_player_npapi_linux_debug.${arch}.tar.gz"
+        "https://fpdownload.macromedia.com/pub/flashplayer/updaters/29/flash_player_npapi_linux_debug.${arch}.tar.gz"
       else
         "https://fpdownload.adobe.com/get/flashplayer/pdc/${version}/flash_player_npapi_linux.${arch}.tar.gz";
     sha256 =
       if debug then
         if arch == "x86_64" then
-          "0dsgq39c2d0kkdcd9j4nddqn3qiq5pvm2r67ji4m4wyv9chn518m"
+          "140galarr38lmfnd2chl2msvxizx96kdi000gbikir9xnd7bx1hc"
         else
-          "0x26qi9qr01rppji5l4nwvmrhmq6qy83dsppbb7jqjmgyvknq5jd"
+          "0wzmf12xrmyq8vqqyii932yx4nadrvkn2j9s86xcw67lb40xj5ig"
       else
         if arch == "x86_64" then
-          "1s62gx2a9q962w3gc847x2xwlzkq4dkzbmvf74x5k5c2k2l9hhg0"
+          "17c57xgs0w71p4xsjw5an7dg484769wanq3kx86ppaqw8vqhnqc3"
         else
-          "1m5pcgz2w9f3jkm3hpvysc8ap20y458xnba7j51d7h7fjy6md89x";
+          "06pjbc9050fgi2njzf9vm6py7c22i6chw852rbm8flx3cmplw23b";
   };
 
   nativeBuildInputs = [ unzip ];
diff --git a/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer/standalone.nix b/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer/standalone.nix
index 4528dd70cbd..fa9c89b442b 100644
--- a/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer/standalone.nix
+++ b/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer/standalone.nix
@@ -55,19 +55,19 @@ let
 in
 stdenv.mkDerivation rec {
   name = "flashplayer-standalone-${version}";
-  version = "28.0.0.161";
+  version = "29.0.0.171";
 
   src = fetchurl {
     url =
       if debug then
-        "https://fpdownload.macromedia.com/pub/flashplayer/updaters/28/flash_player_sa_linux_debug.x86_64.tar.gz"
+        "https://fpdownload.macromedia.com/pub/flashplayer/updaters/29/flash_player_sa_linux_debug.x86_64.tar.gz"
       else
-        "https://fpdownload.macromedia.com/pub/flashplayer/updaters/28/flash_player_sa_linux.x86_64.tar.gz";
+        "https://fpdownload.macromedia.com/pub/flashplayer/updaters/29/flash_player_sa_linux.x86_64.tar.gz";
     sha256 =
       if debug then
-        "0934vs3c51fjz9pr846wg9xn7h2qybswayfkhz0pnzcfnng2rrf1"
+        "1q2lmsb9g2cxbwxb712javmadk6vmcgkihd244394nr10isdzw67"
       else
-        "0pwi7pbfldiqiwc7yfy7psyr93679r025vjxmiybs2ap69vly4v0";
+        "0qj5qdc9k53pgqxb5jpcbgfsgavmlyzp0cpz468c4zacsvxgq502";
   };
 
   nativeBuildInputs = [ unzip ];
diff --git a/pkgs/applications/networking/browsers/mozilla-plugins/trezor/default.nix b/pkgs/applications/networking/browsers/mozilla-plugins/trezor/default.nix
index db871c0c9a5..fb6e85ccdbb 100644
--- a/pkgs/applications/networking/browsers/mozilla-plugins/trezor/default.nix
+++ b/pkgs/applications/networking/browsers/mozilla-plugins/trezor/default.nix
@@ -1,7 +1,5 @@
 { stdenv, fetchurl, dpkg, zlib }:
 
-assert stdenv.system == "x86_64-linux" || stdenv.system == "i686-linux";
-
 stdenv.mkDerivation {
   name = "TREZOR-bridge-1.0.5";
 
@@ -42,6 +40,7 @@ stdenv.mkDerivation {
       # Download URL, .deb content & hash (yikes) changed, not version.
       # New archive doesn't contain any Mozilla plugin at all.
       broken = true;
-    };
+      platforms = platforms.linux;
+   };
 
-}
\ No newline at end of file
+}
diff --git a/pkgs/applications/networking/browsers/otter/default.nix b/pkgs/applications/networking/browsers/otter/default.nix
index 93cf220e499..0a8efb3aace 100644
--- a/pkgs/applications/networking/browsers/otter/default.nix
+++ b/pkgs/applications/networking/browsers/otter/default.nix
@@ -1,7 +1,7 @@
 { stdenv, cmake, openssl, gst_all_1, fetchFromGitHub
 , qtbase, qtmultimedia, qtwebengine
-, version ? "0.9.94"
-, sourceSha ? "19mfm0f6qqkd78aa6q4nq1y9gnlasqiyk68zgqjp1i03g70h08k5"
+, version ? "0.9.96"
+, sourceSha ? "1xzfy3jjx9sskwwbk7l8hnwnjf8af62p4kjkydp0ld0j50apc39p"
 }:
 stdenv.mkDerivation {
   name = "otter-browser-${version}";
diff --git a/pkgs/applications/networking/browsers/palemoon/default.nix b/pkgs/applications/networking/browsers/palemoon/default.nix
index ae7165a867c..3f44d157660 100644
--- a/pkgs/applications/networking/browsers/palemoon/default.nix
+++ b/pkgs/applications/networking/browsers/palemoon/default.nix
@@ -5,19 +5,19 @@
 , gtk2, hunspell, icu, libevent, libjpeg, libnotify
 , libstartup_notification, libvpx, makeWrapper, libGLU_combined
 , nspr, nss, pango, perl, python, libpulseaudio, sqlite
-, unzip, xlibs, which, yasm, zip, zlib
+, unzip, xorg, which, yasm, zip, zlib
 }:
 
 stdenv.mkDerivation rec {
   name = "palemoon-${version}";
-  version = "27.7.2";
+  version = "27.9.1";
 
   src = fetchFromGitHub {
     name   = "palemoon-src";
     owner  = "MoonchildProductions";
     repo   = "Pale-Moon";
     rev    = version + "_Release";
-    sha256 = "19ki6gp6bhcvhjnclalviiyp93mqsgc22xjl0gm9x5y4sxdb5wlq";
+    sha256 = "1cjd0liy3x7iqx8g8mbwdrr0f2aiqjiaifzzkngcvx3vfmphj97k";
   };
 
   desktopItem = makeDesktopItem {
@@ -44,7 +44,7 @@ stdenv.mkDerivation rec {
     hunspell icu libevent libjpeg libnotify libstartup_notification
     libvpx makeWrapper libGLU_combined nspr nss pango perl pkgconfig python
     libpulseaudio sqlite unzip which yasm zip zlib
-  ] ++ (with xlibs; [
+  ] ++ (with xorg; [
     libX11 libXext libXft libXi libXrender libXScrnSaver
     libXt pixman scrnsaverproto xextproto
   ]);
diff --git a/pkgs/applications/networking/browsers/qutebrowser/default.nix b/pkgs/applications/networking/browsers/qutebrowser/default.nix
index 2f9170eff87..0cebdd62140 100644
--- a/pkgs/applications/networking/browsers/qutebrowser/default.nix
+++ b/pkgs/applications/networking/browsers/qutebrowser/default.nix
@@ -29,13 +29,13 @@ let
 in python3Packages.buildPythonApplication rec {
   name = "qutebrowser-${version}${versionPostfix}";
   namePrefix = "";
-  version = "1.1.1";
+  version = "1.3.0";
   versionPostfix = "";
 
   # the release tarballs are different from the git checkout!
   src = fetchurl {
     url = "https://github.com/qutebrowser/qutebrowser/releases/download/v${version}/${name}.tar.gz";
-    sha256 = "09fa77rg1yrl8cksavxmgm9z2246s4d8wjbkl5jm1gsam345f7mz";
+    sha256 = "159h669x60pfla71zx28wnrik8rvsrw5i8kbd3xccynk6klm3kw3";
   };
 
   # Needs tox
diff --git a/pkgs/applications/networking/browsers/tor-browser-bundle-bin/default.nix b/pkgs/applications/networking/browsers/tor-browser-bundle-bin/default.nix
index 299ec43a8b9..97b719c1471 100644
--- a/pkgs/applications/networking/browsers/tor-browser-bundle-bin/default.nix
+++ b/pkgs/applications/networking/browsers/tor-browser-bundle-bin/default.nix
@@ -98,7 +98,7 @@ let
   fteLibPath = makeLibraryPath [ stdenv.cc.cc gmp ];
 
   # Upstream source
-  version = "7.5";
+  version = "7.5.4";
 
   lang = "en-US";
 
@@ -108,7 +108,7 @@ let
         "https://github.com/TheTorProject/gettorbrowser/releases/download/v${version}/tor-browser-linux64-${version}_${lang}.tar.xz"
         "https://dist.torproject.org/torbrowser/${version}/tor-browser-linux64-${version}_${lang}.tar.xz"
       ];
-      sha256 = "1ia8qv5hj7zrrli5d9qf65s3rlrls0whrx3q96lw63x2gn05nwv7";
+      sha256 = "1d5q2vc7kyd2wizl4551yf54rcagh3y2xf1lzvrswxq4kasii3h9";
     };
 
     "i686-linux" = fetchurl {
@@ -116,7 +116,7 @@ let
         "https://github.com/TheTorProject/gettorbrowser/releases/download/v${version}/tor-browser-linux32-${version}_${lang}.tar.xz"
         "https://dist.torproject.org/torbrowser/${version}/tor-browser-linux32-${version}_${lang}.tar.xz"
       ];
-      sha256 = "1sw1n7jsagyl5cjs265x3k9jzh0j0yh767ixcy17vif5f9dfyzak";
+      sha256 = "18v7ykv23gsylvn9mlkp5547yz3y833i9h126r7195wsqdshizdj";
     };
   };
 in
@@ -340,7 +340,7 @@ stdenv.mkDerivation rec {
       \
       TMPDIR="\''${TMPDIR:-/tmp}" \
       HOME="\$HOME" \
-      XAUTHORITY="\$XAUTHORITY" \
+      XAUTHORITY="\''${XAUTHORITY:-}" \
       DISPLAY="\$DISPLAY" \
       DBUS_SESSION_BUS_ADDRESS="\$DBUS_SESSION_BUS_ADDRESS" \
       \
diff --git a/pkgs/applications/networking/c14/default.nix b/pkgs/applications/networking/c14/default.nix
index 33a1e8a5c08..242abc2ece7 100644
--- a/pkgs/applications/networking/c14/default.nix
+++ b/pkgs/applications/networking/c14/default.nix
@@ -1,17 +1,16 @@
 { stdenv, buildGoPackage, fetchFromGitHub }:
 
 buildGoPackage rec {
-  name = "c14-cli-unstable-${version}";
-  version = "2017-05-15";
-  rev = "97f437ef5133f73edd551c883db3076c76cb1f6b";
+  name = "c14-cli-${version}";
+  version = "0.3";
 
   goPackagePath = "github.com/online-net/c14-cli";
 
   src = fetchFromGitHub {
     owner = "online-net";
     repo = "c14-cli";
-    inherit rev;
-    sha256 = "1b44bh0zhh6rhw4d3nprnnxhjgaskl9kzp2cvwwyli5svhjxrfdj";
+    rev = "${version}";
+    sha256 = "0b1piviy6vvdbak8y8bc24rk3c1fi67vv3352pmnzvrhsar2r5yf";
   };
 
   goDeps = ./deps.nix;
diff --git a/pkgs/applications/networking/cluster/click/default.nix b/pkgs/applications/networking/cluster/click/default.nix
new file mode 100644
index 00000000000..7fd4cd9fa82
--- /dev/null
+++ b/pkgs/applications/networking/cluster/click/default.nix
@@ -0,0 +1,28 @@
+{ darwin, fetchFromGitHub, rustPlatform, stdenv }:
+
+with rustPlatform;
+
+buildRustPackage rec {
+  name = "click-${version}";
+  version = "0.3.1";
+  rev = "b5dfb4a8f8344330a098cb61523695dfe0fd296a";
+
+  src = fetchFromGitHub {
+    owner = "databricks";
+    repo = "click";
+    sha256 = "0a2hq4hcxkkx7gs5dv7sr3j5jy2dby4r6y090z7zl2xy5wydr7bi";
+    inherit rev;
+  };
+
+  cargoSha256 = "03vgbkv9xsnx44vivbbhjgxv9drp0yjnimgy6hwm32x74r00k3hj";
+
+  buildInputs = stdenv.lib.optionals stdenv.isDarwin [ darwin.apple_sdk.frameworks.Security ];
+
+  meta = with stdenv.lib; {
+    description = ''The "Command Line Interactive Controller for Kubernetes"'';
+    homepage = https://github.com/databricks/click;
+    license = [ licenses.asl20 ];
+    maintainers = [ maintainers.mbode ];
+    platforms = [ "x86_64-linux" "x86_64-darwin" ];
+  };
+}
diff --git a/pkgs/applications/networking/cluster/cni/default.nix b/pkgs/applications/networking/cluster/cni/default.nix
index a7205f1bc7a..0f232772f07 100644
--- a/pkgs/applications/networking/cluster/cni/default.nix
+++ b/pkgs/applications/networking/cluster/cni/default.nix
@@ -2,28 +2,25 @@
 
 stdenv.mkDerivation rec {
   name = "cni-${version}";
-  version = "0.5.2";
+  version = "0.6.0";
 
   src = fetchFromGitHub {
     owner = "containernetworking";
     repo = "cni";
     rev = "v${version}";
-    sha256 = "0n2sc5xf1h0i54am80kj7imrvawddn0kxvgi65w0194dpmyrg5al";
+    sha256 = "00ajs2r5r2z3l0vqwxrcwhjfc9px12qbcv5vnvs2mdipvvls1y2y";
   };
 
   buildInputs = [ go ];
 
-  outputs = ["out" "plugins"];
-
   buildPhase = ''
     patchShebangs build.sh
     ./build.sh
   '';
 
   installPhase = ''
-    mkdir -p $out/bin $plugins
+    mkdir -p $out/bin
     mv bin/cnitool $out/bin
-    mv bin/* $plugins/
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/networking/cluster/cni/plugins.nix b/pkgs/applications/networking/cluster/cni/plugins.nix
new file mode 100644
index 00000000000..8a006edda6a
--- /dev/null
+++ b/pkgs/applications/networking/cluster/cni/plugins.nix
@@ -0,0 +1,33 @@
+{ stdenv, lib, fetchFromGitHub, go }:
+
+stdenv.mkDerivation rec {
+  name = "cni-plugins-${version}";
+  version = "0.7.1";
+
+  src = fetchFromGitHub {
+    owner = "containernetworking";
+    repo = "plugins";
+    rev = "v${version}";
+    sha256 = "1sywllwnr6lc812sgkqjdd3y10r82shl88dlnwgnbgzs738q2vp2";
+  };
+
+  buildInputs = [ go ];
+
+  buildPhase = ''
+    patchShebangs build.sh
+    ./build.sh
+  '';
+
+  installPhase = ''
+    mkdir -p $out/bin
+    mv bin/* $out/bin
+  '';
+
+  meta = with lib; {
+    description = "Some standard networking plugins, maintained by the CNI team";
+    homepage = https://github.com/containernetworking/plugins;
+    license = licenses.asl20;
+    platforms = [ "x86_64-linux" ];
+    maintainers = with maintainers; [ cstrahan ];
+  };
+}
diff --git a/pkgs/applications/networking/cluster/docker-machine/default.nix b/pkgs/applications/networking/cluster/docker-machine/default.nix
index cc69be36e37..d67d9d5851c 100644
--- a/pkgs/applications/networking/cluster/docker-machine/default.nix
+++ b/pkgs/applications/networking/cluster/docker-machine/default.nix
@@ -3,7 +3,7 @@
 
 buildGoPackage rec {
   name = "machine-${version}";
-  version = "0.13.0";
+  version = "0.14.0";
 
   goPackagePath = "github.com/docker/machine";
 
@@ -11,7 +11,7 @@ buildGoPackage rec {
     rev = "v${version}";
     owner = "docker";
     repo = "machine";
-    sha256 = "1bqblgz2avrvp9xv6rlvgl0xh2ghpml3a00xhq3mmzkznayw6chq";
+    sha256 = "0hd5sklmvkhhpfn318hq9w0f7x14165h1l2mdn9iv4447z1iibff";
   };
 
   postInstall = ''
diff --git a/pkgs/applications/networking/cluster/flink/default.nix b/pkgs/applications/networking/cluster/flink/default.nix
index 48308d3a201..f394df3391a 100644
--- a/pkgs/applications/networking/cluster/flink/default.nix
+++ b/pkgs/applications/networking/cluster/flink/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, makeWrapper, jre
-, version ? "1.3" }:
+, version ? "1.4" }:
 
 let
   versionMap = {
@@ -10,9 +10,9 @@ let
       hadoopBundle = "-hadoop27";
     };
     "1.4" = {
-      flinkVersion = "1.4.0";
+      flinkVersion = "1.4.2";
       scalaVersion = "2.11";
-      sha256 = "0d80djx1im3h8mf60qzi12km1bbik8a5l3nks85jzi0r0xzfgkm6";
+      sha256 = "0x3cikys5brin0kx9zr69xfp8k5w6g8141yrrr26ks7gpss2x636";
       hadoopBundle = "";
     };
   };
diff --git a/pkgs/applications/networking/cluster/helm/default.nix b/pkgs/applications/networking/cluster/helm/default.nix
index 082b23afcbd..a49ff486d96 100644
--- a/pkgs/applications/networking/cluster/helm/default.nix
+++ b/pkgs/applications/networking/cluster/helm/default.nix
@@ -1,13 +1,14 @@
 { stdenv, fetchurl, kubectl }:
 let
-  arch = if stdenv.isLinux
+  isLinux = stdenv.isLinux;
+  arch = if isLinux
          then "linux-amd64"
          else "darwin-amd64";
-  checksum = if stdenv.isLinux
-             then "07bgny8mfdgv9f6zmk31hxhkwy90wr22js21jz679pkz3gmykxvx"
-             else "1f6h96gyhsdb03am586kdqn619h4niwlj29j4bypf3yg2sar4p6x";
+  checksum = if isLinux
+             then "1lr2s66kln6rp3sb156br9nfx51bdy654vdjr4vnncz4kp3mljv1"
+             else "04y4ii0w4s00z831q1wzxz6qkc8qfrhwzdrq3wwvrcl0413cza50";
   pname = "helm";
-  version = "2.8.1";
+  version = "2.8.2";
 in
 stdenv.mkDerivation {
   name = "${pname}-${version}";
diff --git a/pkgs/applications/networking/cluster/heptio-ark/default.nix b/pkgs/applications/networking/cluster/heptio-ark/default.nix
new file mode 100644
index 00000000000..d24c307fcce
--- /dev/null
+++ b/pkgs/applications/networking/cluster/heptio-ark/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, buildGoPackage, fetchFromGitHub }:
+
+buildGoPackage rec {
+  name = "heptio-ark-${version}";
+  version = "0.7.1";
+
+  goPackagePath = "github.com/heptio/ark";
+
+  src = fetchFromGitHub {
+    rev = "v${version}";
+    owner = "heptio";
+    repo = "ark";
+    sha256 = "0j3x9zxcffxhlw0fxq2cw9ph37bqw90cbmf9xshmnj8yl9rbxp7y";
+  };
+
+  postInstall = "rm $bin/bin/generate";
+
+  meta = with stdenv.lib; {
+    description = "A utility for managing disaster recovery, specifically for your Kubernetes cluster resources and persistent volumes";
+    homepage = https://heptio.github.io/ark/;
+    license = licenses.asl20;
+    maintainers = [maintainers.mbode];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/applications/networking/cluster/kontemplate/default.nix b/pkgs/applications/networking/cluster/kontemplate/default.nix
index aa5f8663331..fd599cd8658 100644
--- a/pkgs/applications/networking/cluster/kontemplate/default.nix
+++ b/pkgs/applications/networking/cluster/kontemplate/default.nix
@@ -1,26 +1,35 @@
-{ stdenv, buildGoPackage, fetchFromGitHub }:
+{ lib, buildGoPackage, fetchFromGitHub }:
 
 buildGoPackage rec {
-  name = "kontemplate-${version}";
-  version = "1.3.0";
-
+  name          = "kontemplate-${version}";
+  version       = "1.5.0";
   goPackagePath = "github.com/tazjin/kontemplate";
+  goDeps        = ./deps.nix;
 
   src = fetchFromGitHub {
-    rev = "v${version}";
-    owner = "tazjin";
-    repo = "kontemplate";
-    sha256 = "0g9hs9gwwkng9vbnv07ibhll0kggdprffpmhlbz9nmv81w2z3myi";
+    owner  = "tazjin";
+    repo   = "kontemplate";
+    rev    = "v${version}";
+    sha256 = "0k3yr0ypw6brj1lxqs041zsyi0r09113i0x3xfj48zv4ralq74b6";
   };
 
-  goDeps = ./deps.nix;
-
-  meta = with stdenv.lib; {
-    description = "Extremely simple Kubernetes resource templates";
-    homepage = http://kontemplate.works;
-    license = licenses.gpl3;
-    maintainers = with maintainers; [ mbode ];
-    platforms = platforms.unix;
+  meta = with lib; {
+    description      = "Extremely simple Kubernetes resource templates";
+    homepage         = "http://kontemplate.works";
+    downloadPage     = "https://github.com/tazjin/kontemplate/releases";
+    license          = licenses.gpl3;
+    maintainers      = with maintainers; [ mbode tazjin ];
+    platforms        = platforms.unix;
     repositories.git = git://github.com/tazjin/kontemplate.git;
+
+    longDescription = ''
+      Kontemplate is a simple CLI tool that can take sets of
+      Kubernetes resource files with placeholders and insert values
+      per environment.
+
+      It can be used as a simple way of deploying the same set of
+      resources to different Kubernetes contexts with context-specific
+      configuration.
+    '';
   };
 }
diff --git a/pkgs/applications/networking/cluster/kontemplate/deps.nix b/pkgs/applications/networking/cluster/kontemplate/deps.nix
index 1d6dfb3e64f..db2692a79e7 100644
--- a/pkgs/applications/networking/cluster/kontemplate/deps.nix
+++ b/pkgs/applications/networking/cluster/kontemplate/deps.nix
@@ -3,118 +3,109 @@
   {
     goPackagePath = "github.com/Masterminds/semver";
     fetch = {
-      type = "git";
-      url = "https://github.com/Masterminds/semver";
-      rev = "15d8430ab86497c5c0da827b748823945e1cf1e1";
-      sha256 = "0q5w6mjr1zws04z7x1ax1hp1zxdc4mbm9zsikgd6fv0c9ndnjr3q";
+      type   = "git";
+      url    = "https://github.com/Masterminds/semver";
+      rev    = "517734cc7d6470c0d07130e40fd40bdeb9bcd3fd";
+      sha256 = "1625b5sxpmlz60jw67j1ljfcc09d4lhxg3z6gc4am8s2rrdgwij6";
     };
   }
   {
     goPackagePath = "github.com/Masterminds/sprig";
     fetch = {
-      type = "git";
-      url = "https://github.com/Masterminds/sprig";
-      rev = "b217b9c388de2cacde4354c536e520c52c055563";
-      sha256 = "1f41v3c8c7zagc4qjhcb6nwkvi8nzvf70f89a7ss2m6krkxz0m2a";
+      type   = "git";
+      url    = "https://github.com/Masterminds/sprig";
+      rev    = "e039e20e500c2c025d9145be375e27cf42a94174";
+      sha256 = "1yhpyzq6ghwl0242phjpbc9358fcw63pxrcxsyv9n4dm0w15va3m";
     };
   }
   {
     goPackagePath = "github.com/alecthomas/template";
     fetch = {
-      type = "git";
-      url = "https://github.com/alecthomas/template";
-      rev = "a0175ee3bccc567396460bf5acd36800cb10c49c";
+      type   = "git";
+      url    = "https://github.com/alecthomas/template";
+      rev    = "a0175ee3bccc567396460bf5acd36800cb10c49c";
       sha256 = "0qjgvvh26vk1cyfq9fadyhfgdj36f1iapbmr5xp6zqipldz8ffxj";
     };
   }
   {
     goPackagePath = "github.com/alecthomas/units";
     fetch = {
-      type = "git";
-      url = "https://github.com/alecthomas/units";
-      rev = "2efee857e7cfd4f3d0138cc3cbb1b4966962b93a";
+      type   = "git";
+      url    = "https://github.com/alecthomas/units";
+      rev    = "2efee857e7cfd4f3d0138cc3cbb1b4966962b93a";
       sha256 = "1j65b91qb9sbrml9cpabfrcf07wmgzzghrl7809hjjhrmbzri5bl";
     };
   }
   {
     goPackagePath = "github.com/aokoli/goutils";
     fetch = {
-      type = "git";
-      url = "https://github.com/aokoli/goutils";
-      rev = "3391d3790d23d03408670993e957e8f408993c34";
+      type   = "git";
+      url    = "https://github.com/aokoli/goutils";
+      rev    = "3391d3790d23d03408670993e957e8f408993c34";
       sha256 = "1yj4yjfwylica31sgj69ygb04p9xxi22kgfxd0j5f58zr8vwww2n";
     };
   }
   {
     goPackagePath = "github.com/ghodss/yaml";
     fetch = {
-      type = "git";
-      url = "https://github.com/ghodss/yaml";
-      rev = "0ca9ea5df5451ffdf184b4428c902747c2c11cd7";
+      type   = "git";
+      url    = "https://github.com/ghodss/yaml";
+      rev    = "0ca9ea5df5451ffdf184b4428c902747c2c11cd7";
       sha256 = "0skwmimpy7hlh7pva2slpcplnm912rp3igs98xnqmn859kwa5v8g";
     };
   }
   {
     goPackagePath = "github.com/huandu/xstrings";
     fetch = {
-      type = "git";
-      url = "https://github.com/huandu/xstrings";
-      rev = "37469d0c81a7910b49d64a0d308ded4823e90937";
-      sha256 = "18c2b4h7phdm71mn66x8bsmghjr1b2lpg07zcbgmab37y36bjl20";
+      type   = "git";
+      url    = "https://github.com/huandu/xstrings";
+      rev    = "3959339b333561bf62a38b424fd41517c2c90f40";
+      sha256 = "0f1jyd80grpr88gwhljx2x0xgsyzw07807n4z4axxxlybh5f0nh1";
     };
   }
   {
     goPackagePath = "github.com/imdario/mergo";
     fetch = {
-      type = "git";
-      url = "https://github.com/imdario/mergo";
-      rev = "7fe0c75c13abdee74b09fcacef5ea1c6bba6a874";
-      sha256 = "1hclh5kpg25s2llpk7j7sm3vf66xci5jchn8wzdcr5fj372ghsbd";
-    };
-  }
-  {
-    goPackagePath = "github.com/polydawn/meep";
-    fetch = {
-      type = "git";
-      url = "https://github.com/polydawn/meep";
-      rev = "eaf1db2168fe380b4da17a35f0adddb5ae15a651";
-      sha256 = "12n134fb2imnj67xkbznzm0gqkg36hdxwr960y91qb5s2q2krxir";
+      type   = "git";
+      url    = "https://github.com/imdario/mergo";
+      rev    = "d806ba8c21777d504a2090a2ca4913c750dd3a33";
+      sha256 = "12n3lfbfxvnag916c6dpxl48j29s482zwsqjc6wk4vb68qbz2nl3";
     };
   }
   {
     goPackagePath = "github.com/satori/go.uuid";
     fetch = {
-      type = "git";
-      url = "https://github.com/satori/go.uuid";
-      rev = "5bf94b69c6b68ee1b541973bb8e1144db23a194b";
+      type   = "git";
+      url    = "https://github.com/satori/go.uuid";
+      rev    = "5bf94b69c6b68ee1b541973bb8e1144db23a194b";
       sha256 = "0l782l4srv36pj8pfgn61996d0vjifld4a569rbjwq5h14pd0c07";
     };
   }
   {
     goPackagePath = "golang.org/x/crypto";
     fetch = {
-      type = "git";
-      url = "https://go.googlesource.com/crypto";
-      rev = "94eea52f7b742c7cbe0b03b22f0c4c8631ece122";
-      sha256 = "095zyvjb0m2pz382500miqadhk7w3nis8z3j941z8cq4rdafijvi";
+      type   = "git";
+      url    = "https://go.googlesource.com/crypto";
+      rev    = "ab89591268e0c8b748cbe4047b00197516011af5";
+      sha256 = "1cbg8wlv1hmdps9ksa4kym5zy0mb2yjykw4ns7yqv7nmz4s5xajr";
     };
   }
   {
     goPackagePath = "gopkg.in/alecthomas/kingpin.v2";
     fetch = {
-      type = "git";
-      url = "https://gopkg.in/alecthomas/kingpin.v2";
-      rev = "1087e65c9441605df944fb12c33f0fe7072d18ca";
+      type   = "git";
+      url    = "https://gopkg.in/alecthomas/kingpin.v2";
+      rev    = "1087e65c9441605df944fb12c33f0fe7072d18ca";
       sha256 = "18llqzkdqf62qbqcv2fd3j0igl6cwwn4dissf5skkvxrcxjcmmj0";
     };
   }
   {
     goPackagePath = "gopkg.in/yaml.v2";
     fetch = {
-      type = "git";
-      url = "https://gopkg.in/yaml.v2";
-      rev = "287cf08546ab5e7e37d55a84f7ed3fd1db036de5";
-      sha256 = "15502klds9wwv567vclb9kx95gs8lnyzn4ybsk6l9fc7a67lk831";
+      type   = "git";
+      url    = "https://gopkg.in/yaml.v2";
+      rev    = "eb3733d160e74a9c7e442f435eb3bea458e1d19f";
+      sha256 = "1srhvcaa9db3a6xj29mkjr5kg33y71pclrlx4vcwz5m1lgb5c7q6";
     };
   }
 ]
diff --git a/pkgs/applications/networking/cluster/kubernetes/default.nix b/pkgs/applications/networking/cluster/kubernetes/default.nix
index 090fc98566d..1a7ba3cf93d 100644
--- a/pkgs/applications/networking/cluster/kubernetes/default.nix
+++ b/pkgs/applications/networking/cluster/kubernetes/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, fetchFromGitHub, fetchpatch, removeReferencesTo, which, go, go-bindata, makeWrapper, rsync
+{ stdenv, lib, fetchFromGitHub, fetchpatch, removeReferencesTo, which, go_1_9, go-bindata, makeWrapper, rsync
 , iptables, coreutils
 , components ? [
     "cmd/kubeadm"
@@ -25,7 +25,8 @@ stdenv.mkDerivation rec {
     sha256 = "1dmq2g138h7fsswmq4l47b44gsl9anmm3ywqyi7y48f1rkvc11mk";
   };
 
-  buildInputs = [ removeReferencesTo makeWrapper which go rsync go-bindata ];
+  # go > 1.10 should be fixed by https://github.com/kubernetes/kubernetes/pull/60373
+  buildInputs = [ removeReferencesTo makeWrapper which go_1_9 rsync go-bindata ];
 
   outputs = ["out" "man" "pause"];
 
@@ -35,6 +36,13 @@ stdenv.mkDerivation rec {
       url = "https://github.com/kubernetes/kubernetes/commit/a990b04dc8a7d8408a71eee40db93621cf2b6d1b.patch";
       sha256 = "0piqilc5c9frikl74hamkffawwg1mvdwfxqvjnmk6wdma43dbb7w";
     })
+    (fetchpatch {
+      # https://github.com/kubernetes/kubernetes/pull/60978
+      # Fixes critical kube-proxy failure on iptables-restore >= 1.6.2 and
+      # non-critical failures on prior versions.
+      url = "https://github.com/kubernetes/kubernetes/commit/34ce573e9992ecdbc06dff1b4e3d0e9baa8353dd.patch";
+      sha256 = "1sd9qgc28zr6fkk0441f89bw8kq2kadys0qs7bgivy9cmcpw5x5p";
+    })
   ];
 
   postPatch = ''
@@ -55,7 +63,7 @@ stdenv.mkDerivation rec {
   '';
 
   installPhase = ''
-    mkdir -p "$out/bin" "$out/share/bash-completion/completions" "$man/share/man" "$pause/bin"
+    mkdir -p "$out/bin" "$out/share/bash-completion/completions" "$out/share/zsh/site-functions" "$man/share/man" "$pause/bin"
 
     cp _output/local/go/bin/* "$out/bin/"
     cp build/pause/pause "$pause/bin/pause"
@@ -66,16 +74,17 @@ stdenv.mkDerivation rec {
     wrapProgram $out/bin/kube-addons --set "KUBECTL_BIN" "$out/bin/kubectl"
 
     $out/bin/kubectl completion bash > $out/share/bash-completion/completions/kubectl
+    $out/bin/kubectl completion zsh > $out/share/zsh/site-functions/_kubectl
   '';
 
   preFixup = ''
-    find $out/bin $pause/bin -type f -exec remove-references-to -t ${go} '{}' +
+    find $out/bin $pause/bin -type f -exec remove-references-to -t ${go_1_9} '{}' +
   '';
 
   meta = {
     description = "Production-Grade Container Scheduling and Management";
     license = licenses.asl20;
-    homepage = http://kubernetes.io;
+    homepage = https://kubernetes.io;
     maintainers = with maintainers; [offline];
     platforms = platforms.unix;
   };
diff --git a/pkgs/applications/networking/cluster/mesos/default.nix b/pkgs/applications/networking/cluster/mesos/default.nix
index 68c66d78de1..961c0afc5c5 100644
--- a/pkgs/applications/networking/cluster/mesos/default.nix
+++ b/pkgs/applications/networking/cluster/mesos/default.nix
@@ -4,6 +4,7 @@
 , leveldb, glog, perf, utillinux, libnl, iproute, openssl, libevent
 , ethtool, coreutils, which, iptables, maven
 , bash, autoreconfHook
+, withJava ? !stdenv.isDarwin
 }:
 
 let
@@ -46,11 +47,13 @@ in stdenv.mkDerivation rec {
     autoreconfHook
   ];
   buildInputs = [
-    makeWrapper curl sasl jdk
+    makeWrapper curl sasl
     python wrapPython boto setuptools leveldb
-    subversion apr glog openssl libevent maven
+    subversion apr glog openssl libevent
   ] ++ lib.optionals stdenv.isLinux [
     libnl
+  ] ++ lib.optionals withJava [
+    jdk maven
   ];
 
   propagatedBuildInputs = [
@@ -181,6 +184,7 @@ in stdenv.mkDerivation rec {
     "--with-libevent=${libevent.dev}"
     "--with-protobuf=${pythonProtobuf.protobuf}"
     "PROTOBUF_JAR=${mavenRepo}/com/google/protobuf/protobuf-java/3.3.0/protobuf-java-3.3.0.jar"
+    (if withJava then "--enable-java" else "--disable-java")
   ] ++ lib.optionals stdenv.isLinux [
     "--with-network-isolator"
     "--with-nl=${libnl.dev}"
@@ -190,16 +194,6 @@ in stdenv.mkDerivation rec {
     rm -rf $out/var
     rm $out/bin/*.sh
 
-    mkdir -p $out/share/java
-    cp src/java/target/mesos-*.jar $out/share/java
-
-    MESOS_NATIVE_JAVA_LIBRARY=$out/lib/libmesos${stdenv.hostPlatform.extensions.sharedLibrary}
-
-    mkdir -p $out/nix-support
-    touch $out/nix-support/setup-hook
-    echo "export MESOS_NATIVE_JAVA_LIBRARY=$MESOS_NATIVE_JAVA_LIBRARY" >> $out/nix-support/setup-hook
-    echo "export MESOS_NATIVE_LIBRARY=$MESOS_NATIVE_JAVA_LIBRARY" >> $out/nix-support/setup-hook
-
     # Inspired by: pkgs/development/python-modules/generic/default.nix
     pushd src/python
     mkdir -p $out/lib/${python.libPrefix}/site-packages
@@ -218,6 +212,16 @@ in stdenv.mkDerivation rec {
       --old-and-unmanageable \
       --prefix="$out"
     popd
+  '' + stdenv.lib.optionalString withJava ''
+    mkdir -p $out/share/java
+    cp src/java/target/mesos-*.jar $out/share/java
+
+    MESOS_NATIVE_JAVA_LIBRARY=$out/lib/libmesos${stdenv.hostPlatform.extensions.sharedLibrary}
+
+    mkdir -p $out/nix-support
+    touch $out/nix-support/setup-hook
+    echo "export MESOS_NATIVE_JAVA_LIBRARY=$MESOS_NATIVE_JAVA_LIBRARY" >> $out/nix-support/setup-hook
+    echo "export MESOS_NATIVE_LIBRARY=$MESOS_NATIVE_JAVA_LIBRARY" >> $out/nix-support/setup-hook
   '';
 
   postFixup = ''
@@ -248,6 +252,6 @@ in stdenv.mkDerivation rec {
     license     = licenses.asl20;
     description = "A cluster manager that provides efficient resource isolation and sharing across distributed applications, or frameworks";
     maintainers = with maintainers; [ cstrahan kevincox offline ];
-    platforms   = platforms.linux;
+    platforms   = platforms.unix;
   };
 }
diff --git a/pkgs/applications/networking/cluster/minikube/default.nix b/pkgs/applications/networking/cluster/minikube/default.nix
index d27693823a6..53b24552d37 100644
--- a/pkgs/applications/networking/cluster/minikube/default.nix
+++ b/pkgs/applications/networking/cluster/minikube/default.nix
@@ -15,15 +15,15 @@ let
   # instead, we download localkube ourselves and shove it into the minikube binary. The versions URL that minikube uses is
   # currently https://storage.googleapis.com/minikube/k8s_releases.json
 
-  localkube-version = "1.9.0";
+  localkube-version = "1.10.0";
   localkube-binary = fetchurl {
     url = "https://storage.googleapis.com/minikube/k8sReleases/v${localkube-version}/localkube-linux-amd64";
-    sha256 = "1z5c061mx2flg6hq05d00bvkn722gxv8y9rfpjyk23nk697k31fh";
+    sha256 = "02lkl2g274689h07pkcwnxn04swy6aa3f2z77n421mx38bbq2kpd";
   };
 in buildGoPackage rec {
   pname   = "minikube";
   name    = "${pname}-${version}";
-  version = "0.25.0";
+  version = "0.26.0";
 
   goPackagePath = "k8s.io/minikube";
 
@@ -31,7 +31,7 @@ in buildGoPackage rec {
     owner  = "kubernetes";
     repo   = "minikube";
     rev    = "v${version}";
-    sha256 = "0nsdi8mr8p69z696ksfb5ahzqqnvjn4a2z6cp0kyby8sakcjhsby";
+    sha256 = "1wc2gvmgb59yh0ldm2plvh6s8mvxvysrxp6w75z16ii86jmi3wr6";
   };
 
   patches = [
diff --git a/pkgs/applications/networking/cluster/openshift/default.nix b/pkgs/applications/networking/cluster/openshift/default.nix
index fdc97733c77..07c9e9ba678 100644
--- a/pkgs/applications/networking/cluster/openshift/default.nix
+++ b/pkgs/applications/networking/cluster/openshift/default.nix
@@ -1,12 +1,24 @@
-{ stdenv, fetchFromGitHub, which, buildGoPackage, utillinux, coreutils }:
+{ stdenv, lib, fetchFromGitHub, fetchpatch, removeReferencesTo, which, go_1_9, go-bindata, makeWrapper, rsync, utillinux
+, iptables, coreutils, kerberos, clang
+, components ? [
+  "cmd/oc"
+  "cmd/openshift"
+  ]
+}:
+
+with lib;
 
 let
-  version = "3.6.0";
+  version = "3.9.0";
   ver = stdenv.lib.elemAt (stdenv.lib.splitString "." version);
   versionMajor = ver 0;
   versionMinor = ver 1;
   versionPatch = ver 2;
-in buildGoPackage rec {
+  gitCommit = "191fece";
+  # version is in vendor/k8s.io/kubernetes/pkg/version/base.go
+  k8sversion = "v1.9.1";
+  k8sgitcommit = "a0ce1bc657";
+in stdenv.mkDerivation rec {
   name = "openshift-origin-${version}";
   inherit version;
 
@@ -14,40 +26,53 @@ in buildGoPackage rec {
     owner = "openshift";
     repo = "origin";
     rev = "v${version}";
-    sha256 = "08bdqvsjl6c7dmllyz8n4akb7gyn91znvbph5cgmmk1bhskycy1r";
-  };
+    sha256 = "06k0zilfyvll7z34yirraslgpwgah9k6y5i6wgi7f00a79k76k78";
+};
+
+  # go > 1.10
+  # [FATAL] [14:44:02+0000] Please install Go version go1.9 or use PERMISSIVE_GO=y to bypass this check.
+  buildInputs = [ removeReferencesTo makeWrapper which go_1_9 rsync go-bindata kerberos clang ];
 
-  buildInputs = [ which ];
+  outputs = [ "out" ];
 
-  goPackagePath = null;
   patchPhase = ''
     patchShebangs ./hack
-    substituteInPlace pkg/bootstrap/docker/host/host.go  \
+
+    substituteInPlace pkg/oc/bootstrap/docker/host/host.go  \
       --replace 'nsenter --mount=/rootfs/proc/1/ns/mnt findmnt' \
       'nsenter --mount=/rootfs/proc/1/ns/mnt ${utillinux}/bin/findmnt'
 
-    substituteInPlace pkg/bootstrap/docker/host/host.go  \
+    substituteInPlace pkg/oc/bootstrap/docker/host/host.go  \
       --replace 'nsenter --mount=/rootfs/proc/1/ns/mnt mount' \
       'nsenter --mount=/rootfs/proc/1/ns/mnt ${utillinux}/bin/mount'
 
-    substituteInPlace pkg/bootstrap/docker/host/host.go  \
+    substituteInPlace pkg/oc/bootstrap/docker/host/host.go  \
       --replace 'nsenter --mount=/rootfs/proc/1/ns/mnt mkdir' \
       'nsenter --mount=/rootfs/proc/1/ns/mnt ${utillinux}/bin/mount'
   '';
 
   buildPhase = ''
-    cd go/src/origin-v${version}-src
     # Openshift build require this variables to be set
     # unless there is a .git folder which is not the case with fetchFromGitHub
-    export OS_GIT_VERSION=v${version}
-    export OS_GIT_MAJOR=${versionMajor}
-    export OS_GIT_MINOR=${versionMinor}
-    make build
+    echo "OS_GIT_VERSION=v${version}" >> os-version-defs
+    echo "OS_GIT_MAJOR=${versionMajor}" >> os-version-defs
+    echo "OS_GIT_MINOR=${versionMinor}" >> os-version-defs
+    echo "OS_GIT_PATCH=${versionPatch}" >> os-version-defs
+    echo "OS_GIT_COMMIT=${gitCommit}" >> os-version-defs
+    echo "KUBE_GIT_VERSION=${k8sversion}" >> os-version-defs
+    echo "KUBE_GIT_COMMIT=${k8sgitcommit}" >> os-version-defs
+    export OS_VERSION_FILE="os-version-defs"
+    export CC=clang
+    make all WHAT='${concatStringsSep " " components}'
   '';
 
   installPhase = ''
-    mkdir -p "$bin/bin"
-    cp -a "_output/local/bin/$(go env GOOS)/$(go env GOARCH)/"* "$bin/bin/"
+    mkdir -p "$out/bin"
+    cp -a "_output/local/bin/$(go env GOOS)/$(go env GOARCH)/"* "$out/bin/"
+  '';
+
+  preFixup = ''
+    find $out/bin -type f -exec remove-references-to -t ${go_1_9} '{}' +
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/networking/cluster/panamax/api/Gemfile b/pkgs/applications/networking/cluster/panamax/api/Gemfile
deleted file mode 100644
index 82085aa6db0..00000000000
--- a/pkgs/applications/networking/cluster/panamax/api/Gemfile
+++ /dev/null
@@ -1,23 +0,0 @@
-source 'https://rubygems.org'
-
-gem 'rails', '4.1.7'
-gem 'puma', '2.8.2'
-gem 'sqlite3', '1.3.9'
-gem 'faraday_middleware', '0.9.0'
-gem 'docker-api', '1.13.0', require: 'docker'
-gem 'fleet-api', '0.6.0', require: 'fleet'
-gem 'active_model_serializers', '0.9.0'
-gem 'octokit', '3.2.0'
-gem 'kmts', '2.0.1'
-
-group :test, :development do
-  gem 'rspec-rails'
-  gem 'its'
-end
-
-group :test do
-  gem 'coveralls', '0.7.0'
-  gem 'shoulda-matchers', '2.6.1'
-  gem 'database_cleaner', '1.3.0'
-  gem 'webmock', '1.20.0'
-end
diff --git a/pkgs/applications/networking/cluster/panamax/api/Gemfile.lock b/pkgs/applications/networking/cluster/panamax/api/Gemfile.lock
deleted file mode 100644
index 597c691700a..00000000000
--- a/pkgs/applications/networking/cluster/panamax/api/Gemfile.lock
+++ /dev/null
@@ -1,164 +0,0 @@
-GEM
-  remote: https://rubygems.org/
-  specs:
-    actionmailer (4.1.7)
-      actionpack (= 4.1.7)
-      actionview (= 4.1.7)
-      mail (~> 2.5, >= 2.5.4)
-    actionpack (4.1.7)
-      actionview (= 4.1.7)
-      activesupport (= 4.1.7)
-      rack (~> 1.5.2)
-      rack-test (~> 0.6.2)
-    actionview (4.1.7)
-      activesupport (= 4.1.7)
-      builder (~> 3.1)
-      erubis (~> 2.7.0)
-    active_model_serializers (0.9.0)
-      activemodel (>= 3.2)
-    activemodel (4.1.7)
-      activesupport (= 4.1.7)
-      builder (~> 3.1)
-    activerecord (4.1.7)
-      activemodel (= 4.1.7)
-      activesupport (= 4.1.7)
-      arel (~> 5.0.0)
-    activesupport (4.1.7)
-      i18n (~> 0.6, >= 0.6.9)
-      json (~> 1.7, >= 1.7.7)
-      minitest (~> 5.1)
-      thread_safe (~> 0.1)
-      tzinfo (~> 1.1)
-    addressable (2.3.6)
-    archive-tar-minitar (0.5.2)
-    arel (5.0.1.20140414130214)
-    builder (3.2.2)
-    coveralls (0.7.0)
-      multi_json (~> 1.3)
-      rest-client
-      simplecov (>= 0.7)
-      term-ansicolor
-      thor
-    crack (0.4.2)
-      safe_yaml (~> 1.0.0)
-    database_cleaner (1.3.0)
-    diff-lcs (1.2.5)
-    docile (1.1.5)
-    docker-api (1.13.0)
-      archive-tar-minitar
-      excon (>= 0.37.0)
-      json
-    erubis (2.7.0)
-    excon (0.37.0)
-    faraday (0.8.9)
-      multipart-post (~> 1.2.0)
-    faraday_middleware (0.9.0)
-      faraday (>= 0.7.4, < 0.9)
-    fleet-api (0.6.0)
-      faraday (= 0.8.9)
-      faraday_middleware (= 0.9.0)
-    hike (1.2.3)
-    i18n (0.7.0)
-    its (0.2.0)
-      rspec-core
-    json (1.8.1)
-    kmts (2.0.1)
-    mail (2.6.3)
-      mime-types (>= 1.16, < 3)
-    mime-types (2.4.3)
-    minitest (5.5.1)
-    multi_json (1.10.1)
-    multipart-post (1.2.0)
-    octokit (3.2.0)
-      sawyer (~> 0.5.3)
-    puma (2.8.2)
-      rack (>= 1.1, < 2.0)
-    rack (1.5.2)
-    rack-test (0.6.3)
-      rack (>= 1.0)
-    rails (4.1.7)
-      actionmailer (= 4.1.7)
-      actionpack (= 4.1.7)
-      actionview (= 4.1.7)
-      activemodel (= 4.1.7)
-      activerecord (= 4.1.7)
-      activesupport (= 4.1.7)
-      bundler (>= 1.3.0, < 2.0)
-      railties (= 4.1.7)
-      sprockets-rails (~> 2.0)
-    railties (4.1.7)
-      actionpack (= 4.1.7)
-      activesupport (= 4.1.7)
-      rake (>= 0.8.7)
-      thor (>= 0.18.1, < 2.0)
-    rake (10.4.0)
-    rest-client (1.6.7)
-      mime-types (>= 1.16)
-    rspec-core (3.1.7)
-      rspec-support (~> 3.1.0)
-    rspec-expectations (3.1.2)
-      diff-lcs (>= 1.2.0, < 2.0)
-      rspec-support (~> 3.1.0)
-    rspec-mocks (3.1.3)
-      rspec-support (~> 3.1.0)
-    rspec-rails (3.1.0)
-      actionpack (>= 3.0)
-      activesupport (>= 3.0)
-      railties (>= 3.0)
-      rspec-core (~> 3.1.0)
-      rspec-expectations (~> 3.1.0)
-      rspec-mocks (~> 3.1.0)
-      rspec-support (~> 3.1.0)
-    rspec-support (3.1.2)
-    safe_yaml (1.0.4)
-    sawyer (0.5.4)
-      addressable (~> 2.3.5)
-      faraday (~> 0.8, < 0.10)
-    shoulda-matchers (2.6.1)
-      activesupport (>= 3.0.0)
-    simplecov (0.9.1)
-      docile (~> 1.1.0)
-      multi_json (~> 1.0)
-      simplecov-html (~> 0.8.0)
-    simplecov-html (0.8.0)
-    sprockets (2.12.3)
-      hike (~> 1.2)
-      multi_json (~> 1.0)
-      rack (~> 1.0)
-      tilt (~> 1.1, != 1.3.0)
-    sprockets-rails (2.2.4)
-      actionpack (>= 3.0)
-      activesupport (>= 3.0)
-      sprockets (>= 2.8, < 4.0)
-    sqlite3 (1.3.9)
-    term-ansicolor (1.3.0)
-      tins (~> 1.0)
-    thor (0.19.1)
-    thread_safe (0.3.4)
-    tilt (1.4.1)
-    tins (1.3.0)
-    tzinfo (1.2.2)
-      thread_safe (~> 0.1)
-    webmock (1.20.0)
-      addressable (>= 2.3.6)
-      crack (>= 0.3.2)
-
-PLATFORMS
-  ruby
-
-DEPENDENCIES
-  active_model_serializers (= 0.9.0)
-  coveralls (= 0.7.0)
-  database_cleaner (= 1.3.0)
-  docker-api (= 1.13.0)
-  faraday_middleware (= 0.9.0)
-  fleet-api (= 0.6.0)
-  its
-  kmts (= 2.0.1)
-  octokit (= 3.2.0)
-  puma (= 2.8.2)
-  rails (= 4.1.7)
-  rspec-rails
-  shoulda-matchers (= 2.6.1)
-  sqlite3 (= 1.3.9)
-  webmock (= 1.20.0)
diff --git a/pkgs/applications/networking/cluster/panamax/api/default.nix b/pkgs/applications/networking/cluster/panamax/api/default.nix
deleted file mode 100644
index 1c2e2ccac27..00000000000
--- a/pkgs/applications/networking/cluster/panamax/api/default.nix
+++ /dev/null
@@ -1,74 +0,0 @@
-{ stdenv, fetchgit, fetchurl, makeWrapper, bundlerEnv, bundler
-, ruby, libxslt, libxml2, sqlite, openssl, docker
-, dataDir ? "/var/lib/panamax-api" }@args:
-
-with stdenv.lib;
-
-stdenv.mkDerivation rec {
-  name = "panamax-api-${version}";
-  version = "0.2.16";
-
-  env = bundlerEnv {
-    name = "panamax-api-gems-${version}";
-    inherit ruby;
-    gemdir = ./.;
-  };
-
-  bundler = args.bundler.override { inherit ruby; };
-
-  database_yml = builtins.toFile "database.yml" ''
-    production:
-      adapter: sqlite3
-      database: <%= ENV["PANAMAX_DATABASE_PATH"] || "${dataDir}/db/mnt/db.sqlite3" %>
-      timeout: 5000
-  '';
-
-  src = fetchgit {
-    rev = "refs/tags/v${version}";
-    url = "git://github.com/CenturyLinkLabs/panamax-api";
-    sha256 = "0dqg0fbmy5cgjh0ql8yqlybhjyyrslgghjrc24wjhd1rghjn2qi6";
-  };
-
-  buildInputs = [ makeWrapper sqlite openssl env.ruby bundler ];
-
-  setSourceRoot = ''
-    mkdir -p $out/share
-    cp -R panamax-api $out/share/panamax-api
-    export sourceRoot="$out/share/panamax-api"
-  '';
-
-  postPatch = ''
-    find . -type f -exec sed -e 's|/usr/bin/docker|${docker}/bin/docker|g' -i "{}" \;
-  '';
-
-  configurePhase = ''
-    export HOME=$PWD
-    export GEM_HOME=${env}/${env.ruby.gemPath}
-    export RAILS_ENV=production
-
-    ln -sf ${database_yml} config/database.yml
-  '';
-
-  installPhase = ''
-    rm -rf log tmp
-    mv ./db ./_db
-    ln -sf ${dataDir}/{db,state/log,state/tmp} .
-
-    mkdir -p $out/bin
-    makeWrapper bin/bundle "$out/bin/bundle" \
-      --run "cd $out/share/panamax-api" \
-      --prefix "PATH" : "$out/share/panamax-api/bin:${env.ruby}/bin:$PATH" \
-      --prefix "HOME" : "$out/share/panamax-api" \
-      --prefix "GEM_HOME" : "${env}/${env.ruby.gemPath}" \
-      --prefix "GEM_PATH" : "$out/share/panamax-api:${bundler}/${env.ruby.gemPath}"
-  '';
-
-  meta = with stdenv.lib; {
-    broken = true; # needs ruby 2.1
-    homepage = https://github.com/CenturyLinkLabs/panamax-api;
-    description = "The API behind The Panamax UI";
-    license = licenses.asl20;
-    maintainers = with maintainers; [ matejc offline ];
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/applications/networking/cluster/panamax/api/gemset.nix b/pkgs/applications/networking/cluster/panamax/api/gemset.nix
deleted file mode 100644
index 8182543a2bb..00000000000
--- a/pkgs/applications/networking/cluster/panamax/api/gemset.nix
+++ /dev/null
@@ -1,568 +0,0 @@
-{
-  "actionmailer" = {
-    version = "4.1.7";
-    source = {
-      type = "gem";
-      sha256 = "0qjv5akjbpgd4cx518k522mssvc3y3nki65hi6fj5nbzi7a6rwq5";
-    };
-    dependencies = [
-      "actionpack"
-      "actionview"
-      "mail"
-    ];
-  };
-  "actionpack" = {
-    version = "4.1.7";
-    source = {
-      type = "gem";
-      sha256 = "07y1ny00h69xklq260smyl5md052f617gqrzkyw5sxafs5z25zax";
-    };
-    dependencies = [
-      "actionview"
-      "activesupport"
-      "rack"
-      "rack-test"
-    ];
-  };
-  "actionview" = {
-    version = "4.1.7";
-    source = {
-      type = "gem";
-      sha256 = "06sp37gfpn2jn7j6vlpp1y6vfi5kig60vyvixrjhyz0g4vgm13ax";
-    };
-    dependencies = [
-      "activesupport"
-      "builder"
-      "erubis"
-    ];
-  };
-  "active_model_serializers" = {
-    version = "0.9.0";
-    source = {
-      type = "gem";
-      sha256 = "1ws3gx3wwlm17w7k0agwzmcmww6627lvqaqm828lzm3g1xqilkkl";
-    };
-    dependencies = [
-      "activemodel"
-    ];
-  };
-  "activemodel" = {
-    version = "4.1.7";
-    source = {
-      type = "gem";
-      sha256 = "0rlqzz25l7vsphgkilg80kmk20d9h357awi27ax6zzb9klkqh0jr";
-    };
-    dependencies = [
-      "activesupport"
-      "builder"
-    ];
-  };
-  "activerecord" = {
-    version = "4.1.7";
-    source = {
-      type = "gem";
-      sha256 = "0j4r0m32mjbwmz9gs8brln35jzr1cn7h585ggj0w0f1ai4hjsby5";
-    };
-    dependencies = [
-      "activemodel"
-      "activesupport"
-      "arel"
-    ];
-  };
-  "activesupport" = {
-    version = "4.1.7";
-    source = {
-      type = "gem";
-      sha256 = "13i3mz66d5kp5y39gjwmcfqv0wb6mxm5k1nnz40wvd38dsf7n3bs";
-    };
-    dependencies = [
-      "i18n"
-      "json"
-      "minitest"
-      "thread_safe"
-      "tzinfo"
-    ];
-  };
-  "addressable" = {
-    version = "2.3.6";
-    source = {
-      type = "gem";
-      sha256 = "137fj0whmn1kvaq8wjalp8x4qbblwzvg3g4bfx8d8lfi6f0w48p8";
-    };
-  };
-  "archive-tar-minitar" = {
-    version = "0.5.2";
-    source = {
-      type = "gem";
-      sha256 = "1j666713r3cc3wb0042x0wcmq2v11vwwy5pcaayy5f0lnd26iqig";
-    };
-  };
-  "arel" = {
-    version = "5.0.1.20140414130214";
-    source = {
-      type = "gem";
-      sha256 = "0dhnc20h1v8ml3nmkxq92rr7qxxpk6ixhwvwhgl2dbw9mmxz0hf9";
-    };
-  };
-  "builder" = {
-    version = "3.2.2";
-    source = {
-      type = "gem";
-      sha256 = "14fii7ab8qszrvsvhz6z2z3i4dw0h41a62fjr2h1j8m41vbrmyv2";
-    };
-  };
-  "coveralls" = {
-    version = "0.7.0";
-    source = {
-      type = "gem";
-      sha256 = "0sz30d7b83qqsj3i0fr691w05d62wj7x3afh0ryjkqkis3fq94j4";
-    };
-    dependencies = [
-      "multi_json"
-      "rest-client"
-      "simplecov"
-      "term-ansicolor"
-      "thor"
-    ];
-  };
-  "crack" = {
-    version = "0.4.2";
-    source = {
-      type = "gem";
-      sha256 = "1il94m92sz32nw5i6hdq14f1a2c3s9hza9zn6l95fvqhabq38k7a";
-    };
-    dependencies = [
-      "safe_yaml"
-    ];
-  };
-  "database_cleaner" = {
-    version = "1.3.0";
-    source = {
-      type = "gem";
-      sha256 = "19w25yda684pg29bggq26wy4lpyjvzscwg2hx3hmmmpysiwfnxgn";
-    };
-  };
-  "diff-lcs" = {
-    version = "1.2.5";
-    source = {
-      type = "gem";
-      sha256 = "1vf9civd41bnqi6brr5d9jifdw73j9khc6fkhfl1f8r9cpkdvlx1";
-    };
-  };
-  "docile" = {
-    version = "1.1.5";
-    source = {
-      type = "gem";
-      sha256 = "0m8j31whq7bm5ljgmsrlfkiqvacrw6iz9wq10r3gwrv5785y8gjx";
-    };
-  };
-  "docker-api" = {
-    version = "1.13.0";
-    source = {
-      type = "gem";
-      sha256 = "1rara27gn7lxaf12dqkx8s1clssg10jndfcy4wz2fv6ms1i1lnp6";
-    };
-    dependencies = [
-      "archive-tar-minitar"
-      "excon"
-      "json"
-    ];
-  };
-  "erubis" = {
-    version = "2.7.0";
-    source = {
-      type = "gem";
-      sha256 = "1fj827xqjs91yqsydf0zmfyw9p4l2jz5yikg3mppz6d7fi8kyrb3";
-    };
-  };
-  "excon" = {
-    version = "0.37.0";
-    source = {
-      type = "gem";
-      sha256 = "05x7asmsq5m419n1lhzk9bic02gwng4cqmrcqsfnd6kmkwm8csv2";
-    };
-  };
-  "faraday" = {
-    version = "0.8.9";
-    source = {
-      type = "gem";
-      sha256 = "17d79fsgx0xwh0mfxyz5pbr435qlw79phlfvifc546w2axdkp718";
-    };
-    dependencies = [
-      "multipart-post"
-    ];
-  };
-  "faraday_middleware" = {
-    version = "0.9.0";
-    source = {
-      type = "gem";
-      sha256 = "1kwvi2sdxd6j764a7q5iir73dw2v6816zx3l8cgfv0wr2m47icq2";
-    };
-    dependencies = [
-      "faraday"
-    ];
-  };
-  "fleet-api" = {
-    version = "0.6.0";
-    source = {
-      type = "gem";
-      sha256 = "0136mzc0fxp6mzh38n6xbg87cw9g9vq1nrlr3ylazbflvmlxgan6";
-    };
-    dependencies = [
-      "faraday"
-      "faraday_middleware"
-    ];
-  };
-  "hike" = {
-    version = "1.2.3";
-    source = {
-      type = "gem";
-      sha256 = "0i6c9hrszzg3gn2j41v3ijnwcm8cc2931fnjiv6mnpl4jcjjykhm";
-    };
-  };
-  "i18n" = {
-    version = "0.7.0";
-    source = {
-      type = "gem";
-      sha256 = "1i5z1ykl8zhszsxcs8mzl8d0dxgs3ylz8qlzrw74jb0gplkx6758";
-    };
-  };
-  "its" = {
-    version = "0.2.0";
-    source = {
-      type = "gem";
-      sha256 = "0rxwds9ipqp48mzqcaxzmfcqhawazg0zlhc1avv3i2cmm3np1z8g";
-    };
-    dependencies = [
-      "rspec-core"
-    ];
-  };
-  "json" = {
-    version = "1.8.1";
-    source = {
-      type = "gem";
-      sha256 = "0002bsycvizvkmk1jyv8px1hskk6wrjfk4f7x5byi8gxm6zzn6wn";
-    };
-  };
-  "kmts" = {
-    version = "2.0.1";
-    source = {
-      type = "gem";
-      sha256 = "1wk680q443lg35a25am6i8xawf16iqg5xnq1m8xd2gib4dsy1d8v";
-    };
-  };
-  "mail" = {
-    version = "2.6.3";
-    source = {
-      type = "gem";
-      sha256 = "1nbg60h3cpnys45h7zydxwrl200p7ksvmrbxnwwbpaaf9vnf3znp";
-    };
-    dependencies = [
-      "mime-types"
-    ];
-  };
-  "mime-types" = {
-    version = "2.4.3";
-    source = {
-      type = "gem";
-      sha256 = "16nissnb31wj7kpcaynx4gr67i7pbkzccfg8k7xmplbkla4rmwiq";
-    };
-  };
-  "minitest" = {
-    version = "5.5.1";
-    source = {
-      type = "gem";
-      sha256 = "1h8jn0rgmwy37jnhfcg55iilw0n370vgp8xnh0g5laa8rhv32fyn";
-    };
-  };
-  "multi_json" = {
-    version = "1.10.1";
-    source = {
-      type = "gem";
-      sha256 = "1ll21dz01jjiplr846n1c8yzb45kj5hcixgb72rz0zg8fyc9g61c";
-    };
-  };
-  "multipart-post" = {
-    version = "1.2.0";
-    source = {
-      type = "gem";
-      sha256 = "12p7lnmc52di1r4h73h6xrpppplzyyhani9p7wm8l4kgf1hnmwnc";
-    };
-  };
-  "octokit" = {
-    version = "3.2.0";
-    source = {
-      type = "gem";
-      sha256 = "07ll3x1hv72zssb4hkdw56xg3xk6x4fch4yf38zljvbh388r11ng";
-    };
-    dependencies = [
-      "sawyer"
-    ];
-  };
-  "puma" = {
-    version = "2.8.2";
-    source = {
-      type = "gem";
-      sha256 = "1l57fmf8vyxfjv7ab5znq0k339cym5ghnm5xxfvd1simjp73db0k";
-    };
-    dependencies = [
-      "rack"
-    ];
-  };
-  "rack" = {
-    version = "1.5.2";
-    source = {
-      type = "gem";
-      sha256 = "19szfw76cscrzjldvw30jp3461zl00w4xvw1x9lsmyp86h1g0jp6";
-    };
-  };
-  "rack-test" = {
-    version = "0.6.3";
-    source = {
-      type = "gem";
-      sha256 = "0h6x5jq24makgv2fq5qqgjlrk74dxfy62jif9blk43llw8ib2q7z";
-    };
-    dependencies = [
-      "rack"
-    ];
-  };
-  "rails" = {
-    version = "4.1.7";
-    source = {
-      type = "gem";
-      sha256 = "059mpljplmhfz8rr4hk40q67fllcpsy809m4mwwbkm8qwif2z5r0";
-    };
-    dependencies = [
-      "actionmailer"
-      "actionpack"
-      "actionview"
-      "activemodel"
-      "activerecord"
-      "activesupport"
-      "railties"
-      "sprockets-rails"
-    ];
-  };
-  "railties" = {
-    version = "4.1.7";
-    source = {
-      type = "gem";
-      sha256 = "1n08h0rgj0aq5lvslnih6lvqz9wadpz6nnb25i4qhp37fhhyz9yz";
-    };
-    dependencies = [
-      "actionpack"
-      "activesupport"
-      "rake"
-      "thor"
-    ];
-  };
-  "rake" = {
-    version = "10.4.0";
-    source = {
-      type = "gem";
-      sha256 = "0a10xzqc1lh6gjkajkslr0n40wjrniyiyzxkp9m5fc8wf7b74zw8";
-    };
-  };
-  "rest-client" = {
-    version = "1.6.7";
-    source = {
-      type = "gem";
-      sha256 = "0nn7zalgidz2yj0iqh3xvzh626krm2al79dfiij19jdhp0rk8853";
-    };
-    dependencies = [
-      "mime-types"
-    ];
-  };
-  "rspec-core" = {
-    version = "3.1.7";
-    source = {
-      type = "gem";
-      sha256 = "01bawvln663gffljwzpq3mrpa061cghjbvfbq15jvhmip3csxqc9";
-    };
-    dependencies = [
-      "rspec-support"
-    ];
-  };
-  "rspec-expectations" = {
-    version = "3.1.2";
-    source = {
-      type = "gem";
-      sha256 = "0m8d36wng1lpbcs54zhg1rxh63rgj345k3p0h0c06lgknz339nzh";
-    };
-    dependencies = [
-      "diff-lcs"
-      "rspec-support"
-    ];
-  };
-  "rspec-mocks" = {
-    version = "3.1.3";
-    source = {
-      type = "gem";
-      sha256 = "0gxk5w3klia4zsnp0svxck43xxwwfdqvhr3srv6p30f3m5q6rmzr";
-    };
-    dependencies = [
-      "rspec-support"
-    ];
-  };
-  "rspec-rails" = {
-    version = "3.1.0";
-    source = {
-      type = "gem";
-      sha256 = "1b1in3n1dc1bpf9wb3p3b2ynq05iacmr48jxzc73lj4g44ksh3wq";
-    };
-    dependencies = [
-      "actionpack"
-      "activesupport"
-      "railties"
-      "rspec-core"
-      "rspec-expectations"
-      "rspec-mocks"
-      "rspec-support"
-    ];
-  };
-  "rspec-support" = {
-    version = "3.1.2";
-    source = {
-      type = "gem";
-      sha256 = "14y6v9r9lrh91ry9r79h85v0f3y9ja25w42nv5z9n0bipfcwhprb";
-    };
-  };
-  "safe_yaml" = {
-    version = "1.0.4";
-    source = {
-      type = "gem";
-      sha256 = "1hly915584hyi9q9vgd968x2nsi5yag9jyf5kq60lwzi5scr7094";
-    };
-  };
-  "sawyer" = {
-    version = "0.5.4";
-    source = {
-      type = "gem";
-      sha256 = "01kl4zpf0gaacnkra5nikrzfpwj8f10hsvgyzm7z2s1mz4iipx2v";
-    };
-    dependencies = [
-      "addressable"
-      "faraday"
-    ];
-  };
-  "shoulda-matchers" = {
-    version = "2.6.1";
-    source = {
-      type = "gem";
-      sha256 = "1p3jhvd4dsj6d7nbmvnqhqhpmb8pnr05pi7jv9ajwqcys8140mc1";
-    };
-    dependencies = [
-      "activesupport"
-    ];
-  };
-  "simplecov" = {
-    version = "0.9.1";
-    source = {
-      type = "gem";
-      sha256 = "06hylxlalaxxldpbaqa54gc52wxdff0fixdvjyzr6i4ygxwzr7yf";
-    };
-    dependencies = [
-      "docile"
-      "multi_json"
-      "simplecov-html"
-    ];
-  };
-  "simplecov-html" = {
-    version = "0.8.0";
-    source = {
-      type = "gem";
-      sha256 = "0jhn3jql73x7hsr00wwv984iyrcg0xhf64s90zaqv2f26blkqfb9";
-    };
-  };
-  "sprockets" = {
-    version = "2.12.3";
-    source = {
-      type = "gem";
-      sha256 = "1bn2drr8bc2af359dkfraq0nm0p1pib634kvhwn5lvj3r4vllnn2";
-    };
-    dependencies = [
-      "hike"
-      "multi_json"
-      "rack"
-      "tilt"
-    ];
-  };
-  "sprockets-rails" = {
-    version = "2.2.4";
-    source = {
-      type = "gem";
-      sha256 = "172cdg38cqsfgvrncjzj0kziz7kv6b1lx8pccd0blyphs25qf4gc";
-    };
-    dependencies = [
-      "actionpack"
-      "activesupport"
-      "sprockets"
-    ];
-  };
-  "sqlite3" = {
-    version = "1.3.9";
-    source = {
-      type = "gem";
-      sha256 = "07m6a6flmyyi0rkg0j7x1a9861zngwjnximfh95cli2zzd57914r";
-    };
-  };
-  "term-ansicolor" = {
-    version = "1.3.0";
-    source = {
-      type = "gem";
-      sha256 = "1a2gw7gmpmx57sdpyhjwl0zn4bqp7jyjz7aslpvvphd075layp4b";
-    };
-    dependencies = [
-      "tins"
-    ];
-  };
-  "thor" = {
-    version = "0.19.1";
-    source = {
-      type = "gem";
-      sha256 = "08p5gx18yrbnwc6xc0mxvsfaxzgy2y9i78xq7ds0qmdm67q39y4z";
-    };
-  };
-  "thread_safe" = {
-    version = "0.3.4";
-    source = {
-      type = "gem";
-      sha256 = "1cil2zcdzqkyr8zrwhlg7gywryg36j4mxlxw0h0x0j0wjym5nc8n";
-    };
-  };
-  "tilt" = {
-    version = "1.4.1";
-    source = {
-      type = "gem";
-      sha256 = "00sr3yy7sbqaq7cb2d2kpycajxqf1b1wr1yy33z4bnzmqii0b0ir";
-    };
-  };
-  "tins" = {
-    version = "1.3.0";
-    source = {
-      type = "gem";
-      sha256 = "1yxa5kyp9mw4w866wlg7c32ingzqxnzh3ir9yf06pwpkmq3mrbdi";
-    };
-  };
-  "tzinfo" = {
-    version = "1.2.2";
-    source = {
-      type = "gem";
-      sha256 = "1c01p3kg6xvy1cgjnzdfq45fggbwish8krd0h864jvbpybyx7cgx";
-    };
-    dependencies = [
-      "thread_safe"
-    ];
-  };
-  "webmock" = {
-    version = "1.20.0";
-    source = {
-      type = "gem";
-      sha256 = "0bl5v0xzcj24lx7xpsnywv3liqnqb5lfxysmmfb2fgi0n8586i6m";
-    };
-    dependencies = [
-      "addressable"
-      "crack"
-    ];
-  };
-}
\ No newline at end of file
diff --git a/pkgs/applications/networking/cluster/panamax/ui/Gemfile b/pkgs/applications/networking/cluster/panamax/ui/Gemfile
deleted file mode 100644
index 6f7dc59d04d..00000000000
--- a/pkgs/applications/networking/cluster/panamax/ui/Gemfile
+++ /dev/null
@@ -1,31 +0,0 @@
-source 'https://rubygems.org'
-
-gem 'rails', '4.1.7'
-gem 'puma', '2.8.2'
-gem 'sass', '3.3.9'
-gem 'therubyracer', '0.12.1', platforms: :ruby
-gem 'haml', '4.0.5'
-gem 'uglifier', '2.5.1'
-gem 'ctl_base_ui'
-gem 'activeresource', '4.0.0'
-gem 'kramdown', '1.4.0'
-gem 'zeroclipboard-rails'
-
-
-group :test, :development do
-  gem 'rspec-rails'
-  gem 'its'
-  gem 'capybara'
-  gem 'teaspoon'
-  gem 'phantomjs'
-  gem 'dotenv-rails', '0.11.1'
-  gem 'pry'
-  gem 'pry-byebug'
-  gem 'pry-stack_explorer'
-end
-
-group :test do
-  gem 'webmock'
-  gem 'sinatra', '1.4.5'
-  gem 'coveralls', '0.7.0'
-end
diff --git a/pkgs/applications/networking/cluster/panamax/ui/Gemfile.lock b/pkgs/applications/networking/cluster/panamax/ui/Gemfile.lock
deleted file mode 100644
index b273595bbb0..00000000000
--- a/pkgs/applications/networking/cluster/panamax/ui/Gemfile.lock
+++ /dev/null
@@ -1,226 +0,0 @@
-GEM
-  remote: https://rubygems.org/
-  specs:
-    actionmailer (4.1.7)
-      actionpack (= 4.1.7)
-      actionview (= 4.1.7)
-      mail (~> 2.5, >= 2.5.4)
-    actionpack (4.1.7)
-      actionview (= 4.1.7)
-      activesupport (= 4.1.7)
-      rack (~> 1.5.2)
-      rack-test (~> 0.6.2)
-    actionview (4.1.7)
-      activesupport (= 4.1.7)
-      builder (~> 3.1)
-      erubis (~> 2.7.0)
-    activemodel (4.1.7)
-      activesupport (= 4.1.7)
-      builder (~> 3.1)
-    activerecord (4.1.7)
-      activemodel (= 4.1.7)
-      activesupport (= 4.1.7)
-      arel (~> 5.0.0)
-    activeresource (4.0.0)
-      activemodel (~> 4.0)
-      activesupport (~> 4.0)
-      rails-observers (~> 0.1.1)
-    activesupport (4.1.7)
-      i18n (~> 0.6, >= 0.6.9)
-      json (~> 1.7, >= 1.7.7)
-      minitest (~> 5.1)
-      thread_safe (~> 0.1)
-      tzinfo (~> 1.1)
-    addressable (2.3.6)
-    arel (5.0.1.20140414130214)
-    binding_of_caller (0.7.2)
-      debug_inspector (>= 0.0.1)
-    builder (3.2.2)
-    byebug (3.5.1)
-      columnize (~> 0.8)
-      debugger-linecache (~> 1.2)
-      slop (~> 3.6)
-    capybara (2.4.4)
-      mime-types (>= 1.16)
-      nokogiri (>= 1.3.3)
-      rack (>= 1.0.0)
-      rack-test (>= 0.5.4)
-      xpath (~> 2.0)
-    coderay (1.1.0)
-    columnize (0.8.9)
-    coveralls (0.7.0)
-      multi_json (~> 1.3)
-      rest-client
-      simplecov (>= 0.7)
-      term-ansicolor
-      thor
-    crack (0.4.2)
-      safe_yaml (~> 1.0.0)
-    ctl_base_ui (0.0.5)
-      haml (~> 4.0)
-      jquery-rails (~> 3.1)
-      jquery-ui-rails (~> 4.2)
-      rails (~> 4.1)
-      sass (~> 3.3)
-    debug_inspector (0.0.2)
-    debugger-linecache (1.2.0)
-    diff-lcs (1.2.5)
-    docile (1.1.5)
-    dotenv (0.11.1)
-      dotenv-deployment (~> 0.0.2)
-    dotenv-deployment (0.0.2)
-    dotenv-rails (0.11.1)
-      dotenv (= 0.11.1)
-    erubis (2.7.0)
-    execjs (2.2.2)
-    haml (4.0.5)
-      tilt
-    hike (1.2.3)
-    i18n (0.7.0)
-    its (0.2.0)
-      rspec-core
-    jquery-rails (3.1.2)
-      railties (>= 3.0, < 5.0)
-      thor (>= 0.14, < 2.0)
-    jquery-ui-rails (4.2.1)
-      railties (>= 3.2.16)
-    json (1.8.2)
-    kramdown (1.4.0)
-    libv8 (3.16.14.11)
-    mail (2.6.3)
-      mime-types (>= 1.16, < 3)
-    method_source (0.8.2)
-    mime-types (2.4.3)
-    mini_portile (0.6.1)
-    minitest (5.5.1)
-    multi_json (1.10.1)
-    netrc (0.8.0)
-    nokogiri (1.6.5)
-      mini_portile (~> 0.6.0)
-    phantomjs (1.9.7.1)
-    pry (0.10.1)
-      coderay (~> 1.1.0)
-      method_source (~> 0.8.1)
-      slop (~> 3.4)
-    pry-byebug (2.0.0)
-      byebug (~> 3.4)
-      pry (~> 0.10)
-    pry-stack_explorer (0.4.9.1)
-      binding_of_caller (>= 0.7)
-      pry (>= 0.9.11)
-    puma (2.8.2)
-      rack (>= 1.1, < 2.0)
-    rack (1.5.2)
-    rack-protection (1.5.3)
-      rack
-    rack-test (0.6.3)
-      rack (>= 1.0)
-    rails (4.1.7)
-      actionmailer (= 4.1.7)
-      actionpack (= 4.1.7)
-      actionview (= 4.1.7)
-      activemodel (= 4.1.7)
-      activerecord (= 4.1.7)
-      activesupport (= 4.1.7)
-      bundler (>= 1.3.0, < 2.0)
-      railties (= 4.1.7)
-      sprockets-rails (~> 2.0)
-    rails-observers (0.1.2)
-      activemodel (~> 4.0)
-    railties (4.1.7)
-      actionpack (= 4.1.7)
-      activesupport (= 4.1.7)
-      rake (>= 0.8.7)
-      thor (>= 0.18.1, < 2.0)
-    rake (10.4.0)
-    ref (1.0.5)
-    rest-client (1.7.2)
-      mime-types (>= 1.16, < 3.0)
-      netrc (~> 0.7)
-    rspec-core (3.1.7)
-      rspec-support (~> 3.1.0)
-    rspec-expectations (3.1.2)
-      diff-lcs (>= 1.2.0, < 2.0)
-      rspec-support (~> 3.1.0)
-    rspec-mocks (3.1.3)
-      rspec-support (~> 3.1.0)
-    rspec-rails (3.1.0)
-      actionpack (>= 3.0)
-      activesupport (>= 3.0)
-      railties (>= 3.0)
-      rspec-core (~> 3.1.0)
-      rspec-expectations (~> 3.1.0)
-      rspec-mocks (~> 3.1.0)
-      rspec-support (~> 3.1.0)
-    rspec-support (3.1.2)
-    safe_yaml (1.0.4)
-    sass (3.3.9)
-    simplecov (0.9.1)
-      docile (~> 1.1.0)
-      multi_json (~> 1.0)
-      simplecov-html (~> 0.8.0)
-    simplecov-html (0.8.0)
-    sinatra (1.4.5)
-      rack (~> 1.4)
-      rack-protection (~> 1.4)
-      tilt (~> 1.3, >= 1.3.4)
-    slop (3.6.0)
-    sprockets (2.12.3)
-      hike (~> 1.2)
-      multi_json (~> 1.0)
-      rack (~> 1.0)
-      tilt (~> 1.1, != 1.3.0)
-    sprockets-rails (2.2.4)
-      actionpack (>= 3.0)
-      activesupport (>= 3.0)
-      sprockets (>= 2.8, < 4.0)
-    teaspoon (0.8.0)
-      railties (>= 3.2.5, < 5)
-    term-ansicolor (1.3.0)
-      tins (~> 1.0)
-    therubyracer (0.12.1)
-      libv8 (~> 3.16.14.0)
-      ref
-    thor (0.19.1)
-    thread_safe (0.3.4)
-    tilt (1.4.1)
-    tins (1.3.3)
-    tzinfo (1.2.2)
-      thread_safe (~> 0.1)
-    uglifier (2.5.1)
-      execjs (>= 0.3.0)
-      json (>= 1.8.0)
-    webmock (1.20.4)
-      addressable (>= 2.3.6)
-      crack (>= 0.3.2)
-    xpath (2.0.0)
-      nokogiri (~> 1.3)
-    zeroclipboard-rails (0.1.0)
-      railties (>= 3.1)
-
-PLATFORMS
-  ruby
-
-DEPENDENCIES
-  activeresource (= 4.0.0)
-  capybara
-  coveralls (= 0.7.0)
-  ctl_base_ui
-  dotenv-rails (= 0.11.1)
-  haml (= 4.0.5)
-  its
-  kramdown (= 1.4.0)
-  phantomjs
-  pry
-  pry-byebug
-  pry-stack_explorer
-  puma (= 2.8.2)
-  rails (= 4.1.7)
-  rspec-rails
-  sass (= 3.3.9)
-  sinatra (= 1.4.5)
-  teaspoon
-  therubyracer (= 0.12.1)
-  uglifier (= 2.5.1)
-  webmock
-  zeroclipboard-rails
diff --git a/pkgs/applications/networking/cluster/panamax/ui/default.nix b/pkgs/applications/networking/cluster/panamax/ui/default.nix
deleted file mode 100644
index 2f60942f014..00000000000
--- a/pkgs/applications/networking/cluster/panamax/ui/default.nix
+++ /dev/null
@@ -1,72 +0,0 @@
-{ stdenv, fetchgit, fetchurl, makeWrapper, bundlerEnv, bundler
-, ruby, openssl, sqlite, dataDir ? "/var/lib/panamax-ui"}@args:
-
-with stdenv.lib;
-
-stdenv.mkDerivation rec {
-  name = "panamax-ui-${version}";
-  version = "0.2.14";
-
-  env = bundlerEnv {
-    name = "panamax-ui-gems-${version}";
-    inherit ruby;
-    gemdir = ./.;
-  };
-
-  bundler = args.bundler.override { inherit ruby; };
-
-  src = fetchgit {
-    rev = "refs/tags/v${version}";
-    url = "git://github.com/CenturyLinkLabs/panamax-ui";
-    sha256 = "01k0h0rjqp5arvwxm2xpfxjsag5qw0qqlg7hx4v8f6jsyc4wmjfl";
-  };
-
-  buildInputs = [ makeWrapper env.ruby openssl sqlite bundler ];
-
-  setSourceRoot = ''
-    mkdir -p $out/share
-    cp -R panamax-ui $out/share/panamax-ui
-    export sourceRoot="$out/share/panamax-ui"
-  '';
-
-  postPatch = ''
-    find . -type f -iname "*.haml" -exec sed -e 's|CoreOS Journal|NixOS Journal|g' -i "{}" \;
-    find . -type f -iname "*.haml" -exec sed -e 's|CoreOS Local|NixOS Local|g' -i "{}" \;
-    find . -type f -iname "*.haml" -exec sed -e 's|CoreOS Host|NixOS Host|g' -i "{}" \;
-    sed -e 's|CoreOS Local|NixOS Local|g' -i "spec/features/manage_application_spec.rb"
-    # fix libv8 dependency
-    substituteInPlace Gemfile.lock --replace "3.16.14.7" "3.16.14.11"
-  '';
-
-  configurePhase = ''
-    export HOME=$PWD
-    export GEM_HOME=${env}/${env.ruby.gemPath}
-  '';
-
-  buildPhase = ''
-    rm -f ./bin/*
-    bundle exec rake rails:update:bin
-  '';
-
-  installPhase = ''
-    rm -rf log tmp db
-    ln -sf ${dataDir}/{db,state/log,state/tmp} .
-
-    mkdir -p $out/bin
-    makeWrapper bin/bundle "$out/bin/bundle" \
-      --run "cd $out/share/panamax-ui" \
-      --prefix "PATH" : "$out/share/panamax-ui/bin:${env.ruby}/bin:$PATH" \
-      --prefix "HOME" : "$out/share/panamax-ui" \
-      --prefix "GEM_HOME" : "${env}/${env.ruby.gemPath}" \
-      --prefix "GEM_PATH" : "$out/share/panamax-ui:${bundler}/${env.ruby.gemPath}"
-  '';
-
-  meta = with stdenv.lib; {
-    broken = true; # needs ruby 2.1
-    homepage = https://github.com/CenturyLinkLabs/panamax-ui;
-    description = "The Web GUI for Panamax";
-    license = licenses.asl20;
-    maintainers = with maintainers; [ matejc offline ];
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/applications/networking/cluster/panamax/ui/gemset.nix b/pkgs/applications/networking/cluster/panamax/ui/gemset.nix
deleted file mode 100644
index b41b482edb7..00000000000
--- a/pkgs/applications/networking/cluster/panamax/ui/gemset.nix
+++ /dev/null
@@ -1,789 +0,0 @@
-{
-  "actionmailer" = {
-    version = "4.1.7";
-    source = {
-      type = "gem";
-      sha256 = "0qjv5akjbpgd4cx518k522mssvc3y3nki65hi6fj5nbzi7a6rwq5";
-    };
-    dependencies = [
-      "actionpack"
-      "actionview"
-      "mail"
-    ];
-  };
-  "actionpack" = {
-    version = "4.1.7";
-    source = {
-      type = "gem";
-      sha256 = "07y1ny00h69xklq260smyl5md052f617gqrzkyw5sxafs5z25zax";
-    };
-    dependencies = [
-      "actionview"
-      "activesupport"
-      "rack"
-      "rack-test"
-    ];
-  };
-  "actionview" = {
-    version = "4.1.7";
-    source = {
-      type = "gem";
-      sha256 = "06sp37gfpn2jn7j6vlpp1y6vfi5kig60vyvixrjhyz0g4vgm13ax";
-    };
-    dependencies = [
-      "activesupport"
-      "builder"
-      "erubis"
-    ];
-  };
-  "activemodel" = {
-    version = "4.1.7";
-    source = {
-      type = "gem";
-      sha256 = "0rlqzz25l7vsphgkilg80kmk20d9h357awi27ax6zzb9klkqh0jr";
-    };
-    dependencies = [
-      "activesupport"
-      "builder"
-    ];
-  };
-  "activerecord" = {
-    version = "4.1.7";
-    source = {
-      type = "gem";
-      sha256 = "0j4r0m32mjbwmz9gs8brln35jzr1cn7h585ggj0w0f1ai4hjsby5";
-    };
-    dependencies = [
-      "activemodel"
-      "activesupport"
-      "arel"
-    ];
-  };
-  "activeresource" = {
-    version = "4.0.0";
-    source = {
-      type = "gem";
-      sha256 = "0fc5igjijyjzsl9q5kybkdzhc92zv8wsv0ifb0y90i632jx6d4jq";
-    };
-    dependencies = [
-      "activemodel"
-      "activesupport"
-      "rails-observers"
-    ];
-  };
-  "activesupport" = {
-    version = "4.1.7";
-    source = {
-      type = "gem";
-      sha256 = "13i3mz66d5kp5y39gjwmcfqv0wb6mxm5k1nnz40wvd38dsf7n3bs";
-    };
-    dependencies = [
-      "i18n"
-      "json"
-      "minitest"
-      "thread_safe"
-      "tzinfo"
-    ];
-  };
-  "addressable" = {
-    version = "2.3.6";
-    source = {
-      type = "gem";
-      sha256 = "137fj0whmn1kvaq8wjalp8x4qbblwzvg3g4bfx8d8lfi6f0w48p8";
-    };
-  };
-  "arel" = {
-    version = "5.0.1.20140414130214";
-    source = {
-      type = "gem";
-      sha256 = "0dhnc20h1v8ml3nmkxq92rr7qxxpk6ixhwvwhgl2dbw9mmxz0hf9";
-    };
-  };
-  "binding_of_caller" = {
-    version = "0.7.2";
-    source = {
-      type = "gem";
-      sha256 = "15jg6dkaq2nzcd602d7ppqbdxw3aji961942w93crs6qw4n6h9yk";
-    };
-    dependencies = [
-      "debug_inspector"
-    ];
-  };
-  "builder" = {
-    version = "3.2.2";
-    source = {
-      type = "gem";
-      sha256 = "14fii7ab8qszrvsvhz6z2z3i4dw0h41a62fjr2h1j8m41vbrmyv2";
-    };
-  };
-  "byebug" = {
-    version = "3.5.1";
-    source = {
-      type = "gem";
-      sha256 = "0ldc2r0b316rrn2fgdgiznskj9gb0q9n60243laq7nqw9na8wdan";
-    };
-    dependencies = [
-      "columnize"
-      "debugger-linecache"
-      "slop"
-    ];
-  };
-  "capybara" = {
-    version = "2.4.4";
-    source = {
-      type = "gem";
-      sha256 = "114k4xi4nfbp3jfbxgwa3fksbwsyibx74gbdqpcgg3dxpmzkaa4f";
-    };
-    dependencies = [
-      "mime-types"
-      "nokogiri"
-      "rack"
-      "rack-test"
-      "xpath"
-    ];
-  };
-  "coderay" = {
-    version = "1.1.0";
-    source = {
-      type = "gem";
-      sha256 = "059wkzlap2jlkhg460pkwc1ay4v4clsmg1bp4vfzjzkgwdckr52s";
-    };
-  };
-  "columnize" = {
-    version = "0.8.9";
-    source = {
-      type = "gem";
-      sha256 = "1f3azq8pvdaaclljanwhab78hdw40k908ma2cwk59qzj4hvf7mip";
-    };
-  };
-  "coveralls" = {
-    version = "0.7.0";
-    source = {
-      type = "gem";
-      sha256 = "0sz30d7b83qqsj3i0fr691w05d62wj7x3afh0ryjkqkis3fq94j4";
-    };
-    dependencies = [
-      "multi_json"
-      "rest-client"
-      "simplecov"
-      "term-ansicolor"
-      "thor"
-    ];
-  };
-  "crack" = {
-    version = "0.4.2";
-    source = {
-      type = "gem";
-      sha256 = "1il94m92sz32nw5i6hdq14f1a2c3s9hza9zn6l95fvqhabq38k7a";
-    };
-    dependencies = [
-      "safe_yaml"
-    ];
-  };
-  "ctl_base_ui" = {
-    version = "0.0.5";
-    source = {
-      type = "gem";
-      sha256 = "1pji85xmddgld5lqx52zxi5r2kx6rsjwkqlr26bp62xb29r10x57";
-    };
-    dependencies = [
-      "haml"
-      "jquery-rails"
-      "jquery-ui-rails"
-      "rails"
-      "sass"
-    ];
-  };
-  "debug_inspector" = {
-    version = "0.0.2";
-    source = {
-      type = "gem";
-      sha256 = "109761g00dbrw5q0dfnbqg8blfm699z4jj70l4zrgf9mzn7ii50m";
-    };
-  };
-  "debugger-linecache" = {
-    version = "1.2.0";
-    source = {
-      type = "gem";
-      sha256 = "0iwyx190fd5vfwj1gzr8pg3m374kqqix4g4fc4qw29sp54d3fpdz";
-    };
-  };
-  "diff-lcs" = {
-    version = "1.2.5";
-    source = {
-      type = "gem";
-      sha256 = "1vf9civd41bnqi6brr5d9jifdw73j9khc6fkhfl1f8r9cpkdvlx1";
-    };
-  };
-  "docile" = {
-    version = "1.1.5";
-    source = {
-      type = "gem";
-      sha256 = "0m8j31whq7bm5ljgmsrlfkiqvacrw6iz9wq10r3gwrv5785y8gjx";
-    };
-  };
-  "dotenv" = {
-    version = "0.11.1";
-    source = {
-      type = "gem";
-      sha256 = "09z0y0d6bks7i0sqvd8szfqj9i1kkj01anzly7shi83b3gxhrq9m";
-    };
-    dependencies = [
-      "dotenv-deployment"
-    ];
-  };
-  "dotenv-deployment" = {
-    version = "0.0.2";
-    source = {
-      type = "gem";
-      sha256 = "1ad66jq9a09qq1js8wsyil97018s7y6x0vzji0dy34gh65sbjz8c";
-    };
-  };
-  "dotenv-rails" = {
-    version = "0.11.1";
-    source = {
-      type = "gem";
-      sha256 = "0r6hif0i1lipbi7mkxx7wa5clsn65n6wyd9jry262cx396lsfrqy";
-    };
-    dependencies = [
-      "dotenv"
-    ];
-  };
-  "erubis" = {
-    version = "2.7.0";
-    source = {
-      type = "gem";
-      sha256 = "1fj827xqjs91yqsydf0zmfyw9p4l2jz5yikg3mppz6d7fi8kyrb3";
-    };
-  };
-  "execjs" = {
-    version = "2.2.2";
-    source = {
-      type = "gem";
-      sha256 = "05m41mnxn4b2p133qzbz5cy9cc5rn57aa0pp2943hxmzbk379z1f";
-    };
-  };
-  "haml" = {
-    version = "4.0.5";
-    source = {
-      type = "gem";
-      sha256 = "1xmzb0k5q271090crzmv7dbw8ss4289bzxklrc0fhw6pw3kcvc85";
-    };
-    dependencies = [
-      "tilt"
-    ];
-  };
-  "hike" = {
-    version = "1.2.3";
-    source = {
-      type = "gem";
-      sha256 = "0i6c9hrszzg3gn2j41v3ijnwcm8cc2931fnjiv6mnpl4jcjjykhm";
-    };
-  };
-  "i18n" = {
-    version = "0.7.0";
-    source = {
-      type = "gem";
-      sha256 = "1i5z1ykl8zhszsxcs8mzl8d0dxgs3ylz8qlzrw74jb0gplkx6758";
-    };
-  };
-  "its" = {
-    version = "0.2.0";
-    source = {
-      type = "gem";
-      sha256 = "0rxwds9ipqp48mzqcaxzmfcqhawazg0zlhc1avv3i2cmm3np1z8g";
-    };
-    dependencies = [
-      "rspec-core"
-    ];
-  };
-  "jquery-rails" = {
-    version = "3.1.2";
-    source = {
-      type = "gem";
-      sha256 = "0h5a565i3l2mbd221m6mz9d1nr53pz19i9qxv08qr1dv0yx2pr3y";
-    };
-    dependencies = [
-      "railties"
-      "thor"
-    ];
-  };
-  "jquery-ui-rails" = {
-    version = "4.2.1";
-    source = {
-      type = "gem";
-      sha256 = "1garrnqwh35acj2pp4sp6fpm2g881h23y644lzbic2qmcrq9wd2v";
-    };
-    dependencies = [
-      "railties"
-    ];
-  };
-  "json" = {
-    version = "1.8.2";
-    source = {
-      type = "gem";
-      sha256 = "0zzvv25vjikavd3b1bp6lvbgj23vv9jvmnl4vpim8pv30z8p6vr5";
-    };
-  };
-  "kramdown" = {
-    version = "1.4.0";
-    source = {
-      type = "gem";
-      sha256 = "001vy0ymiwbvkdbb9wpqmswv6imliv7xim00gq6rlk0chnbiaq80";
-    };
-  };
-  libv8 = {
-    version = "3.16.14.11";
-    source = {
-      type = "gem";
-      sha256 = "000vbiy78wk5r1f6p7qncab8ldg7qw5pjz7bchn3lw700gpaacxp";
-    };
-  };
-  "mail" = {
-    version = "2.6.3";
-    source = {
-      type = "gem";
-      sha256 = "1nbg60h3cpnys45h7zydxwrl200p7ksvmrbxnwwbpaaf9vnf3znp";
-    };
-    dependencies = [
-      "mime-types"
-    ];
-  };
-  "method_source" = {
-    version = "0.8.2";
-    source = {
-      type = "gem";
-      sha256 = "1g5i4w0dmlhzd18dijlqw5gk27bv6dj2kziqzrzb7mpgxgsd1sf2";
-    };
-  };
-  "mime-types" = {
-    version = "2.4.3";
-    source = {
-      type = "gem";
-      sha256 = "16nissnb31wj7kpcaynx4gr67i7pbkzccfg8k7xmplbkla4rmwiq";
-    };
-  };
-  "mini_portile" = {
-    version = "0.6.1";
-    source = {
-      type = "gem";
-      sha256 = "07gah4k84sar9d850v9gip9b323pw74vwwndh3bbzxpw5iiwsd3l";
-    };
-  };
-  "minitest" = {
-    version = "5.5.1";
-    source = {
-      type = "gem";
-      sha256 = "1h8jn0rgmwy37jnhfcg55iilw0n370vgp8xnh0g5laa8rhv32fyn";
-    };
-  };
-  "multi_json" = {
-    version = "1.10.1";
-    source = {
-      type = "gem";
-      sha256 = "1ll21dz01jjiplr846n1c8yzb45kj5hcixgb72rz0zg8fyc9g61c";
-    };
-  };
-  "netrc" = {
-    version = "0.8.0";
-    source = {
-      type = "gem";
-      sha256 = "1j4jbdvd19kq34xiqx1yqb4wmcywyrlaky8hrh09c1hz3c0v5dkb";
-    };
-  };
-  "nokogiri" = {
-    version = "1.6.5";
-    source = {
-      type = "gem";
-      sha256 = "1xmxz6fa0m4p7c7ngpgz6gjgv65lzz63dsf0b6vh7gs2fkiw8j7l";
-    };
-    dependencies = [
-      "mini_portile"
-    ];
-  };
-  "phantomjs" = {
-    version = "1.9.7.1";
-    source = {
-      type = "gem";
-      sha256 = "14as0yzwbzvshbp1f8igjxcdxc5vbjgh0jhdvy393il084inlrl7";
-    };
-  };
-  "pry" = {
-    version = "0.10.1";
-    source = {
-      type = "gem";
-      sha256 = "1j0r5fm0wvdwzbh6d6apnp7c0n150hpm9zxpm5xvcgfqr36jaj8z";
-    };
-    dependencies = [
-      "coderay"
-      "method_source"
-      "slop"
-    ];
-  };
-  "pry-byebug" = {
-    version = "2.0.0";
-    source = {
-      type = "gem";
-      sha256 = "17b6720ci9345wkzj369ydyj6hdlg2krd26zivpd4dvaijszzgzq";
-    };
-    dependencies = [
-      "byebug"
-      "pry"
-    ];
-  };
-  "pry-stack_explorer" = {
-    version = "0.4.9.1";
-    source = {
-      type = "gem";
-      sha256 = "1828jqcfdr9nk86n15ky199vf33cfz51wkpv6kx230g0dsh9r85z";
-    };
-    dependencies = [
-      "binding_of_caller"
-      "pry"
-    ];
-  };
-  "puma" = {
-    version = "2.8.2";
-    source = {
-      type = "gem";
-      sha256 = "1l57fmf8vyxfjv7ab5znq0k339cym5ghnm5xxfvd1simjp73db0k";
-    };
-    dependencies = [
-      "rack"
-    ];
-  };
-  "rack" = {
-    version = "1.5.2";
-    source = {
-      type = "gem";
-      sha256 = "19szfw76cscrzjldvw30jp3461zl00w4xvw1x9lsmyp86h1g0jp6";
-    };
-  };
-  "rack-protection" = {
-    version = "1.5.3";
-    source = {
-      type = "gem";
-      sha256 = "0cvb21zz7p9wy23wdav63z5qzfn4nialik22yqp6gihkgfqqrh5r";
-    };
-    dependencies = [
-      "rack"
-    ];
-  };
-  "rack-test" = {
-    version = "0.6.3";
-    source = {
-      type = "gem";
-      sha256 = "0h6x5jq24makgv2fq5qqgjlrk74dxfy62jif9blk43llw8ib2q7z";
-    };
-    dependencies = [
-      "rack"
-    ];
-  };
-  "rails" = {
-    version = "4.1.7";
-    source = {
-      type = "gem";
-      sha256 = "059mpljplmhfz8rr4hk40q67fllcpsy809m4mwwbkm8qwif2z5r0";
-    };
-    dependencies = [
-      "actionmailer"
-      "actionpack"
-      "actionview"
-      "activemodel"
-      "activerecord"
-      "activesupport"
-      "railties"
-      "sprockets-rails"
-    ];
-  };
-  "rails-observers" = {
-    version = "0.1.2";
-    source = {
-      type = "gem";
-      sha256 = "1lsw19jzmvipvrfy2z04hi7r29dvkfc43h43vs67x6lsj9rxwwcy";
-    };
-    dependencies = [
-      "activemodel"
-    ];
-  };
-  "railties" = {
-    version = "4.1.7";
-    source = {
-      type = "gem";
-      sha256 = "1n08h0rgj0aq5lvslnih6lvqz9wadpz6nnb25i4qhp37fhhyz9yz";
-    };
-    dependencies = [
-      "actionpack"
-      "activesupport"
-      "rake"
-      "thor"
-    ];
-  };
-  "rake" = {
-    version = "10.4.0";
-    source = {
-      type = "gem";
-      sha256 = "0a10xzqc1lh6gjkajkslr0n40wjrniyiyzxkp9m5fc8wf7b74zw8";
-    };
-  };
-  "ref" = {
-    version = "1.0.5";
-    source = {
-      type = "gem";
-      sha256 = "19qgpsfszwc2sfh6wixgky5agn831qq8ap854i1jqqhy1zsci3la";
-    };
-  };
-  "rest-client" = {
-    version = "1.7.2";
-    source = {
-      type = "gem";
-      sha256 = "0h8c0prfi2v5p8iim3wm60xc4yripc13nqwq601bfl85k4gf25i0";
-    };
-    dependencies = [
-      "mime-types"
-      "netrc"
-    ];
-  };
-  "rspec-core" = {
-    version = "3.1.7";
-    source = {
-      type = "gem";
-      sha256 = "01bawvln663gffljwzpq3mrpa061cghjbvfbq15jvhmip3csxqc9";
-    };
-    dependencies = [
-      "rspec-support"
-    ];
-  };
-  "rspec-expectations" = {
-    version = "3.1.2";
-    source = {
-      type = "gem";
-      sha256 = "0m8d36wng1lpbcs54zhg1rxh63rgj345k3p0h0c06lgknz339nzh";
-    };
-    dependencies = [
-      "diff-lcs"
-      "rspec-support"
-    ];
-  };
-  "rspec-mocks" = {
-    version = "3.1.3";
-    source = {
-      type = "gem";
-      sha256 = "0gxk5w3klia4zsnp0svxck43xxwwfdqvhr3srv6p30f3m5q6rmzr";
-    };
-    dependencies = [
-      "rspec-support"
-    ];
-  };
-  "rspec-rails" = {
-    version = "3.1.0";
-    source = {
-      type = "gem";
-      sha256 = "1b1in3n1dc1bpf9wb3p3b2ynq05iacmr48jxzc73lj4g44ksh3wq";
-    };
-    dependencies = [
-      "actionpack"
-      "activesupport"
-      "railties"
-      "rspec-core"
-      "rspec-expectations"
-      "rspec-mocks"
-      "rspec-support"
-    ];
-  };
-  "rspec-support" = {
-    version = "3.1.2";
-    source = {
-      type = "gem";
-      sha256 = "14y6v9r9lrh91ry9r79h85v0f3y9ja25w42nv5z9n0bipfcwhprb";
-    };
-  };
-  "safe_yaml" = {
-    version = "1.0.4";
-    source = {
-      type = "gem";
-      sha256 = "1hly915584hyi9q9vgd968x2nsi5yag9jyf5kq60lwzi5scr7094";
-    };
-  };
-  "sass" = {
-    version = "3.3.9";
-    source = {
-      type = "gem";
-      sha256 = "0k19vj73283i907z4wfkc9qdska2b19z7ps6lcr5s4qzwis1zkmz";
-    };
-  };
-  "simplecov" = {
-    version = "0.9.1";
-    source = {
-      type = "gem";
-      sha256 = "06hylxlalaxxldpbaqa54gc52wxdff0fixdvjyzr6i4ygxwzr7yf";
-    };
-    dependencies = [
-      "docile"
-      "multi_json"
-      "simplecov-html"
-    ];
-  };
-  "simplecov-html" = {
-    version = "0.8.0";
-    source = {
-      type = "gem";
-      sha256 = "0jhn3jql73x7hsr00wwv984iyrcg0xhf64s90zaqv2f26blkqfb9";
-    };
-  };
-  "sinatra" = {
-    version = "1.4.5";
-    source = {
-      type = "gem";
-      sha256 = "0qyna3wzlnvsz69d21lxcm3ixq7db08mi08l0a88011qi4qq701s";
-    };
-    dependencies = [
-      "rack"
-      "rack-protection"
-      "tilt"
-    ];
-  };
-  "slop" = {
-    version = "3.6.0";
-    source = {
-      type = "gem";
-      sha256 = "00w8g3j7k7kl8ri2cf1m58ckxk8rn350gp4chfscmgv6pq1spk3n";
-    };
-  };
-  "sprockets" = {
-    version = "2.12.3";
-    source = {
-      type = "gem";
-      sha256 = "1bn2drr8bc2af359dkfraq0nm0p1pib634kvhwn5lvj3r4vllnn2";
-    };
-    dependencies = [
-      "hike"
-      "multi_json"
-      "rack"
-      "tilt"
-    ];
-  };
-  "sprockets-rails" = {
-    version = "2.2.4";
-    source = {
-      type = "gem";
-      sha256 = "172cdg38cqsfgvrncjzj0kziz7kv6b1lx8pccd0blyphs25qf4gc";
-    };
-    dependencies = [
-      "actionpack"
-      "activesupport"
-      "sprockets"
-    ];
-  };
-  "teaspoon" = {
-    version = "0.8.0";
-    source = {
-      type = "gem";
-      sha256 = "1j3brbm9cv5km9d9wzb6q2b3cvc6m254z48h7h77z1w6c5wr0p3z";
-    };
-    dependencies = [
-      "railties"
-    ];
-  };
-  "term-ansicolor" = {
-    version = "1.3.0";
-    source = {
-      type = "gem";
-      sha256 = "1a2gw7gmpmx57sdpyhjwl0zn4bqp7jyjz7aslpvvphd075layp4b";
-    };
-    dependencies = [
-      "tins"
-    ];
-  };
-  "therubyracer" = {
-    version = "0.12.1";
-    source = {
-      type = "gem";
-      sha256 = "106fqimqyaalh7p6czbl5m2j69z8gv7cm10mjb8bbb2p2vlmqmi6";
-    };
-    dependencies = [
-      "libv8"
-      "ref"
-    ];
-  };
-  "thor" = {
-    version = "0.19.1";
-    source = {
-      type = "gem";
-      sha256 = "08p5gx18yrbnwc6xc0mxvsfaxzgy2y9i78xq7ds0qmdm67q39y4z";
-    };
-  };
-  "thread_safe" = {
-    version = "0.3.4";
-    source = {
-      type = "gem";
-      sha256 = "1cil2zcdzqkyr8zrwhlg7gywryg36j4mxlxw0h0x0j0wjym5nc8n";
-    };
-  };
-  "tilt" = {
-    version = "1.4.1";
-    source = {
-      type = "gem";
-      sha256 = "00sr3yy7sbqaq7cb2d2kpycajxqf1b1wr1yy33z4bnzmqii0b0ir";
-    };
-  };
-  "tins" = {
-    version = "1.3.3";
-    source = {
-      type = "gem";
-      sha256 = "14jnsg15wakdk1ljh2iv9yvzk8nb7gpzd2zw4yvjikmffqjyqvna";
-    };
-  };
-  "tzinfo" = {
-    version = "1.2.2";
-    source = {
-      type = "gem";
-      sha256 = "1c01p3kg6xvy1cgjnzdfq45fggbwish8krd0h864jvbpybyx7cgx";
-    };
-    dependencies = [
-      "thread_safe"
-    ];
-  };
-  "uglifier" = {
-    version = "2.5.1";
-    source = {
-      type = "gem";
-      sha256 = "1vihq309mzv9a2i0s8v4imrn1g2kj8z0vr88q3i5b657c4kxzfp0";
-    };
-    dependencies = [
-      "execjs"
-      "json"
-    ];
-  };
-  "webmock" = {
-    version = "1.20.4";
-    source = {
-      type = "gem";
-      sha256 = "01cz13ybxbbvkpl21bcfv0p9ir8m2zcplx93ps01ma54p25z4mxr";
-    };
-    dependencies = [
-      "addressable"
-      "crack"
-    ];
-  };
-  "xpath" = {
-    version = "2.0.0";
-    source = {
-      type = "gem";
-      sha256 = "04kcr127l34p7221z13blyl0dvh0bmxwx326j72idayri36a394w";
-    };
-    dependencies = [
-      "nokogiri"
-    ];
-  };
-  "zeroclipboard-rails" = {
-    version = "0.1.0";
-    source = {
-      type = "gem";
-      sha256 = "00ixal0a0mxaqsyzp06c6zz4qdwqydy1qv4n7hbyqfhbmsdalcfc";
-    };
-    dependencies = [
-      "railties"
-    ];
-  };
-}
diff --git a/pkgs/applications/networking/cluster/pig/default.nix b/pkgs/applications/networking/cluster/pig/default.nix
index 49c57b47028..45dcfb1738c 100644
--- a/pkgs/applications/networking/cluster/pig/default.nix
+++ b/pkgs/applications/networking/cluster/pig/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
 
-  name = "pig-0.14.0";
+  name = "pig-0.16.0";
 
   src = fetchurl {
     url = "mirror://apache/pig/${name}/${name}.tar.gz";
-    sha256 = "183in34cj93ny3lhqyq76g9pjqgw1qlwakk5v6x847vrlkfndska";
+    sha256 = "0p79grz5islnq195lv7pqdxb5l3v4y0k0w63602827qs70zpr508";
 
   };
 
diff --git a/pkgs/applications/networking/cluster/spark/default.nix b/pkgs/applications/networking/cluster/spark/default.nix
index 99b7566fc71..6401194eac2 100644
--- a/pkgs/applications/networking/cluster/spark/default.nix
+++ b/pkgs/applications/networking/cluster/spark/default.nix
@@ -1,20 +1,16 @@
-{ stdenv, fetchzip, makeWrapper, jre, pythonPackages
+{ stdenv, fetchzip, makeWrapper, jre, pythonPackages, coreutils, hadoop
 , RSupport? true, R
 , mesosSupport ? true, mesos
 , version
 }:
 
 let
-  versionMap = {
-    "2.2.1" = {
-                hadoopVersion = "hadoop2.7";
-                sparkSha256 = "10nxsf9a6hj1263sxv0cbdqxdb8mb4cl6iqq32ljq9ydvk32s99c";
-              };
-  };
+  sha256 = {
+    "1.6.3" = "142hw73wf20d846l83ydx0yg7qj5qxywm4h7qrhwnd7lsy2sbnjf";
+    "2.2.1" = "10nxsf9a6hj1263sxv0cbdqxdb8mb4cl6iqq32ljq9ydvk32s99c";
+  }.${version};
 in
 
-with versionMap.${version};
-
 with stdenv.lib;
 
 stdenv.mkDerivation rec {
@@ -22,15 +18,15 @@ stdenv.mkDerivation rec {
   name = "spark-${version}";
 
   src = fetchzip {
-    url    = "mirror://apache/spark/${name}/${name}-bin-${hadoopVersion}.tgz";
-    sha256 = sparkSha256;
+    inherit sha256;
+    url    = "mirror://apache/spark/${name}/${name}-bin-without-hadoop.tgz";
   };
 
   buildInputs = [ makeWrapper jre pythonPackages.python pythonPackages.numpy ]
     ++ optional RSupport R
     ++ optional mesosSupport mesos;
 
-  untarDir = "${name}-bin-${hadoopVersion}";
+  untarDir = "${name}-bin-without-hadoop";
   installPhase = ''
     mkdir -p $out/{lib/${untarDir}/conf,bin,/share/java}
     mv * $out/lib/${untarDir}
@@ -42,6 +38,7 @@ stdenv.mkDerivation rec {
     cat > $out/lib/${untarDir}/conf/spark-env.sh <<- EOF
     export JAVA_HOME="${jre}"
     export SPARK_HOME="$out/lib/${untarDir}"
+    export SPARK_DIST_CLASSPATH=$(${hadoop}/bin/hadoop classpath)
     export PYSPARK_PYTHON="${pythonPackages.python}/bin/${pythonPackages.python.executable}"
     export PYTHONPATH="\$PYTHONPATH:$PYTHONPATH"
     ${optionalString RSupport
@@ -53,6 +50,7 @@ stdenv.mkDerivation rec {
 
     for n in $(find $out/lib/${untarDir}/bin -type f ! -name "*.*"); do
       makeWrapper "$n" "$out/bin/$(basename $n)"
+      substituteInPlace "$n" --replace dirname ${coreutils.out}/bin/dirname
     done
     ln -s $out/lib/${untarDir}/lib/spark-assembly-*.jar $out/share/java
   '';
@@ -62,7 +60,7 @@ stdenv.mkDerivation rec {
     homepage         = "http://spark.apache.org";
     license          = stdenv.lib.licenses.asl20;
     platforms        = stdenv.lib.platforms.all;
-    maintainers      = with maintainers; [ thoughtpolice offline ];
+    maintainers      = with maintainers; [ thoughtpolice offline kamilchm ];
     repositories.git = git://git.apache.org/spark.git;
   };
 }
diff --git a/pkgs/applications/networking/cluster/taktuk/default.nix b/pkgs/applications/networking/cluster/taktuk/default.nix
index 313e1af707b..1510dc575cc 100644
--- a/pkgs/applications/networking/cluster/taktuk/default.nix
+++ b/pkgs/applications/networking/cluster/taktuk/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchurl, perl , openssh}:
 
 stdenv.mkDerivation rec {
-  version = "3.7.5";
+  version = "3.7.7";
   name = "taktuk-${version}";
 
   buildInputs = [ perl ];
 
   src = fetchurl {
     url = "https://gforge.inria.fr/frs/download.php/33412/${name}.tar.gz";
-    sha256 = "d96ef6c63d77f32339066f143ef7e0bc00041e10724254bf15787746ad1f1070";
+    sha256 = "0w0h3ynlcxvq2nzm8hkj20g0805ww3vkw53g0qwj7wvp7p3gcvnr";
   };
 
   preBuild = ''
diff --git a/pkgs/applications/networking/cluster/terraform-provider-ibm/default.nix b/pkgs/applications/networking/cluster/terraform-provider-ibm/default.nix
new file mode 100644
index 00000000000..304df0947ac
--- /dev/null
+++ b/pkgs/applications/networking/cluster/terraform-provider-ibm/default.nix
@@ -0,0 +1,38 @@
+{ stdenv, lib, buildGoPackage, fetchFromGitHub }:
+
+#
+# USAGE:
+# install the following package globally or in nix-shell:
+#
+#   (terraform.withPlugins ( plugins: [ terraform-provider-ibm ]))
+#
+# examples:
+# https://github.com/IBM-Cloud/terraform-provider-ibm/tree/master/examples
+#
+
+buildGoPackage rec {
+  name = "terraform-provider-ibm-${version}";
+  version = "0.9.1";
+
+  goPackagePath = "github.com/terraform-providers/terraform-provider-ibm";
+  subPackages = [ "./" ];
+
+  src = fetchFromGitHub {
+    owner = "IBM-Cloud";
+    repo = "terraform-provider-ibm";
+    sha256 = "1j8v7r5lsvrg1afdbwxi8vq665qr47a9pddqgmpkirh99pzixgr6";
+    rev = "v${version}";
+  };
+
+  # Terraform allow checking the provider versions, but this breaks
+  # if the versions are not provided via file paths.
+  postBuild = "mv go/bin/terraform-provider-ibm{,_v${version}}";
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/IBM-Cloud/terraform-provider-ibm;
+    description = "Terraform provider is used to manage IBM Cloud resources.";
+    platforms = platforms.all;
+    license = licenses.mpl20;
+    maintainers = with maintainers; [ jensbin ];
+  };
+}
diff --git a/pkgs/applications/networking/cluster/terraform-provider-libvirt/default.nix b/pkgs/applications/networking/cluster/terraform-provider-libvirt/default.nix
new file mode 100644
index 00000000000..34a3be55f30
--- /dev/null
+++ b/pkgs/applications/networking/cluster/terraform-provider-libvirt/default.nix
@@ -0,0 +1,47 @@
+{ stdenv, buildGoPackage, fetchFromGitHub, libvirt, pkgconfig, makeWrapper, cdrtools }:
+
+# USAGE:
+# install the following package globally or in nix-shell:
+#
+#   (terraform.withPlugins (old: [terraform-provider-libvirt]))
+#
+# configuration.nix:
+#
+#   virtualisation.libvirtd.enable = true;
+#
+# terraform-provider-libvirt does not manage pools at the moment:
+#
+#   $ virsh --connect "qemu:///system" pool-define-as default dir - - - - /var/lib/libvirt/images
+#   $ virsh --connect "qemu:///system" pool-start default
+#
+# pick an example from (i.e ubuntu):
+# https://github.com/dmacvicar/terraform-provider-libvirt/tree/master/examples
+
+buildGoPackage rec {
+  name = "terraform-provider-libvirt-${version}";
+  version = "0.3";
+
+  goPackagePath = "github.com/dmacvicar/terraform-provider-libvirt";
+
+  src = fetchFromGitHub {
+    owner = "dmacvicar";
+    repo = "terraform-provider-libvirt";
+    rev = "v${version}";
+    sha256 = "004gxy55p5cf39f2zpah0i2zhvs4x6ixnxy8z9v7314604ggpkna";
+  };
+
+  buildInputs = [ libvirt pkgconfig makeWrapper ];
+
+  goDeps = ./deps.nix;
+
+  propagatedBuildInputs = [ cdrtools ];
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/dmacvicar/terraform-provider-libvirt;
+    description = "Terraform provider for libvirt";
+    platforms = platforms.linux;
+    license = licenses.asl20;
+    maintainers = with maintainers; [ mic92 ];
+  };
+}
+
diff --git a/pkgs/applications/networking/cluster/terraform-provider-libvirt/deps.nix b/pkgs/applications/networking/cluster/terraform-provider-libvirt/deps.nix
new file mode 100644
index 00000000000..fdf394073ab
--- /dev/null
+++ b/pkgs/applications/networking/cluster/terraform-provider-libvirt/deps.nix
@@ -0,0 +1,12 @@
+# This file was generated by https://github.com/kamilchm/go2nix v1.2.1
+[
+  {
+    goPackagePath = "github.com/aws/aws-sdk-go";
+    fetch = {
+      type = "git";
+      url = "https://github.com/aws/aws-sdk-go";
+      rev = "c861d27d0304a79f727e9a8a4e2ac1e74602fdc0";
+      sha256 = "023cyg551dvm2l50dx1qsikkj77lk2dhiya7by8in7h65av6hjgl";
+    };
+  }
+]
diff --git a/pkgs/applications/networking/cluster/terraform-provider-nixos/default.nix b/pkgs/applications/networking/cluster/terraform-provider-nixos/default.nix
new file mode 100644
index 00000000000..135e5402929
--- /dev/null
+++ b/pkgs/applications/networking/cluster/terraform-provider-nixos/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, lib, buildGoPackage, fetchFromGitHub }:
+buildGoPackage rec {
+  name = "terraform-provider-nixos-${version}";
+  version = "0.0.1";
+  goPackagePath = "github.com/tweag/terraform-provider-nixos";
+  src = fetchFromGitHub {
+    owner = "tweag";
+    repo = "terraform-provider-nixos";
+    sha256 = "00vz6qjq1pk39iqg4356b8g3c6slla9jifkv2knk46gc9q93q0lf";
+    rev = "v${version}";
+  };
+
+  # Terraform allow checking the provider versions, but this breaks
+  # if the versions are not provided via file paths.
+  postBuild = "mv go/bin/terraform-provider-nixos{,_v${version}}";
+
+  meta = with stdenv.lib; {
+    description = "Terraform plugin for outputting NixOS configuration files from Terraform resources.";
+    homepage = "https://github.com/tweag/terraform-provider-nixos";
+    license = licenses.mpl20;
+    maintainers = with maintainers; [ grahamc ];
+  };
+}
diff --git a/pkgs/applications/networking/cluster/terraform/default.nix b/pkgs/applications/networking/cluster/terraform/default.nix
index 890fe231cbf..5879c0e8397 100644
--- a/pkgs/applications/networking/cluster/terraform/default.nix
+++ b/pkgs/applications/networking/cluster/terraform/default.nix
@@ -44,6 +44,9 @@ let
         let
           actualPlugins = plugins terraform.plugins;
 
+          # Wrap PATH of plugins propagatedBuildInputs, plugins may have runtime dependencies on external binaries
+          wrapperInputs = lib.unique (lib.flatten (lib.catAttrs "propagatedBuildInputs" (builtins.filter (x: x != null) actualPlugins)));
+
           passthru = {
             withPlugins = newplugins: withPlugins (x: newplugins x ++ actualPlugins);
 
@@ -64,7 +67,8 @@ let
               buildCommand = ''
                 mkdir -p $out/bin/
                 makeWrapper "${terraform.bin}/bin/terraform" "$out/bin/terraform" \
-                  --set NIX_TERRAFORM_PLUGIN_DIR "${buildEnv { name = "tf-plugin-env"; paths = actualPlugins; }}/bin"
+                  --set NIX_TERRAFORM_PLUGIN_DIR "${buildEnv { name = "tf-plugin-env"; paths = actualPlugins; }}/bin" \
+                  --prefix PATH : "${lib.makeBinPath wrapperInputs}"
               '';
 
               inherit passthru;
@@ -100,8 +104,8 @@ in rec {
   terraform_0_10-full = terraform_0_10.withPlugins lib.attrValues;
 
   terraform_0_11 = pluggable (generic {
-    version = "0.11.3";
-    sha256 = "0637x7jcm62pdnivmh4rggly6dmlvdh3jpsd1z4vba15gbm203nz";
+    version = "0.11.6";
+    sha256 = "17kd3ln1i40qb8fll5918rvgackzf1ibmr7li1p9vky4ki3iwr0l";
     patches = [ ./provider-path.patch ];
     passthru = { inherit plugins; };
   });
diff --git a/pkgs/applications/networking/cluster/terraform/providers/data.nix b/pkgs/applications/networking/cluster/terraform/providers/data.nix
index af359ed1a4d..7aed4b95dd4 100644
--- a/pkgs/applications/networking/cluster/terraform/providers/data.nix
+++ b/pkgs/applications/networking/cluster/terraform/providers/data.nix
@@ -4,15 +4,15 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-alicloud";
-      version = "1.5.0";
-      sha256  = "14wrp6szg9mh8bxqqjbx0i654lciw09wghm8h3c6x79ayxan5n8x";
+      version = "1.9.1";
+      sha256  = "11rsvzyc74v14n7g0z1mwyykaz7m6bmvi38jx711b6vpxvm2scva";
     };
   archive =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-archive";
-      version = "1.0.0";
-      sha256  = "0z85fpd70m2w59vxp82d8ipylaazf6l890rkjca4dm14rkq352zn";
+      version = "1.0.3";
+      sha256  = "1il8v9zi838naprr8dqzipk6ns71l8vdqidarxklnn8wdwxmacg4";
     };
   arukas =
     {
@@ -32,8 +32,8 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-aws";
-      version = "1.6.0";
-      sha256  = "0x4lrpq00z5ww8awym7p6kwrf17ghai36zj8hr10n4qraf8a9ma6";
+      version = "1.16.0";
+      sha256  = "0knivwxdjkxyaqka0vvn0lh2ndbg660dw2g03iw00fx6ska1zn0c";
     };
   azure-classic =
     {
@@ -46,8 +46,8 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-azurerm";
-      version = "1.0.0";
-      sha256  = "0grpc7apfn03slkkily8agl8pv6mc0j58ch8fa6jgqcqy6dbd0kh";
+      version = "1.4.0";
+      sha256  = "0g1i1aasi44zn5bdivzqkk1kshq271x2lydjskyqq7jfx27myibb";
     };
   bitbucket =
     {
@@ -81,29 +81,29 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-cloudflare";
-      version = "0.1.0";
-      sha256  = "073j0kqkccj7yrqz6j4vx722vmy6mmvmgidamkjnhhjcwm6g1jbq";
+      version = "1.0.0";
+      sha256  = "1ar9wcgr45f2v6bqjn24zii0qwfppla8ya3gjc546sh1a7m0h9p3";
     };
   cloudscale =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-cloudscale";
-      version = "1.0.0";
-      sha256  = "0yqiz4xywbd3568hl6va8da81fbc1hnynlz4z0vqxgi3bs8hhdhz";
+      version = "1.0.1";
+      sha256  = "0lhzwbm1a2s11s0ahb3vxfvshh385fgy1ficvip4rl31dahhwrav";
     };
   cloudstack =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-cloudstack";
-      version = "0.1.4";
-      sha256  = "1dj6zkwv0bix31b8sjad9gil43m8c2c5d1dr10qza40f9z4agaxa";
+      version = "0.1.5";
+      sha256  = "139wq6rr6fczjz496fqkxh6cmscx5hfnv2hvhfwpkhvqipsnlxmq";
     };
   cobbler =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-cobbler";
-      version = "1.0.0";
-      sha256  = "0v7j9r2ic3ks2hy80mx5xay05m6r52vclsbbbf9vb0srnrvz21gy";
+      version = "1.0.1";
+      sha256  = "1z0iijfrbbdrgszvc7jlcr4105zragbc0iq8x48vi24yipqgf5a8";
     };
   consul =
     {
@@ -172,15 +172,15 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-fastly";
-      version = "0.1.3";
-      sha256  = "0q331j91c1kns01yhvbxrq0vf21653ch6fvkzlx61337az7jhky8";
+      version = "0.1.4";
+      sha256  = "0x8s11c30k9a95mafyb2zl3wh9hgbdm7jgajzy5y4xnnr96ca13k";
     };
   github =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-github";
-      version = "0.1.1";
-      sha256  = "0f6nk9nb8h8247rz7x1w11amp0qdcmy1alr8jgd2chrjv9f8nif0";
+      version = "1.0.0";
+      sha256  = "0nca90s4bangraly1pcn3jfkfksaw0g2chs5ba6m7z6bhkrj2ylb";
     };
   gitlab =
     {
@@ -193,15 +193,15 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-google";
-      version = "1.4.0";
-      sha256  = "0nlm02ibp2w4m38pvmw6r29807863h23y8k00ywmkcr7yiy1zilr";
+      version = "1.10.0";
+      sha256  = "08ayi30aqw9lz8qn982vl9m3z4prah60fqq2q9hvscf6qb9g8lr0";
     };
   grafana =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-grafana";
-      version = "1.0.0";
-      sha256  = "0fsdin1rd7hah6pp3x568db2mmk66q0fhiplsri7vyj03n3z55v2";
+      version = "1.0.2";
+      sha256  = "17pj4mm7ik9llhgckza822866x6986cdcr821f16dchvn3bfbf2i";
     };
   heroku =
     {
@@ -235,15 +235,15 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-influxdb";
-      version = "0.1.0";
-      sha256  = "0msc6maxsiwmsg8ppdfj1397c66llhaf15nc4hmr2h6dxqkb5wl5";
+      version = "1.0.0";
+      sha256  = "1w1izzs22b2w2qmpdxbhaj9kvnfyw0wlq3nigrigwwvqav43knh9";
     };
   kubernetes =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-kubernetes";
-      version = "1.0.1";
-      sha256  = "0s8h8nxsl07bhvynmgps07giqr2xmxizk1rcx4xivfc3q5mkvnhb";
+      version = "1.1.0";
+      sha256  = "1lhdmglc6nd24ss7z41qqbpsiy71ajvixhq4pfiq0b19hwj6awgn";
     };
   librato =
     {
@@ -263,15 +263,15 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-logentries";
-      version = "0.1.0";
-      sha256  = "11fkb84gqcq59wk5kqn3h428jrc2gkl659zxmkdldad6jdll9ypa";
+      version = "1.0.0";
+      sha256  = "04xprkb9zwdjyzmsdf10bgmn8sa8q7jw0izz8lw0cc9hag97qgbq";
     };
   logicmonitor =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-logicmonitor";
-      version = "1.0.0";
-      sha256  = "106y74w9nhqs65h26ipyjg636zcrnpn5s8r49sg4kh4ynvnrkv8v";
+      version = "1.1.0";
+      sha256  = "16blwfbvx80j5s6809wrlfnkq0qvjasz0zi4ykwzvkqxh00igj7r";
     };
   mailgun =
     {
@@ -284,29 +284,36 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-mysql";
-      version = "1.0.1";
-      sha256  = "07lm1la9llp52gfs5wf6kq5rjys9lmd3hl7x5821vz54rakzic6n";
+      version = "1.1.0";
+      sha256  = "06alk5vd20wzf493dw8hb80q0sx0kw4j8g1sd0193fhni0k4rflw";
     };
   newrelic =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-newrelic";
-      version = "0.1.1";
-      sha256  = "1fqgxcspkgm3ncsqbvw79h5n09agba7q80nz0mrq09x0pyk8y051";
+      version = "1.0.0";
+      sha256  = "1bcxq4f50qci54gckx4yax2v2qpazp10n5vcci4cba0bf5l8zx62";
     };
   nomad =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-nomad";
-      version = "1.1.0";
-      sha256  = "0n3bd9fiablhb2zxmlqnidahdqlpj3i7701vi62zds04kcgdkxw8";
+      version = "1.2.0";
+      sha256  = "1z3knyjn5ymbk4vaja4ka9zn57cgl7vr7hqv6ybqw0q9i2ykaici";
     };
   ns1 =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-ns1";
-      version = "0.1.0";
-      sha256  = "1in9ggrvxfb3maxhgiv997hndkpnqpgx1c1365lfizhp7km5ncvj";
+      version = "1.0.0";
+      sha256  = "0zjdhz6miwlg3b68pbd99c6nw7hhyzxy736734xz8g3w89xn18f5";
+    };
+  nsxt =
+    {
+      owner   = "terraform-providers";
+      repo    = "terraform-provider-nsxt";
+      version = "1.0.0";
+      sha256  = "09yliw59wp9flfgmkznbf4syl510wpxsplzr8sa9m2vw0yc78jnq";
     };
   null =
     {
@@ -326,15 +333,15 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-opc";
-      version = "1.0.1";
-      sha256  = "0r8xczb1vy1h6ka97x7x025d030m7d01r52bbmf2z9sh81hhsa1x";
+      version = "1.1.0";
+      sha256  = "19yip5v00b57j3h7870hw51nsxcwib7mlhdzzn276z74af6zirsr";
     };
   openstack =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-openstack";
-      version = "1.1.0";
-      sha256  = "1w747qbk24b18v6x7l4n08pxnwak395fq1grajpxf3qw6afchjdj";
+      version = "1.3.0";
+      sha256  = "0pyp95i6z6il2kl28cvilqi81wqs076d6f0zacjyvmn1d0blqrnx";
     };
   opentelekomcloud =
     {
@@ -350,6 +357,13 @@
       version = "0.1.0";
       sha256  = "0zs0cl6jl4rijcs6vv5k8k5pyf0zs52dlgqcnb1gzslh8sg5pdkm";
     };
+  oraclepaas =
+    {
+      owner   = "terraform-providers";
+      repo    = "terraform-provider-oraclepaas";
+      version = "1.0.0";
+      sha256  = "1h66ijnq172zk0bkv68iq0sy5l6jlasa2pi9q8fq54ib9sxnfkk2";
+    };
   ovh =
     {
       owner   = "terraform-providers";
@@ -361,22 +375,29 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-packet";
-      version = "1.1.0";
-      sha256  = "0848y78jri1kzd70xcgv0p62yww46d0kr9zpqwh32m866xx5isfi";
+      version = "1.2.3";
+      sha256  = "0vx2pvrxgpy137v3i563w0sdqqrqp6p6sls27fg76cfxrqik5dpk";
     };
   pagerduty =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-pagerduty";
-      version = "0.1.2";
-      sha256  = "1dqzi53bnk4qcjhlimr13352nzb1nsij7354zapz2sgnz21v89mm";
+      version = "1.1.0";
+      sha256  = "100zxmpgd5qbzivkc2ja75980yrlz0k50x7448wf1kp2inyylxq0";
+    };
+  panos =
+    {
+      owner   = "terraform-providers";
+      repo    = "terraform-provider-panos";
+      version = "1.1.0";
+      sha256  = "1j3j0bdblw54g2l4xdwm9604n3qfb6zb4b8p081hs5nv004awka4";
     };
   postgresql =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-postgresql";
-      version = "0.1.0";
-      sha256  = "0gg48b2zn18ynvhnabvyfvw5wif0m1a852798wahv8fbv5d1vh7j";
+      version = "0.1.1";
+      sha256  = "0ls5z02vaalcrbaq375qnk0267pb17rpsx4s3plfnr7qclv21pwn";
     };
   powerdns =
     {
@@ -389,8 +410,8 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-profitbricks";
-      version = "1.0.1";
-      sha256  = "02blr487pbp7myw2l6nib9g1a8vplk9khakxaj9wbg779vp8wvcg";
+      version = "1.1.1";
+      sha256  = "0sn48adgpjw20a6jwagarnh5jasq0v36zsbd204j0vx4iam3vm9m";
     };
   rabbitmq =
     {
@@ -410,8 +431,8 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-random";
-      version = "1.1.0";
-      sha256  = "1mal0pg37a99q0sjqbccwc2ipwvxm8lqp93lg8i96f868hiv4yzl";
+      version = "1.2.0";
+      sha256  = "00gzqav21h2x2spczwcddlwl0llhgy03djvjjq9g9wb5yvcf4yll";
     };
   rundeck =
     {
@@ -424,8 +445,8 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-scaleway";
-      version = "1.0.0";
-      sha256  = "0zp9hhvlcn6cpnblwrr03icbagzk745b0lrm5bs23crbnddal905";
+      version = "1.3.0";
+      sha256  = "1yd2xdr52z0f3ykfhsfgf57zzhjglci8mvbimdf6z8xmdgfhwjbf";
     };
   softlayer =
     {
@@ -466,15 +487,15 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-tls";
-      version = "1.0.1";
-      sha256  = "0mzm1pkqgcslz3j4an1vpx92hnqa53ly0kp3zix8kp2kfnn17qky";
+      version = "1.1.0";
+      sha256  = "1kzq6al9rzpmk98bmxcf5gjx5s28gfjp1xvdsnd4a113pljn0ddb";
     };
   triton =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-triton";
-      version = "0.4.1";
-      sha256  = "09zljia422afm565d3qm57j5y1n12h52bgyqz6s1s8dmcdygd75g";
+      version = "0.5.0";
+      sha256  = "1cbv4bliswiwbhr9bh2m4faazhj0v89jnwn0fndfjw3rka1b97h7";
     };
   ultradns =
     {
@@ -487,8 +508,8 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-vault";
-      version = "1.0.0";
-      sha256  = "1v4b8zs0s48gqgsh719hwi69i4h8i5vvp2g5m881z5yzv7n7haqw";
+      version = "1.1.0";
+      sha256  = "1g0cca662glqcz83l1skhj3nb7g386x65kwz95kyp59nvyxywvbq";
     };
   vcd =
     {
@@ -501,7 +522,7 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-vsphere";
-      version = "1.1.1";
-      sha256  = "1y209bwkk79ycxjl3b6c20n0z2g5d6njna85w68a0w6npk88zva9";
+      version = "1.4.1";
+      sha256  = "16dgszmcsfzbflqg053av1v8wgwy8m6f2qlk55fg3ww1a59c0wy1";
     };
 }
diff --git a/pkgs/applications/networking/cluster/terraform/providers/update-all b/pkgs/applications/networking/cluster/terraform/providers/update-all
index 16eb6004e3e..24695066fa2 100755
--- a/pkgs/applications/networking/cluster/terraform/providers/update-all
+++ b/pkgs/applications/networking/cluster/terraform/providers/update-all
@@ -58,7 +58,7 @@ cd "$(dirname "$0")"
 
 if [[ -z "${GITHUB_AUTH:-}" ]]; then
   cat <<'HELP'
-Missing the GITHUB_AUTH env. Thi is required to work around the 60 request
+Missing the GITHUB_AUTH env. This is required to work around the 60 request
 per hour rate-limit.
 
 Go to https://github.com/settings/tokens and create a new token with the
diff --git a/pkgs/applications/networking/cluster/terragrunt/default.nix b/pkgs/applications/networking/cluster/terragrunt/default.nix
index a31c7882693..996c994cf4c 100644
--- a/pkgs/applications/networking/cluster/terragrunt/default.nix
+++ b/pkgs/applications/networking/cluster/terragrunt/default.nix
@@ -1,16 +1,16 @@
-{ stdenv, lib, buildGoPackage, fetchFromGitHub, terraform, makeWrapper }:
+{ stdenv, lib, buildGoPackage, fetchFromGitHub, terraform-full, makeWrapper }:
 
 buildGoPackage rec {
   name = "terragrunt-${version}";
-  version = "0.14.0";
+  version = "0.14.6";
 
   goPackagePath = "github.com/gruntwork-io/terragrunt";
 
   src = fetchFromGitHub {
-    rev    = "v${version}";
     owner  = "gruntwork-io";
     repo   = "terragrunt";
-    sha256 = "1fz4ny7jmwr1xp68bmzlb6achird7jwbb6n6zim6c1w0qybxiqg9";
+    rev    = "v${version}";
+    sha256 = "14zg1h76wfg6aa78llcnza7kapnl5ks6m2vg73b90azfi49fmkwz";
   };
 
   goDeps = ./deps.nix;
@@ -23,7 +23,7 @@ buildGoPackage rec {
 
   postInstall = ''
     wrapProgram $bin/bin/terragrunt \
-      --set TERRAGRUNT_TFPATH ${lib.getBin terraform}/bin/terraform
+      --set TERRAGRUNT_TFPATH ${lib.getBin terraform-full}/bin/terraform
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/networking/cluster/terragrunt/deps.nix b/pkgs/applications/networking/cluster/terragrunt/deps.nix
index 30d6acb9afa..8432a8366b7 100644
--- a/pkgs/applications/networking/cluster/terragrunt/deps.nix
+++ b/pkgs/applications/networking/cluster/terragrunt/deps.nix
@@ -5,8 +5,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/aws/aws-sdk-go";
-      rev = "00cca3f093a8236a93fbbeeae7d28ad83811683c";
-      sha256 = "1x2frsin6d9drx9k65pv0r0l0asj16fzj815s2a9db2mxh8jycsp";
+      rev = "25253087ea42da08900c4c1fc34c04bdb4a97d5a";
+      sha256 = "0p6mf53f4l9b26yc4qlm1s7yls73hsw8klyfhmnxhk2mq8k6ix4m";
     };
   }
   {
@@ -23,8 +23,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/go-errors/errors";
-      rev = "3afebba5a48dbc89b574d890b6b34d9ee10b4785";
-      sha256 = "1vwgczqzd5i6bx12g9ln5cqfsbc7g0f8cz8yvcrasss2injpndi0";
+      rev = "a6af135bd4e28680facf08a3d206b454abc877a4";
+      sha256 = "0rznpknk19rxkr7li6dqs52c26pjazp69lh493l4ny4sxn5922lp";
     };
   }
   {
@@ -41,8 +41,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/hashicorp/go-getter";
-      rev = "285374cdfad63de2c43d7562f49ced6dde5a7ba0";
-      sha256 = "0xmwxfb0vm20ga1j1r3lavxm15vwqdkisdkshw1nia7byhwmb4xm";
+      rev = "64040d90d4ab861e7e833d689dc76a0f176d8dec";
+      sha256 = "0g25nx42z6ykd7jqzlrxf161h8lqrpxpddmbspl4w3a84wphhgms";
     };
   }
   {
@@ -50,8 +50,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/hashicorp/go-version";
-      rev = "4fe82ae3040f80a03d04d2cccb5606a626b8e1ee";
-      sha256 = "0gq4207s1yf2nq4c2ir3bsai29svzz4830g1vbvzdrpis58r1x4m";
+      rev = "23480c0665776210b5fbbac6eaaee40e3e6a96b7";
+      sha256 = "056zs67diq3m7skmmq3pnz6wymfcg55dfs5zf86xkfqqpj10kyf7";
     };
   }
   {
@@ -59,8 +59,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/hashicorp/hcl";
-      rev = "23c074d0eceb2b8a5bfdbb271ab780cde70f05a8";
-      sha256 = "0db4lpqb5m130rmfy3s3gjjf4dxllypmyrzxv6ggqhkmwmc7w4mc";
+      rev = "f40e974e75af4e271d97ce0fc917af5898ae7bda";
+      sha256 = "1w5w3m40xv85gngw8g1kjbcgah1vl4ardbpg2cxgj1svf80zazxx";
     };
   }
   {
@@ -95,8 +95,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/mitchellh/mapstructure";
-      rev = "b4575eea38cca1123ec2dc90c26529b5c5acfcff";
-      sha256 = "1x80f3kcb1wd2mdxks3wcsp26q9g7ahr8b18z1anl5igg6zl61kf";
+      rev = "00c29f56e2386353d58c599509e8dc3801b0d716";
+      sha256 = "1vw8fvhax0d567amgvxr7glcl12lvzg2sbzs007q5k5bbwn1szyb";
     };
   }
   {
@@ -104,8 +104,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/stretchr/testify";
-      rev = "12b6f73e6084dad08a7c6e575284b177ecafbc71";
-      sha256 = "01f80s0q64pw5drfgqwwk1wfwwkvd2lhbs56lhhkff4ni83k73fd";
+      rev = "c679ae2cc0cb27ec3293fea7e254e47386f05d69";
+      sha256 = "1rrdn7k83j492rzhqwkh6956sj8m2nbk44d7r1xa9nsn3hfwj691";
     };
   }
   {
@@ -122,8 +122,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/urfave/cli";
-      rev = "75104e932ac2ddb944a6ea19d9f9f26316ff1145";
-      sha256 = "13iagavgqq3sn9m3sck0chydwy5rcbhj0ylvc1169vs8q2m13yh9";
+      rev = "8e01ec4cd3e2d84ab2fe90d8210528ffbb06d8ff";
+      sha256 = "0cpr10n4ps3gcdbcink71ry9hzhdb5rrcysmylybs8h2lzxqgc1i";
     };
   }
 ]
diff --git a/pkgs/applications/networking/compactor/default.nix b/pkgs/applications/networking/compactor/default.nix
new file mode 100644
index 00000000000..749b94f7b7e
--- /dev/null
+++ b/pkgs/applications/networking/compactor/default.nix
@@ -0,0 +1,52 @@
+{ autoconf, automake, boost, cbor-diag, cddl, fetchFromGitHub, file, gcc, libpcap, libtins, libtool, lzma, openssl, pkgconfig, stdenv, tcpdump, wireshark-cli }:
+
+stdenv.mkDerivation rec {
+  name = "compactor-${version}";
+  version = "0.11.0";
+
+  src = fetchFromGitHub {
+    owner = "dns-stats";
+    repo = "compactor";
+    rev = "${version}";
+    sha256 = "1zn6w99xqq5igaz0n89429i78a5pj4nnfn1mm5yv1yfbn1lm0y3l";
+  };
+
+  # cbor-diag, cddl and wireshark-cli are only used for tests.
+  nativeBuildInputs = [ autoconf automake libtool pkgconfig cbor-diag cddl wireshark-cli ];
+  buildInputs = [
+    boost
+    libpcap
+    openssl
+    libtins
+    lzma
+  ];
+
+  patchPhase = ''
+    patchShebangs test-scripts/
+  '';
+
+  preConfigure = ''
+    sh autogen.sh
+    substituteInPlace configure \
+      --replace "/usr/bin/file" "${file}/bin/file"
+  '';
+  CXXFLAGS = "-std=c++11";
+  configureFlags = [
+    "--with-boost-libdir=${boost.out}/lib"
+    "--with-boost=${boost.dev}"
+  ];
+
+  doCheck = true;
+  preCheck = ''
+    substituteInPlace test-scripts/check-live-pcap.sh \
+      --replace "/usr/sbin/tcpdump" "${tcpdump}/bin/tcpdump"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Tools to capture DNS traffic and record it in C-DNS files";
+    homepage    = http://dns-stats.org/;
+    license     = [ licenses.boost licenses.mpl20 licenses.openssl ];
+    maintainers = with maintainers; [ fdns ];
+    platforms   = stdenv.lib.platforms.unix;
+  };
+}
diff --git a/pkgs/applications/networking/corebird/default.nix b/pkgs/applications/networking/corebird/default.nix
index 6a71afcaf60..56947d6650e 100644
--- a/pkgs/applications/networking/corebird/default.nix
+++ b/pkgs/applications/networking/corebird/default.nix
@@ -1,5 +1,5 @@
-{ stdenv, fetchFromGitHub, gtk3, json-glib, sqlite, libsoup, gettext, vala_0_32
-, automake, autoconf, libtool, pkgconfig, gnome3, gst_all_1, wrapGAppsHook
+{ stdenv, fetchFromGitHub, glib, gtk3, json-glib, sqlite, libsoup, gettext, vala_0_40
+, meson, ninja, pkgconfig, gnome3, gst_all_1, wrapGAppsHook, gobjectIntrospection
 , glib-networking }:
 
 stdenv.mkDerivation rec {
@@ -13,20 +13,24 @@ stdenv.mkDerivation rec {
     sha256 = "0qjffsmg1hm64dgsbkfwzbzy9q4xa1q4fh4h8ni8a2b1p3h80x7n";
   };
 
-  preConfigure = ''
-    ./autogen.sh
-  '';
-
-  nativeBuildInputs = [ automake autoconf libtool pkgconfig wrapGAppsHook ];
+  nativeBuildInputs = [
+    meson ninja vala_0_40 pkgconfig wrapGAppsHook
+    gobjectIntrospection # for setup hook
+  ];
 
   buildInputs = [
-    gtk3 json-glib sqlite libsoup gettext vala_0_32 gnome3.dconf gnome3.gspell glib-networking
-  ] ++ (with gst_all_1; [ gstreamer gst-plugins-base gst-plugins-good (gst-plugins-bad.override { gtkSupport = true; }) gst-libav ]);
+    glib gtk3 json-glib sqlite libsoup gettext gnome3.dconf gnome3.gspell glib-networking
+  ] ++ (with gst_all_1; [ gstreamer gst-plugins-base gst-plugins-bad (gst-plugins-good.override { gtkSupport = true; }) gst-libav ]);
+
+  postPatch = ''
+    chmod +x data/meson_post_install.py # patchShebangs requires executable file
+    patchShebangs data/meson_post_install.py
+  '';
 
   meta = {
     description = "Native Gtk+ Twitter client for the Linux desktop";
     longDescription = "Corebird is a modern, easy and fun Twitter client.";
-    homepage = http://corebird.baedert.org;
+    homepage = https://corebird.baedert.org/;
     license = stdenv.lib.licenses.gpl3;
     platforms = stdenv.lib.platforms.linux;
     maintainers = [ stdenv.lib.maintainers.jonafato ];
diff --git a/pkgs/applications/networking/dropbox-cli/default.nix b/pkgs/applications/networking/dropbox/cli.nix
index d3141675b41..d3141675b41 100644
--- a/pkgs/applications/networking/dropbox-cli/default.nix
+++ b/pkgs/applications/networking/dropbox/cli.nix
diff --git a/pkgs/applications/networking/dropbox/default.nix b/pkgs/applications/networking/dropbox/default.nix
index 5bafb8e7c4c..2d364450677 100644
--- a/pkgs/applications/networking/dropbox/default.nix
+++ b/pkgs/applications/networking/dropbox/default.nix
@@ -32,7 +32,7 @@ in
 buildFHSUserEnv {
   name = "dropbox";
 
-  targetPkgs = pkgs: with pkgs; with xlibs; [
+  targetPkgs = pkgs: with pkgs; with xorg; [
     libICE libSM libX11 libXcomposite libXdamage libXext libXfixes libXrender
     libXxf86vm libxcb xkeyboardconfig
     curl dbus firefox-bin fontconfig freetype gcc glib gnutar libxml2 libxslt
diff --git a/pkgs/applications/networking/enhanced-ctorrent/default.nix b/pkgs/applications/networking/enhanced-ctorrent/default.nix
index fedbfeb957c..2cfde73a01a 100644
--- a/pkgs/applications/networking/enhanced-ctorrent/default.nix
+++ b/pkgs/applications/networking/enhanced-ctorrent/default.nix
@@ -1,13 +1,26 @@
-{ stdenv, fetchurl }:
+{ stdenv, fetchurl, fetchpatch }:
 
 stdenv.mkDerivation rec {
   version = "dnh3.3.2";
   name = "enhanced-ctorrent";
+
   src = fetchurl {
     url = "http://www.rahul.net/dholmes/ctorrent/ctorrent-dnh3.3.2.tar.gz";
     sha256 = "0qs8waqwllk56i3yy3zhncy7nsnhmf09a494p5siz4vm2k4ncwy8";
   };
 
+  # These patches come from Debian and fix CVE-2009-1759.
+  patches = [
+    (fetchpatch {
+      url = "https://sources.debian.org/data/main/c/ctorrent/1.3.4.dnh3.3.2-5/debian/patches/cve-security-fix.diff";
+      sha256 = "1qkzzm8sfspbcs10azmmif4qcr7pr8r38dsa2py84lsjm1yi3kls";
+    })
+    (fetchpatch {
+      url = "https://sources.debian.org/data/main/c/ctorrent/1.3.4.dnh3.3.2-5/debian/patches/FTBFS-fix.diff";
+      sha256 = "1m3zh96xwqjjzsbg62f7kx0miams58nys1f484qhdn870b5x9p06";
+    })
+  ];
+
   meta = {
     description = "BitTorrent client written in C++";
     longDescription = ''
diff --git a/pkgs/applications/networking/errbot/default.nix b/pkgs/applications/networking/errbot/default.nix
index 8664e38a8ed..feb6a0ab126 100644
--- a/pkgs/applications/networking/errbot/default.nix
+++ b/pkgs/applications/networking/errbot/default.nix
@@ -15,7 +15,9 @@ pythonPackages.buildPythonApplication rec {
 
   postPatch = ''
     substituteInPlace setup.py \
-      --replace dnspython3 dnspython
+      --replace dnspython3 dnspython \
+      --replace 'cryptography<2.1.0' cryptography \
+      --replace 'pyOpenSSL<17.3.0' pyOpenSSL
   '';
 
   # tests folder is not included in release
diff --git a/pkgs/applications/networking/feedreaders/newsbeuter/default.nix b/pkgs/applications/networking/feedreaders/newsbeuter/default.nix
deleted file mode 100644
index b681f74ed22..00000000000
--- a/pkgs/applications/networking/feedreaders/newsbeuter/default.nix
+++ /dev/null
@@ -1,61 +0,0 @@
-{ stdenv, fetchurl, sqlite, curl, pkgconfig, libxml2, stfl, json-c-0-11, ncurses
-, gettext, libiconv, makeWrapper, perl, fetchpatch }:
-
-stdenv.mkDerivation rec {
-  name = "newsbeuter-2.9";
-
-  src = fetchurl {
-    url = "http://www.newsbeuter.org/downloads/${name}.tar.gz";
-    sha256 = "1j1x0hgwxz11dckk81ncalgylj5y5fgw5bcmp9qb5hq9kc0vza3l";
-
-  };
-
-  buildInputs
-    # use gettext instead of libintlOrEmpty so we have access to the msgfmt
-    # command
-    = [ pkgconfig sqlite curl libxml2 stfl json-c-0-11 ncurses gettext perl libiconv ]
-      ++ stdenv.lib.optional stdenv.isDarwin makeWrapper;
-
-  preBuild = ''
-    sed -i -e 110,114d config.sh
-    sed -i "1 s%^.*$%#!${perl}/bin/perl%" txt2h.pl
-    export LDFLAGS=-lncursesw
-  '';
-
-  patches = [
-    (fetchpatch {
-      url = "https://github.com/akrennmair/newsbeuter/commit/cdacfbde9fe3ae2489fc96d35dfb7d263ab03f50.patch";
-      sha256 = "1lhvn63cqjpikwsr6zzndb1p5y140vvphlg85fazwx4xpzd856d9";
-    })
-    (fetchpatch {
-      url = "https://github.com/akrennmair/newsbeuter/commit/33577f842d9b74c119f3cebda95ef8652304db81.patch";
-      sha256 = "1kwhp6k14gk1hclgsr9w47qg7hs60p23zsl6f6vw13mczp2naqlb";
-    })
-    # https://github.com/akrennmair/newsbeuter/issues/598 / CVE-2017-14500
-    (fetchpatch {
-      url = "https://github.com/akrennmair/newsbeuter/commit/26f5a4350f3ab5507bb8727051c87bb04660f333.patch";
-      sha256 = "1jjxj4z3s4f1n8rfpwyd42a40gjnziykqas6a26s1lsdkklnbp6q";
-    })
-    # https://github.com/akrennmair/newsbeuter/issues/591 / CVE-2017-12904
-    (fetchpatch {
-      url = "https://github.com/akrennmair/newsbeuter/commit/d1460189f6f810ca9a3687af7bc43feb7f2af2d9.patch";
-      sha256 = "1a8k73ckziszsbdwdhcmkfvlmgy955gssg9v4sqvg20v91l5rmai";
-    })
-   ];
-
-  installFlags = [ "DESTDIR=$(out)" "prefix=" ];
-
-  postInstall = stdenv.lib.optionalString stdenv.isDarwin ''
-    for prog in $out/bin/*; do
-      wrapProgram "$prog" --prefix DYLD_LIBRARY_PATH : "${stfl}/lib"
-    done
-  '';
-
-  meta = {
-    homepage    = http://www.newsbeuter.org;
-    description = "An open-source RSS/Atom feed reader for text terminals";
-    maintainers = with stdenv.lib.maintainers; [ lovek323 ];
-    license     = stdenv.lib.licenses.mit;
-    platforms   = stdenv.lib.platforms.unix;
-  };
-}
diff --git a/pkgs/applications/networking/feedreaders/newsboat/default.nix b/pkgs/applications/networking/feedreaders/newsboat/default.nix
index e6a5737530b..24fed4ca852 100644
--- a/pkgs/applications/networking/feedreaders/newsboat/default.nix
+++ b/pkgs/applications/networking/feedreaders/newsboat/default.nix
@@ -3,11 +3,11 @@
 
 stdenv.mkDerivation rec {
   name = "newsboat-${version}";
-  version = "2.10.2";
+  version = "2.11.1";
 
   src = fetchurl {
     url = "https://newsboat.org/releases/${version}/${name}.tar.xz";
-    sha256 = "1x4nxx1kvmrcm8jy73dvg56h4z15y3sach2vr13cw8rsbi7v99px";
+    sha256 = "1krpxl854h5dwmpr81m1s84cwk8zivdzvw0s5s0i4dba736pvdma";
   };
 
   prePatch = ''
@@ -27,6 +27,8 @@ stdenv.mkDerivation rec {
   doCheck = true;
   checkTarget = "test";
 
+  NIX_CFLAGS_COMPILE = "-Wno-error=sign-compare";
+
   postInstall = ''
     cp -r contrib $out
   '' + stdenv.lib.optionalString stdenv.isDarwin ''
diff --git a/pkgs/applications/networking/firehol/default.nix b/pkgs/applications/networking/firehol/default.nix
index cf41ca1b0b3..9efe20b3ee9 100644
--- a/pkgs/applications/networking/firehol/default.nix
+++ b/pkgs/applications/networking/firehol/default.nix
@@ -2,8 +2,8 @@
 , autoconf, automake, curl, iprange, iproute, ipset, iptables, iputils
 , kmod, nettools, procps, tcpdump, traceroute, utillinux, whois
 
-# Just install FireQOS without FireHOL
-, onlyQOS ? true
+# If true, just install FireQOS without FireHOL
+, onlyQOS ? false
 }:
 
 stdenv.mkDerivation rec {
@@ -52,6 +52,35 @@ stdenv.mkDerivation rec {
 
            AS_IF([test "x$ac_cv_ping_6_opt" = "xyes"],[
       '')
+
+    # put firehol config files in /etc/firehol (not $out/etc/firehol)
+    # to avoid error on startup, see #35114
+    (pkgs.writeText "firehol-sysconfdir.patch"
+      ''
+      --- a/sbin/install.config.in.in
+      +++ b/sbin/install.config.in.in
+      @@ -4 +4 @@
+      -SYSCONFDIR="@sysconfdir_POST@"
+      +SYSCONFDIR="/etc"
+      '')
+
+    # we must quote "$UNAME_CMD", or the dash in /nix/store/...-coreutils-.../bin/uname
+    # will be interpreted as IFS -> error. this might be considered an upstream bug
+    # but only appears when there are dashes in the command path
+    (pkgs.writeText "firehol-uname-command.patch"
+      ''
+      --- a/sbin/firehol
+      +++ b/sbin/firehol
+      @@ -10295,7 +10295,7 @@
+       	kmaj=$1
+       	kmin=$2
+       
+      -	set -- $($UNAME_CMD -r)
+      +	set -- $("$UNAME_CMD" -r)
+       	eval $kmaj=\$1 $kmin=\$2
+       }
+       kernel_maj_min KERNELMAJ KERNELMIN
+      '')
   ];
   
   nativeBuildInputs = [ autoconf automake ];
@@ -71,7 +100,7 @@ stdenv.mkDerivation rec {
       FireHOL, an iptables stateful packet filtering firewall for humans!
       FireQOS, a TC based bandwidth shaper for humans!
     '';
-    homepage = http://firehol.org/;
+    homepage = https://firehol.org/;
     license = licenses.gpl2;
     maintainers = with maintainers; [ geistesk ];
     platforms = platforms.linux;
diff --git a/pkgs/applications/networking/flexget/default.nix b/pkgs/applications/networking/flexget/default.nix
index 585e0c847da..9a71f8911c2 100644
--- a/pkgs/applications/networking/flexget/default.nix
+++ b/pkgs/applications/networking/flexget/default.nix
@@ -1,80 +1,72 @@
-{ lib
-, fetchFromGitHub
-, python
-, transmission
-, deluge
-, config
+{ lib, python
+, delugeSupport ? true, deluge ? null
 }:
 
-with python.pkgs;
+assert delugeSupport -> deluge != null;
+
+# Flexget have been a trouble maker in the past,
+# if you see flexget breaking when updating packages, don't worry.
+# The current state is that we have no active maintainers for this package.
+# -- Mic92
+
+let
+  python' = python.override { inherit packageOverrides; };
+
+  packageOverrides = self: super: {
+    sqlalchemy = super.sqlalchemy.overridePythonAttrs (old: rec {
+      version = "1.1.10";
+      src = old.src.override {
+        inherit version;
+        sha256 = "1lvb14qclrx0qf6qqx8a8hkx5akk5lk3dvcqz8760v9hya52pnfv";
+      };
+    });
+  };
+
+in
+
+with python'.pkgs;
 
 buildPythonApplication rec {
-  version = "2.10.82";
-  name = "FlexGet-${version}";
+  pname = "FlexGet";
+  version = "2.13.5";
 
-  src = fetchFromGitHub {
-    owner = "Flexget";
-    repo = "Flexget";
-    rev = version;
-    sha256 = "15508ihswfjbkzhf1f0qhn2ar1aiibz2ggp5d6r33icy8xwhpv09";
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1lkmxwy7k4zlcqpigwk8skc2zi8a70vrw21pz80wvmf9yg0wc9z9";
   };
 
-  doCheck = true;
-  # test_regexp requires that HOME exist, test_filesystem requires a
-  # unicode-capable filesystem (and setting LC_ALL doesn't work).
-  # setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
   postPatch = ''
-    substituteInPlace requirements.txt \
-      --replace "chardet==3.0.3" "chardet" \
-      --replace "rebulk==0.8.2" "rebulk" \
-      --replace "cherrypy==10.2.2" "cherrypy" \
-      --replace "portend==1.8" "portend" \
-      --replace "sqlalchemy==1.1.10" "sqlalchemy" \
-      --replace "zxcvbn-python==4.4.15" "zxcvbn-python" \
-      --replace "flask-cors==3.0.2" "flask-cors" \
-      --replace "certifi==2017.4.17" "certifi" \
-      --replace "apscheduler==3.3.1" "apscheduler" \
-      --replace "path.py==10.3.1" "path.py" \
-      --replace "tempora==1.8" "tempora" \
-      --replace "cheroot==5.5.0" "cheroot" \
-      --replace "six==1.10.0" "six" \
-      --replace "aniso8601==1.2.1" "aniso8601"
+    # remove dependency constraints
+    sed 's/==\([0-9]\.\?\)\+//' -i requirements.txt
   '';
 
-  checkPhase = ''
-    export HOME=.
-    py.test --disable-pytest-warnings -k "not test_quality_failures \
-                                          and not test_group_quality \
-                                          and not crash_report \
-                                          and not test_multi_episode \
-                                          and not test_double_episodes \
-                                          and not test_inject_force \
-                                          and not test_double_prefered \
-                                          and not test_double \
-                                          and not test_non_ascii"
-  '';
+  # ~400 failures
+  doCheck = false;
 
-  buildInputs = [ pytest mock vcrpy pytest-catchlog boto3 ];
   propagatedBuildInputs = [
-    feedparser sqlalchemy pyyaml chardet
-    beautifulsoup4 html5lib PyRSS2Gen pynzb
-    rpyc jinja2 jsonschema requests dateutil jsonschema
+    feedparser sqlalchemy pyyaml
+    chardet beautifulsoup4 html5lib
+    PyRSS2Gen pynzb rpyc jinja2
+    jsonschema requests dateutil
     pathpy guessit_2_0 APScheduler
     terminaltables colorclass
-    cherrypy flask flask-restful flask-restplus
-    flask-compress flask_login flask-cors
-    pyparsing safe future zxcvbn-python
-    werkzeug tempora cheroot rebulk portend
+    cherrypy flask flask-restful
+    flask-restplus flask-compress
+    flask_login flask-cors safe
+    pyparsing future zxcvbn-python
+    werkzeug tempora cheroot rebulk
+    portend transmissionrpc aniso8601
+    babelfish certifi click futures
+    idna itsdangerous markupsafe
+    plumbum pytz six tzlocal urllib3
+    webencodings werkzeug zxcvbn-python
   ] ++ lib.optional (pythonOlder "3.4") pathlib
-    # enable deluge and transmission plugin support, if they're installed
-    ++ lib.optional (config.deluge or false) deluge
-    ++ lib.optional (transmission != null) transmissionrpc;
+    ++ lib.optional delugeSupport deluge;
 
-  meta = {
-    homepage = https://flexget.com/;
+  meta = with lib; {
+    homepage    = https://flexget.com/;
     description = "Multipurpose automation tool for content like torrents";
-    license = lib.licenses.mit;
-    maintainers = with lib.maintainers; [ domenkozar tari ];
-    broken = true; # as of 2018-02-09
+    license     = licenses.mit;
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/applications/networking/gmailieer/default.nix b/pkgs/applications/networking/gmailieer/default.nix
index e56dbe0817e..c3085519ec4 100644
--- a/pkgs/applications/networking/gmailieer/default.nix
+++ b/pkgs/applications/networking/gmailieer/default.nix
@@ -2,13 +2,13 @@
 
 python3Packages.buildPythonApplication rec {
   name = "gmailieer";
-  version = "0.5";
+  version = "0.6";
 
   src = fetchFromGitHub {
     owner = "gauteh";
     repo = "gmailieer";
     rev = "v${version}";
-    sha256 = "152ky06k1wc3jffb48c6zh7c7pr732m9f4g1i316zaa4nx2ynfsa";
+    sha256 = "1z7r78ck81l8xdpjynjv8dfm4j0p6a1cbzgdckp41id27sq1vc76";
   };
 
   propagatedBuildInputs = with python3Packages; [
diff --git a/pkgs/applications/networking/gns3/default.nix b/pkgs/applications/networking/gns3/default.nix
index a140de2c236..74287dc6af4 100644
--- a/pkgs/applications/networking/gns3/default.nix
+++ b/pkgs/applications/networking/gns3/default.nix
@@ -1,7 +1,7 @@
 { callPackage, stdenv }:
 
 let
-  stableVersion = "2.1.3";
+  stableVersion = "2.1.5";
   # Currently there is no preview version.
   previewVersion = stableVersion;
   addVersion = args:
@@ -10,8 +10,8 @@ let
     in args // { inherit version branch; };
   mkGui = args: callPackage (import ./gui.nix (addVersion args)) { };
   mkServer = args: callPackage (import ./server.nix (addVersion args)) { };
-  guiSrcHash = "1yya0alc4ifgikka513ps243l8211rvifm0xz1ymx8nck0s6sj35";
-  serverSrcHash = "16d698gpj2r3z7qvvlrsx8ylgb1nfkmia2pcvk22068p3ajwypx1";
+  guiSrcHash = "1d7pwm36bqjm0d021z5qnx49v8zf4yi9jn5hn6zlbiqbz53l1x7l";
+  serverSrcHash = "002pqm4jcm5qbbw1vnhjdrgysh7d6xmdl66605wz1vbp7xn5s961";
 in {
   guiStable = mkGui {
     stable = true;
diff --git a/pkgs/applications/networking/google-drive-ocamlfuse/default.nix b/pkgs/applications/networking/google-drive-ocamlfuse/default.nix
index ddc9df75999..87ef5f2a41a 100644
--- a/pkgs/applications/networking/google-drive-ocamlfuse/default.nix
+++ b/pkgs/applications/networking/google-drive-ocamlfuse/default.nix
@@ -1,24 +1,23 @@
 { stdenv, fetchFromGitHub, zlib
-, ocaml, ocamlbuild, ocamlfuse, findlib, gapi_ocaml, ocaml_sqlite3, camlidl }:
+, ocaml, jbuilder, opam, ocamlfuse, findlib, gapi_ocaml, ocaml_sqlite3, camlidl }:
 
 stdenv.mkDerivation rec {
   name = "google-drive-ocamlfuse-${version}";
-  version = "0.6.21";
+  version = "0.6.25";
 
   src = fetchFromGitHub {
     owner = "astrada";
     repo = "google-drive-ocamlfuse";
     rev = "v${version}";
-    sha256 = "14qvhz18pzxdgxk5vcs024ajbkxccfwc9p3z5r6vfkc9mm851v59";
+    sha256 = "1rjm2jcc93sz7l25zbgqal81534vvvbmwy7847s0k8fkr5nq97gp";
   };
 
-  nativeBuildInputs = [ ocamlbuild ];
+  nativeBuildInputs = [ jbuilder opam ];
 
   buildInputs = [ zlib ocaml ocamlfuse findlib gapi_ocaml ocaml_sqlite3 camlidl ];
 
-  configurePhase = "ocaml setup.ml -configure --prefix \"$out\"";
-  buildPhase = "ocaml setup.ml -build";
-  installPhase = "ocaml setup.ml -install";
+  buildPhase = "jbuilder build @install";
+  installPhase = "mkdir $out && jbuilder install --prefix $out";
 
   meta = {
     homepage = http://gdfuse.forge.ocamlcore.org/;
diff --git a/pkgs/applications/networking/ids/snort/default.nix b/pkgs/applications/networking/ids/snort/default.nix
index e3a917a12eb..ff19a62ef30 100644
--- a/pkgs/applications/networking/ids/snort/default.nix
+++ b/pkgs/applications/networking/ids/snort/default.nix
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
   
   meta = {
     description = "Network intrusion prevention and detection system (IDS/IPS)";
-    homepage = http://www.snort.org;
+    homepage = https://www.snort.org;
     maintainers = with stdenv.lib.maintainers; [ aycanirican ];
     license = stdenv.lib.licenses.gpl2;
     platforms = with stdenv.lib.platforms; linux;
diff --git a/pkgs/applications/networking/ike/default.nix b/pkgs/applications/networking/ike/default.nix
index a5c21e28c3d..7953f35507d 100644
--- a/pkgs/applications/networking/ike/default.nix
+++ b/pkgs/applications/networking/ike/default.nix
@@ -1,8 +1,6 @@
 { stdenv, fetchurl, cmake, openssl, libedit, flex, bison, qt4, makeWrapper
 , gcc, nettools, iproute, linuxHeaders }:
 
-assert stdenv.isLinux;
-
 # NOTE: use $out/etc/iked.conf as sample configuration and also set: dhcp_file "/etc/iked.dhcp";
 # launch with "iked -f /etc/iked.conf"
 
diff --git a/pkgs/applications/networking/instant-messengers/baresip/default.nix b/pkgs/applications/networking/instant-messengers/baresip/default.nix
index 10f246957d7..eff33643ebc 100644
--- a/pkgs/applications/networking/instant-messengers/baresip/default.nix
+++ b/pkgs/applications/networking/instant-messengers/baresip/default.nix
@@ -1,21 +1,19 @@
-{stdenv, fetchurl, zlib, openssl, libre, librem, pkgconfig
-, cairo, mpg123, gstreamer, gst-ffmpeg, gst-plugins-base, gst-plugins-bad
-, gst-plugins-good, alsaLib, SDL, libv4l, celt, libsndfile, srtp, ffmpeg
+{stdenv, fetchurl, zlib, openssl, libre, librem, pkgconfig, gst_all_1
+, cairo, mpg123, alsaLib, SDL, libv4l, celt, libsndfile, srtp, ffmpeg
 , gsm, speex, portaudio, spandsp, libuuid, ccache, libvpx
 }:
 stdenv.mkDerivation rec {
-  version = "0.5.6";
+  version = "0.5.9";
   name = "baresip-${version}";
   src=fetchurl {
     url = "http://www.creytiv.com/pub/baresip-${version}.tar.gz";
-    sha256 = "036hvl652zndqj3kmkv8z9pv7r4d1jxq8b7rg8jf0hh82vpyz38l";
+    sha256 = "02bf4fwirf3b7h3cr1jqm0xsjzza4fi9kg88424js2l0xywwzpgf";
   };
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [zlib openssl libre librem
-    cairo mpg123 gstreamer gst-ffmpeg gst-plugins-base gst-plugins-bad gst-plugins-good
+  buildInputs = [zlib openssl libre librem cairo mpg123
     alsaLib SDL libv4l celt libsndfile srtp ffmpeg gsm speex portaudio spandsp libuuid
     ccache libvpx
-    ];
+  ] ++ (with gst_all_1; [ gstreamer gst-libav gst-plugins-base gst-plugins-bad gst-plugins-good ]);
   makeFlags = [
     "LIBRE_MK=${libre}/share/re/re.mk"
     "LIBRE_INC=${libre}/include/re"
@@ -26,7 +24,7 @@ stdenv.mkDerivation rec {
     "CCACHE_DISABLE=1"
 
     "USE_ALSA=1" "USE_AMR=1" "USE_CAIRO=1" "USE_CELT=1"
-    "USE_CONS=1" "USE_EVDEV=1" "USE_FFMPEG=1"  "USE_GSM=1" "USE_GST=1"
+    "USE_CONS=1" "USE_EVDEV=1" "USE_FFMPEG=1"  "USE_GSM=1" "USE_GST1=1"
     "USE_L16=1" "USE_MPG123=1" "USE_OSS=1" "USE_PLC=1" "USE_VPX=1"
     "USE_PORTAUDIO=1" "USE_SDL=1" "USE_SNDFILE=1" "USE_SPEEX=1"
     "USE_SPEEX_AEC=1" "USE_SPEEX_PP=1" "USE_SPEEX_RESAMP=1" "USE_SRTP=1"
diff --git a/pkgs/applications/networking/instant-messengers/bitlbee/default.nix b/pkgs/applications/networking/instant-messengers/bitlbee/default.nix
index fa1c64ba0ad..fa3c66e67b6 100644
--- a/pkgs/applications/networking/instant-messengers/bitlbee/default.nix
+++ b/pkgs/applications/networking/instant-messengers/bitlbee/default.nix
@@ -50,6 +50,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2Plus;
 
     maintainers = with maintainers; [ wkennington pSub ];
-    platforms = platforms.gnu;  # arbitrary choice
+    platforms = platforms.gnu ++ platforms.linux;  # arbitrary choice
   };
 }
diff --git a/pkgs/applications/networking/instant-messengers/blink/default.nix b/pkgs/applications/networking/instant-messengers/blink/default.nix
index f0b74370c3c..63dec91dad9 100644
--- a/pkgs/applications/networking/instant-messengers/blink/default.nix
+++ b/pkgs/applications/networking/instant-messengers/blink/default.nix
@@ -1,13 +1,14 @@
-{ stdenv, fetchurl, pythonPackages, libvncserver, zlib
+{ stdenv, fetchdarcs, pythonPackages, libvncserver, zlib
 , gnutls, libvpx, makeDesktopItem }:
 
 pythonPackages.buildPythonApplication rec {
   name = "blink-${version}";
-  version = "2.0.0";
+  version = "3.0.3";
 
-  src = fetchurl {
-    url = "http://download.ag-projects.com/BlinkQt/${name}.tar.gz";
-    sha256 = "07hvy45pavgkvdlh4wbz3shsxh4fapg96qlqmfymdi1nfhwghb05";
+  src = fetchdarcs {
+    url = http://devel.ag-projects.com/repositories/blink-qt;
+    rev = "release-${version}";
+    sha256 = "1vj6zzfvxygz0fzr8bhymcw6j4v8xmr0kba53d6qg285j7hj1bdi";
   };
 
   patches = [ ./pythonpath.patch ];
@@ -15,7 +16,7 @@ pythonPackages.buildPythonApplication rec {
     sed -i 's|@out@|'"''${out}"'|g' blink/resources.py
   '';
 
-  propagatedBuildInputs = with pythonPackages; [ pyqt4 cjson sipsimple twisted ];
+  propagatedBuildInputs = with pythonPackages; [ pyqt5 cjson sipsimple twisted google_api_python_client ];
 
   buildInputs = [ pythonPackages.cython zlib libvncserver libvpx ];
 
diff --git a/pkgs/applications/networking/instant-messengers/dino/default.nix b/pkgs/applications/networking/instant-messengers/dino/default.nix
index 810422dcd3f..32808f720bf 100644
--- a/pkgs/applications/networking/instant-messengers/dino/default.nix
+++ b/pkgs/applications/networking/instant-messengers/dino/default.nix
@@ -13,13 +13,13 @@
  }:
 
 stdenv.mkDerivation rec {
-  name = "dino-unstable-2018-02-11";
+  name = "dino-unstable-2018-04-19";
 
   src = fetchFromGitHub {
     owner = "dino";
     repo = "dino";
-    rev = "5436d716c0f508eb8ab70f322da862f996ce421e";
-    sha256 = "0yxkhl9xm5f0j2i9vxgyabpa5fwja0329fmg0878mqsm89nzz3am";
+    rev = "e80da806022d8aaa32f77f3c7f0333cc1c80829b";
+    sha256 = "04z4k1s4ck6vmbzlbpiw096ny0wpj4zi3cd0iv9vb2iwdj22gibm";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/applications/networking/instant-messengers/discord/default.nix b/pkgs/applications/networking/instant-messengers/discord/default.nix
index 76d68880263..6801edb9767 100644
--- a/pkgs/applications/networking/instant-messengers/discord/default.nix
+++ b/pkgs/applications/networking/instant-messengers/discord/default.nix
@@ -7,12 +7,12 @@
 stdenv.mkDerivation rec {
 
     pname = "discord";
-    version = "0.0.4";
+    version = "0.0.5";
     name = "${pname}-${version}";
 
     src = fetchurl {
         url = "https://cdn.discordapp.com/apps/linux/${version}/${pname}-${version}.tar.gz";
-        sha256 = "1alw9rkv1vv0s1w33hd9ab1cgj7iqd7ad9kvn1d55gyki28f8qlb";
+        sha256 = "067gb72qsxrzfma04njkbqbmsvwnnyhw4k9igg5769jkxay68i1g";
     };
 
     nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/applications/networking/instant-messengers/franz/default.nix b/pkgs/applications/networking/instant-messengers/franz/default.nix
index c2e6528e637..95e01e586ec 100644
--- a/pkgs/applications/networking/instant-messengers/franz/default.nix
+++ b/pkgs/applications/networking/instant-messengers/franz/default.nix
@@ -66,7 +66,7 @@ in stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "A free messaging app that combines chat & messaging services into one application";
-    homepage = http://meetfranz.com;
+    homepage = https://meetfranz.com;
     license = licenses.free;
     maintainers = [ maintainers.gnidorah ];
     platforms = ["i686-linux" "x86_64-linux"];
diff --git a/pkgs/applications/networking/instant-messengers/gajim/default.nix b/pkgs/applications/networking/instant-messengers/gajim/default.nix
index 42c51049557..a1c81f3f002 100644
--- a/pkgs/applications/networking/instant-messengers/gajim/default.nix
+++ b/pkgs/applications/networking/instant-messengers/gajim/default.nix
@@ -1,126 +1,67 @@
-{ stdenv, fetchurl, autoreconfHook, python, intltool, pkgconfig, libX11
-, ldns, pythonPackages
-
-, enableJingle ? true, farstream ? null, gst-plugins-bad ? null
-,                      libnice ? null
-, enableE2E ? true
-, enableRST ? true
-, enableSpelling ? true, gtkspell2 ? null
-, enableNotifications ? false
-, enableOmemoPluginDependencies ? true
-, extraPythonPackages ? pkgs: []
+{ buildPythonApplication, lib, fetchurl, gettext, wrapGAppsHook
+, python, gtk3, gobjectIntrospection
+, nbxmpp, pyasn1, pygobject3, gnome3, dbus-python, pillow
+, xvfb_run, dbus
+, enableJingle ? true, farstream, gstreamer, gst-plugins-base, gst-libav, gst-plugins-ugly
+, enableE2E ? true, pycrypto, python-gnupg
+, enableSecrets ? true, libsecret
+, enableRST ? true, docutils
+, enableSpelling ? true, gspell
+, enableUPnP ? true, gupnp-igd
+, enableOmemoPluginDependencies ? true, python-axolotl, qrcode
+, extraPythonPackages ? pkgs: [], pythonPackages
 }:
 
-assert enableJingle -> farstream != null && gst-plugins-bad != null
-                    && libnice != null;
-assert enableE2E -> pythonPackages.pycrypto != null;
-assert enableRST -> pythonPackages.docutils != null;
-assert enableSpelling -> gtkspell2 != null;
-assert enableNotifications -> pythonPackages.notify != null;
-
-with stdenv.lib;
+with lib;
 
-stdenv.mkDerivation rec {
+buildPythonApplication rec {
   name = "gajim-${version}";
-  version = "0.16.9";
+  majorVersion = "1.0";
+  version = "${majorVersion}.2";
 
   src = fetchurl {
-    name = "${name}.tar.bz2";
-    url = "https://dev.gajim.org/gajim/gajim/repository/archive.tar.bz2?"
-        + "ref=${name}";
-    sha256 = "121dh906zya9n7npyk7b5xama0z3ycy9jl7l5jm39pc86h1winh3";
+    url = "https://gajim.org/downloads/${majorVersion}/gajim-${version}.tar.bz2";
+    sha256 = "0wyyy3wrk7ka5xrsbafnajzf7iacg8vg3hi16pl4c5p104hdhjdw";
   };
 
-  patches = let
-    # An attribute set of revisions to apply from the upstream repository.
-    cherries = {
-      #example-fix = {
-      #  rev = "<replace-with-git-revsion>";
-      #  sha256 = "<replace-with-sha256>";
-      #};
-    };
-  in (mapAttrsToList (name: { rev, sha256 }: fetchurl {
-    name = "gajim-${name}.patch";
-    url = "https://dev.gajim.org/gajim/gajim/commit/${rev}.diff";
-    inherit sha256;
-  }) cherries);
-
   postPatch = ''
-    sed -i -e '0,/^[^#]/ {
-      /^[^#]/i export \\\
-        GST_PLUGIN_PATH="'"\$GST_PLUGIN_PATH''${GST_PLUGIN_PATH:+:}${""
-        }$GST_PLUGIN_PATH"'"
-    }' scripts/gajim.in
-
-    # requires network access
+    # This test requires network access
     echo "" > test/integration/test_resolver.py
-
-    # We want to run tests in installCheckPhase rather than checkPhase to test
-    # whether the *installed* version of Gajim works rather than just whether it
-    # works in the unpacked source tree.
-    sed -i -e '/sys\.path\.insert.*gajim_root.*\/src/d' test/lib/__init__.py
-  '' + optionalString enableSpelling ''
-    sed -i -e 's|=.*find_lib.*|= "${gtkspell2}/lib/libgtkspell.so"|'   \
-      src/gtkspell.py
   '';
 
   buildInputs = [
-    python libX11
-  ] ++ optionals enableJingle [ farstream gst-plugins-bad libnice ];
+    gobjectIntrospection gtk3 gnome3.defaultIconTheme
+  ] ++ optionals enableJingle [ farstream gstreamer gst-plugins-base gst-libav gst-plugins-ugly ]
+    ++ optional enableSecrets libsecret
+    ++ optional enableSpelling gspell
+    ++ optional enableUPnP gupnp-igd;
 
   nativeBuildInputs = [
-    autoreconfHook pythonPackages.wrapPython intltool pkgconfig
+    gettext wrapGAppsHook
   ];
 
-  autoreconfPhase = ''
-    sed -e 's/which/type -P/;s,\./configure,:,' autogen.sh | bash
-  '';
-
-  propagatedBuildInputs = with pythonPackages; [
-    libasyncns
-    pygobject2 pyGtkGlade
-    pyasn1
-    pyxdg
-    nbxmpp
-    pyopenssl dbus-python
-  ] ++ optional enableE2E pythonPackages.pycrypto
-    ++ optional enableRST pythonPackages.docutils
-    ++ optional enableNotifications pythonPackages.notify
-    ++ optionals enableOmemoPluginDependencies (with pythonPackages; [
-      cryptography python-axolotl python-axolotl-curve25519 qrcode
-    ]) ++ extraPythonPackages pythonPackages;
-
-  postFixup = ''
-    install -m 644 -t "$out/share/gajim/icons/hicolor" \
-                      "icons/hicolor/index.theme"
-
-    buildPythonPath "$out"
+  propagatedBuildInputs = [
+    nbxmpp pyasn1 pygobject3 dbus-python pillow
+  ] ++ optionals enableE2E [ pycrypto python-gnupg ]
+    ++ optional enableRST docutils
+    ++ optionals enableOmemoPluginDependencies [ python-axolotl qrcode ]
+    ++ extraPythonPackages pythonPackages;
 
-    for i in $out/bin/*; do
-      name="$(basename "$i")"
-      if [ "$name" = "gajim-history-manager" ]; then
-        name="history_manager"
-      fi
+  checkInputs = [ xvfb_run dbus.daemon ];
 
-      patchPythonScript "$out/share/gajim/src/$name.py"
-    done
+  checkPhase = ''
+    xvfb-run dbus-run-session \
+      --config-file=${dbus.daemon}/share/dbus-1/session.conf \
+      ${python.interpreter} test/runtests.py
   '';
 
-  doInstallCheck = true;
-  installCheckPhase = ''
-    PYTHONPATH="test:$out/share/gajim/src:''${PYTHONPATH:+:}$PYTHONPATH" \
-      make test_nogui
-  '';
-
-  enableParallelBuilding = true;
-
   meta = {
     homepage = http://gajim.org/;
     description = "Jabber client written in PyGTK";
     license = licenses.gpl3Plus;
-    maintainers = [ maintainers.raskin maintainers.aszlig ];
+    maintainers = with maintainers; [ raskin aszlig abbradar ];
     downloadPage = "http://gajim.org/downloads.php";
     updateWalker = true;
-    platforms = stdenv.lib.platforms.linux;
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/networking/instant-messengers/hipchat/default.nix b/pkgs/applications/networking/instant-messengers/hipchat/default.nix
index e24ea5e6fb3..dd1ce2264d5 100644
--- a/pkgs/applications/networking/instant-messengers/hipchat/default.nix
+++ b/pkgs/applications/networking/instant-messengers/hipchat/default.nix
@@ -4,7 +4,7 @@
 
 let
 
-  version = "4.30.3.1670";
+  version = "4.30.4.1672";
 
   rpath = stdenv.lib.makeLibraryPath [
     xdg_utils
@@ -44,7 +44,7 @@ let
     if stdenv.system == "x86_64-linux" then
       fetchurl {
         url = "https://atlassian.artifactoryonline.com/atlassian/hipchat-apt-client/pool/HipChat4-${version}-Linux.deb";
-        sha256 = "0alqzay6bvi7ybrrdk5r0xkg4sx6qjsqbgmr16bkqxncxhb215ay";
+        sha256 = "1xrwndhbyhcmjcg8h1ib8lp1g51f7jxdhc6p7776zmhlfw94n3rx";
       }
     else
       throw "HipChat is not supported on ${stdenv.system}";
diff --git a/pkgs/applications/networking/instant-messengers/jitsi/default.nix b/pkgs/applications/networking/instant-messengers/jitsi/default.nix
index 1d03c2f47c8..681a8119ac0 100644
--- a/pkgs/applications/networking/instant-messengers/jitsi/default.nix
+++ b/pkgs/applications/networking/instant-messengers/jitsi/default.nix
@@ -3,8 +3,6 @@
 , alsaLib, dbus_libs, gtk2, libpulseaudio, openssl, xorg
 }:
 
-assert stdenv.isLinux;
-
 stdenv.mkDerivation rec {
   name = "jitsi-${version}";
   version = "2.10.5550";
diff --git a/pkgs/applications/networking/instant-messengers/nheko/default.nix b/pkgs/applications/networking/instant-messengers/nheko/default.nix
new file mode 100644
index 00000000000..688ac6d10d6
--- /dev/null
+++ b/pkgs/applications/networking/instant-messengers/nheko/default.nix
@@ -0,0 +1,83 @@
+{ stdenv, fetchFromGitHub, fetchurl, cmake, doxygen, lmdb, qt5 }:
+
+let
+  json_hpp = fetchurl {
+    url = https://github.com/nlohmann/json/releases/download/v3.1.2/json.hpp;
+    sha256 = "fbdfec4b4cf63b3b565d09f87e6c3c183bdd45c5be1864d3fcb338f6f02c1733";
+  };
+
+  variant_hpp = fetchurl {
+    url = https://github.com/mpark/variant/releases/download/v1.3.0/variant.hpp;
+    sha256 = "1vjiz1x5l8ynqqyb5l9mlrzgps526v45hbmwjilv4brgyi5445fq";
+  };
+
+  matrix-structs = stdenv.mkDerivation rec {
+    name = "matrix-structs-git";
+
+    src = fetchFromGitHub {
+      owner = "mujx";
+      repo = "matrix-structs";
+      rev = "690080daa3bc1984297c4d7103cde9ea07e2e0b7";
+      sha256 = "0l6mncpdbjmrzp5a3q1jv0sxf7bwl5ljslrcjca1j2bjjbqb61bz";
+    };
+
+    postUnpack = ''
+      cp ${json_hpp} "$sourceRoot/include/json.hpp"
+      cp ${variant_hpp} "$sourceRoot/include/variant.hpp"
+    '';
+
+    patches = [ ./fetchurls.patch ];
+
+    nativeBuildInputs = [ cmake doxygen ];
+  };
+
+  tweeny = fetchFromGitHub {
+    owner = "mobius3";
+    repo = "tweeny";
+    rev = "b94ce07cfb02a0eb8ac8aaf66137dabdaea857cf";
+    sha256 = "1wyyq0j7dhjd6qgvnh3knr70li47hmf5394yznkv9b1indqjx4mi";
+  };
+
+  lmdbxx = fetchFromGitHub {
+    owner = "bendiken";
+    repo = "lmdbxx";
+    rev = "0b43ca87d8cfabba392dfe884eb1edb83874de02";
+    sha256 = "1whsc5cybf9rmgyaj6qjji03fv5jbgcgygp956s3835b9f9cjg1n";
+  };
+in
+stdenv.mkDerivation rec {
+  name = "nheko-${version}";
+  version = "0.4.0";
+
+  src = fetchFromGitHub {
+    owner = "mujx";
+    repo = "nheko";
+    rev = "v${version}";
+    sha256 = "1yg6bk193mqj99x3sy0f20x3ggpl0ahrp36w6hhx7pyw5qm17342";
+  };
+
+  # This patch is likely not strictly speaking needed, but will help detect when
+  # a dependency is updated, so that the fetches up there can be updated too
+  patches = [ ./external-deps.patch ];
+
+  cmakeFlags = [
+    "-DMATRIX_STRUCTS_LIBRARY=${matrix-structs}/lib/static/libmatrix_structs.a"
+    "-DMATRIX_STRUCTS_INCLUDE_DIR=${matrix-structs}/include/matrix_structs"
+    "-DTWEENY_INCLUDE_DIR=${tweeny}/include"
+    "-DLMDBXX_INCLUDE_DIR=${lmdbxx}"
+  ];
+
+  nativeBuildInputs = [ cmake ];
+
+  buildInputs = [
+    lmdb lmdbxx matrix-structs qt5.qtbase qt5.qtmultimedia qt5.qttools tweeny
+  ];
+
+  enableParallelBuilding = true;
+
+  meta = with stdenv.lib; {
+    description = "Desktop client for the Matrix protocol";
+    maintainers = with maintainers; [ ekleog ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/applications/networking/instant-messengers/nheko/external-deps.patch b/pkgs/applications/networking/instant-messengers/nheko/external-deps.patch
new file mode 100644
index 00000000000..a3425a78045
--- /dev/null
+++ b/pkgs/applications/networking/instant-messengers/nheko/external-deps.patch
@@ -0,0 +1,94 @@
+diff --git a/cmake/LMDBXX.cmake b/cmake/LMDBXX.cmake
+index 3b9817d..e69de29 100644
+--- a/cmake/LMDBXX.cmake
++++ b/cmake/LMDBXX.cmake
+@@ -1,23 +0,0 @@
+-include(ExternalProject)
+-
+-#
+-# Build lmdbxx.
+-#
+-
+-set(THIRD_PARTY_ROOT ${CMAKE_SOURCE_DIR}/.third-party)
+-set(LMDBXX_ROOT ${THIRD_PARTY_ROOT}/lmdbxx)
+-
+-set(LMDBXX_INCLUDE_DIR ${LMDBXX_ROOT})
+-
+-ExternalProject_Add(
+-  lmdbxx
+-
+-  GIT_REPOSITORY https://github.com/bendiken/lmdbxx
+-  GIT_TAG 0b43ca87d8cfabba392dfe884eb1edb83874de02
+-
+-  BUILD_IN_SOURCE 1
+-  SOURCE_DIR ${LMDBXX_ROOT}
+-  CONFIGURE_COMMAND ""
+-  BUILD_COMMAND ""
+-  INSTALL_COMMAND ""
+-)
+diff --git a/cmake/MatrixStructs.cmake b/cmake/MatrixStructs.cmake
+index cef00f6..e69de29 100644
+--- a/cmake/MatrixStructs.cmake
++++ b/cmake/MatrixStructs.cmake
+@@ -1,33 +0,0 @@
+-include(ExternalProject)
+-
+-#
+-# Build matrix-structs.
+-#
+-
+-set(THIRD_PARTY_ROOT ${CMAKE_SOURCE_DIR}/.third-party)
+-set(MATRIX_STRUCTS_ROOT ${THIRD_PARTY_ROOT}/matrix_structs)
+-set(MATRIX_STRUCTS_INCLUDE_DIR ${MATRIX_STRUCTS_ROOT}/include)
+-set(MATRIX_STRUCTS_LIBRARY matrix_structs)
+-
+-link_directories(${MATRIX_STRUCTS_ROOT})
+-
+-set(WINDOWS_FLAGS "")
+-
+-if(MSVC)
+-    set(WINDOWS_FLAGS "-DCMAKE_GENERATOR_PLATFORM=x64")
+-endif()
+-
+-ExternalProject_Add(
+-  MatrixStructs
+-
+-  GIT_REPOSITORY https://github.com/mujx/matrix-structs
+-  GIT_TAG 690080daa3bc1984297c4d7103cde9ea07e2e0b7
+-
+-  BUILD_IN_SOURCE 1
+-  SOURCE_DIR ${MATRIX_STRUCTS_ROOT}
+-  CONFIGURE_COMMAND ${CMAKE_COMMAND}
+-    -DCMAKE_BUILD_TYPE=Release ${MATRIX_STRUCTS_ROOT}
+-    ${WINDOWS_FLAGS}
+-  BUILD_COMMAND ${CMAKE_COMMAND} --build ${MATRIX_STRUCTS_ROOT} --config Release
+-  INSTALL_COMMAND ""
+-)
+diff --git a/cmake/Tweeny.cmake b/cmake/Tweeny.cmake
+index 537ac92..e69de29 100644
+--- a/cmake/Tweeny.cmake
++++ b/cmake/Tweeny.cmake
+@@ -1,23 +0,0 @@
+-include(ExternalProject)
+-
+-#
+-# Build tweeny
+-#
+-
+-set(THIRD_PARTY_ROOT ${CMAKE_SOURCE_DIR}/.third-party)
+-set(TWEENY_ROOT ${THIRD_PARTY_ROOT}/tweeny)
+-
+-set(TWEENY_INCLUDE_DIR ${TWEENY_ROOT}/include)
+-
+-ExternalProject_Add(
+-  Tweeny
+-
+-  GIT_REPOSITORY https://github.com/mobius3/tweeny
+-  GIT_TAG b94ce07cfb02a0eb8ac8aaf66137dabdaea857cf
+-
+-  BUILD_IN_SOURCE 1
+-  SOURCE_DIR ${TWEENY_ROOT}
+-  CONFIGURE_COMMAND ""
+-  BUILD_COMMAND ""
+-  INSTALL_COMMAND ""
+-)
diff --git a/pkgs/applications/networking/instant-messengers/nheko/fetchurls.patch b/pkgs/applications/networking/instant-messengers/nheko/fetchurls.patch
new file mode 100644
index 00000000000..e2f72f600ed
--- /dev/null
+++ b/pkgs/applications/networking/instant-messengers/nheko/fetchurls.patch
@@ -0,0 +1,21 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 077ac37..c639d71 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -18,16 +18,6 @@ include(Doxygen)
+ #
+ include(CompilerFlags)
+ 
+-file(DOWNLOAD
+-    "https://github.com/nlohmann/json/releases/download/v3.1.2/json.hpp"
+-    ${PROJECT_SOURCE_DIR}/include/json.hpp
+-    EXPECTED_HASH SHA256=fbdfec4b4cf63b3b565d09f87e6c3c183bdd45c5be1864d3fcb338f6f02c1733)
+-
+-file(DOWNLOAD
+-    "https://github.com/mpark/variant/releases/download/v1.3.0/variant.hpp"
+-    ${PROJECT_SOURCE_DIR}/include/variant.hpp
+-    EXPECTED_MD5 "be0ce322cdd408e1b347b9f1d59ea67a")
+-
+ include_directories(include)
+ 
+ set(SRC
diff --git a/pkgs/applications/networking/instant-messengers/pidgin-plugins/purple-discord/default.nix b/pkgs/applications/networking/instant-messengers/pidgin-plugins/purple-discord/default.nix
new file mode 100644
index 00000000000..e41aea497a8
--- /dev/null
+++ b/pkgs/applications/networking/instant-messengers/pidgin-plugins/purple-discord/default.nix
@@ -0,0 +1,31 @@
+{ stdenv, fetchFromGitHub, pkgconfig, pidgin, json_glib }:
+
+stdenv.mkDerivation rec {
+  name = "purple-discord-${version}";
+  version = "unstable-2018-04-10";
+
+  src = fetchFromGitHub {
+    owner = "EionRobb";
+    repo = "purple-discord";
+    rev = "9a97886d15a1f028de54b5e6fc54e784531063b0";
+    sha256 = "0dc344zh1v4yh9c8javcw5ylzwc1wpx0ih8bww8p8cjmhr8kcl32";
+  };
+
+  nativeBuildInputs = [ pkgconfig ];
+  buildInputs = [ pidgin json_glib ];
+
+  makeFlags = [
+    "DESTDIR=$(out)"
+  ];
+
+  PKG_CONFIG_PURPLE_PLUGINDIR = "/lib/purple-2";
+  PKG_CONFIG_PURPLE_DATADIR = "/share";
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/EionRobb/purple-discord;
+    description = "Discord plugin for Pidgin";
+    license = licenses.gpl3;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ sna ];
+  };
+}
diff --git a/pkgs/applications/networking/instant-messengers/pidgin-plugins/purple-hangouts/default.nix b/pkgs/applications/networking/instant-messengers/pidgin-plugins/purple-hangouts/default.nix
index 460143e3549..e304c139eea 100644
--- a/pkgs/applications/networking/instant-messengers/pidgin-plugins/purple-hangouts/default.nix
+++ b/pkgs/applications/networking/instant-messengers/pidgin-plugins/purple-hangouts/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   name = "purple-hangouts-hg-${version}";
-  version = "2017-10-08";
+  version = "2018-03-28";
 
   src = fetchhg {
     url = "https://bitbucket.org/EionRobb/purple-hangouts/";
-    rev = "5e769791d282a6e5ae4d94dc66a1ff9d6904ec9c";
-    sha256 = "0cs7dcd44lkc2anradyddjvmfvnl46ixw4idaf1m9fd7j35mg7b1";
+    rev = "0e137e6bf9e95c5a0bd282f3ad4a5bd00a6968ab";
+    sha256 = "04vjgz6qyd9ilv1c6n08r45vc683vxs1rgfwhh65pag6q4rbzlb9";
   };
 
   buildInputs = [ pidgin glib json-glib protobuf protobufc ];
diff --git a/pkgs/applications/networking/instant-messengers/pidgin-plugins/sipe/default.nix b/pkgs/applications/networking/instant-messengers/pidgin-plugins/sipe/default.nix
index 75251b21aea..73346888a33 100644
--- a/pkgs/applications/networking/instant-messengers/pidgin-plugins/sipe/default.nix
+++ b/pkgs/applications/networking/instant-messengers/pidgin-plugins/sipe/default.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchurl, pidgin, intltool, libxml2, nss, nspr }:
 
-let version = "1.23.0"; in
+let version = "1.23.2"; in
 
 stdenv.mkDerivation {
   name = "pidgin-sipe-${version}";
 
   src = fetchurl {
     url = "mirror://sourceforge/sipe/pidgin-sipe-${version}.tar.gz";
-    sha256 = "795811ced33fcc5affae259828f6452bfc0e0b02737ea68483e1bd9ec0459013";
+    sha256 = "1xj4nn5h103q4agar167xwcp98qf8knrgs918nl07qaxp9g4558w";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/networking/instant-messengers/pidgin-plugins/telegram-purple/default.nix b/pkgs/applications/networking/instant-messengers/pidgin-plugins/telegram-purple/default.nix
index 68083a7b9d2..8527593c1a2 100644
--- a/pkgs/applications/networking/instant-messengers/pidgin-plugins/telegram-purple/default.nix
+++ b/pkgs/applications/networking/instant-messengers/pidgin-plugins/telegram-purple/default.nix
@@ -16,14 +16,14 @@ stdenv.mkDerivation rec {
   buildInputs = [ pidgin libwebp libgcrypt gettext ];
 
   preConfigure = ''
-    sed -i "s|/etc/telegram-purple/server.tglpub|$out/lib/pidgin/server.tglpub|g" telegram-purple.c
+    sed -i "s|/etc/telegram-purple/server.tglpub|$out/lib/purple-2/server.tglpub|g" telegram-purple.c
     echo "#define GIT_COMMIT \"${builtins.substring 0 10 src.rev}\"" > commit.h
   '';
 
   installPhase = ''
-    mkdir -p $out/lib/pidgin/
-    cp bin/*.so $out/lib/pidgin/ #*/
-    cp tg-server.tglpub $out/lib/pidgin/server.tglpub
+    mkdir -p $out/lib/purple-2/
+    cp bin/*.so $out/lib/purple-2/ #*/
+    cp tg-server.tglpub $out/lib/purple-2/server.tglpub
     mkdir -p $out/pixmaps/pidgin/protocols/{16,22,48}
     cp imgs/telegram16.png $out/pixmaps/pidgin/protocols/16
     cp imgs/telegram22.png $out/pixmaps/pidgin/protocols/22
diff --git a/pkgs/applications/networking/instant-messengers/profanity/default.nix b/pkgs/applications/networking/instant-messengers/profanity/default.nix
index 74dc36bc7ac..327b02b2352 100644
--- a/pkgs/applications/networking/instant-messengers/profanity/default.nix
+++ b/pkgs/applications/networking/instant-messengers/profanity/default.nix
@@ -1,5 +1,6 @@
-{ stdenv, fetchurl, pkgconfig, glib, openssl, expat, libmesode
-, ncurses, libotr, curl, readline, libuuid
+{ stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, glib, openssl
+, glibcLocales, expect, ncurses, libotr, curl, readline, libuuid
+, cmocka, libmicrohttpd, stabber, expat, libmesode
 
 , autoAwaySupport ? false,       libXScrnSaver ? null, libX11 ? null
 , notifySupport ? false,         libnotify ? null, gdk_pixbuf ? null
@@ -20,18 +21,22 @@ stdenv.mkDerivation rec {
   name = "profanity-${version}";
   version = "0.5.1";
 
-  src = fetchurl {
-    url = "http://www.profanity.im/profanity-${version}.tar.gz";
-    sha256 = "1f7ylw3mhhnii52mmk40hyc4kqhpvjdr3hmsplzkdhsfww9kflg3";
+  src = fetchFromGitHub {
+    owner = "boothj5";
+    repo = "profanity";
+    rev = "${version}";
+    sha256 = "1ppr02wivhlrqr62r901clnycna8zpn6kr7n5rw8y3zfw21ny17z";
   };
 
+  patches = [ ./patches/packages-osx.patch ./patches/undefined-macros.patch ];
+
   enableParallelBuilding = true;
 
-  nativeBuildInputs = [ pkgconfig ];
+  nativeBuildInputs = [ autoreconfHook glibcLocales pkgconfig ];
 
   buildInputs = [
-    readline libuuid libmesode
-    glib openssl expat ncurses libotr curl
+    expect readline libuuid glib openssl expat ncurses libotr
+    curl libmesode cmocka libmicrohttpd stabber
   ] ++ optionals autoAwaySupport     [ libXScrnSaver libX11 ]
     ++ optionals notifySupport       [ libnotify gdk_pixbuf ]
     ++ optionals traySupport         [ gnome2.gtk ]
@@ -45,6 +50,20 @@ stdenv.mkDerivation rec {
     ++ optionals pgpSupport          [ "--enable-pgp" ]
     ++ optionals pythonPluginSupport [ "--enable-python-plugins" ];
 
+  preAutoreconf = ''
+    mkdir m4
+  '';
+
+  doCheck = true;
+
+  LC_ALL = "en_US.utf8";
+
+  NIX_CFLAGS_COMPILE = [ ]
+    ++ optionals pythonPluginSupport [ "-I${python}/include/${python.libPrefix}" ];
+
+  LDFLAGS = [ ]
+    ++ optionals pythonPluginSupport [ "-L${python}/lib" "-lpython${python.majorVersion}m" ];
+
   meta = {
     description = "A console based XMPP client";
     longDescription = ''
diff --git a/pkgs/applications/networking/instant-messengers/profanity/patches/packages-osx.patch b/pkgs/applications/networking/instant-messengers/profanity/patches/packages-osx.patch
new file mode 100644
index 00000000000..77bfc5e78bd
--- /dev/null
+++ b/pkgs/applications/networking/instant-messengers/profanity/patches/packages-osx.patch
@@ -0,0 +1,11 @@
+diff --git a/configure.ac b/configure.ac
+index 1e55b1cc..0832a387 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -22,7 +22,6 @@ AC_CANONICAL_HOST
+ PLATFORM="unknown"
+ AS_CASE([$host_os],
+     [freebsd*], [PLATFORM="freebsd"],
+-    [darwin*], [PLATFORM="osx"],
+     [cygwin], [PLATFORM="cygwin"],
+     [PLATFORM="nix"])
diff --git a/pkgs/applications/networking/instant-messengers/profanity/patches/undefined-macros.patch b/pkgs/applications/networking/instant-messengers/profanity/patches/undefined-macros.patch
new file mode 100644
index 00000000000..9ef4e7bebe5
--- /dev/null
+++ b/pkgs/applications/networking/instant-messengers/profanity/patches/undefined-macros.patch
@@ -0,0 +1,40 @@
+diff --git a/configure.ac b/configure.ac
+index 1e55b1cc..0832a387 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -83,12 +81,12 @@ elif test "x$enable_python_plugins" != xno; then
+         AM_CONDITIONAL([BUILD_PYTHON_API], [true])
+         AC_DEFINE([HAVE_PYTHON], [1], [Python support])
+     else
+-        if test "x$enable_python_plugins" = xyes; then
+-            AC_MSG_ERROR([Python not found, cannot enable Python plugins.])
+-        else
+-            AM_CONDITIONAL([BUILD_PYTHON_API], [false])
+-            AC_MSG_NOTICE([Python development package not found, Python plugin support disabled.])
+-        fi
++        AS_IF(
++            [test "x$enable_python_plugins" = xyes],
++            [],
++            [AM_CONDITIONAL([BUILD_PYTHON_API], [false])
++            AC_MSG_NOTICE([Python development package not found, Python plugin support disabled.])]
++        )
+     fi
+     AS_IF([test "x$PLATFORM" = xosx], [rm -f Python.framework])
+ else
+@@ -107,7 +105,7 @@ else
+             [AM_CONDITIONAL([BUILD_C_API], [true]) LIBS="$LIBS -ldl" AC_DEFINE([HAVE_C], [1], [C support])],
+             [AS_IF(
+                 [test "x$enable_c_plugins" = xyes],
+-                    [AC_MSG_ERROR([dl library needed to run C plugins])],
++                [],
+                 [AM_CONDITIONAL([BUILD_C_API], [false])])
+             ])
+     else
+@@ -116,7 +114,6 @@ else
+ fi
+ 
+ # threading
+-ACX_PTHREAD([], [AC_MSG_ERROR([pthread is required])])
+ LIBS="$PTHREAD_LIBS $LIBS"
+ CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
+ AS_IF([test "x$PTHREAD_CC" != x], [ CC="$PTHREAD_CC" ])
diff --git a/pkgs/applications/networking/instant-messengers/psi-plus/default.nix b/pkgs/applications/networking/instant-messengers/psi-plus/default.nix
index c4d13ac7643..7c6f33935dc 100644
--- a/pkgs/applications/networking/instant-messengers/psi-plus/default.nix
+++ b/pkgs/applications/networking/instant-messengers/psi-plus/default.nix
@@ -5,13 +5,13 @@
 
 stdenv.mkDerivation rec {
   name = "psi-plus-${version}";
-  version = "0.16.575.639";
+  version = "1.2.235";
 
   src = fetchFromGitHub {
     owner = "psi-plus";
     repo = "psi-plus-snapshots";
     rev = "${version}";
-    sha256 = "0mn24y3y4qybw81rjy0hr46y7y96dvwdl6kk61kizwj32z1in8cg";
+    sha256 = "0rc65gs6m3jxg407r99kikdylvrar5mq7x5m66ma604yk5igwg47";
   };
 
   resources = fetchFromGitHub {
diff --git a/pkgs/applications/networking/instant-messengers/qtox/default.nix b/pkgs/applications/networking/instant-messengers/qtox/default.nix
index bbad5a68180..f7a56d47dbf 100644
--- a/pkgs/applications/networking/instant-messengers/qtox/default.nix
+++ b/pkgs/applications/networking/instant-messengers/qtox/default.nix
@@ -1,19 +1,23 @@
-{ mkDerivation, lib, fetchFromGitHub, cmake, pkgconfig,
-  libtoxcore,
-  libpthreadstubs, libXdmcp, libXScrnSaver,
-  qtbase, qtsvg, qttools, qttranslations,
-  ffmpeg, filter-audio, libexif, libsodium, libopus,
-  libvpx, openal, pcre, qrencode, sqlcipher }:
-
-mkDerivation rec {
+{ stdenv, mkDerivation, lib, fetchFromGitHub, cmake, pkgconfig
+, libtoxcore
+, libpthreadstubs, libXdmcp, libXScrnSaver
+, qtbase, qtsvg, qttools, qttranslations
+, ffmpeg, filter-audio, libexif, libsodium, libopus
+, libvpx, openal, pcre, qrencode, sqlcipher
+, AVFoundation ? null }:
+
+let
+  version = "1.15.0";
+  rev = "v${version}";
+
+in mkDerivation rec {
   name = "qtox-${version}";
-  version = "1.13.0";
 
   src = fetchFromGitHub {
     owner  = "qTox";
     repo   = "qTox";
-    rev    = "v${version}";
-    sha256 = "08x71p23d0sp0w11k8z3wf3k56iclmdq9x652n8ggidgyrdi9f6y";
+    sha256 = "1garwnlmg452b0bwx36rsh08s15q3zylb26l01iiwg4l9vcaldh9";
+    inherit rev;
   };
 
   buildInputs = [
@@ -22,17 +26,18 @@ mkDerivation rec {
     qtbase qtsvg qttranslations
     ffmpeg filter-audio libexif libopus libsodium
     libvpx openal pcre qrencode sqlcipher
-  ];
+  ] ++ lib.optionals stdenv.isDarwin [ AVFoundation] ;
 
   nativeBuildInputs = [ cmake pkgconfig qttools ];
 
   enableParallelBuilding = true;
 
   cmakeFlags = [
-    "-DGIT_DESCRIBE=${version}"
+    "-DGIT_DESCRIBE=${rev}"
     "-DENABLE_STATUSNOTIFIER=False"
     "-DENABLE_GTK_SYSTRAY=False"
     "-DENABLE_APPINDICATOR=False"
+    "-DTIMESTAMP=1"
   ];
 
   meta = with lib; {
diff --git a/pkgs/applications/networking/instant-messengers/quaternion/default.nix b/pkgs/applications/networking/instant-messengers/quaternion/default.nix
index 768ab24c2f3..6c716cc3e1c 100644
--- a/pkgs/applications/networking/instant-messengers/quaternion/default.nix
+++ b/pkgs/applications/networking/instant-messengers/quaternion/default.nix
@@ -2,24 +2,21 @@
 
 stdenv.mkDerivation rec {
   name = "quaternion-${version}";
-  version = "0.0.5";
-
-  # libqmatrixclient doesn't support dynamic linking as of 0.2 so we simply pull in the source
+  version = "0.0.9";
 
   src = fetchFromGitHub {
     owner  = "QMatrixClient";
     repo   = "Quaternion";
     rev    = "v${version}";
-    sha256 = "14xmaq446aggqhpcilahrw2mr5gf2mlr1xzyp7r6amrnmnqsyxrd";
+    sha256 = "0zdpll953a7biwnklhgmgg3k2vz7j58lc1nmfkmvsfcj1fmdf408";
   };
 
   buildInputs = [ qtbase qtquickcontrols libqmatrixclient ];
 
   nativeBuildInputs = [ cmake ];
 
-  enableParallelBuilding = true;
-
-  # take the source from libqmatrixclient
+  # libqmatrixclient is now compiled as a dynamic library but quarternion cannot use it yet
+  # https://github.com/QMatrixClient/Quaternion/issues/239
   postPatch = ''
     rm -rf lib
     ln -s ${libqmatrixclient.src} lib
diff --git a/pkgs/applications/networking/instant-messengers/ratox/default.nix b/pkgs/applications/networking/instant-messengers/ratox/default.nix
index 5d004db60e3..add337d3f08 100644
--- a/pkgs/applications/networking/instant-messengers/ratox/default.nix
+++ b/pkgs/applications/networking/instant-messengers/ratox/default.nix
@@ -5,22 +5,24 @@ with stdenv.lib;
 
 let
   configFile = optionalString (conf!=null) (builtins.toFile "config.h" conf);
-in
 
-stdenv.mkDerivation rec {
-  name = "ratox-0.4";
+in stdenv.mkDerivation rec {
+  name = "ratox-0.4.20180303";
 
   src = fetchgit {
     url = "git://git.2f30.org/ratox.git";
-    rev = "0db821b7bd566f6cfdc0cc5a7bbcc3e5e92adb4c";
-    sha256 = "0wmf8hydbcq4bkpsld9vnqw4zfzf3f04vhgwy17nd4p5p389fbl5";
+    rev = "269f7f97fb374a8f9c0b82195c21de15b81ddbbb";
+    sha256 = "0bpn37h8jvsqd66fkba8ky42nydc8acawa5x31yxqlxc8mc66k74";
   };
 
-  patches = [ ./ldlibs.patch ];
-
   buildInputs = [ libtoxcore ];
 
-  preConfigure = optionalString (conf!=null) "cp ${configFile} config.def.h";
+  preConfigure = ''
+    substituteInPlace config.mk \
+      --replace '-lsodium -lopus -lvpx ' ""
+
+    ${optionalString (conf!=null) "cp ${configFile} config.def.h"}
+  '';
 
   makeFlags = [ "PREFIX=$(out)" ];
 
diff --git a/pkgs/applications/networking/instant-messengers/ratox/ldlibs.patch b/pkgs/applications/networking/instant-messengers/ratox/ldlibs.patch
deleted file mode 100644
index 1406e714310..00000000000
--- a/pkgs/applications/networking/instant-messengers/ratox/ldlibs.patch
+++ /dev/null
@@ -1,5 +0,0 @@
---- a/config.mk
-+++ b/config.mk
-@@ -13 +13 @@ LDFLAGS  = -L/usr/local/lib
--LDLIBS   = -ltoxcore -ltoxav -ltoxencryptsave -lsodium -lopus -lvpx -lm -lpthread
-+LDLIBS   = -ltoxcore -ltoxav -ltoxencryptsave -lm -lpthread
diff --git a/pkgs/applications/networking/instant-messengers/ring-daemon/default.nix b/pkgs/applications/networking/instant-messengers/ring-daemon/default.nix
index 38bc58d8b10..024902a9c48 100644
--- a/pkgs/applications/networking/instant-messengers/ring-daemon/default.nix
+++ b/pkgs/applications/networking/instant-messengers/ring-daemon/default.nix
@@ -24,7 +24,7 @@
 , gnutls
 , zlib
 , jsoncpp
-, xlibs
+, xorg
 , libargon2
 , cryptopp
 , openssl
@@ -114,7 +114,7 @@ stdenv.mkDerivation rec {
     zlib
     jsoncpp
     restbed
-    xlibs.libX11
+    xorg.libX11
     libargon2
     cryptopp
     openssl
diff --git a/pkgs/applications/networking/instant-messengers/riot/riot-web.nix b/pkgs/applications/networking/instant-messengers/riot/riot-web.nix
index b47280d3b15..4946c065492 100644
--- a/pkgs/applications/networking/instant-messengers/riot/riot-web.nix
+++ b/pkgs/applications/networking/instant-messengers/riot/riot-web.nix
@@ -3,11 +3,11 @@
 let configFile = writeText "riot-config.json" conf; in
 stdenv.mkDerivation rec {
   name= "riot-web-${version}";
-  version = "0.13.5";
+  version = "0.14.2";
 
   src = fetchurl {
     url = "https://github.com/vector-im/riot-web/releases/download/v${version}/riot-v${version}.tar.gz";
-    sha256 = "1ap62ksi3dg7qijxxysjpnlmngzgh2jdldvb8s1jx14avanccch6";
+    sha256 = "1qma49a6lvr9anrry3vbhjhvy06bgapknnvbdljnbb3l9c99nmxi";
   };
 
   installPhase = ''
diff --git a/pkgs/applications/networking/instant-messengers/signal-desktop/beta.nix b/pkgs/applications/networking/instant-messengers/signal-desktop/beta.nix
index 9876767b57e..7d6854460d6 100644
--- a/pkgs/applications/networking/instant-messengers/signal-desktop/beta.nix
+++ b/pkgs/applications/networking/instant-messengers/signal-desktop/beta.nix
@@ -1,5 +1,5 @@
 { stdenv, lib, fetchurl, dpkg, gnome2, atk, cairo, gdk_pixbuf, glib, freetype,
-fontconfig, dbus, libX11, xlibs, libXi, libXcursor, libXdamage, libXrandr,
+fontconfig, dbus, libX11, xorg, libXi, libXcursor, libXdamage, libXrandr,
 libXcomposite, libXext, libXfixes, libXrender, libXtst, libXScrnSaver, nss,
 nspr, alsaLib, cups, expat, udev
 }:
@@ -33,7 +33,7 @@ let
     nss
     stdenv.cc.cc
     udev
-    xlibs.libxcb
+    xorg.libxcb
   ];
 
 in
@@ -83,5 +83,10 @@ in
       platforms   = [
         "x86_64-linux"
       ];
+      # Marked as broken on 2018-04-17. Reason: The most recent version is
+      # 1.8.0-beta.1, while this is still 1.1.0-beta.5 (2017-12-09). The stable
+      # package (signal-desktop) should be used instead (currently at version
+      # 1.7.1, i.e. up-to-date).
+      broken = true;
     };
   }
diff --git a/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix b/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix
index c77173d490a..80f219560e3 100644
--- a/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix
+++ b/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix
@@ -1,5 +1,5 @@
 { stdenv, lib, fetchurl, dpkg, gnome2, atk, cairo, gdk_pixbuf, glib, freetype,
-fontconfig, dbus, libX11, xlibs, libXi, libXcursor, libXdamage, libXrandr,
+fontconfig, dbus, libX11, xorg, libXi, libXcursor, libXdamage, libXrandr,
 libXcomposite, libXext, libXfixes, libXrender, libXtst, libXScrnSaver, nss,
 nspr, alsaLib, cups, expat, udev
 }:
@@ -33,20 +33,20 @@ let
     nss
     stdenv.cc.cc
     udev
-    xlibs.libxcb
+    xorg.libxcb
   ];
 
 in
   stdenv.mkDerivation rec {
     name = "signal-desktop-${version}";
 
-    version = "1.5.2";
+    version = "1.10.1";
 
     src =
       if stdenv.system == "x86_64-linux" then
         fetchurl {
           url = "https://updates.signal.org/desktop/apt/pool/main/s/signal-desktop/signal-desktop_${version}_amd64.deb";
-          sha256 = "1h4qa5i7axkmsai854yvlyh5r038mmjl4pj2rd27mz11if7yf067";
+          sha256 = "1ndk2in9mbsm5i2k7pgpbd6smbgpswxmjvr12zmbmw893ay015h3";
         }
       else
         throw "Signal for Desktop is not currently supported on ${stdenv.system}";
@@ -81,7 +81,7 @@ in
       description = "Signal Private Messenger for the Desktop.";
       homepage    = https://signal.org/;
       license     = lib.licenses.gpl3;
-      maintainers = [ lib.maintainers.ixmatus ];
+      maintainers = with lib.maintainers; [ ixmatus primeos ];
       platforms   = [
         "x86_64-linux"
       ];
diff --git a/pkgs/applications/networking/instant-messengers/skypeforlinux/default.nix b/pkgs/applications/networking/instant-messengers/skypeforlinux/default.nix
index 87b2ee22381..fc8a601f1be 100644
--- a/pkgs/applications/networking/instant-messengers/skypeforlinux/default.nix
+++ b/pkgs/applications/networking/instant-messengers/skypeforlinux/default.nix
@@ -6,7 +6,7 @@ let
 
   # Please keep the version x.y.0.z and do not update to x.y.76.z because the
   # source of the latter disappears much faster.
-  version = "8.16.0.4";
+  version = "8.18.0.6";
 
   rpath = stdenv.lib.makeLibraryPath [
     alsaLib
@@ -57,7 +57,7 @@ let
     if stdenv.system == "x86_64-linux" then
       fetchurl {
         url = "https://repo.skype.com/deb/pool/main/s/skypeforlinux/skypeforlinux_${version}_amd64.deb";
-        sha256 = "1qc5qd07r768q9wkr2fq1q731hslh21i8rs41jb6pbn3ai65mxf5";
+        sha256 = "193icz1s385d25qzm5vx58h66m4hfwwmkavn0p3w6631gj617hig";
       }
     else
       throw "Skype for linux is not supported on ${stdenv.system}";
diff --git a/pkgs/applications/networking/instant-messengers/slack/default.nix b/pkgs/applications/networking/instant-messengers/slack/default.nix
index b6f731ee651..b1339f6a694 100644
--- a/pkgs/applications/networking/instant-messengers/slack/default.nix
+++ b/pkgs/applications/networking/instant-messengers/slack/default.nix
@@ -4,7 +4,7 @@
 
 let
 
-  version = "3.0.5";
+  version = "3.1.0";
 
   rpath = stdenv.lib.makeLibraryPath [
     alsaLib
@@ -46,7 +46,7 @@ let
     if stdenv.system == "x86_64-linux" then
       fetchurl {
         url = "https://downloads.slack-edge.com/linux_releases/slack-desktop-${version}-amd64.deb";
-        sha256 = "13im5m119cp5v0gvr1vpxjqskr8rvl6pii91b5x522wm7plfhj8s";
+        sha256 = "1y8xxfpqvz4q6y1zkna4cp3rqi7p03w5xgr8h1cmym8z66bj7dq3";
       }
     else
       throw "Slack is not supported on ${stdenv.system}";
diff --git a/pkgs/applications/networking/instant-messengers/stride/default.nix b/pkgs/applications/networking/instant-messengers/stride/default.nix
index 0bcf3493d29..9df816dd890 100644
--- a/pkgs/applications/networking/instant-messengers/stride/default.nix
+++ b/pkgs/applications/networking/instant-messengers/stride/default.nix
@@ -33,12 +33,12 @@ let
   ] + ":${stdenv.cc.cc.lib}/lib64";
 in
 stdenv.mkDerivation rec {
-  version = "1.8.18";
+  version = "1.17.82";
   name = "stride-${version}";
 
   src = fetchurl {
     url = "https://packages.atlassian.com/stride-apt-client/pool/stride_${version}_amd64.deb";
-    sha256 = "0hpj3i3xbvckxm7fphqqb3scb31w2cg4riwp593y0gnbivpc0hym";
+    sha256 = "0lx61gdhw0kv4f9fwbfg69yq52dsp4db7c4li25d6wn11qanzqhy";
   };
 
   dontBuild = true;
diff --git a/pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix b/pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix
index 67b116274a2..0e2c232e6d2 100644
--- a/pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix
+++ b/pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix
@@ -1,131 +1,20 @@
-{ mkDerivation, lib, fetchgit, fetchpatch
-, pkgconfig, gyp, cmake, makeWrapper
-, qtbase, qtimageformats, gtk3, libappindicator-gtk3, libnotify
-, dee, ffmpeg, openalSoft, minizip, libopus, alsaLib, libpulseaudio, range-v3
-}:
-
-mkDerivation rec {
-  name = "telegram-desktop-${version}";
-  version = "1.2.6";
-
-  # Submodules
-  src = fetchgit {
-    url = "git://github.com/telegramdesktop/tdesktop";
-    rev = "v${version}";
-    sha256 = "15g0m2wwqfp13wd7j31p8cx1kpylx5m8ljaksnsqdkgyr9l1ar8w";
-    fetchSubmodules = true;
-  };
-
-  # TODO: Not active anymore.
-  tgaur = fetchgit {
-    url = "https://aur.archlinux.org/telegram-desktop-systemqt.git";
-    rev = "1ed27ce40913b9e6e87faf7a2310660c2790b98e";
-    sha256 = "1i7ipqgisaw54g1nbg2cvpbx89g9gyjjb3sak1486pxsasp1qhyc";
-  };
-
-  patches = [
-    (fetchpatch {
-      name = "tdesktop.patch";
-      url = "https://git.archlinux.org/svntogit/community.git/plain/repos/community-x86_64/tdesktop.patch?h=packages/telegram-desktop&id=f0eefac36f529295f8b065a14b6d5f1a51d7614d";
-      sha256 = "1a4wap5xnp6zn4913r3zdpy6hvkcfxcy4zzimy7fwzp7iwy20iqa";
-    })
-  ];
-
-  postPatch = ''
-    substituteInPlace Telegram/SourceFiles/platform/linux/linux_libs.cpp --replace '"appindicator"' '"${libappindicator-gtk3}/lib/libappindicator3.so"'
-    substituteInPlace Telegram/SourceFiles/platform/linux/linux_libnotify.cpp --replace '"notify"' '"${libnotify}/lib/libnotify.so"'
-  '';
-
-  nativeBuildInputs = [ pkgconfig gyp cmake makeWrapper ];
-
-  buildInputs = [
-    qtbase qtimageformats gtk3 libappindicator-gtk3
-    dee ffmpeg openalSoft minizip libopus alsaLib libpulseaudio range-v3
-  ];
-
-  enableParallelBuilding = true;
-
-  GYP_DEFINES = lib.concatStringsSep "," [
-    "TDESKTOP_DISABLE_CRASH_REPORTS"
-    "TDESKTOP_DISABLE_AUTOUPDATE"
-    "TDESKTOP_DISABLE_REGISTER_CUSTOM_SCHEME"
-  ];
-
-  NIX_CFLAGS_COMPILE = [
-    "-DTDESKTOP_DISABLE_AUTOUPDATE"
-    "-DTDESKTOP_DISABLE_CRASH_REPORTS"
-    "-DTDESKTOP_DISABLE_REGISTER_CUSTOM_SCHEME"
-    "-I${minizip}/include/minizip"
-    # See Telegram/gyp/qt.gypi
-    "-I${qtbase.dev}/mkspecs/linux-g++"
-  ] ++ lib.concatMap (x: [
-    "-I${qtbase.dev}/include/${x}"
-    "-I${qtbase.dev}/include/${x}/${qtbase.version}"
-    "-I${qtbase.dev}/include/${x}/${qtbase.version}/${x}"
-    "-I${libopus.dev}/include/opus"
-    "-I${alsaLib.dev}/include/alsa"
-    "-I${libpulseaudio.dev}/include/pulse"
-  ]) [ "QtCore" "QtGui" "QtDBus" ];
-  CPPFLAGS = NIX_CFLAGS_COMPILE;
-
-  preConfigure = ''
-
-    pushd "Telegram/ThirdParty/libtgvoip"
-    patch -Np1 -i "${tgaur}/libtgvoip.patch"
-    popd
-
-    sed -i Telegram/gyp/telegram_linux.gypi \
-      -e 's,/usr,/does-not-exist,g' \
-      -e 's,appindicator-0.1,appindicator3-0.1,g' \
-      -e 's,-flto,,g'
-
-    sed -i Telegram/gyp/qt.gypi \
-      -e "s,/usr/include/qt/QtCore/,${qtbase.dev}/include/QtCore/,g" \
-      -e 's,\d+",\d+" | head -n1,g'
-    sed -i Telegram/gyp/qt_moc.gypi \
-      -e "s,/usr/bin/moc,moc,g"
-    sed -i Telegram/gyp/qt_rcc.gypi \
-      -e "s,/usr/bin/rcc,rcc,g"
-
-    gyp \
-      -Dbuild_defines=${GYP_DEFINES} \
-      -Gconfig=Release \
-      --depth=Telegram/gyp \
-      --generator-output=../.. \
-      -Goutput_dir=out \
-       --format=cmake \
-      Telegram/gyp/Telegram.gyp
-
-    cd out/Release
-
-    NUM=$((`wc -l < CMakeLists.txt` - 2))
-    sed -i "$NUM r $tgaur/CMakeLists.inj" CMakeLists.txt
-
-    export ASM=$(type -p gcc)
-  '';
-
-  installPhase = ''
-    install -Dm755 Telegram $out/bin/telegram-desktop
-    mkdir -p $out/share/applications $out/share/kde4/services
-    sed "s,/usr/bin,$out/bin,g" $tgaur/telegram-desktop.desktop > $out/share/applications/telegram-desktop.desktop
-    sed "s,/usr/bin,$out/bin,g" $tgaur/tg.protocol > $out/share/kde4/services/tg.protocol
-    for icon_size in 16 32 48 64 128 256 512; do
-      install -Dm644 "../../../Telegram/Resources/art/icon''${icon_size}.png" "$out/share/icons/hicolor/''${icon_size}x''${icon_size}/apps/telegram-desktop.png"
-    done
-
-    # This is necessary to run Telegram in a pure environment.
-    wrapProgram $out/bin/telegram-desktop \
-      --prefix QT_PLUGIN_PATH : "${qtbase}/${qtbase.qtPluginPrefix}" \
-      --set XDG_RUNTIME_DIR "XDG-RUNTIME-DIR"
-    sed -i $out/bin/telegram-desktop \
-      -e "s,'XDG-RUNTIME-DIR',\"\''${XDG_RUNTIME_DIR:-/run/user/\$(id --user)}\","
-  '';
-
-  meta = with lib; {
-    description = "Telegram Desktop messaging app";
-    license = licenses.gpl3;
-    platforms = platforms.linux;
-    homepage = https://desktop.telegram.org/;
-    maintainers = with maintainers; [ abbradar garbas primeos ];
+{ qt5, stdenv }:
+
+let
+  mkTelegram = args: qt5.callPackage (import ./generic.nix args) { };
+  stableVersion = {
+    stable = true;
+    version = "1.2.17";
+    sha256Hash = "1lswjn3rnrbps1pd2xhnhggcn1z0i7y71dpr0v9wb1yc8qhh4pi0";
+    # svn log svn://svn.archlinux.org/community/telegram-desktop/trunk
+    archPatchesRevision = "310557";
+    archPatchesHash = "1v134dal3xiapgh3akfr61vh62j24m9vkb62kckwvap44iqb0hlk";
   };
+in {
+  stable = mkTelegram stableVersion;
+  preview = mkTelegram (stableVersion // {
+    stable = false;
+    version = "1.2.19";
+    sha256Hash = "0val6lfcg3ghcksflm3jclqly0x8plpn3an8v9bix0s5yll1ka4h";
+  });
 }
diff --git a/pkgs/applications/networking/instant-messengers/telegram/tdesktop/generic.nix b/pkgs/applications/networking/instant-messengers/telegram/tdesktop/generic.nix
new file mode 100644
index 00000000000..7581482504b
--- /dev/null
+++ b/pkgs/applications/networking/instant-messengers/telegram/tdesktop/generic.nix
@@ -0,0 +1,140 @@
+{ stable, version, sha256Hash, archPatchesRevision, archPatchesHash }:
+
+{ mkDerivation, lib, fetchgit, fetchsvn
+, pkgconfig, pythonPackages, cmake, wrapGAppsHook
+, qtbase, qtimageformats, gtk3, libappindicator-gtk3, libnotify
+, dee, ffmpeg, openalSoft, minizip, libopus, alsaLib, libpulseaudio, range-v3
+}:
+
+with lib;
+
+mkDerivation rec {
+  name = "telegram-desktop-${version}";
+  inherit version;
+
+  # Telegram-Desktop with submodules
+  src = fetchgit {
+    url = "git://github.com/telegramdesktop/tdesktop";
+    rev = "v${version}";
+    sha256 = sha256Hash;
+    fetchSubmodules = true;
+  };
+
+  # Arch patches (svn export telegram-desktop/trunk)
+  archPatches = fetchsvn {
+    url = "svn://svn.archlinux.org/community/telegram-desktop/trunk";
+    rev = archPatchesRevision;
+    sha256 = archPatchesHash;
+  };
+
+  # TODO: libtgvoip.patch no-gtk2.patch
+  patches = [ "${archPatches}/tdesktop.patch" ];
+
+  postPatch = ''
+    substituteInPlace Telegram/SourceFiles/platform/linux/linux_libs.cpp \
+      --replace '"appindicator"' '"${libappindicator-gtk3}/lib/libappindicator3.so"'
+    substituteInPlace Telegram/SourceFiles/platform/linux/linux_libnotify.cpp \
+      --replace '"notify"' '"${libnotify}/lib/libnotify.so"'
+  '';
+
+  nativeBuildInputs = [ pkgconfig pythonPackages.gyp cmake wrapGAppsHook ];
+
+  # We want to run wrapProgram manually (with additional parameters)
+  dontWrapGApps = true;
+
+  buildInputs = [
+    qtbase qtimageformats gtk3 libappindicator-gtk3
+    dee ffmpeg openalSoft minizip libopus alsaLib libpulseaudio range-v3
+  ];
+
+  enableParallelBuilding = true;
+
+  GYP_DEFINES = concatStringsSep "," [
+    "TDESKTOP_DISABLE_CRASH_REPORTS"
+    "TDESKTOP_DISABLE_AUTOUPDATE"
+    "TDESKTOP_DISABLE_REGISTER_CUSTOM_SCHEME"
+  ];
+
+  NIX_CFLAGS_COMPILE = [
+    "-DTDESKTOP_DISABLE_CRASH_REPORTS"
+    "-DTDESKTOP_DISABLE_AUTOUPDATE"
+    "-DTDESKTOP_DISABLE_REGISTER_CUSTOM_SCHEME"
+    "-I${minizip}/include/minizip"
+    # See Telegram/gyp/qt.gypi
+    "-I${getDev qtbase}/mkspecs/linux-g++"
+  ] ++ concatMap (x: [
+    "-I${getDev qtbase}/include/${x}"
+    "-I${getDev qtbase}/include/${x}/${qtbase.version}"
+    "-I${getDev qtbase}/include/${x}/${qtbase.version}/${x}"
+    "-I${getDev libopus}/include/opus"
+    "-I${getDev alsaLib}/include/alsa"
+    "-I${getDev libpulseaudio}/include/pulse"
+    ]) [ "QtCore" "QtGui" "QtDBus" ];
+  CPPFLAGS = NIX_CFLAGS_COMPILE;
+
+  preConfigure = ''
+    pushd "Telegram/ThirdParty/libtgvoip"
+    patch -Np1 -i "${archPatches}/libtgvoip.patch"
+    popd
+
+    sed -i Telegram/gyp/telegram_linux.gypi \
+      -e 's,/usr,/does-not-exist,g' \
+      -e 's,appindicator-0.1,appindicator3-0.1,g' \
+      -e 's,-flto,,g'
+
+    sed -i Telegram/gyp/qt.gypi \
+      -e "s,/usr/include/qt/QtCore/,${qtbase.dev}/include/QtCore/,g" \
+      -e 's,\d+",\d+" | head -n1,g'
+    sed -i Telegram/gyp/qt_moc.gypi \
+      -e "s,/usr/bin/moc,moc,g"
+    sed -i Telegram/gyp/qt_rcc.gypi \
+      -e "s,/usr/bin/rcc,rcc,g"
+
+    gyp \
+      -Dbuild_defines=${GYP_DEFINES} \
+      -Gconfig=Release \
+      --depth=Telegram/gyp \
+      --generator-output=../.. \
+      -Goutput_dir=out \
+      --format=cmake \
+      Telegram/gyp/Telegram.gyp
+
+    cd out/Release
+
+    NUM=$((`wc -l < CMakeLists.txt` - 2))
+    sed -i "$NUM r $archPatches/CMakeLists.inj" CMakeLists.txt
+
+    export ASM=$(type -p gcc)
+  '';
+
+  installPhase = ''
+    install -Dm755 Telegram $out/bin/telegram-desktop
+
+    mkdir -p $out/share/applications $out/share/kde4/services
+    install -m444 "$src/lib/xdg/telegramdesktop.desktop" "$out/share/applications/telegram-desktop.desktop"
+    sed "s,/usr/bin,$out/bin,g" $archPatches/tg.protocol > $out/share/kde4/services/tg.protocol
+    for icon_size in 16 32 48 64 128 256 512; do
+      install -Dm644 "../../../Telegram/Resources/art/icon''${icon_size}.png" "$out/share/icons/hicolor/''${icon_size}x''${icon_size}/apps/telegram.png"
+    done
+  '';
+
+  postFixup = ''
+    # This is necessary to run Telegram in a pure environment.
+    # We also use gappsWrapperArgs from wrapGAppsHook.
+    wrapProgram $out/bin/telegram-desktop \
+      "''${gappsWrapperArgs[@]}" \
+      --prefix QT_PLUGIN_PATH : "${qtbase}/${qtbase.qtPluginPrefix}" \
+      --set XDG_RUNTIME_DIR "XDG-RUNTIME-DIR"
+    sed -i $out/bin/telegram-desktop \
+      -e "s,'XDG-RUNTIME-DIR',\"\''${XDG_RUNTIME_DIR:-/run/user/\$(id --user)}\","
+  '';
+
+  meta = {
+    description = "Telegram Desktop messaging app "
+      + (if stable then "(stable version)" else "(pre-release)");
+    license = licenses.gpl3;
+    platforms = [ "x86_64-linux" "i686-linux" ];
+    homepage = https://desktop.telegram.org/;
+    maintainers = with maintainers; [ primeos abbradar garbas ];
+  };
+}
diff --git a/pkgs/applications/networking/instant-messengers/telepathy/gabble/default.nix b/pkgs/applications/networking/instant-messengers/telepathy/gabble/default.nix
index 1b9ccb98d0f..4fa4967c898 100644
--- a/pkgs/applications/networking/instant-messengers/telepathy/gabble/default.nix
+++ b/pkgs/applications/networking/instant-messengers/telepathy/gabble/default.nix
@@ -2,11 +2,11 @@
 , sqlite, libsoup, libnice, gnutls}:
 
 stdenv.mkDerivation rec {
-  name = "telepathy-gabble-0.18.3";
+  name = "telepathy-gabble-0.18.4";
 
   src = fetchurl {
-    url = "${meta.homepage}/releases/telepathy-gabble/${name}.tar.gz";
-    sha256 = "1hl9k6jwn2afwwv7br16wfw5szdhwxqziba47xd8vjwvgrh19iwf";
+    url = "http://telepathy.freedesktop.org/releases/telepathy-gabble/${name}.tar.gz";
+    sha256 = "174nlkqm055vrhv11gy73m20jbsggcb0ddi51c7s9m3j5ibr2p0i";
   };
 
   nativeBuildInputs = [ pkgconfig libxslt ];
@@ -22,6 +22,6 @@ stdenv.mkDerivation rec {
     homepage = https://telepathy.freedesktop.org/components/telepathy-gabble/;
     description = "Jabber/XMPP connection manager for the Telepathy framework";
     license = licenses.lgpl21Plus;
-    platforms = stdenv.lib.platforms.gnu;
+    platforms = stdenv.lib.platforms.gnu ++ stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/applications/networking/instant-messengers/telepathy/haze/default.nix b/pkgs/applications/networking/instant-messengers/telepathy/haze/default.nix
index a1669183bb3..89be42781a4 100644
--- a/pkgs/applications/networking/instant-messengers/telepathy/haze/default.nix
+++ b/pkgs/applications/networking/instant-messengers/telepathy/haze/default.nix
@@ -24,6 +24,6 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "A Telepathy connection manager based on libpurple";
-    platforms = stdenv.lib.platforms.gnu; # Random choice
+    platforms = stdenv.lib.platforms.gnu ++ stdenv.lib.platforms.linux; # Random choice
   };
 }
diff --git a/pkgs/applications/networking/instant-messengers/telepathy/idle/default.nix b/pkgs/applications/networking/instant-messengers/telepathy/idle/default.nix
index 7894554eee4..4607961cdf0 100644
--- a/pkgs/applications/networking/instant-messengers/telepathy/idle/default.nix
+++ b/pkgs/applications/networking/instant-messengers/telepathy/idle/default.nix
@@ -21,6 +21,6 @@ stdenv.mkDerivation rec {
   meta = {
     description = "IRC connection manager for the Telepathy framework";
     license = stdenv.lib.licenses.lgpl21;
-    platforms = stdenv.lib.platforms.gnu;
+    platforms = stdenv.lib.platforms.gnu ++ stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/applications/networking/instant-messengers/telepathy/logger/default.nix b/pkgs/applications/networking/instant-messengers/telepathy/logger/default.nix
index 111970ab711..1791a7ff1dd 100644
--- a/pkgs/applications/networking/instant-messengers/telepathy/logger/default.nix
+++ b/pkgs/applications/networking/instant-messengers/telepathy/logger/default.nix
@@ -7,7 +7,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "http://telepathy.freedesktop.org/releases/${project}/${name}.tar.bz2";
-    sha256 = "18i00l8lnp5dghqmgmpxnn0is2a20pkisxy0sb78hnd2dz0z6xnl";
+    sha256 = "1bjx85k7jyfi5pvl765fzc7q2iz9va51anrc2djv7caksqsdbjlg";
   };
 
   nativeBuildInputs = [
@@ -31,6 +31,6 @@ stdenv.mkDerivation rec {
     homepage = https://telepathy.freedesktop.org/components/telepathy-logger/;
     license = licenses.lgpl21;
     maintainers = with maintainers; [ jtojnar ];
-    platforms = platforms.gnu; # Arbitrary choice
+    platforms = platforms.gnu ++ platforms.linux; # Arbitrary choice
   };
 }
diff --git a/pkgs/applications/networking/instant-messengers/telepathy/salut/default.nix b/pkgs/applications/networking/instant-messengers/telepathy/salut/default.nix
index e060eaabf28..17cd20c09cb 100644
--- a/pkgs/applications/networking/instant-messengers/telepathy/salut/default.nix
+++ b/pkgs/applications/networking/instant-messengers/telepathy/salut/default.nix
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Link-local XMPP connection manager for Telepathy";
-    platforms = platforms.gnu; # Random choice
+    platforms = platforms.gnu ++ platforms.linux; # Random choice
     maintainers = [ maintainers.lethalman ];
   };
 }
diff --git a/pkgs/applications/networking/instant-messengers/toxic/default.nix b/pkgs/applications/networking/instant-messengers/toxic/default.nix
index 4934a737405..8a45e988c07 100644
--- a/pkgs/applications/networking/instant-messengers/toxic/default.nix
+++ b/pkgs/applications/networking/instant-messengers/toxic/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   name = "toxic-${version}";
-  version = "0.7.2";
+  version = "0.8.2";
 
   src = fetchFromGitHub {
     owner  = "Tox";
     repo   = "toxic";
     rev    = "v${version}";
-    sha256 = "1kws6bx5va1wc0k6pqihrla91vicxk4zqghvxiylgfbjr1jnkvwc";
+    sha256 = "0fwmk945nip98m3md58y3ibjmzfq25hns3xf0bmbc6fjpww8d5p5";
   };
 
   makeFlags = [ "PREFIX=$(out)"];
diff --git a/pkgs/applications/networking/instant-messengers/utox/default.nix b/pkgs/applications/networking/instant-messengers/utox/default.nix
index 9c208dd52a8..e139904fee5 100644
--- a/pkgs/applications/networking/instant-messengers/utox/default.nix
+++ b/pkgs/applications/networking/instant-messengers/utox/default.nix
@@ -1,16 +1,18 @@
-{ stdenv, fetchFromGitHub, cmake, pkgconfig, libtoxcore, filter-audio, dbus, libvpx, libX11, openal, freetype, libv4l
-, libXrender, fontconfig, libXext, libXft, utillinux, git, libsodium, libopus, check }:
+{ stdenv, lib, fetchFromGitHub, check, cmake, pkgconfig
+, libtoxcore, filter-audio, dbus, libvpx, libX11, openal, freetype, libv4l
+, libXrender, fontconfig, libXext, libXft, utillinux, libsodium, libopus }:
 
 stdenv.mkDerivation rec {
   name = "utox-${version}";
 
-  version = "0.16.1";
+  version = "0.17.0";
 
   src = fetchFromGitHub {
     owner  = "uTox";
     repo   = "uTox";
     rev    = "v${version}";
-    sha256 = "0ak10925v67yaga2pw9yzp0xkb5j1181srfjdyqpd29v8mi9j828";
+    sha256 = "12wbq883il7ikldayh8hm0cjfrkp45vn05xx9s1jbfz6gmkidyar";
+    fetchSubmodules = true;
   };
 
   buildInputs = [
@@ -20,16 +22,20 @@ stdenv.mkDerivation rec {
   ];
 
   nativeBuildInputs = [
-    cmake git pkgconfig check
+    check cmake pkgconfig
   ];
 
   cmakeFlags = [
-    "-DENABLE_UPDATER=OFF"
-  ] ++ stdenv.lib.optional (!doCheck) "-DENABLE_TESTS=OFF";
+    "-DENABLE_AUTOUPDATE=OFF"
+  ] ++ lib.optional (doCheck) "-DENABLE_TESTS=ON";
 
-  doCheck = true;
+  doCheck = stdenv.isLinux;
 
-  checkTarget = "test";
+  checkPhase = ''
+    runHook preCheck
+    ctest -VV
+    runHook postCheck
+  '';
 
   meta = with stdenv.lib; {
     description = "Lightweight Tox client";
diff --git a/pkgs/applications/networking/instant-messengers/viber/default.nix b/pkgs/applications/networking/instant-messengers/viber/default.nix
index 3c164820019..781912f665d 100644
--- a/pkgs/applications/networking/instant-messengers/viber/default.nix
+++ b/pkgs/applications/networking/instant-messengers/viber/default.nix
@@ -3,8 +3,6 @@
  libpulseaudio, libxml2, libxslt, libGLU_combined, nspr, nss, openssl, systemd, wayland, xorg, zlib, ...
 }:
 
-assert stdenv.system == "x86_64-linux";
-
 stdenv.mkDerivation rec {
   name = "viber-${version}";
   version = "7.0.0.1035";
@@ -99,7 +97,7 @@ stdenv.mkDerivation rec {
     homepage = http://www.viber.com;
     description = "An instant messaging and Voice over IP (VoIP) app";
     license = stdenv.lib.licenses.unfree;
-    platforms = stdenv.lib.platforms.linux;
+    platforms = [ "x86_64-linux" ];
     maintainers = with stdenv.lib.maintainers; [ jagajaga ];
   };
 
diff --git a/pkgs/applications/networking/instant-messengers/weechat-matrix-bridge/default.nix b/pkgs/applications/networking/instant-messengers/weechat-matrix-bridge/default.nix
index f1338bc0df3..85faebf95a3 100644
--- a/pkgs/applications/networking/instant-messengers/weechat-matrix-bridge/default.nix
+++ b/pkgs/applications/networking/instant-messengers/weechat-matrix-bridge/default.nix
@@ -1,12 +1,12 @@
 { stdenv, curl, fetchFromGitHub, cjson, olm, luaffi }:
 
 stdenv.mkDerivation {
-  name = "weechat-matrix-bridge-2017-03-28";
+  name = "weechat-matrix-bridge-2018-01-10";
   src = fetchFromGitHub {
     owner = "torhve";
     repo = "weechat-matrix-protocol-script";
-    rev = "0052e7275ae149dc5241226391c9b1889ecc3c6b";
-    sha256 = "14x58jd44g08sfnp1gx74gq2na527v5jjpsvv1xx4b8mixwy20hi";
+    rev = "a8e4ce04665c09ee7f24d6b319cd85cfb56dfbd7";
+    sha256 = "0822xcxvwanwm8qbzqhn3f1m6hhxs29pyf8lnv6v29bl8136vcq3";
   };
 
   patches = [
diff --git a/pkgs/applications/networking/instant-messengers/wire-desktop/default.nix b/pkgs/applications/networking/instant-messengers/wire-desktop/default.nix
new file mode 100644
index 00000000000..f0123024fe2
--- /dev/null
+++ b/pkgs/applications/networking/instant-messengers/wire-desktop/default.nix
@@ -0,0 +1,104 @@
+{ stdenv, lib, fetchurl, dpkg, makeDesktopItem, gnome2, atk, cairo, gdk_pixbuf, glib
+, freetype, fontconfig, dbus, libnotify, libX11, xorg, libXi, libXcursor, libXdamage
+, libXrandr, libXcomposite, libXext, libXfixes, libXrender, libXtst, libXScrnSaver
+, nss, nspr, alsaLib, cups, expat, udev, xdg_utils, hunspell
+}:
+let
+  rpath = lib.makeLibraryPath [
+    alsaLib
+    atk
+    cairo
+    cups
+    dbus
+    expat
+    fontconfig
+    freetype
+    gdk_pixbuf
+    glib
+    gnome2.GConf
+    gnome2.gtk
+    gnome2.pango
+    hunspell
+    libnotify
+    libX11
+    libXcomposite
+    libXcursor
+    libXdamage
+    libXext
+    libXfixes
+    libXi
+    libXrandr
+    libXrender
+    libXScrnSaver
+    libXtst
+    nspr
+    nss
+    stdenv.cc.cc
+    udev
+    xdg_utils
+    xorg.libxcb
+  ];
+
+  version = "3.0.2816";
+
+  plat = {
+    "i686-linux" = "i386";
+    "x86_64-linux" = "amd64";
+  }.${stdenv.system};
+
+  sha256 = {
+    "i686-linux" = "1ds807j1b8dk9hrnzbg4g9mvn44abw24pxrqns9ai62mh3hvi65p";
+    "x86_64-linux" = "13pyyp2c8q0v0ni2hzh2jnbd3i96q68314glbmy4kyh7vm9427lc";
+  }.${stdenv.system};
+
+in
+  stdenv.mkDerivation rec {
+    name = "wire-desktop-${version}";
+
+    src = fetchurl {
+      url = "https://wire-app.wire.com/linux/debian/pool/main/wire_${version}_${plat}.deb";
+      inherit sha256;
+    };
+
+    desktopItem = makeDesktopItem {
+      name = "wire-desktop";
+      exec = "wire-desktop %U";
+      icon = "wire-desktop";
+      comment = "Secure messenger for everyone";
+      desktopName = "Wire Desktop";
+      genericName = "Secure messenger";
+      categories = "Network;InstantMessaging;Chat;VideoConference";
+    };
+
+    phases = [ "unpackPhase" "installPhase" ];
+    nativeBuildInputs = [ dpkg ];
+    unpackPhase = "dpkg-deb -x $src .";
+    installPhase = ''
+      mkdir -p $out
+      cp -R opt $out
+      cp -R usr/share $out/share
+
+      chmod -R g-w $out
+
+      # Patch signal
+      patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
+               --set-rpath "${rpath}:$out/opt/wire-desktop" \
+               "$out/opt/wire-desktop/wire-desktop"
+
+      # Symlink to bin
+      mkdir -p $out/bin
+      ln -s "$out/opt/wire-desktop/wire-desktop" $out/bin/wire-desktop
+
+      # Desktop file
+      mkdir -p $out/share/applications
+      cp ${desktopItem}/share/applications/* $out/share/applications
+    '';
+    
+    meta = {
+      description = "A modern, secure messenger";
+      homepage    = https://wire.com/;
+      license     = lib.licenses.gpl3;
+      maintainers = with lib.maintainers; [ worldofpeace ];
+      platforms = [ "i686-linux" "x86_64-linux" ];
+    };
+  }
diff --git a/pkgs/applications/networking/instant-messengers/zoom-us/default.nix b/pkgs/applications/networking/instant-messengers/zoom-us/default.nix
index e13f0001f02..692a4362935 100644
--- a/pkgs/applications/networking/instant-messengers/zoom-us/default.nix
+++ b/pkgs/applications/networking/instant-messengers/zoom-us/default.nix
@@ -1,14 +1,14 @@
-{ stdenv, fetchurl, system, makeWrapper,
-  alsaLib, dbus, glib, gstreamer, fontconfig, freetype, libpulseaudio, libxml2,
-  libxslt, libGLU_combined, nspr, nss, sqlite, utillinux, zlib, xorg, udev, expat, libv4l }:
+{ stdenv, fetchurl, system, makeWrapper, makeDesktopItem,
+  alsaLib, dbus, glib, fontconfig, freetype, libpulseaudio,
+  utillinux, zlib, xorg, udev, sqlite, expat, libv4l, procps, libGL }:
 
 let
 
-  version = "2.0.106600.0904";
+  version = "2.0.123200.0405";
   srcs = {
     x86_64-linux = fetchurl {
       url = "https://zoom.us/client/${version}/zoom_x86_64.tar.xz";
-      sha256 = "1dcr0rqgjingjqbqv37hqjhhwy8axnjyirrnmjk44b5xnh239w9s";
+      sha256 = "1ifwa2xf5mw1ll2j1f39qd7mpyxpc6xj3650dmlnxf525dsm573z";
     };
   };
 
@@ -17,25 +17,21 @@ in stdenv.mkDerivation {
 
   src = srcs.${system};
 
-  buildInputs = [ makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
 
   libPath = stdenv.lib.makeLibraryPath [
     alsaLib
-    dbus
+    expat
     glib
-    gstreamer
-    fontconfig
     freetype
+    libGL
     libpulseaudio
-    libxml2
-    libxslt
-    nspr
-    nss
+    zlib
+    dbus
+    fontconfig
     sqlite
     utillinux
-    zlib
     udev
-    expat
 
     xorg.libX11
     xorg.libSM
@@ -59,7 +55,7 @@ in stdenv.mkDerivation {
   ];
 
   installPhase = ''
-    $preInstallHooks
+    runHook preInstall
 
     packagePath=$out/share/zoom-us
     mkdir -p $packagePath
@@ -79,6 +75,7 @@ in stdenv.mkDerivation {
     makeWrapper $packagePath/zoom $out/bin/zoom-us \
         --prefix LD_LIBRARY_PATH : "$packagePath:$libPath" \
         --prefix LD_PRELOAD : "${libv4l}/lib/v4l1compat.so" \
+        --prefix PATH : "${procps}/bin" \
         --set QT_PLUGIN_PATH "$packagePath/platforms" \
         --set QT_XKB_CONFIG_ROOT "${xorg.xkeyboardconfig}/share/X11/xkb" \
         --set QTCOMPOSE "${xorg.libX11.out}/share/X11/locale"
@@ -88,9 +85,19 @@ in stdenv.mkDerivation {
     Prefix = $packagePath
     EOF
 
-    $postInstallHooks
+    runHook postInstall
   '';
 
+  postInstall = (makeDesktopItem {
+    name = "zoom-us";
+    exec = "$out/bin/zoom-us %U";
+    icon = "$out/share/zoom-us/application-x-zoom.png";
+    desktopName = "Zoom";
+    genericName = "Video Conference";
+    categories = "Network;Application;";
+    mimeType = "x-scheme-handler/zoommtg;";
+  }).buildCommand;
+
   meta = {
     homepage = https://zoom.us/;
     description = "zoom.us video conferencing application";
diff --git a/pkgs/applications/networking/insync/default.nix b/pkgs/applications/networking/insync/default.nix
index cf3725c35e3..e718dc6562f 100644
--- a/pkgs/applications/networking/insync/default.nix
+++ b/pkgs/applications/networking/insync/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   name = "insync-${version}";
-  version = "1.3.22.36179";
+  version = "1.4.5.37069";
   src =
     if stdenv.system == "x86_64-linux" then
       fetchurl {
         url = "http://s.insynchq.com/builds/insync-portable_${version}_amd64.tar.bz2";
-        sha256 = "0jmycpbmfvvpilcycyg6zgpjz6449bs17d2w4jx7m1rvzmpkk140";
+        sha256 = "0mkqgpq4isngkj20c0ygmxf4cj975d446svhwvl3cqdrjkjm1ybd";
       }
     else
       throw "${name} is not supported on ${stdenv.system}";
diff --git a/pkgs/applications/networking/ipfs/default.nix b/pkgs/applications/networking/ipfs/default.nix
index 74c19b07aaa..4153d527b9f 100644
--- a/pkgs/applications/networking/ipfs/default.nix
+++ b/pkgs/applications/networking/ipfs/default.nix
@@ -2,7 +2,7 @@
 
 buildGoPackage rec {
   name = "ipfs-${version}";
-  version = "0.4.13";
+  version = "0.4.14";
   rev = "v${version}";
 
   goPackagePath = "github.com/ipfs/go-ipfs";
@@ -10,7 +10,7 @@ buildGoPackage rec {
   extraSrcPaths = [
     (fetchgx {
       inherit name src;
-      sha256 = "150lhf5999jz0nck5s0fs0fp3pgaj85s7dndh68h9caw1fwpwb4f";
+      sha256 = "0gad5y5clkrk5jsjj9gmrlnx8kbn2vg50vka1b8jg7b55hdvvlcg";
     })
   ];
 
@@ -18,7 +18,7 @@ buildGoPackage rec {
     owner = "ipfs";
     repo = "go-ipfs";
     inherit rev;
-    sha256 = "103mlsnqfnnqxh4phr192haaiv98d1bwpvca1sqrxz1216r5x0ik";
+    sha256 = "0wvjw8jziwhvfwhksg26qlj2irznl5bs2yll9jkv335pnwb5qi3v";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/networking/irc/bip/default.nix b/pkgs/applications/networking/irc/bip/default.nix
index a79df085e6b..7c40a4e12a6 100644
--- a/pkgs/applications/networking/irc/bip/default.nix
+++ b/pkgs/applications/networking/irc/bip/default.nix
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
     })
   ];
 
-  NIX_CFLAGS_COMPILE = "-Wno-error=unused-result";
+  NIX_CFLAGS_COMPILE = [ "-Wno-error=unused-result" "-Wno-error=duplicate-decl-specifier" ];
 
   meta = {
     description = "An IRC proxy (bouncer)";
diff --git a/pkgs/applications/networking/irc/ii/default.nix b/pkgs/applications/networking/irc/ii/default.nix
index 15f9def1151..4807f3419d1 100644
--- a/pkgs/applications/networking/irc/ii/default.nix
+++ b/pkgs/applications/networking/irc/ii/default.nix
@@ -2,9 +2,9 @@
 
 stdenv.mkDerivation rec {
   name = "ii-1.8";
-  
+
   src = fetchurl {
-    url = "http://dl.suckless.org/tools/${name}.tar.gz";
+    url = "https://dl.suckless.org/tools/${name}.tar.gz";
     sha256 = "1lk8vjl7i8dcjh4jkg8h8bkapcbs465sy8g9c0chfqsywbmf3ndr";
   };
 
diff --git a/pkgs/applications/networking/irc/irssi/default.nix b/pkgs/applications/networking/irc/irssi/default.nix
index 97838312fd0..b5bab3585c5 100644
--- a/pkgs/applications/networking/irc/irssi/default.nix
+++ b/pkgs/applications/networking/irc/irssi/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, ncurses, glib, openssl, perl, libintlOrEmpty }:
+{ stdenv, fetchurl, pkgconfig, ncurses, glib, openssl, perl, libintl }:
 
 stdenv.mkDerivation rec {
   version = "1.1.1";
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ ncurses glib openssl perl libintlOrEmpty ];
+  buildInputs = [ ncurses glib openssl perl libintl ];
 
   configureFlags = [
     "--with-proxy"
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
   ];
 
   meta = {
-    homepage    = http://irssi.org;
+    homepage    = https://irssi.org;
     description = "A terminal based IRC client";
     platforms   = stdenv.lib.platforms.unix;
     maintainers = with stdenv.lib.maintainers; [ lovek323 ];
diff --git a/pkgs/applications/networking/irc/quassel/default.nix b/pkgs/applications/networking/irc/quassel/default.nix
index 7c685b9df6b..739842bbec3 100644
--- a/pkgs/applications/networking/irc/quassel/default.nix
+++ b/pkgs/applications/networking/irc/quassel/default.nix
@@ -24,8 +24,6 @@ let
     buildCore = monolithic || daemon;
 in
 
-assert stdenv.isLinux;
-
 assert monolithic -> !client && !daemon;
 assert client || daemon -> !monolithic;
 assert !buildClient -> !withKDE; # KDE is used by the client only
diff --git a/pkgs/applications/networking/irc/quassel/source.nix b/pkgs/applications/networking/irc/quassel/source.nix
index f3941ee976e..20daba78899 100644
--- a/pkgs/applications/networking/irc/quassel/source.nix
+++ b/pkgs/applications/networking/irc/quassel/source.nix
@@ -1,9 +1,9 @@
 { fetchurl }:
 
 rec {
-  version = "0.12.4";
+  version = "0.12.5";
   src = fetchurl {
     url = "https://github.com/quassel/quassel/archive/${version}.tar.gz";
-    sha256 = "0q2qlhy1d6glw9pwxgcgwvspd1mkk3yi6m21dx9gnj86bxas2qs2";
+    sha256 = "04f42x87a4wkj3va3wnmj2jl7ikqqa7d7nmypqpqwalzpzk7kxwv";
   };
 }
diff --git a/pkgs/applications/networking/irc/sic/default.nix b/pkgs/applications/networking/irc/sic/default.nix
index 975715ed7fc..cf72bef62b1 100644
--- a/pkgs/applications/networking/irc/sic/default.nix
+++ b/pkgs/applications/networking/irc/sic/default.nix
@@ -6,7 +6,7 @@ stdenv.mkDerivation rec {
 
   makeFlags = "PREFIX=$(out)";
   src = fetchurl {
-    url = "http://dl.suckless.org/tools/sic-${version}.tar.gz";
+    url = "https://dl.suckless.org/tools/sic-${version}.tar.gz";
     sha256 = "ac07f905995e13ba2c43912d7a035fbbe78a628d7ba1c256f4ca1372fb565185";
   };
 
diff --git a/pkgs/applications/networking/irc/weechat/default.nix b/pkgs/applications/networking/irc/weechat/default.nix
index cfed44c997a..dec933489af 100644
--- a/pkgs/applications/networking/irc/weechat/default.nix
+++ b/pkgs/applications/networking/irc/weechat/default.nix
@@ -29,12 +29,12 @@ let
   weechat =
     assert lib.all (p: p.enabled -> ! (builtins.elem null p.buildInputs)) plugins;
     stdenv.mkDerivation rec {
-      version = "2.0";
+      version = "2.1";
       name = "weechat-${version}";
 
       src = fetchurl {
         url = "http://weechat.org/files/src/weechat-${version}.tar.bz2";
-        sha256 = "0jd1l67k2k44xmfv0a71im3j4v0gss3a6bd5s84nj3f7lqnfmqdn";
+        sha256 = "0fq68wgynv2c3319gmzi0lz4ln4yrrk755y5mbrlr7fc1sx7ffd8";
       };
 
       outputs = [ "out" "man" ] ++ map (p: p.name) enabledPlugins;
@@ -72,6 +72,11 @@ let
       meta = {
         homepage = http://www.weechat.org/;
         description = "A fast, light and extensible chat client";
+        longDescription = ''
+          You can find more documentation as to how to customize this package
+          (eg. adding python modules for scripts that would require them, etc.)
+          on https://nixos.org/nixpkgs/manual/#sec-weechat .
+        '';
         license = stdenv.lib.licenses.gpl3;
         maintainers = with stdenv.lib.maintainers; [ lovek323 garbas the-kenny lheckemann ];
         platforms = stdenv.lib.platforms.unix;
@@ -117,4 +122,7 @@ in if configure == null then weechat else
     export WEECHAT_EXTRA_LIBDIR=${pluginsDir}
     ${lib.concatMapStringsSep "\n" (p: lib.optionalString (p ? extraEnv) p.extraEnv) plugins}
     exec ${weechat}/bin/weechat "$@"
-  '') // { unwrapped = weechat; }
+  '') // {
+    unwrapped = weechat;
+    meta = weechat.meta;
+  }
diff --git a/pkgs/applications/networking/mailreaders/balsa/default.nix b/pkgs/applications/networking/mailreaders/balsa/default.nix
new file mode 100644
index 00000000000..762c6222b58
--- /dev/null
+++ b/pkgs/applications/networking/mailreaders/balsa/default.nix
@@ -0,0 +1,61 @@
+{ stdenv, fetchurl, pkgconfig, intltool, glib, gtk3, gmime, gnutls,
+  webkitgtk, libesmtp, openssl, libnotify, enchant, gpgme,
+  libcanberra-gtk3, libsecret, gtksourceview, gobjectIntrospection,
+  hicolor-icon-theme, wrapGAppsHook
+}:
+
+stdenv.mkDerivation rec {
+  name = "balsa-${version}";
+  version = "2.5.5";
+
+  src = fetchurl {
+    url = "https://pawsa.fedorapeople.org/balsa/${name}.tar.bz2";
+    sha256 = "0p4w81wvdxqhynkninzglsgqk6920x1zif2zmw8bml410lav2azz";
+  };
+
+  nativeBuildInputs = [
+    pkgconfig
+    intltool
+    gobjectIntrospection
+    hicolor-icon-theme
+    wrapGAppsHook
+  ];
+
+  buildInputs = [
+    glib
+    gtk3
+    gmime
+    gnutls
+    webkitgtk
+    openssl
+    libnotify
+    enchant
+    gpgme
+    libcanberra-gtk3
+    gtksourceview
+    libsecret
+    libesmtp
+  ];
+
+  configureFlags = [
+    "--with-canberra"
+    "--with-gpgme"
+    "--with-gtksourceview"
+    "--with-libsecret"
+    "--with-ssl"
+    "--with-unique"
+    "--without-gnome"
+  ];
+
+  NIX_CFLAGS_COMPILE = "-I${glib.dev}/include/gio-unix-2.0";
+
+  enableParallelBuilding = true;
+
+  meta = with stdenv.lib; {
+    homepage = http://pawsa.fedorapeople.org/balsa/;
+    description = "An e-mail client for GNOME";
+    license = licenses.gpl2Plus;
+    platforms = platforms.unix;
+    maintainers = [ maintainers.romildo ];
+  };
+}
diff --git a/pkgs/applications/networking/mailreaders/imapfilter.nix b/pkgs/applications/networking/mailreaders/imapfilter.nix
index 0aa95ee9532..4d0c09c2dcc 100644
--- a/pkgs/applications/networking/mailreaders/imapfilter.nix
+++ b/pkgs/applications/networking/mailreaders/imapfilter.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "imapfilter-${version}";
-  version = "2.6.10";
+  version = "2.6.11";
 
   src = fetchFromGitHub {
     owner = "lefcha";
     repo = "imapfilter";
     rev = "v${version}";
-    sha256 = "1011pbgbaz43kmxcc5alv06jly9wqmqgr0b64cm5i1md727v3rzc";
+    sha256 = "0cjnp7vqmgqym2zswabkmwlbj21r063vw7wkwxglj08z5qyjl5ps";
   };
 
   makeFlagsArray = "PREFIX=$(out)";
diff --git a/pkgs/applications/networking/mailreaders/inboxer/default.nix b/pkgs/applications/networking/mailreaders/inboxer/default.nix
index a71db1cf715..c0f015944b0 100644
--- a/pkgs/applications/networking/mailreaders/inboxer/default.nix
+++ b/pkgs/applications/networking/mailreaders/inboxer/default.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   name = "inboxer-${version}";
-  version = "1.0.2";
+  version = "1.1.2";
 
   meta = with stdenv.lib; {
     description = "Unofficial, free and open-source Google Inbox Desktop App";
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "https://github.com/denysdovhan/inboxer/releases/download/v${version}/inboxer_${version}_amd64.deb";
-    sha256 = "0nqgsqxsjnj46wsfb60p7fr631yx3fx7dfa4fpj6x2ml4i42kxid";
+    sha256 = "100185j10dj044mg5p9xlq7fj7n7xki9qw5xn845dgq0dpj8rkrm";
   };
 
   unpackPhase = ''
diff --git a/pkgs/applications/networking/mailreaders/lumail/default.nix b/pkgs/applications/networking/mailreaders/lumail/default.nix
index 2c1678e994f..79deab46912 100644
--- a/pkgs/applications/networking/mailreaders/lumail/default.nix
+++ b/pkgs/applications/networking/mailreaders/lumail/default.nix
@@ -1,20 +1,42 @@
-{ stdenv, fetchurl, pkgconfig, lua5_2, file, ncurses, gmime, pcre-cpp
-, perl, perlPackages }:
+{ stdenv, fetchurl, pkgconfig, lua, file, ncurses, gmime, pcre-cpp
+, perl, perlPackages, makeWrapper
+, debugBuild ? false
+, alternativeGlobalConfigFilePath ? null
+}:
 
 let
-  version = "2.9";
+  version    = "3.1";
+  binaryName = if debugBuild then "lumail2-debug" else "lumail2";
+  alternativeConfig = builtins.toFile "lumail2.lua"
+    (builtins.readFile alternativeGlobalConfigFilePath);
+
+  globalConfig = if isNull alternativeGlobalConfigFilePath then ''
+    mkdir -p $out/etc/lumail2
+    cp global.config.lua $out/etc/lumail2.lua
+    for n in ./lib/*.lua; do
+      cp "$n" $out/etc/lumail2/
+    done
+  '' else ''
+    ln -s ${alternativeConfig} $out/etc/lumail2.lua
+  '';
+
+  getPath  = type : "${lua}/lib/?.${type};";
+  luaPath  = getPath "lua";
+  luaCPath = getPath "so";
 in
 stdenv.mkDerivation {
   name = "lumail-${version}";
 
   src = fetchurl {
     url = "https://lumail.org/download/lumail-${version}.tar.gz";
-    sha256 = "1rni5lbic36v4cd1r0l28542x0hlmfqkl6nac79gln491in2l2sc";
+    sha256 = "0vj7p7f02m3w8wb74ilajcwznc4ai4h2ikkz9ildy0c00aqsi5w4";
   };
 
-  nativeBuildInputs = [ pkgconfig ];
+  enableParallelBuilding = true;
+
+  nativeBuildInputs = [ pkgconfig makeWrapper ];
   buildInputs = [
-    lua5_2 file ncurses gmime pcre-cpp
+    lua file ncurses gmime pcre-cpp
     perl perlPackages.JSON perlPackages.NetIMAPClient
   ];
 
@@ -29,16 +51,26 @@ stdenv.mkDerivation {
     sed -e "s|^#\!\(.*/perl.*\)$|#\!\1$perlFlags|" -i perl.d/imap-proxy
   '';
 
+  buildFlags = if debugBuild then "lumail2-debug" else "";
+
+  installPhase = ''
+    mkdir -p $out/bin || true
+    install -m755 ${binaryName} $out/bin/
+  ''
+  + globalConfig
+  + ''
+    wrapProgram $out/bin/${binaryName} \
+        --prefix LUA_PATH : "${luaPath}" \
+        --prefix LUA_CPATH : "${luaCPath}"
+  '';
+
   makeFlags = [
     "LVER=lua"
     "PREFIX=$(out)"
     "SYSCONFDIR=$(out)/etc"
+    "LUMAIL_LIBS=$(out)/etc/lumail2"
   ];
 
-  postInstall = ''
-    cp lumail2.user.lua $out/etc/lumail2/
-  '';
-
   meta = with stdenv.lib; {
     description = "Console-based email client";
     homepage = https://lumail.org/;
diff --git a/pkgs/applications/networking/mailreaders/mutt/default.nix b/pkgs/applications/networking/mailreaders/mutt/default.nix
index 03bfc711c43..bbd56b188df 100644
--- a/pkgs/applications/networking/mailreaders/mutt/default.nix
+++ b/pkgs/applications/networking/mailreaders/mutt/default.nix
@@ -27,11 +27,11 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   name = "mutt-${version}";
-  version = "1.9.4";
+  version = "1.9.5";
 
   src = fetchurl {
     url = "http://ftp.mutt.org/pub/mutt/${name}.tar.gz";
-    sha256 = "1pxmw5yyizb9bqbai6lihv6zxmw0znjfb60zaldwh6hc6lkbzlgl";
+    sha256 = "0lsp72lm3cw490x7lhzia7h8f591bab2mr7qpscaj22fmrj7wqdz";
   };
 
   patches = optional smimeSupport (fetchpatch {
diff --git a/pkgs/applications/networking/mailreaders/neomutt/default.nix b/pkgs/applications/networking/mailreaders/neomutt/default.nix
index ea7e7ee282d..7bd0ea70dc6 100644
--- a/pkgs/applications/networking/mailreaders/neomutt/default.nix
+++ b/pkgs/applications/networking/mailreaders/neomutt/default.nix
@@ -15,14 +15,14 @@ let
   '';
 
 in stdenv.mkDerivation rec {
-  version = "20180223";
+  version = "20180323";
   name = "neomutt-${version}";
 
   src = fetchFromGitHub {
     owner  = "neomutt";
     repo   = "neomutt";
     rev    = "neomutt-${version}";
-    sha256 = "1q0zwm8p2mk85icrbq42z4235mpqfra38pigd064kharx54k36sb";
+    sha256 = "0wxk1fqxk9pf2s43mw7diixv3hpwdry1cyr2xh119gqjc27lrc5w";
   };
 
   buildInputs = [
@@ -53,7 +53,7 @@ in stdenv.mkDerivation rec {
       --replace /etc/mime.types ${mime-types}/etc/mime.types
 
     # The string conversion tests all fail with the first version of neomutt
-    # that has tests (20180223) so we disable them for now.
+    # that has tests (20180223) as well as 20180323 so we disable them for now.
     # I don't know if that is related to the tests or our build environment.
     # Try again with a later release.
     sed -i '/rfc2047/d' test/Makefile.autosetup test/main.c
@@ -79,7 +79,7 @@ in stdenv.mkDerivation rec {
 
   postInstall = ''
     cp ${muttWrapper} $out/bin/mutt
-    wrapProgram "$out/bin/neomutt" --prefix PATH : "$out/lib/neomutt"
+    wrapProgram "$out/bin/neomutt" --prefix PATH : "$out/libexec/neomutt"
   '';
 
   doCheck = true;
diff --git a/pkgs/applications/networking/mailreaders/notmuch/default.nix b/pkgs/applications/networking/mailreaders/notmuch/default.nix
index a3de728ce41..13add2690db 100644
--- a/pkgs/applications/networking/mailreaders/notmuch/default.nix
+++ b/pkgs/applications/networking/mailreaders/notmuch/default.nix
@@ -12,7 +12,7 @@
 with stdenv.lib;
 
 stdenv.mkDerivation rec {
-  version = "0.26";
+  version = "0.26.2";
   name = "notmuch-${version}";
 
   passthru = {
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "http://notmuchmail.org/releases/${name}.tar.gz";
-    sha256 = "1pvn1n7giv8n3xlazi3wpscdqhd2yak0fgv68aj23myr5bnr9s6k";
+    sha256 = "0fqf6wwvqlccq9qdnd0mky7fx0kbkczd28blf045s0vsvdjii70h";
   };
 
   nativeBuildInputs = [ pkgconfig ];
@@ -40,6 +40,8 @@ stdenv.mkDerivation rec {
   ++ optionals (!stdenv.isDarwin) [ gdb man ]; # test dependencies
 
   postPatch = ''
+    patchShebangs configure
+
     find test/ -type f -exec \
       sed -i \
         -e "1s|#!/usr/bin/env bash|#!${bash}/bin/bash|" \
diff --git a/pkgs/applications/networking/mailreaders/sylpheed/default.nix b/pkgs/applications/networking/mailreaders/sylpheed/default.nix
index d58680d15d5..22bfddc5b57 100644
--- a/pkgs/applications/networking/mailreaders/sylpheed/default.nix
+++ b/pkgs/applications/networking/mailreaders/sylpheed/default.nix
@@ -8,11 +8,11 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   name = "sylpheed-${version}";
-  version = "3.6.0";
+  version = "3.7.0";
 
   src = fetchurl {
-    url = "http://sylpheed.sraoss.jp/sylpheed/v3.6/${name}.tar.bz2";
-    sha256 = "0idk9nz3d200l2bxc38vnxlx0wcslrvncy9lk50vz7dl8c5sg97b";
+    url = "http://sylpheed.sraoss.jp/sylpheed/v3.7/${name}.tar.xz";
+    sha256 = "0j9y5vdzch251s264diw9clrn88dn20bqqkwfmis9l7m8vmwasqd";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/applications/networking/mailreaders/thunderbird-bin/default.nix b/pkgs/applications/networking/mailreaders/thunderbird-bin/default.nix
index 9dbc99cac7d..759cf74ba9d 100644
--- a/pkgs/applications/networking/mailreaders/thunderbird-bin/default.nix
+++ b/pkgs/applications/networking/mailreaders/thunderbird-bin/default.nix
@@ -43,8 +43,6 @@
 , gnupg
 }:
 
-assert stdenv.isLinux;
-
 # imports `version` and `sources`
 with (import ./release_sources.nix);
 
diff --git a/pkgs/applications/networking/mailreaders/thunderbird-bin/release_sources.nix b/pkgs/applications/networking/mailreaders/thunderbird-bin/release_sources.nix
index 0ae1777a839..24b16744ff6 100644
--- a/pkgs/applications/networking/mailreaders/thunderbird-bin/release_sources.nix
+++ b/pkgs/applications/networking/mailreaders/thunderbird-bin/release_sources.nix
@@ -1,595 +1,595 @@
 {
-  version = "52.6.0";
+  version = "52.7.0";
   sources = [
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-x86_64/ar/thunderbird-52.6.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.7.0/linux-x86_64/ar/thunderbird-52.7.0.tar.bz2";
       locale = "ar";
       arch = "linux-x86_64";
-      sha512 = "fa4cc97701d7a44e2256149497a72a7057f3b677163b85029a9721fa03b4b518fa8c3564ad727824faf3c81242bc7dfe673f7fbbe1bb2b92aea16b779df8d6f5";
+      sha512 = "af887818b7859b8bfc87e0ac7ff26c1fbb98a50968d18d174bce37c2132a5957a8c5153f0364aa3ec0f636831313dd3bac6512dd6e7f932ed5cc99ed2016e9b5";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-x86_64/ast/thunderbird-52.6.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.7.0/linux-x86_64/ast/thunderbird-52.7.0.tar.bz2";
       locale = "ast";
       arch = "linux-x86_64";
-      sha512 = "f40ae6c5f72ad797b42c6ada1302eebf63b649bfa2d5838cea7371ad92de8e1eaaa79cd115993d96dd873bca996b12fb20c8f4f40ee4db144cc2bbd5a27ef182";
+      sha512 = "dcf8ab98558b7d2b8e5d2a97406eb13cc93900fcd60502ea4d8469179d08c55d91e66c7b99a024fbc6705e339750b41d9537d4d81f53f8d1f83461b986a6487a";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-x86_64/be/thunderbird-52.6.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.7.0/linux-x86_64/be/thunderbird-52.7.0.tar.bz2";
       locale = "be";
       arch = "linux-x86_64";
-      sha512 = "768453738bda8b0040d3b4cb21b1695dacaa54cacac5ec3130d5e4ebeea4e0ad8303ff2860fe5cfe5915df951aabe2f8a069b979abdc8ab8eb161811d93a8558";
+      sha512 = "021f531995db9a0993e830fa8f1da6089d0703424dd8993c23e59939091f58c4baae5ecb6cf51770ff73743c227129ac3215ec46d7181d88cd52a39b2e0e41ee";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-x86_64/bg/thunderbird-52.6.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.7.0/linux-x86_64/bg/thunderbird-52.7.0.tar.bz2";
       locale = "bg";
       arch = "linux-x86_64";
-      sha512 = "dbe67671831f90f739a7af794578270f1177ce7e54727c78e6b74d6bc400ca3cff2ed4174b5b38b73ad1ebab0d9d0df34fd6e3ee769cf96e99f4fd84ff69d018";
+      sha512 = "a60f13e7b2760e19592e99eef1bc52593cabcf1b70b7803dd4262b2743e3c755cb4381ccaf1e75f41d4360897dcac3edd7e79648a6f4e81da4a1e83d67bb3ffe";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-x86_64/bn-BD/thunderbird-52.6.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.7.0/linux-x86_64/bn-BD/thunderbird-52.7.0.tar.bz2";
       locale = "bn-BD";
       arch = "linux-x86_64";
-      sha512 = "4d7aa1a03c1ec122150611270502fc209406703f0081e4e6ed212d07b327adc67c49db2891b1b62799c48218935200c5f671615a159a900f4d838250ab578798";
+      sha512 = "a73074fa5dfaf121b8f12e86dfc29189e9700a71a868f68a70ccd17c47df3a8512700893f981e065c5c20f9432ca764f3c59d4726a2c6abf3fd25530eca0d9a5";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-x86_64/br/thunderbird-52.6.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.7.0/linux-x86_64/br/thunderbird-52.7.0.tar.bz2";
       locale = "br";
       arch = "linux-x86_64";
-      sha512 = "9e229670bb1a4263a1922b5c4d6329209d95aed8f92264977c8c9d1de81c89440666602fad19b686fe214e8847e305d531046fc00a77347393d3d38be31f7f1e";
+      sha512 = "28f4bff69059dbd1077641e888b234b0db95feb11bcb1db1ed047f3ab12282b9f95138835cca5f7eeb87a15ec1057b60587cadcb5fd658fbbe4c556d7eeed47a";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-x86_64/ca/thunderbird-52.6.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.7.0/linux-x86_64/ca/thunderbird-52.7.0.tar.bz2";
       locale = "ca";
       arch = "linux-x86_64";
-      sha512 = "0a905562d18452535a6cc05b945467e40c4ab8dd80d13ea07de293e02477cf5ac1c49546213e236f8266aaccc923ed261f1702b38289f2e165d818bb7e55b218";
+      sha512 = "a9e45eda2b36bb12321140854e685fe4e203c7f56c1c8184a776c38d984f8381c6553cb5f601677f8e0e74ad497a040a18f5f392b99bdbe9535e19aa9afdcb7c";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-x86_64/cs/thunderbird-52.6.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.7.0/linux-x86_64/cs/thunderbird-52.7.0.tar.bz2";
       locale = "cs";
       arch = "linux-x86_64";
-      sha512 = "3a2417f8b8396e0bd9c1b900f1547ea631683d35cf1e089698641dfd62672824a5594c8bae1ceed6d9fa4adb646da1b027a3c0378687b86ecd2351e4db227d22";
+      sha512 = "2c0f60ccc5c9a9fd66526af3aedbe2749f35a5fa7509c93b7b60d9babb1b4968eac6bff48d042ac8112793fe2825467de4d0efc42afda19547e8c6803b723119";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-x86_64/cy/thunderbird-52.6.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.7.0/linux-x86_64/cy/thunderbird-52.7.0.tar.bz2";
       locale = "cy";
       arch = "linux-x86_64";
-      sha512 = "6f705e71057c5f4016ffc60ffd0dc114f462785eb139da474412fd6164c761d89f7faf08ffdc93cc746b0d3df1b57024d69c20303d867bb3ffdd2739869bc075";
+      sha512 = "611ffc3d156ce4cedec0679bd9af3e8376dca5b20af2457a75d83dac7c71640a23a6cd544c190551480d6b37bcb9a9ec91342c2bca95cf10acb642d067056a04";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-x86_64/da/thunderbird-52.6.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.7.0/linux-x86_64/da/thunderbird-52.7.0.tar.bz2";
       locale = "da";
       arch = "linux-x86_64";
-      sha512 = "4f981281b63ed48e58bee4b7702389dca2bf5497cc74e8603945b25c7ce18e73b7b0ec006df8e48ea5ca8d57c6b874e7cbdeb2f43e214cbb0b99cc7983556790";
+      sha512 = "0b858b5be09e038983a21715f58a215ea70fd811f7c8acd4ddb89611dd5590599339ab26913865b2ba75f4538cc95bd3e38e28646c281c041b0b08002aef033a";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-x86_64/de/thunderbird-52.6.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.7.0/linux-x86_64/de/thunderbird-52.7.0.tar.bz2";
       locale = "de";
       arch = "linux-x86_64";
-      sha512 = "4553f9b771e4ee907e2e379eb87ac62143df34cd3777e8dadd74b46839c6cb79f8fec87b4bd48fefdd21a4837611637897232895278ef3bb0337f816c37ce685";
+      sha512 = "cfcdbaec0a026ab246d45e00232f5d5f3f240f4957bbe41d70cfb421be438cbf8986920784d4d0350a274284b39ec42c20d33883f3f7fabf3b51df3a062fac15";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-x86_64/dsb/thunderbird-52.6.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.7.0/linux-x86_64/dsb/thunderbird-52.7.0.tar.bz2";
       locale = "dsb";
       arch = "linux-x86_64";
-      sha512 = "cfb64b6eddcbe54a701c5bca339225bec63e96dc2b1d3d2e358b32820239a970913415e8248ed8852be77d1e64741ab4746476e51a1fb9e9d6510cd6eabcfcb4";
+      sha512 = "52ef4b0dda8fe163675d46e7233b935b38a5899763012b0b9befb1ddd015f0a8d265de2adb4924856a4bc7753b3eaac2dc7861c5b75d8b231e667d29a583d673";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-x86_64/el/thunderbird-52.6.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.7.0/linux-x86_64/el/thunderbird-52.7.0.tar.bz2";
       locale = "el";
       arch = "linux-x86_64";
-      sha512 = "4761f016a202abfafd3d249ccca8d05b8697645eb820cb45b1567476cd806c49e9a13d9c5ff28df5c226e1f787abd698cbc610df28e03b5f0d70ad43b90a0ae4";
+      sha512 = "ab92343651598eea5f8010829bde589eb88a795ad0a3d0dbd1a5889d162b966e0e9bdf7bd32f49c59eb49b29261a075da1f4e75de49f87aa3fbf95796281062a";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-x86_64/en-GB/thunderbird-52.6.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.7.0/linux-x86_64/en-GB/thunderbird-52.7.0.tar.bz2";
       locale = "en-GB";
       arch = "linux-x86_64";
-      sha512 = "a310e79e4da7a79a0c9d48db19b68e197fa71e4ff3d3b1c1178206ff0bbe883623d97ded1268a8512f370dbb232b8534e503d42bb6fc70583b78e78deb27fcd5";
+      sha512 = "1b0e11a1f8daba6a57ac619d764a60e9af6874cf7468c9487e55cc4be7c981d9dd375931b8956ee307754eb846900d4831c313fbdd3eba4658eaf77940e4436e";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-x86_64/en-US/thunderbird-52.6.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.7.0/linux-x86_64/en-US/thunderbird-52.7.0.tar.bz2";
       locale = "en-US";
       arch = "linux-x86_64";
-      sha512 = "10c1147b8509876d3b278df8d362cfb3279086d51ad40de1ffc8814878ba28b051940b347b4ca1a67bad8090ba488426403b219b2add070b704fac200ad4c283";
+      sha512 = "a8f4cb2238c3bf0ea6e4f8b444991bf0d6a4fe42cf7c0e38ae3738167900ac52debc0daf8bf4d7fb1e63326626072fc498db6b227337eab82ea48f2fcd561334";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-x86_64/es-AR/thunderbird-52.6.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.7.0/linux-x86_64/es-AR/thunderbird-52.7.0.tar.bz2";
       locale = "es-AR";
       arch = "linux-x86_64";
-      sha512 = "77753858bcba266c6ea44f12eefc5a8fd1b6a7ef39b2e778e01490ff290046415e6a75a56a104dae12b1a6cfc69b179d13f6cf5b80ef20e8120864b7e9447d1f";
+      sha512 = "adddbaee6899434a0eb1fb955cd99c33786dc9c7376f1e84bb8036ed41d5731c48917ddd5d677a9dcefe3e7f382bcbbd51921afe1e6e119a4d32fe2cf9ae23cf";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-x86_64/es-ES/thunderbird-52.6.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.7.0/linux-x86_64/es-ES/thunderbird-52.7.0.tar.bz2";
       locale = "es-ES";
       arch = "linux-x86_64";
-      sha512 = "f9228ef15899197a8defc67cfa8f51e17aa3f2e5b1e8b79cef8b221a012e47b74d5a91dc82ba1a53e97f1518b4d60f08220f870427751c9ee1c477600cfb3a38";
+      sha512 = "aaafff39c8f5566056f5339310c8f633e48f78c57d2b4730a13377aa5c09e9698295e59e7b137def2706a3dbff9b48710e25a0db24e60dec75c06f9d0713cead";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-x86_64/et/thunderbird-52.6.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.7.0/linux-x86_64/et/thunderbird-52.7.0.tar.bz2";
       locale = "et";
       arch = "linux-x86_64";
-      sha512 = "37cdd026fe48f84b19adf63c6bb642fd2efa72a95125fbf5e2761623c920549c045589dc53892a828bc759630e8cfd1afad5825af7d51d6c7c5fc495e450f401";
+      sha512 = "8eab1f67c3f56a39e21734cfefd11e84fea60fdbd3e470c1e777b607535923c451d7318c2bd7958435ae137928e14f97559781458d8bd6cb2e1e88d47dabfc2d";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-x86_64/eu/thunderbird-52.6.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.7.0/linux-x86_64/eu/thunderbird-52.7.0.tar.bz2";
       locale = "eu";
       arch = "linux-x86_64";
-      sha512 = "4827d5f30c5a9bda1aaf5836250d43b41d38d2f882cae61a097c5ae753a7d429a7486d8a47991173ebea15bb70cfdd6b1d4ee4c1e7696b41e9e047786f320b0f";
+      sha512 = "be2dd281a0a219e031cc485c21341d259aeeb56d34f79a9db82033d1e17647cf8c8617a2fcbc6a46b2025842a46f1117e43ca769a449a64577df691bdfa18801";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-x86_64/fi/thunderbird-52.6.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.7.0/linux-x86_64/fi/thunderbird-52.7.0.tar.bz2";
       locale = "fi";
       arch = "linux-x86_64";
-      sha512 = "9e40fdfa10cfb24e4983834d72c831b5e94d8a05e51e45e989564c558af6d5c91710da1a63f5a21042da2cca9a4b310a52c1c212db02bcbe77d5579ba600d9fc";
+      sha512 = "21535608a1197744f9385b3eca5c7dbef8f3a05f9639b5011f8abf0bbc0143db17954ca4ce1bfc9ba1f5c4659a4a0a74351e30e5f57c1d416d7bf11273211f61";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-x86_64/fr/thunderbird-52.6.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.7.0/linux-x86_64/fr/thunderbird-52.7.0.tar.bz2";
       locale = "fr";
       arch = "linux-x86_64";
-      sha512 = "362d689566ac6ad74adcbccb188ca958af5d308090cc13f268be8608f4b20917ed0b1ccc33fd344b6b4434ed2a8a62c212cc25dc85f52f7ab20e0355df06a370";
+      sha512 = "ddda6457d4bd737778105d0bc7086e64ba58d9fb23a083977b456873fafd3170df495a2d81fa19c6b12a06d32e448a2cd224263f4773c0d165226c6f56cfbcec";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-x86_64/fy-NL/thunderbird-52.6.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.7.0/linux-x86_64/fy-NL/thunderbird-52.7.0.tar.bz2";
       locale = "fy-NL";
       arch = "linux-x86_64";
-      sha512 = "90b553cf697bc488e7f91eca2b9fceda94da72d49ff561af9a2f59dbe830a1ea29a49c9be8c544e1c83503a1902076a2badd7b35656372a18899f579d9455de6";
+      sha512 = "aa3844d3d17a8fdc201e55352f52fa7805328e9f0b105b729cc8cbcde117885a6a6671d343469e7fad61fd9a5ebd8d87faec8f4a214744771ec4d2b43015c975";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-x86_64/ga-IE/thunderbird-52.6.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.7.0/linux-x86_64/ga-IE/thunderbird-52.7.0.tar.bz2";
       locale = "ga-IE";
       arch = "linux-x86_64";
-      sha512 = "8fa91ed0e71961e0850f6acd69ffec0876e4b8f72d19b170429c10bd00681095bf816f7c028afa2f01eb5c32f27b6f8272b1a1e3340bdc87ccc9477bb100fbf1";
+      sha512 = "30e88160a0c19fa58d6d86f916a86d95362bb8b8d073b1ac0e17608c0c5bd9ac040402dc950579602f5124e40a814e582ad98cf0853ecd8c7b11a7418bf0441d";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-x86_64/gd/thunderbird-52.6.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.7.0/linux-x86_64/gd/thunderbird-52.7.0.tar.bz2";
       locale = "gd";
       arch = "linux-x86_64";
-      sha512 = "8653c7664694898222e1dc292bdc244a6a2bc900b240a7fed30ea5cce47e7fc5524afe7b67795d15f0eafb250a5218ae5f8fa8236b7c6e91e15c3c74808a798c";
+      sha512 = "7458c820056c89b15988424325785ef4e525c2fb970b6c7c04d8c3e8b09cf7a3592e16b5c15862c84bcf95e2b399e37874f2c099c61bbc76293e4d5d8ed5980d";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-x86_64/gl/thunderbird-52.6.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.7.0/linux-x86_64/gl/thunderbird-52.7.0.tar.bz2";
       locale = "gl";
       arch = "linux-x86_64";
-      sha512 = "22e5454c0af357e030dda5a84347eb154524d0337fae6389102ffb0073ff33997dacac9b40dede462f55ea30c1bb4da65cc8e272271611f42ddd80b5ab9dae05";
+      sha512 = "6be48b4ac248cff0842a5b78023dcb9787588c74ce1db89bb03a9a99ac0a2ac24a6949ae125219e99caf93260574d1c84355ca8f0f9c76ed15731d8a4950c98c";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-x86_64/he/thunderbird-52.6.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.7.0/linux-x86_64/he/thunderbird-52.7.0.tar.bz2";
       locale = "he";
       arch = "linux-x86_64";
-      sha512 = "51bddbb2a254849b6dcbfaf1f2faae13454bbb71472c7c95d279b5f83a6b29b1b063d904f02f13295fa32e6b33867856341994db9a2201d8f358b006c0c7752b";
+      sha512 = "3dca324d7b3b00a2cc98f8949165d178be7bd68b118ae66383a0d3705925e3f6bda14aa25475886c1f9810cd15a48a79e81924b8ebccfb528ad4bd21e36ebf8e";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-x86_64/hr/thunderbird-52.6.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.7.0/linux-x86_64/hr/thunderbird-52.7.0.tar.bz2";
       locale = "hr";
       arch = "linux-x86_64";
-      sha512 = "a08e2a71ac92e317944f09b2f03bbcfc32122493ebc0800534b6f3c714d4af0c431caf97be1818bc284826b88f08db3e4392f0c2b89ac7adba587f2f450cf804";
+      sha512 = "23d5b2b0cb48fd274856a60dd9f916d294c8ec133771ff624e88cbdec214182c443ed5fd2d424475ed748113f84b74c732092f51061571104b1a62c301affabe";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-x86_64/hsb/thunderbird-52.6.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.7.0/linux-x86_64/hsb/thunderbird-52.7.0.tar.bz2";
       locale = "hsb";
       arch = "linux-x86_64";
-      sha512 = "9539a6c48e60c4c773b735afa6ee544ceceffdca76ceeedd90973145f7deb23f2e449901cdc75190b5bd510537e70fd948775dc66caef8a7b95fc31843cbdb66";
+      sha512 = "7360e964d5322e433014eb10f369f27a6e4ff688ed441671ddaaa3526b70d212509c16624ca854e988ca581d0f60ccf31db1bb49b5c93521a5d07e697be84a4c";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-x86_64/hu/thunderbird-52.6.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.7.0/linux-x86_64/hu/thunderbird-52.7.0.tar.bz2";
       locale = "hu";
       arch = "linux-x86_64";
-      sha512 = "d4d0fca22d430ec037bdf5cf8ccbce99df3cab22e4e6a2c3fb040cd1db960903e503ff2c8f633aa1f037a590b0a48134d949c1c4899de429a0533175fbb4a61b";
+      sha512 = "5aaaf22f17015026a32c3648323fbca16b3845c0f52ebfd3414c11e1d7cd1a0e72a8319e924b9eea67bd9c1448b87585709d3b99a8783ed580e11020a762eb31";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-x86_64/hy-AM/thunderbird-52.6.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.7.0/linux-x86_64/hy-AM/thunderbird-52.7.0.tar.bz2";
       locale = "hy-AM";
       arch = "linux-x86_64";
-      sha512 = "362ddd92ceec22ac93d95d721c1806ff0270fccf33f0cc4452ee147b3388f071b6d5aa27a0e7548a35a50453d55be2532d7fde19be611b9f0ecd741b5de59e1f";
+      sha512 = "7159dcfddf5981e1ddec5ac11613a7b30c513e0319249f08196ec88fe3e2256b52f3e1e418e46e276c1f35195f15d778b83d27e3186b2b8571e0b374844f6248";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-x86_64/id/thunderbird-52.6.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.7.0/linux-x86_64/id/thunderbird-52.7.0.tar.bz2";
       locale = "id";
       arch = "linux-x86_64";
-      sha512 = "29ba391bbd9b8984850f056d856bcf90c0ac816fb8b831416e5a96f36e9b2dd0517cb5f1caf37998f75f024f3fbdd3b989ca6d4973ded22cbd15568a7b249531";
+      sha512 = "9cf647ea244bcd046f73cfcca97c5b5f2dc3f5b0991d6edb100b4c4263ab75d8b5d07a418b906b66b50d9c4f29360637ff4ce605dbed7bd85c9b624d33331ae6";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-x86_64/is/thunderbird-52.6.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.7.0/linux-x86_64/is/thunderbird-52.7.0.tar.bz2";
       locale = "is";
       arch = "linux-x86_64";
-      sha512 = "2303d0d74e112bc4f86e6d73fb63fabe8f10aa3486a9d2f61fe16b0b0525bc7b6091c94e27f0ccb548b47bf808c937b83a4609c5c0cd0bd0fc6556c18dc08661";
+      sha512 = "d567dd894926e7a5288da3f7a2837ded333772c799acf6f27489327b3e50236561dd0a9d04e3623d23a6d00e7b35c7b8572c611bf1e767b4f43f7d5164ea3787";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-x86_64/it/thunderbird-52.6.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.7.0/linux-x86_64/it/thunderbird-52.7.0.tar.bz2";
       locale = "it";
       arch = "linux-x86_64";
-      sha512 = "d3d9e95728063bd4e4742619c8ec27d4a0cdc34941ef8e6e3af71f19d59b4db6661366a81f1df7fd1de3a2ce995a1232f39744a825493a0c456d5257d02f7cf0";
+      sha512 = "e3511d7fed2617cb6cd59b1b56189a5f70db7f98cf889ce0be31d6931d0500a61b7d6a7f9907009bdaf37ad968b50aebae0930467cd5b0b70a6d2caaf89bc5ea";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-x86_64/ja/thunderbird-52.6.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.7.0/linux-x86_64/ja/thunderbird-52.7.0.tar.bz2";
       locale = "ja";
       arch = "linux-x86_64";
-      sha512 = "1d64a298e5b0ec9eaac8f8972ae975a98a5bcbc4823abd59a6cbab251ddcb5ba76263bdae0b55dac15455d8b7d9c8bda71cc54ea0fe67aea5efa5552973be94b";
+      sha512 = "0a4cac4b246542a42534e2b028a84cfef470c884143a08c489b56906a1d167ef66de82d326874e49d22a64c259aeac21b76f4cc2b20acf2885040db35decbc41";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-x86_64/kab/thunderbird-52.6.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.7.0/linux-x86_64/kab/thunderbird-52.7.0.tar.bz2";
       locale = "kab";
       arch = "linux-x86_64";
-      sha512 = "1b351b01ea540b809cad198912853b3f74bc9cb52c33b7fe4ab586f921ea4a2486f28e855d2be95398af6abad2911c5fd3f0ab16938edea85596689799b452b1";
+      sha512 = "9b6939d454dd5f0635d6fa3cd78d57d4c3461df67108a9c20a85cded552bffb68ca9f8e9af037150a0cb31588fcc663a0f1a8b91183fd257eec5e144516b5ca6";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-x86_64/ko/thunderbird-52.6.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.7.0/linux-x86_64/ko/thunderbird-52.7.0.tar.bz2";
       locale = "ko";
       arch = "linux-x86_64";
-      sha512 = "d9895da7e3099c5d9389308ae6982a77387cd7d61c07ec16e4511c00fc3b18bd025b95c6f05a94cd5e990eb9472816bd4af0a1bbe3605561f2bfe2b9f9b207e8";
+      sha512 = "c965abf90339a3b8dbaffacd61b33729a0312052ced29cd8300cd5dbb577b7b663a314a5d27528f9e03ca55753ee96b392ae745558e59eeebec80857dcf34b3c";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-x86_64/lt/thunderbird-52.6.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.7.0/linux-x86_64/lt/thunderbird-52.7.0.tar.bz2";
       locale = "lt";
       arch = "linux-x86_64";
-      sha512 = "8791ae3c0ee4745449b1690f69de0665f7854288188f1570e4c876b1f936e790d651bb1f9ecfcfe99f01f49026d534e667f262c72290894368579313b8a59615";
+      sha512 = "f8724c9f29d2965e23a90156586ea85721b5c5693c56fbc5932ee367c87a4531fdd318968cb38046f748dd60f4ef0ebb4636a2034f061e3e5926826aaccff410";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-x86_64/nb-NO/thunderbird-52.6.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.7.0/linux-x86_64/nb-NO/thunderbird-52.7.0.tar.bz2";
       locale = "nb-NO";
       arch = "linux-x86_64";
-      sha512 = "be2e537c4dabfc6070f180205787712317ea3bf1befebb5d99d0be562aac60f728635ab665b6813776d985ff5c5d10e72658dbe20c6441722113ca8f9cf00553";
+      sha512 = "87bd58ae4dcd766c0b3403e578c41ddc46b5801bd743747a23802770099ce37f55daed7beca134835f0f16939784d7d082b8d6903fdcc993cec56846b1d55c5c";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-x86_64/nl/thunderbird-52.6.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.7.0/linux-x86_64/nl/thunderbird-52.7.0.tar.bz2";
       locale = "nl";
       arch = "linux-x86_64";
-      sha512 = "20bc3bd3105880541b2dae20b703191cdb499dc7778fe874da5ae9b0b1626d72075631e256bc0c2fee1c4d1d27424cc6168c419afa8bec8a00d5904ae0678f12";
+      sha512 = "3f332437788bd314e8a19fe3263631c2000cdaf30505129b37693fbf499fac3d15736b51d2838e49daad8e9225094a92bf3638fee6a6e33f2cfff6357f1a1597";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-x86_64/nn-NO/thunderbird-52.6.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.7.0/linux-x86_64/nn-NO/thunderbird-52.7.0.tar.bz2";
       locale = "nn-NO";
       arch = "linux-x86_64";
-      sha512 = "2437751b998ee2898bbb8f8187adcbd102d29fc54054fb04efef2e0f7f308c864215bb8468ac42975bbd18c6e4a0c8903e5784a4d203df3643029cff696c2540";
+      sha512 = "4bd2918e59a87ad0afcba3e82640a0c729fdf672c1d977cce62f3bb7d92e14e008c83fc362a5c162090a3d4c0a5608262f5859ced2327274231ff534b6768694";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-x86_64/pa-IN/thunderbird-52.6.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.7.0/linux-x86_64/pa-IN/thunderbird-52.7.0.tar.bz2";
       locale = "pa-IN";
       arch = "linux-x86_64";
-      sha512 = "925ffbbd7d9e301c52b60963bced66af8b97a7b24275d73ca923f0d757164faf4ba7c69003286d74a69f1ed328e94347ba63c6ca7e13f47f42b7529af9de5ee6";
+      sha512 = "f0c448cf25471b1aa4387208a8d0bd7e41531fca86dc7118f4467d2db101835af3be9ba79713bcbd8d8556895efe4a2af68606df18fbd506734359950e00ebe9";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-x86_64/pl/thunderbird-52.6.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.7.0/linux-x86_64/pl/thunderbird-52.7.0.tar.bz2";
       locale = "pl";
       arch = "linux-x86_64";
-      sha512 = "27dfc79cfcfaea36ee50b2249e8e2a5195e9dd2f755b0f9d3274af2e4cb3d0d5214a4065e08678bbfcae4b51f0a0c2c4b4385c2a199a5b65035ac895de08bd63";
+      sha512 = "5f9bbd0a1be4d0ac5c50c281ae75025f4b12d8781a73463876f26861c9289c51165cb68ab4438401ded5ea484477c1fe862f5d57430624bc11871f0b36e2c50c";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-x86_64/pt-BR/thunderbird-52.6.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.7.0/linux-x86_64/pt-BR/thunderbird-52.7.0.tar.bz2";
       locale = "pt-BR";
       arch = "linux-x86_64";
-      sha512 = "b600e2e3dc931ba2db5e4bf36187f971c7c1c710f8535d59c999a9685f551454a6e39f80cf70374aeac41ddace2f80fbe68bcda1675b80c5cc39dd8fccf7625f";
+      sha512 = "afb4ed9a2739e0d590ace16f4dc8c4b1d19d05537fcdbd1f23e404218387d2c016715a074b630885a903588b8bd4a8329190d6ddb9231805a8538b4199513a6d";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-x86_64/pt-PT/thunderbird-52.6.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.7.0/linux-x86_64/pt-PT/thunderbird-52.7.0.tar.bz2";
       locale = "pt-PT";
       arch = "linux-x86_64";
-      sha512 = "3ca5ed7c487ca11ef2fc743e8a66eeaa05d2585d2fab0ca40b0d965e10e43d1216de358eb61921578fcdc72b69766f8fe24beb3c548ed47c705ab84a30941c34";
+      sha512 = "d907bee397dcfac8763c7dfd18d5bdb5bd99afbef554a98f625c36aedde922fa03c5f79e46acca4ecb07f9adf6eb59c869b1694c68e88ed759e04abab13a210d";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-x86_64/rm/thunderbird-52.6.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.7.0/linux-x86_64/rm/thunderbird-52.7.0.tar.bz2";
       locale = "rm";
       arch = "linux-x86_64";
-      sha512 = "2d9e51a01175549c712c5bd1e95e08012ed9494a0f6fa5ffec8ee1c311279a6826cee99488a72d86f2cd98d9d9d6d20ef886bd4f69d100a2b589ef8dfc887335";
+      sha512 = "61c70149b717b193e541e49614027a5cc5c4f5a0a4642bb5445843b2c53165ae29088773498245de3e8d3324c26d6d96cd225d9e3e2e491f06d0b60586f23d2e";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-x86_64/ro/thunderbird-52.6.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.7.0/linux-x86_64/ro/thunderbird-52.7.0.tar.bz2";
       locale = "ro";
       arch = "linux-x86_64";
-      sha512 = "8cfd1503ef3f4a9b4765d6c3fcc3a44aaa2fa557fc2a698452d10b037fdfcca09c462b455c4088b69aa89c153f14b1621d3c87c942a7bbb4627f95bbf0a37738";
+      sha512 = "d9d604216c4805fbaa0444c5f61c7e1f8dc5609adde7bd8fc301e4ff0577b73a255cc95aa07f13543ce82b5487212b9b0e4284be47b2eb897a5c1880ed9fcaa5";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-x86_64/ru/thunderbird-52.6.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.7.0/linux-x86_64/ru/thunderbird-52.7.0.tar.bz2";
       locale = "ru";
       arch = "linux-x86_64";
-      sha512 = "74d611abaa10d04be342139e19b7f724516a91de07a5f4ae4c4cd3ad927accb5e6668830040defa20878ec1fc884bc983d084729ebcd1fd453c7082a627329ec";
+      sha512 = "e385a46635372660a304d4cceb86be56d2a07b767a4eb17b131d67eb33494c878ed4e4cf3da3a1a198a9f3cab7c541161e325cbd9d5957c8af56d2a62118ffec";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-x86_64/si/thunderbird-52.6.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.7.0/linux-x86_64/si/thunderbird-52.7.0.tar.bz2";
       locale = "si";
       arch = "linux-x86_64";
-      sha512 = "292b5da1ea566ebeae2756b659b1f2ad40a4dc57517da926b3f8263a219e734d197d9aa55ce91582bd8818e0434d2a6b3bc40892d0cbd4715fcac50e3aebf7f3";
+      sha512 = "952e89769e201e9320929f0562f27ca2de25a7bf4f0098964df6974831ef342f228de0278dd2de55a0d11c36804d04f42b9c9714f2c1ad44f5d68da1ae184d54";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-x86_64/sk/thunderbird-52.6.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.7.0/linux-x86_64/sk/thunderbird-52.7.0.tar.bz2";
       locale = "sk";
       arch = "linux-x86_64";
-      sha512 = "a5f6466d7ff0ceed4fa25c446925e398cd91c29d705ea1e28166bec09834b1f3ac61722823828d97d17b1ce7ac2e67aa98c3d5d94806b7a470d29c5722f37d9b";
+      sha512 = "827243b12ae2eafbb0da9673f914e26755dd3a54931e41a85ce89ab236b56bdf4ac4c256769865928509be4b998dac4a4924895ba583192d95b7271788185822";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-x86_64/sl/thunderbird-52.6.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.7.0/linux-x86_64/sl/thunderbird-52.7.0.tar.bz2";
       locale = "sl";
       arch = "linux-x86_64";
-      sha512 = "9167d416f7552b55f8551146a3073757bea4106fea2004ad4303809f0532b85d37fea449ed09f0d162cbda2f429d869b90b5ef14f29784f418c63085a7c9b5b1";
+      sha512 = "d4063aa855abd1701feb078471e628728e3bb61e8799ac186c75b325b4db14a81734befe4782d75cd07170cceaa37b83de90d1d1ba73f950f7f76e24265cf49f";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-x86_64/sq/thunderbird-52.6.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.7.0/linux-x86_64/sq/thunderbird-52.7.0.tar.bz2";
       locale = "sq";
       arch = "linux-x86_64";
-      sha512 = "aceb16a89f40243f56611d726a47b15bc6b0e5c1177a4beda6b147749299640742dd9d5f64384e88f4fc065c5f5ab80a7456a81ed63331a99a60e1e2e8b76a08";
+      sha512 = "a90f3446a0a759fd9cdac2ea0251c676539f5dea56099d0e515fdcac72e881f54a95506f257da91b87d4be547b4377cfe8a7345e5087ff63d24e8bd2fc6742bb";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-x86_64/sr/thunderbird-52.6.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.7.0/linux-x86_64/sr/thunderbird-52.7.0.tar.bz2";
       locale = "sr";
       arch = "linux-x86_64";
-      sha512 = "c0cefc58703c51d169686bb6c25477ea3116fc9691e0bf971d2a141ee8e93e4e1853911189c2b49d331d8b04c70e3c154083a05179c93a22b043a70918808ba3";
+      sha512 = "f313d71b58efbe34f96ecdccb0ed14977899b6038d2a5d0d7c3138881a7668e8282e4c927f106fdfd1d74774404734e57d97d0004086997ace4ca53921321adb";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-x86_64/sv-SE/thunderbird-52.6.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.7.0/linux-x86_64/sv-SE/thunderbird-52.7.0.tar.bz2";
       locale = "sv-SE";
       arch = "linux-x86_64";
-      sha512 = "179429292f73320f33d3cfbdd4b55b65117c8b8f60abadbf8c28537ab1e6e7664f7e2fa1b20ecdb201d7d535a9974638a7c22c2f5ba0fabea580509bd35d2a3e";
+      sha512 = "0889f3c2917b01211dbb5d28262726a3dd077dfd5327fe1f3dd4742cd45aab9ab8d7bfeb141a5a2c120239c522182e46a263ad0d6cb8c2d71d4c9c004d734a68";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-x86_64/ta-LK/thunderbird-52.6.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.7.0/linux-x86_64/ta-LK/thunderbird-52.7.0.tar.bz2";
       locale = "ta-LK";
       arch = "linux-x86_64";
-      sha512 = "ccc1e3b1ca1e2a762c840c5e52b33cb3c05b75195576e95f7d28abe53aa6438d83eb185664797be9a0726f51416b4cc70877a4d6e01282d426459820eac59b01";
+      sha512 = "49bd7127f1412a48aa7e66bbd2957cbdb4f02d4f43cf856b8b796562e945a1016852d695773351b30b65ee0d2d4b65c9aff4c347e9a5c2b64bc3818cce65ae54";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-x86_64/tr/thunderbird-52.6.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.7.0/linux-x86_64/tr/thunderbird-52.7.0.tar.bz2";
       locale = "tr";
       arch = "linux-x86_64";
-      sha512 = "55b14f94b1824df5e05d8c8f8c1a86a3d9667123dfb7b86723888ffeab93b8b0ed8dde082c3db0ee33446052e81b6f282e4ac3ae9a2a51ef25e01c6ffc93ad1d";
+      sha512 = "6b50781107d219c7a86bce30b51c5e791627fd6305d1573d4fda98321e8476c3978a3b8d388005bb6d05ceb0ed0c6c119f9baf1d057b1f6d533d0e42baa90a51";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-x86_64/uk/thunderbird-52.6.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.7.0/linux-x86_64/uk/thunderbird-52.7.0.tar.bz2";
       locale = "uk";
       arch = "linux-x86_64";
-      sha512 = "94047ef1efc45fcd228012a8833ca1d6d5540ba0549a5f598ca420564e85dd0bfe4995968ba241d57b588db542f6c33445459c77b40eb3b568f66d3ef8e4e91b";
+      sha512 = "58e7e921d7d2ad46237ff66bf0f2cb0de448f68668968b56779ee874d0a9eb29ffc46876b6aab4a0c30e4aba597039c73939e6d454c8feb56cbb6b4215791016";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-x86_64/vi/thunderbird-52.6.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.7.0/linux-x86_64/vi/thunderbird-52.7.0.tar.bz2";
       locale = "vi";
       arch = "linux-x86_64";
-      sha512 = "f30ab0cc3b6d4322d9d65150da1b247db12305f8a39acef383048118f30a757ca380134f0f12c238432a23f5d70d173e53e24f46af158ccdcf5eac516267840c";
+      sha512 = "5a2bee3035e76deb55d24d5043967e51dbb9d79dbc7cdb5dd9f59cfa2311391fc25017f08c709e7d33a5fa7ca0d8ae375ba074ae382a67f46b04e36eed504f53";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-x86_64/zh-CN/thunderbird-52.6.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.7.0/linux-x86_64/zh-CN/thunderbird-52.7.0.tar.bz2";
       locale = "zh-CN";
       arch = "linux-x86_64";
-      sha512 = "4dd0923c8258dec6de71aad216dffb2945852f2d6ad20e104599a43a13e7c48bdaaa70a7afb35e3699bbaffc9a69623d6d24e299f1a0e75f604ba9bad96647ea";
+      sha512 = "73983afdd0e07a394029f64f1fba5f24ae0bce80ef7f9fa3f5374af3b5e6a094bb41d7428a252396b433ca59a092e5d19b20eeefc5867d68bef00a1894437159";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-x86_64/zh-TW/thunderbird-52.6.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.7.0/linux-x86_64/zh-TW/thunderbird-52.7.0.tar.bz2";
       locale = "zh-TW";
       arch = "linux-x86_64";
-      sha512 = "39264550d88ad4fbc247b9bb61015b2c0a9e75ffc19ec34e1d7053995e2fcfd65721140f2f4486fe959e67484c6ca6305e997c77b59b98e60e9e979c60e320f7";
+      sha512 = "71ba36ffb59a94191ffd6bd24a00d3e35422601310b70a6f411b8ad0175d7f67efe9ccb8d0a2a7c1d47263d5d1cbd0a4f790ef54cd174875d0c0bafa86481457";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-i686/ar/thunderbird-52.6.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.7.0/linux-i686/ar/thunderbird-52.7.0.tar.bz2";
       locale = "ar";
       arch = "linux-i686";
-      sha512 = "b801148b9eccf4425710ff3c5430795d873448ee068dec8e8343ec9094d8c04e317dd0cf6e2d3b69029459d980b841470365441e26d8f71503d9c6f03a52d0fa";
+      sha512 = "fc69ea6bc9393f55e247a78eb747c4ae6ae0c30efad8188d50eb52f4bc3f2e47e328788cf329966e8184b468a58bb923fdfdc736ff7b7b37cbbfa31bc619e065";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-i686/ast/thunderbird-52.6.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.7.0/linux-i686/ast/thunderbird-52.7.0.tar.bz2";
       locale = "ast";
       arch = "linux-i686";
-      sha512 = "7368be5dab56f03635d3bc06f1d1871893dd8a694388baa90a44cef5f88717a705daeb2230dae8c2bfaf8b40e1f7987aeefc729b4e77ec1055726b0944276c79";
+      sha512 = "74a6ed4829522c0ac7a4411ab4d269f557391c53d1313eb1b70bb6e3fbba30217343945e60d46bb7c5fcfb20a40b2e6bc0c40cb66bb72259be4f9ad78796bedd";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-i686/be/thunderbird-52.6.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.7.0/linux-i686/be/thunderbird-52.7.0.tar.bz2";
       locale = "be";
       arch = "linux-i686";
-      sha512 = "a39137149f5800b5ea612382b86840b095fd09e38d06ffaeb4a2f5e242b47cac828ffb87c9870a9ebc75b9bd26b0499c2899d5b778267dc6842d21afaab0e7bf";
+      sha512 = "ba645d2eaf0eaf90a0c1f2f24aa87c6783405fab00b2608aa1e3f88f1f81877c4927e93e2090509b9e06c8e2655a4aa731bed47ecf8992bf12b9c5dcb189c0eb";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-i686/bg/thunderbird-52.6.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.7.0/linux-i686/bg/thunderbird-52.7.0.tar.bz2";
       locale = "bg";
       arch = "linux-i686";
-      sha512 = "2314afbb259a561e98bffe3d30aaac571b8f7f54de2246af78a012fcbee19fda15c8a921221ebea738fb09be07a1139f5edc14f1f9f55945a63e08c625a6bf52";
+      sha512 = "62dabdc80e0e3d46b42c69462d18964e584b54fee80bd632c0a3be19fceabf6bbcb80ee6b200472e52998f90252a7e62355cfa9d7d8ba3b3bd0f7bf247557c59";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-i686/bn-BD/thunderbird-52.6.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.7.0/linux-i686/bn-BD/thunderbird-52.7.0.tar.bz2";
       locale = "bn-BD";
       arch = "linux-i686";
-      sha512 = "e8cd137f04521293ea60c8f8557b4482baf1d7936c9fca1ea7426ea8a99cae48f3e441a81cf1a779034595eb755009db512f29d31c8ada11391cea0f3962d61d";
+      sha512 = "11acf4d6546aa3b3b1ee3159fb54e0769617664155d1dde4ec7d5af28335e90b428559b80e570d2b1829153f2edf8472e37e8e2cbf1d72567258e0c76aab4704";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-i686/br/thunderbird-52.6.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.7.0/linux-i686/br/thunderbird-52.7.0.tar.bz2";
       locale = "br";
       arch = "linux-i686";
-      sha512 = "0715d8eda4c144c35b5583bdce6eac058788b761949bcb79f156ba4931c380e33f7810fed55e283e02c5af2d555df471c48383d1ace21da7f88c3b0a8e97213b";
+      sha512 = "1056f78922c277ba64e3dad8e41ebed516495d41c07be4026271a2ca97d314218ce5a46c8b29be38645507a9f2070663cc6bb5deb194ee2d57df01809cb2d3ac";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-i686/ca/thunderbird-52.6.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.7.0/linux-i686/ca/thunderbird-52.7.0.tar.bz2";
       locale = "ca";
       arch = "linux-i686";
-      sha512 = "21ec148ddfef69ead9f1b367dce4d6a93a7f1d31fb691035d40132cd4955a66f162a44f0e5b0caaae8cfdb76b0842cd78a630cb6a7949e839611d98d58776a47";
+      sha512 = "f50bdc6d1bdfbe4bbfd8aa8ce3938e2ca6963d0fbc0fd47d23505158bccfe328195e45c0215dfcd354847e5e3a0897941790a7cc1f1db31ec29cbfaa1cae7a33";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-i686/cs/thunderbird-52.6.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.7.0/linux-i686/cs/thunderbird-52.7.0.tar.bz2";
       locale = "cs";
       arch = "linux-i686";
-      sha512 = "f2c7c86db91332b9f38ab4ae732ca44c7f7bfa32e3b8123f7ba9662fe9f74b9f01a58ca63a9954b45aad05272baca385797679103c29a95dcf248fe8cdac5a53";
+      sha512 = "7d8c6d9be08bff6fcea06a994c637ea83576377975476edc01dbb152c8cc8768b00bab4295d5f13ca01451344aa64af6ad227e359f3d11bcc0228b31fd13c1f8";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-i686/cy/thunderbird-52.6.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.7.0/linux-i686/cy/thunderbird-52.7.0.tar.bz2";
       locale = "cy";
       arch = "linux-i686";
-      sha512 = "f0bdfa8373fc87faa567720c4c998f08ba836f8c26a59e38e92bd641e7efd42010530575bdfe1fa7bc78b7688380eafc274b8954f2a59e60912713afacd42789";
+      sha512 = "8bc583a05e872f36df9512ffd5c06cafcee81c632358b5bb13d8a920689b030e8ed4996bfc265c074d5d7959a1e75c7180900b51adb30ff3181de496cd34a4eb";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-i686/da/thunderbird-52.6.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.7.0/linux-i686/da/thunderbird-52.7.0.tar.bz2";
       locale = "da";
       arch = "linux-i686";
-      sha512 = "80dc629b815c4ec98026f0ee5c2b7f754bc9bf0e5d026775866f502ca55b826ce071470a8713ae98089bf2208e5b0d0771a20307db5351b4af78169bd8efc1ee";
+      sha512 = "ccef5bffe4a807d55924ebc8b36f0065891f03520fbb015547da1264997e95cb9e919aa5af838686af070715ffb314ddf6abda0e99e1e06657a2ea6fbc956441";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-i686/de/thunderbird-52.6.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.7.0/linux-i686/de/thunderbird-52.7.0.tar.bz2";
       locale = "de";
       arch = "linux-i686";
-      sha512 = "bd66cf808f3d5ba73dfb0d314050c5d4ddc59966abc84e904cde2dd73c20086dcbd580c1a0bff4d1dee7ae940e38a53b9a37ed75e05758ff9da799f2ae1f7aab";
+      sha512 = "02061b7572ad3b784a28926da15abea9fd9c93b4df9c40a5435190e6d872d356b6001cf0666e4cef0696da32c76e64cadfbeca28f6f894b1b230033d451fe105";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-i686/dsb/thunderbird-52.6.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.7.0/linux-i686/dsb/thunderbird-52.7.0.tar.bz2";
       locale = "dsb";
       arch = "linux-i686";
-      sha512 = "58e50c2d6c2d42fcd34273ead868753373e054602ab1ea7e9ea9d5ed15b8ae15e6b654fe81b6a56942f1cd4eb3778d11897fc2b9e34e789aff7d83b47bd3c100";
+      sha512 = "458785317a61ff0fba04524b13cd72e22d4cdeee69bb99c849f4b12385a19f3236b586ab6a12cf9c8042a444553d1a3f82bef1f51fa9cd11639ec3911eff0013";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-i686/el/thunderbird-52.6.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.7.0/linux-i686/el/thunderbird-52.7.0.tar.bz2";
       locale = "el";
       arch = "linux-i686";
-      sha512 = "40888eca974a5e9dab7459c790b7e589906da72ca9ea64fa690225d876310239faeff8925366b5fc559a5793efcac01696f22886c9ecbd5dfad5661083b8e63d";
+      sha512 = "5b8fdd6a65b4057eff462c5ae8cee366ced8ee482892c0457a6fbc52303b8dad96437230f18f560a3bef3f392eec43194b89715071b559623ada47fd031680a5";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-i686/en-GB/thunderbird-52.6.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.7.0/linux-i686/en-GB/thunderbird-52.7.0.tar.bz2";
       locale = "en-GB";
       arch = "linux-i686";
-      sha512 = "5a418b8f6b857a4554cddb81b36b5f4885ba694ff08b3b5f3c342491637587719578738eac9abee2735e8d0fa1ab216ee9bb5cce67955c4b7c30c3a063b95477";
+      sha512 = "0c32a412f9c7ad9195e113ab994ed8e0d80a14bcfdd70b3fc51399eca7e34241a265a7d81d5cdeb8a7217a0c694ebceed45c3b038de0656ee3a03bfde1887b3b";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-i686/en-US/thunderbird-52.6.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.7.0/linux-i686/en-US/thunderbird-52.7.0.tar.bz2";
       locale = "en-US";
       arch = "linux-i686";
-      sha512 = "628a5f50871bf44c59e1d8983f520d5ede9f22bff15eb4b03673dc6d4b0f72c84247a5e29ba67e871be449825dde8090a6e9a50501e434bbc17d86aeb846e1cf";
+      sha512 = "f7f8bf3f74052310987b546bba0f986abcfd65e53125c2cbde4bc4744e27de054f21eba8080313c28c9c3b44de1d773e4471facc9b71f520b6085c32cfe721c2";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-i686/es-AR/thunderbird-52.6.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.7.0/linux-i686/es-AR/thunderbird-52.7.0.tar.bz2";
       locale = "es-AR";
       arch = "linux-i686";
-      sha512 = "595419a4c26c8974ada3e9856dcabe863666133a98d5730a1a295f1edc414d1d0b3a159afc94bd927c934d44e9b4ed4282d4211948bcbe8b6d744948e7b48e02";
+      sha512 = "0187b3cb9b91d43d6faf217dca8566429103f2bb3c04bfb59e842da9c464cfba3f542be3789bf0fd46e6ca4c355d632f50b16b01667671e41231b8ca8d5b75d4";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-i686/es-ES/thunderbird-52.6.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.7.0/linux-i686/es-ES/thunderbird-52.7.0.tar.bz2";
       locale = "es-ES";
       arch = "linux-i686";
-      sha512 = "898a14402ab621fb81b563c039db3ae343173cb39872ca6a2985f6a279af7ffaca404af179cef3adb48285b05e24b372c1e8a1918557280ecd10a4368b540f27";
+      sha512 = "876de2da5068acdb546d5091c64bf3edc4269a3e6dde2c2d928cd05439570773db4272819fcf8e12c63f94cdc41f0721412e108f078d1cd11501dc31966ee3d2";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-i686/et/thunderbird-52.6.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.7.0/linux-i686/et/thunderbird-52.7.0.tar.bz2";
       locale = "et";
       arch = "linux-i686";
-      sha512 = "b2ce107034b87b9e4459add9e1d6777e58f52465f81720d1a6276dbe0c341c92984fa9979ec8da0544f4699cf98a097098ed14759c38e47a0f9ea4aba6916907";
+      sha512 = "2ff7a791390e955cb2489c685504b5a118396d99d225e616e9bbc09b4f7be70d7a2f1a925d5cdc38b944e2476904604356d9e3e0dbc497258a133ec80ab499cb";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-i686/eu/thunderbird-52.6.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.7.0/linux-i686/eu/thunderbird-52.7.0.tar.bz2";
       locale = "eu";
       arch = "linux-i686";
-      sha512 = "a401cb39dd18e83cbe64de9c527ce4d72a951f32c5150a88bb509487f3ed4364624354a6571d41ee18f1061841cfe9bb704bf355893fab6cc44d94f660a5e0b7";
+      sha512 = "bef88a12c122f2d275e1fa24a92f5cc6fbc11534414ebd151e7d53d95d1c5ab06045270221ceb46629160eafd60bc1fd8a8928c13915493c83db231785507c21";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-i686/fi/thunderbird-52.6.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.7.0/linux-i686/fi/thunderbird-52.7.0.tar.bz2";
       locale = "fi";
       arch = "linux-i686";
-      sha512 = "d87a4ff14023c2a20241a920d2fac288d76124ba3734ffcae664cbf46ba3a3d54fe42979c243e6ae231f7b5aa54dfe9c82ad87f3839714aa8a21409a6e87221d";
+      sha512 = "d2c1be7209706fa96dc20af9c30be61557e0bf82da575c7b95fa8b5d2fc7ac6b7b2101bdf0db169694fde66cd1da60edcd4b505b849b1949ee72f12d7dbef200";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-i686/fr/thunderbird-52.6.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.7.0/linux-i686/fr/thunderbird-52.7.0.tar.bz2";
       locale = "fr";
       arch = "linux-i686";
-      sha512 = "5bd14acb63b044b2aa6f2f75fc365b6d65012a504ac3735cd2d72097b65aa61662007e06857f7288329c39517af01e694d19be5498bf4b718fb9b2510c8ed313";
+      sha512 = "194711b687ec4ededcb9140c7c1c3e1a0ccb47759cd00ba56819a3a7d9be66f9a7a29e2a91db0b1d573d584953871a37781877f43e734a8e39599dc6e8027622";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-i686/fy-NL/thunderbird-52.6.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.7.0/linux-i686/fy-NL/thunderbird-52.7.0.tar.bz2";
       locale = "fy-NL";
       arch = "linux-i686";
-      sha512 = "13baa3c5bf0c24474f6f31291b54ff9c846bc3a6056bf43a74f3e5ad4919879adeadfe583151f55cc721e8aaa0b9011cc8e9c3a402d2fc363b4b2ab97f5aef76";
+      sha512 = "7b9ef6651166e66c6abb88b79628a0c51f576f2ccf2dc5eaefd1c01100a492ca9fe1657aa2d6745079e0f422e0f2692d24389577b47248ec6713817e51543c6e";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-i686/ga-IE/thunderbird-52.6.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.7.0/linux-i686/ga-IE/thunderbird-52.7.0.tar.bz2";
       locale = "ga-IE";
       arch = "linux-i686";
-      sha512 = "632cc17bb0e9a5ee4e651cde51f71eb6efb6eac35297126ca3c7397e4bbd407f583b70a2aa5cdb4345276b493f3d8161cd376a443b37be3ba6b2782b7d6a534b";
+      sha512 = "801af21d297c95505afb3bb6cc79edf72057ffbb9ee9da56c1f283043e6df921239a4ac8eb3d7442286b27265d3462569f79e29adc88b7674f7e9d8396ff3109";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-i686/gd/thunderbird-52.6.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.7.0/linux-i686/gd/thunderbird-52.7.0.tar.bz2";
       locale = "gd";
       arch = "linux-i686";
-      sha512 = "03b3f6ab1fa5edd9f4c37f1d2ed9ba7a34e4b3d714bdf238f7e4ed8e8c65c432fff5a2815a1993ac8f221a997dab2b0ee22dea46d5a8b566bad35ae1cc9a4f46";
+      sha512 = "f778ff74408d3d9c7ba9c62cfa2c9447932b15446801df1c5363cf7c2059e1aa89539c1270fadbfc482c42b5c1845376e2fe037741fc267461d0b22f8edaf859";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-i686/gl/thunderbird-52.6.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.7.0/linux-i686/gl/thunderbird-52.7.0.tar.bz2";
       locale = "gl";
       arch = "linux-i686";
-      sha512 = "36398fa1d04ee096c1e2fa1420ca375dc7ff135ff63343e20c916b6ecb03b2adc6e30d26e66ee6ab38cd816d928e8c628a55bb3f6cf921bf7691b6092700200b";
+      sha512 = "ce541ef081ee8f8946f71b07a820ec31c4241730e565a8bf781a844a79fbfb0258d2f0d371ae3f4690067b6c520a103f4df996e8085d2a8afb997a4f1fefd288";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-i686/he/thunderbird-52.6.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.7.0/linux-i686/he/thunderbird-52.7.0.tar.bz2";
       locale = "he";
       arch = "linux-i686";
-      sha512 = "f819c1bc97298445f3d3d5ef91470a7ff370a5db5e4884e8c2590e06bbfbf9a33c7d1cb9919379a6aa654e47f49b6f9e127584eeb29cb14f2e73efc01d4f8ee7";
+      sha512 = "ec3cef4bd411f6604e1ec3486272208aaa41b1154dad1473c6fbb483ec2d3960aaadc11cb592777f49571bba35a0812f4f0a14c0edf9eb8a7b1fc70d56fcd4a1";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-i686/hr/thunderbird-52.6.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.7.0/linux-i686/hr/thunderbird-52.7.0.tar.bz2";
       locale = "hr";
       arch = "linux-i686";
-      sha512 = "bdebf02084d98a6279c27d914935e4e8486d86cb27475e99983ab0cd8166f78c82b6815528f7afc10e6aae8f0859c393f6f42b7d1a081925b1fe2053f309052f";
+      sha512 = "f27bd94723f65c4972ee41cf6a9397098cfbf9097e3eeb06b7b41d50b4f0143711fcd0ad59a04f23ab9acb42d3f9515900c067f9532366ae3333ecae2a54f965";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-i686/hsb/thunderbird-52.6.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.7.0/linux-i686/hsb/thunderbird-52.7.0.tar.bz2";
       locale = "hsb";
       arch = "linux-i686";
-      sha512 = "b0db8f59739e0ead2d0ec64bf00f6b62854b2b55b34db04e31c27db14b3b67e6af3bc9d857fb528e4e6115e3e1f2da75b685b17a33cf9ea976cca7ef5ebecb56";
+      sha512 = "7caad57604b9d83e64e8e30e03e89c4661e8d81d2ce833a6908e2d662d4d6c7ffbbb8b071e8657fabb0ebc0c0f84b07617ac878c9bbcfb400b711654e36f66d7";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-i686/hu/thunderbird-52.6.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.7.0/linux-i686/hu/thunderbird-52.7.0.tar.bz2";
       locale = "hu";
       arch = "linux-i686";
-      sha512 = "10ca02217736663a1fb44e20430bf2ac3a76fb5f87e57e539361ba12361c2f79aa3892fac02c4365890c6506eb86bde8fc955dd126eeddefb7b27813050d1861";
+      sha512 = "382d79b8513ad28f06233af3473c2fef995d72c9913f64adce5a86528ae0ead883e94f91b4d394cf30541e690da5aad77dc48b8c2a4a84ea6c5fef86c22a4159";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-i686/hy-AM/thunderbird-52.6.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.7.0/linux-i686/hy-AM/thunderbird-52.7.0.tar.bz2";
       locale = "hy-AM";
       arch = "linux-i686";
-      sha512 = "a0240daee40e6d8cd76d81bfbc4bd47052f9e20a00b8c687806633eb72e16d9393a6005c16f5391d2caa5a55fb7e0b7e12d1097fe140d6fd664e3ca40358b597";
+      sha512 = "3a4e5878e4fcc9c493cf1de1393da8efe85ff86d96702f57f085da42cac990290b054a3998e96cce69dca17ada849301a6724fd6ae245bf4aa396db5ce76aac4";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-i686/id/thunderbird-52.6.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.7.0/linux-i686/id/thunderbird-52.7.0.tar.bz2";
       locale = "id";
       arch = "linux-i686";
-      sha512 = "4450789df3c0176cde9adac0f8b075ca64690c0278b6da9de4040faefa35a9c915de1daec1e1b1ccae2d80c8d55f664c8535d9cc31ade68ef8081fc3f102e992";
+      sha512 = "dca16b2c0b5034e1be2831a1992ca47f6a7c614382e781e86095df11f34193f13868bdd7f972f54e72d7f844cb24172057155d5457fc6ec98ee476ed01d8899c";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-i686/is/thunderbird-52.6.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.7.0/linux-i686/is/thunderbird-52.7.0.tar.bz2";
       locale = "is";
       arch = "linux-i686";
-      sha512 = "9ad56f873a0138d55a34b6058681c9edb185734c3b358aa1ffd91161403cba5fa0a2d02d858fe45ebbb2e991c0a8da1bfcb6516c9836e26a3aec7e2160f292a4";
+      sha512 = "181868826a0da43deeb2ef68a307ba195fa7a470651d4a08e904bde994320e832a04c44fa355cdaa94bd4c8258471e6849cf06dae8284d43f43defc7a3976816";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-i686/it/thunderbird-52.6.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.7.0/linux-i686/it/thunderbird-52.7.0.tar.bz2";
       locale = "it";
       arch = "linux-i686";
-      sha512 = "242f2c9b2a7821bbd6601f4aeccbfe8f9c31556a061c0200b1139ce28c613c3781fa0ece4c9674c19a2283f647b2804820f29e26cba9ecfdc53a6b05964e2762";
+      sha512 = "88c906753878c7b8b0a3d60de21813017ae6ba63b6be9c5d24b6072f1a4aa3a1cc01e56433f960c02f33317cb113266200fbeedc397cd3a5587aa592fdaaacfb";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-i686/ja/thunderbird-52.6.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.7.0/linux-i686/ja/thunderbird-52.7.0.tar.bz2";
       locale = "ja";
       arch = "linux-i686";
-      sha512 = "1686f8cfc156744f2e9c02afa19ca00ac29db0e6f9b07900aae9b068928ff30431350ddb75824918df5a64e076d88b312f1055b74db44ec7cb909d505d2c013d";
+      sha512 = "0e53d3f877793afa9c3ecb48f73640ff3974633bd28ce036b96c7ed29f3b9a4af47e1fca89da9d594c879f534e7c4dc27ca05ece8ec33909fe2dfd57800b3a11";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-i686/kab/thunderbird-52.6.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.7.0/linux-i686/kab/thunderbird-52.7.0.tar.bz2";
       locale = "kab";
       arch = "linux-i686";
-      sha512 = "cadfcf6a02732831411f180d0363d3c3cb08e31d7d108b5f55d14bb75b6c48a744b40ec2a964f659904fde4c5e82ea8b89651db55406e5327db41c6f15f74416";
+      sha512 = "feeef278ab269f6e33b479b38f32004a5ece2a37ed2aad97c87e68dd0a8195ffe3428ac9dce0a3e72349d3c136b6b5bfdc25916bc57f4fa043eecffc64bafc3c";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-i686/ko/thunderbird-52.6.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.7.0/linux-i686/ko/thunderbird-52.7.0.tar.bz2";
       locale = "ko";
       arch = "linux-i686";
-      sha512 = "4b4e6bc229049210695536a0e12d685995bf439ab8b2b7879142c93cc749882ed79b98063fabd4df97503e771f585cbfc1590b2a3815a6121a7e43417addaaad";
+      sha512 = "c138dcbb692780cc1598906a630e90c8102d6a562f922ee28bc88e25624eb88aea20bf3d6fa6b87719f2a9fda0962bc413ce7e6d07147efb47dee7fd670a5c76";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-i686/lt/thunderbird-52.6.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.7.0/linux-i686/lt/thunderbird-52.7.0.tar.bz2";
       locale = "lt";
       arch = "linux-i686";
-      sha512 = "5d73c90f57e50500debfccb555183cb616ac9d893a19ee29fe22f4823085bd62aea156fd5c0f0f6ff49291636c4d90af253096416aeb87982da5455bf548a40b";
+      sha512 = "96e5cbd33b57fe02134aac190347f0ac37fdb9f847ad74a44f59004cb739579b9309442605e3c9c2693bbc484372505aeff9378bb7bccfe8e1432da7a5508ff4";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-i686/nb-NO/thunderbird-52.6.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.7.0/linux-i686/nb-NO/thunderbird-52.7.0.tar.bz2";
       locale = "nb-NO";
       arch = "linux-i686";
-      sha512 = "0adf9e6b10010ea5cce216a510e53fc5dc9c2066eceacf3c3c6bda7526b3bfef1083b130c08432dc59f09e02e19f0c4a5b885cb43627771aec00d78828377eb6";
+      sha512 = "913a731cf2c063be645cca94ea4beab6601e2536baad9369f9804af663e7b1a024024ff2b5befda1ac8169db0e8cf9ce5c9ca5d0ce650fe629e606c221776e8a";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-i686/nl/thunderbird-52.6.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.7.0/linux-i686/nl/thunderbird-52.7.0.tar.bz2";
       locale = "nl";
       arch = "linux-i686";
-      sha512 = "372e39c33a78e70d628fc1bc1a9719b3d902d67eead4e47091b40913a4aa76dac63db003cae8113f7d194cc6fd24cad13c4e87aefd1d6bf425434835c983ca7a";
+      sha512 = "79ceea0143319e4b883d2c59949fe3ddc62af70e9fe6653b745fedd2e683aaaf4c6f10d55688b83085abcd36672242f21ea0c592930cdcc7cfef7e32dcc72230";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-i686/nn-NO/thunderbird-52.6.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.7.0/linux-i686/nn-NO/thunderbird-52.7.0.tar.bz2";
       locale = "nn-NO";
       arch = "linux-i686";
-      sha512 = "1c66f021fbdf85e1aaed26e5a6d3abcbc9d71e91126bca10a6f8b62b10abf3927a44ae559136478fd9628dfe3409c4edd83f3336302c84fb0b6be6d4031dbb3a";
+      sha512 = "c524517c417b977e9e8c3b0d3b9a8f1b256c68360f70e61ba4d1b2f887fe550222843de1f9c42081db935e27b3ec63ed8b1a1b5658f48f9534eb787d4fc28d54";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-i686/pa-IN/thunderbird-52.6.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.7.0/linux-i686/pa-IN/thunderbird-52.7.0.tar.bz2";
       locale = "pa-IN";
       arch = "linux-i686";
-      sha512 = "aba5a6804f08eb303e71aba94b11116f253dd19dd31e10c05ad5469800378ffef678a90a8a33db2da516bb55ea2d1d1b5537c3c11ff9132ce9ce890fb4e8e413";
+      sha512 = "10e8c6a1faf395371421387ec1cc6891d8e0bc9f69f37f2e4fc414dd9a5e4c10246f279e15804280a550ab7acc265b8a3691ef1d089459cb58cbf06896f88806";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-i686/pl/thunderbird-52.6.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.7.0/linux-i686/pl/thunderbird-52.7.0.tar.bz2";
       locale = "pl";
       arch = "linux-i686";
-      sha512 = "19559239283420bac401dfefec812bbc18d33483380c44f217b70d9412b3d93f9ab3c2f5d9d518191fd891316e9ccb5b21f901676026f7ad2414a4541d584f98";
+      sha512 = "13afd039d50bc7c6ead72e9d69f5dd6dafa0fc2b5d1f18a207a15192cda4473ca8706386eba98b522667cd036ded38bfcb67fb3dd8c2e50629c3db9a1243c3e6";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-i686/pt-BR/thunderbird-52.6.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.7.0/linux-i686/pt-BR/thunderbird-52.7.0.tar.bz2";
       locale = "pt-BR";
       arch = "linux-i686";
-      sha512 = "64ada0291a3da9713eb81cd05ddbcddd70379bf07a14e019580bbb7b5fea4976ad7aeae87a651da070139e975bb52f66271ed3124eeada4d6a90f4afed948d3f";
+      sha512 = "9c024bfa1733d144ff4fa58e7ce8a2127528d7fe05e64142a3b1d8a0fdaeda1b1c02998089fd219804571cae4072db984a74a40c4a22bcc18dfb68c849aa37cc";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-i686/pt-PT/thunderbird-52.6.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.7.0/linux-i686/pt-PT/thunderbird-52.7.0.tar.bz2";
       locale = "pt-PT";
       arch = "linux-i686";
-      sha512 = "ce57a764ee2a529d7e37b6d620cf7c3825f7af1cc04da0502d64d2a7fb577a27a171a4f5d589c3f5e738192241776be4119d45958b2d77fbe3ae4f82279ab380";
+      sha512 = "ed4d7117bc87cb2ec6df65667f554a83f2fcddbf4eafd6a587082ad42cab69fab5c1d9fc36e132660911840fe85dcc18ab4b23e83b9b57317b900db820483b40";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-i686/rm/thunderbird-52.6.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.7.0/linux-i686/rm/thunderbird-52.7.0.tar.bz2";
       locale = "rm";
       arch = "linux-i686";
-      sha512 = "04bc57c8360be5917fe2e05b6b672fab614ea5a6ff150c83242ee20e89756f2f24afa096249fad5f2795c47e570815281bce70449385efc5e510c64204e5f7cb";
+      sha512 = "d1e1e48c47866b89e05c975cc6d4d70120173066457a4c05de1ab9222dee87b0d562959c63afbe024681b0a3f9f8cb3c836f2f0a0e910507e5211a430b1f9bab";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-i686/ro/thunderbird-52.6.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.7.0/linux-i686/ro/thunderbird-52.7.0.tar.bz2";
       locale = "ro";
       arch = "linux-i686";
-      sha512 = "86c790e5b3faeface66d001ea9e56006ac2955883337204e5f79764cdf74860df210688f8467c9f7b0051c9efd5cdbc5c98b615656155b99361bbba656254a47";
+      sha512 = "c1929be134d8127433eb4b26468379a631456681a6dc3d98bf9ec313576a4c951d5fa7f08ae2d3bc5e8563eecda0a71c412c62a970a0cec618e06d5cdcbc46fa";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-i686/ru/thunderbird-52.6.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.7.0/linux-i686/ru/thunderbird-52.7.0.tar.bz2";
       locale = "ru";
       arch = "linux-i686";
-      sha512 = "cbf316a94b64d02ee83fdafddbb60daac5157ea11c57889703bde88e3c4baec720dde515e9864f021cbb39e6945a33ccf909623fda0abe542e07b11eab8154d4";
+      sha512 = "aa7893b8ea0f44f625afca61adc5942dfaf2eadc6cc7ead569a3536ad827a9b4f88f225dd01a9c5e375eb24a9940de6f65413ab6d93ec2bd736f0bca711739a3";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-i686/si/thunderbird-52.6.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.7.0/linux-i686/si/thunderbird-52.7.0.tar.bz2";
       locale = "si";
       arch = "linux-i686";
-      sha512 = "cf0dddbe01bddd623ce5052f0a72dee9da4eb5de1932d0a0a656baba55c79eaec51387e37f74c1a1a754ee71def8c972af5dda5a5bf9e78c19a2c11c1cc42e57";
+      sha512 = "ed425325419e0598e3cc5abd0d2b2898ef781c4be847aa8d9c93596f6dca0b718cb7035479d4013d3213b97a440dea2560549619c3ca330df9bda7b287cea673";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-i686/sk/thunderbird-52.6.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.7.0/linux-i686/sk/thunderbird-52.7.0.tar.bz2";
       locale = "sk";
       arch = "linux-i686";
-      sha512 = "5c70a7e8a47e44a47eac2d00526c4c8da340121c1fc8c136b3b40cbe0809548e9cde6d6dc76d1ad679d7bdedefdaf3fc373b2c124cca6b36a9cdb9f4e6da939a";
+      sha512 = "bd576b29abe39634c864a27f5ab8d59ada34bfd069a7eb9fbe6af1cd79f2e0fdd61ab4fe06cc3944a92b06634bde9faa68ad6d56399085999df5e7827dd121bd";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-i686/sl/thunderbird-52.6.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.7.0/linux-i686/sl/thunderbird-52.7.0.tar.bz2";
       locale = "sl";
       arch = "linux-i686";
-      sha512 = "9bbaf000fd2c1fe28f0f64c31c7736a2595399788498ae8be8fdac8dabc709efeacd8fb1f6ae8a095c130ff7620e1b7c6e909959b9c724b7bde736049664357c";
+      sha512 = "98abc990d644a991abd9f513e205556974905c82c93e0fe8171608ec4d1aac7883ecdab5bf86ed287f43e6c5e45661b79ad012a4dda7b1e5cf6c3411dce7ea2c";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-i686/sq/thunderbird-52.6.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.7.0/linux-i686/sq/thunderbird-52.7.0.tar.bz2";
       locale = "sq";
       arch = "linux-i686";
-      sha512 = "6f8d71fa87777b11f5ebf14c6811ce9a0c2c380db5b7f3fe774219cc60bea6d4f59de8a3dd193d855725c3a0e5470b36dc0538f94539d637be14de5d8e480c7b";
+      sha512 = "d45920069f8c0808b4965118be5ba6e4cf36b99bac9add6d1ac2e20051e95ebf09eaaa9ac559515803b655a61608bb4afab0d69d720ca74f57ec5a643b151f24";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-i686/sr/thunderbird-52.6.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.7.0/linux-i686/sr/thunderbird-52.7.0.tar.bz2";
       locale = "sr";
       arch = "linux-i686";
-      sha512 = "0bbcd2a98f767a8836d054a97c797a0ea7eac5c08fed9177189474e47e8dc50d395735c0eaf8c6e839ac608084c6e533a3b20fda5e69ad74ada53636f1181359";
+      sha512 = "7d77124de3cdd684f13fb824a0bcf7a9440ec7c626ba34deeb04478950bfc908494bc97de5f2d8d8dc0b0abfaa3f7c88b3948a10b7fd31de092702c755cacf25";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-i686/sv-SE/thunderbird-52.6.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.7.0/linux-i686/sv-SE/thunderbird-52.7.0.tar.bz2";
       locale = "sv-SE";
       arch = "linux-i686";
-      sha512 = "22cc597657e44124162a6b8693022bd4086e3b4e0f9e42342c997bd333e1182163f0ca0c67d91cbb5e18c45605c877eb69d00372c86a9378ed2e7846547f3964";
+      sha512 = "e16fdb819ca8ae5c8392eae50115d6b6853678c002de3a18fff25ae0e7e7fa2af06dab17a6a2dff31440608373a5268197efedeaf36f0012c2763080f4b51cc5";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-i686/ta-LK/thunderbird-52.6.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.7.0/linux-i686/ta-LK/thunderbird-52.7.0.tar.bz2";
       locale = "ta-LK";
       arch = "linux-i686";
-      sha512 = "902832bf66b2efd39cf038e9361bf0ee8f9682e73a42895ccf6bb637eeabb8d4d5e8b3b3d28bfa52e537ad1babee6bbb8d033c538a61880920ace6a4a7cadf95";
+      sha512 = "3c8429d8a31771452e108c0a7b16070138ea1e82aa16536bad4d7570117f0790045e9a34fb9f7546eb3d749e0d94b2a1a7a65b93198909189cbd2f1bf872af94";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-i686/tr/thunderbird-52.6.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.7.0/linux-i686/tr/thunderbird-52.7.0.tar.bz2";
       locale = "tr";
       arch = "linux-i686";
-      sha512 = "70dbb015aa4acf35d5cba0e9d8916bed2603c7e44574c98e98e56edfb68db3ab572402fda5c809d838c51a2e3f135cd3b86f2dde44acd2e1ae2f12cecc276655";
+      sha512 = "effe30bec8c4b0fc1428681888ea1e0a79eefa1f60fc3964e08142d00c6db065ff9a2acf989765497520f27504b4ea3c8104a084f63abe4358d165c5bfecc680";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-i686/uk/thunderbird-52.6.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.7.0/linux-i686/uk/thunderbird-52.7.0.tar.bz2";
       locale = "uk";
       arch = "linux-i686";
-      sha512 = "9fd85a4f4366caea3409cca47df70d2f028c7d85c248ebbe5e7e92005d98d45947639fae2aac8a145e4cad12cc92e368b9f86de4623a7d1a35e0485fb35cff97";
+      sha512 = "92cca4a0b9ac66bd4c0e14d0c04a162dbe2a3aac3a9fa95e26e6eef8ef1716fc21832967323ca5b46df19b28843de6e4781ea323120bac37a9821745f7ca9af7";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-i686/vi/thunderbird-52.6.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.7.0/linux-i686/vi/thunderbird-52.7.0.tar.bz2";
       locale = "vi";
       arch = "linux-i686";
-      sha512 = "205b22a39b795946f019cbb9e8c1813a0ca9f59551c9ea30c661fbe43bbf1d87069dd3992e71c83226b2559cdb4db2186b37120c847367b6a4e1b16aba24510f";
+      sha512 = "b470364cac631fe944e7c06a27299e8ddf65605aaa1550d0736ab6088e38cf008d224b920111a17f6d87aceda3b95ad0ebb01351ed2339680530629a70fca1b9";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-i686/zh-CN/thunderbird-52.6.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.7.0/linux-i686/zh-CN/thunderbird-52.7.0.tar.bz2";
       locale = "zh-CN";
       arch = "linux-i686";
-      sha512 = "d1a9247b1db70ddba4f0cf80af7b8606e6bf006b31d3e771a4047dd7ccd121114bab900c38c02f36c4b60636caae75047f153bafd06aacf1b546c3d8af01806a";
+      sha512 = "1840d47835805c0ab854dde0a08fed90c785377d14b8f53b303fbd65bc5dc8e967146ae5d26ef4a0693df89679cff27ccbad0cabde27356dff97701fd3c91579";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-i686/zh-TW/thunderbird-52.6.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.7.0/linux-i686/zh-TW/thunderbird-52.7.0.tar.bz2";
       locale = "zh-TW";
       arch = "linux-i686";
-      sha512 = "a92b42e7e1869ad91d8343072d508df6bb8e67ddf7d929d4911457c5bba04fc1ec7d3218685954a4ded7ecf819bfbef975813fb2bbb9d1da60444b83f1f0fdb9";
+      sha512 = "aaaef2821bb128218a6c9bbf07b1f017574f39a20664e0e82a396ddebeb4b2ac754fa1ece956ab70b1f55ef5e2a750d612cd6ebbd2a747d28f9c24a5b994c730";
     }
     ];
 }
diff --git a/pkgs/applications/networking/mailreaders/thunderbird/default.nix b/pkgs/applications/networking/mailreaders/thunderbird/default.nix
index e2b023cc2a8..1bf37edf1af 100644
--- a/pkgs/applications/networking/mailreaders/thunderbird/default.nix
+++ b/pkgs/applications/networking/mailreaders/thunderbird/default.nix
@@ -22,11 +22,11 @@ let
   wrapperTool = if enableGTK3 then wrapGAppsHook else makeWrapper;
 in stdenv.mkDerivation rec {
   name = "thunderbird-${version}";
-  version = "52.6.0";
+  version = "52.7.0";
 
   src = fetchurl {
     url = "mirror://mozilla/thunderbird/releases/${version}/source/thunderbird-${version}.source.tar.xz";
-    sha512 = "80742c95ed61d1cb2e72b71bb23bdd211a40240ab4393e9f028a38f902547372084a8f56445e2394484be088a7b9801405f3d6618fb2742601cc968bf34427f0";
+    sha512 = "875ad6f2b030c65d248ecec4f4a5b51767c3ee7944ac72893237efd2af50145ec2e4a9efa8d60807b78bcfb8189969e5a67d15124710e8b0091f639cddfbfe21";
   };
 
   # New sed no longer tolerates this mistake.
@@ -140,7 +140,7 @@ in stdenv.mkDerivation rec {
           exec = "thunderbird %U";
           desktopName = "Thunderbird";
           icon = "$out/lib/thunderbird-${version}/chrome/icons/default/default256.png";
-          genericName = "Main Reader";
+          genericName = "Mail Reader";
           categories = "Application;Network";
           mimeType = stdenv.lib.concatStringsSep ";" [
             # Email
diff --git a/pkgs/applications/networking/ndppd/default.nix b/pkgs/applications/networking/ndppd/default.nix
index 5314d3668eb..a5eb9021048 100644
--- a/pkgs/applications/networking/ndppd/default.nix
+++ b/pkgs/applications/networking/ndppd/default.nix
@@ -1,6 +1,11 @@
-{ stdenv, fetchFromGitHub, gzip, ... }:
+{ stdenv, fetchFromGitHub, fetchurl, gzip, ... }:
 
-stdenv.mkDerivation rec {
+let
+  serviceFile = fetchurl {
+    url = "https://raw.githubusercontent.com/DanielAdolfsson/ndppd/f37e8eb33dc68b3385ecba9b36a5efd92755580f/ndppd.service";
+    sha256 = "1zf54pzjfj9j9gr48075njqrgad4myd3dqmhvzxmjy4gjy9ixmyh";
+  };
+in stdenv.mkDerivation rec {
   name = "ndppd-${version}";
   version = "0.2.5";
 
@@ -19,6 +24,16 @@ stdenv.mkDerivation rec {
     substituteInPlace Makefile --replace /bin/gzip ${gzip}/bin/gzip
   '';
 
+  postInstall = ''
+    mkdir -p $out/etc
+    cp ndppd.conf-dist $out/etc/ndppd.conf
+
+    mkdir -p $out/lib/systemd/system
+    # service file needed for our module is not in release yet
+    substitute ${serviceFile} $out/lib/systemd/system/ndppd.service \
+      --replace /usr/sbin/ndppd $out/sbin/ndppd
+  '';
+
   meta = {
     description = "A daemon that proxies NDP (Neighbor Discovery Protocol) messages between interfaces";
     homepage = https://github.com/DanielAdolfsson/ndppd;
diff --git a/pkgs/applications/networking/netperf/default.nix b/pkgs/applications/networking/netperf/default.nix
index fe58b1d3e28..421a3cfbe3b 100644
--- a/pkgs/applications/networking/netperf/default.nix
+++ b/pkgs/applications/networking/netperf/default.nix
@@ -1,21 +1,29 @@
-{ stdenv, fetchFromGitHub }:
+{ libsmbios, stdenv, autoreconfHook, fetchFromGitHub }:
 
 stdenv.mkDerivation rec {
-  name = "netperf-2.7.0";
+  name = "netperf-20180504";
 
   src = fetchFromGitHub {
     owner = "HewlettPackard";
     repo = "netperf";
-    rev = name;
-    sha256 = "034indn3hicwbvyzgw9f32bv2i7c5iv8b4a11imyn03pw97jzh10";
+    rev = "c0a0d9f31f9940abf375a41b43a343cdbf87caab";
+    sha256 = "0wfj9kkhar6jb5639f5wxpwsraxw4v9yzg71rsdidvj5fyncjjq2";
   };
 
+  buildInputs = [ libsmbios ];
+  nativeBuildInputs = [ autoreconfHook ];
+  autoreconfPhase = ''
+    autoreconf -i -I src/missing/m4
+  '';
+  configureFlags = [ "--enable-demo" ];
+  enableParallelBuilding = true;
+
   meta = {
     description = "Benchmark to measure the performance of many different types of networking";
     homepage = http://www.netperf.org/netperf/;
     license = "Hewlett-Packard BSD-like license";
 
     platforms = stdenv.lib.platforms.linux;
-    maintainers = [];
+    maintainers = [ stdenv.lib.maintainers.mmlb ];
   };
 }
diff --git a/pkgs/applications/networking/newsreaders/liferea/default.nix b/pkgs/applications/networking/newsreaders/liferea/default.nix
index 965a8ec58dc..74d59c05ec9 100644
--- a/pkgs/applications/networking/newsreaders/liferea/default.nix
+++ b/pkgs/applications/networking/newsreaders/liferea/default.nix
@@ -6,13 +6,13 @@
 
 let
   pname = "liferea";
-  version = "1.12.1";
+  version = "1.12.3";
 in stdenv.mkDerivation rec {
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "https://github.com/lwindolf/${pname}/releases/download/v${version}/${name}.tar.bz2";
-    sha256 = "14qx3x2xjcnydc4ma8vdac63phas7jzwbjl4b9r5hf6vxv3mpvdq";
+    sha256 = "0wm2c8qrgnadq63fivai53xm7vl05wgxc0nk39jcriscdikzqpcg";
   };
 
   nativeBuildInputs = [ wrapGAppsHook python3Packages.wrapPython intltool pkgconfig ];
diff --git a/pkgs/applications/networking/newsreaders/pan/default.nix b/pkgs/applications/networking/newsreaders/pan/default.nix
index ad35c49c014..1d913118433 100644
--- a/pkgs/applications/networking/newsreaders/pan/default.nix
+++ b/pkgs/applications/networking/newsreaders/pan/default.nix
@@ -1,23 +1,38 @@
 { spellChecking ? true
-, stdenv, fetchurl, pkgconfig, gtk2, gtkspell2 ? null
-, perl, pcre, gmime, gettext, intltool, dbus-glib, libnotify
+, stdenv, fetchurl, pkgconfig, gtk3, gtkspell3 ? null
+, perl, pcre, gmime2, gettext, intltool, itstool, libxml2, dbus-glib, libnotify, gnutls
+, makeWrapper, gnupg
+, gnomeSupport ? true, libgnome-keyring3
 }:
 
-assert spellChecking -> gtkspell2 != null;
+assert spellChecking -> gtkspell3 != null;
 
-let version = "0.139"; in
+let version = "0.144"; in
 
 stdenv.mkDerivation {
   name = "pan-${version}";
 
   src = fetchurl {
     url = "http://pan.rebelbase.com/download/releases/${version}/source/pan-${version}.tar.bz2";
-    sha256 = "1fab2i6ngqp66lhls0g7j8d1c1rk75afiqr3r1x2sn3zk47k4pxz";
+    sha256 = "0l07y75z8jxhbmfv28slw81gjncs7i89x7fq44zif7xhq5vy7yli";
   };
 
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ gtk2 perl gmime gettext intltool dbus-glib libnotify ]
-    ++ stdenv.lib.optional spellChecking gtkspell2;
+  nativeBuildInputs = [ pkgconfig makeWrapper ];
+  buildInputs = [ gtk3 perl gmime2 gettext intltool itstool libxml2 dbus-glib libnotify gnutls ]
+    ++ stdenv.lib.optional spellChecking gtkspell3
+    ++ stdenv.lib.optional gnomeSupport libgnome-keyring3;
+
+  configureFlags = [
+    "--with-dbus"
+    "--with-gtk3"
+    "--with-gnutls"
+    "--enable-libnotify"
+  ] ++ stdenv.lib.optional spellChecking "--with-gtkspell"
+    ++ stdenv.lib.optional gnomeSupport "--enable-gkr";
+
+  postInstall = ''
+    wrapProgram $out/bin/pan --suffix PATH : ${gnupg}/bin
+  '';
 
   enableParallelBuilding = true;
 
diff --git a/pkgs/applications/networking/newsreaders/quiterss/default.nix b/pkgs/applications/networking/newsreaders/quiterss/default.nix
index d527279ab77..7bd50a47f81 100644
--- a/pkgs/applications/networking/newsreaders/quiterss/default.nix
+++ b/pkgs/applications/networking/newsreaders/quiterss/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "quiterss-${version}";
-  version = "0.18.9";
+  version = "0.18.10";
 
   src = fetchFromGitHub {
     owner = "QuiteRSS";
     repo = "quiterss";
     rev = "${version}";
-    sha256 = "0n2rgzyxw6m29i8m8agri3cp5dbpjblhhyklvxsyzmkksnsxpw58";
+    sha256 = "1bv5aw6fscrwlycirvzm6fvbwmg8lbd1ycldkwbvybhjyfjaxkpm";
   };
 
   nativeBuildInputs = [ pkgconfig qmake ];
diff --git a/pkgs/applications/networking/nextcloud-client/default.nix b/pkgs/applications/networking/nextcloud-client/default.nix
index f61b887cd87..6ed5e63cd0f 100644
--- a/pkgs/applications/networking/nextcloud-client/default.nix
+++ b/pkgs/applications/networking/nextcloud-client/default.nix
@@ -49,6 +49,6 @@ stdenv.mkDerivation rec {
     homepage = https://nextcloud.com;
     license = licenses.gpl2;
     maintainers = with maintainers; [ caugner ];
-    platforms = platforms.unix;
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/networking/offrss/default.nix b/pkgs/applications/networking/offrss/default.nix
index af6a4dfddc1..d499916c7b6 100644
--- a/pkgs/applications/networking/offrss/default.nix
+++ b/pkgs/applications/networking/offrss/default.nix
@@ -28,6 +28,6 @@ stdenv.mkDerivation {
     description = "Offline RSS/Atom reader";
     license="AGPLv3+";
     maintainers = with stdenv.lib.maintainers; [viric];
-    platforms = with stdenv.lib.platforms; all;
+    platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/applications/networking/ostinato/default.nix b/pkgs/applications/networking/ostinato/default.nix
index b3a1c1a23b3..c0320251774 100644
--- a/pkgs/applications/networking/ostinato/default.nix
+++ b/pkgs/applications/networking/ostinato/default.nix
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
   };
 
   ostinatoIcon = fetchurl {
-    url = "http://ostinato.org/images/site-logo.png";
+    url = "https://ostinato.org/images/site-logo.png";
     sha256 = "f5c067823f2934e4d358d76f65a343efd69ad783a7aeabd7ab4ce3cd03490d70";
   };
 
diff --git a/pkgs/applications/networking/owncloud-client/default.nix b/pkgs/applications/networking/owncloud-client/default.nix
index 94e3b7d0ba6..17c5cc86fa6 100644
--- a/pkgs/applications/networking/owncloud-client/default.nix
+++ b/pkgs/applications/networking/owncloud-client/default.nix
@@ -2,14 +2,14 @@
 
 stdenv.mkDerivation rec {
   name = "owncloud-client-${version}";
-  version = "2.3.4";
+  version = "2.4.1";
 
   src = fetchurl {
     url = "https://download.owncloud.com/desktop/stable/owncloudclient-${version}.tar.xz";
-    sha256 = "1fpi1mlp2b8sx2993b4mava5c6qw794dmlayih430299z1l9wh49";
+    sha256 = "4462ae581c281123dc62f3604f1aa54c8f4a60cd8157b982e2d76faac0f7aa23";
   };
 
-  patches = [ ../nextcloud-client/find-sql.patch ];
+  patches = [ ./find-sql.patch ];
 
   nativeBuildInputs = [ pkgconfig cmake ];
   buildInputs = [ qtbase qtwebkit qtkeychain sqlite ];
diff --git a/pkgs/applications/networking/owncloud-client/find-sql.patch b/pkgs/applications/networking/owncloud-client/find-sql.patch
new file mode 100644
index 00000000000..44dea6414e9
--- /dev/null
+++ b/pkgs/applications/networking/owncloud-client/find-sql.patch
@@ -0,0 +1,12 @@
+*** a/cmake/modules/QtVersionAbstraction.cmake
+--- b/cmake/modules/QtVersionAbstraction.cmake
+***************
+*** 8,13 ****
+--- 8,14 ----
+  find_package(Qt5Core REQUIRED)
+  find_package(Qt5Network REQUIRED)
+  find_package(Qt5Xml REQUIRED)
++ find_package(Qt5Sql REQUIRED)
+  find_package(Qt5Concurrent REQUIRED)
+  if(UNIT_TESTING)
+      find_package(Qt5Test REQUIRED)
diff --git a/pkgs/applications/networking/p2p/frostwire/default.nix b/pkgs/applications/networking/p2p/frostwire/default.nix
index 8a159f033ae..72799941402 100644
--- a/pkgs/applications/networking/p2p/frostwire/default.nix
+++ b/pkgs/applications/networking/p2p/frostwire/default.nix
@@ -1,24 +1,80 @@
-{ stdenv, fetchurl, jre, makeWrapper }:
+{ stdenv, lib, fetchFromGitHub, gradle, perl, jre, makeWrapper, makeDesktopItem, mplayer }:
 
-with stdenv.lib;
+let
+  version = "6.6.3-build-253";
+  name = "frostwire-desktop-${version}";
 
-stdenv.mkDerivation rec {
-  version = "6.4.5";
-  name = "frostwire-${version}";
+  src = fetchFromGitHub {
+    owner = "frostwire";
+    repo = "frostwire";
+    rev = name;
+    sha256 = "1bqv942hfz12i3b3nm1pfwdp7f58nzjxg44h31f3q47719hh8kd7";
+  };
+
+  desktopItem = makeDesktopItem {
+    name = "frostwire";
+    desktopName = "FrostWire";
+    genericName = "P2P Bittorrent client";
+    exec = "frostwire";
+    icon = "frostwire";
+    comment = "Search and explore all kinds of files on the Bittorrent network";
+    categories = "Network;FileTransfer;P2P;";
+  };
 
-  src = fetchurl {
-    url = "http://dl.frostwire.com/frostwire/${version}/frostwire-${version}.noarch.tar.gz";
-    sha256 = "01nq1vwkqdidmprlnz5d3c5412r6igv689barv64dmb9m6iqg53z";
+  # fake build to pre-download deps into fixed-output derivation
+  deps = stdenv.mkDerivation {
+    name = "${name}-deps";
+    inherit src;
+    buildInputs = [ gradle perl ];
+    buildPhase = ''
+      export GRADLE_USER_HOME=$(mktemp -d)
+      ( cd desktop
+        gradle --no-daemon build
+      )
+    '';
+    # 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 -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
+    '';
+    outputHashAlgo = "sha256";
+    outputHashMode = "recursive";
+    outputHash = "0p279i41q7pn6nss8vndv3g4qzrvj3pmhdxq50kymwkyp2kly3lc";
   };
 
+in stdenv.mkDerivation {
+  inherit name src;
+
   nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ gradle ];
+
+  buildPhase = ''
+    export GRADLE_USER_HOME=$(mktemp -d)
+    ( cd desktop
+      substituteInPlace src/com/frostwire/gui/player/MediaPlayerLinux.java \
+        --replace /usr/bin/mplayer ${mplayer}/bin/mplayer
+      substituteInPlace build.gradle \
+        --replace 'mavenCentral()' 'mavenLocal(); maven { url uri("${deps}") }'
+      gradle --offline --no-daemon build
+    )
+  '';
 
   installPhase = ''
-    mkdir -p $out/share/java
-    mv $(ls */*.jar) $out/share/java
+    mkdir -p $out/lib $out/share/java
+
+    cp desktop/build/libs/frostwire.jar $out/share/java/frostwire.jar
+
+    cp ${ { x86_64-darwin = "desktop/lib/native/*.dylib";
+            x86_64-linux  = "desktop/lib/native/libjlibtorrent.so";
+            i686-linux    = "desktop/lib/native/libjlibtorrentx86.so";
+          }.${stdenv.system} or (throw "unsupported system ${stdenv.system}")
+        } $out/lib
+
+    cp -dpR ${desktopItem}/share $out
 
-    makeWrapper $out/share/java/frostwire $out/bin/frostwire \
-      --prefix PATH : ${jre}/bin/
+    makeWrapper ${jre}/bin/java $out/bin/frostwire \
+      --add-flags "-Djava.library.path=$out/lib -jar $out/share/java/frostwire.jar"
   '';
 
   meta = with stdenv.lib; {
@@ -26,6 +82,6 @@ stdenv.mkDerivation rec {
     description = "BitTorrent Client and Cloud File Downloader";
     license = licenses.gpl2;
     maintainers = with maintainers; [ gavin ];
-    platforms = platforms.all;
+    platforms = [ "x86_64-darwin" "x86_64-linux" "i686-linux" ];
   };
 }
diff --git a/pkgs/applications/networking/p2p/frostwire/frostwire-bin.nix b/pkgs/applications/networking/p2p/frostwire/frostwire-bin.nix
new file mode 100644
index 00000000000..84ed1ff9259
--- /dev/null
+++ b/pkgs/applications/networking/p2p/frostwire/frostwire-bin.nix
@@ -0,0 +1,31 @@
+{ stdenv, fetchurl, jre, makeWrapper }:
+
+with stdenv.lib;
+
+stdenv.mkDerivation rec {
+  version = "6.6.5";
+  name = "frostwire-${version}";
+
+  src = fetchurl {
+    url = "http://dl.frostwire.com/frostwire/${version}/frostwire-${version}.noarch.tar.gz";
+    sha256 = "0qxh5288mxd7ksd3zl0i8avkyzh8lj06x3jqya8znfq1c1wg0fph";
+  };
+
+  nativeBuildInputs = [ makeWrapper ];
+
+  installPhase = ''
+    mkdir -p $out/share/java
+    mv $(ls */*.jar) $out/share/java
+
+    makeWrapper $out/share/java/frostwire $out/bin/frostwire \
+      --prefix PATH : ${jre}/bin/
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = http://www.frostwire.com/;
+    description = "BitTorrent Client and Cloud File Downloader";
+    license = licenses.gpl2;
+    maintainers = with maintainers; [ gavin ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/applications/networking/p2p/gnunet/default.nix b/pkgs/applications/networking/p2p/gnunet/default.nix
index d1834217724..e15c3588c29 100644
--- a/pkgs/applications/networking/p2p/gnunet/default.nix
+++ b/pkgs/applications/networking/p2p/gnunet/default.nix
@@ -73,6 +73,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2Plus;
 
     maintainers = with maintainers; [ viric vrthra ];
-    platforms = platforms.gnu;
+    platforms = platforms.gnu ++ platforms.linux;
   };
 }
diff --git a/pkgs/applications/networking/p2p/gnunet/svn.nix b/pkgs/applications/networking/p2p/gnunet/git.nix
index 8c8d95169c8..9763c0ee97f 100644
--- a/pkgs/applications/networking/p2p/gnunet/svn.nix
+++ b/pkgs/applications/networking/p2p/gnunet/git.nix
@@ -1,26 +1,26 @@
-{ stdenv, fetchsvn, libextractor, libmicrohttpd, libgcrypt
+{ stdenv, fetchgit, libextractor, libmicrohttpd, libgcrypt
 , zlib, gmp, curl, libtool, adns, sqlite, pkgconfig
 , libxml2, ncurses, gettext, libunistring, libidn
-, makeWrapper, autoconf, automake
+, makeWrapper, autoconf, automake, texinfo, which
 , withVerbose ? false }:
 
 let
-  rev = "27840";
+  rev = 	"ce2864cfaa27e55096b480bf35db5f8cee2a5e7e";
 in
 stdenv.mkDerivation rec {
-  name = "gnunet-svn-${rev}";
+  name = "gnunet-git-${rev}";
 
-  src = fetchsvn {
-    url =  https://gnunet.org/svn/gnunet;
+  src = fetchgit {
+    url =  https://gnunet.org/git/gnunet.git;
     inherit rev;
-    sha256 = "0zhxvvj5rbhca2ykfx3g93dv94xyhqsnj011a6gql7zd5vfhaf6v";
+    sha256 = "0gbw920m9v4b3425c0d1h7drgl2m1fni1bwjn4fwqnyz7kdqzsgl";
   };
 
   buildInputs = [
     libextractor libmicrohttpd libgcrypt gmp curl libtool
     zlib adns sqlite libxml2 ncurses libidn
     pkgconfig gettext libunistring makeWrapper
-    autoconf automake
+    autoconf automake texinfo which
   ];
 
   configureFlags = stdenv.lib.optional withVerbose "--enable-logging=verbose ";
@@ -47,7 +47,6 @@ stdenv.mkDerivation rec {
 
     # Ensure NSS installation works fine
     configureFlags="$configureFlags --with-nssdir=$out/lib"
-    patchShebangs src/gns/nss/install-nss-plugin.sh
 
     sh contrib/pogen.sh
     sh bootstrap
@@ -88,6 +87,6 @@ stdenv.mkDerivation rec {
     license = stdenv.lib.licenses.gpl2Plus;
 
     maintainers = with stdenv.lib.maintainers; [ viric ];
-    platforms = stdenv.lib.platforms.gnu;
+    platforms = stdenv.lib.platforms.gnu ++ stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/applications/networking/p2p/qbittorrent/default.nix b/pkgs/applications/networking/p2p/qbittorrent/default.nix
index 90d68a96e5c..b2e9333beb3 100644
--- a/pkgs/applications/networking/p2p/qbittorrent/default.nix
+++ b/pkgs/applications/networking/p2p/qbittorrent/default.nix
@@ -10,11 +10,11 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   name = "qbittorrent-${version}";
-  version = "4.0.4";
+  version = "4.1.0";
 
   src = fetchurl {
     url = "mirror://sourceforge/qbittorrent/${name}.tar.xz";
-    sha256 = "13sw0sdw2agm49plp9xvkg6wva274drpvgz76dqj4j2kfxx9s2jk";
+    sha256 = "0fdr74sc31x421sb69vlgal1hxpccjxxk8hrrzz9f5bg4jv895pw";
   };
 
   nativeBuildInputs = [ pkgconfig which ];
diff --git a/pkgs/applications/networking/p2p/soulseekqt/default.nix b/pkgs/applications/networking/p2p/soulseekqt/default.nix
new file mode 100644
index 00000000000..315106ea852
--- /dev/null
+++ b/pkgs/applications/networking/p2p/soulseekqt/default.nix
@@ -0,0 +1,55 @@
+{ stdenv
+, fetchurl
+, dbus
+, expat, zlib, fontconfig
+, libpng, libX11, libxcb, libXau, libXdmcp, freetype, libbsd
+}:
+
+with stdenv.lib;
+let
+  libPath = makeLibraryPath
+    [ stdenv.cc.cc dbus libX11 zlib libX11 libxcb libXau libXdmcp freetype fontconfig libbsd ];
+
+  version = "2016-1-17";
+
+  mainbin = "SoulseekQt-" + (version) +"-"+ (if stdenv.is64bit then "64bit" else "32bit");
+  srcs = {
+    "i686-linux" = fetchurl {
+      url = "https://www.dropbox.com/s/kebk1b5ib1m3xxw/${mainbin}.tgz";
+      sha256 = "0r9rhnfslkgbw3l7fnc0rcfqjh58amgh5p33kwam0qvn1h1frnir";
+    };
+
+    "x86_64-linux" = fetchurl {
+      url = "https://www.dropbox.com/s/7qh902qv2sxyp6p/${mainbin}.tgz";
+      sha256 = "05l3smpdvw8xdhv4v8a28j0yi1kvzhrha2ck23g4bl7x9wkay4cc";
+    };
+  };
+
+in stdenv.mkDerivation rec {
+
+  name = "soulseekqt-${version}";
+  inherit version;
+  src = srcs."${stdenv.system}" or (throw "unsupported system: ${stdenv.system}");
+
+  sourceRoot = ".";
+  buildPhase = ":";   # nothing to build
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cp ${mainbin} $out/bin/soulseekqt
+  '';
+
+  fixupPhase = ''
+    patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
+             --set-rpath ${libPath} \
+             $out/bin/soulseekqt
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Official Qt SoulSeek client";
+    homepage = http://www.soulseekqt.net;
+    license = licenses.unfree;
+    maintainers = [ maintainers.genesis ];
+    platforms = [ "i686-linux" "x86_64-linux" ];
+  };
+}
diff --git a/pkgs/applications/networking/p2p/tixati/default.nix b/pkgs/applications/networking/p2p/tixati/default.nix
index 688f908c798..9f47f8464a1 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.55";
+  version = "2.57";
 
   src = fetchurl {
     url = "https://download2.tixati.com/download/tixati-${version}-1.x86_64.manualinstall.tar.gz";
-    sha256 = "02mha6lfcb0mg0y977bxa6xg8krpbsbzpm4b5xw6y6wign4d8a8w";
+    sha256 = "0z6znh62ry4fmc6c54zq79pk1b5bwkz93bxsfgvxpf6sajpyf9n7";
   };
 
   installPhase = ''
diff --git a/pkgs/applications/networking/p2p/transmission-remote-gtk/default.nix b/pkgs/applications/networking/p2p/transmission-remote-gtk/default.nix
index eb88d1c24c2..3ddbe9be4fc 100644
--- a/pkgs/applications/networking/p2p/transmission-remote-gtk/default.nix
+++ b/pkgs/applications/networking/p2p/transmission-remote-gtk/default.nix
@@ -21,13 +21,16 @@ stdenv.mkDerivation rec {
     pkgconfig intltool autoconf-archive
     appstream-glib
   ];
+
   buildInputs = [ gtk3 json-glib curl glib hicolor-icon-theme ];
 
-  meta = with stdenv.lib;
-    { description = "GTK remote control for the Transmission BitTorrent client";
-      homepage = https://github.com/ajf8/transmission-remote-gtk;
-      license = licenses.gpl2;
-      maintainers = [ maintainers.ehmry ];
-      platforms = platforms.linux;
-    };
+  doCheck = false; # fails with style validation error
+
+  meta = with stdenv.lib; {
+    description = "GTK remote control for the Transmission BitTorrent client";
+    homepage = https://github.com/ajf8/transmission-remote-gtk;
+    license = licenses.gpl2;
+    maintainers = [ maintainers.ehmry ];
+    platforms = platforms.linux;
+  };
 }
diff --git a/pkgs/applications/networking/p2p/transmission/default.nix b/pkgs/applications/networking/p2p/transmission/default.nix
index cf825b72496..d8fc1d840d2 100644
--- a/pkgs/applications/networking/p2p/transmission/default.nix
+++ b/pkgs/applications/networking/p2p/transmission/default.nix
@@ -10,11 +10,11 @@ let inherit (stdenv.lib) optional optionals optionalString; in
 
 stdenv.mkDerivation rec {
   name = "transmission-" + optionalString enableGTK3 "gtk-" + version;
-  version = "2.93";
+  version = "2.94";
 
   src = fetchurl {
-    url = "https://github.com/transmission/transmission-releases/raw/master/transmission-2.93.tar.xz";
-    sha256 = "8815920e0a4499bcdadbbe89a4115092dab42ce5199f71ff9a926cfd12b9b90b";
+    url = "https://github.com/transmission/transmission-releases/raw/master/transmission-2.94.tar.xz";
+    sha256 = "0zbbj7rlm6m7vb64x68a64cwmijhsrwx9l63hbwqs7zr9742qi1m";
   };
 
   nativeBuildInputs = [ pkgconfig ]
diff --git a/pkgs/applications/networking/p2p/tribler/default.nix b/pkgs/applications/networking/p2p/tribler/default.nix
index f6828fe6f31..aa42af5ccbd 100644
--- a/pkgs/applications/networking/p2p/tribler/default.nix
+++ b/pkgs/applications/networking/p2p/tribler/default.nix
@@ -2,13 +2,12 @@
 , enablePlayer ? true, vlc ? null, qt5 }:
 
 stdenv.mkDerivation rec {
-  pname = "tribler";
-  name = "${pname}-${version}";
-  version = "7.0.1";
+  name = "tribler-${version}";
+  version = "7.0.2";
 
   src = fetchurl {
     url = "https://github.com/Tribler/tribler/releases/download/v${version}/Tribler-v${version}.tar.xz";
-    sha256 = "0cqg6319x2lid5la5vdlj6lwja8g712196j39jzv5yiaq8d0zym4";
+    sha256 = "1p0d0l0sa0nrnbyx2gg50nklkljwvl581i9w3z5qbkfzc7jsdy42";
   };
 
   buildInputs = [
@@ -41,6 +40,7 @@ stdenv.mkDerivation rec {
     pythonPackages.service-identity
     pythonPackages.psutil
     pythonPackages.meliae
+    pythonPackages.sip
   ];
 
   postPatch = ''
diff --git a/pkgs/applications/networking/remote/citrix-receiver/default.nix b/pkgs/applications/networking/remote/citrix-receiver/default.nix
index 00332754c26..61dfb434070 100644
--- a/pkgs/applications/networking/remote/citrix-receiver/default.nix
+++ b/pkgs/applications/networking/remote/citrix-receiver/default.nix
@@ -15,7 +15,7 @@
 , cairo
 , pango
 , gnome3
-, xlibs
+, xorg
 , libpng12
 , freetype
 , fontconfig
@@ -23,7 +23,7 @@
 , alsaLib
 , libidn
 , zlib
-, version ? null
+, version ? "13.9.0"
 }:
 
 let
@@ -69,18 +69,40 @@ let
       x86hash   = "4c68723b0327cf6f12da824056fce2b7853c38e6163a48c9d222b93dd8da75b6";
       x64suffix = "10276927";
       x86suffix = "10276925";
-      homepage = https://www.citrix.com/downloads/citrix-receiver/legacy-receiver-for-linux/receiver-for-linux-137.html;
+      homepage  = https://www.citrix.com/downloads/citrix-receiver/legacy-receiver-for-linux/receiver-for-linux-137.html;
     };
 
     "13.8.0" = {
-      major = "13";
-      minor = "8";
-      patch = "0";
-      x64hash = "FDF5991CCD52B2B98289D7B2FB46D492D3E4032846D4AFA52CAA0F8AC0578931";
-      x86hash = "E0CFB43312BF79F753514B11F7B8DE4529823AE4C92D1B01E8A2C34F26AC57E7";
+      major     = "13";
+      minor     = "8";
+      patch     = "0";
+      x64hash   = "FDF5991CCD52B2B98289D7B2FB46D492D3E4032846D4AFA52CAA0F8AC0578931";
+      x86hash   = "E0CFB43312BF79F753514B11F7B8DE4529823AE4C92D1B01E8A2C34F26AC57E7";
       x64suffix = "10299729";
       x86suffix = "10299729";
-      homepage = https://www.citrix.com/downloads/citrix-receiver/linux/receiver-for-linux-latest.html;
+      homepage  = https://www.citrix.com/downloads/citrix-receiver/legacy-receiver-for-linux/receiver-for-linux-138.html;
+    };
+
+    "13.9.0" = {
+      major     = "13";
+      minor     = "9";
+      patch     = "0";
+      x64hash   = "00l18s7i9yky3ddabwljwsf7fx4cjgjn9hfd74j0x1v4gl078nl9";
+      x86hash   = "117fwynpxfnrw98933y8z8v2q4g6ycs1sngvpbki2qj09bjkwmag";
+      x64suffix = "102";
+      x86suffix = "102";
+      homepage  = https://www.citrix.com/downloads/citrix-receiver/linux/receiver-for-linux-latest.html; # This version has disappeared from Citrix's website... *sigh*
+    };
+
+    "13.9.1" = {
+      major     = "13";
+      minor     = "9";
+      patch     = "1";
+      x64hash   = "A9A9157CE8C287E8AA11447A0E3C3AB7C227330E9D8882C6F7B938A4DD5925BC";
+      x86hash   = "A93E9770FD10FDD3586A2D47448559EA037265717A7000B9BD2B1DCCE7B0A483";
+      x64suffix = "6";
+      x86suffix = "6";
+      homepage  = https://www.citrix.com/downloads/citrix-receiver/linux/receiver-for-linux-latest.html;
     };
   };
 
@@ -132,11 +154,11 @@ let
         cairo
         pango
         gnome3.dconf
-        xlibs.libX11
-        xlibs.libXext
-        xlibs.libXrender
-        xlibs.libXinerama
-        xlibs.libXfixes
+        xorg.libX11
+        xorg.libXext
+        xorg.libXrender
+        xorg.libXinerama
+        xorg.libXfixes
         libpng12
         libidn
         zlib
diff --git a/pkgs/applications/networking/remote/freerdp/default.nix b/pkgs/applications/networking/remote/freerdp/default.nix
index 59ae225210c..872d9b018ff 100644
--- a/pkgs/applications/networking/remote/freerdp/default.nix
+++ b/pkgs/applications/networking/remote/freerdp/default.nix
@@ -1,9 +1,9 @@
 { stdenv, lib, fetchFromGitHub, cmake, pkgconfig
-, alsaLib, ffmpeg_2, glib, openssl, pcre, zlib
+, alsaLib, ffmpeg, glib, openssl, pcre, zlib
 , libX11, libXcursor, libXdamage, libXext, libXi, libXinerama, libXrandr, libXrender, libXv
 , libxkbcommon, libxkbfile
 , wayland
-, gstreamer, gst-plugins-base, gst-plugins-good
+, gstreamer, gst-plugins-base, gst-plugins-good, libunwind, orc
 , libpulseaudio ? null
 , cups ? null
 , pcsclite ? null
@@ -14,13 +14,13 @@
 
 stdenv.mkDerivation rec {
   name = "freerdp-${version}";
-  version = "2.0.0-rc1";
+  version = "2.0.0-rc2";
 
   src = fetchFromGitHub {
     owner  = "FreeRDP";
     repo   = "FreeRDP";
     rev    = version;
-    sha256 = "0m28n3mq3ax0j6j3ai4pnlx3shg2ap0md0bxlqkhfv6civ9r11nn";
+    sha256 = "01cm9g4xqihnnc5d2w1zs8gabkv59p7fyjwi1cwpzv6s198xwbfs";
   };
 
   # outputs = [ "bin" "out" "dev" ];
@@ -35,8 +35,8 @@ stdenv.mkDerivation rec {
   '';
 
   buildInputs = with lib; [
-    alsaLib cups ffmpeg_2 glib openssl pcre pcsclite libpulseaudio zlib
-    gstreamer gst-plugins-base gst-plugins-good
+    alsaLib cups ffmpeg glib openssl pcre pcsclite libpulseaudio zlib
+    gstreamer gst-plugins-base gst-plugins-good libunwind orc
     libX11 libXcursor libXdamage libXext libXi libXinerama libXrandr libXrender libXv
     libxkbcommon libxkbfile
     wayland
diff --git a/pkgs/applications/networking/remote/teamviewer/default.nix b/pkgs/applications/networking/remote/teamviewer/default.nix
index 4ff649dbf2a..5365228ae65 100644
--- a/pkgs/applications/networking/remote/teamviewer/default.nix
+++ b/pkgs/applications/networking/remote/teamviewer/default.nix
@@ -1,28 +1,13 @@
-{ stdenv, lib, fetchurl, xdg_utils, pkgs, pkgsi686Linux }:
+{ stdenv, lib, fetchurl, autoPatchelfHook, makeWrapper, xdg_utils, dbus, qtbase, qtwebkit, qtx11extras, qtquickcontrols, glibc, libXrandr, libX11 }:
 
-let
-  ld32 =
-    if stdenv.system == "i686-linux" then "${stdenv.cc}/nix-support/dynamic-linker"
-    else if stdenv.system == "x86_64-linux" then "${stdenv.cc}/nix-support/dynamic-linker-m32"
-    else throw "Unsupported system ${stdenv.system}";
-  ld64 = "${stdenv.cc}/nix-support/dynamic-linker";
-
-  mkLdPath = ps: lib.makeLibraryPath (with ps; [ qt4 dbus alsaLib ]);
-
-  deps = ps: (with ps; [ dbus zlib alsaLib fontconfig freetype libpng12 libjpeg ]) ++ (with ps.xlibs; [ libX11 libXext libXdamage libXrandr libXrender libXfixes libSM libXtst libXinerama]);
-  tvldpath32 = lib.makeLibraryPath (with pkgsi686Linux; [ qt4 "$out/share/teamviewer/tv_bin/wine" ] ++ deps pkgsi686Linux);
-  tvldpath64 = lib.makeLibraryPath (deps pkgs);
-in
 
 stdenv.mkDerivation rec {
   name = "teamviewer-${version}";
-  version = "12.0.85001";
+  version = "13.1.3026";
 
   src = fetchurl {
-    # There is a 64-bit package, but it has no differences apart from Debian dependencies.
-    # Generic versioned packages (teamviewer_${version}_i386.tar.xz) are not available for some reason.
-    url = "https://dl.tvcdn.de/download/version_12x/teamviewer_${version}_i386.deb";
-    sha256 = "01vzky22gisjxa4ihaygkb7jwhl4z9ldd9lli8fc863nxxbrawks";
+    url = "https://dl.tvcdn.de/download/linux/version_13x/teamviewer_${version}_amd64.deb";
+    sha256 = "14zaa1xjdfmgbbq40is5mllqcd9zan03sblkzajswd5gps7crsik";
   };
 
   unpackPhase = ''
@@ -30,6 +15,10 @@ stdenv.mkDerivation rec {
     tar xf data.tar.*
   '';
 
+  nativeBuildInputs = [ autoPatchelfHook makeWrapper ];
+  buildInputs = [ dbus qtbase qtwebkit qtx11extras libX11 ];
+  propagatedBuildInputs = [ qtquickcontrols ];
+
   installPhase = ''
     mkdir -p $out/share/teamviewer $out/bin $out/share/applications
     cp -a opt/teamviewer/* $out/share/teamviewer
@@ -46,41 +35,23 @@ stdenv.mkDerivation rec {
     ln -s /var/log/teamviewer $out/share/teamviewer/logfiles
     ln -s ${xdg_utils}/bin $out/share/teamviewer/tv_bin/xdg-utils
 
-    pushd $out/share/teamviewer/tv_bin
-
-    sed -i "s,TV_LD32_PATH=.*,TV_LD32_PATH=$(cat ${ld32})," script/tvw_config
-    ${if stdenv.system == "x86_64-linux" then ''
-      sed -i "s,TV_LD64_PATH=.*,TV_LD64_PATH=$(cat ${ld64})," script/tvw_config
-    '' else ''
-      sed -i "/TV_LD64_PATH=.*/d" script/tvw_config
-    ''}
-
-    sed -i "s,/opt/teamviewer,$out/share/teamviewer,g" desktop/com.teamviewer.*.desktop
+    sed -i "s,/opt/teamviewer,$out/share/teamviewer,g" $out/share/teamviewer/tv_bin/desktop/com.teamviewer.*.desktop
 
-    for i in teamviewer-config teamviewerd TeamViewer_Desktop TVGuiDelegate TVGuiSlave.32 wine/bin/* RTlib/libQtCore.so.4; do
-      echo "patching $i"
-      patchelf --set-interpreter $(cat ${ld32}) --set-rpath $out/share/teamviewer/tv_bin/RTlib:${tvldpath32} $i || true
-    done
-    for i in resources/*.so wine/drive_c/TeamViewer/tvwine.dll.so wine/lib/*.so* wine/lib/wine/*.so RTlib/*.so* ;  do
-      echo "patching $i"
-      patchelf --set-rpath $out/share/teamviewer/tv_bin/RTlib:${tvldpath32} $i || true
-    done
-    ${if stdenv.system == "x86_64-linux" then ''
-      patchelf --set-interpreter $(cat ${ld64}) --set-rpath ${tvldpath64} TVGuiSlave.64
-    '' else ''
-      rm TVGuiSlave.64
-    ''}
-    popd
+    substituteInPlace $out/share/teamviewer/tv_bin/script/tvw_aux \
+      --replace '/lib64/ld-linux-x86-64.so.2' '${glibc.out}/lib/ld-linux-x86-64.so.2'
+    substituteInPlace $out/share/teamviewer/tv_bin/script/tvw_config \
+      --replace '/var/run/' '/run/'
+    wrapProgram $out/share/teamviewer/tv_bin/script/teamviewer --prefix LD_LIBRARY_PATH : "${stdenv.lib.makeLibraryPath [ libXrandr libX11 ]}"
+    wrapProgram $out/share/teamviewer/tv_bin/teamviewerd --prefix LD_LIBRARY_PATH : "${stdenv.lib.makeLibraryPath [ libXrandr libX11 ]}"
   '';
 
-  dontPatchELF = true;
   dontStrip = true;
 
   meta = with stdenv.lib; {
     homepage = http://www.teamviewer.com;
     license = licenses.unfree;
     description = "Desktop sharing application, providing remote support and online meetings";
-    platforms = [ "i686-linux" "x86_64-linux" ];
+    platforms = [ "x86_64-linux" ];
     maintainers = with maintainers; [ jagajaga dasuxullebt ];
   };
 }
diff --git a/pkgs/applications/networking/resilio-sync/default.nix b/pkgs/applications/networking/resilio-sync/default.nix
index 5e94106a48f..46de1d532dd 100644
--- a/pkgs/applications/networking/resilio-sync/default.nix
+++ b/pkgs/applications/networking/resilio-sync/default.nix
@@ -9,13 +9,13 @@ let
 
 in stdenv.mkDerivation rec {
   name = "resilio-sync-${version}";
-  version = "2.5.2";
+  version = "2.5.12";
 
   src = fetchurl {
     url = "https://download-cdn.resilio.com/${version}/linux-${arch}/resilio-sync_${arch}.tar.gz";
     sha256 = {
-      "x86_64-linux" = "15gji5zqs1py92bpwvvq0r1spl0yynbrsnh4ajphwq17bqys3192";
-      "i686-linux"   = "1y67bd63b95va7g2676rgp2clvcy09pnmivy00r2w46y7kwwwbj8";
+      "x86_64-linux" = "176gf5704wh22kqig8n0gg83048w71grw7h37k2qvxjaf4vypnc7";
+      "i686-linux"   = "15m2s2cqrkpb7ladbwimbs9agqb4ww9jr4gf0ifjwzm2grv5ffnh";
     }.${stdenv.system};
   };
 
diff --git a/pkgs/applications/networking/seafile-client/default.nix b/pkgs/applications/networking/seafile-client/default.nix
index e47a6ba6be3..279dc508225 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.1.5";
+  version = "6.1.8";
   name = "seafile-client-${version}";
 
   src = fetchFromGitHub {
     owner = "haiwen";
     repo = "seafile-client";
     rev = "v${version}";
-    sha256 = "1ahz55cw2p3s78x5f77drz4h2jhknfzpkk83qd0ggma31q1pnpl9";
+    sha256 = "0gy7jfxr5f8qvbqj80g7fzaw9b3vax750c4z5cr7f43rv99284pc";
   };
 
   nativeBuildInputs = [ pkgconfig cmake makeWrapper ];
@@ -32,6 +32,6 @@ stdenv.mkDerivation rec {
     description = "Desktop client for Seafile, the Next-generation Open Source Cloud Storage";
     license = licenses.asl20;
     platforms = platforms.linux;
-    maintainers = [ maintainers.calrama ];
+    maintainers = with maintainers; [ dotlambda ];
   };
 }
diff --git a/pkgs/applications/networking/sniffers/wireshark/default.nix b/pkgs/applications/networking/sniffers/wireshark/default.nix
index 424c1926f35..8c745a4aa3f 100644
--- a/pkgs/applications/networking/sniffers/wireshark/default.nix
+++ b/pkgs/applications/networking/sniffers/wireshark/default.nix
@@ -12,7 +12,7 @@ assert withQt  -> !withGtk && qt5  != null;
 with stdenv.lib;
 
 let
-  version = "2.4.5";
+  version = "2.4.6";
   variant = if withGtk then "gtk" else if withQt then "qt" else "cli";
 
 in stdenv.mkDerivation {
@@ -20,7 +20,7 @@ in stdenv.mkDerivation {
 
   src = fetchurl {
     url = "http://www.wireshark.org/download/src/all-versions/wireshark-${version}.tar.xz";
-    sha256 = "1mvgy67rvnwj2kbc43s4il81jvz5ai0bx2j3j2js7x50zclyrcmk";
+    sha256 = "1znmjg40pf81ks9lnm6ilx0cy32xan5g19gbqkkhj35whb95z5lf";
   };
 
   cmakeFlags = [
@@ -82,6 +82,11 @@ in stdenv.mkDerivation {
 
   enableParallelBuilding = true;
 
+  shellHook = ''
+    # to be able to run the resulting binary
+    export WIRESHARK_RUN_FROM_BUILD_DIRECTORY=1
+  '';
+
   meta = with stdenv.lib; {
     homepage = https://www.wireshark.org/;
     description = "Powerful network protocol analyzer";
diff --git a/pkgs/applications/networking/spideroak/default.nix b/pkgs/applications/networking/spideroak/default.nix
index d6fe0d9114c..c1f3d62af73 100644
--- a/pkgs/applications/networking/spideroak/default.nix
+++ b/pkgs/applications/networking/spideroak/default.nix
@@ -4,16 +4,16 @@
 }:
 
 let
-  arch = if stdenv.system == "x86_64-linux" then "x86_64"
-    else if stdenv.system == "i686-linux" then "i386"
+  arch = if stdenv.system == "x86_64-linux" then "x64"
+    else if stdenv.system == "i686-linux" then "x86"
     else throw "Spideroak client for: ${stdenv.system} not supported!";
 
   interpreter = if stdenv.system == "x86_64-linux" then "ld-linux-x86-64.so.2"
     else if stdenv.system == "i686-linux" then "ld-linux.so.2"
     else throw "Spideroak client for: ${stdenv.system} not supported!";
 
-  sha256 = if stdenv.system == "x86_64-linux" then "0k87rn4aj0v79rz9jvwspnwzmh031ih0y74ra88nc8kl8j6b6gjm"
-    else if stdenv.system == "i686-linux" then "1wbxfikj8f7rx26asswqrfp9vpk8w5941s21y1pnaff2gcac8m3z"
+  sha256 = if stdenv.system == "x86_64-linux" then "a88e5a8fe4a565ac500668bd53cf5784752d7c9253304ddce39ee7b01d078533"
+    else if stdenv.system == "i686-linux" then "668f3b83a974a3877d16c8743c233a427ea0a44ab84b7f9aec19a2995db66c16"
     else throw "Spideroak client for: ${stdenv.system} not supported!";
 
   ldpath = stdenv.lib.makeLibraryPath [
@@ -21,14 +21,14 @@ let
     libX11 libXext libXrender zlib
   ];
 
-  version = "6.1.9";
+  version = "7.1.0";
 
 in stdenv.mkDerivation {
   name = "spideroak-${version}";
 
   src = fetchurl {
-    name = "spideroak-${version}-${arch}";
-    url = "https://spideroak.com/getbuild?platform=slackware&arch=${arch}&version=${version}";
+    name = "SpiderOakONE-${version}-slack_tar_${arch}.tgz";
+    url = "https://spideroak.com/release/spideroak/slack_tar_${arch}";
     inherit sha256;
   };
 
diff --git a/pkgs/applications/networking/sync/backintime/common.nix b/pkgs/applications/networking/sync/backintime/common.nix
index ccd08e2844e..fae838a7d5f 100644
--- a/pkgs/applications/networking/sync/backintime/common.nix
+++ b/pkgs/applications/networking/sync/backintime/common.nix
@@ -3,7 +3,7 @@
 let
   inherit (python3Packages) python dbus-python keyring;
 in stdenv.mkDerivation rec {
-  version = "1.1.12";
+  version = "1.1.24";
 
   name = "backintime-common-${version}";
 
@@ -11,7 +11,7 @@ in stdenv.mkDerivation rec {
     owner = "bit-team";
     repo = "backintime";
     rev = "v${version}";
-    sha256 = "0n3x48wa8aa7i8fff85h3b5h3xpabk51ld0ymy3pkqh0krfgs59a";
+    sha256 = "0g6gabnr60ns8854hijdddbanks7319q4n3fj5l6rc4xsq0qck18";
   };
 
   buildInputs = [ makeWrapper gettext python dbus-python keyring openssh cron rsync sshfs-fuse encfs ];
diff --git a/pkgs/applications/networking/sync/backintime/qt4.nix b/pkgs/applications/networking/sync/backintime/qt4.nix
index ef8f0282749..b8f388c63eb 100644
--- a/pkgs/applications/networking/sync/backintime/qt4.nix
+++ b/pkgs/applications/networking/sync/backintime/qt4.nix
@@ -1,7 +1,7 @@
 {stdenv, fetchurl, makeWrapper, gettext, pkgconfig, libtool, backintime-common, python3, python3Packages }:
 
 stdenv.mkDerivation rec {
-  inherit (backintime-common) version src installFlags meta;
+  inherit (backintime-common) version src installFlags;
 
   name = "backintime-qt4-${version}";
 
@@ -22,4 +22,7 @@ stdenv.mkDerivation rec {
         --prefix PATH : "${backintime-common}/bin:$PATH"
     '';
 
+  meta = with stdenv.lib; {
+    broken = true;
+  };
 }
diff --git a/pkgs/applications/networking/sync/rclone/default.nix b/pkgs/applications/networking/sync/rclone/default.nix
index 71df7a0fb1e..405ff2fde73 100644
--- a/pkgs/applications/networking/sync/rclone/default.nix
+++ b/pkgs/applications/networking/sync/rclone/default.nix
@@ -2,7 +2,7 @@
 
 buildGoPackage rec {
   name = "rclone-${version}";
-  version = "1.39";
+  version = "1.41";
 
   goPackagePath = "github.com/ncw/rclone";
 
@@ -10,7 +10,7 @@ buildGoPackage rec {
     owner = "ncw";
     repo = "rclone";
     rev = "v${version}";
-    sha256 = "1x9qxhqkbyd7kd52ai9p996ppslh73xarn5w4ljaa97wwm5vwwsg";
+    sha256 = "0kvqzrj7kbr9mhg023lkvk320qhkf4widcv6yph1cx701935brhr";
   };
 
   outputs = [ "bin" "out" "man" ];
diff --git a/pkgs/applications/networking/syncplay/default.nix b/pkgs/applications/networking/syncplay/default.nix
index 80ad1a43332..4eecf7f4a1f 100644
--- a/pkgs/applications/networking/syncplay/default.nix
+++ b/pkgs/applications/networking/syncplay/default.nix
@@ -2,13 +2,13 @@
 
 python2Packages.buildPythonApplication rec {
   name = "syncplay-${version}";
-  version = "1.5.0";
+  version = "1.5.3";
 
   format = "other";
 
   src = fetchurl {
-    url = https://github.com/Syncplay/syncplay/archive/v1.5.0.tar.gz;
-    sha256 = "762e6318588e14aa02b1340baa18510e7de87771c62ca5b44d985b6d1289964d";
+    url = https://github.com/Syncplay/syncplay/archive/v1.5.3.tar.gz;
+    sha256 = "1yk0aajskhk6czpjshf9a9pzp3rafh5cgdcyyz8pwpk4ca9zyzfv";
   };
 
   propagatedBuildInputs = with python2Packages; [ pyside twisted ];
diff --git a/pkgs/applications/networking/syncthing-gtk/default.nix b/pkgs/applications/networking/syncthing-gtk/default.nix
index 5e48f85852d..4db546651dd 100644
--- a/pkgs/applications/networking/syncthing-gtk/default.nix
+++ b/pkgs/applications/networking/syncthing-gtk/default.nix
@@ -1,14 +1,14 @@
-{ stdenv, fetchFromGitHub, libnotify, librsvg, psmisc, gtk3, substituteAll, syncthing, wrapGAppsHook, gnome3, buildPythonApplication, dateutil, pyinotify, pygobject3, bcrypt, gobjectIntrospection }:
+{ stdenv, fetchFromGitHub, libnotify, librsvg, darwin, psmisc, gtk3, libappindicator-gtk3, substituteAll, syncthing, wrapGAppsHook, gnome3, buildPythonApplication, dateutil, pyinotify, pygobject3, bcrypt, gobjectIntrospection }:
 
 buildPythonApplication rec {
-  version = "0.9.2.7";
+  version = "0.9.3.1";
   name = "syncthing-gtk-${version}";
 
   src = fetchFromGitHub {
     owner = "syncthing";
     repo = "syncthing-gtk";
     rev = "v${version}";
-    sha256 = "08k7vkibia85klwjxbnzk67h4pphrizka5v9zxwvvv3cisjiclc2";
+    sha256 = "15bh9i0j0g7hrqsz22px8g2bg0xj4lsn81rziznh9fxxx5b9v9bb";
   };
 
   nativeBuildInputs = [
@@ -18,8 +18,8 @@ buildPythonApplication rec {
   ];
 
   buildInputs = [
-    gtk3 (librsvg.override { enableIntrospection = true; })
-    libnotify
+    gtk3 librsvg libappindicator-gtk3
+    libnotify gnome3.adwaita-icon-theme
     # Schemas with proxy configuration
     gnome3.gsettings-desktop-schemas
   ];
@@ -32,7 +32,7 @@ buildPythonApplication rec {
     ./disable-syncthing-binary-configuration.patch
     (substituteAll {
       src = ./paths.patch;
-      killall = "${psmisc}/bin/killall";
+      killall = "${if stdenv.isDarwin then darwin.shell_cmds else psmisc}/bin/killall";
       syncthing = "${syncthing}/bin/syncthing";
     })
   ];
diff --git a/pkgs/applications/networking/syncthing-gtk/disable-syncthing-binary-configuration.patch b/pkgs/applications/networking/syncthing-gtk/disable-syncthing-binary-configuration.patch
index 6c516e98acb..14c2b62e6e3 100644
--- a/pkgs/applications/networking/syncthing-gtk/disable-syncthing-binary-configuration.patch
+++ b/pkgs/applications/networking/syncthing-gtk/disable-syncthing-binary-configuration.patch
@@ -1,5 +1,5 @@
---- a/find-daemon.glade
-+++ b/find-daemon.glade
+--- a/glade/find-daemon.glade
++++ b/glade/find-daemon.glade
 @@ -112,6 +112,7 @@
                    <object class="GtkEntry" id="vsyncthing_binary">
                      <property name="visible">True</property>
@@ -16,6 +16,24 @@
                      <property name="receives_default">True</property>
                      <property name="use_underline">True</property>
                      <property name="yalign">0.51999998092651367</property>
+--- a/glade/ui-settings.glade
++++ b/glade/ui-settings.glade
+@@ -943,6 +943,7 @@
+                     <property name="label" translatable="yes">_Browse...</property>
+                     <property name="visible">True</property>
+                     <property name="can_focus">True</property>
++                    <property name="sensitive">False</property>
+                     <property name="receives_default">True</property>
+                     <property name="use_underline">True</property>
+                     <property name="yalign">0.51999998092651367</property>
+@@ -974,6 +975,7 @@
+                   <object class="GtkEntry" id="vsyncthing_binary">
+                     <property name="visible">True</property>
+                     <property name="can_focus">True</property>
++                    <property name="sensitive">False</property>
+                     <property name="hexpand">True</property>
+                     <signal name="changed" handler="cb_check_value" swapped="no"/>
+                   </object>
 --- a/syncthing_gtk/configuration.py
 +++ b/syncthing_gtk/configuration.py
 @@ -168,6 +168,8 @@
@@ -57,21 +75,3 @@
  		self.add_page(GenerateKeysPage())
  		self.add_page(HttpSettingsPage())
  		self.add_page(SaveSettingsPage())
---- a/ui-settings.glade
-+++ b/ui-settings.glade
-@@ -943,6 +943,7 @@
-                     <property name="label" translatable="yes">_Browse...</property>
-                     <property name="visible">True</property>
-                     <property name="can_focus">True</property>
-+                    <property name="sensitive">False</property>
-                     <property name="receives_default">True</property>
-                     <property name="use_underline">True</property>
-                     <property name="yalign">0.51999998092651367</property>
-@@ -974,6 +975,7 @@
-                   <object class="GtkEntry" id="vsyncthing_binary">
-                     <property name="visible">True</property>
-                     <property name="can_focus">True</property>
-+                    <property name="sensitive">False</property>
-                     <property name="hexpand">True</property>
-                     <signal name="changed" handler="cb_check_value" swapped="no"/>
-                   </object>
diff --git a/pkgs/applications/networking/syncthing/default.nix b/pkgs/applications/networking/syncthing/default.nix
index 64c0b31a2a4..e1a2cf8d171 100644
--- a/pkgs/applications/networking/syncthing/default.nix
+++ b/pkgs/applications/networking/syncthing/default.nix
@@ -3,14 +3,14 @@
 let
   common = { stname, target, patches ? [], postInstall ? "" }:
     stdenv.mkDerivation rec {
-      version = "0.14.44";
+      version = "0.14.47";
       name = "${stname}-${version}";
 
       src = fetchFromGitHub {
         owner  = "syncthing";
         repo   = "syncthing";
         rev    = "v${version}";
-        sha256 = "1gdkx6lbzmdz2hqc9slbq41rwgkxmdisnj0iywx4mppmc2b4v6wh";
+        sha256 = "1md835c13f3c9bknnm6pxn0r8k8g2wg56zfav96bpnpk4aqx41bh";
       };
 
       inherit patches;
diff --git a/pkgs/applications/networking/testssl/default.nix b/pkgs/applications/networking/testssl/default.nix
index 8ac2f7b0a3b..5a548d5ff65 100644
--- a/pkgs/applications/networking/testssl/default.nix
+++ b/pkgs/applications/networking/testssl/default.nix
@@ -1,9 +1,8 @@
-{ stdenv, fetchFromGitHub, pkgs }:
+{ stdenv, fetchFromGitHub, makeWrapper, lib
+, dnsutils, coreutils, openssl, nettools, utillinux, procps }:
 
 let
-  version = "2.9.5-2";
-  pwdBinPath = "${stdenv.lib.makeBinPath (with pkgs; [ coreutils ])}/pwd";
-  opensslBinPath = "${stdenv.lib.makeBinPath (with pkgs; [ openssl ])}/openssl";
+  version = "2.9.5-5";
 
 in stdenv.mkDerivation rec {
   name = "testssl.sh-${version}";
@@ -12,26 +11,32 @@ in stdenv.mkDerivation rec {
     owner = "drwetter";
     repo = "testssl.sh";
     rev = "v${version}";
-    sha256 = "0nrzb2lhjq0s4dabyq8nldjijsld9gq4cxm8ys1cw5jyz1875g2w";
+    sha256 = "0zgj9vhd8fv3a1cn8dxqmjd8qmgryc867gq7zbvbr41lkqc06a1r";
   };
 
-  nativeBuildInputs = with pkgs; [
-    makeWrapper
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [
+    coreutils # for pwd and printf
+    dnsutils  # for dig
+    nettools  # for hostname
+    openssl   # for openssl
+    procps    # for ps
+    utillinux # for hexdump
   ];
 
-  patches = [ ./testssl.patch ];
-
   postPatch = ''
-    sed -i -e "s|/bin/pwd|${pwdBinPath}|g"                                     \
-           -e "s|TESTSSL_INSTALL_DIR:-\"\"|TESTSSL_INSTALL_DIR:-\"$out\"|g"    \
-           -e "s|OPENSSL:-\"\"|OPENSSL:-\"${opensslBinPath}\"|g" \
-           testssl.sh
+    substituteInPlace testssl.sh                                               \
+      --replace /bin/pwd                    pwd                                \
+      --replace TESTSSL_INSTALL_DIR:-\"\"   TESTSSL_INSTALL_DIR:-\"$out\"
   '';
 
   installPhase = ''
-    mkdir -p $out/bin $out/etc
-    cp -r etc/ $out/
-    cp testssl.sh $out/bin/testssl.sh
+    install -Dt $out/bin testssl.sh
+
+    wrapProgram $out/bin/testssl.sh                                            \
+      --prefix PATH ':' ${lib.makeBinPath buildInputs}
+
+    cp -r etc $out
   '';
 
   meta = with stdenv.lib; {
@@ -42,6 +47,6 @@ in stdenv.mkDerivation rec {
     '';
     homepage = https://testssl.sh/;
     license = licenses.gpl2;
-    maintainers = [ maintainers.etu ];
+    maintainers = with maintainers; [ etu ];
   };
 }
diff --git a/pkgs/applications/networking/testssl/testssl.patch b/pkgs/applications/networking/testssl/testssl.patch
deleted file mode 100644
index d5269c73708..00000000000
--- a/pkgs/applications/networking/testssl/testssl.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- testssl/testssl.sh	2017-09-24 16:53:29.395263437 +0200
-+++ testssl-new/testssl.sh	2017-09-24 16:53:41.221154492 +0200
-@@ -165,6 +165,7 @@
- # following variables make use of $ENV, e.g. OPENSSL=<myprivate_path_to_openssl> ./testssl.sh <host>
- # 0 means (normally) true here. Some of the variables are also accessible with a command line switch, see --help
- declare -x OPENSSL OPENSSL_TIMEOUT
-+OPENSSL=${OPENSSL:-""}
- FAST_SOCKET=${FAST_SOCKET:-false}       # EXPERIMENTAL feature to accelerate sockets -- DO NOT USE it for production
- COLOR=${COLOR:-2}                       # 2: Full color, 1: b/w+positioning, 0: no ESC at all
- COLORBLIND=${COLORBLIND:-false}         # if true, swap blue and green in the output
diff --git a/pkgs/applications/networking/vnstat/default.nix b/pkgs/applications/networking/vnstat/default.nix
index 7c059b6f9fd..e38ba36b925 100644
--- a/pkgs/applications/networking/vnstat/default.nix
+++ b/pkgs/applications/networking/vnstat/default.nix
@@ -2,10 +2,10 @@
 
 stdenv.mkDerivation rec {
   name = "vnstat-${version}";
-  version = "1.17";
+  version = "1.18";
 
   src = fetchurl {
-    sha256 = "0wbrmb4zapblb3b61180ryqy6i0c7gcacqz0y3r1x7nafqswbr0q";
+    sha256 = "1mc7qqvrnl0zyhgh8n7wx1g1cbwq74xpvbz8rfjmyi77p693a6fp";
     url = "http://humdi.net/vnstat/${name}.tar.gz";
   };
 
diff --git a/pkgs/applications/networking/znc/default.nix b/pkgs/applications/networking/znc/default.nix
index 88d1ae7fae1..d1b333587a6 100644
--- a/pkgs/applications/networking/znc/default.nix
+++ b/pkgs/applications/networking/znc/default.nix
@@ -9,11 +9,11 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   name = "znc-${version}";
-  version = "1.6.5";
+  version = "1.7.0";
 
   src = fetchurl {
     url = "http://znc.in/releases/archive/${name}.tar.gz";
-    sha256 = "1jia6kq6bp8yxfj02d5vj9vqb4pylqcldspyjj6iz82kkka2a0ig";
+    sha256 = "0vxra50418bsjfdpf8vl70fijv8syvasjqdxfyjliff6k91k2zn0";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/applications/office/abiword/default.nix b/pkgs/applications/office/abiword/default.nix
index ea503b8df9b..8dd127715ae 100644
--- a/pkgs/applications/office/abiword/default.nix
+++ b/pkgs/applications/office/abiword/default.nix
@@ -1,6 +1,6 @@
-{ stdenv, fetchurl, pkgconfig, gtk3, libglade, libgnomecanvas, fribidi
+{ stdenv, fetchurl, pkgconfig, gtk3, fribidi
 , libpng, popt, libgsf, enchant, wv, librsvg, bzip2, libjpeg, perl
-, boost, libxslt, goffice, makeWrapper, iconTheme
+, boost, libxslt, goffice, wrapGAppsHook, iconTheme
 }:
 
 stdenv.mkDerivation rec {
@@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
   version = "3.0.2";
 
   src = fetchurl {
-    url = "http://www.abisource.com/downloads/abiword/${version}/source/${name}.tar.gz";
+    url = "https://www.abisource.com/downloads/abiword/${version}/source/${name}.tar.gz";
     sha256 = "08imry821g81apdwym3gcs4nss0l9j5blqk31j5rv602zmcd9gxg";
   };
 
@@ -22,19 +22,16 @@ stdenv.mkDerivation rec {
     })
   ];
 
-  buildInputs =
-    [ pkgconfig gtk3 libglade librsvg bzip2 libgnomecanvas fribidi libpng popt
-      libgsf enchant wv libjpeg perl boost libxslt goffice makeWrapper iconTheme
-    ];
+  nativeBuildInputs = [ pkgconfig wrapGAppsHook ];
 
-  postFixup = ''
-    wrapProgram "$out/bin/abiword" \
-      --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
-  '';
+  buildInputs = [
+    gtk3 librsvg bzip2 fribidi libpng popt
+    libgsf enchant wv libjpeg perl boost libxslt goffice iconTheme
+  ];
 
   meta = with stdenv.lib; {
     description = "Word processing program, similar to Microsoft Word";
-    homepage = http://www.abisource.com/;
+    homepage = https://www.abisource.com/;
     license = licenses.gpl3;
     platforms = platforms.linux;
     maintainers = with maintainers; [ pSub ylwghst ];
diff --git a/pkgs/applications/office/atlassian-cli/default.nix b/pkgs/applications/office/atlassian-cli/default.nix
new file mode 100644
index 00000000000..a56c15bffb2
--- /dev/null
+++ b/pkgs/applications/office/atlassian-cli/default.nix
@@ -0,0 +1,31 @@
+{ stdenv, fetchzip, jre }:
+stdenv.mkDerivation {
+  name = "atlassian-cli";
+  version = "7.8.0";
+  src = fetchzip {
+    url            = https://bobswift.atlassian.net/wiki/download/attachments/16285777/atlassian-cli-7.8.0-distribution.zip;
+    sha256         = "111s4d9m6vxq8jwh1d6ar1f4n5zmyjg7gi2vl3aq63kxbfld9vw7";
+    extraPostFetch = "chmod go-w $out";
+  };
+  tools = [ "agile" "bamboo" "bitbucket" "confluence" "csv"
+    "hipchat" "jira" "servicedesk" "structure" "tempo" "trello" "upm" ];
+  installPhase = ''
+    mkdir -p $out/{bin,share/doc/atlassian-cli}
+    cp -r lib $out/share/java
+    cp -r README.txt license $out/share/doc/atlassian-cli
+    for tool in $tools
+    do
+      substitute ${./wrapper.sh} $out/bin/$tool \
+        --subst-var out \
+        --subst-var-by jre ${jre} \
+        --subst-var-by tool $tool
+      chmod +x $out/bin/$tool
+    done
+  '';
+  meta = with stdenv.lib; {
+    description = "An integrated family of CLI’s for various Atlassian applications";
+    homepage    = https://bobswift.atlassian.net/wiki/spaces/ACLI/overview;
+    maintainers = [ maintainers.twey ];
+    license     = [ licenses.unfreeRedistributable ];
+  };
+}
diff --git a/pkgs/applications/office/atlassian-cli/wrapper.sh b/pkgs/applications/office/atlassian-cli/wrapper.sh
new file mode 100755
index 00000000000..80b60dbc468
--- /dev/null
+++ b/pkgs/applications/office/atlassian-cli/wrapper.sh
@@ -0,0 +1,20 @@
+#!/bin/bash
+
+tool=@tool@
+user=ATLASSIAN_${tool^^}_USER
+host=ATLASSIAN_${tool^^}_HOST
+pass=ATLASSIAN_${tool^^}_PASS
+
+[ -f ~/.atlassian-cli ] && source ~/.atlassian-cli
+if [ x = ${!user-x} ] || [ x = ${!host-x} ] || [ x = ${!pass-x} ]
+then
+    >&2 echo please define $user, $host, and $pass in '~/.atlassian-cli'
+    exit 1
+fi
+
+@jre@/bin/java \
+    -jar @out@/share/java/@tool@-cli-* \
+    --server "${!host}" \
+    --user "${!user}" \
+    --password "${!pass}" \
+    "$@"
diff --git a/pkgs/applications/office/beancount/bean-add.nix b/pkgs/applications/office/beancount/bean-add.nix
index 9eec315217c..cfd7a4eda20 100644
--- a/pkgs/applications/office/beancount/bean-add.nix
+++ b/pkgs/applications/office/beancount/bean-add.nix
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
     # The (only) source file states:
     #   License: "Do what you feel is right, but don't be a jerk" public license.
 
-    maintainers = with stdenv.lib.maintainers; [ matthiasbeyer ];
+    maintainers = with stdenv.lib.maintainers; [ ];
   };
 }
 
diff --git a/pkgs/applications/office/calligra/default.nix b/pkgs/applications/office/calligra/default.nix
index 8449cdf05de..01014e6687c 100644
--- a/pkgs/applications/office/calligra/default.nix
+++ b/pkgs/applications/office/calligra/default.nix
@@ -15,24 +15,16 @@
 
 mkDerivation rec {
   pname = "calligra";
-  version = "3.0.1";
+  version = "3.1.0";
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://kde/stable/${pname}/${version}/${name}.tar.xz";
-    sha256 = "1cjdd7sx1zhas6lhw0dzhrnki790jkf93f88wn6z9yrww32dsas5";
+    sha256 = "0w782k0hprpb6viixnqz34sp0z5csv3prdby46z22qqkcipcs638";
   };
 
   enableParallelBuilding = true;
 
-  patches = [
-    (fetchpatch {
-      name = "calligra-build-with-newer-kcalcore.patch";
-      url = "https://github.com/KDE/calligra/commit/9a02a545e8606aa91aff2038da137226a9432e1a.diff";
-      sha256 = "08xays41v6rfnc31vixf4vbz8zmi2x5lfnk7f82bm4sgmpgfxwa0";
-    })
-  ];
-
   nativeBuildInputs = [ extra-cmake-modules kdoctools makeWrapper ];
 
   buildInputs = [
diff --git a/pkgs/applications/office/cb2bib/default.nix b/pkgs/applications/office/cb2bib/default.nix
index 1004733a18b..813608a386a 100644
--- a/pkgs/applications/office/cb2bib/default.nix
+++ b/pkgs/applications/office/cb2bib/default.nix
@@ -3,10 +3,10 @@
 stdenv.mkDerivation rec {
   name = pname + "-" + version;
   pname = "cb2bib";
-  version = "1.9.2";
+  version = "1.9.7";
   src = fetchurl {
     url = "http://www.molspaces.com/dl/progs/${name}.tar.gz";
-    sha256 = "0yz79v023w1229wzck3gij0iqah1xg8rg4a352q8idvg7bdmyfin";
+    sha256 = "0gr8vmlz1ikw0jiwwac2ays20z26cdv3bjdx9m1nc450hl6m5s7s";
   };
   buildInputs = [ qtbase qtwebkit qtx11extras lzo libX11 ];
   nativeBuildInputs = [ qmake ];
diff --git a/pkgs/applications/office/fava/default.nix b/pkgs/applications/office/fava/default.nix
index fdbf9183d75..9c8f39d52f1 100644
--- a/pkgs/applications/office/fava/default.nix
+++ b/pkgs/applications/office/fava/default.nix
@@ -5,12 +5,12 @@ let
 in
 buildPythonApplication rec {
   pname = "fava";
-  version = "1.6";
+  version = "1.7";
   name = "${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0iif4imx76ra0lsisksrq5vf54wbivnrb3xqz6mkx9lik3pp5sbx";
+    sha256 = "c4eba4203bddaa7bc9d54971d2afeeebab0bc80ce89be1375a41a07c4e82b62f";
   };
 
   doCheck = false;
@@ -23,7 +23,7 @@ buildPythonApplication rec {
     homepage = https://beancount.github.io/fava;
     description = "Web interface for beancount";
     license = stdenv.lib.licenses.mit;
-    maintainers = with stdenv.lib.maintainers; [ matthiasbeyer ];
+    maintainers = with stdenv.lib.maintainers; [ ];
   };
 }
 
diff --git a/pkgs/applications/office/gnucash/2.4.nix b/pkgs/applications/office/gnucash/2.4.nix
new file mode 100644
index 00000000000..252c6d878d0
--- /dev/null
+++ b/pkgs/applications/office/gnucash/2.4.nix
@@ -0,0 +1,85 @@
+{ fetchurl, stdenv, pkgconfig, libxml2, gconf, glib, gtk2, libgnomeui, libofx
+, libgtkhtml, gtkhtml, libgnomeprint, goffice, enchant, gettext, libbonoboui
+, intltool, perl, guile, slibGuile, swig, isocodes, bzip2, makeWrapper, libglade
+, libgsf, libart_lgpl, perlPackages, aqbanking, gwenhywfar
+}:
+
+/* If you experience GConf errors when running GnuCash on NixOS, see
+ * http://wiki.nixos.org/wiki/Solve_GConf_errors_when_running_GNOME_applications
+ * for a possible solution.
+ */
+
+stdenv.mkDerivation rec {
+  name = "gnucash-2.4.15";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/gnucash/${name}.tar.bz2";
+    sha256 = "058mgfwic6a2g7jq6iip5hv45md1qaxy25dj4lvlzjjr141wm4gx";
+  };
+
+  nativeBuildInputs = [ pkgconfig ];
+  buildInputs = [
+    libxml2 gconf glib gtk2 libgnomeui libgtkhtml gtkhtml
+    libgnomeprint goffice enchant gettext intltool perl guile slibGuile
+    swig isocodes bzip2 makeWrapper libofx libglade libgsf libart_lgpl
+    perlPackages.DateManip perlPackages.FinanceQuote aqbanking gwenhywfar
+  ];
+  propagatedUserEnvPkgs = [ gconf ];
+
+  configureFlags = "CFLAGS=-O3 CXXFLAGS=-O3 --disable-dbi --enable-ofx --enable-aqbanking";
+
+  postInstall = ''
+    # Auto-updaters don't make sense in Nix.
+    rm $out/bin/gnc-fq-update
+
+    sed -i $out/bin/update-gnucash-gconf \
+       -e 's|--config-source=[^ ]* --install-schema-file|--makefile-install-rule|'
+
+    for prog in $(echo "$out/bin/"*)
+    do
+      # Don't wrap the gnc-fq-* scripts, since gnucash calls them as
+      # "perl <script>', i.e. they must be Perl scripts.
+      if [[ $prog =~ gnc-fq ]]; then continue; fi
+      wrapProgram "$prog"                                               \
+        --set SCHEME_LIBRARY_PATH "$SCHEME_LIBRARY_PATH"                \
+        --prefix GUILE_LOAD_PATH ":" "$GUILE_LOAD_PATH"                 \
+        --prefix LD_LIBRARY_PATH ":" "${libgnomeui}/lib/libglade/2.0"   \
+        --prefix LD_LIBRARY_PATH ":" "${libbonoboui}/lib/libglade/2.0"  \
+        --prefix PERL5LIB ":" "$PERL5LIB"                               \
+        --set GCONF_CONFIG_SOURCE 'xml::~/.gconf'                       \
+        --prefix PATH ":" "$out/bin:${stdenv.lib.makeBinPath [ perl gconf ]}"
+    done
+
+    rm $out/share/icons/hicolor/icon-theme.cache
+  '';
+
+  # The following settings fix failures in the test suite. It's not required otherwise.
+  NIX_LDFLAGS = "-rpath=${guile}/lib -rpath=${glib.out}/lib";
+  preCheck = "export GNC_DOT_DIR=$PWD/dot-gnucash";
+
+  doCheck = false;      # https://github.com/NixOS/nixpkgs/issues/11084
+
+  enableParallelBuilding = true;
+
+  meta = {
+    description = "Personal and small-business financial-accounting application";
+
+    longDescription = ''
+      GnuCash is personal and small-business financial-accounting software,
+      freely licensed under the GNU GPL and available for GNU/Linux, BSD,
+      Solaris, macOS and Microsoft Windows.
+
+      Designed to be easy to use, yet powerful and flexible, GnuCash allows
+      you to track bank accounts, stocks, income and expenses.  As quick and
+      intuitive to use as a checkbook register, it is based on professional
+      accounting principles to ensure balanced books and accurate reports.
+    '';
+
+    license = stdenv.lib.licenses.gpl2Plus;
+
+    homepage = http://www.gnucash.org/;
+
+    maintainers = [ stdenv.lib.maintainers.peti stdenv.lib.maintainers.domenkozar ];
+    platforms = stdenv.lib.platforms.gnu ++ stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/applications/office/gnucash/2.6.nix b/pkgs/applications/office/gnucash/2.6.nix
index c768f4c7fa3..4d85374ee9a 100644
--- a/pkgs/applications/office/gnucash/2.6.nix
+++ b/pkgs/applications/office/gnucash/2.6.nix
@@ -113,6 +113,6 @@ stdenv.mkDerivation rec {
     homepage = http://www.gnucash.org/;
 
     maintainers = [ stdenv.lib.maintainers.peti stdenv.lib.maintainers.domenkozar ];
-    platforms = stdenv.lib.platforms.gnu;
+    platforms = stdenv.lib.platforms.gnu ++ stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/applications/office/gnucash/default.nix b/pkgs/applications/office/gnucash/default.nix
index d17cd2a7ab7..d12b1327e8f 100644
--- a/pkgs/applications/office/gnucash/default.nix
+++ b/pkgs/applications/office/gnucash/default.nix
@@ -1,63 +1,81 @@
-{ fetchurl, stdenv, pkgconfig, libxml2, gconf, glib, gtk2, libgnomeui, libofx
-, libgtkhtml, gtkhtml, libgnomeprint, goffice, enchant, gettext, libbonoboui
-, intltool, perl, guile, slibGuile, swig, isocodes, bzip2, makeWrapper, libglade
-, libgsf, libart_lgpl, perlPackages, aqbanking, gwenhywfar
+{ fetchurl, stdenv, pkgconfig, makeWrapper, cmake, gtest
+, boost, icu, libxml2, libxslt, gettext, swig, isocodes, gtk3, glibcLocales
+, webkit, dconf, hicolor-icon-theme, libofx, aqbanking, gwenhywfar, libdbi
+, libdbiDrivers, guile, perl, perlPackages
 }:
 
-/* If you experience GConf errors when running GnuCash on NixOS, see
- * http://wiki.nixos.org/wiki/Solve_GConf_errors_when_running_GNOME_applications
- * for a possible solution.
- */
+let
+
+  # Enable gnc-fq-* to run in command line.
+  perlWrapper = stdenv.mkDerivation {
+    name = perl.name + "-wrapper-for-gnucash";
+    nativeBuildInputs = [ makeWrapper ];
+    buildInputs = [ perl ] ++ (with perlPackages; [ FinanceQuote DateManip ]);
+    phases = [ "installPhase" ];
+    installPhase = ''
+      mkdir -p $out/bin
+      for script in ${perl}/bin/*; do
+        makeWrapper $script $out''${script#${perl}} \
+          --prefix "PERL5LIB" ":" "$PERL5LIB"
+      done
+    '';
+  };
+
+in
 
 stdenv.mkDerivation rec {
-  name = "gnucash-2.4.15";
+  name = "gnucash-${version}";
+  version = "3.1-1";
 
   src = fetchurl {
     url = "mirror://sourceforge/gnucash/${name}.tar.bz2";
-    sha256 = "058mgfwic6a2g7jq6iip5hv45md1qaxy25dj4lvlzjjr141wm4gx";
+    sha256 = "0qfjpmr6hnr0v7l2fi00rilnlyan4kqiyygyidxlpdxqqg76dvx1";
   };
 
-  nativeBuildInputs = [ pkgconfig ];
+  nativeBuildInputs = [ pkgconfig makeWrapper cmake gtest ];
+
   buildInputs = [
-    libxml2 gconf glib gtk2 libgnomeui libgtkhtml gtkhtml
-    libgnomeprint goffice enchant gettext intltool perl guile slibGuile
-    swig isocodes bzip2 makeWrapper libofx libglade libgsf libart_lgpl
-    perlPackages.DateManip perlPackages.FinanceQuote aqbanking gwenhywfar
+    boost icu libxml2 libxslt gettext swig isocodes gtk3 glibcLocales
+    webkit dconf hicolor-icon-theme libofx aqbanking gwenhywfar libdbi
+    libdbiDrivers guile perlWrapper
   ];
-  propagatedUserEnvPkgs = [ gconf ];
 
-  configureFlags = "CFLAGS=-O3 CXXFLAGS=-O3 --disable-dbi --enable-ofx --enable-aqbanking";
+  propagatedUserEnvPkgs = [ dconf ];
+
+  postPatch = ''
+    patchShebangs .
+  '';
+
+  makeFlags = [ "GUILE_AUTO_COMPILE=0" ];
 
   postInstall = ''
     # Auto-updaters don't make sense in Nix.
     rm $out/bin/gnc-fq-update
 
-    sed -i $out/bin/update-gnucash-gconf \
-       -e 's|--config-source=[^ ]* --install-schema-file|--makefile-install-rule|'
-
-    for prog in $(echo "$out/bin/"*)
-    do
-      # Don't wrap the gnc-fq-* scripts, since gnucash calls them as
-      # "perl <script>', i.e. they must be Perl scripts.
-      if [[ $prog =~ gnc-fq ]]; then continue; fi
-      wrapProgram "$prog"                                               \
-        --set SCHEME_LIBRARY_PATH "$SCHEME_LIBRARY_PATH"                \
-        --prefix GUILE_LOAD_PATH ":" "$GUILE_LOAD_PATH"                 \
-        --prefix LD_LIBRARY_PATH ":" "${libgnomeui}/lib/libglade/2.0"   \
-        --prefix LD_LIBRARY_PATH ":" "${libbonoboui}/lib/libglade/2.0"  \
-        --prefix PERL5LIB ":" "$PERL5LIB"                               \
-        --set GCONF_CONFIG_SOURCE 'xml::~/.gconf'                       \
-        --prefix PATH ":" "$out/bin:${stdenv.lib.makeBinPath [ perl gconf ]}"
-    done
-
-    rm $out/share/icons/hicolor/icon-theme.cache
-  '';
+    # Unnecessary in the release build.
+    rm $out/bin/gnucash-valgrind
 
-  # The following settings fix failures in the test suite. It's not required otherwise.
-  NIX_LDFLAGS = "-rpath=${guile}/lib -rpath=${glib.out}/lib";
-  preCheck = "export GNC_DOT_DIR=$PWD/dot-gnucash";
+    wrapProgram "$out/bin/gnucash" \
+      --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH:$out/share/gsettings-schemas/${name}" \
+      --prefix XDG_DATA_DIRS : "${hicolor-icon-theme}/share" \
+      --prefix GIO_EXTRA_MODULES : "${stdenv.lib.getLib dconf}/lib/gio/modules"
+  '';
 
-  doCheck = false;      # https://github.com/NixOS/nixpkgs/issues/11084
+  # TODO: The following tests FAILED:
+  #   61 - test-gnc-timezone (Failed)
+  #   70 - test-load-c (Failed)
+  #   71 - test-modsysver (Failed)
+  #   72 - test-incompatdep (Failed)
+  #   73 - test-agedver (Failed)
+  #   77 - test-gnc-module-swigged-c (Failed)
+  #   78 - test-gnc-module-load-deps (Failed)
+  #   80 - test-gnc-module-scm-module (Failed)
+  #   81 - test-gnc-module-scm-multi (Failed)
+  preCheck = ''
+    export LD_LIBRARY_PATH=$PWD/lib:$PWD/lib/gnucash:$PWD/lib/gnucash/test:$LD_LIBRARY_PATH
+    export NIX_CFLAGS_LINK="-lgtest -lgtest_main"
+  '';
+  doCheck = false;
 
   enableParallelBuilding = true;
 
@@ -80,6 +98,6 @@ stdenv.mkDerivation rec {
     homepage = http://www.gnucash.org/;
 
     maintainers = [ stdenv.lib.maintainers.peti stdenv.lib.maintainers.domenkozar ];
-    platforms = stdenv.lib.platforms.gnu;
+    platforms = stdenv.lib.platforms.gnu ++ stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/applications/office/gnumeric/default.nix b/pkgs/applications/office/gnumeric/default.nix
index 60c8b0280a1..badc02a3646 100644
--- a/pkgs/applications/office/gnumeric/default.nix
+++ b/pkgs/applications/office/gnumeric/default.nix
@@ -9,11 +9,11 @@ let
   isonum = fetchurl { url = http://www.oasis-open.org/docbook/xml/4.5/ent/isonum.ent; sha256 = "04b62dw2g3cj9i4vn9xyrsrlz8fpmmijq98dm0nrkky31bwbbrs3"; };
   isogrk1 = fetchurl { url = http://www.oasis-open.org/docbook/xml/4.5/ent/isogrk1.ent; sha256 = "04b23anhs5wr62n4rgsjirzvw7rpjcsf8smz4ffzaqh3b0vw90vm"; };
 in stdenv.mkDerivation rec {
-  name = "gnumeric-1.12.38";
+  name = "gnumeric-1.12.39";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnumeric/1.12/${name}.tar.xz";
-    sha256 = "3435d7d93a47a32764b1ec2d03f7fbb348a97af52530815e49370803a1a69c65";
+    sha256 = "26cceb7fa97dc7eee7181a79a6251a85b1f1464dcaaaf7624829f7439c5f7d3f";
   };
 
   configureFlags = "--disable-component";
diff --git a/pkgs/applications/office/homebank/default.nix b/pkgs/applications/office/homebank/default.nix
index f4e59d1ca04..28b85936a28 100644
--- a/pkgs/applications/office/homebank/default.nix
+++ b/pkgs/applications/office/homebank/default.nix
@@ -2,10 +2,10 @@
 , hicolor-icon-theme, libsoup, gnome3 }:
 
 stdenv.mkDerivation rec {
-  name = "homebank-5.1.7";
+  name = "homebank-5.1.8";
   src = fetchurl {
     url = "http://homebank.free.fr/public/${name}.tar.gz";
-    sha256 = "19szz86jxya8v4r3pa5czng9q2kn5hhbk273x1wqvdv40z0577jp";
+    sha256 = "0fzjmwz2pgi0nw49xljp1za3vp67kjh88gf688d9ig4wc2ygr0qh";
   };
 
   nativeBuildInputs = [ pkgconfig wrapGAppsHook ];
diff --git a/pkgs/applications/office/kexi/default.nix b/pkgs/applications/office/kexi/default.nix
index 8463703c017..2aa19dea1c2 100644
--- a/pkgs/applications/office/kexi/default.nix
+++ b/pkgs/applications/office/kexi/default.nix
@@ -9,12 +9,12 @@
 
 mkDerivation rec {
   pname = "kexi";
-  version = "3.0.2";
+  version = "3.1.0";
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://kde/stable/${pname}/src/${name}.tar.xz";
-    sha256 = "1fjvjifi5ygx5gs2lzfg22j0x3r7kl4wk5jll09r8gc3dfxaiblf";
+    sha256 = "1ysj44qq75wglw4d080l3gfw47695gapf29scxhb1g3py55csmbd";
   };
 
   nativeBuildInputs = [ extra-cmake-modules kdoctools ];
diff --git a/pkgs/applications/office/kmymoney/default.nix b/pkgs/applications/office/kmymoney/default.nix
new file mode 100644
index 00000000000..212aaa5fa2c
--- /dev/null
+++ b/pkgs/applications/office/kmymoney/default.nix
@@ -0,0 +1,70 @@
+{ stdenv, lib, fetchurl, doxygen, extra-cmake-modules, graphviz, kdoctools
+
+, akonadi, alkimia, aqbanking, gmp, gwenhywfar, kactivities, karchive
+, kcmutils, kcontacts, kdewebkit, kdiagram, kholidays, kidentitymanagement
+, kitemmodels, libical, libofx, qgpgme
+
+# Needed for running tests:
+, qtbase, xvfb_run
+
+# For weboob, which only supports Python 2.x:
+, python2Packages
+}:
+
+stdenv.mkDerivation rec {
+  name = "kmymoney-${version}";
+  version = "5.0.1";
+
+  src = fetchurl {
+    url = "mirror://kde/stable/kmymoney/${version}/src/${name}.tar.xz";
+    sha256 = "1c9apnvc07y17pzy4vygry1dai5ass2z7j354lrcppa85b18yvnx";
+  };
+
+  # Hidden dependency that wasn't included in CMakeLists.txt:
+  NIX_CFLAGS_COMPILE = "-I${kitemmodels.dev}/include/KF5";
+
+  enableParallelBuilding = true;
+
+  nativeBuildInputs = [
+    doxygen extra-cmake-modules graphviz kdoctools python2Packages.wrapPython
+  ];
+
+  buildInputs = [
+    akonadi alkimia aqbanking gmp gwenhywfar kactivities karchive kcmutils
+    kcontacts kdewebkit kdiagram kholidays kidentitymanagement kitemmodels
+    libical libofx qgpgme
+
+    # Put it into buildInputs so that CMake can find it, even though we patch
+    # it into the interface later.
+    python2Packages.weboob
+  ];
+
+  weboobPythonPath = [ python2Packages.weboob ];
+
+  postInstall = ''
+    buildPythonPath "$weboobPythonPath"
+    patchPythonScript "$out/share/kmymoney/weboob/kmymoneyweboob.py"
+
+    # Within the embedded Python interpreter, sys.argv is unavailable, so let's
+    # assign it to a dummy value so that the assignment of sys.argv[0] injected
+    # by patchPythonScript doesn't fail:
+    sed -i -e '1i import sys; sys.argv = [""]' \
+      "$out/share/kmymoney/weboob/kmymoneyweboob.py"
+  '';
+
+  doInstallCheck = stdenv.hostPlatform == stdenv.buildPlatform;
+  installCheckPhase = let
+    pluginPath = "${qtbase.bin}/${qtbase.qtPluginPrefix}";
+  in lib.optionalString doInstallCheck ''
+    QT_PLUGIN_PATH=${lib.escapeShellArg pluginPath} CTEST_OUTPUT_ON_FAILURE=1 \
+      ${xvfb_run}/bin/xvfb-run -s '-screen 0 1024x768x24' make test \
+      ARGS="-E '(reports-chart-test)'" # Test fails, so exclude it for now.
+  '';
+
+  meta = {
+    description = "Personal finance manager for KDE";
+    homepage = https://kmymoney.org/;
+    platforms = lib.platforms.linux;
+    license = lib.licenses.gpl2Plus;
+  };
+}
diff --git a/pkgs/applications/office/ledger/default.nix b/pkgs/applications/office/ledger/default.nix
index bb6e529f5d2..9675293cfe5 100644
--- a/pkgs/applications/office/ledger/default.nix
+++ b/pkgs/applications/office/ledger/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchFromGitHub, cmake, boost, gmp, mpfr, libedit, python
-, texinfo, gnused }:
+, texinfo, gnused, usePython ? true }:
 
 stdenv.mkDerivation rec {
   name = "ledger-${version}";
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  cmakeFlags = [ "-DCMAKE_INSTALL_LIBDIR=lib" ];
+  cmakeFlags = [ "-DCMAKE_INSTALL_LIBDIR=lib" (stdenv.lib.optionalString usePython "-DUSE_PYTHON=true") ];
 
   # Skip byte-compiling of emacs-lisp files because this is currently
   # broken in ledger...
diff --git a/pkgs/applications/office/libreoffice/default-primary-src.nix b/pkgs/applications/office/libreoffice/default-primary-src.nix
index f8742253c51..436558283e0 100644
--- a/pkgs/applications/office/libreoffice/default-primary-src.nix
+++ b/pkgs/applications/office/libreoffice/default-primary-src.nix
@@ -3,8 +3,8 @@
 rec {
   major = "6";
   minor = "0";
-  patch = "2";
-  tweak = "1";
+  patch = "3";
+  tweak = "2";
 
   subdir = "${major}.${minor}.${patch}";
 
@@ -12,6 +12,6 @@ rec {
 
   src = fetchurl {
     url = "https://download.documentfoundation.org/libreoffice/src/${subdir}/libreoffice-${version}.tar.xz";
-    sha256 = "0qga01lhh09jf2gx3czk66i5c854gzzjxgkrmj5d7m4ci2zaxfsd";
+    sha256 = "16w5f8jbicby9jgsrpaj7g9c0wzymcmk1qk1fqdxaykrgpss5f0j";
   };
 }
diff --git a/pkgs/applications/office/libreoffice/default.nix b/pkgs/applications/office/libreoffice/default.nix
index 7da7a6bf734..c8897c87bd3 100644
--- a/pkgs/applications/office/libreoffice/default.nix
+++ b/pkgs/applications/office/libreoffice/default.nix
@@ -42,14 +42,14 @@ let
 
     translations = fetchSrc {
       name = "translations";
-      sha256 = "1fx9xkf1ppap77b8zdr8qawbikgp607z5w9b7jk3rilcqs7xbkwl";
+      sha256 = "1cx537akvil4ci4lc9gnz83xmhxyjjrpv9xcibkif6vhdck539la";
     };
 
     # TODO: dictionaries
 
     help = fetchSrc {
       name = "help";
-      sha256 = "0zphmhl4a8pd5l7ma4bzhrwgbv037j8p5m1ilvb1blgbqv53v38a";
+      sha256 = "00a7iqknww28z0ifcjrx529p2nxqsa4gjavk75rwykvcfyn9x686";
     };
 
   };
@@ -184,7 +184,7 @@ in stdenv.mkDerivation rec {
     done
 
     cp -r sysui/desktop/icons  "$out/share"
-    sed -re 's@Icon=libreofficedev[0-9.]*-?@Icon=@' -i "$out/share/applications/"*.desktop
+    sed -re 's@Icon=libreoffice(dev)?[0-9.]*-?@Icon=@' -i "$out/share/applications/"*.desktop
   '';
 
   configureFlags = [
@@ -269,7 +269,7 @@ in stdenv.mkDerivation rec {
   nativeBuildInputs = [ wrapGAppsHook ];
 
   passthru = {
-    inherit srcs;
+    inherit srcs jdk;
   };
 
   requiredSystemFeatures = [ "big-parallel" ];
diff --git a/pkgs/applications/office/libreoffice/libreoffice-srcs.nix b/pkgs/applications/office/libreoffice/libreoffice-srcs.nix
index 28c06b65869..251aa44a2c5 100644
--- a/pkgs/applications/office/libreoffice/libreoffice-srcs.nix
+++ b/pkgs/applications/office/libreoffice/libreoffice-srcs.nix
@@ -532,11 +532,11 @@
     md5name = "967ca83edf25ccb5b48a3c4a09ad3405a63365576503bf34290a42de1b92fcd2-xmlsec1-1.2.25.tar.gz";
   }
   {
-    name = "libxml2-2.9.7.tar.gz";
-    url = "http://dev-www.libreoffice.org/src/libxml2-2.9.7.tar.gz";
-    sha256 = "f63c5e7d30362ed28b38bfa1ac6313f9a80230720b7fb6c80575eeab3ff5900c";
+    name = "libxml2-2.9.8.tar.gz";
+    url = "http://dev-www.libreoffice.org/src/libxml2-2.9.8.tar.gz";
+    sha256 = "0b74e51595654f958148759cfef0993114ddccccbb6f31aee018f3558e8e2732";
     md5 = "";
-    md5name = "f63c5e7d30362ed28b38bfa1ac6313f9a80230720b7fb6c80575eeab3ff5900c-libxml2-2.9.7.tar.gz";
+    md5name = "0b74e51595654f958148759cfef0993114ddccccbb6f31aee018f3558e8e2732-libxml2-2.9.8.tar.gz";
   }
   {
     name = "libxslt-1.1.32.tar.gz";
@@ -651,11 +651,11 @@
     md5name = "8c6ff15ec6b319b50788f42c7abc2890c08ba5a1cdcd3810eb9092deada37b0f-openssl-1.0.2m.tar.gz";
   }
   {
-    name = "liborcus-0.13.1.tar.gz";
-    url = "http://dev-www.libreoffice.org/src/liborcus-0.13.1.tar.gz";
-    sha256 = "d7041ef455bb78db66b4ba7876af1b3d0fa377b9444e3ef72ceaccd2e8400937";
+    name = "liborcus-0.13.3.tar.gz";
+    url = "http://dev-www.libreoffice.org/src/liborcus-0.13.3.tar.gz";
+    sha256 = "62e76de1fd3101e77118732b860354121b40a87bbb1ebfeb8203477fffac16e9";
     md5 = "";
-    md5name = "d7041ef455bb78db66b4ba7876af1b3d0fa377b9444e3ef72ceaccd2e8400937-liborcus-0.13.1.tar.gz";
+    md5name = "62e76de1fd3101e77118732b860354121b40a87bbb1ebfeb8203477fffac16e9-liborcus-0.13.3.tar.gz";
   }
   {
     name = "owncloud-android-library-0.9.4-no-binary-deps.tar.gz";
diff --git a/pkgs/applications/office/libreoffice/still-primary-src.nix b/pkgs/applications/office/libreoffice/still-primary-src.nix
index 32abab8abf8..b1aa10800d6 100644
--- a/pkgs/applications/office/libreoffice/still-primary-src.nix
+++ b/pkgs/applications/office/libreoffice/still-primary-src.nix
@@ -3,8 +3,8 @@
 rec {
   major = "5";
   minor = "4";
-  patch = "5";
-  tweak = "1";
+  patch = "6";
+  tweak = "2";
 
   subdir = "${major}.${minor}.${patch}";
 
@@ -12,6 +12,6 @@ rec {
 
   src = fetchurl {
     url = "https://download.documentfoundation.org/libreoffice/src/${subdir}/libreoffice-${version}.tar.xz";
-    sha256 = "167bh6jgyhfcvn3g7xghkg4nb99h91diypdlry5df21xs8bis5gb";
+    sha256 = "0icd8h221gp2dsbn6d35flwhqhcfpx66cjc5dg8yifhhvrfam74i";
   };
 }
diff --git a/pkgs/applications/office/libreoffice/still.nix b/pkgs/applications/office/libreoffice/still.nix
index 8726d5130d7..52baed720c5 100644
--- a/pkgs/applications/office/libreoffice/still.nix
+++ b/pkgs/applications/office/libreoffice/still.nix
@@ -2,7 +2,7 @@
 , CompressZlib, zlib, libjpeg, expat, pkgconfigUpstream, freetype, libwpd
 , libxml2, db, sablotron, curl, fontconfig, libsndfile, neon
 , bison, flex, zip, unzip, gtk3, gtk2, libmspack, getopt, file, cairo, which
-, icu, boost, jdk, ant, cups, xorg, libcmis
+, icu, boost, jdk, ant, cups, xorg, libcmis, carlito
 , openssl, gperf, cppunit, GConf, ORBit2, poppler
 , librsvg, gnome_vfs, libGLU_combined, bsh, CoinMP, libwps, libabw
 , autoconf, automake, openldap, bash, hunspell, librdf_redland, nss, nspr
@@ -42,14 +42,14 @@ let
 
     translations = fetchSrc {
       name = "translations";
-      sha256 = "0max423hdlr4j6y6ymng15awilh2aq8gly1hsf16lnk1pxihgr54";
+      sha256 = "16g85bn6qkql81a0k9iv3nwrpg2kpvz5nk4r7lab5jzlcl20qplc";
     };
 
     # TODO: dictionaries
 
     help = fetchSrc {
       name = "help";
-      sha256 = "14ziy02qq092x8h29f9dlwvvk2scd5v385zhln4848lf3q5cnifl";
+      sha256 = "02382d09svcgmp5q2xglhbx1na9ycd77f5cbcj9jgs8lpkgwbxxc";
     };
 
   };
@@ -106,6 +106,11 @@ in stdenv.mkDerivation rec {
 
     # BLFS patch for Glibc 2.23 renaming isnan
     sed -ire "s@isnan@std::&@g" xmloff/source/draw/ximp3dscene.cxx
+
+    # This is required as some cppunittests require fontconfig configured
+    cp "${fontsConf}" fonts.conf
+    sed -e '/include/i<include>${carlito}/etc/fonts/conf.d</include>' -i fonts.conf
+    export FONTCONFIG_FILE="$PWD/fonts.conf"
   '';
 
   # fetch_Download_item tries to interpret the name as a variable name
@@ -178,7 +183,7 @@ in stdenv.mkDerivation rec {
     done
 
     cp -r sysui/desktop/icons  "$out/share"
-    sed -re 's@Icon=libreofficedev[0-9.]*-?@Icon=@' -i "$out/share/applications/"*.desktop
+    sed -re 's@Icon=libreoffice(dev)?[0-9.]*-?@Icon=@' -i "$out/share/applications/"*.desktop
   '';
 
   configureFlags = [
@@ -261,7 +266,7 @@ in stdenv.mkDerivation rec {
   nativeBuildInputs = [ wrapGAppsHook ];
 
   passthru = {
-    inherit srcs;
+    inherit srcs jdk;
   };
 
   requiredSystemFeatures = [ "big-parallel" ];
diff --git a/pkgs/applications/office/libreoffice/wrapper.nix b/pkgs/applications/office/libreoffice/wrapper.nix
new file mode 100644
index 00000000000..8566bd76e1e
--- /dev/null
+++ b/pkgs/applications/office/libreoffice/wrapper.nix
@@ -0,0 +1,16 @@
+{ libreoffice, runCommand, dbus, bash }:
+let
+  jdk = libreoffice.jdk;
+in
+(runCommand "${libreoffice.name}" {
+  inherit dbus libreoffice jdk bash;
+} ''
+  mkdir -p "$out/bin"
+  ln -s "${libreoffice}/share" "$out/share"
+  substituteAll "${./wrapper.sh}" "$out/bin/soffice"
+  chmod a+x "$out/bin/soffice"
+
+  for i in $(ls "${libreoffice}/bin/"); do
+    test "$i" = "soffice" || ln -s soffice "$out/bin/$(basename "$i")"
+  done
+'') // { inherit libreoffice dbus; }
diff --git a/pkgs/applications/office/libreoffice/wrapper.sh b/pkgs/applications/office/libreoffice/wrapper.sh
new file mode 100644
index 00000000000..cff8f200e2b
--- /dev/null
+++ b/pkgs/applications/office/libreoffice/wrapper.sh
@@ -0,0 +1,18 @@
+#!@bash@/bin/bash
+export JAVA_HOME="${JAVA_HOME:-@jdk@}"
+#export SAL_USE_VCLPLUGIN="${SAL_USE_VCLPLUGIN:-gen}"
+
+if uname | grep Linux > /dev/null && 
+       ! ( test -n "$DBUS_SESSION_BUS_ADDRESS" ); then
+    dbus_tmp_dir="/run/user/$(id -u)/libreoffice-dbus"
+    mkdir "$dbus_tmp_dir"
+    dbus_socket_dir="$(mktemp -d -p "$dbus_tmp_dir")"
+    "@dbus@"/bin/dbus-daemon --nopidfile --nofork --config-file "@dbus@"/share/dbus-1/session.conf --address "unix:path=$dbus_socket_dir/session"  &> /dev/null &
+    export DBUS_SESSION_BUS_ADDRESS="unix:path=$dbus_socket_dir/session"
+fi
+
+"@libreoffice@/bin/$(basename "$0")" "$@"
+code="$?"
+
+test -n "$dbus_socket_dir" && rm -rf "$dbus_socket_dir"
+exit "$code"
diff --git a/pkgs/applications/office/marp/default.nix b/pkgs/applications/office/marp/default.nix
index c5dc9198740..7f6d93a11ae 100644
--- a/pkgs/applications/office/marp/default.nix
+++ b/pkgs/applications/office/marp/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "marp-${version}";
-  version = "0.0.11";
+  version = "0.0.12";
 
   src = fetchurl {
     url = "https://github.com/yhatt/marp/releases/download/v${version}/${version}-Marp-linux-x64.tar.gz";
-    sha256 = "06kka6kxrj35w23n34in6ks3vax9arl756jg720jhfy14vavyk0f";
+    sha256 = "0pljjkis9vb819d0akqmqnyakwgnvc3qqyg20yr13xms9a5iqv32";
   };
   sourceRoot = ".";
 
diff --git a/pkgs/applications/office/mendeley/default.nix b/pkgs/applications/office/mendeley/default.nix
index fbadd442ce7..15a57ba9de4 100644
--- a/pkgs/applications/office/mendeley/default.nix
+++ b/pkgs/applications/office/mendeley/default.nix
@@ -24,7 +24,6 @@
 , qtwebengine
 , sqlite
 , xorg
-, xlibs
 , zlib
 # The provided wrapper does this, but since we don't use it
 # we emulate the behavior.  The downside is that this
@@ -35,8 +34,6 @@
 , writeScript
 }:
 
-assert stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux";
-
 let
   arch32 = "i686-linux";
   arch64 = "x86_64-linux";
@@ -45,14 +42,14 @@ let
     then "i386"
     else "amd64";
 
-  shortVersion = "1.17.13-stable";
+  shortVersion = "1.18-stable";
 
   version = "${shortVersion}_${arch}";
 
   url = "http://desktop-download.mendeley.com/download/apt/pool/main/m/mendeleydesktop/mendeleydesktop_${version}.deb";
   sha256 = if stdenv.system == arch32
-    then "0q4x62k00whmq8lskphpcxc610cvclxzcr5k0v7pxjxs9sx5yx43"
-    else "01ylyily1hip35z0d4qkdpbzp5yn4r015psc5773xsqlgrnlwjm3";
+    then "046v1j4sc6m0bf89f52zsg8riygrhldplyih5p0cjhcsd45q6fx8"
+    else "072fppgxhiryb6m1fb4qvq8nbblx88xpknnklygch1sw0lyks69h";
 
   deps = [
     qtbase
@@ -78,7 +75,7 @@ let
     orc
     sqlite
     xorg.libX11
-    xlibs.xcbutilkeysyms
+    xorg.xcbutilkeysyms
     xorg.libxcb
     xorg.libXcomposite
     xorg.libXext
@@ -141,7 +138,7 @@ stdenv.mkDerivation {
     homepage = http://www.mendeley.com;
     description = "A reference manager and academic social network";
     license = licenses.unfree;
-    platforms = platforms.linux;
+    platforms = [ "x86_64-linux" "i686-linux" ];
     maintainers  = with maintainers; [ dtzWill ];
   };
 
diff --git a/pkgs/applications/office/mendeley/update.nix b/pkgs/applications/office/mendeley/update.nix
index 9ac82615c56..cb9ee02702d 100644
--- a/pkgs/applications/office/mendeley/update.nix
+++ b/pkgs/applications/office/mendeley/update.nix
@@ -15,9 +15,9 @@ writeScript "update-mendeley" ''
   }
 
   amd64URL=$(follow https://www.mendeley.com/repositories/ubuntu/stable/amd64/mendeleydesktop-latest)
-  amd64V=$(basename $amd64URL|grep -m1 -o "[0-9]\+\.[0-9]\+\.[0-9]\+")
+  amd64V=$(basename $amd64URL|grep -m1 -o "[0-9]\+\.[0-9]\+\(\.[0-9]\+\)\?")
   i386URL=$(follow https://www.mendeley.com/repositories/ubuntu/stable/i386/mendeleydesktop-latest)
-  i386V=$(basename $i386URL|grep -m1 -o "[0-9]\+\.[0-9]\+\.[0-9]\+")
+  i386V=$(basename $i386URL|grep -m1 -o "[0-9]\+\.[0-9]\+\(\.[0-9]\+\)\?")
 
   echo "amd64 version: $amd64V"
   echo "i386 version:  $i386V"
diff --git a/pkgs/applications/office/skrooge/default.nix b/pkgs/applications/office/skrooge/default.nix
index de9bfe64e5c..e2abba26ff7 100644
--- a/pkgs/applications/office/skrooge/default.nix
+++ b/pkgs/applications/office/skrooge/default.nix
@@ -1,5 +1,5 @@
 { mkDerivation, lib, fetchurl,
-  cmake, extra-cmake-modules, qtwebkit, qtscript, grantlee,
+  cmake, extra-cmake-modules, qtwebengine, qtscript, grantlee,
   kxmlgui, kwallet, kparts, kdoctools, kjobwidgets, kdesignerplugin,
   kiconthemes, knewstuff, sqlcipher, qca-qt5, kactivities, karchive,
   kguiaddons, knotifyconfig, krunner, kwindowsystem, libofx, shared-mime-info
@@ -7,11 +7,11 @@
 
 mkDerivation rec {
   name = "skrooge-${version}";
-  version = "2.11.0";
+  version = "2.13.0";
 
   src = fetchurl {
     url = "http://download.kde.org/stable/skrooge/${name}.tar.xz";
-    sha256 = "11ns0j3ss09aqd8snfzd52xf0cgsjjcgzalb031p7v17rn14yqaq";
+    sha256 = "1f1k0fkfhism1jyx3yxi8rdf1jrmp2vaphmz7fgh9hk18ndvss7d";
   };
 
   nativeBuildInputs = [
@@ -19,11 +19,19 @@ mkDerivation rec {
   ];
 
   buildInputs = [
-    qtwebkit qtscript grantlee kxmlgui kwallet kparts
+    qtwebengine qtscript grantlee kxmlgui kwallet kparts
     kjobwidgets kdesignerplugin kiconthemes knewstuff sqlcipher qca-qt5
     kactivities karchive kguiaddons knotifyconfig krunner kwindowsystem libofx
   ];
 
+  # SKG_DESIGNER must be used to generate the needed library for QtDesigner.
+  # This is needed ONLY for developers. So NOT NEEDED for end user.
+  # Source: https://forum.kde.org/viewtopic.php?f=210&t=143375#p393675
+  cmakeFlags = [
+    "-DSKG_DESIGNER=OFF"
+    "-DSKG_WEBENGINE=ON"
+  ];
+
   meta = with lib; {
     description = "A personal finances manager, powered by KDE";
     license = with licenses; [ gpl3 ];
diff --git a/pkgs/applications/office/spice-up/default.nix b/pkgs/applications/office/spice-up/default.nix
index e26471de576..520510698e3 100644
--- a/pkgs/applications/office/spice-up/default.nix
+++ b/pkgs/applications/office/spice-up/default.nix
@@ -6,6 +6,7 @@
 , gtk3
 , granite
 , gnome3
+, gobjectIntrospection
 , json-glib
 , cmake
 , ninja
@@ -26,11 +27,6 @@ stdenv.mkDerivation rec {
   };
   USER = "nix-build-user";
 
-  XDG_DATA_DIRS = stdenv.lib.concatStringsSep ":" [
-    "${granite}/share"
-    "${gnome3.libgee}/share"
-  ];
-
   nativeBuildInputs = [
     pkgconfig
     wrapGAppsHook
@@ -39,6 +35,7 @@ stdenv.mkDerivation rec {
     ninja
     gettext
     libxml2
+    gobjectIntrospection # For setup hook
   ];
   buildInputs = [
     gtk3
@@ -47,7 +44,6 @@ stdenv.mkDerivation rec {
     json-glib
     libgudev
     libevdev
-    gnome3.gnome-themes-standard
   ];
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/office/todo.txt-cli/default.nix b/pkgs/applications/office/todo.txt-cli/default.nix
index faecc3f4227..77a60295443 100644
--- a/pkgs/applications/office/todo.txt-cli/default.nix
+++ b/pkgs/applications/office/todo.txt-cli/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl }:
 let
-  version = "2.10";
+  version = "2.11.0";
 in stdenv.mkDerivation {
   name = "todo.txt-cli-${version}";
 
   src = fetchurl {
     url = "https://github.com/ginatrapani/todo.txt-cli/releases/download/v${version}/todo.txt_cli-${version}.tar.gz";
-    sha256 = "1agn4zzbizrrylvbfi053b5mpb39bvl1gzziw08xibzfdyi1g55m";
+    sha256 = "0majx8lcvhh8ji54qi0sxr833wchdss95fjc92byd8g3lfz27rsz";
   };
 
   installPhase = ''
diff --git a/pkgs/applications/office/wordgrinder/default.nix b/pkgs/applications/office/wordgrinder/default.nix
index be5ac7a2f2b..8efe9b368a0 100644
--- a/pkgs/applications/office/wordgrinder/default.nix
+++ b/pkgs/applications/office/wordgrinder/default.nix
@@ -49,7 +49,7 @@ stdenv.mkDerivation rec {
     description = "Text-based word processor";
     homepage = https://cowlark.com/wordgrinder;
     license = licenses.mit;
-    maintainers = with maintainers; [ matthiasbeyer ];
+    maintainers = with maintainers; [ ];
     platforms = with stdenv.lib.platforms; linux ++ darwin;
   };
 }
diff --git a/pkgs/applications/office/zim/default.nix b/pkgs/applications/office/zim/default.nix
index 48b278cc1df..9f7048f3646 100644
--- a/pkgs/applications/office/zim/default.nix
+++ b/pkgs/applications/office/zim/default.nix
@@ -9,11 +9,11 @@
 
 python2Packages.buildPythonApplication rec {
   name = "zim-${version}";
-  version = "0.67";
+  version = "0.68";
 
   src = fetchurl {
     url = "http://zim-wiki.org/downloads/${name}.tar.gz";
-    sha256 = "1gdbzy9qyzj3rn9fsl0ss7lbk9kyka99656bphx2dah694yyyz5k";
+    sha256 = "05fzb24a2s3pm89zb6gwa48wb925an5i652klx8yk9pn23h1h5fr";
   };
 
   propagatedBuildInputs = with python2Packages; [ pyGtkGlade pyxdg pygobject2 ];
diff --git a/pkgs/applications/office/zotero/default.nix b/pkgs/applications/office/zotero/default.nix
index 8e2f6bce0b1..2f9999ab856 100644
--- a/pkgs/applications/office/zotero/default.nix
+++ b/pkgs/applications/office/zotero/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, buildFHSUserEnv, makeDesktopItem, runCommand, bash, wrapGAppsHook, gsettings-desktop-schemas, gtk3, gnome3 }:
 
 let
-version = "5.0.25";
+version = "5.0.35.1";
 meta = with stdenv.lib; {
   homepage = https://www.zotero.org;
   description = "Collect, organize, cite, and share your research sources";
@@ -15,7 +15,7 @@ zoteroSrc = stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "https://download.zotero.org/client/release/${version}/Zotero-${version}_linux-x86_64.tar.bz2";
-    sha256 = "1y3q5582xp4inpz137x0r9iscs1g0cjlqcfjpzl3klsq3yas688k";
+    sha256 = "0d2imvp84svllrnja1dl4nldp634z632g5xkm2q9v7j3dwbzw1hw";
   };
 
   buildInputs= [ wrapGAppsHook gsettings-desktop-schemas gtk3 gnome3.adwaita-icon-theme gnome3.dconf ];
@@ -31,7 +31,7 @@ zoteroSrc = stdenv.mkDerivation rec {
 
 fhsEnv = buildFHSUserEnv {
   name = "zotero-fhs-env";
-  targetPkgs = pkgs: with pkgs; with xlibs; [
+  targetPkgs = pkgs: with pkgs; with xorg; [
     gtk3 dbus-glib
     libXt nss
   ];
diff --git a/pkgs/applications/science/astronomy/celestia/default.nix b/pkgs/applications/science/astronomy/celestia/default.nix
index 328253c5343..589625cc18f 100644
--- a/pkgs/applications/science/astronomy/celestia/default.nix
+++ b/pkgs/applications/science/astronomy/celestia/default.nix
@@ -56,12 +56,10 @@ stdenv.mkDerivation {
     patch -Np1 -i "${gcc47Patch}"
   '';
 
-  configureFlags = "--with-gtk --with-lua=${lua}";
-  CPPFLAGS = "-DNDEBUG";
-  CFLAGS = "-O2 -fsigned-char";
-  CXXFLAGS = "-O2 -fsigned-char";
-  GTK_CFLAGS = "-I${gtk2.dev}/include/gtk-2.0 -I${gtk2.out}/lib/gtk-2.0/include -I${glib.dev}/include/glib-2.0 -I${glib.out}/lib/glib-2.0/include -I${cairo.dev}/include/cairo -I${pango.dev}/include/pango-1.0 -I${gdk_pixbuf.dev}/include/gdk-pixbuf-2.0 -I${atk.dev}/include/atk-1.0 -I${gtkglext}/include/gtkglext-1.0 -I${gtkglext}/lib/gtkglext-1.0/include";
-  GTK_LIBS = "-lgtk-x11-2.0 -lgtkglext-x11-1.0 -lcairo -lgdk_pixbuf-2.0 -lpango-1.0 -lgobject-2.0";
+  configureFlags = [
+    "--with-gtk"
+    "--with-lua=${lua}"
+  ];
 
   installPhase = ''make MKDIR_P="mkdir -p" install'';
 
@@ -69,7 +67,7 @@ stdenv.mkDerivation {
 
   meta = {
     description = "Free space simulation";
-    homepage = http://www.shatters.net/celestia/;
+    homepage = https://celestia.space/;
     license = stdenv.lib.licenses.gpl2;
 
     platforms = stdenv.lib.platforms.linux;
diff --git a/pkgs/applications/science/biology/EZminc/default.nix b/pkgs/applications/science/biology/EZminc/default.nix
new file mode 100644
index 00000000000..20d88eb3aaf
--- /dev/null
+++ b/pkgs/applications/science/biology/EZminc/default.nix
@@ -0,0 +1,32 @@
+{ stdenv, fetchFromGitHub, cmake, libminc, bicpl, itk, fftwFloat, gsl }:
+
+stdenv.mkDerivation rec { pname = "EZminc";
+  name  = "${pname}-2017-08-29";
+
+  src = fetchFromGitHub {
+    owner  = "BIC-MNI";
+    repo   = pname;
+    rev    = "4e017236cb6e7f6e07507446b18b759c584b6fc3";
+    sha256 = "1pg06x42pgsg7zy7dz9wf6ajakkm2n8by64lg9z64qi8qqy82b8v";
+  };
+
+  nativeBuildInputs = [ cmake ];
+  buildInputs = [ itk libminc bicpl fftwFloat gsl ];
+
+  cmakeFlags = [ "-DLIBMINC_DIR=${libminc}/lib/"
+                 "-DEZMINC_BUILD_TOOLS=TRUE"
+                 "-DEZMINC_BUILD_MRFSEG=TRUE"
+                 "-DEZMINC_BUILD_DD=TRUE" ];
+
+  checkPhase = "ctest --output-on-failure ../tests/";  # but ctest doesn't find the tests ...
+
+  enableParallelBuilding = true;
+
+  meta = with stdenv.lib; {
+    homepage = "https://github.com/BIC-MNI/${pname}";
+    description = "Collection of Perl and shell scripts for processing MINC files";
+    maintainers = with maintainers; [ bcdarwin ];
+    platforms = platforms.unix;
+    license = licenses.free;
+  };
+}
diff --git a/pkgs/applications/science/biology/N3/default.nix b/pkgs/applications/science/biology/N3/default.nix
new file mode 100644
index 00000000000..c14846beec2
--- /dev/null
+++ b/pkgs/applications/science/biology/N3/default.nix
@@ -0,0 +1,38 @@
+{ stdenv, fetchFromGitHub, cmake, makeWrapper,
+  perl, MNI-Perllib, GetoptTabular,
+  libminc, EBTKS }:
+
+stdenv.mkDerivation rec {
+  pname = "N3";
+  name  = "${pname}-2017-09-18";
+
+  src = fetchFromGitHub {
+    owner  = "BIC-MNI";
+    repo   = pname;
+    rev    = "2fdd939f0f2b24a4039bc6a8ade4a190a1d8e75d";
+    sha256 = "13z21c4r09hna3q1csvcn4i7ws5ixbdaja6ch421xv6nydjh2w5g";
+  };
+
+  nativeBuildInputs = [ cmake makeWrapper ];
+  buildInputs = [ libminc EBTKS ];
+  propagatedBuildInputs = [ perl MNI-Perllib GetoptTabular ];
+
+  cmakeFlags = [ "-DLIBMINC_DIR=${libminc}/lib/" "-DEBTKS_DIR=${EBTKS}/lib/" ];
+
+  checkPhase = "ctest --output-on-failure";
+  # don't run the tests as they fail at least due to missing program wrappers in this phase ...
+
+  postFixup = ''
+    for p in $out/bin/*; do
+      wrapProgram $p --prefix PERL5LIB : $PERL5LIB
+    done
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = "https://github.com/BIC-MNI/${pname}";
+    description = "MRI non-uniformity correction for MINC files";
+    maintainers = with maintainers; [ bcdarwin ];
+    platforms = platforms.unix;
+    license   = licenses.free;
+  };
+}
diff --git a/pkgs/applications/science/biology/bcftools/default.nix b/pkgs/applications/science/biology/bcftools/default.nix
index 5e899568a7d..1ad1647c70e 100644
--- a/pkgs/applications/science/biology/bcftools/default.nix
+++ b/pkgs/applications/science/biology/bcftools/default.nix
@@ -1,18 +1,16 @@
-{ stdenv, fetchurl, htslib, zlib, bzip2, lzma, curl, perl, bash }:
+{ stdenv, fetchurl, htslib, zlib, bzip2, lzma, curl, perl, python, bash }:
 
 stdenv.mkDerivation rec {
   name = "${pname}-${version}";
   pname = "bcftools";
-  version = "1.7";
+  version = "1.8";
 
   src = fetchurl {
     url = "https://github.com/samtools/bcftools/releases/download/${version}/${name}.tar.bz2";
-    sha256 = "1l82sgw86l1626b7kxv3h0696lbj7317bb48rvqb1zqd3gcn6kyx";
+    sha256 = "1vgw2mwngq20c530zim52zvgmw1lci8rzl33pvh44xqk3xlzvjsa";
   };
 
-  nativeBuildInputs = [ perl ];
-
-  buildInputs = [ htslib zlib bzip2 lzma curl ];
+  buildInputs = [ htslib zlib bzip2 lzma curl perl python ];
 
   makeFlags = [
     "HSTDIR=${htslib}"
diff --git a/pkgs/applications/science/biology/conglomerate/default.nix b/pkgs/applications/science/biology/conglomerate/default.nix
new file mode 100644
index 00000000000..c04bc84c156
--- /dev/null
+++ b/pkgs/applications/science/biology/conglomerate/default.nix
@@ -0,0 +1,34 @@
+{ stdenv, fetchFromGitHub, cmake, coreutils, perl, bicpl, libminc, zlib, minc_tools,
+  makeWrapper, GetoptTabular, MNI-Perllib }:
+
+stdenv.mkDerivation rec {
+  pname = "conglomerate";
+  name  = "${pname}-2017-09-10";
+
+  src = fetchFromGitHub {
+    owner  = "BIC-MNI";
+    repo   = pname;
+    rev    = "7343238bc6215942c7ecc885a224f24433a291b0";
+    sha256 = "1mlqgmy3jc13bv7d01rjwldxq0p4ayqic85xcl222hhifi3w2prr";
+  };
+
+  nativeBuildInputs = [ cmake makeWrapper ];
+  buildInputs = [ libminc zlib bicpl ];
+  propagatedBuildInputs = [ coreutils minc_tools perl GetoptTabular MNI-Perllib ];
+
+  cmakeFlags = [ "-DLIBMINC_DIR=${libminc}/lib/" "-DBICPL_DIR=${bicpl}/lib/" ];
+
+  postFixup = ''
+    for p in $out/bin/*; do
+      wrapProgram $p --prefix PERL5LIB : $PERL5LIB --set PATH "${stdenv.lib.makeBinPath [ coreutils minc_tools ]}";
+    done
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/BIC-MNI/conglomerate;
+    description = "More command-line utilities for working with MINC files";
+    maintainers = with maintainers; [ bcdarwin ];
+    platforms = platforms.unix;
+    license   = licenses.free;
+  };
+}
diff --git a/pkgs/applications/science/biology/igv/default.nix b/pkgs/applications/science/biology/igv/default.nix
index 7825da0100a..bf963958406 100644
--- a/pkgs/applications/science/biology/igv/default.nix
+++ b/pkgs/applications/science/biology/igv/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "igv-${version}";
-  version = "2.4.8";
+  version = "2.4.10";
 
   src = fetchurl {
     url = "http://data.broadinstitute.org/igv/projects/downloads/2.4/IGV_${version}.zip";
-    sha256 = "1ca4lsb5j00066sd1gy8jr8jhzpd9142fhj4khb8nc45010wib0q";
+    sha256 = "1wyv3ny06m6ipb83hi3pzcc50v49zms69c5714iixh0nqpd826f2";
   };
 
   buildInputs = [ unzip jre ];
diff --git a/pkgs/applications/science/biology/inormalize/default.nix b/pkgs/applications/science/biology/inormalize/default.nix
new file mode 100644
index 00000000000..f17143ad06b
--- /dev/null
+++ b/pkgs/applications/science/biology/inormalize/default.nix
@@ -0,0 +1,39 @@
+{ stdenv, fetchFromGitHub, cmake, makeWrapper,
+  perl, GetoptTabular, MNI-Perllib,
+  libminc, EBTKS }:
+
+stdenv.mkDerivation rec {
+  pname = "inormalize";
+  name  = "${pname}-2014-10-21";
+
+  src = fetchFromGitHub {
+    owner  = "BIC-MNI";
+    repo   = pname;
+    rev    = "79cea9cdfe7b99abfd40afda89ab2253b596ad2f";
+    sha256 = "1ahqv5q0ljvji99a5q8azjkdf6bgp6nr8lwivkqwqs3jm0k5clq7";
+  };
+
+  patches = [ ./lgmask-interp.patch ./nu_correct_norm-interp.patch ];
+
+  nativeBuildInputs = [ cmake makeWrapper ];
+  buildInputs = [ libminc EBTKS ];
+  propagatedBuildInputs = [ perl GetoptTabular MNI-Perllib ];
+
+  cmakeFlags = [ "-DLIBMINC_DIR=${libminc}/lib/" "-DEBTKS_DIR=${EBTKS}/lib/" ];
+
+  checkPhase = "ctest --output-on-failure";  # but no tests
+
+  postFixup = ''
+    for p in $out/bin/*; do
+      wrapProgram $p --prefix PERL5LIB : $PERL5LIB
+    done
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = "https://github.com/BIC-MNI/${pname}";
+    description = "Program to normalize intensity of MINC files";
+    maintainers = with maintainers; [ bcdarwin ];
+    platforms = platforms.unix;
+    license   = licenses.free;
+  };
+}
diff --git a/pkgs/applications/science/biology/inormalize/lgmask-interp.patch b/pkgs/applications/science/biology/inormalize/lgmask-interp.patch
new file mode 100644
index 00000000000..953bce9a184
--- /dev/null
+++ b/pkgs/applications/science/biology/inormalize/lgmask-interp.patch
@@ -0,0 +1,10 @@
+diff --git a/lgmask.in b/lgmask.in
+index 17dbe4d..2195d91 100644
+--- a/lgmask.in
++++ b/lgmask.in
+@@ -1,4 +1,4 @@
+-#! @PERL@
++#! /usr/bin/env perl
+ 
+ #---------------------------------------------------------------------------
+ #@COPYRIGHT :
diff --git a/pkgs/applications/science/biology/inormalize/nu_correct_norm-interp.patch b/pkgs/applications/science/biology/inormalize/nu_correct_norm-interp.patch
new file mode 100644
index 00000000000..75dc46a799c
--- /dev/null
+++ b/pkgs/applications/science/biology/inormalize/nu_correct_norm-interp.patch
@@ -0,0 +1,10 @@
+diff --git a/nu_correct_norm.in b/nu_correct_norm.in
+index 1dc84ac..1bc6235 100644
+--- a/nu_correct_norm.in
++++ b/nu_correct_norm.in
+@@ -1,4 +1,4 @@
+-#! @PERL@
++#! /usr/bin/perl
+  
+ #---------------------------------------------------------------------------
+ #@COPYRIGHT :
diff --git a/pkgs/applications/science/biology/minc-tools/default.nix b/pkgs/applications/science/biology/minc-tools/default.nix
index 7864658c958..8e1f74686d1 100644
--- a/pkgs/applications/science/biology/minc-tools/default.nix
+++ b/pkgs/applications/science/biology/minc-tools/default.nix
@@ -1,23 +1,29 @@
-{ stdenv, fetchFromGitHub, perl, cmake, flex, bison, libminc }:
+{ stdenv, fetchFromGitHub, cmake, makeWrapper, flex, bison, perl, TextFormat, libminc, libjpeg, zlib }:
 
 stdenv.mkDerivation rec {
-  name = "${pname}-2.3.00";
   pname = "minc-tools";
+  name  = "${pname}-2017-09-11";
 
   src = fetchFromGitHub {
-    owner = "BIC-MNI";
-    repo = pname;
-    rev = builtins.replaceStrings [ "." ] [ "-" ] name;
-    sha256 = "0px5paprx4ds9aln3jdg1pywszgyz2aykgkdbj1y8gc1lwcizsl9";
+    owner  = "BIC-MNI";
+    repo   = pname;
+    rev    = "5b7c40425cd4f67a018055cb85c0157ee50a3056";
+    sha256 = "0zkcs05svp1gj5h0cdgc0k20c7lrk8m7wg3ks3xc5mkaiannj8g7";
   };
 
-  nativeBuildInputs = [ cmake flex bison ] ++ (if doCheck then [ perl ] else [ ]);
-  buildInputs = [ libminc ];
+  nativeBuildInputs = [ cmake flex bison makeWrapper ];
+  buildInputs = [ libminc libjpeg zlib ];
+  propagatedBuildInputs = [ perl TextFormat ];
 
   cmakeFlags = [ "-DLIBMINC_DIR=${libminc}/lib/" ];
 
-  checkPhase = "ctest";
-  doCheck = false;
+  checkPhase = "ctest --output-on-failure";  # still some weird test failures though
+
+  postFixup = ''
+    for prog in minccomplete minchistory mincpik; do
+      wrapProgram $out/bin/$prog --prefix PERL5LIB : $PERL5LIB
+    done
+  '';
 
   enableParallelBuilding = true;
 
@@ -26,5 +32,6 @@ stdenv.mkDerivation rec {
     description = "Command-line utilities for working with MINC files";
     maintainers = with maintainers; [ bcdarwin ];
     platforms = platforms.unix;
+    license   = licenses.free;
   };
 }
diff --git a/pkgs/applications/science/biology/minc-widgets/default.nix b/pkgs/applications/science/biology/minc-widgets/default.nix
new file mode 100644
index 00000000000..9084dfb2e1c
--- /dev/null
+++ b/pkgs/applications/science/biology/minc-widgets/default.nix
@@ -0,0 +1,34 @@
+{ stdenv, fetchFromGitHub, cmake, makeWrapper,
+  perl, GetoptTabular, MNI-Perllib,
+  libminc, octave, coreutils, minc_tools }:
+
+stdenv.mkDerivation rec {
+  pname = "minc-widgets";
+  name  = "${pname}-2016-04-20";
+
+
+  src = fetchFromGitHub {
+    owner  = "BIC-MNI";
+    repo   = pname;
+    rev    = "f08b643894c81a1a2e0fbfe595a17a42ba8906db";
+    sha256 = "1b9g6lf37wpp211ikaji4rf74rl9xcmrlyqcw1zq3z12ji9y33bm";
+  };
+
+  nativeBuildInputs = [ cmake makeWrapper ];
+  buildInputs = [ libminc ];
+  propagatedBuildInputs = [ perl GetoptTabular MNI-Perllib octave coreutils minc_tools ];
+
+  postFixup = ''
+    for p in $out/bin/*; do
+      wrapProgram $p --prefix PERL5LIB : $PERL5LIB --set PATH "${stdenv.lib.makeBinPath [ coreutils minc_tools ]}";
+    done
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = "https://github.com/BIC-MNI/${pname}";
+    description = "Collection of Perl and shell scripts for processing MINC files";
+    maintainers = with maintainers; [ bcdarwin ];
+    platforms = platforms.unix;
+    license = licenses.free;
+  };
+}
diff --git a/pkgs/applications/science/biology/minimap2/default.nix b/pkgs/applications/science/biology/minimap2/default.nix
new file mode 100644
index 00000000000..ae278f76792
--- /dev/null
+++ b/pkgs/applications/science/biology/minimap2/default.nix
@@ -0,0 +1,31 @@
+{ stdenv, fetchFromGitHub, zlib }:
+
+stdenv.mkDerivation rec {
+  name = "${pname}-${version}";
+  pname = "minimap2";
+  version = "2.10";
+
+  src = fetchFromGitHub {
+    repo = pname;
+    owner = "lh3";
+    rev = "v${version}";
+    sha256 = "0b35w14j9h2q9qbh3sxc518mcx0ifsvwqr1nv70rv6mgy1cqqkw0";
+  };
+
+  buildInputs = [ zlib ];
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cp minimap2 $out/bin
+    mkdir -p $out/share/man/man1
+    cp minimap2.1 $out/share/man/man1
+  '';
+  
+  meta = with stdenv.lib; {
+    description = "A versatile pairwise aligner for genomic and spliced nucleotide sequences";
+    homepage = https://lh3.github.io/minimap2;
+    license = licenses.mit;
+    platforms = platforms.all;
+    maintainers = [ maintainers.arcadio ];
+  };
+}
diff --git a/pkgs/applications/science/biology/mni_autoreg/default.nix b/pkgs/applications/science/biology/mni_autoreg/default.nix
new file mode 100644
index 00000000000..076ecd03a1b
--- /dev/null
+++ b/pkgs/applications/science/biology/mni_autoreg/default.nix
@@ -0,0 +1,36 @@
+{ stdenv, fetchFromGitHub, cmake, makeWrapper, perl, GetoptTabular, MNI-Perllib, libminc }:
+
+stdenv.mkDerivation rec {
+  pname = "mni_autoreg";
+  name  = "${pname}-2017-09-22";
+
+  src = fetchFromGitHub {
+    owner = "BIC-MNI";
+    repo = pname;
+    rev = "ab99e29987dc029737785baebf24896ec37a2d76";
+    sha256 = "0axl069nv57vmb2wvqq7s9v3bfxwspzmk37bxm4973ai1irgppjq";
+  };
+
+  nativeBuildInputs = [ cmake makeWrapper ];
+  buildInputs = [ libminc ];
+  propagatedBuildInputs = [ perl GetoptTabular MNI-Perllib ];
+
+  cmakeFlags = [ "-DLIBMINC_DIR=${libminc}/lib/" "-DBUILD_TESTING=FALSE" ];
+  # testing broken: './minc_wrapper: Permission denied' from Testing/ellipse0.mnc
+
+  postFixup = ''
+    for prog in autocrop mritoself mritotal xfmtool; do
+      echo $out/bin/$prog
+      wrapProgram $out/bin/$prog --prefix PERL5LIB : $PERL5LIB;
+    done
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/BIC-MNI/mni_autoreg;
+    description = "Tools for automated registration using the MINC image format";
+    maintainers = with maintainers; [ bcdarwin ];
+    platforms = platforms.unix;
+    license = licenses.free;
+  };
+}
+
diff --git a/pkgs/applications/science/biology/paml/default.nix b/pkgs/applications/science/biology/paml/default.nix
index 589c2809a93..fe25a04c420 100644
--- a/pkgs/applications/science/biology/paml/default.nix
+++ b/pkgs/applications/science/biology/paml/default.nix
@@ -1,11 +1,11 @@
 {stdenv, fetchurl}:
 
 stdenv.mkDerivation rec {
-  version = "4.9c";
+  version = "4.9h";
   name = "paml-${version}";
   src = fetchurl {
     url = "http://abacus.gene.ucl.ac.uk/software/paml${version}.tgz";
-    sha256 = "18a1l47223l7jyjavm8a8la84q9k9kbxwmj7kz4z3pdx70qrl04j";
+    sha256 = "1czdfb3naadq0d3y42isrbyja33c3p28k8dv9mxlx2h19b7zcfv2";
   };
 
   preBuild = ''
diff --git a/pkgs/applications/science/biology/picard-tools/default.nix b/pkgs/applications/science/biology/picard-tools/default.nix
index a065fdf4489..e215b6f3862 100644
--- a/pkgs/applications/science/biology/picard-tools/default.nix
+++ b/pkgs/applications/science/biology/picard-tools/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "picard-tools-${version}";
-  version = "2.17.10";
+  version = "2.18.4";
 
   src = fetchurl {
     url = "https://github.com/broadinstitute/picard/releases/download/${version}/picard.jar";
-    sha256 = "0lf9appcs66mxmirzbys09xhq38kpa4ldxwwzrr9y2cklnxjn4hg";
+    sha256 = "0qwalb49g8s6dswhhk12ny33xzzj38xa2rj6p6ar0hrwh7aijlqc";
   };
 
   buildInputs = [ jre makeWrapper ];
diff --git a/pkgs/applications/science/biology/samtools/default.nix b/pkgs/applications/science/biology/samtools/default.nix
index 365057414e9..87e708526ef 100644
--- a/pkgs/applications/science/biology/samtools/default.nix
+++ b/pkgs/applications/science/biology/samtools/default.nix
@@ -3,11 +3,11 @@
 stdenv.mkDerivation rec {
   name = "${pname}-${version}";
   pname = "samtools";
-  version = "1.7";
+  version = "1.8";
 
   src = fetchurl {
     url = "https://github.com/samtools/samtools/releases/download/${version}/${name}.tar.bz2";
-    sha256 = "e7b09673176aa32937abd80f95f432809e722f141b5342186dfef6a53df64ca1";
+    sha256 = "05myg7bs90i68qbqab9cdg9rqj2xh39azibrx82ipzc5kcfvqhn9";
   };
 
   nativeBuildInputs = [ perl ];
diff --git a/pkgs/applications/science/biology/snpeff/default.nix b/pkgs/applications/science/biology/snpeff/default.nix
index e1add2e1483..9c2d273b088 100644
--- a/pkgs/applications/science/biology/snpeff/default.nix
+++ b/pkgs/applications/science/biology/snpeff/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "snpeff-${version}";
-  version = "4.3t";
+  version = "4.3q";
 
   src = fetchurl {
-    url = "mirror://sourceforge/project/snpeff/snpEff_v4_3t_core.zip";
-    sha256 = "0i12mv93bfv8xjwc3rs2x73d6hkvi7kgbbbx3ry984l3ly4p6nnm";
+    url = "mirror://sourceforge/project/snpeff/snpEff_v4_3q_core.zip";
+    sha256 = "0sxz8zy8wrzcy01hyb1cirwbxqyjw30a2x3q6p4l7zmw2szi7mn1";
   };
 
   buildInputs = [ unzip jre makeWrapper ];
diff --git a/pkgs/applications/science/chemistry/jmol/default.nix b/pkgs/applications/science/chemistry/jmol/default.nix
new file mode 100644
index 00000000000..4c4278c30fa
--- /dev/null
+++ b/pkgs/applications/science/chemistry/jmol/default.nix
@@ -0,0 +1,53 @@
+{ stdenv
+, fetchurl
+, unzip
+, makeDesktopItem
+, jre
+}:
+
+let
+  desktopItem = makeDesktopItem {
+    name = "jmol";
+    exec = "jmol";
+    desktopName = "JMol";
+    genericName = "Molecular Modeler";
+    mimeType = "chemical/x-pdb;chemical/x-mdl-molfile;chemical/x-mol2;chemical/seq-aa-fasta;chemical/seq-na-fasta;chemical/x-xyz;chemical/x-mdl-sdf;";
+    categories = "Graphics;Education;Science;Chemistry;";
+  };
+in
+stdenv.mkDerivation rec {
+  version = "${baseVersion}.${patchVersion}";
+  baseVersion = "14.29";
+  patchVersion = "12";
+  pname = "jmol";
+  name = "${pname}-${version}";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/jmol/Jmol/Version%20${baseVersion}/Jmol%20${version}/Jmol-${version}-binary.tar.gz";
+    sha256 = "1ndq9am75janshrnk26334z1nmyh3k4bp20napvf2zv0lfp8k3bv";
+  };
+
+  patchPhase = ''
+    sed -i -e "4s:.*:command=${jre}/bin/java:" -e "10s:.*:jarpath=$out/share/jmol/Jmol.jar:" -e "11,21d" jmol
+  '';
+
+  installPhase = ''
+    mkdir -p "$out/share/jmol" "$out/bin"
+
+    ${unzip}/bin/unzip jsmol.zip -d "$out/share/"
+
+    cp *.jar jmol.sh "$out/share/jmol"
+    cp -r ${desktopItem}/share/applications $out/share
+    cp jmol $out/bin
+  '';
+
+  enableParallelBuilding = true;
+
+  meta = with stdenv.lib; {
+     description = "A Java 3D viewer for chemical structures";
+     homepage = https://sourceforge.net/projects/jmol;
+     license = licenses.lgpl2;
+     platforms = platforms.all;
+     maintainers = with maintainers; [ timokau mounium ];
+  };
+}
diff --git a/pkgs/applications/science/chemistry/octopus/default.nix b/pkgs/applications/science/chemistry/octopus/default.nix
index 2ff20fef40e..bf8ccee4a63 100644
--- a/pkgs/applications/science/chemistry/octopus/default.nix
+++ b/pkgs/applications/science/chemistry/octopus/default.nix
@@ -3,7 +3,7 @@
 }:
 
 let
-  version = "7.2";
+  version = "7.3";
   fftwAll = symlinkJoin { name ="ftw-dev-out"; paths = [ fftw.dev fftw.out ]; };
 
 in stdenv.mkDerivation {
@@ -11,7 +11,7 @@ in stdenv.mkDerivation {
 
   src = fetchurl {
     url = "http://www.tddft.org/programs/octopus/down.php?file=${version}/octopus-${version}.tar.gz";
-    sha256 = "03zzmq72zdnjkhifbmlxs7ig7x6sf6mv8zv9mxhakm9hzwa9yn7m";
+    sha256 = "0hnpqjjxdxh2ggf6ckrsy4hs9iglnazscb4siczddvmysi4kv15d";
   };
 
   nativeBuildInputs = [ perl procps fftw.dev ];
diff --git a/pkgs/applications/science/chemistry/pymol/default.nix b/pkgs/applications/science/chemistry/pymol/default.nix
index 39c027706ee..e7dd04377be 100644
--- a/pkgs/applications/science/chemistry/pymol/default.nix
+++ b/pkgs/applications/science/chemistry/pymol/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchurl, makeDesktopItem
 , python3, python3Packages
-, glew, freeglut, libpng, libxml2, tk, freetype }:
+, glew, freeglut, libpng, libxml2, tk, freetype, libmsgpack }:
 
 
 with stdenv.lib;
 
 let
   pname = "pymol";
-  ver_maj = "1.8";
-  ver_min = "4";
+  ver_maj = "2";
+  ver_min = "1";
   version = "${ver_maj}.${ver_min}.0";
   description = "A Python-enhanced molecular graphics tool";
 
@@ -16,7 +16,7 @@ let
     name = "${pname}";
     exec = "${pname}";
     desktopName = "PyMol Molecular Graphics System";
-    genericName = "Molecular Modeller";
+    genericName = "Molecular Modeler";
     comment = description;
     mimeType = "chemical/x-pdb;chemical/x-mdl-molfile;chemical/x-mol2;chemical/seq-aa-fasta;chemical/seq-na-fasta;chemical/x-xyz;chemical/x-mdl-sdf;";
     categories = "Graphics;Education;Science;Chemistry;";
@@ -26,10 +26,10 @@ python3Packages.buildPythonApplication {
   name = "pymol-${version}";
   src = fetchurl {
     url = "mirror://sourceforge/project/pymol/pymol/${ver_maj}/pymol-v${version}.tar.bz2";
-    sha256 = "0yfj8g5yic9zz6f0bw2n8h6ifvgsn8qvhq84alixsi28wzppn55n";
+    sha256 = "1qpacd5w4r9a0nm5iqmkd92ym3ai00dp7v61cwd6jgakk6wfps3s";
   };
 
-  buildInputs = [ python3Packages.numpy glew freeglut libpng libxml2 tk freetype ];
+  buildInputs = [ python3Packages.numpy glew freeglut libpng libxml2 tk freetype libmsgpack ];
   NIX_CFLAGS_COMPILE = "-I ${libxml2.dev}/include/libxml2";
 
   installPhase = ''
diff --git a/pkgs/applications/science/electronics/gtkwave/default.nix b/pkgs/applications/science/electronics/gtkwave/default.nix
index e866b947fbc..671c53365ab 100644
--- a/pkgs/applications/science/electronics/gtkwave/default.nix
+++ b/pkgs/applications/science/electronics/gtkwave/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "gtkwave-${version}";
-  version = "3.3.86";
+  version = "3.3.89";
 
   src = fetchurl {
     url    = "mirror://sourceforge/gtkwave/${name}.tar.gz";
-    sha256 = "1l1hikhhk7drkbpdmj9qg7c3lj1b86z7f5rnwagrql8bss2j80fx";
+    sha256 = "1j7byy0kmapa66dp17gjvs4pa4gckjccljydixswdknpxs5ma45g";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/applications/science/electronics/kicad/unstable.nix b/pkgs/applications/science/electronics/kicad/unstable.nix
index 46689dfc974..7209ee3edf6 100644
--- a/pkgs/applications/science/electronics/kicad/unstable.nix
+++ b/pkgs/applications/science/electronics/kicad/unstable.nix
@@ -3,20 +3,22 @@
 , doxygen, pcre, libpthreadstubs, libXdmcp
 
 , oceSupport ? true, opencascade_oce
-, ngspiceSupport ? true, ngspice
+, ngspiceSupport ? true, libngspice
 , scriptingSupport ? true, swig, python, wxPython
 }:
 
+assert ngspiceSupport -> libngspice != null;
+
 with lib;
 stdenv.mkDerivation rec {
   name = "kicad-unstable-${version}";
-  version = "2017-12-11";
+  version = "2018-03-10";
 
   src = fetchFromGitHub {
     owner = "KICad";
     repo = "kicad-source-mirror";
-    rev = "1955f252265c38a313f6c595d6c4c637f38fd316";
-    sha256 = "15cc81h7nh5dk6gj6mc4ylcgdznfriilhb43n1g3xwyq3s8iaibz";
+    rev = "17c0917dac12ea0be50ff95cee374a0cd8b7f862";
+    sha256 = "1yn5hj5hjnpb5fkzzlyawg62a96fbfvha49395s22dcp95riqvf0";
   };
 
   postPatch = ''
@@ -41,7 +43,7 @@ stdenv.mkDerivation rec {
     libGLU_combined zlib libX11 wxGTK pcre libXdmcp gettext glew glm libpthreadstubs
     cairo curl openssl boost
   ] ++ optional (oceSupport) opencascade_oce
-    ++ optional (ngspiceSupport) ngspice
+    ++ optional (ngspiceSupport) libngspice
     ++ optionals (scriptingSupport) [ swig python wxPython ];
 
   meta = {
diff --git a/pkgs/applications/science/electronics/ngspice/default.nix b/pkgs/applications/science/electronics/ngspice/default.nix
index ee7c0a5844d..96025e8faa6 100644
--- a/pkgs/applications/science/electronics/ngspice/default.nix
+++ b/pkgs/applications/science/electronics/ngspice/default.nix
@@ -1,22 +1,23 @@
-{stdenv, fetchurl, readline, bison, flex, libX11, libICE, libXaw, libXext}:
+{stdenv, fetchurl, readline, bison, flex, libX11, libICE, libXaw, libXext, fftw}:
 
 stdenv.mkDerivation {
-  name = "ngspice-26";
+  name = "ngspice-27";
 
   src = fetchurl {
-    url = "mirror://sourceforge/ngspice/ngspice-26.tar.gz";
-    sha256 = "51e230c8b720802d93747bc580c0a29d1fb530f3dd06f213b6a700ca9a4d0108";
+    url = "mirror://sourceforge/ngspice/ngspice-27.tar.gz";
+    sha256 = "15862npsy5sj56z5yd1qiv3y0fgicrzj7wwn8hbcy89fgbawf20c";
   };
 
-  buildInputs = [ readline libX11 flex bison libICE libXaw libXext ];
+  nativeBuildInputs = [ flex bison ];
+  buildInputs = [ readline libX11 libICE libXaw libXext fftw ];
 
-  configureFlags = [ "--enable-x" "--with-x" "--with-readline" "--enable-xspice" "--enable-cider" "--with-ngshared" ];
+  configureFlags = [ "--enable-x" "--with-x" "--with-readline" "--enable-xspice" "--enable-cider" ];
 
   meta = with stdenv.lib; {
     description = "The Next Generation Spice (Electronic Circuit Simulator)";
     homepage = http://ngspice.sourceforge.net;
     license = with licenses; [ "BSD" gpl2 ];
-    maintainers = with maintainers; [ viric rongcuid ];
+    maintainers = with maintainers; [ bgamari viric rongcuid ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/science/electronics/pulseview/default.nix b/pkgs/applications/science/electronics/pulseview/default.nix
index a3f3b6b8933..4e86d1d917f 100644
--- a/pkgs/applications/science/electronics/pulseview/default.nix
+++ b/pkgs/applications/science/electronics/pulseview/default.nix
@@ -7,7 +7,7 @@ stdenv.mkDerivation rec {
   name = "pulseview-0.4.0";
 
   src = fetchurl {
-    url = "http://sigrok.org/download/source/pulseview/${name}.tar.gz";
+    url = "https://sigrok.org/download/source/pulseview/${name}.tar.gz";
     sha256 = "1f8f2342d5yam98mmcb8f9g2vslcwv486bmi4x45pxn68l82ky3q";
   };
 
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Qt-based LA/scope/MSO GUI for sigrok (a signal analysis software suite)";
-    homepage = http://sigrok.org/;
+    homepage = https://sigrok.org/;
     license = licenses.gpl3Plus;
     platforms = platforms.linux;
     maintainers = [ maintainers.bjornfor ];
diff --git a/pkgs/applications/science/electronics/verilator/default.nix b/pkgs/applications/science/electronics/verilator/default.nix
index dade8296e99..75e99dcf659 100644
--- a/pkgs/applications/science/electronics/verilator/default.nix
+++ b/pkgs/applications/science/electronics/verilator/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name    = "verilator-${version}";
-  version = "3.920";
+  version = "3.922";
 
   src = fetchurl {
     url    = "http://www.veripool.org/ftp/${name}.tgz";
-    sha256 = "1zs3d6h5sbz455fwpgg89h81hkfn92ary8bmhjinc1rd8fm3hp1b";
+    sha256 = "1srv8d1w3mwblfydznl3frswg98i3dkylx8x18c4807wsjk8vflg";
   };
 
   enableParallelBuilding = true;
diff --git a/pkgs/applications/science/logic/abella/default.nix b/pkgs/applications/science/logic/abella/default.nix
index 968404362fc..7d71a56fa23 100644
--- a/pkgs/applications/science/logic/abella/default.nix
+++ b/pkgs/applications/science/logic/abella/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "abella-${version}";
-  version = "2.0.4";
+  version = "2.0.5";
 
   src = fetchurl {
     url = "http://abella-prover.org/distributions/${name}.tar.gz";
-    sha256 = "1hnccjlyzwgz7kqsr4xmx9y4wmalbxsj0g6fxdk6xrgpc84ihw2c";
+    sha256 = "0bry4pj6p9y7sg79ygdksynml4rdsjhqi959vnnwwsbaysa3bci0";
   };
 
   buildInputs = [ rsync ] ++ (with ocamlPackages; [ ocaml ocamlbuild findlib ]);
diff --git a/pkgs/applications/science/logic/aspino/default.nix b/pkgs/applications/science/logic/aspino/default.nix
index ee9e580a7b8..5e1a448a7cf 100644
--- a/pkgs/applications/science/logic/aspino/default.nix
+++ b/pkgs/applications/science/logic/aspino/default.nix
@@ -1,34 +1,46 @@
-{ stdenv, fetchFromGitHub, zlib, boost, glucose }:
+{ stdenv, fetchurl, fetchFromGitHub, zlib, boost, glucose }:
+
+let
+  glucose' = fetchurl {
+    url = "http://www.labri.fr/perso/lsimon/downloads/softwares/glucose-syrup.tgz";
+    sha256 = "0bq5l2jabhdfhng002qfk0mcj4pfi1v5853x3c7igwfrgx0jmfld";
+  };
+in
+
 stdenv.mkDerivation rec {
-  name = "aspino-2016-01-31";
+  name = "aspino-unstable-2017-03-09";
 
   src = fetchFromGitHub {
     owner = "alviano";
     repo = "aspino";
-    rev = "d28579b5967988b88bce6d9964a8f0a926286e9c";
-    sha256 = "0r9dnkq3rldv5hhnmycmzqyg23hv5w3g3i5a00a8zalnzfiyirnq";
+    rev = "e31c3b4e5791a454e6602439cb26bd98d23c4e78";
+    sha256 = "0annsjs2prqmv1lbs0lxr7yclfzh47xg9zyiq6mdxcc02rxsi14f";
   };
 
   buildInputs = [ zlib boost ];
 
-  patchPhase = ''
+  postPatch = ''
     substituteInPlace Makefile \
       --replace "GCC = g++" "GCC = c++"
+
+    patchShebangs .
   '';
 
   preBuild = ''
-    cp ${glucose.src} patches/glucose-syrup.tgz
+    cp ${glucose'} patches/glucose-syrup.tgz
     ./bootstrap.sh
   '';
 
   installPhase = ''
+    runHook preInstall
     mkdir -p $out/bin
     install -m0755 build/release/{aspino,fairino-{bs,ls,ps},maxino-2015-{k16,kdyn}} $out/bin
+    runHook postInstall
   '';
 
   meta = with stdenv.lib; {
     description = "SAT/PseudoBoolean/MaxSat/ASP solver using glucose";
-    maintainers = with maintainers; [ gebner ];
+    maintainers = with maintainers; [ gebner ma27 ];
     platforms = platforms.unix;
     license = licenses.asl20;
     homepage = http://alviano.net/software/maxino/;
diff --git a/pkgs/applications/science/logic/beluga/default.nix b/pkgs/applications/science/logic/beluga/default.nix
new file mode 100644
index 00000000000..da0e9bf1c1d
--- /dev/null
+++ b/pkgs/applications/science/logic/beluga/default.nix
@@ -0,0 +1,34 @@
+{ stdenv, fetchFromGitHub, ocamlPackages, omake }:
+
+stdenv.mkDerivation {
+  name = "beluga-20180403";
+
+  src = fetchFromGitHub {
+    owner  = "Beluga-lang";
+    repo   = "Beluga";
+    rev    = "046aa59f008be70a7c4700b723bed0214ea8b687";
+    sha256 = "0m68y0r0wdw3mg2jks68bihaww7sg305zdfnic1rkndq2cxv0mld";
+  };
+
+  nativeBuildInputs = with ocamlPackages; [ findlib ocamlbuild omake ];
+  buildInputs = with ocamlPackages; [ ocaml ulex ocaml_extlib ];
+
+  installPhase = ''
+    mkdir -p $out
+    cp -r bin $out/
+
+    mkdir -p $out/share/beluga
+    cp -r tools/ examples/ $out/share/beluga
+
+    mkdir -p $out/share/emacs/site-lisp/beluga/
+    cp -r tools/beluga-mode.el $out/share/emacs/site-lisp/beluga
+  '';
+
+  meta = {
+    description = "A functional language for reasoning about formal systems";
+    homepage    = http://complogic.cs.mcgill.ca/beluga/;
+    license     = stdenv.lib.licenses.gpl3Plus;
+    maintainers = [ stdenv.lib.maintainers.bcdarwin ];
+    platforms   = stdenv.lib.platforms.unix;
+  };
+}
diff --git a/pkgs/applications/science/logic/coq/default.nix b/pkgs/applications/science/logic/coq/default.nix
index fb75a9dc609..2b35c91d10c 100644
--- a/pkgs/applications/science/logic/coq/default.nix
+++ b/pkgs/applications/science/logic/coq/default.nix
@@ -22,6 +22,7 @@ let
    "8.7.0"     = "1h18b7xpnx3ix9vsi5fx4zdcbxy7bhra7gd5c5yzxmk53cgf1p9m";
    "8.7.1"     = "0gjn59jkbxwrihk8fx9d823wjyjh5m9gvj9l31nv6z6bcqhgdqi8";
    "8.7.2"     = "0a0657xby8wdq4aqb2xsxp3n7pmc2w4yxjmrb2l4kccs1aqvaj4w";
+   "8.8.0" = "13a4fka22hdxsjk11mgjb9ffzplfxyxp1sg5v1c8nk1grxlscgw8";
   }."${version}";
   coq-version = builtins.substring 0 3 version;
   camlp5 = ocamlPackages.camlp5_strict;
@@ -33,11 +34,9 @@ let
 self = stdenv.mkDerivation {
   name = "coq-${version}";
 
-  inherit coq-version;
-  inherit camlp5;
-  inherit (ocamlPackages) ocaml;
   passthru = {
-    inherit (ocamlPackages) findlib;
+    inherit coq-version camlp5;
+    inherit (ocamlPackages) ocaml findlib num;
     emacsBufferSetup = pkgs: ''
       ; Propagate coq paths to children
       (inherit-local-permanent coq-prog-name "${self}/bin/coqtop")
@@ -92,7 +91,7 @@ self = stdenv.mkDerivation {
   };
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ ocamlPackages.ocaml ocamlPackages.findlib camlp5 ncurses ]
+  buildInputs = [ ocamlPackages.ocaml ocamlPackages.findlib camlp5 ncurses ocamlPackages.num ]
   ++ stdenv.lib.optional buildIde ocamlPackages.lablgtk;
 
   postPatch = ''
@@ -116,7 +115,6 @@ self = stdenv.mkDerivation {
 
   preConfigure = ''
     configureFlagsArray=(
-      -opt
       ${ideFlags}
     )
   '';
@@ -125,8 +123,11 @@ self = stdenv.mkDerivation {
 
   buildFlags = "revision coq coqide bin/votour";
 
+  createFindlibDestdir = true;
+
   postInstall = ''
     cp bin/votour $out/bin/
+    ln -s $out/lib/coq $OCAMLFIND_DESTDIR/coq
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/science/logic/elan/default.nix b/pkgs/applications/science/logic/elan/default.nix
new file mode 100644
index 00000000000..ff737de0cc4
--- /dev/null
+++ b/pkgs/applications/science/logic/elan/default.nix
@@ -0,0 +1,44 @@
+{ stdenv, lib, pkgconfig, curl, openssl, zlib, fetchFromGitHub, rustPlatform }:
+
+rustPlatform.buildRustPackage rec {
+  name = "elan-${version}";
+  version = "0.5.0";
+
+  cargoSha256 = "01d3s47fjszxx8s5gr3haxq3kz3hswkrkr8x97wx8l4nfhm8ndd2";
+
+  src = fetchFromGitHub {
+    owner = "kha";
+    repo = "elan";
+    rev = "v${version}";
+    sha256 = "13zcqlyz0nwvd574llndrs7kvkznj6njljkq3v5j7kb3vndkj6i9";
+  };
+
+  nativeBuildInputs = [ pkgconfig ];
+
+  buildInputs = [ curl zlib openssl ];
+
+  cargoBuildFlags = [ "--features no-self-update" ];
+
+  postInstall = ''
+    pushd $out/bin
+    mv elan-init elan
+    for link in lean leanpkg leanchecker; do
+      ln -s elan $link
+    done
+    popd
+
+    # tries to create .elan
+    export HOME=$(mktemp -d)
+    mkdir -p "$out/share/"{bash-completion/completions,fish/vendor_completions.d,zsh/site-functions}
+    $out/bin/elan completions bash > "$out/share/bash-completion/completions/elan"
+    $out/bin/elan completions fish > "$out/share/fish/vendor_completions.d/elan.fish"
+    $out/bin/elan completions zsh >  "$out/share/zsh/site-functions/_elan"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Small tool to manage your installations of the Lean theorem prover";
+    homepage = "https://github.com/Kha/elan";
+    license = with licenses; [ asl20 /* or */ mit ];
+    maintainers = with maintainers; [ gebner ];
+  };
+}
diff --git a/pkgs/applications/science/logic/lean/default.nix b/pkgs/applications/science/logic/lean/default.nix
index 095aa5a7f8c..16fdab59ea0 100644
--- a/pkgs/applications/science/logic/lean/default.nix
+++ b/pkgs/applications/science/logic/lean/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "lean-${version}";
-  version = "3.3.0";
+  version = "3.4.1";
 
   src = fetchFromGitHub {
     owner  = "leanprover";
     repo   = "lean";
     rev    = "v${version}";
-    sha256 = "0irh9b4haz0pzzxrb4hwcss91a0xb499kjrcrmr2s59p3zq8bbd9";
+    sha256 = "0ww8azlyy3xikhd7nh96f507sg23r53zvayij1mwv5513vmblhhw";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/applications/science/logic/ltl2ba/default.nix b/pkgs/applications/science/logic/ltl2ba/default.nix
index f0947fa0ed6..f33152a8767 100644
--- a/pkgs/applications/science/logic/ltl2ba/default.nix
+++ b/pkgs/applications/science/logic/ltl2ba/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "ltl2ba-${version}";
-  version = "1.1";
+  version = "1.2b1";
 
   src = fetchurl {
     url    = "http://www.lsv.ens-cachan.fr/~gastin/ltl2ba/${name}.tar.gz";
-    sha256 = "16z0gc7a9dkarwn0l6rvg5jdhw1q4qyn4501zlchy0zxqddz0sx6";
+    sha256 = "1f4jnkfkyj8lcc5qfqbiypfc11rhhpqqi6xs9xx5dysg6r6303wm";
   };
 
   hardeningDisable = [ "format" ];
diff --git a/pkgs/applications/science/logic/mcrl2/default.nix b/pkgs/applications/science/logic/mcrl2/default.nix
index c84f81740c7..6e8797fcc40 100644
--- a/pkgs/applications/science/logic/mcrl2/default.nix
+++ b/pkgs/applications/science/logic/mcrl2/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, xlibs, cmake, subversion, libGLU_combined, qt5, boost,
+{stdenv, fetchurl, cmake, subversion, libGLU_combined, qt5, boost,
  python27, python27Packages}:
 
 stdenv.mkDerivation rec {
diff --git a/pkgs/applications/science/logic/ott/default.nix b/pkgs/applications/science/logic/ott/default.nix
index 6fcc8f9c111..d21487ef92f 100644
--- a/pkgs/applications/science/logic/ott/default.nix
+++ b/pkgs/applications/science/logic/ott/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "ott-${version}";
-  version = "0.27";
+  version = "0.28";
 
   src = fetchFromGitHub {
     owner = "ott-lang";
     repo = "ott";
     rev = version;
-    sha256 = "12hzpyinswqaxwp6y793h7ywrv6289cw4911ah2yzq04ji095pfb";
+    sha256 = "0mzbrvqayqpns9zzg4m1scxx24dv9askhn51dawyb9pisvlyvai0";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/applications/science/logic/picosat/default.nix b/pkgs/applications/science/logic/picosat/default.nix
index db252f97916..638996e853b 100644
--- a/pkgs/applications/science/logic/picosat/default.nix
+++ b/pkgs/applications/science/logic/picosat/default.nix
@@ -19,6 +19,9 @@ stdenv.mkDerivation rec {
 
   configurePhase = "./configure.sh --shared --trace";
 
+  makeFlags = stdenv.lib.optional stdenv.isDarwin
+    "SONAME=-Wl,-install_name,$(out)/lib/libpicosat.so";
+
   installPhase = ''
    mkdir -p $out/bin $out/lib $out/share $out/include/picosat
    cp picomus picomcs picosat picogcnf "$out"/bin
diff --git a/pkgs/applications/science/logic/potassco/clingo.nix b/pkgs/applications/science/logic/potassco/clingo.nix
index a73feba97b6..6bf19a2a2f4 100644
--- a/pkgs/applications/science/logic/potassco/clingo.nix
+++ b/pkgs/applications/science/logic/potassco/clingo.nix
@@ -1,23 +1,26 @@
-{stdenv, fetchurl, cmake}:
+{ stdenv, fetchzip, cmake }:
+
 stdenv.mkDerivation rec {
   name = "${pname}-${version}";
   pname = "clingo";
   version = "5.2.2";
 
-  src = fetchurl {
-    url = "https://github.com/potassco/clingo/releases/v${version}.tar.gz";
-    sha256 = "1kxzb385g8p9mqm1x9wvjrigifa09w6vj0wl7kradibm5qagh7ns";
+  src = fetchzip {
+    url = "https://github.com/potassco/clingo/archive/v${version}.tar.gz";
+    sha256 = "04rjwpna37gzm8vxr09z3z6ay8y8cxbjd8lga7xvqfpn2l178zjm";
   };
 
   buildInputs = [];
   nativeBuildInputs = [cmake];
 
+  cmakeFlags = [ "-DCLINGO_BUILD_WITH_PYTHON=OFF" ];
+
   meta = {
     inherit version;
     description = "ASP system to ground and solve logic programs";
     license = stdenv.lib.licenses.mit;
     maintainers = [stdenv.lib.maintainers.raskin];
-    platforms = stdenv.lib.platforms.linux;
+    platforms = stdenv.lib.platforms.unix;
     homepage = "https://potassco.org/";
     downloadPage = "https://github.com/potassco/clingo/releases/";
   };
diff --git a/pkgs/applications/science/logic/symbiyosys/default.nix b/pkgs/applications/science/logic/symbiyosys/default.nix
index e8feaa0acc4..2580b9b0fbe 100644
--- a/pkgs/applications/science/logic/symbiyosys/default.nix
+++ b/pkgs/applications/science/logic/symbiyosys/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "symbiyosys-${version}";
-  version = "2018.02.04";
+  version = "2018.05.03";
 
   src = fetchFromGitHub {
     owner  = "yosyshq";
     repo   = "symbiyosys";
-    rev    = "236f6412c1c1afe95d752eaf907f66f19c343134";
-    sha256 = "06bsvvkn9yhz9jvgf7a6pf407ab9m5qrr42niww666z967xdw4p0";
+    rev    = "35d956c7bb77c0602d198035b2d73a9c61cb4de4";
+    sha256 = "02zg3nkwp3fdjwz1agvsn55k1xipwh2rradb0bgjrjpsmmw63gda";
   };
 
   buildInputs = [ python3 yosys ];
@@ -28,10 +28,10 @@ stdenv.mkDerivation rec {
                 "sys.path += [p + \"/share/yosys/python3/\" for p in [\"$out\", \"${yosys}\"]]"
   '';
   meta = {
-    description = "Yosys verification tools for Hardware Definition Languages";
+    description = "Tooling for Yosys-based verification flows";
     homepage    = https://symbiyosys.readthedocs.io/;
     license     = stdenv.lib.licenses.mit;
     maintainers = with stdenv.lib.maintainers; [ thoughtpolice ];
-    platforms   = stdenv.lib.platforms.linux;
+    platforms   = stdenv.lib.platforms.unix;
   };
 }
diff --git a/pkgs/applications/science/logic/tamarin-prover/default.nix b/pkgs/applications/science/logic/tamarin-prover/default.nix
index bed7eb65e32..fb37554b65f 100644
--- a/pkgs/applications/science/logic/tamarin-prover/default.nix
+++ b/pkgs/applications/science/logic/tamarin-prover/default.nix
@@ -4,12 +4,12 @@
 }:
 
 let
-  version = "1.3.0";
+  version = "1.4.0";
   src = fetchFromGitHub {
     owner  = "tamarin-prover";
     repo   = "tamarin-prover";
-    rev    = "8e823691ad3325bce8921617b013735523d74557";
-    sha256 = "0rr2syl9xhv17bwky5p39mhn0bypr24h8pld1xidxv87vy7vk7nr";
+    rev    = "7ced07a69f8e93178f9a95797479277a736ae572";
+    sha256 = "02pyw22h90228g6qybjpdvpcm9d5lh96f5qwmy2hv2bylz05z3nn";
   };
 
   # tamarin has its own dependencies, but they're kept inside the repo,
@@ -65,19 +65,31 @@ mkDerivation (common "tamarin-prover" src // {
   enableSharedExecutables = false;
   postFixup = "rm -rf $out/lib $out/nix-support $out/share/doc";
 
+  # Fix problem with MonadBaseControl not being found
+  patchPhase = ''
+    sed -ie 's,\(import *\)Control\.Monad$,&\
+    \1Control.Monad.Trans.Control,' src/Web/Handler.hs
+
+    sed -ie 's~\( *, \)mtl~&\
+    \1monad-control~' tamarin-prover.cabal
+  '';
+
   # wrap the prover to be sure it can find maude, sapic, etc
   executableToolDepends = [ makeWrapper which maude graphviz sapic ];
   postInstall = ''
     wrapProgram $out/bin/tamarin-prover \
       --prefix PATH : ${lib.makeBinPath [ which maude graphviz sapic ]}
+    # so that the package can be used as a vim plugin to install syntax coloration
+    install -Dt $out/share/vim-plugins/tamarin-prover/syntax/ etc/{spthy,sapic}.vim
+    install etc/filetype.vim -D $out/share/vim-plugins/tamarin-prover/ftdetect/tamarin.vim
   '';
 
   checkPhase = "./dist/build/tamarin-prover/tamarin-prover test";
 
   executableHaskellDepends = (with haskellPackages; [
     base binary binary-orphans blaze-builder blaze-html bytestring
-    cmdargs conduit containers deepseq directory fclabels file-embed
-    filepath gitrev http-types HUnit lifted-base mtl parsec process
+    cmdargs conduit containers monad-control deepseq directory fclabels file-embed
+    filepath gitrev http-types HUnit lifted-base mtl monad-unlift parsec process
     resourcet safe shakespeare tamarin-prover-term
     template-haskell text threads time wai warp yesod-core yesod-static
   ]) ++ [ tamarin-prover-utils
diff --git a/pkgs/applications/science/logic/tlaplus/tlaps.nix b/pkgs/applications/science/logic/tlaplus/tlaps.nix
new file mode 100644
index 00000000000..9a78c1df8b1
--- /dev/null
+++ b/pkgs/applications/science/logic/tlaplus/tlaps.nix
@@ -0,0 +1,56 @@
+{ lib
+, fetchurl
+, makeWrapper
+, stdenv
+, ocaml, gawk, isabelle, cvc3, perl, wget, which
+}:
+
+stdenv.mkDerivation rec {
+  name = "tlaps-${version}";
+  version = "1.4.3";
+  src = fetchurl {
+    url = "https://tla.msr-inria.inria.fr/tlaps/dist/current/tlaps-${version}.tar.gz";
+    sha256 = "1w5z3ns5xxmhmp8r4x2kjmy3clqam935gmvx82imyxrr1bamx6gf";
+  };
+
+  buildInputs = [ ocaml isabelle cvc3 perl wget which ];
+
+  phases = [ "unpackPhase" "installPhase" ];
+
+  installPhase = ''
+    mkdir -pv "$out"
+    export HOME="$out"
+    export PATH=$out/bin:$PATH
+
+    pushd zenon
+    ./configure --prefix $out
+    make
+    make install
+    popd
+
+    pushd isabelle
+    isabelle build -b Pure
+    popd
+
+    pushd tlapm
+    ./configure --prefix $out
+    make all
+    make install
+  '';
+
+  meta = {
+    description = "Mechanically check TLA+ proofs";
+    longDescription = ''
+      TLA+ is a general-purpose formal specification language that is
+      particularly useful for describing concurrent and distributed
+      systems. The TLA+ proof language is declarative, hierarchical,
+      and scalable to large system specifications. It provides a
+      consistent abstraction over the various “backend” verifiers.
+    '';
+    homepage    = https://tla.msr-inria.inria.fr/tlaps/content/Home.html;
+    license     = stdenv.lib.licenses.bsd2;
+    platforms   = stdenv.lib.platforms.unix;
+    maintainers = [ stdenv.lib.maintainers.badi ];
+  };
+
+}
diff --git a/pkgs/applications/science/logic/tlaplus/toolbox.nix b/pkgs/applications/science/logic/tlaplus/toolbox.nix
new file mode 100644
index 00000000000..5ce359dea0e
--- /dev/null
+++ b/pkgs/applications/science/logic/tlaplus/toolbox.nix
@@ -0,0 +1,77 @@
+{ lib, fetchzip, makeWrapper, makeDesktopItem, stdenv
+, jre, swt, gtk, libXtst, glib
+}:
+
+let
+  version = "1.5.6";
+  arch = "x86_64";
+
+  desktopItem = makeDesktopItem rec {
+    name = "TLA+Toolbox";
+    exec = "tla-toolbox";
+    icon = "tla-toolbox";
+    comment = "IDE for TLA+";
+    desktopName = name;
+    genericName = comment;
+    categories = "Application;Development";
+    extraEntries = ''
+      StartupWMClass=TLA+ Toolbox
+    '';
+  };
+
+
+in stdenv.mkDerivation {
+  name = "tla-toolbox-${version}";
+  src = fetchzip {
+    url = "https://tla.msr-inria.inria.fr/tlatoolbox/products/TLAToolbox-${version}-linux.gtk.${arch}.zip";
+    sha256 = "1h63mcbrkf4jcg6qncpqffdi0x665z0wlfdq43d67p411xcqmbw9";
+  };
+
+  buildInputs = [ makeWrapper  ];
+
+  phases = [ "installPhase" ];
+
+  installPhase = ''
+    mkdir -p "$out/bin"
+    cp -r "$src" "$out/toolbox"
+    chmod +w "$out/toolbox" "$out/toolbox/toolbox"
+
+    patchelf \
+      --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) \
+      "$out/toolbox/toolbox"
+
+    makeWrapper $out/toolbox/toolbox $out/bin/tla-toolbox \
+      --run "set -x; cd $out/toolbox" \
+      --add-flags "-data ~/.tla-toolbox" \
+      --prefix PATH : "${jre}/bin" \
+      --prefix LD_LIBRARY_PATH : "${swt}/lib:${gtk}/lib:${libXtst}/lib:${glib}/lib"
+
+    echo -e "\nCreating TLA Toolbox icons..."
+    pushd "$src"
+    for icon_in in $(find . -path "./plugins/*/icons/full/etool16/tla_launch_check_wiz_*.png")
+    do
+      icon_size=$(echo $icon_in | grep -Po "wiz_\K[0-9]+")
+      icon_out="$out/share/icons/hicolor/$icon_size""x$icon_size/apps/tla-toolbox.png"
+      mkdir -p "$(dirname $icon_out)"
+      cp "$icon_in" "$icon_out"
+    done
+    popd
+
+    echo -e "\nCreating TLA Toolbox desktop entry..."
+    cp -r "${desktopItem}/share/applications"* "$out/share/applications"
+  '';
+
+  meta = {
+    homepage = http://research.microsoft.com/en-us/um/people/lamport/tla/toolbox.html;
+    description = "IDE for the TLA+ tools";
+    longDescription = ''
+      Integrated development environment for the TLA+ tools, based on Eclipse. You can use it
+      to create and edit your specs, run the PlusCal translator, view the pretty-printed
+      versions of your modules, run the TLC model checker, and run TLAPS, the TLA+ proof system.
+    '';
+    # http://lamport.azurewebsites.net/tla/license.html
+    license = with lib.licenses; [ mit ];
+    platforms = stdenv.lib.platforms.linux;
+    maintainers = [ stdenv.lib.maintainers.badi ];
+  };
+}
diff --git a/pkgs/applications/science/logic/tptp/default.nix b/pkgs/applications/science/logic/tptp/default.nix
index 16ef277e930..a1d613e6295 100644
--- a/pkgs/applications/science/logic/tptp/default.nix
+++ b/pkgs/applications/science/logic/tptp/default.nix
@@ -2,14 +2,14 @@
 
 stdenv.mkDerivation rec {
   name = "TPTP-${version}";
-  version = "7.0.0";
+  version = "7.1.0";
 
   src = fetchurl {
     url = [
       "http://www.cs.miami.edu/~tptp/TPTP/Distribution/TPTP-v${version}.tgz"
       "http://www.cs.miami.edu/~tptp/TPTP/Archive/TPTP-v${version}.tgz"
     ];
-    sha256 = "13rm76lqlgbv15p8as0dpc74z2dfv5xydkhnd0hm3hhi3mn39dk9";
+    sha256 = "0slqbqv4y43wz6wnh72s4n540ssapah0d12mndi0c7xr04kf2v2d";
   };
 
   buildInputs = [ tcsh yap perl patchelf ];
diff --git a/pkgs/applications/science/logic/verifast/default.nix b/pkgs/applications/science/logic/verifast/default.nix
index ada586fc4e6..22eb5d07f1c 100644
--- a/pkgs/applications/science/logic/verifast/default.nix
+++ b/pkgs/applications/science/logic/verifast/default.nix
@@ -1,26 +1,30 @@
 { stdenv, fetchurl, gtk2, gdk_pixbuf, atk, pango, glib, cairo, freetype
 , fontconfig, libxml2, gnome2 }:
 
-assert stdenv.isLinux;
-
 let
+
   libPath = stdenv.lib.makeLibraryPath
     [ stdenv.cc.libc stdenv.cc.cc gtk2 gdk_pixbuf atk pango glib cairo
       freetype fontconfig libxml2 gnome2.gtksourceview
-    ] + ":${stdenv.cc.cc.lib}/lib64";
+    ] + ":${stdenv.cc.cc.lib}/lib64:$out/libexec";
 
   patchExe = x: ''
     patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
       --set-rpath ${libPath} ${x}
   '';
+
+  patchLib = x: ''
+    patchelf --set-rpath ${libPath} ${x}
+  '';
+
 in
 stdenv.mkDerivation rec {
   name    = "verifast-${version}";
-  version = "14.5";
+  version = "18.02";
 
   src = fetchurl {
-    url    = "http://people.cs.kuleuven.be/~bart.jacobs/verifast/${name}-x64.tar.gz";
-    sha256 = "03y1s6s2j9vqgiad0vbxriipsypxaylxxd3q36n9rvrc3lf9xra9";
+    url    = "https://github.com/verifast/verifast/releases/download/${version}/${name}-linux.tar.gz";
+    sha256 = "19050be23b6d5e471690421fee59f84c58b29e38379fb86b8f3713a206a4423e";
   };
 
   dontStrip = true;
@@ -29,10 +33,11 @@ stdenv.mkDerivation rec {
     mkdir -p $out/bin
     cp -R bin $out/libexec
 
-    ${patchExe "$out/libexec/verifast-core"}
-    ${patchExe "$out/libexec/vfide-core"}
-    ln -s $out/libexec/verifast-core $out/bin/verifast
-    ln -s $out/libexec/vfide-core    $out/bin/vfide
+    ${patchExe "$out/libexec/verifast"}
+    ${patchExe "$out/libexec/vfide"}
+    ${patchLib "$out/libexec/libz3.so"}
+    ln -s $out/libexec/verifast $out/bin/verifast
+    ln -s $out/libexec/vfide    $out/bin/vfide
   '';
 
   meta = {
diff --git a/pkgs/applications/science/logic/workcraft/default.nix b/pkgs/applications/science/logic/workcraft/default.nix
new file mode 100644
index 00000000000..9ae5d75c457
--- /dev/null
+++ b/pkgs/applications/science/logic/workcraft/default.nix
@@ -0,0 +1,33 @@
+{ stdenv, pkgs, fetchurl, jre, makeWrapper }:
+
+stdenv.mkDerivation rec {
+  name = "workcraft-${version}";
+  version = "3.1.9";
+
+  src = fetchurl {
+    url = "https://github.com/workcraft/workcraft/releases/download/v${version}/workcraft-v${version}-linux.tar.gz";
+    sha256 = "0d1mi8jffwr7irp215j9rfpa3nmwxrx6mv13bh7vn0qf6i0aw0xi";
+  };
+
+  buildInputs = [ makeWrapper ];
+
+  phases = [ "unpackPhase" "installPhase" "fixupPhase" ];
+
+  installPhase = ''
+  mkdir -p $out/share
+  cp -r * $out/share
+  mkdir $out/bin
+  makeWrapper $out/share/workcraft $out/bin/workcraft \
+    --set JAVA_HOME "${jre}" \
+    --set _JAVA_OPTIONS '-Dawt.useSystemAAFontSettings=gasp';
+  '';
+
+  meta = {
+    homepage = http://workcraft.org/;
+    description = "Framework for interpreted graph modeling, verification and synthesis";
+    platforms = stdenv.lib.platforms.linux;
+    license = stdenv.lib.licenses.mit;
+    maintainers = with stdenv.lib.maintainers; [ timor ];
+    inherit version;
+  };
+}
diff --git a/pkgs/applications/science/logic/z3/4.5.0.nix b/pkgs/applications/science/logic/z3/4.5.0.nix
deleted file mode 100644
index 827cb2cbe3d..00000000000
--- a/pkgs/applications/science/logic/z3/4.5.0.nix
+++ /dev/null
@@ -1,31 +0,0 @@
-{ stdenv, fetchFromGitHub, python2, fixDarwinDylibNames }:
-
-let
-  python = python2;
-in stdenv.mkDerivation rec {
-  name = "z3-${version}";
-  version = "4.5.0";
-
-  src = fetchFromGitHub {
-    owner  = "Z3Prover";
-    repo   = "z3";
-    rev    = "z3-4.5.0";
-    sha256 = "0ssp190ksak93hiz61z90x6hy9hcw1ywp8b2dzmbhn6fbd4bnxzp";
-  };
-
-  buildInputs = [ python fixDarwinDylibNames ];
-  enableParallelBuilding = true;
-
-  configurePhase = ''
-    ${python.interpreter} scripts/mk_make.py --prefix=$out --python --pypkgdir=$out/${python.sitePackages}
-    cd build
-  '';
-
-  meta = {
-    description = "A high-performance theorem prover and SMT solver";
-    homepage    = "https://github.com/Z3Prover/z3";
-    license     = stdenv.lib.licenses.mit;
-    platforms   = stdenv.lib.platforms.unix;
-    maintainers = [ stdenv.lib.maintainers.thoughtpolice ];
-  };
-}
diff --git a/pkgs/applications/science/machine-learning/labelimg/default.nix b/pkgs/applications/science/machine-learning/labelimg/default.nix
new file mode 100644
index 00000000000..802a03bd4c7
--- /dev/null
+++ b/pkgs/applications/science/machine-learning/labelimg/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, python2Packages, fetchurl }:
+  python2Packages.buildPythonApplication rec {
+    name = "labelImg-${version}";
+    version = "1.6.0";
+    src = fetchurl {
+      url = "https://github.com/tzutalin/labelImg/archive/v${version}.tar.gz";
+      sha256 = "126kc4r7xm9170kh7snqsfkkc868m5bcnswrv7b4cq9ivlrdwbm4";
+    };
+    propagatedBuildInputs = with python2Packages; [
+      pyqt4
+      lxml
+    ];
+    preBuild = ''
+      make qt4py2
+    '';
+    meta = with stdenv.lib; {
+      description = "LabelImg is a graphical image annotation tool and label object bounding boxes in images";
+      homepage = https://github.com/tzutalin/labelImg;
+      license = licenses.mit;
+      platforms = platforms.linux;
+      maintainers = [ maintainers.cmcdragonkai ];
+    };
+  }
diff --git a/pkgs/applications/science/machine-learning/shogun/default.nix b/pkgs/applications/science/machine-learning/shogun/default.nix
index ae272284bcd..0ac40b1e7d4 100644
--- a/pkgs/applications/science/machine-learning/shogun/default.nix
+++ b/pkgs/applications/science/machine-learning/shogun/default.nix
@@ -14,7 +14,6 @@ assert pythonSupport -> pythonPackages != null;
 assert opencvSupport -> opencv != null;
 
 stdenv.mkDerivation rec {
-
   pname = "shogun";
   version = "6.0.0";
   name = pname + "-" + version;
@@ -27,11 +26,17 @@ stdenv.mkDerivation rec {
     fetchSubmodules = true;
   };
 
-  patches = fetchpatch {
-    name = "Fix-meta-example-parser-bug-in-parallel-builds.patch";
-    url = "https://github.com/shogun-toolbox/shogun/commit/ecd6a8f11ac52748e89d27c7fab7f43c1de39f05.patch";
-    sha256 = "1hrwwrj78sxhwcvgaz7n4kvh5y9snfcc4jf5xpgji5hjymnl311n";
-  };
+  patches = [
+    (fetchpatch {
+      name = "Fix-meta-example-parser-bug-in-parallel-builds.patch";
+      url = "https://github.com/shogun-toolbox/shogun/commit/ecd6a8f11ac52748e89d27c7fab7f43c1de39f05.patch";
+      sha256 = "1hrwwrj78sxhwcvgaz7n4kvh5y9snfcc4jf5xpgji5hjymnl311n";
+    })
+    (fetchpatch {
+      url = "https://github.com/awild82/shogun/commit/365ce4c4c700736d2eec8ba6c975327a5ac2cd9b.patch";
+      sha256 = "158hqv4xzw648pmjbwrhxjp7qcppqa7kvriif87gn3zdn711c49s";
+    })
+  ];
 
   CCACHE_DIR=".ccache";
 
@@ -47,11 +52,14 @@ stdenv.mkDerivation rec {
     ++ (optional (opencvSupport) "-DOpenCV=ON")
     ;
 
+  # Previous attempts to fix parallel builds (see patch above) were not entirely successful.
+  # Sporadic build failures still exist. Dislable parallel builds for now.
+  enableParallelBuilding = false;
+
   meta = with stdenv.lib; {
     description = "A toolbox which offers a wide range of efficient and unified machine learning methods";
     homepage = "http://shogun-toolbox.org/";
     license = licenses.gpl3;
     maintainers = with maintainers; [ edwtjo ];
   };
-
 }
diff --git a/pkgs/applications/science/machine-learning/torch/torch-distro.nix b/pkgs/applications/science/machine-learning/torch/torch-distro.nix
index 91adb5283fd..d8ce1d2c628 100644
--- a/pkgs/applications/science/machine-learning/torch/torch-distro.nix
+++ b/pkgs/applications/science/machine-learning/torch/torch-distro.nix
@@ -9,7 +9,7 @@ let
     homepage = http://torch.ch;
     license = stdenv.lib.licenses.bsd3;
     maintainers = with stdenv.lib.maintainers; [ smironov ];
-    platforms = stdenv.lib.platforms.gnu;
+    platforms = stdenv.lib.platforms.gnu ++ stdenv.lib.platforms.linux;
   };
 
   distro_src = src;
@@ -131,6 +131,7 @@ let
       name = "sundown";
       src = "${distro_src}/pkg/sundown";
       rockspec = "rocks/${name}-scm-1.rockspec";
+      meta.broken = true; # 2018-04-11
     };
 
     cwrap = buildLuaRocks rec {
@@ -289,6 +290,7 @@ let
         rev = "1e9e4f1e0bf589a0ed39f58acc185ec5e213d207";
         sha256 = "1i1fpy9v6r4w3lrmz7bmf5ppq65925rv90gx39b3pykfmn0hcb9c";
       };
+      meta.broken = true; # 2018-04-11
     };
 
     luuid = stdenv.mkDerivation rec {
diff --git a/pkgs/applications/science/math/R/default.nix b/pkgs/applications/science/math/R/default.nix
index 7bd19cfc520..953f4e62c22 100644
--- a/pkgs/applications/science/math/R/default.nix
+++ b/pkgs/applications/science/math/R/default.nix
@@ -7,11 +7,11 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "R-3.4.3";
+  name = "R-3.5.0";
 
   src = fetchurl {
     url = "http://cran.r-project.org/src/base/R-3/${name}.tar.gz";
-    sha256 = "09pl0w01fr09bsrwd7nz2r5psysj0z93w4chz3hm2havvqqvhg3s";
+    sha256 = "0w38865laqg28cdhikxdxhx4rfp0kgcn72gakwypsy91br9ja5zx";
   };
 
   buildInputs = [
@@ -65,7 +65,8 @@ stdenv.mkDerivation rec {
 
   installTargets = [ "install" "install-info" "install-pdf" ];
 
-  doCheck = true;
+  doCheck = withRecommendedPackages;  # R 3.5.0 fails the test suite if the
+                                      # recommended packages are not built
   preCheck = "export TZ=CET; bin/Rscript -e 'sessionInfo()'";
 
   enableParallelBuilding = true;
diff --git a/pkgs/applications/science/math/bcal/default.nix b/pkgs/applications/science/math/bcal/default.nix
index baede83f651..8db4bd157df 100644
--- a/pkgs/applications/science/math/bcal/default.nix
+++ b/pkgs/applications/science/math/bcal/default.nix
@@ -4,13 +4,13 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   name = "bcal-${version}";
-  version = "1.7";
+  version = "1.8";
 
   src = fetchFromGitHub {
     owner = "jarun";
     repo = "bcal";
     rev = "v${version}";
-    sha256 = "08cqp2jysvy743gmwpzkbqhybsb49n65r63z3if53m3y59qg4aw8";
+    sha256 = "0jdn46wzwq7yn3x6p1xyqarp52pcr0ghnfhkm7nyxv734g1abw7r";
   };
 
   nativeBuildInputs = [ python3Packages.pytest ];
@@ -20,14 +20,13 @@ stdenv.mkDerivation rec {
     python3 -m pytest test.py
   '';
 
-  makeFlags = [ "CC=cc" ];
   installFlags = [ "DESTDIR=$(out)" "PREFIX=" ];
 
   meta = {
     description = "Storage conversion and expression calculator";
     homepage = https://github.com/jarun/bcal;
     license = licenses.gpl3;
-    platforms = [ "x86_64-darwin" "x86_64-linux" ];
+    platforms = [ "aarch64-linux" "x86_64-darwin" "x86_64-linux" ];
     maintainers = with maintainers; [ jfrankenau ];
   };
 }
diff --git a/pkgs/applications/science/math/calc/default.nix b/pkgs/applications/science/math/calc/default.nix
index 5787cb3d6b8..9d95960bde2 100644
--- a/pkgs/applications/science/math/calc/default.nix
+++ b/pkgs/applications/science/math/calc/default.nix
@@ -1,47 +1,49 @@
-{ stdenv, fetchurl, makeWrapper, glibc, readline, ncurses, utillinux }:
+{ stdenv, lib, fetchurl, utillinux, makeWrapper
+, enableReadline ? true, readline, ncurses }:
 
-with stdenv.lib;
-let
-  makeFlags = ''
-    INCDIR=${glibc.dev}/include \
-    BINDIR=$out/bin LIBDIR=$out/lib CALC_INCDIR=$out/include/calc CALC_SHAREDIR=$out/share/calc MANDIR=$out/share/man/man1 \
-    USE_READLINE=-DUSE_READLINE READLINE_LIB=-lreadline READLINE_EXTRAS='-lhistory -lncurses' \
-    TERMCONTROL=-DUSE_TERMIOS \
-  '';
-in
 stdenv.mkDerivation rec {
-
   name = "calc-${version}";
-  version = "2.12.6.3";
+  version = "2.12.6.6";
 
   src = fetchurl {
-    url = "https://github.com/lcn2/calc/releases/download/${version}/${name}.tar.bz2";
-    sha256 = "01m20s5zs74zyb23x6zg6i13gc30a2ay2iz1rdbkxram01cblzky";
+    urls = [
+      "https://github.com/lcn2/calc/releases/download/${version}/${name}.tar.bz2"
+      "http://www.isthe.com/chongo/src/calc/${name}.tar.bz2"
+    ];
+    sha256 = "03sg1xhin6qsrz82scf96mmzw8lz1yj68rhj4p4npp4s0fawc9d5";
   };
 
-  buildInputs = [ makeWrapper readline ncurses utillinux ];
-
-  configurePhase = ''
-    sed -i 's/all: check_include/all:/' Makefile
-  '';
-
-  buildPhase = ''
-    make ${makeFlags}
-  '';
-
-  installPhase = ''
-    make install ${makeFlags}
-    wrapProgram $out/bin/calc --prefix LD_LIBRARY_PATH : $out/lib
+  patchPhase = ''
+    substituteInPlace Makefile \
+      --replace 'all: check_include' 'all:' \
+      --replace '-install_name ''${LIBDIR}/libcalc''${LIB_EXT_VERSION}' '-install_name ''${T}''${LIBDIR}/libcalc''${LIB_EXT_VERSION}' \
+      --replace '-install_name ''${LIBDIR}/libcustcalc''${LIB_EXT_VERSION}' '-install_name ''${T}''${LIBDIR}/libcustcalc''${LIB_EXT_VERSION}'
   '';
 
-  # Hack to avoid TMPDIR in RPATHs.
-  preFixup = ''rm -rf "$(pwd)" '';
-
-  meta = {
+  buildInputs = [ utillinux makeWrapper ]
+             ++ lib.optionals enableReadline [ readline ncurses ];
+
+  makeFlags = [
+    "T=$(out)"
+    "INCDIR=${lib.getDev stdenv.cc.libc}/include"
+    "BINDIR=/bin"
+    "LIBDIR=/lib"
+    "CALC_SHAREDIR=/share/calc"
+    "CALC_INCDIR=/include"
+    "MANDIR=/share/man/man1"
+
+    # Handle LDFLAGS defaults in calc
+    "DEFAULT_LIB_INSTALL_PATH=$(out)/lib"
+  ] ++ lib.optionals enableReadline [
+    "READLINE_LIB=-lreadline"
+    "USE_READLINE=-DUSE_READLINE"
+  ];
+
+  meta = with lib; {
     description = "C-style arbitrary precision calculator";
     homepage = http://www.isthe.com/chongo/tech/comp/calc/;
     license = licenses.lgpl21;
-    maintainers = [ ];
+    maintainers = with maintainers; [ matthewbauer ];
     platforms = platforms.all;
   };
 }
diff --git a/pkgs/applications/science/math/ecm/default.nix b/pkgs/applications/science/math/ecm/default.nix
index 44dc7af98c1..7b768f7077e 100644
--- a/pkgs/applications/science/math/ecm/default.nix
+++ b/pkgs/applications/science/math/ecm/default.nix
@@ -2,7 +2,7 @@
 
 let
   pname = "ecm";
-  version = "6.4.4";
+  version = "7.0.4";
   name = "${pname}-${version}";
 in
 
@@ -10,8 +10,8 @@ stdenv.mkDerivation {
   inherit name;
 
   src = fetchurl {
-    url = http://gforge.inria.fr/frs/download.php/file/32159/ecm-6.4.4.tar.gz;
-    sha256 = "0v5h2nicz9yx78c2d72plbhi30iq4nxbvphja1s9501db4aah4y8";
+    url = "http://gforge.inria.fr/frs/download.php/file/36224/ecm-${version}.tar.gz";
+    sha256 = "0hxs24c2m3mh0nq1zz63z3sb7dhy1rilg2s1igwwcb26x3pb7xqc";
   };
 
   # See https://trac.sagemath.org/ticket/19233
diff --git a/pkgs/applications/science/math/fricas/default.nix b/pkgs/applications/science/math/fricas/default.nix
index 7e5233180cc..553905c2195 100644
--- a/pkgs/applications/science/math/fricas/default.nix
+++ b/pkgs/applications/science/math/fricas/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, sbcl, libX11, libXpm, libICE, libSM, libXt, libXau, libXdmcp }:
 
 let
-  version = "1.3.2";
+  version = "1.3.3";
   name = "fricas-" + version;
 in
 stdenv.mkDerivation {
@@ -9,7 +9,7 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url    = "http://sourceforge.net/projects/fricas/files/fricas/${version}/${name}-full.tar.bz2";
-    sha256 = "17a3vfvsn2idydqslf5r6z3sk6a5bdgj6z1n3dmnwmpkc4z152vr";
+    sha256 = "1avp9mbl5yn192c7kz5c2d18k33hay9lwii363b0v5hj3qgq2hhl";
   };
 
   buildInputs = [ sbcl libX11 libXpm libICE libSM libXt libXau libXdmcp ];
diff --git a/pkgs/applications/science/math/gap/default.nix b/pkgs/applications/science/math/gap/default.nix
index 3d9e06527c9..2927701dbd7 100644
--- a/pkgs/applications/science/math/gap/default.nix
+++ b/pkgs/applications/science/math/gap/default.nix
@@ -1,29 +1,80 @@
-{ stdenv, fetchurl, m4, gmp }:
-
-let
-  baseName = "gap";
-  version = "4r8p3";
-
-  pkgVer = "2016_03_19-22_17";
-in
+{ stdenv
+, fetchurl
+, fetchpatch
+, m4
+, gmp
+# don't remove any packages -- results in a ~1.3G size increase
+# see https://github.com/NixOS/nixpkgs/pull/38754 for a discussion
+, keepAllPackages ? true
+}:
 
 stdenv.mkDerivation rec {
-  name = "${baseName}-${version}";
+  pname = "gap";
+  # https://www.gap-system.org/Releases/
+  # newer versions (4.9.0) are available, but still considered beta (https://github.com/gap-system/gap/wiki/GAP-4.9-release-notes)
+  version = "4r8p10";
+  pkgVer = "2018_01_15-13_02";
+  name = "${pname}-${version}";
 
-  src = fetchurl {
-    url = "ftp://ftp.gap-system.org/pub/gap/gap48/tar.gz/${baseName}${version}_${pkgVer}.tar.gz";
-    sha256 = "1rmb0lj43avv456sjwb7ia3y0wwk5shlqylpkdwnnqpjnvjbnzv6";
+  src = let
+    # 4r8p10 -> 48
+    majorminor = stdenv.lib.replaceStrings ["r"] [""] (
+      builtins.head (stdenv.lib.splitString "p" version) # 4r8p10 -> 4r8
+    );
+  in
+    fetchurl {
+    url = "https://www.gap-system.org/pub/gap/gap${majorminor}/tar.bz2/gap${version}_${pkgVer}.tar.bz2";
+    sha256 = "0wzfdjnn6sfiaizbk5c7x44rhbfayis4lf57qbqqg84c7dqlwr6f";
   };
 
+  # remove all non-essential packages (which take up a lot of space)
+  preConfigure = stdenv.lib.optionalString (!keepAllPackages) ''
+    find pkg -type d -maxdepth 1 -mindepth 1 \
+       -not -name 'GAPDoc-*' \
+       -not -name 'autpgrp*' \
+       -exec echo "Removing package {}" \; \
+       -exec rm -r {} \;
+  '';
+
   configureFlags = [ "--with-gmp=system" ];
   buildInputs = [ m4 gmp ];
-  
+
+  patches = [
+    #  fix infinite loop in writeandcheck() when writing an error message fails.
+    (fetchpatch {
+      url = "https://git.sagemath.org/sage.git/plain/build/pkgs/gap/patches/writeandcheck.patch?id=07d6c37d18811e2b377a9689790a7c5e24da16ba";
+      sha256 = "1r1511x4kc2i2mbdq1b61rb6p3misvkf1v5qy3z6fmn6vqwziaz1";
+    })
+  ];
+
+  doCheck = true;
+  checkTarget = "testinstall";
+  # "teststandard" is a superset of testinstall. It takes ~1h instead of ~1min.
+  # tests are run twice, once with all packages loaded and once without
+  # checkTarget = "teststandard";
+
+  preCheck = ''
+    # gap tests check that the home directory exists
+    export HOME="$TMP/gap-home"
+    mkdir -p "$HOME"
+  '';
+
+  postCheck = ''
+    # The testsuite doesn't exit with a non-zero exit code on failure.
+    # It leaves its logs in dev/log however.
+
+    # grep for error messages
+    if grep ^##### dev/log/*; then
+        exit 1
+    fi
+  '';
+
   postBuild = ''
     pushd pkg
     bash ../bin/BuildPackages.sh
     popd
   '';
-  
+
   installPhase = ''
     mkdir -p "$out/bin" "$out/share/gap/"
 
@@ -31,7 +82,7 @@ stdenv.mkDerivation rec {
 
     sed -e "/GAP_DIR=/aGAP_DIR='$out/share/gap/build-dir/'" -i "$out/share/gap/build-dir/bin/gap.sh"
 
-    ln -s "$out/share/gap/build-dir/bin/gap.sh" "$out/bin"
+    ln -s "$out/share/gap/build-dir/bin/gap.sh" "$out/bin/gap"
   '';
 
   meta = with stdenv.lib; {
@@ -42,6 +93,10 @@ stdenv.mkDerivation rec {
       chrisjefferson
     ];
     platforms = platforms.all;
+    # keeping all packages increases the package size considerably, wchich
+    # is why a local build is preferable in that situation. The timeframe
+    # is reasonable and that way the binary cache doesn't get overloaded.
+    hydraPlatforms = stdenv.lib.optionals (!keepAllPackages) meta.platforms;
     license = licenses.gpl2;
     homepage = http://gap-system.org/;
   };
diff --git a/pkgs/applications/science/math/geogebra/default.nix b/pkgs/applications/science/math/geogebra/default.nix
index ef6b266eaaf..9e2c55d567c 100644
--- a/pkgs/applications/science/math/geogebra/default.nix
+++ b/pkgs/applications/science/math/geogebra/default.nix
@@ -2,20 +2,16 @@
 
 stdenv.mkDerivation rec {
   name = "geogebra-${version}";
-  version = "5-0-382-0";
+  version = "5-0-444-0";
 
   preferLocalBuild = true;
 
   src = fetchurl {
     urls = [
-      "http://download.geogebra.org/installers/5.0/GeoGebra-Linux-Portable-${version}.tar.bz2"
-
-      # Fallback for 5-0-382-0
-      # To avoid breaks when latest geogebra version is
-      # removed from `download.geogebra.org`
-      "http://web.archive.org/web/20170818191250/http://download.geogebra.org/installers/5.0/GeoGebra-Linux-Portable-5-0-382-0.tar.bz2"
+      "https://download.geogebra.org/installers/5.0/GeoGebra-Linux-Portable-${version}.tar.bz2"
+      "http://web.archive.org/web/20180325075100/http://download.geogebra.org/installers/5.0/GeoGebra-Linux-Portable-${version}.tar.bz2"
     ];
-    sha256 = "0xqln1ssm35q8ry4a0ly8rkgw41brmrhn26l6q6r0qqrnw85cnyv";
+    sha256 = "1x2h40m62zbhmy42hln5gjj3fwk4b6803v3k9agpv5c6j468sq0p";
   };
 
   srcIcon = fetchurl {
diff --git a/pkgs/applications/science/math/gfan/default.nix b/pkgs/applications/science/math/gfan/default.nix
index 9a9a1ff762f..65d551f39a7 100644
--- a/pkgs/applications/science/math/gfan/default.nix
+++ b/pkgs/applications/science/math/gfan/default.nix
@@ -2,11 +2,11 @@
 stdenv.mkDerivation rec {
   name = "${pname}-${version}";
   pname = "gfan";
-  version = "0.6";
+  version = "0.6.2";
 
   src = fetchurl {
     url = "http://home.math.au.dk/jensen/software/gfan/gfan${version}.tar.gz";
-    sha256 = "02d6dvzfwy0lnidfgf98052jfqwy285nfm1h5nnx7jbgic1nnpgz";
+    sha256 = "02pihqb1lb76a0xbfwjzs1cd6ay3ldfxsm8dvsbl6qs3vkjxax56";
   };
 
   makeFlags = ''PREFIX=$(out) CC=cc CXX=c++ cddnoprefix=1'';
diff --git a/pkgs/applications/science/math/giac/default.nix b/pkgs/applications/science/math/giac/default.nix
index e29ff24e250..d32beeef4f4 100644
--- a/pkgs/applications/science/math/giac/default.nix
+++ b/pkgs/applications/science/math/giac/default.nix
@@ -1,5 +1,5 @@
-{ stdenv, fetchurl, texlive, bison, flex
-, gmp, mpfr, pari, ntl, gsl, blas, mpfi, liblapackWithAtlas
+{ stdenv, fetchurl, fetchpatch, texlive, bison, flex, liblapackWithoutAtlas
+, gmp, mpfr, pari, ntl, gsl, blas, mpfi
 , readline, gettext, libpng, libao, gfortran, perl
 , enableGUI ? false, libGLU_combined ? null, xorg ? null, fltk ? null
 }:
@@ -9,13 +9,22 @@ assert enableGUI -> libGLU_combined != null && xorg != null && fltk != null;
 stdenv.mkDerivation rec {
   name = "${attr}-${version}";
   attr = if enableGUI then "giac-with-xcas" else "giac";
-  version = "1.4.9";
+  version = "1.4.9-59";
 
   src = fetchurl {
-    url = "https://www-fourier.ujf-grenoble.fr/~parisse/giac/giac-${version}.tar.bz2";
-    sha256 = "1n7xxgpqrsq7cv5wgcmgag6jvxw5wijkf1yv1r5aizlf1rc7dhai";
+    url = "https://www-fourier.ujf-grenoble.fr/~parisse/debian/dists/stable/main/source/giac_${version}.tar.gz";
+    sha256 = "0dv5p5y6gkrsmz3xa7fw87rjyabwdwk09mqb09kb7gai9n9dgayk";
   };
 
+  patches = stdenv.lib.optionals (!enableGUI) [
+    # when enableGui is false, giac is compiled without fltk. That means some
+    # outputs differ in the make check. Patch around this:
+    (fetchpatch {
+      url    = "https://git.sagemath.org/sage.git/plain/build/pkgs/giac/patches/nofltk-check.patch?id=7553a3c8dfa7bcec07241a07e6a4e7dcf5bb4f26";
+      sha256 = "0xkmfc028vg5w6va04gp2x2iv31n8v4shd6vbyvk4blzgfmpj2cw";
+    })
+  ];
+
   postPatch = ''
     for i in doc/*/Makefile*; do
       substituteInPlace "$i" --replace "/bin/cp" "cp";
@@ -28,19 +37,21 @@ stdenv.mkDerivation rec {
 
   # perl is only needed for patchShebangs fixup.
   buildInputs = [
-    gmp mpfr pari ntl gsl blas mpfi liblapackWithAtlas
+    gmp mpfr pari ntl gsl blas mpfi
     readline gettext libpng libao perl
     # gfortran.cc default output contains static libraries compiled without -fPIC
     # we want libgfortran.so.3 instead
     (stdenv.lib.getLib gfortran.cc)
+    liblapackWithoutAtlas
   ] ++ stdenv.lib.optionals enableGUI [
     libGLU_combined fltk xorg.libX11
   ];
 
-  outputs = [ "out" ];
+  outputs = [ "out" "doc" ];
+
+  doCheck = true;
 
   enableParallelBuilding = true;
-  hardeningDisable = [ "format" "bindnow" "relro" ];
 
   configureFlags = [
     "--enable-gc" "--enable-png" "--enable-gsl" "--enable-lapack"
@@ -57,6 +68,13 @@ stdenv.mkDerivation rec {
     for file in $(find $out -name Makefile) ; do
       sed -i "s@/nix/store/[^/]*/bin/@@" "$file" ;
     done;
+
+    # reference cycle
+    rm "$out/share/giac/doc/el/"{casinter,tutoriel}/Makefile
+
+    mkdir -p "$doc/share/giac"
+    mv "$out/share/giac/doc" "$doc/share/giac"
+    mv "$out/share/giac/examples" "$doc/share/giac"
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/science/math/ginac/default.nix b/pkgs/applications/science/math/ginac/default.nix
index 1956ebdcb0f..944460de9c7 100644
--- a/pkgs/applications/science/math/ginac/default.nix
+++ b/pkgs/applications/science/math/ginac/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, cln, pkgconfig, readline, gmp, python }:
 
 stdenv.mkDerivation rec {
-  name = "ginac-1.7.2";
+  name = "ginac-1.7.4";
 
   src = fetchurl {
     url    = "${meta.homepage}/${name}.tar.bz2";
-    sha256 = "1dyq47gc97jn1r5sy0klxs5b4lzhckyjqgsvwcs2a9ybqmhmpdr4";
+    sha256 = "1vvqv73yk9klbq0mz239zzw77rlp72qcvzci4j1v6rafvji1616n";
   };
 
   propagatedBuildInputs = [ cln ];
diff --git a/pkgs/applications/science/math/gmsh/default.nix b/pkgs/applications/science/math/gmsh/default.nix
index 96b800661a7..33b458ba30a 100644
--- a/pkgs/applications/science/math/gmsh/default.nix
+++ b/pkgs/applications/science/math/gmsh/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchurl, cmake, blas, liblapack, gfortran, gmm, fltk, libjpeg
 , zlib, libGLU_combined, libGLU, xorg }:
 
-let version = "3.0.5"; in
+let version = "3.0.6"; in
 
 stdenv.mkDerivation {
   name = "gmsh-${version}";
 
   src = fetchurl {
     url = "http://gmsh.info/src/gmsh-${version}-source.tgz";
-    sha256 = "ae39ed81178d94b76990b8c89b69a5ded8910fd8f7426b800044d00373d12a93";
+    sha256 = "0ywqhr0zmdhn8dvi6l8z1vkfycyv67fdrz6b95mb39np832bq04p";
   };
 
   # The original CMakeLists tries to use some version of the Lapack lib
diff --git a/pkgs/applications/science/math/jags/default.nix b/pkgs/applications/science/math/jags/default.nix
index a30343dd0b9..2925e601e32 100644
--- a/pkgs/applications/science/math/jags/default.nix
+++ b/pkgs/applications/science/math/jags/default.nix
@@ -1,10 +1,10 @@
 {stdenv, fetchurl, gfortran, openblas}:
 
 stdenv.mkDerivation rec {
-  name = "JAGS-4.1.0";
+  name = "JAGS-4.3.0";
   src = fetchurl {
     url = "mirror://sourceforge/mcmc-jags/${name}.tar.gz";
-    sha256 = "08pmrnbwibc0brgn5cx860jcl0s2xaw4amw7g45649r1bcdz7v25";
+    sha256 = "1z3icccg2ic56vmhyrpinlsvpq7kcaflk1731rgpvz9bk1bxvica";
   };
   buildInputs = [gfortran openblas];
   configureFlags = [ "--with-blas=-lopenblas" "--with-lapack=-lopenblas" ];
diff --git a/pkgs/applications/science/math/lrcalc/default.nix b/pkgs/applications/science/math/lrcalc/default.nix
new file mode 100644
index 00000000000..9e02b08c8ad
--- /dev/null
+++ b/pkgs/applications/science/math/lrcalc/default.nix
@@ -0,0 +1,41 @@
+{ stdenv
+, fetchFromBitbucket
+, fetchpatch
+, autoreconfHook
+}:
+
+stdenv.mkDerivation rec {
+  version = "1.2";
+  pname = "lrcalc";
+  name = "${pname}-${version}";
+
+  src = fetchFromBitbucket {
+    owner = "asbuch";
+    repo = "lrcalc";
+    rev = "lrcalc-${version}";
+    sha256 = "1c12d04jdyxkkav4ak8d1aqrv594gzihwhpxvc6p9js0ry1fahss";
+  };
+
+  doCheck = true;
+
+  nativeBuildInputs = [
+    autoreconfHook
+  ];
+
+  patches = [
+    # Fix include syntax:
+    # For private includes, use `#include "..."` instead of `#include <...>`
+    (fetchpatch {
+      url = "https://bitbucket.org/asbuch/lrcalc/commits/226981a0/raw/";
+      sha256 = "02kaqx5s3l642rhh28kn2wg9wr098vzpknxyl4pv627lqa3lv9vm";
+    })
+  ];
+
+  meta = with stdenv.lib; {
+    description = "Littlewood-Richardson calculator";
+    homepage = http://math.rutgers.edu/~asbuch/lrcalc/;
+    license = licenses.gpl2Plus;
+    maintainers = with maintainers; [ timokau ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/science/math/mathematica/default.nix b/pkgs/applications/science/math/mathematica/default.nix
index 1c86097f2ee..97781a69ce6 100644
--- a/pkgs/applications/science/math/mathematica/default.nix
+++ b/pkgs/applications/science/math/mathematica/default.nix
@@ -1,7 +1,7 @@
 { stdenv
 , coreutils
 , patchelf
-, requireFile
+, callPackage
 , alsaLib
 , dbus
 , fontconfig
@@ -18,6 +18,9 @@
 , zlib
 , libxml2
 , libuuid
+, lang ? "en"
+, libGL
+, libGLU
 }:
 
 let
@@ -26,21 +29,15 @@ let
       "Linux"
     else
       throw "Mathematica requires i686-linux or x86_64 linux";
+
+  l10n =
+    with stdenv.lib;
+    with callPackage ./l10ns.nix {};
+    flip (findFirst (l: l.lang == lang)) l10ns
+      (throw "Language '${lang}' not supported");
 in
 stdenv.mkDerivation rec {
-  version = "11.2.0";
-
-  name = "mathematica-${version}";
-
-  src = requireFile rec {
-    name = "Mathematica_${version}_LINUX.sh";
-    message = '' 
-      This nix expression requires that ${name} is
-      already part of the store. Find the file on your Mathematica CD
-      and add it to the nix store with nix-store --add-fixed sha256 <FILE>.
-    '';
-    sha256 = "4a1293cc1c404303aa1cab1bd273c7be151d37ac5ed928fbbb18e9c5ab2d8df9";
-  };
+  inherit (l10n) version name src;
 
   buildInputs = [
     coreutils
@@ -61,6 +58,8 @@ stdenv.mkDerivation rec {
     libxml2
     libuuid
     zlib
+    libGL
+    libGLU
   ] ++ (with xorg; [
     libX11
     libXext
diff --git a/pkgs/applications/science/math/mathematica/l10ns.nix b/pkgs/applications/science/math/mathematica/l10ns.nix
new file mode 100644
index 00000000000..2158021c754
--- /dev/null
+++ b/pkgs/applications/science/math/mathematica/l10ns.nix
@@ -0,0 +1,33 @@
+{ lib, requireFile }:
+
+with lib;
+{
+  l10ns = flip map
+  [
+    {
+      version = "11.2.0";
+      lang = "en";
+      language = "English";
+      sha256 = "4a1293cc1c404303aa1cab1bd273c7be151d37ac5ed928fbbb18e9c5ab2d8df9";
+    }
+    {
+      version = "11.2.0";
+      lang = "ja";
+      language = "Japanese";
+      sha256 = "916392edd32bed8622238df435dd8e86426bb043038a3336f30df10d819b49b1";
+    }
+  ]
+  ({ version, lang, language, sha256 }: {
+    inherit version lang;
+    name = "mathematica-${version}" + optionalString (lang != "en") "-${lang}";
+    src = requireFile rec {
+      name = "Mathematica_${version}" + optionalString (lang != "en") "_${language}" + "_LINUX.sh";
+      message = ''
+        This nix expression requires that ${name} is
+        already part of the store. Find the file on your Mathematica CD
+        and add it to the nix store with nix-store --add-fixed sha256 <FILE>.
+      '';
+      inherit sha256;
+    };
+  });
+}
diff --git a/pkgs/applications/science/math/maxima/default.nix b/pkgs/applications/science/math/maxima/default.nix
index d6d3b505e35..892b9d9520e 100644
--- a/pkgs/applications/science/math/maxima/default.nix
+++ b/pkgs/applications/science/math/maxima/default.nix
@@ -1,5 +1,5 @@
-{ stdenv, fetchurl, sbcl, texinfo, perl, python, makeWrapper, rlwrap ? null,
-tk ? null, gnuplot ? null, ecl ? null, ecl-fasl ? false
+{ stdenv, fetchurl, fetchpatch, sbcl, texinfo, perl, python, makeWrapper, rlwrap ? null
+, tk ? null, gnuplot ? null, ecl ? null, ecl-fasl ? false
 }:
 
 let
@@ -11,6 +11,7 @@ let
       (stdenv.lib.filter (x: x != null) [ sbcl ecl rlwrap tk gnuplot ]);
 in
 stdenv.mkDerivation ({
+  inherit version;
   name = "${name}-${version}";
 
   src = fetchurl {
@@ -18,8 +19,9 @@ stdenv.mkDerivation ({
     sha256 = "0x0n81z0s4pl8nwpf7ivlsbvsdphm9w42250g7qdkizl0132by6s";
   };
 
-  buildInputs = stdenv.lib.filter (x: x != null)
-    [sbcl ecl texinfo perl python makeWrapper];
+  buildInputs = stdenv.lib.filter (x: x != null) [
+    sbcl ecl texinfo perl python makeWrapper
+  ];
 
   postInstall = ''
     # Make sure that maxima can find its runtime dependencies.
@@ -36,6 +38,43 @@ stdenv.mkDerivation ({
    '')
   ;
 
+  patches = [
+    # fix path to info dir (see https://trac.sagemath.org/ticket/11348)
+    (fetchpatch {
+      url = "https://git.sagemath.org/sage.git/plain/build/pkgs/maxima/patches/infodir.patch?id=07d6c37d18811e2b377a9689790a7c5e24da16ba";
+      sha256 = "09v64n60f7i6frzryrj0zd056lvdpms3ajky4f9p6kankhbiv21x";
+    })
+
+    # fix https://sourceforge.net/p/maxima/bugs/2596/
+    (fetchpatch {
+      url = "https://git.sagemath.org/sage.git/plain/build/pkgs/maxima/patches/matrixexp.patch?id=07d6c37d18811e2b377a9689790a7c5e24da16ba";
+      sha256 = "06961hn66rhjijfvyym21h39wk98sfxhp051da6gz0n9byhwc6zg";
+    })
+
+    # undo https://sourceforge.net/p/maxima/code/ci/f5e9b0f7eb122c4e48ea9df144dd57221e5ea0ca, see see https://trac.sagemath.org/ticket/13364#comment:93
+    (fetchpatch {
+      url = "https://git.sagemath.org/sage.git/plain/build/pkgs/maxima/patches/undoing_true_false_printing_patch.patch?id=07d6c37d18811e2b377a9689790a7c5e24da16ba";
+      sha256 = "0fvi3rcjv6743sqsbgdzazy9jb6r1p1yq63zyj9fx42wd1hgf7yx";
+    })
+
+    # upstream bug https://sourceforge.net/p/maxima/bugs/2520/ (not fixed)
+    # introduced in https://trac.sagemath.org/ticket/13364
+    (fetchpatch {
+      url = "https://git.sagemath.org/sage.git/plain/build/pkgs/maxima/patches/0001-taylor2-Avoid-blowing-the-stack-when-diff-expand-isn.patch?id=07d6c37d18811e2b377a9689790a7c5e24da16ba";
+      sha256 = "0xa0b6cr458zp7lc7qi0flv5ar0r3ivsqhjl0c3clv86di2y522d";
+    })
+  ] ++ stdenv.lib.optionals ecl-fasl [
+    # build fasl, needed for ECL support
+    (fetchpatch {
+      url = "https://git.sagemath.org/sage.git/plain/build/pkgs/maxima/patches/maxima.system.patch?id=07d6c37d18811e2b377a9689790a7c5e24da16ba";
+      sha256 = "18zafig8vflhkr80jq2ivk46k92dkszqlyq8cfmj0b2vcfjwwbar";
+    })
+    # There are some transient test failures. I hope this disables all those tests.
+    # If those test failures ever happen in the non-ecl version, that should be
+    # reportetd upstream.
+    ./known-ecl-failures.patch
+  ];
+
   # Failures in the regression test suite won't abort the build process. We run
   # the suite only so that potential errors show up in the build log. See also:
   # http://sourceforge.net/tracker/?func=detail&aid=3365831&group_id=4933&atid=104933.
@@ -57,10 +96,5 @@ stdenv.mkDerivation ({
 
     platforms = stdenv.lib.platforms.unix;
     maintainers = [ stdenv.lib.maintainers.peti ];
-    broken = ecl != null;
   };
-} // (stdenv.lib.optionalAttrs ecl-fasl {
-  preConfigure = ''
-    sed -e '/c::build-program "binary-ecl\/maxima"/i(c::build-fasl "binary-ecl\/maxima.fasl" :lisp-files obj :ld-flags (let ((x (symbol-value (find-symbol "*AUTOCONF-LD-FLAGS*" (find-package "MAXIMA"))))) (if (and x (not (string= x ""))) (list x))))' -i src/maxima.system
-  '';
-}))
+})
diff --git a/pkgs/applications/science/math/maxima/known-ecl-failures.patch b/pkgs/applications/science/math/maxima/known-ecl-failures.patch
new file mode 100644
index 00000000000..f1d612d993e
--- /dev/null
+++ b/pkgs/applications/science/math/maxima/known-ecl-failures.patch
@@ -0,0 +1,21 @@
+diff --git a/tests/testsuite.lisp b/tests/testsuite.lisp
+index 45a81f4..36c35b8 100644
+--- a/tests/testsuite.lisp
++++ b/tests/testsuite.lisp
+@@ -25,13 +25,14 @@
+         ((mlist simp) "rtest10" 24 25)
+         ((mlist) "rtest11" #+(or gcl cmucl ccl64) 158 #+(or gcl cmucl ccl64) 174 #+gcl 175)
+         "rtest13" "rtest13s"
+-        "rtest14"
++        ;; "rtest14" ;; some tests sometimes fail with ecl, hard to reproduce. Observed failing: 250, 267, 297, 307, 310, 312, 315, 319
+         "rtest15"
+ 	;; ccl versions 1.11 and earlier fail test 50.  Mark it as a
+ 	;; known failure.  Presumably 1.12 will have this fixed.
+         ((mlist simp) "rtest16" #+ccl 50)
+         "rtestode" "rtestode_zp"
+-        "rtest3" "rtest8"
++        "rtest3"
++        ((mlist simp) "rtest8" 104) ;; fails with ecl
+         ((mlist simp) "rtest12" 76 78)
+         "rexamples"
+         ((mlist simp) "rtesthyp" 105 112 113 123 124 128)
diff --git a/pkgs/applications/science/math/nasc/default.nix b/pkgs/applications/science/math/nasc/default.nix
new file mode 100644
index 00000000000..8efe8d9da94
--- /dev/null
+++ b/pkgs/applications/science/math/nasc/default.nix
@@ -0,0 +1,71 @@
+{ stdenv
+, bash
+, gnused
+, fetchFromGitHub
+, gettext
+, pkgconfig
+, gtk3
+, granite
+, gnome3
+, cmake
+, ninja
+, vala
+, libqalculate
+, elementary-cmake-modules
+, wrapGAppsHook }:
+
+stdenv.mkDerivation rec {
+  name = "nasc-${version}";
+  version = "0.4.6";
+
+  src = fetchFromGitHub {
+    owner = "parnold-x";
+    repo = "nasc";
+    rev = version;
+    sha256 = "01n4ldj5phrsv97vb04qvs9c1ip6v8wygx9llj704hly1il9fb54";
+  };
+
+  XDG_DATA_DIRS = stdenv.lib.concatStringsSep ":" [
+    "${granite}/share"
+    "${gnome3.libgee}/share"
+  ];
+
+  nativeBuildInputs = [
+    pkgconfig
+    wrapGAppsHook
+    vala
+    cmake
+    gettext
+  ];
+  buildInputs = [
+    libqalculate
+    gtk3
+    granite
+    gnome3.libgee
+    gnome3.libsoup
+    gnome3.gtksourceview
+  ];
+
+  prePatch = ''
+    substituteInPlace ./libqalculatenasc/libtool \
+      --replace "/bin/bash" "${bash}/bin/bash" \
+      --replace "/bin/sed" "${gnused}/bin/sed"
+    substituteInPlace ./libqalculatenasc/configure.inc \
+      --replace 'ac_default_path="/sbin:/usr/sbin:/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin"' 'ac_default_path=$PATH'
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Do maths like a normal person";
+    longDescription = ''
+      It’s an app where you do maths like a normal person. It lets you
+      type whatever you want and smartly figures out what is math and
+      spits out an answer on the right pane. Then you can plug those
+      answers in to future equations and if that answer changes, so does
+      the equations it’s used in.
+    '';
+    homepage = https://github.com/parnold-x/nasc;
+    maintainers = with maintainers; [ samdroid-apps ];
+    platforms = platforms.linux;
+    license = licenses.gpl3Plus;
+  };
+}
diff --git a/pkgs/applications/science/math/palp/default.nix b/pkgs/applications/science/math/palp/default.nix
new file mode 100644
index 00000000000..3484c369db3
--- /dev/null
+++ b/pkgs/applications/science/math/palp/default.nix
@@ -0,0 +1,67 @@
+{ stdenv
+, fetchurl
+, dimensions ? 6 # works for <= dimensions dimensions, but is only optimized for that exact value
+, doSymlink ? true # symlink the executables to the default location (without dimension postfix)
+}:
+
+stdenv.mkDerivation rec {
+  version = "2.1";
+  dim = toString dimensions;
+  name = "palp-${dim}d-${version}";
+
+  src = fetchurl {
+    url = "http://hep.itp.tuwien.ac.at/~kreuzer/CY/palp/palp-${version}.tar.gz";
+    sha256 = "1s7s2lc5f0ig1yy7ygsh3sddm3sbq4mxwybqsj8lp9wjdxs7qfrs";
+  };
+
+  hardeningDisable = [ "format" ];
+
+  preBuild = ''
+      echo Building PALP optimized for ${dim} dimensions
+      sed -i "s/^#define[^a-zA-Z]*POLY_Dmax.*/#define POLY_Dmax ${dim}/" Global.h
+  '';
+
+  installPhase = ''
+    mkdir -p "$out/bin"
+    for file in poly class cws nef mori; do
+        cp -p $file.x "$out/bin/$file-${dim}d.x"
+    done
+  '' + stdenv.lib.optionalString doSymlink ''
+    cd "$out/bin"
+    for file in poly class cws nef mori; do
+        ln -sf $file-6d.x $file.x
+    done
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A Package for Analyzing Lattice Polytopes";
+    longDescription = ''
+      A Package for Analyzing Lattice Polytopes (PALP) is a set of C
+      programs for calculations with lattice polytopes and applications to
+      toric geometry.
+
+      It contains routines for vertex and facet enumeration, computation of
+      incidences and symmetries, as well as completion of the set of lattice
+      points in the convex hull of a given set of points. In addition, there
+      are procedures specialised to reflexive polytopes such as the
+      enumeration of reflexive subpolytopes, and applications to toric
+      geometry and string theory, like the computation of Hodge data and
+      fibration structures for toric Calabi-Yau varieties.  The package is
+      well tested and optimised in speed as it was used for time consuming
+      tasks such as the classification of reflexive polyhedra in 4
+      dimensions and the creation and manipulation of very large lists of
+      5-dimensional polyhedra.
+
+      While originally intended for low-dimensional applications, the
+      algorithms work in any dimension and our key routine for vertex and
+      facet enumeration compares well with existing packages.
+    '';
+    homepage = http://hep.itp.tuwien.ac.at/~kreuzer/CY/CYpalp.html;
+    # Just a link on the website pointing to gpl -- now gplv3. When the last
+    # version was released that pointed to gplv2 however, so thats probably
+    # the right license.
+    license = licenses.gpl2;
+    maintainers = with maintainers; [ timokau ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/applications/science/math/pari/default.nix b/pkgs/applications/science/math/pari/default.nix
index a1ddbd9ab17..8c24881f215 100644
--- a/pkgs/applications/science/math/pari/default.nix
+++ b/pkgs/applications/science/math/pari/default.nix
@@ -1,5 +1,9 @@
 { stdenv, fetchurl
-, gmp, readline, libX11, libpthreadstubs, tex, perl }:
+, gmp, readline, libX11, tex, perl
+, withThread ? true, libpthreadstubs
+}:
+
+assert withThread -> libpthreadstubs != null;
 
 stdenv.mkDerivation rec {
 
@@ -11,14 +15,22 @@ stdenv.mkDerivation rec {
     sha256 = "0ir6m3a8r46md5x6zk4xf159qra7aqparby9zk03k81hjrrxr72g";
   };
 
-  buildInputs = [ gmp readline libX11 libpthreadstubs tex perl ];
+  buildInputs = [
+    gmp
+    readline
+    libX11
+    tex
+    perl
+  ] ++ stdenv.lib.optionals withThread [
+    libpthreadstubs
+  ];
 
   configureScript = "./Configure";
   configureFlags = [
-    "--mt=pthread"
     "--with-gmp=${gmp.dev}"
     "--with-readline=${readline.dev}"
-  ] ++ stdenv.lib.optional stdenv.isDarwin "--host=x86_64-darwin";
+  ] ++ stdenv.lib.optional stdenv.isDarwin "--host=x86_64-darwin"
+  ++ stdenv.lib.optional withThread "--mt=pthread";
 
   preConfigure = ''
     export LD=$CC
diff --git a/pkgs/applications/science/math/pari/gp2c.nix b/pkgs/applications/science/math/pari/gp2c.nix
index 007514e6552..b3e36b6bf20 100644
--- a/pkgs/applications/science/math/pari/gp2c.nix
+++ b/pkgs/applications/science/math/pari/gp2c.nix
@@ -4,11 +4,11 @@
 stdenv.mkDerivation rec {
 
   name = "gp2c-${version}";
-  version = "0.0.10";
+  version = "0.0.10pl1";
 
   src = fetchurl {
     url = "http://pari.math.u-bordeaux.fr/pub/pari/GP2C/${name}.tar.gz";
-    sha256 = "1xhpz5p81iw261ay1kip283ggr0ir8ydz8qx3v24z8jfms1r3y70";
+    sha256 = "16hgmdvzxbmv63x1f72q1xgfyh0qhx7kaf9nbaamy0gdawxjxcav";
   };
 
   buildInputs = [ pari perl ];
diff --git a/pkgs/applications/science/math/pari/unstable.nix b/pkgs/applications/science/math/pari/unstable.nix
deleted file mode 100644
index 65dd3005b4a..00000000000
--- a/pkgs/applications/science/math/pari/unstable.nix
+++ /dev/null
@@ -1,31 +0,0 @@
-{ stdenv, fetchurl, gmp, readline, perl }:
-
-stdenv.mkDerivation rec {
-  version = "2.9.3";
-  name = "pari-unstable-${version}";
-
-  src = fetchurl {
-    url = "http://pari.math.u-bordeaux.fr/pub/pari/unstable/pari-${version}.tar.gz";
-    sha256 = "0qqal1lpggd6dvs19svnz0dil86xk0xkcj5s3b7104ibkmvjfsp7";
-  };
-
-  buildInputs = [gmp readline];
-  nativeBuildInputs = [perl];
-
-  configureScript = "./Configure";
-  configureFlags =
-    "--with-gmp=${gmp.dev} " +
-    "--with-readline=${readline.dev}";
-
-  meta = with stdenv.lib; {
-    description = "Computer algebra system for high-performance number theory computations";
-    homepage    = "http://pari.math.u-bordeaux.fr/";
-    license     = licenses.gpl2Plus;
-    maintainers = with maintainers; [ ertes raskin ];
-    platforms   = platforms.linux;
-
-    inherit version;
-    downloadPage = "http://pari.math.u-bordeaux.fr/download.html";
-    updateWalker = true;
-  };
-}
diff --git a/pkgs/applications/science/math/pspp/default.nix b/pkgs/applications/science/math/pspp/default.nix
index 486a2e69d26..957a4cf6421 100644
--- a/pkgs/applications/science/math/pspp/default.nix
+++ b/pkgs/applications/science/math/pspp/default.nix
@@ -35,6 +35,6 @@ stdenv.mkDerivation rec {
       more traditional syntax commands.
     '';
 
-    platforms = stdenv.lib.platforms.linux;
+    platforms = stdenv.lib.platforms.unix;
   };
 }
diff --git a/pkgs/applications/science/math/pynac/default.nix b/pkgs/applications/science/math/pynac/default.nix
new file mode 100644
index 00000000000..fd566abd9a9
--- /dev/null
+++ b/pkgs/applications/science/math/pynac/default.nix
@@ -0,0 +1,47 @@
+{ stdenv
+, fetchFromGitHub
+, autoreconfHook
+, pkgconfig
+, flint
+, gmp
+, python2
+, singular
+}:
+
+stdenv.mkDerivation rec {
+  version = "0.7.19";
+  name = "pynac-${version}";
+
+  src = fetchFromGitHub {
+    owner = "pynac";
+    repo = "pynac";
+    rev = "pynac-${version}";
+    sha256 = "132bibvapm245c5xy29j3xmjs0pawvw7lv05374m8vv1m39127d3";
+  };
+
+  buildInputs = [
+    flint
+    gmp
+    singular
+    singular
+    python2
+  ];
+
+  nativeBuildInputs = [
+    autoreconfHook
+    pkgconfig
+  ];
+
+  meta = with stdenv.lib; {
+    description = "Python is Not a CAS -- modified version of Ginac";
+    longDescription = ''
+      Pynac -- "Python is Not a CAS" is a modified version of Ginac that
+      replaces the depency of GiNaC on CLN by a dependency instead of Python.
+      It is a lite version of GiNaC as well, not implementing all the features
+      of the full GiNaC, and it is *only* meant to be used as a Python library.
+    '';
+    homepage    = http://pynac.org;
+    maintainers = with maintainers; [ timokau ];
+    platforms   = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/science/math/qalculate-gtk/default.nix b/pkgs/applications/science/math/qalculate-gtk/default.nix
index b02a6553257..ce3f975b85b 100644
--- a/pkgs/applications/science/math/qalculate-gtk/default.nix
+++ b/pkgs/applications/science/math/qalculate-gtk/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "qalculate-gtk-${version}";
-  version = "2.2.1";
+  version = "2.3.0";
 
   src = fetchurl {
     url = "https://github.com/Qalculate/qalculate-gtk/archive/v${version}.tar.gz";
-    sha256 = "0sf4ywz8hsszaf0yr0ncdlp7mwjk6b276bwl0j9vf1j925c89pbn";
+    sha256 = "0j5wp6bmnwkyxlvqci6ddg478a0ms93gicvycw0c6bkvs2gd77az";
   };
 
   patchPhase = ''
diff --git a/pkgs/applications/science/math/sage/default.nix b/pkgs/applications/science/math/sage/default.nix
index eed964e3fa5..b74bcc3d637 100644
--- a/pkgs/applications/science/math/sage/default.nix
+++ b/pkgs/applications/science/math/sage/default.nix
@@ -224,7 +224,7 @@ stdenv.mkDerivation rec {
       Mission: Creating a viable free open source alternative to Magma, Maple, Mathematica and Matlab.
     '';
     license = stdenv.lib.licenses.gpl2Plus;
-    platforms = stdenv.lib.platforms.linux;
+    platforms = ["x86_64-linux" "i686-linux"];
     maintainers = with stdenv.lib.maintainers; [ timokau ];
   };
 }
diff --git a/pkgs/applications/science/math/scilab-bin/default.nix b/pkgs/applications/science/math/scilab-bin/default.nix
index f6e255ee46e..154f1ba39e3 100644
--- a/pkgs/applications/science/math/scilab-bin/default.nix
+++ b/pkgs/applications/science/math/scilab-bin/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, lib, xlibs }:
+{ stdenv, fetchurl, lib, xorg }:
 
 let
   name = "scilab-bin-${ver}";
@@ -33,12 +33,12 @@ stdenv.mkDerivation rec {
 
   libPath = lib.makeLibraryPath [
     stdenv.cc.cc
-    xlibs.libX11
-    xlibs.libXext
-    xlibs.libXi
-    xlibs.libXrender
-    xlibs.libXtst
-    xlibs.libXxf86vm
+    xorg.libX11
+    xorg.libXext
+    xorg.libXi
+    xorg.libXrender
+    xorg.libXtst
+    xorg.libXxf86vm
   ];
 
   phases = [ "unpackPhase" "fixupPhase" "installPhase" ];
diff --git a/pkgs/applications/science/math/singular/default.nix b/pkgs/applications/science/math/singular/default.nix
index 8cd9355a0f6..cec1a831c91 100644
--- a/pkgs/applications/science/math/singular/default.nix
+++ b/pkgs/applications/science/math/singular/default.nix
@@ -1,23 +1,63 @@
 { stdenv, fetchurl, gmp, bison, perl, autoconf, ncurses, readline, coreutils, pkgconfig
-, asLibsingular ? false
+, autoreconfHook
+, file
+, flint
+, ntl
+, cddlib
+, enableFactory ? true
+, enableGfanlib ? true
 }:
 
 stdenv.mkDerivation rec {
-  name = "singular-${version}";
-  version="3-1-7";
+  name = "singular-${version}${patchVersion}";
+  version = "4.1.1";
+  patchVersion = "p1";
 
+  urlVersion = builtins.replaceStrings [ "." ] [ "-" ] version;
   src = fetchurl {
-    url = "http://www.mathematik.uni-kl.de/ftp/pub/Math/Singular/SOURCES/${version}/Singular-${version}.tar.gz";
-    sha256 = "1j4mcpnwzdp3h4qspk6ww0m67rmx4s11cy17pvzbpf70lm0jzzh2";
+    url = "http://www.mathematik.uni-kl.de/ftp/pub/Math/Singular/SOURCES/${urlVersion}/singular-${version}${patchVersion}.tar.gz";
+    sha256 = "0wvgz7l1b7zkpmim0r3mvv4fp8xnhlbz4c7hc90rn30snlansnf1";
   };
 
-  buildInputs = [ gmp perl ncurses readline ];
-  nativeBuildInputs = [ autoconf bison pkgconfig ];
+  configureFlags = [
+    "--with-ntl=${ntl}"
+  ] ++stdenv.lib.optionals enableFactory [
+    "--enable-factory"
+  ] ++ stdenv.lib.optionals enableGfanlib [
+    "--enable-gfanlib"
+  ];
 
-  preConfigure = ''
-    find . -type f -exec sed -e 's@/bin/rm@${coreutils}&@g' -i '{}' ';'
-    find . -type f -exec sed -e 's@/bin/uname@${coreutils}&@g' -i '{}' ';'
-    ${stdenv.lib.optionalString asLibsingular ''NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -DLIBSINGULAR"''}
+  postUnpack = ''
+    patchShebangs .
+  '';
+
+  # For reference (last checked on commit 75f460d):
+  # https://github.com/Singular/Sources/blob/spielwiese/doc/Building-Singular-from-source.md
+  # https://github.com/Singular/Sources/blob/spielwiese/doc/external-packages-dynamic-modules.md
+  buildInputs = [
+    # necessary
+    gmp
+    # by upstream recommended but optional
+    ncurses
+    readline
+    ntl
+    flint
+  ] ++ stdenv.lib.optionals enableGfanlib [
+    cddlib
+  ];
+  nativeBuildInputs = [
+    bison
+    perl
+    pkgconfig
+    autoreconfHook
+  ];
+
+  preAutoreconf = ''
+    find . -type f -readable -writable -exec sed \
+      -e 's@/bin/rm@${coreutils}&@g' \
+      -e 's@/bin/uname@${coreutils}&@g' \
+      -e 's@/usr/bin/file@${file}/bin/file@g' \
+      -i '{}' ';'
   '';
 
   hardeningDisable = stdenv.lib.optional stdenv.isi686 "stackprotector";
@@ -27,17 +67,21 @@ stdenv.mkDerivation rec {
 
   installPhase = ''
     mkdir -p "$out"
-    cp -r Singular/LIB "$out/LIB"
-    make install${stdenv.lib.optionalString asLibsingular "-libsingular"}
-
-    binaries="$(find "$out"/* \( -type f -o -type l \) -perm -111 \! -name '*.so' -maxdepth 1)"
-    ln -s "$out"/*/{include,lib} "$out"
-    mkdir -p "$out/bin"
-    for b in $binaries; do
-      bbn="$(basename "$b")"
-      echo -e '#! ${stdenv.shell}\n"'"$b"'" "$@"' > "$out/bin/$bbn"
-      chmod a+x "$out/bin/$bbn"
-    done
+    cp -r Singular/LIB "$out/lib"
+    make install
+
+    # Make sure patchelf picks up the right libraries
+    rm -rf libpolys factory resources omalloc Singular
+  '';
+
+  # simple test to make sure singular starts and finds its libraries
+  doInstallCheck = true;
+  installCheckPhase = ''
+    $out/bin/Singular -c 'LIB "freegb.lib"; exit;'
+    if [ $? -ne 0 ]; then
+        echo >&2 "Error loading the freegb library in Singular."
+        exit 1
+    fi
   '';
 
   enableParallelBuilding = true;
@@ -47,7 +91,7 @@ stdenv.mkDerivation rec {
     maintainers = with maintainers; [ raskin ];
     platforms = subtractLists platforms.i686 platforms.linux;
     license = licenses.gpl3; # Or GPLv2 at your option - but not GPLv4
-    homepage = http://www.singular.uni-kl.de/index.php;
+    homepage = http://www.singular.uni-kl.de;
     downloadPage = "http://www.mathematik.uni-kl.de/ftp/pub/Math/Singular/SOURCES/";
   };
 }
diff --git a/pkgs/applications/science/math/weka/default.nix b/pkgs/applications/science/math/weka/default.nix
index 6a692e07c43..3bfb22dad93 100644
--- a/pkgs/applications/science/math/weka/default.nix
+++ b/pkgs/applications/science/math/weka/default.nix
@@ -1,28 +1,24 @@
-{ stdenv, fetchurl, jre, unzip }:
+{ stdenv, fetchurl, jre, unzip, makeWrapper }:
 
 stdenv.mkDerivation rec {
   name = "weka-${version}";
-  version = "3.8.2";
+  version = "3.9.2";
 
   src = fetchurl {
     url = "mirror://sourceforge/weka/${stdenv.lib.replaceChars ["."]["-"] name}.zip";
-    sha256 = "0p353lhhcv3swwn1bl64vkyjk480vv9ghhlyqjxiar4p3xifjayb";
+    sha256 = "0zwmhspmqb0a7cm6k6i0s6q3w19ws1g9dx3cp2v3g3vsif6cdh31";
   };
 
-  buildInputs = [ unzip ];
+  buildInputs = [ unzip makeWrapper ];
 
   # The -Xmx1000M comes suggested from their download page:
   # http://www.cs.waikato.ac.nz/ml/weka/downloading.html
   installPhase = ''
-    mkdir -pv $out/share/weka $out/bin
+    mkdir -pv $out/share/weka
     cp -Rv * $out/share/weka
 
-    cat > $out/bin/weka << EOF
-    #!${stdenv.shell}
-    ${jre}/bin/java -Xmx1000M -jar $out/share/weka/weka.jar
-    EOF
-
-    chmod +x $out/bin/weka
+    makeWrapper ${jre}/bin/java $out/bin/weka \
+      --add-flags "-Xmx1000M -jar $out/share/weka/weka.jar"
   '';
 
   meta = {
diff --git a/pkgs/applications/science/math/yacas/default.nix b/pkgs/applications/science/math/yacas/default.nix
index 0f6dc35fe0c..c02ef73df11 100644
--- a/pkgs/applications/science/math/yacas/default.nix
+++ b/pkgs/applications/science/math/yacas/default.nix
@@ -1,44 +1,39 @@
-{stdenv, fetchurl, perl}: 
+{ stdenv, fetchFromGitHub, cmake, perl
+, enableGui ? false, qt5
+, enableJupyter ? false, boost, jsoncpp, openssl, zmqpp
+}:
 
 stdenv.mkDerivation rec {
-  name = "yacas-1.2.2";
+  name = "yacas-${version}";
+  version = "1.6.1";
 
-  src = fetchurl {
-    url = "http://yacas.sourceforge.net/backups/${name}.tar.gz";
-    sha256 = "1dmafm3w0lm5w211nwkfzaid1rvvmgskz7k4500pjhgdczi5sd78";
+  src = fetchFromGitHub {
+    owner = "grzegorzmazur";
+    repo = "yacas";
+    rev = "v${version}";
+    sha256 = "0awvlvf607r4hwl1vkhs6jq2s6ig46c66pmr4vspj2cdnypx99cc";
   };
 
   hardeningDisable = [ "format" ];
 
-  # Perl is only for the documentation
-  nativeBuildInputs = [ perl ];
-
-  patches = [ ./gcc43.patch ];
+  cmakeFlags = [
+    "-DENABLE_CYACAS_GUI=${if enableGui then "ON" else "OFF"}"
+    "-DENABLE_CYACAS_KERNEL=${if enableJupyter then "ON" else "OFF"}"
+  ];
 
-  crossAttrs = {
-    # Trick to get host-built programs needed for the cross-build.
-    # If yacas had proper makefiles, this would not be needed.
-    preConfigure = ''
-      ./configure
-      pushd src
-      make mkfastprimes 
-      cp mkfastprimes ../..
-      popd
-      pushd manmake
-      make manripper removeduplicates
-      cp manripper removeduplicates ../..
-      popd
-    '';
-    preBuild = ''
-      cp ../mkfastprimes ../manripper ../removeduplicates src
-    '';
-  };
+  # Perl is only for the documentation
+  nativeBuildInputs = [ cmake perl ];
+  buildInputs = [
+  ] ++ stdenv.lib.optionals enableGui (with qt5; [ qtbase qtwebkit ])
+    ++ stdenv.lib.optionals enableJupyter [ boost jsoncpp openssl zmqpp ]
+    ;
 
   meta = {
-      description = "Easy to use, general purpose Computer Algebra System";
-      homepage = http://yacas.sourceforge.net/;
-      license = stdenv.lib.licenses.gpl2Plus;
-      maintainers = with stdenv.lib.maintainers; [viric];
-      platforms = with stdenv.lib.platforms; linux;
+    description = "Easy to use, general purpose Computer Algebra System";
+    homepage = http://www.yacas.org/;
+    license = stdenv.lib.licenses.gpl2Plus;
+    maintainers = with stdenv.lib.maintainers; [viric];
+    platforms = with stdenv.lib.platforms; linux;
+    broken = enableGui || enableJupyter;
   };
 }
diff --git a/pkgs/applications/science/math/yacas/gcc43.patch b/pkgs/applications/science/math/yacas/gcc43.patch
deleted file mode 100644
index 054f80cff92..00000000000
--- a/pkgs/applications/science/math/yacas/gcc43.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-Taken from gentoo:
-http://sources.gentoo.org/viewcvs.py/gentoo-x86/sci-mathematics/yacas/files/yacas-1.2.2-gcc43.patch?rev=1.1&view=markup
-Index: yacas-1.2.2-gcc43.patch
-===================================================================
---- a/manmake/manripper.cpp
-+++ b/manmake/manripper.cpp
-@@ -1,7 +1,8 @@
- 
--#include <stdio.h>
--#include <ctype.h>
-+#include <cstdio>
-+#include <cctype>
- #include <string>
-+#include <cstring>
- #include <map>
- 
- using namespace std;
diff --git a/pkgs/applications/science/misc/cytoscape/default.nix b/pkgs/applications/science/misc/cytoscape/default.nix
index 0194ee0b83c..36c7884d108 100644
--- a/pkgs/applications/science/misc/cytoscape/default.nix
+++ b/pkgs/applications/science/misc/cytoscape/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "cytoscape-${version}";
-  version = "3.6.0";
+  version = "3.6.1";
 
   src = fetchurl {
     url = "http://chianti.ucsd.edu/${name}/${name}.tar.gz";
-    sha256 = "13q8caksbzi6j7xy8v5f0pi6766yfawys6jcm50ng78mnhrv2v97";
+    sha256 = "1pkdilv1nw6vvdxk71bwjngr8yafrsqwaqvlakhp8yb342r1jd4s";
   };
 
   buildInputs = [jre makeWrapper];
diff --git a/pkgs/applications/science/misc/gephi/default.nix b/pkgs/applications/science/misc/gephi/default.nix
index 82b95132d88..3a0bcb66813 100644
--- a/pkgs/applications/science/misc/gephi/default.nix
+++ b/pkgs/applications/science/misc/gephi/default.nix
@@ -1,37 +1,64 @@
-{stdenv, fetchurl, jdk}:
+{ stdenv, fetchFromGitHub, callPackage, jdk, maven, javaPackages }:
 
-with stdenv.lib;
+let
+  version = "0.9.2";
 
-let version = "0.9.2"; in
-stdenv.mkDerivation {
-  name = "gephi-${version}";
-
-  src = fetchurl {
-    url = "https://github.com/gephi/gephi/releases/download/v${version}/gephi-${version}-linux.tar.gz";
-    sha256 = "1wr3rka8j2y10nnwbg27iaxkbrp4d7d07ccs9n94yqv6wqawj5z8";
+  src = fetchFromGitHub {
+    owner = "gephi";
+    repo = "gephi";
+    rev = "v${version}";
+    sha256 = "0kqp2nvnsb55j1axb6hk0mlw5alyaiyb70z0mdybhpqqxyw2da2r";
   };
 
-  meta = {
-    inherit version;
-    description = "A platform for visualizing and manipulating large graphs";
-    homepage = https://gephi.org;
-    license = licenses.gpl3;
-    maintainers = [maintainers.taeer];
-    platforms = platforms.linux;
+  # perform fake build to make a fixed-output derivation out of the files downloaded from maven central (120MB)
+  deps = stdenv.mkDerivation {
+    name = "gephi-${version}-deps";
+    inherit src;
+    buildInputs = [ jdk maven ];
+    buildPhase = ''
+      while mvn package -Dmaven.repo.local=$out/.m2 -Dmaven.wagon.rto=5000; [ $? = 1 ]; do
+        echo "timeout, restart maven to continue downloading"
+      done
+    '';
+    # keep only *.{pom,jar,sha1,nbm} and delete all ephemeral files with lastModified timestamps inside
+    installPhase = ''find $out/.m2 -type f -regex '.+\(\.lastUpdated\|resolver-status\.properties\|_remote\.repositories\)' -delete'';
+    outputHashAlgo = "sha256";
+    outputHashMode = "recursive";
+    outputHash = "1p7yf97dn0nvr005cbs6vdk3i341s8fya4kfccj8qqad2qgxflif";
   };
+in
+stdenv.mkDerivation rec {
+  name = "gephi-${version}";
+
+  inherit src;
 
-  buildInputs = [jdk];
+  buildInputs = [ jdk maven ];
 
-  configurePhase = "
-    echo \"jdkhome=${jdk}\" >> etc/gephi.conf
-  ";
+  buildPhase = ''
+    # 'maven.repo.local' must be writable so copy it out of nix store
+    mvn package --offline -Dmaven.repo.local=$(cp -dpR ${deps}/.m2 ./ && chmod +w -R .m2 && pwd)/.m2
+  '';
 
-  dontBuild = true;
+  installPhase = ''
+    cp -r modules/application/target/gephi $out
 
-  installPhase = "
-    mkdir $out
-    for a in ./*; do
-      mv $a $out
-    done
-  ";
+    # remove garbage
+    find $out -type f -name  .lastModified -delete
+    find $out -type f -regex '.+\.exe'     -delete
+
+    # use self-compiled JOGL to avoid patchelf'ing .so inside jars
+    rm $out/gephi/modules/ext/org.gephi.visualization/org-jogamp-{jogl,gluegen}/*.jar
+    cp ${javaPackages.jogl_2_3_2}/share/java/jogl*.jar $out/gephi/modules/ext/org.gephi.visualization/org-jogamp-jogl/
+    cp ${javaPackages.jogl_2_3_2}/share/java/glue*.jar $out/gephi/modules/ext/org.gephi.visualization/org-jogamp-gluegen/
+
+    echo "jdkhome=${jdk}" >> $out/etc/gephi.conf
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A platform for visualizing and manipulating large graphs";
+    homepage = https://gephi.org;
+    license = licenses.gpl3;
+    maintainers = [ maintainers.taeer ];
+    platforms = [ "x86_64-linux" ];
+  };
 }
diff --git a/pkgs/applications/science/misc/megam/default.nix b/pkgs/applications/science/misc/megam/default.nix
index a0ee505dc97..8cd119c7b7b 100644
--- a/pkgs/applications/science/misc/megam/default.nix
+++ b/pkgs/applications/science/misc/megam/default.nix
@@ -41,6 +41,6 @@ stdenv.mkDerivation rec {
     license = "non-commercial";
 
     maintainers = [ ];
-    platforms = stdenv.lib.platforms.gnu;  # arbitrary choice
+    platforms = stdenv.lib.platforms.gnu ++ stdenv.lib.platforms.linux;  # arbitrary choice
   };
 }
diff --git a/pkgs/applications/science/misc/motu-client/default.nix b/pkgs/applications/science/misc/motu-client/default.nix
index 0d5c79fde90..0994bb1ca38 100644
--- a/pkgs/applications/science/misc/motu-client/default.nix
+++ b/pkgs/applications/science/misc/motu-client/default.nix
@@ -1,11 +1,11 @@
 { python27Packages, fetchurl, lib } :
 python27Packages.buildPythonApplication rec {
-  name = "motu-client-${version}";
-  version = "1.4.00";
+  pname = "motu-client";
+  version = "1.5.00";
 
   src = fetchurl {
     url = "https://github.com/quiet-oceans/motuclient-setuptools/archive/${version}.tar.gz";
-    sha256 = "0v0h90mylhaamd1vm4nc64q63vmlafhijm47hs0xfam33y1q2yvb";
+    sha256 = "1iqsws3wa2gpb36ms21xmaxfi83i8p8cdya4cxpn4r47c8mz74x8";
   };
 
   meta = with lib; {
diff --git a/pkgs/applications/science/misc/openmvg/default.nix b/pkgs/applications/science/misc/openmvg/default.nix
index fb3b0a29724..b139f30b3d1 100644
--- a/pkgs/applications/science/misc/openmvg/default.nix
+++ b/pkgs/applications/science/misc/openmvg/default.nix
@@ -46,5 +46,6 @@ stdenv.mkDerivation rec {
     license = stdenv.lib.licenses.mpl20;
     platforms = stdenv.lib.platforms.linux;
     maintainers = with stdenv.lib.maintainers; [ mdaiter ];
+    broken = true; # 2018-04-11
   };
 }
diff --git a/pkgs/applications/science/misc/openmvs/default.nix b/pkgs/applications/science/misc/openmvs/default.nix
index 177f8ca2564..ef539ac9c8d 100644
--- a/pkgs/applications/science/misc/openmvs/default.nix
+++ b/pkgs/applications/science/misc/openmvs/default.nix
@@ -3,14 +3,13 @@
 , gmp, mpfr, glog, google-gflags, libjpeg_turbo }:
 
 stdenv.mkDerivation rec {
-  name = "openmvs-unstable-2017-05-01";
+  name = "openmvs-unstable-2018-05-26";
 
   src = fetchFromGitHub {
     owner = "cdcseacave";
     repo = "openmvs";
-
-    rev = "a3b360016660a1397f6eb6c070c2c19bbb4c7590";
-    sha256 = "170ff4ipix2kqq5rhb1yrrcvc79im9qgp5hiwsdr23xxzdl21221";
+    rev = "939033c55b50478339084431aac2c2318041afad";
+    sha256 = "12dgkwwfdp24581y3i41gsd1k9hq0aw917q0ja5s0if4qbmc8pni";
   };
 
   buildInputs = [ eigen opencv ceres-solver cgal boost vcg gmp mpfr glog google-gflags libjpeg_turbo ];
diff --git a/pkgs/applications/science/misc/sasview/default.nix b/pkgs/applications/science/misc/sasview/default.nix
new file mode 100644
index 00000000000..bad29df9dc8
--- /dev/null
+++ b/pkgs/applications/science/misc/sasview/default.nix
@@ -0,0 +1,75 @@
+{ lib, fetchFromGitHub, gcc, python }:
+
+let
+  xhtml2pdf = import ./xhtml2pdf.nix {
+    inherit lib;
+    fetchPypi = python.pkgs.fetchPypi;
+    buildPythonPackage = python.pkgs.buildPythonPackage;
+    html5lib = python.pkgs.html5lib;
+    httplib2 = python.pkgs.httplib2;
+    nose = python.pkgs.nose;
+    pillow = python.pkgs.pillow;
+    pypdf2 = python.pkgs.pypdf2;
+    reportlab = python.pkgs.reportlab;
+  };
+
+in
+
+python.pkgs.buildPythonApplication rec {
+  pname = "sasview";
+  version = "unstable-2018-05-05";
+
+  checkInputs = with python.pkgs; [
+    pytest
+    unittest-xml-reporting
+  ];
+
+  checkPhase = ''
+    # fix the following error:
+    # imported module 'sas.sascalc.data_util.uncertainty' has this __file__ attribute:
+    #   /build/source/build/lib.linux-x86_64-2.7/sas/sascalc/data_util/uncertainty.py
+    # which is not the same as the test file we want to collect:
+    #   /build/source/dist/tmpbuild/sasview/sas/sascalc/data_util/uncertainty.py
+    rm -r dist/tmpbuild
+
+    HOME=$(mktemp -d) py.test
+  '';
+
+  propagatedBuildInputs = with python.pkgs; [
+    bumps
+    gcc
+    h5py
+    libxslt
+    lxml
+    matplotlib
+    numpy
+    pyparsing
+    periodictable
+    pillow
+    pylint
+    pyopencl
+    reportlab
+    sasmodels
+    scipy
+    six
+    sphinx
+    wxPython
+    xhtml2pdf
+  ];
+
+  src = fetchFromGitHub {
+    owner = "SasView";
+    repo = "sasview";
+    rev = "de431924d0ddf73cfb952df88bd6661181947019";
+    sha256 = "01bk0i0g65yzyq16n1a61rgjna8rrc2i51x2ndf1z7khb1fl16vg";
+  };
+
+  patches = [ ./pyparsing-fix.patch ./local_config.patch ];
+
+  meta = with lib; {
+    homepage = https://www.sasview.org;
+    description = "Fitting and data analysis for small angle scattering data";
+    maintainers = with maintainers; [ rprospero ];
+    license = licenses.bsd3;
+  };
+}
diff --git a/pkgs/applications/science/misc/sasview/local_config.patch b/pkgs/applications/science/misc/sasview/local_config.patch
new file mode 100644
index 00000000000..5b6c3436494
--- /dev/null
+++ b/pkgs/applications/science/misc/sasview/local_config.patch
@@ -0,0 +1,22 @@
+diff --git a/src/sas/_config.py b/src/sas/_config.py
+index ece08fd4c..926768593 100644
+--- a/src/sas/_config.py
++++ b/src/sas/_config.py
+@@ -67,8 +67,8 @@ def load_local_config(app_dir):
+         logger.info("GuiManager loaded %s", path)
+         return module
+     except Exception as exc:
+-        logger.critical("Error loading %s: %s", path, exc)
+-        sys.exit()
++        import sas.sasview.local_config
++        return sas.sasview.local_config
+ 
+ def make_custom_config_path(user_dir):
+     """
+@@ -116,4 +116,4 @@ def load_custom_config(path):
+ 
+     from sas.sasview import custom_config
+     logger.info("GuiManager custom_config defaults to sas.sasview.custom_config")
+-    return custom_config
+\ No newline at end of file
++    return custom_config
diff --git a/pkgs/applications/science/misc/sasview/pyparsing-fix.patch b/pkgs/applications/science/misc/sasview/pyparsing-fix.patch
new file mode 100644
index 00000000000..c3cd164a899
--- /dev/null
+++ b/pkgs/applications/science/misc/sasview/pyparsing-fix.patch
@@ -0,0 +1,13 @@
+diff --git a/setup.py b/setup.py
+index 866ab7e36..78727b276 100755
+--- a/setup.py
++++ b/setup.py
+@@ -401,7 +401,7 @@ package_data['sas.sasview'] = ['images/*',
+ packages.append("sas.sasview")
+ 
+ required = [
+-    'bumps>=0.7.5.9', 'periodictable>=1.5.0', 'pyparsing>=2.0.0',
++    'bumps>=0.7.5.9', 'periodictable>=1.5.0',
+ 
+     # 'lxml>=2.2.2',
+     'lxml', 'h5py',
diff --git a/pkgs/applications/science/misc/sasview/xhtml2pdf.nix b/pkgs/applications/science/misc/sasview/xhtml2pdf.nix
new file mode 100644
index 00000000000..0b3d438843d
--- /dev/null
+++ b/pkgs/applications/science/misc/sasview/xhtml2pdf.nix
@@ -0,0 +1,32 @@
+{lib, fetchPypi, buildPythonPackage, html5lib, httplib2, nose, pillow, pypdf2, reportlab}:
+
+let
+  #xhtml2pdf specifically requires version "1.0b10" of html5lib
+  html5 = html5lib.overrideAttrs( oldAttrs: rec{
+    version = "1.0b10";
+    src = oldAttrs.src.override {
+      inherit version;
+      sha256 = "1yd068a5c00wd0ajq0hqimv7fd82lhrw0w3s01vbhy9bbd6xapqd";
+    };
+  });
+in
+
+buildPythonPackage rec {
+  pname = "xhtml2pdf";
+  version = "0.2.1";
+
+  buildInputs = [html5];
+  propagatedBuildInputs = [httplib2 nose pillow pypdf2 reportlab html5];
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1n9r8zdk9gc2x539fq60bhszmd421ipj8g78zmsn3njvma1az9k1";
+  };
+
+  meta = {
+    description = "A pdf converter for the ReportLab Toolkit";
+    homepage = https://github.com/xhtml2pdf/xhtml2pdf;
+    license = lib.licenses.asl20;
+    maintainers = with lib.maintainers; [ rprospero ];
+  };
+}
diff --git a/pkgs/applications/science/misc/tulip/default.nix b/pkgs/applications/science/misc/tulip/default.nix
index 8560d900a4f..7db2e6a12c2 100644
--- a/pkgs/applications/science/misc/tulip/default.nix
+++ b/pkgs/applications/science/misc/tulip/default.nix
@@ -33,6 +33,6 @@ stdenv.mkDerivation rec {
     license = stdenv.lib.licenses.gpl3Plus;
 
     maintainers = [ ];
-    platforms = stdenv.lib.platforms.gnu;  # arbitrary choice
+    platforms = stdenv.lib.platforms.gnu ++ stdenv.lib.platforms.linux;  # arbitrary choice
   };
 }
diff --git a/pkgs/applications/science/molecular-dynamics/gromacs/default.nix b/pkgs/applications/science/molecular-dynamics/gromacs/default.nix
index 351bcccd45d..ae21af65584 100644
--- a/pkgs/applications/science/molecular-dynamics/gromacs/default.nix
+++ b/pkgs/applications/science/molecular-dynamics/gromacs/default.nix
@@ -8,11 +8,11 @@
 
 
 stdenv.mkDerivation {
-  name = "gromacs-4.6.7";
+  name = "gromacs-2018";
 
   src = fetchurl {
-    url = "ftp://ftp.gromacs.org/pub/gromacs/gromacs-4.6.7.tar.gz";
-    sha256 = "6afb1837e363192043de34b188ca3cf83db6bd189601f2001a1fc5b0b2a214d9";
+    url = "ftp://ftp.gromacs.org/pub/gromacs/gromacs-2018.tar.gz";
+    sha256 = "1sfh3wdrw07797xm86fq10r0024ym585yyrnhdh0qam596vx1dfy";
   };
 
   buildInputs = [cmake fftw]
diff --git a/pkgs/applications/science/physics/sacrifice/default.nix b/pkgs/applications/science/physics/sacrifice/default.nix
index d6aeeedc086..6c25f720ebf 100644
--- a/pkgs/applications/science/physics/sacrifice/default.nix
+++ b/pkgs/applications/science/physics/sacrifice/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, boost, hepmc, lhapdf, pythia }:
+{ stdenv, fetchurl, boost, hepmc, lhapdf, pythia, makeWrapper }:
 
 stdenv.mkDerivation rec {
   name = "sacrifice-${version}";
@@ -10,6 +10,7 @@ stdenv.mkDerivation rec {
   };
 
   buildInputs = [ boost hepmc lhapdf pythia ];
+  nativeBuildInputs = [ makeWrapper ];
 
   patches = [
     ./compat.patch
@@ -27,6 +28,13 @@ stdenv.mkDerivation rec {
     "--with-pythia=${pythia}"
   ];
 
+  postInstall = if stdenv.isDarwin then ''
+    install_name_tool -add_rpath ${pythia}/lib "$out"/bin/run-pythia
+  '' else ''
+    wrapProgram $out/bin/run-pythia \
+      --prefix LD_LIBRARY_PATH : "${pythia}/lib"
+  '';
+
   enableParallelBuilding = true;
 
   meta = {
diff --git a/pkgs/applications/science/physics/sherpa/default.nix b/pkgs/applications/science/physics/sherpa/default.nix
index cdbe19c53b3..340428e8e77 100644
--- a/pkgs/applications/science/physics/sherpa/default.nix
+++ b/pkgs/applications/science/physics/sherpa/default.nix
@@ -2,20 +2,17 @@
 
 stdenv.mkDerivation rec {
   name = "sherpa-${version}";
-  version = "2.2.4";
+  version = "2.2.5";
 
   src = fetchurl {
     url = "http://www.hepforge.org/archive/sherpa/SHERPA-MC-${version}.tar.gz";
-    sha256 = "1rw0ivx78zkbkl7nwil9i4fn8rvkifc3i20zrq3asbi4kb6brj2x";
+    sha256 = "0rv14j8gvjjr3darb0wcradlmsnyq915jz7v2yybrjzqfbsr3zb5";
   };
 
   buildInputs = [ gfortran sqlite lhapdf rivet ];
 
   enableParallelBuilding = true;
 
-  # LLVM 4 doesn't allow ambigous type in std::abs argument
-  patches = stdenv.lib.optional stdenv.cc.isClang [ ./explicit_overloads.patch ];
-
   configureFlags = [
     "--with-sqlite3=${sqlite.dev}"
     "--enable-hepmc2=${hepmc}"
diff --git a/pkgs/applications/science/physics/sherpa/explicit_overloads.patch b/pkgs/applications/science/physics/sherpa/explicit_overloads.patch
deleted file mode 100644
index 33e5a763217..00000000000
--- a/pkgs/applications/science/physics/sherpa/explicit_overloads.patch
+++ /dev/null
@@ -1,119 +0,0 @@
-diff --git a/ATOOLS/Phys/Flavour.C b/ATOOLS/Phys/Flavour.C
-index 1986348..740eea3 100644
---- a/ATOOLS/Phys/Flavour.C
-+++ b/ATOOLS/Phys/Flavour.C
-@@ -298,8 +298,8 @@ std::string Flavour::IDName() const
- 
- bool Flavour::IsDiQuark() const 
- {
--  if(abs(Kfcode())>=1103&&abs(Kfcode())<=5505) {
--    double help=abs(Kfcode())/100.0-int(abs(Kfcode())/100.0); 
-+  if(abs((long)Kfcode())>=1103&&abs((long)Kfcode())<=5505) {
-+    double help=abs((long)Kfcode())/100.0-int(abs((long)Kfcode())/100.0); 
-     if(help<0.031) return true;
-   }
-   return false;
-@@ -307,27 +307,27 @@ bool Flavour::IsDiQuark() const
- 
- bool Flavour::IsBaryon() const 
- {
--  if (abs(Kfcode())%10000<1000) return false;
-+  if (abs((long)Kfcode())%10000<1000) return false;
-   return !IsDiQuark();
- }
- 
- bool Flavour::IsB_Hadron() const 
- {
--  if (abs(Kfcode())<100)                            return 0;
-+  if (abs((long)Kfcode())<100)                            return 0;
-   if (Kfcode()-100*int(Kfcode()/100)<10)                 return 0;
--  if (abs((Kfcode()-100*int(Kfcode()/100))/10)==5)       return 1;
--  if (abs((Kfcode()-1000*int(Kfcode()/1000))/100)==5)    return 1;
--  if (abs((Kfcode()-10000*int(Kfcode()/10000))/1000)==5) return 1;
-+  if (abs((long)(Kfcode()-100*int(Kfcode()/100))/10)==5)       return 1;
-+  if (abs((long)(Kfcode()-1000*int(Kfcode()/1000))/100)==5)    return 1;
-+  if (abs((long)(Kfcode()-10000*int(Kfcode()/10000))/1000)==5) return 1;
-   return 0;
- }
- 
- bool Flavour::IsC_Hadron() const 
- {
--  if (abs(Kfcode())<100)                            return 0;
-+  if (abs((long)Kfcode())<100)                            return 0;
-   if (Kfcode()-100*int(Kfcode()/100)<10)                 return 0;
--  if (abs((Kfcode()-100*int(Kfcode()/100))/10)==4)       return 1;
--  if (abs((Kfcode()-1000*int(Kfcode()/1000))/100)==4)    return 1;
--  if (abs((Kfcode()-10000*int(Kfcode()/10000))/1000)==4) return 1;
-+  if (abs((long)(Kfcode()-100*int(Kfcode()/100))/10)==4)       return 1;
-+  if (abs((long)(Kfcode()-1000*int(Kfcode()/1000))/100)==4)    return 1;
-+  if (abs((long)(Kfcode()-10000*int(Kfcode()/10000))/1000)==4) return 1;
-   return 0;
- }
- 
-diff --git a/AddOns/Pythia/Pythia_Jet_Criterion.C b/AddOns/Pythia/Pythia_Jet_Criterion.C
-index bbe9597..c1201e1 100644
---- a/AddOns/Pythia/Pythia_Jet_Criterion.C
-+++ b/AddOns/Pythia/Pythia_Jet_Criterion.C
-@@ -117,8 +117,8 @@ namespace PYTHIA {
-       double Qsq = sign * Q.Abs2();
-       // Mass term of radiator
-       DEBUG_VAR(ampl->MS());
--      double m2Rad = ( abs(RadAfterBranch.Flav().Kfcode()) >= 4
--                   && abs(RadAfterBranch.Flav().Kfcode()) < 7)
-+      double m2Rad = ( abs((long)RadAfterBranch.Flav().Kfcode()) >= 4
-+                   && abs((long)RadAfterBranch.Flav().Kfcode()) < 7)
-                    ? ampl->MS()->Mass2(RadAfterBranch.Flav())
-                    : 0.;
-       // Construct 2->3 variables for FSR
-diff --git a/BEAM/Main/EPA.C b/BEAM/Main/EPA.C
-index 861a1b2..340ac33 100644
---- a/BEAM/Main/EPA.C
-+++ b/BEAM/Main/EPA.C
-@@ -54,7 +54,7 @@ double EPA::CosInt::GetCosInt(double X)
- 
- double EPA::phi(double x, double qq)
- {
--  if (abs(m_beam.Kfcode()) == kf_p_plus) {
-+  if (abs((long)m_beam.Kfcode()) == kf_p_plus) {
-     const double a = 7.16;
-     const double b = -3.96;
-     const double c = .028;
-@@ -179,7 +179,7 @@ bool EPA::CalculateWeight(double x,double q2)
-     m_weight=0.0;
-     return 1;
-   }
--  if (abs(m_beam.Kfcode()) == kf_e) {
-+  if (abs((long)m_beam.Kfcode()) == kf_e) {
-     double f = alpha/M_PI*(1+sqr(1-m_x))/m_x*log(2.*m_energy/m_mass);
-     if (f < 0) f = 0.;
-     m_weight = f;
-@@ -187,7 +187,7 @@ bool EPA::CalculateWeight(double x,double q2)
- 	     <<"energy = "<<m_energy<<", "<<"mass = "<<m_mass<<".\n";
-     return 1;    
-   }
--  else if (abs(m_beam.Kfcode()) == kf_p_plus) {
-+  else if (abs((long)m_beam.Kfcode()) == kf_p_plus) {
-     const double qz = 0.71;
-     double f, qmi, qma;
-     qma=m_q2Max/qz;
-diff --git a/PDF/Remnant/Hadron_Remnant.C b/PDF/Remnant/Hadron_Remnant.C
-index 243717c..58c2278 100644
---- a/PDF/Remnant/Hadron_Remnant.C
-+++ b/PDF/Remnant/Hadron_Remnant.C
-@@ -188,13 +188,13 @@ ATOOLS::Flavour Hadron_Remnant::Opposite(ATOOLS::Flavour flav) const
-     if (m_constit[i]==flav && !found) found=true;
-     else rem[j++]=m_constit[i].Kfcode();
-   }
--  Flavour anti=Flavour((kf_code)(abs(rem[0])*1000+abs(rem[1])*100+3));
-+  Flavour anti=Flavour((kf_code)(abs((long)rem[0])*1000+abs((long)rem[1])*100+3));
-   if (rem[0]!=rem[1]) {
-     if (ran->Get()<0.25) 
--      anti=Flavour((kf_code)(abs(rem[0])*1000+abs(rem[1])*100+1));
-+      anti=Flavour((kf_code)(abs((long)rem[0])*1000+abs((long)rem[1])*100+1));
-   }
-   else {
--    anti=Flavour((kf_code)(abs(rem[0])*1100+3));
-+    anti=Flavour((kf_code)(abs((long)rem[0])*1100+3));
-   }
-   if (flav.IsAnti()) anti=anti.Bar();
-   return anti;
diff --git a/pkgs/applications/science/robotics/qgroundcontrol/default.nix b/pkgs/applications/science/robotics/qgroundcontrol/default.nix
index 087969fe61a..95462c02eb5 100644
--- a/pkgs/applications/science/robotics/qgroundcontrol/default.nix
+++ b/pkgs/applications/science/robotics/qgroundcontrol/default.nix
@@ -1,17 +1,17 @@
 { stdenv, fetchgit, git,  espeak, SDL2, udev, doxygen, cmake
 , qtbase, qtlocation, qtserialport, qtdeclarative, qtconnectivity, qtxmlpatterns
-, qtsvg, qtquick1, qtquickcontrols, qtgraphicaleffects, qmake
+, qtsvg, qtquick1, qtquickcontrols, qtgraphicaleffects, qmake, qtspeech
 , makeWrapper, lndir
 , gst_all_1, qt-gstreamer1, pkgconfig, glibc
 }:
 
 stdenv.mkDerivation rec {
   name = "qgroundcontrol-${version}";
-  version = "3.2.7";
+  version = "3.3.0";
 
   qtInputs = [
     qtbase qtlocation qtserialport qtdeclarative qtconnectivity qtxmlpatterns qtsvg
-    qtquick1 qtquickcontrols qtgraphicaleffects
+    qtquick1 qtquickcontrols qtgraphicaleffects qtspeech
   ];
 
   gstInputs = with gst_all_1; [
@@ -58,7 +58,7 @@ stdenv.mkDerivation rec {
   src = fetchgit {
     url = "https://github.com/mavlink/qgroundcontrol.git";
     rev = "refs/tags/v${version}";
-    sha256 = "1sla3sgj2p3h87d7kcaj53f8z5xzyadvsqlqzgh4d2n1f7sikdc5";
+    sha256 = "0abjm0wywp24qlgg9w8g35ijprjg5csq4fgba9caaiwvmpfbhmpw";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/applications/science/robotics/yarp/default.nix b/pkgs/applications/science/robotics/yarp/default.nix
index 76b05c8a3a7..98576cfd091 100644
--- a/pkgs/applications/science/robotics/yarp/default.nix
+++ b/pkgs/applications/science/robotics/yarp/default.nix
@@ -3,12 +3,12 @@
 
 stdenv.mkDerivation rec {
   name = "yarp-${version}";
-  version = "2.3.68";
+  version = "2.3.70.2";
   src = fetchFromGitHub {
     owner = "robotology";
     repo = "yarp";
     rev = "v${version}";
-    sha256 = "1ksz2kv4v14fqgz3fsvvmdk2sikhnxr11jhhf7c2547x6jbzhda6";
+    sha256 = "0mphh899niy30xbjjwi9xpsliq8mladfldbbbjfngdrqfhiray1a";
   };
 
   buildInputs = [ cmake ace ];
diff --git a/pkgs/applications/science/spyder/default.nix b/pkgs/applications/science/spyder/default.nix
index 04a5def81e6..4b3ef167d53 100644
--- a/pkgs/applications/science/spyder/default.nix
+++ b/pkgs/applications/science/spyder/default.nix
@@ -10,11 +10,11 @@
 
 buildPythonApplication rec {
   pname = "spyder";
-  version = "3.2.6";
+  version = "3.2.8";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "87d6a4f5ee1aac4284461ee3584c3ade50cb53feb3fe35abebfdfb9be18c526a";
+    sha256 = "0iwcby2bxvayz0kp282yh864br55w6gpd8rqcdj1cp3jbn3q6vg5";
   };
 
   # Somehow setuptools can't find pyqt5. Maybe because the dist-info folder is missing?
diff --git a/pkgs/applications/search/catfish/default.nix b/pkgs/applications/search/catfish/default.nix
index 79af80ea75f..adf0f51fc4c 100644
--- a/pkgs/applications/search/catfish/default.nix
+++ b/pkgs/applications/search/catfish/default.nix
@@ -61,7 +61,7 @@ pythonPackages.buildPythonApplication rec {
       options.
     '';
     license = licenses.gpl2Plus;
-    platforms = platforms.unix;
+    platforms = platforms.linux;
     maintainers = [ maintainers.romildo ];
   };
 }
diff --git a/pkgs/applications/search/grepcidr/default.nix b/pkgs/applications/search/grepcidr/default.nix
new file mode 100644
index 00000000000..69fc0e76932
--- /dev/null
+++ b/pkgs/applications/search/grepcidr/default.nix
@@ -0,0 +1,21 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  name = "grepcidr-${version}";
+  version = "2.0";
+
+  src = fetchurl {
+    url = "http://www.pc-tools.net/files/unix/${name}.tar.gz";
+    sha256 = "1yzpa1nigmmp4hir6377hrkpp0z6jnxgccaw2jbqgydbglvnm231";
+  };
+
+  installFlags = [ "PREFIX=$(out)" ];
+
+  meta = with stdenv.lib; {
+    description = "Filter IPv4 and IPv6 addresses matching CIDR patterns";
+    homepage = http://www.pc-tools.net/unix/grepcidr/;
+    license = licenses.gpl3;
+    platforms = platforms.unix;
+    maintainers = [ maintainers.fadenb ];
+  };
+}
diff --git a/pkgs/applications/taxes/aangifte-2006/builder.sh b/pkgs/applications/taxes/aangifte-2006/builder.sh
deleted file mode 100644
index 1b709b613bd..00000000000
--- a/pkgs/applications/taxes/aangifte-2006/builder.sh
+++ /dev/null
@@ -1,17 +0,0 @@
-source $stdenv/setup
-
-buildPhase() {
-    for i in bin/*; do
-        patchelf \
-            --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
-            --set-rpath $libX11/lib:$libXext/lib \
-            $i
-    done
-}
-
-installPhase() {
-    mkdir -p $out
-    cp -prvd * $out/
-}
-
-genericBuild
diff --git a/pkgs/applications/taxes/aangifte-2006/default.nix b/pkgs/applications/taxes/aangifte-2006/default.nix
deleted file mode 100644
index 5883e51f712..00000000000
--- a/pkgs/applications/taxes/aangifte-2006/default.nix
+++ /dev/null
@@ -1,21 +0,0 @@
-{stdenv, fetchurl, libX11, libXext}:
-
-stdenv.mkDerivation {
-  name = "aangifte2006-1";
-  builder = ./builder.sh;
-
-  src = fetchurl {
-    url = http://download.belastingdienst.nl/belastingdienst/apps/linux/ib2006_linux.tar.gz;
-    sha256 = "1hgm3vmcr32v34h4y8yz3vxcxbcsxqb12qy1dqqwgbg1bja7nvrc";
-  };
-
-  inherit libX11 libXext;
-
-  meta = {
-    description = "Elektronische aangifte IB 2006";
-    homepage = "http://www.belastingdienst.nl/download/1341.html";
-    license = stdenv.lib.licenses.unfree;
-    platforms = stdenv.lib.platforms.linux;
-    hydraPlatforms = [];
-  };
-}
diff --git a/pkgs/applications/taxes/aangifte-2007/builder.sh b/pkgs/applications/taxes/aangifte-2007/builder.sh
deleted file mode 100644
index 79e5b309769..00000000000
--- a/pkgs/applications/taxes/aangifte-2007/builder.sh
+++ /dev/null
@@ -1,19 +0,0 @@
-source $stdenv/setup
-
-echo $NIX_CC
-
-buildPhase() {
-    for i in bin/*; do
-        patchelf \
-            --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
-            --set-rpath $libX11/lib:$libXext/lib:$libSM/lib:$(cat $NIX_CC/nix-support/orig-cc)/lib \
-            $i
-    done
-}
-
-installPhase() {
-    mkdir -p $out
-    cp -prvd * $out/
-}
-
-genericBuild
diff --git a/pkgs/applications/taxes/aangifte-2007/default.nix b/pkgs/applications/taxes/aangifte-2007/default.nix
deleted file mode 100644
index 43fb26d811a..00000000000
--- a/pkgs/applications/taxes/aangifte-2007/default.nix
+++ /dev/null
@@ -1,24 +0,0 @@
-{stdenv, fetchurl, libX11, libXext, libSM}:
-
-stdenv.mkDerivation {
-  name = "aangifte2007-1";
-  builder = ./builder.sh;
-
-  src = fetchurl {
-    url = http://download.belastingdienst.nl/belastingdienst/apps/linux/ib2007_linux.tar.gz;
-    sha256 = "13p3gv086jn95wvmfygdmk9qjn0qxqdv7pp0v5pmw6i5hp8rmjxf";
-  };
-
-  inherit libX11 libXext libSM;
-
-  dontStrip = true;
-  dontPatchELF = true;
-
-  meta = {
-    description = "Elektronische aangifte IB 2007";
-    homepage = "http://www.belastingdienst.nl/download/1341.html";
-    license = stdenv.lib.licenses.unfree;
-    platforms = stdenv.lib.platforms.linux;
-    hydraPlatforms = [];
-  };
-}
diff --git a/pkgs/applications/taxes/aangifte-2008/builder.sh b/pkgs/applications/taxes/aangifte-2008/builder.sh
deleted file mode 100644
index 79e5b309769..00000000000
--- a/pkgs/applications/taxes/aangifte-2008/builder.sh
+++ /dev/null
@@ -1,19 +0,0 @@
-source $stdenv/setup
-
-echo $NIX_CC
-
-buildPhase() {
-    for i in bin/*; do
-        patchelf \
-            --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
-            --set-rpath $libX11/lib:$libXext/lib:$libSM/lib:$(cat $NIX_CC/nix-support/orig-cc)/lib \
-            $i
-    done
-}
-
-installPhase() {
-    mkdir -p $out
-    cp -prvd * $out/
-}
-
-genericBuild
diff --git a/pkgs/applications/taxes/aangifte-2008/default.nix b/pkgs/applications/taxes/aangifte-2008/default.nix
deleted file mode 100644
index b9fad2fa10b..00000000000
--- a/pkgs/applications/taxes/aangifte-2008/default.nix
+++ /dev/null
@@ -1,25 +0,0 @@
-{stdenv, fetchurl, libX11, libXext, libSM}:
-
-stdenv.mkDerivation {
-  name = "aangifte2008-1";
-  
-  builder = ./builder.sh;
-
-  src = fetchurl {
-    url = http://download.belastingdienst.nl/belastingdienst/apps/linux/ib2008_linux.tar.gz;
-    sha256 = "0p46bc1b14hgf07illg3crjgjdflkcknk4nzm7b73cwkni57scx3";
-  };
-
-  inherit libX11 libXext libSM;
-
-  dontStrip = true;
-  dontPatchELF = true;
-
-  meta = {
-    description = "Elektronische aangifte IB 2008 (Dutch Tax Return Program)";
-    homepage = http://www.belastingdienst.nl/particulier/aangifte2008/aangifte_2008/aangifte_2008.html;
-    license = stdenv.lib.licenses.unfree;
-    platforms = stdenv.lib.platforms.linux;
-    hydraPlatforms = [];
-  };
-}
diff --git a/pkgs/applications/taxes/aangifte-2009/default.nix b/pkgs/applications/taxes/aangifte-2009/default.nix
deleted file mode 100644
index d4230d426ec..00000000000
--- a/pkgs/applications/taxes/aangifte-2009/default.nix
+++ /dev/null
@@ -1,40 +0,0 @@
-{ stdenv, fetchurl, makeWrapper, xdg_utils, libX11, libXext, libSM }:
-
-stdenv.mkDerivation {
-  name = "aangifte2009-1";
-  
-  src = fetchurl {
-    url = http://download.belastingdienst.nl/belastingdienst/apps/linux/ib2009_linux.tar.gz;
-    sha256 = "07l83cknzxwlzmg1w6baf2wqs06bh8v3949n51hy1p3wgr8hf408";
-  };
-
-  dontStrip = true;
-  dontPatchELF = true;
-
-  buildInputs = [ makeWrapper ];
-
-  buildPhase =
-    ''
-      for i in bin/*; do
-          patchelf \
-              --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
-              --set-rpath ${stdenv.lib.makeLibraryPath [ libX11 libXext libSM ]}:$(cat $NIX_CC/nix-support/orig-cc)/lib \
-              $i
-      done
-    '';
-
-  installPhase =
-    ''
-      mkdir -p $out
-      cp -prvd * $out/
-      wrapProgram $out/bin/ib2009ux --prefix PATH : ${xdg_utils}/bin
-    '';
-
-  meta = {
-    description = "Elektronische aangifte IB 2009 (Dutch Tax Return Program)";
-    homepage = http://www.belastingdienst.nl/particulier/aangifte2009/download/;
-    license = stdenv.lib.licenses.unfree;
-    platforms = stdenv.lib.platforms.linux;
-    hydraPlatforms = [];
-  };
-}
diff --git a/pkgs/applications/taxes/aangifte-2010/default.nix b/pkgs/applications/taxes/aangifte-2010/default.nix
deleted file mode 100644
index 602368d2017..00000000000
--- a/pkgs/applications/taxes/aangifte-2010/default.nix
+++ /dev/null
@@ -1,40 +0,0 @@
-{ stdenv, fetchurl, makeWrapper, xdg_utils, libX11, libXext, libSM }:
-
-stdenv.mkDerivation {
-  name = "aangifte2010-1";
-  
-  src = fetchurl {
-    url = http://download.belastingdienst.nl/belastingdienst/apps/linux/ib2010_linux.tar.gz;
-    sha256 = "15mingjyqjvy4k6ws6qlhaaw8dj7336b54zg7mj70ig7jskjkz5h";
-  };
-
-  dontStrip = true;
-  dontPatchELF = true;
-
-  buildInputs = [ makeWrapper ];
-
-  buildPhase =
-    ''
-      for i in bin/*; do
-          patchelf \
-              --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
-              --set-rpath ${stdenv.lib.makeLibraryPath [ libX11 libXext libSM ]}:$(cat $NIX_CC/nix-support/orig-cc)/lib \
-              $i
-      done
-    '';
-
-  installPhase =
-    ''
-      mkdir -p $out
-      cp -prvd * $out/
-      wrapProgram $out/bin/ib2010ux --prefix PATH : ${xdg_utils}/bin
-    '';
-
-  meta = {
-    description = "Elektronische aangifte IB 2010 (Dutch Tax Return Program)";
-    homepage = http://www.belastingdienst.nl/particulier/aangifte2009/download/;
-    license = stdenv.lib.licenses.unfree;
-    platforms = stdenv.lib.platforms.linux;
-    hydraPlatforms = [];
-  };
-}
diff --git a/pkgs/applications/taxes/aangifte-2011/default.nix b/pkgs/applications/taxes/aangifte-2011/default.nix
deleted file mode 100644
index 80c77270514..00000000000
--- a/pkgs/applications/taxes/aangifte-2011/default.nix
+++ /dev/null
@@ -1,40 +0,0 @@
-{ stdenv, fetchurl, makeWrapper, xdg_utils, libX11, libXext, libSM }:
-
-stdenv.mkDerivation {
-  name = "aangifte2011-1";
-  
-  src = fetchurl {
-    url = http://download.belastingdienst.nl/belastingdienst/apps/linux/ib2011_linux.tar.gz;
-    sha256 = "0br9cfy3ibykzbhc1mkm7plxrs251vakpd5gai0m13bwgc04jrd2";
-  };
-
-  dontStrip = true;
-  dontPatchELF = true;
-
-  buildInputs = [ makeWrapper ];
-
-  buildPhase =
-    ''
-      for i in bin/*; do
-          patchelf \
-              --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
-              --set-rpath ${stdenv.lib.makeLibraryPath [ libX11 libXext libSM ]}:$(cat $NIX_CC/nix-support/orig-cc)/lib \
-              $i
-      done
-    '';
-
-  installPhase =
-    ''
-      mkdir -p $out
-      cp -prvd * $out/
-      wrapProgram $out/bin/ib2011ux --prefix PATH : ${xdg_utils}/bin
-    '';
-
-  meta = {
-    description = "Elektronische aangifte IB 2011 (Dutch Tax Return Program)";
-    homepage = http://www.belastingdienst.nl/particulier/aangifte2009/download/;
-    license = stdenv.lib.licenses.unfree;
-    platforms = stdenv.lib.platforms.linux;
-    hydraPlatforms = [];
-  };
-}
diff --git a/pkgs/applications/taxes/aangifte-2012/default.nix b/pkgs/applications/taxes/aangifte-2012/default.nix
deleted file mode 100644
index 8066c86742c..00000000000
--- a/pkgs/applications/taxes/aangifte-2012/default.nix
+++ /dev/null
@@ -1,41 +0,0 @@
-{ stdenv, fetchurl, makeWrapper, xdg_utils, libX11, libXext, libSM }:
-
-stdenv.mkDerivation {
-  name = "aangifte2012-1";
-
-  src = fetchurl {
-    url = http://download.belastingdienst.nl/belastingdienst/apps/linux/ib2012_linux.tar.gz;
-    sha256 = "05bahvk514lncgfr9kybcafahyz1rgfpwp5cykchxbbc033zm0xy";
-  };
-
-  dontStrip = true;
-  dontPatchELF = true;
-
-  buildInputs = [ makeWrapper ];
-
-  buildPhase =
-    ''
-      for i in bin/*; do
-          patchelf \
-              --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
-              --set-rpath ${stdenv.lib.makeLibraryPath [ libX11 libXext libSM ]}:$(cat $NIX_CC/nix-support/orig-cc)/lib \
-              $i
-      done
-    '';
-
-  installPhase =
-    ''
-      mkdir -p $out
-      cp -prvd * $out/
-      wrapProgram $out/bin/ib2012ux --prefix PATH : ${xdg_utils}/bin \
-                                    --prefix LD_PRELOAD : $(cat $NIX_CC/nix-support/orig-cc)/lib/libgcc_s.so.1
-    '';
-
-  meta = {
-    description = "Elektronische aangifte IB 2012 (Dutch Tax Return Program)";
-    homepage = http://www.belastingdienst.nl/particulier/aangifte2012/download/;
-    license = stdenv.lib.licenses.unfree;
-    platforms = stdenv.lib.platforms.linux;
-    hydraPlatforms = [];
-  };
-}
diff --git a/pkgs/applications/taxes/aangifte-2013-wa/default.nix b/pkgs/applications/taxes/aangifte-2013-wa/default.nix
deleted file mode 100644
index 6f8e6d6429d..00000000000
--- a/pkgs/applications/taxes/aangifte-2013-wa/default.nix
+++ /dev/null
@@ -1,41 +0,0 @@
-{ stdenv, fetchurl, makeWrapper, xdg_utils, libX11, libXext, libSM }:
-
-stdenv.mkDerivation {
-  name = "aangifte2013-wa";
-
-  src = fetchurl {
-    url = http://download.belastingdienst.nl/belastingdienst/apps/linux/wa2013_linux.tar.gz;
-    sha256 = "1bx6qnxikzpzrn8r66qxcind3k9yznwgp05dm549ph0w4rjbhgc9";
-  };
-
-  dontStrip = true;
-  dontPatchELF = true;
-
-  buildInputs = [ makeWrapper ];
-
-  buildPhase =
-    ''
-      for i in bin/*; do
-          patchelf \
-              --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
-              --set-rpath ${stdenv.lib.makeLibraryPath [ libX11 libXext libSM ]}:$(cat $NIX_CC/nix-support/orig-cc)/lib \
-              $i
-      done
-    '';
-
-  installPhase =
-    ''
-      mkdir -p $out
-      cp -prvd * $out/
-      wrapProgram $out/bin/wa2013ux --prefix PATH : ${xdg_utils}/bin \
-                                    --prefix LD_PRELOAD : $(cat $NIX_CC/nix-support/orig-cc)/lib/libgcc_s.so.1
-    '';
-
-  meta = {
-    description = "Elektronische aangifte WA 2013 (Dutch Tax Return Program)";
-    homepage = http://www.belastingdienst.nl/wps/wcm/connect/bldcontentnl/themaoverstijgend/programmas_en_formulieren/aangifteprogramma_2013_linux;
-    license = stdenv.lib.licenses.unfree;
-    platforms = stdenv.lib.platforms.linux;
-    hydraPlatforms = [];
-  };
-}
diff --git a/pkgs/applications/taxes/aangifte-2013/default.nix b/pkgs/applications/taxes/aangifte-2013/default.nix
deleted file mode 100644
index d75b60c8367..00000000000
--- a/pkgs/applications/taxes/aangifte-2013/default.nix
+++ /dev/null
@@ -1,41 +0,0 @@
-{ stdenv, fetchurl, makeWrapper, xdg_utils, libX11, libXext, libSM }:
-
-stdenv.mkDerivation {
-  name = "aangifte2013-1";
-
-  src = fetchurl {
-    url = http://download.belastingdienst.nl/belastingdienst/apps/linux/ib2013_linux.tar.gz;
-    sha256 = "05biqxz39gwln960xj31yg8s2chdn9vs0lzm4rlcwcavxy8lam1c";
-  };
-
-  dontStrip = true;
-  dontPatchELF = true;
-
-  buildInputs = [ makeWrapper ];
-
-  buildPhase =
-    ''
-      for i in bin/*; do
-          patchelf \
-              --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
-              --set-rpath ${stdenv.lib.makeLibraryPath [ libX11 libXext libSM ]}:$(cat $NIX_CC/nix-support/orig-cc)/lib \
-              $i
-      done
-    '';
-
-  installPhase =
-    ''
-      mkdir -p $out
-      cp -prvd * $out/
-      wrapProgram $out/bin/ib2013ux --prefix PATH : ${xdg_utils}/bin \
-                                    --prefix LD_PRELOAD : $(cat $NIX_CC/nix-support/orig-cc)/lib/libgcc_s.so.1
-    '';
-
-  meta = {
-    description = "Elektronische aangifte IB 2013 (Dutch Tax Return Program)";
-    homepage = http://www.belastingdienst.nl/wps/wcm/connect/bldcontentnl/themaoverstijgend/programmas_en_formulieren/aangifteprogramma_2013_linux;
-    license = stdenv.lib.licenses.unfree;
-    platforms = stdenv.lib.platforms.linux;
-    hydraPlatforms = [];
-  };
-}
diff --git a/pkgs/applications/taxes/aangifte-2014-wa/default.nix b/pkgs/applications/taxes/aangifte-2014-wa/default.nix
deleted file mode 100644
index 38124677f9a..00000000000
--- a/pkgs/applications/taxes/aangifte-2014-wa/default.nix
+++ /dev/null
@@ -1,41 +0,0 @@
-{ stdenv, fetchurl, makeWrapper, xdg_utils, libX11, libXext, libSM }:
-
-stdenv.mkDerivation {
-  name = "aangifte2014-wa";
-
-  src = fetchurl {
-    url = http://download.belastingdienst.nl/belastingdienst/apps/linux/wa2014_linux.tar.gz;
-    sha256 = "0ckwk190vyvwgv8kq0xxsxvm1kniv3iip4l5aycjx1wcyic2289x";
-  };
-
-  dontStrip = true;
-  dontPatchELF = true;
-
-  buildInputs = [ makeWrapper ];
-
-  buildPhase =
-    ''
-      for i in bin/*; do
-          patchelf \
-              --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
-              --set-rpath ${stdenv.lib.makeLibraryPath [ libX11 libXext libSM ]}:$(cat $NIX_CC/nix-support/orig-cc)/lib \
-              $i
-      done
-    '';
-
-  installPhase =
-    ''
-      mkdir -p $out
-      cp -prvd * $out/
-      wrapProgram $out/bin/wa2014ux --prefix PATH : ${xdg_utils}/bin \
-                                    --prefix LD_PRELOAD : $(cat $NIX_CC/nix-support/orig-cc)/lib/libgcc_s.so.1
-    '';
-
-  meta = {
-    description = "Elektronische aangifte WA 2014 (Dutch Tax Return Program)";
-    homepage = http://www.belastingdienst.nl/wps/wcm/connect/bldcontentnl/themaoverstijgend/programmas_en_formulieren/aangifteprogramma_2014_linux;
-    license = stdenv.lib.licenses.unfree;
-    platforms = stdenv.lib.platforms.linux;
-    hydraPlatforms = [];
-  };
-}
diff --git a/pkgs/applications/taxes/aangifte-2014/default.nix b/pkgs/applications/taxes/aangifte-2014/default.nix
deleted file mode 100644
index 33b6f8853aa..00000000000
--- a/pkgs/applications/taxes/aangifte-2014/default.nix
+++ /dev/null
@@ -1,41 +0,0 @@
-{ stdenv, fetchurl, makeWrapper, xdg_utils, libX11, libXext, libSM }:
-
-stdenv.mkDerivation {
-  name = "aangifte2014-1";
-
-  src = fetchurl {
-    url = http://download.belastingdienst.nl/belastingdienst/apps/linux/ib2014_linux.tar.gz;
-    sha256 = "1lkpfn9ban122hw27vvscdlg3933i2lqcdhp7lk26f894jbwzq3j";
-  };
-
-  dontStrip = true;
-  dontPatchELF = true;
-
-  buildInputs = [ makeWrapper ];
-
-  buildPhase =
-    ''
-      for i in bin/*; do
-          patchelf \
-              --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
-              --set-rpath ${stdenv.lib.makeLibraryPath [ libX11 libXext libSM ]}:$(cat $NIX_CC/nix-support/orig-cc)/lib \
-              $i
-      done
-    '';
-
-  installPhase =
-    ''
-      mkdir -p $out
-      cp -prvd * $out/
-      wrapProgram $out/bin/ib2014ux --prefix PATH : ${xdg_utils}/bin \
-                                    --prefix LD_PRELOAD : $(cat $NIX_CC/nix-support/orig-cc)/lib/libgcc_s.so.1
-    '';
-
-  meta = {
-    description = "Elektronische aangifte IB 2014 (Dutch Tax Return Program)";
-    homepage = http://www.belastingdienst.nl/wps/wcm/connect/bldcontentnl/themaoverstijgend/programmas_en_formulieren/aangifteprogramma_2014_linux;
-    license = stdenv.lib.licenses.unfree;
-    platforms = stdenv.lib.platforms.linux;
-    hydraPlatforms = [];
-  };
-}
diff --git a/pkgs/applications/version-management/bazaar/default.nix b/pkgs/applications/version-management/bazaar/default.nix
index 47d667a0c06..72e010fd283 100644
--- a/pkgs/applications/version-management/bazaar/default.nix
+++ b/pkgs/applications/version-management/bazaar/default.nix
@@ -1,4 +1,5 @@
 { stdenv, fetchurl, python2Packages
+, fetchpatch
 , withSFTP ? true
  }:
 
@@ -17,8 +18,15 @@ python2Packages.buildPythonApplication rec {
   propagatedBuildInputs = []
   ++ stdenv.lib.optionals withSFTP [ python2Packages.paramiko ];
 
-  # Bazaar can't find the certificates alone
-  patches = [ ./add_certificates.patch ];
+  patches = [
+    # Bazaar can't find the certificates alone
+    ./add_certificates.patch
+    (fetchpatch {
+      url = "https://bazaar.launchpad.net/~brz/brz/trunk/revision/6754";
+      sha256 = "0mdqa9w1p6cmli6976v4wi0sw9r4p5prkj7lzfd1877wk11c9c73";
+      name = "CVE-2017-14176.patch";
+    })
+  ];
   postPatch = ''
     substituteInPlace bzrlib/transport/http/_urllib2_wrappers.py \
       --subst-var-by certPath /etc/ssl/certs/ca-certificates.crt
diff --git a/pkgs/applications/version-management/bugseverywhere/default.nix b/pkgs/applications/version-management/bugseverywhere/default.nix
index 6301acdf134..7c41a60a725 100644
--- a/pkgs/applications/version-management/bugseverywhere/default.nix
+++ b/pkgs/applications/version-management/bugseverywhere/default.nix
@@ -28,7 +28,7 @@ pythonPackages.buildPythonApplication rec {
         homepage = http://www.bugseverywhere.org/;
         license = licenses.gpl2Plus;
         platforms = platforms.all;
-        maintainers = [ maintainers.matthiasbeyer ];
+        maintainers = [ ];
     };
 }
 
diff --git a/pkgs/applications/version-management/cvs/default.nix b/pkgs/applications/version-management/cvs/default.nix
index a330db6a8d6..71fb7612b33 100644
--- a/pkgs/applications/version-management/cvs/default.nix
+++ b/pkgs/applications/version-management/cvs/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, nano }:
+{ stdenv, fetchurl, fetchpatch, nano }:
 
 stdenv.mkDerivation {
   name = "cvs-1.12.13";
@@ -12,6 +12,10 @@ stdenv.mkDerivation {
     ./getcwd-chroot.patch
     ./CVE-2012-0804.patch
     ./CVE-2017-12836.patch
+    (fetchpatch {
+      url = "https://raw.githubusercontent.com/Homebrew/formula-patches/24118ec737c7/cvs/vasnprintf-high-sierra-fix.diff";
+      sha256 = "1ql6aaia7xkfq3vqhlw5bd2z2ywka82zk01njs1b2szn699liymg";
+    })
   ];
 
   hardeningDisable = [ "fortify" "format" ];
@@ -26,6 +30,8 @@ stdenv.mkDerivation {
 
   buildInputs = [ nano ];
 
+  doCheck = false; # fails 1 of 1 tests
+
   meta = {
     homepage = http://cvs.nongnu.org;
     description = "Concurrent Versions System - a source control system";
diff --git a/pkgs/applications/version-management/fossil/default.nix b/pkgs/applications/version-management/fossil/default.nix
index cadc72f0f87..1373e13c414 100644
--- a/pkgs/applications/version-management/fossil/default.nix
+++ b/pkgs/applications/version-management/fossil/default.nix
@@ -1,9 +1,11 @@
-{stdenv, libiconv, fetchurl, zlib, openssl, tcl, readline, sqlite, ed, which
-, tcllib, withJson ? true}:
+{ stdenv
+, libiconv, fetchurl, zlib, openssl, tcl, readline, sqlite, ed, which
+, tcllib, withJson ? true
+}:
 
 stdenv.mkDerivation rec {
   name = "fossil-${version}";
-  version = "2.5";
+  version = "2.6";
 
   src = fetchurl {
     urls =
@@ -11,18 +13,18 @@ stdenv.mkDerivation rec {
         "https://www.fossil-scm.org/index.html/uv/fossil-src-${version}.tar.gz"
       ];
     name = "${name}.tar.gz";
-    sha256 = "1lxawkhr1ki9fqw8076fxib2b1w673449yzb6vxjshqzh5h77c7r";
+    sha256 = "1nbfzxwnq66f8162nmddd22xn3nyazqr16kka2c1gghqb5ar99vn";
   };
 
   buildInputs = [ zlib openssl readline sqlite which ed ]
              ++ stdenv.lib.optional stdenv.isDarwin libiconv;
   nativeBuildInputs = [ tcl ];
 
-  doCheck = true;
+  doCheck = stdenv.hostPlatform == stdenv.buildPlatform;
 
   checkTarget = "test";
 
-  preCheck = ''
+  preCheck = stdenv.lib.optional doCheck ''
     export TCLLIBPATH="${tcllib}/lib/tcllib${tcllib.version}"
   '';
   configureFlags = if withJson then  "--json" else  "";
@@ -36,11 +38,6 @@ stdenv.mkDerivation rec {
     INSTALLDIR=$out/bin make install
   '';
 
-  crossAttrs = {
-    doCheck = false;
-    makeFlags = [ "TCC=$CC" ];
-  };
-
   meta = {
     description = "Simple, high-reliability, distributed software configuration management";
     longDescription = ''
diff --git a/pkgs/applications/version-management/git-and-tools/cgit/default.nix b/pkgs/applications/version-management/git-and-tools/cgit/default.nix
index 3c7d0a86be0..d890001489f 100644
--- a/pkgs/applications/version-management/git-and-tools/cgit/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/cgit/default.nix
@@ -1,6 +1,7 @@
 { stdenv, fetchurl, openssl, zlib, asciidoc, libxml2, libxslt
 , docbook_xml_xslt, pkgconfig, luajit
 , gzip, bzip2, xz
+, python, wrapPython, pygments, markdown
 }:
 
 stdenv.mkDerivation rec {
@@ -20,10 +21,11 @@ stdenv.mkDerivation rec {
     sha256 = "0wc64dzcxrzgi6kwcljz6y3cwm3ajdgf6aws7g58azbhvl1jk04l";
   };
 
-  nativeBuildInputs = [ pkgconfig ];
+  nativeBuildInputs = [ pkgconfig ] ++ [ python wrapPython ];
   buildInputs = [
     openssl zlib asciidoc libxml2 libxslt docbook_xml_xslt luajit
   ];
+  pythonPath = [ pygments markdown ];
 
   postPatch = ''
     sed -e 's|"gzip"|"${gzip}/bin/gzip"|' \
@@ -50,6 +52,8 @@ stdenv.mkDerivation rec {
     a2x --no-xmllint -f manpage cgitrc.5.txt
     mkdir -p "$out/share/man/man5"
     cp cgitrc.5 "$out/share/man/man5"
+
+    wrapPythonProgramsIn "$out/lib/cgit/filters" "$out $pythonPath"
   '';
 
   meta = {
diff --git a/pkgs/applications/version-management/git-and-tools/default.nix b/pkgs/applications/version-management/git-and-tools/default.nix
index e5e36e998ac..13b861d0a9e 100644
--- a/pkgs/applications/version-management/git-and-tools/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/default.nix
@@ -15,7 +15,6 @@ let
       perlPackages.MIMEBase64 perlPackages.AuthenSASL
       perlPackages.DigestHMAC
     ];
-    gitwebPerlLibs = with perlPackages; [ CGI HTMLParser ];
   };
 
 in
@@ -83,13 +82,15 @@ rec {
   git-radar = callPackage ./git-radar { };
 
   git-recent = callPackage ./git-recent {
-    utillinux = if stdenv.isLinux then utillinuxMinimal else null;
+    utillinux = if stdenv.isLinux then utillinuxMinimal else utillinux;
   };
 
   git-remote-hg = callPackage ./git-remote-hg { };
 
   git-secret = callPackage ./git-secret { };
 
+  git-secrets = callPackage ./git-secrets { };
+
   git-stree = callPackage ./git-stree { };
 
   git2cl = callPackage ./git2cl { };
@@ -106,6 +107,10 @@ rec {
     inherit (darwin) Security;
   };
 
+  hubUnstable = callPackage ./hub/unstable.nix {
+    inherit (darwin) Security;
+  };
+
   qgit = qt5.callPackage ./qgit { };
 
   stgit = callPackage ./stgit {
@@ -117,11 +122,14 @@ rec {
     git = gitSVN;
   };
 
-  svn_all_fast_export = libsForQt5.callPackage ./svn-all-fast-export { };
+  svn-all-fast-export = libsForQt5.callPackage ./svn-all-fast-export { };
 
   tig = callPackage ./tig { };
 
   topGit = callPackage ./topgit { };
 
   transcrypt = callPackage ./transcrypt { };
+
+  # aliases
+  svn_all_fast_export = svn-all-fast-export;
 }
diff --git a/pkgs/applications/version-management/git-and-tools/git-cola/default.nix b/pkgs/applications/version-management/git-and-tools/git-cola/default.nix
index 31504d542d2..391ca26de25 100644
--- a/pkgs/applications/version-management/git-and-tools/git-cola/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/git-cola/default.nix
@@ -1,20 +1,20 @@
 { stdenv, fetchFromGitHub, pythonPackages, makeWrapper, gettext, git }:
 
 let
-  inherit (pythonPackages) buildPythonApplication pyqt4 sip pyinotify python mock;
+  inherit (pythonPackages) buildPythonApplication pyqt5 sip pyinotify python mock;
 in buildPythonApplication rec {
   name = "git-cola-${version}";
-  version = "3.0";
+  version = "3.1";
 
   src = fetchFromGitHub {
     owner = "git-cola";
     repo = "git-cola";
     rev = "v${version}";
-    sha256 = "0jc360agrlhp1w9i725ffksvc6v95jnzzppjvza7ssip65gplrkx";
+    sha256 = "1xzm8694zndl2pb4nanzhldn7wrsc1gjd5ldjncidw1msp9fczq1";
   };
 
   buildInputs = [ git gettext ];
-  propagatedBuildInputs = [ pyqt4 sip pyinotify ];
+  propagatedBuildInputs = [ pyqt5 sip pyinotify ];
 
   doCheck = false;
 
diff --git a/pkgs/applications/version-management/git-and-tools/git-dit/default.nix b/pkgs/applications/version-management/git-and-tools/git-dit/default.nix
index d8104995152..41096441b8e 100644
--- a/pkgs/applications/version-management/git-and-tools/git-dit/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/git-dit/default.nix
@@ -41,6 +41,6 @@ buildRustPackage rec {
     inherit (src.meta) homepage;
     description = "Decentralized Issue Tracking for git";
     license = licenses.gpl2;
-    maintainers = with maintainers; [ Profpatsch matthiasbeyer ];
+    maintainers = with maintainers; [ Profpatsch ];
   };
 }
diff --git a/pkgs/applications/version-management/git-and-tools/git-extras/default.nix b/pkgs/applications/version-management/git-and-tools/git-extras/default.nix
index abd9013b6b0..e4db75c8ad7 100644
--- a/pkgs/applications/version-management/git-and-tools/git-extras/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/git-extras/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "git-extras-${version}";
-  version = "4.4.0";
+  version = "4.5.0";
 
   src = fetchurl {
     url = "https://github.com/tj/git-extras/archive/${version}.tar.gz";
-    sha256 = "0vb8syyr5nbvmkj5g4rb1p8rqxb2hyl25gbyf4rd0b972d7iihhn";
+    sha256 = "059680bvblbhrlkybg1yisr5zq62pir1rnaxz5izhfsw2ng9s2fb";
   };
 
   dontBuild = true;
diff --git a/pkgs/applications/version-management/git-and-tools/git-open/default.nix b/pkgs/applications/version-management/git-and-tools/git-open/default.nix
index 5272e2be07c..dc3fbbed199 100644
--- a/pkgs/applications/version-management/git-and-tools/git-open/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/git-open/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "git-open-${version}";
-  version = "1.3.1";
+  version = "2.0.0";
 
   src = fetchFromGitHub {
     owner = "paulirish";
     repo = "git-open";
     rev = "v${version}";
-    sha256 = "1klj41vqgyyigqzi6s1ykz9vd8wvaq3skin63pi989dlsjf7igyr";
+    sha256 = "0lprzrjsqrg83gixfaiw26achgd8l7s56jknsjss4p7y0w1fxm05";
   };
 
   buildInputs = [ makeWrapper ];
diff --git a/pkgs/applications/version-management/git-and-tools/git-radar/default.nix b/pkgs/applications/version-management/git-and-tools/git-radar/default.nix
index 1bf7a14932e..d72df802875 100644
--- a/pkgs/applications/version-management/git-and-tools/git-radar/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/git-radar/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "git-radar-${version}";
-  version = "0.5";
+  version = "0.6";
 
   src = fetchFromGitHub {
     owner = "michaeldfallen";
     repo = "git-radar";
     rev = "v${version}";
-    sha256 = "1915aqx8bfc4xmvhx2gfxv72p969a6rn436kii9w4yi38hibmqv9";
+    sha256 = "0c3zp8s4w7m4s71qgwk1jyfc8yzw34f2hi43x1w437ypgabwg81j";
   };
 
   dontBuild = true;
diff --git a/pkgs/applications/version-management/git-and-tools/git-recent/default.nix b/pkgs/applications/version-management/git-and-tools/git-recent/default.nix
index ae1139e9993..82bcbf74a9e 100644
--- a/pkgs/applications/version-management/git-and-tools/git-recent/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/git-recent/default.nix
@@ -1,23 +1,17 @@
 {stdenv, git, less, fetchFromGitHub, makeWrapper
 # utillinuxMinimal is included because we need the column command
-, utillinux ? null
+, utillinux
 }:
 
-assert stdenv.isLinux -> utillinux != null;
-
-let
-  binpath = stdenv.lib.makeBinPath
-    ([ git less ]
-    ++ stdenv.lib.optional (utillinux != null) utillinux);
-in stdenv.mkDerivation rec {
+stdenv.mkDerivation rec {
   name = "git-recent-${version}";
-  version = "1.0.3";
+  version = "1.0.4";
 
   src = fetchFromGitHub {
     owner = "paulirish";
     repo = "git-recent";
     rev = "v${version}";
-    sha256 = "0rckjjrw2xmvmbqaf66i36x59vs1v4pfnmvbinx5iggp7vjly1a4";
+    sha256 = "0dbnm5b2v04fy0jgzphm3xvz9scx0n4p10fw8wjd0cy56308h79k";
   };
 
   buildInputs = [ makeWrapper ];
@@ -28,7 +22,7 @@ in stdenv.mkDerivation rec {
     mkdir -p $out/bin
     cp git-recent $out/bin
     wrapProgram $out/bin/git-recent \
-      --prefix PATH : "${binpath}"
+      --prefix PATH : "${stdenv.lib.makeBinPath [ git less utillinux ]}"
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/version-management/git-and-tools/git-remote-gcrypt/default.nix b/pkgs/applications/version-management/git-and-tools/git-remote-gcrypt/default.nix
index 1208afa1963..adfdb9a541c 100644
--- a/pkgs/applications/version-management/git-and-tools/git-remote-gcrypt/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/git-remote-gcrypt/default.nix
@@ -2,14 +2,14 @@
 
 stdenv.mkDerivation rec {
   name = "git-remote-gcrypt-${version}";
-  version = "1.0.0";
+  version = "1.1";
   rev = version;
 
   src = fetchFromGitHub {
     inherit rev;
     owner = "spwhitton";
     repo = "git-remote-gcrypt";
-    sha256 = "0c8ig1pdqj7wjwldnf62pmm2x29ri62x6b24mbsl2nxzkqbwh379";
+    sha256 = "0mhz5mqnr35rk7j4wyhp7hzmqgv8r554n9qlm4iw565bz7acvq24";
   };
 
   outputs = [ "out" "man" ];
diff --git a/pkgs/applications/version-management/git-and-tools/git-secret/default.nix b/pkgs/applications/version-management/git-and-tools/git-secret/default.nix
index 3f64d9d86bb..02dc7f86fb3 100644
--- a/pkgs/applications/version-management/git-and-tools/git-secret/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/git-secret/default.nix
@@ -1,7 +1,7 @@
 { stdenv, lib, fetchFromGitHub, makeWrapper, git, gnupg }:
 
 let
-  version = "0.2.2";
+  version = "0.2.3";
   repo = "git-secret";
 
 in stdenv.mkDerivation {
@@ -11,7 +11,7 @@ in stdenv.mkDerivation {
     inherit repo;
     owner = "sobolevn";
     rev = "v${version}";
-    sha256 = "0vn9jibp97z7kc828wka1k0d7a9wx4skd6cnqy60kagfc00l0bzh";
+    sha256 = "1swgw91zzs9n582500a34cppyngrqrqrnl80d1vd7i93xx1lkmv6";
   };
 
   buildInputs = [ makeWrapper ];
diff --git a/pkgs/applications/version-management/git-and-tools/git-secrets/default.nix b/pkgs/applications/version-management/git-and-tools/git-secrets/default.nix
new file mode 100644
index 00000000000..a2f0c8ae414
--- /dev/null
+++ b/pkgs/applications/version-management/git-and-tools/git-secrets/default.nix
@@ -0,0 +1,40 @@
+{ stdenv, lib, fetchFromGitHub, makeWrapper, git }:
+
+let
+  version = "1.2.1";
+  repo = "git-secrets";
+
+in stdenv.mkDerivation {
+  name = "${repo}-${version}";
+
+  src = fetchFromGitHub {
+    inherit repo;
+    owner = "awslabs";
+    rev = "${version}";
+    sha256 = "14jsm4ks3k5d9iq3jr23829izw040pqpmv7dz8fhmvx6qz8fybzg";
+  };
+
+  buildInputs = [ makeWrapper git];
+
+  # buildPhase = ''
+  #  make man # TODO: need rst2man.py
+  # '';
+  
+  installPhase = ''
+    install -D git-secrets $out/bin/git-secrets
+
+    wrapProgram $out/bin/git-secrets \
+      --prefix PATH : "${lib.makeBinPath [ git ]}"
+
+    # TODO: see above note on rst2man.py
+    # mkdir $out/share
+    # cp -r man $out/share
+  '';
+
+  meta = {
+    description = "Prevents you from committing passwords and other sensitive information to a git repository";
+    homepage = https://github.com/awslabs/git-secrets;
+    license = stdenv.lib.licenses.asl20;
+    platforms = stdenv.lib.platforms.all;
+  };
+}
diff --git a/pkgs/applications/version-management/git-and-tools/git/default.nix b/pkgs/applications/version-management/git-and-tools/git/default.nix
index e545cb33bef..a3f61f3399d 100644
--- a/pkgs/applications/version-management/git-and-tools/git/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/git/default.nix
@@ -1,9 +1,11 @@
-{ fetchurl, stdenv, curl, openssl, zlib, expat, perl, python, gettext, cpio
+{ fetchurl, stdenv, buildPackages
+, curl, openssl, zlib, expat, perl, python, gettext, cpio
 , gnugrep, gnused, gawk, coreutils # needed at runtime by git-filter-branch etc
-, gzip, openssh, pcre2
+, openssh, pcre2
 , asciidoc, texinfo, xmlto, docbook2x, docbook_xsl, docbook_xml_dtd_45
 , libxslt, tcl, tk, makeWrapper, libiconv
-, svnSupport, subversionClient, perlLibs, smtpPerlLibs, gitwebPerlLibs
+, svnSupport, subversionClient, perlLibs, smtpPerlLibs
+, perlSupport ? true
 , guiSupport
 , withManual ? true
 , pythonSupport ? true
@@ -12,9 +14,12 @@
 , darwin
 }:
 
+assert sendEmailSupport -> perlSupport;
+assert svnSupport -> perlSupport;
+
 let
-  version = "2.16.2";
-  svn = subversionClient.override { perlBindings = true; };
+  version = "2.17.0";
+  svn = subversionClient.override { perlBindings = perlSupport; };
 in
 
 stdenv.mkDerivation {
@@ -22,17 +27,24 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "https://www.kernel.org/pub/software/scm/git/git-${version}.tar.xz";
-    sha256 = "05y7480f2p7fkncbhf08zz56jbykcp0ia5gl6y3djs0lsa5mfq2m";
+    sha256 = "1ismz7nsz8dgjmk782xr9s0mr2qh06f72pdcgbxfmnw1bvlya5p9";
   };
 
+  outputs = [ "out" ] ++ stdenv.lib.optional perlSupport "gitweb";
+
   hardeningDisable = [ "format" ];
 
+  enableParallelBuilding = true;
+
+  ## Patch
+
   patches = [
     ./docbook2texi.patch
     ./symlinks-in-bin.patch
     ./git-sh-i18n.patch
     ./ssh-path.patch
     ./git-send-email-honor-PATH.patch
+    ./installCheck-path.patch
   ];
 
   postPatch = ''
@@ -40,27 +52,44 @@ stdenv.mkDerivation {
       substituteInPlace "$x" \
         --subst-var-by ssh "${openssh}/bin/ssh"
     done
+
+    # Fix references to gettext introduced by ./git-sh-i18n.patch
+    substituteInPlace git-sh-i18n.sh \
+        --subst-var-by gettext ${gettext}
   '';
 
-  buildInputs = [curl openssl zlib expat gettext cpio makeWrapper libiconv perl]
+  nativeBuildInputs = [ gettext perl ]
     ++ stdenv.lib.optionals withManual [ asciidoc texinfo xmlto docbook2x
-         docbook_xsl docbook_xml_dtd_45 libxslt ]
+         docbook_xsl docbook_xml_dtd_45 libxslt ];
+  buildInputs = [curl openssl zlib expat cpio makeWrapper libiconv]
+    ++ stdenv.lib.optionals perlSupport [ perl ]
     ++ stdenv.lib.optionals guiSupport [tcl tk]
     ++ stdenv.lib.optionals withpcre2 [ pcre2 ]
     ++ stdenv.lib.optionals stdenv.isDarwin [ darwin.Security ];
 
-
   # required to support pthread_cancel()
   NIX_LDFLAGS = stdenv.lib.optionalString (!stdenv.cc.isClang) "-lgcc_s"
               + stdenv.lib.optionalString (stdenv.isFreeBSD) "-lthr";
 
-  makeFlags = "prefix=\${out} PERL_PATH=${perl}/bin/perl SHELL_PATH=${stdenv.shell} "
-      + (if pythonSupport then "PYTHON_PATH=${python}/bin/python" else "NO_PYTHON=1")
-      + (if stdenv.isSunOS then " INSTALL=install NO_INET_NTOP= NO_INET_PTON=" else "")
-      + (if stdenv.isDarwin then " NO_APPLE_COMMON_CRYPTO=1" else " sysconfdir=/etc/ ")
-      # XXX: USE_PCRE2 might be useful in general, look into it
-      # XXX other alpine options?
-      + (if stdenv.hostPlatform.isMusl then "NO_SYS_POLL_H=1 NO_GETTEXT=YesPlease" else "");
+  configureFlags = stdenv.lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform) [
+    "ac_cv_fread_reads_directories=yes"
+    "ac_cv_snprintf_returns_bogus=no"
+  ];
+
+  preBuild = ''
+    makeFlagsArray+=( perllibdir=$out/$(perl -MConfig -wle 'print substr $Config{installsitelib}, 1 + length $Config{siteprefixexp}') )
+  '';
+
+  makeFlags = [
+    "prefix=\${out}"
+    "SHELL_PATH=${stdenv.shell}"
+  ]
+  ++ (if perlSupport then ["PERL_PATH=${perl}/bin/perl"] else ["NO_PERL=1"])
+  ++ (if pythonSupport then ["PYTHON_PATH=${python}/bin/python"] else ["NO_PYTHON=1"])
+  ++ stdenv.lib.optionals stdenv.isSunOS ["INSTALL=install" "NO_INET_NTOP=" "NO_INET_PTON="]
+  ++ (if stdenv.isDarwin then ["NO_APPLE_COMMON_CRYPTO=1"] else ["sysconfdir=/etc/"])
+  ++ stdenv.lib.optionals stdenv.hostPlatform.isMusl ["NO_SYS_POLL_H=1" "NO_GETTEXT=YesPlease"]
+  ++ stdenv.lib.optional withpcre2 "USE_LIBPCRE2=1";
 
   # build git-credential-osxkeychain if darwin
   postBuild = stdenv.lib.optionalString stdenv.isDarwin ''
@@ -69,17 +98,17 @@ stdenv.mkDerivation {
     popd
   '';
 
-  # FIXME: "make check" requires Sparse; the Makefile must be tweaked
-  # so that `SPARSE_FLAGS' corresponds to the current architecture...
-  #doCheck = true;
 
-  installFlags = "NO_INSTALL_HARDLINKS=1"
-    + (if withpcre2 then " USE_LIBPCRE2=1" else "");
+  ## Install
+
+  # WARNING: Do not `rm` or `mv` files from the source tree; use `cp` instead.
+  #          We need many of these files during the installCheckPhase.
 
+  installFlags = "NO_INSTALL_HARDLINKS=1";
 
   preInstall = stdenv.lib.optionalString stdenv.isDarwin ''
     mkdir -p $out/bin
-    mv $PWD/contrib/credential/osxkeychain/git-credential-osxkeychain $out/bin
+    cp -a $PWD/contrib/credential/osxkeychain/git-credential-osxkeychain $out/bin
   '';
 
   postInstall =
@@ -97,7 +126,7 @@ stdenv.mkDerivation {
 
       # Install contrib stuff.
       mkdir -p $out/share/git
-      mv contrib $out/share/git/
+      cp -a contrib $out/share/git/
       ln -s "$out/share/git/contrib/credential/netrc/git-credential-netrc" $out/bin/
       mkdir -p $out/share/emacs/site-lisp
       ln -s "$out/share/git/contrib/emacs/"*.el $out/share/emacs/site-lisp/
@@ -115,9 +144,10 @@ stdenv.mkDerivation {
       SCRIPT="$(cat <<'EOS'
         BEGIN{
           @a=(
-            '${perl}/bin/perl', '${gnugrep}/bin/grep', '${gnused}/bin/sed', '${gawk}/bin/awk',
+            '${gnugrep}/bin/grep', '${gnused}/bin/sed', '${gawk}/bin/awk',
             '${coreutils}/bin/cut', '${coreutils}/bin/basename', '${coreutils}/bin/dirname',
             '${coreutils}/bin/wc', '${coreutils}/bin/tr'
+            ${stdenv.lib.optionalString perlSupport ", '${perl}/bin/perl'"}
           );
         }
         foreach $c (@a) {
@@ -129,23 +159,13 @@ stdenv.mkDerivation {
       perl -0777 -i -pe "$SCRIPT" \
         $out/libexec/git-core/git-{sh-setup,filter-branch,merge-octopus,mergetool,quiltimport,request-pull,stash,submodule,subtree,web--browse}
 
-      # Fix references to gettext.
-      substituteInPlace $out/libexec/git-core/git-sh-i18n \
-          --subst-var-by gettext ${gettext}
-
-      # gzip (and optionally bzip2, xz, zip) are runtime dependencies for
-      # gitweb.cgi, need to patch so that it's found
-      sed -i -e "s|'compressor' => \['gzip'|'compressor' => ['${gzip}/bin/gzip'|" \
-          $out/share/gitweb/gitweb.cgi
-      # Give access to CGI.pm and friends (was removed from perl core in 5.22)
-      for p in ${stdenv.lib.concatStringsSep " " gitwebPerlLibs}; do
-          sed -i -e "/use CGI /i use lib \"$p/lib/perl5/site_perl\";" \
-              "$out/share/gitweb/gitweb.cgi"
-      done
 
       # Also put git-http-backend into $PATH, so that we can use smart
       # HTTP(s) transports for pushing
       ln -s $out/libexec/git-core/git-http-backend $out/bin/git-http-backend
+    '' + stdenv.lib.optionalString perlSupport ''
+      # put in separate package for simpler maintenance
+      mv $out/share/gitweb $gitweb/
 
       # wrap perl commands
       gitperllib=$out/lib/perl5/site_perl
@@ -191,7 +211,7 @@ stdenv.mkDerivation {
        '')
 
    + stdenv.lib.optionalString withManual ''# Install man pages and Info manual
-       make -j $NIX_BUILD_CORES -l $NIX_BUILD_CORES PERL_PATH="${perl}/bin/perl" cmd-list.made install install-info \
+       make -j $NIX_BUILD_CORES -l $NIX_BUILD_CORES PERL_PATH="${buildPackages.perl}/bin/perl" cmd-list.made install install-info \
          -C Documentation ''
 
    + (if guiSupport then ''
@@ -216,7 +236,52 @@ EOF
   '';
 
 
-  enableParallelBuilding = true;
+  ## InstallCheck
+
+  doInstallCheck = true;
+
+  installCheckTarget = "test";
+
+  # see also installCheckFlagsArray
+  installCheckFlags = "DEFAULT_TEST_TARGET=prove";
+
+  preInstallCheck = ''
+    installCheckFlagsArray+=(
+      GIT_PROVE_OPTS="--jobs $NIX_BUILD_CORES --failures --state=failed,save"
+      GIT_TEST_INSTALLED=$out/bin
+      ${stdenv.lib.optionalString (!svnSupport) "NO_SVN_TESTS=y"}
+    )
+
+    function disable_test {
+      local test=$1 pattern=$2
+      if [ $# -eq 1 ]; then
+        mv t/{,skip-}$test.sh || true
+      else
+        sed -i t/$test.sh \
+          -e "/^ *test_expect_.*$pattern/,/^ *' *\$/{s/^/#/}"
+      fi
+    }
+
+    # Shared permissions are forbidden in sandbox builds.
+    disable_test t0001-init shared
+    disable_test t1301-shared-repo
+
+    # Our patched gettext never fallbacks
+    disable_test t0201-gettext-fallbacks
+
+    ${stdenv.lib.optionalString (!sendEmailSupport) ''
+      # Disable sendmail tests
+      disable_test t9001-send-email
+    ''}
+
+    # XXX: I failed to understand why this one fails.
+    # Could someone try to re-enable it on the next release ?
+    disable_test t1700-split-index "null sha1"
+  '' + stdenv.lib.optionalString stdenv.hostPlatform.isMusl ''
+    # Test fails (as of 2.17.0, musl 1.1.19)
+    disable_test t3900-i18n-commit
+  '';
+
 
   meta = {
     homepage = https://git-scm.com/;
diff --git a/pkgs/applications/version-management/git-and-tools/git/docbook2texi.patch b/pkgs/applications/version-management/git-and-tools/git/docbook2texi.patch
index bf36b2d321f..ab5bb3c3a6c 100644
--- a/pkgs/applications/version-management/git-and-tools/git/docbook2texi.patch
+++ b/pkgs/applications/version-management/git-and-tools/git/docbook2texi.patch
@@ -2,19 +2,19 @@ This patch does two things: (1) use the right name for `docbook2texi',
 and (2) make sure `gitman.info' isn't produced since it's broken (duplicate
 node names).
 
-diff -ru git-1.8.4-orig/Documentation/Makefile git-1.8.4/Documentation/Makefile
---- git-1.8.4-orig/Documentation/Makefile	2013-08-23 21:38:43.000000000 +0200
-+++ git-1.8.4/Documentation/Makefile	2013-09-30 14:48:51.532890378 +0200
-@@ -101,7 +101,7 @@
+diff --git a/Documentation/Makefile b/Documentation/Makefile
+--- a/Documentation/Makefile
++++ b/Documentation/Makefile
+@@ -122,7 +122,7 @@
  
  MAKEINFO = makeinfo
  INSTALL_INFO = install-info
 -DOCBOOK2X_TEXI = docbook2x-texi
 +DOCBOOK2X_TEXI = docbook2texi
  DBLATEX = dblatex
- ifndef PERL_PATH
- 	PERL_PATH = /usr/bin/perl
-@@ -205,7 +205,7 @@
+ ASCIIDOC_DBLATEX_DIR = /etc/asciidoc/dblatex
+ DBLATEX_COMMON = -p $(ASCIIDOC_DBLATEX_DIR)/asciidoc-dblatex.xsl -s $(ASCIIDOC_DBLATEX_DIR)/asciidoc-dblatex.sty
+@@ -240,7 +240,7 @@
  man5: $(DOC_MAN5)
  man7: $(DOC_MAN7)
  
@@ -23,7 +23,7 @@ diff -ru git-1.8.4-orig/Documentation/Makefile git-1.8.4/Documentation/Makefile
  
  pdf: user-manual.pdf
  
-@@ -221,10 +221,9 @@
+@@ -256,10 +256,9 @@
  
  install-info: info
  	$(INSTALL) -d -m 755 $(DESTDIR)$(infodir)
diff --git a/pkgs/applications/version-management/git-and-tools/git/git-send-email-honor-PATH.patch b/pkgs/applications/version-management/git-and-tools/git/git-send-email-honor-PATH.patch
index 9a484262b7b..6b93d061a3b 100644
--- a/pkgs/applications/version-management/git-and-tools/git/git-send-email-honor-PATH.patch
+++ b/pkgs/applications/version-management/git-and-tools/git/git-send-email-honor-PATH.patch
@@ -1,22 +1,20 @@
 diff --git a/Documentation/git-send-email.txt b/Documentation/git-send-email.txt
-index 8060ea35c..c81067a19 100644
 --- a/Documentation/git-send-email.txt
 +++ b/Documentation/git-send-email.txt
-@@ -203,8 +203,7 @@ a password is obtained using 'git-credential'.
+@@ -208,8 +208,7 @@ a password is obtained using 'git-credential'.
  	specify a full pathname of a sendmail-like program instead;
  	the program must support the `-i` option.  Default value can
  	be specified by the `sendemail.smtpServer` configuration
 -	option; the built-in default is to search for `sendmail` in
 -	`/usr/sbin`, `/usr/lib` and $PATH if such program is
-+        option; the built-in default is to search in $PATH if such program is
++	option; the built-in default is to search in $PATH if such program is
  	available, falling back to `localhost` otherwise.
 
  --smtp-server-port=<port>::
 diff --git a/git-send-email.perl b/git-send-email.perl
-index edcc6d346..8e357aeab 100755
 --- a/git-send-email.perl
 +++ b/git-send-email.perl
-@@ -885,8 +885,7 @@ if (defined $initial_reply_to) {
+@@ -944,8 +944,7 @@ if (defined $reply_to) {
  }
 
  if (!defined $smtp_server) {
diff --git a/pkgs/applications/version-management/git-and-tools/git/git-sh-i18n.patch b/pkgs/applications/version-management/git-and-tools/git/git-sh-i18n.patch
index 97f50064bc3..216c0e56b44 100644
--- a/pkgs/applications/version-management/git-and-tools/git/git-sh-i18n.patch
+++ b/pkgs/applications/version-management/git-and-tools/git/git-sh-i18n.patch
@@ -6,15 +6,15 @@
 
 -# First decide what scheme to use...
 -GIT_INTERNAL_GETTEXT_SH_SCHEME=fallthrough
--if test -n "@@USE_GETTEXT_SCHEME@@"
+-if test -n "$GIT_GETTEXT_POISON"
+-then
+-	GIT_INTERNAL_GETTEXT_SH_SCHEME=poison
+-elif test -n "@@USE_GETTEXT_SCHEME@@"
 -then
 -	GIT_INTERNAL_GETTEXT_SH_SCHEME="@@USE_GETTEXT_SCHEME@@"
 -elif test -n "$GIT_INTERNAL_GETTEXT_TEST_FALLBACKS"
 -then
 -	: no probing necessary
--elif test -n "$GIT_GETTEXT_POISON"
--then
--	GIT_INTERNAL_GETTEXT_SH_SCHEME=poison
 -elif type gettext.sh >/dev/null 2>&1
 -then
 -	# GNU libintl's gettext.sh
diff --git a/pkgs/applications/version-management/git-and-tools/git/installCheck-path.patch b/pkgs/applications/version-management/git-and-tools/git/installCheck-path.patch
new file mode 100644
index 00000000000..8c68fb9f186
--- /dev/null
+++ b/pkgs/applications/version-management/git-and-tools/git/installCheck-path.patch
@@ -0,0 +1,12 @@
+diff --git a/t/test-lib.sh b/t/test-lib.sh
+--- a/t/test-lib.sh
++++ b/t/test-lib.sh
+@@ -923,7 +923,7 @@
+ then
+ 	GIT_EXEC_PATH=$($GIT_TEST_INSTALLED/git --exec-path)  ||
+ 	error "Cannot run git from $GIT_TEST_INSTALLED."
+-	PATH=$GIT_TEST_INSTALLED:$GIT_BUILD_DIR:$PATH
++	PATH=$GIT_TEST_INSTALLED:$GIT_BUILD_DIR/t/helper:$GIT_BUILD_DIR:$PATH
+ 	GIT_EXEC_PATH=${GIT_TEST_EXEC_PATH:-$GIT_EXEC_PATH}
+ else # normal case, use ../bin-wrappers only unless $with_dashes:
+ 	git_bin_dir="$GIT_BUILD_DIR/bin-wrappers"
diff --git a/pkgs/applications/version-management/git-and-tools/git/symlinks-in-bin.patch b/pkgs/applications/version-management/git-and-tools/git/symlinks-in-bin.patch
index 29d537db25f..0a581a61d46 100644
--- a/pkgs/applications/version-management/git-and-tools/git/symlinks-in-bin.patch
+++ b/pkgs/applications/version-management/git-and-tools/git/symlinks-in-bin.patch
@@ -1,7 +1,7 @@
-diff -ru -x '*~' git-1.8.2.1-orig/Makefile git-1.8.2.1/Makefile
---- git-1.8.2.1-orig/Makefile	2013-04-08 00:52:04.000000000 +0200
-+++ git-1.8.2.1/Makefile	2013-04-22 15:46:42.906026940 +0200
-@@ -2319,8 +2319,7 @@
+diff --git a/Makefile b/Makefile
+--- a/Makefile
++++ b/Makefile
+@@ -2609,8 +2609,7 @@
  	{ test "$$bindir/" = "$$execdir/" || \
  	  for p in git$X $(filter $(install_bindir_programs),$(ALL_PROGRAMS)); do \
  		$(RM) "$$execdir/$$p" && \
diff --git a/pkgs/applications/version-management/git-and-tools/gitweb/default.nix b/pkgs/applications/version-management/git-and-tools/gitweb/default.nix
new file mode 100644
index 00000000000..0358f850c9a
--- /dev/null
+++ b/pkgs/applications/version-management/git-and-tools/gitweb/default.nix
@@ -0,0 +1,37 @@
+{ stdenv, git, gzip, perlPackages, fetchFromGitHub
+, gitwebTheme ? false }:
+
+let
+  gitwebPerlLibs = with perlPackages; [ CGI HTMLParser CGIFast FCGI FCGIProcManager HTMLTagCloud ];
+  gitwebThemeSrc = fetchFromGitHub {
+    owner = "kogakure";
+    repo = "gitweb-theme";
+    rev = "049b88e664a359f8ec25dc6f531b7e2aa60dd1a2";
+    sha256 = "0wksqma41z36dbv6w6iplkjfdm0ha3njp222fakyh4lismajr71p";
+  };
+in stdenv.mkDerivation {
+  name = "gitweb";
+
+  src = git.gitweb;
+
+  installPhase = ''
+      mkdir $out
+      mv * $out
+
+      # gzip (and optionally bzip2, xz, zip) are runtime dependencies for
+      # gitweb.cgi, need to patch so that it's found
+      sed -i -e "s|'compressor' => \['gzip'|'compressor' => ['${gzip}/bin/gzip'|" \
+          $out/gitweb.cgi
+      # Give access to CGI.pm and friends (was removed from perl core in 5.22)
+      for p in ${stdenv.lib.concatStringsSep " " gitwebPerlLibs}; do
+          sed -i -e "/use CGI /i use lib \"$p/lib/perl5/site_perl\";" \
+              "$out/gitweb.cgi"
+      done
+
+      ${stdenv.lib.optionalString gitwebTheme "cp ${gitwebThemeSrc}/* $out/static"}
+  '';
+
+  meta = git.meta // {
+    maintainers = with stdenv.lib.maintainers; [ gnidorah ];
+  };
+}
diff --git a/pkgs/applications/version-management/git-and-tools/hub/unstable.nix b/pkgs/applications/version-management/git-and-tools/hub/unstable.nix
new file mode 100644
index 00000000000..7e83c2cfb67
--- /dev/null
+++ b/pkgs/applications/version-management/git-and-tools/hub/unstable.nix
@@ -0,0 +1,36 @@
+{ stdenv, fetchgit, go, ronn, groff, utillinux, Security }:
+
+stdenv.mkDerivation rec {
+  name = "hub-${version}";
+  version = "2.3.0-pre10";
+
+  src = fetchgit {
+    url = https://github.com/github/hub.git;
+    rev = "refs/tags/v${version}";
+    sha256 = "07sz1i6zxx2g36ayhjp1vjw523ckk5b0cr8b80s1qhar2d2hkibd";
+  };
+
+  buildInputs = [ go ronn groff utillinux ]
+    ++ stdenv.lib.optional stdenv.isDarwin Security;
+
+  buildPhase = ''
+    mkdir bin
+    ln -s ${ronn}/bin/ronn bin/ronn
+
+    patchShebangs .
+    make all man-pages
+  '';
+
+  installPhase = ''
+    prefix=$out sh -x < script/install.sh
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Command-line wrapper for git that makes you better at GitHub";
+
+    license = licenses.mit;
+    homepage = https://hub.github.com/;
+    maintainers = with maintainers; [ the-kenny ];
+    platforms = with platforms; unix;
+  };
+}
diff --git a/pkgs/applications/version-management/git-and-tools/stgit/default.nix b/pkgs/applications/version-management/git-and-tools/stgit/default.nix
index 7130e057d97..64e700273d1 100644
--- a/pkgs/applications/version-management/git-and-tools/stgit/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/stgit/default.nix
@@ -1,14 +1,15 @@
 { stdenv, fetchurl, python2, git }:
 
 let
-  name = "stgit-0.17.1";
+  name = "stgit-${version}";
+  version = "0.18";
 in
 stdenv.mkDerivation {
   inherit name;
 
   src = fetchurl {
-    url = "http://download.gna.org/stgit/${name}.tar.gz";
-    sha256 = "1pka0ns9x0kabn036zsf0mwmwiynckhnva51kgxsch9fqah6acyl";
+    url = "https://github.com/ctmarinas/stgit/archive/v${version}.tar.gz";
+    sha256 = "19fk6vw3pgp2a98wpd4j3kyiyll5dy9bi4921wq1mrky0l53mj00";
   };
 
   buildInputs = [ python2 git ];
diff --git a/pkgs/applications/version-management/git-and-tools/svn-all-fast-export/default.nix b/pkgs/applications/version-management/git-and-tools/svn-all-fast-export/default.nix
index fbafc5257d7..2dfa61952a5 100644
--- a/pkgs/applications/version-management/git-and-tools/svn-all-fast-export/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/svn-all-fast-export/default.nix
@@ -17,8 +17,8 @@ stdenv.mkDerivation {
   patches = [
     (fetchpatch {
       name = "pr40.patch";
-      sha256 = "1qndhk5csf7kddk3giailx7r0cdipq46lj73nkcws43n4n93synk";
-      url = https://github.com/svn-all-fast-export/svn2git/pull/40.diff;
+      sha256 = "0mwncklzncsifql9zlxlbj3clsif5p2v1xs8nmxrw44mqvaysjw3";
+      url = https://github.com/svn-all-fast-export/svn2git/compare/f00d5a5...flokli:nixos-20180326.patch;
     })
   ];
 
@@ -31,8 +31,6 @@ stdenv.mkDerivation {
     "SVN_INCLUDE=${subversion.dev}/include/subversion-1"
   ];
 
-  installPhase = "make install INSTALL_ROOT=$out";
-
   meta = with stdenv.lib; {
     homepage = https://github.com/svn-all-fast-export/svn2git;
     description = "A fast-import based converter for an svn repo to git repos";
diff --git a/pkgs/applications/version-management/git-review/default.nix b/pkgs/applications/version-management/git-review/default.nix
index c9251b987e9..21ceccf9f35 100644
--- a/pkgs/applications/version-management/git-review/default.nix
+++ b/pkgs/applications/version-management/git-review/default.nix
@@ -2,7 +2,7 @@
 
 pythonPackages.buildPythonApplication rec {
   name = "git-review-${version}";
-  version = "1.25.0";
+  version = "1.26.0";
 
   # Manually set version because prb wants to get it from the git
   # upstream repository (and we are installing from tarball instead)
@@ -14,7 +14,7 @@ pythonPackages.buildPythonApplication rec {
 
   src = fetchurl rec {
     url = "https://github.com/openstack-infra/git-review/archive/${version}.tar.gz";
-    sha256 = "aa594690ed586041a524d6e5ae76152cbd53d4f03a98b20b213d15cecbe128ce";
+    sha256 = "106nk6p7byf5vi68b2fvmwma5nk7qrv39nfj9p1bfxmb1gjdixhc";
   };
 
   propagatedBuildInputs = with pythonPackages; [ pbr requests setuptools ];
diff --git a/pkgs/applications/version-management/git-sizer/default.nix b/pkgs/applications/version-management/git-sizer/default.nix
new file mode 100644
index 00000000000..a0d7382de34
--- /dev/null
+++ b/pkgs/applications/version-management/git-sizer/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, lib, buildGoPackage, fetchFromGitHub }:
+
+buildGoPackage rec {
+  pname = "git-sizer";
+  name = "${pname}-${version}";
+  version = "1.0.0";
+
+  goPackagePath = "github.com/github/git-sizer";
+
+  src = fetchFromGitHub {
+    owner = "github";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "11rvqpsyl41ph0fgm62k5q2p33zgnwj1jd91rd4lkaarpcd1sg5h";
+  };
+
+  meta = with lib; {
+    description = "Compute various size metrics for a Git repository";
+    license = licenses.mit;
+    maintainers = with maintainers; [ matthewbauer ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/applications/version-management/gitaly/Gemfile b/pkgs/applications/version-management/gitaly/Gemfile
index 2aaf872d109..b300f27918c 100644
--- a/pkgs/applications/version-management/gitaly/Gemfile
+++ b/pkgs/applications/version-management/gitaly/Gemfile
@@ -1,11 +1,24 @@
 source 'https://rubygems.org'
 
-gem 'github-linguist', '~> 4.7.0', require: 'linguist'
-gem 'gitaly-proto', '~> 0.59.0', require: 'gitaly'
-gem 'activesupport'
+gem 'rugged', '~> 0.27.0'
+gem 'github-linguist', '~> 5.3.3', require: 'linguist'
+gem 'gitlab-markup', '~> 1.6.2'
+gem 'gitaly-proto', '~> 0.95.0', require: 'gitaly'
+gem 'activesupport', '~> 5.0.2'
+gem 'rdoc', '~> 4.2'
 gem 'gollum-lib', '~> 4.2', require: false
 gem 'gollum-rugged_adapter', '~> 0.4.4', require: false
+gem 'grpc', '~> 1.10.0'
+gem 'sentry-raven', '~> 2.7.2', require: false
+
+# Detects the open source license the repository includes
+# This version needs to be in sync with GitLab CE/EE
+gem 'licensee', '~> 8.7.0'
+
+# Locked until https://github.com/google/protobuf/issues/4210 is closed
+gem 'google-protobuf', '= 3.5.1'
 
 group :development, :test do
   gem 'gitlab-styles', '~> 2.0.0', require: false
+  gem 'rspec', require: false
 end
diff --git a/pkgs/applications/version-management/gitaly/Gemfile.lock b/pkgs/applications/version-management/gitaly/Gemfile.lock
index f4e4ab10883..2687952c805 100644
--- a/pkgs/applications/version-management/gitaly/Gemfile.lock
+++ b/pkgs/applications/version-management/gitaly/Gemfile.lock
@@ -1,36 +1,37 @@
 GEM
   remote: https://rubygems.org/
   specs:
-    activesupport (5.0.0.1)
+    activesupport (5.0.6)
       concurrent-ruby (~> 1.0, >= 1.0.2)
       i18n (~> 0.7)
       minitest (~> 5.1)
       tzinfo (~> 1.1)
-    addressable (2.5.1)
-      public_suffix (~> 2.0, >= 2.0.2)
+    addressable (2.5.2)
+      public_suffix (>= 2.0.2, < 4.0)
     ast (2.3.0)
-    charlock_holmes (0.7.5)
+    charlock_holmes (0.7.6)
     concurrent-ruby (1.0.5)
     diff-lcs (1.3)
     escape_utils (1.1.1)
-    faraday (0.12.2)
+    faraday (0.14.0)
       multipart-post (>= 1.2, < 3)
     gemojione (3.3.0)
       json
-    gitaly-proto (0.59.0)
+    gitaly-proto (0.95.0)
       google-protobuf (~> 3.1)
-      grpc (~> 1.0)
-    github-linguist (4.7.6)
-      charlock_holmes (~> 0.7.3)
+      grpc (~> 1.10)
+    github-linguist (5.3.3)
+      charlock_holmes (~> 0.7.5)
       escape_utils (~> 1.1.0)
       mime-types (>= 1.19)
-      rugged (>= 0.23.0b)
+      rugged (>= 0.25.1)
     github-markup (1.6.1)
     gitlab-grit (2.8.2)
       charlock_holmes (~> 0.6)
       diff-lcs (~> 1.1)
       mime-types (>= 1.16)
       posix-spawn (~> 0.3)
+    gitlab-markup (1.6.3)
     gitlab-styles (2.0.0)
       rubocop (~> 0.49)
       rubocop-gitlab-security (~> 0.1.0)
@@ -48,21 +49,26 @@ GEM
     gollum-rugged_adapter (0.4.4)
       mime-types (>= 1.15)
       rugged (~> 0.25)
-    google-protobuf (3.4.0.2)
-    googleauth (0.5.3)
+    google-protobuf (3.5.1)
+    googleapis-common-protos-types (1.0.1)
+      google-protobuf (~> 3.0)
+    googleauth (0.6.2)
       faraday (~> 0.12)
-      jwt (~> 1.4)
+      jwt (>= 1.4, < 3.0)
       logging (~> 2.0)
       memoist (~> 0.12)
       multi_json (~> 1.11)
       os (~> 0.9)
       signet (~> 0.7)
-    grpc (1.6.0)
+    grpc (1.10.0)
       google-protobuf (~> 3.1)
-      googleauth (~> 0.5.1)
+      googleapis-common-protos-types (~> 1.0.0)
+      googleauth (>= 0.5.1, < 0.7)
     i18n (0.8.1)
     json (2.1.0)
-    jwt (1.5.6)
+    jwt (2.1.0)
+    licensee (8.7.0)
+      rugged (~> 0.24)
     little-plugger (1.1.4)
     logging (2.2.2)
       little-plugger (~> 1.1)
@@ -73,7 +79,7 @@ GEM
     mime-types-data (3.2016.0521)
     mini_portile2 (2.3.0)
     minitest (5.9.1)
-    multi_json (1.12.1)
+    multi_json (1.13.1)
     multipart-post (2.0.0)
     nokogiri (1.8.1)
       mini_portile2 (~> 2.3.0)
@@ -83,11 +89,25 @@ GEM
       ast (~> 2.2)
     posix-spawn (0.3.13)
     powerpack (0.1.1)
-    public_suffix (2.0.5)
+    public_suffix (3.0.2)
     rainbow (2.2.2)
       rake
     rake (12.1.0)
+    rdoc (4.3.0)
     rouge (2.2.1)
+    rspec (3.6.0)
+      rspec-core (~> 3.6.0)
+      rspec-expectations (~> 3.6.0)
+      rspec-mocks (~> 3.6.0)
+    rspec-core (3.6.0)
+      rspec-support (~> 3.6.0)
+    rspec-expectations (3.6.0)
+      diff-lcs (>= 1.2.0, < 2.0)
+      rspec-support (~> 3.6.0)
+    rspec-mocks (3.6.0)
+      diff-lcs (>= 1.2.0, < 2.0)
+      rspec-support (~> 3.6.0)
+    rspec-support (3.6.0)
     rubocop (0.50.0)
       parallel (~> 1.10)
       parser (>= 2.3.3.1, < 3.0)
@@ -100,13 +120,15 @@ GEM
     rubocop-rspec (1.17.0)
       rubocop (>= 0.50.0)
     ruby-progressbar (1.8.3)
-    rugged (0.26.0)
+    rugged (0.27.0)
     sanitize (2.1.0)
       nokogiri (>= 1.4.4)
-    signet (0.7.3)
+    sentry-raven (2.7.2)
+      faraday (>= 0.7.6, < 1.0)
+    signet (0.8.1)
       addressable (~> 2.3)
       faraday (~> 0.9)
-      jwt (~> 1.5)
+      jwt (>= 1.5, < 3.0)
       multi_json (~> 1.10)
     stringex (2.7.1)
     thread_safe (0.3.6)
@@ -118,12 +140,20 @@ PLATFORMS
   ruby
 
 DEPENDENCIES
-  activesupport
-  gitaly-proto (~> 0.59.0)
-  github-linguist (~> 4.7.0)
+  activesupport (~> 5.0.2)
+  gitaly-proto (~> 0.95.0)
+  github-linguist (~> 5.3.3)
+  gitlab-markup (~> 1.6.2)
   gitlab-styles (~> 2.0.0)
   gollum-lib (~> 4.2)
   gollum-rugged_adapter (~> 0.4.4)
+  google-protobuf (= 3.5.1)
+  grpc (~> 1.10.0)
+  licensee (~> 8.7.0)
+  rdoc (~> 4.2)
+  rspec
+  rugged (~> 0.27.0)
+  sentry-raven (~> 2.7.2)
 
 BUNDLED WITH
-   1.16.0
+   1.16.1
diff --git a/pkgs/applications/version-management/gitaly/default.nix b/pkgs/applications/version-management/gitaly/default.nix
index 43ac470dcd4..32884d0a1cc 100644
--- a/pkgs/applications/version-management/gitaly/default.nix
+++ b/pkgs/applications/version-management/gitaly/default.nix
@@ -7,14 +7,14 @@ let
     gemdir = ./.;
   };
 in buildGoPackage rec {
-  version = "0.59.2";
+  version = "0.95.0";
   name = "gitaly-${version}";
 
   src = fetchFromGitLab {
     owner = "gitlab-org";
     repo = "gitaly";
     rev = "v${version}";
-    sha256 = "08f109rw3qxdr93l0kl8wxmrvn846a6vdkssvrp2zr40yn9wif7m";
+    sha256 = "0kadld8372vj0nm692mcn8j4ngph5gzzrzp8dmb4g26h10nq9k6a";
   };
 
   goPackagePath = "gitlab.com/gitlab-org/gitaly";
diff --git a/pkgs/applications/version-management/gitaly/gemset.nix b/pkgs/applications/version-management/gitaly/gemset.nix
index 81bb334085a..9e6f01e3679 100644
--- a/pkgs/applications/version-management/gitaly/gemset.nix
+++ b/pkgs/applications/version-management/gitaly/gemset.nix
@@ -3,19 +3,19 @@
     dependencies = ["concurrent-ruby" "i18n" "minitest" "tzinfo"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1vgjr48yiynwf9rh2nsxa8w134na0805l40chf9g9scii9k70rj9";
+      sha256 = "0g85lqq0smj71g8a2dxb54ajjzw59c9snana4p61knryc83q3yg6";
       type = "gem";
     };
-    version = "5.0.0.1";
+    version = "5.0.6";
   };
   addressable = {
     dependencies = ["public_suffix"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1i8q32a4gr0zghxylpyy7jfqwxvwrivsxflg9mks6kx92frh75mh";
+      sha256 = "0viqszpkggqi8hq87pqp0xykhvz60g99nwmkwsb0v45kc2liwxvk";
       type = "gem";
     };
-    version = "2.5.1";
+    version = "2.5.2";
   };
   ast = {
     source = {
@@ -28,10 +28,10 @@
   charlock_holmes = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "09dn56sx0kcw0k8ypiynhnhhiq7ff9m7b57l8wvnxj82wxsjb54y";
+      sha256 = "1nf1l31n10yaark2rrg5qzyzcx9w80681449s3j09qmnipsl8rl5";
       type = "gem";
     };
-    version = "0.7.5";
+    version = "0.7.6";
   };
   concurrent-ruby = {
     source = {
@@ -61,10 +61,10 @@
     dependencies = ["multipart-post"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "157c4cmb5g1b3ny6k9qf9z57rfijl54fcq3hnqqf6g31g1m096b2";
+      sha256 = "1c3x3s8vb5nf7inyfvhdxwa4q3swmnacpxby6pish5fgmhws7zrr";
       type = "gem";
     };
-    version = "0.12.2";
+    version = "0.14.0";
   };
   gemojione = {
     dependencies = ["json"];
@@ -79,19 +79,19 @@
     dependencies = ["google-protobuf" "grpc"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0s86126iqhbmkix6zs357ixlc1syyxmwk2blaimsav7f0x9swy82";
+      sha256 = "0xwgi3902c89kx0fa176wz289nh67qm9bmx0yykrg5xx1lwk8a2j";
       type = "gem";
     };
-    version = "0.59.0";
+    version = "0.95.0";
   };
   github-linguist = {
     dependencies = ["charlock_holmes" "escape_utils" "mime-types" "rugged"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0c8w92yzjfs7pjnm8bdjsgyd1jpisn10fb6dy43381k1k8pxsifd";
+      sha256 = "0kgashbqpypv329m63b85ri1dx0gppwd0832hvwh124lk5b19drk";
       type = "gem";
     };
-    version = "4.7.6";
+    version = "5.3.3";
   };
   github-markup = {
     source = {
@@ -110,6 +110,14 @@
     };
     version = "2.8.2";
   };
+  gitlab-markup = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1pvx257azpr00yvb74lgjpgnj72nwyd29l9a18280rgmp4cjniki";
+      type = "gem";
+    };
+    version = "1.6.3";
+  };
   gitlab-styles = {
     dependencies = ["rubocop" "rubocop-gitlab-security" "rubocop-rspec"];
     source = {
@@ -149,28 +157,37 @@
   google-protobuf = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1jh8axm5m75rvdf2i3s24pmi7p613armh9vk3p1d0ryfx159mqkl";
+      sha256 = "0s8ijd9wdrkqwsb6nasrsv7f9i5im2nyax7f7jlb5y9vh8nl98qi";
+      type = "gem";
+    };
+    version = "3.5.1";
+  };
+  googleapis-common-protos-types = {
+    dependencies = ["google-protobuf"];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0yf10s7w8wpa49hc86z7z2fkn9yz7j2njz0n8xmqb24ji090z4ck";
       type = "gem";
     };
-    version = "3.4.0.2";
+    version = "1.0.1";
   };
   googleauth = {
     dependencies = ["faraday" "jwt" "logging" "memoist" "multi_json" "os" "signet"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1xpmvrzhczak25nm0k3r9aa083lmfnzi94mir3g1xyrgzz66vxli";
+      sha256 = "08z4zfj9cwry13y8c2w5p4xylyslxxjq4wahd95bk1ddl5pknd4f";
       type = "gem";
     };
-    version = "0.5.3";
+    version = "0.6.2";
   };
   grpc = {
-    dependencies = ["google-protobuf" "googleauth"];
+    dependencies = ["google-protobuf" "googleapis-common-protos-types" "googleauth"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "056ipqai887x5jpbgcc215kdi0lfqjzcjbx3hx11cjrfww01zc52";
+      sha256 = "17wvqhjmldxph4li402rvfbyzi5455lzmfr2y19kq9ghrzjyad82";
       type = "gem";
     };
-    version = "1.6.0";
+    version = "1.10.0";
   };
   i18n = {
     source = {
@@ -191,10 +208,19 @@
   jwt = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "124zz1142bi2if7hl5pcrcamwchv4icyr5kaal9m2q6wqbdl6aw4";
+      sha256 = "1w0kaqrbl71cq9sbnixc20x5lqah3hs2i93xmhlfdg2y3by7yzky";
       type = "gem";
     };
-    version = "1.5.6";
+    version = "2.1.0";
+  };
+  licensee = {
+    dependencies = ["rugged"];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1nhj0vx30llqyb7q52bwmrgy9xpjk3q48k98h0dvq83ym4v216a2";
+      type = "gem";
+    };
+    version = "8.7.0";
   };
   little-plugger = {
     source = {
@@ -257,10 +283,10 @@
   multi_json = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1wpc23ls6v2xbk3l1qncsbz16npvmw8p0b38l8czdzri18mp51xk";
+      sha256 = "1rl0qy4inf1mp8mybfk56dfga0mvx97zwpmq5xmiwl5r770171nv";
       type = "gem";
     };
-    version = "1.12.1";
+    version = "1.13.1";
   };
   multipart-post = {
     source = {
@@ -323,10 +349,10 @@
   public_suffix = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "040jf98jpp6w140ghkhw2hvc1qx41zvywx5gj7r2ylr1148qnj7q";
+      sha256 = "1x5h1dh1i3gwc01jbg01rly2g6a1qwhynb1s8a30ic507z1nh09s";
       type = "gem";
     };
-    version = "2.0.5";
+    version = "3.0.2";
   };
   rainbow = {
     dependencies = ["rake"];
@@ -345,6 +371,14 @@
     };
     version = "12.1.0";
   };
+  rdoc = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "13ba2mhqqcsp3k97x3iz9x29xk26rv4561lfzzzibcy41vvj1n4c";
+      type = "gem";
+    };
+    version = "4.3.0";
+  };
   rouge = {
     source = {
       remotes = ["https://rubygems.org"];
@@ -353,6 +387,50 @@
     };
     version = "2.2.1";
   };
+  rspec = {
+    dependencies = ["rspec-core" "rspec-expectations" "rspec-mocks"];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1nd50hycab2a2vdah9lxi585g8f63jxjvmzmxqyln51grxwx9hzb";
+      type = "gem";
+    };
+    version = "3.6.0";
+  };
+  rspec-core = {
+    dependencies = ["rspec-support"];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "18np8wyw2g79waclpaacba6nd7x60ixg07ncya0j0qj1z9b37grd";
+      type = "gem";
+    };
+    version = "3.6.0";
+  };
+  rspec-expectations = {
+    dependencies = ["diff-lcs" "rspec-support"];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "028ifzf9mqp3kxx40q1nbwj40g72g9zk0wr78l146phblkv96w0a";
+      type = "gem";
+    };
+    version = "3.6.0";
+  };
+  rspec-mocks = {
+    dependencies = ["diff-lcs" "rspec-support"];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0nv6jkxy24sag1i9w9wi3850k6skk2fm6yhcrgnmlz6vmwxvizp8";
+      type = "gem";
+    };
+    version = "3.6.0";
+  };
+  rspec-support = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "050paqqpsml8w88nf4a15zbbj3vvm471zpv73sjfdnz7w21wnypb";
+      type = "gem";
+    };
+    version = "3.6.0";
+  };
   rubocop = {
     dependencies = ["parallel" "parser" "powerpack" "rainbow" "ruby-progressbar" "unicode-display_width"];
     source = {
@@ -391,10 +469,10 @@
   rugged = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1rqhg6g2q2av3fb6iyzfd3hfjxvr8hs32w7llil2kbx73crvc2dy";
+      sha256 = "0q1krxgd0ql03x8m9m05x5sxizw5sc7lms7rkp44qf45grpdk3v3";
       type = "gem";
     };
-    version = "0.26.0";
+    version = "0.27.0";
   };
   sanitize = {
     dependencies = ["nokogiri"];
@@ -405,14 +483,23 @@
     };
     version = "2.1.0";
   };
+  sentry-raven = {
+    dependencies = ["faraday"];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0yf2gysjw6sy1xcp2jw35z9cp83pwx33lq0qyvaqbs969j4993r4";
+      type = "gem";
+    };
+    version = "2.7.2";
+  };
   signet = {
     dependencies = ["addressable" "faraday" "jwt" "multi_json"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "149668991xqibvm8kvl10kzy891yd6f994b4gwlx6c3vl24v5jq6";
+      sha256 = "0js81lxqirdza8gf2f6avh11fny49ygmxfi1qx7jp8l9wrhznbkv";
       type = "gem";
     };
-    version = "0.7.3";
+    version = "0.8.1";
   };
   stringex = {
     source = {
diff --git a/pkgs/applications/version-management/gitea/default.nix b/pkgs/applications/version-management/gitea/default.nix
index f09d02ab022..71b59ed4aef 100644
--- a/pkgs/applications/version-management/gitea/default.nix
+++ b/pkgs/applications/version-management/gitea/default.nix
@@ -7,13 +7,13 @@ with stdenv.lib;
 
 buildGoPackage rec {
   name = "gitea-${version}";
-  version = "1.3.2";
+  version = "1.4.1";
 
   src = fetchFromGitHub {
     owner = "go-gitea";
     repo = "gitea";
     rev = "v${version}";
-    sha256 = "11gzb6x8zixmkm57x8hdncmdbbvppzld3yf7p7m0abigg8zyybsj";
+    sha256 = "1mid67c4021m7mi4ablx1w5v43831gzn8xpg8n30a4zmr70781wm";
   };
 
   patches = [ ./static-root-path.patch ];
@@ -43,7 +43,7 @@ buildGoPackage rec {
 
   meta = {
     description = "Git with a cup of tea";
-    homepage = http://gitea.io;
+    homepage = https://gitea.io;
     license = licenses.mit;
     maintainers = [ maintainers.disassembler ];
   };
diff --git a/pkgs/applications/version-management/gitkraken/default.nix b/pkgs/applications/version-management/gitkraken/default.nix
index ba525bacbc9..cf68da44a5f 100644
--- a/pkgs/applications/version-management/gitkraken/default.nix
+++ b/pkgs/applications/version-management/gitkraken/default.nix
@@ -7,18 +7,21 @@
 
 with stdenv.lib;
 
+let
+  curlWithGnuTls = curl.override { gnutlsSupport = true; sslSupport = false; };
+in
 stdenv.mkDerivation rec {
   name = "gitkraken-${version}";
-  version = "3.3.4";
+  version = "3.6.0";
 
   src = fetchurl {
     url = "https://release.gitkraken.com/linux/v${version}.deb";
-    sha256 = "1djrbpm1f258cicf65ddvndpxi1izmnc12253k1zwl77z4jjbwls";
+    sha256 = "0zrxw7rrlspm3ic847dy1ly4rlcdkizdr6m8nycmrxg4s98yxkb8";
   };
 
   libPath = makeLibraryPath [
     stdenv.cc.cc.lib
-    curl
+    curlWithGnuTls
     udev
     libX11
     libXext
@@ -84,7 +87,7 @@ stdenv.mkDerivation rec {
 
     find $out/share/gitkraken -name "*.node" -exec patchelf --set-rpath "${libPath}:$out/share/gitkraken" {} \;
 
-    rm $out/bin/gitkraken
+    mkdir $out/bin
     ln -s $out/share/gitkraken/gitkraken $out/bin/gitkraken
   '';
 
diff --git a/pkgs/applications/version-management/gitlab-shell/default.nix b/pkgs/applications/version-management/gitlab-shell/default.nix
index ab0ff74f03f..09c1cd13d44 100644
--- a/pkgs/applications/version-management/gitlab-shell/default.nix
+++ b/pkgs/applications/version-management/gitlab-shell/default.nix
@@ -1,14 +1,14 @@
 { stdenv, ruby, bundler, fetchFromGitLab, go }:
 
 stdenv.mkDerivation rec {
-  version = "5.10.2";
+  version = "7.1.2";
   name = "gitlab-shell-${version}";
 
   srcs = fetchFromGitLab {
     owner = "gitlab-org";
     repo = "gitlab-shell";
     rev = "v${version}";
-    sha256 = "16lwnzsppql7pkf8fka6cwkghdr57g225zvln9ii29w7nzz1hvaf";
+    sha256 = "1mkr2k2ldn5hl84acajvfify97qy80lmicxx49jbpln22vh9rcni";
   };
 
   buildInputs = [ ruby bundler go ];
@@ -30,35 +30,15 @@ stdenv.mkDerivation rec {
   # code by default which doesn't work in nixos because it's a
   # read-only filesystem
   postPatch = ''
-    substituteInPlace lib/gitlab_config.rb --replace\
-       "File.join(ROOT_PATH, 'config.yml')"\
-       "ENV['GITLAB_SHELL_CONFIG_PATH']"
-
-    # Note that we're running gitlab-shell from current-system/sw
-    # because otherwise updating gitlab-shell won't be reflected in
-    # the hardcoded path of the authorized-keys file:
-    substituteInPlace lib/gitlab_keys.rb --replace\
-        "\"#{ROOT_PATH}/bin/gitlab-shell"\
-        "\"GITLAB_SHELL_CONFIG_PATH=#{ENV['GITLAB_SHELL_CONFIG_PATH']} /run/current-system/sw/bin/gitlab-shell"
-
-    # We're setting GITLAB_SHELL_CONFIG_PATH in the ssh authorized key
-    # environment because we need it in gitlab_configrb
-    # . unsetenv_others will remove that so we're not doing it for
-    # now.
-    #
-    # TODO: Are there any security implications? The commit adding
-    # unsetenv_others didn't mention anything...
-    #
-    # Kernel::exec({'PATH' => ENV['PATH'], 'LD_LIBRARY_PATH' => ENV['LD_LIBRARY_PATH'], 'GL_ID' => ENV['GL_ID']}, *args, unsetenv_others: true)
-    substituteInPlace lib/gitlab_shell.rb --replace\
-        " *args, unsetenv_others: true)"\
-        " *args)"
+    substituteInPlace lib/gitlab_config.rb --replace \
+       "File.join(ROOT_PATH, 'config.yml')" \
+       "'/run/gitlab/shell-config.yml'"
   '';
 
   meta = with stdenv.lib; {
     homepage = http://www.gitlab.com/;
     platforms = platforms.unix;
-    maintainers = with maintainers; [ fpletz ];
+    maintainers = with maintainers; [ fpletz globin ];
     license = licenses.mit;
   };
 }
diff --git a/pkgs/applications/version-management/gitlab-shell/fixes.patch b/pkgs/applications/version-management/gitlab-shell/fixes.patch
index 1c694266e47..29e4dccb26c 100644
--- a/pkgs/applications/version-management/gitlab-shell/fixes.patch
+++ b/pkgs/applications/version-management/gitlab-shell/fixes.patch
@@ -1,13 +1,12 @@
 diff --git a/support/go_build.rb b/support/go_build.rb
-index 82f94d2..40ba35e 100644
+index 30a6b71..46b4dfa 100644
 --- a/support/go_build.rb
 +++ b/support/go_build.rb
-@@ -25,9 +25,8 @@ module GoBuild
-   def run!(env, cmd)
+@@ -26,8 +26,8 @@ module GoBuild
      raise "env must be a hash" unless env.is_a?(Hash)
      raise "cmd must be an array" unless cmd.is_a?(Array)
--  
--    if !system(env, *cmd)
+ 
+-    unless system(env, *cmd)
 -      abort "command failed: #{env.inspect} #{cmd.join(' ')}"
 -    end
 +    puts "Starting #{env.inspect} #{cmd.join(' ')}"
diff --git a/pkgs/applications/version-management/gitlab-shell/remove-hardcoded-locations.patch b/pkgs/applications/version-management/gitlab-shell/remove-hardcoded-locations.patch
index f28e74b88c5..38181399eec 100644
--- a/pkgs/applications/version-management/gitlab-shell/remove-hardcoded-locations.patch
+++ b/pkgs/applications/version-management/gitlab-shell/remove-hardcoded-locations.patch
@@ -1,30 +1,3 @@
-diff --git a/lib/gitlab_projects.rb b/lib/gitlab_projects.rb
-index 0b11ce3..ffc3faf 100644
---- a/lib/gitlab_projects.rb
-+++ b/lib/gitlab_projects.rb
-@@ -8,7 +8,7 @@ require_relative 'gitlab_metrics'
- require_relative 'gitlab_metrics'
- 
- class GitlabProjects
--  GLOBAL_HOOKS_DIRECTORY = File.join(ROOT_PATH, 'hooks')
-+  GLOBAL_HOOKS_DIRECTORY = ENV['GITLAB_SHELL_HOOKS_PATH'] || File.join(ROOT_PATH, 'hooks')
- 
-   # Project name is a directory name for repository with .git at the end
-   # It may be namespaced or not. Like repo.git or gitlab/repo.git
-diff --git a/lib/gitlab_shell.rb b/lib/gitlab_shell.rb
-index e7d0254..181ec8a 100644
---- a/lib/gitlab_shell.rb
-+++ b/lib/gitlab_shell.rb
-@@ -188,7 +188,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/go/internal/config/config.go b/go/internal/config/config.go
 index c57b4de..88cfc95 100644
 --- a/go/internal/config/config.go
@@ -34,7 +7,21 @@ index c57b4de..88cfc95 100644
  	cfg.RootDir = dir
  
 -	configBytes, err := ioutil.ReadFile(path.Join(cfg.RootDir, configFile))
-+	configBytes, err := ioutil.ReadFile(os.Getenv("GITLAB_SHELL_CONFIG_PATH"))
++	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/default.nix b/pkgs/applications/version-management/gitlab-workhorse/default.nix
index c43b5ab2a1b..05cf33d408a 100644
--- a/pkgs/applications/version-management/gitlab-workhorse/default.nix
+++ b/pkgs/applications/version-management/gitlab-workhorse/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchFromGitLab, git, go }:
 
 stdenv.mkDerivation rec {
-  version = "3.3.1";
+  version = "4.1.0";
   name = "gitlab-workhorse-${version}";
 
   srcs = fetchFromGitLab {
     owner = "gitlab-org";
     repo = "gitlab-workhorse";
     rev = "v${version}";
-    sha256 = "19x9ryp99xygj39kq2r756rahh9mxp6j83hxvv09y33vgz64y8xh";
+    sha256 = "1yqmkpszcan5cawkl9cxjngcyqlqg061ihk31isar9ifbhpv9yfv";
   };
 
   buildInputs = [ git go ];
@@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
   meta = with stdenv.lib; {
     homepage = http://www.gitlab.com/;
     platforms = platforms.unix;
-    maintainers = with maintainers; [ fpletz ];
+    maintainers = with maintainers; [ fpletz globin ];
     license = licenses.mit;
   };
 }
diff --git a/pkgs/applications/version-management/gitlab/Gemfile b/pkgs/applications/version-management/gitlab/Gemfile
index 916314f42f9..d85ee988644 100644
--- a/pkgs/applications/version-management/gitlab/Gemfile
+++ b/pkgs/applications/version-management/gitlab/Gemfile
@@ -1,6 +1,18 @@
+# --- Special code for migrating to Rails 5.0 ---
+def rails5?
+  %w[1 true].include?(ENV["RAILS5"])
+end
+
+gem_versions = {}
+gem_versions['activerecord_sane_schema_dumper'] = rails5? ? '1.0'      : '0.2'
+gem_versions['default_value_for']               = rails5? ? '~> 3.0.5' : '~> 3.0.0'
+gem_versions['rails']                           = rails5? ? '5.0.6'    : '4.2.10'
+gem_versions['rails-i18n']                      = rails5? ? '~> 5.1'   : '~> 4.0.9'
+# --- The end of special code for migrating to Rails 5.0 ---
+
 source 'https://rubygems.org'
 
-gem 'rails', '4.2.10'
+gem 'rails', gem_versions['rails']
 gem 'rails-deprecated_sanitizer', '~> 1.0.3'
 
 # Responders respond_to and respond_with
@@ -9,36 +21,37 @@ gem 'responders', '~> 2.0'
 gem 'sprockets', '~> 3.7.0'
 
 # Default values for AR models
-gem 'default_value_for', '~> 3.0.0'
+gem 'default_value_for', gem_versions['default_value_for']
 
 # Supported DBs
-gem 'mysql2', '~> 0.4.5', group: :mysql
+gem 'mysql2', '~> 0.4.10', group: :mysql
 gem 'pg', '~> 0.18.2', group: :postgres
 
-gem 'rugged', '~> 0.26.0'
+gem 'rugged', '~> 0.27'
 gem 'grape-route-helpers', '~> 2.1.0'
 
 gem 'faraday', '~> 0.12'
 
 # Authentication libraries
 gem 'devise', '~> 4.2'
-gem 'doorkeeper', '~> 4.2.0'
-gem 'doorkeeper-openid_connect', '~> 1.2.0'
-gem 'omniauth', '~> 1.4.2'
-gem 'omniauth-auth0', '~> 1.4.1'
+gem 'doorkeeper', '~> 4.3'
+gem 'doorkeeper-openid_connect', '~> 1.3'
+gem 'omniauth', '~> 1.8'
+gem 'omniauth-auth0', '~> 2.0.0'
 gem 'omniauth-azure-oauth2', '~> 0.0.9'
 gem 'omniauth-cas3', '~> 1.1.4'
 gem 'omniauth-facebook', '~> 4.0.0'
 gem 'omniauth-github', '~> 1.1.1'
 gem 'omniauth-gitlab', '~> 1.0.2'
-gem 'omniauth-google-oauth2', '~> 0.5.2'
+gem 'omniauth-google-oauth2', '~> 0.5.3'
 gem 'omniauth-kerberos', '~> 0.3.0', group: :kerberos
 gem 'omniauth-oauth2-generic', '~> 0.2.2'
-gem 'omniauth-saml', '~> 1.7.0'
+gem 'omniauth-saml', '~> 1.10'
 gem 'omniauth-shibboleth', '~> 1.2.0'
-gem 'omniauth-twitter', '~> 1.2.0'
+gem 'omniauth-twitter', '~> 1.4'
 gem 'omniauth_crowd', '~> 2.2.0'
 gem 'omniauth-authentiq', '~> 0.3.1'
+gem 'omniauth-jwt', '~> 0.0.2'
 gem 'rack-oauth2', '~> 1.2.1'
 gem 'jwt', '~> 1.5.6'
 
@@ -69,16 +82,24 @@ gem 'net-ldap'
 
 # Git Wiki
 # Required manually in config/initializers/gollum.rb to control load order
+# Before updating this gem, check if
+# https://github.com/gollum/gollum-lib/pull/292 has been merged.
+# If it has, then remove the monkey patch for update_page, rename_page and raw_data_in_committer
+# in config/initializers/gollum.rb
 gem 'gollum-lib', '~> 4.2', require: false
+
+# Before updating this gem, check if
+# https://github.com/gollum/rugged_adapter/pull/28 has been merged.
+# If it has, then remove the monkey patch for tree_entry in config/initializers/gollum.rb
 gem 'gollum-rugged_adapter', '~> 0.4.4', require: false
 
 # Language detection
-gem 'github-linguist', '~> 4.7.0', require: 'linguist'
+gem 'github-linguist', '~> 5.3.3', require: 'linguist'
 
 # API
 gem 'grape', '~> 1.0'
 gem 'grape-entity', '~> 0.6.0'
-gem 'rack-cors', '~> 0.4.0', require: 'rack/cors'
+gem 'rack-cors', '~> 1.0.0', require: 'rack/cors'
 
 # Disable strong_params so that Mash does not respond to :permitted?
 gem 'hashie-forbidden_attributes'
@@ -96,39 +117,40 @@ gem 'carrierwave', '~> 1.2'
 gem 'dropzonejs-rails', '~> 0.7.1'
 
 # for backups
-gem 'fog-aws', '~> 1.4'
+gem 'fog-aws', '~> 2.0.1'
 gem 'fog-core', '~> 1.44'
-gem 'fog-google', '~> 0.5'
+gem 'fog-google', '~> 1.3.3'
 gem 'fog-local', '~> 0.3'
 gem 'fog-openstack', '~> 0.1'
 gem 'fog-rackspace', '~> 0.1.1'
 gem 'fog-aliyun', '~> 0.2.0'
 
 # for Google storage
-gem 'google-api-client', '~> 0.13.6'
+gem 'google-api-client', '~> 0.19.8'
 
 # for aws storage
 gem 'unf', '~> 0.1.4'
 
 # Seed data
-gem 'seed-fu', '2.3.6' # Upgrade to > 2.3.7 once https://github.com/mbleigh/seed-fu/issues/123 is solved
+gem 'seed-fu', '~> 2.3.7'
 
 # Markdown and HTML processing
-gem 'html-pipeline', '~> 1.11.0'
+gem 'html-pipeline', '~> 2.7.1'
 gem 'deckar01-task_list', '2.0.0'
 gem 'gitlab-markup', '~> 1.6.2'
 gem 'redcarpet', '~> 3.4'
+gem 'commonmarker', '~> 0.17'
 gem 'RedCloth', '~> 4.3.2'
 gem 'rdoc', '~> 4.2'
 gem 'org-ruby', '~> 0.9.12'
 gem 'creole', '~> 0.5.0'
 gem 'wikicloth', '0.8.1'
-gem 'asciidoctor', '~> 1.5.2'
-gem 'asciidoctor-plantuml', '0.0.7'
+gem 'asciidoctor', '~> 1.5.6'
+gem 'asciidoctor-plantuml', '0.0.8'
 gem 'rouge', '~> 2.0'
 gem 'truncato', '~> 0.7.9'
 gem 'bootstrap_form', '~> 2.7.0'
-gem 'nokogiri', '~> 1.8.1'
+gem 'nokogiri', '~> 1.8.2'
 
 # Diffs
 gem 'diffy', '~> 3.1.0'
@@ -140,10 +162,10 @@ group :unicorn do
 end
 
 # State machine
-gem 'state_machines-activerecord', '~> 0.4.0'
+gem 'state_machines-activerecord', '~> 0.5.1'
 
 # Issue tags
-gem 'acts-as-taggable-on', '~> 4.0'
+gem 'acts-as-taggable-on', '~> 5.0'
 
 # Background jobs
 gem 'sidekiq', '~> 5.0'
@@ -199,7 +221,7 @@ gem 'asana', '~> 0.6.0'
 gem 'ruby-fogbugz', '~> 0.2.1'
 
 # Kubernetes integration
-gem 'kubeclient', '~> 2.2.0'
+gem 'kubeclient', '~> 3.0'
 
 # d3
 gem 'd3_rails', '~> 3.5.0'
@@ -209,10 +231,10 @@ gem 'sanitize', '~> 2.0'
 gem 'babosa', '~> 1.0.2'
 
 # Sanitizes SVG input
-gem 'loofah', '~> 2.0.3'
+gem 'loofah', '~> 2.2'
 
 # Working with license
-gem 'licensee', '~> 8.7.0'
+gem 'licensee', '~> 8.9'
 
 # Protect against bruteforcing
 gem 'rack-attack', '~> 4.4.1'
@@ -226,8 +248,8 @@ gem 'mousetrap-rails', '~> 1.4.6'
 # Detect and convert string character encoding
 gem 'charlock_holmes', '~> 0.7.5'
 
-# Faster JSON
-gem 'oj', '~> 2.17.4'
+# Faster blank
+gem 'fast_blank'
 
 # Parse time & duration
 gem 'chronic', '~> 0.10.2'
@@ -245,30 +267,28 @@ gem 'font-awesome-rails', '~> 4.7'
 gem 'gemojione', '~> 3.3'
 gem 'gon', '~> 6.1.0'
 gem 'jquery-atwho-rails', '~> 1.3.2'
-gem 'jquery-rails', '~> 4.3.1'
 gem 'request_store', '~> 1.3'
 gem 'select2-rails', '~> 3.5.9'
 gem 'virtus', '~> 1.0.1'
 gem 'base32', '~> 0.3.0'
 
 # Sentry integration
-gem 'sentry-raven', '~> 2.5.3'
+gem 'sentry-raven', '~> 2.7'
 
 gem 'premailer-rails', '~> 1.9.7'
 
 # I18n
 gem 'ruby_parser', '~> 3.8', require: false
-gem 'rails-i18n', '~> 4.0.9'
+gem 'rails-i18n', gem_versions['rails-i18n']
 gem 'gettext_i18n_rails', '~> 1.8.0'
-gem 'gettext_i18n_rails_js', '~> 1.2.0'
+gem 'gettext_i18n_rails_js', '~> 1.3'
 gem 'gettext', '~> 3.2.2', require: false, group: :development
 
-gem 'batch-loader'
+gem 'batch-loader', '~> 1.2.1'
 
 # Perf bar
 gem 'peek', '~> 1.0.1'
 gem 'peek-gc', '~> 0.0.2'
-gem 'peek-host', '~> 1.0.0'
 gem 'peek-mysql2', '~> 1.1.0', group: :mysql
 gem 'peek-performance_bar', '~> 1.3.0'
 gem 'peek-pg', '~> 1.3.0', group: :postgres
@@ -283,13 +303,13 @@ group :metrics do
   gem 'influxdb', '~> 0.2', require: false
 
   # Prometheus
-  gem 'prometheus-client-mmap', '~> 0.7.0.beta43'
+  gem 'prometheus-client-mmap', '~> 0.9.1'
   gem 'raindrops', '~> 0.18'
 end
 
 group :development do
-  gem 'foreman', '~> 0.78.0'
-  gem 'brakeman', '~> 3.6.0', require: false
+  gem 'foreman', '~> 0.84.0'
+  gem 'brakeman', '~> 4.2', require: false
 
   gem 'letter_opener_web', '~> 1.3.0'
   gem 'rblineprof', '~> 0.3.6', platform: :mri, require: false
@@ -311,14 +331,14 @@ group :development, :test do
   gem 'fuubar', '~> 2.2.0'
 
   gem 'database_cleaner', '~> 1.5.0'
-  gem 'factory_girl_rails', '~> 4.7.0'
+  gem 'factory_bot_rails', '~> 4.8.2'
   gem 'rspec-rails', '~> 3.6.0'
   gem 'rspec-retry', '~> 0.4.5'
   gem 'spinach-rails', '~> 0.2.1'
   gem 'spinach-rerun-reporter', '~> 0.0.2'
   gem 'rspec_profiling', '~> 0.0.5'
   gem 'rspec-set', '~> 0.1.3'
-  gem 'rspec-parameterized'
+  gem 'rspec-parameterized', require: false
 
   # Prevent occasions where minitest is not bundled in packaged versions of ruby (see #3826)
   gem 'minitest', '~> 5.7.0'
@@ -334,25 +354,29 @@ group :development, :test do
   gem 'spring-commands-rspec', '~> 1.0.4'
   gem 'spring-commands-spinach', '~> 1.1.0'
 
-  gem 'rubocop', '~> 0.49.1', require: false
-  gem 'rubocop-rspec', '~> 1.15.1', require: false
-  gem 'rubocop-gitlab-security', '~> 0.1.0', require: false
-  gem 'scss_lint', '~> 0.54.0', require: false
+  gem 'gitlab-styles', '~> 2.3', require: false
+  # Pin these dependencies, otherwise a new rule could break the CI pipelines
+  gem 'rubocop', '~> 0.52.1'
+  gem 'rubocop-rspec', '~> 1.22.1'
+
+  gem 'scss_lint', '~> 0.56.0', require: false
   gem 'haml_lint', '~> 0.26.0', require: false
   gem 'simplecov', '~> 0.14.0', require: false
-  gem 'flay', '~> 2.8.0', require: false
+  gem 'flay', '~> 2.10.0', require: false
   gem 'bundler-audit', '~> 0.5.0', require: false
 
   gem 'benchmark-ips', '~> 2.3.0', require: false
 
   gem 'license_finder', '~> 3.1', require: false
-  gem 'knapsack', '~> 1.11.0'
+  gem 'knapsack', '~> 1.16'
 
-  gem 'activerecord_sane_schema_dumper', '0.2'
+  gem 'activerecord_sane_schema_dumper', gem_versions['activerecord_sane_schema_dumper']
 
   gem 'stackprof', '~> 0.2.10', require: false
 
   gem 'simple_po_parser', '~> 1.1.2', require: false
+
+  gem 'timecop', '~> 0.8.0'
 end
 
 group :test do
@@ -360,28 +384,24 @@ group :test do
   gem 'email_spec', '~> 1.6.0'
   gem 'json-schema', '~> 2.8.0'
   gem 'webmock', '~> 2.3.2'
-  gem 'test_after_commit', '~> 1.1'
+  gem 'test_after_commit', '~> 1.1' unless rails5? # Remove this gem when migrated to rails 5.0. It's been integrated to rails 5.0.
   gem 'sham_rack', '~> 1.3.6'
-  gem 'timecop', '~> 0.8.0'
   gem 'concurrent-ruby', '~> 1.0.5'
   gem 'test-prof', '~> 0.2.5'
 end
 
-gem 'octokit', '~> 4.6.2'
+gem 'octokit', '~> 4.8'
 
 gem 'mail_room', '~> 0.9.1'
 
 gem 'email_reply_trimmer', '~> 0.1'
 gem 'html2text'
 
-gem 'ruby-prof', '~> 0.16.2'
+gem 'ruby-prof', '~> 0.17.0'
 
 # OAuth
 gem 'oauth2', '~> 1.4'
 
-# Soft deletion
-gem 'paranoia', '~> 2.3.1'
-
 # Health check
 gem 'health_check', '~> 2.6.0'
 
@@ -390,7 +410,8 @@ gem 'vmstat', '~> 2.3.0'
 gem 'sys-filesystem', '~> 1.1.6'
 
 # SSH host key support
-gem 'net-ssh', '~> 4.1.0'
+gem 'net-ssh', '~> 4.2.0'
+gem 'sshkey', '~> 1.9.0'
 
 # Required for ED25519 SSH host key support
 group :ed25519 do
@@ -400,16 +421,22 @@ group :ed25519 do
 end
 
 # Gitaly GRPC client
-gem 'gitaly-proto', '~> 0.59.0', require: 'gitaly'
+gem 'gitaly-proto', '~> 0.94.0', require: 'gitaly'
+gem 'grpc', '~> 1.10.0'
+
+# Locked until https://github.com/google/protobuf/issues/4210 is closed
+gem 'google-protobuf', '= 3.5.1'
 
-gem 'toml-rb', '~> 0.3.15', require: false
+gem 'toml-rb', '~> 1.0.0', require: false
 
 # Feature toggles
-gem 'flipper', '~> 0.10.2'
-gem 'flipper-active_record', '~> 0.10.2'
+gem 'flipper', '~> 0.13.0'
+gem 'flipper-active_record', '~> 0.13.0'
+gem 'flipper-active_support_cache_store', '~> 0.13.0'
 
 # Structured logging
 gem 'lograge', '~> 0.5'
 gem 'grape_logging', '~> 1.7'
 
-gem 'activerecord-nulldb-adapter'
+# Asset synchronization
+gem 'asset_sync', '~> 2.2.0'
diff --git a/pkgs/applications/version-management/gitlab/Gemfile.lock b/pkgs/applications/version-management/gitlab/Gemfile.lock
index c8915e9172c..a1150dfccdd 100644
--- a/pkgs/applications/version-management/gitlab/Gemfile.lock
+++ b/pkgs/applications/version-management/gitlab/Gemfile.lock
@@ -33,8 +33,6 @@ GEM
       activemodel (= 4.2.10)
       activesupport (= 4.2.10)
       arel (~> 6.0)
-    activerecord-nulldb-adapter (0.3.7)
-      activerecord (>= 2.0.0)
     activerecord_sane_schema_dumper (0.2)
       rails (>= 4, < 5)
     activesupport (4.2.10)
@@ -42,13 +40,14 @@ GEM
       minitest (~> 5.1)
       thread_safe (~> 0.3, >= 0.3.4)
       tzinfo (~> 1.1)
-    acts-as-taggable-on (4.0.0)
-      activerecord (>= 4.0)
+    acts-as-taggable-on (5.0.0)
+      activerecord (>= 4.2.8)
     adamantium (0.2.0)
       ice_nine (~> 0.11.0)
       memoizable (~> 0.4.0)
     addressable (2.5.2)
       public_suffix (>= 2.0.2, < 4.0)
+    aes_key_wrap (1.0.1)
     akismet (2.0.0)
     allocations (1.0.5)
     arel (6.0.4)
@@ -57,10 +56,15 @@ GEM
       faraday_middleware (~> 0.9)
       faraday_middleware-multi_json (~> 0.0)
       oauth2 (~> 1.0)
-    asciidoctor (1.5.3)
-    asciidoctor-plantuml (0.0.7)
+    asciidoctor (1.5.6.2)
+    asciidoctor-plantuml (0.0.8)
       asciidoctor (~> 1.5)
-    ast (2.3.0)
+    asset_sync (2.2.0)
+      activemodel (>= 4.1.0)
+      fog-core
+      mime-types (>= 2.99)
+      unf
+    ast (2.4.0)
     atomic (1.1.99)
     attr_encrypted (3.0.3)
       encryptor (~> 3.0.0)
@@ -75,7 +79,7 @@ GEM
       thread_safe (~> 0.3, >= 0.3.1)
     babosa (1.0.2)
     base32 (0.3.2)
-    batch-loader (1.1.1)
+    batch-loader (1.2.1)
     bcrypt (3.1.11)
     bcrypt_pbkdf (1.0.0)
     benchmark-ips (2.3.0)
@@ -83,7 +87,7 @@ GEM
       coderay (>= 1.0.0)
       erubis (>= 2.6.6)
       rack (>= 0.9.0)
-    bindata (2.4.1)
+    bindata (2.4.3)
     binding_of_caller (0.7.2)
       debug_inspector (>= 0.0.1)
     blankslate (2.1.2.4)
@@ -91,7 +95,7 @@ GEM
       autoprefixer-rails (>= 5.2.1)
       sass (>= 3.3.4)
     bootstrap_form (2.7.0)
-    brakeman (3.6.1)
+    brakeman (4.2.1)
     browser (2.2.0)
     builder (3.2.3)
     bullet (5.5.1)
@@ -116,7 +120,7 @@ GEM
       activesupport (>= 4.0.0)
       mime-types (>= 1.16)
     cause (0.1)
-    charlock_holmes (0.7.5)
+    charlock_holmes (0.7.6)
     childprocess (0.7.0)
       ffi (~> 1.0, >= 1.0.11)
     chronic (0.10.2)
@@ -128,6 +132,8 @@ GEM
     coercible (1.0.0)
       descendants_tracker (~> 0.0.1)
     colorize (0.7.7)
+    commonmarker (0.17.8)
+      ruby-enum (~> 0.5)
     concord (0.1.5)
       adamantium (~> 0.2.0)
       equalizer (~> 0.0.9)
@@ -137,6 +143,7 @@ GEM
     connection_pool (2.2.1)
     crack (0.4.3)
       safe_yaml (~> 1.0.0)
+    crass (1.0.3)
     creole (0.5.0)
     css_parser (1.5.0)
       addressable
@@ -169,12 +176,12 @@ GEM
     diff-lcs (1.3)
     diffy (3.1.0)
     docile (1.1.5)
-    domain_name (0.5.20161021)
+    domain_name (0.5.20170404)
       unf (>= 0.0.5, < 1.0.0)
-    doorkeeper (4.2.6)
+    doorkeeper (4.3.1)
       railties (>= 4.2)
-    doorkeeper-openid_connect (1.2.0)
-      doorkeeper (~> 4.0)
+    doorkeeper-openid_connect (1.3.0)
+      doorkeeper (~> 4.3)
       json-jwt (~> 1.6)
     dropzonejs-rails (0.7.2)
       rails (> 3.1)
@@ -189,13 +196,13 @@ GEM
     et-orbi (1.0.3)
       tzinfo
     eventmachine (1.0.8)
-    excon (0.57.1)
+    excon (0.60.0)
     execjs (2.6.0)
     expression_parser (0.9.0)
-    factory_girl (4.7.0)
+    factory_bot (4.8.2)
       activesupport (>= 3.0.0)
-    factory_girl_rails (4.7.0)
-      factory_girl (~> 4.7.0)
+    factory_bot_rails (4.8.2)
+      factory_bot (~> 4.8.2)
       railties (>= 3.0.0)
     faraday (0.12.2)
       multipart-post (>= 1.2, < 3)
@@ -204,18 +211,22 @@ GEM
     faraday_middleware-multi_json (0.0.6)
       faraday_middleware
       multi_json
-    fast_gettext (1.4.0)
+    fast_blank (1.0.0)
+    fast_gettext (1.6.0)
     ffaker (2.4.0)
     ffi (1.9.18)
-    flay (2.8.1)
+    flay (2.10.0)
       erubis (~> 2.7.0)
       path_expander (~> 1.0)
       ruby_parser (~> 3.0)
       sexp_processor (~> 4.0)
-    flipper (0.10.2)
-    flipper-active_record (0.10.2)
+    flipper (0.13.0)
+    flipper-active_record (0.13.0)
       activerecord (>= 3.2, < 6)
-      flipper (~> 0.10.2)
+      flipper (~> 0.13.0)
+    flipper-active_support_cache_store (0.13.0)
+      activesupport (>= 3.2, < 6)
+      flipper (~> 0.13.0)
     flowdock (0.7.1)
       httparty (~> 0.7)
       multi_json
@@ -224,19 +235,20 @@ GEM
       fog-json (~> 1.0)
       ipaddress (~> 0.8)
       xml-simple (~> 1.1)
-    fog-aws (1.4.0)
+    fog-aws (2.0.1)
       fog-core (~> 1.38)
       fog-json (~> 1.0)
       fog-xml (~> 0.1)
       ipaddress (~> 0.8)
-    fog-core (1.44.3)
+    fog-core (1.45.0)
       builder
-      excon (~> 0.49)
+      excon (~> 0.58)
       formatador (~> 0.2)
-    fog-google (0.5.3)
+    fog-google (1.3.3)
       fog-core
       fog-json
       fog-xml
+      google-api-client (~> 0.19.1)
     fog-json (1.0.2)
       fog-core (~> 1.0)
       multi_json (~> 1.10)
@@ -256,7 +268,7 @@ GEM
       nokogiri (>= 1.5.11, < 2.0.0)
     font-awesome-rails (4.7.0.1)
       railties (>= 3.2, < 5.1)
-    foreman (0.78.0)
+    foreman (0.84.0)
       thor (~> 0.19.1)
     formatador (0.2.5)
     fuubar (2.2.0)
@@ -267,25 +279,25 @@ GEM
     gemojione (3.3.0)
       json
     get_process_mem (0.2.0)
-    gettext (3.2.2)
+    gettext (3.2.9)
       locale (>= 2.0.5)
       text (>= 1.3.0)
     gettext_i18n_rails (1.8.0)
       fast_gettext (>= 0.9.0)
-    gettext_i18n_rails_js (1.2.0)
+    gettext_i18n_rails_js (1.3.0)
       gettext (>= 3.0.2)
       gettext_i18n_rails (>= 0.7.1)
       po_to_json (>= 1.0.0)
       rails (>= 3.2.0)
     gherkin-ruby (0.3.2)
-    gitaly-proto (0.59.0)
+    gitaly-proto (0.94.0)
       google-protobuf (~> 3.1)
       grpc (~> 1.0)
-    github-linguist (4.7.6)
-      charlock_holmes (~> 0.7.3)
+    github-linguist (5.3.3)
+      charlock_holmes (~> 0.7.5)
       escape_utils (~> 1.1.0)
       mime-types (>= 1.19)
-      rugged (>= 0.23.0b)
+      rugged (>= 0.25.1)
     github-markup (1.6.1)
     gitlab-flowdock-git-hook (1.0.1)
       flowdock (~> 0.7)
@@ -297,6 +309,10 @@ GEM
       mime-types (>= 1.16)
       posix-spawn (~> 0.3)
     gitlab-markup (1.6.3)
+    gitlab-styles (2.3.2)
+      rubocop (~> 0.51)
+      rubocop-gitlab-security (~> 0.1.0)
+      rubocop-rspec (~> 1.19)
     gitlab_omniauth-ldap (2.0.4)
       net-ldap (~> 0.16)
       omniauth (~> 1.3)
@@ -322,17 +338,19 @@ GEM
       json
       multi_json
       request_store (>= 1.0)
-    google-api-client (0.13.6)
+    google-api-client (0.19.8)
       addressable (~> 2.5, >= 2.5.1)
-      googleauth (~> 0.5)
+      googleauth (>= 0.5, < 0.7.0)
       httpclient (>= 2.8.1, < 3.0)
       mime-types (~> 3.0)
       representable (~> 3.0)
       retriable (>= 2.0, < 4.0)
-    google-protobuf (3.4.1.1)
-    googleauth (0.5.3)
+    google-protobuf (3.5.1)
+    googleapis-common-protos-types (1.0.1)
+      google-protobuf (~> 3.0)
+    googleauth (0.6.2)
       faraday (~> 0.12)
-      jwt (~> 1.4)
+      jwt (>= 1.4, < 3.0)
       logging (~> 2.0)
       memoist (~> 0.12)
       multi_json (~> 1.11)
@@ -340,7 +358,7 @@ GEM
       signet (~> 0.7)
     gpgme (2.0.13)
       mini_portile2 (~> 2.1)
-    grape (1.0.0)
+    grape (1.0.2)
       activesupport
       builder
       mustermann-grape (~> 1.0.0)
@@ -356,9 +374,10 @@ GEM
       rake
     grape_logging (1.7.0)
       grape
-    grpc (1.4.5)
+    grpc (1.10.0)
       google-protobuf (~> 3.1)
-      googleauth (~> 0.5.1)
+      googleapis-common-protos-types (~> 1.0.0)
+      googleauth (>= 0.5.1, < 0.7)
     haml (4.0.7)
       tilt
     haml_lint (0.26.0)
@@ -372,7 +391,7 @@ GEM
       thor
       tilt
     hashdiff (0.3.4)
-    hashie (3.5.6)
+    hashie (3.5.7)
     hashie-forbidden_attributes (0.1.1)
       hashie (>= 3.0)
     health_check (2.6.0)
@@ -380,26 +399,26 @@ GEM
     hipchat (1.5.2)
       httparty
       mimemagic
-    html-pipeline (1.11.0)
+    html-pipeline (2.7.1)
       activesupport (>= 2)
-      nokogiri (~> 1.4)
+      nokogiri (>= 1.4)
     html2text (0.2.0)
       nokogiri (~> 1.6)
     htmlentities (4.3.4)
-    http (0.9.8)
+    http (2.2.2)
       addressable (~> 2.3)
       http-cookie (~> 1.0)
       http-form_data (~> 1.0.1)
       http_parser.rb (~> 0.6.0)
     http-cookie (1.0.3)
       domain_name (~> 0.5)
-    http-form_data (1.0.1)
+    http-form_data (1.0.3)
     http_parser.rb (0.6.0)
     httparty (0.13.7)
       json (~> 1.8)
       multi_xml (>= 0.5.2)
-    httpclient (2.8.2)
-    i18n (0.9.1)
+    httpclient (2.8.3)
+    i18n (0.9.5)
       concurrent-ruby (~> 1.0)
     ice_nine (0.11.2)
     influxdb (0.2.3)
@@ -411,15 +430,11 @@ GEM
       multipart-post
       oauth (~> 0.5, >= 0.5.0)
     jquery-atwho-rails (1.3.2)
-    jquery-rails (4.3.1)
-      rails-dom-testing (>= 1, < 3)
-      railties (>= 4.2.0)
-      thor (>= 0.14, < 2.0)
     json (1.8.6)
-    json-jwt (1.7.2)
+    json-jwt (1.9.2)
       activesupport
+      aes_key_wrap
       bindata
-      multi_json (>= 1.3)
       securecompare
       url_safe_base64
     json-schema (2.8.0)
@@ -438,13 +453,13 @@ GEM
       kaminari-core (= 1.0.1)
     kaminari-core (1.0.1)
     kgio (2.10.0)
-    knapsack (1.11.0)
+    knapsack (1.16.0)
       rake
       timecop (>= 0.1.0)
-    kubeclient (2.2.0)
-      http (= 0.9.8)
-      recursive-open-struct (= 1.0.0)
-      rest-client
+    kubeclient (3.0.0)
+      http (~> 2.2.2)
+      recursive-open-struct (~> 1.0.4)
+      rest-client (~> 2.0)
     launchy (2.4.3)
       addressable (~> 2.3)
     letter_opener (1.4.1)
@@ -461,7 +476,7 @@ GEM
       toml (= 0.1.2)
       with_env (> 1.0)
       xml-simple
-    licensee (8.7.0)
+    licensee (8.9.2)
       rugged (~> 0.24)
     little-plugger (1.1.4)
     locale (2.1.2)
@@ -472,7 +487,8 @@ GEM
       actionpack (>= 4, < 5.2)
       activesupport (>= 4, < 5.2)
       railties (>= 4, < 5.2)
-    loofah (2.0.3)
+    loofah (2.2.2)
+      crass (~> 1.0.2)
       nokogiri (>= 1.5.9)
     mail (2.7.0)
       mini_mime (>= 0.1.1)
@@ -485,38 +501,37 @@ GEM
       mime-types-data (~> 3.2015)
     mime-types-data (3.2016.0521)
     mimemagic (0.3.0)
-    mini_mime (0.1.4)
+    mini_mime (1.0.0)
     mini_portile2 (2.3.0)
     minitest (5.7.0)
     mousetrap-rails (1.4.6)
-    multi_json (1.12.2)
+    multi_json (1.13.1)
     multi_xml (0.6.0)
     multipart-post (2.0.0)
-    mustermann (1.0.0)
+    mustermann (1.0.2)
     mustermann-grape (1.0.0)
       mustermann (~> 1.0.0)
-    mysql2 (0.4.5)
+    mysql2 (0.4.10)
     net-ldap (0.16.0)
-    net-ssh (4.1.0)
+    net-ssh (4.2.0)
     netrc (0.11.0)
-    nokogiri (1.8.1)
+    nokogiri (1.8.2)
       mini_portile2 (~> 2.3.0)
     numerizer (0.1.1)
-    oauth (0.5.1)
+    oauth (0.5.4)
     oauth2 (1.4.0)
       faraday (>= 0.8, < 0.13)
       jwt (~> 1.0)
       multi_json (~> 1.3)
       multi_xml (~> 0.5)
       rack (>= 1.2, < 3)
-    octokit (4.6.2)
+    octokit (4.8.0)
       sawyer (~> 0.8.0, >= 0.5.3)
-    oj (2.17.5)
-    omniauth (1.4.2)
-      hashie (>= 1.2, < 4)
-      rack (>= 1.0, < 3)
-    omniauth-auth0 (1.4.1)
-      omniauth-oauth2 (~> 1.1)
+    omniauth (1.8.1)
+      hashie (>= 3.4.6, < 3.6.0)
+      rack (>= 1.6.2, < 3)
+    omniauth-auth0 (2.0.0)
+      omniauth-oauth2 (~> 1.4)
     omniauth-authentiq (0.3.1)
       omniauth-oauth2 (~> 1.3, >= 1.3.1)
     omniauth-azure-oauth2 (0.0.9)
@@ -535,11 +550,13 @@ GEM
     omniauth-gitlab (1.0.2)
       omniauth (~> 1.0)
       omniauth-oauth2 (~> 1.0)
-    omniauth-google-oauth2 (0.5.2)
-      jwt (~> 1.5)
-      multi_json (~> 1.3)
+    omniauth-google-oauth2 (0.5.3)
+      jwt (>= 1.5)
       omniauth (>= 1.1.1)
-      omniauth-oauth2 (>= 1.3.1)
+      omniauth-oauth2 (>= 1.5)
+    omniauth-jwt (0.0.2)
+      jwt
+      omniauth (~> 1.1)
     omniauth-kerberos (0.3.0)
       omniauth-multipassword
       timfel-krb5-auth (~> 0.8)
@@ -548,19 +565,19 @@ GEM
     omniauth-oauth (1.1.0)
       oauth
       omniauth (~> 1.0)
-    omniauth-oauth2 (1.4.0)
-      oauth2 (~> 1.0)
+    omniauth-oauth2 (1.5.0)
+      oauth2 (~> 1.1)
       omniauth (~> 1.2)
     omniauth-oauth2-generic (0.2.2)
       omniauth-oauth2 (~> 1.0)
-    omniauth-saml (1.7.0)
-      omniauth (~> 1.3)
-      ruby-saml (~> 1.4)
+    omniauth-saml (1.10.0)
+      omniauth (~> 1.3, >= 1.3.2)
+      ruby-saml (~> 1.7)
     omniauth-shibboleth (1.2.1)
       omniauth (>= 1.0.0)
-    omniauth-twitter (1.2.1)
-      json (~> 1.3)
+    omniauth-twitter (1.4.0)
       omniauth-oauth (~> 1.1)
+      rack
     omniauth_crowd (2.2.3)
       activesupport
       nokogiri (>= 1.4.4)
@@ -569,27 +586,23 @@ GEM
       rubypants (~> 0.2)
     orm_adapter (0.5.0)
     os (0.9.6)
-    parallel (1.12.0)
-    paranoia (2.3.1)
-      activerecord (>= 4.0, < 5.2)
-    parser (2.4.0.2)
-      ast (~> 2.3)
+    parallel (1.12.1)
+    parser (2.5.0.5)
+      ast (~> 2.4.0)
     parslet (1.5.0)
       blankslate (~> 2.0)
-    path_expander (1.0.1)
+    path_expander (1.0.2)
     peek (1.0.1)
       concurrent-ruby (>= 0.9.0)
       concurrent-ruby-ext (>= 0.9.0)
       railties (>= 4.0.0)
     peek-gc (0.0.2)
       peek
-    peek-host (1.0.0)
-      peek
     peek-mysql2 (1.1.0)
       atomic (>= 1.0.0)
       mysql2
       peek
-    peek-performance_bar (1.3.0)
+    peek-performance_bar (1.3.1)
       peek (>= 0.1.0)
     peek-pg (1.3.0)
       concurrent-ruby
@@ -624,7 +637,7 @@ GEM
       parser
       unparser
     procto (0.0.3)
-    prometheus-client-mmap (0.7.0.beta43)
+    prometheus-client-mmap (0.9.1)
     pry (0.10.4)
       coderay (~> 1.1.0)
       method_source (~> 0.8.1)
@@ -634,21 +647,21 @@ GEM
       pry (~> 0.10)
     pry-rails (0.3.5)
       pry (>= 0.9.10)
-    public_suffix (3.0.0)
+    public_suffix (3.0.2)
     pyu-ruby-sasl (0.0.3.3)
-    rack (1.6.8)
+    rack (1.6.9)
     rack-accept (0.4.5)
       rack (>= 0.4)
     rack-attack (4.4.1)
       rack
-    rack-cors (0.4.0)
+    rack-cors (1.0.2)
     rack-oauth2 (1.2.3)
       activesupport (>= 2.3)
       attr_required (>= 0.0.5)
       httpclient (>= 2.4)
       multi_json (>= 1.3.6)
       rack (>= 1.1)
-    rack-protection (1.5.3)
+    rack-protection (2.0.1)
       rack
     rack-proxy (0.6.0)
       rack
@@ -667,12 +680,12 @@ GEM
       sprockets-rails
     rails-deprecated_sanitizer (1.0.3)
       activesupport (>= 4.2.0.alpha)
-    rails-dom-testing (1.0.8)
-      activesupport (>= 4.2.0.beta, < 5.0)
+    rails-dom-testing (1.0.9)
+      activesupport (>= 4.2.0, < 5.0)
       nokogiri (~> 1.6)
       rails-deprecated_sanitizer (>= 1.0.1)
-    rails-html-sanitizer (1.0.3)
-      loofah (~> 2.0)
+    rails-html-sanitizer (1.0.4)
+      loofah (~> 2.2, >= 2.2.2)
     rails-i18n (4.0.9)
       i18n (~> 0.7)
       railties (~> 4.0)
@@ -685,6 +698,9 @@ GEM
       rake
     raindrops (0.18.0)
     rake (12.3.0)
+    rb-fsevent (0.10.2)
+    rb-inotify (0.9.10)
+      ffi (>= 0.5.0, < 2)
     rblineprof (0.3.6)
       debugger-ruby_core_source (~> 1.3)
     rbnacl (4.0.2)
@@ -696,9 +712,9 @@ GEM
     re2 (1.1.1)
     recaptcha (3.0.0)
       json
-    recursive-open-struct (1.0.0)
+    recursive-open-struct (1.0.5)
     redcarpet (3.4.0)
-    redis (3.3.3)
+    redis (3.3.5)
     redis-actionpack (5.0.2)
       actionpack (>= 4.0, < 6)
       redis-rack (>= 1, < 3)
@@ -724,7 +740,7 @@ GEM
     request_store (1.3.1)
     responders (2.3.0)
       railties (>= 4.2.0, < 5.1)
-    rest-client (2.0.0)
+    rest-client (2.0.2)
       http-cookie (>= 1.0.2, < 2.0)
       mime-types (>= 1.16, < 4.0)
       netrc (~> 0.8)
@@ -771,22 +787,24 @@ GEM
       pg
       rails
       sqlite3
-    rubocop (0.49.1)
+    rubocop (0.52.1)
       parallel (~> 1.10)
-      parser (>= 2.3.3.1, < 3.0)
+      parser (>= 2.4.0.2, < 3.0)
       powerpack (~> 0.1)
-      rainbow (>= 1.99.1, < 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.15.1)
-      rubocop (>= 0.42.0)
+    rubocop-gitlab-security (0.1.1)
+      rubocop (>= 0.51)
+    rubocop-rspec (1.22.1)
+      rubocop (>= 0.52.1)
+    ruby-enum (0.7.2)
+      i18n
     ruby-fogbugz (0.2.1)
       crack (~> 0.4)
-    ruby-prof (0.16.2)
-    ruby-progressbar (1.8.1)
-    ruby-saml (1.4.1)
+    ruby-prof (0.17.0)
+    ruby-progressbar (1.9.0)
+    ruby-saml (1.7.2)
       nokogiri (>= 1.5.10)
     ruby_parser (3.9.0)
       sexp_processor (~> 4.1)
@@ -795,11 +813,15 @@ GEM
     rubyzip (1.2.1)
     rufus-scheduler (3.4.0)
       et-orbi (~> 1.0)
-    rugged (0.26.0)
+    rugged (0.27.0)
     safe_yaml (1.0.4)
     sanitize (2.1.0)
       nokogiri (>= 1.4.4)
-    sass (3.4.22)
+    sass (3.5.5)
+      sass-listen (~> 4.0.0)
+    sass-listen (4.0.0)
+      rb-fsevent (~> 0.9, >= 0.9.4)
+      rb-inotify (~> 0.9, >= 0.9.7)
     sass-rails (5.0.6)
       railties (>= 4.0.0, < 6)
       sass (~> 3.1)
@@ -809,11 +831,11 @@ GEM
     sawyer (0.8.1)
       addressable (>= 2.3.5, < 2.6)
       faraday (~> 0.8, < 1.0)
-    scss_lint (0.54.0)
+    scss_lint (0.56.0)
       rake (>= 0.9, < 13)
-      sass (~> 3.4.20)
+      sass (~> 3.5.3)
     securecompare (1.0.0)
-    seed-fu (2.3.6)
+    seed-fu (2.3.7)
       activerecord (>= 3.1)
       activesupport (>= 3.1)
     select2-rails (3.5.9.3)
@@ -821,7 +843,7 @@ GEM
     selenium-webdriver (3.5.0)
       childprocess (~> 0.5)
       rubyzip (~> 1.0)
-    sentry-raven (2.5.3)
+    sentry-raven (2.7.2)
       faraday (>= 0.7.6, < 1.0)
     settingslogic (2.0.9)
     sexp_processor (4.9.0)
@@ -829,20 +851,20 @@ GEM
       rack
     shoulda-matchers (3.1.2)
       activesupport (>= 4.0.0)
-    sidekiq (5.0.4)
+    sidekiq (5.0.5)
       concurrent-ruby (~> 1.0)
       connection_pool (~> 2.2, >= 2.2.0)
       rack-protection (>= 1.5.0)
-      redis (~> 3.3, >= 3.3.3)
+      redis (>= 3.3.4, < 5)
     sidekiq-cron (0.6.0)
       rufus-scheduler (>= 3.3.0)
       sidekiq (>= 4.2.1)
     sidekiq-limit_fetch (3.4.0)
       sidekiq (>= 4)
-    signet (0.7.3)
+    signet (0.8.1)
       addressable (~> 2.3)
       faraday (~> 0.9)
-      jwt (~> 1.5)
+      jwt (>= 1.5, < 3.0)
       multi_json (~> 1.10)
     simple_po_parser (1.1.2)
     simplecov (0.14.1)
@@ -876,14 +898,15 @@ GEM
       activesupport (>= 4.0)
       sprockets (>= 3.0.0)
     sqlite3 (1.3.13)
+    sshkey (1.9.0)
     stackprof (0.2.10)
-    state_machines (0.4.0)
-    state_machines-activemodel (0.4.0)
-      activemodel (>= 4.1, < 5.1)
-      state_machines (>= 0.4.0)
-    state_machines-activerecord (0.4.0)
-      activerecord (>= 4.1, < 5.1)
-      state_machines-activemodel (>= 0.3.0)
+    state_machines (0.5.0)
+    state_machines-activemodel (0.5.1)
+      activemodel (>= 4.1, < 6.0)
+      state_machines (>= 0.5.0)
+    state_machines-activerecord (0.5.1)
+      activerecord (>= 4.1, < 6.0)
+      state_machines-activemodel (>= 0.5.0)
     stringex (2.7.1)
     sys-filesystem (1.1.6)
       ffi
@@ -904,12 +927,12 @@ GEM
     timfel-krb5-auth (0.8.3)
     toml (0.1.2)
       parslet (~> 1.5.0)
-    toml-rb (0.3.15)
+    toml-rb (1.0.0)
       citrus (~> 3.0, > 3.0)
     truncato (0.7.10)
       htmlentities (~> 4.3.1)
       nokogiri (~> 1.8.0, >= 1.7.0)
-    tzinfo (1.2.4)
+    tzinfo (1.2.5)
       thread_safe (~> 0.1)
     u2f (0.2.1)
     uber (0.1.0)
@@ -918,7 +941,7 @@ GEM
       json (>= 1.8.0)
     unf (0.1.4)
       unf_ext
-    unf_ext (0.0.7.4)
+    unf_ext (0.0.7.5)
     unicode-display_width (1.3.0)
     unicorn (5.1.0)
       kgio (~> 2.6)
@@ -927,13 +950,13 @@ GEM
       get_process_mem (~> 0)
       unicorn (>= 4, < 6)
     uniform_notifier (1.10.0)
-    unparser (0.2.6)
+    unparser (0.2.7)
       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.5)
+      parser (>= 2.3.1.2, < 2.6)
       procto (~> 0.0.2)
     url_safe_base64 (0.2.2)
     validates_hostname (1.0.6)
@@ -969,27 +992,27 @@ PLATFORMS
 DEPENDENCIES
   RedCloth (~> 4.3.2)
   ace-rails-ap (~> 4.1.0)
-  activerecord-nulldb-adapter
   activerecord_sane_schema_dumper (= 0.2)
-  acts-as-taggable-on (~> 4.0)
+  acts-as-taggable-on (~> 5.0)
   addressable (~> 2.5.2)
   akismet (~> 2.0)
   allocations (~> 1.0)
   asana (~> 0.6.0)
-  asciidoctor (~> 1.5.2)
-  asciidoctor-plantuml (= 0.0.7)
+  asciidoctor (~> 1.5.6)
+  asciidoctor-plantuml (= 0.0.8)
+  asset_sync (~> 2.2.0)
   attr_encrypted (~> 3.0.0)
   awesome_print (~> 1.2.0)
   babosa (~> 1.0.2)
   base32 (~> 0.3.0)
-  batch-loader
+  batch-loader (~> 1.2.1)
   bcrypt_pbkdf (~> 1.0)
   benchmark-ips (~> 2.3.0)
   better_errors (~> 2.1.0)
   binding_of_caller (~> 0.7.2)
   bootstrap-sass (~> 3.3.0)
   bootstrap_form (~> 2.7.0)
-  brakeman (~> 3.6.0)
+  brakeman (~> 4.2)
   browser (~> 2.2)
   bullet (~> 5.5.0)
   bundler-audit (~> 0.5.0)
@@ -999,6 +1022,7 @@ DEPENDENCIES
   charlock_holmes (~> 0.7.5)
   chronic (~> 0.10.2)
   chronic_duration (~> 0.10.6)
+  commonmarker (~> 0.17)
   concurrent-ruby (~> 1.0.5)
   connection_pool (~> 2.0)
   creole (~> 0.5.0)
@@ -1009,99 +1033,101 @@ DEPENDENCIES
   devise (~> 4.2)
   devise-two-factor (~> 3.0.0)
   diffy (~> 3.1.0)
-  doorkeeper (~> 4.2.0)
-  doorkeeper-openid_connect (~> 1.2.0)
+  doorkeeper (~> 4.3)
+  doorkeeper-openid_connect (~> 1.3)
   dropzonejs-rails (~> 0.7.1)
   email_reply_trimmer (~> 0.1)
   email_spec (~> 1.6.0)
-  factory_girl_rails (~> 4.7.0)
+  factory_bot_rails (~> 4.8.2)
   faraday (~> 0.12)
+  fast_blank
   ffaker (~> 2.4)
-  flay (~> 2.8.0)
-  flipper (~> 0.10.2)
-  flipper-active_record (~> 0.10.2)
+  flay (~> 2.10.0)
+  flipper (~> 0.13.0)
+  flipper-active_record (~> 0.13.0)
+  flipper-active_support_cache_store (~> 0.13.0)
   fog-aliyun (~> 0.2.0)
-  fog-aws (~> 1.4)
+  fog-aws (~> 2.0.1)
   fog-core (~> 1.44)
-  fog-google (~> 0.5)
+  fog-google (~> 1.3.3)
   fog-local (~> 0.3)
   fog-openstack (~> 0.1)
   fog-rackspace (~> 0.1.1)
   font-awesome-rails (~> 4.7)
-  foreman (~> 0.78.0)
+  foreman (~> 0.84.0)
   fuubar (~> 2.2.0)
   gemnasium-gitlab-service (~> 0.2)
   gemojione (~> 3.3)
   gettext (~> 3.2.2)
   gettext_i18n_rails (~> 1.8.0)
-  gettext_i18n_rails_js (~> 1.2.0)
-  gitaly-proto (~> 0.59.0)
-  github-linguist (~> 4.7.0)
+  gettext_i18n_rails_js (~> 1.3)
+  gitaly-proto (~> 0.94.0)
+  github-linguist (~> 5.3.3)
   gitlab-flowdock-git-hook (~> 1.0.1)
   gitlab-markup (~> 1.6.2)
+  gitlab-styles (~> 2.3)
   gitlab_omniauth-ldap (~> 2.0.4)
   gollum-lib (~> 4.2)
   gollum-rugged_adapter (~> 0.4.4)
   gon (~> 6.1.0)
-  google-api-client (~> 0.13.6)
+  google-api-client (~> 0.19.8)
+  google-protobuf (= 3.5.1)
   gpgme
   grape (~> 1.0)
   grape-entity (~> 0.6.0)
   grape-route-helpers (~> 2.1.0)
   grape_logging (~> 1.7)
+  grpc (~> 1.10.0)
   haml_lint (~> 0.26.0)
   hamlit (~> 2.6.1)
   hashie-forbidden_attributes
   health_check (~> 2.6.0)
   hipchat (~> 1.5.0)
-  html-pipeline (~> 1.11.0)
+  html-pipeline (~> 2.7.1)
   html2text
   httparty (~> 0.13.3)
   influxdb (~> 0.2)
   jira-ruby (~> 1.4)
   jquery-atwho-rails (~> 1.3.2)
-  jquery-rails (~> 4.3.1)
   json-schema (~> 2.8.0)
   jwt (~> 1.5.6)
   kaminari (~> 1.0)
-  knapsack (~> 1.11.0)
-  kubeclient (~> 2.2.0)
+  knapsack (~> 1.16)
+  kubeclient (~> 3.0)
   letter_opener_web (~> 1.3.0)
   license_finder (~> 3.1)
-  licensee (~> 8.7.0)
+  licensee (~> 8.9)
   lograge (~> 0.5)
-  loofah (~> 2.0.3)
+  loofah (~> 2.2)
   mail_room (~> 0.9.1)
   method_source (~> 0.8)
   minitest (~> 5.7.0)
   mousetrap-rails (~> 1.4.6)
-  mysql2 (~> 0.4.5)
+  mysql2 (~> 0.4.10)
   net-ldap
-  net-ssh (~> 4.1.0)
-  nokogiri (~> 1.8.1)
+  net-ssh (~> 4.2.0)
+  nokogiri (~> 1.8.2)
   oauth2 (~> 1.4)
-  octokit (~> 4.6.2)
-  oj (~> 2.17.4)
-  omniauth (~> 1.4.2)
-  omniauth-auth0 (~> 1.4.1)
+  octokit (~> 4.8)
+  omniauth (~> 1.8)
+  omniauth-auth0 (~> 2.0.0)
   omniauth-authentiq (~> 0.3.1)
   omniauth-azure-oauth2 (~> 0.0.9)
   omniauth-cas3 (~> 1.1.4)
   omniauth-facebook (~> 4.0.0)
   omniauth-github (~> 1.1.1)
   omniauth-gitlab (~> 1.0.2)
-  omniauth-google-oauth2 (~> 0.5.2)
+  omniauth-google-oauth2 (~> 0.5.3)
+  omniauth-jwt (~> 0.0.2)
   omniauth-kerberos (~> 0.3.0)
   omniauth-oauth2-generic (~> 0.2.2)
-  omniauth-saml (~> 1.7.0)
+  omniauth-saml (~> 1.10)
   omniauth-shibboleth (~> 1.2.0)
-  omniauth-twitter (~> 1.2.0)
+  omniauth-twitter (~> 1.4)
   omniauth_crowd (~> 2.2.0)
   org-ruby (~> 0.9.12)
-  paranoia (~> 2.3.1)
   peek (~> 1.0.1)
   peek-gc (~> 0.0.2)
-  peek-host (~> 1.0.0)
   peek-mysql2 (~> 1.1.0)
   peek-performance_bar (~> 1.3.0)
   peek-pg (~> 1.3.0)
@@ -1110,11 +1136,11 @@ DEPENDENCIES
   peek-sidekiq (~> 1.0.3)
   pg (~> 0.18.2)
   premailer-rails (~> 1.9.7)
-  prometheus-client-mmap (~> 0.7.0.beta43)
+  prometheus-client-mmap (~> 0.9.1)
   pry-byebug (~> 3.4.1)
   pry-rails (~> 0.3.4)
   rack-attack (~> 4.4.1)
-  rack-cors (~> 0.4.0)
+  rack-cors (~> 1.0.0)
   rack-oauth2 (~> 1.2.1)
   rack-proxy (~> 0.6.0)
   rails (= 4.2.10)
@@ -1141,21 +1167,20 @@ DEPENDENCIES
   rspec-retry (~> 0.4.5)
   rspec-set (~> 0.1.3)
   rspec_profiling (~> 0.0.5)
-  rubocop (~> 0.49.1)
-  rubocop-gitlab-security (~> 0.1.0)
-  rubocop-rspec (~> 1.15.1)
+  rubocop (~> 0.52.1)
+  rubocop-rspec (~> 1.22.1)
   ruby-fogbugz (~> 0.2.1)
-  ruby-prof (~> 0.16.2)
+  ruby-prof (~> 0.17.0)
   ruby_parser (~> 3.8)
   rufus-scheduler (~> 3.4)
-  rugged (~> 0.26.0)
+  rugged (~> 0.27)
   sanitize (~> 2.0)
   sass-rails (~> 5.0.6)
-  scss_lint (~> 0.54.0)
-  seed-fu (= 2.3.6)
+  scss_lint (~> 0.56.0)
+  seed-fu (~> 2.3.7)
   select2-rails (~> 3.5.9)
   selenium-webdriver (~> 3.5)
-  sentry-raven (~> 2.5.3)
+  sentry-raven (~> 2.7)
   settingslogic (~> 2.0.9)
   sham_rack (~> 1.3.6)
   shoulda-matchers (~> 3.1.2)
@@ -1171,14 +1196,15 @@ DEPENDENCIES
   spring-commands-rspec (~> 1.0.4)
   spring-commands-spinach (~> 1.1.0)
   sprockets (~> 3.7.0)
+  sshkey (~> 1.9.0)
   stackprof (~> 0.2.10)
-  state_machines-activerecord (~> 0.4.0)
+  state_machines-activerecord (~> 0.5.1)
   sys-filesystem (~> 1.1.6)
   test-prof (~> 0.2.5)
   test_after_commit (~> 1.1)
   thin (~> 1.7.0)
   timecop (~> 0.8.0)
-  toml-rb (~> 0.3.15)
+  toml-rb (~> 1.0.0)
   truncato (~> 0.7.9)
   u2f (~> 0.2.1)
   uglifier (~> 2.7.2)
@@ -1194,4 +1220,4 @@ DEPENDENCIES
   wikicloth (= 0.8.1)
 
 BUNDLED WITH
-   1.16.0
+   1.16.1
diff --git a/pkgs/applications/version-management/gitlab/default.nix b/pkgs/applications/version-management/gitlab/default.nix
index d13e6139582..8564e4af91b 100644
--- a/pkgs/applications/version-management/gitlab/default.nix
+++ b/pkgs/applications/version-management/gitlab/default.nix
@@ -1,15 +1,13 @@
 { pkgs, stdenv, lib, bundler, fetchurl, fetchFromGitHub, bundlerEnv, libiconv
-, ruby, tzdata, git, procps, dpkg, nettools
+, ruby, tzdata, git, procps, nettools
 }:
 
-/* When updating the Gemfile add `gem "activerecord-nulldb-adapter"`
-   to allow building the assets without a database */
-
 let
   rubyEnv = bundlerEnv {
     name = "gitlab-env-${version}";
     inherit ruby;
     gemdir = ./.;
+    groups = [ "default" "unicorn" "ed25519" "metrics" ];
     meta = with lib; {
       homepage = http://www.gitlab.com/;
       platforms = platforms.linux;
@@ -18,11 +16,11 @@ let
     };
   };
 
-  version = "10.3.4";
+  version = "10.7.0";
 
   gitlabDeb = fetchurl {
     url = "https://packages.gitlab.com/gitlab/gitlab-ce/packages/debian/jessie/gitlab-ce_${version}-ce.0_amd64.deb/download";
-    sha256 = "0b6508hcahvhfpxyrqs05kz9a7c1wv658asm6a7ccish6hnwcica";
+    sha256 = "0dngh6gj8kkfcxn6ki9i96jg4x1x0vq3zzdimxz31g3j2zpd0ryz";
   };
 
 in
@@ -34,17 +32,15 @@ stdenv.mkDerivation rec {
     owner = "gitlabhq";
     repo = "gitlabhq";
     rev = "v${version}";
-    sha256 = "0cvp4wwkc04qffsq738867j31igwzj7zlmahdl24yddbmpa5x8r1";
+    sha256 = "010xhzrp6svp2a4xzmzwl4x3hk9wc1frqr66lp8x58nfmvr8hdrg";
   };
 
   buildInputs = [
-    rubyEnv ruby bundler tzdata git procps dpkg nettools
+    rubyEnv rubyEnv.wrappedRuby rubyEnv.bundler tzdata git procps nettools
   ];
 
   patches = [
     ./remove-hardcoded-locations.patch
-    ./nulladapter.patch
-    ./fix-36783.patch
   ];
 
   postPatch = ''
@@ -59,6 +55,8 @@ stdenv.mkDerivation rec {
     substituteInPlace app/controllers/admin/background_jobs_controller.rb \
         --replace "ps -U" "${procps}/bin/ps -U"
 
+    sed -i '/ask_to_continue/d' lib/tasks/gitlab/two_factor.rake
+
     # required for some gems:
     cat > config/database.yml <<EOF
       production:
@@ -104,6 +102,6 @@ stdenv.mkDerivation rec {
 
   passthru = {
     inherit rubyEnv;
-    inherit ruby;
+    ruby = rubyEnv.wrappedRuby;
   };
 }
diff --git a/pkgs/applications/version-management/gitlab/gemset.nix b/pkgs/applications/version-management/gitlab/gemset.nix
index fe861e14304..d14a963a8c0 100644
--- a/pkgs/applications/version-management/gitlab/gemset.nix
+++ b/pkgs/applications/version-management/gitlab/gemset.nix
@@ -69,15 +69,6 @@
     };
     version = "4.2.10";
   };
-  activerecord-nulldb-adapter = {
-    dependencies = ["activerecord"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1dxk26drn3s0mpyk8ir30k1pg5fqndrnsdjkkncn0acylq4ja27z";
-      type = "gem";
-    };
-    version = "0.3.7";
-  };
   activerecord_sane_schema_dumper = {
     dependencies = ["rails"];
     source = {
@@ -100,10 +91,10 @@
     dependencies = ["activerecord"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1h2y2zh4vrjf6bzdgvyq5a53a4gpr8xvq4a5rvq7fy1w43z4753s";
+      sha256 = "0kvbhlansqiz1xp5r28cv27ghbfmx4b39cv51w6xrhkb52bskn3i";
       type = "gem";
     };
-    version = "4.0.0";
+    version = "5.0.0";
   };
   adamantium = {
     dependencies = ["ice_nine" "memoizable"];
@@ -123,6 +114,14 @@
     };
     version = "2.5.2";
   };
+  aes_key_wrap = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0li86k0g812jkzrppb2fvqngvzp09nygywjpn81nx90s01wxqw07";
+      type = "gem";
+    };
+    version = "1.0.1";
+  };
   akismet = {
     source = {
       remotes = ["https://rubygems.org"];
@@ -159,27 +158,36 @@
   asciidoctor = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0q9yhan2mkk1lh15zcfd9g2fn6faix9yrf5skg23dp1y77jv7vm0";
+      sha256 = "0zq3az4836nxkc8g5wnnbzmarw7663s1ky6gf8pc04sfpa8n2l3f";
       type = "gem";
     };
-    version = "1.5.3";
+    version = "1.5.6.2";
   };
   asciidoctor-plantuml = {
     dependencies = ["asciidoctor"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "00ax9r822n4ykl6jizaxp03wqzknr7nn20mmqjpiwajy9j0zvr88";
+      sha256 = "0x092ldl8p7svczg4lnrnp0h918acnflh7jz5qwv40ksh1fflqna";
       type = "gem";
     };
-    version = "0.0.7";
+    version = "0.0.8";
+  };
+  asset_sync = {
+    dependencies = ["activemodel" "fog-core" "mime-types" "unf"];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "044nqqnbib1bpld33j5jxcql06d6fr6zmhq8hlm69zqd0xd509p0";
+      type = "gem";
+    };
+    version = "2.2.0";
   };
   ast = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0pp82blr5fakdk27d1d21xq9zchzb6vmyb1zcsl520s3ygvprn8m";
+      sha256 = "184ssy3w93nkajlz2c70ifm79jp3j737294kbc5fjw69v1w0n9x7";
       type = "gem";
     };
-    version = "2.3.0";
+    version = "2.4.0";
   };
   atomic = {
     source = {
@@ -251,10 +259,10 @@
   batch-loader = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1w4ysjfh74612wsgdnnaq3xqw25hzsr6ajb5syiv1ix7fi15y8bv";
+      sha256 = "1nvmwzn8q6dkp2n8wz47z7gldj3yrj7h6syy0cwrkzi19bfvxba2";
       type = "gem";
     };
-    version = "1.1.1";
+    version = "1.2.1";
   };
   bcrypt = {
     source = {
@@ -292,10 +300,10 @@
   bindata = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0anbg203zjr4crql20ss5b9xg2c6a7j8nm6hs8w3ll1h1akkpp2z";
+      sha256 = "0kxy917xyxckifmnawff65j7g6yb3wh2s45npjq9lqjbi1p86lsr";
       type = "gem";
     };
-    version = "2.4.1";
+    version = "2.4.3";
   };
   binding_of_caller = {
     dependencies = ["debug_inspector"];
@@ -334,10 +342,10 @@
   brakeman = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0fxv3cgmjh6rimz2jcslj3qnh1vqqz1grrjnp6m3nywbznlv441w";
+      sha256 = "161l4ln7x1vnqrcvbvglznf46f0lvq305vq211xaxp4fv4wwv89v";
       type = "gem";
     };
-    version = "3.6.1";
+    version = "4.2.1";
   };
   browser = {
     source = {
@@ -419,10 +427,10 @@
   charlock_holmes = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "09dn56sx0kcw0k8ypiynhnhhiq7ff9m7b57l8wvnxj82wxsjb54y";
+      sha256 = "1nf1l31n10yaark2rrg5qzyzcx9w80681449s3j09qmnipsl8rl5";
       type = "gem";
     };
-    version = "0.7.5";
+    version = "0.7.6";
   };
   childprocess = {
     dependencies = ["ffi"];
@@ -491,6 +499,15 @@
     };
     version = "0.7.7";
   };
+  commonmarker = {
+    dependencies = ["ruby-enum"];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "02iz27421qk6lnn0xwlz95w5l65dc4rnfqlwyal0h6mnawwy3b5i";
+      type = "gem";
+    };
+    version = "0.17.8";
+  };
   concord = {
     dependencies = ["adamantium" "equalizer"];
     source = {
@@ -534,6 +551,14 @@
     };
     version = "0.4.3";
   };
+  crass = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1czijxlagzpzwchr2ldrgfi7kywg08idjpq37ndcmwh4fmz72c4l";
+      type = "gem";
+    };
+    version = "1.0.3";
+  };
   creole = {
     source = {
       remotes = ["https://rubygems.org"];
@@ -681,28 +706,28 @@
     dependencies = ["unf"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1y5c96gzyh6z4nrnkisljqngfvljdba36dww657ka0x7khzvx7jl";
+      sha256 = "12hs8yijhak7p2hf1xkh98g0mnp5phq3mrrhywzaxpwz1gw5r3kf";
       type = "gem";
     };
-    version = "0.5.20161021";
+    version = "0.5.20170404";
   };
   doorkeeper = {
     dependencies = ["railties"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0r5rfvjjnlf9cn97cdrfw260zkg785k4197xqidgb35445k62mah";
+      sha256 = "1yjbmkhpj25h6n5hi382gxna1303crr4v57w1ic23n0w8ll6jh0z";
       type = "gem";
     };
-    version = "4.2.6";
+    version = "4.3.1";
   };
   doorkeeper-openid_connect = {
     dependencies = ["doorkeeper" "json-jwt"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "13k0xlr1grjj8ri26qy2zwbgi3fqxinvnygh53bnyi9qcynx5827";
+      sha256 = "1sknjc7gdyswvyh6bry3l4l57hjcab0bmkyz88i9k7qbb4p1fwck";
       type = "gem";
     };
-    version = "1.2.0";
+    version = "1.3.0";
   };
   dropzonejs-rails = {
     dependencies = ["rails"];
@@ -782,10 +807,10 @@
   excon = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1kc2l7kqrj8lhmrz3v21xhsl2laps4y2xmf952m2qrgzffy1pacg";
+      sha256 = "1rxwlfs7dq4r3bi9avgn7j6bz4hq1a3hdlr9xwdiyp4dp4286xfc";
       type = "gem";
     };
-    version = "0.57.1";
+    version = "0.60.0";
   };
   execjs = {
     source = {
@@ -803,23 +828,23 @@
     };
     version = "0.9.0";
   };
-  factory_girl = {
+  factory_bot = {
     dependencies = ["activesupport"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1xzl4z9z390fsnyxp10c9if2n46zan3n6zwwpfnwc33crv4s410i";
+      sha256 = "0r975ba6y0mcy3aya099gpnjn5gf1h6fbw8f3smmjay5zvin3nwx";
       type = "gem";
     };
-    version = "4.7.0";
+    version = "4.8.2";
   };
-  factory_girl_rails = {
-    dependencies = ["factory_girl" "railties"];
+  factory_bot_rails = {
+    dependencies = ["factory_bot" "railties"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0hzpirb33xdqaz44i1mbcfv0icjrghhgaz747llcfsflljd4pa4r";
+      sha256 = "0cdbp12ih2w77l331frv8gv6bv9dinn1663dy1jn0gb9ss1hwvs2";
       type = "gem";
     };
-    version = "4.7.0";
+    version = "4.8.2";
   };
   faraday = {
     dependencies = ["multipart-post"];
@@ -848,13 +873,21 @@
     };
     version = "0.0.6";
   };
+  fast_blank = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "16s1ilyvwzmkcgmklbrn0c2pch5n02vf921njx0bld4crgdr6z56";
+      type = "gem";
+    };
+    version = "1.0.0";
+  };
   fast_gettext = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1l8snpgxrri8jc0c35s6h3n92j8bfahh1knj94mw6i4zqhnpv40z";
+      sha256 = "1s42dsy3rh9h37d16pwhswf2q9cx25v5fn3q881b5iz6fvdjixv3";
       type = "gem";
     };
-    version = "1.4.0";
+    version = "1.6.0";
   };
   ffaker = {
     source = {
@@ -876,27 +909,36 @@
     dependencies = ["erubis" "path_expander" "ruby_parser" "sexp_processor"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1x563gyx292ka3awps6h6hmswqf71zdxnzw0pfv6p2mhd2zwxaba";
+      sha256 = "0rzggr9w6z2jvs3mv0bp7d64yjivpp93ww9g4j9azzcfjqnh9hn3";
       type = "gem";
     };
-    version = "2.8.1";
+    version = "2.10.0";
   };
   flipper = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1gbvd4j0rkr7qc3mnjdw4r9p6lffnwv7rvm1cyr8a0avjky34n8p";
+      sha256 = "1pdj9y3k6padiicfraxw9ibx9fm8yi2ihh608736lq5nnbf3k6gw";
       type = "gem";
     };
-    version = "0.10.2";
+    version = "0.13.0";
   };
   flipper-active_record = {
     dependencies = ["activerecord" "flipper"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "053lq791z8bf3xv6kb14nq3yrzjpmlyhzq3kvys978dc8yw78ld7";
+      sha256 = "0rgm4h5h6xcbf17z47sw8ancaxva8x4hwlxmyqpm0vzj1pnc47c1";
       type = "gem";
     };
-    version = "0.10.2";
+    version = "0.13.0";
+  };
+  flipper-active_support_cache_store = {
+    dependencies = ["activesupport" "flipper"];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0zpikmfhadb7l1ny6xbhk5d4840im6yq0wvfsnlw718spxi4ccgk";
+      type = "gem";
+    };
+    version = "0.13.0";
   };
   flowdock = {
     dependencies = ["httparty" "multi_json"];
@@ -920,28 +962,28 @@
     dependencies = ["fog-core" "fog-json" "fog-xml" "ipaddress"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0z5zkz7998l0bcxdp0cz4wg4ds4mhdzxd90xxqd50f52cqy85fjg";
+      sha256 = "00skbbgvhqzq6gpgzmw0957n0wf1y3vjgrdyq3sib0ghpyfgmig3";
       type = "gem";
     };
-    version = "1.4.0";
+    version = "2.0.1";
   };
   fog-core = {
     dependencies = ["builder" "excon" "formatador"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1w8ph79x0jp810qdzr5a73hpf39v27y0an23j7ifyk5zsq0j3maw";
+      sha256 = "02449kh2x3zj9xxszm02vy8zpbsrykvjrg5gj3kqcy2yizy2bhp3";
       type = "gem";
     };
-    version = "1.44.3";
+    version = "1.45.0";
   };
   fog-google = {
-    dependencies = ["fog-core" "fog-json" "fog-xml"];
+    dependencies = ["fog-core" "fog-json" "fog-xml" "google-api-client"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "179kk6mr84wsybm2afjckm8y95z3b5hg84xlgv8l2cv46wdql2ii";
+      sha256 = "09q0khxyaqckgz2d44sp4zkw61gbmhjdww0wsqjy5mwj041bwn3i";
       type = "gem";
     };
-    version = "0.5.3";
+    version = "1.3.3";
   };
   fog-json = {
     dependencies = ["fog-core" "multi_json"];
@@ -1001,10 +1043,10 @@
     dependencies = ["thor"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1caz8mi7gq1hs4l1flcyyw1iw1bdvdbhppsvy12akr01k3s17xaq";
+      sha256 = "06mq39lpmc17bxzlwhad9d8i0lcnbb08xr18smh2x79mm631wsw0";
       type = "gem";
     };
-    version = "0.78.0";
+    version = "0.84.0";
   };
   formatador = {
     source = {
@@ -1053,10 +1095,10 @@
     dependencies = ["locale" "text"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1d2i1zfqvaxqi01g9vvkfkf5r85c5nfj2zwpd2ib9vvkjavhn9cx";
+      sha256 = "0764vj7gacn0aypm2bf6m46dzjzwzrjlmbyx6qwwwzbmi94r40wr";
       type = "gem";
     };
-    version = "3.2.2";
+    version = "3.2.9";
   };
   gettext_i18n_rails = {
     dependencies = ["fast_gettext"];
@@ -1071,10 +1113,10 @@
     dependencies = ["gettext" "gettext_i18n_rails" "po_to_json" "rails"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "04lkmy6mgxdnpl4icddg00nj0ay0ylacfxrm723npzaqviml7c2x";
+      sha256 = "11yn5cf92wsmlj5c1065mg6swf8gq9l6g9ahikvvyf9npvjay42x";
       type = "gem";
     };
-    version = "1.2.0";
+    version = "1.3.0";
   };
   gherkin-ruby = {
     source = {
@@ -1088,19 +1130,19 @@
     dependencies = ["google-protobuf" "grpc"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0s86126iqhbmkix6zs357ixlc1syyxmwk2blaimsav7f0x9swy82";
+      sha256 = "1rnfswh0jpsiyzvsac7kwk9rpbpf4fcz9p2i8pamqamm3skgd4i6";
       type = "gem";
     };
-    version = "0.59.0";
+    version = "0.94.0";
   };
   github-linguist = {
     dependencies = ["charlock_holmes" "escape_utils" "mime-types" "rugged"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0c8w92yzjfs7pjnm8bdjsgyd1jpisn10fb6dy43381k1k8pxsifd";
+      sha256 = "0kgashbqpypv329m63b85ri1dx0gppwd0832hvwh124lk5b19drk";
       type = "gem";
     };
-    version = "4.7.6";
+    version = "5.3.3";
   };
   github-markup = {
     source = {
@@ -1136,6 +1178,15 @@
     };
     version = "1.6.3";
   };
+  gitlab-styles = {
+    dependencies = ["rubocop" "rubocop-gitlab-security" "rubocop-rspec"];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0m0ihbp7kjis03pcdx5310j7nzsxh22hfailnz0j467zab9jiap0";
+      type = "gem";
+    };
+    version = "2.3.2";
+  };
   gitlab_omniauth-ldap = {
     dependencies = ["net-ldap" "omniauth" "pyu-ruby-sasl" "rubyntlm"];
     source = {
@@ -1194,27 +1245,36 @@
     dependencies = ["addressable" "googleauth" "httpclient" "mime-types" "representable" "retriable"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0ac9qa0kwnirkvwz2w9zf07lqcgbmnvgd1wg8xxyjbadwsbpyf1y";
+      sha256 = "1gk6c21na1sizgsi71c6l6gpyjgib863jg991ycmrdnpr12mvs0q";
       type = "gem";
     };
-    version = "0.13.6";
+    version = "0.19.8";
   };
   google-protobuf = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1l9b2f4msp1gkay2mqjbjs7kfhchf916zh1y365singiysrwn2i6";
+      sha256 = "0s8ijd9wdrkqwsb6nasrsv7f9i5im2nyax7f7jlb5y9vh8nl98qi";
+      type = "gem";
+    };
+    version = "3.5.1";
+  };
+  googleapis-common-protos-types = {
+    dependencies = ["google-protobuf"];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0yf10s7w8wpa49hc86z7z2fkn9yz7j2njz0n8xmqb24ji090z4ck";
       type = "gem";
     };
-    version = "3.4.1.1";
+    version = "1.0.1";
   };
   googleauth = {
     dependencies = ["faraday" "jwt" "logging" "memoist" "multi_json" "os" "signet"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1xpmvrzhczak25nm0k3r9aa083lmfnzi94mir3g1xyrgzz66vxli";
+      sha256 = "08z4zfj9cwry13y8c2w5p4xylyslxxjq4wahd95bk1ddl5pknd4f";
       type = "gem";
     };
-    version = "0.5.3";
+    version = "0.6.2";
   };
   gpgme = {
     dependencies = ["mini_portile2"];
@@ -1229,10 +1289,10 @@
     dependencies = ["activesupport" "builder" "mustermann-grape" "rack" "rack-accept" "virtus"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1vz5lx56z9hwx6ifyc7qpdwd020xb3ynv3vahvlcgm01qi7ykdhv";
+      sha256 = "1nv7ijyr20can779cfgna76dwrckmscpc7nxj699lrwarr9as17v";
       type = "gem";
     };
-    version = "1.0.0";
+    version = "1.0.2";
   };
   grape-entity = {
     dependencies = ["activesupport" "multi_json"];
@@ -1262,13 +1322,13 @@
     version = "1.7.0";
   };
   grpc = {
-    dependencies = ["google-protobuf" "googleauth"];
+    dependencies = ["google-protobuf" "googleapis-common-protos-types" "googleauth"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1zhci260088zlghpaz6ania1blz1dd7lgklsjnqk1vcymhpr6b38";
+      sha256 = "17wvqhjmldxph4li402rvfbyzi5455lzmfr2y19kq9ghrzjyad82";
       type = "gem";
     };
-    version = "1.4.5";
+    version = "1.10.0";
   };
   haml = {
     dependencies = ["tilt"];
@@ -1308,10 +1368,10 @@
   hashie = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "120mkd2hkwhcfj7avi1dphb0lm7wx364d1cjm9yr4fibqpvsgqi7";
+      sha256 = "1hh5lybf8hm7d7xs4xm8hxvm8xqrs2flc8fnwkrclaj746izw6xb";
       type = "gem";
     };
-    version = "3.5.6";
+    version = "3.5.7";
   };
   hashie-forbidden_attributes = {
     dependencies = ["hashie"];
@@ -1344,10 +1404,10 @@
     dependencies = ["activesupport" "nokogiri"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1yckdlrn4v5d7bgl8mbffax16640pgg9ny693kqi4j7g17vx2q9l";
+      sha256 = "0hkx70z9ijgnncmrna9qdh9ajn9m7v146k91j257lrzyq2f6jdjd";
       type = "gem";
     };
-    version = "1.11.0";
+    version = "2.7.1";
   };
   html2text = {
     dependencies = ["nokogiri"];
@@ -1370,10 +1430,10 @@
     dependencies = ["addressable" "http-cookie" "http-form_data" "http_parser.rb"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1ll9x8qjp97l8gj0jx23nj7xvm0rsxj5pb3d19f7bhmdb70r0xsi";
+      sha256 = "1kcd9qp8vm1rkyp7gfh8j0dbl3zpi97vz2vbhpbcsdsa7l21a59r";
       type = "gem";
     };
-    version = "0.9.8";
+    version = "2.2.2";
   };
   http-cookie = {
     dependencies = ["domain_name"];
@@ -1387,10 +1447,10 @@
   http-form_data = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "10r6hy8wcf8n4nbdmdz9hrm8mg45lncfc7anaycpzrhfp3949xh9";
+      sha256 = "0j8dwwbfpf8kc0lcsqcgy29lflszd1x4d7kc0f7227892m7r6y0m";
       type = "gem";
     };
-    version = "1.0.1";
+    version = "1.0.3";
   };
   "http_parser.rb" = {
     source = {
@@ -1412,19 +1472,19 @@
   httpclient = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1pg15svk9lv5r7w1hxd87di6apsr9y009af3mm01xcaccvqj4j2d";
+      sha256 = "19mxmvghp7ki3klsxwrlwr431li7hm1lczhhj8z4qihl2acy8l99";
       type = "gem";
     };
-    version = "2.8.2";
+    version = "2.8.3";
   };
   i18n = {
     dependencies = ["concurrent-ruby"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "032wbfixfpwa67c893x5sn02ab0928vfqfshcs02bwkkxpqy9x8s";
+      sha256 = "038qvz7kd3cfxk8bvagqhakx68pfbnmghpdkx7573wbf0maqp9a3";
       type = "gem";
     };
-    version = "0.9.1";
+    version = "0.9.5";
   };
   ice_nine = {
     source = {
@@ -1468,15 +1528,6 @@
     };
     version = "1.3.2";
   };
-  jquery-rails = {
-    dependencies = ["rails-dom-testing" "railties" "thor"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "02ii77vwxc49f2lrkbdzww2168bp5nihwzakc9mqyrsbw394w7ki";
-      type = "gem";
-    };
-    version = "4.3.1";
-  };
   json = {
     source = {
       remotes = ["https://rubygems.org"];
@@ -1486,13 +1537,13 @@
     version = "1.8.6";
   };
   json-jwt = {
-    dependencies = ["activesupport" "bindata" "multi_json" "securecompare" "url_safe_base64"];
+    dependencies = ["activesupport" "aes_key_wrap" "bindata" "securecompare" "url_safe_base64"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "15a3v498lvsshzgjnk2dmyvjv87y3lffq71axj5xq3iz4mp1r4b2";
+      sha256 = "08sisbiz851ny0bgikfqdqjn1hqpgrzsfzddpm7s5a8ln51s9x78";
       type = "gem";
     };
-    version = "1.7.2";
+    version = "1.9.2";
   };
   json-schema = {
     dependencies = ["addressable"];
@@ -1558,19 +1609,19 @@
     dependencies = ["rake" "timecop"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0z0bp5al0b8wyzw8ff99jwr6qsh5n52xqryvzvy2nbrma9qr7dam";
+      sha256 = "1q2y7mb8ii1ncdrlp46l9v2x909gdnjaid2dg5gcicj39hna36di";
       type = "gem";
     };
-    version = "1.11.0";
+    version = "1.16.0";
   };
   kubeclient = {
     dependencies = ["http" "recursive-open-struct" "rest-client"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "09hr5cb6rzf9876wa0c8pv3kxjj4s8hcjpf7jjdg2n9prb7hhmgi";
+      sha256 = "14kmip7zprb7q6rp4lj011ikv33x193sy1642l2gmf8yv320h0sw";
       type = "gem";
     };
-    version = "2.2.0";
+    version = "3.0.0";
   };
   launchy = {
     dependencies = ["addressable"];
@@ -1612,10 +1663,10 @@
     dependencies = ["rugged"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1nhj0vx30llqyb7q52bwmrgy9xpjk3q48k98h0dvq83ym4v216a2";
+      sha256 = "0w6d2smhg3kzcx4m2ii06akakypwhiglansk51bpx290hhc8h3pc";
       type = "gem";
     };
-    version = "8.7.0";
+    version = "8.9.2";
   };
   little-plugger = {
     source = {
@@ -1652,13 +1703,13 @@
     version = "0.5.1";
   };
   loofah = {
-    dependencies = ["nokogiri"];
+    dependencies = ["crass" "nokogiri"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "109ps521p0sr3kgc460d58b4pr1z4mqggan2jbsf0aajy9s6xis8";
+      sha256 = "0yjs6wbcj3n06d3xjqpy3qbpx0bfa12h3x2rbpc2k33ldjlkx6zy";
       type = "gem";
     };
-    version = "2.0.3";
+    version = "2.2.2";
   };
   mail = {
     dependencies = ["mini_mime"];
@@ -1730,10 +1781,10 @@
   mini_mime = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0kzf2zx1arhjhw9c6mns0jqbmzdkd1vw25v940lvw63fzkbfv6dg";
+      sha256 = "1lwhlvjqaqfm6k3ms4v29sby9y7m518ylsqz2j74i740715yl5c8";
       type = "gem";
     };
-    version = "0.1.4";
+    version = "1.0.0";
   };
   mini_portile2 = {
     source = {
@@ -1762,10 +1813,10 @@
   multi_json = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1raim9ddjh672m32psaa9niw67ywzjbxbdb8iijx3wv9k5b0pk2x";
+      sha256 = "1rl0qy4inf1mp8mybfk56dfga0mvx97zwpmq5xmiwl5r770171nv";
       type = "gem";
     };
-    version = "1.12.2";
+    version = "1.13.1";
   };
   multi_xml = {
     source = {
@@ -1786,10 +1837,10 @@
   mustermann = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0npddl1kf72i3m72vs72a24z2rpgspis3hbzyni9fsds96zf0zyl";
+      sha256 = "07sb7fckrraqh48fjnqf6yl7vxxabfx0qrsrhfdz67pd838g4k8g";
       type = "gem";
     };
-    version = "1.0.0";
+    version = "1.0.2";
   };
   mustermann-grape = {
     dependencies = ["mustermann"];
@@ -1803,10 +1854,10 @@
   mysql2 = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1kh96xp396swyaddz5l2zqjxi3cvyqv62scak9b3f98j14ynfscl";
+      sha256 = "0qjd97w6a0w9aldsrhb2y6jrc4wnnlbj5j8kcl7pp7vviwa0r5iq";
       type = "gem";
     };
-    version = "0.4.5";
+    version = "0.4.10";
   };
   net-ldap = {
     source = {
@@ -1819,10 +1870,10 @@
   net-ssh = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "013p5jb4wy0cq7x7036piw2a3s1i9p752ki1srx2m289mpz4ml3q";
+      sha256 = "07c4v97zl1daabmri9zlbzs6yvkl56z1q14bw74d53jdj0c17nhx";
       type = "gem";
     };
-    version = "4.1.0";
+    version = "4.2.0";
   };
   netrc = {
     source = {
@@ -1836,10 +1887,10 @@
     dependencies = ["mini_portile2"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "105xh2zkr8nsyfaj2izaisarpnkrrl9000y3nyflg9cbzrfxv021";
+      sha256 = "05fm3xh462glvs0rwnfmc1spmgl4ljg2giifynbmwwqvl42zaaiq";
       type = "gem";
     };
-    version = "1.8.1";
+    version = "1.8.2";
   };
   numerizer = {
     source = {
@@ -1852,10 +1903,10 @@
   oauth = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1awhy8ddhixch44y68lail3h1d214rnl3y1yzk0msq5g4z2l62ky";
+      sha256 = "1zszdg8q1b135z7l7crjj234k4j0m347hywp5kj6zsq7q78pw09y";
       type = "gem";
     };
-    version = "0.5.1";
+    version = "0.5.4";
   };
   oauth2 = {
     dependencies = ["faraday" "jwt" "multi_json" "multi_xml" "rack"];
@@ -1870,36 +1921,28 @@
     dependencies = ["sawyer"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1bppfc0q8mflbcdsb66dly3skx42vad30q0fkzwx4za908qwvjpd";
-      type = "gem";
-    };
-    version = "4.6.2";
-  };
-  oj = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "17c50q2ygi8jlw8dq3ghzha774ln1swbvmvai2ar7qb3bwcfgc8b";
+      sha256 = "1hp77svmpxcwnfajb324i1g2b7jazg23fn4ccjr5y3lww0rnj1dg";
       type = "gem";
     };
-    version = "2.17.5";
+    version = "4.8.0";
   };
   omniauth = {
     dependencies = ["hashie" "rack"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0kvr0g12fawf491jmdaxzzr6qyd1r8ixzkcdr0zscs42fqsxv79i";
+      sha256 = "1msqr4qq7mfdvl3rg89529isrv595hvjpj2gi0say4b8nwqfggmg";
       type = "gem";
     };
-    version = "1.4.2";
+    version = "1.8.1";
   };
   omniauth-auth0 = {
     dependencies = ["omniauth-oauth2"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0dhfl01519q1cp4w0ml481j1cg05g7qvam0x4ia9jhdz8yx6npfs";
+      sha256 = "0id5gn14av81kh41cq4q6c9knyvzl7vc4rs3m4pmpd43g2z6jdw2";
       type = "gem";
     };
-    version = "1.4.1";
+    version = "2.0.0";
   };
   omniauth-authentiq = {
     dependencies = ["omniauth-oauth2"];
@@ -1956,13 +1999,22 @@
     version = "1.0.2";
   };
   omniauth-google-oauth2 = {
-    dependencies = ["jwt" "multi_json" "omniauth" "omniauth-oauth2"];
+    dependencies = ["jwt" "omniauth" "omniauth-oauth2"];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1rvdac08vgrxcblq8w2hqj080v2cwv3cigxdzs11gz4d538zjnym";
+      type = "gem";
+    };
+    version = "0.5.3";
+  };
+  omniauth-jwt = {
+    dependencies = ["jwt" "omniauth"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1sri7pn9pm7nr93zj7j1g4gqd3rpibqw7v09s1c6fihh5cmjz3fz";
+      sha256 = "0qxr95z5p7fs13mg04zp76ldplgk6n8fkwbn17mlzlry1ihcrgxr";
       type = "gem";
     };
-    version = "0.5.2";
+    version = "0.0.2";
   };
   omniauth-kerberos = {
     dependencies = ["omniauth-multipassword" "timfel-krb5-auth"];
@@ -1995,10 +2047,10 @@
     dependencies = ["oauth2" "omniauth"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0aykbg5qfm37ywrq34dydrhxa5jwpski71dpspgp2fi6dinx09f5";
+      sha256 = "0kscjf1y0lnggsl4z3w5bwllqshqjlsl5kmcya5haydajdnzvdjr";
       type = "gem";
     };
-    version = "1.4.0";
+    version = "1.5.0";
   };
   omniauth-oauth2-generic = {
     dependencies = ["omniauth-oauth2"];
@@ -2013,10 +2065,10 @@
     dependencies = ["omniauth" "ruby-saml"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1garppa83v53yr9bwfx51v4hqwfr5h4aq3d39gn2fmysnfav7c1x";
+      sha256 = "17lji8i4q9k3yi8lmjwlw8rfpp2sc74jv8d6flgq85lg5brfqq1p";
       type = "gem";
     };
-    version = "1.7.0";
+    version = "1.10.0";
   };
   omniauth-shibboleth = {
     dependencies = ["omniauth"];
@@ -2028,13 +2080,13 @@
     version = "1.2.1";
   };
   omniauth-twitter = {
-    dependencies = ["json" "omniauth-oauth"];
+    dependencies = ["omniauth-oauth" "rack"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1hqjpb1zx0pp3s12c83pkpk4kkx41f001jc5n8qz0h3wll0ld833";
+      sha256 = "0r5j65hkpgzhvvbs90id3nfsjgsad6ymzggbm7zlaxvnrmvnrk65";
       type = "gem";
     };
-    version = "1.2.1";
+    version = "1.4.0";
   };
   omniauth_crowd = {
     dependencies = ["activesupport" "nokogiri" "omniauth"];
@@ -2073,28 +2125,19 @@
   parallel = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0qv2yj4sxr36ga6xdxvbq9h05hn10bwcbkqv6j6q1fiixhsdnnzd";
+      sha256 = "01hj8v1qnyl5ndrs33g8ld8ibk0rbcqdpkpznr04gkbxd11pqn67";
       type = "gem";
     };
-    version = "1.12.0";
-  };
-  paranoia = {
-    dependencies = ["activerecord"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1ibdga0a0px8rf82qnmgm59z3z4s27r11i2i24087f0yh8z8bd7z";
-      type = "gem";
-    };
-    version = "2.3.1";
+    version = "1.12.1";
   };
   parser = {
     dependencies = ["ast"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0bqc29xx4zwlshvi6krrd0sl82d7xjfhcrxvgf38wvdqcl3b7ck3";
+      sha256 = "1sj8dlqs5l2pa5y2412r4d5fi7qvf26n8vpciz7k9fy0ch327gdc";
       type = "gem";
     };
-    version = "2.4.0.2";
+    version = "2.5.0.5";
   };
   parslet = {
     dependencies = ["blankslate"];
@@ -2108,10 +2151,10 @@
   path_expander = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0hklnfb0br6mx6l25zknz2zj6r152i0jiy6fn6ki220x0l5m2h59";
+      sha256 = "0wsymhprfjazdkmfv02kski3iwjjkciwxqjg9brh56sbymcgk34a";
       type = "gem";
     };
-    version = "1.0.1";
+    version = "1.0.2";
   };
   peek = {
     dependencies = ["concurrent-ruby" "concurrent-ruby-ext" "railties"];
@@ -2131,15 +2174,6 @@
     };
     version = "0.0.2";
   };
-  peek-host = {
-    dependencies = ["peek"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "11ra0hzdkdywp3cmaizcisliy26jwz7k0r9nkgm87y7amqk1wh8b";
-      type = "gem";
-    };
-    version = "1.0.0";
-  };
   peek-mysql2 = {
     dependencies = ["atomic" "mysql2" "peek"];
     source = {
@@ -2153,10 +2187,10 @@
     dependencies = ["peek"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "08i2gvn59hsbysbmnakxdcpm0jvhh6rl00pr5i3zqf2f5dd0sjz6";
+      sha256 = "1a0ly4p8xnrb3pnf273qq2d5bm2w19p829n4n2730rijd42pa2n4";
       type = "gem";
     };
-    version = "1.3.0";
+    version = "1.3.1";
   };
   peek-pg = {
     dependencies = ["concurrent-ruby" "concurrent-ruby-ext" "peek" "pg"];
@@ -2265,10 +2299,10 @@
   prometheus-client-mmap = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1wpk9zfbr7c1asvnq1v6jmc3ydbl8y17v24cj4vyhy3nkpds0cij";
+      sha256 = "1p3xkk9zal95di5v999mk7sq02fk0fimg633ixvhvv70ph6c8dhn";
       type = "gem";
     };
-    version = "0.7.0.beta43";
+    version = "0.9.1";
   };
   pry = {
     dependencies = ["coderay" "method_source" "slop"];
@@ -2300,10 +2334,10 @@
   public_suffix = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0snaj1gxfib4ja1mvy3dzmi7am73i0mkqr0zkz045qv6509dhj5f";
+      sha256 = "1x5h1dh1i3gwc01jbg01rly2g6a1qwhynb1s8a30ic507z1nh09s";
       type = "gem";
     };
-    version = "3.0.0";
+    version = "3.0.2";
   };
   pyu-ruby-sasl = {
     source = {
@@ -2316,10 +2350,10 @@
   rack = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "19m7aixb2ri7p1n0iqaqx8ldi97xdhvbxijbyrrcdcl6fv5prqza";
+      sha256 = "03w1ri5l91q800f1bdcdl5rbagy7s4kml136b42s2lmxmznxhr07";
       type = "gem";
     };
-    version = "1.6.8";
+    version = "1.6.9";
   };
   rack-accept = {
     dependencies = ["rack"];
@@ -2342,10 +2376,10 @@
   rack-cors = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1sz9d9gjmv2vjl3hddzk269hb1k215k8sp37gicphx82h3chk1kw";
+      sha256 = "1j27vy1bmhbqcyzhxg8d07qassmax769xjalfwcwz6qfiq8cf013";
       type = "gem";
     };
-    version = "0.4.0";
+    version = "1.0.2";
   };
   rack-oauth2 = {
     dependencies = ["activesupport" "attr_required" "httpclient" "multi_json" "rack"];
@@ -2360,10 +2394,10 @@
     dependencies = ["rack"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0cvb21zz7p9wy23wdav63z5qzfn4nialik22yqp6gihkgfqqrh5r";
+      sha256 = "0ywmgh7x8ljf7jfnq5hmfzki3f803waji3fcvi107w7mlyflbng7";
       type = "gem";
     };
-    version = "1.5.3";
+    version = "2.0.1";
   };
   rack-proxy = {
     dependencies = ["rack"];
@@ -2405,19 +2439,19 @@
     dependencies = ["activesupport" "nokogiri" "rails-deprecated_sanitizer"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1ny7mbjxhq20rzg4pivvyvk14irmc7cn20kxfk3vc0z2r2c49p8r";
+      sha256 = "0wssfqpn00byhvp2372p99mphkcj8qx6pf6646avwr9ifvq0q1x6";
       type = "gem";
     };
-    version = "1.0.8";
+    version = "1.0.9";
   };
   rails-html-sanitizer = {
     dependencies = ["loofah"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "138fd86kv073zqfx0xifm646w6bgw2lr8snk16lknrrfrss8xnm7";
+      sha256 = "1gv7vr5d9g2xmgpjfq4nxsqr70r9pr042r9ycqqnfvw5cz9c7jwr";
       type = "gem";
     };
-    version = "1.0.3";
+    version = "1.0.4";
   };
   rails-i18n = {
     dependencies = ["i18n" "railties"];
@@ -2462,6 +2496,23 @@
     };
     version = "12.3.0";
   };
+  rb-fsevent = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1fbpmjypwxkb8r7y1kmhmyp6gawa4byw0yb3jc3dn9ly4ld9lizf";
+      type = "gem";
+    };
+    version = "0.10.2";
+  };
+  rb-inotify = {
+    dependencies = ["ffi"];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0yfsgw5n7pkpyky6a9wkf1g9jafxb0ja7gz0qw0y14fd2jnzfh71";
+      type = "gem";
+    };
+    version = "0.9.10";
+  };
   rblineprof = {
     dependencies = ["debugger-ruby_core_source"];
     source = {
@@ -2518,10 +2569,10 @@
   recursive-open-struct = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "102bgpfkjsaghpb1qs1ah5s89100dchpimzah2wxdy9rv9318rqw";
+      sha256 = "0p8x9w9zzv56ka6czdmzl5sbsqjhnb9lkchvw55rf5lp8h0z3r6z";
       type = "gem";
     };
-    version = "1.0.0";
+    version = "1.0.5";
   };
   redcarpet = {
     source = {
@@ -2542,10 +2593,10 @@
   redis = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0kdj7511l6kqvqmaiw7kw604c83pk6f4b540gdsq1bf7yxm6qx6g";
+      sha256 = "0i415x8gi0c5vsiy6ikvx5js6fhc4x80a5lqv8iidy2iymd20irv";
       type = "gem";
     };
-    version = "3.3.3";
+    version = "3.3.5";
   };
   redis-actionpack = {
     dependencies = ["actionpack" "redis-rack" "redis-store"];
@@ -2631,10 +2682,10 @@
     dependencies = ["http-cookie" "mime-types" "netrc"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1v2jp2ilpb2rm97yknxcnay9lfagcm4k82pfsmmcm9v290xm1ib7";
+      sha256 = "1hzcs2r7b5bjkf2x2z3n8z6082maz0j8vqjiciwgg3hzb63f958j";
       type = "gem";
     };
-    version = "2.0.0";
+    version = "2.0.2";
   };
   retriable = {
     source = {
@@ -2778,28 +2829,37 @@
     dependencies = ["parallel" "parser" "powerpack" "rainbow" "ruby-progressbar" "unicode-display_width"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1mqyylfzch0967w7nfnqza84sqhljijd9y4bnq8hcmrscch75cxw";
+      sha256 = "0d22rr1jnjfkw10rbnqb8plyd7kzf553nm3sbv14xil65s4mkijf";
       type = "gem";
     };
-    version = "0.49.1";
+    version = "0.52.1";
   };
   rubocop-gitlab-security = {
     dependencies = ["rubocop"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0aw9qmyc6xj6fi0jxp8m4apk358rd91z492ragn6jp4rghkqj5cy";
+      sha256 = "0v0040kpx46fxz3p7dsdjgvsx89qjhwy17n8vxnqg9a7g1rfvxln";
       type = "gem";
     };
-    version = "0.1.0";
+    version = "0.1.1";
   };
   rubocop-rspec = {
     dependencies = ["rubocop"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "16qgakivl2vqbx82fm78999cximbb10jbz3ix1ga4a2rns5xxlf3";
+      sha256 = "18rd3w2q07vkfdk9nl8apkpyjfw1478qg82zgfnd4hn3r40jkbcx";
+      type = "gem";
+    };
+    version = "1.22.1";
+  };
+  ruby-enum = {
+    dependencies = ["i18n"];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0h62avini866kxpjzqxlqnajma3yvj0y25l6hn9h2mv5pp6fcrhx";
       type = "gem";
     };
-    version = "1.15.1";
+    version = "0.7.2";
   };
   ruby-fogbugz = {
     dependencies = ["crack"];
@@ -2813,27 +2873,27 @@
   ruby-prof = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0y13gdcdajfgrkx5rc9pvb7bwkyximwl5yrhq05gkmhflzdr7kag";
+      sha256 = "02z4lh1iv1d8751a1l6r4hfc9mp61gf80g4qc4l6gbync3j3hf2c";
       type = "gem";
     };
-    version = "0.16.2";
+    version = "0.17.0";
   };
   ruby-progressbar = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1qzc7s7r21bd7ah06kskajc2bjzkr9y0v5q48y0xwh2l55axgplm";
+      sha256 = "1igh1xivf5h5g3y5m9b4i4j2mhz2r43kngh4ww3q1r80ch21nbfk";
       type = "gem";
     };
-    version = "1.8.1";
+    version = "1.9.0";
   };
   ruby-saml = {
     dependencies = ["nokogiri"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1abhf16vbyzck4pv06qd5c59780glaf682ssjzpjwd9h9d7nqvl5";
+      sha256 = "0k9d88fa8bp5szivbwq0qi960y3r2kp6jhnkmsp3n2rvwpn936i3";
       type = "gem";
     };
-    version = "1.4.1";
+    version = "1.7.2";
   };
   ruby_parser = {
     dependencies = ["sexp_processor"];
@@ -2880,10 +2940,10 @@
   rugged = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1rqhg6g2q2av3fb6iyzfd3hfjxvr8hs32w7llil2kbx73crvc2dy";
+      sha256 = "0q1krxgd0ql03x8m9m05x5sxizw5sc7lms7rkp44qf45grpdk3v3";
       type = "gem";
     };
-    version = "0.26.0";
+    version = "0.27.0";
   };
   safe_yaml = {
     source = {
@@ -2903,12 +2963,22 @@
     version = "2.1.0";
   };
   sass = {
+    dependencies = ["sass-listen"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0dkj6v26fkg1g0majqswwmhxva7cd6p3psrhdlx93qal72dssywy";
+      sha256 = "10401m2xlv6vaxfwzy4xxmk51ddcnkvwi918cw3jkki0qqdl7d8v";
       type = "gem";
     };
-    version = "3.4.22";
+    version = "3.5.5";
+  };
+  sass-listen = {
+    dependencies = ["rb-fsevent" "rb-inotify"];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0xw3q46cmahkgyldid5hwyiwacp590zj2vmswlll68ryvmvcp7df";
+      type = "gem";
+    };
+    version = "4.0.0";
   };
   sass-rails = {
     dependencies = ["railties" "sass" "sprockets" "sprockets-rails" "tilt"];
@@ -2932,10 +3002,10 @@
     dependencies = ["rake" "sass"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "01lwbrz7637j79jkm6yaq4wsd4cqgzn0r74whn85v7j9dir73l98";
+      sha256 = "01bfkrjn1i0hfg1ifwn1rs7vqwdbdw158krwr5fm6iasd9zgl10g";
       type = "gem";
     };
-    version = "0.54.0";
+    version = "0.56.0";
   };
   securecompare = {
     source = {
@@ -2949,10 +3019,10 @@
     dependencies = ["activerecord" "activesupport"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1nkp1pvkdydclbl2v4qf9cixmiycvlqnrgxd61sv9r85spb01z3p";
+      sha256 = "0x6gclryl0hds3zms095d2iyafcvm2kfrm7362vrkxws7r2775pi";
       type = "gem";
     };
-    version = "2.3.6";
+    version = "2.3.7";
   };
   select2-rails = {
     dependencies = ["thor"];
@@ -2976,10 +3046,10 @@
     dependencies = ["faraday"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "19qqb7whayd170y45asc3cr3mbxfd46fv6s4jbs5xx1wphy4q80i";
+      sha256 = "0yf2gysjw6sy1xcp2jw35z9cp83pwx33lq0qyvaqbs969j4993r4";
       type = "gem";
     };
-    version = "2.5.3";
+    version = "2.7.2";
   };
   settingslogic = {
     source = {
@@ -3019,10 +3089,10 @@
     dependencies = ["concurrent-ruby" "connection_pool" "rack-protection" "redis"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0nazi3a9aq7c7cxk749qz9ilp7dv39r9n3zsbjg4frc96bb85s9w";
+      sha256 = "0mmmv6k4l5rd74zw4xmwsadi0pbbcyzk1cm73zd8fzwra6nfz7sh";
       type = "gem";
     };
-    version = "5.0.4";
+    version = "5.0.5";
   };
   sidekiq-cron = {
     dependencies = ["rufus-scheduler" "sidekiq"];
@@ -3046,10 +3116,10 @@
     dependencies = ["addressable" "faraday" "jwt" "multi_json"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "149668991xqibvm8kvl10kzy891yd6f994b4gwlx6c3vl24v5jq6";
+      sha256 = "0js81lxqirdza8gf2f6avh11fny49ygmxfi1qx7jp8l9wrhznbkv";
       type = "gem";
     };
-    version = "0.7.3";
+    version = "0.8.1";
   };
   simple_po_parser = {
     source = {
@@ -3172,6 +3242,14 @@
     };
     version = "1.3.13";
   };
+  sshkey = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0g02lh50jd5z4l9bp7xirnfn3n1dh9lr06dv3xh0kr3yhsny059h";
+      type = "gem";
+    };
+    version = "1.9.0";
+  };
   stackprof = {
     source = {
       remotes = ["https://rubygems.org"];
@@ -3183,28 +3261,28 @@
   state_machines = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1xg84kdglz0k1pshf2q604zybjpribzcz2b651sc1j27kd86w787";
+      sha256 = "00mi16hg3rhkxz4y58s173cbnjlba41y9bfcim90p4ja6yfj9ri3";
       type = "gem";
     };
-    version = "0.4.0";
+    version = "0.5.0";
   };
   state_machines-activemodel = {
     dependencies = ["activemodel" "state_machines"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0p6560jsb4flapd1vbc50bqjk6dzykkwbmyivchyjh5ncynsdb8v";
+      sha256 = "0chhm5hs1y83dq8haff10m66r3yrm7jab35r9xg6adn6qd8ynv2l";
       type = "gem";
     };
-    version = "0.4.0";
+    version = "0.5.1";
   };
   state_machines-activerecord = {
     dependencies = ["activerecord" "state_machines-activemodel"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0x5wx1s2i3qc4p2knkf2n9h8b49pla9rjidkwxqzi781qm40wdxx";
+      sha256 = "00h07gd4kb22ahgv61r8zca9hqxaw44fnk2sc28j00c1nmwsw6r3";
       type = "gem";
     };
-    version = "0.4.0";
+    version = "0.5.1";
   };
   stringex = {
     source = {
@@ -3326,10 +3404,10 @@
     dependencies = ["citrus"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "03sr3k193i1r5bh9g4zc7iq9jklapmwj0rndcvhr9q7v5xm7x4rf";
+      sha256 = "0pz6z1mc7rnv4chkbx3mdn4q1lpp0j596dq57kbq39jv0wn0wi4d";
       type = "gem";
     };
-    version = "0.3.15";
+    version = "1.0.0";
   };
   truncato = {
     dependencies = ["htmlentities" "nokogiri"];
@@ -3344,10 +3422,10 @@
     dependencies = ["thread_safe"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "09dpbrih054mn42flbbcdpzk2727mzfvjrgqb12zdafhx7p9rrzp";
+      sha256 = "1fjx9j327xpkkdlxwmkl3a8wqj7i4l4jwlrv3z13mg95z9wl253z";
       type = "gem";
     };
-    version = "1.2.4";
+    version = "1.2.5";
   };
   u2f = {
     source = {
@@ -3386,10 +3464,10 @@
   unf_ext = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "14hr2dzqh33kqc0xchs8l05pf3kjcayvad4z1ip5rdjxrkfk8glb";
+      sha256 = "06p1i6qhy34bpb8q8ms88y6f2kz86azwm098yvcc0nyqk9y729j1";
       type = "gem";
     };
-    version = "0.0.7.4";
+    version = "0.0.7.5";
   };
   unicode-display_width = {
     source = {
@@ -3429,10 +3507,10 @@
     dependencies = ["abstract_type" "adamantium" "concord" "diff-lcs" "equalizer" "parser" "procto"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1jhpgvghn764myi5iwlys98f71yspwgrzimzz11108jnhl5rcx7l";
+      sha256 = "0k2asbk9k5kzq8jidy3frqcmn58i9cvaizn8f6g5xlx1pn70bx1w";
       type = "gem";
     };
-    version = "0.2.6";
+    version = "0.2.7";
   };
   url_safe_base64 = {
     source = {
@@ -3537,4 +3615,4 @@
     };
     version = "2.1.0";
   };
-}
+}
\ No newline at end of file
diff --git a/pkgs/applications/version-management/gitlab/nulladapter.patch b/pkgs/applications/version-management/gitlab/nulladapter.patch
deleted file mode 100644
index a495ce63cc5..00000000000
--- a/pkgs/applications/version-management/gitlab/nulladapter.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-diff --git a/Gemfile b/Gemfile
-index 4861171ef5..f6e701c548 100644
---- a/Gemfile
-+++ b/Gemfile
-@@ -1,5 +1,7 @@
- source 'https://rubygems.org'
- 
-+gem 'activerecord-nulldb-adapter'
-+
- gem 'rails', '4.2.10'
- gem 'rails-deprecated_sanitizer', '~> 1.0.3'
- 
-diff --git a/Gemfile.lock b/Gemfile.lock
-index 38944248f9..08ce4486ba 100644
---- a/Gemfile.lock
-+++ b/Gemfile.lock
-@@ -33,6 +33,8 @@ GEM
-       activemodel (= 4.2.8)
-       activesupport (= 4.2.8)
-       arel (~> 6.0)
-+    activerecord-nulldb-adapter (0.3.7)
-+      activerecord (>= 2.0.0)
-     activerecord_sane_schema_dumper (0.2)
-       rails (>= 4, < 5)
-     activesupport (4.2.8)
-@@ -963,6 +965,7 @@ PLATFORMS
- DEPENDENCIES
-   RedCloth (~> 4.3.2)
-   ace-rails-ap (~> 4.1.0)
-+  activerecord-nulldb-adapter
-   activerecord_sane_schema_dumper (= 0.2)
-   acts-as-taggable-on (~> 4.0)
-   addressable (~> 2.5.2)
diff --git a/pkgs/applications/version-management/gitlab/remove-hardcoded-locations.patch b/pkgs/applications/version-management/gitlab/remove-hardcoded-locations.patch
index acc615c63ca..7a2bfea0c10 100644
--- a/pkgs/applications/version-management/gitlab/remove-hardcoded-locations.patch
+++ b/pkgs/applications/version-management/gitlab/remove-hardcoded-locations.patch
@@ -1,8 +1,8 @@
 diff --git a/config/environments/production.rb b/config/environments/production.rb
-index c5cbfcf64c..e40f10e25f 100644
+index c5cbfcf64c..4d01f6fab8 100644
 --- a/config/environments/production.rb
 +++ b/config/environments/production.rb
-@@ -70,14 +70,16 @@ Rails.application.configure do
+@@ -70,10 +70,10 @@ Rails.application.configure do
  
    config.action_mailer.delivery_method = :sendmail
    # Defaults to:
@@ -11,23 +11,17 @@ index c5cbfcf64c..e40f10e25f 100644
 -  # #   arguments: '-i -t'
 -  # # }
 +  config.action_mailer.sendmail_settings = {
-+    location: '/run/wrappers/bin/sendmail',
++    location: '/usr/sbin/sendmail',
 +    arguments: '-i -t'
 +  }
    config.action_mailer.perform_deliveries = true
    config.action_mailer.raise_delivery_errors = true
  
-   config.eager_load = true
- 
-   config.allow_concurrency = false
-+
-+  config.active_record.dump_schema_after_migration = false
- end
 diff --git a/config/gitlab.yml.example b/config/gitlab.yml.example
-index 0b33783869..cd4e41d9bd 100644
+index bd696a7f2c..44e3863736 100644
 --- a/config/gitlab.yml.example
 +++ b/config/gitlab.yml.example
-@@ -574,7 +574,7 @@ production: &base
+@@ -590,7 +590,7 @@ production: &base
    # CAUTION!
    # Use the default values unless you really know what you are doing
    git:
@@ -37,10 +31,10 @@ index 0b33783869..cd4e41d9bd 100644
    ## Webpack settings
    # If enabled, this will tell rails to serve frontend assets from the webpack-dev-server running
 diff --git a/config/initializers/1_settings.rb b/config/initializers/1_settings.rb
-index 8ddf8e4d2e..559cf9adf7 100644
+index 0bea8a4f4b..290248547b 100644
 --- a/config/initializers/1_settings.rb
 +++ b/config/initializers/1_settings.rb
-@@ -252,7 +252,7 @@ Settings.gitlab['user']       ||= 'git'
+@@ -255,7 +255,7 @@ Settings.gitlab['user']       ||= 'git'
  Settings.gitlab['user_home']  ||= begin
    Etc.getpwnam(Settings.gitlab['user']).dir
  rescue ArgumentError # no user configured
@@ -49,7 +43,7 @@ index 8ddf8e4d2e..559cf9adf7 100644
  end
  Settings.gitlab['time_zone'] ||= nil
  Settings.gitlab['signup_enabled'] ||= true if Settings.gitlab['signup_enabled'].nil?
-@@ -491,7 +491,7 @@ Settings.backup['upload']['storage_class'] ||= nil
+@@ -507,7 +507,7 @@ Settings.backup['upload']['storage_class'] ||= nil
  # Git
  #
  Settings['git'] ||= Settingslogic.new({})
@@ -58,29 +52,42 @@ index 8ddf8e4d2e..559cf9adf7 100644
  
  # Important: keep the satellites.path setting until GitLab 9.0 at
  # least. This setting is fed to 'rm -rf' in
+diff --git a/lib/api/api.rb b/lib/api/api.rb
+index e953f3d2ec..3a8d9f076b 100644
+--- a/lib/api/api.rb
++++ b/lib/api/api.rb
+@@ -2,7 +2,7 @@ module API
+   class API < Grape::API
+     include APIGuard
+ 
+-    LOG_FILENAME = Rails.root.join("log", "api_json.log")
++    LOG_FILENAME = File.join(ENV["GITLAB_LOG_PATH"], "api_json.log")
+ 
+     NO_SLASH_URL_PART_REGEX = %r{[^/]+}
+     PROJECT_ENDPOINT_REQUIREMENTS = { id: NO_SLASH_URL_PART_REGEX }.freeze
 diff --git a/lib/gitlab/logger.rb b/lib/gitlab/logger.rb
-index 59b21149a9..4f4a39a06c 100644
+index a42e312b5d..ccaab9229e 100644
 --- a/lib/gitlab/logger.rb
 +++ b/lib/gitlab/logger.rb
-@@ -26,7 +26,7 @@
+@@ -26,7 +26,7 @@ module Gitlab
      end
  
      def self.full_log_path
 -      Rails.root.join("log", file_name)
-+      File.join(ENV["GITLAB_LOG_PATH"], file_name)
++        File.join(ENV["GITLAB_LOG_PATH"], file_name)
      end
  
      def self.cache_key
 diff --git a/lib/gitlab/uploads_transfer.rb b/lib/gitlab/uploads_transfer.rb
-index b5f4124052..f72c556983 100644
+index 7d7400bdab..cb25211d44 100644
 --- a/lib/gitlab/uploads_transfer.rb
 +++ b/lib/gitlab/uploads_transfer.rb
 @@ -1,7 +1,7 @@
  module Gitlab
    class UploadsTransfer < ProjectTransfer
      def root_dir
--      File.join(CarrierWave.root, FileUploader.base_dir)
-+      ENV['GITLAB_UPLOADS_PATH'] || File.join(CarrierWave.root, FileUploader.base_dir)
+-      FileUploader.root
++      ENV['GITLAB_UPLOADS_PATH'] || FileUploader.root
      end
    end
  end
@@ -98,7 +105,7 @@ index 3e0c436d6e..28cefc5514 100644
      end
    end
 diff --git a/lib/system_check/app/uploads_directory_exists_check.rb b/lib/system_check/app/uploads_directory_exists_check.rb
-index 7026d0ba07..6d88b8b9fb 100644
+index 7026d0ba07..c56e1f7ed9 100644
 --- a/lib/system_check/app/uploads_directory_exists_check.rb
 +++ b/lib/system_check/app/uploads_directory_exists_check.rb
 @@ -4,12 +4,13 @@ module SystemCheck
@@ -113,7 +120,7 @@ index 7026d0ba07..6d88b8b9fb 100644
 +        uploads_dir = ENV['GITLAB_UPLOADS_PATH'] || Rails.root.join('public/uploads')
          try_fixing_it(
 -          "sudo -u #{gitlab_user} mkdir #{Rails.root}/public/uploads"
-+          "sudo -u #{gitlab_user} mkdir #{uploads_dir}"
++            "sudo -u #{gitlab_user} mkdir #{uploads_dir}"
          )
          for_more_information(
            see_installation_guide_section 'GitLab'
@@ -143,14 +150,3 @@ index b276a81eac..070e3ebd81 100644
        end
      end
    end
---- a/lib/api/api.rb	1970-01-01 01:00:01.000000000 +0100
-+++ b/lib/api/api.rb	2017-09-28 19:37:24.953605705 +0200
-@@ -2,7 +2,7 @@
-   class API < Grape::API
-     include APIGuard
- 
--    LOG_FILENAME = Rails.root.join("log", "api_json.log")
-+    LOG_FILENAME = File.join(ENV["GITLAB_LOG_PATH"], "api_json.log")
- 
-     use GrapeLogging::Middleware::RequestLogger,
-         logger: Logger.new(LOG_FILENAME),
diff --git a/pkgs/applications/version-management/gitless/default.nix b/pkgs/applications/version-management/gitless/default.nix
index 2b93a95e45a..d062c32d018 100644
--- a/pkgs/applications/version-management/gitless/default.nix
+++ b/pkgs/applications/version-management/gitless/default.nix
@@ -1,14 +1,14 @@
 { fetchFromGitHub, pythonPackages, stdenv }:
 
 pythonPackages.buildPythonApplication rec {
-  ver = "0.8.5";
+  ver = "0.8.6";
   name = "gitless-${ver}";
 
   src = fetchFromGitHub {
     owner = "sdg-mit";
     repo = "gitless";
     rev = "v${ver}";
-    sha256 = "1v22i5lardswpqb6vxjgwra3ac8652qyajbijfj18vlkhajz78hq";
+    sha256 = "1q6y38f8ap6q1livvfy0pfnjr0l8b68hyhc9r5v87fmdyl7y7y8g";
   };
 
   propagatedBuildInputs = with pythonPackages; [ sh pygit2 clint ];
diff --git a/pkgs/applications/version-management/gogs/default.nix b/pkgs/applications/version-management/gogs/default.nix
index a86a7f96e09..508c8b3fb6d 100644
--- a/pkgs/applications/version-management/gogs/default.nix
+++ b/pkgs/applications/version-management/gogs/default.nix
@@ -7,13 +7,13 @@ with stdenv.lib;
 
 buildGoPackage rec {
   name = "gogs-${version}";
-  version = "0.11.29";
+  version = "0.11.34";
 
   src = fetchFromGitHub {
     owner = "gogits";
     repo = "gogs";
     rev = "v${version}";
-    sha256 = "1xn1b4dxf7r8kagps3yvp31zskfxn50k1gfic9abl4kjwpwk78c0";
+    sha256 = "15xwcw3k7wbahdgp796gly79qkka21p7kvm84zfjgcsjjri0kdnz";
   };
 
   patches = [ ./static-root-path.patch ];
diff --git a/pkgs/applications/version-management/gource/default.nix b/pkgs/applications/version-management/gource/default.nix
index e201add472b..d617d363fa0 100644
--- a/pkgs/applications/version-management/gource/default.nix
+++ b/pkgs/applications/version-management/gource/default.nix
@@ -3,12 +3,12 @@
 }:
 
 stdenv.mkDerivation rec {
-  version = "0.47";
+  version = "0.48";
   name = "gource-${version}";
 
   src = fetchurl {
     url = "https://github.com/acaudwell/Gource/releases/download/${name}/${name}.tar.gz";
-    sha256 = "1llqwdnfa1pff8bxk27qsqff1fcg0a9kfdib0rn7p28vl21n1cgj";
+    sha256 = "04qxcm05qiyr9rg2kv6abfy7kkzqr8ziw4iyp1d14lniv93m61dp";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/applications/version-management/meld/default.nix b/pkgs/applications/version-management/meld/default.nix
index e3cafe6b646..f6816ec1548 100644
--- a/pkgs/applications/version-management/meld/default.nix
+++ b/pkgs/applications/version-management/meld/default.nix
@@ -5,14 +5,14 @@
 
 let
   pname = "meld";
-  version = "3.18.0";
+  version = "3.18.1";
   inherit (python3Packages) python buildPythonApplication pycairo pygobject3;
 in buildPythonApplication rec {
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${gnome3.versionBranch version}/${name}.tar.xz";
-    sha256 = "0gi2jzgsrd5q2icyp6wphbn532ddg82nxhfxlffkniy7wnqmi0c4";
+    sha256 = "0yg8i1ff3rsavsaxbnd6dxmfsiyv49kk8rv5wqnyhf2zmfp8rxis";
   };
 
   buildInputs = [
diff --git a/pkgs/applications/version-management/mercurial/default.nix b/pkgs/applications/version-management/mercurial/default.nix
index 68750bb9e6e..a00393abf27 100644
--- a/pkgs/applications/version-management/mercurial/default.nix
+++ b/pkgs/applications/version-management/mercurial/default.nix
@@ -4,7 +4,7 @@
 
 let
   # if you bump version, update pkgs.tortoisehg too or ping maintainer
-  version = "4.5";
+  version = "4.5.2";
   name = "mercurial-${version}";
   inherit (python2Packages) docutils hg-git dulwich python;
 in python2Packages.buildPythonApplication {
@@ -13,7 +13,7 @@ in python2Packages.buildPythonApplication {
 
   src = fetchurl {
     url = "https://mercurial-scm.org/release/${name}.tar.gz";
-    sha256 = "0rgjy42zdlbzgp4qq49amzplfcvycyijf4kdhc5wk3fqz7cki4sd";
+    sha256 = "14732hhw2ibvy5khqxjc8a983z3rib5vp9lqfbws80lm3kyryjm4";
   };
 
   inherit python; # pass it so that the same version can be used in hg2git
diff --git a/pkgs/applications/version-management/nbstripout/default.nix b/pkgs/applications/version-management/nbstripout/default.nix
index c4c09094edd..18fb672226f 100644
--- a/pkgs/applications/version-management/nbstripout/default.nix
+++ b/pkgs/applications/version-management/nbstripout/default.nix
@@ -1,9 +1,9 @@
-{lib, python2Packages, git, mercurial, coreutils}:
+{lib, python2Packages, fetchFromGitHub, fetchurl, git, mercurial, coreutils}:
 
 with python2Packages;
 buildPythonApplication rec {
   name = "${pname}-${version}";
-  version = "0.3.0";
+  version = "0.3.1";
   pname = "nbstripout";
 
   # Mercurial should be added as a build input but because it's a Python
@@ -12,11 +12,30 @@ buildPythonApplication rec {
   buildInputs = [ pytest pytest-flake8 pytest-cram git pytestrunner ];
   propagatedBuildInputs = [ ipython nbformat ];
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "126xhjma4a0k7gq58hbqglhb3rai0a576azz7g8gmqjr3kl0264v";
+  # PyPI source is currently missing tests. Thus, use GitHub instead.
+  # See: https://github.com/kynan/nbstripout/issues/73
+  # Use PyPI again after it has been fixed in a release.
+  src = fetchFromGitHub {
+    owner = "kynan";
+    repo = pname;
+    rev = version;
+    sha256 = "1jifqmszjzyaqzaw2ir83k5fdb04iyxdad4lclawpb42hbink9ws";
   };
 
+  patches = [
+    (
+      # Fix git diff tests by using --no-index.
+      # See: https://github.com/kynan/nbstripout/issues/74
+      #
+      # Remove this patch once the pull request has been merged and a new
+      # release made.
+      fetchurl {
+        url = "https://github.com/jluttine/nbstripout/commit/03e28424fb788dd09a95e99814977b0d0846c0b4.patch";
+        sha256 = "09myfb77a2wh8lqqs9fcpam97vmaw8b7zbq8n5gwn6d80zbl7dn0";
+      }
+    )
+  ];
+
   # for some reason, darwin uses /bin/sh echo native instead of echo binary, so
   # force using the echo binary
   postPatch = ''
diff --git a/pkgs/applications/version-management/p4v/default.nix b/pkgs/applications/version-management/p4v/default.nix
new file mode 100644
index 00000000000..27e029d39d1
--- /dev/null
+++ b/pkgs/applications/version-management/p4v/default.nix
@@ -0,0 +1,48 @@
+{ stdenv, fetchurl, lib, qtbase, qtmultimedia, qtscript, qtsensors, qtwebkit, openssl, xkeyboard_config, makeWrapper }:
+
+stdenv.mkDerivation rec {
+  name = "p4v-${version}";
+  version = "2017.3.1601999";
+
+  src = fetchurl {
+    url = "https://cdist2.perforce.com/perforce/r17.3/bin.linux26x86_64/p4v.tgz";
+    sha256 = "f317607f1bc8877db01ff020b8b0857c2d0f8600474d152749264aea0be66b21";
+  };
+
+  dontBuild = true;
+  nativeBuildInputs = [makeWrapper];
+
+  ldLibraryPath = lib.makeLibraryPath [
+      stdenv.cc.cc.lib
+      qtbase
+      qtmultimedia
+      qtscript
+      qtsensors
+      qtwebkit
+      openssl
+  ];
+
+  installPhase = ''
+    mkdir $out
+    cp -r bin $out
+    mkdir -p $out/lib/p4v
+    cp -r lib/p4v/P4VResources $out/lib/p4v
+
+    for f in $out/bin/*.bin ; do
+      patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" $f
+
+      wrapProgram $f \
+        --suffix LD_LIBRARY_PATH : ${ldLibraryPath} \
+        --suffix QT_XKB_CONFIG_ROOT : ${xkeyboard_config}/share/X11/xkb \
+        --suffix QT_PLUGIN_PATH : ${qtbase.bin}/${qtbase.qtPluginPrefix}
+    done
+  '';
+
+  meta = {
+    description = "Perforce Visual Client";
+    homepage = https://www.perforce.com;
+    license = stdenv.lib.licenses.unfreeRedistributable;
+    platforms = [ "x86_64-linux" ];
+    maintainers = [ stdenv.lib.maintainers.nioncode ];
+  };
+}
diff --git a/pkgs/applications/version-management/sit/aarch64-isel.patch b/pkgs/applications/version-management/sit/aarch64-isel.patch
new file mode 100644
index 00000000000..411922cfd8e
--- /dev/null
+++ b/pkgs/applications/version-management/sit/aarch64-isel.patch
@@ -0,0 +1,9 @@
+diff --git a/.cargo/config b/.cargo/config
+new file mode 100644
+index 0000000..15e7649
+--- /dev/null
++++ b/.cargo/config
+@@ -0,0 +1,3 @@
++# https://github.com/rust-lang/rust/issues/50516
++[target.'cfg(all(debug_assertions, target_arch = "aarch64"))']
++rustflags = ["-C", "llvm-args=-fast-isel"]
diff --git a/pkgs/applications/version-management/sit/default.nix b/pkgs/applications/version-management/sit/default.nix
index 5c6e65915da..e189241531d 100644
--- a/pkgs/applications/version-management/sit/default.nix
+++ b/pkgs/applications/version-management/sit/default.nix
@@ -1,23 +1,27 @@
-{ stdenv, fetchFromGitHub, rustPlatform }:
+{ stdenv, fetchFromGitHub, rustPlatform, cmake, libzip }:
 
 rustPlatform.buildRustPackage rec {
   name = "sit-${version}";
-  version = "0.1.3";
+  version = "0.3.2";
 
   src = fetchFromGitHub {
     owner = "sit-it";
     repo = "sit";
     rev = "v${version}";
-    sha256 = "1ysy1lhb7fxy02a3c9xk2awa49svnfa8bqcz2aj4x56r2f8vhj0h";
+    sha256 = "0lhl4rrfmsi76498mg5si2xagl8l2pi5d92dxhsyzszpwn5jdp57";
   };
 
-  cargoSha256 = "1y8a8a9jn9f374sy5fs1snmpiqyckqc0aw7idwnpfr912c1zzrxw";
+  buildInputs = [ cmake libzip ];
+
+  cargoSha256 = "102haqix13nwcncng1s8qkw68spn6fhh3vysk2nbahw6f78zczqg";
+
+  patches = [ ./aarch64-isel.patch ];
 
   meta = with stdenv.lib; {
-    description = "SCM-agnostic, file-based, offline-first, immutable issue tracker";
-    homepage = http://sit-it.org/;
+    description = "Serverless Information Tracker";
+    homepage = https://sit.sh/;
     license = with licenses; [ asl20 /* or */ mit ];
-    maintainers = with maintainers; [ dywedir ];
+    maintainers = with maintainers; [ dywedir yrashk ];
     platforms = platforms.all;
   };
 }
diff --git a/pkgs/applications/version-management/src/default.nix b/pkgs/applications/version-management/src/default.nix
index 2bde0a68480..4a4879600ae 100644
--- a/pkgs/applications/version-management/src/default.nix
+++ b/pkgs/applications/version-management/src/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "src-${version}";
-  version = "1.17";
+  version = "1.18";
 
   src = fetchurl {
     url = "http://www.catb.org/~esr/src/${name}.tar.gz";
-    sha256 = "17885hpq8nxhqzwl50nrgdk1q9dq4cxjxldgkk8shdf08s5hcqhk";
+    sha256 = "0n0skhvya8w2az45h2gsafxy8m2mvqas64nrgxifcmrzfv0rf26c";
   };
 
   buildInputs = [ python rcs git makeWrapper ];
@@ -24,9 +24,17 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Simple single-file revision control";
-    homepage = http://www.catb.org/~esr/src/;
+    longDescription = ''
+      SRC, acronym of Simple Revision Control, is RCS/SCCS reloaded with a
+      modern UI, designed to manage single-file solo projects kept more than one
+      to a directory. Use it for FAQs, ~/bin directories, config files, and the
+      like. Features integer sequential revision numbers, a command set that
+      will seem familiar to Subversion/Git/hg users, and no binary blobs
+      anywhere.
+    '';
+    homepage = http://www.catb.org/esr/src/;
     license = licenses.bsd3;
     platforms = platforms.all;
-    maintainers = with maintainers; [ calvertvl ];
+    maintainers = with maintainers; [ calvertvl AndersonTorres ];
   };
 }
diff --git a/pkgs/applications/version-management/subversion/default.nix b/pkgs/applications/version-management/subversion/default.nix
index e069c39f059..6b8ef7b88e8 100644
--- a/pkgs/applications/version-management/subversion/default.nix
+++ b/pkgs/applications/version-management/subversion/default.nix
@@ -88,6 +88,8 @@ let
 
     enableParallelBuilding = true;
 
+    doCheck = false; # fails 10 out of ~2300 tests
+
     meta = {
       description = "A version control system intended to be a compelling replacement for CVS in the open source community";
       homepage = http://subversion.apache.org/;
diff --git a/pkgs/applications/version-management/tortoisehg/default.nix b/pkgs/applications/version-management/tortoisehg/default.nix
index 437062f7f5e..3f33410f1b1 100644
--- a/pkgs/applications/version-management/tortoisehg/default.nix
+++ b/pkgs/applications/version-management/tortoisehg/default.nix
@@ -2,11 +2,11 @@
 
 python2Packages.buildPythonApplication rec {
     name = "tortoisehg-${version}";
-    version = "4.5";
+    version = "4.5.2";
 
     src = fetchurl {
       url = "https://bitbucket.org/tortoisehg/targz/downloads/${name}.tar.gz";
-      sha256 = "11m2hir2y1hblg9sqmansv16rcp560j2d3nhqzfhkim46a59fxvk";
+      sha256 = "0q12zjpgafdch4ns31k4afy25g837xm7v2qwj62806l2dz4rm4h9";
     };
 
     pythonPath = with python2Packages; [ pyqt4 mercurial qscintilla iniparse ];
diff --git a/pkgs/applications/version-management/vcsh/default.nix b/pkgs/applications/version-management/vcsh/default.nix
index 77663e858ef..0f0eec7ef9c 100644
--- a/pkgs/applications/version-management/vcsh/default.nix
+++ b/pkgs/applications/version-management/vcsh/default.nix
@@ -1,29 +1,22 @@
-{ stdenv, fetchpatch, fetchFromGitHub, which, git, ronn, perl, ShellCommand, TestMost }:
+{ stdenv, fetchFromGitHub, which, git, ronn, perl, ShellCommand
+, TestMost, TestDifferences, TestDeep, TestException, TestWarn
+}:
 
 stdenv.mkDerivation rec {
-  version = "1.20170226";       # date of commit we're pulling
+  version = "1.20170915";       # date of commit we're pulling
   name = "vcsh-${version}";
 
   src = fetchFromGitHub {
     owner = "RichiH";
     repo = "vcsh";
-    rev = "36a7cedf196793a6d99f9d3ba2e69805cfff23ab";
-    sha256 = "16lb28m4k7n796cc1kifyc1ixry4bg69q9wqivjzygdsb77awgln";
+    rev = "eadb8df6aa71a76e5be36492edcadb118bd862ac";
+    sha256 = "1wfzp8167lcq6akdpbi8fikjv0z3h1i5minh3423dljc04q0klm1";
   };
 
-  patches =
-    [
-      (fetchpatch {
-        url = "https://patch-diff.githubusercontent.com/raw/RichiH/vcsh/pull/222.patch";
-        sha256 = "0grdbiwq04x5qj0a1yd9a78g5v28dxhwl6mwxvgvvmzs6k5wnl3k";
-      })
-      (fetchpatch {
-        url = "https://patch-diff.githubusercontent.com/raw/RichiH/vcsh/pull/228.patch";
-        sha256 = "0sdn4mzrhaynw85knia2iw5b6rgy0l1rd6dwh0lwspnh668wqgam";
-      })
-    ];
-
-  buildInputs = [ which git ronn perl ShellCommand TestMost ];
+  buildInputs = [
+    which git ronn perl ShellCommand TestMost TestDifferences TestDeep
+    TestException TestWarn
+  ];
 
   installPhase = "make install PREFIX=$out";
 
diff --git a/pkgs/applications/video/avidemux/default.nix b/pkgs/applications/video/avidemux/default.nix
index de2394cd4a1..991842ba0dc 100644
--- a/pkgs/applications/video/avidemux/default.nix
+++ b/pkgs/applications/video/avidemux/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, fetchurl, cmake, pkgconfig, lndir
+{ stdenv, lib, fetchurl, fetchpatch, cmake, pkgconfig, lndir
 , zlib, gettext, libvdpau, libva, libXv, sqlite
 , yasm, freetype, fontconfig, fribidi
 , makeWrapper, libXext, libGLU, qttools, qtbase
@@ -32,7 +32,15 @@ stdenv.mkDerivation rec {
     sha256 = "1bf4l9qwxq3smc1mx5pybydc742a4qqsk17z50j9550d9iwnn7gy";
   };
 
-  patches = [ ./dynamic_install_dir.patch ./bootstrap_logging.patch ];
+  patches = [
+    ./dynamic_install_dir.patch
+    ./bootstrap_logging.patch
+    # glibc 2.27 compat
+    (fetchpatch {
+      url = https://github.com/mean00/avidemux2/commit/afdd9c4b876d77a4974d3fa7d9f25caeffbdf13d.patch;
+      sha256 = "0mf8vpfdqybziqsfyvxwcdm3zsmnp64293icinhvfpq9xp5b6vn6";
+    })
+  ];
 
   nativeBuildInputs = [ yasm cmake pkgconfig ];
   buildInputs = [
@@ -79,7 +87,8 @@ stdenv.mkDerivation rec {
     homepage = http://fixounet.free.fr/avidemux/;
     description = "Free video editor designed for simple video editing tasks";
     maintainers = with maintainers; [ viric abbradar ma27 ];
-    platforms = platforms.linux;
+    # "CPU not supported" errors on AArch64
+    platforms = [ "i686-linux" "x86_64-linux" ];
     license = licenses.gpl2;
   };
 }
diff --git a/pkgs/applications/video/avxsynth/default.nix b/pkgs/applications/video/avxsynth/default.nix
index 06dcaf31b44..3a595da96d0 100644
--- a/pkgs/applications/video/avxsynth/default.nix
+++ b/pkgs/applications/video/avxsynth/default.nix
@@ -38,5 +38,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2Plus;
     maintainers = with maintainers; [ codyopel viric ];
     platforms = platforms.linux;
+    broken = true; # 2018-04-10
   };
 }
diff --git a/pkgs/applications/video/clipgrab/default.nix b/pkgs/applications/video/clipgrab/default.nix
index e9f172aad76..031202ad646 100644
--- a/pkgs/applications/video/clipgrab/default.nix
+++ b/pkgs/applications/video/clipgrab/default.nix
@@ -2,10 +2,10 @@
 
 stdenv.mkDerivation rec {
   name = "clipgrab-${version}";
-  version = "3.6.2";
+  version = "3.6.8";
 
   src = fetchurl {
-    sha256 = "0n7bhwkzknjpp54h54hxv1s8nsmmb7cwwf1aqpbcsnd7y6cv28nm";
+    sha256 = "0agp97g79mlqcwfz2xk5rdxw4kx0hm92xikdspbpxlfji1mkh10p";
     # The .tar.bz2 "Download" link is a binary blob, the source is the .tar.gz!
     url = "https://download.clipgrab.org/${name}.tar.gz";
   };
diff --git a/pkgs/applications/video/dvb-apps/default.nix b/pkgs/applications/video/dvb-apps/default.nix
index 8ceb7875be4..1e671b4ea7b 100644
--- a/pkgs/applications/video/dvb-apps/default.nix
+++ b/pkgs/applications/video/dvb-apps/default.nix
@@ -19,5 +19,6 @@ stdenv.mkDerivation {
     homepage = https://linuxtv.org/;
     platforms = stdenv.lib.platforms.linux;
     license = stdenv.lib.licenses.gpl2;
+    broken = true; # 2018-04-10
   };
 }
diff --git a/pkgs/applications/video/handbrake/default.nix b/pkgs/applications/video/handbrake/default.nix
index 3e796275907..9f1dfb2d6b0 100644
--- a/pkgs/applications/video/handbrake/default.nix
+++ b/pkgs/applications/video/handbrake/default.nix
@@ -1,54 +1,59 @@
-# Handbrake normally uses its own copies of the libraries it uses, for better
-# control over library patches.
+# Upstream distributes HandBrake with bundle of according versions of libraries and patches to them.
 #
-# This derivation patches HB so it doesn't do that. The relevant patches
-# are added to the Nix packages and proposed upstream instead. In several cases
-# upstream already incorporated these patches.
-# This has the benefits of providing improvements to other packages,
-# making licenses more clear and reducing compile time/install size.
+# Derivation patches HandBrake to use our closure.
 #
-# Only tested on Linux
 
-{ stdenv, lib, fetchFromGitHub,
+# TODO: Release 1.2.0 would switch LibAV to FFmpeg.
+
+{ stdenv, lib, fetchurl,
   python2, pkgconfig, yasm, harfbuzz, zlib,
   autoconf, automake, cmake, libtool, m4, jansson,
   libass, libiconv, libsamplerate, fribidi, libxml2, bzip2,
-  libogg, libopus, libtheora, libvorbis, libdvdcss, a52dec, fdk_aac,
-  lame, ffmpeg, libdvdread, libdvdnav, libbluray,
+  libogg, libopus, libtheora, libvorbis, libdvdcss, a52dec,
+  lame, libdvdread, libdvdnav, libbluray,
   mp4v2, mpeg2dec, x264, x265, libmkv,
   fontconfig, freetype, hicolor-icon-theme,
   glib, gtk3, intltool, libnotify,
   gst_all_1, dbus-glib, udev, libgudev, libvpx,
-  useGtk ? true, wrapGAppsHook ? null, libappindicator-gtk3 ? null
+  useGtk ? true, wrapGAppsHook ? null, libappindicator-gtk3 ? null,
+  useFfmpeg ? false, libav_12 ? null, ffmpeg ? null,
+  useFdk ? false, fdk_aac ? null
 }:
 
 stdenv.mkDerivation rec {
-  version = "1.0.7";
+  version = "1.1.0";
   name = "handbrake-${version}";
 
-  src = fetchFromGitHub {
-    owner  = "HandBrake";
-    repo   = "HandBrake";
-    rev    = "${version}";
-    sha256 = "1pdrvicq40s8n23n6k8k097kkjs3ah5wbz1mvxnfy3h2mh5rwk57";
+  src = fetchurl {
+    url = ''https://download2.handbrake.fr/${version}/HandBrake-${version}-source.tar.bz2'';
+    sha256 = "1nj0ihflisxcfkmsk7fm3b5cn7cpnpg66dk2lkp2ip6qidppqbm0";
   };
 
+  patched_libav_12 = libav_12.overrideAttrs (super: {
+    # NOTE: 2018-04-26: HandBrake compilation (1.1.0) requires a patch of LibAV (12.3) from HandBrake team. This patch not went LibAV upstream.
+    patches = (super.patches or []) ++ [(
+      fetchurl {
+        url = ''https://raw.githubusercontent.com/HandBrake/HandBrake/9e1f245708a157231c427c0ef9b91729d59a30e1/contrib/ffmpeg/A21-mp4-sdtp.patch'';
+        sha256 = "14grzyvb1qbb90k31ibabnwmwnrc48ml6h2z0rjamdv83q45jq4g";
+      })
+    ];
+  });
+
   nativeBuildInputs = [
     cmake python2 pkgconfig yasm autoconf automake libtool m4
-  ] ++ (lib.optionals useGtk [
-    intltool wrapGAppsHook
-  ]);
+  ] ++ lib.optionals useGtk [ intltool wrapGAppsHook ];
 
   buildInputs = [
     fribidi fontconfig freetype jansson zlib
     libass libiconv libsamplerate libxml2 bzip2
-    libogg libopus libtheora libvorbis libdvdcss a52dec libmkv fdk_aac
-    lame ffmpeg libdvdread libdvdnav libbluray mp4v2 mpeg2dec x264 x265 libvpx
-  ] ++ (lib.optionals useGtk [
+    libogg libopus libtheora libvorbis libdvdcss a52dec libmkv
+    lame libdvdread libdvdnav libbluray mp4v2 mpeg2dec x264 x265 libvpx
+  ] ++ lib.optionals useGtk [
     glib gtk3 libappindicator-gtk3 libnotify
     gst_all_1.gstreamer gst_all_1.gst-plugins-base dbus-glib udev
     libgudev
-  ]);
+  ] ++ (if useFfmpeg then [ ffmpeg ] else [ patched_libav_12 ])
+  ++ lib.optional useFdk fdk_aac;
 
   dontUseCmakeConfigure = true;
 
@@ -57,13 +62,6 @@ stdenv.mkDerivation rec {
   preConfigure = ''
     patchShebangs scripts
 
-    echo 'TAG=${version}' > version.txt
-
-    # `configure` errors out when trying to read the current year which is too low
-    substituteInPlace make/configure.py \
-      --replace developer release \
-      --replace 'repo.date.strftime("%Y-%m-%d %H:%M:%S")' '""'
-
     substituteInPlace libhb/module.defs \
       --replace /usr/include/libxml2 ${libxml2.dev}/include/libxml2
 
@@ -75,8 +73,8 @@ stdenv.mkDerivation rec {
   configureFlags = [
     "--disable-df-fetch"
     "--disable-df-verify"
-    "--enable-fdk-aac"
     (if useGtk then "--disable-gtk-update-checks" else "--disable-gtk")
+    (if useFdk then "--enable-fdk-aac"            else "")
   ];
 
   NIX_LDFLAGS = [
@@ -94,14 +92,17 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     homepage = http://handbrake.fr/;
-    description = "A tool for ripping DVDs into video files";
+    description = "A tool for converting video files and ripping DVDs";
     longDescription = ''
-      Handbrake is a versatile transcoding DVD ripper. This package
-      provides the cli HandbrakeCLI and the GTK+ version ghb.
+      Tool for converting and remuxing video files
+      into selection of modern and widely supported codecs
+      and containers. Very versatile and customizable.
+      Package provides:
+      CLI - `HandbrakeCLI`
+      GTK+ GUI - `ghb`
     '';
     license = licenses.gpl2;
-    maintainers = with maintainers; [ wmertens ];
-    # Not tested on anything else
+    maintainers = with maintainers; [ Anton-Latukha wmertens ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/video/kazam/bug_1190693.patch b/pkgs/applications/video/kazam/bug_1190693.patch
deleted file mode 100644
index 9f00c6b6079..00000000000
--- a/pkgs/applications/video/kazam/bug_1190693.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-=== modified file 'kazam/frontend/indicator.py'
---- a/kazam/frontend/indicator.py	2013-01-26 01:53:53 +0000
-+++ b/kazam/frontend/indicator.py	2013-06-13 18:18:37 +0000
-@@ -291,3 +291,9 @@
-         def start_recording(self):
-             logger.debug("Recording started.")
-             self.indicator.set_from_icon_name("kazam-recording")
-+
-+        def hide_it(self):
-+            self.indicator.set_visible(False)
-+
-+        def show_it(self):
-+            self.indicator.set_visible(True)
-
diff --git a/pkgs/applications/video/kazam/datadir.patch b/pkgs/applications/video/kazam/datadir.patch
deleted file mode 100644
index 114d4228be2..00000000000
--- a/pkgs/applications/video/kazam/datadir.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/bin/kazam       2014-02-03 23:11:38.465614061 +0100
-+++ b/bin/kazam-1     2014-02-03 23:12:28.447058700 +0100
-@@ -68,7 +68,7 @@
-         # when base install path is not /usr
-         curpath = os.path.abspath(__file__)
-         curpath = os.path.realpath(curpath)
--        datadir = curpath.split('bin/')[0] + "share/kazam/"
-+        datadir = os.path.realpath(os.path.join(curpath, "./../../", "share/kazam/"))
- 
-     try:
-         import platform
diff --git a/pkgs/applications/video/kazam/default.nix b/pkgs/applications/video/kazam/default.nix
index 862032572dc..9ffd62d068a 100644
--- a/pkgs/applications/video/kazam/default.nix
+++ b/pkgs/applications/video/kazam/default.nix
@@ -1,50 +1,45 @@
-{ stdenv, fetchurl, python3Packages, gst_all_1, makeWrapper, gobjectIntrospection
-, gtk3, libwnck3, keybinder, intltool, libcanberra-gtk2 }:
+{ stdenv, fetchurl, substituteAll, python3, gst_all_1, wrapGAppsHook, gobjectIntrospection
+, gtk3, libwnck3, keybinder3, intltool, libcanberra-gtk3, libappindicator-gtk3, libpulseaudio }:
 
-
-python3Packages.buildPythonApplication rec {
+python3.pkgs.buildPythonApplication rec {
   name = "kazam-${version}";
-  version = "1.4.3";
+  version = "1.4.5";
   namePrefix = "";
 
   src = fetchurl {
     url = "https://launchpad.net/kazam/stable/${version}/+download/kazam-${version}.tar.gz";
-    sha256 = "00bcn0yj9xrv87sf6xd3wpilsjgjpsj15zzpjh351ffpjnr0ica8";
+    sha256 = "1qygnrvm6aqixbyivhssp70hs0llxwk7lh3j7idxa2jbkk06hj4f";
   };
 
-  # TODO: keybinder, appindicator3
-  buildInputs = with python3Packages;
-    [ pygobject3 pyxdg pycairo gst_all_1.gstreamer gst_all_1.gst-plugins-base
-      gst_all_1.gst-plugins-good gobjectIntrospection gtk3 libwnck3 distutils_extra
-      intltool dbus-python ];
-
-  # TODO: figure out why PYTHONPATH is not passed automatically for those programs
-  pythonPath = with python3Packages;
-    [ pygobject3 pyxdg pycairo dbus-python ];
-
-  patches = [ ./datadir.patch ./bug_1190693.patch ];
-  prePatch = ''
-    rm setup.cfg
-    substituteInPlace kazam/backend/grabber.py --replace "/usr/bin/canberra-gtk-play" "${libcanberra-gtk2}/bin/canberra-gtk-play"
-  '';
+  nativeBuildInputs = [ gobjectIntrospection 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
+  ];
+
+  propagatedBuildInputs = with python3.pkgs; [ pygobject3 pyxdg pycairo dbus-python ];
+
+  patches = [
+    # Fix paths
+    (substituteAll {
+      src = ./fix-paths.patch;
+      libcanberra = libcanberra-gtk3;
+      inherit libpulseaudio;
+    })
+    # Fix compability with Python 3.4
+    (fetchurl {
+      url = https://sources.debian.org/data/main/k/kazam/1.4.5-2/debian/patches/configparser_api_changes.patch;
+      sha256 = "0yvmipnh98s7y07cp1f113l0qqfw65k13an96byq707z3ymv1c2h";
+    })
+  ];
 
   # no tests
   doCheck = false;
 
-  preFixup = ''
-    wrapProgram $out/bin/kazam \
-      --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \
-      --prefix LD_LIBRARY_PATH ":" "${stdenv.lib.makeLibraryPath [ gtk3 gst_all_1.gstreamer keybinder ]}" \
-      --prefix GST_PLUGIN_SYSTEM_PATH : "$GST_PLUGIN_SYSTEM_PATH" \
-      --prefix XDG_DATA_DIRS : "${gtk3.out}/share" \
-      --set GST_REGISTRY "/tmp/kazam.gstreamer.registry";
-  '';
-
-
   meta = with stdenv.lib; {
-    description = "Cross-platform, Friend-2-Friend and secure decentralised communication platform";
+    description = "A screencasting program created with design in mind";
     homepage = https://code.launchpad.net/kazam;
-    #license = licenses.bsd2;
+    license = licenses.lgpl3;
     platforms = platforms.linux;
     maintainers = [ maintainers.domenkozar ];
   };
diff --git a/pkgs/applications/video/kazam/fix-paths.patch b/pkgs/applications/video/kazam/fix-paths.patch
new file mode 100644
index 00000000000..43e360830ab
--- /dev/null
+++ b/pkgs/applications/video/kazam/fix-paths.patch
@@ -0,0 +1,22 @@
+--- a/kazam/backend/grabber.py
++++ b/kazam/backend/grabber.py
+@@ -72,7 +72,7 @@
+         #
+         if prefs.shutter_sound and (not self.god):
+             soundfile = os.path.join(prefs.datadir, 'sounds', prefs.sound_files[prefs.shutter_type])
+-            subprocess.call(['/usr/bin/canberra-gtk-play', '-f', soundfile])
++            subprocess.call(['@libcanberra@/bin/canberra-gtk-play', '-f', soundfile])
+ 
+         if self.xid:
+             if prefs.capture_borders_pic:
+--- a/kazam/pulseaudio/ctypes_pulseaudio.py
++++ b/kazam/pulseaudio/ctypes_pulseaudio.py
+@@ -20,7 +20,7 @@
+ #       MA 02110-1301, USA.
+ 
+ from ctypes import *
+-PA = CDLL('libpulse.so.0')
++PA = CDLL('@libpulseaudio@/lib/libpulse.so.0')
+ 
+ #
+ # Pulse Audio constants and defines
diff --git a/pkgs/applications/video/kodi/default.nix b/pkgs/applications/video/kodi/default.nix
index 8a40912a1d6..64119d2dfc5 100644
--- a/pkgs/applications/video/kodi/default.nix
+++ b/pkgs/applications/video/kodi/default.nix
@@ -13,7 +13,7 @@
 , libmpeg2, libsamplerate, libmad
 , libogg, libvorbis, flac, libxslt
 , lzo, libcdio, libmodplug, libass, libbluray
-, sqlite, mysql, nasm, gnutls, libva, wayland
+, sqlite, mysql, nasm, gnutls, libva, libdrm, wayland
 , curl, bzip2, zip, unzip, glxinfo, xdpyinfo
 , libcec, libcec_platform, dcadec, libuuid
 , libcrossguid, libmicrohttpd
@@ -121,7 +121,7 @@ in stdenv.mkDerivation rec {
       gnutls libidn libtasn1 nasm p11-kit
       libxml2 yasm python2
       boost libmicrohttpd
-      gettext pcre-cpp yajl fribidi libva
+      gettext pcre-cpp yajl fribidi libva libdrm
       openssl gperf tinyxml2 taglib libssh swig jre
       libX11 xproto inputproto libXt libXmu libXext xextproto
       libXinerama libXrandr randrproto libXtst libXfixes fixesproto
diff --git a/pkgs/applications/video/kodi/plugins.nix b/pkgs/applications/video/kodi/plugins.nix
index 6bcba1e927f..01e134afee6 100644
--- a/pkgs/applications/video/kodi/plugins.nix
+++ b/pkgs/applications/video/kodi/plugins.nix
@@ -1,5 +1,5 @@
 { stdenv, lib, callPackage, fetchurl, fetchFromGitHub, unzip
-, steam, libusb, pcre-cpp, jsoncpp, libhdhomerun }:
+, steam, libusb, pcre-cpp, jsoncpp, libhdhomerun, zlib }:
 
 with (callPackage ./commons.nix {});
 
@@ -314,4 +314,28 @@ rec {
     extraBuildInputs = [ jsoncpp libhdhomerun ];
 
   };
+
+  pvr-iptvsimple = mkKodiABIPlugin rec {
+
+    plugin = "pvr-iptvsimple";
+    namespace = "pvr.iptvsimple";
+    version = "2.4.14";
+
+    src = fetchFromGitHub {
+      owner = "kodi-pvr";
+      repo = "pvr.iptvsimple";
+      rev = "2a649d7e21b64c4fa4a8b14c2cc139261eebc7e8";
+      sha256 = "1f1im2gachrxnr3z96h5cg2c13vapgkvkdwvrbl4hxlnyp1a6jyz";
+    };
+
+    meta = with stdenv.lib; {
+      homepage = https://github.com/kodi-pvr/pvr.iptvsimple;
+      description = "Kodi's IPTV Simple client addon";
+      platforms = platforms.all;
+      maintainers = with maintainers; [ ];
+      license = licenses.gpl2Plus;
+    };
+
+    extraBuildInputs = [ zlib ];
+  };
 }
diff --git a/pkgs/applications/video/makemkv/default.nix b/pkgs/applications/video/makemkv/default.nix
index a4b08e1ce47..acc9c88d2ff 100644
--- a/pkgs/applications/video/makemkv/default.nix
+++ b/pkgs/applications/video/makemkv/default.nix
@@ -1,26 +1,26 @@
 { stdenv, fetchurl
-, openssl, qt4, libGLU_combined, zlib, pkgconfig, libav
+, openssl, qt5, libGLU_combined, zlib, pkgconfig, libav
 }:
 
 stdenv.mkDerivation rec {
   name = "makemkv-${ver}";
-  ver = "1.10.8";
+  ver = "1.12.2";
   builder = ./builder.sh;
 
   src_bin = fetchurl {
     url = "http://www.makemkv.com/download/makemkv-bin-${ver}.tar.gz";
-    sha256 = "b7861aa7b03203f50d2ce3130f805c4b0406d13aec597648050349fa8b084b29";
+    sha256 = "0ylybq0776am5yy064b55q0jja1q1p9dscwmn7f1p3igzv15rypj";
   };
 
   src_oss = fetchurl {
     url = "http://www.makemkv.com/download/makemkv-oss-${ver}.tar.gz";
-    sha256 = "d17cfd916a9bdda35b1065bce86a48a987caf9ffb4d6861609458f9f312603c7";
+    sha256 = "063rgb88zbh4zwysyhjn4awykcnc90qgsx6d8ggm27wy849306v1";
   };
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [openssl qt4 libGLU_combined zlib libav];
+  buildInputs = [openssl qt5.qtbase libGLU_combined zlib libav];
 
-  libPath = stdenv.lib.makeLibraryPath [stdenv.cc.cc openssl libGLU_combined qt4 zlib ]
+  libPath = stdenv.lib.makeLibraryPath [stdenv.cc.cc openssl libGLU_combined qt5.qtbase zlib ]
           + ":" + stdenv.cc.cc + "/lib64";
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/video/minitube/default.nix b/pkgs/applications/video/minitube/default.nix
index 8b94204cd62..3b8dce90243 100644
--- a/pkgs/applications/video/minitube/default.nix
+++ b/pkgs/applications/video/minitube/default.nix
@@ -1,21 +1,23 @@
-{ stdenv, fetchFromGitHub, makeWrapper, phonon, phonon-backend-vlc, qt4, qmake4Hook
+{ stdenv, fetchFromGitHub, makeWrapper, phonon, phonon-backend-vlc, qtbase, qmake
+, qtdeclarative, qttools
+
 # "Free" key generated by nckx <github@tobias.gr>. I no longer have a Google
 # account. You'll need to generate (and please share :-) a new one if it breaks.
 , withAPIKey ? "AIzaSyBtFgbln3bu1swQC-naMxMtKh384D3xJZE" }:
 
 stdenv.mkDerivation rec {
   name = "minitube-${version}";
-  version = "2.4";
+  version = "2.9";
 
   src = fetchFromGitHub {
-    sha256 = "0mm8v2vpspwxh2fqaykb381v6r9apywc1b0x8jkcbp7s43w10lp5";
+    sha256 = "11zkmwqadlgrrghs3rxq0h0fllfnyd3g09d7gdd6vd9r1a1yz73f";
     rev = version;
     repo = "minitube";
     owner = "flaviotordini";
   };
 
-  buildInputs = [ phonon phonon-backend-vlc qt4 ];
-  nativeBuildInputs = [ makeWrapper qmake4Hook ];
+  buildInputs = [ phonon phonon-backend-vlc qtbase qtdeclarative qttools ];
+  nativeBuildInputs = [ makeWrapper qmake ];
 
   qmakeFlags = [ "DEFINES+=APP_GOOGLE_API_KEY=${withAPIKey}" ];
 
@@ -23,7 +25,7 @@ stdenv.mkDerivation rec {
 
   postInstall = ''
     wrapProgram $out/bin/minitube \
-      --prefix QT_PLUGIN_PATH : "${phonon-backend-vlc}/lib/kde4/plugins"
+      --prefix QT_PLUGIN_PATH : "${phonon-backend-vlc}/lib/qt-5.${stdenv.lib.versions.minor qtbase.version}/plugins"
   '';
 
   meta = with stdenv.lib; {
@@ -36,5 +38,6 @@ stdenv.mkDerivation rec {
     homepage = https://flavio.tordini.org/minitube;
     license = licenses.gpl3Plus;
     platforms = platforms.linux;
+    maintainers = with maintainers; [ ma27 ];
   };
 }
diff --git a/pkgs/applications/video/mkcast/default.nix b/pkgs/applications/video/mkcast/default.nix
deleted file mode 100644
index 2d5d2d3b102..00000000000
--- a/pkgs/applications/video/mkcast/default.nix
+++ /dev/null
@@ -1,37 +0,0 @@
-{ stdenv, fetchFromGitHub, wmctrl, pythonPackages, byzanz
-, xdpyinfo, makeWrapper, gtk2, xorg, gnome3 }:
-
-stdenv.mkDerivation rec {
-  name = "mkcast-2015-03-13";
-
-  src = fetchFromGitHub {
-    owner = "KeyboardFire";
-    repo = "mkcast";
-    rev = "cac22cb6c6f8ec2006339698af5e9199331759e0";
-    sha256 = "15wp3n3z8gw7kjdxs4ahda17n844awhxsqbql5ipsdhqfxah2d8p";
-  };
-
-  buildInputs = with pythonPackages; [ makeWrapper pygtk gtk2 xlib ];
-
-  makeFlags = [ "PREFIX=$(out)" ];
-
-  postInstall = ''
-    for f in $out/bin/*; do #*/
-      wrapProgram $f --prefix PATH : "${stdenv.lib.makeBinPath [ xdpyinfo wmctrl byzanz gnome3.gnome-terminal ]}:$out/bin"
-    done
-
-    rm -r screenkey/.bzr
-    cp -R screenkey $out/bin
-
-    wrapProgram $out/bin/screenkey/screenkey \
-      --prefix PATH : "${xorg.xmodmap}/bin"\
-      --prefix PYTHONPATH : "$PYTHONPATH"
-  '';
-
-  meta = with stdenv.lib; {
-    description = "A tool for creating GIF screencasts of a terminal, with key presses overlaid";
-    homepage = https://github.com/KeyboardFire/mkcast;
-    platforms = platforms.linux;
-    maintainers = with maintainers; [ domenkozar pSub ];
-  };
-}
diff --git a/pkgs/applications/video/mkvtoolnix/default.nix b/pkgs/applications/video/mkvtoolnix/default.nix
index 7afc3b502ad..544e4917f45 100644
--- a/pkgs/applications/video/mkvtoolnix/default.nix
+++ b/pkgs/applications/video/mkvtoolnix/default.nix
@@ -12,13 +12,13 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   name = "mkvtoolnix-${version}";
-  version = "21.0.0";
+  version = "23.0.0";
 
   src = fetchFromGitLab {
     owner  = "mbunkus";
     repo   = "mkvtoolnix";
     rev    = "release-${version}";
-    sha256 = "06nixp0qqa6g2fv40f7l0i0sqbc7qswpgq4534l98nan08wjbk2r";
+    sha256 = "13n2jvwws87bws483dncvhf9vqsjy3l0lxh7x741g71075299w73";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/video/mpc-qt/default.nix b/pkgs/applications/video/mpc-qt/default.nix
index 80ca213c06c..559972d9e79 100644
--- a/pkgs/applications/video/mpc-qt/default.nix
+++ b/pkgs/applications/video/mpc-qt/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "mpc-qt-${version}";
-  version = "17.11";
+  version = "18.03";
 
   src = fetchFromGitHub {
     owner = "cmdrkotori";
     repo = "mpc-qt";
     rev = "v${version}";
-    sha256 = "1vi4zsmbzxj6ms8wls9zv15vrskdrhgnj6l41m1fk4scs4jzvbkm";
+    sha256 = "0mhzdgjgv08cvnscbfndpr0s8ndbcf91b61zfqspa1qv4wlqd716";
   };
 
   nativeBuildInputs = [ pkgconfig qmake qttools ];
diff --git a/pkgs/applications/video/mpv/default.nix b/pkgs/applications/video/mpv/default.nix
index b026da6a632..58628aa1f8e 100644
--- a/pkgs/applications/video/mpv/default.nix
+++ b/pkgs/applications/video/mpv/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, fetchFromGitHub, fetchpatch, makeWrapper
-, docutils, perl, pkgconfig, python3, which, ffmpeg
+, docutils, perl, pkgconfig, python3, which, ffmpeg_4
 , freefont_ttf, freetype, libass, libpthreadstubs
 , lua, luasocket, libuchardet, libiconv ? null, darwin
 
@@ -32,6 +32,7 @@
 , youtubeSupport     ? true,  youtube-dl    ? null
 , vaapiSupport       ? true,  libva         ? null
 , drmSupport         ? true,  libdrm        ? null
+, openalSupport      ? true,  openalSoft   ? null
 , vapoursynthSupport ? false, vapoursynth   ? null
 , archiveSupport     ? false, libarchive    ? null
 , jackaudioSupport   ? false, libjack2      ? null
@@ -59,6 +60,7 @@ assert dvdnavSupport      -> available libdvdnav;
 assert bluraySupport      -> available libbluray;
 assert speexSupport       -> available speex;
 assert theoraSupport      -> available libtheora;
+assert openalSupport      -> available openalSoft;
 assert pulseSupport       -> available libpulseaudio;
 assert bs2bSupport        -> available libbs2b;
 assert cacaSupport        -> available libcaca;
@@ -73,35 +75,23 @@ assert drmSupport         -> available libdrm;
 let
   # Purity: Waf is normally downloaded by bootstrap.py, but
   # for purity reasons this behavior should be avoided.
-  wafVersion = "1.9.8";
+  wafVersion = "1.9.15";
   waf = fetchurl {
-    urls = [ "http://waf.io/waf-${wafVersion}"
+    urls = [ "https://waf.io/waf-${wafVersion}"
              "http://www.freehackers.org/~tnagy/release/waf-${wafVersion}" ];
-    sha256 = "1gsd3zza1wixv2vhvq3inp4vb71i41a1kbwqnwixhnvdmcmw8z8n";
+    sha256 = "0qrnlv91cb0v221w8a0fi4wxm99q2hpz10rkyyk4akcsvww6xrw5";
   };
 in stdenv.mkDerivation rec {
   name = "mpv-${version}";
-  version = "0.27.0";
+  version = "0.28.2";
 
   src = fetchFromGitHub {
     owner = "mpv-player";
     repo  = "mpv";
     rev    = "v${version}";
-    sha256 = "0746kmsg69675y5c70vn8imcr9d1zpjz97f27xr1vx00yjpd518v";
+    sha256 = "0bldxhqjz7z9fgvx4k40l49awpay17fscp8ypswb459yicy8npmg";
   };
 
-  patches = [
-    (fetchpatch {
-      url = "https://github.com/mpv-player/mpv/commit/2ecf240b1cd20875991a5b18efafbe799864ff7f.patch";
-      sha256 = "1sr0770rvhsgz8d7ysr9qqp4g9gwdhgj8g3rgnz90wl49lgrykhb";
-    })
-    (fetchpatch {
-      name = "CVE-2018-6360.patch";
-      url = https://salsa.debian.org/multimedia-team/mpv/raw/ddface85a1adfdfe02ffb25b5ac7fac715213b97/debian/patches/09_ytdl-hook-whitelist-protocols.patch;
-      sha256 = "1gb1lkjbr8rv4v9ji6w5z97kbxbi16dbwk2255ajbvngjrc7vivv";
-    })
-  ];
-
   postPatch = ''
     patchShebangs ./TOOLS/
   '';
@@ -118,6 +108,7 @@ in stdenv.mkDerivation rec {
     (enableFeature archiveSupport "libarchive")
     (enableFeature dvdreadSupport "dvdread")
     (enableFeature dvdnavSupport "dvdnav")
+    (enableFeature openalSupport "openal")
     (enableFeature vaapiSupport "vaapi")
     (enableFeature waylandSupport "wayland")
     (enableFeature stdenv.isLinux "dvbin")
@@ -133,7 +124,7 @@ in stdenv.mkDerivation rec {
   ];
 
   buildInputs = [
-    ffmpeg freetype libass libpthreadstubs
+    ffmpeg_4 freetype libass libpthreadstubs
     lua luasocket libuchardet
   ] ++ optional alsaSupport        alsaLib
     ++ optional xvSupport          libXv
@@ -148,6 +139,8 @@ in stdenv.mkDerivation rec {
     ++ optional vdpauSupport       libvdpau
     ++ optional speexSupport       speex
     ++ optional bs2bSupport        libbs2b
+    ++ optional openalSupport      openalSoft
+    ++ optional (openalSupport && stdenv.isDarwin) darwin.apple_sdk.frameworks.OpenAL
     ++ optional libpngSupport      libpng
     ++ optional youtubeSupport     youtube-dl
     ++ optional sdl2Support        SDL2
@@ -200,7 +193,7 @@ in stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "A media player that supports many video formats (MPlayer and mplayer2 fork)";
-    homepage = http://mpv.io;
+    homepage = https://mpv.io;
     license = licenses.gpl2Plus;
     maintainers = with maintainers; [ AndersonTorres fuuzetsu fpletz ];
     platforms = platforms.darwin ++ platforms.linux;
diff --git a/pkgs/applications/video/mythtv/default.nix b/pkgs/applications/video/mythtv/default.nix
index 6f7ebb8c20a..1be4fc252fd 100644
--- a/pkgs/applications/video/mythtv/default.nix
+++ b/pkgs/applications/video/mythtv/default.nix
@@ -1,27 +1,32 @@
-{ stdenv, fetchurl, which, qt4, xlibsWrapper, libpulseaudio, fftwSinglePrec
-, lame, zlib, libGLU_combined, alsaLib, freetype, perl, pkgconfig
-, libX11, libXv, libXrandr, libXvMC, libXinerama, libXxf86vm, libXmu
-, yasm, libuuid, taglib, libtool, autoconf, automake, file
+{ stdenv, fetchFromGitHub, which, qtbase, qtwebkit, qtscript, xlibsWrapper
+, libpulseaudio, fftwSinglePrec , lame, zlib, libGLU_combined, alsaLib, freetype
+, perl, pkgconfig , libX11, libXv, libXrandr, libXvMC, libXinerama, libXxf86vm
+, libXmu , yasm, libuuid, taglib, libtool, autoconf, automake, file, exiv2
+, linuxHeaders
 }:
 
 stdenv.mkDerivation rec {
   name = "mythtv-${version}";
-  version = "0.27.4";
+  version = "29.1";
 
-  src = fetchurl {
-    url = "https://github.com/MythTV/mythtv/archive/v${version}.tar.gz";
-    sha256 = "0nrn4fbkkzh43n7jgbv21i92sb4z4yacwj9yj6m3hjbffzy4ywqz";
+  src = fetchFromGitHub {
+    owner = "MythTV";
+    repo = "mythtv";
+    rev = "v${version}";
+    sha256 = "0pjxv4bmq8h285jsr02svgaa03614arsyk12fn9d4rndjsi2cc3x";
   };
 
-  sourceRoot = "${name}/mythtv";
+  setSourceRoot = ''sourceRoot=$(echo */mythtv)'';
 
   buildInputs = [
-    freetype qt4 lame zlib xlibsWrapper libGLU_combined perl alsaLib libpulseaudio fftwSinglePrec
-    libX11 libXv libXrandr libXvMC libXmu libXinerama libXxf86vm libXmu
-    libuuid taglib
+    freetype qtbase qtwebkit qtscript lame zlib xlibsWrapper libGLU_combined
+    perl alsaLib libpulseaudio fftwSinglePrec libX11 libXv libXrandr libXvMC
+    libXmu libXinerama libXxf86vm libXmu libuuid taglib exiv2
   ];
   nativeBuildInputs = [ pkgconfig which yasm libtool autoconf automake file ];
 
+  configureFlags = [ "--dvb-path=${linuxHeaders}/include" ];
+
   meta = with stdenv.lib; {
     homepage = https://www.mythtv.org/;
     description = "Open Source DVR";
diff --git a/pkgs/applications/video/obs-studio/default.nix b/pkgs/applications/video/obs-studio/default.nix
index 1c7a72d95ae..f3e2072d6da 100644
--- a/pkgs/applications/video/obs-studio/default.nix
+++ b/pkgs/applications/video/obs-studio/default.nix
@@ -29,13 +29,13 @@ let
   optional = stdenv.lib.optional;
 in stdenv.mkDerivation rec {
   name = "obs-studio-${version}";
-  version = "21.0.2";
+  version = "21.1.1";
 
   src = fetchFromGitHub {
     owner = "jp9000";
     repo = "obs-studio";
     rev = "${version}";
-    sha256 = "1yyvxqzxy9dz6rmjcrdn90nfaff4f38mfz2gsq535cr59sg3f8jc";
+    sha256 = "11gr4szjypihp0562r23pvkmaln6vjz1z4y4ls34bmc8n9ixrdcv";
   };
 
   patches = [ ./find-xcb.patch ];
diff --git a/pkgs/applications/video/omxplayer/default.nix b/pkgs/applications/video/omxplayer/default.nix
index 520451df400..00a419d0a85 100644
--- a/pkgs/applications/video/omxplayer/default.nix
+++ b/pkgs/applications/video/omxplayer/default.nix
@@ -12,9 +12,13 @@ let
       sha256 = "03s1zsprz5p6gjgwwqcf7b6cvzwwid6l8k7bamx9i0f1iwkgdm0j";
     };
     
+    configurePlatforms = [];
     configureFlags = [
-      "--arch=arm"
+      "--arch=${hostPlatform.parsed.cpu.name}"
+    ] ++ stdenv.lib.optionals stdenv.hostPlatform.isAarch32 [
+      # TODO be better with condition
       "--cpu=arm1176jzf-s"
+    ] ++ [
       "--disable-muxers"
       "--enable-muxer=spdif"
       "--enable-muxer=adts"
@@ -42,19 +46,14 @@ let
       "--enable-hardcoded-tables"
       "--disable-runtime-cpudetect"
       "--disable-debug"
+      "--arch=${hostPlatform.parsed.cpu.name}"
+      "--target_os=${hostPlatform.parsed.kernel.name}"
+    ] ++ stdenv.lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [
+      "--cross-prefix=${stdenv.cc.targetPrefix}"
+      "--enable-cross-compile"
     ];
 
     enableParallelBuilding = true;
-      
-    crossAttrs = {
-      configurePlatforms = [];
-      configureFlags = configureFlags ++ [
-        "--cross-prefix=${stdenv.cc.targetPrefix}"
-        "--enable-cross-compile"
-        "--target_os=linux"
-        "--arch=${hostPlatform.parsed.cpu.name}"
-        ];
-    };
 
     meta = {
       homepage = http://www.ffmpeg.org/;
@@ -83,5 +82,6 @@ stdenv.mkDerivation rec {
     homepage = https://github.com/huceke/omxplayer;
     description = "Commandline OMX player for the Raspberry Pi";
     license = stdenv.lib.licenses.gpl2Plus;
+    platforms = stdenv.lib.platforms.arm;
   };
 }
diff --git a/pkgs/applications/video/openshot-qt/libopenshot-audio.nix b/pkgs/applications/video/openshot-qt/libopenshot-audio.nix
index 6591af9d0d8..a0118bea92f 100644
--- a/pkgs/applications/video/openshot-qt/libopenshot-audio.nix
+++ b/pkgs/applications/video/openshot-qt/libopenshot-audio.nix
@@ -4,13 +4,13 @@
 with stdenv.lib;
 stdenv.mkDerivation rec {
   name = "libopenshot-audio-${version}";
-  version = "0.1.4";
+  version = "0.1.5";
 
   src = fetchFromGitHub {
     owner = "OpenShot";
     repo = "libopenshot-audio";
     rev = "v${version}";
-    sha256 = "07615vacbvi08pzm4lxfckfwib2xcfdjaggpda58hy8nr0677fzq";
+    sha256 = "0rn87jxyfq1yip1lb2255l5ilkakkqg9rn0lr0h6dn2xrmlbmg8l";
   };
 
   nativeBuildInputs =
diff --git a/pkgs/applications/video/openshot-qt/libopenshot.nix b/pkgs/applications/video/openshot-qt/libopenshot.nix
index 02a19c935e7..f84e2e83761 100644
--- a/pkgs/applications/video/openshot-qt/libopenshot.nix
+++ b/pkgs/applications/video/openshot-qt/libopenshot.nix
@@ -8,13 +8,13 @@
 with stdenv.lib;
 stdenv.mkDerivation rec {
   name = "libopenshot-${version}";
-  version = "0.1.7";
+  version = "0.1.9";
 
   src = fetchFromGitHub {
     owner = "OpenShot";
     repo = "libopenshot";
     rev = "v${version}";
-    sha256 = "1dk40qild8d3s99p2kkm0mjvxfxrz2wns7ij1brzqmcdnaxqdhlp";
+    sha256 = "0c7q5cfnp481ysyvgzznvix7j4licq9knwrb83g3xqs4cx573xr3";
   };
 
   patchPhase = ''
diff --git a/pkgs/applications/video/peek/default.nix b/pkgs/applications/video/peek/default.nix
index 9858edf8238..728f6387ffa 100644
--- a/pkgs/applications/video/peek/default.nix
+++ b/pkgs/applications/video/peek/default.nix
@@ -1,18 +1,22 @@
 { stdenv, fetchFromGitHub, cmake, gettext, libxml2, pkgconfig, txt2man, vala, wrapGAppsHook
-, gsettings-desktop-schemas, gtk3, keybinder3
+, gsettings-desktop-schemas, gtk3, keybinder3, ffmpeg
 }:
 
 stdenv.mkDerivation rec {
   name = "peek-${version}";
-  version = "1.2.2";
+  version = "1.3.1";
 
   src = fetchFromGitHub {
     owner = "phw";
     repo = "peek";
     rev = version;
-    sha256 = "1ihmq914g2h5iw86bigkkblzqimr50yq6z883lzq656xkcayd8gh";
+    sha256 = "1fnvlklmg6s5rs3ql74isa5fgdkqqrpsyf8k2spxj520239l4vgb";
   };
 
+  preConfigure = ''
+    gappsWrapperArgs+=(--prefix PATH : ${stdenv.lib.makeBinPath [ ffmpeg ]})
+  '';
+
   nativeBuildInputs = [ cmake gettext pkgconfig libxml2.bin txt2man vala wrapGAppsHook ];
 
   buildInputs = [ gsettings-desktop-schemas gtk3 keybinder3 ];
diff --git a/pkgs/applications/video/pitivi/default.nix b/pkgs/applications/video/pitivi/default.nix
index 48074a86b55..6c92b9aeed6 100644
--- a/pkgs/applications/video/pitivi/default.nix
+++ b/pkgs/applications/video/pitivi/default.nix
@@ -1,61 +1,80 @@
 { stdenv, fetchurl, pkgconfig, intltool, itstool, wrapGAppsHook
 , python3Packages, gst, gtk3, hicolor-icon-theme
 , gobjectIntrospection, librsvg, gnome3, libnotify
-# for gst-transcoder:
-, which, meson, ninja
+, meson, ninja
 }:
 
 let
-  version = "0.96";
+  version = "0.99";
 
   # 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 {
-    name = "gst-transcoder-1.8.0";
+    version = "1.12.2";
+    name = "gst-transcoder-${version}";
     src = fetchurl {
       name = "${name}.tar.gz";
-      url = "https://github.com/pitivi/gst-transcoder/archive/1.8.0.tar.gz";
-      sha256 = "0iggr6idmp7cmfsf6pkhfl3jq1bkga37jl5prbcl1zapkzi26fg6";
+      url = "https://github.com/pitivi/gst-transcoder/archive/${version}.tar.gz";
+      sha256 = "0cnwmrsd321s02ff91m3j27ydj7f8wks0jvmp5admlhka6z7zxm9";
     };
-  nativeBuildInputs = [ pkgconfig ];
-    buildInputs = [ which meson ninja gobjectIntrospection ]
-      ++ (with gst; [ gstreamer gst-plugins-base ]);
+    nativeBuildInputs = [ pkgconfig meson ninja gobjectIntrospection ];
+    buildInputs = with gst; [ gstreamer gst-plugins-base ];
   };
 
-in stdenv.mkDerivation rec {
+in python3Packages.buildPythonApplication rec {
   name = "pitivi-${version}";
 
   src = fetchurl {
-    url = "mirror://gnome/sources/pitivi/${version}/${name}.tar.xz";
-    sha256 = "115d37mvi32yds8gqj2yidkk6pap7szavhjf2hw0388ynydlc2zs";
+    url = "mirror://gnome/sources/pitivi/${gnome3.versionBranch version}/${name}.tar.xz";
+    sha256 = "0z4gvcr0cvyz2by47f36nqf7x2kfv9wn382w9glhs7l0d7b2zl69";
   };
 
-  nativeBuildInputs = [ pkgconfig intltool itstool wrapGAppsHook ];
+  format = "other";
+
+  patches = [
+    # By default, the build picks up environment variables like PYTHONPATH
+    # and saves them to the generated binary. This would make the build-time
+    # dependencies part of the closure so we remove it.
+    ./prevent-closure-contamination.patch
+  ];
+
+  postPatch = ''
+    patchShebangs ./getenvvar.py
+  '';
+
+  nativeBuildInputs = [ meson ninja pkgconfig intltool itstool wrapGAppsHook ];
 
   buildInputs = [
-    gobjectIntrospection gtk3 librsvg gnome3.gnome-desktop
+    gobjectIntrospection gtk3 librsvg gnome3.gnome-desktop gnome3.gsound
     gnome3.defaultIconTheme
     gnome3.gsettings-desktop-schemas libnotify
     gst-transcoder
   ] ++ (with gst; [
     gstreamer gst-editing-services
-    gst-plugins-base gst-plugins-good
+    gst-plugins-base (gst-plugins-good.override { gtkSupport = true; })
     gst-plugins-bad gst-plugins-ugly gst-libav gst-validate
-  ]) ++ (with python3Packages; [
-    python pygobject3 gst-python pyxdg numpy pycairo matplotlib
-    dbus-python
   ]);
 
+  pythonPath = with python3Packages; [ pygobject3 gst-python pyxdg numpy pycairo matplotlib dbus-python ];
+
+  passthru = {
+    updateScript = gnome3.updateScript {
+      packageName = "pitivi";
+      versionPolicy = "none"; # we are using dev version, since the stable one is too old
+    };
+  };
+
   meta = with stdenv.lib; {
     description = "Non-Linear video editor utilizing the power of GStreamer";
-    homepage    = "http://pitivi.org/";
+    homepage = http://pitivi.org/;
     longDescription = ''
       Pitivi is a video editor built upon the GStreamer Editing Services.
       It aims to be an intuitive and flexible application
       that can appeal to newbies and professionals alike.
     '';
-    license     = licenses.lgpl21Plus;
-    platforms   = platforms.linux;
+    license = licenses.lgpl21Plus;
+    maintainers = with maintainers; [];
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/video/pitivi/prevent-closure-contamination.patch b/pkgs/applications/video/pitivi/prevent-closure-contamination.patch
new file mode 100644
index 00000000000..0025ecd0a4c
--- /dev/null
+++ b/pkgs/applications/video/pitivi/prevent-closure-contamination.patch
@@ -0,0 +1,23 @@
+--- a/meson.build
++++ b/meson.build
+@@ -26,15 +26,15 @@
+ geteenvvar = find_program('getenvvar.py')
+ cdata = configuration_data()
+ cdata.set('CONFIGURED_PYTHONPATH',
+-          run_command(geteenvvar, 'PYTHONPATH').stdout().strip())
++          '')
+ cdata.set('CONFIGURED_GI_TYPELIB_PATH',
+-          run_command(geteenvvar, 'GI_TYPELIB_PATH').stdout().strip())
++          '')
+ cdata.set('CONFIGURED_LD_LIBRARY_PATH',
+-          run_command(geteenvvar, 'LD_LIBRARY_PATH').stdout().strip())
++          '')
+ cdata.set('CONFIGURED_GST_PLUGIN_PATH',
+-          run_command(geteenvvar, 'GST_PLUGIN_PATH').stdout().strip())
++          '')
+ cdata.set('CONFIGURED_GST_PLUGIN_SYSTEM_PATH',
+-          run_command(geteenvvar, 'GST_PLUGIN_SYSTEM_PATH').stdout().strip())
++          '')
+ cdata.set('LIBDIR', join_paths(get_option('prefix'), get_option('libdir')))
+ cdata.set('DATADIR', join_paths(get_option('prefix'), get_option('datadir')))
+ cdata.set('PACKAGE_NAME', 'Pitivi')
diff --git a/pkgs/applications/video/qstopmotion/default.nix b/pkgs/applications/video/qstopmotion/default.nix
index 412cc1ad272..a689697e0a0 100644
--- a/pkgs/applications/video/qstopmotion/default.nix
+++ b/pkgs/applications/video/qstopmotion/default.nix
@@ -1,6 +1,5 @@
-{ stdenv, fetchurl, qt5, gstreamer, gstreamermm, gst_plugins_bad
-, gst_plugins_base, gst_plugins_good, ffmpeg, guvcview, automoc4
-, cmake, libxml2, gettext, pkgconfig, libgphoto2, gphoto2, v4l_utils
+{ stdenv, fetchurl, qt5, ffmpeg, guvcview, automoc4
+, cmake, ninja, libxml2, gettext, pkgconfig, libgphoto2, gphoto2, v4l_utils
 , libv4l, pcre }:
 
 stdenv.mkDerivation rec {
@@ -13,11 +12,9 @@ stdenv.mkDerivation rec {
     sha256 = "1vbiznwyc05jqg0dpmgxmvf7kdzmlck0i8v2c5d69kgrdnaypcrf";
   };
 
-  buildInputs = [ qt5.qtbase gstreamer gstreamermm gst_plugins_bad gst_plugins_good
-                  gst_plugins_base ffmpeg guvcview v4l_utils libv4l pcre
-		];
+  buildInputs = [ qt5.qtbase ffmpeg guvcview v4l_utils libv4l pcre ];
 
-  nativeBuildInputs = [ pkgconfig cmake gettext libgphoto2 gphoto2 libxml2 libv4l ];
+  nativeBuildInputs = [ pkgconfig cmake ninja gettext libgphoto2 gphoto2 libxml2 libv4l ];
 
   meta = with stdenv.lib; {
     homepage = http://www.qstopmotion.org;
@@ -31,6 +28,6 @@ stdenv.mkDerivation rec {
 
     license = stdenv.lib.licenses.gpl2Plus;
     maintainers = [ maintainers.leenaars ];
-    platforms = stdenv.lib.platforms.gnu;
+    platforms = stdenv.lib.platforms.gnu ++ stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/applications/video/shotcut/default.nix b/pkgs/applications/video/shotcut/default.nix
index 6b1389c97ab..0a786312214 100644
--- a/pkgs/applications/video/shotcut/default.nix
+++ b/pkgs/applications/video/shotcut/default.nix
@@ -5,13 +5,13 @@
 
 stdenv.mkDerivation rec {
   name = "shotcut-${version}";
-  version = "17.11";
+  version = "18.03.06";
 
   src = fetchFromGitHub {
     owner = "mltframework";
     repo = "shotcut";
     rev = "v${version}";
-    sha256 = "1bw2cjpzycddxi9b21haiaslv0ikia85wwgkfm2xl2m15w5j8510";
+    sha256 = "1b8hfym89i1nmrx80y16z06zsff5qba7gpga8jydnw1lmcscdash";
   };
 
   enableParallelBuilding = true;
@@ -50,7 +50,7 @@ stdenv.mkDerivation rec {
     '';
     homepage = https://shotcut.org;
     license = licenses.gpl3;
-    maintainers = [ maintainers.goibhniu ];
+    maintainers = with maintainers; [ goibhniu woffs ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/video/simplescreenrecorder/default.nix b/pkgs/applications/video/simplescreenrecorder/default.nix
index 5b9ae011903..d1f6f8b6ad1 100644
--- a/pkgs/applications/video/simplescreenrecorder/default.nix
+++ b/pkgs/applications/video/simplescreenrecorder/default.nix
@@ -1,16 +1,18 @@
-{ stdenv, fetchurl, alsaLib, ffmpeg, libjack2, libX11, libXext
-, libXfixes, libGLU_combined, pkgconfig, libpulseaudio, qt4, cmake, ninja
+{ stdenv, fetchurl, alsaLib, ffmpeg, libjack2, libX11, libXext, qtx11extras
+, libXfixes, libGLU_combined, pkgconfig, libpulseaudio, qtbase, cmake, ninja
 }:
 
 stdenv.mkDerivation rec {
   name = "simplescreenrecorder-${version}";
-  version = "0.3.9";
+  version = "0.3.10";
 
   src = fetchurl {
     url = "https://github.com/MaartenBaert/ssr/archive/${version}.tar.gz";
-    sha256 = "1gnf9wbiq2fcbqcn1a5nfmp8r0nxrrlgh2wly2mfkkwymynhx0pk";
+    sha256 = "02rl9yyx3hlz9fqvgzv7ipmvx2qahj7ws5wx2m7zs3lssq3qag3g";
   };
 
+  cmakeFlags = [ "-DWITH_QT5=TRUE" ];
+
   patches = [ ./fix-paths.patch ];
 
   postPatch = ''
@@ -24,14 +26,14 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ pkgconfig cmake ninja ];
   buildInputs = [
     alsaLib ffmpeg libjack2 libX11 libXext libXfixes libGLU_combined
-    libpulseaudio qt4
+    libpulseaudio qtbase qtx11extras
   ];
 
   meta = with stdenv.lib; {
     description = "A screen recorder for Linux";
     homepage = http://www.maartenbaert.be/simplescreenrecorder;
     license = licenses.gpl3;
-    platforms = platforms.linux;
+    platforms = [ "x86_64-linux" ];
     maintainers = [ maintainers.goibhniu ];
   };
 }
diff --git a/pkgs/applications/video/smplayer/default.nix b/pkgs/applications/video/smplayer/default.nix
index 9e547a791a4..49444e350de 100644
--- a/pkgs/applications/video/smplayer/default.nix
+++ b/pkgs/applications/video/smplayer/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, qmake, qtscript }:
 
 stdenv.mkDerivation rec {
-  name = "smplayer-18.2.2";
+  name = "smplayer-18.4.0";
 
   src = fetchurl {
     url = "mirror://sourceforge/smplayer/${name}.tar.bz2";
-    sha256 = "0q0m9q643z6ih5gkf1fq3d6y99d62yxkhfgap98h251q6kd7dhis";
+    sha256 = "0q2fbg41djyxsy6jinlnidpcqxvs9bi91ga3fwlgnfh6kxsw2ldd";
   };
 
   buildInputs = [ qtscript ];
diff --git a/pkgs/applications/video/smtube/default.nix b/pkgs/applications/video/smtube/default.nix
index 406d49c9939..32610d08f33 100644
--- a/pkgs/applications/video/smtube/default.nix
+++ b/pkgs/applications/video/smtube/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, qmake, qtscript, qtwebkit }:
 
 stdenv.mkDerivation rec {
-  version = "18.1.0";
+  version = "18.3.0";
   name = "smtube-${version}";
 
   src = fetchurl {
     url = "mirror://sourceforge/smtube/SMTube/${version}/${name}.tar.bz2";
-    sha256 = "1sw2b89ricxfbmgbzsp9f89n0gwh9dbnii6lr9gcccs8djpp1ad1";
+    sha256 = "05r7xmzc7i95nwzgcn7p0kwlhybryf7f0dpadgdnbz6xinz9a0mb";
   };
 
   makeFlags = [
diff --git a/pkgs/applications/video/streamlink/default.nix b/pkgs/applications/video/streamlink/default.nix
index 9ff54bd681f..3f5f0c05c30 100644
--- a/pkgs/applications/video/streamlink/default.nix
+++ b/pkgs/applications/video/streamlink/default.nix
@@ -1,14 +1,14 @@
 { stdenv, pythonPackages, fetchFromGitHub, rtmpdump, ffmpeg }:
 
 pythonPackages.buildPythonApplication rec {
-  version = "0.10.0";
+  version = "0.12.1";
   name = "streamlink-${version}";
 
   src = fetchFromGitHub {
     owner = "streamlink";
     repo = "streamlink";
     rev = "${version}";
-    sha256 = "1p9gkwcvqlnv09ihqh71nh82nnmq9ybp1v8d8kd2vhkg1vm5ximn";
+    sha256 = "0r63fjp5qhnbp5kr4w2nn3gnj0wr0ik1pw1gyry8jl9rp2jq9db5";
   };
 
   checkInputs = with pythonPackages; [ pytest mock requests-mock ];
diff --git a/pkgs/applications/video/vlc/default.nix b/pkgs/applications/video/vlc/default.nix
index fffbd5c0ffb..6cc26baf70c 100644
--- a/pkgs/applications/video/vlc/default.nix
+++ b/pkgs/applications/video/vlc/default.nix
@@ -1,88 +1,81 @@
-{ stdenv, fetchurl, xz, bzip2, perl, xorg, libdvdnav, libbluray
+{ stdenv, fetchurl, autoreconfHook
+, libarchive, perl, xorg, libdvdnav, libbluray
 , zlib, a52dec, libmad, faad2, ffmpeg, alsaLib
 , pkgconfig, dbus, fribidi, freefont_ttf, libebml, libmatroska
-, libvorbis, libtheora, speex, lua5, libgcrypt, libupnp
+, libvorbis, libtheora, speex, lua5, libgcrypt, libgpgerror, libupnp
 , libcaca, libpulseaudio, flac, schroedinger, libxml2, librsvg
-, mpeg2dec, udev, gnutls, avahi, libcddb, libjack2, SDL, SDL_image
+, mpeg2dec, systemd, gnutls, avahi, libcddb, libjack2, SDL, SDL_image
 , libmtp, unzip, taglib, libkate, libtiger, libv4l, samba, liboggz
-, libass, libva, libdvbpsi, libdc1394, libraw1394, libopus
-, libvdpau, libsamplerate, live555, fluidsynth
+, libass, libva-full, libdvbpsi, libdc1394, libraw1394, libopus
+, libvdpau, libsamplerate, live555, fluidsynth, wayland, wayland-protocols
 , onlyLibVLC ? false
-, qt4 ? null
-, withQt5 ? false, qtbase ? null, qtx11extras ? null
+, withQt5 ? true, qtbase ? null, qtsvg ? null, qtx11extras ? null
 , jackSupport ? false
 , fetchpatch
 }:
 
 with stdenv.lib;
 
-assert (withQt5 -> qtbase != null && qtx11extras != null);
-assert (!withQt5 -> qt4 != null);
+assert (withQt5 -> qtbase != null && qtsvg != null && qtx11extras != null);
 
 stdenv.mkDerivation rec {
   name = "vlc-${version}";
-  version = "2.2.8";
+  version = "3.0.1";
 
   src = fetchurl {
     url = "http://get.videolan.org/vlc/${version}/${name}.tar.xz";
-    sha256 = "1v32snw46rkgbdqdy3dssl2y13i8p2cr1cw1i18r6vdmiy24dw4v";
+    sha256 = "008krfhykm9447wc1kkw82bsw3f6ikljgrqyb1sinwlxnkghqw6f";
   };
 
-  # Comment-out the Qt 5.5 version check, as we do apply the relevant patch.
-  # https://trac.videolan.org/vlc/ticket/16497
-  postPatch = if (!withQt5) then null else
-    "sed '/I78ef29975181ee22429c9bd4b11d96d9e68b7a9c/s/^/: #/' -i configure";
-
-  buildInputs =
-    [ xz bzip2 perl zlib a52dec libmad faad2 ffmpeg alsaLib libdvdnav libdvdnav.libdvdread
-      libbluray dbus fribidi libvorbis libtheora speex lua5 libgcrypt
-      libupnp libcaca libpulseaudio flac schroedinger libxml2 librsvg mpeg2dec
-      udev gnutls avahi libcddb SDL SDL_image libmtp unzip taglib
-      libkate libtiger libv4l samba liboggz libass libdvbpsi libva
-      xorg.xlibsWrapper xorg.libXv xorg.libXvMC xorg.libXpm xorg.xcbutilkeysyms
-      libdc1394 libraw1394 libopus libebml libmatroska libvdpau libsamplerate live555
-      fluidsynth
-    ]
-    ++ [(if withQt5 then qtbase else qt4)]
-    ++ optional withQt5 qtx11extras
+  # VLC uses a *ton* of libraries for various pieces of functionality, many of
+  # which are not included here for no other reason that nobody has mentioned
+  # needing them
+  buildInputs = [
+    zlib a52dec libmad faad2 ffmpeg alsaLib libdvdnav libdvdnav.libdvdread
+    libbluray dbus fribidi libvorbis libtheora speex lua5 libgcrypt libgpgerror
+    libupnp libcaca libpulseaudio flac schroedinger libxml2 librsvg mpeg2dec
+    systemd gnutls avahi libcddb SDL SDL_image libmtp unzip taglib libarchive
+    libkate libtiger libv4l samba liboggz libass libdvbpsi libva-full
+    xorg.xlibsWrapper xorg.libXv xorg.libXvMC xorg.libXpm xorg.xcbutilkeysyms
+    libdc1394 libraw1394 libopus libebml libmatroska libvdpau libsamplerate live555
+    fluidsynth wayland wayland-protocols
+  ] ++ optionals withQt5    [ qtbase qtsvg qtx11extras ]
     ++ optional jackSupport libjack2;
 
-  nativeBuildInputs = [ pkgconfig ];
+  nativeBuildInputs = [ autoreconfHook perl pkgconfig ];
+
+  enableParallelBuilding = true;
 
   LIVE555_PREFIX = live555;
 
-  preConfigure = ''
-    sed -e "s@/bin/echo@echo@g" -i configure
-  '' + optionalString withQt5 ''
-    # Make sure we only *add* "-std=c++11" to CXXFLAGS instead of overriding the
-    # values figured out by configure (for example "-g -O2").
-    sed -i -re '/^ *CXXFLAGS=("[^$"]+")? *$/s/CXXFLAGS="?/&-std=c++11 /' \
-      configure
-  '';
+  # vlc depends on a c11-gcc wrapper script which we don't have so we need to
+  # set the path to the compiler
+  BUILDCC = "${stdenv.cc}/bin/gcc";
 
-  configureFlags =
-    [ "--enable-alsa"
-      "--with-kde-solid=$out/share/apps/solid/actions"
-      "--enable-dc1394"
-      "--enable-ncurses"
-      "--enable-vdpau"
-      "--enable-dvdnav"
-      "--enable-samplerate"
-    ]
-    ++ optional onlyLibVLC  "--disable-vlc";
+  postPatch = ''
+    substituteInPlace configure \
+      --replace /bin/echo echo
 
-  enableParallelBuilding = true;
+    substituteInPlace modules/text_renderer/freetype/platform_fonts.h --replace \
+      /usr/share/fonts/truetype/freefont ${freefont_ttf}/share/fonts/truetype
+  '';
 
-  preBuild = ''
-    substituteInPlace modules/text_renderer/freetype.c --replace \
-      /usr/share/fonts/truetype/freefont/FreeSerifBold.ttf \
-      ${freefont_ttf}/share/fonts/truetype/FreeSerifBold.ttf
+  # https://github.com/NixOS/nixpkgs/pull/35124#issuecomment-370552830
+  postFixup = ''
+    find $out/lib/vlc/plugins -exec touch -d @1 '{}' ';'
+    $out/lib/vlc/vlc-cache-gen $out/vlc/plugins
   '';
 
+  # Most of the libraries are auto-detected so we don't need to set a bunch of
+  # "--enable-foo" flags here
+  configureFlags = [
+    "--with-kde-solid=$out/share/apps/solid/actions"
+  ] ++ optional onlyLibVLC "--disable-vlc";
+
   meta = with stdenv.lib; {
     description = "Cross-platform media player and streaming server";
     homepage = http://www.videolan.org/vlc/;
-    platforms = platforms.linux;
     license = licenses.lgpl21Plus;
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/video/vlc/plugin.nix b/pkgs/applications/video/vlc/plugin.nix
deleted file mode 100644
index 583d978a551..00000000000
--- a/pkgs/applications/video/vlc/plugin.nix
+++ /dev/null
@@ -1,34 +0,0 @@
-{ stdenv, fetchgit, vlc, autoconf, automake, libtool, pkgconfig, npapi_sdk,
-libxcb, xlibsWrapper, gtk}:
-
-with stdenv.lib;
-
-stdenv.mkDerivation rec {
-  name = "vlc-plugin-${version}";
-  version = "2.2.2"; # This 2.2.2 builds fine with vlc 2.2.4
-
-  src = fetchgit {
-    url = "https://code.videolan.org/videolan/npapi-vlc.git";
-    rev = "5fa6fbc11cf5bad983f57656c0085e47e18fbf20";
-    sha256 = "0k4s0657kv1mx1md8vj87scs0hz59xy7syqdsxb48w3w8gnfljs0";
-  };
-
-  preConfigure = "sh autogen.sh";
-
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ vlc autoconf automake libtool npapi_sdk libxcb
-      xlibsWrapper gtk ];
-
-  enableParallelBuilding = true;
-
-  passthru = {
-    mozillaPlugin = "/lib/mozilla/plugins";
-  };
-
-  meta = with stdenv.lib; {
-    description = "Webplugins based on libVLC (for firefox, npapi)";
-    homepage = https://code.videolan.org/videolan/npapi-vlc;
-    platforms = platforms.linux;
-    license = licenses.gpl2Plus;
-  };
-}
diff --git a/pkgs/applications/video/w_scan/default.nix b/pkgs/applications/video/w_scan/default.nix
index 59ba63b32ee..2bf74da3d0f 100644
--- a/pkgs/applications/video/w_scan/default.nix
+++ b/pkgs/applications/video/w_scan/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "w_scan-${version}";
-  version = "20161022";
+  version = "20170107";
 
   src = fetchurl {
     url = "http://wirbel.htpc-forum.de/w_scan/${name}.tar.bz2";
-    sha256 = "0y8dq2sm13xn2r2lrqf5pdhr9xcnbxbg1aw3iq1szds2idzsyxr0";
+    sha256 = "1zkgnj2sfvckix360wwk1v5s43g69snm45m0drnzyv7hgf5g7q1q";
   };
 
   meta = {
diff --git a/pkgs/applications/video/webtorrent_desktop/default.nix b/pkgs/applications/video/webtorrent_desktop/default.nix
index bb519ef3dab..b03ca2328b3 100644
--- a/pkgs/applications/video/webtorrent_desktop/default.nix
+++ b/pkgs/applications/video/webtorrent_desktop/default.nix
@@ -39,13 +39,13 @@
     ]);
   in stdenv.mkDerivation rec {
     name = "webtorrent-desktop-${version}";
-    version = "0.19.0";
+    version = "0.20.0";
 
     src =
       if stdenv.system == "x86_64-linux" then
         fetchurl {
-          url = "https://github.com/webtorrent/webtorrent-desktop/releases/download/v0.19.0/webtorrent-desktop_${version}-1_amd64.deb";
-          sha256 = "0v4fgvf8qgxjwg5kz30pcxl71pi9rri0l3cy20pid07rdd6r4sgd";
+          url = "https://github.com/webtorrent/webtorrent-desktop/releases/download/v0.20.0/webtorrent-desktop_${version}-1_amd64.deb";
+          sha256 = "1kkrnbimiip5pn2nwpln35bbdda9gc3cgrjwphq4fqasbjf2781k";
         }
         else
           throw "Webtorrent is not currently supported on ${stdenv.system}";
diff --git a/pkgs/applications/video/xine-ui/default.nix b/pkgs/applications/video/xine-ui/default.nix
index 5e44116415e..b75145a3e4a 100644
--- a/pkgs/applications/video/xine-ui/default.nix
+++ b/pkgs/applications/video/xine-ui/default.nix
@@ -2,11 +2,11 @@
 , lirc, shared-mime-info, libjpeg }:
 
 stdenv.mkDerivation rec {
-  name = "xine-ui-0.99.9";
+  name = "xine-ui-0.99.10";
   
   src = fetchurl {
     url = "mirror://sourceforge/xine/${name}.tar.xz";
-    sha256 = "18liwmkbj75xs9bipw3vr67a7cwmdfcp04v5lph7nsjlkwhq1lcd";
+    sha256 = "0i3jzhiipfs5p1jbxviwh42zcfzag6iqc6yycaan0vrqm90an86a";
   };
   
   nativeBuildInputs = [ pkgconfig shared-mime-info ];
diff --git a/pkgs/applications/video/xscast/default.nix b/pkgs/applications/video/xscast/default.nix
new file mode 100644
index 00000000000..ae048f1bdac
--- /dev/null
+++ b/pkgs/applications/video/xscast/default.nix
@@ -0,0 +1,35 @@
+{ stdenv, fetchFromGitHub, makeWrapper, ffmpeg, imagemagick, dzen2, xorg }:
+
+stdenv.mkDerivation rec {
+  name = "xscast-unstable-${version}";
+  version = "2016-07-26";
+
+  src = fetchFromGitHub {
+    owner = "KeyboardFire";
+    repo = "xscast";
+    rev = "9e6fd3c28d3f5ae630619f6dbccaf1f6ca594b21";
+    sha256 = "0br27bq9bpglfdpv63h827bipgvhlh10liyhmhcxls4227kagz72";
+  };
+
+  buildInputs = [ makeWrapper ];
+
+  installPhase = ''
+    runHook preInstall
+
+    install -Dm755 xscast.sh $out/bin/xscast
+    install -Dm644 xscast.1 $out/share/man/man1/xscast.1
+    patchShebangs $out/bin
+
+    wrapProgram "$out/bin/xscast" \
+      --prefix PATH : ${stdenv.lib.makeBinPath [ ffmpeg dzen2 xorg.xwininfo xorg.xinput xorg.xmodmap imagemagick ]}
+
+    runHook postInstall
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/KeyboardFire/xscast;
+    license = licenses.mit;
+    description = "Screencasts of windows with list of keystrokes overlayed";
+    maintainers = with maintainers; [ ma27 ];
+  };
+}
diff --git a/pkgs/applications/virtualization/OVMF/default.nix b/pkgs/applications/virtualization/OVMF/default.nix
index fcf569a762a..ee4ea4346e4 100644
--- a/pkgs/applications/virtualization/OVMF/default.nix
+++ b/pkgs/applications/virtualization/OVMF/default.nix
@@ -1,11 +1,13 @@
-{ stdenv, edk2, nasm, iasl, seabios, openssl, secureBoot ? false }:
+{ stdenv, lib, edk2, nasm, iasl, seabios, openssl, secureBoot ? false }:
 
 let
 
-  targetArch = if stdenv.isi686 then
-    "Ia32"
+  projectDscPath = if stdenv.isi686 then
+    "OvmfPkg/OvmfPkgIa32.dsc"
   else if stdenv.isx86_64 then
-    "X64"
+    "OvmfPkg/OvmfPkgX64.dsc"
+  else if stdenv.isAarch64 then
+    "ArmVirtPkg/ArmVirtQemu.dsc"
   else
     throw "Unsupported architecture";
 
@@ -14,7 +16,7 @@ let
   src = edk2.src;
 in
 
-stdenv.mkDerivation (edk2.setup "OvmfPkg/OvmfPkg${targetArch}.dsc" {
+stdenv.mkDerivation (edk2.setup projectDscPath {
   name = "OVMF-${version}";
 
   inherit src;
@@ -36,28 +38,45 @@ stdenv.mkDerivation (edk2.setup "OvmfPkg/OvmfPkg${targetArch}.dsc" {
       ln -sv "$file" .
     done
 
-    ${if (seabios == false) then ''
-        ln -sv ${src}/OvmfPkg .
-      '' else ''
+    ${if stdenv.isAarch64 then ''
+      ln -sv ${src}/ArmPkg .
+      ln -sv ${src}/ArmPlatformPkg .
+      ln -sv ${src}/ArmVirtPkg .
+      ln -sv ${src}/EmbeddedPkg .
+      ln -sv ${src}/OvmfPkg .
+    '' else if seabios != null then ''
         cp -r ${src}/OvmfPkg .
         chmod +w OvmfPkg/Csm/Csm16
         cp ${seabios}/Csm16.bin OvmfPkg/Csm/Csm16/Csm16.bin
-      ''}
+    '' else ''
+        ln -sv ${src}/OvmfPkg .
+    ''}
 
-    ${if (secureBoot == true) then ''
-        ln -sv ${src}/SecurityPkg .
-        ln -sv ${src}/CryptoPkg .
-      '' else ''
-      ''}
-    '';
+    ${lib.optionalString secureBoot ''
+      ln -sv ${src}/SecurityPkg .
+      ln -sv ${src}/CryptoPkg .
+    ''}
+  '';
 
-  buildPhase = if (seabios == false) then ''
-      build ${if secureBoot then "-DSECURE_BOOT_ENABLE=TRUE" else ""}
+  buildPhase = if stdenv.isAarch64 then ''
+      build -n $NIX_BUILD_CORES
+    '' else if seabios == null then ''
+      build -n $NIX_BUILD_CORES ${lib.optionalString secureBoot "-DSECURE_BOOT_ENABLE=TRUE"}
     '' else ''
-      build -D CSM_ENABLE -D FD_SIZE_2MB ${if secureBoot then "-DSECURE_BOOT_ENABLE=TRUE" else ""}
+      build -n $NIX_BUILD_CORES -D CSM_ENABLE -D FD_SIZE_2MB ${lib.optionalString secureBoot "-DSECURE_BOOT_ENABLE=TRUE"}
     '';
 
-  postFixup = ''
+  postFixup = if stdenv.isAarch64 then ''
+    mkdir -vp $fd/FV
+    mkdir -vp $fd/AAVMF
+    mv -v $out/FV/QEMU_{EFI,VARS}.fd $fd/FV
+
+    # Uses Fedora dir layout: https://src.fedoraproject.org/cgit/rpms/edk2.git/tree/edk2.spec
+    # FIXME: why is it different from Debian dir layout? https://anonscm.debian.org/cgit/pkg-qemu/edk2.git/tree/debian/rules
+    dd of=$fd/AAVMF/QEMU_EFI-pflash.raw       if=/dev/zero bs=1M    count=64
+    dd of=$fd/AAVMF/QEMU_EFI-pflash.raw       if=$fd/FV/QEMU_EFI.fd conv=notrunc
+    dd of=$fd/AAVMF/vars-template-pflash.raw if=/dev/zero bs=1M    count=64
+  '' else ''
     mkdir -vp $OUTPUT_FD/FV
     mv -v $out/FV/OVMF{,_CODE,_VARS}.fd $OUTPUT_FD/FV
   '';
@@ -68,6 +87,6 @@ stdenv.mkDerivation (edk2.setup "OvmfPkg/OvmfPkg${targetArch}.dsc" {
     description = "Sample UEFI firmware for QEMU and KVM";
     homepage = https://sourceforge.net/apps/mediawiki/tianocore/index.php?title=OVMF;
     license = stdenv.lib.licenses.bsd2;
-    platforms = ["x86_64-linux" "i686-linux"];
+    platforms = ["x86_64-linux" "i686-linux" "aarch64-linux"];
   };
 })
diff --git a/pkgs/applications/virtualization/containerd/default.nix b/pkgs/applications/virtualization/containerd/default.nix
index 8f456a2a49a..3854c577188 100644
--- a/pkgs/applications/virtualization/containerd/default.nix
+++ b/pkgs/applications/virtualization/containerd/default.nix
@@ -5,13 +5,13 @@ with lib;
 
 stdenv.mkDerivation rec {
   name = "containerd-${version}";
-  version = "1.0.2";
+  version = "1.1.0";
 
   src = fetchFromGitHub {
     owner = "containerd";
     repo = "containerd";
     rev = "v${version}";
-    sha256 = "1x6mmk69jksh4m9rjd8qwpp0qc7jmimpkq9pw9237p0v63p9yci0";
+    sha256 = "0nknqprmi04jfiivrk158jyddc95q4jggfsm7cg7rpvjamkzn6c8";
   };
 
   hardeningDisable = [ "fortify" ];
diff --git a/pkgs/applications/virtualization/docker/default.nix b/pkgs/applications/virtualization/docker/default.nix
index af15240dc12..2ab2bd02219 100644
--- a/pkgs/applications/virtualization/docker/default.nix
+++ b/pkgs/applications/virtualization/docker/default.nix
@@ -195,28 +195,28 @@ rec {
   });
 
   # Get revisions from
-  # https://github.com/docker/docker-ce/blob/v${version}/components/engine/hack/dockerfile/binaries-commits
-
-  docker_17_12 = dockerGen rec {
-    version = "17.12.1-ce";
-    rev = "7390fc6103da41cf98ae66cfac80fa143268bf60"; # git commit
-    sha256 = "14pz5yqsjypjb6xiq828jrg9aq7wajrrf3mnd9109lw224p03d8i";
-    runcRev = "9f9c96235cc97674e935002fc3d78361b696a69e";
-    runcSha256 = "18f8vqdbf685dd777pjh8jzpxafw2vapqh4m43xgyi7lfwa0gsln";
-    containerdRev = "9b55aab90508bd389d7654c4baf173a981477d55";
-    containerdSha256 = "0kfafqi66yp4qy738pl11f050hfrx9m4kc670qpx7fmf9ii7q6p2";
+  # https://github.com/docker/docker-ce/tree/v${version}/components/engine/hack/dockerfile/install/*
+
+  docker_18_03 = dockerGen rec {
+    version = "18.03.1-ce";
+    rev = "9ee9f402cd1eba817c5591a64f1d770c87c421a4"; # git commit
+    sha256 = "1jm3jmcbkvvy3s8pi3xcpir6mwxjfbad46lbif4bnpjfd2r5irrx";
+    runcRev = "4fc53a81fb7c994640722ac585fa9ca548971871";
+    runcSha256 = "1ikqw39jn8dzb4snc4pcg3z85jb67ivskdhx028k17ss29bf4062";
+    containerdRev = "773c489c9c1b21a6d78b5c538cd395416ec50f88";
+    containerdSha256 = "0k1zjn0mpd7q3p5srxld2fr4k6ijzbk0r34r6w69sh0d0rd2fvbs";
     tiniRev = "949e6facb77383876aeff8a6944dde66b3089574";
     tiniSha256 = "0zj4kdis1vvc6dwn4gplqna0bs7v6d1y2zc8v80s3zi018inhznw";
   };
 
-  docker_18_02 = dockerGen rec {
-    version = "18.02.0-ce";
-    rev = "fc4de447b563498eb4da89f56fb858bbe761d91b"; # git commit
-    sha256 = "1025cwv2niiwg5pc30nb1qky1raisvd9ix2qw6rdib232hwq9k8m";
-    runcRev = "9f9c96235cc97674e935002fc3d78361b696a69e";
-    runcSha256 = "18f8vqdbf685dd777pjh8jzpxafw2vapqh4m43xgyi7lfwa0gsln";
-    containerdRev = "9b55aab90508bd389d7654c4baf173a981477d55";
-    containerdSha256 = "0kfafqi66yp4qy738pl11f050hfrx9m4kc670qpx7fmf9ii7q6p2";
+  docker_18_05 = dockerGen rec {
+    version = "18.05.0-ce";
+    rev = "f150324782643a5268a04e7d1a675587125da20e"; # git commit
+    sha256 = "0vgh03qwlfm25sm3yaa6vf5ap2ag575f814ccgcrp5zlcal13r0z";
+    runcRev = "4fc53a81fb7c994640722ac585fa9ca548971871";
+    runcSha256 = "1ikqw39jn8dzb4snc4pcg3z85jb67ivskdhx028k17ss29bf4062";
+    containerdRev = "773c489c9c1b21a6d78b5c538cd395416ec50f88";
+    containerdSha256 = "0k1zjn0mpd7q3p5srxld2fr4k6ijzbk0r34r6w69sh0d0rd2fvbs";
     tiniRev = "949e6facb77383876aeff8a6944dde66b3089574";
     tiniSha256 = "0zj4kdis1vvc6dwn4gplqna0bs7v6d1y2zc8v80s3zi018inhznw";
   };
diff --git a/pkgs/applications/virtualization/docker-distribution/default.nix b/pkgs/applications/virtualization/docker/distribution.nix
index 0af9abc852e..0af9abc852e 100644
--- a/pkgs/applications/virtualization/docker-distribution/default.nix
+++ b/pkgs/applications/virtualization/docker/distribution.nix
diff --git a/pkgs/applications/virtualization/dynamips/default.nix b/pkgs/applications/virtualization/dynamips/default.nix
index 811e5cf47c3..8b590cff964 100644
--- a/pkgs/applications/virtualization/dynamips/default.nix
+++ b/pkgs/applications/virtualization/dynamips/default.nix
@@ -3,13 +3,13 @@
 stdenv.mkDerivation rec {
   name = "${pname}-${version}";
   pname = "dynamips";
-  version = "0.2.17";
+  version = "0.2.18";
 
   src = fetchFromGitHub {
     owner = "GNS3";
     repo = pname;
     rev = "v${version}";
-    sha256 = "12c45jcp9isz57dbshxrvvhqbvmf9cnrr7ddac5m6p34in4hk01n";
+    sha256 = "1jrwvrpl61rqbjjphv8v7ryhdwfjrpps76dbvkpl43hpn5hqqis2";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/applications/virtualization/lkl/default.nix b/pkgs/applications/virtualization/lkl/default.nix
index cd72142e979..8d5ecfce9fd 100644
--- a/pkgs/applications/virtualization/lkl/default.nix
+++ b/pkgs/applications/virtualization/lkl/default.nix
@@ -1,8 +1,8 @@
 { stdenv, fetchFromGitHub, bc, python, fuse, libarchive }:
 
 stdenv.mkDerivation rec {
-  name = "lkl-2017-11-10";
-  rev  = "52a6a643c7d1dd3031c0cbec75e1ac7a999f3d57";
+  name = "lkl-2018-03-10";
+  rev  = "8772a4da6064444c5b70766b806fe272b0287c31";
 
   outputs = [ "dev" "lib" "out" ];
 
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
     inherit rev;
     owner  = "lkl";
     repo   = "linux";
-    sha256 = "1i5ywrfxqpykjjalwh9g4rwd4s186cqk3j806d327a67xb2ivxnp";
+    sha256 = "1m6gh4zcx1q7rv05d0knjpk3ivk2b3kc0kwjndciadqc45kws4wh";
   };
 
   # Fix a /usr/bin/env reference in here that breaks sandboxed builds
@@ -27,7 +27,8 @@ stdenv.mkDerivation rec {
     sed -i $out/bin/lkl-hijack.sh \
         -e "s,LD_LIBRARY_PATH=.*,LD_LIBRARY_PATH=$lib/lib,"
 
-    cp tools/lkl/{cptofs,cpfromfs,fs2tar,lklfuse} $out/bin
+    cp tools/lkl/{cptofs,fs2tar,lklfuse} $out/bin
+    ln -s cptofs $out/bin/cpfromfs
     cp -r tools/lkl/include $dev/
     cp tools/lkl/liblkl*.{a,so} $lib/lib
   '';
diff --git a/pkgs/applications/virtualization/qemu/default.nix b/pkgs/applications/virtualization/qemu/default.nix
index c3d8d05eea9..8c429ff1d06 100644
--- a/pkgs/applications/virtualization/qemu/default.nix
+++ b/pkgs/applications/virtualization/qemu/default.nix
@@ -7,19 +7,22 @@
 , numaSupport ? stdenv.isLinux && !stdenv.isAarch32, numactl
 , seccompSupport ? stdenv.isLinux, libseccomp
 , pulseSupport ? !stdenv.isDarwin, libpulseaudio
-, sdlSupport ? !stdenv.isDarwin, SDL
+, sdlSupport ? !stdenv.isDarwin, SDL2
+, gtkSupport ? !stdenv.isDarwin && !xenSupport, gtk3, gettext, gnome3
 , vncSupport ? true, libjpeg, libpng
 , spiceSupport ? !stdenv.isDarwin, spice, spice-protocol
 , usbredirSupport ? spiceSupport, usbredir
 , xenSupport ? false, xen
+, openGLSupport ? sdlSupport, mesa_noglu, epoxy, libdrm
+, virglSupport ? openGLSupport, virglrenderer
 , hostCpuOnly ? false
 , nixosTestRunner ? false
 }:
 
 with stdenv.lib;
 let
-  version = "2.11.1";
-  sha256 = "1jrcff0szyjxc3vywyiclwdzk0xgq4cxvjbvmcfyjcpdrq9j5pyr";
+  version = "2.12.0";
+  sha256 = "17377xxbmwbrnh895a108z944pqi39hzrbw4jzgj8pcipi3s3x69";
   audio = optionalString (hasSuffix "linux" stdenv.system) "alsa,"
     + optionalString pulseSupport "pa,"
     + optionalString sdlSupport "sdl,";
@@ -52,23 +55,48 @@ stdenv.mkDerivation rec {
     ++ optionals seccompSupport [ libseccomp ]
     ++ optionals numaSupport [ numactl ]
     ++ optionals pulseSupport [ libpulseaudio ]
-    ++ optionals sdlSupport [ SDL ]
+    ++ optionals sdlSupport [ SDL2 ]
+    ++ optionals gtkSupport [ gtk3 gettext gnome3.vte ]
     ++ optionals vncSupport [ libjpeg libpng ]
     ++ optionals spiceSupport [ spice-protocol spice ]
     ++ optionals usbredirSupport [ usbredir ]
     ++ optionals stdenv.isLinux [ alsaLib libaio libcap_ng libcap attr ]
-    ++ optionals xenSupport [ xen ];
+    ++ optionals xenSupport [ xen ]
+    ++ optionals openGLSupport [ mesa_noglu epoxy libdrm ]
+    ++ optionals virglSupport [ virglrenderer ];
 
   enableParallelBuilding = true;
 
-  patches = [ ./no-etc-install.patch ./statfs-flags.patch ]
+  outputs = [ "out" "ga" ];
+
+  patches = [ ./no-etc-install.patch ]
     ++ optional nixosTestRunner ./force-uid0-on-9p.patch
-    ++ optional pulseSupport ./fix-hda-recording.patch;
+    ++ optional pulseSupport ./fix-hda-recording.patch
+    ++ optionals stdenv.hostPlatform.isMusl [
+    (fetchpatch {
+      url = https://raw.githubusercontent.com/alpinelinux/aports/2bb133986e8fa90e2e76d53369f03861a87a74ef/main/qemu/xattr_size_max.patch;
+      sha256 = "1xfdjs1jlvs99hpf670yianb8c3qz2ars8syzyz8f2c2cp5y4bxb";
+    })
+    (fetchpatch {
+      url = https://raw.githubusercontent.com/alpinelinux/aports/2bb133986e8fa90e2e76d53369f03861a87a74ef/main/qemu/musl-F_SHLCK-and-F_EXLCK.patch;
+      sha256 = "1gm67v41gw6apzgz7jr3zv9z80wvkv0jaxd2w4d16hmipa8bhs0k";
+    })
+    (fetchpatch {
+      url = https://raw.githubusercontent.com/alpinelinux/aports/61a7a1b77a868e3b940c0b25e6c2b2a6c32caf20/main/qemu/0006-linux-user-signal.c-define-__SIGRTMIN-MAX-for-non-GN.patch;
+      sha256 = "1ar6r1vpmhnbs72v6mhgyahcjcf7b9b4xi7asx17sy68m171d2g6";
+    })
+    (fetchpatch {
+      url = https://raw.githubusercontent.com/alpinelinux/aports/2bb133986e8fa90e2e76d53369f03861a87a74ef/main/qemu/fix-sigevent-and-sigval_t.patch;
+      sha256 = "0wk0rrcqywhrw9hygy6ap0lfg314m9z1wr2hn8338r5gfcw75mav";
+    })
+  ];
 
   hardeningDisable = [ "stackprotector" ];
 
   preConfigure = ''
     unset CPP # intereferes with dependency calculation
+  '' + optionalString stdenv.hostPlatform.isMusl ''
+    NIX_CFLAGS_COMPILE+=" -D_LINUX_SYSINFO_H"
   '';
 
   configureFlags =
@@ -77,6 +105,8 @@ stdenv.mkDerivation rec {
       "--sysconfdir=/etc"
       "--localstatedir=/var"
     ]
+    # disable sysctl check on darwin.
+    ++ optional stdenv.isDarwin "--cpu=x86_64"
     ++ optional numaSupport "--enable-numa"
     ++ optional seccompSupport "--enable-seccomp"
     ++ optional spiceSupport "--enable-spice"
@@ -84,20 +114,28 @@ stdenv.mkDerivation rec {
     ++ optional hostCpuOnly "--target-list=${hostCpuTargets}"
     ++ optional stdenv.isDarwin "--enable-cocoa"
     ++ optional stdenv.isLinux "--enable-linux-aio"
-    ++ optional xenSupport "--enable-xen";
+    ++ optional gtkSupport "--enable-gtk"
+    ++ optional xenSupport "--enable-xen"
+    ++ optional openGLSupport "--enable-opengl"
+    ++ optional virglSupport "--enable-virglrenderer";
+
+  doCheck = false; # tries to access /dev
 
   postFixup =
     ''
       for exe in $out/bin/qemu-system-* ; do
         paxmark m $exe
       done
+      # copy qemu-ga (guest agent) to separate output
+      mkdir -p $ga/bin
+      cp $out/bin/qemu-ga $ga/bin/
     '';
 
   # 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.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 "";
 
diff --git a/pkgs/applications/virtualization/qemu/riscv-initrd.patch b/pkgs/applications/virtualization/qemu/riscv-initrd.patch
deleted file mode 100644
index a7e5b28cfd5..00000000000
--- a/pkgs/applications/virtualization/qemu/riscv-initrd.patch
+++ /dev/null
@@ -1,98 +0,0 @@
-From 44b0f612499764dad425d467aadacb01fbd4a920 Mon Sep 17 00:00:00 2001
-From: Shea Levy <shea@shealevy.com>
-Date: Tue, 20 Feb 2018 07:59:43 -0500
-Subject: [PATCH] riscv: Respect the -initrd flag.
-
-Logic for initrd start address borrowed from arm/boot.c
----
- hw/riscv/virt.c | 49 ++++++++++++++++++++++++++++++++++++++++++++++---
- 1 file changed, 46 insertions(+), 3 deletions(-)
-
-diff --git a/hw/riscv/virt.c b/hw/riscv/virt.c
-index 46d95b2b79..5c7d191a3f 100644
---- a/hw/riscv/virt.c
-+++ b/hw/riscv/virt.c
-@@ -77,7 +77,35 @@ static uint64_t load_kernel(const char *kernel_filename)
-     return kernel_entry;
- }
- 
--static void create_fdt(RISCVVirtState *s, const struct MemmapEntry *memmap,
-+static hwaddr load_initrd(const char *filename, uint64_t mem_size,
-+                          uint64_t kernel_entry, hwaddr *start)
-+{
-+    int size;
-+
-+    /* We want to put the initrd far enough into RAM that when the
-+     * kernel is uncompressed it will not clobber the initrd. However
-+     * on boards without much RAM we must ensure that we still leave
-+     * enough room for a decent sized initrd, and on boards with large
-+     * amounts of RAM we must avoid the initrd being so far up in RAM
-+     * that it is outside lowmem and inaccessible to the kernel.
-+     * So for boards with less  than 256MB of RAM we put the initrd
-+     * halfway into RAM, and for boards with 256MB of RAM or more we put
-+     * the initrd at 128MB.
-+     */
-+    *start = kernel_entry + MIN(mem_size / 2, 128 * 1024 * 1024);
-+
-+    size = load_ramdisk(filename, *start, mem_size - *start);
-+    if (size == -1) {
-+        size = load_image_targphys(filename, *start, mem_size - *start);
-+        if (size == -1) {
-+          error_report("qemu: could not load ramdisk '%s'", filename);
-+          exit(1);
-+        }
-+    }
-+    return *start + size;
-+}
-+
-+static void *create_fdt(RISCVVirtState *s, const struct MemmapEntry *memmap,
-     uint64_t mem_size, const char *cmdline)
- {
-     void *fdt;
-@@ -233,6 +261,8 @@ static void create_fdt(RISCVVirtState *s, const struct MemmapEntry *memmap,
-     qemu_fdt_setprop_string(fdt, "/chosen", "stdout-path", nodename);
-     qemu_fdt_setprop_string(fdt, "/chosen", "bootargs", cmdline);
-     g_free(nodename);
-+
-+    return fdt;
- }
- 
- static void riscv_virt_board_init(MachineState *machine)
-@@ -246,6 +276,7 @@ static void riscv_virt_board_init(MachineState *machine)
-     char *plic_hart_config;
-     size_t plic_hart_config_len;
-     int i;
-+    void *fdt;
- 
-     /* Initialize SOC */
-     object_initialize(&s->soc, sizeof(s->soc), TYPE_RISCV_HART_ARRAY);
-@@ -265,7 +296,8 @@ static void riscv_virt_board_init(MachineState *machine)
-         main_mem);
- 
-     /* create device tree */
--    create_fdt(s, memmap, machine->ram_size, machine->kernel_cmdline);
-+    fdt = create_fdt(s, memmap, machine->ram_size,
-+                     machine->kernel_cmdline);
- 
-     /* boot rom */
-     memory_region_init_ram(boot_rom, NULL, "riscv_virt_board.bootrom",
-@@ -273,7 +305,18 @@ static void riscv_virt_board_init(MachineState *machine)
-     memory_region_add_subregion(system_memory, 0x0, boot_rom);
- 
-     if (machine->kernel_filename) {
--        load_kernel(machine->kernel_filename);
-+        uint64_t kernel_entry = load_kernel(machine->kernel_filename);
-+
-+        if (machine->initrd_filename) {
-+            hwaddr start;
-+            hwaddr end = load_initrd(machine->initrd_filename,
-+                                     machine->ram_size, kernel_entry,
-+                                     &start);
-+            qemu_fdt_setprop_cell(fdt, "/chosen",
-+                                  "linux,initrd-start", start);
-+            qemu_fdt_setprop_cell(fdt, "/chosen", "linux,initrd-end",
-+                                  end);
-+        }
-     }
- 
-     /* reset vector */
diff --git a/pkgs/applications/virtualization/qemu/riscv.nix b/pkgs/applications/virtualization/qemu/riscv.nix
deleted file mode 100644
index 5e234dcb893..00000000000
--- a/pkgs/applications/virtualization/qemu/riscv.nix
+++ /dev/null
@@ -1,22 +0,0 @@
-{ qemu, fetchFromGitHub, lib }: let
-  src = fetchFromGitHub {
-    owner = "riscv";
-    repo = "riscv-qemu";
-    rev = "af435b709d4a5de3ec2e59ff4dcd05b0b295a730";
-    sha256 = "1kqcsn8yfdg3zyd991i4v5dxznd1l4a4hjry9304lvsm3sz2wllw";
-    fetchSubmodules = true;
-  };
-  version = "2.11.50";
-  revCount = "58771";
-  shortRev = "af435b709d";
-  targets = [ "riscv32-linux-user" "riscv32-softmmu"
-              "riscv64-linux-user" "riscv64-softmmu"
-            ];
-in lib.overrideDerivation qemu (orig: {
-  name = "${(builtins.parseDrvName qemu.name).name}-${version}pre${revCount}_${shortRev}";
-  inherit src;
-  # https://github.com/riscv/riscv-qemu/pull/109
-  patches = orig.patches ++ [ ./riscv-initrd.patch ];
-  configureFlags = orig.configureFlags ++ [ "--target-list=${lib.concatStringsSep "," targets}" ];
-  postInstall = null;
-})
diff --git a/pkgs/applications/virtualization/qemu/statfs-flags.patch b/pkgs/applications/virtualization/qemu/statfs-flags.patch
deleted file mode 100644
index 52a470a2869..00000000000
--- a/pkgs/applications/virtualization/qemu/statfs-flags.patch
+++ /dev/null
@@ -1,197 +0,0 @@
-commit 909fe47c7009aa9a75fe9470c5f8d3dd5b50917a
-Author: Shea Levy <shea@shealevy.com>
-Date:   Sun Feb 18 13:50:11 2018 -0500
-
-    linux-user: Support f_flags in statfs when available.
-    
-    Signed-off-by: Shea Levy <shea@shealevy.com>
-
-diff --git a/configure b/configure
-index 913e14839d..52fe2bf941 100755
---- a/configure
-+++ b/configure
-@@ -5303,6 +5303,22 @@ if compile_prog "" "" ; then
-     have_utmpx=yes
- fi
- 
-+##########################################
-+# Check for newer fields of struct statfs on Linux
-+
-+if test "$linux_user" = "yes"; then
-+  cat > $TMPC <<EOF
-+#include <sys/vfs.h>
-+
-+int main(void) {
-+  struct statfs fs;
-+  fs.f_flags = 0;
-+}
-+EOF
-+  if compile_object ; then
-+      have_statfs_flags=yes
-+  fi
-+fi
- ##########################################
- # checks for sanitizers
- 
-@@ -6518,6 +6534,10 @@ if test "$have_utmpx" = "yes" ; then
-   echo "HAVE_UTMPX=y" >> $config_host_mak
- fi
- 
-+if test "$have_statfs_flags" = "yes" ; then
-+  echo "HAVE_STATFS_FLAGS=y" >> $config_host_mak
-+fi
-+
- if test "$ivshmem" = "yes" ; then
-   echo "CONFIG_IVSHMEM=y" >> $config_host_mak
- fi
-diff --git a/linux-user/syscall.c b/linux-user/syscall.c
-index 82b35a6bdf..77481eca2c 100644
---- a/linux-user/syscall.c
-+++ b/linux-user/syscall.c
-@@ -9534,6 +9534,9 @@ abi_long do_syscall(void *cpu_env, int num, abi_long arg1,
-             __put_user(stfs.f_fsid.__val[1], &target_stfs->f_fsid.val[1]);
-             __put_user(stfs.f_namelen, &target_stfs->f_namelen);
-             __put_user(stfs.f_frsize, &target_stfs->f_frsize);
-+#ifdef HAVE_STATFS_FLAGS
-+            __put_user(stfs.f_flags, &target_stfs->f_flags);
-+#endif
-             memset(target_stfs->f_spare, 0, sizeof(target_stfs->f_spare));
-             unlock_user_struct(target_stfs, arg2, 1);
-         }
-diff --git a/linux-user/syscall_defs.h b/linux-user/syscall_defs.h
-index a35c52a60a..64aa49d3c5 100644
---- a/linux-user/syscall_defs.h
-+++ b/linux-user/syscall_defs.h
-@@ -362,7 +362,14 @@ struct kernel_statfs {
- 	int f_ffree;
-         kernel_fsid_t f_fsid;
- 	int f_namelen;
-+#ifdef HAVE_STATFS_FLAGS
-+	int f_frsize;
-+	int f_flags;
-+	int f_spare[4];
-+#else
- 	int f_spare[6];
-+#endif
-+
- };
- 
- struct target_dirent {
-@@ -2223,7 +2230,12 @@ struct target_statfs {
- 	/* Linux specials */
- 	target_fsid_t		f_fsid;
- 	int32_t			f_namelen;
-+#ifdef HAVE_STATFS_FLAGS
-+	int32_t			f_flags;
-+	int32_t			f_spare[5];
-+#else
- 	int32_t			f_spare[6];
-+#endif
- };
- #else
- struct target_statfs {
-@@ -2239,7 +2251,12 @@ struct target_statfs {
- 	/* Linux specials */
- 	target_fsid_t		f_fsid;
- 	abi_long		f_namelen;
-+#ifdef HAVE_STATFS_FLAGS
-+	abi_long		f_flags;
-+	abi_long		f_spare[5];
-+#else
- 	abi_long		f_spare[6];
-+#endif
- };
- #endif
- 
-@@ -2255,7 +2272,12 @@ struct target_statfs64 {
- 	uint64_t	f_bavail;
- 	target_fsid_t	f_fsid;
- 	uint32_t	f_namelen;
-+#ifdef HAVE_STATFS_FLAGS
-+	uint32_t	f_flags;
-+	uint32_t	f_spare[5];
-+#else
- 	uint32_t	f_spare[6];
-+#endif
- };
- #elif (defined(TARGET_PPC64) || defined(TARGET_X86_64) || \
-        defined(TARGET_SPARC64) || defined(TARGET_AARCH64)) && \
-@@ -2271,7 +2293,12 @@ struct target_statfs {
- 	target_fsid_t f_fsid;
- 	abi_long f_namelen;
- 	abi_long f_frsize;
-+#ifdef HAVE_STATFS_FLAGS
-+	abi_long f_flags;
-+	abi_long f_spare[4];
-+#else
- 	abi_long f_spare[5];
-+#endif
- };
- 
- struct target_statfs64 {
-@@ -2285,7 +2312,12 @@ struct target_statfs64 {
- 	target_fsid_t f_fsid;
- 	abi_long f_namelen;
- 	abi_long f_frsize;
-+#ifdef HAVE_STATFS_FLAGS
-+	abi_long f_flags;
-+	abi_long f_spare[4];
-+#else
- 	abi_long f_spare[5];
-+#endif
- };
- #elif defined(TARGET_S390X)
- struct target_statfs {
-@@ -2299,7 +2331,13 @@ struct target_statfs {
-     kernel_fsid_t f_fsid;
-     int32_t  f_namelen;
-     int32_t  f_frsize;
-+#ifdef HAVE_STATFS_FLAGS
-+    int32_t  f_flags;
-+    int32_t  f_spare[4];
-+#else
-     int32_t  f_spare[5];
-+#endif
-+
- };
- 
- struct target_statfs64 {
-@@ -2313,7 +2351,12 @@ struct target_statfs64 {
-     kernel_fsid_t f_fsid;
-     int32_t  f_namelen;
-     int32_t  f_frsize;
-+#ifdef HAVE_STATFS_FLAGS
-+    int32_t  f_flags;
-+    int32_t  f_spare[4];
-+#else
-     int32_t  f_spare[5];
-+#endif
- };
- #else
- struct target_statfs {
-@@ -2327,7 +2370,12 @@ struct target_statfs {
- 	target_fsid_t f_fsid;
- 	uint32_t f_namelen;
- 	uint32_t f_frsize;
-+#ifdef HAVE_STATFS_FLAGS
-+	uint32_t f_flags;
-+	uint32_t f_spare[4];
-+#else
- 	uint32_t f_spare[5];
-+#endif
- };
- 
- struct target_statfs64 {
-@@ -2341,7 +2389,12 @@ struct target_statfs64 {
- 	target_fsid_t f_fsid;
-         uint32_t f_namelen;
- 	uint32_t f_frsize;
-+#ifdef HAVE_STATFS_FLAGS
-+	uint32_t f_flags;
-+	uint32_t f_spare[4];
-+#else
- 	uint32_t f_spare[5];
-+#endif
- };
- #endif
- 
diff --git a/pkgs/applications/virtualization/remotebox/default.nix b/pkgs/applications/virtualization/remotebox/default.nix
index 40eadad68d0..6743c849189 100644
--- a/pkgs/applications/virtualization/remotebox/default.nix
+++ b/pkgs/applications/virtualization/remotebox/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "remotebox-${version}";
-  version = "2.4";
+  version = "2.5";
 
   src = fetchurl {
     url = "http://remotebox.knobgoblin.org.uk/downloads/RemoteBox-${version}.tar.bz2";
-    sha256 = "14zcpzpdb5gxkxvckcdwq3mfv8b18zirbdskzddhqxjddkzayckz";
+    sha256 = "0dajc9fg57gj915h5dxavbia4wx10frn4xc61pv0l8r5zp7xvqal";
   };
 
   buildInputs = with perlPackages; [ perl Glib Gtk2 Pango SOAPLite ];
diff --git a/pkgs/applications/virtualization/rkt/default.nix b/pkgs/applications/virtualization/rkt/default.nix
index 947f4454362..777dc6fe930 100644
--- a/pkgs/applications/virtualization/rkt/default.nix
+++ b/pkgs/applications/virtualization/rkt/default.nix
@@ -12,7 +12,7 @@ let
   stage1Dir = "lib/rkt/stage1-images";
 
 in stdenv.mkDerivation rec {
-  version = "1.29.0";
+  version = "1.30.0";
   name = "rkt-${version}";
   BUILDDIR="build-${name}";
 
@@ -20,7 +20,7 @@ in stdenv.mkDerivation rec {
     owner = "coreos";
     repo = "rkt";
     rev = "v${version}";
-    sha256 = "0wnhii15pr4z190iladfcl4jzj9sgyl1bn5v63a3yy6nkmz9cfda";
+    sha256 = "0dqf83b7iin1np8k8k1m8i99ybga8vx932q7n2q64yghkw7p6i00";
   };
 
   stage1BaseImage = fetchurl {
diff --git a/pkgs/applications/virtualization/runc/default.nix b/pkgs/applications/virtualization/runc/default.nix
index 4fdb7421c3c..b0fd42f4efb 100644
--- a/pkgs/applications/virtualization/runc/default.nix
+++ b/pkgs/applications/virtualization/runc/default.nix
@@ -5,13 +5,13 @@ with lib;
 
 stdenv.mkDerivation rec {
   name = "runc-${version}";
-  version = "1.0.0-rc4";
+  version = "1.0.0-rc5";
 
   src = fetchFromGitHub {
     owner = "opencontainers";
     repo = "runc";
     rev = "v${version}";
-    sha256 = "0dh24x0zw90hs7618pnqvjhd2nx8dpz3b5jwc1vbs8dawj8prir2";
+    sha256 = "1ikqw39jn8dzb4snc4pcg3z85jb67ivskdhx028k17ss29bf4062";
   };
 
   outputs = [ "out" "man" ];
diff --git a/pkgs/applications/virtualization/singularity/default.nix b/pkgs/applications/virtualization/singularity/default.nix
index 236cb8f31e6..b6f4a5976e4 100644
--- a/pkgs/applications/virtualization/singularity/default.nix
+++ b/pkgs/applications/virtualization/singularity/default.nix
@@ -13,11 +13,13 @@
 , gnused
 , curl
 , utillinux
+, libarchive
+, file
  }:
 
 stdenv.mkDerivation rec {
   name = "singularity-${version}";
-  version = "2.4";
+  version = "2.5.1";
 
   enableParallelBuilding = true;
 
@@ -28,6 +30,9 @@ stdenv.mkDerivation rec {
     patchShebangs .
   '';
 
+  configureFlags = "--localstatedir=/var";
+  installFlags = "CONTAINER_MOUNTDIR=dummy CONTAINER_FINALDIR=dummy CONTAINER_OVERLAY=dummy SESSIONDIR=dummy";
+
   fixupPhase = ''
     patchShebangs $out
     for f in $out/libexec/singularity/helpers/help.sh $out/libexec/singularity/cli/*.exec $out/libexec/singularity/bootstrap-scripts/*.sh ; do
@@ -42,11 +47,11 @@ stdenv.mkDerivation rec {
     owner = "singularityware";
     repo = "singularity";
     rev = version;
-    sha256 = "1hi1ag1lb2x4djbz4x34wix83ymx0g9mzn2md6yrpiflc1d85rjz";
+    sha256 = "1i029qs6dfpyirhbdz0nrx2sh5fddysk4wqkjqj5m60kxs4x8a3d";
   };
 
   nativeBuildInputs = [ autoreconfHook makeWrapper ];
-  buildInputs = [ coreutils gnugrep python e2fsprogs which gnutar squashfsTools gzip gnused curl utillinux ];
+  buildInputs = [ coreutils gnugrep python e2fsprogs which gnutar squashfsTools gzip gnused curl utillinux libarchive file ];
 
   meta = with stdenv.lib; {
     homepage = http://singularity.lbl.gov/;
diff --git a/pkgs/applications/virtualization/tini/default.nix b/pkgs/applications/virtualization/tini/default.nix
index 0d4aa4783c6..25c19cd79c7 100644
--- a/pkgs/applications/virtualization/tini/default.nix
+++ b/pkgs/applications/virtualization/tini/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchFromGitHub, cmake, glibc }:
 
 stdenv.mkDerivation rec {
-  version = "0.16.1";
+  version = "0.18.0";
   name = "tini-${version}";
 
   src = fetchFromGitHub {
     owner = "krallin";
     repo = "tini";
     rev = "v${version}";
-    sha256 ="1abvjwjk7xhsbx60niy4ykcj3xvrxcl6zx8z1v827jsn47wzpikp";
+    sha256 ="1h20i3wwlbd8x4jr2gz68hgklh0lb0jj7y5xk1wvr8y58fip1rdn";
   };
 
   patchPhase = "sed -i /tini-static/d CMakeLists.txt";
diff --git a/pkgs/applications/virtualization/virt-manager/default.nix b/pkgs/applications/virtualization/virt-manager/default.nix
index d0e27055887..c7d86ad9fd6 100644
--- a/pkgs/applications/virtualization/virt-manager/default.nix
+++ b/pkgs/applications/virtualization/virt-manager/default.nix
@@ -3,6 +3,7 @@
 , gobjectIntrospection, libvirt-glib, system-libvirt
 , gsettings-desktop-schemas, glib, libosinfo, gnome3, gtk3
 , spiceSupport ? true, spice-gtk ? null
+, cpio, e2fsprogs, findutils, gzip
 }:
 
 with stdenv.lib;
@@ -47,6 +48,8 @@ python2Packages.buildPythonApplication rec {
 
   preFixup = ''
     gappsWrapperArgs+=(--set PYTHONPATH "$PYTHONPATH")
+    # these are called from virt-install in initrdinject.py
+    gappsWrapperArgs+=(--prefix PATH : "${makeBinPath [ cpio e2fsprogs file findutils gzip ]}")
   '';
 
   # Failed tests
diff --git a/pkgs/applications/virtualization/virt-manager/qt.nix b/pkgs/applications/virtualization/virt-manager/qt.nix
index 9316496a547..c8af6a1ccf5 100644
--- a/pkgs/applications/virtualization/virt-manager/qt.nix
+++ b/pkgs/applications/virtualization/virt-manager/qt.nix
@@ -1,17 +1,17 @@
 { mkDerivation, lib, fetchFromGitHub, cmake, pkgconfig
-, qtbase, qtmultimedia, qtsvg, qttools
+, qtbase, qtmultimedia, qtsvg, qttools, krdc
 , libvncserver, libvirt, pcre, pixman, qtermwidget, spice-gtk, spice-protocol
 }:
 
 mkDerivation rec {
   name = "virt-manager-qt-${version}";
-  version = "0.52.80";
+  version = "0.60.88";
 
   src = fetchFromGitHub {
     owner  = "F1ash";
     repo   = "qt-virt-manager";
     rev    = "${version}";
-    sha256 = "131rs6c90vdf1j40qj7k6s939y8la9ma0q3labxb7ac3r8hvhn6a";
+    sha256 = "0hd5d8zdghc5clv8pa4h9zigshdrarfpmzyvrq56rjkm13lrdz52";
   };
 
   cmakeFlags = [
@@ -20,14 +20,12 @@ mkDerivation rec {
   ];
 
   buildInputs = [
-    qtbase qtmultimedia qtsvg
+    qtbase qtmultimedia qtsvg krdc
     libvirt libvncserver pcre pixman qtermwidget spice-gtk spice-protocol
   ];
 
   nativeBuildInputs = [ cmake pkgconfig qttools ];
 
-  enableParallelBuilding = true;
-
   meta = with lib; {
     homepage    = https://f1ash.github.io/qt-virt-manager;
     description = "Desktop user interface for managing virtual machines (QT)";
diff --git a/pkgs/applications/virtualization/virt-top/default.nix b/pkgs/applications/virtualization/virt-top/default.nix
index f411ea5c83e..493307d0d07 100644
--- a/pkgs/applications/virtualization/virt-top/default.nix
+++ b/pkgs/applications/virtualization/virt-top/default.nix
@@ -1,14 +1,16 @@
-{ stdenv, fetchurl, ocamlPackages }:
+{ stdenv, fetchgit, ocamlPackages, autoreconfHook }:
 
 stdenv.mkDerivation rec {
   name = "virt-top-${version}";
-  version = "1.0.8";
+  version = "2017-11-18-unstable";
 
-  src = fetchurl {
-    url = "https://people.redhat.com/~rjones/virt-top/files/virt-top-${version}.tar.gz";
-    sha256 = "04i1sf2d3ghilmzvr2vh74qcy009iifyc2ymj9kxnbkp97lrz13w";
+  src = fetchgit {
+    url = git://git.annexia.org/git/virt-top.git;
+    rev = "18a751d8c26548bb090ff05e30ccda3092e3373b";
+    sha256 = "0c4whjvw7p3yvd476i4ppdhi8j821r5y6caqrj2v9dc181cnp01i";
   };
 
+  nativeBuildInputs = [ autoreconfHook ];
   buildInputs = with ocamlPackages; [ ocaml findlib ocaml_extlib ocaml_libvirt ocaml_gettext curses csv xml-light ];
 
   buildPhase = "make opt";
diff --git a/pkgs/applications/virtualization/virtualbox/HostServices-SharedClipboard-x11-stub.cpp-use-RT_NOR.patch b/pkgs/applications/virtualization/virtualbox/HostServices-SharedClipboard-x11-stub.cpp-use-RT_NOR.patch
deleted file mode 100644
index 7abe62a59cb..00000000000
--- a/pkgs/applications/virtualization/virtualbox/HostServices-SharedClipboard-x11-stub.cpp-use-RT_NOR.patch
+++ /dev/null
@@ -1,153 +0,0 @@
-From 9ac54c606b581847a170ac2fe525419aff2e5341 Mon Sep 17 00:00:00 2001
-From: Florian Klink <flokli@flokli.de>
-Date: Wed, 6 Dec 2017 23:58:20 +0100
-Subject: [PATCH] HostServices/SharedClipboard/x11-stub.cpp: use RT_NOREF
- rather than NOREF
-
-Currently, build process fails when configuring with --build-headless like this:
-
-```
-kBuild: Compiling VBoxSharedClipboard - /tmp/nix-build-virtualbox-5.2.2.drv-0/VirtualBox-5.2.2/src/VBox/HostServices/SharedClipboard/service.cpp
-kBuild: Compiling VBoxSharedClipboard - /tmp/nix-build-virtualbox-5.2.2.drv-0/VirtualBox-5.2.2/src/VBox/HostServices/SharedClipboard/x11-stub.cpp
-/tmp/nix-build-virtualbox-5.2.2.drv-0/VirtualBox-5.2.2/src/VBox/HostServices/SharedClipboard/x11-stub.cpp:58:29: error: macro "NOREF" passed 2 arguments, but takes just 1
-     NOREF(pClient, fHeadless);
-                             ^
-/tmp/nix-build-virtualbox-5.2.2.drv-0/VirtualBox-5.2.2/src/VBox/HostServices/SharedClipboard/x11-stub.cpp:94:30: error: macro "NOREF" passed 2 arguments, but takes just 1
-     NOREF(pClient, u32Formats);
-                              ^
-/tmp/nix-build-virtualbox-5.2.2.drv-0/VirtualBox-5.2.2/src/VBox/HostServices/SharedClipboard/x11-stub.cpp:110:37: error: macro "NOREF" passed 4 arguments, but takes just 1
-     NOREF(pClient, u32Format, pv, cb);
-                                     ^
-/tmp/nix-build-virtualbox-5.2.2.drv-0/VirtualBox-5.2.2/src/VBox/HostServices/SharedClipboard/x11-stub.cpp:128:37: error: macro "NOREF" passed 4 arguments, but takes just 1
-     NOREF(pClient, pv, cb, u32Format);
-                                     ^
-/tmp/nix-build-virtualbox-5.2.2.drv-0/VirtualBox-5.2.2/src/VBox/HostServices/SharedClipboard/x11-stub.cpp: In function 'int vboxClipboardConnect(VBOXCLIPBOARDCLIENTDATA*, bool)':
-/tmp/nix-build-virtualbox-5.2.2.drv-0/VirtualBox-5.2.2/src/VBox/HostServices/SharedClipboard/x11-stub.cpp:58:5: error: 'NOREF' was not declared in this scope
-     NOREF(pClient, fHeadless);
-     ^~~~~
-/tmp/nix-build-virtualbox-5.2.2.drv-0/VirtualBox-5.2.2/src/VBox/HostServices/SharedClipboard/x11-stub.cpp:55:52: warning: unused parameter 'pClient' [-Wunused-parameter]
- int vboxClipboardConnect (VBOXCLIPBOARDCLIENTDATA *pClient,
-                                                    ^~~~~~~
-/tmp/nix-build-virtualbox-5.2.2.drv-0/VirtualBox-5.2.2/src/VBox/HostServices/SharedClipboard/x11-stub.cpp:56:32: warning: unused parameter 'fHeadless' [-Wunused-parameter]
-                           bool fHeadless)
-                                ^~~~~~~~~
-/tmp/nix-build-virtualbox-5.2.2.drv-0/VirtualBox-5.2.2/src/VBox/HostServices/SharedClipboard/x11-stub.cpp: In function 'void vboxClipboardFormatAnnounce(VBOXCLIPBOARDCLIENTDATA*, uint32_t)':
-/tmp/nix-build-virtualbox-5.2.2.drv-0/VirtualBox-5.2.2/src/VBox/HostServices/SharedClipboard/x11-stub.cpp:94:5: error: 'NOREF' was not declared in this scope
-     NOREF(pClient, u32Formats);
-     ^~~~~
-/tmp/nix-build-virtualbox-5.2.2.drv-0/VirtualBox-5.2.2/src/VBox/HostServices/SharedClipboard/x11-stub.cpp:91:60: warning: unused parameter 'pClient' [-Wunused-parameter]
- void vboxClipboardFormatAnnounce (VBOXCLIPBOARDCLIENTDATA *pClient,
-                                                            ^~~~~~~
-/tmp/nix-build-virtualbox-5.2.2.drv-0/VirtualBox-5.2.2/src/VBox/HostServices/SharedClipboard/x11-stub.cpp:92:44: warning: unused parameter 'u32Formats' [-Wunused-parameter]
-                                   uint32_t u32Formats)
-                                            ^~~~~~~~~~
-/tmp/nix-build-virtualbox-5.2.2.drv-0/VirtualBox-5.2.2/src/VBox/HostServices/SharedClipboard/x11-stub.cpp: In function 'int vboxClipboardReadData(VBOXCLIPBOARDCLIENTDATA*, uint32_t, void*, uint32_t, uint32_t*)':
-/tmp/nix-build-virtualbox-5.2.2.drv-0/VirtualBox-5.2.2/src/VBox/HostServices/SharedClipboard/x11-stub.cpp:110:5: error: 'NOREF' was not declared in this scope
-     NOREF(pClient, u32Format, pv, cb);
-     ^~~~~
-/tmp/nix-build-virtualbox-5.2.2.drv-0/VirtualBox-5.2.2/src/VBox/HostServices/SharedClipboard/x11-stub.cpp:107:53: warning: unused parameter 'pClient' [-Wunused-parameter]
- int vboxClipboardReadData (VBOXCLIPBOARDCLIENTDATA *pClient, uint32_t u32Format,
-                                                     ^~~~~~~
-/tmp/nix-build-virtualbox-5.2.2.drv-0/VirtualBox-5.2.2/src/VBox/HostServices/SharedClipboard/x11-stub.cpp:107:71: warning: unused parameter 'u32Format' [-Wunused-parameter]
- int vboxClipboardReadData (VBOXCLIPBOARDCLIENTDATA *pClient, uint32_t u32Format,
-                                                                       ^~~~~~~~~
-/tmp/nix-build-virtualbox-5.2.2.drv-0/VirtualBox-5.2.2/src/VBox/HostServices/SharedClipboard/x11-stub.cpp:108:34: warning: unused parameter 'pv' [-Wunused-parameter]
-                            void *pv, uint32_t cb, uint32_t *pcbActual)
-                                  ^~
-/tmp/nix-build-virtualbox-5.2.2.drv-0/VirtualBox-5.2.2/src/VBox/HostServices/SharedClipboard/x11-stub.cpp:108:47: warning: unused parameter 'cb' [-Wunused-parameter]
-                            void *pv, uint32_t cb, uint32_t *pcbActual)
-                                               ^~
-/tmp/nix-build-virtualbox-5.2.2.drv-0/VirtualBox-5.2.2/src/VBox/HostServices/SharedClipboard/x11-stub.cpp: In function 'void vboxClipboardWriteData(VBOXCLIPBOARDCLIENTDATA*, void*, uint32_t, uint32_t)':
-/tmp/nix-build-virtualbox-5.2.2.drv-0/VirtualBox-5.2.2/src/VBox/HostServices/SharedClipboard/x11-stub.cpp:128:5: error: 'NOREF' was not declared in this scope
-     NOREF(pClient, pv, cb, u32Format);
-     ^~~~~
-/tmp/nix-build-virtualbox-5.2.2.drv-0/VirtualBox-5.2.2/src/VBox/HostServices/SharedClipboard/x11-stub.cpp:125:55: warning: unused parameter 'pClient' [-Wunused-parameter]
- void vboxClipboardWriteData (VBOXCLIPBOARDCLIENTDATA *pClient, void *pv,
-                                                       ^~~~~~~
-/tmp/nix-build-virtualbox-5.2.2.drv-0/VirtualBox-5.2.2/src/VBox/HostServices/SharedClipboard/x11-stub.cpp:125:70: warning: unused parameter 'pv' [-Wunused-parameter]
- void vboxClipboardWriteData (VBOXCLIPBOARDCLIENTDATA *pClient, void *pv,
-                                                                      ^~
-/tmp/nix-build-virtualbox-5.2.2.drv-0/VirtualBox-5.2.2/src/VBox/HostServices/SharedClipboard/x11-stub.cpp:126:39: warning: unused parameter 'cb' [-Wunused-parameter]
-                              uint32_t cb, uint32_t u32Format)
-                                       ^~
-/tmp/nix-build-virtualbox-5.2.2.drv-0/VirtualBox-5.2.2/src/VBox/HostServices/SharedClipboard/x11-stub.cpp:126:52: warning: unused parameter 'u32Format' [-Wunused-parameter]
-                              uint32_t cb, uint32_t u32Format)
-                                                    ^~~~~~~~~
-kmk: *** [/tmp/nix-build-virtualbox-5.2.2.drv-0/VirtualBox-5.2.2/out/linux.amd64/release/obj/VBoxSharedClipboard/x11-stub.o] Error 1
-The failing command:
-@g++ -c -O2 -g -pipe -pedantic -Wshadow -Wall -Wextra -Wno-missing-field-initializers -Wno-unused -Wno-trigraphs -fdiagnostics-show-option -Wno-unused-parameter     -Wlogical-op   -Wno-variadic-macros
--Wno-long-long -Wunused-variable -Wunused-function -Wunused-label -Wunused-parameter  -Wno-overloaded-virtual -Wno-variadic-macros -O2 -mtune=generic -fno-omit-frame-pointer -fno-strict-aliasing
--fvisibility=hidden -DVBOX_HAVE_VISIBILITY_HIDDEN -DRT_USE_VISIBILITY_DEFAULT -fvisibility-inlines-hidden   -fPIC -m64
--I/tmp/nix-build-virtualbox-5.2.2.drv-0/VirtualBox-5.2.2/out/linux.amd64/release/obj/VBoxSharedClipboard/dtrace -I/tmp/nix-build-virtualbox-5.2.2.drv-0/VirtualBox-5.2.2/include
--I/tmp/nix-build-virtualbox-5.2.2.drv-0/VirtualBox-5.2.2/out/linux.amd64/release -DVBOX -DVBOX_OSE -DVBOX_WITH_64_BITS_GUESTS -DVBOX_WITH_REM -DVBOX_WITH_RAW_MODE -DRT_OS_LINUX -D_FILE_OFFSET_BITS=64
--DRT_ARCH_AMD64 -D__AMD64__ -DVBOX_WITH_DEBUGGER -DVBOX_WITH_HARDENING -DRTPATH_APP_PRIVATE=\"/nix/store/fqjnpbzq25ffpkpk6hsl3x19ydin2pp1-virtualbox-5.2.2/share/virtualbox\"
--DRTPATH_APP_PRIVATE_ARCH=\"/nix/store/fqjnpbzq25ffpkpk6hsl3x19ydin2pp1-virtualbox-5.2.2/libexec/virtualbox\"
--DRTPATH_APP_PRIVATE_ARCH_TOP=\"/nix/store/fqjnpbzq25ffpkpk6hsl3x19ydin2pp1-virtualbox-5.2.2/share/virtualbox\"
--DRTPATH_SHARED_LIBS=\"/nix/store/fqjnpbzq25ffpkpk6hsl3x19ydin2pp1-virtualbox-5.2.2/libexec/virtualbox\" -DRTPATH_APP_DOCS=\"/nix/store/fqjnpbzq25ffpkpk6hsl3x19ydin2pp1-virtualbox-5.2.2/doc\"
--DIN_RING3 -DHC_ARCH_BITS=64 -DGC_ARCH_BITS=64 -DVBOX_WITH_DTRACE -DVBOX_WITH_DTRACE_R3 -DPIC -DVBOX_WITH_HGCM
--Wp,-MD,/tmp/nix-build-virtualbox-5.2.2.drv-0/VirtualBox-5.2.2/out/linux.amd64/release/obj/VBoxSharedClipboard/x11-stub.o.dep
--Wp,-MT,/tmp/nix-build-virtualbox-5.2.2.drv-0/VirtualBox-5.2.2/out/linux.amd64/release/obj/VBoxSharedClipboard/x11-stub.o -Wp,-MP -o
-/tmp/nix-build-virtualbox-5.2.2.drv-0/VirtualBox-5.2.2/out/linux.amd64/release/obj/VBoxSharedClipboard/x11-stub.o
-/tmp/nix-build-virtualbox-5.2.2.drv-0/VirtualBox-5.2.2/src/VBox/HostServices/SharedClipboard/x11-stub.cpp
-```
-
-This seems to be caused by the usage of NOREF in
-src/VBox/HostServices/SharedClipboard/x11-stub.cpp, so use RT_NOREFN
-instead.
-
-Signed-off-by: Florian Klink <flokli@flokli.de>
----
- src/VBox/HostServices/SharedClipboard/x11-stub.cpp | 10 +++++-----
- 1 file changed, 5 insertions(+), 5 deletions(-)
-
-diff --git a/src/VBox/HostServices/SharedClipboard/x11-stub.cpp b/src/VBox/HostServices/SharedClipboard/x11-stub.cpp
-index d890215..57ba883 100644
---- a/src/VBox/HostServices/SharedClipboard/x11-stub.cpp
-+++ b/src/VBox/HostServices/SharedClipboard/x11-stub.cpp
-@@ -55,7 +55,7 @@ void vboxClipboardDestroy (void)
- int vboxClipboardConnect (VBOXCLIPBOARDCLIENTDATA *pClient,
-                           bool fHeadless)
- {
--    NOREF(pClient, fHeadless);
-+    RT_NOREF2(pClient, fHeadless);
-     LogFlowFunc(("called, returning VINF_SUCCESS.\n"));
-     return VINF_SUCCESS;
- }
-@@ -77,7 +77,7 @@ int vboxClipboardSync (VBOXCLIPBOARDCLIENTDATA * /* pClient */)
-  */
- void vboxClipboardDisconnect (VBOXCLIPBOARDCLIENTDATA *pClient)
- {
--    NOREF(pClient);
-+    RT_NOREF1(pClient);
-     LogFlowFunc(("called, returning.\n"));
- }
- 
-@@ -91,7 +91,7 @@ void vboxClipboardDisconnect (VBOXCLIPBOARDCLIENTDATA *pClient)
- void vboxClipboardFormatAnnounce (VBOXCLIPBOARDCLIENTDATA *pClient,
-                                   uint32_t u32Formats)
- {
--    NOREF(pClient, u32Formats);
-+    RT_NOREF2(pClient, u32Formats);
-     LogFlowFunc(("called, returning.\n"));
- }
- 
-@@ -107,7 +107,7 @@ void vboxClipboardFormatAnnounce (VBOXCLIPBOARDCLIENTDATA *pClient,
- int vboxClipboardReadData (VBOXCLIPBOARDCLIENTDATA *pClient, uint32_t u32Format,
-                            void *pv, uint32_t cb, uint32_t *pcbActual)
- {
--    NOREF(pClient, u32Format, pv, cb);
-+    RT_NOREF4(pClient, u32Format, pv, cb);
-     LogFlowFunc(("called, returning VINF_SUCCESS.\n"));
-     /* No data available. */
-     *pcbActual = 0;
-@@ -125,6 +125,6 @@ int vboxClipboardReadData (VBOXCLIPBOARDCLIENTDATA *pClient, uint32_t u32Format,
- void vboxClipboardWriteData (VBOXCLIPBOARDCLIENTDATA *pClient, void *pv,
-                              uint32_t cb, uint32_t u32Format)
- {
--    NOREF(pClient, pv, cb, u32Format);
-+    RT_NOREF4(pClient, pv, cb, u32Format);
-     LogFlowFunc(("called, returning.\n"));
- }
--- 
-2.15.0
-
diff --git a/pkgs/applications/virtualization/virtualbox/default.nix b/pkgs/applications/virtualization/virtualbox/default.nix
index 38509d299d9..71c9c8fa644 100644
--- a/pkgs/applications/virtualization/virtualbox/default.nix
+++ b/pkgs/applications/virtualization/virtualbox/default.nix
@@ -21,10 +21,10 @@ let
   buildType = "release";
   # Manually sha256sum the extensionPack file, must be hex!
   # Do not forget to update the hash in ./guest-additions/default.nix!
-  extpack = "70584a70b666e9332ae2c6be0e64da4b8e3a27124801156577f205750bdde4f5";
-  extpackRev = "120293";
-  main = "1rx45ivwk89ghjc5zdd7c7j92w0w3930xj7l1zhwrvshxs454w7y";
-  version = "5.2.6";
+  extpack = "4c36d129f17dcab2bb37292022f1b1adfefa5f32a3161b0d5d40784bc8acf4d0";
+  extpackRev = "122591";
+  main = "0n1lip8lkz4qqq5ml47xldsx41919ncfh060i7yj51bhas604q6s";
+  version = "5.2.12";
 
   # See https://github.com/NixOS/nixpkgs/issues/672 for details
   extensionPack = requireFile rec {
@@ -94,8 +94,6 @@ in stdenv.mkDerivation {
 
   patches =
      optional enableHardening ./hardened.patch
-     # https://www.virtualbox.org/pipermail/vbox-dev/2017-December/014888.html
-  ++ optional headless [ ./HostServices-SharedClipboard-x11-stub.cpp-use-RT_NOR.patch ]
   ++ [ ./qtx11extras.patch ];
 
 
diff --git a/pkgs/applications/virtualization/virtualbox/guest-additions/default.nix b/pkgs/applications/virtualization/virtualbox/guest-additions/default.nix
index f82eec07a29..6ea0333936b 100644
--- a/pkgs/applications/virtualization/virtualbox/guest-additions/default.nix
+++ b/pkgs/applications/virtualization/virtualbox/guest-additions/default.nix
@@ -19,7 +19,7 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "http://download.virtualbox.org/virtualbox/${version}/VBoxGuestAdditions_${version}.iso";
-    sha256 = "1px9jp6lv7ff7kn4ns5r4dq7xl4wiz3h4ckgdhgvxs040njpdzy5";
+    sha256 = "b81d283d9ef88a44e7ac8983422bead0823c825cbfe80417423bd12de91b8046";
   };
 
   KERN_DIR = "${kernel.dev}/lib/modules/${kernel.modDirVersion}/build";
diff --git a/pkgs/applications/virtualization/xen/4.10.nix b/pkgs/applications/virtualization/xen/4.10.nix
new file mode 100644
index 00000000000..dab90a1ed78
--- /dev/null
+++ b/pkgs/applications/virtualization/xen/4.10.nix
@@ -0,0 +1,185 @@
+{ stdenv, callPackage, fetchurl, fetchpatch, fetchgit
+, withInternalQemu ? true
+, withInternalTraditionalQemu ? true
+, withInternalSeabios ? true
+, withSeabios ? !withInternalSeabios, seabios ? null
+, withInternalOVMF ? false # FIXME: tricky to build
+, withOVMF ? false, OVMF
+, withLibHVM ? true
+
+# qemu
+, udev, pciutils, xorg, SDL, pixman, acl, glusterfs, spice-protocol, usbredir
+, alsaLib, glib, python2
+, ... } @ args:
+
+assert withInternalSeabios -> !withSeabios;
+assert withInternalOVMF -> !withOVMF;
+
+with stdenv.lib;
+
+# Patching XEN? Check the XSAs at
+# https://xenbits.xen.org/xsa/
+# and try applying all the ones we don't have yet.
+
+let
+  xsaPatch = { name , sha256 }: (fetchpatch {
+    url = "https://xenbits.xen.org/xsa/xsa${name}.patch";
+    inherit sha256;
+  });
+
+  xsa = import ./xsa-patches.nix { inherit fetchpatch; };
+
+  qemuMemfdBuildFix = fetchpatch {
+    name = "xen-4.8-memfd-build-fix.patch";
+    url = https://github.com/qemu/qemu/commit/75e5b70e6b5dcc4f2219992d7cffa462aa406af0.patch;
+    sha256 = "0gaz93kb33qc0jx6iphvny0yrd17i8zhcl3a9ky5ylc2idz0wiwa";
+  };
+
+  qemuDeps = [
+    udev pciutils xorg.libX11 SDL pixman acl glusterfs spice-protocol usbredir
+    alsaLib glib python2
+  ];
+in
+
+callPackage (import ./generic.nix (rec {
+  version = "4.10.0";
+
+  src = fetchurl {
+    url = "https://downloads.xenproject.org/release/xen/${version}/xen-${version}.tar.gz";
+    sha256 = "0i38ap5b5m1kix6xb0vn9ya1yab35adyc98bzfnbq4lb7w1afqh2";
+  };
+
+  # Sources needed to build tools and firmwares.
+  xenfiles = optionalAttrs withInternalQemu {
+    "qemu-xen" = {
+      src = fetchgit {
+        url = https://xenbits.xen.org/git-http/qemu-xen.git;
+        # rev = "refs/tags/qemu-xen-${version}";
+        # use revision hash - reproducible but must be updated with each new version
+        rev = "b79708a8ed1b3d18bee67baeaf33b3fa529493e2";
+        sha256 = "1yxxad6nvlfmrbgyc8ix19qmrsn1rx4zpyiqnfi4x4kg94acwa5w";
+      };
+      patches = [
+        qemuMemfdBuildFix
+      ];
+      buildInputs = qemuDeps;
+      postPatch = ''
+        # needed in build but /usr/bin/env is not available in sandbox
+        substituteInPlace scripts/tracetool.py \
+          --replace "/usr/bin/env python" "${python2}/bin/python"
+      '';
+      meta.description = "Xen's fork of upstream Qemu";
+    };
+  } // optionalAttrs withInternalTraditionalQemu {
+    "qemu-xen-traditional" = {
+      src = fetchgit {
+        url = https://xenbits.xen.org/git-http/qemu-xen-traditional.git;
+        # rev = "refs/tags/xen-${version}";
+        # use revision hash - reproducible but must be updated with each new version
+        rev = "c8ea0457495342c417c3dc033bba25148b279f60";
+        sha256 = "0v5nl3c08kpjg57fb8l191h1y57ykp786kz6l525jgplif28vx13";
+      };
+      buildInputs = qemuDeps;
+      patches = [
+      ];
+      postPatch = ''
+        substituteInPlace xen-hooks.mak \
+          --replace /usr/include/pci ${pciutils}/include/pci
+      '';
+      meta.description = "Xen's fork of upstream Qemu that uses old device model";
+    };
+  } // optionalAttrs withInternalSeabios {
+    "firmware/seabios-dir-remote" = {
+      src = fetchgit {
+        url = https://xenbits.xen.org/git-http/seabios.git;
+        rev = "f0cdc36d2f2424f6b40438f7ee7cc502c0eff4df";
+        sha256 = "1wq5pjkjrfzqnq3wyr15mcn1l4c563m65gdyf8jm97kgb13pwwfm";
+      };
+      patches = [ ./0000-qemu-seabios-enable-ATA_DMA.patch ];
+      meta.description = "Xen's fork of Seabios";
+    };
+  } // optionalAttrs withInternalOVMF {
+    "firmware/ovmf-dir-remote" = {
+      src = fetchgit {
+        url = https://xenbits.xen.org/git-http/ovmf.git;
+        rev = "173bf5c847e3ca8b42c11796ce048d8e2e916ff8";
+        sha256 = "07zmdj90zjrzip74fvd4ss8n8njk6cim85s58mc6snxmqqv7gmcr";
+      };
+      meta.description = "Xen's fork of OVMF";
+    };
+  } // {
+    # TODO: patch Xen to make this optional?
+    "firmware/etherboot/ipxe.git" = {
+      src = fetchgit {
+        url = https://git.ipxe.org/ipxe.git;
+        rev = "356f6c1b64d7a97746d1816cef8ca22bdd8d0b5d";
+        sha256 = "15n400vm3id5r8y3k6lrp9ab2911a9vh9856f5gvphkazfnmns09";
+      };
+      meta.description = "Xen's fork of iPXE";
+    };
+  } // optionalAttrs withLibHVM {
+    "xen-libhvm-dir-remote" = {
+      src = fetchgit {
+        name = "xen-libhvm";
+        url = https://github.com/michalpalka/xen-libhvm;
+        rev = "83065d36b36d6d527c2a4e0f5aaf0a09ee83122c";
+        sha256 = "1jzv479wvgjkazprqdzcdjy199azmx2xl3pnxli39kc5mvjz3lzd";
+      };
+      buildPhase = ''
+        make
+        cd biospt
+        cc -Wall -g -D_LINUX -Wstrict-prototypes biospt.c -o biospt -I../libhvm -L../libhvm -lxenhvm
+      '';
+      installPhase = ''
+        make install
+        cp biospt/biospt $out/bin/
+      '';
+      meta = {
+        description = ''
+          Helper library for reading ACPI and SMBIOS firmware values
+          from the host system for use with the HVM guest firmware
+          pass-through feature in Xen'';
+        license = licenses.bsd2;
+      };
+    };
+  };
+
+  configureFlags = []
+    ++ optional (!withInternalQemu) "--with-system-qemu" # use qemu from PATH
+    ++ optional (withInternalTraditionalQemu) "--enable-qemu-traditional"
+    ++ optional (!withInternalTraditionalQemu) "--disable-qemu-traditional"
+
+    ++ optional (withSeabios) "--with-system-seabios=${seabios}"
+    ++ optional (!withInternalSeabios && !withSeabios) "--disable-seabios"
+
+    ++ optional (withOVMF) "--with-system-ovmf=${OVMF.fd}/FV/OVMF.fd"
+    ++ optional (withInternalOVMF) "--enable-ovmf";
+
+  patches = with xsa; flatten [
+    XSA_252
+    XSA_253
+    XSA_255_1
+    XSA_255_2
+    XSA_256
+  ];
+
+  # Fix build on Glibc 2.24.
+  NIX_CFLAGS_COMPILE = "-Wno-error=deprecated-declarations";
+
+  postPatch = ''
+    # Avoid a glibc >= 2.25 deprecation warnings that get fatal via -Werror.
+    sed 1i'#include <sys/sysmacros.h>' \
+      -i tools/blktap2/control/tap-ctl-allocate.c \
+      -i tools/libxl/libxl_device.c
+    # Makefile didn't include previous PKG_CONFIG_PATH so glib wasn't found
+    substituteInPlace tools/Makefile \
+      --replace 'PKG_CONFIG_PATH=$(XEN_ROOT)/tools/pkg-config' 'PKG_CONFIG_PATH=$(XEN_ROOT)/tools/pkg-config:$(PKG_CONFIG_PATH)'
+  '';
+
+  passthru = {
+    qemu-system-i386 = if withInternalQemu
+      then "lib/xen/bin/qemu-system-i386"
+      else throw "this xen has no qemu builtin";
+  };
+
+})) args
diff --git a/pkgs/applications/virtualization/xen/4.5.nix b/pkgs/applications/virtualization/xen/4.5.nix
index 48f74ce72e5..bb6209ce47f 100644
--- a/pkgs/applications/virtualization/xen/4.5.nix
+++ b/pkgs/applications/virtualization/xen/4.5.nix
@@ -39,6 +39,10 @@ in
 callPackage (import ./generic.nix (rec {
   version = "4.5.5";
 
+  meta = {
+    knownVulnerabilities = [ "Security support ended in January 2018" ];
+  };
+
   src = fetchurl {
     url = "https://downloads.xenproject.org/release/xen/${version}/xen-${version}.tar.gz";
     sha256 = "1y74ms4yc3znf8jc3fgyq94va2y0pf7jh8m9pfqnpgklywqnw8g2";
diff --git a/pkgs/applications/virtualization/xen/4.8.nix b/pkgs/applications/virtualization/xen/4.8.nix
index be6c4e3fcc7..79be1be1190 100644
--- a/pkgs/applications/virtualization/xen/4.8.nix
+++ b/pkgs/applications/virtualization/xen/4.8.nix
@@ -29,6 +29,24 @@ let
 
   xsa = import ./xsa-patches.nix { inherit fetchpatch; };
 
+  xenlockprofpatch = (fetchpatch {
+    name = "xenlockprof-gcc7.patch";
+    url = "https://xenbits.xen.org/gitweb/?p=xen.git;a=patch;h=f49fa658b53580cf2ad354d2bf1796766cc11222";
+    sha256 = "1lvzfvkqirknivm8q4cg5byfqz49s16zjk65fkwl3kwb03chky70";
+  });
+
+  xenpmdpatch = (fetchpatch {
+    name = "xenpmd-gcc7.patch";
+    url = "https://xenbits.xen.org/gitweb/?p=xen.git;a=patch;h=2d78f78a14528752266982473c07118f1bc336e3";
+    sha256 = "1ki295pymbcfc64sjb9wqfwpv19p8vwgmnxankada3vm4fxg2rhq";
+  });
+
+  qemuMemfdBuildFix = fetchpatch {
+    name = "xen-4.8-memfd-build-fix.patch";
+    url = https://github.com/qemu/qemu/commit/75e5b70e6b5dcc4f2219992d7cffa462aa406af0.patch;
+    sha256 = "0gaz93kb33qc0jx6iphvny0yrd17i8zhcl3a9ky5ylc2idz0wiwa";
+  };
+
   qemuDeps = [
     udev pciutils xorg.libX11 SDL pixman acl glusterfs spice-protocol usbredir
     alsaLib
@@ -36,11 +54,11 @@ let
 in
 
 callPackage (import ./generic.nix (rec {
-  version = "4.8.2";
+  version = "4.8.3";
 
   src = fetchurl {
     url = "https://downloads.xenproject.org/release/xen/${version}/xen-${version}.tar.gz";
-    sha256 = "1ydgwbn8ab0s16jrbi3wzaa6j0y3zk0j8pay458qcgayk3qc476b";
+    sha256 = "0vhkpyy5x7kc36hnav95fn194ngsmc3m2xcc78vccs00gdf6m8q9";
   };
 
   # Sources needed to build tools and firmwares.
@@ -49,8 +67,11 @@ callPackage (import ./generic.nix (rec {
       src = fetchgit {
         url = https://xenbits.xen.org/git-http/qemu-xen.git;
         rev = "refs/tags/qemu-xen-${version}";
-        sha256 = "1l4sygd8p0mc13bskr4r1m31qh1kr58h195qn1s52869s58jyhvm";
+        sha256 = "0lb7zd5nvr6znx47z93nbq4gj8xfb3622s8r2cvmpqmwnmlc3nd4";
       };
+      patches = [
+        qemuMemfdBuildFix
+      ];
       buildInputs = qemuDeps;
       meta.description = "Xen's fork of upstream Qemu";
     };
@@ -138,26 +159,15 @@ callPackage (import ./generic.nix (rec {
     ++ optional (withInternalOVMF) "--enable-ovmf";
 
   patches = with xsa; flatten [
-    XSA_231
-    XSA_232
-    XSA_233
-    XSA_234_48
-    XSA_236
-    XSA_237_48
-    XSA_238
-    XSA_239
-    XSA_240_48
-    XSA_241
-    XSA_242
-    XSA_243_48
-    XSA_244
-    XSA_245
-    XSA_246
-    XSA_247_48
-    XSA_248_48
-    XSA_249
-    XSA_250
-    XSA_251_48
+    # XSA_231 to XSA-251 are fixed in 4.8.3 (verified with git log)
+    XSA_252_49
+    # 253: 4.8 not affected
+    # 254: no patch supplied by xen project (Meltdown/Spectre)
+    XSA_255_49_1
+    XSA_255_49_2
+    XSA_256_48
+    xenlockprofpatch
+    xenpmdpatch
   ];
 
   # Fix build on Glibc 2.24.
diff --git a/pkgs/applications/virtualization/xen/generic.nix b/pkgs/applications/virtualization/xen/generic.nix
index 9efcc45be35..0cbf30bea74 100644
--- a/pkgs/applications/virtualization/xen/generic.nix
+++ b/pkgs/applications/virtualization/xen/generic.nix
@@ -154,12 +154,12 @@ stdenv.mkDerivation (rec {
     substituteInPlace tools/xenstat/Makefile \
       --replace /usr/include/curses.h ${ncurses.dev}/include/curses.h
 
-    ${optionalString (config.version >= "4.8") ''
+    ${optionalString (builtins.compareVersions config.version "4.8" >= 0) ''
       substituteInPlace tools/hotplug/Linux/launch-xenstore.in \
         --replace /bin/mkdir mkdir
     ''}
 
-    ${optionalString (config.version < "4.6") ''
+    ${optionalString (builtins.compareVersions config.version "4.6" < 0) ''
       # TODO: use this as a template and support our own if-up scripts instead?
       substituteInPlace tools/hotplug/Linux/xen-backend.rules.in \
         --replace "@XEN_SCRIPT_DIR@" $out/etc/xen/scripts
@@ -221,6 +221,7 @@ stdenv.mkDerivation (rec {
     done
   '';
 
+  # TODO(@oxij): Stop referencing args here
   meta = {
     homepage = http://www.xen.org/;
     description = "Xen hypervisor and related components"
@@ -231,5 +232,5 @@ stdenv.mkDerivation (rec {
                     + withXenfiles (name: x: ''* ${name}: ${x.meta.description or "(No description)"}.'');
     platforms = [ "x86_64-linux" ];
     maintainers = with stdenv.lib.maintainers; [ eelco tstrobel oxij ];
-  };
+  } // (config.meta or {});
 } // removeAttrs config [ "xenfiles" "buildInputs" "patches" "postPatch" "meta" ])
diff --git a/pkgs/applications/virtualization/xen/packages.nix b/pkgs/applications/virtualization/xen/packages.nix
index 4b5f15c8ff4..791a3b91818 100644
--- a/pkgs/applications/virtualization/xen/packages.nix
+++ b/pkgs/applications/virtualization/xen/packages.nix
@@ -2,7 +2,7 @@
 , stdenv, overrideCC, gcc49
 }:
 
-# TODO on new Xen version: generalize this to generate [vanilla slim
+# TODO(@oxij) on new Xen version: generalize this to generate [vanilla slim
 # light] for each ./<version>.nix.
 
 rec {
@@ -103,8 +103,54 @@ rec {
     };
   };
 
-  xen-vanilla = xen_4_5-vanilla;
-  xen-slim = xen_4_5-slim;
-  xen-light = xen_4_5-light;
+  xen_4_10-vanilla = callPackage ./4.10.nix {
+    meta = {
+      description = "vanilla";
+      longDescription = ''
+        Vanilla version of Xen. Uses forks of Qemu and Seabios bundled
+        with Xen. This gives vanilla experince, but wastes space and
+        build time: typical NixOS setup that runs lots of VMs will
+        build three different versions of Qemu when using this (two
+        forks and upstream).
+      '';
+    };
+  };
+
+  xen_4_10-slim = xen_4_10-vanilla.override {
+    withInternalQemu = false;
+    withInternalTraditionalQemu = true;
+    withInternalSeabios = false;
+    withSeabios = true;
+
+    meta = {
+      description = "slim";
+      longDescription = ''
+        Slimmed-down version of Xen that reuses nixpkgs packages as
+        much as possible. Different parts may get out of sync, but
+        this builds faster and uses less space than vanilla. Use with
+        `qemu_xen` from nixpkgs.
+      '';
+    };
+  };
+
+  xen_4_10-light = xen_4_10-vanilla.override {
+    withInternalQemu = false;
+    withInternalTraditionalQemu = false;
+    withInternalSeabios = false;
+    withSeabios = true;
+
+    meta = {
+      description = "light";
+      longDescription = ''
+        Slimmed-down version of Xen without `qemu-traditional` (you
+        don't need it if you don't know what it is). Use with
+        `qemu_xen-light` from nixpkgs.
+      '';
+    };
+  };
+
+  xen-vanilla = xen_4_8-vanilla;
+  xen-slim = xen_4_8-slim;
+  xen-light = xen_4_8-light;
 
 }
diff --git a/pkgs/applications/virtualization/xen/xsa-patches.nix b/pkgs/applications/virtualization/xen/xsa-patches.nix
index 8f8cc459a24..727546b69fb 100644
--- a/pkgs/applications/virtualization/xen/xsa-patches.nix
+++ b/pkgs/applications/virtualization/xen/xsa-patches.nix
@@ -863,5 +863,74 @@ in rec {
       sha256 = "079wi0j6iydid2zj7k584w2c393kgh588w7sjz2nn4039qn8k9mq";
     })
   ];
+  # 4.8
+  XSA_252_49 = [
+   (xsaPatch {
+      name = "252-4.9";
+      sha256 = "03sbn90nlkk5ba1n168rxjkc7x3mqj7rfqvspbwblmwikfbnms2n";
+    })
+  ];
+  # 4.8
+  XSA_255_49_1= [
+   (xsaPatch {
+      name = "255-4.9-1";
+      sha256 = "0gbin7yxbkq40lvm3gvj1vffavvbng3zpd2m8l1kqyz0rv4vm9zc";
+    })
+  ];
+  # 4.8
+  XSA_255_49_2= [
+   (xsaPatch {
+      name = "255-4.9-2";
+      sha256 = "0fyg5nnyfpfr80qq83pr64zjp5w1nx94bdblzsjap8gaqcahyr12";
+    })
+  ];
+  # 4.8
+  XSA_256_48= [
+   (xsaPatch {
+      name = "256-4.8";
+      sha256 = "1w84f717kxwx0h3rw18r4f8pl0l1h5xlj5fy80sr0ws4xkp1qdn4";
+    })
+  ];
+
+
+  # 4.10
+  XSA_252 = [
+   (xsaPatch {
+      name = "252";
+      sha256 = "0v4sg20dnvnwrjh3x69gk81v2kmcql7g2s044vg3wcxhzvij1rrn";
+    })
+  ];
+
+  # 4.10
+  XSA_253 = [
+   (xsaPatch {
+      name = "253";
+      sha256 = "0445vzlzy3gd499xraqh5r4qjar6qr0y3813h22jy1n84nhxz27i";
+    })
+  ];
+
+  # 4.10
+  XSA_255_1 = [
+   (xsaPatch {
+      name = "255-1";
+      sha256 = "05g2f3ji1rrjlw3yw4nrns50pnmsib8ybrf64scr1817mj0q9myr";
+    })
+  ];
+
+  # 4.10
+  XSA_255_2 = [
+   (xsaPatch {
+      name = "255-2";
+      sha256 = "08wbngw5z0f9g8di59hww3hhi7j9z49bpc4xlwn5akfcwbgf0961";
+    })
+  ];
+
+  # 4.10
+  XSA_256 = [
+   (xsaPatch {
+      name = "256";
+      sha256 = "1hicwhbwj6k25px55f4ncx1c5xiihi8pfvsb3kv57k7kaicb7pza";
+    })
+  ];
 
 }
diff --git a/pkgs/applications/window-managers/bspwm/default.nix b/pkgs/applications/window-managers/bspwm/default.nix
index 16c624b09cc..0538228d4b4 100644
--- a/pkgs/applications/window-managers/bspwm/default.nix
+++ b/pkgs/applications/window-managers/bspwm/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   name = "bspwm-${version}";
-  version = "0.9.3";
+  version = "0.9.5";
 
   src = fetchFromGitHub {
     owner  = "baskerville";
     repo   = "bspwm";
     rev    = version;
-    sha256 = "144g0vg0jsy0lja2jv1qbdps8k05nk70pc7vslj3im61a21vnbis";
+    sha256 = "09h3g1rxxjyw861mk32lj774nmwkx8cwxq4wfgmf4dpbizymvhhr";
   };
 
   buildInputs = [ libxcb libXinerama xcbutil xcbutilkeysyms xcbutilwm ];
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
   meta = with stdenv.lib; {
     description = "A tiling window manager based on binary space partitioning";
     homepage = https://github.com/baskerville/bspwm;
-    maintainers = with maintainers; [ meisternu epitrochoid ];
+    maintainers = with maintainers; [ meisternu epitrochoid rvolosatovs ];
     license = licenses.bsd2;
     platforms = platforms.linux;
   };
diff --git a/pkgs/applications/window-managers/dwm/default.nix b/pkgs/applications/window-managers/dwm/default.nix
index 76352753db1..f18afb93527 100644
--- a/pkgs/applications/window-managers/dwm/default.nix
+++ b/pkgs/applications/window-managers/dwm/default.nix
@@ -7,7 +7,7 @@ stdenv.mkDerivation {
   inherit name;
  
   src = fetchurl {
-    url = "http://dl.suckless.org/dwm/${name}.tar.gz";
+    url = "https://dl.suckless.org/dwm/${name}.tar.gz";
     sha256 = "1zkmwb6df6m254shx06ly90c0q4jl70skk1pvkixpb7hcxhwbxn2";
   };
  
diff --git a/pkgs/applications/window-managers/i3/default.nix b/pkgs/applications/window-managers/i3/default.nix
index 19aa89a7f7e..986639c947b 100644
--- a/pkgs/applications/window-managers/i3/default.nix
+++ b/pkgs/applications/window-managers/i3/default.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   name = "i3-${version}";
-  version = "4.14.1";
+  version = "4.15";
 
   src = fetchurl {
-    url = "http://i3wm.org/downloads/${name}.tar.bz2";
-    sha256 = "1cazmfbbx6n8c81h6x6pdayq3mxs2ml3adz165z8vapkc72kl1nh";
+    url = "https://i3wm.org/downloads/${name}.tar.bz2";
+    sha256 = "09jk70hsdxab24lqvj2f30ijrkbv3f6q9xi5dcsax1dw3x6m4z91";
   };
 
   nativeBuildInputs = [ which pkgconfig makeWrapper ];
@@ -57,7 +57,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "A tiling window manager";
-    homepage    = "http://i3wm.org";
+    homepage    = "https://i3wm.org";
     maintainers = with maintainers; [ garbas modulistic fpletz ];
     license     = licenses.bsd3;
     platforms   = platforms.all;
diff --git a/pkgs/applications/window-managers/i3/gaps.nix b/pkgs/applications/window-managers/i3/gaps.nix
index b322c7da193..d6668cde2bd 100644
--- a/pkgs/applications/window-managers/i3/gaps.nix
+++ b/pkgs/applications/window-managers/i3/gaps.nix
@@ -3,12 +3,12 @@
 i3.overrideDerivation (super : rec {
 
   name = "i3-gaps-${version}";
-  version = "4.14.1";
-  releaseDate = "2017-09-24";
+  version = "4.15.0.1";
+  releaseDate = "2018-03-13";
 
   src = fetchurl {
     url = "https://github.com/Airblader/i3/archive/${version}.tar.gz";
-    sha256 = "11fnkg4halplcnannfw3ishzwwbxbnjafmkxsim199jhlyjjd8j7";
+    sha256 = "16s6bink8yj3zix4vww64b745d5drf2vqjg8vz3pwzrark09hfal";
   };
 
   nativeBuildInputs = super.nativeBuildInputs ++ [ autoreconfHook ];
diff --git a/pkgs/applications/window-managers/i3/lock-color.nix b/pkgs/applications/window-managers/i3/lock-color.nix
index edaa88bde23..2e50d35d441 100644
--- a/pkgs/applications/window-managers/i3/lock-color.nix
+++ b/pkgs/applications/window-managers/i3/lock-color.nix
@@ -4,14 +4,14 @@
 }:
 
 stdenv.mkDerivation rec {
-  version = "2.10.1-1-c";
+  version = "2.11-c";
   name = "i3lock-color-${version}";
 
   src = fetchFromGitHub {
     owner = "PandorasFox";
     repo = "i3lock-color";
-    rev = "01476c56333cccae80cdd3f125b0b9f3a0fe2cb3";
-    sha256 = "06ca8496fkdkvh4ycg0b7kd3r1bjdqdwfimb51v4nj1lm87pdkdf";
+    rev = version;
+    sha256 = "1myq9fazkwd776agrnj27bm5nwskvss9v9a5qb77n037dv8d0rdw";
   };
 
   nativeBuildInputs = [ autoreconfHook pkgconfig ];
@@ -25,10 +25,33 @@ stdenv.mkDerivation rec {
   installFlags = "PREFIX=\${out} SYSCONFDIR=\${out}/etc MANDIR=\${out}/share/man";
   postInstall = ''
     mv $out/bin/i3lock $out/bin/i3lock-color
+    mv $out/share/man/man1/i3lock.1 $out/share/man/man1/i3lock-color.1
+    sed -i 's/\(^\|\s\|"\)i3lock\(\s\|$\)/\1i3lock-color\2/g' $out/share/man/man1/i3lock-color.1
   '';
   meta = with stdenv.lib; {
-    description = "A simple screen locker like slock";
-    homepage = https://i3wm.org/i3lock/;
+    description = "A simple screen locker like slock, enhanced version with extra configuration options";
+    longDescription = ''
+      Simple screen locker. After locking, a colored background (default: white) or
+      a configurable image is shown, and a ring-shaped unlock-indicator gives feedback
+      for every keystroke. After entering your password, the screen is unlocked again.
+
+      i3lock-color is forked from i3lock (https://i3wm.org/i3lock/) with the following
+      enhancements / additional configuration options:
+
+      - indicator:
+        - shape: ring or bar
+        - size: configurable
+        - all colors: configurable
+        - all texts: configurable
+        - visibility: can be always visible, can be restricted to some screens
+
+      - background: optionally show a blurred screen instead of a single color
+
+      - more information: show text at configurable positions:
+        - clock: time/date with configurable format
+        - keyboard-layout
+    '';
+    homepage = http://github.com/PandorasFox/i3lock-color;
     maintainers = with maintainers; [ garbas malyn ];
     license = licenses.bsd3;
 
diff --git a/pkgs/applications/window-managers/i3/lock.nix b/pkgs/applications/window-managers/i3/lock.nix
index 4d572e8c040..d4bb3cdc1c2 100644
--- a/pkgs/applications/window-managers/i3/lock.nix
+++ b/pkgs/applications/window-managers/i3/lock.nix
@@ -23,6 +23,11 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "A simple screen locker like slock";
+    longDescription = ''
+      Simple screen locker. After locking, a colored background (default: white) or
+      a configurable image is shown, and a ring-shaped unlock-indicator gives feedback
+      for every keystroke. After entering your password, the screen is unlocked again.
+    '';
     homepage = https://i3wm.org/i3lock/;
     maintainers = with maintainers; [ garbas malyn domenkozar ];
     license = licenses.bsd3;
diff --git a/pkgs/applications/window-managers/i3/pystatus.nix b/pkgs/applications/window-managers/i3/pystatus.nix
index 68e77a54b5a..1fed92764c1 100644
--- a/pkgs/applications/window-managers/i3/pystatus.nix
+++ b/pkgs/applications/window-managers/i3/pystatus.nix
@@ -1,14 +1,18 @@
-{ stdenv, fetchurl, libpulseaudio, python3Packages, extraLibs ? [] }:
+{ stdenv, fetchFromGitHub, libpulseaudio, python3Packages, extraLibs ? [] }:
 
 python3Packages.buildPythonApplication rec {
-  name = "${pname}-${version}";
-  version = "3.35";
+  # i3pystatus moved to rolling release:
+  # https://github.com/enkore/i3pystatus/issues/584
+  version = "unstable-2018-04-11";
   pname = "i3pystatus";
   disabled = !python3Packages.isPy3k;
 
-  src = fetchurl {
-    url = "mirror://pypi/i/${pname}/${name}.tar.gz";
-    sha256 = "0g5m05rbqvq1qrspm6fyzky9xfhaz5pvc4hfzgdxrzijn8nfc860";
+  src = fetchFromGitHub
+  {
+    owner = "enkore";
+    repo = "i3pystatus";
+    rev = "3efbd56bb7a851f16173ec6f0eef472b6e96c7cc";
+    sha256 = "0r4mc23chxlaym7jcjnflw7mn5nbw3q8q4ix0nim7lh98yfndd3b";
   };
 
   propagatedBuildInputs = with python3Packages; [ keyring colour netifaces praw psutil basiciw ] ++
@@ -16,7 +20,8 @@ python3Packages.buildPythonApplication rec {
 
   libpulseaudioPath = stdenv.lib.makeLibraryPath [ libpulseaudio ];
   ldWrapperSuffix = "--suffix LD_LIBRARY_PATH : \"${libpulseaudioPath}\"";
-  makeWrapperArgs = [ ldWrapperSuffix ]; # libpulseaudio.so is loaded manually
+  # LC_TIME != C results in locale.Error: unsupported locale setting
+  makeWrapperArgs = [ "--set LC_TIME C" ldWrapperSuffix ]; # libpulseaudio.so is loaded manually
 
   postInstall = ''
     makeWrapper ${python3Packages.python.interpreter} $out/bin/${pname}-python-interpreter \
diff --git a/pkgs/applications/window-managers/i3/status-rust.nix b/pkgs/applications/window-managers/i3/status-rust.nix
index 0b86c0283e0..014434011af 100644
--- a/pkgs/applications/window-managers/i3/status-rust.nix
+++ b/pkgs/applications/window-managers/i3/status-rust.nix
@@ -2,13 +2,13 @@
 
 rustPlatform.buildRustPackage rec {
   name = "i3status-rust-${version}";
-  version = "0.9.0.2018-01-15";
+  version = "0.9.0.2018-03-31";
 
   src = fetchFromGitHub {
     owner = "greshake";
     repo = "i3status-rust";
-    rev = "aa7bc98d945ba63358cd48c66e0261c201b999e4";
-    sha256 = "1q2p53nl499yxsw0i81ryyc2ln80p8i3iii5hx7aiwfi4ybm55b1";
+    rev = "18f99299bcd5b63da4e315c8d78622c4bbf59c45";
+    sha256 = "1pfcq3f724ri6jzchkgf96zd7lb5mc882r64ffx634gqf3n8ch41";
   };
 
   cargoSha256 = "1197hp6d4z14j0r22bvw9ly294li0ivg6yfql4lgi27hbvzag71h";
diff --git a/pkgs/applications/window-managers/i3/status.nix b/pkgs/applications/window-managers/i3/status.nix
index 19c9f8c9835..ae6d8bd22b7 100644
--- a/pkgs/applications/window-managers/i3/status.nix
+++ b/pkgs/applications/window-managers/i3/status.nix
@@ -2,11 +2,11 @@
   }:
 
 stdenv.mkDerivation rec {
-  name = "i3status-2.11";
+  name = "i3status-2.12";
 
   src = fetchurl {
-    url = "http://i3wm.org/i3status/${name}.tar.bz2";
-    sha256 = "0pwcy599fw8by1a1sf91crkqba7679qhvhbacpmhis8c1xrpxnwq";
+    url = "https://i3wm.org/i3status/${name}.tar.bz2";
+    sha256 = "06krpbijv4yi33nypg6qcn4hilcrdyarsdpd9fmr2cq46qaqiikg";
   };
 
   nativeBuildInputs = [ pkgconfig ];
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "A tiling window manager";
-    homepage = http://i3wm.org;
+    homepage = https://i3wm.org;
     maintainers = [ stdenv.lib.maintainers.garbas ];
     license = stdenv.lib.licenses.bsd3;
     platforms = stdenv.lib.platforms.all;
diff --git a/pkgs/applications/window-managers/i3/wk-switch.nix b/pkgs/applications/window-managers/i3/wk-switch.nix
new file mode 100644
index 00000000000..39bd62cd5aa
--- /dev/null
+++ b/pkgs/applications/window-managers/i3/wk-switch.nix
@@ -0,0 +1,32 @@
+{ stdenv, fetchFromGitHub, python2Packages }:
+
+python2Packages.buildPythonApplication rec {
+  pname = "i3-wk-switch";
+  version = "2017-08-21";
+
+  # https://github.com/tmfink/i3-wk-switch/commit/484f840bc4c28ddc60fa3be81e2098f7689e78fb
+  src = fetchFromGitHub {
+    owner = "tmfink";
+    repo = pname;
+    rev = "484f840";
+    sha256 = "0nrc13ld5bx07wrgnpzgpbaixb4rpi93xiapvyb8srd49fj9pcmb";
+  };
+
+  propagatedBuildInputs = with python2Packages; [ i3-py ];
+
+  dontBuild = true;
+  doCheck = false;
+
+  installPhase = ''
+    mkdir -p "$out/bin"
+    cp i3-wk-switch.py "$out/bin/i3-wk-switch"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "XMonad-like workspace switching for i3";
+    maintainers = with maintainers; [ synthetica ];
+    platforms = platforms.linux;
+    license = licenses.mit;
+    homepage = https://travisf.net/i3-wk-switcher;
+  };
+}
diff --git a/pkgs/applications/window-managers/icewm/default.nix b/pkgs/applications/window-managers/icewm/default.nix
index ffd1d995e87..8406736541c 100644
--- a/pkgs/applications/window-managers/icewm/default.nix
+++ b/pkgs/applications/window-managers/icewm/default.nix
@@ -25,6 +25,11 @@ stdenv.mkDerivation rec {
     export cmakeFlags="-DPREFIX=$out -DCFGDIR=/etc/icewm"
   '';
 
+  patches = [ ./fix-strlcat_strlcpy.patch ] ++
+    stdenv.lib.optional stdenv.hostPlatform.isMusl ./musl.patch;
+
+  patchFlags = [ "-p0" ];
+
   meta = {
     description = "A simple, lightweight X window manager";
     longDescription = ''
@@ -34,6 +39,6 @@ stdenv.mkDerivation rec {
     homepage = http://www.icewm.org/;
     license = licenses.lgpl2;
     maintainers = [ maintainers.AndersonTorres ];
-    platforms = platforms.unix;
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/window-managers/icewm/fix-strlcat_strlcpy.patch b/pkgs/applications/window-managers/icewm/fix-strlcat_strlcpy.patch
new file mode 100644
index 00000000000..9721e125b05
--- /dev/null
+++ b/pkgs/applications/window-managers/icewm/fix-strlcat_strlcpy.patch
@@ -0,0 +1,236 @@
+--- src/apppstatus.cc	2017-07-30 10:59:06.000000000 +0200
++++ src/apppstatus.cc	2017-08-09 09:12:54.332052762 +0200
+@@ -366,7 +366,7 @@
+             sscanf(p, "%s %s %s %s %s", val[0], val[1], val[2], val[3], val[4]);
+             for (i = 0; i < 4; i++) {
+                 if (strncmp(val[i+1], "?", 1) != 0)
+-                    strlcpy(phoneNumber, val[i+1], sizeof phoneNumber);
++                    my_strlcpy(phoneNumber, val[i+1], sizeof phoneNumber);
+             }
+         }
+ 
+--- src/base.h	2017-07-30 10:59:06.000000000 +0200
++++ src/base.h	2017-08-09 09:11:13.082025484 +0200
+@@ -44,9 +44,9 @@
+ /*** String Functions *********************************************************/
+ 
+ /* Prefer this as a safer alternative over strcpy. Return strlen(from). */
+-size_t strlcpy(char *dest, const char *from, size_t dest_size);
++size_t my_strlcpy(char *dest, const char *from, size_t dest_size);
+ /* Prefer this over strcat. Return strlen(dest) + strlen(from). */
+-size_t strlcat(char *dest, const char *from, size_t dest_size);
++size_t my_strlcat(char *dest, const char *from, size_t dest_size);
+ 
+ char *newstr(char const *str);
+ char *newstr(char const *str, int len);
+--- src/gnome2.cc	2017-07-30 10:59:06.000000000 +0200
++++ src/gnome2.cc	2017-08-09 09:11:21.819027846 +0200
+@@ -158,8 +158,8 @@
+     const int plen = strlen(fPath);
+ 
+     char tmp[256];
+-    strlcpy(tmp, fPath, sizeof tmp);
+-    strlcat(tmp, "/.directory", sizeof tmp);
++    my_strlcpy(tmp, fPath, sizeof tmp);
++    my_strlcat(tmp, "/.directory", sizeof tmp);
+ 
+     if (isDir && !stat(tmp, &sb)) { // looks like kde/gnome1 style
+ 
+@@ -279,8 +279,8 @@
+ 
+             while ((file = readdir(dir)) != NULL) {
+                 char fullpath[256];
+-                strlcpy(fullpath, dirname, sizeof fullpath);
+-                strlcat(fullpath, file->d_name, sizeof fullpath);
++                my_strlcpy(fullpath, dirname, sizeof fullpath);
++                my_strlcat(fullpath, file->d_name, sizeof fullpath);
+                 GnomeDesktopItem *ditem =
+                     gnome_desktop_item_new_from_file(fullpath,
+                                                      (GnomeDesktopItemLoadFlags)0,
+--- src/icehelp.cc	2017-07-30 10:59:06.000000000 +0200
++++ src/icehelp.cc	2017-08-09 09:11:31.490030459 +0200
+@@ -1790,8 +1790,8 @@
+     const size_t size = 9 + strlen(cfmt) + strlen(cstr) + strlen(crea);
+     char *cbuf = (char *)malloc(size);
+     snprintf(cbuf, size, cfmt, cstr);
+-    strlcat(cbuf, ":\n ", size);
+-    strlcat(cbuf, crea, size);
++    my_strlcat(cbuf, ":\n ", size);
++    my_strlcat(cbuf, crea, size);
+ 
+     node *root = new node(node::div);
+     flist<node> nodes(root);
+--- src/icesm.cc	2017-07-30 10:59:06.000000000 +0200
++++ src/icesm.cc	2017-08-09 09:13:12.946057758 +0200
+@@ -28,10 +28,10 @@
+         wordexp_t w;
+         if (wordexp(trim(buf), &w, 0) != 0 || w.we_wordc == 0)
+             return false;
+-        size_t len = strlcpy(buf, trim(w.we_wordv[0]), bufsiz);
++        size_t len = my_strlcpy(buf, trim(w.we_wordv[0]), bufsiz);
+         for (size_t k = 1; k < w.we_wordc && len < bufsiz; ++k) {
+-            strlcat(buf, " ", bufsiz);
+-            len = strlcat(buf, trim(w.we_wordv[k]), bufsiz);
++            my_strlcat(buf, " ", bufsiz);
++            len = my_strlcat(buf, trim(w.we_wordv[k]), bufsiz);
+         }
+         wordfree(&w);
+         if (len >= bufsiz)
+@@ -39,7 +39,7 @@
+ #else
+         char *str = trim(buf);
+         if (str > buf)
+-            strlcpy(buf, str, bufsiz);
++            my_strlcpy(buf, str, bufsiz);
+ #endif
+         if (buf[0] == '#' || buf[0] == '=')
+             buf[0] = 0;
+--- src/icesound.cc	2017-07-30 10:59:06.000000000 +0200
++++ src/icesound.cc	2017-08-09 09:11:26.686029161 +0200
+@@ -145,8 +145,8 @@
+     char * findSample(int sid)  {
+         char basefname[1024];
+ 
+-        strlcpy(basefname, gui_events[sid].name, sizeof basefname);
+-        strlcat(basefname, ".wav", sizeof basefname);
++        my_strlcpy(basefname, gui_events[sid].name, sizeof basefname);
++        my_strlcat(basefname, ".wav", sizeof basefname);
+ 
+         return findSample(basefname);
+     }
+--- src/misc.cc	2017-07-30 10:59:06.000000000 +0200
++++ src/misc.cc	2017-08-09 09:13:39.372064834 +0200
+@@ -448,7 +448,7 @@
+ #endif
+ 
+ /* Prefer this as a safer alternative over strcpy. Return strlen(from). */
+-size_t strlcpy(char *dest, const char *from, size_t dest_size)
++size_t my_strlcpy(char *dest, const char *from, size_t dest_size)
+ {
+     const char *in = from;
+     if (dest_size > 0) {
+@@ -463,12 +463,12 @@
+ }
+ 
+ /* Prefer this over strcat. Return strlen(dest) + strlen(from). */
+-size_t strlcat(char *dest, const char *from, size_t dest_size)
++size_t my_strlcat(char *dest, const char *from, size_t dest_size)
+ {
+     char *to = dest;
+     char *const stop = to + dest_size - 1;
+     while (to < stop && *to) ++to;
+-    return to - dest + strlcpy(to, from, dest_size - (to - dest));
++    return to - dest + my_strlcpy(to, from, dest_size - (to - dest));
+ }
+ 
+ char *newstr(char const *str) {
+--- src/strtest.cc	2017-07-30 10:59:06.000000000 +0200
++++ src/strtest.cc	2017-08-09 09:13:24.395060823 +0200
+@@ -286,63 +286,63 @@
+     strtest tester("strlc");
+     char d[10] = "@";
+     size_t n;
+-    n = strlcpy(d, "", 0);
++    n = my_strlcpy(d, "", 0);
+     sequal(d, "@");
+     assert(d, n == 0);
+ 
+-    n = strlcpy(d, "a", 0);
++    n = my_strlcpy(d, "a", 0);
+     sequal(d, "@");
+     assert(d, n == 1);
+ 
+-    n = strlcpy(d, "", 1);
++    n = my_strlcpy(d, "", 1);
+     sequal(d, "");
+     assert(d, n == 0);
+ 
+-    n = strlcpy(d, "a", 1);
++    n = my_strlcpy(d, "a", 1);
+     sequal(d, "");
+     assert(d, n == 1);
+ 
+-    n = strlcpy(d, "a", 2);
++    n = my_strlcpy(d, "a", 2);
+     sequal(d, "a");
+     assert(d, n == 1);
+ 
+-    n = strlcpy(d, "ab", 2);
++    n = my_strlcpy(d, "ab", 2);
+     sequal(d, "a");
+     assert(d, n == 2);
+ 
+-    n = strlcpy(d, "ab", 3);
++    n = my_strlcpy(d, "ab", 3);
+     sequal(d, "ab");
+     assert(d, n == 2);
+ 
+-    n = strlcpy(d, "abc", sizeof d);
++    n = my_strlcpy(d, "abc", sizeof d);
+     sequal(d, "abc");
+     assert(d, n == 3);
+ 
+-    n = strlcat(d, "def", 4);
++    n = my_strlcat(d, "def", 4);
+     sequal(d, "abc");
+     assert(d, n == 6);
+ 
+-    n = strlcat(d, "def", sizeof d);
++    n = my_strlcat(d, "def", sizeof d);
+     sequal(d, "abcdef");
+     assert(d, n == 6);
+ 
+-    n = strlcat(d, "ghijkl", sizeof d);
++    n = my_strlcat(d, "ghijkl", sizeof d);
+     sequal(d, "abcdefghi");
+     assert(d, n == 12);
+ 
+-    n = strlcpy(d, "123", sizeof d);
++    n = my_strlcpy(d, "123", sizeof d);
+     sequal(d, "123");
+     assert(d, n == 3);
+ 
+-    n = strlcpy(d, d + 1, sizeof d);
++    n = my_strlcpy(d, d + 1, sizeof d);
+     sequal(d, "23");
+     assert(d, n == 2);
+ 
+-    n = strlcpy(d, d + 1, sizeof d);
++    n = my_strlcpy(d, d + 1, sizeof d);
+     sequal(d, "3");
+     assert(d, n == 1);
+ 
+-    n = strlcpy(d, d + 1, sizeof d);
++    n = my_strlcpy(d, d + 1, sizeof d);
+     sequal(d, "");
+     assert(d, n == 0);
+ }
+@@ -418,7 +418,7 @@
+         while (a.next()) {
+             const char *e = a.entry();
+             assert(e, strcoll(buf, e) < 0);
+-            strlcpy(buf, e, sizeof buf);
++            my_strlcpy(buf, e, sizeof buf);
+         }
+         assert(buf, strcoll(buf, "~~~~~~~~~") < 0);
+     }
+@@ -437,7 +437,7 @@
+             cstring c(s.entry());
+             const char *e = c.c_str();
+             assert(e, strcoll(buf, e) < 0);
+-            strlcpy(buf, e, sizeof buf);
++            my_strlcpy(buf, e, sizeof buf);
+         }
+         assert(buf, strcoll(buf, "~~~~~~~~~") < 0);
+     }
+--- src/udir.cc	2017-07-30 10:59:06.000000000 +0200
++++ src/udir.cc	2017-08-09 09:13:28.346061883 +0200
+@@ -66,7 +66,7 @@
+     if (impl) {
+         DirPtr dirp(impl);
+         if (dirp.next()) {
+-            strlcpy(fEntry, dirp.name(), sizeof fEntry);
++            my_strlcpy(fEntry, dirp.name(), sizeof fEntry);
+             return true;
+         }
+     }
diff --git a/pkgs/applications/window-managers/icewm/musl.patch b/pkgs/applications/window-managers/icewm/musl.patch
new file mode 100644
index 00000000000..e7d18e31287
--- /dev/null
+++ b/pkgs/applications/window-managers/icewm/musl.patch
@@ -0,0 +1,23 @@
+--- src/ylocale.cc	2017-07-30 10:59:06.000000000 +0200
++++ src/ylocale.cc	2017-08-09 08:15:50.938841549 +0200
+@@ -55,6 +55,8 @@
+     int const codesetItems[] = {
+ #ifdef CONFIG_NL_CODESETS
+ 	CONFIG_NL_CODESETS
++#elif !defined(__GLIBC__)
++	CODESET, 0
+ #else
+ 	CODESET, _NL_CTYPE_CODESET_NAME, 0
+ #endif
+--- src/globit.c	2017-07-30 10:59:06.000000000 +0200
++++ src/globit.c	2017-08-09 08:17:18.691824584 +0200
+@@ -143,7 +143,9 @@
+ 	} else if (*pattern == '~') {
+ 		/* yes, tilde */
+ 		is_absolute = 2;
++#if defined(__GLIBC__)
+ 		glob_flags |= GLOB_TILDE;
++#endif
+ 		/* any slash in the pattern? */
+ 		while (*cp && *cp != '/')
+ 			++cp;
diff --git a/pkgs/applications/window-managers/jwm/default.nix b/pkgs/applications/window-managers/jwm/default.nix
index 05f89728f6a..9085385fe25 100644
--- a/pkgs/applications/window-managers/jwm/default.nix
+++ b/pkgs/applications/window-managers/jwm/default.nix
@@ -5,13 +5,13 @@
 
 stdenv.mkDerivation rec {
   name = "jwm-${version}";
-  version = "1653";
+  version = "1685";
   
   src = fetchFromGitHub {
     owner = "joewing";
     repo = "jwm";
     rev = "s${version}";
-    sha256 = "09ci3g97xmif66pp9n4sdvdmlxpw67pwp8lbjynxhdvha5pwwpv5";
+    sha256 = "1kyvy022sij898g2hm5spy5vq0kw6aqd7fsnawl2xyh06gwh29wg";
   };
 
   nativeBuildInputs = [ pkgconfig automake autoconf libtool gettext which ];
diff --git a/pkgs/applications/window-managers/sawfish/default.nix b/pkgs/applications/window-managers/sawfish/default.nix
index d18ffb50795..c219c81c2a5 100644
--- a/pkgs/applications/window-managers/sawfish/default.nix
+++ b/pkgs/applications/window-managers/sawfish/default.nix
@@ -11,12 +11,12 @@ with stdenv.lib;
 stdenv.mkDerivation rec {
 
   name = "sawfish-${version}";
-  version = "1.12.0";
+  version = "1.12.90";
   sourceName = "sawfish_${version}";
 
   src = fetchurl {
     url = "http://download.tuxfamily.org/sawfish/${sourceName}.tar.xz";
-    sha256 = "1z7awzgw8d15aw17kpbj460pcxq8l2rhkaxk47w7yg9qrmg0xja4";
+    sha256 = "18p8srqqj9vjffg13qhspfz2gr1h4vfs10qzlv89g76r289iam31";
   };
 
   nativeBuildInputs = [ autoreconfHook pkgconfig ];
diff --git a/pkgs/applications/window-managers/stumpwm/default.nix b/pkgs/applications/window-managers/stumpwm/default.nix
index e7427fa7763..117d4fe1d6a 100644
--- a/pkgs/applications/window-managers/stumpwm/default.nix
+++ b/pkgs/applications/window-managers/stumpwm/default.nix
@@ -99,5 +99,6 @@ stdenv.mkDerivation rec {
     license     = licenses.gpl2Plus;
     maintainers = with maintainers; [ the-kenny ];
     platforms   = platforms.linux;
+    broken = true; # 2018-04-11
   };
 }
diff --git a/pkgs/applications/window-managers/sway/default.nix b/pkgs/applications/window-managers/sway/default.nix
index d643e2dd218..89e7b9dd088 100644
--- a/pkgs/applications/window-managers/sway/default.nix
+++ b/pkgs/applications/window-managers/sway/default.nix
@@ -8,13 +8,13 @@
 
 stdenv.mkDerivation rec {
   name = "sway-${version}";
-  version = "0.15.1";
+  version = "0.15.2";
 
   src = fetchFromGitHub {
     owner = "swaywm";
     repo = "sway";
     rev = version;
-    sha256 = "00prns3dnafd19ap774p8v994i3p185ji0dnp2xxbkgh2z7sbwpi";
+    sha256 = "1p9j5gv85lsgj4z28qja07dqyvqk41w6mlaflvvm9yxafx477g5n";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/window-managers/sxhkd/default.nix b/pkgs/applications/window-managers/sxhkd/default.nix
index cca9f1c6ac5..86c91347f25 100644
--- a/pkgs/applications/window-managers/sxhkd/default.nix
+++ b/pkgs/applications/window-managers/sxhkd/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   name = "sxhkd-${version}";
-  version = "0.5.8";
+  version = "0.5.9";
 
   src = fetchFromGitHub {
     owner = "baskerville";
     repo = "sxhkd";
     rev = version;
-    sha256 = "0vnm0d2ckijsp8kc2v8jz4raamb487vg62v58v01a3rb9gzzgl06";
+    sha256 = "0cw547x7vky55k3ksrmzmrra4zhslqcwq9xw0y4cmbvy4s1qf64v";
   };
 
   buildInputs = [ asciidoc libxcb xcbutil xcbutilkeysyms xcbutilwm ];
diff --git a/pkgs/applications/window-managers/tabbed/default.nix b/pkgs/applications/window-managers/tabbed/default.nix
index 279ba68eae8..5e1098e9706 100644
--- a/pkgs/applications/window-managers/tabbed/default.nix
+++ b/pkgs/applications/window-managers/tabbed/default.nix
@@ -6,7 +6,7 @@ stdenv.mkDerivation rec {
   name = "tabbed-20160425";
 
   src = fetchgit {
-    url = http://git.suckless.org/tabbed;
+    url = https://git.suckless.org/tabbed;
     rev = "bc236142fa72d2f9d6b5c790d3f3a9a9168a7164";
     sha256 = "1fiv57g3jnlhnb6zrzl3n6lnpn2s9s0sd7bcv7r1nb3grwy7icri";
   };
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
   ];
 
   meta = {
-    homepage = http://tools.suckless.org/tabbed;
+    homepage = https://tools.suckless.org/tabbed;
     description = "Simple generic tabbed fronted to xembed aware applications";
     license = licenses.mit;
     maintainers = with maintainers; [ viric vrthra ];
diff --git a/pkgs/applications/window-managers/trayer/default.nix b/pkgs/applications/window-managers/trayer/default.nix
index 020a7bbb357..5aec0973a7c 100644
--- a/pkgs/applications/window-managers/trayer/default.nix
+++ b/pkgs/applications/window-managers/trayer/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchFromGitHub, pkgconfig, gdk_pixbuf, gtk2 }:
 
 stdenv.mkDerivation rec {
-  name = "trayer-1.1.7";
+  name = "trayer-1.1.8";
 
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ gdk_pixbuf gtk2 ];
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
     owner = "sargon";
     repo = "trayer-srg";
     rev = name;
-    sha256 = "06lpgralggh5546qgvpilzxh4anshli2za41x68x2zbaizyqb09a";
+    sha256 = "1mvhwaqa9bng9wh3jg3b7y8gl7nprbydmhg963xg0r076jyzv0cg";
   };
 
   preConfigure = ''
diff --git a/pkgs/applications/window-managers/velox/dmenu.nix b/pkgs/applications/window-managers/velox/dmenu.nix
index 182a290e0ee..01360e5af0b 100644
--- a/pkgs/applications/window-managers/velox/dmenu.nix
+++ b/pkgs/applications/window-managers/velox/dmenu.nix
@@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "A generic, highly customizable, and efficient menu for the X Window System";
-    homepage = http://tools.suckless.org/dmenu;
+    homepage = https://tools.suckless.org/dmenu;
     license = stdenv.lib.licenses.mit;
     maintainers = with stdenv.lib.maintainers; [ ];
     platforms = with stdenv.lib.platforms; all;
diff --git a/pkgs/applications/window-managers/velox/st.nix b/pkgs/applications/window-managers/velox/st.nix
index 49ce57469bd..2d73df65046 100644
--- a/pkgs/applications/window-managers/velox/st.nix
+++ b/pkgs/applications/window-managers/velox/st.nix
@@ -32,7 +32,7 @@ stdenv.mkDerivation rec {
   enableParallelBuilding = true;
 
   meta = {
-    homepage = http://st.suckless.org/;
+    homepage = https://st.suckless.org/;
     license = licenses.mit;
     maintainers = with maintainers; [ ];
     platforms = with platforms; linux;
diff --git a/pkgs/applications/window-managers/way-cooler/default.nix b/pkgs/applications/window-managers/way-cooler/default.nix
index c8b67ec047a..442bf5e08df 100644
--- a/pkgs/applications/window-managers/way-cooler/default.nix
+++ b/pkgs/applications/window-managers/way-cooler/default.nix
@@ -20,24 +20,16 @@ let
       mkdir -p $out/etc
       cp -r config $out/etc/way-cooler
     '';
-    postFixup = ''
-      cd $out/bin
-      mv way_cooler way-cooler
-    '';
   });
   wc-bg = ((callPackage ./wc-bg.nix {}).wc_bg {}).overrideAttrs (oldAttrs: rec {
     nativeBuildInputs = [ makeWrapper ];
 
     postFixup = ''
-      makeWrapper $out/bin/wc_bg $out/bin/wc-bg \
+      makeWrapper $out/bin/wc-bg $out/bin/wc-bg \
         --prefix LD_LIBRARY_PATH : "${stdenv.lib.makeLibraryPath [ wayland ]}"
     '';
   });
   wc-grab = ((callPackage ./wc-grab.nix {}).wc_grab {}).overrideAttrs (oldAttrs: rec {
-    postFixup = ''
-      cd $out/bin
-      mv wc_grab wc-grab
-    '';
   });
   wc-lock = (((callPackage ./wc-lock.nix {}).wc_lock {}).override {
     crateOverrides = defaultCrateOverrides // {
@@ -47,7 +39,7 @@ let
     nativeBuildInputs = [ makeWrapper ];
 
     postFixup = ''
-      makeWrapper $out/bin/wc_lock $out/bin/wc-lock \
+      makeWrapper $out/bin/wc-lock $out/bin/wc-lock \
         --prefix LD_LIBRARY_PATH : "${stdenv.lib.makeLibraryPath [ libxkbcommon wayland ]}"
     '';
   });
diff --git a/pkgs/applications/window-managers/weston/default.nix b/pkgs/applications/window-managers/weston/default.nix
index bd40a73d264..4a15e323616 100644
--- a/pkgs/applications/window-managers/weston/default.nix
+++ b/pkgs/applications/window-managers/weston/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, wayland, libGLU_combined, libxkbcommon, cairo, libxcb
+{ stdenv, fetchurl, pkgconfig, wayland, libGL, mesa_noglu, libxkbcommon, cairo, libxcb
 , libXcursor, xlibsWrapper, udev, libdrm, mtdev, libjpeg, pam, dbus, libinput
 , pango ? null, libunwind ? null, freerdp ? null, vaapi ? null, libva ? null
 , libwebp ? null, xwayland ? null, wayland-protocols
@@ -7,16 +7,16 @@
 
 stdenv.mkDerivation rec {
   name = "weston-${version}";
-  version = "3.0.0";
+  version = "4.0.0";
 
   src = fetchurl {
     url = "http://wayland.freedesktop.org/releases/${name}.tar.xz";
-    sha256 = "19936zlkb75xcaidd8fag4ah8000wrh2ziqy7nxkq36pimgdbqfd";
+    sha256 = "0n2big8xw6g6n46zm1jyf00dv9r4d84visdz5b8vxpw3xzkhmz50";
   };
 
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    wayland libGLU_combined libxkbcommon cairo libxcb libXcursor xlibsWrapper udev libdrm
+    wayland libGL mesa_noglu libxkbcommon cairo libxcb libXcursor xlibsWrapper udev libdrm
     mtdev libjpeg pam dbus libinput pango libunwind freerdp vaapi libva
     libwebp wayland-protocols
   ];
@@ -32,7 +32,7 @@ stdenv.mkDerivation rec {
     "--enable-weston-launch"
     "--disable-setuid-install" # prevent install target to chown root weston-launch, which fails
   ] ++ stdenv.lib.optional (freerdp != null) "--enable-rdp-compositor"
-    ++ stdenv.lib.optional (vaapi != null) "--enabe-vaapi-recorder"
+    ++ stdenv.lib.optional (vaapi != null) "--enable-vaapi-recorder"
     ++ stdenv.lib.optionals (xwayland != null) [
         "--enable-xwayland"
         "--with-xserver-path=${xwayland.out}/bin/Xwayland"
diff --git a/pkgs/applications/window-managers/wtftw/default.nix b/pkgs/applications/window-managers/wtftw/default.nix
index a4eff26d88c..c68562d82b3 100644
--- a/pkgs/applications/window-managers/wtftw/default.nix
+++ b/pkgs/applications/window-managers/wtftw/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, rustPlatform, cargo, libXinerama, libX11, xlibs, pkgconfig }:
+{ stdenv, fetchFromGitHub, rustPlatform, cargo, libXinerama, libX11, pkgconfig }:
 
 rustPlatform.buildRustPackage rec {
   name = "wtftw-0.0pre20170921";
diff --git a/pkgs/applications/window-managers/xmonad-log-applet/default.nix b/pkgs/applications/window-managers/xmonad/log-applet/default.nix
index def5766e5ee..f2acf03958b 100644
--- a/pkgs/applications/window-managers/xmonad-log-applet/default.nix
+++ b/pkgs/applications/window-managers/xmonad/log-applet/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchFromGitHub, pkgconfig, autoreconfHook, glib, dbus-glib
 , desktopSupport
 , gtk2, gnome2_panel, GConf2
-, libxfce4util, xfce4panel
+, libxfce4util, xfce4-panel
 }:
 
 assert desktopSupport == "gnome2" || desktopSupport == "gnome3" || desktopSupport == "xfce4";
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
               ++ optionals (desktopSupport == "gnome2") [ gtk2 gnome2_panel GConf2 ]
               # TODO: no idea where to find libpanelapplet-4.0
               ++ optionals (desktopSupport == "gnome3") [ ]
-              ++ optionals (desktopSupport == "xfce4") [ gtk2 libxfce4util xfce4panel ]
+              ++ optionals (desktopSupport == "xfce4") [ gtk2 libxfce4util xfce4-panel ]
               ;
   
   nativeBuildInputs = [ autoreconfHook pkgconfig ];
diff --git a/pkgs/applications/window-managers/xmonad-log-applet/fix-paths.patch b/pkgs/applications/window-managers/xmonad/log-applet/fix-paths.patch
index 031843afb17..031843afb17 100644
--- a/pkgs/applications/window-managers/xmonad-log-applet/fix-paths.patch
+++ b/pkgs/applications/window-managers/xmonad/log-applet/fix-paths.patch
diff --git a/pkgs/build-support/bintools-wrapper/add-flags.sh b/pkgs/build-support/bintools-wrapper/add-flags.sh
index 7d118d20fc6..e5c0556556c 100644
--- a/pkgs/build-support/bintools-wrapper/add-flags.sh
+++ b/pkgs/build-support/bintools-wrapper/add-flags.sh
@@ -5,28 +5,20 @@ var_templates_list=(
     NIX+LDFLAGS_BEFORE
     NIX+LDFLAGS_AFTER
     NIX+LDFLAGS_HARDEN
+    NIX+HARDENING_ENABLE
 )
 var_templates_bool=(
     NIX+SET_BUILD_ID
     NIX+DONT_SET_RPATH
 )
 
-declare -a role_infixes=()
-if [ "${NIX_BINTOOLS_WRAPPER_@infixSalt@_TARGET_BUILD:-}" ]; then
-    role_infixes+=(_BUILD_)
-fi
-if [ "${NIX_BINTOOLS_WRAPPER_@infixSalt@_TARGET_HOST:-}" ]; then
-    role_infixes+=(_)
-fi
-if [ "${NIX_BINTOOLS_WRAPPER_@infixSalt@_TARGET_TARGET:-}" ]; then
-    role_infixes+=(_TARGET_)
-fi
+accumulateRoles
 
 for var in "${var_templates_list[@]}"; do
-    mangleVarList "$var" "${role_infixes[@]}"
+    mangleVarList "$var" ${role_infixes[@]+"${role_infixes[@]}"}
 done
 for var in "${var_templates_bool[@]}"; do
-    mangleVarBool "$var" "${role_infixes[@]}"
+    mangleVarBool "$var" ${role_infixes[@]+"${role_infixes[@]}"}
 done
 
 if [ -e @out@/nix-support/libc-ldflags ]; then
diff --git a/pkgs/build-support/bintools-wrapper/add-hardening.sh b/pkgs/build-support/bintools-wrapper/add-hardening.sh
index 5282d17fce2..b7180870860 100644
--- a/pkgs/build-support/bintools-wrapper/add-hardening.sh
+++ b/pkgs/build-support/bintools-wrapper/add-hardening.sh
@@ -1,53 +1,58 @@
-hardeningFlags=(relro bindnow)
-# Intentionally word-split in case 'hardeningEnable' is defined in
-# Nix. Also, our bootstrap tools version of bash is old enough that
-# undefined arrays trip `set -u`.
-if [[ -v hardeningEnable[@] ]]; then
-  hardeningFlags+=(${hardeningEnable[@]})
-fi
-hardeningLDFlags=()
+declare -a hardeningLDFlags=()
+
+declare -A hardeningEnableMap=()
 
-declare -A hardeningDisableMap
+# Intentionally word-split in case 'NIX_HARDENING_ENABLE' is defined in Nix. The
+# array expansion also prevents undefined variables from causing trouble with
+# `set -u`.
+for flag in ${NIX_@infixSalt@_HARDENING_ENABLE-}; do
+  hardeningEnableMap["$flag"]=1
+done
 
-# Intentionally word-split in case 'hardeningDisable' is defined in Nix.
-for flag in ${hardeningDisable[@]:-IGNORED_KEY} @hardening_unsupported_flags@
-do
-  hardeningDisableMap[$flag]=1
+# Remove unsupported flags.
+for flag in @hardening_unsupported_flags@; do
+  unset -v "hardeningEnableMap[$flag]"
 done
 
 if (( "${NIX_DEBUG:-0}" >= 1 )); then
+  declare -a allHardeningFlags=(pie relro bindnow)
+  declare -A hardeningDisableMap=()
+
+  # Determine which flags were effectively disabled so we can report below.
+  for flag in "${allHardeningFlags[@]}"; do
+    if [[ -z "${hardeningEnableMap[$flag]-}" ]]; then
+      hardeningDisableMap[$flag]=1
+    fi
+  done
+
   printf 'HARDENING: disabled flags:' >&2
   (( "${#hardeningDisableMap[@]}" )) && printf ' %q' "${!hardeningDisableMap[@]}" >&2
   echo >&2
-fi
 
-if [[ -z "${hardeningDisableMap[all]:-}" ]]; then
-  if (( "${NIX_DEBUG:-0}" >= 1 )); then
+  if (( "${#hardeningEnableMap[@]}" )); then
     echo 'HARDENING: Is active (not completely disabled with "all" flag)' >&2;
   fi
-  for flag in "${hardeningFlags[@]}"
-  do
-    if [[ -z "${hardeningDisableMap[$flag]:-}" ]]; then
-      case $flag in
-        pie)
-          if [[ ! ("$*" =~ " -shared " || "$*" =~ " -static ") ]]; then
-            if (( "${NIX_DEBUG:-0}" >= 1 )); then echo HARDENING: enabling LDFlags -pie >&2; fi
-            hardeningLDFlags+=('-pie')
-          fi
-          ;;
-        relro)
-          if (( "${NIX_DEBUG:-0}" >= 1 )); then echo HARDENING: enabling relro >&2; fi
-          hardeningLDFlags+=('-z' 'relro')
-          ;;
-        bindnow)
-          if (( "${NIX_DEBUG:-0}" >= 1 )); then echo HARDENING: enabling bindnow >&2; fi
-          hardeningLDFlags+=('-z' 'now')
-          ;;
-        *)
-          # Ignore unsupported. Checked in Nix that at least *some*
-          # tool supports each flag.
-          ;;
-      esac
-    fi
-  done
 fi
+
+for flag in "${!hardeningEnableMap[@]}"; do
+  case $flag in
+    pie)
+      if [[ ! ("$*" =~ " -shared " || "$*" =~ " -static ") ]]; then
+        if (( "${NIX_DEBUG:-0}" >= 1 )); then echo HARDENING: enabling LDFlags -pie >&2; fi
+        hardeningLDFlags+=('-pie')
+      fi
+      ;;
+    relro)
+      if (( "${NIX_DEBUG:-0}" >= 1 )); then echo HARDENING: enabling relro >&2; fi
+      hardeningLDFlags+=('-z' 'relro')
+      ;;
+    bindnow)
+      if (( "${NIX_DEBUG:-0}" >= 1 )); then echo HARDENING: enabling bindnow >&2; fi
+      hardeningLDFlags+=('-z' 'now')
+      ;;
+    *)
+      # Ignore unsupported. Checked in Nix that at least *some*
+      # tool supports each flag.
+      ;;
+  esac
+done
diff --git a/pkgs/build-support/bintools-wrapper/default.nix b/pkgs/build-support/bintools-wrapper/default.nix
index 17ec2ec7ad7..2739537c25d 100644
--- a/pkgs/build-support/bintools-wrapper/default.nix
+++ b/pkgs/build-support/bintools-wrapper/default.nix
@@ -5,7 +5,8 @@
 # script that sets up the right environment variables so that the
 # compiler and the linker just "work".
 
-{ name ? "", stdenvNoCC, nativeTools, noLibc ? false, nativeLibc, nativePrefix ? ""
+{ name ? ""
+, stdenvNoCC, nativeTools, propagateDoc ? !nativeTools, noLibc ? false, nativeLibc, nativePrefix ? ""
 , bintools ? null, libc ? null
 , coreutils ? null, shell ? stdenvNoCC.shell, gnugrep ? null
 , extraPackages ? [], extraBuildCommands ? ""
@@ -15,7 +16,7 @@
 
 with stdenvNoCC.lib;
 
-assert nativeTools -> nativePrefix != "";
+assert nativeTools -> !propagateDoc && nativePrefix != "";
 assert !nativeTools ->
   bintools != null && coreutils != null && gnugrep != null;
 assert !(nativeLibc && noLibc);
@@ -52,6 +53,7 @@ let
   dynamicLinker =
     /**/ if libc == null then null
     else if targetPlatform.libc == "musl"             then "${libc_lib}/lib/ld-musl-*"
+    else if targetPlatform.libc == "bionic"           then "/system/bin/linker"
     else if targetPlatform.system == "i686-linux"     then "${libc_lib}/lib/ld-linux.so.2"
     else if targetPlatform.system == "x86_64-linux"   then "${libc_lib}/lib/ld-linux-x86-64.so.2"
     # ARM with a wildcard, which can be "" or "-armhf".
@@ -72,7 +74,7 @@ in
 
 stdenv.mkDerivation {
   name = targetPrefix
-    + (if name != "" then name else "${bintoolsName}-wrapper")
+    + (if name != "" then name else stdenv.lib.removePrefix targetPrefix "${bintoolsName}-wrapper")
     + (stdenv.lib.optionalString (bintools != null && bintoolsVersion != "") "-${bintoolsVersion}");
 
   preferLocalBuild = true;
@@ -83,7 +85,7 @@ stdenv.mkDerivation {
 
   inherit targetPrefix infixSalt;
 
-  outputs = [ "out" "info" "man" ];
+  outputs = [ "out" ] ++ optionals propagateDoc [ "man" "info" ];
 
   passthru = {
     inherit bintools libc nativeTools nativeLibc nativePrefix;
@@ -111,7 +113,7 @@ stdenv.mkDerivation {
     ''
       set -u
 
-      mkdir -p $out/bin {$out,$info,$man}/nix-support
+      mkdir -p $out/bin $out/nix-support
 
       wrap() {
         local dst="$1"
@@ -189,7 +191,12 @@ stdenv.mkDerivation {
   strictDeps = true;
   depsTargetTargetPropagated = extraPackages;
 
-  setupHook = ./setup-hook.sh;
+  wrapperName = "BINTOOLS_WRAPPER";
+
+  setupHooks = [
+    ../setup-hooks/role.bash
+    ./setup-hook.sh
+  ];
 
   postFixup =
     ''
@@ -245,28 +252,27 @@ stdenv.mkDerivation {
     '')
 
     + optionalString (!nativeTools) ''
-
       ##
       ## User env support
       ##
 
       # Propagate the underling unwrapped bintools so that if you
-      # install the wrapper, you get tools like objdump, the manpages,
-      # etc. as well (same for any binaries of libc).
+      # install the wrapper, you get tools like objdump (same for any
+      # binaries of libc).
       printWords ${bintools_bin} ${if libc == null then "" else libc_bin} > $out/nix-support/propagated-user-env-packages
+    ''
 
+    + optionalString propagateDoc ''
       ##
       ## Man page and info support
       ##
 
-      printWords ${bintools.info or ""} \
-        >> $info/nix-support/propagated-build-inputs
-      printWords ${bintools.man or ""} \
-        >> $man/nix-support/propagated-build-inputs
+      mkdir -p $man/nix-support $info/nix-support
+      printWords ${bintools.man or ""} >> $man/nix-support/propagated-build-inputs
+      printWords ${bintools.info or ""} >> $info/nix-support/propagated-build-inputs
     ''
 
     + ''
-
       ##
       ## Hardening support
       ##
@@ -289,18 +295,18 @@ stdenv.mkDerivation {
       set +u
       substituteAll ${./add-flags.sh} $out/nix-support/add-flags.sh
       substituteAll ${./add-hardening.sh} $out/nix-support/add-hardening.sh
-      substituteAll ${../cc-wrapper/utils.sh} $out/nix-support/utils.sh
+      substituteAll ${../wrapper-common/utils.bash} $out/nix-support/utils.bash
 
       ##
       ## Extra custom steps
       ##
-
     ''
+
     + extraBuildCommands;
 
   inherit dynamicLinker expand-response-params;
 
-  # for substitution in utils.sh
+  # for substitution in utils.bash
   expandResponseParams = "${expand-response-params}/bin/expand-response-params";
 
   meta =
diff --git a/pkgs/build-support/bintools-wrapper/ld-wrapper.sh b/pkgs/build-support/bintools-wrapper/ld-wrapper.sh
index 991ed0fe263..ed2f00a8974 100644
--- a/pkgs/build-support/bintools-wrapper/ld-wrapper.sh
+++ b/pkgs/build-support/bintools-wrapper/ld-wrapper.sh
@@ -14,7 +14,7 @@ if [ -n "@coreutils_bin@" ]; then
     PATH="@coreutils_bin@/bin"
 fi
 
-source @out@/nix-support/utils.sh
+source @out@/nix-support/utils.bash
 
 if [ -z "${NIX_BINTOOLS_WRAPPER_@infixSalt@_FLAGS_SET:-}" ]; then
     source @out@/nix-support/add-flags.sh
@@ -57,8 +57,8 @@ fi
 
 source @out@/nix-support/add-hardening.sh
 
-extraAfter=("${hardeningLDFlags[@]}")
-extraBefore=()
+extraAfter=()
+extraBefore=(${hardeningLDFlags[@]+"${hardeningLDFlags[@]}"})
 
 if [ -z "${NIX_@infixSalt@_LDFLAGS_SET:-}" ]; then
     extraAfter+=($NIX_@infixSalt@_LDFLAGS)
diff --git a/pkgs/build-support/bintools-wrapper/setup-hook.sh b/pkgs/build-support/bintools-wrapper/setup-hook.sh
index a093ef8f3b4..34e85322650 100644
--- a/pkgs/build-support/bintools-wrapper/setup-hook.sh
+++ b/pkgs/build-support/bintools-wrapper/setup-hook.sh
@@ -11,44 +11,22 @@ set -u
 [[ -z ${strictDeps-} ]] || (( "$hostOffset" < 0 )) || return 0
 
 bintoolsWrapper_addLDVars () {
-    case $depHostOffset in
-        -1) local role='BUILD_' ;;
-        0)  local role='' ;;
-        1)  local role='TARGET_' ;;
-        *)  echo "bintools-wrapper: Error: Cannot be used with $depHostOffset-offset deps" >2;
-            return 1 ;;
-    esac
+    # See ../setup-hooks/role.bash
+    local role_post role_pre
+    getTargetRoleEnvHook
 
     if [[ -d "$1/lib64" && ! -L "$1/lib64" ]]; then
-        export NIX_${role}LDFLAGS+=" -L$1/lib64"
+        export NIX_${role_pre}LDFLAGS+=" -L$1/lib64"
     fi
 
     if [[ -d "$1/lib" ]]; then
-        export NIX_${role}LDFLAGS+=" -L$1/lib"
+        export NIX_${role_pre}LDFLAGS+=" -L$1/lib"
     fi
 }
 
-case $targetOffset in
-    -1)
-        export NIX_BINTOOLS_WRAPPER_@infixSalt@_TARGET_BUILD=1
-        role_pre='BUILD_'
-        role_post='_FOR_BUILD'
-        ;;
-    0)
-        export NIX_BINTOOLS_WRAPPER_@infixSalt@_TARGET_HOST=1
-        role_pre=''
-        role_post=''
-        ;;
-    1)
-        export NIX_BINTOOLS_WRAPPER_@infixSalt@_TARGET_TARGET=1
-        role_pre='TARGET_'
-        role_post='_FOR_TARGET'
-        ;;
-    *)
-        echo "cc-wrapper: used as improper sort of dependency" >2;
-        return 1
-        ;;
-esac
+# See ../setup-hooks/role.bash
+getTargetRole
+getTargetRoleWrapper
 
 addEnvHooks "$targetOffset" bintoolsWrapper_addLDVars
 
@@ -83,6 +61,10 @@ do
     fi
 done
 
+# If unset, assume the default hardening flags.
+: ${NIX_HARDENING_ENABLE="fortify stackprotector pic strictoverflow format relro bindnow"}
+export NIX_HARDENING_ENABLE
+
 # No local scope in sourced file
 unset -v role_pre role_post cmd upper_case
 set +u
diff --git a/pkgs/build-support/build-fhs-userenv/chrootenv/chrootenv.c b/pkgs/build-support/build-fhs-userenv/chrootenv/chrootenv.c
index c03a1710f45..7e49e9e78d7 100644
--- a/pkgs/build-support/build-fhs-userenv/chrootenv/chrootenv.c
+++ b/pkgs/build-support/build-fhs-userenv/chrootenv/chrootenv.c
@@ -118,6 +118,7 @@ int main(gint argc, gchar **argv) {
     bind("/", prefix);
 
     fail_if(chroot(prefix));
+    fail_if(chdir("/"));
     fail_if(execvp(*argv, argv));
   }
 
diff --git a/pkgs/build-support/build-fhs-userenv/env.nix b/pkgs/build-support/build-fhs-userenv/env.nix
index da8a86b68f5..d951fb9ab06 100644
--- a/pkgs/build-support/build-fhs-userenv/env.nix
+++ b/pkgs/build-support/build-fhs-userenv/env.nix
@@ -52,11 +52,14 @@ let
     export LOCALE_ARCHIVE='/usr/lib/locale/locale-archive'
     export LD_LIBRARY_PATH='/run/opengl-driver/lib:/run/opengl-driver-32/lib:/usr/lib:/usr/lib32'
     export PATH='/run/wrappers/bin:/usr/bin:/usr/sbin'
+    export TZDIR='/etc/zoneinfo'
 
     # Force compilers and other tools to look in default search paths
+    unset NIX_ENFORCE_PURITY
     export NIX_CC_WRAPPER_${stdenv.cc.infixSalt}_TARGET_HOST=1
     export NIX_CFLAGS_COMPILE='-idirafter /usr/include'
-    export NIX_LDFLAGS_BEFORE='-L/usr/lib -L/usr/lib32'
+    export NIX_CFLAGS_LINK='-L/usr/lib -L/usr/lib32'
+    export NIX_LDFLAGS='-L/usr/lib -L/usr/lib32'
     export PKG_CONFIG_PATH=/usr/lib/pkgconfig
     export ACLOCAL_PATH=/usr/share/aclocal
 
diff --git a/pkgs/build-support/build-setupcfg/default.nix b/pkgs/build-support/build-setupcfg/default.nix
new file mode 100644
index 00000000000..bc6482f0a88
--- /dev/null
+++ b/pkgs/build-support/build-setupcfg/default.nix
@@ -0,0 +1,25 @@
+# Build a python package from info made available by setupcfg2nix.
+#
+# * src: The source of the package.
+# * info: The package information generated by setupcfg2nix.
+# * meta: Standard nixpkgs metadata.
+# * application: Whether this package is a python library or an
+#   application which happens to be written in python.
+# * doCheck: Whether to run the test suites.
+pythonPackages:
+{ src, info, meta ? {}, application ? false, doCheck ? true }: let
+  build = if application
+    then pythonPackages.buildPythonApplication
+  else pythonPackages.buildPythonPackage;
+in build {
+  inherit (info) pname version;
+
+  inherit src meta doCheck;
+
+  nativeBuildInputs = map (p: pythonPackages.${p}) (
+    (info.setup_requires or []) ++
+    (if doCheck then (info.tests_require or []) else []));
+
+  propagatedBuildInputs = map (p: pythonPackages.${p})
+    (info.install_requires or []);
+}
diff --git a/pkgs/build-support/cc-wrapper/add-flags.sh b/pkgs/build-support/cc-wrapper/add-flags.sh
index d8b42244607..9762894607a 100644
--- a/pkgs/build-support/cc-wrapper/add-flags.sh
+++ b/pkgs/build-support/cc-wrapper/add-flags.sh
@@ -9,32 +9,20 @@ var_templates_list=(
     NIX+CFLAGS_LINK
     NIX+CXXSTDLIB_COMPILE
     NIX+CXXSTDLIB_LINK
-    NIX+GNATFLAGS_COMPILE
 )
 var_templates_bool=(
     NIX+ENFORCE_NO_NATIVE
 )
 
-# Accumulate infixes for taking in the right input parameters. See setup-hook
-# for details.
-declare -a role_infixes=()
-if [ "${NIX_CC_WRAPPER_@infixSalt@_TARGET_BUILD:-}" ]; then
-    role_infixes+=(_BUILD_)
-fi
-if [ "${NIX_CC_WRAPPER_@infixSalt@_TARGET_HOST:-}" ]; then
-    role_infixes+=(_)
-fi
-if [ "${NIX_CC_WRAPPER_@infixSalt@_TARGET_TARGET:-}" ]; then
-    role_infixes+=(_TARGET_)
-fi
+accumulateRoles
 
 # We need to mangle names for hygiene, but also take parameters/overrides
 # from the environment.
 for var in "${var_templates_list[@]}"; do
-    mangleVarList "$var" "${role_infixes[@]}"
+    mangleVarList "$var" ${role_infixes[@]+"${role_infixes[@]}"}
 done
 for var in "${var_templates_bool[@]}"; do
-    mangleVarBool "$var" "${role_infixes[@]}"
+    mangleVarBool "$var" ${role_infixes[@]+"${role_infixes[@]}"}
 done
 
 # `-B@out@/bin' forces cc to use ld-wrapper.sh when calling ld.
@@ -51,10 +39,6 @@ if [ -e @out@/nix-support/cc-cflags ]; then
     NIX_@infixSalt@_CFLAGS_COMPILE="$(< @out@/nix-support/cc-cflags) $NIX_@infixSalt@_CFLAGS_COMPILE"
 fi
 
-if [ -e @out@/nix-support/gnat-cflags ]; then
-    NIX_@infixSalt@_GNATFLAGS_COMPILE="$(< @out@/nix-support/gnat-cflags) $NIX_@infixSalt@_GNATFLAGS_COMPILE"
-fi
-
 if [ -e @out@/nix-support/cc-ldflags ]; then
     NIX_@infixSalt@_LDFLAGS+=" $(< @out@/nix-support/cc-ldflags)"
 fi
diff --git a/pkgs/build-support/cc-wrapper/add-hardening.sh b/pkgs/build-support/cc-wrapper/add-hardening.sh
index a35ff3cb426..fc40fe7408b 100644
--- a/pkgs/build-support/cc-wrapper/add-hardening.sh
+++ b/pkgs/build-support/cc-wrapper/add-hardening.sh
@@ -1,67 +1,72 @@
-hardeningFlags=(fortify stackprotector pic strictoverflow format relro bindnow)
-# Intentionally word-split in case 'hardeningEnable' is defined in
-# Nix. Also, our bootstrap tools version of bash is old enough that
-# undefined arrays trip `set -u`.
-if [[ -v hardeningEnable[@] ]]; then
-  hardeningFlags+=(${hardeningEnable[@]})
-fi
-hardeningCFlags=()
+declare -a hardeningCFlags=()
+
+declare -A hardeningEnableMap=()
 
-declare -A hardeningDisableMap
+# Intentionally word-split in case 'NIX_HARDENING_ENABLE' is defined in Nix. The
+# array expansion also prevents undefined variables from causing trouble with
+# `set -u`.
+for flag in ${NIX_@infixSalt@_HARDENING_ENABLE-}; do
+  hardeningEnableMap["$flag"]=1
+done
 
-# Intentionally word-split in case 'hardeningDisable' is defined in Nix.
-for flag in ${hardeningDisable[@]:-IGNORED_KEY} @hardening_unsupported_flags@
-do
-  hardeningDisableMap[$flag]=1
+# Remove unsupported flags.
+for flag in @hardening_unsupported_flags@; do
+  unset -v "hardeningEnableMap[$flag]"
 done
 
 if (( "${NIX_DEBUG:-0}" >= 1 )); then
+  declare -a allHardeningFlags=(fortify stackprotector pie pic strictoverflow format)
+  declare -A hardeningDisableMap=()
+
+  # Determine which flags were effectively disabled so we can report below.
+  for flag in "${allHardeningFlags[@]}"; do
+    if [[ -z "${hardeningEnableMap[$flag]-}" ]]; then
+      hardeningDisableMap["$flag"]=1
+    fi
+  done
+
   printf 'HARDENING: disabled flags:' >&2
   (( "${#hardeningDisableMap[@]}" )) && printf ' %q' "${!hardeningDisableMap[@]}" >&2
   echo >&2
-fi
 
-if [[ -z "${hardeningDisableMap[all]:-}" ]]; then
-  if (( "${NIX_DEBUG:-0}" >= 1 )); then
+  if (( "${#hardeningEnableMap[@]}" )); then
     echo 'HARDENING: Is active (not completely disabled with "all" flag)' >&2;
   fi
-  for flag in "${hardeningFlags[@]}"
-  do
-    if [[ -z "${hardeningDisableMap[$flag]:-}" ]]; then
-      case $flag in
-        fortify)
-          if (( "${NIX_DEBUG:-0}" >= 1 )); then echo HARDENING: enabling fortify >&2; fi
-          hardeningCFlags+=('-O2' '-D_FORTIFY_SOURCE=2')
-          ;;
-        stackprotector)
-          if (( "${NIX_DEBUG:-0}" >= 1 )); then echo HARDENING: enabling stackprotector >&2; fi
-          hardeningCFlags+=('-fstack-protector-strong' '--param' 'ssp-buffer-size=4')
-          ;;
-        pie)
-          if (( "${NIX_DEBUG:-0}" >= 1 )); then echo HARDENING: enabling CFlags -fPIE >&2; fi
-          hardeningCFlags+=('-fPIE')
-          if [[ ! ("$*" =~ " -shared " || "$*" =~ " -static ") ]]; then
-            if (( "${NIX_DEBUG:-0}" >= 1 )); then echo HARDENING: enabling LDFlags -pie >&2; fi
-            hardeningCFlags+=('-pie')
-          fi
-          ;;
-        pic)
-          if (( "${NIX_DEBUG:-0}" >= 1 )); then echo HARDENING: enabling pic >&2; fi
-          hardeningCFlags+=('-fPIC')
-          ;;
-        strictoverflow)
-          if (( "${NIX_DEBUG:-0}" >= 1 )); then echo HARDENING: enabling strictoverflow >&2; fi
-          hardeningCFlags+=('-fno-strict-overflow')
-          ;;
-        format)
-          if (( "${NIX_DEBUG:-0}" >= 1 )); then echo HARDENING: enabling format >&2; fi
-          hardeningCFlags+=('-Wformat' '-Wformat-security' '-Werror=format-security')
-          ;;
-        *)
-          # Ignore unsupported. Checked in Nix that at least *some*
-          # tool supports each flag.
-          ;;
-      esac
-    fi
-  done
 fi
+
+for flag in "${!hardeningEnableMap[@]}"; do
+  case $flag in
+    fortify)
+      if (( "${NIX_DEBUG:-0}" >= 1 )); then echo HARDENING: enabling fortify >&2; fi
+      hardeningCFlags+=('-O2' '-D_FORTIFY_SOURCE=2')
+      ;;
+    stackprotector)
+      if (( "${NIX_DEBUG:-0}" >= 1 )); then echo HARDENING: enabling stackprotector >&2; fi
+      hardeningCFlags+=('-fstack-protector-strong' '--param' 'ssp-buffer-size=4')
+      ;;
+    pie)
+      if (( "${NIX_DEBUG:-0}" >= 1 )); then echo HARDENING: enabling CFlags -fPIE >&2; fi
+      hardeningCFlags+=('-fPIE')
+      if [[ ! ("$*" =~ " -shared " || "$*" =~ " -static ") ]]; then
+        if (( "${NIX_DEBUG:-0}" >= 1 )); then echo HARDENING: enabling LDFlags -pie >&2; fi
+        hardeningCFlags+=('-pie')
+      fi
+      ;;
+    pic)
+      if (( "${NIX_DEBUG:-0}" >= 1 )); then echo HARDENING: enabling pic >&2; fi
+      hardeningCFlags+=('-fPIC')
+      ;;
+    strictoverflow)
+       if (( "${NIX_DEBUG:-0}" >= 1 )); then echo HARDENING: enabling strictoverflow >&2; fi
+      hardeningCFlags+=('-fno-strict-overflow')
+      ;;
+    format)
+      if (( "${NIX_DEBUG:-0}" >= 1 )); then echo HARDENING: enabling format >&2; fi
+      hardeningCFlags+=('-Wformat' '-Wformat-security' '-Werror=format-security')
+      ;;
+    *)
+      # Ignore unsupported. Checked in Nix that at least *some*
+      # tool supports each flag.
+      ;;
+  esac
+done
diff --git a/pkgs/build-support/cc-wrapper/cc-wrapper.sh b/pkgs/build-support/cc-wrapper/cc-wrapper.sh
index c2e6c140635..1b43d7cc211 100644
--- a/pkgs/build-support/cc-wrapper/cc-wrapper.sh
+++ b/pkgs/build-support/cc-wrapper/cc-wrapper.sh
@@ -15,7 +15,7 @@ if [[ -n "@coreutils_bin@" && -n "@gnugrep_bin@" ]]; then
     PATH="@coreutils_bin@/bin:@gnugrep_bin@/bin"
 fi
 
-source @out@/nix-support/utils.sh
+source @out@/nix-support/utils.bash
 
 # Flirting with a layer violation here.
 if [ -z "${NIX_BINTOOLS_WRAPPER_@infixSalt@_FLAGS_SET:-}" ]; then
@@ -134,8 +134,8 @@ fi
 source @out@/nix-support/add-hardening.sh
 
 # Add the flags for the C compiler proper.
-extraAfter=($NIX_@infixSalt@_CFLAGS_COMPILE "${hardeningCFlags[@]}")
-extraBefore=()
+extraAfter=($NIX_@infixSalt@_CFLAGS_COMPILE)
+extraBefore=(${hardeningCFlags[@]+"${hardeningCFlags[@]}"})
 
 if [ "$dontLink" != 1 ]; then
 
diff --git a/pkgs/build-support/cc-wrapper/default.nix b/pkgs/build-support/cc-wrapper/default.nix
index 7cd02c4b24c..7a18993d607 100644
--- a/pkgs/build-support/cc-wrapper/default.nix
+++ b/pkgs/build-support/cc-wrapper/default.nix
@@ -5,24 +5,22 @@
 # script that sets up the right environment variables so that the
 # compiler and the linker just "work".
 
-{ name ? "", stdenvNoCC, nativeTools, noLibc ? false, nativeLibc, nativePrefix ? ""
+{ name ? ""
+, stdenvNoCC, nativeTools, propagateDoc ? !nativeTools, noLibc ? false, nativeLibc, nativePrefix ? ""
 , cc ? null, libc ? null, bintools, coreutils ? null, shell ? stdenvNoCC.shell
-, zlib ? null, extraPackages ? [], extraBuildCommands ? ""
+, extraPackages ? [], extraBuildCommands ? ""
 , isGNU ? false, isClang ? cc.isClang or false, gnugrep ? null
 , buildPackages ? {}
 }:
 
 with stdenvNoCC.lib;
 
-assert nativeTools -> nativePrefix != "";
+assert nativeTools -> !propagateDoc && nativePrefix != "";
 assert !nativeTools ->
   cc != null && coreutils != null && gnugrep != null;
 assert !(nativeLibc && noLibc);
 assert (noLibc || nativeLibc) == (libc == null);
 
-# For ghdl (the vhdl language provider to gcc) we need zlib in the wrapper.
-assert cc.langVhdl or false -> zlib != null;
-
 let
   stdenv = stdenvNoCC;
   inherit (stdenv) hostPlatform targetPlatform;
@@ -73,7 +71,7 @@ assert nativePrefix == bintools.nativePrefix;
 
 stdenv.mkDerivation {
   name = targetPrefix
-    + (if name != "" then name else "${ccName}-wrapper")
+    + (if name != "" then name else stdenv.lib.removePrefix targetPrefix "${ccName}-wrapper")
     + (stdenv.lib.optionalString (cc != null && ccVersion != "") "-${ccVersion}");
 
   preferLocalBuild = true;
@@ -84,7 +82,7 @@ stdenv.mkDerivation {
 
   inherit targetPrefix infixSalt;
 
-  outputs = [ "out" "man" ];
+  outputs = [ "out" ] ++ optionals propagateDoc [ "man" "info" ];
 
   passthru = {
     # "cc" is the generic name for a C compiler, but there is no one for package
@@ -115,7 +113,7 @@ stdenv.mkDerivation {
     ''
       set -u
 
-      mkdir -p $out/bin $out/nix-support $man/nix-support
+      mkdir -p $out/bin $out/nix-support
 
       wrap() {
         local dst="$1"
@@ -188,24 +186,18 @@ stdenv.mkDerivation {
 
     + optionalString cc.langGo or false ''
       wrap ${targetPrefix}gccgo ${./cc-wrapper.sh} $ccPath/${targetPrefix}gccgo
-    ''
-
-    + optionalString cc.langAda or false ''
-      wrap ${targetPrefix}gnatgcc ${./cc-wrapper.sh} $ccPath/${targetPrefix}gnatgcc
-      wrap ${targetPrefix}gnatmake ${./gnat-wrapper.sh} $ccPath/${targetPrefix}gnatmake
-      wrap ${targetPrefix}gnatbind ${./gnat-wrapper.sh} $ccPath/${targetPrefix}gnatbind
-      wrap ${targetPrefix}gnatlink ${./gnatlink-wrapper.sh} $ccPath/${targetPrefix}gnatlink
-    ''
-
-    + optionalString cc.langVhdl or false ''
-      ln -s $ccPath/${targetPrefix}ghdl $out/bin/${targetPrefix}ghdl
     '';
 
   strictDeps = true;
   propagatedBuildInputs = [ bintools ];
   depsTargetTargetPropagated = extraPackages;
 
-  setupHook = ./setup-hook.sh;
+  wrapperName = "CC_WRAPPER";
+
+  setupHooks = [
+    ../setup-hooks/role.bash
+    ./setup-hook.sh
+  ];
 
   postFixup =
     ''
@@ -247,7 +239,6 @@ stdenv.mkDerivation {
     ''
 
     + optionalString (!nativeTools) ''
-
       ##
       ## Initial CFLAGS
       ##
@@ -263,33 +254,21 @@ stdenv.mkDerivation {
       ccLDFlags+=" -L${cc_solib}/lib"
       ccCFlags+=" -B${cc_solib}/lib"
 
-      ${optionalString cc.langVhdl or false ''
-        ccLDFlags+=" -L${zlib.out}/lib"
-      ''}
-
-      # Find the gcc libraries path (may work only without multilib).
-      ${optionalString cc.langAda or false ''
-        basePath=`echo ${cc_solib}/lib/*/*/*`
-        ccCFlags+=" -B$basePath -I$basePath/adainclude"
-        gnatCFlags="-aI$basePath/adainclude -aO$basePath/adalib"
-        echo "$gnatCFlags" > $out/nix-support/gnat-cflags
-      ''}
-
       echo "$ccLDFlags" > $out/nix-support/cc-ldflags
       echo "$ccCFlags" > $out/nix-support/cc-cflags
+    ''
 
+    + optionalString propagateDoc ''
       ##
-      ## User env support
+      ## Man page and info support
       ##
 
-      # Propagate the wrapped cc so that if you install the wrapper,
-      # you get tools like gcov, the manpages, etc. as well (including
-      # for binutils and Glibc).
+      mkdir -p $man/nix-support $info/nix-support
       printWords ${cc.man or ""}  > $man/nix-support/propagated-user-env-packages
+      printWords ${cc.info or ""}  > $info/nix-support/propagated-user-env-packages
     ''
 
     + ''
-
       ##
       ## Hardening support
       ##
@@ -304,18 +283,18 @@ stdenv.mkDerivation {
     + ''
       substituteAll ${./add-flags.sh} $out/nix-support/add-flags.sh
       substituteAll ${./add-hardening.sh} $out/nix-support/add-hardening.sh
-      substituteAll ${./utils.sh} $out/nix-support/utils.sh
+      substituteAll ${../wrapper-common/utils.bash} $out/nix-support/utils.bash
 
       ##
       ## Extra custom steps
       ##
-
     ''
+
     + extraBuildCommands;
 
   inherit expand-response-params;
 
-  # for substitution in utils.sh
+  # for substitution in utils.bash
   expandResponseParams = "${expand-response-params}/bin/expand-response-params";
 
   meta =
diff --git a/pkgs/build-support/cc-wrapper/gnat-wrapper.sh b/pkgs/build-support/cc-wrapper/gnat-wrapper.sh
deleted file mode 100644
index a86c9fe4ada..00000000000
--- a/pkgs/build-support/cc-wrapper/gnat-wrapper.sh
+++ /dev/null
@@ -1,122 +0,0 @@
-#! @shell@
-set -eu -o pipefail +o posix
-shopt -s nullglob
-
-if (( "${NIX_DEBUG:-0}" >= 7 )); then
-    set -x
-fi
-
-# N.B. Gnat is not used during bootstrapping, so we don't need to
-# worry about the old bash empty array `set -u` workarounds.
-
-path_backup="$PATH"
-
-# phase separation makes this look useless
-# shellcheck disable=SC2157
-if [ -n "@coreutils_bin@" ]; then
-    PATH="@coreutils_bin@/bin"
-fi
-
-source @out@/nix-support/utils.sh
-
-if [ -z "${NIX_@infixSalt@_GNAT_WRAPPER_FLAGS_SET:-}" ]; then
-    source @out@/nix-support/add-flags.sh
-fi
-
-
-# Figure out if linker flags should be passed.  GCC prints annoying
-# warnings when they are not needed.
-dontLink=0
-nonFlagArgs=0
-
-for i in "$@"; do
-    if [ "$i" = -c ]; then
-        dontLink=1
-    elif [ "$i" = -M ]; then
-        dontLink=1
-    elif [ "${i:0:1}" != - ]; then
-        nonFlagArgs=1
-    fi
-done
-
-# If we pass a flag like -Wl, then gcc will call the linker unless it
-# can figure out that it has to do something else (e.g., because of a
-# "-c" flag).  So if no non-flag arguments are given, don't pass any
-# linker flags.  This catches cases like "gcc" (should just print
-# "gcc: no input files") and "gcc -v" (should print the version).
-if [ "$nonFlagArgs" = 0 ]; then
-    dontLink=1
-fi
-
-
-# Optionally filter out paths not refering to the store.
-params=("$@")
-if [[ "${NIX_ENFORCE_PURITY:-}" = 1 && -n "$NIX_STORE" ]]; then
-    rest=()
-    for p in "${params[@]}"; do
-        if [ "${p:0:3}" = -L/ ] && badPath "${p:2}"; then
-            skip "${p:2}"
-        elif [ "${p:0:3}" = -I/ ] && badPath "${p:2}"; then
-            skip "${p:2}"
-        elif [ "${p:0:4}" = -aI/ ] && badPath "${p:3}"; then
-            skip "${p:2}"
-        elif [ "${p:0:4}" = -aO/ ] && badPath "${p:3}"; then
-            skip "${p:2}"
-        else
-            rest+=("$p")
-        fi
-    done
-    params=("${rest[@]}")
-fi
-
-
-# Clear march/mtune=native -- they bring impurity.
-if [ "$NIX_@infixSalt@_ENFORCE_NO_NATIVE" = 1 ]; then
-    rest=()
-    for p in "${params[@]}"; do
-        if [[ "$p" = -m*=native ]]; then
-            skip "$p"
-        else
-            rest+=("$p")
-        fi
-    done
-    params=("${rest[@]}")
-fi
-
-
-# Add the flags for the GNAT compiler proper.
-extraAfter=($NIX_@infixSalt@_GNATFLAGS_COMPILE)
-extraBefore=()
-
-if [ "$(basename "$0")x" = "gnatmakex" ]; then
-  extraBefore=("--GNATBIND=@out@/bin/gnatbind" "--GNATLINK=@out@/bin/gnatlink ")
-fi
-
-#if [ "$dontLink" != 1 ]; then
-#    # Add the flags that should be passed to the linker (and prevent
-#    # `ld-wrapper' from adding NIX_@infixSalt@_LDFLAGS again).
-#    for i in $NIX_@infixSalt@_LDFLAGS_BEFORE; do
-#        extraBefore+=("-largs" "$i")
-#    done
-#    for i in $NIX_@infixSalt@_LDFLAGS; do
-#        if [ "${i:0:3}" = -L/ ]; then
-#            extraAfter+=("$i")
-#        else
-#            extraAfter+=("-largs" "$i")
-#        fi
-#    done
-#    export NIX_@infixSalt@_LDFLAGS_SET=1
-#fi
-
-# Optionally print debug info.
-if (( "${NIX_DEBUG:-0}" >= 1 )); then
-    echo "extra flags before to @prog@:" >&2
-    printf "  %q\n" "${extraBefore[@]}"  >&2
-    echo "original flags to @prog@:" >&2
-    printf "  %q\n" "${params[@]}" >&2
-    echo "extra flags after to @prog@:" >&2
-    printf "  %q\n" "${extraAfter[@]}" >&2
-fi
-
-PATH="$path_backup"
-exec @prog@ "${extraBefore[@]}" "${params[@]}" "${extraAfter[@]}"
diff --git a/pkgs/build-support/cc-wrapper/gnatlink-wrapper.sh b/pkgs/build-support/cc-wrapper/gnatlink-wrapper.sh
deleted file mode 100644
index 0944d74e431..00000000000
--- a/pkgs/build-support/cc-wrapper/gnatlink-wrapper.sh
+++ /dev/null
@@ -1,40 +0,0 @@
-#! @shell@
-set -eu -o pipefail +o posix
-shopt -s nullglob
-
-if (( "${NIX_DEBUG:-0}" >= 7 )); then
-    set -x
-fi
-
-# N.B. Gnat is not used during bootstrapping, so we don't need to
-# worry about the old bash empty array `set -u` workarounds.
-
-# Add the flags for the GNAT compiler proper.
-extraAfter=("--GCC=@out@/bin/gcc")
-extraBefore=()
-
-## Add the flags that should be passed to the linker (and prevent
-## `ld-wrapper' from adding NIX_@infixSalt@_LDFLAGS again).
-#for i in $NIX_@infixSalt@_LDFLAGS_BEFORE; do
-#    extraBefore+=("-largs" "$i")
-#done
-#for i in $NIX_@infixSalt@_LDFLAGS; do
-#    if [ "${i:0:3}" = -L/ ]; then
-#        extraAfter+=("$i")
-#    else
-#        extraAfter+=("-largs" "$i")
-#    fi
-#done
-#export NIX_@infixSalt@_LDFLAGS_SET=1
-
-# Optionally print debug info.
-if (( "${NIX_DEBUG:-0}" >= 1 )); then
-    echo "extra flags before to @prog@:" >&2
-    printf "  %q\n" "${extraBefore[@]}"  >&2
-    echo "original flags to @prog@:" >&2
-    printf "  %q\n" "$@" >&2
-    echo "extra flags after to @prog@:" >&2
-    printf "  %q\n" "${extraAfter[@]}" >&2
-fi
-
-exec @prog@ "${extraBefore[@]}" "$@" "${extraAfter[@]}"
diff --git a/pkgs/build-support/cc-wrapper/setup-hook.sh b/pkgs/build-support/cc-wrapper/setup-hook.sh
index 6e635486078..9dacacc1f36 100644
--- a/pkgs/build-support/cc-wrapper/setup-hook.sh
+++ b/pkgs/build-support/cc-wrapper/setup-hook.sh
@@ -66,55 +66,22 @@ set -u
 # over no state, and there's no @-substitutions within, so any redefined
 # function is guaranteed to be exactly the same.
 ccWrapper_addCVars () {
-    # The `depHostOffset` describes how the host platform of the dependencies
-    # are slid relative to the depending package. It is brought into scope of
-    # the environment hook defined as the role of the dependency being applied.
-    case $depHostOffset in
-        -1) local role='BUILD_' ;;
-        0)  local role='' ;;
-        1)  local role='TARGET_' ;;
-        *)  echo "cc-wrapper: Error: Cannot be used with $depHostOffset-offset deps" >2;
-            return 1 ;;
-    esac
+    # See ../setup-hooks/role.bash
+    local role_post role_pre
+    getTargetRoleEnvHook
 
     if [[ -d "$1/include" ]]; then
-        export NIX_${role}CFLAGS_COMPILE+=" ${ccIncludeFlag:--isystem} $1/include"
+        export NIX_${role_pre}CFLAGS_COMPILE+=" ${ccIncludeFlag:--isystem} $1/include"
     fi
 
     if [[ -d "$1/Library/Frameworks" ]]; then
-        export NIX_${role}CFLAGS_COMPILE+=" -F$1/Library/Frameworks"
+        export NIX_${role_pre}CFLAGS_COMPILE+=" -F$1/Library/Frameworks"
     fi
 }
 
-# Since the same cc-wrapper derivation can be depend on in multiple ways, we
-# need to accumulate *each* role (i.e. target platform relative the depending
-# derivation) in which the cc-wrapper derivation is used.
-# `NIX_CC_WRAPPER_@infixSalt@_TARGET_*` tracks this (needs to be an exported env
-# var so can't use fancier data structures).
-#
-# We also need to worry about what role is being added on *this* invocation of
-# setup-hook, which `role` tracks.
-case $targetOffset in
-    -1)
-        export NIX_CC_WRAPPER_@infixSalt@_TARGET_BUILD=1
-        role_pre='BUILD_'
-        role_post='_FOR_BUILD'
-        ;;
-    0)
-        export NIX_CC_WRAPPER_@infixSalt@_TARGET_HOST=1
-        role_pre=''
-        role_post=''
-        ;;
-    1)
-        export NIX_CC_WRAPPER_@infixSalt@_TARGET_TARGET=1
-        role_pre='TARGET_'
-        role_post='_FOR_TARGET'
-        ;;
-    *)
-        echo "cc-wrapper: used as improper sort of dependency" >2;
-        return 1
-        ;;
-esac
+# See ../setup-hooks/role.bash
+getTargetRole
+getTargetRoleWrapper
 
 # We use the `targetOffset` to choose the right env hook to accumulate the right
 # sort of deps (those with that offset).
@@ -147,6 +114,10 @@ export ${role_pre}CXX=@named_cxx@
 export CC${role_post}=@named_cc@
 export CXX${role_post}=@named_cxx@
 
+# If unset, assume the default hardening flags.
+: ${NIX_HARDENING_ENABLE="fortify stackprotector pic strictoverflow format relro bindnow"}
+export NIX_HARDENING_ENABLE
+
 # No local scope in sourced file
 unset -v role_pre role_post
 set +u
diff --git a/pkgs/build-support/docker/default.nix b/pkgs/build-support/docker/default.nix
index c40b096e208..374b71d42a3 100644
--- a/pkgs/build-support/docker/default.nix
+++ b/pkgs/build-support/docker/default.nix
@@ -32,7 +32,42 @@ rec {
     inherit pkgs buildImage pullImage shadowSetup buildImageWithNixDb;
   };
 
-  pullImage = callPackage ./pull.nix {};
+  pullImage = let
+    fixName = name: builtins.replaceStrings ["/" ":"] ["-" "-"] name;
+  in
+    { imageName
+      # To find the digest of an image, you can use skopeo:
+      # skopeo inspect docker://docker.io/nixos/nix:1.11 | jq -r '.Digest'
+      # sha256:20d9485b25ecfd89204e843a962c1bd70e9cc6858d65d7f5fadc340246e2116b
+    , imageDigest
+    , sha256
+      # This used to set a tag to the pulled image
+    , finalImageTag ? "latest"
+    , name ? fixName "docker-image-${imageName}-${finalImageTag}.tar"
+    }:
+
+    runCommand name {
+      impureEnvVars = pkgs.stdenv.lib.fetchers.proxyImpureEnvVars;
+      outputHashMode = "flat";
+      outputHashAlgo = "sha256";
+      outputHash = sha256;
+
+      # One of the dependencies of Skopeo uses a hardcoded /var/tmp for storing
+      # big image files, which is not available in sandboxed builds.
+      nativeBuildInputs = lib.singleton (pkgs.skopeo.overrideAttrs (drv: {
+        postPatch = (drv.postPatch or "") + ''
+          sed -i -e 's!/var/tmp!/tmp!g' \
+            vendor/github.com/containers/image/storage/storage_image.go \
+            vendor/github.com/containers/image/internal/tmpdir/tmpdir.go
+        '';
+      }));
+      SSL_CERT_FILE = "${pkgs.cacert.out}/etc/ssl/certs/ca-bundle.crt";
+
+      sourceURL = "docker://${imageName}@${imageDigest}";
+      destNameTag = "${imageName}:${finalImageTag}";
+    } ''
+      skopeo copy "$sourceURL" "docker-archive://$out:$destNameTag"
+    '';
 
   # We need to sum layer.tar, not a directory, hence tarsum instead of nix-hash.
   # And we cannot untar it, because then we cannot preserve permissions ecc.
@@ -44,8 +79,8 @@ rec {
 
     cp ${./tarsum.go} tarsum.go
     export GOPATH=$(pwd)
-    mkdir src
-    ln -sT ${docker.src}/components/engine/pkg/tarsum src/tarsum
+    mkdir -p src/github.com/docker/docker/pkg
+    ln -sT ${docker.src}/components/engine/pkg/tarsum src/github.com/docker/docker/pkg/tarsum
     go build
 
     cp tarsum $out
@@ -212,7 +247,7 @@ rec {
 
       postMount = ''
         echo "Packing raw image..."
-        tar -C mnt --mtime="@$SOURCE_DATE_EPOCH" -cf $out .
+        tar -C mnt --hard-dereference --sort=name --mtime="@$SOURCE_DATE_EPOCH" -cf $out .
       '';
     };
 
@@ -249,6 +284,10 @@ rec {
     baseJson,
     # Files to add to the layer.
     contents ? null,
+    # When copying the contents into the image, preserve symlinks to
+    # directories (see `rsync -K`).  Otherwise, transform those symlinks
+    # into directories.
+    keepContentsDirlinks ? false,
     # Additional commands to run on the layer before it is tar'd up.
     extraCommands ? "", uid ? 0, gid ? 0
   }:
@@ -262,7 +301,7 @@ rec {
         echo "Adding contents..."
         for item in $contents; do
           echo "Adding $item"
-          rsync -ak --chown=0:0 $item/ layer/
+          rsync -a${if keepContentsDirlinks then "K" else "k"} --chown=0:0 $item/ layer/
         done
       else
         echo "No contents to add to layer."
@@ -277,7 +316,7 @@ rec {
       # Tar up the layer and throw it into 'layer.tar'.
       echo "Packing layer..."
       mkdir $out
-      tar -C layer --mtime="@$SOURCE_DATE_EPOCH" --owner=${toString uid} --group=${toString gid} -cf $out/layer.tar .
+      tar -C layer --hard-dereference --sort=name --mtime="@$SOURCE_DATE_EPOCH" --owner=${toString uid} --group=${toString gid} -cf $out/layer.tar .
 
       # Compute a checksum of the tarball.
       echo "Computing layer checksum..."
@@ -303,6 +342,10 @@ rec {
     runAsRoot,
     # Files to add to the layer. If null, an empty layer will be created.
     contents ? null,
+    # When copying the contents into the image, preserve symlinks to
+    # directories (see `rsync -K`).  Otherwise, transform those symlinks
+    # into directories.
+    keepContentsDirlinks ? false,
     # JSON containing configuration and metadata for this layer.
     baseJson,
     # Existing image onto which to append the new layer.
@@ -327,7 +370,7 @@ rec {
         echo "Adding contents..."
         for item in ${toString contents}; do
           echo "Adding $item..."
-          rsync -ak --chown=0:0 $item/ layer/
+          rsync -a${if keepContentsDirlinks then "K" else "k"} --chown=0:0 $item/ layer/
         done
 
         chmod ug+w layer
@@ -359,7 +402,7 @@ rec {
 
         echo "Packing layer..."
         mkdir $out
-        tar -C layer --mtime="@$SOURCE_DATE_EPOCH" -cf $out/layer.tar .
+        tar -C layer --hard-dereference --sort=name --mtime="@$SOURCE_DATE_EPOCH" -cf $out/layer.tar .
 
         # Compute the tar checksum and add it to the output json.
         echo "Computing checksum..."
@@ -391,6 +434,10 @@ rec {
     fromImageTag ? null,
     # Files to put on the image (a nix store path or list of paths).
     contents ? null,
+    # When copying the contents into the image, preserve symlinks to
+    # directories (see `rsync -K`).  Otherwise, transform those symlinks
+    # into directories.
+    keepContentsDirlinks ? false,
     # Docker config; e.g. what command to run on the container.
     config ? null,
     # Optional bash script to run on the files prior to fixturizing the layer.
@@ -417,11 +464,12 @@ rec {
         if runAsRoot == null
         then mkPureLayer {
           name = baseName;
-          inherit baseJson contents extraCommands uid gid;
+          inherit baseJson contents keepContentsDirlinks extraCommands uid gid;
         } else mkRootLayer {
           name = baseName;
           inherit baseJson fromImage fromImageName fromImageTag
-                  contents runAsRoot diskSize extraCommands;
+                  contents keepContentsDirlinks runAsRoot diskSize
+                  extraCommands;
         };
       result = runCommand "docker-image-${baseName}.tar.gz" {
         buildInputs = [ jshon pigz coreutils findutils jq ];
@@ -484,12 +532,22 @@ rec {
         # Record the contents of the tarball with ls_tar.
         ls_tar temp/layer.tar >> baseFiles
 
+        # Append nix/store directory to the layer so that when the layer is loaded in the
+        # image /nix/store has read permissions for non-root users.
+        # nix/store is added only if the layer has /nix/store paths in it.
+        if [ $(wc -l < $layerClosure) -gt 1 ] && [ $(grep -c -e "^/nix/store$" baseFiles) -eq 0 ]; then
+          mkdir -p nix/store
+          chmod -R 555 nix
+          echo "./nix" >> layerFiles
+          echo "./nix/store" >> layerFiles
+        fi
+
         # Get the files in the new layer which were *not* present in
         # the old layer, and record them as newFiles.
         comm <(sort -n baseFiles|uniq) \
              <(sort -n layerFiles|uniq|grep -v ${layer}) -1 -3 > newFiles
         # Append the new files to the layer.
-        tar -rpf temp/layer.tar --mtime="@$SOURCE_DATE_EPOCH" \
+        tar -rpf temp/layer.tar --hard-dereference --sort=name --mtime="@$SOURCE_DATE_EPOCH" \
           --owner=0 --group=0 --no-recursion --files-from newFiles
 
         echo "Adding meta..."
@@ -537,7 +595,7 @@ rec {
         chmod -R a-w image
 
         echo "Cooking the image..."
-        tar -C image --mtime="@$SOURCE_DATE_EPOCH" --owner=0 --group=0 --xform s:'./':: -c . | pigz -nT > $out
+        tar -C image --hard-dereference --sort=name --mtime="@$SOURCE_DATE_EPOCH" --owner=0 --group=0 --xform s:'^./':: -c . | pigz -nT > $out
 
         echo "Finished."
       '';
diff --git a/pkgs/build-support/docker/examples.nix b/pkgs/build-support/docker/examples.nix
index 691d4bb74db..eb5b9fe36e4 100644
--- a/pkgs/build-support/docker/examples.nix
+++ b/pkgs/build-support/docker/examples.nix
@@ -85,9 +85,9 @@ rec {
   # 4. example of pulling an image. could be used as a base for other images
   nixFromDockerHub = pullImage {
     imageName = "nixos/nix";
-    imageTag = "1.11";
-    # this hash will need change if the tag is updated at docker hub
-    sha256 = "0nncn9pn5miygan51w34c2p9qssi96jgsaqv44dxxdprc8pg0g83";
+    imageDigest = "sha256:20d9485b25ecfd89204e843a962c1bd70e9cc6858d65d7f5fadc340246e2116b";
+    sha256 = "0mqjy3zq2v6rrhizgb9nvhczl87lcfphq9601wcprdika2jz7qh8";
+    finalImageTag = "1.11";
   };
 
   # 5. example of multiple contents, emacs and vi happily coexisting
@@ -116,4 +116,12 @@ rec {
       Env = [ "NIX_PAGER=cat" ];
     };
   };
+
+  # 7. example of adding something on top of an image pull by our
+  # dockerTools chain.
+  onTopOfPulledImage = buildImage {
+    name = "onTopOfPulledImage";
+    fromImage = nixFromDockerHub;
+    contents = [ pkgs.hello ];
+  };
 }
diff --git a/pkgs/build-support/docker/pull.nix b/pkgs/build-support/docker/pull.nix
deleted file mode 100644
index 5611c778586..00000000000
--- a/pkgs/build-support/docker/pull.nix
+++ /dev/null
@@ -1,32 +0,0 @@
-{ stdenv, lib, docker, vmTools, utillinux, curl, kmod, dhcp, cacert, e2fsprogs }:
-let
-  nameReplace = name: builtins.replaceStrings ["/" ":"] ["-" "-"] name;
-in
-# For simplicity we only support sha256.
-{ imageName, imageTag ? "latest", imageId ? "${imageName}:${imageTag}"
-, sha256, name ? (nameReplace "docker-image-${imageName}-${imageTag}.tar") }:
-let
-  pullImage = vmTools.runInLinuxVM (
-    stdenv.mkDerivation {
-      inherit name imageId;
-
-      certs = "${cacert}/etc/ssl/certs/ca-bundle.crt";
-
-      builder = ./pull.sh;
-
-      nativeBuildInputs = [ curl utillinux docker kmod dhcp cacert e2fsprogs ];
-
-      outputHashAlgo = "sha256";
-      outputHash = sha256;
-
-      impureEnvVars = lib.fetchers.proxyImpureEnvVars;
-
-      preVM = vmTools.createEmptyImage {
-        size = 2048;
-        fullName = "${name}-disk";
-      };
-
-      QEMU_OPTS = "-netdev user,id=net0 -device virtio-net-pci,netdev=net0";
-    });
-in
-  pullImage
diff --git a/pkgs/build-support/docker/pull.sh b/pkgs/build-support/docker/pull.sh
deleted file mode 100644
index 0b1e9f310ee..00000000000
--- a/pkgs/build-support/docker/pull.sh
+++ /dev/null
@@ -1,36 +0,0 @@
-source $stdenv/setup
-
-mkdir -p /var/lib/docker
-mkfs.ext4 /dev/vda
-mount -t ext4 /dev/vda /var/lib/docker
-
-modprobe virtio_net
-dhclient eth0
-
-mkdir -p /etc/ssl/certs/
-cp "$certs" "/etc/ssl/certs/"
-
-# from https://github.com/tianon/cgroupfs-mount/blob/master/cgroupfs-mount
-mount -t tmpfs -o uid=0,gid=0,mode=0755 cgroup /sys/fs/cgroup
-cd /sys/fs/cgroup
-for sys in $(awk '!/^#/ { if ($4 == 1) print $1 }' /proc/cgroups); do
-  mkdir -p $sys
-  if ! mountpoint -q $sys; then
-    if ! mount -n -t cgroup -o $sys cgroup $sys; then
-      rmdir $sys || true
-    fi
-  fi
-done
-
-# run docker daemon
-dockerd -H tcp://127.0.0.1:5555 -H unix:///var/run/docker.sock &
-
-until docker ps 2>/dev/null; do
-  printf '.'
-  sleep 1
-done
-
-rm -r $out
-
-docker pull ${imageId}
-docker save ${imageId} > $out
diff --git a/pkgs/build-support/docker/tarsum.go b/pkgs/build-support/docker/tarsum.go
index ad33bbac75b..f91a90bdbda 100644
--- a/pkgs/build-support/docker/tarsum.go
+++ b/pkgs/build-support/docker/tarsum.go
@@ -5,7 +5,7 @@ import (
 	"io"
 	"io/ioutil"
 	"os"
-	"tarsum"
+	"github.com/docker/docker/pkg/tarsum"
 )
 
 func main() {
diff --git a/pkgs/build-support/emacs/buffer.nix b/pkgs/build-support/emacs/buffer.nix
index 550163ddd69..8f824f4e1a5 100644
--- a/pkgs/build-support/emacs/buffer.nix
+++ b/pkgs/build-support/emacs/buffer.nix
@@ -45,6 +45,8 @@ rec {
       (setenv "PATH" (concat "${lib.makeSearchPath "bin" pkgs}:" (getenv "PATH")))
       (inherit-local-permanent exec-path (append '(${builtins.concatStringsSep " " (map (p: "\"${p}/bin\"") pkgs)}) exec-path))
 
+      (inherit-local-permanent eshell-path-env (concat "${lib.makeSearchPath "bin" pkgs}:" eshell-path-env))
+
       (setq nixpkgs--is-nixpkgs-buffer t)
       (inherit-local 'nixpkgs--is-nixpkgs-buffer)
 
diff --git a/pkgs/build-support/fetchcvs/builder.sh b/pkgs/build-support/fetchcvs/builder.sh
index 6ee594b33b2..0975c347882 100644
--- a/pkgs/build-support/fetchcvs/builder.sh
+++ b/pkgs/build-support/fetchcvs/builder.sh
@@ -1,5 +1,10 @@
 source $stdenv/setup
 
+(echo '#!/usr/bin/env sh'; \
+ echo 'ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no "$@"') > ssh
+chmod +x ssh
+export CVS_RSH=$PWD/ssh
+
 # creating the export drictory and checking out there only to be able to
 # move the content without the root directory into $out ...
 # cvs -f -d "$url" export $tag -d "$out" "$module"
diff --git a/pkgs/build-support/fetchcvs/default.nix b/pkgs/build-support/fetchcvs/default.nix
index 9d9deb3f629..1f7947d4d45 100644
--- a/pkgs/build-support/fetchcvs/default.nix
+++ b/pkgs/build-support/fetchcvs/default.nix
@@ -3,18 +3,18 @@
 # tag="<tagname>" (get version by tag name)
 # If you don't specify neither one date="NOW" will be used (get latest)
 
-{stdenvNoCC, cvs}:
+{stdenvNoCC, cvs, openssh}:
 
 {cvsRoot, module, tag ? null, date ? null, sha256}:
 
 stdenvNoCC.mkDerivation {
   name = "cvs-export";
   builder = ./builder.sh;
-  nativeBuildInputs = [cvs];
+  nativeBuildInputs = [cvs openssh];
 
   outputHashAlgo = "sha256";
   outputHashMode = "recursive";
   outputHash = sha256;
-  
+
   inherit cvsRoot module sha256 tag date;
 }
diff --git a/pkgs/build-support/fetchgit/nix-prefetch-git b/pkgs/build-support/fetchgit/nix-prefetch-git
index 2441da156d1..1d993dcc109 100755
--- a/pkgs/build-support/fetchgit/nix-prefetch-git
+++ b/pkgs/build-support/fetchgit/nix-prefetch-git
@@ -185,7 +185,7 @@ init_submodules(){
 
         # checkout each submodule
         hash=$(echo "$l" | awk '{print $1}' | tr -d '-')
-        dir=$(echo "$l" | awk '{print $2}')
+        dir=$(echo "$l" | sed -n 's/^ \{0,1\}[^ ]* \(.*\) ([^ ]*)$/\1/p')
         name=$(
             git config -f .gitmodules --get-regexp submodule\..*\.path |
             sed -n "s,^\(.*\)\.path $dir\$,\\1,p")
diff --git a/pkgs/build-support/fetchs3/default.nix b/pkgs/build-support/fetchs3/default.nix
index e6b7a3418c0..14dac9997d9 100644
--- a/pkgs/build-support/fetchs3/default.nix
+++ b/pkgs/build-support/fetchs3/default.nix
@@ -1,6 +1,7 @@
 { stdenvNoCC, runCommand, awscli }:
 
 { s3url
+, name ? builtins.baseNameOf s3url
 , sha256
 , region ? "us-east-1"
 , credentials ? null # Default to looking at local EC2 metadata service
@@ -10,16 +11,23 @@
 }:
 
 let
-  credentialAttrs = stdenvNoCC.lib.optionalAttrs (credentials != null) {
-    AWS_ACCESS_KEY_ID = credentials.access_key_id;
-    AWS_SECRET_ACCESS_KEY = credentials.secret_access_key;
-    AWS_SESSION_TOKEN = credentials.session_token ? null;
+  mkCredentials = { access_key_id, secret_access_key, session_token ? null }: {
+    AWS_ACCESS_KEY_ID = access_key_id;
+    AWS_SECRET_ACCESS_KEY = secret_access_key;
+    AWS_SESSION_TOKEN = session_token;
   };
-in runCommand "foo" ({
+
+  credentialAttrs = stdenvNoCC.lib.optionalAttrs (credentials != null) (mkCredentials credentials);
+in runCommand name ({
   nativeBuildInputs = [ awscli ];
+
   outputHashAlgo = "sha256";
   outputHash = sha256;
   outputHashMode = if recursiveHash then "recursive" else "flat";
+
+  preferLocalBuild = true;
+
+  AWS_DEFAULT_REGION = region;
 } // credentialAttrs) (if postFetch != null then ''
   downloadedFile="$(mktemp)"
   aws s3 cp ${s3url} $downloadedFile
diff --git a/pkgs/build-support/fetchurl/mirrors.nix b/pkgs/build-support/fetchurl/mirrors.nix
index d612db64c12..b0d3f373a46 100644
--- a/pkgs/build-support/fetchurl/mirrors.nix
+++ b/pkgs/build-support/fetchurl/mirrors.nix
@@ -129,7 +129,7 @@ rec {
 
   samba = [
     https://www.samba.org/ftp/
-    http://ftp.riken.jp/net/samba
+    http://www.samba.org/ftp/
   ];
 
   # BitlBee mirrors, see https://www.bitlbee.org/main.php/mirrors.html .
diff --git a/pkgs/build-support/gcc-wrapper-old/add-flags b/pkgs/build-support/gcc-wrapper-old/add-flags
deleted file mode 100644
index 93da917a541..00000000000
--- a/pkgs/build-support/gcc-wrapper-old/add-flags
+++ /dev/null
@@ -1,28 +0,0 @@
-# `-B@out@/bin' forces cc to use ld-wrapper.sh when calling ld.
-export NIX_CFLAGS_COMPILE="-B@out@/bin/ $NIX_CFLAGS_COMPILE"
-
-if test -e @out@/nix-support/libc-cflags; then
-    export NIX_CFLAGS_COMPILE="$(cat @out@/nix-support/libc-cflags) $NIX_CFLAGS_COMPILE"
-fi
-
-if test -e @out@/nix-support/cc-cflags; then
-    export NIX_CFLAGS_COMPILE="$(cat @out@/nix-support/cc-cflags) $NIX_CFLAGS_COMPILE"
-fi
-
-if test -e @out@/nix-support/gnat-cflags; then
-    export NIX_GNATFLAGS_COMPILE="$(cat @out@/nix-support/gnat-cflags) $NIX_GNATFLAGS_COMPILE"
-fi
-
-if test -e @out@/nix-support/libc-ldflags; then
-    export NIX_LDFLAGS="$NIX_LDFLAGS $(cat @out@/nix-support/libc-ldflags)"
-fi
-
-if test -e @out@/nix-support/cc-ldflags; then
-    export NIX_LDFLAGS="$NIX_LDFLAGS $(cat @out@/nix-support/cc-ldflags)"
-fi
-
-if test -e @out@/nix-support/libc-ldflags-before; then
-    export NIX_LDFLAGS_BEFORE="$(cat @out@/nix-support/libc-ldflags-before) $NIX_LDFLAGS_BEFORE"
-fi
-
-export NIX_CC_WRAPPER_FLAGS_SET=1
diff --git a/pkgs/build-support/gcc-wrapper-old/builder.sh b/pkgs/build-support/gcc-wrapper-old/builder.sh
deleted file mode 100644
index 22e32814927..00000000000
--- a/pkgs/build-support/gcc-wrapper-old/builder.sh
+++ /dev/null
@@ -1,215 +0,0 @@
-source $stdenv/setup
-
-
-mkdir -p $out/bin
-mkdir -p $out/nix-support
-
-
-if test -z "$nativeLibc"; then
-    dynamicLinker="$libc/lib/$dynamicLinker"
-    echo $dynamicLinker > $out/nix-support/dynamic-linker
-
-    if test -e $libc/lib/32/ld-linux.so.2; then
-        echo $libc/lib/32/ld-linux.so.2 > $out/nix-support/dynamic-linker-m32
-    fi
-
-    # The "-B$libc/lib/" flag is a quick hack to force gcc to link
-    # against the crt1.o from our own glibc, rather than the one in
-    # /usr/lib.  (This is only an issue when using an `impure'
-    # compiler/linker, i.e., one that searches /usr/lib and so on.)
-    #
-    # Unfortunately, setting -B appears to override the default search
-    # path. Thus, the gcc-specific "../includes-fixed" directory is
-    # now longer searched and glibc's <limits.h> header fails to
-    # compile, because it uses "#include_next <limits.h>" to find the
-    # limits.h file in ../includes-fixed. To remedy the problem,
-    # another -idirafter is necessary to add that directory again.
-    echo "-B$libc/lib/ -idirafter $libc_dev/include -idirafter $gcc/lib/gcc/*/*/include-fixed" > $out/nix-support/libc-cflags
-
-    echo "-L$libc/lib" > $out/nix-support/libc-ldflags
-
-    # The dynamic linker is passed in `ldflagsBefore' to allow
-    # explicit overrides of the dynamic linker by callers to gcc/ld
-    # (the *last* value counts, so ours should come first).
-    echo "-dynamic-linker" $dynamicLinker > $out/nix-support/libc-ldflags-before
-fi
-
-if test -n "$nativeTools"; then
-    gccPath="$nativePrefix/bin"
-    ldPath="$nativePrefix/bin"
-else
-    if test -e "$gcc/lib64"; then
-        gccLDFlags="$gccLDFlags -L$gcc_lib/lib64"
-    fi
-    gccLDFlags="$gccLDFlags -L$gcc_lib/lib"
-    if [ -n "$langVhdl" ]; then
-        gccLDFlags="$gccLDFlags -L$zlib/lib"
-    fi
-    echo "$gccLDFlags" > $out/nix-support/cc-ldflags
-
-    # GCC shows $gcc/lib in `gcc -print-search-dirs', but not
-    # $gcc/lib64 (even though it does actually search there...)..
-    # This confuses libtool.  So add it to the compiler tool search
-    # path explicitly.
-    if test -e "$gcc/lib64"; then
-        gccCFlags="$gccCFlags -B$gcc/lib64"
-    fi
-
-    # Find the gcc libraries path (may work only without multilib)
-    if [ -n "$langAda" ]; then
-        basePath=`echo $gcc/lib/*/*/*`
-        gccCFlags="$gccCFlags -B$basePath -I$basePath/adainclude"
-
-        gnatCFlags="-aI$basePath/adainclude -aO$basePath/adalib"
-        echo "$gnatCFlags" > $out/nix-support/gnat-cflags
-    fi
-    echo "$gccCFlags" > $out/nix-support/cc-cflags
-    
-    gccPath="$gcc/bin"
-    # On Illumos/Solaris we might prefer native ld
-    if test -n "$nativePrefix"; then
-      ldPath="$nativePrefix/bin"
-    else
-      ldPath="$binutils/bin"
-    fi;
-fi
-
-
-doSubstitute() {
-    local src=$1
-    local dst=$2
-    local ld="$ldPath/ld"
-    if $ld -V 2>&1 |grep Solaris; then
-      # Use Solaris specific linker wrapper
-      ld="$out/bin/ld-solaris"
-    fi
-    # Can't use substitute() here, because replace may not have been
-    # built yet (in the bootstrap).
-    sed \
-        -e "s^@out@^$out^g" \
-        -e "s^@shell@^$shell^g" \
-        -e "s^@gcc@^$gcc^g" \
-        -e "s^@gccProg@^$gccProg^g" \
-        -e "s^@gnatProg@^$gnatProg^g" \
-        -e "s^@gnatlinkProg@^$gnatlinkProg^g" \
-        -e "s^@binutils@^$binutils^g" \
-        -e "s^@coreutils@^$coreutils^g" \
-        -e "s^@libc@^$libc^g" \
-        -e "s^@libc_bin@^$libc_bin^g" \
-        -e "s^@ld@^$ld^g" \
-        < "$src" > "$dst" 
-}
-
-
-# Make wrapper scripts around gcc, g++, and gfortran.  Also make symlinks
-# cc, c++, and f77.
-mkGccWrapper() {
-    local dst=$1
-    local src=$2
-
-    if ! test -f "$src"; then
-        echo "$src does not exist (skipping)"
-        return 1
-    fi
-
-    gccProg="$src"
-    doSubstitute "$gccWrapper" "$dst"
-    chmod +x "$dst"
-}
-
-mkGnatWrapper() {
-    local dst=$1
-    local src=$2
-
-    if ! test -f "$src"; then
-        echo "$src does not exist (skipping)"
-        return 1
-    fi
-
-    gnatProg="$src"
-    doSubstitute "$gnatWrapper" "$dst"
-    chmod +x "$dst"
-}
-
-mkGnatLinkWrapper() {
-    local dst=$1
-    local src=$2
-
-    if ! test -f "$src"; then
-        echo "$src does not exist (skipping)"
-        return 1
-    fi
-
-    gnatlinkProg="$src"
-    doSubstitute "$gnatlinkWrapper" "$dst"
-    chmod +x "$dst"
-}
-
-if mkGccWrapper $out/bin/gcc $gccPath/gcc
-then
-    ln -sv gcc $out/bin/cc
-fi
-
-if mkGccWrapper $out/bin/g++ $gccPath/g++
-then
-    ln -sv g++ $out/bin/c++
-fi
-
-mkGccWrapper $out/bin/cpp $gccPath/cpp || true
-
-if mkGccWrapper $out/bin/gfortran $gccPath/gfortran
-then
-    ln -sv gfortran $out/bin/g77
-    ln -sv gfortran $out/bin/f77
-fi
-
-mkGccWrapper $out/bin/gcj $gccPath/gcj || true
-
-mkGccWrapper $out/bin/gccgo $gccPath/gccgo || true
-
-mkGccWrapper $out/bin/gnatgcc $gccPath/gnatgcc || true
-mkGnatWrapper $out/bin/gnatmake $gccPath/gnatmake || true
-mkGnatWrapper $out/bin/gnatbind $gccPath/gnatbind || true
-mkGnatLinkWrapper $out/bin/gnatlink $gccPath/gnatlink || true
-
-if [ -f $gccPath/ghdl ]; then
-    ln -sf $gccPath/ghdl $out/bin/ghdl
-fi
-
-
-# Create a symlink to as (the assembler).  This is useful when a
-# gcc-wrapper is installed in a user environment, as it ensures that
-# the right assembler is called.
-ln -s $ldPath/as $out/bin/as
-
-
-# Make a wrapper around the linker.
-doSubstitute "$ldWrapper" "$out/bin/ld"
-chmod +x "$out/bin/ld"
-
-# Copy solaris ld wrapper if needed
-if $ldPath/ld -V 2>&1 |grep Solaris; then
-  # Use Solaris specific linker wrapper
-  sed -e "s^@ld@^$ldPath/ld^g" < "$ldSolarisWrapper" > "$out/bin/ld-solaris"
-  chmod +x "$out/bin/ld-solaris"
-fi
-
-
-# Emit a setup hook.  Also store the path to the original GCC and
-# Glibc.
-test -n "$gcc" && echo $gcc > $out/nix-support/orig-cc
-test -n "$libc" && echo $libc > $out/nix-support/orig-libc
-
-doSubstitute "$addFlags" "$out/nix-support/add-flags.sh"
-
-doSubstitute "$setupHook" "$out/nix-support/setup-hook"
-
-cp -p $utils $out/nix-support/utils.sh
-
-
-# Propagate the wrapped gcc so that if you install the wrapper, you get
-# tools like gcov, the manpages, etc. as well (including for binutils
-# and Glibc).
-if test -z "$nativeTools"; then
-    printWords $gcc $binutils $libc $libc_bin > $out/nix-support/propagated-user-env-packages
-fi
diff --git a/pkgs/build-support/gcc-wrapper-old/default.nix b/pkgs/build-support/gcc-wrapper-old/default.nix
deleted file mode 100644
index 2c2b2c0e1d5..00000000000
--- a/pkgs/build-support/gcc-wrapper-old/default.nix
+++ /dev/null
@@ -1,76 +0,0 @@
-# The Nix `gcc' stdenv.mkDerivation is not directly usable, since it doesn't
-# know where the C library and standard header files are.  Therefore
-# the compiler produced by that package cannot be installed directly
-# in a user environment and used from the command line.  This
-# stdenv.mkDerivation provides a wrapper that sets up the right environment
-# variables so that the compiler and the linker just "work".
-
-{ name ? "", stdenv, lib, nativeTools, nativeLibc, nativePrefix ? ""
-, gcc ? null, libc ? null, binutils ? null, coreutils ? null, shell ? stdenv.shell
-, zlib ? null
-, hostPlatform, targetPlatform, targetPackages
-}:
-
-assert nativeTools -> nativePrefix != "";
-assert !nativeTools -> gcc != null && binutils != null && coreutils != null;
-assert !nativeLibc -> libc != null;
-
-# For ghdl (the vhdl language provider to gcc) we need zlib in the wrapper
-assert (gcc != null && gcc ? langVhdl && gcc.langVhdl) -> zlib != null;
-
-let
-
-  gccVersion = (builtins.parseDrvName gcc.name).version;
-  gccName = (builtins.parseDrvName gcc.name).name;
-
-  langGo = if nativeTools then false else gcc ? langGo && gcc.langGo;
-in
-
-stdenv.mkDerivation {
-  name =
-    (if name != "" then name else gccName + "-wrapper") +
-    (if gcc != null && gccVersion != "" then "-" + gccVersion else "");
-
-  builder = ./builder.sh;
-  setupHook = ./setup-hook.sh;
-  gccWrapper = ./gcc-wrapper.sh;
-  gnatWrapper = ./gnat-wrapper.sh;
-  gnatlinkWrapper = ./gnatlink-wrapper.sh;
-  ldWrapper = ./ld-wrapper.sh;
-  ldSolarisWrapper = ./ld-solaris-wrapper.sh;
-  utils = ./utils.sh;
-  addFlags = ./add-flags;
-
-  inherit nativeTools nativeLibc nativePrefix gcc;
-  gcc_lib = lib.getLib gcc;
-  libc = if nativeLibc then null else libc;
-  libc_dev = if nativeLibc then null else lib.getDev libc;
-  libc_bin = if nativeLibc then null else lib.getBin libc;
-  binutils = if nativeTools then null else lib.getBin binutils;
-  # The wrapper scripts use 'cat', so we may need coreutils
-  coreutils = if nativeTools then null else lib.getBin coreutils;
-
-  langC = if nativeTools then true else gcc.langC;
-  langCC = if nativeTools then true else gcc.langCC;
-  langFortran = if nativeTools then false else gcc ? langFortran;
-  langAda = if nativeTools then false else gcc ? langAda && gcc.langAda;
-  langVhdl = if nativeTools then false else gcc ? langVhdl && gcc.langVhdl;
-  zlib = if gcc != null && gcc ? langVhdl then zlib else null;
-  shell = shell + shell.shellPath or "";
-
-  preferLocalBuild = true;
-
-  meta =
-    let gcc_ = if gcc != null then gcc else {}; in
-    (if gcc_ ? meta then removeAttrs gcc.meta ["priority"] else {}) //
-    { description =
-        stdenv.lib.attrByPath ["meta" "description"] "System C compiler" gcc_
-        + " (wrapper script)";
-    };
-
-  # The dynamic linker has different names on different platforms.
-  dynamicLinker =
-    if !nativeLibc then
-      targetPackages.stdenv.cc.bintools.dynamicLinker
-    else "";
-}
diff --git a/pkgs/build-support/gcc-wrapper-old/gcc-wrapper-old.sh b/pkgs/build-support/gcc-wrapper-old/gcc-wrapper-old.sh
deleted file mode 100644
index a9d18036952..00000000000
--- a/pkgs/build-support/gcc-wrapper-old/gcc-wrapper-old.sh
+++ /dev/null
@@ -1,146 +0,0 @@
-#! @shell@ -e
-
-if [ -n "$NIX_CC_WRAPPER_START_HOOK" ]; then
-    source "$NIX_CC_WRAPPER_START_HOOK"
-fi
-
-if [ -z "$NIX_CC_WRAPPER_FLAGS_SET" ]; then
-    source @out@/nix-support/add-flags.sh
-fi
-
-source @out@/nix-support/utils.sh
-
-
-# Figure out if linker flags should be passed.  GCC prints annoying
-# warnings when they are not needed.
-dontLink=0
-getVersion=0
-nonFlagArgs=0
-
-for i in "$@"; do
-    if [ "$i" = -c ]; then
-        dontLink=1
-    elif [ "$i" = -S ]; then
-        dontLink=1
-    elif [ "$i" = -E ]; then
-        dontLink=1
-    elif [ "$i" = -E ]; then
-        dontLink=1
-    elif [ "$i" = -M ]; then
-        dontLink=1
-    elif [ "$i" = -MM ]; then
-        dontLink=1
-    elif [ "$i" = -x ]; then
-        # At least for the cases c-header or c++-header we should set dontLink.
-        # I expect no one use -x other than making precompiled headers.
-        dontLink=1
-    elif [ "${i:0:1}" != - ]; then
-        nonFlagArgs=1
-    elif [ "$i" = -m32 ]; then
-        if [ -e @out@/nix-support/dynamic-linker-m32 ]; then
-            NIX_LDFLAGS="$NIX_LDFLAGS -dynamic-linker $(cat @out@/nix-support/dynamic-linker-m32)"
-        fi
-    fi
-done
-
-# If we pass a flag like -Wl, then gcc will call the linker unless it
-# can figure out that it has to do something else (e.g., because of a
-# "-c" flag).  So if no non-flag arguments are given, don't pass any
-# linker flags.  This catches cases like "gcc" (should just print
-# "gcc: no input files") and "gcc -v" (should print the version).
-if [ "$nonFlagArgs" = 0 ]; then
-    dontLink=1
-fi
-
-
-# Optionally filter out paths not refering to the store.
-params=("$@")
-if [ "$NIX_ENFORCE_PURITY" = 1 -a -n "$NIX_STORE" ]; then
-    rest=()
-    n=0
-    while [ $n -lt ${#params[*]} ]; do
-        p=${params[n]}
-        p2=${params[$((n+1))]}
-        if [ "${p:0:3}" = -L/ ] && badPath "${p:2}"; then
-            skip $p
-        elif [ "$p" = -L ] && badPath "$p2"; then
-            n=$((n + 1)); skip $p2
-        elif [ "${p:0:3}" = -I/ ] && badPath "${p:2}"; then
-            skip $p
-        elif [ "$p" = -I ] && badPath "$p2"; then
-            n=$((n + 1)); skip $p2
-        elif [ "$p" = -isystem ] && badPath "$p2"; then
-            n=$((n + 1)); skip $p2
-        else
-            rest=("${rest[@]}" "$p")
-        fi
-        n=$((n + 1))
-    done
-    params=("${rest[@]}")
-fi
-
-
-# Add the flags for the C compiler proper.
-extraAfter=($NIX_CFLAGS_COMPILE)
-extraBefore=()
-
-# When enforcing purity, pretend gcc can't find the current date and
-# time
-if [ "$NIX_ENFORCE_PURITY" = 1 ]; then
-    extraAfter+=('-D__DATE__="Jan 01 1970"'
-        '-D__TIME__="00:00:01"'
-        )
-fi
-
-
-if [ "$dontLink" != 1 ]; then
-
-    # Add the flags that should only be passed to the compiler when
-    # linking.
-    extraAfter+=($NIX_CFLAGS_LINK)
-
-    # Add the flags that should be passed to the linker (and prevent
-    # `ld-wrapper' from adding NIX_LDFLAGS again).
-    for i in $NIX_LDFLAGS_BEFORE; do
-        extraBefore=(${extraBefore[@]} "-Wl,$i")
-    done
-    for i in $NIX_LDFLAGS; do
-        if [ "${i:0:3}" = -L/ ]; then
-            extraAfter+=("$i")
-        else
-            extraAfter+=("-Wl,$i")
-        fi
-    done
-    export NIX_LDFLAGS_SET=1
-fi
-
-# As a very special hack, if the arguments are just `-v', then don't
-# add anything.  This is to prevent `gcc -v' (which normally prints
-# out the version number and returns exit code 0) from printing out
-# `No input files specified' and returning exit code 1.
-if [ "$*" = -v ]; then
-    extraAfter=()
-    extraBefore=()
-fi
-
-# Optionally print debug info.
-if [ -n "$NIX_DEBUG" ]; then
-  echo "original flags to @prog@:" >&2
-  for i in "${params[@]}"; do
-      echo "  $i" >&2
-  done
-  echo "extraBefore flags to @prog@:" >&2
-  for i in ${extraBefore[@]}; do
-      echo "  $i" >&2
-  done
-  echo "extraAfter flags to @prog@:" >&2
-  for i in ${extraAfter[@]}; do
-      echo "  $i" >&2
-  done
-fi
-
-if [ -n "$NIX_CC_WRAPPER_EXEC_HOOK" ]; then
-    source "$NIX_CC_WRAPPER_EXEC_HOOK"
-fi
-
-exec @prog@ ${extraBefore[@]} "${params[@]}" "${extraAfter[@]}"
diff --git a/pkgs/build-support/gcc-wrapper-old/gcc-wrapper.sh b/pkgs/build-support/gcc-wrapper-old/gcc-wrapper.sh
deleted file mode 100644
index 8f12f08ddc7..00000000000
--- a/pkgs/build-support/gcc-wrapper-old/gcc-wrapper.sh
+++ /dev/null
@@ -1,147 +0,0 @@
-#! @shell@ -e
-
-if test -n "$NIX_CC_WRAPPER_START_HOOK"; then
-    source "$NIX_CC_WRAPPER_START_HOOK"
-fi
-
-if test -z "$NIX_CC_WRAPPER_FLAGS_SET"; then
-    source @out@/nix-support/add-flags.sh
-fi
-
-source @out@/nix-support/utils.sh
-
-
-# Figure out if linker flags should be passed.  GCC prints annoying
-# warnings when they are not needed.
-dontLink=0
-getVersion=0
-nonFlagArgs=0
-
-for i in "$@"; do
-    if test "$i" = "-c"; then
-        dontLink=1
-    elif test "$i" = "-S"; then
-        dontLink=1
-    elif test "$i" = "-E"; then
-        dontLink=1
-    elif test "$i" = "-E"; then
-        dontLink=1
-    elif test "$i" = "-M"; then
-        dontLink=1
-    elif test "$i" = "-MM"; then
-        dontLink=1
-    elif test "$i" = "-x"; then
-        # At least for the cases c-header or c++-header we should set dontLink.
-        # I expect no one use -x other than making precompiled headers.
-        dontLink=1
-    elif test "${i:0:1}" != "-"; then
-        nonFlagArgs=1
-    elif test "$i" = "-m32"; then
-        if test -e @out@/nix-support/dynamic-linker-m32; then
-            NIX_LDFLAGS="$NIX_LDFLAGS -dynamic-linker $(cat @out@/nix-support/dynamic-linker-m32)"
-        fi
-    fi
-done
-
-# If we pass a flag like -Wl, then gcc will call the linker unless it
-# can figure out that it has to do something else (e.g., because of a
-# "-c" flag).  So if no non-flag arguments are given, don't pass any
-# linker flags.  This catches cases like "gcc" (should just print
-# "gcc: no input files") and "gcc -v" (should print the version).
-if test "$nonFlagArgs" = "0"; then
-    dontLink=1
-fi
-
-
-# Optionally filter out paths not refering to the store.
-params=("$@")
-if test "$NIX_ENFORCE_PURITY" = "1" -a -n "$NIX_STORE"; then
-    rest=()
-    n=0
-    while test $n -lt ${#params[*]}; do
-        p=${params[n]}
-        p2=${params[$((n+1))]}
-        if test "${p:0:3}" = "-L/" && badPath "${p:2}"; then
-            skip $p
-        elif test "$p" = "-L" && badPath "$p2"; then
-            n=$((n + 1)); skip $p2
-        elif test "${p:0:3}" = "-I/" && badPath "${p:2}"; then
-            skip $p
-        elif test "$p" = "-I" && badPath "$p2"; then
-            n=$((n + 1)); skip $p2
-        elif test "$p" = "-isystem" && badPath "$p2"; then
-            n=$((n + 1)); skip $p2
-        else
-            rest=("${rest[@]}" "$p")
-        fi
-        n=$((n + 1))
-    done
-    params=("${rest[@]}")
-fi
-
-
-# Add the flags for the C compiler proper.
-extraAfter=($NIX_CFLAGS_COMPILE)
-extraBefore=()
-
-if test "$dontLink" != "1"; then
-
-    # Add the flags that should only be passed to the compiler when
-    # linking.
-    extraAfter=(${extraAfter[@]} $NIX_CFLAGS_LINK)
-
-    # Add the flags that should be passed to the linker (and prevent
-    # `ld-wrapper' from adding NIX_LDFLAGS again).
-    for i in $NIX_LDFLAGS_BEFORE; do
-        extraBefore=(${extraBefore[@]} "-Wl,$i")
-    done
-    for i in $NIX_LDFLAGS; do
-	if test "${i:0:3}" = "-L/"; then
-	    extraAfter=(${extraAfter[@]} "$i")
-	else
-	    extraAfter=(${extraAfter[@]} "-Wl,$i")
-	fi
-    done
-    export NIX_LDFLAGS_SET=1
-fi
-
-# As a very special hack, if the arguments are just `-v', then don't
-# add anything.  This is to prevent `gcc -v' (which normally prints
-# out the version number and returns exit code 0) from printing out
-# `No input files specified' and returning exit code 1.
-if test "$*" = "-v"; then
-    extraAfter=()
-    extraBefore=()
-fi    
-
-# Optionally print debug info.
-if test "$NIX_DEBUG" = "1"; then
-  echo "original flags to @gccProg@:" >&2
-  for i in "${params[@]}"; do
-      echo "  $i" >&2
-  done
-  echo "extraBefore flags to @gccProg@:" >&2
-  for i in ${extraBefore[@]}; do
-      echo "  $i" >&2
-  done
-  echo "extraAfter flags to @gccProg@:" >&2
-  for i in ${extraAfter[@]}; do
-      echo "  $i" >&2
-  done
-fi
-
-if test -n "$NIX_CC_WRAPPER_EXEC_HOOK"; then
-    source "$NIX_CC_WRAPPER_EXEC_HOOK"
-fi
-
-
-# Call the real `gcc'.  Filter out warnings from stderr about unused
-# `-B' flags, since they confuse some programs.  Deep bash magic to
-# apply grep to stderr (by swapping stdin/stderr twice).
-if test -z "$NIX_CC_NEEDS_GREP"; then
-    @gccProg@ ${extraBefore[@]} "${params[@]}" ${extraAfter[@]}
-else
-    (@gccProg@ ${extraBefore[@]} "${params[@]}" ${extraAfter[@]} 3>&2 2>&1 1>&3- \
-        | (grep -v 'file path prefix' || true); exit ${PIPESTATUS[0]}) 3>&2 2>&1 1>&3-
-    exit $?
-fi    
diff --git a/pkgs/build-support/gcc-wrapper-old/gnat-wrapper.sh b/pkgs/build-support/gcc-wrapper-old/gnat-wrapper.sh
deleted file mode 100644
index f6fa4b18400..00000000000
--- a/pkgs/build-support/gcc-wrapper-old/gnat-wrapper.sh
+++ /dev/null
@@ -1,113 +0,0 @@
-#! @shell@ -e
-
-if test -n "$NIX_GNAT_WRAPPER_START_HOOK"; then
-    source "$NIX_GNAT_WRAPPER_START_HOOK"
-fi
-
-if test -z "$NIX_GNAT_WRAPPER_FLAGS_SET"; then
-    source @out@/nix-support/add-flags.sh
-fi
-
-source @out@/nix-support/utils.sh
-
-
-# Figure out if linker flags should be passed.  GCC prints annoying
-# warnings when they are not needed.
-dontLink=0
-getVersion=0
-nonFlagArgs=0
-
-for i in "$@"; do
-    if test "$i" = "-c"; then
-        dontLink=1
-    elif test "$i" = "-M"; then
-        dontLink=1
-    elif test "${i:0:1}" != "-"; then
-        nonFlagArgs=1
-    elif test "$i" = "-m32"; then
-        if test -e @out@/nix-support/dynamic-linker-m32; then
-            NIX_LDFLAGS="$NIX_LDFLAGS -dynamic-linker $(cat @out@/nix-support/dynamic-linker-m32)"
-        fi
-    fi
-done
-
-# If we pass a flag like -Wl, then gcc will call the linker unless it
-# can figure out that it has to do something else (e.g., because of a
-# "-c" flag).  So if no non-flag arguments are given, don't pass any
-# linker flags.  This catches cases like "gcc" (should just print
-# "gcc: no input files") and "gcc -v" (should print the version).
-if test "$nonFlagArgs" = "0"; then
-    dontLink=1
-fi
-
-
-# Optionally filter out paths not refering to the store.
-params=("$@")
-if test "$NIX_ENFORCE_PURITY" = "1" -a -n "$NIX_STORE"; then
-    rest=()
-    n=0
-    while test $n -lt ${#params[*]}; do
-        p=${params[n]}
-        p2=${params[$((n+1))]}
-        if test "${p:0:3}" = "-L/" && badPath "${p:2}"; then
-            skip $p
-        elif test "${p:0:3}" = "-I/" && badPath "${p:2}"; then
-            skip $p
-        elif test "${p:0:4}" = "-aI/" && badPath "${p:3}"; then
-            skip $p
-        elif test "${p:0:4}" = "-aO/" && badPath "${p:3}"; then
-            skip $p
-        else
-            rest=("${rest[@]}" "$p")
-        fi
-        n=$((n + 1))
-    done
-    params=("${rest[@]}")
-fi
-
-
-# Add the flags for the GNAT compiler proper.
-extraAfter=($NIX_GNATFLAGS_COMPILE)
-extraBefore=()
-
-if [ "`basename $0`x" = "gnatmakex" ]; then
-  extraBefore=("--GNATBIND=@out@/bin/gnatbind --GNATLINK=@out@/bin/gnatlink ")
-fi
-
-# Add the flags that should be passed to the linker (and prevent
-# `ld-wrapper' from adding NIX_LDFLAGS again).
-#for i in $NIX_LDFLAGS_BEFORE; do
-#    extraBefore=(${extraBefore[@]} "-largs $i")
-#done
-
-# Optionally print debug info.
-if test "$NIX_DEBUG" = "1"; then
-  echo "original flags to @gnatProg@:" >&2
-  for i in "${params[@]}"; do
-      echo "  $i" >&2
-  done
-  echo "extraBefore flags to @gnatProg@:" >&2
-  for i in ${extraBefore[@]}; do
-      echo "  $i" >&2
-  done
-  echo "extraAfter flags to @gnatProg@:" >&2
-  for i in ${extraAfter[@]}; do
-      echo "  $i" >&2
-  done
-fi
-
-if test -n "$NIX_GNAT_WRAPPER_EXEC_HOOK"; then
-    source "$NIX_GNAT_WRAPPER_EXEC_HOOK"
-fi
-
-
-# Call the real `gcc'.  Filter out warnings from stderr about unused
-# `-B' flags, since they confuse some programs.  Deep bash magic to
-# apply grep to stderr (by swapping stdin/stderr twice).
-if test -z "$NIX_GNAT_NEEDS_GREP"; then
-    @gnatProg@ ${extraBefore[@]} "${params[@]}" ${extraAfter[@]}
-else
-    (@gnatProg@ ${extraBefore[@]} "${params[@]}" ${extraAfter[@]} 3>&2 2>&1 1>&3- \
-        | (grep -v 'file path prefix' || true); exit ${PIPESTATUS[0]}) 3>&2 2>&1 1>&3-
-    exit $?
-fi
diff --git a/pkgs/build-support/gcc-wrapper-old/gnatlink-wrapper.sh b/pkgs/build-support/gcc-wrapper-old/gnatlink-wrapper.sh
deleted file mode 100644
index 25907108b4d..00000000000
--- a/pkgs/build-support/gcc-wrapper-old/gnatlink-wrapper.sh
+++ /dev/null
@@ -1,43 +0,0 @@
-#! @shell@ -e
-
-# Add the flags for the GNAT compiler proper.
-extraAfter="--GCC=@out@/bin/gcc"
-extraBefore=()
-
-# Add the flags that should be passed to the linker (and prevent
-# `ld-wrapper' from adding NIX_LDFLAGS again).
-#for i in $NIX_LDFLAGS_BEFORE; do
-#    extraBefore=(${extraBefore[@]} "-largs $i")
-#done
-
-# Optionally print debug info.
-if test "$NIX_DEBUG" = "1"; then
-  echo "original flags to @gnatlinkProg@:" >&2
-  for i in "$@"; do
-      echo "  $i" >&2
-  done
-  echo "extraBefore flags to @gnatlinkProg@:" >&2
-  for i in ${extraBefore[@]}; do
-      echo "  $i" >&2
-  done
-  echo "extraAfter flags to @gnatlinkProg@:" >&2
-  for i in ${extraAfter[@]}; do
-      echo "  $i" >&2
-  done
-fi
-
-if test -n "$NIX_GNAT_WRAPPER_EXEC_HOOK"; then
-    source "$NIX_GNAT_WRAPPER_EXEC_HOOK"
-fi
-
-
-# Call the real `gcc'.  Filter out warnings from stderr about unused
-# `-B' flags, since they confuse some programs.  Deep bash magic to
-# apply grep to stderr (by swapping stdin/stderr twice).
-if test -z "$NIX_GNAT_NEEDS_GREP"; then
-    @gnatlinkProg@ ${extraBefore[@]} "$@" ${extraAfter[@]}
-else
-    (@gnatlinkProg@ ${extraBefore[@]} "$@" ${extraAfter[@]} 3>&2 2>&1 1>&3- \
-        | (grep -v 'file path prefix' || true); exit ${PIPESTATUS[0]}) 3>&2 2>&1 1>&3-
-    exit $?
-fi
diff --git a/pkgs/build-support/gcc-wrapper-old/ld-solaris-wrapper.sh b/pkgs/build-support/gcc-wrapper-old/ld-solaris-wrapper.sh
deleted file mode 100755
index 263ea5408e9..00000000000
--- a/pkgs/build-support/gcc-wrapper-old/ld-solaris-wrapper.sh
+++ /dev/null
@@ -1,40 +0,0 @@
-#!@shell@
-
-set -e
-set -u
-
-# I've also tried adding -z direct and -z lazyload, but it gave too many problems with C++ exceptions :'(
-# Also made sure libgcc would not be lazy-loaded, as suggested here: https://www.illumos.org/issues/2534#note-3
-#   but still no success.
-cmd="@ld@ -z ignore"
-
-args=("$@");
-
-# This loop makes sure all -L arguments are before -l arguments, or ld may complain it cannot find a library.
-# GNU binutils does not have this problem:
-#   http://stackoverflow.com/questions/5817269/does-the-order-of-l-and-l-options-in-the-gnu-linker-matter
-i=0;
-while [[ $i -lt $# ]]; do
-    case "${args[$i]}" in
-        -L)  cmd="$cmd ${args[$i]} ${args[($i+1)]}"; i=($i+1); ;;
-        -L*) cmd="$cmd ${args[$i]}" ;;
-        *)   ;;
-    esac
-    i=($i+1);
-done
-
-i=0;
-while [[ $i -lt $# ]]; do
-    case "${args[$i]}" in
-        -L)  i=($i+1); ;;
-        -L*) ;;
-        *)   cmd="$cmd ${args[$i]}" ;;
-    esac
-    i=($i+1);
-done
-
-# Trace:
-set -x
-exec $cmd
-
-exit 0
diff --git a/pkgs/build-support/gcc-wrapper-old/ld-wrapper.sh b/pkgs/build-support/gcc-wrapper-old/ld-wrapper.sh
deleted file mode 100644
index db50d25cb3b..00000000000
--- a/pkgs/build-support/gcc-wrapper-old/ld-wrapper.sh
+++ /dev/null
@@ -1,166 +0,0 @@
-#! @shell@ -e
-
-if test -n "$NIX_LD_WRAPPER_START_HOOK"; then
-    source "$NIX_LD_WRAPPER_START_HOOK"
-fi
-
-if test -z "$NIX_CC_WRAPPER_FLAGS_SET"; then
-    source @out@/nix-support/add-flags.sh
-fi
-
-source @out@/nix-support/utils.sh
-
-
-# Optionally filter out paths not refering to the store.
-params=("$@")
-if test "$NIX_ENFORCE_PURITY" = "1" -a -n "$NIX_STORE" \
-        -a \( -z "$NIX_IGNORE_LD_THROUGH_GCC" -o -z "$NIX_LDFLAGS_SET" \); then
-    rest=()
-    n=0
-    while test $n -lt ${#params[*]}; do
-        p=${params[n]}
-        p2=${params[$((n+1))]}
-        if test "${p:0:3}" = "-L/" && badPath "${p:2}"; then
-            skip $p
-        elif test "$p" = "-L" && badPath "$p2"; then
-            n=$((n + 1)); skip $p2
-        elif test "$p" = "-rpath" && badPath "$p2"; then
-            n=$((n + 1)); skip $p2
-        elif test "$p" = "-dynamic-linker" && badPath "$p2"; then
-            n=$((n + 1)); skip $p2
-        elif test "${p:0:1}" = "/" && badPath "$p"; then
-            # We cannot skip this; barf.
-            echo "impure path \`$p' used in link" >&2
-            exit 1
-        elif test "${p:0:9}" = "--sysroot"; then
-            # Our ld is not built with sysroot support (Can we fix that?)
-            :
-        else
-            rest=("${rest[@]}" "$p")
-        fi
-        n=$((n + 1))
-    done
-    params=("${rest[@]}")
-fi
-
-
-extra=()
-extraBefore=()
-
-if test -z "$NIX_LDFLAGS_SET"; then
-    extra+=($NIX_LDFLAGS)
-    extraBefore+=($NIX_LDFLAGS_BEFORE)
-fi
-
-extra+=($NIX_LDFLAGS_AFTER)
-
-
-# Add all used dynamic libraries to the rpath.
-if test "$NIX_DONT_SET_RPATH" != "1"; then
-
-    libPath=""
-    addToLibPath() {
-        local path="$1"
-        if test "${path:0:1}" != "/"; then return 0; fi
-        case "$path" in
-            *..*|*./*|*/.*|*//*)
-                local path2
-                if path2=$(readlink -f "$path"); then
-                    path="$path2"
-                fi
-                ;;
-        esac
-        case $libPath in
-            *\ $path\ *) return 0 ;;
-        esac
-        libPath="$libPath $path "
-    }
-    
-    addToRPath() {
-        # If the path is not in the store, don't add it to the rpath.
-        # This typically happens for libraries in /tmp that are later
-        # copied to $out/lib.  If not, we're screwed.
-        if test "${1:0:${#NIX_STORE}}" != "$NIX_STORE"; then return 0; fi
-        case $rpath in
-            *\ $1\ *) return 0 ;;
-        esac
-        rpath="$rpath $1 "
-    }
-
-    libs=""
-    addToLibs() {
-        libs="$libs $1"
-    }
-
-    rpath=""
-
-    # First, find all -L... switches.
-    allParams=("${params[@]}" ${extra[@]})
-    n=0
-    while test $n -lt ${#allParams[*]}; do
-        p=${allParams[n]}
-        p2=${allParams[$((n+1))]}
-        if test "${p:0:3}" = "-L/"; then
-            addToLibPath ${p:2}
-        elif test "$p" = "-L"; then
-            addToLibPath ${p2}
-            n=$((n + 1))
-        elif test "$p" = "-l"; then
-            addToLibs ${p2}
-            n=$((n + 1))
-        elif test "${p:0:2}" = "-l"; then
-            addToLibs ${p:2}
-        elif test "$p" = "-dynamic-linker"; then
-            # Ignore the dynamic linker argument, or it 
-            # will get into the next 'elif'. We don't want
-            # the dynamic linker path rpath to go always first.
-            n=$((n + 1))
-        elif [[ "$p" =~ ^[^-].*\.so($|\.) ]]; then
-            # This is a direct reference to a shared library, so add
-            # its directory to the rpath.
-            path="$(dirname "$p")";
-            addToRPath "${path}"
-        fi
-        n=$((n + 1))
-    done
-
-    # Second, for each directory in the library search path (-L...),
-    # see if it contains a dynamic library used by a -l... flag.  If
-    # so, add the directory to the rpath.
-    # It's important to add the rpath in the order of -L..., so
-    # the link time chosen objects will be those of runtime linking.
-    
-    for i in $libPath; do
-        for j in $libs; do
-            if test -f "$i/lib$j.so"; then
-                addToRPath $i
-                break
-            fi
-        done
-    done
-    
-
-    # Finally, add `-rpath' switches.
-    for i in $rpath; do
-        extra=(${extra[@]} -rpath $i)
-    done
-fi
-
-
-# Optionally print debug info.
-if test "$NIX_DEBUG" = "1"; then
-  echo "original flags to @ld@:" >&2
-  for i in "${params[@]}"; do
-      echo "  $i" >&2
-  done
-  echo "extra flags to @ld@:" >&2
-  for i in ${extra[@]}; do
-      echo "  $i" >&2
-  done
-fi
-
-if test -n "$NIX_LD_WRAPPER_EXEC_HOOK"; then
-    source "$NIX_LD_WRAPPER_EXEC_HOOK"
-fi
-
-exec @ld@ ${extraBefore[@]} "${params[@]}" ${extra[@]}
diff --git a/pkgs/build-support/gcc-wrapper-old/setup-hook.sh b/pkgs/build-support/gcc-wrapper-old/setup-hook.sh
deleted file mode 100644
index ad3ffeffbbb..00000000000
--- a/pkgs/build-support/gcc-wrapper-old/setup-hook.sh
+++ /dev/null
@@ -1,33 +0,0 @@
-gccWrapperOld_addCVars () {
-    if test -d $1/include; then
-        export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -isystem $1/include"
-    fi
-
-    if test -d $1/lib64; then
-        export NIX_LDFLAGS="$NIX_LDFLAGS -L$1/lib64"
-    fi
-
-    if test -d $1/lib; then
-        export NIX_LDFLAGS="$NIX_LDFLAGS -L$1/lib"
-    fi
-}
-
-envBuildBuildHooks+=(gccWrapperOld_addCVars)
-
-# Note: these come *after* $out in the PATH (see setup.sh).
-
-if test -n "@gcc@"; then
-    addToSearchPath PATH @gcc@/bin
-fi
-
-if test -n "@binutils@"; then
-    addToSearchPath PATH @binutils@/bin
-fi
-
-if test -n "@libc@"; then
-    addToSearchPath PATH @libc_bin@/bin
-fi
-
-if test -n "@coreutils@"; then
-    addToSearchPath PATH @coreutils@/bin
-fi
diff --git a/pkgs/build-support/gcc-wrapper-old/utils.sh b/pkgs/build-support/gcc-wrapper-old/utils.sh
deleted file mode 100644
index fa19f91bf5d..00000000000
--- a/pkgs/build-support/gcc-wrapper-old/utils.sh
+++ /dev/null
@@ -1,26 +0,0 @@
-skip () {
-    if test "$NIX_DEBUG" = "1"; then
-        echo "skipping impure path $1" >&2
-    fi
-}
-
-
-# Checks whether a path is impure.  E.g., `/lib/foo.so' is impure, but
-# `/nix/store/.../lib/foo.so' isn't.
-badPath() {
-    local p=$1
-    
-    # Relative paths are okay (since they're presumably relative to
-    # the temporary build directory).
-    if test "${p:0:1}" != "/"; then return 1; fi
-    
-    @extraPathTests@
-
-    # Otherwise, the path should refer to the store or some temporary
-    # directory (including the build directory).
-    test \
-        "$p" != "/dev/null" -a \
-        "${p:0:${#NIX_STORE}}" != "$NIX_STORE" -a \
-        "${p:0:4}" != "/tmp" -a \
-        "${p:0:${#NIX_BUILD_TOP}}" != "$NIX_BUILD_TOP"
-}
diff --git a/pkgs/build-support/kernel/modules-closure.nix b/pkgs/build-support/kernel/modules-closure.nix
index a527770adcd..d82e279799b 100644
--- a/pkgs/build-support/kernel/modules-closure.nix
+++ b/pkgs/build-support/kernel/modules-closure.nix
@@ -9,7 +9,7 @@
 stdenvNoCC.mkDerivation {
   name = kernel.name + "-shrunk";
   builder = ./modules-closure.sh;
-  buildInputs = [ nukeReferences kmod ];
+  nativeBuildInputs = [ nukeReferences kmod ];
   inherit kernel firmware rootModules allowMissing;
   allowedReferences = ["out"];
 }
diff --git a/pkgs/build-support/kernel/modules-closure.sh b/pkgs/build-support/kernel/modules-closure.sh
index 8287c1672d0..5658094872c 100644
--- a/pkgs/build-support/kernel/modules-closure.sh
+++ b/pkgs/build-support/kernel/modules-closure.sh
@@ -1,5 +1,19 @@
 source $stdenv/setup
 
+# When no modules are built, the $out/lib/modules directory will not
+# exist. Because the rest of the script assumes it does exist, we
+# handle this special case first.
+if ! test -d "$kernel/lib/modules"; then
+    if test -z "$rootModules" || test -n "$allowMissing"; then
+        mkdir -p "$out"
+        exit 0
+    else
+        echo "Required modules: $rootModules"
+        echo "Can not derive a closure of kernel modules because no modules were provided."
+        exit 1
+    fi
+fi
+
 version=$(cd $kernel/lib/modules && ls -d *)
 
 echo "kernel version is $version"
diff --git a/pkgs/build-support/rust/build-rust-crate.nix b/pkgs/build-support/rust/build-rust-crate.nix
index 8a9a07fd7a8..e0aec6e0e18 100644
--- a/pkgs/build-support/rust/build-rust-crate.nix
+++ b/pkgs/build-support/rust/build-rust-crate.nix
@@ -19,7 +19,7 @@ let makeDeps = dependencies:
       echo_build_heading() {
        start=""
        end=""
-       if [[ x"${colors}" -eq x"always" ]]; then
+       if [[ "${colors}" == "always" ]]; then
          start="$(printf '\033[0;1;32m')" #set bold, and set green.
          end="$(printf '\033[0m')" #returns to "normal"
        fi
@@ -34,7 +34,7 @@ let makeDeps = dependencies:
       noisily() {
         start=""
         end=""
-        if [[ x"${colors}" -eq x"always" ]]; then
+        if [[ "${colors}" == "always" ]]; then
           start="$(printf '\033[0;1;32m')" #set bold, and set green.
           end="$(printf '\033[0m')" #returns to "normal"
         fi
@@ -47,7 +47,7 @@ let makeDeps = dependencies:
     '';
 
     configureCrate =
-      { crateName, crateVersion, crateAuthors, build, libName, crateFeatures, colors, libPath, release, buildDependencies, completeDeps, completeBuildDeps, verbose, dependencies }:
+      { crateName, crateVersion, crateAuthors, build, libName, crateFeatures, colors, libPath, release, buildDependencies, completeDeps, completeBuildDeps, verbose, dependencies, workspace_member }:
       let version_ = lib.splitString "-" crateVersion;
           versionPre = if lib.tail version_ == [] then "" else builtins.elemAt version_ 1;
           version = lib.splitString "." (lib.head version_);
@@ -58,6 +58,7 @@ let makeDeps = dependencies:
           completeDepsDir = lib.concatStringsSep " " completeDeps;
           completeBuildDepsDir = lib.concatStringsSep " " completeBuildDeps;
       in ''
+      cd ${workspace_member}
       runHook preConfigure
       ${echo_build_heading colors}
       ${noisily colors verbose}
@@ -146,10 +147,15 @@ let makeDeps = dependencies:
          mkdir -p $OUT_DIR
          target/build/${crateName}/build_script_build > target/build/${crateName}.opt
          set +e
-         EXTRA_BUILD=$(sed -n "s/^cargo:rustc-flags=\(.*\)/\1/p" target/build/${crateName}.opt | tr '\n' ' ')
+         EXTRA_BUILD=$(sed -n "s/^cargo:rustc-flags=\(.*\)/\1/p" target/build/${crateName}.opt | tr '\n' ' ' | sort -u)
          EXTRA_FEATURES=$(sed -n "s/^cargo:rustc-cfg=\(.*\)/--cfg \1/p" target/build/${crateName}.opt | tr '\n' ' ')
-         EXTRA_LINK=$(sed -n "s/^cargo:rustc-link-lib=\(.*\)/\1/p" target/build/${crateName}.opt | tr '\n' ' ')
-         EXTRA_LINK_SEARCH=$(sed -n "s/^cargo:rustc-link-search=\(.*\)/\1/p" target/build/${crateName}.opt | tr '\n' ' ')
+         EXTRA_LINK=$(sed -n "s/^cargo:rustc-link-lib=\(.*\)/\1/p" target/build/${crateName}.opt | tr '\n' ' ' | sort -u)
+         EXTRA_LINK_SEARCH=$(sed -n "s/^cargo:rustc-link-search=\(.*\)/\1/p" target/build/${crateName}.opt | tr '\n' ' ' | sort -u)
+
+         for env in $(sed -n "s/^cargo:rustc-env=\(.*\)/\1/p" target/build/${crateName}.opt); do
+           export $env
+         done
+
          CRATENAME=$(echo ${crateName} | sed -e "s/\(.*\)-sys$/\U\1/")
          grep -P "^cargo:(?!(rustc-|warning=|rerun-if-changed=|rerun-if-env-changed))" target/build/${crateName}.opt \
            | sed -e "s/cargo:\([^=]*\)=\(.*\)/export DEP_$(echo $CRATENAME)_\U\1\E=\2/" > target/env
@@ -171,8 +177,7 @@ let makeDeps = dependencies:
                    dependencies, completeDeps, completeBuildDeps,
                    crateFeatures, libName, build, release, libPath,
                    crateType, metadata, crateBin, finalBins,
-                   extraRustcOpts,
-                   verbose, colors }:
+                   extraRustcOpts, verbose, colors }:
 
       let depsDir = lib.concatStringsSep " " dependencies;
           completeDepsDir = lib.concatStringsSep " " completeDeps;
@@ -182,7 +187,7 @@ let makeDeps = dependencies:
           rustcOpts =
             lib.lists.foldl' (opts: opt: opts + " " + opt)
               (if release then "-C opt-level=3" else "-C debuginfo=2")
-              extraRustcOpts;
+              (["-C codegen-units=1"] ++ extraRustcOpts);
           rustcMeta = "-C metadata=${metadata} -C extra-filename=-${metadata}";
           version_ = lib.splitString "-" crateVersion;
           versionPre = if lib.tail version_ == [] then "" else builtins.elemAt version_ 1;
@@ -194,7 +199,7 @@ let makeDeps = dependencies:
       bold=""
       green=""
       boldgreen=""
-      if [[ "${colors}" -eq "always" ]]; then
+      if [[ "${colors}" == "always" ]]; then
         norm="$(printf '\033[0m')" #returns to "normal"
         bold="$(printf '\033[0;1m')" #set bold
         green="$(printf '\033[0;32m')" #set green
@@ -221,16 +226,16 @@ let makeDeps = dependencies:
       build_bin() {
         crate_name=$1
         crate_name_=$(echo $crate_name | sed -e "s/-/_/g")
-	main_file=""
-	if [[ ! -z $2 ]]; then
+        main_file=""
+        if [[ ! -z $2 ]]; then
           main_file=$2
-	fi
-	echo_build_heading $@
-	noisily rustc --crate-name $crate_name_ $main_file --crate-type bin ${rustcOpts}\
+        fi
+        echo_build_heading $@
+        noisily rustc --crate-name $crate_name_ $main_file --crate-type bin ${rustcOpts}\
           ${crateFeatures} --out-dir target/bin --emit=dep-info,link -L dependency=target/deps \
           $LINK ${deps}$EXTRA_LIB --cap-lints allow \
           $BUILD_OUT_DIR $EXTRA_BUILD $EXTRA_FEATURES --color ${colors}
-        if [ "$crate_name_" -ne "$crate_name" ]; then
+        if [ "$crate_name_" != "$crate_name" ]; then
           mv target/bin/$crate_name_ target/bin/$crate_name
         fi
       }
@@ -374,7 +379,7 @@ stdenv.mkDerivation (rec {
     );
 
     crateFeatures = if crate ? features then
-        lib.concatMapStringsSep " " (f: "--cfg feature=\\\"${f}\\\"") (crate.features ++ features)
+        lib.concatMapStringsSep " " (f: "--cfg feature=\\\"${f}\\\"") (crate.features ++ features) #"
       else "";
 
     libName = if crate ? libName then crate.libName else crate.crateName;
@@ -407,24 +412,26 @@ stdenv.mkDerivation (rec {
        ) "" crate.crateBin
     else "";
 
-    build = if crate ? build then crate.build else "";
+    build = crate.build or "";
+    workspace_member = crate.workspace_member or ".";
     crateVersion = crate.version;
     crateAuthors = if crate ? authors && lib.isList crate.authors then crate.authors else [];
     crateType =
       if lib.attrByPath ["procMacro"] false crate then "proc-macro" else
       if lib.attrByPath ["plugin"] false crate then "dylib" else
-      if crate ? type then crate.type else "lib";
+      (crate.type or "lib");
     colors = lib.attrByPath [ "colors" ] "always" crate;
     configurePhase = configureCrate {
       inherit crateName dependencies buildDependencies completeDeps completeBuildDeps
-              crateFeatures libName build release libPath crateVersion
+              crateFeatures libName build workspace_member release libPath crateVersion
               crateAuthors verbose colors;
     };
     extraRustcOpts = if crate ? extraRustcOpts then crate.extraRustcOpts else [];
     buildPhase = buildCrate {
       inherit crateName dependencies completeDeps completeBuildDeps
-              crateFeatures libName build release libPath crateType crateVersion
-              crateAuthors metadata crateBin finalBins verbose colors extraRustcOpts;
+              crateFeatures libName build release libPath crateType
+              crateVersion crateAuthors metadata crateBin finalBins verbose colors
+              extraRustcOpts;
     };
     installPhase = installCrate crateName metadata;
 
diff --git a/pkgs/build-support/rust/carnix.nix b/pkgs/build-support/rust/carnix.nix
index ebb46b0f592..5b79d607f9d 100644
--- a/pkgs/build-support/rust/carnix.nix
+++ b/pkgs/build-support/rust/carnix.nix
@@ -1,4 +1,4 @@
-# Generated by carnix 0.6.5: carnix -o carnix.nix Cargo.lock
+# Generated by carnix 0.7.2: carnix nix
 { lib, buildPlatform, buildRustCrate, fetchgit }:
 let kernel = buildPlatform.parsed.kernel.name;
     abi = buildPlatform.parsed.abi.name;
@@ -18,35 +18,36 @@ let kernel = buildPlatform.parsed.kernel.name;
     ) [] (builtins.attrNames feat);
 in
 rec {
-  carnix = f: carnix_0_6_6 { features = carnix_0_6_6_features { carnix_0_6_6 = f; }; };
-  aho_corasick_0_6_3_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+  carnix = f: carnix_0_7_2 { features = carnix_0_7_2_features { carnix_0_7_2 = f; }; };
+  __all = [ (carnix {}) ];
+  aho_corasick_0_6_4_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
     crateName = "aho-corasick";
-    version = "0.6.3";
+    version = "0.6.4";
     authors = [ "Andrew Gallant <jamslam@gmail.com>" ];
-    sha256 = "1cpqzf6acj8lm06z3f1cg41wn6c2n9l3v49nh0dvimv4055qib6k";
+    sha256 = "189v919mp6rzzgjp1khpn4zlq8ls81gh43x1lmc8kbkagdlpq888";
     libName = "aho_corasick";
     crateBin = [ {  name = "aho-corasick-dot"; } ];
     inherit dependencies buildDependencies features;
   };
-  ansi_term_0_10_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+  ansi_term_0_11_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
     crateName = "ansi_term";
-    version = "0.10.2";
+    version = "0.11.0";
     authors = [ "ogham@bsago.me" "Ryan Scheel (Havvy) <ryan.havvy@gmail.com>" "Josh Triplett <josh@joshtriplett.org>" ];
-    sha256 = "07k0hfmlhv43lihyxb9d81l5mq5zlpqvv30dkfd3knmv2ginasn9";
+    sha256 = "08fk0p2xvkqpmz3zlrwnf6l8sj2vngw464rvzspzp31sbgxbwm4v";
     inherit dependencies buildDependencies features;
   };
-  atty_0_2_3_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+  atty_0_2_8_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
     crateName = "atty";
-    version = "0.2.3";
+    version = "0.2.8";
     authors = [ "softprops <d.tangren@gmail.com>" ];
-    sha256 = "0zl0cjfgarp5y78nd755lpki5bbkj4hgmi88v265m543yg29i88f";
+    sha256 = "03w1q3h4w7vhcdxdwa9cirjkzdjz3ja636fj3g64659z6yax6p6d";
     inherit dependencies buildDependencies features;
   };
-  backtrace_0_3_4_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+  backtrace_0_3_6_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
     crateName = "backtrace";
-    version = "0.3.4";
+    version = "0.3.6";
     authors = [ "Alex Crichton <alex@alexcrichton.com>" "The Rust Project Developers" ];
-    sha256 = "1caba8w3rqd5ghr88ghyz5wgkf81dgx18bj1llkax6qmianc6gk7";
+    sha256 = "00p77iqrv2p47m4y5lq1clb8fi1xfmnz2520frqx88497ff4zhrx";
     inherit dependencies buildDependencies features;
   };
   backtrace_sys_0_1_16_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
@@ -57,13 +58,6 @@ rec {
     build = "build.rs";
     inherit dependencies buildDependencies features;
   };
-  bitflags_0_7_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "bitflags";
-    version = "0.7.0";
-    authors = [ "The Rust Project Developers" ];
-    sha256 = "1hr72xg5slm0z4pxs2hiy4wcyx3jva70h58b7mid8l0a4c8f7gn5";
-    inherit dependencies buildDependencies features;
-  };
   bitflags_1_0_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
     crateName = "bitflags";
     version = "1.0.1";
@@ -71,18 +65,19 @@ rec {
     sha256 = "0p4b3nr0s5nda2qmm7xdhnvh4lkqk3xd8l9ffmwbvqw137vx7mj1";
     inherit dependencies buildDependencies features;
   };
-  carnix_0_6_6_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+  carnix_0_7_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
     crateName = "carnix";
-    version = "0.6.6";
+    version = "0.7.2";
     authors = [ "pe@pijul.org <pe@pijul.org>" ];
-    sha256 = "1ai2r52j6vlrclhb7cvifx3lsg9naiy3jpsrbi3mmfmr6zbi7rdw";
+    sha256 = "0zsmc4wiz7vill676mcdh6ibyzmr9rn030j555ncqgavs7k5yhq5";
+    crateBin = [ {  name = "cargo-generate-nixfile";  path = "src/cargo-generate-nixfile.rs"; } {  name = "carnix";  path = "src/main.rs"; } ];
     inherit dependencies buildDependencies features;
   };
-  cc_1_0_3_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+  cc_1_0_10_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
     crateName = "cc";
-    version = "1.0.3";
+    version = "1.0.10";
     authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
-    sha256 = "193pwqgh79w6k0k29svyds5nnlrwx44myqyrw605d5jj4yk2zmpr";
+    sha256 = "0fqchrxcrd2j2b9x7cqs49ck7b3ilsap8s9xhs75gzgl6c1ylpdn";
     inherit dependencies buildDependencies features;
   };
   cfg_if_0_1_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
@@ -92,27 +87,11 @@ rec {
     sha256 = "0x06hvrrqy96m97593823vvxcgvjaxckghwyy2jcyc8qc7c6cyhi";
     inherit dependencies buildDependencies features;
   };
-  chrono_0_4_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "chrono";
-    version = "0.4.0";
-    authors = [ "Kang Seonghoon <public+rust@mearie.org>" ];
-    sha256 = "0hm53hi6v7b6b1va6vn96lx26wvj8gzi2g51s1j02nlz0jcprw6a";
-    inherit dependencies buildDependencies features;
-  };
-  clap_2_28_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+  clap_2_31_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
     crateName = "clap";
-    version = "2.28.0";
+    version = "2.31.2";
     authors = [ "Kevin K. <kbknapp@gmail.com>" ];
-    sha256 = "0m0rj9xw6mja4gdhqmaldv0q5y5jfsfzbyzfd70mm3857aynq03k";
-    inherit dependencies buildDependencies features;
-  };
-  dbghelp_sys_0_2_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "dbghelp-sys";
-    version = "0.2.0";
-    authors = [ "Peter Atashian <retep998@gmail.com>" ];
-    sha256 = "0ylpi3bbiy233m57hnisn1df1v0lbl7nsxn34b0anzsgg440hqpq";
-    libName = "dbghelp";
-    build = "build.rs";
+    sha256 = "0r24ziw85a8y1sf2l21y4mvv5qan3rjafcshpyfsjfadqfxsij72";
     inherit dependencies buildDependencies features;
   };
   dtoa_0_4_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
@@ -122,18 +101,18 @@ rec {
     sha256 = "1bxsh6fags7nr36vlz07ik2a1rzyipc8x1y30kjk832hf2pzadmw";
     inherit dependencies buildDependencies features;
   };
-  either_1_4_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+  either_1_5_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
     crateName = "either";
-    version = "1.4.0";
+    version = "1.5.0";
     authors = [ "bluss" ];
-    sha256 = "04kpfd84lvyrkb2z4sljlz2d3d5qczd0sb1yy37fgijq2yx3vb37";
+    sha256 = "1f7kl2ln01y02m8fpd2zrdjiwqmgfvl9nxxrfry3k19d1gd2bsvz";
     inherit dependencies buildDependencies features;
   };
-  env_logger_0_5_3_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+  env_logger_0_5_7_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
     crateName = "env_logger";
-    version = "0.5.3";
+    version = "0.5.7";
     authors = [ "The Rust Project Developers" ];
-    sha256 = "1i7jyxrwwv3w2h200ynq3fjg1iyyvi76ny215hi6d334vkkw2s2y";
+    sha256 = "0wgd9fashmwbx5ssrxx69naam6hlb5c7qmh1nln645q4gms35i2l";
     inherit dependencies buildDependencies features;
   };
   error_chain_0_11_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
@@ -143,62 +122,61 @@ rec {
     sha256 = "19nz17q6dzp0mx2jhh9qbj45gkvvgcl7zq9z2ai5a8ihbisfj6d7";
     inherit dependencies buildDependencies features;
   };
-  fuchsia_zircon_0_2_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+  fuchsia_zircon_0_3_3_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
     crateName = "fuchsia-zircon";
-    version = "0.2.1";
+    version = "0.3.3";
     authors = [ "Raph Levien <raph@google.com>" ];
-    sha256 = "0yd4rd7ql1vdr349p6vgq2dnwmpylky1kjp8g1zgvp250jxrhddb";
+    sha256 = "0jrf4shb1699r4la8z358vri8318w4mdi6qzfqy30p2ymjlca4gk";
     inherit dependencies buildDependencies features;
   };
-  fuchsia_zircon_sys_0_2_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+  fuchsia_zircon_sys_0_3_3_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
     crateName = "fuchsia-zircon-sys";
-    version = "0.2.0";
+    version = "0.3.3";
     authors = [ "Raph Levien <raph@google.com>" ];
-    sha256 = "1yrqsrjwlhl3di6prxf5xmyd82gyjaysldbka5wwk83z11mpqh4w";
+    sha256 = "08jp1zxrm9jbrr6l26bjal4dbm8bxfy57ickdgibsqxr1n9j3hf5";
     inherit dependencies buildDependencies features;
   };
-  itertools_0_7_3_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+  humantime_1_1_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "humantime";
+    version = "1.1.1";
+    authors = [ "Paul Colomiets <paul@colomiets.name>" ];
+    sha256 = "1lzdfsfzdikcp1qb6wcdvnsdv16pmzr7p7cv171vnbnyz2lrwbgn";
+    libPath = "src/lib.rs";
+    inherit dependencies buildDependencies features;
+  };
+  itertools_0_7_8_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
     crateName = "itertools";
-    version = "0.7.3";
+    version = "0.7.8";
     authors = [ "bluss" ];
-    sha256 = "128a69cnmgpj38rs6lcwzya773d2vx7f9y7012iycjf9yi2pyckj";
+    sha256 = "0ib30cd7d1icjxsa13mji1gry3grp72kx8p33yd84mphdbc3d357";
     inherit dependencies buildDependencies features;
   };
-  itoa_0_3_4_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+  itoa_0_4_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
     crateName = "itoa";
-    version = "0.3.4";
+    version = "0.4.1";
     authors = [ "David Tolnay <dtolnay@gmail.com>" ];
-    sha256 = "1nfkzz6vrgj0d9l3yzjkkkqzdgs68y294fjdbl7jq118qi8xc9d9";
+    sha256 = "1jyrsmrm5q4r2ipmq5hvvkqg0mgnlbk44lm7gr0v9ymvbrh2gbij";
     inherit dependencies buildDependencies features;
   };
-  kernel32_sys_0_2_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "kernel32-sys";
-    version = "0.2.2";
-    authors = [ "Peter Atashian <retep998@gmail.com>" ];
-    sha256 = "1lrw1hbinyvr6cp28g60z97w32w8vsk6pahk64pmrv2fmby8srfj";
-    libName = "kernel32";
-    build = "build.rs";
-    inherit dependencies buildDependencies features;
-  };
-  lazy_static_0_2_11_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+  lazy_static_1_0_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
     crateName = "lazy_static";
-    version = "0.2.11";
+    version = "1.0.0";
     authors = [ "Marvin Löbel <loebel.marvin@gmail.com>" ];
-    sha256 = "1x6871cvpy5b96yv4c7jvpq316fp5d4609s9py7qk6cd6x9k34vm";
+    sha256 = "0wfvqyr2nvx2mbsrscg5y7gfa9skhb8p72ayanl8vl49pw24v4fh";
     inherit dependencies buildDependencies features;
   };
-  libc_0_2_33_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+  libc_0_2_40_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
     crateName = "libc";
-    version = "0.2.33";
+    version = "0.2.40";
     authors = [ "The Rust Project Developers" ];
-    sha256 = "1l7synziccnvarsq2kk22vps720ih6chmn016bhr2bq54hblbnl1";
+    sha256 = "1xfc39237ldzgr8x8wcflgdr8zssi3wif7g2zxc02d94gzkjsw83";
     inherit dependencies buildDependencies features;
   };
-  libsqlite3_sys_0_9_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+  libsqlite3_sys_0_9_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
     crateName = "libsqlite3-sys";
-    version = "0.9.0";
+    version = "0.9.1";
     authors = [ "John Gallagher <jgallagher@bignerdranch.com>" ];
-    sha256 = "1pnx3i9h85si6cs4nhazfb28hsvk7dn0arnfvpdzpjdnj9z38q57";
+    sha256 = "1j599xygsh564xmx29942w0sq7w05c1jipk6dsyrxj6b33kw3fw7";
     build = "build.rs";
     inherit dependencies buildDependencies features;
   };
@@ -230,6 +208,13 @@ rec {
     sha256 = "0dfb8ifl9nrc9kzgd5z91q6qg87sh285q1ih7xgrsglmqfav9lg7";
     inherit dependencies buildDependencies features;
   };
+  memchr_2_0_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "memchr";
+    version = "2.0.1";
+    authors = [ "Andrew Gallant <jamslam@gmail.com>" "bluss" ];
+    sha256 = "0ls2y47rjwapjdax6bp974gdp06ggm1v8d1h69wyydmh1nhgm5gr";
+    inherit dependencies buildDependencies features;
+  };
   nom_3_2_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
     crateName = "nom";
     version = "3.2.1";
@@ -237,32 +222,11 @@ rec {
     sha256 = "1vcllxrz9hdw6j25kn020ka3psz1vkaqh1hm3yfak2240zrxgi07";
     inherit dependencies buildDependencies features;
   };
-  num_0_1_40_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "num";
-    version = "0.1.40";
-    authors = [ "The Rust Project Developers" ];
-    sha256 = "0b29c25n9mpf6a921khj7a6y3hz5va4vgwppcd2if975qq1shakg";
-    inherit dependencies buildDependencies features;
-  };
-  num_integer_0_1_35_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "num-integer";
-    version = "0.1.35";
-    authors = [ "The Rust Project Developers" ];
-    sha256 = "0xybj8isi9b6wc646d5rc043i8l8j6wy0vrl4pn995qms9fxbbcc";
-    inherit dependencies buildDependencies features;
-  };
-  num_iter_0_1_34_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "num-iter";
-    version = "0.1.34";
-    authors = [ "The Rust Project Developers" ];
-    sha256 = "02cld7x9dzbqbs6sxxzq1i22z3awlcd6ljkgvhkfr9rsnaxphzl9";
-    inherit dependencies buildDependencies features;
-  };
-  num_traits_0_1_40_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+  num_traits_0_2_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
     crateName = "num-traits";
-    version = "0.1.40";
+    version = "0.2.2";
     authors = [ "The Rust Project Developers" ];
-    sha256 = "1fr8ghp4i97q3agki54i0hpmqxv3s65i2mqd1pinc7w7arc3fplw";
+    sha256 = "1gcqhcd27gi72al5salxlp3m374qr3xnc3zh249f7dsrxc9rmgh0";
     inherit dependencies buildDependencies features;
   };
   pkg_config_0_3_9_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
@@ -272,25 +236,39 @@ rec {
     sha256 = "06k8fxgrsrxj8mjpjcq1n7mn2p1shpxif4zg9y5h09c7vy20s146";
     inherit dependencies buildDependencies features;
   };
-  quote_0_3_15_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+  proc_macro2_0_3_6_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "proc-macro2";
+    version = "0.3.6";
+    authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
+    sha256 = "1viqlvsknzvgc2j0bcz53n94zxv7c816py7hv2r27y0bv1dq4iqp";
+    inherit dependencies buildDependencies features;
+  };
+  quick_error_1_2_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "quick-error";
+    version = "1.2.1";
+    authors = [ "Paul Colomiets <paul@colomiets.name>" "Colin Kiegel <kiegel@gmx.de>" ];
+    sha256 = "0vq41csw68ynaq2fy5dvldh4lx7pnbw6pr332kv5rvrz4pz0jnq6";
+    inherit dependencies buildDependencies features;
+  };
+  quote_0_5_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
     crateName = "quote";
-    version = "0.3.15";
+    version = "0.5.1";
     authors = [ "David Tolnay <dtolnay@gmail.com>" ];
-    sha256 = "09il61jv4kd1360spaj46qwyl21fv1qz18fsv2jra8wdnlgl5jsg";
+    sha256 = "0jppgddqp6vp67ns4hpyf644n5678fligp711isp0xkvfv19la3r";
     inherit dependencies buildDependencies features;
   };
-  rand_0_3_18_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+  rand_0_4_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
     crateName = "rand";
-    version = "0.3.18";
+    version = "0.4.2";
     authors = [ "The Rust Project Developers" ];
-    sha256 = "15d7c3myn968dzjs0a2pgv58hzdavxnq6swgj032lw2v966ir4xv";
+    sha256 = "0h8pkg23wb67i8904sm76iyr1jlmhklb85vbpz9c9191a24xzkfm";
     inherit dependencies buildDependencies features;
   };
-  redox_syscall_0_1_32_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+  redox_syscall_0_1_37_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
     crateName = "redox_syscall";
-    version = "0.1.32";
+    version = "0.1.37";
     authors = [ "Jeremy Soller <jackpot51@gmail.com>" ];
-    sha256 = "1axxj8x6ngh6npkzqc5h216fajkcyrdxdgb7m2f0n5xfclbk47fv";
+    sha256 = "0qa0jl9cr3qp80an8vshp2mcn8rzvwiavs1398hq1vsjw7pc3h2v";
     libName = "syscall";
     inherit dependencies buildDependencies features;
   };
@@ -302,18 +280,25 @@ rec {
     libPath = "src/lib.rs";
     inherit dependencies buildDependencies features;
   };
-  regex_0_2_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+  regex_0_2_10_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
     crateName = "regex";
-    version = "0.2.2";
+    version = "0.2.10";
     authors = [ "The Rust Project Developers" ];
-    sha256 = "1f1zrrynfylg0vcfyfp60bybq4rp5g1yk2k7lc7fyz7mmc7k2qr7";
+    sha256 = "0cwdmcllssm984b5nnpr55rgla1yzw31kmp2imxdpgk6hvlhf1ca";
     inherit dependencies buildDependencies features;
   };
-  regex_syntax_0_4_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+  regex_syntax_0_5_5_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
     crateName = "regex-syntax";
-    version = "0.4.1";
+    version = "0.5.5";
     authors = [ "The Rust Project Developers" ];
-    sha256 = "01yrsm68lj86ad1whgg1z95c2pfsvv58fz8qjcgw7mlszc0c08ls";
+    sha256 = "1m5v66r6xxglgkdl1ci23qq0bl0k2wqplm6li4pmg1k7szvgxcbp";
+    inherit dependencies buildDependencies features;
+  };
+  remove_dir_all_0_5_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "remove_dir_all";
+    version = "0.5.0";
+    authors = [ "Aaronepower <theaaronepower@gmail.com>" ];
+    sha256 = "0cgmlm9xvf19z84zcb7d62c2lfv60g6gd58c9717giq7c9ib284y";
     inherit dependencies buildDependencies features;
   };
   rusqlite_0_13_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
@@ -323,75 +308,68 @@ rec {
     sha256 = "1hj2464ar2y4324sk3jx7m9byhkcp60krrrs1v1i8dlhhlnkb9hc";
     inherit dependencies buildDependencies features;
   };
-  rustc_demangle_0_1_5_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+  rustc_demangle_0_1_7_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
     crateName = "rustc-demangle";
-    version = "0.1.5";
+    version = "0.1.7";
     authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
-    sha256 = "096kkcx9j747700fhxj1s4rlwkj21pqjmvj64psdj6bakb2q13nc";
+    sha256 = "0wrln6jvwmqrhyvqlw5vq9a2s4r04ja8mrybxjj9aaaar1fyvns6";
     inherit dependencies buildDependencies features;
   };
-  serde_1_0_21_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+  serde_1_0_38_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
     crateName = "serde";
-    version = "1.0.21";
+    version = "1.0.38";
     authors = [ "Erick Tryzelaar <erick.tryzelaar@gmail.com>" "David Tolnay <dtolnay@gmail.com>" ];
-    sha256 = "10almq7pvx8s4ryiqk8gf7fj5igl0yq6dcjknwc67rkmxd8q50w3";
+    sha256 = "0dri7vmzjsfmak1qq5wdinykqqvd5shpms504p8acpgyx7817jgk";
     inherit dependencies buildDependencies features;
   };
-  serde_derive_1_0_21_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+  serde_derive_1_0_38_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
     crateName = "serde_derive";
-    version = "1.0.21";
+    version = "1.0.38";
     authors = [ "Erick Tryzelaar <erick.tryzelaar@gmail.com>" "David Tolnay <dtolnay@gmail.com>" ];
-    sha256 = "0r20qyimm9scfaz7lc0swnhik9d045zklmbidd0zzpd4b2f3jsqm";
+    sha256 = "027c13sbnqkfzc8vxx0m6wnkr68im8kdbkbnix07dgw1l616yw0m";
     procMacro = true;
     inherit dependencies buildDependencies features;
   };
-  serde_derive_internals_0_17_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+  serde_derive_internals_0_23_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
     crateName = "serde_derive_internals";
-    version = "0.17.0";
+    version = "0.23.1";
     authors = [ "Erick Tryzelaar <erick.tryzelaar@gmail.com>" "David Tolnay <dtolnay@gmail.com>" ];
-    sha256 = "1g1j3v6pj9wbcz3v3w4smjpwrcdwjicmf6yd5cbai04as9iwhw74";
+    sha256 = "0bjgcn2irh6sd34q3j3xkbn5ghfgiv3cfdlffb31lh0bikwpk1b4";
     inherit dependencies buildDependencies features;
   };
-  serde_json_1_0_6_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+  serde_json_1_0_14_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
     crateName = "serde_json";
-    version = "1.0.6";
+    version = "1.0.14";
     authors = [ "Erick Tryzelaar <erick.tryzelaar@gmail.com>" "David Tolnay <dtolnay@gmail.com>" ];
-    sha256 = "1kacyc59splwbg8gr7qs32pp9smgy1khq0ggnv07yxhs7h355vjz";
+    sha256 = "053n2vbcx32f28pr8fxi0fxq7m3g0gm94kz9i1fmi1kiwq9j5lsj";
     inherit dependencies buildDependencies features;
   };
-  strsim_0_6_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+  strsim_0_7_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
     crateName = "strsim";
-    version = "0.6.0";
+    version = "0.7.0";
     authors = [ "Danny Guo <dannyguo91@gmail.com>" ];
-    sha256 = "1lz85l6y68hr62lv4baww29yy7g8pg20dlr0lbaswxmmcb0wl7gd";
+    sha256 = "0fy0k5f2705z73mb3x9459bpcvrx4ky8jpr4zikcbiwan4bnm0iv";
     inherit dependencies buildDependencies features;
   };
-  syn_0_11_11_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+  syn_0_13_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
     crateName = "syn";
-    version = "0.11.11";
-    authors = [ "David Tolnay <dtolnay@gmail.com>" ];
-    sha256 = "0yw8ng7x1dn5a6ykg0ib49y7r9nhzgpiq2989rqdp7rdz3n85502";
-    inherit dependencies buildDependencies features;
-  };
-  synom_0_11_3_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "synom";
-    version = "0.11.3";
+    version = "0.13.1";
     authors = [ "David Tolnay <dtolnay@gmail.com>" ];
-    sha256 = "1l6d1s9qjfp6ng2s2z8219igvlv7gyk8gby97sdykqc1r93d8rhc";
+    sha256 = "1pimp7fpvillhz06xz0k6450h9nis3ab6h1j2hzrzykrpxs2qnyg";
     inherit dependencies buildDependencies features;
   };
-  tempdir_0_3_5_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+  tempdir_0_3_7_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
     crateName = "tempdir";
-    version = "0.3.5";
+    version = "0.3.7";
     authors = [ "The Rust Project Developers" ];
-    sha256 = "0rirc5prqppzgd15fm8ayan349lgk2k5iqdkrbwrwrv5pm4znsnz";
+    sha256 = "0y53sxybyljrr7lh0x0ysrsa7p7cljmwv9v80acy3rc6n97g67vy";
     inherit dependencies buildDependencies features;
   };
-  termcolor_0_3_3_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+  termcolor_0_3_6_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
     crateName = "termcolor";
-    version = "0.3.3";
+    version = "0.3.6";
     authors = [ "Andrew Gallant <jamslam@gmail.com>" ];
-    sha256 = "1rb853jzvkbwm62373dhls4x4r3r5cvfcsxvqh0i75rhx5j8kwsz";
+    sha256 = "0w609sa1apl1kii67ln2g82r4rrycw45zgjq7mxxjrx1fa21v05z";
     inherit dependencies buildDependencies features;
   };
   termion_1_5_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
@@ -408,25 +386,32 @@ rec {
     sha256 = "18jg79ndjlwndz01mlbh82kkr2arqm658yn5kwp65l5n1hz8w4yb";
     inherit dependencies buildDependencies features;
   };
-  thread_local_0_3_4_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+  thread_local_0_3_5_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
     crateName = "thread_local";
-    version = "0.3.4";
+    version = "0.3.5";
     authors = [ "Amanieu d'Antras <amanieu@gmail.com>" ];
-    sha256 = "1y6cwyhhx2nkz4b3dziwhqdvgq830z8wjp32b40pjd8r0hxqv2jr";
+    sha256 = "0mkp0sp91aqsk7brgygai4igv751r1754rsxn37mig3ag5rx8np6";
     inherit dependencies buildDependencies features;
   };
-  time_0_1_38_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+  time_0_1_39_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
     crateName = "time";
-    version = "0.1.38";
+    version = "0.1.39";
     authors = [ "The Rust Project Developers" ];
-    sha256 = "1ws283vvz7c6jfiwn53rmc6kybapr4pjaahfxxrz232b0qzw7gcp";
+    sha256 = "1ryy3bwhvyzj6fym123il38mk9ranm4vradj2a47l5ij8jd7w5if";
     inherit dependencies buildDependencies features;
   };
-  toml_0_4_5_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+  toml_0_4_6_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
     crateName = "toml";
-    version = "0.4.5";
+    version = "0.4.6";
     authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
-    sha256 = "06zxqhn3y58yzjfaykhcrvlf7p2dnn54kn3g4apmja3cn5b18lkk";
+    sha256 = "0rfl7lyb5f67spk69s604nw87f97g7fvv36hj9v88qlr2bwyrn8v";
+    inherit dependencies buildDependencies features;
+  };
+  ucd_util_0_1_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "ucd-util";
+    version = "0.1.1";
+    authors = [ "Andrew Gallant <jamslam@gmail.com>" ];
+    sha256 = "02a8h3siipx52b832xc8m8rwasj6nx9jpiwfldw8hp6k205hgkn0";
     inherit dependencies buildDependencies features;
   };
   unicode_width_0_1_4_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
@@ -436,11 +421,11 @@ rec {
     sha256 = "1rp7a04icn9y5c0lm74nrd4py0rdl0af8bhdwq7g478n1xifpifl";
     inherit dependencies buildDependencies features;
   };
-  unicode_xid_0_0_4_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+  unicode_xid_0_1_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
     crateName = "unicode-xid";
-    version = "0.0.4";
+    version = "0.1.0";
     authors = [ "erick.tryzelaar <erick.tryzelaar@gmail.com>" "kwantam <kwantam@gmail.com>" ];
-    sha256 = "1dc8wkkcd3s6534s5aw4lbjn8m67flkkbnajp5bl8408wdg8rh9v";
+    sha256 = "05wdmwlfzxhq3nhsxn6wx4q8dhxzzfb9szsz6wiw092m1rjj01zj";
     inherit dependencies buildDependencies features;
   };
   unreachable_1_0_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
@@ -457,11 +442,11 @@ rec {
     sha256 = "0rzmqprwjv9yp1n0qqgahgm24872x6c0xddfym5pfndy7a36vkn0";
     inherit dependencies buildDependencies features;
   };
-  vcpkg_0_2_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+  vcpkg_0_2_3_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
     crateName = "vcpkg";
-    version = "0.2.2";
+    version = "0.2.3";
     authors = [ "Jim McGrath <jimmc2@gmail.com>" ];
-    sha256 = "1fl5j0ksnwrnsrf1b1a9lqbjgnajdipq0030vsbhx81mb7d9478a";
+    sha256 = "0achi8sfy0wm4q04gj7nwpq9xfx8ynk6vv4r12a3ijg26hispq0c";
     inherit dependencies buildDependencies features;
   };
   vec_map_0_8_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
@@ -478,141 +463,161 @@ rec {
     sha256 = "0h1dm0dx8dhf56a83k68mijyxigqhizpskwxfdrs1drwv2cdclv3";
     inherit dependencies buildDependencies features;
   };
-  winapi_0_2_8_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+  winapi_0_3_4_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
     crateName = "winapi";
-    version = "0.2.8";
+    version = "0.3.4";
     authors = [ "Peter Atashian <retep998@gmail.com>" ];
-    sha256 = "0a45b58ywf12vb7gvj6h3j264nydynmzyqz8d8rqxsj6icqv82as";
+    sha256 = "1qbrf5dcnd8j36cawby5d9r5vx07r0l4ryf672pfncnp8895k9lx";
+    build = "build.rs";
     inherit dependencies buildDependencies features;
   };
-  winapi_build_0_1_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "winapi-build";
-    version = "0.1.1";
+  winapi_i686_pc_windows_gnu_0_4_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "winapi-i686-pc-windows-gnu";
+    version = "0.4.0";
     authors = [ "Peter Atashian <retep998@gmail.com>" ];
-    sha256 = "1lxlpi87rkhxcwp2ykf1ldw3p108hwm24nywf3jfrvmff4rjhqga";
-    libName = "build";
+    sha256 = "05ihkij18r4gamjpxj4gra24514can762imjzlmak5wlzidplzrp";
+    build = "build.rs";
     inherit dependencies buildDependencies features;
   };
-  wincolor_0_1_4_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "wincolor";
-    version = "0.1.4";
-    authors = [ "Andrew Gallant <jamslam@gmail.com>" ];
-    sha256 = "0cxv6hadnj5vffb8a73y7055p59n20bpqd524df85cm29dcjl38a";
+  winapi_x86_64_pc_windows_gnu_0_4_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "winapi-x86_64-pc-windows-gnu";
+    version = "0.4.0";
+    authors = [ "Peter Atashian <retep998@gmail.com>" ];
+    sha256 = "0n1ylmlsb8yg1v583i4xy0qmqg42275flvbc51hdqjjfjcl9vlbj";
+    build = "build.rs";
     inherit dependencies buildDependencies features;
   };
-  aho_corasick_0_6_3 = { features?(aho_corasick_0_6_3_features {}) }: aho_corasick_0_6_3_ {
-    dependencies = mapFeatures features ([ memchr_1_0_2 ]);
-  };
-  aho_corasick_0_6_3_features = f: updateFeatures f (rec {
-    aho_corasick_0_6_3.default = (f.aho_corasick_0_6_3.default or true);
-    memchr_1_0_2.default = true;
-  }) [ memchr_1_0_2_features ];
-  ansi_term_0_10_2 = { features?(ansi_term_0_10_2_features {}) }: ansi_term_0_10_2_ {};
-  ansi_term_0_10_2_features = f: updateFeatures f (rec {
-    ansi_term_0_10_2.default = (f.ansi_term_0_10_2.default or true);
-  }) [];
-  atty_0_2_3 = { features?(atty_0_2_3_features {}) }: atty_0_2_3_ {
+  wincolor_0_1_6_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "wincolor";
+    version = "0.1.6";
+    authors = [ "Andrew Gallant <jamslam@gmail.com>" ];
+    sha256 = "0f8m3l86pw6qi31jidqj78pgd15xj914850lyvsxkbln4f1drv47";
+    inherit dependencies buildDependencies features;
+  };
+  aho_corasick_0_6_4 = { features?(aho_corasick_0_6_4_features {}) }: aho_corasick_0_6_4_ {
+    dependencies = mapFeatures features ([ memchr_2_0_1 ]);
+  };
+  aho_corasick_0_6_4_features = f: updateFeatures f (rec {
+    aho_corasick_0_6_4.default = (f.aho_corasick_0_6_4.default or true);
+    memchr_2_0_1.default = true;
+  }) [ memchr_2_0_1_features ];
+  ansi_term_0_11_0 = { features?(ansi_term_0_11_0_features {}) }: ansi_term_0_11_0_ {
+    dependencies = (if kernel == "windows" then mapFeatures features ([ winapi_0_3_4 ]) else []);
+  };
+  ansi_term_0_11_0_features = f: updateFeatures f (rec {
+    ansi_term_0_11_0.default = (f.ansi_term_0_11_0.default or true);
+    winapi_0_3_4.consoleapi = true;
+    winapi_0_3_4.default = true;
+    winapi_0_3_4.errhandlingapi = true;
+    winapi_0_3_4.processenv = true;
+  }) [ winapi_0_3_4_features ];
+  atty_0_2_8 = { features?(atty_0_2_8_features {}) }: atty_0_2_8_ {
     dependencies = (if kernel == "redox" then mapFeatures features ([ termion_1_5_1 ]) else [])
-      ++ (if (kernel == "linux" || kernel == "darwin") then mapFeatures features ([ libc_0_2_33 ]) else [])
-      ++ (if kernel == "windows" then mapFeatures features ([ kernel32_sys_0_2_2 winapi_0_2_8 ]) else []);
+      ++ (if (kernel == "linux" || kernel == "darwin") then mapFeatures features ([ libc_0_2_40 ]) else [])
+      ++ (if kernel == "windows" then mapFeatures features ([ winapi_0_3_4 ]) else []);
   };
-  atty_0_2_3_features = f: updateFeatures f (rec {
-    atty_0_2_3.default = (f.atty_0_2_3.default or true);
-    kernel32_sys_0_2_2.default = true;
-    libc_0_2_33.default = (f.libc_0_2_33.default or false);
+  atty_0_2_8_features = f: updateFeatures f (rec {
+    atty_0_2_8.default = (f.atty_0_2_8.default or true);
+    libc_0_2_40.default = (f.libc_0_2_40.default or false);
     termion_1_5_1.default = true;
-    winapi_0_2_8.default = true;
-  }) [ termion_1_5_1_features libc_0_2_33_features kernel32_sys_0_2_2_features winapi_0_2_8_features ];
-  backtrace_0_3_4 = { features?(backtrace_0_3_4_features {}) }: backtrace_0_3_4_ {
-    dependencies = mapFeatures features ([ cfg_if_0_1_2 rustc_demangle_0_1_5 ])
+    winapi_0_3_4.consoleapi = true;
+    winapi_0_3_4.default = true;
+    winapi_0_3_4.minwinbase = true;
+    winapi_0_3_4.minwindef = true;
+    winapi_0_3_4.processenv = true;
+    winapi_0_3_4.winbase = true;
+  }) [ termion_1_5_1_features libc_0_2_40_features winapi_0_3_4_features ];
+  backtrace_0_3_6 = { features?(backtrace_0_3_6_features {}) }: backtrace_0_3_6_ {
+    dependencies = mapFeatures features ([ cfg_if_0_1_2 rustc_demangle_0_1_7 ])
       ++ (if (kernel == "linux" || kernel == "darwin") && !(kernel == "fuchsia") && !(kernel == "emscripten") && !(kernel == "darwin") && !(kernel == "ios") then mapFeatures features ([ ]
-      ++ (if features.backtrace_0_3_4.backtrace-sys or false then [ backtrace_sys_0_1_16 ] else [])) else [])
-      ++ (if (kernel == "linux" || kernel == "darwin") then mapFeatures features ([ libc_0_2_33 ]) else [])
+      ++ (if features.backtrace_0_3_6.backtrace-sys or false then [ backtrace_sys_0_1_16 ] else [])) else [])
+      ++ (if (kernel == "linux" || kernel == "darwin") then mapFeatures features ([ libc_0_2_40 ]) else [])
       ++ (if kernel == "windows" then mapFeatures features ([ ]
-      ++ (if features.backtrace_0_3_4.dbghelp-sys or false then [ dbghelp_sys_0_2_0 ] else [])
-      ++ (if features.backtrace_0_3_4.kernel32-sys or false then [ kernel32_sys_0_2_2 ] else [])
-      ++ (if features.backtrace_0_3_4.winapi or false then [ winapi_0_2_8 ] else [])) else []);
-    features = mkFeatures (features.backtrace_0_3_4 or {});
-  };
-  backtrace_0_3_4_features = f: updateFeatures f (rec {
-    backtrace_0_3_4.addr2line =
-      (f.backtrace_0_3_4.addr2line or false) ||
-      (f.backtrace_0_3_4.gimli-symbolize or false) ||
-      (backtrace_0_3_4.gimli-symbolize or false);
-    backtrace_0_3_4.backtrace-sys =
-      (f.backtrace_0_3_4.backtrace-sys or false) ||
-      (f.backtrace_0_3_4.libbacktrace or false) ||
-      (backtrace_0_3_4.libbacktrace or false);
-    backtrace_0_3_4.coresymbolication =
-      (f.backtrace_0_3_4.coresymbolication or false) ||
-      (f.backtrace_0_3_4.default or false) ||
-      (backtrace_0_3_4.default or false);
-    backtrace_0_3_4.dbghelp =
-      (f.backtrace_0_3_4.dbghelp or false) ||
-      (f.backtrace_0_3_4.default or false) ||
-      (backtrace_0_3_4.default or false);
-    backtrace_0_3_4.dbghelp-sys =
-      (f.backtrace_0_3_4.dbghelp-sys or false) ||
-      (f.backtrace_0_3_4.dbghelp or false) ||
-      (backtrace_0_3_4.dbghelp or false);
-    backtrace_0_3_4.default = (f.backtrace_0_3_4.default or true);
-    backtrace_0_3_4.dladdr =
-      (f.backtrace_0_3_4.dladdr or false) ||
-      (f.backtrace_0_3_4.default or false) ||
-      (backtrace_0_3_4.default or false);
-    backtrace_0_3_4.findshlibs =
-      (f.backtrace_0_3_4.findshlibs or false) ||
-      (f.backtrace_0_3_4.gimli-symbolize or false) ||
-      (backtrace_0_3_4.gimli-symbolize or false);
-    backtrace_0_3_4.kernel32-sys =
-      (f.backtrace_0_3_4.kernel32-sys or false) ||
-      (f.backtrace_0_3_4.dbghelp or false) ||
-      (backtrace_0_3_4.dbghelp or false);
-    backtrace_0_3_4.libbacktrace =
-      (f.backtrace_0_3_4.libbacktrace or false) ||
-      (f.backtrace_0_3_4.default or false) ||
-      (backtrace_0_3_4.default or false);
-    backtrace_0_3_4.libunwind =
-      (f.backtrace_0_3_4.libunwind or false) ||
-      (f.backtrace_0_3_4.default or false) ||
-      (backtrace_0_3_4.default or false);
-    backtrace_0_3_4.rustc-serialize =
-      (f.backtrace_0_3_4.rustc-serialize or false) ||
-      (f.backtrace_0_3_4.serialize-rustc or false) ||
-      (backtrace_0_3_4.serialize-rustc or false);
-    backtrace_0_3_4.serde =
-      (f.backtrace_0_3_4.serde or false) ||
-      (f.backtrace_0_3_4.serialize-serde or false) ||
-      (backtrace_0_3_4.serialize-serde or false);
-    backtrace_0_3_4.serde_derive =
-      (f.backtrace_0_3_4.serde_derive or false) ||
-      (f.backtrace_0_3_4.serialize-serde or false) ||
-      (backtrace_0_3_4.serialize-serde or false);
-    backtrace_0_3_4.winapi =
-      (f.backtrace_0_3_4.winapi or false) ||
-      (f.backtrace_0_3_4.dbghelp or false) ||
-      (backtrace_0_3_4.dbghelp or false);
+      ++ (if features.backtrace_0_3_6.winapi or false then [ winapi_0_3_4 ] else [])) else []);
+    features = mkFeatures (features.backtrace_0_3_6 or {});
+  };
+  backtrace_0_3_6_features = f: updateFeatures f (rec {
+    backtrace_0_3_6.addr2line =
+      (f.backtrace_0_3_6.addr2line or false) ||
+      (f.backtrace_0_3_6.gimli-symbolize or false) ||
+      (backtrace_0_3_6.gimli-symbolize or false);
+    backtrace_0_3_6.backtrace-sys =
+      (f.backtrace_0_3_6.backtrace-sys or false) ||
+      (f.backtrace_0_3_6.libbacktrace or false) ||
+      (backtrace_0_3_6.libbacktrace or false);
+    backtrace_0_3_6.coresymbolication =
+      (f.backtrace_0_3_6.coresymbolication or false) ||
+      (f.backtrace_0_3_6.default or false) ||
+      (backtrace_0_3_6.default or false);
+    backtrace_0_3_6.dbghelp =
+      (f.backtrace_0_3_6.dbghelp or false) ||
+      (f.backtrace_0_3_6.default or false) ||
+      (backtrace_0_3_6.default or false);
+    backtrace_0_3_6.default = (f.backtrace_0_3_6.default or true);
+    backtrace_0_3_6.dladdr =
+      (f.backtrace_0_3_6.dladdr or false) ||
+      (f.backtrace_0_3_6.default or false) ||
+      (backtrace_0_3_6.default or false);
+    backtrace_0_3_6.findshlibs =
+      (f.backtrace_0_3_6.findshlibs or false) ||
+      (f.backtrace_0_3_6.gimli-symbolize or false) ||
+      (backtrace_0_3_6.gimli-symbolize or false);
+    backtrace_0_3_6.gimli =
+      (f.backtrace_0_3_6.gimli or false) ||
+      (f.backtrace_0_3_6.gimli-symbolize or false) ||
+      (backtrace_0_3_6.gimli-symbolize or false);
+    backtrace_0_3_6.libbacktrace =
+      (f.backtrace_0_3_6.libbacktrace or false) ||
+      (f.backtrace_0_3_6.default or false) ||
+      (backtrace_0_3_6.default or false);
+    backtrace_0_3_6.libunwind =
+      (f.backtrace_0_3_6.libunwind or false) ||
+      (f.backtrace_0_3_6.default or false) ||
+      (backtrace_0_3_6.default or false);
+    backtrace_0_3_6.memmap =
+      (f.backtrace_0_3_6.memmap or false) ||
+      (f.backtrace_0_3_6.gimli-symbolize or false) ||
+      (backtrace_0_3_6.gimli-symbolize or false);
+    backtrace_0_3_6.object =
+      (f.backtrace_0_3_6.object or false) ||
+      (f.backtrace_0_3_6.gimli-symbolize or false) ||
+      (backtrace_0_3_6.gimli-symbolize or false);
+    backtrace_0_3_6.rustc-serialize =
+      (f.backtrace_0_3_6.rustc-serialize or false) ||
+      (f.backtrace_0_3_6.serialize-rustc or false) ||
+      (backtrace_0_3_6.serialize-rustc or false);
+    backtrace_0_3_6.serde =
+      (f.backtrace_0_3_6.serde or false) ||
+      (f.backtrace_0_3_6.serialize-serde or false) ||
+      (backtrace_0_3_6.serialize-serde or false);
+    backtrace_0_3_6.serde_derive =
+      (f.backtrace_0_3_6.serde_derive or false) ||
+      (f.backtrace_0_3_6.serialize-serde or false) ||
+      (backtrace_0_3_6.serialize-serde or false);
+    backtrace_0_3_6.winapi =
+      (f.backtrace_0_3_6.winapi or false) ||
+      (f.backtrace_0_3_6.dbghelp or false) ||
+      (backtrace_0_3_6.dbghelp or false);
     backtrace_sys_0_1_16.default = true;
     cfg_if_0_1_2.default = true;
-    dbghelp_sys_0_2_0.default = true;
-    kernel32_sys_0_2_2.default = true;
-    libc_0_2_33.default = true;
-    rustc_demangle_0_1_5.default = true;
-    winapi_0_2_8.default = true;
-  }) [ cfg_if_0_1_2_features rustc_demangle_0_1_5_features backtrace_sys_0_1_16_features libc_0_2_33_features dbghelp_sys_0_2_0_features kernel32_sys_0_2_2_features winapi_0_2_8_features ];
+    libc_0_2_40.default = true;
+    rustc_demangle_0_1_7.default = true;
+    winapi_0_3_4.dbghelp = true;
+    winapi_0_3_4.default = true;
+    winapi_0_3_4.minwindef = true;
+    winapi_0_3_4.processthreadsapi = true;
+    winapi_0_3_4.std = true;
+    winapi_0_3_4.winnt = true;
+  }) [ cfg_if_0_1_2_features rustc_demangle_0_1_7_features backtrace_sys_0_1_16_features libc_0_2_40_features winapi_0_3_4_features ];
   backtrace_sys_0_1_16 = { features?(backtrace_sys_0_1_16_features {}) }: backtrace_sys_0_1_16_ {
-    dependencies = mapFeatures features ([ libc_0_2_33 ]);
-    buildDependencies = mapFeatures features ([ cc_1_0_3 ]);
+    dependencies = mapFeatures features ([ libc_0_2_40 ]);
+    buildDependencies = mapFeatures features ([ cc_1_0_10 ]);
   };
   backtrace_sys_0_1_16_features = f: updateFeatures f (rec {
     backtrace_sys_0_1_16.default = (f.backtrace_sys_0_1_16.default or true);
-    cc_1_0_3.default = true;
-    libc_0_2_33.default = true;
-  }) [ libc_0_2_33_features cc_1_0_3_features ];
-  bitflags_0_7_0 = { features?(bitflags_0_7_0_features {}) }: bitflags_0_7_0_ {};
-  bitflags_0_7_0_features = f: updateFeatures f (rec {
-    bitflags_0_7_0.default = (f.bitflags_0_7_0.default or true);
-  }) [];
+    cc_1_0_10.default = true;
+    libc_0_2_40.default = true;
+  }) [ libc_0_2_40_features cc_1_0_10_features ];
   bitflags_1_0_1 = { features?(bitflags_1_0_1_features {}) }: bitflags_1_0_1_ {
     features = mkFeatures (features.bitflags_1_0_1 or {});
   };
@@ -623,159 +628,143 @@ rec {
       (f.bitflags_1_0_1.default or false) ||
       (bitflags_1_0_1.default or false);
   }) [];
-  carnix_0_6_6 = { features?(carnix_0_6_6_features {}) }: carnix_0_6_6_ {
-    dependencies = mapFeatures features ([ clap_2_28_0 env_logger_0_5_3 error_chain_0_11_0 itertools_0_7_3 log_0_4_1 nom_3_2_1 regex_0_2_2 rusqlite_0_13_0 serde_1_0_21 serde_derive_1_0_21 serde_json_1_0_6 tempdir_0_3_5 toml_0_4_5 ]);
+  carnix_0_7_2 = { features?(carnix_0_7_2_features {}) }: carnix_0_7_2_ {
+    dependencies = mapFeatures features ([ clap_2_31_2 env_logger_0_5_7 error_chain_0_11_0 itertools_0_7_8 log_0_4_1 nom_3_2_1 regex_0_2_10 rusqlite_0_13_0 serde_1_0_38 serde_derive_1_0_38 serde_json_1_0_14 tempdir_0_3_7 toml_0_4_6 ]);
   };
-  carnix_0_6_6_features = f: updateFeatures f (rec {
-    carnix_0_6_6.default = (f.carnix_0_6_6.default or true);
-    clap_2_28_0.default = true;
-    env_logger_0_5_3.default = true;
+  carnix_0_7_2_features = f: updateFeatures f (rec {
+    carnix_0_7_2.default = (f.carnix_0_7_2.default or true);
+    clap_2_31_2.default = true;
+    env_logger_0_5_7.default = true;
     error_chain_0_11_0.default = true;
-    itertools_0_7_3.default = true;
+    itertools_0_7_8.default = true;
     log_0_4_1.default = true;
     nom_3_2_1.default = true;
-    regex_0_2_2.default = true;
+    regex_0_2_10.default = true;
     rusqlite_0_13_0.default = true;
-    serde_1_0_21.default = true;
-    serde_derive_1_0_21.default = true;
-    serde_json_1_0_6.default = true;
-    tempdir_0_3_5.default = true;
-    toml_0_4_5.default = true;
-  }) [ clap_2_28_0_features env_logger_0_5_3_features error_chain_0_11_0_features itertools_0_7_3_features log_0_4_1_features nom_3_2_1_features regex_0_2_2_features rusqlite_0_13_0_features serde_1_0_21_features serde_derive_1_0_21_features serde_json_1_0_6_features tempdir_0_3_5_features toml_0_4_5_features ];
-  cc_1_0_3 = { features?(cc_1_0_3_features {}) }: cc_1_0_3_ {
+    serde_1_0_38.default = true;
+    serde_derive_1_0_38.default = true;
+    serde_json_1_0_14.default = true;
+    tempdir_0_3_7.default = true;
+    toml_0_4_6.default = true;
+  }) [ clap_2_31_2_features env_logger_0_5_7_features error_chain_0_11_0_features itertools_0_7_8_features log_0_4_1_features nom_3_2_1_features regex_0_2_10_features rusqlite_0_13_0_features serde_1_0_38_features serde_derive_1_0_38_features serde_json_1_0_14_features tempdir_0_3_7_features toml_0_4_6_features ];
+  cc_1_0_10 = { features?(cc_1_0_10_features {}) }: cc_1_0_10_ {
     dependencies = mapFeatures features ([]);
-    features = mkFeatures (features.cc_1_0_3 or {});
-  };
-  cc_1_0_3_features = f: updateFeatures f (rec {
-    cc_1_0_3.default = (f.cc_1_0_3.default or true);
-    cc_1_0_3.rayon =
-      (f.cc_1_0_3.rayon or false) ||
-      (f.cc_1_0_3.parallel or false) ||
-      (cc_1_0_3.parallel or false);
+    features = mkFeatures (features.cc_1_0_10 or {});
+  };
+  cc_1_0_10_features = f: updateFeatures f (rec {
+    cc_1_0_10.default = (f.cc_1_0_10.default or true);
+    cc_1_0_10.rayon =
+      (f.cc_1_0_10.rayon or false) ||
+      (f.cc_1_0_10.parallel or false) ||
+      (cc_1_0_10.parallel or false);
   }) [];
   cfg_if_0_1_2 = { features?(cfg_if_0_1_2_features {}) }: cfg_if_0_1_2_ {};
   cfg_if_0_1_2_features = f: updateFeatures f (rec {
     cfg_if_0_1_2.default = (f.cfg_if_0_1_2.default or true);
   }) [];
-  chrono_0_4_0 = { features?(chrono_0_4_0_features {}) }: chrono_0_4_0_ {
-    dependencies = mapFeatures features ([ num_0_1_40 time_0_1_38 ]);
-  };
-  chrono_0_4_0_features = f: updateFeatures f (rec {
-    chrono_0_4_0.default = (f.chrono_0_4_0.default or true);
-    num_0_1_40.default = (f.num_0_1_40.default or false);
-    time_0_1_38.default = true;
-  }) [ num_0_1_40_features time_0_1_38_features ];
-  clap_2_28_0 = { features?(clap_2_28_0_features {}) }: clap_2_28_0_ {
+  clap_2_31_2 = { features?(clap_2_31_2_features {}) }: clap_2_31_2_ {
     dependencies = mapFeatures features ([ bitflags_1_0_1 textwrap_0_9_0 unicode_width_0_1_4 ]
-      ++ (if features.clap_2_28_0.ansi_term or false then [ ansi_term_0_10_2 ] else [])
-      ++ (if features.clap_2_28_0.atty or false then [ atty_0_2_3 ] else [])
-      ++ (if features.clap_2_28_0.strsim or false then [ strsim_0_6_0 ] else [])
-      ++ (if features.clap_2_28_0.vec_map or false then [ vec_map_0_8_0 ] else []));
-    features = mkFeatures (features.clap_2_28_0 or {});
-  };
-  clap_2_28_0_features = f: updateFeatures f (rec {
-    ansi_term_0_10_2.default = true;
-    atty_0_2_3.default = true;
+      ++ (if features.clap_2_31_2.atty or false then [ atty_0_2_8 ] else [])
+      ++ (if features.clap_2_31_2.strsim or false then [ strsim_0_7_0 ] else [])
+      ++ (if features.clap_2_31_2.vec_map or false then [ vec_map_0_8_0 ] else []))
+      ++ (if !(kernel == "windows") then mapFeatures features ([ ]
+      ++ (if features.clap_2_31_2.ansi_term or false then [ ansi_term_0_11_0 ] else [])) else []);
+    features = mkFeatures (features.clap_2_31_2 or {});
+  };
+  clap_2_31_2_features = f: updateFeatures f (rec {
+    ansi_term_0_11_0.default = true;
+    atty_0_2_8.default = true;
     bitflags_1_0_1.default = true;
-    clap_2_28_0.ansi_term =
-      (f.clap_2_28_0.ansi_term or false) ||
-      (f.clap_2_28_0.color or false) ||
-      (clap_2_28_0.color or false);
-    clap_2_28_0.atty =
-      (f.clap_2_28_0.atty or false) ||
-      (f.clap_2_28_0.color or false) ||
-      (clap_2_28_0.color or false);
-    clap_2_28_0.clippy =
-      (f.clap_2_28_0.clippy or false) ||
-      (f.clap_2_28_0.lints or false) ||
-      (clap_2_28_0.lints or false);
-    clap_2_28_0.color =
-      (f.clap_2_28_0.color or false) ||
-      (f.clap_2_28_0.default or false) ||
-      (clap_2_28_0.default or false);
-    clap_2_28_0.default = (f.clap_2_28_0.default or true);
-    clap_2_28_0.strsim =
-      (f.clap_2_28_0.strsim or false) ||
-      (f.clap_2_28_0.suggestions or false) ||
-      (clap_2_28_0.suggestions or false);
-    clap_2_28_0.suggestions =
-      (f.clap_2_28_0.suggestions or false) ||
-      (f.clap_2_28_0.default or false) ||
-      (clap_2_28_0.default or false);
-    clap_2_28_0.term_size =
-      (f.clap_2_28_0.term_size or false) ||
-      (f.clap_2_28_0.wrap_help or false) ||
-      (clap_2_28_0.wrap_help or false);
-    clap_2_28_0.vec_map =
-      (f.clap_2_28_0.vec_map or false) ||
-      (f.clap_2_28_0.default or false) ||
-      (clap_2_28_0.default or false);
-    clap_2_28_0.yaml =
-      (f.clap_2_28_0.yaml or false) ||
-      (f.clap_2_28_0.doc or false) ||
-      (clap_2_28_0.doc or false);
-    clap_2_28_0.yaml-rust =
-      (f.clap_2_28_0.yaml-rust or false) ||
-      (f.clap_2_28_0.yaml or false) ||
-      (clap_2_28_0.yaml or false);
-    strsim_0_6_0.default = true;
+    clap_2_31_2.ansi_term =
+      (f.clap_2_31_2.ansi_term or false) ||
+      (f.clap_2_31_2.color or false) ||
+      (clap_2_31_2.color or false);
+    clap_2_31_2.atty =
+      (f.clap_2_31_2.atty or false) ||
+      (f.clap_2_31_2.color or false) ||
+      (clap_2_31_2.color or false);
+    clap_2_31_2.clippy =
+      (f.clap_2_31_2.clippy or false) ||
+      (f.clap_2_31_2.lints or false) ||
+      (clap_2_31_2.lints or false);
+    clap_2_31_2.color =
+      (f.clap_2_31_2.color or false) ||
+      (f.clap_2_31_2.default or false) ||
+      (clap_2_31_2.default or false);
+    clap_2_31_2.default = (f.clap_2_31_2.default or true);
+    clap_2_31_2.strsim =
+      (f.clap_2_31_2.strsim or false) ||
+      (f.clap_2_31_2.suggestions or false) ||
+      (clap_2_31_2.suggestions or false);
+    clap_2_31_2.suggestions =
+      (f.clap_2_31_2.suggestions or false) ||
+      (f.clap_2_31_2.default or false) ||
+      (clap_2_31_2.default or false);
+    clap_2_31_2.term_size =
+      (f.clap_2_31_2.term_size or false) ||
+      (f.clap_2_31_2.wrap_help or false) ||
+      (clap_2_31_2.wrap_help or false);
+    clap_2_31_2.vec_map =
+      (f.clap_2_31_2.vec_map or false) ||
+      (f.clap_2_31_2.default or false) ||
+      (clap_2_31_2.default or false);
+    clap_2_31_2.yaml =
+      (f.clap_2_31_2.yaml or false) ||
+      (f.clap_2_31_2.doc or false) ||
+      (clap_2_31_2.doc or false);
+    clap_2_31_2.yaml-rust =
+      (f.clap_2_31_2.yaml-rust or false) ||
+      (f.clap_2_31_2.yaml or false) ||
+      (clap_2_31_2.yaml or false);
+    strsim_0_7_0.default = true;
     textwrap_0_9_0.default = true;
     textwrap_0_9_0.term_size =
       (f.textwrap_0_9_0.term_size or false) ||
-      (clap_2_28_0.wrap_help or false) ||
-      (f.clap_2_28_0.wrap_help or false);
+      (clap_2_31_2.wrap_help or false) ||
+      (f.clap_2_31_2.wrap_help or false);
     unicode_width_0_1_4.default = true;
     vec_map_0_8_0.default = true;
-  }) [ ansi_term_0_10_2_features atty_0_2_3_features bitflags_1_0_1_features strsim_0_6_0_features textwrap_0_9_0_features unicode_width_0_1_4_features vec_map_0_8_0_features ];
-  dbghelp_sys_0_2_0 = { features?(dbghelp_sys_0_2_0_features {}) }: dbghelp_sys_0_2_0_ {
-    dependencies = mapFeatures features ([ winapi_0_2_8 ]);
-    buildDependencies = mapFeatures features ([ winapi_build_0_1_1 ]);
-  };
-  dbghelp_sys_0_2_0_features = f: updateFeatures f (rec {
-    dbghelp_sys_0_2_0.default = (f.dbghelp_sys_0_2_0.default or true);
-    winapi_0_2_8.default = true;
-    winapi_build_0_1_1.default = true;
-  }) [ winapi_0_2_8_features winapi_build_0_1_1_features ];
+  }) [ atty_0_2_8_features bitflags_1_0_1_features strsim_0_7_0_features textwrap_0_9_0_features unicode_width_0_1_4_features vec_map_0_8_0_features ansi_term_0_11_0_features ];
   dtoa_0_4_2 = { features?(dtoa_0_4_2_features {}) }: dtoa_0_4_2_ {};
   dtoa_0_4_2_features = f: updateFeatures f (rec {
     dtoa_0_4_2.default = (f.dtoa_0_4_2.default or true);
   }) [];
-  either_1_4_0 = { features?(either_1_4_0_features {}) }: either_1_4_0_ {
+  either_1_5_0 = { features?(either_1_5_0_features {}) }: either_1_5_0_ {
     dependencies = mapFeatures features ([]);
-    features = mkFeatures (features.either_1_4_0 or {});
-  };
-  either_1_4_0_features = f: updateFeatures f (rec {
-    either_1_4_0.default = (f.either_1_4_0.default or true);
-    either_1_4_0.use_std =
-      (f.either_1_4_0.use_std or false) ||
-      (f.either_1_4_0.default or false) ||
-      (either_1_4_0.default or false);
+    features = mkFeatures (features.either_1_5_0 or {});
+  };
+  either_1_5_0_features = f: updateFeatures f (rec {
+    either_1_5_0.default = (f.either_1_5_0.default or true);
+    either_1_5_0.use_std =
+      (f.either_1_5_0.use_std or false) ||
+      (f.either_1_5_0.default or false) ||
+      (either_1_5_0.default or false);
   }) [];
-  env_logger_0_5_3 = { features?(env_logger_0_5_3_features {}) }: env_logger_0_5_3_ {
-    dependencies = mapFeatures features ([ atty_0_2_3 chrono_0_4_0 log_0_4_1 termcolor_0_3_3 ]
-      ++ (if features.env_logger_0_5_3.regex or false then [ regex_0_2_2 ] else []));
-    features = mkFeatures (features.env_logger_0_5_3 or {});
-  };
-  env_logger_0_5_3_features = f: updateFeatures f (rec {
-    atty_0_2_3.default = true;
-    chrono_0_4_0.default = true;
-    env_logger_0_5_3.default = (f.env_logger_0_5_3.default or true);
-    env_logger_0_5_3.regex =
-      (f.env_logger_0_5_3.regex or false) ||
-      (f.env_logger_0_5_3.default or false) ||
-      (env_logger_0_5_3.default or false);
+  env_logger_0_5_7 = { features?(env_logger_0_5_7_features {}) }: env_logger_0_5_7_ {
+    dependencies = mapFeatures features ([ atty_0_2_8 humantime_1_1_1 log_0_4_1 termcolor_0_3_6 ]
+      ++ (if features.env_logger_0_5_7.regex or false then [ regex_0_2_10 ] else []));
+    features = mkFeatures (features.env_logger_0_5_7 or {});
+  };
+  env_logger_0_5_7_features = f: updateFeatures f (rec {
+    atty_0_2_8.default = true;
+    env_logger_0_5_7.default = (f.env_logger_0_5_7.default or true);
+    env_logger_0_5_7.regex =
+      (f.env_logger_0_5_7.regex or false) ||
+      (f.env_logger_0_5_7.default or false) ||
+      (env_logger_0_5_7.default or false);
+    humantime_1_1_1.default = true;
     log_0_4_1.default = true;
     log_0_4_1.std = true;
-    regex_0_2_2.default = true;
-    termcolor_0_3_3.default = true;
-  }) [ atty_0_2_3_features chrono_0_4_0_features log_0_4_1_features regex_0_2_2_features termcolor_0_3_3_features ];
+    regex_0_2_10.default = true;
+    termcolor_0_3_6.default = true;
+  }) [ atty_0_2_8_features humantime_1_1_1_features log_0_4_1_features regex_0_2_10_features termcolor_0_3_6_features ];
   error_chain_0_11_0 = { features?(error_chain_0_11_0_features {}) }: error_chain_0_11_0_ {
     dependencies = mapFeatures features ([ ]
-      ++ (if features.error_chain_0_11_0.backtrace or false then [ backtrace_0_3_4 ] else []));
+      ++ (if features.error_chain_0_11_0.backtrace or false then [ backtrace_0_3_6 ] else []));
     features = mkFeatures (features.error_chain_0_11_0 or {});
   };
   error_chain_0_11_0_features = f: updateFeatures f (rec {
-    backtrace_0_3_4.default = true;
+    backtrace_0_3_6.default = true;
     error_chain_0_11_0.backtrace =
       (f.error_chain_0_11_0.backtrace or false) ||
       (f.error_chain_0_11_0.default or false) ||
@@ -785,129 +774,129 @@ rec {
       (f.error_chain_0_11_0.example_generated or false) ||
       (f.error_chain_0_11_0.default or false) ||
       (error_chain_0_11_0.default or false);
-  }) [ backtrace_0_3_4_features ];
-  fuchsia_zircon_0_2_1 = { features?(fuchsia_zircon_0_2_1_features {}) }: fuchsia_zircon_0_2_1_ {
-    dependencies = mapFeatures features ([ fuchsia_zircon_sys_0_2_0 ]);
-  };
-  fuchsia_zircon_0_2_1_features = f: updateFeatures f (rec {
-    fuchsia_zircon_0_2_1.default = (f.fuchsia_zircon_0_2_1.default or true);
-    fuchsia_zircon_sys_0_2_0.default = true;
-  }) [ fuchsia_zircon_sys_0_2_0_features ];
-  fuchsia_zircon_sys_0_2_0 = { features?(fuchsia_zircon_sys_0_2_0_features {}) }: fuchsia_zircon_sys_0_2_0_ {
-    dependencies = mapFeatures features ([ bitflags_0_7_0 ]);
-  };
-  fuchsia_zircon_sys_0_2_0_features = f: updateFeatures f (rec {
-    bitflags_0_7_0.default = true;
-    fuchsia_zircon_sys_0_2_0.default = (f.fuchsia_zircon_sys_0_2_0.default or true);
-  }) [ bitflags_0_7_0_features ];
-  itertools_0_7_3 = { features?(itertools_0_7_3_features {}) }: itertools_0_7_3_ {
-    dependencies = mapFeatures features ([ either_1_4_0 ]);
-    features = mkFeatures (features.itertools_0_7_3 or {});
-  };
-  itertools_0_7_3_features = f: updateFeatures f (rec {
-    either_1_4_0.default = (f.either_1_4_0.default or false);
-    itertools_0_7_3.default = (f.itertools_0_7_3.default or true);
-    itertools_0_7_3.use_std =
-      (f.itertools_0_7_3.use_std or false) ||
-      (f.itertools_0_7_3.default or false) ||
-      (itertools_0_7_3.default or false);
-  }) [ either_1_4_0_features ];
-  itoa_0_3_4 = { features?(itoa_0_3_4_features {}) }: itoa_0_3_4_ {
-    features = mkFeatures (features.itoa_0_3_4 or {});
-  };
-  itoa_0_3_4_features = f: updateFeatures f (rec {
-    itoa_0_3_4.default = (f.itoa_0_3_4.default or true);
+  }) [ backtrace_0_3_6_features ];
+  fuchsia_zircon_0_3_3 = { features?(fuchsia_zircon_0_3_3_features {}) }: fuchsia_zircon_0_3_3_ {
+    dependencies = mapFeatures features ([ bitflags_1_0_1 fuchsia_zircon_sys_0_3_3 ]);
+  };
+  fuchsia_zircon_0_3_3_features = f: updateFeatures f (rec {
+    bitflags_1_0_1.default = true;
+    fuchsia_zircon_0_3_3.default = (f.fuchsia_zircon_0_3_3.default or true);
+    fuchsia_zircon_sys_0_3_3.default = true;
+  }) [ bitflags_1_0_1_features fuchsia_zircon_sys_0_3_3_features ];
+  fuchsia_zircon_sys_0_3_3 = { features?(fuchsia_zircon_sys_0_3_3_features {}) }: fuchsia_zircon_sys_0_3_3_ {};
+  fuchsia_zircon_sys_0_3_3_features = f: updateFeatures f (rec {
+    fuchsia_zircon_sys_0_3_3.default = (f.fuchsia_zircon_sys_0_3_3.default or true);
   }) [];
-  kernel32_sys_0_2_2 = { features?(kernel32_sys_0_2_2_features {}) }: kernel32_sys_0_2_2_ {
-    dependencies = mapFeatures features ([ winapi_0_2_8 ]);
-    buildDependencies = mapFeatures features ([ winapi_build_0_1_1 ]);
-  };
-  kernel32_sys_0_2_2_features = f: updateFeatures f (rec {
-    kernel32_sys_0_2_2.default = (f.kernel32_sys_0_2_2.default or true);
-    winapi_0_2_8.default = true;
-    winapi_build_0_1_1.default = true;
-  }) [ winapi_0_2_8_features winapi_build_0_1_1_features ];
-  lazy_static_0_2_11 = { features?(lazy_static_0_2_11_features {}) }: lazy_static_0_2_11_ {
+  humantime_1_1_1 = { features?(humantime_1_1_1_features {}) }: humantime_1_1_1_ {
+    dependencies = mapFeatures features ([ quick_error_1_2_1 ]);
+  };
+  humantime_1_1_1_features = f: updateFeatures f (rec {
+    humantime_1_1_1.default = (f.humantime_1_1_1.default or true);
+    quick_error_1_2_1.default = true;
+  }) [ quick_error_1_2_1_features ];
+  itertools_0_7_8 = { features?(itertools_0_7_8_features {}) }: itertools_0_7_8_ {
+    dependencies = mapFeatures features ([ either_1_5_0 ]);
+    features = mkFeatures (features.itertools_0_7_8 or {});
+  };
+  itertools_0_7_8_features = f: updateFeatures f (rec {
+    either_1_5_0.default = (f.either_1_5_0.default or false);
+    itertools_0_7_8.default = (f.itertools_0_7_8.default or true);
+    itertools_0_7_8.use_std =
+      (f.itertools_0_7_8.use_std or false) ||
+      (f.itertools_0_7_8.default or false) ||
+      (itertools_0_7_8.default or false);
+  }) [ either_1_5_0_features ];
+  itoa_0_4_1 = { features?(itoa_0_4_1_features {}) }: itoa_0_4_1_ {
+    features = mkFeatures (features.itoa_0_4_1 or {});
+  };
+  itoa_0_4_1_features = f: updateFeatures f (rec {
+    itoa_0_4_1.default = (f.itoa_0_4_1.default or true);
+    itoa_0_4_1.std =
+      (f.itoa_0_4_1.std or false) ||
+      (f.itoa_0_4_1.default or false) ||
+      (itoa_0_4_1.default or false);
+  }) [];
+  lazy_static_1_0_0 = { features?(lazy_static_1_0_0_features {}) }: lazy_static_1_0_0_ {
     dependencies = mapFeatures features ([]);
-    features = mkFeatures (features.lazy_static_0_2_11 or {});
-  };
-  lazy_static_0_2_11_features = f: updateFeatures f (rec {
-    lazy_static_0_2_11.compiletest_rs =
-      (f.lazy_static_0_2_11.compiletest_rs or false) ||
-      (f.lazy_static_0_2_11.compiletest or false) ||
-      (lazy_static_0_2_11.compiletest or false);
-    lazy_static_0_2_11.default = (f.lazy_static_0_2_11.default or true);
-    lazy_static_0_2_11.nightly =
-      (f.lazy_static_0_2_11.nightly or false) ||
-      (f.lazy_static_0_2_11.spin_no_std or false) ||
-      (lazy_static_0_2_11.spin_no_std or false);
-    lazy_static_0_2_11.spin =
-      (f.lazy_static_0_2_11.spin or false) ||
-      (f.lazy_static_0_2_11.spin_no_std or false) ||
-      (lazy_static_0_2_11.spin_no_std or false);
+    features = mkFeatures (features.lazy_static_1_0_0 or {});
+  };
+  lazy_static_1_0_0_features = f: updateFeatures f (rec {
+    lazy_static_1_0_0.compiletest_rs =
+      (f.lazy_static_1_0_0.compiletest_rs or false) ||
+      (f.lazy_static_1_0_0.compiletest or false) ||
+      (lazy_static_1_0_0.compiletest or false);
+    lazy_static_1_0_0.default = (f.lazy_static_1_0_0.default or true);
+    lazy_static_1_0_0.nightly =
+      (f.lazy_static_1_0_0.nightly or false) ||
+      (f.lazy_static_1_0_0.spin_no_std or false) ||
+      (lazy_static_1_0_0.spin_no_std or false);
+    lazy_static_1_0_0.spin =
+      (f.lazy_static_1_0_0.spin or false) ||
+      (f.lazy_static_1_0_0.spin_no_std or false) ||
+      (lazy_static_1_0_0.spin_no_std or false);
   }) [];
-  libc_0_2_33 = { features?(libc_0_2_33_features {}) }: libc_0_2_33_ {
-    features = mkFeatures (features.libc_0_2_33 or {});
-  };
-  libc_0_2_33_features = f: updateFeatures f (rec {
-    libc_0_2_33.default = (f.libc_0_2_33.default or true);
-    libc_0_2_33.use_std =
-      (f.libc_0_2_33.use_std or false) ||
-      (f.libc_0_2_33.default or false) ||
-      (libc_0_2_33.default or false);
+  libc_0_2_40 = { features?(libc_0_2_40_features {}) }: libc_0_2_40_ {
+    features = mkFeatures (features.libc_0_2_40 or {});
+  };
+  libc_0_2_40_features = f: updateFeatures f (rec {
+    libc_0_2_40.default = (f.libc_0_2_40.default or true);
+    libc_0_2_40.use_std =
+      (f.libc_0_2_40.use_std or false) ||
+      (f.libc_0_2_40.default or false) ||
+      (libc_0_2_40.default or false);
   }) [];
-  libsqlite3_sys_0_9_0 = { features?(libsqlite3_sys_0_9_0_features {}) }: libsqlite3_sys_0_9_0_ {
+  libsqlite3_sys_0_9_1 = { features?(libsqlite3_sys_0_9_1_features {}) }: libsqlite3_sys_0_9_1_ {
     dependencies = (if abi == "msvc" then mapFeatures features ([]) else []);
     buildDependencies = mapFeatures features ([ ]
-      ++ (if features.libsqlite3_sys_0_9_0.pkg-config or false then [ pkg_config_0_3_9 ] else []));
-    features = mkFeatures (features.libsqlite3_sys_0_9_0 or {});
-  };
-  libsqlite3_sys_0_9_0_features = f: updateFeatures f (rec {
-    libsqlite3_sys_0_9_0.bindgen =
-      (f.libsqlite3_sys_0_9_0.bindgen or false) ||
-      (f.libsqlite3_sys_0_9_0.buildtime_bindgen or false) ||
-      (libsqlite3_sys_0_9_0.buildtime_bindgen or false);
-    libsqlite3_sys_0_9_0.cc =
-      (f.libsqlite3_sys_0_9_0.cc or false) ||
-      (f.libsqlite3_sys_0_9_0.bundled or false) ||
-      (libsqlite3_sys_0_9_0.bundled or false);
-    libsqlite3_sys_0_9_0.default = (f.libsqlite3_sys_0_9_0.default or true);
-    libsqlite3_sys_0_9_0.min_sqlite_version_3_6_8 =
-      (f.libsqlite3_sys_0_9_0.min_sqlite_version_3_6_8 or false) ||
-      (f.libsqlite3_sys_0_9_0.default or false) ||
-      (libsqlite3_sys_0_9_0.default or false);
-    libsqlite3_sys_0_9_0.pkg-config =
-      (f.libsqlite3_sys_0_9_0.pkg-config or false) ||
-      (f.libsqlite3_sys_0_9_0.buildtime_bindgen or false) ||
-      (libsqlite3_sys_0_9_0.buildtime_bindgen or false) ||
-      (f.libsqlite3_sys_0_9_0.min_sqlite_version_3_6_11 or false) ||
-      (libsqlite3_sys_0_9_0.min_sqlite_version_3_6_11 or false) ||
-      (f.libsqlite3_sys_0_9_0.min_sqlite_version_3_6_23 or false) ||
-      (libsqlite3_sys_0_9_0.min_sqlite_version_3_6_23 or false) ||
-      (f.libsqlite3_sys_0_9_0.min_sqlite_version_3_6_8 or false) ||
-      (libsqlite3_sys_0_9_0.min_sqlite_version_3_6_8 or false) ||
-      (f.libsqlite3_sys_0_9_0.min_sqlite_version_3_7_16 or false) ||
-      (libsqlite3_sys_0_9_0.min_sqlite_version_3_7_16 or false) ||
-      (f.libsqlite3_sys_0_9_0.min_sqlite_version_3_7_3 or false) ||
-      (libsqlite3_sys_0_9_0.min_sqlite_version_3_7_3 or false) ||
-      (f.libsqlite3_sys_0_9_0.min_sqlite_version_3_7_4 or false) ||
-      (libsqlite3_sys_0_9_0.min_sqlite_version_3_7_4 or false);
-    libsqlite3_sys_0_9_0.vcpkg =
-      (f.libsqlite3_sys_0_9_0.vcpkg or false) ||
-      (f.libsqlite3_sys_0_9_0.buildtime_bindgen or false) ||
-      (libsqlite3_sys_0_9_0.buildtime_bindgen or false) ||
-      (f.libsqlite3_sys_0_9_0.min_sqlite_version_3_6_11 or false) ||
-      (libsqlite3_sys_0_9_0.min_sqlite_version_3_6_11 or false) ||
-      (f.libsqlite3_sys_0_9_0.min_sqlite_version_3_6_23 or false) ||
-      (libsqlite3_sys_0_9_0.min_sqlite_version_3_6_23 or false) ||
-      (f.libsqlite3_sys_0_9_0.min_sqlite_version_3_6_8 or false) ||
-      (libsqlite3_sys_0_9_0.min_sqlite_version_3_6_8 or false) ||
-      (f.libsqlite3_sys_0_9_0.min_sqlite_version_3_7_16 or false) ||
-      (libsqlite3_sys_0_9_0.min_sqlite_version_3_7_16 or false) ||
-      (f.libsqlite3_sys_0_9_0.min_sqlite_version_3_7_3 or false) ||
-      (libsqlite3_sys_0_9_0.min_sqlite_version_3_7_3 or false) ||
-      (f.libsqlite3_sys_0_9_0.min_sqlite_version_3_7_4 or false) ||
-      (libsqlite3_sys_0_9_0.min_sqlite_version_3_7_4 or false);
+      ++ (if features.libsqlite3_sys_0_9_1.pkg-config or false then [ pkg_config_0_3_9 ] else []));
+    features = mkFeatures (features.libsqlite3_sys_0_9_1 or {});
+  };
+  libsqlite3_sys_0_9_1_features = f: updateFeatures f (rec {
+    libsqlite3_sys_0_9_1.bindgen =
+      (f.libsqlite3_sys_0_9_1.bindgen or false) ||
+      (f.libsqlite3_sys_0_9_1.buildtime_bindgen or false) ||
+      (libsqlite3_sys_0_9_1.buildtime_bindgen or false);
+    libsqlite3_sys_0_9_1.cc =
+      (f.libsqlite3_sys_0_9_1.cc or false) ||
+      (f.libsqlite3_sys_0_9_1.bundled or false) ||
+      (libsqlite3_sys_0_9_1.bundled or false);
+    libsqlite3_sys_0_9_1.default = (f.libsqlite3_sys_0_9_1.default or true);
+    libsqlite3_sys_0_9_1.min_sqlite_version_3_6_8 =
+      (f.libsqlite3_sys_0_9_1.min_sqlite_version_3_6_8 or false) ||
+      (f.libsqlite3_sys_0_9_1.default or false) ||
+      (libsqlite3_sys_0_9_1.default or false);
+    libsqlite3_sys_0_9_1.pkg-config =
+      (f.libsqlite3_sys_0_9_1.pkg-config or false) ||
+      (f.libsqlite3_sys_0_9_1.buildtime_bindgen or false) ||
+      (libsqlite3_sys_0_9_1.buildtime_bindgen or false) ||
+      (f.libsqlite3_sys_0_9_1.min_sqlite_version_3_6_11 or false) ||
+      (libsqlite3_sys_0_9_1.min_sqlite_version_3_6_11 or false) ||
+      (f.libsqlite3_sys_0_9_1.min_sqlite_version_3_6_23 or false) ||
+      (libsqlite3_sys_0_9_1.min_sqlite_version_3_6_23 or false) ||
+      (f.libsqlite3_sys_0_9_1.min_sqlite_version_3_6_8 or false) ||
+      (libsqlite3_sys_0_9_1.min_sqlite_version_3_6_8 or false) ||
+      (f.libsqlite3_sys_0_9_1.min_sqlite_version_3_7_16 or false) ||
+      (libsqlite3_sys_0_9_1.min_sqlite_version_3_7_16 or false) ||
+      (f.libsqlite3_sys_0_9_1.min_sqlite_version_3_7_3 or false) ||
+      (libsqlite3_sys_0_9_1.min_sqlite_version_3_7_3 or false) ||
+      (f.libsqlite3_sys_0_9_1.min_sqlite_version_3_7_4 or false) ||
+      (libsqlite3_sys_0_9_1.min_sqlite_version_3_7_4 or false);
+    libsqlite3_sys_0_9_1.vcpkg =
+      (f.libsqlite3_sys_0_9_1.vcpkg or false) ||
+      (f.libsqlite3_sys_0_9_1.buildtime_bindgen or false) ||
+      (libsqlite3_sys_0_9_1.buildtime_bindgen or false) ||
+      (f.libsqlite3_sys_0_9_1.min_sqlite_version_3_6_11 or false) ||
+      (libsqlite3_sys_0_9_1.min_sqlite_version_3_6_11 or false) ||
+      (f.libsqlite3_sys_0_9_1.min_sqlite_version_3_6_23 or false) ||
+      (libsqlite3_sys_0_9_1.min_sqlite_version_3_6_23 or false) ||
+      (f.libsqlite3_sys_0_9_1.min_sqlite_version_3_6_8 or false) ||
+      (libsqlite3_sys_0_9_1.min_sqlite_version_3_6_8 or false) ||
+      (f.libsqlite3_sys_0_9_1.min_sqlite_version_3_7_16 or false) ||
+      (libsqlite3_sys_0_9_1.min_sqlite_version_3_7_16 or false) ||
+      (f.libsqlite3_sys_0_9_1.min_sqlite_version_3_7_3 or false) ||
+      (libsqlite3_sys_0_9_1.min_sqlite_version_3_7_3 or false) ||
+      (f.libsqlite3_sys_0_9_1.min_sqlite_version_3_7_4 or false) ||
+      (libsqlite3_sys_0_9_1.min_sqlite_version_3_7_4 or false);
     pkg_config_0_3_9.default = true;
   }) [ pkg_config_0_3_9_features ];
   linked_hash_map_0_4_2 = { features?(linked_hash_map_0_4_2_features {}) }: linked_hash_map_0_4_2_ {
@@ -955,13 +944,13 @@ rec {
   }) [ linked_hash_map_0_4_2_features ];
   memchr_1_0_2 = { features?(memchr_1_0_2_features {}) }: memchr_1_0_2_ {
     dependencies = mapFeatures features ([ ]
-      ++ (if features.memchr_1_0_2.libc or false then [ libc_0_2_33 ] else []));
+      ++ (if features.memchr_1_0_2.libc or false then [ libc_0_2_40 ] else []));
     features = mkFeatures (features.memchr_1_0_2 or {});
   };
   memchr_1_0_2_features = f: updateFeatures f (rec {
-    libc_0_2_33.default = (f.libc_0_2_33.default or false);
-    libc_0_2_33.use_std =
-      (f.libc_0_2_33.use_std or false) ||
+    libc_0_2_40.default = (f.libc_0_2_40.default or false);
+    libc_0_2_40.use_std =
+      (f.libc_0_2_40.use_std or false) ||
       (memchr_1_0_2.use_std or false) ||
       (f.memchr_1_0_2.use_std or false);
     memchr_1_0_2.default = (f.memchr_1_0_2.default or true);
@@ -975,7 +964,30 @@ rec {
       (f.memchr_1_0_2.use_std or false) ||
       (f.memchr_1_0_2.default or false) ||
       (memchr_1_0_2.default or false);
-  }) [ libc_0_2_33_features ];
+  }) [ libc_0_2_40_features ];
+  memchr_2_0_1 = { features?(memchr_2_0_1_features {}) }: memchr_2_0_1_ {
+    dependencies = mapFeatures features ([ ]
+      ++ (if features.memchr_2_0_1.libc or false then [ libc_0_2_40 ] else []));
+    features = mkFeatures (features.memchr_2_0_1 or {});
+  };
+  memchr_2_0_1_features = f: updateFeatures f (rec {
+    libc_0_2_40.default = (f.libc_0_2_40.default or false);
+    libc_0_2_40.use_std =
+      (f.libc_0_2_40.use_std or false) ||
+      (memchr_2_0_1.use_std or false) ||
+      (f.memchr_2_0_1.use_std or false);
+    memchr_2_0_1.default = (f.memchr_2_0_1.default or true);
+    memchr_2_0_1.libc =
+      (f.memchr_2_0_1.libc or false) ||
+      (f.memchr_2_0_1.default or false) ||
+      (memchr_2_0_1.default or false) ||
+      (f.memchr_2_0_1.use_std or false) ||
+      (memchr_2_0_1.use_std or false);
+    memchr_2_0_1.use_std =
+      (f.memchr_2_0_1.use_std or false) ||
+      (f.memchr_2_0_1.default or false) ||
+      (memchr_2_0_1.default or false);
+  }) [ libc_0_2_40_features ];
   nom_3_2_1 = { features?(nom_3_2_1_features {}) }: nom_3_2_1_ {
     dependencies = mapFeatures features ([ memchr_1_0_2 ]);
     features = mkFeatures (features.nom_3_2_1 or {});
@@ -1012,282 +1024,303 @@ rec {
       (f.nom_3_2_1.default or false) ||
       (nom_3_2_1.default or false);
   }) [ memchr_1_0_2_features ];
-  num_0_1_40 = { features?(num_0_1_40_features {}) }: num_0_1_40_ {
-    dependencies = mapFeatures features ([ num_integer_0_1_35 num_iter_0_1_34 num_traits_0_1_40 ]);
-    features = mkFeatures (features.num_0_1_40 or {});
-  };
-  num_0_1_40_features = f: updateFeatures f (rec {
-    num_0_1_40.bigint =
-      (f.num_0_1_40.bigint or false) ||
-      (f.num_0_1_40.default or false) ||
-      (num_0_1_40.default or false);
-    num_0_1_40.complex =
-      (f.num_0_1_40.complex or false) ||
-      (f.num_0_1_40.default or false) ||
-      (num_0_1_40.default or false);
-    num_0_1_40.default = (f.num_0_1_40.default or true);
-    num_0_1_40.num-bigint =
-      (f.num_0_1_40.num-bigint or false) ||
-      (f.num_0_1_40.bigint or false) ||
-      (num_0_1_40.bigint or false);
-    num_0_1_40.num-complex =
-      (f.num_0_1_40.num-complex or false) ||
-      (f.num_0_1_40.complex or false) ||
-      (num_0_1_40.complex or false);
-    num_0_1_40.num-rational =
-      (f.num_0_1_40.num-rational or false) ||
-      (f.num_0_1_40.rational or false) ||
-      (num_0_1_40.rational or false);
-    num_0_1_40.rational =
-      (f.num_0_1_40.rational or false) ||
-      (f.num_0_1_40.default or false) ||
-      (num_0_1_40.default or false);
-    num_0_1_40.rustc-serialize =
-      (f.num_0_1_40.rustc-serialize or false) ||
-      (f.num_0_1_40.default or false) ||
-      (num_0_1_40.default or false);
-    num_integer_0_1_35.default = true;
-    num_iter_0_1_34.default = true;
-    num_traits_0_1_40.default = true;
-  }) [ num_integer_0_1_35_features num_iter_0_1_34_features num_traits_0_1_40_features ];
-  num_integer_0_1_35 = { features?(num_integer_0_1_35_features {}) }: num_integer_0_1_35_ {
-    dependencies = mapFeatures features ([ num_traits_0_1_40 ]);
-  };
-  num_integer_0_1_35_features = f: updateFeatures f (rec {
-    num_integer_0_1_35.default = (f.num_integer_0_1_35.default or true);
-    num_traits_0_1_40.default = true;
-  }) [ num_traits_0_1_40_features ];
-  num_iter_0_1_34 = { features?(num_iter_0_1_34_features {}) }: num_iter_0_1_34_ {
-    dependencies = mapFeatures features ([ num_integer_0_1_35 num_traits_0_1_40 ]);
-  };
-  num_iter_0_1_34_features = f: updateFeatures f (rec {
-    num_integer_0_1_35.default = true;
-    num_iter_0_1_34.default = (f.num_iter_0_1_34.default or true);
-    num_traits_0_1_40.default = true;
-  }) [ num_integer_0_1_35_features num_traits_0_1_40_features ];
-  num_traits_0_1_40 = { features?(num_traits_0_1_40_features {}) }: num_traits_0_1_40_ {};
-  num_traits_0_1_40_features = f: updateFeatures f (rec {
-    num_traits_0_1_40.default = (f.num_traits_0_1_40.default or true);
+  num_traits_0_2_2 = { features?(num_traits_0_2_2_features {}) }: num_traits_0_2_2_ {
+    features = mkFeatures (features.num_traits_0_2_2 or {});
+  };
+  num_traits_0_2_2_features = f: updateFeatures f (rec {
+    num_traits_0_2_2.default = (f.num_traits_0_2_2.default or true);
+    num_traits_0_2_2.std =
+      (f.num_traits_0_2_2.std or false) ||
+      (f.num_traits_0_2_2.default or false) ||
+      (num_traits_0_2_2.default or false);
   }) [];
   pkg_config_0_3_9 = { features?(pkg_config_0_3_9_features {}) }: pkg_config_0_3_9_ {};
   pkg_config_0_3_9_features = f: updateFeatures f (rec {
     pkg_config_0_3_9.default = (f.pkg_config_0_3_9.default or true);
   }) [];
-  quote_0_3_15 = { features?(quote_0_3_15_features {}) }: quote_0_3_15_ {};
-  quote_0_3_15_features = f: updateFeatures f (rec {
-    quote_0_3_15.default = (f.quote_0_3_15.default or true);
+  proc_macro2_0_3_6 = { features?(proc_macro2_0_3_6_features {}) }: proc_macro2_0_3_6_ {
+    dependencies = mapFeatures features ([ unicode_xid_0_1_0 ]);
+    features = mkFeatures (features.proc_macro2_0_3_6 or {});
+  };
+  proc_macro2_0_3_6_features = f: updateFeatures f (rec {
+    proc_macro2_0_3_6.default = (f.proc_macro2_0_3_6.default or true);
+    proc_macro2_0_3_6.proc-macro =
+      (f.proc_macro2_0_3_6.proc-macro or false) ||
+      (f.proc_macro2_0_3_6.default or false) ||
+      (proc_macro2_0_3_6.default or false) ||
+      (f.proc_macro2_0_3_6.nightly or false) ||
+      (proc_macro2_0_3_6.nightly or false);
+    unicode_xid_0_1_0.default = true;
+  }) [ unicode_xid_0_1_0_features ];
+  quick_error_1_2_1 = { features?(quick_error_1_2_1_features {}) }: quick_error_1_2_1_ {};
+  quick_error_1_2_1_features = f: updateFeatures f (rec {
+    quick_error_1_2_1.default = (f.quick_error_1_2_1.default or true);
   }) [];
-  rand_0_3_18 = { features?(rand_0_3_18_features {}) }: rand_0_3_18_ {
-    dependencies = mapFeatures features ([ libc_0_2_33 ])
-      ++ (if kernel == "fuchsia" then mapFeatures features ([ fuchsia_zircon_0_2_1 ]) else []);
-    features = mkFeatures (features.rand_0_3_18 or {});
-  };
-  rand_0_3_18_features = f: updateFeatures f (rec {
-    fuchsia_zircon_0_2_1.default = true;
-    libc_0_2_33.default = true;
-    rand_0_3_18.default = (f.rand_0_3_18.default or true);
-    rand_0_3_18.i128_support =
-      (f.rand_0_3_18.i128_support or false) ||
-      (f.rand_0_3_18.nightly or false) ||
-      (rand_0_3_18.nightly or false);
-  }) [ libc_0_2_33_features fuchsia_zircon_0_2_1_features ];
-  redox_syscall_0_1_32 = { features?(redox_syscall_0_1_32_features {}) }: redox_syscall_0_1_32_ {};
-  redox_syscall_0_1_32_features = f: updateFeatures f (rec {
-    redox_syscall_0_1_32.default = (f.redox_syscall_0_1_32.default or true);
+  quote_0_5_1 = { features?(quote_0_5_1_features {}) }: quote_0_5_1_ {
+    dependencies = mapFeatures features ([ proc_macro2_0_3_6 ]);
+    features = mkFeatures (features.quote_0_5_1 or {});
+  };
+  quote_0_5_1_features = f: updateFeatures f (rec {
+    proc_macro2_0_3_6.default = (f.proc_macro2_0_3_6.default or false);
+    proc_macro2_0_3_6.proc-macro =
+      (f.proc_macro2_0_3_6.proc-macro or false) ||
+      (quote_0_5_1.proc-macro or false) ||
+      (f.quote_0_5_1.proc-macro or false);
+    quote_0_5_1.default = (f.quote_0_5_1.default or true);
+    quote_0_5_1.proc-macro =
+      (f.quote_0_5_1.proc-macro or false) ||
+      (f.quote_0_5_1.default or false) ||
+      (quote_0_5_1.default or false);
+  }) [ proc_macro2_0_3_6_features ];
+  rand_0_4_2 = { features?(rand_0_4_2_features {}) }: rand_0_4_2_ {
+    dependencies = (if kernel == "fuchsia" then mapFeatures features ([ fuchsia_zircon_0_3_3 ]) else [])
+      ++ (if (kernel == "linux" || kernel == "darwin") then mapFeatures features ([ ]
+      ++ (if features.rand_0_4_2.libc or false then [ libc_0_2_40 ] else [])) else [])
+      ++ (if kernel == "windows" then mapFeatures features ([ winapi_0_3_4 ]) else []);
+    features = mkFeatures (features.rand_0_4_2 or {});
+  };
+  rand_0_4_2_features = f: updateFeatures f (rec {
+    fuchsia_zircon_0_3_3.default = true;
+    libc_0_2_40.default = true;
+    rand_0_4_2.default = (f.rand_0_4_2.default or true);
+    rand_0_4_2.i128_support =
+      (f.rand_0_4_2.i128_support or false) ||
+      (f.rand_0_4_2.nightly or false) ||
+      (rand_0_4_2.nightly or false);
+    rand_0_4_2.libc =
+      (f.rand_0_4_2.libc or false) ||
+      (f.rand_0_4_2.std or false) ||
+      (rand_0_4_2.std or false);
+    rand_0_4_2.std =
+      (f.rand_0_4_2.std or false) ||
+      (f.rand_0_4_2.default or false) ||
+      (rand_0_4_2.default or false);
+    winapi_0_3_4.default = true;
+    winapi_0_3_4.minwindef = true;
+    winapi_0_3_4.ntsecapi = true;
+    winapi_0_3_4.profileapi = true;
+    winapi_0_3_4.winnt = true;
+  }) [ fuchsia_zircon_0_3_3_features libc_0_2_40_features winapi_0_3_4_features ];
+  redox_syscall_0_1_37 = { features?(redox_syscall_0_1_37_features {}) }: redox_syscall_0_1_37_ {};
+  redox_syscall_0_1_37_features = f: updateFeatures f (rec {
+    redox_syscall_0_1_37.default = (f.redox_syscall_0_1_37.default or true);
   }) [];
   redox_termios_0_1_1 = { features?(redox_termios_0_1_1_features {}) }: redox_termios_0_1_1_ {
-    dependencies = mapFeatures features ([ redox_syscall_0_1_32 ]);
+    dependencies = mapFeatures features ([ redox_syscall_0_1_37 ]);
   };
   redox_termios_0_1_1_features = f: updateFeatures f (rec {
-    redox_syscall_0_1_32.default = true;
+    redox_syscall_0_1_37.default = true;
     redox_termios_0_1_1.default = (f.redox_termios_0_1_1.default or true);
-  }) [ redox_syscall_0_1_32_features ];
-  regex_0_2_2 = { features?(regex_0_2_2_features {}) }: regex_0_2_2_ {
-    dependencies = mapFeatures features ([ aho_corasick_0_6_3 memchr_1_0_2 regex_syntax_0_4_1 thread_local_0_3_4 utf8_ranges_1_0_0 ]);
-    features = mkFeatures (features.regex_0_2_2 or {});
-  };
-  regex_0_2_2_features = f: updateFeatures f (rec {
-    aho_corasick_0_6_3.default = true;
-    memchr_1_0_2.default = true;
-    regex_0_2_2.default = (f.regex_0_2_2.default or true);
-    regex_0_2_2.simd =
-      (f.regex_0_2_2.simd or false) ||
-      (f.regex_0_2_2.simd-accel or false) ||
-      (regex_0_2_2.simd-accel or false);
-    regex_syntax_0_4_1.default = true;
-    thread_local_0_3_4.default = true;
+  }) [ redox_syscall_0_1_37_features ];
+  regex_0_2_10 = { features?(regex_0_2_10_features {}) }: regex_0_2_10_ {
+    dependencies = mapFeatures features ([ aho_corasick_0_6_4 memchr_2_0_1 regex_syntax_0_5_5 thread_local_0_3_5 utf8_ranges_1_0_0 ]);
+    features = mkFeatures (features.regex_0_2_10 or {});
+  };
+  regex_0_2_10_features = f: updateFeatures f (rec {
+    aho_corasick_0_6_4.default = true;
+    memchr_2_0_1.default = true;
+    regex_0_2_10.default = (f.regex_0_2_10.default or true);
+    regex_0_2_10.pattern =
+      (f.regex_0_2_10.pattern or false) ||
+      (f.regex_0_2_10.unstable or false) ||
+      (regex_0_2_10.unstable or false);
+    regex_syntax_0_5_5.default = true;
+    thread_local_0_3_5.default = true;
     utf8_ranges_1_0_0.default = true;
-  }) [ aho_corasick_0_6_3_features memchr_1_0_2_features regex_syntax_0_4_1_features thread_local_0_3_4_features utf8_ranges_1_0_0_features ];
-  regex_syntax_0_4_1 = { features?(regex_syntax_0_4_1_features {}) }: regex_syntax_0_4_1_ {};
-  regex_syntax_0_4_1_features = f: updateFeatures f (rec {
-    regex_syntax_0_4_1.default = (f.regex_syntax_0_4_1.default or true);
-  }) [];
+  }) [ aho_corasick_0_6_4_features memchr_2_0_1_features regex_syntax_0_5_5_features thread_local_0_3_5_features utf8_ranges_1_0_0_features ];
+  regex_syntax_0_5_5 = { features?(regex_syntax_0_5_5_features {}) }: regex_syntax_0_5_5_ {
+    dependencies = mapFeatures features ([ ucd_util_0_1_1 ]);
+  };
+  regex_syntax_0_5_5_features = f: updateFeatures f (rec {
+    regex_syntax_0_5_5.default = (f.regex_syntax_0_5_5.default or true);
+    ucd_util_0_1_1.default = true;
+  }) [ ucd_util_0_1_1_features ];
+  remove_dir_all_0_5_0 = { features?(remove_dir_all_0_5_0_features {}) }: remove_dir_all_0_5_0_ {
+    dependencies = (if kernel == "windows" then mapFeatures features ([ winapi_0_3_4 ]) else []);
+  };
+  remove_dir_all_0_5_0_features = f: updateFeatures f (rec {
+    remove_dir_all_0_5_0.default = (f.remove_dir_all_0_5_0.default or true);
+    winapi_0_3_4.default = true;
+    winapi_0_3_4.errhandlingapi = true;
+    winapi_0_3_4.fileapi = true;
+    winapi_0_3_4.std = true;
+    winapi_0_3_4.winbase = true;
+    winapi_0_3_4.winerror = true;
+  }) [ winapi_0_3_4_features ];
   rusqlite_0_13_0 = { features?(rusqlite_0_13_0_features {}) }: rusqlite_0_13_0_ {
-    dependencies = mapFeatures features ([ bitflags_1_0_1 libsqlite3_sys_0_9_0 lru_cache_0_1_1 time_0_1_38 ]);
+    dependencies = mapFeatures features ([ bitflags_1_0_1 libsqlite3_sys_0_9_1 lru_cache_0_1_1 time_0_1_39 ]);
     features = mkFeatures (features.rusqlite_0_13_0 or {});
   };
   rusqlite_0_13_0_features = f: updateFeatures f (rec {
     bitflags_1_0_1.default = true;
-    libsqlite3_sys_0_9_0.buildtime_bindgen =
-      (f.libsqlite3_sys_0_9_0.buildtime_bindgen or false) ||
+    libsqlite3_sys_0_9_1.buildtime_bindgen =
+      (f.libsqlite3_sys_0_9_1.buildtime_bindgen or false) ||
       (rusqlite_0_13_0.buildtime_bindgen or false) ||
       (f.rusqlite_0_13_0.buildtime_bindgen or false);
-    libsqlite3_sys_0_9_0.bundled =
-      (f.libsqlite3_sys_0_9_0.bundled or false) ||
+    libsqlite3_sys_0_9_1.bundled =
+      (f.libsqlite3_sys_0_9_1.bundled or false) ||
       (rusqlite_0_13_0.bundled or false) ||
       (f.rusqlite_0_13_0.bundled or false);
-    libsqlite3_sys_0_9_0.default = true;
-    libsqlite3_sys_0_9_0.min_sqlite_version_3_6_11 =
-      (f.libsqlite3_sys_0_9_0.min_sqlite_version_3_6_11 or false) ||
+    libsqlite3_sys_0_9_1.default = true;
+    libsqlite3_sys_0_9_1.min_sqlite_version_3_6_11 =
+      (f.libsqlite3_sys_0_9_1.min_sqlite_version_3_6_11 or false) ||
       (rusqlite_0_13_0.backup or false) ||
       (f.rusqlite_0_13_0.backup or false);
-    libsqlite3_sys_0_9_0.min_sqlite_version_3_6_23 =
-      (f.libsqlite3_sys_0_9_0.min_sqlite_version_3_6_23 or false) ||
+    libsqlite3_sys_0_9_1.min_sqlite_version_3_6_23 =
+      (f.libsqlite3_sys_0_9_1.min_sqlite_version_3_6_23 or false) ||
       (rusqlite_0_13_0.trace or false) ||
       (f.rusqlite_0_13_0.trace or false);
-    libsqlite3_sys_0_9_0.min_sqlite_version_3_7_3 =
-      (f.libsqlite3_sys_0_9_0.min_sqlite_version_3_7_3 or false) ||
+    libsqlite3_sys_0_9_1.min_sqlite_version_3_7_3 =
+      (f.libsqlite3_sys_0_9_1.min_sqlite_version_3_7_3 or false) ||
       (rusqlite_0_13_0.functions or false) ||
       (f.rusqlite_0_13_0.functions or false);
-    libsqlite3_sys_0_9_0.min_sqlite_version_3_7_4 =
-      (f.libsqlite3_sys_0_9_0.min_sqlite_version_3_7_4 or false) ||
+    libsqlite3_sys_0_9_1.min_sqlite_version_3_7_4 =
+      (f.libsqlite3_sys_0_9_1.min_sqlite_version_3_7_4 or false) ||
       (rusqlite_0_13_0.blob or false) ||
       (f.rusqlite_0_13_0.blob or false);
-    libsqlite3_sys_0_9_0.sqlcipher =
-      (f.libsqlite3_sys_0_9_0.sqlcipher or false) ||
+    libsqlite3_sys_0_9_1.sqlcipher =
+      (f.libsqlite3_sys_0_9_1.sqlcipher or false) ||
       (rusqlite_0_13_0.sqlcipher or false) ||
       (f.rusqlite_0_13_0.sqlcipher or false);
     lru_cache_0_1_1.default = true;
     rusqlite_0_13_0.default = (f.rusqlite_0_13_0.default or true);
-    time_0_1_38.default = true;
-  }) [ bitflags_1_0_1_features libsqlite3_sys_0_9_0_features lru_cache_0_1_1_features time_0_1_38_features ];
-  rustc_demangle_0_1_5 = { features?(rustc_demangle_0_1_5_features {}) }: rustc_demangle_0_1_5_ {};
-  rustc_demangle_0_1_5_features = f: updateFeatures f (rec {
-    rustc_demangle_0_1_5.default = (f.rustc_demangle_0_1_5.default or true);
+    time_0_1_39.default = true;
+  }) [ bitflags_1_0_1_features libsqlite3_sys_0_9_1_features lru_cache_0_1_1_features time_0_1_39_features ];
+  rustc_demangle_0_1_7 = { features?(rustc_demangle_0_1_7_features {}) }: rustc_demangle_0_1_7_ {};
+  rustc_demangle_0_1_7_features = f: updateFeatures f (rec {
+    rustc_demangle_0_1_7.default = (f.rustc_demangle_0_1_7.default or true);
   }) [];
-  serde_1_0_21 = { features?(serde_1_0_21_features {}) }: serde_1_0_21_ {
+  serde_1_0_38 = { features?(serde_1_0_38_features {}) }: serde_1_0_38_ {
     dependencies = mapFeatures features ([]);
-    features = mkFeatures (features.serde_1_0_21 or {});
-  };
-  serde_1_0_21_features = f: updateFeatures f (rec {
-    serde_1_0_21.default = (f.serde_1_0_21.default or true);
-    serde_1_0_21.serde_derive =
-      (f.serde_1_0_21.serde_derive or false) ||
-      (f.serde_1_0_21.derive or false) ||
-      (serde_1_0_21.derive or false) ||
-      (f.serde_1_0_21.playground or false) ||
-      (serde_1_0_21.playground or false);
-    serde_1_0_21.std =
-      (f.serde_1_0_21.std or false) ||
-      (f.serde_1_0_21.default or false) ||
-      (serde_1_0_21.default or false);
-    serde_1_0_21.unstable =
-      (f.serde_1_0_21.unstable or false) ||
-      (f.serde_1_0_21.alloc or false) ||
-      (serde_1_0_21.alloc or false);
+    features = mkFeatures (features.serde_1_0_38 or {});
+  };
+  serde_1_0_38_features = f: updateFeatures f (rec {
+    serde_1_0_38.default = (f.serde_1_0_38.default or true);
+    serde_1_0_38.serde_derive =
+      (f.serde_1_0_38.serde_derive or false) ||
+      (f.serde_1_0_38.derive or false) ||
+      (serde_1_0_38.derive or false) ||
+      (f.serde_1_0_38.playground or false) ||
+      (serde_1_0_38.playground or false);
+    serde_1_0_38.std =
+      (f.serde_1_0_38.std or false) ||
+      (f.serde_1_0_38.default or false) ||
+      (serde_1_0_38.default or false);
+    serde_1_0_38.unstable =
+      (f.serde_1_0_38.unstable or false) ||
+      (f.serde_1_0_38.alloc or false) ||
+      (serde_1_0_38.alloc or false);
   }) [];
-  serde_derive_1_0_21 = { features?(serde_derive_1_0_21_features {}) }: serde_derive_1_0_21_ {
-    dependencies = mapFeatures features ([ quote_0_3_15 serde_derive_internals_0_17_0 syn_0_11_11 ]);
-  };
-  serde_derive_1_0_21_features = f: updateFeatures f (rec {
-    quote_0_3_15.default = true;
-    serde_derive_1_0_21.default = (f.serde_derive_1_0_21.default or true);
-    serde_derive_internals_0_17_0.default = (f.serde_derive_internals_0_17_0.default or false);
-    syn_0_11_11.default = true;
-    syn_0_11_11.visit = true;
-  }) [ quote_0_3_15_features serde_derive_internals_0_17_0_features syn_0_11_11_features ];
-  serde_derive_internals_0_17_0 = { features?(serde_derive_internals_0_17_0_features {}) }: serde_derive_internals_0_17_0_ {
-    dependencies = mapFeatures features ([ syn_0_11_11 synom_0_11_3 ]);
-  };
-  serde_derive_internals_0_17_0_features = f: updateFeatures f (rec {
-    serde_derive_internals_0_17_0.default = (f.serde_derive_internals_0_17_0.default or true);
-    syn_0_11_11.default = (f.syn_0_11_11.default or false);
-    syn_0_11_11.parsing = true;
-    synom_0_11_3.default = true;
-  }) [ syn_0_11_11_features synom_0_11_3_features ];
-  serde_json_1_0_6 = { features?(serde_json_1_0_6_features {}) }: serde_json_1_0_6_ {
-    dependencies = mapFeatures features ([ dtoa_0_4_2 itoa_0_3_4 num_traits_0_1_40 serde_1_0_21 ]);
-    features = mkFeatures (features.serde_json_1_0_6 or {});
-  };
-  serde_json_1_0_6_features = f: updateFeatures f (rec {
+  serde_derive_1_0_38 = { features?(serde_derive_1_0_38_features {}) }: serde_derive_1_0_38_ {
+    dependencies = mapFeatures features ([ proc_macro2_0_3_6 quote_0_5_1 serde_derive_internals_0_23_1 syn_0_13_1 ]);
+    features = mkFeatures (features.serde_derive_1_0_38 or {});
+  };
+  serde_derive_1_0_38_features = f: updateFeatures f (rec {
+    proc_macro2_0_3_6.default = true;
+    quote_0_5_1.default = true;
+    serde_derive_1_0_38.default = (f.serde_derive_1_0_38.default or true);
+    serde_derive_internals_0_23_1.default = (f.serde_derive_internals_0_23_1.default or false);
+    syn_0_13_1.default = true;
+    syn_0_13_1.visit = true;
+  }) [ proc_macro2_0_3_6_features quote_0_5_1_features serde_derive_internals_0_23_1_features syn_0_13_1_features ];
+  serde_derive_internals_0_23_1 = { features?(serde_derive_internals_0_23_1_features {}) }: serde_derive_internals_0_23_1_ {
+    dependencies = mapFeatures features ([ proc_macro2_0_3_6 syn_0_13_1 ]);
+  };
+  serde_derive_internals_0_23_1_features = f: updateFeatures f (rec {
+    proc_macro2_0_3_6.default = true;
+    serde_derive_internals_0_23_1.default = (f.serde_derive_internals_0_23_1.default or true);
+    syn_0_13_1.clone-impls = true;
+    syn_0_13_1.default = (f.syn_0_13_1.default or false);
+    syn_0_13_1.derive = true;
+    syn_0_13_1.parsing = true;
+  }) [ proc_macro2_0_3_6_features syn_0_13_1_features ];
+  serde_json_1_0_14 = { features?(serde_json_1_0_14_features {}) }: serde_json_1_0_14_ {
+    dependencies = mapFeatures features ([ dtoa_0_4_2 itoa_0_4_1 num_traits_0_2_2 serde_1_0_38 ]);
+    features = mkFeatures (features.serde_json_1_0_14 or {});
+  };
+  serde_json_1_0_14_features = f: updateFeatures f (rec {
     dtoa_0_4_2.default = true;
-    itoa_0_3_4.default = true;
-    num_traits_0_1_40.default = true;
-    serde_1_0_21.default = true;
-    serde_json_1_0_6.default = (f.serde_json_1_0_6.default or true);
-    serde_json_1_0_6.linked-hash-map =
-      (f.serde_json_1_0_6.linked-hash-map or false) ||
-      (f.serde_json_1_0_6.preserve_order or false) ||
-      (serde_json_1_0_6.preserve_order or false);
-  }) [ dtoa_0_4_2_features itoa_0_3_4_features num_traits_0_1_40_features serde_1_0_21_features ];
-  strsim_0_6_0 = { features?(strsim_0_6_0_features {}) }: strsim_0_6_0_ {};
-  strsim_0_6_0_features = f: updateFeatures f (rec {
-    strsim_0_6_0.default = (f.strsim_0_6_0.default or true);
+    itoa_0_4_1.default = true;
+    num_traits_0_2_2.default = (f.num_traits_0_2_2.default or false);
+    serde_1_0_38.default = true;
+    serde_json_1_0_14.default = (f.serde_json_1_0_14.default or true);
+    serde_json_1_0_14.linked-hash-map =
+      (f.serde_json_1_0_14.linked-hash-map or false) ||
+      (f.serde_json_1_0_14.preserve_order or false) ||
+      (serde_json_1_0_14.preserve_order or false);
+  }) [ dtoa_0_4_2_features itoa_0_4_1_features num_traits_0_2_2_features serde_1_0_38_features ];
+  strsim_0_7_0 = { features?(strsim_0_7_0_features {}) }: strsim_0_7_0_ {};
+  strsim_0_7_0_features = f: updateFeatures f (rec {
+    strsim_0_7_0.default = (f.strsim_0_7_0.default or true);
   }) [];
-  syn_0_11_11 = { features?(syn_0_11_11_features {}) }: syn_0_11_11_ {
-    dependencies = mapFeatures features ([ ]
-      ++ (if features.syn_0_11_11.quote or false then [ quote_0_3_15 ] else [])
-      ++ (if features.syn_0_11_11.synom or false then [ synom_0_11_3 ] else [])
-      ++ (if features.syn_0_11_11.unicode-xid or false then [ unicode_xid_0_0_4 ] else []));
-    features = mkFeatures (features.syn_0_11_11 or {});
-  };
-  syn_0_11_11_features = f: updateFeatures f (rec {
-    quote_0_3_15.default = true;
-    syn_0_11_11.default = (f.syn_0_11_11.default or true);
-    syn_0_11_11.parsing =
-      (f.syn_0_11_11.parsing or false) ||
-      (f.syn_0_11_11.default or false) ||
-      (syn_0_11_11.default or false);
-    syn_0_11_11.printing =
-      (f.syn_0_11_11.printing or false) ||
-      (f.syn_0_11_11.default or false) ||
-      (syn_0_11_11.default or false);
-    syn_0_11_11.quote =
-      (f.syn_0_11_11.quote or false) ||
-      (f.syn_0_11_11.printing or false) ||
-      (syn_0_11_11.printing or false);
-    syn_0_11_11.synom =
-      (f.syn_0_11_11.synom or false) ||
-      (f.syn_0_11_11.parsing or false) ||
-      (syn_0_11_11.parsing or false);
-    syn_0_11_11.unicode-xid =
-      (f.syn_0_11_11.unicode-xid or false) ||
-      (f.syn_0_11_11.parsing or false) ||
-      (syn_0_11_11.parsing or false);
-    synom_0_11_3.default = true;
-    unicode_xid_0_0_4.default = true;
-  }) [ quote_0_3_15_features synom_0_11_3_features unicode_xid_0_0_4_features ];
-  synom_0_11_3 = { features?(synom_0_11_3_features {}) }: synom_0_11_3_ {
-    dependencies = mapFeatures features ([ unicode_xid_0_0_4 ]);
-  };
-  synom_0_11_3_features = f: updateFeatures f (rec {
-    synom_0_11_3.default = (f.synom_0_11_3.default or true);
-    unicode_xid_0_0_4.default = true;
-  }) [ unicode_xid_0_0_4_features ];
-  tempdir_0_3_5 = { features?(tempdir_0_3_5_features {}) }: tempdir_0_3_5_ {
-    dependencies = mapFeatures features ([ rand_0_3_18 ]);
-  };
-  tempdir_0_3_5_features = f: updateFeatures f (rec {
-    rand_0_3_18.default = true;
-    tempdir_0_3_5.default = (f.tempdir_0_3_5.default or true);
-  }) [ rand_0_3_18_features ];
-  termcolor_0_3_3 = { features?(termcolor_0_3_3_features {}) }: termcolor_0_3_3_ {
-    dependencies = (if kernel == "windows" then mapFeatures features ([ wincolor_0_1_4 ]) else []);
-  };
-  termcolor_0_3_3_features = f: updateFeatures f (rec {
-    termcolor_0_3_3.default = (f.termcolor_0_3_3.default or true);
-    wincolor_0_1_4.default = true;
-  }) [ wincolor_0_1_4_features ];
+  syn_0_13_1 = { features?(syn_0_13_1_features {}) }: syn_0_13_1_ {
+    dependencies = mapFeatures features ([ proc_macro2_0_3_6 unicode_xid_0_1_0 ]
+      ++ (if features.syn_0_13_1.quote or false then [ quote_0_5_1 ] else []));
+    features = mkFeatures (features.syn_0_13_1 or {});
+  };
+  syn_0_13_1_features = f: updateFeatures f (rec {
+    proc_macro2_0_3_6.default = (f.proc_macro2_0_3_6.default or false);
+    proc_macro2_0_3_6.proc-macro =
+      (f.proc_macro2_0_3_6.proc-macro or false) ||
+      (syn_0_13_1.proc-macro or false) ||
+      (f.syn_0_13_1.proc-macro or false);
+    quote_0_5_1.default = (f.quote_0_5_1.default or false);
+    quote_0_5_1.proc-macro =
+      (f.quote_0_5_1.proc-macro or false) ||
+      (syn_0_13_1.proc-macro or false) ||
+      (f.syn_0_13_1.proc-macro or false);
+    syn_0_13_1.clone-impls =
+      (f.syn_0_13_1.clone-impls or false) ||
+      (f.syn_0_13_1.default or false) ||
+      (syn_0_13_1.default or false);
+    syn_0_13_1.default = (f.syn_0_13_1.default or true);
+    syn_0_13_1.derive =
+      (f.syn_0_13_1.derive or false) ||
+      (f.syn_0_13_1.default or false) ||
+      (syn_0_13_1.default or false);
+    syn_0_13_1.parsing =
+      (f.syn_0_13_1.parsing or false) ||
+      (f.syn_0_13_1.default or false) ||
+      (syn_0_13_1.default or false);
+    syn_0_13_1.printing =
+      (f.syn_0_13_1.printing or false) ||
+      (f.syn_0_13_1.default or false) ||
+      (syn_0_13_1.default or false);
+    syn_0_13_1.proc-macro =
+      (f.syn_0_13_1.proc-macro or false) ||
+      (f.syn_0_13_1.default or false) ||
+      (syn_0_13_1.default or false);
+    syn_0_13_1.quote =
+      (f.syn_0_13_1.quote or false) ||
+      (f.syn_0_13_1.printing or false) ||
+      (syn_0_13_1.printing or false);
+    unicode_xid_0_1_0.default = true;
+  }) [ proc_macro2_0_3_6_features quote_0_5_1_features unicode_xid_0_1_0_features ];
+  tempdir_0_3_7 = { features?(tempdir_0_3_7_features {}) }: tempdir_0_3_7_ {
+    dependencies = mapFeatures features ([ rand_0_4_2 remove_dir_all_0_5_0 ]);
+  };
+  tempdir_0_3_7_features = f: updateFeatures f (rec {
+    rand_0_4_2.default = true;
+    remove_dir_all_0_5_0.default = true;
+    tempdir_0_3_7.default = (f.tempdir_0_3_7.default or true);
+  }) [ rand_0_4_2_features remove_dir_all_0_5_0_features ];
+  termcolor_0_3_6 = { features?(termcolor_0_3_6_features {}) }: termcolor_0_3_6_ {
+    dependencies = (if kernel == "windows" then mapFeatures features ([ wincolor_0_1_6 ]) else []);
+  };
+  termcolor_0_3_6_features = f: updateFeatures f (rec {
+    termcolor_0_3_6.default = (f.termcolor_0_3_6.default or true);
+    wincolor_0_1_6.default = true;
+  }) [ wincolor_0_1_6_features ];
   termion_1_5_1 = { features?(termion_1_5_1_features {}) }: termion_1_5_1_ {
-    dependencies = (if !(kernel == "redox") then mapFeatures features ([ libc_0_2_33 ]) else [])
-      ++ (if kernel == "redox" then mapFeatures features ([ redox_syscall_0_1_32 redox_termios_0_1_1 ]) else []);
+    dependencies = (if !(kernel == "redox") then mapFeatures features ([ libc_0_2_40 ]) else [])
+      ++ (if kernel == "redox" then mapFeatures features ([ redox_syscall_0_1_37 redox_termios_0_1_1 ]) else []);
   };
   termion_1_5_1_features = f: updateFeatures f (rec {
-    libc_0_2_33.default = true;
-    redox_syscall_0_1_32.default = true;
+    libc_0_2_40.default = true;
+    redox_syscall_0_1_37.default = true;
     redox_termios_0_1_1.default = true;
     termion_1_5_1.default = (f.termion_1_5_1.default or true);
-  }) [ libc_0_2_33_features redox_syscall_0_1_32_features redox_termios_0_1_1_features ];
+  }) [ libc_0_2_40_features redox_syscall_0_1_37_features redox_termios_0_1_1_features ];
   textwrap_0_9_0 = { features?(textwrap_0_9_0_features {}) }: textwrap_0_9_0_ {
     dependencies = mapFeatures features ([ unicode_width_0_1_4 ]);
   };
@@ -1295,44 +1328,54 @@ rec {
     textwrap_0_9_0.default = (f.textwrap_0_9_0.default or true);
     unicode_width_0_1_4.default = true;
   }) [ unicode_width_0_1_4_features ];
-  thread_local_0_3_4 = { features?(thread_local_0_3_4_features {}) }: thread_local_0_3_4_ {
-    dependencies = mapFeatures features ([ lazy_static_0_2_11 unreachable_1_0_0 ]);
+  thread_local_0_3_5 = { features?(thread_local_0_3_5_features {}) }: thread_local_0_3_5_ {
+    dependencies = mapFeatures features ([ lazy_static_1_0_0 unreachable_1_0_0 ]);
   };
-  thread_local_0_3_4_features = f: updateFeatures f (rec {
-    lazy_static_0_2_11.default = true;
-    thread_local_0_3_4.default = (f.thread_local_0_3_4.default or true);
+  thread_local_0_3_5_features = f: updateFeatures f (rec {
+    lazy_static_1_0_0.default = true;
+    thread_local_0_3_5.default = (f.thread_local_0_3_5.default or true);
     unreachable_1_0_0.default = true;
-  }) [ lazy_static_0_2_11_features unreachable_1_0_0_features ];
-  time_0_1_38 = { features?(time_0_1_38_features {}) }: time_0_1_38_ {
-    dependencies = mapFeatures features ([ libc_0_2_33 ])
-      ++ (if kernel == "redox" then mapFeatures features ([ redox_syscall_0_1_32 ]) else [])
-      ++ (if kernel == "windows" then mapFeatures features ([ kernel32_sys_0_2_2 winapi_0_2_8 ]) else []);
-  };
-  time_0_1_38_features = f: updateFeatures f (rec {
-    kernel32_sys_0_2_2.default = true;
-    libc_0_2_33.default = true;
-    redox_syscall_0_1_32.default = true;
-    time_0_1_38.default = (f.time_0_1_38.default or true);
-    winapi_0_2_8.default = true;
-  }) [ libc_0_2_33_features redox_syscall_0_1_32_features kernel32_sys_0_2_2_features winapi_0_2_8_features ];
-  toml_0_4_5 = { features?(toml_0_4_5_features {}) }: toml_0_4_5_ {
-    dependencies = mapFeatures features ([ serde_1_0_21 ]);
-  };
-  toml_0_4_5_features = f: updateFeatures f (rec {
-    serde_1_0_21.default = true;
-    toml_0_4_5.default = (f.toml_0_4_5.default or true);
-  }) [ serde_1_0_21_features ];
+  }) [ lazy_static_1_0_0_features unreachable_1_0_0_features ];
+  time_0_1_39 = { features?(time_0_1_39_features {}) }: time_0_1_39_ {
+    dependencies = mapFeatures features ([ libc_0_2_40 ])
+      ++ (if kernel == "redox" then mapFeatures features ([ redox_syscall_0_1_37 ]) else [])
+      ++ (if kernel == "windows" then mapFeatures features ([ winapi_0_3_4 ]) else []);
+  };
+  time_0_1_39_features = f: updateFeatures f (rec {
+    libc_0_2_40.default = true;
+    redox_syscall_0_1_37.default = true;
+    time_0_1_39.default = (f.time_0_1_39.default or true);
+    winapi_0_3_4.default = true;
+    winapi_0_3_4.minwinbase = true;
+    winapi_0_3_4.minwindef = true;
+    winapi_0_3_4.ntdef = true;
+    winapi_0_3_4.profileapi = true;
+    winapi_0_3_4.std = true;
+    winapi_0_3_4.sysinfoapi = true;
+    winapi_0_3_4.timezoneapi = true;
+  }) [ libc_0_2_40_features redox_syscall_0_1_37_features winapi_0_3_4_features ];
+  toml_0_4_6 = { features?(toml_0_4_6_features {}) }: toml_0_4_6_ {
+    dependencies = mapFeatures features ([ serde_1_0_38 ]);
+  };
+  toml_0_4_6_features = f: updateFeatures f (rec {
+    serde_1_0_38.default = true;
+    toml_0_4_6.default = (f.toml_0_4_6.default or true);
+  }) [ serde_1_0_38_features ];
+  ucd_util_0_1_1 = { features?(ucd_util_0_1_1_features {}) }: ucd_util_0_1_1_ {};
+  ucd_util_0_1_1_features = f: updateFeatures f (rec {
+    ucd_util_0_1_1.default = (f.ucd_util_0_1_1.default or true);
+  }) [];
   unicode_width_0_1_4 = { features?(unicode_width_0_1_4_features {}) }: unicode_width_0_1_4_ {
     features = mkFeatures (features.unicode_width_0_1_4 or {});
   };
   unicode_width_0_1_4_features = f: updateFeatures f (rec {
     unicode_width_0_1_4.default = (f.unicode_width_0_1_4.default or true);
   }) [];
-  unicode_xid_0_0_4 = { features?(unicode_xid_0_0_4_features {}) }: unicode_xid_0_0_4_ {
-    features = mkFeatures (features.unicode_xid_0_0_4 or {});
+  unicode_xid_0_1_0 = { features?(unicode_xid_0_1_0_features {}) }: unicode_xid_0_1_0_ {
+    features = mkFeatures (features.unicode_xid_0_1_0 or {});
   };
-  unicode_xid_0_0_4_features = f: updateFeatures f (rec {
-    unicode_xid_0_0_4.default = (f.unicode_xid_0_0_4.default or true);
+  unicode_xid_0_1_0_features = f: updateFeatures f (rec {
+    unicode_xid_0_1_0.default = (f.unicode_xid_0_1_0.default or true);
   }) [];
   unreachable_1_0_0 = { features?(unreachable_1_0_0_features {}) }: unreachable_1_0_0_ {
     dependencies = mapFeatures features ([ void_1_0_2 ]);
@@ -1345,9 +1388,9 @@ rec {
   utf8_ranges_1_0_0_features = f: updateFeatures f (rec {
     utf8_ranges_1_0_0.default = (f.utf8_ranges_1_0_0.default or true);
   }) [];
-  vcpkg_0_2_2 = { features?(vcpkg_0_2_2_features {}) }: vcpkg_0_2_2_ {};
-  vcpkg_0_2_2_features = f: updateFeatures f (rec {
-    vcpkg_0_2_2.default = (f.vcpkg_0_2_2.default or true);
+  vcpkg_0_2_3 = { features?(vcpkg_0_2_3_features {}) }: vcpkg_0_2_3_ {};
+  vcpkg_0_2_3_features = f: updateFeatures f (rec {
+    vcpkg_0_2_3.default = (f.vcpkg_0_2_3.default or true);
   }) [];
   vec_map_0_8_0 = { features?(vec_map_0_8_0_features {}) }: vec_map_0_8_0_ {
     dependencies = mapFeatures features ([]);
@@ -1374,20 +1417,34 @@ rec {
       (f.void_1_0_2.default or false) ||
       (void_1_0_2.default or false);
   }) [];
-  winapi_0_2_8 = { features?(winapi_0_2_8_features {}) }: winapi_0_2_8_ {};
-  winapi_0_2_8_features = f: updateFeatures f (rec {
-    winapi_0_2_8.default = (f.winapi_0_2_8.default or true);
+  winapi_0_3_4 = { features?(winapi_0_3_4_features {}) }: winapi_0_3_4_ {
+    dependencies = (if kernel == "i686-pc-windows-gnu" then mapFeatures features ([ winapi_i686_pc_windows_gnu_0_4_0 ]) else [])
+      ++ (if kernel == "x86_64-pc-windows-gnu" then mapFeatures features ([ winapi_x86_64_pc_windows_gnu_0_4_0 ]) else []);
+    features = mkFeatures (features.winapi_0_3_4 or {});
+  };
+  winapi_0_3_4_features = f: updateFeatures f (rec {
+    winapi_0_3_4.default = (f.winapi_0_3_4.default or true);
+    winapi_i686_pc_windows_gnu_0_4_0.default = true;
+    winapi_x86_64_pc_windows_gnu_0_4_0.default = true;
+  }) [ winapi_i686_pc_windows_gnu_0_4_0_features winapi_x86_64_pc_windows_gnu_0_4_0_features ];
+  winapi_i686_pc_windows_gnu_0_4_0 = { features?(winapi_i686_pc_windows_gnu_0_4_0_features {}) }: winapi_i686_pc_windows_gnu_0_4_0_ {};
+  winapi_i686_pc_windows_gnu_0_4_0_features = f: updateFeatures f (rec {
+    winapi_i686_pc_windows_gnu_0_4_0.default = (f.winapi_i686_pc_windows_gnu_0_4_0.default or true);
   }) [];
-  winapi_build_0_1_1 = { features?(winapi_build_0_1_1_features {}) }: winapi_build_0_1_1_ {};
-  winapi_build_0_1_1_features = f: updateFeatures f (rec {
-    winapi_build_0_1_1.default = (f.winapi_build_0_1_1.default or true);
+  winapi_x86_64_pc_windows_gnu_0_4_0 = { features?(winapi_x86_64_pc_windows_gnu_0_4_0_features {}) }: winapi_x86_64_pc_windows_gnu_0_4_0_ {};
+  winapi_x86_64_pc_windows_gnu_0_4_0_features = f: updateFeatures f (rec {
+    winapi_x86_64_pc_windows_gnu_0_4_0.default = (f.winapi_x86_64_pc_windows_gnu_0_4_0.default or true);
   }) [];
-  wincolor_0_1_4 = { features?(wincolor_0_1_4_features {}) }: wincolor_0_1_4_ {
-    dependencies = mapFeatures features ([ kernel32_sys_0_2_2 winapi_0_2_8 ]);
-  };
-  wincolor_0_1_4_features = f: updateFeatures f (rec {
-    kernel32_sys_0_2_2.default = true;
-    winapi_0_2_8.default = true;
-    wincolor_0_1_4.default = (f.wincolor_0_1_4.default or true);
-  }) [ kernel32_sys_0_2_2_features winapi_0_2_8_features ];
+  wincolor_0_1_6 = { features?(wincolor_0_1_6_features {}) }: wincolor_0_1_6_ {
+    dependencies = mapFeatures features ([ winapi_0_3_4 ]);
+  };
+  wincolor_0_1_6_features = f: updateFeatures f (rec {
+    winapi_0_3_4.consoleapi = true;
+    winapi_0_3_4.default = true;
+    winapi_0_3_4.minwindef = true;
+    winapi_0_3_4.processenv = true;
+    winapi_0_3_4.winbase = true;
+    winapi_0_3_4.wincon = true;
+    wincolor_0_1_6.default = (f.wincolor_0_1_6.default or true);
+  }) [ winapi_0_3_4_features ];
 }
diff --git a/pkgs/build-support/rust/default.nix b/pkgs/build-support/rust/default.nix
index 83ef146de5f..d7d03aae33e 100644
--- a/pkgs/build-support/rust/default.nix
+++ b/pkgs/build-support/rust/default.nix
@@ -4,7 +4,7 @@ let
     inherit stdenv cacert git rust cargo-vendor;
   };
 in
-{ name, cargoSha256 ? null
+{ name, cargoSha256 ? "unset"
 , src ? null
 , srcs ? null
 , sourceRoot ? null
@@ -17,7 +17,7 @@ in
 , cargoVendorDir ? null
 , ... } @ args:
 
-assert cargoVendorDir == null -> cargoSha256 != null;
+assert cargoVendorDir == null -> cargoSha256 != "unset";
 
 let
   lib = stdenv.lib;
@@ -91,7 +91,7 @@ in stdenv.mkDerivation (args // {
   installPhase = args.installPhase or ''
     runHook preInstall
     mkdir -p $out/bin
-    find target/release -maxdepth 1 -executable -exec cp "{}" $out/bin \;
+    find target/release -maxdepth 1 -executable -type f -exec cp "{}" $out/bin \;
     runHook postInstall
   '';
 
diff --git a/pkgs/build-support/setup-hooks/role.bash b/pkgs/build-support/setup-hooks/role.bash
new file mode 100644
index 00000000000..6f1c36f5c05
--- /dev/null
+++ b/pkgs/build-support/setup-hooks/role.bash
@@ -0,0 +1,75 @@
+# Since the same derivation can be depend on in multiple ways, we need to
+# accumulate *each* role (i.e. host and target platforms relative the depending
+# derivation) in which the derivation is used.
+#
+# The role is intened to be use as part of other variables names like
+#  - $NIX_${role_pre}_SOMETHING
+#  - $NIX_SOMETHING_${role_post}
+
+function getRole() {
+    case $1 in
+        -1)
+            role_pre='BUILD_'
+            role_post='_FOR_BUILD'
+            ;;
+        0)
+            role_pre=''
+            role_post=''
+            ;;
+        1)
+            role_pre='TARGET_'
+            role_post='_FOR_TARGET'
+            ;;
+        *)
+            echo "@name@: used as improper sort of dependency" >2
+            return 1
+            ;;
+    esac
+}
+
+# `hostOffset` describes how the host platform of the package is slid relative
+# to the depending package. `targetOffset` likewise describes the target
+# platform of the package. Both are brought into scope of the setup hook defined
+# for dependency whose setup hook is being processed relative to the package
+# being built.
+
+function getHostRole()   {
+    getRole "$hostOffset"
+}
+function getTargetRole() {
+    getRole "$targetOffset"
+}
+
+# `depHostOffset` describes how the host platform of the dependencies are slid
+# relative to the depending package. `depTargetOffset` likewise describes the
+# target platform of dependenices. Both are brought into scope of the
+# environment hook defined for the dependency being applied relative to the
+# package being built.
+
+function getHostRoleEnvHook()   {
+    getRole "$depHostOffset"
+}
+function getTargetRoleEnvHook() {
+    getRole "$depTargetOffset"
+}
+
+# This variant is inteneded specifically for code-prodocing tool wrapper scripts
+# `NIX_@wrapperName@_@infixSalt@_TARGET_*` tracks this (needs to be an exported
+# env var so can't use fancier data structures).
+function getTargetRoleWrapper() {
+    case $targetOffset in
+        -1)
+            export NIX_@wrapperName@_@infixSalt@_TARGET_BUILD=1
+            ;;
+        0)
+            export NIX_@wrapperName@_@infixSalt@_TARGET_HOST=1
+            ;;
+        1)
+            export NIX_@wrapperName@_@infixSalt@_TARGET_TARGET=1
+            ;;
+        *)
+            echo "@name@: used as improper sort of dependency" >2
+            return 1
+            ;;
+    esac
+}
diff --git a/pkgs/build-support/singularity-tools/default.nix b/pkgs/build-support/singularity-tools/default.nix
index 62cf13e5202..60271e592a2 100644
--- a/pkgs/build-support/singularity-tools/default.nix
+++ b/pkgs/build-support/singularity-tools/default.nix
@@ -96,6 +96,7 @@ rec {
             echo creating
             singularity image.create -s $((1 + size * 4 / 1024 + ${toString extraSpace})) $out
             echo importing
+            mkdir -p /var/singularity/mnt/container
             tar -c . | singularity image.import $out
           '');
 
diff --git a/pkgs/build-support/trivial-builders.nix b/pkgs/build-support/trivial-builders.nix
index 9664abeb465..d092efb556e 100644
--- a/pkgs/build-support/trivial-builders.nix
+++ b/pkgs/build-support/trivial-builders.nix
@@ -170,6 +170,7 @@ rec {
         ***
 
         _EOF_
+        exit 1
       '';
     };
 
diff --git a/pkgs/build-support/vm/default.nix b/pkgs/build-support/vm/default.nix
index 8ab1fbc8873..622fba0686f 100644
--- a/pkgs/build-support/vm/default.nix
+++ b/pkgs/build-support/vm/default.nix
@@ -3,7 +3,7 @@
 , img ? pkgs.stdenv.platform.kernelTarget
 , storeDir ? builtins.storeDir
 , rootModules ?
-    [ "virtio_pci" "virtio_mmio" "virtio_blk" "virtio_balloon" "virtio_rng" "ext4" "unix" "9p" "9pnet_virtio" ]
+    [ "virtio_pci" "virtio_mmio" "virtio_blk" "virtio_balloon" "virtio_rng" "ext4" "unix" "9p" "9pnet_virtio" "crc32c_generic" ]
       ++ pkgs.lib.optional (pkgs.stdenv.isi686 || pkgs.stdenv.isx86_64) "rtc_cmos"
 }:
 
@@ -92,7 +92,7 @@ rec {
 
     echo "loading kernel modules..."
     for i in $(cat ${modulesClosure}/insmod-list); do
-      insmod $i
+      insmod $i || echo "warning: unable to load $i"
     done
 
     mount -t devtmpfs devtmpfs /dev
@@ -941,8 +941,8 @@ rec {
     };
 
     ubuntu1710i386 = {
-      name = "ubuntu-17.10-xenial-i386";
-      fullName = "Ubuntu 17.10 Xenial (i386)";
+      name = "ubuntu-17.10-artful-i386";
+      fullName = "Ubuntu 17.10 Artful (i386)";
       packagesLists =
         [ (fetchurl {
             url = mirror://ubuntu/dists/artful/main/binary-i386/Packages.xz;
@@ -997,22 +997,22 @@ rec {
     };
 
     debian9i386 = {
-      name = "debian-9.3-stretch-i386";
-      fullName = "Debian 9.3 Stretch (i386)";
+      name = "debian-9.4-stretch-i386";
+      fullName = "Debian 9.4 Stretch (i386)";
       packagesList = fetchurl {
         url = mirror://debian/dists/stretch/main/binary-i386/Packages.xz;
-        sha256 = "1rpv0r92pkr9dmjvpffvgmq3an1s83npfmq870h67jqag3qpwj9l";
+        sha256 = "05z5ccg4ysbrgallhai53sh83i0364w7a3fdq84dpv1li059jf10";
       };
       urlPrefix = mirror://debian;
       packages = commonDebianPackages;
     };
 
     debian9x86_64 = {
-      name = "debian-9.3-stretch-amd64";
-      fullName = "Debian 9.3 Stretch (amd64)";
+      name = "debian-9.4-stretch-amd64";
+      fullName = "Debian 9.4 Stretch (amd64)";
       packagesList = fetchurl {
         url = mirror://debian/dists/stretch/main/binary-amd64/Packages.xz;
-        sha256 = "1gnkvh7wc5yp0rw8kq8p8rlskvl0lc4cv3gdylw8qpqzy75xqlig";
+        sha256 = "19j0c54b1b9lbk9fv2c2aswdh0s2c3klf97zrlmsz4hs8wm9jylq";
       };
       urlPrefix = mirror://debian;
       packages = commonDebianPackages;
diff --git a/pkgs/build-support/cc-wrapper/utils.sh b/pkgs/build-support/wrapper-common/utils.bash
index 4b2b1380918..12b596a83e6 100644
--- a/pkgs/build-support/cc-wrapper/utils.sh
+++ b/pkgs/build-support/wrapper-common/utils.bash
@@ -1,3 +1,18 @@
+# Accumulate infixes for taking in the right input parameters with the `mangle*`
+# functions below. See setup-hook for details.
+accumulateRoles() {
+    declare -ga role_infixes=()
+    if [ "${NIX_@wrapperName@_@infixSalt@_TARGET_BUILD:-}" ]; then
+        role_infixes+=(_BUILD_)
+    fi
+    if [ "${NIX_@wrapperName@_@infixSalt@_TARGET_HOST:-}" ]; then
+        role_infixes+=(_)
+    fi
+    if [ "${NIX_@wrapperName@_@infixSalt@_TARGET_TARGET:-}" ]; then
+        role_infixes+=(_TARGET_)
+    fi
+}
+
 mangleVarList() {
     local var="$1"
     shift
@@ -25,7 +40,11 @@ mangleVarBool() {
     for infix in "${role_infixes[@]}"; do
         local inputVar="${var/+/${infix}}"
         if [ -v "$inputVar" ]; then
-            let "${outputVar} |= ${!inputVar}"
+            # "1" in the end makes `let` return success error code when
+            # expression itself evaluates to zero.
+            # We don't use `|| true` because that would silence actual
+            # syntax errors from bad variable values.
+            let "${outputVar} |= ${!inputVar:-0}" "1"
         fi
     done
 }
diff --git a/pkgs/common-updater/scripts/update-source-version b/pkgs/common-updater/scripts/update-source-version
index 4c32ae046f3..3e507660a65 100755
--- a/pkgs/common-updater/scripts/update-source-version
+++ b/pkgs/common-updater/scripts/update-source-version
@@ -6,10 +6,11 @@ die() {
     exit 1
 }
 
-# Usage: update-source-hash <attr> <version> [<new-source-hash>]
+# Usage: update-source-hash <attr> <version> [<new-source-hash>] [<new-source-url>]
 attr=$1
 newVersion=$2
 newHash=$3
+newUrl=$4
 
 nixFile=$(nix-instantiate --eval --strict -A "$attr.meta.position" | sed -re 's/^"(.*):[0-9]+"$/\1/')
 if [ ! -f "$nixFile" ]; then
@@ -27,6 +28,12 @@ if [ $(grep -c "$oldHash" "$nixFile") != 1 ]; then
     die "Couldn't locate old source hash '$oldHash' (or it appeared more than once) in '$nixFile'!"
 fi
 
+oldUrl=$(nix-instantiate --eval -E "with import ./. {}; builtins.elemAt $attr.src.drvAttrs.urls 0" | tr -d '"')
+
+if [ -z "$oldUrl" ]; then
+    die "Couldn't evaluate source url from '$attr.name'!"
+fi
+
 drvName=$(nix-instantiate --eval -E "with import ./. {}; (builtins.parseDrvName $attr.name).name" | tr -d '"')
 oldVersion=$(nix-instantiate --eval -E "with import ./. {}; $attr.version or (builtins.parseDrvName $attr.name).version" | tr -d '"')
 
@@ -41,6 +48,7 @@ fi
 
 # Escape regex metacharacter that are allowed in store path names
 oldVersion=$(echo "$oldVersion" | sed -re 's|[.+]|\\&|g')
+oldUrl=$(echo "$oldUrl" | sed -re 's|[${}.+]|\\&|g')
 
 if [ $(grep -c -E "^\s*(let\b)?\s*version\s*=\s*\"$oldVersion\"" "$nixFile") = 1 ]; then
     pattern="/\bversion\b\s*=/ s|\"$oldVersion\"|\"$newVersion\"|"
@@ -56,6 +64,15 @@ if cmp -s "$nixFile" "$nixFile.bak"; then
     die "Failed to replace version '$oldVersion' to '$newVersion' in '$attr'!"
 fi
 
+# Replace new URL
+if [ -n "$newUrl" ]; then
+    sed -i "$nixFile" -re "s|\"$oldUrl\"|\"$newUrl\"|"
+
+    if cmp -s "$nixFile" "$nixFile.bak"; then
+        die "Failed to replace source URL '$oldUrl' to '$newUrl' in '$attr'!"
+    fi
+fi
+
 case "$oldHashAlgo" in
     sha256) hashLength=64 ;;
     sha512) hashLength=128 ;;
@@ -74,7 +91,7 @@ fi
 if [ -z "$newHash" ]; then
     nix-build --no-out-link -A "$attr.src" 2>"$attr.fetchlog" >/dev/null || true
     # FIXME: use nix-build --hash here once https://github.com/NixOS/nix/issues/1172 is fixed
-    newHash=$(egrep -v "killing process|dependencies couldn't be built" "$attr.fetchlog" | tail -n2 | sed "s~output path .* has .* hash \(.*\) when .* was expected\|fixed-output derivation produced path '.*' with .* hash '\(.*\)' instead of the expected hash '.*'~\1\2~" | head -n1)
+    newHash=$(egrep -v "killing process|dependencies couldn't be built" "$attr.fetchlog" | tail -n2 | sed "s~output path .* has .* hash ‘\(.*\)’ when .* was expected\|fixed-output derivation produced path '.*' with .* hash '\(.*\)' instead of the expected hash '.*'~\1\2~" | head -n1)
 fi
 
 if [ -z "$newHash" ]; then
diff --git a/pkgs/data/documentation/man-pages/default.nix b/pkgs/data/documentation/man-pages/default.nix
index ec58dfd7749..d050a15cb79 100644
--- a/pkgs/data/documentation/man-pages/default.nix
+++ b/pkgs/data/documentation/man-pages/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "man-pages-${version}";
-  version = "4.15";
+  version = "4.16";
 
   src = fetchurl {
     url = "mirror://kernel/linux/docs/man-pages/${name}.tar.xz";
-    sha256 = "01n1rq1kvambax85xamriawbga94mh63s5mgjmjljjgf50m7yw6f";
+    sha256 = "1d2d6llazg3inwjiz22cn46mbm5ydpbyh9qb55z4j3nm4w6wrzs7";
   };
 
   makeFlags = [ "MANDIR=$(out)/share/man" ];
diff --git a/pkgs/data/documentation/stdman/default.nix b/pkgs/data/documentation/stdman/default.nix
index 59a7612c6aa..25df45258a6 100644
--- a/pkgs/data/documentation/stdman/default.nix
+++ b/pkgs/data/documentation/stdman/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "stdman-${version}";
-  version = "2017.04.02";
+  version = "2018.03.11";
 
   src = fetchFromGitHub {
     owner = "jeaye";
     repo = "stdman";
     rev = "${version}";
-    sha256 = "1wfxd9ca8b9l976rnlhjd0sp364skfm99wxi633swwwjvhy26sgm";
+    sha256 = "1017vwhcwlwi5sa8h6pkhj048in826wxnhl6qarykmzksvidff3r";
   };
 
   outputDevdoc = "out";
diff --git a/pkgs/data/fonts/babelstone-han/default.nix b/pkgs/data/fonts/babelstone-han/default.nix
index b33295f89b2..fbf62e3ba38 100644
--- a/pkgs/data/fonts/babelstone-han/default.nix
+++ b/pkgs/data/fonts/babelstone-han/default.nix
@@ -1,19 +1,19 @@
 {stdenv, fetchzip}:
 
 let
-  version = "10.0.2";
+  version = "11.0.2";
 in fetchzip {
   name = "babelstone-han-${version}";
 
-  url = http://www.babelstone.co.uk/Fonts/7932/BabelStoneHan.zip;
+  url = http://www.babelstone.co.uk/Fonts/Download/BabelStoneHan.zip;
   postFetch = ''
     mkdir -p $out/share/fonts/truetype
     unzip $downloadedFile '*.ttf' -d $out/share/fonts/truetype
   '';
-  sha256 = "17r5cf028v66yzjf9qbncn4rchv2xxkl2adxr35ppg1l7zssz9v6";
+  sha256 = "003cz520riskjp729y3piqhmnzfw3jyrmb94im7jyvlc7hp14cdh";
 
   meta = with stdenv.lib; {
-    description = "Unicode CJK font with over 32600 Han characters";
+    description = "Unicode CJK font with over 36000 Han characters";
     homepage = http://www.babelstone.co.uk/Fonts/Han.html;
 
     license = licenses.free;
diff --git a/pkgs/data/fonts/dejavu-fonts/default.nix b/pkgs/data/fonts/dejavu-fonts/default.nix
index 23158a38f21..251654e2d58 100644
--- a/pkgs/data/fonts/dejavu-fonts/default.nix
+++ b/pkgs/data/fonts/dejavu-fonts/default.nix
@@ -1,4 +1,4 @@
-{fetchFromGitHub, stdenv, fontforge, perl, FontTTF}:
+{ fetchFromGitHub, stdenv, fontforge, perl, perlPackages }:
 
 let
   version = "2.37";
@@ -25,7 +25,7 @@ let
 
   full-ttf = stdenv.mkDerivation {
     name = "dejavu-fonts-full-${version}";
-    nativeBuildInputs = [fontforge perl FontTTF];
+    nativeBuildInputs = [fontforge perl perlPackages.IOString perlPackages.FontTTF];
 
     src = fetchFromGitHub {
       owner = "dejavu-fonts";
diff --git a/pkgs/data/fonts/emojione/default.nix b/pkgs/data/fonts/emojione/default.nix
index 560aed970bb..9d4c1e22e14 100644
--- a/pkgs/data/fonts/emojione/default.nix
+++ b/pkgs/data/fonts/emojione/default.nix
@@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
     description = "Open source emoji set";
     homepage = http://emojione.com/;
     license = licenses.cc-by-40;
-    platforms = platforms.all;
+    platforms = platforms.linux;
     maintainers = with maintainers; [ abbradar ];
   };
 }
diff --git a/pkgs/data/fonts/gentium-book-basic/default.nix b/pkgs/data/fonts/gentium-book-basic/default.nix
index 4c1e484253c..9b626291c2c 100644
--- a/pkgs/data/fonts/gentium-book-basic/default.nix
+++ b/pkgs/data/fonts/gentium-book-basic/default.nix
@@ -19,7 +19,7 @@ in fetchzip rec {
   sha256 = "0598zr5f7d6ll48pbfbmmkrybhhdks9b2g3m2g67wm40070ffzmd";
 
   meta = with stdenv.lib; {
-    homepage = http://software.sil.org/gentium/;
+    homepage = https://software.sil.org/gentium/;
     description = "A high-quality typeface family for Latin, Cyrillic, and Greek";
     maintainers = with maintainers; [ ];
     license = licenses.ofl;
diff --git a/pkgs/data/fonts/iosevka/default.nix b/pkgs/data/fonts/iosevka/default.nix
index 7c1676ed8b6..657eb80c539 100644
--- a/pkgs/data/fonts/iosevka/default.nix
+++ b/pkgs/data/fonts/iosevka/default.nix
@@ -26,13 +26,13 @@ in
 let pname = if set != null then "iosevka-${set}" else "iosevka"; in
 
 let
-  version = "1.14.0";
+  version = "1.14.2";
   name = "${pname}-${version}";
   src = fetchFromGitHub {
     owner = "be5invis";
     repo ="Iosevka";
     rev = "v${version}";
-    sha256 = "0mmdlrd9a0rhmmdqwkk6v7cdvbi23djr5kkiyv38llk11j3w0clp";
+    sha256 = "18vh5rjffqgiliyfia40lh7cygz6fv3rwgq28fxl26i9sc95qsqd";
   };
 in
 
diff --git a/pkgs/data/fonts/nerdfonts/default.nix b/pkgs/data/fonts/nerdfonts/default.nix
index 8815bf68838..528055a5e80 100644
--- a/pkgs/data/fonts/nerdfonts/default.nix
+++ b/pkgs/data/fonts/nerdfonts/default.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchFromGitHub, bash, which, withFont ? "" }:
 
 stdenv.mkDerivation rec {
-  version = "1.1.0";
+  version = "2.0.0";
   name = "nerdfonts-${version}";
   src = fetchFromGitHub {
     owner = "ryanoasis";
     repo = "nerd-fonts";
     rev = version;
-    sha256 = "0h12d33wnhs5w8r3h1gqil98442vf7a13ms3nwldsam4naapsqxz";
+    sha256 = "09i467hyskvzj2wn5sj6shvc9pb0a0rx5iknjkkkbg1ng3bla7nm";
   };
   dontPatchShebangs = true;
   buildInputs = [ which ];
diff --git a/pkgs/data/fonts/rounded-mgenplus/default.nix b/pkgs/data/fonts/rounded-mgenplus/default.nix
new file mode 100644
index 00000000000..c6cb61b7bd1
--- /dev/null
+++ b/pkgs/data/fonts/rounded-mgenplus/default.nix
@@ -0,0 +1,37 @@
+{ stdenv, fetchurl, p7zip }:
+
+let
+  pname = "rounded-mgenplus";
+  version = "20150602";
+
+in
+
+stdenv.mkDerivation rec {
+  name = "${pname}-${version}";
+  inherit version;
+
+  src = fetchurl {
+    url = "https://osdn.jp/downloads/users/8/8598/${name}.7z";
+    sha256 = "1k15xvzd3s5ppp151wv31wrfq2ri8v96xh7i71i974rxjxj6gspc";
+  };
+
+  nativeBuildInputs = [ p7zip ];
+
+  phases = [ "unpackPhase" "installPhase" ];
+
+  unpackPhase = ''
+    7z x $src
+  '';
+
+  installPhase = ''
+    install -m 444 -D -t $out/share/fonts/${pname} ${pname}-*.ttf
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A Japanese font based on Rounded M+ and Noto Sans Japanese";
+    homepage = http://jikasei.me/font/rounded-mgenplus/;
+    license = licenses.ofl;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ mnacamura ];
+  };
+}
diff --git a/pkgs/data/fonts/sarasa-gothic/default.nix b/pkgs/data/fonts/sarasa-gothic/default.nix
new file mode 100644
index 00000000000..0d0ff700a30
--- /dev/null
+++ b/pkgs/data/fonts/sarasa-gothic/default.nix
@@ -0,0 +1,32 @@
+{ stdenv, fetchurl, p7zip }:
+
+stdenv.mkDerivation rec {
+  version = "0.5.2";
+  name = "sarasa-gothic-${version}";
+
+  package = fetchurl {
+    url = "https://github.com/be5invis/Sarasa-Gothic/releases/download/v${version}/sarasa-gothic-ttf-${version}.7z";
+    sha256 = "18ycw57k7yhrbb8njzhzk6x32xnjal61wr48qxkqy4lh9zfy0p22";
+  };
+
+  nativeBuildInputs = [ p7zip ];
+
+  unpackPhase = ''
+    7z x $package
+  '';
+
+  installPhase = ''
+    mkdir -p $out/share/fonts/truetype
+    cp *.ttf $out/share/fonts/truetype
+  '';
+
+  meta = with stdenv.lib; {
+    description = "SARASA GOTHIC is a Chinese & Japanese programming font based on Iosevka and Source Han Sans";
+    homepage = https://github.com/be5invis/Sarasa-Gothic;
+    license = licenses.ofl;
+    maintainers = [ maintainers.ChengCat ];
+    platforms = platforms.all;
+    # large package, mainly i/o bound
+    hydraPlatforms = [];
+  };
+}
diff --git a/pkgs/data/fonts/scheherazade/default.nix b/pkgs/data/fonts/scheherazade/default.nix
new file mode 100644
index 00000000000..b35f537c06b
--- /dev/null
+++ b/pkgs/data/fonts/scheherazade/default.nix
@@ -0,0 +1,43 @@
+{ stdenv, fetchzip }:
+
+let
+  version = "2.100";
+in fetchzip rec {
+  name = "scheherazade-${version}";
+
+  url = "http://software.sil.org/downloads/r/scheherazade/Scheherazade-${version}.zip";
+
+  postFetch = ''
+    mkdir -p $out/share/{doc,fonts}
+    unzip -l $downloadedFile
+    unzip -j $downloadedFile \*.ttf                        -d $out/share/fonts/truetype
+    unzip -j $downloadedFile \*/FONTLOG.txt  \*/README.txt -d $out/share/doc/${name}
+    unzip -j $downloadedFile \*/documentation/\*           -d $out/share/doc/${name}/documentation
+  '';
+
+  sha256 = "1g5f5f9gzamkq3kqyf7vbzvl4rdj3wmjf6chdrbxksrm3rnb926z";
+
+  meta = with stdenv.lib; {
+    homepage = https://software.sil.org/scheherazade/;
+    description = "A font designed in a similar style to traditional Naskh typefaces";
+    longDescription = ''
+      Scheherazade, named after the heroine of the classic Arabian Nights tale,
+      is designed in a similar style to traditional typefaces such as Monotype
+      Naskh, extended to cover the Unicode Arabic repertoire through Unicode
+      8.0.
+
+      Scheherazade provides a “simplified” rendering of Arabic script, using
+      basic connecting glyphs but not including a wide variety of additional
+      ligatures or contextual alternates (only the required lam-alef
+      ligatures). This simplified style is often preferred for clarity,
+      especially in non-Arabic languages, but may not be considered appropriate
+      in situations where a more elaborate style of calligraphy is preferred.
+
+      This package contains the regular and bold styles for the Scheherazade
+      font family, along with documentation.
+    '';
+    downloadPage = "https://software.sil.org/scheherazade/download/";
+    license = licenses.ofl;
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/data/fonts/tex-gyre-math/default.nix b/pkgs/data/fonts/tex-gyre-math/default.nix
index e99e0bfb342..3f9726ee094 100644
--- a/pkgs/data/fonts/tex-gyre-math/default.nix
+++ b/pkgs/data/fonts/tex-gyre-math/default.nix
@@ -1,4 +1,4 @@
-{ variant, stdenv, fetchzip }:
+{ stdenv, fetchzip }:
 
 let
   variants = {
@@ -27,40 +27,43 @@ let
       outputHash = "0pa433cgshlypbyrrlp3qq0wg972rngcp37pr8pxdfshgz13q1mm";
     };
   };
-  current = variants."${variant}";
-  dotless_version = builtins.replaceStrings ["."] [""] current.version;
-in stdenv.mkDerivation rec {
-  name = "tex-gyre-${variant}-math-${current.version}";
-  version = "${current.version}";
 
-  src = fetchzip {
-    url = "www.gust.org.pl/projects/e-foundry/tg-math/download/texgyre${variant}-math-${dotless_version}.zip";
-    sha256 = current.sha256;
-  };
+  mkVariant = variant: current:
+    let dotless_version = builtins.replaceStrings ["."] [""] current.version; in
+    stdenv.mkDerivation rec {
+      name = "tex-gyre-${variant}-math-${current.version}";
+      version = "${current.version}";
 
-  installPhase = ''
-    mkdir -p $out/share/fonts/opentype/
-    mkdir -p $out/share/doc/${name}/
-    cp -v opentype/*.otf $out/share/fonts/opentype/
-    cp -v doc/*.txt $out/share/doc/${name}/
-  '';
+      src = fetchzip {
+        url = "www.gust.org.pl/projects/e-foundry/tg-math/download/texgyre${variant}-math-${dotless_version}.zip";
+        sha256 = current.sha256;
+      };
 
-  outputHashAlgo = "sha256";
-  outputHashMode = "recursive";
-  outputHash = current.outputHash;
+      installPhase = ''
+        mkdir -p $out/share/fonts/opentype/
+        mkdir -p $out/share/doc/${name}/
+        cp -v opentype/*.otf $out/share/fonts/opentype/
+        cp -v doc/*.txt $out/share/doc/${name}/
+      '';
 
-  meta = with stdenv.lib; {
-    longDescription = ''
-      TeX Gyre ${current.displayName} Math is a math companion for the TeX Gyre
-      ${current.displayName} family of fonts (see
-      http://www.gust.org.pl/projects/e-foundry/tex-gyre/) in the OpenType format.
-    '';
-    homepage = http://www.gust.org.pl/projects/e-foundry/tg-math;
-    # "The TeX Gyre Math fonts are licensed under the GUST Font License (GFL),
-    # which is a free license, legally equivalent to the LaTeX Project Public
-    # License (LPPL), version 1.3c or later." - GUST website
-    license = licenses.lppl13c;
-    maintainers = with maintainers; [ siddharthist ];
-    platforms = platforms.all;
-  };
-}
+      outputHashAlgo = "sha256";
+      outputHashMode = "recursive";
+      outputHash = current.outputHash;
+
+      meta = with stdenv.lib; {
+        longDescription = ''
+          TeX Gyre ${current.displayName} Math is a math companion for the TeX Gyre
+          ${current.displayName} family of fonts (see
+          http://www.gust.org.pl/projects/e-foundry/tex-gyre/) in the OpenType format.
+        '';
+        homepage = http://www.gust.org.pl/projects/e-foundry/tg-math;
+        # "The TeX Gyre Math fonts are licensed under the GUST Font License (GFL),
+        # which is a free license, legally equivalent to the LaTeX Project Public
+        # License (LPPL), version 1.3c or later." - GUST website
+        license = licenses.lppl13c;
+        maintainers = with maintainers; [ siddharthist ];
+        platforms = platforms.all;
+      };
+    };
+in
+  stdenv.lib.mapAttrs mkVariant variants
diff --git a/pkgs/data/fonts/twemoji-color-font/default.nix b/pkgs/data/fonts/twemoji-color-font/default.nix
index 9173387a4c7..9a8c6bf592a 100644
--- a/pkgs/data/fonts/twemoji-color-font/default.nix
+++ b/pkgs/data/fonts/twemoji-color-font/default.nix
@@ -14,7 +14,11 @@ stdenv.mkDerivation rec {
   preBuild = "export HOME=\"$NIX_BUILD_ROOT\"";
   makeFlags = [ "SCFBUILD=${scfbuild}/bin/scfbuild" ];
   enableParallelBuilding = true;
-  installPhase = "install -Dm755 build/TwitterColorEmoji-SVGinOT.ttf $out/share/fonts/truetype/TwitterColorEmoji-SVGinOT.ttf";
+
+  installPhase = ''
+    install -Dm755 build/TwitterColorEmoji-SVGinOT.ttf $out/share/fonts/truetype/TwitterColorEmoji-SVGinOT.ttf
+    install -Dm644 linux/fontconfig/56-twemoji-color.conf $out/etc/fonts/conf.d/56-twemoji-color.conf
+  '';
 
   meta = with stdenv.lib; {
     version = "1.3";
diff --git a/pkgs/data/icons/elementary-xfce-icon-theme/default.nix b/pkgs/data/icons/elementary-xfce-icon-theme/default.nix
index 724f3a066cc..8a831a630d8 100644
--- a/pkgs/data/icons/elementary-xfce-icon-theme/default.nix
+++ b/pkgs/data/icons/elementary-xfce-icon-theme/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "elementary-xfce-icon-theme-${version}";
-  version = "2017-11-28";
+  version = "0.11";
 
   src = fetchFromGitHub {
     owner = "shimmerproject";
     repo = "elementary-xfce";
-    rev = "b5cc6f044ed24e388ed2fffed1d02f43ce76f5e6";
-    sha256 = "15n28f2pw8b0y5pi8ydahg31v6hhh7zvpvymi8jaafdc9bn18z3y";
+    rev = "elementary-xfce-${version}";
+    sha256 = "1hgbw9wwsgrbrs8lgdhba2m8m1cvqbcy27b87kjws6jsa00f5hx6";
   };
 
   nativeBuildInputs = [ gtk3 hicolor-icon-theme ];
diff --git a/pkgs/data/icons/iconpack-obsidian/default.nix b/pkgs/data/icons/iconpack-obsidian/default.nix
new file mode 100644
index 00000000000..b033f510f0b
--- /dev/null
+++ b/pkgs/data/icons/iconpack-obsidian/default.nix
@@ -0,0 +1,35 @@
+{ stdenv, fetchFromGitHub, gtk3 }:
+
+stdenv.mkDerivation rec {
+  name = "iconpack-obsidian-${version}";
+  version = "4.0.1";
+
+  src = fetchFromGitHub {
+    owner = "madmaxms";
+    repo = "iconpack-obsidian";
+    rev = "v${version}";
+    sha256 = "1mlaldqjc3am2d2m577fhsidlnfqlhmnf1l8hh50iqr94mc14fab";
+  };
+
+  nativeBuildInputs = [ gtk3 ];
+
+  installPhase = ''
+     mkdir -p $out/share/icons
+     mv Obsidian* $out/share/icons
+  '';
+
+  postFixup = ''
+    for theme in $out/share/icons/*; do
+      gtk-update-icon-cache $theme
+    done
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Gnome Icon Pack based upon Faenza";
+    homepage = https://github.com/madmaxms/iconpack-obsidian;
+    license = licenses.lgpl3;
+    # darwin cannot deal with file names differing only in case
+    platforms = platforms.linux;
+    maintainers = [ maintainers.romildo ];
+  };
+}
diff --git a/pkgs/data/icons/papirus-icon-theme/default.nix b/pkgs/data/icons/papirus-icon-theme/default.nix
index df974d8a035..c0f4727f48f 100644
--- a/pkgs/data/icons/papirus-icon-theme/default.nix
+++ b/pkgs/data/icons/papirus-icon-theme/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "papirus-icon-theme-${version}";
-  version = "20180214";
+  version = "20180401";
 
   src = fetchFromGitHub {
     owner = "PapirusDevelopmentTeam";
     repo = "papirus-icon-theme";
     rev = version;
-    sha256 = "0lsp5cmq5wdqw6vyh6hqqrshgpzxfj8dx87l7qdlgrk73dajjmki";
+    sha256 = "1cbzv3igc6j05h0mq2850fwfd8sxxwixzgmhh85mc1k326rvncil";
   };
 
   nativeBuildInputs = [ gtk3 ];
diff --git a/pkgs/data/misc/brise/default.nix b/pkgs/data/misc/brise/default.nix
index 8b27f4fbf72..6c59a0faf04 100644
--- a/pkgs/data/misc/brise/default.nix
+++ b/pkgs/data/misc/brise/default.nix
@@ -35,7 +35,7 @@ stdenv.mkDerivation rec {
     # Note that individual packages in this collection
     # may be released under different licenses
     license = licenses.gpl3;
-    platforms = platforms.all;
+    platforms = platforms.linux;
     maintainers = [ maintainers.sifmelcara ];
   };
 }
diff --git a/pkgs/data/misc/cacert/default.nix b/pkgs/data/misc/cacert/default.nix
index 91af84c4224..638a342e8eb 100644
--- a/pkgs/data/misc/cacert/default.nix
+++ b/pkgs/data/misc/cacert/default.nix
@@ -9,8 +9,8 @@ let
 
   certdata2pem = fetchurl {
     name = "certdata2pem.py";
-    url = "https://anonscm.debian.org/cgit/collab-maint/ca-certificates.git/plain/mozilla/certdata2pem.py?h=debian/20160104";
-    sha256 = "0bw11mgfrf19qziyvdnq22kirp0nn54lfsanrg5h6djs6ig1c2im";
+    url = "https://anonscm.debian.org/cgit/collab-maint/ca-certificates.git/plain/mozilla/certdata2pem.py?h=debian/20170717";
+    sha256 = "1d4q27j1gss0186a5m8bs5dk786w07ccyq0qi6xmd2zr1a8q16wy";
   };
 
 in
@@ -20,6 +20,8 @@ stdenv.mkDerivation rec {
 
   src = nss.src;
 
+  outputs = [ "out" "unbundled" ];
+
   nativeBuildInputs = [ python ];
 
   configurePhase = ''
@@ -50,6 +52,10 @@ stdenv.mkDerivation rec {
   installPhase = ''
     mkdir -pv $out/etc/ssl/certs
     cp -v ca-bundle.crt $out/etc/ssl/certs
+    # install individual certs in unbundled output
+    mkdir -pv $unbundled/etc/ssl/certs
+    cp -v *.crt $unbundled/etc/ssl/certs
+    rm -f $unbundled/etc/ssl/certs/ca-bundle.crt  # not wanted in unbundled
   '';
 
   setupHook = ./setup-hook.sh;
diff --git a/pkgs/data/misc/hackage/default.nix b/pkgs/data/misc/hackage/default.nix
index 7cf4988771a..1ef00de5b83 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/30eca1c57b9358eff984ab93dbfd213d6b08706b.tar.gz";
-  sha256 = "0kd5y2jlydbr1jv2ckdpsn2ialbxk2aj19c8i0brzz0wwzirg7q5";
+  url = "https://github.com/commercialhaskell/all-cabal-hashes/archive/3a2febcad5a83b15dea74462890e3c48c13f55f1.tar.gz";
+  sha256 = "1z6mfk49hsxvcpv183wayirspx78xd1l0w42wf8mfyf0jh8grfff";
 }
diff --git a/pkgs/data/misc/iana-etc/default.nix b/pkgs/data/misc/iana-etc/default.nix
index 6b1abad02d7..d5ab50f0b8c 100644
--- a/pkgs/data/misc/iana-etc/default.nix
+++ b/pkgs/data/misc/iana-etc/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "iana-etc-${version}";
-  version = "20180108";
+  version = "20180405";
 
   src = fetchurl {
     url = "https://github.com/Mic92/iana-etc/releases/download/${version}/iana-etc-${version}.tar.gz";
-    sha256 = "1x4jacrvjwcsan88rg2wf2a8bajsglg6w4396vbr18zh0sya84a2";
+    sha256 = "0x6i95arrc4lcq2il3r05hbnd9vsi87z4yc8s3agkvbj74d6hfhj";
   };
 
   installPhase = ''
diff --git a/pkgs/data/misc/libkkc-data/default.nix b/pkgs/data/misc/libkkc-data/default.nix
new file mode 100644
index 00000000000..343071fcf59
--- /dev/null
+++ b/pkgs/data/misc/libkkc-data/default.nix
@@ -0,0 +1,22 @@
+{ stdenv, fetchurl, marisa, libkkc }:
+
+stdenv.mkDerivation rec {
+  pname = "libkkc-data";
+  version = "0.2.7";
+  name = "${pname}-${version}";
+
+  src = fetchurl {
+    url = "${meta.homepage}/releases/download/v${libkkc.version}/${name}.tar.xz";
+    sha256 = "16avb50jasq2f1n9xyziky39dhlnlad0991pisk3s11hl1aqfrwy";
+  };
+
+  nativeBuildInputs = [ marisa ];
+
+  meta = with stdenv.lib; {
+    description = "Language model data package for libkkc";
+    homepage    = https://github.com/ueno/libkkc;
+    license     = licenses.gpl3Plus;
+    maintainers = with maintainers; [ vanzef ];
+    platforms   = platforms.linux;
+  };
+}
diff --git a/pkgs/data/misc/osinfo-db/default.nix b/pkgs/data/misc/osinfo-db/default.nix
index c38097abde9..82122335f69 100644
--- a/pkgs/data/misc/osinfo-db/default.nix
+++ b/pkgs/data/misc/osinfo-db/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, osinfo-db-tools, intltool, libxml2 }:
 
 stdenv.mkDerivation rec {
-  name = "osinfo-db-20170813";
+  name = "osinfo-db-20180502";
 
   src = fetchurl {
     url = "https://releases.pagure.org/libosinfo/${name}.tar.xz";
-    sha256 = "0v9i325aaflzj2y5780mj9b0jv5ysb1bn90bm3s4f2ck5n124ffw";
+    sha256 = "05036mpc5hapx616lfzc67xj157hw3mgyk0arv3brjcx0qmzaram";
   };
 
   nativeBuildInputs = [ osinfo-db-tools intltool libxml2 ];
diff --git a/pkgs/data/misc/poppler-data/default.nix b/pkgs/data/misc/poppler-data/default.nix
index f0f6505cb24..d7a5ce33bd2 100644
--- a/pkgs/data/misc/poppler-data/default.nix
+++ b/pkgs/data/misc/poppler-data/default.nix
@@ -1,18 +1,14 @@
-{ fetchurl, stdenv }:
+{ fetchurl, stdenv, cmake, ninja }:
 
 stdenv.mkDerivation rec {
-  name = "poppler-data-0.4.7";
+  name = "poppler-data-0.4.9";
 
   src = fetchurl {
     url = "http://poppler.freedesktop.org/${name}.tar.gz";
-    sha256 = "1pm7wg6xqj4sppb5az4pa7psfdk4yxxkw52j85bm9fksibcb0lp7";
+    sha256 = "04i0wgdkn5lhda8cyxd1ll4a2p41pwqrwd47n9mdpl7cx5ypx70z";
   };
 
-  postPatch = ''
-    sed -i 's,$(datadir)/pkgconfig,$(prefix)/lib/pkgconfig,g' Makefile
-  '';
-
-  installFlags = [ "prefix=$(out)" ];
+  nativeBuildInputs = [ cmake ninja ];
 
   meta = with stdenv.lib; {
     homepage = https://poppler.freedesktop.org/;
diff --git a/pkgs/data/misc/scowl/default.nix b/pkgs/data/misc/scowl/default.nix
index 5e4d17bcc8f..c90b8aa7e37 100644
--- a/pkgs/data/misc/scowl/default.nix
+++ b/pkgs/data/misc/scowl/default.nix
@@ -1,20 +1,28 @@
-{stdenv, fetchFromGitHub, unzip, zip, perl, aspell, dos2unix, singleWordlist ? null}:
+{ stdenv, fetchFromGitHub, unzip, zip, libiconv, perl, aspell, dos2unix
+, singleWordlist ? null
+}:
+
 stdenv.mkDerivation rec {
   name = "${pname}-${version}";
   pname = "scowl";
-  version = "2017.08.24";
+  version = "2018.04.16";
 
   src = fetchFromGitHub {
     owner = "en-wl";
     repo = "wordlist";
     rev = "rel-${version}";
-    sha256 = "16mgk6scbw8i38g63kh60bsnzgzfs8gvvz2n5jh4x5didbwly8nz";
+    sha256 = "0p0hgg5y88bb802z210cdk1c4fjwlpxxkci6yph3fk7g6s9xc73g";
   };
 
-  buildInputs = [];
-  nativeBuildInputs = [unzip zip perl aspell dos2unix];
+  postPatch = ''
+    substituteInPlace scowl/src/Makefile \
+        --replace g++ c++
+  '';
+
+  nativeBuildInputs = [ unzip zip perl aspell dos2unix ];
+  buildInputs = stdenv.lib.optional (!stdenv.isLinux) libiconv;
 
-  NIX_CFLAGS_COMPILE = " -Wno-narrowing ";
+  NIX_CFLAGS_COMPILE = "-Wno-narrowing";
 
   preConfigure = ''
     patchShebangs .
@@ -34,8 +42,8 @@ stdenv.mkDerivation rec {
   installPhase = if singleWordlist == null then ''
     eval "$preInstall"
 
-    mkdir -p "$out/share/scowl" 
-    mkdir -p "$out/lib" "$out/share/hunspell" "$out/share/myspell" 
+    mkdir -p "$out/share/scowl"
+    mkdir -p "$out/lib" "$out/share/hunspell" "$out/share/myspell"
     mkdir -p "$out/share/dict"
 
     cp -r scowl/speller/aspell "$out/lib/aspell"
diff --git a/pkgs/data/misc/tzdata/default.nix b/pkgs/data/misc/tzdata/default.nix
index ada2ed997da..0f790f78f19 100644
--- a/pkgs/data/misc/tzdata/default.nix
+++ b/pkgs/data/misc/tzdata/default.nix
@@ -1,35 +1,55 @@
-{ stdenv, fetchurl }:
+{ stdenv, fetchurl, buildPackages }:
 
 stdenv.mkDerivation rec {
   name = "tzdata-${version}";
-  version = "2017c";
+  version = "2018e";
 
   srcs =
     [ (fetchurl {
         url = "http://www.iana.org/time-zones/repository/releases/tzdata${version}.tar.gz";
-        sha256 = "02yrrfj0p7ar885ja41ylijzbr8wc6kz6kzlw8c670i9m693ym6n";
+        sha256 = "0bk97fv2i5ns42prpmlaadsswdjwv0ifi7whj2s4q6l44rcqwa3b";
       })
       (fetchurl {
         url = "http://www.iana.org/time-zones/repository/releases/tzcode${version}.tar.gz";
-        sha256 = "1dvrq0b2hz7cjqdyd7x21wpy4qcng3rvysr61ij0c2g64fyb9s41";
+        sha256 = "1kpb02631s58i068mwq63xlamcv1ffj4p6y4wpb9kdl01vr0qd6a";
       })
     ];
 
   sourceRoot = ".";
 
-  outputs = [ "out" "man" "dev" ];
+  outputs = [ "out" "bin" "man" "dev" ];
   propagatedBuildOutputs = [];
 
   makeFlags = [
     "TOPDIR=$(out)"
     "TZDIR=$(out)/share/zoneinfo"
+    "BINDIR=$(bin)/bin"
+    "ZICDIR=$(bin)/bin"
     "ETCDIR=$(TMPDIR)/etc"
+    "TZDEFAULT=$(TMPDIR)/etc"
     "LIBDIR=$(dev)/lib"
     "MANDIR=$(man)/share/man"
     "AWK=awk"
     "CFLAGS=-DHAVE_LINK=0"
+    "cc=${stdenv.cc.targetPrefix}cc"
+    "AR=${stdenv.cc.targetPrefix}ar"
   ];
 
+  depsBuildBuild = [ buildPackages.stdenv.cc ];
+
+  doCheck = false; # needs more tools
+
+  installFlags = [ "ZIC=./zic-native" ];
+
+  preInstall = ''
+     mv zic.o zic.o.orig
+     mv zic zic.orig
+     make $makeFlags cc=cc AR=ar zic
+     mv zic zic-native
+     mv zic.o.orig zic.o
+     mv zic.orig zic
+  '';
+
   postInstall =
     ''
       rm $out/share/zoneinfo-posix
@@ -43,9 +63,10 @@ stdenv.mkDerivation rec {
 
   setupHook = ./tzdata-setup-hook.sh;
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = http://www.iana.org/time-zones;
     description = "Database of current and historical time zones";
-    platforms = stdenv.lib.platforms.all;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ fpletz ];
   };
 }
diff --git a/pkgs/data/misc/wireless-regdb/default.nix b/pkgs/data/misc/wireless-regdb/default.nix
index 70f217f1b7e..0805a62b15e 100644
--- a/pkgs/data/misc/wireless-regdb/default.nix
+++ b/pkgs/data/misc/wireless-regdb/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "wireless-regdb-${version}";
-  version = "2017.12.23";
+  version = "2018.05.09";
 
   src = fetchurl {
     url = "https://www.kernel.org/pub/software/network/wireless-regdb/${name}.tar.xz";
-    sha256 = "1faa394frq0126h2z28kp4dwknx6zqm5nar4552g7rwqvl2yclqf";
+    sha256 = "0db4p8m194cjydrv9q7ygx62v202sighb9pizbn8a29anvm0cmzd";
   };
 
   dontBuild = true;
diff --git a/pkgs/data/sgml+xml/schemas/docbook-5.0/default.nix b/pkgs/data/sgml+xml/schemas/docbook-5.0/default.nix
index 640659a6108..4986101584e 100644
--- a/pkgs/data/sgml+xml/schemas/docbook-5.0/default.nix
+++ b/pkgs/data/sgml+xml/schemas/docbook-5.0/default.nix
@@ -28,7 +28,7 @@ stdenv.mkDerivation {
 
   meta = {
     description = "Schemas for DocBook 5.0, a semantic markup language for technical documentation";
-    homepage = http://docbook.org/xml/5.0/;
+    homepage = https://docbook.org/xml/5.0/;
     maintainers = [ lib.maintainers.eelco ];
     platforms = lib.platforms.all;
   };
diff --git a/pkgs/data/sgml+xml/stylesheets/xslt/docbook-xsl/default.nix b/pkgs/data/sgml+xml/stylesheets/xslt/docbook-xsl/default.nix
index e965882a9c3..ef7b1f93d74 100644
--- a/pkgs/data/sgml+xml/stylesheets/xslt/docbook-xsl/default.nix
+++ b/pkgs/data/sgml+xml/stylesheets/xslt/docbook-xsl/default.nix
@@ -60,6 +60,7 @@ in {
   docbook_xsl_ns = common {
     pname = "docbook-xsl-ns";
     sha256 = "170ggf5dgjar65kkn5n33kvjr3pdinpj66nnxfx8b2avw0k91jin";
-  };
 
+    patches = [ ./docbook-xsl-ns-infinite.patch ];
+  };
 }
diff --git a/pkgs/data/sgml+xml/stylesheets/xslt/docbook-xsl/docbook-xsl-ns-infinite.patch b/pkgs/data/sgml+xml/stylesheets/xslt/docbook-xsl/docbook-xsl-ns-infinite.patch
new file mode 100644
index 00000000000..5729f9b43c8
--- /dev/null
+++ b/pkgs/data/sgml+xml/stylesheets/xslt/docbook-xsl/docbook-xsl-ns-infinite.patch
@@ -0,0 +1,30 @@
+Description: Remove infinite recursion
+Attribute: docbook5_xsl
+Version: 1.79.1
+URL: https://github.com/NixOS/nixpkgs/issues/39090
+diff -ru a/lib/lib.xsl b/lib/lib.xsl
+--- a/lib/lib.xsl	2015-12-26 15:15:37.000000000 -0800
++++ b/lib/lib.xsl	2018-03-22 11:52:45.311949264 -0700
+@@ -11,8 +11,10 @@
+ 
+      ******************************************************************** -->
+ <xsl:stylesheet exclude-result-prefixes="d"
+-                 xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:d="http://docbook.org/ns/docbook"
+-version="1.0">
++                xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
++                xmlns:d="http://docbook.org/ns/docbook"
++                xmlns:str="http://exslt.org/strings"
++                version="1.0">
+ 
+ <xsl:template name="dot.count">
+   <!-- Returns the number of "." characters in a string -->
+@@ -58,6 +61,9 @@
+   <xsl:param name="replacement"/>
+ 
+   <xsl:choose>
++    <xsl:when test="function-available('str:replace')">
++      <xsl:value-of select="str:replace($string, string($target), string($replacement))"/>
++    </xsl:when>
+     <xsl:when test="contains($string, $target)">
+       <xsl:variable name="rest">
+         <xsl:call-template name="string.subst">
diff --git a/pkgs/desktops/deepin/deepin-gtk-theme/default.nix b/pkgs/desktops/deepin/deepin-gtk-theme/default.nix
index bdddc28cc44..26520889c7d 100644
--- a/pkgs/desktops/deepin/deepin-gtk-theme/default.nix
+++ b/pkgs/desktops/deepin/deepin-gtk-theme/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "deepin-gtk-theme-${version}";
-  version = "17.10.5";
+  version = "17.10.6";
 
   src = fetchFromGitHub {
     owner = "linuxdeepin";
     repo = "deepin-gtk-theme";
     rev = version;
-    sha256 = "0ff1yg4gz4p7nd0qg3dcbsiw8yqlvqccm55kxi998w8j1wrg6pq3";
+    sha256 = "01mfn3i234ynjvxl0yddsqqadwh6zmiibzrjm9xd1f78rj4xxkll";
   };
 
   propagatedUserEnvPkgs = [ gtk-engine-murrine ];
diff --git a/pkgs/desktops/deepin/default.nix b/pkgs/desktops/deepin/default.nix
index b03349ce2df..2070e7bc77f 100644
--- a/pkgs/desktops/deepin/default.nix
+++ b/pkgs/desktops/deepin/default.nix
@@ -1,14 +1,10 @@
-{ pkgs, newScope }:
+{ pkgs, makeScope, libsForQt5 }:
 
 let
-  callPackage = newScope self;
-
-  self = rec {
+  packages = self: with self; {
 
     deepin-gtk-theme = callPackage ./deepin-gtk-theme { };
-
     deepin-icon-theme = callPackage ./deepin-icon-theme { };
-
     deepin-terminal = callPackage ./deepin-terminal {
       inherit (pkgs.gnome3) libgee vte;
       wnck = pkgs.libwnck3;
@@ -16,4 +12,5 @@ let
 
   };
 
-in self
+in
+  makeScope libsForQt5.newScope packages
diff --git a/pkgs/desktops/enlightenment/econnman.nix b/pkgs/desktops/enlightenment/econnman.nix
index 7739e2bd09e..60e63dc68ed 100644
--- a/pkgs/desktops/enlightenment/econnman.nix
+++ b/pkgs/desktops/enlightenment/econnman.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, efl, python2Packages, dbus, curl, makeWrapper }:
+{ stdenv, fetchurl, pkgconfig, efl, python2Packages, dbus, makeWrapper }:
 
 stdenv.mkDerivation rec {
   name = "econnman-${version}";
@@ -11,13 +11,12 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ makeWrapper pkgconfig python2Packages.wrapPython ];
 
-  buildInputs = [ efl python2Packages.python dbus curl ];
+  buildInputs = [ efl python2Packages.python dbus ];
 
   pythonPath = [ python2Packages.pythonefl python2Packages.dbus-python ];
 
   postInstall = ''
     wrapPythonPrograms
-    wrapProgram $out/bin/econnman-bin --prefix LD_LIBRARY_PATH : ${curl.out}/lib
   '';
 
   meta = {
diff --git a/pkgs/desktops/enlightenment/efl.nix b/pkgs/desktops/enlightenment/efl.nix
index fff15a9981d..9660bc3e4c7 100644
--- a/pkgs/desktops/enlightenment/efl.nix
+++ b/pkgs/desktops/enlightenment/efl.nix
@@ -1,23 +1,23 @@
 { stdenv, fetchurl, pkgconfig, openssl, libjpeg, zlib, lz4, freetype, fontconfig
-, fribidi, SDL2, SDL, libGLU_combined, giflib, libpng, libtiff, glib, gst_all_1, libpulseaudio
+, fribidi, SDL2, SDL, libGL, giflib, libpng, libtiff, glib, gst_all_1, libpulseaudio
 , libsndfile, xorg, libdrm, libxkbcommon, udev, utillinux, dbus, bullet, luajit
 , python27Packages, openjpeg, doxygen, expat, harfbuzz, jbig2dec, librsvg
 , dbus_libs, alsaLib, poppler, ghostscript, libraw, libspectre, xineLib, libwebp
-, curl, libinput, systemd, writeText
+, curl, libinput, systemd, mesa_noglu, writeText
 }:
 
 stdenv.mkDerivation rec {
   name = "efl-${version}";
-  version = "1.20.6";
+  version = "1.20.7";
 
   src = fetchurl {
     url = "http://download.enlightenment.org/rel/libs/efl/${name}.tar.xz";
-    sha256 = "1h9jkb1pkp2g6ld7ra9mxgblx3x5id4162ja697klx9mfjkpxijn";
+    sha256 = "1zkn5ix81xck3n84dxvkjh4alwc6zj8x989d0zqi5c6ppijvgadh";
   };
 
   nativeBuildInputs = [ pkgconfig ];
 
-  buildInputs = [ openssl zlib lz4 freetype fontconfig SDL libGLU_combined
+  buildInputs = [ openssl zlib lz4 freetype fontconfig SDL libGL mesa_noglu
     giflib libpng libtiff glib gst_all_1.gstreamer gst_all_1.gst-plugins-base gst_all_1.gst-plugins-good
     gst_all_1.gst-libav libpulseaudio libsndfile xorg.libXcursor xorg.printproto
     xorg.libX11 udev systemd ];
@@ -70,6 +70,12 @@ stdenv.mkDerivation rec {
       'Cflags: -I''${includedir}/eina-1/eina'"$modules"
   '';
 
+  # EFL applications depend on libcurl, although it is linked at
+  # runtime by hand in code (it is dlopened).
+  postFixup = ''
+    patchelf --add-needed ${curl.out}/lib/libcurl.so $out/lib/libecore_con.so
+  '';
+
   enableParallelBuilding = true;
 
   meta = {
diff --git a/pkgs/desktops/enlightenment/enlightenment.nix b/pkgs/desktops/enlightenment/enlightenment.nix
index 58fff802080..b0fd5f3db2b 100644
--- a/pkgs/desktops/enlightenment/enlightenment.nix
+++ b/pkgs/desktops/enlightenment/enlightenment.nix
@@ -1,16 +1,16 @@
 { stdenv, fetchurl, meson, ninja, pkgconfig, gettext, efl,
   xcbutilkeysyms, libXrandr, libXdmcp, libxcb, libffi, pam, alsaLib,
-  luajit, bzip2, libpthreadstubs, gdbm, libcap, libGLU,
+  luajit, bzip2, libpthreadstubs, gdbm, libcap, libGLU, mesa_noglu,
   xkeyboard_config, pcre
 }:
 
 stdenv.mkDerivation rec {
   name = "enlightenment-${version}";
-  version = "0.22.1";
+  version = "0.22.3";
 
   src = fetchurl {
     url = "http://download.enlightenment.org/rel/apps/enlightenment/${name}.tar.xz";
-    sha256 = "1q57fz57d0b26z06m1wiq7c1sniwh885b0vs02mk4jgwva46nyr0";
+    sha256 = "16zydv7z94aw3rywmb9gr8ya85k7b75h22wng95lfx1x0y1yb0ad";
   };
 
   nativeBuildInputs = [
@@ -34,6 +34,7 @@ stdenv.mkDerivation rec {
     libpthreadstubs
     gdbm
     pcre
+    mesa_noglu
   ] ++
     stdenv.lib.optionals stdenv.isLinux [ libcap ];
 
diff --git a/pkgs/desktops/enlightenment/enlightenment.suid-exes.patch b/pkgs/desktops/enlightenment/enlightenment.suid-exes.patch
index 7a89309c89f..f53f6ffa7ca 100644
--- a/pkgs/desktops/enlightenment/enlightenment.suid-exes.patch
+++ b/pkgs/desktops/enlightenment/enlightenment.suid-exes.patch
@@ -14,9 +14,9 @@
  for x in "$@" ; do
 -	chown root "$DESTDIR/$x"
 -	chmod a=rx,u+xs "$DESTDIR/$x"
-+	f="$DESTDIR/$x";
++	f="$DESTDIR$x";
 +	b=$(basename "$f".orig)
-+	mv -v "$f"{,.orig}
++	mv -v "$f" "$f".orig
 +	ln -sv /run/wrappers/bin/"$b" "$f"
 +	echo "    \"$b\".source = \"$f.orig\";" >> $w
  done
diff --git a/pkgs/desktops/enlightenment/ephoto.nix b/pkgs/desktops/enlightenment/ephoto.nix
index eef9eafae38..6a49852909e 100644
--- a/pkgs/desktops/enlightenment/ephoto.nix
+++ b/pkgs/desktops/enlightenment/ephoto.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, efl, pcre, curl, makeWrapper }:
+{ stdenv, fetchurl, pkgconfig, efl, pcre, makeWrapper }:
 
 stdenv.mkDerivation rec {
   name = "ephoto-${version}";
@@ -11,11 +11,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ (pkgconfig.override { vanilla = true; }) makeWrapper ];
 
-  buildInputs = [ efl pcre curl ];
-
-  postInstall = ''
-    wrapProgram $out/bin/ephoto --prefix LD_LIBRARY_PATH : ${curl.out}/lib
-  '';
+  buildInputs = [ efl pcre ];
 
   meta = {
     description = "Image viewer and editor written using the Enlightenment Foundation Libraries";
diff --git a/pkgs/desktops/enlightenment/rage.nix b/pkgs/desktops/enlightenment/rage.nix
index 9b3bdc90eb5..5de22522073 100644
--- a/pkgs/desktops/enlightenment/rage.nix
+++ b/pkgs/desktops/enlightenment/rage.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, meson, ninja, pkgconfig, efl, gst_all_1, pcre, curl, wrapGAppsHook }:
+{ stdenv, fetchurl, meson, ninja, pkgconfig, efl, gst_all_1, pcre, wrapGAppsHook }:
 
 stdenv.mkDerivation rec {
   name = "rage-${version}";
@@ -24,12 +24,7 @@ stdenv.mkDerivation rec {
     gst_all_1.gst-plugins-bad
     gst_all_1.gst-libav
     pcre
-    curl
- ];
-
-  postInstall = ''
-    wrapProgram $out/bin/rage --prefix LD_LIBRARY_PATH : ${curl.out}/lib
-  '';
+  ];
 
   meta = {
     description = "Video + Audio player along the lines of mplayer";
diff --git a/pkgs/desktops/enlightenment/terminology.nix b/pkgs/desktops/enlightenment/terminology.nix
index 935546efa86..3b00ab55835 100644
--- a/pkgs/desktops/enlightenment/terminology.nix
+++ b/pkgs/desktops/enlightenment/terminology.nix
@@ -1,15 +1,17 @@
-{ stdenv, fetchurl, pkgconfig, efl, pcre, curl, makeWrapper }:
+{ stdenv, fetchurl, meson, ninja, pkgconfig, efl, pcre, mesa_noglu, makeWrapper }:
 
 stdenv.mkDerivation rec {
   name = "terminology-${version}";
-  version = "1.1.1";
+  version = "1.2.1";
 
   src = fetchurl {
     url = "http://download.enlightenment.org/rel/apps/terminology/${name}.tar.xz";
-    sha256 = "05ncxvzb9rzkyjvd95hzn8lswqdwr8cix6rd54nqn9559jibh4ns";
+    sha256 = "1ii8332bl88l8md3gvz5dhi9bjpm6shyf14ck9kfyy7d56hp71mc";
   };
 
   nativeBuildInputs = [
+    meson
+    ninja
     (pkgconfig.override { vanilla = true; })
     makeWrapper
   ];
@@ -17,18 +19,12 @@ stdenv.mkDerivation rec {
   buildInputs = [
     efl
     pcre
-    curl
+    mesa_noglu
   ];
 
-  postInstall = ''
-    for f in $out/bin/*; do
-      wrapProgram $f --prefix LD_LIBRARY_PATH : ${curl.out}/lib
-    done
-  '';
-
   meta = {
-    description = "The best terminal emulator written with the EFL";
-    homepage = http://enlightenment.org/;
+    description = "Powerful terminal emulator based on EFL";
+    homepage = https://www.enlightenment.org/about-terminology;
     platforms = stdenv.lib.platforms.linux;
     license = stdenv.lib.licenses.bsd2;
     maintainers = with stdenv.lib.maintainers; [ matejc tstrobel ftrvxmtrx ];
diff --git a/pkgs/desktops/gnome-2/default.nix b/pkgs/desktops/gnome-2/default.nix
index cc453678525..80f2c9ce70d 100644
--- a/pkgs/desktops/gnome-2/default.nix
+++ b/pkgs/desktops/gnome-2/default.nix
@@ -1,4 +1,4 @@
-{ callPackage, self, stdenv, gettext, gvfs, libunique, bison2
+{ callPackage, self, stdenv, gettext, gvfs, libunique, bison2, rarian
 , libstartup_notification, overrides ? {} }:
 
 let overridden = set // overrides; set = with overridden; {
@@ -14,6 +14,7 @@ let overridden = set // overrides; set = with overridden; {
   gnome_desktop = gnome-desktop;
   gnome_settings_daemon = gnome-settings-daemon;
   gnome_control_center = gnome-control-center;
+  inherit rarian;
 
 #### PLATFORM
 
@@ -93,9 +94,6 @@ let overridden = set // overrides; set = with overridden; {
   # Removed from recent GNOME releases, but still required
   scrollkeeper = callPackage ./desktop/scrollkeeper { };
 
-  # scrollkeeper replacement
-  rarian = callPackage ./desktop/rarian { };
-
   zenity = callPackage ./desktop/zenity { };
 
   metacity = callPackage ./desktop/metacity { };
diff --git a/pkgs/desktops/gnome-2/desktop/gnome-control-center/default.nix b/pkgs/desktops/gnome-2/desktop/gnome-control-center/default.nix
index 7202be83908..276bc7e79c1 100644
--- a/pkgs/desktops/gnome-2/desktop/gnome-control-center/default.nix
+++ b/pkgs/desktops/gnome-2/desktop/gnome-control-center/default.nix
@@ -3,7 +3,7 @@
 , glib, gtk, pango, atk, gnome-doc-utils, intltool, GConf, libglade, libgnome, libgnomeui, libgnomekbd
 , librsvg, gnome_menus, gnome-desktop, gnome_panel, metacity, gnome-settings-daemon
 , libbonobo, libbonoboui, libgnomecanvas, libart_lgpl, gnome_vfs, ORBit2
-, libSM }:
+, libSM, docbook_xml_dtd_412 }:
 
 stdenv.mkDerivation {
   name = "gnome-control-center-2.32.1";
@@ -15,9 +15,9 @@ stdenv.mkDerivation {
 
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ dbus-glib libxml2Python libxslt libxklavier popt which python shared-mime-info desktop-file-utils
-                  gtk gnome-doc-utils intltool GConf libglade libgnomekbd libunique libtool bzip2 
+                  gtk gnome-doc-utils intltool GConf libglade libgnomekbd libunique libtool bzip2
                   libgnomeui librsvg gnome_menus gnome-desktop gnome_panel metacity gnome-settings-daemon
-                  libSM
+                  libSM docbook_xml_dtd_412
   ];
   configureFlags = "--disable-scrollkeeper";
 }
diff --git a/pkgs/desktops/gnome-2/desktop/gtksourceview/default.nix b/pkgs/desktops/gnome-2/desktop/gtksourceview/default.nix
index 05da0684641..6feaf13d88e 100644
--- a/pkgs/desktops/gnome-2/desktop/gtksourceview/default.nix
+++ b/pkgs/desktops/gnome-2/desktop/gtksourceview/default.nix
@@ -38,4 +38,9 @@ stdenv.mkDerivation rec {
   preConfigure = optionalString stdenv.isDarwin ''
     intltoolize --force
   '';
+
+  NIX_LDFLAGS = stdenv.lib.optionalString stdenv.isDarwin "-lintl";
+
+  doCheck = false; # requires X11 daemon
+
 }
diff --git a/pkgs/desktops/gnome-2/desktop/libgweather/default.nix b/pkgs/desktops/gnome-2/desktop/libgweather/default.nix
index 4b1daa3af90..47f2b8c90fb 100644
--- a/pkgs/desktops/gnome-2/desktop/libgweather/default.nix
+++ b/pkgs/desktops/gnome-2/desktop/libgweather/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchurl, pkgconfig, libxml2, gtk, intltool, GConf, libsoup, libtasn1, nettle, gmp }:
 
-assert stdenv.isLinux;
+assert stdenv ? glibc;
 
 stdenv.mkDerivation rec {
   name = "libgweather-2.30.3";
diff --git a/pkgs/desktops/gnome-2/desktop/rarian/default.nix b/pkgs/desktops/gnome-2/desktop/rarian/default.nix
deleted file mode 100644
index d2bcaa7c5e1..00000000000
--- a/pkgs/desktops/gnome-2/desktop/rarian/default.nix
+++ /dev/null
@@ -1,12 +0,0 @@
-{stdenv, fetchurl, pkgconfig, perl, perlXMLParser, libxml2, libxslt, docbook_xml_dtd_42}:
-
-stdenv.mkDerivation rec {
-  name = "rarian-0.8.1";
-  src = fetchurl {
-    url = "mirror://gnome/sources/rarian/0.8/${name}.tar.bz2";
-    sha256 = "aafe886d46e467eb3414e91fa9e42955bd4b618c3e19c42c773026b205a84577";
-  };
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ perl perlXMLParser libxml2 libxslt];
-  configureFlags = "--with-xml-catalog=${docbook_xml_dtd_42}/xml/dtd/docbook/docbook.cat";
-}
diff --git a/pkgs/desktops/gnome-2/desktop/zenity/default.nix b/pkgs/desktops/gnome-2/desktop/zenity/default.nix
index 55a5f9c0a23..a9b692aadf5 100644
--- a/pkgs/desktops/gnome-2/desktop/zenity/default.nix
+++ b/pkgs/desktops/gnome-2/desktop/zenity/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, pkgconfig, cairo, libxml2, libxslt, glib, gtk, pango, atk
-, gnome-doc-utils, intltool, libglade, libX11, which }:
+, gnome-doc-utils, intltool, libglade, libX11, which, docbook_xml_dtd_412 }:
 
 stdenv.mkDerivation {
   name = "zenity-2.32.1";
@@ -10,7 +10,9 @@ stdenv.mkDerivation {
   };
 
   configureFlags = "--disable-scrollkeeper";
-  buildInputs = [ gtk libglade libxml2 libxslt libX11 ];
+  buildInputs = [ gtk libglade libxml2 libxslt libX11 docbook_xml_dtd_412 ];
 
   nativeBuildInputs = [ pkgconfig intltool gnome-doc-utils which ];
+
+  doCheck = false; # fails, tries to access the net
 }
diff --git a/pkgs/desktops/gnome-2/platform/ORBit2/default.nix b/pkgs/desktops/gnome-2/platform/ORBit2/default.nix
index b8a41a529b0..ef18f0783ce 100644
--- a/pkgs/desktops/gnome-2/platform/ORBit2/default.nix
+++ b/pkgs/desktops/gnome-2/platform/ORBit2/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, glib, libIDL, libintlOrEmpty }:
+{ stdenv, fetchurl, pkgconfig, glib, libIDL, libintl }:
 
 stdenv.mkDerivation rec {
   name = "ORBit2-${minVer}.19";
@@ -9,8 +9,8 @@ stdenv.mkDerivation rec {
     sha256 = "0l3mhpyym9m5iz09fz0rgiqxl2ym6kpkwpsp1xrr4aa80nlh1jam";
   };
 
-  nativeBuildInputs = [ pkgconfig ];
-  propagatedBuildInputs = [ glib libIDL ] ++ libintlOrEmpty;
+  nativeBuildInputs = [ pkgconfig libintl ];
+  propagatedBuildInputs = [ glib libIDL ];
 
   outputs = [ "out" "dev" ];
 
diff --git a/pkgs/desktops/gnome-2/platform/gnome-vfs/default.nix b/pkgs/desktops/gnome-2/platform/gnome-vfs/default.nix
index 4ca0e791a2a..9d71b999d11 100644
--- a/pkgs/desktops/gnome-2/platform/gnome-vfs/default.nix
+++ b/pkgs/desktops/gnome-2/platform/gnome-vfs/default.nix
@@ -21,4 +21,6 @@ stdenv.mkDerivation rec {
   propagatedBuildInputs = [ GConf glib ];
 
   postPatch = "find . -name Makefile.in | xargs sed 's/-DG_DISABLE_DEPRECATED//g' -i ";
+
+  doCheck = false; # needs dbus daemon
 }
diff --git a/pkgs/desktops/gnome-2/platform/gtkglext/default.nix b/pkgs/desktops/gnome-2/platform/gtkglext/default.nix
index 3a316f71f08..834ec220158 100644
--- a/pkgs/desktops/gnome-2/platform/gtkglext/default.nix
+++ b/pkgs/desktops/gnome-2/platform/gtkglext/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, glib, gtk, libGLU_combined, pango, pangox_compat, xorg }:
+{ stdenv, fetchurl, fetchpatch, pkgconfig, glib, gtk, libGLU_combined, pango, pangox_compat, xorg }:
 
 stdenv.mkDerivation rec {
   name = "gtkglext-1.2.0";
@@ -12,9 +12,20 @@ stdenv.mkDerivation rec {
     [ pkgconfig glib gtk libGLU_combined pango libX11 libXmu ];
   propagatedBuildInputs = [ pangox_compat ];
 
-  # The library uses `GTK_WIDGET_REALIZED', `GTK_WIDGET_TOPLEVEL', and
-  # `GTK_WIDGET_NO_WINDOW', all of which appear to be deprecated nowadays.
-  CPPFLAGS = "-UGTK_DISABLE_DEPRECATED";
+  patches = [
+    # The library uses `GTK_WIDGET_REALIZED', `GTK_WIDGET_TOPLEVEL', and
+    # `GTK_WIDGET_NO_WINDOW', all of which appear to be deprecated nowadays.
+    (fetchpatch {
+      name = "02_fix_gtk-2.20_deprecated_symbols.diff";
+      url = https://git.gnome.org/browse/gtkglext/patch/?id=d8f285d1397f6c41099c67e668288eecc1cdae67;
+      sha256 = "1zxak73plhy3m6psil1q9ssvjh9aqrif7kcbcz69y480qfb4ja08";
+    })
+    # Fix build with glibc ≥ 2.27
+    (fetchurl {
+      url = https://salsa.debian.org/gewo/gtkglext/raw/3b002677c907890c7de002c9f5b4b3ec71d11b31/debian/patches/04_glibc2.27-ftbfs.diff;
+      sha256 = "1l1swkjkai6pnah23xfsfpbq2fgbhp5pzj3l0ybsx6b858cxqzj5";
+    })
+  ];
 
   meta = with stdenv.lib; {
     homepage = https://projects.gnome.org/gtkglext/;
diff --git a/pkgs/desktops/gnome-2/platform/libglade/default.nix b/pkgs/desktops/gnome-2/platform/libglade/default.nix
index 5003215529e..956fec1ddf1 100644
--- a/pkgs/desktops/gnome-2/platform/libglade/default.nix
+++ b/pkgs/desktops/gnome-2/platform/libglade/default.nix
@@ -14,6 +14,4 @@ stdenv.mkDerivation {
   buildInputs = [ gtk python gettext ];
 
   propagatedBuildInputs = [ libxml2 ];
-
-  NIX_LDFLAGS = stdenv.lib.optionalString stdenv.isDarwin "-lintl";
 }
diff --git a/pkgs/desktops/gnome-3/apps/accerciser/default.nix b/pkgs/desktops/gnome-3/apps/accerciser/default.nix
index a96d4f7a8ea..513948d3b51 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
+{ stdenv, fetchurl, pkgconfig, gnome3, gtk3, wrapGAppsHook, gobjectIntrospection
 , itstool, libxml2, python3Packages, at-spi2-core
 , dbus, intltool, libwnck3 }:
 
@@ -11,7 +11,10 @@ stdenv.mkDerivation rec {
     sha256 = "883306274442c7ecc076b24afca5190c835c40871ded1b9790da69347e9ca3c5";
   };
 
-  nativeBuildInputs = [ pkgconfig wrapGAppsHook itstool intltool ];
+  nativeBuildInputs = [
+    pkgconfig wrapGAppsHook itstool intltool
+    gobjectIntrospection # For setup hook
+  ];
   buildInputs = [
     gtk3 libxml2 python3Packages.python python3Packages.pyatspi
     python3Packages.pygobject3 python3Packages.ipython
diff --git a/pkgs/desktops/gnome-3/apps/bijiben/default.nix b/pkgs/desktops/gnome-3/apps/bijiben/default.nix
index eaf8528b6ff..5ed4b487bdd 100644
--- a/pkgs/desktops/gnome-3/apps/bijiben/default.nix
+++ b/pkgs/desktops/gnome-3/apps/bijiben/default.nix
@@ -1,51 +1,55 @@
-{ stdenv, meson, ninja, gettext, fetchurl, pkgconfig, glib
-, evolution-data-server, evolution, sqlite
+{ stdenv, meson, ninja, gettext, fetchurl, pkgconfig
 , wrapGAppsHook, itstool, desktop-file-utils
-, clutter-gtk, libuuid, webkitgtk, zeitgeist
-, gnome3, librsvg, gdk_pixbuf, libxml2 }:
+, glib, gtk3, evolution-data-server
+, libuuid, webkitgtk, zeitgeist
+, gnome3, libxml2 }:
 
-stdenv.mkDerivation rec {
+let
+  version = "3.28.2";
+in stdenv.mkDerivation rec {
   name = "bijiben-${version}";
-  version = "3.27.1";
 
   src = fetchurl {
     url = "mirror://gnome/sources/bijiben/${gnome3.versionBranch version}/${name}.tar.xz";
-    sha256 = "7b4623467f3cb745c4b268d6fb2d9da32cbc96ffb5b1bbf2a153b692e295ac64";
-  };
-
-  passthru = {
-    updateScript = gnome3.updateScript { packageName = "bijiben"; attrPath = "gnome3.bijiben"; };
+    sha256 = "1z1dqspjpyym27yav7pr813x7k0jdxifgj5rdxgp4m6cs1ixcvjs";
   };
 
   doCheck = true;
 
-  patches = [
-    ./no-update-icon-cache.patch
-  ];
-
   postPatch = ''
-    chmod +x meson_post_install.py
-    patchShebangs meson_post_install.py
+    chmod +x build-aux/meson_post_install.py
+    patchShebangs build-aux/meson_post_install.py
   '';
 
-  propagatedUserEnvPkgs = [ gnome3.gnome-themes-standard ];
-
   nativeBuildInputs = [
     meson ninja pkgconfig gettext itstool libxml2 desktop-file-utils wrapGAppsHook
   ];
-  buildInputs = [ glib clutter-gtk libuuid webkitgtk gnome3.tracker
-                  gnome3.gnome-online-accounts zeitgeist
-                  gnome3.gsettings-desktop-schemas
-                  gdk_pixbuf gnome3.defaultIconTheme librsvg
-                  evolution-data-server evolution sqlite ];
 
-  enableParallelBuilding = true;
+  buildInputs = [
+    glib gtk3 libuuid webkitgtk gnome3.tracker
+    gnome3.gnome-online-accounts zeitgeist
+    gnome3.gsettings-desktop-schemas
+    evolution-data-server
+    gnome3.defaultIconTheme
+  ];
+
+  mesonFlags = [
+    "-Dzeitgeist=true"
+    "-Dupdate_mimedb=false"
+  ];
+
+  passthru = {
+    updateScript = gnome3.updateScript {
+      packageName = "bijiben";
+      attrPath = "gnome3.bijiben";
+    };
+  };
 
   meta = with stdenv.lib; {
-    homepage = https://wiki.gnome.org/Apps/Bijiben;
     description = "Note editor designed to remain simple to use";
-    maintainers = gnome3.maintainers;
+    homepage = https://wiki.gnome.org/Apps/Bijiben;
     license = licenses.gpl3;
+    maintainers = gnome3.maintainers;
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/desktops/gnome-3/apps/bijiben/no-update-icon-cache.patch b/pkgs/desktops/gnome-3/apps/bijiben/no-update-icon-cache.patch
deleted file mode 100644
index c8b0043fb45..00000000000
--- a/pkgs/desktops/gnome-3/apps/bijiben/no-update-icon-cache.patch
+++ /dev/null
@@ -1,22 +0,0 @@
---- a/meson_post_install.py
-+++ b/meson_post_install.py
-@@ -7,10 +7,6 @@
- if not os.environ.get('DESTDIR'):
-   datadir = sys.argv[1]
- 
--  icondir = os.path.join(datadir, 'icons', 'hicolor')
--  print('Update icon cache...')
--  subprocess.call(['gtk-update-icon-cache', '-f', '-t', icondir])
--
-   schemadir = os.path.join(datadir, 'glib-2.0', 'schemas')
-   print('Compile gsettings schemas...')
-   subprocess.call(['glib-compile-schemas', schemadir])
-@@ -18,8 +14,3 @@
-   desktop_file = os.path.join(datadir, 'applications', 'org.gnome.bijiben.desktop')
-   print('Validate desktop file...')
-   subprocess.call(['desktop-file-validate', desktop_file])
--
--  if sys.argv[2] == 'update-mimedb':
--    mimedir = os.path.join(datadir, 'mime')
--    print('Update mime database...')
--    subprocess.call(['update-mime-database', mimedir])
diff --git a/pkgs/desktops/gnome-3/apps/cheese/default.nix b/pkgs/desktops/gnome-3/apps/cheese/default.nix
index 77ee086a950..9da265e75d6 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.26.0";
+  version = "3.28.0";
 
   src = fetchurl {
     url = "mirror://gnome/sources/cheese/${gnome3.versionBranch version}/${name}.tar.xz";
-    sha256 = "8ef52fc41de1817c4e4274e23eb7c29d28b64ae0f0d1fec52e184e99aea6c605";
+    sha256 = "06da5qc5hdvwwd5vkbgbx8pjx1l3mvr07yrnnv3v1hfc3wp7l7jw";
   };
 
   passthru = {
diff --git a/pkgs/desktops/gnome-3/apps/evolution/default.nix b/pkgs/desktops/gnome-3/apps/evolution/default.nix
index a1586754dbd..4470f11597e 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.26.5";
+  version = "3.28.2";
 in stdenv.mkDerivation rec {
   name = "evolution-${version}";
 
   src = fetchurl {
     url = "mirror://gnome/sources/evolution/${gnome3.versionBranch version}/${name}.tar.xz";
-    sha256 = "1j748f3407zavrh3bqw0mpf8f1i6b788kfjvwkk5bg7mm3c65n2g";
+    sha256 = "0lx9amjxmfnwc0089griyxms9prmb78wfnfvdsvli8yw1cns4i74";
   };
 
   propagatedUserEnvPkgs = [ gnome3.evolution-data-server ];
@@ -24,7 +24,7 @@ in stdenv.mkDerivation rec {
     gst_all_1.gstreamer gst_all_1.gst-plugins-base p11-kit
     nss nspr libnotify procps highlight gnome3.libgweather
     gnome3.gsettings-desktop-schemas
-    gnome3.libgnome-keyring gnome3.glib-networking openldap
+    gnome3.glib-networking openldap
   ];
 
   nativeBuildInputs = [ cmake ninja intltool itstool libxml2 pkgconfig wrapGAppsHook ];
diff --git a/pkgs/desktops/gnome-3/apps/file-roller/default.nix b/pkgs/desktops/gnome-3/apps/file-roller/default.nix
index 89f20ed6f15..80f2a825c12 100644
--- a/pkgs/desktops/gnome-3/apps/file-roller/default.nix
+++ b/pkgs/desktops/gnome-3/apps/file-roller/default.nix
@@ -1,30 +1,39 @@
-{ stdenv, fetchurl, glib, pkgconfig, gnome3, intltool, itstool, libxml2, libarchive
-, attr, bzip2, acl, wrapGAppsHook, librsvg, gdk_pixbuf, libnotify, nautilus }:
+{ stdenv, fetchurl, glib, gtk, meson, ninja, pkgconfig, gnome3, gettext, itstool, libxml2, libarchive
+, file, json-glib, wrapGAppsHook, desktop-file-utils, libnotify, nautilus, glibcLocales }:
 
 stdenv.mkDerivation rec {
   name = "file-roller-${version}";
-  version = "3.26.2";
+  version = "3.28.0";
 
   src = fetchurl {
     url = "mirror://gnome/sources/file-roller/${gnome3.versionBranch version}/${name}.tar.xz";
-    sha256 = "3e677b8e1c2f19aead69cf4fc419a19fc3373aaf5d7bf558b4f077f10bbba8a5";
+    sha256 = "15pn2m80x45bzibig4zrqybnbr0n1f9wpqx7f2p6difldns3jwf1";
   };
 
-  passthru = {
-    updateScript = gnome3.updateScript { packageName = "file-roller"; attrPath = "gnome3.file-roller"; };
-  };
+  LANG = "en_US.UTF-8"; # postinstall.py
+
+  nativeBuildInputs = [ meson ninja gettext itstool pkgconfig libxml2 wrapGAppsHook glibcLocales desktop-file-utils ];
 
-  nativeBuildInputs = [ pkgconfig wrapGAppsHook ];
+  buildInputs = [ glib gtk json-glib libarchive file gnome3.defaultIconTheme libnotify nautilus ];
 
-  buildInputs = [ glib gnome3.gtk intltool itstool libxml2 libarchive
-                  gnome3.defaultIconTheme attr bzip2 acl gdk_pixbuf librsvg
-                  gnome3.dconf libnotify nautilus ];
+  PKG_CONFIG_LIBNAUTILUS_EXTENSION_EXTENSIONDIR = "lib/nautilus/extensions-3.0";
 
-  installFlags = [ "nautilus_extensiondir=$(out)/lib/nautilus/extensions-3.0" ];
+  postPatch = ''
+    chmod +x postinstall.py # patchShebangs requires executable file
+    patchShebangs postinstall.py
+  '';
+
+  passthru = {
+    updateScript = gnome3.updateScript {
+      packageName = "file-roller";
+      attrPath = "gnome3.file-roller";
+    };
+  };
 
   meta = with stdenv.lib; {
     homepage = https://wiki.gnome.org/Apps/FileRoller;
     description = "Archive manager for the GNOME desktop environment";
+    license = licenses.gpl2Plus;
     platforms = platforms.linux;
     maintainers = gnome3.maintainers;
   };
diff --git a/pkgs/desktops/gnome-3/apps/gedit/default.nix b/pkgs/desktops/gnome-3/apps/gedit/default.nix
index d8f272931d9..919ebdd77d1 100644
--- a/pkgs/desktops/gnome-3/apps/gedit/default.nix
+++ b/pkgs/desktops/gnome-3/apps/gedit/default.nix
@@ -1,35 +1,34 @@
-{ stdenv, intltool, fetchurl, enchant, isocodes
+{ stdenv, intltool, fetchurl
 , pkgconfig, gtk3, glib
-, bash, wrapGAppsHook, itstool, libsoup, libxml2
-, gnome3, librsvg, gdk_pixbuf, file, gspell }:
+, wrapGAppsHook, itstool, libsoup, libxml2
+, gnome3, gspell }:
 
 stdenv.mkDerivation rec {
   name = "gedit-${version}";
-  version = "3.22.1";
+  version = "3.28.1";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gedit/${gnome3.versionBranch version}/${name}.tar.xz";
-    sha256 = "aa7bc3618fffa92fdb7daf2f57152e1eb7962e68561a9c92813d7bbb7fc9492b";
+    sha256 = "0791r07d3ixmmfk68lvhp3d5i4vnlrnx10csxwgpfqyfb04vwx7i";
   };
 
-  passthru = {
-    updateScript = gnome3.updateScript { packageName = "gedit"; attrPath = "gnome3.gedit"; };
-  };
-
-  propagatedUserEnvPkgs = [ gnome3.gnome-themes-standard ];
+  nativeBuildInputs = [ pkgconfig wrapGAppsHook intltool itstool libxml2 ];
 
-  nativeBuildInputs = [ pkgconfig wrapGAppsHook ];
-
-  buildInputs = [ gtk3 glib intltool itstool enchant isocodes
-                  gdk_pixbuf gnome3.defaultIconTheme librsvg libsoup
-                  gnome3.libpeas gnome3.gtksourceview libxml2
-                  gnome3.gsettings-desktop-schemas gnome3.dconf file gspell ];
+  buildInputs = [
+    gtk3 glib
+    gnome3.defaultIconTheme libsoup
+    gnome3.libpeas gnome3.gtksourceview
+    gnome3.gsettings-desktop-schemas gspell
+  ];
 
   enableParallelBuilding = true;
 
-  preFixup = ''
-    gappsWrapperArgs+=(--prefix LD_LIBRARY_PATH : "${stdenv.lib.makeLibraryPath [ gnome3.libpeas gnome3.gtksourceview ]}")
-  '';
+  passthru = {
+    updateScript = gnome3.updateScript {
+      packageName = "gedit";
+      attrPath = "gnome3.gedit";
+    };
+  };
 
   meta = with stdenv.lib; {
     homepage = https://wiki.gnome.org/Apps/Gedit;
diff --git a/pkgs/desktops/gnome-3/apps/glade/default.nix b/pkgs/desktops/gnome-3/apps/glade/default.nix
index 3a294df3ffe..a1777137c01 100644
--- a/pkgs/desktops/gnome-3/apps/glade/default.nix
+++ b/pkgs/desktops/gnome-3/apps/glade/default.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   name = "glade-${version}";
-  version = "3.20.4";
+  version = "3.22.1";
 
   src = fetchurl {
     url = "mirror://gnome/sources/glade/${gnome3.versionBranch version}/${name}.tar.xz";
-    sha256 = "1n9m4s81jd9fi60mrxsvlk4fi2vqrqmp95azsxp9jnqn6pkdz0jb";
+    sha256 = "16p38xavpid51qfy0s26n0n21f9ws1w9k5s65bzh1w7ay8p9my6z";
   };
 
   passthru = {
diff --git a/pkgs/desktops/gnome-3/apps/gnome-boxes/default.nix b/pkgs/desktops/gnome-3/apps/gnome-boxes/default.nix
index 674aa84dbc2..5b91ded959b 100644
--- a/pkgs/desktops/gnome-3/apps/gnome-boxes/default.nix
+++ b/pkgs/desktops/gnome-3/apps/gnome-boxes/default.nix
@@ -1,51 +1,60 @@
-{ stdenv, fetchurl, makeWrapper, pkgconfig, gettext, itstool, libvirt-glib
+{ stdenv, fetchurl, meson, ninja, wrapGAppsHook, pkgconfig, gettext, itstool, libvirt-glib
 , glib, gobjectIntrospection, libxml2, gtk3, gtkvnc, libvirt, spice-gtk
 , 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
-, libcap_ng, numactl, xen, libapparmor
+, libcap_ng, numactl, xen, libapparmor, json-glib, webkitgtk
 }:
 
 # TODO: ovirt (optional)
 
-stdenv.mkDerivation rec {
+let
+  version = "3.28.3";
+in stdenv.mkDerivation rec {
   name = "gnome-boxes-${version}";
-  version = "3.26.2";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-boxes/${gnome3.versionBranch version}/${name}.tar.xz";
-    sha256 = "d00fc083182963dc1bbdee5e743ceb28ba03fbf5a9ea87c78d29dca5fb5b9210";
+    sha256 = "05x9c7w60cafcd3bdkr68ra8pbh7m8pciw67871hckaqafw76q1d";
   };
 
-  passthru = {
-    updateScript = gnome3.updateScript { packageName = "gnome-boxes"; attrPath = "gnome3.gnome-boxes"; };
-  };
-
-  enableParallelBuilding = true;
-
   doCheck = true;
 
   nativeBuildInputs = [
-    makeWrapper pkgconfig gettext
+    meson ninja vala pkgconfig gettext itstool wrapGAppsHook gobjectIntrospection desktop-file-utils
   ];
 
+  # Required for USB redirection PolicyKit rules file
+  propagatedUserEnvPkgs = [ spice-gtk ];
+
   buildInputs = [
-    itstool libvirt-glib glib gobjectIntrospection libxml2 gtk3 gtkvnc
-    libvirt spice-gtk spice-protocol libsoup libosinfo systemd
-    tracker tracker-miners vala libcap yajl gmp gdbm cyrus_sasl libusb libarchive
-    gnome3.defaultIconTheme librsvg desktop-file-utils acl libgudev libsecret
+    libvirt-glib glib gtk3 gtkvnc 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
     libcap_ng numactl xen libapparmor
   ];
 
   preFixup = ''
-    for prog in "$out/bin/"*; do
-        wrapProgram "$prog" \
-            --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
-            --prefix XDG_DATA_DIRS : "${gnome3.gnome-themes-standard}/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH" \
-            --prefix PATH : "${stdenv.lib.makeBinPath [ mtools cdrkit libcdio qemu ]}"
-    done
+    gappsWrapperArgs+=(--prefix PATH : "${stdenv.lib.makeBinPath [ mtools cdrkit libcdio qemu ]}")
+  '';
+
+  mesonFlags = [
+    "-Dovirt=false"
+  ];
+
+  postPatch = ''
+    chmod +x build-aux/post_install.py # patchShebangs requires executable file
+    patchShebangs build-aux/post_install.py
   '';
 
+  passthru = {
+    updateScript = gnome3.updateScript {
+      packageName = "gnome-boxes";
+      attrPath = "gnome3.gnome-boxes";
+    };
+  };
+
   meta = with stdenv.lib; {
     description = "Simple GNOME 3 application to access remote or virtual systems";
     homepage = https://wiki.gnome.org/action/show/Apps/Boxes;
diff --git a/pkgs/desktops/gnome-3/apps/gnome-calendar/default.nix b/pkgs/desktops/gnome-3/apps/gnome-calendar/default.nix
index 4da7db42ab9..347cd7a16ae 100644
--- a/pkgs/desktops/gnome-3/apps/gnome-calendar/default.nix
+++ b/pkgs/desktops/gnome-3/apps/gnome-calendar/default.nix
@@ -1,25 +1,28 @@
-{ stdenv, fetchurl, meson, ninja, pkgconfig, wrapGAppsHook
+{ stdenv, fetchurl, meson, ninja, pkgconfig, wrapGAppsHook, libdazzle, libgweather, geoclue2, geocode-glib
 , gettext, libxml2, gnome3, gtk, evolution-data-server, libsoup
 , glib, gnome-online-accounts, gsettings-desktop-schemas }:
 
-stdenv.mkDerivation rec {
-  name = "gnome-calendar-${version}";
-  version = "3.26.3";
+let
+  pname = "gnome-calendar";
+  version = "3.28.2";
+in stdenv.mkDerivation rec {
+  name = "${pname}-${version}";
 
   src = fetchurl {
-    url = "mirror://gnome/sources/gnome-calendar/${gnome3.versionBranch version}/${name}.tar.xz";
-    sha256 = "1clnfvvsaqw9vpxrs6qrxzmgpaw9x2nkjik2x2vwvm07pdvhddxn";
+    url = "mirror://gnome/sources/${pname}/${gnome3.versionBranch version}/${name}.tar.xz";
+    sha256 = "0x6wxngf8fkwgbl6x7rzp0srrb43rm55klpb2vfjk2hahpbjvxyw";
   };
 
   passthru = {
-    updateScript = gnome3.updateScript { packageName = "gnome-calendar"; attrPath = "gnome3.gnome-calendar"; };
+    updateScript = gnome3.updateScript {
+      packageName = pname;
+      attrPath = "gnome3.${pname}";
+    };
   };
 
-  NIX_CFLAGS_COMPILE = "-I${gnome3.glib.dev}/include/gio-unix-2.0";
-
   nativeBuildInputs = [ meson ninja pkgconfig gettext libxml2 wrapGAppsHook ];
   buildInputs = [
-    gtk evolution-data-server libsoup glib gnome-online-accounts
+    gtk evolution-data-server libsoup glib gnome-online-accounts libdazzle libgweather geoclue2 geocode-glib
     gsettings-desktop-schemas gnome3.defaultIconTheme
   ];
 
diff --git a/pkgs/desktops/gnome-3/apps/gnome-characters/default.nix b/pkgs/desktops/gnome-3/apps/gnome-characters/default.nix
index 5b36ea83ee1..b07417ecc35 100644
--- a/pkgs/desktops/gnome-3/apps/gnome-characters/default.nix
+++ b/pkgs/desktops/gnome-3/apps/gnome-characters/default.nix
@@ -1,23 +1,32 @@
-{ stdenv, fetchurl, pkgconfig, gnome3, gtk3, wrapGAppsHook
-, intltool, gobjectIntrospection, gjs, gdk_pixbuf, librsvg }:
+{ stdenv, fetchurl, meson, ninja, pkgconfig, gettext, gnome3, glib, gtk3, pango, wrapGAppsHook
+, gobjectIntrospection, gjs, gdk_pixbuf, librsvg, libunistring }:
 
 stdenv.mkDerivation rec {
   name = "gnome-characters-${version}";
-  version = "3.26.2";
+  version = "3.28.2";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-characters/${gnome3.versionBranch version}/${name}.tar.xz";
-    sha256 = "69d0218b4ce16451bef0e6ee9f9f18f5b7851aa3a758b13315d592b077374f7b";
+    sha256 = "04nmn23iw65wsczx1l6fa4jfdsv65klb511p39zj1pgwyisgj5l0";
   };
 
+  postPatch = ''
+    chmod +x meson_post_install.py # patchShebangs requires executable file
+    patchShebangs meson_post_install.py
+  '';
+
   passthru = {
-    updateScript = gnome3.updateScript { packageName = "gnome-characters"; attrPath = "gnome3.gnome-characters"; };
+    updateScript = gnome3.updateScript {
+      packageName = "gnome-characters";
+      attrPath = "gnome3.gnome-characters";
+    };
   };
 
-  nativeBuildInputs = [ pkgconfig wrapGAppsHook intltool ];
-  buildInputs = [
-    gtk3 gjs gdk_pixbuf gobjectIntrospection
-    librsvg gnome3.gsettings-desktop-schemas gnome3.defaultIconTheme
+  nativeBuildInputs = [ meson ninja pkgconfig gettext wrapGAppsHook gobjectIntrospection ];
+  buildInputs = [ glib gtk3 gjs pango gnome3.gsettings-desktop-schemas gnome3.defaultIconTheme libunistring ];
+
+  mesonFlags = [
+    "-Ddbus_service_dir=share/dbus-1/services"
   ];
 
   meta = with stdenv.lib; {
diff --git a/pkgs/desktops/gnome-3/apps/gnome-clocks/default.nix b/pkgs/desktops/gnome-3/apps/gnome-clocks/default.nix
index 47fd071bf83..78366755ad6 100644
--- a/pkgs/desktops/gnome-3/apps/gnome-clocks/default.nix
+++ b/pkgs/desktops/gnome-3/apps/gnome-clocks/default.nix
@@ -1,32 +1,41 @@
 { stdenv, fetchurl
 , meson, ninja, gettext, pkgconfig, wrapGAppsHook, itstool, desktop-file-utils
-, vala,  gtk3, glib, gsound
+, vala, gobjectIntrospection, libxml2, gtk3, glib, gsound, sound-theme-freedesktop
 , gnome3, gdk_pixbuf, geoclue2, libgweather }:
 
 stdenv.mkDerivation rec {
   name = "gnome-clocks-${version}";
-  version = "3.26.1";
+  version = "3.28.0";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-clocks/${gnome3.versionBranch version}/${name}.tar.xz";
-    sha256 = "2bd8d8df1d6aa0feddd4afc15d84b1308202fda59a3c3be42e3bce7e9ccd11f7";
+    sha256 = "1dd739vchb592mck1dia2hkywn4213cpramyqzgmlmwv8z80p3nl";
   };
 
   passthru = {
-    updateScript = gnome3.updateScript { packageName = "gnome-clocks"; attrPath = "gnome3.gnome-clocks"; };
+    updateScript = gnome3.updateScript {
+      packageName = "gnome-clocks";
+      attrPath = "gnome3.gnome-clocks";
+    };
   };
 
   doCheck = true;
 
   nativeBuildInputs = [
-    vala meson ninja pkgconfig gettext itstool wrapGAppsHook desktop-file-utils
+    vala meson ninja pkgconfig gettext itstool wrapGAppsHook desktop-file-utils libxml2
+    gobjectIntrospection # for finding vapi files
   ];
   buildInputs = [
     gtk3 glib gnome3.gsettings-desktop-schemas gdk_pixbuf gnome3.defaultIconTheme
     gnome3.gnome-desktop gnome3.geocode-glib geoclue2 libgweather gsound
   ];
 
-  prePatch = "patchShebangs build-aux/";
+  preFixup = ''
+    gappsWrapperArgs+=(
+      # Fallback sound theme
+      --prefix XDG_DATA_DIRS : "${sound-theme-freedesktop}/share"
+    )
+  '';
 
   meta = with stdenv.lib; {
     homepage = https://wiki.gnome.org/Apps/Clocks;
diff --git a/pkgs/desktops/gnome-3/apps/gnome-documents/default.nix b/pkgs/desktops/gnome-3/apps/gnome-documents/default.nix
index 8e90c0c516a..3bd3222dc0c 100644
--- a/pkgs/desktops/gnome-3/apps/gnome-documents/default.nix
+++ b/pkgs/desktops/gnome-3/apps/gnome-documents/default.nix
@@ -1,43 +1,52 @@
-{ stdenv, gettext, fetchurl, evince, gjs
+{ stdenv, meson, ninja, gettext, fetchurl, evince, gjs
 , pkgconfig, gtk3, glib, tracker, tracker-miners
-, itstool, libxslt, webkitgtk
+, itstool, libxslt, webkitgtk, libgdata, gnome-online-accounts
+, gnome-desktop, libzapojit, libgepub
 , gnome3, librsvg, gdk_pixbuf, libsoup, docbook_xsl
 , gobjectIntrospection, json-glib, inkscape, poppler_utils
 , gmp, desktop-file-utils, wrapGAppsHook }:
 
 stdenv.mkDerivation rec {
   name = "gnome-documents-${version}";
-  version = "3.26.2";
+  version = "3.28.0";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-documents/${gnome3.versionBranch version}/${name}.tar.xz";
-    sha256 = "0q7bp0mvmhqmsvm5sjavm46y7sz43na62d1hrl62vg19hdqr9ir4";
-  };
-
-  passthru = {
-    updateScript = gnome3.updateScript { packageName = "gnome-documents"; attrPath = "gnome3.gnome-documents"; };
+    sha256 = "174q59gk9j0083bvv8sd2k66xrd4lydy2rcqbwsbzsy22fbhwcha";
   };
 
   doCheck = true;
 
-  configureFlags = [ "--enable-getting-started" ];
-
-  nativeBuildInputs = [ pkgconfig gettext itstool libxslt desktop-file-utils docbook_xsl wrapGAppsHook ];
-  buildInputs = [ gtk3 glib inkscape poppler_utils
-                  gnome3.gsettings-desktop-schemas gmp
-                  gdk_pixbuf gnome3.defaultIconTheme librsvg evince
-                  libsoup webkitgtk gjs gobjectIntrospection gnome3.rest
-                  tracker tracker-miners gnome3.libgdata gnome3.gnome-online-accounts
-                  gnome3.gnome-desktop gnome3.libzapojit json-glib gnome3.libgepub ];
-
-  enableParallelBuilding = true;
+  mesonFlags = [ "-Dgetting-started=true" ];
+
+  nativeBuildInputs = [
+    meson ninja pkgconfig gettext itstool libxslt desktop-file-utils docbook_xsl wrapGAppsHook
+    inkscape poppler_utils # building getting started
+  ];
+  buildInputs = [
+    gtk3 glib gnome3.gsettings-desktop-schemas
+    gdk_pixbuf gnome3.defaultIconTheme evince
+    libsoup webkitgtk gjs gobjectIntrospection
+    tracker tracker-miners libgdata
+    gnome-desktop libzapojit libgepub
+  ];
+
+  postPatch = ''
+    chmod +x meson_post_install.py # patchShebangs requires executable file
+    patchShebangs meson_post_install.py
+  '';
 
   preFixup = ''
     substituteInPlace $out/bin/gnome-documents --replace gapplication "${glib.dev}/bin/gapplication"
-
-    gappsWrapperArgs+=(--run 'if [ -z "$XDG_CACHE_DIR" ]; then XDG_CACHE_DIR=$HOME/.cache; fi; if [ -w "$XDG_CACHE_DIR/.." ]; then mkdir -p "$XDG_CACHE_DIR/gnome-documents"; fi')
   '';
 
+  passthru = {
+    updateScript = gnome3.updateScript {
+      packageName = "gnome-documents";
+      attrPath = "gnome3.gnome-documents";
+    };
+  };
+
   meta = with stdenv.lib; {
     homepage = https://wiki.gnome.org/Apps/Documents;
     description = "Document manager application designed to work with GNOME 3";
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 8531fc1c7c0..b3ede702890 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.26.2";
+  version = "3.28.1";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-getting-started-docs/${gnome3.versionBranch version}/${name}.tar.xz";
-    sha256 = "34f45f6b5759a46547e834f1b706ae7485fd94e1af5354154420d8910ec67775";
+    sha256 = "0x60aava6ba4xliy4p4i6jm5d2nq8hx9aqgnaw4d34fvmcpcy5w0";
   };
 
   passthru = {
diff --git a/pkgs/desktops/gnome-3/apps/gnome-logs/default.nix b/pkgs/desktops/gnome-3/apps/gnome-logs/default.nix
index 9f6c3153afb..614308f7b63 100644
--- a/pkgs/desktops/gnome-3/apps/gnome-logs/default.nix
+++ b/pkgs/desktops/gnome-3/apps/gnome-logs/default.nix
@@ -1,26 +1,26 @@
 { stdenv, fetchurl, pkgconfig, gnome3, gtk3, wrapGAppsHook
-, intltool, itstool, libxml2, systemd }:
+, gettext, itstool, libxml2, libxslt, docbook_xsl, docbook_xml_dtd_43, systemd }:
 
 stdenv.mkDerivation rec {
   name = "gnome-logs-${version}";
-  version = "3.26.3";
+  version = "3.28.2";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-logs/${gnome3.versionBranch version}/${name}.tar.xz";
-    sha256 = "0cbzl38haz1m6y7gcbvvab0jcrva781izhp8xv2dzmma4xlzdw0k";
-  };
-
-  passthru = {
-    updateScript = gnome3.updateScript { packageName = "gnome-logs"; attrPath = "gnome3.gnome-logs"; };
+    sha256 = "0qqmw55rrxdz2n9xwn85nm7j9y9i85fxlxjfgv683mbpdyv0gbg0";
   };
 
   configureFlags = [ "--disable-tests" ];
 
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [
-    gtk3 wrapGAppsHook intltool itstool libxml2
-    systemd gnome3.gsettings-desktop-schemas gnome3.defaultIconTheme
-  ];
+  nativeBuildInputs = [ pkgconfig wrapGAppsHook gettext itstool libxml2 libxslt docbook_xsl docbook_xml_dtd_43 ];
+  buildInputs = [ gtk3 systemd gnome3.gsettings-desktop-schemas gnome3.defaultIconTheme ];
+
+  passthru = {
+    updateScript = gnome3.updateScript {
+      packageName = "gnome-logs";
+      attrPath = "gnome3.gnome-logs";
+    };
+  };
 
   meta = with stdenv.lib; {
     homepage = https://wiki.gnome.org/Apps/Logs;
diff --git a/pkgs/desktops/gnome-3/apps/gnome-maps/default.nix b/pkgs/desktops/gnome-3/apps/gnome-maps/default.nix
index c03397a40d8..cade274e69a 100644
--- a/pkgs/desktops/gnome-3/apps/gnome-maps/default.nix
+++ b/pkgs/desktops/gnome-3/apps/gnome-maps/default.nix
@@ -1,31 +1,31 @@
 { stdenv, fetchurl, intltool, pkgconfig, gnome3, gtk3
 , gobjectIntrospection, gdk_pixbuf, librsvg, libgweather, autoreconfHook
 , geoclue2, wrapGAppsHook, folks, libchamplain, gfbgraph, file, libsoup
-, webkitgtk }:
+, webkitgtk, gjs, libgee, geocode-glib, evolution-data-server, gnome-online-accounts }:
 
-stdenv.mkDerivation rec {
-  name = "gnome-maps-${version}";
-  version = "3.26.2";
+let
+  pname = "gnome-maps";
+  version = "3.28.2";
+in stdenv.mkDerivation rec {
+  name = "${pname}-${version}";
 
   src = fetchurl {
-    url = "mirror://gnome/sources/gnome-maps/${gnome3.versionBranch version}/${name}.tar.xz";
-    sha256 = "031d5c4a1aa79f1fbaf87f01fb790f7aab1d8dcd5d061cb5daf0fa96eaa18050";
-  };
-
-  passthru = {
-    updateScript = gnome3.updateScript { packageName = "gnome-maps"; attrPath = "gnome3.gnome-maps"; };
+    url = "mirror://gnome/sources/${pname}/${gnome3.versionBranch version}/${name}.tar.xz";
+    sha256 = "1yzi08a9316jplgsl2z0qzlqxhghyqcjhv0m6i94wcain4mxk1z7";
   };
 
   doCheck = true;
 
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ intltool gobjectIntrospection wrapGAppsHook
-                  gtk3 geoclue2 gnome3.gjs gnome3.libgee folks gfbgraph
-                  gnome3.geocode-glib libchamplain file libsoup
-                  gdk_pixbuf librsvg libgweather autoreconfHook
-                  gnome3.gsettings-desktop-schemas gnome3.evolution-data-server
-                  gnome3.gnome-online-accounts gnome3.defaultIconTheme
-                  webkitgtk ];
+  nativeBuildInputs = [ intltool wrapGAppsHook file autoreconfHook pkgconfig ];
+  buildInputs = [
+    gobjectIntrospection
+    gtk3 geoclue2 gjs libgee folks gfbgraph
+    geocode-glib libchamplain libsoup
+    gdk_pixbuf librsvg libgweather
+    gnome3.gsettings-desktop-schemas evolution-data-server
+    gnome-online-accounts gnome3.defaultIconTheme
+    webkitgtk
+  ];
 
   # The .service file isn't wrapped with the correct environment
   # so misses GIR files when started. By re-pointing from the gjs
@@ -37,6 +37,13 @@ stdenv.mkDerivation rec {
                   "Exec=$out/bin/gnome-maps"
   '';
 
+  passthru = {
+    updateScript = gnome3.updateScript {
+      packageName = pname;
+      attrPath = "gnome3.${pname}";
+    };
+  };
+
   meta = with stdenv.lib; {
     homepage = https://wiki.gnome.org/Apps/Maps;
     description = "A map application for GNOME 3";
diff --git a/pkgs/desktops/gnome-3/apps/gnome-music/default.nix b/pkgs/desktops/gnome-3/apps/gnome-music/default.nix
index 4053d287cc8..9aa8eee0bca 100644
--- a/pkgs/desktops/gnome-3/apps/gnome-music/default.nix
+++ b/pkgs/desktops/gnome-3/apps/gnome-music/default.nix
@@ -1,35 +1,46 @@
-{ stdenv, intltool, fetchurl, gdk_pixbuf, tracker, tracker-miners
-, libxml2, python3Packages, libnotify, wrapGAppsHook
-, pkgconfig, gtk3, glib, cairo
-, makeWrapper, itstool, gnome3, librsvg, gst_all_1 }:
+{ stdenv, meson, ninja, gettext, fetchurl, gdk_pixbuf, tracker
+, libxml2, python3, libnotify, wrapGAppsHook, libmediaart
+, gobjectIntrospection, gnome-online-accounts, grilo, grilo-plugins
+, pkgconfig, gtk3, glib, cairo, desktop-file-utils, appstream-glib
+, itstool, gnome3, gst_all_1 }:
 
-stdenv.mkDerivation rec {
-  name = "gnome-music-${version}";
-  version = "3.26.2";
+python3.pkgs.buildPythonApplication rec {
+  pname = "gnome-music";
+  version = "3.28.2";
+
+  format = "other";
 
   src = fetchurl {
-    url = "mirror://gnome/sources/gnome-music/${gnome3.versionBranch version}/${name}.tar.xz";
-    sha256 = "0mam7d0lzl7ljd9lym9gkvqwvddic122sdmcgpjir58pmmg9bx8b";
+    url = "mirror://gnome/sources/${pname}/${gnome3.versionBranch version}/${pname}-${version}.tar.xz";
+    sha256 = "0xkbw9cp002vwwq6vlsbkahz9xbwpkyydd9cvh7az379sdlz4rid";
   };
 
-  passthru = {
-    updateScript = gnome3.updateScript { packageName = "gnome-music"; attrPath = "gnome3.gnome-music"; };
-  };
+  nativeBuildInputs = [ meson ninja gettext itstool pkgconfig libxml2 wrapGAppsHook desktop-file-utils appstream-glib gobjectIntrospection ];
+  buildInputs = with gst_all_1; [
+    gtk3 glib libmediaart gnome-online-accounts
+    gdk_pixbuf gnome3.defaultIconTheme python3
+    grilo grilo-plugins libnotify
+    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 ];
 
-  propagatedUserEnvPkgs = [ gnome3.gnome-themes-standard ];
 
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ gtk3 glib intltool itstool gnome3.libmediaart
-                  gdk_pixbuf gnome3.defaultIconTheme librsvg python3Packages.python
-                  gnome3.grilo gnome3.grilo-plugins gnome3.totem-pl-parser libxml2 libnotify
-                  python3Packages.pycairo python3Packages.dbus-python python3Packages.requests
-                  python3Packages.pygobject3 gst_all_1.gstreamer gst_all_1.gst-plugins-base
-                  gst_all_1.gst-plugins-good gst_all_1.gst-plugins-bad wrapGAppsHook
-                  gnome3.gsettings-desktop-schemas makeWrapper tracker tracker-miners ];
+  postPatch = ''
+    for f in meson_post_conf.py meson_post_install.py; do
+      chmod +x $f
+      patchShebangs $f
+    done
+  '';
 
-  wrapPrefixVariables = [ "PYTHONPATH" ];
+  doCheck = false;
 
-  enableParallelBuilding = true;
+  passthru = {
+    updateScript = gnome3.updateScript {
+      packageName = pname;
+      attrPath = "gnome3.${pname}";
+    };
+  };
 
   meta = with stdenv.lib; {
     homepage = https://wiki.gnome.org/Apps/Music;
diff --git a/pkgs/desktops/gnome-3/apps/gnome-photos/default.nix b/pkgs/desktops/gnome-3/apps/gnome-photos/default.nix
index 2837e1d093f..2163e6e875e 100644
--- a/pkgs/desktops/gnome-3/apps/gnome-photos/default.nix
+++ b/pkgs/desktops/gnome-3/apps/gnome-photos/default.nix
@@ -1,43 +1,48 @@
-{ stdenv, intltool, fetchurl, exempi, libxml2
+{ stdenv, gettext, fetchurl, libxml2, libgdata
 , pkgconfig, gtk3, glib, tracker, tracker-miners
-, makeWrapper, itstool, gegl, babl, lcms2
-, desktop-file-utils, gmp, libmediaart, wrapGAppsHook
-, gnome3, librsvg, gdk_pixbuf, libexif, gexiv2, geocode-glib
+, itstool, gegl, babl, libdazzle, gfbgraph, grilo-plugins
+, grilo, gnome-online-accounts
+, desktop-file-utils, wrapGAppsHook
+, gnome3, gdk_pixbuf, gexiv2, geocode-glib
 , dleyna-renderer }:
 
-stdenv.mkDerivation rec {
-  name = "gnome-photos-${version}";
-  version = "3.26.3";
+let
+  pname = "gnome-photos";
+  version = "3.28.0";
+in stdenv.mkDerivation rec {
+  name = "${pname}-${version}";
 
   src = fetchurl {
-    url = "mirror://gnome/sources/gnome-photos/${gnome3.versionBranch version}/${name}.tar.xz";
-    sha256 = "028de4c8662b7d1dc3ca6c3fbe3ce7f6bb90dd097708e99f235a409756dbadab";
-  };
-
-  passthru = {
-    updateScript = gnome3.updateScript { packageName = "gnome-photos"; attrPath = "gnome3.gnome-photos"; };
+    url = "mirror://gnome/sources/${pname}/${gnome3.versionBranch version}/${name}.tar.xz";
+    sha256 = "1n280j7crgwlzyf09j66f1zkrnnhfrr8pshn824njs1xyk3g0q11";
   };
 
   # doCheck = true;
 
-  NIX_CFLAGS_COMPILE = "-I${gnome3.glib.dev}/include/gio-unix-2.0";
+  nativeBuildInputs = [ pkgconfig gettext itstool libxml2 desktop-file-utils wrapGAppsHook ];
+  buildInputs = [
+    gtk3 glib gegl babl libgdata libdazzle
+    gnome3.gsettings-desktop-schemas
+    gdk_pixbuf gnome3.defaultIconTheme
+    gfbgraph grilo-plugins grilo
+    gnome-online-accounts tracker
+    gexiv2 geocode-glib dleyna-renderer
+    tracker-miners # For 'org.freedesktop.Tracker.Miner.Files' GSettings schema
+  ];
 
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ gtk3 glib intltool itstool gegl babl gnome3.libgdata
-                  gnome3.gsettings-desktop-schemas makeWrapper gmp libmediaart
-                  gdk_pixbuf gnome3.defaultIconTheme librsvg exempi
-                  gnome3.gfbgraph gnome3.grilo-plugins gnome3.grilo
-                  gnome3.gnome-online-accounts gnome3.gnome-desktop
-                  lcms2 libexif tracker tracker-miners libxml2 desktop-file-utils
-                  wrapGAppsHook gexiv2 geocode-glib dleyna-renderer ];
 
-  enableParallelBuilding = true;
+  passthru = {
+    updateScript = gnome3.updateScript {
+      packageName = pname;
+      attrPath = "gnome3.${pname}";
+    };
+  };
 
   meta = with stdenv.lib; {
     homepage = https://wiki.gnome.org/Apps/Photos;
-    description = "Photos is an application to access, organize and share your photos with GNOME 3";
+    description = "Access, organize and share your photos";
     maintainers = gnome3.maintainers;
-    license = licenses.gpl2;
+    license = licenses.gpl3Plus;
     platforms = platforms.linux;
   };
 }
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 a295ef456df..70ed4403f10 100644
--- a/pkgs/desktops/gnome-3/apps/gnome-power-manager/default.nix
+++ b/pkgs/desktops/gnome-3/apps/gnome-power-manager/default.nix
@@ -1,5 +1,5 @@
 { stdenv
-, intltool
+, gettext
 , fetchurl
 , pkgconfig
 , gtk3
@@ -11,27 +11,30 @@
 , wrapGAppsHook
 , gnome3 }:
 
-stdenv.mkDerivation rec {
-  name = "gnome-power-manager-${version}";
+let
+  pname = "gnome-power-manager";
   version = "3.26.0";
+in stdenv.mkDerivation rec {
+  name = "${pname}-${version}";
 
   src = fetchurl {
-    url = "mirror://gnome/sources/gnome-power-manager/${gnome3.versionBranch version}/${name}.tar.xz";
+    url = "mirror://gnome/sources/${pname}/${gnome3.versionBranch version}/${name}.tar.xz";
     sha256 = "20aee0b0b4015e7cc6fbabc3cbc4344c07c230fe3d195e90c8ae0dc5d55a2d4e";
   };
 
   passthru = {
-    updateScript = gnome3.updateScript { packageName = "gnome-power-manager"; attrPath = "gnome3.gnome-power-manager"; };
+    updateScript = gnome3.updateScript {
+      packageName = pname;
+      attrPath = "gnome3.${pname}";
+    };
   };
 
-  propagatedUserEnvPkgs = [ gnome3.gnome-themes-standard ];
-
   nativeBuildInputs = [
     meson
     ninja
     pkgconfig
     wrapGAppsHook
-    intltool
+    gettext
 
     # needed by meson_post_install.sh
     glib.dev
@@ -45,10 +48,8 @@ stdenv.mkDerivation rec {
     gnome3.defaultIconTheme
   ];
 
-  enableParallelBuilding = true;
-
   meta = with stdenv.lib; {
-    homepage = https://projects.gnome.org/gnome-power-manager/;
+    homepage = https://projects-old.gnome.org/gnome-power-manager/;
     description = "View battery and power statistics provided by UPower";
     maintainers = gnome3.maintainers;
     license = licenses.gpl2Plus;
diff --git a/pkgs/desktops/gnome-3/apps/gnome-weather/default.nix b/pkgs/desktops/gnome-3/apps/gnome-weather/default.nix
index 9e43a3c52b4..ad759bf5506 100644
--- a/pkgs/desktops/gnome-3/apps/gnome-weather/default.nix
+++ b/pkgs/desktops/gnome-3/apps/gnome-weather/default.nix
@@ -1,5 +1,5 @@
-{ stdenv, fetchurl, pkgconfig, gnome3, gtk3, wrapGAppsHook, gjs
-, libgweather, intltool, itstool, geoclue2 }:
+{ stdenv, fetchurl, pkgconfig, gnome3, gtk3, wrapGAppsHook, gjs, gobjectIntrospection
+, libgweather, intltool, itstool, geoclue2, gnome-desktop }:
 
 stdenv.mkDerivation rec {
   name = "gnome-weather-${version}";
@@ -10,13 +10,9 @@ stdenv.mkDerivation rec {
     sha256 = "965cc0d1b4d4e53c06d494db96f0b124d232af5c0e731ca900edd10f77a74c78";
   };
 
-  passthru = {
-    updateScript = gnome3.updateScript { packageName = "gnome-weather"; attrPath = "gnome3.gnome-weather"; };
-  };
-
-  nativeBuildInputs = [ pkgconfig ];
+  nativeBuildInputs = [ pkgconfig intltool itstool wrapGAppsHook ];
   buildInputs = [
-    gtk3 wrapGAppsHook gjs intltool itstool
+    gtk3 gjs gobjectIntrospection gnome-desktop
     libgweather gnome3.defaultIconTheme geoclue2 gnome3.gsettings-desktop-schemas
   ];
 
@@ -30,6 +26,13 @@ stdenv.mkDerivation rec {
                   "Exec=$out/bin/gnome-weather"
   '';
 
+  passthru = {
+    updateScript = gnome3.updateScript {
+      packageName = "gnome-weather";
+      attrPath = "gnome3.gnome-weather";
+    };
+  };
+
   meta = with stdenv.lib; {
     homepage = https://wiki.gnome.org/Apps/Weather;
     description = "Access current weather conditions and forecasts";
diff --git a/pkgs/desktops/gnome-3/apps/nautilus-sendto/default.nix b/pkgs/desktops/gnome-3/apps/nautilus-sendto/default.nix
index 2812e7673b4..7ac8b4dfe11 100644
--- a/pkgs/desktops/gnome-3/apps/nautilus-sendto/default.nix
+++ b/pkgs/desktops/gnome-3/apps/nautilus-sendto/default.nix
@@ -1,18 +1,27 @@
 { stdenv, fetchurl, meson, ninja, glib, pkgconfig, gnome3, appstream-glib, gettext }:
 
-stdenv.mkDerivation rec {
-  name = "nautilus-sendto-${version}";
-
+let
+  pname = "nautilus-sendto";
   version = "3.8.6";
+in stdenv.mkDerivation rec {
+  name = "${pname}-${version}";
+
 
   src = fetchurl {
-    url = "mirror://gnome/sources/nautilus-sendto/3.8/${name}.tar.xz";
+    url = "mirror://gnome/sources/${pname}/3.8/${name}.tar.xz";
     sha256 = "164d7c6e8bae29c4579bcc67a7bf50d783662b1545b62f3008e7ea3c0410e04d";
   };
 
   nativeBuildInputs = [ meson ninja pkgconfig appstream-glib gettext ];
   buildInputs = [ glib ];
 
+  passthru = {
+    updateScript = gnome3.updateScript {
+      packageName = pname;
+      attrPath = "gnome3.${pname}";
+    };
+  };
+
   meta = with stdenv.lib; {
     description = "Integrates Evolution and Pidgin into the Nautilus file manager";
     maintainers = gnome3.maintainers;
diff --git a/pkgs/desktops/gnome-3/apps/polari/default.nix b/pkgs/desktops/gnome-3/apps/polari/default.nix
index f1d6dba21b0..4ae67f9b41d 100644
--- a/pkgs/desktops/gnome-3/apps/polari/default.nix
+++ b/pkgs/desktops/gnome-3/apps/polari/default.nix
@@ -3,34 +3,35 @@
 , pkgconfig, gtk3, glib, libsecret, libsoup, gobjectIntrospection, appstream-glib
 , gnome3, wrapGAppsHook, telepathy-logger, gspell }:
 
-stdenv.mkDerivation rec {
-  name = "polari-${version}";
-  version = "3.26.2";
+let
+  pname = "polari";
+  version = "3.28.0";
+in stdenv.mkDerivation rec {
+  name = "${pname}-${version}";
 
   src = fetchurl {
-    url = "mirror://gnome/sources/polari/${gnome3.versionBranch version}/${name}.tar.xz";
-    sha256 = "2f36361dacf5d924d134f231fdb36ec4539f7495fce325d9b2f2728bd17cc190";
-  };
-
-  passthru = {
-    updateScript = gnome3.updateScript { packageName = "polari"; attrPath = "gnome3.polari"; };
+    url = "mirror://gnome/sources/${pname}/${gnome3.versionBranch version}/${name}.tar.xz";
+    sha256 = "08zgdqrnxl752nv0gac1k7wvjd4j7h5n4c0flrq7q337p40k3dd5";
   };
 
   propagatedUserEnvPkgs = [ telepathy-idle telepathy-logger ];
 
-  nativeBuildInputs = [ meson ninja pkgconfig itstool gettext wrapGAppsHook libxml2
-                        desktop-file-utils gobjectIntrospection appstream-glib ];
-  buildInputs = [ gtk3 glib adwaita-icon-theme gnome3.gsettings-desktop-schemas
-                  telepathy-glib telepathy-logger gjs gspell gdk_pixbuf libsecret libsoup ];
+  nativeBuildInputs = [
+    meson ninja pkgconfig itstool gettext wrapGAppsHook libxml2
+    desktop-file-utils gobjectIntrospection appstream-glib
+  ];
 
-  patches = [
-    (fetchpatch {
-      url = https://gitlab.gnome.org/jtojnar/polari/commit/a6733a6ad95eac1813e7b18e3d0018a22ee7a377.diff;
-      sha256 = "0f5ll49h5w0477lkh67kaa2j83z376z1jk7z3i2v7cq4d3hi5lf9";
-    })
+  buildInputs = [
+    gtk3 glib adwaita-icon-theme gnome3.gsettings-desktop-schemas
+    telepathy-glib telepathy-logger gjs gspell gdk_pixbuf libsecret libsoup
   ];
 
-  enableParallelBuilding = true;
+  passthru = {
+    updateScript = gnome3.updateScript {
+      packageName = pname;
+      attrPath = "gnome3.${pname}";
+    };
+  };
 
   meta = with stdenv.lib; {
     homepage = https://wiki.gnome.org/Apps/Polari;
diff --git a/pkgs/desktops/gnome-3/apps/seahorse/default.nix b/pkgs/desktops/gnome-3/apps/seahorse/default.nix
index 1a8c2f55b1b..60e8822135c 100644
--- a/pkgs/desktops/gnome-3/apps/seahorse/default.nix
+++ b/pkgs/desktops/gnome-3/apps/seahorse/default.nix
@@ -4,37 +4,36 @@
 , gnome3, librsvg, gdk_pixbuf, gpgme
 , libsecret, avahi, p11-kit, openssh }:
 
-stdenv.mkDerivation rec {
-  name = "seahorse-${version}";
+let
+  pname = "seahorse";
   version = "3.20.0";
+in stdenv.mkDerivation rec {
+  name = "${pname}-${version}";
 
   src = fetchurl {
-    url = "mirror://gnome/sources/seahorse/${gnome3.versionBranch version}/${name}.tar.xz";
+    url = "mirror://gnome/sources/${pname}/${gnome3.versionBranch version}/${name}.tar.xz";
     sha256 = "e2b07461ed54a8333e5628e9b8e517ec2b731068377bf376570aad998274c6df";
   };
 
-  passthru = {
-    updateScript = gnome3.updateScript { packageName = "seahorse"; attrPath = "gnome3.seahorse"; };
-  };
-
   doCheck = true;
 
-  propagatedUserEnvPkgs = [ gnome3.gnome-themes-standard ];
-
   NIX_CFLAGS_COMPILE = "-I${gnome3.glib.dev}/include/gio-unix-2.0";
 
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ gtk3 glib intltool itstool gnome3.gcr
-                  gnome3.gsettings-desktop-schemas wrapGAppsHook gnupg
-                  gdk_pixbuf gnome3.defaultIconTheme librsvg gpgme
-                  libsecret avahi libsoup p11-kit vala
-                  openssh ];
+  nativeBuildInputs = [ pkgconfig vala intltool itstool wrapGAppsHook ];
+  buildInputs = [
+    gtk3 glib gnome3.gcr
+    gnome3.gsettings-desktop-schemas gnupg
+    gnome3.defaultIconTheme gpgme
+    libsecret avahi libsoup p11-kit
+    openssh
+  ];
 
-  preFixup = ''
-    gappsWrapperArgs+=(
-      --prefix XDG_DATA_DIRS : "${gnome3.gnome-themes-standard}/share"
-    )
-  '';
+  passthru = {
+    updateScript = gnome3.updateScript {
+      packageName = pname;
+      attrPath = "gnome3.${pname}";
+    };
+  };
 
   meta = with stdenv.lib; {
     homepage = https://wiki.gnome.org/Apps/Seahorse;
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 2178004a43a..049b586f16d 100644
--- a/pkgs/desktops/gnome-3/core/adwaita-icon-theme/default.nix
+++ b/pkgs/desktops/gnome-3/core/adwaita-icon-theme/default.nix
@@ -3,11 +3,11 @@
 
 stdenv.mkDerivation rec {
   name = "adwaita-icon-theme-${version}";
-  version = "3.26.1";
+  version = "3.28.0";
 
   src = fetchurl {
     url = "mirror://gnome/sources/adwaita-icon-theme/${gnome3.versionBranch version}/${name}.tar.xz";
-    sha256 = "28ba7392c7761996efd780779167ea6c940eedfb1bf37cfe9bccb7021f54d79d";
+    sha256 = "0l114ildlb3lz3xymfxxi0wpr2x21rd3cg8slb8jyxynzwfqrbks";
   };
 
   passthru = {
diff --git a/pkgs/desktops/gnome-3/core/baobab/default.nix b/pkgs/desktops/gnome-3/core/baobab/default.nix
index 1ff67e35f0f..693e284e270 100644
--- a/pkgs/desktops/gnome-3/core/baobab/default.nix
+++ b/pkgs/desktops/gnome-3/core/baobab/default.nix
@@ -1,34 +1,34 @@
-{ stdenv, intltool, fetchurl, vala, libgtop
-, pkgconfig, gtk3, glib
-, bash, wrapGAppsHook, itstool, libxml2
-, gnome3, librsvg, gdk_pixbuf, file }:
+{ stdenv, gettext, fetchurl, vala, desktop-file-utils
+, meson, ninja, pkgconfig, gtk3, glib, libxml2
+, wrapGAppsHook, itstool, gnome3 }:
 
-stdenv.mkDerivation rec {
-  name = "baobab-${version}";
-  version = "3.26.1";
+let
+  pname = "baobab";
+  version = "3.28.0";
+in stdenv.mkDerivation rec {
+  name = "${pname}-${version}";
 
   src = fetchurl {
-    url = "mirror://gnome/sources/baobab/${gnome3.versionBranch version}/${name}.tar.xz";
-    sha256 = "7a59ab5945f5d90725231b10d85a1893403f56660b1627c111d2b4eeb1ef787e";
+    url = "mirror://gnome/sources/${pname}/${gnome3.versionBranch version}/${name}.tar.xz";
+    sha256 = "0qsx7vx5c3n4yxlxbr11sppw7qwcv9z3g45b5xb9y7wxw5lv42sk";
   };
 
-  passthru = {
-    updateScript = gnome3.updateScript { packageName = "baobab"; };
-  };
+  nativeBuildInputs = [ meson ninja pkgconfig vala gettext itstool libxml2 desktop-file-utils wrapGAppsHook ];
+  buildInputs = [ gtk3 glib gnome3.defaultIconTheme ];
 
   doCheck = true;
 
-  NIX_CFLAGS_COMPILE = "-I${gnome3.glib.dev}/include/gio-unix-2.0";
-
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ vala gtk3 glib libgtop intltool itstool libxml2
-                  wrapGAppsHook file gdk_pixbuf gnome3.defaultIconTheme librsvg ];
+  passthru = {
+    updateScript = gnome3.updateScript {
+      packageName = pname;
+    };
+  };
 
   meta = with stdenv.lib; {
-    homepage = https://wiki.gnome.org/Apps/Baobab;
-    description = "Graphical application to analyse disk usage in any Gnome environment";
-    maintainers = gnome3.maintainers;
+    description = "Graphical application to analyse disk usage in any GNOME environment";
+    homepage = https://wiki.gnome.org/Apps/DiskUsageAnalyzer;
     license = licenses.gpl2;
+    maintainers = gnome3.maintainers;
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/desktops/gnome-3/core/dconf-editor/default.nix b/pkgs/desktops/gnome-3/core/dconf-editor/default.nix
index 47ddf6b6486..57c102d89cc 100644
--- a/pkgs/desktops/gnome-3/core/dconf-editor/default.nix
+++ b/pkgs/desktops/gnome-3/core/dconf-editor/default.nix
@@ -1,23 +1,32 @@
-{ stdenv, fetchurl, vala, libxslt, pkgconfig, glib, dbus-glib, gnome3
-, libxml2, intltool, docbook_xsl_ns, docbook_xsl, wrapGAppsHook }:
+{ stdenv, fetchurl, meson, ninja, vala, libxslt, pkgconfig, glib, dbus-glib, gtk3, gnome3
+, libxml2, gettext, docbook_xsl, wrapGAppsHook, gobjectIntrospection }:
 
-stdenv.mkDerivation rec {
-  name = "dconf-editor-${version}";
-  version = "3.26.2";
+let
+  pname = "dconf-editor";
+  version = "3.28.0";
+in stdenv.mkDerivation rec {
+  name = "${pname}-${version}";
 
   src = fetchurl {
-    url = "mirror://gnome/sources/dconf-editor/${gnome3.versionBranch version}/${name}.tar.xz";
-    sha256 = "28b453fe49c49d7dfaf07c85c01d7495913f93ab64a0b223c117eb17d1cb8ad1";
+    url = "mirror://gnome/sources/${pname}/${gnome3.versionBranch version}/${name}.tar.xz";
+    sha256 = "0nhcpwqrkmpxbhaf0cafvy6dlp6s7vhm5vknl4lgs3l24zc56ns5";
   };
 
-  passthru = {
-    updateScript = gnome3.updateScript { packageName = "dconf-editor"; attrPath = "gnome3.dconf-editor"; };
-  };
+  nativeBuildInputs = [ meson ninja vala libxslt pkgconfig wrapGAppsHook gettext docbook_xsl libxml2 gobjectIntrospection ];
+
+  buildInputs = [ glib dbus-glib gtk3 gnome3.defaultIconTheme gnome3.dconf ];
 
-  nativeBuildInputs = [ pkgconfig wrapGAppsHook ];
+  postPatch = ''
+    chmod +x meson_post_install.py
+    patchShebangs meson_post_install.py
+  '';
 
-  buildInputs = [ vala libxslt glib dbus-glib gnome3.gtk libxml2 gnome3.defaultIconTheme
-                  intltool docbook_xsl docbook_xsl_ns gnome3.dconf ];
+  passthru = {
+    updateScript = gnome3.updateScript {
+      packageName = "${pname}";
+      attrPath = "gnome3.${pname}";
+    };
+  };
 
   meta = with stdenv.lib; {
     platforms = platforms.linux;
diff --git a/pkgs/desktops/gnome-3/core/dconf/default.nix b/pkgs/desktops/gnome-3/core/dconf/default.nix
index a1722876121..400b3ea9a9b 100644
--- a/pkgs/desktops/gnome-3/core/dconf/default.nix
+++ b/pkgs/desktops/gnome-3/core/dconf/default.nix
@@ -1,27 +1,29 @@
-{ stdenv, fetchurl, vala, libxslt, pkgconfig, glib, dbus-glib, gnome3
-, libxml2, intltool, docbook_xsl_ns, docbook_xsl, makeWrapper }:
+{ stdenv, fetchurl, meson, ninja, python3, vala, libxslt, pkgconfig, glib, dbus-glib, gnome3
+, libxml2, docbook_xsl, makeWrapper }:
 
 let
   pname = "dconf";
 in
 stdenv.mkDerivation rec {
   name = "${pname}-${version}";
-  version = "0.26.1";
+  version = "0.28.0";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${gnome3.versionBranch version}/${name}.tar.xz";
-    sha256 = "0da587hpiqy8h3pswn1102h4b905x8k6mk3ajpi7kf4kzkvv30ym";
+    sha256 = "0hn7v6769xabqz7kvyb2hfm19h46z1whkair7ff752zmbs3b7lv1";
   };
 
+  postPatch = ''
+    chmod +x meson_post_install.py
+    patchShebangs meson_post_install.py
+  '';
+
   outputs = [ "out" "lib" "dev" ];
 
-  nativeBuildInputs = [ vala pkgconfig intltool libxslt libxml2 docbook_xsl docbook_xsl_ns makeWrapper ];
+  nativeBuildInputs = [ meson ninja vala pkgconfig python3 libxslt libxml2 docbook_xsl ];
   buildInputs = [ glib dbus-glib ];
 
-  postConfigure = stdenv.lib.optionalString stdenv.isDarwin ''
-    substituteInPlace client/Makefile \
-      --replace "-soname=libdconf.so.1" "-install_name,libdconf.so.1"
-  '';
+  doCheck = false; # fails 2 out of 9 tests, maybe needs dbus daemon?
 
   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 bf83c7aa8a1..4da4c480266 100644
--- a/pkgs/desktops/gnome-3/core/empathy/default.nix
+++ b/pkgs/desktops/gnome-3/core/empathy/default.nix
@@ -11,11 +11,11 @@
 
 stdenv.mkDerivation rec {
   name = "empathy-${version}";
-  version = "3.12.14";
+  version = "3.25.90";
 
   src = fetchurl {
     url = "mirror://gnome/sources/empathy/${gnome3.versionBranch version}/${name}.tar.xz";
-    sha256 = "7d86942ce97edd10ade0e6ae6a210d35e4d627fe4d223377d71fd1840bc6e3a3";
+    sha256 = "0sn10fcymc6lyrabk7vx8lpvlaxxkqnmcwj9zdkfa8qf3388k4nc";
   };
 
   passthru = {
diff --git a/pkgs/desktops/gnome-3/core/eog/default.nix b/pkgs/desktops/gnome-3/core/eog/default.nix
index 1acd6eb6942..7f7a533a550 100644
--- a/pkgs/desktops/gnome-3/core/eog/default.nix
+++ b/pkgs/desktops/gnome-3/core/eog/default.nix
@@ -1,30 +1,42 @@
-{ fetchurl, stdenv, gettext, pkgconfig, itstool, libxml2, libjpeg, gnome3
+{ 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 }:
 
-stdenv.mkDerivation rec {
-  name = "eog-${version}";
-  version = "3.26.2";
+let
+  pname = "eog";
+  version = "3.28.2";
+in stdenv.mkDerivation rec {
+  name = "${pname}-${version}";
 
   src = fetchurl {
-    url = "mirror://gnome/sources/eog/${gnome3.versionBranch version}/${name}.tar.xz";
-    sha256 = "b53e3d4dfa7d0085b829a5fb95f148a099803c00ef276be7685efd5ec38807ad";
+    url = "mirror://gnome/sources/${pname}/${gnome3.versionBranch version}/${name}.tar.xz";
+    sha256 = "1gasrfqi7qrzdq1idh29r0n6ikkqjb6pbp7a8k5krfz5hkhyfin0";
   };
 
-  passthru = {
-    updateScript = gnome3.updateScript { packageName = "eog"; attrPath = "gnome3.eog"; };
-  };
+  nativeBuildInputs = [ meson ninja pkgconfig gettext itstool wrapGAppsHook libxml2 gobjectIntrospection ];
 
-  nativeBuildInputs = [ pkgconfig gettext itstool wrapGAppsHook gobjectIntrospection ];
+  buildInputs = [
+    libjpeg gtk3 gdk_pixbuf glib libpeas librsvg lcms2 gnome-desktop libexif exempi
+    gsettings-desktop-schemas shared-mime-info adwaita-icon-theme
+  ];
 
-  buildInputs = with gnome3;
-    [ libxml2 libjpeg gtk glib libpeas librsvg
-      gsettings-desktop-schemas shared-mime-info adwaita-icon-theme
-      gnome-desktop libexif dconf ];
+  postPatch = ''
+    chmod +x meson_post_install.py
+    patchShebangs meson_post_install.py
+  '';
+
+  passthru = {
+    updateScript = gnome3.updateScript {
+      packageName = pname;
+      attrPath = "gnome3.${pname}";
+    };
+  };
 
   meta = with stdenv.lib; {
-    homepage = https://wiki.gnome.org/Apps/EyeOfGnome;
-    platforms = platforms.linux;
     description = "GNOME image viewer";
+    homepage = https://wiki.gnome.org/Apps/EyeOfGnome;
+    license = licenses.gpl2Plus;
     maintainers = gnome3.maintainers;
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/desktops/gnome-3/core/epiphany/default.nix b/pkgs/desktops/gnome-3/core/epiphany/default.nix
index a275040e1f4..c9537f49769 100644
--- a/pkgs/desktops/gnome-3/core/epiphany/default.nix
+++ b/pkgs/desktops/gnome-3/core/epiphany/default.nix
@@ -1,49 +1,44 @@
 { stdenv, meson, ninja, gettext, fetchurl, pkgconfig, gtk, glib, icu
 , wrapGAppsHook, gnome3, libxml2, libxslt, itstool
 , webkitgtk, libsoup, glib-networking, libsecret, gnome-desktop, libnotify, p11-kit
-, sqlite, gcr, isocodes, desktop-file-utils, file
-, gdk_pixbuf, gnome-common, gst_all_1, json-glib }:
+, sqlite, gcr, isocodes, desktop-file-utils
+, gdk_pixbuf, gst_all_1, json-glib }:
 
 stdenv.mkDerivation rec {
   name = "epiphany-${version}";
-  version = "3.26.6";
+  version = "3.28.1.1";
 
   src = fetchurl {
     url = "mirror://gnome/sources/epiphany/${gnome3.versionBranch version}/${name}.tar.xz";
-    sha256 = "1a1hyv326w4in4pl26gi2n3p9b38ih6zjdiigpqy0aiibnjnmc81";
-  };
-
-  passthru = {
-    updateScript = gnome3.updateScript { packageName = "epiphany"; };
+    sha256 = "15d4dr4dwb1dyw3mvs7wp5gik57kdg0rxdc49n92wx46wfh6lhlr";
   };
 
   # Tests need an X display
   mesonFlags = [ "-Dunit_tests=false" ];
 
-  propagatedUserEnvPkgs = [ gnome3.gnome-themes-standard ];
-
-  nativeBuildInputs = [ meson ninja libxslt pkgconfig itstool gettext file wrapGAppsHook desktop-file-utils ];
+  nativeBuildInputs = [
+    meson ninja libxslt pkgconfig itstool gettext wrapGAppsHook desktop-file-utils
+  ];
 
-  buildInputs = [ gtk glib webkitgtk libsoup libxml2 libsecret gnome-desktop libnotify
-                  sqlite isocodes p11-kit icu gnome3.yelp-tools
-                  gdk_pixbuf gnome3.defaultIconTheme gnome-common 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 ];
-
-  enableParallelBuilding = true;
+  buildInputs = [
+    gtk glib webkitgtk libsoup libxml2 libsecret gnome-desktop libnotify
+    sqlite isocodes p11-kit icu
+    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
+  ];
 
   postPatch = ''
     chmod +x post_install.py # patchShebangs requires executable file
     patchShebangs post_install.py
   '';
 
-  postFixup = ''
-    # Patched meson does not add internal libraries to rpath
-    for f in $out/bin/.*-wrapped $out/libexec/.*-wrapped $out/libexec/epiphany/.*-wrapped $out/lib/epiphany/*.so $out/lib/epiphany/web-extensions/*.so; do
-      patchelf --set-rpath "$out/lib/epiphany:$(patchelf --print-rpath $f)" "$f"
-    done
-  '';
+  passthru = {
+    updateScript = gnome3.updateScript {
+      packageName = "epiphany";
+    };
+  };
 
   meta = with stdenv.lib; {
     homepage = https://wiki.gnome.org/Apps/Epiphany;
diff --git a/pkgs/desktops/gnome-3/core/evince/default.nix b/pkgs/desktops/gnome-3/core/evince/default.nix
index 2d52e22c54c..74f10cc384d 100644
--- a/pkgs/desktops/gnome-3/core/evince/default.nix
+++ b/pkgs/desktops/gnome-3/core/evince/default.nix
@@ -1,6 +1,6 @@
 { fetchurl, stdenv, pkgconfig, intltool, libxml2
 , glib, gtk3, pango, atk, gdk_pixbuf, shared-mime-info, itstool, gnome3
-, poppler, ghostscriptX, djvulibre, libspectre, libsecret, wrapGAppsHook
+, poppler, ghostscriptX, djvulibre, libspectre, libarchive, libsecret, wrapGAppsHook
 , librsvg, gobjectIntrospection, yelp-tools
 , recentListSize ? null # 5 is not enough, allow passing a different number
 , supportXPS ? false    # Open XML Paper Specification via libgxps
@@ -9,11 +9,11 @@
 
 stdenv.mkDerivation rec {
   name = "evince-${version}";
-  version = "3.26.0";
+  version = "3.28.2";
 
   src = fetchurl {
     url = "mirror://gnome/sources/evince/${gnome3.versionBranch version}/${name}.tar.xz";
-    sha256 = "79567bdb743cf0c3ed7b638da32afc9b850298f9b4edd532455df4a7e2a4c9d8";
+    sha256 = "1qbk1x2c7iacmmfwjzh136v2sdacrkqn9d6bnqid7xn9hlnx4m89";
   };
 
   passthru = {
@@ -26,8 +26,8 @@ stdenv.mkDerivation rec {
 
   buildInputs = [
     glib gtk3 pango atk gdk_pixbuf libxml2
-    gnome3.libgnome-keyring gnome3.gsettings-desktop-schemas
-    poppler ghostscriptX djvulibre libspectre
+    gnome3.gsettings-desktop-schemas
+    poppler ghostscriptX djvulibre libspectre libarchive
     libsecret librsvg gnome3.adwaita-icon-theme
   ] ++ stdenv.lib.optional supportXPS gnome3.libgxps;
 
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 388553976f8..a9516206859 100644
--- a/pkgs/desktops/gnome-3/core/evolution-data-server/default.nix
+++ b/pkgs/desktops/gnome-3/core/evolution-data-server/default.nix
@@ -1,52 +1,50 @@
-{ fetchurl, stdenv, pkgconfig, gnome3, python3, dconf
+{ fetchurl, stdenv, pkgconfig, gnome3, python3, gobjectIntrospection
 , intltool, libsoup, libxml2, libsecret, icu, sqlite
-, p11-kit, db, nspr, nss, libical, gperf, makeWrapper, valaSupport ? true
+, p11-kit, db, nspr, nss, libical, gperf, wrapGAppsHook, glib-networking
 , vala, cmake, ninja, kerberos, openldap, webkitgtk, libaccounts-glib, json-glib }:
 
 stdenv.mkDerivation rec {
   name = "evolution-data-server-${version}";
-  version = "3.26.5";
+  version = "3.28.2";
+
+  outputs = [ "out" "dev" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/evolution-data-server/${gnome3.versionBranch version}/${name}.tar.xz";
-    sha256 = "0m0y4l5wrdxpb6bs929ml7ayicwygfvngrzxf88hn0vkw0crfa9z";
-  };
-
-  passthru = {
-    updateScript = gnome3.updateScript { packageName = "evolution-data-server"; };
+    sha256 = "1azk8zh167a6hyxzz73yh36gbpf7i52b7zi10hnnnsywh80pj6jk";
   };
 
   nativeBuildInputs = [
-    cmake ninja pkgconfig intltool python3 gperf makeWrapper
-  ] ++ stdenv.lib.optional valaSupport vala;
+    cmake ninja pkgconfig intltool python3 gperf wrapGAppsHook gobjectIntrospection 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
+    icu sqlite kerberos openldap webkitgtk glib-networking
   ];
 
   propagatedBuildInputs = [ libsecret nss nspr libical db ];
 
-  # uoa irrelevant for now
   cmakeFlags = [
     "-DENABLE_UOA=OFF"
-  ] ++ stdenv.lib.optionals valaSupport [
     "-DENABLE_VALA_BINDINGS=ON"
     "-DENABLE_INTROSPECTION=ON"
     "-DCMAKE_SKIP_BUILD_RPATH=OFF"
   ];
 
-  enableParallelBuilding = true;
-
-  preFixup = ''
-    for f in $(find $out/libexec/ -type f -executable); do
-      wrapProgram "$f" \
-        --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH" \
-        --prefix GIO_EXTRA_MODULES : "${stdenv.lib.getLib dconf}/lib/gio/modules"
-    done
+  postPatch = ''
+    cmakeFlags="-DINCLUDE_INSTALL_DIR=$dev/include $cmakeFlags"
   '';
 
+  passthru = {
+    updateScript = gnome3.updateScript {
+      packageName = "evolution-data-server";
+    };
+  };
+
   meta = with stdenv.lib; {
+    description = "Unified backend for programs that work with contacts, tasks, and calendar information";
+    homepage = https://wiki.gnome.org/Apps/Evolution;
     license = licenses.lgpl2;
     maintainers = gnome3.maintainers;
     platforms = platforms.linux;
diff --git a/pkgs/desktops/gnome-3/core/folks/default.nix b/pkgs/desktops/gnome-3/core/folks/default.nix
index 776f7664222..beb40209bc8 100644
--- a/pkgs/desktops/gnome-3/core/folks/default.nix
+++ b/pkgs/desktops/gnome-3/core/folks/default.nix
@@ -45,6 +45,6 @@ in stdenv.mkDerivation rec {
     license = stdenv.lib.licenses.lgpl2Plus;
 
     maintainers = gnome3.maintainers;
-    platforms = stdenv.lib.platforms.gnu;  # arbitrary choice
+    platforms = stdenv.lib.platforms.gnu ++ stdenv.lib.platforms.linux;  # arbitrary choice
   };
 }
diff --git a/pkgs/desktops/gnome-3/core/gcr/default.nix b/pkgs/desktops/gnome-3/core/gcr/default.nix
index aa26c660768..61c17a210b4 100644
--- a/pkgs/desktops/gnome-3/core/gcr/default.nix
+++ b/pkgs/desktops/gnome-3/core/gcr/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   name = "gcr-${version}";
-  version = "3.20.0";
+  version = "3.28.0";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gcr/${gnome3.versionBranch version}/${name}.tar.xz";
-    sha256 = "90572c626d8a708225560c42b4421f7941315247fa1679d4ef569bde7f4bb379";
+    sha256 = "02xgky22xgvhgd525khqh64l5i21ca839fj9jzaqdi3yvb8pbq8m";
   };
 
   passthru = {
diff --git a/pkgs/desktops/gnome-3/core/gdm/default.nix b/pkgs/desktops/gnome-3/core/gdm/default.nix
index ef9439a3029..6b6b23f21b5 100644
--- a/pkgs/desktops/gnome-3/core/gdm/default.nix
+++ b/pkgs/desktops/gnome-3/core/gdm/default.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   name = "gdm-${version}";
-  version = "3.26.2.1";
+  version = "3.28.1";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gdm/${gnome3.versionBranch version}/${name}.tar.xz";
-    sha256 = "17ddcb00602c2b426de58bb4b0d99af9de27450a8557dcc5ec850c080d55ad57";
+    sha256 = "1yxjjyrp0ywrc25cp81bsdhp79zn0c0jag48hlp00b5wfnkqy1kp";
   };
 
   passthru = {
diff --git a/pkgs/desktops/gnome-3/core/gdm/sessions_dir.patch b/pkgs/desktops/gnome-3/core/gdm/sessions_dir.patch
index bbc803d49c1..7722e2550bd 100644
--- a/pkgs/desktops/gnome-3/core/gdm/sessions_dir.patch
+++ b/pkgs/desktops/gnome-3/core/gdm/sessions_dir.patch
@@ -1,8 +1,17 @@
-diff --git a/daemon/gdm-session.c b/daemon/gdm-session.c
-index ff3a1acb..b8705d8f 100644
+--- 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
-@@ -344,6 +344,7 @@ get_system_session_dirs (GdmSession *self)
+@@ -345,12 +345,17 @@
          char **search_dirs;
  
          static const char *x_search_dirs[] = {
@@ -10,8 +19,7 @@ index ff3a1acb..b8705d8f 100644
                  "/etc/X11/sessions/",
                  DMCONFDIR "/Sessions/",
                  DATADIR "/gdm/BuiltInSessions/",
-@@ -351,6 +352,10 @@ get_system_session_dirs (GdmSession *self)
-                 NULL
+                 DATADIR "/xsessions/",
          };
  
 +        if (getenv("GDM_SESSIONS_DIR") != NULL) {
@@ -21,3 +29,24 @@ index ff3a1acb..b8705d8f 100644
          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 e97e557e87a..910ef01fcb9 100644
--- a/pkgs/desktops/gnome-3/core/geocode-glib/default.nix
+++ b/pkgs/desktops/gnome-3/core/geocode-glib/default.nix
@@ -1,24 +1,38 @@
-{ fetchurl, stdenv, pkgconfig, gnome3, intltool, libsoup, json-glib }:
+{ fetchurl, stdenv, meson, ninja, pkgconfig, gettext, gtk-doc, docbook_xsl, gobjectIntrospection, gnome3, libsoup, json-glib }:
 
 stdenv.mkDerivation rec {
   name = "geocode-glib-${version}";
-  version = "3.24.0";
+  version = "3.25.4.1";
+
+  outputs = [ "out" "dev" "installedTests" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/geocode-glib/${gnome3.versionBranch version}/${name}.tar.xz";
-    sha256 = "19c1fef4fd89eb4bfe6decca45ac45a2eca9bb7933be560ce6c172194840c35e";
+    sha256 = "0y6p5l2jrr78p7l4hijjhclzbap005y6h06g3aiglg9i5hk6j0gi";
   };
 
+  nativeBuildInputs = with gnome3; [ meson ninja pkgconfig gettext gtk-doc docbook_xsl gobjectIntrospection ];
+  buildInputs = with gnome3; [ glib libsoup json-glib ];
+
+  patches = [
+    ./installed-tests-path.patch
+  ];
+
+  postPatch = ''
+    substituteInPlace geocode-glib/tests/meson.build --subst-var-by "installedTests" "$installedTests"
+  '';
+
   passthru = {
-    updateScript = gnome3.updateScript { packageName = "geocode-glib"; attrPath = "gnome3.geocode-glib"; };
+    updateScript = gnome3.updateScript {
+      packageName = "geocode-glib";
+      attrPath = "gnome3.geocode-glib";
+    };
   };
 
-  buildInputs = with gnome3;
-    [ intltool pkgconfig glib libsoup json-glib ];
-
   meta = with stdenv.lib; {
-    platforms = platforms.linux;
+    description = "A convenience library for the geocoding and reverse geocoding using Nominatim service";
+    license = licenses.lgpl2Plus;
     maintainers = gnome3.maintainers;
+    platforms = platforms.linux;
   };
-
 }
diff --git a/pkgs/desktops/gnome-3/core/geocode-glib/installed-tests-path.patch b/pkgs/desktops/gnome-3/core/geocode-glib/installed-tests-path.patch
new file mode 100644
index 00000000000..499c6800808
--- /dev/null
+++ b/pkgs/desktops/gnome-3/core/geocode-glib/installed-tests-path.patch
@@ -0,0 +1,8 @@
+--- a/geocode-glib/tests/meson.build
++++ b/geocode-glib/tests/meson.build
+@@ -1,4 +1,4 @@
+-install_dir = get_option('libexecdir') + '/installed-tests/geocode-glib'
++install_dir = '@installedTests@/libexec/installed-tests/geocode-glib'
+ 
+ e = executable('geo-uri',
+                'geo-uri.c',
diff --git a/pkgs/desktops/gnome-3/core/gjs/default.nix b/pkgs/desktops/gnome-3/core/gjs/default.nix
index 6e9f6c464df..1bf640f713f 100644
--- a/pkgs/desktops/gnome-3/core/gjs/default.nix
+++ b/pkgs/desktops/gnome-3/core/gjs/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   name = "gjs-${version}";
-  version = "1.50.4";
+  version = "1.52.3";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gjs/${gnome3.versionBranch version}/${name}.tar.xz";
-    sha256 = "b336e8709347e3c94245f6cbc3465f9a49f3ae491a25f49f8a97268f5235b93a";
+    sha256 = "1z4n15wdz6pbqd2hfzrqc8mmprhv50v4jk43p08v0xv07yldh8ff";
   };
 
   passthru = {
diff --git a/pkgs/desktops/gnome-3/core/gnome-backgrounds/default.nix b/pkgs/desktops/gnome-3/core/gnome-backgrounds/default.nix
index 0aea3c4eac4..c52fe5c6049 100644
--- a/pkgs/desktops/gnome-3/core/gnome-backgrounds/default.nix
+++ b/pkgs/desktops/gnome-3/core/gnome-backgrounds/default.nix
@@ -1,19 +1,19 @@
-{ stdenv, fetchurl, pkgconfig, gnome3, intltool }:
+{ stdenv, fetchurl, meson, ninja, pkgconfig, gnome3, gettext }:
 
 stdenv.mkDerivation rec {
   name = "gnome-backgrounds-${version}";
-  version = "3.26.2";
+  version = "3.28.0";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-backgrounds/${gnome3.versionBranch version}/${name}.tar.xz";
-    sha256 = "3a8ba8d3463d70bce2377b168218e32367c0020f2d0caf611e7e39066081f94f";
+    sha256 = "1qgim0yhzjgcq172y4vp5hqz4rh1ak38a7pgi6s7dq0wklyrcnxj";
   };
 
   passthru = {
     updateScript = gnome3.updateScript { packageName = "gnome-backgrounds"; attrPath = "gnome3.gnome-backgrounds"; };
   };
 
-  nativeBuildInputs = [ pkgconfig intltool ];
+  nativeBuildInputs = [ meson ninja pkgconfig gettext ];
 
   meta = with stdenv.lib; {
     platforms = platforms.unix;
diff --git a/pkgs/desktops/gnome-3/core/gnome-bluetooth/default.nix b/pkgs/desktops/gnome-3/core/gnome-bluetooth/default.nix
index 11816f68ff4..d570a541409 100644
--- a/pkgs/desktops/gnome-3/core/gnome-bluetooth/default.nix
+++ b/pkgs/desktops/gnome-3/core/gnome-bluetooth/default.nix
@@ -3,11 +3,11 @@
 
 stdenv.mkDerivation rec {
   name = "gnome-bluetooth-${version}";
-  version = "3.26.1";
+  version = "3.28.0";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-bluetooth/${gnome3.versionBranch version}/${name}.tar.xz";
-    sha256 = "1d2c7b94fc76a833dad0d4d91344e9a5a7b4aad740c5a90944bd25c5be7e784f";
+    sha256 = "0q7yzklrlayj99risj096mr5x35anx94wvr6nbf6pwbvvzv7453p";
   };
 
   passthru = {
diff --git a/pkgs/desktops/gnome-3/core/gnome-calculator/default.nix b/pkgs/desktops/gnome-3/core/gnome-calculator/default.nix
index 8376bea1a03..03fdf4b14fe 100644
--- a/pkgs/desktops/gnome-3/core/gnome-calculator/default.nix
+++ b/pkgs/desktops/gnome-3/core/gnome-calculator/default.nix
@@ -1,33 +1,43 @@
-{ stdenv, intltool, fetchurl, pkgconfig, libxml2
-, bash, gtk3, glib, wrapGAppsHook
-, itstool, gnome3, librsvg, gdk_pixbuf, mpfr, gmp, libsoup, libmpc }:
+{ stdenv, meson, ninja, vala, gettext, itstool, fetchurl, pkgconfig, libxml2
+, gtk3, glib, gtksourceview3, wrapGAppsHook, gobjectIntrospection
+, gnome3, mpfr, gmp, libsoup, libmpc }:
 
 stdenv.mkDerivation rec {
   name = "gnome-calculator-${version}";
-  version = "3.26.0";
+  version = "3.28.1";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-calculator/${gnome3.versionBranch version}/${name}.tar.xz";
-    sha256 = "62215b37fcd73a6bbb106ebd0f25051c81ff0cf6ad84fd4a3ea176bceb5863c7";
+    sha256 = "05zpdp9mkfjz22hs7hfjikkxhzmvy02mxrldrjxsv8ff17w9xvic";
   };
 
-  passthru = {
-    updateScript = gnome3.updateScript { packageName = "gnome-calculator"; attrPath = "gnome3.gnome-calculator"; };
-  };
+  nativeBuildInputs = [
+    meson ninja pkgconfig vala gettext itstool wrapGAppsHook
+    gobjectIntrospection # for finding vapi files
+  ];
 
-  NIX_CFLAGS_COMPILE = "-I${gnome3.glib.dev}/include/gio-unix-2.0";
+  buildInputs = [
+    gtk3 glib libxml2 gtksourceview3 mpfr gmp
+    gnome3.defaultIconTheme
+    gnome3.gsettings-desktop-schemas libsoup libmpc
+  ];
 
-  propagatedUserEnvPkgs = [ gnome3.gnome-themes-standard ];
+  doCheck = true;
 
-  nativeBuildInputs = [ pkgconfig wrapGAppsHook ];
+  postPatch = ''
+    chmod +x meson_post_install.py # patchShebangs requires executable file
+    patchShebangs meson_post_install.py
+  '';
 
-  buildInputs = [ bash gtk3 glib intltool itstool
-                  libxml2 gnome3.gtksourceview mpfr gmp
-                  gdk_pixbuf gnome3.defaultIconTheme librsvg
-                  gnome3.gsettings-desktop-schemas gnome3.dconf libsoup libmpc ];
+  passthru = {
+    updateScript = gnome3.updateScript {
+      packageName = "gnome-calculator";
+      attrPath = "gnome3.gnome-calculator";
+    };
+  };
 
   meta = with stdenv.lib; {
-    homepage = https://wiki.gnome.org/action/show/Apps/Calculator;
+    homepage = https://wiki.gnome.org/Apps/Calculator;
     description = "Application that solves mathematical equations and is suitable as a default application in a Desktop environment";
     maintainers = gnome3.maintainers;
     license = licenses.gpl3;
diff --git a/pkgs/desktops/gnome-3/core/gnome-color-manager/default.nix b/pkgs/desktops/gnome-3/core/gnome-color-manager/default.nix
new file mode 100644
index 00000000000..9fcbbe814dc
--- /dev/null
+++ b/pkgs/desktops/gnome-3/core/gnome-color-manager/default.nix
@@ -0,0 +1,30 @@
+{ stdenv, fetchurl, meson, ninja, pkgconfig, gettext, itstool, desktop-file-utils, gnome3, glib, gtk3, libexif, libtiff, colord, colord-gtk, libcanberra-gtk3, lcms2, vte, exiv2 }:
+
+let
+  pname = "gnome-color-manager";
+  version = "3.28.0";
+in stdenv.mkDerivation rec {
+  name = "${pname}-${version}";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/${pname}/${gnome3.versionBranch version}/${name}.tar.xz";
+    sha256 = "1mixga6mq67wgxdsg6rnl7lvyh3z3yabxjmnyjq2k2v8ljgklczc";
+  };
+
+  nativeBuildInputs = [ meson ninja pkgconfig gettext itstool desktop-file-utils ];
+  buildInputs = [ glib gtk3 libexif libtiff colord colord-gtk libcanberra-gtk3 lcms2 vte exiv2 ];
+
+  passthru = {
+    updateScript = gnome3.updateScript {
+      packageName = pname;
+      attrPath = "gnome3.${pname}";
+    };
+  };
+
+  meta = with stdenv.lib; {
+    description = "A set of graphical utilities for color management to be used in the GNOME desktop";
+    license = licenses.gpl2Plus;
+    maintainers = gnome3.maintainers;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/core/gnome-contacts/default.nix b/pkgs/desktops/gnome-3/core/gnome-contacts/default.nix
index 6c485bcbd3f..5799e613d5b 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.26.1";
+  version = "3.28.2";
 in stdenv.mkDerivation rec {
   name = "gnome-contacts-${version}";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-contacts/${gnome3.versionBranch version}/${name}.tar.xz";
-    sha256 = "1jszv4b8rc5q8r460wb7qppvm1ssj4733b4z2vyavc95g00ik286";
+    sha256 = "1ilgmvgprn1slzmrzbs0zwgbzxp04rn5ycqd9c8zfvyh6zzwwr8w";
   };
 
   propagatedUserEnvPkgs = [ evolution-data-server ];
@@ -32,6 +32,12 @@ in stdenv.mkDerivation rec {
     patchShebangs meson_post_install.py
   '';
 
+  # In file included from src/gnome-contacts@exe/contacts-avatar-selector.c:30:0:
+  # /nix/store/*-cheese-3.28.0/include/cheese/cheese-widget.h:26:10: fatal error: clutter-gtk/clutter-gtk.h: No such file or directory
+  #  #include <clutter-gtk/clutter-gtk.h>
+  #           ^~~~~~~~~~~~~~~~~~~~~~~~~~~
+  NIX_CFLAGS_COMPILE = "-I${clutter-gtk}/include/clutter-gtk-1.0";
+
   doCheck = true;
 
   passthru = {
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 8774de41c4b..55ac087cfa2 100644
--- a/pkgs/desktops/gnome-3/core/gnome-control-center/default.nix
+++ b/pkgs/desktops/gnome-3/core/gnome-control-center/default.nix
@@ -1,29 +1,25 @@
-{ fetchurl, stdenv, pkgconfig, gnome3, ibus, intltool, upower, wrapGAppsHook
+{ fetchurl, stdenv, substituteAll, meson, ninja, pkgconfig, gnome3, ibus, gettext, upower, wrapGAppsHook
 , libcanberra-gtk3, accountsservice, libpwquality, libpulseaudio
-, gdk_pixbuf, librsvg, libnotify, libgudev
+, gdk_pixbuf, librsvg, libnotify, libgudev, gnome-color-manager
 , libxml2, polkit, libxslt, libgtop, libsoup, colord, colord-gtk
-, cracklib, libkrb5, networkmanagerapplet, networkmanager
-, libwacom, samba, shared-mime-info, tzdata, libtool
-, docbook_xsl, docbook_xsl_ns, modemmanager, clutter, clutter-gtk
+, cracklib, libkrb5, networkmanagerapplet, networkmanager, glibc
+, libwacom, samba, shared-mime-info, tzdata, libtool, libgnomekbd
+, docbook_xsl, modemmanager, clutter, clutter-gtk, cheese
 , fontconfig, sound-theme-freedesktop, grilo }:
 
-stdenv.mkDerivation rec {
-  name = "gnome-control-center-${version}";
-  version = "3.26.2";
+let
+  pname = "gnome-control-center";
+  version = "3.28.1";
+in stdenv.mkDerivation rec {
+  name = "${pname}-${version}";
 
   src = fetchurl {
-    url = "mirror://gnome/sources/gnome-control-center/${gnome3.versionBranch version}/${name}.tar.xz";
-    sha256 = "07aed27d6317f2cad137daa6d94a37ad02c32b958dcd30c8f07d0319abfb04c5";
+    url = "mirror://gnome/sources/${pname}/${gnome3.versionBranch version}/${name}.tar.xz";
+    sha256 = "0f2p91bzbl39q3cb1qj5vi55km7wxb2fibx07vciz39g5va5cpn6";
   };
 
-  passthru = {
-    updateScript = gnome3.updateScript { packageName = "gnome-control-center"; attrPath = "gnome3.gnome-control-center"; };
-  };
-
-  propagatedUserEnvPkgs = [ gnome3.gnome-themes-standard ];
-
   nativeBuildInputs = [
-    pkgconfig intltool wrapGAppsHook libtool libxslt docbook_xsl docbook_xsl_ns
+    meson ninja pkgconfig gettext wrapGAppsHook libtool libxslt docbook_xsl
     shared-mime-info
   ];
 
@@ -33,32 +29,42 @@ stdenv.mkDerivation rec {
     gnome-online-accounts libsoup colord libpulseaudio fontconfig colord-gtk
     accountsservice libkrb5 networkmanagerapplet libwacom samba libnotify
     grilo libpwquality cracklib vino libcanberra-gtk3 libgudev
-    gdk_pixbuf defaultIconTheme librsvg clutter clutter-gtk
+    gdk_pixbuf defaultIconTheme librsvg clutter clutter-gtk cheese
     networkmanager modemmanager gnome-bluetooth tracker
   ];
 
-  preBuild = ''
-    substituteInPlace panels/datetime/tz.h --replace "/usr/share/zoneinfo/zone.tab" "${tzdata}/share/zoneinfo/zone.tab"
-
-    substituteInPlace panels/region/cc-region-panel.c --replace "gkbd-keyboard-display" "${gnome3.libgnomekbd}/bin/gkbd-keyboard-display"
+  patches = [
+    (substituteAll {
+      src = ./paths.patch;
+      gcm = gnome-color-manager;
+      inherit glibc libgnomekbd tzdata;
+    })
+  ];
 
-    # hack to make test-endianess happy
-    mkdir -p $out/share/locale
-    substituteInPlace panels/datetime/test-endianess.c --replace "/usr/share/locale/" "$out/share/locale/"
+  postPatch = ''
+    chmod +x meson_post_install.py # patchShebangs requires executable file
+    patchShebangs meson_post_install.py
   '';
 
   preFixup = ''
     gappsWrapperArgs+=(
-      --prefix XDG_DATA_DIRS : "${gnome3.gnome-themes-standard}/share:${sound-theme-freedesktop}/share"
+      --prefix XDG_DATA_DIRS : "${sound-theme-freedesktop}/share"
       # Thumbnailers (for setting user profile pictures)
       --prefix XDG_DATA_DIRS : "${gdk_pixbuf}/share"
       --prefix XDG_DATA_DIRS : "${librsvg}/share"
     )
     for i in $out/share/applications/*; do
-      substituteInPlace $i --replace "gnome-control-center" "$out/bin/gnome-control-center"
+      substituteInPlace $i --replace "Exec=gnome-control-center" "Exec=$out/bin/gnome-control-center"
     done
   '';
 
+  passthru = {
+    updateScript = gnome3.updateScript {
+      packageName = pname;
+      attrPath = "gnome3.${pname}";
+    };
+  };
+
   meta = with stdenv.lib; {
     description = "Utilities to configure the GNOME desktop";
     license = licenses.gpl2Plus;
diff --git a/pkgs/desktops/gnome-3/core/gnome-control-center/paths.patch b/pkgs/desktops/gnome-3/core/gnome-control-center/paths.patch
new file mode 100644
index 00000000000..ad9187b650e
--- /dev/null
+++ b/pkgs/desktops/gnome-3/core/gnome-control-center/paths.patch
@@ -0,0 +1,82 @@
+--- a/panels/color/cc-color-panel.c
++++ b/panels/color/cc-color-panel.c
+@@ -634,7 +634,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 ("--parent-window"));
+@@ -1136,7 +1136,7 @@
+ 
+   /* open up gcm-viewer as a info pane */
+   argv = g_ptr_array_new_with_free_func (g_free);
+-  g_ptr_array_add (argv, g_build_filename (BINDIR, "gcm-viewer", NULL));
++  g_ptr_array_add (argv, g_build_filename ("@gcm@", "bin", "gcm-viewer", NULL));
+   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 @@
+ gcm_prefs_profile_clicked (CcColorPanel *prefs, CdProfile *profile, CdDevice *device)
+ {
+   GtkWidget *widget;
+-  gchar *s;
+   CcColorPanelPrivate *priv = prefs->priv;
+ 
+   /* get profile */
+@@ -1416,11 +1415,9 @@
+   /* 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);
+     }
+   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 */
+--- a/panels/datetime/tz.h
++++ b/panels/datetime/tz.h
+@@ -27,11 +27,7 @@
+ 
+ #include <glib.h>
+ 
+-#ifndef __sun
+-#  define TZ_DATA_FILE "/usr/share/zoneinfo/zone.tab"
+-#else
+-#  define TZ_DATA_FILE "/usr/share/lib/zoneinfo/tab/zone_sun.tab"
+-#endif
++#define TZ_DATA_FILE "@tzdata@/share/zoneinfo/zone.tab"
+ 
+ typedef struct _TzDB TzDB;
+ typedef struct _TzLocation TzLocation;
+--- a/panels/region/cc-region-panel.c
++++ b/panels/region/cc-region-panel.c
+@@ -1388,10 +1388,10 @@
+         }
+ 
+         if (variant && variant[0])
+-                commandline = g_strdup_printf ("gkbd-keyboard-display -l \"%s\t%s\"",
++                commandline = g_strdup_printf ("@libgnomekbd@/bin/gkbd-keyboard-display -l \"%s\t%s\"",
+                                                layout, variant);
+         else
+-                commandline = g_strdup_printf ("gkbd-keyboard-display -l %s",
++                commandline = g_strdup_printf ("@libgnomekbd@/bin/gkbd-keyboard-display -l %s",
+                                                layout);
+ 
+         g_spawn_command_line_async (commandline, NULL);
diff --git a/pkgs/desktops/gnome-3/core/gnome-desktop/default.nix b/pkgs/desktops/gnome-3/core/gnome-desktop/default.nix
index 7e85e27d6be..ed1e59da62c 100644
--- a/pkgs/desktops/gnome-3/core/gnome-desktop/default.nix
+++ b/pkgs/desktops/gnome-3/core/gnome-desktop/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   name = "gnome-desktop-${version}";
-  version = "3.26.2";
+  version = "3.28.1";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-desktop/${gnome3.versionBranch version}/${name}.tar.xz";
-    sha256 = "f7561a7a313fc474b2c390cd9696df1f5c1e1556080e43f4afe042b1060e5f2a";
+    sha256 = "16nbgrp0hihvrsa6kmqk0z8y7ajravyagmkmq1nnwn27psi9g8vq";
   };
 
   passthru = {
diff --git a/pkgs/desktops/gnome-3/core/gnome-dictionary/default.nix b/pkgs/desktops/gnome-3/core/gnome-dictionary/default.nix
index 95fcfac1d75..ee1feb6ddae 100644
--- a/pkgs/desktops/gnome-3/core/gnome-dictionary/default.nix
+++ b/pkgs/desktops/gnome-3/core/gnome-dictionary/default.nix
@@ -11,18 +11,20 @@ stdenv.mkDerivation rec {
     sha256 = "16b8bc248dcf68987826d5e39234b1bb7fd24a2607fcdbf4258fde88f012f300";
   };
 
-  passthru = {
-    updateScript = gnome3.updateScript { packageName = "gnome-dictionary"; attrPath = "gnome3.gnome-dictionary"; };
-  };
-
   doCheck = true;
 
-  propagatedUserEnvPkgs = [ gnome3.gnome-themes-standard ];
-  propagatedBuildInputs = [ gnome3.defaultIconTheme ];
+  nativeBuildInputs = [
+    meson ninja pkgconfig wrapGAppsHook libxml2 gettext itstool
+    desktop-file-utils appstream-glib libxslt docbook_xsl docbook_xml_dtd_43
+  ];
+  buildInputs = [ gtk glib gnome3.gsettings-desktop-schemas gnome3.defaultIconTheme ];
 
-  nativeBuildInputs = [ meson ninja pkgconfig wrapGAppsHook libxml2 gettext itstool
-                        desktop-file-utils appstream-glib libxslt docbook_xsl docbook_xml_dtd_43];
-  buildInputs = [ gtk glib gnome3.gsettings-desktop-schemas ];
+  passthru = {
+    updateScript = gnome3.updateScript {
+      packageName = "gnome-dictionary";
+      attrPath = "gnome3.gnome-dictionary";
+    };
+  };
 
   meta = with stdenv.lib; {
     homepage = https://wiki.gnome.org/Apps/Dictionary;
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 0937f5c3082..4f9e2dda540 100644
--- a/pkgs/desktops/gnome-3/core/gnome-disk-utility/default.nix
+++ b/pkgs/desktops/gnome-3/core/gnome-disk-utility/default.nix
@@ -1,28 +1,30 @@
 { stdenv, gettext, fetchurl, pkgconfig, udisks2, libsecret, libdvdread
 , meson, ninja, gtk, glib, wrapGAppsHook, libnotify
-, itstool, gnome3, gdk_pixbuf, libxml2
+, itstool, gnome3, libxml2
 , libcanberra-gtk3, libxslt, docbook_xsl, libpwquality }:
 
 stdenv.mkDerivation rec {
   name = "gnome-disk-utility-${version}";
-  version = "3.26.2";
+  version = "3.28.1";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-disk-utility/${gnome3.versionBranch version}/${name}.tar.xz";
-    sha256 = "aa2b96c2c64d8bde6cf802ff8da5796720d0becb21111342ced0637961e256f2";
+    sha256 = "09dmknfas8iifv6k5jb4a9ag57s8awrn0f26fd1qlg0mbfjlnfd6";
   };
 
   passthru = {
     updateScript = gnome3.updateScript { packageName = "gnome-disk-utility"; attrPath = "gnome3.gnome-disk-utility"; };
   };
 
-  propagatedUserEnvPkgs = [ gnome3.gnome-themes-standard ];
-
-  nativeBuildInputs = [ meson ninja pkgconfig gettext itstool libxslt docbook_xsl
-                        wrapGAppsHook libxml2 ];
-  buildInputs = [ gtk glib libsecret libpwquality libnotify libdvdread libcanberra-gtk3
-                  gdk_pixbuf udisks2 gnome3.defaultIconTheme
-                  gnome3.gnome-settings-daemon gnome3.gsettings-desktop-schemas ];
+  nativeBuildInputs = [
+    meson ninja pkgconfig gettext itstool libxslt docbook_xsl
+    wrapGAppsHook libxml2
+  ];
+  buildInputs = [
+    gtk glib libsecret libpwquality libnotify libdvdread libcanberra-gtk3
+    udisks2 gnome3.defaultIconTheme
+    gnome3.gnome-settings-daemon gnome3.gsettings-desktop-schemas
+  ];
 
   postPatch = ''
     chmod +x meson_post_install.py # patchShebangs requires executable file
diff --git a/pkgs/desktops/gnome-3/core/gnome-font-viewer/default.nix b/pkgs/desktops/gnome-3/core/gnome-font-viewer/default.nix
index 3774ff32db0..7e76b8991fd 100644
--- a/pkgs/desktops/gnome-3/core/gnome-font-viewer/default.nix
+++ b/pkgs/desktops/gnome-3/core/gnome-font-viewer/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   name = "gnome-font-viewer-${version}";
-  version = "3.26.0";
+  version = "3.28.0";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-font-viewer/${gnome3.versionBranch version}/${name}.tar.xz";
-    sha256 = "02768a62b4033de5ef9d00602e8c29e5de05255f879b0d9b4d731be9648fe9a0";
+    sha256 = "16mp22f255b8zqnnlqh25n6v79b9bd0gmli9ywqyapa0cfai09x3";
   };
 
   passthru = {
diff --git a/pkgs/desktops/gnome-3/core/gnome-keyring/default.nix b/pkgs/desktops/gnome-3/core/gnome-keyring/default.nix
index f7f06e35d3a..39108141c93 100644
--- a/pkgs/desktops/gnome-3/core/gnome-keyring/default.nix
+++ b/pkgs/desktops/gnome-3/core/gnome-keyring/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchurl, pkgconfig, dbus, libgcrypt, libtasn1, pam, python2, glib, libxslt
-, intltool, pango, gcr, gdk_pixbuf, atk, p11-kit, wrapGAppsHook
+, intltool, pango, gcr, gdk_pixbuf, atk, p11-kit, openssh, wrapGAppsHook
 , docbook_xsl, docbook_xml_dtd_42, gnome3 }:
 
 stdenv.mkDerivation rec {
   name = "gnome-keyring-${version}";
-  version = "3.20.1";
+  version = "3.28.2";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-keyring/${gnome3.versionBranch version}/${name}.tar.xz";
-    sha256 = "134ci3mn6jjap59z3lrvyiip7zf2nlw5xvanr44yajs57xr4x5lp";
+    sha256 = "0sk4las4ji8wv9nx8mldzqccmpmkvvr9pdwv9imj26r10xyin5w1";
   };
 
   passthru = {
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
   outputs = [ "out" "dev" ];
 
   buildInputs = with gnome3; [
-    dbus libgcrypt pam gtk3 libgnome-keyring
+    dbus libgcrypt pam gtk3 libgnome-keyring openssh
     pango gcr gdk_pixbuf atk p11-kit
   ];
 
@@ -40,8 +40,7 @@ stdenv.mkDerivation rec {
     patchShebangs build
   '';
 
-  # Tests are not deterministic https://bugzilla.gnome.org/show_bug.cgi?id=791932
-  doCheck = false;
+  doCheck = true;
   checkPhase = ''
     export HOME=$(mktemp -d)
     dbus-run-session \
diff --git a/pkgs/desktops/gnome-3/core/gnome-menus/default.nix b/pkgs/desktops/gnome-3/core/gnome-menus/default.nix
index fdd23d13459..8a316b60f02 100644
--- a/pkgs/desktops/gnome-3/core/gnome-menus/default.nix
+++ b/pkgs/desktops/gnome-3/core/gnome-menus/default.nix
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
   buildInputs = [ intltool glib gobjectIntrospection ];
 
   meta = {
-    homepage = http://www.gnome.org;
+    homepage = https://www.gnome.org;
     description = "Gnome menu specification";
 
     platforms = stdenv.lib.platforms.linux;
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 2abe8b28c03..d3d14f555cf 100644
--- a/pkgs/desktops/gnome-3/core/gnome-online-accounts/default.nix
+++ b/pkgs/desktops/gnome-3/core/gnome-online-accounts/default.nix
@@ -1,24 +1,20 @@
 { stdenv, fetchurl, pkgconfig, vala, glib, libxslt, gtk, wrapGAppsHook
-, webkitgtk, json-glib, rest, libsecret, dbus-glib, gnome-common, gtk-doc
-, telepathy-glib, intltool, dbus_libs, icu, glib-networking
-, libsoup, docbook_xsl_ns, docbook_xsl, gnome3, gcr, kerberos
+, webkitgtk, json-glib, rest, libsecret, dbus-glib, gtk-doc
+, telepathy-glib, gettext, dbus_libs, icu, glib-networking
+, libsoup, docbook_xsl, docbook_xsl_ns, gnome3, gcr, kerberos
 }:
 
-stdenv.mkDerivation rec {
-  name = "gnome-online-accounts-${version}";
-  version = "3.26.2";
+let
+  pname = "gnome-online-accounts";
+  version = "3.28.0";
+in stdenv.mkDerivation rec {
+  name = "${pname}-${version}";
 
   src = fetchurl {
-    url = "mirror://gnome/sources/gnome-online-accounts/${gnome3.versionBranch version}/${name}.tar.xz";
-    sha256 = "49f8760d86fe33057eaeeb4f1667bc7f6163e428591e7aed9575563be10b17d1";
+    url = "mirror://gnome/sources/${pname}/${gnome3.versionBranch version}/${name}.tar.xz";
+    sha256 = "035lmm21imr7ddpzffqabv53g3ggjscmqvlzy3j1qkv00zrlxg47";
   };
 
-  passthru = {
-    updateScript = gnome3.updateScript { packageName = "gnome-online-accounts"; attrPath = "gnome3.gnome-online-accounts"; };
-  };
-
-  NIX_CFLAGS_COMPILE = "-I${dbus-glib.dev}/include/dbus-1.0 -I${dbus_libs.dev}/include/dbus-1.0";
-
   outputs = [ "out" "man" "dev" "devdoc" ];
 
   configureFlags = [
@@ -32,14 +28,21 @@ stdenv.mkDerivation rec {
   enableParallelBuilding = true;
 
   nativeBuildInputs = [
-    pkgconfig vala gnome-common intltool wrapGAppsHook
-    libxslt docbook_xsl_ns docbook_xsl gtk-doc
+    pkgconfig vala gettext wrapGAppsHook
+    libxslt docbook_xsl docbook_xsl_ns gtk-doc
   ];
   buildInputs = [
     glib gtk webkitgtk json-glib rest libsecret dbus-glib telepathy-glib glib-networking icu libsoup
     gcr kerberos
   ];
 
+  passthru = {
+    updateScript = gnome3.updateScript {
+      packageName = pname;
+      attrPath = "gnome3.${pname}";
+    };
+  };
+
   meta = with stdenv.lib; {
     platforms = platforms.linux;
     maintainers = gnome3.maintainers;
diff --git a/pkgs/desktops/gnome-3/core/gnome-screenshot/default.nix b/pkgs/desktops/gnome-3/core/gnome-screenshot/default.nix
index 1f7aa4d874a..f5b33c88f57 100644
--- a/pkgs/desktops/gnome-3/core/gnome-screenshot/default.nix
+++ b/pkgs/desktops/gnome-3/core/gnome-screenshot/default.nix
@@ -1,20 +1,18 @@
 { stdenv, gettext, libxml2, fetchurl, pkgconfig, libcanberra-gtk3
-, bash, gtk3, glib, meson, ninja, wrapGAppsHook, appstream-glib
-, gnome3, librsvg, gdk_pixbuf }:
+, gtk3, glib, meson, ninja, wrapGAppsHook, appstream-glib, desktop-file-utils
+, gnome3 }:
 
-stdenv.mkDerivation rec {
-  name = "gnome-screenshot-${version}";
+let
+  pname = "gnome-screenshot";
   version = "3.26.0";
+in stdenv.mkDerivation rec {
+  name = "${pname}-${version}";
 
   src = fetchurl {
-    url = "mirror://gnome/sources/gnome-screenshot/${gnome3.versionBranch version}/${name}.tar.xz";
+    url = "mirror://gnome/sources/${pname}/${gnome3.versionBranch version}/${name}.tar.xz";
     sha256 = "1bbc11595d3822f4b92319cdf9ba49dd00f5471b6046c590847dc424a874c8bb";
   };
 
-  passthru = {
-    updateScript = gnome3.updateScript { packageName = "gnome-screenshot"; attrPath = "gnome3.gnome-screenshot"; };
-  };
-
   doCheck = true;
 
   postPatch = ''
@@ -22,17 +20,19 @@ stdenv.mkDerivation rec {
     patchShebangs build-aux/postinstall.py
   '';
 
-  propagatedUserEnvPkgs = [ gnome3.gnome-themes-standard ];
-  propagatedBuildInputs = [ gdk_pixbuf gnome3.defaultIconTheme librsvg ];
-
-  nativeBuildInputs = [ meson ninja pkgconfig gettext appstream-glib libxml2 wrapGAppsHook ];
-  buildInputs = [ bash gtk3 glib libcanberra-gtk3
-                  gnome3.gsettings-desktop-schemas ];
-
-  patches = [
-    ./prevent-cache-updates.patch
+  nativeBuildInputs = [ meson ninja pkgconfig gettext appstream-glib libxml2 desktop-file-utils wrapGAppsHook ];
+  buildInputs = [
+    gtk3 glib libcanberra-gtk3 gnome3.defaultIconTheme
+    gnome3.gsettings-desktop-schemas
   ];
 
+  passthru = {
+    updateScript = gnome3.updateScript {
+      packageName = "${pname}";
+      attrPath = "gnome3.${pname}";
+    };
+  };
+
   meta = with stdenv.lib; {
     homepage = https://en.wikipedia.org/wiki/GNOME_Screenshot;
     description = "Utility used in the GNOME desktop environment for taking screenshots";
diff --git a/pkgs/desktops/gnome-3/core/gnome-screenshot/prevent-cache-updates.patch b/pkgs/desktops/gnome-3/core/gnome-screenshot/prevent-cache-updates.patch
deleted file mode 100644
index 370d09cd2f0..00000000000
--- a/pkgs/desktops/gnome-3/core/gnome-screenshot/prevent-cache-updates.patch
+++ /dev/null
@@ -1,21 +0,0 @@
---- a/build-aux/postinstall.py
-+++ b/build-aux/postinstall.py
-@@ -8,18 +8,6 @@
- 
- # Packaging tools define DESTDIR and this isn't needed for them
- if 'DESTDIR' not in os.environ:
--    print('Updating icon cache...')
--    icon_cache_dir = os.path.join(datadir, 'icons', 'hicolor')
--    if not os.path.exists(icon_cache_dir):
--        os.makedirs(icon_cache_dir)
--    subprocess.call(['gtk-update-icon-cache', '-qtf', icon_cache_dir])
--
--    print('Updating desktop database...')
--    desktop_database_dir = os.path.join(datadir, 'applications')
--    if not os.path.exists(desktop_database_dir):
--        os.makedirs(desktop_database_dir)
--    subprocess.call(['update-desktop-database', '-q', desktop_database_dir])
--
-     print('Compiling GSettings schemas...')
-     schemas_dir = os.path.join(datadir, 'glib-2.0', 'schemas')
-     if not os.path.exists(schemas_dir):
diff --git a/pkgs/desktops/gnome-3/core/gnome-session/default.nix b/pkgs/desktops/gnome-3/core/gnome-session/default.nix
index c8bc6146221..7b407aad506 100644
--- a/pkgs/desktops/gnome-3/core/gnome-session/default.nix
+++ b/pkgs/desktops/gnome-3/core/gnome-session/default.nix
@@ -1,27 +1,33 @@
-{ fetchurl, stdenv, pkgconfig, gnome3, glib, dbus-glib, json-glib, upower
-, libxslt, intltool, makeWrapper, systemd, xorg, epoxy }:
+{ fetchurl, stdenv, meson, ninja, pkgconfig, gnome3, glib, gtk, gsettings-desktop-schemas
+, gnome-desktop, dbus, json-glib, libICE, xmlto, docbook_xsl, docbook_xml_dtd_412
+, libxslt, gettext, makeWrapper, systemd, xorg, epoxy }:
 
 stdenv.mkDerivation rec {
   name = "gnome-session-${version}";
-  version = "3.26.1";
+  version = "3.28.1";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-session/${gnome3.versionBranch version}/${name}.tar.xz";
-    sha256 = "d9414b368db982d3837ca106e64019f18e6cdd5b13965bea6c7d02ddf5103708";
+    sha256 = "14nmbirgrp2nm16khbz109saqdlinlbrlhjnbjydpnrlimfgg4xq";
   };
 
-  passthru = {
-    updateScript = gnome3.updateScript { packageName = "gnome-session"; attrPath = "gnome3.gnome-session"; };
-  };
+  mesonFlags = [ "-Dsystemd=true" ];
 
-  configureFlags = "--enable-systemd";
+  nativeBuildInputs = [
+    meson ninja pkgconfig gettext makeWrapper
+    xmlto libxslt docbook_xsl docbook_xml_dtd_412
+    dbus # for DTD
+  ];
 
-  buildInputs = with gnome3;
-    [ pkgconfig glib gnome-desktop gtk dbus-glib json-glib libxslt
-      gnome3.gnome-settings-daemon xorg.xtrans gnome3.defaultIconTheme
-      gsettings-desktop-schemas upower intltool gconf makeWrapper systemd
-      epoxy
-    ];
+  buildInputs = [
+    glib gtk libICE gnome-desktop json-glib xorg.xtrans gnome3.defaultIconTheme
+    gnome3.gnome-settings-daemon gsettings-desktop-schemas systemd epoxy
+  ];
+
+  postPatch = ''
+    chmod +x meson_post_install.py # patchShebangs requires executable file
+    patchShebangs meson_post_install.py
+  '';
 
   # FIXME: glib binaries shouldn't be in .dev!
   preFixup = ''
@@ -34,13 +40,22 @@ stdenv.mkDerivation rec {
       --prefix PATH : "${glib.dev}/bin" \
       --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \
       --suffix XDG_DATA_DIRS : "$out/share:$GSETTINGS_SCHEMAS_PATH" \
-      --suffix XDG_DATA_DIRS : "${gnome3.gnome-shell}/share" \
+      --suffix XDG_DATA_DIRS : "${gnome3.gnome-shell}/share"\
       --suffix XDG_CONFIG_DIRS : "${gnome3.gnome-settings-daemon}/etc/xdg"
   '';
 
+  passthru = {
+    updateScript = gnome3.updateScript {
+      packageName = "gnome-session";
+      attrPath = "gnome3.gnome-session";
+    };
+  };
+
   meta = with stdenv.lib; {
-    platforms = platforms.linux;
+    description = "GNOME session manager";
+    homepage = https://wiki.gnome.org/Projects/SessionManagement;
+    license = licenses.gpl2Plus;
     maintainers = gnome3.maintainers;
+    platforms = platforms.linux;
   };
-
 }
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 e3c84dfa9fd..cfb41c01e6a 100644
--- a/pkgs/desktops/gnome-3/core/gnome-settings-daemon/default.nix
+++ b/pkgs/desktops/gnome-3/core/gnome-settings-daemon/default.nix
@@ -1,38 +1,57 @@
-{ fetchurl, stdenv, pkgconfig, gnome3, intltool, glib, libnotify, lcms2, libXtst
-, libxkbfile, libpulseaudio, libcanberra-gtk3, upower, colord, libgweather, polkit
-, geoclue2, librsvg, xf86_input_wacom, udev, libgudev, libwacom, libxslt, libtool, networkmanager
-, docbook_xsl, docbook_xsl_ns, wrapGAppsHook, ibus, xkeyboard_config, tzdata }:
+{ fetchurl, substituteAll, stdenv, meson, ninja, pkgconfig, gnome3, perl, gettext, glib, libnotify, lcms2, libXtst
+, libxkbfile, libpulseaudio, alsaLib, libcanberra-gtk3, upower, colord, libgweather, polkit
+, geoclue2, librsvg, xf86_input_wacom, udev, libgudev, libwacom, libxslt, libxml2, networkmanager
+, docbook_xsl, wrapGAppsHook, ibus, xkeyboard_config, tzdata, nss }:
 
 stdenv.mkDerivation rec {
   name = "gnome-settings-daemon-${version}";
-  version = "3.26.2";
+  version = "3.28.1";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-settings-daemon/${gnome3.versionBranch version}/${name}.tar.xz";
-    sha256 = "5a3d156b35e03fa3c28fddd0321f6726082a711973dee2af686370faae2e75e4";
+    sha256 = "0z9dip9p0iav646cmxisii5sbkdr9hmaklc5fzvschpbjkhphksr";
   };
 
-  passthru = {
-    updateScript = gnome3.updateScript { packageName = "gnome-settings-daemon"; attrPath = "gnome3.gnome-settings-daemon"; };
-  };
+  patches = [
+    (substituteAll {
+      src = ./fix-paths.patch;
+      inherit tzdata;
+    })
+  ];
 
   # fatal error: gio/gunixfdlist.h: No such file or directory
   NIX_CFLAGS_COMPILE = "-I${glib.dev}/include/gio-unix-2.0";
 
-  buildInputs = with gnome3;
-    [ intltool pkgconfig ibus gtk glib gsettings-desktop-schemas networkmanager
-      libnotify gnome-desktop lcms2 libXtst libxkbfile libpulseaudio
-      libcanberra-gtk3 upower colord libgweather xkeyboard_config
-      polkit geocode-glib geoclue2 librsvg xf86_input_wacom udev libgudev libwacom libxslt
-      libtool docbook_xsl docbook_xsl_ns wrapGAppsHook gnome-themes-standard ];
+  nativeBuildInputs = [ meson ninja pkgconfig perl gettext libxml2 libxslt docbook_xsl wrapGAppsHook ];
+
+  buildInputs = with gnome3; [
+    ibus gtk glib gsettings-desktop-schemas networkmanager
+    libnotify gnome-desktop lcms2 libXtst libxkbfile libpulseaudio alsaLib
+    libcanberra-gtk3 upower colord libgweather xkeyboard_config nss
+    polkit geocode-glib geoclue2 librsvg xf86_input_wacom udev libgudev libwacom
+  ];
+
+  mesonFlags = [
+    "-Dudev_dir=lib/udev"
+  ];
 
   postPatch = ''
-    substituteInPlace plugins/datetime/tz.h --replace /usr/share/zoneinfo/zone.tab ${tzdata}/share/zoneinfo/zone.tab
+    for f in gnome-settings-daemon/codegen.py plugins/power/gsd-power-constants-update.pl meson_post_install.py; do
+      chmod +x $f
+      patchShebangs $f
+    done
   '';
 
+  passthru = {
+    updateScript = gnome3.updateScript {
+      packageName = "gnome-settings-daemon";
+      attrPath = "gnome3.gnome-settings-daemon";
+    };
+  };
+
   meta = with stdenv.lib; {
-    platforms = platforms.linux;
+    license = licenses.gpl2Plus;
     maintainers = gnome3.maintainers;
+    platforms = platforms.linux;
   };
-
 }
diff --git a/pkgs/desktops/gnome-3/core/gnome-settings-daemon/fix-paths.patch b/pkgs/desktops/gnome-3/core/gnome-settings-daemon/fix-paths.patch
new file mode 100644
index 00000000000..2229302cab7
--- /dev/null
+++ b/pkgs/desktops/gnome-3/core/gnome-settings-daemon/fix-paths.patch
@@ -0,0 +1,15 @@
+--- a/plugins/datetime/tz.h
++++ b/plugins/datetime/tz.h
+@@ -27,11 +27,7 @@
+ 
+ #include <glib.h>
+ 
+-#ifndef __sun
+-#  define TZ_DATA_FILE "/usr/share/zoneinfo/zone.tab"
+-#else
+-#  define TZ_DATA_FILE "/usr/share/lib/zoneinfo/tab/zone_sun.tab"
+-#endif
++#define TZ_DATA_FILE "@tzdata@/share/zoneinfo/zone.tab"
+ 
+ typedef struct _TzDB TzDB;
+ typedef struct _TzLocation TzLocation;
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 a76dd35711a..a963ea148ba 100644
--- a/pkgs/desktops/gnome-3/core/gnome-shell-extensions/default.nix
+++ b/pkgs/desktops/gnome-3/core/gnome-shell-extensions/default.nix
@@ -1,26 +1,57 @@
-{ stdenv, intltool, fetchurl, libgtop, pkgconfig, gtk3, glib
-, bash, makeWrapper, itstool, gnome3, file }:
+{ stdenv, fetchurl, meson, ninja, gettext, pkgconfig, spidermonkey_52, glib
+, gnome3, substituteAll }:
 
 stdenv.mkDerivation rec {
   name = "gnome-shell-extensions-${version}";
-  version = "3.26.2";
+  version = "3.28.1";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-shell-extensions/${gnome3.versionBranch version}/${name}.tar.xz";
-    sha256 = "aefda4d810ef5ceb9402e2d620f4bdc1dc40c9cc4f6a51749840f7dd08628ab6";
+    sha256 = "0n4h8rdnq3knrvlg6inrl62a73h20dbhfgniwy18572jicrh5ip9";
   };
 
   passthru = {
-    updateScript = gnome3.updateScript { packageName = "gnome-shell-extensions"; attrPath = "gnome3.gnome-shell-extensions"; };
+    updateScript = gnome3.updateScript {
+      packageName = "gnome-shell-extensions";
+      attrPath = "gnome3.gnome-shell-extensions";
+    };
   };
 
+  patches = [
+    (substituteAll {
+      src = ./fix_gmenu.patch;
+      gmenu_path = "${gnome3.gnome-menus}/lib/girepository-1.0";
+    })
+  ];
+
   doCheck = true;
 
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ gtk3 glib libgtop intltool itstool
-                  makeWrapper file ];
+  nativeBuildInputs = [ meson ninja pkgconfig gettext glib ];
+  buildInputs = [ spidermonkey_52 ];
+
+  mesonFlags = [ "-Dextension_set=all" ];
+
+  preFixup = ''
+    # The meson build doesn't compile the schemas.
+    # Fixup adapted from export-zips.sh in the source.
+
+    extensiondir=$out/share/gnome-shell/extensions
+    schemadir=$out/share/gsettings-schemas/${name}/glib-2.0/schemas/
+
+    glib-compile-schemas $schemadir
+
+    for f in $extensiondir/*; do
+      name=`basename ''${f%%@*}`
+      uuid=$name@gnome-shell-extensions.gcampax.github.com
+      schema=$schemadir/org.gnome.shell.extensions.$name.gschema.xml
 
-  configureFlags = [ "--enable-extensions=all" ];
+      if [ -f $schema ]; then
+        mkdir $f/schemas
+        ln -s $schema $f/schemas;
+        glib-compile-schemas $f/schemas
+      fi
+    done
+  '';
 
   meta = with stdenv.lib; {
     homepage = https://wiki.gnome.org/Projects/GnomeShell/Extensions;
diff --git a/pkgs/desktops/gnome-3/core/gnome-shell-extensions/fix_gmenu.patch b/pkgs/desktops/gnome-3/core/gnome-shell-extensions/fix_gmenu.patch
new file mode 100644
index 00000000000..c384826de61
--- /dev/null
+++ b/pkgs/desktops/gnome-3/core/gnome-shell-extensions/fix_gmenu.patch
@@ -0,0 +1,24 @@
+From f72924a59d4a30daefccf84526bd854ebbe65ac8 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Tor=20Hedin=20Br=C3=B8nner?= <torhedinbronner@gmail.com>
+Date: Tue, 3 Apr 2018 14:13:12 +0200
+Subject: [PATCH] Fix gmenu typelib path
+
+---
+ extensions/apps-menu/extension.js | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/extensions/apps-menu/extension.js b/extensions/apps-menu/extension.js
+index 5b38213..d706f64 100644
+--- a/extensions/apps-menu/extension.js
++++ b/extensions/apps-menu/extension.js
+@@ -1,5 +1,7 @@
+ /* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
+ 
++imports.gi.GIRepository.Repository.prepend_search_path('@gmenu_path@');
++
+ const Atk = imports.gi.Atk;
+ const DND = imports.ui.dnd;
+ const GMenu = imports.gi.GMenu;
+-- 
+2.16.2
+
diff --git a/pkgs/desktops/gnome-3/core/gnome-shell/default.nix b/pkgs/desktops/gnome-3/core/gnome-shell/default.nix
index 026f5436237..ae9aa047ba0 100644
--- a/pkgs/desktops/gnome-3/core/gnome-shell/default.nix
+++ b/pkgs/desktops/gnome-3/core/gnome-shell/default.nix
@@ -1,10 +1,10 @@
-{ fetchurl, fetchpatch, stdenv, meson, ninja, pkgconfig, gnome3, json-glib, libcroco, gettext, libsecret
+{ fetchurl, fetchpatch, substituteAll, stdenv, meson, ninja, pkgconfig, gnome3, json-glib, libcroco, gettext, libsecret
 , python3Packages, libsoup, polkit, clutter, networkmanager, docbook_xsl , docbook_xsl_ns, at-spi2-core
-, libstartup_notification, telepathy-glib, telepathy-logger, libXtst, p11-kit, unzip, glibcLocales
-, sqlite, libgweather, libcanberra-gtk3, librsvg, geoclue2, perl, docbook_xml_dtd_42
+, 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, nss, gobjectIntrospection, gstreamer, wrapGAppsHook
 , accountsservice, gdk_pixbuf, gdm, upower, ibus, networkmanagerapplet
-, gst_all_1 }:
+, sassc, systemd, gst_all_1 }:
 
 # http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/gnome-base/gnome-shell/gnome-shell-3.10.2.1.ebuild?revision=1.3&view=markup
 
@@ -13,11 +13,11 @@ let
 
 in stdenv.mkDerivation rec {
   name = "gnome-shell-${version}";
-  version = "3.26.2";
+  version = "3.28.1";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-shell/${gnome3.versionBranch version}/${name}.tar.xz";
-    sha256 = "e5a87f2f838d981db9823352b90b2ce2f40d24d31ed9f062dccfa41b820e0b1c";
+    sha256 = "1k2cgaky293kcjis0pmh9hw1aby3yyilb5dzrbww62wxzppc9s35";
   };
 
   # Needed to find /etc/NetworkManager/VPN
@@ -25,21 +25,26 @@ in stdenv.mkDerivation rec {
 
   LANG = "en_US.UTF-8";
 
-  nativeBuildInputs = [ meson ninja gettext docbook_xsl docbook_xsl_ns docbook_xml_dtd_42 perl wrapGAppsHook glibcLocales ];
-  buildInputs = with gnome3;
-    [ gsettings-desktop-schemas gnome-keyring gnome-menus glib gcr json-glib accountsservice
-      libcroco libsecret pkgconfig libsoup polkit gdk_pixbuf
-      (librsvg.override { enableIntrospection = true; })
-      clutter networkmanager libstartup_notification telepathy-glib
-      libXtst p11-kit networkmanagerapplet gjs mutter libpulseaudio caribou evolution-data-server
-      libical nss gtk gstreamer gdm
-      libcanberra-gtk3 gnome-control-center geoclue2
-      defaultIconTheme sqlite gnome3.gnome-bluetooth
-      libgweather # not declared at build time, but typelib is needed at runtime
-      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 (stdenv.lib.getLib dconf) ];
+  nativeBuildInputs = [
+    meson ninja pkgconfig gettext docbook_xsl docbook_xsl_ns docbook_xml_dtd_42 perl wrapGAppsHook glibcLocales
+    sassc desktop-file-utils
+  ];
+  buildInputs = with gnome3; [
+    systemd caribou
+    gsettings-desktop-schemas gnome-keyring glib gcr json-glib accountsservice
+    libcroco libsecret libsoup polkit gdk_pixbuf librsvg
+    clutter networkmanager libstartup_notification telepathy-glib
+    libXtst gjs mutter libpulseaudio evolution-data-server
+    libical gtk gstreamer gdm libcanberra-gtk3 geoclue2
+    defaultIconTheme gnome3.gnome-bluetooth
+    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
+
+    # not declared at build time, but typelib is needed at runtime
+    libgweather networkmanagerapplet
+  ];
   propagatedUserEnvPkgs = [
     # Needed to support on-screen keyboard used with touch screen devices
     # see https://github.com/NixOS/nixpkgs/issues/25968
@@ -52,7 +57,11 @@ in stdenv.mkDerivation rec {
       url = https://bug787864.bugzilla-attachments.gnome.org/attachment.cgi?id=360016;
       sha256 = "1dmahd8ysbzh33rxglba0fbq127aw9h14cl2a2bw9913vjxhxijm";
     })
-    ./fix-paths.patch
+    (substituteAll {
+      src = ./fix-paths.patch;
+      inherit (gnome3) libgnomekbd;
+      inherit unzip;
+    })
   ];
 
   postPatch = ''
@@ -60,28 +69,34 @@ in stdenv.mkDerivation rec {
 
     substituteInPlace src/gnome-shell-extension-tool.in --replace "@PYTHON@" "${pythonEnv}/bin/python"
     substituteInPlace src/gnome-shell-perf-tool.in --replace "@PYTHON@" "${pythonEnv}/bin/python"
-    substituteInPlace js/ui/extensionDownloader.js --replace "unzip" "${unzip}/bin/unzip"
   '';
 
   postInstall = ''
     glib-compile-schemas $out/share/glib-2.0/schemas
   '';
 
-  postFixup = ''
-    # Patched meson does not add internal libraries to rpath
-    patchelf --set-rpath "$out/lib/gnome-shell:$(patchelf --print-rpath $out/bin/.gnome-shell-wrapped)" $out/bin/.gnome-shell-wrapped
+  preFixup = ''
+    gappsWrapperArgs+=(
+      # Until glib’s xdgmime is patched
+      # Fixes “Failed to load resource:///org/gnome/shell/theme/noise-texture.png: Unrecognized image file format”
+      --prefix XDG_DATA_DIRS : "${shared-mime-info}/share"
+    )
   '';
 
-  enableParallelBuilding = true;
-
   passthru = {
     mozillaPlugin = "/lib/mozilla/plugins";
-    updateScript = gnome3.updateScript { packageName = "gnome-shell"; attrPath = "gnome3.gnome-shell"; };
+    updateScript = gnome3.updateScript {
+      packageName = "gnome-shell";
+      attrPath = "gnome3.gnome-shell";
+    };
   };
 
   meta = with stdenv.lib; {
-    platforms = platforms.linux;
+    description = "Core user interface for the GNOME 3 desktop";
+    homepage = https://wiki.gnome.org/Projects/GnomeShell;
+    license = licenses.gpl2Plus;
     maintainers = gnome3.maintainers;
+    platforms = platforms.linux;
   };
 
 }
diff --git a/pkgs/desktops/gnome-3/core/gnome-shell/fix-paths.patch b/pkgs/desktops/gnome-3/core/gnome-shell/fix-paths.patch
index b24049f9b9f..32a0cc476da 100644
--- a/pkgs/desktops/gnome-3/core/gnome-shell/fix-paths.patch
+++ b/pkgs/desktops/gnome-3/core/gnome-shell/fix-paths.patch
@@ -1,18 +1,22 @@
-diff --git a/meson.build b/meson.build
-index 4c1f5c63b..a9edb8795 100644
---- a/meson.build
-+++ b/meson.build
-@@ -59,12 +59,7 @@ servicedir = join_paths(datadir, 'dbus-1', 'services')
+--- a/js/ui/extensionDownloader.js
++++ b/js/ui/extensionDownloader.js
+@@ -86,7 +86,7 @@
+     stream.output_stream.write_bytes(contents, null);
+     stream.close(null);
+     let [success, pid] = GLib.spawn_async(null,
+-                                          ['unzip', '-uod', dir.get_path(), '--', file.get_path()],
++                                          ['@unzip@/bin/unzip', '-uod', dir.get_path(), '--', file.get_path()],
+                                           null,
+                                           GLib.SpawnFlags.SEARCH_PATH | GLib.SpawnFlags.DO_NOT_REAP_CHILD,
+                                           null);
+--- a/js/ui/status/keyboard.js
++++ b/js/ui/status/keyboard.js
+@@ -1019,7 +1019,7 @@
+         if (xkbVariant.length > 0)
+             description = description + '\t' + xkbVariant;
  
- plugindir = get_variable('BROWSER_PLUGIN_DIR', mozplugindir)
+-        Util.spawn(['gkbd-keyboard-display', '-l', description]);
++        Util.spawn(['@libgnomekbd@/bin/gkbd-keyboard-display', '-l', description]);
+     },
  
--keybindings_dep = dependency('gnome-keybindings', required: false)
--if keybindings_dep.found()
--  keysdir = keybindings_dep.get_pkgconfig_variable('keysdir')
--else
--  keysdir = join_paths(datadir, 'gnome-control-center', 'keybindings')
--endif
-+keysdir = join_paths(datadir, 'gnome-control-center', 'keybindings')
- 
- atk_bridge_dep = dependency('atk-bridge-2.0')
- canberra_dep = dependency('libcanberra')
+     _containerGetPreferredWidth: function(container, for_height, alloc) {
diff --git a/pkgs/desktops/gnome-3/core/gnome-software/default.nix b/pkgs/desktops/gnome-3/core/gnome-software/default.nix
index 8996a4cc3e9..21a1e1a1c4c 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, gtkspell3, libxslt
+, glib, appstream-glib, libsoup, polkit, isocodes, gspell, libxslt, gobjectIntrospection
 , json-glib, libsecret, valgrind-light, docbook_xsl, docbook_xml_dtd_42, gtk-doc, desktop-file-utils }:
 
 stdenv.mkDerivation rec {
   name = "gnome-software-${version}";
-  version = "3.26.7";
+  version = "3.28.1";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-software/${gnome3.versionBranch version}/${name}.tar.xz";
-    sha256 = "00lfzvlicqd8gk5ijnjdi36ikmhdzvfjj993rpf7mm04ncw4k0za";
+    sha256 = "0j27zygb3g08q9i8ygwpxqf6g0lrivq2vhj7p7g9x0zh9r0vzlbs";
   };
 
   patches = [
@@ -20,19 +20,16 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [
     meson ninja pkgconfig gettext wrapGAppsHook libxslt docbook_xml_dtd_42
-    valgrind-light docbook_xsl gtk-doc desktop-file-utils
+    valgrind-light docbook_xsl gtk-doc desktop-file-utils gobjectIntrospection
   ];
 
   buildInputs = [
     gnome3.gtk glib packagekit appstream-glib libsoup
     gnome3.gsettings-desktop-schemas gnome3.gnome-desktop
-    gtkspell3 json-glib libsecret ostree
+    gspell json-glib libsecret ostree
     polkit
   ];
 
-  # https://gitlab.gnome.org/GNOME/gnome-software/issues/320
-  NIX_CFLAGS_COMPILE = "-I${glib.dev}/include/gio-unix-2.0";
-
   mesonFlags = [
     "-Denable-flatpak=false"
     "-Denable-rpm=false"
diff --git a/pkgs/desktops/gnome-3/core/gnome-software/fix-paths.patch b/pkgs/desktops/gnome-3/core/gnome-software/fix-paths.patch
index 239e1781bb1..6f443a8a43e 100644
--- a/pkgs/desktops/gnome-3/core/gnome-software/fix-paths.patch
+++ b/pkgs/desktops/gnome-3/core/gnome-software/fix-paths.patch
@@ -5,7 +5,7 @@
  
  	/* find filename */
 -	filename = g_build_filename (DATADIR, "xml", "iso-codes", "iso_639.xml", NULL);
-+	filename = g_build_filename ("@isoCodes@", "share", "xml", "iso-codes", "iso_639.xml", NULL);
++	filename = g_build_filename ("@isocodes@", "share", "xml", "iso-codes", "iso_639.xml", NULL);
  	if (!g_file_test (filename, G_FILE_TEST_EXISTS)) {
  		g_free (filename);
  		filename = g_build_filename ("/usr", "share", "xml", "iso-codes", "iso_639.xml", NULL);
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 673140c3e1b..23a41b6d6ae 100644
--- a/pkgs/desktops/gnome-3/core/gnome-system-log/default.nix
+++ b/pkgs/desktops/gnome-3/core/gnome-system-log/default.nix
@@ -1,34 +1,31 @@
 { stdenv, intltool, fetchurl, pkgconfig
-, bash, gtk3, glib, wrapGAppsHook
-, itstool, gnome3, librsvg, gdk_pixbuf, libxml2 }:
+, gtk3, glib, wrapGAppsHook
+, itstool, gnome3, libxml2 }:
 
-stdenv.mkDerivation rec {
-  name = "gnome-system-log-3.9.90";
+let
+  pname = "gnome-system-log";
+  version = "3.9.90";
+in stdenv.mkDerivation rec {
+  name = "${pname}-${version}";
 
   src = fetchurl {
-    url = "mirror://gnome/sources/gnome-system-log/3.9/${name}.tar.xz";
+    url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
     sha256 = "9eeb51982d347aa7b33703031e2c1d8084201374665425cd62199649b29a5411";
   };
 
   doCheck = true;
 
-  NIX_CFLAGS_COMPILE = "-I${gnome3.glib.dev}/include/gio-unix-2.0";
+  nativeBuildInputs = [ pkgconfig intltool itstool wrapGAppsHook libxml2 ];
+  buildInputs = [ gtk3 glib gnome3.gsettings-desktop-schemas gnome3.defaultIconTheme ];
 
-  propagatedUserEnvPkgs = [ gnome3.gnome-themes-standard ];
-  propagatedBuildInputs = [ gdk_pixbuf gnome3.defaultIconTheme librsvg ];
-
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ bash gtk3 glib intltool itstool
-                  gnome3.gsettings-desktop-schemas wrapGAppsHook libxml2 ];
-
-  preFixup = ''
-    gappsWrapperArgs+=(
-      --prefix XDG_DATA_DIRS : "${gtk3.out}/share:${gnome3.gnome-themes-standard}/share"
-    )
-  '';
+  passthru = {
+    updateScript = gnome3.updateScript {
+      packageName = pname;
+      attrPath = "gnome3.${pname}";
+    };
+  };
 
   meta = with stdenv.lib; {
-    homepage = https://help.gnome.org/users/gnome-system-log/3.9/;
     description = "Graphical, menu-driven viewer that you can use to view and monitor your system logs";
     maintainers = gnome3.maintainers;
     license = licenses.gpl2;
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 0e64bc4362c..46a91dda70e 100644
--- a/pkgs/desktops/gnome-3/core/gnome-system-monitor/default.nix
+++ b/pkgs/desktops/gnome-3/core/gnome-system-monitor/default.nix
@@ -1,43 +1,41 @@
-{ stdenv, intltool, fetchurl, pkgconfig, gtkmm3, libxml2
+{ stdenv, gettext, fetchurl, pkgconfig, gtkmm3, libxml2, polkit
 , bash, gtk3, glib, wrapGAppsHook
 , itstool, gnome3, librsvg, gdk_pixbuf, libgtop, systemd }:
 
 stdenv.mkDerivation rec {
   name = "gnome-system-monitor-${version}";
-  version = "3.26.0";
+  version = "3.28.1";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-system-monitor/${gnome3.versionBranch version}/${name}.tar.xz";
-    sha256 = "f848a8c2ca5e164cf09d3a205dd49e4e4bf4b60d43b0969c10443eb519d0e6b3";
-  };
-
-  passthru = {
-    updateScript = gnome3.updateScript { packageName = "gnome-system-monitor"; attrPath = "gnome3.gnome-system-monitor"; };
+    sha256 = "0wdpd5mfrm0gwmwjvcj556c3mpxf3pcfnvh7x698i8if53ci0gw7";
   };
 
   doCheck = true;
 
-  propagatedUserEnvPkgs = [ gnome3.gnome-themes-standard ];
-
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ bash gtk3 glib intltool itstool libxml2
-                  gtkmm3 libgtop wrapGAppsHook
-                  gdk_pixbuf gnome3.defaultIconTheme librsvg
-                  gnome3.gsettings-desktop-schemas systemd ];
-
-  preFixup = ''
-    gappsWrapperArgs+=(
-      --prefix XDG_DATA_DIRS : "${gtk3.out}/share:${gnome3.gnome-themes-standard}/share"
-    )
-  '';
+  nativeBuildInputs = [
+    pkgconfig gettext itstool wrapGAppsHook
+    polkit # for ITS file
+  ];
+  buildInputs = [
+    bash gtk3 glib libxml2 gtkmm3 libgtop gdk_pixbuf gnome3.defaultIconTheme librsvg
+    gnome3.gsettings-desktop-schemas systemd
+  ];
 
   # fails to build without --enable-static
   configureFlags = ["--enable-systemd" "--enable-static"];
 
   enableParallelBuilding = true;
 
+  passthru = {
+    updateScript = gnome3.updateScript {
+      packageName = "gnome-system-monitor";
+      attrPath = "gnome3.gnome-system-monitor";
+    };
+  };
+
   meta = with stdenv.lib; {
-    homepage = https://help.gnome.org/users/gnome-system-monitor/3.12/;
+    homepage = https://wiki.gnome.org/Apps/SystemMonitor;
     description = "System Monitor shows you what programs are running and how much processor time, memory, and disk space are being used";
     maintainers = gnome3.maintainers;
     license = licenses.gpl2;
diff --git a/pkgs/desktops/gnome-3/core/gnome-terminal/default.nix b/pkgs/desktops/gnome-3/core/gnome-terminal/default.nix
index 703bb6fe110..6f80fe0c90b 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.26.2";
+  version = "3.28.1";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-terminal/${gnome3.versionBranch version}/${name}.tar.xz";
-    sha256 = "3a9ba414a814569476515275ad303d8056f296b2669234447712559aa97005b0";
+    sha256 = "1hqwh12hiy73mazqgvyrq8jk4c669x2fb4nh8mwby3qbk8ca19pp";
   };
 
   passthru = {
diff --git a/pkgs/desktops/gnome-3/core/gnome-themes-extra/default.nix b/pkgs/desktops/gnome-3/core/gnome-themes-extra/default.nix
new file mode 100644
index 00000000000..0503d3baa6c
--- /dev/null
+++ b/pkgs/desktops/gnome-3/core/gnome-themes-extra/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, fetchurl, intltool, gtk3, gnome3, librsvg, pkgconfig, pango, atk, gtk2
+, gdk_pixbuf }:
+
+let
+  pname = "gnome-themes-extra";
+  version = "3.28";
+in stdenv.mkDerivation rec {
+  name = "${pname}-${version}";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/${pname}/${gnome3.versionBranch version}/${name}.tar.xz";
+    sha256 = "06aqg9asq2vqi9wr29bs4v8z2bf4manhbhfghf4nvw01y2zs0jvw";
+  };
+
+  passthru = {
+    updateScript = gnome3.updateScript {
+      packageName = pname;
+    };
+  };
+
+  nativeBuildInputs = [ pkgconfig intltool ];
+  buildInputs = [ gtk3 librsvg pango atk gtk2 gdk_pixbuf gnome3.defaultIconTheme ];
+
+  meta = with stdenv.lib; {
+    platforms = platforms.linux;
+    maintainers = gnome3.maintainers;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/core/gnome-themes-standard/default.nix b/pkgs/desktops/gnome-3/core/gnome-themes-standard/default.nix
deleted file mode 100644
index 720120b392d..00000000000
--- a/pkgs/desktops/gnome-3/core/gnome-themes-standard/default.nix
+++ /dev/null
@@ -1,25 +0,0 @@
-{ stdenv, fetchurl, intltool, gtk3, gnome3, librsvg, pkgconfig, pango, atk, gtk2
-, gdk_pixbuf }:
-
-stdenv.mkDerivation rec {
-  name = "gnome-themes-standard-${version}";
-  version = "3.22.3";
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/gnome-themes-standard/${gnome3.versionBranch version}/${name}.tar.xz";
-    sha256 = "61dc87c52261cfd5b94d65e8ffd923ddeb5d3944562f84942eeeb197ab8ab56a";
-  };
-
-  passthru = {
-    updateScript = gnome3.updateScript { packageName = "gnome-themes-standard"; };
-  };
-
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ intltool gtk3 librsvg pango atk gtk2 gdk_pixbuf
-                  gnome3.defaultIconTheme ];
-
-  meta = with stdenv.lib; {
-    platforms = platforms.linux;
-    maintainers = gnome3.maintainers;
-  };
-}
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 8854e7a2d0c..a8efa238447 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.26.2.1";
+  version = "3.28.1";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-user-docs/${gnome3.versionBranch version}/${name}.tar.xz";
-    sha256 = "93136f5baffd160c14e1b39f0ac60b9768975edac2da2b30c945faef534af8f5";
+    sha256 = "189j78d23c6jr5x5j9nxkbdqxg31xvmwvyblz7f9xi9ncy0qdvfh";
   };
 
   passthru = {
diff --git a/pkgs/desktops/gnome-3/core/gnome-user-share/default.nix b/pkgs/desktops/gnome-3/core/gnome-user-share/default.nix
index 642ee0badf1..509c10d7564 100644
--- a/pkgs/desktops/gnome-3/core/gnome-user-share/default.nix
+++ b/pkgs/desktops/gnome-3/core/gnome-user-share/default.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   name = "gnome-user-share-${version}";
-  version = "3.18.3";
+  version = "3.28.0";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-user-share/${gnome3.versionBranch version}/${name}.tar.xz";
-    sha256 = "3092fa7ad137531e35484195dde4ecbbc75a8a3d9b8209aef4c852717cf4bbf1";
+    sha256 = "04wjnrcdlmyszj582nsda32sgi44nwgrw2ksy11xp17nb09d7m09";
   };
 
   passthru = {
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 89614a327a6..e5ca314c69a 100644
--- a/pkgs/desktops/gnome-3/core/gsettings-desktop-schemas/default.nix
+++ b/pkgs/desktops/gnome-3/core/gsettings-desktop-schemas/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   name = "gsettings-desktop-schemas-${version}";
-  version = "3.24.1";
+  version = "3.28.0";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gsettings-desktop-schemas/${gnome3.versionBranch version}/${name}.tar.xz";
-    sha256 = "76a3fa309f9de6074d66848987214f0b128124ba7184c958c15ac78a8ac7eea7";
+    sha256 = "0rwidacwrxlc54x90h9g3wx2zlisc4vm49vmxi15azmpj1vwvd2c";
   };
 
   passthru = {
diff --git a/pkgs/desktops/gnome-3/core/gtksourceviewmm/default.nix b/pkgs/desktops/gnome-3/core/gtksourceviewmm/default.nix
index ae4f75bf76a..0a37144d8f7 100644
--- a/pkgs/desktops/gnome-3/core/gtksourceviewmm/default.nix
+++ b/pkgs/desktops/gnome-3/core/gtksourceviewmm/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "gtksourceviewmm-${version}";
-  version = "3.21.2";
+  version = "3.21.3";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gtksourceviewmm/${gnome3.versionBranch version}/${name}.tar.xz";
-    sha256 = "d21296d8624a1046841bfec082021b7b966df0b62e19ee300828519bc54dd9c6";
+    sha256 = "1danc9mp5mnb65j01qxkwj92z8jf1gns41wbgp17qh7050f0pc6v";
   };
 
   passthru = {
diff --git a/pkgs/desktops/gnome-3/core/gucharmap/default.nix b/pkgs/desktops/gnome-3/core/gucharmap/default.nix
index ff9b232cb7a..45a4a97205b 100644
--- a/pkgs/desktops/gnome-3/core/gucharmap/default.nix
+++ b/pkgs/desktops/gnome-3/core/gucharmap/default.nix
@@ -1,18 +1,15 @@
-{ stdenv, intltool, fetchurl, pkgconfig, gtk3
+{ stdenv, intltool, fetchurl, pkgconfig, gtk3, defaultIconTheme
 , glib, desktop-file-utils, bash, appdata-tools
 , wrapGAppsHook, gnome3, itstool, libxml2
 , callPackage, unzip, gobjectIntrospection }:
 
-# TODO: icons and theme still does not work
-# use packaged gnome3.adwaita-icon-theme
-
 stdenv.mkDerivation rec {
   name = "gucharmap-${version}";
-  version = "10.0.3";
+  version = "10.0.4";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gucharmap/${gnome3.versionBranch version}/${name}.tar.xz";
-    sha256 = "ac07d75924e2d8f436d9492e8f7d54cf109404d34de06886a3967563cd1726a4";
+    sha256 = "00gh3lll6wykd2qg1lrj05a4wvscsypmrx7rpb6jsbvb4scnh9mv";
   };
 
   passthru = {
@@ -21,8 +18,6 @@ stdenv.mkDerivation rec {
 
   doCheck = true;
 
-  propagatedUserEnvPkgs = [ gnome3.gnome-themes-standard ];
-
   preConfigure = "patchShebangs gucharmap/gen-guch-unicode-tables.pl";
 
   nativeBuildInputs = [
@@ -30,7 +25,7 @@ stdenv.mkDerivation rec {
     gnome3.yelp-tools libxml2 desktop-file-utils gobjectIntrospection
   ];
 
-  buildInputs = [ gtk3 glib gnome3.gsettings-desktop-schemas ];
+  buildInputs = [ gtk3 glib gnome3.gsettings-desktop-schemas defaultIconTheme ];
 
   unicode-data = callPackage ./unicode-data.nix {};
 
diff --git a/pkgs/desktops/gnome-3/core/libgepub/default.nix b/pkgs/desktops/gnome-3/core/libgepub/default.nix
index cb771fc1989..f43b1de46e5 100644
--- a/pkgs/desktops/gnome-3/core/libgepub/default.nix
+++ b/pkgs/desktops/gnome-3/core/libgepub/default.nix
@@ -3,13 +3,13 @@
 
 let
   pname = "libgepub";
-  version = "0.5.3";
+  version = "0.6.0";
 in stdenv.mkDerivation rec {
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${gnome3.versionBranch version}/${name}.tar.xz";
-    sha256 = "0gn14k1qnkfj0677i2wc42ig4m8biqib9apk23dnl92m3h1f2lmb";
+    sha256 = "16dkyywqdnfngmwsgbyga0kl9vcnzczxi3lmhm27pifrq5f3k2n7";
   };
 
   doCheck = true;
diff --git a/pkgs/desktops/gnome-3/core/libgweather/default.nix b/pkgs/desktops/gnome-3/core/libgweather/default.nix
index ad14abb1000..fbae8fbcfbd 100644
--- a/pkgs/desktops/gnome-3/core/libgweather/default.nix
+++ b/pkgs/desktops/gnome-3/core/libgweather/default.nix
@@ -1,30 +1,45 @@
-{ stdenv, fetchurl, pkgconfig, libxml2, gtk, intltool, libsoup, gconf
-, pango, gdk_pixbuf, atk, tzdata, gnome3 }:
+{ stdenv, fetchurl, meson, ninja, pkgconfig, libxml2, glib, gtk, gettext, libsoup
+, gtk-doc, docbook_xsl, gobjectIntrospection, tzdata, geocode-glib, vala, gnome3 }:
 
-stdenv.mkDerivation rec {
-  name = "libgweather-${version}";
-  version = "3.26.1";
+let
+  pname = "libgweather";
+  version = "3.28.1";
+in stdenv.mkDerivation rec {
+  name = "${pname}-${version}";
 
-  src = fetchurl {
-    url = "mirror://gnome/sources/libgweather/${gnome3.versionBranch version}/${name}.tar.xz";
-    sha256 = "fca78470b345bce948e0333cab0a7c52c32562fc4a75de37061248a64e8fc4b8";
-  };
+  outputs = [ "out" "dev" "devdoc" ];
 
-  passthru = {
-    updateScript = gnome3.updateScript { packageName = "libgweather"; attrPath = "gnome3.libgweather"; };
+  src = fetchurl {
+    url = "mirror://gnome/sources/${pname}/${gnome3.versionBranch version}/${name}.tar.xz";
+    sha256 = "1qqbfgmlfs0g0v92rdl96v2b44yr3sqj9x7zpqv1nx9aaf486yhm";
   };
 
-  configureFlags = [ "--with-zoneinfo-dir=${tzdata}/share/zoneinfo" "--enable-vala" ];
-  propagatedBuildInputs = [ libxml2 gtk libsoup gconf pango gdk_pixbuf atk gnome3.geocode-glib ];
-  nativeBuildInputs = [ pkgconfig intltool gnome3.vala ];
+  nativeBuildInputs = [ meson ninja pkgconfig gettext vala gtk-doc docbook_xsl gobjectIntrospection ];
+  buildInputs = [ glib gtk libsoup libxml2 geocode-glib ];
 
-  # Prevent building vapi into ${vala} derivation directory
-  prePatch = ''
-    substituteInPlace libgweather/Makefile.in --replace "\$(DESTDIR)\$(vapidir)" "\$(DESTDIR)\$(girdir)/../vala/vapi"
+  postPatch = ''
+    chmod +x meson/meson_post_install.py
+    patchShebangs meson/meson_post_install.py
   '';
 
+  mesonFlags = [
+    "-Dzoneinfo_dir=${tzdata}/share/zoneinfo"
+    "-Denable_vala=true"
+    "-Dgtk_doc=true"
+  ];
+
+  passthru = {
+    updateScript = gnome3.updateScript {
+      packageName = pname;
+      attrPath = "gnome3.${pname}";
+    };
+  };
+
   meta = with stdenv.lib; {
-    platforms = platforms.linux;
+    description = "A library to access weather information from online services for numerous locations";
+    homepage = https://wiki.gnome.org/Projects/LibGWeather;
+    license = licenses.gpl2Plus;
     maintainers = gnome3.maintainers;
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/desktops/gnome-3/core/libzapojit/default.nix b/pkgs/desktops/gnome-3/core/libzapojit/default.nix
index 11761bd3412..10c6185fa82 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, gtk, gnome-online-accounts, gnome3 }:
+{ stdenv, fetchurl, pkgconfig, glib, intltool, json-glib, rest, libsoup, gnome-online-accounts, gnome3, gobjectIntrospection }:
 let
   pname = "libzapojit";
   version = "0.0.3";
@@ -6,13 +6,15 @@ in
 stdenv.mkDerivation rec {
   name = "${pname}-${version}";
 
+  outputs = [ "out" "dev" ];
+
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${gnome3.versionBranch version}/${name}.tar.xz";
     sha256 = "0zn3s7ryjc3k1abj4k55dr2na844l451nrg9s6cvnnhh569zj99x";
   };
 
-  nativeBuildInputs = [ pkgconfig intltool ];
-  buildInputs = [ glib json-glib rest libsoup gtk gnome-online-accounts ];
+  nativeBuildInputs = [ pkgconfig intltool gobjectIntrospection ];
+  propagatedBuildInputs = [ glib json-glib rest libsoup gnome-online-accounts ]; # zapojit-0.0.pc
 
   passthru = {
     updateScript = gnome3.updateScript {
diff --git a/pkgs/desktops/gnome-3/core/mutter/default.nix b/pkgs/desktops/gnome-3/core/mutter/default.nix
index dc89c8c674a..866888feba0 100644
--- a/pkgs/desktops/gnome-3/core/mutter/default.nix
+++ b/pkgs/desktops/gnome-3/core/mutter/default.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   name = "mutter-${version}";
-  version = "3.26.2";
+  version = "3.28.1";
 
   src = fetchurl {
     url = "mirror://gnome/sources/mutter/${gnome3.versionBranch version}/${name}.tar.xz";
-    sha256 = "83309feb05a4635c47713665c0592af8ab6d7f17a36e4bd626d67609b6422fab";
+    sha256 = "1bhmjvf6l1fj5igsw2xlg3nv5526laiwaxh47dgk50f40qax1qin";
   };
 
   passthru = {
@@ -29,15 +29,6 @@ stdenv.mkDerivation rec {
     "--with-xwayland-path=${xwayland}/bin/Xwayland"
   ];
 
-  patches = [
-    # Pipewire 0.1.8 compatibility
-    (fetchurl {
-      name = "mutter-pipewire-0.1.8-compat.patch";
-      url = https://bugzilla.gnome.org/attachment.cgi?id=367356;
-      sha256 = "10bx5zf11wwhhy686w11ggikk56pbxydpbk9fbd947ir385x92cz";
-    })
-  ];
-
   propagatedBuildInputs = [
     # required for pkgconfig to detect mutter-clutter
     libXtst
diff --git a/pkgs/desktops/gnome-3/core/nautilus/default.nix b/pkgs/desktops/gnome-3/core/nautilus/default.nix
index 8ed7bb2f01a..2daaf2d4326 100644
--- a/pkgs/desktops/gnome-3/core/nautilus/default.nix
+++ b/pkgs/desktops/gnome-3/core/nautilus/default.nix
@@ -1,31 +1,28 @@
 { stdenv, fetchurl, meson, ninja, pkgconfig, gettext, libxml2, desktop-file-utils, wrapGAppsHook
 , gtk, gnome3, gnome-autoar, glib, dbus-glib, shared-mime-info, libnotify, libexif
-, exempi, librsvg, tracker, tracker-miners, libselinux, gdk_pixbuf }:
+, exempi, librsvg, tracker, tracker-miners, gnome-desktop, gexiv2, libselinux, gdk_pixbuf }:
 
-stdenv.mkDerivation rec {
-  name = "nautilus-${version}";
-  version = "3.26.2";
+let
+  pname = "nautilus";
+  version = "3.28.1";
+in stdenv.mkDerivation rec {
+  name = "${pname}-${version}";
 
   src = fetchurl {
-    url = "mirror://gnome/sources/nautilus/${gnome3.versionBranch version}/${name}.tar.xz";
-    sha256 = "79c99404c665ea76b3db86f261fbd28a62b54c51429b05c3314462c9de2614b4";
-  };
-
-  passthru = {
-    updateScript = gnome3.updateScript { packageName = "nautilus"; attrPath = "gnome3.nautilus"; };
+    url = "mirror://gnome/sources/${pname}/${gnome3.versionBranch version}/${name}.tar.xz";
+    sha256 = "19dhpa2ylrg8d5274lahy7xqr2p9z3jnq1h4qmsh95czkpy7is4w";
   };
 
   nativeBuildInputs = [ meson ninja pkgconfig libxml2 gettext wrapGAppsHook desktop-file-utils ];
 
-  buildInputs = [ dbus-glib shared-mime-info libexif gtk exempi libnotify libselinux
-                  tracker tracker-miners gnome3.gnome-desktop gnome3.adwaita-icon-theme
-                  gnome3.gsettings-desktop-schemas ];
+  buildInputs = [
+    dbus-glib shared-mime-info libexif gtk exempi libnotify libselinux
+    tracker tracker-miners gnome-desktop gexiv2
+    gnome3.adwaita-icon-theme gnome3.gsettings-desktop-schemas
+  ];
 
   propagatedBuildInputs = [ gnome-autoar ];
 
-  # fatal error: gio/gunixinputstream.h: No such file or directory
-  NIX_CFLAGS_COMPILE = "-I${glib.dev}/include/gio-unix-2.0";
-
   preFixup = ''
     gappsWrapperArgs+=(
       # Thumbnailers
@@ -35,16 +32,23 @@ stdenv.mkDerivation rec {
     )
   '';
 
-#  hardeningDisable = [ "format" ];
-  enableParallelBuilding = true;
-
   postPatch = ''
     patchShebangs build-aux/meson/postinstall.py
   '';
 
   patches = [ ./extension_dir.patch ];
 
+  passthru = {
+    updateScript = gnome3.updateScript {
+      packageName = pname;
+      attrPath = "gnome3.${pname}";
+    };
+  };
+
   meta = with stdenv.lib; {
+    description = "The file manager for GNOME";
+    homepage = https://wiki.gnome.org/Apps/Files;
+    license = licenses.gpl3Plus;
     platforms = platforms.linux;
     maintainers = gnome3.maintainers;
   };
diff --git a/pkgs/desktops/gnome-3/core/simple-scan/default.nix b/pkgs/desktops/gnome-3/core/simple-scan/default.nix
index a40a8fe8f81..e4458b7d0a3 100644
--- a/pkgs/desktops/gnome-3/core/simple-scan/default.nix
+++ b/pkgs/desktops/gnome-3/core/simple-scan/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   name = "simple-scan-${version}";
-  version = "3.26.3";
+  version = "3.28.1";
 
   src = fetchurl {
     url = "mirror://gnome/sources/simple-scan/${gnome3.versionBranch version}/${name}.tar.xz";
-    sha256 = "0galkcc76j0p016fvwn16llh0kh4ykvjy4v7kc6qqnlp38g174n3";
+    sha256 = "140vz94vml0vf6kiw3sg436qfvajk21x6q86smvycgf24qfyvk6a";
   };
 
   passthru = {
diff --git a/pkgs/desktops/gnome-3/core/sushi/default.nix b/pkgs/desktops/gnome-3/core/sushi/default.nix
index 00cec2f93b9..114c0d8ac96 100644
--- a/pkgs/desktops/gnome-3/core/sushi/default.nix
+++ b/pkgs/desktops/gnome-3/core/sushi/default.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   name = "sushi-${version}";
-  version = "3.24.0";
+  version = "3.28.3";
 
   src = fetchurl {
     url = "mirror://gnome/sources/sushi/${gnome3.versionBranch version}/${name}.tar.xz";
-    sha256 = "f90bb95172664486f8d529995007fd12f0df9d0c998e20658b6203f46ce70d48";
+    sha256 = "1yydd34q7r05z0jdgym3r4f8jv8snrcvvhxw0vxn6damlvj5lbiw";
   };
 
   passthru = {
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 ef6bc97b1c6..457cee3b3f2 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, libsoup, gnome3 }:
+{ stdenv, fetchurl, meson, ninja, pkgconfig, gettext, gmime, libxml2, libsoup, gobjectIntrospection, 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 ];
+  nativeBuildInputs = [ meson ninja pkgconfig gettext gobjectIntrospection ];
   buildInputs = [ gmime libxml2 libsoup ];
 
   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 a9d8b2ad11c..b4c15b5dce2 100644
--- a/pkgs/desktops/gnome-3/core/totem/default.nix
+++ b/pkgs/desktops/gnome-3/core/totem/default.nix
@@ -1,8 +1,8 @@
 { stdenv, fetchurl, meson, ninja, intltool, gst_all_1, clutter
 , clutter-gtk, clutter-gst, python3Packages, shared-mime-info
 , pkgconfig, gtk3, glib, gobjectIntrospection
-, bash, wrapGAppsHook, itstool, libxml2, dbus-glib, vala, gnome3, librsvg
-, gdk_pixbuf, file, tracker, nautilus }:
+, bash, wrapGAppsHook, itstool, libxml2, vala, gnome3, librsvg
+, gdk_pixbuf, tracker, nautilus }:
 
 stdenv.mkDerivation rec {
   name = "totem-${version}";
@@ -13,10 +13,6 @@ stdenv.mkDerivation rec {
     sha256 = "e32fb9a68097045e75c87ad1b8177f5c01aea2a13dcb3b2e71a0f9570fe9ee13";
   };
 
-  passthru = {
-    updateScript = gnome3.updateScript { packageName = "totem"; attrPath = "gnome3.totem"; };
-  };
-
   doCheck = true;
 
   # https://bugs.launchpad.net/ubuntu/+source/totem/+bug/1712021
@@ -26,14 +22,14 @@ stdenv.mkDerivation rec {
 
   NIX_CFLAGS_COMPILE = "-I${gnome3.glib.dev}/include/gio-unix-2.0";
 
-  propagatedUserEnvPkgs = [ gnome3.gnome-themes-standard ];
-
-  nativeBuildInputs = [ meson ninja vala pkgconfig intltool python3Packages.python itstool file 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
-                  gst_all_1.gst-plugins-ugly gst_all_1.gst-libav gnome3.libpeas shared-mime-info dbus-glib
-                  gdk_pixbuf libxml2 gnome3.defaultIconTheme gnome3.gnome-desktop
-                  gnome3.gsettings-desktop-schemas tracker nautilus ];
+  nativeBuildInputs = [ meson ninja vala pkgconfig intltool python3Packages.python itstool 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
+    gst_all_1.gst-plugins-ugly gst_all_1.gst-libav gnome3.libpeas shared-mime-info
+    gdk_pixbuf libxml2 gnome3.defaultIconTheme gnome3.gnome-desktop
+    gnome3.gsettings-desktop-schemas tracker nautilus
+  ];
 
   propagatedBuildInputs = [ gobjectIntrospection python3Packages.pylint python3Packages.pygobject2 ];
 
@@ -52,9 +48,15 @@ stdenv.mkDerivation rec {
 
   mesonFlags = [ "-Dwith-nautilusdir=lib/nautilus/extensions-3.0" ];
 
-  GI_TYPELIB_PATH = "$out/lib/girepository-1.0";
   wrapPrefixVariables = [ "PYTHONPATH" ];
 
+  passthru = {
+    updateScript = gnome3.updateScript {
+      packageName = "totem";
+      attrPath = "gnome3.totem";
+    };
+  };
+
   meta = with stdenv.lib; {
     homepage = https://wiki.gnome.org/Apps/Videos;
     description = "Movie player for the GNOME desktop based on GStreamer";
diff --git a/pkgs/desktops/gnome-3/core/tracker-miners/default.nix b/pkgs/desktops/gnome-3/core/tracker-miners/default.nix
index 56292330e01..b612db9ce38 100644
--- a/pkgs/desktops/gnome-3/core/tracker-miners/default.nix
+++ b/pkgs/desktops/gnome-3/core/tracker-miners/default.nix
@@ -9,25 +9,23 @@
 , libsoup, json-glib, libseccomp
 , libiptcdata }:
 
-stdenv.mkDerivation rec {
-  name = "tracker-miners-${version}";
+let
+  pname = "tracker-miners";
   version = "2.0.4";
+in stdenv.mkDerivation rec {
+  name = "${pname}-${version}";
 
   src = fetchurl {
-    url = "mirror://gnome/sources/tracker-miners/${gnome3.versionBranch version}/${name}.tar.xz";
+    url = "mirror://gnome/sources/${pname}/${gnome3.versionBranch version}/${name}.tar.xz";
     sha256 = "0mp9m2waii583sjgr61m1ni6py6dry11r0rzidgvw1g4cxhn89j6";
   };
 
-  passthru = {
-    updateScript = gnome3.updateScript { packageName = "tracker-miners"; attrPath = "gnome3.tracker-miners"; };
-  };
-
   NIX_CFLAGS_COMPILE = "-I${poppler.dev}/include/poppler";
 
   enableParallelBuilding = true;
 
   nativeBuildInputs = [ vala pkgconfig intltool itstool libxslt wrapGAppsHook ];
-  # TODO: add libgrss, libenca
+  # TODO: add libgrss, libenca, libosinfo
   buildInputs = [
     bzip2 evolution-data-server exempi flac giflib glib gnome3.totem-pl-parser
     gnome3.tracker gst_all_1.gst-plugins-base gst_all_1.gstreamer icu
@@ -46,6 +44,13 @@ stdenv.mkDerivation rec {
     })
   ];
 
+  passthru = {
+    updateScript = gnome3.updateScript {
+      packageName = pname;
+      attrPath = "gnome3.${pname}";
+    };
+  };
+
   meta = with stdenv.lib; {
     homepage = https://wiki.gnome.org/Projects/Tracker;
     description = "Desktop-neutral user information store, search tool and indexer";
diff --git a/pkgs/desktops/gnome-3/core/tracker-miners/fix-paths.patch b/pkgs/desktops/gnome-3/core/tracker-miners/fix-paths.patch
index 9ed93fbcca9..847e3bf204d 100644
--- a/pkgs/desktops/gnome-3/core/tracker-miners/fix-paths.patch
+++ b/pkgs/desktops/gnome-3/core/tracker-miners/fix-paths.patch
@@ -1,5 +1,14 @@
 --- a/src/libtracker-miners-common/tracker-domain-ontology.c
 +++ b/src/libtracker-miners-common/tracker-domain-ontology.c
+@@ -313,7 +313,7 @@
+ 			goto end;
+ 		}
+ 	} else {
+-		path = g_build_filename (SHAREDIR, "tracker", "domain-ontologies",
++		path = g_build_filename ("@tracker@", "share", "tracker", "domain-ontologies",
+ 		                         DEFAULT_RULE, NULL);
+ 
+ 		if (!g_file_test (path, G_FILE_TEST_IS_REGULAR)) {
 @@ -372,7 +372,7 @@
  	if (!priv->ontology_location) {
  		gchar *ontology_path;
diff --git a/pkgs/desktops/gnome-3/core/tracker/default.nix b/pkgs/desktops/gnome-3/core/tracker/default.nix
index 61ae06ec066..cbf16c6807f 100644
--- a/pkgs/desktops/gnome-3/core/tracker/default.nix
+++ b/pkgs/desktops/gnome-3/core/tracker/default.nix
@@ -1,23 +1,23 @@
-{ stdenv, fetchurl, intltool, pkgconfig
+{ stdenv, fetchurl, intltool, pkgconfig, gobjectIntrospection
 , libxml2, upower, glib, wrapGAppsHook, vala, sqlite, libxslt
 , gnome3, icu, libuuid, networkmanager, libsoup, json-glib }:
 
-stdenv.mkDerivation rec {
-  name = "tracker-${version}";
+let
+  pname = "tracker";
   version = "2.0.3";
+in stdenv.mkDerivation rec {
+  name = "${pname}-${version}";
+
+  outputs = [ "out" "dev" ];
 
   src = fetchurl {
-    url = "mirror://gnome/sources/tracker/${gnome3.versionBranch version}/${name}.tar.xz";
+    url = "mirror://gnome/sources/${pname}/${gnome3.versionBranch version}/${name}.tar.xz";
     sha256 = "1005w90vhk1cl8g6kxpy2vdzbskw2jskfjcl42lngv18q5sb4bss";
   };
 
-  passthru = {
-    updateScript = gnome3.updateScript { packageName = "tracker"; attrPath = "gnome3.tracker"; };
-  };
-
   enableParallelBuilding = true;
 
-  nativeBuildInputs = [ vala pkgconfig intltool libxslt wrapGAppsHook ];
+  nativeBuildInputs = [ vala pkgconfig intltool libxslt wrapGAppsHook gobjectIntrospection ];
   # TODO: add libstemmer
   buildInputs = [
     glib libxml2 sqlite upower icu networkmanager libsoup libuuid json-glib
@@ -30,6 +30,13 @@ stdenv.mkDerivation rec {
     patchShebangs utils/g-ir-merge/g-ir-merge
   '';
 
+  passthru = {
+    updateScript = gnome3.updateScript {
+      packageName = pname;
+      attrPath = "gnome3.${pname}";
+    };
+  };
+
   meta = with stdenv.lib; {
     homepage = https://wiki.gnome.org/Projects/Tracker;
     description = "Desktop-neutral user information store, search tool and indexer";
diff --git a/pkgs/desktops/gnome-3/core/vino/default.nix b/pkgs/desktops/gnome-3/core/vino/default.nix
index 4365451636a..65c6ace8eec 100644
--- a/pkgs/desktops/gnome-3/core/vino/default.nix
+++ b/pkgs/desktops/gnome-3/core/vino/default.nix
@@ -1,11 +1,8 @@
 { stdenv, fetchurl, lib, wrapGAppsHook
 , pkgconfig, gnome3, gtk3, glib, intltool, libXtst, libnotify, libsoup
 , telepathySupport ? false, dbus-glib ? null, telepathy-glib ? null
-, libsecret ? null, gnutls ? null, libgcrypt ? null, avahi ? null
-, zlib ? null, libjpeg ? null
-, libXdamage ? null, libXfixes ? null, libXext ? null
-, gnomeKeyringSupport ? false, libgnome-keyring3 ? null
-, networkmanager ? null }:
+, libsecret, gnutls, libgcrypt, avahi, zlib, libjpeg, libXdamage, libXfixes, libXext
+, networkmanager }:
 
 with lib;
 
@@ -18,28 +15,25 @@ stdenv.mkDerivation rec {
     sha256 = "2911c779b6a2c46e5bc8e5a0c94c2a4d5bd4a1ee7e35f2818702cb13d9d23bab";
   };
 
-  passthru = {
-    updateScript = gnome3.updateScript { packageName = "vino"; attrPath = "gnome3.vino"; };
-  };
-
   doCheck = true;
 
+  nativeBuildInputs = [ intltool wrapGAppsHook pkgconfig ];
+
   buildInputs = [
-    wrapGAppsHook
-    pkgconfig gnome3.defaultIconTheme gtk3 glib intltool libXtst libnotify libsoup
-  ] ++ optionals telepathySupport [ dbus-glib telepathy-glib ]
-    ++ optional gnomeKeyringSupport libgnome-keyring3
-    ++ filter (p: p != null) [
-      libsecret gnutls libgcrypt avahi zlib libjpeg
-      libXdamage libXfixes libXext networkmanager
-    ];
-
-  preFixup = ''
-    export GSETTINGS_SCHEMAS_PATH="$out/share/gsettings-schemas/${name}:$GSETTINGS_SCHEMAS_PATH"
-  '';
+    gnome3.defaultIconTheme gtk3 glib libXtst libnotify libsoup
+    libsecret gnutls libgcrypt avahi zlib libjpeg
+    libXdamage libXfixes libXext networkmanager
+  ] ++ optionals telepathySupport [ dbus-glib telepathy-glib ];
+
+  passthru = {
+    updateScript = gnome3.updateScript {
+      packageName = "vino";
+      attrPath = "gnome3.vino";
+    };
+  };
 
   meta = with stdenv.lib; {
-    homepage = https://wiki.gnome.org/action/show/Projects/Vino;
+    homepage = https://wiki.gnome.org/Projects/Vino;
     description = "GNOME desktop sharing server";
     maintainers = with maintainers; [ lethalman domenkozar ];
     license = licenses.gpl2;
diff --git a/pkgs/desktops/gnome-3/core/vte/default.nix b/pkgs/desktops/gnome-3/core/vte/default.nix
index 4abeb2ba961..6577ba3ae58 100644
--- a/pkgs/desktops/gnome-3/core/vte/default.nix
+++ b/pkgs/desktops/gnome-3/core/vte/default.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   name = "vte-${version}";
-  version = "0.50.2";
+  version = "0.52.1";
 
   src = fetchurl {
     url = "mirror://gnome/sources/vte/${gnome3.versionBranch version}/${name}.tar.xz";
-    sha256 = "79dd316bfaff48f2fb74d066baae0d830e1f44436796fe410a57297e5c5f09cf";
+    sha256 = "1lva70inb5y8p42rg95fb88z2ybwcz0lybla3ixbgp2sj0s4rzdh";
   };
 
   passthru = {
diff --git a/pkgs/desktops/gnome-3/core/yelp-tools/default.nix b/pkgs/desktops/gnome-3/core/yelp-tools/default.nix
index 28e89cad9fb..5a0a5bd43b5 100644
--- a/pkgs/desktops/gnome-3/core/yelp-tools/default.nix
+++ b/pkgs/desktops/gnome-3/core/yelp-tools/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "yelp-tools-${version}";
-  version = "3.18.0";
+  version = "3.28.0";
 
   src = fetchurl {
     url = "mirror://gnome/sources/yelp-tools/${gnome3.versionBranch version}/${name}.tar.xz";
-    sha256 = "c6c1d65f802397267cdc47aafd5398c4b60766e0a7ad2190426af6c0d0716932";
+    sha256 = "1b61dmlb1sd50fgq6zgnkcpx2s1py33q0x9cx67fzpsr4gmgxnw2";
   };
 
   passthru = {
diff --git a/pkgs/desktops/gnome-3/core/yelp-xsl/default.nix b/pkgs/desktops/gnome-3/core/yelp-xsl/default.nix
index 341a7d7582c..f904a90454f 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.20.1";
+  version = "3.28.0";
 
   src = fetchurl {
     url = "mirror://gnome/sources/yelp-xsl/${gnome3.versionBranch version}/${name}.tar.xz";
-    sha256 = "dc61849e5dca473573d32e28c6c4e3cf9c1b6afe241f8c26e29539c415f97ba0";
+    sha256 = "14rznm1qpsnmkwksnkd5j7zplakl01kvrcw0fdmd5gdc65xz9kcc";
   };
 
   passthru = {
diff --git a/pkgs/desktops/gnome-3/core/yelp/default.nix b/pkgs/desktops/gnome-3/core/yelp/default.nix
index 661ddc1f12f..9a47ecd2842 100644
--- a/pkgs/desktops/gnome-3/core/yelp/default.nix
+++ b/pkgs/desktops/gnome-3/core/yelp/default.nix
@@ -1,32 +1,31 @@
 { stdenv, intltool, fetchurl, webkitgtk, pkgconfig, gtk3, glib
-, file, librsvg, gnome3, gdk_pixbuf, sqlite, groff
-, bash, makeWrapper, itstool, libxml2, libxslt, icu, gst_all_1
+, gnome3, sqlite
+, itstool, libxml2, libxslt, gst_all_1
 , wrapGAppsHook }:
 
 stdenv.mkDerivation rec {
   name = "yelp-${version}";
-  version = "3.26.0";
+  version = "3.28.1";
 
   src = fetchurl {
     url = "mirror://gnome/sources/yelp/${gnome3.versionBranch version}/${name}.tar.xz";
-    sha256 = "e4cb02ed2f44cfec3c352c957f8a461d9689cbc06eb3b503a58ffe92e1753f1b";
+    sha256 = "033w5qnhm495pnvscnb3k2dagzgq4fsnzcrh0k2rgr10mw2mv2p8";
   };
 
+  nativeBuildInputs = [ pkgconfig intltool itstool wrapGAppsHook ];
+  buildInputs = [
+    gtk3 glib webkitgtk sqlite
+    libxml2 libxslt gnome3.yelp-xsl
+    gnome3.defaultIconTheme
+    gst_all_1.gst-plugins-base gst_all_1.gst-plugins-good
+  ];
+
   passthru = {
-    updateScript = gnome3.updateScript { packageName = "yelp"; };
+    updateScript = gnome3.updateScript {
+      packageName = "yelp";
+    };
   };
 
-  propagatedUserEnvPkgs = [ gnome3.gnome-themes-standard ];
-
-  preConfigure = "substituteInPlace ./configure --replace /usr/bin/file ${file}/bin/file";
-
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ gtk3 glib webkitgtk intltool itstool sqlite
-                  libxml2 libxslt icu file makeWrapper gnome3.yelp-xsl
-                  librsvg gdk_pixbuf gnome3.defaultIconTheme groff
-                  gnome3.gsettings-desktop-schemas wrapGAppsHook
-                  gst_all_1.gst-plugins-base gst_all_1.gst-plugins-good ];
-
   meta = with stdenv.lib; {
     homepage = https://wiki.gnome.org/Apps/Yelp;
     description = "The help viewer in Gnome";
diff --git a/pkgs/desktops/gnome-3/core/zenity/default.nix b/pkgs/desktops/gnome-3/core/zenity/default.nix
index fd55fd9f87a..b9788106342 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.26.0";
+  version = "3.28.1";
 
   src = fetchurl {
     url = "mirror://gnome/sources/zenity/${gnome3.versionBranch version}/${name}.tar.xz";
-    sha256 = "6a7f34626dd62b751fe22bcdb32f3558f8a8fdddcc9406893dd264f0ac18e830";
+    sha256 = "0swavrkc5ps3fwzy6h6l5mmim0wwy10xrq0qqkay5d0zf9a965yv";
   };
 
   passthru = {
diff --git a/pkgs/desktops/gnome-3/default.nix b/pkgs/desktops/gnome-3/default.nix
index b79b04565fe..422dedbce85 100644
--- a/pkgs/desktops/gnome-3/default.nix
+++ b/pkgs/desktops/gnome-3/default.nix
@@ -29,7 +29,7 @@ let
     gtk3.out # for gtk-update-icon-cache
     glib-networking gvfs dconf gnome-backgrounds gnome-control-center
     gnome-menus gnome-settings-daemon gnome-shell
-    gnome-themes-standard defaultIconTheme gnome-shell-extensions
+    gnome-themes-extra defaultIconTheme gnome-shell-extensions
     pkgs.hicolor-icon-theme
   ];
 
@@ -38,11 +38,11 @@ let
     gnome-calculator gnome-contacts gnome-font-viewer gnome-screenshot
     gnome-system-log gnome-system-monitor simple-scan
     gnome-terminal gnome-user-docs evolution file-roller gedit
-    gnome-clocks gnome-music gnome-tweak-tool gnome-photos
+    gnome-clocks gnome-music gnome-tweaks gnome-photos
     nautilus-sendto dconf-editor vinagre gnome-weather gnome-logs
     gnome-maps gnome-characters gnome-calendar accerciser gnome-nettool
     gnome-getting-started-docs gnome-packagekit gnome-software
-    gnome-power-manager
+    gnome-power-manager gnome-usage
   ];
 
   gamesPackages = with gnome3; [ swell-foop lightsoff iagno
@@ -52,8 +52,11 @@ let
     hitori gnome-taquin
   ];
 
-  inherit (pkgs) glib gtk2 webkitgtk gtk3 gtkmm3 libcanberra-gtk2
-    clutter clutter-gst clutter-gtk cogl gtkvnc;
+  inherit (pkgs) atk glib gobjectIntrospection gtk2 webkitgtk gtk3 gtkmm3 libcanberra-gtk2
+    libgtop libgudev libhttpseverywhere librsvg libsecret gdk_pixbuf gtksourceview gtksourceview4
+    easytag meld orca rhythmbox shotwell gnome-usage
+    clutter clutter-gst clutter-gtk cogl gtkvnc libdazzle;
+
   inherit (pkgs.gnome2) ORBit2;
   libsoup = pkgs.libsoup.override { gnomeSupport = true; };
   libchamplain = pkgs.libchamplain.override { libsoup = libsoup; };
@@ -61,7 +64,7 @@ let
   gnome3 = self // { recurseForDerivations = false; };
   gtk = gtk3;
   gtkmm = gtkmm3;
-  vala = pkgs.vala_0_38;
+  vala = pkgs.vala_0_40;
   gegl_0_3 = pkgs.gegl_0_3.override { inherit gtk; };
 
 # Simplify the nixos module and gnome packages
@@ -107,6 +110,8 @@ let
 
   gnome-bluetooth = callPackage ./core/gnome-bluetooth { };
 
+  gnome-color-manager = callPackage ./core/gnome-color-manager { };
+
   gnome-contacts = callPackage ./core/gnome-contacts { };
 
   gnome-control-center = callPackage ./core/gnome-control-center { };
@@ -155,7 +160,7 @@ let
 
   gnome-terminal = callPackage ./core/gnome-terminal { };
 
-  gnome-themes-standard = callPackage ./core/gnome-themes-standard { };
+  gnome-themes-extra = callPackage ./core/gnome-themes-extra { };
 
   gnome-user-docs = callPackage ./core/gnome-user-docs { };
 
@@ -169,8 +174,6 @@ let
 
   gsound = callPackage ./core/gsound { };
 
-  gtksourceview = callPackage ./core/gtksourceview { };
-
   gtksourceviewmm = callPackage ./core/gtksourceviewmm { };
 
   gucharmap = callPackage ./core/gucharmap { };
@@ -203,10 +206,6 @@ let
     inherit gnome3;
   };
 
-  networkmanager-pptp = pkgs.networkmanager-pptp.override {
-    inherit gnome3;
-  };
-
   networkmanager-vpnc = pkgs.networkmanager-vpnc.override {
     inherit gnome3;
   };
@@ -312,9 +311,6 @@ let
 
   polari = callPackage ./apps/polari { };
 
-  # scrollkeeper replacement
-  rarian = callPackage ./desktop/rarian { };
-
   seahorse = callPackage ./apps/seahorse { };
 
   vinagre = callPackage ./apps/vinagre { };
@@ -381,7 +377,7 @@ let
 
   gspell = callPackage ./misc/gspell { };
 
-  libgames-support = callPackage ./misc/libgames-support { };
+  libgnome-games-support = callPackage ./misc/libgnome-games-support { };
 
   libgda = callPackage ./misc/libgda { };
 
@@ -391,7 +387,7 @@ let
 
   gexiv2 = callPackage ./misc/gexiv2 { };
 
-  gnome-tweak-tool = callPackage ./misc/gnome-tweak-tool { };
+  gnome-tweaks = callPackage ./misc/gnome-tweaks { };
 
   gpaste = callPackage ./misc/gpaste { };
 
@@ -421,16 +417,19 @@ let
   gnome_settings_daemon = gnome-settings-daemon; # added 2018-02-25
   gnome_shell = gnome-shell; # added 2018-02-25
   gnome_terminal = gnome-terminal; # added 2018-02-25
+  gnome-themes-standard = gnome-themes-extra; # added 2018-03-14
   gnome_themes_standard = gnome-themes-standard; # added 2018-02-25
+  gnome-tweak-tool = gnome-tweaks; # added 2018-03-21
   gsettings_desktop_schemas = gsettings-desktop-schemas; # added 2018-02-25
   libcanberra_gtk2 = libcanberra-gtk2; # added 2018-02-25
+  libgames-support = libgnome-games-support; # added 2018-03-14
   libgnome_keyring = libgnome-keyring; # added 2018-02-25
+  inherit (pkgs) rarian; # added 2018-04-25
   networkmanager_fortisslvpn = networkmanager-fortisslvpn; # added 2018-02-25
   networkmanager_iodine = networkmanager-iodine; # added 2018-02-25
   networkmanager_l2tp = networkmanager-l2tp; # added 2018-02-25
   networkmanager_openconnect = networkmanager-openconnect; # added 2018-02-25
   networkmanager_openvpn = networkmanager-openvpn; # added 2018-02-25
-  networkmanager_pptp = networkmanager-pptp; # added 2018-02-25
   networkmanager_vpnc = networkmanager-vpnc; # added 2018-02-25
   yelp_xsl = yelp-xsl; # added 2018-02-25
   yelp_tools = yelp-tools; # added 2018-02-25
diff --git a/pkgs/desktops/gnome-3/devtools/anjuta/default.nix b/pkgs/desktops/gnome-3/devtools/anjuta/default.nix
index 419588f8684..0e50953b3de 100644
--- a/pkgs/desktops/gnome-3/devtools/anjuta/default.nix
+++ b/pkgs/desktops/gnome-3/devtools/anjuta/default.nix
@@ -3,11 +3,11 @@
 
 stdenv.mkDerivation rec {
   name = "anjuta-${version}";
-  version = "3.26.0";
+  version = "3.28.0";
 
   src = fetchurl {
     url = "mirror://gnome/sources/anjuta/${gnome3.versionBranch version}/${name}.tar.xz";
-    sha256 = "fb895464c1a3c915bb2bb3ea5d236fd17202caa7205f6792f70a75affc343d70";
+    sha256 = "0ya7ajai9rx9g597sr5wawr6l5pb2s34bbjdsbnx0lkrhnjv11xh";
   };
 
   passthru = {
diff --git a/pkgs/desktops/gnome-3/devtools/devhelp/default.nix b/pkgs/desktops/gnome-3/devtools/devhelp/default.nix
index 321e887cba6..97a425bccb1 100644
--- a/pkgs/desktops/gnome-3/devtools/devhelp/default.nix
+++ b/pkgs/desktops/gnome-3/devtools/devhelp/default.nix
@@ -1,30 +1,34 @@
 { stdenv, fetchurl, pkgconfig, gnome3, gtk3, wrapGAppsHook
-, webkitgtk, intltool, gsettings-desktop-schemas }:
+, glib, appstream-glib, gobjectIntrospection
+, webkitgtk, gettext, itstool, gsettings-desktop-schemas }:
 
 stdenv.mkDerivation rec {
   name = "devhelp-${version}";
-  version = "3.26.1";
+  version = "3.28.1";
 
   src = fetchurl {
     url = "mirror://gnome/sources/devhelp/${gnome3.versionBranch version}/${name}.tar.xz";
-    sha256 = "10bd468ae2188abd98af9ba7b81aced337d2206e9d843eb44520be5b00d77d8e";
+    sha256 = "08a8xizjqz68k30zd37r7g516azhan9bbrjsvv10hjd5dg3f476s";
   };
 
-  passthru = {
-    updateScript = gnome3.updateScript { packageName = "devhelp"; attrPath = "gnome3.devhelp"; };
-  };
-
-  nativeBuildInputs = [ pkgconfig ];
+  nativeBuildInputs = [ pkgconfig gettext itstool wrapGAppsHook appstream-glib gobjectIntrospection ];
   buildInputs = [
-    gtk3 wrapGAppsHook webkitgtk intltool gnome3.defaultIconTheme
-    gsettings-desktop-schemas
+    glib gtk3 webkitgtk
+    gnome3.defaultIconTheme gsettings-desktop-schemas
   ];
 
+  passthru = {
+    updateScript = gnome3.updateScript {
+      packageName = "devhelp";
+      attrPath = "gnome3.devhelp";
+    };
+  };
+
   meta = with stdenv.lib; {
-    homepage = https://live.gnome.org/devhelp;
     description = "API documentation browser for GNOME";
-    maintainers = gnome3.maintainers;
+    homepage = https://wiki.gnome.org/Apps/Devhelp;
     license = licenses.gpl2;
+    maintainers = gnome3.maintainers;
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/desktops/gnome-3/devtools/gdl/default.nix b/pkgs/desktops/gnome-3/devtools/gdl/default.nix
index 07fc15f0d55..75f9bc48db6 100644
--- a/pkgs/desktops/gnome-3/devtools/gdl/default.nix
+++ b/pkgs/desktops/gnome-3/devtools/gdl/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "gdl-${version}";
-  version = "3.26.0";
+  version = "3.28.0";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gdl/${gnome3.versionBranch version}/${name}.tar.xz";
-    sha256 = "f3ad03f9a34f751f52464e22d962c0dec8ff867b7b7b37fe24907f3dcd54c079";
+    sha256 = "1dipnzqpxl0yfwzl2lqdf6vb3174gb9f1d5jndkq8505q7n9ik2j";
   };
 
   passthru = {
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 3949e29089c..57070f7ce38 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.26.0";
+  version = "3.28.0";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-devel-docs/${gnome3.versionBranch version}/${name}.tar.xz";
-    sha256 = "12eea77b550acfa617e14a89e4d24f93881294340abcc2c3abc7092c851703c3";
+    sha256 = "1py0zyfzpaws41p9iw4645ykfnmm408axfghsmq6gnwgp66vl074";
   };
 
   passthru = {
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 87e0d79dce6..152b9522bef 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 = "v62";
+  version = "v63";
 
   src = fetchFromGitHub {
     owner = "micheleg";
     repo = "dash-to-dock";
     rev = "extensions.gnome.org-" + version;
-    sha256 = "1kmf7vxhd1c1zgaim1pwmcmsg0kffng7hcl5gfcy5qb5yvb4dy5d";
+    sha256 = "140ih4l3nn2lbgw684xjvkhqxflr1xg2vm1m46z632bb0y3py4yg";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/gnome-3/extensions/impatience.nix b/pkgs/desktops/gnome-3/extensions/impatience.nix
index d82ff652bd0..24b4c1cf703 100644
--- a/pkgs/desktops/gnome-3/extensions/impatience.nix
+++ b/pkgs/desktops/gnome-3/extensions/impatience.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "gnome-shell-impatience-${version}";
-  version = "6564c21e4caf4a6bc5fe2bf21116d7c15408d494";
+  version = "0.4.5";
 
   src = fetchFromGitHub {
     owner = "timbertson";
     repo = "gnome-shell-impatience";
-    rev = version;
-    sha256 = "10zyj42i07dcvaciv47qgkcs5g5n2bpc8a0m6fsimfi0442iwlcn";
+    rev = "version-${version}";
+    sha256 = "0kvdhlz41fjyqdgcfw6mrr9nali6wg2qwji3dvykzfi0aypljzpx";
   };
 
   buildInputs = [
@@ -20,7 +20,8 @@ stdenv.mkDerivation rec {
   '';
 
   installPhase = ''
-    cp -r impatience $out
+    mkdir -p $out/share/gnome-shell/extensions
+    cp -r impatience $out/share/gnome-shell/extensions/${uuid}
   '';
 
   uuid = "impatience@gfxmonk.net";
@@ -28,7 +29,7 @@ stdenv.mkDerivation rec {
   meta = with stdenv.lib; {
     description = "Speed up builtin gnome-shell animations";
     license = licenses.gpl3Plus;
-    maintainers = with maintainers; [ aneeshusa timbertson ];
+    maintainers = with maintainers; [ aneeshusa timbertson tiramiseb ];
     homepage = http://gfxmonk.net/dist/0install/gnome-shell-impatience.xml;
   };
 }
diff --git a/pkgs/desktops/gnome-3/extensions/system-monitor.nix b/pkgs/desktops/gnome-3/extensions/system-monitor/default.nix
index 0c3e65633c8..eed34ae523d 100644
--- a/pkgs/desktops/gnome-3/extensions/system-monitor.nix
+++ b/pkgs/desktops/gnome-3/extensions/system-monitor/default.nix
@@ -1,18 +1,28 @@
-{ stdenv, fetchFromGitHub, glib }:
+{ config, stdenv, substituteAll, fetchFromGitHub, glib, glib_networking, libgtop, pkgs }:
 
 stdenv.mkDerivation rec {
   name = "gnome-shell-system-monitor-${version}";
-  version = "8b31f070e9e59109d729661ced313d6a63e31787";
+  version = "33";
 
   src = fetchFromGitHub {
     owner = "paradoxxxzero";
     repo = "gnome-shell-system-monitor-applet";
-    rev = version;
-    sha256 = "0fm5zb6qp53jjy2mnkb8ybxygzjwpb314giiq0ywq87hhrpch8m3";
+    rev = "v${version}";
+    sha256 = "0abqaanl5r26x8f0mm0jgrjsr86hcx7mk75dx5c3zz7csw4nclkk";
   };
 
   buildInputs = [
     glib
+    glib_networking
+    libgtop
+  ];
+
+  patches = [
+    (substituteAll {
+      src = ./paths_and_nonexisting_dirs.patch;
+      gtop_path = "${libgtop}/lib/girepository-1.0";
+      glib_net_path = "${glib_networking}/lib/girepository-1.0";
+    })
   ];
 
   buildPhase = ''
@@ -20,7 +30,8 @@ stdenv.mkDerivation rec {
   '';
 
   installPhase = ''
-    cp -r ${uuid} $out
+    mkdir -p $out/share/gnome-shell/extensions
+    cp -r ${uuid} $out/share/gnome-shell/extensions
   '';
 
   uuid = "system-monitor@paradoxxx.zero.gmail.com";
@@ -28,7 +39,7 @@ stdenv.mkDerivation rec {
   meta = with stdenv.lib; {
     description = "Display system informations in gnome shell status bar";
     license = licenses.gpl3Plus;
-    maintainers = with maintainers; [ aneeshusa ];
+    maintainers = with maintainers; [ aneeshusa tiramiseb ];
     homepage = https://github.com/paradoxxxzero/gnome-shell-system-monitor-applet;
   };
 }
diff --git a/pkgs/desktops/gnome-3/extensions/system-monitor/paths_and_nonexisting_dirs.patch b/pkgs/desktops/gnome-3/extensions/system-monitor/paths_and_nonexisting_dirs.patch
new file mode 100644
index 00000000000..82e3d7c541b
--- /dev/null
+++ b/pkgs/desktops/gnome-3/extensions/system-monitor/paths_and_nonexisting_dirs.patch
@@ -0,0 +1,23 @@
+diff --git a/system-monitor@paradoxxx.zero.gmail.com/extension.js b/system-monitor@paradoxxx.zero.gmail.com/extension.js
+index b4b7f15..d139135 100644
+--- a/system-monitor@paradoxxx.zero.gmail.com/extension.js
++++ b/system-monitor@paradoxxx.zero.gmail.com/extension.js
+@@ -18,6 +18,9 @@
+ 
+ // Author: Florian Mounier aka paradoxxxzero
+ 
++imports.gi.GIRepository.Repository.prepend_search_path('@gtop_path@');
++imports.gi.GIRepository.Repository.prepend_search_path('@glib_net_path@');
++
+ /* Ugly. This is here so that we don't crash old libnm-glib based shells unnecessarily
+  * by loading the new libnm.so. Should go away eventually */
+ const libnm_glib = imports.gi.GIRepository.Repository.get_default().is_registered("NMClient", "1.0");
+@@ -386,7 +389,7 @@ const smMountsMonitor = new Lang.Class({
+     connected: false,
+     _init: function () {
+         this._volumeMonitor = Gio.VolumeMonitor.get();
+-        let sys_mounts = ['/home', '/tmp', '/boot', '/usr', '/usr/local'];
++        let sys_mounts = ['/home', '/tmp', '/boot'];
+         this.base_mounts = ['/'];
+         sys_mounts.forEach(Lang.bind(this, function (sMount) {
+             if (this.is_sys_mount(sMount + '/')) {
diff --git a/pkgs/desktops/gnome-3/extensions/timepp/default.nix b/pkgs/desktops/gnome-3/extensions/timepp/default.nix
new file mode 100644
index 00000000000..dcc018d1883
--- /dev/null
+++ b/pkgs/desktops/gnome-3/extensions/timepp/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, fetchFromGitHub }:
+
+stdenv.mkDerivation rec {
+  name = "gnome-shell-extension-timepp-${version}";
+  version = "2018.03.17";
+
+  src = fetchFromGitHub {
+    owner = "zagortenay333";
+    repo = "timepp__gnome";
+    rev = "440cf85dc68d9e6ba876793f13910ee6239622cf";
+    sha256 = "0idsqsii5rvynvj78w2j7xiiz9rrl3384m5mj6bf6rg8vprpfi8v";
+  };
+
+  uuid = "timepp@zagortenay333";
+  installPhase = ''
+    mkdir -p $out/share/gnome-shell/extensions/${uuid}
+    cp -r . $out/share/gnome-shell/extensions/${uuid}
+  '';
+
+  meta = with stdenv.lib; {
+    description = " A todo.txt manager, time tracker, timer, stopwatch, pomodoro, and alarms gnome-shell extension.";
+    homepage = https://github.com/zagortenay333/timepp__gnome;
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ svsdep ];
+  };
+}
diff --git a/pkgs/desktops/gnome-3/games/aisleriot/default.nix b/pkgs/desktops/gnome-3/games/aisleriot/default.nix
index b194ac42bf2..77220124fcc 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.4";
+  version = "3.22.5";
 
   src = fetchurl {
     url = "mirror://gnome/sources/aisleriot/${gnome3.versionBranch version}/${name}.tar.xz";
-    sha256 = "fe8dee3ad771ab778d37740a26410778aa5c61e8eb75dd42b9a5e5719c6e34fb";
+    sha256 = "0rl39psr5xi584310pyrgw36ini4wn7yr2m1q5118w3a3v1dkhzh";
   };
 
   passthru = {
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 8806344f3b3..4115fda9f8d 100644
--- a/pkgs/desktops/gnome-3/games/five-or-more/default.nix
+++ b/pkgs/desktops/gnome-3/games/five-or-more/default.nix
@@ -3,11 +3,11 @@
 
 stdenv.mkDerivation rec {
   name = "five-or-more-${version}";
-  version = "3.26.0";
+  version = "3.28.0";
 
   src = fetchurl {
     url = "mirror://gnome/sources/five-or-more/${gnome3.versionBranch version}/${name}.tar.xz";
-    sha256 = "7c24f7f2603df99299d38b40b14c005aaad88820113ed71e4b3765ac3b027772";
+    sha256 = "1fy4a7qdjqvabm0cl45d6xlx6hy4paxvm0b2paifff73bl250d5c";
   };
 
   passthru = {
diff --git a/pkgs/desktops/gnome-3/games/four-in-a-row/default.nix b/pkgs/desktops/gnome-3/games/four-in-a-row/default.nix
index 22032f16f47..bf21f734680 100644
--- a/pkgs/desktops/gnome-3/games/four-in-a-row/default.nix
+++ b/pkgs/desktops/gnome-3/games/four-in-a-row/default.nix
@@ -1,25 +1,25 @@
 { stdenv, fetchurl, pkgconfig, gnome3, gtk3, wrapGAppsHook
-, intltool, itstool, libcanberra-gtk3, librsvg, libxml2 }:
+, gettext, itstool, libcanberra-gtk3, librsvg, libxml2 }:
 
 stdenv.mkDerivation rec {
   name = "four-in-a-row-${version}";
-  version = "3.22.2";
+  version = "3.28.0";
 
   src = fetchurl {
     url = "mirror://gnome/sources/four-in-a-row/${gnome3.versionBranch version}/${name}.tar.xz";
-    sha256 = "bc4194e8ab6d1d2a6a63a2e91945cd5465f49ebf0dae2eecacc66e69db56a420";
+    sha256 = "1iszaay2r92swb0q67lmip6r1w3hw2dwmlgnz9v2h6blgdyncs4k";
   };
 
+  nativeBuildInputs = [ pkgconfig wrapGAppsHook gettext itstool libxml2 ];
+  buildInputs = [ gtk3 libcanberra-gtk3 librsvg gnome3.defaultIconTheme ];
+
   passthru = {
-    updateScript = gnome3.updateScript { packageName = "four-in-a-row"; attrPath = "gnome3.four-in-a-row"; };
+    updateScript = gnome3.updateScript {
+      packageName = "four-in-a-row";
+      attrPath = "gnome3.four-in-a-row";
+    };
   };
 
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [
-    gtk3 wrapGAppsHook intltool itstool libcanberra-gtk3 librsvg
-    libxml2 gnome3.defaultIconTheme
-  ];
-
   meta = with stdenv.lib; {
     homepage = https://wiki.gnome.org/Apps/Four-in-a-row;
     description = "Make lines of the same color to win";
diff --git a/pkgs/desktops/gnome-3/games/gnome-chess/default.nix b/pkgs/desktops/gnome-3/games/gnome-chess/default.nix
index f50542770c4..aebd72d65df 100644
--- a/pkgs/desktops/gnome-3/games/gnome-chess/default.nix
+++ b/pkgs/desktops/gnome-3/games/gnome-chess/default.nix
@@ -1,25 +1,30 @@
-{ stdenv, fetchurl, pkgconfig, gnome3, gtk3, wrapGAppsHook
-, intltool, itstool, librsvg, libxml2 }:
+{ stdenv, fetchurl, meson, ninja, vala, pkgconfig, wrapGAppsHook, gobjectIntrospection
+, gettext, itstool, libxml2, gnome3, glib, gtk3, librsvg }:
 
 stdenv.mkDerivation rec {
   name = "gnome-chess-${version}";
-  version = "3.26.0";
+  version = "3.28.1";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-chess/${gnome3.versionBranch version}/${name}.tar.xz";
-    sha256 = "a0f6f862ab7067626a3a86cdc9c14dde595e38e6719e0198cb967e11facf1f12";
+    sha256 = "1q8gc0mq8k2b7pjy363g0yjd80czqknw6ssqzbvgqx5b8nkfvmv1";
   };
 
+  nativeBuildInputs = [ meson ninja vala pkgconfig gettext itstool libxml2 wrapGAppsHook gobjectIntrospection ];
+  buildInputs = [ glib gtk3 librsvg gnome3.defaultIconTheme ];
+
+  postPatch = ''
+    chmod +x meson_post_install.py
+    patchShebangs meson_post_install.py
+  '';
+
   passthru = {
-    updateScript = gnome3.updateScript { packageName = "gnome-chess"; attrPath = "gnome3.gnome-chess"; };
+    updateScript = gnome3.updateScript {
+      packageName = "gnome-chess";
+      attrPath = "gnome3.gnome-chess";
+    };
   };
 
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [
-    gtk3 wrapGAppsHook intltool itstool librsvg libxml2
-    gnome3.defaultIconTheme
-  ];
-
   meta = with stdenv.lib; {
     homepage = https://wiki.gnome.org/Apps/Chess;
     description = "Play the classic two-player boardgame of chess";
diff --git a/pkgs/desktops/gnome-3/games/gnome-klotski/default.nix b/pkgs/desktops/gnome-3/games/gnome-klotski/default.nix
index c1f91092bb0..fc75cd081f9 100644
--- a/pkgs/desktops/gnome-3/games/gnome-klotski/default.nix
+++ b/pkgs/desktops/gnome-3/games/gnome-klotski/default.nix
@@ -1,25 +1,27 @@
-{ stdenv, fetchurl, pkgconfig, gnome3, gtk3, wrapGAppsHook
-, librsvg, libxml2, intltool, itstool, libgee, libgames-support }:
+{ stdenv, fetchurl, pkgconfig, vala, gnome3, gtk3, wrapGAppsHook, appstream-glib, desktop-file-utils
+, glib, librsvg, libxml2, intltool, itstool, libgee, libgnome-games-support }:
 
-stdenv.mkDerivation rec {
-  name = "gnome-klotski-${version}";
-  version = "3.22.2";
+let
+  pname = "gnome-klotski";
+  version = "3.22.3";
+in stdenv.mkDerivation rec {
+  name = "${pname}-${version}";
 
   src = fetchurl {
-    url = "mirror://gnome/sources/gnome-klotski/${gnome3.versionBranch version}/${name}.tar.xz";
-    sha256 = "16hd6yk01rhb4pj8m01fyn72wykf41d72gsms81q0n4zm5bm1a4h";
+    url = "mirror://gnome/sources/${pname}/${gnome3.versionBranch version}/${name}.tar.xz";
+    sha256 = "0prc0s28pdflgzyvk1g0yfx982q2grivmz3858nwpqmbkha81r7f";
   };
 
+  nativeBuildInputs = [ pkgconfig vala wrapGAppsHook intltool itstool libxml2 appstream-glib desktop-file-utils ];
+  buildInputs = [ glib gtk3 librsvg libgee libgnome-games-support gnome3.defaultIconTheme ];
+
   passthru = {
-    updateScript = gnome3.updateScript { packageName = "gnome-klotski"; attrPath = "gnome3.gnome-klotski"; };
+    updateScript = gnome3.updateScript {
+      packageName = "${pname}";
+      attrPath = "gnome3.${pname}";
+    };
   };
 
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [
-    gtk3 wrapGAppsHook intltool itstool librsvg libxml2 libgee libgames-support
-    gnome3.defaultIconTheme
-  ];
-
   meta = with stdenv.lib; {
     homepage = https://wiki.gnome.org/Apps/Klotski;
     description = "Slide blocks to solve the puzzle";
diff --git a/pkgs/desktops/gnome-3/games/gnome-mines/default.nix b/pkgs/desktops/gnome-3/games/gnome-mines/default.nix
index ce5dc8bc14c..55dad369c10 100644
--- a/pkgs/desktops/gnome-3/games/gnome-mines/default.nix
+++ b/pkgs/desktops/gnome-3/games/gnome-mines/default.nix
@@ -1,25 +1,31 @@
-{ stdenv, fetchurl, pkgconfig, gnome3, gtk3, wrapGAppsHook
-, librsvg, intltool, itstool, libxml2, libgames-support, libgee }:
+{ stdenv, fetchurl, meson, ninja, vala, gobjectIntrospection, pkgconfig, gnome3, gtk3, wrapGAppsHook
+, librsvg, gettext, itstool, libxml2, libgames-support, libgee }:
 
 stdenv.mkDerivation rec {
   name = "gnome-mines-${version}";
-  version = "3.26.0";
+  version = "3.28.0";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-mines/${gnome3.versionBranch version}/${name}.tar.xz";
-    sha256 = "2b041eaf0d57307498c56d8e285b2e539f634fdba95d689f6af75aa4ed6edde9";
+    sha256 = "16w55hqaxipcv870n9gpn6qiywbqbyg7bjshaa02r75ias8dfxvf";
   };
 
+  # gobjectIntrospection for finding vapi files
+  nativeBuildInputs = [ meson ninja vala gobjectIntrospection pkgconfig gettext itstool libxml2 wrapGAppsHook ];
+  buildInputs = [ gtk3 librsvg gnome3.defaultIconTheme libgames-support libgee ];
+
+  postPatch = ''
+    chmod +x data/meson_compile_gschema.py # patchShebangs requires executable file
+    patchShebangs data/meson_compile_gschema.py
+  '';
+
   passthru = {
-    updateScript = gnome3.updateScript { packageName = "gnome-mines"; attrPath = "gnome3.gnome-mines"; };
+    updateScript = gnome3.updateScript {
+      packageName = "gnome-mines";
+      attrPath = "gnome3.gnome-mines";
+    };
   };
 
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [
-    gtk3 wrapGAppsHook librsvg intltool itstool libxml2
-    gnome3.defaultIconTheme libgames-support libgee
-  ];
-
   meta = with stdenv.lib; {
     homepage = https://wiki.gnome.org/Apps/Mines;
     description = "Clear hidden mines from a minefield";
diff --git a/pkgs/desktops/gnome-3/games/gnome-robots/default.nix b/pkgs/desktops/gnome-3/games/gnome-robots/default.nix
index aa5e00606c7..e07e3c14152 100644
--- a/pkgs/desktops/gnome-3/games/gnome-robots/default.nix
+++ b/pkgs/desktops/gnome-3/games/gnome-robots/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   name = "gnome-robots-${version}";
-  version = "3.22.2";
+  version = "3.22.3";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-robots/${gnome3.versionBranch version}/${name}.tar.xz";
-    sha256 = "c5d63f0fcae66d0df9b10e39387d09875555909f0aa7e57ef8552621d852082f";
+    sha256 = "0dzcjd7rdmlzgr6rmljhrbccwif8wj0cr1xcrrj7malj33098wwk";
   };
 
   passthru = {
diff --git a/pkgs/desktops/gnome-3/games/gnome-sudoku/default.nix b/pkgs/desktops/gnome-3/games/gnome-sudoku/default.nix
index b3380e6bb96..1d467e542da 100644
--- a/pkgs/desktops/gnome-3/games/gnome-sudoku/default.nix
+++ b/pkgs/desktops/gnome-3/games/gnome-sudoku/default.nix
@@ -3,11 +3,11 @@
 
 stdenv.mkDerivation rec {
   name = "gnome-sudoku-${version}";
-  version = "3.26.0";
+  version = "3.28.0";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-sudoku/${gnome3.versionBranch version}/${name}.tar.xz";
-    sha256 = "8774c7093a97131b94d39142f1e044c8619cfdb6ad2546176271589fbb12d3a0";
+    sha256 = "07b4lzniaf3gjsss6zl1lslv18smwc4nrijykvn2z90f423q2xav";
   };
 
   passthru = {
diff --git a/pkgs/desktops/gnome-3/games/gnome-taquin/default.nix b/pkgs/desktops/gnome-3/games/gnome-taquin/default.nix
index 4f87fb50d61..855e496dfaf 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.26.1";
+  version = "3.28.0";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-taquin/${gnome3.versionBranch version}/${name}.tar.xz";
-    sha256 = "de352bb2dfcd759de37f6bccf1e4790760e020b4bb06a1bc8d5f03d89613b6fd";
+    sha256 = "096a32nhcz243na56iq2wxixd4f3lbj33a5h718r3j6yppqazjx9";
   };
 
   passthru = {
diff --git a/pkgs/desktops/gnome-3/games/iagno/default.nix b/pkgs/desktops/gnome-3/games/iagno/default.nix
index d31457f868c..55dac4659d0 100644
--- a/pkgs/desktops/gnome-3/games/iagno/default.nix
+++ b/pkgs/desktops/gnome-3/games/iagno/default.nix
@@ -3,11 +3,11 @@
 
 stdenv.mkDerivation rec {
   name = "iagno-${version}";
-  version = "3.26.1";
+  version = "3.28.0";
 
   src = fetchurl {
     url = "mirror://gnome/sources/iagno/${gnome3.versionBranch version}/${name}.tar.xz";
-    sha256 = "3476810d0c42aa1600484de2c111c94e0cf5247a98f071b23a0b5e3036362121";
+    sha256 = "12haq1vgrr6wf970rja55rcg0352sm0i3l5z7gj0ipr2isv8506x";
   };
 
   passthru = {
diff --git a/pkgs/desktops/gnome-3/games/lightsoff/default.nix b/pkgs/desktops/gnome-3/games/lightsoff/default.nix
index 1a163352cfc..73b7c092a66 100644
--- a/pkgs/desktops/gnome-3/games/lightsoff/default.nix
+++ b/pkgs/desktops/gnome-3/games/lightsoff/default.nix
@@ -1,25 +1,27 @@
-{ stdenv, fetchurl, pkgconfig, gtk3, gnome3, gdk_pixbuf, librsvg, wrapGAppsHook
-, intltool, itstool, clutter, clutter-gtk, libxml2, dconf }:
+{ stdenv, fetchurl, vala, pkgconfig, gtk3, gnome3, gdk_pixbuf, librsvg, wrapGAppsHook
+, gettext, itstool, clutter, clutter-gtk, libxml2, appstream-glib }:
 
 stdenv.mkDerivation rec {
   name = "lightsoff-${version}";
-  version = "3.26.0";
+  version = "3.28.0";
 
   src = fetchurl {
     url = "mirror://gnome/sources/lightsoff/${gnome3.versionBranch version}/${name}.tar.xz";
-    sha256 = "d12572bc7b70481320ec90c6130ad794b559a9990d08bef158a1d826aaa35976";
+    sha256 = "0rwh9kz6aphglp79cyrfjab6vy02vclq68f646zjgb9xgg6ar73g";
   };
 
-  passthru = {
-    updateScript = gnome3.updateScript { packageName = "lightsoff"; attrPath = "gnome3.lightsoff"; };
-  };
-
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ gtk3 gnome3.defaultIconTheme gdk_pixbuf librsvg dconf
-                  libxml2 clutter clutter-gtk wrapGAppsHook itstool intltool ];
+  nativeBuildInputs = [ vala pkgconfig wrapGAppsHook itstool gettext appstream-glib libxml2];
+  buildInputs = [ gtk3 gnome3.defaultIconTheme gdk_pixbuf librsvg clutter clutter-gtk ];
 
   enableParallelBuilding = true;
 
+  passthru = {
+    updateScript = gnome3.updateScript {
+      packageName = "lightsoff";
+      attrPath = "gnome3.lightsoff";
+    };
+  };
+
   meta = with stdenv.lib; {
     homepage = https://wiki.gnome.org/Apps/Lightsoff;
     description = "Puzzle game, where the objective is to turn off all of the tiles on the board";
diff --git a/pkgs/desktops/gnome-3/games/swell-foop/default.nix b/pkgs/desktops/gnome-3/games/swell-foop/default.nix
index 92da14fb559..13b6f57d0fd 100644
--- a/pkgs/desktops/gnome-3/games/swell-foop/default.nix
+++ b/pkgs/desktops/gnome-3/games/swell-foop/default.nix
@@ -1,24 +1,31 @@
-{ stdenv, fetchurl, pkgconfig, gtk3, gnome3, gdk_pixbuf, librsvg, dconf
-, clutter, clutter-gtk, intltool, itstool, libxml2, wrapGAppsHook }:
+{ stdenv, fetchurl, meson, ninja, pkgconfig, vala, glib, gtk3, gnome3, desktop-file-utils
+, clutter, clutter-gtk, gettext, itstool, libxml2, wrapGAppsHook }:
 
-stdenv.mkDerivation rec {
-  name = "swell-foop-${version}";
-  version = "3.26.0";
+let
+  pname = "swell-foop";
+  version = "3.28.0";
+in stdenv.mkDerivation rec {
+  name = "${pname}-${version}";
 
   src = fetchurl {
-    url = "mirror://gnome/sources/swell-foop/${gnome3.versionBranch version}/${name}.tar.xz";
-    sha256 = "122e2b5a51ad0144ea6b5fd2736ac43b101c7892198948e697bfc4c014bbba22";
+    url = "mirror://gnome/sources/${pname}/${gnome3.versionBranch version}/${name}.tar.xz";
+    sha256 = "1yjmg6sgi7mvp10fsqlkqshajmh8kgdmg6vyj5r8y48pv2ihfk64";
   };
 
   passthru = {
-    updateScript = gnome3.updateScript { packageName = "swell-foop"; attrPath = "gnome3.swell-foop"; };
+    updateScript = gnome3.updateScript {
+      packageName = pname;
+      attrPath = "gnome3.${pname}";
+    };
   };
 
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ gtk3 gnome3.defaultIconTheme gdk_pixbuf librsvg
-                  dconf wrapGAppsHook itstool intltool clutter clutter-gtk libxml2 ];
+  nativeBuildInputs = [ meson ninja vala pkgconfig wrapGAppsHook itstool gettext libxml2 desktop-file-utils ];
+  buildInputs = [ glib gtk3 gnome3.defaultIconTheme clutter clutter-gtk ];
 
-  enableParallelBuilding = true;
+  postPatch = ''
+    chmod +x meson_post_install.py # patchShebangs requires executable file
+    patchShebangs meson_post_install.py
+  '';
 
   meta = with stdenv.lib; {
     homepage = https://wiki.gnome.org/Apps/Swell%20Foop;
diff --git a/pkgs/desktops/gnome-3/misc/california/0002-Build-with-evolution-data-server-3.13.90.patch b/pkgs/desktops/gnome-3/misc/california/0002-Build-with-evolution-data-server-3.13.90.patch
deleted file mode 100644
index c229cc96094..00000000000
--- a/pkgs/desktops/gnome-3/misc/california/0002-Build-with-evolution-data-server-3.13.90.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-diff --git a/configure.ac b/configure.ac
-index 8a94642..1ca6426 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -27,7 +27,7 @@ AC_SUBST(LDFLAGS)
- GLIB_REQUIRED=2.38.0
- GTK_REQUIRED=3.12.2
- GEE_REQUIRED=0.10.5
--ECAL_REQUIRED=3.8.5
-+ECAL_REQUIRED=3.13.90
- LIBSOUP_REQUIRED=2.44
- GDATA_REQUIRED=0.14.0
- GOA_REQUIRED=3.8.3
-diff --git a/src/backing/eds/backing-eds-calendar-source.vala b/src/backing/eds/backing-eds-calendar-source.vala
-index ee6a572..5009b5d 100644
---- a/src/backing/eds/backing-eds-calendar-source.vala
-+++ b/src/backing/eds/backing-eds-calendar-source.vala
-@@ -256,7 +256,7 @@ internal class EdsCalendarSource : CalendarSource {
-
-     // Invoked by EdsStore prior to making it available outside of unit
-     internal async void open_async(Cancellable? cancellable) throws Error {
--        client = (E.CalClient) yield E.CalClient.connect(eds_source, E.CalClientSourceType.EVENTS,
-+        client = (E.CalClient) yield E.CalClient.connect(eds_source, E.CalClientSourceType.EVENTS, 1,
-             cancellable);
-
-         client.bind_property("readonly", this, PROP_READONLY, BindingFlags.SYNC_CREATE);
-diff --git a/vapi/libecal-1.2.vapi b/vapi/libecal-1.2.vapi
-index 6ead3ec..46fd711 100644
---- a/vapi/libecal-1.2.vapi
-+++ b/vapi/libecal-1.2.vapi
-@@ -23,7 +23,7 @@ namespace E {
-		public bool check_save_schedules ();
-		public static bool check_timezones (iCal.icalcomponent comp, GLib.List comps, GLib.Callback tzlookup, void* ecalclient, GLib.Cancellable cancellable) throws GLib.Error;
-		[CCode (finish_name = "e_cal_client_connect_finish")]
--		public static async unowned E.Client connect (E.Source source, E.CalClientSourceType source_type, GLib.Cancellable cancellable) throws GLib.Error;
-+		public static async unowned E.Client connect (E.Source source, E.CalClientSourceType source_type, uint32 wait_for_connected_seconds, GLib.Cancellable cancellable) throws GLib.Error;
-		public static unowned E.Client connect_sync (E.Source source, E.CalClientSourceType source_type, GLib.Cancellable cancellable) throws GLib.Error;
-		[CCode (finish_name = "e_cal_client_create_object_finish")]
-		public async void create_object (iCal.icalcomponent icalcomp, GLib.Cancellable? cancellable, out string out_uid) throws GLib.Error;
diff --git a/pkgs/desktops/gnome-3/misc/california/default.nix b/pkgs/desktops/gnome-3/misc/california/default.nix
index 73d3b555ba9..c81238d2498 100644
--- a/pkgs/desktops/gnome-3/misc/california/default.nix
+++ b/pkgs/desktops/gnome-3/misc/california/default.nix
@@ -1,34 +1,36 @@
-{ stdenv, fetchurl, intltool, pkgconfig, gtk3, vala_0_32, makeWrapper
-, gnome3, glib, libsoup, libgdata, sqlite, itstool, xdg_utils }:
+{ stdenv, fetchurl, intltool, pkgconfig, gtk3, vala_0_32, libgee, wrapGAppsHook, itstool, gobjectIntrospection
+, gnome-online-accounts, evolution-data-server, gnome3, glib, libsoup, libgdata, sqlite, xdg_utils }:
 
 let
-  majorVersion = "0.4";
-in
-stdenv.mkDerivation rec {
-  name = "california-${majorVersion}.0";
+  pname = "california";
+  version = "0.4.0";
+in stdenv.mkDerivation rec {
+  name = "${pname}-${version}";
 
   src = fetchurl {
-    url = "mirror://gnome/sources/california/${majorVersion}/${name}.tar.xz";
+    url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
     sha256 = "1dky2kllv469k8966ilnf4xrr7z35pq8mdvs7kwziy59cdikapxj";
   };
 
-  propagatedUserEnvPkgs = [ gnome3.gnome-themes-standard ];
-
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ makeWrapper intltool vala_0_32 glib gtk3 gnome3.libgee
-    libsoup libgdata gnome3.gnome-online-accounts gnome3.evolution-data-server
-    sqlite itstool xdg_utils gnome3.gsettings-desktop-schemas ];
-
-  preFixup = ''
-    wrapProgram "$out/bin/california" \
-      --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
-      --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:${gnome3.defaultIconTheme}/share:${gnome3.gnome-themes-standard}/share:$out/share:$GSETTINGS_SCHEMAS_PATH:${gnome3.gsettings-desktop-schemas}/share"
-  '';
+  nativeBuildInputs = [ intltool itstool vala_0_32 pkgconfig wrapGAppsHook gobjectIntrospection ];
+  buildInputs = [ glib gtk3 libgee libsoup libgdata gnome-online-accounts evolution-data-server sqlite xdg_utils gnome3.gsettings-desktop-schemas ];
 
   enableParallelBuilding = true;
 
-  # Apply fedoras patch to build with evolution-data-server >3.13
-  patches = [ ./0002-Build-with-evolution-data-server-3.13.90.patch ];
+  patches = [
+    # Apply Fedora patch to build with evolution-data-server > 3.13
+    (fetchurl {
+      url = https://src.fedoraproject.org/rpms/california/raw/c00bf9924d8fa8cb0a9ec06564d1a1b00c9055af/f/0002-Build-with-evolution-data-server-3.13.90.patch;
+      sha256 = "0g9923n329p32gzr1q52ad30f8vyz8vrri4rih0w8klmf02ga4pm";
+    })
+  ];
+
+  passthru = {
+    updateScript = gnome3.updateScript {
+      packageName = pname;
+      attrPath = "gnome3.${pname}";
+    };
+  };
 
   meta = with stdenv.lib; {
     homepage = https://wiki.gnome.org/Apps/California;
diff --git a/pkgs/desktops/gnome-3/misc/geary/default.nix b/pkgs/desktops/gnome-3/misc/geary/default.nix
index f8c29625261..548936dc5e5 100644
--- a/pkgs/desktops/gnome-3/misc/geary/default.nix
+++ b/pkgs/desktops/gnome-3/misc/geary/default.nix
@@ -1,37 +1,46 @@
-{ stdenv, fetchurl, intltool, pkgconfig, gtk3, vala_0_38, enchant
-, wrapGAppsHook, gdk_pixbuf, cmake, desktop-file-utils
-, libnotify, libcanberra-gtk3, libsecret, gmime
-, libpthreadstubs, sqlite
+{ 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 }:
 
 let
-  majorVersion = "0.12";
+  pname = "geary";
+  version = "0.12.2";
 in
 stdenv.mkDerivation rec {
-  name = "geary-${majorVersion}.1";
+  name = "${pname}-${version}";
 
   src = fetchurl {
-    url = "mirror://gnome/sources/geary/${majorVersion}/${name}.tar.xz";
-    sha256 = "12hbpd5j3rb122nrsqmgsg31x82xl0ksm0nmsl614v1dd7crqnh6";
+    url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
+    sha256 = "09j5gh4zm49fcg2ycvy00dkkw69rfppqwc3lqdi4994hry4jivx9";
   };
 
-  propagatedUserEnvPkgs = [ gnome3.gnome-themes-standard ];
+  nativeBuildInputs = [ vala_0_40 intltool pkgconfig wrapGAppsHook cmake ninja desktop-file-utils gnome-doc-utils gobjectIntrospection ];
+  buildInputs = [
+    gtk3 enchant webkitgtk libnotify libcanberra-gtk3 gnome3.libgee libsecret gmime sqlite
+    libpthreadstubs gnome3.gsettings-desktop-schemas gnome3.gcr isocodes
+    gdk_pixbuf librsvg gnome3.defaultIconTheme
+  ];
 
-  nativeBuildInputs = [ vala_0_38 intltool pkgconfig wrapGAppsHook cmake desktop-file-utils gnome-doc-utils ];
-  buildInputs = [ gtk3 enchant webkitgtk libnotify libcanberra-gtk3 gnome3.libgee libsecret gmime sqlite
-                  libpthreadstubs gnome3.gsettings-desktop-schemas gnome3.gcr
-                  gdk_pixbuf librsvg gnome3.defaultIconTheme ];
+  cmakeFlags = [
+    "-DISOCODES_DIRECTORY=${isocodes}/share/xml/iso-codes"
+  ];
 
-  preConfigure = ''
-    substituteInPlace src/CMakeLists.txt --replace '`''${PKG_CONFIG_EXECUTABLE} --variable=girdir gobject-introspection-1.0`' '${webkitgtk.dev}/share/gir-1.0'
-  '';
+  # TODO: This is bad, upstream should fix their code.
+  PKG_CONFIG_GOBJECT_INTROSPECTION_1_0_GIRDIR = "${webkitgtk.dev}/share/gir-1.0";
 
   preFixup = ''
     # Add geary to path for geary-attach
     gappsWrapperArgs+=(--prefix PATH : "$out/bin")
   '';
 
-  enableParallelBuilding = true;
+  passthru = {
+    updateScript = gnome3.updateScript {
+      packageName = pname;
+      attrPath = "gnome3.${pname}";
+    };
+  };
 
   meta = with stdenv.lib; {
     homepage = https://wiki.gnome.org/Apps/Geary;
diff --git a/pkgs/desktops/gnome-3/misc/gfbgraph/default.nix b/pkgs/desktops/gnome-3/misc/gfbgraph/default.nix
index 94a29546fb9..8194e3f1699 100644
--- a/pkgs/desktops/gnome-3/misc/gfbgraph/default.nix
+++ b/pkgs/desktops/gnome-3/misc/gfbgraph/default.nix
@@ -1,5 +1,5 @@
 { stdenv, intltool, fetchurl, pkgconfig, glib
-, gnome3, libsoup, json-glib }:
+, gnome3, libsoup, json-glib, gobjectIntrospection }:
 
 let
   pname = "gfbgraph";
@@ -7,15 +7,19 @@ let
 in stdenv.mkDerivation rec {
   name = "${pname}-${version}";
 
+  outputs = [ "out" "dev" "devdoc" ];
+
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${gnome3.versionBranch version}/${name}.tar.xz";
     sha256 = "1dp0v8ia35fxs9yhnqpxj3ir5lh018jlbiwifjfn8ayy7h47j4fs";
   };
 
-  nativeBuildInputs = [ pkgconfig ];
+  nativeBuildInputs = [ pkgconfig gobjectIntrospection ];
   buildInputs = [ glib gnome3.gnome-online-accounts ];
   propagatedBuildInputs = [ libsoup json-glib gnome3.rest ];
 
+  configureFlags = [ "--enable-introspection" ];
+
   enableParallelBuilding = true;
 
   passthru = {
diff --git a/pkgs/desktops/gnome-3/misc/gitg/default.nix b/pkgs/desktops/gnome-3/misc/gitg/default.nix
index 314539b7f9e..32da3a9a4b8 100644
--- a/pkgs/desktops/gnome-3/misc/gitg/default.nix
+++ b/pkgs/desktops/gnome-3/misc/gitg/default.nix
@@ -3,37 +3,49 @@
 , gnome3, gtkspell3, shared-mime-info, libgee, libgit2-glib, librsvg, libsecret
 , libsoup }:
 
-stdenv.mkDerivation rec {
-  name = "gitg-${version}";
+let
+  pname = "gitg";
   version = "3.26.0";
+in stdenv.mkDerivation rec {
+  name = "${pname}-${version}";
 
   src = fetchurl {
-    url = "mirror://gnome/sources/gitg/${gnome3.versionBranch version}/${name}.tar.xz";
+    url = "mirror://gnome/sources/${pname}/${gnome3.versionBranch version}/${name}.tar.xz";
     sha256 = "26730d437d6a30d6e341b9e8da99d2134dce4b96022c195609f45062f82b54d5";
   };
 
-  passthru = {
-    updateScript = gnome3.updateScript { packageName = "gitg"; };
-  };
-
   preCheck = ''
     substituteInPlace tests/libgitg/test-commit.c --replace "/bin/bash" "${bash}/bin/bash"
   '';
   doCheck = true;
 
-  makeFlags = "INTROSPECTION_GIRDIR=$(out)/share/gir-1.0/ INTROSPECTION_TYPELIBDIR=$(out)/lib/girepository-1.0";
+  enableParallelBuilding = true;
 
-  propagatedUserEnvPkgs = [ shared-mime-info
-                            gnome3.gnome-themes-standard ];
+  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
-                  librsvg libsecret gobjectIntrospection gnome3.adwaita-icon-theme ];
+  buildInputs = [
+    gtk3 glib json-glib libgee libpeas gnome3.libsoup
+    libgit2-glib gtkspell3 gnome3.gtksourceview gnome3.gsettings-desktop-schemas
+    libsecret gobjectIntrospection gnome3.adwaita-icon-theme
+  ];
 
   nativeBuildInputs = [ vala wrapGAppsHook intltool pkgconfig ];
 
+  preFixup = ''
+    gappsWrapperArgs+=(
+      # Thumbnailers
+      --prefix XDG_DATA_DIRS : "${shared-mime-info}/share"
+    )
+  '';
+
+  passthru = {
+    updateScript = gnome3.updateScript {
+      packageName = pname;
+    };
+  };
+
   meta = with stdenv.lib; {
-    homepage = https://wiki.gnome.org/action/show/Apps/Gitg;
+    homepage = https://wiki.gnome.org/Apps/Gitg;
     description = "GNOME GUI client to view git repositories";
     maintainers = with maintainers; [ domenkozar ];
     license = licenses.gpl2;
diff --git a/pkgs/desktops/gnome-3/misc/gnome-packagekit/default.nix b/pkgs/desktops/gnome-3/misc/gnome-packagekit/default.nix
index ecc0711482f..e3ff784b16f 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.26.0";
+  version = "3.28.0";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-packagekit/${gnome3.versionBranch version}/${name}.tar.xz";
-    sha256 = "6a219e16923d3976f424416c944bef06913922da24bc9e6644ec114c2d563417";
+    sha256 = "051q3hc78qa85mfh4jxxprfcrfj1hva6smfqsgzm0kx4zkkj1c1r";
   };
 
   passthru = {
diff --git a/pkgs/desktops/gnome-3/misc/gnome-tweak-tool/default.nix b/pkgs/desktops/gnome-3/misc/gnome-tweak-tool/default.nix
deleted file mode 100644
index 35c3a678e84..00000000000
--- a/pkgs/desktops/gnome-3/misc/gnome-tweak-tool/default.nix
+++ /dev/null
@@ -1,66 +0,0 @@
-{ stdenv, meson, ninja, gettext, fetchurl, atk
-, pkgconfig, gtk3, glib, libsoup
-, bash, itstool, libxml2, python3Packages
-, gnome3, librsvg, gdk_pixbuf, file, libnotify, gobjectIntrospection, wrapGAppsHook }:
-
-stdenv.mkDerivation rec {
-  name = "gnome-tweak-tool-${version}";
-  version = "3.26.4";
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/gnome-tweak-tool/${gnome3.versionBranch version}/${name}.tar.xz";
-    sha256 = "fda08044d22c258bbd93dbad326d282d4d1184b98795ae8e3e5f07f8275005df";
-  };
-
-  passthru = {
-    updateScript = gnome3.updateScript { packageName = "gnome-tweak-tool"; attrPath = "gnome3.gnome-tweak-tool"; };
-  };
-
-  propagatedUserEnvPkgs = [ gnome3.gnome-themes-standard ];
-
-  nativeBuildInputs = [
-    meson ninja pkgconfig gettext itstool libxml2 file wrapGAppsHook
-  ];
-  buildInputs = [
-    gtk3 glib gnome3.gsettings-desktop-schemas
-    gdk_pixbuf gnome3.defaultIconTheme librsvg
-    libnotify gnome3.gnome-shell python3Packages.pygobject3
-    libsoup gnome3.gnome-settings-daemon gnome3.nautilus
-    gnome3.mutter gnome3.gnome-desktop gobjectIntrospection
-  ];
-
-  postPatch = ''
-    patchShebangs meson-postinstall.py
-  '';
-
-  preFixup = ''
-    gappsWrapperArgs+=(
-      --prefix PYTHONPATH : "$out/${python3Packages.python.sitePackages}:$PYTHONPATH")
-  '';
-
-  patches = [
-    (fetchurl {
-      name = "find_gsettings.patch";
-      url = https://bugzilla.gnome.org/attachment.cgi?id=365642;
-      sha256 = "14ik1kad0w99xa2wn3d4ynrkhnwchjlqfbaij7p11y5zpiwhaha4";
-    })
-    (fetchurl {
-      name = "0001-Search-for-themes-and-icons-in-system-data-dirs.patch";
-      url = https://bugzilla.gnome.org/attachment.cgi?id=365643;
-      sha256 = "1phq3c7hc9lryih6rp3m5wmp88rfbl6iv42ng4g6bzm1jphgl89f";
-    })
-    (fetchurl {
-      name = "0001-appearance-Don-t-duplicate-the-cursor-theme-name.patch";
-      url = https://bugzilla.gnome.org/attachment.cgi?id=365648;
-      sha256 = "1n9vwsfz4sx72qsi1gd1y7460zmagwirvmi9qrfhc3ahanpyn4fr";
-    })
-  ];
-
-  meta = with stdenv.lib; {
-    homepage = https://wiki.gnome.org/action/show/Apps/GnomeTweakTool;
-    description = "A tool to customize advanced GNOME 3 options";
-    maintainers = gnome3.maintainers;
-    license = licenses.gpl3;
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/desktops/gnome-3/misc/gnome-tweaks/default.nix b/pkgs/desktops/gnome-3/misc/gnome-tweaks/default.nix
new file mode 100644
index 00000000000..a7c69de44eb
--- /dev/null
+++ b/pkgs/desktops/gnome-3/misc/gnome-tweaks/default.nix
@@ -0,0 +1,54 @@
+{ stdenv, meson, ninja, gettext, fetchurl, atk
+, pkgconfig, gtk3, glib, libsoup
+, bash, itstool, libxml2, python3Packages
+, gnome3, librsvg, gdk_pixbuf, file, libnotify, gobjectIntrospection, wrapGAppsHook }:
+
+let
+  pname = "gnome-tweaks";
+  version = "3.28.1";
+in stdenv.mkDerivation rec {
+  name = "${pname}-${version}";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/${pname}/${gnome3.versionBranch version}/${name}.tar.xz";
+    sha256 = "1p5xydr0haz4389h6dvvbna6i1mipdzvmlfksnv0jqfvfs9sy6fp";
+  };
+
+  nativeBuildInputs = [
+    meson ninja pkgconfig gettext itstool libxml2 wrapGAppsHook
+  ];
+  buildInputs = [
+    gtk3 glib gnome3.gsettings-desktop-schemas
+    gdk_pixbuf gnome3.defaultIconTheme
+    libnotify gnome3.gnome-shell python3Packages.pygobject3
+    libsoup gnome3.gnome-settings-daemon gnome3.nautilus
+    gnome3.mutter gnome3.gnome-desktop gobjectIntrospection
+    gnome3.nautilus
+    # Makes it possible to select user themes through the `user-theme` extension
+    gnome3.gnome-shell-extensions
+  ];
+
+  postPatch = ''
+    patchShebangs meson-postinstall.py
+  '';
+
+  preFixup = ''
+    gappsWrapperArgs+=(
+      --prefix PYTHONPATH : "$out/${python3Packages.python.sitePackages}:$PYTHONPATH")
+  '';
+
+  passthru = {
+    updateScript = gnome3.updateScript {
+      packageName = pname;
+      attrPath = "gnome3.${pname}";
+    };
+  };
+
+  meta = with stdenv.lib; {
+    homepage = https://wiki.gnome.org/action/show/Apps/GnomeTweakTool;
+    description = "A tool to customize advanced GNOME 3 options";
+    maintainers = gnome3.maintainers;
+    license = licenses.gpl3;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/misc/gpaste/default.nix b/pkgs/desktops/gnome-3/misc/gpaste/default.nix
index aaedd6ef632..a0182057873 100644
--- a/pkgs/desktops/gnome-3/misc/gpaste/default.nix
+++ b/pkgs/desktops/gnome-3/misc/gpaste/default.nix
@@ -2,12 +2,12 @@
 , pango, gtk3, gnome3, dbus, clutter, appstream-glib, wrapGAppsHook, systemd, gobjectIntrospection }:
 
 stdenv.mkDerivation rec {
-  version = "3.26.0";
+  version = "3.28.2";
   name = "gpaste-${version}";
 
   src = fetchurl {
     url = "https://github.com/Keruspe/GPaste/archive/v${version}.tar.gz";
-    sha256 = "0xlcbm9qnw61h6xwa1c0lz5mp1ca3vjjn5wpk0ahhhl6k94mzjs7";
+    sha256 = "1zfx73qpw976hyzp5k569lywsq2b6dbnnzf2cvhjvn3mvkw8pin2";
   };
 
   nativeBuildInputs = [ autoreconfHook pkgconfig vala wrapGAppsHook ];
diff --git a/pkgs/desktops/gnome-3/misc/gspell/default.nix b/pkgs/desktops/gnome-3/misc/gspell/default.nix
index 5d2dc08e7e3..ca1fc3724fc 100644
--- a/pkgs/desktops/gnome-3/misc/gspell/default.nix
+++ b/pkgs/desktops/gnome-3/misc/gspell/default.nix
@@ -1,23 +1,31 @@
-{ stdenv, fetchurl, pkgconfig, glib, gtk3, enchant, isocodes, vala, gobjectIntrospection, gnome3 }:
+{ stdenv, fetchurl, pkgconfig, libxml2, glib, gtk3, enchant2, isocodes, vala, gobjectIntrospection, gnome3 }:
 
-stdenv.mkDerivation rec {
-  name = "gspell-${version}";
-  version = "1.6.1";
+let
+  pname = "gspell";
+  version = "1.8.0";
+in stdenv.mkDerivation rec {
+  name = "${pname}-${version}";
 
-  src = fetchurl {
-    url = "mirror://gnome/sources/gspell/${gnome3.versionBranch version}/${name}.tar.xz";
-    sha256 = "f4d329348775374eec18158f8dcbbacf76f85be5ce002a92d93054ece70ec4de";
-  };
+  outputs = [ "out" "dev" ];
+  outputBin = "dev";
 
-  passthru = {
-    updateScript = gnome3.updateScript { packageName = "gspell"; attrPath = "gnome3.gspell"; };
+  src = fetchurl {
+    url = "mirror://gnome/sources/${pname}/${gnome3.versionBranch version}/${name}.tar.xz";
+    sha256 = "0ickabxngl567lv1jax4fasr5brq29hg04ymaay47pjfp32w4zqv";
   };
 
-  propagatedBuildInputs = [ enchant ]; # required for pkgconfig
+  propagatedBuildInputs = [ enchant2 ]; # required for pkgconfig
 
-  nativeBuildInputs = [ pkgconfig vala gobjectIntrospection ];
+  nativeBuildInputs = [ pkgconfig vala gobjectIntrospection libxml2 ];
   buildInputs = [ glib gtk3 isocodes ];
 
+  passthru = {
+    updateScript = gnome3.updateScript {
+      packageName = pname;
+      attrPath = "gnome3.${pname}";
+    };
+  };
+
   meta = with stdenv.lib; {
     description = "A spell-checking library for GTK+ applications";
     homepage = https://wiki.gnome.org/Projects/gspell;
diff --git a/pkgs/desktops/gnome-3/misc/libgames-support/default.nix b/pkgs/desktops/gnome-3/misc/libgnome-games-support/default.nix
index 29fdd317656..d777ec0baae 100644
--- a/pkgs/desktops/gnome-3/misc/libgames-support/default.nix
+++ b/pkgs/desktops/gnome-3/misc/libgnome-games-support/default.nix
@@ -1,23 +1,25 @@
-{ stdenv, fetchurl, pkgconfig, glib, gtk3, libgee, intltool, gnome3 }:
+{ stdenv, fetchurl, pkgconfig, glib, gtk3, libgee, intltool, gnome3, libintlOrEmpty }:
 
 let
   pname = "libgnome-games-support";
-  version = "1.2.3";
+  version = "1.4.1";
 in stdenv.mkDerivation rec {
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${gnome3.versionBranch version}/${name}.tar.xz";
-    sha256 = "1vwad7kqy7yd6wqyr71nq0blh7m53r3lz6ya16dmh942kd0w48v1";
+    sha256 = "1j7lfcnc29lgn8ppn13wkn9w2y1n3lsapagwp91zh3bf0h2h4hv1";
   };
 
-  nativeBuildInputs = [ pkgconfig intltool ];
+  nativeBuildInputs = [ pkgconfig intltool ] ++ libintlOrEmpty;
   buildInputs = [ glib gtk3 libgee ];
 
+  NIX_LDFLAGS = if stdenv.isDarwin then "-lintl" else null;
+
   passthru = {
     updateScript = gnome3.updateScript {
       packageName = pname;
-      attrPath = "gnome3.libgames-support";
+      attrPath = "gnome3.${pname}";
     };
   };
 
diff --git a/pkgs/desktops/gnustep/back/default.nix b/pkgs/desktops/gnustep/back/default.nix
index 02f58f81200..7920c8e1f45 100644
--- a/pkgs/desktops/gnustep/back/default.nix
+++ b/pkgs/desktops/gnustep/back/default.nix
@@ -8,13 +8,13 @@
 , libXmu
 }:
 let
-  version = "0.25.0";
+  version = "0.26.2";
 in
 gsmakeDerivation {
   name = "gnustep-back-${version}";
   src = fetchurl {
     url = "ftp://ftp.gnustep.org/pub/gnustep/core/gnustep-back-${version}.tar.gz";
-    sha256 = "14gs1b32ahnihd7mwpjrws2b8hl11rl1wl24a7651d3z2l7f6xj2";
+    sha256 = "012gsc7x66gmsw6r5w65a64krcigf7rzqzd5x86d4gv94344knlf";
   };
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ cairo base gui freetype x11 libXmu ];
diff --git a/pkgs/desktops/gnustep/base/default.nix b/pkgs/desktops/gnustep/base/default.nix
index 4d9f763acc4..40c79274aae 100644
--- a/pkgs/desktops/gnustep/base/default.nix
+++ b/pkgs/desktops/gnustep/base/default.nix
@@ -11,13 +11,13 @@
 , pkgconfig, portaudio
 }:
 let
-  version = "1.24.9";
+  version = "1.25.1";
 in
 gsmakeDerivation {
   name = "gnustep-base-${version}";
   src = fetchurl {
     url = "ftp://ftp.gnustep.org/pub/gnustep/core/gnustep-base-${version}.tar.gz";
-    sha256 = "1vvjlbqmlwr82b4pf8c62rxjgz475bmg0x2yd0bbkia6yvwhk585";
+    sha256 = "17mnilg28by74wc08nkwp6gi06x3j2nrcf05wg64nrw5ljffp2zj";
   };
   nativeBuildInputs = [ pkgconfig ];
   propagatedBuildInputs = [
diff --git a/pkgs/desktops/gnustep/gorm/default.nix b/pkgs/desktops/gnustep/gorm/default.nix
index 5075ec5500c..9f1b0ef47fe 100644
--- a/pkgs/desktops/gnustep/gorm/default.nix
+++ b/pkgs/desktops/gnustep/gorm/default.nix
@@ -1,13 +1,13 @@
 { fetchurl, base, back, gsmakeDerivation, gui }:
 let
-  version = "1.2.22";
+  version = "1.2.23";
 in
 gsmakeDerivation {
   name = "gorm-${version}";
   
   src = fetchurl {
     url = "ftp://ftp.gnustep.org/pub/gnustep/dev-apps/gorm-${version}.tar.gz";
-    sha256 = "1mq5n65xd9bc4kppx19iijsgpz4crvhg7bfwbi9k78j159vclnmi";
+    sha256 = "18pf9vvzvdk8bg4lhjb96y1kdkmb9ahmvrqv2581vn45pjxmmlnb";
   };
   buildInputs = [ base back gui ];
 
diff --git a/pkgs/desktops/gnustep/gui/default.nix b/pkgs/desktops/gnustep/gui/default.nix
index a28fef8f3d9..399bad2581f 100644
--- a/pkgs/desktops/gnustep/gui/default.nix
+++ b/pkgs/desktops/gnustep/gui/default.nix
@@ -1,12 +1,12 @@
 { gsmakeDerivation, fetchurl, base }:
 let
-  version = "0.25.0";
+  version = "0.26.2";
 in
 gsmakeDerivation {
   name = "gnustep-gui-${version}";
   src = fetchurl {
     url = "ftp://ftp.gnustep.org/pub/gnustep/core/gnustep-gui-${version}.tar.gz";
-    sha256 = "10jf3xir59qzbhhl0bvs9wdw40fsmvv6mdv5akdkia1rnck60xf5";
+    sha256 = "1dsbkifnjha3ghq8xx55bpsbbng0cjsni3yz71r7342ax2ixcvxc";
   };
   buildInputs = [ base ];
   patches = [ ./fixup-all.patch ];
diff --git a/pkgs/desktops/gnustep/make/default.nix b/pkgs/desktops/gnustep/make/default.nix
index 62250586497..6ef87cece4e 100644
--- a/pkgs/desktops/gnustep/make/default.nix
+++ b/pkgs/desktops/gnustep/make/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, clang, which, libobjc }:
 
 let
-  version = "2.6.8";
+  version = "2.7.0";
 in
 
 stdenv.mkDerivation rec {
@@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "ftp://ftp.gnustep.org/pub/gnustep/core/gnustep-make-${version}.tar.gz";
-    sha256 = "0r00439f7vrggdwv60n8p626gnyymhq968i5x9ad2i4v6g8x4gk0";
+    sha256 = "1khiygfkz0zhh9b5nybn40g0xnnjxchk24n49hff1bwanszir84h";
   };
 
   configureFlags = [
diff --git a/pkgs/desktops/lumina/default.nix b/pkgs/desktops/lumina/default.nix
index 0ada9af3b5e..7563e344750 100644
--- a/pkgs/desktops/lumina/default.nix
+++ b/pkgs/desktops/lumina/default.nix
@@ -22,6 +22,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [
     xorg.libxcb
+    xorg.libXdamage
     xorg.xcbutilwm
     xorg.xcbutilimage
     qtbase
diff --git a/pkgs/desktops/lxde/core/lxmenu-data.nix b/pkgs/desktops/lxde/core/lxmenu-data.nix
index b17ab4fda65..6e8644b19b0 100644
--- a/pkgs/desktops/lxde/core/lxmenu-data.nix
+++ b/pkgs/desktops/lxde/core/lxmenu-data.nix
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
   buildInputs = [ intltool ];
 
   meta = {
-    homepage = http://lxde.org/;
+    homepage = https://lxde.org/;
     license = stdenv.lib.licenses.gpl2;
     description = "Freedesktop.org desktop menus for LXDE";
     platforms = stdenv.lib.platforms.linux;
diff --git a/pkgs/desktops/lxde/core/lxpanel/default.nix b/pkgs/desktops/lxde/core/lxpanel/default.nix
index 1225f425b26..af9570a2c73 100644
--- a/pkgs/desktops/lxde/core/lxpanel/default.nix
+++ b/pkgs/desktops/lxde/core/lxpanel/default.nix
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "Lightweight X11 desktop panel for LXDE";
-    homepage = http://lxde.org/;
+    homepage = https://lxde.org/;
     license = stdenv.lib.licenses.gpl2;
     maintainers = [ stdenv.lib.maintainers.ryneeverett ];
     platforms = stdenv.lib.platforms.linux;
diff --git a/pkgs/desktops/lxde/core/lxtask/default.nix b/pkgs/desktops/lxde/core/lxtask/default.nix
index ef95f6035b2..dbed065190e 100644
--- a/pkgs/desktops/lxde/core/lxtask/default.nix
+++ b/pkgs/desktops/lxde/core/lxtask/default.nix
@@ -10,11 +10,13 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ pkgconfig intltool ];
-  
+
   buildInputs = [ gtk3 ];
 
   configureFlags = [ "--enable-gtk3" ];
 
+  NIX_LDFLAGS = stdenv.lib.optionalString stdenv.isDarwin "-lintl";
+
   meta = {
     description = "Lightweight and desktop independent task manager";
     longDescription = ''
@@ -24,7 +26,7 @@ stdenv.mkDerivation rec {
       Desktop Environment, it's totally desktop independent and only
       requires pure gtk+.
     '';
-    homepage = https://wiki.lxde.org/en/LXTask; 
+    homepage = https://wiki.lxde.org/en/LXTask;
     license = stdenv.lib.licenses.gpl2Plus;
     platforms = stdenv.lib.platforms.unix;
     maintainers = [ stdenv.lib.maintainers.romildo ];
diff --git a/pkgs/desktops/lxqt/base/libqtxdg/default.nix b/pkgs/desktops/lxqt/base/libqtxdg/default.nix
index 966566db7c8..7938e4fd9a1 100644
--- a/pkgs/desktops/lxqt/base/libqtxdg/default.nix
+++ b/pkgs/desktops/lxqt/base/libqtxdg/default.nix
@@ -16,7 +16,11 @@ stdenv.mkDerivation rec {
   buildInputs = [ qt5.qtbase qt5.qtsvg ];
 
   preConfigure = ''
-    cmakeFlags+=" -DQTXDGX_ICONENGINEPLUGIN_INSTALL_PATH=$out/$qtPluginPrefix"
+    cmakeFlagsArray+=(
+    "-DQTXDGX_ICONENGINEPLUGIN_INSTALL_PATH=$out/$qtPluginPrefix"
+    "-DCMAKE_INSTALL_INCLUDEDIR=include"
+    "-DCMAKE_INSTALL_LIBDIR=lib"
+    )
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/desktops/lxqt/core/lxqt-panel/default.nix b/pkgs/desktops/lxqt/core/lxqt-panel/default.nix
index 77a49410bb6..9a8e6e7a5ca 100644
--- a/pkgs/desktops/lxqt/core/lxqt-panel/default.nix
+++ b/pkgs/desktops/lxqt/core/lxqt-panel/default.nix
@@ -4,7 +4,7 @@
   qtbase, qttools, qtx11extras, qtsvg, libdbusmenu, kwindowsystem, solid,
   kguiaddons, liblxqt, libqtxdg, lxqt-globalkeys, libsysstat,
   xorg, libstatgrab, lm_sensors, libpulseaudio, alsaLib, menu-cache,
-  lxmenu-data, pcre
+  lxmenu-data, pcre, libXdamage
 }:
 
 stdenv.mkDerivation rec {
@@ -47,6 +47,7 @@ stdenv.mkDerivation rec {
     menu-cache
     lxmenu-data
     pcre
+    libXdamage
   ];
 
   cmakeFlags = [ "-DPULL_TRANSLATIONS=NO" ];
diff --git a/pkgs/desktops/mate/caja/default.nix b/pkgs/desktops/mate/caja/default.nix
index 070808504d1..9643c9a3416 100644
--- a/pkgs/desktops/mate/caja/default.nix
+++ b/pkgs/desktops/mate/caja/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "caja-${version}";
-  version = "1.20.0";
+  version = "1.21.0";
 
   src = fetchurl {
     url = "http://pub.mate-desktop.org/releases/${mate.getRelease version}/${name}.tar.xz";
-    sha256 = "05shyqqapqbz4w0gbhx0i3kj6xg7rcj80hkaq7wf5pyj91wmkxqg";
+    sha256 = "0v8zx5rzqh1zkwizkpdckmwm6004cv9sbjghzgz3049xzcqm371g";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/mate/libmatekbd/default.nix b/pkgs/desktops/mate/libmatekbd/default.nix
index 209edf1f363..fb7a8308ee5 100644
--- a/pkgs/desktops/mate/libmatekbd/default.nix
+++ b/pkgs/desktops/mate/libmatekbd/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "libmatekbd-${version}";
-  version = "1.20.0";
+  version = "1.20.1";
 
   src = fetchurl {
     url = "http://pub.mate-desktop.org/releases/${mate.getRelease version}/${name}.tar.xz";
-    sha256 = "1n2zphb3g6ai54nfr0r9s06vn3bmm361xpjga88hmq947fvbpx19";
+    sha256 = "1d80xnbb8w51cv9cziybdxca037lksqkc5bd8wqlyb2p79z77426";
   };
 
   nativeBuildInputs = [ pkgconfig intltool ];
diff --git a/pkgs/desktops/mate/marco/default.nix b/pkgs/desktops/mate/marco/default.nix
index e5a544ae33e..42c74aa1173 100644
--- a/pkgs/desktops/mate/marco/default.nix
+++ b/pkgs/desktops/mate/marco/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "marco-${version}";
-  version = "1.20.0";
+  version = "1.20.1";
 
   src = fetchurl {
     url = "http://pub.mate-desktop.org/releases/${mate.getRelease version}/${name}.tar.xz";
-    sha256 = "07asf8i15ih6ajkp5yapk720qyssi2cinxwg2z5q5j9m6mxax6lr";
+    sha256 = "1qnx47aibvl00qaf1jik457cwncxb71pf5pd1m3gdg7ky61ljkm4";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/mate/mate-applets/default.nix b/pkgs/desktops/mate/mate-applets/default.nix
index 0be643c9718..b9f9e0ece35 100644
--- a/pkgs/desktops/mate/mate-applets/default.nix
+++ b/pkgs/desktops/mate/mate-applets/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "mate-applets-${version}";
-  version = "1.20.0";
+  version = "1.20.1";
 
   src = fetchurl {
     url = "http://pub.mate-desktop.org/releases/${mate.getRelease version}/${name}.tar.xz";
-    sha256 = "1jmhswfcbawp9ax5p5h2dj8pyajadjdyxa0ac7ldvh7viv8qy52s";
+    sha256 = "1a119g49sr7jrd8i32bw7sn2qlsg3sdiwqdb2v36bm2999j261wc";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/mate/mate-calc/default.nix b/pkgs/desktops/mate/mate-calc/default.nix
index efe8adae678..7e501fcf379 100644
--- a/pkgs/desktops/mate/mate-calc/default.nix
+++ b/pkgs/desktops/mate/mate-calc/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "mate-calc-${version}";
-  version = "1.20.0";
+  version = "1.20.1";
 
   src = fetchurl {
     url = "http://pub.mate-desktop.org/releases/${mate.getRelease version}/${name}.tar.xz";
-    sha256 = "03cma6b00chd4026pbnh5i0ckpl8b1l7i1ppvcmbfbx0s3vpbc73";
+    sha256 = "00k063ia4dclvcpg1q733lbi56533s6mj8bgb1nrgna6y7zw4q87";
   };
 
   nativeBuildInputs = [
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
     description = "Calculator for the MATE desktop";
     homepage = http://mate-desktop.org;
     license = [ licenses.gpl2Plus ];
-    platforms = platforms.unix;
+    platforms = platforms.linux;
     maintainers = [ maintainers.romildo ];
   };
 }
diff --git a/pkgs/desktops/mate/mate-control-center/default.nix b/pkgs/desktops/mate/mate-control-center/default.nix
index fdee351aeed..6bde7d7a017 100644
--- a/pkgs/desktops/mate/mate-control-center/default.nix
+++ b/pkgs/desktops/mate/mate-control-center/default.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   name = "mate-control-center-${version}";
-  version = "1.20.0";
+  version = "1.20.2";
 
   src = fetchurl {
     url = "http://pub.mate-desktop.org/releases/${mate.getRelease version}/${name}.tar.xz";
-    sha256 = "0qq3ln40w7lxa7qvbvbsgdq1c5ybzqw3bw2x4z6y6brl4c77sbh7";
+    sha256 = "1x40gxrz1hrzbdfl8vbag231g08h45vaky5z827k44qwl6pjd6nl";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/mate/mate-desktop/default.nix b/pkgs/desktops/mate/mate-desktop/default.nix
index 56c0ae4632c..f84b6b25420 100644
--- a/pkgs/desktops/mate/mate-desktop/default.nix
+++ b/pkgs/desktops/mate/mate-desktop/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "mate-desktop-${version}";
-  version = "1.20.0";
+  version = "1.20.1";
 
   src = fetchurl {
     url = "http://pub.mate-desktop.org/releases/${mate.getRelease version}/${name}.tar.xz";
-    sha256 = "0y5172sbj6f4dvimf4pmz74b9cfidbpmnwwb9f6vlc6fa0kp5l1n";
+    sha256 = "0jxhhf9w6mz8ha6ymgj2alzmiydylg4ngqslkjxx37vvpvms2dyx";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/mate/mate-icon-theme/default.nix b/pkgs/desktops/mate/mate-icon-theme/default.nix
index 93ad93b07b9..7291b475fe1 100644
--- a/pkgs/desktops/mate/mate-icon-theme/default.nix
+++ b/pkgs/desktops/mate/mate-icon-theme/default.nix
@@ -12,18 +12,18 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ pkgconfig intltool iconnamingutils ];
 
   buildInputs = [ librsvg hicolor-icon-theme ];
-  
+
   postInstall = ''
     for theme in "$out"/share/icons/*; do
       "${gtk3.out}/bin/gtk-update-icon-cache" "$theme"
     done
   '';
-  
+
   meta = {
     description = "Icon themes from MATE";
     homepage = http://mate-desktop.org;
     license = stdenv.lib.licenses.lgpl3;
-    platforms = stdenv.lib.platforms.unix;
+    platforms = stdenv.lib.platforms.linux;
     maintainers = [ stdenv.lib.maintainers.romildo ];
   };
 }
diff --git a/pkgs/desktops/mate/mate-panel/default.nix b/pkgs/desktops/mate/mate-panel/default.nix
index 0adcb58758c..df1c15bddd3 100644
--- a/pkgs/desktops/mate/mate-panel/default.nix
+++ b/pkgs/desktops/mate/mate-panel/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "mate-panel-${version}";
-  version = "1.20.0";
+  version = "1.20.1";
 
   src = fetchurl {
     url = "http://pub.mate-desktop.org/releases/${mate.getRelease version}/${name}.tar.xz";
-    sha256 = "0cz1pfwvsmrjcd0wa83cid9yjcygla6rhigyr7f75d75kiknlcm7";
+    sha256 = "1vmvn93apvq6r9m823zyrncbxgsjr4nmigw9k4s4n05z8zd8wy8k";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/mate/mate-power-manager/default.nix b/pkgs/desktops/mate/mate-power-manager/default.nix
index ddde6acf0e0..c056b1f62fb 100644
--- a/pkgs/desktops/mate/mate-power-manager/default.nix
+++ b/pkgs/desktops/mate/mate-power-manager/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "mate-power-manager-${version}";
-  version = "1.20.0";
+  version = "1.20.1";
 
   src = fetchurl {
     url = "http://pub.mate-desktop.org/releases/${mate.getRelease version}/${name}.tar.xz";
-    sha256 = "038c2q5kqvqmkp1i93p4pp9x8p6a9i7lyn3nv522mq06qsbynbww";
+    sha256 = "1s46jvjcrai6xb2k0dy7i121b9ihfl5h3y5809fg9fzrbvw6bafn";
   };
 
   buildInputs = [
diff --git a/pkgs/desktops/mate/mate-sensors-applet/default.nix b/pkgs/desktops/mate/mate-sensors-applet/default.nix
index dfd3766df29..d82cd4b073a 100644
--- a/pkgs/desktops/mate/mate-sensors-applet/default.nix
+++ b/pkgs/desktops/mate/mate-sensors-applet/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "mate-sensors-applet-${version}";
-  version = "1.20.0";
+  version = "1.20.1";
 
   src = fetchurl {
     url = "http://pub.mate-desktop.org/releases/${mate.getRelease version}/${name}.tar.xz";
-    sha256 = "1yj8zr9w0a1h4bpd27w7ssg97vnrz7yr10jqhx67yyb900ccr3ik";
+    sha256 = "0lnr3jjq30zw1i2rv5n69dhsa3x39lc91xcgbj4vyj1rxj9ff05x";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/mate/mate-settings-daemon/default.nix b/pkgs/desktops/mate/mate-settings-daemon/default.nix
index b97b5294d39..490500fca69 100644
--- a/pkgs/desktops/mate/mate-settings-daemon/default.nix
+++ b/pkgs/desktops/mate/mate-settings-daemon/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   name = "mate-settings-daemon-${version}";
-  version = "1.20.0";
+  version = "1.20.1";
 
   src = fetchurl {
     url = "http://pub.mate-desktop.org/releases/${mate.getRelease version}/${name}.tar.xz";
-    sha256 = "0p4fr2sgkjcjsrmkdy579xmk20dl0sa6az40rzvm6fb2w6693sf5";
+    sha256 = "1hmc5qfr9yrvrlc1d2mmsqbhv0lhikbadaac18bxjynw9ff857iq";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/mate/mate-themes/default.nix b/pkgs/desktops/mate/mate-themes/default.nix
index c68b8b7d9bd..9d82d439c82 100644
--- a/pkgs/desktops/mate/mate-themes/default.nix
+++ b/pkgs/desktops/mate/mate-themes/default.nix
@@ -3,11 +3,11 @@
 
 stdenv.mkDerivation rec {
   name = "mate-themes-${version}";
-  version = "3.22.15";
+  version = "3.22.16";
 
   src = fetchurl {
     url = "http://pub.mate-desktop.org/releases/themes/${mate.getRelease version}/${name}.tar.xz";
-    sha256 = "0cmlbj6vlkavdirc5xnsgwmy0m11bj9yrbv1dkq46n1s23rvv6wg";
+    sha256 = "1k8qp2arjv4vj8kyjhjgyj5h46jy0darlfh48l5h25623z1firdj";
   };
 
   nativeBuildInputs = [ pkgconfig intltool ];
diff --git a/pkgs/desktops/mate/pluma/default.nix b/pkgs/desktops/mate/pluma/default.nix
index d951c9f9bbd..c1b57504317 100644
--- a/pkgs/desktops/mate/pluma/default.nix
+++ b/pkgs/desktops/mate/pluma/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "pluma-${version}";
-  version = "1.20.0";
+  version = "1.21.0";
 
   src = fetchurl {
     url = "http://pub.mate-desktop.org/releases/${mate.getRelease version}/${name}.tar.xz";
-    sha256 = "0w2x270n11rfa321cdlycfhcgncwxqpikjyl3lwmn4vkx8nhgq5f";
+    sha256 = "1y3zl0rzp069pix1vgrhzkkfc3lvhq9ahfgbmc88cwqw9aw3mgk0";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/pantheon/apps/pantheon-terminal/default.nix b/pkgs/desktops/pantheon/apps/pantheon-terminal/default.nix
index 22e790784d5..7f259d66954 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, makeWrapper, gobjectIntrospection }:
+{ stdenv, fetchurl, perl, cmake, vala_0_38, pkgconfig, glib, gtk3, granite, gnome3, libnotify, gettext, wrapGAppsHook, gobjectIntrospection }:
 
 stdenv.mkDerivation rec {
   majorVersion = "0.4";
@@ -9,19 +9,8 @@ stdenv.mkDerivation rec {
     sha256 = "0bfrqxig26i9qhm15kk7h9lgmzgnqada5snbbwqkp0n0pnyyh4ss";
   };
 
-  preConfigure = ''
-    export PKG_CONFIG_PATH="$PKG_CONFIG_PATH:${granite}/lib64/pkgconfig"
-  '';
-
-  preFixup = ''
-    for f in $out/bin/*; do
-      wrapProgram $f \
-        --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH:$XDG_ICON_DIRS:$out/share"
-    done
-  '';
-
   nativeBuildInputs = [
-    perl cmake vala_0_38 pkgconfig makeWrapper
+    perl cmake vala_0_38 pkgconfig wrapGAppsHook
     # For setup hook
     gobjectIntrospection
   ];
diff --git a/pkgs/desktops/plasma-5/fetch.sh b/pkgs/desktops/plasma-5/fetch.sh
index ba1cf9ed993..c73598f03d0 100644
--- a/pkgs/desktops/plasma-5/fetch.sh
+++ b/pkgs/desktops/plasma-5/fetch.sh
@@ -1 +1 @@
-WGET_ARGS=( https://download.kde.org/stable/plasma/5.12.2/ -A '*.tar.xz' )
+WGET_ARGS=( https://download.kde.org/stable/plasma/5.12.5/ -A '*.tar.xz' )
diff --git a/pkgs/desktops/plasma-5/kde-gtk-config/default.nix b/pkgs/desktops/plasma-5/kde-gtk-config/default.nix
index 35d90a246bc..8cfc947d30b 100644
--- a/pkgs/desktops/plasma-5/kde-gtk-config/default.nix
+++ b/pkgs/desktops/plasma-5/kde-gtk-config/default.nix
@@ -1,21 +1,25 @@
 {
   mkDerivation,
-  extra-cmake-modules,
+  extra-cmake-modules, wrapGAppsHook,
   glib, gtk2, gtk3, karchive, kcmutils, kconfigwidgets, ki18n, kiconthemes, kio,
   knewstuff, gsettings-desktop-schemas
 }:
 
 mkDerivation {
   name = "kde-gtk-config";
-  nativeBuildInputs = [ extra-cmake-modules ];
+  nativeBuildInputs = [ extra-cmake-modules wrapGAppsHook ];
+  dontWrapGApps = true;  # There is nothing to wrap
   buildInputs = [
     ki18n kio glib gtk2 gtk3 karchive kcmutils kconfigwidgets kiconthemes
     knewstuff gsettings-desktop-schemas
   ];
-  patches = [ ./0001-follow-symlinks.patch ];
+  patches = [ ./patches/follow-symlinks.patch ./patches/gsettings.patch ];
   cmakeFlags = [
     "-DGTK2_GLIBCONFIG_INCLUDE_DIR=${glib.out}/lib/glib-2.0/include"
     "-DGTK2_GDKCONFIG_INCLUDE_DIR=${gtk2.out}/lib/gtk-2.0/include"
     "-DGLIB_SCHEMAS_DIR=${gsettings-desktop-schemas.out}/"
   ];
+  preConfigure = ''
+    NIX_CFLAGS_COMPILE+=" -DGSETTINGS_SCHEMAS_PATH=\"$GSETTINGS_SCHEMAS_PATH\""
+  '';
 }
diff --git a/pkgs/desktops/plasma-5/kde-gtk-config/0001-follow-symlinks.patch b/pkgs/desktops/plasma-5/kde-gtk-config/patches/follow-symlinks.patch
index d610d19eedd..f30a0a4588f 100644
--- a/pkgs/desktops/plasma-5/kde-gtk-config/0001-follow-symlinks.patch
+++ b/pkgs/desktops/plasma-5/kde-gtk-config/patches/follow-symlinks.patch
@@ -8,11 +8,11 @@ Subject: [PATCH] follow symlinks
  src/iconthemesmodel.cpp | 2 +-
  2 files changed, 2 insertions(+), 2 deletions(-)
 
-diff --git a/src/appearancegtk2.cpp b/src/appearancegtk2.cpp
-index b1e0b52..095cddc 100644
---- a/src/appearancegtk2.cpp
-+++ b/src/appearancegtk2.cpp
-@@ -73,7 +73,7 @@ QString AppearanceGTK2::themesGtkrcFile(const QString& themeName) const
+Index: kde-gtk-config-5.12.4/src/appearancegtk2.cpp
+===================================================================
+--- kde-gtk-config-5.12.4.orig/src/appearancegtk2.cpp
++++ kde-gtk-config-5.12.4/src/appearancegtk2.cpp
+@@ -69,7 +69,7 @@ QString AppearanceGTK2::themesGtkrcFile(
      QStringList themes=installedThemes();
      themes=themes.filter(QRegExp("/"+themeName+"/?$"));
      if(themes.size()==1) {
@@ -21,12 +21,12 @@ index b1e0b52..095cddc 100644
          while(it.hasNext()) {
              it.next();
              if(it.fileName()=="gtkrc") {
-diff --git a/src/iconthemesmodel.cpp b/src/iconthemesmodel.cpp
-index 07c7ad7..b04d978 100644
---- a/src/iconthemesmodel.cpp
-+++ b/src/iconthemesmodel.cpp
-@@ -46,7 +46,7 @@ QList<QDir> IconThemesModel::installedThemesPaths()
-     
+Index: kde-gtk-config-5.12.4/src/iconthemesmodel.cpp
+===================================================================
+--- kde-gtk-config-5.12.4.orig/src/iconthemesmodel.cpp
++++ kde-gtk-config-5.12.4/src/iconthemesmodel.cpp
+@@ -47,7 +47,7 @@ QList<QDir> IconThemesModel::installedTh
+ 
      foreach(const QString& dir, dirs) {
          QDir userIconsDir(dir);
 -        QDirIterator it(userIconsDir.path(), QDir::NoDotAndDotDot|QDir::AllDirs|QDir::NoSymLinks);
@@ -34,14 +34,11 @@ index 07c7ad7..b04d978 100644
          while(it.hasNext()) {
              QString currentPath = it.next();
              QDir dir(currentPath);
--- 
-2.6.2
-
-diff --git a/src/cursorthemesmodel.cpp b/src/cursorthemesmodel.cpp
-index 926a666..85b10f8 100644
---- a/src/cursorthemesmodel.cpp
-+++ b/src/cursorthemesmodel.cpp
-@@ -47,7 +47,7 @@ QList<QDir> CursorThemesModel::installedThemesPaths()
+Index: kde-gtk-config-5.12.4/src/cursorthemesmodel.cpp
+===================================================================
+--- kde-gtk-config-5.12.4.orig/src/cursorthemesmodel.cpp
++++ kde-gtk-config-5.12.4/src/cursorthemesmodel.cpp
+@@ -47,7 +47,7 @@ QList<QDir> CursorThemesModel::installed
  
      foreach(const QString& dir, dirs) {
          QDir userIconsDir(dir);
diff --git a/pkgs/desktops/plasma-5/kde-gtk-config/patches/gsettings.patch b/pkgs/desktops/plasma-5/kde-gtk-config/patches/gsettings.patch
new file mode 100644
index 00000000000..b4bc89d59e9
--- /dev/null
+++ b/pkgs/desktops/plasma-5/kde-gtk-config/patches/gsettings.patch
@@ -0,0 +1,21 @@
+Index: kde-gtk-config-5.12.4/src/gtkconfigkcmodule.cpp
+===================================================================
+--- kde-gtk-config-5.12.4.orig/src/gtkconfigkcmodule.cpp
++++ kde-gtk-config-5.12.4/src/gtkconfigkcmodule.cpp
+@@ -78,6 +78,16 @@ GTKConfigKCModule::GTKConfigKCModule(QWi
+     m_iconsModel = new IconThemesModel(false, this);
+     ui->cb_icon->setModel(m_iconsModel);
+     ui->cb_icon_fallback->setModel(m_iconsModel);
++
++    // Add GSETTINGS_SCHEMAS_PATH to the front of XDG_DATA_DIRS.
++    // Normally this would be done by wrapGAppsHook, but this plugin
++    // (shared object) cannot be wrapped.
++    QByteArray xdgdata = qgetenv("XDG_DATA_DIRS");
++    if (!xdgdata.isEmpty()) {
++        xdgdata.push_front(":");
++    }
++    xdgdata.push_front(QByteArray(GSETTINGS_SCHEMAS_PATH));
++    qputenv("XDG_DATA_DIRS", xdgdata);
+     
+     m_tempGtk2Preview = QStandardPaths::writableLocation(QStandardPaths::TempLocation)+ "/gtkrc-2.0";
+     m_tempGtk3Preview = QStandardPaths::writableLocation(QStandardPaths::TempLocation)+ "/.config/gtk-3.0/settings.ini";
diff --git a/pkgs/desktops/plasma-5/kde-gtk-config/patches/series b/pkgs/desktops/plasma-5/kde-gtk-config/patches/series
new file mode 100644
index 00000000000..7aad1acf6ac
--- /dev/null
+++ b/pkgs/desktops/plasma-5/kde-gtk-config/patches/series
@@ -0,0 +1,2 @@
+follow-symlinks.patch
+gsettings.patch
diff --git a/pkgs/desktops/plasma-5/kgamma5.nix b/pkgs/desktops/plasma-5/kgamma5.nix
index ea58cad12ae..ccbf3820b90 100644
--- a/pkgs/desktops/plasma-5/kgamma5.nix
+++ b/pkgs/desktops/plasma-5/kgamma5.nix
@@ -1,11 +1,11 @@
 {
   mkDerivation,
   extra-cmake-modules, kdoctools,
-  kconfig, kconfigwidgets, ki18n, qtx11extras,
+  kconfig, kconfigwidgets, ki18n, qtx11extras, libXxf86vm
 }:
 
 mkDerivation {
   name = "kgamma5";
   nativeBuildInputs = [ extra-cmake-modules kdoctools ];
-  buildInputs = [ kconfig kconfigwidgets ki18n qtx11extras ];
+  buildInputs = [ kconfig kconfigwidgets ki18n qtx11extras libXxf86vm ];
 }
diff --git a/pkgs/desktops/plasma-5/srcs.nix b/pkgs/desktops/plasma-5/srcs.nix
index 8d959478a0d..cc1fdb88920 100644
--- a/pkgs/desktops/plasma-5/srcs.nix
+++ b/pkgs/desktops/plasma-5/srcs.nix
@@ -3,355 +3,355 @@
 
 {
   bluedevil = {
-    version = "5.12.2";
+    version = "5.12.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.12.2/bluedevil-5.12.2.tar.xz";
-      sha256 = "11xwyawcfkxhdzcgj4nkj1vlp6zn53k9dl3c4llpj1z08jc2vdpj";
-      name = "bluedevil-5.12.2.tar.xz";
+      url = "${mirror}/stable/plasma/5.12.5/bluedevil-5.12.5.tar.xz";
+      sha256 = "0rjxvvg64g4panri4f09fgm571igdijfh92jp616pcqw8v1xqp2a";
+      name = "bluedevil-5.12.5.tar.xz";
     };
   };
   breeze = {
-    version = "5.12.2";
+    version = "5.12.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.12.2/breeze-5.12.2.tar.xz";
-      sha256 = "1vx03wi4m6ly6sw7cznhzg96rkxbn2mxsn9719pra616axl6c00s";
-      name = "breeze-5.12.2.tar.xz";
+      url = "${mirror}/stable/plasma/5.12.5/breeze-5.12.5.tar.xz";
+      sha256 = "1xxgyq3lhliv6p54akgpclficbcs2xdv15a92jkl8a2s9wbisk3n";
+      name = "breeze-5.12.5.tar.xz";
     };
   };
   breeze-grub = {
-    version = "5.12.2";
+    version = "5.12.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.12.2/breeze-grub-5.12.2.tar.xz";
-      sha256 = "1a76xbnrbd18cd6p0n94fixc7jmd8vdnzqbi9pbi3wj82cpp95xq";
-      name = "breeze-grub-5.12.2.tar.xz";
+      url = "${mirror}/stable/plasma/5.12.5/breeze-grub-5.12.5.tar.xz";
+      sha256 = "1w9f2xm4abqcqk2pdb7hi7d4hd1krkhrs9j3zlncxahfvf67ljad";
+      name = "breeze-grub-5.12.5.tar.xz";
     };
   };
   breeze-gtk = {
-    version = "5.12.2";
+    version = "5.12.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.12.2/breeze-gtk-5.12.2.tar.xz";
-      sha256 = "1811r8gqhrdf5b4a1k94cid1whcd8g6h2mrms6qm40brzj8qn9w0";
-      name = "breeze-gtk-5.12.2.tar.xz";
+      url = "${mirror}/stable/plasma/5.12.5/breeze-gtk-5.12.5.tar.xz";
+      sha256 = "0040z43r69kk8l90mvkk8xxzhaw35xm7z2w097sp8xd053y3pdqd";
+      name = "breeze-gtk-5.12.5.tar.xz";
     };
   };
   breeze-plymouth = {
-    version = "5.12.2";
+    version = "5.12.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.12.2/breeze-plymouth-5.12.2.tar.xz";
-      sha256 = "1n96iysljakhhkw9wavhbvj29zlkkajgwpxs6v5ny4iifv9gn3cv";
-      name = "breeze-plymouth-5.12.2.tar.xz";
+      url = "${mirror}/stable/plasma/5.12.5/breeze-plymouth-5.12.5.tar.xz";
+      sha256 = "15204zqk81rwmdq07jzaiv2aninbbgqmg76dhzcz43lckjfhczq9";
+      name = "breeze-plymouth-5.12.5.tar.xz";
     };
   };
   discover = {
-    version = "5.12.2";
+    version = "5.12.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.12.2/discover-5.12.2.tar.xz";
-      sha256 = "1hkbannyrw1c6h45c8s669d4hg6irc991hjlg0mm31lnpa8lb51v";
-      name = "discover-5.12.2.tar.xz";
+      url = "${mirror}/stable/plasma/5.12.5/discover-5.12.5.tar.xz";
+      sha256 = "02fjs016825l35gc173mblii2x9ys5cisqw8niyyvllsls4rp27m";
+      name = "discover-5.12.5.tar.xz";
     };
   };
   drkonqi = {
-    version = "5.12.2";
+    version = "5.12.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.12.2/drkonqi-5.12.2.tar.xz";
-      sha256 = "0dw9axkhp0cgw276cpfp4ddf5g9s2ccz6q43pk68fvphbz7m2wqm";
-      name = "drkonqi-5.12.2.tar.xz";
+      url = "${mirror}/stable/plasma/5.12.5/drkonqi-5.12.5.tar.xz";
+      sha256 = "0av0rqgc5a9c8lvpdphp3ifw56qc10qkbjhajlslagxswys73cfq";
+      name = "drkonqi-5.12.5.tar.xz";
     };
   };
   kactivitymanagerd = {
-    version = "5.12.2";
+    version = "5.12.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.12.2/kactivitymanagerd-5.12.2.tar.xz";
-      sha256 = "1l6ar094y272fjxzj6qpapz4g5mfbf82z80zygmrs0cizpz1xv84";
-      name = "kactivitymanagerd-5.12.2.tar.xz";
+      url = "${mirror}/stable/plasma/5.12.5/kactivitymanagerd-5.12.5.tar.xz";
+      sha256 = "1mpldy47fklm9d91wjj734yw3j3pkfrj377b9c5d8l07agwnk2j1";
+      name = "kactivitymanagerd-5.12.5.tar.xz";
     };
   };
   kde-cli-tools = {
-    version = "5.12.2";
+    version = "5.12.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.12.2/kde-cli-tools-5.12.2.tar.xz";
-      sha256 = "1jd7r49i24psrx59n0djbbxbv8c3wchiabgrv4x4dq6nsqygh6vc";
-      name = "kde-cli-tools-5.12.2.tar.xz";
+      url = "${mirror}/stable/plasma/5.12.5/kde-cli-tools-5.12.5.tar.xz";
+      sha256 = "0gs0d9p2x3q6pvjj6l7f9xq741rfqgzhbxwvz1s3cx385b85lplh";
+      name = "kde-cli-tools-5.12.5.tar.xz";
     };
   };
   kdecoration = {
-    version = "5.12.2";
+    version = "5.12.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.12.2/kdecoration-5.12.2.tar.xz";
-      sha256 = "1whngfld0nlw3mbf70khvqiqqskfglnn3dzx5zg0l14xv0kips79";
-      name = "kdecoration-5.12.2.tar.xz";
+      url = "${mirror}/stable/plasma/5.12.5/kdecoration-5.12.5.tar.xz";
+      sha256 = "0qd5pqm3s1wcmy49mry2plzivg6dhmdp521yahx0mmlk2bssxc3d";
+      name = "kdecoration-5.12.5.tar.xz";
     };
   };
   kde-gtk-config = {
-    version = "5.12.2";
+    version = "5.12.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.12.2/kde-gtk-config-5.12.2.tar.xz";
-      sha256 = "1ncyj665hra8bj4nk2idpjq0lm72dr3r467ddx6k0n63arvfmxm4";
-      name = "kde-gtk-config-5.12.2.tar.xz";
+      url = "${mirror}/stable/plasma/5.12.5/kde-gtk-config-5.12.5.tar.xz";
+      sha256 = "1p5vpk85v50dkm787ljf77xa7f25lamxf5jn2qc31r8dnlc25dnh";
+      name = "kde-gtk-config-5.12.5.tar.xz";
     };
   };
   kdeplasma-addons = {
-    version = "5.12.2";
+    version = "5.12.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.12.2/kdeplasma-addons-5.12.2.tar.xz";
-      sha256 = "00x0jd8jw77fh5qy5z9xldw3m27il9mamq0fl8f4vmny7y8hqg2k";
-      name = "kdeplasma-addons-5.12.2.tar.xz";
+      url = "${mirror}/stable/plasma/5.12.5/kdeplasma-addons-5.12.5.tar.xz";
+      sha256 = "1339sapqi0b6pzbsdyhpfssrvfg9sfc3amlfijxsn63swkjvbw2s";
+      name = "kdeplasma-addons-5.12.5.tar.xz";
     };
   };
   kgamma5 = {
-    version = "5.12.2";
+    version = "5.12.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.12.2/kgamma5-5.12.2.tar.xz";
-      sha256 = "1xhn8dw0595f48qbvj304agkg34y2pr0czvkpl1ahhzsndgjkxjs";
-      name = "kgamma5-5.12.2.tar.xz";
+      url = "${mirror}/stable/plasma/5.12.5/kgamma5-5.12.5.tar.xz";
+      sha256 = "0p4x8vzjngw7xxnnviiqw89lzs23nrq007211dprnfzgay9c571c";
+      name = "kgamma5-5.12.5.tar.xz";
     };
   };
   khotkeys = {
-    version = "5.12.2";
+    version = "5.12.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.12.2/khotkeys-5.12.2.tar.xz";
-      sha256 = "1hsnasx67vf0jdxnmlvhm86ykvjc89zbr8rdgr1ixq6iy543c1ry";
-      name = "khotkeys-5.12.2.tar.xz";
+      url = "${mirror}/stable/plasma/5.12.5/khotkeys-5.12.5.tar.xz";
+      sha256 = "1yivh10g66h9dmnabnxx1i26rpg8wf9ibpmc7jcmh7j4h5q0lkzg";
+      name = "khotkeys-5.12.5.tar.xz";
     };
   };
   kinfocenter = {
-    version = "5.12.2";
+    version = "5.12.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.12.2/kinfocenter-5.12.2.tar.xz";
-      sha256 = "0sagy72x94nv1zxvllkzgmln2j04bh8cib4fx3zsqfn572wncjqi";
-      name = "kinfocenter-5.12.2.tar.xz";
+      url = "${mirror}/stable/plasma/5.12.5/kinfocenter-5.12.5.tar.xz";
+      sha256 = "1g42hk49fjg4rvgvy5phshk8mna3idh55gn4cy1w0q2rl8f0y6b5";
+      name = "kinfocenter-5.12.5.tar.xz";
     };
   };
   kmenuedit = {
-    version = "5.12.2";
+    version = "5.12.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.12.2/kmenuedit-5.12.2.tar.xz";
-      sha256 = "1ygwv1s9zgd6qh3gd7537dgjil8h3i21i5wwn99wynbifq0w6ikv";
-      name = "kmenuedit-5.12.2.tar.xz";
+      url = "${mirror}/stable/plasma/5.12.5/kmenuedit-5.12.5.tar.xz";
+      sha256 = "0vbq2s1ibqna19njw421ai4qwq4apww74qcfgk7gwd6p75k37lkw";
+      name = "kmenuedit-5.12.5.tar.xz";
     };
   };
   kscreen = {
-    version = "5.12.2";
+    version = "5.12.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.12.2/kscreen-5.12.2.tar.xz";
-      sha256 = "1scmaydn4fypjizfm7l71vszx725vgbgsg7hpnv2dgwqrf98kl9v";
-      name = "kscreen-5.12.2.tar.xz";
+      url = "${mirror}/stable/plasma/5.12.5/kscreen-5.12.5.tar.xz";
+      sha256 = "1cscy7vimznwy29qr0x11wqxlxcwxvybdhw703mj44bq1szw8s0l";
+      name = "kscreen-5.12.5.tar.xz";
     };
   };
   kscreenlocker = {
-    version = "5.12.2";
+    version = "5.12.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.12.2/kscreenlocker-5.12.2.tar.xz";
-      sha256 = "0v8qyjkmaxq711dw1iw12j38aswfr4qccvzkm3qc1gvfjs1vl0gn";
-      name = "kscreenlocker-5.12.2.tar.xz";
+      url = "${mirror}/stable/plasma/5.12.5/kscreenlocker-5.12.5.tar.xz";
+      sha256 = "08l8knfvhrd3h8z70xq1jiq02bg56jdddxx0ml6jbd8ja9r1svdq";
+      name = "kscreenlocker-5.12.5.tar.xz";
     };
   };
   ksshaskpass = {
-    version = "5.12.2";
+    version = "5.12.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.12.2/ksshaskpass-5.12.2.tar.xz";
-      sha256 = "1b70jbdm3c4agk66v5yvzvzdlwp0xn8lmxn3zyk1n280xgqr2z1m";
-      name = "ksshaskpass-5.12.2.tar.xz";
+      url = "${mirror}/stable/plasma/5.12.5/ksshaskpass-5.12.5.tar.xz";
+      sha256 = "0vgqp09cfdlf22xxi0pdzdv0i4hrgvbfj3yrxrfqhfh9zlc3q6y4";
+      name = "ksshaskpass-5.12.5.tar.xz";
     };
   };
   ksysguard = {
-    version = "5.12.2";
+    version = "5.12.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.12.2/ksysguard-5.12.2.tar.xz";
-      sha256 = "0k8ziqbvm8igczij3a26jyc0i7hwiqfv0072kywz76m9pfsd3lp7";
-      name = "ksysguard-5.12.2.tar.xz";
+      url = "${mirror}/stable/plasma/5.12.5/ksysguard-5.12.5.tar.xz";
+      sha256 = "11wh4skx3vjjrdfaa85a8ijdvsw3fnk02s1n9g6yv0c8h74q2nqv";
+      name = "ksysguard-5.12.5.tar.xz";
     };
   };
   kwallet-pam = {
-    version = "5.12.2";
+    version = "5.12.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.12.2/kwallet-pam-5.12.2.tar.xz";
-      sha256 = "0xg01iianf0ygpjf971i3fln0gn44gw83gxhplwjv3q5dn79plrd";
-      name = "kwallet-pam-5.12.2.tar.xz";
+      url = "${mirror}/stable/plasma/5.12.5/kwallet-pam-5.12.5.tar.xz";
+      sha256 = "18pbsmc44pqbdylczqsx6cargzkkp4vcd44yk7mwjhniw8pi6x33";
+      name = "kwallet-pam-5.12.5.tar.xz";
     };
   };
   kwayland-integration = {
-    version = "5.12.2";
+    version = "5.12.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.12.2/kwayland-integration-5.12.2.tar.xz";
-      sha256 = "1s4vdsv8s72nplmk9395zfsp4fars14n2rkgqfp95b7ii76519nn";
-      name = "kwayland-integration-5.12.2.tar.xz";
+      url = "${mirror}/stable/plasma/5.12.5/kwayland-integration-5.12.5.tar.xz";
+      sha256 = "05qcsqyw2n1hpdsiqjvg98i77kwgcdpsr0096nqr62pzf36bsqz3";
+      name = "kwayland-integration-5.12.5.tar.xz";
     };
   };
   kwin = {
-    version = "5.12.2";
+    version = "5.12.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.12.2/kwin-5.12.2.tar.xz";
-      sha256 = "0lnyikmjsxjjbz7mrf421y1lw0vjqsri66dsjv2wldlbgifp94kw";
-      name = "kwin-5.12.2.tar.xz";
+      url = "${mirror}/stable/plasma/5.12.5/kwin-5.12.5.tar.xz";
+      sha256 = "1mkmh90pl4pz1bb3n9zl6x6lxvr8xkj7r795qj70s9jxavl40fj3";
+      name = "kwin-5.12.5.tar.xz";
     };
   };
   kwrited = {
-    version = "5.12.2";
+    version = "5.12.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.12.2/kwrited-5.12.2.tar.xz";
-      sha256 = "1n20g92h2hgcgp9qdxifp55acbkgh09chqz0p8qrj39vw5w5abv4";
-      name = "kwrited-5.12.2.tar.xz";
+      url = "${mirror}/stable/plasma/5.12.5/kwrited-5.12.5.tar.xz";
+      sha256 = "0vvlkr4w4vwgkl9sili63cwlp0lsxlnzwfwmhpa5nrwcjgbyfbmz";
+      name = "kwrited-5.12.5.tar.xz";
     };
   };
   libkscreen = {
-    version = "5.12.2";
+    version = "5.12.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.12.2/libkscreen-5.12.2.tar.xz";
-      sha256 = "1hv180ac97m1i47c2bapv5bz149i8p55qyfxrka7fivhzszsa8x0";
-      name = "libkscreen-5.12.2.tar.xz";
+      url = "${mirror}/stable/plasma/5.12.5/libkscreen-5.12.5.tar.xz";
+      sha256 = "0hzdchkxlv5l3zx7lxzj0x44kn3086gxnhmas9w1n9b6qrf0sjb4";
+      name = "libkscreen-5.12.5.tar.xz";
     };
   };
   libksysguard = {
-    version = "5.12.2";
+    version = "5.12.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.12.2/libksysguard-5.12.2.tar.xz";
-      sha256 = "1nf847lwx88f8g0bknaxzn0q6cvs2xn1cz6ch7qrblg0a8v3ig19";
-      name = "libksysguard-5.12.2.tar.xz";
+      url = "${mirror}/stable/plasma/5.12.5/libksysguard-5.12.5.tar.xz";
+      sha256 = "0dbf3xx52xqyzaxvybmjra0z1lc3qcbb0aqmsga8rjj77bmj3kx9";
+      name = "libksysguard-5.12.5.tar.xz";
     };
   };
   milou = {
-    version = "5.12.2";
+    version = "5.12.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.12.2/milou-5.12.2.tar.xz";
-      sha256 = "1sick71qd04shs34nlsplln3zpgvrbal4jlklm4k094w487fvcc8";
-      name = "milou-5.12.2.tar.xz";
+      url = "${mirror}/stable/plasma/5.12.5/milou-5.12.5.tar.xz";
+      sha256 = "0v0zkwmh7rzqbgw1ypqz18bd3gn3x8iag0q9lrk6zzpd66j2r1fc";
+      name = "milou-5.12.5.tar.xz";
     };
   };
   oxygen = {
-    version = "5.12.2";
+    version = "5.12.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.12.2/oxygen-5.12.2.tar.xz";
-      sha256 = "03g0pwk5n6idgrrm0g4hfvyls7h8by6lz6rp7h1i9ibpaph3czmy";
-      name = "oxygen-5.12.2.tar.xz";
+      url = "${mirror}/stable/plasma/5.12.5/oxygen-5.12.5.tar.xz";
+      sha256 = "0336bkvn8mqrbswnhg87ah7k3w7i99c8rfpfvhw5qq3mm6jvbi4l";
+      name = "oxygen-5.12.5.tar.xz";
     };
   };
   plasma-desktop = {
-    version = "5.12.2";
+    version = "5.12.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.12.2/plasma-desktop-5.12.2.tar.xz";
-      sha256 = "0wymhk1wzvx3ihq7gn4zkisp5x1n5m62fk1vmg5il75hn69qw4g5";
-      name = "plasma-desktop-5.12.2.tar.xz";
+      url = "${mirror}/stable/plasma/5.12.5/plasma-desktop-5.12.5.tar.xz";
+      sha256 = "0rm7j8n3yflzl6wpivmjsgrhc5arrnmzfg81arfs06gjdnvwnmd6";
+      name = "plasma-desktop-5.12.5.tar.xz";
     };
   };
   plasma-integration = {
-    version = "5.12.2";
+    version = "5.12.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.12.2/plasma-integration-5.12.2.tar.xz";
-      sha256 = "0hyxn51vjdbkw9kj5nqp7lr1myjpnlp5ri01jwg43v5h44mq6k08";
-      name = "plasma-integration-5.12.2.tar.xz";
+      url = "${mirror}/stable/plasma/5.12.5/plasma-integration-5.12.5.tar.xz";
+      sha256 = "14iciz6zjxrvig58hpqa51cj5r949xq9xgqvs8glzldzg34928sm";
+      name = "plasma-integration-5.12.5.tar.xz";
     };
   };
   plasma-nm = {
-    version = "5.12.2";
+    version = "5.12.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.12.2/plasma-nm-5.12.2.tar.xz";
-      sha256 = "0wlp0wqbcbnmclfvhii50sds1ij4la3wni9987xym7qrc8bxm43x";
-      name = "plasma-nm-5.12.2.tar.xz";
+      url = "${mirror}/stable/plasma/5.12.5/plasma-nm-5.12.5.tar.xz";
+      sha256 = "1awnd9gdciwrwyl2xs9h778fizhnbw8wm8ddbqr8050v7fkc7fs6";
+      name = "plasma-nm-5.12.5.tar.xz";
     };
   };
   plasma-pa = {
-    version = "5.12.2";
+    version = "5.12.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.12.2/plasma-pa-5.12.2.tar.xz";
-      sha256 = "119gcgx8rrihhmxzfp7wj3v8q4vwzk989w9qn5b2y72vyvllbln7";
-      name = "plasma-pa-5.12.2.tar.xz";
+      url = "${mirror}/stable/plasma/5.12.5/plasma-pa-5.12.5.tar.xz";
+      sha256 = "13z9shlnprbjgqy1w8lf3brjcvmh76fpl0xv3q2r7kvcgm1ndjdd";
+      name = "plasma-pa-5.12.5.tar.xz";
     };
   };
   plasma-sdk = {
-    version = "5.12.2";
+    version = "5.12.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.12.2/plasma-sdk-5.12.2.tar.xz";
-      sha256 = "0as3718rkcal8va6w1ip2prsvrp6b218r33hmhdkdbbshnx40csv";
-      name = "plasma-sdk-5.12.2.tar.xz";
+      url = "${mirror}/stable/plasma/5.12.5/plasma-sdk-5.12.5.tar.xz";
+      sha256 = "0rrwis63khq1b6shxrp5cj6dgz9lhrccs7752f7j73pi5fpmbz0g";
+      name = "plasma-sdk-5.12.5.tar.xz";
     };
   };
   plasma-tests = {
-    version = "5.12.2";
+    version = "5.12.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.12.2/plasma-tests-5.12.2.tar.xz";
-      sha256 = "1336kj277hrbgi5dx6z19dp8fgxhifnapd0jas4lq8z06gn6dh40";
-      name = "plasma-tests-5.12.2.tar.xz";
+      url = "${mirror}/stable/plasma/5.12.5/plasma-tests-5.12.5.tar.xz";
+      sha256 = "1rq8li7y3qf1ipyhy869lw3znmssf5grbh522qla4sn08d1lhxij";
+      name = "plasma-tests-5.12.5.tar.xz";
     };
   };
   plasma-vault = {
-    version = "5.12.2";
+    version = "5.12.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.12.2/plasma-vault-5.12.2.tar.xz";
-      sha256 = "1hkdaxlr00s00ax0xm2zmfk9pwl4nrs1x2dna248s6dd06cjmapk";
-      name = "plasma-vault-5.12.2.tar.xz";
+      url = "${mirror}/stable/plasma/5.12.5/plasma-vault-5.12.5.tar.xz";
+      sha256 = "0zrwsqcpkssrfhy2xgg4y2k2w6l7vyn7mqani9lw18i13vp2fh1d";
+      name = "plasma-vault-5.12.5.tar.xz";
     };
   };
   plasma-workspace = {
-    version = "5.12.2";
+    version = "5.12.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.12.2/plasma-workspace-5.12.2.tar.xz";
-      sha256 = "1v4xaviby76c833gx02s1bf0hk9smv4m2s8sp75yxirh2xv4azid";
-      name = "plasma-workspace-5.12.2.tar.xz";
+      url = "${mirror}/stable/plasma/5.12.5/plasma-workspace-5.12.5.tar.xz";
+      sha256 = "1vy5p22y6jckhm09171pjacdrndl7vak6grwvzg8bmhqk1ahzdwk";
+      name = "plasma-workspace-5.12.5.tar.xz";
     };
   };
   plasma-workspace-wallpapers = {
-    version = "5.12.2";
+    version = "5.12.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.12.2/plasma-workspace-wallpapers-5.12.2.tar.xz";
-      sha256 = "1x6qi0cpr461vc7gn4fzz9dh9wfwz6hcgb8dsz82wdxpwssck7i7";
-      name = "plasma-workspace-wallpapers-5.12.2.tar.xz";
+      url = "${mirror}/stable/plasma/5.12.5/plasma-workspace-wallpapers-5.12.5.tar.xz";
+      sha256 = "1p6kcakdw020pjwdfdhh1v8bha8r6j9934nid7vv7ldp388mq6a7";
+      name = "plasma-workspace-wallpapers-5.12.5.tar.xz";
     };
   };
   plymouth-kcm = {
-    version = "5.12.2";
+    version = "5.12.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.12.2/plymouth-kcm-5.12.2.tar.xz";
-      sha256 = "11kaprbcsd7j1kamsr9m9c27rj1ry8gxp1m6r1ibf9agimsmdfcb";
-      name = "plymouth-kcm-5.12.2.tar.xz";
+      url = "${mirror}/stable/plasma/5.12.5/plymouth-kcm-5.12.5.tar.xz";
+      sha256 = "1fv2b792d7bg5vdix823fks8capgbnda94fc8z91nsffa894p0i9";
+      name = "plymouth-kcm-5.12.5.tar.xz";
     };
   };
   polkit-kde-agent = {
-    version = "1-5.12.2";
+    version = "1-5.12.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.12.2/polkit-kde-agent-1-5.12.2.tar.xz";
-      sha256 = "176wb8sh9r4f1ij604x52w4q5nbhmnqwxid3w107cqwpydnh0dm9";
-      name = "polkit-kde-agent-1-5.12.2.tar.xz";
+      url = "${mirror}/stable/plasma/5.12.5/polkit-kde-agent-1-5.12.5.tar.xz";
+      sha256 = "01plpzhj2fc2i3hjqb75skmyiy9dg3mw2h1sxsl7hxmbvm9fv9if";
+      name = "polkit-kde-agent-1-5.12.5.tar.xz";
     };
   };
   powerdevil = {
-    version = "5.12.2";
+    version = "5.12.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.12.2/powerdevil-5.12.2.tar.xz";
-      sha256 = "0b9m3jm0ar84b2ln1ml5lk26nryrrlis7kj46whzqicwpdi7dpxw";
-      name = "powerdevil-5.12.2.tar.xz";
+      url = "${mirror}/stable/plasma/5.12.5/powerdevil-5.12.5.tar.xz";
+      sha256 = "07f3kqvfqgqpz50fk8dwyr5z1hylli0k4ndlcp5mkybiraz1rdjk";
+      name = "powerdevil-5.12.5.tar.xz";
     };
   };
   sddm-kcm = {
-    version = "5.12.2";
+    version = "5.12.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.12.2/sddm-kcm-5.12.2.tar.xz";
-      sha256 = "0nh8kviqn43zh6kdqzfcqksp48k1brd8bg4kni2cbmzif6md3ay3";
-      name = "sddm-kcm-5.12.2.tar.xz";
+      url = "${mirror}/stable/plasma/5.12.5/sddm-kcm-5.12.5.tar.xz";
+      sha256 = "13qqyvq7rk7h65krjaqgil2rxjj7073arxp4bij5g534ckpwkz3h";
+      name = "sddm-kcm-5.12.5.tar.xz";
     };
   };
   systemsettings = {
-    version = "5.12.2";
+    version = "5.12.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.12.2/systemsettings-5.12.2.tar.xz";
-      sha256 = "06cfxydpcnzi5g6ipi7sgiswgrzhnksgyhsp56zgqdswbilanp4n";
-      name = "systemsettings-5.12.2.tar.xz";
+      url = "${mirror}/stable/plasma/5.12.5/systemsettings-5.12.5.tar.xz";
+      sha256 = "0ackzdyfmssq6lh9dranc8nv6bhk633zq1mixibqhswl3pz8n4h8";
+      name = "systemsettings-5.12.5.tar.xz";
     };
   };
   user-manager = {
-    version = "5.12.2";
+    version = "5.12.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.12.2/user-manager-5.12.2.tar.xz";
-      sha256 = "047bssxfs8z1lhg25f263fq05w6m22mdk5i16ji5i11n26v8hdwa";
-      name = "user-manager-5.12.2.tar.xz";
+      url = "${mirror}/stable/plasma/5.12.5/user-manager-5.12.5.tar.xz";
+      sha256 = "1566scbw6f02gskwdc2kk6xcbbf7hq6jkz3ka1avkwmyi3xhh010";
+      name = "user-manager-5.12.5.tar.xz";
     };
   };
   xdg-desktop-portal-kde = {
-    version = "5.12.2";
+    version = "5.12.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.12.2/xdg-desktop-portal-kde-5.12.2.tar.xz";
-      sha256 = "1gr07p281icc2v7cv3n6rzi1c70ddkwiw12n9klk3sxprjxmc0pm";
-      name = "xdg-desktop-portal-kde-5.12.2.tar.xz";
+      url = "${mirror}/stable/plasma/5.12.5/xdg-desktop-portal-kde-5.12.5.tar.xz";
+      sha256 = "1rmjwjx7x481607vp0pjxsabbjhm7qfqa0ax4ciqqlv676hcr5cv";
+      name = "xdg-desktop-portal-kde-5.12.5.tar.xz";
     };
   };
 }
diff --git a/pkgs/desktops/xfce/applications/orage.nix b/pkgs/desktops/xfce/applications/orage.nix
index f376b743c82..812630e17d0 100644
--- a/pkgs/desktops/xfce/applications/orage.nix
+++ b/pkgs/desktops/xfce/applications/orage.nix
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ pkgconfig intltool bison flex ];
   
   buildInputs = [ gtk libical dbus-glib libnotify popt xfce.libxfce4util
-    xfce.xfce4panel ];
+    xfce.xfce4-panel ];
 
   preFixup = "rm $out/share/icons/hicolor/icon-theme.cache ";
 
diff --git a/pkgs/desktops/xfce/applications/parole.nix b/pkgs/desktops/xfce/applications/parole.nix
index 3b27456d78a..3951c9deedc 100644
--- a/pkgs/desktops/xfce/applications/parole.nix
+++ b/pkgs/desktops/xfce/applications/parole.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchurl, makeWrapper, pkgconfig, intltool, gst_all_1
 , gtk, dbus-glib, libxfce4ui, libxfce4util, xfconf
-, taglib, libnotify
+, taglib, libnotify, hicolor-icon-theme
 , withGstPlugins ? true
 }:
 
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ pkgconfig intltool ];
 
   buildInputs = [
-    makeWrapper 
+    makeWrapper hicolor-icon-theme
     gtk dbus-glib libxfce4ui libxfce4util xfconf
     taglib libnotify
   ] ++ (with gst_all_1; [ gst-plugins-base gst-plugins-good gst-plugins-bad gst-plugins-ugly gst-libav]);
diff --git a/pkgs/desktops/xfce/applications/xfce4-mixer.nix b/pkgs/desktops/xfce/applications/xfce4-mixer.nix
index 05a5fa4a6fc..93a7fad4918 100644
--- a/pkgs/desktops/xfce/applications/xfce4-mixer.nix
+++ b/pkgs/desktops/xfce/applications/xfce4-mixer.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchurl, pkgconfig, intltool, makeWrapper
 , glib, gstreamer, gst-plugins-base, gtk
-, libxfce4util, libxfce4ui, xfce4panel, xfconf, libunique ? null
+, libxfce4util, libxfce4ui, xfce4-panel, xfconf, libunique ? null
 , pulseaudioSupport ? false, gst-plugins-good
 }:
 
@@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
 
   buildInputs =
     [ pkgconfig intltool glib gstreamer gtk
-      libxfce4util libxfce4ui xfce4panel xfconf libunique makeWrapper
+      libxfce4util libxfce4ui xfce4-panel xfconf libunique makeWrapper
     ] ++ gst_plugins;
 
   postInstall =
diff --git a/pkgs/desktops/xfce/applications/xfce4-screenshooter.nix b/pkgs/desktops/xfce/applications/xfce4-screenshooter.nix
index 4c855b8ddeb..28c586382b4 100644
--- a/pkgs/desktops/xfce/applications/xfce4-screenshooter.nix
+++ b/pkgs/desktops/xfce/applications/xfce4-screenshooter.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, intltool, xfce4panel, libxfce4util, gtk, libsoup
+{ stdenv, fetchurl, pkgconfig, intltool, xfce4-panel, libxfce4util, gtk, libsoup
 , makeWrapper, glib-networking, exo, hicolor-icon-theme, wrapGAppsHook }:
 
 stdenv.mkDerivation rec {
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
   ];
 
   buildInputs = [
-    xfce4panel libxfce4util gtk libsoup exo hicolor-icon-theme glib-networking
+    xfce4-panel libxfce4util gtk libsoup exo hicolor-icon-theme glib-networking
   ];
 
   meta = {
diff --git a/pkgs/desktops/xfce/core/thunar-build.nix b/pkgs/desktops/xfce/core/thunar-build.nix
index bf44fc0adbb..5f8cc71de85 100644
--- a/pkgs/desktops/xfce/core/thunar-build.nix
+++ b/pkgs/desktops/xfce/core/thunar-build.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchurl, pkgconfig, intltool
 , gtk, dbus-glib, libstartup_notification, libnotify, libexif, pcre, udev
-, exo, libxfce4util, xfconf, xfce4panel, wrapGAppsHook
+, exo, libxfce4util, xfconf, xfce4-panel, wrapGAppsHook
 }:
 
 stdenv.mkDerivation rec {
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
   buildInputs = [
     intltool
     gtk dbus-glib libstartup_notification libnotify libexif pcre udev
-    exo libxfce4util xfconf xfce4panel
+    exo libxfce4util xfconf xfce4-panel
   ];
   # TODO: optionality?
 
diff --git a/pkgs/desktops/xfce/core/thunar.nix b/pkgs/desktops/xfce/core/thunar.nix
index 037a3f947fb..83e3a2879d7 100644
--- a/pkgs/desktops/xfce/core/thunar.nix
+++ b/pkgs/desktops/xfce/core/thunar.nix
@@ -1,4 +1,4 @@
-{ stdenv, buildEnv, runCommand, makeWrapper, lndir, thunar-build
+{ stdenv, buildEnv, runCommand, makeWrapper, lndir, thunar-bare
 , thunarPlugins ? []
 }:
 
@@ -6,7 +6,7 @@ with stdenv.lib;
 
 let
 
-  build = thunar-build;
+  build = thunar-bare;
 
   replaceLnExeListWithWrapped = exeDir: exeNameList: mkWrapArgs: ''
     exeDir="${exeDir}"
@@ -50,7 +50,7 @@ runCommand name {
 } 
 (let
   buildWithPlugins = buildEnv {
-    name = "thunar-build-with-plugins";
+    name = "thunar-bare-with-plugins";
     paths = [ build ] ++ thunarPlugins;
   };
 
diff --git a/pkgs/desktops/xfce/core/xfce4-panel.nix b/pkgs/desktops/xfce/core/xfce4-panel.nix
index 26548f6daa4..17fd08faf69 100644
--- a/pkgs/desktops/xfce/core/xfce4-panel.nix
+++ b/pkgs/desktops/xfce/core/xfce4-panel.nix
@@ -1,20 +1,20 @@
 { stdenv, fetchurl, pkgconfig, intltool, gtk, libxfce4util, libxfce4ui
 , libxfce4ui_gtk3, libwnck, exo, garcon, xfconf, libstartup_notification
-, makeWrapper, xfce4mixer, hicolor-icon-theme
+, makeWrapper, xfce4-mixer, hicolor-icon-theme
 , withGtk3 ? false, gtk3, gettext, glib-networking
 }:
 let
   inherit (stdenv.lib) optional;
   p_name  = "xfce4-panel";
   ver_maj = "4.12";
-  ver_min = "1";
+  ver_min = "2";
 in
 stdenv.mkDerivation rec {
   name = "${p_name}-${ver_maj}.${ver_min}";
 
   src = fetchurl {
     url = "mirror://xfce/src/xfce/${p_name}/${ver_maj}/${name}.tar.bz2";
-    sha256 = "1s52k80911pkp65zkxw9mrnczxsd81svr0djmmcfpjd9rj08pmck";
+    sha256 = "1s8cvsrgmkmmm84g6mghpj2k4777gm22g5lrsf8pdy5qh6xql1a2";
   };
 
   patches = [ ./xfce4-panel-datadir.patch ];
@@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
   buildInputs =
     [ pkgconfig intltool gtk libxfce4util exo libwnck
       garcon xfconf libstartup_notification makeWrapper hicolor-icon-theme
-    ] ++ xfce4mixer.gst_plugins
+    ] ++ xfce4-mixer.gst_plugins
       ++ optional withGtk3 gtk3;
 
   propagatedBuildInputs = [ (if withGtk3 then libxfce4ui_gtk3 else libxfce4ui) ];
diff --git a/pkgs/desktops/xfce/core/xfce4-power-manager.nix b/pkgs/desktops/xfce/core/xfce4-power-manager.nix
index 9425c4d8884..ffcc67bf0e9 100644
--- a/pkgs/desktops/xfce/core/xfce4-power-manager.nix
+++ b/pkgs/desktops/xfce/core/xfce4-power-manager.nix
@@ -1,5 +1,5 @@
 { stdenv, lib, fetchurl, pkgconfig, intltool, glib, gtk, dbus-glib, upower, xfconf
-, libxfce4ui, libxfce4util, libnotify, xfce4panel, hicolor-icon-theme
+, libxfce4ui, libxfce4util, libnotify, xfce4-panel, hicolor-icon-theme
 , withGtk3 ? false, gtk3, libxfce4ui_gtk3, xfce4panel_gtk3 }:
 let
   p_name  = "xfce4-power-manager";
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
     ] ++
     (if withGtk3
     then [ gtk3 libxfce4ui_gtk3 xfce4panel_gtk3 ]
-    else [ gtk  libxfce4ui      xfce4panel      ]);
+    else [ gtk  libxfce4ui      xfce4-panel      ]);
 
   postPatch = lib.optionalString withGtk3 ''
     substituteInPlace configure --replace gio-2.0 gio-unix-2.0
diff --git a/pkgs/desktops/xfce/core/xfce4-session.nix b/pkgs/desktops/xfce/core/xfce4-session.nix
index 73939d53587..2d5a169a215 100644
--- a/pkgs/desktops/xfce/core/xfce4-session.nix
+++ b/pkgs/desktops/xfce/core/xfce4-session.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, fetchpatch, pkgconfig, intltool, gtk, polkit
-, libxfce4util, libxfce4ui, xfce4panel, libwnck, dbus-glib, xfconf, libglade, xorg
+, libxfce4util, libxfce4ui, xfce4-panel, libwnck, dbus-glib, xfconf, libglade, xorg
 , hicolor-icon-theme
 }:
 
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
 
   buildInputs =
     [ pkgconfig intltool gtk libxfce4util libxfce4ui libwnck dbus-glib
-      xfconf xfce4panel libglade xorg.iceauth xorg.libSM
+      xfconf xfce4-panel libglade xorg.iceauth xorg.libSM
       polkit hicolor-icon-theme
     ]; #TODO: upower-glib, gconf (assistive?), gnome keyring
 
diff --git a/pkgs/desktops/xfce/core/xfconf.nix b/pkgs/desktops/xfce/core/xfconf.nix
index 9aa66a1343f..9af365c6f14 100644
--- a/pkgs/desktops/xfce/core/xfconf.nix
+++ b/pkgs/desktops/xfce/core/xfconf.nix
@@ -19,6 +19,8 @@ stdenv.mkDerivation rec {
   buildInputs = [ intltool glib libxfce4util ];
   propagatedBuildInputs = [ dbus-glib ];
 
+  doCheck = false; # requires dbus daemon
+
   meta = with stdenv.lib; {
     homepage = http://docs.xfce.org/xfce/xfconf/start;
     description = "Simple client-server configuration storage and query system for Xfce";
@@ -26,4 +28,3 @@ stdenv.mkDerivation rec {
     platforms = platforms.linux;
   };
 }
-
diff --git a/pkgs/desktops/xfce/core/xfdesktop.nix b/pkgs/desktops/xfce/core/xfdesktop.nix
index 491185ff2c0..48585b4004b 100644
--- a/pkgs/desktops/xfce/core/xfdesktop.nix
+++ b/pkgs/desktops/xfce/core/xfdesktop.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, fetchpatch, pkgconfig, intltool, gtk, libxfce4util, libxfce4ui
-, libwnck, xfconf, libglade, xfce4panel, thunar, exo, garcon, libnotify
+, libwnck, xfconf, libglade, xfce4-panel, thunar, exo, garcon, libnotify
 , hicolor-icon-theme }:
 let
   p_name  = "xfdesktop";
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [
     pkgconfig intltool gtk libxfce4util libxfce4ui libwnck xfconf
-    libglade xfce4panel thunar exo garcon libnotify hicolor-icon-theme
+    libglade xfce4-panel thunar exo garcon libnotify hicolor-icon-theme
   ];
 
   patches = [(fetchpatch {
diff --git a/pkgs/desktops/xfce/core/xfwm4.nix b/pkgs/desktops/xfce/core/xfwm4.nix
index d861e5f2d55..313a2662f03 100644
--- a/pkgs/desktops/xfce/core/xfwm4.nix
+++ b/pkgs/desktops/xfce/core/xfwm4.nix
@@ -3,14 +3,14 @@
 let
   p_name  = "xfwm4";
   ver_maj = "4.12";
-  ver_min = "3";
+  ver_min = "4";
 in
 stdenv.mkDerivation rec {
   name = "${p_name}-${ver_maj}.${ver_min}";
 
   src = fetchurl {
     url = "mirror://xfce/src/xfce/${p_name}/${ver_maj}/${name}.tar.bz2";
-    sha256 = "f4a988fbc4e0df7e8583c781d271559e56fd28696092f94ae052e9e6edb09eac";
+    sha256 = "0dpvdrd5lclkcrzmdpva38gfsgvdf3xkqfknvy96x6k4fn508x7s";
   };
 
   buildInputs =
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-battery-plugin.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-battery-plugin.nix
index 0dcdcda6994..c64e8770d25 100644
--- a/pkgs/desktops/xfce/panel-plugins/xfce4-battery-plugin.nix
+++ b/pkgs/desktops/xfce/panel-plugins/xfce4-battery-plugin.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, intltool, libxfce4util, xfce4panel, libxfce4ui, libxfcegui4, xfconf, gtk}:
+{ stdenv, fetchurl, pkgconfig, intltool, libxfce4util, xfce4-panel, libxfce4ui, libxfcegui4, xfconf, gtk}:
 
 with stdenv.lib;
 stdenv.mkDerivation rec {
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
   name = "${p_name}-${ver_maj}.${ver_min}";
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ intltool libxfce4util libxfce4ui xfce4panel libxfcegui4 xfconf gtk ];
+  buildInputs = [ intltool libxfce4util libxfce4ui xfce4-panel libxfcegui4 xfconf gtk ];
   preFixup = "rm $out/share/icons/hicolor/icon-theme.cache";
 
   meta = {
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-clipman-plugin.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-clipman-plugin.nix
index 6614d746b68..236c71c66d5 100644
--- a/pkgs/desktops/xfce/panel-plugins/xfce4-clipman-plugin.nix
+++ b/pkgs/desktops/xfce/panel-plugins/xfce4-clipman-plugin.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, intltool, glib, exo, libXtst, xproto, libxfce4util, xfce4panel, libxfce4ui, libxfcegui4, xfconf, gtk}:
+{ stdenv, fetchurl, pkgconfig, intltool, glib, exo, libXtst, xproto, libxfce4util, xfce4-panel, libxfce4ui, libxfcegui4, xfconf, gtk}:
 
 with stdenv.lib;
 stdenv.mkDerivation rec {
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
   name = "${p_name}-${ver_maj}.${ver_min}";
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ intltool glib exo libXtst xproto libxfce4util libxfce4ui xfce4panel libxfcegui4 xfconf gtk ];
+  buildInputs = [ intltool glib exo libXtst xproto libxfce4util libxfce4ui xfce4-panel libxfcegui4 xfconf gtk ];
   preFixup = "rm $out/share/icons/hicolor/icon-theme.cache";
 
   meta = {
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-cpufreq-plugin.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-cpufreq-plugin.nix
index c0c8519d63a..0a309c433e9 100644
--- a/pkgs/desktops/xfce/panel-plugins/xfce4-cpufreq-plugin.nix
+++ b/pkgs/desktops/xfce/panel-plugins/xfce4-cpufreq-plugin.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, intltool, libxfce4util, xfce4panel, libxfce4ui, libxfcegui4, xfconf, gtk}:
+{ stdenv, fetchurl, pkgconfig, intltool, libxfce4util, xfce4-panel, libxfce4ui, libxfcegui4, xfconf, gtk}:
 
 with stdenv.lib;
 stdenv.mkDerivation rec {
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkgconfig intltool ];
 
-  buildInputs = [ libxfce4util libxfce4ui xfce4panel libxfcegui4 xfconf gtk ];
+  buildInputs = [ libxfce4util libxfce4ui xfce4-panel libxfcegui4 xfconf gtk ];
 
   enableParallelBuilding = true;
 
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-cpugraph-plugin.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-cpugraph-plugin.nix
index fb8b1bae83d..c5487198f97 100644
--- a/pkgs/desktops/xfce/panel-plugins/xfce4-cpugraph-plugin.nix
+++ b/pkgs/desktops/xfce/panel-plugins/xfce4-cpugraph-plugin.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, intltool, glib, exo, libXtst, xproto, libxfce4util, xfce4panel, libxfce4ui, xfconf, gtk}:
+{ stdenv, fetchurl, pkgconfig, intltool, glib, exo, libXtst, xproto, libxfce4util, xfce4-panel, libxfce4ui, xfconf, gtk}:
 
 with stdenv.lib;
 stdenv.mkDerivation rec {
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
   name = "${p_name}-${ver_maj}.${ver_min}";
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ intltool glib exo libXtst xproto libxfce4util libxfce4ui xfce4panel xfconf gtk ];
+  buildInputs = [ intltool glib exo libXtst xproto libxfce4util libxfce4ui xfce4-panel xfconf gtk ];
   preFixup = "rm $out/share/icons/hicolor/icon-theme.cache";
 
   meta = {
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-datetime-plugin.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-datetime-plugin.nix
index 0905a9bb16a..c6317010031 100644
--- a/pkgs/desktops/xfce/panel-plugins/xfce4-datetime-plugin.nix
+++ b/pkgs/desktops/xfce/panel-plugins/xfce4-datetime-plugin.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, intltool, libxfce4util, libxfcegui4, xfce4panel
+{ stdenv, fetchurl, pkgconfig, intltool, libxfce4util, libxfcegui4, xfce4-panel
 , gtk }:
 
 with stdenv.lib;
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ intltool libxfce4util libxfcegui4 xfce4panel gtk ];
+  buildInputs = [ intltool libxfce4util libxfcegui4 xfce4-panel gtk ];
 
   meta = {
     homepage = "http://goodies.xfce.org/projects/panel-plugins/${p_name}";
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-dict-plugin.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-dict-plugin.nix
index b6d0fc12db3..8210fc62ccb 100644
--- a/pkgs/desktops/xfce/panel-plugins/xfce4-dict-plugin.nix
+++ b/pkgs/desktops/xfce/panel-plugins/xfce4-dict-plugin.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, intltool, libxfce4util, xfce4panel, libxfce4ui, libxfcegui4, xfconf, gtk}:
+{ stdenv, fetchurl, pkgconfig, intltool, libxfce4util, xfce4-panel, libxfce4ui, libxfcegui4, xfconf, gtk}:
 
 with stdenv.lib;
 stdenv.mkDerivation rec {
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
   name = "${p_name}-${ver_maj}.${ver_min}";
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ intltool libxfce4util libxfce4ui xfce4panel libxfcegui4 xfconf gtk ];
+  buildInputs = [ intltool libxfce4util libxfce4ui xfce4-panel libxfcegui4 xfconf gtk ];
 
   meta = {
     homepage = "http://goodies.xfce.org/projects/panel-plugins/${p_name}";
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-dockbarx-plugin.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-dockbarx-plugin.nix
index 438be7e8494..621b4266d10 100644
--- a/pkgs/desktops/xfce/panel-plugins/xfce4-dockbarx-plugin.nix
+++ b/pkgs/desktops/xfce/panel-plugins/xfce4-dockbarx-plugin.nix
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ python2 vala gtk2 pythonPackages.wrapPython ]
-    ++ (with xfce; [ libxfce4util xfce4panel xfconf xfce4_dev_tools ])
+    ++ (with xfce; [ libxfce4util xfce4-panel xfconf xfce4-dev-tools ])
     ++ pythonPath;
 
   postPatch = ''
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-embed-plugin.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-embed-plugin.nix
index a5cfc3659f6..0d99c2053df 100644
--- a/pkgs/desktops/xfce/panel-plugins/xfce4-embed-plugin.nix
+++ b/pkgs/desktops/xfce/panel-plugins/xfce4-embed-plugin.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, intltool, libxfce4util, xfce4panel, libxfce4ui, libxfcegui4, xfconf, gtk}:
+{ stdenv, fetchurl, pkgconfig, intltool, libxfce4util, xfce4-panel, libxfce4ui, libxfcegui4, xfconf, gtk}:
 
 with stdenv.lib;
 stdenv.mkDerivation rec {
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
   name = "${p_name}-${ver_maj}.${ver_min}";
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ intltool libxfce4util libxfce4ui xfce4panel libxfcegui4 xfconf gtk ];
+  buildInputs = [ intltool libxfce4util libxfce4ui xfce4-panel libxfcegui4 xfconf gtk ];
 
   meta = {
     homepage = "http://goodies.xfce.org/projects/panel-plugins/${p_name}";
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-eyes-plugin.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-eyes-plugin.nix
index 81bff06500b..3a79f67068c 100644
--- a/pkgs/desktops/xfce/panel-plugins/xfce4-eyes-plugin.nix
+++ b/pkgs/desktops/xfce/panel-plugins/xfce4-eyes-plugin.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, intltool, libxfce4util, xfce4panel, libxfce4ui, libxfcegui4, xfconf, gtk}:
+{ stdenv, fetchurl, pkgconfig, intltool, libxfce4util, xfce4-panel, libxfce4ui, libxfcegui4, xfconf, gtk}:
 
 with stdenv.lib;
 stdenv.mkDerivation rec {
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
   name = "${p_name}-${ver_maj}.${ver_min}";
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ intltool libxfce4util libxfce4ui xfce4panel libxfcegui4 xfconf gtk ];
+  buildInputs = [ intltool libxfce4util libxfce4ui xfce4-panel libxfcegui4 xfconf gtk ];
 
   meta = {
     homepage = "http://goodies.xfce.org/projects/panel-plugins/${p_name}";
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-fsguard-plugin.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-fsguard-plugin.nix
index 4f4f882d67b..6d0f8ee73a4 100644
--- a/pkgs/desktops/xfce/panel-plugins/xfce4-fsguard-plugin.nix
+++ b/pkgs/desktops/xfce/panel-plugins/xfce4-fsguard-plugin.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, intltool, libxfce4util, xfce4panel, libxfce4ui, libxfcegui4, xfconf, gtk}:
+{ stdenv, fetchurl, pkgconfig, intltool, libxfce4util, xfce4-panel, libxfce4ui, libxfcegui4, xfconf, gtk}:
 
 with stdenv.lib;
 stdenv.mkDerivation rec {
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
   name = "${p_name}-${ver_maj}.${ver_min}";
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ intltool libxfce4util libxfce4ui xfce4panel libxfcegui4 xfconf gtk ];
+  buildInputs = [ intltool libxfce4util libxfce4ui xfce4-panel libxfcegui4 xfconf gtk ];
 
   meta = {
     homepage = "http://goodies.xfce.org/projects/panel-plugins/${p_name}";
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-genmon-plugin.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-genmon-plugin.nix
index c6252a48bff..039ac144094 100644
--- a/pkgs/desktops/xfce/panel-plugins/xfce4-genmon-plugin.nix
+++ b/pkgs/desktops/xfce/panel-plugins/xfce4-genmon-plugin.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, intltool, libxfce4util, xfce4panel, libxfce4ui, libxfcegui4, xfconf, gtk}:
+{ stdenv, fetchurl, pkgconfig, intltool, libxfce4util, xfce4-panel, libxfce4ui, libxfcegui4, xfconf, gtk}:
 
 with stdenv.lib;
 stdenv.mkDerivation rec {
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
   name = "${p_name}-${ver_maj}.${ver_min}";
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ intltool libxfce4util libxfce4ui xfce4panel libxfcegui4 xfconf gtk ];
+  buildInputs = [ intltool libxfce4util libxfce4ui xfce4-panel libxfcegui4 xfconf gtk ];
 
   meta = {
     homepage = "http://goodies.xfce.org/projects/panel-plugins/${p_name}";
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-hardware-monitor-plugin.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-hardware-monitor-plugin.nix
index ea17c960b2e..cac09d0ad35 100644
--- a/pkgs/desktops/xfce/panel-plugins/xfce4-hardware-monitor-plugin.nix
+++ b/pkgs/desktops/xfce/panel-plugins/xfce4-hardware-monitor-plugin.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, pkgconfig, intltool, autoreconfHook, gnome2,
-  libgtop, libxfce4ui, libxfce4util, xfce4panel, lm_sensors
+  libgtop, libxfce4ui, libxfce4util, xfce4-panel, lm_sensors
 }:
 
 stdenv.mkDerivation rec {
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
     libgtop
     libxfce4ui
     libxfce4util
-    xfce4panel
+    xfce4-panel
     lm_sensors
    ];
 
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-mailwatch-plugin.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-mailwatch-plugin.nix
index 2b43eaca4c0..541b30ec1b3 100644
--- a/pkgs/desktops/xfce/panel-plugins/xfce4-mailwatch-plugin.nix
+++ b/pkgs/desktops/xfce/panel-plugins/xfce4-mailwatch-plugin.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, intltool, libxfce4util, xfce4panel, libxfce4ui,
+{ stdenv, fetchurl, pkgconfig, intltool, libxfce4util, xfce4-panel, libxfce4ui,
 libxfcegui4, xfconf, gtk, exo, gnutls, libgcrypt }:
 
 with stdenv.lib;
@@ -14,13 +14,13 @@ stdenv.mkDerivation rec {
   name = "${p_name}-${ver_maj}.${ver_min}";
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ intltool libxfce4util libxfce4ui xfce4panel
+  buildInputs = [ intltool libxfce4util libxfce4ui xfce4-panel
     libxfcegui4 xfconf gtk exo gnutls libgcrypt ];
 
   meta = {
     homepage = "http://goodies.xfce.org/projects/panel-plugins/${p_name}";
     description = "Mailwatch plugin for Xfce panel";
     platforms = platforms.linux;
-    maintainers = [ maintainers.matthiasbeyer ];
+    maintainers = [ ];
   };
 }
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-mpc-plugin.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-mpc-plugin.nix
index 6f16561d41d..5331c29a454 100644
--- a/pkgs/desktops/xfce/panel-plugins/xfce4-mpc-plugin.nix
+++ b/pkgs/desktops/xfce/panel-plugins/xfce4-mpc-plugin.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, intltool, libxfce4util, xfce4panel, libxfce4ui,
+{ stdenv, fetchurl, pkgconfig, intltool, libxfce4util, xfce4-panel, libxfce4ui,
 libxfcegui4, xfconf, gtk, exo }:
 
 with stdenv.lib;
@@ -14,13 +14,13 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ intltool libxfce4util libxfce4ui xfce4panel
+  buildInputs = [ intltool libxfce4util libxfce4ui xfce4-panel
     libxfcegui4 xfconf gtk exo ];
 
   meta = {
     homepage = "http://goodies.xfce.org/projects/panel-plugins/${p_name}";
     description = "MPD plugin for Xfce panel";
     platforms = platforms.linux;
-    maintainers = [ maintainers.matthiasbeyer ];
+    maintainers = [ ];
   };
 }
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-namebar-plugin.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-namebar-plugin.nix
index e81289f26f6..66179996df6 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, gtk2, libwnck, libxfce4util, xfce4panel }:
+{ stdenv, pkgconfig, fetchFromGitHub, python2, vala, gtk2, libwnck, libxfce4util, xfce4-panel }:
 
 stdenv.mkDerivation rec {
   ver = "0.3.1";
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ python2 vala gtk2 libwnck libxfce4util xfce4panel ];
+  buildInputs = [ python2 vala 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-netload-plugin.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-netload-plugin.nix
index 9650cafedec..a843f0223c4 100644
--- a/pkgs/desktops/xfce/panel-plugins/xfce4-netload-plugin.nix
+++ b/pkgs/desktops/xfce/panel-plugins/xfce4-netload-plugin.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, intltool, libxfce4util, xfce4panel, libxfce4ui, libxfcegui4, xfconf, gtk}:
+{ stdenv, fetchurl, pkgconfig, intltool, libxfce4util, xfce4-panel, libxfce4ui, libxfcegui4, xfconf, gtk}:
 
 with stdenv.lib;
 stdenv.mkDerivation rec {
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
   name = "${p_name}-${ver_maj}.${ver_min}";
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ intltool libxfce4util libxfce4ui xfce4panel libxfcegui4 xfconf gtk ];
+  buildInputs = [ intltool libxfce4util libxfce4ui xfce4-panel libxfcegui4 xfconf gtk ];
   preFixup = "rm $out/share/icons/hicolor/icon-theme.cache";
 
   meta = {
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-notes-plugin.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-notes-plugin.nix
index c8c9c7735a9..d61dae6bdd5 100644
--- a/pkgs/desktops/xfce/panel-plugins/xfce4-notes-plugin.nix
+++ b/pkgs/desktops/xfce/panel-plugins/xfce4-notes-plugin.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, intltool, libxfce4util, xfce4panel, libxfce4ui, libxfcegui4, xfconf, gtk, libunique }:
+{ stdenv, fetchurl, pkgconfig, intltool, libxfce4util, xfce4-panel, libxfce4ui, libxfcegui4, xfconf, gtk, libunique }:
 
 with stdenv.lib;
 stdenv.mkDerivation rec {
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
   name = "${p_name}-${ver_maj}.${ver_min}";
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ intltool libxfce4util libxfce4ui xfce4panel libxfcegui4 xfconf gtk libunique ];
+  buildInputs = [ intltool libxfce4util libxfce4ui xfce4-panel libxfcegui4 xfconf gtk libunique ];
 
   meta = {
     homepage = "http://goodies.xfce.org/projects/panel-plugins/${p_name}";
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-sensors-plugin.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-sensors-plugin.nix
index 3314d313ad2..5a4dfee76fc 100644
--- a/pkgs/desktops/xfce/panel-plugins/xfce4-sensors-plugin.nix
+++ b/pkgs/desktops/xfce/panel-plugins/xfce4-sensors-plugin.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, pkgconfig, intltool, gnome2, libxfce4ui,
-  libxfce4util, xfce4panel, libnotify, lm_sensors, hddtemp, netcat-gnu
+  libxfce4util, xfce4-panel, libnotify, lm_sensors, hddtemp, netcat-gnu
 }:
 
 stdenv.mkDerivation rec {
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
     gnome2.gtk
     libxfce4ui
     libxfce4util
-    xfce4panel
+    xfce4-panel
     libnotify
     lm_sensors
     hddtemp
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-systemload-plugin.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-systemload-plugin.nix
index 34677db81d1..698d4aae532 100644
--- a/pkgs/desktops/xfce/panel-plugins/xfce4-systemload-plugin.nix
+++ b/pkgs/desktops/xfce/panel-plugins/xfce4-systemload-plugin.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, intltool, libxfce4util, xfce4panel, libxfce4ui, gtk}:
+{ stdenv, fetchurl, pkgconfig, intltool, libxfce4util, xfce4-panel, libxfce4ui, gtk}:
 
 with stdenv.lib;
 stdenv.mkDerivation rec {
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
   name = "${p_name}-${ver_maj}.${ver_min}";
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ intltool libxfce4util libxfce4ui xfce4panel gtk ];
+  buildInputs = [ intltool libxfce4util libxfce4ui xfce4-panel gtk ];
 
   meta = {
     homepage = "http://goodies.xfce.org/projects/panel-plugins/${p_name}";
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-timer-plugin.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-timer-plugin.nix
index 17dcb10c9d1..c420c9fb643 100644
--- a/pkgs/desktops/xfce/panel-plugins/xfce4-timer-plugin.nix
+++ b/pkgs/desktops/xfce/panel-plugins/xfce4-timer-plugin.nix
@@ -1,4 +1,5 @@
-{ stdenv, fetchurl, pkgconfig, intltool, libxfce4util, xfce4panel, libxfce4ui, libxfcegui4, xfconf, gtk}:
+{ stdenv, fetchurl, pkgconfig, intltool, libxfce4util, xfce4-panel
+, libxfce4ui, libxfcegui4, xfconf, gtk, hicolor-icon-theme }:
 
 with stdenv.lib;
 stdenv.mkDerivation rec {
@@ -12,8 +13,8 @@ stdenv.mkDerivation rec {
   };
   name = "${p_name}-${ver_maj}.${ver_min}";
 
-  buildInputs = [ intltool libxfce4util libxfce4ui xfce4panel libxfcegui4 xfconf
-    gtk ];
+  buildInputs = [ intltool libxfce4util libxfce4ui xfce4-panel libxfcegui4 xfconf
+    gtk hicolor-icon-theme ];
 
   nativeBuildInputs = [ pkgconfig ];
 
@@ -24,6 +25,6 @@ stdenv.mkDerivation rec {
     description = "Battery plugin for Xfce panel";
     platforms = platforms.linux;
     license = licenses.gpl2;
-    maintainers = [ maintainers.matthiasbeyer ];
+    maintainers = [ ];
   };
 }
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-verve-plugin.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-verve-plugin.nix
index 3c0d1a488f8..96ef08cbeb7 100644
--- a/pkgs/desktops/xfce/panel-plugins/xfce4-verve-plugin.nix
+++ b/pkgs/desktops/xfce/panel-plugins/xfce4-verve-plugin.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, pkgconfig, intltool, glib, exo, pcre
-, libxfce4util, xfce4panel, libxfce4ui, xfconf, gtk }:
+, libxfce4util, xfce4-panel, libxfce4ui, xfconf, gtk }:
 
 with stdenv.lib;
 stdenv.mkDerivation rec {
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
   name = "${p_name}-${ver_maj}.${ver_min}";
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ intltool glib exo pcre libxfce4util libxfce4ui xfce4panel xfconf gtk ];
+  buildInputs = [ intltool glib exo pcre libxfce4util libxfce4ui xfce4-panel xfconf gtk ];
 
   hardeningDisable = [ "format" ];
 
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-weather-plugin.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-weather-plugin.nix
index 0af0e62244f..03f062532ea 100644
--- a/pkgs/desktops/xfce/panel-plugins/xfce4-weather-plugin.nix
+++ b/pkgs/desktops/xfce/panel-plugins/xfce4-weather-plugin.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, pkgconfig, intltool, gtk, libxml2, libsoup, upower,
-libxfce4ui, libxfce4util, xfce4panel }:
+libxfce4ui, libxfce4util, xfce4-panel }:
 
 stdenv.mkDerivation rec {
   name = "${p_name}-${ver_maj}.${ver_min}";
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ pkgconfig intltool ];
 
   buildInputs = [ gtk libxml2 libsoup upower libxfce4ui libxfce4util
-   xfce4panel ];
+   xfce4-panel ];
 
   enableParallelBuilding = true;
 
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-whiskermenu-plugin.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-whiskermenu-plugin.nix
index 92564c4eb68..c29758452ae 100644
--- a/pkgs/desktops/xfce/panel-plugins/xfce4-whiskermenu-plugin.nix
+++ b/pkgs/desktops/xfce/panel-plugins/xfce4-whiskermenu-plugin.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchFromGitHub, cmake, pkgconfig, intltool, libxfce4util, libxfcegui4
-, xfce4panel, gtk, exo, garcon }:
+, xfce4-panel, gtk, exo, garcon }:
 
 with stdenv.lib;
 stdenv.mkDerivation rec {
@@ -17,13 +17,13 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ cmake pkgconfig intltool ];
 
-  buildInputs = [ libxfce4util libxfcegui4 xfce4panel gtk exo garcon ];
+  buildInputs = [ libxfce4util libxfcegui4 xfce4-panel gtk exo garcon ];
 
   enableParallelBuilding = true;
 
   preFixup = ''
     substituteInPlace $out/bin/xfce4-popup-whiskermenu \
-      --replace $out/bin/xfce4-panel ${xfce4panel.out}/bin/xfce4-panel
+      --replace $out/bin/xfce4-panel ${xfce4-panel.out}/bin/xfce4-panel
   '';
 
   meta = {
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-windowck-plugin.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-windowck-plugin.nix
index 32b2e651462..8798851579d 100644
--- a/pkgs/desktops/xfce/panel-plugins/xfce4-windowck-plugin.nix
+++ b/pkgs/desktops/xfce/panel-plugins/xfce4-windowck-plugin.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchFromGitHub, pkgconfig, intltool, python3, imagemagick, libwnck, gtk2
-, exo, libxfce4ui, libxfce4util, xfce4panel, xfconf, xfce4_dev_tools }:
+, exo, libxfce4ui, libxfce4util, xfce4-panel, xfconf, xfce4-dev-tools }:
 
 stdenv.mkDerivation rec {
   p_name  = "xfce4-windowck-plugin";
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ intltool python3 imagemagick libwnck gtk2
-    exo libxfce4ui libxfce4util xfce4panel xfconf xfce4_dev_tools ];
+    exo libxfce4ui libxfce4util xfce4-panel xfconf xfce4-dev-tools ];
 
   preConfigure = ''
     ./autogen.sh
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-xkb-plugin.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-xkb-plugin.nix
index 453c09cfc70..307d2e81bf2 100644
--- a/pkgs/desktops/xfce/panel-plugins/xfce4-xkb-plugin.nix
+++ b/pkgs/desktops/xfce/panel-plugins/xfce4-xkb-plugin.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, intltool, libxfce4util, libxfce4ui, xfce4panel
+{ stdenv, fetchurl, pkgconfig, intltool, libxfce4util, libxfce4ui, xfce4-panel
 , garcon, gtk, libxklavier, librsvg, libwnck
 }:
 
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ intltool libxfce4util libxfce4ui xfce4panel garcon
+  buildInputs = [ intltool libxfce4util libxfce4ui xfce4-panel garcon
     gtk libxklavier librsvg libwnck  ];
 
   meta = {
diff --git a/pkgs/desktops/xfce/thunar-plugins/archive/default.nix b/pkgs/desktops/xfce/thunar-plugins/archive/default.nix
index 8ff4a74e6bf..9783e6c9228 100644
--- a/pkgs/desktops/xfce/thunar-plugins/archive/default.nix
+++ b/pkgs/desktops/xfce/thunar-plugins/archive/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, pkgconfig, xfce4_dev_tools
+{ stdenv, fetchFromGitHub, pkgconfig, xfce4-dev-tools
 , gtk
 , thunarx-2-dev
 , exo, libxfce4util, libxfce4ui
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    xfce4_dev_tools
+    xfce4-dev-tools
     thunarx-2-dev
     exo gtk libxfce4util libxfce4ui
     xfconf udev libnotify
diff --git a/pkgs/desktops/xfce4-13/automakeAddFlags.sh b/pkgs/desktops/xfce4-13/automakeAddFlags.sh
new file mode 100644
index 00000000000..92d5659d05c
--- /dev/null
+++ b/pkgs/desktops/xfce4-13/automakeAddFlags.sh
@@ -0,0 +1,7 @@
+automakeAddFlags() {
+    local file="$1"
+    local target="$2"
+    local source="$3"
+
+    sed "/$target/a\$($source) \\\\" -i $file
+}
diff --git a/pkgs/desktops/xfce4-13/default.nix b/pkgs/desktops/xfce4-13/default.nix
new file mode 100644
index 00000000000..451322bcaf9
--- /dev/null
+++ b/pkgs/desktops/xfce4-13/default.nix
@@ -0,0 +1,80 @@
+{ lib, makeSetupHook, newScope, gnome3, gst_all_1 }:
+
+let
+  inherit (lib) makeScope;
+in
+
+makeScope newScope (self: with self; {
+  mkXfceDerivation = callPackage ./mkXfceDerivation.nix { };
+
+  automakeAddFlags = makeSetupHook { } ./automakeAddFlags.sh;
+
+  exo = callPackage ./exo { };
+
+  garcon = callPackage ./garcon { };
+
+  gigolo = callPackage ./gigolo { };
+
+  libxfce4util = callPackage ./libxfce4util { };
+
+  libxfce4ui = callPackage ./libxfce4ui { };
+
+  mousepad = callPackage ./mousepad {
+    inherit (gnome3) gtksourceview;
+  };
+
+  orage = callPackage ./orage { };
+
+  parole = callPackage ./parole {
+    inherit (gst_all_1) gst-plugins-bad gst-plugins-base gst-plugins-good;
+    gst-plugins-ugly = null;
+  };
+
+  ristretto = callPackage ./ristretto { };
+
+  thunar = callPackage ./thunar { };
+
+  thunar-volman = callPackage ./thunar-volman { };
+
+  tumbler = callPackage ./tumbler { };
+
+  xfburn = callPackage ./xfburn { };
+
+  xfconf = callPackage ./xfconf { };
+
+  xfdesktop = callPackage ./xfdesktop { };
+
+  xfce4-appfinder = callPackage ./xfce4-appfinder { };
+
+  xfce4-dev-tools = callPackage ./xfce4-dev-tools {
+    mkXfceDerivation = mkXfceDerivation.override {
+      xfce4-dev-tools = null;
+    };
+  };
+
+  xfce4-dict = callPackage ./xfce4-dict { };
+
+  xfce4-mixer = callPackage ./xfce4-mixer { };
+
+  xfce4-notifyd = callPackage ./xfce4-notifyd { };
+
+  xfce4-panel = callPackage ./xfce4-panel { };
+
+  xfce4-power-manager = callPackage ./xfce4-power-manager { };
+
+  xfce4-screenshooter = callPackage ./xfce4-screenshooter {
+    inherit (gnome3) libsoup;
+  };
+
+  xfce4-taskmanager = callPackage ./xfce4-taskmanager { };
+
+  xfce4-settings = callPackage ./xfce4-settings { };
+
+  xfce4-terminal = callPackage ./xfce4-terminal {
+    inherit (gnome3) vte;
+  };
+
+  xfce4-volumed-pulse = callPackage ./xfce4-volumed-pulse { };
+
+  xfwm4 = callPackage ./xfwm4 { };
+})
diff --git a/pkgs/desktops/xfce4-13/exo/default.nix b/pkgs/desktops/xfce4-13/exo/default.nix
new file mode 100644
index 00000000000..e11309135dd
--- /dev/null
+++ b/pkgs/desktops/xfce4-13/exo/default.nix
@@ -0,0 +1,23 @@
+{ mkXfceDerivation, docbook_xml_xslt, libxslt, perlPackages, gtk2, gtk3
+, libxfce4ui, libxfce4util }:
+
+mkXfceDerivation rec {
+  category = "xfce";
+  pname = "exo";
+  version = "0.11.5";
+
+  sha256 = "0zxv7cx1xbjls7q2blv8ir9zwzyq7r189n6q35jwasns7rxj256v";
+
+  nativeBuildInputs = [ libxslt perlPackages.URI ];
+  buildInputs = [ gtk2 gtk3 libxfce4ui libxfce4util ];
+
+  postPatch = ''
+    substituteInPlace docs/reference/Makefile.am \
+      --replace http://docbook.sourceforge.net/release/xsl/current \
+                ${docbook_xml_xslt}/share/xml/docbook-xsl
+  '';
+
+  meta = {
+    description = "Application library for Xfce";
+  };
+}
diff --git a/pkgs/desktops/xfce4-13/exo/gtk3-only.patch b/pkgs/desktops/xfce4-13/exo/gtk3-only.patch
new file mode 100644
index 00000000000..74e6f812e3c
--- /dev/null
+++ b/pkgs/desktops/xfce4-13/exo/gtk3-only.patch
@@ -0,0 +1,28 @@
+diff -urNZ a/configure.ac.in b/configure.ac.in
+--- a/configure.ac.in	2017-11-20 02:57:40.476664918 +0000
++++ b/configure.ac.in	2017-11-20 03:07:18.999128370 +0000
+@@ -165,11 +165,9 @@
+ dnl ***********************************
+ XDT_CHECK_PACKAGE([GLIB], [glib-2.0], [2.42.0])
+ XDT_CHECK_PACKAGE([GIO], [gio-2.0], [2.42.0])
+-XDT_CHECK_PACKAGE([GTK], [gtk+-2.0], [2.24.0])
+ XDT_CHECK_PACKAGE([GTK3], [gtk+-3.0], [3.20.0])
+ XDT_CHECK_PACKAGE([GTHREAD], [gthread-2.0], [2.42.0])
+ XDT_CHECK_PACKAGE([LIBXFCE4UTIL], [libxfce4util-1.0], [4.10.0])
+-XDT_CHECK_PACKAGE([LIBXFCE4UI], [libxfce4ui-1], [4.12.0])
+ XDT_CHECK_PACKAGE([LIBXFCE4UI2], [libxfce4ui-2], [4.12.0])
+ XDT_CHECK_OPTIONAL_PACKAGE([GIO_UNIX], [gio-unix-2.0], [2.42.0], [gio-unix], [GIO-Unix features])
+ 
+diff -urNZ a/exo/Makefile.am b/exo/Makefile.am
+--- a/exo/Makefile.am	2017-11-20 02:57:34.444785202 +0000
++++ b/exo/Makefile.am	2017-11-20 03:00:49.402897465 +0000
+@@ -117,7 +117,7 @@
+ 
+ libexo_2_includedir = $(includedir)/exo-2/exo
+ 
+-lib_LTLIBRARIES += libexo-2.la
++lib_LTLIBRARIES = libexo-2.la
+ 
+ libexo_2_include_HEADERS =						\
+ 	exo.h								\
+Binary files a/.git/index and b/.git/index differ
diff --git a/pkgs/desktops/xfce4-13/garcon/12700.patch b/pkgs/desktops/xfce4-13/garcon/12700.patch
new file mode 100644
index 00000000000..fda36d69651
--- /dev/null
+++ b/pkgs/desktops/xfce4-13/garcon/12700.patch
@@ -0,0 +1,37 @@
+From: Yegor Timoshenko <yegortimoshenko@gmail.com>
+Date: Thu, 14 Dec 2017 21:13:02 +0000
+Subject: [PATCH] Decrement allocation counter on item unref (#12700)
+
+diff --git a/garcon/garcon-menu-item-pool.c b/garcon/garcon-menu-item-pool.c
+index 2017180..355e520 100644
+--- a/garcon/garcon-menu-item-pool.c
++++ b/garcon/garcon-menu-item-pool.c
+@@ -191,7 +191,12 @@ garcon_menu_item_pool_filter_exclude (const gchar    *desktop_id,
+   g_return_val_if_fail (GARCON_IS_MENU_ITEM (item), FALSE);
+   g_return_val_if_fail (node != NULL, FALSE);
+
+-  return garcon_menu_node_tree_rule_matches (node, item);
++  gboolean matches = garcon_menu_node_tree_rule_matches (node, item);
++
++  if (matches)
++    garcon_menu_item_increment_allocated (item);
++
++  return matches;
+ }
+
+
+diff --git a/garcon/garcon-menu-item.c b/garcon/garcon-menu-item.c
+index ca8cb63..b44acfe 100644
+--- a/garcon/garcon-menu-item.c
++++ b/garcon/garcon-menu-item.c
+@@ -1908,6 +1908,8 @@ garcon_menu_item_unref (GarconMenuItem *item)
+ {
+   g_return_if_fail (GARCON_IS_MENU_ITEM (item));
+
++  garcon_menu_item_decrement_allocated (item);
++
+   /* Decrement the reference counter */
+   g_object_unref (G_OBJECT (item));
+ }
+--
+2.15.1
diff --git a/pkgs/desktops/xfce4-13/garcon/13785.patch b/pkgs/desktops/xfce4-13/garcon/13785.patch
new file mode 100644
index 00000000000..1b723d21d60
--- /dev/null
+++ b/pkgs/desktops/xfce4-13/garcon/13785.patch
@@ -0,0 +1,75 @@
+From 4387496fe332a50945e7db76bc2196b419656fe3 Mon Sep 17 00:00:00 2001
+From: Stefan Berzl <stefanberzl@gmail.com>
+Date: Mon, 21 Aug 2017 18:39:07 +0300
+Subject: [PATCH] fix: some menu icons are too big (Bug #13785)
+
+Some packages only provide icons in sizes much bigger than the standard
+GTK menu size of 16px.
+
+The clipboard manager qlipper for example provides the following icon:
+/usr/share/icons/hicolor/128x128/apps/qlipper.png
+
+In GTK 3.22.18 the function gtk_image_new_from_icon_name when given
+GTK_ICON_SIZE_MENU as second argument still returns an image with 128x128.
+
+The patch I have supplied uses existing code to scale such an image.
+
+Signed-off-by: Eric Koegel <eric.koegel@gmail.com>
+---
+ garcon-gtk/garcon-gtk-menu.c | 33 +++++++++++++++++++--------------
+ 1 file changed, 19 insertions(+), 14 deletions(-)
+
+diff --git a/garcon-gtk/garcon-gtk-menu.c b/garcon-gtk/garcon-gtk-menu.c
+index 41990f2..f31a1ed 100644
+--- a/garcon-gtk/garcon-gtk-menu.c
++++ b/garcon-gtk/garcon-gtk-menu.c
+@@ -650,7 +650,11 @@ garcon_gtk_menu_load_icon (const gchar *icon_name)
+   gtk_icon_size_lookup (GTK_ICON_SIZE_MENU, &w, &h);
+   size = MIN (w, h);
+ 
+-  if (! gtk_icon_theme_has_icon (icon_theme, icon_name))
++  if (gtk_icon_theme_has_icon (icon_theme, icon_name))
++    {
++	  pixbuf = gtk_icon_theme_load_icon (icon_theme, icon_name, size, 0, NULL);;
++    }
++  else
+     {
+       if (g_path_is_absolute (icon_name))
+         {
+@@ -684,22 +688,23 @@ garcon_gtk_menu_load_icon (const gchar *icon_name)
+               g_free (name);
+             }
+         }
++    }
+ 
+-      /* Turn the pixbuf into a gtk_image */
+-      if (G_LIKELY (pixbuf))
+-        {
+-          /* scale the pixbuf down if it needs it */
+-          GdkPixbuf *tmp = gdk_pixbuf_scale_simple (pixbuf, w, h, GDK_INTERP_BILINEAR);
+-          g_object_unref (pixbuf);
+-          pixbuf = tmp;
++  /* Turn the pixbuf into a gtk_image */
++  if (G_LIKELY (pixbuf))
++    {
++      /* scale the pixbuf down if it needs it */
++      GdkPixbuf *pixbuf_scaled = gdk_pixbuf_scale_simple (pixbuf, w, h, GDK_INTERP_BILINEAR);
++      g_object_unref (G_OBJECT (pixbuf));
+ 
+-          image = gtk_image_new_from_pixbuf (pixbuf);
+-          g_object_unref (G_OBJECT (pixbuf));
+-        }
++      image = gtk_image_new_from_pixbuf (pixbuf_scaled);
++      g_object_unref (G_OBJECT (pixbuf_scaled));
++    }
++  else
++    {
++	  /* display the placeholder at least */
++	  image = gtk_image_new_from_icon_name (icon_name, GTK_ICON_SIZE_MENU);
+     }
+-
+-  if (image == NULL)
+-    image = gtk_image_new_from_icon_name (icon_name, GTK_ICON_SIZE_MENU);
+ 
+   return image;
+ }
diff --git a/pkgs/desktops/xfce4-13/garcon/default.nix b/pkgs/desktops/xfce4-13/garcon/default.nix
new file mode 100644
index 00000000000..a88d64702a1
--- /dev/null
+++ b/pkgs/desktops/xfce4-13/garcon/default.nix
@@ -0,0 +1,12 @@
+{ mkXfceDerivation, gtk2 ? null, gtk3, libxfce4ui, libxfce4util }:
+
+mkXfceDerivation rec {
+  category = "xfce";
+  pname = "garcon";
+  version = "0.6.1";
+
+  sha256 = "19k8bwn29x7hkg882pxv5xxmrbfagdqgkxg166pwz2k0prab6hl8";
+
+  patches = [ ./12700.patch ./13785.patch ];
+  buildInputs = [ gtk2 gtk3 libxfce4ui libxfce4util ];
+}
diff --git a/pkgs/desktops/xfce4-13/gigolo/default.nix b/pkgs/desktops/xfce4-13/gigolo/default.nix
new file mode 100644
index 00000000000..0d7b2210b12
--- /dev/null
+++ b/pkgs/desktops/xfce4-13/gigolo/default.nix
@@ -0,0 +1,11 @@
+{ mkXfceDerivation, gtk2, libX11 }:
+
+mkXfceDerivation rec {
+  category = "apps";
+  pname = "gigolo";
+  version = "0.4.2";
+
+  sha256 = "0qd2jkf3zsvfyd9jn8bfnljja1xfj3ph4wjh3fx10dcwcd791al1";
+
+  buildInputs = [ gtk2 libX11 ];
+}
diff --git a/pkgs/desktops/xfce4-13/libxfce4ui/default.nix b/pkgs/desktops/xfce4-13/libxfce4ui/default.nix
new file mode 100644
index 00000000000..63df0b7cc9a
--- /dev/null
+++ b/pkgs/desktops/xfce4-13/libxfce4ui/default.nix
@@ -0,0 +1,18 @@
+{ lib, mkXfceDerivation, gobjectIntrospection, gtk2, gtk3
+, libstartup_notification ? null, libxfce4util, xfconf }:
+
+mkXfceDerivation rec {
+  category = "xfce";
+  pname = "libxfce4ui";
+  version = "4.13.4";
+
+  sha256 = "0m9h3kvkk2nx8pxxmsg9sjnyp6ajwjrz9djjxxvranjsdw3ilydy";
+
+  buildInputs =  [ gobjectIntrospection gtk2 gtk3 libstartup_notification xfconf ];
+  propagatedBuildInputs = [ libxfce4util ];
+
+  meta = with lib; {
+    description = "Widgets library for Xfce";
+    license = licenses.lgpl2Plus;
+  };
+}
diff --git a/pkgs/desktops/xfce4-13/libxfce4util/default.nix b/pkgs/desktops/xfce4-13/libxfce4util/default.nix
new file mode 100644
index 00000000000..091d73bf72a
--- /dev/null
+++ b/pkgs/desktops/xfce4-13/libxfce4util/default.nix
@@ -0,0 +1,16 @@
+{ lib, mkXfceDerivation, gobjectIntrospection }:
+
+mkXfceDerivation rec {
+  category = "xfce";
+  pname = "libxfce4util";
+  version = "4.13.1";
+
+  sha256 = "001ls90an2pi9l04g3r6syfa4lhyvjymp0r9djxrkc2q493mcv3d";
+
+  buildInputs = [ gobjectIntrospection ];
+
+  meta = with lib; {
+    description = "Extension library for Xfce";
+    license = licenses.lgpl2Plus;
+  };
+}
diff --git a/pkgs/desktops/xfce4-13/mkXfceDerivation.nix b/pkgs/desktops/xfce4-13/mkXfceDerivation.nix
new file mode 100644
index 00000000000..f08272e9db0
--- /dev/null
+++ b/pkgs/desktops/xfce4-13/mkXfceDerivation.nix
@@ -0,0 +1,40 @@
+{ stdenv, fetchgit, pkgconfig, xfce4-dev-tools ? null }:
+
+{ category, pname, sha256 ? null, version, ... } @ args:
+
+let
+  inherit (builtins) filter getAttr head isList;
+  inherit (stdenv.lib) attrNames concatLists recursiveUpdate zipAttrsWithNames;
+
+  filterAttrNames = f: attrs:
+    filter (n: f (getAttr n attrs)) (attrNames attrs);
+
+  concatAttrLists = attrsets:
+    zipAttrsWithNames (filterAttrNames isList (head attrsets)) (_: concatLists) attrsets;
+
+  template = rec {
+    name = "${pname}-${version}";
+
+    nativeBuildInputs = [ pkgconfig xfce4-dev-tools ];
+    configureFlags = [ "--enable-maintainer-mode" ];
+
+    src = fetchgit {
+      url = "git://git.xfce.org/${category}/${pname}";
+      rev = name;
+      inherit sha256;
+    };
+
+    enableParallelBuilding = true;
+    outputs = [ "out" "dev" ];
+
+    meta = with stdenv.lib; {
+      homepage = "https://git.xfce.org/${category}/${pname}/about";
+      license = licenses.gpl2; # some libraries are under LGPLv2+
+      platforms = platforms.linux;
+    };
+  };
+
+  publicArgs = removeAttrs args [ "category" "pname" "sha256" ];
+in
+
+stdenv.mkDerivation (recursiveUpdate template publicArgs // concatAttrLists [ template args ])
diff --git a/pkgs/desktops/xfce4-13/mousepad/default.nix b/pkgs/desktops/xfce4-13/mousepad/default.nix
new file mode 100644
index 00000000000..84206f763f3
--- /dev/null
+++ b/pkgs/desktops/xfce4-13/mousepad/default.nix
@@ -0,0 +1,12 @@
+{ mkXfceDerivation, exo, wrapGAppsHook, dbus_glib ? null, gtk3, gtksourceview }:
+
+mkXfceDerivation rec {
+  category = "apps";
+  pname = "mousepad";
+  version = "0.4.0";
+
+  sha256 = "0mm90iq2yd3d0qbgsjyk3yj25k0gm3p34jazl640vixk84v20lyw";
+
+  nativeBuildInputs = [ exo wrapGAppsHook ];
+  buildInputs = [ dbus_glib gtk3 gtksourceview ];
+}
diff --git a/pkgs/desktops/xfce4-13/orage/default.nix b/pkgs/desktops/xfce4-13/orage/default.nix
new file mode 100644
index 00000000000..6a2f37cbef6
--- /dev/null
+++ b/pkgs/desktops/xfce4-13/orage/default.nix
@@ -0,0 +1,18 @@
+{ lib, mkXfceDerivation, dbus_glib ? null, gtk2, libical, libnotify ? null
+, popt ? null, libxfce4ui ? null, xfce4-panel ? null, withPanelPlugin ? true }:
+
+assert withPanelPlugin -> libxfce4ui != null && xfce4-panel != null;
+
+let
+  inherit (lib) optionals;
+in
+
+mkXfceDerivation rec {
+  category = "apps";
+  pname = "orage";
+  version = "4.12.1";
+
+  sha256 = "04z6y1vfaz1im1zq1zr7cf8pjibjhj9zkyanbp7vn30q520yxa0m";
+  buildInputs = [ dbus_glib gtk2 libical libnotify popt ]
+    ++ optionals withPanelPlugin [ libxfce4ui xfce4-panel ];
+}
diff --git a/pkgs/desktops/xfce4-13/parole/default.nix b/pkgs/desktops/xfce4-13/parole/default.nix
new file mode 100644
index 00000000000..c1976727c04
--- /dev/null
+++ b/pkgs/desktops/xfce4-13/parole/default.nix
@@ -0,0 +1,36 @@
+{ mkXfceDerivation, makeWrapper, wrapGAppsHook, dbus, dbus_glib
+, gst-plugins-bad ? null, gst-plugins-base, gst-plugins-good
+, gst-plugins-ugly ? null, gtk3, libnotify, libxfce4ui, libxfce4util
+, taglib ? null, xfconf }:
+
+# Doesn't seem to find H.264 codec even though built with gst-plugins-bad.
+
+mkXfceDerivation rec {
+  category = "apps";
+  pname = "parole";
+  version = "0.9.2";
+
+  sha256 = "07i9d7xn2ys3z71sxvr53idq4ivy94pqgxvr0k78crva39ls08s5";
+
+  postPatch = ''
+    substituteInPlace src/plugins/mpris2/Makefile.am \
+      --replace GST_BASE_CFLAGS GST_VIDEO_CFLAGS
+  '';
+
+  nativeBuildInputs = [ makeWrapper wrapGAppsHook ];
+
+  buildInputs = [
+    dbus
+    dbus_glib
+    gst-plugins-bad
+    gst-plugins-base
+    gst-plugins-good
+    gst-plugins-ugly
+    gtk3
+    libnotify
+    libxfce4ui
+    libxfce4util
+    taglib
+    xfconf
+  ];
+}
diff --git a/pkgs/desktops/xfce4-13/ristretto/default.nix b/pkgs/desktops/xfce4-13/ristretto/default.nix
new file mode 100644
index 00000000000..5296723eb40
--- /dev/null
+++ b/pkgs/desktops/xfce4-13/ristretto/default.nix
@@ -0,0 +1,18 @@
+{ mkXfceDerivation, automakeAddFlags, exo, dbus_glib, gtk2, libexif
+, libxfce4ui, libxfce4util, xfconf }:
+
+mkXfceDerivation rec {
+  category = "apps";
+  pname = "ristretto";
+  version = "0.8.2";
+
+  postPatch = ''
+    automakeAddFlags src/Makefile.am ristretto_CFLAGS DBUS_GLIB_CFLAGS
+    automakeAddFlags src/Makefile.am ristretto_LDADD DBUS_GLIB_LIBS
+  '';
+
+  nativeBuildInputs = [ automakeAddFlags exo ];
+  buildInputs = [ dbus_glib gtk2 libexif libxfce4ui libxfce4util xfconf ];
+
+  sha256 = "0ra50452ldk91pvhcpl3f3rhdssw3djfr6cm0hc29v8r58am0wni";
+}
diff --git a/pkgs/desktops/xfce4-13/thunar-volman/default.nix b/pkgs/desktops/xfce4-13/thunar-volman/default.nix
new file mode 100644
index 00000000000..0055d0d8217
--- /dev/null
+++ b/pkgs/desktops/xfce4-13/thunar-volman/default.nix
@@ -0,0 +1,11 @@
+{ mkXfceDerivation, exo, gtk3, libgudev, libxfce4ui, libxfce4util, xfconf }:
+
+mkXfceDerivation rec {
+  category = "xfce";
+  pname = "thunar-volman";
+  version = "0.9.0";
+
+  buildInputs = [ exo gtk3 libgudev libxfce4ui libxfce4util xfconf ];
+
+  sha256 = "08aqbp3i0z6frj7z3laz9nj641iakrcr7vh2dxb057ky24gj61i7";
+}
diff --git a/pkgs/desktops/xfce4-13/thunar/default.nix b/pkgs/desktops/xfce4-13/thunar/default.nix
new file mode 100644
index 00000000000..7503e67e4a5
--- /dev/null
+++ b/pkgs/desktops/xfce4-13/thunar/default.nix
@@ -0,0 +1,30 @@
+{ mkXfceDerivation, docbook_xml_xslt, exo, gdk_pixbuf, gtk3, libgudev ? null
+, libnotify ? null, libX11, libxfce4ui, libxfce4util, libxslt, xfconf }:
+
+mkXfceDerivation rec {
+  category = "xfce";
+  pname = "thunar";
+  version = "1.7.0";
+
+  sha256 = "1s262hii524a5hb15pb8xbrrrhyi5fj3837zgbscg3rdnsm52igw";
+
+  postPatch = ''
+    substituteInPlace docs/Makefile.am \
+      --replace http://docbook.sourceforge.net/release/xsl/current \
+                ${docbook_xml_xslt}/share/xml/docbook-xsl
+  '';
+
+  nativeBuildInputs = [ libxslt ];
+
+  buildInputs = [
+    exo
+    gdk_pixbuf
+    gtk3
+    libgudev
+    libnotify
+    libX11
+    libxfce4ui
+    libxfce4util
+    xfconf
+  ];
+}
diff --git a/pkgs/desktops/xfce4-13/tumbler/default.nix b/pkgs/desktops/xfce4-13/tumbler/default.nix
new file mode 100644
index 00000000000..6bcdbfbc41e
--- /dev/null
+++ b/pkgs/desktops/xfce4-13/tumbler/default.nix
@@ -0,0 +1,14 @@
+{ mkXfceDerivation, gdk_pixbuf ? null, ffmpegthumbnailer ? null, libgsf ? null
+, poppler ? null }:
+
+# TODO: add libopenraw
+
+mkXfceDerivation rec {
+  category = "xfce";
+  pname = "tumbler";
+  version = "0.2.0";
+
+  sha256 = "0jr6rhgc57yqb3iwp7y49yf5ig541liaz6xpvjl45ki34j091iaj";
+
+  buildInputs = [ gdk_pixbuf ffmpegthumbnailer libgsf poppler ];
+}
diff --git a/pkgs/desktops/xfce4-13/xfburn/default.nix b/pkgs/desktops/xfce4-13/xfburn/default.nix
new file mode 100644
index 00000000000..266722c9b05
--- /dev/null
+++ b/pkgs/desktops/xfce4-13/xfburn/default.nix
@@ -0,0 +1,18 @@
+{ mkXfceDerivation, docbook_xml_xslt, exo, gtk2, libburn, libICE, libisofs, libSM, libxfce4ui, libxslt }:
+
+mkXfceDerivation rec {
+  category = "apps";
+  pname = "xfburn";
+  version = "0.5.5";
+
+  postPatch = ''
+    substituteInPlace docs/Makefile.am \
+      --replace http://docbook.sourceforge.net/release/xsl/current \
+                ${docbook_xml_xslt}/share/xml/docbook-xsl
+  '';
+
+  sha256 = "1lmv48vqrlap1a2ha72g16vqly18zvcwj8y3f3f00l10pmn52bkp";
+
+  nativeBuildInputs = [ libxslt ];
+  buildInputs = [ exo gtk2 libburn libICE libisofs libSM libxfce4ui ];
+}
diff --git a/pkgs/desktops/xfce4-13/xfce4-appfinder/default.nix b/pkgs/desktops/xfce4-13/xfce4-appfinder/default.nix
new file mode 100644
index 00000000000..65941fee4c4
--- /dev/null
+++ b/pkgs/desktops/xfce4-13/xfce4-appfinder/default.nix
@@ -0,0 +1,12 @@
+{ mkXfceDerivation, exo, garcon, gtk3, libxfce4util, libxfce4ui, xfconf }:
+
+mkXfceDerivation rec {
+  category = "xfce";
+  pname = "xfce4-appfinder";
+  version = "4.13.0";
+
+  sha256 = "13xsshzw04gx5rhalx4r0khjb0dbq26fv6n20biyiai1ykznyryy";
+
+  nativeBuildInputs = [ exo ];
+  buildInputs = [ garcon gtk3 libxfce4ui libxfce4util xfconf ];
+}
diff --git a/pkgs/desktops/xfce4-13/xfce4-dev-tools/default.nix b/pkgs/desktops/xfce4-13/xfce4-dev-tools/default.nix
new file mode 100644
index 00000000000..ab64acee050
--- /dev/null
+++ b/pkgs/desktops/xfce4-13/xfce4-dev-tools/default.nix
@@ -0,0 +1,31 @@
+{ mkXfceDerivation, autoreconfHook, autoconf, automake, glib, gtk_doc, intltool, libtool }:
+
+mkXfceDerivation rec {
+  category = "xfce";
+  pname = "xfce4-dev-tools";
+  version = "4.12.0";
+
+  sha256 = "0bbmlmw2dpm10q2wv3vy592i0vx7b5h1qnd35j0fdzxqb8x2hbw2";
+
+  nativeBuildInputs = [ autoreconfHook ];
+
+  propagatedBuildInputs = [
+    autoconf
+    automake
+    glib
+    gtk_doc
+    intltool
+    libtool
+  ];
+
+  preAutoreconf = ''
+    substitute configure.ac.in configure.ac \
+      --subst-var-by REVISION UNKNOWN
+  '';
+
+  setupHook = ./setup-hook.sh;
+
+  meta = {
+    description = "Autoconf macros and scripts to augment app build systems";
+  };
+}
diff --git a/pkgs/desktops/xfce4-13/xfce4-dev-tools/setup-hook.sh b/pkgs/desktops/xfce4-13/xfce4-dev-tools/setup-hook.sh
new file mode 100644
index 00000000000..600bf47fd87
--- /dev/null
+++ b/pkgs/desktops/xfce4-13/xfce4-dev-tools/setup-hook.sh
@@ -0,0 +1,12 @@
+xdtEnvHook() {
+    addToSearchPath ACLOCAL_PATH $1/share/xfce4/dev-tools/m4macros
+}
+
+envHooks+=(xdtEnvHook)
+
+xdtAutogenPhase() {
+    mkdir -p m4
+    NOCONFIGURE=1 xdt-autogen
+}
+
+preConfigurePhases+=(xdtAutogenPhase)
diff --git a/pkgs/desktops/xfce4-13/xfce4-dict/configure-gio.patch b/pkgs/desktops/xfce4-13/xfce4-dict/configure-gio.patch
new file mode 100644
index 00000000000..787b63511a2
--- /dev/null
+++ b/pkgs/desktops/xfce4-13/xfce4-dict/configure-gio.patch
@@ -0,0 +1,11 @@
+diff -urNZ a/configure.ac.in b/configure.ac.in
+--- a/configure.ac.in	2017-12-16 19:46:13.784914017 +0000
++++ b/configure.ac.in	2017-12-16 19:46:38.612477052 +0000
+@@ -53,6 +53,7 @@
+ dnl ***********************************
+ dnl *** Check for required packages ***
+ dnl ***********************************
++XDT_CHECK_PACKAGE([GIO], [gio-unix-2.0], [2.32.0])
+ XDT_CHECK_PACKAGE([GTHREAD], [gthread-2.0], [2.24.0])
+ XDT_CHECK_PACKAGE([GTK], [gtk+-3.0], [3.20.0])
+ XDT_CHECK_PACKAGE([LIBXFCE4UI], [libxfce4ui-2], [4.12.0])
diff --git a/pkgs/desktops/xfce4-13/xfce4-dict/default.nix b/pkgs/desktops/xfce4-13/xfce4-dict/default.nix
new file mode 100644
index 00000000000..a5357ebd590
--- /dev/null
+++ b/pkgs/desktops/xfce4-13/xfce4-dict/default.nix
@@ -0,0 +1,19 @@
+{ mkXfceDerivation, automakeAddFlags, gtk3, libxfce4ui, libxfce4util, xfce4-panel }:
+
+mkXfceDerivation rec {
+  category = "apps";
+  pname = "xfce4-dict";
+  version = "0.8.0";
+
+  sha256 = "1r1k9cgl7zkn3q4mjf7qjql6vlxkb2m0spgj9p646mw7bnhbf9wr";
+
+  patches = [ ./configure-gio.patch ];
+
+  nativeBuildInputs = [ automakeAddFlags ];
+
+  postPatch = ''
+    automakeAddFlags lib/Makefile.am libdict_la_CFLAGS GIO_CFLAGS
+  '';
+
+  buildInputs = [ gtk3 libxfce4ui libxfce4util xfce4-panel ];
+}
diff --git a/pkgs/desktops/xfce4-13/xfce4-mixer/default.nix b/pkgs/desktops/xfce4-13/xfce4-mixer/default.nix
new file mode 100644
index 00000000000..96deb96e7f7
--- /dev/null
+++ b/pkgs/desktops/xfce4-13/xfce4-mixer/default.nix
@@ -0,0 +1,30 @@
+{ mkXfceDerivation, automakeAddFlags, dbus_glib, gst-plugins-base, gtk2
+, libICE, libSM, libunique, libxfce4ui, libxfce4util, xfce4-panel, xfconf }:
+
+mkXfceDerivation rec {
+  category = "apps";
+  pname = "xfce4-mixer";
+  version = "4.11.0";
+
+  sha256 = "1kiz5ysn4rqkjfzz4dvbsfj64kqqayg7bqakcys3rw28g2q5qyys";
+
+  nativeBuildInputs = [ automakeAddFlags ];
+
+  postPatch = ''
+    automakeAddFlags panel-plugin/Makefile.am libmixer_la_CFLAGS DBUS_GLIB_CFLAGS
+    automakeAddFlags xfce4-mixer/Makefile.am xfce4_mixer_CFLAGS DBUS_GLIB_CFLAGS
+  '';
+
+  buildInputs = [
+    dbus_glib
+    gst-plugins-base
+    gtk2
+    libICE
+    libSM
+    libunique
+    libxfce4ui
+    libxfce4util
+    xfce4-panel
+    xfconf
+  ];
+}
diff --git a/pkgs/desktops/xfce4-13/xfce4-notifyd/default.nix b/pkgs/desktops/xfce4-13/xfce4-notifyd/default.nix
new file mode 100644
index 00000000000..b4be0a35a13
--- /dev/null
+++ b/pkgs/desktops/xfce4-13/xfce4-notifyd/default.nix
@@ -0,0 +1,13 @@
+{ mkXfceDerivation, dbus_glib, exo, gtk3, libnotify, libxfce4ui, libxfce4util
+, xfce4-panel, xfconf }:
+
+mkXfceDerivation rec {
+  category = "apps";
+  pname = "xfce4-notifyd";
+  version = "0.4.1";
+
+  sha256 = "12mqi0q1hcjm16f4pndq7l58h2n0nq160r5fqx8ns320i83nh94k";
+
+  nativeBuildInputs = [ dbus_glib exo ];
+  buildInputs = [ gtk3 libnotify libxfce4ui libxfce4util xfce4-panel xfconf ];
+}
diff --git a/pkgs/desktops/xfce4-13/xfce4-panel/default.nix b/pkgs/desktops/xfce4-13/xfce4-panel/default.nix
new file mode 100644
index 00000000000..88ba2de49be
--- /dev/null
+++ b/pkgs/desktops/xfce4-13/xfce4-panel/default.nix
@@ -0,0 +1,15 @@
+{ mkXfceDerivation, exo, garcon, gtk2, gtk3, libxfce4ui, libxfce4util, libwnck3, xfconf }:
+
+mkXfceDerivation rec {
+  category = "xfce";
+  pname = "xfce4-panel";
+  version = "4.13.2";
+
+  sha256 = "194pihmg7af4x81nia2fy3h7rls306a7c0bqny9ycqikvi6nmdmn";
+
+  buildInputs = [ exo garcon gtk2 gtk3 libxfce4ui libxfce4util libwnck3 xfconf ];
+
+  meta =  {
+    description = "Xfce's panel";
+  };
+}
diff --git a/pkgs/desktops/xfce4-13/xfce4-power-manager/default.nix b/pkgs/desktops/xfce4-13/xfce4-power-manager/default.nix
new file mode 100644
index 00000000000..bf998d2e819
--- /dev/null
+++ b/pkgs/desktops/xfce4-13/xfce4-power-manager/default.nix
@@ -0,0 +1,19 @@
+{ mkXfceDerivation, automakeAddFlags, exo, gtk3, libnotify
+, libxfce4ui, libxfce4util, upower, xfconf }:
+
+mkXfceDerivation rec {
+  category = "xfce";
+  pname = "xfce4-power-manager";
+  version = "1.6.0";
+
+  sha256 = "1sh6ydn44j1yki8f020ljayp1fjcigkywcvjp38fsk7j25ni2wrp";
+
+  nativeBuildInputs = [ automakeAddFlags exo ];
+  buildInputs = [ gtk3 libnotify libxfce4ui libxfce4util upower xfconf ];
+
+  postPatch = ''
+    substituteInPlace configure.ac.in --replace gio-2.0 gio-unix-2.0
+    automakeAddFlags src/Makefile.am xfce4_power_manager_CFLAGS GIO_CFLAGS
+    automakeAddFlags src/Makefile.am xfce4_power_manager_settings_CFLAGS GIO_CFLAGS
+  '';
+}
diff --git a/pkgs/desktops/xfce4-13/xfce4-screenshooter/default.nix b/pkgs/desktops/xfce4-13/xfce4-screenshooter/default.nix
new file mode 100644
index 00000000000..5e2c296f056
--- /dev/null
+++ b/pkgs/desktops/xfce4-13/xfce4-screenshooter/default.nix
@@ -0,0 +1,11 @@
+{ mkXfceDerivation, exo, gtk3, libsoup, libxfce4ui, libxfce4util, xfce4-panel }:
+
+mkXfceDerivation rec {
+  category = "apps";
+  pname = "xfce4-screenshooter";
+  version = "1.9.1";
+
+  sha256 = "1q13hvaz3ykrbgbbqb1186mhri8r9hkmpaayjwhnkvjm7jfyhbin";
+
+  buildInputs = [ exo gtk3 libsoup libxfce4ui libxfce4util xfce4-panel ];
+}
diff --git a/pkgs/desktops/xfce4-13/xfce4-settings/default.nix b/pkgs/desktops/xfce4-13/xfce4-settings/default.nix
new file mode 100644
index 00000000000..235c5cd15e4
--- /dev/null
+++ b/pkgs/desktops/xfce4-13/xfce4-settings/default.nix
@@ -0,0 +1,39 @@
+{ mkXfceDerivation, automakeAddFlags, dbus_glib, exo, garcon, gtk3
+, libnotify ? null, libxfce4ui, libxfce4util, libxklavier ? null
+, upower ? null, xfconf, xf86inputlibinput ? null }:
+
+mkXfceDerivation rec {
+  category = "xfce";
+  pname = "xfce4-settings";
+  version = "4.13.1";
+
+  sha256 = "010vcgy3qiqykk174jhf50a8q3x4a5qq2lf6b0wcbyzv7aikydrw";
+
+  postPatch = ''
+    automakeAddFlags xfce4-settings-editor/Makefile.am xfce4_settings_editor_CFLAGS DBUS_GLIB_CFLAGS
+    for f in $(find . -name \*.c); do
+      substituteInPlace $f --replace \"libinput-properties.h\" '<xorg/libinput-properties.h>'
+    done
+  '';
+
+  nativeBuildInputs = [ automakeAddFlags ];
+
+  buildInputs = [
+    dbus_glib
+    exo
+    garcon
+    gtk3
+    libnotify
+    libxfce4ui
+    libxfce4util
+    libxklavier
+    upower
+    xfconf
+    xf86inputlibinput
+  ];
+
+  configureFlags = [
+    "--enable-pluggable-dialogs"
+    "--enable-sound-settings"
+  ];
+}
diff --git a/pkgs/desktops/xfce4-13/xfce4-taskmanager/default.nix b/pkgs/desktops/xfce4-13/xfce4-taskmanager/default.nix
new file mode 100644
index 00000000000..c2d80e31f15
--- /dev/null
+++ b/pkgs/desktops/xfce4-13/xfce4-taskmanager/default.nix
@@ -0,0 +1,18 @@
+{ lib, mkXfceDerivation, exo, gtk2, gtk3 ? null, libwnck3 ? null, libXmu }:
+
+let
+  inherit (lib) enableFeature;
+in
+
+mkXfceDerivation rec {
+  category = "apps";
+  pname = "xfce4-taskmanager";
+  version = "1.2.0";
+
+  sha256 = "1lx66lhzfzhysymcbzfq9nrafyfmwdb79lli9kvhz6m12dhz6j18";
+
+  nativeBuildInputs = [ exo ];
+  buildInputs = [ gtk2 gtk3 libwnck3 libXmu ];
+
+  configureFlags = [ (enableFeature (gtk3 != null) "gtk3") ];
+}
diff --git a/pkgs/desktops/xfce4-13/xfce4-terminal/default.nix b/pkgs/desktops/xfce4-13/xfce4-terminal/default.nix
new file mode 100644
index 00000000000..de37e4071fe
--- /dev/null
+++ b/pkgs/desktops/xfce4-13/xfce4-terminal/default.nix
@@ -0,0 +1,15 @@
+{ mkXfceDerivation, gtk3, libxfce4ui, vte }:
+
+mkXfceDerivation rec {
+  category = "apps";
+  pname = "xfce4-terminal";
+  version = "0.8.6";
+
+  sha256 = "1a0b2ih552zhbbx1fc5ad80nafvkc5my3gw89as4mvycnhyd5inj";
+
+  buildInputs = [ gtk3 libxfce4ui vte ];
+
+  meta = {
+    description = "A modern terminal emulator";
+  };
+}
diff --git a/pkgs/desktops/xfce4-13/xfce4-volumed-pulse/default.nix b/pkgs/desktops/xfce4-13/xfce4-volumed-pulse/default.nix
new file mode 100644
index 00000000000..e7f13e104c8
--- /dev/null
+++ b/pkgs/desktops/xfce4-13/xfce4-volumed-pulse/default.nix
@@ -0,0 +1,15 @@
+{ lib, mkXfceDerivation, gtk2, libnotify ? null, libpulseaudio, keybinder, xfconf }:
+
+mkXfceDerivation rec {
+  category = "apps";
+  pname = "xfce4-volumed-pulse";
+  version = "0.2.2";
+
+  sha256 = "0ccb98b433lx5fgdqd3nqqppg4sldr5p1is6pnx85h9wyxx5svhp";
+
+  buildInputs = [ gtk2 libnotify libpulseaudio keybinder xfconf ];
+
+  meta = with lib; {
+    license = licenses.gpl3Plus;
+  };
+}
diff --git a/pkgs/desktops/xfce4-13/xfconf/default.nix b/pkgs/desktops/xfce4-13/xfconf/default.nix
new file mode 100644
index 00000000000..8280922d1c7
--- /dev/null
+++ b/pkgs/desktops/xfce4-13/xfconf/default.nix
@@ -0,0 +1,11 @@
+{ mkXfceDerivation, libxfce4util }:
+
+mkXfceDerivation rec {
+  category = "xfce";
+  pname = "xfconf";
+  version = "4.13.4";
+
+  sha256 = "1bm4q06rwlmkmcy6qnwm6l70w6749iqfrmsrgj3y1jb2sacc3pd4";
+
+  buildInputs = [ libxfce4util ];
+}
diff --git a/pkgs/desktops/xfce4-13/xfdesktop/default.nix b/pkgs/desktops/xfce4-13/xfdesktop/default.nix
new file mode 100644
index 00000000000..7ce32424b9b
--- /dev/null
+++ b/pkgs/desktops/xfce4-13/xfdesktop/default.nix
@@ -0,0 +1,22 @@
+{ mkXfceDerivation, exo, gtk3, libxfce4ui, libxfce4util, libwnck3, xfconf }:
+
+mkXfceDerivation rec {
+  category = "xfce";
+  pname = "xfdesktop";
+  version = "4.13.1";
+
+  sha256 = "0idc8j44apflvdasnvj7ld0fa8mxlwpndfqzbh97w54s8972gf6g";
+
+  buildInputs = [
+    exo
+    gtk3
+    libxfce4ui
+    libxfce4util
+    libwnck3
+    xfconf
+  ];
+
+  meta = {
+    description = "Xfce's desktop manager";
+  };
+}
diff --git a/pkgs/desktops/xfce4-13/xfwm4/default.nix b/pkgs/desktops/xfce4-13/xfwm4/default.nix
new file mode 100644
index 00000000000..d5de6817300
--- /dev/null
+++ b/pkgs/desktops/xfce4-13/xfwm4/default.nix
@@ -0,0 +1,27 @@
+{ mkXfceDerivation, exo, dbus_glib, epoxy ? null, gtk2, libICE, libSM
+, libstartup_notification ? null, libxfce4ui, libxfce4util, libwnck
+, libXpresent ? null, xfconf }:
+
+mkXfceDerivation rec {
+  category = "xfce";
+  pname = "xfwm4";
+  version = "4.13.0";
+
+  sha256 = "19ikyls4xawsbz07qdz60g5yl2jbvpb90sfy5zql7ghypd69cgn9";
+
+  nativeBuildInputs = [ exo ];
+
+  buildInputs = [
+    dbus_glib
+    epoxy
+    gtk2
+    libICE
+    libSM
+    libstartup_notification
+    libxfce4ui
+    libxfce4util
+    libwnck
+    libXpresent
+    xfconf
+  ];
+}
diff --git a/pkgs/development/arduino/platformio/chrootenv.nix b/pkgs/development/arduino/platformio/chrootenv.nix
index 69182c3aa0d..ae68e84ab1c 100644
--- a/pkgs/development/arduino/platformio/chrootenv.nix
+++ b/pkgs/development/arduino/platformio/chrootenv.nix
@@ -1,23 +1,41 @@
-{ stdenv, lib, buildFHSUserEnv
-}:
+{ lib, buildFHSUserEnv }:
+
 let
-  pio-pkgs = pkgs: (with pkgs;
-    [
-      python27Packages.python
-      python27Packages.setuptools
-      python27Packages.pip
-      python27Packages.bottle
-      python27Packages.platformio
+  pio-pkgs = pkgs:
+    let
+      python = pkgs.python.override {
+        packageOverrides = self: super: {
+
+          # https://github.com/platformio/platformio-core/issues/349
+          click = super.click.overridePythonAttrs (oldAttrs: rec {
+            version = "5.1";
+            src = oldAttrs.src.override {
+              inherit version;
+              sha256 = "678c98275431fad324275dec63791e4a17558b40e5a110e20a82866139a85a5a";
+            };
+          });
+
+          platformio = self.callPackage ./core.nix { };
+        };
+      };
+    in (with pkgs; [
       zlib
+      git
+    ]) ++ (with python.pkgs; [
+      python
+      setuptools
+      pip
+      bottle
+      platformio
     ]);
-in
-buildFHSUserEnv {
+
+in buildFHSUserEnv {
   name = "platformio";
 
   targetPkgs = pio-pkgs;
   multiPkgs = pio-pkgs;
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "An open source ecosystem for IoT development";
     homepage = http://platformio.org;
     maintainers = with maintainers; [ mog ];
diff --git a/pkgs/development/python-modules/platformio/default.nix b/pkgs/development/arduino/platformio/core.nix
index 01d47b45860..9d30c226855 100644
--- a/pkgs/development/python-modules/platformio/default.nix
+++ b/pkgs/development/arduino/platformio/core.nix
@@ -1,24 +1,21 @@
 { stdenv, buildPythonPackage, fetchPypi
-, bottle, click_5, colorama
+, bottle, click, colorama
 , lockfile, pyserial, requests
 , semantic-version
-, isPy3k, isPyPy
 , git
 }:
-buildPythonPackage rec {
-  disabled = isPy3k || isPyPy;
 
+buildPythonPackage rec {
   pname = "platformio";
-  version="3.5.1";
-  name = "${pname}-${version}";
+  version = "3.5.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0cc15mzh7p1iykip0jpxldz81yz946vrgvhwmfl8w3z5kgjjgx3n";
+    sha256 = "bb311ce5b8f12c95bc45c2071626a4887a3632fb2472b4d69a873b2acfc2e4ec";
   };
 
   propagatedBuildInputs =  [
-    bottle click_5 colorama git lockfile
+    bottle click colorama git lockfile
     pyserial requests semantic-version
   ];
 
diff --git a/pkgs/development/python-modules/platformio/fix-searchpath.patch b/pkgs/development/arduino/platformio/fix-searchpath.patch
index a215ffc7d61..a215ffc7d61 100644
--- a/pkgs/development/python-modules/platformio/fix-searchpath.patch
+++ b/pkgs/development/arduino/platformio/fix-searchpath.patch
diff --git a/pkgs/development/compilers/adobe-flex-sdk/default.nix b/pkgs/development/compilers/adobe-flex-sdk/default.nix
index ccb366ffe1c..63dd315e8e4 100644
--- a/pkgs/development/compilers/adobe-flex-sdk/default.nix
+++ b/pkgs/development/compilers/adobe-flex-sdk/default.nix
@@ -34,7 +34,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "Flex SDK for Adobe Flash / ActionScript";
-    homepage = "http://www.adobe.com/products/flex.html";
+    homepage = "https://www.adobe.com/products/flex.html";
     license = stdenv.lib.licenses.mpl11;
     platforms = stdenv.lib.platforms.unix;
   };
diff --git a/pkgs/development/compilers/arachne-pnr/default.nix b/pkgs/development/compilers/arachne-pnr/default.nix
index 97eb8e8b642..bf8511704f8 100644
--- a/pkgs/development/compilers/arachne-pnr/default.nix
+++ b/pkgs/development/compilers/arachne-pnr/default.nix
@@ -4,13 +4,13 @@ with builtins;
 
 stdenv.mkDerivation rec {
   name = "arachne-pnr-${version}";
-  version = "2018.02.14";
+  version = "2018.05.03";
 
   src = fetchFromGitHub {
     owner  = "cseed";
     repo   = "arachne-pnr";
-    rev    = "b54675413f9aac1d9a1fb0a8e9354bec2a2a8f3c";
-    sha256 = "06slsb239qk1r2g96n1g37yp8314cy7yi4g1yf86fr87fr11ml8l";
+    rev    = "ea2d04215bc0fd6072cda244caeb6670892033b3";
+    sha256 = "0qhf5djyh0pzmgv33rjnnqq6asmmwxjdadvr18a83iy9pll6gg5k";
   };
 
   enableParallelBuilding = true;
diff --git a/pkgs/development/compilers/arm-frc-linux-gnueabi-gcc/default.nix b/pkgs/development/compilers/arm-frc-linux-gnueabi-gcc/default.nix
deleted file mode 100755
index 6fa25df5e03..00000000000
--- a/pkgs/development/compilers/arm-frc-linux-gnueabi-gcc/default.nix
+++ /dev/null
@@ -1,98 +0,0 @@
-{stdenv, fetchurl
-, arm-frc-linux-gnueabi-binutils, arm-frc-linux-gnueabi-eglibc, arm-frc-linux-gnueabi-linux-api-headers
-, elfutils
-, libmpc, gmp, mpfr, zlib, isl_0_15, cloog}:
-
-stdenv.mkDerivation rec {
-  _target = "arm-frc-linux-gnueabi";
-
-  version = "4.9.4";
-  name = "${_target}-gcc-${version}";
-
-  src = fetchurl {
-    url = "ftp://gcc.gnu.org/pub/gcc/releases/gcc-${version}/gcc-${version}.tar.bz2";
-    sha256 = "6c11d292cd01b294f9f84c9a59c230d80e9e4a47e5c6355f046bb36d4f358092";
-  };
-
-  patches = [
-    ./minorSOname.patch
-    ./no-nested-deprecated-warnings.patch
-  ];
-
-  hardeningDisable = [ "format" ];
-
-  buildInputs = [
-    arm-frc-linux-gnueabi-binutils
-    arm-frc-linux-gnueabi-eglibc
-    arm-frc-linux-gnueabi-linux-api-headers
-    elfutils
-    libmpc
-    gmp
-    mpfr
-    zlib
-    isl_0_15
-    cloog
-  ];
-
-
-  configurePhase = ''
-    mkdir gcc-build
-    cd gcc-build
-    ../configure \
-      --prefix=$out \
-      --host=$CHOST \
-      --build=$CHOST \
-      --program-prefix=${_target}- \
-      --target=${_target} \
-      --enable-shared \
-      --disable-nls \
-      --enable-threads=posix \
-      --enable-languages=c,c++ \
-      --disable-multilib \
-      --disable-multiarch \
-      --with-sysroot=${arm-frc-linux-gnueabi-eglibc}/${_target} \
-      --with-build-sysroot=${arm-frc-linux-gnueabi-eglibc}/${_target} \
-      --with-as=${arm-frc-linux-gnueabi-binutils}/${_target}/bin/as \
-      --with-ld=${arm-frc-linux-gnueabi-binutils}/${_target}/bin/ld \
-      --with-cpu=cortex-a9 \
-      --with-float=softfp \
-      --with-fpu=vfp \
-      --with-specs='%{save-temps:-fverbose-asm} %{funwind-tables|fno-unwind-tables|mabi=*|ffreestanding|nostdlib:;:-funwind-tables}' \
-      --enable-lto \
-      --with-pkgversion='GCC-for-FRC' \
-      --with-cloog \
-      --enable-poison-system-directories \
-      --enable-plugin \
-      --with-system-zlib \
-      --disable-libmudflap \
-      --disable-libsanitizer
-  '';
-
-  makeFlags = [
-    "all-gcc"
-    "all-target-libgcc"
-    "all-target-libstdc++-v3"
-  ];
-
-  installPhase = ''
-    make install-gcc install-target-libgcc install-target-libstdc++-v3
-  '';
-
-  postInstall = ''
-    rm -rf $out/share/{man/man7,info}/ "$out/share/gcc-${version}/python"
-  '';
-
-  meta = with stdenv.lib; {
-    description = "FRC cross compiler";
-    longDescription = ''
-      arm-frc-linux-gnueabi-gcc is a cross compiler for building
-      code for FIRST Robotics Competition. Used as a cross compiler
-      for the NI RoboRio.
-    '';
-    license = licenses.gpl2;
-    maintainers = [ maintainers.colescott ];
-    platforms = platforms.linux;
-
-    priority = 4;
-  };
-}
diff --git a/pkgs/development/compilers/arm-frc-linux-gnueabi-gcc/minorSOname.patch b/pkgs/development/compilers/arm-frc-linux-gnueabi-gcc/minorSOname.patch
deleted file mode 100755
index d97d12bc629..00000000000
--- a/pkgs/development/compilers/arm-frc-linux-gnueabi-gcc/minorSOname.patch
+++ /dev/null
@@ -1,49 +0,0 @@
-Description: Make the default SONAME include minor numbers (c++)

- This patch adds .0.20 to the end of the SONAME for libstdc++ to support

- independent side-by-side usage of .17 and .20.

- .

- gcc-armel (4.9.1-0frc2) trusty; urgency=low

- .

-   * Fixing dependency ambiguity yet again...

-Author: Patrick Plenefisch <phplenefisch@wpi.edu>

-

----

-

---- gcc-armel-4.9.1.orig/libstdc++-v3/configure

-+++ gcc-armel-4.9.1/libstdc++-v3/configure

-@@ -10698,7 +10698,7 @@ gnu*)

-   need_lib_prefix=no

-   need_version=no

-   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'

--  soname_spec='${libname}${release}${shared_ext}$major'

-+  soname_spec='${libname}${release}${shared_ext}$versuffix'

-   shlibpath_var=LD_LIBRARY_PATH

-   hardcode_into_libs=yes

-   ;;

-@@ -10824,7 +10824,7 @@ linux* | k*bsd*-gnu | kopensolaris*-gnu)

-   need_lib_prefix=no

-   need_version=no

-   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'

--  soname_spec='${libname}${release}${shared_ext}$major'

-+  soname_spec='${libname}${release}${shared_ext}$versuffix'

-   finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'

-   shlibpath_var=LD_LIBRARY_PATH

-   shlibpath_overrides_runpath=no

-@@ -14382,7 +14382,7 @@ gnu*)

-   need_lib_prefix=no

-   need_version=no

-   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'

--  soname_spec='${libname}${release}${shared_ext}$major'

-+  soname_spec='${libname}${release}${shared_ext}$versuffix'

-   shlibpath_var=LD_LIBRARY_PATH

-   hardcode_into_libs=yes

-   ;;

-@@ -14508,7 +14508,7 @@ linux* | k*bsd*-gnu | kopensolaris*-gnu)

-   need_lib_prefix=no

-   need_version=no

-   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'

--  soname_spec='${libname}${release}${shared_ext}$major'

-+  soname_spec='${libname}${release}${shared_ext}$versuffix'

-   finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'

-   shlibpath_var=LD_LIBRARY_PATH

-   shlibpath_overrides_runpath=no

diff --git a/pkgs/development/compilers/arm-frc-linux-gnueabi-gcc/no-nested-deprecated-warnings.patch b/pkgs/development/compilers/arm-frc-linux-gnueabi-gcc/no-nested-deprecated-warnings.patch
deleted file mode 100755
index 050a63e92fd..00000000000
--- a/pkgs/development/compilers/arm-frc-linux-gnueabi-gcc/no-nested-deprecated-warnings.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-Description: Get rid of recursive deprecated warnings.

- As is, gcc gives warnings when a function with the

- deprecated attribute calls another function with

- the deprecated attribute.

- See http://stackoverflow.com/questions/13459602/how-can-i-get-rid-of-deprecated-warnings-in-deprecated-functions-in-gcc

-

-Author: James Kuszmaul <jbkuszmaul@wpi.edu>

-

---

-

---- gcc-armel-4.9.1.orig/gcc/tree.c

-+++ gcc-armel-4.9.1/gcc/tree.c

-@@ -12063,6 +12063,9 @@ warn_deprecated_use (tree node, tree attr)

-   if (node == 0 || !warn_deprecated_decl)

-     return;

-

-+  if (current_function_decl && TREE_DEPRECATED(current_function_decl))

-+    return;

-+

-   if (!attr)

-     {

-       if (DECL_P (node))

diff --git a/pkgs/development/compilers/as31/default.nix b/pkgs/development/compilers/as31/default.nix
index 93b251707e8..519992fd8c2 100644
--- a/pkgs/development/compilers/as31/default.nix
+++ b/pkgs/development/compilers/as31/default.nix
@@ -15,9 +15,8 @@ in stdenv.mkDerivation {
   buildInputs = [ yacc ];
 
   patches = [
-    # CVE-2012-0808
     (fetchpatch {
-       name = "as31-mkstemps.patch";
+       name = "CVE-2012-0808.patch";
        url = "https://bugs.debian.org/cgi-bin/bugreport.cgi?att=1;bug=655496;filename=as31-mkstemps.patch;msg=5";
        sha256 = "0iia4wa8m141bwz4588yxb1dp2qwhapcii382sncm6jvwyngwh21";
      })
diff --git a/pkgs/development/compilers/ats2/default.nix b/pkgs/development/compilers/ats2/default.nix
index 6c523ebb4f1..579af7a8d23 100644
--- a/pkgs/development/compilers/ats2/default.nix
+++ b/pkgs/development/compilers/ats2/default.nix
@@ -3,11 +3,11 @@
 , withContrib ? true }:
 
 let
-  versionPkg = "0.3.7" ;
+  versionPkg = "0.3.9" ;
 
   contrib = fetchurl {
     url = "mirror://sourceforge/ats2-lang/ATS2-Postiats-contrib-${versionPkg}.tgz" ;
-    sha256 = "1w59ir9ij5bvvnxj6fb1rvzycfqa57i31wmpwawxbsb10bqwzyr6";
+    sha256 = "627bb99ecf2e3d5976f95f2faa13c7c330726601e8bb05a2113c9b69c98749b5";
   };
 
   postInstallContrib = stdenv.lib.optionalString withContrib
@@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://sourceforge/ats2-lang/ATS2-Postiats-${version}.tgz";
-    sha256 = "19nxyi39fn42sp38kl14a6pvbxq9wr8y405wx0zz7mqb77r0m0h5";
+    sha256 = "c69a7c58964df26227e77656659129ca4c05205d2ebcacc7084edba818fb6e81";
   };
 
   buildInputs = [ gmp ];
diff --git a/pkgs/development/compilers/avian/default.nix b/pkgs/development/compilers/avian/default.nix
index 3d58e75200c..4dc384f70a3 100644
--- a/pkgs/development/compilers/avian/default.nix
+++ b/pkgs/development/compilers/avian/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, zlib, jdk }:
+{ stdenv, fetchFromGitHub, zlib, jdk, CoreServices, Foundation }:
 
 stdenv.mkDerivation rec {
   name = "avian-${version}";
@@ -11,10 +11,16 @@ stdenv.mkDerivation rec {
     sha256 = "1j2y45cpqk3x6a743mgpg7z3ivwm7qc9jy6xirvay7ah1qyxmm48";
   };
 
-  buildInputs = [
-    zlib
-    jdk
-  ];
+  buildInputs = [ zlib jdk ]
+    ++ stdenv.lib.optionals stdenv.isDarwin [ CoreServices Foundation ];
+
+  NIX_CFLAGS_COMPILE = stdenv.lib.optionalString stdenv.cc.isClang "-Wno-error";
+
+  postPatch = ''
+    substituteInPlace makefile \
+        --replace 'g++' 'c++' \
+        --replace 'gcc' 'cc'
+  '';
 
   installPhase = ''
     mkdir -p $out/bin
diff --git a/pkgs/development/compilers/binaryen/default.nix b/pkgs/development/compilers/binaryen/default.nix
index 3f9ee17ca27..fc75fe92c73 100644
--- a/pkgs/development/compilers/binaryen/default.nix
+++ b/pkgs/development/compilers/binaryen/default.nix
@@ -1,14 +1,31 @@
-{ stdenv, cmake, fetchFromGitHub }:
+{ stdenv, cmake, fetchFromGitHub, emscriptenRev ? null }:
+
+let
+  defaultVersion = "45";
+
+  # Map from git revs to SHA256 hashes
+  sha256s = {
+    "version_45" = "1wgzfzjjzkiaz0rf2lnwrcvlcsjvjhyvbyh58jxhqq43vi34zyjc";
+    "1.37.36" = "1wgzfzjjzkiaz0rf2lnwrcvlcsjvjhyvbyh58jxhqq43vi34zyjc";
+  };
+in
 
 stdenv.mkDerivation rec {
-  version = "42";
-  rev = "version_${version}";
+  version = if emscriptenRev == null
+            then defaultVersion
+            else "emscripten-${emscriptenRev}";
+  rev = if emscriptenRev == null
+        then "version_${version}"
+        else emscriptenRev;
   name = "binaryen-${version}";
 
   src = fetchFromGitHub {
     owner = "WebAssembly";
     repo = "binaryen";
-    sha256 = "0b8qc9cd7ncshgfjwv4hfapmwa81gmniaycnxmdkihq9bpm26x2k";
+    sha256 =
+      if builtins.hasAttr rev sha256s
+      then builtins.getAttr rev sha256s
+      else null;
     inherit rev;
   };
 
diff --git a/pkgs/development/compilers/ccl/default.nix b/pkgs/development/compilers/ccl/default.nix
index 087f7470021..f3a4ff74aa0 100644
--- a/pkgs/development/compilers/ccl/default.nix
+++ b/pkgs/development/compilers/ccl/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, gcc, glibc, m4, coreutils }:
+{ stdenv, fetchurl, bootstrap_cmds, coreutils, glibc, m4 }:
 
 let
   options = rec {
@@ -27,19 +27,11 @@ let
       runtime = "dx86cl64";
       kernel = "darwinx8664";
     };
-    i686-darwin = {
-      arch = "darwinx86";
-      sha256 = x86_64-darwin.sha256;
-      runtime = "dx86cl";
-      kernel = "darwinx8632";
-    };
     armv6l-linux = armv7l-linux;
   };
-  cfg = options.${stdenv.system};
+  cfg = options."${stdenv.system}" or (throw "missing source url for platform ${stdenv.system}");
 in
 
-assert builtins.hasAttr stdenv.system options;
-
 stdenv.mkDerivation rec {
   name     = "ccl-${version}";
   version  = "1.11.5";
@@ -49,7 +41,7 @@ stdenv.mkDerivation rec {
     sha256 = cfg.sha256;
   };
 
-  buildInputs = if stdenv.isDarwin then [ m4 ] else [ gcc glibc m4 ];
+  buildInputs = if stdenv.isDarwin then [ bootstrap_cmds m4 ] else [ glibc m4 ];
 
   CCL_RUNTIME = cfg.runtime;
   CCL_KERNEL = cfg.kernel;
@@ -58,7 +50,6 @@ stdenv.mkDerivation rec {
     substituteInPlace lisp-kernel/${CCL_KERNEL}/Makefile \
       --replace "M4 = gm4"   "M4 = m4" \
       --replace "dtrace"     "/usr/sbin/dtrace" \
-      --replace "mig"        "/usr/bin/mig" \
       --replace "/bin/rm"    "${coreutils}/bin/rm" \
       --replace "/bin/echo"  "${coreutils}/bin/echo"
 
diff --git a/pkgs/development/compilers/closure/default.nix b/pkgs/development/compilers/closure/default.nix
index 8d1b06f52b7..0dfa10f28a1 100644
--- a/pkgs/development/compilers/closure/default.nix
+++ b/pkgs/development/compilers/closure/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "closure-compiler-${version}";
-  version = "20170910";
+  version = "20180506";
 
   src = fetchurl {
     url = "https://dl.google.com/closure-compiler/compiler-${version}.tar.gz";
-    sha256 = "0znzsks8ql9qajhcjzfkhmnpz8zs6b8cji04fhivyq973jpxxrak";
+    sha256 = "10w9vs61fs14k8g3wlng0ifj0knfm0xfc4rsnd2c75464hkdxvr9";
   };
 
   sourceRoot = ".";
diff --git a/pkgs/development/compilers/coreclr/default.nix b/pkgs/development/compilers/coreclr/default.nix
index 0681e8210a6..3861501d399 100644
--- a/pkgs/development/compilers/coreclr/default.nix
+++ b/pkgs/development/compilers/coreclr/default.nix
@@ -19,13 +19,13 @@
 
 stdenv.mkDerivation rec {
   name = "coreclr-${version}";
-  version = "2.0.0";
+  version = "2.0.7";
 
   src = fetchFromGitHub {
     owner  = "dotnet";
     repo   = "coreclr";
     rev    = "v${version}";
-    sha256 = "16z58ix8kmk8csfy5qsqz8z30czhrap2vb8s8vdflmbcfnq31jcw";
+    sha256 = "0pzkrfgqywhpijbx7j1v4lxa6270h6whymb64jdkp7yj56ipqh2n";
   };
 
   patches = [
@@ -34,12 +34,20 @@ stdenv.mkDerivation rec {
       url = https://github.com/dotnet/coreclr/commit/a8f83b615708c529b112898e7d2fbc3f618b26ee.patch;
       sha256 = "047ph5gip4z2h7liwdxsmpnlaq0sd3hliaw4nyqjp647m80g3ffq";
     })
+    (fetchpatch {
+      # clang 5
+      url = https://github.com/dotnet/coreclr/commit/9b22e1a767dee38f351001c5601f56d78766a43e.patch;
+      sha256 = "1w1lxw5ryvhq8m5m0kv880c4bh6y9xdgypkr76sqbh3v568yghzg";
+    })
   ];
 
-  buildInputs = [
+  nativeBuildInputs = [
     which
     cmake
     clang
+  ];
+
+  buildInputs = [
     llvmPackages.llvm
     llvmPackages.lldb
     libunwind
@@ -68,7 +76,8 @@ stdenv.mkDerivation rec {
 
   buildPhase = ''
     runHook preBuild
-    ./build.sh $BuildArch $BuildType
+    # disable -Werror which can potentially breaks with every compiler upgrade
+    ./build.sh $BuildArch $BuildType cmakeargs "-DCLR_CMAKE_WARNINGS_ARE_ERRORS=OFF"
     runHook postBuild
   '';
 
diff --git a/pkgs/development/compilers/dtc/default.nix b/pkgs/development/compilers/dtc/default.nix
index fd02f779b3c..b342bd94585 100644
--- a/pkgs/development/compilers/dtc/default.nix
+++ b/pkgs/development/compilers/dtc/default.nix
@@ -5,7 +5,7 @@ stdenv.mkDerivation rec {
   version = "1.4.5";
 
   src = fetchgit {
-    url = "git://git.kernel.org/pub/scm/utils/dtc/dtc.git";
+    url = "https://git.kernel.org/pub/scm/utils/dtc/dtc.git";
     rev = "refs/tags/v${version}";
     sha256 = "10y5pbkcj5gkijcgnlvrh6q2prpnvsgihb9asz3zfp66mcjwzsy3";
   };
diff --git a/pkgs/development/compilers/ecl/16.1.2.nix b/pkgs/development/compilers/ecl/16.1.2.nix
index 30fee77321f..291b0ed013d 100644
--- a/pkgs/development/compilers/ecl/16.1.2.nix
+++ b/pkgs/development/compilers/ecl/16.1.2.nix
@@ -1,10 +1,14 @@
-{stdenv, fetchurl
+{ stdenv, fetchurl, fetchpatch
 , libtool, autoconf, automake
 , gmp, mpfr, libffi, makeWrapper
 , noUnicode ? false
 , gcc
-, threadSupport ? true
+, threadSupport ? false
+, useBoehmgc ? true, boehmgc
 }:
+
+assert useBoehmgc -> boehmgc != null;
+
 let
   s = # Generated upstream information
   rec {
@@ -19,6 +23,9 @@ let
   ];
   propagatedBuildInputs = [
     libffi gmp mpfr gcc
+  ] ++ stdenv.lib.optionals useBoehmgc [
+    # replaces ecl's own gc which other packages can depend on, thus propagated
+    boehmgc
   ];
 in
 stdenv.mkDerivation {
@@ -39,6 +46,15 @@ stdenv.mkDerivation {
       "--enable-unicode")
     ;
 
+  patches = [
+    (fetchpatch {
+      # Avoid infinite loop, see https://gitlab.com/embeddable-common-lisp/ecl/issues/43 (fixed upstream)
+      name = "avoid-infinite-loop.patch";
+      url = "https://gitlab.com/embeddable-common-lisp/ecl/commit/caba1989f40ef917e7486f41b9cd5c7e3c5c2d79.patch";
+      sha256 = "07vw91psbc9gdn8grql46ra8lq3bgkzg5v480chnbryna4sv6lbb";
+    })
+  ];
+
   hardeningDisable = [ "format" ];
 
   postInstall = ''
diff --git a/pkgs/development/compilers/ecl/default.nix b/pkgs/development/compilers/ecl/default.nix
index e506e3aace1..33ed690772e 100644
--- a/pkgs/development/compilers/ecl/default.nix
+++ b/pkgs/development/compilers/ecl/default.nix
@@ -4,6 +4,7 @@
 , noUnicode ? false
 , gcc
 , threadSupport ? true
+, useBoehmgc ? false, boehmgc
 }:
 let
   s = # Generated upstream information
@@ -20,6 +21,10 @@ let
   ];
   propagatedBuildInputs = [
     libffi gmp mpfr gcc
+    # replaces ecl's own gc which other packages can depend on, thus propagated
+  ] ++ stdenv.lib.optionals useBoehmgc [
+    # replaces ecl's own gc which other packages can depend on, thus propagated
+    boehmgc
   ];
 in
 stdenv.mkDerivation {
@@ -53,6 +58,7 @@ stdenv.mkDerivation {
   meta = {
     inherit (s) version;
     description = "Lisp implementation aiming to be small, fast and easy to embed";
+    homepage = https://common-lisp.net/project/ecl/;
     license = stdenv.lib.licenses.mit ;
     maintainers = [stdenv.lib.maintainers.raskin];
     platforms = stdenv.lib.platforms.linux;
diff --git a/pkgs/development/compilers/edk2/default.nix b/pkgs/development/compilers/edk2/default.nix
index 4b87beb0879..1dc4430dc6a 100644
--- a/pkgs/development/compilers/edk2/default.nix
+++ b/pkgs/development/compilers/edk2/default.nix
@@ -7,6 +7,8 @@ targetArch = if stdenv.isi686 then
   "IA32"
 else if stdenv.isx86_64 then
   "X64"
+else if stdenv.isAarch64 then
+  "AARCH64"
 else
   throw "Unsupported architecture";
 
@@ -48,7 +50,7 @@ edk2 = stdenv.mkDerivation {
     homepage = https://sourceforge.net/projects/edk2/;
     license = stdenv.lib.licenses.bsd2;
     branch = "UDK2017";
-    platforms = ["x86_64-linux" "i686-linux"];
+    platforms = ["x86_64-linux" "i686-linux" "aarch64-linux"];
   };
 
   passthru = {
@@ -58,13 +60,20 @@ edk2 = stdenv.mkDerivation {
 
       configurePhase = ''
         mkdir -v Conf
-        sed -e 's|Nt32Pkg/Nt32Pkg.dsc|${projectDscPath}|' -e \
-          's|MYTOOLS|GCC49|' -e 's|IA32|${targetArch}|' -e 's|DEBUG|RELEASE|'\
-          < ${edk2}/BaseTools/Conf/target.template > Conf/target.txt
-        sed -e 's|DEFINE GCC48_IA32_PREFIX       = /usr/bin/|DEFINE GCC48_IA32_PREFIX       = ""|' \
+
+        cp ${edk2}/BaseTools/Conf/target.template Conf/target.txt
+        sed -i Conf/target.txt \
+          -e 's|Nt32Pkg/Nt32Pkg.dsc|${projectDscPath}|' \
+          -e 's|MYTOOLS|GCC49|' \
+          -e 's|IA32|${targetArch}|' \
+          -e 's|DEBUG|RELEASE|'\
+
+        cp ${edk2}/BaseTools/Conf/tools_def.template Conf/tools_def.txt
+        sed -i Conf/tools_def.txt \
+          -e 's|DEFINE GCC48_IA32_PREFIX       = /usr/bin/|DEFINE GCC48_IA32_PREFIX       = ""|' \
           -e 's|DEFINE GCC48_X64_PREFIX        = /usr/bin/|DEFINE GCC48_X64_PREFIX        = ""|' \
-          -e 's|DEFINE UNIX_IASL_BIN           = /usr/bin/iasl|DEFINE UNIX_IASL_BIN           = ${iasl}/bin/iasl|' \
-          < ${edk2}/BaseTools/Conf/tools_def.template > Conf/tools_def.txt
+          -e 's|DEFINE UNIX_IASL_BIN           = /usr/bin/iasl|DEFINE UNIX_IASL_BIN           = ${iasl}/bin/iasl|'
+
         export WORKSPACE="$PWD"
         export EFI_SOURCE="$PWD/EdkCompatibilityPkg"
         ln -sv ${edk2}/BaseTools BaseTools
diff --git a/pkgs/development/compilers/eli/default.nix b/pkgs/development/compilers/eli/default.nix
new file mode 100644
index 00000000000..93e53aa30d1
--- /dev/null
+++ b/pkgs/development/compilers/eli/default.nix
@@ -0,0 +1,91 @@
+{ stdenv
+, fetchurl
+, symlinkJoin
+, makeWrapper
+, tcl
+, fontconfig
+, tk
+, ncurses
+, xorg
+, file
+}:
+
+let
+  # eli derives the location of the include folder from the location of the lib folder
+  tk_combined = symlinkJoin {
+    name = "tk_combined";
+    paths = [
+      tk
+      tk.dev
+    ];
+  };
+  curses_combined = symlinkJoin {
+    name = "curses_combined";
+    paths = [
+      ncurses
+      ncurses.dev
+    ];
+  };
+in
+stdenv.mkDerivation rec {
+  name = "eli";
+  version = "4.8.1";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/project/eli-project/Eli/Eli%20${version}/eli-${version}.tar.bz2";
+    sha256="1vran8583hbwrr5dciji4zkhz3f88w4mn8n9sdpr6zw0plpf1whj";
+  };
+
+  buildInputs = [
+    ncurses
+    fontconfig
+  ] ++ (with xorg; [
+    libX11.dev
+    libXt.dev
+    libXaw.dev
+    libXext.dev
+  ]);
+
+  nativeBuildInputs = [
+    file
+    makeWrapper
+  ];
+
+  # skip interactive browser check
+  buildFlags = "nobrowsers";
+
+
+  preConfigure=''
+    configureFlagsArray=(
+      --with-tcltk="${tcl} ${tk_combined}"
+      --with-curses="${curses_combined}"
+    )
+    export ODIN_LOCALIPC=1
+  '';
+
+  postInstall = ''
+    wrapProgram "$out/bin/eli" \
+      --set ODIN_LOCALIPC 1
+  '';
+
+  # Test if eli starts
+  doInstallCheck = true;
+  installCheckPhase = ''
+    export HOME="$TMP/home"
+    mkdir -p "$HOME"
+    $out/bin/eli "!ls"
+  '';
+
+  meta = {
+    description = "Translator Construction Made Easy";
+    longDescription = ''
+      Eli is a programming environment that supports all phases of translator
+      construction with extensive libraries implementing common tasks, yet handling
+      arbitrary special cases. Output is the C subset of C++.
+    '';
+    homepage = http://eli-project.sourceforge.net/;
+    license = stdenv.lib.licenses.gpl2;
+    maintainers = with stdenv.lib.maintainers; [ timokau ];
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/development/compilers/elm/default.nix b/pkgs/development/compilers/elm/default.nix
index 4520363a53b..8ed34cf9d1e 100644
--- a/pkgs/development/compilers/elm/default.nix
+++ b/pkgs/development/compilers/elm/default.nix
@@ -74,23 +74,26 @@ let
             elm-format = self.callPackage ./packages/elm-format.nix { };
             elm-interface-to-json = self.callPackage ./packages/elm-interface-to-json.nix {
               aeson-pretty = self.aeson-pretty_0_7_2;
+              either = hlib.overrideCabal self.either (drv :{
+                jailbreak = true;
+                version = "4.4.1.1";
+                sha256 = "1lrlwqqnm6ibfcydlv5qvvssw7bm0c6yypy0rayjzv1znq7wp1xh";
+                libraryHaskellDepends = drv.libraryHaskellDepends or [] ++ [
+                  self.exceptions self.free self.mmorph self.monad-control
+                  self.MonadRandom self.profunctors self.transformers
+                  self.transformers-base
+                ];
+              });
             };
           };
       in elmPkgs // {
         inherit elmPkgs;
         elmVersion = elmRelease.version;
-        # needed for elm-package
-        http-client = hlib.overrideCabal super.http-client (drv: {
-          version = "0.4.31.2";
-          sha256 = "12yq2l6bvmxg5w6cw5ravdh39g8smwn1j44mv36pfmkhm5402h8n";
-        });
-        http-client-tls = hlib.overrideCabal super.http-client-tls (drv: {
-          version = "0.2.4.1";
-          sha256 = "18wbca7jg15p0ds3339f435nqv2ng0fqc4bylicjzlsww625ij4d";
-        });
         # https://github.com/elm-lang/elm-compiler/issues/1566
         indents = hlib.overrideCabal super.indents (drv: {
           version = "0.3.3";
+          #test dep tasty has a version mismatch
+          doCheck = false;
           sha256 = "16lz21bp9j14xilnq8yym22p3saxvc9fsgfcf5awn2a6i6n527xn";
           libraryHaskellDepends = drv.libraryHaskellDepends ++ [super.concatenative];
         });
diff --git a/pkgs/development/compilers/elm/packages/elm-package.nix b/pkgs/development/compilers/elm/packages/elm-package.nix
index 4a60b3dfb38..49eddb58a14 100644
--- a/pkgs/development/compilers/elm/packages/elm-package.nix
+++ b/pkgs/development/compilers/elm/packages/elm-package.nix
@@ -1,6 +1,6 @@
 { mkDerivation, aeson, aeson-pretty_0_7_2, ansi-wl-pprint, base, binary
 , bytestring, containers, directory, edit-distance, elm-compiler
-, fetchgit, filepath, HTTP, http-client, http-client-tls
+, fetchgit, fetchurl, filepath, HTTP, http-client, http-client-tls
 , http-types, mtl, network, optparse-applicative, parallel-io
 , pretty, stdenv, text, time, unordered-containers, vector
 , zip-archive
@@ -13,6 +13,10 @@ mkDerivation {
     sha256 = "19krnkjvfk02gmmic5h5i1i0lw7s30927bnd5g57cj8nqbigysv7";
     rev = "8bd150314bacab5b6fc451927aa01deec2276fbf";
   };
+  patches = fetchurl {
+    url = https://github.com/jerith666/elm-package/commit/40bab60c2fbff70812cc24cdd97f5e09db3844ad.patch;
+    sha256 = "0j6pi6cv3h9s6vz68bh0c73fysvk83yhhk56kgshvnrmnpcb3jib";
+  };
   isLibrary = true;
   isExecutable = true;
   libraryHaskellDepends = [
diff --git a/pkgs/development/compilers/emscripten/default.nix b/pkgs/development/compilers/emscripten/default.nix
index ae80ad6fc80..8e268aa7eb7 100644
--- a/pkgs/development/compilers/emscripten/default.nix
+++ b/pkgs/development/compilers/emscripten/default.nix
@@ -1,10 +1,11 @@
-{ stdenv, fetchFromGitHub, emscriptenfastcomp, python, nodejs, closurecompiler
-, jre, binaryen, enableWasm ? true
+{ emscriptenVersion, stdenv, fetchFromGitHub, emscriptenfastcomp, python, nodejs, closurecompiler, pkgs
+, jre, binaryen, enableWasm ? true ,  python2Packages, cmake
 }:
 
 let
-  rev = "1.37.16";
+  rev = emscriptenVersion;
   appdir = "share/emscripten";
+  binaryenVersioned = binaryen.override { emscriptenRev = rev; };
 in
 
 stdenv.mkDerivation {
@@ -13,10 +14,12 @@ stdenv.mkDerivation {
   src = fetchFromGitHub {
     owner = "kripken";
     repo = "emscripten";
-    sha256 = "1qyhjx5zza01vnwmj6qzxbkagxknn4kzb6gw12fqw5q8pa8fy4zy";
+    sha256 = "02p0cp86vd1mydlpq544xbydggpnrq9dhbxx7h08j235frjm5cdc";
     inherit rev;
   };
 
+  buildInputs = [ nodejs cmake python ];
+
   buildCommand = ''
     mkdir -p $out/${appdir}
     cp -r $src/* $out/${appdir}
@@ -38,9 +41,23 @@ stdenv.mkDerivation {
     echo "COMPILER_ENGINE = NODE_JS" >> $out/${appdir}/config
     echo "CLOSURE_COMPILER = '${closurecompiler}/share/java/closure-compiler-v${closurecompiler.version}.jar'" >> $out/${appdir}/config
     echo "JAVA = '${jre}/bin/java'" >> $out/${appdir}/config
+    # to make the test(s) below work
+    echo "SPIDERMONKEY_ENGINE = []" >> $out/${appdir}/config
   ''
   + stdenv.lib.optionalString enableWasm ''
-    echo "BINARYEN_ROOT = '${binaryen}'" >> $out/share/emscripten/config
+    echo "BINARYEN_ROOT = '${binaryenVersioned}'" >> $out/share/emscripten/config
+  ''
+  +
+  ''
+    echo "--------------- running test -----------------"
+    # quick hack to get the test working
+    HOME=$TMPDIR
+    cp $out/${appdir}/config $HOME/.emscripten
+    export PATH=$PATH:$out/bin
+
+    #export EMCC_DEBUG=2  
+    ${python}/bin/python $src/tests/runner.py test_hello_world
+    echo "--------------- /running test -----------------"
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/compilers/emscripten-fastcomp/default.nix b/pkgs/development/compilers/emscripten/fastcomp/default.nix
index 490dace2faa..10c1107da02 100644
--- a/pkgs/development/compilers/emscripten-fastcomp/default.nix
+++ b/pkgs/development/compilers/emscripten/fastcomp/default.nix
@@ -1,4 +1,4 @@
-{ newScope, stdenv, binutils-raw, wrapCCWith, symlinkJoin }:
+{ newScope, stdenv, binutils, wrapCCWith, symlinkJoin }:
 let
   callPackage = newScope (self // {inherit stdenv;});
 
@@ -7,7 +7,7 @@ let
     emscriptenfastcomp-wrapped = wrapCCWith {
       cc = self.emscriptenfastcomp-unwrapped;
       # Never want Apple's cctools for WASM target
-      bintools = binutils-raw;
+      bintools = binutils;
       libc = stdenv.cc.libc;
       extraBuildCommands = ''
         # hardening flags break WASM support
diff --git a/pkgs/development/compilers/emscripten-fastcomp/emscripten-fastcomp.nix b/pkgs/development/compilers/emscripten/fastcomp/emscripten-fastcomp.nix
index f35ca26584f..5317cf25d41 100644
--- a/pkgs/development/compilers/emscripten-fastcomp/emscripten-fastcomp.nix
+++ b/pkgs/development/compilers/emscripten/fastcomp/emscripten-fastcomp.nix
@@ -1,7 +1,7 @@
-{ stdenv, fetchFromGitHub, cmake, python, ... }:
+{ emscriptenVersion, stdenv, llvm, fetchFromGitHub, cmake, python, gtest, ... }:
 
 let
-  rev = "1.37.16";
+  rev = emscriptenVersion;
   gcc = if stdenv.cc.isGNU then stdenv.cc.cc else stdenv.cc.cc.gcc;
 in
 stdenv.mkDerivation rec {
@@ -10,18 +10,18 @@ stdenv.mkDerivation rec {
   src = fetchFromGitHub {
     owner = "kripken";
     repo = "emscripten-fastcomp";
-    sha256 = "0wj9sc0gciaiidcjv6wb0qn6ks06xds7q34351masc7qpvd217by";
+    sha256 = "04j698gmp686b5lricjakm5hyh2z2kh28m1ffkghmkyz4zkzmx98";
     inherit rev;
   };
 
   srcFL = fetchFromGitHub {
     owner = "kripken";
     repo = "emscripten-fastcomp-clang";
-    sha256 = "1akdgxzxhzjbhp4d14ajcrp9jrf39x004a726ly2gynqc185l4j7";
+    sha256 = "1ici51mmpgg80xk3y8f376nbbfak6rz27qdy98l8lxkrymklp5g5";
     inherit rev;
   };
 
-  nativeBuildInputs = [ cmake python ];
+  nativeBuildInputs = [ cmake python gtest ];
   preConfigure = ''
     cp -Lr ${srcFL} tools/clang
     chmod +w -R tools/clang
@@ -30,9 +30,10 @@ stdenv.mkDerivation rec {
     "-DCMAKE_BUILD_TYPE=Release"
     "-DLLVM_TARGETS_TO_BUILD='X86;JSBackend'"
     "-DLLVM_INCLUDE_EXAMPLES=OFF"
-    "-DLLVM_INCLUDE_TESTS=OFF"
-    # "-DCLANG_INCLUDE_EXAMPLES=OFF"
-    "-DCLANG_INCLUDE_TESTS=OFF"
+    "-DLLVM_INCLUDE_TESTS=ON"
+    #"-DLLVM_CONFIG=${llvm}/bin/llvm-config"
+    "-DLLVM_BUILD_TESTS=ON"
+    "-DCLANG_INCLUDE_TESTS=ON"
   ] ++ (stdenv.lib.optional stdenv.isLinux
     # necessary for clang to find crtend.o
     "-DGCC_INSTALL_PREFIX=${gcc}"
diff --git a/pkgs/development/compilers/fpc/lazarus.nix b/pkgs/development/compilers/fpc/lazarus.nix
index e646debd9d7..0793a9d7ed0 100644
--- a/pkgs/development/compilers/fpc/lazarus.nix
+++ b/pkgs/development/compilers/fpc/lazarus.nix
@@ -8,10 +8,10 @@ stdenv, fetchurl
 let
   s =
   rec {
-    version = "1.8.0";
+    version = "1.8.2";
     versionSuffix = "";
     url = "mirror://sourceforge/lazarus/Lazarus%20Zip%20_%20GZip/Lazarus%20${version}/lazarus-${version}${versionSuffix}.tar.gz";
-    sha256 = "0i58ngrr1vjyazirfmz0cgikglc02z1m0gcrsfw9awpi3ax8h21j";
+    sha256 = "06ajdnyba3v3d37mjq1yim96hsmbx1w5n695m5zlhjbydgw62a15";
     name = "lazarus-${version}";
   };
   buildInputs = [
diff --git a/pkgs/development/compilers/gambit/bootstrap.nix b/pkgs/development/compilers/gambit/bootstrap.nix
index 7376aec2750..05e804a1f74 100644
--- a/pkgs/development/compilers/gambit/bootstrap.nix
+++ b/pkgs/development/compilers/gambit/bootstrap.nix
@@ -35,7 +35,7 @@ stdenv.mkDerivation rec {
     description = "Optimizing Scheme to C compiler, bootstrap step";
     homepage    = "http://gambitscheme.org";
     license     = stdenv.lib.licenses.lgpl2;
-    platforms   = stdenv.lib.platforms.linux;
+    platforms   = stdenv.lib.platforms.unix;
     maintainers = with stdenv.lib.maintainers; [ thoughtpolice raskin fare ];
   };
 }
diff --git a/pkgs/development/compilers/gambit/build.nix b/pkgs/development/compilers/gambit/build.nix
new file mode 100644
index 00000000000..202e5525422
--- /dev/null
+++ b/pkgs/development/compilers/gambit/build.nix
@@ -0,0 +1,70 @@
+{ stdenv, git, openssl, autoconf, pkgs, makeStaticLibraries, version, git-version, SRC }:
+
+stdenv.mkDerivation rec {
+  name    = "gambit-${version}";
+  src     = SRC;
+
+  bootstrap = import ./bootstrap.nix ( pkgs );
+
+  # Use makeStaticLibraries to enable creation of statically linked binaries
+  buildInputs = [ git autoconf bootstrap openssl (makeStaticLibraries openssl)];
+
+  configurePhase = ''
+    options=(
+      --prefix=$out
+      --enable-single-host
+      --enable-c-opt=-O2
+      --enable-gcc-opts
+      --enable-shared
+      --enable-absolute-shared-libs # Yes, NixOS will want an absolute path, and fix it.
+      --enable-poll
+      --enable-openssl
+      --enable-default-runtime-options="f8,-8,t8" # Default to UTF-8 for source and all I/O
+      #--enable-debug # Nope: enables plenty of good stuff, but also the costly console.log
+
+      #--enable-multiple-versions # Nope, NixOS already does version multiplexing
+      #--enable-guide
+      #--enable-track-scheme
+      #--enable-high-res-timing
+      #--enable-max-processors=4
+      #--enable-multiple-vms
+      #--enable-dynamic-tls
+      #--enable-multiple-vms
+      #--enable-multiple-threaded-vms  ## when SMP branch is merged in
+      #--enable-thread-system=posix    ## default when --enable-multiple-vms is on.
+      #--enable-profile
+      #--enable-coverage
+      #--enable-inline-jumps
+      #--enable-char-size=1" ; default is 4
+    )
+    ./configure ''${options[@]}
+  '';
+
+  buildPhase = ''
+    # Make bootstrap compiler, from release bootstrap
+    mkdir -p boot &&
+    cp -rp ${bootstrap}/. boot/. &&
+    chmod -R u+w boot &&
+    cd boot &&
+    cp ../gsc/makefile.in ../gsc/*.scm gsc && # */
+    ./configure &&
+    for i in lib gsi gsc ; do (cd $i ; make ) ; done &&
+    cd .. &&
+    cp boot/gsc/gsc gsc-boot &&
+
+    # Now use the bootstrap compiler to build the real thing!
+    make -j2 from-scratch
+  '';
+
+  doCheck = true;
+
+  meta = {
+    description = "Optimizing Scheme to C compiler";
+    homepage    = "http://gambitscheme.org";
+    license     = stdenv.lib.licenses.lgpl2;
+    # NB regarding platforms: only actually tested on Linux, *should* work everywhere,
+    # but *might* need adaptation e.g. on macOS.
+    platforms   = stdenv.lib.platforms.unix;
+    maintainers = with stdenv.lib.maintainers; [ thoughtpolice raskin fare ];
+  };
+}
diff --git a/pkgs/development/compilers/gambit/default.nix b/pkgs/development/compilers/gambit/default.nix
index 95e8dba762a..0996d0c3078 100644
--- a/pkgs/development/compilers/gambit/default.nix
+++ b/pkgs/development/compilers/gambit/default.nix
@@ -1,75 +1,13 @@
-{ stdenv, fetchurl, fetchgit, git, openssl, autoconf, pkgs, makeStaticLibraries }:
+{ callPackage, fetchgit }:
 
-# TODO: distinct packages for gambit-release and gambit-devel
-
-stdenv.mkDerivation rec {
-  name    = "gambit-${version}";
+callPackage ./build.nix {
   version = "4.8.9";
-  bootstrap = import ./bootstrap.nix ( pkgs );
+  # TODO: for next version, prefer the unpatched tarball for the stable/default gambit.
+  git-version = "4.8.9-8-g793679bd";
 
-  src = fetchgit {
+  SRC = fetchgit {
     url = "https://github.com/feeley/gambit.git";
     rev = "dd54a71dfc0bd09813592f1645d755867a02195d";
     sha256 = "120kg73k39gshrwas8a3xcrxgnq1c7ww92wgy4d3mmrwy3j9nzzc";
   };
-
-  # Use makeStaticLibraries to enable creation of statically linked binaries
-  buildInputs = [ git autoconf bootstrap openssl (makeStaticLibraries openssl)];
-
-  configurePhase = ''
-    options=(
-      --prefix=$out
-      --enable-single-host
-      --enable-c-opt=-O2
-      --enable-gcc-opts
-      --enable-shared
-      --enable-absolute-shared-libs # Yes, NixOS will want an absolute path, and fix it.
-      --enable-poll
-      --enable-openssl
-      --enable-default-runtime-options="f8,-8,t8" # Default to UTF-8 for source and all I/O
-      #--enable-debug # Nope: enables plenty of good stuff, but also the costly console.log
-
-      #--enable-multiple-versions # Nope, NixOS already does version multiplexing
-      #--enable-guide
-      #--enable-track-scheme
-      #--enable-high-res-timing
-      #--enable-max-processors=4
-      #--enable-multiple-vms
-      #--enable-dynamic-tls
-      #--enable-multiple-vms
-      #--enable-multiple-threaded-vms  ## when SMP branch is merged in
-      #--enable-thread-system=posix    ## default when --enable-multiple-vms is on.
-      #--enable-profile
-      #--enable-coverage
-      #--enable-inline-jumps
-      #--enable-char-size=1" ; default is 4
-    )
-    ./configure ''${options[@]}
-  '';
-
-  buildPhase = ''
-    # Make bootstrap compiler, from release bootstrap
-    mkdir -p boot &&
-    cp -rp ${bootstrap}/. boot/. &&
-    chmod -R u+w boot &&
-    cd boot &&
-    cp ../gsc/makefile.in ../gsc/*.scm gsc && # */
-    ./configure &&
-    for i in lib gsi gsc ; do (cd $i ; make ) ; done &&
-    cd .. &&
-    cp boot/gsc/gsc gsc-boot &&
-
-    # Now use the bootstrap compiler to build the real thing!
-    make -j2 from-scratch
-  '';
-
-  doCheck = true;
-
-  meta = {
-    description = "Optimizing Scheme to C compiler";
-    homepage    = "http://gambitscheme.org";
-    license     = stdenv.lib.licenses.lgpl2;
-    platforms   = stdenv.lib.platforms.linux;
-    maintainers = with stdenv.lib.maintainers; [ thoughtpolice raskin fare ];
-  };
 }
diff --git a/pkgs/development/compilers/gambit/unstable.nix b/pkgs/development/compilers/gambit/unstable.nix
new file mode 100644
index 00000000000..f98fd5ca935
--- /dev/null
+++ b/pkgs/development/compilers/gambit/unstable.nix
@@ -0,0 +1,11 @@
+{ callPackage, fetchgit }:
+
+callPackage ./build.nix {
+  version = "unstable-2018-03-26";
+  git-version = "4.8.9-8-g793679bd";
+  SRC = fetchgit {
+    url = "https://github.com/feeley/gambit.git";
+    rev = "793679bd57eb6275cb06e6570b05f4a78df61bf9";
+    sha256 = "0bippvmrc8vcaa6ka3mhzfgkagb6a1616g7nxk0i0wapxai5cngj";
+  };
+}
diff --git a/pkgs/development/compilers/gcc/4.5/ghdl-ortho-cflags.patch b/pkgs/development/compilers/gcc/4.5/ghdl-ortho-cflags.patch
deleted file mode 100644
index 901534591c8..00000000000
--- a/pkgs/development/compilers/gcc/4.5/ghdl-ortho-cflags.patch
+++ /dev/null
@@ -1,111 +0,0 @@
-diff --git a/gcc/vhdl/Make-lang.in b/gcc/vhdl/Make-lang.in
-index 8f481df..681ac59 100644
---- a/gcc/vhdl/Make-lang.in
-+++ b/gcc/vhdl/Make-lang.in
-@@ -96,7 +96,7 @@ AGCC_GCCOBJ_DIR=../
- AGCC_INC_FLAGS=-I$(AGCC_GCCOBJ_DIR)/gcc -I$(AGCC_GCCSRC_DIR)/include \
-  -I$(AGCC_GCCSRC_DIR)/gcc -I$(AGCC_GCCSRC_DIR)/gcc/config \
-  -I$(AGCC_GCCSRC_DIR)/libcpp/include
--AGCC_CFLAGS=-g -Wall -DIN_GCC $(AGCC_INC_FLAGS)
-+AGCC_CFLAGS=-g -Wall -DIN_GCC $(AGCC_INC_FLAGS) $(CFLAGS) $(INCLUDES)
- 
- AGCC_LOCAL_OBJS=ortho-lang.o
- 
-@@ -140,7 +140,7 @@ ghdl$(exeext): force
- 
- # Ghdl libraries.
- ghdllib: ghdl$(exeext) $(GCC_PASSES) force
--	$(MAKE_IN_VHDL) GRT_FLAGS="-O -g" ghdllib
-+	$(MAKE_IN_VHDL) GRT_FLAGS="-O -g $(CFLAGS)" ghdllib
- 
- # Build hooks:
- 
-diff --git a/gcc/vhdl/Makefile.in b/gcc/vhdl/Makefile.in
-index d754c6c..07abc4a 100644
---- a/gcc/vhdl/Makefile.in
-+++ b/gcc/vhdl/Makefile.in
-@@ -80,7 +80,8 @@ T_CPPFLAGS =
- X_ADAFLAGS =
- T_ADAFLAGS =
- 
--ADAC = $(CC)
-+# Never use the bootstrapped compiler, as it may not be built for ada
-+ADAC = gcc
- 
- ECHO = echo
- CHMOD = chmod
-diff --git a/gcc/vhdl/ortho-lang.c b/gcc/vhdl/ortho-lang.c
-index 84aeb92..8eddd42 100644
---- a/gcc/vhdl/ortho-lang.c
-+++ b/gcc/vhdl/ortho-lang.c
-@@ -16,6 +16,7 @@
- #include "options.h"
- #include "real.h"
--#include "tree-gimple.h"
-+#include "gimple.h"
-+#include "tree.h"
- #include "function.h"
- #include "cgraph.h"
- #include "target.h"
-@@ -680,38 +681,10 @@ type_for_mode (enum machine_mode mode, int unsignedp)
- 
- const struct lang_hooks lang_hooks = LANG_HOOKS_INITIALIZER;
- 
--/* Tree code classes.  */
--
--#define DEFTREECODE(SYM, NAME, TYPE, LENGTH) TYPE,
--
--const enum tree_code_class tree_code_type[] = {
--#include "tree.def"
--  'x'
--};
--#undef DEFTREECODE
--
--/* Table indexed by tree code giving number of expression
--   operands beyond the fixed part of the node structure.
--   Not used for types or decls.  */
--
--#define DEFTREECODE(SYM, NAME, TYPE, LENGTH) LENGTH,
--
--const unsigned char tree_code_length[] = {
--#include "tree.def"
--  0
--};
--#undef DEFTREECODE
--
--#define DEFTREECODE(SYM, NAME, TYPE, LENGTH) NAME,
--const char * const tree_code_name[] = {
--#include "tree.def"
--  "@@dummy"
--};
--#undef DEFTREECODE
- 
- union lang_tree_node 
-   GTY((desc ("0"),
--       chain_next ("(union lang_tree_node *) GENERIC_NEXT (&%h.generic)")))
-+       chain_next ("(union lang_tree_node *) TREE_CHAIN (&%h.generic)")))
- {
-   union tree_node GTY ((tag ("0"))) generic;
- };
-@@ -1162,7 +1135,7 @@ new_access_type (tree dtype)
-       res = make_node (POINTER_TYPE);
-       TREE_TYPE (res) = NULL_TREE;
-       /* Seems necessary.  */
--      TYPE_MODE (res) = Pmode;
-+      SET_TYPE_MODE (res, Pmode);
-       layout_type (res);
-       return res;
-     }
-diff --git a/gcc/vhdl/Make-lang.in b/gcc/vhdl/Make-lang.in
-index e201f64..f36fb97 100644
---- a/gcc/vhdl/Make-lang.in
-+++ b/gcc/vhdl/Make-lang.in
-@@ -132,7 +132,7 @@ ghdl1$(exeext): $(AGCC_OBJS) $(AGCC_DEPS) force
- 	 -cargs $(CFLAGS) $(GHDL_ADAFLAGS)
- 	$(GNATMAKE) -o $@ -aI$(srcdir)/vhdl -aOvhdl ortho_gcc-main \
- 	 -bargs -E -cargs $(CFLAGS) $(GHDL_ADAFLAGS) \
--	 -largs $(AGCC_OBJS) $(LIBS) $(GMPLIBS)
-+	 -largs $(AGCC_OBJS) $(LIBS) $(GMPLIBS) $(CLOOGLIBS) $(PPLLIBS)
- 
- # The driver for ghdl.
- ghdl$(exeext): force
diff --git a/pkgs/development/compilers/gcc/4.5/no-sys-dirs.patch b/pkgs/development/compilers/gcc/4.5/no-sys-dirs.patch
deleted file mode 100644
index 8128fa87da5..00000000000
--- a/pkgs/development/compilers/gcc/4.5/no-sys-dirs.patch
+++ /dev/null
@@ -1,54 +0,0 @@
-diff -ru gcc-4.3.1-orig/gcc/cppdefault.c gcc-4.3.1/gcc/cppdefault.c
---- gcc-4.3.1-orig/gcc/cppdefault.c	2007-07-26 10:37:01.000000000 +0200
-+++ gcc-4.3.1/gcc/cppdefault.c	2008-06-25 17:48:23.000000000 +0200
-@@ -41,6 +41,10 @@
- # undef CROSS_INCLUDE_DIR
- #endif
- 
-+#undef LOCAL_INCLUDE_DIR
-+#undef SYSTEM_INCLUDE_DIR
-+#undef STANDARD_INCLUDE_DIR
-+
- const struct default_include cpp_include_defaults[]
- #ifdef INCLUDE_DEFAULTS
- = INCLUDE_DEFAULTS;
-diff -ru gcc-4.3.1-orig/gcc/gcc.c gcc-4.3.1/gcc/gcc.c
---- gcc-4.3.1-orig/gcc/gcc.c	2008-03-02 23:55:19.000000000 +0100
-+++ gcc-4.3.1/gcc/gcc.c	2008-06-25 17:52:53.000000000 +0200
-@@ -1478,10 +1478,10 @@
- /* Default prefixes to attach to command names.  */
- 
- #ifndef STANDARD_STARTFILE_PREFIX_1
--#define STANDARD_STARTFILE_PREFIX_1 "/lib/"
-+#define STANDARD_STARTFILE_PREFIX_1 ""
- #endif
- #ifndef STANDARD_STARTFILE_PREFIX_2
--#define STANDARD_STARTFILE_PREFIX_2 "/usr/lib/"
-+#define STANDARD_STARTFILE_PREFIX_2 ""
- #endif
- 
- #ifdef CROSS_DIRECTORY_STRUCTURE  /* Don't use these prefixes for a cross compiler.  */
---- gcc-4.3.1-orig/gcc/Makefile.in	2008-05-11 20:54:15.000000000 +0200
-+++ gcc-4.3.1/gcc/Makefile.in	2008-06-25 17:48:23.000000000 +0200
-@@ -378,7 +378,11 @@
- MD5_H	    = $(srcdir)/../include/md5.h
- 
- # Default native SYSTEM_HEADER_DIR, to be overridden by targets.
--NATIVE_SYSTEM_HEADER_DIR = /usr/include
-+# Nix: we override NATIVE_SYSTEM_HEADER_DIR in order to prevent
-+# `fixinc' from fixing header files in /usr/include.  However,
-+# NATIVE_SYSTEM_HEADER_DIR must point to an existing directory, so set
-+# it to some dummy directory.
-+NATIVE_SYSTEM_HEADER_DIR = $(NIX_FIXINC_DUMMY)
- # Default cross SYSTEM_HEADER_DIR, to be overridden by targets.
- CROSS_SYSTEM_HEADER_DIR = @CROSS_SYSTEM_HEADER_DIR@
- 
-@@ -3277,7 +3281,7 @@
-   -DGPLUSPLUS_INCLUDE_DIR=\"$(gcc_gxx_include_dir)\" \
-   -DGPLUSPLUS_TOOL_INCLUDE_DIR=\"$(gcc_gxx_include_dir)/$(target_noncanonical)\" \
-   -DGPLUSPLUS_BACKWARD_INCLUDE_DIR=\"$(gcc_gxx_include_dir)/backward\" \
--  -DLOCAL_INCLUDE_DIR=\"$(local_includedir)\" \
-+  -DLOCAL_INCLUDE_DIR=\"/no-such-dir\" \
-   -DCROSS_INCLUDE_DIR=\"$(CROSS_SYSTEM_HEADER_DIR)\" \
-   -DTOOL_INCLUDE_DIR=\"$(gcc_tooldir)/include\" \
-   -DPREFIX=\"$(prefix)/\" \
diff --git a/pkgs/development/compilers/gcc/4.5/sources.nix b/pkgs/development/compilers/gcc/4.5/sources.nix
deleted file mode 100644
index 71e1e483cac..00000000000
--- a/pkgs/development/compilers/gcc/4.5/sources.nix
+++ /dev/null
@@ -1,26 +0,0 @@
-/* Automatically generated by `update-gcc.sh', do not edit.
-   For GCC 4.5.4.  */
-{ fetchurl, optional, version, langC, langCC, langFortran, langJava, langAda }:
-
-assert version == "4.5.4";
-optional /* langC */ true (fetchurl {
-  url = "mirror://gcc/releases/gcc-${version}/gcc-core-${version}.tar.bz2";
-  sha256 = "894d90f72cbfc8707e330fa2b1847c443fa97cf9b7f26e86be554709510e624a";
-}) ++
-optional langCC (fetchurl {
-  url = "mirror://gcc/releases/gcc-${version}/gcc-g++-${version}.tar.bz2";
-  sha256 = "f7e3bab5e22713fbce46c2acb35fb727748473a34a942ce00393d75e1b09b6b9";
-}) ++
-optional langFortran (fetchurl {
-  url = "mirror://gcc/releases/gcc-${version}/gcc-fortran-${version}.tar.bz2";
-  sha256 = "cf0803b4f5334a526dd8da1b2171d6724f50c17346b2d5c509b6abc973d2ef34";
-}) ++
-optional langJava (fetchurl {
-  url = "mirror://gcc/releases/gcc-${version}/gcc-java-${version}.tar.bz2";
-  sha256 = "c98398da6f8c4c7d1758e291089d99853fdd27112cd3f146b7a8c26e6d762a23";
-}) ++
-optional langAda (fetchurl {
-  url = "mirror://gcc/releases/gcc-${version}/gcc-ada-${version}.tar.bz2";
-  sha256 = "8abddae15be65572b4d639bd9818057019bb4a45da4decfc6451511c8d580c5e";
-}) ++
-[]
diff --git a/pkgs/development/compilers/gcc/4.8/default.nix b/pkgs/development/compilers/gcc/4.8/default.nix
index 79e4c82852b..75259ed3983 100644
--- a/pkgs/development/compilers/gcc/4.8/default.nix
+++ b/pkgs/development/compilers/gcc/4.8/default.nix
@@ -3,8 +3,6 @@
 , langObjC ? targetPlatform.isDarwin
 , langObjCpp ? targetPlatform.isDarwin
 , langJava ? false
-, langAda ? false
-, langVhdl ? false
 , langGo ? false
 , profiledCompiler ? false
 , staticCompiler ? false
@@ -21,15 +19,14 @@
 , libXrender ? null, xproto ? null, renderproto ? null, xextproto ? null
 , libXrandr ? null, libXi ? null, inputproto ? null, randrproto ? null
 , x11Support ? langJava
-, gnatboot ? null
 , enableMultilib ? false
 , enablePlugin ? hostPlatform == buildPlatform # Whether to support user-supplied plug-ins
 , name ? "gcc"
 , libcCross ? null
 , crossStageStatic ? false
-, gnat ? null
 , libpthread ? null, libpthreadCross ? null  # required for GNU/Hurd
-, stripped ? true
+, # Strip kills static libs of other archs (hence no cross)
+  stripped ? hostPlatform == buildPlatform && targetPlatform == hostPlatform
 , gnused ? null
 , darwin ? null
 , buildPlatform, hostPlatform, targetPlatform
@@ -39,8 +36,6 @@
 assert langJava     -> zip != null && unzip != null
                        && zlib != null && boehmgc != null
                        && perl != null;  # for `--enable-java-home'
-assert langAda      -> gnatboot != null;
-assert langVhdl     -> gnat != null;
 
 # We enable the isl cloog backend.
 assert cloog != null -> isl != null;
@@ -68,9 +63,6 @@ let version = "4.8.5";
       ++ optional enableParallelBuilding ../parallel-bconfig.patch
       ++ optional (targetPlatform != hostPlatform) ../libstdc++-target.patch
       ++ optional noSysDirs ../no-sys-dirs.patch
-      # The GNAT Makefiles did not pay attention to CFLAGS_FOR_TARGET for its
-      # target libraries and tools.
-      ++ optional langAda ../gnat-cflags.patch
       ++ optional langFortran ../gfortran-driving.patch
       ++ optional hostPlatform.isDarwin ../gfortran-darwin-NXConstStr.patch
       ++ [(fetchpatch {
@@ -163,7 +155,7 @@ let version = "4.8.5";
           "--disable-decimal-float" # No final libdecnumber (it may work only in 386)
         ]));
     stageNameAddon = if crossStageStatic then "-stage-static" else "-stage-final";
-    crossNameAddon = if targetPlatform != hostPlatform then "-${targetPlatform.config}" + stageNameAddon else "";
+    crossNameAddon = if targetPlatform != hostPlatform then "${targetPlatform.config}${stageNameAddon}-" else "";
 
     bootstrap = targetPlatform == hostPlatform;
 
@@ -173,7 +165,7 @@ in
 assert x11Support -> (filter (x: x == null) ([ gtk2 libart_lgpl ] ++ xlibs)) == [];
 
 stdenv.mkDerivation ({
-  name = "${name}${if stripped then "" else "-debug"}-${version}" + crossNameAddon;
+  name = crossNameAddon + "${name}${if stripped then "" else "-debug"}-${version}";
 
   builder = ../builder.sh;
 
@@ -259,8 +251,6 @@ stdenv.mkDerivation ({
     ++ (optionals langJava [ boehmgc zip unzip ])
     ++ (optionals javaAwtGtk ([ gtk2 libart_lgpl ] ++ xlibs))
     ++ (optionals (targetPlatform != hostPlatform) [targetPackages.stdenv.cc.bintools])
-    ++ (optionals langAda [gnatboot])
-    ++ (optionals langVhdl [gnat])
 
     # The builder relies on GNU sed (for instance, Darwin's `sed' fails with
     # "-i may not be used with stdin"), and `stdenvNative' doesn't provide it.
@@ -306,8 +296,6 @@ stdenv.mkDerivation ({
           ++ optional langCC       "c++"
           ++ optional langFortran  "fortran"
           ++ optional langJava     "java"
-          ++ optional langAda      "ada"
-          ++ optional langVhdl     "vhdl"
           ++ optional langGo       "go"
           ++ optional langObjC     "objc"
           ++ optional langObjCpp   "obj-c++"
@@ -345,9 +333,6 @@ stdenv.mkDerivation ({
     optional javaAwtGtk "--enable-java-awt=gtk" ++
     optional (langJava && javaAntlr != null) "--with-antlr-jar=${javaAntlr}" ++
 
-    # Ada
-    optional langAda "--enable-libada" ++
-
     (import ../common/platform-flags.nix { inherit (stdenv) lib targetPlatform; }) ++
     optional (targetPlatform != hostPlatform) crossConfigureFlags ++
     optional (!bootstrap) "--disable-bootstrap" ++
@@ -363,21 +348,19 @@ stdenv.mkDerivation ({
 
   targetConfig = if targetPlatform != hostPlatform then targetPlatform.config else null;
 
-  buildFlags = if bootstrap then
-    (if profiledCompiler then "profiledbootstrap" else "bootstrap")
-    else "";
+  buildFlags = optional
+    (bootstrap && hostPlatform == buildPlatform)
+    (if profiledCompiler then "profiledbootstrap" else "bootstrap");
+
+  dontStrip = !stripped;
+
+  doCheck = false; # requires a lot of tools, causes a dependency cycle for stdenv
 
   installTargets =
     if stripped
     then "install-strip"
     else "install";
 
-  /* For cross-built gcc (build != host == target) */
-  crossAttrs =  {
-    dontStrip = true;
-    buildFlags = "";
-  };
-
   # http://gcc.gnu.org/install/specific.html#x86-64-x-solaris210
   ${if hostPlatform.system == "x86_64-solaris" then "CC" else null} = "gcc -m64";
 
@@ -440,7 +423,7 @@ stdenv.mkDerivation ({
     ]);
 
   passthru = {
-    inherit langC langCC langObjC langObjCpp langAda langFortran langVhdl langGo version;
+    inherit langC langCC langObjC langObjCpp langFortran langGo version;
     isGNU = true;
     hardeningUnsupportedFlags = [ "stackprotector" ];
   };
@@ -466,13 +449,11 @@ stdenv.mkDerivation ({
 
     maintainers = with stdenv.lib.maintainers; [ viric peti ];
 
-    # gnatboot is not available out of linux platforms, so we disable the darwin build
-    # for the gnat (ada compiler).
     platforms =
       stdenv.lib.platforms.linux ++
       stdenv.lib.platforms.freebsd ++
       stdenv.lib.platforms.illumos ++
-      optionals (langAda == false) stdenv.lib.platforms.darwin;
+      stdenv.lib.platforms.darwin;
   };
 }
 
@@ -481,8 +462,5 @@ stdenv.mkDerivation ({
   installTargets = "install-gcc install-target-libgcc";
 }
 
-# Strip kills static libs of other archs (hence targetPlatform != hostPlatform)
-// optionalAttrs (!stripped || targetPlatform != hostPlatform) { dontStrip = true; }
-
 // optionalAttrs (enableMultilib) { dontMoveLib64 = true; }
 )
diff --git a/pkgs/development/compilers/gcc/4.9/default.nix b/pkgs/development/compilers/gcc/4.9/default.nix
index 4936a6a3a9a..27164176b53 100644
--- a/pkgs/development/compilers/gcc/4.9/default.nix
+++ b/pkgs/development/compilers/gcc/4.9/default.nix
@@ -1,10 +1,8 @@
-{ stdenv, targetPackages, fetchurl, noSysDirs
+{ stdenv, targetPackages, fetchurl, noSysDirs, fetchpatch
 , langC ? true, langCC ? true, langFortran ? false
 , langObjC ? targetPlatform.isDarwin
 , langObjCpp ? targetPlatform.isDarwin
 , langJava ? false
-, langAda ? false
-, langVhdl ? false
 , langGo ? false
 , profiledCompiler ? false
 , staticCompiler ? false
@@ -21,15 +19,14 @@
 , libXrender ? null, xproto ? null, renderproto ? null, xextproto ? null
 , libXrandr ? null, libXi ? null, inputproto ? null, randrproto ? null
 , x11Support ? langJava
-, gnatboot ? null
 , enableMultilib ? false
 , enablePlugin ? hostPlatform == buildPlatform # Whether to support user-supplied plug-ins
 , name ? "gcc"
 , libcCross ? null
 , crossStageStatic ? false
-, gnat ? null
 , libpthread ? null, libpthreadCross ? null  # required for GNU/Hurd
-, stripped ? true
+, # Strip kills static libs of other archs (hence no cross)
+  stripped ? hostPlatform == buildPlatform && targetPlatform == hostPlatform
 , gnused ? null
 , darwin ? null
 , buildPlatform, hostPlatform, targetPlatform
@@ -39,8 +36,6 @@
 assert langJava     -> zip != null && unzip != null
                        && zlib != null && boehmgc != null
                        && perl != null;  # for `--enable-java-home'
-assert langAda      -> gnatboot != null;
-assert langVhdl     -> gnat != null;
 
 # We enable the isl cloog backend.
 assert cloog != null -> isl != null;
@@ -69,12 +64,23 @@ let version = "4.9.4";
       ++ optionals enableParallelBuilding [ ../parallel-bconfig.patch ./parallel-strsignal.patch ]
       ++ optional (targetPlatform != hostPlatform) ../libstdc++-target.patch
       ++ optional noSysDirs ../no-sys-dirs.patch
-      # The GNAT Makefiles did not pay attention to CFLAGS_FOR_TARGET for its
-      # target libraries and tools.
-      ++ optional langAda ../gnat-cflags.patch
       ++ optional langFortran ../gfortran-driving.patch
       ++ [ ../struct-ucontext.patch ../struct-sigaltstack-4.9.patch ] # glibc-2.26
-      ;
+      # Retpoline patches pulled from the branch hjl/indirect/gcc-4_9-branch (by H.J. Lu, the author of GCC upstream retpoline commits)
+      ++ builtins.map ({commit, sha256}: fetchpatch {url = "https://github.com/hjl-tools/gcc/commit/${commit}.patch"; inherit sha256;})
+         [{ commit = "e623d21608e96ecd6b65f0d06312117d20488a38"; sha256 = "1ix8i4d2r3ygbv7npmsdj790rhxqrnfwcqzv48b090r9c3ij8ay3"; }
+          { commit = "2015a09e332309f12de1dadfe179afa6a29368b8"; sha256 = "0xcfs0cbb63llj2gbcdrvxim79ax4k4aswn0a3yjavxsj71s1n91"; }
+          { commit = "6b11591f4494f705e8746e7d58b7f423191f4e92"; sha256 = "0aydyhsm2ig0khgbp27am7vq7liyqrq6kfhfi2ki0ij0ab1hfbga"; }
+          { commit = "203c7d9c3e9cb0f88816b481ef8e7e87b3ecc373"; sha256 = "0wqn16y7wy5kg8ngfcni5qdwfphl01axczibbk49bxclwnzvldqa"; }
+          { commit = "f039c6f284b2c9ce97c8353d6034978795c4872e"; sha256 = "13fkgdb17lpyxfksz1zanxhgpsm0jrss9w61nbl7an4im22hz7ci"; }
+          { commit = "ed42606bdab1c5d9e5ad828cd6fe1a0557f193b7"; sha256 = "0gdnn8v3p03imj3qga2mzdhpgbmjcklkxdl97jvz5xia2ikzknxm"; }
+          { commit = "5278e062ef292fd2fbf987d25389785f4c5c0f99"; sha256 = "0j81x758wf8v7j4rx5wc1cy7yhkvhlhv3wmnarwakxiwsspq0vrs"; }
+          { commit = "76f1ffbbb6cd9f6ecde6c82cd16e20a27242e890"; sha256 = "1py56y6gp7fjf4f8bbsfwh5bs1gnmlqda1ycsmnwlzfm0cshdp0c"; }
+          { commit = "4ca48b2b688b135c0390f54ea9077ef10aedd52c"; sha256 = "15r019pzr3k0lpgyvdc92c8fayw8b5lrzncna4bqmamcsdz7vsaw"; }
+          { commit = "98c7bf9ddc80db965d69d61521b1c7a1cec32d9a"; sha256 = "1d7pfdv1q23nf0wadw7jbp6d6r7pnzjpbyxgbdfv7j1vr9l1bp60"; }
+          { commit = "3dc76b53ad896494ca62550a7a752fecbca3f7a2"; sha256 = "0jvdzfpvfdmklfcjwqblwq1i22iqis7ljpvm7adra5d7zf2xk7xz"; }
+          { commit = "1e961ed49b18e176c7457f53df2433421387c23b"; sha256 = "04dnqqs4qsvz4g8cq6db5id41kzys7hzhcaycwmc9rpqygs2ajwz"; }
+          { commit = "e137c72d099f9b3b47f4cc718aa11eab14df1a9c"; sha256 = "1ms0dmz74yf6kwgjfs4d2fhj8y6mcp2n184r3jk44wx2xc24vgb2"; }];
 
     javaEcj = fetchurl {
       # The `$(top_srcdir)/ecj.jar' file is automatically picked up at
@@ -157,7 +163,7 @@ let version = "4.9.4";
           "--disable-decimal-float" # No final libdecnumber (it may work only in 386)
         ]));
     stageNameAddon = if crossStageStatic then "-stage-static" else "-stage-final";
-    crossNameAddon = if targetPlatform != hostPlatform then "-${targetPlatform.config}" + stageNameAddon else "";
+    crossNameAddon = if targetPlatform != hostPlatform then "${targetPlatform.config}${stageNameAddon}-" else "";
 
     bootstrap = targetPlatform == hostPlatform;
 
@@ -167,7 +173,7 @@ in
 assert x11Support -> (filter (x: x == null) ([ gtk2 libart_lgpl ] ++ xlibs)) == [];
 
 stdenv.mkDerivation ({
-  name = "${name}${if stripped then "" else "-debug"}-${version}" + crossNameAddon;
+  name = crossNameAddon + "${name}${if stripped then "" else "-debug"}-${version}";
 
   builder = ../builder.sh;
 
@@ -264,8 +270,6 @@ stdenv.mkDerivation ({
     ++ (optionals langJava [ boehmgc zip unzip ])
     ++ (optionals javaAwtGtk ([ gtk2 libart_lgpl ] ++ xlibs))
     ++ (optionals (targetPlatform != hostPlatform) [targetPackages.stdenv.cc.bintools])
-    ++ (optionals langAda [gnatboot])
-    ++ (optionals langVhdl [gnat])
 
     # The builder relies on GNU sed (for instance, Darwin's `sed' fails with
     # "-i may not be used with stdin"), and `stdenvNative' doesn't provide it.
@@ -314,8 +318,6 @@ stdenv.mkDerivation ({
           ++ optional langCC       "c++"
           ++ optional langFortran  "fortran"
           ++ optional langJava     "java"
-          ++ optional langAda      "ada"
-          ++ optional langVhdl     "vhdl"
           ++ optional langGo       "go"
           ++ optional langObjC     "objc"
           ++ optional langObjCpp   "obj-c++"
@@ -353,9 +355,6 @@ stdenv.mkDerivation ({
     optional javaAwtGtk "--enable-java-awt=gtk" ++
     optional (langJava && javaAntlr != null) "--with-antlr-jar=${javaAntlr}" ++
 
-    # Ada
-    optional langAda "--enable-libada" ++
-
     (import ../common/platform-flags.nix { inherit (stdenv) lib targetPlatform; }) ++
     optional (targetPlatform != hostPlatform) crossConfigureFlags ++
     optional (!bootstrap) "--disable-bootstrap" ++
@@ -371,21 +370,19 @@ stdenv.mkDerivation ({
 
   targetConfig = if targetPlatform != hostPlatform then targetPlatform.config else null;
 
-  buildFlags = if bootstrap then
-    (if profiledCompiler then "profiledbootstrap" else "bootstrap")
-    else "";
+  buildFlags = optional
+    (bootstrap && hostPlatform == buildPlatform)
+    (if profiledCompiler then "profiledbootstrap" else "bootstrap");
+
+  dontStrip = !stripped;
+
+  doCheck = false; # requires a lot of tools, causes a dependency cycle for stdenv
 
   installTargets =
     if stripped
     then "install-strip"
     else "install";
 
-  /* For cross-built gcc (build != host == target) */
-  crossAttrs = {
-    dontStrip = true;
-    buildFlags = "";
-  };
-
   # http://gcc.gnu.org/install/specific.html#x86-64-x-solaris210
   ${if hostPlatform.system == "x86_64-solaris" then "CC" else null} = "gcc -m64";
 
@@ -448,7 +445,7 @@ stdenv.mkDerivation ({
     ]);
 
   passthru =
-    { inherit langC langCC langObjC langObjCpp langAda langFortran langVhdl langGo version; isGNU = true; };
+    { inherit langC langCC langObjC langObjCpp langFortran langGo version; isGNU = true; };
 
   inherit enableParallelBuilding enableMultilib;
 
@@ -471,13 +468,10 @@ stdenv.mkDerivation ({
 
     maintainers = with stdenv.lib.maintainers; [ viric peti ];
 
-    # gnatboot is not available out of linux platforms, so we disable the darwin build
-    # for the gnat (ada compiler).
     platforms =
       stdenv.lib.platforms.linux ++
       stdenv.lib.platforms.freebsd ++
-      stdenv.lib.platforms.illumos ++
-      optionals (langAda == false) stdenv.lib.platforms.darwin;
+      stdenv.lib.platforms.illumos;
   };
 }
 
@@ -486,9 +480,6 @@ stdenv.mkDerivation ({
   installTargets = "install-gcc install-target-libgcc";
 }
 
-# Strip kills static libs of other archs (hence targetPlatform != hostPlatform)
-// optionalAttrs (!stripped || targetPlatform != hostPlatform) { dontStrip = true; }
-
 // optionalAttrs (enableMultilib) { dontMoveLib64 = true; }
 
 // optionalAttrs (langJava) {
diff --git a/pkgs/development/compilers/gcc/5/default.nix b/pkgs/development/compilers/gcc/5/default.nix
index 79dcb67ff72..eceaef7bdc4 100644
--- a/pkgs/development/compilers/gcc/5/default.nix
+++ b/pkgs/development/compilers/gcc/5/default.nix
@@ -3,8 +3,6 @@
 , langObjC ? targetPlatform.isDarwin
 , langObjCpp ? targetPlatform.isDarwin
 , langJava ? false
-, langAda ? false
-, langVhdl ? false
 , langGo ? false
 , profiledCompiler ? false
 , staticCompiler ? false
@@ -21,15 +19,14 @@
 , libXrender ? null, xproto ? null, renderproto ? null, xextproto ? null
 , libXrandr ? null, libXi ? null, inputproto ? null, randrproto ? null
 , x11Support ? langJava
-, gnatboot ? null
 , enableMultilib ? false
 , enablePlugin ? hostPlatform == buildPlatform # Whether to support user-supplied plug-ins
 , name ? "gcc"
 , libcCross ? null
 , crossStageStatic ? false
-, gnat ? null
 , libpthread ? null, libpthreadCross ? null  # required for GNU/Hurd
-, stripped ? true
+, # Strip kills static libs of other archs (hence no cross)
+  stripped ? hostPlatform == buildPlatform && targetPlatform == hostPlatform
 , gnused ? null
 , cloog # unused; just for compat with gcc4, as we override the parameter on some places
 , darwin ? null
@@ -40,8 +37,6 @@
 assert langJava     -> zip != null && unzip != null
                        && zlib != null && boehmgc != null
                        && perl != null;  # for `--enable-java-home'
-assert langAda      -> gnatboot != null;
-assert langVhdl     -> gnat != null;
 
 # LTO needs libelf and zlib.
 assert libelf != null -> zlib != null;
@@ -67,9 +62,6 @@ let version = "5.5.0";
       [ ../use-source-date-epoch.patch ]
       ++ optional (targetPlatform != hostPlatform) ../libstdc++-target.patch
       ++ optional noSysDirs ../no-sys-dirs.patch
-      # The GNAT Makefiles did not pay attention to CFLAGS_FOR_TARGET for its
-      # target libraries and tools.
-      ++ optional langAda ../gnat-cflags.patch
       ++ optional langFortran ../gfortran-driving.patch
 
       # This could be applied unconditionally but I don't want to cause a full
@@ -161,7 +153,7 @@ let version = "5.5.0";
           "--disable-decimal-float" # No final libdecnumber (it may work only in 386)
         ]));
     stageNameAddon = if crossStageStatic then "-stage-static" else "-stage-final";
-    crossNameAddon = if targetPlatform != hostPlatform then "-${targetPlatform.config}" + stageNameAddon else "";
+    crossNameAddon = if targetPlatform != hostPlatform then "${targetPlatform.config}${stageNameAddon}-" else "";
 
     bootstrap = targetPlatform == hostPlatform;
 
@@ -171,7 +163,7 @@ in
 assert x11Support -> (filter (x: x == null) ([ gtk2 libart_lgpl ] ++ xlibs)) == [];
 
 stdenv.mkDerivation ({
-  name = "${name}${if stripped then "" else "-debug"}-${version}" + crossNameAddon;
+  name = crossNameAddon + "${name}${if stripped then "" else "-debug"}-${version}";
 
   builder = ../builder.sh;
 
@@ -286,8 +278,6 @@ stdenv.mkDerivation ({
     ++ (optionals langJava [ boehmgc zip unzip ])
     ++ (optionals javaAwtGtk ([ gtk2 libart_lgpl ] ++ xlibs))
     ++ (optionals (targetPlatform != hostPlatform) [targetPackages.stdenv.cc.bintools])
-    ++ (optionals langAda [gnatboot])
-    ++ (optionals langVhdl [gnat])
 
     # The builder relies on GNU sed (for instance, Darwin's `sed' fails with
     # "-i may not be used with stdin"), and `stdenvNative' doesn't provide it.
@@ -335,8 +325,6 @@ stdenv.mkDerivation ({
           ++ optional langCC       "c++"
           ++ optional langFortran  "fortran"
           ++ optional langJava     "java"
-          ++ optional langAda      "ada"
-          ++ optional langVhdl     "vhdl"
           ++ optional langGo       "go"
           ++ optional langObjC     "objc"
           ++ optional langObjCpp   "obj-c++"
@@ -369,9 +357,6 @@ stdenv.mkDerivation ({
     optional javaAwtGtk "--enable-java-awt=gtk" ++
     optional (langJava && javaAntlr != null) "--with-antlr-jar=${javaAntlr}" ++
 
-    # Ada
-    optional langAda "--enable-libada" ++
-
     (import ../common/platform-flags.nix { inherit (stdenv) lib targetPlatform; }) ++
     optional (targetPlatform != hostPlatform) crossConfigureFlags ++
     optional (!bootstrap) "--disable-bootstrap" ++
@@ -388,21 +373,19 @@ stdenv.mkDerivation ({
 
   targetConfig = if targetPlatform != hostPlatform then targetPlatform.config else null;
 
-  buildFlags = if bootstrap then
-    (if profiledCompiler then "profiledbootstrap" else "bootstrap")
-    else "";
+  buildFlags = optional
+    (bootstrap && hostPlatform == buildPlatform)
+    (if profiledCompiler then "profiledbootstrap" else "bootstrap");
+
+  dontStrip = !stripped;
+
+  doCheck = false; # requires a lot of tools, causes a dependency cycle for stdenv
 
   installTargets =
     if stripped
     then "install-strip"
     else "install";
 
-  /* For cross-built gcc (build != host == target) */
-  crossAttrs = {
-    dontStrip = true;
-    buildFlags = "";
-  };
-
   # http://gcc.gnu.org/install/specific.html#x86-64-x-solaris210
   ${if hostPlatform.system == "x86_64-solaris" then "CC" else null} = "gcc -m64";
 
@@ -465,7 +448,7 @@ stdenv.mkDerivation ({
     ]);
 
   passthru =
-    { inherit langC langCC langObjC langObjCpp langAda langFortran langVhdl langGo version; isGNU = true; };
+    { inherit langC langCC langObjC langObjCpp langFortran langGo version; isGNU = true; };
 
   inherit enableParallelBuilding enableMultilib;
 
@@ -488,12 +471,10 @@ stdenv.mkDerivation ({
 
     maintainers = with stdenv.lib.maintainers; [ viric peti ];
 
-    # gnatboot is not available out of linux platforms, so we disable the darwin build
-    # for the gnat (ada compiler).
     platforms =
       stdenv.lib.platforms.linux ++
       stdenv.lib.platforms.freebsd ++
-      optionals (langAda == false) stdenv.lib.platforms.darwin;
+      stdenv.lib.platforms.darwin;
   };
 }
 
@@ -502,8 +483,5 @@ stdenv.mkDerivation ({
   installTargets = "install-gcc install-target-libgcc";
 }
 
-# Strip kills static libs of other archs (hence targetPlatform != hostPlatform)
-// optionalAttrs (!stripped || targetPlatform != hostPlatform) { dontStrip = true; }
-
 // optionalAttrs (enableMultilib) { dontMoveLib64 = true; }
 )
diff --git a/pkgs/development/compilers/gcc/6/default.nix b/pkgs/development/compilers/gcc/6/default.nix
index 857f9e1a2b6..e5c77568a0e 100644
--- a/pkgs/development/compilers/gcc/6/default.nix
+++ b/pkgs/development/compilers/gcc/6/default.nix
@@ -3,8 +3,6 @@
 , langObjC ? targetPlatform.isDarwin
 , langObjCpp ? targetPlatform.isDarwin
 , langJava ? false
-, langAda ? false
-, langVhdl ? false
 , langGo ? false
 , profiledCompiler ? false
 , staticCompiler ? false
@@ -21,15 +19,14 @@
 , libXrender ? null, xproto ? null, renderproto ? null, xextproto ? null
 , libXrandr ? null, libXi ? null, inputproto ? null, randrproto ? null
 , x11Support ? langJava
-, gnatboot ? null
 , enableMultilib ? false
 , enablePlugin ? hostPlatform == buildPlatform # Whether to support user-supplied plug-ins
 , name ? "gcc"
 , libcCross ? null
 , crossStageStatic ? false
-, gnat ? null
 , libpthread ? null, libpthreadCross ? null  # required for GNU/Hurd
-, stripped ? true
+, # Strip kills static libs of other archs (hence no cross)
+  stripped ? hostPlatform == buildPlatform && targetPlatform == hostPlatform
 , gnused ? null
 , cloog # unused; just for compat with gcc4, as we override the parameter on some places
 , darwin ? null
@@ -40,8 +37,6 @@
 assert langJava     -> zip != null && unzip != null
                        && zlib != null && boehmgc != null
                        && perl != null;  # for `--enable-java-home'
-assert langAda      -> gnatboot != null;
-assert langVhdl     -> gnat != null;
 
 # LTO needs libelf and zlib.
 assert libelf != null -> zlib != null;
@@ -66,9 +61,6 @@ let version = "6.4.0";
       [ ../use-source-date-epoch.patch ]
       ++ optional (targetPlatform != hostPlatform) ../libstdc++-target.patch
       ++ optional noSysDirs ../no-sys-dirs.patch
-      # The GNAT Makefiles did not pay attention to CFLAGS_FOR_TARGET for its
-      # target libraries and tools.
-      ++ optional langAda ../gnat-cflags.patch
       ++ optional langFortran ../gfortran-driving.patch
       ++ [ ../struct-ucontext.patch ../struct-sigaltstack.patch ] # glibc-2.26
       ++ optional langJava [ ../struct-ucontext-libjava.patch ] # glibc-2.26
@@ -160,7 +152,7 @@ let version = "6.4.0";
           "--disable-decimal-float" # No final libdecnumber (it may work only in 386)
         ]));
     stageNameAddon = if crossStageStatic then "-stage-static" else "-stage-final";
-    crossNameAddon = if targetPlatform != hostPlatform then "-${targetPlatform.config}" + stageNameAddon else "";
+    crossNameAddon = if targetPlatform != hostPlatform then "${targetPlatform.config}${stageNameAddon}-" else "";
 
     bootstrap = targetPlatform == hostPlatform;
 
@@ -170,7 +162,7 @@ in
 assert x11Support -> (filter (x: x == null) ([ gtk2 libart_lgpl ] ++ xlibs)) == [];
 
 stdenv.mkDerivation ({
-  name = "${name}${if stripped then "" else "-debug"}-${version}" + crossNameAddon;
+  name = crossNameAddon + "${name}${if stripped then "" else "-debug"}-${version}";
 
   builder = ../builder.sh;
 
@@ -286,8 +278,6 @@ stdenv.mkDerivation ({
     ++ (optionals langJava [ boehmgc zip unzip ])
     ++ (optionals javaAwtGtk ([ gtk2 libart_lgpl ] ++ xlibs))
     ++ (optionals (targetPlatform != hostPlatform) [targetPackages.stdenv.cc.bintools])
-    ++ (optionals langAda [gnatboot])
-    ++ (optionals langVhdl [gnat])
 
     # The builder relies on GNU sed (for instance, Darwin's `sed' fails with
     # "-i may not be used with stdin"), and `stdenvNative' doesn't provide it.
@@ -339,8 +329,6 @@ stdenv.mkDerivation ({
           ++ optional langCC       "c++"
           ++ optional langFortran  "fortran"
           ++ optional langJava     "java"
-          ++ optional langAda      "ada"
-          ++ optional langVhdl     "vhdl"
           ++ optional langGo       "go"
           ++ optional langObjC     "objc"
           ++ optional langObjCpp   "obj-c++"
@@ -373,9 +361,6 @@ stdenv.mkDerivation ({
     optional javaAwtGtk "--enable-java-awt=gtk" ++
     optional (langJava && javaAntlr != null) "--with-antlr-jar=${javaAntlr}" ++
 
-    # Ada
-    optional langAda "--enable-libada" ++
-
     (import ../common/platform-flags.nix { inherit (stdenv) lib targetPlatform; }) ++
     optional (targetPlatform != hostPlatform) crossConfigureFlags ++
     optional (!bootstrap) "--disable-bootstrap" ++
@@ -392,20 +377,19 @@ stdenv.mkDerivation ({
 
   targetConfig = if targetPlatform != hostPlatform then targetPlatform.config else null;
 
-  buildFlags =
-    optional bootstrap (if profiledCompiler then "profiledbootstrap" else "bootstrap");
+  buildFlags = optional
+    (bootstrap && hostPlatform == buildPlatform)
+    (if profiledCompiler then "profiledbootstrap" else "bootstrap");
+
+  dontStrip = !stripped;
+
+  doCheck = false; # requires a lot of tools, causes a dependency cycle for stdenv
 
   installTargets =
     if stripped
     then "install-strip"
     else "install";
 
-  /* For cross-built gcc (build != host == target) */
-  crossAttrs = {
-    dontStrip = true;
-    buildFlags = "";
-  };
-
   # http://gcc.gnu.org/install/specific.html#x86-64-x-solaris210
   ${if hostPlatform.system == "x86_64-solaris" then "CC" else null} = "gcc -m64";
 
@@ -468,7 +452,7 @@ stdenv.mkDerivation ({
     ]);
 
   passthru =
-    { inherit langC langCC langObjC langObjCpp langAda langFortran langVhdl langGo version; isGNU = true; };
+    { inherit langC langCC langObjC langObjCpp langFortran langGo version; isGNU = true; };
 
   inherit enableParallelBuilding enableMultilib;
 
@@ -491,12 +475,10 @@ stdenv.mkDerivation ({
 
     maintainers = with stdenv.lib.maintainers; [ viric peti ];
 
-    # gnatboot is not available out of linux platforms, so we disable the darwin build
-    # for the gnat (ada compiler).
     platforms =
       stdenv.lib.platforms.linux ++
       stdenv.lib.platforms.freebsd ++
-      optionals (langAda == false) stdenv.lib.platforms.darwin;
+      stdenv.lib.platforms.darwin;
   };
 }
 
@@ -505,9 +487,6 @@ stdenv.mkDerivation ({
   installTargets = "install-gcc install-target-libgcc";
 }
 
-# Strip kills static libs of other archs (hence targetPlatform != hostPlatform)
-// optionalAttrs (!stripped || targetPlatform != hostPlatform) { dontStrip = true; }
-
 // optionalAttrs (enableMultilib) { dontMoveLib64 = true; }
 
 // optionalAttrs (langJava) {
diff --git a/pkgs/development/compilers/gcc/7/default.nix b/pkgs/development/compilers/gcc/7/default.nix
index a3435cc4f16..8137ca30ec2 100644
--- a/pkgs/development/compilers/gcc/7/default.nix
+++ b/pkgs/development/compilers/gcc/7/default.nix
@@ -2,34 +2,24 @@
 , langC ? true, langCC ? true, langFortran ? false
 , langObjC ? targetPlatform.isDarwin
 , langObjCpp ? targetPlatform.isDarwin
-, langJava ? false
-, langAda ? false
-, langVhdl ? false
 , langGo ? false
 , profiledCompiler ? false
 , staticCompiler ? false
 , enableShared ? true
 , texinfo ? null
-, perl ? null # optional, for texi2pod (then pod2man); required for Java
+, perl ? null # optional, for texi2pod (then pod2man)
 , gmp, mpfr, libmpc, gettext, which
 , libelf                      # optional, for link-time optimizations (LTO)
 , isl ? null # optional, for the Graphite optimization framework.
-, zlib ? null, boehmgc ? null
-, zip ? null, unzip ? null, pkgconfig ? null
-, gtk2 ? null, libart_lgpl ? null
-, libX11 ? null, libXt ? null, libSM ? null, libICE ? null, libXtst ? null
-, libXrender ? null, xproto ? null, renderproto ? null, xextproto ? null
-, libXrandr ? null, libXi ? null, inputproto ? null, randrproto ? null
-, x11Support ? langJava
-, gnatboot ? null
+, zlib ? null
 , enableMultilib ? false
 , enablePlugin ? hostPlatform == buildPlatform # Whether to support user-supplied plug-ins
 , name ? "gcc"
 , libcCross ? null
 , crossStageStatic ? false
-, gnat ? null
 , libpthread ? null, libpthreadCross ? null  # required for GNU/Hurd
-, stripped ? true
+, # Strip kills static libs of other archs (hence no cross)
+  stripped ? hostPlatform == buildPlatform && targetPlatform == hostPlatform
 , gnused ? null
 , cloog # unused; just for compat with gcc4, as we override the parameter on some places
 , darwin ? null
@@ -37,12 +27,6 @@
 , buildPackages
 }:
 
-assert langJava     -> zip != null && unzip != null
-                       && zlib != null && boehmgc != null
-                       && perl != null;  # for `--enable-java-home'
-assert langAda      -> gnatboot != null;
-assert langVhdl     -> gnat != null;
-
 # LTO needs libelf and zlib.
 assert libelf != null -> zlib != null;
 
@@ -63,41 +47,19 @@ let version = "7.3.0";
     enableParallelBuilding = true;
 
     patches =
-      [ ]
+      [ # https://gcc.gnu.org/ml/gcc-patches/2018-02/msg00633.html
+        ./riscv-pthread-reentrant.patch
+        # https://gcc.gnu.org/ml/gcc-patches/2018-03/msg00297.html
+        ./riscv-no-relax.patch
+      ]
       ++ optional (targetPlatform != hostPlatform) ../libstdc++-target.patch
       ++ optional noSysDirs ../no-sys-dirs.patch
       ++ optional (hostPlatform != buildPlatform) (fetchpatch { # XXX: Refine when this should be applied
         url = "https://git.busybox.net/buildroot/plain/package/gcc/7.1.0/0900-remove-selftests.patch?id=11271540bfe6adafbc133caf6b5b902a816f5f02";
         sha256 = "0mrvxsdwip2p3l17dscpc1x8vhdsciqw1z5q9i6p5g9yg1cqnmgs";
       })
-      # The GNAT Makefiles did not pay attention to CFLAGS_FOR_TARGET for its
-      # target libraries and tools.
-      ++ optional langAda ../gnat-cflags.patch
       ++ optional langFortran ../gfortran-driving.patch;
 
-    javaEcj = fetchurl {
-      # The `$(top_srcdir)/ecj.jar' file is automatically picked up at
-      # `configure' time.
-
-      # XXX: Eventually we might want to take it from upstream.
-      url = "ftp://sourceware.org/pub/java/ecj-4.3.jar";
-      sha256 = "0jz7hvc0s6iydmhgh5h2m15yza7p2rlss2vkif30vm9y77m97qcx";
-    };
-
-    # Antlr (optional) allows the Java `gjdoc' tool to be built.  We want a
-    # binary distribution here to allow the whole chain to be bootstrapped.
-    javaAntlr = fetchurl {
-      url = http://www.antlr.org/download/antlr-4.4-complete.jar;
-      sha256 = "02lda2imivsvsis8rnzmbrbp8rh1kb8vmq4i67pqhkwz7lf8y6dz";
-    };
-
-    xlibs = [
-      libX11 libXt libSM libICE libXtst libXrender libXrandr libXi
-      xproto renderproto xextproto inputproto randrproto
-    ];
-
-    javaAwtGtk = langJava && x11Support;
-
     /* Cross-gcc settings (build == host != target) */
     crossMingw = targetPlatform != hostPlatform && targetPlatform.libc == "msvcrt";
     crossDarwin = targetPlatform != hostPlatform && targetPlatform.libc == "libSystem";
@@ -161,17 +123,14 @@ let version = "7.3.0";
           "--disable-decimal-float" # No final libdecnumber (it may work only in 386)
         ]));
     stageNameAddon = if crossStageStatic then "-stage-static" else "-stage-final";
-    crossNameAddon = if targetPlatform != hostPlatform then "-${targetPlatform.config}" + stageNameAddon else "";
+    crossNameAddon = if targetPlatform != hostPlatform then "${targetPlatform.config}${stageNameAddon}-" else "";
 
     bootstrap = targetPlatform == hostPlatform;
 
 in
 
-# We need all these X libraries when building AWT with GTK+.
-assert x11Support -> (filter (x: x == null) ([ gtk2 libart_lgpl ] ++ xlibs)) == [];
-
 stdenv.mkDerivation ({
-  name = "${name}${if stripped then "" else "-debug"}-${version}" + crossNameAddon;
+  name = crossNameAddon + "${name}${if stripped then "" else "-debug"}-${version}";
 
   builder = ../builder.sh;
 
@@ -203,7 +162,12 @@ stdenv.mkDerivation ({
       --replace "-install_name \\\$rpath/\\\$soname" "-install_name $lib/lib/\\\$soname"
   '';
 
-  postPatch =
+  postPatch = ''
+    configureScripts=$(find . -name configure)
+    for configureScript in $configureScripts; do
+      patchShebangs $configureScript
+    done
+  '' + (
     if targetPlatform.isHurd
     then
       # On GNU/Hurd glibc refers to Hurd & Mach headers and libpthread is not
@@ -258,17 +222,16 @@ stdenv.mkDerivation ({
             sed -i gcc/config/linux.h -e '1i#undef LOCAL_INCLUDE_DIR'
         ''
         )
-    else null;
+    else "");
 
   # TODO(@Ericson2314): Make passthru instead. Weird to avoid mass rebuild,
   crossStageStatic = targetPlatform == hostPlatform || crossStageStatic;
-  inherit noSysDirs staticCompiler langJava
+  inherit noSysDirs staticCompiler
     libcCross crossMingw;
 
   depsBuildBuild = [ buildPackages.stdenv.cc ];
   nativeBuildInputs = [ texinfo which gettext ]
-    ++ (optional (perl != null) perl)
-    ++ (optional javaAwtGtk pkgconfig);
+    ++ (optional (perl != null) perl);
 
   # For building runtime libs
   depsBuildTarget =
@@ -283,11 +246,7 @@ stdenv.mkDerivation ({
     targetPackages.stdenv.cc.bintools # For linking code at run-time
   ] ++ (optional (isl != null) isl)
     ++ (optional (zlib != null) zlib)
-    ++ (optionals langJava [ boehmgc zip unzip ])
-    ++ (optionals javaAwtGtk ([ gtk2 libart_lgpl ] ++ xlibs))
     ++ (optionals (targetPlatform != hostPlatform) [targetPackages.stdenv.cc.bintools])
-    ++ (optionals langAda [gnatboot])
-    ++ (optionals langVhdl [gnat])
 
     # The builder relies on GNU sed (for instance, Darwin's `sed' fails with
     # "-i may not be used with stdin"), and `stdenvNative' doesn't provide it.
@@ -334,9 +293,6 @@ stdenv.mkDerivation ({
           (  optional langC        "c"
           ++ optional langCC       "c++"
           ++ optional langFortran  "fortran"
-          ++ optional langJava     "java"
-          ++ optional langAda      "ada"
-          ++ optional langVhdl     "vhdl"
           ++ optional langGo       "go"
           ++ optional langObjC     "objc"
           ++ optional langObjCpp   "obj-c++"
@@ -357,21 +313,6 @@ stdenv.mkDerivation ({
     # Optional features
     optional (isl != null) "--with-isl=${isl}" ++
 
-    # Java options
-    optionals langJava [
-      "--with-ecj-jar=${javaEcj}"
-
-      # Follow Sun's layout for the convenience of IcedTea/OpenJDK.  See
-      # <http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2010-April/008888.html>.
-      "--enable-java-home"
-      "--with-java-home=\${prefix}/lib/jvm/jre"
-    ] ++
-    optional javaAwtGtk "--enable-java-awt=gtk" ++
-    optional (langJava && javaAntlr != null) "--with-antlr-jar=${javaAntlr}" ++
-
-    # Ada
-    optional langAda "--enable-libada" ++
-
     (import ../common/platform-flags.nix { inherit (stdenv) lib targetPlatform; }) ++
     optional (targetPlatform != hostPlatform) crossConfigureFlags ++
     optional (!bootstrap) "--disable-bootstrap" ++
@@ -388,31 +329,25 @@ stdenv.mkDerivation ({
 
   targetConfig = if targetPlatform != hostPlatform then targetPlatform.config else null;
 
-  buildFlags =
-    optional bootstrap (if profiledCompiler then "profiledbootstrap" else "bootstrap");
+  buildFlags = optional
+    (bootstrap && hostPlatform == buildPlatform)
+    (if profiledCompiler then "profiledbootstrap" else "bootstrap");
+
+  dontStrip = !stripped;
+
+  doCheck = false; # requires a lot of tools, causes a dependency cycle for stdenv
 
   installTargets =
     if stripped
     then "install-strip"
     else "install";
 
-  /* For cross-built gcc (build != host == target) */
-  crossAttrs = {
-    dontStrip = true;
-    buildFlags = "";
-  };
-
   # http://gcc.gnu.org/install/specific.html#x86-64-x-solaris210
   ${if hostPlatform.system == "x86_64-solaris" then "CC" else null} = "gcc -m64";
 
   # Setting $CPATH and $LIBRARY_PATH to make sure both `gcc' and `xgcc' find the
   # library headers and binaries, regarless of the language being compiled.
   #
-  # Note: When building the Java AWT GTK+ peer, the build system doesn't honor
-  # `--with-gmp' et al., e.g., when building
-  # `libjava/classpath/native/jni/java-math/gnu_java_math_GMP.c', so we just add
-  # them to $CPATH and $LIBRARY_PATH in this case.
-  #
   # Likewise, the LTO code doesn't find zlib.
   #
   # Cross-compiling, we need gcc not to read ./specs in order to build the g++
@@ -421,9 +356,6 @@ stdenv.mkDerivation ({
 
   CPATH = optionals (targetPlatform == hostPlatform) (makeSearchPathOutput "dev" "include" ([]
     ++ optional (zlib != null) zlib
-    ++ optional langJava boehmgc
-    ++ optionals javaAwtGtk xlibs
-    ++ optionals javaAwtGtk [ gmp mpfr ]
     ++ optional (libpthread != null) libpthread
     ++ optional (libpthreadCross != null) libpthreadCross
 
@@ -435,9 +367,6 @@ stdenv.mkDerivation ({
 
   LIBRARY_PATH = optionals (targetPlatform == hostPlatform) (makeLibraryPath ([]
     ++ optional (zlib != null) zlib
-    ++ optional langJava boehmgc
-    ++ optionals javaAwtGtk xlibs
-    ++ optionals javaAwtGtk [ gmp mpfr ]
     ++ optional (libpthread != null) libpthread)
   );
 
@@ -464,7 +393,7 @@ stdenv.mkDerivation ({
     ]);
 
   passthru =
-    { inherit langC langCC langObjC langObjCpp langAda langFortran langVhdl langGo version; isGNU = true; };
+    { inherit langC langCC langObjC langObjCpp langFortran langGo version; isGNU = true; };
 
   inherit enableParallelBuilding enableMultilib;
 
@@ -478,8 +407,8 @@ stdenv.mkDerivation ({
 
     longDescription = ''
       The GNU Compiler Collection includes compiler front ends for C, C++,
-      Objective-C, Fortran, OpenMP for C/C++/Fortran, Java, and Ada, as well
-      as libraries for these languages (libstdc++, libgcj, libgomp,...).
+      Objective-C, Fortran, OpenMP for C/C++/Fortran, and Ada, as well as
+      libraries for these languages (libstdc++, libgomp,...).
 
       GCC development is a part of the GNU Project, aiming to improve the
       compiler used in the GNU system including the GNU/Linux variant.
@@ -487,12 +416,10 @@ stdenv.mkDerivation ({
 
     maintainers = with stdenv.lib.maintainers; [ ];
 
-    # gnatboot is not available out of linux platforms, so we disable the darwin build
-    # for the gnat (ada compiler).
     platforms =
       stdenv.lib.platforms.linux ++
       stdenv.lib.platforms.freebsd ++
-      optionals (langAda == false) stdenv.lib.platforms.darwin;
+      stdenv.lib.platforms.darwin;
   };
 }
 
@@ -501,8 +428,5 @@ stdenv.mkDerivation ({
   installTargets = "install-gcc install-target-libgcc";
 }
 
-# Strip kills static libs of other archs (hence targetPlatform != hostPlatform)
-// optionalAttrs (!stripped || targetPlatform != hostPlatform) { dontStrip = true; }
-
 // optionalAttrs (enableMultilib) { dontMoveLib64 = true; }
 )
diff --git a/pkgs/development/compilers/gcc/7/riscv-no-relax.patch b/pkgs/development/compilers/gcc/7/riscv-no-relax.patch
new file mode 100644
index 00000000000..93d9cd1d60f
--- /dev/null
+++ b/pkgs/development/compilers/gcc/7/riscv-no-relax.patch
@@ -0,0 +1,109 @@
+commit e7c570f37384d824cb9725f237920e9691e57269
+gpg: Signature made Tue 06 Mar 2018 04:52:46 PM PST
+gpg:                using RSA key 00CE76D1834960DFCE886DF8EF4CA1502CCBAB41
+gpg:                issuer "palmer@dabbelt.com"
+gpg: Good signature from "Palmer Dabbelt <palmer@dabbelt.com>" [ultimate]
+gpg:                 aka "Palmer Dabbelt <palmer@sifive.com>" [ultimate]
+Author: Palmer Dabbelt <palmer@sifive.com>
+Date:   Thu Mar 1 12:01:06 2018 -0800
+
+    RISC-V: Add and document the "-mno-relax" option
+
+    RISC-V relies on aggressive linker relaxation to get good code size.  As
+    a result no text symbol addresses can be known until link time, which
+    means that alignment must be handled during the link.  This alignment
+    pass is essentially just another linker relaxation, so this has the
+    unfortunate side effect that linker relaxation is required for
+    correctness on many RISC-V targets.
+
+    The RISC-V assembler has supported an ".option norelax" for a long time
+    because there are situations in which linker relaxation is a bad idea --
+    the canonical example is when trying to materialize the initial value of
+    the global pointer into a register, which would otherwise be relaxed to
+    a NOP.  We've been relying on users who want to disable relaxation for
+    an entire link to pass "-Wl,--no-relax", but that still relies on the
+    linker relaxing R_RISCV_ALIGN to handle alignment despite it not being
+    strictly necessary.
+
+    This patch adds a GCC option, "-mno-relax", that disable linker
+    relaxation by adding ".option norelax" to the top of every generated
+    assembly file.  The assembler is smart enough to handle alignment at
+    assemble time for files that have never emitted a relaxable relocation,
+    so this is sufficient to really disable all relaxations in the linker,
+    which results in significantly faster link times for large objects.
+
+    This also has the side effect of allowing toolchains that don't support
+    linker relaxation (LLVM and the Linux module loader) to function
+    correctly.  Toolchains that don't support linker relaxation should
+    default to "-mno-relax" and error when presented with any R_RISCV_ALIGN
+    relocation as those need to be handled for correctness.
+
+    gcc/ChangeLog
+
+    2018-03-01  Palmer Dabbelt  <palmer@sifive.com>
+
+            * config/riscv/riscv.opt (mrelax): New option.
+            * config/riscv/riscv.c (riscv_file_start): Emit ".option
+            "norelax" when riscv_mrelax is disabled.
+            * doc/invoke.texi (RISC-V): Document "-mrelax" and "-mno-relax".
+
+diff --git a/gcc/config/riscv/riscv.c b/gcc/config/riscv/riscv.c
+index c38f6c394d54..3e81874de232 100644
+--- a/gcc/config/riscv/riscv.c
++++ b/gcc/config/riscv/riscv.c
+@@ -3979,6 +3979,11 @@ riscv_file_start (void)
+
+   /* Instruct GAS to generate position-[in]dependent code.  */
+   fprintf (asm_out_file, "\t.option %spic\n", (flag_pic ? "" : "no"));
++
++  /* If the user specifies "-mno-relax" on the command line then disable linker
++     relaxation in the assembler.  */
++  if (! riscv_mrelax)
++    fprintf (asm_out_file, "\t.option norelax\n");
+ }
+
+ /* Implement TARGET_ASM_OUTPUT_MI_THUNK.  Generate rtl rather than asm text
+diff --git a/gcc/config/riscv/riscv.opt b/gcc/config/riscv/riscv.opt
+index 581a26bb5c1e..b37ac75d9bb4 100644
+--- a/gcc/config/riscv/riscv.opt
++++ b/gcc/config/riscv/riscv.opt
+@@ -106,6 +106,11 @@ mexplicit-relocs
+ Target Report Mask(EXPLICIT_RELOCS)
+ Use %reloc() operators, rather than assembly macros, to load addresses.
+
++mrelax
++Target Bool Var(riscv_mrelax) Init(1)
++Take advantage of linker relaxations to reduce the number of instructions
++required to materialize symbol addresses.
++
+ Mask(64BIT)
+
+ Mask(MUL)
+diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
+index 8d366c626bae..deb48af2ecad 100644
+--- a/gcc/doc/invoke.texi
++++ b/gcc/doc/invoke.texi
+@@ -1042,7 +1042,8 @@ See RS/6000 and PowerPC Options.
+ -msave-restore  -mno-save-restore @gol
+ -mstrict-align -mno-strict-align @gol
+ -mcmodel=medlow -mcmodel=medany @gol
+--mexplicit-relocs  -mno-explicit-relocs @gol}
++-mexplicit-relocs  -mno-explicit-relocs @gol
++-mrelax -mno-relax @gol}
+
+ @emph{RL78 Options}
+ @gccoptlist{-msim  -mmul=none  -mmul=g13  -mmul=g14  -mallregs @gol
+@@ -23102,6 +23103,12 @@ Use or do not use assembler relocation operators when dealing with symbolic
+ addresses.  The alternative is to use assembler macros instead, which may
+ limit optimization.
+
++@item -mrelax
++@itemx -mno-relax
++Take advantage of linker relaxations to reduce the number of instructions
++required to materialize symbol addresses. The default is to take advantage of
++linker relaxations.
++
+ @end table
+
+ @node RL78 Options
+
diff --git a/pkgs/development/compilers/gcc/7/riscv-pthread-reentrant.patch b/pkgs/development/compilers/gcc/7/riscv-pthread-reentrant.patch
new file mode 100644
index 00000000000..c7527ffb2b1
--- /dev/null
+++ b/pkgs/development/compilers/gcc/7/riscv-pthread-reentrant.patch
@@ -0,0 +1,13 @@
+Index: gcc/config/riscv/linux.h
+===================================================================
+--- a/gcc/config/riscv/linux.h	(revision 257620)
++++ b/gcc/config/riscv/linux.h	(revision 257621)
+@@ -47,6 +47,8 @@
+ 
+ #define ICACHE_FLUSH_FUNC "__riscv_flush_icache"
+ 
++#define CPP_SPEC "%{pthread:-D_REENTRANT}"
++
+ #define LINK_SPEC "\
+ -melf" XLEN_SPEC "lriscv \
+ %{shared} \
diff --git a/pkgs/development/compilers/gcc/4.5/default.nix b/pkgs/development/compilers/gcc/8/default.nix
index 3e20cade8ae..e8c03c38230 100644
--- a/pkgs/development/compilers/gcc/4.5/default.nix
+++ b/pkgs/development/compilers/gcc/8/default.nix
@@ -1,72 +1,63 @@
-{ stdenv, targetPackages, fetchurl, noSysDirs
+{ stdenv, targetPackages, fetchurl, fetchpatch, noSysDirs
 , langC ? true, langCC ? true, langFortran ? false
-, langJava ? false
-, langAda ? false
-, langVhdl ? false
+, langObjC ? targetPlatform.isDarwin
+, langObjCpp ? targetPlatform.isDarwin
+, langGo ? false
 , profiledCompiler ? false
 , staticCompiler ? false
 , enableShared ? true
 , texinfo ? null
-, perl ? null # optional, for texi2pod (then pod2man); required for Java
+, perl ? null # optional, for texi2pod (then pod2man)
 , gmp, mpfr, libmpc, gettext, which
 , libelf                      # optional, for link-time optimizations (LTO)
-, ppl ? null, cloogppl ? null # optional, for the Graphite optimization framework
-, zlib ? null, boehmgc ? null
-, zip ? null, unzip ? null, pkgconfig ? null, gtk2 ? null, libart_lgpl ? null
-, libX11 ? null, libXt ? null, libSM ? null, libICE ? null, libXtst ? null
-, libXrender ? null, xproto ? null, renderproto ? null, xextproto ? null
-, libXrandr ? null, libXi ? null, inputproto ? null, randrproto ? null
-, gnatboot ? null
+, isl ? null # optional, for the Graphite optimization framework.
+, zlib ? null
 , enableMultilib ? false
+, enablePlugin ? hostPlatform == buildPlatform # Whether to support user-supplied plug-ins
 , name ? "gcc"
 , libcCross ? null
 , crossStageStatic ? false
-, gnat ? null
 , libpthread ? null, libpthreadCross ? null  # required for GNU/Hurd
-, stripped ? true
+, # Strip kills static libs of other archs (hence no cross)
+  stripped ? hostPlatform == buildPlatform && targetPlatform == hostPlatform
+, gnused ? null
+, cloog # unused; just for compat with gcc4, as we override the parameter on some places
+, darwin ? null
 , buildPlatform, hostPlatform, targetPlatform
 , buildPackages
 }:
 
-assert langJava     -> zip != null && unzip != null
-                       && zlib != null && boehmgc != null
-                       && perl != null;  # for `--enable-java-home'
-assert langAda      -> gnatboot != null;
-assert langVhdl     -> gnat != null;
-
 # LTO needs libelf and zlib.
 assert libelf != null -> zlib != null;
 
+# Make sure we get GNU sed.
+assert hostPlatform.isDarwin -> gnused != null;
+
+# The go frontend is written in c++
+assert langGo -> langCC;
+
 with stdenv.lib;
 with builtins;
 
-let version = "4.5.4";
-    javaEcj = fetchurl {
-      # The `$(top_srcdir)/ecj.jar' file is automatically picked up at
-      # `configure' time.
-
-      # XXX: Eventually we might want to take it from upstream.
-      url = "ftp://sourceware.org/pub/java/ecj-4.3.jar";
-      sha256 = "0jz7hvc0s6iydmhgh5h2m15yza7p2rlss2vkif30vm9y77m97qcx";
-    };
-
-    # Antlr (optional) allows the Java `gjdoc' tool to be built.  We want a
-    # binary distribution here to allow the whole chain to be bootstrapped.
-    javaAntlr = fetchurl {
-      url = http://www.antlr.org/download/antlr-3.1.3.jar;
-      sha256 = "1f41j0y4kjydl71lqlvr73yagrs2jsg1fjymzjz66mjy7al5lh09";
-    };
-
-    xlibs = [
-      libX11 libXt libSM libICE libXtst libXrender libXrandr libXi
-      xproto renderproto xextproto inputproto randrproto
-    ];
+let version = "8.1.0";
 
-    javaAwtGtk = langJava && gtk2 != null;
+    # Whether building a cross-compiler for GNU/Hurd.
+    crossGNU = targetPlatform != hostPlatform && targetPlatform.config == "i586-pc-gnu";
 
-    /* Cross-gcc settings */
-    crossMingw = (targetPlatform != hostPlatform && targetPlatform.libc == "msvcrt");
+    enableParallelBuilding = true;
 
+    patches =
+         optional (targetPlatform != hostPlatform) ../libstdc++-target.patch
+      ++ optional noSysDirs ../no-sys-dirs.patch
+      /* ++ optional (hostPlatform != buildPlatform) (fetchpatch { # XXX: Refine when this should be applied
+        url = "https://git.busybox.net/buildroot/plain/package/gcc/${version}/0900-remove-selftests.patch?id=11271540bfe6adafbc133caf6b5b902a816f5f02";
+        sha256 = ""; # TODO: uncomment and check hash when available.
+      }) */
+      ++ optional langFortran ../gfortran-driving.patch;
+
+    /* Cross-gcc settings (build == host != target) */
+    crossMingw = targetPlatform != hostPlatform && targetPlatform.libc == "msvcrt";
+    crossDarwin = targetPlatform != hostPlatform && targetPlatform.libc == "libSystem";
     crossConfigureFlags =
       # Ensure that -print-prog-name is able to find the correct programs.
       [ "--with-as=${targetPackages.stdenv.cc.bintools}/bin/${targetPlatform.config}-as"
@@ -88,12 +79,17 @@ let version = "4.5.4";
         "--disable-nls"
         "--without-headers"
         "--disable-threads"
-        "--disable-libmudflap"
         "--disable-libgomp"
+        "--disable-libquadmath"
         "--disable-shared"
+        "--disable-libatomic"  # libatomic requires libc
         "--disable-decimal-float" # libdecnumber requires libc
+        # maybe only needed on musl, PATH_MAX
+        # https://github.com/richfelker/musl-cross-make/blob/0867cdf300618d1e3e87a0a939fa4427207ad9d7/litecross/Makefile#L62
+        "--disable-libmpx"
       ] else [
-        "--with-headers=${libcCross}/include"
+        (if crossDarwin then "--with-sysroot=${getLib libcCross}/share/sysroot"
+         else                "--with-headers=${getDev libcCross}/include")
         "--enable-__cxa_atexit"
         "--enable-long-long"
       ] ++
@@ -101,56 +97,72 @@ let version = "4.5.4";
           "--enable-threads=win32"
           "--enable-sjlj-exceptions"
           "--enable-hash-synchronization"
-          "--enable-version-specific-runtime-libs"
           "--enable-libssp"
           "--disable-nls"
           "--with-dwarf2"
-        ] else [
+          # To keep ABI compatibility with upstream mingw-w64
+          "--enable-fully-dynamic-string"
+        ] else
+          optionals (targetPlatform.libc == "uclibc" || targetPlatform.libc == "musl") [
+            # libsanitizer requires netrom/netrom.h which is not
+            # available in uclibc.
+            "--disable-libsanitizer"
+            # In uclibc cases, libgomp needs an additional '-ldl'
+            # and as I don't know how to pass it, I disable libgomp.
+            "--disable-libgomp"
+            # musl at least, disable: https://git.buildroot.net/buildroot/commit/?id=873d4019f7fb00f6a80592224236b3ba7d657865
+            "--disable-libmpx"
+          ] ++ [
           "--enable-threads=posix"
           "--enable-nls"
           "--disable-decimal-float" # No final libdecnumber (it may work only in 386)
         ]));
-    stageNameAddon = if crossStageStatic then "-stage-static" else
-      "-stage-final";
+    stageNameAddon = if crossStageStatic then "-stage-static" else "-stage-final";
     crossNameAddon = if targetPlatform != hostPlatform then "-${targetPlatform.config}" + stageNameAddon else "";
 
-in
+    bootstrap = targetPlatform == hostPlatform;
 
-# We need all these X libraries when building AWT with GTK+.
-assert gtk2 != null -> (filter (x: x == null) xlibs) == [];
+in
 
 stdenv.mkDerivation ({
-  name = "${name}-${version}" + crossNameAddon;
+  name = "${name}${if stripped then "" else "-debug"}-${version}" + crossNameAddon;
 
   builder = ../builder.sh;
 
-  src = (import ./sources.nix) {
-    inherit fetchurl optional version;
-    inherit langC langCC langFortran langJava langAda;
+  src = fetchurl {
+    url = "mirror://gcc/releases/gcc-${version}/gcc-${version}.tar.xz";
+    sha256 = "0lxil8x0jjx7zbf90cy1rli650akaa6hpk8wk8s62vk2jbwnc60x";
   };
 
-  hardeningDisable = [ "format" ] ++ optional (name != "gnat") "all";
-
-  outputs = [ "out" "man" "info" ]
-    ++ optional (!(hostPlatform.is64bit && langAda)) "lib";
+  inherit patches;
 
+  outputs = [ "out" "lib" "man" "info" ];
   setOutputFlags = false;
   NIX_NO_SELF_RPATH = true;
 
   libc_dev = stdenv.cc.libc_dev;
 
-  patches =
-    [ ]
-    ++ optional (targetPlatform != hostPlatform) ../libstdc++-target.patch
-    ++ optional noSysDirs ./no-sys-dirs.patch
-    # The GNAT Makefiles did not pay attention to CFLAGS_FOR_TARGET for its
-    # target libraries and tools.
-    ++ optional langAda ../gnat-cflags.patch
-    ++ optional langVhdl ./ghdl-ortho-cflags.patch
-    ++ [ ../struct-ucontext-4.5.patch ] # glibc-2.26
-    ;
+  hardeningDisable = [ "format" ];
 
-  postPatch =
+  # This should kill all the stdinc frameworks that gcc and friends like to
+  # insert into default search paths.
+  prePatch = stdenv.lib.optionalString hostPlatform.isDarwin ''
+    substituteInPlace gcc/config/darwin-c.c \
+      --replace 'if (stdinc)' 'if (0)'
+
+    substituteInPlace libgcc/config/t-slibgcc-darwin \
+      --replace "-install_name @shlib_slibdir@/\$(SHLIB_INSTALL_NAME)" "-install_name $lib/lib/\$(SHLIB_INSTALL_NAME)"
+
+    substituteInPlace libgfortran/configure \
+      --replace "-install_name \\\$rpath/\\\$soname" "-install_name $lib/lib/\\\$soname"
+  '';
+
+  postPatch = ''
+    configureScripts=$(find . -name configure)
+    for configureScript in $configureScripts; do
+      patchShebangs $configureScript
+    done
+  '' + (
     if targetPlatform.isHurd
     then
       # On GNU/Hurd glibc refers to Hurd & Mach headers and libpthread is not
@@ -159,7 +171,6 @@ stdenv.mkDerivation ({
       let
         libc = if libcCross != null then libcCross else stdenv.glibc;
         gnu_h = "gcc/config/gnu.h";
-        i386_gnu_h = "gcc/config/i386/gnu.h";
         extraCPPDeps =
              libc.propagatedBuildInputs
           ++ stdenv.lib.optional (libpthreadCross != null) libpthreadCross
@@ -172,8 +183,8 @@ stdenv.mkDerivation ({
           then "-L${libpthreadCross}/lib ${libpthreadCross.TARGET_LDFLAGS}"
           else "-L${libpthread}/lib";
       in
-        '' echo "augmenting \`CPP_SPEC' in \`${i386_gnu_h}' with \`${extraCPPSpec}'..."
-           sed -i "${i386_gnu_h}" \
+        '' echo "augmenting \`CPP_SPEC' in \`${gnu_h}' with \`${extraCPPSpec}'..."
+           sed -i "${gnu_h}" \
                -es'|CPP_SPEC *"\(.*\)$|CPP_SPEC "${extraCPPSpec} \1|g'
 
            echo "augmenting \`LIB_SPEC' in \`${gnu_h}' with \`${extraLibSpec}'..."
@@ -183,8 +194,6 @@ stdenv.mkDerivation ({
            echo "setting \`NATIVE_SYSTEM_HEADER_DIR' and \`STANDARD_INCLUDE_DIR' to \`${libc.dev}/include'..."
            sed -i "${gnu_h}" \
                -es'|#define STANDARD_INCLUDE_DIR.*$|#define STANDARD_INCLUDE_DIR "${libc.dev}/include"|g'
-           sed -i gcc/config/t-gnu \
-               -es'|NATIVE_SYSTEM_HEADER_DIR.*$|NATIVE_SYSTEM_HEADER_DIR = ${libc.dev}/include|g'
         ''
     else if targetPlatform != hostPlatform || stdenv.cc.libc != null then
       # On NixOS, use the right path to the dynamic linker instead of
@@ -192,25 +201,32 @@ stdenv.mkDerivation ({
       let
         libc = if libcCross != null then libcCross else stdenv.cc.libc;
       in
-        '' echo "fixing the \`GLIBC_DYNAMIC_LINKER' and \`UCLIBC_DYNAMIC_LINKER' macros..."
+        (
+        '' echo "fixing the \`GLIBC_DYNAMIC_LINKER', \`UCLIBC_DYNAMIC_LINKER', and \`MUSL_DYNAMIC_LINKER' macros..."
            for header in "gcc/config/"*-gnu.h "gcc/config/"*"/"*.h
            do
-             grep -q LIBC_DYNAMIC_LINKER "$header" || continue
+             grep -q _DYNAMIC_LINKER "$header" || continue
              echo "  fixing \`$header'..."
              sed -i "$header" \
-                 -e 's|define[[:blank:]]*\([UCG]\+\)LIBC_DYNAMIC_LINKER\([0-9]*\)[[:blank:]]"\([^\"]\+\)"$|define \1LIBC_DYNAMIC_LINKER\2 "${libc.out}\3"|g'
+                 -e 's|define[[:blank:]]*\([UCG]\+\)LIBC_DYNAMIC_LINKER\([0-9]*\)[[:blank:]]"\([^\"]\+\)"$|define \1LIBC_DYNAMIC_LINKER\2 "${libc.out}\3"|g' \
+                 -e 's|define[[:blank:]]*MUSL_DYNAMIC_LINKER\([0-9]*\)[[:blank:]]"\([^\"]\+\)"$|define MUSL_DYNAMIC_LINKER\1 "${libc.out}\2"|g'
            done
         ''
-    else null;
+        + stdenv.lib.optionalString (targetPlatform.libc == "musl")
+        ''
+            sed -i gcc/config/linux.h -e '1i#undef LOCAL_INCLUDE_DIR'
+        ''
+        )
+    else "");
 
   # TODO(@Ericson2314): Make passthru instead. Weird to avoid mass rebuild,
   crossStageStatic = targetPlatform == hostPlatform || crossStageStatic;
-  inherit noSysDirs profiledCompiler staticCompiler langJava
+  inherit noSysDirs staticCompiler
     libcCross crossMingw;
 
   depsBuildBuild = [ buildPackages.stdenv.cc ];
   nativeBuildInputs = [ texinfo which gettext ]
-    ++ optional (perl != null) perl;
+    ++ (optional (perl != null) perl);
 
   # For building runtime libs
   depsBuildTarget =
@@ -223,25 +239,37 @@ stdenv.mkDerivation ({
   buildInputs = [
     gmp mpfr libmpc libelf
     targetPackages.stdenv.cc.bintools # For linking code at run-time
-  ] ++ (optional (ppl != null) ppl)
-    ++ (optional (cloogppl != null) cloogppl)
+  ] ++ (optional (isl != null) isl)
     ++ (optional (zlib != null) zlib)
-    ++ (optional langJava boehmgc)
-    ++ (optionals langJava [zip unzip])
-    ++ (optionals javaAwtGtk ([gtk2 pkgconfig libart_lgpl] ++ xlibs))
     ++ (optionals (targetPlatform != hostPlatform) [targetPackages.stdenv.cc.bintools])
-    ++ (optionals langAda [gnatboot])
-    ++ (optionals langVhdl [gnat])
+
+    # The builder relies on GNU sed (for instance, Darwin's `sed' fails with
+    # "-i may not be used with stdin"), and `stdenvNative' doesn't provide it.
+    ++ (optional hostPlatform.isDarwin gnused)
+    ++ (optional hostPlatform.isDarwin targetPackages.stdenv.cc.bintools)
     ;
 
+  NIX_LDFLAGS = stdenv.lib.optionalString  hostPlatform.isSunOS "-lm -ldl";
+
+  preConfigure = stdenv.lib.optionalString (hostPlatform.isSunOS && hostPlatform.is64bit) ''
+    export NIX_LDFLAGS=`echo $NIX_LDFLAGS | sed -e s~$prefix/lib~$prefix/lib/amd64~g`
+    export LDFLAGS_FOR_TARGET="-Wl,-rpath,$prefix/lib/amd64 $LDFLAGS_FOR_TARGET"
+    export CXXFLAGS_FOR_TARGET="-Wl,-rpath,$prefix/lib/amd64 $CXXFLAGS_FOR_TARGET"
+    export CFLAGS_FOR_TARGET="-Wl,-rpath,$prefix/lib/amd64 $CFLAGS_FOR_TARGET"
+  '';
+
+  dontDisableStatic = true;
+
   # TODO(@Ericson2314): Always pass "--target" and always prefix.
   configurePlatforms = [ "build" "host" ] ++ stdenv.lib.optional (targetPlatform != hostPlatform) "target";
 
   configureFlags =
     # Basic dependencies
     [
-      "--with-gmp=${gmp.dev}"
-      "--with-mpfr=${mpfr.dev}"
+      "--with-gmp-include=${gmp.dev}/include"
+      "--with-gmp-lib=${gmp.out}/lib"
+      "--with-mpfr-include=${mpfr.dev}/include"
+      "--with-mpfr-lib=${mpfr.out}/lib"
       "--with-mpc=${libmpc}"
     ] ++
     optional (libelf != null) "--with-libelf=${libelf}" ++
@@ -250,67 +278,69 @@ stdenv.mkDerivation ({
 
     # Basic configuration
     [
+      "--enable-lto"
       "--disable-libstdcxx-pch"
       "--without-included-gettext"
       "--with-system-zlib"
+      "--enable-static"
       "--enable-languages=${
         concatStrings (intersperse ","
           (  optional langC        "c"
           ++ optional langCC       "c++"
           ++ optional langFortran  "fortran"
-          ++ optional langJava     "java"
-          ++ optional langAda      "ada"
-          ++ optional langVhdl     "vhdl"
+          ++ optional langGo       "go"
+          ++ optional langObjC     "objc"
+          ++ optional langObjCpp   "obj-c++"
+          ++ optionals crossDarwin [ "objc" "obj-c++" ]
           )
         )
       }"
     ] ++
-    optional (!enableMultilib) "--disable-multilib" ++
+
+    (if enableMultilib
+      then ["--enable-multilib" "--disable-libquadmath"]
+      else ["--disable-multilib"]) ++
     optional (!enableShared) "--disable-shared" ++
+    (if enablePlugin
+      then ["--enable-plugin"]
+      else ["--disable-plugin"]) ++
 
     # Optional features
-    optional (cloogppl != null) "--with-cloog=${cloogppl}" ++
-    optional (ppl != null) "--with-ppl=${ppl}" ++
-
-    # Java options
-    optionals langJava [
-      "--with-ecj-jar=${javaEcj}"
-
-      # Follow Sun's layout for the convenience of IcedTea/OpenJDK.  See
-      # <http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2010-April/008888.html>.
-      "--enable-java-home"
-      "--with-java-home=\${prefix}/lib/jvm/jre"
-    ] ++
-    optional javaAwtGtk "--enable-java-awt=gtk" ++
-    optional (langJava && javaAntlr != null) "--with-antlr-jar=${javaAntlr}" ++
-
-    # Ada
-    optional langAda "--enable-libada" ++
+    optional (isl != null) "--with-isl=${isl}" ++
 
     (import ../common/platform-flags.nix { inherit (stdenv) lib targetPlatform; }) ++
     optional (targetPlatform != hostPlatform) crossConfigureFlags ++
+    optional (!bootstrap) "--disable-bootstrap" ++
 
     # Platform-specific flags
     optional (targetPlatform == hostPlatform && targetPlatform.isi686) "--with-arch=i686" ++
-    # Trick that should be taken out once we have a mipsel-linux not loongson2f
-    optional (targetPlatform == hostPlatform && stdenv.system == "mipsel-linux") "--with-arch=loongson2f"
+    optionals hostPlatform.isSunOS [
+      "--enable-long-long" "--enable-libssp" "--enable-threads=posix" "--disable-nls" "--enable-__cxa_atexit"
+      # On Illumos/Solaris GNU as is preferred
+      "--with-gnu-as" "--without-gnu-ld"
+    ]
+    ++ optional (targetPlatform == hostPlatform && targetPlatform.libc == "musl") "--disable-libsanitizer"
   ;
 
   targetConfig = if targetPlatform != hostPlatform then targetPlatform.config else null;
 
-  /* For cross-built gcc (build != host == target) */
-  crossAttrs = {
-    dontStrip = true;
-  };
+  buildFlags = optional
+    (bootstrap && hostPlatform == buildPlatform)
+    (if profiledCompiler then "profiledbootstrap" else "bootstrap");
+
+  dontStrip = !stripped;
+
+  installTargets =
+    if stripped
+    then "install-strip"
+    else "install";
+
+  # http://gcc.gnu.org/install/specific.html#x86-64-x-solaris210
+  ${if hostPlatform.system == "x86_64-solaris" then "CC" else null} = "gcc -m64";
 
   # Setting $CPATH and $LIBRARY_PATH to make sure both `gcc' and `xgcc' find the
   # library headers and binaries, regarless of the language being compiled.
   #
-  # Note: When building the Java AWT GTK+ peer, the build system doesn't honor
-  # `--with-gmp' et al., e.g., when building
-  # `libjava/classpath/native/jni/java-math/gnu_java_math_GMP.c', so we just add
-  # them to $CPATH and $LIBRARY_PATH in this case.
-  #
   # Likewise, the LTO code doesn't find zlib.
   #
   # Cross-compiling, we need gcc not to read ./specs in order to build the g++
@@ -319,9 +349,6 @@ stdenv.mkDerivation ({
 
   CPATH = optionals (targetPlatform == hostPlatform) (makeSearchPathOutput "dev" "include" ([]
     ++ optional (zlib != null) zlib
-    ++ optional langJava boehmgc
-    ++ optionals javaAwtGtk xlibs
-    ++ optionals javaAwtGtk [ gmp mpfr ]
     ++ optional (libpthread != null) libpthread
     ++ optional (libpthreadCross != null) libpthreadCross
 
@@ -333,16 +360,13 @@ stdenv.mkDerivation ({
 
   LIBRARY_PATH = optionals (targetPlatform == hostPlatform) (makeLibraryPath ([]
     ++ optional (zlib != null) zlib
-    ++ optional langJava boehmgc
-    ++ optionals javaAwtGtk xlibs
-    ++ optionals javaAwtGtk [ gmp mpfr ]
     ++ optional (libpthread != null) libpthread)
   );
 
   EXTRA_TARGET_FLAGS = optionals
     (targetPlatform != hostPlatform && libcCross != null)
     ([
-      "-idirafter ${libcCross.dev}/include"
+      "-idirafter ${getDev libcCross}/include"
     ] ++ optionals (! crossStageStatic) [
       "-B${libcCross.out}/lib"
     ]);
@@ -361,13 +385,12 @@ stdenv.mkDerivation ({
       "-Wl,${libpthreadCross.TARGET_LDFLAGS}"
     ]);
 
-  passthru = {
-    inherit langC langCC langAda langFortran langVhdl enableMultilib version;
-    isGNU = true;
-    hardeningUnsupportedFlags = [ "stackprotector" ];
-  };
+  passthru =
+    { inherit langC langCC langObjC langObjCpp langFortran langGo version; isGNU = true; };
 
-  enableParallelBuilding = !langAda;
+  inherit enableParallelBuilding enableMultilib;
+
+  inherit (stdenv) is64bit;
 
   meta = {
     homepage = http://gcc.gnu.org/;
@@ -377,71 +400,26 @@ stdenv.mkDerivation ({
 
     longDescription = ''
       The GNU Compiler Collection includes compiler front ends for C, C++,
-      Objective-C, Fortran, OpenMP for C/C++/Fortran, Java, and Ada, as well
-      as libraries for these languages (libstdc++, libgcj, libgomp,...).
+      Objective-C, Fortran, OpenMP for C/C++/Fortran, and Ada, as well as
+      libraries for these languages (libstdc++, libgomp,...).
 
       GCC development is a part of the GNU Project, aiming to improve the
       compiler used in the GNU system including the GNU/Linux variant.
     '';
 
-    maintainers = [
-      stdenv.lib.maintainers.viric
-    ];
+    maintainers = with stdenv.lib.maintainers; [ synthetica ];
 
-    # Volunteers needed for the {Cyg,Dar}win ports of *PPL.
-    # gnatboot is not available out of linux platforms, so we disable the darwin build
-    # for the gnat (ada compiler).
-    platforms = stdenv.lib.platforms.linux ++ optionals (langAda == false) [ "i686-darwin" ];
+    platforms =
+      stdenv.lib.platforms.linux ++
+      stdenv.lib.platforms.freebsd ++
+      stdenv.lib.platforms.darwin;
   };
 }
 
-// optionalAttrs (targetPlatform != hostPlatform || libcCross != null) {
-  # `builder.sh' sets $CPP, which leads configure to use "gcc -E" instead of,
-  # say, "i586-pc-gnu-gcc -E" when building `gcc.crossDrv'.
-  # FIXME: Fix `builder.sh' directly in the next stdenv-update.
-  postUnpack = "unset CPP";
-}
-
 // optionalAttrs (targetPlatform != hostPlatform && targetPlatform.libc == "msvcrt" && crossStageStatic) {
   makeFlags = [ "all-gcc" "all-target-libgcc" ];
   installTargets = "install-gcc install-target-libgcc";
 }
 
-# GCC 4.5.2 doesn't support the `install-strip' target, so let `stdenv' do
-# the stripping by default.
-// optionalAttrs (!stripped) { dontStrip = true; }
-
-// optionalAttrs langVhdl rec {
-  name = "ghdl-0.29";
-
-  ghdlSrc = fetchurl {
-    url = "http://ghdl.free.fr/ghdl-0.29.tar.bz2";
-    sha256 = "15mlinr1lwljwll9ampzcfcrk9bk0qpdks1kxlvb70xf9zhh2jva";
-  };
-
-  # Ghdl has some timestamps checks, storing file timestamps in '.cf' files.
-  # As we will change the timestamps to 1970-01-01 00:00:01, we also set the
-  # content of that .cf to that value. This way ghdl does not complain on
-  # the installed object files from the basic libraries (ieee, ...)
-  postInstallGhdl = ''
-    pushd $out
-    find . -name "*.cf" -exec \
-        sed 's/[0-9]*\.000" /19700101000001.000" /g' -i {} \;
-    popd
-  '';
-
-  postUnpack = ''
-    tar xvf ${ghdlSrc}
-    mv ghdl-*/vhdl gcc*/gcc
-    rm -Rf ghdl-*
-  '';
-
-  meta = {
-    homepage = http://ghdl.free.fr/;
-    license = stdenv.lib.licenses.gpl2Plus;
-    description = "Complete VHDL simulator, using the GCC technology (gcc ${version})";
-    maintainers = with stdenv.lib.maintainers; [viric];
-    platforms = with stdenv.lib.platforms; linux;
-  };
-
-})
+// optionalAttrs (enableMultilib) { dontMoveLib64 = true; }
+)
diff --git a/pkgs/development/compilers/gcc/builder.sh b/pkgs/development/compilers/gcc/builder.sh
index 1796c83385e..a3250f4021a 100644
--- a/pkgs/development/compilers/gcc/builder.sh
+++ b/pkgs/development/compilers/gcc/builder.sh
@@ -287,8 +287,6 @@ postInstall() {
     # See https://bugs.gentoo.org/show_bug.cgi?id=301299#c31
     paxmark r $out/libexec/gcc/*/*/{cc1,cc1plus}
 
-    eval "$postInstallGhdl"
-
     # Two identical man pages are shipped (moving and compressing is done later)
     ln -sf gcc.1 "$out"/share/man/man1/g++.1
 }
diff --git a/pkgs/development/compilers/gcc/gnat-cflags.patch b/pkgs/development/compilers/gcc/gnat-cflags.patch
deleted file mode 100644
index bf2acf065e9..00000000000
--- a/pkgs/development/compilers/gcc/gnat-cflags.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-diff --git a/libada/Makefile.in b/libada/Makefile.in
-index f5057a0..337e0c6 100644
---- a/libada/Makefile.in
-+++ b/libada/Makefile.in
-@@ -55,7 +55,7 @@ GCC_WARN_CFLAGS = $(LOOSE_WARN)
- WARN_CFLAGS = @warn_cflags@
- 
- TARGET_LIBGCC2_CFLAGS=
--GNATLIBCFLAGS= -g -O2
-+GNATLIBCFLAGS= -g -O2 $(CFLAGS)
- GNATLIBCFLAGS_FOR_C = $(GNATLIBCFLAGS) $(TARGET_LIBGCC2_CFLAGS) -fexceptions \
- 	-DIN_RTS @have_getipinfo@
- 
---- a/gcc/ada/gcc-interface/Makefile.in
-+++ b/gcc/ada/gcc-interface/Makefile.in
-@@ -105,7 +105,7 @@ ADAFLAGS = -W -Wall -gnatpg -gnata
- SOME_ADAFLAGS =-gnata
- FORCE_DEBUG_ADAFLAGS = -g
- GNATLIBFLAGS = -gnatpg -nostdinc
--GNATLIBCFLAGS = -g -O2
-+GNATLIBCFLAGS = -g -O2 $(CFLAGS_FOR_TARGET)
- # Pretend that _Unwind_GetIPInfo is available for the target by default.  This
- # should be autodetected during the configuration of libada and passed down to
- # here, but we need something for --disable-libada and hope for the best.
-@@ -193,7 +193,7 @@ RTSDIR = rts$(subst /,_,$(MULTISUBDIR))
- # Link flags used to build gnat tools.  By default we prefer to statically
- # link with libgcc to avoid a dependency on shared libgcc (which is tricky
- # to deal with as it may conflict with the libgcc provided by the system).
--GCC_LINK_FLAGS=-static-libgcc
-+GCC_LINK_FLAGS=-static-libgcc $(CFLAGS_FOR_TARGET)
- 
- # End of variables for you to override.
- 
diff --git a/pkgs/development/compilers/gcc/libstdc++-hook.sh b/pkgs/development/compilers/gcc/libstdc++-hook.sh
index 2d30c845b5a..8b1d5d2da67 100644
--- a/pkgs/development/compilers/gcc/libstdc++-hook.sh
+++ b/pkgs/development/compilers/gcc/libstdc++-hook.sh
@@ -1,2 +1,5 @@
-export NIX_CXXSTDLIB_COMPILE+="-isystem $(echo -n @gcc@/include/c++/*) -isystem $(echo -n @gcc@/include/c++/*)/$(@gcc@/bin/gcc -dumpmachine)"
-export NIX_CXXSTDLIB_LINK=" -stdlib=libstdc++"
+# See pkgs/build-support/setup-hooks/role.bash
+getHostRole
+
+export NIX_${role_pre}CXXSTDLIB_COMPILE+=" -isystem $(echo -n @gcc@/include/c++/*) -isystem $(echo -n @gcc@/include/c++/*)/$(@gcc@/bin/gcc -dumpmachine)"
+export NIX_${role_pre}CXXSTDLIB_LINK=" -stdlib=libstdc++"
diff --git a/pkgs/development/compilers/gcc/snapshot/default.nix b/pkgs/development/compilers/gcc/snapshot/default.nix
index 884bccd37f0..4e69d7e0408 100644
--- a/pkgs/development/compilers/gcc/snapshot/default.nix
+++ b/pkgs/development/compilers/gcc/snapshot/default.nix
@@ -2,34 +2,24 @@
 , langC ? true, langCC ? true, langFortran ? false
 , langObjC ? targetPlatform.isDarwin
 , langObjCpp ? targetPlatform.isDarwin
-, langJava ? false
-, langAda ? false
-, langVhdl ? false
 , langGo ? false
 , profiledCompiler ? false
 , staticCompiler ? false
 , enableShared ? true
 , texinfo ? null
-, perl ? null # optional, for texi2pod (then pod2man); required for Java
+, perl ? null # optional, for texi2pod (then pod2man)
 , gmp, mpfr, libmpc, gettext, which
 , libelf                      # optional, for link-time optimizations (LTO)
 , isl ? null # optional, for the Graphite optimization framework.
-, zlib ? null, boehmgc ? null
-, zip ? null, unzip ? null, pkgconfig ? null
-, gtk2 ? null, libart_lgpl ? null
-, libX11 ? null, libXt ? null, libSM ? null, libICE ? null, libXtst ? null
-, libXrender ? null, xproto ? null, renderproto ? null, xextproto ? null
-, libXrandr ? null, libXi ? null, inputproto ? null, randrproto ? null
-, x11Support ? langJava
-, gnatboot ? null
+, zlib ? null
 , enableMultilib ? false
 , enablePlugin ? hostPlatform == buildPlatform # Whether to support user-supplied plug-ins
 , name ? "gcc"
 , libcCross ? null
 , crossStageStatic ? false
-, gnat ? null
 , libpthread ? null, libpthreadCross ? null  # required for GNU/Hurd
-, stripped ? true
+, # Strip kills static libs of other archs (hence no cross)
+  stripped ? hostPlatform == buildPlatform && targetPlatform == hostPlatform
 , gnused ? null
 , cloog # unused; just for compat with gcc4, as we override the parameter on some places
 , darwin ? null
@@ -38,12 +28,6 @@
 , buildPackages
 }:
 
-assert langJava     -> zip != null && unzip != null
-                       && zlib != null && boehmgc != null
-                       && perl != null;  # for `--enable-java-home'
-assert langAda      -> gnatboot != null;
-assert langVhdl     -> gnat != null;
-
 # LTO needs libelf and zlib.
 assert libelf != null -> zlib != null;
 
@@ -67,34 +51,8 @@ let version = "7-20170409";
       [ ]
       ++ optional (targetPlatform != hostPlatform) ../libstdc++-target.patch
       ++ optional noSysDirs ../no-sys-dirs.patch
-      # The GNAT Makefiles did not pay attention to CFLAGS_FOR_TARGET for its
-      # target libraries and tools.
-      ++ optional langAda ../gnat-cflags.patch
       ++ optional langFortran ../gfortran-driving.patch;
 
-    javaEcj = fetchurl {
-      # The `$(top_srcdir)/ecj.jar' file is automatically picked up at
-      # `configure' time.
-
-      # XXX: Eventually we might want to take it from upstream.
-      url = "ftp://sourceware.org/pub/java/ecj-4.3.jar";
-      sha256 = "0jz7hvc0s6iydmhgh5h2m15yza7p2rlss2vkif30vm9y77m97qcx";
-    };
-
-    # Antlr (optional) allows the Java `gjdoc' tool to be built.  We want a
-    # binary distribution here to allow the whole chain to be bootstrapped.
-    javaAntlr = fetchurl {
-      url = http://www.antlr.org/download/antlr-4.4-complete.jar;
-      sha256 = "02lda2imivsvsis8rnzmbrbp8rh1kb8vmq4i67pqhkwz7lf8y6dz";
-    };
-
-    xlibs = [
-      libX11 libXt libSM libICE libXtst libXrender libXrandr libXi
-      xproto renderproto xextproto inputproto randrproto
-    ];
-
-    javaAwtGtk = langJava && x11Support;
-
     /* Cross-gcc settings (build == host != target) */
     crossMingw = targetPlatform != hostPlatform && targetPlatform.libc == "msvcrt";
     crossDarwin = targetPlatform != hostPlatform && targetPlatform.libc == "libSystem";
@@ -159,9 +117,6 @@ let version = "7-20170409";
 
 in
 
-# We need all these X libraries when building AWT with GTK+.
-assert x11Support -> (filter (x: x == null) ([ gtk2 libart_lgpl ] ++ xlibs)) == [];
-
 stdenv.mkDerivation ({
   name = "${name}${if stripped then "" else "-debug"}-${version}" + crossNameAddon;
 
@@ -234,13 +189,12 @@ stdenv.mkDerivation ({
 
   # TODO(@Ericson2314): Make passthru instead. Weird to avoid mass rebuild,
   crossStageStatic = targetPlatform == hostPlatform || crossStageStatic;
-  inherit noSysDirs staticCompiler langJava
+  inherit noSysDirs staticCompiler
     libcCross crossMingw;
 
   depsBuildBuild = [ buildPackages.stdenv.cc ];
   nativeBuildInputs = [ texinfo which gettext ]
-    ++ (optional (perl != null) perl)
-    ++ (optional javaAwtGtk pkgconfig);
+    ++ (optional (perl != null) perl);
 
   # For building runtime libs
   depsBuildTarget =
@@ -255,11 +209,7 @@ stdenv.mkDerivation ({
     targetPackages.stdenv.cc.bintools # For linking code at run-time
   ] ++ (optional (isl != null) isl)
     ++ (optional (zlib != null) zlib)
-    ++ (optionals langJava [ boehmgc zip unzip ])
-    ++ (optionals javaAwtGtk ([ gtk2 libart_lgpl ] ++ xlibs))
     ++ (optionals (targetPlatform != hostPlatform) [targetPackages.stdenv.cc.bintools])
-    ++ (optionals langAda [gnatboot])
-    ++ (optionals langVhdl [gnat])
 
     # The builder relies on GNU sed (for instance, Darwin's `sed' fails with
     # "-i may not be used with stdin"), and `stdenvNative' doesn't provide it.
@@ -306,9 +256,6 @@ stdenv.mkDerivation ({
           (  optional langC        "c"
           ++ optional langCC       "c++"
           ++ optional langFortran  "fortran"
-          ++ optional langJava     "java"
-          ++ optional langAda      "ada"
-          ++ optional langVhdl     "vhdl"
           ++ optional langGo       "go"
           ++ optional langObjC     "objc"
           ++ optional langObjCpp   "obj-c++"
@@ -329,20 +276,6 @@ stdenv.mkDerivation ({
     # Optional features
     optional (isl != null) "--with-isl=${isl}" ++
 
-    # Java options
-    optionals langJava [
-      "--with-ecj-jar=${javaEcj}"
-
-      # Follow Sun's layout for the convenience of IcedTea/OpenJDK.  See
-      # <http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2010-April/008888.html>.
-      "--enable-java-home"
-      "--with-java-home=\${prefix}/lib/jvm/jre"
-    ] ++
-    optional javaAwtGtk "--enable-java-awt=gtk" ++
-    optional (langJava && javaAntlr != null) "--with-antlr-jar=${javaAntlr}" ++
-
-    # Ada
-    optional langAda "--enable-libada" ++
 
     (import ../common/platform-flags.nix { inherit (stdenv) lib targetPlatform; }) ++
     optional (targetPlatform != hostPlatform) crossConfigureFlags ++
@@ -363,28 +296,20 @@ stdenv.mkDerivation ({
     (if profiledCompiler then "profiledbootstrap" else "bootstrap")
     else "";
 
+  dontStrip = !stripped;
+  NIX_STRIP_DEBUG = !stripped;
+
   installTargets =
     if stripped
     then "install-strip"
     else "install";
 
-  /* For cross-built gcc (build != host == target) */
-  crossAttrs = {
-    dontStrip = true;
-    buildFlags = "";
-  };
-
   # http://gcc.gnu.org/install/specific.html#x86-64-x-solaris210
   ${if hostPlatform.system == "x86_64-solaris" then "CC" else null} = "gcc -m64";
 
   # Setting $CPATH and $LIBRARY_PATH to make sure both `gcc' and `xgcc' find the
   # library headers and binaries, regarless of the language being compiled.
   #
-  # Note: When building the Java AWT GTK+ peer, the build system doesn't honor
-  # `--with-gmp' et al., e.g., when building
-  # `libjava/classpath/native/jni/java-math/gnu_java_math_GMP.c', so we just add
-  # them to $CPATH and $LIBRARY_PATH in this case.
-  #
   # Likewise, the LTO code doesn't find zlib.
   #
   # Cross-compiling, we need gcc not to read ./specs in order to build the g++
@@ -393,9 +318,6 @@ stdenv.mkDerivation ({
 
   CPATH = optionals (targetPlatform == hostPlatform) (makeSearchPathOutput "dev" "include" ([]
     ++ optional (zlib != null) zlib
-    ++ optional langJava boehmgc
-    ++ optionals javaAwtGtk xlibs
-    ++ optionals javaAwtGtk [ gmp mpfr ]
     ++ optional (libpthread != null) libpthread
     ++ optional (libpthreadCross != null) libpthreadCross
 
@@ -407,9 +329,6 @@ stdenv.mkDerivation ({
 
   LIBRARY_PATH = optionals (targetPlatform == hostPlatform) (makeLibraryPath ([]
     ++ optional (zlib != null) zlib
-    ++ optional langJava boehmgc
-    ++ optionals javaAwtGtk xlibs
-    ++ optionals javaAwtGtk [ gmp mpfr ]
     ++ optional (libpthread != null) libpthread)
   );
 
@@ -436,7 +355,7 @@ stdenv.mkDerivation ({
     ]);
 
   passthru =
-    { inherit langC langCC langObjC langObjCpp langAda langFortran langVhdl langGo version; isGNU = true; };
+    { inherit langC langCC langObjC langObjCpp langFortran langGo version; isGNU = true; };
 
   inherit enableParallelBuilding enableMultilib;
 
@@ -450,8 +369,8 @@ stdenv.mkDerivation ({
 
     longDescription = ''
       The GNU Compiler Collection includes compiler front ends for C, C++,
-      Objective-C, Fortran, OpenMP for C/C++/Fortran, Java, and Ada, as well
-      as libraries for these languages (libstdc++, libgcj, libgomp,...).
+      Objective-C, Fortran, OpenMP for C/C++/Fortran, and Ada, as well as
+      libraries for these languages (libstdc++, libgomp,...).
 
       GCC development is a part of the GNU Project, aiming to improve the
       compiler used in the GNU system including the GNU/Linux variant.
@@ -459,12 +378,10 @@ stdenv.mkDerivation ({
 
     maintainers = with stdenv.lib.maintainers; [ ];
 
-    # gnatboot is not available out of linux platforms, so we disable the darwin build
-    # for the gnat (ada compiler).
     platforms =
       stdenv.lib.platforms.linux ++
       stdenv.lib.platforms.freebsd ++
-      optionals (langAda == false) stdenv.lib.platforms.darwin;
+      stdenv.lib.platforms.darwin;
 
     broken = true;
   };
@@ -475,8 +392,5 @@ stdenv.mkDerivation ({
   installTargets = "install-gcc install-target-libgcc";
 }
 
-# Strip kills static libs of other archs (hence targetPlatform != hostPlatform)
-// optionalAttrs (!stripped || targetPlatform != hostPlatform) { dontStrip = true; NIX_STRIP_DEBUG = 0; }
-
 // optionalAttrs (enableMultilib) { dontMoveLib64 = true; }
 )
diff --git a/pkgs/development/compilers/gerbil/build.nix b/pkgs/development/compilers/gerbil/build.nix
new file mode 100644
index 00000000000..5609de15d4c
--- /dev/null
+++ b/pkgs/development/compilers/gerbil/build.nix
@@ -0,0 +1,88 @@
+{ stdenv, lib, makeStaticLibraries,
+  coreutils, rsync, bash,
+  openssl, zlib, sqlite, libxml2, libyaml, mysql, lmdb, leveldb, postgresql,
+  version, git-version, GAMBIT, SRC }:
+
+# TODO: distinct packages for gerbil-release and gerbil-devel
+# TODO: make static compilation work
+
+stdenv.mkDerivation rec {
+  name    = "gerbil-${version}";
+  src     = SRC;
+
+  # Use makeStaticLibraries to enable creation of statically linked binaries
+  buildInputs_libraries = [ openssl zlib sqlite libxml2 libyaml mysql.connector-c lmdb leveldb postgresql ];
+  buildInputs_staticLibraries = map makeStaticLibraries buildInputs_libraries;
+
+  buildInputs = [ GAMBIT coreutils rsync bash ]
+    ++ buildInputs_libraries ++ buildInputs_staticLibraries;
+
+  NIX_CFLAGS_COMPILE = [ "-I${mysql.connector-c}/include/mysql" "-L${mysql.connector-c}/lib/mysql" ];
+
+  postPatch = ''
+    echo '(define (gerbil-version-string) "v${git-version}")' > src/gerbil/runtime/gx-version.scm
+
+    patchShebangs .
+
+    find . -type f -executable -print0 | while IFS= read -r -d ''$'\0' f; do
+      substituteInPlace "$f" --replace '#!/usr/bin/env' '#!${coreutils}/bin/env'
+    done
+
+    cat > etc/gerbil_static_libraries.sh <<EOF
+#OPENSSL_LIBCRYPTO=${makeStaticLibraries openssl}/lib/libcrypto.a # MISSING!
+#OPENSSL_LIBSSL=${makeStaticLibraries openssl}/lib/libssl.a # MISSING!
+ZLIB=${makeStaticLibraries zlib}/lib/libz.a
+# SQLITE=${makeStaticLibraries sqlite}/lib/sqlite.a # MISSING!
+# LIBXML2=${makeStaticLibraries libxml2}/lib/libxml2.a # MISSING!
+# YAML=${makeStaticLibraries libyaml}/lib/libyaml.a # MISSING!
+MYSQL=${makeStaticLibraries mysql.connector-c}/lib/mariadb/libmariadb.a
+# LMDB=${makeStaticLibraries lmdb}/lib/mysql/libmysqlclient_r.a # MISSING!
+LEVELDB=${makeStaticLibraries lmdb}/lib/libleveldb.a
+EOF
+  '';
+
+  buildPhase = ''
+    runHook preBuild
+
+    # Enable all optional libraries
+    substituteInPlace "src/std/build-features.ss" --replace '#f' '#t'
+
+    # gxprof testing uses $HOME/.cache/gerbil/gxc
+    export HOME=$$PWD
+
+    # Build, replacing make by build.sh
+    ( cd src && sh build.sh )
+
+    runHook postBuild
+  '';
+
+  installPhase = ''
+    runHook preInstall
+    mkdir -p $out/
+    cp -fa bin lib etc doc $out/
+
+    cat > $out/bin/gxi <<EOF
+#!${bash}/bin/bash -e
+export GERBIL_HOME=$out
+case "\$1" in -:*) GSIOPTIONS=\$1 ; shift ;; esac
+if [[ \$# = 0 ]] ; then
+  exec ${GAMBIT}/bin/gsi \$GSIOPTIONS \$GERBIL_HOME/lib/gxi-init \$GERBIL_HOME/lib/gxi-interactive - ;
+else
+  exec ${GAMBIT}/bin/gsi \$GSIOPTIONS \$GERBIL_HOME/lib/gxi-init "\$@"
+fi
+EOF
+    runHook postInstall
+  '';
+
+  dontStrip = true;
+
+  meta = {
+    description = "Gerbil Scheme";
+    homepage    = "https://github.com/vyzo/gerbil";
+    license     = stdenv.lib.licenses.lgpl2;
+    # NB regarding platforms: only actually tested on Linux, *should* work everywhere,
+    # but *might* need adaptation e.g. on macOS. Please report success and/or failure to fare.
+    platforms   = stdenv.lib.platforms.unix;
+    maintainers = with stdenv.lib.maintainers; [ fare ];
+  };
+}
diff --git a/pkgs/development/compilers/gerbil/default.nix b/pkgs/development/compilers/gerbil/default.nix
index c1a411120d0..eaab0e71d3b 100644
--- a/pkgs/development/compilers/gerbil/default.nix
+++ b/pkgs/development/compilers/gerbil/default.nix
@@ -1,91 +1,11 @@
-{ stdenv, lib, fetchurl, fetchgit, makeStaticLibraries, gambit,
-  coreutils, rsync, bash,
-  openssl, zlib, sqlite, libxml2, libyaml, mysql, lmdb, leveldb, postgresql }:
-
-# TODO: distinct packages for gerbil-release and gerbil-devel
-# TODO: make static compilation work
-
-stdenv.mkDerivation rec {
-  name    = "gerbil-${version}";
+{ callPackage, fetchurl, gambit }:
 
+callPackage ./build.nix {
   version = "0.12-RELEASE";
-  src = fetchgit {
-    url = "https://github.com/vyzo/gerbil.git";
-    rev = "5618892d7939e1cb4ef5247912e0bc1ec99f6b52";
-    sha256 = "0b2valahf5k81r4sp6y12d44fb286p92s7k6dphij0kmvg0dp818";
-  };
-
-  # Use makeStaticLibraries to enable creation of statically linked binaries
-  buildInputs_libraries = [ openssl zlib sqlite libxml2 libyaml mysql.connector-c lmdb leveldb postgresql ];
-  buildInputs_staticLibraries = map makeStaticLibraries buildInputs_libraries;
-
-  buildInputs = [ gambit coreutils rsync bash ]
-    ++ buildInputs_libraries ++ buildInputs_staticLibraries;
-
-  NIX_CFLAGS_COMPILE = [ "-I${mysql.connector-c}/include/mysql" "-L${mysql.connector-c}/lib/mysql" ];
-
-  postPatch = ''
-    echo '(define (gerbil-version-string) "v${version}")' > src/gerbil/runtime/gx-version.scm
-
-    patchShebangs .
-
-    find . -type f -executable -print0 | while IFS= read -r -d ''$'\0' f; do
-      substituteInPlace "$f" --replace '#!/usr/bin/env' '#!${coreutils}/bin/env'
-    done
-
-    cat > etc/gerbil_static_libraries.sh <<EOF
-#OPENSSL_LIBCRYPTO=${makeStaticLibraries openssl}/lib/libcrypto.a # MISSING!
-#OPENSSL_LIBSSL=${makeStaticLibraries openssl}/lib/libssl.a # MISSING!
-ZLIB=${makeStaticLibraries zlib}/lib/libz.a
-# SQLITE=${makeStaticLibraries sqlite}/lib/sqlite.a # MISSING!
-# LIBXML2=${makeStaticLibraries libxml2}/lib/libxml2.a # MISSING!
-# YAML=${makeStaticLibraries libyaml}/lib/libyaml.a # MISSING!
-MYSQL=${makeStaticLibraries mysql.connector-c}/lib/mariadb/libmariadb.a
-# LMDB=${makeStaticLibraries lmdb}/lib/mysql/libmysqlclient_r.a # MISSING!
-LEVELDB=${makeStaticLibraries lmdb}/lib/libleveldb.a
-EOF
-  '';
-
-  buildPhase = ''
-    runHook preBuild
-
-    # Enable all optional libraries
-    substituteInPlace "src/std/build-features.ss" --replace '#f' '#t'
-
-    # gxprof testing uses $HOME/.cache/gerbil/gxc
-    export HOME=$$PWD
-
-    # Build, replacing make by build.sh
-    ( cd src && sh build.sh )
-
-    runHook postBuild
-  '';
-
-  installPhase = ''
-    runHook preInstall
-    mkdir -p $out/
-    cp -fa bin lib etc doc $out/
-
-    cat > $out/bin/gxi <<EOF
-#!${bash}/bin/bash -e
-export GERBIL_HOME=$out
-case "\$1" in -:*) GSIOPTIONS=\$1 ; shift ;; esac
-if [[ \$# = 0 ]] ; then
-  exec ${gambit}/bin/gsi \$GSIOPTIONS \$GERBIL_HOME/lib/gxi-init \$GERBIL_HOME/lib/gxi-interactive - ;
-else
-  exec ${gambit}/bin/gsi \$GSIOPTIONS \$GERBIL_HOME/lib/gxi-init "\$@"
-fi
-EOF
-    runHook postInstall
-  '';
-
-  dontStrip = true;
-
-  meta = {
-    description = "Gerbil Scheme";
-    homepage    = "https://github.com/vyzo/gerbil";
-    license     = stdenv.lib.licenses.lgpl2;
-    platforms   = stdenv.lib.platforms.linux;
-    maintainers = with stdenv.lib.maintainers; [ fare ];
+  git-version = "0.12";
+  GAMBIT = gambit;
+  SRC = fetchurl {
+    url = "https://github.com/vyzo/gerbil/archive/v0.12.tar.gz";
+    sha256 = "0nigr3mgrzai57q2jqac8f39zj8rcmic3277ynyzlgm8hhps71pq";
   };
 }
diff --git a/pkgs/development/compilers/gerbil/unstable.nix b/pkgs/development/compilers/gerbil/unstable.nix
new file mode 100644
index 00000000000..ec36f42d86e
--- /dev/null
+++ b/pkgs/development/compilers/gerbil/unstable.nix
@@ -0,0 +1,12 @@
+{ callPackage, fetchgit, gambit-unstable }:
+
+callPackage ./build.nix {
+  version = "unstable-2018-04-03";
+  git-version = "0.13-DEV-357-ge61318dc";
+  GAMBIT = gambit-unstable;
+  SRC = fetchgit {
+    url = "https://github.com/vyzo/gerbil.git";
+    rev = "e61318dcaa3a9c843e2cf259e67851f240e4beda";
+    sha256 = "1xd7yxiramifdxgp6b3s24z6nkkmy5h4a6pkchvy4w358qv1vqin";
+  };
+}
diff --git a/pkgs/development/compilers/ghc/7.0.4-binary.nix b/pkgs/development/compilers/ghc/7.0.4-binary.nix
deleted file mode 100644
index 8758ee59d38..00000000000
--- a/pkgs/development/compilers/ghc/7.0.4-binary.nix
+++ /dev/null
@@ -1,146 +0,0 @@
-{ stdenv
-, fetchurl, perl
-, ncurses5, gmp, libiconv
-}:
-
-# Prebuilt only does native
-assert stdenv.targetPlatform == stdenv.hostPlatform;
-
-let
-  libPath = stdenv.lib.makeLibraryPath ([
-    ncurses5 gmp
-  ] ++ stdenv.lib.optional (stdenv.hostPlatform.isDarwin) libiconv);
-
-  libEnvVar = stdenv.lib.optionalString stdenv.hostPlatform.isDarwin "DY"
-    + "LD_LIBRARY_PATH";
-
-in
-
-stdenv.mkDerivation rec {
-  version = "7.0.4";
-
-  name = "ghc-${version}-binary";
-
-  src = fetchurl ({
-    "i686-linux" = {
-      url = "http://haskell.org/ghc/dist/${version}/ghc-${version}-i386-unknown-linux.tar.bz2";
-      sha256 = "0mfnihiyjl06f5w1yrjp36sw9g67g2ymg5sdl0g23h1pab99jx63";
-    };
-    "x86_64-linux" = {
-      url = "http://haskell.org/ghc/dist/${version}/ghc-${version}-x86_64-unknown-linux.tar.bz2";
-      sha256 = "0mc4rhqcxz427wq4zgffmnn0d2yjqvy6af4x9mha283p1gdj5q99";
-    };
-    "i686-darwin" = {
-      url = "http://haskell.org/ghc/dist/${version}/ghc-${version}-i386-apple-darwin.tar.bz2";
-      sha256 = "0qj45hslrrr8zfks8m1jcb3awwx9rh35ndnpfmb0gwb6j7azq5n3";
-    };
-    "x86_64-darwin" = {
-      url = "http://haskell.org/ghc/dist/${version}/ghc-${version}-x86_64-apple-darwin.tar.bz2";
-      sha256 = "1m2ml88p1swf4dnv2vq8hz4drcp46n3ahpfi05wh01ajkf8hnn3l";
-    };
-  }.${stdenv.hostPlatform.system}
-    or (throw "cannot bootstrap GHC on this platform"));
-
-  nativeBuildInputs = [ perl ];
-
-  # Cannot patchelf beforehand due to relative RPATHs that anticipate
-  # the final install location/
-  ${libEnvVar} = libPath;
-
-  postUnpack =
-    # GHC has dtrace probes, which causes ld to try to open /usr/lib/libdtrace.dylib
-    # during linking
-    stdenv.lib.optionalString stdenv.isDarwin ''
-      export NIX_LDFLAGS+=" -no_dtrace_dof"
-    '' +
-
-    # Strip is harmful, see also below. It's important that this happens
-    # first. The GHC Cabal build system makes use of strip by default and
-    # has hardcoded paths to /usr/bin/strip in many places. We replace
-    # those below, making them point to our dummy script.
-    ''
-      mkdir "$TMP/bin"
-      for i in strip; do
-        echo '#! ${stdenv.shell}' > "$TMP/bin/$i"
-        chmod +x "$TMP/bin/$i"
-      done
-      PATH="$TMP/bin:$PATH"
-    '' +
-    # We have to patch the GMP paths for the integer-gmp package.
-    ''
-      find . -name integer-gmp.buildinfo \
-          -exec sed -i "s@extra-lib-dirs: @extra-lib-dirs: ${gmp.out}/lib@" {} \;
-    '' + stdenv.lib.optionalString stdenv.isDarwin ''
-      find . -name base.buildinfo \
-          -exec sed -i "s@extra-lib-dirs: @extra-lib-dirs: ${libiconv}/lib@" {} \;
-    '' +
-    # Rename needed libraries and binaries, fix interpreter
-    stdenv.lib.optionalString stdenv.isLinux ''
-      find . -type f -perm -0100 -exec patchelf \
-          --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" {} \;
-
-      paxmark m ./ghc-${version}/ghc/stage2/build/tmp/ghc-stage2
-
-      sed -i "s|/usr/bin/perl|perl\x00        |" ghc-${version}/ghc/stage2/build/tmp/ghc-stage2
-      sed -i "s|/usr/bin/gcc|gcc\x00        |" ghc-${version}/ghc/stage2/build/tmp/ghc-stage2
-      for prog in ld ar gcc strip ranlib; do
-        find . -name "setup-config" -exec sed -i "s@/usr/bin/$prog@$(type -p $prog)@g" {} \;
-      done
-    '';
-
-  configurePlatforms = [ ];
-  configureFlags = [
-    "--with-gmp-libraries=${stdenv.lib.getLib gmp}/lib"
-    "--with-gmp-includes=${stdenv.lib.getDev gmp}/include"
-  ] ++ stdenv.lib.optional stdenv.isDarwin "--with-gcc=${./gcc-clang-wrapper.sh}";
-
-  # Stripping combined with patchelf breaks the executables (they die
-  # with a segfault or the kernel even refuses the execve). (NIXPKGS-85)
-  dontStrip = true;
-
-  # No building is necessary, but calling make without flags ironically
-  # calls install-strip ...
-  dontBuild = true;
-
-  # On Linux, use patchelf to modify the executables so that they can
-  # find editline/gmp.
-  preFixup = stdenv.lib.optionalString stdenv.isLinux ''
-    find "$out" -type f -executable \
-        -exec patchelf --set-rpath "${libPath}" {} \;
-  '' + stdenv.lib.optionalString stdenv.isDarwin ''
-    # not enough room in the object files for the full path to libiconv :(
-    for exe in $(find "$out" -type f -executable); do
-      isScript $exe && continue
-      ln -fs ${libiconv}/lib/libiconv.dylib $(dirname $exe)/libiconv.dylib
-      install_name_tool -change /usr/lib/libiconv.2.dylib @executable_path/libiconv.dylib $exe
-    done
-
-    for file in $(find "$out" -name setup-config); do
-      substituteInPlace $file --replace /usr/bin/ranlib "$(type -P ranlib)"
-    done
-  '';
-
-  doInstallCheck = true;
-  installCheckPhase = ''
-    # Sanity check, can ghc create executables?
-    cd $TMP
-    mkdir test-ghc; cd test-ghc
-    cat > main.hs << EOF
-      module Main where
-      main = putStrLn "yes"
-    EOF
-    $out/bin/ghc --make main.hs
-    echo compilation ok
-    [ $(./main) == "yes" ]
-  '';
-
-  passthru = {
-    targetPrefix = "";
-
-    # Our Cabal compiler name
-    haskellCompilerName = "ghc-7.0.4";
-  };
-
-  meta.license = stdenv.lib.licenses.bsd3;
-  meta.platforms = ["x86_64-linux" "i686-linux" "x86_64-darwin"];
-}
diff --git a/pkgs/development/compilers/ghc/7.0.4.nix b/pkgs/development/compilers/ghc/7.0.4.nix
deleted file mode 100644
index 5bd05b257ca..00000000000
--- a/pkgs/development/compilers/ghc/7.0.4.nix
+++ /dev/null
@@ -1,67 +0,0 @@
-{ stdenv, fetchurl, ghc, perl, gmp, ncurses, libiconv }:
-
-# TODO(@Ericson2314): Cross compilation support
-assert stdenv.targetPlatform == stdenv.hostPlatform;
-
-stdenv.mkDerivation rec {
-  version = "7.0.4";
-  name = "ghc-${version}";
-
-  src = fetchurl {
-    url = "https://downloads.haskell.org/~ghc/${version}/ghc-${version}-src.tar.bz2";
-    sha256 = "1a9b78d9d66c9c21de6c0932e36bb87406a4856f1611bf83bd44539bdc6ed0ed";
-  };
-
-  patches = [ ./fix-7.0.4-clang.patch ./relocation.patch ];
-
-  buildInputs = [ ghc perl gmp ncurses ];
-
-  buildMK = ''
-    libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-libraries="${gmp.out}/lib"
-    libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-includes="${gmp.dev}/include"
-    libraries/terminfo_CONFIGURE_OPTS += --configure-option=--with-curses-includes="${ncurses.dev}/include"
-    libraries/terminfo_CONFIGURE_OPTS += --configure-option=--with-curses-libraries="${ncurses.out}/lib"
-    ${stdenv.lib.optionalString stdenv.isDarwin ''
-      libraries/base_CONFIGURE_OPTS += --configure-option=--with-iconv-includes="${libiconv}/include"
-      libraries/base_CONFIGURE_OPTS += --configure-option=--with-iconv-libraries="${libiconv}/lib"
-    ''}
-  '';
-
-  preConfigure = ''
-    echo -n "${buildMK}" > mk/build.mk
-    sed -i -e 's|-isysroot /Developer/SDKs/MacOSX10.5.sdk||' configure
-  '' + stdenv.lib.optionalString stdenv.isDarwin ''
-    find . -name '*.hs'  | xargs sed -i -e 's|ASSERT (|ASSERT(|' -e 's|ASSERT2 (|ASSERT2(|' -e 's|WARN (|WARN(|'
-    find . -name '*.lhs' | xargs sed -i -e 's|ASSERT (|ASSERT(|' -e 's|ASSERT2 (|ASSERT2(|' -e 's|WARN (|WARN(|'
-    export NIX_LDFLAGS+=" -no_dtrace_dof"
-  '';
-
-  configureFlags = if stdenv.isDarwin then "--with-gcc=${./gcc-clang-wrapper.sh}"
-                                      else "--with-gcc=${stdenv.cc}/bin/gcc";
-
-  NIX_CFLAGS_COMPILE = "-fomit-frame-pointer";
-
-  # required, because otherwise all symbols from HSffi.o are stripped, and
-  # that in turn causes GHCi to abort
-  stripDebugFlags=["-S" "--keep-file-symbols"];
-
-  passthru = {
-    targetPrefix = "";
-
-    # Our Cabal compiler name
-    haskellCompilerName = "ghc-7.0.4";
-  };
-
-  meta = {
-    homepage = http://haskell.org/ghc;
-    description = "The Glasgow Haskell Compiler";
-    maintainers = [
-      stdenv.lib.maintainers.marcweber
-      stdenv.lib.maintainers.andres
-      stdenv.lib.maintainers.peti
-    ];
-    platforms = ["x86_64-linux" "i686-linux"];  # Darwin is not supported.
-    inherit (ghc.meta) license;
-  };
-
-}
diff --git a/pkgs/development/compilers/ghc/7.4.2-binary.nix b/pkgs/development/compilers/ghc/7.4.2-binary.nix
deleted file mode 100644
index 988392e74b9..00000000000
--- a/pkgs/development/compilers/ghc/7.4.2-binary.nix
+++ /dev/null
@@ -1,148 +0,0 @@
-{ stdenv
-, fetchurl, perl
-, ncurses5, gmp, libiconv
-}:
-
-# Prebuilt only does native
-assert stdenv.targetPlatform == stdenv.hostPlatform;
-
-let
-  libPath = stdenv.lib.makeLibraryPath ([
-    ncurses5 gmp
-  ] ++ stdenv.lib.optional (stdenv.hostPlatform.isDarwin) libiconv);
-
-  libEnvVar = stdenv.lib.optionalString stdenv.hostPlatform.isDarwin "DY"
-    + "LD_LIBRARY_PATH";
-
-in
-
-stdenv.mkDerivation rec {
-  version = "7.4.2";
-
-  name = "ghc-${version}-binary";
-
-  src = fetchurl ({
-    "i686-linux" = {
-      url = "http://haskell.org/ghc/dist/${version}/ghc-${version}-i386-unknown-linux.tar.bz2";
-      sha256 = "0gny7knhss0w0d9r6jm1gghrcb8kqjvj94bb7hxf9syrk4fxlcxi";
-    };
-    "x86_64-linux" = {
-      url = "http://haskell.org/ghc/dist/${version}/ghc-${version}-x86_64-unknown-linux.tar.bz2";
-      sha256 = "043jabd0lh6n1zlqhysngbpvlsdznsa2mmsj08jyqgahw9sjb5ns";
-    };
-    "i686-darwin" = {
-      url = "http://haskell.org/ghc/dist/${version}/ghc-${version}-i386-apple-darwin.tar.bz2";
-      sha256 = "1vrbs3pzki37hzym1f1nh07lrqh066z3ypvm81fwlikfsvk4djc0";
-    };
-    "x86_64-darwin" = {
-      url = "http://haskell.org/ghc/dist/${version}/ghc-${version}-x86_64-apple-darwin.tar.bz2";
-      sha256 = "1imzqc0slpg0r6p40n5a9m18cbcm0m86z8dgyhfxcckksw54mzwf";
-    };
-  }.${stdenv.hostPlatform.system}
-    or (throw "cannot bootstrap GHC on this platform"));
-
-  nativeBuildInputs = [ perl ];
-
-  # Cannot patchelf beforehand due to relative RPATHs that anticipate
-  # the final install location/
-  ${libEnvVar} = libPath;
-
-  postUnpack =
-    # GHC has dtrace probes, which causes ld to try to open /usr/lib/libdtrace.dylib
-    # during linking
-    stdenv.lib.optionalString stdenv.isDarwin ''
-      export NIX_LDFLAGS+=" -no_dtrace_dof"
-    '' +
-
-    # Strip is harmful, see also below. It's important that this happens
-    # first. The GHC Cabal build system makes use of strip by default and
-    # has hardcoded paths to /usr/bin/strip in many places. We replace
-    # those below, making them point to our dummy script.
-    ''
-      mkdir "$TMP/bin"
-      for i in strip; do
-        echo '#! ${stdenv.shell}' > "$TMP/bin/$i"
-        chmod +x "$TMP/bin/$i"
-      done
-      PATH="$TMP/bin:$PATH"
-    '' +
-    # We have to patch the GMP paths for the integer-gmp package.
-    ''
-      find . -name integer-gmp.buildinfo \
-          -exec sed -i "s@extra-lib-dirs: @extra-lib-dirs: ${gmp.out}/lib@" {} \;
-    '' + stdenv.lib.optionalString stdenv.isDarwin ''
-      find . -name base.buildinfo \
-          -exec sed -i "s@extra-lib-dirs: @extra-lib-dirs: ${libiconv}/lib@" {} \;
-    '' +
-    # Rename needed libraries and binaries, fix interpreter
-    stdenv.lib.optionalString stdenv.isLinux ''
-      find . -type f -perm -0100 -exec patchelf \
-          --replace-needed libncurses${stdenv.lib.optionalString stdenv.is64bit "w"}.so.5 libncurses.so \
-          --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" {} \;
-
-      paxmark m ./ghc-${version}/ghc/stage2/build/tmp/ghc-stage2
-
-      sed -i "s|/usr/bin/perl|perl\x00        |" ghc-${version}/ghc/stage2/build/tmp/ghc-stage2
-      sed -i "s|/usr/bin/gcc|gcc\x00        |" ghc-${version}/ghc/stage2/build/tmp/ghc-stage2
-      for prog in ld ar gcc strip ranlib; do
-        find . -name "setup-config" -exec sed -i "s@/usr/bin/$prog@$(type -p $prog)@g" {} \;
-      done
-    '';
-
-  configurePlatforms = [ ];
-  configureFlags = [
-    "--with-gmp-libraries=${stdenv.lib.getLib gmp}/lib"
-    "--with-gmp-includes=${stdenv.lib.getDev gmp}/include"
-  ] ++ stdenv.lib.optional stdenv.isDarwin "--with-gcc=${./gcc-clang-wrapper.sh}";
-
-  # Stripping combined with patchelf breaks the executables (they die
-  # with a segfault or the kernel even refuses the execve). (NIXPKGS-85)
-  dontStrip = true;
-
-  # No building is necessary, but calling make without flags ironically
-  # calls install-strip ...
-  dontBuild = true;
-
-  # On Linux, use patchelf to modify the executables so that they can
-  # find editline/gmp.
-  preFixup = stdenv.lib.optionalString stdenv.isLinux ''
-    find "$out" -type f -executable \
-        -exec patchelf --set-rpath "${libPath}" {} \;
-  '' + stdenv.lib.optionalString stdenv.isDarwin ''
-    # not enough room in the object files for the full path to libiconv :(
-    for exe in $(find "$out" -type f -executable); do
-      isScript $exe && continue
-      ln -fs ${libiconv}/lib/libiconv.dylib $(dirname $exe)/libiconv.dylib
-      install_name_tool -change /usr/lib/libiconv.2.dylib @executable_path/libiconv.dylib $exe
-    done
-
-    for file in $(find "$out" -name setup-config); do
-      substituteInPlace $file --replace /usr/bin/ranlib "$(type -P ranlib)"
-    done
-  '';
-
-  doInstallCheck = true;
-  installCheckPhase = ''
-    # Sanity check, can ghc create executables?
-    cd $TMP
-    mkdir test-ghc; cd test-ghc
-    cat > main.hs << EOF
-      {-# LANGUAGE TemplateHaskell #-}
-      module Main where
-      main = putStrLn \$([|"yes"|])
-    EOF
-    $out/bin/ghc --make main.hs || exit 1
-    echo compilation ok
-    [ $(./main) == "yes" ]
-  '';
-
-  passthru = {
-    targetPrefix = "";
-
-    # Our Cabal compiler name
-    haskellCompilerName = "ghc-7.4.2";
-  };
-
-  meta.license = stdenv.lib.licenses.bsd3;
-  meta.platforms = ["x86_64-linux" "i686-linux" "x86_64-darwin"];
-}
diff --git a/pkgs/development/compilers/ghc/7.4.2.nix b/pkgs/development/compilers/ghc/7.4.2.nix
deleted file mode 100644
index 86925c406cf..00000000000
--- a/pkgs/development/compilers/ghc/7.4.2.nix
+++ /dev/null
@@ -1,77 +0,0 @@
-{ stdenv, fetchurl, ghc, perl, ncurses, libiconv
-
-, # If enabled, GHC will be built with the GPL-free but slower integer-simple
-  # library instead of the faster but GPLed integer-gmp library.
-  enableIntegerSimple ? false, gmp ? null
-}:
-
-# TODO(@Ericson2314): Cross compilation support
-assert stdenv.targetPlatform == stdenv.hostPlatform;
-assert !enableIntegerSimple -> gmp != null;
-
-stdenv.mkDerivation rec {
-  version = "7.4.2";
-
-  name = "ghc-${version}";
-
-  src = fetchurl {
-    url = "https://downloads.haskell.org/~ghc/${version}/ghc-${version}-src.tar.bz2";
-    sha256 = "0vc3zmxqi4gflssmj35n5c8idbvyrhd88abi50whbirwlf4i5vpj";
-  };
-
-  patches = [ ./fix-7.4.2-clang.patch ./relocation.patch ];
-
-  buildInputs = [ ghc perl ncurses ]
-                ++ stdenv.lib.optional (!enableIntegerSimple) gmp;
-
-  buildMK = ''
-    libraries/terminfo_CONFIGURE_OPTS += --configure-option=--with-curses-includes="${ncurses.dev}/include"
-    libraries/terminfo_CONFIGURE_OPTS += --configure-option=--with-curses-libraries="${ncurses.out}/lib"
-    ${stdenv.lib.optionalString stdenv.isDarwin ''
-      libraries/base_CONFIGURE_OPTS += --configure-option=--with-iconv-includes="${libiconv}/include"
-      libraries/base_CONFIGURE_OPTS += --configure-option=--with-iconv-libraries="${libiconv}/lib"
-    ''}
-  '' + (if enableIntegerSimple then ''
-    INTEGER_LIBRARY = integer-simple
-  '' else ''
-    libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-libraries="${gmp.out}/lib"
-    libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-includes="${gmp.dev}/include"
-  '');
-
-  preConfigure = ''
-    echo -n "${buildMK}" > mk/build.mk
-    sed -i -e 's|-isysroot /Developer/SDKs/MacOSX10.5.sdk||' configure
-  '' + stdenv.lib.optionalString (!stdenv.isDarwin) ''
-    export NIX_LDFLAGS+=" -rpath $out/lib/ghc-${version}"
-  '' + stdenv.lib.optionalString stdenv.isDarwin ''
-    find . -name '*.hs'  | xargs sed -i -e 's|ASSERT (|ASSERT(|' -e 's|ASSERT2 (|ASSERT2(|' -e 's|WARN (|WARN(|'
-    find . -name '*.lhs' | xargs sed -i -e 's|ASSERT (|ASSERT(|' -e 's|ASSERT2 (|ASSERT2(|' -e 's|WARN (|WARN(|'
-    export NIX_LDFLAGS+=" -no_dtrace_dof"
-  '';
-
-  configureFlags = if stdenv.isDarwin then "--with-gcc=${./gcc-clang-wrapper.sh}"
-                                      else "--with-gcc=${stdenv.cc}/bin/gcc";
-
-  # required, because otherwise all symbols from HSffi.o are stripped, and
-  # that in turn causes GHCi to abort
-  stripDebugFlags = [ "-S" ] ++ stdenv.lib.optional (!stdenv.isDarwin) "--keep-file-symbols";
-
-  passthru = {
-    targetPrefix = "";
-
-    # Our Cabal compiler name
-    haskellCompilerName = "ghc-7.4.2";
-  };
-
-  meta = {
-    homepage = http://haskell.org/ghc;
-    description = "The Glasgow Haskell Compiler";
-    maintainers = [
-      stdenv.lib.maintainers.marcweber
-      stdenv.lib.maintainers.andres
-      stdenv.lib.maintainers.peti
-    ];
-    inherit (ghc.meta) license platforms;
-  };
-
-}
diff --git a/pkgs/development/compilers/ghc/7.6.3.nix b/pkgs/development/compilers/ghc/7.6.3.nix
deleted file mode 100644
index 982008563a0..00000000000
--- a/pkgs/development/compilers/ghc/7.6.3.nix
+++ /dev/null
@@ -1,103 +0,0 @@
-{ stdenv, fetchurl, ghc, perl, ncurses, libiconv
-
-, # If enabled, GHC will be built with the GPL-free but slower integer-simple
-  # library instead of the faster but GPLed integer-gmp library.
-  enableIntegerSimple ? false, gmp ? null
-}:
-
-# TODO(@Ericson2314): Cross compilation support
-assert stdenv.targetPlatform == stdenv.hostPlatform;
-assert !enableIntegerSimple -> gmp != null;
-
-let
-  # The "-Wa,--noexecstack" options might be needed only with GNU ld (as opposed
-  # to the gold linker). It prevents binaries' stacks from being marked as
-  # executable, which fails to run on a grsecurity/PaX kernel.
-  ghcFlags = "-optc-Wa,--noexecstack -opta-Wa,--noexecstack";
-  cFlags = "-Wa,--noexecstack";
-
-in stdenv.mkDerivation rec {
-  version = "7.6.3";
-
-  name = "ghc-${version}";
-
-  src = fetchurl {
-    url = "https://downloads.haskell.org/~ghc/${version}/ghc-${version}-src.tar.bz2";
-    sha256 = "1669m8k9q72rpd2mzs0bh2q6lcwqiwd1ax3vrard1dgn64yq4hxx";
-  };
-
-  patches = [ ./fix-7.6.3-clang.patch ./relocation.patch ];
-
-  buildInputs = [ ghc perl ncurses ]
-                ++ stdenv.lib.optional (!enableIntegerSimple) gmp;
-
-  buildMK = ''
-    libraries/terminfo_CONFIGURE_OPTS += --configure-option=--with-curses-includes="${ncurses.dev}/include"
-    libraries/terminfo_CONFIGURE_OPTS += --configure-option=--with-curses-libraries="${ncurses.out}/lib"
-    ${stdenv.lib.optionalString stdenv.isDarwin ''
-      libraries/base_CONFIGURE_OPTS += --configure-option=--with-iconv-includes="${libiconv}/include"
-      libraries/base_CONFIGURE_OPTS += --configure-option=--with-iconv-libraries="${libiconv}/lib"
-    ''}
-  '' + stdenv.lib.optionalString stdenv.isLinux ''
-    # Set ghcFlags for building ghc itself
-    SRC_HC_OPTS += ${ghcFlags}
-    SRC_CC_OPTS += ${cFlags}
-  '' + (if enableIntegerSimple then ''
-    INTEGER_LIBRARY = integer-simple
-  '' else ''
-    libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-libraries="${gmp.out}/lib"
-    libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-includes="${gmp.dev}/include"
-  '');
-
-  preConfigure = ''
-    echo -n "${buildMK}" > mk/build.mk
-    sed -i -e 's|-isysroot /Developer/SDKs/MacOSX10.5.sdk||' configure
-
-  '' + stdenv.lib.optionalString stdenv.isLinux ''
-    # Set ghcFlags for binaries that ghc builds
-    sed -i -e 's|"\$topdir"|"\$topdir" ${ghcFlags}|' ghc/ghc.wrapper
-
-  '' + stdenv.lib.optionalString (!stdenv.isDarwin) ''
-    export NIX_LDFLAGS+=" -rpath $out/lib/ghc-${version}"
-  '' + stdenv.lib.optionalString stdenv.isDarwin ''
-    find . -name '*.hs'  | xargs sed -i -e 's|ASSERT (|ASSERT(|' -e 's|ASSERT2 (|ASSERT2(|' -e 's|WARN (|WARN(|'
-    find . -name '*.lhs' | xargs sed -i -e 's|ASSERT (|ASSERT(|' -e 's|ASSERT2 (|ASSERT2(|' -e 's|WARN (|WARN(|'
-    export NIX_LDFLAGS+=" -no_dtrace_dof"
-  '';
-
-  configureFlags = if stdenv.isDarwin then "--with-gcc=${./gcc-clang-wrapper.sh}"
-                                      else "--with-gcc=${stdenv.cc}/bin/gcc";
-
-  postInstall = ''
-    # ghci uses mmap with rwx protection at it implements dynamic
-    # linking on its own. See:
-    # - https://bugs.gentoo.org/show_bug.cgi?id=299709
-    # - https://ghc.haskell.org/trac/ghc/ticket/4244
-    # Therefore, we have to pax-mark the resulting binary.
-    # Haddock also seems to run with ghci, so mark it as well.
-    paxmark m $out/lib/${name}/{ghc,haddock}
-  '';
-
-  # required, because otherwise all symbols from HSffi.o are stripped, and
-  # that in turn causes GHCi to abort
-  stripDebugFlags = [ "-S" ] ++ stdenv.lib.optional (!stdenv.isDarwin) "--keep-file-symbols";
-
-  passthru = {
-    targetPrefix = "";
-
-    # Our Cabal compiler name
-    haskellCompilerName = "ghc-7.6.3";
-  };
-
-  meta = {
-    homepage = http://haskell.org/ghc;
-    description = "The Glasgow Haskell Compiler";
-    maintainers = [
-      stdenv.lib.maintainers.marcweber
-      stdenv.lib.maintainers.andres
-      stdenv.lib.maintainers.peti
-    ];
-    inherit (ghc.meta) license platforms;
-  };
-
-}
diff --git a/pkgs/development/compilers/ghc/7.8.4-binary.nix b/pkgs/development/compilers/ghc/7.8.4-binary.nix
deleted file mode 100644
index 58a9370b321..00000000000
--- a/pkgs/development/compilers/ghc/7.8.4-binary.nix
+++ /dev/null
@@ -1,156 +0,0 @@
-{ stdenv
-, fetchurl, perl
-, ncurses5, gmp, libiconv
-}:
-
-# Prebuilt only does native
-assert stdenv.targetPlatform == stdenv.hostPlatform;
-
-let
-  libPath = stdenv.lib.makeLibraryPath ([
-    ncurses5 gmp
-  ] ++ stdenv.lib.optional (stdenv.hostPlatform.isDarwin) libiconv);
-
-  libEnvVar = stdenv.lib.optionalString stdenv.hostPlatform.isDarwin "DY"
-    + "LD_LIBRARY_PATH";
-
-in
-
-stdenv.mkDerivation rec {
-  version = "7.8.4";
-
-  name = "ghc-${version}-binary";
-
-  src = fetchurl ({
-    "i686-linux" = {
-      url = "http://haskell.org/ghc/dist/${version}/ghc-${version}-i386-unknown-linux-deb7.tar.bz2";
-      sha256 = "5da2cf45986f33319a92a666f1f0149915334a7b64b41892ab94f4557242b406";
-    };
-    "x86_64-linux" = {
-      url = "http://haskell.org/ghc/dist/${version}/ghc-${version}-x86_64-unknown-linux-deb7.tar.bz2";
-      sha256 = "20b5731d268613bbf6e977dbb192a3a3b7b78d954c35edbfca4fb36b652e24f7";
-    };
-    "x86_64-darwin" = {
-      url = "http://haskell.org/ghc/dist/${version}/ghc-${version}-x86_64-apple-darwin.tar.bz2";
-      sha256 = "dfa161c2a136ee16214a49d5902e2377407c8292dbbdbb14fa0fa6b17220cae6";
-    };
-  }.${stdenv.hostPlatform.system}
-    or (throw "cannot bootstrap GHC on this platform"));
-
-  nativeBuildInputs = [ perl ];
-
-  # Cannot patchelf beforehand due to relative RPATHs that anticipate
-  # the final install location/
-  ${libEnvVar} = libPath;
-
-  postUnpack =
-    # GHC has dtrace probes, which causes ld to try to open /usr/lib/libdtrace.dylib
-    # during linking
-    stdenv.lib.optionalString stdenv.isDarwin ''
-      export NIX_LDFLAGS+=" -no_dtrace_dof"
-      # not enough room in the object files for the full path to libiconv :(
-      for exe in $(find . -type f -executable); do
-        isScript $exe && continue
-        ln -fs ${libiconv}/lib/libiconv.dylib $(dirname $exe)/libiconv.dylib
-        install_name_tool -change /usr/lib/libiconv.2.dylib @executable_path/libiconv.dylib $exe
-        for file in $(find . -name setup-config); do
-          substituteInPlace $file --replace /usr/bin/ranlib "$(type -P ranlib)"
-        done
-      done
-    '' +
-
-    # Some scripts used during the build need to have their shebangs patched
-    ''
-      patchShebangs ghc-${version}/utils/
-    '' +
-
-    # Strip is harmful, see also below. It's important that this happens
-    # first. The GHC Cabal build system makes use of strip by default and
-    # has hardcoded paths to /usr/bin/strip in many places. We replace
-    # those below, making them point to our dummy script.
-    ''
-      mkdir "$TMP/bin"
-      for i in strip; do
-        echo '#! ${stdenv.shell}' > "$TMP/bin/$i"
-        chmod +x "$TMP/bin/$i"
-      done
-      PATH="$TMP/bin:$PATH"
-    '' +
-    # We have to patch the GMP paths for the integer-gmp package.
-    ''
-      find . -name integer-gmp.buildinfo \
-          -exec sed -i "s@extra-lib-dirs: @extra-lib-dirs: ${gmp.out}/lib@" {} \;
-    '' + stdenv.lib.optionalString stdenv.isDarwin ''
-      find . -name base.buildinfo \
-          -exec sed -i "s@extra-lib-dirs: @extra-lib-dirs: ${libiconv}/lib@" {} \;
-    '' +
-    # Rename needed libraries and binaries, fix interpreter
-    stdenv.lib.optionalString stdenv.isLinux ''
-      find . -type f -perm -0100 -exec patchelf \
-          --replace-needed libncurses${stdenv.lib.optionalString stdenv.is64bit "w"}.so.5 libncurses.so \
-          --replace-needed libtinfo.so libtinfo.so.5 \
-          --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" {} \;
-
-      paxmark m ./ghc-${version}/ghc/stage2/build/tmp/ghc-stage2
-
-      sed -i "s|/usr/bin/perl|perl\x00        |" ghc-${version}/ghc/stage2/build/tmp/ghc-stage2
-      sed -i "s|/usr/bin/gcc|gcc\x00        |" ghc-${version}/ghc/stage2/build/tmp/ghc-stage2
-    '';
-
-  configurePlatforms = [ ];
-  configureFlags = [
-    "--with-gmp-libraries=${stdenv.lib.getLib gmp}/lib"
-    "--with-gmp-includes=${stdenv.lib.getDev gmp}/include"
-  ] ++ stdenv.lib.optional stdenv.isDarwin "--with-gcc=${./gcc-clang-wrapper.sh}";
-
-  # Stripping combined with patchelf breaks the executables (they die
-  # with a segfault or the kernel even refuses the execve). (NIXPKGS-85)
-  dontStrip = true;
-
-  # No building is necessary, but calling make without flags ironically
-  # calls install-strip ...
-  dontBuild = true;
-
-  # On Linux, use patchelf to modify the executables so that they can
-  # find editline/gmp.
-  preFixup = stdenv.lib.optionalString stdenv.isLinux ''
-    for p in $(find "$out" -type f -executable); do
-      if isELF "$p"; then
-        echo "Patchelfing $p"
-        patchelf --set-rpath "${libPath}:$(patchelf --print-rpath $p)" $p
-      fi
-    done
-  '' + stdenv.lib.optionalString stdenv.isDarwin ''
-    # not enough room in the object files for the full path to libiconv :(
-    for exe in $(find "$out" -type f -executable); do
-      isScript $exe && continue
-      ln -fs ${libiconv}/lib/libiconv.dylib $(dirname $exe)/libiconv.dylib
-      install_name_tool -change /usr/lib/libiconv.2.dylib @executable_path/libiconv.dylib $exe
-    done
-
-    for file in $(find "$out" -name setup-config); do
-      substituteInPlace $file --replace /usr/bin/ranlib "$(type -P ranlib)"
-    done
-  '';
-
-  doInstallCheck = true;
-  installCheckPhase = ''
-    unset ${libEnvVar}
-    # Sanity check, can ghc create executables?
-    cd $TMP
-    mkdir test-ghc; cd test-ghc
-    cat > main.hs << EOF
-      {-# LANGUAGE TemplateHaskell #-}
-      module Main where
-      main = putStrLn \$([|"yes"|])
-    EOF
-    $out/bin/ghc --make main.hs || exit 1
-    echo compilation ok
-    [ $(./main) == "yes" ]
-  '';
-
-  passthru = { targetPrefix = ""; };
-
-  meta.license = stdenv.lib.licenses.bsd3;
-  meta.platforms = ["x86_64-linux" "i686-linux" "x86_64-darwin"];
-}
diff --git a/pkgs/development/compilers/ghc/7.8.4.nix b/pkgs/development/compilers/ghc/7.8.4.nix
deleted file mode 100644
index 47fc090c1ff..00000000000
--- a/pkgs/development/compilers/ghc/7.8.4.nix
+++ /dev/null
@@ -1,91 +0,0 @@
-{ stdenv, targetPackages
-
-, fetchurl, ghc, perl
-, libffi, libiconv ? null, ncurses
-
-, # If enabled, GHC will be built with the GPL-free but slower integer-simple
-  # library instead of the faster but GPLed integer-gmp library.
-  enableIntegerSimple ? false, gmp ? null
-}:
-
-# TODO(@Ericson2314): Cross compilation support
-assert stdenv.targetPlatform == stdenv.hostPlatform;
-assert !enableIntegerSimple -> gmp != null;
-
-let
-  buildMK = ''
-    libraries/terminfo_CONFIGURE_OPTS += --configure-option=--with-curses-includes="${ncurses.dev}/include"
-    libraries/terminfo_CONFIGURE_OPTS += --configure-option=--with-curses-libraries="${ncurses.out}/lib"
-    DYNAMIC_BY_DEFAULT = NO
-    ${stdenv.lib.optionalString (stdenv.hostPlatform.libc != "glibc") ''
-      libraries/base_CONFIGURE_OPTS += --configure-option=--with-iconv-includes="${libiconv}/include"
-      libraries/base_CONFIGURE_OPTS += --configure-option=--with-iconv-libraries="${libiconv}/lib"
-    ''}
-  '' + (if enableIntegerSimple then ''
-    INTEGER_LIBRARY = integer-simple
-  '' else ''
-    libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-libraries="${gmp.out}/lib"
-    libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-includes="${gmp.dev}/include"
-  '');
-
-  # Splicer will pull out correct variations
-  libDeps = [ ncurses ]
-    ++ stdenv.lib.optional (!enableIntegerSimple) gmp
-    ++ stdenv.lib.optional (stdenv.hostPlatform.libc != "glibc") libiconv;
-
-in
-
-stdenv.mkDerivation rec {
-  version = "7.8.4";
-  name = "ghc-${version}";
-
-  src = fetchurl {
-    url = "http://www.haskell.org/ghc/dist/${version}/${name}-src.tar.xz";
-    sha256 = "1i4254akbb4ym437rf469gc0m40bxm31blp6s1z1g15jmnacs6f3";
-  };
-
-  enableParallelBuilding = true;
-
-  patches = [ ./relocation.patch ]
-    ++ stdenv.lib.optional stdenv.isDarwin ./hpc-7.8.4.patch;
-
-  preConfigure = ''
-    echo -n "${buildMK}" > mk/build.mk
-    sed -i -e 's|-isysroot /Developer/SDKs/MacOSX10.5.sdk||' configure
-  '' + stdenv.lib.optionalString (!stdenv.isDarwin) ''
-    export NIX_LDFLAGS+=" -rpath $out/lib/ghc-${version}"
-  '' + stdenv.lib.optionalString stdenv.isDarwin ''
-    export NIX_LDFLAGS+=" -no_dtrace_dof"
-  '';
-
-  # TODO(@Ericson2314): Always pass "--target" and always prefix.
-  configurePlatforms = [ "build" "host" ];
-
-  nativeBuildInputs = [ ghc perl ];
-  depsBuildTarget = [ targetPackages.stdenv.cc ];
-
-  buildInputs = libDeps;
-  propagatedBuildInputs = [ targetPackages.stdenv.cc ];
-
-  depsTargetTarget = map stdenv.lib.getDev libDeps;
-  depsTargetTargetPropagated = map (stdenv.lib.getOutput "out") libDeps;
-
-  # required, because otherwise all symbols from HSffi.o are stripped, and
-  # that in turn causes GHCi to abort
-  stripDebugFlags = [ "-S" ] ++ stdenv.lib.optional (!stdenv.isDarwin) "--keep-file-symbols";
-
-  passthru = {
-    targetPrefix = "";
-
-    # Our Cabal compiler name
-    haskellCompilerName = "ghc-7.8.4";
-  };
-
-  meta = {
-    homepage = http://haskell.org/ghc;
-    description = "The Glasgow Haskell Compiler";
-    maintainers = with stdenv.lib.maintainers; [ marcweber andres peti ];
-    inherit (ghc.meta) license platforms;
-  };
-
-}
diff --git a/pkgs/development/compilers/ghc/8.2.1-binary.nix b/pkgs/development/compilers/ghc/8.2.1-binary.nix
index c0bc2a9dd73..c88d2a8685a 100644
--- a/pkgs/development/compilers/ghc/8.2.1-binary.nix
+++ b/pkgs/development/compilers/ghc/8.2.1-binary.nix
@@ -158,5 +158,6 @@ stdenv.mkDerivation rec {
   passthru = { targetPrefix = ""; };
 
   meta.license = stdenv.lib.licenses.bsd3;
-  meta.platforms = ["x86_64-linux" "i686-linux" "x86_64-darwin" "armv7l-linux" "aarch64-linux"];
+  # AArch64 should work in theory but eventually some builds start segfaulting
+  meta.platforms = ["x86_64-linux" "i686-linux" "x86_64-darwin" "armv7l-linux" /* "aarch64-linux" */];
 }
diff --git a/pkgs/development/compilers/ghc/8.2.2.nix b/pkgs/development/compilers/ghc/8.2.2.nix
index c8b8451ea60..d80b4edf26e 100644
--- a/pkgs/development/compilers/ghc/8.2.2.nix
+++ b/pkgs/development/compilers/ghc/8.2.2.nix
@@ -4,6 +4,7 @@
 # build-tools
 , bootPkgs, alex, happy, hscolour
 , autoconf, autoreconfHook, automake, coreutils, fetchurl, fetchpatch, perl, python3, sphinx
+, runCommand
 
 , libffi, libiconv ? null, ncurses
 
@@ -89,6 +90,7 @@ stdenv.mkDerivation rec {
       url = "https://git.haskell.org/ghc.git/commitdiff_plain/2fc8ce5f0c8c81771c26266ac0b150ca9b75c5f3";
       sha256 = "03253ci40np1v6k0wmi4aypj3nmj3rdyvb1k6rwqipb30nfc719f";
     })
+    (import ./abi-depends-determinism.nix { inherit fetchpatch runCommand; })
   ] ++ stdenv.lib.optional deterministicProfiling
     (fetchpatch { # Backport of https://phabricator.haskell.org/D4388 for more determinism
       url = "https://github.com/shlevy/ghc/commit/fec1b8d3555c447c0d8da0e96b659be67c8bb4bc.patch";
@@ -166,6 +168,7 @@ stdenv.mkDerivation rec {
   stripDebugFlags = [ "-S" ] ++ stdenv.lib.optional (!targetPlatform.isDarwin) "--keep-file-symbols";
 
   checkTarget = "test";
+  doCheck = false; # fails with "testsuite/tests: No such file or directory.  Stop."
 
   # zsh and other shells are smart about `{ghc}` but bash isn't, and doesn't
   # treat that as a unary `{x,y,z,..}` repetition.
diff --git a/pkgs/development/compilers/ghc/8.4.1.nix b/pkgs/development/compilers/ghc/8.4.2.nix
index 14c94887d62..8aad8861d97 100644
--- a/pkgs/development/compilers/ghc/8.4.1.nix
+++ b/pkgs/development/compilers/ghc/8.4.2.nix
@@ -3,7 +3,7 @@
 
 # build-tools
 , bootPkgs, alex, happy
-, autoconf, automake, coreutils, fetchgit, fetchpatch, perl, python3
+, autoconf, automake, coreutils, fetchurl, fetchpatch, perl, python3
 
 , libffi, libiconv ? null, ncurses
 
@@ -15,20 +15,16 @@
 
 , # If enabled, GHC will be built with the GPL-free but slower integer-simple
   # library instead of the faster but GPLed integer-gmp library.
-  enableIntegerSimple ? false, gmp ? null
+  enableIntegerSimple ? false, gmp ? null, m4
 
 , # If enabled, use -fPIC when compiling static libs.
   enableRelocatedStaticLibs ? targetPlatform != hostPlatform
 
 , # Whether to build dynamic libs for the standard library (on the target
   # platform). Static libs are always built.
-  enableShared ? true
+  enableShared ? !targetPlatform.useAndroidPrebuilt
 
-, version ? "8.4.0.20180224"
-, # Whether to backport https://phabricator.haskell.org/D4388 for
-  # deterministic profiling symbol names, at the cost of a slightly
-  # non-standard GHC API
-  deterministicProfiling ? false
+, version ? "8.4.2"
 }:
 
 assert !enableIntegerSimple -> gmp != null;
@@ -54,6 +50,8 @@ let
   '' + stdenv.lib.optionalString enableRelocatedStaticLibs ''
     GhcLibHcOpts += -fPIC
     GhcRtsHcOpts += -fPIC
+  '' + stdenv.lib.optionalString targetPlatform.useAndroidPrebuilt ''
+    EXTRA_CC_OPTS += -std=gnu99
   '';
 
   # Splicer will pull out correct variations
@@ -72,24 +70,23 @@ let
 in
 stdenv.mkDerivation rec {
   inherit version;
-  inherit (src) rev;
   name = "${targetPrefix}ghc-${version}";
 
-  src = fetchgit {
-    url = "git://git.haskell.org/ghc.git";
-    rev = "a1e15c8f59092ef2d11be7966bd20688d8dc01e6";
-    sha256 = "1pimf5ryl76r3vwnc2n0qzk4yh7zckp2r2g5rlz8nbddsws2v893";
+  src = fetchurl {
+    url = "https://downloads.haskell.org/~ghc/${version}/ghc-${version}-src.tar.xz";
+    sha256 = "0yq4y0smn92sksnjjva28b8847krxizns6rm50j3pgq69br35k01";
   };
 
   enableParallelBuilding = true;
 
   outputs = [ "out" "doc" ];
 
-  patches = stdenv.lib.optional deterministicProfiling
-    (fetchpatch { # https://phabricator.haskell.org/D4388 for more determinism
-      url = "https://github.com/shlevy/ghc/commit/8b2dbd869d1a64de3e99fa8b1c9bb1140eee7099.patch";
-      sha256 = "0hxpiwhbg64rsyjdr4psh6dwyp58b96mad3adccvfr0x8hc6ba2m";
-    });
+  patches = [(fetchpatch {
+    url = "https://git.haskell.org/hsc2hs.git/patch/738f3666c878ee9e79c3d5e819ef8b3460288edf";
+    sha256 = "0plzsbfaq6vb1023lsarrjglwgr9chld4q3m99rcfzx0yx5mibp3";
+    extraPrefix = "utils/hsc2hs/";
+    stripLen = 1;
+  })];
 
   postPatch = "patchShebangs .";
 
@@ -112,9 +109,6 @@ stdenv.mkDerivation rec {
     export STRIP="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}strip"
 
     echo -n "${buildMK}" > mk/build.mk
-    echo ${version} >VERSION
-    echo ${src.rev} >GIT_COMMIT_ID
-    ./boot
     sed -i -e 's|-isysroot /Developer/SDKs/MacOSX10.5.sdk||' configure
   '' + stdenv.lib.optionalString (!stdenv.isDarwin) ''
     export NIX_LDFLAGS+=" -rpath $out/lib/ghc-${version}"
@@ -147,7 +141,7 @@ stdenv.mkDerivation rec {
   # Make sure we never relax`$PATH` and hooks support for compatability.
   strictDeps = true;
 
-  nativeBuildInputs = [ ghc perl autoconf automake happy alex python3 ];
+  nativeBuildInputs = [ ghc perl autoconf automake m4 happy alex python3 ];
 
   # For building runtime libs
   depsBuildTarget = toolsForTarget;
@@ -188,7 +182,7 @@ stdenv.mkDerivation rec {
     inherit llvmPackages;
 
     # Our Cabal compiler name
-    haskellCompilerName = "ghc-8.4.1";
+    haskellCompilerName = "ghc-8.4.2";
   };
 
   meta = {
diff --git a/pkgs/development/compilers/ghc/abi-depends-determinism.nix b/pkgs/development/compilers/ghc/abi-depends-determinism.nix
new file mode 100644
index 00000000000..bc803b74617
--- /dev/null
+++ b/pkgs/development/compilers/ghc/abi-depends-determinism.nix
@@ -0,0 +1,12 @@
+# https://phabricator.haskell.org/D4159 to fix non-determinism in
+# cached abi-depends fields in package databases, modified to only
+# contain hunks that exist in distribution tarballs.
+{ fetchpatch, runCommand }: let
+  base = fetchpatch rec { # Non-determinism in cached abi-depends fields
+    # Originally https://phabricator-files.haskell.org/file/data/4pqrbo5b62sifktfbrls/PHID-FILE-4g4zjiqlfxmmlaos7lz7/D4159.diff
+    url = "http://tarballs.nixos.org/sha256/${sha256}";
+    name = "D4159.diff";
+    sha256 = "0b8a08sisf1swmarm6nh9rgw7cpzi2rwdzvrd6ny49c7wk0f7x4b";
+  };
+in runCommand base.name {}
+  "sed -n '/utils\\/ghc-pkg/,$p' ${base} >$out"
diff --git a/pkgs/development/compilers/ghc/fix-7.0.4-clang.patch b/pkgs/development/compilers/ghc/fix-7.0.4-clang.patch
deleted file mode 100644
index 51323c69c20..00000000000
--- a/pkgs/development/compilers/ghc/fix-7.0.4-clang.patch
+++ /dev/null
@@ -1,74 +0,0 @@
-diff --git a/compiler/codeGen/CgInfoTbls.hs b/compiler/codeGen/CgInfoTbls.hs
-index f704a69..37753fd 100644
---- a/compiler/codeGen/CgInfoTbls.hs
-+++ b/compiler/codeGen/CgInfoTbls.hs
-@@ -211,9 +211,7 @@ mkStackLayout = do
-                     [(offset - frame_sp - retAddrSizeW, b)
-                     | (offset, b) <- binds]
- 
--  WARN( not (all (\bind -> fst bind >= 0) rel_binds),
--	ppr binds $$ ppr rel_binds $$
--        ppr frame_size $$ ppr real_sp $$ ppr frame_sp )
-+  WARN( not (all (\bind -> fst bind >= 0) rel_binds), ppr binds $$ ppr rel_binds $$ ppr frame_size $$ ppr real_sp $$ ppr frame_sp )
-     return $ stack_layout rel_binds frame_size
- 
- stack_layout :: [(VirtualSpOffset, CgIdInfo)]
-diff --git a/compiler/main/GHC.hs b/compiler/main/GHC.hs
-index 638e1db..0aee4b7 100644
---- a/compiler/main/GHC.hs
-+++ b/compiler/main/GHC.hs
-@@ -788,8 +788,7 @@ load2 how_much mod_graph = do
- 	    -- is stable).
- 	    partial_mg
- 		| LoadDependenciesOf _mod <- how_much
--		= ASSERT( case last partial_mg0 of 
--			    AcyclicSCC ms -> ms_mod_name ms == _mod; _ -> False )
-+		= ASSERT( case last partial_mg0 of AcyclicSCC ms -> ms_mod_name ms == _mod; _ -> False )
- 		  List.init partial_mg0
- 		| otherwise
- 		= partial_mg0
-@@ -879,8 +878,7 @@ load2 how_much mod_graph = do
- 	      liftIO $ cleanTempFilesExcept dflags (ppFilesFromSummaries mods_to_keep)
- 
- 	      -- there should be no Nothings where linkables should be, now
--	      ASSERT(all (isJust.hm_linkable) 
--			(eltsUFM (hsc_HPT hsc_env))) do
-+	      ASSERT(all (isJust.hm_linkable) (eltsUFM (hsc_HPT hsc_env))) do
- 	
- 	      -- Link everything together
-               linkresult <- liftIO $ link (ghcLink dflags) dflags False hpt4
-diff --git a/compiler/simplCore/SimplUtils.lhs b/compiler/simplCore/SimplUtils.lhs
-index 99a63e4..3268726 100644
---- a/compiler/simplCore/SimplUtils.lhs
-+++ b/compiler/simplCore/SimplUtils.lhs
-@@ -388,8 +388,7 @@ mkArgInfo fun rules n_val_args call_cont
- 		   else
- 			map isStrictDmd demands ++ vanilla_stricts
- 	       | otherwise
--	       -> WARN( True, text "More demands than arity" <+> ppr fun <+> ppr (idArity fun) 
--				<+> ppr n_val_args <+> ppr demands ) 
-+	       -> WARN( True, text "More demands than arity" <+> ppr fun <+> ppr (idArity fun) <+> ppr n_val_args <+> ppr demands ) 
- 		   vanilla_stricts	-- Not enough args, or no strictness
- 
-     add_type_str :: Type -> [Bool] -> [Bool]
-@@ -1812,4 +1811,4 @@ without getting changed to c1=I# c2.
- I don't think this is worth fixing, even if I knew how. It'll
- all come out in the next pass anyway.
- 
--  
-\ No newline at end of file
-+  
-diff --git a/compiler/simplCore/Simplify.lhs b/compiler/simplCore/Simplify.lhs
-index d0fbd8d..ef87996 100644
---- a/compiler/simplCore/Simplify.lhs
-+++ b/compiler/simplCore/Simplify.lhs
-@@ -2071,8 +2071,7 @@ mkDupableAlt env case_bndr (con, bndrs', rhs')
- 		      	     rhs = mkConApp dc (map Type (tyConAppArgs scrut_ty)
- 			     	   	        ++ varsToCoreExprs bndrs')
- 
--		      LitAlt {} -> WARN( True, ptext (sLit "mkDupableAlt")
--		      	     	   	        <+> ppr case_bndr <+> ppr con )
-+		      LitAlt {} -> WARN( True, ptext (sLit "mkDupableAlt") <+> ppr case_bndr <+> ppr con )
- 			           case_bndr
- 		      	   -- The case binder is alive but trivial, so why has 
- 		      	   -- it not been substituted away?
diff --git a/pkgs/development/compilers/ghc/fix-7.2.2-clang.patch b/pkgs/development/compilers/ghc/fix-7.2.2-clang.patch
deleted file mode 100644
index 9592d54188e..00000000000
--- a/pkgs/development/compilers/ghc/fix-7.2.2-clang.patch
+++ /dev/null
@@ -1,74 +0,0 @@
-diff --git a/compiler/codeGen/CgInfoTbls.hs b/compiler/codeGen/CgInfoTbls.hs
-index dbd22f3..42208f9 100644
---- a/compiler/codeGen/CgInfoTbls.hs
-+++ b/compiler/codeGen/CgInfoTbls.hs
-@@ -210,9 +210,7 @@ mkStackLayout = do
-                     [(offset - frame_sp - retAddrSizeW, b)
-                     | (offset, b) <- binds]
- 
--  WARN( not (all (\bind -> fst bind >= 0) rel_binds),
--	ppr binds $$ ppr rel_binds $$
--        ppr frame_size $$ ppr real_sp $$ ppr frame_sp )
-+  WARN( not (all (\bind -> fst bind >= 0) rel_binds), ppr binds $$ ppr rel_binds $$ ppr frame_size $$ ppr real_sp $$ ppr frame_sp )
-     return $ stack_layout rel_binds frame_size
- 
- stack_layout :: [(VirtualSpOffset, CgIdInfo)]
-diff --git a/compiler/main/GhcMake.hs b/compiler/main/GhcMake.hs
-index dece548..9643f30 100644
---- a/compiler/main/GhcMake.hs
-+++ b/compiler/main/GhcMake.hs
-@@ -236,8 +236,7 @@ load2 how_much mod_graph = do
- 	    -- is stable).
- 	    partial_mg
- 		| LoadDependenciesOf _mod <- how_much
--		= ASSERT( case last partial_mg0 of 
--			    AcyclicSCC ms -> ms_mod_name ms == _mod; _ -> False )
-+		= ASSERT( case last partial_mg0 of AcyclicSCC ms -> ms_mod_name ms == _mod; _ -> False )
- 		  List.init partial_mg0
- 		| otherwise
- 		= partial_mg0
-@@ -331,8 +330,7 @@ load2 how_much mod_graph = do
-               liftIO $ intermediateCleanTempFiles dflags mods_to_keep hsc_env1
- 
- 	      -- there should be no Nothings where linkables should be, now
--	      ASSERT(all (isJust.hm_linkable) 
--			(eltsUFM (hsc_HPT hsc_env))) do
-+	      ASSERT(all (isJust.hm_linkable) (eltsUFM (hsc_HPT hsc_env))) do
- 	
- 	      -- Link everything together
-               linkresult <- liftIO $ link (ghcLink dflags) dflags False hpt4
-diff --git a/compiler/simplCore/SimplUtils.lhs b/compiler/simplCore/SimplUtils.lhs
-index dd0ce4b..9501e73 100644
---- a/compiler/simplCore/SimplUtils.lhs
-+++ b/compiler/simplCore/SimplUtils.lhs
-@@ -393,8 +393,7 @@ mkArgInfo fun rules n_val_args call_cont
- 		   else
- 			map isStrictDmd demands ++ vanilla_stricts
- 	       | otherwise
--	       -> WARN( True, text "More demands than arity" <+> ppr fun <+> ppr (idArity fun) 
--				<+> ppr n_val_args <+> ppr demands ) 
-+	       -> WARN( True, text "More demands than arity" <+> ppr fun <+> ppr (idArity fun) <+> ppr n_val_args <+> ppr demands ) 
- 		   vanilla_stricts	-- Not enough args, or no strictness
- 
-     add_type_str :: Type -> [Bool] -> [Bool]
-@@ -1845,4 +1844,4 @@ without getting changed to c1=I# c2.
- I don't think this is worth fixing, even if I knew how. It'll
- all come out in the next pass anyway.
- 
--  
-\ No newline at end of file
-+  
-diff --git a/compiler/simplCore/Simplify.lhs b/compiler/simplCore/Simplify.lhs
-index adcaf13..06d939d 100644
---- a/compiler/simplCore/Simplify.lhs
-+++ b/compiler/simplCore/Simplify.lhs
-@@ -2185,8 +2185,7 @@ mkDupableAlt env case_bndr (con, bndrs', rhs')
- 		      	     rhs = mkConApp dc (map Type (tyConAppArgs scrut_ty)
- 			     	   	        ++ varsToCoreExprs bndrs')
- 
--		      LitAlt {} -> WARN( True, ptext (sLit "mkDupableAlt")
--		      	     	   	        <+> ppr case_bndr <+> ppr con )
-+		      LitAlt {} -> WARN( True, ptext (sLit "mkDupableAlt") <+> ppr case_bndr <+> ppr con )
- 			           case_bndr
- 		      	   -- The case binder is alive but trivial, so why has 
- 		      	   -- it not been substituted away?
diff --git a/pkgs/development/compilers/ghc/fix-7.4.2-clang.patch b/pkgs/development/compilers/ghc/fix-7.4.2-clang.patch
deleted file mode 100644
index ce1593b3e31..00000000000
--- a/pkgs/development/compilers/ghc/fix-7.4.2-clang.patch
+++ /dev/null
@@ -1,57 +0,0 @@
-diff --git a/compiler/codeGen/CgInfoTbls.hs b/compiler/codeGen/CgInfoTbls.hs
-index 25ba154..fbb7874 100644
---- a/compiler/codeGen/CgInfoTbls.hs
-+++ b/compiler/codeGen/CgInfoTbls.hs
-@@ -178,9 +178,7 @@ mkStackLayout = do
-                     [(offset - frame_sp - retAddrSizeW, b)
-                     | (offset, b) <- binds]
- 
--  WARN( not (all (\bind -> fst bind >= 0) rel_binds),
--        pprPlatform platform binds $$ pprPlatform platform rel_binds $$
--        ppr frame_size $$ ppr real_sp $$ ppr frame_sp )
-+  WARN( not (all (\bind -> fst bind >= 0) rel_binds), pprPlatform platform binds $$ pprPlatform platform rel_binds $$ ppr frame_size $$ ppr real_sp $$ ppr frame_sp )
-     return $ stack_layout rel_binds frame_size
- 
- stack_layout :: [(VirtualSpOffset, CgIdInfo)]
-diff --git a/compiler/main/GhcMake.hs b/compiler/main/GhcMake.hs
-index 091e1be..23447e4 100644
---- a/compiler/main/GhcMake.hs
-+++ b/compiler/main/GhcMake.hs
-@@ -338,8 +338,7 @@ load2 how_much mod_graph = do
-               liftIO $ intermediateCleanTempFiles dflags mods_to_keep hsc_env1
- 
-               -- there should be no Nothings where linkables should be, now
--              ASSERT(all (isJust.hm_linkable) 
--                        (eltsUFM (hsc_HPT hsc_env))) do
-+              ASSERT(all (isJust.hm_linkable) (eltsUFM (hsc_HPT hsc_env))) do
-         
-               -- Link everything together
-               linkresult <- liftIO $ link (ghcLink dflags) dflags False hpt4
-diff --git a/compiler/simplCore/SimplUtils.lhs b/compiler/simplCore/SimplUtils.lhs
-index 86dc88d..ecde4fd 100644
---- a/compiler/simplCore/SimplUtils.lhs
-+++ b/compiler/simplCore/SimplUtils.lhs
-@@ -407,8 +407,7 @@ mkArgInfo fun rules n_val_args call_cont
- 		   else
- 			map isStrictDmd demands ++ vanilla_stricts
- 	       | otherwise
--	       -> WARN( True, text "More demands than arity" <+> ppr fun <+> ppr (idArity fun) 
--				<+> ppr n_val_args <+> ppr demands ) 
-+	       -> WARN( True, text "More demands than arity" <+> ppr fun <+> ppr (idArity fun) <+> ppr n_val_args <+> ppr demands ) 
- 		   vanilla_stricts	-- Not enough args, or no strictness
- 
-     add_type_str :: Type -> [Bool] -> [Bool]
-diff --git a/compiler/simplCore/Simplify.lhs b/compiler/simplCore/Simplify.lhs
-index 3bd95a7..4c9ee7c 100644
---- a/compiler/simplCore/Simplify.lhs
-+++ b/compiler/simplCore/Simplify.lhs
-@@ -2336,8 +2336,7 @@ mkDupableAlt env case_bndr (con, bndrs', rhs')
- 		      	     rhs = mkConApp dc (map Type (tyConAppArgs scrut_ty)
- 			     	   	        ++ varsToCoreExprs bndrs')
- 
--		      LitAlt {} -> WARN( True, ptext (sLit "mkDupableAlt")
--		      	     	   	        <+> ppr case_bndr <+> ppr con )
-+		      LitAlt {} -> WARN( True, ptext (sLit "mkDupableAlt") <+> ppr case_bndr <+> ppr con )
- 			           case_bndr
- 		      	   -- The case binder is alive but trivial, so why has 
- 		      	   -- it not been substituted away?
diff --git a/pkgs/development/compilers/ghc/fix-7.6.3-clang.patch b/pkgs/development/compilers/ghc/fix-7.6.3-clang.patch
deleted file mode 100644
index e83fd252d72..00000000000
--- a/pkgs/development/compilers/ghc/fix-7.6.3-clang.patch
+++ /dev/null
@@ -1,71 +0,0 @@
-diff --git a/compiler/codeGen/CgInfoTbls.hs b/compiler/codeGen/CgInfoTbls.hs
-index 7cdb1b6..e953507 100644
---- a/compiler/codeGen/CgInfoTbls.hs
-+++ b/compiler/codeGen/CgInfoTbls.hs
-@@ -157,9 +157,7 @@ mkStackLayout = do
-                     [(offset - frame_sp - retAddrSizeW, b)
-                     | (offset, b) <- binds]
- 
--  WARN( not (all (\bind -> fst bind >= 0) rel_binds),
--        ppr binds $$ ppr rel_binds $$
--        ppr frame_size $$ ppr real_sp $$ ppr frame_sp )
-+  WARN( not (all (\bind -> fst bind >= 0) rel_binds), ppr binds $$ ppr rel_binds $$ ppr frame_size $$ ppr real_sp $$ ppr frame_sp )
-     return $ stack_layout rel_binds frame_size
- 
- stack_layout :: [(VirtualSpOffset, CgIdInfo)]
-diff --git a/compiler/main/GhcMake.hs b/compiler/main/GhcMake.hs
-index f563cd9..4ac7812 100644
---- a/compiler/main/GhcMake.hs
-+++ b/compiler/main/GhcMake.hs
-@@ -331,8 +331,7 @@ load how_much = do
-           liftIO $ intermediateCleanTempFiles dflags mods_to_keep hsc_env1
- 
-           -- there should be no Nothings where linkables should be, now
--          ASSERT(all (isJust.hm_linkable) 
--                    (eltsUFM (hsc_HPT hsc_env))) do
-+          ASSERT(all (isJust.hm_linkable) (eltsUFM (hsc_HPT hsc_env))) do
-     
-           -- Link everything together
-           linkresult <- liftIO $ link (ghcLink dflags) dflags False hpt4
-diff --git a/compiler/simplCore/SimplUtils.lhs b/compiler/simplCore/SimplUtils.lhs
-index 87aefba..479d2ef 100644
---- a/compiler/simplCore/SimplUtils.lhs
-+++ b/compiler/simplCore/SimplUtils.lhs
-@@ -415,8 +415,7 @@ mkArgInfo fun rules n_val_args call_cont
- 		   else
- 			map isStrictDmd demands ++ vanilla_stricts
- 	       | otherwise
--	       -> WARN( True, text "More demands than arity" <+> ppr fun <+> ppr (idArity fun) 
--				<+> ppr n_val_args <+> ppr demands ) 
-+	       -> WARN( True, text "More demands than arity" <+> ppr fun <+> ppr (idArity fun) <+> ppr n_val_args <+> ppr demands ) 
- 		   vanilla_stricts	-- Not enough args, or no strictness
- 
-     add_type_str :: Type -> [Bool] -> [Bool]
-diff --git a/compiler/simplCore/Simplify.lhs b/compiler/simplCore/Simplify.lhs
-index f2ed224..464fad6 100644
---- a/compiler/simplCore/Simplify.lhs
-+++ b/compiler/simplCore/Simplify.lhs
-@@ -2359,8 +2359,7 @@ mkDupableAlt env case_bndr (con, bndrs', rhs')
- 		      	     rhs = mkConApp dc (map Type (tyConAppArgs scrut_ty)
- 			     	   	        ++ varsToCoreExprs bndrs')
- 
--		      LitAlt {} -> WARN( True, ptext (sLit "mkDupableAlt")
--		      	     	   	        <+> ppr case_bndr <+> ppr con )
-+		      LitAlt {} -> WARN( True, ptext (sLit "mkDupableAlt") <+> ppr case_bndr <+> ppr con )
- 			           case_bndr
- 		      	   -- The case binder is alive but trivial, so why has 
- 		      	   -- it not been substituted away?
-diff --git a/compiler/types/Coercion.lhs b/compiler/types/Coercion.lhs
-index 42e54ba..9b420ae 100644
---- a/compiler/types/Coercion.lhs
-+++ b/compiler/types/Coercion.lhs
-@@ -498,8 +498,7 @@ splitForAllCo_maybe _                = Nothing
- coVarKind :: CoVar -> (Type,Type) 
- coVarKind cv
-  | Just (tc, [_kind,ty1,ty2]) <- splitTyConApp_maybe (varType cv)
-- = ASSERT (tc `hasKey` eqPrimTyConKey)
--   (ty1,ty2)
-+ = ASSERT (tc `hasKey` eqPrimTyConKey) (ty1,ty2)
-  | otherwise = panic "coVarKind, non coercion variable"
- 
- -- | Makes a coercion type from two types: the types whose equality 
diff --git a/pkgs/development/compilers/ghc/head.nix b/pkgs/development/compilers/ghc/head.nix
index da38230d485..c0f1091b04d 100644
--- a/pkgs/development/compilers/ghc/head.nix
+++ b/pkgs/development/compilers/ghc/head.nix
@@ -22,7 +22,7 @@
 
 , # Whether to build dynamic libs for the standard library (on the target
   # platform). Static libs are always built.
-  enableShared ? true
+  enableShared ? !targetPlatform.useAndroidPrebuilt
 
 , version ? "8.5.20180118"
 }:
@@ -50,6 +50,8 @@ let
   '' + stdenv.lib.optionalString enableRelocatedStaticLibs ''
     GhcLibHcOpts += -fPIC
     GhcRtsHcOpts += -fPIC
+  '' + stdenv.lib.optionalString targetPlatform.useAndroidPrebuilt ''
+    EXTRA_CC_OPTS += -std=gnu99
   '';
 
   # Splicer will pull out correct variations
diff --git a/pkgs/development/compilers/ghc/hpc-7.8.4.patch b/pkgs/development/compilers/ghc/hpc-7.8.4.patch
deleted file mode 100644
index 212989200bc..00000000000
--- a/pkgs/development/compilers/ghc/hpc-7.8.4.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/compiler/cmm/CLabel.hs b/compiler/cmm/CLabel.hs
-index 991fc57..0aad221 100644
---- a/compiler/cmm/CLabel.hs
-+++ b/compiler/cmm/CLabel.hs
-@@ -877,7 +877,7 @@ labelDynamic dflags this_pkg this_mod lbl =
- 
-    PlainModuleInitLabel m -> not (gopt Opt_Static dflags) && this_pkg /= (modulePackageId m)
- 
--   HpcTicksLabel m        -> not (gopt Opt_Static dflags) && this_pkg /= (modulePackageId m)
-+   HpcTicksLabel m        -> not (gopt Opt_Static dflags) && this_mod /= m
- 
-    -- Note that DynamicLinkerLabels do NOT require dynamic linking themselves.
-    _                 -> False
diff --git a/pkgs/development/compilers/ghcjs/base.nix b/pkgs/development/compilers/ghcjs/base.nix
index 3aac2d70e13..07662d32d25 100644
--- a/pkgs/development/compilers/ghcjs/base.nix
+++ b/pkgs/development/compilers/ghcjs/base.nix
@@ -189,7 +189,7 @@ in mkDerivation (rec {
   description = "A Haskell to JavaScript compiler that uses the GHC API";
   license = stdenv.lib.licenses.bsd3;
   platforms = ghc.meta.platforms;
-  maintainers = with stdenv.lib.maintainers; [ jwiegley cstrahan dmjio ];
+  maintainers = with stdenv.lib.maintainers; [ jwiegley cstrahan dmjio elvishjerricco ];
   hydraPlatforms = if broken then [] else ghc.meta.platforms;
   inherit broken;
 })
diff --git a/pkgs/development/compilers/ghcjs/default.nix b/pkgs/development/compilers/ghcjs/default.nix
index b5a7a7f7cfc..7f3cc944001 100644
--- a/pkgs/development/compilers/ghcjs/default.nix
+++ b/pkgs/development/compilers/ghcjs/default.nix
@@ -2,5 +2,4 @@
 
 bootPkgs.callPackage ./base.nix {
   inherit bootPkgs cabal-install;
-  broken = true;  # https://hydra.nixos.org/build/70552553
 }
diff --git a/pkgs/development/compilers/ghdl/default.nix b/pkgs/development/compilers/ghdl/default.nix
deleted file mode 100644
index eaf9949b52d..00000000000
--- a/pkgs/development/compilers/ghdl/default.nix
+++ /dev/null
@@ -1,44 +0,0 @@
-{ stdenv, fetchFromGitHub, gnat, zlib, llvm_35, ncurses, clang, flavour ? "mcode" }:
-
-# mcode only works on x86, while the llvm flavour works on both x86 and x86_64.
-
-
-assert flavour == "llvm" || flavour == "mcode";
-
-let
-  inherit (stdenv.lib) optional;
-  inherit (stdenv.lib) optionals;
-  version = "0.33";
-in
-stdenv.mkDerivation rec {
-  name = "ghdl-${flavour}-${version}";
-
-  src = fetchFromGitHub {
-    owner = "tgingold";
-    repo = "ghdl";
-    rev = "v${version}";
-    sha256 = "0g72rk2yzr0lrpncq2c1qcv71w3mi2hjq84r1yzgjr6d0qm87r2a";
-  };
-
-  buildInputs = [ gnat zlib ] ++ optionals (flavour == "llvm") [ clang ncurses ];
-
-  configureFlags = optional (flavour == "llvm") "--with-llvm=${llvm_35}";
-
-  patchPhase = ''
-    # Disable warnings-as-errors, because there are warnings (unused things)
-    sed -i s/-gnatwae/-gnatwa/ Makefile.in ghdl.gpr.in
-  '';
-
-  hardeningDisable = [ "all" ];
-
-  enableParallelBuilding = true;
-
-  meta = {
-    homepage = https://sourceforge.net/p/ghdl-updates/wiki/Home/;
-    description = "Free VHDL simulator";
-    maintainers = with stdenv.lib.maintainers; [viric];
-    platforms = with stdenv.lib.platforms; (if flavour == "llvm" then [ "i686-linux" "x86_64-linux" ]
-      else [ "i686-linux" ]);
-    license = stdenv.lib.licenses.gpl2Plus;
-  };
-}
diff --git a/pkgs/development/compilers/glslang/default.nix b/pkgs/development/compilers/glslang/default.nix
index 151f42a7aa7..ca1e2f54df9 100644
--- a/pkgs/development/compilers/glslang/default.nix
+++ b/pkgs/development/compilers/glslang/default.nix
@@ -1,21 +1,35 @@
-{ stdenv, fetchFromGitHub, cmake, bison }:
+{ stdenv, fetchFromGitHub, cmake, bison, spirv-tools, jq }:
 
 stdenv.mkDerivation rec {
   name = "glslang-git-${version}";
-  version = "2017-08-31";
+  version = "2018-02-05";
 
   # `vulkan-loader` requires a specific version of `glslang` as specified in
   # `<vulkan-loader-repo>/external_revisions/glslang_revision`.
   src = fetchFromGitHub {
     owner = "KhronosGroup";
     repo = "glslang";
-    rev = "3a21c880500eac21cdf79bef5b80f970a55ac6af";
-    sha256 = "1i15m17r0acmzjrkybris2rgw15il05a4w5h7vhhsiyngcvajcyn";
+    rev = "2651ccaec8";
+    sha256 = "0x5x5i07n9g809rzf5jgw70mmwck31ishdmxnmi0wxx737jjqwaq";
   };
 
-  buildInputs = [ cmake bison ];
+  buildInputs = [ cmake bison jq ] ++ spirv-tools.buildInputs;
   enableParallelBuilding = true;
 
+  patchPhase = ''
+    cp --no-preserve=mode -r "${spirv-tools.src}" External/spirv-tools
+    ln -s "${spirv-tools.headers}" External/spirv-tools/external/spirv-headers
+  '';
+
+  preConfigure = ''
+    HEADERS_COMMIT=$(jq -r < known_good.json '.commits|map(select(.name=="spirv-tools/external/spirv-headers"))[0].commit')
+    TOOLS_COMMIT=$(jq -r < known_good.json '.commits|map(select(.name=="spirv-tools"))[0].commit')
+    if [ "$HEADERS_COMMIT" != "${spirv-tools.headers.rev}" ] || [ "$TOOLS_COMMIT" != "${spirv-tools.src.rev}" ]; then
+      echo "ERROR: spirv-tools commits do not match expected versions";
+      exit 1;
+    fi
+  '';
+
   meta = with stdenv.lib; {
     inherit (src.meta) homepage;
     description = "Khronos reference front-end for GLSL and ESSL";
diff --git a/pkgs/development/compilers/gnatboot/default.nix b/pkgs/development/compilers/gnatboot/default.nix
deleted file mode 100644
index a209e392bc6..00000000000
--- a/pkgs/development/compilers/gnatboot/default.nix
+++ /dev/null
@@ -1,48 +0,0 @@
-{stdenv, fetchurl}:
-
-stdenv.mkDerivation {
-  name = "gentoo-gnatboot-4.1";
-
-  src = if stdenv.system == "i686-linux" then
-    fetchurl {
-      url = "mirror://gentoo/distfiles/gnatboot-4.1-i386.tar.bz2";
-      sha256 = "0665zk71598204bf521vw68i5y6ccqarq9fcxsqp7ccgycb4lysr";
-    }
-    else if stdenv.system == "x86_64-linux" then
-    fetchurl {
-      url = "mirror://gentoo/distfiles/gnatboot-4.1-amd64.tar.bz2";
-      sha256 = "1li4d52lmbnfs6llcshlbqyik2q2q4bvpir0f7n38nagp0h6j0d4";
-    } else throw "Platform not supported";
-
-  dontStrip=1;
-
-  installPhase = ''
-    mkdir -p $out
-    cp -R * $out
-    set +e
-    for a in $out/bin/* ; do
-      patchelf --interpreter $(cat $NIX_CC/nix-support/dynamic-linker) \
-        --set-rpath $(cat $NIX_CC/nix-support/orig-libc)/lib:$(cat $NIX_CC/nix-support/orig-cc)/lib64:$(cat $NIX_CC/nix-support/orig-cc)/lib $a
-    done
-    set -e
-    mv $out/bin/gnatgcc_2wrap $out/bin/gnatgcc
-    ln -s $out/bin/gnatgcc $out/bin/gcc
-  '';
-
-  passthru = {
-    langC = true; /* TRICK for gcc-wrapper to wrap it */
-    langCC = false;
-    langFortran = false;
-    langAda = true;
-  };
-
-  meta = {
-    homepage = http://gentoo.org;
-    license = stdenv.lib.licenses.gpl3Plus;  # runtime support libraries are typically LGPLv3+
-    maintainers = [
-      stdenv.lib.maintainers.viric
-    ];
-    
-    platforms = stdenv.lib.platforms.linux;
-  };
-}
diff --git a/pkgs/development/compilers/go/1.10.nix b/pkgs/development/compilers/go/1.10.nix
index b22bfb2bd10..23e7ec222a6 100644
--- a/pkgs/development/compilers/go/1.10.nix
+++ b/pkgs/development/compilers/go/1.10.nix
@@ -25,18 +25,17 @@ in
 
 stdenv.mkDerivation rec {
   name = "go-${version}";
-  version = "1.10";
+  version = "1.10.2";
 
   src = fetchFromGitHub {
     owner = "golang";
     repo = "go";
     rev = "go${version}";
-    sha256 = "1dzs1mz3zxgg1qyi2lrlxdz1lsvazxvmj9cb69pgqnwjlh3jpw0l";
+    sha256 = "1lbxnlj5l9i8k1dg33dh8ndx9vspk9dkpcbg06jbbswy6kadmx6f";
   };
 
   # perl is used for testing go vet
-  nativeBuildInputs = [ perl which pkgconfig patch makeWrapper ]
-    ++ optionals stdenv.isLinux [ procps ];
+  nativeBuildInputs = [ perl which pkgconfig patch makeWrapper procps ];
   buildInputs = [ cacert pcre ]
     ++ optionals stdenv.isLinux [ stdenv.cc.libc.out ]
     ++ optionals (stdenv.hostPlatform.libc == "glibc") [ stdenv.cc.libc.static ];
@@ -77,6 +76,10 @@ stdenv.mkDerivation rec {
     sed -i '/TestRespectSetgidDir/areturn' src/cmd/go/internal/work/build_test.go
     # Remove cert tests that conflict with NixOS's cert resolution
     sed -i '/TestEnvVars/areturn' src/crypto/x509/root_unix_test.go
+    # TestWritevError hangs sometimes
+    sed -i '/TestWritevError/areturn' src/net/writev_test.go
+    # TestVariousDeadlines fails sometimes
+    sed -i '/TestVariousDeadlines/areturn' src/net/timeout_test.go
 
     sed -i 's,/etc/protocols,${iana-etc}/etc/protocols,' src/net/lookup_unix.go
     sed -i 's,/etc/services,${iana-etc}/etc/services,' src/net/port_unix.go
diff --git a/pkgs/development/compilers/go/1.9.nix b/pkgs/development/compilers/go/1.9.nix
index 955d9029d38..8ef528e2c92 100644
--- a/pkgs/development/compilers/go/1.9.nix
+++ b/pkgs/development/compilers/go/1.9.nix
@@ -25,18 +25,17 @@ in
 
 stdenv.mkDerivation rec {
   name = "go-${version}";
-  version = "1.9.4";
+  version = "1.9.5";
 
   src = fetchFromGitHub {
     owner = "golang";
     repo = "go";
     rev = "go${version}";
-    sha256 = "15d9lfiy1cjfz6nqnig5884ykqckx58cynd1bva1xna7bwcwwp2r";
+    sha256 = "15dx1b71xv7b265gqk9nv02pirggpw7d83apikhrza2qkj64ydd0";
   };
 
   # perl is used for testing go vet
-  nativeBuildInputs = [ perl which pkgconfig patch makeWrapper ]
-    ++ optionals stdenv.isLinux [ procps ];
+  nativeBuildInputs = [ perl which pkgconfig patch makeWrapper procps ];
   buildInputs = [ cacert pcre ]
     ++ optionals stdenv.isLinux [ stdenv.cc.libc.out ]
     ++ optionals (stdenv.hostPlatform.libc == "glibc") [ stdenv.cc.libc.static ];
@@ -77,6 +76,10 @@ stdenv.mkDerivation rec {
     sed -i '/TestRespectSetgidDir/areturn' src/cmd/go/internal/work/build_test.go
     # Remove cert tests that conflict with NixOS's cert resolution
     sed -i '/TestEnvVars/areturn' src/crypto/x509/root_unix_test.go
+    # TestWritevError hangs sometimes
+    sed -i '/TestWritevError/areturn' src/net/writev_test.go
+    # TestVariousDeadlines fails sometimes
+    sed -i '/TestVariousDeadlines/areturn' src/net/timeout_test.go
 
     sed -i 's,/etc/protocols,${iana-etc}/etc/protocols,' src/net/lookup_unix.go
     sed -i 's,/etc/services,${iana-etc}/etc/services,' src/net/port_unix.go
diff --git a/pkgs/development/compilers/gprolog/default.nix b/pkgs/development/compilers/gprolog/default.nix
index 0e3eb88f537..b12b055342c 100644
--- a/pkgs/development/compilers/gprolog/default.nix
+++ b/pkgs/development/compilers/gprolog/default.nix
@@ -63,6 +63,6 @@ stdenv.mkDerivation rec {
     '';
 
     maintainers = [ stdenv.lib.maintainers.peti ];
-    platforms = stdenv.lib.platforms.gnu;
+    platforms = stdenv.lib.platforms.gnu ++ stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/development/compilers/graalvm/default.nix b/pkgs/development/compilers/graalvm/default.nix
index ce324b353ec..2eb9c4a7e83 100644
--- a/pkgs/development/compilers/graalvm/default.nix
+++ b/pkgs/development/compilers/graalvm/default.nix
@@ -116,6 +116,7 @@ in rec {
       mv jdk1.8.0_*/linux-amd64/product $out
       find $out -type f -exec sed -i "s#${oraclejdk8}#$out#g" {} \;
     '';
+    dontFixup = true; # do not nuke path of ffmpeg etc
     dontStrip = true; # why? see in oraclejdk derivation
     inherit (oraclejdk8) meta;
   };
@@ -174,6 +175,7 @@ in rec {
         --replace file:/dev/random    file:/dev/./urandom \
         --replace NativePRNGBlocking  SHA1PRNG
     '';
+    dontFixup = true; # do not nuke path of ffmpeg etc
     dontStrip = true; # why? see in oraclejdk derivation
     doInstallCheck = true;
     installCheckPhase = ''
diff --git a/pkgs/development/compilers/haxe/default.nix b/pkgs/development/compilers/haxe/default.nix
index a420949711e..afeef2b3637 100644
--- a/pkgs/development/compilers/haxe/default.nix
+++ b/pkgs/development/compilers/haxe/default.nix
@@ -53,6 +53,24 @@ let
 
       dontStrip = true;
 
+      # While it might be a good idea to run the upstream test suite, let's at
+      # least make sure we can actually run the compiler.
+      doInstallCheck = true;
+      installCheckPhase = ''
+        # Get out of the source directory to make sure the stdlib from the
+        # sources doesn't interfere with the installed one.
+        mkdir installcheck
+        pushd installcheck > /dev/null
+        cat >> InstallCheck.hx <<EOF
+        class InstallCheck {
+          public static function main() trace("test");
+        }
+        EOF
+        "$out/bin/haxe" -js installcheck.js -main InstallCheck
+        grep -q 'console\.log.*test' installcheck.js
+        popd > /dev/null
+      '';
+
       meta = with stdenv.lib; {
         description = "Programming language targeting JavaScript, Flash, NekoVM, PHP, C++";
         homepage = https://haxe.org;
@@ -75,7 +93,7 @@ in {
     version = "3.4.6";
     sha256 = "1myc4b8fwp0f9vky17wv45n34a583f5sjvajsc93f5gm1wanp4if";
     prePatch = ''
-      sed -i -e 's|"/usr/lib/haxe/std/";|"'"$out/lib/haxe/std/"'";\n&|g' src/main.ml
+      sed -i -re 's!(let +prefix_path += +).*( +in)!\1"'"$out/"'"\2!' src/main.ml
       sed -i -e 's|"neko"|"${neko}/bin/neko"|g' extra/haxelib_src/src/haxelib/client/Main.hx
     '';
   };
diff --git a/pkgs/development/compilers/hhvm/default.nix b/pkgs/development/compilers/hhvm/default.nix
index 1cb28118ccb..749e4125a0b 100644
--- a/pkgs/development/compilers/hhvm/default.nix
+++ b/pkgs/development/compilers/hhvm/default.nix
@@ -59,7 +59,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "High-performance JIT compiler for PHP/Hack";
-    homepage    = "http://hhvm.com";
+    homepage    = "https://hhvm.com";
     license     = "PHP/Zend";
     platforms   = [ "x86_64-linux" ];
     maintainers = [ stdenv.lib.maintainers.thoughtpolice ];
diff --git a/pkgs/development/compilers/iasl/default.nix b/pkgs/development/compilers/iasl/default.nix
index 5e0970ea12f..22f80ae559f 100644
--- a/pkgs/development/compilers/iasl/default.nix
+++ b/pkgs/development/compilers/iasl/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "iasl-${version}";
-  version = "20170303";
+  version = "20180313";
 
   src = fetchurl {
     url = "https://acpica.org/sites/acpica/files/acpica-unix-${version}.tar.gz";
-    sha256 = "1dc933rr11gv1nlaf5j8ih1chdakbjbjkn34jgbm330zppmck4y0";
+    sha256 = "05ab2xfv9wqwbzjaa9xqgrvvan87rxv29hw48h1gcckpc5smp2wm";
   };
 
   NIX_CFLAGS_COMPILE = "-O3";
diff --git a/pkgs/development/compilers/icedtea-web/default.nix b/pkgs/development/compilers/icedtea-web/default.nix
index fb03d98dbdc..9390cbde637 100644
--- a/pkgs/development/compilers/icedtea-web/default.nix
+++ b/pkgs/development/compilers/icedtea-web/default.nix
@@ -3,11 +3,11 @@
 stdenv.mkDerivation rec {
   name = "icedtea-web-${version}";
 
-  version = "1.6.2";
+  version = "1.7.1";
 
   src = fetchurl {
     url = "http://icedtea.wildebeest.org/download/source/${name}.tar.gz";
-    sha256 = "004kwrngyxxlrlzby4vzxjr0xcyngcdc9dfgnvi61ffnjr006ryf";
+    sha256 = "1b9z0i9b1dsc2qpfdzbn2fi4vi3idrhm7ig45g1ny40ymvxcwwn9";
   };
 
   nativeBuildInputs = [ pkgconfig bc perl ];
diff --git a/pkgs/development/compilers/jetbrains-jdk/default.nix b/pkgs/development/compilers/jetbrains-jdk/default.nix
index 604474e01fe..5ffb7b92b26 100644
--- a/pkgs/development/compilers/jetbrains-jdk/default.nix
+++ b/pkgs/development/compilers/jetbrains-jdk/default.nix
@@ -7,13 +7,13 @@
 
 let drv = stdenv.mkDerivation rec {
   pname = "jetbrainsjdk";
-  version = "152b1036.1";
+  version = "152b1136.20";
   name = pname + "-" + version;
 
   src = if stdenv.system == "x86_64-linux" then
     fetchurl {
       url = "https://bintray.com/jetbrains/intellij-jdk/download_file?file_path=jbsdk8u${version}_linux_x64.tar.gz";
-      sha256 = "1768f02i3dxdbxn8n29d522h8v0mkgnhpb8ixzq5p54vwjmfl6md";
+      sha256 = "0sqr8f3z062kwcxh3dxnan45ldas438blbc69z0pypbhc8c2sk2b";
     }
   else
     throw "unsupported system: ${stdenv.system}";
diff --git a/pkgs/development/compilers/jsonnet/default.nix b/pkgs/development/compilers/jsonnet/default.nix
index d4664673306..839e3e71e81 100644
--- a/pkgs/development/compilers/jsonnet/default.nix
+++ b/pkgs/development/compilers/jsonnet/default.nix
@@ -1,6 +1,6 @@
 { stdenv, lib, fetchFromGitHub, emscripten }:
 
-let version = "0.9.5"; in
+let version = "0.10.0"; in
 
 stdenv.mkDerivation {
   name = "jsonnet-${version}";
@@ -10,7 +10,7 @@ stdenv.mkDerivation {
     rev = "v${version}";
     owner = "google";
     repo = "jsonnet";
-    sha256 = "193sa4hdhvml0c32nmdkjii41hbyc5l0zisdn699ar0gaq7yiqan";
+    sha256 = "0xj540140r89qrdh3h4kzlz4x8c576ynq9i1x82zzl3d7fxbk5f0";
   };
 
   buildInputs = [ emscripten ];
diff --git a/pkgs/development/compilers/julia/0.5.nix b/pkgs/development/compilers/julia/0.5.nix
index 0cf933ee4d2..cff6c1c446f 100644
--- a/pkgs/development/compilers/julia/0.5.nix
+++ b/pkgs/development/compilers/julia/0.5.nix
@@ -42,7 +42,7 @@ let
   rmathVersion = "0.1";
   rmath-julia = fetchurl {
     url = "https://api.github.com/repos/JuliaLang/Rmath-julia/tarball/v${rmathVersion}";
-    sha256 = "0ai5dhjc43zcvangz123ryxmlbm51s21rg13bllwyn98w67arhb4";
+    sha256 = "1qyps217175qhid46l8f5i1v8i82slgp23ia63x2hzxwfmx8617p";
   };
   
   virtualenvVersion = "15.0.0";
diff --git a/pkgs/development/compilers/julia/0.6.nix b/pkgs/development/compilers/julia/0.6.nix
index 6acb192933e..6fad8e5259c 100644
--- a/pkgs/development/compilers/julia/0.6.nix
+++ b/pkgs/development/compilers/julia/0.6.nix
@@ -42,7 +42,7 @@ let
   rmathVersion = "0.1";
   rmath-julia = fetchurl {
     url = "https://api.github.com/repos/JuliaLang/Rmath-julia/tarball/v${rmathVersion}";
-    sha256 = "0ai5dhjc43zcvangz123ryxmlbm51s21rg13bllwyn98w67arhb4";
+    sha256 = "1qyps217175qhid46l8f5i1v8i82slgp23ia63x2hzxwfmx8617p";
   };
   
   virtualenvVersion = "15.0.0";
@@ -172,10 +172,14 @@ stdenv.mkDerivation rec {
   '';
 
   postInstall = ''
-    for prog in "$out/bin/julia" "$out/bin/julia-debug"; do
-        wrapProgram "$prog" \
-            --prefix LD_LIBRARY_PATH : "$LD_LIBRARY_PATH:$out/lib/julia" \
-            --prefix PATH : "${stdenv.lib.makeBinPath [ curl ]}"
+    # Symlink shared libraries from LD_LIBRARY_PATH into lib/julia,
+    # as using a wrapper with LD_LIBRARY_PATH causes segmentation
+    # faults when program returns an error:
+    #   $ julia -e 'throw(Error())'
+    find $(echo $LD_LIBRARY_PATH | sed 's|:| |g') -maxdepth 1 -name '*.${if stdenv.isDarwin then "dylib" else "so"}*' | while read lib; do
+      if [[ ! -e $out/lib/julia/$(basename $lib) ]]; then
+        ln -sv $lib $out/lib/julia/$(basename $lib)
+      fi
     done
   '';
 
diff --git a/pkgs/development/compilers/julia/default.nix b/pkgs/development/compilers/julia/default.nix
index 63252084b5d..b5a3a8c6be2 100644
--- a/pkgs/development/compilers/julia/default.nix
+++ b/pkgs/development/compilers/julia/default.nix
@@ -42,7 +42,7 @@ let
   rmathVersion = "0.1";
   rmath-julia = fetchurl {
     url = "https://api.github.com/repos/JuliaLang/Rmath-julia/tarball/v${rmathVersion}";
-    sha256 = "0ai5dhjc43zcvangz123ryxmlbm51s21rg13bllwyn98w67arhb4";
+    sha256 = "1qyps217175qhid46l8f5i1v8i82slgp23ia63x2hzxwfmx8617p";
   };
 in
 
@@ -164,6 +164,7 @@ stdenv.mkDerivation rec {
     license = stdenv.lib.licenses.mit;
     maintainers = with stdenv.lib.maintainers; [ raskin ];
     platforms = [ "i686-linux" "x86_64-linux" "x86_64-darwin" ];
-    broken = stdenv.isi686;
+    #broken = stdenv.isi686;
+    broken = true; # 2018-04-10
   };
 }
diff --git a/pkgs/development/compilers/julia/git.nix b/pkgs/development/compilers/julia/git.nix
index 19519823f37..4b9a369e8d2 100644
--- a/pkgs/development/compilers/julia/git.nix
+++ b/pkgs/development/compilers/julia/git.nix
@@ -40,7 +40,7 @@ let
   rmathVersion = "0.1";
   rmath-julia = fetchurl {
     url = "https://api.github.com/repos/JuliaLang/Rmath-julia/tarball/v${rmathVersion}";
-    sha256 = "0ai5dhjc43zcvangz123ryxmlbm51s21rg13bllwyn98w67arhb4";
+    sha256 = "1qyps217175qhid46l8f5i1v8i82slgp23ia63x2hzxwfmx8617p";
   };
   
   virtualenvVersion = "15.0.0";
diff --git a/pkgs/development/compilers/kotlin/default.nix b/pkgs/development/compilers/kotlin/default.nix
index b6374908757..76f29eeaa0c 100644
--- a/pkgs/development/compilers/kotlin/default.nix
+++ b/pkgs/development/compilers/kotlin/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchurl, makeWrapper, jre, unzip }:
 
 let
-  version = "1.2.30";
+  version = "1.2.41";
 in stdenv.mkDerivation rec {
   inherit version;
   name = "kotlin-${version}";
 
   src = fetchurl {
     url = "https://github.com/JetBrains/kotlin/releases/download/v${version}/kotlin-compiler-${version}.zip";
-    sha256 = "0wg08cncwfajxfx8860wdf5dr4h92j069qvdr90l5m01ff3nasad";
+    sha256 = "0p16xl2qhm7913abd06vvmsx956ny51jjfr6knkmrnk8y9r2g1xg";
   };
 
   propagatedBuildInputs = [ jre ] ;
@@ -22,6 +22,11 @@ in stdenv.mkDerivation rec {
     for p in $(ls $out/bin/) ; do
       wrapProgram $out/bin/$p --prefix PATH ":" ${jre}/bin ;
     done
+
+    if [ -f $out/LICENSE ]; then
+      install -D $out/LICENSE $out/share/kotlin/LICENSE
+      rm $out/LICENSE
+    fi
   '';
 
   meta = {
diff --git a/pkgs/development/compilers/ldc/default.nix b/pkgs/development/compilers/ldc/default.nix
index bdb74680b13..1fd839180c5 100644
--- a/pkgs/development/compilers/ldc/default.nix
+++ b/pkgs/development/compilers/ldc/default.nix
@@ -2,8 +2,8 @@
 , python, libconfig, lit, gdb, unzip, darwin, bash
 , callPackage
 , bootstrapVersion ? false
-, version ? "1.7.0"
-, ldcSha256 ? "1g8qvmlzvsp030z2rw6lis4kclsd9mlmnbim5kas0k1yr9063m3w"
+, version ? "1.8.0"
+, ldcSha256 ? "0zswjlibj8zcdj06nn09jjhbd99chsa5f4kps8xifzgrpgsa28g4"
 }:
 
 let
@@ -29,16 +29,12 @@ let
       sha256 = ldcSha256;
     };
 
-    sourceRoot = ".";
-
     postUnpack = ''
-        cd ldc-${version}-src/
-
         patchShebangs .
 
         # Remove cppa test for now because it doesn't work.
-        rm tests/d2/dmd-testsuite/runnable/cppa.d
-        rm tests/d2/dmd-testsuite/runnable/extra-files/cppb.cpp
+        rm ldc-${version}-src/tests/d2/dmd-testsuite/runnable/cppa.d
+        rm ldc-${version}-src/tests/d2/dmd-testsuite/runnable/extra-files/cppb.cpp
     ''
 
     + stdenv.lib.optionalString (bootstrapVersion) ''
@@ -55,12 +51,15 @@ let
         #
         #==============================
         #Test failed: expected rc == 0, exited with rc == 1
-        rm tests/d2/dmd-testsuite/runnable/variadic.d
+        rm ldc-${version}-src/tests/d2/dmd-testsuite/runnable/variadic.d
     ''
 
     + stdenv.lib.optionalString (!bootstrapVersion) ''
 	    # http://forum.dlang.org/thread/xtbbqthxutdoyhnxjhxl@forum.dlang.org
-	    rm -r tests/dynamiccompile
+	    rm -r ldc-${version}-src/tests/dynamiccompile
+
+            # https://github.com/NixOS/nixpkgs/issues/34817
+	    rm -r ldc-${version}-src/tests/plugins/addFuncEntryCall
     '';
 
     ROOT_HOME_DIR = "$(echo ~root)";
@@ -190,8 +189,6 @@ let
 
     src = ldcBuild.src;
 
-    sourceRoot = ".";
-
     postUnpack = ldcBuild.postUnpack;
 
     postPatch = ldcBuild.postPatch;
@@ -212,7 +209,7 @@ let
                         "-DLDC_WITH_LLD=OFF"
                         # Xcode 9.0.1 fixes that bug according to ldc release notes
                         "-DRT_ARCHIVE_WITH_LDC=OFF"
-                        "-DD_COMPILER=${ldcBuild}/bin/ldmd2"
+                        "-DD_COMPILER=${ldcBuild.out}/bin/ldmd2"
                       )
     '';
 
@@ -223,7 +220,7 @@ let
     buildCmd = if bootstrapVersion then
       "ctest -V -R \"build-druntime-ldc-unittest|build-phobos2-ldc-unittest\""
     else
-      "make -j$NIX_BUILD_CORES DMD=${ldcBuild}/bin/ldc2 druntime-test-runner druntime-test-runner-debug phobos2-test-runner phobos2-test-runner-debug";
+      "make -j$NIX_BUILD_CORES DMD=${ldcBuild.out}/bin/ldc2 phobos2-test-runner phobos2-test-runner-debug";
 
     testCmd = if bootstrapVersion then
       "ctest -j$NIX_BUILD_CORES --output-on-failure -E \"dmd-testsuite|lit-tests|ldc2-unittest|llvm-ir-testsuite\""
@@ -232,6 +229,7 @@ let
 
     buildPhase = ''
         ${buildCmd}
+        ln -s ${ldcBuild.out}/bin/ldmd2 $PWD/bin/ldmd2
         ${testCmd}
     '';
 
diff --git a/pkgs/development/compilers/llvm/3.4/clang.nix b/pkgs/development/compilers/llvm/3.4/clang.nix
index 10510c75035..863e7eb2247 100644
--- a/pkgs/development/compilers/llvm/3.4/clang.nix
+++ b/pkgs/development/compilers/llvm/3.4/clang.nix
@@ -29,7 +29,10 @@ stdenv.mkDerivation {
   # Clang expects to find LLVMgold in its own prefix
   # Clang expects to find sanitizer libraries in its own prefix
   postInstall = ''
-    ln -sv ${llvm}/lib/LLVMgold.so $out/lib
+    if [ -e ${llvm}/lib/LLVMgold.so ]; then
+      ln -sv ${llvm}/lib/LLVMgold.so $out/lib
+    fi
+
     ln -sv ${llvm}/lib/clang/${version}/lib $out/lib/clang/${version}/
   '';
 
diff --git a/pkgs/development/compilers/llvm/3.4/llvm.nix b/pkgs/development/compilers/llvm/3.4/llvm.nix
index 27047e7d941..0b29b04825a 100644
--- a/pkgs/development/compilers/llvm/3.4/llvm.nix
+++ b/pkgs/development/compilers/llvm/3.4/llvm.nix
@@ -90,6 +90,6 @@ in stdenv.mkDerivation rec {
     homepage    = http://llvm.org/;
     license     = stdenv.lib.licenses.ncsa;
     maintainers = with stdenv.lib.maintainers; [ lovek323 raskin viric ];
-    platforms   = stdenv.lib.platforms.all;
+    platforms = [ "i686-linux" "x86_64-linux" "x86_64-darwin" "armv7l-linux"];
   };
 }
diff --git a/pkgs/development/compilers/llvm/3.5/clang.nix b/pkgs/development/compilers/llvm/3.5/clang.nix
index f15c989ef51..7e0163577ba 100644
--- a/pkgs/development/compilers/llvm/3.5/clang.nix
+++ b/pkgs/development/compilers/llvm/3.5/clang.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetch, cmake, libxml2, libedit, llvm, version, clang-tools-extra_src }:
+{ stdenv, fetch, cmake, libxml2, llvm, version, clang-tools-extra_src }:
 let
   gcc = if stdenv.cc.isGNU then stdenv.cc.cc else stdenv.cc.cc.gcc;
 in stdenv.mkDerivation {
@@ -12,7 +12,7 @@ in stdenv.mkDerivation {
     mv clang-tools-extra-* $sourceRoot/tools/extra
   '';
 
-  buildInputs = [ cmake libedit libxml2 llvm ];
+  buildInputs = [ cmake libxml2 llvm ];
 
   cmakeFlags = [
     "-DCMAKE_CXX_FLAGS=-std=c++11"
@@ -31,7 +31,10 @@ in stdenv.mkDerivation {
   # Clang expects to find LLVMgold in its own prefix
   # Clang expects to find sanitizer libraries in its own prefix
   postInstall = ''
-    ln -sv ${llvm}/lib/LLVMgold.so $out/lib
+    if [ -e ${llvm}/lib/LLVMgold.so ]; then
+      ln -sv ${llvm}/lib/LLVMgold.so $out/lib
+    fi
+
     ln -sv ${llvm}/lib/clang/${version}/lib $out/lib/clang/${version}/
     ln -sv $out/bin/clang $out/bin/cpp
   '';
diff --git a/pkgs/development/compilers/llvm/3.5/libc++/default.nix b/pkgs/development/compilers/llvm/3.5/libc++/default.nix
index 1f1129f578f..6edd5e9798c 100644
--- a/pkgs/development/compilers/llvm/3.5/libc++/default.nix
+++ b/pkgs/development/compilers/llvm/3.5/libc++/default.nix
@@ -39,7 +39,10 @@ stdenv.mkDerivation rec {
 
   linkCxxAbi = stdenv.isLinux;
 
-  setupHook = ./setup-hook.sh;
+  setupHooks = [
+    ../../../../../build-support/setup-hooks/role.bash
+    ./setup-hook.sh
+  ];
 
   meta = {
     homepage = http://libcxx.llvm.org/;
diff --git a/pkgs/development/compilers/llvm/3.5/libc++/setup-hook.sh b/pkgs/development/compilers/llvm/3.5/libc++/setup-hook.sh
index 9022fced6ec..6611259165a 100644
--- a/pkgs/development/compilers/llvm/3.5/libc++/setup-hook.sh
+++ b/pkgs/development/compilers/llvm/3.5/libc++/setup-hook.sh
@@ -1,3 +1,6 @@
+# See pkgs/build-support/setup-hooks/role.bash
+getHostRole
+
 linkCxxAbi="@linkCxxAbi@"
-export NIX_CXXSTDLIB_COMPILE+=" -isystem @out@/include/c++/v1"
-export NIX_CXXSTDLIB_LINK=" -stdlib=libc++${linkCxxAbi:+" -lc++abi"}"
+export NIX_${role_pre}CXXSTDLIB_COMPILE+=" -isystem @out@/include/c++/v1"
+export NIX_${role_pre}CXXSTDLIB_LINK=" -stdlib=libc++${linkCxxAbi:+" -lc++abi"}"
diff --git a/pkgs/development/compilers/llvm/3.5/llvm.nix b/pkgs/development/compilers/llvm/3.5/llvm.nix
index 00b2548d56e..7dc134b4fcf 100644
--- a/pkgs/development/compilers/llvm/3.5/llvm.nix
+++ b/pkgs/development/compilers/llvm/3.5/llvm.nix
@@ -98,7 +98,7 @@ in stdenv.mkDerivation rec {
     homepage    = http://llvm.org/;
     license     = stdenv.lib.licenses.ncsa;
     maintainers = with stdenv.lib.maintainers; [ lovek323 raskin viric ];
-    platforms   = stdenv.lib.platforms.all;
+    platforms = [ "i686-linux" "x86_64-linux" "x86_64-darwin" "armv7l-linux"];
   };
 }
 
diff --git a/pkgs/development/compilers/llvm/3.7/clang/default.nix b/pkgs/development/compilers/llvm/3.7/clang/default.nix
index f27e3f0089e..4ccd00af684 100644
--- a/pkgs/development/compilers/llvm/3.7/clang/default.nix
+++ b/pkgs/development/compilers/llvm/3.7/clang/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetch, cmake, libxml2, libedit, llvm, version, clang-tools-extra_src }:
+{ stdenv, fetch, cmake, libxml2, llvm, version, clang-tools-extra_src }:
 
 let
   gcc = if stdenv.cc.isGNU then stdenv.cc.cc else stdenv.cc.cc.gcc;
@@ -13,7 +13,7 @@ let
       mv clang-tools-extra-* $sourceRoot/tools/extra
     '';
 
-    buildInputs = [ cmake libedit libxml2 llvm ];
+    buildInputs = [ cmake libxml2 llvm ];
 
     cmakeFlags = [
       "-DCMAKE_CXX_FLAGS=-std=c++11"
@@ -32,7 +32,10 @@ let
     # Clang expects to find LLVMgold in its own prefix
     # Clang expects to find sanitizer libraries in its own prefix
     postInstall = ''
-      ln -sv ${llvm}/lib/LLVMgold.so $out/lib
+      if [ -e ${llvm}/lib/LLVMgold.so ]; then
+        ln -sv ${llvm}/lib/LLVMgold.so $out/lib
+      fi
+
       ln -sv ${llvm}/lib/clang/${version}/lib $out/lib/clang/${version}/
       ln -sv $out/bin/clang $out/bin/cpp
     '';
diff --git a/pkgs/development/compilers/llvm/3.7/libc++/default.nix b/pkgs/development/compilers/llvm/3.7/libc++/default.nix
index 4296c0fd192..462e35a483f 100644
--- a/pkgs/development/compilers/llvm/3.7/libc++/default.nix
+++ b/pkgs/development/compilers/llvm/3.7/libc++/default.nix
@@ -33,7 +33,10 @@ stdenv.mkDerivation rec {
 
   linkCxxAbi = stdenv.isLinux;
 
-  setupHook = ./setup-hook.sh;
+  setupHooks = [
+    ../../../../../build-support/setup-hooks/role.bash
+    ./setup-hook.sh
+  ];
 
   meta = {
     homepage = http://libcxx.llvm.org/;
diff --git a/pkgs/development/compilers/llvm/3.7/libc++/setup-hook.sh b/pkgs/development/compilers/llvm/3.7/libc++/setup-hook.sh
index 9022fced6ec..6611259165a 100644
--- a/pkgs/development/compilers/llvm/3.7/libc++/setup-hook.sh
+++ b/pkgs/development/compilers/llvm/3.7/libc++/setup-hook.sh
@@ -1,3 +1,6 @@
+# See pkgs/build-support/setup-hooks/role.bash
+getHostRole
+
 linkCxxAbi="@linkCxxAbi@"
-export NIX_CXXSTDLIB_COMPILE+=" -isystem @out@/include/c++/v1"
-export NIX_CXXSTDLIB_LINK=" -stdlib=libc++${linkCxxAbi:+" -lc++abi"}"
+export NIX_${role_pre}CXXSTDLIB_COMPILE+=" -isystem @out@/include/c++/v1"
+export NIX_${role_pre}CXXSTDLIB_LINK=" -stdlib=libc++${linkCxxAbi:+" -lc++abi"}"
diff --git a/pkgs/development/compilers/llvm/3.8/clang/default.nix b/pkgs/development/compilers/llvm/3.8/clang/default.nix
index 0147485dd58..05893704d87 100644
--- a/pkgs/development/compilers/llvm/3.8/clang/default.nix
+++ b/pkgs/development/compilers/llvm/3.8/clang/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetch, cmake, libxml2, libedit, llvm, version, clang-tools-extra_src, python }:
+{ stdenv, fetch, cmake, libxml2, llvm, version, clang-tools-extra_src, python }:
 
 let
   gcc = if stdenv.cc.isGNU then stdenv.cc.cc else stdenv.cc.cc.gcc;
@@ -13,7 +13,7 @@ let
       mv clang-tools-extra-* $sourceRoot/tools/extra
     '';
 
-    buildInputs = [ cmake libedit libxml2 llvm python ];
+    buildInputs = [ cmake libxml2 llvm python ];
 
     cmakeFlags = [
       "-DCMAKE_CXX_FLAGS=-std=c++11"
@@ -34,7 +34,10 @@ let
     # Clang expects to find LLVMgold in its own prefix
     # Clang expects to find sanitizer libraries in its own prefix
     postInstall = ''
-      ln -sv ${llvm}/lib/LLVMgold.so $out/lib
+      if [ -e ${llvm}/lib/LLVMgold.so ]; then
+        ln -sv ${llvm}/lib/LLVMgold.so $out/lib
+      fi
+
       ln -sv ${llvm}/lib/clang/${version}/lib $out/lib/clang/${version}/
       ln -sv $out/bin/clang $out/bin/cpp
 
diff --git a/pkgs/development/compilers/llvm/3.8/libc++/default.nix b/pkgs/development/compilers/llvm/3.8/libc++/default.nix
index ea468b3772e..cc3f5545146 100644
--- a/pkgs/development/compilers/llvm/3.8/libc++/default.nix
+++ b/pkgs/development/compilers/llvm/3.8/libc++/default.nix
@@ -31,7 +31,10 @@ stdenv.mkDerivation rec {
 
   linkCxxAbi = stdenv.isLinux;
 
-  setupHook = ./setup-hook.sh;
+  setupHooks = [
+    ../../../../../build-support/setup-hooks/role.bash
+    ./setup-hook.sh
+  ];
 
   meta = {
     homepage = http://libcxx.llvm.org/;
diff --git a/pkgs/development/compilers/llvm/3.8/libc++/setup-hook.sh b/pkgs/development/compilers/llvm/3.8/libc++/setup-hook.sh
index 9022fced6ec..6611259165a 100644
--- a/pkgs/development/compilers/llvm/3.8/libc++/setup-hook.sh
+++ b/pkgs/development/compilers/llvm/3.8/libc++/setup-hook.sh
@@ -1,3 +1,6 @@
+# See pkgs/build-support/setup-hooks/role.bash
+getHostRole
+
 linkCxxAbi="@linkCxxAbi@"
-export NIX_CXXSTDLIB_COMPILE+=" -isystem @out@/include/c++/v1"
-export NIX_CXXSTDLIB_LINK=" -stdlib=libc++${linkCxxAbi:+" -lc++abi"}"
+export NIX_${role_pre}CXXSTDLIB_COMPILE+=" -isystem @out@/include/c++/v1"
+export NIX_${role_pre}CXXSTDLIB_LINK=" -stdlib=libc++${linkCxxAbi:+" -lc++abi"}"
diff --git a/pkgs/development/compilers/llvm/3.9/clang/default.nix b/pkgs/development/compilers/llvm/3.9/clang/default.nix
index aafe30e4c9b..1f6d80ab3be 100644
--- a/pkgs/development/compilers/llvm/3.9/clang/default.nix
+++ b/pkgs/development/compilers/llvm/3.9/clang/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetch, cmake, libxml2, libedit, llvm, version, clang-tools-extra_src, python }:
+{ stdenv, fetch, cmake, libxml2, llvm, version, clang-tools-extra_src, python }:
 
 let
   gcc = if stdenv.cc.isGNU then stdenv.cc.cc else stdenv.cc.cc.gcc;
@@ -15,7 +15,7 @@ let
 
     nativeBuildInputs = [ cmake ];
 
-    buildInputs = [ libedit libxml2 llvm python ];
+    buildInputs = [ libxml2 llvm python ];
 
     cmakeFlags = [
       "-DCMAKE_CXX_FLAGS=-std=c++11"
@@ -36,7 +36,10 @@ let
     # Clang expects to find LLVMgold in its own prefix
     # Clang expects to find sanitizer libraries in its own prefix
     postInstall = ''
-      ln -sv ${llvm}/lib/LLVMgold.so $out/lib
+      if [ -e ${llvm}/lib/LLVMgold.so ]; then
+        ln -sv ${llvm}/lib/LLVMgold.so $out/lib
+      fi
+
       ln -sv ${llvm}/lib/clang/${version}/lib $out/lib/clang/${version}/
       ln -sv $out/bin/clang $out/bin/cpp
 
diff --git a/pkgs/development/compilers/llvm/3.9/libc++/default.nix b/pkgs/development/compilers/llvm/3.9/libc++/default.nix
index ad514b0daa5..7e5c30bdfd3 100644
--- a/pkgs/development/compilers/llvm/3.9/libc++/default.nix
+++ b/pkgs/development/compilers/llvm/3.9/libc++/default.nix
@@ -31,7 +31,10 @@ stdenv.mkDerivation rec {
 
   linkCxxAbi = stdenv.isLinux;
 
-  setupHook = ./setup-hook.sh;
+  setupHooks = [
+    ../../../../../build-support/setup-hooks/role.bash
+    ./setup-hook.sh
+  ];
 
   meta = {
     homepage = http://libcxx.llvm.org/;
diff --git a/pkgs/development/compilers/llvm/3.9/libc++/setup-hook.sh b/pkgs/development/compilers/llvm/3.9/libc++/setup-hook.sh
index 9022fced6ec..6611259165a 100644
--- a/pkgs/development/compilers/llvm/3.9/libc++/setup-hook.sh
+++ b/pkgs/development/compilers/llvm/3.9/libc++/setup-hook.sh
@@ -1,3 +1,6 @@
+# See pkgs/build-support/setup-hooks/role.bash
+getHostRole
+
 linkCxxAbi="@linkCxxAbi@"
-export NIX_CXXSTDLIB_COMPILE+=" -isystem @out@/include/c++/v1"
-export NIX_CXXSTDLIB_LINK=" -stdlib=libc++${linkCxxAbi:+" -lc++abi"}"
+export NIX_${role_pre}CXXSTDLIB_COMPILE+=" -isystem @out@/include/c++/v1"
+export NIX_${role_pre}CXXSTDLIB_LINK=" -stdlib=libc++${linkCxxAbi:+" -lc++abi"}"
diff --git a/pkgs/development/compilers/llvm/4/clang/default.nix b/pkgs/development/compilers/llvm/4/clang/default.nix
index 5531fd2ab77..c6538282f23 100644
--- a/pkgs/development/compilers/llvm/4/clang/default.nix
+++ b/pkgs/development/compilers/llvm/4/clang/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetch, cmake, libxml2, libedit, llvm, version, release_version, clang-tools-extra_src, python
+{ stdenv, fetch, cmake, libxml2, llvm, version, release_version, clang-tools-extra_src, python
 , fixDarwinDylibNames
 , enableManpages ? false
 }:
@@ -19,7 +19,7 @@ let
     nativeBuildInputs = [ cmake python ]
       ++ stdenv.lib.optional enableManpages python.pkgs.sphinx;
 
-    buildInputs = [ libedit libxml2 llvm ]
+    buildInputs = [ libxml2 llvm ]
       ++ stdenv.lib.optional stdenv.isDarwin fixDarwinDylibNames;
 
     cmakeFlags = [
@@ -52,7 +52,10 @@ let
     # Clang expects to find LLVMgold in its own prefix
     # Clang expects to find sanitizer libraries in its own prefix
     postInstall = ''
-      ln -sv ${llvm}/lib/LLVMgold.so $out/lib
+      if [ -e ${llvm}/lib/LLVMgold.so ]; then
+        ln -sv ${llvm}/lib/LLVMgold.so $out/lib
+      fi
+
       ln -sv ${llvm}/lib/clang/${release_version}/lib $out/lib/clang/${release_version}/
       ln -sv $out/bin/clang $out/bin/cpp
 
diff --git a/pkgs/development/compilers/llvm/4/cmdline-help.patch b/pkgs/development/compilers/llvm/4/cmdline-help.patch
new file mode 100644
index 00000000000..a693719c2cf
--- /dev/null
+++ b/pkgs/development/compilers/llvm/4/cmdline-help.patch
@@ -0,0 +1,39 @@
+From c7a9aa3a697c81432786a5583bf973771c7be15e Mon Sep 17 00:00:00 2001
+From: Don Hinton <hintonda@gmail.com>
+Date: Wed, 12 Jul 2017 01:15:46 +0000
+Subject: [PATCH] Fix minor typo introduced in r276404
+
+Summary:
+A space was added between '-' and 'help' when emitting help output.
+
+See https://reviews.llvm.org/D22621 for details.
+
+Reviewers: MaggieYi, vsk
+
+Reviewed By: vsk
+
+Subscribers: llvm-commits
+
+Differential Revision: https://reviews.llvm.org/D35283
+
+git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@307745 91177308-0d34-0410-b5e6-96231b3b80d8
+---
+ lib/Support/CommandLine.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/lib/Support/CommandLine.cpp b/lib/Support/CommandLine.cpp
+index 3889902eea5..79defa5c36c 100644
+--- a/lib/Support/CommandLine.cpp
++++ b/lib/Support/CommandLine.cpp
+@@ -1236,7 +1236,7 @@ bool CommandLineParser::ParseCommandLineOptions(int argc,
+              << ": Not enough positional command line arguments specified!\n"
+              << "Must specify at least " << NumPositionalRequired
+              << " positional argument" << (NumPositionalRequired > 1 ? "s" : "")
+-             << ": See: " << argv[0] << " - help\n";
++             << ": See: " << argv[0] << " -help\n";
+     }
+ 
+     ErrorParsing = true;
+-- 
+2.14.0
+
diff --git a/pkgs/development/compilers/llvm/4/libc++/default.nix b/pkgs/development/compilers/llvm/4/libc++/default.nix
index f28957c3518..718abc420a9 100644
--- a/pkgs/development/compilers/llvm/4/libc++/default.nix
+++ b/pkgs/development/compilers/llvm/4/libc++/default.nix
@@ -44,7 +44,10 @@ stdenv.mkDerivation rec {
 
   linkCxxAbi = stdenv.isLinux;
 
-  setupHook = ./setup-hook.sh;
+  setupHooks = [
+    ../../../../../build-support/setup-hooks/role.bash
+    ./setup-hook.sh
+  ];
 
   meta = {
     homepage = http://libcxx.llvm.org/;
diff --git a/pkgs/development/compilers/llvm/4/libc++/setup-hook.sh b/pkgs/development/compilers/llvm/4/libc++/setup-hook.sh
index 9022fced6ec..6611259165a 100644
--- a/pkgs/development/compilers/llvm/4/libc++/setup-hook.sh
+++ b/pkgs/development/compilers/llvm/4/libc++/setup-hook.sh
@@ -1,3 +1,6 @@
+# See pkgs/build-support/setup-hooks/role.bash
+getHostRole
+
 linkCxxAbi="@linkCxxAbi@"
-export NIX_CXXSTDLIB_COMPILE+=" -isystem @out@/include/c++/v1"
-export NIX_CXXSTDLIB_LINK=" -stdlib=libc++${linkCxxAbi:+" -lc++abi"}"
+export NIX_${role_pre}CXXSTDLIB_COMPILE+=" -isystem @out@/include/c++/v1"
+export NIX_${role_pre}CXXSTDLIB_LINK=" -stdlib=libc++${linkCxxAbi:+" -lc++abi"}"
diff --git a/pkgs/development/compilers/llvm/4/lldb.nix b/pkgs/development/compilers/llvm/4/lldb.nix
index 5ffc346a479..325149fc19b 100644
--- a/pkgs/development/compilers/llvm/4/lldb.nix
+++ b/pkgs/development/compilers/llvm/4/lldb.nix
@@ -41,6 +41,11 @@ stdenv.mkDerivation {
     "-DLLDB_CODESIGN_IDENTITY=" # codesigning makes nondeterministic
   ];
 
+  # Add missing include to fix error when using std::bind
+  prePatch = ''
+    sed -i -e '30i#include <functional>' include/lldb/Utility/TaskPool.h
+  '';
+
   enableParallelBuilding = true;
 
   postInstall = ''
diff --git a/pkgs/development/compilers/llvm/4/llvm.nix b/pkgs/development/compilers/llvm/4/llvm.nix
index 7fd94316d73..bc8453f743a 100644
--- a/pkgs/development/compilers/llvm/4/llvm.nix
+++ b/pkgs/development/compilers/llvm/4/llvm.nix
@@ -78,11 +78,15 @@ in stdenv.mkDerivation (rec {
       substituteInPlace lib/esan/esan_sideline_linux.cpp \
         --replace 'struct sigaltstack' 'stack_t'
     )
+  '' + # Fix extra space printed in commandline help sometimes, "- help"
+  ''
+    patch -p1 -i ${./cmdline-help.patch}
   '' + stdenv.lib.optionalString stdenv.isAarch64 ''
     patch -p0 < ${../aarch64.patch}
   '' + stdenv.lib.optionalString stdenv.hostPlatform.isMusl ''
     patch -p1 -i ${../TLI-musl.patch}
     patch -p1 -i ${./dynamiclibrary-musl.patch}
+    patch -p1 -i ${./sanitizers-nongnu.patch} -d projects/compiler-rt
   '';
 
   # hacky fix: created binaries need to be run before installation
@@ -118,9 +122,6 @@ in stdenv.mkDerivation (rec {
     "-DLLVM_HOST_TRIPLE=${stdenv.hostPlatform.config}"
     "-DLLVM_DEFAULT_TARGET_TRIPLE=${stdenv.targetPlatform.config}"
     "-DTARGET_TRIPLE=${stdenv.targetPlatform.config}"
-
-    "-DCOMPILER_RT_BUILD_SANITIZERS=OFF"
-    "-DCOMPILER_RT_BUILD_XRAY=OFF"
   ];
 
   postBuild = ''
diff --git a/pkgs/development/compilers/llvm/4/sanitizers-nongnu.patch b/pkgs/development/compilers/llvm/4/sanitizers-nongnu.patch
new file mode 100644
index 00000000000..5bd858f8ae7
--- /dev/null
+++ b/pkgs/development/compilers/llvm/4/sanitizers-nongnu.patch
@@ -0,0 +1,368 @@
+From dac4d3912378069b44340204e5fc6237aa1baf94 Mon Sep 17 00:00:00 2001
+From: Matthias Maier <tamiko@43-1.org>
+Date: Fri, 5 May 2017 17:47:39 +0000
+Subject: [PATCH] Musl patches
+
+Ported to compiler-rt-sanitizers-4.0.0. Taken from
+
+  https://gist.githubusercontent.com/pwaller/2337f3290f12634cad3e3730cff0a6c1/raw/83c87a8585e2f9662494db5662e5361beb093c26/nongnu.patch
+---
+ lib/asan/asan_linux.cc                             |  4 +--
+ lib/interception/interception_linux.cc             |  2 +-
+ lib/interception/interception_linux.h              |  2 +-
+ lib/msan/msan_linux.cc                             |  2 +-
+ .../sanitizer_common_interceptors_ioctl.inc        |  4 +--
+ lib/sanitizer_common/sanitizer_common_syscalls.inc |  2 +-
+ lib/sanitizer_common/sanitizer_linux_libcdep.cc    | 12 +++----
+ lib/sanitizer_common/sanitizer_platform.h          |  7 ++++
+ .../sanitizer_platform_interceptors.h              |  2 +-
+ .../sanitizer_platform_limits_posix.cc             | 39 +++++++++++++---------
+ lib/tsan/rtl/tsan_platform_linux.cc                |  2 +-
+ 11 files changed, 46 insertions(+), 32 deletions(-)
+
+diff --git a/lib/asan/asan_linux.cc b/lib/asan/asan_linux.cc
+index c051573dd..e295f6004 100644
+--- a/lib/asan/asan_linux.cc
++++ b/lib/asan/asan_linux.cc
+@@ -39,7 +39,7 @@
+ #include <sys/link_elf.h>
+ #endif
+ 
+-#if SANITIZER_ANDROID || SANITIZER_FREEBSD
++#if SANITIZER_ANDROID || SANITIZER_FREEBSD || SANITIZER_NONGNU
+ #include <ucontext.h>
+ extern "C" void* _DYNAMIC;
+ #else
+@@ -80,7 +80,7 @@ void AsanApplyToGlobals(globals_op_fptr op, const void *needle) {
+   UNIMPLEMENTED();
+ }
+ 
+-#if SANITIZER_ANDROID
++#if SANITIZER_ANDROID || SANITIZER_NONGNU
+ // FIXME: should we do anything for Android?
+ void AsanCheckDynamicRTPrereqs() {}
+ void AsanCheckIncompatibleRT() {}
+diff --git a/lib/interception/interception_linux.cc b/lib/interception/interception_linux.cc
+index 6e908ac01..8f23d9adc 100644
+--- a/lib/interception/interception_linux.cc
++++ b/lib/interception/interception_linux.cc
+@@ -24,7 +24,7 @@ bool GetRealFunctionAddress(const char *func_name, uptr *func_addr,
+   return real == wrapper;
+ }
+ 
+-#if !defined(__ANDROID__)  // android does not have dlvsym
++#if !defined(__ANDROID__) && !SANITIZER_NONGNU  // android does not have dlvsym
+ void *GetFuncAddrVer(const char *func_name, const char *ver) {
+   return dlvsym(RTLD_NEXT, func_name, ver);
+ }
+diff --git a/lib/interception/interception_linux.h b/lib/interception/interception_linux.h
+index 27a66c882..3b559a303 100644
+--- a/lib/interception/interception_linux.h
++++ b/lib/interception/interception_linux.h
+@@ -34,7 +34,7 @@ void *GetFuncAddrVer(const char *func_name, const char *ver);
+       (::__interception::uptr) & (func),                                   \
+       (::__interception::uptr) & WRAP(func))
+ 
+-#if !defined(__ANDROID__)  // android does not have dlvsym
++#if !defined(__ANDROID__) && !SANITIZER_NONGNU  // android does not have dlvsym
+ #define INTERCEPT_FUNCTION_VER_LINUX_OR_FREEBSD(func, symver) \
+   (::__interception::real_##func = (func##_f)(                \
+        unsigned long)::__interception::GetFuncAddrVer(#func, symver))
+diff --git a/lib/msan/msan_linux.cc b/lib/msan/msan_linux.cc
+index 0a687f620..0852d97d7 100644
+--- a/lib/msan/msan_linux.cc
++++ b/lib/msan/msan_linux.cc
+@@ -13,7 +13,7 @@
+ //===----------------------------------------------------------------------===//
+ 
+ #include "sanitizer_common/sanitizer_platform.h"
+-#if SANITIZER_FREEBSD || SANITIZER_LINUX
++#if SANITIZER_FREEBSD || SANITIZER_LINUX && !SANITIZER_NONGNU
+ 
+ #include "msan.h"
+ #include "msan_thread.h"
+diff --git a/lib/sanitizer_common/sanitizer_common_interceptors_ioctl.inc b/lib/sanitizer_common/sanitizer_common_interceptors_ioctl.inc
+index 4ed9afedf..64f584e93 100644
+--- a/lib/sanitizer_common/sanitizer_common_interceptors_ioctl.inc
++++ b/lib/sanitizer_common/sanitizer_common_interceptors_ioctl.inc
+@@ -100,7 +100,7 @@ static void ioctl_table_fill() {
+   _(SIOCGETVIFCNT, WRITE, struct_sioc_vif_req_sz);
+ #endif
+ 
+-#if SANITIZER_LINUX
++#if SANITIZER_LINUX && !SANITIZER_NONGNU
+   // Conflicting request ids.
+   // _(CDROMAUDIOBUFSIZ, NONE, 0);
+   // _(SNDCTL_TMR_CONTINUE, NONE, 0);
+@@ -361,7 +361,7 @@ static void ioctl_table_fill() {
+   _(VT_WAITACTIVE, NONE, 0);
+ #endif
+ 
+-#if SANITIZER_LINUX && !SANITIZER_ANDROID
++#if SANITIZER_LINUX && !SANITIZER_ANDROID && !SANITIZER_NONGNU
+   // _(SIOCDEVPLIP, WRITE, struct_ifreq_sz); // the same as EQL_ENSLAVE
+   _(CYGETDEFTHRESH, WRITE, sizeof(int));
+   _(CYGETDEFTIMEOUT, WRITE, sizeof(int));
+diff --git a/lib/sanitizer_common/sanitizer_common_syscalls.inc b/lib/sanitizer_common/sanitizer_common_syscalls.inc
+index 469c8eb7e..24f87867d 100644
+--- a/lib/sanitizer_common/sanitizer_common_syscalls.inc
++++ b/lib/sanitizer_common/sanitizer_common_syscalls.inc
+@@ -2038,7 +2038,7 @@ POST_SYSCALL(setrlimit)(long res, long resource, void *rlim) {
+   }
+ }
+ 
+-#if !SANITIZER_ANDROID
++#if !SANITIZER_ANDROID && !SANITIZER_NONGNU
+ PRE_SYSCALL(prlimit64)(long pid, long resource, const void *new_rlim,
+                        void *old_rlim) {
+   if (new_rlim) PRE_READ(new_rlim, struct_rlimit64_sz);
+diff --git a/lib/sanitizer_common/sanitizer_linux_libcdep.cc b/lib/sanitizer_common/sanitizer_linux_libcdep.cc
+index f99f0b594..3a773a94e 100644
+--- a/lib/sanitizer_common/sanitizer_linux_libcdep.cc
++++ b/lib/sanitizer_common/sanitizer_linux_libcdep.cc
+@@ -152,7 +152,7 @@ bool SanitizerGetThreadName(char *name, int max_len) {
+ #endif
+ }
+ 
+-#if !SANITIZER_FREEBSD && !SANITIZER_ANDROID && !SANITIZER_GO
++#if !SANITIZER_FREEBSD && !SANITIZER_ANDROID && !SANITIZER_GO && !SANITIZER_NONGNU
+ static uptr g_tls_size;
+ 
+ #ifdef __i386__
+@@ -180,11 +180,11 @@ void InitTlsSize() {
+ }
+ #else
+ void InitTlsSize() { }
+-#endif  // !SANITIZER_FREEBSD && !SANITIZER_ANDROID && !SANITIZER_GO
++#endif  // !SANITIZER_FREEBSD && !SANITIZER_ANDROID && !SANITIZER_GO && !SANITIZER_NONGNU
+ 
+ #if (defined(__x86_64__) || defined(__i386__) || defined(__mips__) \
+     || defined(__aarch64__) || defined(__powerpc64__) || defined(__s390__)) \
+-    && SANITIZER_LINUX && !SANITIZER_ANDROID
++    && SANITIZER_LINUX && !SANITIZER_ANDROID && !SANITIZER_NONGNU
+ // sizeof(struct pthread) from glibc.
+ static atomic_uintptr_t kThreadDescriptorSize;
+ 
+@@ -338,7 +338,7 @@ uptr ThreadSelf() {
+ 
+ #if !SANITIZER_GO
+ static void GetTls(uptr *addr, uptr *size) {
+-#if SANITIZER_LINUX && !SANITIZER_ANDROID
++#if SANITIZER_LINUX && !SANITIZER_ANDROID && !SANITIZER_NONGNU
+ # if defined(__x86_64__) || defined(__i386__) || defined(__s390__)
+   *addr = ThreadSelf();
+   *size = GetTlsSize();
+@@ -364,7 +364,7 @@ static void GetTls(uptr *addr, uptr *size) {
+     *addr = (uptr) dtv[2];
+     *size = (*addr == 0) ? 0 : ((uptr) segbase[0] - (uptr) dtv[2]);
+   }
+-#elif SANITIZER_ANDROID
++#elif SANITIZER_ANDROID || SANITIZER_NONGNU
+   *addr = 0;
+   *size = 0;
+ #else
+@@ -375,7 +375,7 @@ static void GetTls(uptr *addr, uptr *size) {
+ 
+ #if !SANITIZER_GO
+ uptr GetTlsSize() {
+-#if SANITIZER_FREEBSD || SANITIZER_ANDROID
++#if SANITIZER_FREEBSD || SANITIZER_ANDROID || SANITIZER_NONGNU
+   uptr addr, size;
+   GetTls(&addr, &size);
+   return size;
+diff --git a/lib/sanitizer_common/sanitizer_platform.h b/lib/sanitizer_common/sanitizer_platform.h
+index d9a8e8df1..fe01c5744 100644
+--- a/lib/sanitizer_common/sanitizer_platform.h
++++ b/lib/sanitizer_common/sanitizer_platform.h
+@@ -162,6 +162,13 @@
+ # define SANITIZER_PPC64V2 0
+ #endif
+ 
++
++#if defined(__linux__) && !defined(__GLIBC__)
++# define SANITIZER_NONGNU 1
++#else
++# define SANITIZER_NONGNU 0
++#endif
++
+ // By default we allow to use SizeClassAllocator64 on 64-bit platform.
+ // But in some cases (e.g. AArch64's 39-bit address space) SizeClassAllocator64
+ // does not work well and we need to fallback to SizeClassAllocator32.
+diff --git a/lib/sanitizer_common/sanitizer_platform_interceptors.h b/lib/sanitizer_common/sanitizer_platform_interceptors.h
+index 62875d11a..212e6e882 100644
+--- a/lib/sanitizer_common/sanitizer_platform_interceptors.h
++++ b/lib/sanitizer_common/sanitizer_platform_interceptors.h
+@@ -23,7 +23,7 @@
+ # define SI_NOT_WINDOWS 0
+ #endif
+ 
+-#if SANITIZER_LINUX && !SANITIZER_ANDROID
++#if SANITIZER_LINUX && !SANITIZER_ANDROID && !SANITIZER_NONGNU
+ # define SI_LINUX_NOT_ANDROID 1
+ #else
+ # define SI_LINUX_NOT_ANDROID 0
+diff --git a/lib/sanitizer_common/sanitizer_platform_limits_posix.cc b/lib/sanitizer_common/sanitizer_platform_limits_posix.cc
+index 683f019d7..fd4880962 100644
+--- a/lib/sanitizer_common/sanitizer_platform_limits_posix.cc
++++ b/lib/sanitizer_common/sanitizer_platform_limits_posix.cc
+@@ -14,6 +14,8 @@
+ 
+ #include "sanitizer_platform.h"
+ 
++#define _LINUX_SYSINFO_H
++
+ #if SANITIZER_LINUX || SANITIZER_FREEBSD || SANITIZER_MAC
+ // Tests in this file assume that off_t-dependent data structures match the
+ // libc ABI. For example, struct dirent here is what readdir() function (as
+@@ -139,12 +141,14 @@ typedef struct user_fpregs elf_fpregset_t;
+ 
+ #if SANITIZER_LINUX && !SANITIZER_ANDROID
+ #include <glob.h>
+-#include <obstack.h>
++#  if !SANITIZER_NONGNU
++#    include <obstack.h>
++#  endif
+ #include <mqueue.h>
+-#include <net/if_ppp.h>
+-#include <netax25/ax25.h>
+-#include <netipx/ipx.h>
+-#include <netrom/netrom.h>
++#include <linux/if_ppp.h>
++#include <linux/ax25.h>
++#include <linux/ipx.h>
++#include <linux/netrom.h>
+ #if HAVE_RPC_XDR_H
+ # include <rpc/xdr.h>
+ #elif HAVE_TIRPC_RPC_XDR_H
+@@ -160,7 +164,8 @@ typedef struct user_fpregs elf_fpregset_t;
+ # include <sys/procfs.h>
+ #endif
+ #include <sys/user.h>
+-#include <sys/ustat.h>
++// #include <sys/ustat.h>
++#include <sys/statfs.h>
+ #include <linux/cyclades.h>
+ #include <linux/if_eql.h>
+ #include <linux/if_plip.h>
+@@ -252,7 +257,7 @@ namespace __sanitizer {
+   unsigned struct_itimerspec_sz = sizeof(struct itimerspec);
+ #endif // SANITIZER_LINUX || SANITIZER_FREEBSD
+ 
+-#if SANITIZER_LINUX && !SANITIZER_ANDROID
++#if SANITIZER_LINUX && !SANITIZER_ANDROID && !SANITIZER_NONGNU
+   unsigned struct_ustat_sz = sizeof(struct ustat);
+   unsigned struct_rlimit64_sz = sizeof(struct rlimit64);
+   unsigned struct_statvfs64_sz = sizeof(struct statvfs64);
+@@ -310,7 +315,7 @@ unsigned struct_ElfW_Phdr_sz = sizeof(ElfW(Phdr));
+ unsigned struct_ElfW_Phdr_sz = sizeof(Elf_Phdr);
+ #endif
+ 
+-#if (SANITIZER_LINUX || SANITIZER_FREEBSD) && !SANITIZER_ANDROID
++#if (SANITIZER_LINUX || SANITIZER_FREEBSD) && !SANITIZER_ANDROID && !SANITIZER_NONGNU
+   int glob_nomatch = GLOB_NOMATCH;
+   int glob_altdirfunc = GLOB_ALTDIRFUNC;
+ #endif
+@@ -404,7 +409,7 @@ unsigned struct_ElfW_Phdr_sz = sizeof(Elf_Phdr);
+   unsigned struct_termios_sz = sizeof(struct termios);
+   unsigned struct_winsize_sz = sizeof(struct winsize);
+ 
+-#if SANITIZER_LINUX
++#if SANITIZER_LINUX && !SANITIZER_NONGNU
+   unsigned struct_arpreq_sz = sizeof(struct arpreq);
+   unsigned struct_cdrom_msf_sz = sizeof(struct cdrom_msf);
+   unsigned struct_cdrom_multisession_sz = sizeof(struct cdrom_multisession);
+@@ -454,7 +459,7 @@ unsigned struct_ElfW_Phdr_sz = sizeof(Elf_Phdr);
+   unsigned struct_vt_mode_sz = sizeof(struct vt_mode);
+ #endif // SANITIZER_LINUX || SANITIZER_FREEBSD
+ 
+-#if SANITIZER_LINUX && !SANITIZER_ANDROID
++#if SANITIZER_LINUX && !SANITIZER_ANDROID && !SANITIZER_NONGNU
+   unsigned struct_ax25_parms_struct_sz = sizeof(struct ax25_parms_struct);
+   unsigned struct_cyclades_monitor_sz = sizeof(struct cyclades_monitor);
+ #if EV_VERSION > (0x010000)
+@@ -822,7 +827,7 @@ unsigned struct_ElfW_Phdr_sz = sizeof(Elf_Phdr);
+   unsigned IOCTL_VT_WAITACTIVE = VT_WAITACTIVE;
+ #endif // SANITIZER_LINUX || SANITIZER_FREEBSD
+ 
+-#if SANITIZER_LINUX && !SANITIZER_ANDROID
++#if SANITIZER_LINUX && !SANITIZER_ANDROID && !SANITIZER_NONGNU
+   unsigned IOCTL_CYGETDEFTHRESH = CYGETDEFTHRESH;
+   unsigned IOCTL_CYGETDEFTIMEOUT = CYGETDEFTIMEOUT;
+   unsigned IOCTL_CYGETMON = CYGETMON;
+@@ -985,7 +990,7 @@ CHECK_SIZE_AND_OFFSET(dl_phdr_info, dlpi_phdr);
+ CHECK_SIZE_AND_OFFSET(dl_phdr_info, dlpi_phnum);
+ #endif // SANITIZER_LINUX || SANITIZER_FREEBSD
+ 
+-#if (SANITIZER_LINUX || SANITIZER_FREEBSD) && !SANITIZER_ANDROID
++#if (SANITIZER_LINUX || SANITIZER_FREEBSD) && !SANITIZER_ANDROID && !SANITIZER_NONGNU
+ CHECK_TYPE_SIZE(glob_t);
+ CHECK_SIZE_AND_OFFSET(glob_t, gl_pathc);
+ CHECK_SIZE_AND_OFFSET(glob_t, gl_pathv);
+@@ -1019,6 +1024,7 @@ CHECK_TYPE_SIZE(iovec);
+ CHECK_SIZE_AND_OFFSET(iovec, iov_base);
+ CHECK_SIZE_AND_OFFSET(iovec, iov_len);
+ 
++#if !SANITIZER_NONGNU
+ CHECK_TYPE_SIZE(msghdr);
+ CHECK_SIZE_AND_OFFSET(msghdr, msg_name);
+ CHECK_SIZE_AND_OFFSET(msghdr, msg_namelen);
+@@ -1032,6 +1038,7 @@ CHECK_TYPE_SIZE(cmsghdr);
+ CHECK_SIZE_AND_OFFSET(cmsghdr, cmsg_len);
+ CHECK_SIZE_AND_OFFSET(cmsghdr, cmsg_level);
+ CHECK_SIZE_AND_OFFSET(cmsghdr, cmsg_type);
++#endif
+ 
+ COMPILER_CHECK(sizeof(__sanitizer_dirent) <= sizeof(dirent));
+ CHECK_SIZE_AND_OFFSET(dirent, d_ino);
+@@ -1134,7 +1141,7 @@ CHECK_SIZE_AND_OFFSET(mntent, mnt_passno);
+ 
+ CHECK_TYPE_SIZE(ether_addr);
+ 
+-#if (SANITIZER_LINUX || SANITIZER_FREEBSD) && !SANITIZER_ANDROID
++#if (SANITIZER_LINUX || SANITIZER_FREEBSD) && !SANITIZER_ANDROID && !SANITIZER_NONGNU
+ CHECK_TYPE_SIZE(ipc_perm);
+ # if SANITIZER_FREEBSD
+ CHECK_SIZE_AND_OFFSET(ipc_perm, key);
+@@ -1195,7 +1202,7 @@ CHECK_SIZE_AND_OFFSET(ifaddrs, ifa_dstaddr);
+ CHECK_SIZE_AND_OFFSET(ifaddrs, ifa_data);
+ #endif
+ 
+-#if SANITIZER_LINUX
++#if SANITIZER_LINUX && !SANITIZER_NONGNU
+ COMPILER_CHECK(sizeof(__sanitizer_mallinfo) == sizeof(struct mallinfo));
+ #endif
+ 
+@@ -1245,7 +1252,7 @@ COMPILER_CHECK(__sanitizer_XDR_DECODE == XDR_DECODE);
+ COMPILER_CHECK(__sanitizer_XDR_FREE == XDR_FREE);
+ #endif
+ 
+-#if SANITIZER_LINUX && !SANITIZER_ANDROID
++#if SANITIZER_LINUX && !SANITIZER_ANDROID && !SANITIZER_NONGNU
+ COMPILER_CHECK(sizeof(__sanitizer_FILE) <= sizeof(FILE));
+ CHECK_SIZE_AND_OFFSET(FILE, _flags);
+ CHECK_SIZE_AND_OFFSET(FILE, _IO_read_ptr);
+@@ -1264,7 +1271,7 @@ CHECK_SIZE_AND_OFFSET(FILE, _chain);
+ CHECK_SIZE_AND_OFFSET(FILE, _fileno);
+ #endif
+ 
+-#if SANITIZER_LINUX && !SANITIZER_ANDROID
++#if SANITIZER_LINUX && !SANITIZER_ANDROID && !SANITIZER_NONGNU
+ COMPILER_CHECK(sizeof(__sanitizer__obstack_chunk) <= sizeof(_obstack_chunk));
+ CHECK_SIZE_AND_OFFSET(_obstack_chunk, limit);
+ CHECK_SIZE_AND_OFFSET(_obstack_chunk, prev);
+diff --git a/lib/tsan/rtl/tsan_platform_linux.cc b/lib/tsan/rtl/tsan_platform_linux.cc
+index 3313288a7..103c7b6b9 100644
+--- a/lib/tsan/rtl/tsan_platform_linux.cc
++++ b/lib/tsan/rtl/tsan_platform_linux.cc
+@@ -287,7 +287,7 @@ void InitializePlatform() {
+ // This is required to properly "close" the fds, because we do not see internal
+ // closes within glibc. The code is a pure hack.
+ int ExtractResolvFDs(void *state, int *fds, int nfd) {
+-#if SANITIZER_LINUX && !SANITIZER_ANDROID
++#if SANITIZER_LINUX && !SANITIZER_ANDROID && !SANITIZER_NONGNU
+   int cnt = 0;
+   __res_state *statp = (__res_state*)state;
+   for (int i = 0; i < MAXNS && cnt < nfd; i++) {
+-- 
+2.16.2
+
diff --git a/pkgs/development/compilers/llvm/5/clang/default.nix b/pkgs/development/compilers/llvm/5/clang/default.nix
index b5aea54b577..8027733bc52 100644
--- a/pkgs/development/compilers/llvm/5/clang/default.nix
+++ b/pkgs/development/compilers/llvm/5/clang/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetch, cmake, libxml2, libedit, llvm, version, release_version, clang-tools-extra_src, python
+{ stdenv, fetch, cmake, libxml2, llvm, version, release_version, clang-tools-extra_src, python
 , fixDarwinDylibNames
 , enableManpages ? false
 }:
@@ -9,7 +9,7 @@ let
     name = "clang-${version}";
 
     unpackPhase = ''
-      unpackFile ${fetch "cfe" "1zyh4dggxd55lnfg73c8fybnkssqcaa6bq2h4bzimnnj1jdnqpqk"}
+      unpackFile ${fetch "cfe" "0018520c4qxf5hgjdqgpz2dgl3faf4gsz87fdlb8zdmx99rfk77s"}
       mv cfe-${version}* clang
       sourceRoot=$PWD/clang
       unpackFile ${clang-tools-extra_src}
@@ -19,7 +19,7 @@ let
     nativeBuildInputs = [ cmake python ]
       ++ stdenv.lib.optional enableManpages python.pkgs.sphinx;
 
-    buildInputs = [ libedit libxml2 llvm ]
+    buildInputs = [ libxml2 llvm ]
       ++ stdenv.lib.optional stdenv.isDarwin fixDarwinDylibNames;
 
     cmakeFlags = [
@@ -50,10 +50,12 @@ let
 
     outputs = [ "out" "lib" "python" ];
 
-    # Clang expects to find LLVMgold in its own prefix
-    # Clang expects to find sanitizer libraries in its own prefix
     postInstall = ''
-      ln -sv ${llvm}/lib/LLVMgold.so $out/lib
+      # Clang expects to find LLVMgold in its own prefix
+      if [ -e ${llvm}/lib/LLVMgold.so ]; then
+        ln -sv ${llvm}/lib/LLVMgold.so $out/lib
+      fi
+      # Clang expects to find sanitizer libraries in its own prefix
       ln -sv ${llvm}/lib/clang/${release_version}/lib $out/lib/clang/${release_version}/
       ln -sv $out/bin/clang $out/bin/cpp
 
diff --git a/pkgs/development/compilers/llvm/5/default.nix b/pkgs/development/compilers/llvm/5/default.nix
index 13e1d2308f8..67fceb31749 100644
--- a/pkgs/development/compilers/llvm/5/default.nix
+++ b/pkgs/development/compilers/llvm/5/default.nix
@@ -6,7 +6,7 @@
 let
   callPackage = newScope (self // { inherit stdenv cmake libxml2 python2 isl release_version version fetch; });
 
-  release_version = "5.0.1";
+  release_version = "5.0.2";
   version = release_version; # differentiating these is important for rc's
 
   fetch = name: sha256: fetchurl {
@@ -14,8 +14,8 @@ let
     inherit sha256;
   };
 
-  compiler-rt_src = fetch "compiler-rt" "1nlmm0b3wpdwxkldqp1klzv3rpqf94q2a248xgqb7aapyhbi9paf";
-  clang-tools-extra_src = fetch "clang-tools-extra" "09fjii7w43kvxvsxxs6gig9vz95vnvx1779rqd36h8kksvws3bcs";
+  compiler-rt_src = fetch "compiler-rt" "0ipd4jdxpczgr2w6lzrabymz6dhzj69ywmyybjjc1q397zgrvziy";
+  clang-tools-extra_src = fetch "clang-tools-extra" "018b3fiwah8f8br5i26qmzh6sjvzchpn358sn8v079m49f2jldm3";
 
   # Add man output without introducing extra dependencies.
   overrideManOutput = drv:
diff --git a/pkgs/development/compilers/llvm/5/libc++/default.nix b/pkgs/development/compilers/llvm/5/libc++/default.nix
index 9ddeea7ef79..5492e12da98 100644
--- a/pkgs/development/compilers/llvm/5/libc++/default.nix
+++ b/pkgs/development/compilers/llvm/5/libc++/default.nix
@@ -3,7 +3,7 @@
 stdenv.mkDerivation rec {
   name = "libc++-${version}";
 
-  src = fetch "libcxx" "003wwniwlikgh38cbqbcshc5gkiv3a2jkmbn6am9s46y5gfrk3zs";
+  src = fetch "libcxx" "1672aaf95fgy4xsfra8pw24f6r93zwzpan1033hkcm8p2glqipvf";
 
   postUnpack = ''
     unpackFile ${libcxxabi.src}
@@ -40,7 +40,10 @@ stdenv.mkDerivation rec {
 
   linkCxxAbi = stdenv.isLinux;
 
-  setupHook = ./setup-hook.sh;
+  setupHooks = [
+    ../../../../../build-support/setup-hooks/role.bash
+    ./setup-hook.sh
+  ];
 
   meta = {
     homepage = http://libcxx.llvm.org/;
diff --git a/pkgs/development/compilers/llvm/5/libc++/setup-hook.sh b/pkgs/development/compilers/llvm/5/libc++/setup-hook.sh
index 9022fced6ec..6611259165a 100644
--- a/pkgs/development/compilers/llvm/5/libc++/setup-hook.sh
+++ b/pkgs/development/compilers/llvm/5/libc++/setup-hook.sh
@@ -1,3 +1,6 @@
+# See pkgs/build-support/setup-hooks/role.bash
+getHostRole
+
 linkCxxAbi="@linkCxxAbi@"
-export NIX_CXXSTDLIB_COMPILE+=" -isystem @out@/include/c++/v1"
-export NIX_CXXSTDLIB_LINK=" -stdlib=libc++${linkCxxAbi:+" -lc++abi"}"
+export NIX_${role_pre}CXXSTDLIB_COMPILE+=" -isystem @out@/include/c++/v1"
+export NIX_${role_pre}CXXSTDLIB_LINK=" -stdlib=libc++${linkCxxAbi:+" -lc++abi"}"
diff --git a/pkgs/development/compilers/llvm/5/libc++abi.nix b/pkgs/development/compilers/llvm/5/libc++abi.nix
index 6d27dcd47b0..69970543674 100644
--- a/pkgs/development/compilers/llvm/5/libc++abi.nix
+++ b/pkgs/development/compilers/llvm/5/libc++abi.nix
@@ -3,7 +3,7 @@
 stdenv.mkDerivation {
   name = "libc++abi-${version}";
 
-  src = fetch "libcxxabi" "0m78yr4arlz2b9m96xcygk15m2pbz8i10snk78i3q7pjnwn1a9as";
+  src = fetch "libcxxabi" "12lp799rskr4fc2xr64qn4jfkjnfd8b1aymvsxyn4k9ar7r9pgqv";
 
   nativeBuildInputs = [ cmake ];
   buildInputs = stdenv.lib.optional (!stdenv.isDarwin && !stdenv.isFreeBSD) libunwind;
diff --git a/pkgs/development/compilers/llvm/5/lld.nix b/pkgs/development/compilers/llvm/5/lld.nix
index 1d00b16cce1..05801f2f08f 100644
--- a/pkgs/development/compilers/llvm/5/lld.nix
+++ b/pkgs/development/compilers/llvm/5/lld.nix
@@ -10,7 +10,7 @@
 stdenv.mkDerivation {
   name = "lld-${version}";
 
-  src = fetch "lld" "15fq2zvkliyiw5qi7ig2r8bshgbz4kzvs5in16mhfkw20l06rcym";
+  src = fetch "lld" "1ah75rjly6747jk1zbwca3z0svr9b09ylgxd4x9ns721xir6sia6";
 
   nativeBuildInputs = [ cmake ];
   buildInputs = [ llvm ];
diff --git a/pkgs/development/compilers/llvm/5/lldb.nix b/pkgs/development/compilers/llvm/5/lldb.nix
index 559c52831cd..5e670d4de15 100644
--- a/pkgs/development/compilers/llvm/5/lldb.nix
+++ b/pkgs/development/compilers/llvm/5/lldb.nix
@@ -17,7 +17,7 @@
 stdenv.mkDerivation {
   name = "lldb-${version}";
 
-  src = fetch "lldb" "0sipv8k37ai44m7jcf6wsbm2q41dgk3sk9m3i6823jkmg7kckhdp";
+  src = fetch "lldb" "05j2a63yzln43852nng8a7y47spzlyr1cvdmgmbxgd29c8r0bfkq";
 
   postPatch = ''
     # Fix up various paths that assume llvm and clang are installed in the same place
diff --git a/pkgs/development/compilers/llvm/5/llvm.nix b/pkgs/development/compilers/llvm/5/llvm.nix
index f574eb05f92..66985861e38 100644
--- a/pkgs/development/compilers/llvm/5/llvm.nix
+++ b/pkgs/development/compilers/llvm/5/llvm.nix
@@ -20,7 +20,7 @@
 }:
 
 let
-  src = fetch "llvm" "1c07i0b61j69m578lgjkyayg419sh7sn40xb3j112nr2q2gli9sz";
+  src = fetch "llvm" "0g1bbj2n6xv4p1n6hh17vj3vpvg56wacipc81dgwga9mg2lys8nm";
 
   # Used when creating a version-suffixed symlink of libLLVM.dylib
   shortVersion = with stdenv.lib;
@@ -79,6 +79,7 @@ in stdenv.mkDerivation (rec {
     substituteInPlace unittests/Support/CMakeLists.txt \
       --replace "add_subdirectory(DynamicLibrary)" ""
     rm unittests/Support/DynamicLibrary/DynamicLibraryTest.cpp
+    patch -p1 -i ${./sanitizers-nongnu.patch} -d projects/compiler-rt
   '';
 
   # hacky fix: created binaries need to be run before installation
@@ -114,9 +115,6 @@ in stdenv.mkDerivation (rec {
     "-DLLVM_HOST_TRIPLE=${stdenv.hostPlatform.config}"
     "-DLLVM_DEFAULT_TARGET_TRIPLE=${stdenv.targetPlatform.config}"
     "-DTARGET_TRIPLE=${stdenv.targetPlatform.config}"
-
-    "-DCOMPILER_RT_BUILD_SANITIZERS=OFF"
-    "-DCOMPILER_RT_BUILD_XRAY=OFF"
   ];
 
   postBuild = ''
diff --git a/pkgs/development/compilers/llvm/5/openmp.nix b/pkgs/development/compilers/llvm/5/openmp.nix
index 5a01c191b5a..5c2b7501f97 100644
--- a/pkgs/development/compilers/llvm/5/openmp.nix
+++ b/pkgs/development/compilers/llvm/5/openmp.nix
@@ -10,7 +10,7 @@
 stdenv.mkDerivation {
   name = "openmp-${version}";
 
-  src = fetch "openmp" "0lr6r87xzg87w1q9rrh04nqpyr8c929dh4qy3csjiy7rsb6kbdmd";
+  src = fetch "openmp" "0p2n52676wlq6y9q99n5pivq6pvvda1p994r69fxj206ahn59jir";
 
   nativeBuildInputs = [ cmake perl ];
   buildInputs = [ llvm ];
diff --git a/pkgs/development/compilers/llvm/5/sanitizers-nongnu.patch b/pkgs/development/compilers/llvm/5/sanitizers-nongnu.patch
new file mode 100644
index 00000000000..c9ddfe45c89
--- /dev/null
+++ b/pkgs/development/compilers/llvm/5/sanitizers-nongnu.patch
@@ -0,0 +1,370 @@
+From 3e1fcb7d4909db8f0f7dd0109b2eee20115c8be3 Mon Sep 17 00:00:00 2001
+From: "Jory A. Pratt" <anarchy@gentoo.org>
+Date: Sat, 9 Sep 2017 08:31:15 -0500
+Subject: [PATCH] Ported to compiler-rt-sanitizers-5.0.0. Taken from
+
+https://gist.githubusercontent.com/pwaller/2337f3290f12634cad3e3730cff0a6c1/raw/83c87a8585e2f9662494db5662e5361beb093c26/nongnu.patch
+Signed-off-by: Jory A. Pratt <anarchy@gentoo.org>
+
+Taken from gentoo-musl project, with a few additional minor fixes.
+---
+ lib/asan/asan_linux.cc                             |  4 +--
+ lib/interception/interception_linux.cc             |  2 +-
+ lib/interception/interception_linux.h              |  2 +-
+ lib/msan/msan_linux.cc                             |  2 +-
+ .../sanitizer_common_interceptors_ioctl.inc        |  4 +--
+ lib/sanitizer_common/sanitizer_common_syscalls.inc |  2 +-
+ lib/sanitizer_common/sanitizer_linux_libcdep.cc    | 12 +++----
+ lib/sanitizer_common/sanitizer_platform.h          |  7 ++++
+ .../sanitizer_platform_interceptors.h              |  2 +-
+ .../sanitizer_platform_limits_posix.cc             | 40 +++++++++++++---------
+ lib/tsan/rtl/tsan_platform_linux.cc                |  2 +-
+ 11 files changed, 47 insertions(+), 32 deletions(-)
+
+diff --git a/lib/asan/asan_linux.cc b/lib/asan/asan_linux.cc
+index 6d47ba432..c58dd4864 100644
+--- a/lib/asan/asan_linux.cc
++++ b/lib/asan/asan_linux.cc
+@@ -39,7 +39,7 @@
+ #include <sys/link_elf.h>
+ #endif
+ 
+-#if SANITIZER_ANDROID || SANITIZER_FREEBSD
++#if SANITIZER_ANDROID || SANITIZER_FREEBSD || SANITIZER_NONGNU
+ #include <ucontext.h>
+ extern "C" void* _DYNAMIC;
+ #else
+@@ -86,7 +86,7 @@ void AsanApplyToGlobals(globals_op_fptr op, const void *needle) {
+   UNIMPLEMENTED();
+ }
+ 
+-#if SANITIZER_ANDROID
++#if SANITIZER_ANDROID || SANITIZER_NONGNU
+ // FIXME: should we do anything for Android?
+ void AsanCheckDynamicRTPrereqs() {}
+ void AsanCheckIncompatibleRT() {}
+diff --git a/lib/interception/interception_linux.cc b/lib/interception/interception_linux.cc
+index 6e908ac01..76c1688ce 100644
+--- a/lib/interception/interception_linux.cc
++++ b/lib/interception/interception_linux.cc
+@@ -24,7 +24,7 @@ bool GetRealFunctionAddress(const char *func_name, uptr *func_addr,
+   return real == wrapper;
+ }
+ 
+-#if !defined(__ANDROID__)  // android does not have dlvsym
++#if !defined(__ANDROID__) && defined(__GLIBC__)  // android does not have dlvsym
+ void *GetFuncAddrVer(const char *func_name, const char *ver) {
+   return dlvsym(RTLD_NEXT, func_name, ver);
+ }
+diff --git a/lib/interception/interception_linux.h b/lib/interception/interception_linux.h
+index 27a66c882..f60c38991 100644
+--- a/lib/interception/interception_linux.h
++++ b/lib/interception/interception_linux.h
+@@ -34,7 +34,7 @@ void *GetFuncAddrVer(const char *func_name, const char *ver);
+       (::__interception::uptr) & (func),                                   \
+       (::__interception::uptr) & WRAP(func))
+ 
+-#if !defined(__ANDROID__)  // android does not have dlvsym
++#if !defined(__ANDROID__) && !SANITIZER_NONGNU // android does not have dlvsym
+ #define INTERCEPT_FUNCTION_VER_LINUX_OR_FREEBSD(func, symver) \
+   (::__interception::real_##func = (func##_f)(                \
+        unsigned long)::__interception::GetFuncAddrVer(#func, symver))
+diff --git a/lib/msan/msan_linux.cc b/lib/msan/msan_linux.cc
+index 0a687f620..0852d97d7 100644
+--- a/lib/msan/msan_linux.cc
++++ b/lib/msan/msan_linux.cc
+@@ -13,7 +13,7 @@
+ //===----------------------------------------------------------------------===//
+ 
+ #include "sanitizer_common/sanitizer_platform.h"
+-#if SANITIZER_FREEBSD || SANITIZER_LINUX
++#if SANITIZER_FREEBSD || SANITIZER_LINUX && !SANITIZER_NONGNU
+ 
+ #include "msan.h"
+ #include "msan_thread.h"
+diff --git a/lib/sanitizer_common/sanitizer_common_interceptors_ioctl.inc b/lib/sanitizer_common/sanitizer_common_interceptors_ioctl.inc
+index 4ed9afedf..64f584e93 100644
+--- a/lib/sanitizer_common/sanitizer_common_interceptors_ioctl.inc
++++ b/lib/sanitizer_common/sanitizer_common_interceptors_ioctl.inc
+@@ -100,7 +100,7 @@ static void ioctl_table_fill() {
+   _(SIOCGETVIFCNT, WRITE, struct_sioc_vif_req_sz);
+ #endif
+ 
+-#if SANITIZER_LINUX
++#if SANITIZER_LINUX && !SANITIZER_NONGNU
+   // Conflicting request ids.
+   // _(CDROMAUDIOBUFSIZ, NONE, 0);
+   // _(SNDCTL_TMR_CONTINUE, NONE, 0);
+@@ -361,7 +361,7 @@ static void ioctl_table_fill() {
+   _(VT_WAITACTIVE, NONE, 0);
+ #endif
+ 
+-#if SANITIZER_LINUX && !SANITIZER_ANDROID
++#if SANITIZER_LINUX && !SANITIZER_ANDROID && !SANITIZER_NONGNU
+   // _(SIOCDEVPLIP, WRITE, struct_ifreq_sz); // the same as EQL_ENSLAVE
+   _(CYGETDEFTHRESH, WRITE, sizeof(int));
+   _(CYGETDEFTIMEOUT, WRITE, sizeof(int));
+diff --git a/lib/sanitizer_common/sanitizer_common_syscalls.inc b/lib/sanitizer_common/sanitizer_common_syscalls.inc
+index 469c8eb7e..24f87867d 100644
+--- a/lib/sanitizer_common/sanitizer_common_syscalls.inc
++++ b/lib/sanitizer_common/sanitizer_common_syscalls.inc
+@@ -2038,7 +2038,7 @@ POST_SYSCALL(setrlimit)(long res, long resource, void *rlim) {
+   }
+ }
+ 
+-#if !SANITIZER_ANDROID
++#if !SANITIZER_ANDROID && !SANITIZER_NONGNU
+ PRE_SYSCALL(prlimit64)(long pid, long resource, const void *new_rlim,
+                        void *old_rlim) {
+   if (new_rlim) PRE_READ(new_rlim, struct_rlimit64_sz);
+diff --git a/lib/sanitizer_common/sanitizer_linux_libcdep.cc b/lib/sanitizer_common/sanitizer_linux_libcdep.cc
+index 52196db12..045d9331f 100644
+--- a/lib/sanitizer_common/sanitizer_linux_libcdep.cc
++++ b/lib/sanitizer_common/sanitizer_linux_libcdep.cc
+@@ -148,7 +148,7 @@ bool SanitizerGetThreadName(char *name, int max_len) {
+ #endif
+ }
+ 
+-#if !SANITIZER_FREEBSD && !SANITIZER_ANDROID && !SANITIZER_GO
++#if !SANITIZER_FREEBSD && !SANITIZER_ANDROID && !SANITIZER_GO && !SANITIZER_NONGNU
+ static uptr g_tls_size;
+ 
+ #ifdef __i386__
+@@ -176,11 +176,11 @@ void InitTlsSize() {
+ }
+ #else
+ void InitTlsSize() { }
+-#endif  // !SANITIZER_FREEBSD && !SANITIZER_ANDROID && !SANITIZER_GO
++#endif  // !SANITIZER_FREEBSD && !SANITIZER_ANDROID && !SANITIZER_GO && !SANITIZER_NONGNU
+ 
+ #if (defined(__x86_64__) || defined(__i386__) || defined(__mips__) \
+     || defined(__aarch64__) || defined(__powerpc64__) || defined(__s390__) \
+-    || defined(__arm__)) && SANITIZER_LINUX && !SANITIZER_ANDROID
++    || defined(__arm__)) && SANITIZER_LINUX && !SANITIZER_ANDROID && !SANITIZER_NONGNU
+ // sizeof(struct pthread) from glibc.
+ static atomic_uintptr_t kThreadDescriptorSize;
+ 
+@@ -335,7 +335,7 @@ uptr ThreadSelf() {
+ 
+ #if !SANITIZER_GO
+ static void GetTls(uptr *addr, uptr *size) {
+-#if SANITIZER_LINUX && !SANITIZER_ANDROID
++#if SANITIZER_LINUX && !SANITIZER_ANDROID && !SANITIZER_NONGNU
+ # if defined(__x86_64__) || defined(__i386__) || defined(__s390__)
+   *addr = ThreadSelf();
+   *size = GetTlsSize();
+@@ -362,7 +362,7 @@ static void GetTls(uptr *addr, uptr *size) {
+     *addr = (uptr) dtv[2];
+     *size = (*addr == 0) ? 0 : ((uptr) segbase[0] - (uptr) dtv[2]);
+   }
+-#elif SANITIZER_ANDROID
++#elif SANITIZER_ANDROID || SANITIZER_NONGNU
+   *addr = 0;
+   *size = 0;
+ #else
+@@ -373,7 +373,7 @@ static void GetTls(uptr *addr, uptr *size) {
+ 
+ #if !SANITIZER_GO
+ uptr GetTlsSize() {
+-#if SANITIZER_FREEBSD || SANITIZER_ANDROID
++#if SANITIZER_FREEBSD || SANITIZER_ANDROID || SANITIZER_NONGNU
+   uptr addr, size;
+   GetTls(&addr, &size);
+   return size;
+diff --git a/lib/sanitizer_common/sanitizer_platform.h b/lib/sanitizer_common/sanitizer_platform.h
+index 396f7c934..5af6f1ed5 100644
+--- a/lib/sanitizer_common/sanitizer_platform.h
++++ b/lib/sanitizer_common/sanitizer_platform.h
+@@ -175,6 +175,13 @@
+ # define SANITIZER_ARM 0
+ #endif
+ 
++
++#if defined(__linux__) && !defined(__GLIBC__)
++# define SANITIZER_NONGNU 1
++#else
++# define SANITIZER_NONGNU 0
++#endif
++
+ // By default we allow to use SizeClassAllocator64 on 64-bit platform.
+ // But in some cases (e.g. AArch64's 39-bit address space) SizeClassAllocator64
+ // does not work well and we need to fallback to SizeClassAllocator32.
+diff --git a/lib/sanitizer_common/sanitizer_platform_interceptors.h b/lib/sanitizer_common/sanitizer_platform_interceptors.h
+index 0380cee92..0a39abbd0 100644
+--- a/lib/sanitizer_common/sanitizer_platform_interceptors.h
++++ b/lib/sanitizer_common/sanitizer_platform_interceptors.h
+@@ -31,7 +31,7 @@
+ # define SI_POSIX 0
+ #endif
+ 
+-#if SANITIZER_LINUX && !SANITIZER_ANDROID
++#if SANITIZER_LINUX && !SANITIZER_ANDROID && !SANITIZER_NONGNU
+ # define SI_LINUX_NOT_ANDROID 1
+ #else
+ # define SI_LINUX_NOT_ANDROID 0
+diff --git a/lib/sanitizer_common/sanitizer_platform_limits_posix.cc b/lib/sanitizer_common/sanitizer_platform_limits_posix.cc
+index 83f4fd22f..fa8c1b8bd 100644
+--- a/lib/sanitizer_common/sanitizer_platform_limits_posix.cc
++++ b/lib/sanitizer_common/sanitizer_platform_limits_posix.cc
+@@ -14,6 +14,9 @@
+ 
+ #include "sanitizer_platform.h"
+ 
++// Workaround musl <--> linux conflicting definition of 'struct sysinfo'
++#define _LINUX_SYSINFO_H
++
+ #if SANITIZER_LINUX || SANITIZER_FREEBSD || SANITIZER_MAC
+ // Tests in this file assume that off_t-dependent data structures match the
+ // libc ABI. For example, struct dirent here is what readdir() function (as
+@@ -138,12 +141,14 @@ typedef struct user_fpregs elf_fpregset_t;
+ 
+ #if SANITIZER_LINUX && !SANITIZER_ANDROID
+ #include <glob.h>
+-#include <obstack.h>
++#  if !SANITIZER_NONGNU
++#    include <obstack.h>
++#  endif
+ #include <mqueue.h>
+-#include <net/if_ppp.h>
+-#include <netax25/ax25.h>
+-#include <netipx/ipx.h>
+-#include <netrom/netrom.h>
++#include <linux/if_ppp.h>
++#include <linux/ax25.h>
++#include <linux/ipx.h>
++#include <linux/netrom.h>
+ #if HAVE_RPC_XDR_H
+ # include <rpc/xdr.h>
+ #elif HAVE_TIRPC_RPC_XDR_H
+@@ -159,7 +164,8 @@ typedef struct user_fpregs elf_fpregset_t;
+ # include <sys/procfs.h>
+ #endif
+ #include <sys/user.h>
+-#include <sys/ustat.h>
++// #include <sys/ustat.h>
++#include <sys/statfs.h>
+ #include <linux/cyclades.h>
+ #include <linux/if_eql.h>
+ #include <linux/if_plip.h>
+@@ -251,7 +257,7 @@ namespace __sanitizer {
+   unsigned struct_itimerspec_sz = sizeof(struct itimerspec);
+ #endif // SANITIZER_LINUX || SANITIZER_FREEBSD
+ 
+-#if SANITIZER_LINUX && !SANITIZER_ANDROID
++#if SANITIZER_LINUX && !SANITIZER_ANDROID && !SANITIZER_NONGNU
+   unsigned struct_ustat_sz = sizeof(struct ustat);
+   unsigned struct_rlimit64_sz = sizeof(struct rlimit64);
+   unsigned struct_statvfs64_sz = sizeof(struct statvfs64);
+@@ -309,7 +315,7 @@ unsigned struct_ElfW_Phdr_sz = sizeof(ElfW(Phdr));
+ unsigned struct_ElfW_Phdr_sz = sizeof(Elf_Phdr);
+ #endif
+ 
+-#if (SANITIZER_LINUX || SANITIZER_FREEBSD) && !SANITIZER_ANDROID
++#if (SANITIZER_LINUX || SANITIZER_FREEBSD) && !SANITIZER_ANDROID && !SANITIZER_NONGNU
+   int glob_nomatch = GLOB_NOMATCH;
+   int glob_altdirfunc = GLOB_ALTDIRFUNC;
+ #endif
+@@ -403,7 +409,7 @@ unsigned struct_ElfW_Phdr_sz = sizeof(Elf_Phdr);
+   unsigned struct_termios_sz = sizeof(struct termios);
+   unsigned struct_winsize_sz = sizeof(struct winsize);
+ 
+-#if SANITIZER_LINUX
++#if SANITIZER_LINUX && !SANITIZER_NONGNU
+   unsigned struct_arpreq_sz = sizeof(struct arpreq);
+   unsigned struct_cdrom_msf_sz = sizeof(struct cdrom_msf);
+   unsigned struct_cdrom_multisession_sz = sizeof(struct cdrom_multisession);
+@@ -453,7 +459,7 @@ unsigned struct_ElfW_Phdr_sz = sizeof(Elf_Phdr);
+   unsigned struct_vt_mode_sz = sizeof(struct vt_mode);
+ #endif // SANITIZER_LINUX || SANITIZER_FREEBSD
+ 
+-#if SANITIZER_LINUX && !SANITIZER_ANDROID
++#if SANITIZER_LINUX && !SANITIZER_ANDROID && !SANITIZER_NONGNU
+   unsigned struct_ax25_parms_struct_sz = sizeof(struct ax25_parms_struct);
+   unsigned struct_cyclades_monitor_sz = sizeof(struct cyclades_monitor);
+ #if EV_VERSION > (0x010000)
+@@ -821,7 +827,7 @@ unsigned struct_ElfW_Phdr_sz = sizeof(Elf_Phdr);
+   unsigned IOCTL_VT_WAITACTIVE = VT_WAITACTIVE;
+ #endif // SANITIZER_LINUX || SANITIZER_FREEBSD
+ 
+-#if SANITIZER_LINUX && !SANITIZER_ANDROID
++#if SANITIZER_LINUX && !SANITIZER_ANDROID && !SANITIZER_NONGNU
+   unsigned IOCTL_CYGETDEFTHRESH = CYGETDEFTHRESH;
+   unsigned IOCTL_CYGETDEFTIMEOUT = CYGETDEFTIMEOUT;
+   unsigned IOCTL_CYGETMON = CYGETMON;
+@@ -976,7 +982,7 @@ CHECK_SIZE_AND_OFFSET(dl_phdr_info, dlpi_phdr);
+ CHECK_SIZE_AND_OFFSET(dl_phdr_info, dlpi_phnum);
+ #endif // SANITIZER_LINUX || SANITIZER_FREEBSD
+ 
+-#if (SANITIZER_LINUX || SANITIZER_FREEBSD) && !SANITIZER_ANDROID
++#if (SANITIZER_LINUX || SANITIZER_FREEBSD) && !SANITIZER_ANDROID && !SANITIZER_NONGNU
+ CHECK_TYPE_SIZE(glob_t);
+ CHECK_SIZE_AND_OFFSET(glob_t, gl_pathc);
+ CHECK_SIZE_AND_OFFSET(glob_t, gl_pathv);
+@@ -1010,6 +1016,7 @@ CHECK_TYPE_SIZE(iovec);
+ CHECK_SIZE_AND_OFFSET(iovec, iov_base);
+ CHECK_SIZE_AND_OFFSET(iovec, iov_len);
+ 
++#if !SANITIZER_NONGNU
+ CHECK_TYPE_SIZE(msghdr);
+ CHECK_SIZE_AND_OFFSET(msghdr, msg_name);
+ CHECK_SIZE_AND_OFFSET(msghdr, msg_namelen);
+@@ -1023,6 +1030,7 @@ CHECK_TYPE_SIZE(cmsghdr);
+ CHECK_SIZE_AND_OFFSET(cmsghdr, cmsg_len);
+ CHECK_SIZE_AND_OFFSET(cmsghdr, cmsg_level);
+ CHECK_SIZE_AND_OFFSET(cmsghdr, cmsg_type);
++#endif
+ 
+ COMPILER_CHECK(sizeof(__sanitizer_dirent) <= sizeof(dirent));
+ CHECK_SIZE_AND_OFFSET(dirent, d_ino);
+@@ -1125,7 +1133,7 @@ CHECK_SIZE_AND_OFFSET(mntent, mnt_passno);
+ 
+ CHECK_TYPE_SIZE(ether_addr);
+ 
+-#if (SANITIZER_LINUX || SANITIZER_FREEBSD) && !SANITIZER_ANDROID
++#if (SANITIZER_LINUX || SANITIZER_FREEBSD) && !SANITIZER_ANDROID && !SANITIZER_NONGNU
+ CHECK_TYPE_SIZE(ipc_perm);
+ # if SANITIZER_FREEBSD
+ CHECK_SIZE_AND_OFFSET(ipc_perm, key);
+@@ -1186,7 +1194,7 @@ CHECK_SIZE_AND_OFFSET(ifaddrs, ifa_dstaddr);
+ CHECK_SIZE_AND_OFFSET(ifaddrs, ifa_data);
+ #endif
+ 
+-#if SANITIZER_LINUX
++#if SANITIZER_LINUX && !SANITIZER_NONGNU
+ COMPILER_CHECK(sizeof(__sanitizer_mallinfo) == sizeof(struct mallinfo));
+ #endif
+ 
+@@ -1236,7 +1244,7 @@ COMPILER_CHECK(__sanitizer_XDR_DECODE == XDR_DECODE);
+ COMPILER_CHECK(__sanitizer_XDR_FREE == XDR_FREE);
+ #endif
+ 
+-#if SANITIZER_LINUX && !SANITIZER_ANDROID
++#if SANITIZER_LINUX && !SANITIZER_ANDROID && !SANITIZER_NONGNU
+ COMPILER_CHECK(sizeof(__sanitizer_FILE) <= sizeof(FILE));
+ CHECK_SIZE_AND_OFFSET(FILE, _flags);
+ CHECK_SIZE_AND_OFFSET(FILE, _IO_read_ptr);
+@@ -1255,7 +1263,7 @@ CHECK_SIZE_AND_OFFSET(FILE, _chain);
+ CHECK_SIZE_AND_OFFSET(FILE, _fileno);
+ #endif
+ 
+-#if SANITIZER_LINUX && !SANITIZER_ANDROID
++#if SANITIZER_LINUX && !SANITIZER_ANDROID && !SANITIZER_NONGNU
+ COMPILER_CHECK(sizeof(__sanitizer__obstack_chunk) <= sizeof(_obstack_chunk));
+ CHECK_SIZE_AND_OFFSET(_obstack_chunk, limit);
+ CHECK_SIZE_AND_OFFSET(_obstack_chunk, prev);
+diff --git a/lib/tsan/rtl/tsan_platform_linux.cc b/lib/tsan/rtl/tsan_platform_linux.cc
+index ead1e5704..2c020e3fe 100644
+--- a/lib/tsan/rtl/tsan_platform_linux.cc
++++ b/lib/tsan/rtl/tsan_platform_linux.cc
+@@ -284,7 +284,7 @@ void InitializePlatform() {
+ // This is required to properly "close" the fds, because we do not see internal
+ // closes within glibc. The code is a pure hack.
+ int ExtractResolvFDs(void *state, int *fds, int nfd) {
+-#if SANITIZER_LINUX && !SANITIZER_ANDROID
++#if SANITIZER_LINUX && !SANITIZER_ANDROID && !SANITIZER_NONGNU
+   int cnt = 0;
+   struct __res_state *statp = (struct __res_state*)state;
+   for (int i = 0; i < MAXNS && cnt < nfd; i++) {
+-- 
+2.16.2
+
diff --git a/pkgs/development/compilers/llvm/6/clang/default.nix b/pkgs/development/compilers/llvm/6/clang/default.nix
new file mode 100644
index 00000000000..3d02062a4a3
--- /dev/null
+++ b/pkgs/development/compilers/llvm/6/clang/default.nix
@@ -0,0 +1,111 @@
+{ stdenv, fetch, cmake, libxml2, llvm, version, release_version, clang-tools-extra_src, python
+, fixDarwinDylibNames
+, enableManpages ? false
+}:
+
+let
+  gcc = if stdenv.cc.isGNU then stdenv.cc.cc else stdenv.cc.cc.gcc;
+  self = stdenv.mkDerivation ({
+    name = "clang-${version}";
+
+    unpackPhase = ''
+      unpackFile ${fetch "cfe" "0cnznvfyl3hgbg8gj58pmwf0pvd2sv5k3ccbivy6q6ggv7c6szg0"}
+      mv cfe-${version}* clang
+      sourceRoot=$PWD/clang
+      unpackFile ${clang-tools-extra_src}
+      mv clang-tools-extra-* $sourceRoot/tools/extra
+    '';
+
+    nativeBuildInputs = [ cmake python ]
+      ++ stdenv.lib.optional enableManpages python.pkgs.sphinx;
+
+    buildInputs = [ libxml2 llvm ]
+      ++ stdenv.lib.optional stdenv.isDarwin fixDarwinDylibNames;
+
+    cmakeFlags = [
+      "-DCMAKE_CXX_FLAGS=-std=c++11"
+    ] ++ stdenv.lib.optionals enableManpages [
+      "-DCLANG_INCLUDE_DOCS=ON"
+      "-DLLVM_ENABLE_SPHINX=ON"
+      "-DSPHINX_OUTPUT_MAN=ON"
+      "-DSPHINX_OUTPUT_HTML=OFF"
+      "-DSPHINX_WARNINGS_AS_ERRORS=OFF"
+    ]
+    # Maybe with compiler-rt this won't be needed?
+    ++ stdenv.lib.optional stdenv.isLinux "-DGCC_INSTALL_PREFIX=${gcc}"
+    ++ stdenv.lib.optional (stdenv.cc.libc != null) "-DC_INCLUDE_DIRS=${stdenv.cc.libc}/include";
+
+    patches = [ ./purity.patch ];
+
+    postPatch = ''
+      sed -i -e 's/DriverArgs.hasArg(options::OPT_nostdlibinc)/true/' \
+             -e 's/Args.hasArg(options::OPT_nostdlibinc)/true/' \
+             lib/Driver/ToolChains/*.cpp
+
+      # Patch for standalone doc building
+      sed -i '1s,^,find_package(Sphinx REQUIRED)\n,' docs/CMakeLists.txt
+    '' + stdenv.lib.optionalString stdenv.hostPlatform.isMusl ''
+      sed -i -e 's/lgcc_s/lgcc_eh/' lib/Driver/ToolChains/*.cpp
+    '';
+
+    outputs = [ "out" "lib" "python" ];
+
+    # Clang expects to find LLVMgold in its own prefix
+    # Clang expects to find sanitizer libraries in its own prefix
+    postInstall = ''
+      if [ -e ${llvm}/lib/LLVMgold.so ]; then
+        ln -sv ${llvm}/lib/LLVMgold.so $out/lib
+      fi
+
+      ln -sv ${llvm}/lib/clang/${release_version}/lib $out/lib/clang/${release_version}/
+      ln -sv $out/bin/clang $out/bin/cpp
+
+      # Move libclang to 'lib' output
+      moveToOutput "lib/libclang.*" "$lib"
+      substituteInPlace $out/lib/cmake/clang/ClangTargets-release.cmake \
+          --replace "\''${_IMPORT_PREFIX}/lib/libclang." "$lib/lib/libclang."
+
+      mkdir -p $python/bin $python/share/clang/
+      mv $out/bin/{git-clang-format,scan-view} $python/bin
+      if [ -e $out/bin/set-xcode-analyzer ]; then
+        mv $out/bin/set-xcode-analyzer $python/bin
+      fi
+      mv $out/share/clang/*.py $python/share/clang
+      rm $out/bin/c-index-test
+    '';
+
+    enableParallelBuilding = true;
+
+    passthru = {
+      isClang = true;
+      inherit llvm;
+    } // stdenv.lib.optionalAttrs stdenv.isLinux {
+      inherit gcc;
+    };
+
+    meta = {
+      description = "A c, c++, objective-c, and objective-c++ frontend for the llvm compiler";
+      homepage    = http://llvm.org/;
+      license     = stdenv.lib.licenses.ncsa;
+      platforms   = stdenv.lib.platforms.all;
+    };
+  } // stdenv.lib.optionalAttrs enableManpages {
+    name = "clang-manpages-${version}";
+
+    buildPhase = ''
+      make docs-clang-man
+    '';
+
+    installPhase = ''
+      mkdir -p $out/share/man/man1
+      # Manually install clang manpage
+      cp docs/man/*.1 $out/share/man/man1/
+    '';
+
+    outputs = [ "out" ];
+
+    doCheck = false;
+
+    meta.description = "man page for Clang ${version}";
+  });
+in self
diff --git a/pkgs/development/compilers/llvm/6/clang/purity.patch b/pkgs/development/compilers/llvm/6/clang/purity.patch
new file mode 100644
index 00000000000..b30d0d0b5d5
--- /dev/null
+++ b/pkgs/development/compilers/llvm/6/clang/purity.patch
@@ -0,0 +1,30 @@
+From 4add81bba40dcec62c4ea4481be8e35ac53e89d8 Mon Sep 17 00:00:00 2001
+From: Will Dietz <w@wdtz.org>
+Date: Thu, 18 May 2017 11:56:12 -0500
+Subject: [PATCH] "purity" patch for 5.0
+
+---
+ lib/Driver/ToolChains/Gnu.cpp | 7 -------
+ 1 file changed, 7 deletions(-)
+
+diff --git a/lib/Driver/ToolChains/Gnu.cpp b/lib/Driver/ToolChains/Gnu.cpp
+index fe3c0191bb..c6a482bece 100644
+--- a/lib/Driver/ToolChains/Gnu.cpp
++++ b/lib/Driver/ToolChains/Gnu.cpp
+@@ -494,13 +494,6 @@ void tools::gnutools::Linker::ConstructJob(Compilation &C, const JobAction &JA,
+   if (!Args.hasArg(options::OPT_static)) {
+     if (Args.hasArg(options::OPT_rdynamic))
+       CmdArgs.push_back("-export-dynamic");
+-
+-    if (!Args.hasArg(options::OPT_shared)) {
+-      const std::string Loader =
+-          D.DyldPrefix + ToolChain.getDynamicLinker(Args);
+-      CmdArgs.push_back("-dynamic-linker");
+-      CmdArgs.push_back(Args.MakeArgString(Loader));
+-    }
+   }
+ 
+   CmdArgs.push_back("-o");
+-- 
+2.11.0
+
diff --git a/pkgs/development/compilers/llvm/6/compiler-rt-codesign.patch b/pkgs/development/compilers/llvm/6/compiler-rt-codesign.patch
new file mode 100644
index 00000000000..8f4c76bca1e
--- /dev/null
+++ b/pkgs/development/compilers/llvm/6/compiler-rt-codesign.patch
@@ -0,0 +1,155 @@
+From 3dec5f3475a26aeb4678627795c4b67c6b7b4785 Mon Sep 17 00:00:00 2001
+From: Will Dietz <w@wdtz.org>
+Date: Tue, 19 Sep 2017 13:13:06 -0500
+Subject: [PATCH] remove codesign use on Apple, disable ios sim testing that
+ needs it
+
+---
+ cmake/Modules/AddCompilerRT.cmake |  8 ------
+ test/asan/CMakeLists.txt          | 52 ---------------------------------------
+ test/tsan/CMakeLists.txt          | 47 -----------------------------------
+ 3 files changed, 107 deletions(-)
+
+diff --git a/cmake/Modules/AddCompilerRT.cmake b/cmake/Modules/AddCompilerRT.cmake
+index bc5fb9ff7..b64eb4246 100644
+--- a/cmake/Modules/AddCompilerRT.cmake
++++ b/cmake/Modules/AddCompilerRT.cmake
+@@ -210,14 +210,6 @@ function(add_compiler_rt_runtime name type)
+         set_target_properties(${libname} PROPERTIES IMPORT_PREFIX "")
+         set_target_properties(${libname} PROPERTIES IMPORT_SUFFIX ".lib")
+       endif()
+-      if(APPLE)
+-        # Ad-hoc sign the dylibs
+-        add_custom_command(TARGET ${libname}
+-          POST_BUILD  
+-          COMMAND codesign --sign - $<TARGET_FILE:${libname}>
+-          WORKING_DIRECTORY ${COMPILER_RT_LIBRARY_OUTPUT_DIR}
+-        )
+-      endif()
+     endif()
+     install(TARGETS ${libname}
+       ARCHIVE DESTINATION ${COMPILER_RT_LIBRARY_INSTALL_DIR}
+diff --git a/test/asan/CMakeLists.txt b/test/asan/CMakeLists.txt
+index 8bfc15b5c..f23d0f71a 100644
+--- a/test/asan/CMakeLists.txt
++++ b/test/asan/CMakeLists.txt
+@@ -83,58 +83,6 @@ foreach(arch ${ASAN_TEST_ARCH})
+   endif()
+ endforeach()
+ 
+-# iOS and iOS simulator test suites
+-# These are not added into "check-all", in order to run these tests, use
+-# "check-asan-iossim-x86_64" and similar. They also require that an extra env
+-# variable to select which iOS device or simulator to use, e.g.:
+-# SANITIZER_IOSSIM_TEST_DEVICE_IDENTIFIER="iPhone 6"
+-if(APPLE)
+-  set(EXCLUDE_FROM_ALL ON)
+-
+-  set(ASAN_TEST_TARGET_CC ${COMPILER_RT_TEST_COMPILER})
+-  set(ASAN_TEST_IOS "1")
+-  pythonize_bool(ASAN_TEST_IOS)
+-  set(ASAN_TEST_DYNAMIC True)
+-
+-  foreach(arch ${DARWIN_iossim_ARCHS})
+-    set(ASAN_TEST_IOSSIM "1")
+-    pythonize_bool(ASAN_TEST_IOSSIM)
+-    set(ASAN_TEST_TARGET_ARCH ${arch})
+-    set(ASAN_TEST_TARGET_CFLAGS "-arch ${arch} -isysroot ${DARWIN_iossim_SYSROOT} ${COMPILER_RT_TEST_COMPILER_CFLAGS}")
+-    set(ASAN_TEST_CONFIG_SUFFIX "-${arch}-iossim")
+-    get_bits_for_arch(${arch} ASAN_TEST_BITS)
+-    string(TOUPPER ${arch} ARCH_UPPER_CASE)
+-    set(CONFIG_NAME "IOSSim${ARCH_UPPER_CASE}Config")
+-    configure_lit_site_cfg(
+-      ${CMAKE_CURRENT_SOURCE_DIR}/lit.site.cfg.in
+-      ${CMAKE_CURRENT_BINARY_DIR}/${CONFIG_NAME}/lit.site.cfg
+-      )
+-    add_lit_testsuite(check-asan-iossim-${arch} "AddressSanitizer iOS Simulator ${arch} tests"
+-      ${CMAKE_CURRENT_BINARY_DIR}/${CONFIG_NAME}/
+-      DEPENDS ${ASAN_TEST_DEPS})
+-  endforeach()
+-
+-  foreach (arch ${DARWIN_ios_ARCHS})
+-    set(ASAN_TEST_IOSSIM "0")
+-    pythonize_bool(ASAN_TEST_IOSSIM)
+-    set(ASAN_TEST_TARGET_ARCH ${arch})
+-    set(ASAN_TEST_TARGET_CFLAGS "-arch ${arch} -isysroot ${DARWIN_ios_SYSROOT} ${COMPILER_RT_TEST_COMPILER_CFLAGS}")
+-    set(ASAN_TEST_CONFIG_SUFFIX "-${arch}-ios")
+-    get_bits_for_arch(${arch} ASAN_TEST_BITS)
+-    string(TOUPPER ${arch} ARCH_UPPER_CASE)
+-    set(CONFIG_NAME "IOS${ARCH_UPPER_CASE}Config")
+-    configure_lit_site_cfg(
+-      ${CMAKE_CURRENT_SOURCE_DIR}/lit.site.cfg.in
+-      ${CMAKE_CURRENT_BINARY_DIR}/${CONFIG_NAME}/lit.site.cfg
+-      )
+-    add_lit_testsuite(check-asan-ios-${arch} "AddressSanitizer iOS ${arch} tests"
+-      ${CMAKE_CURRENT_BINARY_DIR}/${CONFIG_NAME}/
+-      DEPENDS ${ASAN_TEST_DEPS})
+-  endforeach()
+-
+-  set(EXCLUDE_FROM_ALL OFF)
+-endif()
+-
+ # Add unit tests.
+ if(COMPILER_RT_INCLUDE_TESTS)
+   set(ASAN_TEST_DYNAMIC False)
+diff --git a/test/tsan/CMakeLists.txt b/test/tsan/CMakeLists.txt
+index a68908612..cde0accb5 100644
+--- a/test/tsan/CMakeLists.txt
++++ b/test/tsan/CMakeLists.txt
+@@ -42,53 +42,6 @@ foreach(arch ${TSAN_TEST_ARCH})
+   list(APPEND TSAN_TESTSUITES ${CMAKE_CURRENT_BINARY_DIR}/${CONFIG_NAME})
+ endforeach()
+ 
+-# iOS and iOS simulator test suites
+-# These are not added into "check-all", in order to run these tests, use
+-# "check-tsan-iossim-x86_64" and similar. They also require an extra environment
+-# variable to select which iOS device or simulator to use, e.g.:
+-# SANITIZER_IOSSIM_TEST_DEVICE_IDENTIFIER="iPhone 6"
+-if(APPLE)
+-  set(EXCLUDE_FROM_ALL ON)
+-
+-  set(TSAN_TEST_TARGET_CC ${COMPILER_RT_TEST_COMPILER})
+-  set(TSAN_TEST_IOS "1")
+-  pythonize_bool(TSAN_TEST_IOS)
+-
+-  set(arch "x86_64")
+-  set(TSAN_TEST_IOSSIM "1")
+-  pythonize_bool(TSAN_TEST_IOSSIM)
+-  set(TSAN_TEST_TARGET_ARCH ${arch})
+-  set(TSAN_TEST_TARGET_CFLAGS "-arch ${arch} -isysroot ${DARWIN_iossim_SYSROOT} ${COMPILER_RT_TEST_COMPILER_CFLAGS}")
+-  set(TSAN_TEST_CONFIG_SUFFIX "-${arch}-iossim")
+-  string(TOUPPER ${arch} ARCH_UPPER_CASE)
+-  set(CONFIG_NAME "IOSSim${ARCH_UPPER_CASE}Config")
+-  configure_lit_site_cfg(
+-    ${CMAKE_CURRENT_SOURCE_DIR}/lit.site.cfg.in
+-    ${CMAKE_CURRENT_BINARY_DIR}/${CONFIG_NAME}/lit.site.cfg
+-    )
+-  add_lit_testsuite(check-tsan-iossim-${arch} "ThreadSanitizer iOS Simulator ${arch} tests"
+-    ${CMAKE_CURRENT_BINARY_DIR}/${CONFIG_NAME}/
+-    DEPENDS ${TSAN_TEST_DEPS})
+-
+-  set(arch "arm64")
+-  set(TSAN_TEST_IOSSIM "0")
+-  pythonize_bool(TSAN_TEST_IOSSIM)
+-  set(TSAN_TEST_TARGET_ARCH ${arch})
+-  set(TSAN_TEST_TARGET_CFLAGS "-arch ${arch} -isysroot ${DARWIN_ios_SYSROOT} ${COMPILER_RT_TEST_COMPILER_CFLAGS}")
+-  set(TSAN_TEST_CONFIG_SUFFIX "-${arch}-ios")
+-  string(TOUPPER ${arch} ARCH_UPPER_CASE)
+-  set(CONFIG_NAME "IOS${ARCH_UPPER_CASE}Config")
+-  configure_lit_site_cfg(
+-    ${CMAKE_CURRENT_SOURCE_DIR}/lit.site.cfg.in
+-    ${CMAKE_CURRENT_BINARY_DIR}/${CONFIG_NAME}/lit.site.cfg
+-    )
+-  add_lit_testsuite(check-tsan-ios-${arch} "ThreadSanitizer iOS Simulator ${arch} tests"
+-    ${CMAKE_CURRENT_BINARY_DIR}/${CONFIG_NAME}/
+-    DEPENDS ${TSAN_TEST_DEPS})
+-
+-  set(EXCLUDE_FROM_ALL OFF)
+-endif()
+-
+ if(COMPILER_RT_INCLUDE_TESTS)
+   configure_lit_site_cfg(
+     ${CMAKE_CURRENT_SOURCE_DIR}/Unit/lit.site.cfg.in
+-- 
+2.14.1
+
diff --git a/pkgs/development/compilers/llvm/6/default.nix b/pkgs/development/compilers/llvm/6/default.nix
new file mode 100644
index 00000000000..cfa9e9e15fc
--- /dev/null
+++ b/pkgs/development/compilers/llvm/6/default.nix
@@ -0,0 +1,78 @@
+{ lowPrio, newScope, stdenv, targetPlatform, cmake, libstdcxxHook
+, libxml2, python2, isl, fetchurl, overrideCC, wrapCC, ccWrapperFun
+, darwin
+}:
+
+let
+  callPackage = newScope (self // { inherit stdenv cmake libxml2 python2 isl release_version version fetch; });
+
+  release_version = "6.0.0";
+  version = release_version; # differentiating these is important for rc's
+
+  fetch = name: sha256: fetchurl {
+    url = "http://releases.llvm.org/${release_version}/${name}-${version}.src.tar.xz";
+    inherit sha256;
+  };
+
+  compiler-rt_src = fetch "compiler-rt" "16m7rvh3w6vq10iwkjrr1nn293djld3xm62l5zasisaprx117k6h";
+  clang-tools-extra_src = fetch "clang-tools-extra" "1ll9v6r29xfdiywbn9iss49ad39ah3fk91wiv0sr6k6k9i544fq5";
+
+  # Add man output without introducing extra dependencies.
+  overrideManOutput = drv:
+    let drv-manpages = drv.override { enableManpages = true; }; in
+    drv // { man = drv-manpages.out; /*outputs = drv.outputs ++ ["man"];*/ };
+
+  llvm = callPackage ./llvm.nix {
+    inherit compiler-rt_src stdenv;
+  };
+
+  clang-unwrapped = callPackage ./clang {
+    inherit clang-tools-extra_src stdenv;
+  };
+
+  self = {
+    llvm = overrideManOutput llvm;
+    clang-unwrapped = overrideManOutput clang-unwrapped;
+
+    libclang = self.clang-unwrapped.lib;
+    llvm-manpages = lowPrio self.llvm.man;
+    clang-manpages = lowPrio self.clang-unwrapped.man;
+
+    clang = if stdenv.cc.isGNU then self.libstdcxxClang else self.libcxxClang;
+
+    libstdcxxClang = ccWrapperFun {
+      cc = self.clang-unwrapped;
+      /* FIXME is this right? */
+      inherit (stdenv.cc) bintools libc nativeTools nativeLibc;
+      extraPackages = [ libstdcxxHook ];
+    };
+
+    libcxxClang = ccWrapperFun {
+      cc = self.clang-unwrapped;
+      /* FIXME is this right? */
+      inherit (stdenv.cc) bintools libc nativeTools nativeLibc;
+      extraPackages = [ self.libcxx self.libcxxabi ];
+    };
+
+    stdenv = stdenv.override (drv: {
+      allowedRequisites = null;
+      cc = self.clang;
+    });
+
+    libcxxStdenv = stdenv.override (drv: {
+      allowedRequisites = null;
+      cc = self.libcxxClang;
+    });
+
+    lld = callPackage ./lld.nix {};
+
+    lldb = callPackage ./lldb.nix {};
+
+    libcxx = callPackage ./libc++ {};
+
+    libcxxabi = callPackage ./libc++abi.nix {};
+
+    openmp = callPackage ./openmp.nix {};
+  };
+
+in self
diff --git a/pkgs/development/compilers/llvm/6/libc++/default.nix b/pkgs/development/compilers/llvm/6/libc++/default.nix
new file mode 100644
index 00000000000..27d8cd18b66
--- /dev/null
+++ b/pkgs/development/compilers/llvm/6/libc++/default.nix
@@ -0,0 +1,54 @@
+{ lib, stdenv, fetch, cmake, python, llvm, libcxxabi, fixDarwinDylibNames, version }:
+
+stdenv.mkDerivation rec {
+  name = "libc++-${version}";
+
+  src = fetch "libcxx" "1n8d0iadkk9fdpplvxkdgrgh2szc6msrx1mpdjpmilz9pn3im4vh";
+
+  postUnpack = ''
+    unpackFile ${libcxxabi.src}
+    export LIBCXXABI_INCLUDE_DIR="$PWD/$(ls -d libcxxabi-${version}*)/include"
+  '';
+
+  # on next rebuild, this can be replaced with optionals; for now set to null to avoid
+  # patches = stdenv.lib.optionals stdenv.hostPlatform.isMusl [
+  patches = if stdenv.hostPlatform.isMusl then [
+    ../../libcxx-0001-musl-hacks.patch
+  ] else null;
+
+  prePatch = ''
+    substituteInPlace lib/CMakeLists.txt --replace "/usr/lib/libc++" "\''${LIBCXX_LIBCXXABI_LIB_PATH}/libc++"
+  '';
+
+  preConfigure = ''
+    # Get headers from the cxxabi source so we can see private headers not installed by the cxxabi package
+    cmakeFlagsArray=($cmakeFlagsArray -DLIBCXX_CXX_ABI_INCLUDE_PATHS="$LIBCXXABI_INCLUDE_DIR")
+  '' + lib.optionalString stdenv.hostPlatform.isMusl ''
+    patchShebangs utils/cat_files.py
+  '';
+  nativeBuildInputs = [ cmake ] ++ stdenv.lib.optional stdenv.hostPlatform.isMusl python;
+
+  buildInputs = [ libcxxabi ] ++ lib.optional stdenv.isDarwin fixDarwinDylibNames;
+
+  cmakeFlags = [
+    "-DLIBCXX_LIBCXXABI_LIB_PATH=${libcxxabi}/lib"
+    "-DLIBCXX_LIBCPPABI_VERSION=2"
+    "-DLIBCXX_CXX_ABI=libcxxabi"
+  ] ++ stdenv.lib.optional stdenv.hostPlatform.isMusl "-DLIBCXX_HAS_MUSL_LIBC=1";
+
+  enableParallelBuilding = true;
+
+  linkCxxAbi = stdenv.isLinux;
+
+  setupHooks = [
+    ../../../../../build-support/setup-hooks/role.bash
+    ./setup-hook.sh
+  ];
+
+  meta = {
+    homepage = http://libcxx.llvm.org/;
+    description = "A new implementation of the C++ standard library, targeting C++11";
+    license = with stdenv.lib.licenses; [ ncsa mit ];
+    platforms = stdenv.lib.platforms.unix;
+  };
+}
diff --git a/pkgs/development/compilers/llvm/6/libc++/setup-hook.sh b/pkgs/development/compilers/llvm/6/libc++/setup-hook.sh
new file mode 100644
index 00000000000..6611259165a
--- /dev/null
+++ b/pkgs/development/compilers/llvm/6/libc++/setup-hook.sh
@@ -0,0 +1,6 @@
+# See pkgs/build-support/setup-hooks/role.bash
+getHostRole
+
+linkCxxAbi="@linkCxxAbi@"
+export NIX_${role_pre}CXXSTDLIB_COMPILE+=" -isystem @out@/include/c++/v1"
+export NIX_${role_pre}CXXSTDLIB_LINK=" -stdlib=libc++${linkCxxAbi:+" -lc++abi"}"
diff --git a/pkgs/development/compilers/llvm/6/libc++abi.nix b/pkgs/development/compilers/llvm/6/libc++abi.nix
new file mode 100644
index 00000000000..05fab16c25c
--- /dev/null
+++ b/pkgs/development/compilers/llvm/6/libc++abi.nix
@@ -0,0 +1,49 @@
+{ stdenv, cmake, fetch, libcxx, libunwind, llvm, version }:
+
+stdenv.mkDerivation {
+  name = "libc++abi-${version}";
+
+  src = fetch "libcxxabi" "06v4dnqh6q0r3p5h2jznlgb69lg79126lzb2s0lcw1k38b2xkili";
+
+  nativeBuildInputs = [ cmake ];
+  buildInputs = stdenv.lib.optional (!stdenv.isDarwin && !stdenv.isFreeBSD) libunwind;
+
+  postUnpack = ''
+    unpackFile ${libcxx.src}
+    unpackFile ${llvm.src}
+    export cmakeFlags="-DLLVM_PATH=$PWD/$(ls -d llvm-*) -DLIBCXXABI_LIBCXX_PATH=$PWD/$(ls -d libcxx-*)"
+  '' + stdenv.lib.optionalString stdenv.isDarwin ''
+    export TRIPLE=x86_64-apple-darwin
+  '' + stdenv.lib.optionalString stdenv.hostPlatform.isMusl ''
+    patch -p1 -d $(ls -d libcxx-*) -i ${../libcxx-0001-musl-hacks.patch}
+  '';
+
+  installPhase = if stdenv.isDarwin
+    then ''
+      for file in lib/*.dylib; do
+        # this should be done in CMake, but having trouble figuring out
+        # the magic combination of necessary CMake variables
+        # if you fancy a try, take a look at
+        # http://www.cmake.org/Wiki/CMake_RPATH_handling
+        install_name_tool -id $out/$file $file
+      done
+      make install
+      install -d 755 $out/include
+      install -m 644 ../include/*.h $out/include
+    ''
+    else ''
+      install -d -m 755 $out/include $out/lib
+      install -m 644 lib/libc++abi.so.1.0 $out/lib
+      install -m 644 ../include/cxxabi.h $out/include
+      ln -s libc++abi.so.1.0 $out/lib/libc++abi.so
+      ln -s libc++abi.so.1.0 $out/lib/libc++abi.so.1
+    '';
+
+  meta = {
+    homepage = http://libcxxabi.llvm.org/;
+    description = "A new implementation of low level support for a standard C++ library";
+    license = with stdenv.lib.licenses; [ ncsa mit ];
+    maintainers = with stdenv.lib.maintainers; [ vlstill ];
+    platforms = stdenv.lib.platforms.unix;
+  };
+}
diff --git a/pkgs/development/compilers/llvm/6/lld.nix b/pkgs/development/compilers/llvm/6/lld.nix
new file mode 100644
index 00000000000..4997f0a7c94
--- /dev/null
+++ b/pkgs/development/compilers/llvm/6/lld.nix
@@ -0,0 +1,33 @@
+{ stdenv
+, fetch
+, cmake
+, libxml2
+, llvm
+, python
+, version
+}:
+
+stdenv.mkDerivation {
+  name = "lld-${version}";
+
+  src = fetch "lld" "02qfkjkjq0snmf8dw9c255xkh8dg06ndny1x470300pk7j1lm33b";
+
+  nativeBuildInputs = [ cmake ];
+  buildInputs = [ llvm libxml2 ];
+
+  outputs = [ "out" "dev" ];
+
+  enableParallelBuilding = true;
+
+  postInstall = ''
+    moveToOutput include "$dev"
+    moveToOutput lib "$dev"
+  '';
+
+  meta = {
+    description = "The LLVM Linker";
+    homepage    = http://lld.llvm.org/;
+    license     = stdenv.lib.licenses.ncsa;
+    platforms   = stdenv.lib.platforms.all;
+  };
+}
diff --git a/pkgs/development/compilers/llvm/6/lldb.nix b/pkgs/development/compilers/llvm/6/lldb.nix
new file mode 100644
index 00000000000..eb565a93ef6
--- /dev/null
+++ b/pkgs/development/compilers/llvm/6/lldb.nix
@@ -0,0 +1,56 @@
+{ stdenv
+, fetch
+, cmake
+, zlib
+, ncurses
+, swig
+, which
+, libedit
+, libxml2
+, llvm
+, clang-unwrapped
+, python
+, version
+, darwin
+}:
+
+stdenv.mkDerivation {
+  name = "lldb-${version}";
+
+  src = fetch "lldb" "0m6l2ks4banfmdh7xy7l77ri85kmzavgfy81gkc4gl6wg8flrxa6";
+
+  postPatch = ''
+    # Fix up various paths that assume llvm and clang are installed in the same place
+    sed -i 's,".*ClangConfig.cmake","${clang-unwrapped}/lib/cmake/clang/ClangConfig.cmake",' \
+      cmake/modules/LLDBStandalone.cmake
+    sed -i 's,".*tools/clang/include","${clang-unwrapped}/include",' \
+      cmake/modules/LLDBStandalone.cmake
+    sed -i 's,"$.LLVM_LIBRARY_DIR.",${llvm}/lib ${clang-unwrapped}/lib,' \
+      cmake/modules/LLDBStandalone.cmake
+  '';
+
+  nativeBuildInputs = [ cmake python which swig ];
+  buildInputs = [ ncurses zlib libedit libxml2 llvm ]
+    ++ stdenv.lib.optionals stdenv.isDarwin [ darwin.libobjc darwin.apple_sdk.libs.xpc darwin.apple_sdk.frameworks.Foundation darwin.bootstrap_cmds darwin.apple_sdk.frameworks.Carbon darwin.apple_sdk.frameworks.Cocoa ];
+
+  CXXFLAGS = "-fno-rtti";
+  hardeningDisable = [ "format" ];
+
+  cmakeFlags = [
+    "-DLLDB_CODESIGN_IDENTITY=" # codesigning makes nondeterministic
+  ];
+
+  enableParallelBuilding = true;
+
+  postInstall = ''
+    mkdir -p $out/share/man/man1
+    cp ../docs/lldb.1 $out/share/man/man1/
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A next-generation high-performance debugger";
+    homepage    = http://llvm.org/;
+    license     = licenses.ncsa;
+    platforms   = platforms.all;
+  };
+}
diff --git a/pkgs/development/compilers/llvm/6/llvm-outputs.patch b/pkgs/development/compilers/llvm/6/llvm-outputs.patch
new file mode 100644
index 00000000000..40096fa3497
--- /dev/null
+++ b/pkgs/development/compilers/llvm/6/llvm-outputs.patch
@@ -0,0 +1,26 @@
+diff --git a/tools/llvm-config/llvm-config.cpp b/tools/llvm-config/llvm-config.cpp
+index 94d426b..37f7794 100644
+--- a/tools/llvm-config/llvm-config.cpp
++++ b/tools/llvm-config/llvm-config.cpp
+@@ -333,6 +333,21 @@ int main(int argc, char **argv) {
+     ActiveIncludeOption = "-I" + ActiveIncludeDir;
+   }
+ 
++  /// Nix-specific multiple-output handling: override ActiveLibDir if --link-shared
++  if (!IsInDevelopmentTree) {
++    bool WantShared = true;
++    for (int i = 1; i < argc; ++i) {
++      StringRef Arg = argv[i];
++      if (Arg == "--link-shared")
++        WantShared = true;
++      else if (Arg == "--link-static")
++        WantShared = false; // the last one wins
++    }
++
++    if (WantShared)
++      ActiveLibDir = std::string("@lib@") + "/lib" + LLVM_LIBDIR_SUFFIX;
++  }
++
+   /// We only use `shared library` mode in cases where the static library form
+   /// of the components provided are not available; note however that this is
+   /// skipped if we're run from within the build dir. However, once installed,
diff --git a/pkgs/development/compilers/llvm/6/llvm.nix b/pkgs/development/compilers/llvm/6/llvm.nix
new file mode 100644
index 00000000000..7cb3e88c2f8
--- /dev/null
+++ b/pkgs/development/compilers/llvm/6/llvm.nix
@@ -0,0 +1,185 @@
+{ stdenv
+, fetch
+, fetchpatch
+, cmake
+, python
+, libffi
+, libbfd
+, libxml2
+, valgrind
+, ncurses
+, version
+, release_version
+, zlib
+, compiler-rt_src
+, libcxxabi
+, debugVersion ? false
+, enableManpages ? false
+, enableSharedLibraries ? true
+, enableWasm ? true
+, darwin
+}:
+
+let
+  src = fetch "llvm" "0224xvfg6h40y5lrbnb9qaq3grmdc5rg00xq03s1wxjfbf8krx8z";
+
+  # Used when creating a version-suffixed symlink of libLLVM.dylib
+  shortVersion = with stdenv.lib;
+    concatStringsSep "." (take 2 (splitString "." release_version));
+in stdenv.mkDerivation (rec {
+  name = "llvm-${version}";
+
+  unpackPhase = ''
+    unpackFile ${src}
+    mv llvm-${version}* llvm
+    sourceRoot=$PWD/llvm
+    unpackFile ${compiler-rt_src}
+    mv compiler-rt-* $sourceRoot/projects/compiler-rt
+  '';
+
+  outputs = [ "out" "python" ]
+    ++ stdenv.lib.optional enableSharedLibraries "lib";
+
+  nativeBuildInputs = [ cmake python ]
+    ++ stdenv.lib.optional enableManpages python.pkgs.sphinx;
+
+  buildInputs = [ libxml2 libffi ]
+    ++ stdenv.lib.optionals stdenv.isDarwin [ libcxxabi ];
+
+  propagatedBuildInputs = [ ncurses zlib ];
+
+  # TSAN requires XPC on Darwin, which we have no public/free source files for. We can depend on the Apple frameworks
+  # to get it, but they're unfree. Since LLVM is rather central to the stdenv, we patch out TSAN support so that Hydra
+  # can build this. If we didn't do it, basically the entire nixpkgs on Darwin would have an unfree dependency and we'd
+  # get no binary cache for the entire platform. If you really find yourself wanting the TSAN, make this controllable by
+  # a flag and turn the flag off during the stdenv build.
+  postPatch = stdenv.lib.optionalString stdenv.isDarwin ''
+    substituteInPlace ./projects/compiler-rt/cmake/config-ix.cmake \
+      --replace 'set(COMPILER_RT_HAS_TSAN TRUE)' 'set(COMPILER_RT_HAS_TSAN FALSE)'
+
+    substituteInPlace cmake/modules/AddLLVM.cmake \
+      --replace 'set(_install_name_dir INSTALL_NAME_DIR "@rpath")' "set(_install_name_dir INSTALL_NAME_DIR "$lib/lib")" \
+      --replace 'set(_install_rpath "@loader_path/../lib" ''${extra_libdir})' ""
+  ''
+  # Patch llvm-config to return correct library path based on --link-{shared,static}.
+  + stdenv.lib.optionalString (enableSharedLibraries) ''
+    substitute '${./llvm-outputs.patch}' ./llvm-outputs.patch --subst-var lib
+    patch -p1 < ./llvm-outputs.patch
+  '' + ''
+    # FileSystem permissions tests fail with various special bits
+    substituteInPlace unittests/Support/CMakeLists.txt \
+      --replace "Path.cpp" ""
+    rm unittests/Support/Path.cpp
+
+    # Revert compiler-rt commit that makes codesign mandatory
+    patch -p1 -i ${./compiler-rt-codesign.patch} -d projects/compiler-rt
+  '' + stdenv.lib.optionalString stdenv.hostPlatform.isMusl ''
+    patch -p1 -i ${../TLI-musl.patch}
+    substituteInPlace unittests/Support/CMakeLists.txt \
+      --replace "add_subdirectory(DynamicLibrary)" ""
+    rm unittests/Support/DynamicLibrary/DynamicLibraryTest.cpp
+    patch -p1 -i ${./sanitizers-nongnu.patch} -d projects/compiler-rt
+  '';
+
+  # hacky fix: created binaries need to be run before installation
+  preBuild = ''
+    mkdir -p $out/
+    ln -sv $PWD/lib $out
+  '';
+
+  cmakeFlags = with stdenv; [
+    "-DCMAKE_BUILD_TYPE=${if debugVersion then "Debug" else "Release"}"
+    "-DLLVM_INSTALL_UTILS=ON"  # Needed by rustc
+    "-DLLVM_BUILD_TESTS=ON"
+    "-DLLVM_ENABLE_FFI=ON"
+    "-DLLVM_ENABLE_RTTI=ON"
+    "-DCOMPILER_RT_INCLUDE_TESTS=OFF" # FIXME: requires clang source code
+  ]
+  ++ stdenv.lib.optional enableSharedLibraries
+    "-DLLVM_LINK_LLVM_DYLIB=ON"
+  ++ stdenv.lib.optionals enableManpages [
+    "-DLLVM_BUILD_DOCS=ON"
+    "-DLLVM_ENABLE_SPHINX=ON"
+    "-DSPHINX_OUTPUT_MAN=ON"
+    "-DSPHINX_OUTPUT_HTML=OFF"
+    "-DSPHINX_WARNINGS_AS_ERRORS=OFF"
+  ]
+  ++ stdenv.lib.optional (!isDarwin)
+    "-DLLVM_BINUTILS_INCDIR=${libbfd.dev}/include"
+  ++ stdenv.lib.optionals (isDarwin) [
+    "-DLLVM_ENABLE_LIBCXX=ON"
+    "-DCAN_TARGET_i386=false"
+  ]
+  ++ stdenv.lib.optionals stdenv.hostPlatform.isMusl [
+    "-DLLVM_HOST_TRIPLE=${stdenv.hostPlatform.config}"
+    "-DLLVM_DEFAULT_TARGET_TRIPLE=${stdenv.targetPlatform.config}"
+    "-DTARGET_TRIPLE=${stdenv.targetPlatform.config}"
+  ] ++ stdenv.lib.optional enableWasm
+   "-DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD=WebAssembly"
+  ;
+
+  postBuild = ''
+    rm -fR $out
+
+    paxmark m bin/{lli,llvm-rtdyld}
+    paxmark m unittests/ExecutionEngine/MCJIT/MCJITTests
+    paxmark m unittests/ExecutionEngine/Orc/OrcJITTests
+    paxmark m unittests/Support/SupportTests
+    paxmark m bin/lli-child-target
+  '';
+
+  preCheck = ''
+    export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$PWD/lib
+  '';
+
+  postInstall = ''
+    mkdir -p $python/share
+    mv $out/share/opt-viewer $python/share/opt-viewer
+  ''
+  + stdenv.lib.optionalString enableSharedLibraries ''
+    moveToOutput "lib/libLLVM-*" "$lib"
+    moveToOutput "lib/libLLVM${stdenv.hostPlatform.extensions.sharedLibrary}" "$lib"
+    substituteInPlace "$out/lib/cmake/llvm/LLVMExports-${if debugVersion then "debug" else "release"}.cmake" \
+      --replace "\''${_IMPORT_PREFIX}/lib/libLLVM-" "$lib/lib/libLLVM-"
+  ''
+  + stdenv.lib.optionalString (stdenv.isDarwin && enableSharedLibraries) ''
+    substituteInPlace "$out/lib/cmake/llvm/LLVMExports-${if debugVersion then "debug" else "release"}.cmake" \
+      --replace "\''${_IMPORT_PREFIX}/lib/libLLVM.dylib" "$lib/lib/libLLVM.dylib"
+    ln -s $lib/lib/libLLVM.dylib $lib/lib/libLLVM-${shortVersion}.dylib
+    ln -s $lib/lib/libLLVM.dylib $lib/lib/libLLVM-${release_version}.dylib
+  '';
+
+  doCheck = stdenv.isLinux && (!stdenv.isi686);
+
+  checkTarget = "check-all";
+
+  enableParallelBuilding = true;
+
+  passthru.src = src;
+
+  meta = {
+    description = "Collection of modular and reusable compiler and toolchain technologies";
+    homepage    = http://llvm.org/;
+    license     = stdenv.lib.licenses.ncsa;
+    maintainers = with stdenv.lib.maintainers; [ lovek323 raskin viric dtzWill ];
+    platforms   = stdenv.lib.platforms.all;
+  };
+} // stdenv.lib.optionalAttrs enableManpages {
+  name = "llvm-manpages-${version}";
+
+  buildPhase = ''
+    make docs-llvm-man
+  '';
+
+  propagatedBuildInputs = [];
+
+  installPhase = ''
+    make -C docs install
+  '';
+
+  outputs = [ "out" ];
+
+  doCheck = false;
+
+  meta.description = "man pages for LLVM ${version}";
+})
diff --git a/pkgs/development/compilers/llvm/6/openmp.nix b/pkgs/development/compilers/llvm/6/openmp.nix
new file mode 100644
index 00000000000..091e378af2a
--- /dev/null
+++ b/pkgs/development/compilers/llvm/6/openmp.nix
@@ -0,0 +1,26 @@
+{ stdenv
+, fetch
+, cmake
+, zlib
+, llvm
+, perl
+, version
+}:
+
+stdenv.mkDerivation {
+  name = "openmp-${version}";
+
+  src = fetch "openmp" "1z1qghx6drdvnlp406q1cp3mgikxxmwymcwzaxbv18vxbw6ha3kw";
+
+  nativeBuildInputs = [ cmake perl ];
+  buildInputs = [ llvm ];
+
+  enableParallelBuilding = true;
+
+  meta = {
+    description = "Components required to build an executable OpenMP program";
+    homepage    = http://openmp.llvm.org/;
+    license     = stdenv.lib.licenses.mit;
+    platforms   = stdenv.lib.platforms.all;
+  };
+}
diff --git a/pkgs/development/compilers/llvm/6/sanitizers-nongnu.patch b/pkgs/development/compilers/llvm/6/sanitizers-nongnu.patch
new file mode 100644
index 00000000000..39a9bbbd207
--- /dev/null
+++ b/pkgs/development/compilers/llvm/6/sanitizers-nongnu.patch
@@ -0,0 +1,377 @@
+From 8c74f8274369f527f2ada3772f4a0b406cb481ec Mon Sep 17 00:00:00 2001
+From: "Jory A. Pratt" <anarchy@gentoo.org>
+Date: Sat, 9 Sep 2017 08:31:15 -0500
+Subject: [PATCH] Ported to 6.0, taken from gentoo-musl project.
+
+------
+Ported to compiler-rt-sanitizers-5.0.0. Taken from
+
+https://gist.githubusercontent.com/pwaller/2337f3290f12634cad3e3730cff0a6c1/raw/83c87a8585e2f9662494db5662e5361beb093c26/nongnu.patch
+Signed-off-by: Jory A. Pratt <anarchy@gentoo.org>
+
+Taken from gentoo-musl project, with a few additional minor fixes.
+---
+ lib/asan/asan_linux.cc                             |  4 +--
+ lib/interception/interception_linux.cc             |  2 +-
+ lib/interception/interception_linux.h              |  3 +-
+ lib/msan/msan_linux.cc                             |  2 +-
+ .../sanitizer_common_interceptors_ioctl.inc        |  4 +--
+ lib/sanitizer_common/sanitizer_common_syscalls.inc |  2 +-
+ lib/sanitizer_common/sanitizer_linux_libcdep.cc    | 10 +++---
+ lib/sanitizer_common/sanitizer_platform.h          |  6 ++++
+ .../sanitizer_platform_interceptors.h              |  4 +--
+ .../sanitizer_platform_limits_posix.cc             | 40 +++++++++++++---------
+ lib/tsan/rtl/tsan_platform_linux.cc                |  2 +-
+ 11 files changed, 46 insertions(+), 33 deletions(-)
+
+diff --git a/lib/asan/asan_linux.cc b/lib/asan/asan_linux.cc
+index 625f32d40..73cf77aca 100644
+--- a/lib/asan/asan_linux.cc
++++ b/lib/asan/asan_linux.cc
+@@ -46,7 +46,7 @@
+ #include <link.h>
+ #endif
+ 
+-#if SANITIZER_ANDROID || SANITIZER_FREEBSD || SANITIZER_SOLARIS
++#if SANITIZER_ANDROID || SANITIZER_FREEBSD || SANITIZER_SOLARIS || SANITIZER_NONGNU
+ #include <ucontext.h>
+ extern "C" void* _DYNAMIC;
+ #elif SANITIZER_NETBSD
+@@ -139,7 +139,7 @@ void AsanApplyToGlobals(globals_op_fptr op, const void *needle) {
+   UNIMPLEMENTED();
+ }
+ 
+-#if SANITIZER_ANDROID
++#if SANITIZER_ANDROID || SANITIZER_NONGNU
+ // FIXME: should we do anything for Android?
+ void AsanCheckDynamicRTPrereqs() {}
+ void AsanCheckIncompatibleRT() {}
+diff --git a/lib/interception/interception_linux.cc b/lib/interception/interception_linux.cc
+index c991550a4..2b706418b 100644
+--- a/lib/interception/interception_linux.cc
++++ b/lib/interception/interception_linux.cc
+@@ -43,7 +43,7 @@ bool GetRealFunctionAddress(const char *func_name, uptr *func_addr,
+ }
+ 
+ // Android and Solaris do not have dlvsym
+-#if !SANITIZER_ANDROID && !SANITIZER_SOLARIS
++#if !SANITIZER_ANDROID && !SANITIZER_SOLARIS && !SANITIZER_NONGNU
+ void *GetFuncAddrVer(const char *func_name, const char *ver) {
+   return dlvsym(RTLD_NEXT, func_name, ver);
+ }
+diff --git a/lib/interception/interception_linux.h b/lib/interception/interception_linux.h
+index 98fe51b85..c13302b98 100644
+--- a/lib/interception/interception_linux.h
++++ b/lib/interception/interception_linux.h
+@@ -35,8 +35,7 @@ void *GetFuncAddrVer(const char *func_name, const char *ver);
+       (::__interception::uptr) & (func),                                   \
+       (::__interception::uptr) & WRAP(func))
+ 
+-// Android and Solaris do not have dlvsym
+-#if !SANITIZER_ANDROID && !SANITIZER_SOLARIS
++#if !SANITIZER_ANDROID && !SANITIZER_SOLARIS && !SANITIZER_NONGNU
+ #define INTERCEPT_FUNCTION_VER_LINUX_OR_FREEBSD(func, symver) \
+   (::__interception::real_##func = (func##_f)(                \
+        unsigned long)::__interception::GetFuncAddrVer(#func, symver))
+diff --git a/lib/msan/msan_linux.cc b/lib/msan/msan_linux.cc
+index 4e6321fcb..4d50feb82 100644
+--- a/lib/msan/msan_linux.cc
++++ b/lib/msan/msan_linux.cc
+@@ -13,7 +13,7 @@
+ //===----------------------------------------------------------------------===//
+ 
+ #include "sanitizer_common/sanitizer_platform.h"
+-#if SANITIZER_FREEBSD || SANITIZER_LINUX || SANITIZER_NETBSD
++#if SANITIZER_FREEBSD || (SANITIZER_LINUX && !SANITIZER_NONGNU) || SANITIZER_NETBSD
+ 
+ #include "msan.h"
+ #include "msan_thread.h"
+diff --git a/lib/sanitizer_common/sanitizer_common_interceptors_ioctl.inc b/lib/sanitizer_common/sanitizer_common_interceptors_ioctl.inc
+index 24e7548a5..20259b1d6 100644
+--- a/lib/sanitizer_common/sanitizer_common_interceptors_ioctl.inc
++++ b/lib/sanitizer_common/sanitizer_common_interceptors_ioctl.inc
+@@ -102,7 +102,7 @@ static void ioctl_table_fill() {
+   _(SIOCGETVIFCNT, WRITE, struct_sioc_vif_req_sz);
+ #endif
+ 
+-#if SANITIZER_LINUX
++#if SANITIZER_LINUX && !SANITIZER_NONGNU
+   // Conflicting request ids.
+   // _(CDROMAUDIOBUFSIZ, NONE, 0);
+   // _(SNDCTL_TMR_CONTINUE, NONE, 0);
+@@ -363,7 +363,7 @@ static void ioctl_table_fill() {
+   _(VT_WAITACTIVE, NONE, 0);
+ #endif
+ 
+-#if SANITIZER_LINUX && !SANITIZER_ANDROID
++#if SANITIZER_LINUX && !SANITIZER_ANDROID && !SANITIZER_NONGNU
+   // _(SIOCDEVPLIP, WRITE, struct_ifreq_sz); // the same as EQL_ENSLAVE
+   _(CYGETDEFTHRESH, WRITE, sizeof(int));
+   _(CYGETDEFTIMEOUT, WRITE, sizeof(int));
+diff --git a/lib/sanitizer_common/sanitizer_common_syscalls.inc b/lib/sanitizer_common/sanitizer_common_syscalls.inc
+index 469c8eb7e..24f87867d 100644
+--- a/lib/sanitizer_common/sanitizer_common_syscalls.inc
++++ b/lib/sanitizer_common/sanitizer_common_syscalls.inc
+@@ -2038,7 +2038,7 @@ POST_SYSCALL(setrlimit)(long res, long resource, void *rlim) {
+   }
+ }
+ 
+-#if !SANITIZER_ANDROID
++#if !SANITIZER_ANDROID && !SANITIZER_NONGNU
+ PRE_SYSCALL(prlimit64)(long pid, long resource, const void *new_rlim,
+                        void *old_rlim) {
+   if (new_rlim) PRE_READ(new_rlim, struct_rlimit64_sz);
+diff --git a/lib/sanitizer_common/sanitizer_linux_libcdep.cc b/lib/sanitizer_common/sanitizer_linux_libcdep.cc
+index 56fdfc870..a932d5db1 100644
+--- a/lib/sanitizer_common/sanitizer_linux_libcdep.cc
++++ b/lib/sanitizer_common/sanitizer_linux_libcdep.cc
+@@ -174,7 +174,7 @@ bool SanitizerGetThreadName(char *name, int max_len) {
+ }
+ 
+ #if !SANITIZER_FREEBSD && !SANITIZER_ANDROID && !SANITIZER_GO && \
+-    !SANITIZER_NETBSD && !SANITIZER_SOLARIS
++    !SANITIZER_NETBSD && !SANITIZER_SOLARIS && !SANITIZER_NONGNU
+ static uptr g_tls_size;
+ 
+ #ifdef __i386__
+@@ -207,7 +207,7 @@ void InitTlsSize() { }
+ 
+ #if (defined(__x86_64__) || defined(__i386__) || defined(__mips__) \
+     || defined(__aarch64__) || defined(__powerpc64__) || defined(__s390__) \
+-    || defined(__arm__)) && SANITIZER_LINUX && !SANITIZER_ANDROID
++    || defined(__arm__)) && SANITIZER_LINUX && !SANITIZER_ANDROID && !SANITIZER_NONGNU
+ // sizeof(struct pthread) from glibc.
+ static atomic_uintptr_t kThreadDescriptorSize;
+ 
+@@ -391,7 +391,7 @@ int GetSizeFromHdr(struct dl_phdr_info *info, size_t size, void *data) {
+ 
+ #if !SANITIZER_GO
+ static void GetTls(uptr *addr, uptr *size) {
+-#if SANITIZER_LINUX && !SANITIZER_ANDROID
++#if SANITIZER_LINUX && !SANITIZER_ANDROID && !SANITIZER_NONGNU
+ # if defined(__x86_64__) || defined(__i386__) || defined(__s390__)
+   *addr = ThreadSelf();
+   *size = GetTlsSize();
+@@ -432,7 +432,7 @@ static void GetTls(uptr *addr, uptr *size) {
+       *addr = (uptr)tcb->tcb_dtv[1];
+     }
+   }
+-#elif SANITIZER_ANDROID
++#elif SANITIZER_ANDROID || SANITIZER_NONGNU
+   *addr = 0;
+   *size = 0;
+ #elif SANITIZER_SOLARIS
+@@ -448,7 +448,7 @@ static void GetTls(uptr *addr, uptr *size) {
+ #if !SANITIZER_GO
+ uptr GetTlsSize() {
+ #if SANITIZER_FREEBSD || SANITIZER_ANDROID || SANITIZER_NETBSD || \
+-    SANITIZER_SOLARIS
++    SANITIZER_SOLARIS || SANITIZER_NONGNU
+   uptr addr, size;
+   GetTls(&addr, &size);
+   return size;
+diff --git a/lib/sanitizer_common/sanitizer_platform.h b/lib/sanitizer_common/sanitizer_platform.h
+index 334903c26..fc2afac2c 100644
+--- a/lib/sanitizer_common/sanitizer_platform.h
++++ b/lib/sanitizer_common/sanitizer_platform.h
+@@ -195,6 +195,12 @@
+ # define SANITIZER_SOLARIS32 0
+ #endif
+ 
++#if defined(__linux__) && !defined(__GLIBC__)
++# define SANITIZER_NONGNU 1
++#else
++# define SANITIZER_NONGNU 0
++#endif
++
+ // By default we allow to use SizeClassAllocator64 on 64-bit platform.
+ // But in some cases (e.g. AArch64's 39-bit address space) SizeClassAllocator64
+ // does not work well and we need to fallback to SizeClassAllocator32.
+diff --git a/lib/sanitizer_common/sanitizer_platform_interceptors.h b/lib/sanitizer_common/sanitizer_platform_interceptors.h
+index b99ac4480..628d226a1 100644
+--- a/lib/sanitizer_common/sanitizer_platform_interceptors.h
++++ b/lib/sanitizer_common/sanitizer_platform_interceptors.h
+@@ -38,7 +38,7 @@
+ # include "sanitizer_platform_limits_solaris.h"
+ #endif
+ 
+-#if SANITIZER_LINUX && !SANITIZER_ANDROID
++#if SANITIZER_LINUX && !SANITIZER_ANDROID && !SANITIZER_NONGNU
+ # define SI_LINUX_NOT_ANDROID 1
+ #else
+ # define SI_LINUX_NOT_ANDROID 0
+@@ -291,7 +291,7 @@
+   (SI_FREEBSD || SI_MAC || SI_LINUX_NOT_ANDROID)
+ #define SANITIZER_INTERCEPT_ETHER_R (SI_FREEBSD || SI_LINUX_NOT_ANDROID)
+ #define SANITIZER_INTERCEPT_SHMCTL                       \
+-  (SI_NETBSD || SI_SOLARIS || ((SI_FREEBSD || SI_LINUX_NOT_ANDROID) && \
++  (SI_NETBSD || SI_SOLARIS || ((SI_FREEBSD || SI_LINUX_NOT_ANDROID || SANITIZER_NONGNU) && \
+                  SANITIZER_WORDSIZE == 64))  // NOLINT
+ #define SANITIZER_INTERCEPT_RANDOM_R SI_LINUX_NOT_ANDROID
+ #define SANITIZER_INTERCEPT_PTHREAD_ATTR_GET SI_POSIX
+diff --git a/lib/sanitizer_common/sanitizer_platform_limits_posix.cc b/lib/sanitizer_common/sanitizer_platform_limits_posix.cc
+index f12e8206a..8880197b0 100644
+--- a/lib/sanitizer_common/sanitizer_platform_limits_posix.cc
++++ b/lib/sanitizer_common/sanitizer_platform_limits_posix.cc
+@@ -14,6 +14,9 @@
+ 
+ #include "sanitizer_platform.h"
+ 
++// Workaround musl <--> linux conflicting definition of 'struct sysinfo'
++#define _LINUX_SYSINFO_H
++
+ #if SANITIZER_LINUX || SANITIZER_FREEBSD || SANITIZER_MAC
+ // Tests in this file assume that off_t-dependent data structures match the
+ // libc ABI. For example, struct dirent here is what readdir() function (as
+@@ -138,12 +141,14 @@ typedef struct user_fpregs elf_fpregset_t;
+ 
+ #if SANITIZER_LINUX && !SANITIZER_ANDROID
+ #include <glob.h>
+-#include <obstack.h>
++#  if !SANITIZER_NONGNU
++#    include <obstack.h>
++#  endif
+ #include <mqueue.h>
+-#include <net/if_ppp.h>
+-#include <netax25/ax25.h>
+-#include <netipx/ipx.h>
+-#include <netrom/netrom.h>
++#include <linux/if_ppp.h>
++#include <linux/ax25.h>
++#include <linux/ipx.h>
++#include <linux/netrom.h>
+ #if HAVE_RPC_XDR_H
+ # include <rpc/xdr.h>
+ #elif HAVE_TIRPC_RPC_XDR_H
+@@ -159,7 +164,8 @@ typedef struct user_fpregs elf_fpregset_t;
+ # include <sys/procfs.h>
+ #endif
+ #include <sys/user.h>
+-#include <sys/ustat.h>
++// #include <sys/ustat.h>
++#include <sys/statfs.h>
+ #include <linux/cyclades.h>
+ #include <linux/if_eql.h>
+ #include <linux/if_plip.h>
+@@ -252,7 +258,7 @@ namespace __sanitizer {
+   unsigned struct_itimerspec_sz = sizeof(struct itimerspec);
+ #endif // SANITIZER_LINUX || SANITIZER_FREEBSD
+ 
+-#if SANITIZER_LINUX && !SANITIZER_ANDROID
++#if SANITIZER_LINUX && !SANITIZER_ANDROID && !SANITIZER_NONGNU
+   unsigned struct_ustat_sz = sizeof(struct ustat);
+   unsigned struct_rlimit64_sz = sizeof(struct rlimit64);
+   unsigned struct_statvfs64_sz = sizeof(struct statvfs64);
+@@ -311,7 +317,7 @@ unsigned struct_ElfW_Phdr_sz = sizeof(ElfW(Phdr));
+ unsigned struct_ElfW_Phdr_sz = sizeof(Elf_Phdr);
+ #endif
+ 
+-#if (SANITIZER_LINUX || SANITIZER_FREEBSD) && !SANITIZER_ANDROID
++#if (SANITIZER_LINUX || SANITIZER_FREEBSD) && !SANITIZER_ANDROID && !SANITIZER_NONGNU
+   int glob_nomatch = GLOB_NOMATCH;
+   int glob_altdirfunc = GLOB_ALTDIRFUNC;
+ #endif
+@@ -405,7 +411,7 @@ unsigned struct_ElfW_Phdr_sz = sizeof(Elf_Phdr);
+   unsigned struct_termios_sz = sizeof(struct termios);
+   unsigned struct_winsize_sz = sizeof(struct winsize);
+ 
+-#if SANITIZER_LINUX
++#if SANITIZER_LINUX && !SANITIZER_NONGNU
+   unsigned struct_arpreq_sz = sizeof(struct arpreq);
+   unsigned struct_cdrom_msf_sz = sizeof(struct cdrom_msf);
+   unsigned struct_cdrom_multisession_sz = sizeof(struct cdrom_multisession);
+@@ -455,7 +461,7 @@ unsigned struct_ElfW_Phdr_sz = sizeof(Elf_Phdr);
+   unsigned struct_vt_mode_sz = sizeof(struct vt_mode);
+ #endif // SANITIZER_LINUX || SANITIZER_FREEBSD
+ 
+-#if SANITIZER_LINUX && !SANITIZER_ANDROID
++#if SANITIZER_LINUX && !SANITIZER_ANDROID && !SANITIZER_NONGNU
+   unsigned struct_ax25_parms_struct_sz = sizeof(struct ax25_parms_struct);
+   unsigned struct_cyclades_monitor_sz = sizeof(struct cyclades_monitor);
+ #if EV_VERSION > (0x010000)
+@@ -823,7 +829,7 @@ unsigned struct_ElfW_Phdr_sz = sizeof(Elf_Phdr);
+   unsigned IOCTL_VT_WAITACTIVE = VT_WAITACTIVE;
+ #endif // SANITIZER_LINUX || SANITIZER_FREEBSD
+ 
+-#if SANITIZER_LINUX && !SANITIZER_ANDROID
++#if SANITIZER_LINUX && !SANITIZER_ANDROID && !SANITIZER_NONGNU
+   unsigned IOCTL_CYGETDEFTHRESH = CYGETDEFTHRESH;
+   unsigned IOCTL_CYGETDEFTIMEOUT = CYGETDEFTIMEOUT;
+   unsigned IOCTL_CYGETMON = CYGETMON;
+@@ -978,7 +984,7 @@ CHECK_SIZE_AND_OFFSET(dl_phdr_info, dlpi_phdr);
+ CHECK_SIZE_AND_OFFSET(dl_phdr_info, dlpi_phnum);
+ #endif // SANITIZER_LINUX || SANITIZER_FREEBSD
+ 
+-#if (SANITIZER_LINUX || SANITIZER_FREEBSD) && !SANITIZER_ANDROID
++#if (SANITIZER_LINUX || SANITIZER_FREEBSD) && !SANITIZER_ANDROID && !SANITIZER_NONGNU
+ CHECK_TYPE_SIZE(glob_t);
+ CHECK_SIZE_AND_OFFSET(glob_t, gl_pathc);
+ CHECK_SIZE_AND_OFFSET(glob_t, gl_pathv);
+@@ -1012,6 +1018,7 @@ CHECK_TYPE_SIZE(iovec);
+ CHECK_SIZE_AND_OFFSET(iovec, iov_base);
+ CHECK_SIZE_AND_OFFSET(iovec, iov_len);
+ 
++#if !SANITIZER_NONGNU
+ CHECK_TYPE_SIZE(msghdr);
+ CHECK_SIZE_AND_OFFSET(msghdr, msg_name);
+ CHECK_SIZE_AND_OFFSET(msghdr, msg_namelen);
+@@ -1025,6 +1032,7 @@ CHECK_TYPE_SIZE(cmsghdr);
+ CHECK_SIZE_AND_OFFSET(cmsghdr, cmsg_len);
+ CHECK_SIZE_AND_OFFSET(cmsghdr, cmsg_level);
+ CHECK_SIZE_AND_OFFSET(cmsghdr, cmsg_type);
++#endif
+ 
+ COMPILER_CHECK(sizeof(__sanitizer_dirent) <= sizeof(dirent));
+ CHECK_SIZE_AND_OFFSET(dirent, d_ino);
+@@ -1127,7 +1135,7 @@ CHECK_SIZE_AND_OFFSET(mntent, mnt_passno);
+ 
+ CHECK_TYPE_SIZE(ether_addr);
+ 
+-#if (SANITIZER_LINUX || SANITIZER_FREEBSD) && !SANITIZER_ANDROID
++#if (SANITIZER_LINUX || SANITIZER_FREEBSD) && !SANITIZER_ANDROID && !SANITIZER_NONGNU
+ CHECK_TYPE_SIZE(ipc_perm);
+ # if SANITIZER_FREEBSD
+ CHECK_SIZE_AND_OFFSET(ipc_perm, key);
+@@ -1188,7 +1196,7 @@ CHECK_SIZE_AND_OFFSET(ifaddrs, ifa_dstaddr);
+ CHECK_SIZE_AND_OFFSET(ifaddrs, ifa_data);
+ #endif
+ 
+-#if SANITIZER_LINUX
++#if SANITIZER_LINUX && !SANITIZER_NONGNU
+ COMPILER_CHECK(sizeof(__sanitizer_mallinfo) == sizeof(struct mallinfo));
+ #endif
+ 
+@@ -1238,7 +1246,7 @@ COMPILER_CHECK(__sanitizer_XDR_DECODE == XDR_DECODE);
+ COMPILER_CHECK(__sanitizer_XDR_FREE == XDR_FREE);
+ #endif
+ 
+-#if SANITIZER_LINUX && !SANITIZER_ANDROID
++#if SANITIZER_LINUX && !SANITIZER_ANDROID && !SANITIZER_NONGNU
+ COMPILER_CHECK(sizeof(__sanitizer_FILE) <= sizeof(FILE));
+ CHECK_SIZE_AND_OFFSET(FILE, _flags);
+ CHECK_SIZE_AND_OFFSET(FILE, _IO_read_ptr);
+@@ -1257,7 +1265,7 @@ CHECK_SIZE_AND_OFFSET(FILE, _chain);
+ CHECK_SIZE_AND_OFFSET(FILE, _fileno);
+ #endif
+ 
+-#if SANITIZER_LINUX && !SANITIZER_ANDROID
++#if SANITIZER_LINUX && !SANITIZER_ANDROID && !SANITIZER_NONGNU
+ COMPILER_CHECK(sizeof(__sanitizer__obstack_chunk) <= sizeof(_obstack_chunk));
+ CHECK_SIZE_AND_OFFSET(_obstack_chunk, limit);
+ CHECK_SIZE_AND_OFFSET(_obstack_chunk, prev);
+diff --git a/lib/tsan/rtl/tsan_platform_linux.cc b/lib/tsan/rtl/tsan_platform_linux.cc
+index e14d5f575..389a3bc88 100644
+--- a/lib/tsan/rtl/tsan_platform_linux.cc
++++ b/lib/tsan/rtl/tsan_platform_linux.cc
+@@ -285,7 +285,7 @@ void InitializePlatform() {
+ // This is required to properly "close" the fds, because we do not see internal
+ // closes within glibc. The code is a pure hack.
+ int ExtractResolvFDs(void *state, int *fds, int nfd) {
+-#if SANITIZER_LINUX && !SANITIZER_ANDROID
++#if SANITIZER_LINUX && !SANITIZER_ANDROID && !SANITIZER_NONGNU
+   int cnt = 0;
+   struct __res_state *statp = (struct __res_state*)state;
+   for (int i = 0; i < MAXNS && cnt < nfd; i++) {
+-- 
+2.16.2
+
diff --git a/pkgs/development/compilers/manticore/default.nix b/pkgs/development/compilers/manticore/default.nix
index 795830e0e70..2c8fe186612 100644
--- a/pkgs/development/compilers/manticore/default.nix
+++ b/pkgs/development/compilers/manticore/default.nix
@@ -1,15 +1,15 @@
 { stdenv, fetchFromGitHub, coreutils, autoreconfHook, smlnj }:
 
 let
-    rev = "592a5714595b4448b646a7d49df04c285668c2f8";
+  rev= "f8e08c89dd98b7b8dba318d245dcd4abd3328ae2";
 in stdenv.mkDerivation rec {
   name = "manticore-${version}";
-  version = "2014.08.18";
+  version = "2017.08.22";
  
   src = fetchFromGitHub {
-    owner = "rrnewton";
-    repo = "manticore_temp_mirror";
-    sha256 = "1snwlm9a31wfgvzb80y7r7yvc6n0k0bi675lqwzll95as7cdswwi";
+    owner = "ManticoreProject";
+    repo = "manticore";
+    sha256 = "06icq0qdzwyzbsyms53blxpb9i26n2vn7ci8p9xvvnq687hxhr73";
     inherit rev;
   };
 
@@ -25,7 +25,7 @@ in stdenv.mkDerivation rec {
     mkdir -p $out
     cd $out
     unpackFile $src
-    mv manticore_temp_mirror-${rev}-src repo_checkout
+    mv source repo_checkout
     cd repo_checkout
     chmod u+w . -R
   ''; 
diff --git a/pkgs/development/compilers/mit-scheme/default.nix b/pkgs/development/compilers/mit-scheme/default.nix
index 4670f39eac1..f254e91e5c6 100644
--- a/pkgs/development/compilers/mit-scheme/default.nix
+++ b/pkgs/development/compilers/mit-scheme/default.nix
@@ -87,6 +87,6 @@ stdenv.mkDerivation {
 
     # Build fails on Cygwin and Darwin:
     # <http://article.gmane.org/gmane.lisp.scheme.mit-scheme.devel/489>.
-    platforms = platforms.gnu ++ platforms.freebsd;
+    platforms = platforms.gnu ++ platforms.linux ++ platforms.freebsd;
   };
 }
diff --git a/pkgs/development/compilers/mono/4.0.nix b/pkgs/development/compilers/mono/4.0.nix
index 8621751e5a1..f13883db74f 100644
--- a/pkgs/development/compilers/mono/4.0.nix
+++ b/pkgs/development/compilers/mono/4.0.nix
@@ -3,4 +3,7 @@ callPackage ./generic.nix (rec {
   inherit Foundation libobjc;
   version = "4.0.4.1";
   sha256 = "1ydw9l89apc9p7xr5mdzy0h97g2q6v243g82mxswfc2rrqhfs4gd";
+  meta = {
+    knownVulnerabilities = [ "CVE-2009-0689" ];
+  };
 })
diff --git a/pkgs/development/compilers/mono/generic-cmake.nix b/pkgs/development/compilers/mono/generic-cmake.nix
index 7621bd56d47..929d0049138 100644
--- a/pkgs/development/compilers/mono/generic-cmake.nix
+++ b/pkgs/development/compilers/mono/generic-cmake.nix
@@ -23,8 +23,6 @@ stdenv.mkDerivation rec {
   # To overcome the bug https://bugzilla.novell.com/show_bug.cgi?id=644723
   dontDisableStatic = true;
 
-  # In fact I think this line does not help at all to what I
-  # wanted to achieve: have mono to find libgdiplus automatically
   configureFlags = [
     "--x-includes=${libX11.dev}/include"
     "--x-libraries=${libX11.out}/lib"
@@ -38,7 +36,7 @@ stdenv.mkDerivation rec {
 
   configurePhase = ''
     patchShebangs ./
-    ./autogen.sh --prefix $out
+    ./autogen.sh --prefix $out $configureFlags
   '';
 
   # Attempt to fix this error when running "mcs --version":
@@ -58,13 +56,13 @@ stdenv.mkDerivation rec {
     substituteInPlace mono/mini/aot-compiler.c --replace "llvm_path = g_strdup (\"\")" "llvm_path = g_strdup (\"${llvm}/bin/\")"
   '';
 
-  # Fix mono DLLMap so it can find libX11 and gdiplus to run winforms apps
+  # Fix mono DLLMap so it can find libX11 to run winforms apps
+  # libgdiplus is correctly handled by the --with-libgdiplus configure flag
   # Other items in the DLLMap may need to be pointed to their store locations, I don't think this is exhaustive
   # http://www.mono-project.com/Config_DllMap
   postBuild = ''
     find . -name 'config' -type f | xargs \
-    sed -i -e "s@libX11.so.6@${libX11.out}/lib/libX11.so.6@g" \
-           -e 's#[^"]*libgdiplus[^"]*"#${libgdiplus}/lib/libgdiplus.so"#' \
+    sed -i -e "s@libX11.so.6@${libX11.out}/lib/libX11.so.6@g"
   '';
 
   # Without this, any Mono application attempting to open an SSL connection will throw with
diff --git a/pkgs/development/compilers/mono/generic.nix b/pkgs/development/compilers/mono/generic.nix
index 3b476bce027..a62f2f24dd8 100644
--- a/pkgs/development/compilers/mono/generic.nix
+++ b/pkgs/development/compilers/mono/generic.nix
@@ -5,13 +5,15 @@
 , version, sha256
 , withLLVM ? false
 , enableParallelBuilding ? true
+, meta ? {}
 }:
 
 let
   llvm     = callPackage ./llvm.nix { };
-in
-stdenv.mkDerivation rec {
   name = "mono-${version}";
+in
+stdenv.mkDerivation {
+  inherit name;
 
   src = fetchurl {
     inherit sha256;
@@ -91,5 +93,5 @@ stdenv.mkDerivation rec {
     platforms = stdenv.lib.platforms.x86;
     maintainers = with stdenv.lib.maintainers; [ viric thoughtpolice obadz vrthra ];
     license = stdenv.lib.licenses.free; # Combination of LGPL/X11/GPL ?
-  };
+  } // meta;
 }
diff --git a/pkgs/development/compilers/nasm/default.nix b/pkgs/development/compilers/nasm/default.nix
index 5394f2bcbbf..89dd7dc3fdc 100644
--- a/pkgs/development/compilers/nasm/default.nix
+++ b/pkgs/development/compilers/nasm/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "nasm-${version}";
-  version = "2.13.02";
+  version = "2.13.03";
 
   src = fetchurl {
     url = "http://www.nasm.us/pub/nasm/releasebuilds/${version}/${name}.tar.bz2";
-    sha256 = "1gmvjckxvkmx1kbglgrakc98qhy55xlqlk5flrdihz5yhv92hc4d";
+    sha256 = "04bh736zfj3xy5ihh1whshpjxsisv7hqkz954clzdw6kg93qdv33";
   };
 
   nativeBuildInputs = [ perl ];
diff --git a/pkgs/development/compilers/neko/default.nix b/pkgs/development/compilers/neko/default.nix
index 4dce11f93b1..42a585ff51f 100644
--- a/pkgs/development/compilers/neko/default.nix
+++ b/pkgs/development/compilers/neko/default.nix
@@ -7,7 +7,7 @@ stdenv.mkDerivation rec {
   version = "2.2.0";
 
   src = fetchurl {
-    url = "http://nekovm.org/media/neko-${version}-src.tar.gz";
+    url = "https://nekovm.org/media/neko-${version}-src.tar.gz";
     sha256 = "1qv47zaa0vzhjlq5wb71627n7dbsxpc1gqpg0hsngjxnbnh1q46g";
   };
 
diff --git a/pkgs/development/compilers/ocaml/4.07.nix b/pkgs/development/compilers/ocaml/4.07.nix
new file mode 100644
index 00000000000..b39d57cc092
--- /dev/null
+++ b/pkgs/development/compilers/ocaml/4.07.nix
@@ -0,0 +1,9 @@
+import ./generic.nix {
+  major_version = "4";
+  minor_version = "07";
+  patch_version = "0+beta2";
+  sha256 = "0rrvl47kq982z2ns7cnasmlbj60mpmza2zyhl1kh45c5a3n7692n";
+
+  # If the executable is stripped it does not work
+  dontStrip = true;
+}
diff --git a/pkgs/development/compilers/ocaml/generic.nix b/pkgs/development/compilers/ocaml/generic.nix
index 54e9ae671af..1ee6fee613c 100644
--- a/pkgs/development/compilers/ocaml/generic.nix
+++ b/pkgs/development/compilers/ocaml/generic.nix
@@ -45,7 +45,8 @@ stdenv.mkDerivation (args // rec {
   ;
 
   buildFlags = "world" + optionalString useNativeCompilers " bootstrap world.opt";
-  buildInputs = [ncurses] ++ optionals useX11 [ libX11 xproto ];
+  buildInputs = optional (!stdenv.lib.versionAtLeast version "4.07") ncurses
+    ++ optionals useX11 [ libX11 xproto ];
   installTargets = "install" + optionalString useNativeCompilers " installopt";
   preConfigure = optionalString (!stdenv.lib.versionAtLeast version "4.04") ''
     CAT=$(type -tp cat)
diff --git a/pkgs/development/compilers/opendylan/bin.nix b/pkgs/development/compilers/opendylan/bin.nix
index 8382be7a209..d3f654749b0 100644
--- a/pkgs/development/compilers/opendylan/bin.nix
+++ b/pkgs/development/compilers/opendylan/bin.nix
@@ -6,11 +6,11 @@ stdenv.mkDerivation {
   name = "opendylan-2013.2";
 
   src = if stdenv.system == "x86_64-linux" then fetchurl {
-      url = http://opendylan.org/downloads/opendylan/2013.2/opendylan-2013.2-x86_64-linux.tar.bz2;
+      url = https://opendylan.org/downloads/opendylan/2013.2/opendylan-2013.2-x86_64-linux.tar.bz2;
       sha256 = "035brbw3hm7zrs593q4zc42yglj1gmmkw3b1r7zzlw3ks4i2lg7h";
     }
     else if stdenv.system == "i686-linux" then fetchurl {
-      url = http://opendylan.org/downloads/opendylan/2013.2/opendylan-2013.2-x86-linux.tar.bz2;
+      url = https://opendylan.org/downloads/opendylan/2013.2/opendylan-2013.2-x86-linux.tar.bz2;
       sha256 = "0c61ihvblcsjrw6ncr8x8ylhskcrqs8pajs4mg5di36cvqw12nq5";
     }
     else throw "platform ${stdenv.system} not supported.";
diff --git a/pkgs/development/compilers/opendylan/default.nix b/pkgs/development/compilers/opendylan/default.nix
index 773ab9f473f..95f4dc5b215 100644
--- a/pkgs/development/compilers/opendylan/default.nix
+++ b/pkgs/development/compilers/opendylan/default.nix
@@ -2,18 +2,18 @@
 {stdenv, fetchgit, boehmgc, mps, gnused, opendylan-bootstrap, autoconf, automake, perl, makeWrapper, gcc }:
 
 stdenv.mkDerivation {
-  name = "opendylan-2013.2";
+  name = "opendylan-2016.1pre";
 
   src = fetchgit {
     url = https://github.com/dylan-lang/opendylan;
-    rev = "ce9b14dab6cb9ffedc69fae8c6df524c0c79abd3";
-    sha256 = "17jvhv0y63fj25ma05k70b7phcwgjyna5qkrirk48z3xapb8bknd";
+    rev = "cd9a8395586d33cc43a8611c1dc0513e69ee82dd";
+    sha256 = "00r1dm7mjy5p4hfm13vc4b6qryap40zinia3y15rhvalc3i2np4b";
     fetchSubmodules = true;
   };
 
   buildInputs = (if stdenv.system == "i686-linux" then [ mps ] else [ boehmgc ]) ++ [
     opendylan-bootstrap boehmgc gnused autoconf automake perl makeWrapper
-  ] ;
+  ];
 
   preConfigure = if stdenv.system == "i686-linux" then ''
     mkdir -p $TMPDIR/mps
diff --git a/pkgs/development/compilers/openjdk/9.nix b/pkgs/development/compilers/openjdk/10.nix
index 0a9be04ebb2..7882fa49b07 100644
--- a/pkgs/development/compilers/openjdk/9.nix
+++ b/pkgs/development/compilers/openjdk/10.nix
@@ -4,8 +4,7 @@
 , libjpeg, giflib
 , setJavaClassPath
 , minimal ? false
-#, enableInfinality ? true # font rendering patch
-, enableGnome2 ? true, gtk2, gnome_vfs, glib, GConf
+, enableGnome2 ? true, gtk3, gnome_vfs, glib, GConf
 }:
 
 let
@@ -16,53 +15,20 @@ let
   architecture =
     if stdenv.system == "i686-linux" then
       "i386"
-    else if stdenv.system == "x86_64-linux" then
-      "amd64"
-    else
-      throw "openjdk requires i686-linux or x86_64 linux";
-
-  update = "9.0.4";
-  build = "11";
-  baseurl = "http://hg.openjdk.java.net/jdk-updates/jdk9u";
+    else "amd64";
+
+  update = "10.0.1";
+  build = "10";
   repover = "jdk-${update}+${build}";
   paxflags = if stdenv.isi686 then "msp" else "m";
-  jdk9 = fetchurl {
-             url = "${baseurl}/archive/${repover}.tar.gz";
-             sha256 = "1y8sq0fxvj5s5gx5qm2mbr710xqrgv3d200k6bv71bawjh57v3xx";
-          };
-  langtools = fetchurl {
-             url = "${baseurl}/langtools/archive/${repover}.tar.gz";
-             sha256 = "1n6aqmph6a9spxyfi40k8g5hy2bnfd499gr6jkmq49phdb2qg7wy";
-          };
-  hotspot = fetchurl {
-             url = "${baseurl}/hotspot/archive/${repover}.tar.gz";
-             sha256 = "1i34k3pc2slnjk469zskqq1z0jna1xg2zzjdk7zjrhrfgsrgvfsh";
-          };
-  corba = fetchurl {
-             url = "${baseurl}/corba/archive/${repover}.tar.gz";
-             sha256 = "1k6r5yxf5h1m451vlwzk9zqkmdlln3ky3kir5qjgan4hz892f297";
-          };
-  jdk = fetchurl {
-             url = "${baseurl}/jdk/archive/${repover}.tar.gz";
-             sha256 = "0gafc0jx8fx13y6iir9zxmqrsw1a3w71xgdvjx9rk64acc24piy2";
-          };
-  jaxws = fetchurl {
-             url = "${baseurl}/jaxws/archive/${repover}.tar.gz";
-             sha256 = "1bw3z346mna6pgz76phcmfm0ykydcwagqxhffj0mzbdll7ysw25p";
-          };
-  jaxp = fetchurl {
-             url = "${baseurl}/jaxp/archive/${repover}.tar.gz";
-             sha256 = "063fhnmm2g83jrdv2bl968glr46vvgjpyk9rjmh2fwfplzclb51s";
-          };
-  nashorn = fetchurl {
-             url = "${baseurl}/nashorn/archive/${repover}.tar.gz";
-             sha256 = "0wyx76nd4v6xy4vmp94anxwk9bfqyb0l4n3hqhfqyz6azi8pqk66";
-          };
-  openjdk9 = stdenv.mkDerivation {
+
+  openjdk10 = stdenv.mkDerivation {
     name = "openjdk-${update}-b${build}";
 
-    srcs = [ jdk9 langtools hotspot corba jdk jaxws jaxp nashorn ];
-    sourceRoot = ".";
+    src = fetchurl {
+      url = "http://hg.openjdk.java.net/jdk-updates/jdk10u/archive/${repover}.tar.gz";
+      sha256 = "1fg0rl5pd3f2y3v3bq8p3zdkrpa1pyslwdln4s64clyr7spvxkjw";
+    };
 
     outputs = [ "out" "jre" ];
 
@@ -72,28 +38,15 @@ let
       libjpeg giflib libX11 libICE libXext libXrender libXtst libXt libXtst
       libXi libXinerama libXcursor lndir fontconfig
     ] ++ lib.optionals (!minimal && enableGnome2) [
-      gtk2 gnome_vfs GConf glib
+      gtk3 gnome_vfs GConf glib
     ];
 
-    #move the seven other source dirs under the main jdk8u directory,
-    #with version suffixes removed, as the remainder of the build will expect
-    prePatch = ''
-      mainDir=$(find . -maxdepth 1 -name jdk9\*);
-      find . -maxdepth 1 -name \*jdk\* -not -name jdk9\* | awk -F- '{print $1}' | while read p; do
-        mv $p-* $mainDir/$p
-      done
-      cd $mainDir
-    '';
-
     patches = [
-      ./fix-java-home-jdk9.patch
-      ./read-truststore-from-env-jdk9.patch
-      ./currency-date-range-jdk8.patch
-    #] ++ lib.optionals (!minimal && enableInfinality) [
-    #  ./004_add-fontconfig.patch
-    #  ./005_enable-infinality.patch
+      ./fix-java-home-jdk10.patch
+      ./read-truststore-from-env-jdk10.patch
+      ./currency-date-range-jdk10.patch
     ] ++ lib.optionals (!minimal && enableGnome2) [
-      ./swing-use-gtk-jdk9.patch
+      ./swing-use-gtk-jdk10.patch
     ];
 
     preConfigure = ''
@@ -127,7 +80,7 @@ let
     NIX_LDFLAGS= lib.optionals (!minimal) [
       "-lfontconfig" "-lcups" "-lXinerama" "-lXrandr" "-lmagic"
     ] ++ lib.optionals (!minimal && enableGnome2) [
-      "-lgtk-x11-2.0" "-lgio-2.0" "-lgnomevfs-2" "-lgconf-2"
+      "-lgtk-3" "-lgio-2.0" "-lgnomevfs-2" "-lgconf-2"
     ];
 
     buildFlags = [ "all" ];
@@ -160,18 +113,12 @@ let
       rm -rf $out/lib/openjdk/demo
       ${lib.optionalString minimal ''
         for d in $out/lib/openjdk/lib $jre/lib/openjdk/jre/lib; do
-          rm ''${d}/{libjsound,libjsoundalsa,libawt*,libfontmanager}.so
+          rm ''${d}/{libjsound,libjsoundalsa,libfontmanager}.so
         done
       ''}
 
       lndir $jre/lib/openjdk/jre $out/lib/openjdk/jre
 
-      # Make sure cmm/*.pf are not symlinks:
-      # https://youtrack.jetbrains.com/issue/IDEA-147272
-      # in 9, it seems no *.pf files end up in $out ... ?
-      # rm -rf $out/lib/openjdk/jre/lib/cmm
-      # ln -s {$jre,$out}/lib/openjdk/jre/lib/cmm
-
       # Set PaX markings
       exes=$(file $out/lib/openjdk/bin/* $jre/lib/openjdk/jre/bin/* 2> /dev/null | grep -E 'ELF.*(executable|shared object)' | sed -e 's/: .*$//')
       echo "to mark: *$exes*"
@@ -188,13 +135,6 @@ let
         fi
       done
 
-      # Generate certificates.
-      (
-        cd $jre/lib/openjdk/jre/lib/security
-        rm cacerts
-        perl ${./generate-cacerts.pl} $jre/lib/openjdk/jre/bin/keytool ${cacert}/etc/ssl/certs/ca-bundle.crt
-      )
-
       ln -s $out/lib/openjdk/bin $out/bin
       ln -s $jre/lib/openjdk/jre/bin $jre/bin
       ln -s $jre/lib/openjdk/jre $out/jre
@@ -251,12 +191,12 @@ let
       license = licenses.gpl2;
       description = "The open-source Java Development Kit";
       maintainers = with maintainers; [ edwtjo ];
-      platforms = platforms.linux;
+      platforms = ["i686-linux" "x86_64-linux"];
     };
 
     passthru = {
       inherit architecture;
-      home = "${openjdk9}/lib/openjdk";
+      home = "${openjdk10}/lib/openjdk";
     };
   };
-in openjdk9
+in openjdk10
diff --git a/pkgs/development/compilers/openjdk/7.nix b/pkgs/development/compilers/openjdk/7.nix
deleted file mode 100644
index 13f8bcfdb1d..00000000000
--- a/pkgs/development/compilers/openjdk/7.nix
+++ /dev/null
@@ -1,244 +0,0 @@
-{ stdenv, fetchurl, unzip, zip, procps, coreutils, alsaLib, ant, freetype
-, which, bootjdk, nettools, xorg, file, cups
-, fontconfig, cpio, cacert, perl, setJavaClassPath
-, minimal ? false
-}:
-
-let
-
-  /**
-   * The JRE libraries are in directories that depend on the CPU.
-   */
-  architecture =
-    if stdenv.system == "i686-linux" then
-      "i386"
-    else if stdenv.system == "x86_64-linux" then
-      "amd64"
-    else
-      throw "openjdk requires i686-linux or x86_64 linux";
-
-  update = "111";
-
-  build = "01";
-
-  # On x86 for heap sizes over 700MB disable SEGMEXEC and PAGEEXEC as well.
-  paxflags = if stdenv.isi686 then "msp" else "m";
-
-  baseurl = "http://hg.openjdk.java.net/jdk7u/jdk7u";
-  repover = "jdk7u${update}-b${build}";
-  jdk7 = fetchurl {
-    url = "${baseurl}/archive/${repover}.tar.gz";
-    sha256 = "0wgb7hr2gipx1jg28fnsjh7xa744sh1mgr6z3xivmnsfy3dm91gi";
-  };
-  langtools = fetchurl {
-    url = "${baseurl}/langtools/archive/${repover}.tar.gz";
-    sha256 = "0x1xs923h6sma02cbp1whg735x8vcndh5k01b7rkf714g6rxwa0y";
-  };
-  hotspot = fetchurl {
-    url = "${baseurl}/hotspot/archive/${repover}.tar.gz";
-    sha256 = "187apnsvnd4cfa7ss5g59dbh7x5ah8f1lwa2wvjfv055h2cmphpn";
-  };
-  corba = fetchurl {
-    url = "${baseurl}/corba/archive/${repover}.tar.gz";
-    sha256 = "0vmxf5sgjcmkm7i1scanaa2x75a1byj8b36vcajlr6j7qmdx6r8c";
-  };
-  jdk = fetchurl {
-    url = "${baseurl}/jdk/archive/${repover}.tar.gz";
-    sha256 = "1f8f2dgrjhx8aw1gzawrf8qggf5j0dygsla08bbsxhx5mc5a6cka";
-  };
-  jaxws = fetchurl {
-    url = "${baseurl}/jaxws/archive/${repover}.tar.gz";
-    sha256 = "03982ajxm0hzany1jg009ym84vryx7a8qfi6wcgjxyxvk8vnz37c";
-  };
-  jaxp = fetchurl {
-    url = "${baseurl}/jaxp/archive/${repover}.tar.gz";
-    sha256 = "0578h04y1ha60yjplsa8lqdjds9s2lxzgs9ybm9rs1rqzxmm0xmy";
-  };
-  openjdk = stdenv.mkDerivation rec {
-    name = "openjdk-7u${update}b${build}";
-
-    srcs = [ jdk7 langtools hotspot corba jdk jaxws jaxp ];
-    sourceRoot = ".";
-
-    outputs = [ "out" "jre" ];
-
-    buildInputs =
-      [ unzip procps ant which zip cpio nettools alsaLib
-        xorg.libX11 xorg.libXt xorg.libXext xorg.libXrender xorg.libXtst
-        xorg.libXi xorg.libXinerama xorg.libXcursor xorg.lndir
-        fontconfig perl file bootjdk
-      ];
-
-    NIX_CFLAGS_COMPILE = [
-      "-Wno-error=deprecated-declarations"
-      "-Wno-error=format-overflow" # newly detected by gcc7
-    ];
-
-    NIX_LDFLAGS = if minimal then null else "-lfontconfig -lXcursor -lXinerama";
-
-    postUnpack = ''
-      ls | grep jdk | grep -v '^jdk7u' | awk -F- '{print $1}' | while read p; do
-        mv $p-* $(ls | grep '^jdk7u')/$p
-      done
-      cd jdk7u-*
-
-      sed -i -e "s@/usr/bin/test@${coreutils}/bin/test@" \
-        -e "s@/bin/ls@${coreutils}/bin/ls@" \
-        hotspot/make/linux/makefiles/sa.make
-
-      sed -i "s@/bin/echo -e@${coreutils}/bin/echo -e@" \
-        {jdk,corba}/make/common/shared/Defs-utils.gmk
-
-      tar xf ${cups.src}
-      cupsDir=$(echo $(pwd)/cups-*)
-      makeFlagsArray+=(CUPS_HEADERS_PATH=$cupsDir)
-    '';
-
-    patches = [
-      ./cppflags-include-fix.patch
-      ./fix-java-home.patch
-      ./paxctl.patch
-      ./read-truststore-from-env.patch
-      ./currency-date-range.patch
-    ];
-
-    NIX_NO_SELF_RPATH = true;
-
-    makeFlags = [
-      "SORT=${coreutils}/bin/sort"
-      "ALSA_INCLUDE=${alsaLib.dev}/include/alsa/version.h"
-      "FREETYPE_HEADERS_PATH=${freetype.dev}/include"
-      "FREETYPE_LIB_PATH=${freetype.out}/lib"
-      "MILESTONE=${update}"
-      "BUILD_NUMBER=b${build}"
-      "USRBIN_PATH="
-      "COMPILER_PATH="
-      "DEVTOOLS_PATH="
-      "UNIXCOMMAND_PATH="
-      "BOOTDIR=${bootjdk.home}"
-      "STATIC_CXX=false"
-      "UNLIMITED_CRYPTO=1"
-      "FULL_DEBUG_SYMBOLS=0"
-    ] ++ stdenv.lib.optional minimal "BUILD_HEADLESS=1";
-
-    configurePhase = "true";
-
-    preBuild = ''
-      # We also need to PaX-mark in the middle of the build
-      substituteInPlace hotspot/make/linux/makefiles/launcher.make \
-         --replace XXX_PAXFLAGS_XXX ${paxflags}
-      substituteInPlace jdk/make/common/Program.gmk  \
-         --replace XXX_PAXFLAGS_XXX ${paxflags}
-    '';
-
-    installPhase = ''
-      mkdir -p $out/lib/openjdk $out/share $jre/lib/openjdk
-
-      cp -av build/*/j2sdk-image/* $out/lib/openjdk
-
-      # Move some stuff to top-level.
-      mv $out/lib/openjdk/include $out/include
-      mv $out/lib/openjdk/man $out/share/man
-
-      # jni.h expects jni_md.h to be in the header search path.
-      ln -s $out/include/linux/*_md.h $out/include/
-
-      # Remove some broken manpages.
-      rm -rf $out/share/man/ja*
-
-      # Remove crap from the installation.
-      rm -rf $out/lib/openjdk/demo $out/lib/openjdk/sample
-
-      # Move the JRE to a separate output.
-      mv $out/lib/openjdk/jre $jre/lib/openjdk/
-      mkdir $out/lib/openjdk/jre
-      lndir $jre/lib/openjdk/jre $out/lib/openjdk/jre
-
-      rm -rf $out/lib/openjdk/jre/bin
-      ln -s $out/lib/openjdk/bin $out/lib/openjdk/jre/bin
-
-      # Set PaX markings
-      exes=$(file $out/lib/openjdk/bin/* $jre/lib/openjdk/jre/bin/* 2> /dev/null | grep -E 'ELF.*(executable|shared object)' | sed -e 's/: .*$//')
-      echo "to mark: *$exes*"
-      for file in $exes; do
-        echo "marking *$file*"
-        paxmark ${paxflags} "$file"
-      done
-
-      # Remove duplicate binaries.
-      for i in $(cd $out/lib/openjdk/bin && echo *); do
-        if [ "$i" = java ]; then continue; fi
-        if cmp -s $out/lib/openjdk/bin/$i $jre/lib/openjdk/jre/bin/$i; then
-          ln -sfn $jre/lib/openjdk/jre/bin/$i $out/lib/openjdk/bin/$i
-        fi
-      done
-
-      # Generate certificates.
-      pushd $jre/lib/openjdk/jre/lib/security
-      rm cacerts
-      perl ${./generate-cacerts.pl} $jre/lib/openjdk/jre/bin/keytool ${cacert}/etc/ssl/certs/ca-bundle.crt
-      popd
-
-      ln -s $out/lib/openjdk/bin $out/bin
-      ln -s $jre/lib/openjdk/jre/bin $jre/bin
-    ''; # */
-
-    # FIXME: this is unnecessary once the multiple-outputs branch is merged.
-    preFixup = ''
-      prefix=$jre stripDirs "$stripDebugList" "''${stripDebugFlags:--S}"
-      patchELF $jre
-      propagatedBuildInputs+=" $jre"
-
-      # Propagate the setJavaClassPath setup hook from the JRE so that
-      # any package that depends on the JRE has $CLASSPATH set up
-      # properly.
-      mkdir -p $jre/nix-support
-      printWords ${setJavaClassPath} > $jre/nix-support/propagated-build-inputs
-
-      # Set JAVA_HOME automatically.
-      mkdir -p $out/nix-support
-      cat <<EOF > $out/nix-support/setup-hook
-      if [ -z "\$JAVA_HOME" ]; then export JAVA_HOME=$out/lib/openjdk; fi
-      EOF
-    '';
-
-    postFixup = ''
-      # Build the set of output library directories to rpath against
-      LIBDIRS=""
-      for output in $outputs; do
-        LIBDIRS="$(find $(eval echo \$$output) -name \*.so\* -exec dirname {} \; | sort | uniq | tr '\n' ':'):$LIBDIRS"
-      done
-
-      # Add the local library paths to remove dependencies on the bootstrap
-      for output in $outputs; do
-        OUTPUTDIR="$(eval echo \$$output)"
-        BINLIBS="$(find $OUTPUTDIR/bin/ -type f; find $OUTPUTDIR -name \*.so\*)"
-        echo "$BINLIBS" | while read i; do
-          patchelf --set-rpath "$LIBDIRS:$(patchelf --print-rpath "$i")" "$i" || true
-          patchelf --shrink-rpath "$i" || true
-        done
-      done
-
-      # Test to make sure that we don't depend on the bootstrap
-      for output in $outputs; do
-        if grep -q -r '${bootjdk}' $(eval echo \$$output); then
-          echo "Extraneous references to ${bootjdk} detected"
-          exit 1
-        fi
-      done
-    '';
-
-    meta = {
-      homepage = http://openjdk.java.net/;
-      license = stdenv.lib.licenses.gpl2;
-      description = "The open-source Java Development Kit";
-      maintainers = [ stdenv.lib.maintainers.eelco ];
-      platforms = stdenv.lib.platforms.linux;
-    };
-
-    passthru = {
-      inherit architecture;
-      home = "${openjdk}/lib/openjdk";
-    };
-  };
-in openjdk
diff --git a/pkgs/development/compilers/openjdk/8.nix b/pkgs/development/compilers/openjdk/8.nix
index b74c8a47dde..9db5e8ba23c 100644
--- a/pkgs/development/compilers/openjdk/8.nix
+++ b/pkgs/development/compilers/openjdk/8.nix
@@ -14,49 +14,49 @@ let
    * The JRE libraries are in directories that depend on the CPU.
    */
   architecture =
-    if stdenv.system == "i686-linux" then
+    if stdenv.hostPlatform.system == "i686-linux" then
       "i386"
-    else if stdenv.system == "x86_64-linux" then
+    else if stdenv.hostPlatform.system == "x86_64-linux" then
       "amd64"
     else
       throw "openjdk requires i686-linux or x86_64 linux";
 
   update = "172";
-  build = "02";
+  build = "11";
   baseurl = "http://hg.openjdk.java.net/jdk8u/jdk8u";
   repover = "jdk8u${update}-b${build}";
   paxflags = if stdenv.isi686 then "msp" else "m";
   jdk8 = fetchurl {
              url = "${baseurl}/archive/${repover}.tar.gz";
-             sha256 = "0y28by4ifsaxhfrzq35654i8h9jjgvrw51hbxyg8pgfink0n30r2";
+             sha256 = "08mgfqbbgnx9n6prczwm4m8pgsakya45iai1gfslqnb0adh33jpi";
           };
   langtools = fetchurl {
              url = "${baseurl}/langtools/archive/${repover}.tar.gz";
-             sha256 = "0rxp4920xpd9khdg2ia1v1djcw1nndsjfis68whawi7s95zwpxy5";
+             sha256 = "0dph17mpr5ni280z8rmiwlw0v46dnzyph6fq132xvxiw2i1203zg";
           };
   hotspot = fetchurl {
              url = "${baseurl}/hotspot/archive/${repover}.tar.gz";
-             sha256 = "0sdf6rww290wgfqhaix1vjac244drdgg7hapb67wgj733kkdl711";
+             sha256 = "181ixh75xjvlj0l3a58d9iqf50ivq77993yzfv0463dm44h6b8pp";
           };
   corba = fetchurl {
              url = "${baseurl}/corba/archive/${repover}.tar.gz";
-             sha256 = "0vl3aryw3nclqprc35b2iriwfyr9fch3x8snjry1z5ajbdyd5c8b";
+             sha256 = "097azhdmr7ph1gvlzjgx6s2hyxmi2s5293d5hs23dl5i9f55b6x8";
           };
   jdk = fetchurl {
              url = "${baseurl}/jdk/archive/${repover}.tar.gz";
-             sha256 = "1y5fnzxdll3q0jgqxsap3xb21bm1napdlqzs7h6c2l5qldyvw692";
+             sha256 = "1lvk2brd9yclzd7cdk1kvnv4mbdxzjxd595pqhdaxdxxr5anhsvm";
           };
   jaxws = fetchurl {
              url = "${baseurl}/jaxws/archive/${repover}.tar.gz";
-             sha256 = "1yg1ik1klg8pl4b7izi2waqhs7vr6ln3fzc4k1siir4va5qhrhlm";
+             sha256 = "0cl4b4c2qjyhlsa5khlxinilfaj6ai1mzji3y0263klc8q6bglwa";
           };
   jaxp = fetchurl {
              url = "${baseurl}/jaxp/archive/${repover}.tar.gz";
-             sha256 = "03srcj6hhvbdg1iqw85mfm1pwd6yvpykyz5nn4ydf930g4dyxfkf";
+             sha256 = "00s6wm62v7gmkwy46js0lisijng40lnxscndczbgfvvz2q9zz4q1";
           };
   nashorn = fetchurl {
              url = "${baseurl}/nashorn/archive/${repover}.tar.gz";
-             sha256 = "12nn02jiq3vqgwhqh5yvxq1k92fy3n0jpvfpj1npq9fvimywry2k";
+             sha256 = "0ab0rrmmf145nh4mibvknjni4whvzmk6fsnl7ihcn8m0zi6zyfra";
           };
   openjdk8 = stdenv.mkDerivation {
     name = "openjdk-8u${update}b${build}";
@@ -93,7 +93,7 @@ let
       ./004_add-fontconfig.patch
       ./005_enable-infinality.patch
     ] ++ lib.optionals (!minimal && enableGnome2) [
-      ./swing-use-gtk.patch
+      ./swing-use-gtk-jdk8.patch
     ];
 
     preConfigure = ''
@@ -133,6 +133,8 @@ let
 
     buildFlags = [ "all" ];
 
+    doCheck = false; # fails with "No rule to make target 'y'."
+
     installPhase = ''
       mkdir -p $out/lib/openjdk $out/share $jre/lib/openjdk
 
diff --git a/pkgs/development/compilers/openjdk/bootstrap.nix b/pkgs/development/compilers/openjdk/bootstrap.nix
index 48a22638813..3c29df7ec78 100644
--- a/pkgs/development/compilers/openjdk/bootstrap.nix
+++ b/pkgs/development/compilers/openjdk/bootstrap.nix
@@ -1,33 +1,25 @@
-{ stdenv, runCommand, glibc, fetchurl, file
+{ stdenv
+, runCommand, fetchurl, file, zlib
 
 , version
 }:
 
+assert stdenv.hostPlatform.libc == "glibc";
+
 let
-  # !!! These should be on nixos.org
-  src = if glibc.system == "x86_64-linux" then
-    (if version == "8" then
-      fetchurl {
-        url = "https://www.dropbox.com/s/a0lsq2ig4uguky5/openjdk8-bootstrap-x86_64-linux.tar.xz?dl=1";
-        sha256 = "18zqx6jhm3lizn9hh6ryyqc9dz3i96pwaz8f6nxfllk70qi5gvks";
-      }
-    else if version == "7" then
-      fetchurl {
-        url = "https://www.dropbox.com/s/rssfbeommrfbsjf/openjdk7-bootstrap-x86_64-linux.tar.xz?dl=1";
-        sha256 = "024gg2sgg4labxbc1nhn8lxls2p7d9h3b82hnsahwaja2pm1hbra";
-      }
+  fetchboot = version: arch: sha256: fetchurl {
+    name = "openjdk${version}-bootstrap-${arch}-linux.tar.xz";
+    url  = "http://tarballs.nixos.org/openjdk/2018-03-31/${version}/${arch}-linux.tar.xz";
+    inherit sha256;
+  };
+
+  src = if stdenv.hostPlatform.system == "x86_64-linux" then
+    (if version == "10"    then fetchboot "10" "x86_64" "08085fsxc1qhqiv3yi38w8lrg3vm7s0m2yvnwr1c92v019806yq2"
+    else if version == "8" then fetchboot "8"  "x86_64" "18zqx6jhm3lizn9hh6ryyqc9dz3i96pwaz8f6nxfllk70qi5gvks"
     else throw "No bootstrap for version")
-  else if glibc.system == "i686-linux" then
-    (if version == "8" then
-      fetchurl {
-        url = "https://www.dropbox.com/s/rneqjhlerijsw74/openjdk8-bootstrap-i686-linux.tar.xz?dl=1";
-        sha256 = "1yx04xh8bqz7amg12d13rw5vwa008rav59mxjw1b9s6ynkvfgqq9";
-      }
-    else if version == "7" then
-      fetchurl {
-        url = "https://www.dropbox.com/s/6xe64td7eg2wurs/openjdk7-bootstrap-i686-linux.tar.xz?dl=1";
-        sha256 = "0xwqjk1zx8akziw8q9sbjc1rs8s7c0w6mw67jdmmi26cwwp8ijnx";
-      }
+  else if stdenv.hostPlatform.system == "i686-linux" then
+    (if version == "10"    then fetchboot "10" "i686" "1blb9gyzp8gfyggxvggqgpcgfcyi00ndnnskipwgdm031qva94p7"
+    else if version == "8" then fetchboot "8"  "i686" "1yx04xh8bqz7amg12d13rw5vwa008rav59mxjw1b9s6ynkvfgqq9"
     else throw "No bootstrap for version")
   else throw "No bootstrap for system";
 
@@ -39,22 +31,18 @@ let
 
     LIBDIRS="$(find $out -name \*.so\* -exec dirname {} \; | sort | uniq | tr '\n' ':')"
 
-    for i in $out/bin/*; do
-      patchelf --set-interpreter ${glibc.out}/lib/ld-linux*.so.2 $i || true
-      patchelf --set-rpath "${glibc.out}/lib:$LIBDIRS" $i || true
-    done
-
-    find $out -name \*.so\* | while read lib; do
-      patchelf --set-interpreter ${glibc.out}/lib/ld-linux*.so.2 $lib || true
-      patchelf --set-rpath "${glibc.out}/lib:${stdenv.cc.cc.lib}/lib:$LIBDIRS" $lib || true
+    find "$out" -type f -print0 | while IFS= read -r -d "" elf; do
+      isELF "$elf" || continue
+      patchelf --set-interpreter $(cat "${stdenv.cc}/nix-support/dynamic-linker") "$elf" || true
+      patchelf --set-rpath "${stdenv.cc.libc}/lib:${stdenv.cc.cc.lib}/lib:${zlib}/lib:$LIBDIRS" "$elf" || true
     done
 
     # Temporarily, while NixOS's OpenJDK bootstrap tarball doesn't have PaX markings:
-    exes=$(${file}/bin/file $out/bin/* 2> /dev/null | grep -E 'ELF.*(executable|shared object)' | sed -e 's/: .*$//')
-    for file in $exes; do
-      paxmark m "$file"
+    find "$out/bin" -type f -print0 | while IFS= read -r -d "" elf; do
+      isELF "$elf" || continue
+      paxmark m "$elf"
       # On x86 for heap sizes over 700MB disable SEGMEXEC and PAGEEXEC as well.
-      ${stdenv.lib.optionalString stdenv.isi686 ''paxmark msp "$file"''}
+      ${stdenv.lib.optionalString stdenv.isi686 ''paxmark msp "$elf"''}
     done
   '';
 in bootstrap
diff --git a/pkgs/development/compilers/openjdk/cppflags-include-fix.patch b/pkgs/development/compilers/openjdk/cppflags-include-fix.patch
deleted file mode 100644
index 8931c122538..00000000000
--- a/pkgs/development/compilers/openjdk/cppflags-include-fix.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-diff -Naur openjdk-orig/jdk/make/sun/awt/mawt.gmk openjdk/jdk/make/sun/awt/mawt.gmk
---- openjdk-orig/jdk/make/sun/awt/mawt.gmk	2012-08-28 19:13:16.000000000 -0400
-+++ openjdk/jdk/make/sun/awt/mawt.gmk	2013-01-22 11:56:22.315418708 -0500
-@@ -234,12 +234,6 @@
- endif # !HEADLESS
- endif # PLATFORM
- 
--ifeq ($(PLATFORM), linux)
--  # Checking for the X11/extensions headers at the additional location
--  CPPFLAGS += -I$(firstword $(wildcard $(OPENWIN_HOME)/include/X11/extensions) \
--                        $(wildcard /usr/include/X11/extensions))
--endif
--
- ifeq ($(PLATFORM), macosx))
-   CPPFLAGS += -I$(OPENWIN_HOME)/include/X11/extensions \
-               -I$(OPENWIN_HOME)/include 
diff --git a/pkgs/development/compilers/openjdk/currency-date-range.patch b/pkgs/development/compilers/openjdk/currency-date-range-jdk10.patch
index b1c461591d1..e058eff0746 100644
--- a/pkgs/development/compilers/openjdk/currency-date-range.patch
+++ b/pkgs/development/compilers/openjdk/currency-date-range-jdk10.patch
@@ -1,6 +1,5 @@
-diff -Naur openjdk-7u65-b32-upstream/jdk/make/tools/src/build/tools/generatecurrencydata/GenerateCurrencyData.java openjdk-7u65-b32/jdk/make/tools/src/build/tools/generatecurrencydata/GenerateCurrencyData.java
---- openjdk-7u65-b32-upstream/jdk/make/tools/src/build/tools/generatecurrencydata/GenerateCurrencyData.java	2014-07-17 05:42:14.000000000 -0430
-+++ openjdk-7u65-b32/jdk/make/tools/src/build/tools/generatecurrencydata/GenerateCurrencyData.java	2014-12-30 10:15:50.327905933 -0430
+--- ./make/jdk/src/classes/build/tools/generatecurrencydata/GenerateCurrencyData.java
++++ ./make/jdk/src/classes/build/tools/generatecurrencydata/GenerateCurrencyData.java
 @@ -281,8 +281,8 @@
              checkCurrencyCode(newCurrency);
              String timeString = currencyInfo.substring(4, length - 4);
diff --git a/pkgs/development/compilers/openjdk-darwin/8.nix b/pkgs/development/compilers/openjdk/darwin/8.nix
index cc7c5fd371d..7457ffceab1 100644
--- a/pkgs/development/compilers/openjdk-darwin/8.nix
+++ b/pkgs/development/compilers/openjdk/darwin/8.nix
@@ -26,6 +26,11 @@ let
 
       # jni.h expects jni_md.h to be in the header search path.
       ln -s $out/include/darwin/*_md.h $out/include/
+
+      if [ -f $out/LICENSE ]; then
+        install -D $out/LICENSE $out/share/zulu/LICENSE
+        rm $out/LICENSE
+      fi
     '';
 
     preFixup = ''
diff --git a/pkgs/development/compilers/openjdk-darwin/default.nix b/pkgs/development/compilers/openjdk/darwin/default.nix
index 6ecc785be3b..54239e58002 100644
--- a/pkgs/development/compilers/openjdk-darwin/default.nix
+++ b/pkgs/development/compilers/openjdk/darwin/default.nix
@@ -16,6 +16,11 @@ let
 
       # jni.h expects jni_md.h to be in the header search path.
       ln -s $out/include/darwin/*_md.h $out/include/
+
+      if [ -f $out/LICENSE ]; then
+        install -D $out/LICENSE $out/share/zulu/LICENSE
+        rm $out/LICENSE
+      fi
     '';
 
     preFixup = ''
diff --git a/pkgs/development/compilers/openjdk/fix-java-home-jdk9.patch b/pkgs/development/compilers/openjdk/fix-java-home-jdk10.patch
index f9755d58e48..c037fde2972 100644
--- a/pkgs/development/compilers/openjdk/fix-java-home-jdk9.patch
+++ b/pkgs/development/compilers/openjdk/fix-java-home-jdk10.patch
@@ -1,14 +1,14 @@
---- a/hotspot/src/os/linux/vm/os_linux.cpp	2017-07-04 23:09:02.533972226 -0400
-+++ b/hotspot/src/os/linux/vm/os_linux.cpp	2017-07-04 23:07:52.118338845 -0400
-@@ -2318,10 +2318,7 @@
+--- a/src/hotspot/os/linux/os_linux.cpp	2017-07-04 23:09:02.533972226 -0400
++++ b/src/hotspot/os/linux/os_linux.cpp	2017-07-04 23:07:52.118338845 -0400
+@@ -2270,8 +2270,5 @@
    assert(ret, "cannot locate libjvm");
    char *rp = NULL;
    if (ret && dli_fname[0] != '\0') {
--    rp = realpath(dli_fname, buf);
+-    rp = os::Posix::realpath(dli_fname, buf, buflen);
 -  }
 -  if (rp == NULL) {
 -    return;
 +    snprintf(buf, buflen, "%s", dli_fname);
    }
- 
+
    if (Arguments::sun_java_launcher_is_altjvm()) {
diff --git a/pkgs/development/compilers/openjdk/fix-java-home.patch b/pkgs/development/compilers/openjdk/fix-java-home.patch
deleted file mode 100644
index 5def344f171..00000000000
--- a/pkgs/development/compilers/openjdk/fix-java-home.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-diff -ru -x '*~' openjdk-orig/hotspot/src/os/linux/vm/os_linux.cpp openjdk/hotspot/src/os/linux/vm/os_linux.cpp
---- openjdk-orig/hotspot/src/os/linux/vm/os_linux.cpp	2013-09-06 20:22:03.000000000 +0200
-+++ openjdk/hotspot/src/os/linux/vm/os_linux.cpp	2014-01-24 22:44:08.223857012 +0100
-@@ -2358,12 +2358,10 @@
-                 CAST_FROM_FN_PTR(address, os::jvm_path),
-                 dli_fname, sizeof(dli_fname), NULL);
-   assert(ret, "cannot locate libjvm");
-   char *rp = NULL;
-   if (ret && dli_fname[0] != '\0') {
--    rp = realpath(dli_fname, buf);
-+    snprintf(buf, buflen, "%s", dli_fname);
-   }
--  if (rp == NULL)
--    return;
- 
-   if (Arguments::created_by_gamma_launcher()) {
-     // Support for the gamma launcher.  Typical value for buf is
diff --git a/pkgs/development/compilers/openjdk/paxctl.patch b/pkgs/development/compilers/openjdk/paxctl.patch
deleted file mode 100644
index 12528a601cc..00000000000
--- a/pkgs/development/compilers/openjdk/paxctl.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-diff --git a/hotspot/make/linux/makefiles/launcher.make b/hotspot/make/linux/makefiles/launcher.make
-index 34bbcd6..41b9332 100644
---- a/hotspot/make/linux/makefiles/launcher.make
-+++ b/hotspot/make/linux/makefiles/launcher.make
-@@ -83,6 +83,8 @@ $(LAUNCHER): $(OBJS) $(LIBJVM) $(LAUNCHER_MAPFILE)
- 	$(QUIETLY) echo Linking launcher...
- 	$(QUIETLY) $(LINK_LAUNCHER/PRE_HOOK)
- 	$(QUIETLY) $(LINK_LAUNCHER) $(LFLAGS_LAUNCHER) -o $@ $(OBJS) $(LIBS_LAUNCHER)
-+	paxctl -c $(LAUNCHER)
-+	paxctl -zex -XXX_PAXFLAGS_XXX $(LAUNCHER)
- 	$(QUIETLY) $(LINK_LAUNCHER/POST_HOOK)
- 
- $(LAUNCHER): $(LAUNCHER_SCRIPT)
-diff --git a/jdk/make/common/Program.gmk b/jdk/make/common/Program.gmk
-index 091800d..1de8cb4 100644
---- a/jdk/make/common/Program.gmk
-+++ b/jdk/make/common/Program.gmk
-@@ -60,6 +60,10 @@ ACTUAL_PROGRAM      = $(ACTUAL_PROGRAM_DIR)/$(ACTUAL_PROGRAM_NAME)
- program_default_rule: all
- 
- program: $(ACTUAL_PROGRAM)
-+	if [[ "$(PROGRAM)" = "java" ]]; then \
-+		paxctl -c $(ACTUAL_PROGRAM); \
-+		paxctl -zex -XXX_PAXFLAGS_XXX $(ACTUAL_PROGRAM); \
-+	fi
- 
- # Work-around for missing processor specific mapfiles
- ifndef CROSS_COMPILE_ARCH
diff --git a/pkgs/development/compilers/openjdk/read-truststore-from-env-jdk9.patch b/pkgs/development/compilers/openjdk/read-truststore-from-env-jdk10.patch
index cb8d59ff806..b5abc1d794d 100644
--- a/pkgs/development/compilers/openjdk/read-truststore-from-env-jdk9.patch
+++ b/pkgs/development/compilers/openjdk/read-truststore-from-env-jdk10.patch
@@ -1,5 +1,5 @@
---- a/jdk/src/java.base/share/classes/sun/security/ssl/TrustStoreManager.java	2017-06-26 21:48:25.000000000 -0400
-+++ b/jdk/src/java.base/share/classes/sun/security/ssl/TrustStoreManager.java.new	2017-07-05 20:45:57.491295030 -0400
+--- a/src/java.base/share/classes/sun/security/ssl/TrustStoreManager.java	2017-06-26 21:48:25.000000000 -0400
++++ b/src/java.base/share/classes/sun/security/ssl/TrustStoreManager.java	2017-07-05 20:45:57.491295030 -0400
 @@ -71,6 +71,7 @@
       *
       * The preference of the default trusted KeyStore is:
diff --git a/pkgs/development/compilers/openjdk/read-truststore-from-env.patch b/pkgs/development/compilers/openjdk/read-truststore-from-env.patch
deleted file mode 100644
index 8fb0f409d0a..00000000000
--- a/pkgs/development/compilers/openjdk/read-truststore-from-env.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-diff -ur openjdk-7u65-b32/jdk/src/share/classes/sun/security/ssl/TrustManagerFactoryImpl.java openjdk-7u65-b32.new/jdk/src/share/classes/sun/security/ssl/TrustManagerFactoryImpl.java
---- openjdk-7u65-b32/jdk/src/share/classes/sun/security/ssl/TrustManagerFactoryImpl.java	2014-07-17 12:12:14.000000000 +0200
-+++ openjdk-7u65-b32.new/jdk/src/share/classes/sun/security/ssl/TrustManagerFactoryImpl.java	2014-12-09 13:31:27.821960372 +0100
-@@ -158,6 +158,7 @@
-         /*
-          * Try:
-          *      javax.net.ssl.trustStore  (if this variable exists, stop)
-+         *      system environment variable JAVAX_NET_SSL_TRUSTSTORE
-          *      jssecacerts
-          *      cacerts
-          *
-@@ -165,6 +166,9 @@
-          */
- 
-         storeFileName = props.get("trustStore");
-+        if (storeFileName == null) {
-+            storeFileName = System.getenv("JAVAX_NET_SSL_TRUSTSTORE");
-+        }
-         if (!"NONE".equals(storeFileName)) {
-             if (storeFileName != null) {
-                 storeFile = new File(storeFileName);
diff --git a/pkgs/development/compilers/openjdk/swing-use-gtk-jdk9.patch b/pkgs/development/compilers/openjdk/swing-use-gtk-jdk10.patch
index 07d95ba71b8..b9258c500db 100644
--- a/pkgs/development/compilers/openjdk/swing-use-gtk-jdk9.patch
+++ b/pkgs/development/compilers/openjdk/swing-use-gtk-jdk10.patch
@@ -1,6 +1,5 @@
-diff -ru3 a/jdk/src/share/classes/javax/swing/UIManager.java b/jdk/src/share/classes/javax/swing/UIManager.java
---- a/jdk/src/java.desktop/share/classes/javax/swing/UIManager.java	2016-07-26 00:41:37.000000000 +0300
-+++ b/jdk/src/java.desktop/share/classes/javax/swing/UIManager.java	2016-10-02 22:46:01.890071761 +0300
+--- a/src/java.desktop/share/classes/javax/swing/UIManager.java
++++ b/src/java.desktop/share/classes/javax/swing/UIManager.java
 @@ -607,11 +607,9 @@
          if (osType == OSInfo.OSType.WINDOWS) {
              return "com.sun.java.swing.plaf.windows.WindowsLookAndFeel";
@@ -23,4 +22,3 @@ diff -ru3 a/jdk/src/share/classes/javax/swing/UIManager.java b/jdk/src/share/cla
 +            lafName = getSystemLookAndFeelClassName();
          }
          lafName = swingProps.getProperty(defaultLAFKey, lafName);
- 
diff --git a/pkgs/development/compilers/openjdk/swing-use-gtk.patch b/pkgs/development/compilers/openjdk/swing-use-gtk-jdk8.patch
index 9538aade672..9538aade672 100644
--- a/pkgs/development/compilers/openjdk/swing-use-gtk.patch
+++ b/pkgs/development/compilers/openjdk/swing-use-gtk-jdk8.patch
diff --git a/pkgs/development/compilers/oraclejdk/jdk9-linux.nix b/pkgs/development/compilers/oraclejdk/jdk10-linux.nix
index 87f2e49b443..b93a13abc9c 100644
--- a/pkgs/development/compilers/oraclejdk/jdk9-linux.nix
+++ b/pkgs/development/compilers/oraclejdk/jdk10-linux.nix
@@ -25,11 +25,10 @@
 , setJavaClassPath
 }:
 
-assert stdenv.system == "x86_64-linux";
 assert swingSupport -> xorg != null;
 
 let
-  version = "9.0.4";
+  version = "10.0.1";
 
   downloadUrlBase = http://www.oracle.com/technetwork/java/javase/downloads;
 
@@ -51,20 +50,20 @@ let result = stdenv.mkDerivation rec {
     if packageType == "JDK" then
       requireFile {
         name = "jdk-${version}_linux-x64_bin.tar.gz";
-        url =  "${downloadUrlBase}/jdk9-downloads-3848520.html";
-        sha256 = "18nsjn64wkfmyb09wf2k7lvhazf83cs3dyichr038vl1gs3ymi4h";
+        url =  "${downloadUrlBase}/jdk10-downloads-4416644.html";
+        sha256 = "1975s6cn2lxb8jmxp236afvq6hhxqrx5jix8aqm46f5gwr2xd3mf";
       }
     else if packageType == "JRE" then
       requireFile {
         name = "jre-${version}_linux-x64_bin.tar.gz";
-        url = "${downloadUrlBase}/jre9-downloads-3848532.html";
-        sha256 = "01fp079mr04nniyf06w8vd47qxr6rly1lbh8dqkddb8fp9h6a79k";
+        url = "${downloadUrlBase}/jre10-downloads-4417026.html";
+        sha256 = "11pb8cwzmalc6ax735m84g13jh1mrfc8g84b5qypnmqjjdv6fpiq";
       }
     else if packageType == "ServerJRE" then
       requireFile {
         name = "serverjre-${version}_linux-x64_bin.tar.gz";
-        url = "${downloadUrlBase}/server-jre9-downloads-3848530.html";
-        sha256 = "1jlpa4mn306hx0p9jcw3i6cpdvnng29dwjsymgcan56810q6p6yj";
+        url = "${downloadUrlBase}/sjre10-downloads-4417025.html";
+        sha256 = "0hvfqgr22sq9zyqc496vqgg5ail189h3a4pazp39i8n86brd48lw";
       }
     else abort "unknown package Type ${packageType}";
 
diff --git a/pkgs/development/compilers/oraclejdk/jdk8cpu-linux.nix b/pkgs/development/compilers/oraclejdk/jdk8cpu-linux.nix
index 5bafa70af9f..bdd367ef352 100644
--- a/pkgs/development/compilers/oraclejdk/jdk8cpu-linux.nix
+++ b/pkgs/development/compilers/oraclejdk/jdk8cpu-linux.nix
@@ -1,11 +1,11 @@
 import ./jdk-linux-base.nix {
   productVersion = "8";
-  patchVersion = "161";
+  patchVersion = "171";
   downloadUrl = http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html;
-  sha256.i686-linux = "1p6p93msn3bsg9775rq171kd4160w4w8z57p0qpjdjycfix62sfg";
-  sha256.x86_64-linux = "07h2wah80qr78y0f821z12lbdmsv90xbckdn3glnj2riwfh5dg3d";
-  sha256.armv7l-linux = "0mngw2lnhx3hzgp444advybhjn5hjk3mi14y72km4kp03gh82a7x";
-  sha256.aarch64-linux = "18l5fny7yxhpj5c935rnlq4pvwadyr5zkid6yh9x87frl401shy7";
+  sha256.i686-linux = "0dh5r02v40pinway952fflw2r0i1xi67hmyb87c278qfp4jn929p";
+  sha256.x86_64-linux = "10jr4z0bw9wcws5xgc4qkw101cadfx5bkyvcnc4l3v5axwvjipdn";
+  sha256.armv7l-linux = "1bqivmp1wfnypgg5bsfzi25yzl7vd2xncfap9mi8jn63aj633dw0";
+  sha256.aarch64-linux = "1016lf3g1syjsl29m58s2s2w9nkj4jkvxhqg4s35vy41cs2v77j7";
   jceName = "jce_policy-8.zip";
   jceDownloadUrl = http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html;
   sha256JCE = "0n8b6b8qmwb14lllk2lk1q1ahd3za9fnjigz5xn65mpg48whl0pk";
diff --git a/pkgs/development/compilers/oraclejdk/jdk8psu-linux.nix b/pkgs/development/compilers/oraclejdk/jdk8psu-linux.nix
index 78d5a6f2c40..901eea0f8f1 100644
--- a/pkgs/development/compilers/oraclejdk/jdk8psu-linux.nix
+++ b/pkgs/development/compilers/oraclejdk/jdk8psu-linux.nix
@@ -1,11 +1,11 @@
 import ./jdk-linux-base.nix {
   productVersion = "8";
-  patchVersion = "162";
+  patchVersion = "172";
   downloadUrl = http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html;
-  sha256.i686-linux = "097vlvvj1vr7815rgarf5x97lagi4q0kai0x4lvd4y3wrzdqikzf";
-  sha256.x86_64-linux = "0mq2d0lj53gzn4qqdjdgbwl0h857k2rnsnr2hkmvihnrgza85v38";
-  sha256.armv7l-linux = "0xzsgdmpgs1n1g70hgly0mpxflhjrmq3vxwx8gl0kmqdiv4hqwjp";
-  sha256.aarch64-linux = "19ykcsmvkf7sdq2lqwvyi60nhb8v7f88dqjycimrsar9y4r7skf8";
+  sha256.i686-linux = "0csskx8xis0dr1948j76fgrwwsj4gzdbjqfi7if4v4j62b9i0hqa";
+  sha256.x86_64-linux = "0inkx73rwv7cvn9lqcr3hmnm0sr89h1fh29yamikb4dn02a0p818";
+  sha256.armv7l-linux = "1576cb0rlc42dsnmh388gy1wjas7ac6g135s8h74x8sm4b56qpln";
+  sha256.aarch64-linux = "0zpkmq8zxmpifawj611fg67srki63haz02rm6xwfc5qm2lxx5g6s";
   jceName = "jce_policy-8.zip";
   jceDownloadUrl = http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html;
   sha256JCE = "0n8b6b8qmwb14lllk2lk1q1ahd3za9fnjigz5xn65mpg48whl0pk";
diff --git a/pkgs/development/compilers/owl-lisp/default.nix b/pkgs/development/compilers/owl-lisp/default.nix
index 4e2f8b2af5b..ee076acd8b1 100644
--- a/pkgs/development/compilers/owl-lisp/default.nix
+++ b/pkgs/development/compilers/owl-lisp/default.nix
@@ -1,16 +1,18 @@
-{ stdenv, fetchFromGitHub, coreutils }:
+{ stdenv, fetchFromGitHub, coreutils, which }:
 
 stdenv.mkDerivation rec {
   name    = "owl-lisp-${version}";
-  version = "0.1.14";
+  version = "0.1.15";
 
   src = fetchFromGitHub {
     owner  = "aoh";
     repo   = "owl-lisp";
     rev    = "v${version}";
-    sha256 = "1rr0icprna3zs834q1pj4xy21cql3pcfknfkqipq01rhnl2893sz";
+    sha256 = "0pczmra2x6icyz6b6g66pp5ij83cq4wszg0ssw8qm7a5314kxkq4";
   };
 
+  nativeBuildInputs = [ which ];
+
   prePatch = ''
     substituteInPlace Makefile --replace /usr $out
 
@@ -19,7 +21,7 @@ stdenv.mkDerivation rec {
     done
   '';
 
-  # tests are already run as part of the compilation process
+  # tests are run as part of the compilation process
   doCheck = false;
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/compilers/polyml/default.nix b/pkgs/development/compilers/polyml/default.nix
index 390d37dd245..de5b8505527 100644
--- a/pkgs/development/compilers/polyml/default.nix
+++ b/pkgs/development/compilers/polyml/default.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   name = "polyml-${version}";
-  version = "5.7";
+  version = "5.7.1";
 
   prePatch = stdenv.lib.optionalString stdenv.isDarwin ''
     substituteInPlace configure.ac --replace stdc++ c++
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
     owner = "polyml";
     repo = "polyml";
     rev = "v${version}";
-    sha256 = "10nsljmcl0zjbcc7ifc991ypwfwq5gh4rcp5rg4nnb706c6bs16y";
+    sha256 = "0j0wv3ijfrjkfngy7dswm4k1dchk3jak9chl5735dl8yrl8mq755";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/compilers/purescript/psc-package/default.nix b/pkgs/development/compilers/purescript/psc-package/default.nix
index 451722aea06..d94179e16fe 100644
--- a/pkgs/development/compilers/purescript/psc-package/default.nix
+++ b/pkgs/development/compilers/purescript/psc-package/default.nix
@@ -4,13 +4,13 @@ with lib;
 
 mkDerivation rec {
   pname = "psc-package";
-  version = "0.2.5";
+  version = "0.3.2";
 
   src = fetchFromGitHub {
     owner = "purescript";
     repo = pname;
     rev = "v${version}";
-    sha256 = "15g0l8g8l6m5x4f73w68r9iav091x12b3wjxh0rx3ggnj093g6j1";
+    sha256 = "1zpzcyh82xl0grvgcj8b7yzh053i9z94kbym5qrv413pcx7w50cm";
   };
 
   isLibrary = false;
diff --git a/pkgs/development/compilers/rust/bootstrap.nix b/pkgs/development/compilers/rust/bootstrap.nix
index 9b488bab5b3..44d96bc4ad1 100644
--- a/pkgs/development/compilers/rust/bootstrap.nix
+++ b/pkgs/development/compilers/rust/bootstrap.nix
@@ -3,16 +3,16 @@
 let
   # Note: the version MUST be one version prior to the version we're
   # building
-  version = "1.23.0";
+  version = "1.24.1";
 
-  # fetch hashes by running `print-hashes.sh 1.23.0`
+  # fetch hashes by running `print-hashes.sh 1.24.1`
   hashes = {
-    i686-unknown-linux-gnu = "dc5bd0ef47e1036c8ca64676d8967102cb86ce4bf50b90a9845951c3e940423f";
-    x86_64-unknown-linux-gnu = "9a34b23a82d7f3c91637e10ceefb424539dcfa327c2dcd292ff10c047b1fdc7e";
-    armv7-unknown-linux-gnueabihf = "587027899267f1961520438c2c7f6775fe224160d43ddf07332b9b943a26b08e";
-    aarch64-unknown-linux-gnu = "38379fbd976d2286cb73f21466db40a636a583b9f8a80af5eea73617c7912bc7";
-    i686-apple-darwin = "4709eb1ad2fb871fdaee4b3449569cef366b0d170453cf17484a12286564f2ad";
-    x86_64-apple-darwin = "9274e977322bb4b153f092255ac9bd85041142c73eaabf900cb2ef3d3abb2eba";
+    i686-unknown-linux-gnu = "a483576bb2ab237aa1ef62b66c0814f934afd8129d7c9748cb9a75da4a678c98";
+    x86_64-unknown-linux-gnu = "4567e7f6e5e0be96e9a5a7f5149b5452828ab6a386099caca7931544f45d5327";
+    armv7-unknown-linux-gnueabihf = "1169ab005b771c4befcdab536347a90242cae544b6b76eccd0f76796b61a534c";
+    aarch64-unknown-linux-gnu = "64bb25a9689b18ddadf025b90d9bdb150b809ebfb74432dc69cc2e46120adbb2";
+    i686-apple-darwin = "c96f7579e2406220895da80a989daaa194751c141e112ebe95761f2ed4ecb662";
+    x86_64-apple-darwin = "9d4aacdb5849977ea619d399903c9378163bd9c76ea11dac5ef6eca27849f501";
   };
 
   platform =
diff --git a/pkgs/development/compilers/rust/default.nix b/pkgs/development/compilers/rust/default.nix
index dd15580c11b..f191515b745 100644
--- a/pkgs/development/compilers/rust/default.nix
+++ b/pkgs/development/compilers/rust/default.nix
@@ -6,11 +6,11 @@
 
 let
   rustPlatform = recurseIntoAttrs (makeRustPlatform (callPackage ./bootstrap.nix {}));
-  version = "1.24.0";
-  cargoVersion = "0.24.0";
+  version = "1.25.0";
+  cargoVersion = "0.26.0";
   src = fetchurl {
     url = "https://static.rust-lang.org/dist/rustc-${version}-src.tar.gz";
-    sha256 = "17v3jpyky8vkkgai5yd2zr8zl87qpgj6dx99gx27x1sf0kv7d0mv";
+    sha256 = "0baxjr99311lvwdq0s38bipbnj72pn6fgbk6lcq7j555xq53mxpf";
   };
 in rec {
   rustc = callPackage ./rustc.nix {
@@ -20,11 +20,15 @@ in rec {
 
     configureFlags = [ "--release-channel=stable" ];
 
+    # 1. Upstream is not running tests on aarch64:
+    # see https://github.com/rust-lang/rust/issues/49807#issuecomment-380860567
+    # So we do the same.
+    # 2. Tests run out of memory for i686
+    doCheck = !stdenv.isAarch64 && !stdenv.isi686;
+
     patches = [
       ./patches/0001-Disable-fragile-tests-libstd-net-tcp-on-Darwin-Linux.patch
-    ] ++ stdenv.lib.optional stdenv.needsPax ./patches/grsec.patch
-      # https://github.com/rust-lang/rust/issues/45410
-      ++ stdenv.lib.optional stdenv.isAarch64 ./patches/aarch64-disable-test_loading_cosine.patch;
+    ] ++ stdenv.lib.optional stdenv.needsPax ./patches/grsec.patch;
 
   };
 
diff --git a/pkgs/development/compilers/rust/patches/aarch64-disable-test_loading_cosine.patch b/pkgs/development/compilers/rust/patches/aarch64-disable-test_loading_cosine.patch
deleted file mode 100644
index bafab0e9ef7..00000000000
--- a/pkgs/development/compilers/rust/patches/aarch64-disable-test_loading_cosine.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff --git a/src/librustc_metadata/dynamic_lib.rs b/src/librustc_metadata/dynamic_lib.rs
-index 1b42fa0..92256dc 100644
---- a/src/librustc_metadata/dynamic_lib.rs
-+++ b/src/librustc_metadata/dynamic_lib.rs
-@@ -80,6 +80,7 @@ mod tests {
-     use std::mem;
- 
-     #[test]
-+    #[ignore]
-     fn test_loading_cosine() {
-         if cfg!(windows) {
-             return
diff --git a/pkgs/development/compilers/rust/rustc.nix b/pkgs/development/compilers/rust/rustc.nix
index 92b149865fa..19c4a590e45 100644
--- a/pkgs/development/compilers/rust/rustc.nix
+++ b/pkgs/development/compilers/rust/rustc.nix
@@ -1,5 +1,5 @@
 { stdenv, targetPackages
-, fetchurl, fetchgit, fetchzip, file, python2, tzdata, procps
+, fetchurl, fetchgit, fetchzip, file, python2, tzdata, ps
 , llvm, jemalloc, ncurses, darwin, rustPlatform, git, cmake, curl
 , which, libffi, gdb
 , version
@@ -19,8 +19,6 @@ let
   inherit (stdenv.lib) optional optionalString;
   inherit (darwin.apple_sdk.frameworks) Security;
 
-  procps = if stdenv.isDarwin then darwin.ps else args.procps;
-
   llvmShared = llvm.override { enableSharedLibraries = true; };
 
   target = builtins.replaceStrings [" "] [","] (builtins.toString targets);
@@ -55,6 +53,7 @@ stdenv.mkDerivation {
   RUSTFLAGS = "-Ccodegen-units=10";
 
   # We need rust to build rust. If we don't provide it, configure will try to download it.
+  # Reference: https://github.com/rust-lang/rust/blob/master/src/bootstrap/configure.py
   configureFlags = configureFlags
                 ++ [ "--enable-local-rust" "--local-rust-root=${rustPlatform.rust.rustc}" "--enable-rpath" ]
                 ++ [ "--enable-vendor" ]
@@ -64,6 +63,13 @@ stdenv.mkDerivation {
                 ++ optional (targets != []) "--target=${target}"
                 ++ optional (!forceBundledLLVM) "--llvm-root=${llvmShared}";
 
+  # The boostrap.py will generated a Makefile that then executes the build.
+  # The BOOTSTRAP_ARGS used by this Makefile must include all flags to pass
+  # to the bootstrap builder.
+  postConfigure = ''
+    substituteInPlace Makefile --replace 'BOOTSTRAP_ARGS :=' 'BOOTSTRAP_ARGS := --jobs $(NIX_BUILD_CORES)'
+  '';
+
   patches = patches ++ targetPatches;
 
   # the rust build system complains that nix alters the checksums
@@ -102,8 +108,7 @@ stdenv.mkDerivation {
 
     # Useful debugging parameter
     # export VERBOSE=1
-  ''
-  + optionalString stdenv.isDarwin ''
+  '' + optionalString stdenv.isDarwin ''
     # Disable all lldb tests.
     # error: Can't run LLDB test because LLDB's python path is not set
     rm -vr src/test/debuginfo/*
@@ -127,7 +132,7 @@ stdenv.mkDerivation {
 
   # ps is needed for one of the test cases
   nativeBuildInputs =
-    [ file python2 procps rustPlatform.rust.rustc git cmake
+    [ file python2 ps rustPlatform.rust.rustc git cmake
       which libffi
     ]
     # Only needed for the debuginfo tests
diff --git a/pkgs/development/compilers/sbcl/default.nix b/pkgs/development/compilers/sbcl/default.nix
index 8006648a7dc..261a2fb6432 100644
--- a/pkgs/development/compilers/sbcl/default.nix
+++ b/pkgs/development/compilers/sbcl/default.nix
@@ -9,11 +9,11 @@
 
 stdenv.mkDerivation rec {
   name    = "sbcl-${version}";
-  version = "1.4.4";
+  version = "1.4.7";
 
   src = fetchurl {
     url    = "mirror://sourceforge/project/sbcl/sbcl/${version}/${name}-source.tar.bz2";
-    sha256 = "1k6v5b8qv7vyxvh8asx6phf2hbapx5pp5p5j47hgnq123fwnh4fa";
+    sha256 = "1wmxly94pn8527092hyzg5mq58mg7qlc46nm31f268wb2dm67rvm";
   };
 
   patchPhase = ''
diff --git a/pkgs/development/compilers/scala/default.nix b/pkgs/development/compilers/scala/default.nix
index 7622fbb9d18..a25d4f6e654 100644
--- a/pkgs/development/compilers/scala/default.nix
+++ b/pkgs/development/compilers/scala/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, makeWrapper, jre, gnugrep, coreutils }:
 
 stdenv.mkDerivation rec {
-  name = "scala-2.12.4";
+  name = "scala-2.12.6";
 
   src = fetchurl {
     url = "http://www.scala-lang.org/files/archive/${name}.tgz";
-    sha256 = "089a54qj8psh4jxqbrrwk5zahw13fyqq24l87s3031xa675a0m4m";
+    sha256 = "05ili2959yrshqi44wpmwy0dyfm4kvp6i8mlbnj1xvc5b9649iqs";
   };
 
   propagatedBuildInputs = [ jre ] ;
diff --git a/pkgs/development/compilers/sdcc/default.nix b/pkgs/development/compilers/sdcc/default.nix
index 7383f39f6cb..ec93ba79d44 100644
--- a/pkgs/development/compilers/sdcc/default.nix
+++ b/pkgs/development/compilers/sdcc/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, bison, flex, boost, texinfo, gputils ? null }:
 
 stdenv.mkDerivation rec {
-  version = "3.6.0";
+  version = "3.7.0";
   name = "sdcc-${version}";
 
   src = fetchurl {
     url = "mirror://sourceforge/sdcc/sdcc-src-${version}.tar.bz2";
-    sha256 = "0x53gh5yrrfjvlnkk29mjn8hq4v52alrsf7c8nsyzzq13sqwwpg8";
+    sha256 = "13llvx0j3v5qa7qd4fh7nix4j3alpd3ccprxvx163c4q8q4lfkc5";
   };
 
   # TODO: remove this comment when gputils != null is tested
diff --git a/pkgs/development/compilers/solc/default.nix b/pkgs/development/compilers/solc/default.nix
index 4c79fb15c5c..d94ce75e3f5 100644
--- a/pkgs/development/compilers/solc/default.nix
+++ b/pkgs/development/compilers/solc/default.nix
@@ -1,7 +1,9 @@
-{ stdenv, fetchzip, fetchurl, boost, cmake, z3 }:
+{ stdenv, fetchzip, fetchFromGitHub, boost, cmake, z3 }:
 
 let
-  version = "0.4.20";
+  version = "0.4.23";
+  rev = "124ca40dc525a987a88176c6e5170978e82fa290";
+  sha256 = "07l8rfqh95yrdmbxc4pfb77s06k5v65dk3rgdqscqmwchkndrmm0";
   jsoncppURL = https://github.com/open-source-parsers/jsoncpp/archive/1.7.7.tar.gz;
   jsoncpp = fetchzip {
     url = jsoncppURL;
@@ -12,33 +14,45 @@ in
 stdenv.mkDerivation {
   name = "solc-${version}";
 
-  # Cannot use `fetchFromGitHub' because of submodules
-  src = fetchurl {
-    url = "https://github.com/ethereum/solidity/releases/download/v${version}/solidity_${version}.tar.gz";
-    sha256 = "0jyqnykj537ksfsf2m6ww9vganmpa6yd5fmlfpa5qm1076kq7zd6";
+  src = fetchFromGitHub {
+    owner = "ethereum";
+    repo = "solidity";
+    inherit rev sha256;
   };
 
-  patchPhase = ''
+  patches = [
+    ./patches/boost-shared-libs.patch
+    ./patches/shared-libs-install.patch
+  ];
+
+  postPatch = ''
+    touch prerelease.txt
+    echo >commit_hash.txt "${rev}"
     substituteInPlace cmake/jsoncpp.cmake \
-      --replace '${jsoncppURL}' ${jsoncpp}
+      --replace "${jsoncppURL}" ${jsoncpp}
     substituteInPlace cmake/EthCompilerSettings.cmake \
-      --replace 'add_compile_options(-Werror)' ""
+      --replace "add_compile_options(-Werror)" ""
   '';
 
   cmakeFlags = [
     "-DBoost_USE_STATIC_LIBS=OFF"
+    "-DBUILD_SHARED_LIBS=ON"
+    "-DINSTALL_LLLC=ON"
+    "-DTESTS=OFF"
   ];
 
   nativeBuildInputs = [ cmake ];
   buildInputs = [ boost z3 ];
 
-  meta = {
+  outputs = [ "out" "dev" ];
+
+  meta = with stdenv.lib; {
     description = "Compiler for Ethereum smart contract language Solidity";
     longDescription = "This package also includes `lllc', the LLL compiler.";
     homepage = https://github.com/ethereum/solidity;
-    license = stdenv.lib.licenses.gpl3;
-    platforms = with stdenv.lib.platforms; linux ++ darwin;
-    maintainers = [ stdenv.lib.maintainers.dbrock ];
+    license = licenses.gpl3;
+    platforms = with platforms; linux ++ darwin;
+    maintainers = with maintainers; [ dbrock akru ];
     inherit version;
   };
 }
diff --git a/pkgs/development/compilers/solc/patches/boost-shared-libs.patch b/pkgs/development/compilers/solc/patches/boost-shared-libs.patch
new file mode 100644
index 00000000000..499fc46c6ca
--- /dev/null
+++ b/pkgs/development/compilers/solc/patches/boost-shared-libs.patch
@@ -0,0 +1,24 @@
+diff --git a/libsolidity/CMakeLists.txt b/libsolidity/CMakeLists.txt
+index 97b01c83..0bdec4b4 100644
+--- a/libsolidity/CMakeLists.txt
++++ b/libsolidity/CMakeLists.txt
+@@ -28,7 +28,7 @@ else()
+ endif()
+ 
+ add_library(solidity ${sources} ${headers})
+-target_link_libraries(solidity PUBLIC evmasm devcore)
++target_link_libraries(solidity PUBLIC evmasm devcore ${Boost_FILESYSTEM_LIBRARY} ${Boost_SYSTEM_LIBRARY})
+ 
+ if (${Z3_FOUND})
+   target_link_libraries(solidity PUBLIC ${Z3_LIBRARY})
+diff --git a/lllc/CMakeLists.txt b/lllc/CMakeLists.txt
+index 5c480093..d6538ee2 100644
+--- a/lllc/CMakeLists.txt
++++ b/lllc/CMakeLists.txt
+@@ -1,5 +1,5 @@
+ add_executable(lllc main.cpp)
+-target_link_libraries(lllc PRIVATE lll)
++target_link_libraries(lllc PRIVATE lll ${Boost_SYSTEM_LIBRARY})
+ 
+ if (INSTALL_LLLC)
+ 	include(GNUInstallDirs)
diff --git a/pkgs/development/compilers/solc/patches/shared-libs-install.patch b/pkgs/development/compilers/solc/patches/shared-libs-install.patch
new file mode 100644
index 00000000000..732797e5ae7
--- /dev/null
+++ b/pkgs/development/compilers/solc/patches/shared-libs-install.patch
@@ -0,0 +1,64 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 4ac56b43..dacf3853 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -48,6 +48,19 @@ add_subdirectory(libevmasm)
+ add_subdirectory(libsolidity)
+ add_subdirectory(libsolc)
+ 
++install(DIRECTORY libdevcore/
++        DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/libdevcore
++        FILES_MATCHING PATTERN "*.h")
++install(DIRECTORY libevmasm/
++        DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/libevmasm
++        FILES_MATCHING PATTERN "*.h")
++install(DIRECTORY libsolidity/
++        DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/libsolidity
++        FILES_MATCHING PATTERN "*.h")
++install(DIRECTORY liblll/
++        DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/liblll
++        FILES_MATCHING PATTERN "*.h")
++
+ if (NOT EMSCRIPTEN)
+ 	add_subdirectory(solc)
+ 	add_subdirectory(liblll)
+diff --git a/libdevcore/CMakeLists.txt b/libdevcore/CMakeLists.txt
+index fa7e3f48..1f9f52b4 100644
+--- a/libdevcore/CMakeLists.txt
++++ b/libdevcore/CMakeLists.txt
+@@ -6,3 +6,4 @@ target_link_libraries(devcore PRIVATE jsoncpp ${Boost_FILESYSTEM_LIBRARIES} ${Bo
+ target_include_directories(devcore PUBLIC "${CMAKE_SOURCE_DIR}")
+ target_include_directories(devcore SYSTEM PUBLIC ${Boost_INCLUDE_DIRS})
+ add_dependencies(devcore solidity_BuildInfo.h)
++install(TARGETS devcore LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
+diff --git a/libevmasm/CMakeLists.txt b/libevmasm/CMakeLists.txt
+index 86192c1b..e7f15e93 100644
+--- a/libevmasm/CMakeLists.txt
++++ b/libevmasm/CMakeLists.txt
+@@ -3,3 +3,4 @@ file(GLOB headers "*.h")
+ 
+ add_library(evmasm ${sources} ${headers})
+ target_link_libraries(evmasm PUBLIC jsoncpp devcore)
++install(TARGETS evmasm LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
+diff --git a/liblll/CMakeLists.txt b/liblll/CMakeLists.txt
+index 4cdc073a..b61f03c7 100644
+--- a/liblll/CMakeLists.txt
++++ b/liblll/CMakeLists.txt
+@@ -3,3 +3,4 @@ file(GLOB headers "*.h")
+ 
+ add_library(lll ${sources} ${headers})
+ target_link_libraries(lll PUBLIC evmasm devcore)
++install(TARGETS lll LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
+diff --git a/libsolidity/CMakeLists.txt b/libsolidity/CMakeLists.txt
+index 97b01c83..e876177e 100644
+--- a/libsolidity/CMakeLists.txt
++++ b/libsolidity/CMakeLists.txt
+@@ -28,7 +28,8 @@ else()
+ endif()
+ 
+ add_library(solidity ${sources} ${headers})
+ target_link_libraries(solidity PUBLIC evmasm devcore ${Boost_FILESYSTEM_LIBRARY} ${Boost_SYSTEM_LIBRARY})
++install(TARGETS solidity LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
+ 
+ if (${Z3_FOUND})
+   target_link_libraries(solidity PUBLIC ${Z3_LIBRARY})
diff --git a/pkgs/development/compilers/souffle/default.nix b/pkgs/development/compilers/souffle/default.nix
index c56ea8cc649..099a591b407 100644
--- a/pkgs/development/compilers/souffle/default.nix
+++ b/pkgs/development/compilers/souffle/default.nix
@@ -1,25 +1,28 @@
-{ stdenv, fetchFromGitHub, autoconf, automake, boost, bison, flex, openjdk, doxygen, perl, graphviz }:
+{ stdenv, fetchFromGitHub
+, boost, bison, flex, openjdk, doxygen
+, perl, graphviz, libtool, ncurses, zlib, sqlite
+, autoreconfHook }:
 
 stdenv.mkDerivation rec {
-  version = "1.0.0";
+  version = "1.2.0";
   name    = "souffle-${version}";
 
   src = fetchFromGitHub {
     owner  = "souffle-lang";
     repo   = "souffle";
     rev    = version;
-    sha256 = "13j14227dgxcm25z9iizcav563wg2ak9338pb03aqqz8yqxbmz4n";
+    sha256 = "1g8yvm40h102mab8lacpl1cwgqsw1js0s1yn4l84l9fjdvlh2ygd";
   };
 
+  nativeBuildInputs = [ autoreconfHook bison flex ];
+
   buildInputs = [
-    autoconf automake boost bison flex openjdk
-    # Used for docs
-    doxygen perl graphviz
+    boost openjdk ncurses zlib sqlite doxygen perl graphviz
   ];
 
   patchPhase = ''
     substituteInPlace configure.ac \
-      --replace "m4_esyscmd([git describe --tags --abbrev=0 | tr -d '\n'])" "${version}"
+      --replace "m4_esyscmd([git describe --tags --abbrev=0 --always | tr -d '\n'])" "${version}"
   '';
 
   # Without this, we get an obscure error about not being able to find a library version
@@ -27,19 +30,11 @@ stdenv.mkDerivation rec {
   # for boost and failing there, so we tell it what's what here.
   configureFlags = [ "--with-boost-libdir=${boost}/lib" ];
 
-  preConfigure = "./bootstrap";
-
-  # in 1.0.0: parser.hh:40:0: error: unterminated #ifndef
-  enableParallelBuilding = false;
-
-  # See https://github.com/souffle-lang/souffle/issues/176
-  hardeningDisable = [ "fortify" ];
-
   meta = with stdenv.lib; {
     description = "A translator of declarative Datalog programs into the C++ language";
     homepage    = "http://souffle-lang.github.io/";
     platforms   = platforms.unix;
-    maintainers = with maintainers; [ copumpkin ];
+    maintainers = with maintainers; [ copumpkin wchresta ];
     license     = licenses.upl;
   };
 }
diff --git a/pkgs/development/compilers/swi-prolog/default.nix b/pkgs/development/compilers/swi-prolog/default.nix
index 0f84b8ba4cd..670a00e250f 100644
--- a/pkgs/development/compilers/swi-prolog/default.nix
+++ b/pkgs/development/compilers/swi-prolog/default.nix
@@ -1,20 +1,20 @@
-{ stdenv, fetchurl, gmp, readline, openssl, libjpeg, unixODBC, zlib
+{ stdenv, fetchurl, jdk, gmp, readline, openssl, libjpeg, unixODBC, zlib
 , libXinerama, libXft, libXpm, libSM, libXt, freetype, pkgconfig
 , fontconfig, makeWrapper ? stdenv.isDarwin
 }:
 
 let
-  version = "7.4.2";
+  version = "7.6.4";
 in
 stdenv.mkDerivation {
   name = "swi-prolog-${version}";
 
   src = fetchurl {
     url = "http://www.swi-prolog.org/download/stable/src/swipl-${version}.tar.gz";
-    sha256 = "12yzy3w2l1p9fv77lv20xbqq47d0zjw5rkz96mx1xg1lldyja5vz";
+    sha256 = "14bq4sqs61maqpnmgy6687jjj0shwc27cpfsqbf056nrssmplg9d";
   };
 
-  buildInputs = [ gmp readline openssl libjpeg unixODBC libXinerama
+  buildInputs = [ jdk gmp readline openssl libjpeg unixODBC libXinerama
     libXft libXpm libSM libXt zlib freetype pkgconfig fontconfig ]
   ++ stdenv.lib.optional stdenv.isDarwin makeWrapper;
 
diff --git a/pkgs/development/compilers/swift/default.nix b/pkgs/development/compilers/swift/default.nix
index fc142a4026b..abbfdd2abb7 100644
--- a/pkgs/development/compilers/swift/default.nix
+++ b/pkgs/development/compilers/swift/default.nix
@@ -37,7 +37,7 @@
 }:
 
 let
-  v_major = "4.0.3";
+  v_major = "4.1";
   version = "${v_major}-RELEASE";
   version_friendly = "${v_major}";
 
@@ -55,15 +55,15 @@ let
     # For more inforation, see: https://github.com/apple/swift/pull/3594#issuecomment-234169759
     clang = fetch {
       repo = "swift-clang";
-      sha256 = "0zm624iwiprk3c3nzqf4p1fd9zqic4yi3jv51cw3249ax4x6vy10";
+      sha256 = "0j8bi6jv4m4hqiib02q5cvnxd9j6bwiri853x6px86vai3mdff0h";
     };
     llvm = fetch {
       repo = "swift-llvm";
-      sha256 = "11vw6461c0cdvwm1wna1a5709fjj14hzp6br6jg94p4f6jp3yv4d";
+      sha256 = "03558f5zbchqvdabi3x9ahyz4xkmj7w69gazivz372832lgr9zfh";
     };
     compilerrt = fetch {
       repo = "swift-compiler-rt";
-      sha256 = "1hj4qaj4c9n2wzg2cvarbyl0n708zd1dlw4zkzq07fjxxqs36nfa";
+      sha256 = "1wkymmxi2v759xkwlzfrq9rivndjfvp6ikrzz10mvvrvyvrgwqnl";
     };
     cmark = fetch {
       repo = "swift-cmark";
@@ -71,32 +71,32 @@ let
     };
     lldb = fetch {
       repo = "swift-lldb";
-      sha256 = "0yk5qg85008vcn63vn2jpn5ls9pdhda222p2w1cfkrj27k5k8vqr";
+      sha256 = "09x3d3bc6rn9g6jpi3fb120c4r2carsmqla4bq4scjrs0867jz9m";
     };
     llbuild = fetch {
       repo = "swift-llbuild";
-      sha256 = "0jffw6z1s6ck1i05brw59x6vsg7zrxbz5n2wz72fj29rh3nppc7a";
+      sha256 = "04y0ihfyam2n671vmpk9gy0gb9lb3ivh6mr19862p5kg5bmrcic1";
     };
     pm = fetch {
       repo = "swift-package-manager";
-      sha256 = "0xj070b8fii7ijfsnyq4fxgv6569vdrg0yippi85h2p1l7s9aagh";
+      sha256 = "08d87fc29qq7m92jaxkiczsa7b567pwbibiwwkzdrj6a0gr11qn3";
     };
     xctest = fetch {
       repo = "swift-corelibs-xctest";
-      sha256 = "0l355wq8zfwrpv044xf4smjwbm0bmib360748n8cwls3vkr9l2yv";
+      sha256 = "1alkgxx8jsr2jjv2kchnjaaddb1byjwim015m1z3qxh6lknqm0k5";
     };
     foundation = fetch {
       repo = "swift-corelibs-foundation";
-      sha256 = "0s7yc5gsbd96a4bs8c6q24dyfjm4xhcr2nzhl2ics8dmi60j15s4";
+      sha256 = "06pbhb7wg4q5qgprhiyzbqy6hssga7xxjclhlh81gd6rvfd6bxvw";
     };
     libdispatch = fetch {
       repo = "swift-corelibs-libdispatch";
-      sha256 = "0x8zzq3shhvmhq4sbhaaa0ddiv3nw347pz6ayym6jyzq7j9n15ia";
+      sha256 = "198vskbajch8s168a649qz5an92i2mxmmmzcjlgxlzh38fgxri0n";
       fetchSubmodules = true;
     };
     swift = fetch {
       repo = "swift";
-      sha256 = "0a1gq0k5701i418f0qi7kywv16q7vh4a4wp0f6fpyv4sjkq27msx";
+      sha256 = "1flvr12bg8m4k44yq0xy9qrllv5rpxgxisjgbpakk5p3myfsx7ky";
     };
   };
 
@@ -132,19 +132,6 @@ let
       install_destdir=$SWIFT_INSTALL_DIR \
       extra_cmake_options="${stdenv.lib.concatStringsSep "," cmakeFlags}"'';
 
-  # from llvm/4/llvm.nix
-  sigaltstackPatch = fetchpatch {
-    name = "sigaltstack.patch"; # for glibc-2.26
-    url = https://github.com/llvm-mirror/compiler-rt/commit/8a5e425a68d.diff;
-    sha256 = "0h4y5vl74qaa7dl54b1fcyqalvlpd8zban2d1jxfkxpzyi7m8ifi";
-  };
-
-  # https://bugs.swift.org/browse/SR-6409
-  sigunusedPatch = fetchpatch {
-    name = "sigunused.patch";
-    url = "https://github.com/apple/swift-llbuild/commit/303a89bc6da606c115560921a452686aa0655f5e.diff";
-    sha256 = "04sw7ym1grzggj1v3xrzr2ljxz8rf9rnn9n5fg1xjbwlrdagkc7m";
-  };
 in
 stdenv.mkDerivation rec {
   name = "swift-${version_friendly}";
@@ -179,7 +166,7 @@ stdenv.mkDerivation rec {
 
   configurePhase = ''
     cd ..
-    
+
     export INSTALLABLE_PACKAGE=$PWD/swift.tar.gz
 
     mkdir build install
@@ -236,20 +223,18 @@ stdenv.mkDerivation rec {
   '' + ''
     patch -p1 -d swift -i ${./patches/0001-build-presets-linux-don-t-require-using-Ninja.patch}
     patch -p1 -d swift -i ${./patches/0002-build-presets-linux-allow-custom-install-prefix.patch}
-    patch -p1 -d swift -i ${./patches/0003-build-presets-linux-disable-tests.patch}
     patch -p1 -d swift -i ${./patches/0004-build-presets-linux-plumb-extra-cmake-options.patch}
-    # https://sourceware.org/glibc/wiki/Release/2.26#Removal_of_.27xlocale.h.27
-    patch -p1 -i ${./patches/remove_xlocale.patch}
-    # https://bugs.swift.org/browse/SR-4633
-    patch -p1 -d swift -i ${./patches/icu59.patch}
+
+    sed -i swift/utils/build-presets.ini \
+      -e 's/^test-installable-package$/# \0/' \
+      -e 's/^test$/# \0/' \
+      -e 's/^validation-test$/# \0/' \
+      -e 's/^long-test$/# \0/'
 
     # https://bugs.swift.org/browse/SR-5779
     sed -i -e 's|"-latomic"|"-Wl,-rpath,${clang.cc.gcc.lib}/lib" "-L${clang.cc.gcc.lib}/lib" "-latomic"|' swift/cmake/modules/AddSwift.cmake
 
-    # https://bugs.swift.org/browse/SR-4838
-    sed -i -e '30i#include <functional>' lldb/include/lldb/Utility/TaskPool.h
-
-    substituteInPlace clang/lib/Driver/ToolChains.cpp \
+    substituteInPlace clang/lib/Driver/ToolChains/Linux.cpp \
       --replace '  addPathIfExists(D, SysRoot + "/usr/lib", Paths);' \
                 '  addPathIfExists(D, SysRoot + "/usr/lib", Paths); addPathIfExists(D, "${glibc}/lib", Paths);'
     patch -p1 -d clang -i ${./purity.patch}
@@ -258,19 +243,15 @@ stdenv.mkDerivation rec {
     sed -i 's,curses,ncurses,' llbuild/*/*/CMakeLists.txt
 
     # This test fails on one of my machines, not sure why.
-    # Disabling for now. 
+    # Disabling for now.
     rm llbuild/tests/Examples/buildsystem-capi.llbuild
 
     PREFIX=''${out/#\/}
     substituteInPlace swift-corelibs-xctest/build_script.py \
       --replace usr "$PREFIX"
     substituteInPlace swiftpm/Utilities/bootstrap \
-      --replace "usr" "$PREFIX"
-  '' + stdenv.lib.optionalString (stdenv ? glibc) ''
-    patch -p1 -d compiler-rt -i ${sigaltstackPatch}
-    patch -p1 -d compiler-rt -i ${./patches/sigaltstack.patch}
-    patch -p1 -d llbuild -i ${sigunusedPatch}
-    patch -p1 -i ${./patches/sigunused.patch}
+      --replace \"usr\" \"$PREFIX\" \
+      --replace usr/lib "$PREFIX/lib"
   '';
 
   doCheck = false;
@@ -305,7 +286,8 @@ stdenv.mkDerivation rec {
     maintainers = with maintainers; [ dtzWill ];
     license = licenses.asl20;
     # Swift doesn't support 32bit Linux, unknown on other platforms.
-    platforms = [ "x86_64-linux" ];
+    platforms = platforms.linux;
+    badPlatforms = platforms.i686;
   };
 }
 
diff --git a/pkgs/development/compilers/swift/patches/0003-build-presets-linux-disable-tests.patch b/pkgs/development/compilers/swift/patches/0003-build-presets-linux-disable-tests.patch
deleted file mode 100644
index f647d9189dd..00000000000
--- a/pkgs/development/compilers/swift/patches/0003-build-presets-linux-disable-tests.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-From fcc7c216da6cd255f884b7aa39f361786e3afa6a Mon Sep 17 00:00:00 2001
-From: Will Dietz <w@wdtz.org>
-Date: Tue, 28 Mar 2017 15:02:18 -0500
-Subject: [PATCH 3/4] build-presets: (linux) disable tests.
-
----
- utils/build-presets.ini | 8 ++++----
- 1 file changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/utils/build-presets.ini b/utils/build-presets.ini
-index 1095cbaab7..1739e91dc2 100644
---- a/utils/build-presets.ini
-+++ b/utils/build-presets.ini
-@@ -700,7 +700,7 @@ build-swift-stdlib-unittest-extra
- 
- # Executes the lit tests for the installable package that is created
- # Assumes the swift-integration-tests repo is checked out
--test-installable-package
-+# test-installable-package
- 
- # Path to the root of the installation filesystem.
- install-destdir=%(install_destdir)s
-@@ -713,9 +713,9 @@ mixin-preset=mixin_linux_installation
- build-subdir=buildbot_linux
- lldb
- release
--test
--validation-test
--long-test
-+#test
-+#validation-test
-+#long-test
- foundation
- libdispatch
- lit-args=-v
--- 
-2.12.2
-
diff --git a/pkgs/development/compilers/swift/patches/icu59.patch b/pkgs/development/compilers/swift/patches/icu59.patch
deleted file mode 100644
index 26337814caf..00000000000
--- a/pkgs/development/compilers/swift/patches/icu59.patch
+++ /dev/null
@@ -1,113 +0,0 @@
---- a/stdlib/public/stubs/UnicodeNormalization.cpp
-+++ b/stdlib/public/stubs/UnicodeNormalization.cpp
-@@ -86,11 +86,8 @@ ASCIICollation() {
-     for (unsigned char c = 0; c < 128; ++c) {
-       UErrorCode ErrorCode = U_ZERO_ERROR;
-       intptr_t NumCollationElts = 0;
--#if defined(__CYGWIN__) || defined(_MSC_VER)
-       UChar Buffer[1];
--#else
--      uint16_t Buffer[1];
--#endif
-+
-       Buffer[0] = c;
- 
-       UCollationElements *CollationIterator =
-@@ -127,18 +124,9 @@ swift::_swift_stdlib_unicode_compare_utf16_utf16(const uint16_t *LeftString,
-                                                  int32_t LeftLength,
-                                                  const uint16_t *RightString,
-                                                  int32_t RightLength) {
--#if defined(__CYGWIN__) || defined(_MSC_VER)
--  // ICU UChar type is platform dependent. In Cygwin, it is defined
--  // as wchar_t which size is 2. It seems that the underlying binary
--  // representation is same with swift utf16 representation.
-   return ucol_strcoll(GetRootCollator(),
-     reinterpret_cast<const UChar *>(LeftString), LeftLength,
-     reinterpret_cast<const UChar *>(RightString), RightLength);
--#else
--  return ucol_strcoll(GetRootCollator(),
--    LeftString, LeftLength,
--    RightString, RightLength);
--#endif
- }
- 
- /// Compares the strings via the Unicode Collation Algorithm on the root locale.
-@@ -156,12 +144,8 @@ swift::_swift_stdlib_unicode_compare_utf8_utf16(const unsigned char *LeftString,
-   UErrorCode ErrorCode = U_ZERO_ERROR;
- 
-   uiter_setUTF8(&LeftIterator, reinterpret_cast<const char *>(LeftString), LeftLength);
--#if defined(__CYGWIN__) || defined(_MSC_VER)
-   uiter_setString(&RightIterator, reinterpret_cast<const UChar *>(RightString),
-                   RightLength);
--#else
--  uiter_setString(&RightIterator, RightString, RightLength);
--#endif
- 
-   uint32_t Diff = ucol_strcollIter(GetRootCollator(),
-     &LeftIterator, &RightIterator, &ErrorCode);
-@@ -199,14 +183,10 @@ swift::_swift_stdlib_unicode_compare_utf8_utf8(const unsigned char *LeftString,
- void *swift::_swift_stdlib_unicodeCollationIterator_create(
-     const __swift_uint16_t *Str, __swift_uint32_t Length) {
-   UErrorCode ErrorCode = U_ZERO_ERROR;
--#if defined(__CYGWIN__) || defined(_MSC_VER)
-   UCollationElements *CollationIterator = ucol_openElements(
-     GetRootCollator(), reinterpret_cast<const UChar *>(Str), Length,
-     &ErrorCode);
--#else
--  UCollationElements *CollationIterator = ucol_openElements(
--    GetRootCollator(), Str, Length, &ErrorCode);
--#endif
-+
-   if (U_FAILURE(ErrorCode)) {
-     swift::crash("_swift_stdlib_unicodeCollationIterator_create: ucol_openElements() failed.");
-   }
-@@ -244,17 +224,12 @@ swift::_swift_stdlib_unicode_strToUpper(uint16_t *Destination,
-                                         const uint16_t *Source,
-                                         int32_t SourceLength) {
-   UErrorCode ErrorCode = U_ZERO_ERROR;
--#if defined(__CYGWIN__) || defined(_MSC_VER)
-   uint32_t OutputLength = u_strToUpper(reinterpret_cast<UChar *>(Destination),
-                                        DestinationCapacity,
-                                        reinterpret_cast<const UChar *>(Source),
-                                        SourceLength,
-                                        "", &ErrorCode);
--#else
--  uint32_t OutputLength = u_strToUpper(Destination, DestinationCapacity,
--                                       Source, SourceLength,
--                                       "", &ErrorCode);
--#endif
-+
-   if (U_FAILURE(ErrorCode) && ErrorCode != U_BUFFER_OVERFLOW_ERROR) {
-     swift::crash("u_strToUpper: Unexpected error uppercasing unicode string.");
-   }
-@@ -271,17 +246,12 @@ swift::_swift_stdlib_unicode_strToLower(uint16_t *Destination,
-                                         const uint16_t *Source,
-                                         int32_t SourceLength) {
-   UErrorCode ErrorCode = U_ZERO_ERROR;
--#if defined(__CYGWIN__) || defined(_MSC_VER)
-   uint32_t OutputLength = u_strToLower(reinterpret_cast<UChar *>(Destination),
-                                        DestinationCapacity,
-                                        reinterpret_cast<const UChar *>(Source),
-                                        SourceLength,
-                                        "", &ErrorCode);
--#else
--  uint32_t OutputLength = u_strToLower(Destination, DestinationCapacity,
--                                       Source, SourceLength,
--                                       "", &ErrorCode);
--#endif
-+
-   if (U_FAILURE(ErrorCode) && ErrorCode != U_BUFFER_OVERFLOW_ERROR) {
-     swift::crash("u_strToLower: Unexpected error lowercasing unicode string.");
-   }
-@@ -300,9 +300,9 @@
- 
- swift::__swift_stdlib_UBreakIterator *swift::__swift_stdlib_ubrk_open(
-     swift::__swift_stdlib_UBreakIteratorType type, const char *locale,
--    const UChar *text, int32_t textLength, __swift_stdlib_UErrorCode *status) {
-+    const __swift_stdlib_UChar * text, __swift_int32_t textLength, __swift_stdlib_UErrorCode *status) {
-   return ptr_cast<swift::__swift_stdlib_UBreakIterator>(
--      ubrk_open(static_cast<UBreakIteratorType>(type), locale, text, textLength,
-+      ubrk_open(static_cast<UBreakIteratorType>(type), locale, reinterpret_cast<const UChar *>(text), textLength,
-                 ptr_cast<UErrorCode>(status)));
- }
- 
diff --git a/pkgs/development/compilers/swift/patches/remove_xlocale.patch b/pkgs/development/compilers/swift/patches/remove_xlocale.patch
deleted file mode 100644
index 8ef7e391696..00000000000
--- a/pkgs/development/compilers/swift/patches/remove_xlocale.patch
+++ /dev/null
@@ -1,54 +0,0 @@
---- a/swift/stdlib/public/SDK/os/os_trace_blob.c
-+++ b/swift/stdlib/public/SDK/os/os_trace_blob.c
-@@ -14,7 +14,6 @@
- #include <dispatch/dispatch.h>
- #include <os/base.h>
- #include <os/log.h>
--#include <xlocale.h>
- #include "os_trace_blob.h"
- 
- OS_NOINLINE
-
---- a/swift/stdlib/public/stubs/Stubs.cpp
-+++ b/swift/stdlib/public/stubs/Stubs.cpp
-@@ -61,7 +61,6 @@
- #define strtof_l swift_strtof_l
- #define strtold_l swift_strtold_l
- #else
--#include <xlocale.h>
- #endif
- #include <limits>
- #include "llvm/ADT/StringExtras.h"
-
---- a/swift-corelibs-foundation/CoreFoundation/String.subproj/CFStringDefaultEncoding.h
-+++ b/swift-corelibs-foundation/CoreFoundation/String.subproj/CFStringDefaultEncoding.h
-@@ -20,7 +20,6 @@
- #include <unistd.h>
- #include <string.h>
- #include <stdio.h>
--#include <xlocale.h>
- 
- CF_EXTERN_C_BEGIN
- 
-
---- a/swift-corelibs-foundation/CoreFoundation/String.subproj/CFStringEncodings.c
-+++ b/swift-corelibs-foundation/CoreFoundation/String.subproj/CFStringEncodings.c
-@@ -24,7 +24,6 @@
- #include <unistd.h>
- #include <string.h>
- #include <stdio.h>
--#include <xlocale.h>
- #include <CoreFoundation/CFStringDefaultEncoding.h>
- #endif
- 
-
---- a/swift-corelibs-foundation/CoreFoundation/Base.subproj/CFInternal.h
-+++ b/swift-corelibs-foundation/CoreFoundation/Base.subproj/CFInternal.h
-@@ -95,7 +95,6 @@
- #if DEPLOYMENT_TARGET_MACOSX || DEPLOYMENT_TARGET_EMBEDDED || DEPLOYMENT_TARGET_EMBEDDED_MINI || DEPLOYMENT_TARGET_LINUX || DEPLOYMENT_TARGET_FREEBSD
- #if TARGET_OS_CYGWIN
- #else
--#include <xlocale.h>
- #endif
- #include <unistd.h>
- #include <sys/time.h>
diff --git a/pkgs/development/compilers/swift/patches/sigaltstack.patch b/pkgs/development/compilers/swift/patches/sigaltstack.patch
deleted file mode 100644
index c529fa3777b..00000000000
--- a/pkgs/development/compilers/swift/patches/sigaltstack.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/lib/esan/esan_sideline_linux.cpp
-+++ b/lib/esan/esan_sideline_linux.cpp
-@@ -70,7 +70,7 @@ int SidelineThread::runSideline(void *Arg) {
- 
-   // Set up a signal handler on an alternate stack for safety.
-   InternalScopedBuffer<char> StackMap(SigAltStackSize);
--  struct sigaltstack SigAltStack;
-+  stack_t SigAltStack;
-   SigAltStack.ss_sp = StackMap.data();
-   SigAltStack.ss_size = SigAltStackSize;
-   SigAltStack.ss_flags = 0;
diff --git a/pkgs/development/compilers/swift/patches/sigunused.patch b/pkgs/development/compilers/swift/patches/sigunused.patch
deleted file mode 100644
index 2701d1a3ae2..00000000000
--- a/pkgs/development/compilers/swift/patches/sigunused.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/swiftpm/Sources/Basic/Process.swift
-+++ b/swiftpm/Sources/Basic/Process.swift
-@@ -258,7 +258,7 @@ public func launch() throws {
-         // modify, so we have to take care about the set we use.
-         var mostSignals = sigset_t()
-         sigemptyset(&mostSignals)
--        for i in 1 ..< SIGUNUSED {
-+        for i in 1 ..< SIGSYS {
-             if i == SIGKILL || i == SIGSTOP {
-                 continue
-             }
diff --git a/pkgs/development/compilers/swift/purity.patch b/pkgs/development/compilers/swift/purity.patch
index f5fb4c73af4..b30d0d0b5d5 100644
--- a/pkgs/development/compilers/swift/purity.patch
+++ b/pkgs/development/compilers/swift/purity.patch
@@ -1,6 +1,17 @@
---- a/lib/Driver/Tools.cpp	2016-08-25 15:48:05.187553443 +0200
-+++ b/lib/Driver/Tools.cpp	2016-08-25 15:48:47.534468882 +0200
-@@ -9420,13 +9420,6 @@
+From 4add81bba40dcec62c4ea4481be8e35ac53e89d8 Mon Sep 17 00:00:00 2001
+From: Will Dietz <w@wdtz.org>
+Date: Thu, 18 May 2017 11:56:12 -0500
+Subject: [PATCH] "purity" patch for 5.0
+
+---
+ lib/Driver/ToolChains/Gnu.cpp | 7 -------
+ 1 file changed, 7 deletions(-)
+
+diff --git a/lib/Driver/ToolChains/Gnu.cpp b/lib/Driver/ToolChains/Gnu.cpp
+index fe3c0191bb..c6a482bece 100644
+--- a/lib/Driver/ToolChains/Gnu.cpp
++++ b/lib/Driver/ToolChains/Gnu.cpp
+@@ -494,13 +494,6 @@ void tools::gnutools::Linker::ConstructJob(Compilation &C, const JobAction &JA,
    if (!Args.hasArg(options::OPT_static)) {
      if (Args.hasArg(options::OPT_rdynamic))
        CmdArgs.push_back("-export-dynamic");
@@ -14,3 +25,6 @@
    }
  
    CmdArgs.push_back("-o");
+-- 
+2.11.0
+
diff --git a/pkgs/development/compilers/teyjus/default.nix b/pkgs/development/compilers/teyjus/default.nix
index 222a22bf1cd..04efe1a9134 100644
--- a/pkgs/development/compilers/teyjus/default.nix
+++ b/pkgs/development/compilers/teyjus/default.nix
@@ -1,11 +1,15 @@
 { stdenv, fetchurl, omake, ocaml, flex, bison }:
 
+let
+  version = "2.1";
+in
+
 stdenv.mkDerivation {
-  name = "teyjus-2.0b2";
+  name = "teyjus-${version}";
 
   src = fetchurl {
-    url = "https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/teyjus/teyjus-source-2.0-b2.tar.gz";
-    sha256 = "f589fb460d7095a6e674b7a6413772c41b98654c38602c3e8c477a976da99052";
+    url = "https://github.com/teyjus/teyjus/archive/v${version}.tar.gz";
+    sha256 = "0393wpg8v1vvarqy2xh4fdmrwlrl6jaj960kql7cq79mb9p3m269";
   };
 
   patches = [ ./fix-lex-to-flex.patch ];
diff --git a/pkgs/development/compilers/teyjus/fix-lex-to-flex.patch b/pkgs/development/compilers/teyjus/fix-lex-to-flex.patch
index d2da1d3facc..fa82d80633a 100644
--- a/pkgs/development/compilers/teyjus/fix-lex-to-flex.patch
+++ b/pkgs/development/compilers/teyjus/fix-lex-to-flex.patch
@@ -1,9 +1,9 @@
 diff --git a/source/OMakefile b/source/OMakefile
-index 6b19d84..095b8b6 100644
+index e6bd37e..1bbc0a8 100644
 --- a/source/OMakefile
 +++ b/source/OMakefile
-@@ -164,12 +164,17 @@ LNK_MAIN = $(FNT)/linkerfront
- DEP_MAIN = $(FNT)/dependfront

+@@ -184,6 +184,12 @@ DEP_MAIN = $(FNT)/dependfront
+ PAR_MAIN = $(FNT)/parsefront

  

  ############################################################

 +# Nixpkgs specific changes

@@ -15,9 +15,11 @@ index 6b19d84..095b8b6 100644
  # Platform specific changes

  #

  

+@@ -194,7 +200,6 @@ if $(mem $(SYSNAME), Linux)
+ 

  if $(mem $(OSTYPE), Cygwin Win32)

      YACC = bison -by

 -    LEX = flex

-     CFLAGS += -mno-cygwin

+     CC = i686-pc-mingw32-gcc

      INC_C[] += $(INC)/byteswap $(INC)/search

      export

diff --git a/pkgs/development/compilers/vala/default.nix b/pkgs/development/compilers/vala/default.nix
index f42cdcabae3..f36bea42e2a 100644
--- a/pkgs/development/compilers/vala/default.nix
+++ b/pkgs/development/compilers/vala/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, pkgconfig, flex, bison, libxslt, autoconf, graphviz
-, glib, libiconv, libintlOrEmpty, libtool, expat
+, glib, libiconv, libintl, libtool, expat
 }:
 
 let
@@ -16,14 +16,14 @@ let
 
     nativeBuildInputs = [ pkgconfig flex bison libxslt ] ++ extraNativeBuildInputs;
 
-    buildInputs = [ glib libiconv ] ++ libintlOrEmpty ++ extraBuildInputs;
+    buildInputs = [ glib libiconv libintl ] ++ extraBuildInputs;
 
     meta = with stdenv.lib; {
       description = "Compiler for GObject type system";
-      homepage = http://live.gnome.org/Vala;
+      homepage = https://wiki.gnome.org/Projects/Vala;
       license = licenses.lgpl21Plus;
       platforms = platforms.unix;
-      maintainers = with maintainers; [ antono lethalman peterhoeg ];
+      maintainers = with maintainers; [ antono jtojnar lethalman peterhoeg ];
     };
   };
 
@@ -55,14 +55,14 @@ in rec {
 
   vala_0_34 = generic {
     major   = "0.34";
-    minor   = "13";
-    sha256  = "0ahbnhgwhhjkndmbr1d039ws0g2bb324c60fk6wgx7py5wvmgcd2";
+    minor   = "17";
+    sha256  = "0wd2zxww4z1ys4iqz218lvzjqjjqwsaad4x2by8pcyy43sbr7qp2";
   };
 
   vala_0_36 = generic {
     major   = "0.36";
-    minor   = "8";
-    sha256  = "1nz5a8kcb22ss9idb7k1higwpvghd617xwf40fi0a9ggws614lfz";
+    minor   = "12";
+    sha256  = "1nvw721piwdh15bipg0sdll9kvgpz0y9i5fpszlc7y9w64yis25l";
   };
 
   vala_0_38 = generic {
@@ -73,5 +73,13 @@ in rec {
     extraBuildInputs = [ graphviz ];
   };
 
+  vala_0_40 = generic {
+    major   = "0.40";
+    minor   = "0";
+    sha256  = "0wcfljl55a9qvslfcc4sf76wdpwgn83n96b7fgb7r49ib35qz20m";
+    extraNativeBuildInputs = stdenv.lib.optionals stdenv.isDarwin [ expat ];
+    extraBuildInputs = [ graphviz ];
+  };
+
   vala = vala_0_38;
 }
diff --git a/pkgs/development/compilers/yosys/default.nix b/pkgs/development/compilers/yosys/default.nix
index 063fd71c043..4bd5640c854 100644
--- a/pkgs/development/compilers/yosys/default.nix
+++ b/pkgs/development/compilers/yosys/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, fetchFromBitbucket
+{ stdenv, fetchFromGitHub
 , pkgconfig, tcl, readline, libffi, python3, bison, flex
 }:
 
@@ -6,25 +6,25 @@ with builtins;
 
 stdenv.mkDerivation rec {
   name = "yosys-${version}";
-  version = "2018.02.14";
+  version = "2018.05.03";
 
   srcs = [
     (fetchFromGitHub {
       owner  = "yosyshq";
       repo   = "yosys";
-      rev    = "c1abd3b02cab235334342f3520e2535eb74c5792";
-      sha256 = "0pzrplv4p0qzy115rg19lxv4w274iby337zfd7hhlinnpx3gzqvw";
+      rev    = "a572b495387743a58111e7264917a497faa17ebf";
+      sha256 = "0q4xh4sy3n83c8il8lygzv0i6ca4qw36i2k6qz6giw0wd2pkibkb";
       name   = "yosys";
     })
 
     # NOTE: the version of abc used here is synchronized with
     # the one in the yosys Makefile of the version above;
     # keep them the same for quality purposes.
-    (fetchFromBitbucket {
-      owner  = "alanmi";
+    (fetchFromGitHub {
+      owner  = "berkeley-abc";
       repo   = "abc";
-      rev    = "6e3c24b3308a";
-      sha256 = "1i4wv0si4fb6dpv2yrpkp588mdlfrnx2s02q2fgra5apdm54c53w";
+      rev    = "f23ea8e33f6d5cc54f58bec6d9200483e5d8c704";
+      sha256 = "1xwmq3k5hfavdrs7zbqjxh35kr2pis4i6hhzrq7qzyzs0az0hls9";
       name   = "yosys-abc";
     })
   ];
@@ -35,14 +35,18 @@ stdenv.mkDerivation rec {
   buildInputs = [ tcl readline libffi python3 bison flex ];
 
   patchPhase = ''
+    substituteInPlace ../yosys-abc/Makefile \
+      --replace 'CC   := gcc' ""
     substituteInPlace ./Makefile \
+      --replace 'CXX = clang' "" \
+      --replace 'ABCMKARGS = CC="$(CXX)"' 'ABCMKARGS =' \
       --replace 'echo UNKNOWN' 'echo ${substring 0 10 (elemAt srcs 0).rev}'
   '';
 
   preBuild = ''
     chmod -R u+w ../yosys-abc
     ln -s ../yosys-abc abc
-    make config-gcc
+    make config-${if stdenv.cc.isClang or false then "clang" else "gcc"}
     echo 'ABCREV := default' >> Makefile.conf
     makeFlags="PREFIX=$out $makeFlags"
   '';
@@ -61,6 +65,6 @@ stdenv.mkDerivation rec {
     homepage    = http://www.clifford.at/yosys/;
     license     = stdenv.lib.licenses.isc;
     maintainers = with stdenv.lib.maintainers; [ shell thoughtpolice ];
-    platforms   = stdenv.lib.platforms.linux;
+    platforms   = stdenv.lib.platforms.unix;
   };
 }
diff --git a/pkgs/development/compilers/zig/default.nix b/pkgs/development/compilers/zig/default.nix
index cffc683f9e7..44d1f7bfe4a 100644
--- a/pkgs/development/compilers/zig/default.nix
+++ b/pkgs/development/compilers/zig/default.nix
@@ -1,17 +1,18 @@
-{ stdenv, fetchFromGitHub, cmake, llvmPackages }:
+{ stdenv, fetchFromGitHub, cmake, llvmPackages, libxml2 }:
 
 stdenv.mkDerivation rec {
-  version = "0.1.1";
+  version = "0.2.0";
   name = "zig-${version}";
 
   src = fetchFromGitHub {
     owner = "zig-lang";
     repo = "zig";
     rev = "${version}";
-    sha256 = "01yqjyi25f99bfmxxwyh45k7j84z0zg7n9jl8gg0draf96mzdh06";
+    sha256 = "0lym28z9mj6hfiq78x1fsd8y89h8xyfc1jgqyazi1g9r72427n07";
   };
 
-  buildInputs = [ cmake llvmPackages.clang-unwrapped llvmPackages.llvm ];
+  nativeBuildInputs = [ cmake ];
+  buildInputs = [ llvmPackages.clang-unwrapped llvmPackages.llvm libxml2 ];
 
   cmakeFlags = [
     "-DZIG_LIBC_INCLUDE_DIR=${stdenv.cc.libc_dev}/include"
@@ -26,7 +27,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Programming languaged designed for robustness, optimality, and clarity";
-    homepage = http://ziglang.org/;
+    homepage = https://ziglang.org/;
     license = licenses.mit;
     platforms = platforms.unix;
     maintainers = [ maintainers.andrewrk ];
diff --git a/pkgs/development/compilers/zulu/8.nix b/pkgs/development/compilers/zulu/8.nix
index 23ae8ba06bb..fb1798ab819 100644
--- a/pkgs/development/compilers/zulu/8.nix
+++ b/pkgs/development/compilers/zulu/8.nix
@@ -4,11 +4,11 @@
 , swingSupport ? true }:
 
 let
-  version = "8.21.0.1";
-  openjdk = "8.0.131";
+  version = "8.28.0.1";
+  openjdk = "8.0.163";
 
-  sha256_linux = "0cr1wvk1ifdq69ia8sr6171yzciba8l5x7dszwa5g2v0vmmqq88p";
-  sha256_darwin = "0xq9bdzbdq8wq48gj6j56bw30l2iafz6sy1wdhrf92n9bnz5qmw7";
+  sha256_linux = "1z8s3a948nvv92wybnhkyr27ipibcy45k0zv5h5gp37ynd91df45";
+  sha256_darwin = "0i0prjijsgg0yyycplpp9rlfl428126rqz7bb31pchrhi6jhk699";
 
   platform = if stdenv.isDarwin then "macosx" else "linux";
   hash = if stdenv.isDarwin then sha256_darwin else sha256_linux;
diff --git a/pkgs/development/compilers/zulu/default.nix b/pkgs/development/compilers/zulu/default.nix
index 040af83ece2..908aa29e178 100644
--- a/pkgs/development/compilers/zulu/default.nix
+++ b/pkgs/development/compilers/zulu/default.nix
@@ -4,11 +4,11 @@
 , swingSupport ? true }:
 
 let
-  version = "9.0.0.15";
-  openjdk = "9.0.0";
+  version = "10.1+11";
+  openjdk = "10";
 
-  sha256_linux = "0s9vr135yhdnxqds4hfafyrlh33j6g78v6l1v0ap2y6yqgabh9qi";
-  sha256_darwin = "104w1msrwijf8dv3n65hjinp7i47z6ygzjipdzqriqam2zljxn4b";
+  sha256_linux = "0g51n2zc7inal29n5ly3mrrfj15c7vl87zb6b2r1q67n4mnbrgm8";
+  sha256_darwin = "1c5ib136nv6gz7ij31mg15nhzrl6zr7kp8spm17zwm1ib82bc73y";
 
   platform = if stdenv.isDarwin then "macosx" else "linux";
   hash = if stdenv.isDarwin then sha256_darwin else sha256_linux;
diff --git a/pkgs/development/coq-modules/CoLoR/default.nix b/pkgs/development/coq-modules/CoLoR/default.nix
index 3f5ec69235f..82c6e58a7b0 100644
--- a/pkgs/development/coq-modules/CoLoR/default.nix
+++ b/pkgs/development/coq-modules/CoLoR/default.nix
@@ -23,6 +23,6 @@ stdenv.mkDerivation {
   };
 
   passthru = {
-    compatibleCoqVersions = v: stdenv.lib.versionAtLeast v "8.6";
+    compatibleCoqVersions = v: builtins.elem v [ "8.6" "8.7" ];
   };
 }
diff --git a/pkgs/development/coq-modules/QuickChick/default.nix b/pkgs/development/coq-modules/QuickChick/default.nix
index 2a0c3ade561..35cf63af862 100644
--- a/pkgs/development/coq-modules/QuickChick/default.nix
+++ b/pkgs/development/coq-modules/QuickChick/default.nix
@@ -1,6 +1,6 @@
-{ stdenv, fetchgit, coq, ssreflect }:
+{ stdenv, fetchFromGitHub, coq, ssreflect }:
 
-let param =
+let params =
   {
     "8.5" = {
       version = "20170512";
@@ -19,16 +19,17 @@ let param =
       rev = "195e550a1cf0810497734356437a1720ebb6d744";
       sha256 = "0zm23y89z0h4iamy74qk9qi2pz2cj3ga6ygav0w79n0qyqwhxcq1";
     };
-
-  }."${coq.coq-version}"
-; in
+  };
+  param = params."${coq.coq-version}";
+in
 
 stdenv.mkDerivation rec {
 
   name = "coq${coq.coq-version}-QuickChick-${param.version}";
 
-  src = fetchgit {
-    url = git://github.com/QuickChick/QuickChick.git;
+  src = fetchFromGitHub {
+    owner = "QuickChick";
+    repo = "QuickChick";
     inherit (param) rev sha256;
   };
 
@@ -48,4 +49,8 @@ stdenv.mkDerivation rec {
     platforms = coq.meta.platforms;
   };
 
+  passthru = {
+    compatibleCoqVersions = v: builtins.hasAttr v params;
+  };
+
 }
diff --git a/pkgs/development/coq-modules/autosubst/default.nix b/pkgs/development/coq-modules/autosubst/default.nix
index a27a247c9d0..9c24e77e0f7 100644
--- a/pkgs/development/coq-modules/autosubst/default.nix
+++ b/pkgs/development/coq-modules/autosubst/default.nix
@@ -24,4 +24,9 @@ stdenv.mkDerivation rec {
     platforms = coq.meta.platforms;
   };
 
+  passthru = {
+    compatibleCoqVersions = v: builtins.elem v [ "8.5" "8.6" "8.7" ];
+  };
+
+
 }
diff --git a/pkgs/development/coq-modules/bignums/default.nix b/pkgs/development/coq-modules/bignums/default.nix
index 5762da66fed..474ce05c1d4 100644
--- a/pkgs/development/coq-modules/bignums/default.nix
+++ b/pkgs/development/coq-modules/bignums/default.nix
@@ -1,20 +1,22 @@
 { stdenv, fetchFromGitHub, coq }:
 
-let rev_and_sha = {
-  "8.6" = {
-    rev = "v8.6.0";
-    sha256 = "0553pcsy21cyhmns6k9qggzb67az8kl31d0lwlnz08bsqswigzrj";
+let params =
+  {
+    "8.6" = {
+      rev = "v8.6.0";
+      sha256 = "0553pcsy21cyhmns6k9qggzb67az8kl31d0lwlnz08bsqswigzrj";
+    };
+    "8.7" = {
+      rev = "V8.7.0";
+      sha256 = "11c4sdmpd3l6jjl4v6k213z9fhrmmm1xnly3zmzam1wrrdif4ghl";
+    };
+    "8.8" = {
+      rev = "V8.8+beta1";
+      sha256 = "1ymxyrvjygscxkfj3qkq66skl3vdjhb670rzvsvgmwrjkrakjnfg";
+    };
   };
-  "8.7" = {
-    rev = "V8.7.0";
-    sha256 = "11c4sdmpd3l6jjl4v6k213z9fhrmmm1xnly3zmzam1wrrdif4ghl";
-  };
-};
-in
-
-if ! (rev_and_sha ? "${coq.coq-version}") then
-  throw "bignums is not available for Coq ${coq.coq-version}"
-else with rev_and_sha."${coq.coq-version}";
+  param = params."${coq.coq-version}"
+; in
 
 stdenv.mkDerivation rec {
 
@@ -23,7 +25,7 @@ stdenv.mkDerivation rec {
   src = fetchFromGitHub {
     owner = "coq";
     repo = "bignums";
-    inherit rev sha256;
+    inherit (param) rev sha256;
   };
 
   buildInputs = [ coq.ocaml coq.camlp5 coq.findlib coq ];
@@ -35,4 +37,7 @@ stdenv.mkDerivation rec {
     platforms = coq.meta.platforms;
   };
 
+  passthru = {
+    compatibleCoqVersions = v: builtins.hasAttr v params;
+  };
 }
diff --git a/pkgs/development/coq-modules/contribs/default.nix b/pkgs/development/coq-modules/contribs/default.nix
index 88ef8011aa8..7b274812737 100644
--- a/pkgs/development/coq-modules/contribs/default.nix
+++ b/pkgs/development/coq-modules/contribs/default.nix
@@ -189,11 +189,23 @@ let mkContrib = repo: revs: param:
     sha256 = "1ddwzg12pbzpnz3njin4zhpph92kscrbsn3bzds26yj8fp76zc33";
   };
 
-  containers = mkContrib "containers" [ "8.6" ] {
-    version = "8.6.0";
-    rev = "fa1fec7";
-    sha256 = "1ns0swlr8hzb1zc7fsyd3vws1vbq0vvfxcf0lszqnca9c9hfkfy4";
-  };
+  containers = mkContrib "containers" [ "8.6" "8.7" "8.8" ] {
+    "8.6" = {
+      version = "8.6.0";
+      rev = "fa1fec7";
+      sha256 = "1ns0swlr8hzb1zc7fsyd3vws1vbq0vvfxcf0lszqnca9c9hfkfy4";
+    };
+    "8.7" = {
+      version = "20180313";
+      rev = "77ac16366529c9e558f70ba86f0168a76ca76b8f";
+      sha256 = "01gp8injb0knaxgqsdc4x9h8714k7qxg7j5w7y6i45dnpd81ndr4";
+    };
+    "8.8" = {
+      version = "20180330";
+      rev = "52b86bed1671321b25fe4d7495558f9f221b12aa";
+      sha256 = "0hbnrwdgryr52170cfrlbiymr88jsyxilnpr343vnprqq3zk1xz0";
+    };
+  }."${coq.coq-version}";
 
   continuations = mkContrib "continuations" [ ] {
     version = "v8.5.0-13-g6885310";
diff --git a/pkgs/development/coq-modules/coq-ext-lib/default.nix b/pkgs/development/coq-modules/coq-ext-lib/default.nix
index 374979f1d15..877331383a7 100644
--- a/pkgs/development/coq-modules/coq-ext-lib/default.nix
+++ b/pkgs/development/coq-modules/coq-ext-lib/default.nix
@@ -1,11 +1,12 @@
 { stdenv, fetchFromGitHub, coq }:
 
-let param =
+let params =
   {
     "8.5" = { version = "0.9.4"; sha256 = "1y66pamgsdxlq2w1338lj626ln70cwj7k53hxcp933g8fdsa4hp0"; };
     "8.6" = { version = "0.9.5"; sha256 = "1b4cvz3llxin130g13calw5n1zmvi6wdd5yb8a41q7yyn2hd3msg"; };
     "8.7" = { version = "0.9.5"; sha256 = "1b4cvz3llxin130g13calw5n1zmvi6wdd5yb8a41q7yyn2hd3msg"; };
-  }."${coq.coq-version}";
+  };
+  param = params."${coq.coq-version}";
 in
 
 stdenv.mkDerivation rec {
@@ -34,4 +35,7 @@ stdenv.mkDerivation rec {
     platforms = coq.meta.platforms;
   };
 
+  passthru = {
+    compatibleCoqVersions = v: builtins.hasAttr v params;
+  };
 }
diff --git a/pkgs/development/coq-modules/coq-haskell/default.nix b/pkgs/development/coq-modules/coq-haskell/default.nix
index b27fbcc1587..a66e941a8c9 100644
--- a/pkgs/development/coq-modules/coq-haskell/default.nix
+++ b/pkgs/development/coq-modules/coq-haskell/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchgit, coq, ssreflect }:
 
-let param =
+let params =
   {
     "8.5" = {
       version = "20171215";
@@ -19,9 +19,9 @@ let param =
       rev = "e2cf8b270c2efa3b56fab1ef6acc376c2c3de968";
       sha256 = "09dq1vvshhlhgjccrhqgbhnq2hrys15xryfszqq11rzpgvl2zgdv";
     };
-
-  }."${coq.coq-version}"
-; in
+  };
+  param = params."${coq.coq-version}";
+in
 
 stdenv.mkDerivation rec {
 
@@ -48,4 +48,7 @@ stdenv.mkDerivation rec {
     platforms = coq.meta.platforms;
   };
 
+  passthru = {
+    compatibleCoqVersions = v: builtins.hasAttr v params;
+  };
 }
diff --git a/pkgs/development/coq-modules/coquelicot/default.nix b/pkgs/development/coq-modules/coquelicot/default.nix
index 7f5111462bd..c4dc8b5fc5b 100644
--- a/pkgs/development/coq-modules/coquelicot/default.nix
+++ b/pkgs/development/coq-modules/coquelicot/default.nix
@@ -22,4 +22,9 @@ stdenv.mkDerivation {
     maintainers = [ stdenv.lib.maintainers.vbgl ];
     inherit (coq.meta) platforms;
   };
+
+  passthru = {
+    compatibleCoqVersions = v: builtins.elem v [ "8.5" "8.6" "8.7" ];
+  };
+
 }
diff --git a/pkgs/development/coq-modules/dpdgraph/default.nix b/pkgs/development/coq-modules/dpdgraph/default.nix
index 425ab408c8c..5b9437e7c27 100644
--- a/pkgs/development/coq-modules/dpdgraph/default.nix
+++ b/pkgs/development/coq-modules/dpdgraph/default.nix
@@ -1,6 +1,11 @@
 { stdenv, fetchFromGitHub, autoreconfHook, coq, ocamlPackages }:
 
-let param = {
+let params = {
+  "8.8" = {
+    version = "0.6.3";
+    rev = "0acbd0a594c7e927574d5f212cc73a486b5305d2";
+    sha256 = "0c95b0bz2kjm6swr5na4gs06lxxywradszxbr5ldh2zx02r3f3rx";
+  };
   "8.7" = {
     version = "0.6.2";
     rev = "d76ddde37d918569945774733b7997e8b24daf51";
@@ -16,7 +21,9 @@ let param = {
     rev = "v0.6";
     sha256 = "0qvar8gfbrcs9fmvkph5asqz4l5fi63caykx3bsn8zf0xllkwv0n";
   };
-}."${coq.coq-version}"; in
+};
+param = params."${coq.coq-version}";
+in
 
 stdenv.mkDerivation {
   name = "coq${coq.coq-version}-dpdgraph-${param.version}";
@@ -46,4 +53,9 @@ stdenv.mkDerivation {
     maintainers = with stdenv.lib.maintainers; [ vbgl ];
     platforms = coq.meta.platforms;
   };
+
+  passthru = {
+    compatibleCoqVersions = v: builtins.hasAttr v params;
+  };
+
 }
diff --git a/pkgs/development/coq-modules/fiat/HEAD.nix b/pkgs/development/coq-modules/fiat/HEAD.nix
index b970747c772..bc5c0fdd6bb 100644
--- a/pkgs/development/coq-modules/fiat/HEAD.nix
+++ b/pkgs/development/coq-modules/fiat/HEAD.nix
@@ -1,22 +1,23 @@
-{stdenv, fetchgit, coq, python27}:
+{stdenv, fetchgit, coq, ocamlPackages, python27}:
 
 stdenv.mkDerivation rec {
 
   name = "coq-fiat-${coq.coq-version}-unstable-${version}";
-  version = "2016-10-24";
+  version = "2018-02-27";
 
   src = fetchgit {
     url = "https://github.com/mit-plv/fiat.git";
-    rev = "7feb6c64be9ebcc05924ec58fe1463e73ec8206a";
-    sha256 = "0griqc675yylf9rvadlfsabz41qy5f5idya30p5rv6ysiakxya64";
+    rev = "253fc133397f73d6daed0b9518ca7ab5507a1cb0";
+    sha256 = "0b5z7nz0cr1s7vy04s996dj0pd7ljqx6g5a8syh4hy2z87ijkjzd";
   };
 
-  buildInputs = [ coq.ocaml coq.camlp5 python27 ];
+  buildInputs = [ ocamlPackages.ocaml ocamlPackages.camlp5_transitional
+                  ocamlPackages.findlib python27 ];
   propagatedBuildInputs = [ coq ];
 
   doCheck = false;
 
-  enableParallelBuilding = false;
+  enableParallelBuilding = true;
   buildPhase = "make -j$NIX_BUILD_CORES";
 
   installPhase = ''
@@ -33,6 +34,6 @@ stdenv.mkDerivation rec {
   };
 
   passthru = {
-    compatibleCoqVersions = v: v == "8.5";
+    compatibleCoqVersions = v: builtins.elem v [ "8.5" "8.6" "8.7" ];
   };
 }
diff --git a/pkgs/development/coq-modules/heq/default.nix b/pkgs/development/coq-modules/heq/default.nix
index 5f31fe6dc34..bf441562b14 100644
--- a/pkgs/development/coq-modules/heq/default.nix
+++ b/pkgs/development/coq-modules/heq/default.nix
@@ -24,4 +24,7 @@ stdenv.mkDerivation rec {
     platforms = coq.meta.platforms;
   };
 
+  passthru = {
+    compatibleCoqVersions = v: !stdenv.lib.versionAtLeast v "8.8";
+  };
 }
diff --git a/pkgs/development/coq-modules/interval/default.nix b/pkgs/development/coq-modules/interval/default.nix
index 5faf8093b15..6797a71703b 100644
--- a/pkgs/development/coq-modules/interval/default.nix
+++ b/pkgs/development/coq-modules/interval/default.nix
@@ -24,4 +24,10 @@ stdenv.mkDerivation {
     maintainers = with maintainers; [ vbgl ];
     platforms = coq.meta.platforms;
   };
+
+  passthru = {
+    compatibleCoqVersions = v: builtins.elem v [ "8.5" "8.6" "8.7" ];
+  };
+
+
 }
diff --git a/pkgs/development/coq-modules/mathcomp/default.nix b/pkgs/development/coq-modules/mathcomp/default.nix
index 79bced9ad0e..92c3c87774a 100644
--- a/pkgs/development/coq-modules/mathcomp/default.nix
+++ b/pkgs/development/coq-modules/mathcomp/default.nix
@@ -1,29 +1,29 @@
 { callPackage, fetchurl, coq }:
 
 let param =
+
+  let param_1_7 = {
+      version = "1.7.0";
+      sha256 = "05zgyi4wmasi1rcyn5jq42w0bi9713q9m8dl1fdgl66nmacixh39";
+  }; in
+
   {
     "8.5" =  {
       version = "1.6.1";
-      url = https://github.com/math-comp/math-comp/archive/mathcomp-1.6.1.tar.gz;
       sha256 = "1j9ylggjzrxz1i2hdl2yhsvmvy5z6l4rprwx7604401080p5sgjw";
     };
 
-    "8.6" =  {
-      version = "1.6.4";
-      url = https://github.com/math-comp/math-comp/archive/mathcomp-1.6.4.tar.gz;
-      sha256 = "0qmjjb6jsxmmf4gpw10r30rmrvwqgzirvvgyy41mz2vhgwis8wn6";
-    };
-
-    "8.7" = {
-      version = "1.6.4";
-      url = https://github.com/math-comp/math-comp/archive/mathcomp-1.6.4.tar.gz;
-      sha256 = "0qmjjb6jsxmmf4gpw10r30rmrvwqgzirvvgyy41mz2vhgwis8wn6";
-    };
+    "8.6" = param_1_7;
+    "8.7" = param_1_7;
+    "8.8" = param_1_7;
 
   }."${coq.coq-version}"
 ; in
 
 callPackage ./generic.nix {
   name = "coq${coq.coq-version}-mathcomp-${param.version}";
-  src = fetchurl { inherit (param) url sha256; };
+  src = fetchurl {
+    url = "https://github.com/math-comp/math-comp/archive/mathcomp-${param.version}.tar.gz";
+    inherit (param) sha256;
+  };
 }
diff --git a/pkgs/development/coq-modules/mathcomp/generic.nix b/pkgs/development/coq-modules/mathcomp/generic.nix
index 564cb6f6571..1cc5dc368da 100644
--- a/pkgs/development/coq-modules/mathcomp/generic.nix
+++ b/pkgs/development/coq-modules/mathcomp/generic.nix
@@ -17,7 +17,7 @@ stdenv.mkDerivation {
   buildFlags = stdenv.lib.optionalString withDoc "doc";
 
   preBuild = ''
-    patchShebangs etc/utils/ssrcoqdep
+    patchShebangs etc/utils/ssrcoqdep || true
     cd mathcomp
     export COQBIN=${coq}/bin/
   '';
@@ -35,4 +35,8 @@ stdenv.mkDerivation {
     platforms = coq.meta.platforms;
   };
 
+  passthru = {
+    compatibleCoqVersions = v: builtins.elem v [ "8.5" "8.6" "8.7" "8.8" ];
+  };
+
 }
diff --git a/pkgs/development/coq-modules/paco/default.nix b/pkgs/development/coq-modules/paco/default.nix
index 93ef7c14f1f..94a24eb7085 100644
--- a/pkgs/development/coq-modules/paco/default.nix
+++ b/pkgs/development/coq-modules/paco/default.nix
@@ -28,4 +28,8 @@ stdenv.mkDerivation rec {
     platforms = coq.meta.platforms;
   };
 
+  passthru = {
+    compatibleCoqVersions = v: builtins.elem v [ "8.5" "8.6" "8.7" ];
+  };
+
 }
diff --git a/pkgs/development/coq-modules/ssreflect/default.nix b/pkgs/development/coq-modules/ssreflect/default.nix
index 3b53a2831e8..9e9c3c7957a 100644
--- a/pkgs/development/coq-modules/ssreflect/default.nix
+++ b/pkgs/development/coq-modules/ssreflect/default.nix
@@ -1,29 +1,29 @@
 { callPackage, fetchurl, coq }:
 
 let param =
+
+  let param_1_7 = {
+    version = "1.7.0";
+    sha256 = "05zgyi4wmasi1rcyn5jq42w0bi9713q9m8dl1fdgl66nmacixh39";
+  }; in
+
   {
     "8.5" =  {
       version = "1.6.1";
-      url = https://github.com/math-comp/math-comp/archive/mathcomp-1.6.1.tar.gz;
       sha256 = "1j9ylggjzrxz1i2hdl2yhsvmvy5z6l4rprwx7604401080p5sgjw";
     };
 
-    "8.6" =  {
-      version = "1.6.4";
-      url = https://github.com/math-comp/math-comp/archive/mathcomp-1.6.4.tar.gz;
-      sha256 = "0qmjjb6jsxmmf4gpw10r30rmrvwqgzirvvgyy41mz2vhgwis8wn6";
-    };
-
-    "8.7" = {
-      version = "1.6.4";
-      url = https://github.com/math-comp/math-comp/archive/mathcomp-1.6.4.tar.gz;
-      sha256 = "0qmjjb6jsxmmf4gpw10r30rmrvwqgzirvvgyy41mz2vhgwis8wn6";
-    };
+    "8.6" = param_1_7;
+    "8.7" = param_1_7;
+    "8.8" = param_1_7;
 
   }."${coq.coq-version}"
 ; in
 
 callPackage ./generic.nix {
   name = "coq${coq.coq-version}-ssreflect-${param.version}";
-  src = fetchurl { inherit (param) url sha256; };
+  src = fetchurl {
+    url = "https://github.com/math-comp/math-comp/archive/mathcomp-${param.version}.tar.gz";
+    inherit (param) sha256;
+  };
 }
diff --git a/pkgs/development/coq-modules/ssreflect/generic.nix b/pkgs/development/coq-modules/ssreflect/generic.nix
index c598345403d..a44e81d3c19 100644
--- a/pkgs/development/coq-modules/ssreflect/generic.nix
+++ b/pkgs/development/coq-modules/ssreflect/generic.nix
@@ -17,7 +17,7 @@ stdenv.mkDerivation {
   inherit patches;
 
   preBuild = ''
-    patchShebangs etc/utils/ssrcoqdep
+    patchShebangs etc/utils/ssrcoqdep || true
     cd mathcomp/ssreflect
     export COQBIN=${coq}/bin/
   '';
@@ -42,4 +42,8 @@ stdenv.mkDerivation {
     platforms = coq.meta.platforms;
   };
 
+  passthru = {
+    compatibleCoqVersions = v: builtins.elem v [ "8.5" "8.6" "8.7" "8.8" ];
+  };
+
 }
diff --git a/pkgs/development/eclipse/ecj/default.nix b/pkgs/development/eclipse/ecj/default.nix
deleted file mode 100644
index b6bee8aead0..00000000000
--- a/pkgs/development/eclipse/ecj/default.nix
+++ /dev/null
@@ -1,59 +0,0 @@
-{ stdenv, fetchurl, unzip, ant, jdk7, makeWrapper }:
-
-let
-  version = "3.7.2";
-  date    = "201202080800";
-in
-
-stdenv.mkDerivation rec {
-  name = "ecj-${version}";
-
-  src = fetchurl {
-    url = "http://eclipse.ialto.org/eclipse/downloads/drops/R-${version}-${date}/ecjsrc-${version}.jar";
-    sha256 = "0swyysbyfmv068x8q1c5jqpwk5zb4xahg17aypx5rwb660f8fpbm";
-  };
-
-  buildInputs = [ unzip ant jdk7 makeWrapper ];
-
-  unpackPhase = ''
-    mkdir "${name}"
-    cd "${name}"
-    unzip "$src"
-  '';
-
-  # Use whatever compiler Ant knows.
-  buildPhase = "ant build";
-
-  installPhase = ''
-    mkdir -pv $out/share/java
-    cp -v *.jar $out/share/java
-
-    mkdir -pv $out/bin
-    makeWrapper ${jdk7.jre}/bin/java $out/bin/ecj \
-      --add-flags "-cp $out/share/java/ecj.jar org.eclipse.jdt.internal.compiler.batch.Main"
-
-    # Add a setup hook that causes Ant to use the ECJ.
-    mkdir -p $out/nix-support
-    cat <<EOF > $out/nix-support/setup-hook
-    export NIX_ANT_ARGS="-Dbuild.compiler=org.eclipse.jdt.core.JDTCompilerAdapter \$NIX_ANT_ARGS"
-    EOF
-  '';
-
-  meta = {
-    description = "The Eclipse Compiler for Java (ECJ)";
-
-    longDescription = ''
-      ECJ is an incremental Java compiler.  Implemented as an Eclipse
-      builder, it is based on technology evolved from VisualAge for Java
-      compiler.  In particular, it allows users to run and debug code which
-      still contains unresolved errors.
-    '';
-
-    homepage = http://www.eclipse.org/jdt/core/index.php;
-
-    # http://www.eclipse.org/legal/epl-v10.html (free software, copyleft)
-    license = stdenv.lib.licenses.epl10;
-
-    platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin;
-  };
-}
diff --git a/pkgs/development/em-modules/generic/default.nix b/pkgs/development/em-modules/generic/default.nix
index 16b8f1df595..f03e6e42739 100644
--- a/pkgs/development/em-modules/generic/default.nix
+++ b/pkgs/development/em-modules/generic/default.nix
@@ -1,4 +1,4 @@
-{ pkgs, lib, emscripten }:
+{ pkgs, lib, emscripten, python }:
 
 { buildInputs ? [], nativeBuildInputs ? []
 
@@ -11,8 +11,8 @@ pkgs.stdenv.mkDerivation (
   {
 
   name = "emscripten-${args.name}";
-  buildInputs = [ emscripten ] ++ buildInputs;
-  nativeBuildInputs = [ emscripten ] ++ nativeBuildInputs;
+  buildInputs = [ emscripten python ] ++ buildInputs;
+  nativeBuildInputs = [ emscripten python ] ++ nativeBuildInputs;
 
   # fake conftest results with emscripten's python magic
   EMCONFIGURE_JS=2;
@@ -22,8 +22,6 @@ pkgs.stdenv.mkDerivation (
     HOME=$TMPDIR
     runHook preConfigure
 
-    # probably requires autotools as dependency
-    ./autogen.sh
     emconfigure ./configure --prefix=$out
 
     runHook postConfigure
@@ -38,9 +36,18 @@ pkgs.stdenv.mkDerivation (
     runHook postBuild
   '';
 
+  doCheck = true;
+
   checkPhase = args.checkPhase or ''
     runHook preCheck
 
+    echo "Please provide a test for your emscripten based library/tool, see libxml2 as an exmple on how to use emcc/node to verify your build"
+    echo ""
+    echo "In normal C 'unresolved symbols' would yield an error and a breake of execution. In contrast, in emscripten they are only a warning which is ok given that emscripten assumptions about shared libraries."
+    echo "  -> https://github.com/kripken/emscripten/wiki/Linking"
+    echo "So just assume the dependencies were built using hydra, then YOU WILL NEVER see the warning and your code depending on a library will always fail!"
+    exit 1
+
     runHook postCheck
   '';
 
diff --git a/pkgs/development/go-modules/generic/default.nix b/pkgs/development/go-modules/generic/default.nix
index a6d83fc770c..77c2687e291 100644
--- a/pkgs/development/go-modules/generic/default.nix
+++ b/pkgs/development/go-modules/generic/default.nix
@@ -98,7 +98,7 @@ go.stdenv.mkDerivation (
     rmdir goPath
 
   '') + (lib.optionalString (extraSrcPaths != []) ''
-    ${rsync}/bin/rsync -a ${lib.concatMapStrings (p: "${p}/src") extraSrcPaths} go
+    ${rsync}/bin/rsync -a ${lib.concatMapStringsSep " " (p: "${p}/src") extraSrcPaths} go
 
   '') + ''
     export GOPATH=$NIX_BUILD_TOP/go:$GOPATH
diff --git a/pkgs/development/guile-modules/guile-fibers/default.nix b/pkgs/development/guile-modules/guile-fibers/default.nix
index 5f82a93c513..cfb56790221 100644
--- a/pkgs/development/guile-modules/guile-fibers/default.nix
+++ b/pkgs/development/guile-modules/guile-fibers/default.nix
@@ -23,6 +23,6 @@ in stdenv.mkDerivation {
     homepage = https://github.com/wingo/fibers;
     license = licenses.lgpl3Plus;
     maintainers = with maintainers; [ vyp ];
-    platforms = platforms.all;
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/development/guile-modules/guile-lib/default.nix b/pkgs/development/guile-modules/guile-lib/default.nix
index 95741e07600..35eb4667bd6 100644
--- a/pkgs/development/guile-modules/guile-lib/default.nix
+++ b/pkgs/development/guile-modules/guile-lib/default.nix
@@ -40,6 +40,6 @@ in stdenv.mkDerivation {
     homepage = "http://www.nongnu.org/guile-lib/";
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ vyp ];
-    platforms = platforms.gnu;
+    platforms = platforms.gnu ++ platforms.linux;
   };
 }
diff --git a/pkgs/development/guile-modules/guile-ncurses/default.nix b/pkgs/development/guile-modules/guile-ncurses/default.nix
index 152a3488304..8f601858267 100644
--- a/pkgs/development/guile-modules/guile-ncurses/default.nix
+++ b/pkgs/development/guile-modules/guile-ncurses/default.nix
@@ -39,6 +39,6 @@ in stdenv.mkDerivation {
     homepage = "https://www.gnu.org/software/guile-ncurses/";
     license = licenses.lgpl3Plus;
     maintainers = with maintainers; [ vyp ];
-    platforms = platforms.gnu;
+    platforms = platforms.gnu ++ platforms.linux;
   };
 }
diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix
index 6d95805ddb6..8278b4bdc5e 100644
--- a/pkgs/development/haskell-modules/configuration-common.nix
+++ b/pkgs/development/haskell-modules/configuration-common.nix
@@ -32,12 +32,14 @@ self: super: {
   # compiled on Linux. We provide the name to avoid evaluation errors.
   unbuildable = throw "package depends on meta package 'unbuildable'";
 
-  # hackage-security's test suite does not compile with Cabal 2.x.
-  # See https://github.com/haskell/hackage-security/issues/188.
+  # Use the latest version of the Cabal library.
+  cabal-install = super.cabal-install.overrideScope (self: super: { Cabal = self.Cabal_2_2_0_1; });
+
+  # The test suite depends on old versions of tasty and QuickCheck.
   hackage-security = dontCheck super.hackage-security;
 
   # Link statically to avoid runtime dependency on GHC.
-  jailbreak-cabal = (disableSharedExecutables super.jailbreak-cabal).override { Cabal = self.Cabal_1_20_0_4; };
+  jailbreak-cabal = disableSharedExecutables super.jailbreak-cabal;
 
   # enable using a local hoogle with extra packagages in the database
   # nix-shell -p "haskellPackages.hoogleLocal { packages = with haskellPackages; [ mtl lens ]; }"
@@ -45,12 +47,12 @@ self: super: {
   hoogleLocal = { packages ? [] }: self.callPackage ./hoogle.nix { inherit packages; };
 
   # Break infinite recursions.
+  attoparsec-varword = super.attoparsec-varword.override { bytestring-builder-varword = dontCheck self.bytestring-builder-varword; };
   clock = dontCheck super.clock;
   Dust-crypto = dontCheck super.Dust-crypto;
   hasql-postgres = dontCheck super.hasql-postgres;
   hspec = super.hspec.override { stringbuilder = dontCheck self.stringbuilder; };
   hspec-core = super.hspec-core.override { silently = dontCheck self.silently; temporary = dontCheck self.temporary; };
-
   hspec-expectations = dontCheck super.hspec-expectations;
   HTTP = dontCheck super.HTTP;
   http-streams = dontCheck super.http-streams;
@@ -75,13 +77,30 @@ self: super: {
 
   # The Hackage tarball is purposefully broken, because it's not intended to be, like, useful.
   # https://git-annex.branchable.com/bugs/bash_completion_file_is_missing_in_the_6.20160527_tarball_on_hackage/
-  git-annex = (overrideCabal super.git-annex (drv: {
+  git-annex = ((overrideCabal super.git-annex (drv: {
     src = pkgs.fetchgit {
       name = "git-annex-${drv.version}-src";
       url = "git://git-annex.branchable.com/";
       rev = "refs/tags/" + drv.version;
-      sha256 = "0fdcv9nig896ckl9x51ximxsvja1ii8qysf6c9ickvc0511hvr9w";
+      sha256 = "05rygb8jm4nh7ggzihz6664hcgwkbqspi8gbpkpf7l7wwvzdm1rd";
     };
+  })).overrideScope (self: super: {
+    aws = dontCheck (self.aws_0_18);
+    conduit = self.conduit_1_2_13_1;
+    conduit-extra = self.conduit-extra_1_2_3_2;
+    cryptonite-conduit = dontCheck super.cryptonite-conduit;  # test suite does not compile with old versions used here
+    html-conduit = self.html-conduit_1_2_1_2;
+    http-conduit = self.http-conduit_2_2_4;
+    persistent = self.persistent_2_7_3_1;
+    persistent-sqlite = self.persistent-sqlite_2_6_4;
+    resourcet = self.resourcet_1_1_11;
+    xml-conduit = self.xml-conduit_1_7_1_2;
+    yesod = self.yesod_1_4_5;
+    yesod-core = self.yesod-core_1_4_37_3;
+    yesod-form = self.yesod-form_1_4_16;
+    yesod-persistent = self.yesod-persistent_1_4_3;
+    yesod-static = self.yesod-static_1_5_3_1;
+    yesod-test = self.yesod-test_1_5_9_1;
   })).override {
     dbus = if pkgs.stdenv.isLinux then self.dbus else null;
     fdo-notify = if pkgs.stdenv.isLinux then self.fdo-notify else null;
@@ -94,14 +113,21 @@ self: super: {
 
     # the tests for shell-conduit on Darwin illegitimatey assume non-GNU echo
     # see: https://github.com/psibi/shell-conduit/issues/12
-    doCheck = !pkgs.stdenv.hostPlatform.isDarwin;
-  }));
+    doCheck = !pkgs.stdenv.isDarwin;
+  })).overrideScope (self: super: {
+    # shell-conduit doesn't build with conduit 1.3
+    # see https://github.com/psibi/shell-conduit/issues/15
+    conduit = self.conduit_1_2_13_1;
+    conduit-extra = self.conduit-extra_1_2_3_2;
+    resourcet = self.resourcet_1_1_11;
+  });
 
   # https://github.com/froozen/kademlia/issues/2
   kademlia = dontCheck super.kademlia;
 
   # Test suite doesn't terminate
   hzk = dontCheck super.hzk;
+
   # Tests require a Kafka broker running locally
   haskakafka = dontCheck super.haskakafka;
 
@@ -182,6 +208,9 @@ self: super: {
   # https://github.com/jputcu/serialport/issues/25
   serialport = dontCheck super.serialport;
 
+  serialise = dontCheck super.serialise;
+  cryptohash-sha512 = dontCheck super.cryptohash-sha512;
+
   # https://github.com/kazu-yamamoto/simple-sendfile/issues/17
   simple-sendfile = dontCheck super.simple-sendfile;
 
@@ -220,6 +249,18 @@ self: super: {
   # base bound
   digit = doJailbreak super.digit;
 
+  # https://github.com/jwiegley/hnix/issues/98 - tied to an older deriving-compat
+  hnix = doJailbreak (overrideCabal super.hnix (old: {
+    patches = old.patches or [] ++ [
+      # should land in hnix-5.2
+      (pkgs.fetchpatch {
+        url = "https://github.com/haskell-nix/hnix/commit/9cfe060a9dbe9e7c64867956a0523eed9661803a.patch";
+        sha256 = "0ci4n7nw2pzqw0gkmkp4szzvxjyb143a4znjm39jmb0s397a68sh";
+        name = "disable-hpack-test-by-default.patch";
+       })
+    ];
+    testHaskellDepends = old.testHaskellDepends or [] ++ [ pkgs.nix ];
+  }));
 
   # Fails for non-obvious reasons while attempting to use doctest.
   search = dontCheck super.search;
@@ -351,12 +392,6 @@ self: super: {
   th-printf = dontCheck super.th-printf;
   thumbnail-plus = dontCheck super.thumbnail-plus;
   tickle = dontCheck super.tickle;
-  tldr = super.tldr.override {
-    # shell-conduit determines what commands are available at compile-time, so
-    # that tldr will not compile unless the shell-conduit it uses is compiled
-    # with git in its environment.
-    shell-conduit = addBuildTool self.shell-conduit pkgs.git;
-  };
   tpdb = dontCheck super.tpdb;
   translatable-intset = dontCheck super.translatable-intset;
   ua-parser = dontCheck super.ua-parser;
@@ -400,6 +435,12 @@ self: super: {
   # https://github.com/evanrinehart/mikmod/issues/1
   mikmod = addExtraLibrary super.mikmod pkgs.libmikmod;
 
+  # Version 0.21.2 calls its doctest suite with incorrect paths.
+  haskell-gi = appendPatch super.haskell-gi (pkgs.fetchpatch {
+    url = https://github.com/haskell-gi/haskell-gi/pull/163/commits/b876c4f351893370d4ae597aab6ecc0422e7f665.patch;
+    sha256 = "03vzpvnr3vnz2zgsr504iyf0n9aw6mkz8rkj6zhazfixl3dzfkyd";
+  });
+
   # https://github.com/basvandijk/threads/issues/10
   threads = dontCheck super.threads;
 
@@ -419,9 +460,8 @@ self: super: {
   # https://github.com/vincenthz/hs-asn1/issues/12
   asn1-encoding = dontCheck super.asn1-encoding;
 
-  # Depends on QuickCheck 1.x.
-  HaVSA = super.HaVSA.override { QuickCheck = self.QuickCheck_1_2_0_1; };
-  test-framework-quickcheck = super.test-framework-quickcheck.override { QuickCheck = self.QuickCheck_1_2_0_1; };
+  # Avoid "QuickCheck >=2.3 && <2.10" dependency we cannot fulfill in lts-11.x.
+  test-framework = dontCheck super.test-framework;
 
   # Depends on broken test-framework-quickcheck.
   apiary = dontCheck super.apiary;
@@ -452,6 +492,11 @@ self: super: {
   # Test suite won't compile against tasty-hunit 0.9.x.
   zlib = dontCheck super.zlib;
 
+  # Test suite won't compile against tasty-hunit 0.10.x.
+  binary-parser = dontCheck super.binary-parser;
+  bytestring-strict-builder = dontCheck super.bytestring-strict-builder;
+  bytestring-tree-builder = dontCheck super.bytestring-tree-builder;
+
   # https://github.com/ndmitchell/shake/issues/206
   # https://github.com/ndmitchell/shake/issues/267
   shake = overrideCabal super.shake (drv: { doCheck = !pkgs.stdenv.isDarwin && false; });
@@ -482,7 +527,7 @@ self: super: {
   # https://github.com/alphaHeavy/lzma-enumerator/issues/3
   lzma-enumerator = dontCheck super.lzma-enumerator;
 
-  # https://github.com/haskell-hvr/lzma/issues/8
+  # https://github.com/haskell-hvr/lzma/pull/11
   lzma = appendPatch super.lzma ./patches/lzma-tests.patch;
 
   # https://github.com/BNFC/bnfc/issues/140
@@ -590,7 +635,9 @@ self: super: {
       mkdir -p $data/share/emacs
       ln -s $lispdir $data/share/emacs/site-lisp
     '';
-  }));
+  })).override {
+    haskell-src-exts = self.haskell-src-exts_1_19_1;
+  };
 
   # Make elisp files available at a location where people expect it.
   hindent = (overrideCabal super.hindent (drv: {
@@ -602,13 +649,12 @@ self: super: {
       ln -s $lispdir $data/share/emacs/site-lisp
     '';
     doCheck = false; # https://github.com/chrisdone/hindent/issues/299
-  })).override {
-    haskell-src-exts = self.haskell-src-exts_1_20_1;
-  };
+  }));
 
-  # Need newer versions of their dependencies than the ones we have in LTS-10.x.
-  cabal2nix = super.cabal2nix.override { hpack = self.hpack_0_27_0; };
-  hlint = super.hlint.overrideScope (self: super: { haskell-src-exts = self.haskell-src-exts_1_20_1; });
+  # Need newer versions of their dependencies than the ones we have in LTS-11.x.
+  cabal2nix = super.cabal2nix.overrideScope (self: super: { hpack = self.hpack_0_28_2; hackage-db = self.hackage-db_2_0_1; });
+  dbus-hslogger = super.dbus-hslogger.overrideScope (self: super: { dbus = self.dbus_1_0_1; });
+  status-notifier-item = super.status-notifier-item.overrideScope (self: super: { dbus = self.dbus_1_0_1; });
 
   # https://github.com/bos/configurator/issues/22
   configurator = dontCheck super.configurator;
@@ -817,23 +863,11 @@ self: super: {
   fluid-idl-http-client = markBroken super.fluid-idl-http-client;
   fluid-idl-scotty = markBroken super.fluid-idl-scotty;
 
-  # Build with gi overloading feature disabled.
-  ltk = super.ltk.overrideScope (self: super: { haskell-gi-overloading = self.haskell-gi-overloading_0_0; });
-
   # missing dependencies: Glob >=0.7.14 && <0.8, data-fix ==0.0.4
   stack2nix = doJailbreak super.stack2nix;
 
-  # Hacks to work around https://github.com/haskell/c2hs/issues/192.
-  c2hs = (overrideCabal super.c2hs {
-    version = "0.26.2-28-g8b79823";
-    doCheck = false;
-    src = pkgs.fetchFromGitHub {
-      owner = "deech";
-      repo = "c2hs";
-      rev = "8b79823c32e234c161baec67fdf7907952ca62b8";
-      sha256 = "0hyrcyssclkdfcw2kgcark8jl869snwnbrhr9k0a9sbpk72wp7nz";
-    };
-  });
+  # Work around https://github.com/haskell/c2hs/issues/192.
+  c2hs = dontCheck super.c2hs;
 
   # Needs pginit to function and pgrep to verify.
   tmp-postgres = overrideCabal super.tmp-postgres (drv: {
@@ -841,21 +875,8 @@ self: super: {
     testToolDepends = drv.testToolDepends or [] ++ [pkgs.procps];
   });
 
-  # https://github.com/fpco/stackage/issues/3126
-  stack = doJailbreak super.stack;
-
-  # Hoogle needs newer versions than lts-10 provides. lambdabot-haskell-plugins
-  # depends on Hoogle and therefore needs to use the same version.
-  hoogle = super.hoogle.override {
-    haskell-src-exts = self.haskell-src-exts_1_20_1;
-    http-conduit = self.http-conduit_2_3_0;
-  };
-  lambdabot-haskell-plugins = super.lambdabot-haskell-plugins.override {
-    haskell-src-exts-simple = self.haskell-src-exts-simple_1_20_0_0;
-  };
-  haskell-src-exts-simple_1_20_0_0 = super.haskell-src-exts-simple_1_20_0_0.override {
-    haskell-src-exts = self.haskell-src-exts_1_20_1;
-  };
+  # Needs newer versions than what we have in LTS-11.x at the moment.
+  stack = super.stack.overrideScope (self: super: { hpack = self.hpack_0_28_2; });
 
   # These packages depend on each other, forming an infinite loop.
   scalendar = markBroken (super.scalendar.override { SCalendar = null; });
@@ -873,9 +894,6 @@ self: super: {
   # Needs QuickCheck <2.10, HUnit <1.6 and base <4.10
   pointfree = doJailbreak super.pointfree;
 
-  # Needs time<1.7
-  taffybar = doJailbreak super.taffybar;
-
   # Needs tasty-quickcheck ==0.8.*, which we don't have.
   cryptohash-sha256 = doJailbreak super.cryptohash-sha256;
   cryptohash-sha1 = doJailbreak super.cryptohash-sha1;
@@ -915,40 +933,26 @@ self: super: {
   # https://github.com/bos/text-icu/issues/32
   text-icu = dontCheck super.text-icu;
 
-  # https://github.com/strake/lenz.hs/issues/2
-  lenz =
-    let patch = pkgs.fetchpatch
-          { url = https://github.com/strake/lenz.hs/commit/4b9b79104759b9c6b24484455e1eb0d962eb3cff.patch;
-            sha256 = "02i0w9i55a4r251wgjzl5vbk6m2qhilwl7bfp5jwmf22z66sglyn";
-          };
-    in overrideCabal super.lenz (drv:
-      { patches = (drv.patches or []) ++ [ patch ];
-        editedCabalFile = null;
-      });
-
   # https://github.com/haskell/cabal/issues/4969
   haddock-library_1_4_4 = dontHaddock super.haddock-library_1_4_4;
   haddock-api = super.haddock-api.override { haddock-library = self.haddock-library_1_4_4; };
 
   # Jailbreak "unix-compat >=0.1.2 && <0.5".
-  darcs = overrideCabal super.darcs (drv: { preConfigure = "sed -i -e 's/unix-compat .*,/unix-compat,/' darcs.cabal"; });
+  darcs = overrideCabal super.darcs (drv: { preConfigure = "sed -i -e 's/unix-compat .*,/unix-compat,/' -e 's/fgl .*,/fgl,/' darcs.cabal"; });
 
   # https://github.com/Twinside/Juicy.Pixels/issues/149
   JuicyPixels = dontHaddock super.JuicyPixels;
 
-  # armv7l fixes.
-  happy = if pkgs.stdenv.isAarch32 then dontCheck super.happy else super.happy; # Similar to https://ghc.haskell.org/trac/ghc/ticket/13062
-  hashable = if pkgs.stdenv.isAarch32 then dontCheck super.hashable else super.hashable; # https://github.com/tibbe/hashable/issues/95
-  servant-docs = if pkgs.stdenv.isAarch32 then dontCheck super.servant-docs else super.servant-docs;
-  servant-swagger = if pkgs.stdenv.isAarch32 then dontCheck super.servant-swagger else super.servant-swagger;
-  swagger2 = if pkgs.stdenv.isAarch32 then dontHaddock (dontCheck super.swagger2) else super.swagger2;
+  # aarch64 and armv7l fixes.
+  happy = if (pkgs.stdenv.hostPlatform.isAarch32 || pkgs.stdenv.hostPlatform.isAarch64) then dontCheck super.happy else super.happy; # Similar to https://ghc.haskell.org/trac/ghc/ticket/13062
+  hashable = if (pkgs.stdenv.hostPlatform.isAarch32 || pkgs.stdenv.hostPlatform.isAarch64) then dontCheck super.hashable else super.hashable; # https://github.com/tibbe/hashable/issues/95
+  servant-docs = if (pkgs.stdenv.hostPlatform.isAarch32 || pkgs.stdenv.hostPlatform.isAarch64) then dontCheck super.servant-docs else super.servant-docs;
+  servant-swagger = if (pkgs.stdenv.hostPlatform.isAarch32 || pkgs.stdenv.hostPlatform.isAarch64) then dontCheck super.servant-swagger else super.servant-swagger;
+  swagger2 = if (pkgs.stdenv.hostPlatform.isAarch32 || pkgs.stdenv.hostPlatform.isAarch64) then dontHaddock (dontCheck super.swagger2) else super.swagger2;
 
   # Tries to read a file it is not allowed to in the test suite
   load-env = dontCheck super.load-env;
 
-  # Sporadically OOMs even with 16G
-  ChasingBottoms = dontCheck super.ChasingBottoms;
-
   # Add support for https://github.com/haskell-hvr/multi-ghc-travis.
   multi-ghc-travis = self.callPackage ../tools/haskell/multi-ghc-travis {};
 
@@ -966,37 +970,37 @@ self: super: {
   hledger = overrideCabal super.hledger (drv: {
     postInstall = ''
       for i in $(seq 1 9); do
-        for j in $data/share/${self.ghc.name}/*-${self.ghc.name}/*/*.$i $data/share/${self.ghc.name}/*-${self.ghc.name}/*/.otherdocs/*.$i; do
+        for j in embeddedfiles/*.$i; do
           mkdir -p $out/share/man/man$i
-          cp $j $out/share/man/man$i/
+          cp -v $j $out/share/man/man$i/
         done
       done
       mkdir -p $out/share/info
-      cp $data/share/${self.ghc.name}/*-${self.ghc.name}/*/*.info $out/share/info/
+      cp -v embeddedfiles/*.info* $out/share/info/
     '';
   });
   hledger-ui = overrideCabal super.hledger-ui (drv: {
     postInstall = ''
       for i in $(seq 1 9); do
-        for j in $data/share/${self.ghc.name}/*-${self.ghc.name}/*/*.$i $data/share/${self.ghc.name}/*-${self.ghc.name}/*/.otherdocs/*.$i; do
+        for j in *.$i; do
           mkdir -p $out/share/man/man$i
-          cp $j $out/share/man/man$i/
+          cp -v $j $out/share/man/man$i/
         done
       done
       mkdir -p $out/share/info
-      cp $data/share/${self.ghc.name}/*-${self.ghc.name}/*/*.info $out/share/info/
+      cp -v *.info* $out/share/info/
     '';
   });
   hledger-web = overrideCabal super.hledger-web (drv: {
     postInstall = ''
       for i in $(seq 1 9); do
-        for j in $data/share/${self.ghc.name}/*-${self.ghc.name}/*/*.$i $data/share/${self.ghc.name}/*-${self.ghc.name}/*/.otherdocs/*.$i; do
+        for j in *.$i; do
           mkdir -p $out/share/man/man$i
-          cp $j $out/share/man/man$i/
+          cp -v $j $out/share/man/man$i/
         done
       done
       mkdir -p $out/share/info
-      cp $data/share/${self.ghc.name}/*-${self.ghc.name}/*/*.info $out/share/info/
+      cp -v *.info* $out/share/info/
     '';
   });
 
@@ -1006,4 +1010,57 @@ self: super: {
   # Needs older hlint
   hpio = dontCheck super.hpio;
 
+  # https://github.com/fpco/inline-c/issues/72
+  inline-c = dontCheck super.inline-c;
+
+  # https://github.com/GaloisInc/pure-zlib/issues/6
+  pure-zlib = doJailbreak super.pure-zlib;
+
+  # https://github.com/strake/lenz-template.hs/issues/1
+  lenz-template = doJailbreak super.lenz-template;
+
+  # https://github.com/haskell-hvr/resolv/issues/1
+  resolv = dontCheck super.resolv;
+
+  # spdx 0.2.2.0 needs older tasty
+  # was fixed in spdx master (4288df6e4b7840eb94d825dcd446b42fef25ef56)
+  spdx = dontCheck super.spdx;
+
+  # The test suite does not know how to find the 'alex' binary.
+  alex = overrideCabal super.alex (drv: {
+    testSystemDepends = (drv.testSystemDepends or []) ++ [pkgs.which];
+    preCheck = ''export PATH="$PWD/dist/build/alex:$PATH"'';
+  });
+
+  # This package refers to the wrong library (itself in fact!)
+  vulkan = super.vulkan.override { vulkan = pkgs.vulkan-loader; };
+
+  # Builds only with the latest version of indexed-list-literals.
+  vector-sized_1_0_1_0 = super.vector-sized_1_0_1_0.override {
+    indexed-list-literals = self.indexed-list-literals_0_2_0_0;
+  };
+
+  # https://github.com/dmwit/encoding/pull/3
+  encoding = appendPatch super.encoding ./patches/encoding-Cabal-2.0.patch;
+
+  # Work around overspecified constraint on github ==0.18.
+  github-backup = doJailbreak super.github-backup;
+
 }
+
+//
+
+(let
+  amazonkaOverrides = self: super: {
+    conduit = self.conduit_1_2_13_1;
+    conduit-extra = self.conduit-extra_1_2_3_2;
+    resourcet = self.resourcet_1_1_11;
+    xml-conduit = self.xml-conduit_1_7_1_2;
+    http-conduit = self.http-conduit_2_2_4;
+  };
+  amazonka-core = super.amazonka-core.overrideScope amazonkaOverrides;
+  amazonka = super.amazonka.overrideScope amazonkaOverrides;
+  amazonka-test = super.amazonka-test.overrideScope amazonkaOverrides;
+in {
+  inherit amazonka amazonka-core amazonka-test;
+})
diff --git a/pkgs/development/haskell-modules/configuration-ghc-7.10.x.nix b/pkgs/development/haskell-modules/configuration-ghc-7.10.x.nix
index c63ec7b70f7..15220c24b4f 100644
--- a/pkgs/development/haskell-modules/configuration-ghc-7.10.x.nix
+++ b/pkgs/development/haskell-modules/configuration-ghc-7.10.x.nix
@@ -41,7 +41,8 @@ self: super: {
 
   gtk2hs-buildtools = super.gtk2hs-buildtools.override { Cabal = self.Cabal_1_24_2_0; };
 
-  megaparsec = addBuildDepend super.megaparsec self.fail;
+  # https://github.com/mrkkrp/megaparsec/issues/282
+  megaparsec = addBuildDepend (dontCheck super.megaparsec) self.fail;
 
   Extra = appendPatch super.Extra (pkgs.fetchpatch {
     url = "https://github.com/seereason/sr-extra/commit/29787ad4c20c962924b823d02a7335da98143603.patch";
@@ -172,10 +173,6 @@ self: super: {
   # https://github.com/thoughtpolice/hs-ed25519/issues/13
   ed25519 = dontCheck super.ed25519;
 
-  # https://github.com/well-typed/hackage-security/issues/157
-  # https://github.com/well-typed/hackage-security/issues/158
-  hackage-security = dontHaddock (dontCheck super.hackage-security);
-
   # Breaks a dependency cycle between QuickCheck and semigroups
   hashable = dontCheck super.hashable;
   unordered-containers = dontCheck super.unordered-containers;
@@ -186,6 +183,7 @@ self: super: {
   attoparsec = addBuildDepends super.attoparsec (with self; [semigroups fail]);
   bytes = addBuildDepend super.bytes self.doctest;
   case-insensitive = addBuildDepend super.case-insensitive self.semigroups;
+  cmdargs = addBuildDepend super.cmdargs self.semigroups;
   contravariant = addBuildDepend super.contravariant self.semigroups;
   dependent-map = addBuildDepend super.dependent-map self.semigroups;
   distributive = addBuildDepend (dontCheck super.distributive) self.semigroups;
@@ -198,9 +196,11 @@ self: super: {
   natural-transformation = addBuildDepend super.natural-transformation self.semigroups;
   optparse-applicative = addBuildDepends super.optparse-applicative [self.semigroups self.fail];
   parsec = addBuildDepends super.parsec [self.fail self.semigroups];
+  parser-combinators = addBuildDepend super.parser-combinators self.semigroups;
   QuickCheck = addBuildDepend super.QuickCheck self.semigroups;
   reflection = addBuildDepend super.reflection self.semigroups;
   semigroups = addBuildDepends (dontCheck super.semigroups) (with self; [hashable tagged text unordered-containers]);
+  tar = addBuildDepend super.tar self.semigroups;
   texmath = addBuildDepend super.texmath self.network-uri;
   yesod-auth-oauth2 = overrideCabal super.yesod-auth-oauth2 (drv: { testDepends = (drv.testDepends or []) ++ [ self.load-env self.yesod ]; });
 
@@ -219,4 +219,15 @@ self: super: {
   chr-pretty = doJailbreak super.chr-pretty;
   chr-parse = doJailbreak super.chr-parse;
 
+  # The autogenerated Nix expressions don't take into
+  # account `if impl(ghc >= x.y)`, which is a common method to depend
+  # on `semigroups` or `fail` when building with GHC < 8.0.
+  system-filepath = addBuildDepend super.system-filepath self.semigroups;
+  haskell-src-exts = addBuildDepend super.haskell-src-exts self.semigroups;
+  free = addBuildDepend super.free self.fail;
+
+  # Newer versions don't build without base-4.9
+  resourcet = self.resourcet_1_1_11;
+  conduit = self.conduit_1_2_13_1;
+
 }
diff --git a/pkgs/development/haskell-modules/configuration-ghc-8.0.x.nix b/pkgs/development/haskell-modules/configuration-ghc-8.0.x.nix
index 30be6a031d4..7924a39fa96 100644
--- a/pkgs/development/haskell-modules/configuration-ghc-8.0.x.nix
+++ b/pkgs/development/haskell-modules/configuration-ghc-8.0.x.nix
@@ -35,9 +35,6 @@ self: super: {
   unix = null;
   xhtml = null;
 
-  # jailbreak-cabal can use the native Cabal library.
-  jailbreak-cabal = super.jailbreak-cabal.override { Cabal = null; };
-
   # https://github.com/bmillwood/applicative-quoters/issues/6
   applicative-quoters = appendPatch super.applicative-quoters (pkgs.fetchpatch {
     url = "https://patch-diff.githubusercontent.com/raw/bmillwood/applicative-quoters/pull/7.patch";
@@ -69,7 +66,15 @@ self: super: {
   inline-c = super.inline-c_0_5_6_1;
   inline-c-cpp = super.inline-c-cpp_0_1_0_0;
 
+  # test dep hedgehog pulls in concurrent-output, which does not build
+  # due to processing version mismatch
+  either = dontCheck super.either;
+
+  # test dep tasty has a version mismatch
+  indents = dontCheck super.indents;
+
   # Newer versions require GHC 8.2.
+  haddock-library = self.haddock-library_1_4_3;
   haddock-api = self.haddock-api_2_17_4;
   haddock = self.haddock_2_17_5;
 }
diff --git a/pkgs/development/haskell-modules/configuration-ghc-8.2.x.nix b/pkgs/development/haskell-modules/configuration-ghc-8.2.x.nix
index 4538d8471c0..d1bb60e8395 100644
--- a/pkgs/development/haskell-modules/configuration-ghc-8.2.x.nix
+++ b/pkgs/development/haskell-modules/configuration-ghc-8.2.x.nix
@@ -41,9 +41,6 @@ self: super: {
     prePatch = "sed -i -e 's/process.*< 1.5,/process,/g' Cabal.cabal";
   });
 
-  # cabal-install can use the native Cabal library.
-  cabal-install = super.cabal-install.override { Cabal = null; };
-
   # jailbreak-cabal doesn't seem to work right with the native Cabal version.
   jailbreak-cabal = pkgs.haskell.packages.ghc802.jailbreak-cabal;
 
@@ -86,4 +83,15 @@ self: super: {
   # https://github.com/purescript/purescript/issues/3189
   purescript = doJailbreak (super.purescript);
 
+  # These packages need Cabal 2.2.x, which is not the default.
+  cabal2nix = super.cabal2nix.overrideScope (self: super: { Cabal = self.Cabal_2_2_0_1; });
+  cabal2spec = super.cabal2spec.overrideScope (self: super: { Cabal = self.Cabal_2_2_0_1; });
+  distribution-nixpkgs = super.distribution-nixpkgs.overrideScope (self: super: { Cabal = self.Cabal_2_2_0_1; });
+  hackage-db_2_0_1 = super.hackage-db_2_0_1.overrideScope (self: super: { Cabal = self.Cabal_2_2_0_1; });
+  stack = super.stack.overrideScope (self: super: { Cabal = self.Cabal_2_2_0_1; });
+  stylish-cabal = dontCheck (super.stylish-cabal.overrideScope (self: super: {
+    Cabal = self.Cabal_2_2_0_1;
+    haddock-library = dontHaddock (dontCheck self.haddock-library_1_5_0_1);
+  }));
+
 }
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 bad0d642b06..70624d1ed6a 100644
--- a/pkgs/development/haskell-modules/configuration-ghc-8.4.x.nix
+++ b/pkgs/development/haskell-modules/configuration-ghc-8.4.x.nix
@@ -8,9 +8,6 @@ self: super: {
   inherit (pkgs) llvmPackages;
 
   # Disable GHC 8.4.x core libraries.
-  #
-  # Verify against:
-  # ls /nix/store/wnh3kxra586h9wvxrn62g4lmsri2akds-ghc-8.4.20180115/lib/ghc-8.4.20180115/ -1 | sort | grep -e '-' | grep -Ev '(txt|h|targets)$'
   array = null;
   base = null;
   binary = null;
@@ -20,12 +17,11 @@ self: super: {
   deepseq = null;
   directory = null;
   filepath = null;
-  bin-package-db = null;
   ghc-boot = null;
   ghc-boot-th = null;
   ghc-compact = null;
-  ghci = null;
   ghc-prim = null;
+  ghci = null;
   haskeline = null;
   hpc = null;
   integer-gmp = null;
@@ -33,6 +29,7 @@ self: super: {
   parsec = null;
   pretty = null;
   process = null;
+  rts = null;
   stm = null;
   template-haskell = null;
   terminfo = null;
@@ -45,161 +42,71 @@ self: super: {
   ## Shadowed:
 
   ## Needs bump to a versioned attribute
-  ##     • Could not deduce (Semigroup (Dict a))
-  ##         arising from the superclasses of an instance declaration
-  ##       from the context: a
-  constraints = super.constraints_0_10;
-
-  ## Needs bump to a versioned attribute
   ## Issue: https://github.com/sol/doctest/issues/189
-  doctest = overrideCabal super.doctest_0_14_1 (drv: {
+  doctest = overrideCabal super.doctest_0_15_0 (drv: {
     ## Setup: Encountered missing dependencies:
     ## ghc >=7.0 && <8.4
     ##
-    ##        uncaught exception: IOException of type NoSuchThing (cabal: rawSystem: runInteractiveProcess: exec: does not exist (No such file or directory))
+    ## Setup: Encountered missing dependencies:
+    ## QuickCheck >=2.11.3
     doCheck         = false;
   });
 
   ## Needs bump to a versioned attribute
-  ##     • Could not deduce (Semigroup (IterT m a))
-  ##         arising from the superclasses of an instance declaration
-  ##       from the context: (Monad m, Monoid a)
-  free = super.free_5;
-
-  ## Needs bump to a versioned attribute
   ## Setup: Encountered missing dependencies:
-  ## base >=3 && <4.11
-  ## Needed for (<>) in prelude
-  funcmp = super.funcmp_1_9;
+  ## Cabal <2.2
+  ## Older versions don't compile.
+  hackage-db = super.hackage-db_2_0_1;
 
   ## Needs bump to a versioned attribute
-  hspec = overrideCabal super.hspec_2_4_8 (drv: {
+  haddock-library = overrideCabal super.haddock-library_1_5_0_1 (drv: {
     ## Setup: Encountered missing dependencies:
-    ## hspec-core ==2.4.4, hspec-discover ==2.4.4
+    ## base >=4.5 && <4.11
+    ## Older versions don't compile
     ##
-    ## error: while evaluating the attribute ‘buildInputs’ of the derivation ‘hspec-2.4.8’ at /home/deepfire/src/nixpkgs/pkgs/stdenv/generic/make-derivation.nix:148:11:
-    ## while evaluating the attribute ‘buildInputs’ of the derivation ‘stringbuilder-0.5.1’ at /home/deepfire/src/nixpkgs/pkgs/stdenv/generic/make-derivation.nix:148:11:
-    ## infinite recursion encountered, at undefined position
-    ## test suite causes an infinite loop
+    ## Setup: Encountered missing dependencies:
+    ## QuickCheck ==2.11.*
     doCheck         = false;
+    ## Running Haddock on library for haddock-library-1.5.0.1..
+    ## Setup: internal error when calculating transitive package dependencies.
+    ## Debug info: []
+    doHaddock       = false;
   });
 
   ## Needs bump to a versioned attribute
-  hspec-core = overrideCabal super.hspec-core_2_4_8 (drv: {
+  hspec = overrideCabal super.hspec_2_5_0 (drv: {
     ## Setup: Encountered missing dependencies:
-    ## QuickCheck >=2.5.1 && <2.11
+    ## hspec-core ==2.4.4, hspec-discover ==2.4.4
     ##
-    ## error: while evaluating the attribute ‘buildInputs’ of the derivation ‘hspec-core-2.4.8’ at /home/deepfire/src/nixpkgs/pkgs/stdenv/generic/make-derivation.nix:148:11:
-    ## while evaluating the attribute ‘buildInputs’ of the derivation ‘silently-1.2.5’ at /home/deepfire/src/nixpkgs/pkgs/stdenv/generic/make-derivation.nix:148:11:
-    ## while evaluating the attribute ‘buildInputs’ of the derivation ‘temporary-1.2.1.1’ at /home/deepfire/src/nixpkgs/pkgs/stdenv/generic/make-derivation.nix:148:11:
-    ## while evaluating the attribute ‘buildInputs’ of the derivation ‘base-compat-0.9.3’ at /home/deepfire/src/nixpkgs/pkgs/stdenv/generic/make-derivation.nix:148:11:
-    ## while evaluating the attribute ‘propagatedBuildInputs’ of the derivation ‘hspec-2.4.8’ at /home/deepfire/src/nixpkgs/pkgs/stdenv/generic/make-derivation.nix:148:11:
+    ## error: while evaluating the attribute ‘buildInputs’ of the derivation ‘hspec-2.4.8’ at nixpkgs://pkgs/stdenv/generic/make-derivation.nix:148:11:
+    ## while evaluating the attribute ‘buildInputs’ of the derivation ‘stringbuilder-0.5.1’ at nixpkgs://pkgs/stdenv/generic/make-derivation.nix:148:11:
     ## infinite recursion encountered, at undefined position
+    ## test suite causes an infinite loop
     doCheck         = false;
   });
 
   ## Needs bump to a versioned attribute
-  ## Setup: Encountered missing dependencies:
-  ## hspec-discover ==2.4.8
-  hspec-discover = super.hspec-discover_2_4_8;
-
-  ## Needs bump to a versioned attribute
-  ## Setup: Encountered missing dependencies:
-  ## free ==4.*, template-haskell >=2.4 && <2.13
-  lens = super.lens_4_16;
-
-  ## Needs bump to a versioned attribute
-  ## Setup: Encountered missing dependencies:
-  ## doctest >=0.11.1 && <0.14
-  semigroupoids = super.semigroupoids_5_2_2;
-
-  ## Needs bump to a versioned attribute
-  ## Issue: https://github.com/haskell/test-framework/issues/35
-  test-framework = overrideCabal super.test-framework_0_8_2_0 (drv: {
-    ##     • No instance for (Semigroup (TestOptions' Maybe))
+  hspec-core = overrideCabal super.hspec-core_2_5_0 (drv: {
+    ##     • No instance for (Semigroup Summary)
     ##         arising from the superclasses of an instance declaration
-    ##     • In the instance declaration for ‘Monoid (TestOptions' Maybe)’
+    ##     • In the instance declaration for ‘Monoid Summary’
     ##
-    ## Setup: Encountered missing dependencies:
-    ## QuickCheck >=2.3 && <2.10
+    ## error: while evaluating the attribute ‘buildInputs’ of the derivation ‘hspec-core-2.4.8’ at nixpkgs://pkgs/stdenv/generic/make-derivation.nix:148:11:
+    ## while evaluating the attribute ‘buildInputs’ of the derivation ‘silently-1.2.5’ at nixpkgs://pkgs/stdenv/generic/make-derivation.nix:148:11:
+    ## while evaluating the attribute ‘buildInputs’ of the derivation ‘temporary-1.2.1.1’ at nixpkgs://pkgs/stdenv/generic/make-derivation.nix:148:11:
+    ## while evaluating the attribute ‘buildInputs’ of the derivation ‘base-compat-0.9.3’ at nixpkgs://pkgs/stdenv/generic/make-derivation.nix:148:11:
+    ## while evaluating the attribute ‘propagatedBuildInputs’ of the derivation ‘hspec-2.4.8’ at nixpkgs://pkgs/stdenv/generic/make-derivation.nix:148:11:
+    ## infinite recursion encountered, at undefined position
     doCheck         = false;
   });
 
   ## Needs bump to a versioned attribute
-  ##     Module ‘Data.Semigroup’ does not export ‘Monoid(..)’
-  ##    |
-  ## 80 | import Data.Semigroup (Semigroup(..), Monoid(..))
-  unordered-containers = super.unordered-containers_0_2_9_0;
-
+  ## Setup: Encountered missing dependencies:
+  ## hspec-discover ==2.4.8
+  hspec-discover = super.hspec-discover_2_5_0;
 
   ## On Hackage:
 
-  ## On Hackage, awaiting for import
-  tasty = overrideCabal super.tasty (drv: {
-    ##     • No instance for (Semigroup OptionSet)
-    ##         arising from the superclasses of an instance declaration
-    ##     • In the instance declaration for ‘Monoid OptionSet’
-    version         = "1.0.0.1";
-    sha256          = "0ggqffw9kbb6nlq1pplk131qzxndqqzqyf4s2p7576nljx11a7qf";
-  });
-
-
-  ## Upstreamed
-
-  ## Upstreamed, awaiting a Hackage release
-  deriving-compat = overrideCabal super.deriving-compat (drv: {
-    ## Setup: Encountered missing dependencies:
-    ## template-haskell >=2.5 && <2.13
-    src = pkgs.fetchFromGitHub {
-      owner  = "haskell-compat";
-      repo   = "deriving-compat";
-      rev    = "e592c6f8af53866dcf6f5700175a3b02bb4f77d3";
-      sha256 = "0h4qadk7fmz5v3lbdsxfbf3ha81f73xn7v0s6wia16ika5yvfggs";
-    };
-    ## Setup: Encountered missing dependencies:
-    ## th-abstraction >=0.2.2 && <1
-    libraryHaskellDepends = drv.libraryHaskellDepends ++ (with self; [ th-abstraction ]);
-  });
-
-  ## Upstreamed, awaiting a Hackage release
-  haskell-gi = overrideCabal super.haskell-gi (drv: {
-    ## Setup: Encountered missing dependencies:
-    ## haskell-gi-base ==0.20.*
-    src = pkgs.fetchFromGitHub {
-      owner  = "haskell-gi";
-      repo   = "haskell-gi";
-      rev    = "30d2e6415c5b57760f8754cd3003eb07483d60e6";
-      sha256 = "1l3qm97gcjih695hhj80rbpnd72prnc81lg5y373yj8jk9f6ypbr";
-    };
-  });
-
-  ## Upstreamed, awaiting a Hackage release
-  haskell-gi-base = overrideCabal super.haskell-gi-base (drv: {
-    ## Setup: Encountered missing dependencies:
-    ## haskell-gi-base ==0.21.*
-    ## cannot build derivation ‘/nix/store/qvnrni6j2sz8z26kmjz1hgxfxvggkvjl-gi-cairo-1.0.14.drv’: 1 dependencies couldn't be built
-    src = pkgs.fetchFromGitHub {
-      owner  = "haskell-gi";
-      repo   = "haskell-gi";
-      rev    = "30d2e6415c5b57760f8754cd3003eb07483d60e6";
-      sha256 = "1l3qm97gcjih695hhj80rbpnd72prnc81lg5y373yj8jk9f6ypbr";
-    };
-    prePatch        = "cd base; ";
-  });
-
-  ## Upstreamed, awaiting a Hackage release
-  haskell-src-exts = overrideCabal super.haskell-src-exts (drv: {
-    ##     • Could not deduce (Semigroup (ParseResult m))
-    ##         arising from the superclasses of an instance declaration
-    ##       from the context: Monoid m
-    src = pkgs.fetchFromGitHub {
-      owner  = "haskell-suite";
-      repo   = "haskell-src-exts";
-      rev    = "935f6f0915e89c314b686bdbdc6980c72335ba3c";
-      sha256 = "1v3c1bd5q07qncqfbikvs8h3r4dr500blm5xv3b4jqqv69f0iam9";
-    };
-  });
-
   ## Upstreamed, awaiting a Hackage release
   http-api-data = overrideCabal super.http-api-data (drv: {
     ##     • No instance for (Semigroup Form)
@@ -245,56 +152,8 @@ self: super: {
     prePatch        = "cd lambdacube-ir.haskell; ";
   });
 
-  ## Upstreamed, awaiting a Hackage release
-  simple-reflect = overrideCabal super.simple-reflect (drv: {
-    ##     • No instance for (Semigroup Expr)
-    ##         arising from the superclasses of an instance declaration
-    ##     • In the instance declaration for ‘Monoid Expr’
-    src = pkgs.fetchFromGitHub {
-      owner  = "twanvl";
-      repo   = "simple-reflect";
-      rev    = "c357e55da9a712dc5dbbfe6e36394e4ada2db310";
-      sha256 = "15q41b00l8y51xzhbj5zhddyh3gi7gvml033w8mm2fih458jf6yq";
-    };
-  });
-
-  ## Upstreamed, awaiting a Hackage release
-  singletons = overrideCabal super.singletons (drv: {
-    ## Setup: Encountered missing dependencies:
-    ## th-desugar ==1.7.*
-    src = pkgs.fetchFromGitHub {
-      owner  = "goldfirere";
-      repo   = "singletons";
-      rev    = "23aa4bdaf05ce025a2493b35ec3c26cc94e3fdce";
-      sha256 = "0hw12v4z8jxmykc3j8z6g27swmfpxv40bgnx7nl0ialpwbz9mz27";
-    };
-  });
-
-  ## Upstreamed, awaiting a Hackage release
-  tar = overrideCabal super.tar (drv: {
-    ##     • No instance for (Semigroup (Entries e))
-    ##         arising from the superclasses of an instance declaration
-    ##     • In the instance declaration for ‘Monoid (Entries e)’
-    src = pkgs.fetchFromGitHub {
-      owner  = "haskell";
-      repo   = "tar";
-      rev    = "abf2ccb8f7da0514343a0b2624cabebe081bdfa8";
-      sha256 = "0s33lgrr574i1r7zc1jqahnwx3dv47ny30mbx5zfpdzjw0jdl5ny";
-    };
-  });
-
-  ## Upstreamed, awaiting a Hackage release
-  th-desugar = overrideCabal super.th-desugar (drv: {
-    ##     • Could not deduce (MonadIO (DsM q))
-    ##         arising from the 'deriving' clause of a data type declaration
-    ##       from the context: Quasi q
-    src = pkgs.fetchFromGitHub {
-      owner  = "goldfirere";
-      repo   = "th-desugar";
-      rev    = "4ca98c6492015e6ad063d3ad1a2ad6c4f0a56837";
-      sha256 = "1n3myd3gia9qsgdvrwqa023d3g7wkrhyv0wc8czwzz0lj9xzh7lw";
-    };
-  });
+  singletons = super.singletons_2_4_1;
+  th-desugar = super.th-desugar_1_8;
 
   ## Upstreamed, awaiting a Hackage release
   websockets = overrideCabal super.websockets (drv: {
@@ -312,19 +171,6 @@ self: super: {
 
   ## Unmerged
 
-  ## Unmerged.  PR: https://github.com/lpsmith/blaze-builder/pull/10
-  blaze-builder = overrideCabal super.blaze-builder (drv: {
-    ##     • No instance for (Semigroup Poke)
-    ##         arising from the superclasses of an instance declaration
-    ##     • In the instance declaration for ‘Monoid Poke’
-    src = pkgs.fetchFromGitHub {
-      owner  = "bgamari";
-      repo   = "blaze-builder";
-      rev    = "b7195f160795a081adbb9013810d843f1ba5e062";
-      sha256 = "1g351fdpsvn2lbqiy9bg2s0wwrdccb8q1zh7gvpsx5nnj24b1c00";
-    };
-  });
-
   ## Unmerged.  PR: https://github.com/wrengr/bytestring-trie/pull/3
   bytestring-trie = overrideCabal super.bytestring-trie (drv: {
     ##     • Could not deduce (Semigroup (Trie a))
@@ -344,50 +190,7 @@ self: super: {
     doCheck         = false;
     ## Setup: Encountered missing dependencies:
     ## data-or ==1.0.*
-    libraryHaskellDepends = drv.libraryHaskellDepends ++ (with self; [ data-or ]);
-  });
-
-  ## Unmerged.  PR: https://github.com/gtk2hs/gtk2hs/pull/233
-  gtk2hs-buildtools = overrideCabal super.gtk2hs-buildtools (drv: {
-    ## Setup: Encountered missing dependencies:
-    ## Cabal >=1.24.0.0 && <2.1
-    src = pkgs.fetchFromGitHub {
-      owner  = "deepfire";
-      repo   = "gtk2hs";
-      rev    = "08c68d5afc22dd5761ec2c92ebf49c6d252e545b";
-      sha256 = "06prn5wqq8x225n9wlbyk60f50jyjj8fm2hf181dyqjpf8wq75xa";
-    };
-    prePatch        = "cd tools; ";
-  });
-
-  ## Unmerged.  PR: https://github.com/gregorycollins/hashtables/pull/46
-  hashtables = overrideCabal super.hashtables (drv: {
-    ##     • No instance for (Semigroup Slot)
-    ##         arising from the superclasses of an instance declaration
-    ##     • In the instance declaration for ‘Monoid Slot’
-    src = pkgs.fetchFromGitHub {
-      owner  = "deepfire";
-      repo   = "hashtables";
-      rev    = "b9eb4b10a50bd6250330422afecc065339a32412";
-      sha256 = "0l4nplpvnzzf397zyh7j2k6yiqb46k6bdy00m4zzvhlfp7p1xkaw";
-    };
-  });
-
-  ## Unmerged.  PR: https://github.com/sol/hpack/pull/277
-  ## Issue: https://github.com/sol/hpack/issues/276
-  hpack = overrideCabal super.hpack (drv: {
-    ##     • No instance for (Semigroup Dependencies)
-    ##         arising from the 'deriving' clause of a data type declaration
-    ##       Possible fix:
-    src = pkgs.fetchFromGitHub {
-      owner  = "deepfire";
-      repo   = "hpack";
-      rev    = "acce0cffcc1d165a0fd9f0b83878dfbd622ea0d6";
-      sha256 = "1wv0ya1gb1hwd9w8g4z5aig694q3arsqhxv0d4wcp270xnq9ja8y";
-    };
-    ## Setup: Encountered missing dependencies:
-    ## http-client -any, http-client-tls -any, http-types -any
-    libraryHaskellDepends = drv.libraryHaskellDepends ++ (with self; [ http-client http-client-tls http-types ]);
+    libraryHaskellDepends = (drv.libraryHaskellDepends or []) ++ (with self; [ data-or ]);
   });
 
   ## Unmerged.  PR: https://github.com/hanshoglund/monadplus/pull/3
@@ -416,7 +219,7 @@ self: super: {
     };
     ## haddock: internal error: internal: extractDecl (ClsInstD)
     ## CallStack (from HasCallStack):
-    ##   error, called at utils/haddock/haddock-api/src/Haddock/Interface/Create.hs:1058:16 in main:Haddock.Interface.Create
+    ##   error, called at utils/haddock/haddock-api/src/Haddock/Interface/Create.hs:1067:16 in main:Haddock.Interface.Create
     doHaddock       = false;
     ## Setup: Encountered missing dependencies:
     ## base >=4.7 && <4.11, bifunctors >=5.2 && <5.5
@@ -427,33 +230,7 @@ self: super: {
     ## monad-control -any,
     ## prim-uniq -any,
     ## reflection -any,
-    libraryHaskellDepends = drv.libraryHaskellDepends ++ (with self; [ data-default haskell-src-exts lens monad-control prim-uniq reflection split template-haskell unbounded-delays ]);
-  });
-
-  ## Unmerged.  PR: https://github.com/ChrisKuklewicz/regex-tdfa/pull/13
-  regex-tdfa = overrideCabal super.regex-tdfa (drv: {
-    ##     • No instance for (Semigroup (CharMap a))
-    ##         arising from the superclasses of an instance declaration
-    ##     • In the instance declaration for ‘Monoid (CharMap a)’
-    src = pkgs.fetchFromGitHub {
-      owner  = "bgamari";
-      repo   = "regex-tdfa";
-      rev    = "34f4593a520176a917b74b8c7fcbbfbd72fb8178";
-      sha256 = "1aiklvf08w1hx2jn9n3sm61mfvdx4fkabszkjliapih2yjpmi3hq";
-    };
-  });
-
-  ## Unmerged.  PR: https://github.com/vincenthz/hs-securemem/pull/12
-  securemem = overrideCabal super.securemem (drv: {
-    ##     • No instance for (Semigroup SecureMem)
-    ##         arising from the superclasses of an instance declaration
-    ##     • In the instance declaration for ‘Monoid SecureMem’
-    src = pkgs.fetchFromGitHub {
-      owner  = "shlevy";
-      repo   = "hs-securemem";
-      rev    = "6168d90b00bfc6a559d3b9160732343644ef60fb";
-      sha256 = "06dhx1z44j5gshpdlsb4aryr3g4was3x4c2sgv1px8j57zrvlypx";
-    };
+    libraryHaskellDepends = (drv.libraryHaskellDepends or []) ++ (with self; [ data-default haskell-src-exts lens monad-control prim-uniq reflection split template-haskell unbounded-delays ]);
   });
 
   ## Unmerged.  PR: https://github.com/bos/text-format/pull/21
@@ -469,74 +246,6 @@ self: super: {
     };
   });
 
-  ## Unmerged.  PR: https://github.com/vincenthz/hs-tls/pull/270
-  tls = overrideCabal super.tls (drv: {
-    ##     • No instance for (Semigroup Credentials)
-    ##         arising from the superclasses of an instance declaration
-    ##     • In the instance declaration for ‘Monoid Credentials’
-    src = pkgs.fetchFromGitHub {
-      owner  = "ocheron";
-      repo   = "hs-tls";
-      rev    = "763656fbc6c2edabb43fc63d8717960f4b26e6e7";
-      sha256 = "0v7f9b78w6prkbscdx5ggjixll9z1zfqzm5x0ap4wvynnflkspqb";
-    };
-    prePatch        = "cd core; ";
-  });
-
-  ## Unmerged.  PR: https://github.com/Soostone/uri-bytestring/pull/0
-  uri-bytestring = overrideCabal super.uri-bytestring (drv: {
-    ## Setup: Encountered missing dependencies:
-    ## template-haskell >=2.9 && <2.13
-    src = pkgs.fetchFromGitHub {
-      owner  = "koenigmaximilian";
-      repo   = "uri-bytestring";
-      rev    = "105d5855bbf9c78d1e48394677b42a058e242fc9";
-      sha256 = "144hr12k0d61zpgxv62vwlzy6bfs01fqh7qr4qsbv457sznmbb9d";
-    };
-  });
-
-  ## Unmerged.  PR: https://github.com/ivan-m/wl-pprint-text/pull/17
-  wl-pprint-text = overrideCabal super.wl-pprint-text (drv: {
-    ##     Ambiguous occurrence ‘<>’
-    ##     It could refer to either ‘PP.<>’,
-    ##                              imported from ‘Prelude.Compat’ at Text/PrettyPrint/Leijen/Text/Monadic.hs:73:1-36
-    src = pkgs.fetchFromGitHub {
-      owner  = "deepfire";
-      repo   = "wl-pprint-text";
-      rev    = "615b83d1e5be52d1448aa1ab2517b431a617027b";
-      sha256 = "1p67v9s878br0r152h4n37smqhkg78v8zxhf4qm6d035s4rzj76i";
-    };
-  });
-
-  ## Unmerged.  PR: https://github.com/vincenthz/hs-certificate/pull/89
-  x509 = overrideCabal super.x509 (drv: {
-    ##     • No instance for (Semigroup DistinguishedName)
-    ##         arising from the superclasses of an instance declaration
-    ##     • In the instance declaration for ‘Monoid DistinguishedName’
-    src = pkgs.fetchFromGitHub {
-      owner  = "bgamari";
-      repo   = "hs-certificate";
-      rev    = "2c5f54ba69c8a0531d10f9b37542bf958ede54c9";
-      sha256 = "1fakr9gqz8k62rnjdsslfavbqrhn92jq9mahyc91f9zhisxp5kdf";
-    };
-    prePatch        = "cd x509; ";
-  });
-
-  ## Unmerged.  PR: https://github.com/vincenthz/hs-certificate/pull/89
-  x509-store = overrideCabal super.x509-store (drv: {
-    ##     • No instance for (Semigroup CertificateStore)
-    ##         arising from the superclasses of an instance declaration
-    ##     • In the instance declaration for ‘Monoid CertificateStore’
-    src = pkgs.fetchFromGitHub {
-      owner  = "bgamari";
-      repo   = "hs-certificate";
-      rev    = "2c5f54ba69c8a0531d10f9b37542bf958ede54c9";
-      sha256 = "1fakr9gqz8k62rnjdsslfavbqrhn92jq9mahyc91f9zhisxp5kdf";
-    };
-    prePatch        = "cd x509-store; ";
-  });
-
-
   ## Non-code, configuration-only change
 
   adjunctions = overrideCabal super.adjunctions (drv: {
@@ -551,48 +260,36 @@ self: super: {
     jailbreak       = true;
   });
 
-  bifunctors = overrideCabal super.bifunctors (drv: {
-    ## Setup: Encountered missing dependencies:
-    ## template-haskell >=2.4 && <2.13
-    jailbreak       = true;
-  });
-
   bindings-GLFW = overrideCabal super.bindings-GLFW (drv: {
     ## Setup: Encountered missing dependencies:
     ## template-haskell >=2.10 && <2.13
     jailbreak       = true;
   });
 
-  cabal2nix = super.cabal2nix.override {
-    ##     • No instance for (Semigroup (List a))
-    ##         arising from the 'deriving' clause of a data type declaration
-    ##       Possible fix:
-    hpack = self.hpack;
-  };
-
-  cabal-doctest = overrideCabal super.cabal-doctest (drv: {
+  deepseq-generics = overrideCabal super.deepseq-generics (drv: {
     ## Setup: Encountered missing dependencies:
-    ## Cabal >=1.10 && <2.1, base >=4.3 && <4.11
+    ## base >=4.5 && <4.11
+    ## https://github.com/haskell-hvr/deepseq-generics/pull/4
     jailbreak       = true;
   });
 
-  ChasingBottoms = overrideCabal super.ChasingBottoms (drv: {
+  exception-transformers = overrideCabal super.exception-transformers (drv: {
     ## Setup: Encountered missing dependencies:
-    ## QuickCheck >=2.3 && <2.11, base >=4.2 && <4.11
+    ## HUnit >=1.2 && <1.6
     jailbreak       = true;
   });
 
-  deepseq-generics = overrideCabal super.deepseq-generics (drv: {
+  github = overrideCabal super.github (drv: {
     ## Setup: Encountered missing dependencies:
-    ## base >=4.5 && <4.11
-    ## https://github.com/haskell-hvr/deepseq-generics/pull/4
+    ## base >=4.7 && <4.11
     jailbreak       = true;
   });
 
-  exception-transformers = overrideCabal super.exception-transformers (drv: {
+  haddock-library_1_5_0_1 = overrideCabal super.haddock-library_1_5_0_1 (drv: {
     ## Setup: Encountered missing dependencies:
-    ## HUnit >=1.2 && <1.6
-    jailbreak       = true;
+    ## QuickCheck ==2.11.*
+    doCheck         = false;
+    doHaddock       = false;
   });
 
   hashable = overrideCabal super.hashable (drv: {
@@ -613,13 +310,6 @@ self: super: {
     jailbreak       = true;
   });
 
-  here = overrideCabal super.here (drv: {
-    ## Setup: Encountered missing dependencies:
-    ## base >=4.5 && <4.11
-    ## https://github.com/tmhedberg/here/pull/22
-    jailbreak       = true;
-  });
-
   hnix = overrideCabal super.hnix (drv: {
     ## Setup: Encountered missing dependencies:
     ## deriving-compat ==0.3.*
@@ -664,13 +354,13 @@ self: super: {
     jailbreak       = true;
   });
 
-  megaparsec = overrideCabal super.megaparsec (drv: {
+  newtype-generics = overrideCabal super.newtype-generics (drv: {
     ## Setup: Encountered missing dependencies:
-    ## QuickCheck >=2.7 && <2.11
-    doCheck         = false;
+    ## base >=4.6 && <4.11
+    jailbreak       = true;
   });
 
-  newtype-generics = overrideCabal super.newtype-generics (drv: {
+  protolude = overrideCabal super.protolude (drv: {
     ## Setup: Encountered missing dependencies:
     ## base >=4.6 && <4.11
     jailbreak       = true;
@@ -688,12 +378,22 @@ self: super: {
     jailbreak       = true;
   });
 
-  scientific = overrideCabal super.scientific (drv: {
+  resolv = overrideCabal super.resolv (drv: {
     ## Setup: Encountered missing dependencies:
-    ## QuickCheck >=2.5 && <2.11
+    ## tasty >=0.11.2 && <0.12
     doCheck         = false;
   });
 
+  setlocale = overrideCabal super.setlocale (drv: {
+    ## https://bitbucket.org/IchUndNichtDu/haskell-setlocale/issues/1/please-allow-base-412-from-ghc-841
+    jailbreak       = true;
+  });
+
+  stylish-cabal = overrideCabal super.stylish-cabal (drv: {
+    ## https://github.com/pikajude/stylish-cabal/issues/6
+    doHaddock       = false;
+  });
+
   tasty-expected-failure = overrideCabal super.tasty-expected-failure (drv: {
     ## Setup: Encountered missing dependencies:
     ## base >=4.5 && <4.11
@@ -706,13 +406,6 @@ self: super: {
     jailbreak       = true;
   });
 
-  ## Issue: https://github.com/haskell/test-framework/issues/35
-  test-framework-quickcheck2 = overrideCabal super.test-framework-quickcheck2 (drv: {
-    ## Setup: Encountered missing dependencies:
-    ## QuickCheck >=2.4 && <2.11
-    jailbreak       = true;
-  });
-
   ## Issue: https://github.com/ChrisPenner/rasa/issues/54
   text-lens = overrideCabal super.text-lens (drv: {
     ## Failures:
@@ -721,23 +414,18 @@ self: super: {
     ##        uncaught exception: ErrorCall (Data.Text.Array.new: size overflow
     ##        CallStack (from HasCallStack):
     ##          error, called at libraries/text/Data/Text/Array.hs:132:20 in text-1.2.3.0:Data.Text.Array)
-    ## Randomized with seed 2114194349
-    ## Finished in 0.0017 seconds
+    ## Randomized with seed 1899912238
+    ## Finished in 0.0027 seconds
     doCheck         = false;
     ## Setup: Encountered missing dependencies:
     ## extra >=1.4.10 && <1.5, lens ==4.14.*
     jailbreak       = true;
   });
 
-  these = overrideCabal super.these (drv: {
-    ## Setup: Encountered missing dependencies:
-    ## base >=4.5 && <4.11
-    jailbreak       = true;
-  });
-
-  unliftio-core = overrideCabal super.unliftio-core (drv: {
+  ## Issue: https://github.com/phadej/tree-diff/issues/15
+  tree-diff = overrideCabal super.tree-diff (drv: {
     ## Setup: Encountered missing dependencies:
-    ## base >=4.5 && <4.11
+    ## base >=4.7 && <4.11
     jailbreak       = true;
   });
 
@@ -752,4 +440,38 @@ self: super: {
     jailbreak       = true;
   });
 
+  # Older versions don't compile.
+  brick = self.brick_0_37;
+  dhall = self.dhall_1_13_0;
+  dhall_1_13_0 = doJailbreak super.dhall_1_13_0;  # support ansi-terminal 0.8.x
+  HaTeX = self.HaTeX_3_19_0_0;
+  hpack = self.hpack_0_28_2;
+  hspec-smallcheck = self.hspec-smallcheck_0_5_2;
+  matrix = self.matrix_0_3_6_1;
+  pandoc = self.pandoc_2_2;
+  pandoc-types = self.pandoc-types_1_17_4_2;
+  wl-pprint-text = self.wl-pprint-text_1_1_1_1;
+  base-compat = self.base-compat_0_10_1;
+
+  # https://github.com/xmonad/xmonad/issues/155
+  xmonad = addBuildDepend (appendPatch super.xmonad (pkgs.fetchpatch
+    { url = https://github.com/xmonad/xmonad/pull/153/commits/c96a59fa0de2f674e60befd0f57e67b93ea7dcf6.patch;
+      sha256 = "1mj3k0w8aqyy71kmc71vzhgxmr4h6i5b3sykwflzays50grjm5jp";
+    })) self.semigroups;
+
+  # https://github.com/xmonad/xmonad-contrib/issues/235
+  xmonad-contrib = doJailbreak (appendPatch super.xmonad-contrib ./patches/xmonad-contrib-ghc-8.4.1-fix.patch);
+
+  # Contributed by Bertram Felgenhauer <int-e@gmx.de>.
+  arrows = appendPatch super.arrows (pkgs.fetchpatch {
+    url = https://raw.githubusercontent.com/lambdabot/lambdabot/ghc-8.4.1/patches/arrows-0.4.4.1.patch;
+    sha256 = "0j859vclcfnz8n2mw466mv00kjsa9gdbrppjc1m3b68jbypdmfvr";
+  });
+
+  # Contributed by Bertram Felgenhauer <int-e@gmx.de>.
+  flexible-defaults = appendPatch super.flexible-defaults (pkgs.fetchpatch {
+    url = https://raw.githubusercontent.com/lambdabot/lambdabot/ghc-8.4.1/patches/flexible-defaults-0.0.1.2.patch;
+    sha256 = "1bpsqq80h6nxm04wddgcgyzn0fjfsmhccmqb211jqswv5209znx8";
+  });
+
 }
diff --git a/pkgs/development/haskell-modules/configuration-ghcjs.nix b/pkgs/development/haskell-modules/configuration-ghcjs.nix
index bd35c1cb3ae..7a6416b9e13 100644
--- a/pkgs/development/haskell-modules/configuration-ghcjs.nix
+++ b/pkgs/development/haskell-modules/configuration-ghcjs.nix
@@ -53,19 +53,6 @@ self: super:
   terminfo = self.terminfo_0_4_0_2;
   xhtml = self.xhtml_3000_2_1;
 
-  # Cabal isn't part of the stage1 packages which form the default package-db
-  # that GHCJS provides.
-  # Almost all packages require Cabal to build their Setup.hs,
-  # but usually they don't declare it explicitly as they don't need to for normal GHC.
-  # To account for that we add Cabal by default.
-  mkDerivation = args: super.mkDerivation (args // {
-    setupHaskellDepends = (args.setupHaskellDepends or []) ++
-      (if args.pname == "Cabal" then [ ]
-      # Break the dependency cycle between Cabal and hscolour
-      else if args.pname == "hscolour" then [ (dontHyperlinkSource self.Cabal) ]
-      else [ self.Cabal ]);
-  });
-
 ## OTHER PACKAGES
 
   # haddock throws the error: No input file(s).
diff --git a/pkgs/development/haskell-modules/configuration-hackage2nix.yaml b/pkgs/development/haskell-modules/configuration-hackage2nix.yaml
index 179578a0e64..b3f8efa3963 100644
--- a/pkgs/development/haskell-modules/configuration-hackage2nix.yaml
+++ b/pkgs/development/haskell-modules/configuration-hackage2nix.yaml
@@ -38,30 +38,29 @@ core-packages:
   - ghcjs-base-0
 
 default-package-overrides:
-  # LTS Haskell 10.8
+  # LTS Haskell 11.8
   - abstract-deque ==0.3
   - abstract-deque-tests ==0.3
   - abstract-par ==0.3.3
   - accelerate ==1.1.1.0
-  - accelerate-arithmetic ==1.0
+  - accelerate-arithmetic ==1.0.0.1
   - accelerate-bignum ==0.1.0.0
   - accelerate-blas ==0.1.0.1
-  - accelerate-examples ==1.1.0.0
   - accelerate-fft ==1.1.0.0
-  - accelerate-fftw ==1.0
-  - accelerate-fourier ==1.0.0.3
+  - accelerate-fftw ==1.0.0.1
+  - accelerate-fourier ==1.0.0.5
   - accelerate-io ==1.0.0.1
   - accelerate-llvm ==1.1.0.0
   - accelerate-llvm-native ==1.1.0.1
   - accelerate-llvm-ptx ==1.1.0.1
-  - accelerate-utility ==1.0
+  - accelerate-utility ==1.0.0.1
   - accuerr ==0.2.0.2
   - ace ==0.6
   - action-permutations ==0.0.0.1
   - active ==0.2.0.13
   - ad ==4.3.5
-  - adjunctions ==4.3
-  - adler32 ==0.1.1.0
+  - adjunctions ==4.4
+  - adler32 ==0.1.2.0
   - aern2-mp ==0.1.2.0
   - aern2-real ==0.1.1.0
   - aeson ==1.2.4.0
@@ -70,121 +69,34 @@ default-package-overrides:
   - aeson-compat ==0.3.7.1
   - aeson-diff ==1.1.0.4
   - aeson-extra ==0.4.1.0
-  - aeson-generic-compat ==0.0.1.1
+  - aeson-generic-compat ==0.0.1.2
   - aeson-injector ==1.1.0.0
-  - aeson-pretty ==0.8.5
+  - aeson-picker ==0.1.0.4
+  - aeson-pretty ==0.8.7
   - aeson-qq ==0.8.2
-  - aeson-typescript ==0.1.0.3
+  - aeson-typescript ==0.1.0.6
   - aeson-utils ==0.3.0.2
   - aeson-yak ==0.1.1.3
   - Agda ==2.5.3
   - airship ==0.9.3
   - alarmclock ==0.4.0.3
-  - alerta ==0.1.0.6
   - alerts ==0.1.0.0
-  - alex ==3.2.3
-  - algebraic-graphs ==0.0.5
+  - alex ==3.2.4
+  - algebra ==4.3.1
+  - algebraic-graphs ==0.1.1.1
   - alsa-core ==0.5.0.1
   - alsa-mixer ==0.2.0.3
-  - alsa-pcm ==0.6.0.4
+  - alsa-pcm ==0.6.1
   - alsa-seq ==0.6.0.7
   - alternative-vector ==0.0.0
   - alternators ==0.1.2.0
   - ALUT ==2.4.0.2
-  - amazonka ==1.5.0
-  - amazonka-apigateway ==1.5.0
-  - amazonka-application-autoscaling ==1.5.0
-  - amazonka-appstream ==1.5.0
-  - amazonka-autoscaling ==1.5.0
-  - amazonka-budgets ==1.5.0
-  - amazonka-certificatemanager ==1.5.0
-  - amazonka-cloudformation ==1.5.0
-  - amazonka-cloudfront ==1.5.0
-  - amazonka-cloudhsm ==1.5.0
-  - amazonka-cloudsearch ==1.5.0
-  - amazonka-cloudsearch-domains ==1.5.0
-  - amazonka-cloudtrail ==1.5.0
-  - amazonka-cloudwatch ==1.5.0
-  - amazonka-cloudwatch-events ==1.5.0
-  - amazonka-cloudwatch-logs ==1.5.0
-  - amazonka-codebuild ==1.5.0
-  - amazonka-codecommit ==1.5.0
-  - amazonka-codedeploy ==1.5.0
-  - amazonka-codepipeline ==1.5.0
-  - amazonka-cognito-identity ==1.5.0
-  - amazonka-cognito-idp ==1.5.0
-  - amazonka-cognito-sync ==1.5.0
-  - amazonka-config ==1.5.0
-  - amazonka-core ==1.5.0
-  - amazonka-datapipeline ==1.5.0
-  - amazonka-devicefarm ==1.5.0
-  - amazonka-directconnect ==1.5.0
-  - amazonka-discovery ==1.5.0
-  - amazonka-dms ==1.5.0
-  - amazonka-ds ==1.5.0
-  - amazonka-dynamodb ==1.5.0
-  - amazonka-dynamodb-streams ==1.5.0
-  - amazonka-ec2 ==1.5.0
-  - amazonka-ecr ==1.5.0
-  - amazonka-ecs ==1.5.0
-  - amazonka-efs ==1.5.0
-  - amazonka-elasticache ==1.5.0
-  - amazonka-elasticbeanstalk ==1.5.0
-  - amazonka-elasticsearch ==1.5.0
-  - amazonka-elastictranscoder ==1.5.0
-  - amazonka-elb ==1.5.0
-  - amazonka-elbv2 ==1.5.0
-  - amazonka-emr ==1.5.0
-  - amazonka-gamelift ==1.5.0
-  - amazonka-glacier ==1.5.0
-  - amazonka-health ==1.5.0
-  - amazonka-iam ==1.5.0
-  - amazonka-importexport ==1.5.0
-  - amazonka-inspector ==1.5.0
-  - amazonka-iot ==1.5.0
-  - amazonka-iot-dataplane ==1.5.0
-  - amazonka-kinesis ==1.5.0
-  - amazonka-kinesis-analytics ==1.5.0
-  - amazonka-kinesis-firehose ==1.5.0
-  - amazonka-kms ==1.5.0
-  - amazonka-lambda ==1.5.0
-  - amazonka-lightsail ==1.5.0
-  - amazonka-marketplace-analytics ==1.5.0
-  - amazonka-marketplace-metering ==1.5.0
-  - amazonka-ml ==1.5.0
-  - amazonka-opsworks ==1.5.0
-  - amazonka-opsworks-cm ==1.5.0
-  - amazonka-pinpoint ==1.5.0
-  - amazonka-polly ==1.5.0
-  - amazonka-rds ==1.5.0
-  - amazonka-redshift ==1.5.0
-  - amazonka-rekognition ==1.5.0
-  - amazonka-route53 ==1.5.0
-  - amazonka-route53-domains ==1.5.0
-  - amazonka-s3 ==1.5.0
-  - amazonka-sdb ==1.5.0
-  - amazonka-servicecatalog ==1.5.0
-  - amazonka-ses ==1.5.0
-  - amazonka-shield ==1.5.0
-  - amazonka-sms ==1.5.0
-  - amazonka-snowball ==1.5.0
-  - amazonka-sns ==1.5.0
-  - amazonka-sqs ==1.5.0
-  - amazonka-ssm ==1.5.0
-  - amazonka-stepfunctions ==1.5.0
-  - amazonka-storagegateway ==1.5.0
-  - amazonka-sts ==1.5.0
-  - amazonka-support ==1.5.0
-  - amazonka-swf ==1.5.0
-  - amazonka-test ==1.5.0
-  - amazonka-waf ==1.5.0
-  - amazonka-workspaces ==1.5.0
-  - amazonka-xray ==1.5.0
   - amqp ==0.18.1
   - annotated-wl-pprint ==0.7.0
   - ansigraph ==0.3.0.5
-  - ansi-terminal ==0.7.1.1
+  - ansi-terminal ==0.8.0.3
   - ansi-wl-pprint ==0.6.8.2
+  - ANum ==0.2.0.2
   - apecs ==0.2.4.7
   - api-field-json-th ==0.1.0.2
   - appar ==0.1.4
@@ -196,9 +108,7 @@ default-package-overrides:
   - array-memoize ==0.6.0
   - arrow-extras ==0.1.0.1
   - arrow-list ==0.7
-  - arrowp-qq ==0.2.1.1
-  - arrows ==0.4.4.1
-  - asciidiagram ==1.3.3
+  - asciidiagram ==1.3.3.1
   - ascii-progress ==0.3.3.0
   - asn1-encoding ==0.9.5
   - asn1-parse ==0.9.4
@@ -206,14 +116,13 @@ default-package-overrides:
   - assert-failure ==0.1.2.2
   - astro ==0.4.2.0
   - async ==2.1.1.1
-  - async-dejafu ==0.1.3.0
   - async-extra ==0.2.0.0
   - async-refresh ==0.2.0.2
   - async-refresh-tokens ==0.3.0.1
   - async-timer ==0.1.4.1
   - atom-basic ==0.2.5
   - atom-conduit ==0.5.0.1
-  - atomic-primops ==0.8.1.1
+  - atomic-primops ==0.8.2
   - atomic-write ==0.2.0.5
   - attoparsec ==0.13.2.2
   - attoparsec-binary ==0.2
@@ -221,22 +130,18 @@ default-package-overrides:
   - attoparsec-ip ==0.0.1
   - attoparsec-iso8601 ==1.0.0.0
   - attoparsec-path ==0.0.0.1
-  - attoparsec-uri ==0.0.3
-  - audacity ==0.0.1.2
+  - attoparsec-time ==1
+  - attoparsec-uri ==0.0.4
+  - audacity ==0.0.2
   - authenticate ==1.3.4
   - authenticate-oauth ==1.6
   - auto ==0.4.3.1
-  - autoexporter ==1.1.3
+  - autoexporter ==1.1.9
   - auto-update ==0.1.4
-  - avers ==0.0.17.1
-  - avers-api ==0.1.0
-  - avers-server ==0.1.0
   - avwx ==0.3.0.2
-  - aws ==0.18
   - axiom ==0.4.6
-  - b9 ==0.5.35
-  - backprop ==0.0.3.0
-  - bake ==0.5
+  - b9 ==0.5.47
+  - backprop ==0.1.5.2
   - bank-holidays-england ==0.1.0.6
   - barrier ==0.1.1
   - base16-bytestring ==0.1.1.6
@@ -245,25 +150,28 @@ default-package-overrides:
   - base64-bytestring ==1.0.0.1
   - base64-string ==0.2
   - base-compat ==0.9.3
-  - basement ==0.0.4
-  - base-orphans ==0.6
+  - basement ==0.0.7
+  - base-orphans ==0.7
   - base-prelude ==1.2.0.1
   - base-unicode-symbols ==0.2.2.4
   - basic-prelude ==0.7.0
   - bbdb ==0.8
   - bcrypt ==0.0.11
-  - bench ==1.0.8
+  - beam-core ==0.7.2.1
+  - beam-migrate ==0.3.2.0
+  - beam-sqlite ==0.3.2.0
+  - bench ==1.0.9
   - benchpress ==0.2.2.10
   - bencode ==0.6.0.0
   - bento ==0.1.0
   - between ==0.11.0.0
-  - bhoogle ==0.1.2.5
+  - bhoogle ==0.1.2.6
   - bibtex ==0.1.0.6
   - bifunctors ==5.5.2
   - bimap ==0.3.3
   - bimap-server ==0.1.0.1
   - binary-bits ==0.5
-  - binary-conduit ==1.2.5
+  - binary-conduit ==1.3
   - binary-ieee754 ==0.1.0.0
   - binary-list ==1.1.1.2
   - binary-orphans ==0.1.8.0
@@ -273,7 +181,7 @@ default-package-overrides:
   - binary-shared ==0.8.3
   - binary-tagged ==0.1.4.2
   - bindings-DSL ==1.0.24
-  - bindings-GLFW ==3.1.2.3
+  - bindings-GLFW ==3.1.2.4
   - bindings-libzip ==1.0.1
   - bindings-uname ==0.1
   - bioace ==0.0.1
@@ -293,52 +201,52 @@ default-package-overrides:
   - bits ==0.5.1
   - bitset-word8 ==0.1.1.0
   - bit-stream ==0.1.0.2
-  - bitx-bitcoin ==0.11.0.1
+  - bitx-bitcoin ==0.12.0.0
   - blake2 ==0.2.0
-  - blank-canvas ==0.6.2
-  - blas-carray ==0.0
-  - blas-ffi ==0.0
+  - blas-carray ==0.0.1.1
+  - blas-ffi ==0.0.1.1
   - blas-hs ==0.1.1.0
-  - BlastHTTP ==1.2.1
   - blastxml ==0.3.2
   - blaze-bootstrap ==0.1.0.1
-  - blaze-builder ==0.4.0.2
+  - blaze-builder ==0.4.1.0
   - blaze-html ==0.9.0.1
-  - blaze-markup ==0.8.2.0
+  - blaze-markup ==0.8.2.1
   - blaze-svg ==0.3.6.1
   - blaze-textual ==0.2.1.0
   - bloodhound ==0.15.0.2
-  - bloomfilter ==2.0.1.0
   - blosum ==0.1.1.4
   - bmp ==1.2.6.3
   - bno055-haskell ==0.1.0
-  - boltzmann-samplers ==0.1.0.0
+  - boltzmann-samplers ==0.1.1.0
   - bookkeeping ==0.2.1.4
   - Boolean ==0.2.4
   - boolean-like ==0.1.1.0
   - boolsimplifier ==0.1.8
-  - boomerang ==1.4.5.3
+  - boomerang ==1.4.5.5
   - bordacount ==0.1.0.0
   - both ==0.1.1.0
   - bound ==2.0.1
   - BoundedChan ==1.0.3.0
   - boundingboxes ==0.2.3
   - bower-json ==1.0.0.1
-  - boxes ==0.1.4
-  - brick ==0.29.1
-  - brittany ==0.9.0.0
+  - boxes ==0.1.5
+  - brick ==0.34.1
+  - brittany ==0.9.0.1
   - broadcast-chan ==0.1.1
+  - bsb-http-chunked ==0.0.0.2
   - bson ==0.3.2.3
   - bson-lens ==0.1.1
   - btrfs ==0.1.2.3
-  - buffer-builder ==0.2.4.4
+  - buchhaltung ==0.0.7
+  - buffer-builder ==0.2.4.5
   - buffer-pipe ==0.0
-  - butcher ==1.2.1.0
-  - bv ==0.4.1
+  - butcher ==1.3.0.0
+  - bv ==0.5
+  - bv-little ==0.1.1
   - byteable ==0.1.1
   - bytedump ==1.0
   - byteorder ==1.0.4
-  - bytes ==0.15.3
+  - bytes ==0.15.4
   - byteset ==0.1.1.0
   - bytestring-builder ==0.10.8.1.0
   - bytestring-conversion ==0.3.1
@@ -347,48 +255,48 @@ default-package-overrides:
   - bytestring-tree-builder ==0.2.7.1
   - bytestring-trie ==0.2.4.1
   - bzlib ==0.5.0.5
-  - bzlib-conduit ==0.2.1.5
+  - bzlib-conduit ==0.3.0.1
   - c2hs ==0.28.3
   - Cabal ==2.0.1.1
   - cabal-doctest ==1.0.6
   - cabal-file-th ==0.2.4
-  - cabal-rpm ==0.12.1
+  - cabal-rpm ==0.12.2
   - cabal-toolkit ==0.0.5
-  - cache ==0.1.0.1
-  - cairo ==0.13.4.2
+  - cache ==0.1.1.0
+  - cairo ==0.13.5.0
   - calendar-recycling ==0.0
   - call-stack ==0.1.0
+  - capataz ==0.1.0.1
   - carray ==0.1.6.8
   - cartel ==0.18.0.2
   - cased ==0.1.0.0
-  - case-insensitive ==1.2.0.10
+  - case-insensitive ==1.2.0.11
   - cases ==0.1.3.2
-  - casing ==0.1.2.1
+  - casing ==0.1.4.0
   - cassava ==0.5.1.0
-  - cassava-conduit ==0.4.0.1
+  - cassava-conduit ==0.4.0.2
+  - cassava-records ==0.1.0.4
   - cassette ==0.1.0
   - cast ==0.1.0.2
-  - cayley-client ==0.4.3
+  - cayley-client ==0.4.5
   - cereal ==0.5.5.0
-  - cereal-conduit ==0.7.3
+  - cereal-conduit ==0.8.0
   - cereal-text ==0.1.0.2
   - cereal-time ==0.1.0.0
   - cereal-vector ==0.2.0.1
-  - ChannelT ==0.0.0.4
+  - ChannelT ==0.0.0.7
   - charset ==0.3.7.1
   - charsetdetect-ae ==1.1.0.3
   - Chart ==1.8.3
   - Chart-cairo ==1.8.3
-  - Chart-diagrams ==1.8.3
-  - chart-unit ==0.5.5.0
   - chaselev-deque ==0.5.0.5
-  - ChasingBottoms ==1.3.1.3
-  - chatwork ==0.1.3.0
+  - ChasingBottoms ==1.3.1.4
+  - chatwork ==0.1.3.2
   - cheapskate ==0.1.1
   - cheapskate-highlight ==0.1.0.0
   - cheapskate-lucid ==0.1.0.0
   - check-email ==1.0.2
-  - checkers ==0.4.9.5
+  - checkers ==0.4.10
   - choice ==0.2.2
   - chunked-data ==0.3.1
   - cipher-aes ==0.2.11
@@ -398,11 +306,12 @@ default-package-overrides:
   - cipher-des ==0.0.6
   - cipher-rc4 ==0.1.4
   - circle-packing ==0.1.0.6
-  - cisco-spark-api ==0.1.0.0
-  - clang-compilation-database ==0.1.0.0
-  - classy-prelude ==1.3.1
-  - classy-prelude-conduit ==1.3.1
-  - classy-prelude-yesod ==1.3.1
+  - cisco-spark-api ==0.1.0.3
+  - clang-compilation-database ==0.1.0.1
+  - classyplate ==0.3.0.2
+  - classy-prelude ==1.4.0
+  - classy-prelude-conduit ==1.4.0
+  - classy-prelude-yesod ==1.4.0
   - clay ==0.12.2
   - cli ==0.1.2
   - clientsession ==0.9.1.2
@@ -410,10 +319,9 @@ default-package-overrides:
   - clock ==0.7.2
   - clock-extras ==0.1.0.2
   - clr-host ==0.2.0.1
-  - clr-inline ==0.2.0.1
   - clr-marshal ==0.2.0.0
   - clumpiness ==0.17.0.0
-  - ClustalParser ==1.2.1
+  - ClustalParser ==1.2.3
   - cmark ==0.5.6
   - cmark-gfm ==0.1.3
   - cmark-highlight ==0.2.0.0
@@ -423,16 +331,14 @@ default-package-overrides:
   - codec ==0.2.1
   - code-page ==0.1.3
   - codo-notation ==0.5.2
-  - colorful-monoids ==0.2.1.0
+  - colorful-monoids ==0.2.1.1
   - colorize-haskell ==1.0.1
   - colour ==2.3.4
   - colour-accelerate ==0.2.0.0
-  - combinatorial ==0.0
+  - combinatorial ==0.1
   - comfort-graph ==0.0.3
   - commutative ==0.0.1.4
   - comonad ==5.0.3
-  - comonads-fd ==4.0
-  - comonad-transformers ==4.0
   - compact ==0.1.0.1
   - compactmap ==0.1.4.2.1
   - compensated ==0.7.2
@@ -441,42 +347,42 @@ default-package-overrides:
   - composable-associations-aeson ==0.1.0.0
   - composition ==1.0.2.1
   - composition-extra ==2.0.0
+  - composition-prelude ==1.3.0.8
+  - compressed ==3.11
   - concise ==0.1.0.1
-  - concurrency ==1.2.3.0
-  - concurrent-extra ==0.7.0.11
-  - concurrent-output ==1.10.4
+  - concurrency ==1.4.0.2
+  - concurrent-extra ==0.7.0.12
+  - concurrent-output ==1.10.5
   - concurrent-split ==0.0.1
   - concurrent-supply ==0.1.8
   - cond ==0.4.1.1
-  - conduit ==1.2.13.1
-  - conduit-algorithms ==0.0.7.2
-  - conduit-combinators ==1.1.2
+  - conduit ==1.3.0.2
+  - conduit-algorithms ==0.0.8.0
+  - conduit-combinators ==1.3.0
   - conduit-connection ==0.1.0.4
-  - conduit-extra ==1.2.3.2
+  - conduit-extra ==1.3.0
   - conduit-iconv ==0.1.1.3
-  - conduit-parse ==0.1.2.2
   - conduit-throttle ==0.3.1.0
   - ConfigFile ==1.1.4
   - config-ini ==0.2.2.0
-  - configuration-tools ==0.3.0
+  - configuration-tools ==0.3.1
   - configurator ==0.3.0.0
   - configurator-export ==0.1.0.1
   - connection ==0.2.8
-  - connection-pool ==0.2.1
+  - connection-pool ==0.2.2
   - console-style ==0.0.2.1
-  - constraints ==0.9.1
+  - constraints ==0.10
   - consul-haskell ==0.4.2
   - containers-unicode-symbols ==0.3.1.1
   - contravariant ==1.4.1
   - contravariant-extras ==0.3.4
   - control-bool ==0.2.1
   - control-monad-free ==0.6.1
-  - control-monad-loop ==0.1
   - control-monad-omega ==0.3.1
   - convertible ==1.1.1.0
-  - cookie ==0.4.3
+  - cookie ==0.4.4
   - countable ==1.0
-  - country ==0.1.4
+  - country ==0.1.5
   - courier ==0.1.1.5
   - cpphs ==1.20.8
   - cprng-aes ==0.6.1
@@ -485,25 +391,25 @@ default-package-overrides:
   - cql ==3.1.1
   - cql-io ==0.16.0
   - crackNum ==1.9
-  - criterion ==1.2.6.0
+  - credential-store ==0.1.2
+  - criterion ==1.3.0.0
   - cron ==0.6.1
   - crypto-api ==0.13.3
   - crypto-api-tests ==0.3
   - cryptocipher ==0.6.2
   - crypto-cipher-tests ==0.0.11
   - crypto-cipher-types ==0.0.9
-  - crypto-enigma ==0.0.2.10
+  - cryptocompare ==0.1.1
+  - crypto-enigma ==0.0.2.12
   - cryptohash ==0.11.9
   - cryptohash-cryptoapi ==0.1.4
   - cryptohash-md5 ==0.11.100.1
   - cryptohash-sha1 ==0.11.100.1
   - cryptohash-sha256 ==0.11.101.0
   - cryptohash-sha512 ==0.11.100.1
-  - cryptonite ==0.24
+  - cryptonite ==0.25
   - cryptonite-conduit ==0.2.2
   - cryptonite-openssl ==0.6
-  - crypto-numbers ==0.2.7
-  - crypto-pubkey ==0.2.8
   - crypto-pubkey-types ==0.4.3
   - crypto-random ==0.0.9
   - crypto-random-api ==0.2.0
@@ -514,41 +420,40 @@ default-package-overrides:
   - csv ==0.1.2
   - csv-conduit ==0.6.8.1
   - ctrie ==0.2
-  - cubicbezier ==0.6.0.5
   - cubicspline ==0.1.2
-  - cublas ==0.4.0.0
-  - cuda ==0.9.0.1
+  - cublas ==0.4.0.1
+  - cuda ==0.9.0.3
   - cue-sheet ==1.0.1
   - cufft ==0.8.0.0
   - curl ==1.3.8
+  - curl-runnings ==0.2.0
   - currencies ==0.1.1.1
-  - cusolver ==0.1.0.0
-  - cusparse ==0.1.0.0
+  - cusolver ==0.1.0.1
+  - cusparse ==0.1.0.1
   - cutter ==0.0
   - czipwith ==1.0.0.0
   - data-accessor ==0.2.2.7
   - data-accessor-mtl ==0.2.0.4
-  - data-accessor-template ==0.2.1.14
+  - data-accessor-template ==0.2.1.15
   - data-accessor-transformers ==0.2.1.7
   - data-binary-ieee754 ==0.4.4
   - data-bword ==0.1.0.1
-  - data-check ==0.1.1
   - data-checked ==0.3
-  - data-clist ==0.1.2.0
+  - data-clist ==0.1.2.1
   - data-default ==0.7.1.1
   - data-default-class ==0.1.2.0
-  - data-default-instances-base ==0.1.0.1
   - data-default-instances-containers ==0.0.1
   - data-default-instances-dlist ==0.0.1
   - data-default-instances-old-locale ==0.0.1
   - data-diverse ==2.0.1.0
-  - data-diverse-lens ==1.0.0.1
+  - data-diverse-lens ==2.1.0.0
+  - datadog ==0.2.2.0
   - data-dword ==0.3.1.2
   - data-endian ==0.1.1
   - data-fix ==0.2.0
   - data-has ==0.3.0.0
   - data-hash ==0.2.0.1
-  - data-inttrie ==0.1.2
+  - data-inttrie ==0.1.4
   - data-lens-light ==0.1.2.2
   - data-memocombinators ==0.5.1
   - data-msgpack ==0.0.11
@@ -557,60 +462,48 @@ default-package-overrides:
   - data-ordlist ==0.4.7.0
   - data-ref ==0.0.1.1
   - data-reify ==0.6.1
-  - data-serializer ==0.3.2
+  - data-serializer ==0.3.4
   - datasets ==0.2.5
   - data-textual ==0.3.0.2
-  - data-tree-print ==0.1.0.0
+  - data-tree-print ==0.1.0.1
   - dataurl ==0.1.0.0
   - DAV ==1.3.2
   - dawg-ord ==0.5.1.0
   - dbcleaner ==0.1.3
   - dbus ==0.10.15
-  - debian-build ==0.10.1.0
-  - debug ==0.0.2
-  - Decimal ==0.4.2
-  - declarative ==0.5.1
+  - debian-build ==0.10.1.1
+  - debug ==0.1.1
+  - Decimal ==0.5.1
+  - declarative ==0.5.2
   - deepseq-generics ==0.2.0.0
-  - dejafu ==0.9.1.2
+  - dejafu ==1.3.2.0
   - dependent-map ==0.2.4.0
   - dependent-sum ==0.4
   - dependent-sum-template ==0.0.0.6
-  - deque ==0.2
-  - derive ==2.6.3
-  - deriving-compat ==0.3.6
+  - deque ==0.2.1
+  - deriving-compat ==0.4.1
   - descriptive ==0.9.4
-  - dhall ==1.8.2
-  - dhall-bash ==1.0.6
-  - dhall-json ==1.0.9
-  - dhall-nix ==1.0.9
-  - dhall-text ==1.0.5
-  - diagrams ==1.4
-  - diagrams-builder ==0.8.0.2
-  - diagrams-cairo ==1.4
-  - diagrams-canvas ==1.4
-  - diagrams-contrib ==1.4.1
-  - diagrams-core ==1.4.0.1
-  - diagrams-lib ==1.4.2
-  - diagrams-postscript ==1.4
-  - diagrams-solve ==0.1.1
-  - diagrams-svg ==1.4.1.1
+  - dhall ==1.11.1
+  - dhall-json ==1.0.13
   - dice ==0.1
   - dictionaries ==0.2.0.4
   - Diff ==0.3.4
-  - diff3 ==0.3.0
+  - diff3 ==0.3.1
   - digest ==0.0.1.2
   - digits ==0.3.1
-  - dimensional ==1.0.1.3
+  - dimensional ==1.1
   - directory-tree ==0.12.1
   - direct-rocksdb ==0.0.3
-  - direct-sqlite ==2.3.22
+  - direct-sqlite ==2.3.23
   - discount ==0.1.1
   - discrimination ==0.3
   - disk-free-space ==0.1.0.1
   - disposable ==0.2.0.4
   - distance ==0.1.0.0
-  - distributed-closure ==0.3.5
+  - distributed-closure ==0.4.0
   - distributed-process ==0.7.3
+  - distributed-process-lifted ==0.3.0.1
+  - distributed-process-monad-control ==0.5.1.3
   - distributed-process-simplelocalnet ==0.2.4
   - distributed-process-tests ==0.4.11
   - distributed-static ==0.3.8
@@ -622,110 +515,102 @@ default-package-overrides:
   - dlist ==0.8.0.4
   - dlist-instances ==0.1.1.1
   - dlist-nonempty ==0.1.1
-  - dns ==3.0.1
-  - docker ==0.4.1.1
-  - docker-build-cacher ==1.8.2
+  - dns ==3.0.2
+  - docker ==0.5.1.1
+  - docker-build-cacher ==1.9.2
   - dockerfile ==0.1.0.1
   - docopt ==0.7.0.5
-  - doctemplates ==0.2.1
+  - doctemplates ==0.2.2.1
   - doctest ==0.13.0
-  - doctest-discover ==0.1.0.8
-  - doctest-driver-gen ==0.1.0.1
+  - doctest-discover ==0.1.0.7
+  - doctest-driver-gen ==0.2.0.2
   - do-list ==1.0.1
   - dom-parser ==3.0.0
-  - dotenv ==0.5.2.3
+  - dotenv ==0.5.2.4
   - dotnet-timespan ==0.0.1.0
   - double-conversion ==2.0.2.0
   - download ==0.3.2.6
-  - dpor ==0.2.0.0
   - drawille ==0.1.2.0
   - DRBG ==0.5.5
   - drifter ==0.2.3
   - drifter-postgresql ==0.2.1
   - dsp ==0.2.4
-  - dual-tree ==0.2.1
   - dublincore-xml-conduit ==0.1.0.2
   - dvorak ==0.1.0.0
   - dynamic-state ==0.3
   - dyre ==0.8.12
-  - Earley ==0.12.0.1
+  - Earley ==0.12.1.0
   - easy-file ==0.2.1
   - Ebnf2ps ==1.0.15
   - echo ==0.1.3
   - ed25519 ==0.0.5.0
-  - ede ==0.2.8.7
   - EdisonAPI ==1.3.1
-  - EdisonCore ==1.3.1.1
+  - EdisonCore ==1.3.2.1
   - edit-distance ==0.2.2.1
   - edit-distance-vector ==1.0.0.4
   - editor-open ==0.6.0.0
-  - effect-handlers ==0.1.0.8
-  - either ==4.5
+  - either ==5
   - either-unwrap ==1.1
-  - ekg ==0.4.0.14
-  - ekg-cloudwatch ==0.0.1.6
+  - ekg ==0.4.0.15
   - ekg-core ==0.1.1.4
   - ekg-json ==0.1.0.6
-  - ekg-statsd ==0.2.2.0
-  - ekg-wai ==0.1.0.2
+  - ekg-statsd ==0.2.3.0
+  - ekg-wai ==0.1.0.3
   - elerea ==2.9.0
   - eliminators ==0.3
   - elm-core-sources ==1.0.0
   - elm-export ==0.6.0.1
-  - elm-export-persistent ==0.1.2
+  - elm-export-persistent ==0.2.0
   - emailaddress ==0.2.0.0
-  - email-validate ==2.3.2.2
+  - email-validate ==2.3.2.5
   - enclosed-exceptions ==1.0.2
-  - EntrezHTTP ==1.0.4
   - entropy ==0.3.8
-  - enummapset ==0.5.2.1
+  - enummapset ==0.5.2.2
   - enumset ==0.0.4.1
   - envelope ==0.2.2.0
   - envparse ==0.4
-  - envy ==1.3.0.2
+  - envy ==1.5.0.0
   - epub-metadata ==4.5
-  - eq ==4.0.4
+  - eq ==4.1
   - equal-files ==0.0.5.3
   - equivalence ==0.3.2
   - erf ==2.0.0.0
-  - errors ==2.2.4
+  - errors ==2.2.5
   - errors-ext ==0.4.1
   - error-util ==0.0.1.2
   - ersatz ==0.4.2
-  - esqueleto ==2.5.3
-  - etcd ==1.0.5
   - ether ==0.5.1.0
+  - euler-tour-tree ==0.1.0.1
   - event ==0.1.4
   - eventful-core ==0.2.0
-  - eventful-dynamodb ==0.2.0
   - eventful-memory ==0.2.0
   - eventful-postgresql ==0.2.0
   - eventful-sql-common ==0.2.0
   - eventful-sqlite ==0.2.0
   - eventful-test-helpers ==0.2.0
   - event-list ==0.1.2
-  - eventsource-api ==1.1.1
-  - eventsource-geteventstore-store ==1.0.4
-  - eventsource-store-specs ==1.0.1
-  - eventsource-stub-store ==1.0.2
-  - eventstore ==0.15.0.2
+  - eventsource-api ==1.3.0
+  - eventsource-geteventstore-store ==1.1.0
+  - eventsource-store-specs ==1.1.1
+  - eventsource-stub-store ==1.0.3
+  - eventstore ==1.1.2
   - every ==0.0.1
   - exact-combinatorics ==0.2.0.8
   - exact-pi ==0.4.1.3
   - exceptional ==0.3.0.0
   - exception-mtl ==0.4.0.1
   - exceptions ==0.8.3
-  - exception-transformers ==0.4.0.5
+  - exception-transformers ==0.4.0.7
   - executable-hash ==0.2.0.4
   - executable-path ==0.0.3.1
-  - exhaustive ==1.1.5
+  - exhaustive ==1.1.6
   - expiring-cache-map ==0.0.6.1
   - explicit-exception ==0.1.9.2
-  - exp-pairs ==0.1.5.2
-  - extensible ==0.4.7.1
-  - extensible-effects ==2.1.0.0
+  - exp-pairs ==0.1.6.0
+  - extensible ==0.4.8
+  - extensible-effects ==2.4.0.0
   - extensible-exceptions ==0.1.1.4
-  - extra ==1.6.4
+  - extra ==1.6.6
   - extractable-singleton ==0.0.1
   - extrapolate ==0.3.1
   - fail ==4.9.0.0
@@ -734,17 +619,15 @@ default-package-overrides:
   - fast-builder ==0.0.1.0
   - fast-digits ==0.2.1.0
   - fast-logger ==2.4.11
-  - fast-math ==1.0.2
-  - fb ==1.1.1
+  - fb ==1.2.0
   - fclabels ==2.0.3.3
-  - fdo-notify ==0.3.1
   - feature-flags ==0.1.0.1
-  - fedora-haskell-tools ==0.4
+  - fedora-haskell-tools ==0.5.1
   - feed ==1.0.0.0
   - FenwickTree ==0.1.2.1
   - fft ==0.1.8.6
-  - fgl ==5.5.4.0
-  - filecache ==0.2.9
+  - fgl ==5.6.0.0
+  - filecache ==0.3.2
   - file-embed ==0.0.10.1
   - filelock ==0.1.1.2
   - filemanip ==0.3.6.3
@@ -753,28 +636,27 @@ default-package-overrides:
   - filter-logger ==0.6.0.0
   - FindBin ==0.0.5
   - find-clumpiness ==0.2.3.1
-  - fingertree ==0.1.3.1
+  - fingertree ==0.1.4.1
   - fingertree-psqueue ==0.3
   - finite-typelits ==0.1.3.0
   - fitspec ==0.4.4
   - fixed ==0.2.1.1
   - fixed-length ==0.2
-  - fixed-vector ==1.0.0.0
+  - fixed-vector ==1.1.0.0
   - fixed-vector-hetero ==0.4.0.0
   - flac ==0.1.2
   - flac-picture ==0.1.1
-  - flat ==0.3
   - flat-mcmc ==1.5.0
   - flexible-defaults ==0.0.1.2
   - FloatingHex ==0.4
   - floatshow ==0.2.4
-  - flow ==1.0.11
+  - flow ==1.0.12
   - fmlist ==0.9.2
   - fmt ==0.5.0.0
   - fn ==0.3.0.2
   - focus ==0.1.5.2
-  - fold-debounce ==0.2.0.6
-  - fold-debounce-conduit ==0.1.0.5
+  - fold-debounce ==0.2.0.7
+  - fold-debounce-conduit ==0.2.0.1
   - foldl ==1.3.7
   - folds ==0.7.4
   - follow-file ==0.0.2
@@ -784,39 +666,40 @@ default-package-overrides:
   - ForestStructures ==0.0.0.2
   - forma ==0.2.0
   - format-numbers ==0.1.0.0
-  - formatting ==6.2.5
-  - foundation ==0.0.17
+  - formatting ==6.3.4
+  - foundation ==0.0.20
   - FPretty ==1.1
   - Frames ==0.3.0.2
-  - free ==4.12.4
+  - free ==5.0.2
   - freenect ==1.2.1
-  - freer-simple ==1.0.1.1
+  - freer-simple ==1.1.0.0
   - freetype2 ==0.1.2
   - free-vl ==0.1.4
   - friday ==0.2.3.1
+  - friday-juicypixels ==0.1.2.4
   - friendly-time ==0.4.1
   - frisby ==0.2.2
   - from-sum ==0.2.1.0
   - frontmatter ==0.1.0.2
   - fsnotify ==0.2.1.1
   - fsnotify-conduit ==0.1.0.0
-  - fswatch ==0.1.0.2
-  - funcmp ==1.8
+  - funcmp ==1.9
   - functor-classes-compat ==1
   - fuzzcheck ==0.1.1
   - fuzzyset ==0.1.0.6
-  - gauge ==0.1.3
+  - gauge ==0.2.1
+  - gc ==0.0.2
   - gd ==3000.7.3
   - gdax ==0.6.0.0
   - Genbank ==1.0.3
-  - general-games ==1.0.5
+  - general-games ==1.1.1
   - generic-aeson ==0.2.0.9
   - generic-arbitrary ==0.1.0
   - generic-deriving ==1.12.1
   - generic-lens ==0.5.1.0
-  - GenericPretty ==1.2.1
-  - generic-random ==1.0.0.0
-  - generics-eot ==0.2.1.1
+  - GenericPretty ==1.2.2
+  - generic-random ==1.1.0.2
+  - generics-eot ==0.2.1.2
   - generics-sop ==0.3.2.0
   - generics-sop-lens ==0.1.2.1
   - generic-xmlpickler ==0.1.0.5
@@ -826,7 +709,7 @@ default-package-overrides:
   - genvalidity-bytestring ==0.1.0.0
   - genvalidity-containers ==0.3.0.0
   - genvalidity-hspec ==0.5.0.0
-  - genvalidity-hspec-aeson ==0.1.0.1
+  - genvalidity-hspec-aeson ==0.1.0.2
   - genvalidity-hspec-binary ==0.1.0.0
   - genvalidity-hspec-cereal ==0.1.0.0
   - genvalidity-hspec-hashable ==0.1.0.0
@@ -838,270 +721,155 @@ default-package-overrides:
   - genvalidity-unordered-containers ==0.1.0.0
   - genvalidity-uuid ==0.0.0.0
   - genvalidity-vector ==0.1.0.0
-  - getopt-generics ==0.13.0.1
+  - getopt-generics ==0.13.0.2
   - ghc-compact ==0.1.0.0
   - ghc-core ==0.5.6
-  - ghc-events ==0.7.1
-  - ghc-exactprint ==0.5.6.0
+  - ghc-events ==0.7.2
+  - ghc-exactprint ==0.5.6.1
   - ghcid ==0.6.10
   - ghcjs-base-stub ==0.1.0.4
   - ghcjs-codemirror ==0.0.0.1
-  - ghcjs-dom ==0.9.2.0
-  - ghcjs-dom-jsaddle ==0.9.2.0
   - ghcjs-perch ==0.3.3.2
+  - ghc-parser ==0.2.0.2
   - ghc-paths ==0.1.0.9
-  - ghc-prof ==1.4.1
+  - ghc-prof ==1.4.1.1
   - ghc-syb-utils ==0.2.3.3
-  - ghc-tcplugins-extra ==0.2.2
+  - ghc-tcplugins-extra ==0.2.5
   - ghc-typelits-extra ==0.2.4
-  - ghc-typelits-knownnat ==0.4
-  - ghc-typelits-natnormalise ==0.5.8
+  - ghc-typelits-knownnat ==0.4.2
+  - ghc-typelits-natnormalise ==0.5.10
   - ghost-buster ==0.1.1.0
-  - gi-atk ==2.0.14
-  - gi-cairo ==1.0.14
-  - gi-glib ==2.0.15
-  - gi-gobject ==2.0.15
-  - gi-javascriptcore ==4.0.14
+  - gi-atk ==2.0.15
+  - gi-cairo ==1.0.15
+  - gi-glib ==2.0.16
+  - gi-gobject ==2.0.16
+  - gi-javascriptcore ==4.0.15
   - ginger ==0.7.3.0
-  - giphy-api ==0.5.2.0
   - git ==0.2.1
-  - github ==0.18
-  - github-release ==1.1.4
+  - github ==0.19
+  - github-release ==1.1.6
   - github-types ==0.2.1
   - github-webhook-handler ==0.0.8
   - github-webhook-handler-snap ==0.0.7
-  - gitlib ==3.1.1
-  - gitlib-libgit2 ==3.1.1
-  - gitlib-test ==3.1.0.3
+  - github-webhooks ==0.9.1
   - gitrev ==1.3.1
   - gl ==0.8.0
-  - glabrous ==0.3.4
+  - glabrous ==0.3.5
   - glaze ==0.3.0.1
   - glazier ==0.11.0.1
   - glazier-pipes ==0.1.5.1
-  - GLFW-b ==1.4.8.1
-  - glib ==0.13.5.0
+  - GLFW-b ==1.4.8.3
+  - glib ==0.13.6.0
   - Glob ==0.9.2
   - glob-posix ==0.1.0.1
   - gloss ==1.11.1.1
-  - gloss-accelerate ==2.0.0.0
+  - gloss-accelerate ==2.0.0.1
   - gloss-algorithms ==1.11.1.1
   - gloss-raster ==1.11.1.1
   - gloss-raster-accelerate ==2.0.0.0
   - gloss-rendering ==1.11.1.1
-  - GLURaw ==2.0.0.3
-  - GLUT ==2.7.0.12
+  - GLURaw ==2.0.0.4
+  - GLUT ==2.7.0.13
   - gluturtle ==0.0.58.1
-  - gnuplot ==0.5.5.1
-  - goggles ==0.1.0.3
-  - gogol ==0.3.0
-  - gogol-adexchange-buyer ==0.3.0
-  - gogol-adexchange-seller ==0.3.0
-  - gogol-admin-datatransfer ==0.3.0
-  - gogol-admin-directory ==0.3.0
-  - gogol-admin-emailmigration ==0.3.0
-  - gogol-admin-reports ==0.3.0
-  - gogol-adsense ==0.3.0
-  - gogol-adsense-host ==0.3.0
-  - gogol-affiliates ==0.3.0
-  - gogol-analytics ==0.3.0
-  - gogol-android-enterprise ==0.3.0
-  - gogol-android-publisher ==0.3.0
-  - gogol-appengine ==0.3.0
-  - gogol-apps-activity ==0.3.0
-  - gogol-apps-calendar ==0.3.0
-  - gogol-apps-licensing ==0.3.0
-  - gogol-apps-reseller ==0.3.0
-  - gogol-apps-tasks ==0.3.0
-  - gogol-appstate ==0.3.0
-  - gogol-autoscaler ==0.3.0
-  - gogol-bigquery ==0.3.0
-  - gogol-billing ==0.3.0
-  - gogol-blogger ==0.3.0
-  - gogol-books ==0.3.0
-  - gogol-civicinfo ==0.3.0
-  - gogol-classroom ==0.3.0
-  - gogol-cloudmonitoring ==0.3.0
-  - gogol-cloudtrace ==0.3.0
-  - gogol-compute ==0.3.0
-  - gogol-container ==0.3.0
-  - gogol-core ==0.3.0
-  - gogol-customsearch ==0.3.0
-  - gogol-dataflow ==0.3.0
-  - gogol-dataproc ==0.3.0
-  - gogol-datastore ==0.3.0
-  - gogol-debugger ==0.3.0
-  - gogol-deploymentmanager ==0.3.0
-  - gogol-dfareporting ==0.3.0
-  - gogol-discovery ==0.3.0
-  - gogol-dns ==0.3.0
-  - gogol-doubleclick-bids ==0.3.0
-  - gogol-doubleclick-search ==0.3.0
-  - gogol-drive ==0.3.0
-  - gogol-firebase-rules ==0.3.0
-  - gogol-fitness ==0.3.0
-  - gogol-fonts ==0.3.0
-  - gogol-freebasesearch ==0.3.0
-  - gogol-fusiontables ==0.3.0
-  - gogol-games ==0.3.0
-  - gogol-games-configuration ==0.3.0
-  - gogol-games-management ==0.3.0
-  - gogol-genomics ==0.3.0
-  - gogol-gmail ==0.3.0
-  - gogol-groups-migration ==0.3.0
-  - gogol-groups-settings ==0.3.0
-  - gogol-identity-toolkit ==0.3.0
-  - gogol-kgsearch ==0.3.0
-  - gogol-latencytest ==0.3.0
-  - gogol-logging ==0.3.0
-  - gogol-maps-coordinate ==0.3.0
-  - gogol-maps-engine ==0.3.0
-  - gogol-mirror ==0.3.0
-  - gogol-monitoring ==0.3.0
-  - gogol-oauth2 ==0.3.0
-  - gogol-pagespeed ==0.3.0
-  - gogol-partners ==0.3.0
-  - gogol-people ==0.3.0
-  - gogol-play-moviespartner ==0.3.0
-  - gogol-plus ==0.3.0
-  - gogol-plus-domains ==0.3.0
-  - gogol-prediction ==0.3.0
-  - gogol-proximitybeacon ==0.3.0
-  - gogol-pubsub ==0.3.0
-  - gogol-qpxexpress ==0.3.0
-  - gogol-replicapool ==0.3.0
-  - gogol-replicapool-updater ==0.3.0
-  - gogol-resourcemanager ==0.3.0
-  - gogol-resourceviews ==0.3.0
-  - gogol-script ==0.3.0
-  - gogol-sheets ==0.3.0
-  - gogol-shopping-content ==0.3.0
-  - gogol-siteverification ==0.3.0
-  - gogol-spectrum ==0.3.0
-  - gogol-sqladmin ==0.3.0
-  - gogol-storage ==0.3.0
-  - gogol-storage-transfer ==0.3.0
-  - gogol-tagmanager ==0.3.0
-  - gogol-taskqueue ==0.3.0
-  - gogol-translate ==0.3.0
-  - gogol-urlshortener ==0.3.0
-  - gogol-useraccounts ==0.3.0
-  - gogol-vision ==0.3.0
-  - gogol-webmaster-tools ==0.3.0
-  - gogol-youtube ==0.3.0
-  - gogol-youtube-analytics ==0.3.0
-  - gogol-youtube-reporting ==0.3.0
+  - gnuplot ==0.5.5.2
+  - goggles ==0.3.2
   - google-cloud ==0.0.4
   - google-oauth2-jwt ==0.2.2
-  - google-translate ==0.4.1
   - GPipe ==2.2.3
   - gpolyline ==0.1.0.1
   - graph-core ==0.3.0.0
   - graphs ==0.7.1
-  - graphviz ==2999.19.0.0
   - graph-wrapper ==0.2.5.1
   - gravatar ==0.8.0
   - graylog ==0.1.0.1
   - groom ==0.1.2.1
-  - groundhog ==0.8
+  - groundhog ==0.8.0.1
   - groundhog-inspector ==0.8.0.2
-  - groundhog-mysql ==0.8
-  - groundhog-postgresql ==0.8.0.1
-  - groundhog-sqlite ==0.8
+  - groundhog-mysql ==0.8.0.1
+  - groundhog-postgresql ==0.8.0.3
+  - groundhog-sqlite ==0.8.0.1
   - groundhog-th ==0.8.0.2
   - group-by-date ==0.1.0.2
-  - grouped-list ==0.2.1.4
-  - groupoids ==4.0
+  - grouped-list ==0.2.2.0
   - groups ==0.4.1.0
-  - gtk2hs-buildtools ==0.13.3.1
-  - gym-http-api ==0.1.0.0
+  - gtk2hs-buildtools ==0.13.4.0
   - H ==0.9.0.1
   - h2c ==1.0.0
   - hackage-db ==2.0
-  - hackage-security ==0.5.2.2
-  - hackernews ==1.3.0.0
-  - haddock-library ==1.4.3
-  - hailgun ==0.4.1.6
+  - hackage-security ==0.5.3.0
+  - haddock-library ==1.4.5
+  - hailgun ==0.4.1.7
   - hailgun-simple ==0.1.0.0
-  - hakyll ==4.10.0.0
+  - hakyll ==4.12.2.0
   - half ==0.2.2.3
   - hamilton ==0.1.0.2
-  - hamlet ==1.2.0
   - HandsomeSoup ==0.4.2
   - handwriting ==0.1.0.3
-  - hapistrano ==0.3.5.2
-  - happstack-hsp ==7.3.7.3
+  - hapistrano ==0.3.5.5
   - happstack-jmacro ==7.0.12
-  - happstack-server ==7.5.0.1
+  - happstack-server ==7.5.1
   - happstack-server-tls ==7.1.6.5
   - happy ==1.19.9
-  - harp ==0.4.3
   - hasbolt ==0.1.3.0
-  - hashable ==1.2.6.1
+  - hashable ==1.2.7.0
   - hashable-time ==0.2.0.1
   - hashids ==1.0.2.4
   - hashmap ==1.3.3
-  - hashtables ==1.2.2.1
+  - hashtables ==1.2.3.0
   - haskeline ==0.7.4.2
-  - haskell-gi ==0.20.3
-  - haskell-gi-base ==0.20.8
-  - haskell-gi-overloading ==1.0
-  - haskell-import-graph ==1.0.3
+  - haskell-gi ==0.21.2
+  - haskell-gi-base ==0.21.1
+  - haskell-gi-overloading ==0.0
   - haskell-lexer ==1.0.1
   - haskell-lsp ==0.2.0.1
   - haskell-lsp-client ==1.0.0.1
-  - haskell-names ==0.9.0
+  - haskell-names ==0.9.1
   - haskell-neo4j-client ==0.3.2.4
   - HaskellNet ==0.5.1
   - HaskellNet-SSL ==0.3.4.0
   - haskell-spacegoo ==0.2.0.1
-  - haskell-src ==1.0.2.0
-  - haskell-src-exts ==1.19.1
-  - haskell-src-exts-simple ==1.19.0.0
-  - haskell-src-exts-util ==0.2.2
+  - haskell-src ==1.0.3.0
+  - haskell-src-exts ==1.20.2
+  - haskell-src-exts-util ==0.2.3
   - haskell-src-meta ==0.8.0.2
-  - haskell-tools-ast ==1.0.0.4
-  - haskell-tools-backend-ghc ==1.0.0.4
-  - haskell-tools-builtin-refactorings ==1.0.0.4
-  - haskell-tools-cli ==1.0.0.4
-  - haskell-tools-daemon ==1.0.0.4
-  - haskell-tools-debug ==1.0.0.4
-  - haskell-tools-demo ==1.0.0.4
-  - haskell-tools-prettyprint ==1.0.0.4
-  - haskell-tools-refactor ==1.0.0.4
-  - haskell-tools-rewrite ==1.0.0.4
+  - haskell-tools-ast ==1.0.1.1
+  - haskell-tools-backend-ghc ==1.0.1.1
+  - haskell-tools-prettyprint ==1.0.1.1
+  - haskell-tools-refactor ==1.0.1.2
+  - haskell-tools-rewrite ==1.0.1.1
   - haskintex ==0.8.0.0
-  - hasmin ==1.0.1
+  - hasmin ==1.0.2
   - hasql ==1.1.1
   - hasql-migration ==0.1.3
-  - hasql-optparse-applicative ==0.2.4
+  - hasql-optparse-applicative ==0.3
   - hasql-pool ==0.4.3
-  - hasql-transaction ==0.5.2
+  - hasql-transaction ==0.6
   - hastache ==0.6.1
-  - hasty-hamiltonian ==1.3.0
-  - HaTeX ==3.17.3.1
+  - hasty-hamiltonian ==1.3.2
+  - HaTeX ==3.18.0.0
   - haxl ==0.5.1.0
-  - haxl-amazonka ==0.1.1
   - HaXml ==1.25.4
   - haxr ==3000.11.2
   - hbeanstalk ==0.2.4
   - Hclip ==3.0.0.4
-  - HCodecs ==0.5
+  - HCodecs ==0.5.1
   - hdaemonize ==0.5.5
   - HDBC ==2.4.0.2
   - HDBC-mysql ==0.7.1.0
   - HDBC-session ==0.1.1.1
   - hdevtools ==0.1.6.1
-  - heap ==1.0.3
+  - heap ==1.0.4
   - heaps ==0.3.6
   - heatshrink ==0.1.0.0
   - hebrew-time ==0.1.1
-  - hedgehog ==0.5.2
+  - hedgehog ==0.5.3
   - hedgehog-quickcheck ==0.1
-  - hedis ==0.9.12
+  - hedis ==0.10.1
+  - heist ==1.0.1.2
   - here ==1.2.13
   - heredoc ==0.2.0.0
-  - heterocephalus ==1.0.5.1
+  - herms ==1.8.1.4
+  - heterocephalus ==1.0.5.2
   - hex ==0.1.2
   - hexml ==0.3.3
   - hexml-lens ==0.2.1
@@ -1113,14 +881,13 @@ default-package-overrides:
   - hidapi ==0.1.4
   - hidden-char ==0.1.0.2
   - hierarchical-clustering ==0.4.6
-  - higher-leveldb ==0.4.0.1
+  - higher-leveldb ==0.5.0.1
   - highjson ==0.4.0.0
   - highjson-swagger ==0.4.0.0
   - highjson-th ==0.4.0.0
   - highlighting-kate ==0.6.4
   - hinotify ==0.3.9
   - hint ==0.7.0
-  - hip ==1.5.3.0
   - histogram-fill ==0.8.5.0
   - hit ==0.6.3
   - hjsmin ==0.2.0.2
@@ -1129,19 +896,17 @@ default-package-overrides:
   - hlibgit2 ==0.18.0.16
   - hlibsass ==0.1.6.1
   - hmatrix ==0.18.2.0
+  - hmatrix-backprop ==0.1.2.0
   - hmatrix-gsl ==0.18.2.0
   - hmatrix-gsl-stats ==0.4.1.7
   - hmatrix-morpheus ==0.1.1.1
   - hmatrix-repa ==0.1.2.2
   - hmatrix-special ==0.4.0.1
+  - hmatrix-vector-sized ==0.1.1.0
   - hmpfr ==0.4.4
-  - hnix ==0.3.4
-  - hoauth2 ==1.5.1
   - hocilib ==0.2.0
-  - Hoed ==0.4.1
-  - holy-project ==0.2.0.1
-  - hOpenPGP ==2.5.5
-  - hopenpgp-tools ==0.19.5
+  - Hoed ==0.5.1
+  - hOpenPGP ==2.6.1
   - hopfli ==0.2.2.1
   - hosc ==0.16
   - hostname ==1.0
@@ -1149,13 +914,12 @@ default-package-overrides:
   - hourglass ==0.2.11
   - hourglass-orphans ==0.1.0.0
   - hp2pretty ==0.8.0.2
-  - hpack ==0.21.2
+  - hpack ==0.27.0
   - hpc-coveralls ==1.0.10
   - HPDF ==1.4.10
-  - hpio ==0.9.0.5
-  - hpp ==0.5.1
-  - hpqtypes ==1.5.1.1
-  - hprotoc ==2.4.7
+  - hpio ==0.9.0.6
+  - hpp ==0.5.2
+  - hpqtypes ==1.5.2.0
   - hquantlib ==0.0.4.0
   - hreader ==1.1.0
   - hreader-lens ==0.1.3.0
@@ -1163,10 +927,9 @@ default-package-overrides:
   - hsass ==0.5.0
   - hsb2hs ==0.3.1
   - hs-bibutils ==6.2.0.1
-  - hscolour ==1.24.2
+  - hscolour ==1.24.4
   - hsdns ==1.7.1
   - hsebaysdk ==0.4.0.0
-  - hse-cpp ==0.2
   - hsemail ==2
   - hset ==2.2.0
   - HSet ==0.0.1
@@ -1174,66 +937,66 @@ default-package-overrides:
   - hs-GeoIP ==0.3
   - hsignal ==0.2.7.5
   - hsinstall ==1.6
+  - HSlippyMap ==3.0
   - hslogger ==1.2.10
   - hslua ==0.9.5.1
   - hslua-aeson ==0.3.0.1
   - hslua-module-text ==0.1.2.1
   - hsndfile ==0.8.0
   - hsndfile-vector ==0.5.2
-  - HsOpenSSL ==0.11.4.12
+  - HsOpenSSL ==0.11.4.13
   - HsOpenSSL-x509-system ==0.1.0.3
   - hsp ==0.10.0
-  - hspec ==2.4.4
+  - hspec ==2.4.8
   - hspec-attoparsec ==0.1.0.2
   - hspec-checkers ==0.1.0.2
   - hspec-contrib ==0.4.0
-  - hspec-core ==2.4.4
-  - hspec-discover ==2.4.4
+  - hspec-core ==2.4.8
+  - hspec-discover ==2.4.8
   - hspec-expectations ==0.8.2
   - hspec-expectations-lifted ==0.10.0
   - hspec-expectations-pretty-diff ==0.7.2.4
-  - hspec-golden-aeson ==0.4.0.0
+  - hspec-golden-aeson ==0.5.1.0
   - hspec-megaparsec ==1.0.0
   - hspec-meta ==2.4.6
   - hspec-pg-transact ==0.1.0.2
-  - hspec-smallcheck ==0.4.2
+  - hspec-smallcheck ==0.5.0
   - hspec-wai ==0.9.0
   - hspec-wai-json ==0.9.0
   - hspec-webdriver ==1.2.0
   - hsshellscript ==3.4.5
   - hstatistics ==0.3
   - hstatsd ==0.1
-  - HStringTemplate ==0.8.6
+  - HStringTemplate ==0.8.7
   - HSvm ==0.1.0.3.22
-  - hsx2hs ==0.14.1.2
   - hsx-jmacro ==7.3.8
   - hsyslog ==5.0.1
-  - hsyslog-udp ==0.2.0
+  - hsyslog-udp ==0.2.2
   - htaglib ==1.1.1
-  - HTF ==0.13.2.2
+  - HTF ==0.13.2.4
   - html ==1.0.1.2
-  - html-conduit ==1.2.1.2
+  - html-conduit ==1.3.0
   - html-email-validate ==0.2.0.0
   - html-entity-map ==0.1.0.0
   - htoml ==1.0.0.3
-  - HTTP ==4000.3.9
+  - HTTP ==4000.3.11
   - http2 ==1.6.3
   - http-api-data ==0.3.7.2
-  - http-client ==0.5.10
+  - http-client ==0.5.12.1
   - http-client-openssl ==0.2.1.1
   - http-client-tls ==0.3.5.3
   - http-common ==0.8.2.0
-  - http-conduit ==2.2.4
-  - http-date ==0.0.6.1
+  - http-conduit ==2.3.1
+  - http-date ==0.0.7
   - http-link-header ==1.0.3
   - http-media ==0.7.1.2
-  - http-reverse-proxy ==0.4.5
-  - http-streams ==0.8.5.5
-  - http-types ==0.9.1
+  - http-reverse-proxy ==0.5.0.1
+  - http-streams ==0.8.6.1
+  - http-types ==0.12.1
   - human-readable-duration ==0.2.0.3
   - HUnit ==1.6.0.0
   - HUnit-approx ==1.1.1.1
-  - hunit-dejafu ==0.7.1.1
+  - hunit-dejafu ==1.1.0.3
   - hvect ==0.4.0.0
   - hw-balancedparens ==0.2.0.1
   - hw-bits ==0.7.0.2
@@ -1241,19 +1004,21 @@ default-package-overrides:
   - hw-diagnostics ==0.0.0.5
   - hweblib ==0.6.3
   - hw-excess ==0.2.0.0
+  - hw-fingertree ==0.1.0.1
+  - hw-fingertree-strict ==0.1.0.3
   - hw-hedgehog ==0.1.0.1
-  - hw-hspec-hedgehog ==0.1.0.2
+  - hw-hspec-hedgehog ==0.1.0.4
   - hw-int ==0.0.0.3
   - hw-json ==0.6.0.0
   - hw-mquery ==0.1.0.1
   - hworker ==0.1.0.1
   - hw-parser ==0.0.0.3
-  - hw-prim ==0.5.0.0
+  - hw-prim ==0.5.0.3
   - hw-rankselect ==0.10.0.3
   - hw-rankselect-base ==0.2.0.2
   - hw-string-parse ==0.0.0.4
   - hw-succinct ==0.1.0.1
-  - hw-xml ==0.1.0.1
+  - hw-xml ==0.1.0.3
   - hxt ==9.3.1.16
   - hxt-charproperties ==9.2.0.1
   - hxt-css ==0.1.0.3
@@ -1267,48 +1032,46 @@ default-package-overrides:
   - hybrid-vectors ==0.2.2
   - hyperloglog ==0.4.2
   - hyphenation ==0.7.1
-  - ical ==0.0.1
   - iconv ==0.4.1.3
   - identicon ==0.2.2
-  - idris ==1.2.0
   - ieee754 ==0.8.0
   - if ==0.1.0.0
-  - IfElse ==0.85
   - iff ==0.0.6
   - ignore ==0.1.1.0
+  - ihaskell ==0.9.0.3
   - ihs ==0.1.0.2
   - ilist ==0.3.1.0
   - imagesize-conduit ==1.1
   - Imlib ==0.1.2
   - immortal ==0.2.2.1
-  - importify ==1.0.1
+  - imprint ==0.0.1.0
   - include-file ==0.1.0.3
-  - incremental-parser ==0.2.5.3
+  - incremental-parser ==0.2.5.4
   - indentation-core ==0.0.0.1
   - indentation-parsec ==0.0.0.1
   - indents ==0.4.0.1
+  - indexed-list-literals ==0.1.0.1
   - inflections ==0.4.0.1
-  - influxdb ==1.2.2.3
-  - ini ==0.3.5
-  - inline-c ==0.6.0.5
+  - influxdb ==1.3.0.1
+  - ini ==0.3.6
+  - inline-c ==0.6.0.6
   - inline-c-cpp ==0.2.1.0
-  - inline-java ==0.7.2
+  - inline-java ==0.8.2
   - inline-r ==0.9.1
   - insert-ordered-containers ==0.2.1.0
-  - inspection-testing ==0.1.2
+  - inspection-testing ==0.2.0.1
   - instance-control ==0.1.2.0
-  - integer-logarithms ==1.0.2
+  - integer-logarithms ==1.0.2.1
   - integration ==0.2.1
   - intern ==0.9.2
-  - interpolate ==0.1.1
+  - interpolate ==0.2.0
   - interpolatedstring-perl6 ==1.0.0
-  - Interpolation ==0.3.0
   - interpolation ==0.1.0.2
   - IntervalMap ==0.5.3.1
   - intervals ==0.8.1
   - intro ==0.3.1.0
   - invariant ==0.5
-  - invertible ==0.2.0.3
+  - invertible ==0.2.0.5
   - io-choice ==0.0.6
   - io-machine ==0.2.0.0
   - io-manager ==0.1.0.2
@@ -1319,13 +1082,13 @@ default-package-overrides:
   - io-streams-haproxy ==1.0.0.2
   - ip ==1.1.2
   - ip6addr ==0.5.3
-  - iproute ==1.7.2
-  - IPv6Addr ==1.0.1
-  - IPv6DB ==0.2.5
-  - ipython-kernel ==0.9.0.1
+  - iproute ==1.7.4
+  - IPv6Addr ==1.0.3
+  - IPv6DB ==0.2.6
+  - ipython-kernel ==0.9.0.2
   - irc ==0.6.1.0
-  - irc-client ==1.0.1.1
-  - irc-conduit ==0.2.2.5
+  - irc-client ==1.1.0.2
+  - irc-conduit ==0.3.0.1
   - irc-ctcp ==0.1.3.0
   - irc-dcc ==2.0.1
   - islink ==0.1.0.0
@@ -1337,71 +1100,69 @@ default-package-overrides:
   - ixset-typed ==0.3.1.1
   - ix-shapable ==0.1.0
   - jack ==0.7.1.3
-  - jailbreak-cabal ==1.3.2
   - javascript-extras ==0.3.2.0
   - jmacro ==0.6.14
   - jmacro-rpc ==0.3.2
   - jmacro-rpc-happstack ==0.3.2
   - jmacro-rpc-snap ==0.3
-  - jni ==0.5.1
+  - jni ==0.6.0
   - jose ==0.6.0.3
   - jose-jwt ==0.7.8
-  - jsaddle ==0.9.4.0
-  - jsaddle-dom ==0.9.2.0
   - js-flot ==0.8.3
-  - js-jquery ==3.2.1
-  - json ==0.9.1
+  - js-jquery ==3.3.1
+  - json ==0.9.2
   - json-autotype ==1.0.18
   - json-builder ==0.3
   - json-rpc-generic ==0.2.1.3
   - json-schema ==0.7.4.1
-  - json-stream ==0.4.1.5
-  - JuicyPixels ==3.2.9.4
-  - JuicyPixels-extra ==0.2.2
+  - json-stream ==0.4.2.3
+  - JuicyPixels ==3.2.9.5
+  - JuicyPixels-extra ==0.3.0
   - JuicyPixels-scale-dct ==0.1.1.2
-  - justified-containers ==0.2.0.1
+  - justified-containers ==0.3.0.0
   - jvm ==0.4.2
+  - jvm-batching ==0.1.1
+  - jvm-streaming ==0.3.1
   - jwt ==0.7.2
-  - kan-extensions ==5.0.2
-  - kanji ==3.0.2
-  - kansas-comet ==0.4
-  - katip ==0.5.3.0
-  - katip-elasticsearch ==0.4.0.4
+  - kan-extensions ==5.1
+  - kanji ==3.1.0.1
   - katydid ==0.1.1.0
   - kawhi ==0.3.0
   - kdt ==0.2.4
   - keycode ==0.2.2
-  - keys ==3.11
+  - keys ==3.12
   - kmeans ==0.1.3
   - knob ==0.1.1
   - koofr-client ==1.0.0.3
   - kraken ==0.1.0
   - l10n ==0.1.0.1
   - labels ==0.3.3
-  - lackey ==0.4.7
+  - lackey ==1.0.2
+  - lambdabot-core ==5.1.0.1
+  - lambdabot-irc-plugins ==5.1.0.1
   - lame ==0.1.1
   - language-c ==0.7.2
   - language-c-quote ==0.12.1
-  - language-docker ==1.0.0
+  - language-docker ==2.0.1
+  - language-ecmascript ==0.17.2.0
   - language-fortran ==0.5.1
   - language-glsl ==0.2.1
   - language-haskell-extract ==0.2.4
-  - language-java ==0.2.8
-  - language-javascript ==0.6.0.10
-  - language-puppet ==1.3.16
-  - lapack-carray ==0.0
-  - lapack-ffi ==0.0
-  - lapack-ffi-tools ==0.0.0.1
+  - language-java ==0.2.9
+  - language-javascript ==0.6.0.11
+  - language-puppet ==1.3.17
+  - lapack-carray ==0.0.2
+  - lapack-ffi ==0.0.2
+  - lapack-ffi-tools ==0.1.0.1
   - large-hashable ==0.1.0.4
   - largeword ==1.2.5
   - latex ==0.1.0.3
-  - lattices ==1.7
+  - lattices ==1.7.1
   - lazyio ==0.1.0.4
-  - lazysmallcheck ==0.6
   - lca ==0.3.1
   - leancheck ==0.7.0
   - leapseconds-announced ==2017.1.0.1
-  - lens ==4.15.4
+  - lens ==4.16.1
   - lens-accelerate ==0.1.0.0
   - lens-action ==0.2.3
   - lens-aeson ==1.0.2
@@ -1410,23 +1171,24 @@ default-package-overrides:
   - lens-family-core ==1.2.2
   - lens-family-th ==0.5.0.1
   - lens-labels ==0.1.0.2
+  - lens-properties ==4.11.1
   - lens-regex ==0.1.0
   - lens-simple ==0.1.0.9
-  - lentil ==1.0.9.1
+  - lentil ==1.0.11.3
   - leveldb-haskell ==0.6.5
   - lexer-applicative ==2.1.0.1
   - libffi ==0.1
   - libgit ==0.3.1
   - libgraph ==1.14
   - libinfluxdb ==0.0.4
-  - libmpd ==0.9.0.7
+  - libmpd ==0.9.0.8
   - liboath-hs ==0.0.1.0
-  - libsystemd-journal ==1.4.2
+  - libsystemd-journal ==1.4.3
   - libxml-sax ==0.7.5
   - LibZip ==1.0.1
   - licensor ==0.2.2
   - lifted-async ==0.9.3.3
-  - lifted-base ==0.2.3.11
+  - lifted-base ==0.2.3.12
   - lift-generics ==0.1.2
   - line ==4.0.1
   - linear ==1.20.7
@@ -1435,14 +1197,14 @@ default-package-overrides:
   - linux-file-extents ==0.2.0.0
   - linux-namespaces ==0.1.2.0
   - List ==0.6.2
-  - ListLike ==4.5.1
+  - ListLike ==4.6
   - listsafe ==0.1.0.1
-  - list-t ==1.0.0.1
+  - list-t ==1.0.1
   - llvm-hs ==5.1.3
   - llvm-hs-pure ==5.1.2
   - lmdb ==0.2.5
   - load-env ==0.1.2
-  - loch-th ==0.2.1
+  - loch-th ==0.2.2
   - lockfree-queue ==0.2.3.1
   - log ==0.9.0.1
   - log-base ==0.7.4.0
@@ -1450,19 +1212,19 @@ default-package-overrides:
   - log-elasticsearch ==0.9.1.0
   - logfloat ==0.13.3.3
   - logger-thread ==0.1.0.2
-  - logging-effect ==1.2.4
+  - logging-effect ==1.2.6
   - logging-effect-extra ==1.2.2
   - logging-effect-extra-file ==1.1.2
-  - logging-effect-extra-handler ==1.1.2
+  - logging-effect-extra-handler ==1.1.4
   - logging-facade ==0.3.0
   - logging-facade-syslog ==1
   - logict ==0.6.0.2
   - log-postgres ==0.7.0.2
-  - log-warper ==1.8.3
+  - log-warper ==1.8.11
   - loop ==0.3.0
   - lrucache ==1.2.0.0
   - lrucaching ==0.3.3
-  - lucid ==2.9.9
+  - lucid ==2.9.10
   - lxd-client ==0.1.0.6
   - lxd-client-config ==0.1.0.1
   - lzma ==0.0.0.3
@@ -1471,19 +1233,19 @@ default-package-overrides:
   - machines-binary ==0.3.0.3
   - machines-directory ==0.2.1.0
   - machines-io ==0.2.0.13
-  - magic ==1.1
-  - magicbane ==0.1.4
   - mainland-pretty ==0.6.1
   - makefile ==1.1.0.0
-  - mallard ==0.6.1.1
   - managed ==1.0.6
-  - mandrill ==0.5.3.2
-  - markdown ==0.1.16
-  - markdown-unlit ==0.4.1
+  - mandrill ==0.5.3.3
+  - mapquest-api ==0.3.1
+  - map-syntax ==0.2.0.2
+  - markdown ==0.1.17.1
+  - markdown-unlit ==0.5.0
   - markov-chain ==0.0.3.4
-  - markup ==4.0.3
-  - marvin ==0.2.5
+  - markup ==4.0.4
   - marvin-interpolate ==1.1.2
+  - massiv ==0.1.6.1
+  - massiv-io ==0.1.3.0
   - mathexpr ==0.3.0.0
   - math-functions ==0.2.1.0
   - matplotlib ==0.6.0
@@ -1497,9 +1259,8 @@ default-package-overrides:
   - mcmc-types ==1.0.3
   - median-stream ==0.7.0.0
   - med-module ==0.1.1
-  - megaparsec ==6.3.0
-  - mega-sdist ==0.3.0.6
-  - memory ==0.14.11
+  - megaparsec ==6.4.1
+  - memory ==0.14.16
   - MemoTrie ==0.6.9
   - mercury-api ==0.1.0.1
   - mersenne-random-pure64 ==0.2.2.0
@@ -1507,58 +1268,54 @@ default-package-overrides:
   - messagepack-rpc ==0.5.1
   - metrics ==0.4.1.1
   - MFlow ==0.4.6.0
-  - mfsolve ==0.3.2.0
   - microformats2-parser ==1.0.1.7
   - microlens ==0.4.8.3
-  - microlens-aeson ==2.2.0.2
+  - microlens-aeson ==2.3.0
   - microlens-contra ==0.1.0.1
   - microlens-ghc ==0.4.8.0
   - microlens-mtl ==0.1.11.1
   - microlens-platform ==0.3.9.0
   - microlens-th ==0.4.1.3
-  - microsoft-translator ==0.1.1
   - microspec ==0.1.0.0
   - microstache ==1.0.1.1
   - midi ==0.2.2.2
-  - midi-music-box ==0.0.0.4
   - mighty-metropolis ==1.2.0
   - milena ==0.5.2.1
   - mime-mail ==0.4.14
-  - mime-mail-ses ==0.4.0.0
+  - mime-mail-ses ==0.4.1
   - mime-types ==0.1.0.7
   - minimorph ==0.1.6.1
-  - minio-hs ==0.3.2
-  - miniutter ==0.4.6.0
+  - minio-hs ==1.0.0
+  - miniutter ==0.4.7.0
   - mintty ==0.1.1
   - misfortune ==0.1.1.2
-  - miso ==0.10.0.0
+  - miso ==0.14.0.0
   - missing-foreign ==0.1.1
   - MissingH ==1.4.0.1
   - mixed-types-num ==0.3.1.4
   - mltool ==0.1.0.2
   - mmap ==0.5.9
-  - mmark ==0.0.4.0
-  - mmark-ext ==0.0.1.2
-  - mmorph ==1.1.1
+  - mmark ==0.0.5.6
+  - mmark-cli ==0.0.3.0
+  - mmark-ext ==0.2.0.0
+  - mmorph ==1.1.2
   - mnist-idx ==0.1.2.8
   - mockery ==0.3.5
   - model ==0.4.4
-  - modern-uri ==0.1.2.1
-  - modify-fasta ==0.8.2.3
+  - modern-uri ==0.2.1.0
+  - modify-fasta ==0.8.3.0
   - moesocks ==1.0.0.44
   - mole ==0.0.6
   - monad-control ==1.0.2.3
-  - monad-control-aligned ==0.0.1
+  - monad-control-aligned ==0.0.1.1
   - monad-coroutine ==0.9.0.4
-  - monadcryptorandom ==0.7.2
   - monad-extras ==0.6.0
-  - monad-http ==0.1.0.0
   - monadic-arrays ==0.2.2
   - monad-journal ==0.8.1
   - monadloc ==0.7.1
-  - monad-logger ==0.3.28.1
+  - monad-logger ==0.3.28.5
   - monad-logger-json ==0.1.0.0
-  - monad-logger-prefix ==0.1.8
+  - monad-logger-prefix ==0.1.9
   - monad-logger-syslog ==0.1.4.0
   - monad-loops ==0.4.3
   - monad-memo ==0.4.1
@@ -1573,21 +1330,21 @@ default-package-overrides:
   - monad-products ==4.0.1
   - MonadPrompt ==1.0.0.5
   - MonadRandom ==0.5.1
-  - monad-recorder ==0.1.0
+  - monad-recorder ==0.1.1
   - monad-skeleton ==0.1.5
   - monad-st ==0.2.4.1
   - monads-tf ==0.1.0.3
   - monad-time ==0.2
   - monad-unlift ==0.2.0
   - monad-unlift-ref ==0.2.1
-  - mongoDB ==2.3.0.4
-  - monoidal-containers ==0.3.0.2
-  - monoid-extras ==0.4.2
-  - monoid-subclasses ==0.4.4
+  - mongoDB ==2.3.0.5
+  - monoidal-containers ==0.3.1.0
+  - monoid-extras ==0.4.4
+  - monoid-subclasses ==0.4.6
   - monoid-transformer ==0.0.4
   - mono-traversable ==1.0.8.1
   - mono-traversable-instances ==0.1.0.0
-  - morte ==1.6.15
+  - morte ==1.6.18
   - mountpoints ==1.0.2
   - mstate ==0.2.7
   - mtl ==2.2.2
@@ -1599,19 +1356,17 @@ default-package-overrides:
   - multiset ==0.3.3
   - multistate ==0.7.1.2
   - murmur-hash ==0.1.0.9
-  - MusicBrainz ==0.3.1
   - mustache ==2.3.0
   - mutable-containers ==0.3.4
-  - mwc-probability ==1.3.0
+  - mwc-probability ==2.0.2
   - mwc-random ==0.13.6.0
   - mwc-random-accelerate ==0.1.0.0
-  - mysql ==0.1.4
+  - mysql ==0.1.5
   - mysql-haskell ==0.8.3.0
   - mysql-haskell-nem ==0.1.0.0
   - mysql-haskell-openssl ==0.8.3.0
-  - mysql-simple ==0.4.4
+  - mysql-simple ==0.4.5
   - nagios-check ==0.3.2
-  - nakadi-client ==0.3.0.0
   - names-th ==0.2.0.3
   - nano-erl ==0.1.0.1
   - nanospec ==0.2.2
@@ -1621,25 +1376,24 @@ default-package-overrides:
   - natural-transformation ==0.4
   - ndjson-conduit ==0.1.0.5
   - neat-interpolation ==0.3.2.1
-  - netlib-carray ==0.0
-  - netlib-ffi ==0.0
+  - netlib-carray ==0.0.1.1
+  - netlib-ffi ==0.0.1
   - netpbm ==1.0.2
   - nettle ==0.2.0
-  - netwire ==5.0.2
-  - netwire-input ==0.0.6
-  - netwire-input-glfw ==0.0.8
-  - network ==2.6.3.4
+  - netwire ==5.0.3
+  - netwire-input ==0.0.7
+  - netwire-input-glfw ==0.0.10
+  - network ==2.6.3.5
   - network-anonymous-i2p ==0.10.0
   - network-anonymous-tor ==0.11.0
   - network-attoparsec ==0.12.2
-  - network-carbon ==1.0.11
-  - network-conduit-tls ==1.2.2
+  - network-carbon ==1.0.12
+  - network-conduit-tls ==1.3.0
   - network-house ==0.1.0.2
-  - network-info ==0.2.0.9
+  - network-info ==0.2.0.10
   - network-ip ==0.3.0.2
-  - network-msgpack-rpc ==0.0.4
   - network-multicast ==0.2.0
-  - Network-NineP ==0.4.2
+  - Network-NineP ==0.4.3
   - network-simple ==0.4.0.5
   - network-transport ==0.5.2
   - network-transport-composed ==0.2.1
@@ -1648,23 +1402,22 @@ default-package-overrides:
   - network-transport-tests ==0.2.4.2
   - network-uri ==2.6.1.0
   - newtype ==0.2
-  - newtype-generics ==0.5.2.1
+  - newtype-generics ==0.5.3
   - next-ref ==0.1.0.2
   - nfc ==0.1.0
   - nicify-lib ==1.0.1
   - NineP ==0.0.2.1
   - nix-paths ==1.0.1
   - NoHoed ==0.1.1
-  - nonce ==1.0.5
+  - nonce ==1.0.7
   - nondeterminism ==1.4
   - non-empty ==0.3
   - non-empty-sequence ==0.2.0.2
   - non-negative ==0.1.2
-  - normaldistribution ==1.1.0.3
   - normalization-insensitive ==2.0.1
   - NoTrace ==0.3.0.2
   - nsis ==0.3.2
-  - n-tuple ==0.0.1.1
+  - n-tuple ==0.0.2.0
   - numbers ==3000.2.0.1
   - numeric-extras ==0.1
   - numeric-prelude ==0.4.3
@@ -1672,31 +1425,30 @@ default-package-overrides:
   - numhask-range ==0.1.3.0
   - NumInstances ==1.4
   - numtype-dk ==0.5.0.1
-  - nvim-hs ==0.2.5
-  - nvim-hs-contrib ==0.2.0
-  - nvim-hs-ghcid ==0.2.0
-  - nvvm ==0.8.0.2
+  - nvvm ==0.8.0.3
+  - oauthenticated ==0.2.1.0
   - objective ==1.1.2
   - ObjectName ==1.1.0.1
   - ochintin-daicho ==0.1.0.1
+  - o-clock ==0.1.1
   - oeis ==0.3.9
   - ofx ==0.4.2.0
   - old-locale ==1.0.0.7
   - old-time ==1.1.0.3
   - once ==0.2
   - one-liner ==0.9.2
+  - one-liner-instances ==0.1.2.1
   - OneTuple ==0.2.1
   - online ==0.2.1.0
   - Only ==0.1
   - oo-prototypes ==0.1.0.0
-  - opaleye ==0.6.0.0
-  - opaleye-trans ==0.4.2
+  - opaleye ==0.6.1.0
   - OpenAL ==1.7.0.4
   - open-browser ==0.2.1.0
   - openexr-write ==0.1.0.1
-  - OpenGL ==3.0.2.0
+  - OpenGL ==3.0.2.1
   - OpenGLRaw ==3.2.7.0
-  - openpgp-asciiarmor ==0.1
+  - openpgp-asciiarmor ==0.1.1
   - opensource ==0.1.0.0
   - openssl-streams ==1.2.1.3
   - open-witness ==0.4.0.1
@@ -1706,19 +1458,20 @@ default-package-overrides:
   - optional-args ==1.0.2
   - options ==1.2.1.1
   - optparse-applicative ==0.14.2.0
-  - optparse-generic ==1.2.3
+  - optparse-generic ==1.3.0
   - optparse-simple ==0.1.0
   - optparse-text ==0.1.1.0
+  - overhang ==1.0.0
   - package-description-remote ==0.2.0.0
   - packdeps ==0.4.4
   - pager ==0.1.1.0
   - pagerduty ==0.0.8
   - pagination ==0.2.1
   - palette ==0.1.0.5
-  - pandoc ==2.0.6
-  - pandoc-citeproc ==0.12.2.5
+  - pandoc ==2.1.2
+  - pandoc-citeproc ==0.14.3.1
   - pandoc-types ==1.17.3.1
-  - pango ==0.13.4.0
+  - pango ==0.13.5.0
   - papillon ==0.1.0.5
   - parallel ==3.2.1.1
   - parallel-io ==0.3.3
@@ -1752,17 +1505,19 @@ default-package-overrides:
   - pdf-toolbox-document ==0.0.7.1
   - pell ==0.1.1.0
   - pem ==0.2.4
-  - perf ==0.3.0
-  - persistable-record ==0.6.0.1
-  - persistable-types-HDBC-pg ==0.0.1.5
-  - persistent ==2.7.1
-  - persistent-mongoDB ==2.6.0
-  - persistent-mysql ==2.6.2.1
-  - persistent-mysql-haskell ==0.3.6
-  - persistent-postgresql ==2.6.3
+  - perf ==0.3.1.1
+  - perfect-hash-generator ==0.2.0.6
+  - persistable-record ==0.6.0.3
+  - persistable-types-HDBC-pg ==0.0.3.2
+  - persistent ==2.8.2
+  - persistent-mongoDB ==2.8.0
+  - persistent-mysql ==2.8.1
+  - persistent-mysql-haskell ==0.4.0
+  - persistent-postgresql ==2.8.2.0
+  - persistent-redis ==2.5.2.2
   - persistent-refs ==0.4
-  - persistent-sqlite ==2.6.4
-  - persistent-template ==2.5.3.1
+  - persistent-sqlite ==2.8.1.2
+  - persistent-template ==2.5.4
   - pgp-wordlist ==0.1.0.2
   - pg-transact ==0.1.0.1
   - phantom-state ==0.2.1.2
@@ -1770,56 +1525,55 @@ default-package-overrides:
   - picoparsec ==0.1.2.3
   - picosat ==0.1.4
   - pid1 ==0.1.2.0
-  - pinboard ==0.9.12.8
+  - pinboard ==0.9.12.9
   - pinch ==0.3.2.0
-  - pipes ==4.3.8
+  - pipes ==4.3.9
   - pipes-aeson ==0.4.1.8
   - pipes-attoparsec ==0.5.1.5
   - pipes-bytestring ==2.1.6
   - pipes-category ==0.3.0.0
-  - pipes-concurrency ==2.0.9
+  - pipes-concurrency ==2.0.10
   - pipes-csv ==1.4.3
-  - pipes-extras ==1.0.12
+  - pipes-extras ==1.0.14
   - pipes-fastx ==0.3.0.0
   - pipes-fluid ==0.6.0.0
-  - pipes-group ==1.0.8
+  - pipes-group ==1.0.10
   - pipes-misc ==0.4.0.1
   - pipes-mongodb ==0.1.0.0
   - pipes-network ==0.6.4.1
   - pipes-parse ==3.0.8
   - pipes-random ==1.0.0.4
-  - pipes-safe ==2.2.6
+  - pipes-safe ==2.2.9
   - pipes-text ==0.0.2.5
   - pipes-wai ==3.2.0
   - pixelated-avatar-generator ==0.1.3
   - pkcs10 ==0.2.0.0
   - placeholders ==0.1
-  - plan-b ==0.2.1
   - plot ==0.2.3.9
+  - plot-light ==0.2.9
   - pointed ==5.0.1
   - pointedlist ==0.6.1
-  - pointful ==1.0.9
   - pointless-fun ==1.1.0.6
   - poll ==0.0.0.1
   - poly-arity ==0.1.0
   - polynomials-bernstein ==1.1.2
   - polyparse ==1.12
-  - pomaps ==0.0.0.3
+  - pomaps ==0.0.0.4
   - pooled-io ==0.0.2.1
   - PortMidi ==0.1.6.1
-  - posix-paths ==0.2.1.3
+  - posix-paths ==0.2.1.5
   - postgresql-binary ==0.12.1
-  - postgresql-libpq ==0.9.4.0
-  - postgresql-query ==3.3.0
+  - postgresql-libpq ==0.9.4.1
   - postgresql-schema ==0.1.14
   - postgresql-simple ==0.5.3.0
   - postgresql-simple-migration ==0.1.11.0
   - postgresql-simple-queue ==1.0.1
-  - postgresql-simple-url ==0.2.0.0
+  - postgresql-simple-url ==0.2.1.0
   - postgresql-transactional ==1.1.1
-  - postgresql-typed ==0.5.2
+  - postgresql-typed ==0.5.3.0
   - post-mess-age ==0.2.1.0
-  - pqueue ==1.3.2.3
+  - pptable ==0.2.0.0
+  - pqueue ==1.4.1.1
   - pred-set ==0.0.1
   - pred-trie ==0.5.1.2
   - prefix-units ==0.2.0
@@ -1831,25 +1585,23 @@ default-package-overrides:
   - prettyclass ==1.0.0.0
   - pretty-class ==1.0.1.1
   - pretty-hex ==1.0
-  - prettyprinter ==1.1.1
+  - prettyprinter ==1.2.0.1
   - prettyprinter-ansi-terminal ==1.1.1.2
   - prettyprinter-compat-annotated-wl-pprint ==1
   - prettyprinter-compat-ansi-wl-pprint ==1.0.1
   - prettyprinter-compat-wl-pprint ==1.0.0.1
   - pretty-show ==1.6.16
-  - pretty-simple ==2.0.2.1
+  - pretty-simple ==2.1.0.0
   - pretty-types ==0.2.3.1
-  - prim-array ==0.2.1
+  - prim-array ==0.2.2
   - primes ==0.2.1.0
   - primitive ==0.6.3.0
-  - printcess ==0.1.0.3
+  - prim-uniq ==0.1.0.1
   - probability ==0.2.5.1
   - process-extras ==0.7.4
-  - product-isomorphic ==0.0.3.1
-  - product-profunctors ==0.8.0.3
+  - product-isomorphic ==0.0.3.2
+  - product-profunctors ==0.9.0.0
   - profiterole ==0.1
-  - profiteur ==0.4.4.0
-  - profunctor-extras ==4.0
   - profunctors ==5.2.2
   - projectroot ==0.2.0.1
   - project-template ==0.2.0.1
@@ -1859,40 +1611,40 @@ default-package-overrides:
   - prompt ==0.1.1.2
   - protobuf ==0.2.1.1
   - protobuf-simple ==0.1.0.5
-  - protocol-buffers ==2.4.7
-  - protocol-buffers-descriptor ==2.4.7
+  - protocol-buffers ==2.4.9
+  - protocol-buffers-descriptor ==2.4.9
+  - protocol-radius ==0.0.1.0
+  - protocol-radius-test ==0.0.1.0
   - proto-lens ==0.2.2.0
   - proto-lens-arbitrary ==0.1.1.1
-  - proto-lens-combinators ==0.1.0.8
   - proto-lens-descriptors ==0.2.2.0
-  - proto-lens-optparse ==0.1.0.4
-  - proto-lens-protobuf-types ==0.2.2.0
-  - proto-lens-protoc ==0.2.2.3
-  - protolude ==0.2.1
+  - proto-lens-optparse ==0.1.1.1
+  - protolude ==0.2.2
   - proxied ==0.3
   - psql-helpers ==0.1.0.0
   - PSQueue ==1.1
-  - psqueues ==0.2.5.0
+  - psqueues ==0.2.7.0
   - pthread ==0.2.0
-  - publicsuffix ==0.20170802
+  - publicsuffix ==0.20171229
   - pure-io ==0.2.1
   - pureMD5 ==2.1.3
   - purescript-bridge ==0.11.1.2
-  - pusher-http-haskell ==1.5.1.2
+  - pushbullet-types ==0.4.1.0
+  - pusher-http-haskell ==1.5.1.4
   - pwstore-fast ==2.4.4
-  - qchas ==1.0.1.0
-  - qm-interpolated-string ==0.2.1.0
+  - qchas ==1.1.0.0
+  - qm-interpolated-string ==0.3.0.0
   - QuasiText ==0.1.2.6
   - quickbench ==1.0
   - QuickCheck ==2.10.1
-  - quickcheck-arbitrary-adt ==0.2.0.0
+  - quickcheck-arbitrary-adt ==0.3.1.0
   - quickcheck-assertions ==0.3.0
   - quickcheck-classes ==0.3.3
   - quickcheck-combinators ==0.0.2
-  - quickcheck-instances ==0.3.16.1
+  - quickcheck-instances ==0.3.18
   - quickcheck-io ==0.2.0
   - quickcheck-properties ==0.1
-  - quickcheck-simple ==0.1.0.2
+  - quickcheck-simple ==0.1.0.3
   - quickcheck-special ==0.1.0.6
   - quickcheck-state-machine ==0.3.1
   - quickcheck-text ==0.1.2.1
@@ -1901,34 +1653,32 @@ default-package-overrides:
   - raaz ==0.2.0
   - rainbow ==0.28.0.4
   - rainbox ==0.18.0.10
-  - rakuten ==0.1.0.5
+  - rakuten ==0.1.1.1
   - ramus ==0.1.2
   - random ==1.1
   - random-fu ==0.2.7.0
   - random-shuffle ==0.0.4
   - random-source ==0.3.0.6
   - random-tree ==0.6.0.5
-  - range ==0.1.2.0
   - range-set-list ==0.1.2.0
   - rank1dynamic ==0.4.0
+  - rank2classes ==1.0.2
   - rank-product ==0.2.0.1
-  - Rasterific ==0.7.2.1
-  - rasterific-svg ==0.3.3
-  - ratel ==0.3.10
-  - ratel-wai ==0.3.2
+  - Rasterific ==0.7.3
+  - rasterific-svg ==0.3.3.1
+  - ratel ==1.0.3
+  - ratel-wai ==1.0.2
   - ratio-int ==0.1.2
-  - rattletrap ==3.1.2
   - rawfilepath ==0.2.4
   - rawstring-qm ==0.2.3.0
   - raw-strings-qq ==1.1
+  - rcu ==0.2.2
   - rdf ==0.1.0.2
   - rdtsc ==1.3.0.1
   - re2 ==0.2
-  - reactive-banana ==1.1.0.1
   - readable ==0.3.1
   - read-editor ==0.1.0.2
   - read-env-var ==1.0.0.0
-  - rebase ==1.1.1
   - recursion-schemes ==5.0.2
   - redis-io ==0.7.0
   - redis-resp ==0.4.0
@@ -1938,13 +1688,11 @@ default-package-overrides:
   - ref-fd ==0.4.0.1
   - refined ==0.1.2.1
   - reflection ==2.1.3
-  - reform ==0.2.7.1
+  - reform ==0.2.7.2
   - reform-blaze ==0.2.4.3
   - reform-hamlet ==0.0.5.3
   - reform-happstack ==0.2.5.2
-  - reform-hsp ==0.2.7.1
   - RefSerialize ==0.4.0
-  - ref-tf ==0.4.0.1
   - regex-applicative ==0.3.3
   - regex-applicative-text ==0.1.0.1
   - regex-base ==0.93.2
@@ -1954,10 +1702,10 @@ default-package-overrides:
   - regex-pcre-builtin ==0.94.4.8.8.35
   - regex-pcre-text ==0.94.0.1
   - regex-posix ==0.95.2
-  - regex-tdfa ==1.2.2
+  - regex-tdfa ==1.2.3
   - regex-tdfa-text ==1.0.0.3
   - reinterpret-cast ==0.1.0
-  - relational-query ==0.11.0.0
+  - relational-query ==0.11.1.0
   - relational-query-HDBC ==0.6.6.1
   - relational-record ==0.2.1.2
   - relational-schemas ==0.1.6.1
@@ -1968,61 +1716,57 @@ default-package-overrides:
   - repa-io ==3.4.1.1
   - repline ==0.1.7.0
   - req ==1.0.0
-  - req-conduit ==1.0.0
+  - req-url-extra ==0.1.0.0
   - reroute ==0.4.1.0
   - resource-pool ==0.2.3.2
-  - resourcet ==1.1.11
-  - rest-client ==0.5.1.1
+  - resourcet ==1.2.1
   - rest-core ==0.39
-  - rest-gen ==0.20.0.1
-  - rest-happstack ==0.3.1.1
   - rest-snap ==0.3.0.0
-  - rest-stringmap ==0.2.0.6
-  - rest-types ==1.14.1.1
-  - rest-wai ==0.2.0.1
+  - rest-stringmap ==0.2.0.7
+  - rest-types ==1.14.1.2
   - result ==0.2.6.0
   - rethinkdb-client-driver ==0.0.25
-  - retry ==0.7.6.1
+  - retry ==0.7.6.2
   - rev-state ==0.1.2
   - rfc5051 ==0.1.0.3
   - riak ==1.1.2.4
   - riak-protobuf ==0.23.0.0
-  - RNAlien ==1.3.7
   - rng-utils ==0.3.0
   - roles ==0.2.0.0
+  - rollbar-hs ==0.2.0.0
   - rose-trees ==0.0.4.4
   - rot13 ==0.2.0.1
   - RSA ==2.3.0
+  - rss-conduit ==0.4.2.1
   - runmemo ==1.0.0.1
   - rvar ==0.2.0.3
   - s3-signer ==0.3.0.0
-  - safe ==0.3.15
-  - safecopy ==0.9.3.3
-  - safe-exceptions ==0.1.6.0
+  - safe ==0.3.17
+  - safecopy ==0.9.4.1
+  - safe-exceptions ==0.1.7.0
   - safe-exceptions-checked ==0.1.0
   - safeio ==0.0.5.0
   - SafeSemaphore ==0.10.1
   - sample-frame ==0.0.3
   - sample-frame-np ==0.0.4.1
-  - sampling ==0.3.2
-  - sandi ==0.4.1
+  - sampling ==0.3.3
   - sandman ==0.2.0.1
   - say ==0.1.0.0
-  - sbp ==2.3.6
-  - sbv ==7.4
-  - scalendar ==1.2.0
+  - sbp ==2.3.16
+  - sbv ==7.5
   - SCalendar ==1.1.0
+  - scalendar ==1.2.0
   - scalpel ==0.5.1
   - scalpel-core ==0.5.1
   - scanner ==0.2
   - schematic ==0.4.2.0
-  - scientific ==0.3.5.2
-  - scotty ==0.11.0
+  - scientific ==0.3.6.0
+  - scotty ==0.11.1
   - scrypt ==0.5.0
-  - sdl2 ==2.3.0.1
+  - sdl2 ==2.4.0.1
   - sdl2-gfx ==0.2
   - sdl2-image ==2.0.0
-  - sdl2-mixer ==0.1
+  - sdl2-mixer ==1.1.0
   - sdl2-ttf ==2.0.2
   - search-algorithms ==0.3.0
   - securemem ==0.1.10
@@ -2031,94 +1775,93 @@ default-package-overrides:
   - selda-postgresql ==0.1.7.2
   - selda-sqlite ==0.1.6.0
   - semigroupoid-extras ==5
-  - semigroupoids ==5.2.1
+  - semigroupoids ==5.2.2
   - semigroups ==0.18.4
   - semiring-simple ==1.0.0.1
   - semver ==0.3.3.1
   - sendfile ==0.7.9
-  - sensu-run ==0.4.0.4
+  - sensu-run ==0.4.0.5
   - seqalign ==0.2.0.4
   - seqloc ==0.6.1.1
+  - sequence ==0.9.8
   - serf ==0.1.1.0
-  - servant ==0.11
-  - servant-auth-cookie ==0.5.0.5
-  - servant-blaze ==0.7.1
+  - servant ==0.13.0.1
+  - servant-blaze ==0.8
   - servant-cassava ==0.10
-  - servant-checked-exceptions ==0.4.1.0
-  - servant-client ==0.11
-  - servant-docs ==0.11
+  - servant-client ==0.13.0.1
+  - servant-client-core ==0.13.0.1
+  - servant-docs ==0.11.2
   - servant-elm ==0.4.0.1
   - servant-exceptions ==0.1.1
-  - servant-foreign ==0.10.1
+  - servant-foreign ==0.11.1
   - servant-generic ==0.1.0.1
+  - servant-github-webhook ==0.4.1.0
   - servant-js ==0.9.3.2
   - servant-JuicyPixels ==0.3.0.3
-  - servant-kotlin ==0.1.0.3
-  - servant-lucid ==0.7.1
-  - servant-mock ==0.8.3
-  - servant-pandoc ==0.4.1.4
+  - servant-kotlin ==0.1.1.0
+  - servant-lucid ==0.8
+  - servant-mock ==0.8.4
+  - servant-pandoc ==0.5.0.0
   - servant-purescript ==0.9.0.2
-  - servant-rawm ==0.2.0.2
-  - servant-ruby ==0.5.1.0
-  - servant-server ==0.11.0.1
-  - servant-static-th ==0.1.0.6
+  - servant-ruby ==0.7.0.0
+  - servant-server ==0.13.0.1
+  - servant-static-th ==0.2.0.1
   - servant-subscriber ==0.6.0.1
-  - servant-swagger ==1.1.4
+  - servant-swagger ==1.1.5
   - servant-swagger-ui ==0.2.5.3.9.1
-  - servant-websockets ==1.0.0
+  - servant-websockets ==1.1.0
   - servant-yaml ==0.1.0.0
   - serversession ==1.0.1
   - serversession-backend-persistent ==1.0.4
   - serversession-backend-redis ==1.0.3
   - serversession-frontend-wai ==1.0
-  - serversession-frontend-yesod ==1.0
   - servius ==1.2.0.3
   - ses-html ==0.4.0.0
   - set-cover ==0.0.9
   - setenv ==0.1.1.3
-  - setlocale ==1.0.0.5
+  - setlocale ==1.0.0.6
   - set-monad ==0.2.0.0
   - sets ==0.0.5.2
-  - SHA ==1.6.4.2
-  - shake ==0.16.3
+  - SHA ==1.6.4.4
+  - shake ==0.16.4
   - shake-language-c ==0.11.0
   - shakespeare ==2.0.15
-  - shell-conduit ==4.6.1
-  - shell-escape ==0.2.0
-  - shelly ==1.7.0.1
+  - shelltestrunner ==1.9
+  - shelly ==1.7.2
   - shikensu ==0.3.8
   - shortcut-links ==0.4.2.0
   - should-not-typecheck ==2.1.0
-  - show-prettyprint ==0.2.0.1
+  - show-combinators ==0.1.0.0
+  - show-prettyprint ==0.2.0.2
   - signal ==0.1.0.4
   - silently ==1.2.5
   - simple ==0.11.2
   - simple-log ==0.9.3
-  - simple-reflect ==0.3.2
+  - simple-reflect ==0.3.3
   - simple-sendfile ==0.2.27
   - simple-session ==0.10.1.1
   - simple-templates ==0.8.0.1
-  - singleton-bool ==0.1.3
-  - singleton-nats ==0.4.0.4
+  - singleton-bool ==0.1.4
+  - singleton-nats ==0.4.1
   - singletons ==2.3.1
   - siphash ==1.0.3
   - skein ==1.0.9.4
   - skeletons ==0.4.0
-  - skylighting ==0.5.1
-  - slack-web ==0.2.0.1
+  - skylighting ==0.6
+  - slack-web ==0.2.0.4
   - slave-thread ==1.0.2
   - slug ==0.1.7
   - smallcheck ==1.1.3.1
-  - smoothie ==0.4.2.7
+  - smoothie ==0.4.2.8
   - smtp-mail ==0.1.4.6
+  - snap ==1.1.0.0
   - snap-blaze ==0.2.1.5
-  - snap-core ==1.0.3.1
+  - snap-core ==1.0.3.2
   - snap-server ==1.0.3.3
   - snowflake ==0.1.1.1
-  - snowtify ==0.1.0.3
-  - soap ==0.2.3.5
+  - soap ==0.2.3.6
   - soap-openssl ==0.1.0.2
-  - soap-tls ==0.1.1.2
+  - soap-tls ==0.1.1.4
   - socket ==0.8.0.1
   - socket-activation ==0.1.0.2
   - socks ==0.5.6
@@ -2127,6 +1870,7 @@ default-package-overrides:
   - sourcemap ==0.1.6
   - sox ==0.2.3
   - soxlib ==0.0.3
+  - sparkle ==0.7.4
   - sparse-linear-algebra ==0.2.9.9
   - spdx ==0.2.2.0
   - special-values ==0.1.0.0
@@ -2144,24 +1888,27 @@ default-package-overrides:
   - Spock-core ==0.12.0.0
   - Spock-lucid ==0.4.0.1
   - Spock-worker ==0.3.1.0
+  - spoon ==0.3.1
   - spreadsheet ==0.1.3.7
-  - sqlite-simple ==0.4.14.0
-  - sqlite-simple-errors ==0.6.0.0
-  - sql-words ==0.1.5.1
+  - sqlite-simple ==0.4.15.0
+  - sql-words ==0.1.6.0
   - squeal-postgresql ==0.1.1.4
-  - srcloc ==0.5.1.1
+  - srcloc ==0.5.1.2
   - stache ==1.2.1
-  - stackage-curator ==0.15.1.0
   - stack-type ==0.1.0.0
+  - starter ==0.2.1
   - state-codes ==0.1.3
   - stateref ==0.3
   - statestack ==0.2.0.5
-  - StateVar ==1.1.0.4
+  - StateVar ==1.1.1.0
   - stateWriter ==0.2.10
+  - static-text ==0.2.0.1
   - statistics ==0.14.0.2
+  - stb-image-redux ==0.2.1.2
+  - stitch ==0.5.0.0
   - stm ==2.4.5.0
   - stm-chans ==3.0.0.4
-  - stm-conduit ==3.0.0
+  - stm-conduit ==4.0.0
   - stm-containers ==0.2.16
   - stm-delay ==0.1.1.1
   - stm-extras ==0.1.0.3
@@ -2169,7 +1916,7 @@ default-package-overrides:
   - stm-split ==0.0.2
   - stm-stats ==0.2.0.0
   - stm-supply ==0.2.0.0
-  - stopwatch ==0.1.0.4
+  - stopwatch ==0.1.0.5
   - storable-complex ==0.2.2
   - storable-endian ==0.2.6
   - storable-record ==0.0.4
@@ -2177,17 +1924,16 @@ default-package-overrides:
   - storablevector ==0.2.13
   - store ==0.4.3.2
   - store-core ==0.4.1
-  - Strafunski-StrategyLib ==5.0.0.10
-  - stratosphere ==0.14.0
-  - Stream ==0.4.7.2
-  - streaming ==0.2.0.0
-  - streaming-bytestring ==0.1.5
+  - Strafunski-StrategyLib ==5.0.1.0
+  - stratosphere ==0.19.1
+  - streaming ==0.2.1.0
+  - streaming-bytestring ==0.1.6
   - streaming-commons ==0.1.19
-  - streamly ==0.1.0
+  - streamly ==0.1.2
   - streamproc ==1.6.2
   - streams ==3.3
   - strict ==0.3.2
-  - strict-base-types ==0.5.0
+  - strict-base-types ==0.6.1
   - strict-concurrency ==0.2.4.2
   - strict-types ==0.1.2
   - stringable ==0.1.3
@@ -2198,65 +1944,56 @@ default-package-overrides:
   - string-conversions ==0.4.0.1
   - string-qq ==0.0.2
   - stringsearch ==0.3.6.6
-  - string-transform ==0.1.0
-  - stripe-core ==2.2.3
-  - stripe-haskell ==2.2.3
-  - stripe-http-streams ==2.2.3
-  - stripe-tests ==2.2.3
-  - strive ==4.0.3
-  - structured-haskell-mode ==1.1.0
-  - stylish-haskell ==0.8.1.0
+  - string-transform ==1.0.0
+  - stripe-core ==2.3.0
+  - strive ==5.0.4
+  - structs ==0.1.1
   - sum-type-boilerplate ==0.1.1
   - sundown ==0.6
   - superbuffer ==0.3.1.1
   - svg-builder ==0.1.0.2
-  - SVGFonts ==1.6.0.3
-  - svg-tree ==0.6.2.1
+  - svg-tree ==0.6.2.2
   - swagger ==0.3.0
-  - swagger2 ==2.2
-  - swagger-petstore ==0.0.1.8
-  - swish ==0.9.1.10
+  - swagger2 ==2.2.1
+  - swish ==0.9.2.1
   - syb ==0.7
-  - syb-with-class ==0.6.1.8
+  - syb-with-class ==0.6.1.9
   - symbol ==0.2.4
   - symengine ==0.1.2.0
   - sysinfo ==0.1.1
   - system-argv0 ==0.1.1
   - system-fileio ==0.3.16.3
   - system-filepath ==0.4.14
-  - system-posix-redirect ==1.1.0.1
   - tabular ==0.2.2.7
   - tagchup ==0.4.1
   - tagged ==0.8.5
   - tagged-binary ==0.2.0.1
   - tagged-identity ==0.1.2
+  - tagshare ==0.0
   - tagsoup ==0.14.6
   - tagstream-conduit ==0.5.5.3
-  - tar ==0.5.0.3
-  - tar-conduit ==0.1.1
+  - tar ==0.5.1.0
+  - tar-conduit ==0.2.3
   - tardis ==0.4.1.0
-  - tasty ==0.11.3
+  - tasty ==1.0.1.1
   - tasty-ant-xml ==1.1.3
   - tasty-auto ==0.2.0.0
-  - tasty-dejafu ==0.7.1.1
-  - tasty-discover ==4.1.5
-  - tasty-expected-failure ==0.11.0.4
-  - tasty-fail-fast ==0.0.3
-  - tasty-golden ==2.3.1.2
+  - tasty-dejafu ==1.1.0.2
+  - tasty-discover ==4.2.0
+  - tasty-expected-failure ==0.11.1.1
+  - tasty-golden ==2.3.1.3
   - tasty-hedgehog ==0.1.0.2
-  - tasty-hspec ==1.1.3.3
+  - tasty-hspec ==1.1.4
   - tasty-html ==0.4.1.1
-  - tasty-hunit ==0.9.2
+  - tasty-hunit ==0.10.0.1
   - tasty-kat ==0.0.3
   - tasty-program ==1.0.5
-  - tasty-quickcheck ==0.9.1
-  - tasty-rerun ==1.1.10
+  - tasty-quickcheck ==0.9.2
+  - tasty-rerun ==1.1.11
   - tasty-silver ==3.1.11
   - tasty-smallcheck ==0.8.1
   - tasty-stats ==0.2.0.3
-  - tasty-tap ==0.0.4
   - tasty-th ==0.1.7
-  - Taxonomy ==1.0.3
   - TCache ==0.12.1
   - tce-conf ==1.3
   - tcp-streams ==1.0.1.0
@@ -2268,38 +2005,38 @@ default-package-overrides:
   - temporary-rc ==1.2.0.3
   - tensorflow-test ==0.1.0.0
   - termcolor ==0.2.0.0
-  - terminal-progress-bar ==0.1.1.1
+  - terminal-progress-bar ==0.2
   - terminal-size ==0.3.2.1
   - test-fixture ==0.5.1.0
-  - test-framework ==0.8.1.1
+  - test-framework ==0.8.2.0
   - test-framework-hunit ==0.3.0.2
   - test-framework-quickcheck2 ==0.3.0.4
   - test-framework-smallcheck ==0.2
   - test-framework-th ==0.2.4
-  - texmath ==0.10.1.1
-  - text ==1.2.2.2
-  - text-all ==0.4.1.1
+  - testing-feat ==0.4.0.3
+  - texmath ==0.10.1.2
+  - text ==1.2.3.0
   - text-binary ==0.2.1.1
   - text-conversions ==0.3.0
   - text-format ==0.3.1.1
   - text-generic-pretty ==1.2.1
   - text-icu ==0.7.0.1
-  - text-latin1 ==0.3
-  - text-ldap ==0.1.1.11
+  - text-latin1 ==0.3.1
+  - text-ldap ==0.1.1.12
   - textlocal ==0.1.0.5
   - text-manipulate ==0.2.0.1
   - text-metrics ==0.3.0
   - text-postgresql ==0.0.2.3
   - text-printer ==0.5
   - text-region ==0.3.0.0
-  - text-short ==0.1.1
-  - text-show ==3.7.1
-  - text-show-instances ==3.6.2
+  - text-short ==0.1.2
+  - text-show ==3.7.2
+  - text-show-instances ==3.6.3
   - text-zipper ==0.10.1
   - tfp ==1.0.0.2
   - tf-random ==0.5
   - th-abstraction ==0.2.6.0
-  - th-data-compat ==0.0.2.5
+  - th-data-compat ==0.0.2.6
   - th-desugar ==1.7
   - these ==0.7.4
   - th-expand-syns ==0.4.4.0
@@ -2309,60 +2046,58 @@ default-package-overrides:
   - th-orphans ==0.13.5
   - thread-hierarchy ==0.3.0.0
   - thread-local-storage ==0.1.2
-  - threads ==0.5.1.5
+  - threads ==0.5.1.6
   - threads-extras ==0.1.0.2
   - threepenny-editors ==0.5.6
-  - threepenny-gui ==0.8.2.2
+  - threepenny-gui ==0.8.2.3
   - threepenny-gui-flexbox ==0.4.2
-  - th-reify-compat ==0.0.1.3
+  - th-reify-compat ==0.0.1.4
   - th-reify-many ==0.1.8
   - throttle-io-stream ==0.2.0.1
   - through-text ==0.1.0.0
   - throwable-exceptions ==0.1.0.9
   - th-strict-compat ==0.1.0.1
   - th-to-exp ==0.0.1.1
-  - thumbnail-plus ==1.0.5
   - th-utilities ==0.2.0.1
-  - thyme ==0.3.5.5
-  - tibetan-utils ==0.1.1.4
-  - tidal ==0.9.6
-  - tidal-midi ==0.9.5.2
+  - tibetan-utils ==0.1.1.5
+  - tidal ==0.9.9
   - tile ==0.3.0.0
   - time-compat ==0.1.0.3
-  - timeit ==1.0.0.0
+  - timeit ==2.0
   - timelens ==0.2.0.2
   - time-lens ==0.4.0.2
-  - time-locale-compat ==0.1.1.3
+  - time-locale-compat ==0.1.1.4
   - time-locale-vietnamese ==1.0.0.0
-  - timemap ==0.0.6
+  - timemap ==0.0.7
   - time-parsers ==0.1.2.0
   - timerep ==2.0.0.2
   - timespan ==0.3.0.0
-  - timezone-olson ==0.1.8
-  - timezone-series ==0.1.8
-  - tinylog ==0.14.0
+  - timezone-olson ==0.1.9
+  - timezone-series ==0.1.9
+  - tinylog ==0.14.1
   - tinytemplate ==0.1.2.0
   - titlecase ==1.0.1
-  - tldr ==0.2.5
+  - tldr ==0.3.0
   - tls ==1.4.1
   - tls-debug ==0.4.5
   - tls-session-manager ==0.0.0.2
   - tmapchan ==0.0.3
-  - tmapmvar ==0.0.3
+  - tmapmvar ==0.0.4
   - tmp-postgres ==0.1.1.1
   - token-bucket ==0.1.0.1
-  - torrent ==10000.1.1
   - tostring ==0.2.1.1
   - transformers-base ==0.4.4
   - transformers-bifunctors ==0.1
   - transformers-compat ==0.5.1.4
+  - transformers-either ==0.0.2
+  - transformers-fix ==1.0
   - transformers-lift ==0.2.0.1
   - transient ==0.5.9.2
   - transient-universe ==0.4.6.1
   - traverse-with-class ==1.0.0.0
   - tree-diff ==0.0.1
   - tree-fun ==0.8.1.0
-  - tries ==0.0.4.2
+  - tries ==0.0.5
   - trifecta ==1.7.1.1
   - triplesec ==0.1.2.0
   - true-name ==0.1.0.3
@@ -2371,49 +2106,44 @@ default-package-overrides:
   - tuple ==0.3.0.2
   - tuples-homogenous-h98 ==0.1.1.0
   - tuple-th ==0.2.5
-  - turtle ==1.4.5
+  - turtle ==1.5.8
   - turtle-options ==0.1.0.4
-  - twitter-conduit ==0.2.3
-  - twitter-types ==0.7.2.2
-  - twitter-types-lens ==0.7.2
-  - type-aligned ==0.9.6
   - type-assertions ==0.1.0.0
   - type-combinators ==0.2.4.3
-  - type-combinators-singletons ==0.1.0.0
+  - type-combinators-singletons ==0.2.1.0
   - TypeCompose ==0.9.12
-  - typed-process ==0.2.1.0
+  - typed-process ==0.2.2.0
   - type-fun ==0.1.1
   - type-hint ==0.1
   - type-level-integers ==0.0.1
   - type-level-kv-list ==1.1.0
   - type-level-numbers ==0.1.1.1
-  - typelits-witnesses ==0.2.3.0
-  - type-of-html ==1.3.3.0
+  - typelits-witnesses ==0.3.0.2
+  - type-of-html ==1.3.4.0
   - type-operators ==0.1.0.4
   - type-spec ==0.3.0.1
   - typography-geometry ==1.0.0.1
-  - tz ==0.1.3.0
+  - tz ==0.1.3.1
   - tzdata ==0.1.20180122.0
   - ua-parser ==0.7.4.1
   - uglymemo ==0.1.0.1
-  - unagi-chan ==0.4.1.0
   - unbounded-delays ==0.1.1.0
-  - unbound-generics ==0.3.1
+  - unbound-generics ==0.3.2
   - unboxed-ref ==0.4.0.0
   - uncertain ==0.3.1.0
   - unexceptionalio ==0.3.0
-  - unfoldable ==0.9.5
+  - unfoldable ==0.9.6
   - unfoldable-restricted ==0.0.3
   - unicode ==0.0.1
   - unicode-show ==0.1.0.2
-  - unicode-transforms ==0.3.3
+  - unicode-transforms ==0.3.4
   - unification-fd ==0.10.0.1
   - union ==0.1.1.2
   - union-find ==0.2
   - uniplate ==1.6.12
   - uniq-deep ==1.1.0.0
-  - Unique ==0.4.7.2
   - unique ==0
+  - Unique ==0.4.7.2
   - unit-constraint ==0.0.0
   - units-parser ==0.1.1.2
   - universe ==1.0
@@ -2422,25 +2152,23 @@ default-package-overrides:
   - universe-instances-extended ==1.0.0.1
   - universe-instances-trans ==1.0.0.1
   - universe-reverse-instances ==1.0
-  - universum ==1.0.0
+  - universum ==1.1.1
   - unix-bytestring ==0.3.7.3
   - unix-compat ==0.5.0.1
   - unix-time ==0.3.8
-  - unliftio ==0.2.4.0
+  - unliftio ==0.2.7.0
   - unliftio-core ==0.1.1.0
   - unlit ==0.4.0.0
-  - unordered-containers ==0.2.8.0
+  - unordered-containers ==0.2.9.0
   - unordered-intmap ==0.1.0.0
   - unsafe ==0.0
   - uri-bytestring ==0.3.1.1
-  - uri-bytestring-aeson ==0.1.0.4
+  - uri-bytestring-aeson ==0.1.0.6
   - uri-encode ==1.5.0.5
   - uri-templater ==0.3.1.0
-  - url ==2.1.3
-  - urlpath ==7.0.1
-  - userid ==0.1.3.1
+  - urlpath ==8.0.1
+  - userid ==0.1.3.2
   - users ==0.5.0.0
-  - users-persistent ==0.5.0.2
   - users-postgresql-simple ==0.5.0.2
   - users-test ==0.5.0.1
   - utf8-light ==0.4.2
@@ -2449,8 +2177,7 @@ default-package-overrides:
   - uuid ==1.3.13
   - uuid-types ==1.0.3
   - vado ==0.0.9
-  - validate-input ==0.4.0.0
-  - validation ==0.6.3
+  - validation ==1
   - validationt ==0.2.0.0
   - validity ==0.4.0.4
   - validity-aeson ==0.1.0.0
@@ -2475,31 +2202,29 @@ default-package-overrides:
   - vector-instances ==3.4
   - vector-mmap ==0.0.3
   - vector-sized ==0.6.1.0
-  - vector-space ==0.12
+  - vector-space ==0.13
   - vector-split ==1.0.0.2
   - vector-th-unbox ==0.2.1.6
-  - vectortiles ==1.2.0.6
+  - vectortiles ==1.3.0
   - verbosity ==0.2.3.0
-  - versions ==3.3.1
+  - versions ==3.3.2
   - vhd ==0.2.2
   - ViennaRNAParser ==1.3.3
-  - viewprof ==0.0.0.13
   - vinyl ==0.7.0
   - vivid ==0.3.0.2
   - vivid-osc ==0.3.0.0
   - vivid-supercollider ==0.3.0.0
   - void ==0.7.2
-  - vty ==5.19.2
-  - wai ==3.2.1.1
-  - wai-app-static ==3.1.6.1
+  - vty ==5.20
+  - wai ==3.2.1.2
+  - wai-app-static ==3.1.6.2
   - wai-cli ==0.1.1
-  - wai-conduit ==3.0.0.3
+  - wai-conduit ==3.0.0.4
   - wai-cors ==0.2.6
   - wai-eventsource ==3.0.0
   - wai-extra ==3.0.22.0
   - wai-handler-launch ==3.0.2.3
-  - wai-logger ==2.3.1
-  - wai-middleware-auth ==0.1.2.1
+  - wai-logger ==2.3.2
   - wai-middleware-caching ==0.1.0.2
   - wai-middleware-caching-lru ==0.1.0.0
   - wai-middleware-caching-redis ==0.2.0.0
@@ -2507,9 +2232,9 @@ default-package-overrides:
   - wai-middleware-crowd ==0.1.4.2
   - wai-middleware-metrics ==0.2.4
   - wai-middleware-prometheus ==0.3.0
-  - wai-middleware-rollbar ==0.8.4
-  - wai-middleware-static ==0.8.1
-  - wai-middleware-throttle ==0.2.2.0
+  - wai-middleware-rollbar ==0.10.0
+  - wai-middleware-static ==0.8.2
+  - wai-middleware-throttle ==0.2.2.1
   - wai-predicates ==0.10.0
   - wai-route ==0.3.1.2
   - wai-routing ==0.13.0
@@ -2517,32 +2242,31 @@ default-package-overrides:
   - wai-session-postgresql ==0.2.1.2
   - wai-slack-middleware ==0.2.0
   - wai-transformers ==0.0.7
-  - wai-websockets ==3.0.1.1
-  - warp ==3.2.13
-  - warp-tls ==3.2.4
+  - wai-websockets ==3.0.1.2
+  - warp ==3.2.22
+  - warp-tls ==3.2.4.3
   - wave ==0.1.5
-  - wavefront ==0.7.1.1
+  - wavefront ==0.7.1.2
   - webdriver ==0.8.5
   - webdriver-angular ==0.1.11
   - webpage ==0.0.5
   - web-plugins ==0.2.9
-  - web-routes ==0.27.14
+  - web-routes ==0.27.14.2
   - web-routes-boomerang ==0.28.4.2
   - web-routes-happstack ==0.23.11
   - web-routes-hsp ==0.24.6.1
-  - web-routes-th ==0.22.6.2
+  - web-routes-th ==0.22.6.3
   - web-routes-wai ==0.24.3.1
   - webrtc-vad ==0.1.0.3
-  - websockets ==0.12.3.1
+  - websockets ==0.12.4.0
   - websockets-rpc ==0.6.0
   - websockets-simple ==0.0.6.3
-  - websockets-snap ==0.10.2.4
-  - weigh ==0.0.7
-  - wide-word ==0.1.0.5
+  - websockets-snap ==0.10.2.5
+  - weigh ==0.0.11
+  - wide-word ==0.1.0.6
   - wikicfp-scraper ==0.1.0.9
-  - wild-bind ==0.1.1.0
-  - wild-bind-x11 ==0.1.0.7
-  - Win32 ==2.5.4.1
+  - wild-bind ==0.1.2.0
+  - wild-bind-x11 ==0.2.0.3
   - Win32-notify ==0.3.0.3
   - wire-streams ==0.1.1.0
   - withdependencies ==0.2.4.2
@@ -2550,7 +2274,7 @@ default-package-overrides:
   - with-location ==0.1.0
   - witness ==0.4
   - wizards ==1.0.2
-  - wl-pprint ==1.2
+  - wl-pprint ==1.2.1
   - wl-pprint-annotated ==0.1.0.0
   - wl-pprint-console ==0.1.0.1
   - wl-pprint-extras ==3.5.0.5
@@ -2561,16 +2285,17 @@ default-package-overrides:
   - word-trie ==0.3.0
   - word-wrap ==0.4.1
   - Workflow ==0.8.3
+  - world-peace ==0.1.0.0
   - wrap ==0.0.0
-  - wrecker ==1.2.4.0
-  - wreq ==0.5.2.0
+  - wrecker ==1.3.1.0
+  - wreq ==0.5.2.1
   - wreq-stringless ==0.5.9.1
   - writer-cps-full ==0.1.0.0
   - writer-cps-lens ==0.1.0.1
   - writer-cps-morph ==0.1.0.2
   - writer-cps-mtl ==0.1.1.4
   - writer-cps-transformers ==0.1.1.3
-  - wuss ==1.1.6
+  - wuss ==1.1.9
   - X11 ==1.8
   - X11-xft ==0.3.1
   - x11-xim ==0.0.9.0
@@ -2580,19 +2305,18 @@ default-package-overrides:
   - x509-validation ==1.6.10
   - Xauth ==0.1
   - xdg-basedir ==0.2.2
-  - xeno ==0.3.2
+  - xeno ==0.3.3
   - xenstore ==0.1.1
   - xhtml ==3000.2.2
   - xls ==0.1.1
-  - xlsx ==0.6.0
-  - xlsx-tabular ==0.2.2
+  - xlsx ==0.7.2
+  - xlsx-tabular ==0.2.2.1
   - xml ==1.3.14
   - xml-basic ==0.1.3
-  - xml-conduit ==1.7.1.2
-  - xml-conduit-parse ==0.3.1.2
+  - xml-conduit ==1.8.0
   - xml-conduit-writer ==0.1.1.2
-  - xmlgen ==0.6.2.1
-  - xml-hamlet ==0.4.1.1
+  - xmlgen ==0.6.2.2
+  - xml-hamlet ==0.5.0
   - xmlhtml ==0.2.5.2
   - xml-html-qq ==0.1.0.1
   - xml-indexed-cursor ==0.1.1.0
@@ -2604,40 +2328,37 @@ default-package-overrides:
   - xml-types ==0.3.6
   - xmonad ==0.13
   - xmonad-contrib ==0.13
-  - xmonad-extras ==0.13.2
+  - xmonad-extras ==0.13.3
   - xss-sanitize ==0.3.5.7
   - xturtle ==0.2.0.0
   - xxhash ==0.0.2
   - xxhash-ffi ==0.2.0.0
-  - yaml ==0.8.28
+  - yaml ==0.8.29
   - Yampa ==0.10.7
   - YampaSynth ==0.2
   - yeshql ==3.0.1.3
-  - yesod ==1.4.5
+  - yesod ==1.6.0
   - yesod-alerts ==0.1.2.0
-  - yesod-auth ==1.4.21
-  - yesod-auth-basic ==0.1.0.2
-  - yesod-auth-fb ==1.8.1
-  - yesod-auth-hashdb ==1.6.2
-  - yesod-bin ==1.5.3
-  - yesod-core ==1.4.37.3
+  - yesod-auth ==1.6.3
+  - yesod-auth-fb ==1.9.0
+  - yesod-auth-hashdb ==1.7
+  - yesod-bin ==1.6.0.2
+  - yesod-core ==1.6.4
   - yesod-csp ==0.2.4.0
-  - yesod-eventsource ==1.4.1
-  - yesod-fb ==0.4.0
-  - yesod-form ==1.4.16
-  - yesod-form-bootstrap4 ==0.1.0.2
-  - yesod-form-richtext ==0.1.0.2
-  - yesod-gitrepo ==0.2.1.0
-  - yesod-gitrev ==0.1.0.0
-  - yesod-newsfeed ==1.6
-  - yesod-persistent ==1.4.3
-  - yesod-recaptcha2 ==0.2.3
-  - yesod-sitemap ==1.4.0.1
-  - yesod-static ==1.5.3.1
-  - yesod-static-angular ==0.1.8
+  - yesod-eventsource ==1.6.0
+  - yesod-fb ==0.5.0
+  - yesod-form ==1.6.1
+  - yesod-form-bootstrap4 ==0.1.1
+  - yesod-gitrepo ==0.3.0
+  - yesod-gitrev ==0.2.0.0
+  - yesod-newsfeed ==1.6.1.0
+  - yesod-paginator ==0.11.0
+  - yesod-persistent ==1.6.0
+  - yesod-sitemap ==1.6.0
+  - yesod-static ==1.6.0
   - yesod-table ==2.0.3
-  - yesod-test ==1.5.9.1
-  - yesod-websockets ==0.2.6
+  - yesod-test ==1.6.4
+  - yesod-websockets ==0.3.0
   - yes-precure5-command ==5.5.3
   - yi-core ==0.17.1
   - yi-frontend-vty ==0.17.1
@@ -2659,28 +2380,30 @@ default-package-overrides:
   - zero ==0.1.4
   - zeromq4-haskell ==0.7.0
   - zim-parser ==0.2.1.0
-  - zip ==0.2.0
+  - zip ==1.0.0
   - zip-archive ==0.3.2.4
   - zippers ==0.2.5
-  - ziptastic-client ==0.3.0.3
-  - ziptastic-core ==0.2.0.3
-  - zlib ==0.6.1.2
+  - zlib ==0.6.2
   - zlib-bindings ==0.1.1.5
   - zlib-lens ==0.1.2.1
-  - zm ==0.3.2
   - zot ==0.0.3
-  - ztail ==1.2
+  - zstd ==0.1.0.0
+  - ztail ==1.2.0.2
 
 extra-packages:
   - aeson < 0.8                         # newer versions don't work with GHC 7.6.x or earlier
   - aeson-pretty < 0.8                  # required by elm compiler
   - apply-refact < 0.4                  # newer versions don't work with GHC 8.0.x
+  - aws ^>= 0.18                        # pre-lts-11.x versions neeed by git-annex 6.20180227
   - binary > 0.7 && < 0.8               # keep a 7.x major release around for older compilers
   - binary > 0.8 && < 0.9               # keep a 8.x major release around for older compilers
+  - blank-canvas < 0.6.3                # more recent versions depend on base-compat-batteries == 0.10.* but we're on base-compat-0.9.*
   - Cabal == 1.18.*                     # required for cabal-install et al on old GHC versions
   - Cabal == 1.20.*                     # required for cabal-install et al on old GHC versions
   - Cabal == 1.24.*                     # required for jailbreak-cabal etc.
   - colour < 2.3.4                      # newer versions don't support GHC 7.10.x
+  - conduit >=1.1 && <1.3               # pre-lts-11.x versions neeed by git-annex 6.20180227
+  - conduit-extra >=1.1 && <1.3         # pre-lts-11.x versions neeed by git-annex 6.20180227
   - containers < 0.5                    # required to build alex with GHC 6.12.3
   - control-monad-free < 0.6            # newer versions don't compile with anything but GHC 7.8.x
   - deepseq == 1.3.0.1                  # required to build Cabal with GHC 6.12.3
@@ -2692,31 +2415,45 @@ extra-packages:
   - haddock-api == 2.16.*               # required on GHC 7.10.x
   - haddock-api == 2.17.*               # required on GHC 8.0.x
   - haddock-library == 1.2.*            # required for haddock-api-2.16.x
+  - haddock-library == 1.4.3            # required for haddock-api-2.17.x
   - haddock-library == 1.4.4            # required for haddock-api-2.18.x
   - happy <1.19.6                       # newer versions break Agda
   - haskell-gi-overloading == 0.0       # gi-* packages use this dependency to disable overloading support
   - haskell-src-exts == 1.19.*          # required by hindent and structured-haskell-mode
   - hoogle == 5.0.14                    # required by hie-hoogle
+  - html-conduit ^>= 1.2                # pre-lts-11.x versions neeed by git-annex 6.20180227
+  - http-conduit ^>= 2.2                # pre-lts-11.x versions neeed by git-annex 6.20180227
   - inline-c < 0.6                      # required on GHC 8.0.x
   - inline-c-cpp < 0.2                  # required on GHC 8.0.x
   - mtl < 2.2                           # newer versions require transformers > 0.4.x, which we cannot provide in GHC 7.8.x
   - mtl-prelude < 2                     # required for to build postgrest on mtl 2.1.x platforms
   - network == 2.6.3.1                  # newer versions don't compile with GHC 7.4.x and below
   - parallel == 3.2.0.3                 # newer versions don't work with GHC 6.12.3
+  - persistent >=2.5 && <2.8            # pre-lts-11.x versions neeed by git-annex 6.20180227
+  - persistent-sqlite < 2.7             # pre-lts-11.x versions neeed by git-annex 6.20180227
   - primitive == 0.5.1.*                # required to build alex with GHC 6.12.3
   - QuickCheck < 2                      # required by test-framework-quickcheck and its users
+  - resourcet ==1.1.*                   # pre-lts-11.x versions neeed by git-annex 6.20180227
   - seqid < 0.2                         # newer versions depend on transformers 0.4.x which we cannot provide in GHC 7.8.x
   - seqid-streams < 0.2                 # newer versions depend on transformers 0.4.x which we cannot provide in GHC 7.8.x
   - split < 0.2                         # newer versions don't work with GHC 6.12.3
   - tar < 0.4.2.0                       # later versions don't work with GHC < 7.6.x
   - transformers == 0.4.3.*             # the latest version isn't supported by mtl yet
   - vector < 0.10.10                    # newer versions don't work with GHC 6.12.3
+  - xml-conduit ^>= 1.7                 # pre-lts-11.x versions neeed by git-annex 6.20180227
+  - yesod ^>= 1.4                       # pre-lts-11.x versions neeed by git-annex 6.20180227
+  - yesod-core < 1.5                    # pre-lts-11.x versions neeed by git-annex 6.20180227
+  - yesod-form < 1.5                    # pre-lts-11.x versions neeed by git-annex 6.20180227
+  - 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
 
 package-maintainers:
   peti:
-    - cabal-install
     - cabal2nix
     - cabal2spec
+    - cabal-install
+    - distribution-nixpkgs
     - funcmp
     - git-annex
     - hackage-db
@@ -2729,17 +2466,18 @@ package-maintainers:
     - hsemail
     - hsyslog
     - jailbreak-cabal
+    - json-autotype
     - lambdabot-core
     - lambdabot-irc-plugins
     - language-nix
     - logging-facade-syslog
+    - nix-paths
     - pandoc
+    - postmaster
     - stack
     - streamproc
     - structured-haskell-mode
     - titlecase
-  gebner:
-    - hledger-diff
   gridaphobe:
     - ghc-srcspan-plugin
     - located-base
@@ -2747,7 +2485,6 @@ package-maintainers:
     - bson-lens
     - cased
     - elm-export-persistent
-    - pipes-csv
     - pipes-mongodb
     - skeletons
     - streaming-wai
@@ -2765,9 +2502,6 @@ package-maintainers:
     - shakespeare
   abbradar:
     - Agda
-  alunduil:
-    - network-arbitrary
-    - network-uri-json
 
 dont-distribute-packages:
   # hard restrictions that really belong into meta.platforms
@@ -2834,6 +2568,7 @@ dont-distribute-packages:
   cusparse:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   gloss-raster-accelerate:                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   libnvvm:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
+  matlab:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   nvvm:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   Obsidian:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   patch-image:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -2914,9 +2649,6 @@ dont-distribute-packages:
   AC-MiniTest:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   AC-Terminal:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   AC-VanillaArray:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
-  accelerate-fourier:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
-  accelerate-llvm-native:                       [ i686-linux, x86_64-linux, x86_64-darwin ]
-  accelerate-llvm:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   accelerate-random:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
   accelerate-typelits:                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   accentuateus:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -2956,7 +2688,9 @@ dont-distribute-packages:
   adobe-swatch-exchange:                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   adp-multi-monadiccp:                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   adp-multi:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
+  ADPfusion:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   ADPfusionForest:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
+  ADPfusionSet:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   Advgame:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   AERN-Basics:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   AERN-Net:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -2965,16 +2699,14 @@ dont-distribute-packages:
   AERN-Real:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   AERN-RnToRm-Plot:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
   AERN-RnToRm:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
-  aern2-mp:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
-  aern2-real:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   aeson-applicative:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
   aeson-bson:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
+  aeson-diff-generic:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
   aeson-diff:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   aeson-extra:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   aeson-flowtyped:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   aeson-native:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   aeson-prefix:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
-  aeson-quick:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   aeson-schema:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   aeson-smart:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   aeson-streams:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -2985,7 +2717,6 @@ dont-distribute-packages:
   affection:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   affine-invariant-ensemble-mcmc:               [ i686-linux, x86_64-linux, x86_64-darwin ]
   afv:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
-  ag-pictgen:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   Agata:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   Agda-executable:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   agda-server:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -2997,17 +2728,22 @@ dont-distribute-packages:
   aip:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   air-th:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   airbrake:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
+  airship:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   airtable-api:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
+  aivika-experiment-diagrams:                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   ajhc:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   al:                                           [ i686-linux, x86_64-linux, x86_64-darwin ]
   AlanDeniseEricLauren:                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   alerta:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   alex-prelude:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
+  alfred:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
+  alg:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   alga:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   algebra-sql:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   algebraic-prelude:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
   algebraic:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   algo-s:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
+  AlgoRhythm:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   AlgorithmW:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   align-text:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   AlignmentAlgorithms:                          [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -3023,17 +2759,128 @@ dont-distribute-packages:
   alternative-extra:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
   alternative-io:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   altfloat:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
+  alto:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   alure:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   amazon-emailer-client-snap:                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   amazon-emailer:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   amazon-products:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
+  amazonka-apigateway:                          [ i686-linux, x86_64-linux, x86_64-darwin ]
+  amazonka-application-autoscaling:             [ i686-linux, x86_64-linux, x86_64-darwin ]
+  amazonka-appstream:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
+  amazonka-athena:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
+  amazonka-autoscaling:                         [ i686-linux, x86_64-linux, x86_64-darwin ]
+  amazonka-batch:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
+  amazonka-budgets:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
+  amazonka-certificatemanager:                  [ i686-linux, x86_64-linux, x86_64-darwin ]
+  amazonka-clouddirectory:                      [ i686-linux, x86_64-linux, x86_64-darwin ]
+  amazonka-cloudformation:                      [ i686-linux, x86_64-linux, x86_64-darwin ]
+  amazonka-cloudfront:                          [ i686-linux, x86_64-linux, x86_64-darwin ]
+  amazonka-cloudhsm:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
+  amazonka-cloudhsmv2:                          [ i686-linux, x86_64-linux, x86_64-darwin ]
+  amazonka-cloudsearch-domains:                 [ i686-linux, x86_64-linux, x86_64-darwin ]
+  amazonka-cloudsearch:                         [ i686-linux, x86_64-linux, x86_64-darwin ]
+  amazonka-cloudtrail:                          [ i686-linux, x86_64-linux, x86_64-darwin ]
+  amazonka-cloudwatch-events:                   [ i686-linux, x86_64-linux, x86_64-darwin ]
+  amazonka-cloudwatch-logs:                     [ i686-linux, x86_64-linux, x86_64-darwin ]
+  amazonka-cloudwatch:                          [ i686-linux, x86_64-linux, x86_64-darwin ]
+  amazonka-codebuild:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
+  amazonka-codecommit:                          [ i686-linux, x86_64-linux, x86_64-darwin ]
+  amazonka-codedeploy:                          [ i686-linux, x86_64-linux, x86_64-darwin ]
+  amazonka-codepipeline:                        [ i686-linux, x86_64-linux, x86_64-darwin ]
+  amazonka-codestar:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
+  amazonka-cognito-identity:                    [ i686-linux, x86_64-linux, x86_64-darwin ]
+  amazonka-cognito-idp:                         [ i686-linux, x86_64-linux, x86_64-darwin ]
+  amazonka-cognito-sync:                        [ i686-linux, x86_64-linux, x86_64-darwin ]
+  amazonka-config:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
+  amazonka-core:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
+  amazonka-cur:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
+  amazonka-datapipeline:                        [ i686-linux, x86_64-linux, x86_64-darwin ]
+  amazonka-devicefarm:                          [ i686-linux, x86_64-linux, x86_64-darwin ]
+  amazonka-directconnect:                       [ i686-linux, x86_64-linux, x86_64-darwin ]
+  amazonka-discovery:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
+  amazonka-dms:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
+  amazonka-ds:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
+  amazonka-dynamodb-dax:                        [ i686-linux, x86_64-linux, x86_64-darwin ]
+  amazonka-dynamodb-streams:                    [ i686-linux, x86_64-linux, x86_64-darwin ]
+  amazonka-dynamodb:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
+  amazonka-ec2:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
+  amazonka-ecr:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
+  amazonka-ecs:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
+  amazonka-efs:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
+  amazonka-elasticache:                         [ i686-linux, x86_64-linux, x86_64-darwin ]
+  amazonka-elasticbeanstalk:                    [ i686-linux, x86_64-linux, x86_64-darwin ]
+  amazonka-elasticsearch:                       [ i686-linux, x86_64-linux, x86_64-darwin ]
+  amazonka-elastictranscoder:                   [ i686-linux, x86_64-linux, x86_64-darwin ]
+  amazonka-elb:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
+  amazonka-elbv2:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
+  amazonka-emr:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
+  amazonka-gamelift:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
+  amazonka-glacier:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
+  amazonka-glue:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
+  amazonka-greengrass:                          [ i686-linux, x86_64-linux, x86_64-darwin ]
+  amazonka-health:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
+  amazonka-iam:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
+  amazonka-importexport:                        [ i686-linux, x86_64-linux, x86_64-darwin ]
+  amazonka-inspector:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
+  amazonka-iot-dataplane:                       [ i686-linux, x86_64-linux, x86_64-darwin ]
+  amazonka-iot:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
+  amazonka-kinesis-analytics:                   [ i686-linux, x86_64-linux, x86_64-darwin ]
+  amazonka-kinesis-firehose:                    [ i686-linux, x86_64-linux, x86_64-darwin ]
+  amazonka-kinesis:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
+  amazonka-kms:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
+  amazonka-lambda:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
+  amazonka-lex-models:                          [ i686-linux, x86_64-linux, x86_64-darwin ]
+  amazonka-lex-runtime:                         [ i686-linux, x86_64-linux, x86_64-darwin ]
+  amazonka-lightsail:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
+  amazonka-marketplace-analytics:               [ i686-linux, x86_64-linux, x86_64-darwin ]
+  amazonka-marketplace-entitlement:             [ i686-linux, x86_64-linux, x86_64-darwin ]
+  amazonka-marketplace-metering:                [ i686-linux, x86_64-linux, x86_64-darwin ]
+  amazonka-mechanicalturk:                      [ i686-linux, x86_64-linux, x86_64-darwin ]
+  amazonka-migrationhub:                        [ i686-linux, x86_64-linux, x86_64-darwin ]
+  amazonka-ml:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
+  amazonka-mobile:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
+  amazonka-opsworks-cm:                         [ i686-linux, x86_64-linux, x86_64-darwin ]
+  amazonka-opsworks:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
+  amazonka-organizations:                       [ i686-linux, x86_64-linux, x86_64-darwin ]
+  amazonka-pinpoint:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
+  amazonka-polly:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
+  amazonka-pricing:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
+  amazonka-rds:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
+  amazonka-redshift:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
+  amazonka-rekognition:                         [ i686-linux, x86_64-linux, x86_64-darwin ]
+  amazonka-resourcegroupstagging:               [ i686-linux, x86_64-linux, x86_64-darwin ]
+  amazonka-route53-domains:                     [ i686-linux, x86_64-linux, x86_64-darwin ]
+  amazonka-route53:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
   amazonka-s3-streaming:                        [ i686-linux, x86_64-linux, x86_64-darwin ]
+  amazonka-s3:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
+  amazonka-sdb:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
+  amazonka-servicecatalog:                      [ i686-linux, x86_64-linux, x86_64-darwin ]
+  amazonka-ses:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
+  amazonka-shield:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
+  amazonka-sms:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
+  amazonka-snowball:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
+  amazonka-sns:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
+  amazonka-sqs:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
+  amazonka-ssm:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
+  amazonka-stepfunctions:                       [ i686-linux, x86_64-linux, x86_64-darwin ]
+  amazonka-storagegateway:                      [ i686-linux, x86_64-linux, x86_64-darwin ]
+  amazonka-sts:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
+  amazonka-support:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
+  amazonka-swf:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
+  amazonka-test:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
+  amazonka-waf-regional:                        [ i686-linux, x86_64-linux, x86_64-darwin ]
+  amazonka-waf:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
+  amazonka-workdocs:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
+  amazonka-workspaces:                          [ i686-linux, x86_64-linux, x86_64-darwin ]
+  amazonka-xray:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
+  amazonka:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   amby:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   AMI:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   ampersand:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   amqp-conduit:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   amqp-worker:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   analyze-client:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
+  analyze:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   anansi-pandoc:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   anatomy:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   android-activity:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -3043,14 +2890,17 @@ dont-distribute-packages:
   angel:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   angle:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   Animas:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
+  animascii:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   animate-example:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   animate:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   annah:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   anonymous-sums-tests:                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   anonymous-sums:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
+  ansi-terminal-game:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
   antagonist:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   antfarm:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   anticiv:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
+  antigate:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   antimirov:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   antisplice:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   antlrc:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -3075,6 +2925,7 @@ dont-distribute-packages:
   apiary-websockets:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
   apiary:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   apis:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
+  apns-http2:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   apotiki:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   app-lens:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   appc:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -3083,7 +2934,6 @@ dont-distribute-packages:
   applicative-fail:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
   applicative-parsec:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
   applicative-splice:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
-  apply-refact:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   approx-rand-test:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
   ApproxFun-hs:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   approximate:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -3103,7 +2953,6 @@ dont-distribute-packages:
   ariadne:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   arion:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   arith-encode:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
-  arithmoi:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   armada:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   arpa:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   arpack:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -3111,6 +2960,7 @@ dont-distribute-packages:
   ArrayRef:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   arrow-improve:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   arrowapply-utils:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
+  arrowp-qq:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   arrowp:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   ArrowVHDL:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   artery:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -3118,6 +2968,7 @@ dont-distribute-packages:
   ascii-vector-avc:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
   ascii85-conduit:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   ascii:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
+  asciidiagram:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   asic:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   asil:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   asn1-codec:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -3126,6 +2977,8 @@ dont-distribute-packages:
   assimp:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   astrds:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   astview:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
+  async-combinators:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
+  async-dejafu:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   async-manager:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   asynchronous-exceptions:                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   aterm-utils:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -3134,24 +2987,23 @@ dont-distribute-packages:
   atlassian-connect-descriptor:                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   atmos-dimensional-tf:                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   atndapi:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
+  atom-conduit:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   atom-msp430:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
-  atomic-modify:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   atomic-primops-foreign:                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   atomic-primops-vector:                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   atomo:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   atp-haskell:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   ats-format:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   ats-pkg:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
+  ats-storable:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   attic-schedule:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   AttoBencode:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   AttoJson:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   attoparsec-csv:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
-  attoparsec-ip:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   attoparsec-iteratee:                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   attoparsec-text-enumerator:                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   attoparsec-text:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   attoparsec-trans:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
-  attoparsec-uri:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   attosplit:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   Attrac:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   atuin:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -3165,6 +3017,8 @@ dont-distribute-packages:
   authoring:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   AutoForms:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   autom:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
+  autonix-deps-kf5:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
+  autonix-deps:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   avahi:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   avatar-generator:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
   avers-api-docs:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -3182,6 +3036,7 @@ dont-distribute-packages:
   aws-configuration-tools:                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   aws-dynamodb-conduit:                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   aws-dynamodb-streams:                         [ i686-linux, x86_64-linux, x86_64-darwin ]
+  aws-easy:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   aws-ec2-knownhosts:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
   aws-ec2:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   aws-elastic-transcoder:                       [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -3196,8 +3051,11 @@ dont-distribute-packages:
   aws-sdk-text-converter:                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   aws-sdk-xml-unordered:                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   aws-sdk:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
+  aws-ses-easy:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   aws-sign4:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
+  aws-simple:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   aws-sns:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
+  aws:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   azubi:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   azure-service-api:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
   azure-servicebus:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -3208,6 +3066,7 @@ dont-distribute-packages:
   backward-state:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   bag:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   Baggins:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
+  bake:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   ballast:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   bamboo-launcher:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   bamboo-plugin-highlight:                      [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -3226,8 +3085,12 @@ dont-distribute-packages:
   Barracuda:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   barrie:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   barrier-monad:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
+  barrier:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
+  base-compat-batteries:                        [ i686-linux, x86_64-linux, x86_64-darwin ]
+  base-compat-migrate:                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   base-generics:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   base-io-access:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
+  base-noprelude:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   base64-bytestring-type:                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   base64-conduit:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   basic-sop:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -3236,10 +3099,15 @@ dont-distribute-packages:
   batchd:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   battlenet-yesod:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   battlenet:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
+  battleplace-api:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   battleships:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   bayes-stack:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   BCMtools:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   bdcs:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
+  beam-core:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
+  beam-migrate:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
+  beam-postgres:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
+  beam-sqlite:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   beam-th:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   beam:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   beamable:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -3279,6 +3147,7 @@ dont-distribute-packages:
   binary-parsers:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   binary-protocol-zmq:                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   binary-protocol:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
+  binary-serialise-cbor:                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   binary-streams:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   binary-typed:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   bind-marshal:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -3298,8 +3167,10 @@ dont-distribute-packages:
   bindings-friso:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   bindings-gsl:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   bindings-gts:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
+  bindings-hamlib:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   bindings-hdf5:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   bindings-K8055:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
+  bindings-levmar:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   bindings-libftdi:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
   bindings-libg15:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   bindings-librrd:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -3325,7 +3196,10 @@ dont-distribute-packages:
   BiobaseMAF:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   BiobaseTrainingData:                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   BiobaseTurner:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
+  BiobaseTypes:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   BiobaseVienna:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
+  BiobaseXNA:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
+  BioHMM:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   bioinformatics-toolkit:                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   biophd:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   biosff:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -3340,6 +3214,7 @@ dont-distribute-packages:
   Bitly:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   bitmaps:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   bits-conduit:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
+  bits-extra:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   bitset:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   bitspeak:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   bitstream:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -3356,6 +3231,7 @@ dont-distribute-packages:
   blas-ffi:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   blas-hs:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   blas:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
+  BlastHTTP:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   blatex:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   blaze-builder-enumerator:                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   blaze-html-contrib:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -3372,9 +3248,9 @@ dont-distribute-packages:
   Blogdown:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   blogination:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   BlogLiterately-diagrams:                      [ i686-linux, x86_64-linux, x86_64-darwin ]
-  BlogLiterately:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   bloodhound-amazonka-auth:                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   bloomfilter-redis:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
+  blosum:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   blubber-server:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   blubber:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   Blueprint:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -3383,7 +3259,6 @@ dont-distribute-packages:
   blunt:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   bno055-haskell:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   board-games:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
-  bogocopy:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   bogre-banana:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   bolt:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   bond-haskell-compiler:                        [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -3395,9 +3270,12 @@ dont-distribute-packages:
   Bookshelf:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   boomslang:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   borel:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
+  boring:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   bot:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   bowntz:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
+  braid:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   brain-bleep:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
+  brainheck:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   Bravo:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   breakout:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   breve:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -3408,9 +3286,10 @@ dont-distribute-packages:
   bricks-syntax:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   bricks:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   brillig:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
-  brittany:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   broccoli:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   broker-haskell:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
+  bronyradiogermany-streaming:                  [ i686-linux, x86_64-linux, x86_64-darwin ]
+  browscap:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   bson-generic:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   bson-generics:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   btree-concurrent:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -3433,12 +3312,11 @@ dont-distribute-packages:
   Buster:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   buster:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   butterflies:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
+  bv-sized:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
+  byline:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   bytable:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
-  bytestring-arbitrary:                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   bytestring-class:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
   bytestring-csv:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
-  bytestring-plain:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
-  bytestring-progress:                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   bytestring-read:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   bytestring-rematch:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
   bytestring-strict-builder:                    [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -3450,6 +3328,7 @@ dont-distribute-packages:
   c-dsl:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   c-io:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   c2hsc:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
+  ca:                                           [ i686-linux, x86_64-linux, x86_64-darwin ]
   cabal-audit:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   cabal-bounds:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   cabal-cargs:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -3460,16 +3339,15 @@ dont-distribute-packages:
   cabal-ghc-dynflags:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
   cabal-ghci:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   cabal-graphdeps:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
-  cabal-helper:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   Cabal-ide-backend:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
   cabal-info:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   cabal-install-bundle:                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   cabal-install-ghc72:                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   cabal-install-ghc74:                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   cabal-lenses:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
-  cabal-meta:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   cabal-mon:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   cabal-nirvana:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
+  cabal-plan:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   cabal-progdeps:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   cabal-query:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   cabal-setup:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -3492,6 +3370,7 @@ dont-distribute-packages:
   cacophony:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   caffegraph:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   cake3:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
+  cake:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   cakyrespa:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   cal3d-examples:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   cal3d-opengl:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -3503,10 +3382,10 @@ dont-distribute-packages:
   call:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   camfort:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   campfire:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
+  canon:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   canonical-filepath:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
   canteven-http:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   canteven-listen-http:                         [ i686-linux, x86_64-linux, x86_64-darwin ]
-  canteven-log:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   canteven-parsedate:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
   cantor:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   cao:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -3540,13 +3419,11 @@ dont-distribute-packages:
   casr-logbook:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   cassandra-cql:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   cassandra-thrift:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
-  cassava-megaparsec:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
   cassava-streams:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   Cassava:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   cassy:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   castle:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   casui:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
-  catamorphism:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   Catana:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   catch-fd:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   categorical-algebra:                          [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -3554,6 +3431,7 @@ dont-distribute-packages:
   category-traced:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   category:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   catnplus:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
+  cautious-gen:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   cayley-client:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   cblrepo:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   CBOR:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -3579,6 +3457,7 @@ dont-distribute-packages:
   cereal-ieee754:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   cereal-io-streams:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
   cereal-plus:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
+  cereal-streams:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   certificate:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   cf:                                           [ i686-linux, x86_64-linux, x86_64-darwin ]
   cfipu:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -3593,6 +3472,7 @@ dont-distribute-packages:
   chalkboard-viewer:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
   chalkboard:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   charade:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
+  Chart-diagrams:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   chart-histogram:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   Chart-simple:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   chart-unit:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -3630,6 +3510,7 @@ dont-distribute-packages:
   citation-resolve:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
   citeproc-hs-pandoc-filter:                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   citeproc-hs:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
+  cj-token:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   cjk:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   clac:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   clafer:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -3644,24 +3525,19 @@ dont-distribute-packages:
   clash-multisignal:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
   clash-prelude-quickcheck:                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   clash-prelude:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
+  Clash-Royale-Hack-Cheats:                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   clash-systemverilog:                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   clash-verilog:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   clash-vhdl:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   clash:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   ClassLaws:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
+  classy-miso:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   classy-parallel:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   ClassyPrelude:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
-  clckwrks-cli:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   clckwrks-dot-com:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
   clckwrks-plugin-bugs:                         [ i686-linux, x86_64-linux, x86_64-darwin ]
-  clckwrks-plugin-ircbot:                       [ i686-linux, x86_64-linux, x86_64-darwin ]
-  clckwrks-plugin-mailinglist:                  [ i686-linux, x86_64-linux, x86_64-darwin ]
-  clckwrks-plugin-media:                        [ i686-linux, x86_64-linux, x86_64-darwin ]
-  clckwrks-plugin-page:                         [ i686-linux, x86_64-linux, x86_64-darwin ]
-  clckwrks-theme-bootstrap:                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   clckwrks-theme-clckwrks:                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   clckwrks-theme-geo-bootstrap:                 [ i686-linux, x86_64-linux, x86_64-darwin ]
-  clckwrks:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   cld2:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   clean-unions:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   Clean:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -3706,6 +3582,7 @@ dont-distribute-packages:
   cnc-spec-compiler:                            [ 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 ]
+  codec-beam:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   codec-libevent:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   codec-rpm:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   codecov-haskell:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -3716,7 +3593,6 @@ dont-distribute-packages:
   cognimeta-utils:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   coin:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   coinbase-exchange:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
-  coincident-root-loci:                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   colada:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   colchis:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   collada-output:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -3730,11 +3606,12 @@ dont-distribute-packages:
   colorless-http-client:                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   colorless-scotty:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
   colorless:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
+  colour-space:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   coltrane:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   columbia:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   com:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
+  combinat-compat:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   combinat-diagrams:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
-  combinat:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   combinator-interactive:                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   combinatorial-problems:                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   Combinatorrent:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -3767,7 +3644,6 @@ dont-distribute-packages:
   composite-aeson:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   composite-opaleye:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
   composition-tree:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
-  compressed:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   compression:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   compstrat:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   comptrans:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -3781,9 +3657,7 @@ dont-distribute-packages:
   concurrent-buffer:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
   Concurrent-Cache:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
   concurrent-dns-cache:                         [ i686-linux, x86_64-linux, x86_64-darwin ]
-  concurrent-machines:                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   concurrent-state:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
-  concurrent-utilities:                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   Concurrential:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   ConcurrentUtils:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   Condor:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -3796,10 +3670,15 @@ dont-distribute-packages:
   conduit-audio-lame:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
   conduit-audio-samplerate:                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   conduit-find:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
+  conduit-merge:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   conduit-network-stream:                       [ i686-linux, x86_64-linux, x86_64-darwin ]
+  conduit-resumablesink:                        [ i686-linux, x86_64-linux, x86_64-darwin ]
+  conduit-throttle:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
+  conduit-tokenize-attoparsec:                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   conduit-zstd:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   conf:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   conffmt:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
+  confide:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   config-parser:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   config-select:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   ConfigFileTH:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -3815,17 +3694,18 @@ dont-distribute-packages:
   consistent:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   console-program:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   const-math-ghc-plugin:                        [ i686-linux, x86_64-linux, x86_64-darwin ]
+  constrained-dynamic:                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   constrained-monads:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
   constraint-manip:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
   constraint:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   ConstraintKinds:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
-  constructible:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   constructive-algebra:                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   consul-haskell:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   Consumer:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   consumers:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   container:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   containers-benchmark:                         [ i686-linux, x86_64-linux, x86_64-darwin ]
+  containers-verified:                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   ContArrow:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   content-store:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   context-stack:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -3834,7 +3714,6 @@ dont-distribute-packages:
   continuum-client:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
   continuum:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   Contract:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
-  control-dotdotdot:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
   control-event:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   control-monad-attempt:                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   control-monad-exception-monadsfd:             [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -3862,8 +3741,10 @@ dont-distribute-packages:
   CoreDump:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   CoreErlang:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   CoreFoundation:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
+  corenlp-parser:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   coroutine-enumerator:                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   coroutine-iteratee:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
+  coroutine-object:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
   Coroutine:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   couch-hs:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   couch-simple:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -3871,7 +3752,6 @@ dont-distribute-packages:
   couchdb-enumerator:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
   CouchDB:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   countable-inflections:                        [ i686-linux, x86_64-linux, x86_64-darwin ]
-  courier:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   court:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   coverage:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   cparsing:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -3881,6 +3761,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 ]
   cqrs-core:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   cqrs-example:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   cqrs-memory:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -3899,10 +3780,10 @@ dont-distribute-packages:
   craze:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   crc16:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   crc:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
-  crdt:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   creatur:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   credential-store:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
   credentials-cli:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
+  credentials:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   crf-chain1-constrained:                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   crf-chain1:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   crf-chain2-generic:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -3921,6 +3802,7 @@ dont-distribute-packages:
   crypto-cipher-benchmarks:                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   crypto-classical:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
   crypto-conduit:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
+  crypto-multihash:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
   crypto-random-effect:                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   crypto-simple:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   cryptocompare:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -3929,6 +3811,7 @@ dont-distribute-packages:
   cryptsy-api:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   crystalfontz:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   cse-ghc-plugin:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
+  csg:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   CSPM-cspm:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   CSPM-Frontend:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   CSPM-Interpreter:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -3936,14 +3819,13 @@ dont-distribute-packages:
   cspmchecker:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   cspretty:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   css:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
-  csv-to-qif:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   ctemplate:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   ctkl:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   ctpl:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   cube:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   cudd:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
+  currency-codes:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   currency-convert:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
-  curry-base:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   curry-frontend:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   curry:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   CurryDB:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -3952,13 +3834,13 @@ dont-distribute-packages:
   curves:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   custom-prelude:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   CV:                                           [ i686-linux, x86_64-linux, x86_64-darwin ]
-  cyclotomic:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   cypher:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   d3js:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   DAG-Tournament:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   dag:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   damnpacket:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   Dangerous:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
+  danibot:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   dao:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   Dao:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   dapi:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -3982,6 +3864,7 @@ dont-distribute-packages:
   data-accessor-monads-fd:                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   data-accessor-monads-tf:                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   data-base:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
+  data-basic:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   data-concurrent-queue:                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   data-construction:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
   data-cycle:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -3994,17 +3877,11 @@ dont-distribute-packages:
   data-fin-simple:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   data-fin:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   data-flagset:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
-  data-foldapp:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
-  data-forest:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
-  data-interval:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   data-ivar:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   data-kiln:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   data-layer:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
-  data-lens-fd:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   data-lens-ixset:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   data-lens-template:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
-  data-lens:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
-  data-list-zigzag:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
   data-map-multikey:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
   data-nat:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   data-object-json:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -4014,15 +3891,17 @@ dont-distribute-packages:
   data-repr:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   data-result:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   data-rev:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
-  Data-Rope:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   data-rope:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
+  Data-Rope:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   data-rtuple:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   data-spacepart:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   data-store:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
+  data-stringmap:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   data-structure-inferrer:                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   data-type:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   database-study:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   datadog:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
+  datafix:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   datalog:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   DataTreeView:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   datetime-sb:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -4037,6 +3916,7 @@ dont-distribute-packages:
   dbmigrations-sqlite:                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   dbus-client:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   dbus-core:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
+  dbus-hslogger:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   dbus-qq:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   dbus-th-introspection:                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   DBus:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -4060,9 +3940,11 @@ dont-distribute-packages:
   ddc-tools:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   ddc-war:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   ddci-core:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
+  dde:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   dead-code-detection:                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   dead-simple-json:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
   debug-me:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
+  debug:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   decepticons:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   decimal-arithmetic:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
   DecisionTree:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -4100,6 +3982,7 @@ dont-distribute-packages:
   derive-IG:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   derive-topdown:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   derive-trie:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
+  derive:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   derp-lib:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   deterministic-game-engine:                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   deunicode:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -4108,24 +3991,35 @@ dont-distribute-packages:
   dfsbuild:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   dgim:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   dgs:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
+  dhall-bash:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   dhall-check:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
+  dhall-nix:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
+  dhall-to-cabal:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   dhcp-lease-parser:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
   diagrams-boolean:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
+  diagrams-braille:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
   diagrams-builder:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
+  diagrams-cairo:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   diagrams-canvas:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
+  diagrams-contrib:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
+  diagrams-core:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   diagrams-graphviz:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
   diagrams-gtk:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   diagrams-haddock:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
   diagrams-hsqml:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   diagrams-html5:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
+  diagrams-lib:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   diagrams-pandoc:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   diagrams-pdf:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   diagrams-pgf:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
+  diagrams-postscript:                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   diagrams-qrcode:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   diagrams-rasterific:                          [ i686-linux, x86_64-linux, x86_64-darwin ]
+  diagrams-rubiks-cube:                         [ i686-linux, x86_64-linux, x86_64-darwin ]
+  diagrams-svg:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   diagrams-tikz:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   diagrams-wx:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
-  dib:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
+  diagrams:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   dice-entropy-conduit:                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   dice2tex:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   dicom:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -4134,17 +4028,9 @@ dont-distribute-packages:
   DifferenceLogic:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   DifferentialEvolution:                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   difftodo:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
-  digestive-bootstrap:                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   digestive-foundation-lucid:                   [ i686-linux, x86_64-linux, x86_64-darwin ]
-  digestive-functors-aeson:                     [ i686-linux, x86_64-linux, x86_64-darwin ]
-  digestive-functors-blaze:                     [ i686-linux, x86_64-linux, x86_64-darwin ]
-  digestive-functors-happstack:                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   digestive-functors-heist:                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   digestive-functors-hsp:                       [ i686-linux, x86_64-linux, x86_64-darwin ]
-  digestive-functors-lucid:                     [ i686-linux, x86_64-linux, x86_64-darwin ]
-  digestive-functors-scotty:                    [ i686-linux, x86_64-linux, x86_64-darwin ]
-  digestive-functors-snap:                      [ i686-linux, x86_64-linux, x86_64-darwin ]
-  digestive-functors:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
   digitalocean-kzs:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
   DigitalOcean:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   dimensional-codata:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -4185,7 +4071,6 @@ dont-distribute-packages:
   distributed-process-extras:                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   distributed-process-fsm:                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   distributed-process-lifted:                   [ i686-linux, x86_64-linux, x86_64-darwin ]
-  distributed-process-p2p:                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   distributed-process-platform:                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   distributed-process-registry:                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   distributed-process-supervisor:               [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -4193,6 +4078,7 @@ dont-distribute-packages:
   distributed-process-task:                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   distributed-process-zookeeper:                [ i686-linux, x86_64-linux, x86_64-darwin ]
   distribution-plot:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
+  diversity:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   dixi:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   djembe:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   djinn-th:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -4210,6 +4096,7 @@ dont-distribute-packages:
   docidx:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   dockercook:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   doctest-discover-configurator:                [ i686-linux, x86_64-linux, x86_64-darwin ]
+  doctest-discover:                             [ 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 ]
   docvim:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -4236,6 +4123,7 @@ dont-distribute-packages:
   dph-prim-seq:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   dpkg:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   DPM:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
+  DPutils:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   drClickOn:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   dresdner-verkehrsbetriebe:                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   DrHylo:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -4262,6 +4150,7 @@ dont-distribute-packages:
   dtd:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   dtw:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   dual:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
+  dublincore-xml-conduit:                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   duckling:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   duplo:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   Dust-crypto:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -4296,9 +4185,9 @@ dont-distribute-packages:
   eccrypto:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   ecdsa:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   ecma262:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
-  ecstasy:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   ecu:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   eddie:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
+  ede:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   edenmodules:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   edenskel:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   edentv:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -4308,17 +4197,17 @@ dont-distribute-packages:
   editline:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   EditTimeReport:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   EEConfig:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
-  effect-monad:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
+  effect-handlers:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   effective-aspects-mzv:                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   effective-aspects:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
   egison-quote:                                 [ 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 ]
-  either-list-functions:                        [ i686-linux, x86_64-linux, x86_64-darwin ]
+  Eight-Ball-Pool-Hack-Cheats:                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   EitherT:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
+  ekg-cloudwatch:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   ekg-elastic:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
-  ekg-elasticsearch:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
   ekg-influxdb:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   ekg-log:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   ekg-prometheus-adapter:                       [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -4326,12 +4215,10 @@ dont-distribute-packages:
   ekg-rrd:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   elevator:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   elision:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
-  elm-bridge:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   elm-websocket:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   elocrypt:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   elsa:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   emacs-keys:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
-  email-header:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   email-postmark:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   email-validator:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   email:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -4371,6 +4258,7 @@ dont-distribute-packages:
   eros-client:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   eros-http:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   eros:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
+  error-context:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   error-continuations:                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   error-list:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   error-loc:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -4382,21 +4270,25 @@ dont-distribute-packages:
   escape-artist:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   esotericbot:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   EsounD:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
+  esqueleto:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   ess:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   estimators:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   estreps:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   Etage-Graph:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   Etage:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
+  EtaMOO:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   etc:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
+  etcd:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   Eternal10Seconds:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
   eternal:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
+  eternity-timestamped:                         [ i686-linux, x86_64-linux, x86_64-darwin ]
+  eternity:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   Etherbunny:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   ethereum-analyzer-cli:                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   ethereum-analyzer-webui:                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   ethereum-analyzer:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
   ethereum-client-haskell:                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   ethereum-merkle-patricia-db:                  [ i686-linux, x86_64-linux, x86_64-darwin ]
-  ety:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   euphoria:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   eurofxref:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   Euterpea:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -4410,7 +4302,6 @@ dont-distribute-packages:
   eventstore:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   every-bit-counts:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
   ewe:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
-  ex-pool:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   exact-cover:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   exact-real-positional:                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   exact-real:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -4430,9 +4321,11 @@ dont-distribute-packages:
   exinst-hashable:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   exinst:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   exists:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
+  exitcode:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   exp-extended:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   expand:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   expat-enumerator:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
+  expiring-containers:                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   explain:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   explicit-determinant:                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   explicit-iomodes-bytestring:                  [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -4445,13 +4338,11 @@ dont-distribute-packages:
   extcore:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   extemp:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   extended-categories:                          [ i686-linux, x86_64-linux, x86_64-darwin ]
-  extended-reals:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   extensible-data:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   extensible-effects:                           [ 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 ]
-  extralife:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   ez-couch:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   faceted:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   Facts:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -4466,9 +4357,10 @@ dont-distribute-packages:
   fallingblocks:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   family-tree:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   fast-arithmetic:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
+  fast-builder:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   fast-combinatorics:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
   fast-nats:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
-  fast-tagsoup:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
+  fasta:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   fastbayes:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   fastcgi:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   fastedit:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -4493,6 +4385,7 @@ dont-distribute-packages:
   fca:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   fcache:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   fcd:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
+  fcg:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   fckeditor:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   fclabels-monadlib:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
   FComp:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -4515,6 +4408,7 @@ dont-distribute-packages:
   Feval:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   ffeed:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   fficxx:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
+  ffmpeg-light:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   ffmpeg-tutorials:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
   fgl-extras-decompositions:                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   fibon:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -4528,10 +4422,7 @@ dont-distribute-packages:
   filediff:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   FileManip:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   FileManipCompat:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
-  filepath-crypto:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   filepath-io-access:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
-  FilePather:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
-  filepather:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   Files:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   filestore:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   filesystem-conduit:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -4541,11 +4432,11 @@ dont-distribute-packages:
   fillit:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   filtrable:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   Fin:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
+  fin:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   final-pretty-printer:                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   Finance-Quote-Yahoo:                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   Finance-Treasury:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
   find-conduit:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
-  finite-field:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   FiniteMap:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   firefly-example:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   first-and-last:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -4560,11 +4451,11 @@ dont-distribute-packages:
   fixed-point:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   fixed-precision:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   fixed-storable-array:                         [ i686-linux, x86_64-linux, x86_64-darwin ]
+  fixed-vector-cborg:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
   fixed-width:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   fixer:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   fixfile:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   fixie:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
-  fizzbuzz-as-a-service:                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   fizzbuzz:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   flac-picture:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   flac:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -4580,7 +4471,6 @@ dont-distribute-packages:
   Flippi:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   flite:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   floating-bits:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
-  flock:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   flow-er:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   flow2dot:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   flowdock-api:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -4589,6 +4479,8 @@ 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 ]
+  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 ]
   FM-SBLEX:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   fmark:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -4596,6 +4488,8 @@ dont-distribute-packages:
   fn-extra:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   foldl-incremental:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
   foldl-statistics:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
+  foldl-transduce-attoparsec:                   [ i686-linux, x86_64-linux, x86_64-darwin ]
+  foldl-transduce:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   folds-common:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   follower:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   foma:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -4622,6 +4516,7 @@ dont-distribute-packages:
   formura:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   ForSyDe:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   forth-hll:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
+  Fortnite-Hack-Cheats-Free-V-Bucks-Generator:  [ i686-linux, x86_64-linux, x86_64-darwin ]
   fortytwo:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   foscam-directory:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
   foscam-filename:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -4633,10 +4528,12 @@ dont-distribute-packages:
   Fractaler:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   fractals:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   frag:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
+  Frames:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   franchise:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   Frank:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   fraxl:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   free-concurrent:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
+  free-functors:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   free-game:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   free-http:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   free-operational:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -4645,6 +4542,7 @@ dont-distribute-packages:
   free-theorems-seq:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
   free-theorems-webui:                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   free-theorems:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
+  free-vector-spaces:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
   freekick2:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   freer-converse:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   freer-effects:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -4652,14 +4550,17 @@ dont-distribute-packages:
   freesound:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   freetype-simple:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   FreeTypeGL:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
+  fresco-binding:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   fresh:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   friday-devil:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   friday-scale-dct:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
   frown:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   frp-arduino:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
+  frpnow-vty:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   fs-events:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   fsh-csv:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   fsmActions:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
+  fsnotify-conduit:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
   fsutils:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   fswait:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   fswatcher:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -4690,6 +4591,7 @@ dont-distribute-packages:
   futun:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   future:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   fuzzy-timings:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
+  fuzzy:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   fwgl-glfw:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   fwgl-javascript:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   fwgl:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -4699,7 +4601,6 @@ dont-distribute-packages:
   gact:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   game-probability:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
   gameclock:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
-  Gamgine:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   Ganymede:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   garepinoh:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   gargoyle-postgresql:                          [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -4715,6 +4616,12 @@ dont-distribute-packages:
   geek-server:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   geek:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   gegl:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
+  gelatin-freetype2:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
+  gelatin-fruity:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
+  gelatin-gl:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
+  gelatin-sdl2:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
+  gelatin-shaders:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
+  gelatin:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   gemstone:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   gen-imports:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   gen-passwd:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -4766,6 +4673,7 @@ dont-distribute-packages:
   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 ]
+  geodetics:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   GeoIp:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   geojson-types:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   geojson:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -4773,45 +4681,59 @@ dont-distribute-packages:
   geom2d:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   GeomPredicates-SSE:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
   geos:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
+  Get:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   getemx:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   getflag:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   gf:                                           [ i686-linux, x86_64-linux, x86_64-darwin ]
   GGg:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   ggtsTC:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
+  ghc-core-smallstep:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
+  ghc-datasize:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
+  ghc-dump-core:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   ghc-dump-tree:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
+  ghc-dump-util:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   ghc-dup:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   ghc-events-analyze:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
   ghc-events-parallel:                          [ i686-linux, x86_64-linux, x86_64-darwin ]
-  ghc-exactprint:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   ghc-generic-instances:                        [ i686-linux, x86_64-linux, x86_64-darwin ]
+  ghc-heap-view:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   ghc-imported-from:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
   ghc-justdoit:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   ghc-man-completion:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
   ghc-mod:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
-  ghc-parser:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   ghc-pkg-autofix:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   ghc-pkg-lib:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   ghc-session:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   ghc-simple:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   ghc-syb:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
+  ghc-time-alloc-prof:                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   ghc-vis:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   ghci-diagrams:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   ghci-haskeline:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   ghci-history-parser:                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   ghci-lib:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   ghci-ng:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
+  ghcjs-dom-jsaddle:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
   ghcjs-dom-jsffi:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
+  ghcjs-dom:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
+  ghcjs-fetch:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   ghcjs-hplay:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   ghcjs-promise:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   ghcjs-xhr:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   ghclive:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   ght:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
+  gi-atk:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
+  gi-cairo:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
+  gi-dbusmenu:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
+  gi-dbusmenugtk3:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   gi-gdk:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   gi-gdkpixbuf:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   gi-gdkx11:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   gi-ggit:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   gi-gio:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   gi-girepository:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
+  gi-glib:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
+  gi-gobject:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   gi-gst:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   gi-gstaudio:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   gi-gstbase:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -4835,8 +4757,9 @@ dont-distribute-packages:
   Gifcurry:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   ginsu:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   gipeda:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
-  GiST:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
+  giphy-api:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   gist:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
+  GiST:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   git-all:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   git-checklist:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   git-config:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -4851,17 +4774,23 @@ dont-distribute-packages:
   git-sanity:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   git-vogue:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   gitdo:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
+  github-backup:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
+  github-data:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   github-utils:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
-  gitHUD:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
+  githud:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   gitignore:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   gitit:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   gitlib-cmdline:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   gitlib-cross:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   gitlib-libgit2:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   gitlib-s3:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
+  gitlib-sample:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
+  gitlib-test:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   gitlib-utils:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
+  gitlib:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   gitson:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   gitter:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
+  givegif:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   glade:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   gladexml-accessor:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
   glapp:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -4870,7 +4799,6 @@ dont-distribute-packages:
   glazier-react:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   GLFW-b-demo:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   GLFW-OGL:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
-  GLFW-task:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   gli:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   glicko:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   glider-nlp:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -4884,6 +4812,7 @@ dont-distribute-packages:
   GlomeView:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   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-sodium:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   glue-common:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   glue-core:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -4907,12 +4836,125 @@ dont-distribute-packages:
   gochan:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   gofer-prelude:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   goggles-gcs:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
+  gogol-adexchange-buyer:                       [ i686-linux, x86_64-linux, x86_64-darwin ]
+  gogol-adexchange-seller:                      [ i686-linux, x86_64-linux, x86_64-darwin ]
+  gogol-admin-datatransfer:                     [ i686-linux, x86_64-linux, x86_64-darwin ]
+  gogol-admin-directory:                        [ i686-linux, x86_64-linux, x86_64-darwin ]
+  gogol-admin-emailmigration:                   [ i686-linux, x86_64-linux, x86_64-darwin ]
+  gogol-admin-reports:                          [ i686-linux, x86_64-linux, x86_64-darwin ]
+  gogol-adsense-host:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
+  gogol-adsense:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
+  gogol-affiliates:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
+  gogol-analytics:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
+  gogol-android-enterprise:                     [ i686-linux, x86_64-linux, x86_64-darwin ]
+  gogol-android-publisher:                      [ i686-linux, x86_64-linux, x86_64-darwin ]
+  gogol-appengine:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
+  gogol-apps-activity:                          [ i686-linux, x86_64-linux, x86_64-darwin ]
+  gogol-apps-calendar:                          [ i686-linux, x86_64-linux, x86_64-darwin ]
+  gogol-apps-licensing:                         [ i686-linux, x86_64-linux, x86_64-darwin ]
+  gogol-apps-reseller:                          [ i686-linux, x86_64-linux, x86_64-darwin ]
+  gogol-apps-tasks:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
+  gogol-appstate:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
+  gogol-autoscaler:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
+  gogol-bigquery:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
+  gogol-billing:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
+  gogol-blogger:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
+  gogol-books:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
+  gogol-civicinfo:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
+  gogol-classroom:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
+  gogol-cloudmonitoring:                        [ i686-linux, x86_64-linux, x86_64-darwin ]
+  gogol-cloudtrace:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
+  gogol-compute:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
+  gogol-container:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
+  gogol-containerbuilder:                       [ i686-linux, x86_64-linux, x86_64-darwin ]
+  gogol-core:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
+  gogol-customsearch:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
+  gogol-dataflow:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
+  gogol-dataproc:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
+  gogol-datastore:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
+  gogol-debugger:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
+  gogol-deploymentmanager:                      [ i686-linux, x86_64-linux, x86_64-darwin ]
+  gogol-dfareporting:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
+  gogol-discovery:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
+  gogol-dns:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
+  gogol-doubleclick-bids:                       [ i686-linux, x86_64-linux, x86_64-darwin ]
+  gogol-doubleclick-search:                     [ i686-linux, x86_64-linux, x86_64-darwin ]
+  gogol-drive:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
+  gogol-firebase-dynamiclinks:                  [ i686-linux, x86_64-linux, x86_64-darwin ]
+  gogol-firebase-rules:                         [ i686-linux, x86_64-linux, x86_64-darwin ]
+  gogol-fitness:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
+  gogol-fonts:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
+  gogol-freebasesearch:                         [ i686-linux, x86_64-linux, x86_64-darwin ]
+  gogol-fusiontables:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
+  gogol-games-configuration:                    [ i686-linux, x86_64-linux, x86_64-darwin ]
+  gogol-games-management:                       [ i686-linux, x86_64-linux, x86_64-darwin ]
+  gogol-games:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
+  gogol-genomics:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
+  gogol-gmail:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
+  gogol-groups-migration:                       [ i686-linux, x86_64-linux, x86_64-darwin ]
+  gogol-groups-settings:                        [ i686-linux, x86_64-linux, x86_64-darwin ]
+  gogol-iam:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
+  gogol-identity-toolkit:                       [ i686-linux, x86_64-linux, x86_64-darwin ]
+  gogol-kgsearch:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
+  gogol-language:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
+  gogol-latencytest:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
+  gogol-logging:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
+  gogol-manufacturers:                          [ i686-linux, x86_64-linux, x86_64-darwin ]
+  gogol-maps-coordinate:                        [ i686-linux, x86_64-linux, x86_64-darwin ]
+  gogol-maps-engine:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
+  gogol-mirror:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
+  gogol-ml:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
+  gogol-monitoring:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
+  gogol-oauth2:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
+  gogol-pagespeed:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
+  gogol-partners:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
+  gogol-people:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
+  gogol-play-moviespartner:                     [ i686-linux, x86_64-linux, x86_64-darwin ]
+  gogol-plus-domains:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
+  gogol-plus:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
+  gogol-prediction:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
+  gogol-proximitybeacon:                        [ i686-linux, x86_64-linux, x86_64-darwin ]
+  gogol-pubsub:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
+  gogol-qpxexpress:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
+  gogol-replicapool-updater:                    [ i686-linux, x86_64-linux, x86_64-darwin ]
+  gogol-replicapool:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
+  gogol-resourcemanager:                        [ i686-linux, x86_64-linux, x86_64-darwin ]
+  gogol-resourceviews:                          [ i686-linux, x86_64-linux, x86_64-darwin ]
+  gogol-runtimeconfig:                          [ i686-linux, x86_64-linux, x86_64-darwin ]
+  gogol-safebrowsing:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
+  gogol-script:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
+  gogol-servicecontrol:                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   gogol-servicemanagement:                      [ i686-linux, x86_64-linux, x86_64-darwin ]
+  gogol-sheets:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
+  gogol-shopping-content:                       [ i686-linux, x86_64-linux, x86_64-darwin ]
+  gogol-siteverification:                       [ i686-linux, x86_64-linux, x86_64-darwin ]
+  gogol-slides:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
+  gogol-spectrum:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
+  gogol-sqladmin:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
+  gogol-storage-transfer:                       [ i686-linux, x86_64-linux, x86_64-darwin ]
+  gogol-storage:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
+  gogol-tagmanager:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
+  gogol-taskqueue:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
+  gogol-translate:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
+  gogol-urlshortener:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
+  gogol-useraccounts:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
+  gogol-vision:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
+  gogol-webmaster-tools:                        [ i686-linux, x86_64-linux, x86_64-darwin ]
+  gogol-youtube-analytics:                      [ i686-linux, x86_64-linux, x86_64-darwin ]
+  gogol-youtube-reporting:                      [ i686-linux, x86_64-linux, x86_64-darwin ]
+  gogol-youtube:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
+  gogol:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   gooey:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   google-drive:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   google-html5-slide:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
+  google-mail-filters:                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   google-maps-geocoding:                        [ i686-linux, x86_64-linux, x86_64-darwin ]
+  google-oauth2-easy:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
   google-oauth2:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
+  google-search:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
+  google-server-api:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
+  google-static-maps:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
+  google-translate:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
   GoogleCodeJam:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   GoogleDirections:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
   googleplus:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -4924,6 +4966,7 @@ dont-distribute-packages:
   gore-and-ash-actor:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
   gore-and-ash-async:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
   gore-and-ash-demo:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
+  gore-and-ash-glfw:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
   gore-and-ash-lambdacube:                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   gore-and-ash-network:                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   gore-and-ash-sdl:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -4941,9 +4984,11 @@ dont-distribute-packages:
   GPX:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   graceful:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   Grafos:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
+  grakn:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   grammar-combinators:                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   GrammarProducts:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   grammatical-parsers:                          [ i686-linux, x86_64-linux, x86_64-darwin ]
+  graph-matchings:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   graph-rewriting-cl:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
   graph-rewriting-gl:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
   graph-rewriting-lambdascope:                  [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -4965,8 +5010,6 @@ dont-distribute-packages:
   graphics-formats-collada:                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   graphicsFormats:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   graphicstools:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
-  graphmod:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
-  graphql-api:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   graphtype:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   graql:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   grasp:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -4974,16 +5017,19 @@ dont-distribute-packages:
   graylog:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   greencard-lib:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   greencard:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
+  greenclip:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   greg-client:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   gremlin-haskell:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   Grempa:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   grenade:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   greplicate:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
+  greskell:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   grid:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   gridbounds:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   gridfs:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   gridland:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   grm:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
+  groot:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   gross:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   GroteTrap:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   groundhog-converters:                         [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -4998,11 +5044,12 @@ dont-distribute-packages:
   gssapi-wai:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   gssapi:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   gstorable:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
-  gstreamer:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   GTALib:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   gtfs:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   gtk-mac-integration:                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   gtk-serialized-event:                         [ i686-linux, x86_64-linux, x86_64-darwin ]
+  gtk-sni-tray:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
+  gtk-strut:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   gtk-toy:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   gtk2hs-cast-glade:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
   gtk2hs-cast-gnomevfs:                         [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -5024,6 +5071,7 @@ dont-distribute-packages:
   GuiHaskell:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   GuiTV:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   gyah-bin:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
+  gym-http-api:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   h-booru:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   h-gpgme:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   h-reversi:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -5059,7 +5107,6 @@ dont-distribute-packages:
   hackage-proxy:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   hackage-repo-tool:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
   hackage-server:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
-  hackage-whatsnew:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
   hackage2hwn:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   hackage2twitter:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   hackager:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -5075,7 +5122,6 @@ dont-distribute-packages:
   haddocset:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   hadolint:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   hadoop-formats:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
-  hadoop-rpc:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   hadoop-tools:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   haggis:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   Haggressive:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -5133,7 +5179,6 @@ dont-distribute-packages:
   happs-tutorial:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   HAppS-Util:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   happstack-auth:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
-  happstack-authenticate:                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   happstack-clientsession:                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   happstack-contrib:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
   happstack-data:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -5211,15 +5256,18 @@ dont-distribute-packages:
   haskell-compression:                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   haskell-conll:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   haskell-course-preludes:                      [ i686-linux, x86_64-linux, x86_64-darwin ]
+  haskell-dap:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   haskell-docs:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   haskell-formatter:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
   haskell-ftp:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   haskell-generate:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
+  haskell-gi:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   haskell-go-checkers:                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   haskell-holes-th:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
   haskell-igraph:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   haskell-kubernetes:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
   haskell-mpfr:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
+  haskell-names:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   haskell-neo4j-client:                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   haskell-openflow:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
   haskell-packages:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -5243,6 +5291,8 @@ dont-distribute-packages:
   haskell-tools-daemon:                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   haskell-tools-debug:                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   haskell-tools-demo:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
+  haskell-tools-experimental-refactorings:      [ i686-linux, x86_64-linux, x86_64-darwin ]
+  haskell-tools-refactor:                       [ 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 ]
@@ -5278,6 +5328,8 @@ dont-distribute-packages:
   haskellscript:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   HaskellTorrent:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   HaskellTutorials:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
+  haskey-mtl:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
+  haskey:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   haskgame:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   haskheap:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   haskhol-core:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -5303,6 +5355,7 @@ dont-distribute-packages:
   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 ]
+  hasmin:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   hasparql-client:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   hasql-backend:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   hasql-class:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -5334,6 +5387,7 @@ dont-distribute-packages:
   hawitter:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   Hawk:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   hax:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
+  haxl-amazonka:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   haxl-facebook:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   haxparse:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   haxr-th:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -5366,8 +5420,8 @@ dont-distribute-packages:
   hdaemonize-buildfix:                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   hdbc-aeson:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   HDBC-mysql:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
-  hdbc-postgresql-hstore:                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   HDBC-postgresql-hstore:                       [ i686-linux, x86_64-linux, x86_64-darwin ]
+  hdbc-postgresql-hstore:                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   hdbi-conduit:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   hdbi-postgresql:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   hdbi-sqlite:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -5388,8 +5442,11 @@ dont-distribute-packages:
   HDRUtils:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   headergen:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   heap:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
+  heavy-logger-amazon:                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   hecc:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   heckle:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
+  hedgehog-checkers-lens:                       [ i686-linux, x86_64-linux, x86_64-darwin ]
+  hedgehog-checkers:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
   hedgehog-gen-json:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
   Hedi:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   hedis-config:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -5484,7 +5541,6 @@ dont-distribute-packages:
   hgeometric:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   hgeometry:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   hgeos:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
-  hgettext:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   hgis:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   hgithub:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   hgom:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -5518,6 +5574,7 @@ dont-distribute-packages:
   hinterface:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   hinvaders:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   hinze-streams:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
+  hip:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   hipbot:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   hipchat-hs:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   hipe:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -5536,6 +5593,8 @@ dont-distribute-packages:
   hjcase:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   hjs:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   HJScript:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
+  hjsonpointer:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
+  hjsonschema:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   HJVM:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   hlatex:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   hlbfgsb:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -5547,6 +5606,8 @@ dont-distribute-packages:
   HLearn-datastructures:                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   HLearn-distributions:                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   hledger-chart:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
+  hledger-diff:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
+  hledger-irr:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   hledger-vty:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   hlibBladeRF:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   hlibev:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -5557,6 +5618,7 @@ dont-distribute-packages:
   HListPP:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   HLogger:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   hlogger:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
+  hlrdb:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   hls:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   hlwm:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   hly:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -5570,16 +5632,17 @@ dont-distribute-packages:
   hmatrix-nipals:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   hmatrix-nlopt:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   hmatrix-quadprogpp:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
+  hmatrix-sparse:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   hmatrix-static:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
+  hmatrix-sundials:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
   hmatrix-syntax:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   hmeap-utils:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   hmeap:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   hmenu:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
-  hmep:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   hmk:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   hmm-hmatrix:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
-  hmm:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   HMM:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
+  hmm:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   hMollom:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   hmp3:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   Hmpf:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -5587,12 +5650,14 @@ dont-distribute-packages:
   hmt:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   hmumps:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   hnetcdf:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
+  hnix:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   HNM:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   hnormalise:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   ho-rewriting:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   hoauth:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   hob:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   hobbes:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
+  hobbits:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   hocilib:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   hocker:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   hodatime:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -5601,16 +5666,18 @@ dont-distribute-packages:
   hofix-mtl:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   hog:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   hogg:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
+  hoggl:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   hogre-examples:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   hogre:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   hois:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
-  hol:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
+  hoist-error:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   hold-em:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   hole:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   Holumbus-Distribution:                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   Holumbus-MapReduce:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
   Holumbus-Searchengine:                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   Holumbus-Storage:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
+  holy-project:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   homeomorphic:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   hommage:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   homoiconic:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -5622,6 +5689,7 @@ dont-distribute-packages:
   hoodie:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   hoodle-core:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   hoodle-extra:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
+  hoodle-parser:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   hoodle-publish:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   hoodle-render:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   hoodle:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -5633,6 +5701,7 @@ dont-distribute-packages:
   hopenpgp-tools:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   hOpenPGP:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   hopfield:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
+  hops:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   hoq:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   horizon:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   horname:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -5654,11 +5723,11 @@ dont-distribute-packages:
   hpasteit:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   HPath:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   hpc-tracer:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
+  hPDB-examples:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
+  hPDB:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   hpdft:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
-  hpg:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   HPhone:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   HPi:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
-  hpio:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   hplaylist:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   HPlot:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   hpodder:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -5666,12 +5735,14 @@ dont-distribute-packages:
   hpqtypes-extras:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   hpqtypes:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   hprotoc-fork:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
+  hprotoc:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   hps-cairo:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   hps-kmeans:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   hps:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   hPushover:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   hpygments:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   hpylos:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
+  hquantlib:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   hR:                                           [ i686-linux, x86_64-linux, x86_64-darwin ]
   hranker:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   HRay:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -5707,6 +5778,7 @@ dont-distribute-packages:
   hs-re:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   hs-rs-notify:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   hs-scrape:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
+  hs-snowtify:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   hs-twitter:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   hs-twitterarchiver:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
   hs-vcard:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -5715,6 +5787,7 @@ dont-distribute-packages:
   hs2bf:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   hs2dot:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   Hs2lib:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
+  hsaml2:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   hsass:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   hsay:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   hsbackup:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -5761,14 +5834,16 @@ dont-distribute-packages:
   hsgsom:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   HsHaruPDF:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   HSHHelpers:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
+  HsHTSLib:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   HsHyperEstraier:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
+  hsignal:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   hSimpleDB:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
+  hsimport:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   HsJudy:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   hskeleton:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   hslackbuilder:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   hslibsvm:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   hslinks:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
-  HSlippyMap:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   hslogger-reader:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   hslogstash:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   hsluv-haskell:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -5818,6 +5893,8 @@ dont-distribute-packages:
   hsreadability:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   hsseccomp:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   hsSqlite3:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
+  hssqlppp-th:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
+  hssqlppp:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   HsSVN:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   hstats:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   hstest:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -5852,8 +5929,10 @@ dont-distribute-packages:
   http-client-auth:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
   http-client-lens:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
   http-client-request-modifiers:                [ i686-linux, x86_64-linux, x86_64-darwin ]
+  http-client-session:                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   http-client-streams:                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   http-conduit-browser:                         [ i686-linux, x86_64-linux, x86_64-darwin ]
+  http-conduit-downloader:                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   http-dispatch:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   http-enumerator:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   http-grammar:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -5861,6 +5940,7 @@ dont-distribute-packages:
   http-pony-serve-wai:                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   http-proxy:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   http-response-decoder:                        [ i686-linux, x86_64-linux, x86_64-darwin ]
+  http-reverse-proxy:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
   http-shed:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   http-wget:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   http2-client:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -5877,8 +5957,6 @@ dont-distribute-packages:
   hugs2yc:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   hulk:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   HulkImport:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
-  human-parse:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
-  human-text:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   hums:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   hunch:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   HUnit-Diff:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -5887,7 +5965,6 @@ dont-distribute-packages:
   hunp:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   hunt-searchengine:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
   hunt-server:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
-  hup:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   hurdle:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   hurriyet:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   husky:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -5895,9 +5972,11 @@ dont-distribute-packages:
   huttons-razor:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   huzzy:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   hVOIDP:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
+  hw-json-lens:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
+  hw-json:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   hw-kafka-avro:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
-  hw-kafka-client:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
-  hw-kafka-conduit:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
+  hw-prim-bits:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
+  hw-xml:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   hwall-auth-iitk:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   hweblib:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   hwhile:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -5936,6 +6015,7 @@ dont-distribute-packages:
   hylolib:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   hylotab:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   hyloutils:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
+  hyper-extra:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   hyperdrive:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   hyperfunctions:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   hyperloglog:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -5947,9 +6027,9 @@ dont-distribute-packages:
   iap-verifier:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   ib-api:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   iban:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
+  ical:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   IcoGrid:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   icon-fonts:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
-  iconv-typed:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   ide-backend-common:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
   ide-backend-server:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
   ide-backend:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -5959,7 +6039,6 @@ dont-distribute-packages:
   identifiers:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   idiii:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   idna2008:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
-  idna:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   IDynamic:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   ieee-utils:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   iException:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -5972,20 +6051,10 @@ dont-distribute-packages:
   igrf:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   ihaskell-aeson:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   ihaskell-basic:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
-  ihaskell-blaze:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
-  ihaskell-charts:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   ihaskell-diagrams:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
   ihaskell-display:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
-  ihaskell-gnuplot:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
-  ihaskell-hatex:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
-  ihaskell-inline-r:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
-  ihaskell-juicypixels:                         [ i686-linux, x86_64-linux, x86_64-darwin ]
-  ihaskell-magic:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   ihaskell-parsec:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
-  ihaskell-plot:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   ihaskell-rlangqq:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
-  ihaskell-widgets:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
-  ihaskell:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   ihttp:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   illuminate:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   imagemagick:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -6010,7 +6079,9 @@ dont-distribute-packages:
   inch:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   incremental-computing:                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   incremental-maps:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
+  incremental-parser:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
   increments:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
+  indents:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   indexed-extras:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   IndexedList:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   indices:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -6033,6 +6104,7 @@ dont-distribute-packages:
   instant-hashable:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
   instant-zipper:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   instapaper-sender:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
+  int-multimap:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   integer-pure:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   intel-aes:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   interleavableGen:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -6043,11 +6115,14 @@ dont-distribute-packages:
   interpol:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   interpolatedstring-qq-mwotton:                [ i686-linux, x86_64-linux, x86_64-darwin ]
   interpolatedstring-qq:                        [ i686-linux, x86_64-linux, x86_64-darwin ]
+  interruptible:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   intro-prelude:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   introduction-test:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
   introduction:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   intset:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   invertible-hlist:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
+  invertible-hxt:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
+  invertible:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   io-capture:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   io-reactive:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   ion:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -6057,7 +6132,6 @@ dont-distribute-packages:
   iothread:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   iotransaction:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   ip2location:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
-  ip:                                           [ i686-linux, x86_64-linux, x86_64-darwin ]
   ipatch:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   ipc:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   ipopt-hs:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -6068,13 +6142,11 @@ dont-distribute-packages:
   irc-fun-client:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   irc-fun-color:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   Irc:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
-  ircbot:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   iri:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   iridium:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   iron-mq:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   ironforge:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   irt:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
-  is:                                           [ i686-linux, x86_64-linux, x86_64-darwin ]
   isdicom:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   isevaluated:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   ismtp:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -6110,6 +6182,7 @@ dont-distribute-packages:
   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 ]
+  jammittools:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   jarfind:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   jarify:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   jason:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -6125,6 +6198,7 @@ dont-distribute-packages:
   Jdh:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   jdi:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   jenga:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
+  jenkinsPlugins2nix:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
   jespresso:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   jobqueue:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   join:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -6132,13 +6206,15 @@ dont-distribute-packages:
   jonathanscard:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   jort:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   js-good-parts:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
+  jsaddle-clib:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
+  jsaddle-dom:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   jsaddle-hello:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   jsaddle-warp:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   jsaddle-wkwebview:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
+  jsaddle:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   JsContracts:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   jsmw:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   json-api:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
-  json-assertions:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   json-ast-json-encoder:                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   json-ast-quickcheck:                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   json-b:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -6147,14 +6223,12 @@ dont-distribute-packages:
   json-encoder:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   json-enumerator:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   json-extra:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
-  json-feed:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   json-incremental-decoder:                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   json-litobj:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   json-pointer-hasql:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
   json-python:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   json-qq:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   json-rpc:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
-  json-sop:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   json-togo:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   json-tools:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   json-tracer:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -6180,7 +6254,9 @@ dont-distribute-packages:
   JunkDB:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   JuPyTer-notebook:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
   jupyter:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
+  jvm-batching:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   jvm-binary:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
+  jvm-streaming:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   JYU-Utils:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   kafka-client:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   kafka-device-glut:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -6190,8 +6266,8 @@ dont-distribute-packages:
   kafka-device-vrpn:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
   kafka-device:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   kaleidoscope:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
-  Kalman:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   kalman:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
+  Kalman:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   kangaroo:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   kansas-lava-cores:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
   kansas-lava-papilio:                          [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -6203,10 +6279,10 @@ dont-distribute-packages:
   katip-syslog:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   katt:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   kawaii:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
+  kazura-queue:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   kd-tree:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   kdesrc-build-extra:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
   kdt:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
-  keera-hails-i18n:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
   keera-hails-mvc-environment-gtk:              [ i686-linux, x86_64-linux, x86_64-darwin ]
   keera-hails-mvc-model-lightmodel:             [ i686-linux, x86_64-linux, x86_64-darwin ]
   keera-hails-mvc-model-protectedmodel:         [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -6228,6 +6304,7 @@ dont-distribute-packages:
   keyring:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   keysafe:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   keystore:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
+  keyvaluehash:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   keyword-args:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   khph:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   kicad-data:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -6238,7 +6315,6 @@ dont-distribute-packages:
   kif-parser:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   kit:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   kmeans-par:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
-  kmeans-vector:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   kmp-dfa:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   knead-arithmetic:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
   knead:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -6258,6 +6334,7 @@ dont-distribute-packages:
   L-seed:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   labeled-graph:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   laborantin-hs:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
+  labsat:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   labyrinth-server:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
   labyrinth:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   lagrangian:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -6269,9 +6346,7 @@ dont-distribute-packages:
   lambda-toolbox:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   lambda2js:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   lambdaBase:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
-  lambdabot-haskell-plugins:                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   lambdabot-utils:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
-  lambdabot:                                    [ 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 ]
@@ -6290,12 +6365,14 @@ dont-distribute-packages:
   lambdaLit:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   LambdaNet:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   LambdaPrettyQuote:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
+  lambdatex:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   lambdatwit:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   lambdaya-bus:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   Lambdaya:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   lambdiff:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   lame-tester:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   lame:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
+  lang:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   language-ats:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   language-bash:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   language-boogie:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -6315,6 +6392,7 @@ dont-distribute-packages:
   language-lua-qq:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   language-mixal:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   language-ninja:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
+  language-oberon:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   language-objc:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   language-pig:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   language-puppet:                              [ i686-linux, x86_64-darwin ]
@@ -6329,6 +6407,7 @@ dont-distribute-packages:
   language-webidl:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   lapack-carray:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   lapack-ffi:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
+  lapack:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   LargeCardinalHierarchy:                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   Lastik:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   lat:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -6336,12 +6415,13 @@ dont-distribute-packages:
   latex-formulae-hakyll:                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   latex-formulae-image:                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   latex-formulae-pandoc:                        [ i686-linux, x86_64-linux, x86_64-darwin ]
-  latex-function-tables:                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   LATS:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   launchpad-control:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
+  layered-state:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   layers-game:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   layers:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   layout-bootstrap:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
+  layouting:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   lazy-hash-cache:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   lazy-hash:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   lazy-io-streams:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -6350,7 +6430,6 @@ dont-distribute-packages:
   lazysplines:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   LazyVault:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   lcs:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
-  LDAP:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   ldapply:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   ldif:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   leaf:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -6358,7 +6437,6 @@ dont-distribute-packages:
   leapseconds:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   learn-physics-examples:                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   learn-physics:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
-  Learning:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   leetify:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   legion-discovery-client:                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   legion-discovery:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -6367,9 +6445,9 @@ dont-distribute-packages:
   leksah-server:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   lendingclub:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   lens-prelude:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
-  lens-properties:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   lens-text-encoding:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
   lens-time:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
+  lens-toml-parser:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
   lens-tutorial:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   lens-utils:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   lenses:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -6394,22 +6472,24 @@ dont-distribute-packages:
   libexpect:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   libGenI:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   libhbb:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
+  libjenkins:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   liblastfm:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   liblawless:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   liblinear-enumerator:                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   libltdl:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   libmolude:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
-  libmpd:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   liboath-hs:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   liboleg:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   libpafe:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   libpq:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   librandomorg:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
+  librato:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
+  libstackexchange:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
   libsystemd-daemon:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
   libtagc:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
+  libvirt-hs:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   libxls:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   libxml-enumerator:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
-  libxml:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   libxslt:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   LibZip:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   lifted-protolude:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -6430,6 +6510,7 @@ dont-distribute-packages:
   linear-opengl:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   linear-socket:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   linear-vect:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
+  linearmap-category:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
   linearscan-hoopl:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
   linearscan:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   LinearSplit:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -6450,6 +6531,7 @@ dont-distribute-packages:
   liquid:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   liquidhaskell-cabal-demo:                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   liquidhaskell-cabal:                          [ i686-linux, x86_64-linux, x86_64-darwin ]
+  list-fusion-probe:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
   list-mux:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   list-prompt:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   list-remote-forwards:                         [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -6461,6 +6543,7 @@ dont-distribute-packages:
   list-zip-def:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   listenbrainz-client:                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   listlike-instances:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
+  ListT:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   lit:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   literals:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   live-sequencer:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -6477,7 +6560,6 @@ dont-distribute-packages:
   llvm-general-quote:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
   llvm-general:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   llvm-hs-pretty:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
-  llvm-hs:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   llvm-ht:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   llvm-pkg-config:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   llvm-tf:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -6486,15 +6568,17 @@ dont-distribute-packages:
   lmdb-simple:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   lmonad-yesod:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   lmonad:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
-  load-balancing:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
+  load-font:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   local-search:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   located-monad-logger:                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   loch:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   lock-file:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   locked-poll:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
+  lockpool:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   log-effect:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   log-postgres:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   log-utils:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
+  log-warper:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   log2json:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   log:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   logentries:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -6505,7 +6589,6 @@ dont-distribute-packages:
   LogicGrowsOnTrees-network:                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   LogicGrowsOnTrees-processes:                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   LogicGrowsOnTrees:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
-  logict-state:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   logplex-parse:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   lojban:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   lojbanParser:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -6523,6 +6606,7 @@ dont-distribute-packages:
   lookup-tables:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   loop-effin:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   loop-while:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
+  loops:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   loopy:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   lord:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   lorem:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -6536,11 +6620,11 @@ dont-distribute-packages:
   lscabal:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   LslPlus:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   lsystem:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
+  ltext:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   ltk:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   lua-bc:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   luachunk:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   luautils:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
-  lucid-colonnade:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   lucid-svg:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   lucienne:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   Lucu:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -6564,6 +6648,7 @@ dont-distribute-packages:
   lzma:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   maam:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   macbeth-lib:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
+  machinecell:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   machines-amazonka:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
   machines-process:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
   machines-zlib:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -6583,6 +6668,7 @@ dont-distribute-packages:
   mailchimp:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   MailchimpSimple:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   mailgun:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
+  main-tester:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   majordomo:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   majority:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   make-hard-links:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -6607,7 +6693,8 @@ dont-distribute-packages:
   manatee:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   mandulia:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   mangopay:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
-  map-exts:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
+  manifold-random:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
+  manifolds:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   Mapping:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   mappy:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   mapquest-api:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -6615,7 +6702,6 @@ dont-distribute-packages:
   markdown-kate:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   markdown2svg:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   markov-processes:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
-  markup:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   marmalade-upload:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
   marquise:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   mars:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -6626,13 +6712,13 @@ dont-distribute-packages:
   matchers:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   mathblog:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   mathlink:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
-  matlab:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   matplotlib:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   matsuri:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   matterhorn:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   mattermost-api-qc:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
   mattermost-api:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   maude:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
+  maxent-learner-hw-gui:                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   maxent:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   maxsharing:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   maybench:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -6640,7 +6726,6 @@ dont-distribute-packages:
   MaybeT-transformers:                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   MaybeT:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   MazesOfMonad:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
-  MBot:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   mbox-tools:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   MC-Fold-DP:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   mcl:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -6659,8 +6744,8 @@ dont-distribute-packages:
   mecab:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   mech:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   Mecha:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
-  Mechs:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   mechs:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
+  Mechs:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   mediabus-fdk-aac:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
   mediabus-rtp:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   mediabus:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -6668,8 +6753,7 @@ dont-distribute-packages:
   mediawiki2latex:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   mediawiki:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   medium-sdk-haskell:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
-  mellon-core:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
-  mellon-gpio:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
+  mega-sdist:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   mellon-web:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   melody:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   memcache-conduit:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -6701,12 +6785,15 @@ dont-distribute-packages:
   MHask:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   mi:                                           [ i686-linux, x86_64-linux, x86_64-darwin ]
   Michelangelo:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
+  microaeson:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   microformats2-types:                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   microlens-each:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   micrologger:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
+  microsoft-translator:                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   MicrosoftTranslator:                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   mida:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   midair:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
+  midi-music-box:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   midi-utils:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   midimory:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   midisurface:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -6737,7 +6824,10 @@ dont-distribute-packages:
   mmtl-base:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   mmtl:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   moan:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
+  Mobile-Legends-Hack-Cheats:                   [ i686-linux, x86_64-linux, x86_64-darwin ]
+  model:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   modelicaparser:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
+  modify-fasta:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   modsplit:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   modular-arithmetic:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
   modular-prelude-classy:                       [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -6748,29 +6838,30 @@ dont-distribute-packages:
   MoeDict:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   mohws:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   mollie-api-haskell:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
+  monad-abort-fd:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   monad-atom-simple:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
   monad-atom:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   monad-classes-logging:                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   monad-classes:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
-  monad-codec:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   monad-dijkstra:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   monad-exception:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
+  monad-finally:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   monad-fork:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
+  monad-http:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   monad-interleave:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
   monad-levels:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   monad-lgbt:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   monad-log:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   monad-lrs:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
-  monad-memo:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   monad-mersenne-random:                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   monad-open:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
+  monad-parallel-progressbar:                   [ i686-linux, x86_64-linux, x86_64-darwin ]
+  monad-persist:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   monad-ran:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
-  monad-resumption:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
   monad-state:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   monad-ste:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   monad-stlike-io:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   monad-stlike-stm:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
-  monad-task:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   monad-tx:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   monad-unify:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   monad-wrap:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -6798,9 +6889,11 @@ dont-distribute-packages:
   money:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   mongodb-queue:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   mongrel2-handler:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
+  monky:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   mono-foldable:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   Monocle:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   monoid-owns:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
+  monoid-subclasses:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
   monoidplus:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   monoids:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   monte-carlo:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -6840,7 +6933,6 @@ dont-distribute-packages:
   mtgoxapi:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   mtl-evil-instances:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
   mtl-extras:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
-  mtl-tf:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   mtlx:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   mtp:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   MuCheck-Hspec:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -6853,7 +6945,7 @@ dont-distribute-packages:
   mulang:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   multext-east-msd:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
   multi-cabal:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
-  multi-instance:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
+  multi-ghc-travis:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
   multiaddr:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   multifile:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   multifocal:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -6887,14 +6979,16 @@ dont-distribute-packages:
   mutable-iter:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   MutationOrder:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   mute-unmute:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
-  mvar-lock:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   mvc-updates:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   mvc:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   mvclient:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
+  mxnet-dataiter:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   mxnet-examples:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   mxnet-nn:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   mxnet-nnvm:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   mxnet:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
+  my-package-testing:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
+  my-test-docs:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   myanimelist-export:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
   mybitcoin-sci:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   myo:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -6910,9 +7004,9 @@ dont-distribute-packages:
   mystem:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   myTestlll:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   mzv:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
+  n-ary-functor:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   nagios-plugin-ekg:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
   nakadi-client:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
-  namecoin-update:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   named-lock:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   NameGenerator:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   namelist:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -6941,7 +7035,6 @@ dont-distribute-packages:
   neko-lib:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   Neks:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   nemesis-titan:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
-  nemesis:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   nerf:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   nero-wai:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   nero-warp:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -6967,6 +7060,8 @@ dont-distribute-packages:
   netwire-vinylglfw-examples:                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   network-address:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   network-anonymous-i2p:                        [ i686-linux, x86_64-linux, x86_64-darwin ]
+  network-api-support:                          [ i686-linux, x86_64-linux, x86_64-darwin ]
+  network-arbitrary:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
   network-bitcoin:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   network-builder:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   network-bytestring:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -6975,6 +7070,7 @@ dont-distribute-packages:
   network-hans:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   network-interfacerequest:                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   network-minihttp:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
+  network-msgpack-rpc:                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   network-netpacket:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
   network-rpca:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   network-server:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -6984,11 +7080,11 @@ dont-distribute-packages:
   network-stream:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   network-topic-models:                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   network-transport-amqp:                       [ i686-linux, x86_64-linux, x86_64-darwin ]
+  network-uri-json:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
   network-uri-static:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
   network-voicetext:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
   network-wai-router:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
   network-websocket:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
-  networked-game:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   neural-network-blashs:                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   neural-network-hmatrix:                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   neural:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -7003,13 +7099,13 @@ dont-distribute-packages:
   NGrams:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   niagra:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   nibblestring:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
-  nice-html:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   nicovideo-translator:                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   nikepub:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   nimber:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   Ninjas:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   nirum:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   nitro:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
+  nix-delegate:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   nix-deploy:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   nix-diff:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   nix-eval:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -7022,7 +7118,6 @@ dont-distribute-packages:
   nntp:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   no-role-annots:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   noether:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
-  nofib-analyse:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   nofib-analyze:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   noise:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   Nomyx-Core:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -7032,7 +7127,6 @@ dont-distribute-packages:
   Nomyx:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   non-empty-zipper:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
   NonEmptyList:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
-  nonfree:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   nonlinear-optimization-ad:                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   nonlinear-optimization:                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   noodle:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -7045,7 +7139,7 @@ dont-distribute-packages:
   notzero:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   np-linear:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   nptools:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
-  ntha:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
+  nqe:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   ntrip-client:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   NTRU:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   null-canvas:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -7060,10 +7154,14 @@ dont-distribute-packages:
   numeric-ranges:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   numhask-array:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   numhask-histogram:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
+  numhask-prelude:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   numhask-range:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   numhask:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   Nussinov78:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   Nutri:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
+  nvim-hs-contrib:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
+  nvim-hs-ghcid:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
+  nvim-hs:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   NXT:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   NXTDSL:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   nylas:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -7083,21 +7181,23 @@ dont-distribute-packages:
   octohat:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   octopus:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   oculus:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
+  odbc:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   OddWord:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   oden-go-packages:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
   odpic-raw:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   off-simple:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   OGL:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
-  ogmarkup:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   ohloh-hs:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   oi:                                           [ i686-linux, x86_64-linux, x86_64-darwin ]
   oidc-client:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   ois-input-manager:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
   old-version:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   olwrapper:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
+  om-elm:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   omaketex:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
-  Omega:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
+  ombra:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   omega:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
+  Omega:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   omnicodec:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   omnifmt:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   on-a-horse:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -7109,8 +7209,11 @@ dont-distribute-packages:
   onu-course:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   opaleye-classy:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   opaleye-sqlite:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
+  opaleye-trans:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   open-haddock:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   open-pandoc:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
+  open-signals:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
+  open-symbology:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   open-typerep:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   OpenAFP-Utils:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   OpenCL:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -7135,10 +7238,10 @@ dont-distribute-packages:
   opentype:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   OpenVG:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   OpenVGRaw:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
+  openweathermap:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   Operads:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
-  opn:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
+  opml-conduit:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   optimal-blocks:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
-  optimization:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   optimusprime:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   optional:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   optparse-applicative-simple:                  [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -7151,6 +7254,7 @@ dont-distribute-packages:
   order-statistic-tree:                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   order-statistics:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
   orders:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
+  Ordinary:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   ordrea:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   organize-imports:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
   orgmode:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -7166,6 +7270,7 @@ dont-distribute-packages:
   oso2pdf:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   ot:                                           [ i686-linux, x86_64-linux, x86_64-darwin ]
   otp-authenticator:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
+  overload:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   overloaded-records:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
   overture:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   pack:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -7173,6 +7278,7 @@ dont-distribute-packages:
   package-vt:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   packed-dawg:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   packed-multikey-map:                          [ i686-linux, x86_64-linux, x86_64-darwin ]
+  packed:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   packedstring:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   packman:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   packunused:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -7180,20 +7286,21 @@ dont-distribute-packages:
   padKONTROL:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   pagarme:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   PageIO:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
-  pagure-hook-receiver:                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   Paillier:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
+  pam:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   panda:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   pandoc-crossref:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   pandoc-csv2table:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
-  pandoc-emphasize-code:                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   pandoc-include-code:                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   pandoc-include:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   pandoc-japanese-filters:                      [ i686-linux, x86_64-linux, x86_64-darwin ]
+  pandoc-lens:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   pandoc-placetable:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
   pandoc-plantuml-diagrams:                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   pandoc-unlit:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   PandocAgda:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   pang-a-lambda:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
+  pangraph:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   panpipe:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   pansite:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   papa-export:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -7211,6 +7318,7 @@ dont-distribute-packages:
   Paraiso:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   Parallel-Arrows-Eden:                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   parallel-tasks:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
+  paramtree:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   paranoia:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   parco-attoparsec:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
   parco-parsec:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -7219,6 +7327,7 @@ dont-distribute-packages:
   pareto:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   Parry:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   parse-help:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
+  parsec-free:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   parsec-parsers:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   parseerror-eq:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   parsely:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -7245,6 +7354,7 @@ dont-distribute-packages:
   paypal-adaptive-hoops:                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   paypal-api:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   paypal-rest-client:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
+  pb-next:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   pb:                                           [ i686-linux, x86_64-linux, x86_64-darwin ]
   pbc4hs:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   PBKDF2:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -7271,9 +7381,8 @@ dont-distribute-packages:
   perdure:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   peregrin:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   perf:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
-  perfect-hash-generator:                       [ i686-linux, x86_64-linux, x86_64-darwin ]
-  PerfectHash:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   perfecthash:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
+  PerfectHash:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   periodic:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   perm:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   permute:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -7285,8 +7394,9 @@ dont-distribute-packages:
   persistent-hssqlppp:                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   persistent-map:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   persistent-mysql-haskell:                     [ i686-linux, x86_64-linux, x86_64-darwin ]
+  persistent-odbc:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   persistent-protobuf:                          [ i686-linux, x86_64-linux, x86_64-darwin ]
-  persistent-redis:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
+  persistent-ratelimit:                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   persistent-relational-record:                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   persistent-test:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   persistent-zookeeper:                         [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -7301,10 +7411,12 @@ dont-distribute-packages:
   pg-recorder:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   pg-store:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   pg-transact:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
+  pgdl:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   pgsql-simple:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   pgstream:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   phasechange:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   phaser:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
+  phoityne:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   phone-metadata:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   phone-numbers:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   phone-push:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -7318,27 +7430,38 @@ dont-distribute-packages:
   pia-forward:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   pianola:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   picologic:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
+  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:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   piet:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
+  pig:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   pinchot:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
+  pinpon:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   Pipe:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
+  pipes-aeson:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   pipes-attoparsec-streaming:                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   pipes-bgzf:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   pipes-binary:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
+  pipes-break:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
+  pipes-bytestring:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
+  pipes-bzip:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   pipes-cacophony:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   pipes-cereal-plus:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
   pipes-cereal:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   pipes-conduit:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   pipes-core:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   pipes-courier:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
+  pipes-csv:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   pipes-errors:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   pipes-extra:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
+  pipes-fastx:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   pipes-files:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
+  pipes-group:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   pipes-illumina:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   pipes-io:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
-  pipes-kafka:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   pipes-key-value-csv:                          [ i686-linux, x86_64-linux, x86_64-darwin ]
+  pipes-lines:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   pipes-lzma:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   pipes-network-tls:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
   pipes-p2p-examples:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -7348,9 +7471,9 @@ dont-distribute-packages:
   pipes-s3:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   pipes-shell:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   pipes-sqlite-simple:                          [ i686-linux, x86_64-linux, x86_64-darwin ]
+  pipes-text:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   pipes-transduce:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   pipes-zeromq4:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
-  pipes-zlib:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   pisigma:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   Piso:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   pit:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -7366,19 +7489,18 @@ dont-distribute-packages:
   plat:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   platinum-parsing:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
   PlayingCards:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
+  plex:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   plist-buddy:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   plivo:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   plocketed:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   plot-gtk-ui:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   Plot-ho-matic:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   plot-lab:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
-  plot-light:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
-  ploton:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
+  plot-light-examples:                          [ i686-linux, x86_64-linux, x86_64-darwin ]
+  plots:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   PlslTools:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   plugins-auto:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   plugins-multistage:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
-  plugins:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
-  plumbers:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   png-file:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   pngload-fixed:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   pngload:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -7386,7 +7508,7 @@ dont-distribute-packages:
   pocket:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   point-octree:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   pointfree-fancy:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
-  pointfree:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
+  pointful:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   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 ]
@@ -7396,6 +7518,7 @@ dont-distribute-packages:
   polh-lexicon:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   polimorf:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   Pollutocracy:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
+  poly-cont:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   poly-control:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   polydata-core:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   polydata:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -7430,12 +7553,12 @@ dont-distribute-packages:
   postgresql-named:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
   postgresql-orm:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   postgresql-query:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
-  postgresql-schema:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
   postgresql-simple-bind:                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   postgresql-simple-opts:                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   postgresql-simple-queue:                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   postgresql-simple-sop:                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   postgresql-simple-typed:                      [ i686-linux, x86_64-linux, x86_64-darwin ]
+  postgresql-simple-url:                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   postgresql-syntax:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
   postgresql-typed-lifted:                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   postgresql-typed:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -7443,32 +7566,40 @@ dont-distribute-packages:
   postgrest-ws:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   postgrest:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   postie:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
+  postmark:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   potato-tool:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   potoki-cereal:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   potoki-core:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
+  potoki-hasql:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   potoki:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
+  potrace-diagrams:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
   powerpc:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   powerqueue-distributed:                       [ i686-linux, x86_64-linux, x86_64-darwin ]
+  powerqueue-levelmem:                          [ i686-linux, x86_64-linux, x86_64-darwin ]
+  powerqueue-sqs:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   PPrinter:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   pqc:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   pqueue-mtl:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   practice-room:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   praglude:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
-  preamble:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   precis:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   pred-trie:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   prednote-test:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   prednote:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   prefork:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
+  preliminaries:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   prelude-generalize:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
   prelude-plus:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   preprocess-haskell:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
   preprocessor:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   press:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   presto-hdbc:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
+  pretty-relative-time:                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   prettyprinter-vty:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
   primesieve:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   primitive-simd:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
+  PrimitiveArray-Pretty:                        [ i686-linux, x86_64-linux, x86_64-darwin ]
+  PrimitiveArray:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   primula-board:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   primula-bot:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   pringletons:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -7477,10 +7608,9 @@ dont-distribute-packages:
   Printf-TH:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   priority-queue:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   PriorityChansConverger:                       [ i686-linux, x86_64-linux, x86_64-darwin ]
-  private-hackage-uploader:                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   ProbabilityMonads:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
-  probable:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   proc:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
+  process-conduit:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   process-iterio:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   process-leksah:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   process-listlike:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -7495,6 +7625,7 @@ dont-distribute-packages:
   product:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   prof2dot:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   prof2pretty:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
+  profiteur:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   progress-meter:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   progress:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   progressbar:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -7508,6 +7639,7 @@ dont-distribute-packages:
   prolog:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   prologue:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   prometheus-effect:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
+  prometheus:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   promise:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   propane:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   Proper:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -7517,8 +7649,8 @@ dont-distribute-packages:
   prosper:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   proto-lens-combinators:                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   proto-lens-protobuf-types:                    [ i686-linux, x86_64-linux, x86_64-darwin ]
+  proto-lens-protoc:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
   protobuf-native:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
-  protobuf:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   protocol-buffers-descriptor-fork:             [ i686-linux, x86_64-linux, x86_64-darwin ]
   protocol-buffers-fork:                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   protolude-lifted:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -7528,7 +7660,7 @@ dont-distribute-packages:
   proxy-mapping:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   psc-ide:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   ptr:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
-  publicsuffixlist:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
+  pub:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   publicsuffixlistcreate:                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   pubnub:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   pubsub:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -7547,19 +7679,20 @@ dont-distribute-packages:
   pure-priority-queue:                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   pure-zlib:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   purescript-bundle-fast:                       [ i686-linux, x86_64-linux, x86_64-darwin ]
+  purescript-tsd-gen:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
   purescript:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   push-notify-apn:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   push-notify-ccs:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   push-notify-general:                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   push-notify:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
-  pushbullet-types:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
   pusher-haskell:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
-  pusher-http-haskell:                          [ i686-linux, x86_64-linux, x86_64-darwin ]
+  pusher-ws:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   pushme:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   putlenses:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   puzzle-draw-cmdline:                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   puzzle-draw:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   pvd:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
+  PyF:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   pyffi:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   pyfi:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   python-pickle:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -7601,7 +7734,6 @@ dont-distribute-packages:
   quickcheck-relaxng:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
   quickcheck-rematch:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
   quickcheck-report:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
-  quickcheck-string-random:                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   quickcheck-webdriver:                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   QuickPlot:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   quickpull:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -7641,14 +7773,18 @@ dont-distribute-packages:
   rand-vars:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   randfile:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   random-access-list:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
+  random-class:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   random-derive:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   random-eff:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   random-effin:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   random-hypergeometric:                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   random-stream:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
+  random-string:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   RandomDotOrg:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
+  range-set-list:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   range-space:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   Range:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
+  range:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   rangemin:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   rank2classes:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   Ranka:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -7667,27 +7803,32 @@ dont-distribute-packages:
   rasa:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   rascal:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   Rasenschach:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
-  rattletrap:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
+  rasterific-svg:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   raven-haskell-scotty:                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   raw-feldspar:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   rawr:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   raz:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   razom-text-util:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   rbr:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
-  rcu:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
+  rc:                                           [ i686-linux, x86_64-linux, x86_64-darwin ]
   rdf4h:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   rdioh:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   react-haskell:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   react-tutorial-haskell-server:                [ i686-linux, x86_64-linux, x86_64-darwin ]
   reaction-logic:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   reactive-bacon:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
+  reactive-balsa:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
+  reactive-banana-bunch:                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   reactive-banana-gi-gtk:                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   reactive-banana-sdl2:                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   reactive-banana-sdl:                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   reactive-banana-threepenny:                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   reactive-banana-wx:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
+  reactive-banana:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   reactive-fieldtrip:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
   reactive-glut:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
+  reactive-jack:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
+  reactive-midyim:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   reactive-thread:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   reactive:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   reactor:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -7705,10 +7846,11 @@ dont-distribute-packages:
   record:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   records-th:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   records:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
-  recursion-schemes-ext:                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   recursors:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   reddit:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   redHandlers:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
+  redland:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
+  Redmine:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   reduce-equations:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
   reedsolomon:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   reenact:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -7727,7 +7869,6 @@ dont-distribute-packages:
   reflex-transformers:                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   reflex:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   reformat:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
-  refresht:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   refurb:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   regex-deriv:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   regex-dfa:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -7758,7 +7899,6 @@ dont-distribute-packages:
   regular-xmlpickler:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
   regular:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   reheat:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
-  rehoo:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   rei:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   reified-records:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   reify:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -7805,15 +7945,20 @@ dont-distribute-packages:
   reserve:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   resin:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   resistor-cube:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
+  resolv:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   resolve-trivial-conflicts:                    [ i686-linux, x86_64-linux, x86_64-darwin ]
+  resolve:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   resource-effect:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   resource-embed:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   resource-pool-catchio:                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   resource-simple:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   respond:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
+  rest-client:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   rest-example:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
+  rest-gen:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
+  rest-happstack:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
+  rest-wai:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   restful-snap:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
-  restless-git:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   RESTng:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   restricted-workers:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
   restyle:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -7829,6 +7974,7 @@ dont-distribute-packages:
   rewrite:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   rewriting:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   rezoom:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
+  rfc3339:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   rfc:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   rhine-gloss:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   rhine:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -7836,9 +7982,7 @@ dont-distribute-packages:
   RichConditional:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   ridley-extras:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   ridley:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
-  riemann:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   riff:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
-  rio:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   riot:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   ripple-federation:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
   ripple:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -7859,28 +8003,29 @@ dont-distribute-packages:
   RNAdraw:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   RNAFold:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   RNAFoldProgs:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
+  RNAlien:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   RNAwolf:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   rncryptor:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   rob:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
+  robin:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   robot:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   robots-txt:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   roc-cluster-demo:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
   roc-cluster:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
+  rocksdb-haskell:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   roguestar-engine:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
   roguestar-gl:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   roguestar-glut:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
+  roku-api:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   roller:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   RollingDirectory:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
   rope:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
-  rosa:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   rose-trees:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   rose-trie:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   roshask:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   rosmsg-bin:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   rosmsg:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
-  rospkg:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   rosso:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
-  rotating-log:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   rounding:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   roundtrip-aeson:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   roundtrip-xml:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -7913,16 +8058,15 @@ dont-distribute-packages:
   runtime-arbitrary:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
   rws:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   RxHaskell:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
-  s-cargot-letbind:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
   SableCC2Hs:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   safe-freeze:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   safe-globals:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   safe-lazy-io:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   safe-length:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
+  safe-money:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   safe-plugins:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   safe-printf:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   safecopy-migrate:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
-  safecopy-store:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   safeint:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   safepath:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   safer-file-handles-bytestring:                [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -7952,17 +8096,20 @@ dont-distribute-packages:
   satchmo-funsat:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   satchmo-minisat:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   satchmo-toysat:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
+  savage:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   SBench:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   sc3-rdu:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   scalable-server:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   scaleimage:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   scalp-webhooks:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   scan-vector-machine:                          [ i686-linux, x86_64-linux, x86_64-darwin ]
+  scc:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   scenegraph:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   scgi:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   schedevr:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   schedule-planner:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
   schedyield:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
+  schematic:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   scholdoc-citeproc:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
   scholdoc-texmath:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
   scholdoc-types:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -7981,6 +8128,7 @@ dont-distribute-packages:
   scotty-format:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   scotty-hastache:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   scotty-resource:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
+  scotty-rest:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   scotty-session:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   scotty-view:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   scp-streams:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -8008,6 +8156,7 @@ dont-distribute-packages:
   secrm:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   sednaDBXML:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   selectors:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
+  SelectSequencesFromMSA:                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   selenium-server:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   selenium:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   selinux:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -8019,8 +8168,8 @@ dont-distribute-packages:
   semiring-num:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   semiring:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   semver-range:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
+  sendgrid-haskell:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
   sendgrid-v3:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
-  sensei:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   sensenet:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   sentence-jp:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   sentry:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -8031,6 +8180,7 @@ dont-distribute-packages:
   seqloc-datafiles:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
   sequent-core:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   sequor:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
+  serialise:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   serialize-instances:                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   serokell-util:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   serpentine:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -8038,53 +8188,61 @@ dont-distribute-packages:
   serv:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   servant-aeson-specs:                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   servant-auth-client:                          [ i686-linux, x86_64-linux, x86_64-darwin ]
+  servant-auth-cookie:                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   servant-auth-hmac:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
+  servant-auth-server:                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   servant-auth-token-acid:                      [ i686-linux, x86_64-linux, x86_64-darwin ]
-  servant-auth-token-api:                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   servant-auth-token-leveldb:                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   servant-auth-token-persistent:                [ i686-linux, x86_64-linux, x86_64-darwin ]
   servant-auth-token-rocksdb:                   [ i686-linux, x86_64-linux, x86_64-darwin ]
-  servant-auth-token:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
+  servant-cassava:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   servant-client-core:                          [ 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 ]
+  servant-ede:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   servant-ekg:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
+  servant-elm:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   servant-examples:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
-  servant-github-webhook:                       [ i686-linux, x86_64-linux, x86_64-darwin ]
+  servant-github:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   servant-haxl-client:                          [ i686-linux, x86_64-linux, x86_64-darwin ]
+  servant-iCalendar:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
   servant-jquery:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   servant-match:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   servant-matrix-param:                         [ i686-linux, x86_64-linux, x86_64-darwin ]
-  servant-mock:                                 [ 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 ]
   servant-pushbullet-client:                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   servant-py:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   servant-quickcheck:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
+  servant-rawm:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   servant-router:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
-  servant-ruby:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   servant-scotty:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   servant-smsc-ru:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   servant-snap:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
+  servant-xml:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   servant-zeppelin-client:                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   servant-zeppelin-server:                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   servant-zeppelin-swagger:                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   servant-zeppelin:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
   server-generic:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
+  serverless-haskell:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
   serversession-frontend-snap:                  [ i686-linux, x86_64-linux, x86_64-darwin ]
+  serversession-frontend-yesod:                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   services:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   ses-html-snaplet:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
   SessionLogger:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   sessions:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   sessiontypes-distributed:                     [ i686-linux, x86_64-linux, x86_64-darwin ]
+  sessiontypes:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   set-with:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   setgame:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   sets:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   setters:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   sexp:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   sexpr:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
+  sext:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   SFML-control:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   SFML:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   sfmt:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -8102,13 +8260,12 @@ dont-distribute-packages:
   shady-graphics:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   shake-ats:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   shake-cabal-build:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
+  shake-ext:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   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 ]
-  shakers:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   shakespeare-babel:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
   shakespeare-sass:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
   shapely-data:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -8116,13 +8273,11 @@ dont-distribute-packages:
   shared-fields:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   she:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   shelduck:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
+  shell-conduit:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   shell-pipe:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   Shellac-editline:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
   shellish:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   shellmate-extras:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
-  shelltestrunner:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
-  shelly-extra:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
-  shelly:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   shikensu:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   shoap:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   shopify:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -8135,8 +8290,6 @@ dont-distribute-packages:
   sibe:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   sifflet-lib:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   sifflet:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
-  sigma-ij:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
-  sign:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   signals:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   signed-multiset:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   silvi:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -8145,9 +8298,11 @@ dont-distribute-packages:
   simple-atom:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   simple-bluetooth:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
   simple-c-value:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
+  simple-conduit:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   simple-config:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   simple-css:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   simple-download:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
+  simple-effects:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   simple-eval:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   simple-firewire:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   simple-form:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -8185,6 +8340,7 @@ dont-distribute-packages:
   sixfiguregroup:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   sized-types:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   sized-vector:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
+  sized:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   sjsp:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   skeleton:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   skell:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -8194,13 +8350,13 @@ dont-distribute-packages:
   skype4hs:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   slack-web:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   slack:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
+  slave-thread:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   slidemews:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   Slides:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   sloane:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   slot-lambda:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   sloth:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   smallarray:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
-  smallcaps:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   smallcheck-laws:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   smallcheck-lens:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   smallcheck-series:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -8210,6 +8366,7 @@ dont-distribute-packages:
   smartconstructor:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
   smartGroup:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   smartword:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
+  smcdel:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   sme:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   smerdyakov:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   smiles:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -8229,13 +8386,11 @@ dont-distribute-packages:
   snap-auth-cli:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   snap-blaze-clay:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   snap-configuration-utilities:                 [ i686-linux, x86_64-linux, x86_64-darwin ]
-  snap-cors:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   snap-error-collector:                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   snap-extras:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   snap-loader-dynamic:                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   snap-predicates:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   snap-routes:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
-  snap-templates:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   snap-testing:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   snap-utils:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   snap-web-routes:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -8246,6 +8401,7 @@ dont-distribute-packages:
   snaplet-auth-acid:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
   snaplet-coffee:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   snaplet-css-min:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
+  snaplet-customauth:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
   snaplet-environments:                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   snaplet-fay:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   snaplet-ghcjs:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -8290,15 +8446,16 @@ dont-distribute-packages:
   snmp:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   snorkels:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   snow-white:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
-  snowball:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   snowflake-core:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   snowflake-server:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
+  snowtify:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   Snusmumrik:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   SoccerFun:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   SoccerFunGL:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   sock2stream:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   socket-io:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   socket-sctp:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
+  socket-unix:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   socketed:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   socketio:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   socketson:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -8324,17 +8481,18 @@ dont-distribute-packages:
   spake2:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   spanout:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   sparkle:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
+  sparrow:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   sparse:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   sparsebit:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   sparsecheck:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   spata:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   spatial-math:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
+  spdx:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   special-functors:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
   specialize-th:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   spelling-suggest:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
   sphero:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   sphinx-cli:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
-  sphinx:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   sphinxesc:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   spice:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   SpinCounter:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -8364,11 +8522,11 @@ dont-distribute-packages:
   sql-simple-sqlite:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
   sql-simple:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   sqlcipher:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
+  sqlite-simple-errors:                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   sqlite-simple-typed:                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   sqlvalue-list:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   sqsd-local:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   squeal-postgresql:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
-  squeeze:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   srcinst:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   sscan:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   sscgi:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -8384,12 +8542,16 @@ dont-distribute-packages:
   stable-tree:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   stack-bump:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   stack-hpc-coveralls:                          [ i686-linux, x86_64-linux, x86_64-darwin ]
+  stack-lib:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
+  stack-network:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   stack-prism:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   stack-run-auto:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   stack-run:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
+  stack2nix:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   stackage-build-plan:                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   stackage-cabal:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   stackage-cli:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
+  stackage-curator:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
   stackage-metadata:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
   stackage-query:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   stackage-sandbox:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -8409,16 +8571,17 @@ dont-distribute-packages:
   state-record:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   state:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   stateful-mtl:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
+  stateWriter:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   static-canvas:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   static-tensor:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
+  static-text:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   statistics-dirichlet:                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   statistics-fusion:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
   statistics-hypergeometric-genvar:             [ i686-linux, x86_64-linux, x86_64-darwin ]
   stats:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   statsd-client:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   statsd:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
-  staversion:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
-  stb-image-redux:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
+  status-notifier-item:                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   stb-truetype:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   stdata:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   stdf:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -8432,10 +8595,12 @@ dont-distribute-packages:
   stitch:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   STL:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   stm-chunked-queues:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
+  stm-containers:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   stm-firehose:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   stm-promise:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   stmcontrol:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   stochastic:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
+  StockholmAlignment:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
   Stomp:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   storable-static-array:                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   storablevector-streamfusion:                  [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -8452,11 +8617,13 @@ dont-distribute-packages:
   stream-monad:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   stream:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   streamed:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
-  streaming-cassava:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
+  streaming-base64:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
+  streaming-benchmarks:                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   streaming-concurrency:                        [ i686-linux, x86_64-linux, x86_64-darwin ]
-  streaming-conduit:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
   streaming-eversion:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
   streaming-osm:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
+  streaming-pcap:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
+  streaming-png:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   streaming-postgresql-simple:                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   streaming-utils:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   strelka:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -8465,14 +8632,13 @@ dont-distribute-packages:
   string-isos:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   string-typelits:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   stringlike:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
-  stringprep:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
+  stripe-tests:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   stripe:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   structural-induction:                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   structural-traversal:                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   structured-mongoDB:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
   structures:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   stt:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
-  stunclient:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   stunts:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   stutter:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   stylized:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -8480,7 +8646,6 @@ dont-distribute-packages:
   subhask:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   subleq-toolchain:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
   submark:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
-  successors:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   suffix-array:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   suffixarray:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   SuffixStructures:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -8496,12 +8661,17 @@ dont-distribute-packages:
   superconstraints:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
   superdoc:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   superevent:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
+  supermonad:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   supero:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   superrecord:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   supervisor:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   supplemented:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
-  SVG2Q:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
+  sv:                                           [ i686-linux, x86_64-linux, x86_64-darwin ]
+  SVD2HS:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
+  svg-tree:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   svg2q:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
+  SVG2Q:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
+  SVGFonts:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   svgutils:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   svm-simple:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   svndump:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -8510,6 +8680,7 @@ dont-distribute-packages:
   swf:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   swift-lda:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   SWMMoutGetMB:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
+  sws:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   syb-extras:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   syb-with-class-instances-text:                [ i686-linux, x86_64-linux, x86_64-darwin ]
   SybWidget:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -8517,9 +8688,7 @@ dont-distribute-packages:
   sylvia:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   sym-plot:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   sym:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
-  symantic-grammar:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
   symantic-lib:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
-  symantic:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   symengine-hs:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   symengine:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   sync-mht:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -8536,10 +8705,8 @@ dont-distribute-packages:
   syntax:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   SyntaxMacros:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   syntaxnet-haskell:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
-  synthesizer-alsa:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
   synthesizer-filter:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
   synthesizer-llvm:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
-  synthesizer-midi:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
   synthesizer:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   sys-process:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   Sysmon:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -8563,7 +8730,6 @@ dont-distribute-packages:
   Tablify:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   tablize:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   tabloid:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
-  taffybar:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   tag-bits:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   tagged-exception-core:                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   tagged-list:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -8592,16 +8758,19 @@ dont-distribute-packages:
   task-distribution:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
   task:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   tasty-auto:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
+  tasty-fail-fast:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   tasty-groundhog-converters:                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   tasty-integrate:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   tasty-jenkins-xml:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
   tasty-laws:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   tasty-lens:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
+  tasty-tap:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   tasty-travis:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   TaxonomyTools:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   TBC:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   TBit:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   tbox:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
+  tcache-AWS:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   tccli:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   tcod-haskell:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   tcp-streams-openssl:                          [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -8641,10 +8810,12 @@ dont-distribute-packages:
   tensorflow:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   term-rewriting:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   termbox-bindings:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
+  terminal-text:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   termination-combinators:                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   termplot:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   terntup:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   terrahs:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
+  tersmu:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   test-framework-doctest:                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   test-framework-quickcheck:                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   test-framework-sandbox:                       [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -8663,25 +8834,23 @@ dont-distribute-packages:
   testrunner:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   TeX-my-math:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   tex2txt:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
+  texbuilder:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   texrunner:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   text-and-plots:                               [ 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-generic-pretty:                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   text-icu-normalized:                          [ i686-linux, x86_64-linux, x86_64-darwin ]
-  text-icu-translit:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
-  text-icu:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   text-json-qq:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   text-lens:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   text-markup:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   text-normal:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   text-position:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
-  text-regex-replace:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
   text-register-machine:                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   text-time:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   text-xml-generic:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
   text-xml-qq:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   text-zipper-monad:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
-  text1:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   textmatetags:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   textocat-api:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   textual:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -8696,11 +8865,11 @@ dont-distribute-packages:
   th-instance-reification:                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   th-instances:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   th-kinds-fork:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
-  th-printf:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   th-sccs:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   th-traced:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   th-typegraph:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   thank-you-stars:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
+  theatre:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   themoviedb:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   thentos-cookie-session:                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   Theora:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -8710,11 +8879,12 @@ dont-distribute-packages:
   thimk:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   Thingie:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   thorn:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
-  threadscope:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   threepenny-gui-contextmenu:                   [ i686-linux, x86_64-linux, x86_64-darwin ]
-  thrift:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   Thrift:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
+  thrift:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   throttled-io-loop:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
+  throwable-exceptions:                         [ i686-linux, x86_64-linux, x86_64-darwin ]
+  thumbnail-plus:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   tibetan-utils:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   tic-tac-toe:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   tickle:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -8739,10 +8909,13 @@ dont-distribute-packages:
   time-w3c:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   time-warp:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   timecalc:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
+  timemap:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   timeout:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   timeparsers:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   TimePiece:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   timeprint:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
+  timerep:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
+  timers-tick:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   timeseries:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   timezone-unix:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   TinyLaunchbury:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -8779,6 +8952,7 @@ dont-distribute-packages:
   touched:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   Tournament:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   toxcore:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
+  toxiproxy-haskell:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
   toysolver:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   tpar:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   tpb:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -8791,8 +8965,10 @@ dont-distribute-packages:
   tracy:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   traildb:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   trajectory:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
+  transaction:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   transactional-events:                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   transf:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
+  transfer-db:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   transformations:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   TransformeR:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   transformers-compose:                         [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -8807,8 +8983,11 @@ dont-distribute-packages:
   trasa-server:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   trasa:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   travis-meta-yaml:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
+  travis:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   trawl:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   traypoweroff:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
+  tree-diff:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
+  tree-traversals:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   TreeCounter:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   treemap-html-tools:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
   treemap-html:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -8834,7 +9013,7 @@ dont-distribute-packages:
   tsparse:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   tsuntsun:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   tsvsql:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
-  tttool:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
+  ttask:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   tuntap:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   tup-functor:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   tuple-gen:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -8843,9 +9022,7 @@ dont-distribute-packages:
   tuple-morph:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   tupleinstances:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   turing-machines:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
-  turingMachine:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   tweak:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
-  twee:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   tweet-hs:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   twentefp-eventloop-graphics:                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   twentefp-eventloop-trees:                     [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -8854,6 +9031,7 @@ dont-distribute-packages:
   twentefp-trees:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   twentefp-websockets:                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   twentyseven:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
+  twfy-api-client:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   twhs:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   twidge:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   twilight-stm:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -8862,10 +9040,14 @@ dont-distribute-packages:
   twiml:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   twine:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   twisty:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
+  twitter-conduit:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   twitter-enumerator:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
   twitter-feed:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
+  twitter-types-lens:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
+  twitter-types:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   twitter:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   tx:                                           [ i686-linux, x86_64-linux, x86_64-darwin ]
+  txt:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   txtblk:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   TYB:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   tyfam-witnesses:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -8881,7 +9063,7 @@ dont-distribute-packages:
   type-level-natural-number-induction:          [ i686-linux, x86_64-linux, x86_64-darwin ]
   type-level-natural-number-operations:         [ i686-linux, x86_64-linux, x86_64-darwin ]
   type-list:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
-  type-map:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
+  type-natural:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   type-ord-spine-cereal:                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   type-ord:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   type-prelude:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -8889,6 +9071,7 @@ dont-distribute-packages:
   type-spine:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   type-structure:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   type-sub-th:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
+  type-tree:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   typeable-th:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   TypeClass:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   typed-spreadsheet:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -8909,8 +9092,6 @@ dont-distribute-packages:
   uber:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   uberlast:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   uconv:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
-  udbus-model:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
-  udbus:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   udp-conduit:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   uhc-light:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   uhc-util:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -8937,13 +9118,10 @@ dont-distribute-packages:
   unicode-symbols:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   uniform-io:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   union-map:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
-  unique-logic-tf:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
-  unique-logic:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   uniqueid:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   units-attoparsec:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
-  units-defs:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
-  units:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   unittyped:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
+  unitym-yesod:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   universe-th:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   unix-fcntl:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   unix-handle:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -8966,6 +9144,7 @@ dont-distribute-packages:
   uri-conduit:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   uri-enumerator-file:                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   uri-enumerator:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
+  uri-parse:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   uri-template:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   url-decoders:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   url-generic:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -8974,7 +9153,6 @@ dont-distribute-packages:
   urldecode:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   urldisp-happstack:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
   UrlDisp:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
-  urlpath:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   URLT:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   urn-random:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   urn:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -8988,15 +9166,10 @@ dont-distribute-packages:
   utc:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   utf8-prelude:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   UTFTConverter:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
-  uu-cco-examples:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
-  uu-cco-hut-parsing:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
+  util:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   uu-options:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
-  uuagc-bootstrap:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
-  uuagc-cabal:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   uuagc-diagrams:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
-  uuagc:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   uuid-aeson:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
-  uulib:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   uvector-algorithms:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
   uvector:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   v4l2-examples:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -9007,6 +9180,7 @@ dont-distribute-packages:
   vacuum-ubigraph:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   vacuum:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   valid-names:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
+  validate-input:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   validated-literals:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
   Validation:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   validations:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -9018,6 +9192,7 @@ dont-distribute-packages:
   vault-tool-server:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
   vaultaire-common:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
   vcatt:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
+  vcf:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   vcsgui:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   Vec-Boolean:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   Vec-OpenGLRaw:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -9038,14 +9213,15 @@ dont-distribute-packages:
   vector-space-map:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
   vector-space-opengl:                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   vector-static:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
-  vectortiles:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
+  vector-text:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   Verba:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   verbalexpressions:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
   verdict-json:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   verdict:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
+  verify:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   verilog:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
-  vgrep:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   vicinity:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
+  ViennaRNA-extras:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
   views:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   vigilance:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   Villefort:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -9055,7 +9231,6 @@ dont-distribute-packages:
   vinyl-json:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   vinyl-operational:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
   vinyl-plus:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
-  vinyl-utils:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   vinyl-vectors:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   virthualenv:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   vision:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -9065,6 +9240,7 @@ dont-distribute-packages:
   vk-aws-route53:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   vowpal-utils:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   voyeur:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
+  vpq:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   vrpn:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   vte:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   vtegtk3:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -9072,12 +9248,12 @@ dont-distribute-packages:
   vty-menu:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   vty-ui-extras:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   vty-ui:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
+  vulkan-api:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   vulkan:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   wacom-daemon:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   waddle:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   wahsp:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   wai-devel:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
-  wai-digestive-functors:                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   wai-dispatch:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   wai-frontend-monadcgi:                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   wai-git-http:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -9092,11 +9268,13 @@ dont-distribute-packages:
   wai-lite:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   wai-logger-prefork:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
   wai-make-assets:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
+  wai-middleware-auth:                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   wai-middleware-cache-redis:                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   wai-middleware-cache:                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   wai-middleware-catch:                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   wai-middleware-consul:                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   wai-middleware-content-type:                  [ i686-linux, x86_64-linux, x86_64-darwin ]
+  wai-middleware-crowd:                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   wai-middleware-etag:                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   wai-middleware-headers:                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   wai-middleware-hmac-client:                   [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -9107,6 +9285,7 @@ dont-distribute-packages:
   wai-responsible:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   wai-router:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   wai-routes:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
+  wai-secure-cookies:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
   wai-session-mysql:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
   wai-session-postgresql:                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   wai-session-tokyocabinet:                     [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -9130,6 +9309,7 @@ dont-distribute-packages:
   web-css:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   web-encodings:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   web-fpco:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
+  web-inv-route:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   web-mongrel2:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   web-output:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   web-push:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -9150,8 +9330,8 @@ dont-distribute-packages:
   webdriver-snoy:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   WeberLogic:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   webfinger-client:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
-  webify:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   webkit-javascriptcore:                        [ i686-linux, x86_64-linux, x86_64-darwin ]
+  webkit2gtk3-javascriptcore:                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   Webrexp:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   webserver:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   webwire:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -9191,6 +9371,7 @@ dont-distribute-packages:
   wolf:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   word2vec-model:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   WordAlignment:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
+  wordchoice:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   Wordlint:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   WordNet-ghc74:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   WordNet:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -9253,7 +9434,9 @@ dont-distribute-packages:
   xkbcommon:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   xkcd:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   xlsior:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
+  xlsx-tabular:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   xlsx-templater:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
+  xlsx:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   xml-catalog:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   xml-conduit-decode:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
   xml-enumerator-combinators:                   [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -9266,6 +9449,7 @@ dont-distribute-packages:
   xml-push:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   xml-query-xml-conduit:                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   xml-query-xml-types:                          [ i686-linux, x86_64-linux, x86_64-darwin ]
+  xml-query:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   xml-tydom-conduit:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
   xml2json:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   xml2x:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -9277,14 +9461,11 @@ dont-distribute-packages:
   xmms2-client-glib:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
   xmms2-client:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   XMMS:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
-  xmobar:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   xmonad-bluetilebranch:                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   xmonad-contrib-bluetilebranch:                [ i686-linux, x86_64-linux, x86_64-darwin ]
   xmonad-contrib-gpl:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
   xmonad-eval:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
-  xmonad-extras:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   xmonad-vanessa:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
-  xmonad-wallpaper:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
   xmonad-windownames:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
   xmpipe:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   XMPP:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -9308,6 +9489,11 @@ dont-distribute-packages:
   yahoo-web-search:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
   yajl-enumerator:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   yajl:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
+  yam-app:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
+  yam-job:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
+  yam-servant:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
+  yam-transaction-odbc:                         [ i686-linux, x86_64-linux, x86_64-darwin ]
+  yam-transaction-postgresql:                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   yaml-rpc-scotty:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   yaml-rpc-snap:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   yaml-rpc:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -9315,7 +9501,6 @@ dont-distribute-packages:
   yamlkeysdiff:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   yampa-canvas:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   yampa-glfw:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
-  yampa-glut:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   yampa-sdl2:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   yampa2048:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   yandex-translate:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -9334,16 +9519,22 @@ dont-distribute-packages:
   yesod-auth-account:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
   yesod-auth-basic:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
   yesod-auth-bcrypt:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
+  yesod-auth-bcryptdb:                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   yesod-auth-deskcom:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
   yesod-auth-hmac-keccak:                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   yesod-auth-kerberos:                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   yesod-auth-ldap-mediocre:                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   yesod-auth-ldap-native:                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   yesod-auth-ldap:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
+  yesod-auth-nopassword:                        [ i686-linux, x86_64-linux, x86_64-darwin ]
+  yesod-auth-oauth2:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
   yesod-auth-oauth:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
   yesod-auth-pam:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   yesod-auth-smbclient:                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   yesod-auth-zendesk:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
+  yesod-bin:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
+  yesod-bootstrap:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
+  yesod-colonnade:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   yesod-comments:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   yesod-content-pdf:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
   yesod-continuations:                          [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -9351,14 +9542,17 @@ dont-distribute-packages:
   yesod-crud:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   yesod-datatables:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
   yesod-dsl:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
+  yesod-elements:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   yesod-examples:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   yesod-fay:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
+  yesod-form-richtext:                          [ i686-linux, x86_64-linux, x86_64-darwin ]
+  yesod-gitrev:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   yesod-goodies:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   yesod-ip:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   yesod-job-queue:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   yesod-links:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
+  yesod-lucid:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   yesod-mangopay:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
-  yesod-markdown:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   yesod-media-simple:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
   yesod-paginate:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   yesod-pagination:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -9370,19 +9564,22 @@ dont-distribute-packages:
   yesod-raml-bin:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   yesod-raml-docs:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   yesod-raml-mock:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
+  yesod-raml:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   yesod-recaptcha:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
+  yesod-routes-flow:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
   yesod-routes-typescript:                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   yesod-routes:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   yesod-rst:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   yesod-s3:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   yesod-sass:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   yesod-session-redis:                          [ i686-linux, x86_64-linux, x86_64-darwin ]
-  yesod-tableview:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
+  yesod-static-angular:                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   yesod-test-json:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   yesod-text-markdown:                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   yesod-tls:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   yesod-vend:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   yesod-worker:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
+  yet-another-logger:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
   YFrob:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   yhccore:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   yi-contrib:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -9404,7 +9601,6 @@ dont-distribute-packages:
   yuuko:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   yxdb-utils:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   z3-encoding:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
-  z3:                                           [ i686-linux, x86_64-linux, x86_64-darwin ]
   zabt:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   zampolit:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   zasni-gerna:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -9426,9 +9622,11 @@ dont-distribute-packages:
   zifter:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   zim-parser:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   zip-conduit:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
+  zip-stream:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   zipedit:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   zipkin:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   ziptastic-client:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
+  ziptastic-core:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   zlib-enum:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   zm:                                           [ i686-linux, x86_64-linux, x86_64-darwin ]
   ZMachine:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -9441,8 +9639,9 @@ dont-distribute-packages:
   zoom-cache:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   zoom-refs:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   zoom:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
-  Zora:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   zsh-battery:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   zstd:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
+  ztail:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   zuramaru:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   Zwaluw:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
+  zxcvbn-c:                                     [ 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 28ccb81f2dc..469b249010f 100644
--- a/pkgs/development/haskell-modules/configuration-nix.nix
+++ b/pkgs/development/haskell-modules/configuration-nix.nix
@@ -58,9 +58,8 @@ self: super: builtins.intersectAttrs super {
   # CUDA needs help finding the SDK headers and libraries.
   cuda = overrideCabal super.cuda (drv: {
     extraLibraries = (drv.extraLibraries or []) ++ [pkgs.linuxPackages.nvidia_x11];
-    configureFlags = (drv.configureFlags or []) ++
-      pkgs.lib.optional pkgs.stdenv.is64bit "--extra-lib-dirs=${pkgs.cudatoolkit}/lib64" ++ [
-      "--extra-lib-dirs=${pkgs.cudatoolkit}/lib"
+    configureFlags = (drv.configureFlags or []) ++ [
+      "--extra-lib-dirs=${pkgs.cudatoolkit.lib}/lib"
       "--extra-include-dirs=${pkgs.cudatoolkit}/include"
     ];
     preConfigure = ''
@@ -144,6 +143,8 @@ self: super: builtins.intersectAttrs super {
   gtk3 = disableHardening (super.gtk3.override { inherit (pkgs) gtk3; }) ["fortify"];
   gtk = disableHardening (addPkgconfigDepend (addBuildTool super.gtk self.gtk2hs-buildtools) pkgs.gtk2) ["fortify"];
   gtksourceview2 = addPkgconfigDepend super.gtksourceview2 pkgs.gtk2;
+  gtk-traymanager = addPkgconfigDepend super.gtk-traymanager pkgs.gtk3;
+  taffybar = (addPkgconfigDepend super.taffybar pkgs.gtk3).override { dbus = self.dbus_1_0_1; };
 
   # Need WebkitGTK, not just webkit.
   webkit = super.webkit.override { webkit = pkgs.webkitgtk24x-gtk2; };
@@ -203,7 +204,7 @@ self: super: builtins.intersectAttrs super {
   # Tries to mess with extended POSIX attributes, but can't in our chroot environment.
   xattr = dontCheck super.xattr;
 
-   # Needs access to locale data, but looks for it in the wrong place.
+  # Needs access to locale data, but looks for it in the wrong place.
   scholdoc-citeproc = dontCheck super.scholdoc-citeproc;
 
   # Expect to find sendmail(1) in $PATH.
@@ -498,4 +499,13 @@ self: super: builtins.intersectAttrs super {
   LDAP = dontCheck (overrideCabal super.LDAP (drv: {
     librarySystemDepends = drv.librarySystemDepends or [] ++ [ pkgs.cyrus_sasl.dev ];
   }));
+
+  # Tests require a browser: https://github.com/ku-fpg/blank-canvas/issues/73
+  blank-canvas = dontCheck super.blank-canvas;
+  blank-canvas_0_6_2 = dontCheck super.blank-canvas_0_6_2;
+
+  # cabal2nix generates a dependency on base-compat, which is the wrong version
+  base-compat-batteries = super.base-compat-batteries.override {
+    base-compat = super.base-compat_0_10_1;
+  };
 }
diff --git a/pkgs/development/haskell-modules/default.nix b/pkgs/development/haskell-modules/default.nix
index d528230b77c..7b512e46da8 100644
--- a/pkgs/development/haskell-modules/default.nix
+++ b/pkgs/development/haskell-modules/default.nix
@@ -15,7 +15,7 @@ let
 
   haskellPackages = pkgs.callPackage makePackageSet {
     package-set = initialPackages;
-    inherit stdenv haskellLib ghc buildHaskellPackages extensible-self;
+    inherit stdenv haskellLib ghc buildHaskellPackages extensible-self all-cabal-hashes;
   };
 
   commonConfiguration = configurationCommon { inherit pkgs haskellLib; };
diff --git a/pkgs/development/haskell-modules/generic-builder.nix b/pkgs/development/haskell-modules/generic-builder.nix
index 01e2eef58cb..a15a67d3241 100644
--- a/pkgs/development/haskell-modules/generic-builder.nix
+++ b/pkgs/development/haskell-modules/generic-builder.nix
@@ -20,22 +20,23 @@ in
 , buildTools ? [], libraryToolDepends ? [], executableToolDepends ? [], testToolDepends ? [], benchmarkToolDepends ? []
 , configureFlags ? []
 , description ? ""
-, doCheck ? !isCross && (stdenv.lib.versionOlder "7.4" ghc.version)
+, doCheck ? !isCross && stdenv.lib.versionOlder "7.4" ghc.version
 , doBenchmark ? false
 , doHoogle ? true
 , editedCabalFile ? null
-, enableLibraryProfiling ? false
+, enableLibraryProfiling ? true
 , enableExecutableProfiling ? false
+, profilingDetail ? "all-functions"
 # TODO enable shared libs for cross-compiling
-, enableSharedExecutables ? ((ghc.isGhcjs or false) || stdenv.lib.versionOlder "7.7" ghc.version)
+, enableSharedExecutables ? false
 , enableSharedLibraries ? ((ghc.isGhcjs or false) || stdenv.lib.versionOlder "7.7" ghc.version)
-, enableSplitObjs ? null # OBSOLETE, use enableDeadCodeElimination
-, enableDeadCodeElimination ? (!stdenv.isDarwin)  # TODO: use -dead_strip  for darwin
+, enableDeadCodeElimination ? (!stdenv.isDarwin)  # TODO: use -dead_strip for darwin
 , enableStaticLibraries ? true
+, enableHsc2hsViaAsm ? hostPlatform.isWindows && stdenv.lib.versionAtLeast ghc.version "8.4"
 , extraLibraries ? [], librarySystemDepends ? [], executableSystemDepends ? []
 , homepage ? "http://hackage.haskell.org/package/${pname}"
-, platforms ? ghc.meta.platforms
-, hydraPlatforms ? platforms
+, platforms ? with stdenv.lib.platforms; unix ++ windows # GHC can cross-compile
+, hydraPlatforms ? null
 , hyperlinkSource ? true
 , isExecutable ? false, isLibrary ? !isExecutable
 , jailbreak ? false
@@ -66,8 +67,6 @@ in
 } @ args:
 
 assert editedCabalFile != null -> revision != null;
-# OBSOLETE, use enableDeadCodeElimination
-assert enableSplitObjs == null;
 
 let
 
@@ -116,9 +115,13 @@ let
     "--with-ghc-pkg=${ghc.targetPrefix}ghc-pkg"
     "--with-gcc=${stdenv.cc.targetPrefix}cc"
     "--with-ld=${stdenv.cc.bintools.targetPrefix}ld"
-    "--with-hsc2hs=${nativeGhc}/bin/hsc2hs" # not cross one
+    # use the one that comes with the cross compiler.
+    "--with-hsc2hs=${ghc.targetPrefix}hsc2hs"
     "--with-strip=${stdenv.cc.bintools.targetPrefix}strip"
-  ] ++ (if isHaLVM then [] else ["--hsc2hs-options=--cross-compile"]);
+  ] ++ optionals (!isHaLVM) [
+    "--hsc2hs-option=--cross-compile"
+    (optionalString enableHsc2hsViaAsm "--hsc2hs-option=--via-asm")
+  ];
 
   crossCabalFlagsString =
     stdenv.lib.optionalString isCross (" " + stdenv.lib.concatStringsSep " " crossCabalFlags);
@@ -135,12 +138,15 @@ let
     (optionalString useCpphs "--with-cpphs=${cpphs}/bin/cpphs --ghc-options=-cpp --ghc-options=-pgmP${cpphs}/bin/cpphs --ghc-options=-optP--cpp")
     (enableFeature (enableDeadCodeElimination && !hostPlatform.isAarch32 && !hostPlatform.isAarch64 && (versionAtLeast "8.0.1" ghc.version)) "split-objs")
     (enableFeature enableLibraryProfiling "library-profiling")
+    (optionalString ((enableExecutableProfiling || enableLibraryProfiling) && versionOlder "8" ghc.version) "--profiling-detail=${profilingDetail}")
     (enableFeature enableExecutableProfiling (if versionOlder ghc.version "8" then "executable-profiling" else "profiling"))
     (enableFeature enableSharedLibraries "shared")
     (optionalString (versionAtLeast ghc.version "7.10") (enableFeature doCoverage "coverage"))
-    (optionalString (isGhcjs || versionOlder "7" ghc.version) (enableFeature enableStaticLibraries "library-vanilla"))
+    (optionalString (versionOlder "8.4" ghc.version) (enableFeature enableStaticLibraries "static"))
     (optionalString (isGhcjs || versionOlder "7.4" ghc.version) (enableFeature enableSharedExecutables "executable-dynamic"))
     (optionalString (isGhcjs || versionOlder "7" ghc.version) (enableFeature doCheck "tests"))
+    "--enable-library-vanilla"  # TODO: Should this be configurable?
+    "--enable-library-for-ghci" # TODO: Should this be configurable?
   ] ++ optionals (enableDeadCodeElimination && (stdenv.lib.versionOlder "8.0.1" ghc.version)) [
      "--ghc-option=-split-sections"
   ] ++ optionals isGhcjs [
@@ -166,7 +172,7 @@ let
                       buildTools ++ libraryToolDepends ++ executableToolDepends;
   propagatedBuildInputs = buildDepends ++ libraryHaskellDepends ++ executableHaskellDepends;
   otherBuildInputs = setupHaskellDepends ++ extraLibraries ++ librarySystemDepends ++ executableSystemDepends ++
-                     optionals (allPkgconfigDepends != []) allPkgconfigDepends ++
+                     allPkgconfigDepends ++
                      optionals doCheck (testDepends ++ testHaskellDepends ++ testSystemDepends ++ testToolDepends) ++
                      optionals doBenchmark (benchmarkDepends ++ benchmarkHaskellDepends ++ benchmarkSystemDepends ++ benchmarkToolDepends);
   allBuildInputs = propagatedBuildInputs ++ otherBuildInputs;
@@ -243,7 +249,11 @@ stdenv.mkDerivation ({
         configureFlags+=" --extra-lib-dirs=$p/lib"
       fi
     done
-  '' + (optionalString stdenv.isDarwin ''
+  ''
+  # only use the links hack if we're actually building dylibs. otherwise, the
+  # "dynamic-library-dirs" point to nonexistent paths, and the ln command becomes
+  # "ln -s $out/lib/links", which tries to recreate the links dir and fails
+  + (optionalString (stdenv.isDarwin && enableSharedLibraries) ''
     # Work around a limit in the macOS Sierra linker on the number of paths
     # referenced by any one dynamic library:
     #
@@ -304,6 +314,8 @@ stdenv.mkDerivation ({
     runHook postBuild
   '';
 
+  inherit doCheck;
+
   checkPhase = ''
     runHook preCheck
     ${setupCommand} test ${testTarget}
@@ -342,6 +354,7 @@ stdenv.mkDerivation ({
       for exeDir in "$out/bin/"*.jsexe; do
         exe="''${exeDir%.jsexe}"
         printWords '#!${nodejs}/bin/node' > "$exe"
+        echo >> "$exe"
         cat "$exeDir/all.js" >> "$exe"
         chmod +x "$exe"
       done
@@ -385,7 +398,7 @@ stdenv.mkDerivation ({
       buildInputs = systemBuildInputs;
       nativeBuildInputs = [ ghcEnv ] ++ nativeBuildInputs;
       LANG = "en_US.UTF-8";
-      LOCALE_ARCHIVE = optionalString stdenv.isLinux "${glibcLocales}/lib/locale/locale-archive";
+      LOCALE_ARCHIVE = optionalString (stdenv.hostPlatform.libc == "glibc") "${glibcLocales}/lib/locale/locale-archive";
       shellHook = ''
         export NIX_${ghcCommandCaps}="${ghcEnv}/bin/${ghcCommand}"
         export NIX_${ghcCommandCaps}PKG="${ghcEnv}/bin/${ghcCommand}-pkg"
@@ -403,7 +416,7 @@ stdenv.mkDerivation ({
          // optionalAttrs broken               { inherit broken; }
          // optionalAttrs (description != "")  { inherit description; }
          // optionalAttrs (maintainers != [])  { inherit maintainers; }
-         // optionalAttrs (hydraPlatforms != platforms) { inherit hydraPlatforms; }
+         // optionalAttrs (hydraPlatforms != null) { inherit hydraPlatforms; }
          ;
 
 }
@@ -417,7 +430,6 @@ stdenv.mkDerivation ({
 // optionalAttrs (postConfigure != "")  { inherit postConfigure; }
 // optionalAttrs (preBuild != "")       { inherit preBuild; }
 // optionalAttrs (postBuild != "")      { inherit postBuild; }
-// optionalAttrs (doCheck)              { inherit doCheck; }
 // optionalAttrs (doBenchmark)          { inherit doBenchmark; }
 // optionalAttrs (checkPhase != "")     { inherit checkPhase; }
 // optionalAttrs (preCheck != "")       { inherit preCheck; }
@@ -429,5 +441,5 @@ stdenv.mkDerivation ({
 // optionalAttrs (postFixup != "")      { inherit postFixup; }
 // optionalAttrs (dontStrip)            { inherit dontStrip; }
 // optionalAttrs (hardeningDisable != []) { inherit hardeningDisable; }
-// optionalAttrs (buildPlatform.isLinux){ LOCALE_ARCHIVE = "${glibcLocales}/lib/locale/locale-archive"; }
+// optionalAttrs (buildPlatform.libc == "glibc"){ LOCALE_ARCHIVE = "${glibcLocales}/lib/locale/locale-archive"; }
 )
diff --git a/pkgs/development/haskell-modules/generic-stack-builder.nix b/pkgs/development/haskell-modules/generic-stack-builder.nix
index 6e43df9aba6..9ea9dae02db 100644
--- a/pkgs/development/haskell-modules/generic-stack-builder.nix
+++ b/pkgs/development/haskell-modules/generic-stack-builder.nix
@@ -11,6 +11,18 @@ with stdenv.lib;
 }@args:
 
 let stackCmd = "stack --internal-re-exec-version=${stack.version}";
+
+    # Add all dependencies in buildInputs including propagated ones to
+    # STACK_IN_NIX_EXTRA_ARGS.
+    addStackArgsHook = ''
+for pkg in ''${pkgsHostHost[@]} ''${pkgsHostBuild[@]} ''${pkgsHostTarget[@]}
+do
+  [ -d "$pkg/lib" ] && \
+    export STACK_IN_NIX_EXTRA_ARGS+=" --extra-lib-dirs=$pkg/lib"
+  [ -d "$pkg/include" ] && \
+    export STACK_IN_NIX_EXTRA_ARGS+=" --extra-include-dirs=$pkg/include"
+done
+    '';
 in stdenv.mkDerivation (args // {
 
   buildInputs =
@@ -20,10 +32,9 @@ in stdenv.mkDerivation (args // {
 
   STACK_PLATFORM_VARIANT="nix";
   STACK_IN_NIX_SHELL=1;
-  STACK_IN_NIX_EXTRA_ARGS =
-    concatMap (pkg: ["--extra-lib-dirs=${getLib pkg}/lib"
-                     "--extra-include-dirs=${getDev pkg}/include"]) buildInputs ++
-    extraArgs;
+  STACK_IN_NIX_EXTRA_ARGS = extraArgs;
+  shellHook = addStackArgsHook;
+
 
   # XXX: workaround for https://ghc.haskell.org/trac/ghc/ticket/11042.
   LD_LIBRARY_PATH = makeLibraryPath (LD_LIBRARY_PATH ++ buildInputs);
@@ -39,6 +50,7 @@ in stdenv.mkDerivation (args // {
 
   configurePhase = args.configurePhase or ''
     export STACK_ROOT=$NIX_BUILD_TOP/.stack
+    ${addStackArgsHook}
   '';
 
   buildPhase = args.buildPhase or "${stackCmd} build";
diff --git a/pkgs/development/haskell-modules/hackage-packages.nix b/pkgs/development/haskell-modules/hackage-packages.nix
index 6a54b9df52e..bad45c3a27e 100644
--- a/pkgs/development/haskell-modules/hackage-packages.nix
+++ b/pkgs/development/haskell-modules/hackage-packages.nix
@@ -269,6 +269,7 @@ self: {
        homepage = "https://github.com/choener/ADPfusion";
        description = "Efficient, high-level dynamic programming";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "ADPfusionForest" = callPackage
@@ -322,6 +323,7 @@ self: {
        homepage = "https://github.com/choener/ADPfusionSet";
        description = "Dynamic programming for Set data structures";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "AERN-Basics" = callPackage
@@ -837,6 +839,36 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "AlgoRhythm" = callPackage
+    ({ mkDerivation, base, bytestring, containers, data-default, derive
+     , directory, Euterpea, HCodecs, HUnit, kmeans, lilypond, midi, mtl
+     , prettify, QuickCheck, random, template-haskell, test-framework
+     , test-framework-hunit, test-framework-quickcheck2, text
+     , transformers
+     }:
+     mkDerivation {
+       pname = "AlgoRhythm";
+       version = "0.1.0.0";
+       sha256 = "03rmcafbnbb43fww1y6rfi8dpbl85yi71rjxmz7mqxh4zn5c9jwz";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base containers data-default derive Euterpea HCodecs kmeans
+         lilypond midi mtl prettify QuickCheck random template-haskell text
+         transformers
+       ];
+       executableHaskellDepends = [ base ];
+       testHaskellDepends = [
+         base bytestring derive directory Euterpea HCodecs HUnit lilypond
+         QuickCheck random test-framework test-framework-hunit
+         test-framework-quickcheck2 transformers
+       ];
+       homepage = "http://github.com/omelkonian/AlgoRhythm/";
+       description = "Algorithmic music composition";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "AlgorithmW" = callPackage
     ({ mkDerivation, base, containers, mtl, pretty }:
      mkDerivation {
@@ -1416,6 +1448,7 @@ self: {
        ];
        description = "Libary for Hidden Markov Models in HMMER3 format";
        license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "Biobase" = callPackage
@@ -1662,6 +1695,7 @@ self: {
        homepage = "https://github.com/choener/BiobaseTypes";
        description = "Collection of types for bioinformatics";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "BiobaseVienna" = callPackage
@@ -1710,6 +1744,7 @@ self: {
        homepage = "https://github.com/choener/BiobaseXNA";
        description = "Efficient RNA/DNA/Protein Primary/Secondary Structure";
        license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "BirdPP" = callPackage
@@ -1774,20 +1809,22 @@ self: {
      }) {};
 
   "BlastHTTP" = callPackage
-    ({ mkDerivation, base, biocore, biofasta, blastxml, bytestring
-     , conduit, HTTP, http-conduit, hxt, mtl, network, transformers
+    ({ mkDerivation, base, BiobaseBlast, biocore, biofasta, blastxml
+     , bytestring, conduit, either-unwrap, HTTP, http-conduit, hxt, mtl
+     , network, transformers
      }:
      mkDerivation {
        pname = "BlastHTTP";
-       version = "1.2.1";
-       sha256 = "1mav6nyrqyjfl0qs9r7pqdijpd8dh0ddkcq9fbssyc05p87mxs6f";
+       version = "1.3.0";
+       sha256 = "1hlb6mmhcb7ijpd3xbsq2piw817k9pk09w4lgq1cgfgs1r6f3vdh";
        libraryHaskellDepends = [
-         base biocore biofasta blastxml bytestring conduit HTTP http-conduit
-         hxt mtl network transformers
+         base BiobaseBlast biocore biofasta blastxml bytestring conduit
+         either-unwrap HTTP http-conduit hxt mtl network transformers
        ];
        homepage = "https://github.com/eggzilla/BlastHTTP";
        description = "Libary to interface with the NCBI blast REST interface";
        license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "Blobs" = callPackage
@@ -1836,7 +1873,6 @@ self: {
        homepage = "http://byorgey.wordpress.com/blogliterately/";
        description = "A tool for posting Haskelly articles to blogs";
        license = stdenv.lib.licenses.gpl3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "BlogLiterately-diagrams" = callPackage
@@ -2491,24 +2527,27 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
-  "Cabal_2_0_1_1" = callPackage
-    ({ mkDerivation, array, base, binary, bytestring, containers
-     , deepseq, directory, filepath, pretty, process, QuickCheck, tagged
-     , tasty, tasty-hunit, tasty-quickcheck, time, unix
+  "Cabal_2_2_0_1" = callPackage
+    ({ mkDerivation, array, base, base-compat, base-orphans, binary
+     , bytestring, containers, deepseq, Diff, directory, filepath
+     , integer-logarithms, mtl, optparse-applicative, parsec, pretty
+     , process, QuickCheck, tagged, tar, tasty, tasty-golden
+     , tasty-hunit, tasty-quickcheck, text, time, transformers
+     , tree-diff, unix
      }:
      mkDerivation {
        pname = "Cabal";
-       version = "2.0.1.1";
-       sha256 = "06rx6jxikqrdf7k6pmam5cvhwnagq6njmb9qm5777nrz278ccaw0";
-       revision = "1";
-       editedCabalFile = "17ydppw8x5cx5whrs44yxirh7xgcaa6gzvxmlgqnbalcf8wkj23l";
+       version = "2.2.0.1";
+       sha256 = "0yqa6fm9jvr0ka6b1mf17bf43092dc1bai6mqyiwwwyz0h9k1d82";
        libraryHaskellDepends = [
          array base binary bytestring containers deepseq directory filepath
-         pretty process time unix
+         mtl parsec pretty process text time transformers unix
        ];
        testHaskellDepends = [
-         array base containers directory filepath pretty QuickCheck tagged
-         tasty tasty-hunit tasty-quickcheck
+         array base base-compat base-orphans bytestring containers deepseq
+         Diff directory filepath integer-logarithms optparse-applicative
+         pretty process QuickCheck tagged tar tasty tasty-golden tasty-hunit
+         tasty-quickcheck text tree-diff
        ];
        doCheck = false;
        homepage = "http://www.haskell.org/cabal/";
@@ -2684,25 +2723,12 @@ self: {
     ({ mkDerivation, base, free, mmorph, mtl, transformers-base }:
      mkDerivation {
        pname = "ChannelT";
-       version = "0.0.0.4";
-       sha256 = "06yr40kpi4jr65r76vlbf68ybh17n4b2k8claj0czgs4igspyhvn";
-       libraryHaskellDepends = [ base free mmorph mtl transformers-base ];
-       homepage = "https://github.com/pthariensflame/ChannelT";
-       description = "Generalized stream processors";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "ChannelT_0_0_0_7" = callPackage
-    ({ mkDerivation, base, free, mmorph, mtl, transformers-base }:
-     mkDerivation {
-       pname = "ChannelT";
        version = "0.0.0.7";
        sha256 = "183pghm74vk1vdcn0mdn6g5q284sncpl1cc49lpczz1wbr15s89y";
        libraryHaskellDepends = [ base free mmorph mtl transformers-base ];
        homepage = "https://github.com/pthariensflame/ChannelT";
        description = "Generalized stream processors";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "Chart" = callPackage
@@ -2759,6 +2785,7 @@ self: {
        homepage = "https://github.com/timbod7/haskell-chart/wiki";
        description = "Diagrams backend for Charts";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "Chart-gtk" = callPackage
@@ -2802,8 +2829,8 @@ self: {
      }:
      mkDerivation {
        pname = "ChasingBottoms";
-       version = "1.3.1.3";
-       sha256 = "04jwwjs22mqc4hvpp4c3gpb79inrrq5sapks5khknspv2hslm61q";
+       version = "1.3.1.4";
+       sha256 = "06cynx6hcbfpky7qq3b3mjjgwbnaxkwin3znbwq4b9ikiw0ng633";
        libraryHaskellDepends = [
          base containers mtl QuickCheck random syb
        ];
@@ -2905,6 +2932,7 @@ self: {
        testToolDepends = [ hspec-discover ];
        description = "spam";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "ClassLaws" = callPackage
@@ -2957,18 +2985,18 @@ self: {
      }) {};
 
   "ClustalParser" = callPackage
-    ({ mkDerivation, base, cmdargs, either-unwrap, hspec, parsec, text
-     , vector
+    ({ mkDerivation, base, cmdargs, either-unwrap, hspec
+     , hspec-discover, parsec, text, vector
      }:
      mkDerivation {
        pname = "ClustalParser";
-       version = "1.2.1";
-       sha256 = "17c7fp6vz64521kjq6xbq3z65cdcwip56qdrxmqcnjryrbysjd00";
+       version = "1.2.3";
+       sha256 = "0wjs6bsbyykrm0hjdybnap86zsnhjjifampm08dqg7fqp7f7pmpy";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base parsec text vector ];
        executableHaskellDepends = [ base cmdargs either-unwrap ];
-       testHaskellDepends = [ base hspec parsec text ];
+       testHaskellDepends = [ base hspec hspec-discover parsec text ];
        description = "Libary for parsing Clustal tools output";
        license = stdenv.lib.licenses.gpl3;
      }) {};
@@ -3393,8 +3421,8 @@ self: {
     ({ mkDerivation, base, parsec, pretty }:
      mkDerivation {
        pname = "CoreErlang";
-       version = "0.0.3";
-       sha256 = "111012wpnfa3bm9r5xnfhm5xjq8ppsnwx01a6njbvmqi9hcba3nc";
+       version = "0.0.4";
+       sha256 = "034g6c7dxdp13v1x16gvwgagpc7mw33hwd16cbb8yd3i91vf1w8z";
        libraryHaskellDepends = [ base parsec pretty ];
        homepage = "http://github.com/amtal/CoreErlang";
        description = "Manipulating Core Erlang source code";
@@ -3732,6 +3760,7 @@ self: {
        homepage = "https://github.com/choener/DPutils";
        description = "utilities for DP";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "DRBG" = callPackage
@@ -4022,24 +4051,6 @@ self: {
      }:
      mkDerivation {
        pname = "Decimal";
-       version = "0.4.2";
-       sha256 = "0qa2z2lq1hrvakhyhj624mg8sd05ikhb66zwpa6x9vcyji93dxf5";
-       libraryHaskellDepends = [ base deepseq ];
-       testHaskellDepends = [
-         base deepseq HUnit QuickCheck test-framework test-framework-hunit
-         test-framework-quickcheck2
-       ];
-       homepage = "https://github.com/PaulJohnson/Haskell-Decimal";
-       description = "Decimal numbers with variable precision";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "Decimal_0_5_1" = callPackage
-    ({ mkDerivation, base, deepseq, HUnit, QuickCheck, test-framework
-     , test-framework-hunit, test-framework-quickcheck2
-     }:
-     mkDerivation {
-       pname = "Decimal";
        version = "0.5.1";
        sha256 = "0k7kh05mr2f54w1lpgq1nln0h8k6s6h99dyp5jzsb9cfbb3aap2p";
        libraryHaskellDepends = [ base deepseq ];
@@ -4050,7 +4061,6 @@ self: {
        homepage = "https://github.com/PaulJohnson/Haskell-Decimal";
        description = "Decimal numbers with variable precision";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "DecisionTree" = callPackage
@@ -4689,8 +4699,8 @@ self: {
      }:
      mkDerivation {
        pname = "Earley";
-       version = "0.12.0.1";
-       sha256 = "1cfmarpbldayhdynahw5gkxspsgi4kkjcybisk4kzhdj40yaj9pw";
+       version = "0.12.1.0";
+       sha256 = "07dxsl2cvb40z2z41a263xpg5mhplaqj9p2qjhaw6q5rkjz9653k";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base ListLike ];
@@ -4741,22 +4751,6 @@ self: {
      }:
      mkDerivation {
        pname = "EdisonCore";
-       version = "1.3.1.1";
-       sha256 = "06shxmcqxcahcn6zgl64vlqix4fnq53d97drcgsh94qp7gp201ry";
-       libraryHaskellDepends = [
-         array base containers EdisonAPI mtl QuickCheck
-       ];
-       homepage = "http://rwd.rdockins.name/edison/home/";
-       description = "A library of efficent, purely-functional data structures (Core Implementations)";
-       license = "unknown";
-     }) {};
-
-  "EdisonCore_1_3_2_1" = callPackage
-    ({ mkDerivation, array, base, containers, EdisonAPI, mtl
-     , QuickCheck
-     }:
-     mkDerivation {
-       pname = "EdisonCore";
        version = "1.3.2.1";
        sha256 = "0fgj5iwiv3v2gdgx7kjcr15dcs4x1kvmjspp3p99wyhh0x6h3ikk";
        libraryHaskellDepends = [
@@ -4765,7 +4759,6 @@ self: {
        homepage = "http://rwd.rdockins.name/edison/home/";
        description = "A library of efficient, purely-functional data structures (Core Implementations)";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "EditTimeReport" = callPackage
@@ -4808,6 +4801,7 @@ self: {
        testToolDepends = [ hspec-discover ];
        description = "spam";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "EitherT" = callPackage
@@ -5043,6 +5037,7 @@ self: {
        homepage = "http://verement.github.io/etamoo";
        description = "A new implementation of the LambdaMOO server";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {inherit (pkgs) pcre;};
 
   "Etage" = callPackage
@@ -5250,6 +5245,8 @@ self: {
        pname = "FPretty";
        version = "1.1";
        sha256 = "0hpbm11z95wfh0i1dp2c35maksnz0zxpz9vbxq6f5c13x4i03b5q";
+       revision = "1";
+       editedCabalFile = "0d6mjr7b37f5bgjijjgx4x4fgfmkbhksphzkaf0p5jyzxp45fasc";
        libraryHaskellDepends = [ base containers ];
        homepage = "http://www.cs.kent.ac.uk/~oc/pretty.html";
        description = "Efficient simple pretty printing combinators";
@@ -5519,7 +5516,6 @@ self: {
        homepage = "https://github.com/tonymorris/filepather";
        description = "Functions on System.FilePath";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "FileSystem" = callPackage
@@ -5860,6 +5856,7 @@ self: {
        testToolDepends = [ hspec-discover ];
        description = "spam";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "Foster" = callPackage
@@ -5957,6 +5954,36 @@ self: {
        benchmarkHaskellDepends = [ base criterion pipes transformers ];
        description = "Data frames For working with tabular data files";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "Frames_0_4_0" = callPackage
+    ({ mkDerivation, base, contravariant, criterion, deepseq, directory
+     , discrimination, ghc-prim, hashable, hspec, htoml, HUnit, pipes
+     , pipes-bytestring, pipes-group, pipes-parse, pipes-safe
+     , pipes-text, pretty, primitive, readable, regex-applicative
+     , template-haskell, temporary, text, transformers
+     , unordered-containers, vector, vinyl
+     }:
+     mkDerivation {
+       pname = "Frames";
+       version = "0.4.0";
+       sha256 = "06yh8vl3s5543nxhndjd2wsbclka4in4nsbjqzbpcg9g8s8x3z20";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base contravariant deepseq discrimination ghc-prim hashable pipes
+         pipes-bytestring pipes-group pipes-parse pipes-safe pipes-text
+         primitive readable template-haskell text transformers vector vinyl
+       ];
+       testHaskellDepends = [
+         base directory hspec htoml HUnit pipes pretty regex-applicative
+         template-haskell temporary text unordered-containers vinyl
+       ];
+       benchmarkHaskellDepends = [ base criterion pipes transformers ];
+       description = "Data frames For working with tabular data files";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "Frank" = callPackage
@@ -6067,17 +6094,18 @@ self: {
      }) {};
 
   "GLFW" = callPackage
-    ({ mkDerivation, base, libX11, mesa, OpenGL }:
+    ({ mkDerivation, base, libGL, libX11, libXext, libXfixes, OpenGL }:
      mkDerivation {
        pname = "GLFW";
        version = "0.5.2.5";
        sha256 = "029sw2sykr6plffkrmigv5mj2aklllmgi021is5ybsbqv0mxgh9p";
        libraryHaskellDepends = [ base OpenGL ];
-       librarySystemDepends = [ libX11 mesa ];
+       librarySystemDepends = [ libGL libX11 libXext libXfixes ];
        homepage = "http://haskell.org/haskellwiki/GLFW";
        description = "A Haskell binding for GLFW";
        license = stdenv.lib.licenses.bsd3;
-     }) {inherit (pkgs.xorg) libX11; mesa = null;};
+     }) {inherit (pkgs) libGL; inherit (pkgs.xorg) libX11; 
+         inherit (pkgs.xorg) libXext; inherit (pkgs.xorg) libXfixes;};
 
   "GLFW-OGL" = callPackage
     ({ mkDerivation, base, libX11, libXrandr, mtl, OGL }:
@@ -6095,19 +6123,38 @@ self: {
      }) {inherit (pkgs.xorg) libX11; inherit (pkgs.xorg) libXrandr;};
 
   "GLFW-b" = callPackage
-    ({ mkDerivation, base, bindings-GLFW, HUnit, test-framework
-     , test-framework-hunit
+    ({ mkDerivation, base, bindings-GLFW, deepseq, HUnit
+     , test-framework, test-framework-hunit
+     }:
+     mkDerivation {
+       pname = "GLFW-b";
+       version = "1.4.8.3";
+       sha256 = "01dp6akv70wq9c5qib5f8cmrva9xmqrmdcf30k9y4kklrvbk599z";
+       libraryHaskellDepends = [ base bindings-GLFW deepseq ];
+       testHaskellDepends = [
+         base bindings-GLFW deepseq HUnit test-framework
+         test-framework-hunit
+       ];
+       description = "Bindings to GLFW OpenGL library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "GLFW-b_3_2_1_0" = callPackage
+    ({ mkDerivation, base, bindings-GLFW, deepseq, HUnit
+     , test-framework, test-framework-hunit
      }:
      mkDerivation {
        pname = "GLFW-b";
-       version = "1.4.8.1";
-       sha256 = "1sca2wzkqw77jdj9mxnswx7zaicj1dsl5k3gjsaxmjznbkn4k2j3";
-       libraryHaskellDepends = [ base bindings-GLFW ];
+       version = "3.2.1.0";
+       sha256 = "19mngkprzlm322pfyljvm4lyk1j7j8ss50m5kzzmkwk3mph25h1i";
+       libraryHaskellDepends = [ base bindings-GLFW deepseq ];
        testHaskellDepends = [
-         base bindings-GLFW HUnit test-framework test-framework-hunit
+         base bindings-GLFW deepseq HUnit test-framework
+         test-framework-hunit
        ];
        description = "Bindings to GLFW OpenGL library";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "GLFW-b-demo" = callPackage
@@ -6140,20 +6187,19 @@ self: {
        homepage = "http://github.com/ninegua/GLFW-task";
        description = "GLFW utility functions to use together with monad-task";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "GLHUI" = callPackage
-    ({ mkDerivation, base, libX11, mesa }:
+    ({ mkDerivation, base, libGL, libX11 }:
      mkDerivation {
        pname = "GLHUI";
        version = "1.1.0";
        sha256 = "043xw36hrwzc6xdr5vlydbsv5m8675vnk8pfxycr7qixzwljn0aa";
        libraryHaskellDepends = [ base ];
-       librarySystemDepends = [ libX11 mesa ];
+       librarySystemDepends = [ libGL libX11 ];
        description = "Open OpenGL context windows in X11 with libX11";
        license = stdenv.lib.licenses.bsd3;
-     }) {inherit (pkgs.xorg) libX11; mesa = null;};
+     }) {inherit (pkgs) libGL; inherit (pkgs.xorg) libX11;};
 
   "GLM" = callPackage
     ({ mkDerivation, aeson, base, bytestring, interpolate, lens, mtl
@@ -6198,17 +6244,17 @@ self: {
      }) {};
 
   "GLURaw" = callPackage
-    ({ mkDerivation, base, freeglut, mesa, OpenGLRaw, transformers }:
+    ({ mkDerivation, base, libGL, libGLU, OpenGLRaw, transformers }:
      mkDerivation {
        pname = "GLURaw";
-       version = "2.0.0.3";
-       sha256 = "1vncyxaqyc7apw42wkpyxinyvzgzcnx6x858x4z15h5qq70ghb2q";
+       version = "2.0.0.4";
+       sha256 = "1i2xi35n5z0d372px9mh6cyhgg1m0cfaiy3fnspkf6kbn9fgsqxq";
        libraryHaskellDepends = [ base OpenGLRaw transformers ];
-       librarySystemDepends = [ freeglut mesa ];
+       librarySystemDepends = [ libGL libGLU ];
        homepage = "http://www.haskell.org/haskellwiki/Opengl";
        description = "A raw binding for the OpenGL graphics system";
        license = stdenv.lib.licenses.bsd3;
-     }) {inherit (pkgs) freeglut; mesa = null;};
+     }) {inherit (pkgs) libGL; inherit (pkgs) libGLU;};
 
   "GLUT" = callPackage
     ({ mkDerivation, array, base, containers, OpenGL, StateVar
@@ -6216,8 +6262,8 @@ self: {
      }:
      mkDerivation {
        pname = "GLUT";
-       version = "2.7.0.12";
-       sha256 = "1dgix79r8jdp0b2ncx14v6abaqcanr3y91h1zr954vl3kyyidxb6";
+       version = "2.7.0.13";
+       sha256 = "1j5sv95fy0fv1n57qxhkdqm20q0lj4h5x3r7php9jh70wl77q89x";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -6235,8 +6281,8 @@ self: {
      }:
      mkDerivation {
        pname = "GLUtil";
-       version = "0.9.3";
-       sha256 = "045wdcxm8ink7q86f6c4p47i1vmjyndk8xahabb0zic4yf3mdr76";
+       version = "0.10.1";
+       sha256 = "08qsa22xhw4cdhdzc8ixlwjazi9s0n48395g4vf5qwfap9r8rdq3";
        libraryHaskellDepends = [
          array base bytestring containers directory filepath hpp JuicyPixels
          linear OpenGL OpenGLRaw transformers vector
@@ -6380,7 +6426,6 @@ self: {
        ];
        description = "Some kind of game library or set of utilities";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "Ganymede" = callPackage
@@ -6544,8 +6589,8 @@ self: {
     ({ mkDerivation, base, ghc-prim, pretty }:
      mkDerivation {
        pname = "GenericPretty";
-       version = "1.2.1";
-       sha256 = "0bb70mic7srr7x8k83d1i0m0a32gm72zr78ccdf3ckchj9136php";
+       version = "1.2.2";
+       sha256 = "0g5frpzq8hr2wqbf91cxcyxqqsw06p1w9f1sm3k6v1hz13kpmspf";
        libraryHaskellDepends = [ base ghc-prim pretty ];
        homepage = "https://github.com/RazvanRanca/GenericPretty";
        description = "A generic, derivable, haskell pretty printer";
@@ -6653,6 +6698,7 @@ self: {
        homepage = "https://github.com/MarisaKirisame/Get#readme";
        description = "get stuff out of stuff";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "GiST" = callPackage
@@ -6668,14 +6714,15 @@ self: {
      }) {};
 
   "Gifcurry" = callPackage
-    ({ mkDerivation, base, cmdargs, directory, filepath, gi-gdk
-     , gi-glib, gi-gobject, gi-gtk, haskell-gi-base, process, temporary
-     , text
+    ({ mkDerivation, base, bytestring, cairo, cmdargs, directory
+     , filepath, gi-cairo, gi-gdk, gi-glib, gi-gobject, gi-gst
+     , gi-gstvideo, gi-gtk, haskell-gi, haskell-gi-base, process
+     , temporary, text, transformers
      }:
      mkDerivation {
        pname = "Gifcurry";
-       version = "2.3.0.0";
-       sha256 = "1xwmkr68x7mmmimx8kp2fjrfkg02fmsm0wzy93fqsdbs5vi1jqch";
+       version = "3.0.0.1";
+       sha256 = "0c6wk6kngrpmjwxwixynxfvr92ycvxmivvcvbk171x4a47zcg4sq";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -6683,8 +6730,9 @@ self: {
          base directory filepath process temporary text
        ];
        executableHaskellDepends = [
-         base cmdargs directory filepath gi-gdk gi-glib gi-gobject gi-gtk
-         haskell-gi-base process temporary text
+         base bytestring cairo cmdargs directory filepath gi-cairo gi-gdk
+         gi-glib gi-gobject gi-gst gi-gstvideo gi-gtk haskell-gi
+         haskell-gi-base process temporary text transformers
        ];
        homepage = "https://github.com/lettier/gifcurry";
        description = "GIF creation utility";
@@ -7320,15 +7368,19 @@ self: {
      }) {};
 
   "HCodecs" = callPackage
-    ({ mkDerivation, array, base, bytestring, QuickCheck, random }:
+    ({ mkDerivation, array, base, bytestring, QuickCheck, random
+     , semigroups
+     }:
      mkDerivation {
        pname = "HCodecs";
-       version = "0.5";
-       sha256 = "0mhp1alx0p9lzq3vm0k802f8ndm2386sshprn9zb8xq8bsd11gxi";
+       version = "0.5.1";
+       sha256 = "0hrib81nw4g7qgka3brypb8k1mg7l37m8gywc7bc44mcg5mn2957";
        libraryHaskellDepends = [
-         array base bytestring QuickCheck random
+         array base bytestring QuickCheck random semigroups
+       ];
+       testHaskellDepends = [
+         array base bytestring QuickCheck random semigroups
        ];
-       testHaskellDepends = [ array base bytestring QuickCheck random ];
        homepage = "http://www-db.informatik.uni-tuebingen.de/team/giorgidze";
        description = "A library to read, write and manipulate MIDI, WAVE, and SoundFont2 files";
        license = stdenv.lib.licenses.bsd3;
@@ -8175,14 +8227,14 @@ self: {
      }:
      mkDerivation {
        pname = "HMap";
-       version = "1.2.7";
-       sha256 = "0xq5qr1v74z9bppcgl4g06cpnmyrqmc41kvcyx58272pw70vlv40";
+       version = "1.3.0";
+       sha256 = "01y8mspmf7k0mxafyanfirbjp46x54wnm4n6lwc2jczw5bb48yx7";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          base data-default hashable mtl unordered-containers
        ];
        homepage = "https://github.com/atzeus/HMap";
-       description = "Fast heterogeneous maps and unconstrained typeable like functionality";
+       description = "Fast heterogeneous maps and unconstrained typeable-like functionality";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
@@ -8606,7 +8658,6 @@ self: {
        homepage = "https://github.com/apeyroux/HSlippyMap";
        description = "OpenStreetMap Slippy Map";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "HSmarty" = callPackage
@@ -8667,18 +8718,16 @@ self: {
   "HStringTemplate" = callPackage
     ({ mkDerivation, array, base, blaze-builder, bytestring, containers
      , deepseq, directory, filepath, mtl, old-locale, parsec, pretty
-     , syb, template-haskell, text, time, void
+     , semigroups, syb, template-haskell, text, time, void
      }:
      mkDerivation {
        pname = "HStringTemplate";
-       version = "0.8.6";
-       sha256 = "1kam09fhnz1485swp5z1k8whjiwz9fcscp6zibxkq8hw3sfcn8kh";
-       revision = "1";
-       editedCabalFile = "05j23rsll9xxj92gk1qvaksd9z985fpdmbp8mv73ywwjl29kfwyb";
+       version = "0.8.7";
+       sha256 = "03kbmyh0713j3qhhrl7jqbmsvyq1q82h2yxq45cc9rs55sma8kjg";
        libraryHaskellDepends = [
          array base blaze-builder bytestring containers deepseq directory
-         filepath mtl old-locale parsec pretty syb template-haskell text
-         time void
+         filepath mtl old-locale parsec pretty semigroups syb
+         template-haskell text time void
        ];
        description = "StringTemplate implementation in Haskell";
        license = stdenv.lib.licenses.bsd3;
@@ -8723,8 +8772,8 @@ self: {
      }:
      mkDerivation {
        pname = "HTF";
-       version = "0.13.2.2";
-       sha256 = "1fn3w53rylaqmkhwi801phiwlkl7yp9mnj79dbwfb6b6g5mrzd0x";
+       version = "0.13.2.4";
+       sha256 = "1xibrzs465hg9snwvl6gp6hll6g6c7m8s2ckk8vkfg386pywmi9n";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -8743,7 +8792,7 @@ self: {
        ];
        homepage = "https://github.com/skogsbaer/HTF/";
        description = "The Haskell Test Framework";
-       license = "LGPL";
+       license = stdenv.lib.licenses.lgpl21;
      }) {};
 
   "HTTP" = callPackage
@@ -8754,8 +8803,8 @@ self: {
      }:
      mkDerivation {
        pname = "HTTP";
-       version = "4000.3.9";
-       sha256 = "1zv38sjr1kv6vm35a8w5659ap9jpxpq5b9zjgablils8ca52p5h5";
+       version = "4000.3.11";
+       sha256 = "0idnclf1gnvqsygppanr0gj6dfvxj1rsz8q7hhahfw82v0wjplps";
        libraryHaskellDepends = [
          array base bytestring mtl network network-uri parsec time
        ];
@@ -9013,8 +9062,8 @@ self: {
      }:
      mkDerivation {
        pname = "HaTeX";
-       version = "3.17.3.1";
-       sha256 = "1vq22yf90cxq6a224zw73c1iqqbcsa2swasds605y9kwp9wzf6db";
+       version = "3.18.0.0";
+       sha256 = "13w1kn85yg8hmhk5m0rv95nr6db5k7z4ycy9s32gs2m3f0v338jz";
        libraryHaskellDepends = [
          base bytestring containers hashable matrix parsec QuickCheck text
          transformers wl-pprint-extras
@@ -9027,15 +9076,15 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "HaTeX_3_18_0_0" = callPackage
+  "HaTeX_3_19_0_0" = callPackage
     ({ mkDerivation, base, bytestring, containers, hashable, matrix
      , parsec, QuickCheck, tasty, tasty-quickcheck, text, transformers
      , wl-pprint-extras
      }:
      mkDerivation {
        pname = "HaTeX";
-       version = "3.18.0.0";
-       sha256 = "13w1kn85yg8hmhk5m0rv95nr6db5k7z4ycy9s32gs2m3f0v338jz";
+       version = "3.19.0.0";
+       sha256 = "0ja7w9l1pnf4pgbggr8cmsq0234cvsn75b9jzvd64jplhajpgn8z";
        libraryHaskellDepends = [
          base bytestring containers hashable matrix parsec QuickCheck text
          transformers wl-pprint-extras
@@ -9518,16 +9567,18 @@ self: {
      }) {};
 
   "Hastodon" = callPackage
-    ({ mkDerivation, aeson, base, bytestring, http-client, http-conduit
-     , http-types, mime-types, MissingH, text
+    ({ mkDerivation, aeson, attoparsec, base, bytestring, conduit
+     , exceptions, http-client, http-conduit, http-types, mime-types
+     , MissingH, resourcet, text, transformers
      }:
      mkDerivation {
        pname = "Hastodon";
-       version = "0.3.1";
-       sha256 = "0z8ph9frrad5nn23hi3qr2gj7lh7p2qpcmx4rdyv8vlqal38zdv1";
+       version = "0.4.1";
+       sha256 = "08skn3qvqfzll1hhzayqm46kwdl45kbckgwvzjm4bqa5w5jvh708";
        libraryHaskellDepends = [
-         aeson base bytestring http-client http-conduit http-types
-         mime-types MissingH text
+         aeson attoparsec base bytestring conduit exceptions http-client
+         http-conduit http-types mime-types MissingH resourcet text
+         transformers
        ];
        homepage = "https://github.com/syucream/hastodon";
        description = "mastodon client module for Haskell";
@@ -9815,45 +9866,23 @@ self: {
      }) {};
 
   "Hoed" = callPackage
-    ({ mkDerivation, array, base, bytestring, cereal, clock, containers
-     , deepseq, directory, libgraph, process, QuickCheck, regex-tdfa
-     , semigroups, strict, template-haskell, terminal-size, uniplate
-     , vector
-     }:
-     mkDerivation {
-       pname = "Hoed";
-       version = "0.4.1";
-       sha256 = "14d4wypx75xmhb81f4lplvw04f5hjc97ncgzv4s07vd09bal8kq7";
-       libraryHaskellDepends = [
-         array base bytestring cereal clock containers deepseq directory
-         libgraph process QuickCheck regex-tdfa semigroups strict
-         template-haskell terminal-size uniplate vector
-       ];
-       testHaskellDepends = [ base process QuickCheck ];
-       homepage = "https://github.com/MaartenFaddegon/Hoed";
-       description = "Lightweight algorithmic debugging";
-       license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
-     }) {};
-
-  "Hoed_0_5_0" = callPackage
     ({ mkDerivation, array, base, bytestring, cereal, cereal-text
      , cereal-vector, clock, containers, deepseq, directory, hashable
-     , hashtables, libgraph, open-browser, primitive, process
-     , QuickCheck, regex-tdfa, regex-tdfa-text, semigroups, strict
-     , template-haskell, terminal-size, text, transformers, uniplate
+     , libgraph, open-browser, primitive, process, QuickCheck
+     , regex-tdfa, regex-tdfa-text, semigroups, strict, template-haskell
+     , terminal-size, text, transformers, uniplate, unordered-containers
      , vector, vector-th-unbox
      }:
      mkDerivation {
        pname = "Hoed";
-       version = "0.5.0";
-       sha256 = "1pj2scisdissbhlf6gn5bxqp09zvi5v7h8n7l3y1rirkqwwf74a8";
+       version = "0.5.1";
+       sha256 = "1rzlqd1sha6p1cw5w0gpf1w7qsmc6088sjnq1kq44mp12ybxrxm8";
        libraryHaskellDepends = [
          array base bytestring cereal cereal-text cereal-vector clock
-         containers deepseq directory hashable hashtables libgraph
-         open-browser primitive process QuickCheck regex-tdfa
-         regex-tdfa-text semigroups strict template-haskell terminal-size
-         text transformers uniplate vector vector-th-unbox
+         containers deepseq directory hashable libgraph open-browser
+         primitive process QuickCheck regex-tdfa regex-tdfa-text semigroups
+         strict template-haskell terminal-size text transformers uniplate
+         unordered-containers vector vector-th-unbox
        ];
        testHaskellDepends = [ base process QuickCheck ];
        homepage = "https://github.com/MaartenFaddegon/Hoed";
@@ -10064,19 +10093,20 @@ self: {
      }) {};
 
   "HsHTSLib" = callPackage
-    ({ mkDerivation, base, bytestring, bytestring-lexing
-     , conduit-combinators, containers, inline-c, mtl, template-haskell
+    ({ mkDerivation, base, bytestring, bytestring-lexing, conduit
+     , containers, inline-c, mtl, template-haskell
      }:
      mkDerivation {
        pname = "HsHTSLib";
-       version = "1.3.2.2";
-       sha256 = "0i4lflc8s8byvsc4idh4fm6yzdspx0v4mahwrqrk7i2dbs84fpkw";
+       version = "1.3.2.3";
+       sha256 = "1j80lwall9ji5fb2iw1fni2jxplyiss5rx0zfkbx9g5ns1cd98r3";
        libraryHaskellDepends = [
-         base bytestring bytestring-lexing conduit-combinators containers
-         inline-c mtl template-haskell
+         base bytestring bytestring-lexing conduit containers inline-c mtl
+         template-haskell
        ];
        description = "High level bindings to htslib";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "HsHaruPDF" = callPackage
@@ -10130,8 +10160,8 @@ self: {
      }:
      mkDerivation {
        pname = "HsOpenSSL";
-       version = "0.11.4.12";
-       sha256 = "18hmbjg15rlpnqq95z2d2xskj5l0hcv5mp9hb16jb26rcdi54sim";
+       version = "0.11.4.13";
+       sha256 = "0izzgyjd0s9whqllwyg8gv2xnsfax9sf8j47zq1d2vmk7mpx2p0j";
        setupHaskellDepends = [ base Cabal ];
        libraryHaskellDepends = [
          base bytestring integer-gmp network time
@@ -10436,8 +10466,8 @@ self: {
      }:
      mkDerivation {
        pname = "IPv6Addr";
-       version = "1.0.1";
-       sha256 = "01s2lml150mcb9qfaq0i19fx8ri19c0dba3rzl0q9w30kv8ykxyz";
+       version = "1.0.3";
+       sha256 = "17bk63qi9krfghplrmck4v1hv54kwdppl50hfm7349dqfhdbf129";
        libraryHaskellDepends = [
          aeson attoparsec base iproute network network-info random text
        ];
@@ -10457,8 +10487,8 @@ self: {
      }:
      mkDerivation {
        pname = "IPv6DB";
-       version = "0.2.5";
-       sha256 = "0n8998fkdp6p1gr5j7kg0xfkh88cxmqiwxzh75q0xmkasphx4yfq";
+       version = "0.2.6";
+       sha256 = "1dshvq3amnwfvf50g4gs93rc307sk1hi3snjhflzjz0dfn8xa2d4";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -10607,6 +10637,26 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "IntervalMap_0_6_0_0" = callPackage
+    ({ mkDerivation, base, Cabal, containers, criterion, deepseq
+     , fingertree, QuickCheck, random, SegmentTree, weigh
+     }:
+     mkDerivation {
+       pname = "IntervalMap";
+       version = "0.6.0.0";
+       sha256 = "06hin9wf1by8aqa7820fsi2339bh82184frkwz3jsb9sqa0hszcg";
+       libraryHaskellDepends = [ base containers deepseq ];
+       testHaskellDepends = [ base Cabal containers deepseq QuickCheck ];
+       benchmarkHaskellDepends = [
+         base containers criterion deepseq fingertree random SegmentTree
+         weigh
+       ];
+       homepage = "http://www.chr-breitkopf.de/comp/IntervalMap";
+       description = "Containers for intervals, with efficient search";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "Irc" = callPackage
     ({ mkDerivation, base, data-default, doctest, mtl, network
      , transformers
@@ -10872,8 +10922,8 @@ self: {
      }:
      mkDerivation {
        pname = "JuicyPixels";
-       version = "3.2.9.4";
-       sha256 = "1mlj3zcr3c49mjv0sddsfdzvzv3m0cbv56fbrkarygs5dxyh8dgz";
+       version = "3.2.9.5";
+       sha256 = "0mf3ihr0xy2wc2wzb9a17g0n3p60x7pvm8akwpvhdy8klvs6r744";
        libraryHaskellDepends = [
          base binary bytestring containers deepseq mtl primitive
          transformers vector zlib
@@ -10883,6 +10933,30 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "JuicyPixels-blp" = callPackage
+    ({ mkDerivation, attoparsec, base, binary, bytestring, directory
+     , filepath, hashable, JuicyPixels, optparse-simple, text-show
+     , unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "JuicyPixels-blp";
+       version = "0.1.0.1";
+       sha256 = "16fcrd8g4pgwhbvp34mqqvmszlkhjs1qryrn1bll3f0zwirhg3ic";
+       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
+       ];
+       homepage = "http://github.com/NCrashed/JuicyPixels-blp#readme";
+       description = "BLP format decoder/encoder over JuicyPixels library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "JuicyPixels-canvas" = callPackage
     ({ mkDerivation, base, containers, JuicyPixels }:
      mkDerivation {
@@ -10900,25 +10974,10 @@ self: {
     ({ mkDerivation, base, criterion, hspec, JuicyPixels }:
      mkDerivation {
        pname = "JuicyPixels-extra";
-       version = "0.2.2";
-       sha256 = "1f0ysxwd73s04mrqzqj9rfp6dd5441ckc96x2a4zkc1hixgkfzld";
-       revision = "1";
-       editedCabalFile = "1h88x4bp9jvxx8laz69izna82a9d3bapr7nfpa9gpbvqpmi7d3vd";
-       enableSeparateDataOutput = true;
-       libraryHaskellDepends = [ base JuicyPixels ];
-       testHaskellDepends = [ base hspec JuicyPixels ];
-       benchmarkHaskellDepends = [ base criterion JuicyPixels ];
-       homepage = "https://github.com/mrkkrp/JuicyPixels-extra";
-       description = "Efficiently scale, crop, flip images with JuicyPixels";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "JuicyPixels-extra_0_3_0" = callPackage
-    ({ mkDerivation, base, criterion, hspec, JuicyPixels }:
-     mkDerivation {
-       pname = "JuicyPixels-extra";
        version = "0.3.0";
        sha256 = "08hf3dklz3zaczbffq11z1yjk3hqf53rnz3g9n989ndw8ybkm865";
+       revision = "1";
+       editedCabalFile = "17y0d11hgdnzcgv7q7zl3wic2w2xhqn123vzfsdivncgdgqlvy0c";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [ base JuicyPixels ];
        testHaskellDepends = [ base hspec JuicyPixels ];
@@ -10926,7 +10985,6 @@ self: {
        homepage = "https://github.com/mrkkrp/JuicyPixels-extra";
        description = "Efficiently scale, crop, flip images with JuicyPixels";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "JuicyPixels-repa" = callPackage
@@ -10949,8 +11007,8 @@ self: {
        pname = "JuicyPixels-scale-dct";
        version = "0.1.1.2";
        sha256 = "15py0slh1jij8wrd68q0fqs9yarnabr470xm04i92904a809vgcs";
-       revision = "1";
-       editedCabalFile = "08myhf2912c5hd7hhiq58lsylfpj2zwhak5kmhhcffc7zsvhcl24";
+       revision = "3";
+       editedCabalFile = "0z1ks049q9jsc5ysh12idkqf3rz0bnvv74rhlaw24r5q2xj8lv8i";
        libraryHaskellDepends = [
          base base-compat carray fft JuicyPixels
        ];
@@ -11290,7 +11348,6 @@ self: {
        homepage = "https://github.com/ezyang/ldap-haskell";
        description = "Haskell binding for C LDAP API";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {inherit (pkgs) openldap;};
 
   "LParse" = callPackage
@@ -11628,7 +11685,6 @@ self: {
        homepage = "https://github.com/masterdezign/Learning#readme";
        description = "The most frequently used machine learning tools";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "Level0" = callPackage
@@ -11778,28 +11834,6 @@ self: {
 
   "ListLike" = callPackage
     ({ mkDerivation, array, base, bytestring, containers, deepseq
-     , dlist, fmlist, HUnit, QuickCheck, random, text, utf8-string
-     , vector
-     }:
-     mkDerivation {
-       pname = "ListLike";
-       version = "4.5.1";
-       sha256 = "139aaraprdlana39bldxzrl1pnvymwpiwymikc1xjg2nbcrla1xp";
-       libraryHaskellDepends = [
-         array base bytestring containers deepseq dlist fmlist text
-         utf8-string vector
-       ];
-       testHaskellDepends = [
-         array base bytestring containers dlist fmlist HUnit QuickCheck
-         random text utf8-string vector
-       ];
-       homepage = "http://github.com/JohnLato/listlike";
-       description = "Generic support for list-like structures";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "ListLike_4_6" = callPackage
-    ({ mkDerivation, array, base, bytestring, containers, deepseq
      , dlist, fmlist, HUnit, QuickCheck, random, semigroups, text
      , utf8-string, vector
      }:
@@ -11818,7 +11852,6 @@ self: {
        homepage = "http://github.com/JohnLato/listlike";
        description = "Generic support for list-like structures";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "ListT" = callPackage
@@ -11835,6 +11868,7 @@ self: {
        ];
        description = "List transformer";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "ListTree" = callPackage
@@ -12096,7 +12130,6 @@ self: {
        libraryHaskellDepends = [ base bytestring hidapi mtl ];
        description = "Haskell interface for controlling the mBot educational robot";
        license = stdenv.lib.licenses.gpl3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "MC-Fold-DP" = callPackage
@@ -12572,6 +12605,7 @@ self: {
        testToolDepends = [ hspec-discover ];
        description = "spam";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "Modulo" = callPackage
@@ -12733,6 +12767,8 @@ self: {
        pname = "MonadRandom";
        version = "0.5.1";
        sha256 = "11qdfghizww810vdj9ac1f5qr5kdmrk40l6w6qh311bjh290ygwy";
+       revision = "1";
+       editedCabalFile = "19242r11a7iqr8dnbxsac04c3ylh7xkan70pdv5k3jzcmfwn4shd";
        libraryHaskellDepends = [
          base fail mtl primitive random transformers transformers-compat
        ];
@@ -12960,17 +12996,17 @@ self: {
   "MusicBrainz" = callPackage
     ({ mkDerivation, aeson, base, bytestring, conduit, conduit-extra
      , HTTP, http-conduit, http-types, monad-control, resourcet, text
-     , time, time-locale-compat, transformers, vector, xml-conduit
-     , xml-types
+     , time, time-locale-compat, transformers, unliftio-core, vector
+     , xml-conduit, xml-types
      }:
      mkDerivation {
        pname = "MusicBrainz";
-       version = "0.3.1";
-       sha256 = "1zgk2ms1a5zd6wndc41z3f8p2pfygiijpijxbjhr1fqwb2bzs61m";
+       version = "0.4";
+       sha256 = "0aanc1c43di5wq9c2w0b5lw3p24cwpaksgxy79lqm8qxj8qd3jxr";
        libraryHaskellDepends = [
          aeson base bytestring conduit conduit-extra HTTP http-conduit
          http-types monad-control resourcet text time time-locale-compat
-         transformers vector xml-conduit xml-types
+         transformers unliftio-core vector xml-conduit xml-types
        ];
        homepage = "http://floss.scru.org/hMusicBrainz";
        description = "interface to MusicBrainz XML2 and JSON web services";
@@ -13301,8 +13337,8 @@ self: {
      }:
      mkDerivation {
        pname = "Network-NineP";
-       version = "0.4.2";
-       sha256 = "136pqyxpjyml0hfblpj6hmhsy2i8r796shcnl0rwljmvw1mhcg6d";
+       version = "0.4.3";
+       sha256 = "1hsfcicijzqy7vxvknxxq9qa4qx3d1smg6mw4mpvk46nvxny8sc1";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -13666,6 +13702,30 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "ONC-RPC" = callPackage
+    ({ mkDerivation, base, bytestring, Cabal, cereal, containers
+     , filepath, haskell-src-exts, network, parsec, random, time, unix
+     , vector
+     }:
+     mkDerivation {
+       pname = "ONC-RPC";
+       version = "0.1";
+       sha256 = "19smd0rp0jx9i59jgjk149g4czpwjx173szhp1z9dvm5j0pdwyy5";
+       isLibrary = true;
+       isExecutable = true;
+       setupHaskellDepends = [
+         base bytestring Cabal cereal containers filepath haskell-src-exts
+         parsec vector
+       ];
+       libraryHaskellDepends = [
+         base bytestring Cabal cereal containers filepath haskell-src-exts
+         network parsec random time unix vector
+       ];
+       executableHaskellDepends = [ base filepath ];
+       description = "ONC RPC (aka Sun RPC) and XDR library";
+       license = stdenv.lib.licenses.asl20;
+     }) {};
+
   "OSM" = callPackage
     ({ mkDerivation, base, comonad-transformers, containers, data-lens
      , hxt, newtype
@@ -13759,26 +13819,32 @@ self: {
      }) {};
 
   "Octree" = callPackage
-    ({ mkDerivation, AC-Vector, base, QuickCheck }:
+    ({ mkDerivation, base, criterion, deepseq, ghc-prim, lens, linear
+     , QuickCheck
+     }:
      mkDerivation {
        pname = "Octree";
-       version = "0.5.4.4";
-       sha256 = "0a5mikif0pd2ps5na2wahbl4l0259sdgih34m417j6a24qr1skjs";
-       libraryHaskellDepends = [ AC-Vector base QuickCheck ];
-       testHaskellDepends = [ AC-Vector base QuickCheck ];
+       version = "0.6.0.0";
+       sha256 = "1inyjclxx856gxrxdph649s5kdy2xf0lwr8g57rkqnpqpmprj797";
+       libraryHaskellDepends = [ base deepseq lens linear QuickCheck ];
+       testHaskellDepends = [ base deepseq lens linear QuickCheck ];
+       benchmarkHaskellDepends = [
+         base criterion deepseq ghc-prim lens linear QuickCheck
+       ];
        homepage = "https://github.com/mgajda/octree";
        description = "Simple unbalanced Octree for storing data about 3D points";
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
   "OddWord" = callPackage
-    ({ mkDerivation, base, QuickCheck }:
+    ({ mkDerivation, base, criterion, hspec, QuickCheck }:
      mkDerivation {
        pname = "OddWord";
-       version = "1.0.1.0";
-       sha256 = "0aa3pp2ivbddn3632cnkxd3bj8373ns1nf4v2jvz7zcijiz4chx1";
+       version = "1.0.2.0";
+       sha256 = "14hd7dd3dyfd9cs9kgxjippi2awpambn2ia7s3kxcvinnfbigj3r";
        libraryHaskellDepends = [ base ];
-       testHaskellDepends = [ base QuickCheck ];
+       testHaskellDepends = [ base hspec QuickCheck ];
+       benchmarkHaskellDepends = [ base criterion ];
        homepage = "http://www.gekkou.co.uk/";
        description = "Provides a wrapper for deriving word types with fewer bits";
        license = stdenv.lib.licenses.bsd3;
@@ -13841,6 +13907,8 @@ self: {
        pname = "OneTuple";
        version = "0.2.1";
        sha256 = "1x52b68zh3k9lnps5s87kzan7dzvqp6mrwgayjq15w9dv6v78vsb";
+       revision = "1";
+       editedCabalFile = "1kb7f21n9vwwrk4kipqdwdqs94k34zai6yy0kgdn22zi442yicjh";
        libraryHaskellDepends = [ base ];
        description = "Singleton Tuple";
        license = stdenv.lib.licenses.bsd3;
@@ -13964,8 +14032,8 @@ self: {
      }:
      mkDerivation {
        pname = "OpenGL";
-       version = "3.0.2.0";
-       sha256 = "1yqf8li6h2cwd7s3n99afmqyx628v9xkrf6jy8n4sqadf9cr9ags";
+       version = "3.0.2.1";
+       sha256 = "1gsrlp2if5zwq0icjmsmva3cj719qpwagsmg6dlvps0xj4dqkjvs";
        libraryHaskellDepends = [
          base bytestring containers GLURaw ObjectName OpenGLRaw StateVar
          text transformers
@@ -13990,7 +14058,7 @@ self: {
      }) {};
 
   "OpenGLRaw" = callPackage
-    ({ mkDerivation, base, bytestring, containers, fixed, half, mesa
+    ({ mkDerivation, base, bytestring, containers, fixed, half, libGL
      , text, transformers
      }:
      mkDerivation {
@@ -14000,11 +14068,29 @@ self: {
        libraryHaskellDepends = [
          base bytestring containers fixed half text transformers
        ];
-       librarySystemDepends = [ mesa ];
+       librarySystemDepends = [ libGL ];
        homepage = "http://www.haskell.org/haskellwiki/Opengl";
        description = "A raw binding for the OpenGL graphics system";
        license = stdenv.lib.licenses.bsd3;
-     }) {mesa = null;};
+     }) {inherit (pkgs) libGL;};
+
+  "OpenGLRaw_3_3_0_1" = callPackage
+    ({ mkDerivation, base, bytestring, containers, fixed, half, libGL
+     , text, transformers
+     }:
+     mkDerivation {
+       pname = "OpenGLRaw";
+       version = "3.3.0.1";
+       sha256 = "0jzipa8avnrsw2via8ks012illwg2in27l01y1bp35ci0w2f92fq";
+       libraryHaskellDepends = [
+         base bytestring containers fixed half text transformers
+       ];
+       librarySystemDepends = [ libGL ];
+       homepage = "http://www.haskell.org/haskellwiki/Opengl";
+       description = "A raw binding for the OpenGL graphics system";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {inherit (pkgs) libGL;};
 
   "OpenGLRaw21" = callPackage
     ({ mkDerivation, OpenGLRaw }:
@@ -14173,6 +14259,7 @@ self: {
        homepage = "https://github.com/MarisaKirisame/Ordinary#readme";
        description = "A Programming Language in Construction";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "PArrows" = callPackage
@@ -14266,6 +14353,8 @@ self: {
        pname = "PSQueue";
        version = "1.1";
        sha256 = "1k291bh8j5vpcrn6vycww2blwg7jxx9yrfmrqdanz48gs4d8gq58";
+       revision = "1";
+       editedCabalFile = "0gpx33bkhpwya7prnqzwpbnylm4v4nm4x8m02ggmj7d6rkklb2qq";
        libraryHaskellDepends = [ base ];
        description = "Priority Search Queue";
        license = stdenv.lib.licenses.bsd3;
@@ -14879,6 +14968,7 @@ self: {
        homepage = "https://github.com/choener/PrimitiveArray";
        description = "Efficient multidimensional arrays";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "PrimitiveArray-Pretty" = callPackage
@@ -14902,6 +14992,7 @@ self: {
        homepage = "https://github.com/choener/PrimitiveArray-Pretty";
        description = "Pretty-printing for primitive arrays";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "Printf-TH" = callPackage
@@ -15087,6 +15178,26 @@ self: {
        license = stdenv.lib.licenses.gpl3;
      }) {};
 
+  "PyF" = callPackage
+    ({ mkDerivation, base, containers, formatting, haskell-src-meta
+     , hspec, megaparsec, process, template-haskell, text
+     }:
+     mkDerivation {
+       pname = "PyF";
+       version = "0.5.0.0";
+       sha256 = "0i0ir7i17r7lzk6c58yybsvz4s9131d1xc3jz3m3lhl3hsvyrgz5";
+       libraryHaskellDepends = [
+         base containers formatting haskell-src-meta megaparsec
+         template-haskell text
+       ];
+       testHaskellDepends = [
+         base formatting hspec process template-haskell text
+       ];
+       description = "Quasiquotations for a python like interpolated string formater";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "QIO" = callPackage
     ({ mkDerivation, base, containers, mtl, old-time, random }:
      mkDerivation {
@@ -15260,8 +15371,8 @@ self: {
     ({ mkDerivation, base, QuickCheck }:
      mkDerivation {
        pname = "QuickCheck-safe";
-       version = "0.1.0.3";
-       sha256 = "0fwnywnmdws04f1y7qw0l8hawa2hn99x62g1mpjwcdx8dm4yal7f";
+       version = "0.1.0.4";
+       sha256 = "0ixizi0cshqqczm86rnibas8zygf8i29l3i0jivvb81zi89rscl7";
        libraryHaskellDepends = [ base QuickCheck ];
        description = "Safe reimplementation of QuickCheck's core";
        license = stdenv.lib.licenses.mit;
@@ -15560,6 +15671,7 @@ self: {
        ];
        description = "Unsupervized construction of RNA family models";
        license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "RNAwolf" = callPackage
@@ -15742,8 +15854,8 @@ self: {
      }:
      mkDerivation {
        pname = "Rasterific";
-       version = "0.7.2.1";
-       sha256 = "0x2dyk72krfxwz2kk7w8cr8ws9imv7c2sgy1v4nsffjsb94qcvbz";
+       version = "0.7.3";
+       sha256 = "0y92h3mjsr1vjcxc06lh1lvszicf53l1bzdaci5mjb5gmiq8f2px";
        libraryHaskellDepends = [
          base bytestring containers dlist FontyFruity free JuicyPixels mtl
          primitive transformers vector vector-algorithms
@@ -15790,6 +15902,7 @@ self: {
        homepage = "https://github.com/lookunder/RedmineHs";
        description = "Library to access Redmine's REST services";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "Ref" = callPackage
@@ -16213,8 +16326,8 @@ self: {
      }:
      mkDerivation {
        pname = "SHA";
-       version = "1.6.4.2";
-       sha256 = "134ajm87fm4lpsw86m9q8apv20dw4bpk46raa389zr6bcdpifw64";
+       version = "1.6.4.4";
+       sha256 = "0i4b2wjisivdy72synal711ywhx05mfqfba5n65rk8qidggm1nbb";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ array base binary bytestring ];
@@ -16388,6 +16501,7 @@ self: {
        ];
        description = "translate a SVD of a Microcontroller to Haskell tables";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "SVG2Q" = callPackage
@@ -16413,20 +16527,21 @@ self: {
     ({ mkDerivation, attoparsec, base, blaze-markup, blaze-svg
      , bytestring, cereal, cereal-vector, containers, data-default-class
      , diagrams-core, diagrams-lib, directory, parsec, split, text
-     , tuple, vector, xml
+     , vector, xml
      }:
      mkDerivation {
        pname = "SVGFonts";
-       version = "1.6.0.3";
-       sha256 = "11sqycvvsg9avxqh3z82x3wllhy6a9c0d36qzm2w6w4hg5iqi3xw";
+       version = "1.7";
+       sha256 = "1k9ili7l9pp5a009jh55vigb917wdnsl6iaz0ggp6d4nw1jwsg6s";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          attoparsec base blaze-markup blaze-svg bytestring cereal
          cereal-vector containers data-default-class diagrams-core
-         diagrams-lib directory parsec split text tuple vector xml
+         diagrams-lib directory parsec split text vector xml
        ];
        description = "Fonts from the SVG-Font format";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "SVGPath" = callPackage
@@ -16552,10 +16667,8 @@ self: {
      }:
      mkDerivation {
        pname = "SciFlow";
-       version = "0.6.0";
-       sha256 = "1b57sa2gx3jj00239sq62qmywjykc80lkk587lwzrdp9w5ycl4sb";
-       revision = "1";
-       editedCabalFile = "1nsakdi9y5nnwm8x9f2a1cvf55k0wnva3wkd9nmz9my8mlk2jfi3";
+       version = "0.6.1";
+       sha256 = "0axwf7rdwhl3ppq6qlxrffzbzbwvb8q0ygpnlzc2yvksiqzp9h2g";
        libraryHaskellDepends = [
          aeson base bytestring cereal cereal-text containers
          data-default-class directory exceptions executable-path fgl
@@ -16628,8 +16741,8 @@ self: {
      }:
      mkDerivation {
        pname = "SelectSequencesFromMSA";
-       version = "1.0.3";
-       sha256 = "0i2nzwv0czg1igyfiyk5n748j15fcavn84dwxibiqf48wzjz9gsc";
+       version = "1.0.5";
+       sha256 = "0m68xiaa6acaq30qlscpd5lm7x0rfrqxyn0krwahkqd5s9h5aj7i";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -16640,8 +16753,9 @@ self: {
        executableHaskellDepends = [
          base cmdargs directory either-unwrap
        ];
-       description = "SelectSequences is a tool for selection of a represenative subset of sequences from a multiple sequence alignment in clustal format";
+       description = "Selects a representative subset of sequences from multiple sequence alignment";
        license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "Semantique" = callPackage
@@ -16704,15 +16818,18 @@ self: {
      }) {};
 
   "ShellCheck" = callPackage
-    ({ mkDerivation, base, containers, directory, json, mtl, parsec
-     , process, QuickCheck, regex-tdfa
+    ({ mkDerivation, base, Cabal, containers, directory, json, mtl
+     , parsec, process, QuickCheck, regex-tdfa
      }:
      mkDerivation {
        pname = "ShellCheck";
        version = "0.4.7";
        sha256 = "0z0dlx4s0j5v627cvns5qdq1r6kcka5nif8g62hdria29lk5aj8q";
+       revision = "1";
+       editedCabalFile = "0fbrysx6wb9kmlzbfyjcb7107rnf0rjldlszaqnpib33vwd7l1hx";
        isLibrary = true;
        isExecutable = true;
+       setupHaskellDepends = [ base Cabal process ];
        libraryHaskellDepends = [
          base containers directory json mtl parsec process QuickCheck
          regex-tdfa
@@ -16723,7 +16840,7 @@ self: {
        testHaskellDepends = [
          base containers directory json mtl parsec QuickCheck regex-tdfa
        ];
-       homepage = "http://www.shellcheck.net/";
+       homepage = "https://www.shellcheck.net/";
        description = "Shell script analysis tool";
        license = stdenv.lib.licenses.gpl3;
      }) {};
@@ -16845,8 +16962,8 @@ self: {
     ({ mkDerivation, base, GLUT }:
      mkDerivation {
        pname = "Shu-thing";
-       version = "1.1.3";
-       sha256 = "185vcxd3qvii9k0134j634x6znvk7v83sj24a4dnw7jjsax0kqiv";
+       version = "1.1.4";
+       sha256 = "1j42jgv27lj723mnq3dbc94zirhbbksahzw6y43ay1iylw870yjs";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [ base GLUT ];
@@ -17469,8 +17586,8 @@ self: {
     ({ mkDerivation, base, stm, transformers }:
      mkDerivation {
        pname = "StateVar";
-       version = "1.1.0.4";
-       sha256 = "1dzz9l0haswgag9x56q7n57kw18v7nhmzkjyr61nz9y9npn8vmks";
+       version = "1.1.1.0";
+       sha256 = "102f4x240zj3jwa7gx6vp813j76cjhlc3zbi9i5kiz6268kcv28s";
        libraryHaskellDepends = [ base stm transformers ];
        homepage = "https://github.com/haskell-opengl/StateVar";
        description = "State variables";
@@ -17516,6 +17633,7 @@ self: {
        ];
        description = "Libary for Stockholm aligmnent format";
        license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "Stomp" = callPackage
@@ -17571,10 +17689,8 @@ self: {
     ({ mkDerivation, base, directory, mtl, syb, transformers }:
      mkDerivation {
        pname = "Strafunski-StrategyLib";
-       version = "5.0.0.10";
-       sha256 = "1hhcx0arzyrw8ij5ispnqysbipxyznbs5g9pkmy63fzn3l2im2ih";
-       revision = "1";
-       editedCabalFile = "031p57vf33vdhwk1p4d1jzpk8fcl2js8kzdg7gyhz9g11vl2n4j9";
+       version = "5.0.1.0";
+       sha256 = "15d2m7ahb3jwriariaff0yz93mmrhpv579wink9838w9091cf650";
        libraryHaskellDepends = [ base directory mtl syb transformers ];
        description = "Library for strategic programming";
        license = stdenv.lib.licenses.bsd3;
@@ -17640,8 +17756,8 @@ self: {
     ({ mkDerivation, base }:
      mkDerivation {
        pname = "StringUtils";
-       version = "0.2.0.1";
-       sha256 = "1sxqcc17949kn9xbspyz4npbnqzsz05di22g3qdqc78b8mxi2psg";
+       version = "0.2.0.2";
+       sha256 = "1wbixjgzad3s9jj16kl0gvwg82g3hqvkag9wr5j58w98a4qyqw8i";
        libraryHaskellDepends = [ base ];
        description = "String manipulation utilities";
        license = stdenv.lib.licenses.lgpl3;
@@ -18854,6 +18970,7 @@ self: {
        homepage = "https://github.com/choener/ViennaRNA-extras";
        description = "ViennaRNA v2 extensions";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "ViennaRNAParser" = callPackage
@@ -19207,31 +19324,11 @@ self: {
      }) {};
 
   "Win32" = callPackage
-    ({ mkDerivation, advapi32, base, bytestring, filepath, gdi32, imm32
-     , msimg32, shell32, shfolder, shlwapi, user32, winmm
-     }:
-     mkDerivation {
-       pname = "Win32";
-       version = "2.5.4.1";
-       sha256 = "0r1xzm0w3kg8rqq24j17405ic6yix53r9sq9wpl4zl2sajg3w66c";
-       libraryHaskellDepends = [ base bytestring filepath ];
-       librarySystemDepends = [
-         advapi32 gdi32 imm32 msimg32 shell32 shfolder shlwapi user32 winmm
-       ];
-       homepage = "https://github.com/haskell/win32";
-       description = "A binding to part of the Win32 library";
-       license = stdenv.lib.licenses.bsd3;
-       platforms = stdenv.lib.platforms.none;
-     }) {advapi32 = null; gdi32 = null; imm32 = null; msimg32 = null; 
-         shell32 = null; shfolder = null; shlwapi = null; user32 = null; 
-         winmm = null;};
-
-  "Win32_2_7_0_0" = callPackage
     ({ mkDerivation }:
      mkDerivation {
        pname = "Win32";
-       version = "2.7.0.0";
-       sha256 = "1583c2x208bpwgvk0gyy2931604vikx57kyiiaxf7mp8shh13fhi";
+       version = "2.8.0.0";
+       sha256 = "0ppvpf2zx6547bqx7ysbq9ld99hf1v9rfa9s4f57hkn758l9ldm4";
        homepage = "https://github.com/haskell/win32";
        description = "A binding to Windows Win32 API";
        license = stdenv.lib.licenses.bsd3;
@@ -19532,6 +19629,26 @@ self: {
          inherit (pkgs.xorg) libXext; inherit (pkgs.xorg) libXinerama; 
          inherit (pkgs.xorg) libXrandr; inherit (pkgs.xorg) libXrender;};
 
+  "X11_1_9" = callPackage
+    ({ mkDerivation, base, data-default, libX11, libXext, libXinerama
+     , libXrandr, libXrender, libXScrnSaver
+     }:
+     mkDerivation {
+       pname = "X11";
+       version = "1.9";
+       sha256 = "1f8dy6ckkyvpcv7zlniyv01cqjb9lgqscm8pml58cvwc7n38w4qh";
+       libraryHaskellDepends = [ base data-default ];
+       librarySystemDepends = [
+         libX11 libXext libXinerama libXrandr libXrender libXScrnSaver
+       ];
+       homepage = "https://github.com/xmonad/X11";
+       description = "A binding to the X11 graphics library";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {inherit (pkgs.xorg) libX11; inherit (pkgs.xorg) libXScrnSaver; 
+         inherit (pkgs.xorg) libXext; inherit (pkgs.xorg) libXinerama; 
+         inherit (pkgs.xorg) libXrandr; inherit (pkgs.xorg) libXrender;};
+
   "X11-extras" = callPackage
     ({ mkDerivation, base, libX11, X11 }:
      mkDerivation {
@@ -19636,6 +19753,22 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {inherit (pkgs.xorg) xinput;};
 
+  "XML" = callPackage
+    ({ mkDerivation, base, base-unicode-symbols, smallcheck, tasty
+     , tasty-smallcheck, txt, util, vector
+     }:
+     mkDerivation {
+       pname = "XML";
+       version = "0.0.0.0";
+       sha256 = "1arlnyzj3zdzqrsr9lhicx2y1ag00cgf6jzn6nyxa7d7avp42025";
+       libraryHaskellDepends = [
+         base base-unicode-symbols txt util vector
+       ];
+       testHaskellDepends = [ base smallcheck tasty tasty-smallcheck ];
+       description = "Extensible Markup Language";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "XMLParser" = callPackage
     ({ mkDerivation, base, parsec }:
      mkDerivation {
@@ -19835,17 +19968,18 @@ self: {
      }) {};
 
   "YamlReference" = callPackage
-    ({ mkDerivation, base, bytestring, containers, directory, dlist
-     , hashmap, HUnit, mtl, regex-compat
+    ({ mkDerivation, base, bytestring, Cabal, containers, directory
+     , dlist, hashmap, HUnit, mtl, regex-compat
      }:
      mkDerivation {
        pname = "YamlReference";
        version = "0.10.0";
        sha256 = "01cjddbg98vs1bd66n0v58i415kqn7cfi6cslk384p7j2ivwv2ad";
-       revision = "1";
-       editedCabalFile = "1pcrd8ww4fm9big1bcafkmsl9kifixkyny9b3z172w8yhamk2wwq";
+       revision = "2";
+       editedCabalFile = "023997365188qvgrfg8wshmmlrjr7z435329pxcsvmfcywnc739a";
        isLibrary = true;
        isExecutable = true;
+       setupHaskellDepends = [ base Cabal ];
        libraryHaskellDepends = [
          base bytestring containers dlist regex-compat
        ];
@@ -19876,6 +20010,22 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "Yampa_0_11" = callPackage
+    ({ mkDerivation, base, deepseq, random }:
+     mkDerivation {
+       pname = "Yampa";
+       version = "0.11";
+       sha256 = "0frybgsj73r57rd6ckv9pgd9ff1g72qrlad90plb13cf2s6jdp3f";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [ base deepseq random ];
+       testHaskellDepends = [ base ];
+       homepage = "http://www.haskell.org/haskellwiki/Yampa";
+       description = "Library for programming hybrid systems";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "Yampa-core" = callPackage
     ({ mkDerivation, base, deepseq, random, vector-space }:
      mkDerivation {
@@ -20046,7 +20196,6 @@ self: {
        homepage = "http://github.com/bgwines/zora";
        description = "Graphing library wrapper + assorted useful functions";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "Zwaluw" = callPackage
@@ -20315,14 +20464,42 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "accelerate_1_2_0_0" = callPackage
+    ({ mkDerivation, ansi-terminal, ansi-wl-pprint, base, base-orphans
+     , bytestring, Cabal, cabal-doctest, constraints, containers
+     , cryptonite, deepseq, directory, doctest, exceptions, filepath
+     , ghc-prim, half, hashable, hashtables, hedgehog, lens, mtl, tasty
+     , tasty-expected-failure, tasty-hedgehog, tasty-hunit
+     , template-haskell, terminal-size, transformers, unique, unix
+     , unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "accelerate";
+       version = "1.2.0.0";
+       sha256 = "0y8wx09smrcxkyyklrf4lrilqasbmaw1w1ga9y110bqgywkw4pmj";
+       setupHaskellDepends = [ base Cabal cabal-doctest ];
+       libraryHaskellDepends = [
+         ansi-terminal ansi-wl-pprint base base-orphans bytestring
+         constraints containers cryptonite deepseq directory exceptions
+         filepath ghc-prim half hashable hashtables hedgehog lens mtl tasty
+         tasty-expected-failure tasty-hedgehog tasty-hunit template-haskell
+         terminal-size transformers unique unix unordered-containers vector
+       ];
+       testHaskellDepends = [ base doctest ];
+       homepage = "https://github.com/AccelerateHS/accelerate/";
+       description = "An embedded language for accelerated array processing";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "accelerate-arithmetic" = callPackage
     ({ mkDerivation, accelerate, accelerate-utility, base, QuickCheck
      , utility-ht
      }:
      mkDerivation {
        pname = "accelerate-arithmetic";
-       version = "1.0";
-       sha256 = "0gqclqxsa3vbv34h3sgbmhfnx646ipanhnf8xhq160w5ha0ng932";
+       version = "1.0.0.1";
+       sha256 = "05hnbsccd8wm984zpkrkk7653rwml33rq3hymy2llzbi010jm82y";
        libraryHaskellDepends = [
          accelerate accelerate-utility base QuickCheck utility-ht
        ];
@@ -20344,8 +20521,8 @@ self: {
        pname = "accelerate-bignum";
        version = "0.1.0.0";
        sha256 = "199h9vq62hxs7pdwch8xh8zcx9kz9x6195yi389k1va6srkw863w";
-       revision = "1";
-       editedCabalFile = "0gwfw6bzy00spi0nm82p63fjc7sigk733ysnla64znqilca8nrmv";
+       revision = "2";
+       editedCabalFile = "00s0n5jqahn15m8x81chavv8blzjjb8z6368pl3diaadd8bi8hsv";
        libraryHaskellDepends = [
          accelerate accelerate-llvm accelerate-llvm-native
          accelerate-llvm-ptx base ghc-prim llvm-hs-pure template-haskell
@@ -20364,6 +20541,35 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "accelerate-bignum_0_2_0_0" = callPackage
+    ({ mkDerivation, accelerate, accelerate-io, accelerate-llvm
+     , accelerate-llvm-native, accelerate-llvm-ptx, base, criterion
+     , ghc-prim, hedgehog, llvm-hs-pure, mwc-random, tasty
+     , tasty-hedgehog, template-haskell, vector, vector-th-unbox
+     , wide-word
+     }:
+     mkDerivation {
+       pname = "accelerate-bignum";
+       version = "0.2.0.0";
+       sha256 = "0xhnd39fb17kb7q5z9z8svn8zlv6j1wxrbkv3vij4f1q2hkqkl0p";
+       libraryHaskellDepends = [
+         accelerate accelerate-llvm accelerate-llvm-native
+         accelerate-llvm-ptx base ghc-prim llvm-hs-pure template-haskell
+       ];
+       testHaskellDepends = [
+         accelerate accelerate-llvm-native accelerate-llvm-ptx base hedgehog
+         tasty tasty-hedgehog
+       ];
+       benchmarkHaskellDepends = [
+         accelerate accelerate-io accelerate-llvm-native accelerate-llvm-ptx
+         base criterion mwc-random vector vector-th-unbox wide-word
+       ];
+       homepage = "https://github.com/tmcdonell/accelerate-bignum";
+       description = "Fixed-length large integer arithmetic for Accelerate";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "accelerate-blas" = callPackage
     ({ mkDerivation, accelerate, accelerate-llvm
      , accelerate-llvm-native, accelerate-llvm-ptx, base, blas-hs
@@ -20394,6 +20600,35 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "accelerate-blas_0_2_0_0" = callPackage
+    ({ mkDerivation, accelerate, accelerate-llvm
+     , accelerate-llvm-native, accelerate-llvm-ptx, base, blas-hs
+     , bytestring, containers, criterion, cublas, cuda, deepseq
+     , file-embed, hedgehog, hmatrix, llvm-hs-pure, mtl, mwc-random
+     , mwc-random-accelerate, tasty, tasty-hedgehog
+     }:
+     mkDerivation {
+       pname = "accelerate-blas";
+       version = "0.2.0.0";
+       sha256 = "0y77wsdw0i7b5bzlfrrn9q4d8q95r8z71g8qy77n24db1pwmjqy9";
+       libraryHaskellDepends = [
+         accelerate accelerate-llvm accelerate-llvm-native
+         accelerate-llvm-ptx base blas-hs bytestring containers cublas cuda
+         file-embed llvm-hs-pure mtl
+       ];
+       testHaskellDepends = [
+         accelerate accelerate-llvm-native accelerate-llvm-ptx base hedgehog
+         tasty tasty-hedgehog
+       ];
+       benchmarkHaskellDepends = [
+         accelerate accelerate-llvm-native accelerate-llvm-ptx base
+         criterion deepseq hmatrix mwc-random mwc-random-accelerate
+       ];
+       description = "Numeric Linear Algebra in Accelerate";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "accelerate-cublas" = callPackage
     ({ mkDerivation, accelerate, accelerate-arithmetic, accelerate-cuda
      , accelerate-io, accelerate-utility, base, cublas, cuda, hmatrix
@@ -20471,22 +20706,20 @@ self: {
 
   "accelerate-examples" = callPackage
     ({ mkDerivation, accelerate, accelerate-fft, accelerate-io
-     , accelerate-llvm-native, accelerate-llvm-ptx, ansi-wl-pprint
-     , array, base, binary, bmp, bytestring, bytestring-lexing, cereal
+     , accelerate-llvm-native, accelerate-llvm-ptx, ansi-wl-pprint, base
+     , binary, bmp, bytestring, bytestring-lexing, cereal
      , colour-accelerate, containers, criterion, directory, fclabels
      , filepath, gloss, gloss-accelerate, gloss-raster-accelerate
      , gloss-rendering, HUnit, lens-accelerate, linear
      , linear-accelerate, matrix-market-attoparsec, mwc-random
-     , normaldistribution, pipes, QuickCheck, random, repa, repa-io
-     , scientific, test-framework, test-framework-hunit
-     , test-framework-quickcheck2, vector, vector-algorithms
+     , normaldistribution, QuickCheck, random, repa, repa-io, scientific
+     , test-framework, test-framework-hunit, test-framework-quickcheck2
+     , vector, vector-algorithms
      }:
      mkDerivation {
        pname = "accelerate-examples";
-       version = "1.1.0.0";
-       sha256 = "0zpjmk6v314jfda7fy22xghfqlqfh8vyf938qwyp6xjf1mpq1r1x";
-       revision = "2";
-       editedCabalFile = "1r53mc266gr6h2j0diyb82isaw72g6cdgvlqbhcnlidi3g7vqqcs";
+       version = "1.2.0.0";
+       sha256 = "1gb4m1ri461f78x913ipxh14ybwl9wzbv81w8943whiwrmb3p5pc";
        configureFlags = [ "-f-opencl" ];
        isLibrary = true;
        isExecutable = true;
@@ -20497,14 +20730,13 @@ self: {
          test-framework-quickcheck2
        ];
        executableHaskellDepends = [
-         accelerate accelerate-fft accelerate-io array base binary bmp
-         bytestring bytestring-lexing cereal colour-accelerate containers
-         criterion directory fclabels filepath gloss gloss-accelerate
-         gloss-raster-accelerate gloss-rendering HUnit lens-accelerate
+         accelerate accelerate-fft accelerate-io base binary bmp bytestring
+         bytestring-lexing cereal colour-accelerate containers criterion
+         directory fclabels filepath gloss gloss-accelerate
+         gloss-raster-accelerate gloss-rendering lens-accelerate
          linear-accelerate matrix-market-attoparsec mwc-random
-         normaldistribution pipes QuickCheck random repa repa-io scientific
-         test-framework test-framework-hunit test-framework-quickcheck2
-         vector vector-algorithms
+         normaldistribution random repa repa-io scientific vector
+         vector-algorithms
        ];
        homepage = "https://github.com/AccelerateHS/accelerate-examples";
        description = "Examples using the Accelerate library";
@@ -20532,14 +20764,40 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "accelerate-fft_1_2_0_0" = callPackage
+    ({ mkDerivation, accelerate, accelerate-llvm
+     , accelerate-llvm-native, accelerate-llvm-ptx, base, bytestring
+     , carray, containers, cuda, cufft, fft, file-embed, hashable
+     , hedgehog, lens-accelerate, mtl, tasty, tasty-hedgehog
+     , unordered-containers
+     }:
+     mkDerivation {
+       pname = "accelerate-fft";
+       version = "1.2.0.0";
+       sha256 = "19p9d59vdd3nq97xjprlb6fz2ajlk6gl37cdyvrm9inag4nnk6lp";
+       libraryHaskellDepends = [
+         accelerate accelerate-llvm accelerate-llvm-native
+         accelerate-llvm-ptx base bytestring carray containers cuda cufft
+         fft file-embed hashable lens-accelerate mtl unordered-containers
+       ];
+       testHaskellDepends = [
+         accelerate accelerate-llvm-native accelerate-llvm-ptx base hedgehog
+         tasty tasty-hedgehog
+       ];
+       homepage = "https://github.com/AccelerateHS/accelerate-fft";
+       description = "FFT using the Accelerate library";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "accelerate-fftw" = callPackage
     ({ mkDerivation, accelerate, accelerate-io, base, carray, fft
      , storable-complex
      }:
      mkDerivation {
        pname = "accelerate-fftw";
-       version = "1.0";
-       sha256 = "0b4jr7v3jllvlis0f554l9289zm07ddjgp5q2rp5l47rmsmaak7z";
+       version = "1.0.0.1";
+       sha256 = "1qakxrm0f61zb21awjvpiw5054p7lhrm9sa2bha4jfzksw9phypy";
        libraryHaskellDepends = [
          accelerate accelerate-io base carray fft storable-complex
        ];
@@ -20555,8 +20813,8 @@ self: {
      }:
      mkDerivation {
        pname = "accelerate-fourier";
-       version = "1.0.0.3";
-       sha256 = "1xh6anashsvj5mfkwbl3as9gjgwl69q0qz3js0xbii8vdmhbbbnb";
+       version = "1.0.0.5";
+       sha256 = "03bbs6k6mn76nsgjhi823mzmhl3fsgyqjqix9wsslj8jh2vg3kr8";
        libraryHaskellDepends = [
          accelerate accelerate-arithmetic accelerate-utility base containers
          QuickCheck transformers utility-ht
@@ -20572,7 +20830,6 @@ self: {
        homepage = "http://hub.darcs.net/thielema/accelerate-fourier/";
        description = "Fast Fourier transform and convolution using the Accelerate framework";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "accelerate-fourier-benchmark" = callPackage
@@ -20603,6 +20860,8 @@ self: {
        pname = "accelerate-io";
        version = "1.0.0.1";
        sha256 = "1q3l4k4h6p8y9w6qzxjanm5ww3ncz236fna2kqdqndyv18b8v9pm";
+       revision = "1";
+       editedCabalFile = "1qf7f1swy5h1fqaciw1swvwrvmqrcmi03v0vqsx6ccxf2zxcjlal";
        libraryHaskellDepends = [
          accelerate array base bmp bytestring repa vector
        ];
@@ -20611,6 +20870,26 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "accelerate-io_1_2_0_0" = callPackage
+    ({ mkDerivation, accelerate, array, base, bmp, bytestring, hedgehog
+     , primitive, repa, tasty, tasty-hedgehog, vector
+     }:
+     mkDerivation {
+       pname = "accelerate-io";
+       version = "1.2.0.0";
+       sha256 = "13pqqsd5pbxmgsxnp9w141mnwscnlmbhxaz6f5jx4ssipnma2pwf";
+       libraryHaskellDepends = [
+         accelerate array base bmp bytestring primitive repa vector
+       ];
+       testHaskellDepends = [
+         accelerate array base hedgehog tasty tasty-hedgehog vector
+       ];
+       homepage = "https://github.com/AccelerateHS/accelerate-io";
+       description = "Read and write Accelerate arrays in various formats";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "accelerate-llvm" = callPackage
     ({ mkDerivation, abstract-deque, accelerate, base, bytestring
      , chaselev-deque, containers, data-default-class, deepseq
@@ -20632,6 +20911,27 @@ self: {
        ];
        description = "Accelerate backend component generating LLVM IR";
        license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "accelerate-llvm_1_2_0_0" = callPackage
+    ({ mkDerivation, abstract-deque, accelerate, base, bytestring
+     , chaselev-deque, containers, data-default-class, deepseq
+     , directory, dlist, exceptions, filepath, llvm-hs, llvm-hs-pure
+     , mtl, mwc-random, primitive, template-haskell
+     , unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "accelerate-llvm";
+       version = "1.2.0.0";
+       sha256 = "110zfxqi0lkhg7pk42qvd87qn442r6z264zj7q46jf8ia60l2cdq";
+       libraryHaskellDepends = [
+         abstract-deque accelerate base bytestring chaselev-deque containers
+         data-default-class deepseq directory dlist exceptions filepath
+         llvm-hs llvm-hs-pure mtl mwc-random primitive template-haskell
+         unordered-containers vector
+       ];
+       description = "Accelerate backend component generating LLVM IR";
+       license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
@@ -20655,6 +20955,27 @@ self: {
        libraryToolDepends = [ c2hs ];
        description = "Accelerate backend for multicore CPUs";
        license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "accelerate-llvm-native_1_2_0_0" = callPackage
+    ({ mkDerivation, accelerate, accelerate-llvm, base, bytestring
+     , c2hs, Cabal, cereal, containers, directory, dlist, filepath, ghc
+     , ghc-prim, hashable, libffi, llvm-hs, llvm-hs-pure, mtl
+     , template-haskell, time, unique, unix, vector
+     }:
+     mkDerivation {
+       pname = "accelerate-llvm-native";
+       version = "1.2.0.0";
+       sha256 = "089j8ic6ns6656a55byiilrj9jvs535jvx4f2m8x1qhgz9q968vb";
+       libraryHaskellDepends = [
+         accelerate accelerate-llvm base bytestring Cabal cereal containers
+         directory dlist filepath ghc ghc-prim hashable libffi llvm-hs
+         llvm-hs-pure mtl template-haskell time unique unix vector
+       ];
+       libraryToolDepends = [ c2hs ];
+       testHaskellDepends = [ accelerate base ];
+       description = "Accelerate backend for multicore CPUs";
+       license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
@@ -20679,6 +21000,27 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "accelerate-llvm-ptx_1_2_0_0" = callPackage
+    ({ mkDerivation, accelerate, accelerate-llvm, base, bytestring
+     , containers, cuda, deepseq, directory, dlist, file-embed, filepath
+     , hashable, llvm-hs, llvm-hs-pure, mtl, nvvm, pretty, process
+     , template-haskell, time, unordered-containers
+     }:
+     mkDerivation {
+       pname = "accelerate-llvm-ptx";
+       version = "1.2.0.0";
+       sha256 = "1rh0kq10mwn4zd8f5sp19pah2hmmcansaqqssz79183znzfiviz5";
+       libraryHaskellDepends = [
+         accelerate accelerate-llvm base bytestring containers cuda deepseq
+         directory dlist file-embed filepath hashable llvm-hs llvm-hs-pure
+         mtl nvvm pretty process template-haskell time unordered-containers
+       ];
+       testHaskellDepends = [ accelerate base ];
+       description = "Accelerate backend for NVIDIA GPUs";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "accelerate-random" = callPackage
     ({ mkDerivation, accelerate, base, mwc-random }:
      mkDerivation {
@@ -20718,8 +21060,8 @@ self: {
     ({ mkDerivation, accelerate, base, utility-ht }:
      mkDerivation {
        pname = "accelerate-utility";
-       version = "1.0";
-       sha256 = "16ir7ra99dhk04sg7ap7wwsbazdnadsnkd0ggq60j5cr2jp7x6lk";
+       version = "1.0.0.1";
+       sha256 = "1wdxypkgkjngrlkw4fnxqqqbcy3chaw5fim0xyzcbh52zd0b62wh";
        libraryHaskellDepends = [ accelerate base utility-ht ];
        homepage = "http://hub.darcs.net/thielema/accelerate-utility/";
        description = "Utility functions for the Accelerate framework";
@@ -20752,6 +21094,33 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "access-token-provider" = callPackage
+    ({ mkDerivation, aeson, aeson-casing, base, base64-bytestring
+     , bytestring, containers, exceptions, filepath, http-client
+     , http-client-tls, http-types, katip, lens, lens-aeson, mtl, random
+     , safe-exceptions, say, stm, tasty, tasty-hunit, text, th-format
+     , transformers, unliftio, unliftio-core, uuid
+     }:
+     mkDerivation {
+       pname = "access-token-provider";
+       version = "0.1.1.0";
+       sha256 = "18j07sb100zb407n7dpyppi5mc20g57y73k3sscmvlgq6yqdxwk4";
+       libraryHaskellDepends = [
+         aeson aeson-casing base base64-bytestring bytestring containers
+         exceptions filepath http-client http-client-tls http-types katip
+         lens lens-aeson mtl random safe-exceptions say stm text th-format
+         transformers unliftio unliftio-core
+       ];
+       testHaskellDepends = [
+         aeson base bytestring containers exceptions http-client http-types
+         katip lens mtl random safe-exceptions tasty tasty-hunit text
+         th-format unliftio unliftio-core uuid
+       ];
+       homepage = "https://github.com/mtesseract/access-token-provider#readme";
+       description = "Provides Access Token for Services";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "accuerr" = callPackage
     ({ mkDerivation, base, bifunctors, lens, semigroups }:
      mkDerivation {
@@ -21446,8 +21815,8 @@ self: {
        pname = "active";
        version = "0.2.0.13";
        sha256 = "1yw029rh0gb63bhwwjynbv173mny14is4cyjkrlvzvxwb0fi96jx";
-       revision = "3";
-       editedCabalFile = "0jm8kkqa5k9nppis3jdx11nmds6w0x62rmnv5bn5q3b75llhnlc1";
+       revision = "4";
+       editedCabalFile = "1p2gaazj7r98v45d57hshgv6nxam5l47dl6y9iq65z5zqylmz7q2";
        libraryHaskellDepends = [
          base lens linear semigroupoids semigroups vector
        ];
@@ -21538,8 +21907,8 @@ self: {
        pname = "ad";
        version = "4.3.5";
        sha256 = "0q4dvi02k21jq8xf0ywgmcs5mph4hpx5s3y3pj839y0g3x5paplw";
-       revision = "2";
-       editedCabalFile = "0307kxvxzfsp9jlkhj4rcc6rncndq2ih87b8vn9h55fzii868j74";
+       revision = "3";
+       editedCabalFile = "14g2lfsw1fi4gn2cgvhglz4gyi797xk9g1r4pf46g734ivfl67c5";
        setupHaskellDepends = [ base Cabal cabal-doctest ];
        libraryHaskellDepends = [
          array base comonad containers data-reify erf free nats reflection
@@ -21671,27 +22040,6 @@ self: {
 
   "adjunctions" = callPackage
     ({ mkDerivation, array, base, comonad, containers, contravariant
-     , distributive, free, mtl, profunctors, semigroupoids, semigroups
-     , tagged, transformers, transformers-compat, void
-     }:
-     mkDerivation {
-       pname = "adjunctions";
-       version = "4.3";
-       sha256 = "1k1ykisf96i4g2zm47c45md7p42c4vsp9r73392pz1g8mx7s2j5r";
-       revision = "1";
-       editedCabalFile = "1079l9szyr7ybi9wcvv1vjsjfrqirkn9z3j7dann8vbk81a4z37q";
-       libraryHaskellDepends = [
-         array base comonad containers contravariant distributive free mtl
-         profunctors semigroupoids semigroups tagged transformers
-         transformers-compat void
-       ];
-       homepage = "http://github.com/ekmett/adjunctions/";
-       description = "Adjunctions and representable functors";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "adjunctions_4_4" = callPackage
-    ({ mkDerivation, array, base, comonad, containers, contravariant
      , distributive, free, generic-deriving, hspec, hspec-discover, mtl
      , profunctors, semigroupoids, semigroups, tagged, transformers
      , transformers-compat, void
@@ -21710,17 +22058,14 @@ self: {
        homepage = "http://github.com/ekmett/adjunctions/";
        description = "Adjunctions and representable functors";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "adler32" = callPackage
     ({ mkDerivation, base, bytestring, hspec, zlib }:
      mkDerivation {
        pname = "adler32";
-       version = "0.1.1.0";
-       sha256 = "1v18d4xfbgqflx957xy6wiv7zhkgimpy85fy49d91p2ifkmbk32p";
-       revision = "1";
-       editedCabalFile = "087fykdlay78g9zg1w6a36xwd4pizcyi5wqzvj7cw5sh6gq493km";
+       version = "0.1.2.0";
+       sha256 = "1936b05mx842wm8swz3g3jv6m9absa04islq4rwysicz72gkrd16";
        libraryHaskellDepends = [ base bytestring ];
        librarySystemDepends = [ zlib ];
        testHaskellDepends = [ base bytestring hspec ];
@@ -21813,7 +22158,6 @@ self: {
        homepage = "https://github.com/michalkonecny/aern2";
        description = "Multi-precision floats via MPFR";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "aern2-real" = callPackage
@@ -21838,7 +22182,6 @@ self: {
        homepage = "https://github.com/michalkonecny/aern2";
        description = "Exact real numbers via Cauchy sequences and MPFR";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "aeson_0_7_0_6" = callPackage
@@ -21903,6 +22246,40 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "aeson_1_3_1_0" = callPackage
+    ({ mkDerivation, attoparsec, base, base-compat, base-orphans
+     , base16-bytestring, bytestring, containers, deepseq, directory
+     , dlist, filepath, generic-deriving, ghc-prim, hashable
+     , hashable-time, HUnit, integer-logarithms, QuickCheck
+     , quickcheck-instances, scientific, tagged, template-haskell
+     , test-framework, test-framework-hunit, test-framework-quickcheck2
+     , text, th-abstraction, time, time-locale-compat
+     , unordered-containers, uuid-types, vector
+     }:
+     mkDerivation {
+       pname = "aeson";
+       version = "1.3.1.0";
+       sha256 = "0ljndkgibz3qbddz2451v1r9w8i440kpslg3al3m7gc82mxz2xrr";
+       libraryHaskellDepends = [
+         attoparsec base base-compat bytestring containers deepseq dlist
+         ghc-prim hashable 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
+         bytestring containers directory dlist filepath generic-deriving
+         ghc-prim hashable hashable-time HUnit integer-logarithms QuickCheck
+         quickcheck-instances scientific tagged template-haskell
+         test-framework test-framework-hunit test-framework-quickcheck2 text
+         time time-locale-compat unordered-containers uuid-types vector
+       ];
+       homepage = "https://github.com/bos/aeson";
+       description = "Fast JSON parsing and encoding";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "aeson-applicative" = callPackage
     ({ mkDerivation, aeson, base, text, unordered-containers }:
      mkDerivation {
@@ -22003,6 +22380,8 @@ self: {
        pname = "aeson-compat";
        version = "0.3.7.1";
        sha256 = "1jya3lm9imclhb8qqihv39hhb62vvs3qpws7pc5fc23vwg0hsx2r";
+       revision = "3";
+       editedCabalFile = "1smql0v6b9f4pb3jnrm8kspyq2ygvznk1wkhzp0x7bjd7psrnmy9";
        libraryHaskellDepends = [
          aeson attoparsec attoparsec-iso8601 base base-compat bytestring
          containers exceptions hashable scientific tagged text time
@@ -22048,6 +22427,26 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "aeson-diff-generic" = callPackage
+    ({ mkDerivation, aeson, aeson-diff, base, base-compat, bytestring
+     , containers, dlist, hashable, lens, scientific, tagged
+     , template-haskell, text, th-abstraction, time
+     , unordered-containers, uuid-types, vector
+     }:
+     mkDerivation {
+       pname = "aeson-diff-generic";
+       version = "0.0.3";
+       sha256 = "12vilqp1v49pchfq8xk8k1f3m8kgl7s5n5m1w680cbh5flj050w2";
+       libraryHaskellDepends = [
+         aeson aeson-diff base base-compat bytestring containers dlist
+         hashable lens scientific tagged template-haskell text
+         th-abstraction time unordered-containers uuid-types vector
+       ];
+       description = "Apply a json-patch to any haskell datatype";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "aeson-extra" = callPackage
     ({ mkDerivation, aeson, aeson-compat, attoparsec
      , attoparsec-iso8601, base, base-compat, bytestring, containers
@@ -22060,6 +22459,8 @@ self: {
        pname = "aeson-extra";
        version = "0.4.1.0";
        sha256 = "11chkybn96q39j9y4h2wmq5vs0a0sb24qvk0g1qq8kyaiahvsd8y";
+       revision = "1";
+       editedCabalFile = "0fqhf8prdgjskr3qpryx2pn5s78l9dpapm4kmghak0dxh90sfp33";
        libraryHaskellDepends = [
          aeson aeson-compat attoparsec attoparsec-iso8601 base base-compat
          bytestring containers deepseq exceptions hashable parsec
@@ -22077,6 +22478,35 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "aeson-extra_0_4_1_1" = callPackage
+    ({ mkDerivation, aeson, aeson-compat, attoparsec
+     , attoparsec-iso8601, base, base-compat-batteries, bytestring
+     , containers, deepseq, exceptions, hashable, parsec
+     , quickcheck-instances, recursion-schemes, scientific, tasty
+     , tasty-hunit, tasty-quickcheck, template-haskell, text, these
+     , time, time-parsers, unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "aeson-extra";
+       version = "0.4.1.1";
+       sha256 = "1y7xss382hdxrv4jzprsm3b7ij7wiw8jgjg9wp49dx6bfvcnb2nl";
+       libraryHaskellDepends = [
+         aeson aeson-compat attoparsec attoparsec-iso8601 base
+         base-compat-batteries bytestring containers deepseq exceptions
+         hashable parsec recursion-schemes scientific template-haskell text
+         these time unordered-containers vector
+       ];
+       testHaskellDepends = [
+         base containers quickcheck-instances tasty tasty-hunit
+         tasty-quickcheck these time time-parsers unordered-containers
+         vector
+       ];
+       homepage = "https://github.com/phadej/aeson-extra#readme";
+       description = "Extra goodies for aeson";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "aeson-filthy" = callPackage
     ({ mkDerivation, aeson, base, bytestring, doctest, text
      , unordered-containers
@@ -22151,8 +22581,8 @@ self: {
     ({ mkDerivation, aeson, base }:
      mkDerivation {
        pname = "aeson-generic-compat";
-       version = "0.0.1.1";
-       sha256 = "1davhg48x4k9nsizpafjlicwryi05ijfh902bn35x76pay7alims";
+       version = "0.0.1.2";
+       sha256 = "08h4r8ni7i9x0fqx5gizv6fpwrq84lv8m4c3w6g2hirs0iscw233";
        libraryHaskellDepends = [ aeson base ];
        description = "Compatible generic class names of Aeson";
        license = stdenv.lib.licenses.bsd3;
@@ -22181,12 +22611,17 @@ self: {
      }) {};
 
   "aeson-iproute" = callPackage
-    ({ mkDerivation, aeson, base, iproute, text }:
+    ({ mkDerivation, aeson, base, doctest, iproute, text
+     , unordered-containers
+     }:
      mkDerivation {
        pname = "aeson-iproute";
-       version = "0.1.2";
-       sha256 = "09l1q44869hl6pknrrkg7ccwfj4w3mhr3k43j9a7sg7961lnqnsz";
-       libraryHaskellDepends = [ aeson base iproute text ];
+       version = "0.2";
+       sha256 = "13r6vyyw1pbk5sz32ari5kig23vsg57a5pir037adi7xicrm6kgf";
+       libraryHaskellDepends = [
+         aeson base iproute text unordered-containers
+       ];
+       testHaskellDepends = [ base doctest ];
        homepage = "https://github.com/greydot/aeson-iproute";
        description = "Aeson instances for iproute types";
        license = stdenv.lib.licenses.bsd3;
@@ -22274,8 +22709,8 @@ self: {
     ({ mkDerivation, aeson, base, hspec, lens, lens-aeson, text }:
      mkDerivation {
        pname = "aeson-picker";
-       version = "0.1.0.2";
-       sha256 = "0m14ykp894s8nbg89v2f83yyb344ypxwchmyww0nq0mcpzk3v95b";
+       version = "0.1.0.4";
+       sha256 = "0ln4qwx7app1sc01irmy5lx7bqsq6wsgdig6zihpnp9rbj8263mj";
        libraryHaskellDepends = [ aeson base lens lens-aeson text ];
        testHaskellDepends = [ base hspec text ];
        homepage = "https://github.com/ozzzzz/aeson-picker#readme";
@@ -22329,8 +22764,8 @@ self: {
      }:
      mkDerivation {
        pname = "aeson-pretty";
-       version = "0.8.5";
-       sha256 = "1yd98972srlbkn0f2jhrb3f443j9wnq2fnw5gbxjxzmkcinfh5yx";
+       version = "0.8.7";
+       sha256 = "1m977gs0s9gf3lwzlbs5y7bl6ansc5pywmn2qjk09l5bwg2yrhf1";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -22386,7 +22821,6 @@ self: {
        homepage = "https://github.com/libscott/aeson-quick";
        description = "Quick JSON extractions with Aeson";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "aeson-schema" = callPackage
@@ -22524,22 +22958,21 @@ self: {
 
   "aeson-typescript" = callPackage
     ({ mkDerivation, aeson, base, bytestring, containers, directory
-     , filepath, hspec, interpolate, mtl, process, tasty, tasty-ant-xml
-     , tasty-hspec, template-haskell, temporary, text, th-abstraction
-     , unordered-containers
+     , filepath, hspec, interpolate, mtl, process, template-haskell
+     , temporary, text, th-abstraction, unordered-containers
      }:
      mkDerivation {
        pname = "aeson-typescript";
-       version = "0.1.0.3";
-       sha256 = "0f5s26fhkpcciqy5wcdsq123nzgcxf2dx9g2v0n9i6h3jkp5800b";
+       version = "0.1.0.6";
+       sha256 = "11q165g6yvd87ahbfvxdpr6w61l0y9znv1x5jmznmj1c9m9s36id";
        libraryHaskellDepends = [
          aeson base containers interpolate mtl template-haskell text
          th-abstraction unordered-containers
        ];
        testHaskellDepends = [
          aeson base bytestring containers directory filepath hspec
-         interpolate mtl process tasty tasty-ant-xml tasty-hspec
-         template-haskell temporary text th-abstraction unordered-containers
+         interpolate mtl process template-haskell temporary text
+         th-abstraction unordered-containers
        ];
        homepage = "https://github.com/codedownio/aeson-typescript#readme";
        description = "Generate TypeScript definition files from your ADTs";
@@ -22555,8 +22988,8 @@ self: {
        pname = "aeson-utils";
        version = "0.3.0.2";
        sha256 = "07sbvmm158yqmw4hri9l66ag4r6l59x230gbjm9r97w4x0dlp0bi";
-       revision = "5";
-       editedCabalFile = "0v6p99nb8s61lc07a93xv94lfb4ybmv8aiqjq77lncs6qgpp97xf";
+       revision = "6";
+       editedCabalFile = "06jpkp95sicqv9kjasgwwd89kfrnz37402ppvgg5567sbg1wm9zh";
        libraryHaskellDepends = [
          aeson attoparsec base bytestring scientific text
        ];
@@ -22697,7 +23130,6 @@ self: {
        homepage = "https://github.com/UU-ComputerScience/ag-pictgen";
        description = "Attribute Grammar picture generation";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "agda-server" = callPackage
@@ -22951,6 +23383,7 @@ self: {
        homepage = "https://github.com/helium/airship/";
        description = "A Webmachine-inspired HTTP library";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "airtable-api" = callPackage
@@ -22973,15 +23406,16 @@ self: {
      }) {};
 
   "aivika" = callPackage
-    ({ mkDerivation, array, base, binary, containers, deepseq, mtl
-     , mwc-random, random, vector
+    ({ mkDerivation, array, base, binary, containers, deepseq
+     , exceptions, mtl, mwc-random, random, semigroups, vector
      }:
      mkDerivation {
        pname = "aivika";
-       version = "5.5";
-       sha256 = "0phzdgdxcdzdvgllp7c3b8bffdr8xhpid0yify7yrpnxc4y4rw5s";
+       version = "5.7";
+       sha256 = "1zhzb9pchpj9vk0zc3wb9bpxbw7zfn63m7ng37z46lwyv5s55d5m";
        libraryHaskellDepends = [
-         array base binary containers deepseq mtl mwc-random random vector
+         array base binary containers deepseq exceptions mtl mwc-random
+         random semigroups vector
        ];
        homepage = "http://www.aivikasoft.com";
        description = "A multi-method simulation library";
@@ -23011,8 +23445,8 @@ self: {
      }:
      mkDerivation {
        pname = "aivika-distributed";
-       version = "1.1.2";
-       sha256 = "15ixv4zzb03wiijx5g7l9csawfihklsh1jnphnwb6j8d1kpmmh5v";
+       version = "1.4";
+       sha256 = "0fpl6xa32w4f1bl4l8b5pwagm68k42nn45w7d1hsh9ffy4bfsq0k";
        libraryHaskellDepends = [
          aivika aivika-transformers array base binary containers
          distributed-process exceptions mtl mwc-random random stm time
@@ -23089,6 +23523,7 @@ self: {
        homepage = "http://www.aivikasoft.com";
        description = "Diagrams-based charting backend for the Aivika simulation library";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "aivika-gpss" = callPackage
@@ -23097,8 +23532,8 @@ self: {
      }:
      mkDerivation {
        pname = "aivika-gpss";
-       version = "0.5";
-       sha256 = "1szf6xaq7lk3l473rm8pls5s23nk08dwdzf875hx96i0m7kxmp6p";
+       version = "0.6.1";
+       sha256 = "06jx9340rr8a23gpzwwzqv0baqnv62w8cf8slcmcmlr0k84lg4ca";
        libraryHaskellDepends = [
          aivika aivika-transformers base containers hashable mtl
          unordered-containers
@@ -23143,15 +23578,16 @@ self: {
      }) {};
 
   "aivika-transformers" = callPackage
-    ({ mkDerivation, aivika, array, base, containers, mtl, mwc-random
-     , random, vector
+    ({ mkDerivation, aivika, array, base, containers, exceptions, mtl
+     , mwc-random, random, semigroups, vector
      }:
      mkDerivation {
        pname = "aivika-transformers";
-       version = "5.5";
-       sha256 = "09q221ayhfx5h51cc0h8lsx4b1cnzk3bssr5bf28xixaf3j4faj5";
+       version = "5.7";
+       sha256 = "1nwffb0x7lzl52xqki415dgmag9dg66jv45qirdnmkjs33x0by3r";
        libraryHaskellDepends = [
-         aivika array base containers mtl mwc-random random vector
+         aivika array base containers exceptions mtl mwc-random random
+         semigroups vector
        ];
        homepage = "http://www.aivikasoft.com";
        description = "Transformers for the Aivika simulation library";
@@ -23191,8 +23627,8 @@ self: {
     ({ mkDerivation, base, c2hs, mtl, openal }:
      mkDerivation {
        pname = "al";
-       version = "0.1.4.1";
-       sha256 = "1mmka0cc9kl6s3sq6jgw82qk77psym2yibr922f6c3k3b528rr9h";
+       version = "0.1.4.2";
+       sha256 = "1lpcdh2dak1r9lwd6irjs8p56p1fjphq58ixwjwbg9syl2rz7w4b";
        libraryHaskellDepends = [ base mtl ];
        libraryPkgconfigDepends = [ openal ];
        libraryToolDepends = [ c2hs ];
@@ -23267,17 +23703,15 @@ self: {
 
   "alex" = callPackage
     ({ mkDerivation, array, base, containers, directory, happy, process
-     , QuickCheck
      }:
      mkDerivation {
        pname = "alex";
-       version = "3.2.3";
-       sha256 = "0bi1cs9b8ir33h1fl6x2xw4ymygapqbr713ridpf7rmk2wa7jqqs";
+       version = "3.2.4";
+       sha256 = "0cpjixgsr0b2x4s6hz4aa6gnmjw9i7xd9nlfi8m37zqlidq4v3nm";
        isLibrary = false;
        isExecutable = true;
-       executableHaskellDepends = [
-         array base containers directory QuickCheck
-       ];
+       enableSeparateDataOutput = true;
+       executableHaskellDepends = [ array base containers directory ];
        executableToolDepends = [ happy ];
        testHaskellDepends = [ base process ];
        homepage = "http://www.haskell.org/alex/";
@@ -23343,17 +23777,19 @@ self: {
        ];
        description = "utility library for Alfred version 2";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "alg" = callPackage
-    ({ mkDerivation, base }:
+    ({ mkDerivation, base, util }:
      mkDerivation {
        pname = "alg";
-       version = "0.2.0.0";
-       sha256 = "1lh5pz3zmzyq9dkgzabgi8xhlssxccxw24ng97lynmsvc7jjras8";
-       libraryHaskellDepends = [ base ];
+       version = "0.2.4.1";
+       sha256 = "0fx3q5ivd942yly212k0qdrhwbjpx0y4sj1r2r9lbhxb2941rg4n";
+       libraryHaskellDepends = [ base util ];
        description = "Algebraic structures";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "alga" = callPackage
@@ -23464,8 +23900,8 @@ self: {
     ({ mkDerivation, base, syb, template-haskell }:
      mkDerivation {
        pname = "algebraic-classes";
-       version = "0.9";
-       sha256 = "1q850c0kaycvqw7gv0qhnssy84qh1z8avyh4kswx6n5n4swc4z4z";
+       version = "0.9.1";
+       sha256 = "129s5690wc4w92sg246pcmnradzgfdddqpv961a53k2cx9ynmvc6";
        libraryHaskellDepends = [ base syb template-haskell ];
        homepage = "https://github.com/sjoerdvisscher/algebraic-classes";
        description = "Conversions between algebraic classes and F-algebras";
@@ -23473,16 +23909,22 @@ self: {
      }) {};
 
   "algebraic-graphs" = callPackage
-    ({ mkDerivation, array, base, containers, criterion, extra
-     , QuickCheck
+    ({ mkDerivation, array, base, base-compat, base-orphans, containers
+     , criterion, deepseq, extra, QuickCheck
      }:
      mkDerivation {
        pname = "algebraic-graphs";
-       version = "0.0.5";
-       sha256 = "046507r77wn4f6grxzrh2n90rnllp1inhdvn4fg9ki36k5qgqyzx";
-       libraryHaskellDepends = [ array base containers ];
-       testHaskellDepends = [ base containers extra QuickCheck ];
-       benchmarkHaskellDepends = [ base containers criterion ];
+       version = "0.1.1.1";
+       sha256 = "0c8jrp0z3ibla7isbn1v5nhfka56hwq8h10r7h3vca53yzbafiw7";
+       libraryHaskellDepends = [
+         array base base-compat containers deepseq
+       ];
+       testHaskellDepends = [
+         base base-compat base-orphans containers extra QuickCheck
+       ];
+       benchmarkHaskellDepends = [
+         base base-compat containers criterion
+       ];
        homepage = "https://github.com/snowleopard/alga";
        description = "A library for algebraic graph construction and transformation";
        license = stdenv.lib.licenses.mit;
@@ -23791,16 +24233,16 @@ self: {
 
   "alsa-pcm" = callPackage
     ({ mkDerivation, alsa-core, alsaLib, array, base
-     , extensible-exceptions, sample-frame, storable-record
+     , extensible-exceptions, sample-frame, semigroups, storable-record
      }:
      mkDerivation {
        pname = "alsa-pcm";
-       version = "0.6.0.4";
-       sha256 = "0anafqzml5haacb7ax27a82b815rhv7nqawa7w3lb11vj1wi7bls";
+       version = "0.6.1";
+       sha256 = "0pafjds9xrhzwv3xz9qcknm9f2plz3bvqqjlznss1alhgf7pcga5";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         alsa-core array base extensible-exceptions sample-frame
+         alsa-core array base extensible-exceptions sample-frame semigroups
          storable-record
        ];
        libraryPkgconfigDepends = [ alsaLib ];
@@ -23939,6 +24381,32 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "alto" = callPackage
+    ({ mkDerivation, aeson, base, base64-bytestring, bytestring
+     , containers, cryptohash-sha256, directory, exceptions, filepath
+     , lens, list-tries, MonadRandom, mtl, random, random-string, scrypt
+     , servant-server, text, warp
+     }:
+     mkDerivation {
+       pname = "alto";
+       version = "0";
+       sha256 = "0515cghmkrw5szbnafwp3mqglrg5c44cbly8jnvk9z9gf9kdr26k";
+       revision = "1";
+       editedCabalFile = "0vxcy55zx70ibws59d1n5p86awrhb83xb06yw6iz0hkp7cwk52i2";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson base base64-bytestring bytestring containers
+         cryptohash-sha256 directory exceptions filepath lens list-tries
+         MonadRandom mtl random random-string scrypt servant-server text
+       ];
+       executableHaskellDepends = [ base warp ];
+       homepage = "https://oss.xkcd.com/";
+       description = "Implement a menu experience fit for web users";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "alure" = callPackage
     ({ mkDerivation, alure, base, OpenAL }:
      mkDerivation {
@@ -24037,6 +24505,7 @@ self: {
        homepage = "https://github.com/brendanhay/amazonka";
        description = "Comprehensive Amazon Web Services SDK";
        license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "amazonka-apigateway" = callPackage
@@ -24055,6 +24524,7 @@ self: {
        homepage = "https://github.com/brendanhay/amazonka";
        description = "Amazon API Gateway SDK";
        license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "amazonka-application-autoscaling" = callPackage
@@ -24073,6 +24543,7 @@ self: {
        homepage = "https://github.com/brendanhay/amazonka";
        description = "Amazon Application Auto Scaling SDK";
        license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "amazonka-appstream" = callPackage
@@ -24091,6 +24562,7 @@ self: {
        homepage = "https://github.com/brendanhay/amazonka";
        description = "Amazon AppStream SDK";
        license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "amazonka-athena" = callPackage
@@ -24109,6 +24581,7 @@ self: {
        homepage = "https://github.com/brendanhay/amazonka";
        description = "Amazon Athena SDK";
        license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "amazonka-autoscaling" = callPackage
@@ -24127,6 +24600,7 @@ self: {
        homepage = "https://github.com/brendanhay/amazonka";
        description = "Amazon Auto Scaling SDK";
        license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "amazonka-batch" = callPackage
@@ -24145,6 +24619,7 @@ self: {
        homepage = "https://github.com/brendanhay/amazonka";
        description = "Amazon Batch SDK";
        license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "amazonka-budgets" = callPackage
@@ -24163,6 +24638,7 @@ self: {
        homepage = "https://github.com/brendanhay/amazonka";
        description = "Amazon Budgets SDK";
        license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "amazonka-certificatemanager" = callPackage
@@ -24181,6 +24657,7 @@ self: {
        homepage = "https://github.com/brendanhay/amazonka";
        description = "Amazon Certificate Manager SDK";
        license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "amazonka-clouddirectory" = callPackage
@@ -24199,6 +24676,7 @@ self: {
        homepage = "https://github.com/brendanhay/amazonka";
        description = "Amazon CloudDirectory SDK";
        license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "amazonka-cloudformation" = callPackage
@@ -24217,6 +24695,7 @@ self: {
        homepage = "https://github.com/brendanhay/amazonka";
        description = "Amazon CloudFormation SDK";
        license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "amazonka-cloudfront" = callPackage
@@ -24235,6 +24714,7 @@ self: {
        homepage = "https://github.com/brendanhay/amazonka";
        description = "Amazon CloudFront SDK";
        license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "amazonka-cloudhsm" = callPackage
@@ -24253,6 +24733,7 @@ self: {
        homepage = "https://github.com/brendanhay/amazonka";
        description = "Amazon CloudHSM SDK";
        license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "amazonka-cloudhsmv2" = callPackage
@@ -24271,6 +24752,7 @@ self: {
        homepage = "https://github.com/brendanhay/amazonka";
        description = "Amazon CloudHSM V2 SDK";
        license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "amazonka-cloudsearch" = callPackage
@@ -24289,6 +24771,7 @@ self: {
        homepage = "https://github.com/brendanhay/amazonka";
        description = "Amazon CloudSearch SDK";
        license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "amazonka-cloudsearch-domains" = callPackage
@@ -24307,6 +24790,7 @@ self: {
        homepage = "https://github.com/brendanhay/amazonka";
        description = "Amazon CloudSearch Domain SDK";
        license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "amazonka-cloudtrail" = callPackage
@@ -24325,6 +24809,7 @@ self: {
        homepage = "https://github.com/brendanhay/amazonka";
        description = "Amazon CloudTrail SDK";
        license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "amazonka-cloudwatch" = callPackage
@@ -24343,6 +24828,7 @@ self: {
        homepage = "https://github.com/brendanhay/amazonka";
        description = "Amazon CloudWatch SDK";
        license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "amazonka-cloudwatch-events" = callPackage
@@ -24361,6 +24847,7 @@ self: {
        homepage = "https://github.com/brendanhay/amazonka";
        description = "Amazon CloudWatch Events SDK";
        license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "amazonka-cloudwatch-logs" = callPackage
@@ -24379,6 +24866,7 @@ self: {
        homepage = "https://github.com/brendanhay/amazonka";
        description = "Amazon CloudWatch Logs SDK";
        license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "amazonka-codebuild" = callPackage
@@ -24397,6 +24885,7 @@ self: {
        homepage = "https://github.com/brendanhay/amazonka";
        description = "Amazon CodeBuild SDK";
        license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "amazonka-codecommit" = callPackage
@@ -24415,6 +24904,7 @@ self: {
        homepage = "https://github.com/brendanhay/amazonka";
        description = "Amazon CodeCommit SDK";
        license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "amazonka-codedeploy" = callPackage
@@ -24433,6 +24923,7 @@ self: {
        homepage = "https://github.com/brendanhay/amazonka";
        description = "Amazon CodeDeploy SDK";
        license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "amazonka-codepipeline" = callPackage
@@ -24451,6 +24942,7 @@ self: {
        homepage = "https://github.com/brendanhay/amazonka";
        description = "Amazon CodePipeline SDK";
        license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "amazonka-codestar" = callPackage
@@ -24469,6 +24961,7 @@ self: {
        homepage = "https://github.com/brendanhay/amazonka";
        description = "Amazon CodeStar SDK";
        license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "amazonka-cognito-identity" = callPackage
@@ -24487,6 +24980,7 @@ self: {
        homepage = "https://github.com/brendanhay/amazonka";
        description = "Amazon Cognito Identity SDK";
        license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "amazonka-cognito-idp" = callPackage
@@ -24505,6 +24999,7 @@ self: {
        homepage = "https://github.com/brendanhay/amazonka";
        description = "Amazon Cognito Identity Provider SDK";
        license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "amazonka-cognito-sync" = callPackage
@@ -24523,6 +25018,7 @@ self: {
        homepage = "https://github.com/brendanhay/amazonka";
        description = "Amazon Cognito Sync SDK";
        license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "amazonka-config" = callPackage
@@ -24541,6 +25037,7 @@ self: {
        homepage = "https://github.com/brendanhay/amazonka";
        description = "Amazon Config SDK";
        license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "amazonka-core" = callPackage
@@ -24573,6 +25070,7 @@ self: {
        homepage = "https://github.com/brendanhay/amazonka";
        description = "Core data types and functionality for Amazonka libraries";
        license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "amazonka-cur" = callPackage
@@ -24591,6 +25089,7 @@ self: {
        homepage = "https://github.com/brendanhay/amazonka";
        description = "Amazon Cost and Usage Report Service SDK";
        license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "amazonka-datapipeline" = callPackage
@@ -24609,6 +25108,7 @@ self: {
        homepage = "https://github.com/brendanhay/amazonka";
        description = "Amazon Data Pipeline SDK";
        license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "amazonka-devicefarm" = callPackage
@@ -24627,6 +25127,7 @@ self: {
        homepage = "https://github.com/brendanhay/amazonka";
        description = "Amazon Device Farm SDK";
        license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "amazonka-directconnect" = callPackage
@@ -24645,6 +25146,7 @@ self: {
        homepage = "https://github.com/brendanhay/amazonka";
        description = "Amazon Direct Connect SDK";
        license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "amazonka-discovery" = callPackage
@@ -24663,6 +25165,7 @@ self: {
        homepage = "https://github.com/brendanhay/amazonka";
        description = "Amazon Application Discovery Service SDK";
        license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "amazonka-dms" = callPackage
@@ -24681,6 +25184,7 @@ self: {
        homepage = "https://github.com/brendanhay/amazonka";
        description = "Amazon Database Migration Service SDK";
        license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "amazonka-ds" = callPackage
@@ -24699,6 +25203,7 @@ self: {
        homepage = "https://github.com/brendanhay/amazonka";
        description = "Amazon Directory Service SDK";
        license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "amazonka-dynamodb" = callPackage
@@ -24717,6 +25222,7 @@ self: {
        homepage = "https://github.com/brendanhay/amazonka";
        description = "Amazon DynamoDB SDK";
        license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "amazonka-dynamodb-dax" = callPackage
@@ -24735,6 +25241,7 @@ self: {
        homepage = "https://github.com/brendanhay/amazonka";
        description = "Amazon DynamoDB Accelerator (DAX) SDK";
        license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "amazonka-dynamodb-streams" = callPackage
@@ -24753,6 +25260,7 @@ self: {
        homepage = "https://github.com/brendanhay/amazonka";
        description = "Amazon DynamoDB Streams SDK";
        license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "amazonka-ec2" = callPackage
@@ -24771,6 +25279,7 @@ self: {
        homepage = "https://github.com/brendanhay/amazonka";
        description = "Amazon Elastic Compute Cloud SDK";
        license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "amazonka-ecr" = callPackage
@@ -24789,6 +25298,7 @@ self: {
        homepage = "https://github.com/brendanhay/amazonka";
        description = "Amazon EC2 Container Registry SDK";
        license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "amazonka-ecs" = callPackage
@@ -24807,6 +25317,7 @@ self: {
        homepage = "https://github.com/brendanhay/amazonka";
        description = "Amazon EC2 Container Service SDK";
        license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "amazonka-efs" = callPackage
@@ -24825,6 +25336,7 @@ self: {
        homepage = "https://github.com/brendanhay/amazonka";
        description = "Amazon Elastic File System SDK";
        license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "amazonka-elasticache" = callPackage
@@ -24843,6 +25355,7 @@ self: {
        homepage = "https://github.com/brendanhay/amazonka";
        description = "Amazon ElastiCache SDK";
        license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "amazonka-elasticbeanstalk" = callPackage
@@ -24861,6 +25374,7 @@ self: {
        homepage = "https://github.com/brendanhay/amazonka";
        description = "Amazon Elastic Beanstalk SDK";
        license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "amazonka-elasticsearch" = callPackage
@@ -24879,6 +25393,7 @@ self: {
        homepage = "https://github.com/brendanhay/amazonka";
        description = "Amazon Elasticsearch Service SDK";
        license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "amazonka-elastictranscoder" = callPackage
@@ -24897,6 +25412,7 @@ self: {
        homepage = "https://github.com/brendanhay/amazonka";
        description = "Amazon Elastic Transcoder SDK";
        license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "amazonka-elb" = callPackage
@@ -24915,6 +25431,7 @@ self: {
        homepage = "https://github.com/brendanhay/amazonka";
        description = "Amazon Elastic Load Balancing SDK";
        license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "amazonka-elbv2" = callPackage
@@ -24933,6 +25450,7 @@ self: {
        homepage = "https://github.com/brendanhay/amazonka";
        description = "Amazon Elastic Load Balancing SDK";
        license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "amazonka-emr" = callPackage
@@ -24951,6 +25469,7 @@ self: {
        homepage = "https://github.com/brendanhay/amazonka";
        description = "Amazon Elastic MapReduce SDK";
        license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "amazonka-gamelift" = callPackage
@@ -24969,6 +25488,7 @@ self: {
        homepage = "https://github.com/brendanhay/amazonka";
        description = "Amazon GameLift SDK";
        license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "amazonka-glacier" = callPackage
@@ -24987,6 +25507,7 @@ self: {
        homepage = "https://github.com/brendanhay/amazonka";
        description = "Amazon Glacier SDK";
        license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "amazonka-glue" = callPackage
@@ -25005,6 +25526,7 @@ self: {
        homepage = "https://github.com/brendanhay/amazonka";
        description = "Amazon Glue SDK";
        license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "amazonka-greengrass" = callPackage
@@ -25023,6 +25545,7 @@ self: {
        homepage = "https://github.com/brendanhay/amazonka";
        description = "Amazon Greengrass SDK";
        license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "amazonka-health" = callPackage
@@ -25041,6 +25564,7 @@ self: {
        homepage = "https://github.com/brendanhay/amazonka";
        description = "Amazon Health APIs and Notifications SDK";
        license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "amazonka-iam" = callPackage
@@ -25059,6 +25583,7 @@ self: {
        homepage = "https://github.com/brendanhay/amazonka";
        description = "Amazon Identity and Access Management SDK";
        license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "amazonka-iam-policy" = callPackage
@@ -25098,6 +25623,7 @@ self: {
        homepage = "https://github.com/brendanhay/amazonka";
        description = "Amazon Import/Export SDK";
        license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "amazonka-inspector" = callPackage
@@ -25116,6 +25642,7 @@ self: {
        homepage = "https://github.com/brendanhay/amazonka";
        description = "Amazon Inspector SDK";
        license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "amazonka-iot" = callPackage
@@ -25134,6 +25661,7 @@ self: {
        homepage = "https://github.com/brendanhay/amazonka";
        description = "Amazon IoT SDK";
        license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "amazonka-iot-dataplane" = callPackage
@@ -25152,6 +25680,7 @@ self: {
        homepage = "https://github.com/brendanhay/amazonka";
        description = "Amazon IoT Data Plane SDK";
        license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "amazonka-kinesis" = callPackage
@@ -25170,6 +25699,7 @@ self: {
        homepage = "https://github.com/brendanhay/amazonka";
        description = "Amazon Kinesis SDK";
        license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "amazonka-kinesis-analytics" = callPackage
@@ -25188,6 +25718,7 @@ self: {
        homepage = "https://github.com/brendanhay/amazonka";
        description = "Amazon Kinesis Analytics SDK";
        license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "amazonka-kinesis-firehose" = callPackage
@@ -25206,6 +25737,7 @@ self: {
        homepage = "https://github.com/brendanhay/amazonka";
        description = "Amazon Kinesis Firehose SDK";
        license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "amazonka-kms" = callPackage
@@ -25224,6 +25756,7 @@ self: {
        homepage = "https://github.com/brendanhay/amazonka";
        description = "Amazon Key Management Service SDK";
        license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "amazonka-lambda" = callPackage
@@ -25242,6 +25775,7 @@ self: {
        homepage = "https://github.com/brendanhay/amazonka";
        description = "Amazon Lambda SDK";
        license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "amazonka-lex-models" = callPackage
@@ -25260,6 +25794,7 @@ self: {
        homepage = "https://github.com/brendanhay/amazonka";
        description = "Amazon Lex Model Building Service SDK";
        license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "amazonka-lex-runtime" = callPackage
@@ -25278,6 +25813,7 @@ self: {
        homepage = "https://github.com/brendanhay/amazonka";
        description = "Amazon Lex Runtime Service SDK";
        license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "amazonka-lightsail" = callPackage
@@ -25296,6 +25832,7 @@ self: {
        homepage = "https://github.com/brendanhay/amazonka";
        description = "Amazon Lightsail SDK";
        license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "amazonka-marketplace-analytics" = callPackage
@@ -25314,6 +25851,7 @@ self: {
        homepage = "https://github.com/brendanhay/amazonka";
        description = "Amazon Marketplace Commerce Analytics SDK";
        license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "amazonka-marketplace-entitlement" = callPackage
@@ -25332,6 +25870,7 @@ self: {
        homepage = "https://github.com/brendanhay/amazonka";
        description = "Amazon Marketplace Entitlement Service SDK";
        license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "amazonka-marketplace-metering" = callPackage
@@ -25350,6 +25889,7 @@ self: {
        homepage = "https://github.com/brendanhay/amazonka";
        description = "Amazon Marketplace Metering SDK";
        license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "amazonka-mechanicalturk" = callPackage
@@ -25368,6 +25908,7 @@ self: {
        homepage = "https://github.com/brendanhay/amazonka";
        description = "Amazon Mechanical Turk SDK";
        license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "amazonka-migrationhub" = callPackage
@@ -25386,6 +25927,7 @@ self: {
        homepage = "https://github.com/brendanhay/amazonka";
        description = "Amazon Migration Hub SDK";
        license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "amazonka-ml" = callPackage
@@ -25404,6 +25946,7 @@ self: {
        homepage = "https://github.com/brendanhay/amazonka";
        description = "Amazon Machine Learning SDK";
        license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "amazonka-mobile" = callPackage
@@ -25422,6 +25965,7 @@ self: {
        homepage = "https://github.com/brendanhay/amazonka";
        description = "Amazon Mobile SDK";
        license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "amazonka-opsworks" = callPackage
@@ -25440,6 +25984,7 @@ self: {
        homepage = "https://github.com/brendanhay/amazonka";
        description = "Amazon OpsWorks SDK";
        license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "amazonka-opsworks-cm" = callPackage
@@ -25458,6 +26003,7 @@ self: {
        homepage = "https://github.com/brendanhay/amazonka";
        description = "Amazon OpsWorks for Chef Automate SDK";
        license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "amazonka-organizations" = callPackage
@@ -25476,6 +26022,7 @@ self: {
        homepage = "https://github.com/brendanhay/amazonka";
        description = "Amazon Organizations SDK";
        license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "amazonka-pinpoint" = callPackage
@@ -25494,6 +26041,7 @@ self: {
        homepage = "https://github.com/brendanhay/amazonka";
        description = "Amazon Pinpoint SDK";
        license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "amazonka-polly" = callPackage
@@ -25512,6 +26060,7 @@ self: {
        homepage = "https://github.com/brendanhay/amazonka";
        description = "Amazon Polly SDK";
        license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "amazonka-pricing" = callPackage
@@ -25530,6 +26079,7 @@ self: {
        homepage = "https://github.com/brendanhay/amazonka";
        description = "Amazon Price List Service SDK";
        license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "amazonka-rds" = callPackage
@@ -25548,6 +26098,7 @@ self: {
        homepage = "https://github.com/brendanhay/amazonka";
        description = "Amazon Relational Database Service SDK";
        license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "amazonka-redshift" = callPackage
@@ -25566,6 +26117,7 @@ self: {
        homepage = "https://github.com/brendanhay/amazonka";
        description = "Amazon Redshift SDK";
        license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "amazonka-rekognition" = callPackage
@@ -25584,6 +26136,7 @@ self: {
        homepage = "https://github.com/brendanhay/amazonka";
        description = "Amazon Rekognition SDK";
        license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "amazonka-resourcegroupstagging" = callPackage
@@ -25602,6 +26155,7 @@ self: {
        homepage = "https://github.com/brendanhay/amazonka";
        description = "Amazon Resource Groups Tagging API SDK";
        license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "amazonka-route53" = callPackage
@@ -25620,6 +26174,7 @@ self: {
        homepage = "https://github.com/brendanhay/amazonka";
        description = "Amazon Route 53 SDK";
        license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "amazonka-route53-domains" = callPackage
@@ -25638,6 +26193,7 @@ self: {
        homepage = "https://github.com/brendanhay/amazonka";
        description = "Amazon Route 53 Domains SDK";
        license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "amazonka-s3" = callPackage
@@ -25656,6 +26212,7 @@ self: {
        homepage = "https://github.com/brendanhay/amazonka";
        description = "Amazon Simple Storage Service SDK";
        license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "amazonka-s3-streaming" = callPackage
@@ -25696,6 +26253,7 @@ self: {
        homepage = "https://github.com/brendanhay/amazonka";
        description = "Amazon SimpleDB SDK";
        license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "amazonka-servicecatalog" = callPackage
@@ -25714,6 +26272,7 @@ self: {
        homepage = "https://github.com/brendanhay/amazonka";
        description = "Amazon Service Catalog SDK";
        license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "amazonka-ses" = callPackage
@@ -25732,6 +26291,7 @@ self: {
        homepage = "https://github.com/brendanhay/amazonka";
        description = "Amazon Simple Email Service SDK";
        license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "amazonka-shield" = callPackage
@@ -25750,6 +26310,7 @@ self: {
        homepage = "https://github.com/brendanhay/amazonka";
        description = "Amazon Shield SDK";
        license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "amazonka-sms" = callPackage
@@ -25768,6 +26329,7 @@ self: {
        homepage = "https://github.com/brendanhay/amazonka";
        description = "Amazon Server Migration Service SDK";
        license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "amazonka-snowball" = callPackage
@@ -25786,6 +26348,7 @@ self: {
        homepage = "https://github.com/brendanhay/amazonka";
        description = "Amazon Import/Export Snowball SDK";
        license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "amazonka-sns" = callPackage
@@ -25804,6 +26367,7 @@ self: {
        homepage = "https://github.com/brendanhay/amazonka";
        description = "Amazon Simple Notification Service SDK";
        license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "amazonka-sqs" = callPackage
@@ -25822,6 +26386,7 @@ self: {
        homepage = "https://github.com/brendanhay/amazonka";
        description = "Amazon Simple Queue Service SDK";
        license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "amazonka-ssm" = callPackage
@@ -25840,6 +26405,7 @@ self: {
        homepage = "https://github.com/brendanhay/amazonka";
        description = "Amazon Simple Systems Manager (SSM) SDK";
        license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "amazonka-stepfunctions" = callPackage
@@ -25858,6 +26424,7 @@ self: {
        homepage = "https://github.com/brendanhay/amazonka";
        description = "Amazon Step Functions SDK";
        license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "amazonka-storagegateway" = callPackage
@@ -25876,6 +26443,7 @@ self: {
        homepage = "https://github.com/brendanhay/amazonka";
        description = "Amazon Storage Gateway SDK";
        license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "amazonka-sts" = callPackage
@@ -25894,6 +26462,7 @@ self: {
        homepage = "https://github.com/brendanhay/amazonka";
        description = "Amazon Security Token Service SDK";
        license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "amazonka-support" = callPackage
@@ -25912,6 +26481,7 @@ self: {
        homepage = "https://github.com/brendanhay/amazonka";
        description = "Amazon Support SDK";
        license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "amazonka-swf" = callPackage
@@ -25930,6 +26500,7 @@ self: {
        homepage = "https://github.com/brendanhay/amazonka";
        description = "Amazon Simple Workflow Service SDK";
        license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "amazonka-test" = callPackage
@@ -25952,6 +26523,7 @@ self: {
        homepage = "https://github.com/brendanhay/amazonka";
        description = "Common functionality for Amazonka library test-suites";
        license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "amazonka-waf" = callPackage
@@ -25970,6 +26542,7 @@ self: {
        homepage = "https://github.com/brendanhay/amazonka";
        description = "Amazon WAF SDK";
        license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "amazonka-waf-regional" = callPackage
@@ -25988,6 +26561,7 @@ self: {
        homepage = "https://github.com/brendanhay/amazonka";
        description = "Amazon WAF Regional SDK";
        license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "amazonka-workdocs" = callPackage
@@ -26006,6 +26580,7 @@ self: {
        homepage = "https://github.com/brendanhay/amazonka";
        description = "Amazon WorkDocs SDK";
        license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "amazonka-workspaces" = callPackage
@@ -26024,6 +26599,7 @@ self: {
        homepage = "https://github.com/brendanhay/amazonka";
        description = "Amazon WorkSpaces SDK";
        license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "amazonka-xray" = callPackage
@@ -26042,6 +26618,7 @@ self: {
        homepage = "https://github.com/brendanhay/amazonka";
        description = "Amazon X-Ray SDK";
        license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "amby" = callPackage
@@ -26229,6 +26806,7 @@ self: {
        homepage = "https://github.com/ejconlon/analyze#readme";
        description = "making data science easy and safe with data frames";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "analyze-client" = callPackage
@@ -26457,6 +27035,29 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "animascii" = callPackage
+    ({ mkDerivation, ansi-terminal-game, base, Cabal, config-ini
+     , directory, filepath, fsnotify, hspec, parsec, process, temporary
+     , text
+     }:
+     mkDerivation {
+       pname = "animascii";
+       version = "0.1.1.0";
+       sha256 = "1f474jp121s1w947d6yn6363730hgki2m7mfqyin25ngl4q0isqd";
+       isLibrary = false;
+       isExecutable = true;
+       setupHaskellDepends = [ base Cabal directory filepath ];
+       executableHaskellDepends = [
+         ansi-terminal-game base config-ini directory filepath fsnotify
+         parsec process temporary text
+       ];
+       testHaskellDepends = [ ansi-terminal-game base hspec parsec ];
+       homepage = "http://www.ariis.it/static/articles/animascii/page.html";
+       description = "text-file based ASCII animator";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "animate" = callPackage
     ({ mkDerivation, aeson, base, bytestring, containers, hspec, text
      , vector
@@ -26612,8 +27213,8 @@ self: {
        pname = "ansi-pretty";
        version = "0.1.2.1";
        sha256 = "1ill2dlzbxn97smkzdqcjfx9z3fw7pgwvz6w36d92n8p7zwik23h";
-       revision = "3";
-       editedCabalFile = "046w5nybk8fyhicw5wy7qchbx9k4sib189afj2gysrsblj0ki864";
+       revision = "4";
+       editedCabalFile = "0yp5wihvl22vfcr0x22xdbvrk79hcahx1kyfpwpvv0jkahc5c03q";
        libraryHaskellDepends = [
          aeson ansi-wl-pprint array base bytestring containers generics-sop
          nats scientific semigroups tagged text time unordered-containers
@@ -26628,8 +27229,8 @@ self: {
     ({ mkDerivation, base, colour }:
      mkDerivation {
        pname = "ansi-terminal";
-       version = "0.7.1.1";
-       sha256 = "1z2lllm5f2wy3a1j1198mpwq9cb6qclrxr2gpdzjyxzzvybpdj3g";
+       version = "0.8.0.3";
+       sha256 = "18466bjgsmn2f96i3q6sp5f72paa2flqh40n9h137z29kvr53sva";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base colour ];
@@ -26638,12 +27239,12 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "ansi-terminal_0_8_0_2" = callPackage
+  "ansi-terminal_0_8_0_4" = callPackage
     ({ mkDerivation, base, colour }:
      mkDerivation {
        pname = "ansi-terminal";
-       version = "0.8.0.2";
-       sha256 = "1yph18lklk9hrj1m5gjwygnqbmpg333zyf4bmmm1zvlzflrwj6l9";
+       version = "0.8.0.4";
+       sha256 = "0428gq8m3fdnb7ldcsyk97qcch76hcxbgh2666p6f76fs2qbhg7b";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base colour ];
@@ -26653,6 +27254,27 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "ansi-terminal-game" = callPackage
+    ({ mkDerivation, ansi-terminal, array, base, bytestring, cereal
+     , clock, hspec, linebreak, split, terminal-size, timers-tick
+     }:
+     mkDerivation {
+       pname = "ansi-terminal-game";
+       version = "0.2.1.0";
+       sha256 = "0a227gs7a0hz705lgq97mx4sdlbwqflns0zls7qsr9yr6ljc4836";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         ansi-terminal array base bytestring cereal clock linebreak split
+         terminal-size timers-tick
+       ];
+       testHaskellDepends = [ array base hspec linebreak ];
+       homepage = "none-yet";
+       description = "sdl-like functions for terminal applications, based on ansi-terminal";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "ansi-wl-pprint" = callPackage
     ({ mkDerivation, ansi-terminal, base }:
      mkDerivation {
@@ -26769,6 +27391,7 @@ self: {
        homepage = "https://github.com/exbb2/antigate";
        description = "Interface for antigate.com captcha recognition API";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "antimirov" = callPackage
@@ -26945,6 +27568,25 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "apecs_0_3_0_2" = callPackage
+    ({ mkDerivation, async, base, containers, criterion, linear, mtl
+     , QuickCheck, template-haskell, vector
+     }:
+     mkDerivation {
+       pname = "apecs";
+       version = "0.3.0.2";
+       sha256 = "1j9vw55z9igpjmll99x0pxz792m0w0n1r8w1sy96kj0jqk5y2l5i";
+       libraryHaskellDepends = [
+         async base containers mtl template-haskell vector
+       ];
+       testHaskellDepends = [ base containers QuickCheck vector ];
+       benchmarkHaskellDepends = [ base criterion linear ];
+       homepage = "https://github.com/jonascarpay/apecs#readme";
+       description = "A fast ECS for game engine programming";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "apelsin" = callPackage
     ({ mkDerivation, array, base, bytestring, containers, deepseq
      , directory, filepath, glib, gtk, HTTP, mtl, network, process
@@ -27078,6 +27720,8 @@ self: {
        pname = "apiary";
        version = "2.1.2";
        sha256 = "03b3rhjpjfinj1xnkngipz09d1j1dijy25s0z0a5mvygahlf9kvc";
+       revision = "1";
+       editedCabalFile = "0fznli6f20wxzbg1b5ylnjiyfqrmvm0wi5jcvhg8przmqhvjmcki";
        libraryHaskellDepends = [
          aeson base blaze-builder blaze-html blaze-markup bytestring
          bytestring-lexing case-insensitive data-default-class exceptions
@@ -27090,7 +27734,7 @@ self: {
          aeson base bytestring directory http-types HUnit mtl tasty
          tasty-hunit tasty-quickcheck wai wai-extra
        ];
-       homepage = "https://github.com/philopon/apiary";
+       homepage = "https://github.com/winterland1989/apiary";
        description = "Simple and type safe web framework that generate web API documentation";
        license = stdenv.lib.licenses.mit;
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -27404,6 +28048,7 @@ self: {
        homepage = "https://github.com/ConferHealth/apns-http2#readme";
        description = "Apple Push Notification service HTTP/2 integration";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "apotiki" = callPackage
@@ -27662,6 +28307,37 @@ self: {
        ];
        description = "Perform refactorings specified by the refact library";
        license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "apply-refact_0_5_0_0" = callPackage
+    ({ mkDerivation, base, containers, directory, filemanip, filepath
+     , ghc, ghc-exactprint, mtl, optparse-applicative, process, refact
+     , silently, syb, tasty, tasty-expected-failure, tasty-golden
+     , temporary, transformers, unix-compat
+     }:
+     mkDerivation {
+       pname = "apply-refact";
+       version = "0.5.0.0";
+       sha256 = "1bvlbchpma3vlxfvjbyd01rmzqc9h5q3my9n7v3wal2p7ysvjpqz";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base containers directory filemanip ghc ghc-exactprint mtl process
+         refact syb temporary transformers unix-compat
+       ];
+       executableHaskellDepends = [
+         base containers directory filemanip filepath ghc ghc-exactprint mtl
+         optparse-applicative process refact syb temporary transformers
+         unix-compat
+       ];
+       testHaskellDepends = [
+         base containers directory filemanip filepath ghc ghc-exactprint mtl
+         optparse-applicative process refact silently syb tasty
+         tasty-expected-failure tasty-golden temporary transformers
+         unix-compat
+       ];
+       description = "Perform refactorings specified by the refact library";
+       license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
@@ -27805,22 +28481,23 @@ self: {
 
   "arbtt" = callPackage
     ({ mkDerivation, aeson, array, attoparsec, base, binary, bytestring
-     , bytestring-progress, conduit, conduit-extra, containers, deepseq
-     , directory, exceptions, filepath, mtl, parsec, pcre-light
-     , process-extras, strict, tasty, tasty-golden, tasty-hunit
-     , terminal-progress-bar, time, transformers, unix, utf8-string, X11
+     , bytestring-progress, conduit, containers, deepseq, directory
+     , exceptions, filepath, mtl, parsec, pcre-light, process-extras
+     , resourcet, strict, tasty, tasty-golden, tasty-hunit
+     , terminal-progress-bar, text, time, transformers, unix
+     , unliftio-core, utf8-string, X11
      }:
      mkDerivation {
        pname = "arbtt";
-       version = "0.10";
-       sha256 = "0klxsxyq4yij11c9z11jgrarmz1fya2rpx0zax7kqpvc26xbc24n";
+       version = "0.10.0.2";
+       sha256 = "13jmv7bxiy0v2y2w6qwsb9mh5m97sxrlb5w1kaqzag8d0cnz7w6c";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
          aeson array attoparsec base binary bytestring bytestring-progress
-         conduit conduit-extra containers deepseq directory exceptions
-         filepath mtl parsec pcre-light strict terminal-progress-bar time
-         transformers unix utf8-string X11
+         conduit containers deepseq directory exceptions filepath mtl parsec
+         pcre-light resourcet strict terminal-progress-bar text time
+         transformers unix unliftio-core utf8-string X11
        ];
        testHaskellDepends = [
          base binary bytestring containers deepseq directory mtl parsec
@@ -27829,7 +28506,7 @@ self: {
        ];
        homepage = "http://arbtt.nomeata.de/";
        description = "Automatic Rule-Based Time Tracker";
-       license = "GPL";
+       license = stdenv.lib.licenses.gpl2;
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
@@ -28054,19 +28731,18 @@ self: {
      }) {};
 
   "argon2" = callPackage
-    ({ mkDerivation, base, bytestring, QuickCheck, tasty
-     , tasty-quickcheck, text, transformers
+    ({ mkDerivation, base, bytestring, deepseq, QuickCheck, tasty
+     , tasty-hunit, tasty-quickcheck, text-short
      }:
      mkDerivation {
        pname = "argon2";
-       version = "1.2.0";
-       sha256 = "1zzwlhb47ykqi6psgnpzmf4nlk5rwr4adpl7sz7x7iacy9xmayd5";
-       libraryHaskellDepends = [ base bytestring text transformers ];
+       version = "1.3.0.1";
+       sha256 = "1v0clf78hykdyhv81z8v3kwp86hjgqh6b8a7wfbjv0fyy55bwxry";
+       libraryHaskellDepends = [ base bytestring deepseq text-short ];
        testHaskellDepends = [
-         base bytestring QuickCheck tasty tasty-quickcheck text
+         base bytestring QuickCheck tasty tasty-hunit tasty-quickcheck
        ];
-       homepage = "https://github.com/ocharles/argon2.git";
-       description = "Haskell bindings to libargon2 - the reference implementation of the Argon2 password-hashing function";
+       description = "Memory-hard password hash and proof-of-work function";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
@@ -28243,6 +28919,33 @@ self: {
        homepage = "https://github.com/cartazio/arithmoi";
        description = "Efficient basic number-theoretic functions";
        license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "arithmoi_0_7_0_0" = callPackage
+    ({ mkDerivation, array, base, containers, exact-pi, gauge, ghc-prim
+     , integer-gmp, integer-logarithms, mtl, QuickCheck, random
+     , smallcheck, tasty, tasty-hunit, tasty-quickcheck
+     , tasty-smallcheck, transformers, vector
+     }:
+     mkDerivation {
+       pname = "arithmoi";
+       version = "0.7.0.0";
+       sha256 = "0303bqlbf8abixcq3x3px2ijj01c9hlqadkv8rhls6f64a8h8cwb";
+       configureFlags = [ "-f-llvm" ];
+       libraryHaskellDepends = [
+         array base containers exact-pi ghc-prim integer-gmp
+         integer-logarithms mtl random vector
+       ];
+       testHaskellDepends = [
+         base containers integer-gmp QuickCheck smallcheck tasty tasty-hunit
+         tasty-quickcheck tasty-smallcheck transformers vector
+       ];
+       benchmarkHaskellDepends = [
+         base containers gauge integer-logarithms random vector
+       ];
+       homepage = "https://github.com/cartazio/arithmoi";
+       description = "Efficient basic number-theoretic functions";
+       license = stdenv.lib.licenses.mit;
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
@@ -28260,6 +28963,25 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "armor" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, containers, directory
+     , filepath, hspec, HUnit, lens, text
+     }:
+     mkDerivation {
+       pname = "armor";
+       version = "0.1";
+       sha256 = "0jmq6lhi1byhjzgkvnn4p481z8wik93angx7sf6cjfj5j0kqzv71";
+       libraryHaskellDepends = [
+         base bytestring containers directory filepath HUnit lens
+       ];
+       testHaskellDepends = [
+         aeson base bytestring containers directory hspec HUnit lens text
+       ];
+       homepage = "https://github.com/mightybyte/armor";
+       description = "Armor data structures against serialization backwards compatibility problems";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "arpa" = callPackage
     ({ mkDerivation, base }:
      mkDerivation {
@@ -28465,14 +29187,15 @@ self: {
        homepage = "https://github.com/pepeiborra/arrowp";
        description = "A preprocessor and quasiquoter for translating arrow notation";
        license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "arrows" = callPackage
     ({ mkDerivation, base, Stream }:
      mkDerivation {
        pname = "arrows";
-       version = "0.4.4.1";
-       sha256 = "1qpbpwsc3frjdngwjv3r58nfa0ik88cqh24ls47svigsz3c4n42v";
+       version = "0.4.4.2";
+       sha256 = "02db4byzz8xb4c36y0v867g9kd3a9p04r4cj1np717k20qrwjnpn";
        libraryHaskellDepends = [ base Stream ];
        homepage = "http://www.haskell.org/arrows/";
        description = "Arrow classes and transformers";
@@ -28685,8 +29408,8 @@ self: {
      }:
      mkDerivation {
        pname = "asciidiagram";
-       version = "1.3.3";
-       sha256 = "062zcirgkjlypyzj7igjmhyisgs19svyzzqpmgy7vah8ykslhjb9";
+       version = "1.3.3.1";
+       sha256 = "194jdii485z0fif07nvjcj5468m53zgm2v9x1h3pj8xlmfh9rrly";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -28699,6 +29422,7 @@ self: {
        ];
        description = "Pretty rendering of Ascii diagram into svg or png";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "asic" = callPackage
@@ -28912,6 +29636,18 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "asset-bundle" = callPackage
+    ({ mkDerivation, base, Cabal, directory, filepath }:
+     mkDerivation {
+       pname = "asset-bundle";
+       version = "0.1.0.0";
+       sha256 = "0fdl3dgnc5q9mv8w5g3qrhyprqhbyp4jrr5gimf9xzd67fwsnf86";
+       libraryHaskellDepends = [ base Cabal directory filepath ];
+       homepage = "https://github.com/deech/asset-bundle#readme";
+       description = "A build-time Cabal library that bundles executables with assets";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "assimp" = callPackage
     ({ mkDerivation, assimp, base, c2hs, haskell98, vect }:
      mkDerivation {
@@ -28932,8 +29668,8 @@ self: {
        pname = "ast-monad";
        version = "0.1.0.0";
        sha256 = "038cvblhhlcsv9id2rcb26q4lwvals3xj45j9jy6fb69jm5mzh0i";
-       revision = "2";
-       editedCabalFile = "1l5adjj7bianjclqzgvi4qhlb6lvb7v67qfqx2ghk3arq8ifghwj";
+       revision = "3";
+       editedCabalFile = "0lj9g3vhlx42hsirxcwfjksy5w6981gpyms7r5xpih7bnz91cxk7";
        libraryHaskellDepends = [ base ];
        testHaskellDepends = [ base ];
        homepage = "https://github.com/mouri111/ast-monad#readme";
@@ -28947,8 +29683,8 @@ self: {
        pname = "ast-monad-json";
        version = "0.1.0.1";
        sha256 = "0a0pzcma574rrx6klfgk16y6ng22glwj1l5c3rz5w32a22ildfz6";
-       revision = "1";
-       editedCabalFile = "05gavjyjxfmw8q8l4dvx2p5vxaszg4kbivknn3pg5495bgd8br9s";
+       revision = "2";
+       editedCabalFile = "0cbayikyr96vcn10253gkwgk0mvx6inymrldv0bhzp8qiv94sm3n";
        libraryHaskellDepends = [ ast-monad base text ];
        testHaskellDepends = [ ast-monad base hspec text ];
        homepage = "https://github.com/mouri111/ast-monad-json#readme";
@@ -29108,6 +29844,7 @@ self: {
        homepage = "https://github.com/serokell/async-combinators";
        description = "Async combinators";
        license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "async-dejafu" = callPackage
@@ -29125,6 +29862,7 @@ self: {
        homepage = "https://github.com/barrucadu/dejafu";
        description = "Run MonadConc operations asynchronously and wait for their results";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "async-extra" = callPackage
@@ -29192,6 +29930,8 @@ self: {
        pname = "async-pool";
        version = "0.9.0.2";
        sha256 = "1wg78y80zd7qyizyis073dmmvq4s67ni1pkaq31jl5klr49rs5g0";
+       revision = "1";
+       editedCabalFile = "0w3l3lbnfdm9ihp7pfda4sf1y1cqpc6g6q6wjzafdi088l3lklkn";
        libraryHaskellDepends = [
          async base containers fgl monad-control stm transformers
          transformers-base
@@ -29226,6 +29966,30 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "async-refresh_0_3_0_0" = callPackage
+    ({ mkDerivation, base, criterion, formatting, HUnit, lifted-async
+     , microlens, microlens-th, monad-logger, safe-exceptions, stm
+     , test-framework, test-framework-hunit, text, unliftio
+     , unliftio-core
+     }:
+     mkDerivation {
+       pname = "async-refresh";
+       version = "0.3.0.0";
+       sha256 = "1j9llc84f93srw80pyldcglzmssl0l961bzlwsrvbaa84ldhcs6s";
+       libraryHaskellDepends = [
+         base formatting lifted-async microlens microlens-th monad-logger
+         safe-exceptions stm text unliftio unliftio-core
+       ];
+       testHaskellDepends = [
+         base criterion HUnit monad-logger stm test-framework
+         test-framework-hunit text
+       ];
+       homepage = "https://github.com/mtesseract/async-refresh";
+       description = "Package implementing core logic for refreshing of expiring data";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "async-refresh-tokens" = callPackage
     ({ mkDerivation, async-refresh, base, bytestring, criterion
      , formatting, HUnit, lifted-async, microlens, microlens-th
@@ -29249,6 +30013,30 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "async-refresh-tokens_0_4_0_0" = callPackage
+    ({ mkDerivation, async-refresh, base, bytestring, criterion
+     , formatting, HUnit, microlens, microlens-th, monad-logger
+     , safe-exceptions, test-framework, test-framework-hunit, text
+     , unliftio, unliftio-core
+     }:
+     mkDerivation {
+       pname = "async-refresh-tokens";
+       version = "0.4.0.0";
+       sha256 = "1py7ips87gbwdhxdfv0xh4hkgw0my4nkkz4w1vwcb3s296a439v7";
+       libraryHaskellDepends = [
+         async-refresh base bytestring formatting microlens microlens-th
+         monad-logger safe-exceptions text unliftio unliftio-core
+       ];
+       testHaskellDepends = [
+         base criterion HUnit monad-logger test-framework
+         test-framework-hunit unliftio
+       ];
+       homepage = "https://github.com/mtesseract/async-refresh-tokens#readme";
+       description = "Package implementing core logic for refreshing of expiring access tokens";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "async-timer" = callPackage
     ({ mkDerivation, base, containers, criterion, HUnit, lifted-async
      , lifted-base, monad-control, safe-exceptions, test-framework
@@ -29378,8 +30166,8 @@ self: {
      }:
      mkDerivation {
        pname = "atlassian-connect-descriptor";
-       version = "0.4.5.0";
-       sha256 = "0dzswy71awgxqchb3ydq8idxlvqaalal45fx5prhr7xg4077apm0";
+       version = "0.4.7.0";
+       sha256 = "0n9a0bkf525gw1fcik6gmaarf5l7zmn29whiyrcp3dv7afqdfhwa";
        libraryHaskellDepends = [
          aeson base cases network network-uri text time-units
          unordered-containers
@@ -29509,6 +30297,7 @@ self: {
        ];
        description = "Streaming parser/renderer for the Atom 1.0 standard (RFC 4287).";
        license = stdenv.lib.licenses.publicDomain;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "atom-msp430" = callPackage
@@ -29550,15 +30339,14 @@ self: {
        homepage = "https://github.com/chris-martin/atomic-modify";
        description = "A typeclass for mutable references that have an atomic modify operation";
        license = stdenv.lib.licenses.asl20;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "atomic-primops" = callPackage
     ({ mkDerivation, base, ghc-prim, primitive }:
      mkDerivation {
        pname = "atomic-primops";
-       version = "0.8.1.1";
-       sha256 = "0wi18i3k5mjmyd13n1kly7021084rjm4wfpcf70zzzss1z37kxch";
+       version = "0.8.2";
+       sha256 = "0cyr2x6xqz6s233znrz9rnrfj56m9bmnawwnka0lsqqy1hp8gy37";
        libraryHaskellDepends = [ base ghc-prim primitive ];
        homepage = "https://github.com/rrnewton/haskell-lockfree/wiki";
        description = "A safe approach to CAS and other atomic ops in Haskell";
@@ -29682,11 +30470,10 @@ self: {
      }:
      mkDerivation {
        pname = "ats-format";
-       version = "0.2.0.22";
-       sha256 = "19x2pa6fb1k343b4c07xwyc879kfwya1kll0bp59paza1bqhhnnk";
+       version = "0.2.0.26";
+       sha256 = "14s8bic1kvsigmi5nmjdca6pkh223axygr74nmygjbvwmryfxcxn";
        isLibrary = false;
        isExecutable = true;
-       enableSeparateDataOutput = true;
        setupHaskellDepends = [ base Cabal cli-setup ];
        executableHaskellDepends = [
          ansi-wl-pprint base directory file-embed htoml-megaparsec
@@ -29700,28 +30487,30 @@ self: {
   "ats-pkg" = callPackage
     ({ mkDerivation, ansi-wl-pprint, base, binary, bytestring, bzlib
      , Cabal, cli-setup, composition-prelude, containers, dependency
-     , dhall, directory, file-embed, filemanip, http-client
-     , http-client-tls, lzma, microlens, microlens-th
-     , optparse-applicative, parallel-io, process, shake, shake-ats
-     , shake-ext, tar, temporary, text, unix, zip-archive, zlib
+     , dhall, directory, file-embed, filemanip, hashable, http-client
+     , http-client-tls, lens, lzma, mtl, optparse-applicative
+     , parallel-io, process, shake, shake-ats, shake-ext, tar, temporary
+     , text, unix, zip-archive, zlib
      }:
      mkDerivation {
        pname = "ats-pkg";
-       version = "2.7.0.10";
-       sha256 = "15snn30g5hkwp0yv5iz84qx363d26lsy4via9l5h7qr2dahy8rkx";
+       version = "2.10.1.5";
+       sha256 = "14y4mpk6hkqvw8jh49idj9gx2wxcy2ppz00abny6fsbw6iff4xrs";
+       revision = "1";
+       editedCabalFile = "0ff0nslsi5b4g8gp63x6js3c026ajgfamd8pg2k1aygwx8x3zqk9";
        isLibrary = true;
        isExecutable = true;
        setupHaskellDepends = [ base Cabal cli-setup ];
        libraryHaskellDepends = [
          ansi-wl-pprint base binary bytestring bzlib Cabal
          composition-prelude containers dependency dhall directory
-         file-embed filemanip http-client http-client-tls lzma microlens
-         microlens-th parallel-io process shake shake-ats shake-ext tar text
-         unix zip-archive zlib
+         file-embed filemanip hashable http-client http-client-tls lens lzma
+         mtl parallel-io process shake shake-ats shake-ext tar text unix
+         zip-archive zlib
        ];
        executableHaskellDepends = [
-         base composition-prelude directory microlens optparse-applicative
-         shake shake-ats temporary text
+         base composition-prelude directory lens optparse-applicative
+         parallel-io shake shake-ats temporary text
        ];
        homepage = "https://github.com/vmchale/atspkg#readme";
        description = "A build tool for ATS";
@@ -29749,20 +30538,21 @@ self: {
 
   "ats-storable" = callPackage
     ({ mkDerivation, base, bytestring, composition-prelude, hspec
-     , microlens, microlens-th, text
+     , storable, text
      }:
      mkDerivation {
        pname = "ats-storable";
-       version = "0.3.0.1";
-       sha256 = "1apzmyq9a4hjn9d0fz7pxvxflq61kp26fa6gz3c50pdjby55zhns";
+       version = "0.3.0.3";
+       sha256 = "1a9id432vhvr3n69m1f7iyc899nc2wa4w8jpa7s7aqkixw2vqlr2";
        libraryHaskellDepends = [
-         base bytestring composition-prelude microlens microlens-th text
+         base bytestring composition-prelude text
        ];
        testHaskellDepends = [ base hspec ];
-       homepage = "https://github.com//ats-generic#readme";
+       testSystemDepends = [ storable ];
        description = "Marshal ATS types into Haskell";
        license = stdenv.lib.licenses.bsd3;
-     }) {};
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {storable = null;};
 
   "attempt" = callPackage
     ({ mkDerivation, base, failure }:
@@ -29983,7 +30773,6 @@ self: {
        homepage = "https://github.com/athanclark/attoparsec-ip#readme";
        description = "Parse IP data types with attoparsec";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "attoparsec-iso8601" = callPackage
@@ -29992,6 +30781,8 @@ self: {
        pname = "attoparsec-iso8601";
        version = "1.0.0.0";
        sha256 = "12l55b76bhya9q89mfmqmy6sl5v39b6gzrw5rf3f70vkb23nsv5a";
+       revision = "1";
+       editedCabalFile = "06f7pgmmc8456p3hc1y23kz1y127gfczy7s00wz1rls9g2sm2vi4";
        libraryHaskellDepends = [ attoparsec base base-compat text time ];
        homepage = "https://github.com/bos/aeson";
        description = "Parsing of ISO 8601 dates, originally from aeson";
@@ -30113,32 +30904,32 @@ self: {
      }:
      mkDerivation {
        pname = "attoparsec-uri";
-       version = "0.0.3";
-       sha256 = "1n89gkgnd8zp7ggklv98y58hk3f45l20wr3m1avcpk9a42ig186n";
+       version = "0.0.4";
+       sha256 = "1wzisb9xnykaxnp1jp0a3lvh1m2swynk2r2mg6nfv5jzlv52q0sf";
        libraryHaskellDepends = [
          attoparsec attoparsec-ip base bytedump ip strict text vector
        ];
        homepage = "https://github.com/athanclark/attoparsec-uri#readme";
        description = "URI parser / printer using attoparsec";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
-  "attoparsec-uri_0_0_4" = callPackage
-    ({ mkDerivation, attoparsec, attoparsec-ip, base, bytedump, ip
-     , strict, text, vector
+  "attoparsec-varword" = callPackage
+    ({ mkDerivation, attoparsec, base, bytestring
+     , bytestring-builder-varword, hspec, QuickCheck
      }:
      mkDerivation {
-       pname = "attoparsec-uri";
-       version = "0.0.4";
-       sha256 = "1wzisb9xnykaxnp1jp0a3lvh1m2swynk2r2mg6nfv5jzlv52q0sf";
-       libraryHaskellDepends = [
-         attoparsec attoparsec-ip base bytedump ip strict text vector
+       pname = "attoparsec-varword";
+       version = "0.1.0.0";
+       sha256 = "1rrc4pqi7slsq2rhiasid7m7fm489vd851jvakb8z5z64mrxc409";
+       libraryHaskellDepends = [ attoparsec base ];
+       testHaskellDepends = [
+         attoparsec base bytestring bytestring-builder-varword hspec
+         QuickCheck
        ];
-       homepage = "https://github.com/athanclark/attoparsec-uri#readme";
-       description = "URI parser / printer using attoparsec";
-       license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
+       homepage = "https://github.com/concert/hs-varword#readme";
+       description = "Variable-length integer decoding for Attoparsec";
+       license = stdenv.lib.licenses.lgpl3;
      }) {};
 
   "attosplit" = callPackage
@@ -30174,19 +30965,20 @@ self: {
 
   "audacity" = callPackage
     ({ mkDerivation, base, bytestring, deepseq, directory
-     , explicit-exception, filepath, non-empty, storable-record
-     , storablevector, tagchup, transformers, utility-ht, xml-basic
+     , explicit-exception, filepath, non-empty, semigroups
+     , storable-record, storablevector, tagchup, transformers
+     , utility-ht, xml-basic
      }:
      mkDerivation {
        pname = "audacity";
-       version = "0.0.1.2";
-       sha256 = "1df9vk6f1gj0jpj3rmq63s3xjqc5p02hprfvq1nqgws0vfnp5lab";
+       version = "0.0.2";
+       sha256 = "1916phnj3m12apyjarmda48xr2bq19rfn7sn6nskkbg6qjqxzlnr";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          base bytestring deepseq directory explicit-exception filepath
-         non-empty storable-record storablevector tagchup transformers
-         utility-ht xml-basic
+         non-empty semigroups storable-record storablevector tagchup
+         transformers utility-ht xml-basic
        ];
        homepage = "http://hub.darcs.net/thielema/audacity";
        description = "Interchange with the Audacity sound signal editor";
@@ -30426,12 +31218,12 @@ self: {
     ({ mkDerivation, base, Cabal, directory, filepath }:
      mkDerivation {
        pname = "autoexporter";
-       version = "1.1.3";
-       sha256 = "0rkgb2vfznn6a28h40c26if43mzcavwd81myi27zbg8811g9bv6m";
+       version = "1.1.9";
+       sha256 = "0hm0njnfgjfbnpjjqmhim773zbzgkfq96caxckcv8vkrj78l839v";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base Cabal directory filepath ];
-       executableHaskellDepends = [ base ];
+       executableHaskellDepends = [ base Cabal directory filepath ];
        homepage = "https://github.com/tfausak/autoexporter#readme";
        description = "Automatically re-export modules";
        license = stdenv.lib.licenses.mit;
@@ -30510,6 +31302,7 @@ self: {
        ];
        description = "Library for Nix expression dependency generation";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "autonix-deps-kf5" = callPackage
@@ -30533,6 +31326,7 @@ self: {
        ];
        description = "Generate dependencies for KDE 5 Nix expressions";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "autoproc" = callPackage
@@ -30746,15 +31540,15 @@ self: {
 
   "avro" = callPackage
     ({ mkDerivation, aeson, array, base, base16-bytestring, binary
-     , bytestring, containers, data-binary-ieee754, entropy, extra, fail
-     , hashable, hspec, lens, lens-aeson, mtl, pure-zlib, QuickCheck
-     , scientific, semigroups, tagged, template-haskell, text
-     , transformers, unordered-containers, vector
+     , 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.2.1.0";
-       sha256 = "07gqi33aadb9c94b19z1166ayyi0s95ykda77l53vc2al43sa3bl";
+       version = "0.3.0.2";
+       sha256 = "0kfw8srq675hinf1gajkngbpx15xc5w74vvf76yarmaal1vaavm4";
        libraryHaskellDepends = [
          aeson array base base16-bytestring binary bytestring containers
          data-binary-ieee754 entropy fail hashable mtl pure-zlib scientific
@@ -30762,11 +31556,11 @@ self: {
        ];
        testHaskellDepends = [
          aeson array base base16-bytestring binary bytestring containers
-         entropy extra fail hashable hspec lens lens-aeson mtl pure-zlib
-         QuickCheck scientific semigroups tagged template-haskell text
-         transformers unordered-containers vector
+         directory entropy extra fail hashable hspec lens lens-aeson mtl
+         pure-zlib QuickCheck scientific semigroups tagged template-haskell
+         text transformers unordered-containers vector
        ];
-       homepage = "https://github.com/haskell-works/hw-haskell-avro.git";
+       homepage = "https://github.com/GaloisInc/avro.git#readme";
        description = "Avro serialization support for Haskell";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -30847,7 +31641,7 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {awesomium = null;};
 
-  "aws" = callPackage
+  "aws_0_18" = callPackage
     ({ mkDerivation, aeson, attoparsec, base, base16-bytestring
      , base64-bytestring, blaze-builder, byteable, bytestring
      , case-insensitive, cereal, conduit, conduit-combinators
@@ -30882,9 +31676,10 @@ self: {
        homepage = "http://github.com/aristidb/aws";
        description = "Amazon Web Services (AWS) for Haskell";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
-  "aws_0_19" = callPackage
+  "aws" = callPackage
     ({ mkDerivation, aeson, attoparsec, base, base16-bytestring
      , base64-bytestring, blaze-builder, byteable, bytestring
      , case-insensitive, cereal, conduit, conduit-combinators
@@ -30922,6 +31717,30 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "aws-cloudfront-signed-cookies" = callPackage
+    ({ mkDerivation, aeson, aeson-pretty, asn1-encoding, asn1-types
+     , base, base64-bytestring, bytestring, cookie, cryptonite, hedgehog
+     , lens, lens-aeson, neat-interpolation, optparse-applicative, pem
+     , text, time, unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "aws-cloudfront-signed-cookies";
+       version = "0.2.0.0";
+       sha256 = "0cbhlxrdx09050pblca1p8f0f7n51p4nifp1xk48203ap435dnpj";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson aeson-pretty asn1-encoding asn1-types base base64-bytestring
+         bytestring cookie cryptonite lens lens-aeson optparse-applicative
+         pem text time unordered-containers vector
+       ];
+       executableHaskellDepends = [ base ];
+       testHaskellDepends = [ base hedgehog neat-interpolation ];
+       homepage = "https://github.com/typeclasses/aws-cloudfront-signed-cookies";
+       description = "Generate signed cookies for AWS CloudFront";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "aws-cloudfront-signer" = callPackage
     ({ mkDerivation, asn1-encoding, asn1-types, base, base64-bytestring
      , bytestring, crypto-pubkey-types, RSA, time
@@ -31001,6 +31820,30 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "aws-easy" = callPackage
+    ({ mkDerivation, amazonka, amazonka-dynamodb, amazonka-s3, base
+     , bytestring, lens, resourcet, split, template-haskell, text
+     , unordered-containers
+     }:
+     mkDerivation {
+       pname = "aws-easy";
+       version = "0.1.0.1";
+       sha256 = "0sl3whg7x02c3cph5p72rlkycsr2m3ni0kad5rs0q644wgvhqvm5";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         amazonka base bytestring lens resourcet template-haskell
+       ];
+       executableHaskellDepends = [
+         amazonka amazonka-dynamodb amazonka-s3 base lens split text
+         unordered-containers
+       ];
+       homepage = "https://github.com/rcook/aws-easy#readme";
+       description = "Helper function and types for working with amazonka";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "aws-ec2" = callPackage
     ({ mkDerivation, aeson, aws, base, base16-bytestring
      , base64-bytestring, blaze-builder, blaze-markup, byteable
@@ -31363,6 +32206,27 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "aws-ses-easy" = callPackage
+    ({ mkDerivation, amazonka, amazonka-ses, base, criterion
+     , exceptions, lens, lucid, mtl, tasty, tasty-hspec, text
+     , text-conversions
+     }:
+     mkDerivation {
+       pname = "aws-ses-easy";
+       version = "0.1.0";
+       sha256 = "0wlwff18k1qf6n6q2bhd1n2w58nsdmqx5c1yhhfqxkjyxz9flccn";
+       libraryHaskellDepends = [
+         amazonka amazonka-ses base exceptions lens lucid mtl text
+         text-conversions
+       ];
+       testHaskellDepends = [ base tasty tasty-hspec ];
+       benchmarkHaskellDepends = [ base criterion ];
+       homepage = "https://github.com/jxv/aws-ses-easy#readme";
+       description = "Wrapper over Amazonka's SES";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "aws-sign4" = callPackage
     ({ mkDerivation, attempt, aws, base, blaze-builder, byteable
      , bytestring, bytestring-lexing, Cabal, case-insensitive
@@ -31404,6 +32268,7 @@ self: {
        homepage = "https://github.com/agrafix/aws-simple#readme";
        description = "Dead simple bindings to commonly used AWS Services";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "aws-sns" = callPackage
@@ -31587,6 +32452,8 @@ self: {
        pname = "b-tree";
        version = "0.1.3";
        sha256 = "0r1bgcjsykd9qzzr6chxw8bfnmvk32p9663j6h11wmq6nq7nrlkb";
+       revision = "1";
+       editedCabalFile = "0y569gdl9b79c98lkd2zff71svi0b1i64dihc5dmsjlmzkwfzzhw";
        libraryHaskellDepends = [
          base binary bytestring containers directory errors exceptions
          filepath lens mmap mtl pipes pipes-interleave transformers vector
@@ -31603,30 +32470,30 @@ self: {
   "b9" = callPackage
     ({ mkDerivation, aeson, async, base, bifunctors, binary, boxes
      , bytestring, conduit, conduit-extra, ConfigFile, directory
-     , filepath, free, hashable, hspec, hspec-expectations, mtl
+     , filepath, free, hashable, hspec, hspec-expectations, lens, mtl
      , optparse-applicative, parallel, parsec, pretty, pretty-show
-     , process, QuickCheck, random, semigroups, syb, template, text
-     , time, transformers, unordered-containers, vector, yaml
+     , process, QuickCheck, random, shake, syb, template, text, time
+     , transformers, unordered-containers, vector, yaml
      }:
      mkDerivation {
        pname = "b9";
-       version = "0.5.35";
-       sha256 = "11j2mr03hn9xz7dq1p7kr448mdj1dva360xf6n7qmq3nq4vrl1av";
+       version = "0.5.47";
+       sha256 = "1jnfci7px5hf6i729mz1fbx5sfg35q8l3663ls6pkf6b4kx8qfyz";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          aeson async base bifunctors binary boxes bytestring conduit
-         conduit-extra ConfigFile directory filepath free hashable mtl
-         parallel parsec pretty pretty-show process QuickCheck random
-         semigroups syb template text time transformers unordered-containers
-         vector yaml
+         conduit-extra ConfigFile directory filepath free hashable lens mtl
+         parallel parsec pretty pretty-show process QuickCheck random shake
+         syb template text time transformers unordered-containers vector
+         yaml
        ];
        executableHaskellDepends = [
-         base bytestring directory optparse-applicative
+         base bytestring directory lens optparse-applicative
        ];
        testHaskellDepends = [
-         aeson base bytestring hspec hspec-expectations QuickCheck
-         semigroups text unordered-containers vector yaml
+         aeson base bytestring hspec hspec-expectations QuickCheck text
+         unordered-containers vector yaml
        ];
        homepage = "https://github.com/sheyll/b9-vm-image-builder";
        description = "A tool and library for building virtual machine images";
@@ -31683,40 +32550,40 @@ self: {
      }) {};
 
   "backprop" = callPackage
-    ({ mkDerivation, ad, base, bifunctors, criterion, deepseq
-     , directory, generics-sop, hmatrix, microlens, microlens-mtl
-     , microlens-th, mnist-idx, mtl, mwc-random, profunctors, reflection
-     , tagged, time, transformers, transformers-base, type-combinators
-     , vector
+    ({ mkDerivation, base, bifunctors, binary, criterion, deepseq
+     , directory, hmatrix, lens, microlens, mnist-idx, mwc-random
+     , primitive, random, reflection, time, transformers
+     , type-combinators, vector
      }:
      mkDerivation {
        pname = "backprop";
-       version = "0.0.3.0";
-       sha256 = "1rjqv29fk0yqbqygnhm14zrjigicsgbiq5gcvr8j4kqkb8s9l6df";
+       version = "0.1.5.2";
+       sha256 = "1mb99dwpng07vsaa3vhl6b0kn8ym6qz7i9a0gyj8hafxawbrznfh";
        libraryHaskellDepends = [
-         ad base generics-sop microlens microlens-mtl microlens-th mtl
-         profunctors reflection tagged transformers-base type-combinators
+         base binary deepseq microlens primitive random reflection
+         transformers type-combinators vector
        ];
        benchmarkHaskellDepends = [
-         base bifunctors criterion deepseq directory generics-sop hmatrix
-         mnist-idx mwc-random time transformers type-combinators vector
+         base bifunctors criterion deepseq directory hmatrix lens mnist-idx
+         mwc-random time transformers vector
        ];
-       homepage = "https://github.com/mstksg/backprop";
-       description = "Heterogeneous, type-safe automatic backpropagation in Haskell";
+       homepage = "https://github.com/mstksg/backprop#readme";
+       description = "Heterogeneous automatic differentation (backpropagation)";
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "backprop_0_1_3_0" = callPackage
-    ({ mkDerivation, base, bifunctors, criterion, deepseq, directory
-     , hmatrix, lens, microlens, mnist-idx, mwc-random, primitive
-     , reflection, time, transformers, type-combinators, vector
+  "backprop_0_2_1_0" = callPackage
+    ({ mkDerivation, base, bifunctors, containers, criterion, deepseq
+     , directory, hmatrix, lens, microlens, mnist-idx, mwc-random
+     , primitive, reflection, time, transformers, type-combinators
+     , vector
      }:
      mkDerivation {
        pname = "backprop";
-       version = "0.1.3.0";
-       sha256 = "0x1vp48dl0dlq1bwaq0fy9k472rpx571i7klrhnwnqf6nb52mh1w";
+       version = "0.2.1.0";
+       sha256 = "0qm352klwjv1fy2gpsr8xhd9byaydps6fwhwrr9fldmj2bn1220m";
        libraryHaskellDepends = [
-         base deepseq microlens primitive reflection transformers
+         base containers deepseq microlens primitive reflection transformers
          type-combinators vector
        ];
        benchmarkHaskellDepends = [
@@ -31818,6 +32685,7 @@ self: {
        homepage = "https://github.com/ndmitchell/bake#readme";
        description = "Continuous integration system";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "ballast" = callPackage
@@ -32150,6 +33018,7 @@ self: {
        homepage = "https://github.com/philopon/barrier";
        description = "Shields.io style badge generator";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "barrier-monad" = callPackage
@@ -32164,12 +33033,12 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
-  "base_4_10_1_0" = callPackage
+  "base_4_11_1_0" = callPackage
     ({ mkDerivation, ghc-prim, invalid-cabal-flag-settings, rts }:
      mkDerivation {
        pname = "base";
-       version = "4.10.1.0";
-       sha256 = "0hnzhqdf2bxz9slia67sym6s0hi5szh8596kcckighchs9jzl9wx";
+       version = "4.11.1.0";
+       sha256 = "0q2ygfqy4qim8h9fmlb5iwfnf2lrly27bqqvnckdlmh775fmq07g";
        libraryHaskellDepends = [
          ghc-prim invalid-cabal-flag-settings rts
        ];
@@ -32191,6 +33060,67 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "base-compat_0_10_1" = callPackage
+    ({ mkDerivation, base, unix }:
+     mkDerivation {
+       pname = "base-compat";
+       version = "0.10.1";
+       sha256 = "0vdv28qylnpqhq6jnhiqvnc0rmbrb0dvnsfdvp094sm7sj9j3v5j";
+       libraryHaskellDepends = [ base unix ];
+       description = "A compatibility layer for base";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "base-compat-batteries" = callPackage
+    ({ mkDerivation, base, base-compat, hspec, hspec-discover
+     , QuickCheck
+     }:
+     mkDerivation {
+       pname = "base-compat-batteries";
+       version = "0.10.1";
+       sha256 = "1j8ky6241mj1ymbwm9scvyvbknj7n2r56cnkg9y1zf2xwjpqnmqm";
+       libraryHaskellDepends = [ base base-compat ];
+       testHaskellDepends = [ base hspec QuickCheck ];
+       testToolDepends = [ hspec-discover ];
+       description = "base-compat with extra batteries";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "base-compat-migrate" = callPackage
+    ({ mkDerivation, base, base-compat }:
+     mkDerivation {
+       pname = "base-compat-migrate";
+       version = "0.1.0.0";
+       sha256 = "1xppwdkg347k1qq4pibivv89y4k8q70bmj9fmq6qwsbkizp7hsym";
+       revision = "1";
+       editedCabalFile = "047zifghyzjg7c0pdbjg1r5w3d6v0pz5miifam1jrzp2pp9a2jai";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [ base base-compat ];
+       doHaddock = false;
+       homepage = "https://github.com/bergmark/base-compat-migrate#readme";
+       description = "Helps migrating projects to base-compat(-batteries)";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "base-encoding" = callPackage
+    ({ mkDerivation, base, base16-bytestring, base64-bytestring
+     , bytestring, text
+     }:
+     mkDerivation {
+       pname = "base-encoding";
+       version = "0.1.0.0";
+       sha256 = "1chmx5qvglf91i0c9ih9xydzb37v8j4bykvmb2g6pyg7wdq0s8si";
+       libraryHaskellDepends = [
+         base base16-bytestring base64-bytestring bytestring text
+       ];
+       description = "Binary-to-text encodings (e.g. base64)";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "base-feature-macros" = callPackage
     ({ mkDerivation, base }:
      mkDerivation {
@@ -32233,23 +33163,26 @@ self: {
     ({ mkDerivation, base }:
      mkDerivation {
        pname = "base-noprelude";
-       version = "4.10.1.0";
-       sha256 = "0nsgqfkxzp762i2c06lgpkza9a6a31aq5qx2cd820rpqg5yllbx2";
+       version = "4.11.1.0";
+       sha256 = "19d1x487kwhc60qjix7xx53dlszbx08rdhxd2zab1pwjw62ws3c8";
        libraryHaskellDepends = [ base ];
        doHaddock = false;
        homepage = "https://github.com/hvr/base-noprelude";
        description = "\"base\" package sans \"Prelude\" module";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "base-orphans" = callPackage
-    ({ mkDerivation, base, ghc-prim, hspec, QuickCheck }:
+    ({ mkDerivation, base, ghc-prim, hspec, hspec-discover, QuickCheck
+     }:
      mkDerivation {
        pname = "base-orphans";
-       version = "0.6";
-       sha256 = "03mdww5j0gwai7aqlx3m71ldmjcr99jzpkcclzjfclk6a6kjla67";
+       version = "0.7";
+       sha256 = "057f9npnqk71ccfh95djfkpd54dzazphj06grwxa3fyhwcwxrb8a";
        libraryHaskellDepends = [ base ghc-prim ];
        testHaskellDepends = [ base hspec QuickCheck ];
+       testToolDepends = [ hspec-discover ];
        homepage = "https://github.com/haskell-compat/base-orphans#readme";
        description = "Backwards-compatible orphan instances for base";
        license = stdenv.lib.licenses.mit;
@@ -32401,6 +33334,8 @@ self: {
        pname = "base64-bytestring-type";
        version = "1";
        sha256 = "0h74c0qhf4n0pamrl29ha5hgf940bay0dhl8rifaw4l03z8rn0bl";
+       revision = "2";
+       editedCabalFile = "02ywscryrrh6xwfi0gl4qvxy36jzy7i8y2jsv6mma2av2abr9ms7";
        libraryHaskellDepends = [
          aeson base base-compat base64-bytestring binary bytestring cereal
          deepseq hashable QuickCheck text
@@ -32473,25 +33408,24 @@ self: {
     ({ mkDerivation, base, ghc-prim }:
      mkDerivation {
        pname = "basement";
-       version = "0.0.4";
-       sha256 = "1zdqv8dbzv8jx6z8fcghinbnxdc5fb97i7sdfswdr1fcp8jq6i38";
+       version = "0.0.7";
+       sha256 = "0w2g4k9bs2ph00p0fgrmcrng8ypdz6xis0r10g380nzkg2rvj0dm";
        libraryHaskellDepends = [ base ghc-prim ];
        homepage = "https://github.com/haskell-foundation/foundation";
        description = "Foundation scrap box of array & string";
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "basement_0_0_7" = callPackage
-    ({ mkDerivation, base, ghc-prim }:
+  "basen-bytestring" = callPackage
+    ({ mkDerivation, base, bytestring, QuickCheck }:
      mkDerivation {
-       pname = "basement";
-       version = "0.0.7";
-       sha256 = "0w2g4k9bs2ph00p0fgrmcrng8ypdz6xis0r10g380nzkg2rvj0dm";
-       libraryHaskellDepends = [ base ghc-prim ];
-       homepage = "https://github.com/haskell-foundation/foundation";
-       description = "Foundation scrap box of array & string";
+       pname = "basen-bytestring";
+       version = "0.1.0.1";
+       sha256 = "131aamd4kq7jdmpl4ammgqgykbh81mkziaf0kpic5c20al4a73lp";
+       libraryHaskellDepends = [ base bytestring ];
+       testHaskellDepends = [ base bytestring QuickCheck ];
+       homepage = "https://github.com/FilWisher/basen-bytestring#readme";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "basex-client" = callPackage
@@ -32688,6 +33622,36 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "battleplace" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, cereal, data-default
+     , hashable, memory, servant, text, vector
+     }:
+     mkDerivation {
+       pname = "battleplace";
+       version = "0.1.0.4";
+       sha256 = "0n3fw4z48hz188i4f02ya2wcaicl0l5nhb2w1r8hsvvgf0cixsxl";
+       libraryHaskellDepends = [
+         aeson base bytestring cereal data-default hashable memory servant
+         text vector
+       ];
+       description = "Core definitions for BattlePlace.io service";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "battleplace-api" = callPackage
+    ({ mkDerivation, base, battleplace, servant, servant-client }:
+     mkDerivation {
+       pname = "battleplace-api";
+       version = "0.1.0.1";
+       sha256 = "1pi1vcniyrpq1xfrizhvgw7xbrc332649zg4jl1fjbqn4l4xqrlg";
+       libraryHaskellDepends = [
+         base battleplace servant servant-client
+       ];
+       description = "Public API definitions of BattlePlace.io service";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "battleship-combinatorics" = callPackage
     ({ mkDerivation, base, combinatorial, containers, deepseq
      , directory, filepath, non-empty, pooled-io, prelude-compat
@@ -32813,17 +33777,17 @@ self: {
      , codec-rpm, cond, conduit, conduit-combinators, conduit-extra
      , containers, content-store, cpio-conduit, cryptonite, directory
      , esqueleto, exceptions, filepath, gi-gio, gi-glib, gi-ostree
-     , gitrev, hspec, http-conduit, HUnit, listsafe, memory
+     , gitrev, hspec, http-conduit, HUnit, lifted-base, listsafe, memory
      , monad-control, monad-logger, monad-loops, mtl, network-uri
      , ostree, parsec, parsec-numbers, persistent, persistent-sqlite
-     , persistent-template, process, regex-pcre, resourcet, split, tar
-     , tar-conduit, temporary, text, time, unix, unordered-containers
-     , xml-conduit
+     , persistent-template, regex-pcre, resourcet, split
+     , string-conversions, tar, tar-conduit, temporary, text, time
+     , typed-process, unix, unordered-containers, xml-conduit
      }:
      mkDerivation {
        pname = "bdcs";
-       version = "0.2.1";
-       sha256 = "0zlzxh6ps655zryifyzz7pbypv32w6a475ighbc840awkw59qvvy";
+       version = "0.6.0";
+       sha256 = "0irxrabxrdf20mc7b0kknnch0fhxgafh2mdrrksj78jx2dbmn85h";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -32832,17 +33796,17 @@ self: {
          aeson base bytestring codec-rpm cond conduit conduit-combinators
          conduit-extra containers content-store cpio-conduit cryptonite
          directory esqueleto exceptions filepath gi-gio gi-glib gi-ostree
-         gitrev http-conduit listsafe memory monad-control monad-logger mtl
-         network-uri parsec parsec-numbers persistent persistent-sqlite
-         persistent-template process regex-pcre resourcet split tar
-         tar-conduit temporary text time unix unordered-containers
-         xml-conduit
+         gitrev http-conduit lifted-base listsafe memory monad-control
+         monad-logger mtl network-uri parsec parsec-numbers persistent
+         persistent-sqlite persistent-template regex-pcre resourcet split
+         string-conversions tar tar-conduit temporary text time
+         typed-process unix unordered-containers xml-conduit
        ];
        libraryPkgconfigDepends = [ ostree ];
        executableHaskellDepends = [
          aeson aeson-pretty base bytestring cond conduit content-store
-         directory filepath monad-loops mtl network-uri persistent-sqlite
-         process regex-pcre text time
+         directory filepath lifted-base monad-logger monad-loops mtl
+         network-uri persistent-sqlite regex-pcre text time typed-process
        ];
        testHaskellDepends = [
          aeson base bytestring codec-rpm cond conduit conduit-combinators
@@ -32852,7 +33816,7 @@ self: {
        ];
        homepage = "https://github.com/weldr/bdcs";
        description = "Tools for managing a content store of software packages";
-       license = "LGPL";
+       license = stdenv.lib.licenses.lgpl21;
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {inherit (pkgs) ostree;};
 
@@ -32924,16 +33888,16 @@ self: {
 
   "beam-core" = callPackage
     ({ mkDerivation, aeson, base, bytestring, containers, dlist, free
-     , ghc-prim, hashable, microlens, mtl, network-uri, tasty
+     , ghc-prim, hashable, microlens, mtl, network-uri, tagged, tasty
      , tasty-hunit, text, time, vector-sized
      }:
      mkDerivation {
        pname = "beam-core";
-       version = "0.6.0.0";
-       sha256 = "1pnxmy5xv84fng0391cckizwdrwzh0p0v3g0vc29z5vpksqr24kg";
+       version = "0.7.2.1";
+       sha256 = "0v9mspr3r7g5n73pgdwipgx2z23cd5g537g8afd1hj22p7d993jw";
        libraryHaskellDepends = [
          aeson base bytestring containers dlist free ghc-prim hashable
-         microlens mtl network-uri text time vector-sized
+         microlens mtl network-uri tagged text time vector-sized
        ];
        testHaskellDepends = [
          base bytestring tasty tasty-hunit text time
@@ -32941,44 +33905,71 @@ self: {
        homepage = "http://travis.athougies.net/projects/beam.html";
        description = "Type-safe, feature-complete SQL query and manipulation interface for Haskell";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "beam-migrate" = callPackage
     ({ mkDerivation, aeson, base, beam-core, bytestring, containers
      , deepseq, dependent-map, dependent-sum, free, ghc-prim, hashable
      , haskell-src-exts, mtl, parallel, pqueue, pretty, scientific, text
-     , time, unordered-containers, vector
+     , time, unordered-containers, uuid-types, vector
      }:
      mkDerivation {
        pname = "beam-migrate";
-       version = "0.2.0.0";
-       sha256 = "17c1wh2ygbjlr8hrm0vnk2130kmzy795sswp7wyqkjjhfp4rzyzb";
+       version = "0.3.2.0";
+       sha256 = "1a6m27cpa2xlwmwfi1374p3a23i2hm8fjfsl6bdn0zpnawgi5rhf";
        libraryHaskellDepends = [
          aeson base beam-core bytestring containers deepseq dependent-map
          dependent-sum free ghc-prim hashable haskell-src-exts mtl parallel
-         pqueue pretty scientific text time unordered-containers vector
+         pqueue pretty scientific text time unordered-containers uuid-types
+         vector
        ];
        homepage = "https://travis.athougies.net/projects/beam.html";
        description = "SQL DDL support and migrations support library for Beam";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "beam-postgres" = callPackage
+    ({ mkDerivation, aeson, base, beam-core, beam-migrate, bytestring
+     , case-insensitive, conduit, free, hashable, haskell-src-exts
+     , lifted-base, monad-control, mtl, network-uri, postgresql-libpq
+     , postgresql-simple, scientific, tagged, text, time
+     , unordered-containers, uuid-types, vector
+     }:
+     mkDerivation {
+       pname = "beam-postgres";
+       version = "0.3.2.0";
+       sha256 = "09iv1ji1kpavi42z0p4nng057h0q5f16cdsx0yiq53c3ji3yvbnf";
+       libraryHaskellDepends = [
+         aeson base beam-core beam-migrate bytestring case-insensitive
+         conduit free hashable haskell-src-exts lifted-base monad-control
+         mtl network-uri postgresql-libpq postgresql-simple scientific
+         tagged text time unordered-containers uuid-types vector
+       ];
+       homepage = "http://tathougies.github.io/beam/user-guide/backends/beam-postgres";
+       description = "Connection layer between beam and postgres";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "beam-sqlite" = callPackage
     ({ mkDerivation, aeson, attoparsec, base, beam-core, beam-migrate
      , bytestring, dlist, free, hashable, mtl, network-uri, scientific
-     , sqlite-simple, text, time
+     , sqlite-simple, text, time, unix
      }:
      mkDerivation {
        pname = "beam-sqlite";
-       version = "0.2.0.0";
-       sha256 = "0a0z5nrgrc3m7c4b81avjnkf2y5i30z5yws0jrsw5gg2b682v0ry";
+       version = "0.3.2.0";
+       sha256 = "06lmsajdlqc2178p4lkgwv2hh49dmjygrfjk081sr2xbhgnslr9s";
        libraryHaskellDepends = [
          aeson attoparsec base beam-core beam-migrate bytestring dlist free
-         hashable mtl network-uri scientific sqlite-simple text time
+         hashable mtl network-uri scientific sqlite-simple text time unix
        ];
        homepage = "http://tathougies.github.io/beam/user-guide/backends/beam-sqlite/";
        description = "Beam driver for SQLite";
-       license = stdenv.lib.licenses.bsd3;
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "beam-th" = callPackage
@@ -33162,8 +34153,8 @@ self: {
      }:
      mkDerivation {
        pname = "bench";
-       version = "1.0.8";
-       sha256 = "18lyjkyz1yynnln92ihn9g28w2s2xmahaqg1lr1cr2v3kpv8ilvl";
+       version = "1.0.9";
+       sha256 = "0c58m6w0xci76h97p7dkzcnxn8l9drsl9gz5gihhfzdxiardahrw";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -33371,6 +34362,27 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "betris" = callPackage
+    ({ mkDerivation, base, containers, lens, linear, random, stm
+     , stm-chans, vty
+     }:
+     mkDerivation {
+       pname = "betris";
+       version = "0.1.0.0";
+       sha256 = "1qn326s4xydvvgmrhqi48cc2pl9b3mp7swc82qk59gj7cx4dx222";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base containers lens linear random stm stm-chans vty
+       ];
+       executableHaskellDepends = [
+         base containers lens linear random stm stm-chans vty
+       ];
+       homepage = "https://github.com/mlang/betris#readme";
+       description = "Braille friendly vertical version of tetris";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "between" = callPackage
     ({ mkDerivation, base }:
      mkDerivation {
@@ -33460,8 +34472,8 @@ self: {
      }:
      mkDerivation {
        pname = "bhoogle";
-       version = "0.1.2.5";
-       sha256 = "16i5gf8iv0l10zira8wi9lgbz0q1f7lxp35ml9yz4j8cihn7z7ji";
+       version = "0.1.2.6";
+       sha256 = "0p6zh1rh80hzrm36w6d5hr6qjkfc71cr96dk9shrndnxlp8vlxsn";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -33784,6 +34796,8 @@ self: {
        pname = "binary";
        version = "0.7.6.1";
        sha256 = "0rqhz349w72h1bi79lga5x1d95g59h15srlahxbhfrmy2pycm1cg";
+       revision = "1";
+       editedCabalFile = "0lq4zn0wzfh7pwc163l2fain297njpd82jgjwkylbza3qs0nfx9m";
        libraryHaskellDepends = [ array base bytestring containers ];
        testHaskellDepends = [
          array base bytestring Cabal containers directory filepath HUnit
@@ -33854,26 +34868,6 @@ self: {
      }) {};
 
   "binary-conduit" = callPackage
-    ({ mkDerivation, base, binary, bytestring, conduit, hspec
-     , QuickCheck, quickcheck-assertions, resourcet, vector
-     }:
-     mkDerivation {
-       pname = "binary-conduit";
-       version = "1.2.5";
-       sha256 = "06sbs5kib5jdfxn0fj2yx2wjysgr7g0alnjg1v6iwi7rw2m1gm11";
-       libraryHaskellDepends = [
-         base binary bytestring conduit resourcet vector
-       ];
-       testHaskellDepends = [
-         base binary bytestring conduit hspec QuickCheck
-         quickcheck-assertions resourcet
-       ];
-       homepage = "http://github.com/qnikst/binary-conduit/";
-       description = "data serialization/deserialization conduit library";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-
-  "binary-conduit_1_3" = callPackage
     ({ mkDerivation, base, binary, bytestring, conduit, exceptions
      , hspec, QuickCheck, quickcheck-assertions, resourcet, vector
      }:
@@ -33893,7 +34887,6 @@ self: {
        homepage = "http://github.com/qnikst/binary-conduit/";
        description = "data serialization/deserialization conduit library";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "binary-derive" = callPackage
@@ -34038,8 +35031,8 @@ self: {
        pname = "binary-orphans";
        version = "0.1.8.0";
        sha256 = "1k6067wn9zki7xvbslvxx8cq1wrmz3kjb3q3x8mxycc9v765fxgi";
-       revision = "1";
-       editedCabalFile = "1zgp08sikp71k9llcplkdrfhh2gn43gk7hx81nslixl5s91a1j9q";
+       revision = "2";
+       editedCabalFile = "1kvrp3dfqx49lkvjvglv18r7yzb165wisg953yih9sgksm02pxf5";
        libraryHaskellDepends = [
          aeson base binary case-insensitive hashable scientific tagged text
          text-binary time unordered-containers vector
@@ -34166,6 +35159,7 @@ self: {
        libraryHaskellDepends = [ base bytestring cborg serialise ];
        description = "Yet Another Binary Serialisation Library (compatibility shim)";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "binary-shared" = callPackage
@@ -34257,8 +35251,8 @@ self: {
        pname = "binary-tagged";
        version = "0.1.4.2";
        sha256 = "1167rlb2lnib1vin9p75hp7fzcjqxljlw56bhmkwn05c5f6an7ri";
-       revision = "7";
-       editedCabalFile = "04l05gfbf3hf0pnkjpclyfqb9jaa665z4f89kf43lmd19qml6h04";
+       revision = "8";
+       editedCabalFile = "0a8xcrx2lm8yzcnrf76c1wynn238i87yz3lqlgrg5n9csdc0bhj1";
        libraryHaskellDepends = [
          aeson array base base16-bytestring binary bytestring containers
          generics-sop hashable nats scientific semigroups SHA tagged text
@@ -34437,29 +35431,55 @@ self: {
      }) {esound = null;};
 
   "bindings-GLFW" = callPackage
-    ({ mkDerivation, base, bindings-DSL, HUnit, libX11, libXcursor
-     , libXext, libXfixes, libXi, libXinerama, libXrandr, libXxf86vm
-     , mesa, template-haskell, test-framework, test-framework-hunit
+    ({ mkDerivation, base, bindings-DSL, HUnit, libGL, libX11
+     , libXcursor, libXext, libXfixes, libXi, libXinerama, libXrandr
+     , libXxf86vm, test-framework, test-framework-hunit
      }:
      mkDerivation {
        pname = "bindings-GLFW";
-       version = "3.1.2.3";
-       sha256 = "1xmmwxbjpxwndiacrh2mk3lih6cs8d83ax07vg5sgyp5d7qigvik";
-       libraryHaskellDepends = [ base bindings-DSL template-haskell ];
+       version = "3.1.2.4";
+       sha256 = "0d8fjckqykvxy9fs6b7k1fb5161wfbnif5ghrc1q1nlx9ngiykkr";
+       libraryHaskellDepends = [ base bindings-DSL ];
        librarySystemDepends = [
-         libX11 libXcursor libXext libXfixes libXi libXinerama libXrandr
-         libXxf86vm mesa
+         libGL libX11 libXcursor libXext libXfixes libXi libXinerama
+         libXrandr libXxf86vm
        ];
        testHaskellDepends = [
          base HUnit test-framework test-framework-hunit
        ];
        description = "Low-level bindings to GLFW OpenGL library";
        license = stdenv.lib.licenses.bsd3;
-     }) {inherit (pkgs.xorg) libX11; inherit (pkgs.xorg) libXcursor; 
-         inherit (pkgs.xorg) libXext; inherit (pkgs.xorg) libXfixes; 
-         inherit (pkgs.xorg) libXi; inherit (pkgs.xorg) libXinerama; 
-         inherit (pkgs.xorg) libXrandr; inherit (pkgs.xorg) libXxf86vm; 
-         mesa = null;};
+     }) {inherit (pkgs) libGL; inherit (pkgs.xorg) libX11; 
+         inherit (pkgs.xorg) libXcursor; inherit (pkgs.xorg) libXext; 
+         inherit (pkgs.xorg) libXfixes; inherit (pkgs.xorg) libXi; 
+         inherit (pkgs.xorg) libXinerama; inherit (pkgs.xorg) libXrandr; 
+         inherit (pkgs.xorg) libXxf86vm;};
+
+  "bindings-GLFW_3_2_1_1" = callPackage
+    ({ mkDerivation, base, bindings-DSL, HUnit, libGL, libX11
+     , libXcursor, libXext, libXfixes, libXi, libXinerama, libXrandr
+     , libXxf86vm, test-framework, test-framework-hunit
+     }:
+     mkDerivation {
+       pname = "bindings-GLFW";
+       version = "3.2.1.1";
+       sha256 = "03hn12bdqypwd6x9hxa7685bm6w86nsf6cmcwkr8zzgb41mwc93b";
+       libraryHaskellDepends = [ base bindings-DSL ];
+       librarySystemDepends = [
+         libGL libX11 libXcursor libXext libXfixes libXi libXinerama
+         libXrandr libXxf86vm
+       ];
+       testHaskellDepends = [
+         base HUnit test-framework test-framework-hunit
+       ];
+       description = "Low-level bindings to GLFW OpenGL library";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {inherit (pkgs) libGL; inherit (pkgs.xorg) libX11; 
+         inherit (pkgs.xorg) libXcursor; inherit (pkgs.xorg) libXext; 
+         inherit (pkgs.xorg) libXfixes; inherit (pkgs.xorg) libXi; 
+         inherit (pkgs.xorg) libXinerama; inherit (pkgs.xorg) libXrandr; 
+         inherit (pkgs.xorg) libXxf86vm;};
 
   "bindings-K8055" = callPackage
     ({ mkDerivation, base, K8055D }:
@@ -34743,6 +35763,7 @@ self: {
        homepage = "https://github.com/relrod/hamlib-haskell";
        description = "Hamlib bindings for Haskell";
        license = stdenv.lib.licenses.lgpl21;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {inherit (pkgs) hamlib;};
 
   "bindings-hdf5" = callPackage
@@ -34761,13 +35782,14 @@ self: {
     ({ mkDerivation, base, bindings-DSL, blas, liblapack }:
      mkDerivation {
        pname = "bindings-levmar";
-       version = "1.1.0.4";
-       sha256 = "1dxr9lbgf08a143d4vm78d1iibafzjx6zdlvpdxfri1v523z3sgd";
+       version = "1.1.0.5";
+       sha256 = "1pbxwzslg2b1nn66nk8w5z1ryfz205m94ry9vidzyalpz2wnr074";
        libraryHaskellDepends = [ base bindings-DSL ];
        librarySystemDepends = [ blas liblapack ];
        homepage = "https://github.com/basvandijk/bindings-levmar";
        description = "Low level bindings to the C levmar (Levenberg-Marquardt) library";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {inherit (pkgs) blas; inherit (pkgs) liblapack;};
 
   "bindings-libcddb" = callPackage
@@ -35177,10 +36199,8 @@ self: {
     ({ mkDerivation, base, binary, bytestring, rank1dynamic }:
      mkDerivation {
        pname = "bindynamic";
-       version = "1.0.0.0";
-       sha256 = "0vi4wyxx4qvfrhir8p66h5laqq2m1q3dh3i0syjfd6vaxa9c7sgi";
-       revision = "1";
-       editedCabalFile = "1rd7l106zka0hndbixmr3wzdj8gx6vwhlaaxkn170kprf4xs3p6j";
+       version = "1.0.0.1";
+       sha256 = "1dp52xagwgzmm77f1cm8mvwjy7xnckbkf1inxskq0c7xcch4wbfb";
        libraryHaskellDepends = [ base binary bytestring rank1dynamic ];
        homepage = "https://github.com/lspitzner/bindynamic";
        description = "A variation of Data.Dynamic.Dynamic with a Binary instance";
@@ -35341,21 +36361,19 @@ self: {
      }) {};
 
   "biohazard" = callPackage
-    ({ mkDerivation, async, attoparsec, base, base-prelude, binary
-     , bytestring, containers, directory, exceptions, filepath, hashable
-     , primitive, random, scientific, stm, text, transformers, unix
-     , unordered-containers, vector, vector-algorithms, vector-th-unbox
-     , zlib
+    ({ mkDerivation, async, attoparsec, base, base-prelude, bytestring
+     , containers, exceptions, hashable, primitive, stm, text
+     , transformers, unix, unordered-containers, vector
+     , vector-algorithms, vector-th-unbox, zlib
      }:
      mkDerivation {
        pname = "biohazard";
-       version = "1.0.0";
-       sha256 = "0cc855d3h1fh52ldvqzwf3f834g8singavvpk1ir157fgg8qjz3g";
+       version = "1.0.1";
+       sha256 = "0gzsrrapv3ih598qqacnipqgxxzxmci98rzvc54jxv3hajsnxkqb";
        libraryHaskellDepends = [
-         async attoparsec base base-prelude binary bytestring containers
-         directory exceptions filepath hashable primitive random scientific
-         stm text transformers unix unordered-containers vector
-         vector-algorithms vector-th-unbox zlib
+         async attoparsec base base-prelude bytestring containers exceptions
+         hashable primitive stm text transformers unix unordered-containers
+         vector vector-algorithms vector-th-unbox zlib
        ];
        homepage = "https://bitbucket.org/ustenzel/biohazard";
        description = "bioinformatics support library";
@@ -35367,23 +36385,23 @@ self: {
      , bytestring-lexing, case-insensitive, clustering, conduit
      , conduit-combinators, containers, criterion, data-default-class
      , data-ordlist, double-conversion, hexpat, HsHTSLib, http-conduit
-     , IntervalMap, math-functions, matrices, mtl, parallel, primitive
-     , random, split, statistics, tasty, tasty-golden, tasty-hunit, text
-     , transformers, unordered-containers, vector, vector-algorithms
-     , word8
+     , IntervalMap, lens, math-functions, matrices, mtl, parallel
+     , primitive, random, split, statistics, tasty, tasty-golden
+     , tasty-hunit, text, transformers, unordered-containers, vector
+     , vector-algorithms, word8
      }:
      mkDerivation {
        pname = "bioinformatics-toolkit";
-       version = "0.4.0";
-       sha256 = "18m799psijcj81hxyrnwjvwgb9z92pw5qk5hb7yny905f0wbbar1";
+       version = "0.5.0";
+       sha256 = "1nb549w2rzc9psdnz8xbma0qgm2hj4svrlm3x8vc2i1dklmljmvr";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          aeson aeson-pretty base bytestring bytestring-lexing
-         case-insensitive clustering conduit-combinators containers
-         data-default-class data-ordlist double-conversion hexpat HsHTSLib
-         http-conduit IntervalMap math-functions matrices mtl parallel
-         primitive split statistics text transformers unordered-containers
-         vector vector-algorithms word8
+         case-insensitive clustering conduit containers data-default-class
+         data-ordlist double-conversion hexpat HsHTSLib http-conduit
+         IntervalMap lens math-functions matrices mtl parallel primitive
+         split statistics text transformers unordered-containers vector
+         vector-algorithms word8
        ];
        testHaskellDepends = [
          base bytestring conduit conduit-combinators data-default-class
@@ -35901,8 +36919,8 @@ self: {
        pname = "bits";
        version = "0.5.1";
        sha256 = "14ww8zcyis6kfli28bb9i5dmmj7k1j1dlzpwnfrkzd8kp5xmazk5";
-       revision = "3";
-       editedCabalFile = "1xvrnswmny4j0p1h30hfgf5h4p128zn578bxzr83v6drmd74az9k";
+       revision = "4";
+       editedCabalFile = "188v93jiwy832ifcjq5db7sk5rngpnvira5kk1cb1srw4851hzyl";
        setupHaskellDepends = [ base Cabal cabal-doctest ];
        libraryHaskellDepends = [ base bytes mtl transformers ];
        testHaskellDepends = [ base doctest ];
@@ -35976,6 +36994,24 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "bits-extra" = callPackage
+    ({ mkDerivation, base, criterion, ghc-prim, hedgehog, hspec
+     , hw-hedgehog, hw-hspec-hedgehog, vector
+     }:
+     mkDerivation {
+       pname = "bits-extra";
+       version = "0.0.0.2";
+       sha256 = "067k2kczi56454mgv86x9r0fpzdc0v3m8z4rc0jb93bqd33knq7r";
+       libraryHaskellDepends = [ base ghc-prim ];
+       testHaskellDepends = [
+         base ghc-prim hedgehog hspec hw-hedgehog hw-hspec-hedgehog
+       ];
+       benchmarkHaskellDepends = [ base criterion ghc-prim vector ];
+       homepage = "https://github.com/haskell-works/bits-extra#readme";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "bits-extras" = callPackage
     ({ mkDerivation, base, gcc_s }:
      mkDerivation {
@@ -36162,10 +37198,8 @@ self: {
     ({ mkDerivation, array, base, bytestring, criterion, QuickCheck }:
      mkDerivation {
        pname = "bitwise";
-       version = "0.1.1.1";
-       sha256 = "11llsq03f7nlqdgzr2al71l01r3gbc8xfvrskx5ix3lc20aldq6d";
-       revision = "1";
-       editedCabalFile = "10v3wkjc3y9435kn1rywrp6z0h71pkjcs51p8wl30g9pbpscw5pq";
+       version = "1.0.0.1";
+       sha256 = "03xyzdkyb99gvm9g5chl07rqbnm7qrxba7wgmrfmal0rkwm0ibkn";
        libraryHaskellDepends = [ array base bytestring ];
        testHaskellDepends = [ base QuickCheck ];
        benchmarkHaskellDepends = [ array base bytestring criterion ];
@@ -36182,30 +37216,6 @@ self: {
      }:
      mkDerivation {
        pname = "bitx-bitcoin";
-       version = "0.11.0.1";
-       sha256 = "1711zfb7hl31xwpcwkxjnsmn541hzzk01fwa5rf1hhmxhpxmfslj";
-       libraryHaskellDepends = [
-         aeson base bytestring deepseq exceptions http-client
-         http-client-tls http-types microlens microlens-th network
-         QuickCheck scientific split text time
-       ];
-       testHaskellDepends = [
-         aeson base bytestring directory doctest hspec http-client
-         http-types microlens safe text time
-       ];
-       homepage = "https://github.com/tebello-thejane/bitx.hs";
-       description = "A Haskell library for working with the BitX bitcoin exchange";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "bitx-bitcoin_0_12_0_0" = callPackage
-    ({ mkDerivation, aeson, base, bytestring, deepseq, directory
-     , doctest, exceptions, hspec, http-client, http-client-tls
-     , http-types, microlens, microlens-th, network, QuickCheck, safe
-     , scientific, split, text, time
-     }:
-     mkDerivation {
-       pname = "bitx-bitcoin";
        version = "0.12.0.0";
        sha256 = "0wf86pkpm5vlcv5cci2sn6by0ajmq44b3azxc41zivqdpf5kkwii";
        libraryHaskellDepends = [
@@ -36220,7 +37230,6 @@ self: {
        homepage = "https://github.com/tebello-thejane/bitx.hs";
        description = "A Haskell library for working with the BitX bitcoin exchange";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "bizzlelude" = callPackage
@@ -36408,7 +37417,7 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
-  "blank-canvas" = callPackage
+  "blank-canvas_0_6_2" = callPackage
     ({ mkDerivation, aeson, base, base-compat, base64-bytestring
      , bytestring, colour, containers, data-default-class, directory
      , http-types, kansas-comet, mime-types, process, scotty, semigroups
@@ -36419,8 +37428,8 @@ self: {
        pname = "blank-canvas";
        version = "0.6.2";
        sha256 = "1qhdvxia8wlnv0ss9dsrxdfw3qsf376ypnpsijz7vxkj9dmzyq84";
-       revision = "1";
-       editedCabalFile = "0zc84pjrmb2xpsvavvf950vrwyd6nlfj3x2hi930wq1kjm7pr4ps";
+       revision = "4";
+       editedCabalFile = "03l1k5b58b9p8ajm2aiq5xfryj45zipzv04mxc2qnl5xk9jz0iqw";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          aeson base base-compat base64-bytestring bytestring colour
@@ -36437,6 +37446,34 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "blank-canvas" = callPackage
+    ({ mkDerivation, aeson, base, base-compat-batteries
+     , base64-bytestring, bytestring, colour, containers
+     , data-default-class, directory, http-types, kansas-comet
+     , mime-types, process, scotty, semigroups, shake, stm, text
+     , text-show, time, transformers, unix, vector, wai, wai-extra, warp
+     }:
+     mkDerivation {
+       pname = "blank-canvas";
+       version = "0.6.3";
+       sha256 = "1d10ngvsgi2hz6xick59rkq1wzfbsgckply2jmg6gz9mf3zj97bk";
+       enableSeparateDataOutput = true;
+       libraryHaskellDepends = [
+         aeson base base-compat-batteries base64-bytestring bytestring
+         colour containers data-default-class http-types kansas-comet
+         mime-types scotty semigroups stm text text-show transformers vector
+         wai wai-extra warp
+       ];
+       testHaskellDepends = [
+         base base-compat-batteries containers directory process shake stm
+         text time unix vector
+       ];
+       homepage = "https://github.com/ku-fpg/blank-canvas/wiki";
+       description = "HTML5 Canvas Graphics Library";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "blas" = callPackage
     ({ mkDerivation, base, ieee, QuickCheck, storable-complex }:
      mkDerivation {
@@ -36456,8 +37493,8 @@ self: {
      }:
      mkDerivation {
        pname = "blas-carray";
-       version = "0.0";
-       sha256 = "131kz5rdgz4l5xhwpfacix0wiwqf9a0ngdvmgp7iznf7znrf8hk6";
+       version = "0.0.1.1";
+       sha256 = "0ijzcdrbfb9w3vs4g96p30h7ilh9s05ij8n0prinmr1ngmvipbdx";
        libraryHaskellDepends = [
          base blas-ffi carray netlib-carray netlib-ffi storable-complex
          transformers
@@ -36472,8 +37509,8 @@ self: {
     ({ mkDerivation, base, blas, netlib-ffi }:
      mkDerivation {
        pname = "blas-ffi";
-       version = "0.0";
-       sha256 = "173djbrps396c9v5fl706k70qwy5jqcxay9j67draidw5qwhqcs2";
+       version = "0.0.1.1";
+       sha256 = "0dphqcnnka0ahfgdnshm8r3bd6r5wbpln9kksa6y09yi2nnqh3gf";
        libraryHaskellDepends = [ base netlib-ffi ];
        libraryPkgconfigDepends = [ blas ];
        homepage = "http://hub.darcs.net/thielema/blas-ffi/";
@@ -36560,8 +37597,8 @@ self: {
      }:
      mkDerivation {
        pname = "blaze-builder";
-       version = "0.4.0.2";
-       sha256 = "1m33y6p5xldni8p4fzg8fmsyqvkfmnimdamr1xjnsmgm3dkf9lws";
+       version = "0.4.1.0";
+       sha256 = "05681dih2d8s96an945wkbwl05w8ddbcfx8n3r3ck79ydyb8pz4i";
        libraryHaskellDepends = [ base bytestring deepseq text ];
        testHaskellDepends = [
          base bytestring HUnit QuickCheck test-framework
@@ -36736,8 +37773,8 @@ self: {
      }:
      mkDerivation {
        pname = "blaze-markup";
-       version = "0.8.2.0";
-       sha256 = "0m3h3ryxj5r74mv5g5dnfq5jbbwmvkl7ray18vi20d5vd93sydj4";
+       version = "0.8.2.1";
+       sha256 = "0ih1c3qahkdgzbqihdhny5s313l2m66fbb88w8jbx7yz56y7rawh";
        libraryHaskellDepends = [ base blaze-builder bytestring text ];
        testHaskellDepends = [
          base blaze-builder bytestring containers HUnit QuickCheck tasty
@@ -36882,6 +37919,8 @@ self: {
        pname = "blink1";
        version = "0.4";
        sha256 = "0547wg4qk2xv5gzj1alaxk06j65dhmzhn6y48rjllyr4lc5bm2qj";
+       revision = "1";
+       editedCabalFile = "107838wpl7dw7r73gf7fkkcprafih7l5wy31ic7yc8wyp9s9hkxi";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base bytestring text unix usb vector ];
@@ -37048,8 +38087,8 @@ self: {
      }:
      mkDerivation {
        pname = "bloodhound-amazonka-auth";
-       version = "0.1.2.0";
-       sha256 = "1r9fj8zh9swdmy0f96112kpm1s50wlyf194w2km4rpq2hblcjlrm";
+       version = "0.1.2.1";
+       sha256 = "06h3yw5fy6y1vr0zd059p3whm2mlfqwi9vjz80rwq7w6lv0p85a8";
        libraryHaskellDepends = [
          amazonka-core amazonka-elasticsearch base bloodhound exceptions
          http-client http-types time transformers uri-bytestring
@@ -37124,6 +38163,7 @@ self: {
        homepage = "http://github.com/GregorySchwartz/blosum#readme";
        description = "BLOSUM generator";
        license = stdenv.lib.licenses.gpl2;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "bloxorz" = callPackage
@@ -37331,7 +38371,6 @@ self: {
        homepage = "https://github.com/phlummox/bogocopy";
        description = "Copy a directory tree, making zero-size sparse copies of big files";
        license = stdenv.lib.licenses.bsd2;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "bogre-banana" = callPackage
@@ -37384,10 +38423,8 @@ self: {
      }:
      mkDerivation {
        pname = "boltzmann-samplers";
-       version = "0.1.0.0";
-       sha256 = "0gw8d4xrwr9xs9k7dflm12xpkn6k0yn41myvzqzj4c6bhdd0c1sp";
-       revision = "1";
-       editedCabalFile = "00va7bagszricicai4jckyka8azgw6gly9ps5kabnsyv5znylfr0";
+       version = "0.1.1.0";
+       sha256 = "13l7ml35hm0i2rgw419n7xp2zp58pafm6gmmik3jgbmhfwgkwz6y";
        libraryHaskellDepends = [
          ad base containers hashable hmatrix ieee754 MonadRandom mtl
          QuickCheck transformers unordered-containers vector
@@ -37536,14 +38573,32 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "bookkeeping_0_4_0_1" = callPackage
+    ({ mkDerivation, base, doctest, Glob, mono-traversable, text, time
+     , transaction
+     }:
+     mkDerivation {
+       pname = "bookkeeping";
+       version = "0.4.0.1";
+       sha256 = "0afa4g5c9csjn747732qqbs3ghp8c4jyxhfb9k09igfaladrvzfl";
+       libraryHaskellDepends = [
+         base mono-traversable text time transaction
+       ];
+       testHaskellDepends = [ base doctest Glob ];
+       homepage = "https://github.com/arowM/haskell-bookkeeping#readme";
+       description = "A module for bookkeeping by double entry";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "bookkeeping-jp" = callPackage
     ({ mkDerivation, base, bookkeeping, doctest, Glob, mono-traversable
      , text, time
      }:
      mkDerivation {
        pname = "bookkeeping-jp";
-       version = "0.1.1.1";
-       sha256 = "1mnjwfdzhp1kbd02g7vdc1x2rrm10hzi96j6ljin17vynh06dmm0";
+       version = "0.1.1.3";
+       sha256 = "06zfq2153p6dnrmrp3vdq27xij38l5cnx46y3qpzifrpsady6lgd";
        libraryHaskellDepends = [
          base bookkeeping mono-traversable text time
        ];
@@ -37691,12 +38746,14 @@ self: {
      }) {};
 
   "boomerang" = callPackage
-    ({ mkDerivation, base, mtl, template-haskell, text }:
+    ({ mkDerivation, base, mtl, semigroups, template-haskell, text }:
      mkDerivation {
        pname = "boomerang";
-       version = "1.4.5.3";
-       sha256 = "124k13x5wzjy2qlbdgixncgr5l7cxw4glq1hjb8hyk8vfvgs6qfl";
-       libraryHaskellDepends = [ base mtl template-haskell text ];
+       version = "1.4.5.5";
+       sha256 = "0i2svn3bs57hhwgplkydvvpznl178dlm3byi0j4y2ckd9gqpzz4d";
+       libraryHaskellDepends = [
+         base mtl semigroups template-haskell text
+       ];
        description = "Library for invertible parsing and printing";
        license = stdenv.lib.licenses.bsd3;
      }) {};
@@ -37792,15 +38849,22 @@ self: {
      }) {};
 
   "boring" = callPackage
-    ({ mkDerivation, adjunctions, base, tagged, transformers }:
+    ({ mkDerivation, adjunctions, base, base-compat, constraints, fin
+     , generics-sop, streams, tagged, transformers, transformers-compat
+     , vec
+     }:
      mkDerivation {
        pname = "boring";
-       version = "0";
-       sha256 = "11m8dfjwl9xyhvdblr6rhv7d9vrgayznzvaksdsq0qc8s30f1m0j";
-       libraryHaskellDepends = [ adjunctions base tagged transformers ];
+       version = "0.1";
+       sha256 = "0r263cc8bdwsaw33x96fgd8npsma9a2ffv6mfz9z72d7qclhimkk";
+       libraryHaskellDepends = [
+         adjunctions base base-compat constraints fin generics-sop streams
+         tagged transformers transformers-compat vec
+       ];
        homepage = "https://github.com/phadej/boring";
        description = "Boring and Absurd types";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "boring-game" = callPackage
@@ -37823,8 +38887,8 @@ self: {
     ({ mkDerivation, base, gtk, transformers, X11 }:
      mkDerivation {
        pname = "boring-window-switcher";
-       version = "0.1.0.4";
-       sha256 = "15ii0v9qy55pzz9ykbwigazck61m7vh5k7m782nzbqyi7az7v7sg";
+       version = "0.1.0.5";
+       sha256 = "062l93lh9y9wgdf8f1xql07ci8rpcspaagpsmcyc6wnikganls9w";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base gtk transformers X11 ];
@@ -37883,8 +38947,8 @@ self: {
        pname = "bound";
        version = "2.0.1";
        sha256 = "0xmvkwambzmji1czxipl9cms5l3v98765b9spmb3wn5n6dpj0ji9";
-       revision = "3";
-       editedCabalFile = "1ivq22ks8y4c086q6w74bh8jvgvliwzdayqw0h5zycx8wg7vcgiz";
+       revision = "4";
+       editedCabalFile = "1gnknncwjil9kcilpj08a5s0r1z3nk5iyg1dlynldxaj6p0z90hx";
        setupHaskellDepends = [ base Cabal cabal-doctest ];
        libraryHaskellDepends = [
          base bifunctors binary bytes cereal comonad deepseq hashable mmorph
@@ -37986,8 +39050,8 @@ self: {
     ({ mkDerivation, base, QuickCheck, split }:
      mkDerivation {
        pname = "boxes";
-       version = "0.1.4";
-       sha256 = "1n7xiplzd3s1a39nizwjcgsh3wi2348mp21c3fk19v98ialfjgjf";
+       version = "0.1.5";
+       sha256 = "1hsnmw95i58d4bkpxby3ddsj1cawypw4mdyb18m393s5i8p7iq9q";
        libraryHaskellDepends = [ base split ];
        testHaskellDepends = [ base QuickCheck split ];
        description = "2D text pretty-printing library";
@@ -38026,6 +39090,7 @@ self: {
        homepage = "http://github.com/githubuser/braid#readme";
        description = "Types and functions to work with braids and Khovanov homology";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "brain-bleep" = callPackage
@@ -38088,8 +39153,8 @@ self: {
      }:
      mkDerivation {
        pname = "brainheck";
-       version = "0.1.0.6";
-       sha256 = "0dldvr0k0pglw6c6jwafkd2d9afx0626kgiia1v5wblrfgf438w1";
+       version = "0.1.0.7";
+       sha256 = "17x5jyamc4863glxxdp7qdpnma7kinc67230snyplz2xzifpxq7k";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -38100,6 +39165,7 @@ self: {
        homepage = "https://github.com/vmchale/brainheck#readme";
        description = "Brainh*ck interpreter in haskell";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "break" = callPackage
@@ -38176,8 +39242,10 @@ self: {
      }:
      mkDerivation {
        pname = "brick";
-       version = "0.29.1";
-       sha256 = "1jslqfsqgrg379x4zi44f5xxn2jh0syqd4zbnfg07y3zgy5i399z";
+       version = "0.34.1";
+       sha256 = "0y07xq5r5qbn5fqkp0cy1s9a50lnqmk35dvmil38xn2g23dgmfys";
+       revision = "2";
+       editedCabalFile = "0yk4wxlv693gnax8b0gr6g2zqsm53izwar0aagqc4w3bq3llx63b";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -38190,16 +39258,16 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "brick_0_34_1" = callPackage
+  "brick_0_37" = callPackage
     ({ mkDerivation, base, config-ini, containers, contravariant
      , data-clist, deepseq, dlist, microlens, microlens-mtl
-     , microlens-th, stm, template-haskell, text, text-zipper
-     , transformers, vector, vty, word-wrap
+     , microlens-th, QuickCheck, stm, template-haskell, text
+     , text-zipper, transformers, vector, vty, word-wrap
      }:
      mkDerivation {
        pname = "brick";
-       version = "0.34.1";
-       sha256 = "0y07xq5r5qbn5fqkp0cy1s9a50lnqmk35dvmil38xn2g23dgmfys";
+       version = "0.37";
+       sha256 = "1v9ydqwaq116n8f4q9ln4zf9jr28y730y7l7m1r2ipjfjassxfq2";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -38207,6 +39275,7 @@ self: {
          microlens microlens-mtl microlens-th stm template-haskell text
          text-zipper transformers vector vty word-wrap
        ];
+       testHaskellDepends = [ base containers QuickCheck ];
        homepage = "https://github.com/jtdaugherty/brick/";
        description = "A declarative terminal user interface library";
        license = stdenv.lib.licenses.bsd3;
@@ -38214,15 +39283,17 @@ self: {
      }) {};
 
   "brick-skylighting" = callPackage
-    ({ mkDerivation, base, brick, containers, skylighting, text, vty }:
+    ({ mkDerivation, base, brick, containers, skylighting-core, text
+     , vty
+     }:
      mkDerivation {
        pname = "brick-skylighting";
-       version = "0.1";
-       sha256 = "189qpq2cg45binlb9nq43h05g97ch56855xlz2givxw8psb0kb1i";
+       version = "0.2";
+       sha256 = "1x4kfjj4sa5gbxnbvh76b4isrmc6jr11py9b50jsyvs720plq778";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         base brick containers skylighting text vty
+         base brick containers skylighting-core text vty
        ];
        homepage = "https://github.com/jtdaugherty/brick-skylighting/";
        description = "Show syntax-highlighted text in your Brick UI";
@@ -38387,8 +39458,10 @@ self: {
      }:
      mkDerivation {
        pname = "brittany";
-       version = "0.9.0.0";
-       sha256 = "0fi87p8ybibwhsmbh35xhipfkdg3kdwqb6n3y5ynql7603kssgc1";
+       version = "0.9.0.1";
+       sha256 = "1ndmnakzq6kiyxlxmgrjmzzpknrn4ib5ck5vxxr90qw8rw6yqi88";
+       revision = "1";
+       editedCabalFile = "1ac9g160kaaz78xk6xdfpkm0qadgkanjghi8g0b9fy17983fiw7a";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -38415,34 +39488,33 @@ self: {
        homepage = "https://github.com/lspitzner/brittany/";
        description = "Haskell source code formatter";
        license = stdenv.lib.licenses.agpl3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
-  "brittany_0_9_0_1" = callPackage
+  "brittany_0_11_0_0" = callPackage
     ({ mkDerivation, aeson, base, butcher, bytestring, cmdargs
      , containers, czipwith, data-tree-print, deepseq, directory, extra
      , filepath, ghc, ghc-boot-th, ghc-exactprint, ghc-paths, hspec
      , monad-memo, mtl, multistate, neat-interpolation, parsec, pretty
-     , safe, semigroups, strict, syb, text, transformers, uniplate
-     , unsafe, yaml
+     , random, safe, semigroups, strict, syb, text, transformers
+     , uniplate, unsafe, yaml
      }:
      mkDerivation {
        pname = "brittany";
-       version = "0.9.0.1";
-       sha256 = "1ndmnakzq6kiyxlxmgrjmzzpknrn4ib5ck5vxxr90qw8rw6yqi88";
+       version = "0.11.0.0";
+       sha256 = "1fgcim4q5y7csk8c038rm97w6b8bgynmi6h1dwyr2hsmzw9hxa26";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          aeson base butcher bytestring cmdargs containers czipwith
-         data-tree-print deepseq directory extra ghc ghc-boot-th
+         data-tree-print deepseq directory extra filepath ghc ghc-boot-th
          ghc-exactprint ghc-paths monad-memo mtl multistate
-         neat-interpolation pretty safe semigroups strict syb text
+         neat-interpolation pretty random safe semigroups strict syb text
          transformers uniplate unsafe yaml
        ];
        executableHaskellDepends = [
          aeson base butcher bytestring cmdargs containers czipwith
          data-tree-print deepseq directory extra filepath ghc ghc-boot-th
-         ghc-exactprint ghc-paths hspec monad-memo mtl multistate
+         ghc-exactprint ghc-paths monad-memo mtl multistate
          neat-interpolation pretty safe semigroups strict syb text
          transformers uniplate unsafe yaml
        ];
@@ -38498,6 +39570,40 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {broker = null;};
 
+  "bronyradiogermany-common" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, network-uri, text, time
+     , tz, uuid-types
+     }:
+     mkDerivation {
+       pname = "bronyradiogermany-common";
+       version = "1.0.0.1";
+       sha256 = "1hwqif1jnwjhkb22j7rsc7fznvd7373gbfsl46196bb6489bbcvy";
+       libraryHaskellDepends = [
+         aeson base bytestring network-uri text time tz uuid-types
+       ];
+       description = "Common types and URIs for the BronyRadioGermany API bindings";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "bronyradiogermany-streaming" = callPackage
+    ({ mkDerivation, aeson, base, bronyradiogermany-common, bytestring
+     , case-insensitive, http-types, mtl, streaming
+     , streaming-bytestring, streaming-utils, text, time, uuid
+     }:
+     mkDerivation {
+       pname = "bronyradiogermany-streaming";
+       version = "1.0.0.1";
+       sha256 = "1a2yz2cbjpcywis7fy5l1w3pipirh6rjfcgs1mdyhgza12qnbx09";
+       libraryHaskellDepends = [
+         aeson base bronyradiogermany-common bytestring case-insensitive
+         http-types mtl streaming streaming-bytestring streaming-utils text
+         time uuid
+       ];
+       description = "Streaming interface for the BronyRadioGermany API";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "browscap" = callPackage
     ({ mkDerivation, base, bytestring, deepseq, ini, lens, lrucache
      , mtl, text, unordered-containers, wreq
@@ -38513,6 +39619,19 @@ self: {
        homepage = "https://oss.xkcd.com";
        description = "A reader and interface for the Browser Capabilities Project data files";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "bsb-http-chunked" = callPackage
+    ({ mkDerivation, base, bytestring, bytestring-builder }:
+     mkDerivation {
+       pname = "bsb-http-chunked";
+       version = "0.0.0.2";
+       sha256 = "1x6m6xkrcw6jiaig1bb2wb5pqyw31x8xr9k9pxgq2g3ng44pbjr8";
+       libraryHaskellDepends = [ base bytestring bytestring-builder ];
+       homepage = "http://github.com/sjakobi/bsb-http-chunked";
+       description = "Chunked HTTP transfer encoding for bytestring builders";
+       license = stdenv.lib.licenses.bsd3;
      }) {};
 
   "bsd-sysctl" = callPackage
@@ -38762,8 +39881,8 @@ self: {
      }:
      mkDerivation {
        pname = "buffer-builder";
-       version = "0.2.4.4";
-       sha256 = "1n1dvd1xqxi6aklrhnsmymmj7qxf7sfcigqs0j6a1137fzxvmh01";
+       version = "0.2.4.5";
+       sha256 = "08g47zaqrh40lvkwijpx3x8xflpnjvrijd9bsfv0m94139xrncmc";
        libraryHaskellDepends = [
          base bytestring mtl text unordered-containers vector
        ];
@@ -38828,8 +39947,8 @@ self: {
      }:
      mkDerivation {
        pname = "buffon";
-       version = "0.1.0.0";
-       sha256 = "073a2gzazihqyki175xhb97szqyvv2ijjrh7byik25z1xlkn599d";
+       version = "0.1.0.1";
+       sha256 = "1v9kxm3yrw871567j8qza7gayllhsb77pxqriin4akvg77llz7l9";
        libraryHaskellDepends = [
          base monad-primitive mwc-random mwc-random-monad primitive
          transformers
@@ -38852,6 +39971,31 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "bugsnag-haskell" = callPackage
+    ({ mkDerivation, aeson, aeson-qq, base, bytestring
+     , case-insensitive, doctest, hspec, http-client, http-client-tls
+     , http-conduit, http-types, iproute, network, parsec
+     , template-haskell, text, th-lift-instances, time, ua-parser, wai
+     }:
+     mkDerivation {
+       pname = "bugsnag-haskell";
+       version = "0.0.1.1";
+       sha256 = "09jv8qr795ag12xf035ywpvnd61q7cgsqcx1irvyh9zlmiixb975";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson base bytestring case-insensitive http-client http-client-tls
+         http-conduit http-types iproute network parsec template-haskell
+         text th-lift-instances time ua-parser wai
+       ];
+       testHaskellDepends = [
+         aeson aeson-qq base doctest hspec text time
+       ];
+       homepage = "https://github.com/pbrisbin/bugsnag-haskell#readme";
+       description = "Bugsnag error reporter for Haskell";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "bugzilla" = callPackage
     ({ mkDerivation, aeson, base, blaze-builder, bytestring, connection
      , containers, data-default, http-conduit, http-types, iso8601-time
@@ -38888,18 +40032,15 @@ self: {
 
   "buildbox" = callPackage
     ({ mkDerivation, base, bytestring, containers, directory
-     , exceptions, mtl, old-locale, pretty, process, stm, temporary
-     , text, time
+     , exceptions, mtl, old-locale, process, stm, temporary, text, time
      }:
      mkDerivation {
        pname = "buildbox";
-       version = "2.1.9.3";
-       sha256 = "1ffvf82qmf05vxzxi70jm1yq8apv5s62nms529n6x1p5lyrwwdr5";
-       revision = "1";
-       editedCabalFile = "0nqhdmkmgnqgfw8vkjnwbrzrj7lvrhc0gw23p8smxkppvh6y5zv3";
+       version = "2.2.1.1";
+       sha256 = "19kyi8w3z3k3ydbzw5y57j6m4ffg6y9pachwzsfzjpkfczi7ds7z";
        libraryHaskellDepends = [
          base bytestring containers directory exceptions mtl old-locale
-         pretty process stm temporary text time
+         process stm temporary text time
        ];
        homepage = "http://code.ouroborus.net/buildbox";
        description = "Rehackable components for writing buildbots and test harnesses";
@@ -39147,38 +40288,42 @@ self: {
      }) {system-glib = pkgs.glib;};
 
   "butcher" = callPackage
-    ({ mkDerivation, base, bifunctors, containers, deque, either, extra
-     , free, microlens, microlens-th, mtl, multistate, pretty
-     , transformers, unsafe, void
+    ({ mkDerivation, base, bifunctors, containers, deque, extra, free
+     , microlens, microlens-th, mtl, multistate, pretty, transformers
+     , unsafe, void
      }:
      mkDerivation {
        pname = "butcher";
-       version = "1.2.1.0";
-       sha256 = "0vam5lqbp2k8r56d997bcp63lnsc4bbs7yd4lzjvibimr38g032w";
-       revision = "3";
-       editedCabalFile = "1faax0pipbywayjn961id2bc19y109bq0ny2hl1p9mh209iccnza";
+       version = "1.3.0.0";
+       sha256 = "0v85ganhfljxyqy9sfmhbqnfdazikmy8a3mpg1w1y827l4a3nkng";
+       revision = "1";
+       editedCabalFile = "1zw355fg08p90xv3f1qcray0vz68h4sab0q2zfb3hk3j8mpplgvp";
        libraryHaskellDepends = [
-         base bifunctors containers deque either extra free microlens
-         microlens-th mtl multistate pretty transformers unsafe void
+         base bifunctors containers deque extra free microlens microlens-th
+         mtl multistate pretty transformers unsafe void
        ];
        homepage = "https://github.com/lspitzner/butcher/";
        description = "Chops a command or program invocation into digestable pieces";
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "butcher_1_3_0_0" = callPackage
+  "butcher_1_3_1_1" = callPackage
     ({ mkDerivation, base, bifunctors, containers, deque, extra, free
-     , microlens, microlens-th, mtl, multistate, pretty, transformers
-     , unsafe, void
+     , hspec, microlens, microlens-th, mtl, multistate, pretty
+     , transformers, unsafe, void
      }:
      mkDerivation {
        pname = "butcher";
-       version = "1.3.0.0";
-       sha256 = "0v85ganhfljxyqy9sfmhbqnfdazikmy8a3mpg1w1y827l4a3nkng";
+       version = "1.3.1.1";
+       sha256 = "1llhsqg8m4f7am14kvw4psm5fb8kcph27mk059vg2mq65xns470z";
        libraryHaskellDepends = [
          base bifunctors containers deque extra free microlens microlens-th
          mtl multistate pretty transformers unsafe void
        ];
+       testHaskellDepends = [
+         base containers deque extra free hspec microlens microlens-th mtl
+         multistate pretty transformers unsafe
+       ];
        homepage = "https://github.com/lspitzner/butcher/";
        description = "Chops a command or program invocation into digestable pieces";
        license = stdenv.lib.licenses.bsd3;
@@ -39211,8 +40356,8 @@ self: {
     ({ mkDerivation, base, ghc-prim, integer-gmp }:
      mkDerivation {
        pname = "bv";
-       version = "0.4.1";
-       sha256 = "1fs5rwmd9zn58wdb5s4xrq8vj9rsimwnjp9nd3hpcbkry58222fx";
+       version = "0.5";
+       sha256 = "1nkvqwqcjl57p6ir0sllb54vbj6q0l3s3w7z3z2svxjq2ymqk884";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base ghc-prim integer-gmp ];
@@ -39228,30 +40373,51 @@ self: {
      }:
      mkDerivation {
        pname = "bv-little";
-       version = "0.1.0.0";
-       sha256 = "0gll7czp8xcm8lcvlxqxfx1gn8wj6cvqm5c9xh0g1s445ykrs93w";
+       version = "0.1.1";
+       sha256 = "153bd5y55scp6qd9q7vnkhp8zwj3qssyr4qy8wpfj8k9xp8xdrk8";
        libraryHaskellDepends = [
          base deepseq hashable integer-gmp mono-traversable primitive
          QuickCheck
        ];
        testHaskellDepends = [
-         base hashable mono-traversable QuickCheck tasty tasty-hunit
+         base deepseq hashable mono-traversable QuickCheck tasty tasty-hunit
          tasty-quickcheck
        ];
-       benchmarkHaskellDepends = [ base criterion deepseq ];
+       benchmarkHaskellDepends = [ base criterion deepseq hashable ];
        homepage = "https://github.com/recursion-ninja/bv-little";
        description = "Efficient little-endian bit vector library";
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "bv-sized" = callPackage
+    ({ mkDerivation, base, containers, lens, mtl, parameterized-utils
+     , prettyclass, QuickCheck, random
+     }:
+     mkDerivation {
+       pname = "bv-sized";
+       version = "0.4.0";
+       sha256 = "18z4k076q0bk23di1i1hh8k0h319psh5hrh6jdv6446c7sg7v1c8";
+       libraryHaskellDepends = [
+         base containers lens mtl parameterized-utils prettyclass QuickCheck
+         random
+       ];
+       testHaskellDepends = [
+         base lens parameterized-utils prettyclass QuickCheck random
+       ];
+       homepage = "https://github.com/benjaminselfridge/bv-sized";
+       description = "a BitVector datatype that is parameterized by the vector width";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "byline" = callPackage
     ({ mkDerivation, ansi-terminal, base, colour, containers
      , exceptions, haskeline, mtl, terminfo-hs, text, transformers
      }:
      mkDerivation {
        pname = "byline";
-       version = "0.3.0.0";
-       sha256 = "03z27wx9g8pmx07r2cc5mzp3p7qpzq7gp590k9kd3kq1q9dx2096";
+       version = "0.3.1.0";
+       sha256 = "11kchyzm908ld3s3k8jh8phbryhp4zj5d3aq4sflfd8pkrns321d";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -39261,6 +40427,7 @@ self: {
        homepage = "http://github.com/pjones/byline";
        description = "Library for creating command-line interfaces (colors, menus, etc.)";
        license = stdenv.lib.licenses.bsd2;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "bytable" = callPackage
@@ -39335,10 +40502,8 @@ self: {
      }:
      mkDerivation {
        pname = "bytes";
-       version = "0.15.3";
-       sha256 = "0kfdw1c13y3kxc1s9nzyavrv1ccipzrmqlwmigj3gnwjcjvddp6q";
-       revision = "3";
-       editedCabalFile = "13dwn6srx7zgiyayx5yxc14425asph9mylbi21yw30g04ahrbkxv";
+       version = "0.15.4";
+       sha256 = "121x3iqlm8pghw8cd9g30cnqbl7jrdpfjxdanmqdqllajw6xivrm";
        setupHaskellDepends = [ base Cabal cabal-doctest ];
        libraryHaskellDepends = [
          base binary bytestring cereal containers hashable mtl scientific
@@ -39401,7 +40566,6 @@ self: {
        homepage = "https://github.com/tsuraan/bytestring-arbitrary";
        description = "Arbitrary instances for ByteStrings";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "bytestring-builder" = callPackage
@@ -39416,6 +40580,23 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "bytestring-builder-varword" = callPackage
+    ({ mkDerivation, attoparsec, attoparsec-varword, base, bytestring
+     , hspec, QuickCheck
+     }:
+     mkDerivation {
+       pname = "bytestring-builder-varword";
+       version = "0.1.0.0";
+       sha256 = "1lpcy47z3jf023iv0vdwsy5l2bsjb4i8vbnzjk9hzg0n9866f2g1";
+       libraryHaskellDepends = [ base bytestring ];
+       testHaskellDepends = [
+         attoparsec attoparsec-varword base bytestring hspec QuickCheck
+       ];
+       homepage = "https://github.com/concert/hs-varword#readme";
+       description = "Variable-length integer encoding";
+       license = stdenv.lib.licenses.lgpl3;
+     }) {};
+
   "bytestring-class" = callPackage
     ({ mkDerivation, base, bytestring, utf8-string }:
      mkDerivation {
@@ -39485,8 +40666,8 @@ self: {
      }:
      mkDerivation {
        pname = "bytestring-encodings";
-       version = "0.1.0.0";
-       sha256 = "070n1203shbfkimkrxr5xs5znpljbb61v7npwp9lgfpj4h8gyaq7";
+       version = "0.1.0.1";
+       sha256 = "09lx8d92dhd4gicz8pbpj19k2iaig1yl4lksqpxiqgxzybwqn0rc";
        libraryHaskellDepends = [ base bytestring ghc-prim ];
        testHaskellDepends = [ base bytestring hedgehog ];
        benchmarkHaskellDepends = [ base bytestring gauge text ];
@@ -39582,15 +40763,14 @@ self: {
        homepage = "https://github.com/hvr/bytestring-plain";
        description = "Plain byte strings ('ForeignPtr'-less 'ByteString's)";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "bytestring-progress" = callPackage
     ({ mkDerivation, base, bytestring, terminal-progress-bar, time }:
      mkDerivation {
        pname = "bytestring-progress";
-       version = "1.0.8";
-       sha256 = "0zqb9aanlwq2ddcn7n8xar73fjb04xvfym7k5pjah2cs1lh3cv8l";
+       version = "1.2";
+       sha256 = "195vsqpmaycxi0k7kk1hasrklnblr3psllc288vkh77pbnfm3vqi";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          base bytestring terminal-progress-bar time
@@ -39598,7 +40778,6 @@ self: {
        homepage = "http://github.com/acw/bytestring-progress";
        description = "A library for tracking the consumption of a lazy ByteString";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "bytestring-read" = callPackage
@@ -39743,6 +40922,8 @@ self: {
        pname = "bytestring-trie";
        version = "0.2.4.1";
        sha256 = "0qqklrvdcprchnl4bxr6w7zf6k5gncincl3kysm34gd04sszxr1g";
+       revision = "1";
+       editedCabalFile = "0f56pb1k1va7bs9rpn0b8hclxhn5pcjln857k50myhyzrwz8qg7r";
        libraryHaskellDepends = [ base binary bytestring ];
        homepage = "http://code.haskell.org/~wren/";
        description = "An efficient finite map from (byte)strings to values";
@@ -39830,55 +41011,29 @@ self: {
 
   "bzlib-conduit" = callPackage
     ({ mkDerivation, base, bindings-DSL, bytestring, bzip2, conduit
-     , conduit-extra, data-default, hspec, mtl, QuickCheck, random
-     , resourcet
+     , data-default-class, hspec, mtl, random, resourcet
      }:
      mkDerivation {
        pname = "bzlib-conduit";
-       version = "0.2.1.5";
-       sha256 = "1bv78qr6fbf6lg1dx06g3r2904fjnpvb87mlqv6np2kpyzjc11an";
-       revision = "1";
-       editedCabalFile = "1pz462dij6rizmbi7dw6qz50f9xgnzzw2z08cjlvbqzn05cpgdv6";
+       version = "0.3.0.1";
+       sha256 = "0fd2hnr782s7qgipazg2yxwia9qqhkvm9bcm90773c3zkxa13n23";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
-         base bindings-DSL bytestring conduit conduit-extra data-default mtl
-         resourcet
-       ];
-       librarySystemDepends = [ bzip2 ];
-       testHaskellDepends = [
-         base bytestring conduit conduit-extra hspec QuickCheck random
+         base bindings-DSL bytestring conduit data-default-class mtl
          resourcet
        ];
-       benchmarkHaskellDepends = [ base conduit conduit-extra resourcet ];
-       homepage = "https://github.com/snoyberg/bzlib-conduit";
-       description = "Streaming compression/decompression via conduits";
-       license = stdenv.lib.licenses.bsd3;
-     }) {inherit (pkgs) bzip2;};
-
-  "bzlib-conduit_0_3_0" = callPackage
-    ({ mkDerivation, base, bindings-DSL, bytestring, bzip2, conduit
-     , data-default, hspec, mtl, random, resourcet
-     }:
-     mkDerivation {
-       pname = "bzlib-conduit";
-       version = "0.3.0";
-       sha256 = "11nz2lkrv39rb7ayhnqlpjrxsprnv92ygwwvgmp3i32l9fakwhpw";
-       enableSeparateDataOutput = true;
-       libraryHaskellDepends = [
-         base bindings-DSL bytestring conduit data-default mtl resourcet
-       ];
        librarySystemDepends = [ bzip2 ];
        testHaskellDepends = [
-         base bindings-DSL bytestring conduit data-default hspec mtl random
-         resourcet
+         base bindings-DSL bytestring conduit data-default-class hspec mtl
+         random resourcet
        ];
        benchmarkHaskellDepends = [
-         base bindings-DSL bytestring conduit data-default mtl resourcet
+         base bindings-DSL bytestring conduit data-default-class mtl
+         resourcet
        ];
        homepage = "https://github.com/snoyberg/bzlib-conduit#readme";
        description = "Streaming compression/decompression via conduits";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {inherit (pkgs) bzip2;};
 
   "c-dsl" = callPackage
@@ -39926,6 +41081,19 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {inherit (pkgs) mosquitto;};
 
+  "c-storable" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "c-storable";
+       version = "0.2";
+       sha256 = "03ynlm6nbm2hsqp0bpcqj3kp1hbg2pnif44zrgj8rda8dmsczm9j";
+       enableSeparateDataOutput = true;
+       libraryHaskellDepends = [ base ];
+       homepage = "https://github.com/elaforge/c-storable";
+       description = "CStorable class";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "c-storable-deriving" = callPackage
     ({ mkDerivation, base, ghc-prim }:
      mkDerivation {
@@ -40062,6 +41230,18 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "ca" = callPackage
+    ({ mkDerivation, alg, base }:
+     mkDerivation {
+       pname = "ca";
+       version = "0.0.0.1";
+       sha256 = "0fkqbpgbbp1g6q5vjmgnfddrilyqwqsvd6w7w3vmgg6q7zdh6fy2";
+       libraryHaskellDepends = [ alg base ];
+       description = "Cellular Automata";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "cab" = callPackage
     ({ mkDerivation, attoparsec, base, bytestring, Cabal, conduit
      , conduit-extra, containers, directory, filepath, process
@@ -40069,8 +41249,8 @@ self: {
      }:
      mkDerivation {
        pname = "cab";
-       version = "0.2.17";
-       sha256 = "0lnd8m10999jxyx6x5plbrm135p7bv9q67c80h4l4gy49h07sr87";
+       version = "0.2.18";
+       sha256 = "0ic1ivxiv217ls4g38q5dwrb8sbsrzvdm6c0idv9ancpjmm8k8jl";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -40216,8 +41396,8 @@ self: {
      }:
      mkDerivation {
        pname = "cabal-debian";
-       version = "4.36.2";
-       sha256 = "142y8ng64qcykyjp1yz989ksznhippgij3m5qy5rgh77kdncbpb1";
+       version = "4.38";
+       sha256 = "0c5c3xd3lipnwdyvnvlxk4wk8gi2akbjwmhnc1bsdyr6g6ihai81";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -40295,6 +41475,8 @@ self: {
        pname = "cabal-doctest";
        version = "1.0.6";
        sha256 = "0bgd4jdmzxq5y465r4sf4jv2ix73yvblnr4c9wyazazafddamjny";
+       revision = "1";
+       editedCabalFile = "1bk85avgc93yvcggwbk01fy8nvg6753wgmaanhkry0hz55h7mpld";
        libraryHaskellDepends = [ base Cabal directory filepath ];
        homepage = "https://github.com/phadej/cabal-doctest";
        description = "A Setup.hs helper for doctests running";
@@ -40377,6 +41559,8 @@ self: {
        pname = "cabal-helper";
        version = "0.8.0.2";
        sha256 = "0yhsyq2z660qj5vp38lak2cz90r5jy69ifvz6dfipj6miyh2vmm6";
+       revision = "1";
+       editedCabalFile = "0hzjhnb9iyvk2qs3zbyj6rjhf3dbjksq0jqi8is522sph20zavvk";
        isLibrary = true;
        isExecutable = true;
        setupHaskellDepends = [ base Cabal directory filepath ];
@@ -40399,7 +41583,6 @@ self: {
        doCheck = false;
        description = "Simple interface to some of Cabal's configuration state, mainly used by ghc-mod";
        license = stdenv.lib.licenses.agpl3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "cabal-info" = callPackage
@@ -40428,31 +41611,23 @@ self: {
     ({ mkDerivation, array, async, base, base16-bytestring, binary
      , bytestring, Cabal, containers, cryptohash-sha256, deepseq
      , directory, echo, edit-distance, filepath, hackage-security
-     , hashable, HTTP, mtl, network, network-uri, pretty, pretty-show
-     , process, QuickCheck, random, stm, tagged, tar, tasty, tasty-hunit
-     , tasty-quickcheck, time, unix, zlib
+     , hashable, HTTP, mtl, network, network-uri, pretty, process
+     , random, resolv, stm, tar, time, unix, zlib
      }:
      mkDerivation {
        pname = "cabal-install";
-       version = "2.0.0.1";
-       sha256 = "16ax1lx89jdgf9pqka423h2bf8dblkra48n4y3icg8fs79py74gr";
-       revision = "3";
-       editedCabalFile = "148rq7hcbl8rq7pkywn1hk3l7lv442flf6b0wamfixxzxk74fwlj";
-       isLibrary = false;
+       version = "2.2.0.0";
+       sha256 = "1nd3ch7qr4dpfxhgkcq2lnhvszx2kjgnn1kwb44vk9y5jgfs4mn8";
+       revision = "1";
+       editedCabalFile = "0f1svlhh4cpj3p5fs9bcjpv15qp291lnvlaxxcw7aib8a1gn3wim";
+       isLibrary = true;
        isExecutable = true;
        setupHaskellDepends = [ base Cabal filepath process ];
        executableHaskellDepends = [
          array async base base16-bytestring binary bytestring Cabal
          containers cryptohash-sha256 deepseq directory echo edit-distance
          filepath hackage-security hashable HTTP mtl network network-uri
-         pretty process random stm tar time unix zlib
-       ];
-       testHaskellDepends = [
-         array async base base16-bytestring binary bytestring Cabal
-         containers cryptohash-sha256 deepseq directory edit-distance
-         filepath hackage-security hashable HTTP mtl network network-uri
-         pretty pretty-show process QuickCheck random stm tagged tar tasty
-         tasty-hunit tasty-quickcheck time unix zlib
+         pretty process random resolv stm tar time unix zlib
        ];
        doCheck = false;
        postInstall = ''
@@ -40591,7 +41766,6 @@ self: {
        homepage = "http://www.yesodweb.com/";
        description = "build multiple packages at once";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "cabal-mon" = callPackage
@@ -40641,6 +41815,8 @@ self: {
        pname = "cabal-plan";
        version = "0.3.0.0";
        sha256 = "1axi3a60zq08d760w2x6akmszad599kij0r8zmlq8pin9mmmggls";
+       revision = "1";
+       editedCabalFile = "1xdmji5y2ssj8pgp0d78m8a5hd3swy2flhiaf1v9qb69502j8lwq";
        configureFlags = [ "-fexe" ];
        isLibrary = true;
        isExecutable = true;
@@ -40652,8 +41828,10 @@ self: {
          ansi-terminal base base-compat bytestring containers mtl
          optparse-applicative parsec text vector
        ];
+       doHaddock = false;
        description = "Library and utiltity for processing cabal's plan.json file";
        license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "cabal-progdeps" = callPackage
@@ -40694,8 +41872,8 @@ self: {
      }:
      mkDerivation {
        pname = "cabal-rpm";
-       version = "0.12.1";
-       sha256 = "0avp7prkzp522mpqnn60xmsqqp10zhp1phhlj14qzp4162772fss";
+       version = "0.12.2";
+       sha256 = "00i3v62ys6fhq2rnw9q2hhc2h54v8my14ll746vpma2gfdy90y1c";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -40846,6 +42024,8 @@ self: {
        pname = "cabal-test-quickcheck";
        version = "0.1.8.1";
        sha256 = "0r5fd670a5ch0lzw7wsxp6k06wzi64wvjbiy8zyfl7brmjnbh8gn";
+       revision = "1";
+       editedCabalFile = "1rq6l86sndcv8nb5nl9rki2kmblrarj9cbra0i6kixa5n1wbcmv6";
        libraryHaskellDepends = [ base Cabal QuickCheck ];
        homepage = "https://github.com/zmthy/cabal-test-quickcheck";
        description = "QuickCheck for Cabal";
@@ -40973,13 +42153,12 @@ self: {
      , containers, deepseq, directory, distribution-nixpkgs, filepath
      , hackage-db, hopenssl, hpack, language-nix, lens, monad-par
      , monad-par-extras, mtl, optparse-applicative, pretty, process
-     , split, tasty, tasty-golden, text, time, transformers, utf8-string
-     , yaml
+     , split, tasty, tasty-golden, text, time, transformers, yaml
      }:
      mkDerivation {
        pname = "cabal2nix";
-       version = "2.8.2";
-       sha256 = "0m3k8prp13n6n74ghy2m05bj2c940nscjnv6h8g45ygxid8jvxc8";
+       version = "2.9.2";
+       sha256 = "1wcc7a2xzi8kq7k0rv0jc0z4z1w9ry6h71a730m3rz601j8n7q2v";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -40991,7 +42170,7 @@ self: {
        executableHaskellDepends = [
          aeson base bytestring Cabal containers directory
          distribution-nixpkgs filepath hopenssl language-nix lens monad-par
-         monad-par-extras mtl optparse-applicative pretty utf8-string
+         monad-par-extras mtl optparse-applicative pretty
        ];
        testHaskellDepends = [
          base Cabal filepath language-nix lens pretty tasty tasty-golden
@@ -41008,8 +42187,8 @@ self: {
      }:
      mkDerivation {
        pname = "cabal2spec";
-       version = "2.0.1";
-       sha256 = "13nrq3nnfvs4hlqyx2nfk3mk8gi94idival6iiby6h2n6a44lqbq";
+       version = "2.1";
+       sha256 = "0zh3xypxn78z7p7mg46ykxnmj2fv92maqx8wmclj1hqngp8ifnp3";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base Cabal filepath time ];
@@ -41181,13 +42360,13 @@ self: {
      }:
      mkDerivation {
        pname = "cache";
-       version = "0.1.0.1";
-       sha256 = "0bv7s9lffhggh0z5ad03ryqzq6bcqga1zg4c6f57i7hh9q8161qd";
+       version = "0.1.1.0";
+       sha256 = "1zvq5dwckkngf6kzh04pa59kgxf44fx9kli0c7zaz4g9hf1nyx8l";
        libraryHaskellDepends = [
          base clock hashable stm transformers unordered-containers
        ];
        testHaskellDepends = [ base clock hspec stm transformers ];
-       homepage = "https://github.com/hverr/haskell-cache";
+       homepage = "https://github.com/hverr/haskell-cache#readme";
        description = "An in-memory key/value store with expiration support";
        license = stdenv.lib.licenses.bsd3;
      }) {};
@@ -41231,8 +42410,8 @@ self: {
        pname = "cacophony";
        version = "0.10.0";
        sha256 = "1hjxzpbnp5qzbjl9m0hyvlr7yflfgxr5kqbviamhpgc0lj5igizv";
-       revision = "1";
-       editedCabalFile = "0j73lknyxlj5zs36sjm3z1z4azqi2zzm5aas6c635k6bqpn4wac6";
+       revision = "2";
+       editedCabalFile = "0w7nq4c5i89vmslxhvzw8299gig2wrr0ayddqjk5dxghmmly3hdw";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -41302,8 +42481,8 @@ self: {
      }:
      mkDerivation {
        pname = "cairo";
-       version = "0.13.4.2";
-       sha256 = "0sm3367ikrjfzwhz1f9bkamk6i33p5cginzc9kpgw3x0lk6pbrhg";
+       version = "0.13.5.0";
+       sha256 = "1wxylv4d8120ri0vgar168ikqa9m6533ipdwi38qlmxmw20ws2j2";
        enableSeparateDataOutput = true;
        setupHaskellDepends = [ base Cabal gtk2hs-buildtools ];
        libraryHaskellDepends = [
@@ -41362,6 +42541,7 @@ self: {
        ];
        description = "A build-system library and driver";
        license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "cake3" = callPackage
@@ -41687,6 +42867,7 @@ self: {
        homepage = "https://github.com/grandpascorpion/canon";
        description = "Massive Number Arithmetic";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "canonical-filepath" = callPackage
@@ -41762,7 +42943,6 @@ self: {
        homepage = "https://github.com/SumAll/haskell-canteven-log";
        description = "A canteven way of setting up logging for your program";
        license = stdenv.lib.licenses.asl20;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "canteven-parsedate" = callPackage
@@ -42249,10 +43429,8 @@ self: {
      }:
      mkDerivation {
        pname = "case-insensitive";
-       version = "1.2.0.10";
-       sha256 = "0v1hclvv0516fnlj5j2izd9xmakl7dshi9cb32iz6dgvzx01qck6";
-       revision = "2";
-       editedCabalFile = "197c93pa4lq6rgv59s9q9m11lziyyy6jlizvqap4lz0ijfnmj1gx";
+       version = "1.2.0.11";
+       sha256 = "1qrpxfirsxckg7jv28f5ah2qc8lh95hp7rnqkbqs1ahcwlbnvkm7";
        libraryHaskellDepends = [ base bytestring deepseq hashable text ];
        testHaskellDepends = [
          base bytestring HUnit test-framework test-framework-hunit text
@@ -42298,6 +43476,18 @@ self: {
        maintainers = with stdenv.lib.maintainers; [ jb55 ];
      }) {};
 
+  "caseof" = callPackage
+    ({ mkDerivation, base, template-haskell }:
+     mkDerivation {
+       pname = "caseof";
+       version = "0.0.1";
+       sha256 = "1j8r8ldaxgyvka3zpqfl8qp0mbwrnh1s1xl5fgx3jjzqxlisfdp3";
+       libraryHaskellDepends = [ base template-haskell ];
+       homepage = "https://github.com/chrisdone/caseof#readme";
+       description = "Combinators for casing on constructors";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "cases" = callPackage
     ({ mkDerivation, attoparsec, base, base-prelude, criterion, HTF
      , HUnit, loch-th, mwc-random, placeholders, QuickCheck, rerebase
@@ -42336,12 +43526,13 @@ self: {
      }) {};
 
   "casing" = callPackage
-    ({ mkDerivation, base, split }:
+    ({ mkDerivation, base, split, tasty, tasty-hunit }:
      mkDerivation {
        pname = "casing";
-       version = "0.1.2.1";
-       sha256 = "0f56060n78jy7f6mm14h2g9w48cgsxrjixm65x3mm4a2xpkg5gx8";
+       version = "0.1.4.0";
+       sha256 = "1mznhlbg8qd2yrjg23rq7s77bijn92nrfx7bvx9sw8sqxwqkd2lf";
        libraryHaskellDepends = [ base split ];
+       testHaskellDepends = [ base tasty tasty-hunit ];
        description = "Convert between various source code casing conventions";
        license = stdenv.lib.licenses.mit;
      }) {};
@@ -42591,28 +43782,6 @@ self: {
 
   "cassava-conduit" = callPackage
     ({ mkDerivation, array, base, bifunctors, bytestring, cassava
-     , conduit, conduit-extra, containers, criterion, mtl, QuickCheck
-     , text
-     }:
-     mkDerivation {
-       pname = "cassava-conduit";
-       version = "0.4.0.1";
-       sha256 = "0y4zlr0k3hcwh8b9ly1aslpz4fbns7xw2h8jwghfl7zpi52zlj9y";
-       libraryHaskellDepends = [
-         array base bifunctors bytestring cassava conduit conduit-extra
-         containers mtl text
-       ];
-       testHaskellDepends = [
-         base bytestring cassava conduit conduit-extra QuickCheck text
-       ];
-       benchmarkHaskellDepends = [ base criterion ];
-       homepage = "https://github.com/domdere/cassava-conduit";
-       description = "Conduit interface for cassava package";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "cassava-conduit_0_4_0_2" = callPackage
-    ({ mkDerivation, array, base, bifunctors, bytestring, cassava
      , conduit, containers, criterion, mtl, QuickCheck, text
      }:
      mkDerivation {
@@ -42630,7 +43799,6 @@ self: {
        homepage = "https://github.com/domdere/cassava-conduit";
        description = "Conduit interface for cassava package";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "cassava-embed" = callPackage
@@ -42672,7 +43840,6 @@ self: {
        homepage = "https://github.com/stackbuilders/cassava-megaparsec";
        description = "Megaparsec parser of CSV files that plays nicely with Cassava";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "cassava-records" = callPackage
@@ -42704,10 +43871,8 @@ self: {
      }:
      mkDerivation {
        pname = "cassava-streams";
-       version = "0.3.0.1";
-       sha256 = "178d1sbfvscbmgwm5basbzciflrj6i6w55w1pmm6wyiibfbcwapf";
-       revision = "1";
-       editedCabalFile = "0wik7fy8qs1971bxziap6lkc8pxl83mz642gprh07qrx3kfx0qs1";
+       version = "0.3.0.2";
+       sha256 = "09aiwcc9q768jz7xd7hxymrj3hw6g21imsh6ka4rrw059hi4lzna";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -42812,16 +43977,16 @@ self: {
      }) {};
 
   "catamorphism" = callPackage
-    ({ mkDerivation, base, template-haskell }:
+    ({ mkDerivation, base, hspec, QuickCheck, template-haskell }:
      mkDerivation {
        pname = "catamorphism";
-       version = "0.6.0.0";
-       sha256 = "0y1p6xayf4n6y41hmcrxg1zc0xm07vgirvipcm5zj7d5bphddn07";
+       version = "0.7.0.0";
+       sha256 = "0a01nr2lk80pfv9dr4sxyixwhfpprrvbgh44901as4jnb3gcbk33";
        libraryHaskellDepends = [ base template-haskell ];
+       testHaskellDepends = [ base hspec QuickCheck ];
        homepage = "https://github.com/frerich/catamorphism";
-       description = "A package exposing a helper function for generating catamorphisms";
+       description = "Exposes a Template Haskell function for generating catamorphisms";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "catch-fd" = callPackage
@@ -42946,6 +44111,18 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "cautious" = callPackage
+    ({ mkDerivation, aeson, base, transformers, validity }:
+     mkDerivation {
+       pname = "cautious";
+       version = "0.3.0.0";
+       sha256 = "0kydmb5f714pfgjz6drqi91m43bgs2sfap2nbww92xxyjbcls3j6";
+       libraryHaskellDepends = [ aeson base transformers validity ];
+       homepage = "https://github.com/Nickske666/cautious#readme";
+       description = "Keep track of warnings and errors during calculations";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "cautious-file" = callPackage
     ({ mkDerivation, base, bytestring, directory, filepath, unix }:
      mkDerivation {
@@ -42961,36 +44138,33 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "cayley-client" = callPackage
-    ({ mkDerivation, aeson, attoparsec, base, binary, bytestring
-     , exceptions, hspec, http-client, http-conduit, lens, lens-aeson
-     , mtl, text, transformers, unordered-containers, vector
+  "cautious-gen" = callPackage
+    ({ mkDerivation, base, cautious, genvalidity, genvalidity-hspec
+     , genvalidity-hspec-aeson, hspec, QuickCheck
      }:
      mkDerivation {
-       pname = "cayley-client";
-       version = "0.4.3";
-       sha256 = "119jihcnrv197a8v6xciav7dlkq6lagwhp3bw2aviyz49bhsq1j6";
-       libraryHaskellDepends = [
-         aeson attoparsec base binary bytestring exceptions http-client
-         http-conduit lens lens-aeson mtl text transformers
-         unordered-containers vector
+       pname = "cautious-gen";
+       version = "0.0.0.0";
+       sha256 = "1i9cmqkh1n6s3dkqr0f9slm6frslw82rwvngx80iw9rc95anhykl";
+       libraryHaskellDepends = [ base cautious genvalidity ];
+       testHaskellDepends = [
+         base cautious genvalidity genvalidity-hspec genvalidity-hspec-aeson
+         hspec QuickCheck
        ];
-       testHaskellDepends = [ aeson base hspec unordered-containers ];
-       homepage = "https://github.com/MichelBoucey/cayley-client";
-       description = "A Haskell client for the Cayley graph database";
+       homepage = "https://github.com/Nickske666/cautious#readme";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
-  "cayley-client_0_4_4" = callPackage
+  "cayley-client" = callPackage
     ({ mkDerivation, aeson, attoparsec, base, binary, bytestring
      , exceptions, hspec, http-client, http-conduit, lens, lens-aeson
      , mtl, text, transformers, unordered-containers, vector
      }:
      mkDerivation {
        pname = "cayley-client";
-       version = "0.4.4";
-       sha256 = "17463g65cylkjxpih414wfg0vqvxj81ylzp2hg04sa1h75zhdjkv";
+       version = "0.4.5";
+       sha256 = "12gmav4bwf3i44wbwc68vgrnal7j6q3428d6wl5zq078pv2c3x7w";
        libraryHaskellDepends = [
          aeson attoparsec base binary bytestring exceptions http-client
          http-conduit lens lens-aeson mtl text transformers
@@ -43146,6 +44320,26 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {dttools = null;};
 
+  "cdeps" = callPackage
+    ({ mkDerivation, alex, array, base, bytestring, directory, filepath
+     , hspec, optparse-applicative, text
+     }:
+     mkDerivation {
+       pname = "cdeps";
+       version = "0.1.1.0";
+       sha256 = "1pgarp84p757jyx71qma64g84fcyg6rrhrmrh4c1sszykqjnw7g0";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         array base bytestring directory filepath text
+       ];
+       libraryToolDepends = [ alex ];
+       executableHaskellDepends = [ base optparse-applicative ];
+       testHaskellDepends = [ base hspec ];
+       description = "Extract dependencies from C code";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "cedict" = callPackage
     ({ mkDerivation, base, bytestring, containers, mtl, parsec
      , utf8-string
@@ -43326,25 +44520,6 @@ self: {
      }:
      mkDerivation {
        pname = "cereal-conduit";
-       version = "0.7.3";
-       sha256 = "18h09j16m4yc4fcp80x7m1p2c87q6f628z36y8bnxbcjc9m95gq5";
-       libraryHaskellDepends = [
-         base bytestring cereal conduit resourcet transformers
-       ];
-       testHaskellDepends = [
-         base bytestring cereal conduit HUnit mtl resourcet transformers
-       ];
-       homepage = "https://github.com/snoyberg/conduit";
-       description = "Turn Data.Serialize Gets and Puts into Sources, Sinks, and Conduits";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "cereal-conduit_0_8_0" = callPackage
-    ({ mkDerivation, base, bytestring, cereal, conduit, HUnit, mtl
-     , resourcet, transformers
-     }:
-     mkDerivation {
-       pname = "cereal-conduit";
        version = "0.8.0";
        sha256 = "1srr7agvgfw78q5s1npjq5sgynvhjgllpihiv37ylkwqm4c4ap6r";
        revision = "1";
@@ -43358,7 +44533,6 @@ self: {
        homepage = "https://github.com/snoyberg/conduit";
        description = "Turn Data.Serialize Gets and Puts into Sources, Sinks, and Conduits";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "cereal-derive" = callPackage
@@ -43466,6 +44640,7 @@ self: {
        ];
        description = "Use cereal to encode/decode io-streams";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "cereal-text" = callPackage
@@ -43696,22 +44871,23 @@ self: {
   "cgrep" = callPackage
     ({ mkDerivation, aeson, ansi-terminal, array, async, base
      , bytestring, cmdargs, containers, directory, dlist, either
-     , filepath, ghc-prim, mtl, process, regex-base, regex-pcre
-     , regex-posix, safe, split, stm, stringsearch, transformers
-     , unicode-show, unix-compat, unordered-containers, utf8-string
-     , yaml
+     , exceptions, filepath, ghc-prim, mtl, process, regex-base
+     , regex-pcre, regex-posix, safe, split, stm, stringsearch
+     , transformers, unicode-show, unix-compat, unordered-containers
+     , utf8-string, yaml
      }:
      mkDerivation {
        pname = "cgrep";
-       version = "6.6.24";
-       sha256 = "0clnnhr5srrl3z2crfrs7csihrgcq5p9d9vgqbgxsf741jnfmhcx";
+       version = "6.6.25";
+       sha256 = "0cary2b5jg8151n48a4vij32g68mrql791mhw43v44wvhlag8plw";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
          aeson ansi-terminal array async base bytestring cmdargs containers
-         directory dlist either filepath ghc-prim mtl process regex-base
-         regex-pcre regex-posix safe split stm stringsearch transformers
-         unicode-show unix-compat unordered-containers utf8-string yaml
+         directory dlist either exceptions filepath ghc-prim mtl process
+         regex-base regex-pcre regex-posix safe split stm stringsearch
+         transformers unicode-show unix-compat unordered-containers
+         utf8-string yaml
        ];
        homepage = "http://awgn.github.io/cgrep/";
        description = "Command line tool";
@@ -43837,8 +45013,8 @@ self: {
      }:
      mkDerivation {
        pname = "changelogged";
-       version = "0.1.0";
-       sha256 = "1krf1wkb4khmwvapnhh0shvf51475j9i2g22fcfl1hjahyqmk6lj";
+       version = "0.2.0";
+       sha256 = "05viyx641zwxf222gvhyhs5dclwbylp7s32n7h3zzja4bycf03f2";
        isLibrary = true;
        isExecutable = true;
        setupHaskellDepends = [ base Cabal cabal-doctest ];
@@ -43855,7 +45031,7 @@ self: {
          unordered-containers
        ];
        homepage = "https://github.com/GetShopTV/changelogged#readme";
-       description = "Tool to manage project publishing history";
+       description = "Changelog manager for Git projects";
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
@@ -43937,59 +45113,32 @@ self: {
      }) {};
 
   "chart-unit" = callPackage
-    ({ mkDerivation, base, colour, containers, data-default
-     , diagrams-lib, diagrams-svg, foldl, formatting, lens, linear
-     , mwc-probability, mwc-random, numhask, numhask-range, palette
-     , primitive, protolude, scientific, SVGFonts, tasty, tasty-hspec
-     , tdigest, text
-     }:
-     mkDerivation {
-       pname = "chart-unit";
-       version = "0.5.5.0";
-       sha256 = "0hskfcg17h22fyprr9y264g6jz4lq1a7akqvdyji4fln61mqn07r";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         base colour data-default diagrams-lib diagrams-svg foldl formatting
-         lens linear numhask numhask-range palette scientific SVGFonts text
-       ];
-       executableHaskellDepends = [
-         base containers diagrams-lib diagrams-svg foldl formatting lens
-         mwc-probability mwc-random numhask primitive protolude tdigest text
-       ];
-       testHaskellDepends = [ base numhask tasty tasty-hspec text ];
-       homepage = "https://github.com/tonyday567/chart-unit#readme";
-       description = "Native haskell charts";
-       license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
-     }) {};
-
-  "chart-unit_0_6_1_0" = callPackage
     ({ mkDerivation, base, colour, data-default, diagrams-lib
      , diagrams-svg, doctest, foldl, formatting, generic-lens
      , generic-lens-labels, lens, linear, mwc-probability, mwc-random
-     , numhask, numhask-histogram, numhask-range, palette, primitive
-     , protolude, scientific, svg-builder, SVGFonts, tasty, tasty-hspec
-     , text, time
+     , numhask, numhask-histogram, numhask-prelude, numhask-range
+     , palette, primitive, protolude, scientific, svg-builder, SVGFonts
+     , tasty, tasty-hspec, text, time
      }:
      mkDerivation {
        pname = "chart-unit";
-       version = "0.6.1.0";
-       sha256 = "07aiw8n7b23k9n1g4inpmdbkmmahl7vdvqr575rc7n0bnwwfyvi0";
+       version = "0.6.2.0";
+       sha256 = "0y6xha20ckj0n0yih1zwwhyp55q1jcdmq06caid9biji8nkahzb0";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          base colour data-default diagrams-lib diagrams-svg foldl formatting
-         generic-lens lens linear numhask numhask-range palette protolude
-         scientific svg-builder SVGFonts text time
+         generic-lens lens linear numhask numhask-prelude numhask-range
+         palette protolude scientific svg-builder SVGFonts text time
        ];
        executableHaskellDepends = [
          base diagrams-lib formatting generic-lens-labels lens
-         mwc-probability mwc-random numhask numhask-histogram numhask-range
-         primitive protolude text time
+         mwc-probability mwc-random numhask numhask-histogram
+         numhask-prelude numhask-range primitive protolude text time
        ];
        testHaskellDepends = [
-         base doctest numhask numhask-range tasty tasty-hspec
+         base doctest numhask numhask-prelude numhask-range tasty
+         tasty-hspec
        ];
        homepage = "https://github.com/tonyday567/chart-unit#readme";
        description = "Native haskell charts";
@@ -44106,8 +45255,8 @@ self: {
      }:
      mkDerivation {
        pname = "chatwork";
-       version = "0.1.3.0";
-       sha256 = "1b6s5f2v4qc19l2psbpwlx6nyq0285mpfl25gfv4p9xrsdmqcyr4";
+       version = "0.1.3.2";
+       sha256 = "17wvmn2immigdbc5kbckwbl8hsali8w0mdii9mib9lfxykawyh54";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -44261,8 +45410,8 @@ self: {
     ({ mkDerivation, array, base, QuickCheck, random, semigroupoids }:
      mkDerivation {
        pname = "checkers";
-       version = "0.4.9.5";
-       sha256 = "1xaffx0vmq4swciyq3qzjfklfj19nnhd5yama9di5sas4f8v517i";
+       version = "0.4.10";
+       sha256 = "07ki0qrw9rdjp3y2188wnbzx4g287qdsn9dwhg69i2ajdw83kxw9";
        libraryHaskellDepends = [
          array base QuickCheck random semigroupoids
        ];
@@ -44303,6 +45452,18 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "checksum" = callPackage
+    ({ mkDerivation, base, explicit-exception, utility-ht }:
+     mkDerivation {
+       pname = "checksum";
+       version = "0.0";
+       sha256 = "0327lihvibnhs2c0gnmm13g6iaw53ka3w2j1rng4d1vnrxphyyik";
+       libraryHaskellDepends = [ base explicit-exception utility-ht ];
+       homepage = "http://hub.darcs.net/thielema/checksum";
+       description = "Compute and verify checksums of ISBN, IBAN, etc";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "chell" = callPackage
     ({ mkDerivation, ansi-terminal, base, bytestring, options, patience
      , random, template-haskell, text, transformers
@@ -44656,31 +45817,35 @@ self: {
      }) {};
 
   "chronologique" = callPackage
-    ({ mkDerivation, base, hourglass, hspec, QuickCheck, time, vector
+    ({ mkDerivation, aeson, base, bytestring, hourglass, hspec
+     , QuickCheck, text, time, vector
      }:
      mkDerivation {
        pname = "chronologique";
-       version = "0.3.0.0";
-       sha256 = "1pgggmsmb3ah15iqkib9d9ms0vs4j3945a7mbih0zra4xha39dg9";
-       libraryHaskellDepends = [ base hourglass time vector ];
-       testHaskellDepends = [ base hourglass hspec QuickCheck vector ];
+       version = "0.3.1.1";
+       sha256 = "05ly96mdm4nxmn7yz04wq9kgzlq8biaaaxs1mvsc3f8wgcpbqf65";
+       libraryHaskellDepends = [ aeson base hourglass text time vector ];
+       testHaskellDepends = [
+         aeson base bytestring hourglass hspec QuickCheck vector
+       ];
+       homepage = "https://github.com/afcowie/chronologique/";
        description = "Time to manipulate time";
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
   "chronos" = callPackage
     ({ mkDerivation, aeson, attoparsec, base, bytestring, clock
-     , hashable, HUnit, primitive, QuickCheck, test-framework
-     , test-framework-hunit, test-framework-quickcheck2, text, torsor
-     , vector
+     , hashable, HUnit, primitive, QuickCheck, semigroups
+     , test-framework, test-framework-hunit, test-framework-quickcheck2
+     , text, torsor, vector
      }:
      mkDerivation {
        pname = "chronos";
-       version = "1.0.1";
-       sha256 = "1vbjjnsp61km96adlk6ywhhfakmcac680aliavbh18rc00vfi3cj";
+       version = "1.0.3";
+       sha256 = "0xaw13qq3ifjk4x33q5vvbv2k1ydg673s0hsxrdi5kwl2rw0zi70";
        libraryHaskellDepends = [
-         aeson attoparsec base bytestring clock hashable primitive text
-         torsor vector
+         aeson attoparsec base bytestring clock hashable primitive
+         semigroups text torsor vector
        ];
        testHaskellDepends = [
          attoparsec base bytestring HUnit QuickCheck test-framework
@@ -44890,15 +46055,18 @@ self: {
      }) {};
 
   "cipher-aes128" = callPackage
-    ({ mkDerivation, base, bytestring, cereal, criterion, crypto-api
-     , entropy, tagged
+    ({ mkDerivation, base, bytestring, Cabal, cereal, criterion
+     , crypto-api, entropy, process, tagged
      }:
      mkDerivation {
        pname = "cipher-aes128";
        version = "0.7.0.3";
        sha256 = "0fif8626z1p2q6734sjb69s1ascwmqiv9dkmzir7166ipjlbw9vg";
+       revision = "1";
+       editedCabalFile = "1c3lr80vcdrajlvks9ny9s8m2n2kc9jw14nh65668dfikp0pqc61";
        isLibrary = true;
        isExecutable = true;
+       setupHaskellDepends = [ base Cabal process ];
        libraryHaskellDepends = [
          base bytestring cereal crypto-api tagged
        ];
@@ -45095,32 +46263,31 @@ self: {
      }) {};
 
   "cisco-spark-api" = callPackage
-    ({ mkDerivation, aeson, attoparsec, base, bitset-word8, bytestring
-     , conduit-combinators, data-default, hspec, http-conduit
-     , http-types, network-uri, optparse-applicative, text
-     , thread-hierarchy, utf8-string, wai, warp
+    ({ mkDerivation, aeson, async, attoparsec, base, bitset-word8
+     , bytestring, conduit, data-default, hspec, http-conduit
+     , http-types, network-uri, optparse-applicative, text, utf8-string
+     , wai, warp
      }:
      mkDerivation {
        pname = "cisco-spark-api";
-       version = "0.1.0.0";
-       sha256 = "0wiz580v04acjnc05mpx7nwgdz5gk6gsg84lv26p7qlij17038ds";
+       version = "0.1.0.3";
+       sha256 = "1fi8cadjszb92yih5ilagay8c9fj4aiwdx2qx1pwdc756jgjm5ky";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         aeson attoparsec base bitset-word8 bytestring conduit-combinators
-         data-default http-conduit network-uri text
+         aeson attoparsec base bitset-word8 bytestring conduit data-default
+         http-conduit network-uri text
        ];
        executableHaskellDepends = [
-         aeson base bytestring conduit-combinators data-default http-conduit
+         aeson base bytestring conduit data-default http-conduit
          optparse-applicative text utf8-string
        ];
        testHaskellDepends = [
-         aeson attoparsec base bytestring conduit-combinators data-default
-         hspec http-conduit http-types network-uri text thread-hierarchy wai
-         warp
+         aeson async attoparsec base bytestring conduit data-default hspec
+         http-conduit http-types network-uri text wai warp
        ];
-       homepage = "https://github.com/nshimaza/cisco-spark-api#readme";
-       description = "A Haskell bindings for Cisco Spark API";
+       homepage = "https://github.com/nshimaza/webex-teams-api#readme";
+       description = "A Haskell bindings for Webex Teams API";
        license = stdenv.lib.licenses.mit;
      }) {};
 
@@ -45229,6 +46396,7 @@ self: {
        ];
        description = "A new Haskeleton package";
        license = stdenv.lib.licenses.isc;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "cjk" = callPackage
@@ -45364,9 +46532,10 @@ self: {
     ({ mkDerivation, aeson, base, bytestring, text }:
      mkDerivation {
        pname = "clang-compilation-database";
-       version = "0.1.0.0";
-       sha256 = "1nnbcx9450kppm1qsqspdj4ywjgcmfg2zicgs309hdb7kvszpdla";
+       version = "0.1.0.1";
+       sha256 = "1a0wvk82k65b5lscsvg5p41shpz98rahq44d5vyf8wclfshh2ihi";
        libraryHaskellDepends = [ aeson base bytestring text ];
+       testHaskellDepends = [ aeson base bytestring ];
        homepage = "https://github.com/lambdageek/clang-compilation-database";
        description = "JSON Compilation Database Format encoding and decoding";
        license = stdenv.lib.licenses.mit;
@@ -45450,27 +46619,25 @@ self: {
 
   "clash-ghc" = callPackage
     ({ mkDerivation, array, base, bifunctors, bytestring, clash-lib
-     , clash-prelude, clash-systemverilog, clash-verilog, clash-vhdl
-     , containers, deepseq, directory, filepath, ghc, ghc-boot
-     , ghc-typelits-extra, ghc-typelits-knownnat
-     , ghc-typelits-natnormalise, ghci, hashable, haskeline, lens, mtl
-     , process, text, time, transformers, unbound-generics, uniplate
-     , unix, unordered-containers
+     , clash-prelude, concurrent-supply, containers, deepseq, directory
+     , filepath, ghc, ghc-boot, ghc-prim, ghc-typelits-extra
+     , ghc-typelits-knownnat, ghc-typelits-natnormalise, ghci, hashable
+     , haskeline, integer-gmp, lens, mtl, process, reflection, text
+     , time, transformers, unbound-generics, uniplate, unix
+     , unordered-containers
      }:
      mkDerivation {
        pname = "clash-ghc";
-       version = "0.7.2";
-       sha256 = "1fjimvj07mc8d8z6i9sl9ifyvcil262p53bz6gap833jrirqd3yh";
-       revision = "1";
-       editedCabalFile = "1np4zs8bqdvzlls8c8zpiwqq91bvx2aiz7qpvza0fzdvc0df2cmj";
+       version = "0.99";
+       sha256 = "19s6h0ly0pz1wi1zs5ln9wai6kp9f49xdcjyc3z6mskcabv5b8q2";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          array base bifunctors bytestring clash-lib clash-prelude
-         clash-systemverilog clash-verilog clash-vhdl containers deepseq
-         directory filepath ghc ghc-boot ghc-typelits-extra
-         ghc-typelits-knownnat ghc-typelits-natnormalise ghci hashable
-         haskeline lens mtl process text time transformers unbound-generics
+         concurrent-supply containers deepseq directory filepath ghc
+         ghc-boot ghc-prim ghc-typelits-extra ghc-typelits-knownnat
+         ghc-typelits-natnormalise ghci hashable haskeline integer-gmp lens
+         mtl process reflection text time transformers unbound-generics
          uniplate unix unordered-containers
        ];
        executableHaskellDepends = [ base ];
@@ -45481,25 +46648,24 @@ self: {
      }) {};
 
   "clash-lib" = callPackage
-    ({ mkDerivation, aeson, attoparsec, base, bytestring, clash-prelude
-     , concurrent-supply, containers, data-binary-ieee754, deepseq
-     , directory, errors, fgl, filepath, ghc, hashable, integer-gmp
-     , lens, mtl, pretty, process, template-haskell, text, time
-     , transformers, unbound-generics, unordered-containers
-     , uu-parsinglib, wl-pprint-text
+    ({ mkDerivation, aeson, ansi-wl-pprint, attoparsec, base
+     , bytestring, clash-prelude, concurrent-supply, containers
+     , data-binary-ieee754, deepseq, directory, errors, fgl, filepath
+     , ghc, hashable, integer-gmp, lens, mtl, parsers, prettyprinter
+     , process, reducers, template-haskell, text, time, transformers
+     , trifecta, unbound-generics, unordered-containers
      }:
      mkDerivation {
        pname = "clash-lib";
-       version = "0.7.1";
-       sha256 = "1mml3f10mdirlihjnbzjh3jjnmvgcqfqs16k22a13m8pd4whcw88";
-       revision = "2";
-       editedCabalFile = "1b8d63wisrizirkyrl58840bfnknjy049sm43zhhr9nbw6fn2c51";
+       version = "0.99";
+       sha256 = "1dl9pwv9fc5byimdxsl4xa4401nz74bgzrxmgk6hcbyvh7i4b17i";
+       enableSeparateDataOutput = true;
        libraryHaskellDepends = [
-         aeson attoparsec base bytestring clash-prelude concurrent-supply
-         containers data-binary-ieee754 deepseq directory errors fgl
-         filepath ghc hashable integer-gmp lens mtl pretty process
-         template-haskell text time transformers unbound-generics
-         unordered-containers uu-parsinglib wl-pprint-text
+         aeson ansi-wl-pprint attoparsec base bytestring clash-prelude
+         concurrent-supply containers data-binary-ieee754 deepseq directory
+         errors fgl filepath ghc hashable integer-gmp lens mtl parsers
+         prettyprinter process reducers template-haskell text time
+         transformers trifecta unbound-generics unordered-containers
        ];
        homepage = "http://www.clash-lang.org/";
        description = "CAES Language for Synchronous Hardware - As a Library";
@@ -45524,23 +46690,21 @@ self: {
      }) {};
 
   "clash-prelude" = callPackage
-    ({ mkDerivation, array, base, constraints, criterion
+    ({ mkDerivation, array, base, bifunctors, constraints, criterion
      , data-binary-ieee754, data-default, deepseq, doctest, ghc-prim
      , ghc-typelits-extra, ghc-typelits-knownnat
      , ghc-typelits-natnormalise, half, integer-gmp, lens, QuickCheck
-     , reflection, singletons, template-haskell, vector
+     , reflection, singletons, template-haskell, transformers, vector
      }:
      mkDerivation {
        pname = "clash-prelude";
-       version = "0.11.2";
-       sha256 = "1ccbcqkqcq5kyfjfvpkis2z40ishc4yqjjjswfsg92qrklk38wcl";
-       revision = "2";
-       editedCabalFile = "16ak462j0722lvy8ajn2yv400z9jgv8c3l151pmfwh893q6b0i3l";
+       version = "0.99";
+       sha256 = "13qclvisklwy4syc5hgr5dvcz7wm4nwasgky3xvjhnhjg05wjd6l";
        libraryHaskellDepends = [
-         array base constraints data-binary-ieee754 data-default deepseq
-         ghc-prim ghc-typelits-extra ghc-typelits-knownnat
+         array base bifunctors constraints data-binary-ieee754 data-default
+         deepseq ghc-prim ghc-typelits-extra ghc-typelits-knownnat
          ghc-typelits-natnormalise half integer-gmp lens QuickCheck
-         reflection singletons template-haskell vector
+         reflection singletons template-haskell transformers vector
        ];
        testHaskellDepends = [ base doctest ];
        benchmarkHaskellDepends = [
@@ -45650,6 +46814,28 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "classy-miso" = callPackage
+    ({ mkDerivation, base, containers, data-default, lens, megaparsec
+     , miso, network-uri, rfc, transformers, url
+     }:
+     mkDerivation {
+       pname = "classy-miso";
+       version = "0.0.0.2";
+       sha256 = "12qz2s5qhmjryp5x06jcv2gl3ipjhw0knsn1qawl1kn278hpyvp9";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base containers data-default lens megaparsec miso network-uri rfc
+         transformers url
+       ];
+       executableHaskellDepends = [ base miso rfc ];
+       testHaskellDepends = [ base miso rfc ];
+       homepage = "https://github.com/RobertFischer/Classy-Miso#README.md";
+       description = "Typeclass based support for Miso, the Tasty Web Framework for Haskell";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "classy-parallel" = callPackage
     ({ mkDerivation, base, lifted-base, monad-control, parallel
      , resourcet, transformers
@@ -45668,37 +46854,6 @@ self: {
 
   "classy-prelude" = callPackage
     ({ mkDerivation, async, base, basic-prelude, bifunctors, bytestring
-     , chunked-data, containers, deepseq, dlist, exceptions, ghc-prim
-     , hashable, hspec, lifted-async, lifted-base, monad-unlift
-     , mono-traversable, mono-traversable-instances, mtl
-     , mutable-containers, primitive, QuickCheck, safe-exceptions, say
-     , semigroups, stm, stm-chans, text, time, time-locale-compat
-     , transformers, transformers-base, unordered-containers, vector
-     , vector-instances
-     }:
-     mkDerivation {
-       pname = "classy-prelude";
-       version = "1.3.1";
-       sha256 = "0rk1h0kipmpk94ny2i389l6kjv7j4a55vabpm938rxv5clja2wyd";
-       libraryHaskellDepends = [
-         async base basic-prelude bifunctors bytestring chunked-data
-         containers deepseq dlist exceptions ghc-prim hashable lifted-async
-         lifted-base monad-unlift mono-traversable
-         mono-traversable-instances mtl mutable-containers primitive
-         safe-exceptions say semigroups stm stm-chans text time
-         time-locale-compat transformers transformers-base
-         unordered-containers vector vector-instances
-       ];
-       testHaskellDepends = [
-         base containers hspec QuickCheck transformers unordered-containers
-       ];
-       homepage = "https://github.com/snoyberg/mono-traversable#readme";
-       description = "A typeclass-based Prelude";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-
-  "classy-prelude_1_4_0" = callPackage
-    ({ mkDerivation, async, base, basic-prelude, bifunctors, bytestring
      , chunked-data, containers, deepseq, dlist, ghc-prim, hashable
      , hspec, mono-traversable, mono-traversable-instances, mtl
      , mutable-containers, primitive, QuickCheck, say, semigroups, stm
@@ -45722,31 +46877,9 @@ self: {
        homepage = "https://github.com/snoyberg/mono-traversable#readme";
        description = "A typeclass-based Prelude";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "classy-prelude-conduit" = callPackage
-    ({ mkDerivation, base, bytestring, classy-prelude, conduit
-     , conduit-combinators, hspec, monad-control, QuickCheck, resourcet
-     , transformers, void
-     }:
-     mkDerivation {
-       pname = "classy-prelude-conduit";
-       version = "1.3.1";
-       sha256 = "0n76c6bg45zcvy1jid3lrn6cr4iz3la7dd1ym7nffvqvgrfp0r2j";
-       libraryHaskellDepends = [
-         base bytestring classy-prelude conduit conduit-combinators
-         monad-control resourcet transformers void
-       ];
-       testHaskellDepends = [
-         base bytestring conduit hspec QuickCheck transformers
-       ];
-       homepage = "https://github.com/snoyberg/mono-traversable#readme";
-       description = "classy-prelude together with conduit functions";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-
-  "classy-prelude-conduit_1_4_0" = callPackage
     ({ mkDerivation, base, bytestring, classy-prelude, conduit, hspec
      , monad-control, QuickCheck, resourcet, transformers, void
      }:
@@ -45764,7 +46897,6 @@ self: {
        homepage = "https://github.com/snoyberg/mono-traversable#readme";
        description = "classy-prelude together with conduit functions";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "classy-prelude-yesod" = callPackage
@@ -45774,25 +46906,6 @@ self: {
      }:
      mkDerivation {
        pname = "classy-prelude-yesod";
-       version = "1.3.1";
-       sha256 = "1yzkwp4gbl1jqv8r95kvbiqgf2sr9wy5ddkqdz3413y0rvwccr9x";
-       libraryHaskellDepends = [
-         aeson base classy-prelude classy-prelude-conduit data-default
-         http-conduit http-types persistent yesod yesod-newsfeed
-         yesod-static
-       ];
-       homepage = "https://github.com/snoyberg/mono-traversable#readme";
-       description = "Provide a classy prelude including common Yesod functionality";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-
-  "classy-prelude-yesod_1_4_0" = callPackage
-    ({ mkDerivation, aeson, base, classy-prelude
-     , classy-prelude-conduit, data-default, http-conduit, http-types
-     , persistent, yesod, yesod-newsfeed, yesod-static
-     }:
-     mkDerivation {
-       pname = "classy-prelude-yesod";
        version = "1.4.0";
        sha256 = "0a4y9fipcikndzqqna5694f1wcwwin5ir076pjj1nm638a7silhc";
        libraryHaskellDepends = [
@@ -45803,7 +46916,6 @@ self: {
        homepage = "https://github.com/snoyberg/mono-traversable#readme";
        description = "Provide a classy prelude including common Yesod functionality";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "classyplate" = callPackage
@@ -45833,10 +46945,24 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "clay_0_13_0" = callPackage
+    ({ mkDerivation, base, hspec, hspec-expectations, mtl, text }:
+     mkDerivation {
+       pname = "clay";
+       version = "0.13.0";
+       sha256 = "0kyg5ifrjdvd7rxzsa6jjfyv9xx8amlfzbmrfwksrqla2nxqyljl";
+       libraryHaskellDepends = [ base mtl text ];
+       testHaskellDepends = [ base hspec hspec-expectations mtl text ];
+       homepage = "http://fvisser.nl/clay";
+       description = "CSS preprocessor as embedded Haskell";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "clckwrks" = callPackage
     ({ mkDerivation, acid-state, aeson, aeson-qq, attoparsec, base
-     , blaze-html, bytestring, cereal, containers, directory, filepath
-     , happstack-authenticate, happstack-hsp, happstack-jmacro
+     , blaze-html, bytestring, Cabal, cereal, containers, directory
+     , filepath, happstack-authenticate, happstack-hsp, happstack-jmacro
      , happstack-server, happstack-server-tls, hsp, hsx-jmacro, hsx2hs
      , ixset, jmacro, lens, mtl, network, network-uri, old-locale
      , openssl, process, random, reform, reform-happstack, reform-hsp
@@ -45847,9 +46973,10 @@ self: {
      }:
      mkDerivation {
        pname = "clckwrks";
-       version = "0.24.0.6";
-       sha256 = "0yswcldqwrpk7z5ww95nyvsb6qdpl2171zxy4fkpnqscma3sf54r";
+       version = "0.24.0.7";
+       sha256 = "1czalrr7y3526jb4cgi8bghxghqwsjwkfhm5vb4q19xzqg3kjqwy";
        enableSeparateDataOutput = true;
+       setupHaskellDepends = [ base Cabal ];
        libraryHaskellDepends = [
          acid-state aeson aeson-qq attoparsec base blaze-html bytestring
          cereal containers directory filepath happstack-authenticate
@@ -45865,7 +46992,6 @@ self: {
        homepage = "http://www.clckwrks.com/";
        description = "A secure, reliable content management system (CMS) and blogging platform";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {inherit (pkgs) openssl;};
 
   "clckwrks-cli" = callPackage
@@ -45884,7 +47010,6 @@ self: {
        homepage = "http://www.clckwrks.com/";
        description = "a command-line interface for adminstrating some aspects of clckwrks";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "clckwrks-dot-com" = callPackage
@@ -45959,7 +47084,6 @@ self: {
        homepage = "http://www.clckwrks.com/";
        description = "ircbot plugin for clckwrks";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "clckwrks-plugin-mailinglist" = callPackage
@@ -45985,7 +47109,6 @@ self: {
        homepage = "http://www.clckwrks.com/";
        description = "mailing list plugin for clckwrks";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "clckwrks-plugin-media" = callPackage
@@ -46010,21 +47133,22 @@ self: {
        homepage = "http://clckwrks.com/";
        description = "media plugin for clckwrks";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "clckwrks-plugin-page" = callPackage
-    ({ mkDerivation, acid-state, aeson, attoparsec, base, clckwrks
-     , containers, directory, filepath, happstack-hsp, happstack-server
-     , hsp, hsx2hs, ixset, mtl, old-locale, random, reform
-     , reform-happstack, reform-hsp, safecopy, tagsoup, template-haskell
-     , text, time, time-locale-compat, uuid, uuid-orphans, web-plugins
-     , web-routes, web-routes-happstack, web-routes-th
+    ({ mkDerivation, acid-state, aeson, attoparsec, base, Cabal
+     , clckwrks, containers, directory, filepath, happstack-hsp
+     , happstack-server, hsp, hsx2hs, ixset, mtl, old-locale, random
+     , reform, reform-happstack, reform-hsp, safecopy, tagsoup
+     , template-haskell, text, time, time-locale-compat, uuid
+     , uuid-orphans, web-plugins, web-routes, web-routes-happstack
+     , web-routes-th
      }:
      mkDerivation {
        pname = "clckwrks-plugin-page";
-       version = "0.4.3.11";
-       sha256 = "1xqlpdg511m5wif9cz01v0fgam1lsvl50sqigxrcjc9n6fivn61x";
+       version = "0.4.3.12";
+       sha256 = "0xndx7843laiha1n8xscq13dv6x6fv098v1cdmmzx7qnvfvhhlxj";
+       setupHaskellDepends = [ base Cabal ];
        libraryHaskellDepends = [
          acid-state aeson attoparsec base clckwrks containers directory
          filepath happstack-hsp happstack-server hsp hsx2hs ixset mtl
@@ -46036,7 +47160,6 @@ self: {
        homepage = "http://www.clckwrks.com/";
        description = "support for CMS/Blogging in clckwrks";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "clckwrks-theme-bootstrap" = callPackage
@@ -46055,7 +47178,6 @@ self: {
        homepage = "http://www.clckwrks.com/";
        description = "simple bootstrap based template for clckwrks";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "clckwrks-theme-clckwrks" = callPackage
@@ -46092,14 +47214,12 @@ self: {
      }) {};
 
   "cld2" = callPackage
-    ({ mkDerivation, base, bytestring, text }:
+    ({ mkDerivation, base, bytestring, hashable, text }:
      mkDerivation {
        pname = "cld2";
-       version = "0.1.0.1";
-       sha256 = "0fsjp0y5f17gv3k43vbxgx7w6i2l4ralrc6g1wb0xi0gp1vrm3hd";
-       revision = "1";
-       editedCabalFile = "1gfgnhy9ahyq7y74mpc6gsmir8v0c2d6z81klw1zhack6pmnql30";
-       libraryHaskellDepends = [ base bytestring text ];
+       version = "0.1.1.1";
+       sha256 = "04sh2077pn67y1apgzx6rp4z15dw7qbvwg6yrwg416k40ilz7nbd";
+       libraryHaskellDepends = [ base bytestring hashable text ];
        homepage = "https://github.com/dfoxfranke/haskell-cld2";
        description = "Haskell bindings to Google's Compact Language Detector 2";
        license = stdenv.lib.licenses.asl20;
@@ -46224,8 +47344,8 @@ self: {
      }:
      mkDerivation {
        pname = "cli-setup";
-       version = "0.2.0.1";
-       sha256 = "056y5sphj2zn455wyhjxcr0c6hb502bhrazhd7nij9mg8d8761dk";
+       version = "0.2.0.4";
+       sha256 = "0mkxm1kpbfsiv3khp8d96j9bcq7j4zbidd5ks89r69bxsmrp1z7i";
        libraryHaskellDepends = [
          base bytestring directory file-embed process
        ];
@@ -46285,11 +47405,11 @@ self: {
      }:
      mkDerivation {
        pname = "clif";
-       version = "0.1.0.0";
-       sha256 = "1inrhmrajl9y9vbbv5fh1m72a985j9k82vxmz9948k37hwvx6faw";
+       version = "0.1.1.0";
+       sha256 = "08mamsaycd2k2sjz08sg808yd153hhw9gfi4170448xl8icadkx5";
        libraryHaskellDepends = [ base containers QuickCheck ];
        testHaskellDepends = [
-         base containers QuickCheck tasty tasty-quickcheck tasty-th
+         base containers tasty tasty-quickcheck tasty-th
        ];
        benchmarkHaskellDepends = [ base time ];
        description = "A Clifford algebra number type for Haskell";
@@ -46331,6 +47451,25 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "clifm" = callPackage
+    ({ mkDerivation, base, brick, byteunits, directory, filepath
+     , optparse-applicative, pointedlist, process, time, vector, vty
+     }:
+     mkDerivation {
+       pname = "clifm";
+       version = "0.4.1.0";
+       sha256 = "0q0m662sg4n2k9lgx82d72gi16widm74a7j08psnjmwhk55ir3cb";
+       isLibrary = false;
+       isExecutable = true;
+       executableHaskellDepends = [
+         base brick byteunits directory filepath optparse-applicative
+         pointedlist process time vector vty
+       ];
+       homepage = "https://github.com/pasqu4le/clifm";
+       description = "Command Line Interface File Manager";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "clingo" = callPackage
     ({ mkDerivation, base, bifunctors, clingo, deepseq, exceptions
      , hashable, mtl, StateVar, text, transformers, wl-pprint-text
@@ -46543,18 +47682,18 @@ self: {
 
   "closed" = callPackage
     ({ mkDerivation, aeson, base, cassava, deepseq, hashable, hspec
-     , markdown-unlit, QuickCheck, vector
+     , markdown-unlit, persistent, QuickCheck, text, vector
      }:
      mkDerivation {
        pname = "closed";
-       version = "0.1.0";
-       sha256 = "0x87s852xfsyxnwj88kw38wmpzrj52hd7r87xx73r4ffv0lp6kh4";
+       version = "0.2.0";
+       sha256 = "0762acn2dik98hp4bvlyvwfy1jfzb4i6ri9pnxa07risain1qc3s";
        libraryHaskellDepends = [
-         aeson base cassava deepseq hashable QuickCheck
+         aeson base cassava deepseq hashable persistent QuickCheck text
        ];
        testHaskellDepends = [
-         aeson base cassava deepseq hashable hspec markdown-unlit QuickCheck
-         vector
+         aeson base cassava deepseq hashable hspec markdown-unlit persistent
+         QuickCheck text vector
        ];
        homepage = "https://github.com/frontrowed/closed#readme";
        description = "Integers bounded by a closed interval";
@@ -46601,25 +47740,27 @@ self: {
 
   "cloud-seeder" = callPackage
     ({ mkDerivation, aeson, amazonka, amazonka-cloudformation
-     , amazonka-core, base, bytestring, containers, deepseq, exceptions
-     , fast-logger, hspec, lens, monad-control, monad-logger, monad-mock
-     , mtl, optparse-applicative, text, transformers, transformers-base
-     , unordered-containers, uuid, yaml
+     , amazonka-core, amazonka-kms, amazonka-s3, base, bytestring
+     , containers, crypto-api, deepseq, exceptions, fast-logger, hspec
+     , lens, monad-control, monad-logger, monad-mock, mtl
+     , optparse-applicative, text, text-conversions, these, transformers
+     , transformers-base, unordered-containers, uuid, yaml
      }:
      mkDerivation {
        pname = "cloud-seeder";
-       version = "0.1.0.0";
-       sha256 = "1jyxbk37xzx7dgxkgrmpn7nv7v494l26f4c5r1j665cd1d8x0m4f";
+       version = "0.2.0.0";
+       sha256 = "0886c6lfqcvwbq3cdxpq2rg25a0p9msjxqv3ncsw02rdcww0dsqc";
        libraryHaskellDepends = [
-         aeson amazonka amazonka-cloudformation amazonka-core base
-         containers deepseq exceptions lens monad-control monad-logger mtl
-         optparse-applicative text transformers transformers-base
+         aeson amazonka amazonka-cloudformation amazonka-core amazonka-kms
+         amazonka-s3 base bytestring containers crypto-api deepseq
+         exceptions lens monad-control monad-logger mtl optparse-applicative
+         text text-conversions transformers transformers-base
          unordered-containers uuid yaml
        ];
        testHaskellDepends = [
          amazonka-cloudformation base bytestring containers deepseq
          fast-logger hspec lens monad-logger monad-mock mtl
-         optparse-applicative text transformers yaml
+         optparse-applicative text these transformers yaml
        ];
        homepage = "https://github.com/cjdev/cloud-seeder#readme";
        description = "A tool for interacting with AWS CloudFormation";
@@ -47342,6 +48483,22 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "codec-beam" = callPackage
+    ({ mkDerivation, base, bytestring, containers, filepath, process
+     , text, zlib
+     }:
+     mkDerivation {
+       pname = "codec-beam";
+       version = "0.1.1";
+       sha256 = "1d6dsa4di4wil6wqc2jpfqvf09vk4zw9c2905py5vygl87q1y9jq";
+       libraryHaskellDepends = [ base bytestring containers text zlib ];
+       testHaskellDepends = [ base bytestring filepath process text ];
+       homepage = "https://github.com/hkgumbs/codec-beam#readme";
+       description = "Erlang VM byte code assembler";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "codec-libevent" = callPackage
     ({ mkDerivation, array, base, binary, binary-strict, bytestring
      , containers, parsec, QuickCheck, regex-compat
@@ -47378,25 +48535,26 @@ self: {
 
   "codec-rpm" = callPackage
     ({ mkDerivation, attoparsec, attoparsec-binary, base, bytestring
-     , conduit, conduit-combinators, conduit-extra, cpio-conduit, hspec
+     , conduit, conduit-extra, cpio-conduit, exceptions, hspec
      , hspec-attoparsec, HUnit, lzma-conduit, mtl, parsec, pretty
      , resourcet, text
      }:
      mkDerivation {
        pname = "codec-rpm";
-       version = "0.2.0";
-       sha256 = "1n977xndg2ii866a868rvbi581p0gbz5zpy1glrg6n9znm6y9l4h";
+       version = "0.2.1";
+       sha256 = "00ywr4frndvw3chlxpqdx2rimd7jjdyzmjlm1kvw23qbgfyd60is";
        libraryHaskellDepends = [
-         attoparsec attoparsec-binary base bytestring conduit
-         conduit-combinators conduit-extra cpio-conduit lzma-conduit mtl
-         parsec pretty resourcet text
+         attoparsec attoparsec-binary base bytestring conduit conduit-extra
+         cpio-conduit exceptions lzma-conduit mtl parsec pretty resourcet
+         text
        ];
        testHaskellDepends = [
-         attoparsec base bytestring hspec hspec-attoparsec HUnit text
+         attoparsec attoparsec-binary base bytestring hspec hspec-attoparsec
+         HUnit parsec pretty text
        ];
        homepage = "https://github.com/weldr/codec-rpm";
        description = "A library for manipulating RPM files";
-       license = "LGPL";
+       license = stdenv.lib.licenses.lgpl21;
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
@@ -47521,6 +48679,18 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "coerce-util" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "coerce-util";
+       version = "0.1.0.0";
+       sha256 = "0v4ymcrqij8q9s8pcgbfrnl8y379fki3zp80lg4xqvbx0i89vsxf";
+       libraryHaskellDepends = [ base ];
+       homepage = "https://github.com/chessai/coerce-util.git";
+       description = "utils for Data.Coerce";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "cofunctor" = callPackage
     ({ mkDerivation, base }:
      mkDerivation {
@@ -47641,7 +48811,6 @@ self: {
        homepage = "http://code.haskell.org/~bkomuves/";
        description = "Equivariant CSM classes of coincident root loci";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "colada" = callPackage
@@ -47880,8 +49049,8 @@ self: {
     ({ mkDerivation, base }:
      mkDerivation {
        pname = "colorful-monoids";
-       version = "0.2.1.0";
-       sha256 = "0ck5n318al2w0kb00n3vjd17db8bj3laws09iw81kg4y474kcvj2";
+       version = "0.2.1.1";
+       sha256 = "0n1f9x6kyb3fcg1fbs80wrlm3c897l089ma4cxm47v1dcgczix8b";
        libraryHaskellDepends = [ base ];
        testHaskellDepends = [ base ];
        homepage = "https://github.com/minad/colorful-monoids#readme";
@@ -48016,6 +49185,19 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "colour-accelerate_0_3_0_0" = callPackage
+    ({ mkDerivation, accelerate, base }:
+     mkDerivation {
+       pname = "colour-accelerate";
+       version = "0.3.0.0";
+       sha256 = "0zvzra2w0sajw0hzg2k25khv8c5j1i17g8dnga70w73f3mmh3gbz";
+       libraryHaskellDepends = [ accelerate base ];
+       homepage = "https://github.com/tmcdonell/colour-accelerate";
+       description = "Working with colours in Accelerate";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "colour-space" = callPackage
     ({ mkDerivation, base, colour, constrained-categories, JuicyPixels
      , linear, linearmap-category, manifolds, semigroups, vector-space
@@ -48031,6 +49213,7 @@ self: {
        homepage = "https://github.com/leftaroundabout/colour-space";
        description = "Instances of the manifold-classes for colour types";
        license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "coltrane" = callPackage
@@ -48180,6 +49363,26 @@ self: {
        homepage = "http://code.haskell.org/~bkomuves/";
        description = "Generate and manipulate various combinatorial objects";
        license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "combinat-compat" = callPackage
+    ({ mkDerivation, array, base, containers, QuickCheck, random
+     , test-framework, test-framework-quickcheck2, transformers
+     }:
+     mkDerivation {
+       pname = "combinat-compat";
+       version = "0.2.8.2";
+       sha256 = "0mh5f8vmbwnib1qv9vvp45gwwj6942l1jhxnglq9i4za40k1r8ff";
+       libraryHaskellDepends = [
+         array base containers random transformers
+       ];
+       testHaskellDepends = [
+         array base containers QuickCheck random test-framework
+         test-framework-quickcheck2 transformers
+       ];
+       homepage = "http://code.haskell.org/~bkomuves/";
+       description = "Generate and manipulate various combinatorial objects";
+       license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
@@ -48230,25 +49433,6 @@ self: {
      }:
      mkDerivation {
        pname = "combinatorial";
-       version = "0.0";
-       sha256 = "0v0djq8kiiam8fd0057skny3dkqn3y138nf5cqbyqp52wzs2lvs6";
-       revision = "1";
-       editedCabalFile = "18aykjlggxkwn3cl46i2vznvag5kkw2kslf69yxvf4sg34bi7yfz";
-       libraryHaskellDepends = [
-         array base containers transformers utility-ht
-       ];
-       testHaskellDepends = [ base QuickCheck utility-ht ];
-       homepage = "http://hub.darcs.net/thielema/combinatorial/";
-       description = "Count, enumerate, rank and unrank combinatorial objects";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "combinatorial_0_1" = callPackage
-    ({ mkDerivation, array, base, containers, QuickCheck, transformers
-     , utility-ht
-     }:
-     mkDerivation {
-       pname = "combinatorial";
        version = "0.1";
        sha256 = "1a5l4iixjhvqca8dvwkx3zvlaimp6ggr3fcm7vk7r77rv6n6svh9";
        revision = "1";
@@ -48262,7 +49446,6 @@ self: {
        homepage = "http://hub.darcs.net/thielema/combinatorial/";
        description = "Count, enumerate, rank and unrank combinatorial objects";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "combinatorial-problems" = callPackage
@@ -48311,6 +49494,18 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "comfort-array" = callPackage
+    ({ mkDerivation, base, utility-ht }:
+     mkDerivation {
+       pname = "comfort-array";
+       version = "0.0.1";
+       sha256 = "1nbnnhmfbsiq31damx998sm7hz127mdqbnzzybz00962bmlmvp72";
+       libraryHaskellDepends = [ base utility-ht ];
+       homepage = "http://hub.darcs.net/thielema/comfort-array/";
+       description = "Arrays where the index type is a function of the shape type";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "comfort-graph" = callPackage
     ({ mkDerivation, base, containers, QuickCheck, semigroups
      , transformers, utility-ht
@@ -48487,8 +49682,8 @@ self: {
        pname = "comonad";
        version = "5.0.3";
        sha256 = "1xjdwm0xvkcqrpyivl6v569dj8xgivw103bzahy14la0cd6mix57";
-       revision = "1";
-       editedCabalFile = "1i72zgxjkbldkwz0g2awf44cm9466ahll89j5kl45vszx4iz0anl";
+       revision = "2";
+       editedCabalFile = "07gfz719y6q3bfv8jbvak78dda9g1qy4phl18cxisiapqdz31rry";
        setupHaskellDepends = [ base Cabal cabal-doctest ];
        libraryHaskellDepends = [
          base containers contravariant distributive semigroups tagged
@@ -48654,8 +49849,8 @@ self: {
      }:
      mkDerivation {
        pname = "compactable";
-       version = "0.1.1.1";
-       sha256 = "0dbjwsbn5wgwwzl90wvcqf2c6968j5bkg1nzdll03nxklqnv3m9b";
+       version = "0.1.2.0";
+       sha256 = "0kh36h1zfdlhvcz8xzf3c4af0rbypa7p421rl0xsig914r5z519j";
        libraryHaskellDepends = [
          base bifunctors containers transformers vector
        ];
@@ -48846,8 +50041,8 @@ self: {
        pname = "complex-generic";
        version = "0.1.1.1";
        sha256 = "03wb599difj0qm1dpzgxdymq3bql69qmkdk5fspcyc19nnd5qlqz";
-       revision = "1";
-       editedCabalFile = "0jf2mq26m0asgl5l0b1c1va30qj61ddvwxyl5xq29d3lpgnlby27";
+       revision = "2";
+       editedCabalFile = "160lw045p7j5vm4j2sqqfpnfgkxkil2kwjnmi7x6am03gfi9g9kw";
        libraryHaskellDepends = [ base template-haskell ];
        homepage = "https://code.mathr.co.uk/complex-generic";
        description = "complex numbers with non-mandatory RealFloat";
@@ -48949,8 +50144,8 @@ self: {
      }:
      mkDerivation {
        pname = "composite-aeson";
-       version = "0.5.3.0";
-       sha256 = "0pmgrdlrk4l7bmbfvsbvysa3n2h14ca919fl7cr1bg9yk2mb2s7s";
+       version = "0.5.4.0";
+       sha256 = "08rmv82v5ipkcb46pcadx1s8c1v532l8ma2qlgiflq6jnxf7y0zn";
        libraryHaskellDepends = [
          aeson aeson-better-errors base composite-base containers
          contravariant generic-deriving hashable lens mmorph mtl profunctors
@@ -48975,8 +50170,8 @@ self: {
      }:
      mkDerivation {
        pname = "composite-aeson-refined";
-       version = "0.5.3.0";
-       sha256 = "07ps031qnkhd5yb7w0c9y69n22npa5y9rzxy934p6x32ni5v0mvz";
+       version = "0.5.4.0";
+       sha256 = "1x5vkxzj0afar4w2djx9s7h3vy9aa5my9wfks8n4ajlv92fch1zm";
        libraryHaskellDepends = [
          aeson-better-errors base composite-aeson mtl refined
        ];
@@ -48993,8 +50188,8 @@ self: {
      }:
      mkDerivation {
        pname = "composite-base";
-       version = "0.5.3.0";
-       sha256 = "0xz264i115nj2b6k74s1csi29lrszambbhy7ibz7nwqr2qs56yzw";
+       version = "0.5.4.0";
+       sha256 = "0brycxdwf4051qvad4b4ak47dl27qn3izv1bcqlpva01jvb6h21j";
        libraryHaskellDepends = [
          base exceptions lens monad-control mtl profunctors template-haskell
          text transformers transformers-base vinyl
@@ -49009,15 +50204,14 @@ self: {
      }) {};
 
   "composite-ekg" = callPackage
-    ({ mkDerivation, base, composite-base, ekg, ekg-core, lens, text
-     , vinyl
+    ({ mkDerivation, base, composite-base, ekg-core, lens, text, vinyl
      }:
      mkDerivation {
        pname = "composite-ekg";
-       version = "0.5.3.0";
-       sha256 = "0fw6rsz7arndmp9d6xgvkx9vqqrv6kvhgchl0hqv4jfaxhwdv3gc";
+       version = "0.5.4.0";
+       sha256 = "051dw8ncpsk2k05ipvlnkwv2gy6719w69v1hhwrryy3dad0f4wc3";
        libraryHaskellDepends = [
-         base composite-base ekg ekg-core lens text vinyl
+         base composite-base ekg-core lens text vinyl
        ];
        homepage = "https://github.com/ConferHealth/composite#readme";
        description = "EKG Metrics for Vinyl/Frames records";
@@ -49031,8 +50225,8 @@ self: {
      }:
      mkDerivation {
        pname = "composite-opaleye";
-       version = "0.5.3.0";
-       sha256 = "09sjvs7bxca789pfrhgbsy2v08060mraciwl867byq3s8aq5c971";
+       version = "0.5.4.0";
+       sha256 = "1k71v4dz4vl70ignjp6hgw6j4c9hdgafd9x973dk7w332m2vjdpn";
        libraryHaskellDepends = [
          base bytestring composite-base lens opaleye postgresql-simple
          product-profunctors profunctors template-haskell text vinyl
@@ -49048,6 +50242,28 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "composite-swagger" = callPackage
+    ({ mkDerivation, base, composite-aeson, composite-base, hspec
+     , insert-ordered-containers, lens, QuickCheck, swagger2
+     , template-haskell, text, vinyl
+     }:
+     mkDerivation {
+       pname = "composite-swagger";
+       version = "0.5.4.0";
+       sha256 = "0i2jfchl88mrk9kmf8yv7cbv006ghilqsnbic7ddsbkzrjy1vdw0";
+       libraryHaskellDepends = [
+         base composite-base insert-ordered-containers lens swagger2
+         template-haskell text vinyl
+       ];
+       testHaskellDepends = [
+         base composite-aeson composite-base hspec insert-ordered-containers
+         lens QuickCheck swagger2 template-haskell text vinyl
+       ];
+       homepage = "https://github.com/ConferHealth/composite#readme";
+       description = "Swagger for Vinyl/Frames records";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "composition" = callPackage
     ({ mkDerivation }:
      mkDerivation {
@@ -49070,23 +50286,38 @@ self: {
      }) {};
 
   "composition-prelude" = callPackage
-    ({ mkDerivation, base }:
+    ({ mkDerivation, base, cpphs }:
+     mkDerivation {
+       pname = "composition-prelude";
+       version = "1.3.0.8";
+       sha256 = "17ihwvkv7plwnwnk7ny81cj4xy2v776yk85gssgix92yc65p47b2";
+       libraryHaskellDepends = [ base ];
+       libraryToolDepends = [ cpphs ];
+       homepage = "https://github.com/vmchale/composition-prelude#readme";
+       description = "Higher-order function combinators";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "composition-prelude_1_4_0_5" = callPackage
+    ({ mkDerivation, base, cpphs }:
      mkDerivation {
        pname = "composition-prelude";
-       version = "1.3.0.4";
-       sha256 = "0dsd67ffhwfbq7y9f8c6q9nd05ayyxi85mzvc8kgj7f21cpvclmg";
+       version = "1.4.0.5";
+       sha256 = "0bcz7lx4v25dz9d11qy8im6fk1gviqqhgcr1bwxg4yqyzbfl8bas";
        libraryHaskellDepends = [ base ];
+       libraryToolDepends = [ cpphs ];
        homepage = "https://github.com/vmchale/composition-prelude#readme";
        description = "Higher-order function combinators";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "composition-tree" = callPackage
     ({ mkDerivation, base, doctest, QuickCheck }:
      mkDerivation {
        pname = "composition-tree";
-       version = "0.2.0.3";
-       sha256 = "1k2mnb2cy42k0fk2q6lh6qzqm5jnmbjxx1k9g9frlyjmxf8k2920";
+       version = "0.2.0.4";
+       sha256 = "0n707qc1xx96wpq4vl1fs47jkm9vbxp8ff3hi7bj1cnd77yzhf01";
        libraryHaskellDepends = [ base ];
        testHaskellDepends = [ base doctest QuickCheck ];
        homepage = "https://github.com/liamoc/composition-tree";
@@ -49124,7 +50355,6 @@ self: {
        homepage = "http://github.com/ekmett/compressed/";
        description = "Compressed containers and reducers";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "compression" = callPackage
@@ -49490,8 +50720,8 @@ self: {
      }:
      mkDerivation {
        pname = "concurrency";
-       version = "1.2.3.0";
-       sha256 = "1abrl3qab0gq1a2v4wjvmfzfmyainbj2qwf67h46pcrnd7va0ddq";
+       version = "1.4.0.2";
+       sha256 = "07wj25nlmry0hqxksdqrvpbg0b4r4fwzf66vfvbap9cxaqkrlxij";
        libraryHaskellDepends = [
          array atomic-primops base exceptions monad-control mtl stm
          transformers
@@ -49501,14 +50731,14 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
-  "concurrency_1_4_0_1" = callPackage
+  "concurrency_1_5_0_0" = callPackage
     ({ mkDerivation, array, atomic-primops, base, exceptions
      , monad-control, mtl, stm, transformers
      }:
      mkDerivation {
        pname = "concurrency";
-       version = "1.4.0.1";
-       sha256 = "17i50sxfir5nf6ldc14h6wfa03ap7z4lmihd8qpl2mb0px5ak7b9";
+       version = "1.5.0.0";
+       sha256 = "0c07jkhsi9fy3ssjs19511dxsqq62yqbh9qd90r666wdhs0v86qh";
        libraryHaskellDepends = [
          array atomic-primops base exceptions monad-control mtl stm
          transformers
@@ -49583,8 +50813,8 @@ self: {
      }:
      mkDerivation {
        pname = "concurrent-extra";
-       version = "0.7.0.11";
-       sha256 = "0bvfgm26hyix074c36l7cqdq40xx8zzml6v50qdfly04g1bb05m5";
+       version = "0.7.0.12";
+       sha256 = "1y8xk460fvnw0idzdiylmm874sjny4q9jxb1js9fjz8lw2wns3h4";
        libraryHaskellDepends = [ base stm unbounded-delays ];
        testHaskellDepends = [
          async base HUnit random stm test-framework test-framework-hunit
@@ -49602,8 +50832,8 @@ self: {
      }:
      mkDerivation {
        pname = "concurrent-machines";
-       version = "0.3.1.2";
-       sha256 = "1qvd452najs0i3a2k2m493zs1jclsiisr1wv318kvkh0k42sb2m6";
+       version = "0.3.1.3";
+       sha256 = "1p1zlqa1mywn3mxg94gcryhpnffq8jpirgnvxhff2b1bs4llfaik";
        libraryHaskellDepends = [
          async base containers lifted-async machines monad-control
          semigroups time transformers transformers-base
@@ -49614,7 +50844,6 @@ self: {
        benchmarkHaskellDepends = [ base machines time ];
        description = "Concurrent networked stream transducers";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "concurrent-output" = callPackage
@@ -49623,8 +50852,8 @@ self: {
      }:
      mkDerivation {
        pname = "concurrent-output";
-       version = "1.10.4";
-       sha256 = "0zq50g3l9f55vhwjw6s6jf1nqyi0a7f1ih7vas686ckj2z33z9ay";
+       version = "1.10.5";
+       sha256 = "1hx51zihgr6awgx2widqv8y8hbi0baaq081m5kmr3mb4hqi9dh4q";
        libraryHaskellDepends = [
          ansi-terminal async base directory exceptions process stm
          terminal-size text transformers unix
@@ -49711,13 +50940,12 @@ self: {
     ({ mkDerivation, base }:
      mkDerivation {
        pname = "concurrent-utilities";
-       version = "0.2.0.1";
-       sha256 = "168prywiw4fhh2syzj452pyqj8byy4sb929mgkv5srgwkzqr6g0f";
+       version = "0.2.0.2";
+       sha256 = "1phc9a90nvx6dk741hmg3w5m9y8ra5a7zsgmzw173ibaapr2yhqi";
        libraryHaskellDepends = [ base ];
        homepage = "-";
        description = "More utilities and broad-used datastructures for concurrency";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "concurrentoutput" = callPackage
@@ -49835,7 +51063,7 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
-  "conduit" = callPackage
+  "conduit_1_2_13_1" = callPackage
     ({ mkDerivation, base, containers, criterion, deepseq, exceptions
      , hspec, kan-extensions, lifted-base, mmorph, monad-control, mtl
      , mwc-random, primitive, QuickCheck, resourcet, safe, split
@@ -49860,9 +51088,10 @@ self: {
        homepage = "http://github.com/snoyberg/conduit";
        description = "Streaming data processing library";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
-  "conduit_1_3_0" = callPackage
+  "conduit" = callPackage
     ({ mkDerivation, base, bytestring, containers, deepseq, directory
      , exceptions, filepath, gauge, hspec, kan-extensions
      , mono-traversable, mtl, mwc-random, primitive, QuickCheck
@@ -49871,8 +51100,8 @@ self: {
      }:
      mkDerivation {
        pname = "conduit";
-       version = "1.3.0";
-       sha256 = "1520pdyb8lawcbqapr1v8lj9zzxnm6d20zfgawa6ds0dxskz1kyp";
+       version = "1.3.0.2";
+       sha256 = "0nqy9bffg2p2ij8isz99r7i5zm7sib0m9fqwisknakjh8b99kw60";
        libraryHaskellDepends = [
          base bytestring directory exceptions filepath mono-traversable mtl
          primitive resourcet text transformers unix unliftio-core vector
@@ -49889,30 +51118,32 @@ self: {
        homepage = "http://github.com/snoyberg/conduit";
        description = "Streaming data processing library";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "conduit-algorithms" = callPackage
     ({ mkDerivation, async, base, bytestring, bzlib-conduit, conduit
      , conduit-combinators, conduit-extra, containers, deepseq
-     , directory, HUnit, lzma-conduit, mtl, resourcet, stm, stm-conduit
-     , streaming-commons, test-framework, test-framework-hunit
-     , test-framework-th, transformers, vector
+     , directory, exceptions, HUnit, lzma-conduit, monad-control, mtl
+     , resourcet, stm, stm-conduit, streaming-commons, test-framework
+     , test-framework-hunit, test-framework-th, transformers
+     , unliftio-core, vector
      }:
      mkDerivation {
        pname = "conduit-algorithms";
-       version = "0.0.7.2";
-       sha256 = "19lamsddxvj8m47f97wlmk3phzf2rjdaxjbz064wc96r763mnigy";
+       version = "0.0.8.0";
+       sha256 = "0i8ikrh3fpwfqli8ksfayc20kml1wacl0rgv8pc00lgrsmd8r9i8";
        libraryHaskellDepends = [
          async base bytestring bzlib-conduit conduit conduit-combinators
-         conduit-extra containers deepseq lzma-conduit mtl resourcet stm
-         stm-conduit streaming-commons transformers vector
+         conduit-extra containers deepseq exceptions lzma-conduit
+         monad-control mtl resourcet stm stm-conduit streaming-commons
+         transformers unliftio-core vector
        ];
        testHaskellDepends = [
          async base bytestring bzlib-conduit conduit conduit-combinators
-         conduit-extra containers deepseq directory HUnit lzma-conduit mtl
-         resourcet stm stm-conduit streaming-commons test-framework
-         test-framework-hunit test-framework-th transformers vector
+         conduit-extra containers deepseq directory exceptions HUnit
+         lzma-conduit monad-control mtl resourcet stm stm-conduit
+         streaming-commons test-framework test-framework-hunit
+         test-framework-th transformers unliftio-core vector
        ];
        homepage = "https://github.com/luispedro/conduit-algorithms#readme";
        description = "Conduit-based algorithms";
@@ -49926,6 +51157,8 @@ self: {
        pname = "conduit-audio";
        version = "0.2.0.3";
        sha256 = "089k7l197xbxva0h281hr3p4v8pww1im7r111q7jrq7aqfgifrb1";
+       revision = "1";
+       editedCabalFile = "0ab8qxh5b60m4dyrdbaak8xj7kxlp3kzbs5fpg3fjxkpcqhnm1mx";
        libraryHaskellDepends = [ base conduit vector ];
        homepage = "http://github.com/mtolly/conduit-audio";
        description = "Combinators to efficiently slice and dice audio streams";
@@ -49940,6 +51173,8 @@ self: {
        pname = "conduit-audio-lame";
        version = "0.1.2.1";
        sha256 = "1zyq0m5lblphp892ljvg6ix75rxa1ds5ksfk3cvj7kf074jw66za";
+       revision = "1";
+       editedCabalFile = "0b4d8n0lbsivpc0j17xl0vm6gp0sm7jjiysyxwh0m2xncx9l57nr";
        libraryHaskellDepends = [
          base bytestring conduit conduit-audio resourcet transformers vector
        ];
@@ -49959,6 +51194,8 @@ self: {
        pname = "conduit-audio-samplerate";
        version = "0.1.0.3";
        sha256 = "07hbqf7is7010ibp2k5fh4lx3s22vp6c4ihsid05ismk0sdpdypi";
+       revision = "1";
+       editedCabalFile = "03546czh1jn04kc7df3lrbpjf5pnssh555chjij8b6h25qrx8jrw";
        libraryHaskellDepends = [
          base conduit conduit-audio resourcet transformers vector
        ];
@@ -49978,6 +51215,8 @@ self: {
        pname = "conduit-audio-sndfile";
        version = "0.1.2.1";
        sha256 = "0b326pdvqpiawqnjkmwfgf5ghvg9jn1afini0ihw8cpc7znx846z";
+       revision = "1";
+       editedCabalFile = "1v0zcagmgr80wfqs328pd7m7z54q834yw0vn218jl6ld5fv581mg";
        libraryHaskellDepends = [
          base conduit conduit-audio hsndfile hsndfile-vector resourcet
          transformers
@@ -49988,34 +51227,6 @@ self: {
      }) {};
 
   "conduit-combinators" = callPackage
-    ({ mkDerivation, base, base16-bytestring, base64-bytestring
-     , bytestring, chunked-data, conduit, conduit-extra, containers
-     , directory, filepath, hspec, monad-control, mono-traversable, mtl
-     , mwc-random, primitive, QuickCheck, resourcet, safe, silently
-     , text, transformers, transformers-base, unix, unix-compat, vector
-     , void
-     }:
-     mkDerivation {
-       pname = "conduit-combinators";
-       version = "1.1.2";
-       sha256 = "0f31iphdi31m7cfd2szq06x3xdag1kkv2vbxh6bm2ax37k9sw2w4";
-       libraryHaskellDepends = [
-         base base16-bytestring base64-bytestring bytestring chunked-data
-         conduit conduit-extra filepath monad-control mono-traversable
-         mwc-random primitive resourcet text transformers transformers-base
-         unix unix-compat vector void
-       ];
-       testHaskellDepends = [
-         base base16-bytestring base64-bytestring bytestring chunked-data
-         conduit containers directory filepath hspec mono-traversable mtl
-         mwc-random QuickCheck safe silently text transformers vector
-       ];
-       homepage = "https://github.com/snoyberg/mono-traversable#readme";
-       description = "Commonly used conduit functions, for both chunked and unchunked data";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-
-  "conduit-combinators_1_3_0" = callPackage
     ({ mkDerivation, base }:
      mkDerivation {
        pname = "conduit-combinators";
@@ -50026,7 +51237,6 @@ self: {
        homepage = "https://github.com/snoyberg/mono-traversable#readme";
        description = "DEPRECATED Functionality merged into the conduit package itself";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "conduit-connection" = callPackage
@@ -50050,7 +51260,7 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "conduit-extra" = callPackage
+  "conduit-extra_1_2_3_2" = callPackage
     ({ mkDerivation, async, attoparsec, base, blaze-builder, bytestring
      , bytestring-builder, conduit, criterion, directory, exceptions
      , filepath, hspec, monad-control, network, primitive, process
@@ -50081,9 +51291,10 @@ self: {
        homepage = "http://github.com/snoyberg/conduit";
        description = "Batteries included conduit: adapters for common libraries";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
-  "conduit-extra_1_3_0" = callPackage
+  "conduit-extra" = callPackage
     ({ mkDerivation, async, attoparsec, base, bytestring
      , bytestring-builder, conduit, directory, exceptions, filepath
      , gauge, hspec, network, primitive, process, QuickCheck, resourcet
@@ -50110,7 +51321,6 @@ self: {
        homepage = "http://github.com/snoyberg/conduit";
        description = "Batteries included conduit: adapters for common libraries";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "conduit-find" = callPackage
@@ -50180,6 +51390,7 @@ self: {
        homepage = "https://github.com/cblp/conduit-merge#readme";
        description = "Merge multiple sorted conduits";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "conduit-network-stream" = callPackage
@@ -50199,17 +51410,16 @@ self: {
      }) {};
 
   "conduit-parse" = callPackage
-    ({ mkDerivation, base, conduit, conduit-combinators, dlist, mtl
-     , parsers, resourcet, safe, safe-exceptions, tasty, tasty-hunit
-     , text, transformers
+    ({ mkDerivation, base, conduit, dlist, mtl, parsers, resourcet
+     , safe, safe-exceptions, tasty, tasty-hunit, text, transformers
      }:
      mkDerivation {
        pname = "conduit-parse";
-       version = "0.1.2.2";
-       sha256 = "19ywaknrdcg88ximmx6fa08bq9xvp76ybly09gyp21xjnfdznsr9";
+       version = "0.2.1.0";
+       sha256 = "1qfs61qhbr5gc0ch0mmqcqdm4wvs5pkx2z6rki588fhy1kfdp1dm";
        libraryHaskellDepends = [
-         base conduit conduit-combinators dlist mtl parsers safe
-         safe-exceptions text transformers
+         base conduit dlist mtl parsers safe safe-exceptions text
+         transformers
        ];
        testHaskellDepends = [
          base conduit mtl parsers resourcet safe-exceptions tasty
@@ -50235,6 +51445,7 @@ self: {
        homepage = "http://github.com/A1kmm/conduit-resumablesink";
        description = "Allows conduit to resume sinks to feed multiple sources into it";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "conduit-throttle" = callPackage
@@ -50259,6 +51470,7 @@ self: {
        homepage = "https://github.com/mtesseract/conduit-throttle#readme";
        description = "Throttle Conduit Producers";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "conduit-tokenize-attoparsec" = callPackage
@@ -50279,6 +51491,7 @@ self: {
        homepage = "http://github.com/haskell-works/conduit-tokenize-attoparsec#readme";
        description = "Conduits for tokenizing streams";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "conduit-zstd" = callPackage
@@ -50356,6 +51569,22 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "confide" = callPackage
+    ({ mkDerivation, base, deiko-config, exceptions, tasty, tasty-hunit
+     , text
+     }:
+     mkDerivation {
+       pname = "confide";
+       version = "0.1.0.3";
+       sha256 = "0agq5naldbs1lwpw9nf5jldzrqh6pbc1n5vn5cb3kk7rj7j1a8ik";
+       libraryHaskellDepends = [ base deiko-config exceptions text ];
+       testHaskellDepends = [ base deiko-config tasty tasty-hunit text ];
+       homepage = "https://github.com/amilkov3/confide";
+       description = "derive typeclass instances for decoding types from HOCON conf";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "config-ini" = callPackage
     ({ mkDerivation, base, containers, directory, hedgehog, ini
      , megaparsec, text, transformers, unordered-containers
@@ -50417,10 +51646,8 @@ self: {
      }:
      mkDerivation {
        pname = "config-schema";
-       version = "0.5.0.0";
-       sha256 = "108gjzafzc5hv1vilnxagf65bh2xia2rfwxcjw6axzzhw5lszgli";
-       revision = "1";
-       editedCabalFile = "03py056v8wvabykx95h5z52g0a5sxglmvvk67wvr94ig8161gbjc";
+       version = "0.5.0.1";
+       sha256 = "18zdq0w65cs2zy8p0pvb0jfqffcyxq9km1c2h5fvky8c689lp0gp";
        libraryHaskellDepends = [
          base config-value containers free kan-extensions pretty
          semigroupoids text transformers
@@ -50451,8 +51678,8 @@ self: {
     ({ mkDerivation, alex, array, base, happy, pretty, text }:
      mkDerivation {
        pname = "config-value";
-       version = "0.6.3";
-       sha256 = "0c7ghasn06m4mlhk3lg5pxpssbsr4l88ibi6vzvp8ylbqha0b3gn";
+       version = "0.6.3.1";
+       sha256 = "0gfr9qcw8a7y1y9cn6635y8fgvrpkmcqx31bn2a070rbrmk3757z";
        libraryHaskellDepends = [ array base pretty text ];
        libraryToolDepends = [ alex happy ];
        homepage = "https://github.com/glguy/config-value";
@@ -50517,22 +51744,22 @@ self: {
      , case-insensitive, connection, data-default, deepseq, directory
      , dlist, enclosed-exceptions, filepath, http-client
      , http-client-tls, http-types, monad-control, mtl, network-uri
-     , optparse-applicative, process, profunctors, text, tls
+     , optparse-applicative, process, profunctors, semigroups, text, tls
      , transformers, unordered-containers, wai, warp, warp-tls, x509
      , x509-system, x509-validation, yaml
      }:
      mkDerivation {
        pname = "configuration-tools";
-       version = "0.3.0";
-       sha256 = "0kpjmnmc7vzdarqczk4z1hxizm9fsnbvhazb6xg4y1a7j8ps99wz";
+       version = "0.3.1";
+       sha256 = "0ivfz3vjf81dnxqlzp4ij8snw0bfy227b26r3j1vvhc4n1qpxpz0";
        libraryHaskellDepends = [
          aeson ansi-wl-pprint attoparsec base base-unicode-symbols
          base64-bytestring bytestring Cabal case-insensitive connection
          data-default deepseq directory dlist enclosed-exceptions filepath
          http-client http-client-tls http-types monad-control mtl
-         network-uri optparse-applicative process profunctors text tls
-         transformers unordered-containers x509 x509-system x509-validation
-         yaml
+         network-uri optparse-applicative process profunctors semigroups
+         text tls transformers unordered-containers x509 x509-system
+         x509-validation yaml
        ];
        testHaskellDepends = [
          base base-unicode-symbols bytestring Cabal enclosed-exceptions
@@ -50732,24 +51959,6 @@ self: {
      }:
      mkDerivation {
        pname = "connection-pool";
-       version = "0.2.1";
-       sha256 = "1p44p266zrcy59m74kp1hvxry0db4zjs8w408w0fpnyhnnkwar13";
-       libraryHaskellDepends = [
-         base between data-default-class monad-control network resource-pool
-         streaming-commons time transformers-base
-       ];
-       homepage = "https://github.com/trskop/connection-pool";
-       description = "Connection pool built on top of resource-pool and streaming-commons";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "connection-pool_0_2_2" = callPackage
-    ({ mkDerivation, base, between, data-default-class, monad-control
-     , network, resource-pool, streaming-commons, time
-     , transformers-base
-     }:
-     mkDerivation {
-       pname = "connection-pool";
        version = "0.2.2";
        sha256 = "0lvkcsd042s936fj5c9y5gg4iiq09n42adkv8q2rnwcbd6vl7kzj";
        libraryHaskellDepends = [
@@ -50759,7 +51968,6 @@ self: {
        homepage = "https://github.com/trskop/connection-pool";
        description = "Connection pool built on top of resource-pool and streaming-commons";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "connection-string" = callPackage
@@ -50806,8 +52014,8 @@ self: {
      }:
      mkDerivation {
        pname = "console-program";
-       version = "0.4.2.1";
-       sha256 = "1havd30r0yni6vym7zfkryvyhqp1r0q8ijypr31jdk5dsn8zb2py";
+       version = "0.4.2.2";
+       sha256 = "1zr6c9wdlx16v559zzjah84v0psphyzyq5d837ncshkxmssri8ja";
        libraryHaskellDepends = [
          ansi-terminal ansi-wl-pprint base containers directory haskeline
          parsec parsec-extra split transformers unix utility-ht
@@ -50889,6 +52097,7 @@ self: {
        testHaskellDepends = [ base tasty tasty-hunit ];
        description = "Dynamic typing with retained constraints";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "constrained-monads" = callPackage
@@ -50966,24 +52175,18 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
-  "constraints" = callPackage
-    ({ mkDerivation, base, binary, deepseq, ghc-prim, hashable, mtl
-     , transformers, transformers-compat
-     }:
+  "constraint-reflection" = callPackage
+    ({ mkDerivation, base, category, constraint, reflection }:
      mkDerivation {
-       pname = "constraints";
-       version = "0.9.1";
-       sha256 = "11d76051i2a335bvack04dqvsz4zhgcms1jxlvy4a4c670l02vi7";
-       libraryHaskellDepends = [
-         base binary deepseq ghc-prim hashable mtl transformers
-         transformers-compat
-       ];
-       homepage = "http://github.com/ekmett/constraints/";
-       description = "Constraint manipulation";
-       license = stdenv.lib.licenses.bsd2;
+       pname = "constraint-reflection";
+       version = "0.1.0.0";
+       sha256 = "1v1m5vvicjmmz7mdp6fqf75fi2vf0hy25fyxgxpd4d7fbbyjvnh1";
+       libraryHaskellDepends = [ base category constraint reflection ];
+       description = "Constraint reflection";
+       license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "constraints_0_10" = callPackage
+  "constraints" = callPackage
     ({ mkDerivation, base, binary, deepseq, ghc-prim, hashable, hspec
      , hspec-discover, mtl, semigroups, transformers
      , transformers-compat
@@ -51001,7 +52204,35 @@ self: {
        homepage = "http://github.com/ekmett/constraints/";
        description = "Constraint manipulation";
        license = stdenv.lib.licenses.bsd2;
-       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "constraints-emerge" = callPackage
+    ({ mkDerivation, base, constraints, containers, ghc, hashable
+     , hspec, transformers
+     }:
+     mkDerivation {
+       pname = "constraints-emerge";
+       version = "0.1.2";
+       sha256 = "1l3n5k8q2jfhsiqbzzbpy798zvcv2dvwsvd165c38b2yvxn6zird";
+       libraryHaskellDepends = [
+         base constraints containers ghc hashable
+       ];
+       testHaskellDepends = [ base constraints hspec transformers ];
+       homepage = "https://github.com/isovector/constraints-emerge";
+       description = "Defer instance lookups until runtime";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "constrictor" = callPackage
+    ({ mkDerivation, base, ghc-prim, transformers }:
+     mkDerivation {
+       pname = "constrictor";
+       version = "0.1.1.1";
+       sha256 = "0rw36xbrrqm40rqacl8zps7hm424nqwkhxr82c98b16n182zvnan";
+       libraryHaskellDepends = [ base ghc-prim transformers ];
+       homepage = "https://github.com/chessai/constrictor.git";
+       description = "strict versions of many things in base";
+       license = stdenv.lib.licenses.mit;
      }) {};
 
   "constructible" = callPackage
@@ -51016,7 +52247,6 @@ self: {
        homepage = "http://andersk.mit.edu/haskell/constructible/";
        description = "Exact computation with constructible real numbers";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "constructive-algebra" = callPackage
@@ -51066,8 +52296,8 @@ self: {
      }:
      mkDerivation {
        pname = "consumers";
-       version = "2.1.0.0";
-       sha256 = "19pi32g1kpjasapg7bkrn3rxhzwl4ml1ndg5is3pjckm72awkf5y";
+       version = "2.1.1.0";
+       sha256 = "0p52j96kcgrdiccx48j24jdfsfhwi3n3x2rq75n660qrqiab2gf2";
        libraryHaskellDepends = [
          base containers exceptions extra hpqtypes lifted-base
          lifted-threads log-base monad-control monad-time mtl stm time
@@ -51085,20 +52315,13 @@ self: {
      }) {};
 
   "container" = callPackage
-    ({ mkDerivation, base, containers, data-default, data-layer
-     , functor-utils, lens, lens-utils, mtl, template-haskell, text
-     , transformers, transformers-base, typelevel, vector
-     }:
+    ({ mkDerivation, base, containers, convert, lens, text }:
      mkDerivation {
        pname = "container";
-       version = "1.0.2";
-       sha256 = "0y8vyh9a3fv3jpjal22fg1r7ms7f2vc3ax2lhnxci6cg9zgz4gj1";
-       libraryHaskellDepends = [
-         base containers data-default data-layer functor-utils lens
-         lens-utils mtl template-haskell text transformers transformers-base
-         typelevel vector
-       ];
-       homepage = "https://github.com/wdanilo/containers";
+       version = "1.1.0";
+       sha256 = "19x7jvzc499y4349gallwwy4wpw4pf4azbsp4gr8ly4j0flfgk6g";
+       libraryHaskellDepends = [ base containers convert lens text ];
+       homepage = "https://github.com/luna/container";
        description = "Containers abstraction and utilities";
        license = stdenv.lib.licenses.asl20;
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -51206,6 +52429,21 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "containers-verified" = callPackage
+    ({ mkDerivation, containers }:
+     mkDerivation {
+       pname = "containers-verified";
+       version = "0.5.11.0";
+       sha256 = "01qcsxrrg2zjqnd1r4i2m8a1wb9nyyss32rckfs7wni42ladzj07";
+       revision = "3";
+       editedCabalFile = "092g7yj27pxpap1qh4spp2yvb1y22jaca9s4x36rnkafvqn0yyl3";
+       libraryHaskellDepends = [ containers ];
+       homepage = "https://github.com/nomeata/containers-verified";
+       description = "Formally verified drop-in replacement of containers";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "content-store" = callPackage
     ({ mkDerivation, aeson, base, bytestring, cond, conduit
      , conduit-combinators, conduit-extra, cryptonite, directory
@@ -51214,8 +52452,8 @@ self: {
      }:
      mkDerivation {
        pname = "content-store";
-       version = "0.2.0";
-       sha256 = "1xdv572mq2nc7nckq79c5bw64ldqrqahd0y8wiffwywbcwi8gyi9";
+       version = "0.2.1";
+       sha256 = "1c3l2fmznx3f1853scnpf6c60bbm1z99lkpxx36ldxrxizj2lmaj";
        libraryHaskellDepends = [
          aeson base bytestring cond conduit conduit-combinators
          conduit-extra cryptonite directory filepath htoml lzma-conduit
@@ -51228,7 +52466,7 @@ self: {
        ];
        homepage = "https://github.com/weldr/content-store";
        description = "Store and retrieve data from an on-disk store";
-       license = "LGPL";
+       license = stdenv.lib.licenses.lgpl21;
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
@@ -51292,12 +52530,11 @@ self: {
     ({ mkDerivation, base, criterion, hspec, recursion-schemes }:
      mkDerivation {
        pname = "continued-fraction";
-       version = "0.1.0.6";
-       sha256 = "04vv2qnpz2pfkizrx8layf3z9kfjkika15ha5kpm0av52d405fiz";
+       version = "0.1.0.9";
+       sha256 = "1831a093wnbf7kvplsp59xkdhj0g8wva08ixf9w12x6vl0yyj6sb";
        libraryHaskellDepends = [ base recursion-schemes ];
        testHaskellDepends = [ base hspec ];
        benchmarkHaskellDepends = [ base criterion ];
-       homepage = "https://hub.darcs.net/vmchale/continued-fraction#readme";
        description = "Types and functions for working with continued fractions in Haskell";
        license = stdenv.lib.licenses.bsd3;
      }) {};
@@ -51353,6 +52590,8 @@ self: {
        pname = "contravariant";
        version = "1.4.1";
        sha256 = "1vfhk8c5cxmmakx7rflap1ipkx5q0j5vnlrcz7yz6y53kxhksgf9";
+       revision = "1";
+       editedCabalFile = "0qj5nymccrb9p0cd6hffsy90jidjng14g9yv95z8v6h4q84sbzvx";
        libraryHaskellDepends = [
          base StateVar transformers transformers-compat
        ];
@@ -51400,7 +52639,6 @@ self: {
        homepage = "https://github.com/erisco/control-dotdotdot";
        description = "Haskell operator `g ... f = \x1 .. xn -> g (f x1 .. xn)`.";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "control-event" = callPackage
@@ -51708,18 +52946,18 @@ self: {
      }) {};
 
   "convert" = callPackage
-    ({ mkDerivation, base, bytestring, containers, either, lens, mtl
-     , old-locale, old-time, template-haskell, text, time
+    ({ mkDerivation, ansi-wl-pprint, base, bytestring, containers
+     , data-default, lens, template-haskell, text, utf8-string
      }:
      mkDerivation {
        pname = "convert";
-       version = "1.0.2";
-       sha256 = "0vwy2j2b0jw435mxmi95q61zmldjqlahhlbf4x9x28qm6kmh519q";
+       version = "1.4.2";
+       sha256 = "0lmbshg6nx0ifnc6qmhvacr5lr5nlay3sjkjg2n5624qm7aiq806";
        libraryHaskellDepends = [
-         base bytestring containers either lens mtl old-locale old-time
-         template-haskell text time
+         ansi-wl-pprint base bytestring containers data-default lens
+         template-haskell text utf8-string
        ];
-       homepage = "https://github.com/wdanilo/convert";
+       homepage = "https://github.com/luna/convert";
        description = "Safe and unsafe data conversion utilities with strong type-level operation. checking.";
        license = stdenv.lib.licenses.asl20;
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -51818,21 +53056,20 @@ self: {
      }) {};
 
   "cookie" = callPackage
-    ({ mkDerivation, base, blaze-builder, bytestring
-     , data-default-class, deepseq, HUnit, old-locale, QuickCheck, tasty
-     , tasty-hunit, tasty-quickcheck, text, time
+    ({ mkDerivation, base, bytestring, data-default-class, deepseq
+     , HUnit, QuickCheck, tasty, tasty-hunit, tasty-quickcheck, text
+     , time
      }:
      mkDerivation {
        pname = "cookie";
-       version = "0.4.3";
-       sha256 = "0qpdydhb9gw590ffabqg70x7xvjpg8l74idqnrfbhv5yrr7hryzv";
+       version = "0.4.4";
+       sha256 = "1qy09i0jh2z9i9avy2khf8a8afq4fqgnv0fyrszgfg4kmq2fsi9j";
        libraryHaskellDepends = [
-         base blaze-builder bytestring data-default-class deepseq old-locale
-         text time
+         base bytestring data-default-class deepseq text time
        ];
        testHaskellDepends = [
-         base blaze-builder bytestring HUnit QuickCheck tasty tasty-hunit
-         tasty-quickcheck text time
+         base bytestring HUnit QuickCheck tasty tasty-hunit tasty-quickcheck
+         text time
        ];
        homepage = "http://github.com/snoyberg/cookie";
        description = "HTTP cookie parsing and rendering";
@@ -51840,18 +53077,14 @@ self: {
      }) {};
 
   "coordinate" = callPackage
-    ({ mkDerivation, base, directory, doctest, filepath, lens
-     , QuickCheck, template-haskell, transformers
-     }:
+    ({ mkDerivation, base, HUnit, lens, papa, transformers }:
      mkDerivation {
        pname = "coordinate";
-       version = "0.1.2";
-       sha256 = "0lphvgjs9nkrp37hirhi88d285rqbgk7qjz23rbl94v6qrk3x8nv";
-       libraryHaskellDepends = [ base lens transformers ];
-       testHaskellDepends = [
-         base directory doctest filepath QuickCheck template-haskell
-       ];
-       homepage = "https://github.com/NICTA/coordinate";
+       version = "0.2";
+       sha256 = "1sph59d8008amhb4pi4gk8ymwjf2r6iy378phriqb42zy01bn0vb";
+       libraryHaskellDepends = [ base lens papa transformers ];
+       testHaskellDepends = [ base HUnit lens ];
+       homepage = "https://github.com/qfpl/coordinate";
        description = "A representation of latitude and longitude";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -52101,6 +53334,28 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "corenlp-parser" = callPackage
+    ({ mkDerivation, aeson, async, base, cryptonite, data-default
+     , directory, process, raw-strings-qq, rocksdb, rocksdb-haskell
+     , safe-exceptions, split, store, string-class, temporary, text
+     , unordered-containers
+     }:
+     mkDerivation {
+       pname = "corenlp-parser";
+       version = "0.4.0.0";
+       sha256 = "0li43xmig52npq9dc1nm5sv876nw7n1g4r3djy5saw3h38sz1zdz";
+       libraryHaskellDepends = [
+         aeson async base cryptonite data-default directory process
+         raw-strings-qq rocksdb-haskell safe-exceptions split store
+         string-class temporary text unordered-containers
+       ];
+       librarySystemDepends = [ rocksdb ];
+       homepage = "https://github.com/k-bx/corenlp-parser#readme";
+       description = "Launches CoreNLP and parses the JSON output";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {inherit (pkgs) rocksdb;};
+
   "coroutine-enumerator" = callPackage
     ({ mkDerivation, base, enumerator, monad-coroutine }:
      mkDerivation {
@@ -52136,6 +53391,7 @@ self: {
        libraryHaskellDepends = [ base either free mtl transformers ];
        description = "Object-oriented programming realization using coroutine";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "couch-hs" = callPackage
@@ -52309,8 +53565,8 @@ self: {
      }:
      mkDerivation {
        pname = "country";
-       version = "0.1.4";
-       sha256 = "027i4ncnsyii41wfndn369xmlbkp4vvcrx7m7cdb07n4wlcpz0bl";
+       version = "0.1.5";
+       sha256 = "0shp4kq8bibfwrjldz8akghgm3n2lq00dybxnq4grmbl5phj3a9s";
        libraryHaskellDepends = [
          aeson attoparsec base bytestring ghc-prim hashable primitive
          scientific text unordered-containers
@@ -52359,7 +53615,6 @@ self: {
        homepage = "http://github.com/hargettp/courier";
        description = "A message-passing library for simplifying network applications";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "court" = callPackage
@@ -52472,6 +53727,20 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "cppfilt" = callPackage
+    ({ mkDerivation, base, bytestring, criterion, hspec }:
+     mkDerivation {
+       pname = "cppfilt";
+       version = "0.1.0.0";
+       sha256 = "0ls98z5bswcsayqday350b90m256dscr2li14dnlkfckynpnqqzk";
+       libraryHaskellDepends = [ base bytestring ];
+       testHaskellDepends = [ base bytestring hspec ];
+       benchmarkHaskellDepends = [ base bytestring criterion ];
+       homepage = "https://github.com/0xd34df00d/cppfilt#readme";
+       description = "Bindings for C++ demangling routines";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "cpphs" = callPackage
     ({ mkDerivation, base, directory, old-locale, old-time, polyparse
      }:
@@ -52536,8 +53805,8 @@ self: {
     ({ mkDerivation, base, containers, parallel }:
      mkDerivation {
        pname = "cpsa";
-       version = "3.4.1";
-       sha256 = "1sd6h0xw76iwvgl7i4c9wy6q5fmq75inq5vh79rzf3bhmahb1529";
+       version = "3.5.0";
+       sha256 = "0x8l31zbgcx4idcvpjsipsc3k610hj6g6rjpxbbpaz7zcb2ykvn1";
        isLibrary = false;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -52614,6 +53883,7 @@ self: {
        homepage = "https://john-millikin.com/software/haskell-python/";
        description = "Bindings for libpython";
        license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {inherit (pkgs) python34;};
 
   "cql" = callPackage
@@ -52638,6 +53908,29 @@ self: {
        license = "unknown";
      }) {};
 
+  "cql_4_0_0" = callPackage
+    ({ mkDerivation, base, bytestring, cereal, containers, Decimal
+     , iproute, network, QuickCheck, tasty, tasty-quickcheck
+     , template-haskell, text, time, transformers, uuid, vector
+     }:
+     mkDerivation {
+       pname = "cql";
+       version = "4.0.0";
+       sha256 = "09sm9wxjfmiv62brrj6hcfsjz3s8xwc4ihrwxdq8fqsv9cf82fj7";
+       libraryHaskellDepends = [
+         base bytestring cereal containers Decimal iproute network
+         template-haskell text time transformers uuid vector
+       ];
+       testHaskellDepends = [
+         base bytestring cereal Decimal iproute network QuickCheck tasty
+         tasty-quickcheck text time uuid
+       ];
+       homepage = "https://gitlab.com/twittner/cql/";
+       description = "Cassandra CQL binary protocol";
+       license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "cql-io" = callPackage
     ({ mkDerivation, async, auto-update, base, bytestring, containers
      , cql, cryptohash, data-default-class, exceptions, hashable
@@ -52649,6 +53942,8 @@ self: {
        pname = "cql-io";
        version = "0.16.0";
        sha256 = "012043s6cfkybj764hlrc7i9ql6afl79s2vnjbn9vz99p7wszrc2";
+       revision = "1";
+       editedCabalFile = "07vrizkarip8ap5hp6ngp7yf8xfdmm3r6zbaxafk48raxyfkl8xd";
        libraryHaskellDepends = [
          async auto-update base bytestring containers cql cryptohash
          data-default-class exceptions hashable HsOpenSSL iproute lens
@@ -52660,6 +53955,35 @@ self: {
        license = stdenv.lib.licenses.mpl20;
      }) {};
 
+  "cql-io_1_0_0" = callPackage
+    ({ mkDerivation, async, auto-update, base, bytestring, containers
+     , cql, cryptohash, data-default-class, Decimal, exceptions
+     , hashable, HsOpenSSL, iproute, lens, monad-control, mtl
+     , mwc-random, network, raw-strings-qq, retry, semigroups, stm
+     , tasty, tasty-hunit, text, time, tinylog, transformers
+     , transformers-base, unordered-containers, uuid, vector
+     }:
+     mkDerivation {
+       pname = "cql-io";
+       version = "1.0.0";
+       sha256 = "0wij5h44rk4lnnvh3i6s04bk7dhvxvv9l9y2qicm44736zrphlmx";
+       libraryHaskellDepends = [
+         async auto-update base bytestring containers cql cryptohash
+         data-default-class exceptions hashable HsOpenSSL iproute lens
+         monad-control mtl mwc-random network retry semigroups stm text time
+         tinylog transformers transformers-base unordered-containers uuid
+         vector
+       ];
+       testHaskellDepends = [
+         base containers cql Decimal iproute mtl raw-strings-qq tasty
+         tasty-hunit text time tinylog uuid
+       ];
+       homepage = "https://gitlab.com/twittner/cql-io/";
+       description = "Cassandra CQL client";
+       license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "cqrs" = callPackage
     ({ mkDerivation, base }:
      mkDerivation {
@@ -52871,6 +54195,25 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "crackNum_2_0" = callPackage
+    ({ mkDerivation, base, data-binary-ieee754, FloatingHex, ieee754 }:
+     mkDerivation {
+       pname = "crackNum";
+       version = "2.0";
+       sha256 = "1wi2k7yrm9z3n1b6vnw5zc3yj4k8drhap7fm2hk1z98wih4qppzp";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base data-binary-ieee754 FloatingHex ieee754
+       ];
+       executableHaskellDepends = [
+         base data-binary-ieee754 FloatingHex ieee754
+       ];
+       description = "Crack various integer, floating-point data formats";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "craft" = callPackage
     ({ mkDerivation, aeson, aeson-pretty, ansi-terminal, async, base
      , bytestring, conduit, conduit-combinators, conduit-extra
@@ -53010,8 +54353,8 @@ self: {
      }:
      mkDerivation {
        pname = "crc";
-       version = "0.0.1.1";
-       sha256 = "1swn00ksnqkqfjh1q9ck8zd5y9vb2yaf7rsxyy9i47d8p93m5g74";
+       version = "0.1.0.0";
+       sha256 = "0cvyzw1c63s1cbs9ypa5xxj7kjl57v0ggkxsxncnl7sqlkpn6s74";
        libraryHaskellDepends = [ base bytestring vector ];
        testHaskellDepends = [
          base bytestring conduit conduit-extra resourcet tasty tasty-golden
@@ -53052,8 +54395,8 @@ self: {
      }:
      mkDerivation {
        pname = "crdt";
-       version = "9.3";
-       sha256 = "1w1mb43hb6zn8n8r261j623jrgxx54h8jifhcby8nnfyl3h97c69";
+       version = "10.0";
+       sha256 = "10wg1s47r70gxgl9bfg3cxhj8w74k7wn0c3lh418mxypb2p3ffww";
        libraryHaskellDepends = [
          base binary bytestring containers Diff hashable mtl network-info
          safe stm time vector
@@ -53061,7 +54404,6 @@ self: {
        homepage = "https://github.com/cblp/crdt#readme";
        description = "Conflict-free replicated data types";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "creatur" = callPackage
@@ -53131,6 +54473,7 @@ self: {
        homepage = "https://github.com/brendanhay/credentials";
        description = "Secure Credentials Storage and Distribution";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "credentials-cli" = callPackage
@@ -53247,6 +54590,8 @@ self: {
        pname = "critbit";
        version = "0.2.0.0";
        sha256 = "1xdgaj73ffvj1q1kyi62bifbazmzgamfwzdbdz0c339axw5dga82";
+       revision = "1";
+       editedCabalFile = "0sfhyrdhnm3803v0yg4ch976nn19hpgwwrlmfdnxnc9agn8m1ja1";
        libraryHaskellDepends = [
          array base bytestring deepseq text vector
        ];
@@ -53276,10 +54621,10 @@ self: {
      }:
      mkDerivation {
        pname = "criterion";
-       version = "1.2.6.0";
-       sha256 = "0a9pjmy74cd3yirihyabavsfa6b9rrrgav86qdagw5nwjw7as1bc";
-       revision = "1";
-       editedCabalFile = "094z5gbgnsbfwwn5qsila3bfg0dqg63zq6rmhsf973dca00b8syz";
+       version = "1.3.0.0";
+       sha256 = "0csgk6njr6a3i895d10pajf7z4r9hx8aj2r0c3rj5li6vrm37f8q";
+       revision = "3";
+       editedCabalFile = "0bdz45r1mf6ydcs7l333xn7da9p583g9y7n3dzvnry4by0fkcqw6";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -53290,45 +54635,48 @@ self: {
          parsec semigroups statistics text time transformers
          transformers-compat vector vector-algorithms
        ];
-       executableHaskellDepends = [ base optparse-applicative ];
+       executableHaskellDepends = [
+         base base-compat optparse-applicative semigroups
+       ];
        testHaskellDepends = [
-         aeson base bytestring deepseq directory HUnit QuickCheck statistics
-         tasty tasty-hunit tasty-quickcheck vector
+         aeson base base-compat bytestring deepseq directory HUnit
+         QuickCheck statistics tasty tasty-hunit tasty-quickcheck vector
        ];
        homepage = "http://www.serpentine.com/criterion";
        description = "Robust, reliable performance measurement and analysis";
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "criterion_1_4_0_0" = callPackage
-    ({ mkDerivation, aeson, ansi-wl-pprint, base, base-compat, binary
-     , bytestring, cassava, code-page, containers, deepseq, directory
-     , exceptions, filepath, Glob, HUnit, js-flot, js-jquery
-     , microstache, mtl, mwc-random, optparse-applicative, parsec
-     , QuickCheck, semigroups, statistics, tasty, tasty-hunit
-     , tasty-quickcheck, text, time, transformers, transformers-compat
-     , vector, vector-algorithms
+  "criterion_1_4_1_0" = callPackage
+    ({ mkDerivation, aeson, ansi-wl-pprint, base, base-compat
+     , base-compat-batteries, binary, bytestring, cassava, code-page
+     , containers, deepseq, directory, exceptions, filepath, Glob, HUnit
+     , js-flot, js-jquery, microstache, mtl, mwc-random
+     , optparse-applicative, parsec, QuickCheck, semigroups, statistics
+     , tasty, tasty-hunit, tasty-quickcheck, text, time, transformers
+     , transformers-compat, vector, vector-algorithms
      }:
      mkDerivation {
        pname = "criterion";
-       version = "1.4.0.0";
-       sha256 = "0shsqq36z1q8ckic3nfb3rdbxhlb0faxl5d7ly5a4wlka4fcfrfc";
+       version = "1.4.1.0";
+       sha256 = "0v429araqkcw3wwwi6fsp0g7g1hy3l47p061lcy7r4m7d9khd4y4";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
-         aeson ansi-wl-pprint base base-compat binary bytestring cassava
-         code-page containers deepseq directory exceptions filepath Glob
-         js-flot js-jquery microstache mtl mwc-random optparse-applicative
-         parsec semigroups statistics text time transformers
-         transformers-compat vector vector-algorithms
+         aeson ansi-wl-pprint base base-compat-batteries binary bytestring
+         cassava code-page containers deepseq directory exceptions filepath
+         Glob js-flot js-jquery microstache mtl mwc-random
+         optparse-applicative parsec semigroups statistics text time
+         transformers transformers-compat vector vector-algorithms
        ];
        executableHaskellDepends = [
-         base base-compat optparse-applicative semigroups
+         base base-compat-batteries optparse-applicative semigroups
        ];
        testHaskellDepends = [
-         aeson base base-compat bytestring deepseq directory HUnit
-         QuickCheck statistics tasty tasty-hunit tasty-quickcheck vector
+         aeson base base-compat base-compat-batteries bytestring deepseq
+         directory HUnit QuickCheck statistics tasty tasty-hunit
+         tasty-quickcheck vector
        ];
        homepage = "http://www.serpentine.com/criterion";
        description = "Robust, reliable performance measurement and analysis";
@@ -53707,8 +55055,8 @@ self: {
      }:
      mkDerivation {
        pname = "crypto-enigma";
-       version = "0.0.2.10";
-       sha256 = "1c7baw7k9shllfxp1yg5czr9m0392pnpqiblaz8v17rc71d402p6";
+       version = "0.0.2.12";
+       sha256 = "0g5qnr7pds5q1n77w1sw4m6kmzm020w9mdf4x2cs18iwg8wl5f9b";
        libraryHaskellDepends = [ base containers MissingH mtl split ];
        testHaskellDepends = [ base HUnit QuickCheck ];
        homepage = "https://github.com/orome/crypto-enigma-hs";
@@ -53735,6 +55083,7 @@ self: {
        homepage = "https://github.com/mseri/crypto-multihash#crypto-multihash";
        description = "Multihash library on top of cryptonite crypto library";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "crypto-numbers" = callPackage
@@ -53874,8 +55223,8 @@ self: {
      }:
      mkDerivation {
        pname = "crypto-rng";
-       version = "0.1.0.1";
-       sha256 = "1hmml06vkf769cwxjry04zcxigy8w6sgfm9rmzwwv402mqh48dzs";
+       version = "0.1.0.2";
+       sha256 = "1h7ilx91jbnlmax0z74kvk6f3yr4f14pk15bi9qvhn8kj13i7qf1";
        libraryHaskellDepends = [
          base bytestring crypto-api DRBG exceptions monad-control mtl
          transformers-base
@@ -53940,8 +55289,8 @@ self: {
      }:
      mkDerivation {
        pname = "cryptocompare";
-       version = "0.1.0";
-       sha256 = "0ghdaf5m3axxzxbq3zm9klrnzh354maf82389aryskglr9l11fv4";
+       version = "0.1.1";
+       sha256 = "1cqnhg1ww79k3f6yisdir1fqiil13niv002p5s2kir9ks5phybni";
        libraryHaskellDepends = [
          aeson base bytestring containers directory exceptions http-conduit
          MissingH text time transformers unordered-containers
@@ -54042,8 +55391,8 @@ self: {
        pname = "cryptohash-md5";
        version = "0.11.100.1";
        sha256 = "1y8q7s2bn4gdknw1wjikdnar2b5pgz3nv3220lxrlgpsf23x82vi";
-       revision = "1";
-       editedCabalFile = "1drxjsn5chi9zj3djj85s1d6xqlc28ji70zpyicxl5fals10n5w3";
+       revision = "2";
+       editedCabalFile = "0vyb9cfvpfxpslxvvhd48gw37i9g8ry5x63xwxd9q7xfiqhs7p3a";
        libraryHaskellDepends = [ base bytestring ];
        testHaskellDepends = [
          base base16-bytestring bytestring pureMD5 tasty tasty-hunit
@@ -54063,8 +55412,8 @@ self: {
        pname = "cryptohash-sha1";
        version = "0.11.100.1";
        sha256 = "1aqdxdhxhl9jldh951djpwxx8z7gzaqspxl7iwpl84i5ahrsyy9w";
-       revision = "1";
-       editedCabalFile = "167i2mjyr18949xckzv6f782n763f6w9k114p6kq74gbmxqjvmqb";
+       revision = "2";
+       editedCabalFile = "0xas0nbq9bfdzlj6k565ibizv1cqvzfzsdj6q9pdiiwyxqblqc3m";
        libraryHaskellDepends = [ base bytestring ];
        testHaskellDepends = [
          base base16-bytestring bytestring SHA tasty tasty-hunit
@@ -54084,6 +55433,8 @@ self: {
        pname = "cryptohash-sha256";
        version = "0.11.101.0";
        sha256 = "1p85vajcgw9hmq8zsz9krzx0vxh7aggwbg5w9ws8w97avcsn8xaj";
+       revision = "1";
+       editedCabalFile = "19birnmwga1yh82l4jqc3fygqkqcf5y8dlldnxfswngkzc3rvwp3";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base bytestring ];
@@ -54105,8 +55456,8 @@ self: {
        pname = "cryptohash-sha512";
        version = "0.11.100.1";
        sha256 = "1abi23dr3vzslkh0cx24cdn2gy88jjm4qr6rcm543ajyaywqns8h";
-       revision = "1";
-       editedCabalFile = "0aj9ryzdpxz79n5bs5wx56s9rjxm25dm7agxbyzqdr93wi2rj8ny";
+       revision = "2";
+       editedCabalFile = "1xy1j3bn2w8my0q04s7z460rddmnqfdh43l95m86rpk75xpiryil";
        libraryHaskellDepends = [ base bytestring ];
        testHaskellDepends = [
          base base16-bytestring bytestring SHA tasty tasty-hunit
@@ -54128,8 +55479,8 @@ self: {
        pname = "cryptoids";
        version = "0.5.0.0";
        sha256 = "05xywzs7waz01c0p3y02qlf4yfhfpmpzpdfs2cmv5rmphf1hzck2";
-       revision = "3";
-       editedCabalFile = "0px43xzijabkf727gfza6nm3p8v8higa9nl71vvadvyp7jm4hbnl";
+       revision = "4";
+       editedCabalFile = "1lghn17a367cvljsc8kddn11qd30nz6a6dl4128xbc6p0bf41pzj";
        libraryHaskellDepends = [
          base binary bytestring cryptoids-class cryptoids-types cryptonite
          directory exceptions filepath memory
@@ -54144,8 +55495,8 @@ self: {
        pname = "cryptoids-class";
        version = "0.0.0";
        sha256 = "0zp0d815r0dv2xqdi6drq846zz2a82gpqp6nvap3b5dnx2q3hbjy";
-       revision = "2";
-       editedCabalFile = "1y2qav6izihivhxzv8fn4d7vrp0cvbfv84k8l4x6av6iwfbak5s8";
+       revision = "3";
+       editedCabalFile = "1hcdhmksd81sylfjyx0wb4yhrswdwbjlaarq8fbmwcl7fjm4sxfy";
        libraryHaskellDepends = [ base cryptoids-types exceptions ];
        description = "Typeclass-based interface to cryptoids";
        license = stdenv.lib.licenses.bsd3;
@@ -54204,29 +55555,6 @@ self: {
      }) {};
 
   "cryptonite" = callPackage
-    ({ mkDerivation, base, bytestring, criterion, deepseq, foundation
-     , ghc-prim, integer-gmp, memory, random, tasty, tasty-hunit
-     , tasty-kat, tasty-quickcheck
-     }:
-     mkDerivation {
-       pname = "cryptonite";
-       version = "0.24";
-       sha256 = "11js3fg1rbrgy17i0nq19v9w4w28s80zglb6fnlbz6zg8cik3hqp";
-       libraryHaskellDepends = [
-         base bytestring deepseq foundation ghc-prim integer-gmp memory
-       ];
-       testHaskellDepends = [
-         base bytestring memory tasty tasty-hunit tasty-kat tasty-quickcheck
-       ];
-       benchmarkHaskellDepends = [
-         base bytestring criterion memory random
-       ];
-       homepage = "https://github.com/haskell-crypto/cryptonite";
-       description = "Cryptography Primitives sink";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "cryptonite_0_25" = callPackage
     ({ mkDerivation, base, basement, bytestring, deepseq, gauge
      , ghc-prim, integer-gmp, memory, random, tasty, tasty-hunit
      , tasty-kat, tasty-quickcheck
@@ -54247,7 +55575,6 @@ self: {
        homepage = "https://github.com/haskell-crypto/cryptonite";
        description = "Cryptography Primitives sink";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "cryptonite-conduit" = callPackage
@@ -54291,6 +55618,28 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {inherit (pkgs) openssl;};
 
+  "cryptonite-openssl_0_7" = callPackage
+    ({ mkDerivation, base, basement, bytestring, cryptonite, memory
+     , openssl, tasty, tasty-hunit, tasty-kat, tasty-quickcheck
+     }:
+     mkDerivation {
+       pname = "cryptonite-openssl";
+       version = "0.7";
+       sha256 = "1xj41354dx24rfh6i7av7qamvin34z4g6m1hxw1fc9jg4q41qkly";
+       libraryHaskellDepends = [
+         base basement bytestring cryptonite memory
+       ];
+       librarySystemDepends = [ openssl ];
+       testHaskellDepends = [
+         base bytestring cryptonite tasty tasty-hunit tasty-kat
+         tasty-quickcheck
+       ];
+       homepage = "https://github.com/haskell-crypto/cryptonite-openssl";
+       description = "Crypto stuff using OpenSSL cryptographic library";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {inherit (pkgs) openssl;};
+
   "cryptsy-api" = callPackage
     ({ mkDerivation, aeson, base, bytestring, deepseq, either
      , http-client, http-client-tls, old-locale, pipes-attoparsec
@@ -54336,14 +55685,47 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "csg" = callPackage
+    ({ mkDerivation, attoparsec, base, bytestring, containers
+     , criterion, doctest, doctest-discover, gloss, gloss-raster
+     , QuickCheck, simple-vec3, strict, system-filepath, tasty
+     , tasty-hunit, tasty-quickcheck, transformers, turtle, vector
+     }:
+     mkDerivation {
+       pname = "csg";
+       version = "0.1";
+       sha256 = "06fc7j1izwwalngjvgvkg90xvp3cjr53c4laqp5giwl2vdqrj2zs";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         attoparsec base bytestring containers QuickCheck simple-vec3 strict
+         transformers
+       ];
+       executableHaskellDepends = [
+         base gloss gloss-raster QuickCheck simple-vec3 strict
+         system-filepath turtle
+       ];
+       testHaskellDepends = [
+         base bytestring doctest doctest-discover simple-vec3 tasty
+         tasty-hunit tasty-quickcheck
+       ];
+       benchmarkHaskellDepends = [
+         base criterion simple-vec3 strict vector
+       ];
+       homepage = "https://github.com/dzhus/csg#readme";
+       description = "Analytical CSG (Constructive Solid Geometry) library";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "csound-catalog" = callPackage
     ({ mkDerivation, base, csound-expression, csound-sampler
      , sharc-timbre, transformers
      }:
      mkDerivation {
        pname = "csound-catalog";
-       version = "0.7.1";
-       sha256 = "117ih5cssflaa7mvg4a4vz5sfsylivb8n0ri90211pml3d5idwpf";
+       version = "0.7.2";
+       sha256 = "0c16h2m8zkpyjbclvqpd8kq46ciw6qwc94d6v2d66c3g0ixx53vx";
        libraryHaskellDepends = [
          base csound-expression csound-sampler sharc-timbre transformers
        ];
@@ -54360,8 +55742,8 @@ self: {
      }:
      mkDerivation {
        pname = "csound-expression";
-       version = "5.2.2";
-       sha256 = "05vlyd3b2kkpspp6jmxrwhv0474rw6ij6ha7jajrbqyx42a4g8bl";
+       version = "5.3.2";
+       sha256 = "1v3ssy2rfgwz9wwv8kmaifyrphyl5w66p9zmrg1bi0vbzwxnr57q";
        libraryHaskellDepends = [
          base Boolean colour containers csound-expression-dynamic
          csound-expression-opcodes csound-expression-typed data-default
@@ -54378,8 +55760,8 @@ self: {
      }:
      mkDerivation {
        pname = "csound-expression-dynamic";
-       version = "0.3.2";
-       sha256 = "1h827ijkwa5fyg1jphaa19fr4wxs5l76m89xl44989jnb7blbkcd";
+       version = "0.3.3";
+       sha256 = "0k4pk96cx2f6rhz18mrdkkz7ic2fdzpqkxf1x596990az7pjg7g3";
        libraryHaskellDepends = [
          array base Boolean containers data-default data-fix data-fix-cse
          hashable transformers wl-pprint
@@ -54395,8 +55777,8 @@ self: {
      }:
      mkDerivation {
        pname = "csound-expression-opcodes";
-       version = "0.0.3.2";
-       sha256 = "09vyvai2k6id2vsnbxnv809v2bml0v8spsrfcdg2zgnxnjv9s4s4";
+       version = "0.0.4.0";
+       sha256 = "1rzkv24xppysmx20x453wzxfapkic99c98jqzpf2iyfyny1qya2w";
        libraryHaskellDepends = [
          base csound-expression-dynamic csound-expression-typed transformers
        ];
@@ -54412,8 +55794,8 @@ self: {
      }:
      mkDerivation {
        pname = "csound-expression-typed";
-       version = "0.2.0.2";
-       sha256 = "1fb3wayix991awxnns6y1a9kmb6kvnay7p4rx62nvj89qa513d82";
+       version = "0.2.2.0";
+       sha256 = "19cplqpyd7vhn28z0k8mxmscja05w9xb8q4bbvq5qd0h8liqxsqg";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          base Boolean colour containers csound-expression-dynamic
@@ -54429,8 +55811,8 @@ self: {
     ({ mkDerivation, base, csound-expression, transformers }:
      mkDerivation {
        pname = "csound-sampler";
-       version = "0.0.8.1";
-       sha256 = "15k5in43w4ivkzi6qs5z19fh3pd2fg5ih1dyd1vk736lawlivx20";
+       version = "0.0.9.0";
+       sha256 = "0vvsqbnd1yjwijz4g0y9av6d20m73b5swln4v7gna3jd16mrg2k1";
        libraryHaskellDepends = [ base csound-expression transformers ];
        homepage = "https://github.com/anton-k/csound-sampler";
        description = "A musical sampler based on Csound";
@@ -54451,6 +55833,21 @@ self: {
        license = "LGPL";
      }) {};
 
+  "csp_1_4_0" = callPackage
+    ({ mkDerivation, base, containers, mtl, nondeterminism, tasty
+     , tasty-hunit
+     }:
+     mkDerivation {
+       pname = "csp";
+       version = "1.4.0";
+       sha256 = "15ilx5ycvh12c71wza2d25cp4llvncxc9csmmisjcxwny5gpz1q8";
+       libraryHaskellDepends = [ base containers mtl nondeterminism ];
+       testHaskellDepends = [ base nondeterminism tasty tasty-hunit ];
+       description = "Discrete constraint satisfaction problem (CSP) solver";
+       license = "LGPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "cspmchecker" = callPackage
     ({ mkDerivation, base, directory, filepath, haskeline, libcspm, mtl
      }:
@@ -54630,7 +56027,6 @@ self: {
        homepage = "http://mrvandalo.github.io/csv-to-qif/";
        description = "A small program that will read csv files and create qif files";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "ctemplate" = callPackage
@@ -54771,8 +56167,8 @@ self: {
      }:
      mkDerivation {
        pname = "cublas";
-       version = "0.4.0.0";
-       sha256 = "1y1vwrsgiirzn83iza2k1h699qw5m2bimx6r5vv0im8gxr9fgvkw";
+       version = "0.4.0.1";
+       sha256 = "0fk0yrm6arb85xxy7vr2bnkxgwassahfcl8lf9k99s9f9wqc9glr";
        setupHaskellDepends = [ base Cabal cuda directory filepath ];
        libraryHaskellDepends = [
          base cuda half storable-complex template-haskell
@@ -54802,8 +56198,8 @@ self: {
      }:
      mkDerivation {
        pname = "cuda";
-       version = "0.9.0.1";
-       sha256 = "1ldn1jd12kisx6dgz5q50l6hx5aqakwj9vq2fbnx21ri309vlyq8";
+       version = "0.9.0.3";
+       sha256 = "0ym5j3rllxyl9zqji47pngwbi032hzm0bv5j06756d5cb769k44q";
        isLibrary = true;
        isExecutable = true;
        setupHaskellDepends = [ base Cabal directory filepath ];
@@ -54841,8 +56237,8 @@ self: {
        pname = "cue-sheet";
        version = "1.0.1";
        sha256 = "13vzay3i385k8i2k56bl9rr9sy7mnhas4b35xc8q7744gbl5hji1";
-       revision = "1";
-       editedCabalFile = "05f1w3jhwk09jaknq2ipfsfdlh95rg614m1c1diwi2z9s6hwi3cx";
+       revision = "2";
+       editedCabalFile = "09h4phhj0j1m4ab5gbfrz6475jn772x46l21k7l2qlxav6hi9w7x";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          base bytestring containers data-default-class exceptions megaparsec
@@ -54876,6 +56272,25 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "cufft_0_9_0_0" = callPackage
+    ({ mkDerivation, base, c2hs, Cabal, cuda, directory, filepath
+     , template-haskell
+     }:
+     mkDerivation {
+       pname = "cufft";
+       version = "0.9.0.0";
+       sha256 = "1is6vk0nhvchi0n7d1kpy4vydf82lsb52pq4hqffiawlp0vp5scv";
+       setupHaskellDepends = [
+         base Cabal cuda directory filepath template-haskell
+       ];
+       libraryHaskellDepends = [ base cuda ];
+       libraryToolDepends = [ c2hs ];
+       homepage = "https://github.com/robeverest/cufft";
+       description = "Haskell bindings for the CUFFT library";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "curl" = callPackage
     ({ mkDerivation, base, bytestring, containers, curl }:
      mkDerivation {
@@ -54904,25 +56319,49 @@ self: {
 
   "curl-runnings" = callPackage
     ({ mkDerivation, aeson, aeson-pretty, base, bytestring, cmdargs
-     , http-conduit, text, unordered-containers, yaml
+     , directory, hspec, hspec-expectations, http-conduit, text
+     , unordered-containers, yaml
      }:
      mkDerivation {
        pname = "curl-runnings";
-       version = "0.1.0";
-       sha256 = "055hislas8i417482x40ldvlwif9dihhrspb2fnwv0017gmhbjvf";
+       version = "0.2.0";
+       sha256 = "0ss98dn39aaa3q2rvf8qf7w638hwwwb2g20p9grw2n9ki0k76i3n";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         aeson aeson-pretty base bytestring http-conduit text
-         unordered-containers
+         aeson aeson-pretty base bytestring directory hspec
+         hspec-expectations http-conduit text unordered-containers yaml
        ];
-       executableHaskellDepends = [
-         aeson base bytestring cmdargs text yaml
+       executableHaskellDepends = [ base cmdargs text ];
+       testHaskellDepends = [ base directory hspec hspec-expectations ];
+       homepage = "https://github.com/aviaviavi/curl-runnings#readme";
+       description = "A framework for declaratively writing curl based API tests";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "curl-runnings_0_6_0" = callPackage
+    ({ mkDerivation, aeson, aeson-pretty, base, bytestring
+     , case-insensitive, cmdargs, directory, hspec, hspec-expectations
+     , http-conduit, http-types, megaparsec, text, unordered-containers
+     , vector, yaml
+     }:
+     mkDerivation {
+       pname = "curl-runnings";
+       version = "0.6.0";
+       sha256 = "06dcxwhmzsinmay63m9wnsjsy1cgwyms64c0jicndnc3nhbl0824";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson aeson-pretty base bytestring case-insensitive directory hspec
+         hspec-expectations http-conduit http-types megaparsec text
+         unordered-containers vector yaml
        ];
-       testHaskellDepends = [ base ];
+       executableHaskellDepends = [ base cmdargs text ];
+       testHaskellDepends = [ base directory hspec hspec-expectations ];
        homepage = "https://github.com/aviaviavi/curl-runnings#readme";
        description = "A framework for declaratively writing curl based API tests";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "curlhs" = callPackage
@@ -54969,15 +56408,21 @@ self: {
      }) {};
 
   "currency-codes" = callPackage
-    ({ mkDerivation, aeson, base, bson, random, safe, text }:
+    ({ mkDerivation, aeson, base, bson, deepseq, hspec, QuickCheck
+     , random, safe, text
+     }:
      mkDerivation {
        pname = "currency-codes";
-       version = "2.0.0.0";
-       sha256 = "0sdgnzww38l9vhjxs2b92c4j0db4ssbhxs4zrhvnfh66x6jjvnd5";
-       libraryHaskellDepends = [ aeson base bson random safe text ];
+       version = "3.0.0.1";
+       sha256 = "0b3yqybpd8lk5jw7ajrmn6d4minxqr8l6sq35v1yxhjl81zbria8";
+       libraryHaskellDepends = [
+         aeson base bson deepseq random safe text
+       ];
+       testHaskellDepends = [ aeson base bson hspec QuickCheck ];
        homepage = "https://github.com/chordify/currency-codes";
        description = "ISO-4217 Currency Codes";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "currency-convert" = callPackage
@@ -55037,7 +56482,6 @@ self: {
        homepage = "http://curry-language.org";
        description = "Functions for manipulating Curry programs";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "curry-frontend" = callPackage
@@ -55161,8 +56605,8 @@ self: {
      }:
      mkDerivation {
        pname = "cusolver";
-       version = "0.1.0.0";
-       sha256 = "00ki40s6z9llsbxlp4c46qn7iaamrhnr5yfr983gqg2mfc3wx355";
+       version = "0.1.0.1";
+       sha256 = "1wjwdhy51pzvhvr50v7b1s9ljgk001wp9qlmwkkjih0csk79047k";
        setupHaskellDepends = [ base Cabal cuda directory filepath ];
        libraryHaskellDepends = [
          base cublas cuda cusparse half storable-complex
@@ -55179,8 +56623,8 @@ self: {
      }:
      mkDerivation {
        pname = "cusparse";
-       version = "0.1.0.0";
-       sha256 = "0a45b7y18v50r5lzgkbjapivajqymndl3yvdzp1x25n3imi4knxn";
+       version = "0.1.0.1";
+       sha256 = "1fsldpi4bglh875fc9blki3mlz14dal2j37651br1l587ky1v55w";
        setupHaskellDepends = [ base Cabal cuda directory filepath ];
        libraryHaskellDepends = [ base cuda half storable-complex ];
        libraryToolDepends = [ c2hs ];
@@ -55238,6 +56682,18 @@ self: {
        license = stdenv.lib.licenses.gpl2;
      }) {};
 
+  "cve" = callPackage
+    ({ mkDerivation, aeson, base, text }:
+     mkDerivation {
+       pname = "cve";
+       version = "0.1.0.0";
+       sha256 = "0ywwkwm3sfm8dx447512jm57pdy8sr29z6bvnd3q58h5prz3r2nm";
+       libraryHaskellDepends = [ aeson base text ];
+       homepage = "github.com/chessai/cve.git";
+       description = "simple and efficient cve datatype";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "cyclotomic" = callPackage
     ({ mkDerivation, arithmoi, base, containers, HUnit, QuickCheck
      , test-framework, test-framework-hunit, test-framework-quickcheck2
@@ -55254,7 +56710,6 @@ self: {
        ];
        description = "A subfield of the complex numbers for exact calculation";
        license = stdenv.lib.licenses.gpl3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "cypher" = callPackage
@@ -55292,6 +56747,20 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "czipwith_1_0_1_0" = callPackage
+    ({ mkDerivation, base, template-haskell, transformers }:
+     mkDerivation {
+       pname = "czipwith";
+       version = "1.0.1.0";
+       sha256 = "0s1gz76789w5grm121fikgrxz1hjca6v6dwmds5zg63j6iir3f0p";
+       libraryHaskellDepends = [ base template-haskell ];
+       testHaskellDepends = [ base transformers ];
+       homepage = "https://github.com/lspitzner/czipwith/";
+       description = "CZipWith class and deriving via TH";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "d-bus" = callPackage
     ({ mkDerivation, async, attoparsec, base, binary, blaze-builder
      , bytestring, conduit, conduit-extra, containers
@@ -55455,6 +56924,7 @@ self: {
        executableHaskellDepends = [ base optparse-applicative ];
        description = "Basic Slack bot framework";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "dao" = callPackage
@@ -55510,32 +56980,32 @@ self: {
 
   "darcs" = callPackage
     ({ mkDerivation, array, async, attoparsec, base, base16-bytestring
-     , binary, bytestring, cmdargs, containers, cryptohash, curl
+     , binary, bytestring, Cabal, cmdargs, containers, cryptohash, curl
      , data-ordlist, directory, fgl, filepath, FindBin, graphviz
      , hashable, haskeline, html, HTTP, HUnit, mmap, mtl, network
      , network-uri, old-time, parsec, process, QuickCheck, random
-     , regex-applicative, regex-compat-tdfa, sandi, shelly, split, tar
-     , terminfo, test-framework, test-framework-hunit
-     , test-framework-quickcheck2, text, time, transformers
-     , transformers-compat, unix, unix-compat, utf8-string, vector
-     , zip-archive, zlib
+     , regex-applicative, regex-compat-tdfa, sandi, shelly, split, stm
+     , tar, temporary, terminfo, test-framework, test-framework-hunit
+     , test-framework-quickcheck2, text, time, transformers, unix
+     , unix-compat, utf8-string, vector, zip-archive, zlib
      }:
      mkDerivation {
        pname = "darcs";
-       version = "2.12.5";
-       sha256 = "0lrm0sal5pl453mkqn8b9fc9l7lwinc140iqihya9g17bk408nrm";
+       version = "2.14.0";
+       sha256 = "00r8g27sgwlw5r8gx89q99n2hawcacfz1mjj0nmh6ps8l610iyhr";
        revision = "1";
-       editedCabalFile = "0if3ww0xhi8k5c8a9yb687gjjdp2k4q2896qn7vgwwzg360slx8n";
+       editedCabalFile = "0kxvr0rv5936x460k5ydyy85lgjhmrlkrm60zhbqkqks304abs1h";
        configureFlags = [ "-fforce-char8-encoding" "-flibrary" ];
        isLibrary = true;
        isExecutable = true;
+       setupHaskellDepends = [ base Cabal directory filepath process ];
        libraryHaskellDepends = [
          array async attoparsec base base16-bytestring binary bytestring
          containers cryptohash data-ordlist directory fgl filepath graphviz
          hashable haskeline html HTTP mmap mtl network network-uri old-time
-         parsec process random regex-applicative regex-compat-tdfa sandi tar
-         terminfo text time transformers transformers-compat unix
-         unix-compat utf8-string vector zip-archive zlib
+         parsec process random regex-applicative regex-compat-tdfa sandi stm
+         tar temporary terminfo text time transformers unix unix-compat
+         utf8-string vector zip-archive zlib
        ];
        librarySystemDepends = [ curl ];
        executableHaskellDepends = [ base ];
@@ -55551,7 +57021,7 @@ self: {
        '';
        homepage = "http://darcs.net/";
        description = "a distributed, interactive, smart revision control system";
-       license = "GPL";
+       license = stdenv.lib.licenses.gpl2;
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {inherit (pkgs) curl;};
 
@@ -55986,8 +57456,8 @@ self: {
      }:
      mkDerivation {
        pname = "data-accessor-template";
-       version = "0.2.1.14";
-       sha256 = "0r8vb3z40172jy17w131ydg5v1pvi121rgwxyq0cgxx0zwzhnvy4";
+       version = "0.2.1.15";
+       sha256 = "0vxs6d6xv2lsxz81msgh5l91pvxma9gif69csi23nxq2xxapyaw0";
        libraryHaskellDepends = [
          base data-accessor template-haskell utility-ht
        ];
@@ -56034,27 +57504,29 @@ self: {
      }) {};
 
   "data-basic" = callPackage
-    ({ mkDerivation, aeson, base, basic, binary, bytestring, cases
+    ({ mkDerivation, aeson, attoparsec, base, binary, bytestring, cases
      , containers, hssqlppp, lens, lens-aeson, mtl, overload
-     , postgresql-simple, simple-effects, string-conv, template-haskell
-     , text, time
+     , postgresql-simple, scientific, simple-effects, simple-logging
+     , string-conv, template-haskell, text, time
      }:
      mkDerivation {
        pname = "data-basic";
-       version = "0.2.0.3";
-       sha256 = "0xmc9cj22nw90c4l9ava7da14d2y3pvip81admgjx8cqgz93255k";
+       version = "0.3.0.0";
+       sha256 = "0ssixfnkgxd132pp6mlpgrkbwqbkrx5zn4ayd7br9ncjvpj2j0gr";
        libraryHaskellDepends = [
-         aeson base binary bytestring cases containers hssqlppp lens
-         lens-aeson mtl overload postgresql-simple simple-effects
-         string-conv template-haskell text time
+         aeson attoparsec base binary bytestring cases containers hssqlppp
+         lens lens-aeson mtl overload postgresql-simple scientific
+         simple-effects simple-logging string-conv template-haskell text
+         time
+       ];
+       testHaskellDepends = [
+         aeson base lens postgresql-simple string-conv time
        ];
-       testHaskellDepends = [ base basic lens postgresql-simple time ];
        homepage = "https://gitlab.com/haskell-hr/basic";
        description = "A database library with a focus on ease of use, type safety and useful error messages";
        license = stdenv.lib.licenses.mit;
        hydraPlatforms = stdenv.lib.platforms.none;
-       broken = true;
-     }) {basic = null;};
+     }) {};
 
   "data-binary-ieee754" = callPackage
     ({ mkDerivation, base, binary }:
@@ -56146,8 +57618,8 @@ self: {
     ({ mkDerivation, base, deepseq, QuickCheck }:
      mkDerivation {
        pname = "data-clist";
-       version = "0.1.2.0";
-       sha256 = "09hn47fa2y3gpbl6zdahi0qdn4m17kfg7bwc4ch6024kir73fg6f";
+       version = "0.1.2.1";
+       sha256 = "05l4gkb9k9p7cykx831n9w8i5yy6qffi4pip2y2l5xg2hvi8464s";
        libraryHaskellDepends = [ base deepseq QuickCheck ];
        homepage = "https://github.com/sw17ch/data-clist";
        description = "Simple functional ring type";
@@ -56455,14 +57927,33 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "data-diverse_3_1_0_0" = callPackage
+    ({ mkDerivation, base, containers, criterion, deepseq, ghc-prim
+     , hspec, tagged
+     }:
+     mkDerivation {
+       pname = "data-diverse";
+       version = "3.1.0.0";
+       sha256 = "0jg8g8zp8s14qalrmqa3faspg9kfifzdv0mi8a25xmqgi6rz64aq";
+       libraryHaskellDepends = [
+         base containers deepseq ghc-prim tagged
+       ];
+       testHaskellDepends = [ base hspec tagged ];
+       benchmarkHaskellDepends = [ base criterion ];
+       homepage = "https://github.com/louispan/data-diverse#readme";
+       description = "Extensible records and polymorphic variants";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "data-diverse-lens" = callPackage
     ({ mkDerivation, base, data-diverse, generic-lens, hspec, lens
      , profunctors, tagged
      }:
      mkDerivation {
        pname = "data-diverse-lens";
-       version = "1.0.0.1";
-       sha256 = "0ivrm1n2pbsj6hskgz56igna13d8zfj2n0iiqvmpba81kzwlg0x7";
+       version = "2.1.0.0";
+       sha256 = "1i71f67agjaflb1cz8v6qpfy1qfwwmw8fjq8zl6kqd28z4k0mms7";
        libraryHaskellDepends = [
          base data-diverse generic-lens lens profunctors tagged
        ];
@@ -56474,16 +57965,16 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "data-diverse-lens_2_1_0_0" = callPackage
-    ({ mkDerivation, base, data-diverse, generic-lens, hspec, lens
-     , profunctors, tagged
+  "data-diverse-lens_3_1_1_0" = callPackage
+    ({ mkDerivation, base, data-diverse, data-has, generic-lens, hspec
+     , lens, profunctors, tagged
      }:
      mkDerivation {
        pname = "data-diverse-lens";
-       version = "2.1.0.0";
-       sha256 = "1i71f67agjaflb1cz8v6qpfy1qfwwmw8fjq8zl6kqd28z4k0mms7";
+       version = "3.1.1.0";
+       sha256 = "1ynw9j8a92ny8327i0r037swsc3rj3723dnlar77x640849nif0p";
        libraryHaskellDepends = [
-         base data-diverse generic-lens lens profunctors tagged
+         base data-diverse data-has generic-lens lens profunctors tagged
        ];
        testHaskellDepends = [
          base data-diverse generic-lens hspec lens tagged
@@ -56747,7 +58238,6 @@ self: {
        homepage = "https://github.com/erisco/data-foldapp";
        description = "Fold function applications. Framework for variadic functions.";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "data-forest" = callPackage
@@ -56761,7 +58251,6 @@ self: {
        homepage = "https://github.com/chris-martin/data-forest";
        description = "A simple multi-way tree data structure";
        license = stdenv.lib.licenses.asl20;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "data-fresh" = callPackage
@@ -56848,18 +58337,17 @@ self: {
        ];
        description = "Interval datatype, interval arithmetic and interval-based containers";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "data-inttrie" = callPackage
     ({ mkDerivation, base }:
      mkDerivation {
        pname = "data-inttrie";
-       version = "0.1.2";
-       sha256 = "1y8xbwy1cdfrswlbr029hlyj3cbsfvayxh4kklsdzbrwgnnygnld";
+       version = "0.1.4";
+       sha256 = "0m5xww8zvsa0whxl89wndpbdz9p5n03q3h3a904nqrxh966psfkb";
        libraryHaskellDepends = [ base ];
-       homepage = "http://github.com/luqui/data-inttrie";
-       description = "A lazy, infinite trie of integers";
+       homepage = "https://github.com/luqui/data-inttrie";
+       description = "A simple lazy, infinite trie from integers";
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
@@ -56947,7 +58435,6 @@ self: {
        homepage = "http://github.com/roconnor/data-lens/";
        description = "Used to be Haskell 98 Lenses";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "data-lens-fd" = callPackage
@@ -56962,7 +58449,6 @@ self: {
        homepage = "http://github.com/roconnor/data-lens-fd/";
        description = "Lenses";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "data-lens-ixset" = callPackage
@@ -57026,7 +58512,6 @@ self: {
        homepage = "https://github.com/erisco/data-list-zigzag";
        description = "A list but with a balanced enumeration of Cartesian product";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "data-map-multikey" = callPackage
@@ -57362,8 +58847,8 @@ self: {
      }:
      mkDerivation {
        pname = "data-serializer";
-       version = "0.3.2";
-       sha256 = "055a4kqwg6cqx9a58i7m59jp70s4mmm2q73wa78jzp87lnh2646l";
+       version = "0.3.4";
+       sha256 = "1ijy8l5lxmm8wpzx4h2vh9q21zz66xgh979s32aa4b16l9m1b4z7";
        libraryHaskellDepends = [
          base binary bytestring cereal data-endian parsers semigroups split
        ];
@@ -57472,6 +58957,7 @@ self: {
        ];
        description = "An efficient implementation of maps from strings to arbitrary values";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "data-structure-inferrer" = callPackage
@@ -57566,8 +59052,8 @@ self: {
     ({ mkDerivation, base, containers, mtl }:
      mkDerivation {
        pname = "data-transform";
-       version = "0.1.0.1";
-       sha256 = "1ib6znjgcjz50z4saf70z7jg9qz132627vj3kv6r3jx6i9vyv2l6";
+       version = "0.1.0.2";
+       sha256 = "0r4j295b8688x88knbw19z6f4ggnpxgs7adpl1r00njjykdhdzac";
        libraryHaskellDepends = [ base containers mtl ];
        description = "Functions to transform data structures";
        license = stdenv.lib.licenses.bsd3;
@@ -57577,10 +59063,8 @@ self: {
     ({ mkDerivation, base, pretty, syb }:
      mkDerivation {
        pname = "data-tree-print";
-       version = "0.1.0.0";
-       sha256 = "0dymdf7bv98f0xkdm49yxdn5nlbp7ahrfsadx69wzy8si537fnk5";
-       revision = "1";
-       editedCabalFile = "0ilk496yh0fdw2qisappr91d1s4xwl6hqaf2bnv3l7ah4qv74436";
+       version = "0.1.0.1";
+       sha256 = "1zh1akyf8vvsqq39vrbn95v5md5in9fvzmz2jz79adh3w5wc5j6f";
        libraryHaskellDepends = [ base pretty syb ];
        homepage = "https://github.com/lspitzner/data-tree-print";
        description = "Print Data instances as a nested tree";
@@ -57675,8 +59159,8 @@ self: {
      }:
      mkDerivation {
        pname = "datadog";
-       version = "0.2.0.0";
-       sha256 = "0zk4dkd6q2rv0fbylp2fprizahfx2imczhrj08n0qd5h3mnck3c9";
+       version = "0.2.2.0";
+       sha256 = "0i399f5p9ch4bjmqchq890i6x5jd137pw5lz4v43k5qxlbxvc3s5";
        libraryHaskellDepends = [
          aeson auto-update base buffer-builder bytestring dlist http-client
          http-client-tls http-types lens lifted-base monad-control network
@@ -57708,6 +59192,35 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "datafix" = callPackage
+    ({ mkDerivation, base, Cabal, cabal-toolkit, containers, criterion
+     , deepseq, directory, doctest, filepath, ghc, ghc-paths, Glob
+     , lattices, pomaps, primitive, QuickCheck, tasty, tasty-hunit
+     , tasty-smallcheck, text, transformers, turtle, vector
+     }:
+     mkDerivation {
+       pname = "datafix";
+       version = "0.0.0.1";
+       sha256 = "0pdpqwdbc8hmwwq460yisbj4072x3jyh7gcrf1flm2545acgahvq";
+       setupHaskellDepends = [ base Cabal cabal-toolkit ];
+       libraryHaskellDepends = [
+         base containers lattices pomaps primitive transformers vector
+       ];
+       testHaskellDepends = [
+         base Cabal cabal-toolkit containers directory doctest filepath ghc
+         ghc-paths Glob lattices primitive QuickCheck tasty tasty-hunit
+         tasty-smallcheck text transformers turtle
+       ];
+       benchmarkHaskellDepends = [
+         base Cabal cabal-toolkit containers criterion deepseq directory
+         filepath ghc ghc-paths lattices primitive text transformers turtle
+       ];
+       homepage = "https://github.com/sgraf812/datafix";
+       description = "Fixing data-flow problems";
+       license = stdenv.lib.licenses.isc;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "dataflow" = callPackage
     ({ mkDerivation, aeson, base, blaze-html, bytestring, containers
      , filepath, gitrev, hastache, hspec, HUnit, markdown, MissingH, mtl
@@ -57785,8 +59298,8 @@ self: {
      }:
      mkDerivation {
        pname = "datarobot";
-       version = "0.1.1";
-       sha256 = "1dcr0jnd7wgxplzfgbkbv79civ80iqzlz2nvp3s6hv5zyzbf2pm9";
+       version = "1.0.1";
+       sha256 = "0arxjghmx50ci9hng6jmcm3jmx7c5k8vycn76d5paw6bjpd1n3mf";
        libraryHaskellDepends = [
          aeson base bytestring exceptions microlens network-uri safe
          scientific string-conversions text unordered-containers vector wreq
@@ -58146,6 +59659,36 @@ self: {
        license = stdenv.lib.licenses.gpl3;
      }) {};
 
+  "dbus_1_0_1" = callPackage
+    ({ mkDerivation, base, bytestring, cereal, containers, criterion
+     , deepseq, directory, extra, filepath, lens, libxml-sax, network
+     , parsec, process, QuickCheck, random, resourcet, split, tasty
+     , tasty-hunit, tasty-quickcheck, template-haskell, text, th-lift
+     , transformers, unix, vector, xml-types
+     }:
+     mkDerivation {
+       pname = "dbus";
+       version = "1.0.1";
+       sha256 = "1xg8wzs7xnh3455v3bbw9nd8inzr06n5939pzlq3nd4ajp3ba9d3";
+       libraryHaskellDepends = [
+         base bytestring cereal containers deepseq filepath lens libxml-sax
+         network parsec random split template-haskell text th-lift
+         transformers unix vector xml-types
+       ];
+       testHaskellDepends = [
+         base bytestring cereal containers directory extra filepath
+         libxml-sax network parsec process QuickCheck random resourcet tasty
+         tasty-hunit tasty-quickcheck text transformers unix vector
+         xml-types
+       ];
+       benchmarkHaskellDepends = [ base criterion ];
+       doCheck = false;
+       homepage = "https://github.com/rblaze/haskell-dbus#readme";
+       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
@@ -58182,6 +59725,24 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "dbus-hslogger" = callPackage
+    ({ mkDerivation, base, dbus, hslogger, optparse-applicative }:
+     mkDerivation {
+       pname = "dbus-hslogger";
+       version = "0.1.0.1";
+       sha256 = "0i2y69kagp53cmlb7p3y6ysr9k5wvfd0vcnpwsasyn1jpk6g80zi";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [ base dbus hslogger ];
+       executableHaskellDepends = [
+         base dbus hslogger optparse-applicative
+       ];
+       homepage = "https://github.com/IvanMalison/dbus-hslogger#readme";
+       description = "Expose a dbus server to control hslogger";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "dbus-qq" = callPackage
     ({ mkDerivation, base, containers, dbus, parsec, QuickCheck
      , template-haskell
@@ -58205,8 +59766,8 @@ self: {
      }:
      mkDerivation {
        pname = "dbus-th";
-       version = "0.1.2.0";
-       sha256 = "02a9xv5kgn9x95aqbqb6kg2snra6nw55mq1jssv8cmr1wy50nmjq";
+       version = "0.1.3.0";
+       sha256 = "0b1ansjk6j7fzfi2s26dqvka7s85bflw7cl665vplm1sq0is2a0j";
        libraryHaskellDepends = [
          base containers dbus syb template-haskell text
        ];
@@ -58220,8 +59781,8 @@ self: {
      }:
      mkDerivation {
        pname = "dbus-th-introspection";
-       version = "0.1.0.2";
-       sha256 = "1f6lv7jag9mbl8lkk9m4fnggfhbc301g142adk533sx6pwm6zn8x";
+       version = "0.1.2.0";
+       sha256 = "1d8hqra3sfpvscc3jpgcyllq3gaha24jj0n4y17y4wkhz437ni4f";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -58609,19 +60170,31 @@ self: {
      }) {};
 
   "dde" = callPackage
-    ({ mkDerivation, base, vector }:
+    ({ mkDerivation, base, criterion, free-vector-spaces, lens, linear
+     , vector
+     }:
      mkDerivation {
        pname = "dde";
-       version = "0.0.1";
-       sha256 = "1mv3i56l3al386g6jr1dpkjx0mwpq25maqkw7zv8qdnshkg1x33f";
+       version = "0.2.0";
+       sha256 = "0c0mhyvipn7g1sfjgw8r0qybzcvxm3lzmr1ips2xbr8vv2mxmpm4";
        isLibrary = true;
        isExecutable = true;
-       libraryHaskellDepends = [ base vector ];
-       executableHaskellDepends = [ base vector ];
-       testHaskellDepends = [ base vector ];
+       libraryHaskellDepends = [
+         base free-vector-spaces lens linear vector
+       ];
+       executableHaskellDepends = [
+         base free-vector-spaces lens linear vector
+       ];
+       testHaskellDepends = [
+         base free-vector-spaces lens linear vector
+       ];
+       benchmarkHaskellDepends = [
+         base criterion free-vector-spaces lens linear vector
+       ];
        homepage = "https://github.com/masterdezign/dde#readme";
        description = "Delay differential equations";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "dead-code-detection" = callPackage
@@ -58716,8 +60289,8 @@ self: {
      }:
      mkDerivation {
        pname = "debian-build";
-       version = "0.10.1.0";
-       sha256 = "1d4h3r0v82fwiwazvcgrbv9f7nslbgw94hbsyyibsiikwpg36454";
+       version = "0.10.1.1";
+       sha256 = "0dv5fs0kp8qmrldly6cj0fkvab7infplii0ay23p1pbx6qjakrnk";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -58730,44 +60303,24 @@ self: {
      }) {};
 
   "debug" = callPackage
-    ({ mkDerivation, ansi-wl-pprint, base, containers, directory, extra
-     , ghc-prim, js-jquery, open-browser, template-haskell, uniplate
-     }:
-     mkDerivation {
-       pname = "debug";
-       version = "0.0.2";
-       sha256 = "13dx8fqyczba1qldl0nk5i8c1hxsqi5497dylkjyzjmxphs6fi53";
-       enableSeparateDataOutput = true;
-       libraryHaskellDepends = [
-         ansi-wl-pprint base containers directory extra ghc-prim js-jquery
-         open-browser template-haskell uniplate
-       ];
-       testHaskellDepends = [ base extra ];
-       homepage = "https://github.com/ndmitchell/debug";
-       description = "Simple trace-based debugger";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "debug_0_1" = callPackage
     ({ mkDerivation, aeson, base, bytestring, clock, containers
      , deepseq, directory, extra, filepath, ghc-prim, hashable, Hoed
-     , js-jquery, libgraph, monoidal-containers, open-browser
-     , prettyprinter, prettyprinter-compat-ansi-wl-pprint
-     , template-haskell, text, uniplate, unordered-containers, vector
-     , yaml
+     , libgraph, open-browser, prettyprinter
+     , prettyprinter-compat-ansi-wl-pprint, template-haskell, text
+     , uniplate, unordered-containers, vector, yaml
      }:
      mkDerivation {
        pname = "debug";
-       version = "0.1";
-       sha256 = "05wnaz5p5szba0r6sqz5c0db63wpscmip635v1x35nv3crb2j1r0";
+       version = "0.1.1";
+       sha256 = "0j4jskz8zq2ww81mfarshi5g2m6xfivgl26grkhcacqq6k3483rk";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          aeson base bytestring clock containers deepseq directory extra
-         ghc-prim hashable Hoed js-jquery libgraph monoidal-containers
-         open-browser prettyprinter prettyprinter-compat-ansi-wl-pprint
-         template-haskell text uniplate unordered-containers vector
+         ghc-prim hashable Hoed libgraph open-browser prettyprinter
+         prettyprinter-compat-ansi-wl-pprint template-haskell text uniplate
+         unordered-containers vector
        ];
        executableHaskellDepends = [ aeson base directory filepath yaml ];
        testHaskellDepends = [
@@ -58925,8 +60478,8 @@ self: {
      }:
      mkDerivation {
        pname = "declarative";
-       version = "0.5.1";
-       sha256 = "0966yk9ihl2xawr8xiymz6yp0z6py7dq94ii7zd845klgq393maf";
+       version = "0.5.2";
+       sha256 = "014spawd3wgasrlfaz0zcz0qf1cnhr9nxm71lzcxjgi8n1gcza0y";
        libraryHaskellDepends = [
          base hasty-hamiltonian kan-extensions lens mcmc-types
          mighty-metropolis mwc-probability pipes primitive speedy-slice
@@ -59101,8 +60654,8 @@ self: {
        pname = "deepseq-generics";
        version = "0.2.0.0";
        sha256 = "17bwghc15mc9pchfd1w46jh2p3wzc86aj6a537wqwxn08rayzcxh";
-       revision = "1";
-       editedCabalFile = "055m914q7a19jagpxh65d8m67z1nl0h7cz77y1r0zp1qmpkisg82";
+       revision = "2";
+       editedCabalFile = "1pnidf8w8x0w5fsqgv8hhrw07slmhxwy5x4fikgk0bd6k76aqicb";
        libraryHaskellDepends = [ base deepseq ghc-prim ];
        testHaskellDepends = [
          base deepseq ghc-prim HUnit test-framework test-framework-hunit
@@ -59162,6 +60715,18 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "deferred-folds" = callPackage
+    ({ mkDerivation, base, foldl }:
+     mkDerivation {
+       pname = "deferred-folds";
+       version = "0.4.0.1";
+       sha256 = "1n2wr03bqpp2yfm1jl54b3xrq4q2dwdj0ijssk8hbk3mzr4pac00";
+       libraryHaskellDepends = [ base foldl ];
+       homepage = "https://github.com/metrix-ai/deferred-folds";
+       description = "Abstractions over deferred folds";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "definitive-base" = callPackage
     ({ mkDerivation, array, base, bytestring, containers, deepseq
      , ghc-prim, GLURaw, OpenGL, OpenGLRaw, primitive, vector
@@ -59304,32 +60869,32 @@ self: {
 
   "dejafu" = callPackage
     ({ mkDerivation, base, concurrency, containers, deepseq, exceptions
-     , leancheck, random, ref-fd, transformers, transformers-base
+     , leancheck, profunctors, random, ref-fd, transformers
      }:
      mkDerivation {
        pname = "dejafu";
-       version = "0.9.1.2";
-       sha256 = "1cxskfl2wg3m9hja97yc0sjghskhs442l2jqwcynlhjr308g84as";
+       version = "1.3.2.0";
+       sha256 = "1gxwfyyinr1bkab3p4s7swb0d15a4a4d27xwy7ci0nmwgqgb6lf9";
        libraryHaskellDepends = [
-         base concurrency containers deepseq exceptions leancheck random
-         ref-fd transformers transformers-base
+         base concurrency containers deepseq exceptions leancheck
+         profunctors random ref-fd transformers
        ];
        homepage = "https://github.com/barrucadu/dejafu";
-       description = "Systematic testing for Haskell concurrency";
+       description = "A library for unit-testing concurrent programs";
        license = stdenv.lib.licenses.mit;
      }) {};
 
-  "dejafu_1_1_0_2" = callPackage
-    ({ mkDerivation, base, concurrency, containers, deepseq, exceptions
-     , leancheck, profunctors, random, ref-fd, transformers
+  "dejafu_1_5_1_0" = callPackage
+    ({ mkDerivation, base, concurrency, containers, contravariant
+     , deepseq, exceptions, leancheck, profunctors, random, transformers
      }:
      mkDerivation {
        pname = "dejafu";
-       version = "1.1.0.2";
-       sha256 = "11gkiy3dh7a9qjg53zilmll0hk61bq68j76s7b31ylwadv437jcm";
+       version = "1.5.1.0";
+       sha256 = "0whxbn6h5k7n38w0wzm5iwqc20yyvzri88zsp3hhp8pdfj34df7d";
        libraryHaskellDepends = [
-         base concurrency containers deepseq exceptions leancheck
-         profunctors random ref-fd transformers
+         base concurrency containers contravariant deepseq exceptions
+         leancheck profunctors random transformers
        ];
        homepage = "https://github.com/barrucadu/dejafu";
        description = "A library for unit-testing concurrent programs";
@@ -59567,18 +61132,18 @@ self: {
      }) {};
 
   "dependency" = callPackage
-    ({ mkDerivation, ansi-wl-pprint, base, binary, containers
-     , criterion, deepseq, hspec, microlens, recursion-schemes, tardis
-     , transformers
+    ({ mkDerivation, ansi-wl-pprint, base, binary, containers, cpphs
+     , criterion, deepseq, hspec, lens, recursion-schemes, transformers
      }:
      mkDerivation {
        pname = "dependency";
-       version = "0.1.0.9";
-       sha256 = "02xlq32xpww584ng5wzzlxmh8d15dqc342mlnfiysh2lfdwqydzk";
+       version = "1.0.0.0";
+       sha256 = "08n38sqcnljja235cv4xlvfmir7cbcmb53rayc81nl3km292hr8i";
        libraryHaskellDepends = [
-         ansi-wl-pprint base binary containers deepseq microlens
-         recursion-schemes tardis transformers
+         ansi-wl-pprint base binary containers deepseq lens
+         recursion-schemes transformers
        ];
+       libraryToolDepends = [ cpphs ];
        testHaskellDepends = [ base containers hspec ];
        benchmarkHaskellDepends = [ base containers criterion ];
        description = "Dependency resolution for package management";
@@ -59684,8 +61249,8 @@ self: {
     ({ mkDerivation, base }:
      mkDerivation {
        pname = "deque";
-       version = "0.2";
-       sha256 = "0miy1m3lmifrmlsnnmx6djcwq5nb4ar951f2i1bb6n1c94i8sxl6";
+       version = "0.2.1";
+       sha256 = "0r1jabz5jamm79nrbwjnajzzn77fkhqbjfnmkahg293761z1k781";
        libraryHaskellDepends = [ base ];
        homepage = "https://github.com/nikita-volkov/deque";
        description = "Double-ended queue";
@@ -59751,6 +61316,7 @@ self: {
        homepage = "https://github.com/ndmitchell/derive#readme";
        description = "A program and library to derive instances for data types";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "derive-IG" = callPackage
@@ -59823,6 +61389,8 @@ self: {
        pname = "derive-storable";
        version = "0.1.1.1";
        sha256 = "0rb60s5wznlqqq2s8l2wrvbgzalk719x550h321vf1xx6ck6g8g2";
+       revision = "1";
+       editedCabalFile = "1rf8k42k35lq7rq4g506s06cn3fn94m39934gn0mcbznbqhmvd8v";
        libraryHaskellDepends = [ base ];
        testHaskellDepends = [ base hspec QuickCheck ];
        homepage = "https://www.github.com/mkloczko/derive-storable/";
@@ -59836,8 +61404,8 @@ self: {
      }:
      mkDerivation {
        pname = "derive-storable-plugin";
-       version = "0.2.0.0";
-       sha256 = "1s0pm6crwbp3j4dfv5mf3lr75l0cvzy019968gbi4hml8v9wd6iw";
+       version = "0.2.1.0";
+       sha256 = "1138pkkzkzj4vmh6cnc152fhf50mirys0c9nvyd4n5xi5227rihi";
        libraryHaskellDepends = [ base derive-storable ghc ghci ];
        testHaskellDepends = [
          base derive-storable ghc ghc-paths ghci hspec QuickCheck
@@ -59888,28 +61456,6 @@ self: {
 
   "deriving-compat" = callPackage
     ({ mkDerivation, base, base-compat, base-orphans, containers
-     , ghc-boot-th, ghc-prim, hspec, QuickCheck, tagged
-     , template-haskell, transformers, transformers-compat
-     }:
-     mkDerivation {
-       pname = "deriving-compat";
-       version = "0.3.6";
-       sha256 = "0v9m76hjrlrcbyawdp04y1vv0p867h3jhy00xjxgmqq5cm0sn7qc";
-       libraryHaskellDepends = [
-         base containers ghc-boot-th ghc-prim template-haskell transformers
-         transformers-compat
-       ];
-       testHaskellDepends = [
-         base base-compat base-orphans hspec QuickCheck tagged
-         template-haskell transformers transformers-compat
-       ];
-       homepage = "https://github.com/haskell-compat/deriving-compat";
-       description = "Backports of GHC deriving extensions";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "deriving-compat_0_4_1" = callPackage
-    ({ mkDerivation, base, base-compat, base-orphans, containers
      , ghc-boot-th, ghc-prim, hspec, hspec-discover, QuickCheck, tagged
      , template-haskell, th-abstraction, transformers
      , transformers-compat
@@ -59932,7 +61478,6 @@ self: {
        homepage = "https://github.com/haskell-compat/deriving-compat";
        description = "Backports of GHC deriving extensions";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "derp" = callPackage
@@ -59963,8 +61508,8 @@ self: {
     ({ mkDerivation, base, doctest }:
      mkDerivation {
        pname = "derulo";
-       version = "1.0.0";
-       sha256 = "0ylfaj73yv9bzp1sygbhcipji2g9jws2r4alvhns1y7wzl74fgbz";
+       version = "1.0.1";
+       sha256 = "0y5rm5gg53siax0q43z79a0b95fkq5plk91qz658ihxmjd2fbv67";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base ];
@@ -60118,6 +61663,26 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "df1" = callPackage
+    ({ mkDerivation, attoparsec, base, bytestring, containers
+     , QuickCheck, tasty, tasty-quickcheck, text, time
+     }:
+     mkDerivation {
+       pname = "df1";
+       version = "0.1.1";
+       sha256 = "1qrgf823bf33g6vvilg9q4v1avdwh0iprf26qypzjsbzykbhj91n";
+       libraryHaskellDepends = [
+         attoparsec base bytestring containers text time
+       ];
+       testHaskellDepends = [
+         attoparsec base bytestring QuickCheck tasty tasty-quickcheck text
+         time
+       ];
+       homepage = "https://github.com/k0001/di";
+       description = "Type, render and parse the df1 hierarchical structured log format";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "dfrac" = callPackage
     ({ mkDerivation, base, scientific }:
      mkDerivation {
@@ -60177,42 +61742,11 @@ self: {
      }) {};
 
   "dhall" = callPackage
-    ({ mkDerivation, ansi-wl-pprint, base, base16-bytestring
-     , bytestring, case-insensitive, charset, containers, contravariant
-     , cryptohash, exceptions, http-client, http-client-tls, lens
-     , optparse-generic, parsers, prettyprinter, system-fileio
-     , system-filepath, tasty, tasty-hunit, text, text-format
-     , transformers, trifecta, unordered-containers, vector
-     }:
-     mkDerivation {
-       pname = "dhall";
-       version = "1.8.2";
-       sha256 = "1llr12rwnd39xs51faxxvrf9n9scwsz3j2ywqdfsrr3hiasq80aj";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         ansi-wl-pprint base base16-bytestring bytestring case-insensitive
-         charset containers contravariant cryptohash exceptions http-client
-         http-client-tls lens parsers prettyprinter system-fileio
-         system-filepath text text-format transformers trifecta
-         unordered-containers vector
-       ];
-       executableHaskellDepends = [
-         base optparse-generic prettyprinter system-filepath text trifecta
-       ];
-       testHaskellDepends = [
-         base containers tasty tasty-hunit text vector
-       ];
-       description = "A configuration language guaranteed to terminate";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "dhall_1_10_0" = callPackage
     ({ mkDerivation, ansi-terminal, ansi-wl-pprint, base
      , base16-bytestring, bytestring, case-insensitive, containers
-     , contravariant, cryptohash, deepseq, directory, exceptions
+     , contravariant, cryptonite, deepseq, directory, exceptions
      , filepath, haskeline, http-client, http-client-tls
-     , insert-ordered-containers, lens-family-core, mtl
+     , insert-ordered-containers, lens-family-core, memory, mtl
      , optparse-generic, parsers, prettyprinter
      , prettyprinter-ansi-terminal, repline, scientific, tasty
      , tasty-hunit, text, text-format, transformers, trifecta
@@ -60220,17 +61754,17 @@ self: {
      }:
      mkDerivation {
        pname = "dhall";
-       version = "1.10.0";
-       sha256 = "1z9z9f0qw0p7nywpgamkgfz3h3ikhkshrphsviz94vwhnrflq1wf";
+       version = "1.11.1";
+       sha256 = "1vaggm5i89yry8z6xyx8852d91nmcdlmf527bnps37fmgrkvhga4";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          ansi-wl-pprint base base16-bytestring bytestring case-insensitive
-         containers contravariant cryptohash directory exceptions filepath
+         containers contravariant cryptonite directory exceptions filepath
          http-client http-client-tls insert-ordered-containers
-         lens-family-core parsers prettyprinter prettyprinter-ansi-terminal
-         scientific text text-format transformers trifecta
-         unordered-containers vector
+         lens-family-core memory parsers prettyprinter
+         prettyprinter-ansi-terminal scientific text text-format
+         transformers trifecta unordered-containers vector
        ];
        executableHaskellDepends = [
          ansi-terminal base haskeline mtl optparse-generic prettyprinter
@@ -60242,48 +61776,64 @@ self: {
        ];
        description = "A configuration language guaranteed to terminate";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
-  "dhall-bash" = callPackage
-    ({ mkDerivation, base, bytestring, containers, dhall
-     , neat-interpolation, optparse-generic, shell-escape, text
-     , text-format, trifecta, vector
+  "dhall_1_13_1" = callPackage
+    ({ mkDerivation, ansi-terminal, base, bytestring, case-insensitive
+     , containers, contravariant, cryptonite, deepseq, directory
+     , exceptions, filepath, formatting, haskeline, http-client
+     , http-client-tls, insert-ordered-containers, lens-family-core
+     , megaparsec, memory, mtl, optparse-applicative, parsers
+     , prettyprinter, prettyprinter-ansi-terminal, repline, scientific
+     , tasty, tasty-hunit, text, transformers, unordered-containers
+     , vector
      }:
      mkDerivation {
-       pname = "dhall-bash";
-       version = "1.0.6";
-       sha256 = "1wjwjpprvd90dpmxij5zj1gr5x41bvzmr4qwyfhxd2am6bzg5n5d";
+       pname = "dhall";
+       version = "1.13.1";
+       sha256 = "1mjhxkdpw7blcdci6cmm3x2c9ascp7djc8c77dblfpzyqa3sqxf0";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         base bytestring containers dhall neat-interpolation shell-escape
-         text text-format vector
+         ansi-terminal base bytestring case-insensitive containers
+         contravariant cryptonite directory exceptions filepath formatting
+         http-client http-client-tls insert-ordered-containers
+         lens-family-core megaparsec memory parsers prettyprinter
+         prettyprinter-ansi-terminal scientific text transformers
+         unordered-containers vector
        ];
        executableHaskellDepends = [
-         base bytestring dhall optparse-generic text trifecta
+         ansi-terminal base haskeline megaparsec mtl optparse-applicative
+         prettyprinter prettyprinter-ansi-terminal repline text
        ];
-       description = "Compile Dhall to Bash";
+       testHaskellDepends = [
+         base deepseq insert-ordered-containers prettyprinter tasty
+         tasty-hunit text vector
+       ];
+       description = "A configuration language guaranteed to terminate";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
-  "dhall-bash_1_0_9" = callPackage
-    ({ mkDerivation, base, bytestring, containers, dhall
+  "dhall-bash" = callPackage
+    ({ mkDerivation, base, bytestring, containers, dhall, formatting
      , insert-ordered-containers, neat-interpolation, optparse-generic
-     , shell-escape, text, text-format, trifecta, vector
+     , shell-escape, text
      }:
      mkDerivation {
        pname = "dhall-bash";
-       version = "1.0.9";
-       sha256 = "1knnljzh7gccma1xbj3ahrj6cyqfp7lisiv51nnwpxizb7vdfnx0";
+       version = "1.0.12";
+       sha256 = "1q9bwcdxyn2f7zp6r67k3kxqydj54shf0v0liyps7g7c9fixzrij";
+       revision = "1";
+       editedCabalFile = "12qklhw4jk2i1qiq9wyv23d6bl3yyqyjwf8dda649clby2my0hrc";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         base bytestring containers dhall insert-ordered-containers
-         neat-interpolation shell-escape text text-format vector
+         base bytestring containers dhall formatting
+         insert-ordered-containers neat-interpolation shell-escape text
        ];
        executableHaskellDepends = [
-         base bytestring dhall optparse-generic text trifecta
+         base bytestring dhall optparse-generic text
        ];
        description = "Compile Dhall to Bash";
        license = stdenv.lib.licenses.bsd3;
@@ -60311,82 +61861,83 @@ self: {
 
   "dhall-json" = callPackage
     ({ mkDerivation, aeson, aeson-pretty, base, bytestring, dhall
-     , optparse-generic, text, trifecta, vector, yaml
+     , optparse-generic, text, trifecta, unordered-containers, yaml
      }:
      mkDerivation {
        pname = "dhall-json";
-       version = "1.0.9";
-       sha256 = "0xxgvsv8maccf81mdip1jnw4y3jlpnjhhxvyp4d3ph0xnng7z9l6";
+       version = "1.0.13";
+       sha256 = "03spz9csxgamj970ha9l5swcpbkrvzbjy9w028c1kswzs806699s";
        isLibrary = true;
        isExecutable = true;
-       libraryHaskellDepends = [ aeson base dhall text vector ];
+       libraryHaskellDepends = [
+         aeson base bytestring dhall text trifecta unordered-containers
+       ];
        executableHaskellDepends = [
-         aeson aeson-pretty base bytestring dhall optparse-generic text
-         trifecta yaml
+         aeson aeson-pretty base bytestring dhall optparse-generic text yaml
        ];
        description = "Compile Dhall to JSON or YAML";
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "dhall-json_1_0_11" = callPackage
+  "dhall-json_1_1_0" = callPackage
     ({ mkDerivation, aeson, aeson-pretty, base, bytestring, dhall
-     , optparse-generic, text, trifecta, vector, yaml
+     , optparse-generic, text, unordered-containers, yaml
      }:
      mkDerivation {
        pname = "dhall-json";
-       version = "1.0.11";
-       sha256 = "14jkf3j9iwnhkyz4wl6lvvci8ad21s20rk9kr7hr3fcmzv39alwf";
+       version = "1.1.0";
+       sha256 = "13fan1zdgj8zdv1br5vj57iqbfb5grllk8a2xkz6yyfk8kylmrc7";
+       revision = "1";
+       editedCabalFile = "0k8q44hfhd95k7i92g1zvsw9ys1ak6vl663r2v7pf6k1zl70cyhs";
        isLibrary = true;
        isExecutable = true;
-       libraryHaskellDepends = [ aeson base dhall text vector ];
+       libraryHaskellDepends = [
+         aeson base dhall text unordered-containers
+       ];
        executableHaskellDepends = [
-         aeson aeson-pretty base bytestring dhall optparse-generic text
-         trifecta yaml
+         aeson aeson-pretty base bytestring dhall optparse-generic text yaml
        ];
        description = "Compile Dhall to JSON or YAML";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
-  "dhall-nix" = callPackage
-    ({ mkDerivation, base, containers, data-fix, dhall, hnix
-     , neat-interpolation, optparse-generic, text, text-format, trifecta
-     , vector
+  "dhall-lex" = callPackage
+    ({ mkDerivation, alex, array, base, bytestring, criterion, deepseq
+     , hspec, hspec-dirstream, scientific
      }:
      mkDerivation {
-       pname = "dhall-nix";
-       version = "1.0.9";
-       sha256 = "06njwk2mmn8virrzd7q1bw91rwagcczkjn21kjhbajn6gzl77dry";
-       isLibrary = true;
-       isExecutable = true;
+       pname = "dhall-lex";
+       version = "0.2.0.0";
+       sha256 = "0yxffkmpkab7apvxj5i8a3x233smb5wps5j39h38d91v6kqf5yy2";
+       enableSeparateDataOutput = true;
        libraryHaskellDepends = [
-         base containers data-fix dhall hnix neat-interpolation text
-         text-format vector
+         array base bytestring deepseq scientific
        ];
-       executableHaskellDepends = [
-         base dhall hnix optparse-generic text trifecta
-       ];
-       description = "Dhall to Nix compiler";
+       libraryToolDepends = [ alex ];
+       testHaskellDepends = [ base bytestring hspec hspec-dirstream ];
+       benchmarkHaskellDepends = [ base bytestring criterion ];
+       description = "Lexer for the Dhall language";
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "dhall-nix_1_1_0" = callPackage
-    ({ mkDerivation, base, containers, data-fix, dhall, hnix
-     , insert-ordered-containers, neat-interpolation, optparse-generic
-     , scientific, text, text-format, trifecta, vector
+  "dhall-nix" = callPackage
+    ({ mkDerivation, base, containers, data-fix, dhall, formatting
+     , hnix, insert-ordered-containers, neat-interpolation
+     , optparse-generic, scientific, text
      }:
      mkDerivation {
        pname = "dhall-nix";
-       version = "1.1.0";
-       sha256 = "0g2wyr79krbfdv1z6c8w78kz3w1y0jbx8778qgxbjp70inkwq5gl";
+       version = "1.1.3";
+       sha256 = "0dpkg84qzviasadgif30ivbg6k7azqq9ki8grd3g93zbrdxgv4fj";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         base containers data-fix dhall hnix insert-ordered-containers
-         neat-interpolation scientific text text-format vector
+         base containers data-fix dhall formatting hnix
+         insert-ordered-containers neat-interpolation scientific text
        ];
        executableHaskellDepends = [
-         base dhall hnix optparse-generic text trifecta
+         base dhall hnix optparse-generic text
        ];
        description = "Dhall to Nix compiler";
        license = stdenv.lib.licenses.bsd3;
@@ -60397,8 +61948,8 @@ self: {
     ({ mkDerivation, base, dhall, optparse-generic, text }:
      mkDerivation {
        pname = "dhall-text";
-       version = "1.0.5";
-       sha256 = "195nfflpk787m8jjmspw2x4rb2s7vd0z5wz5s0bzfwdl6c7xgg27";
+       version = "1.0.9";
+       sha256 = "0jh2nm26i5gdicsxzvx54rmx7x1g5mpjiwd7c5wfj6pmrpcp606r";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [ base dhall optparse-generic text ];
@@ -60406,17 +61957,32 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "dhall-text_1_0_6" = callPackage
-    ({ mkDerivation, base, dhall, optparse-generic, text }:
+  "dhall-to-cabal" = callPackage
+    ({ mkDerivation, base, bytestring, Cabal, containers, contravariant
+     , dhall, Diff, filepath, formatting, hashable
+     , insert-ordered-containers, optparse-applicative, prettyprinter
+     , tasty, tasty-golden, text, transformers, trifecta, vector
+     }:
      mkDerivation {
-       pname = "dhall-text";
-       version = "1.0.6";
-       sha256 = "0r08x1s75qsfmn6gnfm0ikh80cq3dbgj7bp4jb8f5pz7p2azh72v";
-       isLibrary = false;
+       pname = "dhall-to-cabal";
+       version = "1.0.0.1";
+       sha256 = "0qs00xhsk09azm7sqfihnwmapilmkybmcim1wzlw3h6y4jj6nmq9";
+       isLibrary = true;
        isExecutable = true;
-       executableHaskellDepends = [ base dhall optparse-generic text ];
-       description = "Template text using Dhall";
-       license = stdenv.lib.licenses.bsd3;
+       libraryHaskellDepends = [
+         base bytestring Cabal containers dhall formatting hashable
+         insert-ordered-containers text transformers trifecta vector
+       ];
+       executableHaskellDepends = [
+         base Cabal contravariant dhall hashable insert-ordered-containers
+         optparse-applicative prettyprinter text
+       ];
+       testHaskellDepends = [
+         base bytestring Cabal Diff filepath tasty tasty-golden text
+       ];
+       homepage = "https://github.com/ocharles/dhall-to-cabal";
+       description = "Compile Dhall expressions to Cabal files";
+       license = stdenv.lib.licenses.mit;
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
@@ -60441,19 +62007,86 @@ self: {
      }) {};
 
   "di" = callPackage
-    ({ mkDerivation, base, bytestring, QuickCheck, stm, tasty
-     , tasty-hunit, tasty-quickcheck, time, transformers
+    ({ mkDerivation, base, df1, di-core, di-df1, di-handle, di-monad
+     , exceptions
      }:
      mkDerivation {
        pname = "di";
-       version = "0.2";
-       sha256 = "1vmhd8zph5ai13n2cfrjaxcdifwqv7wiggqbfi5ifhancxwlfq7p";
-       libraryHaskellDepends = [ base stm time transformers ];
+       version = "1.0.1";
+       sha256 = "0h7c6s18vj60higi23icjsf1ky756l553v3a18bdkf4dgcxfs4r9";
+       libraryHaskellDepends = [
+         base df1 di-core di-df1 di-handle di-monad exceptions
+       ];
+       homepage = "https://github.com/k0001/di";
+       description = "Typeful hierarchical structured logging using di, mtl and df1";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "di-core" = callPackage
+    ({ mkDerivation, base, containers, exceptions, QuickCheck, stm
+     , tasty, tasty-hunit, tasty-quickcheck, time
+     }:
+     mkDerivation {
+       pname = "di-core";
+       version = "1.0";
+       sha256 = "0slggv1c2q8amznf0j38x12v0f4lhg7z7mr0qaayj6v6pkpp5s6j";
+       libraryHaskellDepends = [ base containers exceptions stm time ];
        testHaskellDepends = [
-         base bytestring QuickCheck stm tasty tasty-hunit tasty-quickcheck
+         base exceptions QuickCheck stm tasty tasty-hunit tasty-quickcheck
+         time
        ];
        homepage = "https://github.com/k0001/di";
-       description = "Easy, powerful, structured and typeful logging without monad towers";
+       description = "Typeful hierarchical structured logging without monad towers";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "di-df1" = callPackage
+    ({ mkDerivation, base, bytestring, df1, di-core, di-handle
+     , di-monad, QuickCheck, stm, tasty, tasty-quickcheck, text, time
+     }:
+     mkDerivation {
+       pname = "di-df1";
+       version = "1.0.2";
+       sha256 = "1imk26njmr7hj56227yxgshjh4dicgr2c9bpc2m9nvsw2qbqslfh";
+       libraryHaskellDepends = [
+         base df1 di-core di-handle di-monad stm
+       ];
+       testHaskellDepends = [
+         base bytestring df1 di-core QuickCheck tasty tasty-quickcheck text
+         time
+       ];
+       homepage = "https://github.com/k0001/di";
+       description = "Write logs in the df1 format using the di logging framework";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "di-handle" = callPackage
+    ({ mkDerivation, base, bytestring, di-core, exceptions, unix }:
+     mkDerivation {
+       pname = "di-handle";
+       version = "1.0";
+       sha256 = "1v4jn1dvvfa6nbqx34hhjg47lbjafkmdps8aalq3n5sah99iy26d";
+       libraryHaskellDepends = [
+         base bytestring di-core exceptions unix
+       ];
+       homepage = "https://github.com/k0001/di";
+       description = "IO support for file handles in di-core";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "di-monad" = callPackage
+    ({ mkDerivation, base, containers, di-core, exceptions, mtl, pipes
+     , stm, transformers
+     }:
+     mkDerivation {
+       pname = "di-monad";
+       version = "1.0.2";
+       sha256 = "1s2f2rvchfc6ha8w75rcz5w9706vf9zmxgrimav211vph3hpjkdq";
+       libraryHaskellDepends = [
+         base containers di-core exceptions mtl pipes stm transformers
+       ];
+       homepage = "https://github.com/k0001/di";
+       description = "mtl flavoured typeful hierarchical structured logging for di-core";
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
@@ -60502,6 +62135,7 @@ self: {
        homepage = "http://projects.haskell.org/diagrams";
        description = "Embedded domain-specific language for declarative vector graphics";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "diagrams-boolean" = callPackage
@@ -60518,6 +62152,33 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "diagrams-braille" = callPackage
+    ({ mkDerivation, base, containers, diagrams-core, diagrams-lib
+     , diagrams-rasterific, filepath, hashable, JuicyPixels, lens, mtl
+     , optparse-applicative, Rasterific, time
+     }:
+     mkDerivation {
+       pname = "diagrams-braille";
+       version = "0.1.0.1";
+       sha256 = "11xq2mx4mmg12cyhs2r7brjn00jy7rh7rwh15gr7piynmx723xhl";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base containers diagrams-core diagrams-lib diagrams-rasterific
+         filepath hashable JuicyPixels lens mtl optparse-applicative
+         Rasterific time
+       ];
+       executableHaskellDepends = [
+         base containers diagrams-core diagrams-lib diagrams-rasterific
+         filepath hashable JuicyPixels lens mtl optparse-applicative
+         Rasterific time
+       ];
+       homepage = "https://github.com/mlang/diagrams-braille#readme";
+       description = "Braille diagrams with plain text";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "diagrams-builder" = callPackage
     ({ mkDerivation, base, base-orphans, bytestring, cmdargs
      , diagrams-cairo, diagrams-lib, diagrams-postscript
@@ -60569,6 +62230,7 @@ self: {
        homepage = "http://projects.haskell.org/diagrams";
        description = "Cairo backend for diagrams drawing EDSL";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "diagrams-canvas" = callPackage
@@ -60603,35 +62265,6 @@ self: {
      }:
      mkDerivation {
        pname = "diagrams-contrib";
-       version = "1.4.1";
-       sha256 = "1apbgicaq7qaij42hwh5aiy67si2fjd0m4lah1hw4vz0cqfxxs2v";
-       revision = "1";
-       editedCabalFile = "0143vrfnb5qp3m23nvh5h67b2wvkq8y27yn6jjq601cs95f3b41c";
-       libraryHaskellDepends = [
-         base circle-packing colour containers cubicbezier data-default
-         data-default-class diagrams-core diagrams-lib diagrams-solve
-         force-layout hashable lens linear mfsolve MonadRandom monoid-extras
-         mtl mtl-compat parsec random semigroups split text
-       ];
-       testHaskellDepends = [
-         base containers diagrams-lib HUnit QuickCheck test-framework
-         test-framework-hunit test-framework-quickcheck2
-       ];
-       homepage = "http://projects.haskell.org/diagrams/";
-       description = "Collection of user contributions to diagrams EDSL";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "diagrams-contrib_1_4_2_1" = callPackage
-    ({ mkDerivation, base, circle-packing, colour, containers
-     , cubicbezier, data-default, data-default-class, diagrams-core
-     , diagrams-lib, diagrams-solve, force-layout, hashable, HUnit, lens
-     , linear, mfsolve, MonadRandom, monoid-extras, mtl, mtl-compat
-     , parsec, QuickCheck, random, semigroups, split, test-framework
-     , test-framework-hunit, test-framework-quickcheck2, text
-     }:
-     mkDerivation {
-       pname = "diagrams-contrib";
        version = "1.4.2.1";
        sha256 = "1l7xz360chrqj9by6l5v0vwpvy81lniif600r3b6vf9ckyj747yz";
        libraryHaskellDepends = [
@@ -60657,8 +62290,8 @@ self: {
      }:
      mkDerivation {
        pname = "diagrams-core";
-       version = "1.4.0.1";
-       sha256 = "0k951bi3b2n33lbjym87l0hcm8v2ww5w2cwfgdmjy8yl4gz1jyff";
+       version = "1.4.1";
+       sha256 = "0zirk4v8qbyv0zbalh28ms9njafnj4z579dvrjvxbg6gqqcx3mcl";
        libraryHaskellDepends = [
          adjunctions base containers distributive dual-tree lens linear
          monoid-extras mtl profunctors semigroups unordered-containers
@@ -60666,6 +62299,7 @@ self: {
        homepage = "http://projects.haskell.org/diagrams";
        description = "Core libraries for diagrams EDSL";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "diagrams-graphviz" = callPackage
@@ -60786,10 +62420,8 @@ self: {
      }:
      mkDerivation {
        pname = "diagrams-lib";
-       version = "1.4.2";
-       sha256 = "1rdg8b46hc1ybk1y9dw7w725rag58rkr7hs7z3gvk4isxm11gm79";
-       revision = "1";
-       editedCabalFile = "0vz16br2gn4agi35k92qw84cja2dqj63g7q3ak64jhc8r99bd4a1";
+       version = "1.4.2.2";
+       sha256 = "1rfn1fk251n84bxfn6p82p62gdjiq4yp4dwqmspp7ha2x6abn2s7";
        libraryHaskellDepends = [
          active adjunctions array base bytestring cereal colour containers
          data-default-class diagrams-core diagrams-solve directory
@@ -60806,6 +62438,7 @@ self: {
        homepage = "http://projects.haskell.org/diagrams";
        description = "Embedded domain-specific language for declarative graphics";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "diagrams-pandoc" = callPackage
@@ -60893,6 +62526,7 @@ self: {
        homepage = "http://projects.haskell.org/diagrams/";
        description = "Postscript backend for diagrams drawing EDSL";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "diagrams-qrcode" = callPackage
@@ -60968,6 +62602,7 @@ self: {
        homepage = "https://github.com/timjb/rubiks-cube";
        description = "Library for drawing the Rubik's Cube";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "diagrams-solve" = callPackage
@@ -60978,6 +62613,8 @@ self: {
        pname = "diagrams-solve";
        version = "0.1.1";
        sha256 = "17agchqkmj14b17sw50kzxq4hm056g5d8yy0wnqn5w8h1d0my7x4";
+       revision = "1";
+       editedCabalFile = "1aabxq020ycmwynm96dvqh9xbvcsw7s4593kca35i4zl2kzg14bb";
        libraryHaskellDepends = [ base ];
        testHaskellDepends = [
          base deepseq tasty tasty-hunit tasty-quickcheck
@@ -61005,6 +62642,7 @@ self: {
        homepage = "http://projects.haskell.org/diagrams/";
        description = "SVG backend for diagrams drawing EDSL";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "diagrams-tikz" = callPackage
@@ -61079,7 +62717,6 @@ self: {
        ];
        description = "A simple, forward build system";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "dice" = callPackage
@@ -61247,8 +62884,8 @@ self: {
      }:
      mkDerivation {
        pname = "diff3";
-       version = "0.3.0";
-       sha256 = "09gamh675nqw8ac6whn05i716k089p7zbyisglifgvvhf1gpmicd";
+       version = "0.3.1";
+       sha256 = "0myajph6iv6vddwfsrwzdbjw8di9wpabb393is98jnacjwa9csx3";
        libraryHaskellDepends = [ base Diff ];
        testHaskellDepends = [
          base QuickCheck test-framework test-framework-quickcheck2
@@ -61386,7 +63023,6 @@ self: {
        ];
        description = "Speed up form designing using digestive functors and bootstrap";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "digestive-foundation-lucid" = callPackage
@@ -61426,7 +63062,6 @@ self: {
        homepage = "http://github.com/jaspervdj/digestive-functors";
        description = "A practical formlet library";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "digestive-functors-aeson" = callPackage
@@ -61436,8 +63071,8 @@ self: {
      }:
      mkDerivation {
        pname = "digestive-functors-aeson";
-       version = "1.1.23";
-       sha256 = "14mzv2bc7ndqqkx1nqb3km78h1ysjmry9d6s40nic8r2qgf9y2an";
+       version = "1.1.24";
+       sha256 = "01zizzhq9abyka21600234wj8yy9crx4n8qywiry4gjmq7l8gzm5";
        libraryHaskellDepends = [
          aeson base containers digestive-functors lens lens-aeson safe text
          vector
@@ -61449,7 +63084,6 @@ self: {
        homepage = "http://github.com/ocharles/digestive-functors-aeson";
        description = "Run digestive-functors forms against JSON";
        license = stdenv.lib.licenses.gpl3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "digestive-functors-blaze" = callPackage
@@ -61466,7 +63100,6 @@ self: {
        homepage = "http://github.com/jaspervdj/digestive-functors";
        description = "Blaze frontend for the digestive-functors library";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "digestive-functors-happstack" = callPackage
@@ -61483,7 +63116,6 @@ self: {
        homepage = "http://github.com/jaspervdj/digestive-functors";
        description = "Happstack backend for the digestive-functors library";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "digestive-functors-heist" = callPackage
@@ -61528,7 +63160,6 @@ self: {
        homepage = "https://github.com/athanclark/digestive-functors-lucid";
        description = "Lucid frontend for the digestive-functors library";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "digestive-functors-scotty" = callPackage
@@ -61548,7 +63179,6 @@ self: {
        homepage = "https://github.com/mmartin/digestive-functors-scotty";
        description = "Scotty backend for the digestive-functors library";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "digestive-functors-snap" = callPackage
@@ -61566,20 +63196,20 @@ self: {
        homepage = "http://github.com/jaspervdj/digestive-functors";
        description = "Snap backend for the digestive-functors library";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "digit" = callPackage
     ({ mkDerivation, ansi-wl-pprint, base, hedgehog, lens, papa, parsec
-     , parsers, pretty, semigroupoids, semigroups, tasty, tasty-hedgehog
-     , tasty-hspec, tasty-hunit, template-haskell, text
+     , parsers, pretty, scientific, semigroupoids, semigroups, tasty
+     , tasty-hedgehog, tasty-hspec, tasty-hunit, template-haskell, text
      }:
      mkDerivation {
        pname = "digit";
-       version = "0.5.1";
-       sha256 = "141w8x7r4b3pkalqvgc71p9rdqsfg9nmhyijcg7vr5336qv52p2a";
+       version = "0.5.2";
+       sha256 = "18y3dln42avvzj8cxz7hkg6w106zhf64aywx23crywjhilcl5ha0";
        libraryHaskellDepends = [
-         base lens papa parsers semigroupoids semigroups template-haskell
+         base lens papa parsers scientific semigroupoids semigroups
+         template-haskell
        ];
        testHaskellDepends = [
          ansi-wl-pprint base hedgehog lens papa parsec parsers pretty tasty
@@ -61640,17 +63270,20 @@ self: {
      }) {};
 
   "dimensional" = callPackage
-    ({ mkDerivation, base, criterion, deepseq, exact-pi, HUnit
-     , numtype-dk, vector
+    ({ mkDerivation, base, criterion, deepseq, doctest, exact-pi, Glob
+     , hspec, ieee754, numtype-dk, QuickCheck, semigroups
+     , template-haskell, vector
      }:
      mkDerivation {
        pname = "dimensional";
-       version = "1.0.1.3";
-       sha256 = "19wkm9jm6pjrrwqvafhs8zmfa9g06l5a03pcr8jm6497jajndi9v";
+       version = "1.1";
+       sha256 = "05jy0xs1nmxz7x3b589313hqk317838crhd974knm5k73jf8h99s";
        libraryHaskellDepends = [
-         base deepseq exact-pi numtype-dk vector
+         base deepseq exact-pi ieee754 numtype-dk semigroups vector
+       ];
+       testHaskellDepends = [
+         base doctest Glob hspec QuickCheck template-haskell
        ];
-       testHaskellDepends = [ base HUnit ];
        benchmarkHaskellDepends = [ base criterion deepseq ];
        homepage = "https://github.com/bjornbm/dimensional/";
        description = "Statically checked physical dimensions, using Type Families and Data Kinds";
@@ -61925,13 +63558,13 @@ self: {
 
   "direct-sqlite" = callPackage
     ({ mkDerivation, base, base16-bytestring, bytestring, directory
-     , HUnit, temporary, text
+     , HUnit, semigroups, temporary, text
      }:
      mkDerivation {
        pname = "direct-sqlite";
-       version = "2.3.22";
-       sha256 = "0fv90nm68k3vfj87kw6kfsvmk5kyvvrjcyp73s8m0pm6y7ypgg7a";
-       libraryHaskellDepends = [ base bytestring text ];
+       version = "2.3.23";
+       sha256 = "0ywkah9gmjnx0zdlvinc2i898jsbdrw4ba315zkpijaaldp6znqz";
+       libraryHaskellDepends = [ base bytestring semigroups text ];
        testHaskellDepends = [
          base base16-bytestring bytestring directory HUnit temporary text
        ];
@@ -61957,12 +63590,14 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
-  "directory_1_3_2_1" = callPackage
+  "directory_1_3_2_2" = callPackage
     ({ mkDerivation, base, filepath, time, unix }:
      mkDerivation {
        pname = "directory";
-       version = "1.3.2.1";
-       sha256 = "1hr5hvpycjkzl8cwn29xwcggf6xfgz189a57i7aahbdb8bbxzwk5";
+       version = "1.3.2.2";
+       sha256 = "0m4dhcz7d1y0y08hn8ny378ly67gqbx676srgardq6800w2iqhzj";
+       revision = "1";
+       editedCabalFile = "1qdpglb2xzgcm1yja9d9hvw75cg85wai292f7rb6h0hsjnhrans3";
        libraryHaskellDepends = [ base filepath time unix ];
        testHaskellDepends = [ base filepath time unix ];
        description = "Platform-agnostic library for filesystem operations";
@@ -62419,23 +64054,6 @@ self: {
      }:
      mkDerivation {
        pname = "distributed-closure";
-       version = "0.3.5";
-       sha256 = "0mm3w8l63n9lbifrj32kv5xbb79fiwd4swi2kv2lbnc67b6ig43h";
-       libraryHaskellDepends = [
-         base binary bytestring constraints syb template-haskell
-       ];
-       testHaskellDepends = [ base binary hspec QuickCheck ];
-       homepage = "https://github.com/tweag/distributed-closure";
-       description = "Serializable closures for distributed programming";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "distributed-closure_0_4_0" = callPackage
-    ({ mkDerivation, base, binary, bytestring, constraints, hspec
-     , QuickCheck, syb, template-haskell
-     }:
-     mkDerivation {
-       pname = "distributed-closure";
        version = "0.4.0";
        sha256 = "1r2ymmnm0misz92x4iz58yqyb4maf3kq8blsvxmclc0d77hblsnm";
        libraryHaskellDepends = [
@@ -62445,7 +64063,6 @@ self: {
        homepage = "https://github.com/tweag/distributed-closure";
        description = "Serializable closures for distributed programming";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "distributed-process" = callPackage
@@ -62458,6 +64075,8 @@ self: {
        pname = "distributed-process";
        version = "0.7.3";
        sha256 = "1m771siv3dvrc1i3pxl3iqrnz63wvq6i80wyvi5m64m16xgiisg5";
+       revision = "1";
+       editedCabalFile = "0vrk3lrrsc7rrzrkfqcc5q36clr8cy51v6dv4hpmi89fyngx6lz5";
        libraryHaskellDepends = [
          base binary bytestring containers data-accessor deepseq
          distributed-static exceptions hashable mtl network-transport random
@@ -62736,7 +64355,6 @@ self: {
        homepage = "https://bitbucket.org/dpwiz/distributed-process-p2p/";
        description = "Peer-to-peer node discovery for Cloud Haskell";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "distributed-process-platform" = callPackage
@@ -63007,21 +64625,21 @@ self: {
 
   "distribution-nixpkgs" = callPackage
     ({ mkDerivation, aeson, base, bytestring, Cabal, containers
-     , deepseq, doctest, hspec, language-nix, lens, pretty, process
-     , split
+     , deepseq, hspec, language-nix, lens, pretty, process, split
      }:
      mkDerivation {
        pname = "distribution-nixpkgs";
-       version = "1.1";
-       sha256 = "15m881mrhpqg1xjdjz65ym8pajp1nijrcvb6dx3vv55430cjw1qx";
+       version = "1.1.1";
+       sha256 = "1694crd3l9cyc0c5xvqmx62154519g2cnpzc5qmlypwrk258bssm";
        libraryHaskellDepends = [
          aeson base bytestring Cabal containers deepseq language-nix lens
          pretty process split
        ];
-       testHaskellDepends = [ base deepseq doctest hspec lens ];
+       testHaskellDepends = [ base deepseq hspec lens ];
        homepage = "https://github.com/peti/distribution-nixpkgs#readme";
        description = "Types and functions to manipulate the Nixpkgs distribution";
        license = stdenv.lib.licenses.bsd3;
+       maintainers = with stdenv.lib.maintainers; [ peti ];
      }) {};
 
   "distribution-plot" = callPackage
@@ -63051,8 +64669,8 @@ self: {
        pname = "distributive";
        version = "0.5.3";
        sha256 = "0y566r97sfyvhsmd4yxiz4ns2mqgwf5bdbp56wgxl6wlkidq0wwi";
-       revision = "4";
-       editedCabalFile = "1v6b2vnharppjn6w36lxfy0dvl93jzjq7fcyq9cp71650f1g9ai5";
+       revision = "5";
+       editedCabalFile = "0hl43mbw87s5l7p1iqc7iwz5rnzdcmj6g33pmq6hv4s9fg96j8x7";
        setupHaskellDepends = [ base Cabal cabal-doctest ];
        libraryHaskellDepends = [
          base base-orphans tagged transformers transformers-compat
@@ -63084,6 +64702,7 @@ self: {
        homepage = "https://github.com/GregorySchwartz/diversity";
        description = "Quantify the diversity of a population";
        license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "dixi" = callPackage
@@ -63233,6 +64852,8 @@ self: {
        pname = "dlist-nonempty";
        version = "0.1.1";
        sha256 = "0csbspdy43pzvasb5mhs5pz2f49ws78pi253cx7pp84wjx6ads20";
+       revision = "2";
+       editedCabalFile = "1968b6i0azv0bi3x6cw85ga89md1dh1wdmly3ivvvyb6i9mgwrn6";
        libraryHaskellDepends = [
          base base-compat deepseq dlist semigroupoids
        ];
@@ -63344,8 +64965,8 @@ self: {
      }:
      mkDerivation {
        pname = "dns";
-       version = "3.0.1";
-       sha256 = "1aq8n0qglvx134fl8ry1liw7kpw7flm631s9qb7is7bw510wgdd6";
+       version = "3.0.2";
+       sha256 = "193j67jnhxkih3gbfzdx9cpzvqryk4kzc3yhl1yagdg16shrba7i";
        libraryHaskellDepends = [
          async attoparsec auto-update base base64-bytestring binary
          bytestring conduit conduit-extra containers cryptonite iproute mtl
@@ -63495,49 +65116,13 @@ self: {
      , lens-aeson, monad-control, mtl, network, process, QuickCheck
      , resourcet, scientific, tar, tasty, tasty-hunit, tasty-quickcheck
      , temporary, text, time, tls, transformers, transformers-base
-     , unordered-containers, uuid, vector, x509, x509-store, x509-system
-     , zlib
-     }:
-     mkDerivation {
-       pname = "docker";
-       version = "0.4.1.1";
-       sha256 = "103j8hcabfwrzjmjzxw3ks7b90nnanznck941v956q1h3240npka";
-       revision = "1";
-       editedCabalFile = "1zbi904jaq2mvbxhmw2l181xz0p6q8mia843g5arsz3akckq2z72";
-       libraryHaskellDepends = [
-         aeson base blaze-builder bytestring conduit conduit-combinators
-         conduit-extra containers data-default-class directory exceptions
-         filemanip filepath http-client http-conduit http-types
-         monad-control mtl network resourcet scientific tar temporary text
-         time tls transformers transformers-base unordered-containers uuid
-         vector x509 x509-store x509-system zlib
-       ];
-       testHaskellDepends = [
-         aeson base bytestring connection containers http-client
-         http-client-tls http-types lens lens-aeson process QuickCheck tasty
-         tasty-hunit tasty-quickcheck text transformers unordered-containers
-         vector
-       ];
-       homepage = "https://github.com/denibertovic/docker-hs";
-       description = "An API client for docker written in Haskell";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "docker_0_5_1_0" = callPackage
-    ({ mkDerivation, aeson, base, blaze-builder, bytestring, conduit
-     , conduit-combinators, conduit-extra, connection, containers
-     , data-default-class, directory, exceptions, filemanip, filepath
-     , http-client, http-client-tls, http-conduit, http-types, lens
-     , lens-aeson, monad-control, mtl, network, process, QuickCheck
-     , resourcet, scientific, tar, tasty, tasty-hunit, tasty-quickcheck
-     , temporary, text, time, tls, transformers, transformers-base
      , unliftio-core, unordered-containers, uuid, vector, x509
      , x509-store, x509-system, zlib
      }:
      mkDerivation {
        pname = "docker";
-       version = "0.5.1.0";
-       sha256 = "1g1bmz185hibm0n23yxkili4v8768yascd8mc8z2pil9bky7lvww";
+       version = "0.5.1.1";
+       sha256 = "09lska2v4fngbp4pbxxwshcdz6g4sbsyx8apm95hs3hxfpd0j74a";
        libraryHaskellDepends = [
          aeson base blaze-builder bytestring conduit conduit-combinators
          conduit-extra containers data-default-class directory exceptions
@@ -63555,7 +65140,6 @@ self: {
        homepage = "https://github.com/denibertovic/docker-hs";
        description = "An API client for docker written in Haskell";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "docker-build-cacher" = callPackage
@@ -63564,25 +65148,26 @@ self: {
      }:
      mkDerivation {
        pname = "docker-build-cacher";
-       version = "1.8.2";
-       sha256 = "0kmr7b0i5wbcn6r2f2pi4ndnzr4kdi3yj2v1pxwqyv8v0d6h55gi";
+       version = "1.9.2";
+       sha256 = "11k91vvdisnh031w9l5r650ibngjd3fgylkcllp01wz1s67w78v7";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
          base containers foldl language-docker system-filepath text turtle
        ];
+       homepage = "https://github.com/seatgeek/docker-build-cacher#readme";
        description = "Builds a services with docker and caches all of its intermediate stages";
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "docker-build-cacher_1_9_1" = callPackage
+  "docker-build-cacher_1_9_4" = callPackage
     ({ mkDerivation, base, containers, foldl, language-docker
      , system-filepath, text, turtle
      }:
      mkDerivation {
        pname = "docker-build-cacher";
-       version = "1.9.1";
-       sha256 = "1d8v9900j9ygx060gahwk208i5f36sdpnlpdaa1qqhcnywvmfzi4";
+       version = "1.9.4";
+       sha256 = "1p62q8hq19zgjwaqgclkjqh6ylpbr5jxw82f36xzqximws1jsmkp";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -63683,8 +65268,8 @@ self: {
      }:
      mkDerivation {
        pname = "doctemplates";
-       version = "0.2.1";
-       sha256 = "1bfs2kl5j5al2w2y4qpbn68p0xsnb65r7h51l356kpkzc326646p";
+       version = "0.2.2.1";
+       sha256 = "1gyckfg3kgvzhxw14i7iwrw0crygvsp86sy53bbr1yn7bxbgn33b";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          aeson base blaze-html blaze-markup bytestring containers parsec
@@ -63723,7 +65308,7 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
-  "doctest_0_14_1" = callPackage
+  "doctest_0_15_0" = callPackage
     ({ mkDerivation, base, base-compat, code-page, deepseq, directory
      , filepath, ghc, ghc-paths, hspec, HUnit, mockery, process
      , QuickCheck, setenv, silently, stringbuilder, syb, transformers
@@ -63731,8 +65316,8 @@ self: {
      }:
      mkDerivation {
        pname = "doctest";
-       version = "0.14.1";
-       sha256 = "1phnrsh2gjls54mlpqhfjs0x003jbrsz1sijy107mbg2gnck9cfj";
+       version = "0.15.0";
+       sha256 = "13c1l8cc8rzbxgpnaa75x13z9vnr7kffng18czh8gwpv83vn5bpi";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -63760,8 +65345,8 @@ self: {
      }:
      mkDerivation {
        pname = "doctest-discover";
-       version = "0.1.0.8";
-       sha256 = "1ilmrc173d5xr7yphrbgg4kmkilyj1a89c67q4zrs4b6xfd5pa2x";
+       version = "0.1.0.7";
+       sha256 = "0w5xgw841fxp26n4c9srp84g0m0b105sa1snwrjg5dvxa7d6asmc";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -63775,6 +65360,31 @@ self: {
        homepage = "http://github.com/karun012/doctest-discover";
        description = "Easy way to run doctests via cabal";
        license = stdenv.lib.licenses.publicDomain;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "doctest-discover_0_1_0_9" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, directory, doctest
+     , filepath
+     }:
+     mkDerivation {
+       pname = "doctest-discover";
+       version = "0.1.0.9";
+       sha256 = "1clr6w1h726bbcpq2px2c51jsk48i6ki1yd9vhqj2scvy4nvp437";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson base bytestring directory doctest filepath
+       ];
+       executableHaskellDepends = [
+         aeson base bytestring directory doctest filepath
+       ];
+       testHaskellDepends = [ base doctest ];
+       doHaddock = false;
+       homepage = "http://github.com/karun012/doctest-discover";
+       description = "Easy way to run doctests via cabal";
+       license = stdenv.lib.licenses.publicDomain;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "doctest-discover-configurator" = callPackage
@@ -63807,27 +65417,8 @@ self: {
     ({ mkDerivation, base, doctest }:
      mkDerivation {
        pname = "doctest-driver-gen";
-       version = "0.1.0.1";
-       sha256 = "0drv2zp8mr4sisd27y0bcjamip8vs26a09k65x6zm5ric4psmhqs";
-       revision = "1";
-       editedCabalFile = "0005s8byp2ww8y2xnmxvdh24fw5qwly4f6sbmzwbs0yi10zsbfkg";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [ base doctest ];
-       executableHaskellDepends = [ base ];
-       testHaskellDepends = [ base doctest ];
-       homepage = "https://github.com/Hexirp/doctest-driver-gen#readme";
-       description = "Generate doctest-driver.hs";
-       license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
-     }) {};
-
-  "doctest-driver-gen_0_2_0_0" = callPackage
-    ({ mkDerivation, base, doctest }:
-     mkDerivation {
-       pname = "doctest-driver-gen";
-       version = "0.2.0.0";
-       sha256 = "02irp8bwr8172m5ix6jgpbhz3nks5khq31v03b5xlrh58nk5hqaf";
+       version = "0.2.0.2";
+       sha256 = "0yil9va8l4q1wp6zz6w699103ym54fw03vsigzj12iql6y06cxxl";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base doctest ];
@@ -63954,6 +65545,29 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "dom-parser_3_1_0" = callPackage
+    ({ mkDerivation, base, case-insensitive, containers, data-default
+     , hspec, lens, mtl, scientific, semigroups, shakespeare, text
+     , transformers, xml-conduit, xml-lens
+     }:
+     mkDerivation {
+       pname = "dom-parser";
+       version = "3.1.0";
+       sha256 = "1hra4sh34dr1gv4z55dg3f8s2g9l2qb7nlb0j4w0imr71fp5rqfp";
+       libraryHaskellDepends = [
+         base case-insensitive containers lens mtl scientific semigroups
+         text transformers xml-conduit xml-lens
+       ];
+       testHaskellDepends = [
+         base data-default hspec lens semigroups shakespeare text
+         xml-conduit
+       ];
+       homepage = "https://github.com/typeable/dom-parser";
+       description = "Simple monadic DOM parser";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "dom-selector" = callPackage
     ({ mkDerivation, base, blaze-html, containers, html-conduit, parsec
      , QuickCheck, template-haskell, text, th-lift, xml-conduit
@@ -64089,8 +65703,8 @@ self: {
      }:
      mkDerivation {
        pname = "dotenv";
-       version = "0.5.2.3";
-       sha256 = "194cjf641q54b19daldg9nyi9gf8j4fxql6aslqzbgy7bfg5aj5b";
+       version = "0.5.2.4";
+       sha256 = "13c6b01gkkykg1sl1dk1374nbayg523w4fiy2bg494bj5ia516di";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -64644,18 +66258,17 @@ self: {
      }) {};
 
   "drinkery" = callPackage
-    ({ mkDerivation, base, conduit, conduit-combinators, gauge, list-t
-     , ListT, machines, mtl, pipes, transformers
+    ({ mkDerivation, base, conduit, conduit-combinators, exceptions
+     , gauge, list-t, ListT, machines, mtl, pipes, transformers
      }:
      mkDerivation {
        pname = "drinkery";
-       version = "0.1";
-       sha256 = "0cwv7z7gzbbkxrdfikkbmkhd6asbib1m0j9h98nwhm7i1c498rhi";
-       revision = "1";
-       editedCabalFile = "19zjmmfjkkx3dsy4zwz8f3iciwgvlra9rxp5y11mkb5glg5qy3f9";
-       libraryHaskellDepends = [ base mtl transformers ];
+       version = "0.3";
+       sha256 = "10iiffxnmc5hgsa4c5m59zxbz80b3cpddv6293jiw2vxpfq2f7w4";
+       libraryHaskellDepends = [ base exceptions mtl transformers ];
        benchmarkHaskellDepends = [
-         base conduit conduit-combinators gauge list-t ListT machines pipes
+         base conduit conduit-combinators exceptions gauge list-t ListT
+         machines mtl pipes transformers
        ];
        homepage = "https://github.com/fumieval/drinkery#readme";
        description = "Boozy streaming library";
@@ -64878,8 +66491,8 @@ self: {
      }:
      mkDerivation {
        pname = "dtab";
-       version = "1.0.0.1";
-       sha256 = "0sg0pf8nsy4fdx8gqpqv6k29v01gz4bq5y1id28v9j8rj0mgv5nn";
+       version = "1.1.0.1";
+       sha256 = "18p10a2x6ra18aj6cphgswq4sjjkdrq58pk7ikgmpgq9sj4bxgpr";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -64889,7 +66502,7 @@ self: {
        libraryToolDepends = [ alex happy ];
        executableHaskellDepends = [ base bytestring ];
        description = "Harmonix (Guitar Hero, Rock Band) DTA/DTB metadata library";
-       license = "GPL";
+       license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
@@ -64987,14 +66600,32 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "dual-game" = callPackage
+    ({ mkDerivation, base, bifunctors, cereal, gloss, network
+     , websockets
+     }:
+     mkDerivation {
+       pname = "dual-game";
+       version = "0.1.0.1";
+       sha256 = "1w69d7d2xbpi82n41gq08qdmldh834ka7qwvy159vsac556wwcfg";
+       isLibrary = false;
+       isExecutable = true;
+       executableHaskellDepends = [
+         base bifunctors cereal gloss network websockets
+       ];
+       homepage = "https://github.com/fgaz/dual";
+       description = "Network multiplayer 2D shooting game";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "dual-tree" = callPackage
     ({ mkDerivation, base, monoid-extras, newtype-generics, QuickCheck
      , semigroups, testing-feat
      }:
      mkDerivation {
        pname = "dual-tree";
-       version = "0.2.1";
-       sha256 = "06azc2lwli9aw81a23g82yxiann2qjc3bk7cdyh9kiwimdyj8r94";
+       version = "0.2.1.1";
+       sha256 = "1wzv6rrhz2kz0v1wirgs28fdlr0r4nwxlix9xda4fphzpp922gzr";
        libraryHaskellDepends = [
          base monoid-extras newtype-generics semigroups
        ];
@@ -65027,6 +66658,7 @@ self: {
        homepage = "https://github.com/k0ral/dublincore-xml-conduit";
        description = "XML streaming parser/renderer for the Dublin Core standard elements";
        license = stdenv.lib.licenses.publicDomain;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "duckling" = callPackage
@@ -65038,8 +66670,8 @@ self: {
      }:
      mkDerivation {
        pname = "duckling";
-       version = "0.1.3.0";
-       sha256 = "1nk9rdfd4kcim5i9p891cic562g2wda0l6d1xvkkl4hh4b8bym7k";
+       version = "0.1.4.0";
+       sha256 = "0m5f71z9rqfvvqxpsvbpr258rgirphgdyfvzb1wv20zdhfi67lzh";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -65169,6 +66801,23 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "duration" = callPackage
+    ({ mkDerivation, base, doctest, hspec, parsec, template-haskell
+     , time
+     }:
+     mkDerivation {
+       pname = "duration";
+       version = "0.1.0.0";
+       sha256 = "18qjn97njhra7brps58rl44vyc0hmfc83prgm519q7dyf3159cd0";
+       libraryHaskellDepends = [ base parsec template-haskell time ];
+       testHaskellDepends = [
+         base doctest hspec parsec template-haskell time
+       ];
+       homepage = "https://github.com/ryota-ka/duration#readme";
+       description = "A tiny compile-time time utility library inspired by zeit/ms";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "dustme" = callPackage
     ({ mkDerivation, ansi-terminal, ansi-wl-pprint, async, attoparsec
      , base, bytestring, containers, deepseq, extra, hashable, hspec
@@ -65267,15 +66916,15 @@ self: {
      }) {};
 
   "dwarf-el" = callPackage
-    ({ mkDerivation, base, binary, bytestring, containers, transformers
-     , utf8-string
+    ({ mkDerivation, base, binary, bytestring, containers, text
+     , text-show, transformers
      }:
      mkDerivation {
        pname = "dwarf-el";
-       version = "0.2.1.1";
-       sha256 = "18ba03v1m7xbsgygjgfrzr9c7fah21lr3300mhvqipicdgrb691w";
+       version = "0.3";
+       sha256 = "177y84zgl215jivbxifn09w8mdv0k65bxyky0l1hadd64hgp2nq7";
        libraryHaskellDepends = [
-         base binary bytestring containers transformers utf8-string
+         base binary bytestring containers text text-show transformers
        ];
        description = "Parser for DWARF debug format";
        license = stdenv.lib.licenses.bsd3;
@@ -65283,17 +66932,17 @@ self: {
 
   "dwarfadt" = callPackage
     ({ mkDerivation, base, bytestring, bytestring-mmap, containers
-     , dwarf-el, elf, lens, pretty, transformers
+     , dwarf-el, elf, lens, pretty, text, text-show, transformers
      }:
      mkDerivation {
        pname = "dwarfadt";
-       version = "0.4";
-       sha256 = "15mzv6sa2qf0g9skwq4ij35l3lqbc4x3fzwj5hkx93f8pz2bj1hi";
+       version = "0.6";
+       sha256 = "1fzkigzrm6s9060vmxsgw4bwzpfvcxc510ghb1rkqh5gslqszcb0";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          base bytestring bytestring-mmap containers dwarf-el elf lens pretty
-         transformers
+         text text-show transformers
        ];
        executableHaskellDepends = [ base containers dwarf-el ];
        description = "High-level wrapper around the dwarf library";
@@ -65393,17 +67042,16 @@ self: {
      }) {};
 
   "dynamic-graph" = callPackage
-    ({ mkDerivation, base, cairo, colour, either, GLFW-b, GLUtil
-     , OpenGL, pango, pipes, transformers
+    ({ mkDerivation, base, cairo, colour, GLFW-b, GLUtil, OpenGL, pango
+     , pipes, transformers
      }:
      mkDerivation {
        pname = "dynamic-graph";
-       version = "0.1.0.11";
-       sha256 = "0mgciglcq8cshbcrc0ff858596zlm07z6wcmjpaa3irqbkdn7ma1";
+       version = "0.1.0.12";
+       sha256 = "1jygkj2jryjxlkyf0104abhkhjmfdvjaaa4zcyz7kgpny342fhiy";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
-         base cairo colour either GLFW-b GLUtil OpenGL pango pipes
-         transformers
+         base cairo colour GLFW-b GLUtil OpenGL pango pipes transformers
        ];
        homepage = "https://github.com/adamwalker/dynamic-graph";
        description = "Draw and update graphs in real time with OpenGL";
@@ -65544,8 +67192,8 @@ self: {
      }:
      mkDerivation {
        pname = "dynamodb-simple";
-       version = "0.5.0.0";
-       sha256 = "12jkl425nzgds8zszhk41ns4mg3rn9mjfmd853b88x6dn9wk95g7";
+       version = "0.6.0.0";
+       sha256 = "0dshi4binsfjrlw7sl1jxa09a1s4qkp3g48x6hchaipk6b1nx960";
        libraryHaskellDepends = [
          aeson amazonka amazonka-core amazonka-dynamodb base bytestring
          conduit containers double-conversion exceptions generics-sop
@@ -65818,6 +67466,23 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "easytest" = callPackage
+    ({ mkDerivation, async, base, call-stack, containers, mtl, random
+     , stm, text, transformers
+     }:
+     mkDerivation {
+       pname = "easytest";
+       version = "0.2";
+       sha256 = "1sd9w5p6z9mmvxid6svmnh7h43r32mrcqilb8k7kiy36ln3n8j0b";
+       libraryHaskellDepends = [
+         async base call-stack containers mtl random stm text transformers
+       ];
+       testHaskellDepends = [ base ];
+       homepage = "https://github.com/joelburget/easytest";
+       description = "Simple, expressive testing library";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "ebeats" = callPackage
     ({ mkDerivation, base, time }:
      mkDerivation {
@@ -65969,7 +67634,6 @@ self: {
        homepage = "http://github.com/isovector/ecstasy/";
        description = "A GHC.Generics based entity component system.";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "ecu" = callPackage
@@ -66066,6 +67730,7 @@ self: {
        homepage = "http://github.com/brendanhay/ede";
        description = "Templating language with similar syntax and features to Liquid or Jinja2";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "edenmodules" = callPackage
@@ -66295,6 +67960,7 @@ self: {
        homepage = "https://github.com/edofic/effect-handlers";
        description = "A library for writing extensible algebraic effects and handlers. Similar to extensible-effects but with deep handlers.";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "effect-monad" = callPackage
@@ -66306,7 +67972,6 @@ self: {
        libraryHaskellDepends = [ base type-level-sets ];
        description = "Embeds effect systems and program logics into Haskell using graded monads and parameterised monads";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "effective-aspects" = callPackage
@@ -66542,25 +68207,6 @@ self: {
      }) {};
 
   "either" = callPackage
-    ({ mkDerivation, base, bifunctors, exceptions, free, mmorph
-     , monad-control, MonadRandom, mtl, profunctors, semigroupoids
-     , semigroups, transformers, transformers-base
-     }:
-     mkDerivation {
-       pname = "either";
-       version = "4.5";
-       sha256 = "1mzj86pbplgs3h7a49j3rk22s5cbw06wmd992gdm6harm15hzyzc";
-       libraryHaskellDepends = [
-         base bifunctors exceptions free mmorph monad-control MonadRandom
-         mtl profunctors semigroupoids semigroups transformers
-         transformers-base
-       ];
-       homepage = "http://github.com/ekmett/either/";
-       description = "An either monad transformer";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "either_5" = callPackage
     ({ mkDerivation, base, bifunctors, hedgehog, mtl, profunctors
      , semigroupoids, semigroups
      }:
@@ -66575,7 +68221,6 @@ self: {
        homepage = "http://github.com/ekmett/either/";
        description = "Combinators for working with sums";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "either-list-functions" = callPackage
@@ -66589,7 +68234,6 @@ self: {
        homepage = "https://github.com/chris-martin/either-list-functions#readme";
        description = "Functions involving lists of Either";
        license = stdenv.lib.licenses.asl20;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "either-unwrap" = callPackage
@@ -66622,10 +68266,10 @@ self: {
      }:
      mkDerivation {
        pname = "ekg";
-       version = "0.4.0.14";
-       sha256 = "1n0l5lpkgkln9jmwwx2p2m2mbm7pr66w7lggj0yw4ay7ipjxjrrd";
-       revision = "1";
-       editedCabalFile = "152b4w3qld6jmwir3a06h6sc1girahla8cc1y2g23bwv6nnhxapp";
+       version = "0.4.0.15";
+       sha256 = "1k3d5kiqm034qs04k0pcisf4zbdmx2fcgl9a6c1lzzjw96zf6aj8";
+       revision = "2";
+       editedCabalFile = "0dn8xysffy7pgz88h4h6lpjpl5n978dm3yxlzyxbk2k1byhzzx7d";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          aeson base bytestring ekg-core ekg-json filepath network snap-core
@@ -66643,8 +68287,8 @@ self: {
      }:
      mkDerivation {
        pname = "ekg-bosun";
-       version = "1.0.11";
-       sha256 = "0663m2riq23dwhsvgqi0mcy6h7hb24fgk315h7mi656bj5lzllx6";
+       version = "1.0.13";
+       sha256 = "0w9zafd8ipq2hpxqmd9iywryjl0ym5gwwrv90kx80jxmv2dpqpzp";
        libraryHaskellDepends = [
          aeson base ekg-core http-client lens network network-uri old-locale
          text time unordered-containers vector wreq
@@ -66660,8 +68304,8 @@ self: {
      }:
      mkDerivation {
        pname = "ekg-carbon";
-       version = "1.0.9";
-       sha256 = "00xdyrvwmd9jp59awh9i1yzbnywndzmjmz8qsn87hrcd2848fdnm";
+       version = "1.0.10";
+       sha256 = "0mvx5qpj5fzdb991gb344a5a34fvgys6xy3xxpr65bddlbpv0mk9";
        libraryHaskellDepends = [
          base ekg-core network network-carbon text time unordered-containers
          vector
@@ -66687,6 +68331,7 @@ self: {
        homepage = "https://github.com/sellerlabs/ekg-cloudwatch#readme";
        description = "An ekg backend for Amazon Cloudwatch";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "ekg-core" = callPackage
@@ -66697,6 +68342,8 @@ self: {
        pname = "ekg-core";
        version = "0.1.1.4";
        sha256 = "0dz9iv6viya7b5nx9gxj9g0d1k155pvb7i59azf9272wl369mn36";
+       revision = "1";
+       editedCabalFile = "01hp42jjp1cg8z692xahbwlv4x521pdxhyd8d89fjdkvccf8gvnk";
        libraryHaskellDepends = [
          base containers ghc-prim text unordered-containers
        ];
@@ -66740,7 +68387,6 @@ self: {
        homepage = "https://github.com/cdodev/ekg-elasticsearch";
        description = "Push metrics to elasticsearch";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "ekg-influxdb" = callPackage
@@ -66768,6 +68414,8 @@ self: {
        pname = "ekg-json";
        version = "0.1.0.6";
        sha256 = "0iyx0ix4dcyhh9xg4ia1lm7x2q0iffswnr33khfg9fr81am80shy";
+       revision = "2";
+       editedCabalFile = "02lx17l8dch793n83dgalv2r77nrlcj6k4xgpxaxzwr3nyprk2vj";
        libraryHaskellDepends = [
          aeson base ekg-core text unordered-containers
        ];
@@ -66860,8 +68508,10 @@ self: {
      }:
      mkDerivation {
        pname = "ekg-statsd";
-       version = "0.2.2.0";
-       sha256 = "1z1si5zglmwq0qxhd4s8zmp8rps8z4xqnk4l8wlal79f1qkz9862";
+       version = "0.2.3.0";
+       sha256 = "05lakyb0sp6g8nziy6jzk2l19v2371cdnih6pp6myyj6iflx9smf";
+       revision = "1";
+       editedCabalFile = "1k4sndkjg1prvzhiii9gcgkx8zfkk9c4nf548x0hrbmj1laj8d62";
        libraryHaskellDepends = [
          base bytestring ekg-core network text time unordered-containers
        ];
@@ -66877,8 +68527,8 @@ self: {
      }:
      mkDerivation {
        pname = "ekg-wai";
-       version = "0.1.0.2";
-       sha256 = "1ridcn930lf8gjj7lqdbhzzmz0i6r668bhid72anbq3v1h6fnhnw";
+       version = "0.1.0.3";
+       sha256 = "1sd2fz4l4slizm179x9cskqdvrpf6w4d779kah9hrnk3nqbmklxz";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          aeson base bytestring ekg-core ekg-json filepath http-types network
@@ -67048,7 +68698,6 @@ self: {
        homepage = "https://github.com/agrafix/elm-bridge";
        description = "Derive Elm types and Json code from Haskell types, using aeson's options";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "elm-build-lib" = callPackage
@@ -67151,8 +68800,8 @@ self: {
      }:
      mkDerivation {
        pname = "elm-export-persistent";
-       version = "0.1.2";
-       sha256 = "17fyv33wv38lbfkx55wqhz1xls8as75ndfd14f10r2sknxafyidw";
+       version = "0.2.0";
+       sha256 = "09by77av5p18q89ryzid52zcr153mgx0zsksp5vg8ps6an5apirc";
        libraryHaskellDepends = [
          aeson base elm-export persistent scientific text
          unordered-containers
@@ -67508,7 +69157,6 @@ self: {
        homepage = "http://github.com/knrafto/email-header";
        description = "Parsing and rendering of email and MIME headers";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "email-postmark" = callPackage
@@ -67533,8 +69181,8 @@ self: {
      }:
      mkDerivation {
        pname = "email-validate";
-       version = "2.3.2.2";
-       sha256 = "1nwa97cnf04mapk6r5fr3bjzjb5gyfn0nmhz4a2x0p2ci01hrida";
+       version = "2.3.2.5";
+       sha256 = "0k2fczw7qk442b3k0qblypaad8bva06x5sai5zgp7h6ckvlg8kvv";
        libraryHaskellDepends = [
          attoparsec base bytestring template-haskell
        ];
@@ -67872,8 +69520,8 @@ self: {
      }:
      mkDerivation {
        pname = "engine-io";
-       version = "1.2.19";
-       sha256 = "1z3gnd3cfgp3mlbxlbaqv5m21fv0qqjyzzqi3qkrrggy0y71yq0b";
+       version = "1.2.20";
+       sha256 = "1kx16zpfbish8mcpr6j5s7c63w277kyhcykvcfq2xgh1npg4p0z7";
        libraryHaskellDepends = [
          aeson async attoparsec base base64-bytestring bytestring errors
          free monad-loops mwc-random stm stm-delay text transformers
@@ -67912,8 +69560,8 @@ self: {
      }:
      mkDerivation {
        pname = "engine-io-snap";
-       version = "1.0.5";
-       sha256 = "03pbdc2pbhrabnbnxcrwlby3z84p7fn9k4h1l3pbx6969m6qn7xa";
+       version = "1.0.6";
+       sha256 = "1lv9gzz61fcba2y0mqmcml1shk8qjxlw8c1fis4w7xs2xgrwbjbm";
        libraryHaskellDepends = [
          base bytestring containers engine-io io-streams lifted-base
          snap-core unordered-containers websockets websockets-snap
@@ -68003,16 +69651,14 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "entropy_0_4" = callPackage
+  "entropy_0_4_1_1" = callPackage
     ({ mkDerivation, base, bytestring, Cabal, directory, filepath
      , process, unix
      }:
      mkDerivation {
        pname = "entropy";
-       version = "0.4";
-       sha256 = "0h8icprikafidq4x88crz5phfgp6zgmxq4awam2dhs0z2fswd9wc";
-       revision = "1";
-       editedCabalFile = "1hx5yxzypi708zlg1almqhfasfgmaisrv44fr0i8ldvvqxf5slza";
+       version = "0.4.1.1";
+       sha256 = "1ahz5g148l6sax3dy505na2513i99c7bxix68jja5kbx4f271zcf";
        setupHaskellDepends = [ base Cabal directory filepath process ];
        libraryHaskellDepends = [ base bytestring unix ];
        homepage = "https://github.com/TomMD/entropy";
@@ -68172,12 +69818,12 @@ self: {
      }) {};
 
   "enummapset" = callPackage
-    ({ mkDerivation, base, containers, deepseq }:
+    ({ mkDerivation, base, containers, deepseq, semigroups }:
      mkDerivation {
        pname = "enummapset";
-       version = "0.5.2.1";
-       sha256 = "019q0b1qm6bcp1ld67aklvq76wfx1qwzjbdywliv9g8ybwivaxqg";
-       libraryHaskellDepends = [ base containers deepseq ];
+       version = "0.5.2.2";
+       sha256 = "0x6fihrgvb2y6m0z2gi8n97b54aidydd8fnbmj02bq3x73gxnbvr";
+       libraryHaskellDepends = [ base containers deepseq semigroups ];
        homepage = "https://github.com/michalt/enummapset";
        description = "IntMap and IntSet with Enum keys/elements";
        license = stdenv.lib.licenses.bsd3;
@@ -68277,26 +69923,6 @@ self: {
      }:
      mkDerivation {
        pname = "envy";
-       version = "1.3.0.2";
-       sha256 = "16w9d0cg2niy766kmnsfgy803s802dm6mr0n3sgwz2fhwy6sz82c";
-       libraryHaskellDepends = [
-         base bytestring containers mtl text time transformers
-       ];
-       testHaskellDepends = [
-         base bytestring hspec mtl QuickCheck quickcheck-instances text time
-         transformers
-       ];
-       description = "An environmentally friendly way to deal with environment variables";
-       license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
-     }) {};
-
-  "envy_1_5_0_0" = callPackage
-    ({ mkDerivation, base, bytestring, containers, hspec, mtl
-     , QuickCheck, quickcheck-instances, text, time, transformers
-     }:
-     mkDerivation {
-       pname = "envy";
        version = "1.5.0.0";
        sha256 = "1gqzfjgy58833vi9b5dlfwwzx7fj2548wb340xyh0q8cmsrrkh6d";
        libraryHaskellDepends = [
@@ -68468,20 +70094,20 @@ self: {
     ({ mkDerivation, base, semigroupoids }:
      mkDerivation {
        pname = "eq";
-       version = "4.0.4";
-       sha256 = "1rdxmkmlgyinpih5p708k18j7qq0rj1c8gv240naa9gbkqg4qbq4";
+       version = "4.1";
+       sha256 = "10k1xnvga7c6ijmkfq2qd4vc5i2lnkz4xjmba74g0xzhk6gkvp0n";
        libraryHaskellDepends = [ base semigroupoids ];
        homepage = "http://github.com/ekmett/eq/";
        description = "Leibnizian equality";
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "eq_4_1" = callPackage
+  "eq_4_2" = callPackage
     ({ mkDerivation, base, semigroupoids }:
      mkDerivation {
        pname = "eq";
-       version = "4.1";
-       sha256 = "10k1xnvga7c6ijmkfq2qd4vc5i2lnkz4xjmba74g0xzhk6gkvp0n";
+       version = "4.2";
+       sha256 = "1s3h77i0h4z3dg97sqqjl027rz0k82h48cpzp0c7a75g0qx70q21";
        libraryHaskellDepends = [ base semigroupoids ];
        homepage = "http://github.com/ekmett/eq/";
        description = "Leibnizian equality";
@@ -68509,16 +70135,16 @@ self: {
      }) {};
 
   "equational-reasoning" = callPackage
-    ({ mkDerivation, base, containers, singletons, template-haskell
-     , th-desugar, th-extras, void
+    ({ mkDerivation, base, containers, semigroups, singletons
+     , template-haskell, th-desugar, th-extras, void
      }:
      mkDerivation {
        pname = "equational-reasoning";
-       version = "0.5.0.0";
-       sha256 = "0qskw6dhnr6x7zpfaj246gyiml6w3196ci08i98cl8n2xkyn6n4c";
+       version = "0.5.1.0";
+       sha256 = "11203rdw4q9s5ramhmr2hdimgwin3zwjas8csxqxxldkv3x9a05l";
        libraryHaskellDepends = [
-         base containers singletons template-haskell th-desugar th-extras
-         void
+         base containers semigroups singletons template-haskell th-desugar
+         th-extras void
        ];
        description = "Proof assistant for Haskell using DataKinds & PolyKinds";
        license = stdenv.lib.licenses.bsd3;
@@ -68682,6 +70308,30 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "error-context" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, exceptions, katip
+     , monad-logger, mtl, resourcet, safe-exceptions, tasty, tasty-hunit
+     , text, unliftio-core, unordered-containers
+     }:
+     mkDerivation {
+       pname = "error-context";
+       version = "0.2.0.1";
+       sha256 = "033z3niag5hf9dynjxdrg6v9s6f05hpndknfs7xlgkwrrgq3gmnb";
+       libraryHaskellDepends = [
+         aeson base bytestring exceptions katip monad-logger mtl resourcet
+         safe-exceptions text unliftio-core unordered-containers
+       ];
+       testHaskellDepends = [
+         aeson base bytestring exceptions katip monad-logger mtl resourcet
+         safe-exceptions tasty tasty-hunit text unliftio-core
+         unordered-containers
+       ];
+       homepage = "https://github.com/mtesseract/error-context#readme";
+       description = "Provides API for enriching errors with contexts";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "error-continuations" = callPackage
     ({ mkDerivation, base, either, mtl, transformers }:
      mkDerivation {
@@ -68780,8 +70430,8 @@ self: {
      }:
      mkDerivation {
        pname = "errors";
-       version = "2.2.4";
-       sha256 = "0v5jdjh6k3wys2m1ff6pgiydy6fzd0r0pn2k3bsisrj6nf6gff7a";
+       version = "2.2.5";
+       sha256 = "0p3kpipixdcwhwjcwq8ks8iik78dsddglxrn929dfwsm1ibcl5z9";
        libraryHaskellDepends = [
          base exceptions safe text transformers transformers-compat
          unexceptionalio
@@ -68844,6 +70494,8 @@ self: {
        pname = "ersatz";
        version = "0.4.2";
        sha256 = "1rr46awz0rbzg0i6424rnrykcwkgwxfzgx5d5qmva4y41l62vkxf";
+       revision = "1";
+       editedCabalFile = "098i7593rlc81618y1cz6bmsp2y0vlimz8hnqlzja4m8mclfsbx2";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -68923,6 +70575,32 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "escoger" = callPackage
+    ({ mkDerivation, base, bytestring, criterion, HUnit, mtl
+     , test-framework, test-framework-hunit, unix, vector
+     , vector-algorithms, vty
+     }:
+     mkDerivation {
+       pname = "escoger";
+       version = "0.1.0.0";
+       sha256 = "0xcs1wg5d6dphnx255pcvvcszkpib0v8gy79w25grrrda5gyplvx";
+       isLibrary = false;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base bytestring mtl unix vector vector-algorithms vty
+       ];
+       executableHaskellDepends = [ base bytestring mtl unix vector vty ];
+       testHaskellDepends = [
+         base HUnit test-framework test-framework-hunit vector
+       ];
+       benchmarkHaskellDepends = [
+         base bytestring criterion unix vector vty
+       ];
+       doHaddock = false;
+       description = "Terminal fuzzy selector";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "esotericbot" = callPackage
     ({ mkDerivation, attoparsec, base, bytestring, containers
      , directory, fgl, mtl, network, stm, stream-fusion, tuple, unix
@@ -68970,6 +70648,7 @@ self: {
        homepage = "https://github.com/bitemyapp/esqueleto";
        description = "Type-safe EDSL for SQL queries on persistent backends";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "ess" = callPackage
@@ -69036,23 +70715,18 @@ self: {
      }) {};
 
   "etc" = callPackage
-    ({ mkDerivation, aeson, base, bytestring, containers, directory
-     , exceptions, hashable, protolude, tasty, tasty-hunit, tasty-rerun
-     , text, unordered-containers, vector
+    ({ mkDerivation, aeson, base, hashable, rio, tasty, tasty-hunit
+     , text, typed-process, unliftio
      }:
      mkDerivation {
        pname = "etc";
-       version = "0.2.0.0";
-       sha256 = "16l5ap8ag2l3ks6pjwr49wk4njgap44kbxsqb69yr9lr81wrj9fv";
+       version = "0.3.2.0";
+       sha256 = "1j4qjw1hqw5q9i47ixiwcr3zpcs1x39l46mh5yii5xkqmwlw9gk0";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
-         aeson base bytestring containers directory exceptions hashable
-         protolude text unordered-containers vector
-       ];
-       testHaskellDepends = [
-         aeson base bytestring containers protolude tasty tasty-hunit
-         tasty-rerun text unordered-containers vector
+         aeson base hashable rio text typed-process unliftio
        ];
+       testHaskellDepends = [ aeson base rio tasty tasty-hunit ];
        homepage = "https://github.com/roman/Haskell-etc";
        description = "Declarative configuration spec for Haskell projects";
        license = stdenv.lib.licenses.mit;
@@ -69075,6 +70749,7 @@ self: {
        testHaskellDepends = [ async base hspec MonadRandom mtl text ];
        description = "Client for etcd, a highly-available key value store";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "eternal" = callPackage
@@ -69101,8 +70776,8 @@ self: {
      }:
      mkDerivation {
        pname = "eternity";
-       version = "0.1";
-       sha256 = "04pcfnr1vl1s85gi2bqqca3frwjljw3307mw2psh8aa9h9qrf21b";
+       version = "0.1.2";
+       sha256 = "0rjjdhr9cnpgm55mjvhlkgdvqvi5dmmzrr4vj0jmn9pg7zra34y6";
        libraryHaskellDepends = [
          attoparsec base cereal directory foldl potoki potoki-cereal text
        ];
@@ -69113,23 +70788,26 @@ self: {
        homepage = "https://github.com/metrix-ai/eternity";
        description = "Native event-sourcing database";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "eternity-timestamped" = callPackage
     ({ mkDerivation, attoparsec, base, cereal, directory, eternity
-     , foldl, generic-random, hashable, potoki, QuickCheck, text, time
+     , generic-random, hashable, potoki, QuickCheck, text, time
+     , timestamp
      }:
      mkDerivation {
        pname = "eternity-timestamped";
-       version = "0.2.2";
-       sha256 = "0lijphsgfjgpqxg5qfy50fds8vpjd9yywzlz5yqmi1q8q5yyh02f";
+       version = "0.4";
+       sha256 = "150xqf7kg4131qxnbjhly4ryy251gni1z6vyqcsy477hig2yv5gr";
        libraryHaskellDepends = [
-         attoparsec base cereal directory eternity foldl generic-random
-         hashable potoki QuickCheck text time
+         attoparsec base cereal directory eternity generic-random hashable
+         potoki QuickCheck text time timestamp
        ];
        homepage = "https://github.com/metrix-ai/eternity-timestamped";
        description = "Automatic timestamping for Eternity";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "ether" = callPackage
@@ -69142,6 +70820,8 @@ self: {
        pname = "ether";
        version = "0.5.1.0";
        sha256 = "1180l4z2cdgc6zj9pcr2c0lj28ka85kbk8sxd42fis65k2ahr61n";
+       revision = "1";
+       editedCabalFile = "01q86w79xswdkq08m375xwfqjgix6bzbc4lpxz4phqvzf38lc8i5";
        libraryHaskellDepends = [
          base exceptions mmorph monad-control mtl reflection tagged
          template-haskell transformers transformers-base transformers-lift
@@ -69366,7 +71046,6 @@ self: {
        ];
        description = "Random etymology online entry";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "euler" = callPackage
@@ -69473,6 +71152,23 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "eve-cli" = callPackage
+    ({ mkDerivation, base, bytestring, eve, lens, mtl, text, vty }:
+     mkDerivation {
+       pname = "eve-cli";
+       version = "0.2.0.0";
+       sha256 = "0l9c7mpmw7i9kgmirnkb84q6lfw0ry5z5j2049sv47klczdv285a";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [ base bytestring eve lens mtl text vty ];
+       executableHaskellDepends = [
+         base bytestring eve lens mtl text vty
+       ];
+       testHaskellDepends = [ base bytestring eve lens mtl text vty ];
+       homepage = "https://github.com/ChrisPenner/eve-cli#readme";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "event" = callPackage
     ({ mkDerivation, base, containers, semigroups, transformers }:
      mkDerivation {
@@ -69718,8 +71414,8 @@ self: {
      }:
      mkDerivation {
        pname = "eventloop";
-       version = "0.8.2.6";
-       sha256 = "1f3dmkrxjfj128pdkarrc6mka09jmh360bn6vgbp4qm2xv5hl16s";
+       version = "0.8.2.7";
+       sha256 = "0rqgb224v9zy2kkchk2v3zwpdwh805ff03j5y5vswmc0l52bkw7w";
        libraryHaskellDepends = [
          aeson base bytestring concurrent-utilities deepseq network stm
          suspend text timers websockets
@@ -69731,22 +71427,6 @@ self: {
      }) {};
 
   "eventsource-api" = callPackage
-    ({ mkDerivation, aeson, base, containers, mtl, protolude
-     , unordered-containers, uuid
-     }:
-     mkDerivation {
-       pname = "eventsource-api";
-       version = "1.1.1";
-       sha256 = "0zy59m7iwxwy5c4l15kvj98fk7vrjwhxp0scc3r3v37cxkakg01h";
-       libraryHaskellDepends = [
-         aeson base containers mtl protolude unordered-containers uuid
-       ];
-       homepage = "https://github.com/YoEight/eventsource-api#readme";
-       description = "Provides an eventsourcing high level API";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "eventsource-api_1_3_0" = callPackage
     ({ mkDerivation, aeson, base, bytestring, containers
      , enclosed-exceptions, lifted-async, lifted-base, monad-control
      , monad-loops, mtl, stm, stm-chans, string-conversions, text
@@ -69764,33 +71444,10 @@ self: {
        homepage = "https://github.com/YoEight/eventsource-api#readme";
        description = "Provides an eventsourcing high level API";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "eventsource-geteventstore-store" = callPackage
     ({ mkDerivation, aeson, base, eventsource-api
-     , eventsource-store-specs, eventstore, mtl, protolude, tasty
-     , tasty-hspec
-     }:
-     mkDerivation {
-       pname = "eventsource-geteventstore-store";
-       version = "1.0.4";
-       sha256 = "0fn75hwarhjnrjalv7i16ry1wnr2z2gqvpj3ls2faappz1drhxmp";
-       libraryHaskellDepends = [
-         aeson base eventsource-api eventstore mtl protolude
-       ];
-       testHaskellDepends = [
-         base eventsource-api eventsource-store-specs eventstore protolude
-         tasty tasty-hspec
-       ];
-       homepage = "https://github.com/YoEight/eventsource-api#readme";
-       description = "GetEventStore store implementation";
-       license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
-     }) {};
-
-  "eventsource-geteventstore-store_1_1_0" = callPackage
-    ({ mkDerivation, aeson, base, eventsource-api
      , eventsource-store-specs, eventstore, mtl, protolude
      , string-conversions, tasty, tasty-hspec, transformers-base
      }:
@@ -69813,22 +71470,6 @@ self: {
      }) {};
 
   "eventsource-store-specs" = callPackage
-    ({ mkDerivation, aeson, base, eventsource-api, mtl, protolude
-     , tasty, tasty-hspec, uuid
-     }:
-     mkDerivation {
-       pname = "eventsource-store-specs";
-       version = "1.0.1";
-       sha256 = "0fg6rma02vp3iij93xgccqivqfx3h9675203jlmk6073mhg2i5id";
-       libraryHaskellDepends = [
-         aeson base eventsource-api mtl protolude tasty tasty-hspec uuid
-       ];
-       homepage = "https://github.com/YoEight/eventsource-api#readme";
-       description = "Provides common test specification for Store implementation";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "eventsource-store-specs_1_1_1" = callPackage
     ({ mkDerivation, aeson, async, base, eventsource-api, mtl, tasty
      , tasty-hspec, text, transformers-base, uuid
      }:
@@ -69843,30 +71484,9 @@ self: {
        homepage = "https://github.com/YoEight/eventsource-api#readme";
        description = "Provides common test specification for Store implementation";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "eventsource-stub-store" = callPackage
-    ({ mkDerivation, aeson, base, containers, eventsource-api
-     , eventsource-store-specs, mtl, protolude, stm, tasty, tasty-hspec
-     }:
-     mkDerivation {
-       pname = "eventsource-stub-store";
-       version = "1.0.2";
-       sha256 = "10c853i9k91gc42jbqzxx3scip2hr1ahwkhzvcryhiw3745qsidr";
-       libraryHaskellDepends = [
-         base containers eventsource-api mtl protolude stm
-       ];
-       testHaskellDepends = [
-         aeson base eventsource-api eventsource-store-specs protolude tasty
-         tasty-hspec
-       ];
-       homepage = "https://github.com/YoEight/eventsource-api#readme";
-       description = "An in-memory stub store implementation";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "eventsource-stub-store_1_0_3" = callPackage
     ({ mkDerivation, aeson, async, base, containers, eventsource-api
      , eventsource-store-specs, mtl, protolude, stm, tasty, tasty-hspec
      , transformers-base
@@ -69885,7 +71505,6 @@ self: {
        homepage = "https://github.com/YoEight/eventsource-api#readme";
        description = "An in-memory stub store implementation";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "eventsourced" = callPackage
@@ -69922,44 +71541,8 @@ self: {
      }:
      mkDerivation {
        pname = "eventstore";
-       version = "0.15.0.2";
-       sha256 = "00mamlf121c3dsigpxvshj1mbm2b4hdbil02zyhz7jc6kccgbjwx";
-       libraryHaskellDepends = [
-         aeson array base bifunctors bytestring cereal clock connection
-         containers dns dotnet-timespan ekg-core exceptions fast-logger
-         hashable http-client interpolate lifted-async lifted-base machines
-         monad-control monad-logger mono-traversable mtl protobuf random
-         safe-exceptions semigroups stm stm-chans text text-format time
-         transformers-base unordered-containers uuid
-       ];
-       testHaskellDepends = [
-         aeson async base bytestring cereal connection containers
-         dotnet-timespan exceptions fast-logger hashable lifted-async
-         lifted-base monad-control mono-traversable protobuf safe-exceptions
-         semigroups stm stm-chans tasty tasty-hspec tasty-hunit text time
-         transformers-base unordered-containers uuid
-       ];
-       homepage = "https://github.com/YoEight/eventstore#readme";
-       description = "EventStore TCP Client";
-       license = stdenv.lib.licenses.bsd3;
-       platforms = [ "x86_64-darwin" "x86_64-linux" ];
-       hydraPlatforms = stdenv.lib.platforms.none;
-     }) {};
-
-  "eventstore_1_1_1" = callPackage
-    ({ mkDerivation, aeson, array, async, base, bifunctors, bytestring
-     , cereal, clock, connection, containers, dns, dotnet-timespan
-     , ekg-core, exceptions, fast-logger, hashable, http-client
-     , interpolate, lifted-async, lifted-base, machines, monad-control
-     , monad-logger, mono-traversable, mtl, protobuf, random
-     , safe-exceptions, semigroups, stm, stm-chans, tasty, tasty-hspec
-     , tasty-hunit, text, text-format, time, transformers-base
-     , unordered-containers, uuid
-     }:
-     mkDerivation {
-       pname = "eventstore";
-       version = "1.1.1";
-       sha256 = "1cvn53nf6igcg3a2sdvihd857vdrhrkcj1bzrbzaixkrxqcyhn9y";
+       version = "1.1.2";
+       sha256 = "1f2pqmsppln3p0zfw35hck5784np9hhs3f5f6h6j12k43gyj3847";
        libraryHaskellDepends = [
          aeson array base bifunctors bytestring cereal clock connection
          containers dns dotnet-timespan ekg-core exceptions fast-logger
@@ -70041,7 +71624,6 @@ self: {
        homepage = "https://github.com/kim/ex-pool";
        description = "Another fork of resource-pool, with a MonadIO and MonadCatch constraint";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "exact-combinatorics" = callPackage
@@ -70117,12 +71699,26 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "except-exceptions" = callPackage
+    ({ mkDerivation, base, exceptions, transformers }:
+     mkDerivation {
+       pname = "except-exceptions";
+       version = "0.1";
+       sha256 = "03d94arrq8ynkbchv8w2vp4q3wka81hkrmkll6bd9p5kwhq28nzs";
+       revision = "1";
+       editedCabalFile = "09i2w1ry7vmjc0a4d05a4hs7kdj3brn5jrxsy638f6acj41g5dhk";
+       libraryHaskellDepends = [ base exceptions transformers ];
+       homepage = "https://github.com/thumphries/except-exceptions";
+       description = "Safely deal with exceptions in ExceptT";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "exception-hierarchy" = callPackage
     ({ mkDerivation, base, template-haskell }:
      mkDerivation {
        pname = "exception-hierarchy";
-       version = "0.0.0.2";
-       sha256 = "1lk73pmz2qhzmsj29vc8c1xsq0rcn7gqv4yik7av7iscrq49r2cc";
+       version = "0.1.0.1";
+       sha256 = "1zk06z8fwr4g701c79vvsqmagjcm2h850d9m96zrig08kz3lshm9";
        libraryHaskellDepends = [ base template-haskell ];
        homepage = "yet";
        description = "Exception type hierarchy with TemplateHaskell";
@@ -70195,8 +71791,8 @@ self: {
      }:
      mkDerivation {
        pname = "exception-transformers";
-       version = "0.4.0.5";
-       sha256 = "12q8c64kg2ksz90ld32m6n811c54syhwihnj2fd7blf2qsmalk2n";
+       version = "0.4.0.7";
+       sha256 = "1vzjy6mz6y9jacpwq2bax86nwzq9mk4b9y3r3r98l50r7pmn2nwj";
        libraryHaskellDepends = [
          base stm transformers transformers-compat
        ];
@@ -70244,15 +71840,15 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "exceptions_0_9_0" = callPackage
+  "exceptions_0_10_0" = callPackage
     ({ mkDerivation, base, mtl, QuickCheck, stm, template-haskell
      , test-framework, test-framework-hunit, test-framework-quickcheck2
      , transformers, transformers-compat
      }:
      mkDerivation {
        pname = "exceptions";
-       version = "0.9.0";
-       sha256 = "1k66qq82srx62hmfqis5x7p2cjyq218rg9xks2sl960x5p4jvl8g";
+       version = "0.10.0";
+       sha256 = "1ms9zansv0pwzwdjncvx4kf18lnkjy2p61hvjhvxmjx5bqp93p8y";
        libraryHaskellDepends = [
          base mtl stm template-haskell transformers transformers-compat
        ];
@@ -70371,8 +71967,8 @@ self: {
      }:
      mkDerivation {
        pname = "exhaustive";
-       version = "1.1.5";
-       sha256 = "1qkv6ibdp0a7hi57dhxy3yfbwbs1asmjvqs5nh1p34awz7npvrh9";
+       version = "1.1.6";
+       sha256 = "00gdgr9xqzy14sqx31j4afljvfc4ar2jrzmwpp3z6ybfq1saw7vk";
        libraryHaskellDepends = [
          base generics-sop template-haskell transformers
        ];
@@ -70569,6 +72165,7 @@ self: {
        homepage = "https://github.com/qfpl/exitcode";
        description = "Monad transformer for exit codes";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "exp-extended" = callPackage
@@ -70577,8 +72174,8 @@ self: {
        pname = "exp-extended";
        version = "0.1.1.2";
        sha256 = "0ymfnwq103n1paj6wl2cj6szi5nx2h2j1azy3wy4kkw6sk07m00r";
-       revision = "1";
-       editedCabalFile = "1bxlaagjvlhnbf9hh0n46b05gm1vmdrgzzgrc3kbz8mg87j91vyr";
+       revision = "2";
+       editedCabalFile = "050v0c9l9gi1bxpqbfcl2j9mdiv7xdh1mdfwymxcgpjydv60xwh0";
        libraryHaskellDepends = [ base compensated log-domain ];
        homepage = "https://code.mathr.co.uk/exp-extended";
        description = "floating point with extended exponent range";
@@ -70588,15 +72185,15 @@ self: {
 
   "exp-pairs" = callPackage
     ({ mkDerivation, base, containers, deepseq, ghc-prim, matrix
-     , QuickCheck, random, smallcheck, tasty, tasty-hunit
-     , tasty-quickcheck, tasty-smallcheck, wl-pprint
+     , prettyprinter, QuickCheck, random, smallcheck, tasty, tasty-hunit
+     , tasty-quickcheck, tasty-smallcheck
      }:
      mkDerivation {
        pname = "exp-pairs";
-       version = "0.1.5.2";
-       sha256 = "17dcmv08xvbq11b8dkka7na9hxdh3r566s00wygnqrjg9gfc5bcd";
+       version = "0.1.6.0";
+       sha256 = "1qsvly4klhk17r2pk60cf03dyz0cjc449fa2plqrlai9rl7xjfp6";
        libraryHaskellDepends = [
-         base containers deepseq ghc-prim wl-pprint
+         base containers deepseq ghc-prim prettyprinter
        ];
        testHaskellDepends = [
          base matrix QuickCheck random smallcheck tasty tasty-hunit
@@ -70657,6 +72254,29 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "expiring-containers" = callPackage
+    ({ mkDerivation, base, containers, hashable, int-multimap
+     , quickcheck-instances, tasty, tasty-hunit, tasty-quickcheck, time
+     , timestamp, unordered-containers
+     }:
+     mkDerivation {
+       pname = "expiring-containers";
+       version = "0.1.2";
+       sha256 = "10j5hqlp7bmiywa79xcgp1a87x6a9kxvzdg061innyh08344k0sv";
+       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
+       ];
+       homepage = "https://github.com/metrix-ai/expiring-containers";
+       description = "Expiring containers";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "expiring-mvar" = callPackage
     ({ mkDerivation, base }:
      mkDerivation {
@@ -70848,11 +72468,14 @@ self: {
      }:
      mkDerivation {
        pname = "expressions-z3";
-       version = "0.1.2";
-       sha256 = "0q3fnljdsqh1937a8s9a62cmcg1nc787725jp0j32jlmbwwhkfyv";
+       version = "0.1.3";
+       sha256 = "1hb44k4558lwsx3z02lgmf1i24ajjlbyqbc88lzgjh3vswfahsj8";
        libraryHaskellDepends = [
          base containers expressions singletons transformers z3
        ];
+       testHaskellDepends = [
+         base containers expressions singletons transformers z3
+       ];
        description = "Encode and Decode expressions from Z3 ASTs";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -70929,23 +72552,24 @@ self: {
        homepage = "https://github.com/msakai/extended-reals/";
        description = "Extension of real numbers with positive/negative infinities";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "extensible" = callPackage
-    ({ mkDerivation, base, comonad, constraints, deepseq, ghc-prim
-     , hashable, lens, monad-skeleton, mtl, primitive, profunctors
-     , QuickCheck, semigroups, StateVar, tagged, template-haskell
-     , transformers, vector
+    ({ mkDerivation, aeson, base, bytestring, cassava, comonad
+     , constraints, deepseq, ghc-prim, hashable, lens, monad-skeleton
+     , mtl, primitive, profunctors, QuickCheck, semigroups, StateVar
+     , tagged, template-haskell, text, transformers
+     , unordered-containers, vector
      }:
      mkDerivation {
        pname = "extensible";
-       version = "0.4.7.1";
-       sha256 = "04gb1havami26mkwdr9vbqs28r1rc9ggd9xxcaf6zw9s5z2hvr5a";
+       version = "0.4.8";
+       sha256 = "1bm7yqshaknnd50yf6bgb6qxl2lv21pqxhb674v3ifpwx1swrkm2";
        libraryHaskellDepends = [
-         base comonad constraints deepseq ghc-prim hashable monad-skeleton
-         mtl primitive profunctors QuickCheck semigroups StateVar tagged
-         template-haskell transformers vector
+         aeson base bytestring cassava comonad constraints deepseq ghc-prim
+         hashable monad-skeleton mtl primitive profunctors QuickCheck
+         semigroups StateVar tagged template-haskell text transformers
+         unordered-containers vector
        ];
        testHaskellDepends = [ base lens QuickCheck template-haskell ];
        homepage = "https://github.com/fumieval/extensible";
@@ -70970,19 +72594,21 @@ self: {
      }) {};
 
   "extensible-effects" = callPackage
-    ({ mkDerivation, base, directory, HUnit, QuickCheck, test-framework
-     , test-framework-hunit, test-framework-quickcheck2
-     , test-framework-th, transformers, transformers-base, type-aligned
+    ({ mkDerivation, base, criterion, HUnit, mtl, QuickCheck, silently
+     , test-framework, test-framework-hunit, test-framework-quickcheck2
+     , test-framework-th, transformers, transformers-base
      }:
      mkDerivation {
        pname = "extensible-effects";
-       version = "2.1.0.0";
-       sha256 = "069v7ql359msnnsbapy1dwgsw3g6f0w8rrc0ihix1jm7p2ivjyrc";
-       libraryHaskellDepends = [
-         base transformers transformers-base type-aligned
-       ];
+       version = "2.4.0.0";
+       sha256 = "024566vv5mmnma2fwnbfg9bzayi6inl1a6ys4nqg0cv57rqny6nc";
+       libraryHaskellDepends = [ base transformers transformers-base ];
        testHaskellDepends = [
-         base directory HUnit QuickCheck test-framework test-framework-hunit
+         base HUnit QuickCheck silently test-framework test-framework-hunit
+         test-framework-quickcheck2 test-framework-th
+       ];
+       benchmarkHaskellDepends = [
+         base criterion HUnit mtl test-framework test-framework-hunit
          test-framework-quickcheck2 test-framework-th
        ];
        homepage = "https://github.com/suhailshergill/extensible-effects";
@@ -70991,19 +72617,19 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
-  "extensible-effects_2_4_0_0" = callPackage
-    ({ mkDerivation, base, criterion, HUnit, mtl, QuickCheck, silently
-     , test-framework, test-framework-hunit, test-framework-quickcheck2
-     , test-framework-th, transformers, transformers-base
+  "extensible-effects_2_6_2_0" = callPackage
+    ({ mkDerivation, base, criterion, HUnit, monad-control, mtl
+     , QuickCheck, silently, test-framework, test-framework-hunit
+     , test-framework-quickcheck2, test-framework-th, transformers-base
      }:
      mkDerivation {
        pname = "extensible-effects";
-       version = "2.4.0.0";
-       sha256 = "024566vv5mmnma2fwnbfg9bzayi6inl1a6ys4nqg0cv57rqny6nc";
-       libraryHaskellDepends = [ base transformers transformers-base ];
+       version = "2.6.2.0";
+       sha256 = "1gc7packzrh405sz2v4h088knn192kq0hq6zvjab6xqxmrl6bm6f";
+       libraryHaskellDepends = [ base monad-control transformers-base ];
        testHaskellDepends = [
-         base HUnit QuickCheck silently test-framework test-framework-hunit
-         test-framework-quickcheck2 test-framework-th
+         base HUnit monad-control QuickCheck silently test-framework
+         test-framework-hunit test-framework-quickcheck2 test-framework-th
        ];
        benchmarkHaskellDepends = [
          base criterion HUnit mtl test-framework test-framework-hunit
@@ -71057,8 +72683,8 @@ self: {
      }:
      mkDerivation {
        pname = "extra";
-       version = "1.6.4";
-       sha256 = "02i4wjp9wgnp2f89d7fj3jnc2pkkcnw068qh85sim3pfabz0a9hw";
+       version = "1.6.6";
+       sha256 = "17d0fd2hng1bwgdl8ms7vzjb4zzwk8cljci5wsd5ninxi9m6x6br";
        libraryHaskellDepends = [
          base clock directory filepath process time unix
        ];
@@ -71136,7 +72762,6 @@ self: {
        homepage = "https://github.com/wuest/haskell-extralife-api";
        description = "API Client for ExtraLife team and user data";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "extrapolate" = callPackage
@@ -71279,8 +72904,8 @@ self: {
      }:
      mkDerivation {
        pname = "fadno-braids";
-       version = "0.1.0";
-       sha256 = "0imf4cd8gl5hq4qrrp5jgfhv4k0vmrm2qm124nbnj65zhgxvm9lz";
+       version = "0.1.1";
+       sha256 = "1d8ca0lnvkpqbrfmvk8mash0kgkxwzlzzspsp35n7csp6iyll543";
        libraryHaskellDepends = [
          base containers data-default diagrams diagrams-lib
          diagrams-rasterific lens random
@@ -71296,8 +72921,8 @@ self: {
      }:
      mkDerivation {
        pname = "fadno-xml";
-       version = "1.1.0";
-       sha256 = "0wm4kj544zyg2rfb0qdcc9m60l5awskcc0w0rs5bw0v5jdzk2d3j";
+       version = "1.1.1";
+       sha256 = "0xsklyavmgi0b2qn7758i3ph7ifnkkjyz0yczw5zj4586q184am5";
        libraryHaskellDepends = [
          base containers Decimal lens mtl parsec xml
        ];
@@ -71372,6 +72997,23 @@ self: {
        license = stdenv.lib.licenses.publicDomain;
      }) {};
 
+  "fake" = callPackage
+    ({ mkDerivation, base, containers, generics-sop, hspec, random
+     , text, time
+     }:
+     mkDerivation {
+       pname = "fake";
+       version = "0.1.1.1";
+       sha256 = "0f6iqbyyrllry2q48by8qwaq0n9k7b5d00xgw5vvlr9zdvrpllgf";
+       libraryHaskellDepends = [
+         base containers generics-sop random text time
+       ];
+       testHaskellDepends = [ base hspec random text time ];
+       homepage = "https://github.com/mightybyte/fake";
+       description = "Randomly generated fake data";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "fake-type" = callPackage
     ({ mkDerivation, base, base-prelude, libXtst, split, X11 }:
      mkDerivation {
@@ -71440,6 +73082,17 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "familiar-reflection" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "familiar-reflection";
+       version = "0.1.0.0";
+       sha256 = "1yqbq038axx9a2j3kbdm11w3fgvkix2w7dqhrbf353r2n8vigxg8";
+       libraryHaskellDepends = [ base ];
+       description = "Reifies arbitrary terms into types that can be reflected back into terms";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "family-tree" = callPackage
     ({ mkDerivation, base, binary, containers, hashable, intervals
      , lens, tables, text, time, unordered-containers
@@ -71473,24 +73126,21 @@ self: {
      }) {};
 
   "fast-arithmetic" = callPackage
-    ({ mkDerivation, arithmoi, ats-pkg, base, Cabal, combinat
-     , composition-prelude, criterion, gmpint, hspec, numbertheory
-     , QuickCheck
+    ({ mkDerivation, arithmoi, base, combinat, composition-prelude
+     , criterion, gmpint, hspec, QuickCheck
      }:
      mkDerivation {
        pname = "fast-arithmetic";
-       version = "0.3.3.2";
-       sha256 = "08szj3rli8vnzl34j4x6xcydhk3k1nm12ziwqrxffbnsrvzjslvi";
-       setupHaskellDepends = [ ats-pkg base Cabal ];
+       version = "0.6.0.3";
+       sha256 = "1q9fdx61wpznpw551id09xg1yw8vyh77cvcwswmi0grld4hqn17g";
        libraryHaskellDepends = [ base composition-prelude gmpint ];
-       librarySystemDepends = [ numbertheory ];
        testHaskellDepends = [ arithmoi base combinat hspec QuickCheck ];
        benchmarkHaskellDepends = [ arithmoi base combinat criterion ];
        homepage = "https://github.com/vmchale/fast-arithmetic#readme";
        description = "Fast functions on integers";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
-     }) {numbertheory = null;};
+     }) {};
 
   "fast-builder" = callPackage
     ({ mkDerivation, aeson, base, bytestring, containers, criterion
@@ -71511,6 +73161,7 @@ self: {
        homepage = "http://github.com/takano-akio/fast-builder";
        description = "Fast ByteString Builder";
        license = stdenv.lib.licenses.publicDomain;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "fast-combinatorics" = callPackage
@@ -71612,8 +73263,8 @@ self: {
      }:
      mkDerivation {
        pname = "fast-tags";
-       version = "1.4";
-       sha256 = "17gnpf5w9a3k4wjwzj6qrsn5fm508pqq8wy4zsqjy3pfprm3239z";
+       version = "1.4.1";
+       sha256 = "0d3i5npmc9nx91nmfbd2cwq33yd48b269gbc9k2ls6sbj9qdi172";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -71648,7 +73299,6 @@ self: {
        homepage = "https://github.com/vshabanov/fast-tagsoup";
        description = "Fast parsing and extracting information from (possibly malformed) HTML/XML documents";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "fast-tagsoup-utf8-only" = callPackage
@@ -71679,6 +73329,7 @@ self: {
        homepage = "https://github.com/GregorySchwartz/fasta";
        description = "A simple, mindless parser for fasta files";
        license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "fastbayes" = callPackage
@@ -71818,28 +73469,31 @@ self: {
      }) {};
 
   "fay" = callPackage
-    ({ mkDerivation, aeson, base, base-compat, bytestring, containers
-     , data-default, data-lens-light, directory, filepath, ghc-paths
-     , haskell-src-exts, language-ecmascript, mtl, mtl-compat
-     , optparse-applicative, process, safe, sourcemap, split, spoon, syb
-     , text, time, transformers, transformers-compat
+    ({ mkDerivation, aeson, base, base-compat, bytestring, Cabal
+     , containers, data-default, data-lens-light, directory, filepath
+     , ghc-paths, haskell-src-exts, language-ecmascript, mtl, mtl-compat
+     , optparse-applicative, process, safe, shakespeare, sourcemap
+     , split, spoon, syb, text, time, transformers, transformers-compat
      , traverse-with-class, uniplate, unordered-containers, utf8-string
      , vector
      }:
      mkDerivation {
        pname = "fay";
-       version = "0.23.2.0";
-       sha256 = "1fhdznpqyrgk2m239qdq6zxsdhx3qhciq8fi2ka7s6l7h9z277dw";
+       version = "0.24.0.0";
+       sha256 = "1my71a3cmd637ch5jwsdpyvfx6vsi2vnvshbrwmcx9ya1xm6x7z2";
+       revision = "1";
+       editedCabalFile = "1bx1dyxir8h0c1qybkfdra36rmdhk7gpgz071v9spl9lplqvpw9s";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
+       setupHaskellDepends = [ base Cabal ];
        libraryHaskellDepends = [
          aeson base base-compat bytestring containers data-default
          data-lens-light directory filepath ghc-paths haskell-src-exts
-         language-ecmascript mtl mtl-compat process safe sourcemap split
-         spoon syb text time transformers transformers-compat
-         traverse-with-class uniplate unordered-containers utf8-string
-         vector
+         language-ecmascript mtl mtl-compat process safe shakespeare
+         sourcemap split spoon syb text time transformers
+         transformers-compat traverse-with-class uniplate
+         unordered-containers utf8-string vector
        ];
        executableHaskellDepends = [ base mtl optparse-applicative split ];
        homepage = "https://github.com/faylang/fay/wiki";
@@ -71852,8 +73506,8 @@ self: {
     ({ mkDerivation, base, fay }:
      mkDerivation {
        pname = "fay-base";
-       version = "0.21.0.0";
-       sha256 = "1sj6baw63xzv6hcqmka29hvack00fal3zlp5b97qca56lbh7yhbf";
+       version = "0.21.1.0";
+       sha256 = "1i19q04a4z3aix8njw5im8ixkw7l53xfhff0rrgx3ibnf9jy752z";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [ base fay ];
        homepage = "https://github.com/faylang/fay/";
@@ -71997,32 +73651,62 @@ self: {
      , base64-bytestring, bytestring, cereal, conduit, conduit-extra
      , containers, crypto-api, cryptohash, cryptohash-cryptoapi
      , data-default, hspec, http-client, http-conduit, http-types, HUnit
-     , lifted-base, monad-control, monad-logger, old-locale, QuickCheck
-     , resourcet, text, time, transformers, transformers-base
+     , monad-logger, old-locale, QuickCheck, resourcet, text, time
+     , transformers, transformers-base, unliftio, unliftio-core
      , unordered-containers
      }:
      mkDerivation {
        pname = "fb";
-       version = "1.1.1";
-       sha256 = "0rbzcnd0cw06vfyy3k5f1n0f8hr00ygn5pjdws7ayn2f2hsk9ln8";
+       version = "1.2.0";
+       sha256 = "04ppg1qhm93w5j6arv7ykp0vf85nfwhv6dkpyji34c0nalqzyx6l";
        libraryHaskellDepends = [
          aeson attoparsec base base16-bytestring base64-bytestring
          bytestring cereal conduit conduit-extra crypto-api cryptohash
          cryptohash-cryptoapi data-default http-client http-conduit
-         http-types lifted-base monad-control monad-logger old-locale
-         resourcet text time transformers transformers-base
-         unordered-containers
+         http-types monad-logger old-locale resourcet text time transformers
+         transformers-base unliftio unliftio-core unordered-containers
        ];
        testHaskellDepends = [
          aeson base bytestring conduit containers data-default hspec
-         http-conduit HUnit lifted-base monad-control QuickCheck resourcet
-         text time transformers
+         http-conduit HUnit QuickCheck resourcet text time transformers
+         unliftio
        ];
        homepage = "https://github.com/psibi/fb";
        description = "Bindings to Facebook's API";
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "fb_1_2_1" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, base16-bytestring
+     , base64-bytestring, bytestring, cereal, conduit, conduit-extra
+     , containers, crypto-api, cryptohash, cryptohash-cryptoapi
+     , data-default, hspec, http-client, http-conduit, http-types, HUnit
+     , monad-logger, old-locale, QuickCheck, resourcet, text, time
+     , transformers, transformers-base, unliftio, unliftio-core
+     , unordered-containers
+     }:
+     mkDerivation {
+       pname = "fb";
+       version = "1.2.1";
+       sha256 = "05ax0pd9j6c64n48r9q03k5pg2axkmv11cz6azjg7k72cfkp1mm9";
+       libraryHaskellDepends = [
+         aeson attoparsec base base16-bytestring base64-bytestring
+         bytestring cereal conduit conduit-extra crypto-api cryptohash
+         cryptohash-cryptoapi data-default http-client http-conduit
+         http-types monad-logger old-locale resourcet text time transformers
+         transformers-base unliftio unliftio-core unordered-containers
+       ];
+       testHaskellDepends = [
+         aeson base bytestring conduit containers data-default hspec
+         http-conduit HUnit QuickCheck resourcet text time transformers
+         unliftio
+       ];
+       homepage = "https://github.com/psibi/fb";
+       description = "Bindings to Facebook's API";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "fb-persistent" = callPackage
     ({ mkDerivation, base, cereal, fb, persistent, text, time }:
      mkDerivation {
@@ -72132,6 +73816,7 @@ self: {
        isExecutable = true;
        description = "TBA";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "fckeditor" = callPackage
@@ -72155,6 +73840,8 @@ self: {
        pname = "fclabels";
        version = "2.0.3.3";
        sha256 = "1q62p41bj991s7i15ciayw1v1xq8szn4bls50p65lfy2dnj7554s";
+       revision = "1";
+       editedCabalFile = "0fs17vv85ybl3ws8k25sg758vq49l19vhn4asm8r6q5j9xic2kvl";
        libraryHaskellDepends = [ base mtl template-haskell transformers ];
        testHaskellDepends = [
          base HUnit mtl template-haskell transformers
@@ -72281,22 +73968,6 @@ self: {
     ({ mkDerivation, base, directory, filepath, process, time, unix }:
      mkDerivation {
        pname = "fedora-haskell-tools";
-       version = "0.4";
-       sha256 = "0105i1klks1f0gcq9fyv1pbfrm3mfiwp14pdac0xb8hm1fbhbs70";
-       isLibrary = false;
-       isExecutable = true;
-       executableHaskellDepends = [
-         base directory filepath process time unix
-       ];
-       homepage = "https://github.com/fedora-haskell/fedora-haskell-tools";
-       description = "Building and managing tools for Fedora Haskell";
-       license = stdenv.lib.licenses.gpl3;
-     }) {};
-
-  "fedora-haskell-tools_0_5_1" = callPackage
-    ({ mkDerivation, base, directory, filepath, process, time, unix }:
-     mkDerivation {
-       pname = "fedora-haskell-tools";
        version = "0.5.1";
        sha256 = "1543i2lxzplqmx1cpggp5773qvqc6jzn4960c1cgyhg9mjd13adr";
        isLibrary = false;
@@ -72307,7 +73978,6 @@ self: {
        homepage = "https://github.com/fedora-haskell/fedora-haskell-tools";
        description = "Building and managing tools for Fedora Haskell";
        license = stdenv.lib.licenses.gpl3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "fedora-packages" = callPackage
@@ -72359,8 +74029,8 @@ self: {
        pname = "feed";
        version = "1.0.0.0";
        sha256 = "05rgg7x1984mgfhkmz792xj8lhwjgznixhygzr8blf517lns2nck";
-       revision = "2";
-       editedCabalFile = "1xrx0r63qr14vxqrsw9xmwnhna3p4gqngv46ysyv2r49raq6bz3q";
+       revision = "4";
+       editedCabalFile = "0baavcavm3ywykcr9cm07aqr7sna98jba2n68lyn3kany8ri214d";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          base base-compat bytestring old-locale old-time safe text time
@@ -72757,8 +74427,8 @@ self: {
      }:
      mkDerivation {
        pname = "ffmpeg-light";
-       version = "0.12.0.1";
-       sha256 = "1ikyhdkr3pvkpmqw7j4xgz07bnxnvckld8kd06191kgqlvr2k764";
+       version = "0.12.1.0";
+       sha256 = "081qrvf3hpnn7mgj6i7z8lh1jfmz0ndawc7ya9x3nx7kx3d35crp";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -72771,6 +74441,7 @@ self: {
        homepage = "http://github.com/acowley/ffmpeg-light";
        description = "Minimal bindings to the FFmpeg library";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {inherit (pkgs) ffmpeg; libavcodec = null; libavdevice = null; 
          libavformat = null; libswscale = null;};
 
@@ -72828,23 +74499,6 @@ self: {
      }:
      mkDerivation {
        pname = "fgl";
-       version = "5.5.4.0";
-       sha256 = "04bjm44qr63cl0g5lh07hbq78x5sbvdjf6ryymysi658q0fqjxji";
-       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;
-     }) {};
-
-  "fgl_5_6_0_0" = callPackage
-    ({ mkDerivation, array, base, containers, deepseq, hspec
-     , microbench, QuickCheck, transformers
-     }:
-     mkDerivation {
-       pname = "fgl";
        version = "5.6.0.0";
        sha256 = "1i6cp4b3w7sjk7y1dq3fh6bci2sm5h3lnbbaw9ln19nwncg2wwll";
        libraryHaskellDepends = [
@@ -72854,7 +74508,6 @@ self: {
        benchmarkHaskellDepends = [ base deepseq microbench ];
        description = "Martin Erwig's Functional Graph Library";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "fgl-arbitrary" = callPackage
@@ -73055,6 +74708,26 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "file-embed-lzma" = callPackage
+    ({ mkDerivation, base, base-compat, bytestring, directory, filepath
+     , lzma, template-haskell, text, th-lift-instances, transformers
+     }:
+     mkDerivation {
+       pname = "file-embed-lzma";
+       version = "0";
+       sha256 = "0xqcgx4ysyjqrygnfabs169y4w986kwzvsaqh64h7x3wfi7z8v78";
+       revision = "1";
+       editedCabalFile = "18q9dgfdsr7r5mlqzhhgbx0bp4bv2xkpcsrihl655pwaj1lz1v2s";
+       libraryHaskellDepends = [
+         base base-compat bytestring directory filepath lzma
+         template-haskell text th-lift-instances transformers
+       ];
+       testHaskellDepends = [ base bytestring ];
+       homepage = "https://github.com/phadej/file-embed-lzma";
+       description = "Use Template Haskell to embed (LZMA compressed) data";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "file-embed-poly" = callPackage
     ({ mkDerivation, base, bytestring, directory, file-embed, filepath
      , hspec, template-haskell
@@ -73136,34 +74809,13 @@ self: {
      }) {};
 
   "filecache" = callPackage
-    ({ mkDerivation, base, directory, exceptions, hashable, hinotify
-     , lens, mtl, stm, strict-base-types, temporary
-     , unordered-containers
-     }:
-     mkDerivation {
-       pname = "filecache";
-       version = "0.2.9";
-       sha256 = "10fxjphldf2mi25pmx5l9j1073zb5lrhana2ysvkiazfmmjcvrh2";
-       libraryHaskellDepends = [
-         base exceptions hashable hinotify lens mtl stm strict-base-types
-         unordered-containers
-       ];
-       testHaskellDepends = [
-         base directory temporary unordered-containers
-       ];
-       homepage = "http://lpuppet.banquise.net/";
-       description = "A Linux-only cache system associating values to files";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "filecache_0_3_1" = callPackage
     ({ mkDerivation, base, containers, directory, exceptions, filepath
      , fsnotify, hspec, mtl, stm, strict-base-types, temporary, time
      }:
      mkDerivation {
        pname = "filecache";
-       version = "0.3.1";
-       sha256 = "199npfbnnbf01ygwj559ikz51bfz23pggnvgdmj2azscbd80mbq7";
+       version = "0.3.2";
+       sha256 = "1ddpji3293hrhw7rgl7b41prhffjsb7rgf5x2ijjbiblnzwazr42";
        libraryHaskellDepends = [
          base containers directory exceptions filepath fsnotify mtl stm
          strict-base-types time
@@ -73174,7 +74826,6 @@ self: {
        homepage = "http://lpuppet.banquise.net/";
        description = "A cache system associating values to files";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "filediff" = callPackage
@@ -73263,15 +74914,14 @@ self: {
        pname = "filepath-crypto";
        version = "0.1.0.0";
        sha256 = "1bj9haa4ignmk6c6gdiqb4rnwy395pwqdyfy4kgg0z16w0l39mw0";
-       revision = "2";
-       editedCabalFile = "00wjrwssdz98v2hafq271132bs766npgycqd5v2b5k0cd3mdk9lv";
+       revision = "4";
+       editedCabalFile = "11ch90kp5qlbhswjf7px1n0rhffn1hwsx7l0p7vpcdnwdkixb414";
        libraryHaskellDepends = [
          base binary bytestring case-insensitive cryptoids cryptoids-class
          cryptoids-types exceptions filepath sandi template-haskell
        ];
        description = "Reversable and secure encoding of object ids as filepaths";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "filepath-io-access" = callPackage
@@ -73301,7 +74951,6 @@ self: {
        homepage = "https://github.com/tonymorris/filepather";
        description = "Functions on System.FilePath";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "fileplow" = callPackage
@@ -73328,8 +74977,8 @@ self: {
      }:
      mkDerivation {
        pname = "filestore";
-       version = "0.6.3.1";
-       sha256 = "1pnqb816syl8j03wfk1p96vqlb64xkl45cxlkmqsriwi4ar0svw1";
+       version = "0.6.3.2";
+       sha256 = "0nx16b6nvzvzwrwrbyzjm7dh2ilk3vbrwr6r9m2c62ll1k99100v";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          base bytestring containers Diff directory filepath old-locale
@@ -73447,6 +75096,8 @@ self: {
        pname = "filtrable";
        version = "0.1.0.5";
        sha256 = "0znfhi3sxfnrhqnmll7dx9pyw5wcyvlj62b8ir9hz3cznvb7aakd";
+       revision = "1";
+       editedCabalFile = "0wa848jypc7vvr4y6h7rvfd6m8n1747889rqzybrl3cvm138572v";
        libraryHaskellDepends = [ base ];
        homepage = "https://github.com/strake/filtrable.hs";
        description = "Class of filtrable containers";
@@ -73460,15 +75111,14 @@ self: {
      }:
      mkDerivation {
        pname = "fin";
-       version = "0";
-       sha256 = "0nzjqw6q01rc6faqp30771v8mxz6cndzskkvfaj55ygp34faycih";
-       revision = "2";
-       editedCabalFile = "1fha5i24k3lh2ncg39dgki0fh7mg3k1p21bngmiqvnika8dnin5h";
+       version = "0.0.1";
+       sha256 = "0mqs6qayj2n54siz3bpab9z6sk9030wdaxgvgg9g36983yaqmlil";
        libraryHaskellDepends = [ base deepseq hashable ];
        testHaskellDepends = [ base inspection-testing tagged ];
        homepage = "https://github.com/phadej/vec";
        description = "Nat and Fin: peano naturals and finite numbers";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "final" = callPackage
@@ -73578,8 +75228,8 @@ self: {
      }:
      mkDerivation {
        pname = "fingertree";
-       version = "0.1.3.1";
-       sha256 = "08wqzrjdndd7svkil1wr964w4d7zay04nlg7dyzw7wm4d3d3ak4p";
+       version = "0.1.4.1";
+       sha256 = "192fyzv0pn1437wdpqg1l80rswkk4rw3w61r4bq7dhv354bdqy4p";
        libraryHaskellDepends = [ base ];
        testHaskellDepends = [
          base HUnit QuickCheck test-framework test-framework-hunit
@@ -73631,7 +75281,6 @@ self: {
        ];
        description = "Finite Fields";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "finite-typelits" = callPackage
@@ -73950,8 +75599,8 @@ self: {
     ({ mkDerivation, base, deepseq, doctest, filemanip, primitive }:
      mkDerivation {
        pname = "fixed-vector";
-       version = "1.0.0.0";
-       sha256 = "1y2250frzbx750jpp9qslmhfjdx9bn8aariwng3py3kz392p7x3g";
+       version = "1.1.0.0";
+       sha256 = "1iclmv1xkyr1wdszrahzdim6ilqvpxrhpsiammcxishg9gwvxl0y";
        libraryHaskellDepends = [ base deepseq primitive ];
        testHaskellDepends = [ base doctest filemanip primitive ];
        description = "Generic vectors with statically known size";
@@ -73988,6 +75637,7 @@ self: {
        ];
        description = "Binary instances for fixed-vector";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "fixed-vector-cereal" = callPackage
@@ -74012,12 +75662,27 @@ self: {
        pname = "fixed-vector-hetero";
        version = "0.4.0.0";
        sha256 = "1x163xw7r95xj8m7nrsbi090pvbmvqw6wplg5ki96k6wa5slidin";
+       revision = "1";
+       editedCabalFile = "0gc12lyp07yjs1xhdbfwllbw2ccdr131w0naxv5cn09bh9iay5xs";
        libraryHaskellDepends = [ base deepseq fixed-vector primitive ];
        homepage = "http://github.org/Shimuuar/fixed-vector-hetero";
        description = "Generic heterogeneous vectors";
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "fixed-vector-hetero_0_5_0_0" = callPackage
+    ({ mkDerivation, base, deepseq, fixed-vector, primitive }:
+     mkDerivation {
+       pname = "fixed-vector-hetero";
+       version = "0.5.0.0";
+       sha256 = "1446xsj030xr7zry2pqq0yxv4f0j46jmpisfmp357jb0n9l5kwm3";
+       libraryHaskellDepends = [ base deepseq fixed-vector primitive ];
+       homepage = "http://github.org/Shimuuar/fixed-vector-hetero";
+       description = "Generic heterogeneous vectors";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "fixed-width" = callPackage
     ({ mkDerivation, base }:
      mkDerivation {
@@ -74166,6 +75831,8 @@ self: {
        pname = "fixplate";
        version = "0.1.7";
        sha256 = "0brll5vkb3341l5iblrc1r50jzg8q6ycvbqvrc9jnj2nc86mslay";
+       revision = "1";
+       editedCabalFile = "0ynmm06iblqsyzfc068sdvmlpll8zwyccwkdlji3nf535biv56hb";
        libraryHaskellDepends = [ base containers ];
        testHaskellDepends = [
          base containers QuickCheck tasty tasty-quickcheck
@@ -74238,7 +75905,6 @@ self: {
        homepage = "https://github.com/chris-martin/fizzbuzz-as-a-service";
        description = "FizzBuzz as a service";
        license = stdenv.lib.licenses.asl20;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "flac" = callPackage
@@ -74250,8 +75916,8 @@ self: {
        pname = "flac";
        version = "0.1.2";
        sha256 = "0adc88h5dmazf9m2xah0qkcav3pm0l3jiy8wbg9fxjv1qpgv74jn";
-       revision = "1";
-       editedCabalFile = "1hl2dgf4ccbk0qk6yqdwr1qbdjp4yi25dhs595lmnf7wrhk7662f";
+       revision = "3";
+       editedCabalFile = "09xml5mv63q0wzw09s0ssjdzgnq041gr6gjhk63dr252rydnn4zh";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          base bytestring containers data-default-class directory exceptions
@@ -74276,6 +75942,8 @@ self: {
        pname = "flac-picture";
        version = "0.1.1";
        sha256 = "1kn1zvv5izinyidmxij7zqml94a8q52bbm2icg7704sj906gh71w";
+       revision = "1";
+       editedCabalFile = "02vdh61nzig0yrv6ja6fjlgfcznj5k4iqh3i5f9g5p078ycqb17w";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [ base bytestring flac JuicyPixels ];
        testHaskellDepends = [
@@ -74408,14 +76076,14 @@ self: {
      }) {};
 
   "flay" = callPackage
-    ({ mkDerivation, base, constraints, ghc-prim, tasty
-     , tasty-quickcheck
+    ({ mkDerivation, base, constraints, tasty, tasty-quickcheck
+     , transformers
      }:
      mkDerivation {
        pname = "flay";
-       version = "0.2";
-       sha256 = "1sdwcjjsgq0ba84474pdnvppg66vmqsqn6frb97ricdnyy78lg11";
-       libraryHaskellDepends = [ base constraints ghc-prim ];
+       version = "0.3";
+       sha256 = "1m5580xbmk9113ksx7b5z27b03b9w21ayn9y13hv7dk5khlividx";
+       libraryHaskellDepends = [ base constraints transformers ];
        testHaskellDepends = [ base tasty tasty-quickcheck ];
        homepage = "https://github.com/k0001/flay";
        description = "Work generically on your datatype without knowing its shape nor its contents";
@@ -74656,17 +76324,14 @@ self: {
        homepage = "http://github.com/hesselink/flock";
        description = "Wrapper for flock(2)";
        license = "unknown";
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "flow" = callPackage
     ({ mkDerivation, base, doctest, QuickCheck, template-haskell }:
      mkDerivation {
        pname = "flow";
-       version = "1.0.11";
-       sha256 = "11cgab1wyqdjzyx6ygh91yl03w70aivspmlavl4if6p9yr5z9rw7";
-       revision = "2";
-       editedCabalFile = "13gyzkk29qkq8pnfnxvq2ymag2r3f6h1hpxk7yhy1r3k9hmp5469";
+       version = "1.0.12";
+       sha256 = "0c9mg6d8krv7c0sxlkgcpvhcspb8g65hp0h7pgjql4644ivqpn3p";
        libraryHaskellDepends = [ base ];
        testHaskellDepends = [ base doctest QuickCheck template-haskell ];
        homepage = "https://github.com/tfausak/flow#readme";
@@ -74853,8 +76518,8 @@ self: {
      }:
      mkDerivation {
        pname = "fltkhs";
-       version = "0.5.4.4";
-       sha256 = "1bv7djak2ilirk7ajm8w6100bk6vx14znf3699blih72kyql6rgh";
+       version = "0.5.4.5";
+       sha256 = "17iqpnn0zgwifb937kllkfyz8qf37da90z8iyay348gy3siwjxic";
        isLibrary = true;
        isExecutable = true;
        setupHaskellDepends = [ base Cabal directory filepath ];
@@ -74950,6 +76615,7 @@ self: {
        benchmarkHaskellDepends = [ base criterion ];
        description = "A structured logger for Fluentd (Haskell)";
        license = stdenv.lib.licenses.asl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "fluent-logger-conduit" = callPackage
@@ -74965,6 +76631,7 @@ self: {
        ];
        description = "Conduit interface for fluent-logger";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "fluffy" = callPackage
@@ -75003,24 +76670,24 @@ self: {
      }) {};
 
   "fluid-idl" = callPackage
-    ({ mkDerivation, aeson, base, bytestring, containers, errors
-     , exceptions, hspec, lifted-async, monad-control, monad-logger, mtl
-     , random, safe-exceptions, scientific, text, text-conversions
-     , unordered-containers, vector
+    ({ mkDerivation, aeson, base, blaze-markup, bytestring, containers
+     , errors, exceptions, hspec, lifted-async, monad-control
+     , monad-logger, mtl, random, safe-exceptions, scientific, text
+     , text-conversions, unordered-containers, vector
      }:
      mkDerivation {
        pname = "fluid-idl";
-       version = "0.0.5";
-       sha256 = "1yv4qslqa335r6bwjpll45lz8y6pj3m8cvjzlc2xadg05m2yy89w";
+       version = "0.0.6";
+       sha256 = "06zdwvjdgv401h5gf3zagvxd01r20pldv327ag3d8clwvg51sgnr";
        libraryHaskellDepends = [
-         aeson base bytestring containers errors exceptions lifted-async
-         monad-control monad-logger mtl random safe-exceptions scientific
-         text text-conversions unordered-containers vector
+         aeson base blaze-markup bytestring containers errors exceptions
+         lifted-async monad-control monad-logger mtl random safe-exceptions
+         scientific text text-conversions unordered-containers vector
        ];
        testHaskellDepends = [
          aeson base containers hspec scientific text vector
        ];
-       description = "Fluid | The Programmatic IDL";
+       description = "Code-generated, Auto-versioned, & Smart Web APIs";
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
@@ -75110,6 +76777,8 @@ self: {
        pname = "fmt";
        version = "0.5.0.0";
        sha256 = "156iv5c5aqlc6mmc5qcnsa4plhp99n4mzmm8rspxrc84gkl1agnf";
+       revision = "1";
+       editedCabalFile = "1vdgh45qv5jk1ym4y54sjgk0cnqhrqqi6iirrw8drq20v1srbpl3";
        libraryHaskellDepends = [
          base base16-bytestring base64-bytestring bytestring containers
          microlens text text-format time time-locale-compat
@@ -75126,6 +76795,35 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "fmt_0_6" = callPackage
+    ({ mkDerivation, base, base64-bytestring, bytestring, call-stack
+     , containers, criterion, deepseq, doctest, doctest-discover
+     , formatting, hspec, interpolate, microlens, neat-interpolation
+     , text, time, time-locale-compat, vector
+     }:
+     mkDerivation {
+       pname = "fmt";
+       version = "0.6";
+       sha256 = "14hk6ra8j1zzw7ibimj207mi1xl5pmln6kyz0y66j4bg1r8invsy";
+       libraryHaskellDepends = [
+         base base64-bytestring bytestring containers formatting microlens
+         text time time-locale-compat
+       ];
+       testHaskellDepends = [
+         base bytestring call-stack containers doctest hspec
+         neat-interpolation text vector
+       ];
+       testToolDepends = [ doctest-discover ];
+       benchmarkHaskellDepends = [
+         base bytestring containers criterion deepseq formatting interpolate
+         text vector
+       ];
+       homepage = "http://github.com/aelve/fmt";
+       description = "A new formatting library";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "fn" = callPackage
     ({ mkDerivation, base, blaze-builder, bytestring, directory
      , filepath, hspec, http-types, resourcet, text
@@ -75187,8 +76885,8 @@ self: {
      }:
      mkDerivation {
        pname = "fold-debounce";
-       version = "0.2.0.6";
-       sha256 = "133q81c6gvk6zgn3zv5wkvp5sa6b5fvzf9i4facs9s00l7y2nrgk";
+       version = "0.2.0.7";
+       sha256 = "13y6l6ng5rrva0sx9sa4adp6p2yrpyfz91v3jbkamgh4g99w8zpz";
        libraryHaskellDepends = [
          base data-default-class stm stm-delay time
        ];
@@ -75204,8 +76902,8 @@ self: {
      }:
      mkDerivation {
        pname = "fold-debounce-conduit";
-       version = "0.1.0.5";
-       sha256 = "1k441whksiwss55j7q7iwhr90hdj02dy7jg2rhd2ijz1ysy76gi5";
+       version = "0.2.0.1";
+       sha256 = "02shx123yd9g9y8n9aj6ai6yrlcb7zjqyhvw530kw68ailnl762z";
        libraryHaskellDepends = [
          base conduit fold-debounce resourcet stm transformers
          transformers-base
@@ -75218,28 +76916,27 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "fold-debounce-conduit_0_2_0_0" = callPackage
-    ({ mkDerivation, base, conduit, fold-debounce, hspec, resourcet
-     , stm, transformers, transformers-base
+  "foldl" = callPackage
+    ({ mkDerivation, base, bytestring, comonad, containers
+     , contravariant, criterion, hashable, mwc-random, primitive
+     , profunctors, semigroups, text, transformers, unordered-containers
+     , vector, vector-builder
      }:
      mkDerivation {
-       pname = "fold-debounce-conduit";
-       version = "0.2.0.0";
-       sha256 = "0ba42cxcjr7llsx42qmzg6kc497c35rkm4ndm114p0nf1mijn8nr";
+       pname = "foldl";
+       version = "1.3.7";
+       sha256 = "113966zyk1jj8l1k1izfix8bc1hmpr9w1zahkz592f56wmvmy8kn";
        libraryHaskellDepends = [
-         base conduit fold-debounce resourcet stm transformers
-         transformers-base
-       ];
-       testHaskellDepends = [
-         base conduit hspec resourcet stm transformers
+         base bytestring comonad containers contravariant hashable
+         mwc-random primitive profunctors semigroups text transformers
+         unordered-containers vector vector-builder
        ];
-       homepage = "https://github.com/debug-ito/fold-debounce-conduit";
-       description = "Regulate input traffic from conduit Source with Control.FoldDebounce";
+       benchmarkHaskellDepends = [ base criterion ];
+       description = "Composable, streaming, and efficient left folds";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
-  "foldl" = callPackage
+  "foldl_1_4_0" = callPackage
     ({ mkDerivation, base, bytestring, comonad, containers
      , contravariant, criterion, hashable, mwc-random, primitive
      , profunctors, semigroups, text, transformers, unordered-containers
@@ -75247,8 +76944,8 @@ self: {
      }:
      mkDerivation {
        pname = "foldl";
-       version = "1.3.7";
-       sha256 = "113966zyk1jj8l1k1izfix8bc1hmpr9w1zahkz592f56wmvmy8kn";
+       version = "1.4.0";
+       sha256 = "16vx35yl853g9ql9ncpa6r29bg5cai40s7jnpjj2d06ij9cad955";
        libraryHaskellDepends = [
          base bytestring comonad containers contravariant hashable
          mwc-random primitive profunctors semigroups text transformers
@@ -75257,6 +76954,7 @@ self: {
        benchmarkHaskellDepends = [ base criterion ];
        description = "Composable, streaming, and efficient left folds";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "foldl-incremental" = callPackage
@@ -75332,6 +77030,7 @@ self: {
        ];
        description = "Transducers for foldl folds";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "foldl-transduce-attoparsec" = callPackage
@@ -75353,6 +77052,7 @@ self: {
        ];
        description = "Attoparsec and foldl-transduce integration";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "folds" = callPackage
@@ -75577,8 +77277,8 @@ self: {
        pname = "force-layout";
        version = "0.4.0.6";
        sha256 = "17956k3mab2xhrmfy7fj5gh08h43yjlsryi5acjhnkmin5arhwpp";
-       revision = "2";
-       editedCabalFile = "1dj785ih5bla68yzxkpsilwj1p1xv6a8rh76rz799aap5injda0z";
+       revision = "3";
+       editedCabalFile = "0rp5ggzdqy9i8bsjz7i36l8l2b04vjy6sqm6gxmb4pqmakj1x8q6";
        libraryHaskellDepends = [
          base containers data-default-class lens linear
        ];
@@ -75727,6 +77427,8 @@ self: {
        pname = "forma";
        version = "0.2.0";
        sha256 = "05rd0v908imlfvp5m3lb5mc629790yyazsj79rpx0svhnxgsgl00";
+       revision = "1";
+       editedCabalFile = "1hqay7gjhnlxya08qwmxnwriy958awafvyi7rws6wla5m1cq0wr6";
        libraryHaskellDepends = [
          aeson base containers data-default-class mtl text
          unordered-containers
@@ -75828,36 +77530,21 @@ self: {
      }) {};
 
   "formatting" = callPackage
-    ({ mkDerivation, base, clock, old-locale, scientific, text
-     , text-format, time
-     }:
-     mkDerivation {
-       pname = "formatting";
-       version = "6.2.5";
-       sha256 = "0k4z8b9x91m243kplx9gap1rqyvdszf3241aq7pkqwrybbzgm8yh";
-       libraryHaskellDepends = [
-         base clock old-locale scientific text text-format time
-       ];
-       description = "Combinator-based type-safe formatting (like printf() or FORMAT)";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "formatting_6_3_0" = callPackage
     ({ mkDerivation, array, base, bytestring, clock, ghc-prim, hspec
-     , integer-gmp, old-locale, scientific, text, time, transformers
+     , integer-gmp, old-locale, scientific, semigroups, text, time
+     , transformers
      }:
      mkDerivation {
        pname = "formatting";
-       version = "6.3.0";
-       sha256 = "16xngayk1jd92bj2qaf7fmrgzdskdnc7rsgpk1ij06xd8cdgahf1";
+       version = "6.3.4";
+       sha256 = "1rcnnzbn1671lcwllpppgh3yv99k83y2n40r8mgsk08hsk1qs0wx";
        libraryHaskellDepends = [
          array base bytestring clock ghc-prim integer-gmp old-locale
-         scientific text time transformers
+         scientific semigroups text time transformers
        ];
-       testHaskellDepends = [ base hspec ];
+       testHaskellDepends = [ base hspec semigroups ];
        description = "Combinator-based type-safe formatting (like printf() or FORMAT)";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "forml" = callPackage
@@ -76102,22 +77789,6 @@ self: {
     ({ mkDerivation, base, basement, gauge, ghc-prim }:
      mkDerivation {
        pname = "foundation";
-       version = "0.0.17";
-       sha256 = "00f2p47h715fjb3rpsxlf4jskgwk9sz5p692r09gspspqmrs5l84";
-       revision = "1";
-       editedCabalFile = "15y38y0mj4vc694jwh3cjgnq8xv5vv7954g633f7mw5f0hb3yxkn";
-       libraryHaskellDepends = [ base basement ghc-prim ];
-       testHaskellDepends = [ base basement ];
-       benchmarkHaskellDepends = [ base basement gauge ];
-       homepage = "https://github.com/haskell-foundation/foundation";
-       description = "Alternative prelude with batteries and no dependencies";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "foundation_0_0_20" = callPackage
-    ({ mkDerivation, base, basement, gauge, ghc-prim }:
-     mkDerivation {
-       pname = "foundation";
        version = "0.0.20";
        sha256 = "0bg4g0xf4pb2vmahnfp8c4f0a3v0av73lb5g8bwnp170khxfcsms";
        libraryHaskellDepends = [ base basement ghc-prim ];
@@ -76126,7 +77797,6 @@ self: {
        homepage = "https://github.com/haskell-foundation/foundation";
        description = "Alternative prelude with batteries and no dependencies";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "foundation-edge" = callPackage
@@ -76428,36 +78098,14 @@ self: {
 
   "free" = callPackage
     ({ mkDerivation, base, bifunctors, comonad, containers
-     , distributive, exceptions, mtl, prelude-extras, profunctors
-     , semigroupoids, semigroups, template-haskell, transformers
-     , transformers-compat
-     }:
-     mkDerivation {
-       pname = "free";
-       version = "4.12.4";
-       sha256 = "1147s393442xf4gkpbq0rd1p286vmykgx85mxhk5d1c7wfm4bzn9";
-       libraryHaskellDepends = [
-         base bifunctors comonad containers distributive exceptions mtl
-         prelude-extras profunctors semigroupoids semigroups
-         template-haskell transformers transformers-compat
-       ];
-       homepage = "http://github.com/ekmett/free/";
-       description = "Monads for free";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "free_5" = callPackage
-    ({ mkDerivation, base, bifunctors, comonad, containers
      , distributive, exceptions, mtl, profunctors, semigroupoids
      , semigroups, template-haskell, transformers, transformers-base
      , transformers-compat
      }:
      mkDerivation {
        pname = "free";
-       version = "5";
-       sha256 = "1s4avwm4lnscmxv3fy0zws3vbg61sczgxm1m3cdnqxp95bd6p4c7";
-       revision = "1";
-       editedCabalFile = "13kxrs6097cwh80hawdmdrz4l5cqmrwkxh667spx8hx390102ddf";
+       version = "5.0.2";
+       sha256 = "15m3n9vhz7z3kzv1w3wlfa3x8jp4cbrkwmrcjr7jlx39iqffn1gg";
        libraryHaskellDepends = [
          base bifunctors comonad containers distributive exceptions mtl
          profunctors semigroupoids semigroups template-haskell transformers
@@ -76466,7 +78114,6 @@ self: {
        homepage = "http://github.com/ekmett/free/";
        description = "Monads for free";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "free-concurrent" = callPackage
@@ -76504,8 +78151,8 @@ self: {
      }:
      mkDerivation {
        pname = "free-functors";
-       version = "0.8.3";
-       sha256 = "01qf4bbmp86c5i429fa440brb62py51afg74xrh31yzddw1iwszp";
+       version = "0.8.4";
+       sha256 = "0qdllnqghnx6j51zyxqblnz809w7l86qp0d9dg8a4l4kllp1y703";
        libraryHaskellDepends = [
          algebraic-classes base bifunctors comonad constraints contravariant
          profunctors template-haskell transformers
@@ -76513,6 +78160,7 @@ self: {
        homepage = "https://github.com/sjoerdvisscher/free-functors";
        description = "Free functors, adjoint to functors that forget class constraints";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "free-game" = callPackage
@@ -76665,18 +78313,20 @@ self: {
      }) {};
 
   "free-vector-spaces" = callPackage
-    ({ mkDerivation, base, lens, linear, MemoTrie, vector, vector-space
+    ({ mkDerivation, base, lens, linear, MemoTrie, pragmatic-show
+     , vector, vector-space
      }:
      mkDerivation {
        pname = "free-vector-spaces";
-       version = "0.1.4.0";
-       sha256 = "057l1fnkqyqnjbhzjz2jjlcrsmkcv2gd16gb5n3j99crw97s62xj";
+       version = "0.1.5.0";
+       sha256 = "0rf6yhjcd2x4yj2jvyl6yc8x55a2hqhj5mxzg4f24734agh720z1";
        libraryHaskellDepends = [
-         base lens linear MemoTrie vector vector-space
+         base lens linear MemoTrie pragmatic-show vector vector-space
        ];
        homepage = "https://github.com/leftaroundabout/free-vector-spaces";
        description = "Instantiate the classes from the vector-space package with types from linear";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "free-vl" = callPackage
@@ -76824,32 +78474,6 @@ self: {
      }:
      mkDerivation {
        pname = "freer-simple";
-       version = "1.0.1.1";
-       sha256 = "1fdxj1iyh8jl2nghrm51r7gvlk1qwzrjjhj13f0akwrm2s0la1jb";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         base natural-transformation transformers-base
-       ];
-       executableHaskellDepends = [ base ];
-       testHaskellDepends = [
-         base QuickCheck tasty tasty-hunit tasty-quickcheck
-       ];
-       benchmarkHaskellDepends = [
-         base criterion extensible-effects free mtl
-       ];
-       homepage = "https://github.com/lexi-lambda/freer-simple#readme";
-       description = "Implementation of a friendly effect system for Haskell";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "freer-simple_1_1_0_0" = callPackage
-    ({ mkDerivation, base, criterion, extensible-effects, free, mtl
-     , natural-transformation, QuickCheck, tasty, tasty-hunit
-     , tasty-quickcheck, transformers-base
-     }:
-     mkDerivation {
-       pname = "freer-simple";
        version = "1.1.0.0";
        sha256 = "00dvn620xg24pxw1h9p7dgl5wj25q77mfdsmxlmijsr0ysqwv611";
        isLibrary = true;
@@ -76867,7 +78491,6 @@ self: {
        homepage = "https://github.com/lexi-lambda/freer-simple#readme";
        description = "Implementation of a friendly effect system for Haskell";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "freesect" = callPackage
@@ -76954,6 +78577,17 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "freq" = callPackage
+    ({ mkDerivation }:
+     mkDerivation {
+       pname = "freq";
+       version = "0.0.0";
+       sha256 = "0vrhdmhahhxp43312864mvq38w8100970n92vjd77fj50cbh0r2i";
+       doHaddock = false;
+       description = "TBA";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "fresco-binding" = callPackage
     ({ mkDerivation, base, binary, binary-serialise-cbor, bytestring
      , containers, text, unix
@@ -76967,6 +78601,7 @@ self: {
        ];
        description = "Fresco binding for Haskell";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "fresh" = callPackage
@@ -77029,13 +78664,13 @@ self: {
      }:
      mkDerivation {
        pname = "friday-juicypixels";
-       version = "0.1.2.3";
-       sha256 = "19j321vqca8sl366j3acdskr8zhzcki429zxzs8xawdmxqh93vzv";
+       version = "0.1.2.4";
+       sha256 = "0gxfj3x5w65dfnkf6ymjs27w2i14yv2m218qgmvx1p80wy7q4nbd";
        libraryHaskellDepends = [ base friday JuicyPixels vector ];
        testHaskellDepends = [
          base bytestring file-embed friday hspec JuicyPixels
        ];
-       homepage = "https://github.com/TomMD/friday-juicypixels";
+       homepage = "github.com/TomMD/friday-juicypixels";
        description = "Converts between the Friday and JuicyPixels image types";
        license = stdenv.lib.licenses.bsd3;
      }) {};
@@ -77057,6 +78692,21 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "friendly" = callPackage
+    ({ mkDerivation, base, bifunctors, lens, optparse-applicative }:
+     mkDerivation {
+       pname = "friendly";
+       version = "0.1.0.0";
+       sha256 = "0ikbfki5yvagc3xjbqwmzzp29idfviaylnan6cr39kna6fc8ajgx";
+       isLibrary = false;
+       isExecutable = true;
+       executableHaskellDepends = [
+         base bifunctors lens optparse-applicative
+       ];
+       description = "Attempt to pretty-print any input";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "friendly-time" = callPackage
     ({ mkDerivation, base, hspec, old-locale, time }:
      mkDerivation {
@@ -77131,8 +78781,8 @@ self: {
     ({ mkDerivation, base, containers, mtl }:
      mkDerivation {
        pname = "frp-arduino";
-       version = "0.1.0.3";
-       sha256 = "00659x5f5dq4lb25ss880cqggqc63i7wqik04qvzk1kq3dl9six5";
+       version = "0.1.1.0";
+       sha256 = "18mnxlwlyh4q18xc9svpwma3qgwp473dfg1z1rmdll6za82zmvzn";
        libraryHaskellDepends = [ base containers mtl ];
        homepage = "http://github.com/frp-arduino/frp-arduino";
        description = "Arduino programming without the hassle of C";
@@ -77200,6 +78850,22 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "frpnow-vty" = callPackage
+    ({ mkDerivation, base, containers, frpnow, vty }:
+     mkDerivation {
+       pname = "frpnow-vty";
+       version = "0.2.0.1";
+       sha256 = "06rd09a13kssxzbspm1r172m5wf94fph0sjm78jd29d8ml279p1h";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [ base frpnow vty ];
+       executableHaskellDepends = [ base containers frpnow vty ];
+       homepage = "https://github.com/noughtmare/frpnow-vty";
+       description = "Program terminal applications with vty and frpnow!";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "frquotes" = callPackage
     ({ mkDerivation, base }:
      mkDerivation {
@@ -77275,6 +78941,8 @@ self: {
        pname = "fsnotify";
        version = "0.2.1.1";
        sha256 = "146wsblhfwnbclzffxk6m43bqap3sgw332gs67030z6h5ab7anhp";
+       revision = "1";
+       editedCabalFile = "0kag32lqkjmv03bycf6ip2vd6vzpcpq4iqs6ivyjh93v40252xxp";
        libraryHaskellDepends = [
          async base containers directory filepath hinotify text time
          unix-compat
@@ -77288,6 +78956,29 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "fsnotify_0_2_1_2" = callPackage
+    ({ mkDerivation, async, base, bytestring, containers, directory
+     , filepath, hinotify, tasty, tasty-hunit, temporary, text, time
+     , unix-compat
+     }:
+     mkDerivation {
+       pname = "fsnotify";
+       version = "0.2.1.2";
+       sha256 = "1384yksg5v1rsbbhncairxh8ahwqmg661mgc2yrcs6hbnv5jzjyp";
+       libraryHaskellDepends = [
+         async base bytestring containers directory filepath hinotify text
+         time unix-compat
+       ];
+       testHaskellDepends = [
+         async base directory filepath tasty tasty-hunit temporary
+         unix-compat
+       ];
+       homepage = "https://github.com/haskell-fswatch/hfsnotify";
+       description = "Cross platform library for file change notification";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "fsnotify-conduit" = callPackage
     ({ mkDerivation, async, base, conduit, directory, filepath
      , fsnotify, hspec, resourcet, temporary, transformers
@@ -77306,6 +78997,7 @@ self: {
        homepage = "https://github.com/fpco/fsnotify-conduit#readme";
        description = "Get filesystem notifications as a stream of events";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "fst" = callPackage
@@ -77674,22 +79366,6 @@ self: {
      }) {};
 
   "funcmp" = callPackage
-    ({ mkDerivation, base, filepath, process }:
-     mkDerivation {
-       pname = "funcmp";
-       version = "1.8";
-       sha256 = "09kmfgl15d71fr5h66j2b0ngw69y8dp41d55lz35nrjxq3l3gz1k";
-       revision = "1";
-       editedCabalFile = "1fkjmx4mmfmf2y08w7mgw1rp6q6w9zxdj95zfydgxgkmvk9b37c4";
-       enableSeparateDataOutput = true;
-       libraryHaskellDepends = [ base filepath process ];
-       homepage = "https://github.com/peti/funcmp";
-       description = "Functional MetaPost";
-       license = stdenv.lib.licenses.gpl3;
-       maintainers = with stdenv.lib.maintainers; [ peti ];
-     }) {};
-
-  "funcmp_1_9" = callPackage
     ({ mkDerivation, base, filepath, pretty, process }:
      mkDerivation {
        pname = "funcmp";
@@ -77700,27 +79376,29 @@ self: {
        homepage = "https://github.com/peti/funcmp";
        description = "Functional MetaPost is a Haskell frontend to the MetaPost language";
        license = stdenv.lib.licenses.gpl3;
-       hydraPlatforms = stdenv.lib.platforms.none;
        maintainers = with stdenv.lib.maintainers; [ peti ];
      }) {};
 
   "funcons-tools" = callPackage
-    ({ mkDerivation, base, bv, containers, directory, mtl, multiset
-     , parsec, split, text, vector
+    ({ mkDerivation, base, bv, containers, directory, funcons-values
+     , gll, mtl, multiset, random-strings, regex-applicative, split
+     , text, TypeCompose, vector
      }:
      mkDerivation {
        pname = "funcons-tools";
-       version = "0.1.0.0";
-       sha256 = "1vwnznj92cm2g1m2xlvj8b5qzaspl3zrygr5z7b8593qylm6bwlr";
-       revision = "2";
-       editedCabalFile = "0530f406ykmb4xxmh7knmaxgcpym7n2wl6d2ylvrn3azqfdsvsgy";
+       version = "0.2.0.1";
+       sha256 = "1a27xhzakvrc29kli293ivkzmqfma71s942a9bsyvss15g1881fn";
+       revision = "1";
+       editedCabalFile = "1lfqgrrc814j0zyx2z8v0nx367bgifr93gb86dd4hshz2vvq5b49";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         base bv containers directory mtl multiset parsec split text vector
+         base bv containers directory funcons-values gll mtl multiset
+         random-strings regex-applicative split text TypeCompose vector
        ];
        executableHaskellDepends = [
-         base bv containers directory mtl multiset parsec split text vector
+         base bv containers directory funcons-values gll mtl multiset
+         random-strings regex-applicative split text TypeCompose vector
        ];
        homepage = "http://plancomps.org";
        description = "A modular interpreter for executing funcons";
@@ -77728,6 +79406,22 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "funcons-values" = callPackage
+    ({ mkDerivation, base, bv, containers, multiset, random-strings
+     , text, vector
+     }:
+     mkDerivation {
+       pname = "funcons-values";
+       version = "0.1.0.2";
+       sha256 = "0pywpqnjhwny1l1kz6hn135rbmgdglzpvfvq4ffjllzdj2w9ciy2";
+       libraryHaskellDepends = [
+         base bv containers multiset random-strings text vector
+       ];
+       homepage = "http://plancomps.org";
+       description = "Library providing values and operations on values";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "function-combine" = callPackage
     ({ mkDerivation, base, data-type }:
      mkDerivation {
@@ -77811,8 +79505,8 @@ self: {
        pname = "functor-classes-compat";
        version = "1";
        sha256 = "0vrnl5crr7d2wsm4ryx26g98j23dpk7x5p31xrbnckd78i7zj4gg";
-       revision = "1";
-       editedCabalFile = "04blby010250gyg0v7nwdr9hwzvkapmfy9xn5522h8jmb3yygh8l";
+       revision = "2";
+       editedCabalFile = "07ldwmqfwi2lgnmia5bb0885664a54g2q55f91swgafb11n0csqg";
        libraryHaskellDepends = [
          base containers hashable unordered-containers vector
        ];
@@ -77875,13 +79569,13 @@ self: {
      }) {};
 
   "functor-utils" = callPackage
-    ({ mkDerivation, base, ghc-prim }:
+    ({ mkDerivation, base, ghc-prim, lens }:
      mkDerivation {
        pname = "functor-utils";
-       version = "1.1";
-       sha256 = "1finmjwpw4sjzwifjmcpb90wmy7abhdnrhz2p5s7fxw68vccnm50";
-       libraryHaskellDepends = [ base ghc-prim ];
-       homepage = "https://github.com/wdanilo/functor-utils";
+       version = "1.17.1";
+       sha256 = "1ixssxdhw94l1kjxd5k4gvq8wz4b9d0vww5mg2al9q3vzb7d4pld";
+       libraryHaskellDepends = [ base ghc-prim lens ];
+       homepage = "https://github.com/luna/functor-utils";
        description = "Collection of functor utilities, providing handy operators, like generalization of (.).";
        license = stdenv.lib.licenses.asl20;
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -77911,6 +79605,45 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "funflow" = callPackage
+    ({ mkDerivation, aeson, async, base, bytestring, clock, constraints
+     , containers, contravariant, cryptonite, data-default, directory
+     , exceptions, filepath, ghc-prim, hashable, hedis, hinotify
+     , hostname, integer-gmp, katip, lens, lifted-async, memory
+     , monad-control, mtl, optparse-applicative, path, path-io, pretty
+     , process, random, safe-exceptions, scientific, sqlite-simple, stm
+     , store, tasty, tasty-hunit, template-haskell, temporary, text
+     , time, transformers, unix, unordered-containers, vector, yaml
+     }:
+     mkDerivation {
+       pname = "funflow";
+       version = "1.0.0";
+       sha256 = "1lcww83dzhbmml5l4yrypbw18l8x1m3pzblcnmgd90a9874gmq0f";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson async base bytestring clock constraints containers
+         contravariant cryptonite data-default directory exceptions filepath
+         ghc-prim hashable hedis hinotify hostname integer-gmp katip lens
+         lifted-async memory monad-control mtl path path-io pretty process
+         random safe-exceptions scientific sqlite-simple stm store
+         template-haskell text time transformers unix unordered-containers
+         vector yaml
+       ];
+       executableHaskellDepends = [
+         base bytestring clock hedis optparse-applicative path
+         safe-exceptions text unix
+       ];
+       testHaskellDepends = [
+         async base containers data-default directory filepath hedis path
+         path-io process random safe-exceptions tasty tasty-hunit temporary
+         text unix
+       ];
+       homepage = "https://github.com/tweag/funflow";
+       description = "Workflows with arrows";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "funion" = callPackage
     ({ mkDerivation, base, bytestring, directory, filepath, haskell98
      , HFuse, unix
@@ -78065,6 +79798,20 @@ self: {
        homepage = "http://github.com/joom/fuzzy";
        description = "Filters a list based on a fuzzy string search";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "fuzzy-dates" = callPackage
+    ({ mkDerivation, base, hourglass, hspec, lens, parsec }:
+     mkDerivation {
+       pname = "fuzzy-dates";
+       version = "0.1.1.1";
+       sha256 = "1hanmwzr1g11am4z3r9wrkzfycvk76a03cg9bqpifidv7y9hcd73";
+       libraryHaskellDepends = [ base hourglass hspec lens parsec ];
+       testHaskellDepends = [ base hourglass hspec lens parsec ];
+       homepage = "https://github.com/ReedOei/fuzzy-dates#readme";
+       description = "Libary for parsing dates in strings in varied formats";
+       license = stdenv.lib.licenses.bsd3;
      }) {};
 
   "fuzzy-timings" = callPackage
@@ -78384,6 +80131,19 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "garlic-bread" = callPackage
+    ({ mkDerivation, base, hspec, mtl, transformers }:
+     mkDerivation {
+       pname = "garlic-bread";
+       version = "0.1.0.1";
+       sha256 = "1mky2jm8qadlv4534xnzfn4r24dipw6ac8s3wpkf90mxw9s6m8xm";
+       libraryHaskellDepends = [ base mtl transformers ];
+       testHaskellDepends = [ base hspec mtl transformers ];
+       homepage = "https://github.com/parsonsmatt/garlic-bread#readme";
+       description = "A monad transformer for keeping track of where you've come from";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "garsia-wachs" = callPackage
     ({ mkDerivation, base }:
      mkDerivation {
@@ -78407,28 +80167,6 @@ self: {
      }) {};
 
   "gauge" = callPackage
-    ({ mkDerivation, base, basement, bytestring, code-page, containers
-     , deepseq, directory, HUnit, math-functions, mwc-random, tasty
-     , tasty-hunit, vector
-     }:
-     mkDerivation {
-       pname = "gauge";
-       version = "0.1.3";
-       sha256 = "1i97f00haj4832s2arbnqq19dpna54ygmchvnqkq00hsxk38cyc0";
-       libraryHaskellDepends = [
-         base basement code-page containers deepseq math-functions
-         mwc-random vector
-       ];
-       testHaskellDepends = [
-         base bytestring deepseq directory HUnit tasty tasty-hunit
-       ];
-       benchmarkHaskellDepends = [ base ];
-       homepage = "https://github.com/vincenthz/hs-gauge";
-       description = "small framework for performance measurement and analysis";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "gauge_0_2_1" = callPackage
     ({ mkDerivation, base, basement, bytestring, deepseq, directory
      , HUnit, process, tasty, tasty-hunit, vector
      }:
@@ -78446,7 +80184,6 @@ self: {
        homepage = "https://github.com/vincenthz/hs-gauge";
        description = "small framework for performance measurement and analysis";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "gbu" = callPackage
@@ -78786,6 +80523,7 @@ self: {
        homepage = "https://github.com/schell/gelatin";
        description = "A graphics description language";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "gelatin-freetype2" = callPackage
@@ -78804,6 +80542,7 @@ self: {
        homepage = "https://github.com/schell/gelatin/gelatin-freetype2#readme";
        description = "FreeType2 based text rendering for the gelatin realtime rendering system";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "gelatin-fruity" = callPackage
@@ -78816,6 +80555,7 @@ self: {
        homepage = "https://github.com/schell/gelatin-fruity#readme";
        description = "Gelatin's support for rendering TTF outlines, using FontyFruity";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "gelatin-gl" = callPackage
@@ -78838,6 +80578,7 @@ self: {
        homepage = "https://github.com/schell/gelatin/gelatin-gl";
        description = "OpenGL rendering routines for the gelatin-picture graphics EDSL";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "gelatin-sdl2" = callPackage
@@ -78856,6 +80597,7 @@ self: {
        homepage = "https://github.com/schell/gelatin";
        description = "An SDL2 backend for the gelatin renderer";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "gelatin-shaders" = callPackage
@@ -78869,6 +80611,7 @@ self: {
        homepage = "https://github.com/schell/gelatin-shaders#readme";
        description = "Gelatin's OpenGL shaders";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "gemstone" = callPackage
@@ -78999,23 +80742,6 @@ self: {
      }:
      mkDerivation {
        pname = "general-games";
-       version = "1.0.5";
-       sha256 = "0lra0dn1nnvkbbc5x3sxn10z7vziwzvlvg153l3xi6daqhch6za2";
-       libraryHaskellDepends = [
-         base monad-loops MonadRandom random random-shuffle
-       ];
-       testHaskellDepends = [ base hspec HUnit MonadRandom ];
-       homepage = "https://github.com/cgorski/general-games";
-       description = "Library supporting simulation of a number of games";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-
-  "general-games_1_1_1" = callPackage
-    ({ mkDerivation, base, hspec, HUnit, monad-loops, MonadRandom
-     , random, random-shuffle
-     }:
-     mkDerivation {
-       pname = "general-games";
        version = "1.1.1";
        sha256 = "1h2h6dbd12xzvgwm7a26scpjyfkcwkmpdkw98nkmb2vk8qsrx3lb";
        libraryHaskellDepends = [
@@ -79025,7 +80751,6 @@ self: {
        homepage = "https://github.com/cgorski/general-games";
        description = "Library supporting simulation of a number of games";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "general-prelude" = callPackage
@@ -79096,8 +80821,8 @@ self: {
        pname = "generic-aeson";
        version = "0.2.0.9";
        sha256 = "1jw4rmfsky8r8551ddjy0i3va3dj37flzf23gxniyam7zy8kzh9l";
-       revision = "2";
-       editedCabalFile = "05hn4bjqrx1fimlwwbv9358806m4q1dkbfw886lpkkhbflr7jmn9";
+       revision = "3";
+       editedCabalFile = "0dlxl7p1nf8d4yh6r5yfdnrsn4wb5wl7bj9ymln744b498frlfln";
        libraryHaskellDepends = [
          aeson attoparsec base generic-deriving mtl tagged text
          unordered-containers vector
@@ -79145,6 +80870,21 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "generic-data" = callPackage
+    ({ mkDerivation, base, contravariant, show-combinators, tasty
+     , tasty-hunit
+     }:
+     mkDerivation {
+       pname = "generic-data";
+       version = "0.1.0.0";
+       sha256 = "1fc2q8wzs67ww0dy00wsyyqnhb5igrpqsvi1hwxxsq5z00icvk6z";
+       libraryHaskellDepends = [ base contravariant show-combinators ];
+       testHaskellDepends = [ base tasty tasty-hunit ];
+       homepage = "https://github.com/Lysxia/generic-data#readme";
+       description = "Utilities for GHC.Generics";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "generic-deepseq" = callPackage
     ({ mkDerivation, base, ghc-prim }:
      mkDerivation {
@@ -79224,6 +80964,27 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "generic-lens_1_0_0_1" = callPackage
+    ({ mkDerivation, base, criterion, deepseq, doctest, HUnit
+     , inspection-testing, lens, profunctors, QuickCheck, tagged
+     }:
+     mkDerivation {
+       pname = "generic-lens";
+       version = "1.0.0.1";
+       sha256 = "0j83ynggqfaxp9g36lkjl9af57qixid9j1x1ljglny1zxqkgm888";
+       libraryHaskellDepends = [ base profunctors tagged ];
+       testHaskellDepends = [
+         base doctest HUnit inspection-testing lens profunctors
+       ];
+       benchmarkHaskellDepends = [
+         base criterion deepseq lens QuickCheck
+       ];
+       homepage = "https://github.com/kcsongor/generic-lens";
+       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 {
@@ -79294,29 +81055,15 @@ self: {
     ({ mkDerivation, base, QuickCheck }:
      mkDerivation {
        pname = "generic-random";
-       version = "1.0.0.0";
-       sha256 = "16wlfmfms5544aag1bkzaq9wwsd5zkq7mhwlz9fvsngmkbfa07g7";
-       revision = "3";
-       editedCabalFile = "12l53dxv400g9fvz07jv42gn7x6825kxsyvpnhd3snsklvjrhl70";
-       libraryHaskellDepends = [ base QuickCheck ];
-       testHaskellDepends = [ base QuickCheck ];
-       homepage = "http://github.com/lysxia/generic-random";
-       description = "Generic random generators";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-
-  "generic-random_1_1_0_2" = callPackage
-    ({ mkDerivation, base, QuickCheck }:
-     mkDerivation {
-       pname = "generic-random";
        version = "1.1.0.2";
        sha256 = "0zslrz4cizw8c76q5szgmpc58f25hx4qf01lavxshynn771cx271";
+       revision = "1";
+       editedCabalFile = "1qhjsxaadvnh41qrlnzp2wxrbxxsbsz9np4mhwq5vck07kqws5bk";
        libraryHaskellDepends = [ base QuickCheck ];
        testHaskellDepends = [ base QuickCheck ];
        homepage = "http://github.com/lysxia/generic-random";
        description = "Generic random generators";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "generic-records" = callPackage
@@ -79370,8 +81117,10 @@ self: {
     ({ mkDerivation, base, containers, transformers }:
      mkDerivation {
        pname = "generic-trie";
-       version = "0.3.0.2";
-       sha256 = "1sgqmc81m7fivla96lx2a8qqm8vg5jczqsaajblf0ygdjmg9lc9q";
+       version = "0.3.1";
+       sha256 = "1x7f5bp7d13g737198l43y2mf9mzngg9vmhyh1yaxg8xfpzc3anh";
+       revision = "1";
+       editedCabalFile = "0rr6fncm17ff7z9jdb90gvd03smd8vlhmhzf5b9hzms7s2scnvh6";
        libraryHaskellDepends = [ base containers transformers ];
        homepage = "http://github.com/glguy/tries";
        description = "A map, where the keys may be complex structured data";
@@ -79402,8 +81151,8 @@ self: {
        pname = "generic-xmlpickler";
        version = "0.1.0.5";
        sha256 = "1brnlgnbys811qy64aps2j03ks2p0rkihaqzaszfwl80cpsn05ym";
-       revision = "6";
-       editedCabalFile = "0jc2rnh8kyzay8ny59ahqb9q6vmp7si4aps1a42la79735078x51";
+       revision = "7";
+       editedCabalFile = "0v4sqm0m8vr2i6hinx0mpax3mz73mvf21bdbga0vdgx7dac2nvkb";
        libraryHaskellDepends = [ base generic-deriving hxt text ];
        testHaskellDepends = [
          base hxt hxt-pickle-utils tasty tasty-hunit tasty-th
@@ -79415,28 +81164,51 @@ self: {
 
   "generics-eot" = callPackage
     ({ mkDerivation, base, directory, doctest, filepath, hspec
-     , interpolate, markdown-unlit, mockery, QuickCheck, shake
+     , hspec-discover, interpolate, markdown-unlit, mockery, QuickCheck
+     , shake
      }:
      mkDerivation {
        pname = "generics-eot";
-       version = "0.2.1.1";
-       sha256 = "1n6h90vjr0q1xckr5xyv2gfncvhs8l4k63r4mf3bqdxdsa6jkbw9";
+       version = "0.2.1.2";
+       sha256 = "07vaywcqrp9jcsbcgj63i5mcs3zbf69zprkkmh9in3rnkvq9cfjf";
        libraryHaskellDepends = [ base markdown-unlit ];
        testHaskellDepends = [
          base directory doctest filepath hspec interpolate markdown-unlit
          mockery QuickCheck shake
        ];
+       testToolDepends = [ hspec-discover ];
        homepage = "https://github.com/soenkehahn/generics-eot#readme";
        description = "A library for generic programming that aims to be easy to understand";
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "generics-eot_0_4" = callPackage
+    ({ mkDerivation, base, directory, doctest, filepath, hspec
+     , interpolate, markdown-unlit, mockery, QuickCheck, shake, silently
+     }:
+     mkDerivation {
+       pname = "generics-eot";
+       version = "0.4";
+       sha256 = "16yfzv9aqyizm57r5m5ddwdnlh05fvlrxjn6m3vqz33kvy3drgjs";
+       libraryHaskellDepends = [ base ];
+       testHaskellDepends = [
+         base directory doctest filepath hspec interpolate markdown-unlit
+         mockery QuickCheck shake silently
+       ];
+       homepage = "https://generics-eot.readthedocs.io/";
+       description = "A library for generic programming that aims to be easy to understand";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "generics-sop" = callPackage
     ({ mkDerivation, base, deepseq, ghc-prim, template-haskell }:
      mkDerivation {
        pname = "generics-sop";
        version = "0.3.2.0";
        sha256 = "168v62i845jh9jbfaz3ldz8svz4wmzq9mf2vhb7pxlnbkk8fqq1h";
+       revision = "2";
+       editedCabalFile = "0hc00hjgxm7vzq146d9kwapgqnjbhdi0c7icyvrpc2fhc4cnwlwf";
        libraryHaskellDepends = [ base deepseq ghc-prim template-haskell ];
        testHaskellDepends = [ base ];
        description = "Generic Programming using True Sums of Products";
@@ -79708,6 +81480,20 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "genvalidity_0_5_0_2" = callPackage
+    ({ mkDerivation, base, hspec, QuickCheck, validity }:
+     mkDerivation {
+       pname = "genvalidity";
+       version = "0.5.0.2";
+       sha256 = "1l1lv8k8gl7i5zd54636ihbwddgq49088lgb2gragm05cki823c1";
+       libraryHaskellDepends = [ base QuickCheck validity ];
+       testHaskellDepends = [ base hspec QuickCheck ];
+       homepage = "https://github.com/NorfairKing/validity#readme";
+       description = "Testing utilities for the validity library";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "genvalidity-aeson" = callPackage
     ({ mkDerivation, aeson, base, genvalidity, genvalidity-hspec
      , genvalidity-scientific, genvalidity-text
@@ -79732,6 +81518,30 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "genvalidity-aeson_0_2_0_0" = callPackage
+    ({ mkDerivation, aeson, base, genvalidity, genvalidity-hspec
+     , genvalidity-scientific, genvalidity-text
+     , genvalidity-unordered-containers, genvalidity-vector, hspec
+     , QuickCheck, validity, validity-aeson
+     }:
+     mkDerivation {
+       pname = "genvalidity-aeson";
+       version = "0.2.0.0";
+       sha256 = "0lwy2r7gb5s26hilgxs2hf8zcn4dhdwqhr8r05zrvjcry4inn5mm";
+       libraryHaskellDepends = [
+         aeson base genvalidity genvalidity-scientific genvalidity-text
+         genvalidity-unordered-containers genvalidity-vector QuickCheck
+         validity validity-aeson
+       ];
+       testHaskellDepends = [
+         aeson base genvalidity genvalidity-hspec hspec
+       ];
+       homepage = "https://github.com/NorfairKing/validity#readme";
+       description = "GenValidity support for aeson";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "genvalidity-bytestring" = callPackage
     ({ mkDerivation, base, bytestring, genvalidity, genvalidity-hspec
      , hspec, QuickCheck, validity, validity-bytestring
@@ -79752,6 +81562,26 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "genvalidity-bytestring_0_2_0_0" = callPackage
+    ({ mkDerivation, base, bytestring, genvalidity, genvalidity-hspec
+     , hspec, QuickCheck, validity, validity-bytestring
+     }:
+     mkDerivation {
+       pname = "genvalidity-bytestring";
+       version = "0.2.0.0";
+       sha256 = "0ai3pmybs2xky8b596s0xs6511ab1h28ywbaishn5s0217q225zf";
+       libraryHaskellDepends = [
+         base bytestring genvalidity QuickCheck validity validity-bytestring
+       ];
+       testHaskellDepends = [
+         base bytestring genvalidity genvalidity-hspec hspec QuickCheck
+       ];
+       homepage = "https://github.com/NorfairKing/validity#readme";
+       description = "GenValidity support for ByteString";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "genvalidity-containers" = callPackage
     ({ mkDerivation, base, containers, genvalidity, genvalidity-hspec
      , hspec, QuickCheck, validity, validity-containers
@@ -79772,6 +81602,26 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "genvalidity-containers_0_4_0_0" = callPackage
+    ({ mkDerivation, base, containers, genvalidity, genvalidity-hspec
+     , hspec, QuickCheck, validity, validity-containers
+     }:
+     mkDerivation {
+       pname = "genvalidity-containers";
+       version = "0.4.0.0";
+       sha256 = "0q7dzmp8ik3v8ckv8i9cnc687306i4i80mx7sbh956hw5kr6bqnb";
+       libraryHaskellDepends = [
+         base containers genvalidity QuickCheck validity validity-containers
+       ];
+       testHaskellDepends = [
+         base containers genvalidity genvalidity-hspec hspec
+       ];
+       homepage = "https://github.com/NorfairKing/validity#readme";
+       description = "GenValidity support for containers";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "genvalidity-hspec" = callPackage
     ({ mkDerivation, base, doctest, genvalidity, genvalidity-property
      , hspec, hspec-core, QuickCheck, validity
@@ -79793,6 +81643,27 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "genvalidity-hspec_0_6_0_2" = callPackage
+    ({ mkDerivation, base, doctest, genvalidity, genvalidity-property
+     , hspec, hspec-core, QuickCheck, validity
+     }:
+     mkDerivation {
+       pname = "genvalidity-hspec";
+       version = "0.6.0.2";
+       sha256 = "0l14vn5hddkvyzhch8l9abwh3naya27p9f6lz918zd8i5l5pd32n";
+       libraryHaskellDepends = [
+         base genvalidity genvalidity-property hspec hspec-core QuickCheck
+         validity
+       ];
+       testHaskellDepends = [
+         base doctest genvalidity hspec hspec-core QuickCheck
+       ];
+       homepage = "https://github.com/NorfairKing/validity#readme";
+       description = "Standard spec's for GenValidity instances";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "genvalidity-hspec-aeson" = callPackage
     ({ mkDerivation, aeson, base, bytestring, deepseq, doctest
      , genvalidity, genvalidity-aeson, genvalidity-hspec
@@ -79800,8 +81671,31 @@ self: {
      }:
      mkDerivation {
        pname = "genvalidity-hspec-aeson";
-       version = "0.1.0.1";
-       sha256 = "0ww43pcmya7gqjfxsp7a9f4pf3dpc0g57988l92rl5arix17fkr2";
+       version = "0.1.0.2";
+       sha256 = "05h3y3bnq2i9xhjh5i5rghazfwz5n1vsvrmx4r3ircd6zv4nm2g1";
+       libraryHaskellDepends = [
+         aeson base bytestring deepseq genvalidity genvalidity-hspec hspec
+         QuickCheck
+       ];
+       testHaskellDepends = [
+         aeson base doctest genvalidity genvalidity-aeson genvalidity-hspec
+         genvalidity-text hspec text
+       ];
+       homepage = "http://cs-syd.eu";
+       description = "Standard spec's for aeson-related instances";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "genvalidity-hspec-aeson_0_2_0_0" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, deepseq, doctest
+     , genvalidity, genvalidity-aeson, genvalidity-hspec
+     , genvalidity-text, hspec, QuickCheck, text
+     }:
+     mkDerivation {
+       pname = "genvalidity-hspec-aeson";
+       version = "0.2.0.0";
+       sha256 = "0xkignwkq1hdyvachslwf5clzvnw0bmyi00mv3nkigxn8q1vbf7h";
        libraryHaskellDepends = [
          aeson base bytestring deepseq genvalidity genvalidity-hspec hspec
          QuickCheck
@@ -79834,6 +81728,24 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "genvalidity-hspec-binary_0_2_0_0" = callPackage
+    ({ mkDerivation, base, binary, deepseq, doctest, genvalidity
+     , genvalidity-hspec, hspec, QuickCheck
+     }:
+     mkDerivation {
+       pname = "genvalidity-hspec-binary";
+       version = "0.2.0.0";
+       sha256 = "0qmmhbka2ba9x9ypafij5q9gmmm7x4v1frf9mrfi4ffw91fnfnpv";
+       libraryHaskellDepends = [
+         base binary deepseq genvalidity genvalidity-hspec hspec QuickCheck
+       ];
+       testHaskellDepends = [ base doctest genvalidity hspec ];
+       homepage = "https://github.com/NorfairKing/validity#readme";
+       description = "Standard spec's for binary-related Instances";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "genvalidity-hspec-cereal" = callPackage
     ({ mkDerivation, base, cereal, deepseq, doctest, genvalidity
      , genvalidity-hspec, hspec, QuickCheck
@@ -79852,6 +81764,24 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "genvalidity-hspec-cereal_0_2_0_0" = callPackage
+    ({ mkDerivation, base, cereal, deepseq, doctest, genvalidity
+     , genvalidity-hspec, hspec, QuickCheck
+     }:
+     mkDerivation {
+       pname = "genvalidity-hspec-cereal";
+       version = "0.2.0.0";
+       sha256 = "18fz57lwn6ljrm9fszb1n2jzn93kqvqi7x9fyp6a0kh733lyzrnn";
+       libraryHaskellDepends = [
+         base cereal deepseq genvalidity genvalidity-hspec hspec QuickCheck
+       ];
+       testHaskellDepends = [ base doctest genvalidity hspec ];
+       homepage = "http://cs-syd.eu";
+       description = "Standard spec's for cereal-related instances";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "genvalidity-hspec-hashable" = callPackage
     ({ mkDerivation, base, doctest, genvalidity, genvalidity-hspec
      , genvalidity-property, hashable, hspec, hspec-core, QuickCheck
@@ -79875,6 +81805,29 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "genvalidity-hspec-hashable_0_2_0_0" = callPackage
+    ({ mkDerivation, base, doctest, genvalidity, genvalidity-hspec
+     , genvalidity-property, hashable, hspec, hspec-core, QuickCheck
+     , validity
+     }:
+     mkDerivation {
+       pname = "genvalidity-hspec-hashable";
+       version = "0.2.0.0";
+       sha256 = "1mw3lg792hssbfasb0av9x9n7ksqcjwxpgab0n9ia1jspxacrxr4";
+       libraryHaskellDepends = [
+         base genvalidity genvalidity-hspec genvalidity-property hashable
+         hspec QuickCheck validity
+       ];
+       testHaskellDepends = [
+         base doctest genvalidity genvalidity-hspec hashable hspec
+         hspec-core QuickCheck
+       ];
+       homepage = "https://github.com/NorfairKing/validity#readme";
+       description = "Standard spec's for Hashable instances";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "genvalidity-path" = callPackage
     ({ mkDerivation, base, genvalidity, genvalidity-hspec, hspec, path
      , validity-path
@@ -79891,6 +81844,27 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "genvalidity-path_0_3_0_0" = callPackage
+    ({ mkDerivation, base, criterion, genvalidity, genvalidity-hspec
+     , hspec, path, QuickCheck, validity-path
+     }:
+     mkDerivation {
+       pname = "genvalidity-path";
+       version = "0.3.0.0";
+       sha256 = "00rbizzxy9ccd85gr0bf4kw6b5bz15pzhg05qzsifpjj6vfy4izf";
+       libraryHaskellDepends = [
+         base genvalidity path QuickCheck validity-path
+       ];
+       testHaskellDepends = [ base genvalidity-hspec hspec path ];
+       benchmarkHaskellDepends = [
+         base criterion genvalidity path QuickCheck
+       ];
+       homepage = "https://github.com/NorfairKing/validity#readme";
+       description = "GenValidity support for Path";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "genvalidity-property" = callPackage
     ({ mkDerivation, base, directory, doctest, filepath, genvalidity
      , hspec, QuickCheck, validity
@@ -79908,6 +81882,24 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "genvalidity-property_0_2_0_1" = callPackage
+    ({ mkDerivation, base, directory, doctest, filepath, genvalidity
+     , hspec, QuickCheck, validity
+     }:
+     mkDerivation {
+       pname = "genvalidity-property";
+       version = "0.2.0.1";
+       sha256 = "02ypm53llfdrqasji79bng3ybkjs8ak7klcrhkg15k6jgk0ca877";
+       libraryHaskellDepends = [
+         base genvalidity hspec QuickCheck validity
+       ];
+       testHaskellDepends = [ base directory doctest filepath ];
+       homepage = "https://github.com/NorfairKing/validity#readme";
+       description = "Standard properties for functions on `Validity` types";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "genvalidity-scientific" = callPackage
     ({ mkDerivation, base, genvalidity, genvalidity-hspec, hspec
      , QuickCheck, scientific, validity, validity-scientific
@@ -79928,6 +81920,26 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "genvalidity-scientific_0_2_0_0" = callPackage
+    ({ mkDerivation, base, genvalidity, genvalidity-hspec, hspec
+     , QuickCheck, scientific, validity, validity-scientific
+     }:
+     mkDerivation {
+       pname = "genvalidity-scientific";
+       version = "0.2.0.0";
+       sha256 = "0zf0akzbggyy79h48m78cfsp82nmdgk0py8crfp81sh0pd3cydpi";
+       libraryHaskellDepends = [
+         base genvalidity QuickCheck scientific validity validity-scientific
+       ];
+       testHaskellDepends = [
+         base genvalidity genvalidity-hspec hspec QuickCheck scientific
+       ];
+       homepage = "https://github.com/NorfairKing/validity#readme";
+       description = "GenValidity support for Scientific";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "genvalidity-text" = callPackage
     ({ mkDerivation, array, base, genvalidity, genvalidity-hspec, hspec
      , QuickCheck, text, validity, validity-text
@@ -79948,6 +81960,26 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "genvalidity-text_0_5_0_0" = callPackage
+    ({ mkDerivation, array, base, genvalidity, genvalidity-hspec, hspec
+     , QuickCheck, text, validity, validity-text
+     }:
+     mkDerivation {
+       pname = "genvalidity-text";
+       version = "0.5.0.0";
+       sha256 = "0vyw27l0b9snndl1nixidg8ghk6i95qv2xk59fbj1r1ybg27b837";
+       libraryHaskellDepends = [
+         array base genvalidity QuickCheck text validity validity-text
+       ];
+       testHaskellDepends = [
+         base genvalidity genvalidity-hspec hspec QuickCheck text
+       ];
+       homepage = "https://github.com/NorfairKing/validity#readme";
+       description = "GenValidity support for Text";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "genvalidity-time" = callPackage
     ({ mkDerivation, base, genvalidity, genvalidity-hspec, hspec
      , QuickCheck, time, validity-time
@@ -79966,6 +81998,24 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "genvalidity-time_0_2_0_1" = callPackage
+    ({ mkDerivation, base, genvalidity, genvalidity-hspec, hspec
+     , QuickCheck, time, validity-time
+     }:
+     mkDerivation {
+       pname = "genvalidity-time";
+       version = "0.2.0.1";
+       sha256 = "0kd2rxmz197yzfhxya4pbvl77iv7knl0zc1v56089ls4vk4by2gg";
+       libraryHaskellDepends = [
+         base genvalidity QuickCheck time validity-time
+       ];
+       testHaskellDepends = [ base genvalidity-hspec hspec time ];
+       homepage = "https://github.com/NorfairKing/validity#readme";
+       description = "GenValidity support for time";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "genvalidity-unordered-containers" = callPackage
     ({ mkDerivation, base, genvalidity, genvalidity-hspec, hashable
      , hspec, QuickCheck, unordered-containers, validity
@@ -79988,6 +82038,28 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "genvalidity-unordered-containers_0_2_0_2" = callPackage
+    ({ mkDerivation, base, genvalidity, genvalidity-hspec, hashable
+     , hspec, QuickCheck, unordered-containers, validity
+     , validity-unordered-containers
+     }:
+     mkDerivation {
+       pname = "genvalidity-unordered-containers";
+       version = "0.2.0.2";
+       sha256 = "0sjs06qf0pk6xvgc38qayzfqk6wm1qgpx3yzglpkhdy809gl5pfa";
+       libraryHaskellDepends = [
+         base genvalidity hashable QuickCheck unordered-containers validity
+         validity-unordered-containers
+       ];
+       testHaskellDepends = [
+         base genvalidity genvalidity-hspec hspec unordered-containers
+       ];
+       homepage = "https://github.com/NorfairKing/validity#readme";
+       description = "GenValidity support for unordered-containers";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "genvalidity-uuid" = callPackage
     ({ mkDerivation, base, genvalidity, genvalidity-hspec, hspec
      , QuickCheck, uuid, validity, validity-uuid
@@ -80008,6 +82080,26 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "genvalidity-uuid_0_1_0_1" = callPackage
+    ({ mkDerivation, base, genvalidity, genvalidity-hspec, hspec
+     , QuickCheck, uuid, validity, validity-uuid
+     }:
+     mkDerivation {
+       pname = "genvalidity-uuid";
+       version = "0.1.0.1";
+       sha256 = "1ssihh980iz9kx2apygbw0r5qdb40hnvjkpsn2qw55r8d5hc4sa6";
+       libraryHaskellDepends = [
+         base genvalidity QuickCheck uuid validity validity-uuid
+       ];
+       testHaskellDepends = [
+         base genvalidity genvalidity-hspec hspec QuickCheck uuid
+       ];
+       homepage = "https://github.com/NorfairKing/validity#readme";
+       description = "GenValidity support for UUID";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "genvalidity-vector" = callPackage
     ({ mkDerivation, base, genvalidity, genvalidity-hspec, hspec
      , QuickCheck, validity, validity-vector, vector
@@ -80028,6 +82120,26 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "genvalidity-vector_0_2_0_1" = callPackage
+    ({ mkDerivation, base, genvalidity, genvalidity-hspec, hspec
+     , QuickCheck, validity, validity-vector, vector
+     }:
+     mkDerivation {
+       pname = "genvalidity-vector";
+       version = "0.2.0.1";
+       sha256 = "1xinffnzcaws7i6k0l3x89g6kzkg1vhiwkngh5ag69wvpzq3if7n";
+       libraryHaskellDepends = [
+         base genvalidity QuickCheck validity validity-vector vector
+       ];
+       testHaskellDepends = [
+         base genvalidity genvalidity-hspec hspec vector
+       ];
+       homepage = "https://github.com/NorfairKing/validity#readme";
+       description = "GenValidity support for vector";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "geo-resolver" = callPackage
     ({ mkDerivation, aeson, base, base64-bytestring, blaze-builder
      , bytestring, http-conduit, http-types, HUnit, QuickCheck
@@ -80115,22 +82227,24 @@ self: {
      }) {};
 
   "geodetics" = callPackage
-    ({ mkDerivation, array, base, dimensional, HUnit, QuickCheck
-     , test-framework, test-framework-hunit, test-framework-quickcheck2
+    ({ mkDerivation, array, base, checkers, dimensional, HUnit
+     , QuickCheck, test-framework, test-framework-hunit
+     , test-framework-quickcheck2
      }:
      mkDerivation {
        pname = "geodetics";
-       version = "0.0.4";
-       sha256 = "1zml9hpbj7shzsjv6hsyzv3p9yzm6cbvxp2cd79nd1fcsdss0zi3";
+       version = "0.0.5";
+       sha256 = "1fpfdn4bhdqjnrhiqd8yg5j4vs3rwlsr6nav3cjrvrhynlmqlcaq";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [ array base dimensional ];
        testHaskellDepends = [
-         array base dimensional HUnit QuickCheck test-framework
+         array base checkers dimensional HUnit QuickCheck test-framework
          test-framework-hunit test-framework-quickcheck2
        ];
        homepage = "https://github.com/PaulJohnson/geodetics";
        description = "Terrestrial coordinate systems and geodetic calculations";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "geohash" = callPackage
@@ -80285,8 +82399,8 @@ self: {
      }:
      mkDerivation {
        pname = "getopt-generics";
-       version = "0.13.0.1";
-       sha256 = "10sfab5frm53bll8kh6bkwg0y0cv47740sxy6gsnd9fycvixf0k9";
+       version = "0.13.0.2";
+       sha256 = "0330f63gy5gk461hvyy79jxrz5bcxdh2sgl0r1g1ffl4swjsl176";
        libraryHaskellDepends = [
          base base-compat base-orphans generics-sop tagged
        ];
@@ -80364,6 +82478,22 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "gh-labeler" = callPackage
+    ({ mkDerivation, base, directory, github, memory, text, vector }:
+     mkDerivation {
+       pname = "gh-labeler";
+       version = "0.1.0";
+       sha256 = "05g3lk1ff87qmjlywi6p90mjyycx418idddavpi8i045gr51am4l";
+       isLibrary = false;
+       isExecutable = true;
+       executableHaskellDepends = [
+         base directory github memory text vector
+       ];
+       homepage = "https://github.com/vincenthz/gh-labeler#readme";
+       description = "Github Standard Labeler";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "gh-pocket-knife" = callPackage
     ({ mkDerivation, aeson, base, bytestring, hspec, http-conduit
      , QuickCheck, resourcet
@@ -80384,20 +82514,20 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "ghc_8_2_1" = callPackage
+  "ghc_8_4_1" = callPackage
     ({ mkDerivation, alex, array, base, binary, bytestring, containers
      , deepseq, directory, filepath, ghc-boot, ghc-boot-th, ghci, happy
-     , hoopl, hpc, process, template-haskell, terminfo, time
-     , transformers, unix
+     , hpc, process, template-haskell, terminfo, time, transformers
+     , unix
      }:
      mkDerivation {
        pname = "ghc";
-       version = "8.2.1";
-       sha256 = "0b87bj9n2zsi0v9s5ssf5b9c4y4lji7jbxp9j8s93hb95zlmzq17";
+       version = "8.4.1";
+       sha256 = "1axvba6vd13bf9z45jffv05r3jy5n5pxly59r8s5pxh369188076";
        libraryHaskellDepends = [
          array base binary bytestring containers deepseq directory filepath
-         ghc-boot ghc-boot-th ghci hoopl hpc process template-haskell
-         terminfo time transformers unix
+         ghc-boot ghc-boot-th ghci hpc process template-haskell terminfo
+         time transformers unix
        ];
        libraryToolDepends = [ alex happy ];
        homepage = "http://www.haskell.org/ghc/";
@@ -80406,14 +82536,14 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
-  "ghc-boot_8_2_2" = callPackage
+  "ghc-boot_8_4_2" = callPackage
     ({ mkDerivation, base, binary, bytestring, directory, filepath
      , ghc-boot-th
      }:
      mkDerivation {
        pname = "ghc-boot";
-       version = "8.2.2";
-       sha256 = "0fwpfsdx584mcvavj1m961rnaryif9a0yibhlw0b2i59g3ca8f6g";
+       version = "8.4.2";
+       sha256 = "120vdlb6gyv6mndv8n3sssnif1m4zz6wrjlq9xmr2sha27pgsx9r";
        libraryHaskellDepends = [
          base binary bytestring directory filepath ghc-boot-th
        ];
@@ -80422,18 +82552,30 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
-  "ghc-boot-th_8_2_2" = callPackage
+  "ghc-boot-th_8_4_2" = callPackage
     ({ mkDerivation, base }:
      mkDerivation {
        pname = "ghc-boot-th";
-       version = "8.2.2";
-       sha256 = "0pdgimqqn1w04qw504bgcji74wj5wmxpwgj5w3wdrid47sr2d3kc";
+       version = "8.4.2";
+       sha256 = "1c7crailwqgwn7a8mqpggmkzzz7067z3hz710vx7wp71wynzj8ff";
        libraryHaskellDepends = [ base ];
        description = "Shared functionality between GHC and the @template-haskell@ library";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "ghc-call-stack-extras" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "ghc-call-stack-extras";
+       version = "0.1.0.2";
+       sha256 = "01gvyl2r7jqxca33gdavv6l2a6yz4xh2ndmb4v0y2mdgc9sskymc";
+       libraryHaskellDepends = [ base ];
+       homepage = "https://github.com/treeowl/ghc-call-stack-extras";
+       description = "Extra utilities for HasCallStack";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "ghc-compact_0_1_0_0" = callPackage
     ({ mkDerivation, base, bytestring, ghc-prim }:
      mkDerivation {
@@ -80485,6 +82627,19 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "ghc-core-smallstep" = callPackage
+    ({ mkDerivation, base, ghc, ghc-paths }:
+     mkDerivation {
+       pname = "ghc-core-smallstep";
+       version = "0.1.0.1";
+       sha256 = "1yz0qzy1h5134sbmhrk7gn192fcw729bnzdkqf5wh8vh9a396l21";
+       libraryHaskellDepends = [ base ghc ];
+       testHaskellDepends = [ base ghc ghc-paths ];
+       description = "A small-step semantics for Core";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "ghc-datasize" = callPackage
     ({ mkDerivation, base, deepseq, ghc-heap-view }:
      mkDerivation {
@@ -80495,6 +82650,7 @@ self: {
        homepage = "http://felsin9.de/nnis/ghc-datasize";
        description = "Determine the size of data structures in GHC's memory";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "ghc-dump-core" = callPackage
@@ -80509,6 +82665,7 @@ self: {
        ];
        description = "An AST and compiler plugin for dumping GHC's Core representation";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "ghc-dump-tree" = callPackage
@@ -80558,6 +82715,7 @@ self: {
        ];
        description = "Handy tools for working with @ghc-dump@ dumps";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "ghc-dup" = callPackage
@@ -80578,8 +82736,8 @@ self: {
      }:
      mkDerivation {
        pname = "ghc-events";
-       version = "0.7.1";
-       sha256 = "0cpmc107rhy28700qa2jixdp78jw7hsmni40v90z5is9b048mk3i";
+       version = "0.7.2";
+       sha256 = "1gzz71b0xnrri85pz5jl5ar0pyr13gbq31xll1iwv3s45bvl65mh";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -80645,8 +82803,8 @@ self: {
      }:
      mkDerivation {
        pname = "ghc-exactprint";
-       version = "0.5.6.0";
-       sha256 = "0fbq7p2kykqq2pzf0mld0brj3pdrgxb1zvpa05pqxsfs66czlbsg";
+       version = "0.5.6.1";
+       sha256 = "141k6qiys0m0r4br7ikp4i546vs3xcil9cwglzcdfcbnb5nj1z87";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -80659,7 +82817,6 @@ self: {
        ];
        description = "ExactPrint for GHC";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "ghc-gc-tune" = callPackage
@@ -80705,6 +82862,7 @@ self: {
        testHaskellDepends = [ base deepseq ];
        description = "Extract the heap representation of Haskell values and thunks";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "ghc-imported-from" = callPackage
@@ -80928,14 +83086,13 @@ self: {
     ({ mkDerivation, base, cpphs, ghc, happy }:
      mkDerivation {
        pname = "ghc-parser";
-       version = "0.2.0.1";
-       sha256 = "10xx2d9awgizjz1jrlw2m30nsl938mh297azp7zay7zkdzsv0fyh";
+       version = "0.2.0.2";
+       sha256 = "1130fpddf3jx84k558gsc83j3166qy15jp878w2d3lwgzxjcqx5v";
        libraryHaskellDepends = [ base ghc ];
        libraryToolDepends = [ cpphs happy ];
        homepage = "https://github.com/gibiansky/IHaskell";
        description = "Haskell source parser from GHC";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "ghc-paths" = callPackage
@@ -80986,12 +83143,12 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
-  "ghc-prim_0_5_1_1" = callPackage
+  "ghc-prim_0_5_2_0" = callPackage
     ({ mkDerivation, rts }:
      mkDerivation {
        pname = "ghc-prim";
-       version = "0.5.1.1";
-       sha256 = "1dkl0l891min86jpndcah8dx7i3ssnaj6yf2ghxplp8619bmqhb2";
+       version = "0.5.2.0";
+       sha256 = "1ccvzkw3v4xlj7g126wwlc5rvd480hbv1pcq2rfb85k77rzi6bjr";
        libraryHaskellDepends = [ rts ];
        description = "GHC primitives";
        license = stdenv.lib.licenses.bsd3;
@@ -81004,8 +83161,8 @@ self: {
      }:
      mkDerivation {
        pname = "ghc-prof";
-       version = "1.4.1";
-       sha256 = "1jpf2pn37vgwqcnsm799g9s9d7qbxk9d305b6i2k12573cv1x8r4";
+       version = "1.4.1.1";
+       sha256 = "1zxk2fs0zykpqklyfwssbi5hfmzm7hc1yx8l8x1fy29qxim3y2z5";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -81170,14 +83327,27 @@ self: {
     ({ mkDerivation, base, ghc }:
      mkDerivation {
        pname = "ghc-tcplugins-extra";
-       version = "0.2.2";
-       sha256 = "1k52r8hdbhsp5ydfi010976nck81q38lm8x069x6sdvslmwda1wq";
+       version = "0.2.5";
+       sha256 = "0xkq24dr2div9d9hr4rpz65968syqjignn9xn5q48vmzh1m1xwws";
        libraryHaskellDepends = [ base ghc ];
        homepage = "http://github.com/clash-lang/ghc-tcplugins-extra";
        description = "Utilities for writing GHC type-checker plugins";
        license = stdenv.lib.licenses.bsd2;
      }) {};
 
+  "ghc-tcplugins-extra_0_3" = callPackage
+    ({ mkDerivation, base, ghc }:
+     mkDerivation {
+       pname = "ghc-tcplugins-extra";
+       version = "0.3";
+       sha256 = "0k1ph8za52mx6f146xhaakn630xrzk42ylchv4b9r04hslhzvb1h";
+       libraryHaskellDepends = [ base ghc ];
+       homepage = "http://github.com/clash-lang/ghc-tcplugins-extra";
+       description = "Utilities for writing GHC type-checker plugins";
+       license = stdenv.lib.licenses.bsd2;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "ghc-time-alloc-prof" = callPackage
     ({ mkDerivation, attoparsec, base, containers, directory, filepath
      , process, tasty, tasty-hunit, temporary, text, time
@@ -81196,6 +83366,7 @@ self: {
        homepage = "https://github.com/maoe/ghc-time-alloc-prof";
        description = "Library for parsing GHC time and allocation profiling reports";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "ghc-timers" = callPackage
@@ -81232,6 +83403,29 @@ self: {
        license = stdenv.lib.licenses.bsd2;
      }) {};
 
+  "ghc-typelits-extra_0_2_5" = callPackage
+    ({ mkDerivation, base, ghc, ghc-prim, ghc-tcplugins-extra
+     , ghc-typelits-knownnat, ghc-typelits-natnormalise, integer-gmp
+     , tasty, tasty-hunit, template-haskell, transformers
+     }:
+     mkDerivation {
+       pname = "ghc-typelits-extra";
+       version = "0.2.5";
+       sha256 = "0waznf99wryc0sjyk9xb5c0vsalmmhx0v5vbqsyf5q7r6cjcig4s";
+       libraryHaskellDepends = [
+         base ghc ghc-prim ghc-tcplugins-extra ghc-typelits-knownnat
+         ghc-typelits-natnormalise integer-gmp transformers
+       ];
+       testHaskellDepends = [
+         base ghc-typelits-knownnat ghc-typelits-natnormalise tasty
+         tasty-hunit template-haskell
+       ];
+       homepage = "http://www.clash-lang.org/";
+       description = "Additional type-level operations on GHC.TypeLits.Nat";
+       license = stdenv.lib.licenses.bsd2;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "ghc-typelits-knownnat" = callPackage
     ({ mkDerivation, base, ghc, ghc-tcplugins-extra
      , ghc-typelits-natnormalise, tasty, tasty-hunit, tasty-quickcheck
@@ -81239,8 +83433,8 @@ self: {
      }:
      mkDerivation {
        pname = "ghc-typelits-knownnat";
-       version = "0.4";
-       sha256 = "0qwp44jpp8jbrgri0i3yviqnypdj79b8hpxxbk80dwwsjg1q5ynv";
+       version = "0.4.2";
+       sha256 = "1h0l5hks2pdaibq4w46b9064idshan615iiyjjbzkc2zg04xsbbr";
        libraryHaskellDepends = [
          base ghc ghc-tcplugins-extra ghc-typelits-natnormalise
          template-haskell transformers
@@ -81253,14 +83447,36 @@ self: {
        license = stdenv.lib.licenses.bsd2;
      }) {};
 
+  "ghc-typelits-knownnat_0_5" = callPackage
+    ({ mkDerivation, base, ghc, ghc-tcplugins-extra
+     , ghc-typelits-natnormalise, tasty, tasty-hunit, tasty-quickcheck
+     , template-haskell, transformers
+     }:
+     mkDerivation {
+       pname = "ghc-typelits-knownnat";
+       version = "0.5";
+       sha256 = "0mix7zgbnyc3216ykcrjl09rpidq5n2y886k03g8r5pziq1xki00";
+       libraryHaskellDepends = [
+         base ghc ghc-tcplugins-extra ghc-typelits-natnormalise
+         template-haskell transformers
+       ];
+       testHaskellDepends = [
+         base ghc-typelits-natnormalise tasty tasty-hunit tasty-quickcheck
+       ];
+       homepage = "http://clash-lang.org/";
+       description = "Derive KnownNat constraints from other KnownNat constraints";
+       license = stdenv.lib.licenses.bsd2;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "ghc-typelits-natnormalise" = callPackage
     ({ mkDerivation, base, ghc, ghc-tcplugins-extra, integer-gmp, tasty
      , tasty-hunit, template-haskell
      }:
      mkDerivation {
        pname = "ghc-typelits-natnormalise";
-       version = "0.5.8";
-       sha256 = "0xkhj0kka7j9achgzn66zbxs84pxr5h9jq35x4kdnha5hw34c0i1";
+       version = "0.5.10";
+       sha256 = "15xn69jdv77pgyd4mgm35zbrc1h0phyvw733j6s5iy01fhrhrdny";
        libraryHaskellDepends = [
          base ghc ghc-tcplugins-extra integer-gmp
        ];
@@ -81270,20 +83486,36 @@ self: {
        license = stdenv.lib.licenses.bsd2;
      }) {};
 
+  "ghc-typelits-natnormalise_0_6_1" = callPackage
+    ({ mkDerivation, base, ghc, ghc-tcplugins-extra, integer-gmp, tasty
+     , tasty-hunit, template-haskell, transformers
+     }:
+     mkDerivation {
+       pname = "ghc-typelits-natnormalise";
+       version = "0.6.1";
+       sha256 = "0xzwlxcmd3vll86mdjk8pph6f0nw3vq0h3airzv7jagc4j3x9c7x";
+       libraryHaskellDepends = [
+         base ghc ghc-tcplugins-extra integer-gmp transformers
+       ];
+       testHaskellDepends = [ base tasty tasty-hunit template-haskell ];
+       homepage = "http://www.clash-lang.org/";
+       description = "GHC typechecker plugin for types of kind GHC.TypeLits.Nat";
+       license = stdenv.lib.licenses.bsd2;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "ghc-typelits-presburger" = callPackage
-    ({ mkDerivation, base, equational-reasoning, ghc
-     , ghc-tcplugins-extra, presburger, reflection
+    ({ mkDerivation, base, containers, equational-reasoning, ghc
+     , ghc-tcplugins-extra, pretty, reflection
      }:
      mkDerivation {
        pname = "ghc-typelits-presburger";
-       version = "0.1.1.1";
-       sha256 = "0h02yim6qif49f3z853mzhmrgj9g6wik07qm3ddjcgn96sp7pylw";
-       revision = "1";
-       editedCabalFile = "1ilb7z5ci960qbxi26a03v80ply6qdgh3jzk20ipsykn5nf05in8";
+       version = "0.2.0.0";
+       sha256 = "0wxcvi71hkjyjlnpwnfph04jffy595qwlqgwylqp377glyz1vgs7";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         base equational-reasoning ghc ghc-tcplugins-extra presburger
+         base containers equational-reasoning ghc ghc-tcplugins-extra pretty
          reflection
        ];
        homepage = "https://github.com/konn/ghc-typelits-presburger#readme";
@@ -81325,15 +83557,15 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
-  "ghci_8_2_2" = callPackage
+  "ghci_8_4_2" = callPackage
     ({ mkDerivation, array, base, binary, bytestring, containers
      , deepseq, filepath, ghc-boot, ghc-boot-th, template-haskell
      , transformers, unix
      }:
      mkDerivation {
        pname = "ghci";
-       version = "8.2.2";
-       sha256 = "0j6aq2scjv0fpr5b60ac46r1n2hrcgbkrhv31yfnallwlwyqz5zn";
+       version = "8.4.2";
+       sha256 = "0pdhy6p3axq6jwl84mcq6404r1mnld7fbyspkmzninvdd46wr74l";
        libraryHaskellDepends = [
          array base binary bytestring containers deepseq filepath ghc-boot
          ghc-boot-th template-haskell transformers unix
@@ -81463,6 +83695,34 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "ghcid_0_7" = callPackage
+    ({ mkDerivation, ansi-terminal, base, cmdargs, containers
+     , directory, extra, filepath, fsnotify, process, tasty, tasty-hunit
+     , terminal-size, time, unix
+     }:
+     mkDerivation {
+       pname = "ghcid";
+       version = "0.7";
+       sha256 = "1dcx12vkjw5w1np4bz8ypaf8bdw1s8yrlhq6i5x2pilvsf1dljqg";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         ansi-terminal base cmdargs directory extra filepath process time
+       ];
+       executableHaskellDepends = [
+         ansi-terminal base cmdargs containers directory extra filepath
+         fsnotify process terminal-size time unix
+       ];
+       testHaskellDepends = [
+         ansi-terminal base cmdargs containers directory extra filepath
+         fsnotify process tasty tasty-hunit terminal-size time unix
+       ];
+       homepage = "https://github.com/ndmitchell/ghcid#readme";
+       description = "GHCi based bare bones IDE";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "ghcjs-ajax" = callPackage
     ({ mkDerivation, aeson, base, http-types, text }:
      mkDerivation {
@@ -81518,6 +83778,7 @@ self: {
        doHaddock = false;
        description = "DOM library that supports both GHCJS and GHC";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "ghcjs-dom-hello" = callPackage
@@ -81553,6 +83814,7 @@ self: {
        doHaddock = false;
        description = "DOM library that supports both GHCJS and GHC using jsaddle";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "ghcjs-dom-jsffi" = callPackage
@@ -81595,6 +83857,7 @@ self: {
        homepage = "https://github.com/cocreature/ghcjs-fetch#readme";
        description = "GHCJS bindings for the JavaScript Fetch API";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "ghcjs-hplay" = callPackage
@@ -81776,27 +84039,6 @@ self: {
      }:
      mkDerivation {
        pname = "gi-atk";
-       version = "2.0.14";
-       sha256 = "0fp5shf2hilziw4rlzbc2hzf43b2gi1cwm3vlr2ggdkw29ic0c7m";
-       setupHaskellDepends = [ base Cabal haskell-gi ];
-       libraryHaskellDepends = [
-         base bytestring containers gi-glib gi-gobject haskell-gi
-         haskell-gi-base haskell-gi-overloading text transformers
-       ];
-       libraryPkgconfigDepends = [ atk ];
-       doHaddock = false;
-       homepage = "https://github.com/haskell-gi/haskell-gi";
-       description = "Atk bindings";
-       license = stdenv.lib.licenses.lgpl21;
-     }) {inherit (pkgs) atk;};
-
-  "gi-atk_2_0_15" = callPackage
-    ({ mkDerivation, atk, base, bytestring, Cabal, containers, gi-glib
-     , gi-gobject, haskell-gi, haskell-gi-base, haskell-gi-overloading
-     , text, transformers
-     }:
-     mkDerivation {
-       pname = "gi-atk";
        version = "2.0.15";
        sha256 = "1vmzby12nvbrka6f44pr1pjwccl0p6s984pxvibajzp72x2knxc9";
        setupHaskellDepends = [ base Cabal haskell-gi ];
@@ -81819,8 +84061,8 @@ self: {
      }:
      mkDerivation {
        pname = "gi-cairo";
-       version = "1.0.14";
-       sha256 = "0414qhjgh94pvkxrrcnkxg8hac35ykrqnhr5nrn63l66wigp1fxb";
+       version = "1.0.15";
+       sha256 = "1hm8bcd6j11dimb3ksfjkcqf9wqa9frq1jyjpbr2j5s8srrf7031";
        setupHaskellDepends = [ base Cabal haskell-gi ];
        libraryHaskellDepends = [
          base bytestring containers haskell-gi haskell-gi-base
@@ -81835,33 +84077,54 @@ self: {
        homepage = "https://github.com/haskell-gi/haskell-gi";
        description = "Cairo bindings";
        license = stdenv.lib.licenses.lgpl21;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {inherit (pkgs) cairo;};
 
-  "gi-cairo_1_0_15" = callPackage
-    ({ mkDerivation, base, bytestring, Cabal, cairo, containers
-     , haskell-gi, haskell-gi-base, haskell-gi-overloading, text
-     , transformers
+  "gi-dbusmenu" = callPackage
+    ({ mkDerivation, base, bytestring, Cabal, containers, gi-glib
+     , gi-gobject, haskell-gi, haskell-gi-base, haskell-gi-overloading
+     , libdbusmenu-glib, text, transformers
      }:
      mkDerivation {
-       pname = "gi-cairo";
-       version = "1.0.15";
-       sha256 = "1hm8bcd6j11dimb3ksfjkcqf9wqa9frq1jyjpbr2j5s8srrf7031";
+       pname = "gi-dbusmenu";
+       version = "0.4.1";
+       sha256 = "0fi07jf6bsrxsk101ffpyv17lirjgyx4afz26lhbpkqadnpc3kp4";
        setupHaskellDepends = [ base Cabal haskell-gi ];
        libraryHaskellDepends = [
-         base bytestring containers haskell-gi haskell-gi-base
+         base bytestring containers gi-glib gi-gobject haskell-gi
+         haskell-gi-base haskell-gi-overloading text transformers
+       ];
+       libraryPkgconfigDepends = [ libdbusmenu-glib ];
+       doHaddock = false;
+       homepage = "https://github.com/haskell-gi/haskell-gi";
+       description = "Dbusmenu bindings";
+       license = stdenv.lib.licenses.lgpl21;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {inherit (pkgs) libdbusmenu-glib;};
+
+  "gi-dbusmenugtk3" = callPackage
+    ({ mkDerivation, base, bytestring, Cabal, containers, gi-atk
+     , gi-dbusmenu, gi-gdk, gi-gdkpixbuf, gi-glib, gi-gobject, gi-gtk
+     , haskell-gi, haskell-gi-base, haskell-gi-overloading
+     , libdbusmenu-gtk3, text, transformers
+     }:
+     mkDerivation {
+       pname = "gi-dbusmenugtk3";
+       version = "0.4.1";
+       sha256 = "0gl37jsska2qsakzbmvwvb33lskdrbxpk1hmw907y187d0hq7pry";
+       setupHaskellDepends = [ base Cabal haskell-gi ];
+       libraryHaskellDepends = [
+         base bytestring containers gi-atk gi-dbusmenu gi-gdk gi-gdkpixbuf
+         gi-glib gi-gobject gi-gtk haskell-gi haskell-gi-base
          haskell-gi-overloading text transformers
        ];
-       libraryPkgconfigDepends = [ cairo ];
+       libraryPkgconfigDepends = [ libdbusmenu-gtk3 ];
        doHaddock = false;
-       preCompileBuildDriver = ''
-         PKG_CONFIG_PATH+=":${cairo}/lib/pkgconfig"
-         setupCompileFlags+=" $(pkg-config --libs cairo-gobject)"
-       '';
        homepage = "https://github.com/haskell-gi/haskell-gi";
-       description = "Cairo bindings";
+       description = "DbusmenuGtk bindings";
        license = stdenv.lib.licenses.lgpl21;
        hydraPlatforms = stdenv.lib.platforms.none;
-     }) {inherit (pkgs) cairo;};
+     }) {inherit (pkgs) libdbusmenu-gtk3;};
 
   "gi-gdk" = callPackage
     ({ mkDerivation, base, bytestring, Cabal, containers, gi-cairo
@@ -81894,8 +84157,8 @@ self: {
      }:
      mkDerivation {
        pname = "gi-gdkpixbuf";
-       version = "2.0.15";
-       sha256 = "0j2bqphjfhgm9nk8pyfpd6zp7i3q4b11s4vlgas9xdwwi9p1md8r";
+       version = "2.0.16";
+       sha256 = "0vqnskshbfp9nsgyfg4pifrh007rb7k176ci8niik96kxh95zfzx";
        setupHaskellDepends = [ base Cabal haskell-gi ];
        libraryHaskellDepends = [
          base bytestring containers gi-gio gi-glib gi-gobject haskell-gi
@@ -81910,8 +84173,8 @@ self: {
      }) {inherit (pkgs) gdk_pixbuf;};
 
   "gi-gdkx11" = callPackage
-    ({ mkDerivation, base, bytestring, Cabal, containers, gdk-x11
-     , gi-gdk, gi-gio, gi-gobject, gi-xlib, haskell-gi, haskell-gi-base
+    ({ mkDerivation, base, bytestring, Cabal, containers, gi-gdk
+     , gi-gio, gi-gobject, gi-xlib, gtk3, haskell-gi, haskell-gi-base
      , haskell-gi-overloading, text, transformers
      }:
      mkDerivation {
@@ -81923,13 +84186,13 @@ self: {
          base bytestring containers gi-gdk gi-gio gi-gobject gi-xlib
          haskell-gi haskell-gi-base haskell-gi-overloading text transformers
        ];
-       libraryPkgconfigDepends = [ gdk-x11 ];
+       libraryPkgconfigDepends = [ gtk3 ];
        doHaddock = false;
        homepage = "https://github.com/haskell-gi/haskell-gi";
        description = "GdkX11 bindings";
        license = stdenv.lib.licenses.lgpl21;
        hydraPlatforms = stdenv.lib.platforms.none;
-     }) {gdk-x11 = null;};
+     }) {gtk3 = pkgs.gnome3.gtk;};
 
   "gi-ggit" = callPackage
     ({ mkDerivation, base, bytestring, Cabal, containers, gi-gio
@@ -81960,8 +84223,8 @@ self: {
      }:
      mkDerivation {
        pname = "gi-gio";
-       version = "2.0.15";
-       sha256 = "1mxiwwm6dnbxxnqm05bh73qnb27dbfsyz3pr2bvgwvhp4f2m0nn3";
+       version = "2.0.18";
+       sha256 = "0h7liqxf63wmhjzgbjshv7pa4fx743jpvkphn5yyjkc0bnfcvsqk";
        setupHaskellDepends = [ base Cabal haskell-gi ];
        libraryHaskellDepends = [
          base bytestring containers gi-glib gi-gobject haskell-gi
@@ -81976,18 +84239,18 @@ self: {
      }) {inherit (pkgs) glib;};
 
   "gi-girepository" = callPackage
-    ({ mkDerivation, base, bytestring, Cabal, containers, gi-gobject
-     , gobjectIntrospection, haskell-gi, haskell-gi-base
+    ({ mkDerivation, base, bytestring, Cabal, containers, gi-glib
+     , gi-gobject, gobjectIntrospection, haskell-gi, haskell-gi-base
      , haskell-gi-overloading, text, transformers
      }:
      mkDerivation {
        pname = "gi-girepository";
-       version = "1.0.15";
-       sha256 = "1g9bvf850zsbqi4dw8i1nbclqwi599zvwny4fsl0hp8lqb9w7ps6";
+       version = "1.0.16";
+       sha256 = "1kb7vyqks6br8z2bjp9wzj0dvh76s35dbx93iijgl138270ikww6";
        setupHaskellDepends = [ base Cabal haskell-gi ];
        libraryHaskellDepends = [
-         base bytestring containers gi-gobject haskell-gi haskell-gi-base
-         haskell-gi-overloading text transformers
+         base bytestring containers gi-glib gi-gobject haskell-gi
+         haskell-gi-base haskell-gi-overloading text transformers
        ];
        libraryPkgconfigDepends = [ gobjectIntrospection ];
        doHaddock = false;
@@ -81995,7 +84258,7 @@ self: {
        description = "GIRepository (gobject-introspection) bindings";
        license = stdenv.lib.licenses.lgpl21;
        hydraPlatforms = stdenv.lib.platforms.none;
-     }) {inherit (pkgs) gobjectIntrospection;};
+     }) {inherit (pkgs.gnome3) gobjectIntrospection;};
 
   "gi-glib" = callPackage
     ({ mkDerivation, base, bytestring, Cabal, containers, glib
@@ -82004,27 +84267,6 @@ self: {
      }:
      mkDerivation {
        pname = "gi-glib";
-       version = "2.0.15";
-       sha256 = "1gfkqvw2m5i5cg9c3y33l1wqxcr8s80w0sx8kdnnfial0c4ba6cz";
-       setupHaskellDepends = [ base Cabal haskell-gi ];
-       libraryHaskellDepends = [
-         base bytestring containers haskell-gi haskell-gi-base
-         haskell-gi-overloading text transformers
-       ];
-       libraryPkgconfigDepends = [ glib ];
-       doHaddock = false;
-       homepage = "https://github.com/haskell-gi/haskell-gi";
-       description = "GLib bindings";
-       license = stdenv.lib.licenses.lgpl21;
-     }) {inherit (pkgs) glib;};
-
-  "gi-glib_2_0_16" = callPackage
-    ({ mkDerivation, base, bytestring, Cabal, containers, glib
-     , haskell-gi, haskell-gi-base, haskell-gi-overloading, text
-     , transformers
-     }:
-     mkDerivation {
-       pname = "gi-glib";
        version = "2.0.16";
        sha256 = "03hl5szq0cyzg37kxh4kyxzciibs4grsypf78ihfsa6nvj4n5fqw";
        setupHaskellDepends = [ base Cabal haskell-gi ];
@@ -82047,27 +84289,6 @@ self: {
      }:
      mkDerivation {
        pname = "gi-gobject";
-       version = "2.0.15";
-       sha256 = "0h98lld62dhdbw7s0c833jw15wxajy6nmvr69604px3saf4mjrrl";
-       setupHaskellDepends = [ base Cabal haskell-gi ];
-       libraryHaskellDepends = [
-         base bytestring containers gi-glib haskell-gi haskell-gi-base
-         haskell-gi-overloading text transformers
-       ];
-       libraryPkgconfigDepends = [ glib ];
-       doHaddock = false;
-       homepage = "https://github.com/haskell-gi/haskell-gi";
-       description = "GObject bindings";
-       license = stdenv.lib.licenses.lgpl21;
-     }) {inherit (pkgs) glib;};
-
-  "gi-gobject_2_0_16" = callPackage
-    ({ mkDerivation, base, bytestring, Cabal, containers, gi-glib, glib
-     , haskell-gi, haskell-gi-base, haskell-gi-overloading, text
-     , transformers
-     }:
-     mkDerivation {
-       pname = "gi-gobject";
        version = "2.0.16";
        sha256 = "1bgn4ywx94py0v213iv7mbjjvvy3y7gvpgw4wpn38s2np7al8y65";
        setupHaskellDepends = [ base Cabal haskell-gi ];
@@ -82202,8 +84423,8 @@ self: {
      }:
      mkDerivation {
        pname = "gi-gstvideo";
-       version = "1.0.15";
-       sha256 = "1k35x6cc1kiyhwq978dlckib2sfz7k3w2gxfqsha591a0661k10d";
+       version = "1.0.16";
+       sha256 = "0g6z15di4lk3l6hxpl6yqffw23kya3r2khxs4ah6vmkdn42wcalw";
        setupHaskellDepends = [ base Cabal haskell-gi ];
        libraryHaskellDepends = [
          base bytestring containers gi-glib gi-gobject gi-gst gi-gstbase
@@ -82225,8 +84446,8 @@ self: {
      }:
      mkDerivation {
        pname = "gi-gtk";
-       version = "3.0.19";
-       sha256 = "1qcivdbwa3g05dzgzd3jnzha33j5jm06gp2ml9fma0d1160dqa2g";
+       version = "3.0.22";
+       sha256 = "017nnypxsrxsqar7pmbf0kwvbkpdnp3y7dvn8s82b09qiymxa0rz";
        setupHaskellDepends = [ base Cabal haskell-gi ];
        libraryHaskellDepends = [
          base bytestring containers gi-atk gi-cairo gi-gdk gi-gdkpixbuf
@@ -82248,8 +84469,8 @@ self: {
      }:
      mkDerivation {
        pname = "gi-gtk-hs";
-       version = "0.3.5.0";
-       sha256 = "10vshqkc398lribxfz1lk2zbp2y1iqyb0gszzzkin07y3fzlfhiv";
+       version = "0.3.6.1";
+       sha256 = "0qa1ig3z44p47badin0v3rnwilck05659jnk7xcvh2pjhmjmpclw";
        libraryHaskellDepends = [
          base base-compat containers gi-gdk gi-gdkpixbuf gi-glib gi-gobject
          gi-gtk haskell-gi-base mtl text transformers
@@ -82313,28 +84534,6 @@ self: {
      }:
      mkDerivation {
        pname = "gi-javascriptcore";
-       version = "4.0.14";
-       sha256 = "00mlnzdi6syay6dl20xz3s32bxsl32gwjhv3y1lbfzmzj7i7f914";
-       setupHaskellDepends = [ base Cabal haskell-gi ];
-       libraryHaskellDepends = [
-         base bytestring containers haskell-gi haskell-gi-base
-         haskell-gi-overloading text transformers
-       ];
-       libraryPkgconfigDepends = [ webkitgtk ];
-       doHaddock = false;
-       homepage = "https://github.com/haskell-gi/haskell-gi";
-       description = "JavaScriptCore bindings";
-       license = stdenv.lib.licenses.lgpl21;
-       hydraPlatforms = stdenv.lib.platforms.none;
-     }) {inherit (pkgs.gnome3) webkitgtk;};
-
-  "gi-javascriptcore_4_0_15" = callPackage
-    ({ mkDerivation, base, bytestring, Cabal, containers, haskell-gi
-     , haskell-gi-base, haskell-gi-overloading, text, transformers
-     , webkitgtk
-     }:
-     mkDerivation {
-       pname = "gi-javascriptcore";
        version = "4.0.15";
        sha256 = "07dz5kisis93x0ywb207w8nv54bfdgsahq325dyvbfvlgkqrxsh3";
        setupHaskellDepends = [ base Cabal haskell-gi ];
@@ -82489,7 +84688,7 @@ self: {
        description = "Libsecret bindings";
        license = stdenv.lib.licenses.lgpl21;
        hydraPlatforms = stdenv.lib.platforms.none;
-     }) {inherit (pkgs) libsecret;};
+     }) {inherit (pkgs.gnome3) libsecret;};
 
   "gi-soup" = callPackage
     ({ mkDerivation, base, bytestring, Cabal, containers, gi-gio
@@ -82498,8 +84697,8 @@ self: {
      }:
      mkDerivation {
        pname = "gi-soup";
-       version = "2.4.15";
-       sha256 = "1imgkbqfkdf7vbx4x170qnnyivy7jdn4hcj428wv3996ff5pjqa6";
+       version = "2.4.16";
+       sha256 = "01qsq8hy974j8i35spac1iyc46jrl4p0nnlx666nlxqa08a1f438";
        setupHaskellDepends = [ base Cabal haskell-gi ];
        libraryHaskellDepends = [
          base bytestring containers gi-gio gi-glib gi-gobject haskell-gi
@@ -82568,8 +84767,8 @@ self: {
      }:
      mkDerivation {
        pname = "gi-webkit2";
-       version = "4.0.15";
-       sha256 = "1mwd5jyis7rfqpigyk1yp3rx2hkdb2gwg4m1l41dggdb8svv1jhp";
+       version = "4.0.19";
+       sha256 = "1hnxp1vk2qhi7shr4qd7khi2nq0vpn58f1g6j7dkl0h23266fwz2";
        setupHaskellDepends = [ base Cabal haskell-gi ];
        libraryHaskellDepends = [
          base bytestring containers gi-atk gi-cairo gi-gdk gi-gio gi-glib
@@ -82592,8 +84791,8 @@ self: {
      }:
      mkDerivation {
        pname = "gi-webkit2webextension";
-       version = "4.0.16";
-       sha256 = "010svwg3p3sdd209l8cnwhsm2dp9n6qf0shzqjdx5l1pkjv32zqm";
+       version = "4.0.17";
+       sha256 = "0lpz5a9395bqfmxbhfjfbqi4832a68ybbr1y0c475r8ya6pnx4cq";
        setupHaskellDepends = [ base Cabal haskell-gi ];
        libraryHaskellDepends = [
          base bytestring containers gi-gio gi-gobject gi-gtk
@@ -82725,8 +84924,8 @@ self: {
      }:
      mkDerivation {
        pname = "gio";
-       version = "0.13.4.1";
-       sha256 = "11w567c4zafcdm5i6wpi1dr4m6mpfvyqyda4llq7wgvjbshy5fqk";
+       version = "0.13.5.0";
+       sha256 = "0p1mwzbrzb74wxlykasza4qvvlck2b0wgnhvfa0j3h27x4ii8xjw";
        enableSeparateDataOutput = true;
        setupHaskellDepends = [ base Cabal gtk2hs-buildtools ];
        libraryHaskellDepends = [
@@ -82770,8 +84969,8 @@ self: {
      }:
      mkDerivation {
        pname = "giphy-api";
-       version = "0.5.2.0";
-       sha256 = "1sbwv6mvjb17g95b1b1ggryhk6lykp2vwvxja3y6z9rjzb9i2wa4";
+       version = "0.6.0.1";
+       sha256 = "0146813vcnjgb8clyczlz8g6ngm9l702gib60f2m6rf2bc0bbpwd";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -82786,6 +84985,7 @@ self: {
        homepage = "http://github.com/passy/giphy-api#readme";
        description = "Giphy HTTP API wrapper and CLI search tool";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "gist" = callPackage
@@ -82855,18 +85055,18 @@ self: {
   "git-annex" = callPackage
     ({ mkDerivation, aeson, async, aws, base, blaze-builder
      , bloomfilter, bup, byteable, bytestring, Cabal, case-insensitive
-     , clientsession, concurrent-output, conduit, conduit-extra
-     , containers, crypto-api, cryptonite, curl, data-default, DAV, dbus
-     , directory, disk-free-space, dlist, dns, edit-distance, esqueleto
-     , exceptions, fdo-notify, feed, filepath, free, git, gnupg
-     , hinotify, hslogger, http-client, http-conduit, http-types, IfElse
-     , lsof, magic, memory, monad-control, monad-logger, mountpoints
-     , mtl, network, network-info, network-multicast, network-uri
-     , old-locale, openssh, optparse-applicative, path-pieces, perl
-     , persistent, persistent-sqlite, persistent-template, process
-     , QuickCheck, random, regex-tdfa, resourcet, rsync, SafeSemaphore
-     , sandi, securemem, shakespeare, socks, split, stm, stm-chans
-     , tagsoup, tasty, tasty-hunit, tasty-quickcheck, tasty-rerun
+     , clientsession, concurrent-output, conduit, containers, crypto-api
+     , cryptonite, curl, data-default, DAV, dbus, directory
+     , disk-free-space, dlist, dns, edit-distance, esqueleto, exceptions
+     , fdo-notify, feed, filepath, free, git, gnupg, hinotify, hslogger
+     , http-client, http-conduit, http-types, IfElse, lsof, magic
+     , memory, monad-control, monad-logger, mountpoints, mtl, network
+     , network-info, network-multicast, network-uri, old-locale, openssh
+     , optparse-applicative, path-pieces, perl, persistent
+     , persistent-sqlite, persistent-template, process, QuickCheck
+     , random, regex-tdfa, resourcet, rsync, SafeSemaphore, sandi
+     , securemem, shakespeare, socks, split, stm, stm-chans, tagsoup
+     , tasty, tasty-hunit, tasty-quickcheck, tasty-rerun
      , template-haskell, text, time, torrent, transformers, unix
      , unix-compat, unordered-containers, utf8-string, uuid, vector, wai
      , wai-extra, warp, warp-tls, wget, which, yesod, yesod-core
@@ -82874,8 +85074,8 @@ self: {
      }:
      mkDerivation {
        pname = "git-annex";
-       version = "6.20180227";
-       sha256 = "11p77510vcg7sjd1y5grpgbm1299qviilf4d7xw2pr0vk5qn5mgp";
+       version = "6.20180427";
+       sha256 = "0pjdb0mk5hmjl0sra37ap3cr5xp9pa7fyikqmz4156hzk925rrds";
        configureFlags = [
          "-fassistant" "-fcryptonite" "-fdbus" "-fdesktopnotify" "-fdns"
          "-ffeed" "-finotify" "-fpairing" "-fproduction" "-fquvi" "-fs3"
@@ -82890,20 +85090,20 @@ self: {
        ];
        executableHaskellDepends = [
          aeson async aws base blaze-builder bloomfilter byteable bytestring
-         case-insensitive clientsession concurrent-output conduit
-         conduit-extra containers crypto-api cryptonite data-default DAV
-         dbus directory disk-free-space dlist dns edit-distance esqueleto
-         exceptions fdo-notify feed filepath free hinotify hslogger
-         http-client http-conduit http-types IfElse magic memory
-         monad-control monad-logger mountpoints mtl network network-info
-         network-multicast network-uri old-locale optparse-applicative
-         path-pieces persistent persistent-sqlite persistent-template
-         process QuickCheck random regex-tdfa resourcet SafeSemaphore sandi
-         securemem shakespeare socks split stm stm-chans tagsoup tasty
-         tasty-hunit tasty-quickcheck tasty-rerun template-haskell text time
-         torrent transformers unix unix-compat unordered-containers
-         utf8-string uuid vector wai wai-extra warp warp-tls yesod
-         yesod-core yesod-form yesod-static
+         case-insensitive clientsession concurrent-output conduit containers
+         crypto-api cryptonite data-default DAV dbus directory
+         disk-free-space dlist dns edit-distance esqueleto exceptions
+         fdo-notify feed filepath free hinotify hslogger http-client
+         http-conduit http-types IfElse magic memory monad-control
+         monad-logger mountpoints mtl network network-info network-multicast
+         network-uri old-locale optparse-applicative path-pieces persistent
+         persistent-sqlite persistent-template process QuickCheck random
+         regex-tdfa resourcet SafeSemaphore sandi securemem shakespeare
+         socks split stm stm-chans tagsoup tasty tasty-hunit
+         tasty-quickcheck tasty-rerun template-haskell text time torrent
+         transformers unix unix-compat unordered-containers utf8-string uuid
+         vector wai wai-extra warp warp-tls yesod yesod-core yesod-form
+         yesod-static
        ];
        executableSystemDepends = [
          bup curl git gnupg lsof openssh perl rsync wget which
@@ -83250,7 +85450,6 @@ self: {
        homepage = "http://github.com/gbataille/gitHUD#readme";
        description = "More efficient replacement to the great git-radar";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "gitcache" = callPackage
@@ -83304,42 +85503,10 @@ self: {
      }:
      mkDerivation {
        pname = "github";
-       version = "0.18";
-       sha256 = "0i4cs6d95ik5c8zs2508nmhjh2v30a0qjyxfqyxhjsz48p9h5p1i";
-       revision = "2";
-       editedCabalFile = "1rywfb78acwh81mdnxb4q35n374k1wbxg0562biis0i0jjxfp211";
-       libraryHaskellDepends = [
-         aeson aeson-compat base base-compat base16-bytestring binary
-         binary-orphans byteable bytestring containers cryptohash deepseq
-         deepseq-generics exceptions hashable http-client http-client-tls
-         http-link-header http-types iso8601-time mtl network-uri semigroups
-         text time tls transformers transformers-compat unordered-containers
-         vector vector-instances
-       ];
-       testHaskellDepends = [
-         aeson-compat base base-compat bytestring file-embed hspec
-         unordered-containers vector
-       ];
-       testToolDepends = [ hspec-discover ];
-       homepage = "https://github.com/phadej/github";
-       description = "Access to the GitHub API, v3";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "github_0_19" = callPackage
-    ({ mkDerivation, aeson, aeson-compat, base, base-compat
-     , base16-bytestring, binary, binary-orphans, byteable, bytestring
-     , containers, cryptohash, deepseq, deepseq-generics, exceptions
-     , file-embed, hashable, hspec, hspec-discover, http-client
-     , http-client-tls, http-link-header, http-types, iso8601-time, mtl
-     , network-uri, semigroups, text, time, tls, transformers
-     , transformers-compat, unordered-containers, vector
-     , vector-instances
-     }:
-     mkDerivation {
-       pname = "github";
        version = "0.19";
        sha256 = "1523p2rv4jwsbsqjc9g3qff4cy5dhdy5wzp382x5nr11rmbrpsph";
+       revision = "2";
+       editedCabalFile = "0ib40npsrwd92mgiqv5rqv21dnhmdh5x6ql84i8ivz8vs2a43hqq";
        libraryHaskellDepends = [
          aeson aeson-compat base base-compat base16-bytestring binary
          binary-orphans byteable bytestring containers cryptohash deepseq
@@ -83356,7 +85523,6 @@ self: {
        homepage = "https://github.com/phadej/github";
        description = "Access to the GitHub API, v3";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "github-backup" = callPackage
@@ -83385,6 +85551,7 @@ self: {
        homepage = "https://github-backup.branchable.com/";
        description = "backs up everything github knows about a repository, to the repository";
        license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {inherit (pkgs) git;};
 
   "github-data" = callPackage
@@ -83409,6 +85576,7 @@ self: {
        homepage = "https://github.com/strake/github.hs";
        description = "Access to the GitHub API, v3";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "github-post-receive" = callPackage
@@ -83435,20 +85603,48 @@ self: {
      }:
      mkDerivation {
        pname = "github-release";
-       version = "1.1.4";
-       sha256 = "0jnxlvs69jc5d60s266f5clsfx1jr517b7yzl08hnka5km8qqdkb";
+       version = "1.1.6";
+       sha256 = "1amvbrs7sb6d2l20rr4qc8gjj6m9xlhgkbrr13nrnjfg5fg0midn";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          aeson base bytestring http-client http-client-tls http-types
          mime-types optparse-generic text unordered-containers uri-templater
        ];
-       executableHaskellDepends = [ base ];
+       executableHaskellDepends = [
+         aeson base bytestring http-client http-client-tls http-types
+         mime-types optparse-generic text unordered-containers uri-templater
+       ];
        homepage = "https://github.com/tfausak/github-release#readme";
        description = "Upload files to GitHub releases";
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "github-release_1_2_0" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, http-client
+     , http-client-tls, http-types, mime-types, optparse-generic, text
+     , unordered-containers, uri-templater
+     }:
+     mkDerivation {
+       pname = "github-release";
+       version = "1.2.0";
+       sha256 = "0rfg0l5f0g1qdpvj5xsynxkkwgdaxnsphrif02fk48khhad0i4p9";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson base bytestring http-client http-client-tls http-types
+         mime-types optparse-generic text unordered-containers uri-templater
+       ];
+       executableHaskellDepends = [
+         aeson base bytestring http-client http-client-tls http-types
+         mime-types optparse-generic text unordered-containers uri-templater
+       ];
+       homepage = "https://github.com/tfausak/github-release#readme";
+       description = "Upload files to GitHub releases";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "github-tools" = callPackage
     ({ mkDerivation, base, bytestring, containers, exceptions, github
      , groom, html, http-client, http-client-tls, monad-parallel
@@ -83543,8 +85739,8 @@ self: {
      }:
      mkDerivation {
        pname = "github-webhooks";
-       version = "0.9.0";
-       sha256 = "1gzks7l39il0g9maj2hkfwpz8rnrnmc05fhcsr27a6c08962gn0f";
+       version = "0.9.1";
+       sha256 = "1h4wqix0rgsq7n3dv3nraqa3sbf5hgavq5k9dymfnw68qz5ii68b";
        libraryHaskellDepends = [
          aeson base base16-bytestring bytestring cryptonite deepseq
          deepseq-generics memory text time vector
@@ -83555,6 +85751,47 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "github-webhooks_0_10_0" = callPackage
+    ({ mkDerivation, aeson, base, base16-bytestring, bytestring
+     , cryptonite, deepseq, deepseq-generics, hspec, memory, text, time
+     , vector
+     }:
+     mkDerivation {
+       pname = "github-webhooks";
+       version = "0.10.0";
+       sha256 = "1pvif863yi6qxwjd43insjvrzizaz78b3kf8l13rmy3irjlqljh8";
+       libraryHaskellDepends = [
+         aeson base base16-bytestring bytestring cryptonite deepseq
+         deepseq-generics memory text time vector
+       ];
+       testHaskellDepends = [ aeson base bytestring hspec text vector ];
+       homepage = "https://github.com/onrock-eng/github-webhooks#readme";
+       description = "Aeson instances for GitHub Webhook payloads";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "githud" = callPackage
+    ({ mkDerivation, base, mtl, parsec, process, tasty, tasty-hunit
+     , tasty-quickcheck, tasty-smallcheck, text, unix
+     }:
+     mkDerivation {
+       pname = "githud";
+       version = "2.0.2";
+       sha256 = "0nhik30c7xzn3aqj8d8b8rk05viqmhl8q9ymswxxn9ws2nkm7rk8";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [ base mtl parsec process text unix ];
+       executableHaskellDepends = [ base ];
+       testHaskellDepends = [
+         base mtl parsec tasty tasty-hunit tasty-quickcheck tasty-smallcheck
+       ];
+       homepage = "http://github.com/gbataille/gitHUD#readme";
+       description = "More efficient replacement to the great git-radar";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "gitignore" = callPackage
     ({ mkDerivation, aeson, base, base64-bytestring, bytestring
      , http-conduit, network, safe, text
@@ -83630,6 +85867,7 @@ self: {
        ];
        description = "API library for working with Git repositories";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "gitlib-cmdline" = callPackage
@@ -83749,6 +85987,7 @@ self: {
        ];
        description = "Sample backend for gitlib showing the basic structure for any backend";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "gitlib-test" = callPackage
@@ -83767,6 +86006,7 @@ self: {
        ];
        description = "Test library for confirming gitlib backend compliance";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "gitlib-utils" = callPackage
@@ -83837,8 +86077,8 @@ self: {
      }:
      mkDerivation {
        pname = "gitter";
-       version = "0.3.0";
-       sha256 = "13mi1c4z80nmj00adikbkdjijkciy2zkkyqbvf10r5zilqhdbaw1";
+       version = "0.4";
+       sha256 = "0lvsjpb1iakpbvh8prnwd90p8fp7hhj5120yp2w5ra9pm5fqcl49";
        libraryHaskellDepends = [
          aeson base bytestring exceptions lens lens-aeson mtl text wreq
        ];
@@ -83873,6 +86113,7 @@ self: {
        homepage = "http://github.com/passy/givegif#readme";
        description = "CLI Giphy search tool with previews in iTerm 2";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "gjk" = callPackage
@@ -83902,22 +86143,24 @@ self: {
 
   "gl" = callPackage
     ({ mkDerivation, base, Cabal, containers, directory, filepath
-     , fixed, half, hxt, mesa, transformers
+     , fixed, half, hxt, libGL, transformers
      }:
      mkDerivation {
        pname = "gl";
        version = "0.8.0";
        sha256 = "0f8l1ra05asqjnk97sliqb3wqvr6lic18rfs1f9dm1kw2lw2hkda";
+       revision = "1";
+       editedCabalFile = "17m5vagiq1v7zg6409f56qqy28jd0xp13yk44s661rcwj0f4pd14";
        setupHaskellDepends = [
          base Cabal containers directory filepath hxt transformers
        ];
        libraryHaskellDepends = [
          base containers fixed half transformers
        ];
-       librarySystemDepends = [ mesa ];
+       librarySystemDepends = [ libGL ];
        description = "Complete OpenGL raw bindings";
        license = stdenv.lib.licenses.bsd3;
-     }) {mesa = null;};
+     }) {inherit (pkgs) libGL;};
 
   "gl-capture" = callPackage
     ({ mkDerivation, base, bytestring, OpenGL }:
@@ -83937,8 +86180,8 @@ self: {
      }:
      mkDerivation {
        pname = "glabrous";
-       version = "0.3.4";
-       sha256 = "00dwlxl05g2s6br0nya2ayp24yjmf8rg6y3yi6bnqs0a2fyyzq42";
+       version = "0.3.5";
+       sha256 = "0n3mqpcmxz9z339r18dac5s4zdgkknlx470cd1mfi9gd932cr4z9";
        libraryHaskellDepends = [
          aeson aeson-pretty attoparsec base bytestring cereal cereal-text
          either text unordered-containers
@@ -84179,8 +86422,8 @@ self: {
      }:
      mkDerivation {
        pname = "glib";
-       version = "0.13.5.0";
-       sha256 = "1bd6lfl8l08s28g9wky2bpyl2kh8vhycdni2wh3m7iq91madxgbj";
+       version = "0.13.6.0";
+       sha256 = "1sz8mvac39sxj7skw8zasbp6srm4k92223l29lll1125d8n0cwaf";
        setupHaskellDepends = [ base Cabal gtk2hs-buildtools ];
        libraryHaskellDepends = [
          base bytestring containers text utf8-string
@@ -84246,10 +86489,8 @@ self: {
      }:
      mkDerivation {
        pname = "glirc";
-       version = "2.25";
-       sha256 = "1hh6zqkk1cm50n7d17i2490q2xh7hzy63krpj58rwhgpmn3ps5sb";
-       revision = "1";
-       editedCabalFile = "13bf4rcwik6lq4rv1ci9i01hpmvvbqd1xs7fixrk10qsjm31cakw";
+       version = "2.26";
+       sha256 = "1ax2ygzrsr1r21v9cx4ixnlgrax6nxr4rkh090n1wv6xn02kd3j0";
        isLibrary = true;
        isExecutable = true;
        setupHaskellDepends = [ base Cabal filepath ];
@@ -84273,8 +86514,8 @@ self: {
      }:
      mkDerivation {
        pname = "gll";
-       version = "0.4.0.4";
-       sha256 = "01qnvynldllb4qdvg29r64qq17qb1fs8yg7jgyj3f8ajgyi5jn9q";
+       version = "0.4.0.5";
+       sha256 = "09z7i4h5zwgyh3gg5w0l6p0ch1lhzmsnbmk1yfbc9b21gbxna5js";
        libraryHaskellDepends = [
          array base containers pretty regex-applicative text TypeCompose
        ];
@@ -84426,14 +86667,29 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "gloss_1_12_0_0" = callPackage
+    ({ mkDerivation, base, bmp, bytestring, containers, ghc-prim
+     , gloss-rendering, GLUT, OpenGL
+     }:
+     mkDerivation {
+       pname = "gloss";
+       version = "1.12.0.0";
+       sha256 = "0jxcvvmxvmb7n0wp4lwhvl4axkbhwwv4i6pi4xng357hfanxh1k9";
+       libraryHaskellDepends = [
+         base bmp bytestring containers ghc-prim gloss-rendering GLUT OpenGL
+       ];
+       homepage = "http://gloss.ouroborus.net";
+       description = "Painless 2D vector graphics, animations and simulations";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "gloss-accelerate" = callPackage
     ({ mkDerivation, accelerate, base, gloss, gloss-rendering }:
      mkDerivation {
        pname = "gloss-accelerate";
-       version = "2.0.0.0";
-       sha256 = "1hfiy2j7850yisbakz5nadr6l9k5maqq5mvg1xhak9jj1k1ji9if";
-       revision = "1";
-       editedCabalFile = "1arsf3j8b59qr5z5sy5sxx5mdddagjginrqs3jb9lpj1s3c3672b";
+       version = "2.0.0.1";
+       sha256 = "106z8kax0m3hzk0381l8m7gxdapl3wf0fdr1ljwb5fgcjc00pac2";
        libraryHaskellDepends = [ accelerate base gloss gloss-rendering ];
        description = "Extras to interface Gloss and Accelerate";
        license = stdenv.lib.licenses.bsd3;
@@ -84453,6 +86709,19 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "gloss-algorithms_1_12_0_0" = callPackage
+    ({ mkDerivation, base, containers, ghc-prim, gloss }:
+     mkDerivation {
+       pname = "gloss-algorithms";
+       version = "1.12.0.0";
+       sha256 = "00vji2mlakawarqsywgvl10yk32jmlxcj2d058a6psjqb0pkq0wb";
+       libraryHaskellDepends = [ base containers ghc-prim gloss ];
+       homepage = "http://gloss.ouroborus.net";
+       description = "Data structures and algorithms for working with 2D graphics";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "gloss-banana" = callPackage
     ({ mkDerivation, base, gloss, reactive-banana }:
      mkDerivation {
@@ -84487,10 +86756,8 @@ self: {
      }:
      mkDerivation {
        pname = "gloss-examples";
-       version = "1.11.1.1";
-       sha256 = "0m5xyr5q6kfb2h5pfd5nj4x39nhhsnr7h8vxghvhvw1khsbh5gj1";
-       revision = "2";
-       editedCabalFile = "0ldnhqmxs03040m5ym0qw1ig217j893rm1sq7rnjsmvh15ziw4yh";
+       version = "1.12.0.0";
+       sha256 = "1iimmphkq89h4k8iny52kgz1a0cq6lp8dzr0lkj4j5qnfaj65lhl";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -84500,6 +86767,7 @@ self: {
        homepage = "http://gloss.ouroborus.net";
        description = "Examples using the gloss library";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "gloss-game" = callPackage
@@ -84552,6 +86820,23 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "gloss-raster_1_12_0_0" = callPackage
+    ({ mkDerivation, base, containers, ghc-prim, gloss, gloss-rendering
+     , repa
+     }:
+     mkDerivation {
+       pname = "gloss-raster";
+       version = "1.12.0.0";
+       sha256 = "14a1qcajm4fp4hr4y55mw1jl5id747d455yn1818y5kz75m4k7y8";
+       libraryHaskellDepends = [
+         base containers ghc-prim gloss gloss-rendering repa
+       ];
+       homepage = "http://gloss.ouroborus.net";
+       description = "Parallel rendering of raster images";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "gloss-raster-accelerate" = callPackage
     ({ mkDerivation, accelerate, base, colour-accelerate, gloss
      , gloss-accelerate
@@ -84560,8 +86845,8 @@ self: {
        pname = "gloss-raster-accelerate";
        version = "2.0.0.0";
        sha256 = "1i0qx9wybr66i1x4n3p8ai2z6qx0k5lac422mhh4rvimcjx2bc9d";
-       revision = "1";
-       editedCabalFile = "07c56r31akmq7hq0cyw4lc4h5370laand231wjd5ffwk369x2prg";
+       revision = "2";
+       editedCabalFile = "0k0a562qa8khj39zpgp4sr8kh8h2q4krjjhbvpbsll4r83067ahj";
        libraryHaskellDepends = [
          accelerate base colour-accelerate gloss gloss-accelerate
        ];
@@ -84585,6 +86870,20 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "gloss-rendering_1_12_0_0" = callPackage
+    ({ mkDerivation, base, bmp, bytestring, containers, GLUT, OpenGL }:
+     mkDerivation {
+       pname = "gloss-rendering";
+       version = "1.12.0.0";
+       sha256 = "1g64wlyk13lssf8p71xhpjaqygzdkn5fq6k2bmqwixmq56bhpnb0";
+       libraryHaskellDepends = [
+         base bmp bytestring containers GLUT OpenGL
+       ];
+       description = "Gloss picture data types and rendering functions";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "gloss-sodium" = callPackage
     ({ mkDerivation, base, gloss, sodium }:
      mkDerivation {
@@ -84785,11 +87084,10 @@ self: {
     ({ mkDerivation, base, gmp, recursion-schemes }:
      mkDerivation {
        pname = "gmpint";
-       version = "0.1.0.5";
-       sha256 = "1xi840k962nz3mkf48sc08z4lbdmx8rmix00gzxywyjyia33zg3r";
+       version = "0.1.0.12";
+       sha256 = "0l3qd8hps55am4ddj4x83f0vyi1rwhh7gj36k465n4m1pz7ndxrx";
        libraryHaskellDepends = [ base recursion-schemes ];
        librarySystemDepends = [ gmp ];
-       homepage = "https://github.com/vmchale/gmpint#readme";
        description = "GMP integer conversions";
        license = stdenv.lib.licenses.bsd3;
      }) {inherit (pkgs) gmp;};
@@ -84854,8 +87152,8 @@ self: {
      }:
      mkDerivation {
        pname = "gnss-converters";
-       version = "0.3.30";
-       sha256 = "1cjfhpza7mhfywx09rf2qzglqwyss3ndk9sqn0vwvpv4c2wvglaq";
+       version = "0.3.32";
+       sha256 = "0b2v7msj54r6dd2w2wd4c8q6wvywnkmyddaa05r990cnbg9l4i9b";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -84905,8 +87203,8 @@ self: {
      }:
      mkDerivation {
        pname = "gnuplot";
-       version = "0.5.5.1";
-       sha256 = "1i0rlmk6kqv1lj71s1av64qc14qmaaplp6z9mxd9hkwjpwzyqdma";
+       version = "0.5.5.2";
+       sha256 = "1mlppnc13ygjzmf6ldydys4wvy35yb3xjwwfgf9rbi7nfcqjr6mn";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -85133,29 +87431,6 @@ self: {
      }:
      mkDerivation {
        pname = "goggles";
-       version = "0.1.0.3";
-       sha256 = "0if045sxm1xss91hx2hi4hcjy2b4w7q0sas8h9ra75vmzxfn6hjz";
-       libraryHaskellDepends = [
-         aeson attoparsec base base64-bytestring binary bytestring
-         containers cryptonite exceptions filepath hspec http-client
-         http-client-tls http-types memory mtl pem QuickCheck req scientific
-         stm text time transformers unix-time x509 x509-store
-       ];
-       testHaskellDepends = [ base hspec QuickCheck ];
-       homepage = "https://github.com/ocramz/goggles";
-       description = "Interface to Google Cloud APIs";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "goggles_0_3_2" = callPackage
-    ({ mkDerivation, aeson, attoparsec, base, base64-bytestring, binary
-     , bytestring, containers, cryptonite, exceptions, filepath, hspec
-     , http-client, http-client-tls, http-types, memory, mtl, pem
-     , QuickCheck, req, scientific, stm, text, time, transformers
-     , unix-time, x509, x509-store
-     }:
-     mkDerivation {
-       pname = "goggles";
        version = "0.3.2";
        sha256 = "0g798gvxyqr08digpb61cvfcwg626iwmz9dqyg32w5vba332akd6";
        libraryHaskellDepends = [
@@ -85168,7 +87443,6 @@ self: {
        homepage = "https://github.com/ocramz/goggles";
        description = "Extensible interface to Web APIs";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "goggles-gcs" = callPackage
@@ -85177,8 +87451,8 @@ self: {
      }:
      mkDerivation {
        pname = "goggles-gcs";
-       version = "0.1.0.0";
-       sha256 = "0g23z852g7f1h8s49q4nj0y2lnm4fa0ycs4d633937i3f18bsl74";
+       version = "0.1.2";
+       sha256 = "0p1z03y6sy8daqvyfs4mj767yh98zbl23lri72jpy0z213qsjybf";
        libraryHaskellDepends = [
          aeson base bytestring cryptonite exceptions goggles memory mtl req
          text unix-time
@@ -85211,6 +87485,7 @@ self: {
        homepage = "https://github.com/brendanhay/gogol";
        description = "Comprehensive Google Services SDK";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "gogol-adexchange-buyer" = callPackage
@@ -85223,6 +87498,7 @@ self: {
        homepage = "https://github.com/brendanhay/gogol";
        description = "Google Ad Exchange Buyer SDK";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "gogol-adexchange-seller" = callPackage
@@ -85235,6 +87511,7 @@ self: {
        homepage = "https://github.com/brendanhay/gogol";
        description = "Google Ad Exchange Seller SDK";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "gogol-admin-datatransfer" = callPackage
@@ -85247,6 +87524,7 @@ self: {
        homepage = "https://github.com/brendanhay/gogol";
        description = "Google Admin Data Transfer SDK";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "gogol-admin-directory" = callPackage
@@ -85259,6 +87537,7 @@ self: {
        homepage = "https://github.com/brendanhay/gogol";
        description = "Google Admin Directory SDK";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "gogol-admin-emailmigration" = callPackage
@@ -85271,6 +87550,7 @@ self: {
        homepage = "https://github.com/brendanhay/gogol";
        description = "Google Email Migration API v2 SDK";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "gogol-admin-reports" = callPackage
@@ -85283,6 +87563,7 @@ self: {
        homepage = "https://github.com/brendanhay/gogol";
        description = "Google Admin Reports SDK";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "gogol-adsense" = callPackage
@@ -85295,6 +87576,7 @@ self: {
        homepage = "https://github.com/brendanhay/gogol";
        description = "Google AdSense Management SDK";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "gogol-adsense-host" = callPackage
@@ -85307,6 +87589,7 @@ self: {
        homepage = "https://github.com/brendanhay/gogol";
        description = "Google AdSense Host SDK";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "gogol-affiliates" = callPackage
@@ -85319,6 +87602,7 @@ self: {
        homepage = "https://github.com/brendanhay/gogol";
        description = "Google Affiliate Network SDK";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "gogol-analytics" = callPackage
@@ -85331,6 +87615,7 @@ self: {
        homepage = "https://github.com/brendanhay/gogol";
        description = "Google Analytics SDK";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "gogol-android-enterprise" = callPackage
@@ -85343,6 +87628,7 @@ self: {
        homepage = "https://github.com/brendanhay/gogol";
        description = "Google Play EMM SDK";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "gogol-android-publisher" = callPackage
@@ -85355,6 +87641,7 @@ self: {
        homepage = "https://github.com/brendanhay/gogol";
        description = "Google Play Developer SDK";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "gogol-appengine" = callPackage
@@ -85367,6 +87654,7 @@ self: {
        homepage = "https://github.com/brendanhay/gogol";
        description = "Google App Engine Admin SDK";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "gogol-apps-activity" = callPackage
@@ -85379,6 +87667,7 @@ self: {
        homepage = "https://github.com/brendanhay/gogol";
        description = "Google Apps Activity SDK";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "gogol-apps-calendar" = callPackage
@@ -85391,6 +87680,7 @@ self: {
        homepage = "https://github.com/brendanhay/gogol";
        description = "Google Calendar SDK";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "gogol-apps-licensing" = callPackage
@@ -85403,6 +87693,7 @@ self: {
        homepage = "https://github.com/brendanhay/gogol";
        description = "Google Enterprise License Manager SDK";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "gogol-apps-reseller" = callPackage
@@ -85415,6 +87706,7 @@ self: {
        homepage = "https://github.com/brendanhay/gogol";
        description = "Google Enterprise Apps Reseller SDK";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "gogol-apps-tasks" = callPackage
@@ -85427,6 +87719,7 @@ self: {
        homepage = "https://github.com/brendanhay/gogol";
        description = "Google Tasks SDK";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "gogol-appstate" = callPackage
@@ -85439,6 +87732,7 @@ self: {
        homepage = "https://github.com/brendanhay/gogol";
        description = "Google App State SDK";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "gogol-autoscaler" = callPackage
@@ -85451,6 +87745,7 @@ self: {
        homepage = "https://github.com/brendanhay/gogol";
        description = "Google Compute Engine Autoscaler SDK";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "gogol-bigquery" = callPackage
@@ -85463,6 +87758,7 @@ self: {
        homepage = "https://github.com/brendanhay/gogol";
        description = "Google BigQuery SDK";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "gogol-billing" = callPackage
@@ -85475,6 +87771,7 @@ self: {
        homepage = "https://github.com/brendanhay/gogol";
        description = "Google Cloud Billing SDK";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "gogol-blogger" = callPackage
@@ -85487,6 +87784,7 @@ self: {
        homepage = "https://github.com/brendanhay/gogol";
        description = "Google Blogger SDK";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "gogol-books" = callPackage
@@ -85499,6 +87797,7 @@ self: {
        homepage = "https://github.com/brendanhay/gogol";
        description = "Google Books SDK";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "gogol-civicinfo" = callPackage
@@ -85511,6 +87810,7 @@ self: {
        homepage = "https://github.com/brendanhay/gogol";
        description = "Google Civic Information SDK";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "gogol-classroom" = callPackage
@@ -85523,6 +87823,7 @@ self: {
        homepage = "https://github.com/brendanhay/gogol";
        description = "Google Classroom SDK";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "gogol-cloudmonitoring" = callPackage
@@ -85535,6 +87836,7 @@ self: {
        homepage = "https://github.com/brendanhay/gogol";
        description = "Google Cloud Monitoring SDK";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "gogol-cloudtrace" = callPackage
@@ -85547,6 +87849,7 @@ self: {
        homepage = "https://github.com/brendanhay/gogol";
        description = "Google Cloud Trace SDK";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "gogol-compute" = callPackage
@@ -85559,6 +87862,7 @@ self: {
        homepage = "https://github.com/brendanhay/gogol";
        description = "Google Compute Engine SDK";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "gogol-container" = callPackage
@@ -85571,6 +87875,7 @@ self: {
        homepage = "https://github.com/brendanhay/gogol";
        description = "Google Container Engine SDK";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "gogol-containerbuilder" = callPackage
@@ -85583,6 +87888,7 @@ self: {
        homepage = "https://github.com/brendanhay/gogol";
        description = "Google Cloud Container Builder SDK";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "gogol-core" = callPackage
@@ -85606,6 +87912,7 @@ self: {
        homepage = "https://github.com/brendanhay/gogol";
        description = "Core data types and functionality for Gogol libraries";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "gogol-customsearch" = callPackage
@@ -85618,6 +87925,7 @@ self: {
        homepage = "https://github.com/brendanhay/gogol";
        description = "Google CustomSearch SDK";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "gogol-dataflow" = callPackage
@@ -85630,6 +87938,7 @@ self: {
        homepage = "https://github.com/brendanhay/gogol";
        description = "Google Dataflow SDK";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "gogol-dataproc" = callPackage
@@ -85642,6 +87951,7 @@ self: {
        homepage = "https://github.com/brendanhay/gogol";
        description = "Google Cloud Dataproc SDK";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "gogol-datastore" = callPackage
@@ -85654,6 +87964,7 @@ self: {
        homepage = "https://github.com/brendanhay/gogol";
        description = "Google Cloud Datastore SDK";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "gogol-debugger" = callPackage
@@ -85666,6 +87977,7 @@ self: {
        homepage = "https://github.com/brendanhay/gogol";
        description = "Google Stackdriver Debugger SDK";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "gogol-deploymentmanager" = callPackage
@@ -85678,6 +87990,7 @@ self: {
        homepage = "https://github.com/brendanhay/gogol";
        description = "Google Cloud Deployment Manager SDK";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "gogol-dfareporting" = callPackage
@@ -85690,6 +88003,7 @@ self: {
        homepage = "https://github.com/brendanhay/gogol";
        description = "Google DCM/DFA Reporting And Trafficking SDK";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "gogol-discovery" = callPackage
@@ -85702,6 +88016,7 @@ self: {
        homepage = "https://github.com/brendanhay/gogol";
        description = "Google APIs Discovery Service SDK";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "gogol-dns" = callPackage
@@ -85714,6 +88029,7 @@ self: {
        homepage = "https://github.com/brendanhay/gogol";
        description = "Google Cloud DNS SDK";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "gogol-doubleclick-bids" = callPackage
@@ -85726,6 +88042,7 @@ self: {
        homepage = "https://github.com/brendanhay/gogol";
        description = "Google DoubleClick Bid Manager SDK";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "gogol-doubleclick-search" = callPackage
@@ -85738,6 +88055,7 @@ self: {
        homepage = "https://github.com/brendanhay/gogol";
        description = "Google DoubleClick Search SDK";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "gogol-drive" = callPackage
@@ -85750,6 +88068,7 @@ self: {
        homepage = "https://github.com/brendanhay/gogol";
        description = "Google Drive SDK";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "gogol-firebase-dynamiclinks" = callPackage
@@ -85762,6 +88081,7 @@ self: {
        homepage = "https://github.com/brendanhay/gogol";
        description = "Google Firebase Dynamic Links SDK";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "gogol-firebase-rules" = callPackage
@@ -85774,6 +88094,7 @@ self: {
        homepage = "https://github.com/brendanhay/gogol";
        description = "Google Firebase Rules SDK";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "gogol-fitness" = callPackage
@@ -85786,6 +88107,7 @@ self: {
        homepage = "https://github.com/brendanhay/gogol";
        description = "Google Fitness SDK";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "gogol-fonts" = callPackage
@@ -85798,6 +88120,7 @@ self: {
        homepage = "https://github.com/brendanhay/gogol";
        description = "Google Fonts Developer SDK";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "gogol-freebasesearch" = callPackage
@@ -85810,6 +88133,7 @@ self: {
        homepage = "https://github.com/brendanhay/gogol";
        description = "Google Freebase Search SDK";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "gogol-fusiontables" = callPackage
@@ -85822,6 +88146,7 @@ self: {
        homepage = "https://github.com/brendanhay/gogol";
        description = "Google Fusion Tables SDK";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "gogol-games" = callPackage
@@ -85834,6 +88159,7 @@ self: {
        homepage = "https://github.com/brendanhay/gogol";
        description = "Google Play Game Services SDK";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "gogol-games-configuration" = callPackage
@@ -85846,6 +88172,7 @@ self: {
        homepage = "https://github.com/brendanhay/gogol";
        description = "Google Play Game Services Publishing SDK";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "gogol-games-management" = callPackage
@@ -85858,6 +88185,7 @@ self: {
        homepage = "https://github.com/brendanhay/gogol";
        description = "Google Play Game Services Management SDK";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "gogol-genomics" = callPackage
@@ -85870,6 +88198,7 @@ self: {
        homepage = "https://github.com/brendanhay/gogol";
        description = "Google Genomics SDK";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "gogol-gmail" = callPackage
@@ -85882,6 +88211,7 @@ self: {
        homepage = "https://github.com/brendanhay/gogol";
        description = "Google Gmail SDK";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "gogol-groups-migration" = callPackage
@@ -85894,6 +88224,7 @@ self: {
        homepage = "https://github.com/brendanhay/gogol";
        description = "Google Groups Migration SDK";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "gogol-groups-settings" = callPackage
@@ -85906,6 +88237,7 @@ self: {
        homepage = "https://github.com/brendanhay/gogol";
        description = "Google Groups Settings SDK";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "gogol-iam" = callPackage
@@ -85918,6 +88250,7 @@ self: {
        homepage = "https://github.com/brendanhay/gogol";
        description = "Google Identity and Access Management (IAM) SDK";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "gogol-identity-toolkit" = callPackage
@@ -85930,6 +88263,7 @@ self: {
        homepage = "https://github.com/brendanhay/gogol";
        description = "Google Identity Toolkit SDK";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "gogol-kgsearch" = callPackage
@@ -85942,6 +88276,7 @@ self: {
        homepage = "https://github.com/brendanhay/gogol";
        description = "Google Knowledge Graph Search SDK";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "gogol-language" = callPackage
@@ -85954,6 +88289,7 @@ self: {
        homepage = "https://github.com/brendanhay/gogol";
        description = "Google Cloud Natural Language SDK";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "gogol-latencytest" = callPackage
@@ -85966,6 +88302,7 @@ self: {
        homepage = "https://github.com/brendanhay/gogol";
        description = "Google Cloud Network Performance Monitoring SDK";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "gogol-logging" = callPackage
@@ -85978,6 +88315,7 @@ self: {
        homepage = "https://github.com/brendanhay/gogol";
        description = "Google Stackdriver Logging SDK";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "gogol-manufacturers" = callPackage
@@ -85990,6 +88328,7 @@ self: {
        homepage = "https://github.com/brendanhay/gogol";
        description = "Google Manufacturer Center SDK";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "gogol-maps-coordinate" = callPackage
@@ -86002,6 +88341,7 @@ self: {
        homepage = "https://github.com/brendanhay/gogol";
        description = "Google Maps Coordinate SDK";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "gogol-maps-engine" = callPackage
@@ -86014,6 +88354,7 @@ self: {
        homepage = "https://github.com/brendanhay/gogol";
        description = "Google Maps Engine SDK";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "gogol-mirror" = callPackage
@@ -86026,6 +88367,7 @@ self: {
        homepage = "https://github.com/brendanhay/gogol";
        description = "Google Mirror SDK";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "gogol-ml" = callPackage
@@ -86038,6 +88380,7 @@ self: {
        homepage = "https://github.com/brendanhay/gogol";
        description = "Google Cloud Machine Learning SDK";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "gogol-monitoring" = callPackage
@@ -86050,6 +88393,7 @@ self: {
        homepage = "https://github.com/brendanhay/gogol";
        description = "Google Stackdriver Monitoring SDK";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "gogol-oauth2" = callPackage
@@ -86062,6 +88406,7 @@ self: {
        homepage = "https://github.com/brendanhay/gogol";
        description = "Google OAuth2 SDK";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "gogol-pagespeed" = callPackage
@@ -86074,6 +88419,7 @@ self: {
        homepage = "https://github.com/brendanhay/gogol";
        description = "Google PageSpeed Insights SDK";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "gogol-partners" = callPackage
@@ -86086,6 +88432,7 @@ self: {
        homepage = "https://github.com/brendanhay/gogol";
        description = "Google Partners SDK";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "gogol-people" = callPackage
@@ -86098,6 +88445,7 @@ self: {
        homepage = "https://github.com/brendanhay/gogol";
        description = "Google People SDK";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "gogol-play-moviespartner" = callPackage
@@ -86110,6 +88458,7 @@ self: {
        homepage = "https://github.com/brendanhay/gogol";
        description = "Google Play Movies Partner SDK";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "gogol-plus" = callPackage
@@ -86122,6 +88471,7 @@ self: {
        homepage = "https://github.com/brendanhay/gogol";
        description = "Google + SDK";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "gogol-plus-domains" = callPackage
@@ -86134,6 +88484,7 @@ self: {
        homepage = "https://github.com/brendanhay/gogol";
        description = "Google + Domains SDK";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "gogol-prediction" = callPackage
@@ -86146,6 +88497,7 @@ self: {
        homepage = "https://github.com/brendanhay/gogol";
        description = "Google Prediction SDK";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "gogol-proximitybeacon" = callPackage
@@ -86158,6 +88510,7 @@ self: {
        homepage = "https://github.com/brendanhay/gogol";
        description = "Google Proximity Beacon SDK";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "gogol-pubsub" = callPackage
@@ -86170,6 +88523,7 @@ self: {
        homepage = "https://github.com/brendanhay/gogol";
        description = "Google Cloud Pub/Sub SDK";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "gogol-qpxexpress" = callPackage
@@ -86182,6 +88536,7 @@ self: {
        homepage = "https://github.com/brendanhay/gogol";
        description = "Google QPX Express SDK";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "gogol-replicapool" = callPackage
@@ -86194,6 +88549,7 @@ self: {
        homepage = "https://github.com/brendanhay/gogol";
        description = "Google Compute Engine Instance Group Manager SDK";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "gogol-replicapool-updater" = callPackage
@@ -86206,6 +88562,7 @@ self: {
        homepage = "https://github.com/brendanhay/gogol";
        description = "Google Compute Engine Instance Group Updater SDK";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "gogol-resourcemanager" = callPackage
@@ -86218,6 +88575,7 @@ self: {
        homepage = "https://github.com/brendanhay/gogol";
        description = "Google Cloud Resource Manager SDK";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "gogol-resourceviews" = callPackage
@@ -86230,6 +88588,7 @@ self: {
        homepage = "https://github.com/brendanhay/gogol";
        description = "Google Compute Engine Instance Groups SDK";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "gogol-runtimeconfig" = callPackage
@@ -86242,6 +88601,7 @@ self: {
        homepage = "https://github.com/brendanhay/gogol";
        description = "Google Cloud RuntimeConfig SDK";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "gogol-safebrowsing" = callPackage
@@ -86254,6 +88614,7 @@ self: {
        homepage = "https://github.com/brendanhay/gogol";
        description = "Google Safe Browsing APIs SDK";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "gogol-script" = callPackage
@@ -86266,6 +88627,7 @@ self: {
        homepage = "https://github.com/brendanhay/gogol";
        description = "Google Apps Script Execution SDK";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "gogol-servicecontrol" = callPackage
@@ -86278,6 +88640,7 @@ self: {
        homepage = "https://github.com/brendanhay/gogol";
        description = "Google Service Control SDK";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "gogol-servicemanagement" = callPackage
@@ -86303,6 +88666,7 @@ self: {
        homepage = "https://github.com/brendanhay/gogol";
        description = "Google Sheets SDK";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "gogol-shopping-content" = callPackage
@@ -86315,6 +88679,7 @@ self: {
        homepage = "https://github.com/brendanhay/gogol";
        description = "Google Content API for Shopping SDK";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "gogol-siteverification" = callPackage
@@ -86327,6 +88692,7 @@ self: {
        homepage = "https://github.com/brendanhay/gogol";
        description = "Google Site Verification SDK";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "gogol-slides" = callPackage
@@ -86339,6 +88705,7 @@ self: {
        homepage = "https://github.com/brendanhay/gogol";
        description = "Google Slides SDK";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "gogol-spectrum" = callPackage
@@ -86351,6 +88718,7 @@ self: {
        homepage = "https://github.com/brendanhay/gogol";
        description = "Google Spectrum Database SDK";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "gogol-sqladmin" = callPackage
@@ -86363,6 +88731,7 @@ self: {
        homepage = "https://github.com/brendanhay/gogol";
        description = "Google Cloud SQL Administration SDK";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "gogol-storage" = callPackage
@@ -86375,6 +88744,7 @@ self: {
        homepage = "https://github.com/brendanhay/gogol";
        description = "Google Cloud Storage JSON SDK";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "gogol-storage-transfer" = callPackage
@@ -86387,6 +88757,7 @@ self: {
        homepage = "https://github.com/brendanhay/gogol";
        description = "Google Storage Transfer SDK";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "gogol-tagmanager" = callPackage
@@ -86399,6 +88770,7 @@ self: {
        homepage = "https://github.com/brendanhay/gogol";
        description = "Google Tag Manager SDK";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "gogol-taskqueue" = callPackage
@@ -86411,6 +88783,7 @@ self: {
        homepage = "https://github.com/brendanhay/gogol";
        description = "Google TaskQueue SDK";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "gogol-translate" = callPackage
@@ -86423,6 +88796,7 @@ self: {
        homepage = "https://github.com/brendanhay/gogol";
        description = "Google Translate SDK";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "gogol-urlshortener" = callPackage
@@ -86435,6 +88809,7 @@ self: {
        homepage = "https://github.com/brendanhay/gogol";
        description = "Google URL Shortener SDK";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "gogol-useraccounts" = callPackage
@@ -86447,6 +88822,7 @@ self: {
        homepage = "https://github.com/brendanhay/gogol";
        description = "Google Cloud User Accounts SDK";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "gogol-vision" = callPackage
@@ -86459,6 +88835,7 @@ self: {
        homepage = "https://github.com/brendanhay/gogol";
        description = "Google Cloud Vision SDK";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "gogol-webmaster-tools" = callPackage
@@ -86471,6 +88848,7 @@ self: {
        homepage = "https://github.com/brendanhay/gogol";
        description = "Google Search Console SDK";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "gogol-youtube" = callPackage
@@ -86483,6 +88861,7 @@ self: {
        homepage = "https://github.com/brendanhay/gogol";
        description = "Google YouTube Data SDK";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "gogol-youtube-analytics" = callPackage
@@ -86495,6 +88874,7 @@ self: {
        homepage = "https://github.com/brendanhay/gogol";
        description = "Google YouTube Analytics SDK";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "gogol-youtube-reporting" = callPackage
@@ -86507,6 +88887,7 @@ self: {
        homepage = "https://github.com/brendanhay/gogol";
        description = "Google YouTube Reporting SDK";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "gooey" = callPackage
@@ -86610,6 +88991,7 @@ self: {
        homepage = "https://github.com/liyang/google-mail-filters";
        description = "Write GMail filters and output to importable XML";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "google-maps-geocoding" = callPackage
@@ -86631,24 +89013,48 @@ self: {
      }) {};
 
   "google-oauth2" = callPackage
-    ({ mkDerivation, aeson, base, bytestring, hspec, HTTP, http-conduit
-     , http-types, load-env
+    ({ mkDerivation, base, bytestring, hoauth2, hspec, http-client-tls
+     , http-conduit, load-env, safe-exceptions, text, transformers
+     , uri-bytestring
      }:
      mkDerivation {
        pname = "google-oauth2";
-       version = "0.2.2";
-       sha256 = "0n408kh48d7ky09j9zw9ad4mhbv1v7gq6i3ya4f6fhkjqqgw8c1j";
+       version = "0.3.0.0";
+       sha256 = "119p792prspir2vxk53jzkr90rava2qnixr1jkbmx5si63h9l01z";
        libraryHaskellDepends = [
-         aeson base bytestring HTTP http-conduit
+         base bytestring hoauth2 http-client-tls safe-exceptions text
+         transformers uri-bytestring
        ];
        testHaskellDepends = [
-         base bytestring hspec http-conduit http-types load-env
+         base bytestring hoauth2 hspec http-conduit load-env text
        ];
+       homepage = "https://github.com/pbrisbin/google-oauth2#readme";
        description = "Google OAuth2 token negotiation";
        license = stdenv.lib.licenses.mit;
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "google-oauth2-easy" = callPackage
+    ({ mkDerivation, aeson, base, criterion, http-api-data, http-client
+     , mtl, servant, servant-client, tasty, tasty-hspec, text
+     , text-conversions, unordered-containers
+     }:
+     mkDerivation {
+       pname = "google-oauth2-easy";
+       version = "0.0.0";
+       sha256 = "03jzlshz7649rvgmql5nsq4hys253dlqpm163xqpccif1s34z59b";
+       libraryHaskellDepends = [
+         aeson base http-api-data http-client mtl servant servant-client
+         text text-conversions unordered-containers
+       ];
+       testHaskellDepends = [ base tasty tasty-hspec ];
+       benchmarkHaskellDepends = [ base criterion ];
+       homepage = "https://github.com/jxv/google-oauth2-easy#readme";
+       description = "Opininated use of Google Authentication for ease";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "google-oauth2-for-cli" = callPackage
     ({ mkDerivation, aeson, base, bytestring, directory, filepath
      , hspec, http-types, req, time, unix, wai, warp
@@ -86683,6 +89089,23 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "google-oauth2-jwt_0_3_0" = callPackage
+    ({ mkDerivation, base, base64-bytestring, bytestring, HsOpenSSL
+     , RSA, text, unix-time
+     }:
+     mkDerivation {
+       pname = "google-oauth2-jwt";
+       version = "0.3.0";
+       sha256 = "1mi7mdkq2d7n3pxlspc5zgval7wb2q7sn261k704nwrbm0phzzbj";
+       libraryHaskellDepends = [
+         base base64-bytestring bytestring HsOpenSSL RSA text unix-time
+       ];
+       homepage = "https://github.com/MichelBoucey/google-oauth2-jwt";
+       description = "Get a signed JWT for Google Service Accounts";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "google-search" = callPackage
     ({ mkDerivation, base, free, nats, text, time }:
      mkDerivation {
@@ -86693,6 +89116,31 @@ self: {
        homepage = "https://github.com/liyang/google-search";
        description = "EDSL for Google and GMail search expressions";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "google-server-api" = callPackage
+    ({ mkDerivation, aeson, aeson-casing, base, base64-bytestring
+     , bytestring, HsOpenSSL, http-api-data, http-client
+     , http-client-tls, mime-mail, monad-control, monad-logger, mtl, RSA
+     , servant, servant-client, text, time, transformers
+     , transformers-base, unix-time, unordered-containers, wai
+     , wai-extra, warp
+     }:
+     mkDerivation {
+       pname = "google-server-api";
+       version = "0.2.0.1";
+       sha256 = "0d07flz3vpdyq4ifldp466zhj19ll7zlcnwn0ns47d72r79wghiw";
+       libraryHaskellDepends = [
+         aeson aeson-casing base base64-bytestring bytestring HsOpenSSL
+         http-api-data http-client http-client-tls mime-mail monad-control
+         monad-logger mtl RSA servant servant-client text time transformers
+         transformers-base unix-time unordered-containers wai wai-extra warp
+       ];
+       homepage = "https://github.com/arowM/haskell-google-server-api#readme";
+       description = "Google APIs for server to server applications";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "google-static-maps" = callPackage
@@ -86713,6 +89161,7 @@ self: {
        homepage = "https://github.com/mpilgrem/google-static-maps#readme";
        description = "Bindings to the Google Static Maps API";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "google-translate" = callPackage
@@ -86721,14 +89170,15 @@ self: {
      }:
      mkDerivation {
        pname = "google-translate";
-       version = "0.4.1";
-       sha256 = "0xpi3qss2cnv0dxgiwffzk6isgfgb95hfd5j62vc5jkjgkyzfqxn";
+       version = "0.5";
+       sha256 = "09mkhbdfcyw2hiqlijnv0lwlk9rka64hqmx8jhrdyksgsz6hc6gl";
        libraryHaskellDepends = [
          aeson base bytestring http-api-data http-client servant
          servant-client text transformers
        ];
        description = "Google Translate API bindings";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "googleplus" = callPackage
@@ -86914,6 +89364,7 @@ self: {
        homepage = "https://github.com/Teaspot-Studio/gore-and-ash-glfw";
        description = "Core module for Gore&Ash engine for GLFW input events";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "gore-and-ash-lambdacube" = callPackage
@@ -87220,6 +89671,7 @@ self: {
        homepage = "https://github.com/graknlabs/grakn-haskell";
        description = "A Haskell client for Grakn";
        license = stdenv.lib.licenses.asl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "grammar-combinators" = callPackage
@@ -87248,8 +89700,8 @@ self: {
      }:
      mkDerivation {
        pname = "grammatical-parsers";
-       version = "0.2.2";
-       sha256 = "0l1zjgn4jix9m2zbiwnms3c6004zqzpqxwvsdq9fmafbh7zhfvvx";
+       version = "0.3";
+       sha256 = "1dqmjg40h4gm6921yq84sx8x5sdbzhnv8xl7m2ylb872ddbzfwg3";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -87259,8 +89711,8 @@ self: {
          base containers monoid-subclasses parsers rank2classes
        ];
        testHaskellDepends = [
-         base checkers doctest monoid-subclasses parsers QuickCheck
-         rank2classes tasty tasty-quickcheck testing-feat
+         base checkers containers doctest monoid-subclasses parsers
+         QuickCheck rank2classes tasty tasty-quickcheck testing-feat
        ];
        benchmarkHaskellDepends = [
          base containers criterion deepseq monoid-subclasses rank2classes
@@ -87407,6 +89859,7 @@ self: {
        libraryHaskellDepends = [ base containers fgl ];
        description = "An implementation of algorithms for matchings in graphs";
        license = stdenv.lib.licenses.lgpl21;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "graph-rewriting" = callPackage
@@ -87761,8 +90214,8 @@ self: {
      }:
      mkDerivation {
        pname = "graphite";
-       version = "0.9.6.0";
-       sha256 = "0qryrwsj4pwvk804hv0cqglk197y895xlhgf5mq9azsp7ll39w3v";
+       version = "0.9.8.0";
+       sha256 = "1ylpa2kkbdhfgiq7g1kdlvjzs2ln3ag8pssp0widzz1p0is8ldm1";
        libraryHaskellDepends = [
          base bytestring cassava containers deepseq graphviz hashable
          process QuickCheck random semigroups text unordered-containers
@@ -87792,7 +90245,6 @@ self: {
        homepage = "http://github.com/yav/graphmod/wiki";
        description = "Present the module dependencies of a program as a \"dot\" graph";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "graphql" = callPackage
@@ -87833,7 +90285,6 @@ self: {
        homepage = "https://github.com/haskell-graphql/graphql-api#readme";
        description = "GraphQL API";
        license = stdenv.lib.licenses.asl20;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "graphs" = callPackage
@@ -88069,6 +90520,7 @@ self: {
        homepage = "https://github.com/erebe/greenclip#readme";
        description = "Simple clipboard manager to be integrated with rofi";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "greg-client" = callPackage
@@ -88155,6 +90607,48 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "greskell" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, doctest, doctest-discover
+     , greskell-core, hint, hspec, semigroups, text, transformers
+     , unordered-containers
+     }:
+     mkDerivation {
+       pname = "greskell";
+       version = "0.1.1.0";
+       sha256 = "1mf1fgp1i3pxayhgkc4jmx3fjx3s16vcn9n2jbg750d6nif6yyxi";
+       libraryHaskellDepends = [
+         aeson base greskell-core semigroups text transformers
+         unordered-containers
+       ];
+       testHaskellDepends = [
+         aeson base bytestring doctest doctest-discover greskell-core hint
+         hspec text unordered-containers
+       ];
+       homepage = "https://github.com/debug-ito/greskell/";
+       description = "Haskell binding for Gremlin graph query language";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "greskell-core" = callPackage
+    ({ mkDerivation, aeson, base, doctest, doctest-discover, hspec
+     , QuickCheck, scientific, semigroups, text, unordered-containers
+     }:
+     mkDerivation {
+       pname = "greskell-core";
+       version = "0.1.1.0";
+       sha256 = "0in0ilj337zm00qg0qxcmiai8xvlni5vz4sz0h0dmc3pmg57zmh0";
+       libraryHaskellDepends = [
+         aeson base scientific semigroups text unordered-containers
+       ];
+       testHaskellDepends = [
+         aeson base doctest doctest-discover hspec QuickCheck text
+       ];
+       homepage = "https://github.com/debug-ito/greskell/";
+       description = "Haskell binding for Gremlin graph query language - core data types and tools";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "grid" = callPackage
     ({ mkDerivation, base, cereal, containers, QuickCheck
      , test-framework, test-framework-quickcheck2
@@ -88275,6 +90769,57 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "groot" = callPackage
+    ({ mkDerivation, aeson, amazonka, amazonka-autoscaling
+     , amazonka-core, amazonka-ec2, amazonka-ecs, ansi-terminal
+     , attoparsec, base, bytestring, checkers, conduit
+     , conduit-combinators, directory, exceptions, free, hashable, hspec
+     , http-conduit, http-types, ini, lens, lifted-base, mmorph
+     , monad-control, mtl, optparse-applicative, pptable, prettyprinter
+     , prettyprinter-ansi-terminal, prettyprinter-compat-ansi-wl-pprint
+     , QuickCheck, quickcheck-text, resourcet, stm, stm-chans
+     , stm-conduit, stm-delay, text, these, time, transformers
+     , unordered-containers, uuid, vector, yaml
+     }:
+     mkDerivation {
+       pname = "groot";
+       version = "0.0.1.0";
+       sha256 = "04klrvsc0j16zhv5a1b80gmv91p0xlbp22ylq1cfh8qbbp5mpf5a";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson amazonka amazonka-autoscaling amazonka-core amazonka-ec2
+         amazonka-ecs ansi-terminal attoparsec base bytestring conduit
+         conduit-combinators directory exceptions free hashable http-conduit
+         http-types ini lens lifted-base mmorph monad-control mtl
+         optparse-applicative pptable prettyprinter
+         prettyprinter-ansi-terminal prettyprinter-compat-ansi-wl-pprint
+         resourcet stm stm-chans stm-conduit stm-delay text these time
+         transformers unordered-containers uuid vector yaml
+       ];
+       executableHaskellDepends = [
+         aeson amazonka amazonka-autoscaling amazonka-core amazonka-ec2
+         amazonka-ecs attoparsec base bytestring conduit conduit-combinators
+         directory exceptions free hashable http-conduit http-types lens
+         lifted-base mmorph monad-control mtl resourcet stm stm-chans
+         stm-conduit stm-delay text these time transformers
+         unordered-containers uuid vector yaml
+       ];
+       testHaskellDepends = [
+         aeson amazonka amazonka-autoscaling amazonka-core amazonka-ec2
+         amazonka-ecs attoparsec base bytestring checkers conduit
+         conduit-combinators directory exceptions free hashable hspec
+         http-conduit http-types lens lifted-base mmorph monad-control mtl
+         QuickCheck quickcheck-text resourcet stm stm-chans stm-conduit
+         stm-delay text these time transformers unordered-containers uuid
+         vector yaml
+       ];
+       homepage = "https://github.com/alonsodomin/groot#readme";
+       description = "Command line utility to manage AWS ECS resources";
+       license = stdenv.lib.licenses.asl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "gross" = callPackage
     ({ mkDerivation, base, lens, mtl, ncurses }:
      mkDerivation {
@@ -88293,17 +90838,17 @@ self: {
   "groundhog" = callPackage
     ({ mkDerivation, aeson, attoparsec, base, base64-bytestring
      , blaze-builder, bytestring, containers, monad-control, mtl
-     , resourcet, scientific, text, time, transformers
-     , transformers-base
+     , resourcet, safe-exceptions, scientific, text, time, transformers
+     , transformers-base, transformers-compat
      }:
      mkDerivation {
        pname = "groundhog";
-       version = "0.8";
-       sha256 = "075ga5yiyrd0if1v9j4nw8c76gpgnkidkk0s1d082x3k8vz5v58n";
+       version = "0.8.0.1";
+       sha256 = "0qrv2rpw1nqn28j6mcmwn0sjmfsfg5gj68sq5dcydh247q1acp5r";
        libraryHaskellDepends = [
          aeson attoparsec base base64-bytestring blaze-builder bytestring
-         containers monad-control mtl resourcet scientific text time
-         transformers transformers-base
+         containers monad-control mtl resourcet safe-exceptions scientific
+         text time transformers transformers-base transformers-compat
        ];
        homepage = "http://github.com/lykahb/groundhog";
        description = "Type-safe datatype-database mapping library";
@@ -88360,8 +90905,8 @@ self: {
      }:
      mkDerivation {
        pname = "groundhog-mysql";
-       version = "0.8";
-       sha256 = "0rjn91ncl3mwhb4y8ws6bjrwayjyncrfafikykzq200i2gjqpbai";
+       version = "0.8.0.1";
+       sha256 = "0h4sckj7hrhlnrfa9639kr9id8rf11ragadsj9rxils1vn4cn35r";
        libraryHaskellDepends = [
          base bytestring containers groundhog monad-control monad-logger
          mysql mysql-simple resource-pool resourcet text time transformers
@@ -88378,8 +90923,8 @@ self: {
      }:
      mkDerivation {
        pname = "groundhog-postgresql";
-       version = "0.8.0.1";
-       sha256 = "1s4m1g14jv88qxb2ynj92agjf3z2sa8xibgjgvwn7p3hn4zz73md";
+       version = "0.8.0.3";
+       sha256 = "0iz21awiblzir01r6p77qnlvqsb8j87x5y11g1q2spnafzj4wlpl";
        libraryHaskellDepends = [
          aeson attoparsec base blaze-builder bytestring containers groundhog
          monad-control postgresql-libpq postgresql-simple resource-pool
@@ -88396,8 +90941,8 @@ self: {
      }:
      mkDerivation {
        pname = "groundhog-sqlite";
-       version = "0.8";
-       sha256 = "14ih528kqq22qf890r74j1achddml8aaa24nqa5l0f4vrx5vvjvx";
+       version = "0.8.0.1";
+       sha256 = "1y6cfnyrrq61vv793crfb7yd21yn0gqmx7j7c9sg8665l34wq2jp";
        libraryHaskellDepends = [
          base bytestring containers direct-sqlite groundhog monad-control
          resource-pool resourcet text transformers unordered-containers
@@ -88478,14 +91023,14 @@ self: {
      }) {};
 
   "grouped-list" = callPackage
-    ({ mkDerivation, base, containers, criterion, deepseq, pointed
-     , QuickCheck, tasty, tasty-quickcheck
+    ({ mkDerivation, base, binary, containers, criterion, deepseq
+     , pointed, QuickCheck, tasty, tasty-quickcheck
      }:
      mkDerivation {
        pname = "grouped-list";
-       version = "0.2.1.4";
-       sha256 = "171n9mc7y3sxkcg1yx02c3snag13rkzf8n06fbc5ny7g15a8p79h";
-       libraryHaskellDepends = [ base containers deepseq pointed ];
+       version = "0.2.2.0";
+       sha256 = "0733wmdflxpd2ryrdx4ygizyclxmbd8xmkdfs7d7s4x8hffk0k5x";
+       libraryHaskellDepends = [ base binary containers deepseq pointed ];
        testHaskellDepends = [ base QuickCheck tasty tasty-quickcheck ];
        benchmarkHaskellDepends = [ base criterion ];
        homepage = "https://github.com/Daniel-Diaz/grouped-list/blob/master/README.md";
@@ -88731,7 +91276,6 @@ self: {
        homepage = "http://projects.haskell.org/gtk2hs/";
        description = "Binding to the GStreamer open source multimedia framework";
        license = stdenv.lib.licenses.lgpl21;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {inherit (pkgs) gst-plugins-base; inherit (pkgs) gstreamer;};
 
   "gt-tools" = callPackage
@@ -88775,8 +91319,8 @@ self: {
      }:
      mkDerivation {
        pname = "gtk";
-       version = "0.14.7";
-       sha256 = "0fqbr1h2zxa4g6jyias163bnlsnsdhfzfansc63qzh9y10vc2hn4";
+       version = "0.14.9";
+       sha256 = "1khz6ymwga07h7s1k9gadf212m242l9qq09qn2fvx8v67p4wvxxz";
        enableSeparateDataOutput = true;
        setupHaskellDepends = [ base Cabal gtk2hs-buildtools ];
        libraryHaskellDepends = [
@@ -88881,6 +91425,49 @@ self: {
        license = stdenv.lib.licenses.gpl3;
      }) {};
 
+  "gtk-sni-tray" = callPackage
+    ({ mkDerivation, base, bytestring, containers, dbus, directory
+     , enclosed-exceptions, filepath, gi-dbusmenugtk3, gi-gdk
+     , gi-gdkpixbuf, gi-glib, gi-gtk, gtk-strut, gtk3, haskell-gi
+     , haskell-gi-base, hslogger, optparse-applicative
+     , status-notifier-item, text, transformers, unix
+     }:
+     mkDerivation {
+       pname = "gtk-sni-tray";
+       version = "0.1.2.0";
+       sha256 = "1imgna34fdsg2fwlxk5xb0dvw8sbqjk7qgvh1p3wc8q9yx8zl0qm";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base bytestring containers dbus directory enclosed-exceptions
+         filepath gi-dbusmenugtk3 gi-gdk gi-gdkpixbuf gi-glib gi-gtk
+         gtk-strut haskell-gi haskell-gi-base hslogger status-notifier-item
+         text transformers unix
+       ];
+       libraryPkgconfigDepends = [ gtk3 ];
+       executableHaskellDepends = [
+         base dbus gi-gdk gi-gtk gtk-strut hslogger optparse-applicative
+         status-notifier-item text unix
+       ];
+       homepage = "https://github.com/IvanMalison/gtk-sni-tray#readme";
+       description = "A standalone StatusNotifierItem/AppIndicator tray";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {gtk3 = pkgs.gnome3.gtk;};
+
+  "gtk-strut" = callPackage
+    ({ mkDerivation, base, gi-gdk, gi-gtk, text, transformers }:
+     mkDerivation {
+       pname = "gtk-strut";
+       version = "0.1.2.0";
+       sha256 = "1v73qca2qdkpvfal2ndmwrxyj1qwgxgmammkbf88azs7wcxcf7y6";
+       libraryHaskellDepends = [ base gi-gdk gi-gtk text transformers ];
+       homepage = "https://github.com/IvanMalison/gtk-strut#readme";
+       description = "Libary for creating strut windows with gi-gtk";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "gtk-toggle-button-list" = callPackage
     ({ mkDerivation, base, gtk }:
      mkDerivation {
@@ -88906,17 +91493,17 @@ self: {
      }) {};
 
   "gtk-traymanager" = callPackage
-    ({ mkDerivation, base, glib, gtk, gtk2, x11 }:
+    ({ mkDerivation, base, glib, gtk3, x11 }:
      mkDerivation {
        pname = "gtk-traymanager";
-       version = "0.1.6";
-       sha256 = "0hind14k37823jsa9dg2r6bfj7d6y1m70xn8mcr610rhakazac6b";
-       libraryHaskellDepends = [ base glib gtk ];
-       libraryPkgconfigDepends = [ gtk2 x11 ];
+       version = "1.0.1";
+       sha256 = "0vc1gwhg5l7l5iqb1i3zwd1bsy8fxsiwkwzza7j15zi07f97k7di";
+       libraryHaskellDepends = [ base glib gtk3 ];
+       libraryPkgconfigDepends = [ x11 ];
        homepage = "http://github.com/travitch/gtk-traymanager";
        description = "A wrapper around the eggtraymanager library for Linux system trays";
        license = stdenv.lib.licenses.lgpl21;
-     }) {gtk2 = pkgs.gnome2.gtk; inherit (pkgs) x11;};
+     }) {inherit (pkgs) x11;};
 
   "gtk2hs-buildtools" = callPackage
     ({ mkDerivation, alex, array, base, Cabal, containers, directory
@@ -88924,8 +91511,8 @@ self: {
      }:
      mkDerivation {
        pname = "gtk2hs-buildtools";
-       version = "0.13.3.1";
-       sha256 = "0m3irv9cs8f602wc5lq84c7k1pd9yg4vydfzzn2qa6z0l552y3r2";
+       version = "0.13.4.0";
+       sha256 = "0yg6xmylgpylmnh5g33qwwn5x9bqckdvvv4czqzd9vrr12lnnghg";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -89077,8 +91664,8 @@ self: {
      }:
      mkDerivation {
        pname = "gtk3";
-       version = "0.14.8";
-       sha256 = "0sxk3dhzhqkmlwqkpvmi1b0ycyqdz19z7zfr5nxhskzn5b522ikw";
+       version = "0.14.9";
+       sha256 = "1rcn0x6q0r0a3waxdsyvbyzfswsi6j7yr9fsixqr1c0g334lmqa8";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -89306,6 +91893,7 @@ self: {
        homepage = "https://github.com/stites/gym-http-api#readme";
        description = "REST client to the gym-http-api project";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "h-booru" = callPackage
@@ -89334,20 +91922,23 @@ self: {
      }) {};
 
   "h-gpgme" = callPackage
-    ({ mkDerivation, base, bindings-gpgme, bytestring, either, HUnit
-     , QuickCheck, tasty, tasty-hunit, tasty-quickcheck, time
+    ({ mkDerivation, base, bindings-gpgme, bytestring, data-default
+     , directory, email-validate, exceptions, filepath, HUnit
+     , QuickCheck, tasty, tasty-hunit, tasty-quickcheck, temporary, time
      , transformers, unix
      }:
      mkDerivation {
        pname = "h-gpgme";
-       version = "0.4.0.0";
-       sha256 = "0v85bz57jn265v5pnr0xjw838qmiy7v6vinvvd6m7pj5zls5hx9m";
+       version = "0.5.0.0";
+       sha256 = "0fvkj7cz7nfz52a2zccngb8gbs8p94whvgccvnxpwmkg90m45mfp";
        libraryHaskellDepends = [
-         base bindings-gpgme bytestring either time unix
+         base bindings-gpgme bytestring data-default email-validate time
+         transformers unix
        ];
        testHaskellDepends = [
-         base bindings-gpgme bytestring either HUnit QuickCheck tasty
-         tasty-hunit tasty-quickcheck time transformers unix
+         base bindings-gpgme bytestring data-default directory
+         email-validate exceptions filepath HUnit QuickCheck tasty
+         tasty-hunit tasty-quickcheck temporary time transformers unix
        ];
        homepage = "https://github.com/rethab/h-gpgme";
        description = "High Level Binding for GnuPG Made Easy (gpgme)";
@@ -89621,58 +92212,6 @@ self: {
      }) {};
 
   "hOpenPGP" = callPackage
-    ({ mkDerivation, aeson, attoparsec, base, base16-bytestring
-     , base64-bytestring, bifunctors, binary, binary-conduit, byteable
-     , bytestring, bzlib, conduit, conduit-extra, containers, criterion
-     , crypto-cipher-types, cryptonite, data-default-class, errors
-     , hashable, incremental-parser, ixset-typed, lens, memory
-     , monad-loops, nettle, network, network-uri, newtype
-     , openpgp-asciiarmor, QuickCheck, quickcheck-instances, resourcet
-     , securemem, semigroups, split, tasty, tasty-hunit
-     , tasty-quickcheck, text, time, time-locale-compat, transformers
-     , unordered-containers, wl-pprint-extras, zlib
-     }:
-     mkDerivation {
-       pname = "hOpenPGP";
-       version = "2.5.5";
-       sha256 = "0m5df5w261nm6v246g6r306a5higmyzpgsskf8cp4m88cnlyy08q";
-       libraryHaskellDepends = [
-         aeson attoparsec base base16-bytestring base64-bytestring
-         bifunctors binary binary-conduit byteable bytestring bzlib conduit
-         conduit-extra containers crypto-cipher-types cryptonite
-         data-default-class errors hashable incremental-parser ixset-typed
-         lens memory monad-loops nettle network network-uri newtype
-         openpgp-asciiarmor resourcet securemem semigroups split text time
-         time-locale-compat transformers unordered-containers
-         wl-pprint-extras zlib
-       ];
-       testHaskellDepends = [
-         aeson attoparsec base base16-bytestring bifunctors binary
-         binary-conduit byteable bytestring bzlib conduit conduit-extra
-         containers crypto-cipher-types cryptonite data-default-class errors
-         hashable incremental-parser ixset-typed lens memory monad-loops
-         nettle network network-uri newtype QuickCheck quickcheck-instances
-         resourcet securemem semigroups split tasty tasty-hunit
-         tasty-quickcheck text time time-locale-compat transformers
-         unordered-containers wl-pprint-extras zlib
-       ];
-       benchmarkHaskellDepends = [
-         aeson base base16-bytestring base64-bytestring bifunctors binary
-         binary-conduit byteable bytestring bzlib conduit conduit-extra
-         containers criterion crypto-cipher-types cryptonite
-         data-default-class errors hashable incremental-parser ixset-typed
-         lens memory monad-loops nettle network network-uri newtype
-         openpgp-asciiarmor resourcet securemem semigroups split text time
-         time-locale-compat transformers unordered-containers
-         wl-pprint-extras zlib
-       ];
-       homepage = "http://floss.scru.org/hOpenPGP/";
-       description = "native Haskell implementation of OpenPGP (RFC4880)";
-       license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
-     }) {};
-
-  "hOpenPGP_2_6" = callPackage
     ({ mkDerivation, aeson, asn1-encoding, attoparsec, base
      , base16-bytestring, base64-bytestring, bifunctors, binary
      , binary-conduit, bytestring, bzlib, conduit, conduit-extra
@@ -89687,8 +92226,8 @@ self: {
      }:
      mkDerivation {
        pname = "hOpenPGP";
-       version = "2.6";
-       sha256 = "0vsrgyzh7zlx9z27fvpjzk4s4gv1zpxwb68n529hvilsphyz35kf";
+       version = "2.6.1";
+       sha256 = "1al531lrsgfsqjc21117l420pcd7ymv4vdzywka189lkd8p5yzj7";
        libraryHaskellDepends = [
          aeson asn1-encoding attoparsec base base16-bytestring
          base64-bytestring bifunctors binary binary-conduit bytestring bzlib
@@ -89742,6 +92281,7 @@ self: {
        homepage = "https://github.com/BioHaskell/hPDB";
        description = "Protein Databank file format library";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "hPDB-examples" = callPackage
@@ -89768,6 +92308,7 @@ self: {
        homepage = "https://github.com/BioHaskell/hPDB-examples";
        description = "Examples for hPDB library";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "hPushover" = callPackage
@@ -90450,6 +92991,8 @@ self: {
        pname = "hackage-db";
        version = "2.0";
        sha256 = "09xza82g45nv3gxmryqd2mns4bm8hr6d7hzr7nqdi6zq46s0lfgq";
+       revision = "1";
+       editedCabalFile = "1zsdy9c0gngl8k690311zchd3lhl7h64arab77p7v9j5bradziiq";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -90465,6 +93008,27 @@ self: {
        maintainers = with stdenv.lib.maintainers; [ peti ];
      }) {};
 
+  "hackage-db_2_0_1" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, Cabal, containers
+     , directory, filepath, tar, time, utf8-string
+     }:
+     mkDerivation {
+       pname = "hackage-db";
+       version = "2.0.1";
+       sha256 = "13ggj72i8dxwh3qwznnqxbr00nvsbapyyhzx5zybfacddnpw3aph";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson base bytestring Cabal containers directory filepath tar time
+         utf8-string
+       ];
+       homepage = "https://github.com/peti/hackage-db#readme";
+       description = "Access Hackage's package database via Data.Map";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       maintainers = with stdenv.lib.maintainers; [ peti ];
+     }) {};
+
   "hackage-diff" = callPackage
     ({ mkDerivation, ansi-terminal, async, attoparsec, base, Cabal
      , cpphs, directory, filepath, haskell-src-exts, HTTP, mtl, process
@@ -90578,22 +93142,20 @@ self: {
 
   "hackage-repo-tool" = callPackage
     ({ mkDerivation, base, bytestring, Cabal, directory, filepath
-     , hackage-security, network, network-uri, optparse-applicative, tar
-     , time, unix, zlib
+     , hackage-security, network, network-uri, old-time
+     , optparse-applicative, tar, time, unix, zlib
      }:
      mkDerivation {
        pname = "hackage-repo-tool";
-       version = "0.1.1";
-       sha256 = "1x34f28wqa1v935d90fzhra2d1c5kj6nrp79iyp53kj2kmqw5xi3";
-       revision = "2";
-       editedCabalFile = "04mlgliz33sb9dwzayd858b42pa30a7wpcd9jgmk1kc59dlv1y38";
+       version = "0.1.1.1";
+       sha256 = "05r4i7zhwbsv9ci4yid57fnb5lkx254pch9arq5a11dvwsvdzvzw";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
          base bytestring Cabal directory filepath hackage-security network
-         network-uri optparse-applicative tar time unix zlib
+         network-uri old-time optparse-applicative tar time unix zlib
        ];
-       homepage = "https://github.com/well-typed/hackage-security";
+       homepage = "https://github.com/haskell/hackage-security";
        description = "Utility to manage secure file-based package repositories";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -90602,17 +93164,14 @@ self: {
   "hackage-security" = callPackage
     ({ mkDerivation, base, base16-bytestring, base64-bytestring
      , bytestring, Cabal, containers, cryptohash-sha256, directory
-     , ed25519, filepath, ghc-prim, HUnit, mtl, network, network-uri
-     , parsec, pretty, QuickCheck, tar, tasty, tasty-hunit
-     , tasty-quickcheck, template-haskell, temporary, time, transformers
-     , zlib
+     , ed25519, filepath, ghc-prim, mtl, network, network-uri, parsec
+     , pretty, QuickCheck, tar, tasty, tasty-hunit, tasty-quickcheck
+     , template-haskell, temporary, time, transformers, zlib
      }:
      mkDerivation {
        pname = "hackage-security";
-       version = "0.5.2.2";
-       sha256 = "0h9wag599x9ysdrgwa643phmpb1xiiwhyh2dix67fji6a5w86yjh";
-       revision = "5";
-       editedCabalFile = "0f1ml7dvwk4xrz3gsf133n67cbxzf0sz5frxfsx9i79x1yrg9zdj";
+       version = "0.5.3.0";
+       sha256 = "08bwawc7ramgdh54vcly2m9pvfchp0ahhs8117jajni6x4bnx66v";
        libraryHaskellDepends = [
          base base16-bytestring base64-bytestring bytestring Cabal
          containers cryptohash-sha256 directory ed25519 filepath ghc-prim
@@ -90620,10 +93179,10 @@ self: {
          transformers zlib
        ];
        testHaskellDepends = [
-         base bytestring Cabal containers HUnit network-uri QuickCheck tar
-         tasty tasty-hunit tasty-quickcheck temporary time zlib
+         base bytestring Cabal containers network-uri QuickCheck tar tasty
+         tasty-hunit tasty-quickcheck temporary time zlib
        ];
-       homepage = "https://github.com/well-typed/hackage-security";
+       homepage = "https://github.com/haskell/hackage-security";
        description = "Hackage security library";
        license = stdenv.lib.licenses.bsd3;
      }) {};
@@ -90721,7 +93280,6 @@ self: {
        homepage = "https://github.com/stepcut/hackage-whatsnew";
        description = "Check for differences between working directory and hackage";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "hackage2hwn" = callPackage
@@ -90780,31 +93338,6 @@ self: {
      }:
      mkDerivation {
        pname = "hackernews";
-       version = "1.3.0.0";
-       sha256 = "184hf3lwp275dyq5n2szr1mwp5zpa22x48wqddy9c3clxc7lv535";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         aeson base http-client http-types QuickCheck quickcheck-instances
-         servant servant-client string-conversions text
-       ];
-       executableHaskellDepends = [ base http-client http-client-tls ];
-       testHaskellDepends = [
-         aeson base hspec http-client http-client-tls QuickCheck
-         quickcheck-instances
-       ];
-       description = "API for Hacker News";
-       license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
-     }) {};
-
-  "hackernews_1_4_0_0" = callPackage
-    ({ mkDerivation, aeson, base, hspec, http-client, http-client-tls
-     , http-types, QuickCheck, quickcheck-instances, servant
-     , servant-client, string-conversions, text
-     }:
-     mkDerivation {
-       pname = "hackernews";
        version = "1.4.0.0";
        sha256 = "0ilj91vjnsfdlzhjh35nqrr3c1z7p6qfabvk3xdz6iqzmpcq3ys8";
        isLibrary = true;
@@ -90873,8 +93406,8 @@ self: {
      }:
      mkDerivation {
        pname = "hackport";
-       version = "0.5.4";
-       sha256 = "1gbn6bnlhaafycyfsfh5j4rbkd56nc65qny34ii9clr34d2cwkaq";
+       version = "0.5.5";
+       sha256 = "0chvf2wvpvbnzf8980sdg9s61c4p100ps7ava85hlr281sng5d60";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -90886,9 +93419,9 @@ self: {
          transformers unix xml zlib
        ];
        testHaskellDepends = [
-         base binary bytestring containers deepseq directory
-         extensible-exceptions filepath HUnit pretty process split time unix
-         xml
+         array base binary bytestring containers deepseq directory
+         extensible-exceptions filepath HUnit parsec pretty process split
+         time unix xml
        ];
        description = "Hackage and Portage integration tool";
        license = "GPL";
@@ -90967,8 +93500,8 @@ self: {
     ({ mkDerivation, base, filepath, haddock-api, hspec }:
      mkDerivation {
        pname = "haddock";
-       version = "2.18.1";
-       sha256 = "1gg1nl38f2h93xci4pa4zgb5wvcpwv0mab0balmzzgnd4amk3jgv";
+       version = "2.19.0.1";
+       sha256 = "1g1j9j0hf2yhyyh0gwz6bzbvfvliqz9x8a8hnkmwghm7w3xa6sb7";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [ base haddock-api ];
@@ -91052,16 +93585,18 @@ self: {
      }:
      mkDerivation {
        pname = "haddock-api";
-       version = "2.18.1";
-       sha256 = "1q0nf86h6b466yd3bhng8sklm0kqc8bak4k6d4dcc57j3wf2gak8";
-       revision = "1";
-       editedCabalFile = "0ncxba7bppgap3vaxv07cyq2q4wsb860xv83znj4dgksvr64xl7y";
+       version = "2.19.0.1";
+       sha256 = "0c6i7sljp7myz25d90gyw68a90i5jcrkajkxcciikp2hjirfaas3";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          array base bytestring Cabal containers deepseq directory filepath
          ghc ghc-boot ghc-paths haddock-library transformers xhtml
        ];
-       testHaskellDepends = [ base containers ghc hspec QuickCheck ];
+       testHaskellDepends = [
+         array base bytestring Cabal containers deepseq directory filepath
+         ghc ghc-boot ghc-paths haddock-library hspec QuickCheck
+         transformers xhtml
+       ];
        testToolDepends = [ hspec-discover ];
        homepage = "http://www.haskell.org/haddock/";
        description = "A documentation-generation tool for Haskell libraries";
@@ -91107,7 +93642,7 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
-  "haddock-library" = callPackage
+  "haddock-library_1_4_3" = callPackage
     ({ mkDerivation, base, base-compat, bytestring, deepseq, hspec
      , QuickCheck, transformers
      }:
@@ -91122,6 +93657,7 @@ self: {
        homepage = "http://www.haskell.org/haddock/";
        description = "Library exposing some functionality of Haddock";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "haddock-library_1_4_4" = callPackage
@@ -91137,13 +93673,14 @@ self: {
          base base-compat bytestring deepseq hspec QuickCheck transformers
        ];
        testToolDepends = [ hspec-discover ];
+       doHaddock = false;
        homepage = "http://www.haskell.org/haddock/";
        description = "Library exposing some functionality of Haddock";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
-  "haddock-library_1_4_5" = callPackage
+  "haddock-library" = callPackage
     ({ mkDerivation, base, base-compat, bytestring, deepseq, hspec
      , hspec-discover, QuickCheck, transformers
      }:
@@ -91156,6 +93693,30 @@ self: {
          base base-compat bytestring deepseq hspec QuickCheck transformers
        ];
        testToolDepends = [ hspec-discover ];
+       doHaddock = false;
+       homepage = "http://www.haskell.org/haddock/";
+       description = "Library exposing some functionality of Haddock";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "haddock-library_1_5_0_1" = callPackage
+    ({ mkDerivation, base, base-compat, bytestring, containers, deepseq
+     , directory, filepath, hspec, hspec-discover, optparse-applicative
+     , QuickCheck, transformers, tree-diff
+     }:
+     mkDerivation {
+       pname = "haddock-library";
+       version = "1.5.0.1";
+       sha256 = "1cmbg8l5xrwpliclwy3l057raypjqy0hsg1h1743ahaj8gq10b7z";
+       libraryHaskellDepends = [
+         base bytestring containers deepseq transformers
+       ];
+       testHaskellDepends = [
+         base base-compat bytestring containers deepseq directory filepath
+         hspec optparse-applicative QuickCheck transformers tree-diff
+       ];
+       testToolDepends = [ hspec-discover ];
+       doHaddock = false;
        homepage = "http://www.haskell.org/haddock/";
        description = "Library exposing some functionality of Haddock";
        license = stdenv.lib.licenses.bsd3;
@@ -91209,8 +93770,8 @@ self: {
      }:
      mkDerivation {
        pname = "hadolint";
-       version = "1.5.0";
-       sha256 = "05xhiwrq6v8v0hy08mhxbslj3ncvyi1jm8m5lv8xqngwcn3yax44";
+       version = "1.6.5";
+       sha256 = "10pn82hichabqxxk931zwqkis8p0z235ydv7dlcrl8nisj6lzda1";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -91269,7 +93830,6 @@ self: {
        homepage = "http://github.com/jystic/hadoop-rpc";
        description = "Use the Hadoop RPC interface from Haskell";
        license = stdenv.lib.licenses.asl20;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "hadoop-tools" = callPackage
@@ -91430,8 +93990,8 @@ self: {
      }:
      mkDerivation {
        pname = "hailgun";
-       version = "0.4.1.6";
-       sha256 = "0hkz666vd02iknkxv0l60l3ara0yaszc6583sry0shk2cd74lv06";
+       version = "0.4.1.7";
+       sha256 = "1ldh6q96xz2a8frvgq29j3gr8jc2m0rx652215bm8w99mbq4pcri";
        libraryHaskellDepends = [
          aeson base bytestring email-validate exceptions filepath
          http-client http-client-tls http-types tagsoup text time
@@ -91661,90 +94221,39 @@ self: {
   "hakyll" = callPackage
     ({ mkDerivation, base, binary, blaze-html, blaze-markup, bytestring
      , containers, cryptohash, data-default, deepseq, directory
-     , filepath, fsnotify, http-conduit, http-types, lrucache, mtl
-     , network, network-uri, optparse-applicative, pandoc
-     , pandoc-citeproc, parsec, process, QuickCheck, random, regex-base
-     , regex-tdfa, resourcet, scientific, system-filepath, tagsoup
-     , tasty, tasty-hunit, tasty-quickcheck, text, time
-     , time-locale-compat, unordered-containers, utillinux, vector, wai
-     , wai-app-static, warp, yaml
-     }:
-     mkDerivation {
-       pname = "hakyll";
-       version = "4.10.0.0";
-       sha256 = "0zz5g8ildihng1cw12hxfv3ihd604id20llnpaasrg25b96bidw2";
-       isLibrary = true;
-       isExecutable = true;
-       enableSeparateDataOutput = true;
-       libraryHaskellDepends = [
-         base binary blaze-html blaze-markup bytestring containers
-         cryptohash data-default deepseq directory filepath fsnotify
-         http-conduit http-types lrucache mtl network network-uri
-         optparse-applicative pandoc pandoc-citeproc parsec process random
-         regex-base regex-tdfa resourcet scientific system-filepath tagsoup
-         text time time-locale-compat unordered-containers vector wai
-         wai-app-static warp yaml
-       ];
-       executableHaskellDepends = [ base directory filepath ];
-       testHaskellDepends = [
-         base binary blaze-html blaze-markup bytestring containers
-         cryptohash data-default deepseq directory filepath fsnotify
-         http-conduit http-types lrucache mtl network network-uri
-         optparse-applicative pandoc pandoc-citeproc parsec process
-         QuickCheck random regex-base regex-tdfa resourcet scientific
-         system-filepath tagsoup tasty tasty-hunit tasty-quickcheck text
-         time time-locale-compat unordered-containers vector wai
-         wai-app-static warp yaml
-       ];
-       testToolDepends = [ utillinux ];
-       homepage = "http://jaspervdj.be/hakyll";
-       description = "A static website compiler library";
-       license = stdenv.lib.licenses.bsd3;
-     }) {inherit (pkgs) utillinux;};
-
-  "hakyll_4_11_0_0" = callPackage
-    ({ mkDerivation, base, binary, blaze-html, blaze-markup, bytestring
-     , containers, cryptohash, data-default, deepseq, directory
      , file-embed, filepath, fsnotify, http-conduit, http-types
-     , lrucache, mtl, network, network-uri, optparse-applicative, pandoc
-     , pandoc-citeproc, parsec, process, QuickCheck, random, regex-base
-     , regex-tdfa, resourcet, scientific, tagsoup, tasty, tasty-hunit
+     , lrucache, mtl, network-uri, optparse-applicative, pandoc
+     , pandoc-citeproc, parsec, process, QuickCheck, random, regex-tdfa
+     , resourcet, scientific, tagsoup, tasty, tasty-hunit
      , tasty-quickcheck, text, time, time-locale-compat
      , unordered-containers, utillinux, vector, wai, wai-app-static
      , warp, yaml
      }:
      mkDerivation {
        pname = "hakyll";
-       version = "4.11.0.0";
-       sha256 = "08930cs783krsjqzlswz4fplppdlmw5b29nry5i7kan7d4f4lfb8";
+       version = "4.12.2.0";
+       sha256 = "1bkr94dakfwq86pm68r61x4g2xmcsliqn8lxgp2jkf8603mjla47";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          base binary blaze-html blaze-markup bytestring containers
          cryptohash data-default deepseq directory file-embed filepath
-         fsnotify http-conduit http-types lrucache mtl network network-uri
+         fsnotify http-conduit http-types lrucache mtl network-uri
          optparse-applicative pandoc pandoc-citeproc parsec process random
-         regex-base regex-tdfa resourcet scientific tagsoup text time
+         regex-tdfa resourcet scientific tagsoup text time
          time-locale-compat unordered-containers vector wai wai-app-static
          warp yaml
        ];
        executableHaskellDepends = [ base directory filepath ];
        testHaskellDepends = [
-         base binary blaze-html blaze-markup bytestring containers
-         cryptohash data-default deepseq directory filepath fsnotify
-         http-conduit http-types lrucache mtl network network-uri
-         optparse-applicative pandoc pandoc-citeproc parsec process
-         QuickCheck random regex-base regex-tdfa resourcet scientific
-         tagsoup tasty tasty-hunit tasty-quickcheck text time
-         time-locale-compat unordered-containers vector wai wai-app-static
-         warp yaml
+         base bytestring containers filepath QuickCheck tasty tasty-hunit
+         tasty-quickcheck text unordered-containers yaml
        ];
        testToolDepends = [ utillinux ];
        homepage = "http://jaspervdj.be/hakyll";
        description = "A static website compiler library";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {inherit (pkgs) utillinux;};
 
   "hakyll-R" = callPackage
@@ -91904,12 +94413,15 @@ self: {
      }) {};
 
   "hakyll-dir-list" = callPackage
-    ({ mkDerivation, base, containers, filepath, hakyll }:
+    ({ mkDerivation, base, containers, data-default, filepath, hakyll
+     }:
      mkDerivation {
        pname = "hakyll-dir-list";
-       version = "0.1.1.0";
-       sha256 = "0j5amghlsjdnvi4klag6ifwwzy05v17bsf7j6lzl32hcx66a62qb";
-       libraryHaskellDepends = [ base containers filepath hakyll ];
+       version = "1.0.0.2";
+       sha256 = "0irkfnwbzhchvjsfzndb6i3w76gnwik9fq3fhi3qg3jc7l0cgi76";
+       libraryHaskellDepends = [
+         base containers data-default filepath hakyll
+       ];
        homepage = "http://github.com/freylax/hakyll-dir-list";
        description = "Allow Hakyll to create hierarchical menues from directories";
        license = stdenv.lib.licenses.bsd3;
@@ -92085,6 +94597,21 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "half_0_3" = callPackage
+    ({ mkDerivation, base, deepseq, hspec, QuickCheck, template-haskell
+     }:
+     mkDerivation {
+       pname = "half";
+       version = "0.3";
+       sha256 = "14r0nx8hm5fic9gz0ybjjw4kyc758zfgvhhwvzsshpx5caq6zch6";
+       libraryHaskellDepends = [ base deepseq template-haskell ];
+       testHaskellDepends = [ base hspec QuickCheck ];
+       homepage = "http://github.com/ekmett/half";
+       description = "Half-precision floating-point";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "halfs" = callPackage
     ({ mkDerivation, array, base, bytestring, cereal, containers
      , directory, filepath, fingertree, HFuse, mtl, QuickCheck, random
@@ -92232,6 +94759,18 @@ self: {
        license = stdenv.lib.licenses.gpl2;
      }) {};
 
+  "halves" = callPackage
+    ({ mkDerivation, base, hedgehog, lens }:
+     mkDerivation {
+       pname = "halves";
+       version = "0.1.0.0";
+       sha256 = "06axsxkfja0p7vki4cnrf3rf3k255f5mk573pzn0zvzi4f8mmadn";
+       libraryHaskellDepends = [ base lens ];
+       testHaskellDepends = [ base hedgehog lens ];
+       description = "Splitting/combining data structures to/from halves, quarters, eighths";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "halvm-web" = callPackage
     ({ mkDerivation, async, base, bytestring, cereal, containers
      , HALVMCore, hans, HTTP, mime-types, network-uri, simple-tar, text
@@ -92289,6 +94828,33 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "hamilton_0_1_0_3" = callPackage
+    ({ mkDerivation, ad, ansi-wl-pprint, base, containers
+     , finite-typelits, ghc-typelits-knownnat, hmatrix, hmatrix-gsl
+     , hmatrix-vector-sized, optparse-applicative, typelits-witnesses
+     , vector, vector-sized, vty
+     }:
+     mkDerivation {
+       pname = "hamilton";
+       version = "0.1.0.3";
+       sha256 = "06yvmm9641v74kd265csycwp6ywyc19mx0r0csycljcfghhj6xiw";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         ad base hmatrix hmatrix-gsl hmatrix-vector-sized typelits-witnesses
+         vector-sized
+       ];
+       executableHaskellDepends = [
+         ansi-wl-pprint base containers finite-typelits
+         ghc-typelits-knownnat hmatrix optparse-applicative vector
+         vector-sized vty
+       ];
+       homepage = "https://github.com/mstksg/hamilton#readme";
+       description = "Physics on generalized coordinate systems using Hamiltonian Mechanics and AD";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "hamlet" = callPackage
     ({ mkDerivation, base, shakespeare }:
      mkDerivation {
@@ -92364,19 +94930,19 @@ self: {
   "hamtsolo" = callPackage
     ({ mkDerivation, async, attoparsec, attoparsec-binary, base, binary
      , bytestring, conduit, conduit-combinators, conduit-extra
-     , exceptions, optparse-applicative, resourcet, stm-conduit, unix
-     , word8
+     , exceptions, gitrev, optparse-applicative, resourcet, stm-conduit
+     , unix
      }:
      mkDerivation {
        pname = "hamtsolo";
-       version = "1.0.2";
-       sha256 = "0756ffnh1fxwagwkj3zy8axnwkwhnn8m37583sr0ymwyp9vwi3sx";
+       version = "1.0.3";
+       sha256 = "0dbhpdfmbs6ydin2p75wqia9lcrw82gfv3kx8659gnw2ll3dmpnh";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
          async attoparsec attoparsec-binary base binary bytestring conduit
-         conduit-combinators conduit-extra exceptions optparse-applicative
-         resourcet stm-conduit unix word8
+         conduit-combinators conduit-extra exceptions gitrev
+         optparse-applicative resourcet stm-conduit unix
        ];
        homepage = "https://github.com/tfc/hamtsolo#readme";
        description = "Intel AMT serial-over-lan (SOL) client";
@@ -92655,8 +95221,8 @@ self: {
      }:
      mkDerivation {
        pname = "hapistrano";
-       version = "0.3.5.2";
-       sha256 = "0qabrvx93l8wmir4a0rg2iddsal455fx34vvdxj1ngbya25fspw4";
+       version = "0.3.5.5";
+       sha256 = "1imgfnn58cmfi383zfi0flx8w2430f5kplsy2m27djy5fv6brmpv";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -92829,8 +95395,8 @@ self: {
      }:
      mkDerivation {
        pname = "happstack-authenticate";
-       version = "2.3.4.10";
-       sha256 = "057mihkspxp78q2gwgyqmqgiy5pzimkzvsj8rk9psmzci09l68qd";
+       version = "2.3.4.11";
+       sha256 = "1df9yybqzljfilpqgrz8qpa6iy5lfa3f3vmz0ip8qpvzgcxyhpd7";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          acid-state aeson authenticate base base64-bytestring boomerang
@@ -92844,7 +95410,6 @@ self: {
        homepage = "http://www.happstack.com/";
        description = "Happstack Authentication Library";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "happstack-clientsession" = callPackage
@@ -93205,22 +95770,22 @@ self: {
     ({ mkDerivation, base, base64-bytestring, blaze-html, bytestring
      , containers, directory, exceptions, extensible-exceptions
      , filepath, hslogger, html, HUnit, monad-control, mtl, network
-     , network-uri, old-locale, parsec, process, sendfile, syb
-     , system-filepath, template-haskell, text, threads, time
+     , network-uri, old-locale, parsec, process, semigroups, sendfile
+     , syb, system-filepath, template-haskell, text, threads, time
      , time-compat, transformers, transformers-base, transformers-compat
      , unix, utf8-string, xhtml, zlib
      }:
      mkDerivation {
        pname = "happstack-server";
-       version = "7.5.0.1";
-       sha256 = "05cb20rj4qys7r5kkbvjnm4bknfzwanf4r4yk1jq7a71x2sgcxc0";
+       version = "7.5.1";
+       sha256 = "18cfkwffwfz410x9wjbciynbqs9srpzg60rappzx778lb33px1rj";
        libraryHaskellDepends = [
          base base64-bytestring blaze-html bytestring containers directory
          exceptions extensible-exceptions filepath hslogger html
          monad-control mtl network network-uri old-locale parsec process
-         sendfile syb system-filepath template-haskell text threads time
-         time-compat transformers transformers-base transformers-compat unix
-         utf8-string xhtml zlib
+         semigroups sendfile syb system-filepath template-haskell text
+         threads time time-compat transformers transformers-base
+         transformers-compat unix utf8-string xhtml zlib
        ];
        testHaskellDepends = [
          base bytestring containers HUnit parsec zlib
@@ -93381,8 +95946,8 @@ self: {
        pname = "happy";
        version = "1.19.9";
        sha256 = "138xpxdb7x62lpmgmb6b3v3vgdqqvqn4273jaap3mjmc2gla709y";
-       revision = "1";
-       editedCabalFile = "1lm706nv64cvfi3ccg7hc3217642sg0z9f9xz2ivbpzvzwwn8gj6";
+       revision = "2";
+       editedCabalFile = "1zxi8zfwiwxidrhr0yj5srpzp32z66sld9xv0k4yz7046rkl3577";
        isLibrary = false;
        isExecutable = true;
        setupHaskellDepends = [ base Cabal directory filepath ];
@@ -93663,8 +96228,8 @@ self: {
     ({ mkDerivation, base }:
      mkDerivation {
        pname = "harp";
-       version = "0.4.3";
-       sha256 = "17d9isgwdvrmycbj3ddmmn0810kh4m8b8lmaz4qc8i51i5li8ja7";
+       version = "0.4.3.1";
+       sha256 = "0g4ig5s5rawlbq7zj1hkydnkw2s1gn7x0sdimd6j6kr5bynrdnhk";
        libraryHaskellDepends = [ base ];
        homepage = "https://github.com/seereason/harp";
        description = "HaRP allows pattern-matching with regular expressions";
@@ -93747,8 +96312,8 @@ self: {
        pname = "hasbolt";
        version = "0.1.3.0";
        sha256 = "0pb6b48g7pnjm9wb062iicwld81r0w9kqwrz223k1h78aygw8vzx";
-       revision = "1";
-       editedCabalFile = "0420drijspw73092rh3mhyrz4i7pph1fz3m0hcshs1zmngqibvv2";
+       revision = "2";
+       editedCabalFile = "1isygckkasffk06bd6023imr51c7l9cdvk4vf2vgv9x10v8kpp37";
        libraryHaskellDepends = [
          base binary bytestring connection containers data-binary-ieee754
          data-default hex network text transformers
@@ -93758,6 +96323,23 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "hasbolt-extras" = callPackage
+    ({ mkDerivation, base, containers, hasbolt, lens
+     , neat-interpolation, template-haskell, text, th-lift-instances
+     }:
+     mkDerivation {
+       pname = "hasbolt-extras";
+       version = "0.0.0.7";
+       sha256 = "0bbyrbs1rm83sd5nsd65yxxfyz4day20hs3vz7rlkh2hjxhpvxjv";
+       libraryHaskellDepends = [
+         base containers hasbolt lens neat-interpolation template-haskell
+         text th-lift-instances
+       ];
+       homepage = "https://github.com/biocad/hasbolt-extras#readme";
+       description = "Extras for hasbolt library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "hascal" = callPackage
     ({ mkDerivation, base, data-default, split }:
      mkDerivation {
@@ -93946,10 +96528,8 @@ self: {
      }:
      mkDerivation {
        pname = "hashable";
-       version = "1.2.6.1";
-       sha256 = "0ymv2mcrrgbdc2w39rib171fwnhg7fgp0sy4h8amrh1vw64qgjll";
-       revision = "2";
-       editedCabalFile = "0w4756sa04nk2bw3vnysb0y9d09zzg3c77aydkjfxz1hnl1dvnjn";
+       version = "1.2.7.0";
+       sha256 = "1gra8gq3kb7b2sd845h55yxlrfqx3ii004c6vjhga8v0b30fzdgc";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -94190,10 +96770,8 @@ self: {
     ({ mkDerivation, base, ghc-prim, hashable, primitive, vector }:
      mkDerivation {
        pname = "hashtables";
-       version = "1.2.2.1";
-       sha256 = "1g7nvj4cmscv1jjhms1pxb2gj4rflg2pcj3pb2z7x9fck8557bbs";
-       revision = "1";
-       editedCabalFile = "0wcjkd8imgx3j4ygj3r2cdfzknk1bbq0745axy7kbm2sckz1xqcz";
+       version = "1.2.3.0";
+       sha256 = "19bkpx43f3b5mya4jkygiafw402hvazawp6qr69h3wqkc6xv8mpr";
        libraryHaskellDepends = [
          base ghc-prim hashable primitive vector
        ];
@@ -94710,8 +97288,8 @@ self: {
      }:
      mkDerivation {
        pname = "haskell-dap";
-       version = "0.0.3.0";
-       sha256 = "0l09s90mfwnyc3nz3xpgja6dh99qm2yvim4r0fxyvh0adfzkmiwn";
+       version = "0.0.4.0";
+       sha256 = "1nzaf9zwqsx1jgspimkig6vhh2d1iz7kc3hr2kixc52sbr7y9iag";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base ];
@@ -94723,6 +97301,7 @@ self: {
        homepage = "https://github.com/phoityne/haskell-dap";
        description = "haskell-dap is a GHCi having DAP interface";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "haskell-disque" = callPackage
@@ -94745,18 +97324,19 @@ self: {
   "haskell-docs" = callPackage
     ({ mkDerivation, aeson, base, base16-bytestring, bytestring, Cabal
      , containers, cryptohash, directory, filepath, ghc, ghc-paths
-     , haddock-api, monad-loops, process, text, unordered-containers
+     , haddock-api, haddock-library, monad-loops, process, text
+     , unordered-containers
      }:
      mkDerivation {
        pname = "haskell-docs";
-       version = "4.2.7";
-       sha256 = "1mb32kxn7p7xsvs3l32bj0igrmc1563ay9v40da2fmxnx3v1aap8";
+       version = "4.2.8";
+       sha256 = "00a93rva9mpg0wf3fj0h9l4ljz566vx1dv9hh4xhc5n1zqijycpz";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          aeson base base16-bytestring bytestring Cabal containers cryptohash
-         directory filepath ghc ghc-paths haddock-api monad-loops process
-         text unordered-containers
+         directory filepath ghc ghc-paths haddock-api haddock-library
+         monad-loops process text unordered-containers
        ];
        executableHaskellDepends = [ base ghc text ];
        testHaskellDepends = [ base ];
@@ -94910,35 +97490,8 @@ self: {
      }:
      mkDerivation {
        pname = "haskell-gi";
-       version = "0.20.3";
-       sha256 = "0429dz3dn9l9nbrx8cd18j3f34cp6cc8zxb34jsvfpvdmafjin8q";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         attoparsec base bytestring Cabal containers directory filepath
-         haskell-gi-base mtl pretty-show process regex-tdfa safe text
-         transformers xdg-basedir xml-conduit
-       ];
-       libraryPkgconfigDepends = [ glib gobjectIntrospection ];
-       executableHaskellDepends = [
-         base containers directory filepath haskell-gi-base pretty-show text
-       ];
-       testHaskellDepends = [ base doctest ];
-       homepage = "https://github.com/haskell-gi/haskell-gi";
-       description = "Generate Haskell bindings for GObject Introspection capable libraries";
-       license = stdenv.lib.licenses.lgpl21;
-     }) {inherit (pkgs) glib; inherit (pkgs) gobjectIntrospection;};
-
-  "haskell-gi_0_21_0" = callPackage
-    ({ mkDerivation, attoparsec, base, bytestring, Cabal, containers
-     , directory, doctest, filepath, glib, gobjectIntrospection
-     , haskell-gi-base, mtl, pretty-show, process, regex-tdfa, safe
-     , text, transformers, xdg-basedir, xml-conduit
-     }:
-     mkDerivation {
-       pname = "haskell-gi";
-       version = "0.21.0";
-       sha256 = "109jgixxrb9xjlkqnwkch9zgb2rj79knd8ivgfi1cc4v30299vwi";
+       version = "0.21.2";
+       sha256 = "0g32zgj89n1nihldvn756bz0z25h1ip8as2xvp3d10prx92i4qgi";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -94955,14 +97508,15 @@ self: {
        description = "Generate Haskell bindings for GObject Introspection capable libraries";
        license = stdenv.lib.licenses.lgpl21;
        hydraPlatforms = stdenv.lib.platforms.none;
-     }) {inherit (pkgs) glib; inherit (pkgs) gobjectIntrospection;};
+     }) {inherit (pkgs) glib; 
+         inherit (pkgs.gnome3) gobjectIntrospection;};
 
   "haskell-gi-base" = callPackage
     ({ mkDerivation, base, bytestring, containers, glib, text }:
      mkDerivation {
        pname = "haskell-gi-base";
-       version = "0.20.8";
-       sha256 = "1qfkzsr5z8c71hps66zj90j70s258d85r0zpw5s87vcj1cbjza4i";
+       version = "0.21.1";
+       sha256 = "0p992mpyy9z699zpvp8i8b5v8a3jhiq6c4n29zlf7qbcxc8z4z36";
        libraryHaskellDepends = [ base bytestring containers text ];
        libraryPkgconfigDepends = [ glib ];
        homepage = "https://github.com/haskell-gi/haskell-gi-base";
@@ -94970,21 +97524,7 @@ self: {
        license = stdenv.lib.licenses.lgpl21;
      }) {inherit (pkgs) glib;};
 
-  "haskell-gi-base_0_21_0" = callPackage
-    ({ mkDerivation, base, bytestring, containers, glib, text }:
-     mkDerivation {
-       pname = "haskell-gi-base";
-       version = "0.21.0";
-       sha256 = "1vrz2vrmvsbahzsp1c06x4qmny5qhbrnz5ybzh5p8z1g3ji9z166";
-       libraryHaskellDepends = [ base bytestring containers text ];
-       libraryPkgconfigDepends = [ glib ];
-       homepage = "https://github.com/haskell-gi/haskell-gi-base";
-       description = "Foundation for libraries generated by haskell-gi";
-       license = stdenv.lib.licenses.lgpl21;
-       hydraPlatforms = stdenv.lib.platforms.none;
-     }) {inherit (pkgs) glib;};
-
-  "haskell-gi-overloading_0_0" = callPackage
+  "haskell-gi-overloading" = callPackage
     ({ mkDerivation }:
      mkDerivation {
        pname = "haskell-gi-overloading";
@@ -94994,10 +97534,9 @@ self: {
        homepage = "https://github.com/haskell-gi/haskell-gi";
        description = "Overloading support for haskell-gi";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
-  "haskell-gi-overloading" = callPackage
+  "haskell-gi-overloading_1_0" = callPackage
     ({ mkDerivation }:
      mkDerivation {
        pname = "haskell-gi-overloading";
@@ -95007,6 +97546,7 @@ self: {
        homepage = "https://github.com/haskell-gi/haskell-gi";
        description = "Overloading support for haskell-gi";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "haskell-go-checkers" = callPackage
@@ -95057,25 +97597,27 @@ self: {
      }) {};
 
   "haskell-igraph" = callPackage
-    ({ mkDerivation, base, binary, bytestring, bytestring-lexing, c2hs
-     , colour, data-default-class, data-ordlist, hashable, hxt, igraph
-     , matrices, primitive, random, split, tasty, tasty-golden
-     , tasty-hunit, unordered-containers
+    ({ mkDerivation, base, bytestring, bytestring-lexing, c2hs, cereal
+     , cereal-conduit, colour, conduit, data-default-class, data-ordlist
+     , hashable, hxt, igraph, matrices, primitive, random, split, tasty
+     , tasty-golden, tasty-hunit, unordered-containers
      }:
      mkDerivation {
        pname = "haskell-igraph";
-       version = "0.3.0";
-       sha256 = "1d0phlb2c7dibvs6ayvwgqslkzxmvcij7iw9mqxqk67zp12ga0pv";
+       version = "0.5.0";
+       sha256 = "1hil0zl4pnvkh0ingp0bgi0m7mhmvf1pqr7qskjxm6pa9kqybrw9";
        libraryHaskellDepends = [
-         base binary bytestring bytestring-lexing colour data-default-class
-         hashable hxt primitive split unordered-containers
+         base bytestring bytestring-lexing cereal cereal-conduit colour
+         conduit data-default-class hashable hxt primitive split
+         unordered-containers
        ];
        librarySystemDepends = [ igraph ];
        libraryToolDepends = [ c2hs ];
        testHaskellDepends = [
-         base data-ordlist matrices random tasty tasty-golden tasty-hunit
+         base cereal conduit data-ordlist matrices random tasty tasty-golden
+         tasty-hunit
        ];
-       description = "Imcomplete igraph bindings";
+       description = "Haskell interface of the igraph library";
        license = stdenv.lib.licenses.mit;
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {igraph = null;};
@@ -95086,8 +97628,8 @@ self: {
      }:
      mkDerivation {
        pname = "haskell-import-graph";
-       version = "1.0.3";
-       sha256 = "1fh3nn4hqcj6lc3m1zlxykxk2dbchh3cdz63k8zfpl7dr2d91132";
+       version = "1.0.4";
+       sha256 = "17ac5k98aqx77lq398kgvyiylpmkvxdmxzqbh7wk1fl9kphwsdm0";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -95176,6 +97718,38 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "haskell-lsp_0_2_2_0" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, containers, data-default
+     , directory, filepath, hashable, haskell-lsp-types, hslogger, hspec
+     , lens, mtl, network-uri, parsec, sorted-list, stm, text, time
+     , transformers, unordered-containers, vector, yi-rope
+     }:
+     mkDerivation {
+       pname = "haskell-lsp";
+       version = "0.2.2.0";
+       sha256 = "1h3ibwd0i0z2c35fxw0m0gyd6dj45pf17x9hc5cgf3sql4qr5yxd";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson base bytestring containers data-default directory filepath
+         hashable haskell-lsp-types hslogger lens mtl network-uri parsec
+         sorted-list stm text time unordered-containers yi-rope
+       ];
+       executableHaskellDepends = [
+         aeson base bytestring containers data-default directory filepath
+         hslogger lens mtl network-uri parsec stm text time transformers
+         unordered-containers vector yi-rope
+       ];
+       testHaskellDepends = [
+         aeson base containers directory filepath hashable hspec lens
+         network-uri sorted-list text yi-rope
+       ];
+       homepage = "https://github.com/alanz/haskell-lsp";
+       description = "Haskell library for the Microsoft Language Server Protocol";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "haskell-lsp-client" = callPackage
     ({ mkDerivation, aeson, base, bytestring, containers, directory
      , haskell-lsp, lens, process, text, unix
@@ -95197,6 +97771,23 @@ self: {
        license = stdenv.lib.licenses.gpl2;
      }) {};
 
+  "haskell-lsp-types" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, data-default, filepath
+     , hashable, lens, network-uri, text, unordered-containers
+     }:
+     mkDerivation {
+       pname = "haskell-lsp-types";
+       version = "0.2.2.0";
+       sha256 = "0wchy8qrd450s90j6d26psznrd3n245lvn01qxa42l5akljmlymx";
+       libraryHaskellDepends = [
+         aeson base bytestring data-default filepath hashable lens
+         network-uri text unordered-containers
+       ];
+       homepage = "https://github.com/alanz/haskell-lsp";
+       description = "Haskell library for the Microsoft Language Server Protocol, data types";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "haskell-menu" = callPackage
     ({ mkDerivation, base, containers }:
      mkDerivation {
@@ -95282,30 +97873,6 @@ self: {
      }:
      mkDerivation {
        pname = "haskell-names";
-       version = "0.9.0";
-       sha256 = "117nywdif86x11kmv5ibfqxn3bjaxb2flygvhp7d62kglqz2l85x";
-       enableSeparateDataOutput = true;
-       libraryHaskellDepends = [
-         aeson base bytestring containers data-lens-light filepath
-         haskell-src-exts mtl transformers traverse-with-class uniplate
-       ];
-       testHaskellDepends = [
-         base containers filemanip filepath haskell-src-exts mtl pretty-show
-         tasty tasty-golden traverse-with-class
-       ];
-       homepage = "http://documentup.com/haskell-suite/haskell-names";
-       description = "Name resolution library for Haskell";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "haskell-names_0_9_1" = callPackage
-    ({ mkDerivation, aeson, base, bytestring, containers
-     , data-lens-light, filemanip, filepath, haskell-src-exts, mtl
-     , pretty-show, tasty, tasty-golden, transformers
-     , traverse-with-class, uniplate
-     }:
-     mkDerivation {
-       pname = "haskell-names";
        version = "0.9.1";
        sha256 = "1ybcdxz6y0l5qsq3vd0ii6m1ifysc2k8852lzw0nfs9i4q9pnwhh";
        enableSeparateDataOutput = true;
@@ -95373,16 +97940,16 @@ self: {
      }) {};
 
   "haskell-packages" = callPackage
-    ({ mkDerivation, aeson, base, bytestring, Cabal, containers
+    ({ mkDerivation, base, binary, bytestring, Cabal, containers
      , deepseq, directory, filepath, haskell-src-exts, hse-cpp, mtl
      , optparse-applicative, tagged, transformers, transformers-compat
      }:
      mkDerivation {
        pname = "haskell-packages";
-       version = "0.5";
-       sha256 = "0b6hzz5ql6c9x7lxdldi50yw257cccp4d26jbdp51fi5chp2h7y6";
+       version = "0.6.2";
+       sha256 = "114xkqg5fzyq1n5p8cz768z84j0xgcyzxh375p9a574j6nl6d387";
        libraryHaskellDepends = [
-         aeson base bytestring Cabal containers deepseq directory filepath
+         base binary bytestring Cabal containers deepseq directory filepath
          haskell-src-exts hse-cpp mtl optparse-applicative tagged
          transformers transformers-compat
        ];
@@ -95579,15 +98146,15 @@ self: {
     ({ mkDerivation, array, base, happy, pretty, syb }:
      mkDerivation {
        pname = "haskell-src";
-       version = "1.0.2.0";
-       sha256 = "19lilhpwnjb7cks9fq1ipnc8f7dwxy0ri3dgjkdxs3i355byw99a";
+       version = "1.0.3.0";
+       sha256 = "1g4dj1f0j68bhn4ixfac63wjzy6gsp6kwgxryb1k5nl3i0g99d5l";
        libraryHaskellDepends = [ array base pretty syb ];
        libraryToolDepends = [ happy ];
        description = "Support for manipulating Haskell source code";
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "haskell-src-exts" = callPackage
+  "haskell-src-exts_1_19_1" = callPackage
     ({ mkDerivation, array, base, containers, cpphs, directory
      , filepath, ghc-prim, happy, mtl, pretty, pretty-show, smallcheck
      , tasty, tasty-golden, tasty-smallcheck
@@ -95606,17 +98173,18 @@ self: {
        homepage = "https://github.com/haskell-suite/haskell-src-exts";
        description = "Manipulating Haskell source: abstract syntax, lexer, parser, and pretty-printer";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
-  "haskell-src-exts_1_20_1" = callPackage
+  "haskell-src-exts" = callPackage
     ({ mkDerivation, array, base, containers, cpphs, directory
      , filepath, ghc-prim, happy, mtl, pretty, pretty-show, smallcheck
      , tasty, tasty-golden, tasty-smallcheck
      }:
      mkDerivation {
        pname = "haskell-src-exts";
-       version = "1.20.1";
-       sha256 = "1jsjl9hja2dpcfq4mzlfpwyr6axwnwgacfb7aa070kz4lbygzaa8";
+       version = "1.20.2";
+       sha256 = "1sm3z4v1p5yffg01ldgavz71s3bvfhjfa13k428rk14bpkl8crlz";
        libraryHaskellDepends = [ array base cpphs ghc-prim pretty ];
        libraryToolDepends = [ happy ];
        testHaskellDepends = [
@@ -95627,7 +98195,6 @@ self: {
        homepage = "https://github.com/haskell-suite/haskell-src-exts";
        description = "Manipulating Haskell source: abstract syntax, lexer, parser, and pretty-printer";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "haskell-src-exts-observe" = callPackage
@@ -95681,8 +98248,8 @@ self: {
     ({ mkDerivation, base, haskell-src-exts }:
      mkDerivation {
        pname = "haskell-src-exts-sc";
-       version = "0.1.0.5";
-       sha256 = "15ja2h0flp73f017r1ylr8fmksd3v76v68x8whv37bgy3mrqznx9";
+       version = "0.1.0.6";
+       sha256 = "1bfkwladavard87pnnr2nigs214hb3k4j3mki0ffd5zfxldb2ncv";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base haskell-src-exts ];
@@ -95695,25 +98262,12 @@ self: {
     ({ mkDerivation, base, haskell-src-exts }:
      mkDerivation {
        pname = "haskell-src-exts-simple";
-       version = "1.19.0.0";
-       sha256 = "01i4kaw9sbcygsj7s17xxw7cf8p11kq2msq9af5v32yhwxk93g21";
-       libraryHaskellDepends = [ base haskell-src-exts ];
-       homepage = "https://github.com/int-e/haskell-src-exts-simple";
-       description = "A simplified view on the haskell-src-exts AST";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-
-  "haskell-src-exts-simple_1_20_0_0" = callPackage
-    ({ mkDerivation, base, haskell-src-exts }:
-     mkDerivation {
-       pname = "haskell-src-exts-simple";
        version = "1.20.0.0";
        sha256 = "0p79ppmwb14lj2a1wy42zgm3z3zk5jbyn7rfgwxsyw2g424bw1dk";
        libraryHaskellDepends = [ base haskell-src-exts ];
        homepage = "https://github.com/int-e/haskell-src-exts-simple";
        description = "A simplified view on the haskell-src-exts AST";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "haskell-src-exts-util" = callPackage
@@ -95722,8 +98276,8 @@ self: {
      }:
      mkDerivation {
        pname = "haskell-src-exts-util";
-       version = "0.2.2";
-       sha256 = "14rhwcrdz3kfb69c64qn8kybl7wnpajrjlfz5p95ca4bva4mwclg";
+       version = "0.2.3";
+       sha256 = "1803718paq89f8pdck4mb88hv2k1ah9lxzq0lgjgwi9n88ryycz8";
        libraryHaskellDepends = [
          base containers data-default haskell-src-exts semigroups
          transformers uniplate
@@ -95742,6 +98296,8 @@ self: {
        pname = "haskell-src-meta";
        version = "0.8.0.2";
        sha256 = "12rc4v5dbbbcwdp7j8isvnm9vqpazv124j5kdfwlgwgwjhxi8ysb";
+       revision = "1";
+       editedCabalFile = "07xxp2r8amd420bzl7xlyfydhyrcrvaxq24ydnx7y2sz4v2nlzsz";
        libraryHaskellDepends = [
          base haskell-src-exts pretty syb template-haskell th-orphans
        ];
@@ -95809,15 +98365,16 @@ self: {
      }) {};
 
   "haskell-tools-ast" = callPackage
-    ({ mkDerivation, base, ghc, mtl, references, template-haskell
-     , uniplate
+    ({ mkDerivation, base, classyplate, ghc, mtl, pretty, references
+     , template-haskell, uniplate
      }:
      mkDerivation {
        pname = "haskell-tools-ast";
-       version = "1.0.0.4";
-       sha256 = "000dazz2qmc46pyfxskimz02xllf7fs6nl18ki6pvvahp0ammgd9";
+       version = "1.0.1.1";
+       sha256 = "0ckszqvl843g1gywhc7sj2s4wr58ng2cqyxi0kihdbfq7xmk943b";
        libraryHaskellDepends = [
-         base ghc mtl references template-haskell uniplate
+         base classyplate ghc mtl pretty references template-haskell
+         uniplate
        ];
        homepage = "https://github.com/nboldi/haskell-tools";
        description = "Haskell AST for efficient tooling";
@@ -95885,8 +98442,8 @@ self: {
      }:
      mkDerivation {
        pname = "haskell-tools-backend-ghc";
-       version = "1.0.0.4";
-       sha256 = "0c909xknb4q28cqm4cckx5girygz1jjg0nwj9v31dj7yhwgm6y2g";
+       version = "1.0.1.1";
+       sha256 = "05bn79ysb2bw42hid2ksqddqidimvqsx09nr771wf1ha7qapksmq";
        libraryHaskellDepends = [
          base bytestring containers ghc ghc-boot-th haskell-tools-ast mtl
          references safe split template-haskell transformers uniplate
@@ -95897,30 +98454,31 @@ self: {
      }) {};
 
   "haskell-tools-builtin-refactorings" = callPackage
-    ({ mkDerivation, base, Cabal, containers, directory, either
-     , filepath, ghc, ghc-paths, haskell-tools-ast
-     , haskell-tools-backend-ghc, haskell-tools-prettyprint
-     , haskell-tools-refactor, haskell-tools-rewrite, mtl, old-time
-     , polyparse, references, split, tasty, tasty-hunit
-     , template-haskell, time, transformers, uniplate
+    ({ mkDerivation, aeson, base, Cabal, classyplate, containers
+     , deepseq, directory, either, filepath, ghc, ghc-paths
+     , haskell-tools-ast, haskell-tools-backend-ghc
+     , haskell-tools-prettyprint, haskell-tools-refactor
+     , haskell-tools-rewrite, minisat-solver, mtl, references, split
+     , tasty, tasty-hunit, template-haskell, time, transformers
+     , uniplate
      }:
      mkDerivation {
        pname = "haskell-tools-builtin-refactorings";
-       version = "1.0.0.4";
-       sha256 = "1hxl8j8nkn3f59wxbzfyhjbshjypi4bv7v2vrqlpfygnb1n1jhci";
+       version = "1.0.1.1";
+       sha256 = "00yp1gvfvg3c2fa9ndnqphxbnsrshifida3247yafd7q9hhgd7q8";
        libraryHaskellDepends = [
-         base Cabal containers directory filepath ghc ghc-paths
-         haskell-tools-ast haskell-tools-backend-ghc
+         aeson base Cabal classyplate containers deepseq directory filepath
+         ghc ghc-paths haskell-tools-ast haskell-tools-backend-ghc
          haskell-tools-prettyprint haskell-tools-refactor
-         haskell-tools-rewrite mtl references split template-haskell
-         transformers uniplate
+         haskell-tools-rewrite minisat-solver mtl references split
+         template-haskell transformers uniplate
        ];
        testHaskellDepends = [
          base Cabal containers directory either filepath ghc ghc-paths
          haskell-tools-ast haskell-tools-backend-ghc
          haskell-tools-prettyprint haskell-tools-refactor
-         haskell-tools-rewrite mtl old-time polyparse references split tasty
-         tasty-hunit template-haskell time transformers uniplate
+         haskell-tools-rewrite mtl references split tasty tasty-hunit
+         template-haskell time transformers uniplate
        ];
        homepage = "https://github.com/haskell-tools/haskell-tools";
        description = "Refactoring Tool for Haskell";
@@ -95937,8 +98495,8 @@ self: {
      }:
      mkDerivation {
        pname = "haskell-tools-cli";
-       version = "1.0.0.4";
-       sha256 = "121q9ydi0jlj9bs6zyy2h6vkmaajwf1pcnnq4s21yw99ah4xhy6q";
+       version = "1.0.1.2";
+       sha256 = "03s7jhq7449z52h6vq9gbay3xdn66s8ma7snak0kk6nra41zrlpp";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -95975,8 +98533,8 @@ self: {
      }:
      mkDerivation {
        pname = "haskell-tools-daemon";
-       version = "1.0.0.4";
-       sha256 = "1gqx9nn87mq2n722lzl0slpw54dg6asc2s77zjs0sywvcpck4b4v";
+       version = "1.0.1.1";
+       sha256 = "0r48z9vkkgzgvlryfri6dzivf090pkjv52k517z9wvis3jxhqi7i";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -96001,22 +98559,23 @@ self: {
      }) {};
 
   "haskell-tools-debug" = callPackage
-    ({ mkDerivation, base, filepath, ghc, ghc-paths, haskell-tools-ast
-     , haskell-tools-backend-ghc, haskell-tools-builtin-refactorings
-     , haskell-tools-prettyprint, haskell-tools-refactor, references
-     , split, template-haskell
+    ({ mkDerivation, base, classyplate, criterion, filepath, ghc
+     , ghc-paths, haskell-tools-ast, haskell-tools-backend-ghc
+     , haskell-tools-builtin-refactorings, haskell-tools-prettyprint
+     , haskell-tools-refactor, mtl, references, split, template-haskell
+     , uniplate
      }:
      mkDerivation {
        pname = "haskell-tools-debug";
-       version = "1.0.0.4";
-       sha256 = "0lh48bfjicpjsk2vazl91n6xw0ahff89rw9iiizpla92rz1fcb20";
+       version = "1.0.1.1";
+       sha256 = "1ml4rbkcajgwssi1a0jgbbqnnci9f74w90zj9cxdxxkkck4fkypl";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         base filepath ghc ghc-paths haskell-tools-ast
+         base classyplate criterion filepath ghc ghc-paths haskell-tools-ast
          haskell-tools-backend-ghc haskell-tools-builtin-refactorings
-         haskell-tools-prettyprint haskell-tools-refactor references split
-         template-haskell
+         haskell-tools-prettyprint haskell-tools-refactor mtl references
+         split template-haskell uniplate
        ];
        executableHaskellDepends = [ base ];
        homepage = "https://github.com/haskell-tools/haskell-tools";
@@ -96035,8 +98594,8 @@ self: {
      }:
      mkDerivation {
        pname = "haskell-tools-demo";
-       version = "1.0.0.4";
-       sha256 = "0vqjs4wrgjacj3i6hykfvafhnyik6nn9p8miyb1plmhm9w6g0ynq";
+       version = "1.0.1.1";
+       sha256 = "01fkl2xkq7v3mkm5dzfpfz53i2js68xhc3gvkc1lv8mg92zymfbb";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -96067,8 +98626,8 @@ self: {
      }:
      mkDerivation {
        pname = "haskell-tools-experimental-refactorings";
-       version = "1.0.0.4";
-       sha256 = "0mzwvs33snv3a3dvhkd1mnidkifip21rj2y44k9dcwdhfzcz6xbl";
+       version = "1.0.1.1";
+       sha256 = "0dyiixq7rdzjczzfv57b7f2859r4nmxrk68vq0flkazjqh9w08yb";
        libraryHaskellDepends = [
          base Cabal containers directory filepath ghc ghc-paths
          haskell-tools-ast haskell-tools-backend-ghc
@@ -96086,6 +98645,7 @@ self: {
        homepage = "https://github.com/haskell-tools/haskell-tools";
        description = "Refactoring Tool for Haskell";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "haskell-tools-prettyprint" = callPackage
@@ -96094,8 +98654,8 @@ self: {
      }:
      mkDerivation {
        pname = "haskell-tools-prettyprint";
-       version = "1.0.0.4";
-       sha256 = "001mk8fdxl06il8s3w1i4901s85kb99nyhp3yk7jg6ghh4iaf1c9";
+       version = "1.0.1.1";
+       sha256 = "0j1ral0azwgxj550yf1jyyxprv0wb0cgd7sfk3dh52caqfwchi2p";
        libraryHaskellDepends = [
          base containers ghc haskell-tools-ast mtl references split text
          uniplate
@@ -96106,24 +98666,34 @@ self: {
      }) {};
 
   "haskell-tools-refactor" = callPackage
-    ({ mkDerivation, base, Cabal, containers, directory, filepath, ghc
-     , ghc-paths, haskell-tools-ast, haskell-tools-backend-ghc
-     , haskell-tools-prettyprint, haskell-tools-rewrite, mtl, references
-     , split, template-haskell, transformers, uniplate
+    ({ mkDerivation, aeson, base, Cabal, containers, directory, either
+     , filepath, ghc, ghc-paths, haskell-tools-ast
+     , haskell-tools-backend-ghc, haskell-tools-prettyprint
+     , haskell-tools-rewrite, mtl, old-time, polyparse, references
+     , split, tasty, tasty-hunit, template-haskell, time, transformers
+     , uniplate
      }:
      mkDerivation {
        pname = "haskell-tools-refactor";
-       version = "1.0.0.4";
-       sha256 = "192najfy3r05vhxl21bg6lqy8m5081sdxp5yfvw9nyjlarfcb2b9";
+       version = "1.0.1.2";
+       sha256 = "0fbfmbrskhmzqcsrv4aviaf6b4rn7i3zs2ckl3l4r1q7rslxw3fk";
        libraryHaskellDepends = [
-         base Cabal containers directory filepath ghc ghc-paths
+         aeson base Cabal containers directory filepath ghc ghc-paths
          haskell-tools-ast haskell-tools-backend-ghc
          haskell-tools-prettyprint haskell-tools-rewrite mtl references
          split template-haskell transformers uniplate
        ];
+       testHaskellDepends = [
+         base Cabal containers directory either filepath ghc ghc-paths
+         haskell-tools-ast haskell-tools-backend-ghc
+         haskell-tools-prettyprint haskell-tools-rewrite mtl old-time
+         polyparse references split tasty tasty-hunit template-haskell time
+         transformers uniplate
+       ];
        homepage = "https://github.com/haskell-tools/haskell-tools";
        description = "Refactoring Tool for Haskell";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "haskell-tools-rewrite" = callPackage
@@ -96133,8 +98703,8 @@ self: {
      }:
      mkDerivation {
        pname = "haskell-tools-rewrite";
-       version = "1.0.0.4";
-       sha256 = "1jjg6w2ajlnjz7hl74znm2gaylmlixvp65m2ns7p4iryycsr5fjg";
+       version = "1.0.1.1";
+       sha256 = "11psrwb8hmxian29n9y9301mlkfhx3y2nb06ml9808yrzpbwg1m2";
        libraryHaskellDepends = [
          base containers ghc haskell-tools-ast haskell-tools-prettyprint mtl
          references
@@ -96774,8 +99344,8 @@ self: {
      }:
      mkDerivation {
        pname = "haskelzinc";
-       version = "0.3.1.0";
-       sha256 = "0k3rsqassxjjwxn0cs2g8jl7hl3qmvdvrfdcclc3bf9pjf93jvwh";
+       version = "0.3.1.1";
+       sha256 = "0dz9sd2i6m4d2jj76zl6yfaynnzj8ihhfis6602cqh37ngxgkxqj";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          base containers directory filepath parsec pretty process
@@ -96794,8 +99364,8 @@ self: {
      }:
      mkDerivation {
        pname = "haskey";
-       version = "0.2.0.1";
-       sha256 = "07q7kp07ipq20v3ag49j3ca116p48yn3pn5im5p101l8372hj58n";
+       version = "0.3.0.1";
+       sha256 = "1v5af0pd015d7ccdi0f2wc3gb60xy4j59kzngx6wh6dljkxrcga7";
        libraryHaskellDepends = [
          base binary bytestring containers directory exceptions filepath
          focus haskey-btree list-t lz4 mtl semigroups stm stm-containers
@@ -96810,6 +99380,7 @@ self: {
        homepage = "https://github.com/haskell-haskey";
        description = "A transactional, ACID compliant, embeddable key-value store";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "haskey-btree" = callPackage
@@ -96820,8 +99391,8 @@ self: {
      }:
      mkDerivation {
        pname = "haskey-btree";
-       version = "0.2.0.1";
-       sha256 = "025g1sa41fa29v69hpbghabq2irkb498a6b48bgp0nb8m3cmz2ls";
+       version = "0.3.0.0";
+       sha256 = "0nj6jhigzgjac45cg0qjbjamn152n7rvir5clkwj5yraisd7sf4h";
        libraryHaskellDepends = [
          base binary bytestring containers hashable mtl semigroups text
          transformers vector
@@ -96842,8 +99413,8 @@ self: {
      }:
      mkDerivation {
        pname = "haskey-mtl";
-       version = "0.2.0.0";
-       sha256 = "1n3j4avydrr2w0sa0zjsc2jvmr9fmyxz5s54y6zam40a2cg2wc2l";
+       version = "0.3.0.0";
+       sha256 = "0jc2wa41gmx01ccb7svv91llncm47adb2g6winm513k23bvk8028";
        libraryHaskellDepends = [
          base exceptions haskey haskey-btree mtl transformers
        ];
@@ -96854,6 +99425,7 @@ self: {
        homepage = "https://github.com/haskell-haskey";
        description = "A monad transformer supporting Haskey transactions";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "haskgame" = callPackage
@@ -97327,20 +99899,20 @@ self: {
 
   "hasktags" = callPackage
     ({ mkDerivation, base, bytestring, directory, filepath, HUnit, json
-     , unix, utf8-string
+     , utf8-string
      }:
      mkDerivation {
        pname = "hasktags";
-       version = "0.69.4";
-       sha256 = "1s7phsg20h15p2dnri6viy5k6c4n42gchy684dv3r30qrwwvv0ni";
+       version = "0.69.5";
+       sha256 = "0jln0r3dzd7g17avxqgnyxzv4nmqlmqaw41vrysb838yql6g6ns8";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         base bytestring directory filepath json unix utf8-string
+         base bytestring directory filepath json utf8-string
        ];
-       executableHaskellDepends = [ base directory filepath unix ];
+       executableHaskellDepends = [ base directory filepath ];
        testHaskellDepends = [
-         base bytestring directory filepath HUnit json unix utf8-string
+         base bytestring directory filepath HUnit json utf8-string
        ];
        homepage = "http://github.com/MarcWeber/hasktags";
        description = "Produces ctags \"tags\" and etags \"TAGS\" files for Haskell programs";
@@ -97476,34 +100048,33 @@ self: {
      }) {};
 
   "hasmin" = callPackage
-    ({ mkDerivation, attoparsec, base, bifunctors, bytestring
-     , containers, criterion, directory, doctest, doctest-discover
-     , gitrev, hopfli, hspec, hspec-attoparsec, matrix, mtl, numbers
-     , optparse-applicative, parsers, QuickCheck, text
+    ({ mkDerivation, attoparsec, base, bytestring, containers
+     , criterion, directory, doctest, doctest-discover, gitrev, hopfli
+     , hspec, hspec-attoparsec, matrix, mtl, numbers
+     , optparse-applicative, parsers, QuickCheck, quickcheck-instances
+     , text
      }:
      mkDerivation {
        pname = "hasmin";
-       version = "1.0.1";
-       sha256 = "1h5ygl9qmzmbhqfb58hhm2zw850dqfkp4b8cp3bhsnangg4lgbjk";
-       revision = "3";
-       editedCabalFile = "0v410xlx9riyhzxbqi2fx8qnw9i3k9cc6q24f0cz2ympl86f4019";
+       version = "1.0.2";
+       sha256 = "13cblc4jcn88w00rsb72dqhiy18mfph388407vm3k6kbg5zxg1d9";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         attoparsec base bifunctors containers matrix mtl numbers parsers
-         text
+         attoparsec base containers matrix mtl numbers parsers text
        ];
        executableHaskellDepends = [
          base bytestring gitrev hopfli optparse-applicative text
        ];
        testHaskellDepends = [
          attoparsec base doctest doctest-discover hspec hspec-attoparsec mtl
-         QuickCheck text
+         QuickCheck quickcheck-instances text
        ];
        benchmarkHaskellDepends = [ base criterion directory text ];
        homepage = "https://github.com/contivero/hasmin#readme";
        description = "CSS Minifier";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "hasparql-client" = callPackage
@@ -97697,23 +100268,6 @@ self: {
      }:
      mkDerivation {
        pname = "hasql-optparse-applicative";
-       version = "0.2.4";
-       sha256 = "0gdbwhzcfjriq2yah5kfn9r1anc77f1iyay86zsdgq4z8qi6asvr";
-       libraryHaskellDepends = [
-         base-prelude hasql hasql-pool optparse-applicative
-       ];
-       homepage = "https://github.com/sannsyn/hasql-optparse-applicative";
-       description = "\"optparse-applicative\" parsers for \"hasql\"";
-       license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
-     }) {};
-
-  "hasql-optparse-applicative_0_3" = callPackage
-    ({ mkDerivation, base-prelude, hasql, hasql-pool
-     , optparse-applicative
-     }:
-     mkDerivation {
-       pname = "hasql-optparse-applicative";
        version = "0.3";
        sha256 = "05i9hij1z67l1sc53swwcmd88544dypc3qkzkh8f4n6nlmv82190";
        libraryHaskellDepends = [
@@ -97831,26 +100385,6 @@ self: {
      }:
      mkDerivation {
        pname = "hasql-transaction";
-       version = "0.5.2";
-       sha256 = "0w4y65vqgc4pk66xpip9jzzbas6cpnss4gx1w91rg7j48491cmym";
-       libraryHaskellDepends = [
-         base base-prelude bytestring bytestring-tree-builder contravariant
-         contravariant-extras hasql mtl transformers
-       ];
-       testHaskellDepends = [ async hasql rebase ];
-       homepage = "https://github.com/nikita-volkov/hasql-transaction";
-       description = "A composable abstraction over the retryable transactions for Hasql";
-       license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
-     }) {};
-
-  "hasql-transaction_0_6" = callPackage
-    ({ mkDerivation, async, base, base-prelude, bytestring
-     , bytestring-tree-builder, contravariant, contravariant-extras
-     , hasql, mtl, rebase, transformers
-     }:
-     mkDerivation {
-       pname = "hasql-transaction";
        version = "0.6";
        sha256 = "00dxm78wscj88zb6wbyg48ps4a5cc41jbbknjrmxlgp0iw4hr06b";
        libraryHaskellDepends = [
@@ -98084,8 +100618,8 @@ self: {
      }:
      mkDerivation {
        pname = "hasty-hamiltonian";
-       version = "1.3.0";
-       sha256 = "0cgvxr4zywnvd7q109qlcrcpcfszj4w5viyjz9g7mafdfay17xqm";
+       version = "1.3.2";
+       sha256 = "17nc33q9vkq13wp5dqrq2vq6bz408ll8h84fg7mapks5w5r9sag6";
        libraryHaskellDepends = [
          base kan-extensions lens mcmc-types mwc-probability pipes primitive
          transformers
@@ -98352,6 +100886,7 @@ self: {
        homepage = "http://github.com/tvh/haxl-amazonka#readme";
        description = "Haxl data source for accessing AWS services through amazonka";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "haxl-facebook" = callPackage
@@ -98457,7 +100992,7 @@ self: {
      }) {};
 
   "hayland" = callPackage
-    ({ mkDerivation, base, data-flags, mesa, process, template-haskell
+    ({ mkDerivation, base, data-flags, libGL, process, template-haskell
      , time, wayland, xml
      }:
      mkDerivation {
@@ -98469,13 +101004,13 @@ self: {
        libraryHaskellDepends = [
          base data-flags process template-haskell time xml
        ];
-       librarySystemDepends = [ mesa wayland ];
+       librarySystemDepends = [ libGL wayland ];
        executableHaskellDepends = [ base ];
        testHaskellDepends = [ base process xml ];
        description = "Haskell bindings for the C Wayland library";
        license = stdenv.lib.licenses.mit;
        hydraPlatforms = stdenv.lib.platforms.none;
-     }) {mesa = null; inherit (pkgs) wayland;};
+     }) {inherit (pkgs) libGL; inherit (pkgs) wayland;};
 
   "hayoo-cli" = callPackage
     ({ mkDerivation, aeson, base, bytestring, http-conduit, http-types
@@ -99179,6 +101714,27 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "hdf5-lite" = callPackage
+    ({ mkDerivation, base, c2hs, containers, exceptions, ghc-prim, hdf5
+     , hspec, inline-c, primitive, QuickCheck, template-haskell, text
+     , vector
+     }:
+     mkDerivation {
+       pname = "hdf5-lite";
+       version = "0.1.1.0";
+       sha256 = "1c13qg0zx9g6zmhmy2snmbnkhmmgchm6qlh0vn4i3df2vdi4rb8v";
+       libraryHaskellDepends = [
+         base containers exceptions ghc-prim inline-c primitive
+         template-haskell text vector
+       ];
+       librarySystemDepends = [ hdf5 ];
+       libraryToolDepends = [ c2hs ];
+       testHaskellDepends = [ base hspec QuickCheck ];
+       homepage = "https://github.com/ocramz/hdf5-lite";
+       description = "High-level bindings to the HDF5 \"lite\" interface";
+       license = stdenv.lib.licenses.bsd3;
+     }) {inherit (pkgs) hdf5;};
+
   "hdigest" = callPackage
     ({ mkDerivation, base, cgi, Crypto, network, parsec, random, time
      }:
@@ -99398,10 +101954,8 @@ self: {
     ({ mkDerivation, base, QuickCheck }:
      mkDerivation {
        pname = "heap";
-       version = "1.0.3";
-       sha256 = "00plmd5b8dlgb8324h1dbd168apfcx3hkv65rhi463a8lff7xmcv";
-       revision = "1";
-       editedCabalFile = "0j1f0xl3y2vqiyh3m9w5vssxyi62s6qic3zmpkm429vawyh4yad5";
+       version = "1.0.4";
+       sha256 = "0ahpsfmb76728w71xn4021ad7z752n6aqqgzdpcyis9i22g4ihm4";
        libraryHaskellDepends = [ base ];
        testHaskellDepends = [ base QuickCheck ];
        description = "Heaps in Haskell";
@@ -99417,8 +101971,8 @@ self: {
        pname = "heaps";
        version = "0.3.6";
        sha256 = "1cnxgmxxvl053yv93vcz5fnla4iir5g9wr697n88ysdyybbkq70q";
-       revision = "1";
-       editedCabalFile = "0k505k86zwfw1wmj5gr2qab7cq9q26f9nbf9jzfgw9qxwb17j284";
+       revision = "2";
+       editedCabalFile = "0iym09z8039b2v0kfzh1b66b7ky7kqjv85mx1h0xhsayxdy135in";
        setupHaskellDepends = [ base Cabal cabal-doctest ];
        libraryHaskellDepends = [ base ];
        testHaskellDepends = [ base directory doctest filepath ];
@@ -99481,8 +102035,8 @@ self: {
      }:
      mkDerivation {
        pname = "heavy-logger";
-       version = "0.3.1.0";
-       sha256 = "0cmanxnahxgk52ffpni0zx4z22vdrh6r5my4llvsdd94bpfmxpi4";
+       version = "0.3.2.0";
+       sha256 = "1kx6l7ysniqjzzp7l74vjcfbi8qz5xqjqvisb49k18cnf22mikvv";
        libraryHaskellDepends = [
          attoparsec base bytestring containers data-default fast-logger
          hsyslog lifted-base monad-control monad-logger mtl stm
@@ -99507,6 +102061,28 @@ self: {
        homepage = "https://github.com/portnov/heavy-logger-amazon#readme";
        description = "heavy-logger compatibility with amazonka-core logging";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "heavy-logger-instances" = callPackage
+    ({ mkDerivation, base, binary, exceptions, heavy-logger, hsyslog
+     , mtl, template-haskell, text, text-format-heavy
+     }:
+     mkDerivation {
+       pname = "heavy-logger-instances";
+       version = "0.2.0.0";
+       sha256 = "0flh5j79ijkvdwhjg1gn3qkhybzspvg1jh8nib18fgzmvcx8zckm";
+       libraryHaskellDepends = [
+         base binary exceptions heavy-logger hsyslog mtl template-haskell
+         text text-format-heavy
+       ];
+       testHaskellDepends = [
+         base binary exceptions heavy-logger hsyslog mtl template-haskell
+         text text-format-heavy
+       ];
+       homepage = "https://github.com/portnov/heavy-logger#readme";
+       description = "Orphan instances for data types in heavy-logger package";
+       license = stdenv.lib.licenses.bsd3;
      }) {};
 
   "hebrew-time" = callPackage
@@ -99571,8 +102147,10 @@ self: {
      }:
      mkDerivation {
        pname = "hedgehog";
-       version = "0.5.2";
-       sha256 = "1nl6q4hlsqbwqjk3ywpd6hdyi3qyz34agrp9533lmkx7120jfblh";
+       version = "0.5.3";
+       sha256 = "1vv8vnkv6d0fvm0vwfm11ajyd9da3hfy2wdkd4p7dhfyscq9cwx4";
+       revision = "1";
+       editedCabalFile = "0hhzkl88xk9j62897y11f4xx84qdh0mdap55iw30cl4zwlgp10ir";
        libraryHaskellDepends = [
          ansi-terminal async base bytestring concurrent-output containers
          directory exceptions lifted-async mmorph monad-control mtl
@@ -99602,6 +102180,7 @@ self: {
        testHaskellDepends = [ base either hedgehog ];
        homepage = "https://github.com/bitemyapp/hedgehog-checkers#readme";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "hedgehog-checkers-lens" = callPackage
@@ -99614,6 +102193,7 @@ self: {
        testHaskellDepends = [ base hedgehog hedgehog-checkers lens ];
        homepage = "https://github.com/bitemyapp/hedgehog-checkers#readme";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "hedgehog-corpus" = callPackage
@@ -99636,8 +102216,8 @@ self: {
      }:
      mkDerivation {
        pname = "hedgehog-gen-json";
-       version = "0.2.0";
-       sha256 = "1irr4lniz5s176r6fnhd7sjnxbs627yif1yd8nd8jrq9p1rwc5jm";
+       version = "0.5.1";
+       sha256 = "0cc46l1ls4dzlchwcd6cqmsa66qffjq01dhcj2k84gjw8gg4wnnx";
        libraryHaskellDepends = [
          aeson base bytestring containers exceptions hedgehog lens protolude
          regex-genex scientific text time timerep tz unordered-containers
@@ -99648,7 +102228,7 @@ self: {
          regex-genex regex-pcre scientific tasty tasty-hedgehog text time
          timerep tz unordered-containers vector
        ];
-       homepage = "https://github.com/githubuser/haskell-hedgehog-gen-json#readme";
+       homepage = "https://github.com/amrhassan/haskell-hedgehog-gen-json";
        description = "JSON generators for Hedgehog";
        license = stdenv.lib.licenses.mit;
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -99668,38 +102248,14 @@ self: {
 
   "hedis" = callPackage
     ({ mkDerivation, async, base, bytestring, bytestring-lexing
-     , deepseq, HUnit, mtl, network, resource-pool, scanner
-     , slave-thread, stm, test-framework, test-framework-hunit, text
-     , time, unordered-containers, vector
-     }:
-     mkDerivation {
-       pname = "hedis";
-       version = "0.9.12";
-       sha256 = "0z9d0d1f394xf1c6fsi4c0ib3pgn0w3d6iw2h34774bxrmglf5aa";
-       libraryHaskellDepends = [
-         async base bytestring bytestring-lexing deepseq mtl network
-         resource-pool scanner stm text time unordered-containers vector
-       ];
-       testHaskellDepends = [
-         async base bytestring HUnit mtl slave-thread stm test-framework
-         test-framework-hunit text time
-       ];
-       benchmarkHaskellDepends = [ base mtl time ];
-       homepage = "https://github.com/informatikr/hedis";
-       description = "Client library for the Redis datastore: supports full command set, pipelining";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "hedis_0_10_0" = 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, unordered-containers, vector
      }:
      mkDerivation {
        pname = "hedis";
-       version = "0.10.0";
-       sha256 = "02f095461v812csrncf4bdhvgpn1a3wqpd66gpb72pxij4mrh5zy";
+       version = "0.10.1";
+       sha256 = "1xzma70f1p6zfihwpsnc23bdzw09yg50pig7knkj6bxkv19czbsn";
        libraryHaskellDepends = [
          async base bytestring bytestring-lexing deepseq errors HTTP mtl
          network network-uri resource-pool scanner stm text time
@@ -99713,7 +102269,6 @@ self: {
        homepage = "https://github.com/informatikr/hedis";
        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
@@ -99722,8 +102277,8 @@ self: {
      }:
      mkDerivation {
        pname = "hedis-config";
-       version = "0.0.3";
-       sha256 = "0n78gh1qz8d7xjc74bb20mvxjk4lf8acc1a3glhyr8ycw05sap2b";
+       version = "1.0.0";
+       sha256 = "19p0g83ybn9iajy5r8ymc8mapml34zw1a7s5hmpxdayv6slabg7r";
        libraryHaskellDepends = [
          aeson base bytestring hedis scientific text time
        ];
@@ -99823,22 +102378,22 @@ self: {
 
   "hedn" = callPackage
     ({ mkDerivation, attoparsec, base, base-compat, bytestring
-     , containers, deepseq, hspec, HUnit, mtl, QuickCheck, scientific
-     , stringsearch, template-haskell, text, time, time-locale-compat
-     , utf8-string, vector
+     , containers, deepseq, hspec, hspec-contrib, HUnit, mtl, QuickCheck
+     , scientific, stringsearch, template-haskell, text, time
+     , time-locale-compat, utf8-string, vector
      }:
      mkDerivation {
        pname = "hedn";
-       version = "0.1.8.2";
-       sha256 = "15f1zrp5cb1m2xhy974v8f67xg08yks6w43m3sbky4v5mbfy12ig";
+       version = "0.1.9.0";
+       sha256 = "077wf446x0rrac3bdzmyhpacb54smx02msdz45cra3yzn3n0rq7l";
        libraryHaskellDepends = [
          attoparsec base base-compat bytestring containers deepseq mtl
          scientific stringsearch text time time-locale-compat utf8-string
          vector
        ];
        testHaskellDepends = [
-         base bytestring containers hspec HUnit QuickCheck template-haskell
-         text time vector
+         base bytestring containers hspec hspec-contrib HUnit QuickCheck
+         template-haskell text time vector
        ];
        homepage = "https://bitbucket.org/dpwiz/hedn";
        description = "EDN parsing and encoding";
@@ -99879,8 +102434,48 @@ self: {
        pname = "heist";
        version = "1.0.1.2";
        sha256 = "0kpn5c3j7d42l12axd05hglhxqc4y7l0rz57lcqh3yznjl7mzv71";
-       revision = "1";
-       editedCabalFile = "0aac04b374bi02nj1li7xf0w2z1d87l8qhzjmpsharg9jxrk8ngn";
+       revision = "3";
+       editedCabalFile = "0siqhy0svk9lfi8rx7lhjhjihrmjk6plvyjnhhyhvyakmycggqpc";
+       libraryHaskellDepends = [
+         aeson attoparsec base blaze-builder blaze-html bytestring
+         containers directory directory-tree dlist filepath hashable
+         lifted-base map-syntax monad-control mtl process random text time
+         transformers transformers-base unordered-containers vector xmlhtml
+       ];
+       testHaskellDepends = [
+         aeson attoparsec base bifunctors blaze-builder blaze-html
+         bytestring containers directory directory-tree dlist filepath
+         hashable HUnit lens lifted-base map-syntax monad-control mtl
+         process QuickCheck random test-framework test-framework-hunit
+         test-framework-quickcheck2 text time transformers transformers-base
+         unordered-containers vector xmlhtml
+       ];
+       benchmarkHaskellDepends = [
+         aeson attoparsec base blaze-builder blaze-html bytestring
+         containers criterion directory directory-tree dlist filepath
+         hashable HUnit lifted-base map-syntax monad-control mtl process
+         random statistics test-framework test-framework-hunit text time
+         transformers transformers-base unordered-containers vector xmlhtml
+       ];
+       homepage = "http://snapframework.com/";
+       description = "An Haskell template system supporting both HTML5 and XML";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "heist_1_1" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, bifunctors, blaze-builder
+     , blaze-html, bytestring, containers, criterion, directory
+     , directory-tree, dlist, filepath, hashable, HUnit, lens
+     , lifted-base, map-syntax, monad-control, mtl, process, QuickCheck
+     , random, statistics, test-framework, test-framework-hunit
+     , test-framework-quickcheck2, text, time, transformers
+     , transformers-base, unordered-containers, vector, xmlhtml
+     }:
+     mkDerivation {
+       pname = "heist";
+       version = "1.1";
+       sha256 = "15hdq3i041ph0ry6f9dn6vx2w9hzgkvi9db4p6cy6czwbp53kjbq";
        libraryHaskellDepends = [
          aeson attoparsec base blaze-builder blaze-html bytestring
          containers directory directory-tree dlist filepath hashable
@@ -100479,8 +103074,29 @@ self: {
      }:
      mkDerivation {
        pname = "herms";
-       version = "1.8.1.2";
-       sha256 = "1avyf8xz4wkv6xijg3wrj0398wy5jcwlp50iil1z8jdlfwh72f18";
+       version = "1.8.1.4";
+       sha256 = "1hgrwp39q6fwq0ssfkbfq8ndwmyiv1szpl8qa1p0fss5ddf002bc";
+       isLibrary = false;
+       isExecutable = true;
+       enableSeparateDataOutput = true;
+       executableHaskellDepends = [
+         ansi-terminal base brick directory microlens microlens-th
+         optparse-applicative semigroups split vty
+       ];
+       homepage = "https://github.com/JackKiefer/herms";
+       description = "A command-line manager for delicious kitchen recipes";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "herms_1_8_2_2" = callPackage
+    ({ mkDerivation, ansi-terminal, base, brick, directory, microlens
+     , microlens-th, optparse-applicative, semigroups, split, vty
+     }:
+     mkDerivation {
+       pname = "herms";
+       version = "1.8.2.2";
+       sha256 = "0x6h1l9kikjqzyyxa23y9df6bdw529cr07g74qc2qbdbg39713zq";
        isLibrary = false;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -100677,8 +103293,8 @@ self: {
      }:
      mkDerivation {
        pname = "heterocephalus";
-       version = "1.0.5.1";
-       sha256 = "01klxr6wmibav30yaxz0mf8xhd57frs6ika8c26qsgwjlj5qd94p";
+       version = "1.0.5.2";
+       sha256 = "08sr2ps3kb2v6pglkls814w6fpvwkysd3k2s15pj9fhmhx82kf2h";
        libraryHaskellDepends = [
          base blaze-html blaze-markup containers dlist mtl parsec
          shakespeare template-haskell text transformers
@@ -100689,6 +103305,19 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "heterogeneous-list-literals" = callPackage
+    ({ mkDerivation, base, OneTuple }:
+     mkDerivation {
+       pname = "heterogeneous-list-literals";
+       version = "0.1.0.1";
+       sha256 = "0cb38kpw01fzwfrhlgi2l1869b8hd9cd7kzbyr1ap6ik5gkljq6k";
+       libraryHaskellDepends = [ base OneTuple ];
+       testHaskellDepends = [ base ];
+       homepage = "https://github.com/davidm-d/heterogeneous-list-literals";
+       description = "Allows the use of tuples as literals for Heterogeneous collections";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "heterolist" = callPackage
     ({ mkDerivation, base, constraint-manip, hspec, indextype, polydata
      }:
@@ -101470,31 +104099,25 @@ self: {
        ];
        description = "Bindings to libintl.h (gettext, bindtextdomain)";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "hgis" = callPackage
     ({ mkDerivation, ansi-wl-pprint, base, binary, bytestring, Chart
-     , Chart-cairo, Chart-diagrams, colour, composition
+     , Chart-cairo, Chart-diagrams, colour, composition-prelude
      , data-binary-ieee754, data-default, directory, filepath, hspec
-     , lens, monad-loops, optparse-applicative, transformers
+     , lens, monad-loops
      }:
      mkDerivation {
        pname = "hgis";
-       version = "0.1.3.7";
-       sha256 = "0c6xk4zf80pqjasyl7n5i2k3iy9l3xzkv2glmamm5scz9kyzdbvr";
-       isLibrary = true;
-       isExecutable = true;
+       version = "1.0.0.0";
+       sha256 = "1j70p3bgy8v1nzpqiv20lpxq7vxi54f9j3mwl8046hanra99wdr5";
        libraryHaskellDepends = [
          ansi-wl-pprint base binary bytestring Chart Chart-cairo
-         Chart-diagrams colour composition data-binary-ieee754 data-default
-         directory filepath lens monad-loops optparse-applicative
-         transformers
+         Chart-diagrams colour composition-prelude data-binary-ieee754
+         data-default directory filepath lens monad-loops
        ];
-       executableHaskellDepends = [ base ];
        testHaskellDepends = [ base hspec ];
-       homepage = "https://github.com/vmchale/hgis#readme";
-       description = "Package and command-line for GIS with Haskell";
+       description = "Library and for GIS with Haskell";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
@@ -101545,6 +104168,8 @@ self: {
        pname = "hgmp";
        version = "0.1.1";
        sha256 = "1hisbcpz47x2lbqf8vzwis7qw7xhvx22lv7dcyhm9vsmsh5741dr";
+       revision = "2";
+       editedCabalFile = "0v318nifmgqq5jg1d5q0jspfgyqp7cfnkz3ikqaz9xjg8inzl8mr";
        libraryHaskellDepends = [ base ghc-prim integer-gmp ];
        testHaskellDepends = [ base QuickCheck ];
        homepage = "https://code.mathr.co.uk/hgmp";
@@ -101851,24 +104476,24 @@ self: {
 
   "hierarchy" = callPackage
     ({ mkDerivation, base, directory, doctest, exceptions, filepath
-     , free, hspec, hspec-expectations, mmorph, monad-control, mtl
-     , pipes, semigroups, transformers, transformers-base
+     , free, mmorph, monad-control, mtl, transformers, transformers-base
      , transformers-compat
      }:
      mkDerivation {
        pname = "hierarchy";
-       version = "0.3.1.2";
-       sha256 = "07aldpvbsc2mjg7v2gi46il66qg0hk9ly7sw4vd7h0lkk5q3vb6h";
+       version = "1.0.1";
+       sha256 = "11xnqf5s0vda2wjgdazkgkmjp46jyl9zcaia5r01szfwjihj5ldg";
        libraryHaskellDepends = [
-         base exceptions free mmorph monad-control mtl pipes semigroups
-         transformers transformers-base transformers-compat
+         base exceptions free mmorph monad-control mtl transformers
+         transformers-base transformers-compat
        ];
        testHaskellDepends = [
-         base directory doctest filepath hspec hspec-expectations mtl pipes
-         semigroups transformers
+         base directory doctest exceptions filepath free mmorph
+         monad-control mtl transformers transformers-base
+         transformers-compat
        ];
-       homepage = "https://github.com/jwiegley/hierarchy";
-       description = "Pipes-based library for predicated traversal of generated trees";
+       homepage = "https://github.com/jwiegley/hierarchy#readme";
+       description = "Predicated traversal of generated trees";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
@@ -101929,29 +104554,6 @@ self: {
 
   "higher-leveldb" = callPackage
     ({ mkDerivation, base, bytestring, cereal, data-default, exceptions
-     , hspec, leveldb-haskell, lifted-base, monad-control, mtl, process
-     , resourcet, transformers, transformers-base
-     }:
-     mkDerivation {
-       pname = "higher-leveldb";
-       version = "0.4.0.1";
-       sha256 = "0ia3ssxr414jqvb4gzkaaa4a8d3rd7b395cfh0m2hz2jn6q7z651";
-       libraryHaskellDepends = [
-         base bytestring cereal data-default exceptions leveldb-haskell
-         lifted-base monad-control mtl resourcet transformers
-         transformers-base
-       ];
-       testHaskellDepends = [
-         base bytestring cereal hspec leveldb-haskell lifted-base
-         monad-control mtl process resourcet transformers transformers-base
-       ];
-       homepage = "https://github.com/jeremyjh/higher-leveldb";
-       description = "A rich monadic API for working with leveldb databases";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "higher-leveldb_0_5_0_1" = callPackage
-    ({ mkDerivation, base, bytestring, cereal, data-default, exceptions
      , hspec, leveldb-haskell, mtl, process, resourcet, transformers
      , transformers-base, unliftio, unliftio-core
      }:
@@ -101970,7 +104572,6 @@ self: {
        homepage = "https://github.com/jeremyjh/higher-leveldb";
        description = "A rich monadic API for working with leveldb databases";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "higherorder" = callPackage
@@ -102161,6 +104762,8 @@ self: {
        pname = "hills";
        version = "0.1.2.6";
        sha256 = "0ggdppg7mbq3ljrb4hvracdv81m9jqnsrl6iqy56sba118k7m0jh";
+       revision = "1";
+       editedCabalFile = "1qdn733rdn4c15avgncgns10j2hw0bvnzdkd5f9yzm3s8vq8sqv9";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -102325,9 +104928,12 @@ self: {
        pname = "hinduce-classifier-decisiontree";
        version = "0.0.0.1";
        sha256 = "1hdz4lbbpy2yc5j7chkagjvslsakmv3hbz2s7lpz0isfq7ls9idl";
+       revision = "1";
+       editedCabalFile = "16zh2f474ga3s1jzg58hv6q103gdxb3kl25g2cj0k14jxr4k15a2";
        libraryHaskellDepends = [
          base convertible hinduce-classifier hinduce-missingh layout
        ];
+       homepage = "https://github.com/roberth/hinduce-classifier-decisiontree#readme";
        description = "Decision Tree Classifiers for hInduce";
        license = stdenv.lib.licenses.bsd3;
      }) {};
@@ -102369,6 +104975,8 @@ self: {
        pname = "hinotify";
        version = "0.3.9";
        sha256 = "16fzql0s34my9k1ib4rdjf9fhhijkmmbrvi148f865m51160wj7j";
+       revision = "1";
+       editedCabalFile = "0df5pak0586626k3ryzg2lb26ys562l3i94jr9vpa0krs8iia209";
        libraryHaskellDepends = [ async base containers directory unix ];
        testHaskellDepends = [ base directory ];
        homepage = "https://github.com/kolmodin/hinotify.git";
@@ -102376,6 +104984,24 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "hinotify_0_3_10" = callPackage
+    ({ mkDerivation, async, base, bytestring, containers, directory
+     , unix
+     }:
+     mkDerivation {
+       pname = "hinotify";
+       version = "0.3.10";
+       sha256 = "17ax3n68a5c2ddazp86aciliskrh6znd3bnry0wcllmb6dbpsaxg";
+       revision = "1";
+       editedCabalFile = "07z0n5rvki3w0kjr190bwv7sq8p3myspv8999ilz9rlsqf5a0324";
+       libraryHaskellDepends = [ async base bytestring containers unix ];
+       testHaskellDepends = [ base bytestring directory unix ];
+       homepage = "https://github.com/kolmodin/hinotify.git";
+       description = "Haskell binding to inotify";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "hinotify-bytestring" = callPackage
     ({ mkDerivation, base, bytestring, containers, directory
      , posix-paths, unix, utf8-string
@@ -102455,6 +105081,27 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "hint_0_8_0" = callPackage
+    ({ mkDerivation, base, directory, exceptions, extensible-exceptions
+     , filepath, ghc, ghc-boot, ghc-paths, HUnit, mtl, random, unix
+     }:
+     mkDerivation {
+       pname = "hint";
+       version = "0.8.0";
+       sha256 = "0h8wan0hb16m1gcil1csaay9f9f1pq3kfgbzfsfpjszmr1i2sw1f";
+       libraryHaskellDepends = [
+         base directory exceptions filepath ghc ghc-boot ghc-paths mtl
+         random unix
+       ];
+       testHaskellDepends = [
+         base directory exceptions extensible-exceptions filepath HUnit unix
+       ];
+       homepage = "https://github.com/mvdan/hint";
+       description = "Runtime Haskell interpreter (GHC API wrapper)";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "hint-server" = callPackage
     ({ mkDerivation, base, eprocess, exceptions, hint, monad-loops, mtl
      }:
@@ -102471,6 +105118,26 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "hinter" = callPackage
+    ({ mkDerivation, base, directory, exceptions, extensible-exceptions
+     , filepath, ghc, ghc-boot, ghc-paths, HUnit, mtl, random, unix
+     }:
+     mkDerivation {
+       pname = "hinter";
+       version = "0.1.0.0";
+       sha256 = "0r790y7j64y79rqg7ip4dk5a8pbpryisp008lcmswzc0si35jfgl";
+       libraryHaskellDepends = [
+         base directory exceptions filepath ghc ghc-boot ghc-paths mtl
+         random unix
+       ];
+       testHaskellDepends = [
+         base directory exceptions extensible-exceptions filepath HUnit unix
+       ];
+       homepage = "https://github.com/strake/hint.hs";
+       description = "Runtime Haskell interpreter (GHC API wrapper)";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "hinterface" = callPackage
     ({ mkDerivation, array, async, base, binary, bytestring, containers
      , cryptonite, exceptions, hspec, lifted-async, lifted-base, memory
@@ -102548,6 +105215,7 @@ self: {
        homepage = "https://github.com/lehins/hip";
        description = "Haskell Image Processing (HIP) Library";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "hipbot" = callPackage
@@ -102808,11 +105476,29 @@ self: {
        pname = "histogram-fill";
        version = "0.8.5.0";
        sha256 = "0csijwl60v81inn7awl27b302c9ibblplr58ka7xih17dxyidpgv";
+       revision = "1";
+       editedCabalFile = "0pa5i5187g0y7r7ngy4gf9lqp76k9saz5qjri4nx0f98kwsacagg";
+       libraryHaskellDepends = [ base deepseq ghc-prim primitive vector ];
+       benchmarkHaskellDepends = [ base criterion mwc-random vector ];
+       homepage = "https://github.com/Shimuuar/histogram-fill/";
+       description = "Library for histograms creation";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "histogram-fill_0_9_0_0" = callPackage
+    ({ mkDerivation, base, criterion, deepseq, ghc-prim, mwc-random
+     , primitive, vector
+     }:
+     mkDerivation {
+       pname = "histogram-fill";
+       version = "0.9.0.0";
+       sha256 = "00j4ncqy0s5wil158wx1f8x0n2mj4ki2hgs4hmkrx0vbkc2pil56";
        libraryHaskellDepends = [ base deepseq ghc-prim primitive vector ];
        benchmarkHaskellDepends = [ base criterion mwc-random vector ];
        homepage = "https://github.com/Shimuuar/histogram-fill/";
        description = "Library for histograms creation";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "histogram-fill-binary" = callPackage
@@ -103014,6 +105700,30 @@ self: {
        homepage = "https://github.com/seagreen/hjsonpointer";
        description = "JSON Pointer library";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hjsonpointer_1_4_0" = callPackage
+    ({ mkDerivation, aeson, base, hashable, hspec, http-types
+     , QuickCheck, text, unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "hjsonpointer";
+       version = "1.4.0";
+       sha256 = "0hkcaqiich4ap323ir2dmr3v498rlavy34g69m386d4ml1gxm411";
+       revision = "1";
+       editedCabalFile = "0l84zr0p1ywwn81fdb2z365vrs9xaaz7c7bcmx8pjvb5wfx1g9g4";
+       libraryHaskellDepends = [
+         aeson base hashable QuickCheck text unordered-containers vector
+       ];
+       testHaskellDepends = [
+         aeson base hspec http-types QuickCheck text unordered-containers
+         vector
+       ];
+       homepage = "https://github.com/seagreen/hjsonpointer";
+       description = "JSON Pointer library";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "hjsonschema" = callPackage
@@ -103041,6 +105751,37 @@ self: {
        homepage = "https://github.com/seagreen/hjsonschema";
        description = "JSON Schema library";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hjsonschema_1_9_0" = callPackage
+    ({ mkDerivation, aeson, async, base, bytestring, containers
+     , directory, file-embed, filepath, hashable, hjsonpointer, hspec
+     , http-client, http-client-tls, http-types, pcre-heavy, profunctors
+     , protolude, QuickCheck, safe-exceptions, scientific, text
+     , unordered-containers, vector, wai-app-static, warp
+     }:
+     mkDerivation {
+       pname = "hjsonschema";
+       version = "1.9.0";
+       sha256 = "051i5y557g82hd5zcn63f65jyxk07d9wnvfmwdps391zxza8ifki";
+       revision = "1";
+       editedCabalFile = "1kxn0smmcmzysvi1bw9v0j6j68fk4s36nqyqmvbkl61pgm6bs803";
+       libraryHaskellDepends = [
+         aeson base bytestring containers file-embed filepath hashable
+         hjsonpointer http-client http-client-tls http-types pcre-heavy
+         profunctors protolude QuickCheck safe-exceptions scientific text
+         unordered-containers vector
+       ];
+       testHaskellDepends = [
+         aeson async base bytestring directory filepath hjsonpointer hspec
+         profunctors protolude QuickCheck text unordered-containers vector
+         wai-app-static warp
+       ];
+       homepage = "https://github.com/seagreen/hjsonschema";
+       description = "JSON Schema library";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "hjugement" = callPackage
@@ -103164,26 +105905,25 @@ self: {
     ({ mkDerivation, ansi-terminal, base, base-compat, bytestring
      , cmdargs, containers, criterion, csv, data-default, Decimal, Diff
      , directory, file-embed, filepath, hashable, haskeline, here
-     , hledger-lib, html, HUnit, megaparsec, mtl, mtl-compat, old-time
-     , parsec, pretty-show, process, regex-tdfa, safe, shakespeare
-     , split, tabular, temporary, terminfo, test-framework
+     , hledger-lib, html, HUnit, lucid, megaparsec, mtl, mtl-compat
+     , old-time, parsec, pretty-show, process, regex-tdfa, safe
+     , shakespeare, split, tabular, temporary, terminfo, test-framework
      , test-framework-hunit, text, time, timeit, transformers
      , unordered-containers, utf8-string, utility-ht, wizards
      }:
      mkDerivation {
        pname = "hledger";
-       version = "1.5";
-       sha256 = "0mmgjahdlyka2mi1271kawrvkvnw8bgd3a08r8bykskj9b9f5181";
+       version = "1.9.1";
+       sha256 = "13arzk1l2hxmi8baa68kvl2sha0na34h0dl6isbfpvgnp7w1c0b3";
        isLibrary = true;
        isExecutable = true;
-       enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          ansi-terminal base base-compat bytestring cmdargs containers csv
          data-default Decimal Diff directory file-embed filepath hashable
-         haskeline here hledger-lib HUnit megaparsec mtl mtl-compat old-time
-         pretty-show process regex-tdfa safe shakespeare split tabular
-         temporary terminfo text time transformers unordered-containers
-         utf8-string utility-ht wizards
+         haskeline here hledger-lib HUnit lucid megaparsec mtl mtl-compat
+         old-time pretty-show process regex-tdfa safe shakespeare split
+         tabular temporary terminfo text time transformers
+         unordered-containers utf8-string utility-ht wizards
        ];
        executableHaskellDepends = [
          ansi-terminal base base-compat bytestring cmdargs containers csv
@@ -103213,22 +105953,22 @@ self: {
      }) {};
 
   "hledger-api" = callPackage
-    ({ mkDerivation, aeson, base, bytestring, containers, Decimal
-     , docopt, either, hledger, hledger-lib, microlens
+    ({ mkDerivation, aeson, base, bytestring, containers, data-default
+     , Decimal, docopt, either, hledger, hledger-lib, microlens
      , microlens-platform, safe, servant-server, servant-swagger
      , swagger2, text, transformers, wai, wai-extra, warp
      }:
      mkDerivation {
        pname = "hledger-api";
-       version = "1.5";
-       sha256 = "1wanah469danp0ljjxr258gdcd9lb175chz2jlq0y604wksaaj19";
+       version = "1.9.1";
+       sha256 = "1krg8pxqcndrs6z196lb7z5nanyp9vxk5ziqpapj0f11ifxcijj8";
        isLibrary = false;
        isExecutable = true;
-       enableSeparateDataOutput = true;
        executableHaskellDepends = [
-         aeson base bytestring containers Decimal docopt either hledger
-         hledger-lib microlens microlens-platform safe servant-server
-         servant-swagger swagger2 text transformers wai wai-extra warp
+         aeson base bytestring containers data-default Decimal docopt either
+         hledger hledger-lib microlens microlens-platform safe
+         servant-server servant-swagger swagger2 text transformers wai
+         wai-extra warp
        ];
        homepage = "http://hledger.org";
        description = "Web API server for the hledger accounting tool";
@@ -103267,38 +106007,36 @@ self: {
        homepage = "https://github.com/gebner/hledger-diff";
        description = "Compares the transactions in two ledger files";
        license = stdenv.lib.licenses.gpl3;
-       maintainers = with stdenv.lib.maintainers; [ gebner ];
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "hledger-iadd" = callPackage
     ({ mkDerivation, base, brick, containers, directory, free
      , hledger-lib, hspec, megaparsec, microlens, microlens-th
-     , optparse-applicative, QuickCheck, semigroups, text, text-format
-     , text-zipper, time, transformers, unordered-containers, vector
-     , vty, xdg-basedir
+     , optparse-applicative, QuickCheck, semigroups, text, text-zipper
+     , time, transformers, unordered-containers, vector, vty
+     , xdg-basedir
      }:
      mkDerivation {
        pname = "hledger-iadd";
-       version = "1.3.1";
-       sha256 = "0z7f9bm7xkq8a9kbhf3bd6fxhfaab08ddgghpbg5z460l4lhcczv";
-       revision = "2";
-       editedCabalFile = "03cc91bzxmk3hffkmda3w87rgwarpdjbs1kwafix65avhw03g7ga";
+       version = "1.3.5";
+       sha256 = "0mp8jhvf48173ixypqfm9vmsb2bsykfygxrxxfjpry6m5xqfh09c";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          base brick containers directory free hledger-lib megaparsec
          microlens microlens-th optparse-applicative semigroups text
-         text-format text-zipper time transformers unordered-containers
-         vector vty xdg-basedir
+         text-zipper time transformers unordered-containers vector vty
+         xdg-basedir
        ];
        executableHaskellDepends = [
          base brick directory free hledger-lib megaparsec microlens
-         optparse-applicative text text-format text-zipper time transformers
+         optparse-applicative text text-zipper time transformers
          unordered-containers vector vty xdg-basedir
        ];
        testHaskellDepends = [
-         base free hledger-lib hspec megaparsec QuickCheck text text-format
-         text-zipper time transformers vector
+         base free hledger-lib hspec megaparsec QuickCheck text text-zipper
+         time transformers vector
        ];
        homepage = "https://github.com/hpdeifel/hledger-iadd#readme";
        description = "A terminal UI as drop-in replacement for hledger add";
@@ -103310,11 +106048,10 @@ self: {
      }:
      mkDerivation {
        pname = "hledger-interest";
-       version = "1.5.1";
-       sha256 = "19hdz6lj0kxy59vzkyqlwk20l8k08w618nz02xcfflwd9r7ka0ha";
+       version = "1.5.2";
+       sha256 = "10ck23d69wxylxbp8cj7ic8slklm9l88xbb4p29nvm5lgjiqidbq";
        isLibrary = false;
        isExecutable = true;
-       enableSeparateDataOutput = true;
        executableHaskellDepends = [
          base Cabal Decimal hledger-lib mtl text time
        ];
@@ -103339,35 +106076,35 @@ self: {
        ];
        description = "computes the internal rate of return of an investment";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "hledger-lib" = callPackage
     ({ mkDerivation, ansi-terminal, array, base, base-compat
      , blaze-markup, bytestring, cmdargs, containers, csv, data-default
-     , Decimal, deepseq, directory, doctest, extra, filepath, Glob
-     , hashtables, HUnit, megaparsec, mtl, mtl-compat, old-time, parsec
-     , pretty-show, regex-tdfa, safe, semigroups, split, test-framework
-     , test-framework-hunit, text, time, transformers, uglymemo
-     , utf8-string
+     , Decimal, deepseq, directory, doctest, easytest, extra, filepath
+     , Glob, hashtables, HUnit, megaparsec, mtl, mtl-compat, old-time
+     , parsec, pretty-show, regex-tdfa, safe, split, tabular
+     , test-framework, test-framework-hunit, text, time, transformers
+     , uglymemo, utf8-string
      }:
      mkDerivation {
        pname = "hledger-lib";
-       version = "1.5";
-       sha256 = "00k0wqib3hadi4rcnldr14q2va57b09whfbwzd14pz824x7pnfd7";
-       enableSeparateDataOutput = true;
+       version = "1.9.1";
+       sha256 = "0yxgx4bpqn8vchrfp07d1fqmsscj8w5g63nqd2n49r29d6i5q5az";
        libraryHaskellDepends = [
          ansi-terminal array base base-compat blaze-markup bytestring
          cmdargs containers csv data-default Decimal deepseq directory extra
          filepath hashtables HUnit megaparsec mtl mtl-compat old-time parsec
-         pretty-show regex-tdfa safe semigroups split text time transformers
+         pretty-show regex-tdfa safe split tabular text time transformers
          uglymemo utf8-string
        ];
        testHaskellDepends = [
          ansi-terminal array base base-compat blaze-markup bytestring
          cmdargs containers csv data-default Decimal deepseq directory
-         doctest extra filepath Glob hashtables HUnit megaparsec mtl
-         mtl-compat old-time parsec pretty-show regex-tdfa safe semigroups
-         split test-framework test-framework-hunit text time transformers
+         doctest easytest extra filepath Glob hashtables HUnit megaparsec
+         mtl mtl-compat old-time parsec pretty-show regex-tdfa safe split
+         tabular test-framework test-framework-hunit text time transformers
          uglymemo utf8-string
        ];
        homepage = "http://hledger.org";
@@ -103384,11 +106121,10 @@ self: {
      }:
      mkDerivation {
        pname = "hledger-ui";
-       version = "1.5";
-       sha256 = "104vjyqpddwv8g9mfbaw174nl4lb41zwl14i8225m6v1gxvs5w6x";
+       version = "1.9.1";
+       sha256 = "18ar9lja583rg06q9dbnrpify6hj99444fjw2z54lr54587151v0";
        isLibrary = false;
        isExecutable = true;
-       enableSeparateDataOutput = true;
        executableHaskellDepends = [
          ansi-terminal async base base-compat brick cmdargs containers
          data-default directory filepath fsnotify hledger hledger-lib HUnit
@@ -103431,11 +106167,10 @@ self: {
      }:
      mkDerivation {
        pname = "hledger-web";
-       version = "1.5";
-       sha256 = "10ar6ic9snrbwi60sz1729dshff01s3knmb7d7kwfk9svmilxq6f";
+       version = "1.9.2";
+       sha256 = "0b533vs5vrk4wpwgf23l7rvijq4qpi6w5nql2hsjwl3xk2ihfpv3";
        isLibrary = true;
        isExecutable = true;
-       enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          base base-compat blaze-html blaze-markup bytestring clientsession
          cmdargs conduit-extra data-default directory filepath hjsmin
@@ -103529,7 +106264,24 @@ self: {
        pname = "hlibsass";
        version = "0.1.6.1";
        sha256 = "0j88b1fm0al8w7h6sdw89jpsfs8aplj9q050k41gaib44r7hl4iy";
-       configureFlags = [ "-fexternallibsass" ];
+       configureFlags = [ "-fexternalLibsass" ];
+       setupHaskellDepends = [ base Cabal directory ];
+       libraryHaskellDepends = [ base ];
+       librarySystemDepends = [ libsass ];
+       testHaskellDepends = [ base hspec ];
+       homepage = "https://github.com/jakubfijalkowski/hlibsass";
+       description = "Low-level bindings to Libsass";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {inherit (pkgs) libsass;};
+
+  "hlibsass_0_1_7_0" = callPackage
+    ({ mkDerivation, base, Cabal, directory, hspec, libsass }:
+     mkDerivation {
+       pname = "hlibsass";
+       version = "0.1.7.0";
+       sha256 = "0vcz3hndksfp9rmz07y67rvqinaz7cxzvrhjcwy30wc79m25r9v2";
+       configureFlags = [ "-fexternalLibsass" ];
        setupHaskellDepends = [ base Cabal directory ];
        libraryHaskellDepends = [ base ];
        librarySystemDepends = [ libsass ];
@@ -103549,8 +106301,8 @@ self: {
      }:
      mkDerivation {
        pname = "hlint";
-       version = "2.1";
-       sha256 = "13chm0dhh1fn2iy3flnh7ahc3yzh8q0v10qxwd1739sywhykayg9";
+       version = "2.1.5";
+       sha256 = "00kib9b80s0bhdv267dgybl68knmzzmq7n0maygzc0kxc9k1bwj1";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -103624,6 +106376,42 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "hlrdb" = callPackage
+    ({ mkDerivation, base, base64-bytestring, bytestring, cryptonite
+     , hashable, hedis, hlrdb-core, memory, random, store, time
+     , unordered-containers
+     }:
+     mkDerivation {
+       pname = "hlrdb";
+       version = "0.2.0.0";
+       sha256 = "1x7vw2mcwd703dr5mjghsjd04yxwl6z7wzdysgk75i4l7f0lcqfq";
+       libraryHaskellDepends = [
+         base base64-bytestring bytestring cryptonite hashable hedis
+         hlrdb-core memory random store time unordered-containers
+       ];
+       homepage = "https://github.com/identicalsnowflake/hlrdb";
+       description = "High-level Redis Database";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hlrdb-core" = callPackage
+    ({ mkDerivation, base, bytestring, hashable, hedis, lens, mtl
+     , profunctors, random, time, unordered-containers
+     }:
+     mkDerivation {
+       pname = "hlrdb-core";
+       version = "0.1.1.0";
+       sha256 = "0jxpzbwlcf8ix08sbxppcbvlvq2hhs8ya0mkk9b262zb2bfv3m4i";
+       libraryHaskellDepends = [
+         base bytestring hashable hedis lens mtl profunctors random time
+         unordered-containers
+       ];
+       homepage = "https://github.com/identicalsnowflake/hlrdb-core";
+       description = "High-level Redis Database Core API";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "hls" = callPackage
     ({ mkDerivation, base, containers, hcg-minus, hps }:
      mkDerivation {
@@ -103725,6 +106513,27 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {inherit (pkgs) openblasCompat;};
 
+  "hmatrix_0_19_0_0" = callPackage
+    ({ mkDerivation, array, base, binary, bytestring, deepseq
+     , openblasCompat, random, semigroups, split, storable-complex
+     , vector
+     }:
+     mkDerivation {
+       pname = "hmatrix";
+       version = "0.19.0.0";
+       sha256 = "10jd69nby29dggghcyjk6ykyr5wrn97nrv1dkpyrp0y5xm12xssj";
+       configureFlags = [ "-fdisable-default-paths" "-fopenblas" ];
+       libraryHaskellDepends = [
+         array base binary bytestring deepseq random semigroups split
+         storable-complex vector
+       ];
+       librarySystemDepends = [ openblasCompat ];
+       homepage = "https://github.com/albertoruiz/hmatrix";
+       description = "Numeric Linear Algebra";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {inherit (pkgs) openblasCompat;};
+
   "hmatrix-backprop" = callPackage
     ({ mkDerivation, ANum, backprop, base, finite-typelits
      , ghc-typelits-knownnat, ghc-typelits-natnormalise, hedgehog
@@ -103733,11 +106542,37 @@ self: {
      }:
      mkDerivation {
        pname = "hmatrix-backprop";
-       version = "0.1.0.0";
-       sha256 = "088spv7149788iwda2pyf6fc9i40vq4dfziqldgxjrnngxw9z8iv";
+       version = "0.1.2.0";
+       sha256 = "0lrdy5zxl8kvzfsgb4i5lqvdaqpnwixgjnjsvkm89fw6ms86bqac";
        libraryHaskellDepends = [
-         ANum backprop base ghc-typelits-knownnat ghc-typelits-natnormalise
-         hmatrix hmatrix-vector-sized microlens vector vector-sized
+         ANum backprop base finite-typelits ghc-typelits-knownnat
+         ghc-typelits-natnormalise hmatrix hmatrix-vector-sized microlens
+         vector vector-sized
+       ];
+       testHaskellDepends = [
+         backprop base finite-typelits hedgehog hmatrix hmatrix-vector-sized
+         microlens microlens-platform vector-sized
+       ];
+       homepage = "https://github.com/mstksg/hmatrix-backprop#readme";
+       description = "hmatrix operations lifted for backprop";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hmatrix-backprop_0_1_2_1" = callPackage
+    ({ mkDerivation, backprop, base, finite-typelits
+     , ghc-typelits-knownnat, ghc-typelits-natnormalise, hedgehog
+     , hmatrix, hmatrix-vector-sized, microlens, microlens-platform
+     , vector, vector-sized
+     }:
+     mkDerivation {
+       pname = "hmatrix-backprop";
+       version = "0.1.2.1";
+       sha256 = "0qcm2hkdh50xgvxhs6nr303h0gs1x9apiklgnk8xjzgibsy8vb1n";
+       libraryHaskellDepends = [
+         backprop base finite-typelits ghc-typelits-knownnat
+         ghc-typelits-natnormalise hmatrix hmatrix-vector-sized microlens
+         vector vector-sized
        ];
        testHaskellDepends = [
          backprop base finite-typelits hedgehog hmatrix hmatrix-vector-sized
@@ -103779,13 +106614,13 @@ self: {
     ({ mkDerivation, base, containers, glpk, hmatrix }:
      mkDerivation {
        pname = "hmatrix-glpk";
-       version = "0.6.0.0";
-       sha256 = "0x5ghi0rqv6zir304cjg2plpvzgihg31b5irkpf5alig6v7jdjn1";
+       version = "0.19.0.0";
+       sha256 = "1rbbzz1jc9r7blbqd37jb8f054xfk521q54b3srz3k34nkp05yb1";
        libraryHaskellDepends = [ base containers hmatrix ];
        librarySystemDepends = [ glpk ];
        homepage = "https://github.com/albertoruiz/hmatrix";
        description = "Linear Programming based on GLPK";
-       license = "GPL";
+       license = stdenv.lib.licenses.gpl3;
      }) {inherit (pkgs) glpk;};
 
   "hmatrix-gsl" = callPackage
@@ -103804,6 +106639,23 @@ self: {
        license = "GPL";
      }) {inherit (pkgs) gsl;};
 
+  "hmatrix-gsl_0_19_0_1" = callPackage
+    ({ mkDerivation, array, base, gsl, hmatrix, process, random, vector
+     }:
+     mkDerivation {
+       pname = "hmatrix-gsl";
+       version = "0.19.0.1";
+       sha256 = "0v6dla426x4ywaq59jm89ql1i42n39iw6z0j378xwb676v9kfxhm";
+       libraryHaskellDepends = [
+         array base hmatrix process random vector
+       ];
+       libraryPkgconfigDepends = [ gsl ];
+       homepage = "https://github.com/albertoruiz/hmatrix";
+       description = "Numerical computation";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {inherit (pkgs) gsl;};
+
   "hmatrix-gsl-stats" = callPackage
     ({ mkDerivation, base, binary, gsl, hmatrix, storable-complex
      , vector
@@ -103910,6 +106762,21 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "hmatrix-sparse" = callPackage
+    ({ mkDerivation, base, hmatrix, mkl_core, mkl_intel, mkl_sequential
+     }:
+     mkDerivation {
+       pname = "hmatrix-sparse";
+       version = "0.19.0.0";
+       sha256 = "04h9vf4aayhmjnlk8wnf9mg3rfjx9n6dhnv49vpwv7j8c4qhbd4s";
+       libraryHaskellDepends = [ base hmatrix ];
+       librarySystemDepends = [ mkl_core mkl_intel mkl_sequential ];
+       homepage = "https://github.com/albertoruiz/hmatrix";
+       description = "Sparse linear solver";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {mkl_core = null; mkl_intel = null; mkl_sequential = null;};
+
   "hmatrix-special" = callPackage
     ({ mkDerivation, base, hmatrix, hmatrix-gsl }:
      mkDerivation {
@@ -103922,6 +106789,19 @@ self: {
        license = "GPL";
      }) {};
 
+  "hmatrix-special_0_19_0_0" = callPackage
+    ({ mkDerivation, base, hmatrix, hmatrix-gsl }:
+     mkDerivation {
+       pname = "hmatrix-special";
+       version = "0.19.0.0";
+       sha256 = "1mywr61kr852sbff26n9x95kswx9l4ycbv6s68qsbkh02xzqq7qz";
+       libraryHaskellDepends = [ base hmatrix hmatrix-gsl ];
+       homepage = "https://github.com/albertoruiz/hmatrix";
+       description = "Interface to GSL special functions";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "hmatrix-static" = callPackage
     ({ mkDerivation, array, base, haskell-src-meta, hmatrix, parsec
      , template-haskell, tfp
@@ -103939,6 +106819,30 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "hmatrix-sundials" = callPackage
+    ({ mkDerivation, base, containers, diagrams-lib
+     , diagrams-rasterific, hmatrix, hspec, inline-c, lens, plots
+     , sundials_arkode, template-haskell, vector
+     }:
+     mkDerivation {
+       pname = "hmatrix-sundials";
+       version = "0.19.0.0";
+       sha256 = "03pil8zkkixlgv2m07zyiyribpkphhl75ixvazb36c6rznvkg6nd";
+       libraryHaskellDepends = [
+         base containers hmatrix inline-c template-haskell vector
+       ];
+       librarySystemDepends = [ sundials_arkode ];
+       testHaskellDepends = [
+         base containers diagrams-lib diagrams-rasterific hmatrix hspec
+         inline-c lens plots template-haskell vector
+       ];
+       testSystemDepends = [ sundials_arkode ];
+       homepage = "https://github.com/idontgetoutmuch/hmatrix/tree/sundials";
+       description = "hmatrix interface to sundials";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {sundials_arkode = null;};
+
   "hmatrix-svdlibc" = callPackage
     ({ mkDerivation, base, criterion, hmatrix, hspec, QuickCheck
      , vector
@@ -103978,8 +106882,8 @@ self: {
      }:
      mkDerivation {
        pname = "hmatrix-tests";
-       version = "0.6.0.0";
-       sha256 = "1my4w6nxlwizlysk4ika9xaqjjgjxi2lal83zqgjkc05jxs1p9ih";
+       version = "0.19.0.0";
+       sha256 = "18adrcwd8zgw8x9dn5fvpjq4l88iqvlm5z0yxzr96zppi8z5w6fw";
        libraryHaskellDepends = [
          base binary deepseq hmatrix hmatrix-gsl HUnit QuickCheck random
        ];
@@ -104092,7 +106996,6 @@ self: {
        homepage = "https://github.com/masterdezign/hmep#readme";
        description = "HMEP Multi Expression Programming – a genetic programming variant";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "hmidi" = callPackage
@@ -104292,60 +107195,61 @@ self: {
      }) {inherit (pkgs) netcdf;};
 
   "hnix" = callPackage
-    ({ mkDerivation, ansi-wl-pprint, base, containers, criterion
-     , data-fix, deepseq, deriving-compat, parsers, semigroups, tasty
-     , tasty-hunit, tasty-th, text, transformers, trifecta
-     , unordered-containers
+    ({ mkDerivation, aeson, ansi-wl-pprint, array, base
+     , base16-bytestring, binary, bytestring, containers, criterion
+     , cryptohash-md5, cryptohash-sha1, cryptohash-sha256
+     , cryptohash-sha512, data-fix, deepseq, deriving-compat, Diff
+     , directory, exceptions, filepath, generic-random, Glob, hashable
+     , hashing, haskeline, http-client, http-client-tls, http-types
+     , interpolate, lens-family, lens-family-core, lens-family-th
+     , logict, megaparsec, monadlist, mtl, optparse-applicative
+     , pretty-show, process, QuickCheck, quickcheck-instances
+     , regex-tdfa, regex-tdfa-text, repline, scientific, semigroups
+     , serialise, split, syb, tasty, tasty-hunit, tasty-quickcheck
+     , tasty-th, template-haskell, text, these, time, transformers, unix
+     , unordered-containers, vector, xml
      }:
      mkDerivation {
        pname = "hnix";
-       version = "0.3.4";
-       sha256 = "1wnvbal093c207vr68i0zyrxvmb3yyxdr8p7lbw2yy4ari2hi2gc";
-       revision = "1";
-       editedCabalFile = "01svkjznkz51742k3hcc0ssz5m0kymk53ydrdwg4a24ygvb408iw";
+       version = "0.5.1";
+       sha256 = "1rhbx7ixzg4147j3pcqvfzn1k2b1xcn8428z98cq6ghnrmgss9al";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         ansi-wl-pprint base containers data-fix deepseq deriving-compat
-         parsers semigroups text transformers trifecta unordered-containers
+         aeson ansi-wl-pprint array base base16-bytestring binary bytestring
+         containers cryptohash-md5 cryptohash-sha1 cryptohash-sha256
+         cryptohash-sha512 data-fix deepseq deriving-compat directory
+         exceptions filepath hashable hashing haskeline http-client
+         http-client-tls http-types lens-family lens-family-core
+         lens-family-th logict megaparsec monadlist mtl optparse-applicative
+         pretty-show process regex-tdfa regex-tdfa-text scientific
+         semigroups serialise split syb template-haskell text these time
+         transformers unix unordered-containers vector xml
        ];
        executableHaskellDepends = [
-         ansi-wl-pprint base containers data-fix deepseq
+         aeson ansi-wl-pprint base base16-bytestring bytestring containers
+         cryptohash-md5 cryptohash-sha1 cryptohash-sha256 cryptohash-sha512
+         data-fix deepseq exceptions filepath hashing haskeline mtl
+         optparse-applicative pretty-show repline serialise template-haskell
+         text time transformers unordered-containers
        ];
        testHaskellDepends = [
-         base containers data-fix tasty tasty-hunit tasty-th text
-       ];
-       benchmarkHaskellDepends = [ base containers criterion text ];
-       homepage = "http://github.com/jwiegley/hnix";
-       description = "Haskell implementation of the Nix language";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "hnix_0_4_0" = callPackage
-    ({ mkDerivation, ansi-wl-pprint, base, containers, criterion
-     , data-fix, deepseq, deriving-compat, parsers, regex-tdfa
-     , regex-tdfa-text, semigroups, tasty, tasty-hunit, tasty-th, text
-     , transformers, trifecta, unordered-containers
-     }:
-     mkDerivation {
-       pname = "hnix";
-       version = "0.4.0";
-       sha256 = "0rgx97ckv5zvly6x76h7nncswfw0ik4bhnlj8n5bpl4rqzd7d4fd";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         ansi-wl-pprint base containers data-fix deepseq deriving-compat
-         parsers regex-tdfa regex-tdfa-text semigroups text transformers
-         trifecta unordered-containers
-       ];
-       executableHaskellDepends = [
-         ansi-wl-pprint base containers data-fix deepseq
+         ansi-wl-pprint base base16-bytestring bytestring containers
+         cryptohash-md5 cryptohash-sha1 cryptohash-sha256 cryptohash-sha512
+         data-fix deepseq Diff directory exceptions filepath generic-random
+         Glob hashing interpolate megaparsec mtl optparse-applicative
+         pretty-show process QuickCheck quickcheck-instances serialise split
+         tasty tasty-hunit tasty-quickcheck tasty-th template-haskell text
+         time transformers unix unordered-containers
        ];
-       testHaskellDepends = [
-         base containers data-fix tasty tasty-hunit tasty-th text
+       benchmarkHaskellDepends = [
+         ansi-wl-pprint base base16-bytestring bytestring containers
+         criterion cryptohash-md5 cryptohash-sha1 cryptohash-sha256
+         cryptohash-sha512 data-fix deepseq exceptions filepath hashing mtl
+         optparse-applicative serialise template-haskell text time
+         transformers unordered-containers
        ];
-       benchmarkHaskellDepends = [ base containers criterion text ];
-       homepage = "http://github.com/jwiegley/hnix";
+       homepage = "https://github.com/jwiegley/hnix#readme";
        description = "Haskell implementation of the Nix language";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -104468,28 +107372,8 @@ self: {
      }:
      mkDerivation {
        pname = "hoauth2";
-       version = "1.5.1";
-       sha256 = "1lb76084ha2wkhccgcwvn5ffdsrxsqbvhmlhx9aw9dm39ganggva";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         aeson base bytestring exceptions http-conduit http-types microlens
-         text unordered-containers uri-bytestring uri-bytestring-aeson
-       ];
-       homepage = "https://github.com/freizl/hoauth2";
-       description = "Haskell OAuth2 authentication client";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "hoauth2_1_7_1" = callPackage
-    ({ mkDerivation, aeson, base, bytestring, exceptions, http-conduit
-     , http-types, microlens, text, unordered-containers, uri-bytestring
-     , uri-bytestring-aeson
-     }:
-     mkDerivation {
-       pname = "hoauth2";
-       version = "1.7.1";
-       sha256 = "05l2ngns8p3jvx20iv8w4yrzn1agfxafgaynfwv0340czchl7s5s";
+       version = "1.7.2";
+       sha256 = "0klkgr11p8m03ksrad59pqs0czp6hrgmzxynng4zirbmz643plvf";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -104499,7 +107383,6 @@ self: {
        homepage = "https://github.com/freizl/hoauth2";
        description = "Haskell OAuth2 authentication client";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "hob" = callPackage
@@ -104564,6 +107447,7 @@ self: {
        ];
        description = "A library for canonically representing terms with binding";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "hocilib" = callPackage
@@ -104744,6 +107628,7 @@ self: {
        ];
        description = "Bindings to the Toggl.com REST API";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "hogre" = callPackage
@@ -104800,13 +107685,14 @@ self: {
     ({ mkDerivation, base, either, mtl }:
      mkDerivation {
        pname = "hoist-error";
-       version = "0.1.0.2";
-       sha256 = "1485adrlm52jm5afcwa7qnfy4b1679nqjhhlsjp264wqmm0h9l0z";
-       revision = "2";
-       editedCabalFile = "0yg8w9cy4qff8hkv0057qqwiapfhh2sxx43j64wgdp8vb8jar97w";
+       version = "0.2.0.0";
+       sha256 = "1hb479bwn3z1qdsrnz85wfdd9skmmxydxd6xkcrwbcfwy5vap64h";
+       revision = "1";
+       editedCabalFile = "1nai9ds3r15x78rnj5gvy3mbps2jkq9ndqg56l8g7rxizfzidwfb";
        libraryHaskellDepends = [ base either mtl ];
        description = "Some convenience facilities for hoisting errors into a monad";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "hol" = callPackage
@@ -104837,7 +107723,6 @@ self: {
        ];
        description = "Higher order logic";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "hold-em" = callPackage
@@ -104908,6 +107793,7 @@ self: {
        homepage = "http://github.com/yogsototh/holy-project";
        description = "Start your Haskell project with cabal, git and tests";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "homeomorphic" = callPackage
@@ -105208,6 +108094,7 @@ self: {
        homepage = "http://ianwookim.org/hoodle";
        description = "Hoodle file parser";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "hoodle-publish" = callPackage
@@ -105321,8 +108208,8 @@ self: {
      }:
      mkDerivation {
        pname = "hoogle";
-       version = "5.0.17.1";
-       sha256 = "0678kdssjmb8k08jmazg1w9lglz27ni2p3b5031likk2dp9gvf2h";
+       version = "5.0.17.3";
+       sha256 = "174gp41v0krzj37m75pnr3aawyhkbk2wq4q6zk2z3zh0avvvmgk6";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -105383,6 +108270,8 @@ self: {
        pname = "hookup";
        version = "0.2";
        sha256 = "17sj62b78a22alq9hpsrjcri5yxz7yzxdar521yd6x7jv3xxpix2";
+       revision = "1";
+       editedCabalFile = "1g4zijk8f4rff0g2y0m0308zmnwsbx0a3swbx8i8gvfd6v1g4cf6";
        libraryHaskellDepends = [
          base bytestring HsOpenSSL HsOpenSSL-x509-system network socks
        ];
@@ -105400,6 +108289,8 @@ self: {
        pname = "hoopl";
        version = "3.10.2.2";
        sha256 = "15rbb9a8mza3zv8h3p237zhmy29bxc4k48ik27kzzj7islb16yq9";
+       revision = "2";
+       editedCabalFile = "0j6pz4jzhvviyrhhn1j22ikmjvzrg60nzvq26lbpkcb6y4q6rlyx";
        libraryHaskellDepends = [ base containers ];
        testHaskellDepends = [
          base containers filepath mtl parsec test-framework
@@ -105487,40 +108378,6 @@ self: {
      }:
      mkDerivation {
        pname = "hopenpgp-tools";
-       version = "0.19.5";
-       sha256 = "1yb6slxphz7lghclv1cjs2kwig1ll1dxzcaf4js26nanq280lqz0";
-       revision = "2";
-       editedCabalFile = "1w9ban4w6zm7cknfnlzhgx649xg2j0vsrhqdlnd5g8qzcbbhh0si";
-       isLibrary = false;
-       isExecutable = true;
-       executableHaskellDepends = [
-         aeson ansi-wl-pprint array attoparsec base base16-bytestring binary
-         binary-conduit bytestring conduit conduit-extra containers
-         crypto-pubkey cryptohash directory errors fgl graphviz hOpenPGP
-         http-client http-client-tls http-types ixset-typed lens monad-loops
-         openpgp-asciiarmor optparse-applicative resourcet text time
-         time-locale-compat transformers unordered-containers
-         wl-pprint-extras wl-pprint-terminfo yaml
-       ];
-       executableToolDepends = [ alex happy ];
-       homepage = "http://floss.scru.org/hopenpgp-tools";
-       description = "hOpenPGP-based command-line tools";
-       license = "unknown";
-       hydraPlatforms = stdenv.lib.platforms.none;
-     }) {};
-
-  "hopenpgp-tools_0_20_1" = callPackage
-    ({ mkDerivation, aeson, alex, ansi-wl-pprint, array, attoparsec
-     , base, base16-bytestring, binary, binary-conduit, bytestring
-     , conduit, conduit-extra, containers, crypto-pubkey, cryptohash
-     , directory, errors, fgl, graphviz, happy, hOpenPGP, http-client
-     , http-client-tls, http-types, ixset-typed, lens, monad-loops
-     , openpgp-asciiarmor, optparse-applicative, resourcet, text, time
-     , time-locale-compat, transformers, unordered-containers
-     , wl-pprint-extras, wl-pprint-terminfo, yaml
-     }:
-     mkDerivation {
-       pname = "hopenpgp-tools";
        version = "0.20.1";
        sha256 = "1nidlipz0isj65vg6zhi79ln14i9kxvnn164s0haf086vm81kw32";
        isLibrary = false;
@@ -105725,6 +108582,7 @@ self: {
        homepage = "http://akc.is/hops";
        description = "Handy Operations on Power Series";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "hoq" = callPackage
@@ -106037,8 +108895,8 @@ self: {
 
   "hp2any-graph" = callPackage
     ({ mkDerivation, base, bytestring, containers, directory, filepath
-     , freeglut, GLUT, hp2any-core, mesa, network, OpenGL, parseargs
-     , process
+     , freeglut, GLUT, hp2any-core, libGL, libGLU, network, OpenGL
+     , parseargs, process
      }:
      mkDerivation {
        pname = "hp2any-graph";
@@ -106051,12 +108909,13 @@ self: {
          base bytestring containers directory filepath GLUT hp2any-core
          network OpenGL parseargs process
        ];
-       executableSystemDepends = [ freeglut mesa ];
+       executableSystemDepends = [ freeglut libGL libGLU ];
        homepage = "http://www.haskell.org/haskellwiki/Hp2any";
        description = "Real-time heap graphing utility and profile stream server with a reusable graphing module";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
-     }) {inherit (pkgs) freeglut; mesa = null;};
+     }) {inherit (pkgs) freeglut; inherit (pkgs) libGL; 
+         inherit (pkgs) libGLU;};
 
   "hp2any-manager" = callPackage
     ({ mkDerivation, array, base, bytestring, cairo, containers
@@ -106116,37 +108975,41 @@ self: {
   "hpack" = callPackage
     ({ mkDerivation, aeson, base, bifunctors, bytestring, Cabal
      , containers, cryptonite, deepseq, directory, filepath, Glob, hspec
-     , HUnit, interpolate, mockery, pretty, QuickCheck, scientific
-     , temporary, text, transformers, unordered-containers, yaml
+     , http-client, http-client-tls, http-types, HUnit, interpolate
+     , mockery, pretty, QuickCheck, scientific, template-haskell
+     , temporary, text, transformers, unordered-containers, vector, yaml
      }:
      mkDerivation {
        pname = "hpack";
-       version = "0.21.2";
-       sha256 = "1grsr2418z42bcvqnr788n3lpfbscqvvfcnglba9v95nl8lpfm0c";
+       version = "0.27.0";
+       sha256 = "1vrbf2b5bin9sdm80bj0jkcwc2d9zh29jh4qjhfvcpk4ggbl8iym";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          aeson base bifunctors bytestring Cabal containers cryptonite
-         deepseq directory filepath Glob pretty scientific text transformers
-         unordered-containers yaml
+         deepseq directory filepath Glob http-client http-client-tls
+         http-types pretty scientific text transformers unordered-containers
+         vector yaml
        ];
        executableHaskellDepends = [
          aeson base bifunctors bytestring Cabal containers cryptonite
-         deepseq directory filepath Glob pretty scientific text transformers
-         unordered-containers yaml
+         deepseq directory filepath Glob http-client http-client-tls
+         http-types pretty scientific text transformers unordered-containers
+         vector yaml
        ];
        testHaskellDepends = [
          aeson base bifunctors bytestring Cabal containers cryptonite
-         deepseq directory filepath Glob hspec HUnit interpolate mockery
-         pretty QuickCheck scientific temporary text transformers
-         unordered-containers yaml
+         deepseq directory filepath Glob hspec http-client http-client-tls
+         http-types HUnit interpolate mockery pretty QuickCheck scientific
+         template-haskell temporary text transformers unordered-containers
+         vector yaml
        ];
        homepage = "https://github.com/sol/hpack#readme";
        description = "An alternative format for Haskell packages";
        license = stdenv.lib.licenses.mit;
      }) {};
 
-  "hpack_0_27_0" = callPackage
+  "hpack_0_28_2" = callPackage
     ({ mkDerivation, aeson, base, bifunctors, bytestring, Cabal
      , containers, cryptonite, deepseq, directory, filepath, Glob, hspec
      , http-client, http-client-tls, http-types, HUnit, interpolate
@@ -106155,8 +109018,8 @@ self: {
      }:
      mkDerivation {
        pname = "hpack";
-       version = "0.27.0";
-       sha256 = "1vrbf2b5bin9sdm80bj0jkcwc2d9zh29jh4qjhfvcpk4ggbl8iym";
+       version = "0.28.2";
+       sha256 = "18w0h76jdp3mk9vin8da9iz3cwhcxmw787xy8wlh8bxcpcr16q5r";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -106368,19 +109231,19 @@ self: {
 
   "hpath" = callPackage
     ({ mkDerivation, base, bytestring, deepseq, doctest, exceptions
-     , hspec, HUnit, process, QuickCheck, simple-sendfile, unix
+     , hspec, HUnit, IfElse, process, QuickCheck, simple-sendfile, unix
      , unix-bytestring, utf8-string, word8
      }:
      mkDerivation {
        pname = "hpath";
-       version = "0.8.0";
-       sha256 = "19xbzgz51dwjm5w11j170bp8nv0b19qk6b8mx75c367n4xshgxc3";
+       version = "0.9.2";
+       sha256 = "1b8fni11zk3p3yx6pi9sx6cxq9vm31fqx3gm7y6nz5cykpncsx27";
        libraryHaskellDepends = [
-         base bytestring deepseq exceptions hspec simple-sendfile unix
-         unix-bytestring utf8-string word8
+         base bytestring deepseq exceptions hspec IfElse simple-sendfile
+         unix unix-bytestring utf8-string word8
        ];
        testHaskellDepends = [
-         base bytestring doctest hspec HUnit process QuickCheck unix
+         base bytestring doctest hspec HUnit IfElse process QuickCheck unix
          unix-bytestring utf8-string
        ];
        description = "Support for well-typed paths";
@@ -106440,6 +109303,24 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "hpc-threshold" = callPackage
+    ({ mkDerivation, base, bytestring, deepseq, hspec, interpolate
+     , pcre-heavy
+     }:
+     mkDerivation {
+       pname = "hpc-threshold";
+       version = "0.1.0.3";
+       sha256 = "0f16iq5d6d865ifg9lwbli16p5svzy3hjp05fkivqnl3p7hmd297";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [ base bytestring interpolate pcre-heavy ];
+       executableHaskellDepends = [ base ];
+       testHaskellDepends = [ base deepseq hspec ];
+       homepage = "https://github.com/eckyputrady/hpc-threshold#readme";
+       description = "Ensure the code coverage is above configured thresholds";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "hpc-tracer" = callPackage
     ({ mkDerivation, array, base, containers, haskell98, hpc, network
      , parsec, pretty, process, unix
@@ -106490,7 +109371,6 @@ self: {
        homepage = "https://darcs.alokat.org/hpg";
        description = "a simple password generator";
        license = stdenv.lib.licenses.isc;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "hpio" = callPackage
@@ -106501,8 +109381,8 @@ self: {
      }:
      mkDerivation {
        pname = "hpio";
-       version = "0.9.0.5";
-       sha256 = "0k1n2la7c5ld13nr0j2hc1ia2i9gy4aacs2cna4rkmcnyamgg38i";
+       version = "0.9.0.6";
+       sha256 = "07443kb6w1kwcg78j8jaffb5pblv9si7bvsmlg4dbm32m4wd66xx";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -106521,7 +109401,6 @@ self: {
        homepage = "https://github.com/quixoftic/hpio#readme";
        description = "Monads for GPIO in Haskell";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "hplayground" = callPackage
@@ -106584,8 +109463,8 @@ self: {
      }:
      mkDerivation {
        pname = "hpp";
-       version = "0.5.1";
-       sha256 = "0bdx85k9c9cb5wkp91fi1sb0dahg6f4fknyddfh92wcywa485q9b";
+       version = "0.5.2";
+       sha256 = "1r1sas1rcxcra4q3vjw3qmiv0xc4j263m7p93y6bwm1fvpxlkvcc";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -106600,22 +109479,22 @@ self: {
      }) {};
 
   "hpqtypes" = callPackage
-    ({ mkDerivation, aeson, base, bytestring, containers
-     , data-default-class, exceptions, HUnit, lifted-base, monad-control
-     , mtl, postgresql, QuickCheck, random, resource-pool, scientific
-     , test-framework, test-framework-hunit, text, text-show, time
-     , transformers, transformers-base, unordered-containers, vector
+    ({ mkDerivation, aeson, base, bytestring, Cabal, containers
+     , data-default-class, directory, exceptions, filepath, HUnit
+     , lifted-base, monad-control, mtl, postgresql, QuickCheck, random
+     , resource-pool, scientific, semigroups, test-framework
+     , test-framework-hunit, text, text-show, time, transformers
+     , transformers-base, unordered-containers, vector
      }:
      mkDerivation {
        pname = "hpqtypes";
-       version = "1.5.1.1";
-       sha256 = "0nkrah6ny24qayr03dyar5yhb90k5as3fn19pzsp6df8gi6j375r";
-       revision = "1";
-       editedCabalFile = "0k255rbvzinwrav3k7f3n2hssiv9p3bb51fg4vp2mhnm9igfy5b9";
+       version = "1.5.2.0";
+       sha256 = "0ghqrayylsm68nkqzrb7y81n3zslqv0rjpd0fyya67cy26ks43gw";
+       setupHaskellDepends = [ base Cabal directory filepath ];
        libraryHaskellDepends = [
          aeson base bytestring containers data-default-class exceptions
-         lifted-base monad-control mtl resource-pool text text-show time
-         transformers transformers-base vector
+         lifted-base monad-control mtl resource-pool semigroups text
+         text-show time transformers transformers-base vector
        ];
        librarySystemDepends = [ postgresql ];
        testHaskellDepends = [
@@ -106632,18 +109511,18 @@ self: {
 
   "hpqtypes-extras" = callPackage
     ({ mkDerivation, base, base16-bytestring, bytestring, containers
-     , cryptohash, exceptions, fields-json, hpqtypes, lifted-base
-     , log-base, monad-control, mtl, safe, tasty, tasty-hunit, text
-     , text-show, transformers
+     , cryptohash, data-default, exceptions, fields-json, hpqtypes
+     , lifted-base, log-base, monad-control, mtl, safe, semigroups
+     , tasty, tasty-hunit, text, text-show, transformers
      }:
      mkDerivation {
        pname = "hpqtypes-extras";
-       version = "1.5.0.1";
-       sha256 = "022732jsji79a1bb805gh6pcif9ismivs2dwgwks0fb5i9hviilm";
+       version = "1.6.1.0";
+       sha256 = "1k23dk3f1d3d3a1qdkvwjk91nw7iz4906clnwhd9k2s70zgsw111";
        libraryHaskellDepends = [
-         base base16-bytestring bytestring containers cryptohash exceptions
-         fields-json hpqtypes lifted-base log-base monad-control mtl safe
-         text text-show
+         base base16-bytestring bytestring containers cryptohash
+         data-default exceptions fields-json hpqtypes lifted-base log-base
+         monad-control mtl safe semigroups text text-show
        ];
        testHaskellDepends = [
          base exceptions hpqtypes lifted-base log-base monad-control tasty
@@ -106662,36 +109541,8 @@ self: {
      }:
      mkDerivation {
        pname = "hprotoc";
-       version = "2.4.7";
-       sha256 = "0rbifp2n2vb2bhk8wgdkmp0q2dqv7vlcwsqgpl8b7xhkfn706ps5";
-       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 ];
-       homepage = "https://github.com/k-bx/protocol-buffers";
-       description = "Parse Google Protocol Buffer specifications";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "hprotoc_2_4_8" = 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.8";
-       sha256 = "1h3zjl1z80h7n1k1sk4a2qwsnq17c48f1lmzrdhrs9h5bnm9mjhk";
+       version = "2.4.9";
+       sha256 = "1bfar7biksa9ha6vzrh4z2lz048mf1zz261ih6mbl9q6kvyr27w4";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -106859,8 +109710,8 @@ self: {
        pname = "hquantlib";
        version = "0.0.4.0";
        sha256 = "0x24qkbpclir0ik52hyxw3ahnqk1nqscxpx1ahnxs4w1bv7bkcmp";
-       revision = "1";
-       editedCabalFile = "02wp531cckdgj11sjamyafnij0cri7svrg4ddbvak9yki0xpm286";
+       revision = "2";
+       editedCabalFile = "1wx32kkv1as3rras5b1y3v77abx0sqsam6ssa5s7vm83pncx38y4";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -106878,6 +109729,7 @@ self: {
        homepage = "http://github.com/paulrzcz/hquantlib.git";
        description = "HQuantLib is a port of essencial parts of QuantLib to Haskell";
        license = "LGPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "hquery" = callPackage
@@ -107135,6 +109987,27 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "hs-conllu" = callPackage
+    ({ mkDerivation, base, containers, directory, filepath, megaparsec
+     , void
+     }:
+     mkDerivation {
+       pname = "hs-conllu";
+       version = "0.1.2";
+       sha256 = "1dvayafvf14gbir7cafhzlscqlffaws5ajilm5h520ji449jh2aa";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base containers directory filepath megaparsec void
+       ];
+       executableHaskellDepends = [
+         base containers directory filepath megaparsec
+       ];
+       homepage = "https://github.com/odanoburu/hs-conllu";
+       description = "Conllu validating parser and utils";
+       license = stdenv.lib.licenses.lgpl3;
+     }) {};
+
   "hs-di" = callPackage
     ({ mkDerivation, base, compose-ltr, containers, deepseq
      , foreign-store, ghcid, haskell-src-meta, hspec, hspec-core
@@ -107248,8 +110121,8 @@ self: {
     ({ mkDerivation, base, transformers }:
      mkDerivation {
        pname = "hs-functors";
-       version = "0.1.1.0";
-       sha256 = "0fd9sn0l5q6qxk8br0pa6k3sbv3r0ccij6lb9jm1a174kxjfxzma";
+       version = "0.1.2.0";
+       sha256 = "0jhhli0hhhmrh313nnydblyz68rhhmf4g6yrn35m8davj5cg1wd7";
        libraryHaskellDepends = [ base transformers ];
        description = "Functors from products of Haskell and its dual to Haskell";
        license = stdenv.lib.licenses.bsd3;
@@ -107324,8 +110197,8 @@ self: {
      }:
      mkDerivation {
        pname = "hs-java";
-       version = "0.3.4";
-       sha256 = "1qv6zwp9fws9s6502d9afwwbsh025xfpw4vsq8wgh2i0gvlskzq7";
+       version = "0.4.1";
+       sha256 = "1wpibfwxv9m1ldn9xqfrvjld18q8x31h06flvb4sbk26hqjrkr6f";
        libraryHaskellDepends = [
          array base binary binary-state bytestring containers
          control-monad-exception data-binary-ieee754 data-default directory
@@ -107406,23 +110279,24 @@ self: {
 
   "hs-multiaddr" = callPackage
     ({ mkDerivation, base, bytes, bytestring, cereal, either-unwrap
-     , filepath, hspec, iproute, multihash, sandi
+     , filepath, hs-multihash, hspec, iproute, sandi
      }:
      mkDerivation {
        pname = "hs-multiaddr";
-       version = "0.1.0.1";
-       sha256 = "0bac505a3fvz46zbh60vl0m6jj5snjbmj925vxhv6bpdydidi8hw";
+       version = "0.1.4";
+       sha256 = "0vmyqrgrw1fqm26mgb1bwdivv5iwgypb5186awva665gvp8p30ib";
        libraryHaskellDepends = [
-         base bytes bytestring cereal filepath iproute multihash sandi
+         base bytes bytestring cereal filepath hs-multihash iproute sandi
        ];
        testHaskellDepends = [
-         base bytestring either-unwrap hspec iproute multihash sandi
+         base bytestring either-unwrap hs-multihash hspec iproute sandi
        ];
-       homepage = "https://github.com/MatrixAI/haskell-multiaddr#readme";
-       description = "Multiaddr Library for LibP2P";
-       license = stdenv.lib.licenses.bsd3;
+       homepage = "https://github.com/MatrixAI/hs-multiaddr#readme";
+       description = "Multiaddr library";
+       license = stdenv.lib.licenses.asl20;
        hydraPlatforms = stdenv.lib.platforms.none;
-     }) {};
+       broken = true;
+     }) {hs-multihash = null;};
 
   "hs-nombre-generator" = callPackage
     ({ mkDerivation, base, HandsomeSoup, hxt, random }:
@@ -107608,6 +110482,7 @@ self: {
        homepage = "https://github.com/aiya000/hs-snowtify#README.md";
        description = "snowtify send your result of `stack build` (`stack test`) to notify-daemon :dog2:";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "hs-twitter" = callPackage
@@ -107704,20 +110579,18 @@ self: {
   "hs2ats" = callPackage
     ({ mkDerivation, ansi-wl-pprint, base, casing, composition-prelude
      , cpphs, criterion, deepseq, haskell-src-exts, hspec
-     , hspec-dirstream, language-ats, lens, optparse-generic
-     , system-filepath
+     , hspec-dirstream, language-ats, lens, system-filepath
      }:
      mkDerivation {
        pname = "hs2ats";
-       version = "0.2.1.7";
-       sha256 = "01hinvxj9v04kzvyck01z4ky3b1gmffwxvl7wri2ggps26h2d5gf";
+       version = "0.3.0.1";
+       sha256 = "1z8afx8bc9igd0iv6anw635zfj6vwqq10kp4j95p3fs58wyjg21v";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          ansi-wl-pprint base casing composition-prelude cpphs deepseq
-         haskell-src-exts language-ats lens optparse-generic
+         haskell-src-exts language-ats lens
        ];
-       executableHaskellDepends = [ base ];
        testHaskellDepends = [
          base hspec hspec-dirstream system-filepath
        ];
@@ -107823,6 +110696,32 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {xenctrl = null;};
 
+  "hsaml2" = callPackage
+    ({ mkDerivation, asn1-encoding, asn1-types, base, base64-bytestring
+     , bytestring, cryptonite, data-default, http-types, HUnit, hxt
+     , hxt-charproperties, hxt-http, hxt-unicode, invertible
+     , invertible-hxt, lens, libxml2, memory, mtl, network-uri, process
+     , semigroups, template-haskell, time, x509, zlib
+     }:
+     mkDerivation {
+       pname = "hsaml2";
+       version = "0.1";
+       sha256 = "0mpw13cicx16zhsk7km2qsndah9cdmyylz4r5ank5cxj0rzmkjck";
+       libraryHaskellDepends = [
+         asn1-encoding asn1-types base base64-bytestring bytestring
+         cryptonite data-default http-types hxt hxt-charproperties
+         hxt-unicode invertible invertible-hxt lens memory mtl network-uri
+         process semigroups template-haskell time x509 zlib
+       ];
+       libraryPkgconfigDepends = [ libxml2 ];
+       testHaskellDepends = [
+         base bytestring HUnit hxt hxt-http network-uri semigroups time x509
+       ];
+       description = "OASIS Security Assertion Markup Language (SAML) V2.0";
+       license = stdenv.lib.licenses.asl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {inherit (pkgs) libxml2;};
+
   "hsass" = callPackage
     ({ mkDerivation, base, bytestring, data-default-class, filepath
      , hlibsass, hspec, hspec-discover, monad-loops, temporary
@@ -107832,12 +110731,37 @@ self: {
        pname = "hsass";
        version = "0.5.0";
        sha256 = "07jhny061fnxqiijr2rqac85qzlxz24w8dms5pn844as8nkwdi4d";
+       revision = "1";
+       editedCabalFile = "00va8x51p6rbg8jbkxpyz74pa2pfm5dsrpi57icbyickx39iaydd";
+       libraryHaskellDepends = [
+         base bytestring data-default-class filepath hlibsass monad-loops
+         transformers
+       ];
+       testHaskellDepends = [
+         base bytestring data-default-class hspec hspec-discover temporary
+       ];
+       homepage = "https://github.com/jakubfijalkowski/hsass";
+       description = "Integrating Sass into Haskell applications";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hsass_0_7_0" = callPackage
+    ({ mkDerivation, base, bytestring, data-default-class, filepath
+     , hlibsass, hspec, hspec-discover, monad-loops, temporary, text
+     , transformers
+     }:
+     mkDerivation {
+       pname = "hsass";
+       version = "0.7.0";
+       sha256 = "0mqsj1jm37pqc1vwjs5y5mh4sfhdyclp1vdr7q5nq2a3pa3qwxbk";
        libraryHaskellDepends = [
          base bytestring data-default-class filepath hlibsass monad-loops
          transformers
        ];
        testHaskellDepends = [
          base bytestring data-default-class hspec hspec-discover temporary
+         text
        ];
        homepage = "https://github.com/jakubfijalkowski/hsass";
        description = "Integrating Sass into Haskell applications";
@@ -107980,8 +110904,8 @@ self: {
     ({ mkDerivation, base, containers, directory, filepath, process }:
      mkDerivation {
        pname = "hsc2hs";
-       version = "0.68.2";
-       sha256 = "061ns6ig52pcjwi9cgdcasya4cgm3zlb5s2mzq9p01vw4iy702gn";
+       version = "0.68.3";
+       sha256 = "0q46l4mvclw7lys53zljgrcj142rbwzk5zc2djk2qj956ah1i25h";
        isLibrary = false;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -108425,6 +111349,20 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "hscharm" = callPackage
+    ({ mkDerivation, base, random, random-shuffle }:
+     mkDerivation {
+       pname = "hscharm";
+       version = "0.0.2";
+       sha256 = "17713j542kph74n8rvjrx847r19yk96dz80n04nl8w6vzabj5wng";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [ base ];
+       executableHaskellDepends = [ base random random-shuffle ];
+       description = "minimal ncurses-like library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "hsclock" = callPackage
     ({ mkDerivation, base, cairo, glib, gtk, old-time }:
      mkDerivation {
@@ -108444,22 +111382,6 @@ self: {
     ({ mkDerivation, base, containers }:
      mkDerivation {
        pname = "hscolour";
-       version = "1.24.2";
-       sha256 = "08ng635m1qylng1khm9nqvfw2wdhljy1q2wi4ly63nfaznx8dysm";
-       isLibrary = true;
-       isExecutable = true;
-       enableSeparateDataOutput = true;
-       libraryHaskellDepends = [ base containers ];
-       executableHaskellDepends = [ base containers ];
-       homepage = "http://code.haskell.org/~malcolm/hscolour/";
-       description = "Colourise Haskell code";
-       license = "LGPL";
-     }) {};
-
-  "hscolour_1_24_4" = callPackage
-    ({ mkDerivation, base, containers }:
-     mkDerivation {
-       pname = "hscolour";
        version = "1.24.4";
        sha256 = "079jwph4bwllfp03yfr26s5zc6m6kw3nhb1cggrifh99haq34cr4";
        isLibrary = true;
@@ -108470,7 +111392,6 @@ self: {
        homepage = "http://code.haskell.org/~malcolm/hscolour/";
        description = "Colourise Haskell code";
        license = "LGPL";
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "hscope" = callPackage
@@ -108577,8 +111498,8 @@ self: {
      }:
      mkDerivation {
        pname = "hsdev";
-       version = "0.3.1.2";
-       sha256 = "1abwv4987xznfv6sx8sfhk04f4s7dpjvgzwzjzi8rwxibm8az09p";
+       version = "0.3.1.3";
+       sha256 = "1xrggdkaq3b1vsnkrcsm2ji6wcrmxv53lf8x3ki7py9blgjj3vrj";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -108926,6 +111847,7 @@ self: {
        homepage = "http://code.haskell.org/hsignal";
        description = "Signal processing and EEG data analysis";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {inherit (pkgs) blas; inherit (pkgs) gsl; 
          inherit (pkgs) liblapack;};
 
@@ -108967,6 +111889,7 @@ self: {
        ];
        description = "A command line program for extending the import list of a Haskell source file";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "hsini" = callPackage
@@ -109180,6 +112103,8 @@ self: {
        pname = "hslua-aeson";
        version = "0.3.0.1";
        sha256 = "0h4l38bag7kd4d66iprv9hj36q8czqsxr5v6xgmn91wz4cadb42w";
+       revision = "1";
+       editedCabalFile = "02p97fsn7g6n0l5i9k0mrffqhw2a3y74vi0zaynsl224r4vwqsbp";
        libraryHaskellDepends = [
          aeson base hashable hslua scientific text unordered-containers
          vector
@@ -109199,6 +112124,8 @@ self: {
        pname = "hslua-module-text";
        version = "0.1.2.1";
        sha256 = "0bcfpb1dhnxp0gr376ai4w7vczr9zrjl1r3r6w7kcxivfkwq9cxf";
+       revision = "1";
+       editedCabalFile = "0vajlsd7y6pwa08635q0cx8z5c1c55bk7fvavw7g2vmyvxqjzx6n";
        libraryHaskellDepends = [ base hslua text ];
        testHaskellDepends = [ base hslua tasty tasty-hunit text ];
        homepage = "https://github.com/hslua/hslua-module-test";
@@ -109572,8 +112499,8 @@ self: {
      }:
      mkDerivation {
        pname = "hspec";
-       version = "2.4.4";
-       sha256 = "08fg8w38xbhidw3pfn13ag3mnpp3rb1lzp7xpq47cncwv92k46mh";
+       version = "2.4.8";
+       sha256 = "18pddkfz661b1nr1nziq8cnmlzxiqzzmrcrk3iwn476vi3bf1m4l";
        libraryHaskellDepends = [
          base call-stack hspec-core hspec-discover hspec-expectations HUnit
          QuickCheck transformers
@@ -109588,15 +112515,15 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
-  "hspec_2_4_8" = callPackage
+  "hspec_2_5_0" = callPackage
     ({ mkDerivation, base, call-stack, directory, hspec-core
      , hspec-discover, hspec-expectations, hspec-meta, HUnit, QuickCheck
      , stringbuilder, transformers
      }:
      mkDerivation {
        pname = "hspec";
-       version = "2.4.8";
-       sha256 = "18pddkfz661b1nr1nziq8cnmlzxiqzzmrcrk3iwn476vi3bf1m4l";
+       version = "2.5.0";
+       sha256 = "16vp3k8bdqvsdhv12srahda3anf1pia7blczh201snib52is9vdb";
        libraryHaskellDepends = [
          base call-stack hspec-core hspec-discover hspec-expectations HUnit
          QuickCheck transformers
@@ -109658,36 +112585,21 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
-  "hspec-core" = callPackage
-    ({ mkDerivation, ansi-terminal, array, async, base, call-stack
-     , deepseq, directory, filepath, hspec-expectations, hspec-meta
-     , HUnit, process, QuickCheck, quickcheck-io, random, setenv
-     , silently, temporary, tf-random, time, transformers
-     }:
+  "hspec-contrib_0_5_0" = callPackage
+    ({ mkDerivation, base, hspec, hspec-core, HUnit, QuickCheck }:
      mkDerivation {
-       pname = "hspec-core";
-       version = "2.4.4";
-       sha256 = "1pxzr3l8b9640mh904n51nwlr2338wak23781s48a9kzvwf347b0";
-       revision = "1";
-       editedCabalFile = "0m4bmclgs7as957wdnq1y4zh49hrwpslgz5m9430myl4dc14r81l";
-       libraryHaskellDepends = [
-         ansi-terminal array async base call-stack deepseq directory
-         filepath hspec-expectations HUnit QuickCheck quickcheck-io random
-         setenv tf-random time transformers
-       ];
-       testHaskellDepends = [
-         ansi-terminal array async base call-stack deepseq directory
-         filepath hspec-expectations hspec-meta HUnit process QuickCheck
-         quickcheck-io random setenv silently temporary tf-random time
-         transformers
-       ];
-       testTarget = "--test-option=--skip --test-option='Test.Hspec.Core.Runner.hspecResult runs specs in parallel'";
+       pname = "hspec-contrib";
+       version = "0.5.0";
+       sha256 = "13579xdqwbsy8k0vxdcvgy932d4p76mij1rzkzbpqbspfn7399yv";
+       libraryHaskellDepends = [ base hspec-core HUnit ];
+       testHaskellDepends = [ base hspec hspec-core HUnit QuickCheck ];
        homepage = "http://hspec.github.io/";
-       description = "A Testing Framework for Haskell";
+       description = "Contributed functionality for Hspec";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
-  "hspec-core_2_4_8" = callPackage
+  "hspec-core" = callPackage
     ({ mkDerivation, ansi-terminal, array, base, call-stack, deepseq
      , directory, filepath, hspec-expectations, hspec-meta, HUnit
      , process, QuickCheck, quickcheck-io, random, setenv, silently, stm
@@ -109712,6 +112624,33 @@ self: {
        homepage = "http://hspec.github.io/";
        description = "A Testing Framework for Haskell";
        license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "hspec-core_2_5_0" = callPackage
+    ({ mkDerivation, ansi-terminal, array, base, call-stack, clock
+     , deepseq, directory, filepath, hspec-expectations, hspec-meta
+     , HUnit, process, QuickCheck, quickcheck-io, random, setenv
+     , silently, stm, temporary, tf-random, transformers
+     }:
+     mkDerivation {
+       pname = "hspec-core";
+       version = "2.5.0";
+       sha256 = "1p88sxarrpfzic4h37n9crpvmklisv514cm0v6fxmk1f2jvf3rgj";
+       libraryHaskellDepends = [
+         ansi-terminal array base call-stack clock deepseq directory
+         filepath hspec-expectations HUnit QuickCheck quickcheck-io random
+         setenv stm tf-random transformers
+       ];
+       testHaskellDepends = [
+         ansi-terminal array base call-stack clock deepseq directory
+         filepath hspec-expectations hspec-meta HUnit process QuickCheck
+         quickcheck-io random setenv silently stm temporary tf-random
+         transformers
+       ];
+       testTarget = "--test-option=--skip --test-option='Test.Hspec.Core.Runner.hspecResult runs specs in parallel'";
+       homepage = "http://hspec.github.io/";
+       description = "A Testing Framework for Haskell";
+       license = stdenv.lib.licenses.mit;
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
@@ -109721,8 +112660,8 @@ self: {
      }:
      mkDerivation {
        pname = "hspec-dirstream";
-       version = "0.4.0.0";
-       sha256 = "01090ph0njwv5cabj9f82xsiy0lk254sk3iq6l9h7dkh57sm7q9n";
+       version = "1.0.0.0";
+       sha256 = "0xj7qj6j3mp1j3q4pdm0javjc4rw586brcd399ygh74vpa669pgf";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          base dirstream filepath hspec hspec-core pipes pipes-safe
@@ -109735,28 +112674,31 @@ self: {
      }) {};
 
   "hspec-discover" = callPackage
-    ({ mkDerivation, base, directory, filepath, hspec-meta }:
+    ({ mkDerivation, base, directory, filepath, hspec-meta, QuickCheck
+     }:
      mkDerivation {
        pname = "hspec-discover";
-       version = "2.4.4";
-       sha256 = "0isx9nc59nw8pkh4r6ynd55dghqnzgrzn9pvrq6ail1y5z3knhkn";
+       version = "2.4.8";
+       sha256 = "0llwdfpjgfpi7dr8caw0fldb9maqznmqh4awkvx72bz538gqmlka";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base directory filepath ];
        executableHaskellDepends = [ base directory filepath ];
-       testHaskellDepends = [ base directory filepath hspec-meta ];
+       testHaskellDepends = [
+         base directory filepath hspec-meta QuickCheck
+       ];
        homepage = "http://hspec.github.io/";
        description = "Automatically discover and run Hspec tests";
        license = stdenv.lib.licenses.mit;
      }) {};
 
-  "hspec-discover_2_4_8" = callPackage
+  "hspec-discover_2_5_0" = callPackage
     ({ mkDerivation, base, directory, filepath, hspec-meta, QuickCheck
      }:
      mkDerivation {
        pname = "hspec-discover";
-       version = "2.4.8";
-       sha256 = "0llwdfpjgfpi7dr8caw0fldb9maqznmqh4awkvx72bz538gqmlka";
+       version = "2.5.0";
+       sha256 = "1r91g9hqdn815i86hsrv5bagv76rhq4n0avkmhkh670kkryc0iry";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base directory filepath ];
@@ -109882,8 +112824,8 @@ self: {
      }:
      mkDerivation {
        pname = "hspec-golden-aeson";
-       version = "0.4.0.0";
-       sha256 = "03gsw9jamkjwj5vhlhg9xz7214d71py94qx0daym7gjiq4zpw1gk";
+       version = "0.5.1.0";
+       sha256 = "0d3ww44c0al841j6z5w6br1qa91v5nr0lfbzaa4cdydynvi4s6lq";
        libraryHaskellDepends = [
          aeson aeson-pretty base bytestring directory filepath hspec
          QuickCheck quickcheck-arbitrary-adt random transformers
@@ -109897,15 +112839,15 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "hspec-golden-aeson_0_5_1_0" = callPackage
+  "hspec-golden-aeson_0_6_0_0" = callPackage
     ({ mkDerivation, aeson, aeson-pretty, base, bytestring, directory
      , filepath, hspec, hspec-core, QuickCheck, quickcheck-arbitrary-adt
      , random, silently, transformers
      }:
      mkDerivation {
        pname = "hspec-golden-aeson";
-       version = "0.5.1.0";
-       sha256 = "0d3ww44c0al841j6z5w6br1qa91v5nr0lfbzaa4cdydynvi4s6lq";
+       version = "0.6.0.0";
+       sha256 = "0918b4y0lkz66hyhydqkd0yxna37vqqqc0pgjg4vn1h860xj0rv0";
        libraryHaskellDepends = [
          aeson aeson-pretty base bytestring directory filepath hspec
          QuickCheck quickcheck-arbitrary-adt random transformers
@@ -110145,35 +113087,38 @@ self: {
      }) {};
 
   "hspec-smallcheck" = callPackage
-    ({ mkDerivation, base, hspec, hspec-core, QuickCheck, smallcheck }:
+    ({ mkDerivation, base, call-stack, hspec, hspec-core, HUnit
+     , QuickCheck, smallcheck
+     }:
      mkDerivation {
        pname = "hspec-smallcheck";
-       version = "0.4.2";
-       sha256 = "1lsy71ri0lfvs6w1drwa4p69bcy0nrpb62dah3bg4vqwxfrd82ds";
-       revision = "1";
-       editedCabalFile = "19fp4xandn3jn1hzs1bkjbncyv74908wzcqkvk7xf0dfmm0wpmqw";
-       libraryHaskellDepends = [ base hspec-core smallcheck ];
+       version = "0.5.0";
+       sha256 = "0lff095qm855y7dd055c4h5ip8lcx1i6pady2b81fby4wgf78g1m";
+       libraryHaskellDepends = [
+         base call-stack hspec-core HUnit smallcheck
+       ];
        testHaskellDepends = [
-         base hspec hspec-core QuickCheck smallcheck
+         base call-stack hspec hspec-core HUnit QuickCheck smallcheck
        ];
        homepage = "http://hspec.github.io/";
        description = "SmallCheck support for the Hspec testing framework";
        license = stdenv.lib.licenses.mit;
      }) {};
 
-  "hspec-smallcheck_0_5_0" = callPackage
-    ({ mkDerivation, base, call-stack, hspec, hspec-core, HUnit
-     , QuickCheck, smallcheck
+  "hspec-smallcheck_0_5_2" = callPackage
+    ({ mkDerivation, base, base-orphans, call-stack, hspec, hspec-core
+     , HUnit, QuickCheck, smallcheck
      }:
      mkDerivation {
        pname = "hspec-smallcheck";
-       version = "0.5.0";
-       sha256 = "0lff095qm855y7dd055c4h5ip8lcx1i6pady2b81fby4wgf78g1m";
+       version = "0.5.2";
+       sha256 = "06c1ym793zkdwi4bxk5f4l7m1n1bg5jmnm0p68q2pa9rlhk1lc4s";
        libraryHaskellDepends = [
          base call-stack hspec-core HUnit smallcheck
        ];
        testHaskellDepends = [
-         base call-stack hspec hspec-core HUnit QuickCheck smallcheck
+         base base-orphans call-stack hspec hspec-core HUnit QuickCheck
+         smallcheck
        ];
        homepage = "http://hspec.github.io/";
        description = "SmallCheck support for the Hspec testing framework";
@@ -110520,8 +113465,8 @@ self: {
      }:
      mkDerivation {
        pname = "hsqml";
-       version = "0.3.5.0";
-       sha256 = "1im7jm144vvyvrmkvblxwhbya55xsyxl8z10bs4anwxxjlf9sggc";
+       version = "0.3.5.1";
+       sha256 = "046inz0pa5s052w653pk2km9finj44c6y2yx7iqihn4h4vnqbim0";
        setupHaskellDepends = [ base Cabal filepath template-haskell ];
        libraryHaskellDepends = [
          base containers filepath tagged text transformers
@@ -110764,6 +113709,7 @@ self: {
        homepage = "http://jakewheat.github.com/hssqlppp/";
        description = "SQL parser and type checker";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "hssqlppp-th" = callPackage
@@ -110783,6 +113729,7 @@ self: {
        homepage = "http://jakewheat.github.com/hssqlppp/";
        description = "hssqlppp extras which need template-haskell";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "hstatistics" = callPackage
@@ -111115,8 +114062,8 @@ self: {
      }:
      mkDerivation {
        pname = "hsx2hs";
-       version = "0.14.1.2";
-       sha256 = "06j2nc2yg8a8pp3c2ayxrm76fj2w2w5d2ilq91hvwwb1ikrklg5b";
+       version = "0.14.1.3";
+       sha256 = "15y7mk01cffc1xgsddkqqmi76npbi7mikgia6xa3xk4916kwsl91";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -111181,8 +114128,8 @@ self: {
      }:
      mkDerivation {
        pname = "hsyslog-udp";
-       version = "0.2.0";
-       sha256 = "0z4jpgdp5brfpzw5xawwxx7i239xjxgr1rjvrv2fyd6d6ixg3gwl";
+       version = "0.2.2";
+       sha256 = "1fr8cn3jwasnp9q23q5pmz3z6zh7z04jhcv77igacwpgw0729hd4";
        libraryHaskellDepends = [
          base bytestring hsyslog network text time unix
        ];
@@ -111213,6 +114160,8 @@ self: {
        pname = "htaglib";
        version = "1.1.1";
        sha256 = "0a4rzw1343zixkmdy84bg7j35qxbnpx7pjr23857cil906wi33r3";
+       revision = "1";
+       editedCabalFile = "0znih19z9ly4m1nadwkalq28xz0vy6pc0yyamyz2fz5s5nv69lr0";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [ base bytestring text transformers ];
        librarySystemDepends = [ taglib ];
@@ -111222,6 +114171,25 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {inherit (pkgs) taglib;};
 
+  "htaglib_1_2_0" = callPackage
+    ({ mkDerivation, base, bytestring, directory, filepath, hspec
+     , hspec-discover, taglib, text, transformers
+     }:
+     mkDerivation {
+       pname = "htaglib";
+       version = "1.2.0";
+       sha256 = "0ph04j1ysjzzrcyllgibzrzfv5g5mgpa6s0ksxww15aryipw65sa";
+       enableSeparateDataOutput = true;
+       libraryHaskellDepends = [ base bytestring text transformers ];
+       librarySystemDepends = [ taglib ];
+       testHaskellDepends = [ base directory filepath hspec ];
+       testToolDepends = [ hspec-discover ];
+       homepage = "https://github.com/mrkkrp/htaglib";
+       description = "Bindings to TagLib, audio meta-data library";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {inherit (pkgs) taglib;};
+
   "htags" = callPackage
     ({ mkDerivation, base, directory, filepath, haskell-src, mtl }:
      mkDerivation {
@@ -111353,7 +114321,7 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "html-conduit" = callPackage
+  "html-conduit_1_2_1_2" = callPackage
     ({ mkDerivation, base, bytestring, conduit, conduit-extra
      , containers, hspec, HUnit, resourcet, tagstream-conduit, text
      , transformers, xml-conduit, xml-types
@@ -111372,9 +114340,10 @@ self: {
        homepage = "https://github.com/snoyberg/xml";
        description = "Parse HTML documents using xml-conduit datatypes";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
-  "html-conduit_1_3_0" = callPackage
+  "html-conduit" = callPackage
     ({ mkDerivation, base, bytestring, conduit, containers, hspec
      , HUnit, resourcet, tagstream-conduit, text, transformers
      , xml-conduit, xml-types
@@ -111393,7 +114362,6 @@ self: {
        homepage = "https://github.com/snoyberg/xml";
        description = "Parse HTML documents using xml-conduit datatypes";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "html-email-validate" = callPackage
@@ -111436,8 +114404,8 @@ self: {
        pname = "html-entity-map";
        version = "0.1.0.0";
        sha256 = "0k1l1pbmrfmh44v9cc9ka01bx9xm1x4jabbl675fc5c57v1h0dlq";
-       revision = "1";
-       editedCabalFile = "1y2w3jmdxwa8lfj1gr4ln98v1474bw1cjsdfpmbaphcjj9bjg0sg";
+       revision = "2";
+       editedCabalFile = "1ycg39ys6zzfi6j88l03gdyyzwjpfzzlzy7dbs6i8p1l70ywizfr";
        libraryHaskellDepends = [ base text unordered-containers ];
        benchmarkHaskellDepends = [
          base criterion text unordered-containers
@@ -111636,16 +114604,16 @@ self: {
   "htoml-megaparsec" = callPackage
     ({ mkDerivation, aeson, base, bytestring, composition-prelude
      , containers, criterion, deepseq, file-embed, hspec, megaparsec
-     , mtl, old-locale, tasty, tasty-hspec, tasty-hunit, text, time
+     , mtl, tasty, tasty-hspec, tasty-hunit, text, time
      , unordered-containers, vector
      }:
      mkDerivation {
        pname = "htoml-megaparsec";
-       version = "1.1.0.1";
-       sha256 = "10bgm0dqi2hni9sxjri2i7imfwqfi750pwwrpbghdvyfxrivfcpy";
+       version = "1.1.0.4";
+       sha256 = "03ffmff09k6aqpd9rv41bfi566pr6hk4vdjm0my2wfypbn2mrgb0";
        libraryHaskellDepends = [
-         base composition-prelude containers deepseq megaparsec mtl
-         old-locale text time unordered-containers vector
+         base composition-prelude containers deepseq megaparsec mtl text
+         time unordered-containers vector
        ];
        testHaskellDepends = [
          aeson base bytestring containers file-embed hspec megaparsec tasty
@@ -111787,6 +114755,34 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "http-api-data_0_3_8_1" = callPackage
+    ({ mkDerivation, attoparsec, attoparsec-iso8601, base, bytestring
+     , Cabal, cabal-doctest, containers, directory, doctest, filepath
+     , hashable, hspec, hspec-discover, http-types, HUnit, QuickCheck
+     , quickcheck-instances, text, time, time-locale-compat
+     , unordered-containers, uri-bytestring, uuid-types
+     }:
+     mkDerivation {
+       pname = "http-api-data";
+       version = "0.3.8.1";
+       sha256 = "1cq6459b8wz6nvkvpi89dg189n5q2xdq4rdq435hf150555vmskf";
+       setupHaskellDepends = [ base Cabal cabal-doctest ];
+       libraryHaskellDepends = [
+         attoparsec attoparsec-iso8601 base bytestring containers hashable
+         http-types text time time-locale-compat unordered-containers
+         uri-bytestring uuid-types
+       ];
+       testHaskellDepends = [
+         base bytestring directory doctest filepath hspec HUnit QuickCheck
+         quickcheck-instances text time unordered-containers uuid-types
+       ];
+       testToolDepends = [ hspec-discover ];
+       homepage = "http://github.com/fizruk/http-api-data";
+       description = "Converting to/from HTTP API data like URL pieces, headers and query parameters";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "http-attoparsec" = callPackage
     ({ mkDerivation, attoparsec, base, bytestring, http-types }:
      mkDerivation {
@@ -111801,27 +114797,26 @@ self: {
      }) {};
 
   "http-client" = callPackage
-    ({ mkDerivation, array, async, base, base64-bytestring
-     , blaze-builder, bytestring, case-insensitive, containers, cookie
-     , deepseq, directory, exceptions, filepath, ghc-prim, hspec
-     , http-types, mime-types, monad-control, network, network-uri
-     , random, stm, streaming-commons, text, time, transformers, zlib
+    ({ 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.10";
-       sha256 = "1hmshs97smigqy334rfkgv3vri5fas3cj8zz2gqlby9jsrp6kygm";
+       version = "0.5.12.1";
+       sha256 = "0gnnkcy2d2v1k44ip59s7l86jgigllsp3lsqsac08zr19lr1clab";
        libraryHaskellDepends = [
-         array base base64-bytestring blaze-builder bytestring
-         case-insensitive containers cookie deepseq exceptions filepath
-         ghc-prim http-types mime-types network network-uri random stm
-         streaming-commons text time transformers
+         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 base64-bytestring blaze-builder bytestring
-         case-insensitive containers deepseq directory hspec http-types
-         monad-control network network-uri streaming-commons text time
-         transformers zlib
+         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;
        homepage = "https://github.com/snoyberg/http-client";
@@ -111960,6 +114955,7 @@ self: {
        homepage = "https://github.com/sannsyn/http-client-session";
        description = "A simple abstraction over the \"http-client\" connection manager";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "http-client-streams" = callPackage
@@ -112022,7 +115018,7 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "http-conduit" = callPackage
+  "http-conduit_2_2_4" = callPackage
     ({ mkDerivation, aeson, base, blaze-builder, bytestring
      , case-insensitive, conduit, conduit-extra, connection, cookie
      , data-default-class, exceptions, hspec, http-client
@@ -112050,9 +115046,10 @@ self: {
        homepage = "http://www.yesodweb.com/book/http-conduit";
        description = "HTTP client package with conduit interface and HTTPS support";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
-  "http-conduit_2_3_0" = callPackage
+  "http-conduit" = callPackage
     ({ mkDerivation, aeson, base, blaze-builder, bytestring
      , case-insensitive, conduit, conduit-extra, connection, cookie
      , data-default-class, hspec, http-client, http-client-tls
@@ -112062,8 +115059,8 @@ self: {
      }:
      mkDerivation {
        pname = "http-conduit";
-       version = "2.3.0";
-       sha256 = "0z9158a27g6kg7vbhkiw6icb2wgzb3lhsifgg5yh6wph5cd40fx4";
+       version = "2.3.1";
+       sha256 = "0nbq3xklz5nfc4k50qj413q2acwcbs0g5am4pncbjhiamgqc6lc2";
        libraryHaskellDepends = [
          aeson base bytestring conduit conduit-extra http-client
          http-client-tls http-types mtl resourcet transformers unliftio-core
@@ -112079,7 +115076,6 @@ self: {
        homepage = "http://www.yesodweb.com/book/http-conduit";
        description = "HTTP client package with conduit interface and HTTPS support";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "http-conduit-browser" = callPackage
@@ -112127,6 +115123,7 @@ self: {
        homepage = "https://github.com/bazqux/http-conduit-downloader";
        description = "HTTP downloader tailored for web-crawler needs";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "http-date" = callPackage
@@ -112135,9 +115132,9 @@ self: {
      }:
      mkDerivation {
        pname = "http-date";
-       version = "0.0.6.1";
-       sha256 = "0dknh28kyarnzqrsc80ssalxjrq0qbv7ir49247p2grb7rh0dqgj";
-       libraryHaskellDepends = [ array attoparsec base bytestring ];
+       version = "0.0.7";
+       sha256 = "1hpzs646qqzp2g2qy7rx1bf3knf1hw38n82vcq6bs4mm1xzdryff";
+       libraryHaskellDepends = [ array attoparsec base bytestring time ];
        testHaskellDepends = [
          base bytestring doctest hspec old-locale time
        ];
@@ -112315,6 +115312,8 @@ self: {
        pname = "http-media";
        version = "0.7.1.2";
        sha256 = "01vvrd6yb2aykha7y1c13ylnkyws2wy68vqbdb7kmbzwbdxdb4zy";
+       revision = "1";
+       editedCabalFile = "0lxlig3mhw52ixqq65c9fzawviia2fl00d7hn1diny964h8klwgc";
        libraryHaskellDepends = [
          base bytestring case-insensitive containers utf8-string
        ];
@@ -112428,18 +115427,18 @@ self: {
     ({ mkDerivation, async, base, blaze-builder, bytestring
      , bytestring-lexing, case-insensitive, conduit, conduit-extra
      , connection, hspec, http-client, http-conduit, http-types, mtl
-     , network, QuickCheck, random, resourcet, text, tls, transformers
-     , vault, wai, wai-conduit, warp, warp-tls
+     , network, QuickCheck, random, resourcet, streaming-commons, text
+     , tls, transformers, vault, wai, wai-conduit, warp, warp-tls
      }:
      mkDerivation {
        pname = "http-proxy";
-       version = "0.1.0.5";
-       sha256 = "1n4l31vaq0ch4w7krycvbdycn7v6q0cnr9qm3ll4v3g0kbqy81j4";
+       version = "0.1.0.6";
+       sha256 = "0ixj9bcz8pw6rgdlzbp7p12v43vrkajbmr5b8fnsmzwcz6s3i3zg";
        libraryHaskellDepends = [
          async base blaze-builder bytestring bytestring-lexing
          case-insensitive conduit conduit-extra http-client http-conduit
-         http-types mtl network resourcet text tls transformers wai
-         wai-conduit warp warp-tls
+         http-types mtl network resourcet streaming-commons text tls
+         transformers wai wai-conduit warp warp-tls
        ];
        testHaskellDepends = [
          async base blaze-builder bytestring bytestring-lexing
@@ -112500,8 +115499,8 @@ self: {
      }:
      mkDerivation {
        pname = "http-reverse-proxy";
-       version = "0.4.5";
-       sha256 = "0v1f1z3gmc51sbxmxhnp4sspzj6mdm0ihl5x30218p1ynz9ssxjn";
+       version = "0.5.0.1";
+       sha256 = "1fl4gsp5743a7kzd12d7r3mwyvdq3fb7ngxlkywzphjlx61asl2y";
        libraryHaskellDepends = [
          async base blaze-builder bytestring case-insensitive conduit
          conduit-extra containers data-default-class http-client http-types
@@ -112516,29 +115515,28 @@ self: {
        homepage = "https://github.com/fpco/http-reverse-proxy";
        description = "Reverse proxy HTTP requests, either over raw sockets or with WAI";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
-  "http-reverse-proxy_0_5_0" = callPackage
-    ({ mkDerivation, async, base, blaze-builder, bytestring
-     , case-insensitive, conduit, conduit-extra, containers
-     , data-default-class, hspec, http-client, http-conduit, http-types
-     , lifted-base, monad-control, network, resourcet, streaming-commons
-     , text, transformers, wai, wai-logger, warp, word8
+  "http-reverse-proxy_0_6_0" = callPackage
+    ({ mkDerivation, base, blaze-builder, bytestring, case-insensitive
+     , conduit, conduit-extra, containers, hspec, http-client
+     , http-conduit, http-types, network, resourcet, streaming-commons
+     , text, transformers, unliftio, wai, wai-logger, warp, word8
      }:
      mkDerivation {
        pname = "http-reverse-proxy";
-       version = "0.5.0";
-       sha256 = "10j58i0xkbf84ypk5q8pxz2a85kk24s4xqhkprr6j12d4hx1zl6i";
+       version = "0.6.0";
+       sha256 = "1a6i5njf85b2lhg8m83njagcf09wih5q2irnyb2890s724qr277v";
        libraryHaskellDepends = [
-         async base blaze-builder bytestring case-insensitive conduit
-         conduit-extra containers data-default-class http-client http-types
-         lifted-base monad-control network resourcet streaming-commons text
-         transformers wai wai-logger word8
+         base blaze-builder bytestring case-insensitive conduit
+         conduit-extra containers http-client http-types network resourcet
+         streaming-commons text transformers unliftio wai wai-logger word8
        ];
        testHaskellDepends = [
          base blaze-builder bytestring conduit conduit-extra hspec
-         http-conduit http-types lifted-base network resourcet
-         streaming-commons transformers wai warp
+         http-conduit http-types network resourcet streaming-commons
+         transformers unliftio wai warp
        ];
        homepage = "https://github.com/fpco/http-reverse-proxy";
        description = "Reverse proxy HTTP requests, either over raw sockets or with WAI";
@@ -112587,10 +115585,8 @@ self: {
      }:
      mkDerivation {
        pname = "http-streams";
-       version = "0.8.5.5";
-       sha256 = "1g2ygxyfq2x923df5q83wkrwhy2631r33zvffgj3fn0zwr024hhf";
-       revision = "1";
-       editedCabalFile = "0mgj62khq2abq53y03qww66k74pxhnid8yiqrlhggj9cjv7m2my5";
+       version = "0.8.6.1";
+       sha256 = "18vxd35n7s3z4gjvad94bknc8z1w9d7ccgphnhsxlz5cackizmxq";
        setupHaskellDepends = [ base Cabal ];
        libraryHaskellDepends = [
          aeson attoparsec base base64-bytestring blaze-builder bytestring
@@ -112606,7 +115602,7 @@ self: {
          system-fileio system-filepath text transformers
          unordered-containers
        ];
-       homepage = "http://github.com/afcowie/http-streams/";
+       homepage = "https://github.com/afcowie/http-streams/";
        description = "An HTTP client using io-streams";
        license = stdenv.lib.licenses.bsd3;
      }) {};
@@ -112652,27 +115648,6 @@ self: {
      }) {};
 
   "http-types" = callPackage
-    ({ mkDerivation, array, base, blaze-builder, bytestring
-     , case-insensitive, doctest, hspec, QuickCheck
-     , quickcheck-instances, text
-     }:
-     mkDerivation {
-       pname = "http-types";
-       version = "0.9.1";
-       sha256 = "0l7mnvqyppxpnq6ds4a9f395zdbl22z3sxiry1myfs8wvj669vbv";
-       libraryHaskellDepends = [
-         array base blaze-builder bytestring case-insensitive text
-       ];
-       testHaskellDepends = [
-         base blaze-builder bytestring doctest hspec QuickCheck
-         quickcheck-instances text
-       ];
-       homepage = "https://github.com/aristidb/http-types";
-       description = "Generic HTTP types for Haskell (for both client and server code)";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "http-types_0_12_1" = callPackage
     ({ mkDerivation, array, base, bytestring, case-insensitive, doctest
      , hspec, QuickCheck, quickcheck-instances, text
      }:
@@ -112689,7 +115664,6 @@ self: {
        homepage = "https://github.com/aristidb/http-types";
        description = "Generic HTTP types for Haskell (for both client and server code)";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "http-wget" = callPackage
@@ -112743,8 +115717,8 @@ self: {
      }:
      mkDerivation {
        pname = "http2-client";
-       version = "0.7.0.0";
-       sha256 = "1grcb4mbqx8dkdwal3pldfyasnlghdkzcrksl0hvj7xg8bqjs2n5";
+       version = "0.8.0.0";
+       sha256 = "1c9nn6b9fs30prrkalx7n7i4a4a5ss53ky4x2nba4vcq4rgipch3";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -113042,7 +116016,6 @@ self: {
        homepage = "https://github.com/chris-martin/human";
        description = "A lawless typeclass for parsing text entered by humans";
        license = stdenv.lib.licenses.asl20;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "human-readable-duration" = callPackage
@@ -113069,7 +116042,6 @@ self: {
        homepage = "https://github.com/chris-martin/human";
        description = "A lawless typeclass for converting values to human-friendly text";
        license = stdenv.lib.licenses.asl20;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "hums" = callPackage
@@ -113125,20 +116097,20 @@ self: {
     ({ mkDerivation, base, dejafu, exceptions, HUnit }:
      mkDerivation {
        pname = "hunit-dejafu";
-       version = "0.7.1.1";
-       sha256 = "1b9c4v82fzrl88bg13q36smicndi0l7bp73mxniavbnsmccb22yy";
+       version = "1.1.0.3";
+       sha256 = "18zpvc77p0djay8d8lz3d6y7ppmdjk2cihakhlin7bqpzmyydkbl";
        libraryHaskellDepends = [ base dejafu exceptions HUnit ];
        homepage = "https://github.com/barrucadu/dejafu";
        description = "Deja Fu support for the HUnit test framework";
        license = stdenv.lib.licenses.mit;
      }) {};
 
-  "hunit-dejafu_1_0_1_2" = callPackage
+  "hunit-dejafu_1_2_0_0" = callPackage
     ({ mkDerivation, base, dejafu, exceptions, HUnit }:
      mkDerivation {
        pname = "hunit-dejafu";
-       version = "1.0.1.2";
-       sha256 = "1lnw8rr0lf43rzsv3c5knm96kpnsxmpijqh7njhrgbx9wzy81mg7";
+       version = "1.2.0.0";
+       sha256 = "0djn982mlz4m58hxsghxxj34vsw78i57scxx9a1i3zk7qznmingv";
        libraryHaskellDepends = [ base dejafu exceptions HUnit ];
        homepage = "https://github.com/barrucadu/dejafu";
        description = "Deja Fu support for the HUnit test framework";
@@ -113321,7 +116293,6 @@ self: {
        homepage = "https://github.com/phlummox/hup";
        description = "Upload packages or documentation to a hackage server";
        license = stdenv.lib.licenses.bsd2;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "hurdle" = callPackage
@@ -113482,6 +116453,18 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "hvega" = callPackage
+    ({ mkDerivation, aeson, base, text, vector }:
+     mkDerivation {
+       pname = "hvega";
+       version = "0.1.0.0";
+       sha256 = "14czd3qhji2aq4x23v0a1fhschnq1azd8spiar9pw5z12z4n9j1l";
+       libraryHaskellDepends = [ aeson base text vector ];
+       homepage = "https://github.com/DougBurke/hvega";
+       description = "Create Vega and Vega-Lite visualizations";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "hw-balancedparens" = callPackage
     ({ mkDerivation, base, criterion, hspec, hw-bits, hw-excess
      , hw-prim, hw-rankselect-base, QuickCheck, storable-tuple, vector
@@ -113596,37 +116579,39 @@ self: {
      }) {};
 
   "hw-fingertree" = callPackage
-    ({ mkDerivation, base, deepseq, HUnit, QuickCheck, test-framework
+    ({ mkDerivation, base, deepseq, hedgehog, hspec, HUnit
+     , hw-hspec-hedgehog, QuickCheck, test-framework
      , test-framework-hunit, test-framework-quickcheck2
      }:
      mkDerivation {
        pname = "hw-fingertree";
-       version = "0.1.0.0";
-       sha256 = "0hh1f9m92s53254a2bk3h4i77girf8nni8rmyrd0ljramn4hiz55";
+       version = "0.1.0.1";
+       sha256 = "1nlla161156w21g3kdcv42bm5rfz9aslh5lw7rmlw8pdrgg6g3f3";
        libraryHaskellDepends = [ base deepseq ];
        testHaskellDepends = [
-         base deepseq HUnit QuickCheck test-framework test-framework-hunit
-         test-framework-quickcheck2
+         base deepseq hedgehog hspec HUnit hw-hspec-hedgehog QuickCheck
+         test-framework test-framework-hunit test-framework-quickcheck2
        ];
+       homepage = "https://github.com/haskell-works/hw-fingertree#readme";
        description = "Generic finger-tree structure, with example instances";
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
   "hw-fingertree-strict" = callPackage
-    ({ mkDerivation, base, hedgehog, hspec, HUnit, hw-hspec-hedgehog
-     , QuickCheck, test-framework, test-framework-hunit
-     , test-framework-quickcheck2
+    ({ mkDerivation, base, deepseq, hedgehog, hspec, HUnit
+     , hw-hspec-hedgehog, QuickCheck, test-framework
+     , test-framework-hunit, test-framework-quickcheck2
      }:
      mkDerivation {
        pname = "hw-fingertree-strict";
-       version = "0.1.0.0";
-       sha256 = "02bgqcjjhxpzd5nql50abbbjlg5pan2wy1dhdwc2br87n3jhx90x";
-       libraryHaskellDepends = [ base ];
+       version = "0.1.0.3";
+       sha256 = "03njx1g23f8s8a9dcyanpfm8pzgcbyds4zwkmp7g8mshk1rljfcm";
+       libraryHaskellDepends = [ base deepseq ];
        testHaskellDepends = [
          base hedgehog hspec HUnit hw-hspec-hedgehog QuickCheck
          test-framework test-framework-hunit test-framework-quickcheck2
        ];
-       homepage = "https://github.com/githubuser/hw-fingertree-strict#readme";
+       homepage = "https://github.com/haskell-works/hw-fingertree-strict#readme";
        description = "Generic strict finger-tree structure";
        license = stdenv.lib.licenses.bsd3;
      }) {};
@@ -113648,11 +116633,11 @@ self: {
     ({ mkDerivation, base, call-stack, hedgehog, hspec, HUnit }:
      mkDerivation {
        pname = "hw-hspec-hedgehog";
-       version = "0.1.0.2";
-       sha256 = "1rafrpys347qc60van79y55n13pjdhdx64j495g4hhvyzf32az67";
+       version = "0.1.0.4";
+       sha256 = "1vlrrskalip7a477px7imwy9yifvdx7c03zrgk90rlarivwkggaq";
        libraryHaskellDepends = [ base call-stack hedgehog hspec HUnit ];
        testHaskellDepends = [ base hedgehog hspec ];
-       homepage = "https://github.com/githubuser/hw-hspec-hedgehog#readme";
+       homepage = "https://github.com/haskell-works/hw-hspec-hedgehog#readme";
        description = "Interoperability between hspec and hedgehog";
        license = stdenv.lib.licenses.bsd3;
      }) {};
@@ -113669,6 +116654,19 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "hw-ip" = callPackage
+    ({ mkDerivation, base, hedgehog, hspec, hw-hspec-hedgehog }:
+     mkDerivation {
+       pname = "hw-ip";
+       version = "0.1.0.0";
+       sha256 = "1gw0g6xd6q2rbnpb8j2yi8ddq39r2l8rplx8nfwk9mqzpgxx0r1n";
+       libraryHaskellDepends = [ base ];
+       testHaskellDepends = [ base hedgehog hspec hw-hspec-hedgehog ];
+       homepage = "https://github.com/haskell-works/hw-ip#readme";
+       description = "Library for manipulating IP addresses and CIDR blocks";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "hw-json" = callPackage
     ({ mkDerivation, ansi-wl-pprint, array, attoparsec, base
      , bytestring, conduit, containers, criterion, dlist, hspec
@@ -113709,6 +116707,7 @@ self: {
        homepage = "http://github.com/haskell-works/hw-json#readme";
        description = "Memory efficient JSON parser";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "hw-json-lens" = callPackage
@@ -113743,24 +116742,25 @@ self: {
        homepage = "http://github.com/haskell-works/hw-json-lens#readme";
        description = "Lens for hw-json";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "hw-kafka-avro" = callPackage
     ({ mkDerivation, aeson, avro, base, binary, bytestring, cache
      , containers, errors, hashable, hspec, http-client, http-types, mtl
-     , pure-zlib, QuickCheck, semigroups, servant, servant-client, text
-     , transformers, unordered-containers
+     , pure-zlib, QuickCheck, semigroups, servant, servant-client
+     , tagged, text, transformers, unordered-containers
      }:
      mkDerivation {
        pname = "hw-kafka-avro";
-       version = "1.3.0";
-       sha256 = "0lryr18gcmgfxa10gmd5y43l62x684ahpzk53wx5z5qww0chy7fa";
+       version = "1.4.0";
+       sha256 = "19lk0vyrl6hcd8f053yh7m1hym2hqs9srhjq9isq19s8nqgpijc4";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          aeson avro base binary bytestring cache containers errors hashable
          http-client http-types mtl pure-zlib semigroups servant
-         servant-client text transformers unordered-containers
+         servant-client tagged text transformers unordered-containers
        ];
        testHaskellDepends = [
          aeson avro base binary bytestring cache containers errors hashable
@@ -113775,17 +116775,16 @@ self: {
 
   "hw-kafka-client" = callPackage
     ({ mkDerivation, base, bifunctors, bytestring, c2hs, containers
-     , either, hspec, monad-loops, rdkafka, temporary, transformers
-     , unix
+     , either, hspec, monad-loops, rdkafka, transformers, unix
      }:
      mkDerivation {
        pname = "hw-kafka-client";
-       version = "2.3.3";
-       sha256 = "14g0mqwj6fr8sdq62sljzih0a9km1hxqm1zqmr9jv58znmj9f2x1";
+       version = "2.5.0";
+       sha256 = "0cr3s26ivb46d14mglnr9phhnsj85h8n3b8p6lmcjk1xs4jidick";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         base bifunctors bytestring containers temporary transformers unix
+         base bifunctors bytestring containers transformers unix
        ];
        librarySystemDepends = [ rdkafka ];
        libraryToolDepends = [ c2hs ];
@@ -113795,7 +116794,6 @@ self: {
        homepage = "https://github.com/haskell-works/hw-kafka-client";
        description = "Kafka bindings for Haskell";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {inherit (pkgs) rdkafka;};
 
   "hw-kafka-conduit" = callPackage
@@ -113805,8 +116803,8 @@ self: {
      }:
      mkDerivation {
        pname = "hw-kafka-conduit";
-       version = "2.0.0";
-       sha256 = "0j1qwn9an397vl3y3mlrzhjw3c8jbmw1c0wpsywk0v0p7rfjg5nn";
+       version = "2.5.0";
+       sha256 = "0n495336vhikd0r5j6i8ydrxv3xwwckbg2ympaf3flcsjv4bwc08";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -113820,7 +116818,6 @@ self: {
        homepage = "https://github.com/haskell-works/hw-kafka-conduit";
        description = "Conduit bindings for hw-kafka-client";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "hw-mquery" = callPackage
@@ -113875,13 +116872,21 @@ self: {
      }) {};
 
   "hw-prim" = callPackage
-    ({ mkDerivation, base, bytestring, hspec, QuickCheck, vector }:
+    ({ mkDerivation, base, bytestring, criterion, directory, exceptions
+     , hedgehog, hspec, hw-hspec-hedgehog, mmap, QuickCheck, vector
+     }:
      mkDerivation {
        pname = "hw-prim";
-       version = "0.5.0.0";
-       sha256 = "00sivy11g7haafpqy12sxgslffw841bx0i25phaz5vcfwp5xrp9j";
-       libraryHaskellDepends = [ base bytestring vector ];
-       testHaskellDepends = [ base bytestring hspec QuickCheck vector ];
+       version = "0.5.0.3";
+       sha256 = "1cnh8qm4kz4fxh34wn9039dxbb54mwhkls21m5s73q773q9fx4rz";
+       libraryHaskellDepends = [ base bytestring mmap vector ];
+       testHaskellDepends = [
+         base bytestring directory exceptions hedgehog hspec
+         hw-hspec-hedgehog mmap QuickCheck vector
+       ];
+       benchmarkHaskellDepends = [
+         base bytestring criterion mmap vector
+       ];
        homepage = "http://github.com/haskell-works/hw-prim#readme";
        description = "Primitive functions and data types";
        license = stdenv.lib.licenses.bsd3;
@@ -113906,6 +116911,7 @@ self: {
        homepage = "https://github.com/githubuser/hw-prim-bits#readme";
        description = "Primitive support for bit manipulation";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "hw-rankselect" = callPackage
@@ -113940,6 +116946,40 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "hw-rankselect_0_12_0_1" = callPackage
+    ({ mkDerivation, base, bytestring, conduit, criterion, deepseq
+     , directory, hedgehog, hspec, hw-balancedparens, hw-bits
+     , hw-hedgehog, hw-hspec-hedgehog, hw-prim, hw-rankselect-base, lens
+     , mmap, mtl, optparse-applicative, QuickCheck, resourcet, vector
+     }:
+     mkDerivation {
+       pname = "hw-rankselect";
+       version = "0.12.0.1";
+       sha256 = "0jg27cpdw341gr1mjnqm5rq66q84q1rzwa5bp8czzws71m5kpfpy";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base deepseq hw-balancedparens hw-bits hw-prim hw-rankselect-base
+         vector
+       ];
+       executableHaskellDepends = [
+         base directory hw-bits hw-prim hw-rankselect-base lens mmap mtl
+         optparse-applicative vector
+       ];
+       testHaskellDepends = [
+         base directory hedgehog hspec hw-bits hw-hedgehog hw-hspec-hedgehog
+         hw-prim hw-rankselect-base mmap QuickCheck vector
+       ];
+       benchmarkHaskellDepends = [
+         base bytestring conduit criterion directory hw-bits hw-prim
+         hw-rankselect-base mmap resourcet vector
+       ];
+       homepage = "http://github.com/haskell-works/hw-rankselect#readme";
+       description = "Rank-select";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "hw-rankselect-base" = callPackage
     ({ mkDerivation, base, criterion, hspec, hw-bits, hw-int, hw-prim
      , hw-string-parse, QuickCheck, safe, vector
@@ -113962,6 +117002,31 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "hw-rankselect-base_0_3_0_0" = callPackage
+    ({ mkDerivation, base, bits-extra, criterion, hedgehog, hspec
+     , hw-bits, hw-hedgehog, hw-hspec-hedgehog, hw-int, hw-prim
+     , hw-string-parse, QuickCheck, safe, vector
+     }:
+     mkDerivation {
+       pname = "hw-rankselect-base";
+       version = "0.3.0.0";
+       sha256 = "19gclmljps2nplfqch26grzagvsraafr4540s6x19x2m58aa3m7g";
+       libraryHaskellDepends = [
+         base bits-extra hw-bits hw-int hw-prim hw-string-parse safe vector
+       ];
+       testHaskellDepends = [
+         base bits-extra hedgehog hspec hw-bits hw-hedgehog
+         hw-hspec-hedgehog hw-prim QuickCheck vector
+       ];
+       benchmarkHaskellDepends = [
+         base bits-extra criterion hw-bits hw-prim vector
+       ];
+       homepage = "http://github.com/haskell-works/hw-rankselect-base#readme";
+       description = "Rank-select base";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "hw-string-parse" = callPackage
     ({ mkDerivation, base, bytestring, hspec, QuickCheck, vector }:
      mkDerivation {
@@ -114011,23 +117076,23 @@ self: {
 
   "hw-xml" = callPackage
     ({ mkDerivation, ansi-wl-pprint, array, attoparsec, base
-     , bytestring, cereal, conduit, containers, criterion, ghc-prim
-     , hspec, hw-balancedparens, hw-bits, hw-conduit, hw-parser, hw-prim
-     , hw-rankselect, hw-rankselect-base, lens, mmap, mtl, QuickCheck
-     , resourcet, transformers, vector, word8
+     , bytestring, cereal, conduit, containers, criterion, deepseq
+     , ghc-prim, hspec, hw-balancedparens, hw-bits, hw-conduit
+     , hw-parser, hw-prim, hw-rankselect, hw-rankselect-base, lens, mmap
+     , mtl, QuickCheck, resourcet, transformers, vector, word8
      }:
      mkDerivation {
        pname = "hw-xml";
-       version = "0.1.0.1";
-       sha256 = "0fhf0l6zpmrj76gkhbym8ds9dg270y22hdpqxrg11gxyrdymdnbd";
+       version = "0.1.0.3";
+       sha256 = "15vycayfmykds6dka0kw106fjk2wg3qgifk698fwkj1i4chsia97";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          ansi-wl-pprint array attoparsec base bytestring cereal conduit
-         containers ghc-prim hw-balancedparens hw-bits hw-conduit hw-parser
-         hw-prim hw-rankselect hw-rankselect-base lens mtl resourcet
-         transformers vector word8
+         containers deepseq ghc-prim hw-balancedparens hw-bits hw-conduit
+         hw-parser hw-prim hw-rankselect hw-rankselect-base lens mtl
+         resourcet transformers vector word8
        ];
        executableHaskellDepends = [
          base bytestring hw-balancedparens hw-bits hw-prim hw-rankselect
@@ -114045,6 +117110,7 @@ self: {
        homepage = "http://github.com/haskell-works/hw-xml#readme";
        description = "Conduits for tokenizing streams";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "hwall-auth-iitk" = callPackage
@@ -114434,8 +117500,8 @@ self: {
        pname = "hxt-pickle-utils";
        version = "0.1.0.3";
        sha256 = "1id9459yphsbxqa0z89dhsmqqcgvk2axv91d05aw3n6r4ygs3nwx";
-       revision = "2";
-       editedCabalFile = "109jh2iibhnllkwpqpiyfwdqjn3v06ap58fhyzikjdqzz0rzwgh5";
+       revision = "3";
+       editedCabalFile = "0d5fg718y7xzw76ip33q0w1liqk70q9074qkd198mjnijxjcrkf3";
        libraryHaskellDepends = [ base hxt mtl ];
        homepage = "https://github.com/silkapp/hxt-pickle-utils";
        description = "Utility functions for using HXT picklers";
@@ -114983,6 +118049,7 @@ self: {
        ];
        description = "Display instances for the HyperHaskell graphical Haskell interpreter";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "hyper-haskell-server" = callPackage
@@ -115149,8 +118216,8 @@ self: {
        pname = "hyphenation";
        version = "0.7.1";
        sha256 = "1h5i07v2zlka29dj4zysc47p747j88x6z4zm3zwcr5i8yirm0p52";
-       revision = "1";
-       editedCabalFile = "04kn5pdb1f6yz959qjv3bcbqi3zs88fn6rwxv45m95lx6pzywhln";
+       revision = "2";
+       editedCabalFile = "1pbsq3y0f0j6cl17narqrwxwwpxsvwgazfbqa5k08m2n0s885pfk";
        enableSeparateDataOutput = true;
        setupHaskellDepends = [ base Cabal cabal-doctest ];
        libraryHaskellDepends = [
@@ -115426,14 +118493,15 @@ self: {
        homepage = "http://github.com/chrisdone/ical#readme";
        description = "iCalendar format parser and org-mode converter";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "icon-fonts" = callPackage
     ({ mkDerivation, base }:
      mkDerivation {
        pname = "icon-fonts";
-       version = "0.2.1.0";
-       sha256 = "0i0gxrvmvlklsdr70fgajj9padgz8s743hs3i8lb4wnp71n7vyvl";
+       version = "0.2.1.1";
+       sha256 = "0lc5filf2xydjrsq9d5qlwz3y76pn590pjiqjjhibkk4dhnys3gs";
        libraryHaskellDepends = [ base ];
        description = "Package for handling icon fonts in Haskell";
        license = stdenv.lib.licenses.bsd3;
@@ -115466,7 +118534,6 @@ self: {
        homepage = "https://github.com/adinapoli/iconv-typed#readme";
        description = "Type safe iconv wrapper";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "ide-backend" = callPackage
@@ -115637,8 +118704,8 @@ self: {
        pname = "identicon";
        version = "0.2.2";
        sha256 = "0qzj2063sh7phbqyxqxf96avz1zcwd1ry06jdqxwkg55q3yb8y9n";
-       revision = "2";
-       editedCabalFile = "0shj211pvba5cfgs1vy9f8jd84by8j4mprk4yvhv4ia1kl6dq4mr";
+       revision = "3";
+       editedCabalFile = "0vya6zm3nnbdv3wmj3dwqwwjgsagql8q17078knhjddv2lm8m49q";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [ base bytestring JuicyPixels ];
        testHaskellDepends = [
@@ -115731,7 +118798,6 @@ self: {
        libraryHaskellDepends = [ base punycode stringprep text ];
        description = "Implements IDNA (RFC 3490)";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "idna2008" = callPackage
@@ -116056,8 +119122,8 @@ self: {
      }:
      mkDerivation {
        pname = "ihaskell";
-       version = "0.9.0.2";
-       sha256 = "0pa366b4vn5hc9ymd4g1pr4dsffvk80x9c8yq4d1pf4jngjfayql";
+       version = "0.9.0.3";
+       sha256 = "13cblc7wy92gbsvvbmxmp1r9c3fkmzl61adan8v9zxqbgw1w284p";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -116079,7 +119145,6 @@ self: {
        homepage = "http://github.com/gibiansky/IHaskell";
        description = "A Haskell backend kernel for the IPython project";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "ihaskell-aeson" = callPackage
@@ -116122,7 +119187,6 @@ self: {
        homepage = "http://www.github.com/gibiansky/ihaskell";
        description = "IHaskell display instances for blaze-html types";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "ihaskell-charts" = callPackage
@@ -116140,7 +119204,6 @@ self: {
        homepage = "http://www.github.com/gibiansky/ihaskell";
        description = "IHaskell display instances for charts types";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "ihaskell-diagrams" = callPackage
@@ -116149,8 +119212,8 @@ self: {
      }:
      mkDerivation {
        pname = "ihaskell-diagrams";
-       version = "0.3.1.1";
-       sha256 = "1c6a469ymfcjmf4larh1sh6qzaxgq260r55vzx78irh036k5h0lc";
+       version = "0.3.2.1";
+       sha256 = "0ssczqr41nrbrdr95vz457mwxcpmcrwd1bihzccmici1fvjd13rx";
        libraryHaskellDepends = [
          active base bytestring diagrams diagrams-cairo diagrams-lib
          directory ihaskell text
@@ -116184,7 +119247,6 @@ self: {
        homepage = "http://www.github.com/gibiansky/ihaskell";
        description = "IHaskell display instance for Gnuplot (from gnuplot package)";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "ihaskell-hatex" = callPackage
@@ -116197,7 +119259,18 @@ self: {
        homepage = "http://www.github.com/gibiansky/IHaskell";
        description = "IHaskell display instances for hatex";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "ihaskell-hvega" = callPackage
+    ({ mkDerivation, aeson, base, hvega, ihaskell, text }:
+     mkDerivation {
+       pname = "ihaskell-hvega";
+       version = "0.1.0.0";
+       sha256 = "0fwn0c7v5g67gkrzq7k3myy3cxk5b176svzcgaidfs7ckl3hbsnm";
+       libraryHaskellDepends = [ aeson base hvega ihaskell text ];
+       homepage = "https://github.com/githubuser/ihaskell-hvega#readme";
+       description = "IHaskell display instance for hvega types";
+       license = stdenv.lib.licenses.bsd3;
      }) {};
 
   "ihaskell-inline-r" = callPackage
@@ -116216,7 +119289,6 @@ self: {
        homepage = "https://tweag.github.io/HaskellR/";
        description = "Embed R quasiquotes and plots in IHaskell notebooks";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "ihaskell-juicypixels" = callPackage
@@ -116232,7 +119304,6 @@ self: {
        homepage = "http://www.github.com/gibiansky/ihaskell";
        description = "IHaskell - IHaskellDisplay instances of the image types of the JuicyPixels package";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "ihaskell-magic" = callPackage
@@ -116250,7 +119321,6 @@ self: {
        homepage = "http://www.github.com/gibiansky/IHaskell";
        description = "IHaskell display instances for bytestrings";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "ihaskell-parsec" = callPackage
@@ -116280,7 +119350,6 @@ self: {
        homepage = "http://www.github.com/gibiansky/ihaskell";
        description = "IHaskell display instance for Plot (from plot package)";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "ihaskell-rlangqq" = callPackage
@@ -116317,7 +119386,6 @@ self: {
        homepage = "http://www.github.com/gibiansky/IHaskell";
        description = "IPython standard widgets for IHaskell";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "ihs" = callPackage
@@ -116716,6 +119784,22 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "immortal_0_3" = callPackage
+    ({ mkDerivation, base, stm, tasty, tasty-hunit, transformers
+     , unliftio-core
+     }:
+     mkDerivation {
+       pname = "immortal";
+       version = "0.3";
+       sha256 = "120znjn7jrmcnzgka8zbiih4g8imh732iivjdzzbpj1kgywrvj0i";
+       libraryHaskellDepends = [ base stm unliftio-core ];
+       testHaskellDepends = [ base stm tasty tasty-hunit transformers ];
+       homepage = "https://github.com/feuerbach/immortal";
+       description = "Spawn threads that never die (unless told to do so)";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "imparse" = callPackage
     ({ mkDerivation, ascetic, base, compilation, containers, directory
      , indents, MissingH, parsec, richreports, split, staticanalysis
@@ -116898,10 +119982,10 @@ self: {
     ({ mkDerivation, base, lens }:
      mkDerivation {
        pname = "impossible";
-       version = "1.0.0";
-       sha256 = "1qkpwa2am439bpngiiwgh14cg19d4mp6s9qqa890rvm5pqh8skvz";
+       version = "1.1.2";
+       sha256 = "13iwy9pn3w3whg8hqy83mgbzcb156pz88nfcx4axkw9hpkh4810s";
        libraryHaskellDepends = [ base lens ];
-       homepage = "https://github.com/wdanilo/impossible";
+       homepage = "https://github.com/luna/impossible";
        description = "Set of data and type definitions of impossible types. Impossible types are useful when declaring type classes / type families instances that should not be expanded by GHC until a specific type is provided in order to keep the types nice and readable.";
        license = stdenv.lib.licenses.asl20;
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -117043,10 +120127,8 @@ self: {
     ({ mkDerivation, base }:
      mkDerivation {
        pname = "inchworm";
-       version = "1.0.2.1";
-       sha256 = "19fx9nrx1jia4qz3rhjsdmmmas7bn5rl59b2y2lnzyyz6n83sfzc";
-       revision = "1";
-       editedCabalFile = "0yg8x27fk0kr99ways4h64a5wbxmnh59l8mis9xd0faqx7hadic7";
+       version = "1.0.2.2";
+       sha256 = "0r8a8hg3fzfc619zsjdnid1la0njnfrijhqfgqjmis4ncivah52h";
        libraryHaskellDepends = [ base ];
        homepage = "https://github.com/DDCSF/inchworm";
        description = "Inchworm Lexer Framework";
@@ -117070,6 +120152,19 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "incremental" = callPackage
+    ({ mkDerivation, base, containers, deepseq, semigroups }:
+     mkDerivation {
+       pname = "incremental";
+       version = "0";
+       sha256 = "01fvc963gln6svash9cf9v2wbfnssh4j5r49l6y23zmnmqnzxs8x";
+       libraryHaskellDepends = [ base containers deepseq semigroups ];
+       testHaskellDepends = [ base ];
+       homepage = "https://github.com/fumieval/incremental#readme";
+       description = "incremental update library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "incremental-computing" = callPackage
     ({ mkDerivation, base, Cabal, cabal-test-quickcheck, containers
      , deepseq, dlist, fingertree, order-maintenance, QuickCheck
@@ -117122,8 +120217,8 @@ self: {
      }:
      mkDerivation {
        pname = "incremental-parser";
-       version = "0.2.5.3";
-       sha256 = "0646hxjd25hpmffabbdp6bxa5720gd99hgg31ifcx8nprlm8sl7a";
+       version = "0.2.5.4";
+       sha256 = "0891m40bl9jlblfg3wf6fi3bgzfl9d8lhmab5s755mpp1bw9gr6w";
        libraryHaskellDepends = [ base monoid-subclasses ];
        testHaskellDepends = [
          base checkers monoid-subclasses QuickCheck tasty tasty-quickcheck
@@ -117133,7 +120228,29 @@ self: {
        ];
        homepage = "https://github.com/blamario/incremental-parser";
        description = "Generic parser library capable of providing partial results from partial input";
-       license = "GPL";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "incremental-parser_0_3_1" = callPackage
+    ({ mkDerivation, base, bytestring, checkers, criterion, deepseq
+     , monoid-subclasses, QuickCheck, tasty, tasty-quickcheck, text
+     }:
+     mkDerivation {
+       pname = "incremental-parser";
+       version = "0.3.1";
+       sha256 = "1nygr5hs547innw9f5wx8ifpkiq01ckbhx34266ds6rmnjsqxzby";
+       libraryHaskellDepends = [ base monoid-subclasses ];
+       testHaskellDepends = [
+         base checkers monoid-subclasses QuickCheck tasty tasty-quickcheck
+       ];
+       benchmarkHaskellDepends = [
+         base bytestring criterion deepseq monoid-subclasses text
+       ];
+       homepage = "https://github.com/blamario/incremental-parser";
+       description = "Generic parser library capable of providing partial results from partial input";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "incremental-sat-solver" = callPackage
@@ -117254,6 +120371,7 @@ self: {
        homepage = "http://github.com/jaspervdj/indents";
        description = "indentation sensitive parser-combinators for parsec";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "index-core" = callPackage
@@ -117332,6 +120450,20 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "indexed-list-literals_0_2_0_0" = callPackage
+    ({ mkDerivation, base, Only }:
+     mkDerivation {
+       pname = "indexed-list-literals";
+       version = "0.2.0.0";
+       sha256 = "0n0j5x4v099000fm2ar0lmn06f21gnq39srmimy9bm3zisx8zmzd";
+       libraryHaskellDepends = [ base Only ];
+       testHaskellDepends = [ base ];
+       homepage = "https://github.com/davidm-d/indexed-list-literals";
+       description = "Type safe indexed list literals";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "indextype" = callPackage
     ({ mkDerivation, base, hspec }:
      mkDerivation {
@@ -117529,49 +120661,51 @@ self: {
      }) {};
 
   "influxdb" = callPackage
-    ({ mkDerivation, aeson, attoparsec, base, bytestring, clock
-     , containers, foldl, http-client, http-types, HUnit, lens, mtl
-     , network, optional-args, scientific, tasty, tasty-hunit
-     , tasty-quickcheck, tasty-th, text, time, unordered-containers
-     , vector
+    ({ mkDerivation, aeson, attoparsec, base, bytestring, Cabal
+     , cabal-doctest, clock, containers, doctest, foldl, http-client
+     , http-types, HUnit, lens, mtl, network, optional-args, QuickCheck
+     , scientific, tasty, tasty-hunit, tasty-quickcheck, tasty-th
+     , template-haskell, text, time, unordered-containers, vector
      }:
      mkDerivation {
        pname = "influxdb";
-       version = "1.2.2.3";
-       sha256 = "14454644vlkyd27ywhsvkczxdxdwqkl917zcb51ay68gdnrrwm1i";
+       version = "1.3.0.1";
+       sha256 = "08i7bflcmvg5s4r5hv1xxd5niyq5irnawnjwmbz7w3ys0ink1bfl";
        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 text time
          unordered-containers vector
        ];
        testHaskellDepends = [
-         base http-client HUnit mtl tasty tasty-hunit tasty-quickcheck
-         tasty-th text vector
+         base doctest http-client HUnit mtl QuickCheck tasty tasty-hunit
+         tasty-quickcheck tasty-th template-haskell text vector
        ];
        homepage = "https://github.com/maoe/influxdb-haskell";
        description = "Haskell client library for InfluxDB";
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "influxdb_1_3_0" = callPackage
+  "influxdb_1_6_0_2" = callPackage
     ({ mkDerivation, aeson, attoparsec, base, bytestring, Cabal
      , cabal-doctest, clock, containers, doctest, foldl, http-client
      , http-types, HUnit, lens, mtl, network, optional-args, QuickCheck
-     , scientific, tasty, tasty-hunit, tasty-quickcheck, tasty-th
-     , template-haskell, text, time, unordered-containers, vector
+     , scientific, tagged, tasty, tasty-hunit, tasty-quickcheck
+     , tasty-th, template-haskell, text, time, unordered-containers
+     , vector
      }:
      mkDerivation {
        pname = "influxdb";
-       version = "1.3.0";
-       sha256 = "1spvddqc3p9c292bcpp92xx4xzw8qc91y9jg63lzpdm0fmfx8k0l";
+       version = "1.6.0.2";
+       sha256 = "0f5lcwvs4cw7ipqw3da5baf2sw4m1a7g29iw3big5m93wc2flk38";
        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 text time
+         http-types lens network optional-args scientific tagged text time
          unordered-containers vector
        ];
        testHaskellDepends = [
@@ -117616,8 +120750,8 @@ self: {
     ({ mkDerivation, attoparsec, base, text, unordered-containers }:
      mkDerivation {
        pname = "ini";
-       version = "0.3.5";
-       sha256 = "1iicavbjr4qmlcdxh32cgqxlxd80xvzyxxskrs3hji1qzrnq7lxz";
+       version = "0.3.6";
+       sha256 = "1n9wsl7nz910bc8jx9ps7pvpql4hlnryjkqbdpfq0phjb9sf7fzw";
        libraryHaskellDepends = [
          attoparsec base text unordered-containers
        ];
@@ -117728,8 +120862,33 @@ self: {
      }:
      mkDerivation {
        pname = "inline-c";
-       version = "0.6.0.5";
-       sha256 = "0fy19z3r6xyzhkkagi050rasc4ak8xmvdgidy4wplayck9fr3z47";
+       version = "0.6.0.6";
+       sha256 = "0ggfnnds3lshiasf2kkyxc3nd5y9b3jr6xraxmwgpikmf21yac4i";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         ansi-wl-pprint base bytestring containers hashable mtl parsec
+         parsers template-haskell transformers unordered-containers vector
+       ];
+       testHaskellDepends = [
+         ansi-wl-pprint base containers hashable hspec parsers QuickCheck
+         raw-strings-qq regex-posix template-haskell transformers
+         unordered-containers vector
+       ];
+       description = "Write Haskell source files including C code inline. No FFI required.";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "inline-c_0_6_1_0" = callPackage
+    ({ mkDerivation, ansi-wl-pprint, base, bytestring, containers
+     , hashable, hspec, mtl, parsec, parsers, QuickCheck, raw-strings-qq
+     , regex-posix, template-haskell, transformers, unordered-containers
+     , vector
+     }:
+     mkDerivation {
+       pname = "inline-c";
+       version = "0.6.1.0";
+       sha256 = "0vbfrsqsi7mdziqsnj68bsqlwbqxxhvrmy9rv6w8z18d1m8w3n6h";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -117743,6 +120902,7 @@ self: {
        ];
        description = "Write Haskell source files including C code inline. No FFI required.";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "inline-c-cpp_0_1_0_0" = callPackage
@@ -117774,6 +120934,23 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "inline-c-cpp_0_2_2_0" = callPackage
+    ({ mkDerivation, base, hspec, inline-c, safe-exceptions
+     , template-haskell
+     }:
+     mkDerivation {
+       pname = "inline-c-cpp";
+       version = "0.2.2.0";
+       sha256 = "1sglwjg8agzi3gspv97g999vb0zzsf5c41znqnnnvqx605jpsd5g";
+       libraryHaskellDepends = [
+         base inline-c safe-exceptions template-haskell
+       ];
+       testHaskellDepends = [ base hspec inline-c safe-exceptions ];
+       description = "Lets you embed C++ code into Haskell";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "inline-c-win32" = callPackage
     ({ mkDerivation, base, containers, inline-c, template-haskell
      , Win32
@@ -117797,25 +120974,6 @@ self: {
      }:
      mkDerivation {
        pname = "inline-java";
-       version = "0.7.2";
-       sha256 = "0hfjgkv8shi3zhjx7jkcwqyglrh5hrc11zf58ykhwxjhzhj4f05b";
-       libraryHaskellDepends = [
-         base bytestring Cabal directory filepath ghc jni jvm language-java
-         mtl process template-haskell temporary text
-       ];
-       testHaskellDepends = [ base hspec jni jvm text ];
-       homepage = "http://github.com/tweag/inline-java#readme";
-       description = "Java interop via inline Java code in Haskell modules";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "inline-java_0_8_2" = callPackage
-    ({ mkDerivation, base, bytestring, Cabal, directory, filepath, ghc
-     , hspec, jni, jvm, language-java, mtl, process, template-haskell
-     , temporary, text
-     }:
-     mkDerivation {
-       pname = "inline-java";
        version = "0.8.2";
        sha256 = "0f38w4p29xzrzqjdn2r3yfh2m9iai6dwbj52jhrliiy87gnvwwmy";
        libraryHaskellDepends = [
@@ -117826,7 +120984,6 @@ self: {
        homepage = "http://github.com/tweag/inline-java#readme";
        description = "Java interop via inline Java code in Haskell modules";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "inline-r" = callPackage
@@ -117909,8 +121066,8 @@ self: {
        pname = "insert-ordered-containers";
        version = "0.2.1.0";
        sha256 = "1612f455dw37da9g7bsd1s5kyi84mnr1ifnjw69892amyimi47fp";
-       revision = "4";
-       editedCabalFile = "0ls5rm5hg2lqp2m6bfssa30y72x8xyyl7izvwr3w804dpa9fvwrm";
+       revision = "6";
+       editedCabalFile = "0dna826vhnal6m213llszn68phjs27pd43f7s8wdhdmjdx1nzk72";
        libraryHaskellDepends = [
          aeson base base-compat hashable lens semigroupoids semigroups text
          transformers unordered-containers
@@ -117961,23 +121118,6 @@ self: {
      }:
      mkDerivation {
        pname = "inspection-testing";
-       version = "0.1.2";
-       sha256 = "1si89b5scc7qw88shmyzi1abbvgl7fv16yw731n5niw4cqps329j";
-       libraryHaskellDepends = [
-         base containers ghc mtl template-haskell transformers
-       ];
-       testHaskellDepends = [ base ];
-       homepage = "https://github.com/nomeata/inspection-testing";
-       description = "GHC plugin to do inspection testing";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-
-  "inspection-testing_0_2_0_1" = callPackage
-    ({ mkDerivation, base, containers, ghc, mtl, template-haskell
-     , transformers
-     }:
-     mkDerivation {
-       pname = "inspection-testing";
        version = "0.2.0.1";
        sha256 = "1551dvk63xb4lr2zsyg3ri8v1nsjs050k2jsf8v0vfasx7w9ns8z";
        libraryHaskellDepends = [
@@ -117987,7 +121127,6 @@ self: {
        homepage = "https://github.com/nomeata/inspection-testing";
        description = "GHC plugin to do inspection testing";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "inspector-wrecker" = callPackage
@@ -118167,10 +121306,8 @@ self: {
      }:
      mkDerivation {
        pname = "int-cast";
-       version = "0.1.2.0";
-       sha256 = "0gfx3pg0n1jyn8z2q804iyc24ahi41sjr3h7v5ivzc3g57vi1ykb";
-       revision = "2";
-       editedCabalFile = "14i728sy9y38zjm9xcjqyg9jjnayzdpzplpff2cdpc9jk596fmcs";
+       version = "0.2.0.0";
+       sha256 = "0s8rqm5d9f4y2sskajsw8ff7q8xp52vwqa18m6bajldp11m9a1p0";
        libraryHaskellDepends = [ base ];
        testHaskellDepends = [
          base QuickCheck test-framework test-framework-quickcheck2
@@ -118180,14 +121317,33 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "integer-gmp_1_0_1_0" = callPackage
+  "int-multimap" = callPackage
+    ({ mkDerivation, base, containers, hashable, tasty, tasty-hunit
+     , tasty-quickcheck, unordered-containers
+     }:
+     mkDerivation {
+       pname = "int-multimap";
+       version = "0.2.1";
+       sha256 = "080ypcd99pvw0wsrydz6hzd9hrr18v4kcb3wihz6v8ylfn08d6ci";
+       libraryHaskellDepends = [
+         base containers hashable unordered-containers
+       ];
+       testHaskellDepends = [
+         base containers hashable tasty tasty-hunit tasty-quickcheck
+         unordered-containers
+       ];
+       homepage = "https://github.com/metrix-ai/int-multimap";
+       description = "A data structure that associates each Int key with a set of values";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "integer-gmp_1_0_2_0" = callPackage
     ({ mkDerivation, ghc-prim }:
      mkDerivation {
        pname = "integer-gmp";
-       version = "1.0.1.0";
-       sha256 = "1xrdqksharn0jg8m1d7zm8nhbsq3abw2k25kzw0z7m0zm14n1nlw";
-       revision = "1";
-       editedCabalFile = "02xp5ldq3xxx1qdxg7gbs2zcqpf1dxbdrvrzizxnjwhpiqxcigy3";
+       version = "1.0.2.0";
+       sha256 = "1aaz2mdmwbrfxahhycpiz92hdvfn9mm7964wfypf8m0m8libhs6k";
        libraryHaskellDepends = [ ghc-prim ];
        description = "Integer library based on GMP";
        license = stdenv.lib.licenses.bsd3;
@@ -118201,10 +121357,8 @@ self: {
      }:
      mkDerivation {
        pname = "integer-logarithms";
-       version = "1.0.2";
-       sha256 = "0w5mhak181zi6qr5h2zbcs9ymaqacisp9jwk99naz6s8zz5rq1ii";
-       revision = "1";
-       editedCabalFile = "0sccd0d6qrcm3a7nni5lqv40g5m5knf965z4skkgbyyhb3z6qsq8";
+       version = "1.0.2.1";
+       sha256 = "1wj8kgjg5bn2yrs4zh9qfjv85cx6w998j9pi39yrbv305944mb9j";
        libraryHaskellDepends = [ array base ghc-prim integer-gmp ];
        testHaskellDepends = [
          base QuickCheck smallcheck tasty tasty-hunit tasty-quickcheck
@@ -118339,8 +121493,8 @@ self: {
      }:
      mkDerivation {
        pname = "interlude-l";
-       version = "0.2.0.1";
-       sha256 = "0jrmxph2m0ql48k6l743dhk4hdjxpdm7qqflwk2n3pw58ffajsk8";
+       version = "0.3.0.0";
+       sha256 = "0aa26cgap70ji6qjy555039i8zrynibmfsxpdpkww6pqj3hwrc93";
        libraryHaskellDepends = [
          aeson base exceptions lens monad-control MonadRandom mtl protolude
          string-conv text transformers witherable
@@ -118394,8 +121548,8 @@ self: {
      }:
      mkDerivation {
        pname = "intero";
-       version = "0.1.28";
-       sha256 = "0c9hlbqjisb8y96s2rhgklc93g0jmawq3v80ksdvg9asdyfsmafs";
+       version = "0.1.31";
+       sha256 = "0d6pc7mza12889wbzxy7gb5fb86v3b5pm2cdvcvnh6gd6x4ii336";
        isLibrary = false;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -118440,16 +121594,16 @@ self: {
      }) {};
 
   "interpolate" = callPackage
-    ({ mkDerivation, base, bytestring, haskell-src-meta, hspec
-     , QuickCheck, quickcheck-instances, template-haskell, text
+    ({ mkDerivation, base, base-compat, bytestring, haskell-src-meta
+     , hspec, QuickCheck, quickcheck-instances, template-haskell, text
      }:
      mkDerivation {
        pname = "interpolate";
-       version = "0.1.1";
-       sha256 = "120ygxs8vfsjcc7xr9v8p8bcyqidhlg1rd568ym2bsl1nhx4h22b";
+       version = "0.2.0";
+       sha256 = "1gkaj98yz363v38fv78sqby236mp8yqwqcilx7kr2b9z0w3204bf";
        libraryHaskellDepends = [ base haskell-src-meta template-haskell ];
        testHaskellDepends = [
-         base bytestring haskell-src-meta hspec QuickCheck
+         base base-compat bytestring haskell-src-meta hspec QuickCheck
          quickcheck-instances template-haskell text
        ];
        homepage = "https://github.com/sol/interpolate#readme";
@@ -118539,6 +121693,7 @@ self: {
        homepage = "https://sealgram.com/git/haskell/interruptible/";
        description = "Monad transformers that can be run and resumed later, conserving their context";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "interspersed" = callPackage
@@ -118576,8 +121731,8 @@ self: {
        pname = "intervals";
        version = "0.8.1";
        sha256 = "00vyxf3ba9d7aas3npfapr53w71fslgh69fczjb25axr66fvzqww";
-       revision = "2";
-       editedCabalFile = "0ia6pig8g2hg1nr0p46s3npv0gvd2cn9mkgm232slwynyb63qjkn";
+       revision = "3";
+       editedCabalFile = "1dzv19jq6xwf9zff6xkzmn9vab2ch2mds75n7hg9n0xg664q1b95";
        setupHaskellDepends = [ base Cabal cabal-doctest ];
        libraryHaskellDepends = [ array base distributive ghc-prim ];
        testHaskellDepends = [
@@ -118735,6 +121890,8 @@ self: {
        pname = "invariant";
        version = "0.5";
        sha256 = "1zz9a5irmpma5qchvvp7qin1s7cfnhvpg3b452xxysgbxvmcmfw0";
+       revision = "1";
+       editedCabalFile = "04sxa2jfv613ff3fxpnk0cn31f6fr80gzr7va47nrc0abp34vd7y";
        libraryHaskellDepends = [
          array base bifunctors comonad containers contravariant ghc-prim
          profunctors semigroups StateVar stm tagged template-haskell
@@ -118750,19 +121907,20 @@ self: {
   "invertible" = callPackage
     ({ mkDerivation, base, haskell-src-meta, invariant, lens
      , partial-isomorphisms, QuickCheck, semigroupoids, template-haskell
-     , transformers, TypeCompose
+     , transformers
      }:
      mkDerivation {
        pname = "invertible";
-       version = "0.2.0.3";
-       sha256 = "0pckhl1nv6w66k3ll9q1bwbmzl2rpbwk6c3xkm7dscxzjzw43qwf";
+       version = "0.2.0.5";
+       sha256 = "1fwdbg0pimi9hfyp20fsvyxpicjd7jxg4vsh5kykkxviyfhxl2ha";
        libraryHaskellDepends = [
          base haskell-src-meta invariant lens partial-isomorphisms
-         semigroupoids template-haskell transformers TypeCompose
+         semigroupoids template-haskell transformers
        ];
        testHaskellDepends = [ base QuickCheck transformers ];
        description = "bidirectional arrows, bijective functions, and invariant functors";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "invertible-hlist" = callPackage
@@ -118788,6 +121946,7 @@ self: {
        ];
        description = "invertible transformer instances for HXT Picklers";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "invertible-syntax" = callPackage
@@ -118931,7 +122090,9 @@ self: {
        pname = "io-streams";
        version = "1.5.0.1";
        sha256 = "12rcdg2d70644bvn838fxcjkssqj8pssnx5y657si5rijcbkgjsx";
-       configureFlags = [ "-fnointeractivetests" ];
+       revision = "1";
+       editedCabalFile = "1d7rpwi10rqcry58d4hc651xvk9xzni6n6k22wm9532l14i3x21c";
+       configureFlags = [ "-fNoInteractiveTests" ];
        libraryHaskellDepends = [
          attoparsec base bytestring bytestring-builder network primitive
          process text time transformers vector zlib-bindings
@@ -118954,6 +122115,8 @@ self: {
        pname = "io-streams-haproxy";
        version = "1.0.0.2";
        sha256 = "11nh9q158mgnvvb23s5ffg87lkhl5smk039yl43jghxmb214z0bp";
+       revision = "2";
+       editedCabalFile = "0jrasbn4s6ac0691bf88fbflpha2vn24bd45gk0s3znvl395dxgr";
        libraryHaskellDepends = [
          attoparsec base bytestring io-streams network transformers
        ];
@@ -119119,6 +122282,35 @@ self: {
        homepage = "https://github.com/andrewthad/haskell-ip#readme";
        description = "Library for IP and MAC addresses";
        license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "ip_1_2_0" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, bytestring, criterion
+     , doctest, hashable, hspec, HUnit, primitive, QuickCheck
+     , quickcheck-classes, semigroups, test-framework
+     , test-framework-hunit, test-framework-quickcheck2, text, vector
+     }:
+     mkDerivation {
+       pname = "ip";
+       version = "1.2.0";
+       sha256 = "09d1y0x5cri08kx5c52jblnj1679z0yw0byigjvwics6pwkgrx0f";
+       revision = "1";
+       editedCabalFile = "09g6nhh6r52dnk6adnxv6qiin6fxif567dl1nca49z5njphcvyl3";
+       libraryHaskellDepends = [
+         aeson attoparsec base bytestring hashable primitive semigroups text
+         vector
+       ];
+       testHaskellDepends = [
+         attoparsec base bytestring doctest hspec HUnit QuickCheck
+         quickcheck-classes test-framework test-framework-hunit
+         test-framework-quickcheck2 text
+       ];
+       benchmarkHaskellDepends = [
+         attoparsec base bytestring criterion text
+       ];
+       homepage = "https://github.com/andrewthad/haskell-ip#readme";
+       description = "Library for IP and MAC addresses";
+       license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
@@ -119252,8 +122444,8 @@ self: {
      }:
      mkDerivation {
        pname = "iproute";
-       version = "1.7.2";
-       sha256 = "15w56dia70hbqdmd16bbl68sjr0y3195hhykr4vb21krlr821dlp";
+       version = "1.7.4";
+       sha256 = "17gcmw9m8c30cm3j5hdcqhpkvbir9js1k6s3ad141yszxymmnq8q";
        libraryHaskellDepends = [
          appar base byteorder containers network
        ];
@@ -119318,8 +122510,8 @@ self: {
      }:
      mkDerivation {
        pname = "ipython-kernel";
-       version = "0.9.0.1";
-       sha256 = "0nzl5zcl03cdp0l6idscp648n64qjnhvfyj2j47fiiy1fkz133s7";
+       version = "0.9.0.2";
+       sha256 = "01l22myk73igczzjj4b239brp80b3pfamw9w67lw4l4w6n7lc8sr";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -119370,29 +122562,8 @@ self: {
      }:
      mkDerivation {
        pname = "irc-client";
-       version = "1.0.1.1";
-       sha256 = "1d5xy2q5pkyn4i6d9myw27wr75xci05s446l23kdjli2ldh0g4nx";
-       libraryHaskellDepends = [
-         base bytestring conduit connection containers contravariant
-         exceptions irc-conduit irc-ctcp mtl network-conduit-tls old-locale
-         profunctors stm stm-chans text time tls transformers x509
-         x509-store x509-validation
-       ];
-       homepage = "https://github.com/barrucadu/irc-client";
-       description = "An IRC client library";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-
-  "irc-client_1_1_0_1" = callPackage
-    ({ mkDerivation, base, bytestring, conduit, connection, containers
-     , contravariant, exceptions, irc-conduit, irc-ctcp, mtl
-     , network-conduit-tls, old-locale, profunctors, stm, stm-chans
-     , text, time, tls, transformers, x509, x509-store, x509-validation
-     }:
-     mkDerivation {
-       pname = "irc-client";
-       version = "1.1.0.1";
-       sha256 = "01p3p6x1ww5hcwq25nr7czm5z8xiz3sr998krdwfj94nl6z4n2ag";
+       version = "1.1.0.2";
+       sha256 = "1y9camx7vwpgr2qvqnkzk7rz9k0wkxrb35wflar4g9k0q6xqp2mi";
        libraryHaskellDepends = [
          base bytestring conduit connection containers contravariant
          exceptions irc-conduit irc-ctcp mtl network-conduit-tls old-locale
@@ -119402,7 +122573,6 @@ self: {
        homepage = "https://github.com/barrucadu/irc-client";
        description = "An IRC client library";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "irc-colors" = callPackage
@@ -119423,25 +122593,6 @@ self: {
      }:
      mkDerivation {
        pname = "irc-conduit";
-       version = "0.2.2.5";
-       sha256 = "1f9dvs4z15wym2a7dpm9h7m3ffpj8d089k6q28my6yx10mi93ksj";
-       libraryHaskellDepends = [
-         async base bytestring conduit conduit-extra connection irc irc-ctcp
-         network-conduit-tls profunctors text time tls transformers
-         x509-validation
-       ];
-       homepage = "https://github.com/barrucadu/irc-conduit";
-       description = "Streaming IRC message library using conduits";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-
-  "irc-conduit_0_3_0_1" = callPackage
-    ({ mkDerivation, async, base, bytestring, conduit, conduit-extra
-     , connection, irc, irc-ctcp, network-conduit-tls, profunctors, text
-     , time, tls, transformers, x509-validation
-     }:
-     mkDerivation {
-       pname = "irc-conduit";
        version = "0.3.0.1";
        sha256 = "0lividbrrc2yydqp55xqji8q6wigb49skrzw9vki6iivxcszka5h";
        libraryHaskellDepends = [
@@ -119452,7 +122603,6 @@ self: {
        homepage = "https://github.com/barrucadu/irc-conduit";
        description = "Streaming IRC message library using conduits";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "irc-core" = callPackage
@@ -119463,8 +122613,8 @@ self: {
        pname = "irc-core";
        version = "2.3.0";
        sha256 = "08nbdnszdakbam1x0fps3n3ziqv21d8ndhmrc7za69pm97wkicjf";
-       revision = "1";
-       editedCabalFile = "1cqc9as84bckjh6yjcfh3pkj11sw35bkj848wzcv6qwjcn8kvcv9";
+       revision = "2";
+       editedCabalFile = "1pynqcahr66yq9h0ykdv1lz7jshn8zw0n9ggmycvsybw27ci10xn";
        libraryHaskellDepends = [
          attoparsec base base64-bytestring bytestring hashable primitive
          text time vector
@@ -119497,8 +122647,8 @@ self: {
        pname = "irc-dcc";
        version = "2.0.1";
        sha256 = "1pyj4ngh6rw0k1cd9nlrhwb6rr3jmpiwaxs6crik8gbl6f3s4234";
-       revision = "6";
-       editedCabalFile = "0fcgif6mcmp97plvvf1daiizwg2h9bniya50ldfd6ya932yh8b3c";
+       revision = "7";
+       editedCabalFile = "01mvdqabbxa68abq49s2kwpl0y8gb6lf258jjg7w098f5v0p4m36";
        libraryHaskellDepends = [
          attoparsec base binary bytestring io-streams iproute irc-ctcp mtl
          network path safe-exceptions transformers utf8-string
@@ -119619,7 +122769,6 @@ self: {
        homepage = "https://github.com/stepcut/ircbot";
        description = "A library for writing IRC bots";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "ircbouncer" = callPackage
@@ -119759,7 +122908,6 @@ self: {
        testHaskellDepends = [ base template-haskell ];
        description = "Generic pattern predicates";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "isdicom" = callPackage
@@ -119868,8 +123016,8 @@ self: {
      }:
      mkDerivation {
        pname = "iso8583-bitmaps";
-       version = "0.1.0.0";
-       sha256 = "0w6m8ygpy1g95zvmbzq9402rxh4dj48i5bhcdzc4s0kig239gzqd";
+       version = "0.1.1.0";
+       sha256 = "04i557469q2ablwmlwg35jazh7mpd1cgbrzl02xbvn4xbg7n2fcr";
        libraryHaskellDepends = [
          base binary bytestring containers parsec syb template-haskell
          th-lift
@@ -120521,6 +123669,26 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "ixset-typed_0_4" = callPackage
+    ({ mkDerivation, base, containers, deepseq, HUnit, QuickCheck
+     , safecopy, syb, tasty, tasty-hunit, tasty-quickcheck
+     , template-haskell
+     }:
+     mkDerivation {
+       pname = "ixset-typed";
+       version = "0.4";
+       sha256 = "0xjj7vjyp4p6cid5xcin36xd8lwqah0vix4rj2d4mnmbb9ch19aa";
+       libraryHaskellDepends = [
+         base containers deepseq safecopy syb template-haskell
+       ];
+       testHaskellDepends = [
+         base containers HUnit QuickCheck tasty tasty-hunit tasty-quickcheck
+       ];
+       description = "Efficient relational queries on Haskell sets";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "ixshader" = callPackage
     ({ mkDerivation, base, ghc-prim, indexed, language-glsl, parsec
      , prettyclass, singletons, template-haskell, text
@@ -120673,13 +123841,13 @@ self: {
     ({ mkDerivation, base, Cabal }:
      mkDerivation {
        pname = "jailbreak-cabal";
-       version = "1.3.2";
-       sha256 = "1x2h54sx4ycik34q8f9g698xc2b7fai18918cd08qx7w7ny8nai1";
+       version = "1.3.3";
+       sha256 = "076h7nbf94zfwvfijcpv03r3s2nyynb2y9v354m4bxqz3anhib3b";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [ base Cabal ];
        homepage = "https://github.com/peti/jailbreak-cabal#readme";
-       description = "Strip version restrictions from build dependencies in Cabal files";
+       description = "Strip version restrictions from Cabal files";
        license = stdenv.lib.licenses.bsd3;
        maintainers = with stdenv.lib.maintainers; [ peti ];
      }) {};
@@ -120730,8 +123898,8 @@ self: {
      }:
      mkDerivation {
        pname = "jammittools";
-       version = "0.5.4";
-       sha256 = "0bqvxnysynpznhibwlcmcg849psjm0q158mh50w0bcwa7jx6v441";
+       version = "0.5.5";
+       sha256 = "0x9khnf9ykhgi7aghc24nynfyrh6557mmf8s38597h4zdsd897xz";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -120742,7 +123910,8 @@ self: {
        executableHaskellDepends = [ base boxes directory filepath ];
        homepage = "https://github.com/mtolly/jammittools";
        description = "Export sheet music and audio from Windows/Mac app Jammit";
-       license = "GPL";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "japanese-holidays" = callPackage
@@ -120952,6 +124121,24 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "javascript-extras_0_4_0_0" = callPackage
+    ({ mkDerivation, base, deepseq, ghcjs-base-stub, parallel, text }:
+     mkDerivation {
+       pname = "javascript-extras";
+       version = "0.4.0.0";
+       sha256 = "0qpz8q5pr939y35y3r8x83irb2nl9vmh50wzjii824kr25z5wipd";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base deepseq ghcjs-base-stub parallel text
+       ];
+       executableHaskellDepends = [ base ghcjs-base-stub ];
+       homepage = "https://github.com/louispan/javascript-extras#readme";
+       description = "Extra javascript functions when using GHCJS";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "javasf" = callPackage
     ({ mkDerivation, base, binary, bytestring, directory, doctest
      , filepath, language-java-classfile, QuickCheck
@@ -121095,6 +124282,7 @@ self: {
        homepage = "https://github.com/Fuuzetsu/jenkinsPlugins2nix#readme";
        description = "Generate nix for Jenkins plugins";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "jespresso" = callPackage
@@ -121233,25 +124421,6 @@ self: {
      }:
      mkDerivation {
        pname = "jni";
-       version = "0.5.1";
-       sha256 = "0lrgj5dxhn7amzjw7gsqxg0gh91nxh1j4vmb4j2f5r8y3m8nwq4a";
-       libraryHaskellDepends = [
-         base bytestring choice constraints containers deepseq inline-c
-         singletons
-       ];
-       librarySystemDepends = [ jdk ];
-       libraryToolDepends = [ cpphs ];
-       homepage = "https://github.com/tweag/inline-java/tree/master/jni#readme";
-       description = "Complete JNI raw bindings";
-       license = stdenv.lib.licenses.bsd3;
-     }) {inherit (pkgs) jdk;};
-
-  "jni_0_6_0" = callPackage
-    ({ mkDerivation, base, bytestring, choice, constraints, containers
-     , cpphs, deepseq, inline-c, jdk, singletons
-     }:
-     mkDerivation {
-       pname = "jni";
        version = "0.6.0";
        sha256 = "04phf6sqfp8g9rqfj2lxg2j43350wlini1dnsjwyr6yvy888z9ba";
        libraryHaskellDepends = [
@@ -121263,7 +124432,6 @@ self: {
        homepage = "https://github.com/tweag/inline-java/tree/master/jni#readme";
        description = "Complete JNI raw bindings";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {inherit (pkgs) jdk;};
 
   "jobqueue" = callPackage
@@ -121397,6 +124565,39 @@ self: {
        license = stdenv.lib.licenses.asl20;
      }) {};
 
+  "jose_0_7_0_0" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, base64-bytestring
+     , bytestring, concise, containers, cryptonite, hspec, lens, memory
+     , monad-time, mtl, network-uri, QuickCheck, quickcheck-instances
+     , safe, semigroups, tasty, tasty-hspec, tasty-quickcheck
+     , template-haskell, text, time, unordered-containers, vector, x509
+     }:
+     mkDerivation {
+       pname = "jose";
+       version = "0.7.0.0";
+       sha256 = "051rjqfskizgm9j927zh500q54lii3scldsymgcdfbaw40d0mncc";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson attoparsec base base64-bytestring bytestring concise
+         containers cryptonite lens memory monad-time mtl network-uri
+         QuickCheck quickcheck-instances safe semigroups template-haskell
+         text time unordered-containers vector x509
+       ];
+       executableHaskellDepends = [ aeson base bytestring lens mtl ];
+       testHaskellDepends = [
+         aeson attoparsec base base64-bytestring bytestring concise
+         containers cryptonite hspec lens memory monad-time mtl network-uri
+         QuickCheck quickcheck-instances safe semigroups tasty tasty-hspec
+         tasty-quickcheck template-haskell text time unordered-containers
+         vector x509
+       ];
+       homepage = "https://github.com/frasertweedale/hs-jose";
+       description = "Javascript Object Signing and Encryption and JSON Web Token library";
+       license = stdenv.lib.licenses.asl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "jose-jwt" = callPackage
     ({ mkDerivation, aeson, attoparsec, base, bytestring, cereal
      , containers, criterion, cryptonite, doctest, either, hspec, HUnit
@@ -121422,6 +124623,25 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "jot" = callPackage
+    ({ mkDerivation, base, data-default, dhall, docopt, extra, filepath
+     , process, time, turtle, yaml
+     }:
+     mkDerivation {
+       pname = "jot";
+       version = "0.1.0.3";
+       sha256 = "1rw5ah60kfazycpf2f0sin98rba99d06gkqfci30m64wpkcm9l4g";
+       isLibrary = false;
+       isExecutable = true;
+       executableHaskellDepends = [
+         base data-default dhall docopt extra filepath process time turtle
+         yaml
+       ];
+       homepage = "http://gitlab.com/locallycompact/jot";
+       description = "Tiny markdown notebook";
+       license = stdenv.lib.licenses.isc;
+     }) {};
+
   "jpeg" = callPackage
     ({ mkDerivation, base, mtl }:
      mkDerivation {
@@ -121464,21 +124684,6 @@ self: {
     ({ mkDerivation, base, HTTP }:
      mkDerivation {
        pname = "js-jquery";
-       version = "3.2.1";
-       sha256 = "03qymiwnk24sigqjnl42i77rsx6vrgg5wjday0f2j0d6s213sl30";
-       enableSeparateDataOutput = true;
-       libraryHaskellDepends = [ base ];
-       testHaskellDepends = [ base HTTP ];
-       doCheck = false;
-       homepage = "https://github.com/ndmitchell/js-jquery#readme";
-       description = "Obtain minified jQuery code";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-
-  "js-jquery_3_3_1" = callPackage
-    ({ mkDerivation, base, HTTP }:
-     mkDerivation {
-       pname = "js-jquery";
        version = "3.3.1";
        sha256 = "16q68jzbs7kp07dnq8cprdcc8fd41rim38039vg0w4x11lgniq70";
        enableSeparateDataOutput = true;
@@ -121488,7 +124693,6 @@ self: {
        homepage = "https://github.com/ndmitchell/js-jquery#readme";
        description = "Obtain minified jQuery code";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "jsaddle" = callPackage
@@ -121509,6 +124713,7 @@ self: {
        ];
        description = "Interface for JavaScript that works with GHCJS and GHC";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "jsaddle-clib" = callPackage
@@ -121524,6 +124729,7 @@ self: {
        ];
        description = "Interface for JavaScript that works with GHCJS and GHC";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "jsaddle-dom" = callPackage
@@ -121539,6 +124745,7 @@ self: {
        ];
        description = "DOM library that uses jsaddle to support both GHCJS and GHC";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "jsaddle-hello" = callPackage
@@ -121672,8 +124879,8 @@ self: {
      }:
      mkDerivation {
        pname = "json";
-       version = "0.9.1";
-       sha256 = "18l5027vc68hnnxrxlnyl59vkkg95a92m1zzms0dqiby2r6pxdcn";
+       version = "0.9.2";
+       sha256 = "13kkfgx58z18jphbg56jn08jn72wi3kvfndlwwx87hqwg7x1dfz6";
        libraryHaskellDepends = [
          array base bytestring containers mtl parsec pretty syb text
        ];
@@ -121710,15 +124917,14 @@ self: {
      }:
      mkDerivation {
        pname = "json-assertions";
-       version = "1.0.10";
-       sha256 = "1rhg6hrk0pzy9xx6hhy39xmnpz931a6wq93sjgpvlzlm3hyfwq0x";
+       version = "1.0.11";
+       sha256 = "000a528gmkb25zcl7am6qh8fjrq2v2l71c27fxzm6wpf0ml0vv7z";
        libraryHaskellDepends = [
          aeson base indexed indexed-free lens lens-aeson text
        ];
        homepage = "http://github.com/ocharles/json-assertions.git";
        description = "Test that your (Aeson) JSON encoding matches your expectations";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "json-ast" = callPackage
@@ -121782,8 +124988,8 @@ self: {
        pname = "json-autotype";
        version = "1.0.18";
        sha256 = "0h2aiq7k6s2qw81mrj77i86vfaci0387cwm6lbfzfag3r4993w7h";
-       revision = "1";
-       editedCabalFile = "0f67frvi5jsn47w02kqi834mkjy4kz451fic5m4i24lyykw19kvm";
+       revision = "2";
+       editedCabalFile = "1b7q8af32zpsrq32m34d4h4245ww19kxfqjrbq6s2mfx5qd5s5y6";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -121804,6 +125010,40 @@ self: {
        homepage = "https://github.com/mgajda/json-autotype";
        description = "Automatic type declaration for JSON input data";
        license = stdenv.lib.licenses.bsd3;
+       maintainers = with stdenv.lib.maintainers; [ peti ];
+     }) {};
+
+  "json-autotype_1_1_2" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, containers, directory
+     , filepath, GenericPretty, hashable, lens, mtl
+     , optparse-applicative, pretty, process, QuickCheck, scientific
+     , smallcheck, text, uniplate, unordered-containers, vector, yaml
+     }:
+     mkDerivation {
+       pname = "json-autotype";
+       version = "1.1.2";
+       sha256 = "1gf7g5y46wpkkhdnmvi85h518a59yb5j8ffgrnb82cs5zjwjpa9j";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson base containers filepath GenericPretty hashable lens mtl
+         pretty process scientific text uniplate unordered-containers vector
+       ];
+       executableHaskellDepends = [
+         aeson base bytestring containers filepath GenericPretty hashable
+         lens mtl optparse-applicative pretty process scientific text
+         uniplate unordered-containers vector yaml
+       ];
+       testHaskellDepends = [
+         aeson base bytestring containers directory filepath GenericPretty
+         hashable lens mtl optparse-applicative pretty process QuickCheck
+         scientific smallcheck text uniplate unordered-containers vector
+       ];
+       homepage = "https://github.com/mgajda/json-autotype";
+       description = "Automatic type declaration for JSON input data";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       maintainers = with stdenv.lib.maintainers; [ peti ];
      }) {};
 
   "json-b" = callPackage
@@ -121927,8 +125167,8 @@ self: {
      }:
      mkDerivation {
        pname = "json-feed";
-       version = "1.0.0";
-       sha256 = "06h9qji4cnzqw4nmxs6dka7ywhz8jr56v5pcb3dlvganjg3s0gdx";
+       version = "1.0.1";
+       sha256 = "16x0k1iwq9z9sq7z6a2007w8cczy6yd7sniylhacqnf1gsjfb4q6";
        libraryHaskellDepends = [
          aeson base bytestring mime-types network-uri tagsoup text time
        ];
@@ -121939,7 +125179,6 @@ self: {
        homepage = "https://github.com/tfausak/json-feed#readme";
        description = "JSON Feed";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "json-fu" = callPackage
@@ -122122,8 +125361,8 @@ self: {
        pname = "json-rpc-client";
        version = "0.2.5.0";
        sha256 = "177lrw5m9dxdk6mcay0f92rwyih8q7znwb8m6da6r3zsn30gajak";
-       revision = "3";
-       editedCabalFile = "0hi2im3k7hpz3rasap90fvik3x5ibb7dd38sr1zsy7wsjkhk7zs4";
+       revision = "5";
+       editedCabalFile = "0fi7cij476s4lhjpi7m1yp9p30qv7pyv0hlcj30kd0zq74nwwrdz";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -122170,8 +125409,8 @@ self: {
        pname = "json-rpc-server";
        version = "0.2.6.0";
        sha256 = "1xfcxbwri9a5p3xxbc4kvr1kqdnm4c1axd8kgb8dglabffbrk7hn";
-       revision = "2";
-       editedCabalFile = "1avwnzq355m14wbv76zqjp789nr3kgnk130m8m69r5icgmlal2w6";
+       revision = "4";
+       editedCabalFile = "19nasv4sxjn3j0xvr1pd9x6bf8f8566wwd15y3wwll89bpnyd4z9";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -122196,8 +125435,8 @@ self: {
        pname = "json-schema";
        version = "0.7.4.1";
        sha256 = "15kwgpkryd865nls9zm6ya6jzmiygsb537ij7ps39dzasqbnl3an";
-       revision = "12";
-       editedCabalFile = "0x3cvndfshy4sd66m2xilyp876kvmgw5flagawamwis6hs8pfdi2";
+       revision = "13";
+       editedCabalFile = "07r9sdkhhp7wp7zyrw8mnr9dk1z83drm3jfcayv9gz28jnr3gpv1";
        libraryHaskellDepends = [
          aeson base containers generic-aeson generic-deriving mtl scientific
          text time unordered-containers vector
@@ -122226,7 +125465,6 @@ self: {
        ];
        description = "Generics JSON (de)serialization using generics-sop";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "json-state" = callPackage
@@ -122252,8 +125490,8 @@ self: {
      }:
      mkDerivation {
        pname = "json-stream";
-       version = "0.4.1.5";
-       sha256 = "0h5g76grhi60idvmxdhydpz5f3198bydwywfyv9pghlmbrzjnkih";
+       version = "0.4.2.3";
+       sha256 = "0ijic6vfrpykzy7j3li94fjmaj1vclvp0in1ymb5z5whvljlynw7";
        libraryHaskellDepends = [
          aeson base bytestring scientific text unordered-containers vector
        ];
@@ -122624,8 +125862,8 @@ self: {
      }:
      mkDerivation {
        pname = "judge";
-       version = "0.1.2.0";
-       sha256 = "14lrqrzw70cjzz0skihh9w9kfgah6rb7023dbgmcqbx0m8xjiiaw";
+       version = "0.1.3.0";
+       sha256 = "02lyd1ql4qj5da0p3mhpkh0gq8lrc6xmz3yg5hnc8mk5d3a381hw";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -122639,7 +125877,7 @@ self: {
          optparse-applicative text unordered-containers yaml
        ];
        homepage = "https://github.com/slakkenhuis/judge#readme";
-       description = "Tableau-based theorem prover";
+       description = "Tableau-based theorem prover for justification logic";
        license = stdenv.lib.licenses.gpl3;
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
@@ -122650,8 +125888,8 @@ self: {
      }:
      mkDerivation {
        pname = "judy";
-       version = "0.4.0";
-       sha256 = "115991jvp9gg9iy3n8p8y0y39x236v17g5xqchmlfsja1nx9hbzc";
+       version = "0.4.1";
+       sha256 = "0inm77n75066jcjw820cdpklqjfy76i7by4qz136c83x2x7w6fsm";
        libraryHaskellDepends = [ base bytestring ghc-prim ];
        librarySystemDepends = [ Judy ];
        testHaskellDepends = [ base hspec QuickCheck ];
@@ -122667,8 +125905,8 @@ self: {
      }:
      mkDerivation {
        pname = "juicy-gcode";
-       version = "0.1.0.4";
-       sha256 = "1nf30901jv226n7cpnbkqdh51gpmkzri79m271afzsgya3cs9gi5";
+       version = "0.1.0.5";
+       sha256 = "0gjkch103fisvr35dc86hbfbir76cmwh9cs1ppqlxajspgan9bz1";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -122688,8 +125926,8 @@ self: {
      }:
      mkDerivation {
        pname = "jukebox";
-       version = "0.3.2";
-       sha256 = "098vli26hrgkjxw3y1sfc7fi3wj72ka1dqy1k49z22rigisffbwj";
+       version = "0.3.5";
+       sha256 = "1ibx0pr0ddnzx5jbgkjzidkmja65gan7ji7s42v2iwn05fm125ki";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -122764,23 +126002,6 @@ self: {
      }:
      mkDerivation {
        pname = "justified-containers";
-       version = "0.2.0.1";
-       sha256 = "0k2vw8d37hkjj786kx52hjs7qlmmv4hr8bp9dd2rskgsnwjizmw2";
-       libraryHaskellDepends = [ base containers roles ];
-       testHaskellDepends = [
-         base containers ghc-prim hspec QuickCheck should-not-typecheck
-       ];
-       homepage = "https://github.com/matt-noonan/justified-containers";
-       description = "Keyed container types with type-checked proofs of key presence";
-       license = stdenv.lib.licenses.bsd2;
-     }) {};
-
-  "justified-containers_0_3_0_0" = callPackage
-    ({ mkDerivation, base, containers, ghc-prim, hspec, QuickCheck
-     , roles, should-not-typecheck
-     }:
-     mkDerivation {
-       pname = "justified-containers";
        version = "0.3.0.0";
        sha256 = "11ryff281gbn46zz7vax97h0qn5xn1mk7gdjpb38xs9ns36c0c6q";
        libraryHaskellDepends = [ base containers roles ];
@@ -122790,7 +126011,6 @@ self: {
        homepage = "https://github.com/matt-noonan/justified-containers";
        description = "Keyed container types with type-checked proofs of key presence";
        license = stdenv.lib.licenses.bsd2;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "jvm" = callPackage
@@ -122838,6 +126058,7 @@ self: {
        homepage = "http://github.com/tweag/inline-java/tree/master/jvm-batching#readme";
        description = "Provides batched marshalling of values between Java and Haskell";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "jvm-binary" = callPackage
@@ -122900,6 +126121,7 @@ self: {
        homepage = "http://github.com/tweag/inline-java/tree/master/jvm-streaming#readme";
        description = "Expose Java iterators as streams from the streaming package";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "jwt" = callPackage
@@ -122931,6 +126153,36 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "jwt_0_8_0" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, containers, cryptonite
+     , doctest, HsOpenSSL, http-types, HUnit, lens, lens-aeson, memory
+     , network-uri, QuickCheck, RSA, scientific, semigroups, tasty
+     , tasty-hunit, tasty-quickcheck, tasty-th, text, time
+     , unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "jwt";
+       version = "0.8.0";
+       sha256 = "0ij921vgm0sqlc2ryymqxz6ipgl2iwm0916ny7g5l47qh2fjhcjg";
+       revision = "1";
+       editedCabalFile = "0b0znxxh6zgbq5xhxds2a1yxaqg5rka3xkhlchrbjabi9m5ndp84";
+       libraryHaskellDepends = [
+         aeson base bytestring containers cryptonite HsOpenSSL http-types
+         memory network-uri RSA scientific semigroups text time
+         unordered-containers vector
+       ];
+       testHaskellDepends = [
+         aeson base bytestring containers cryptonite doctest HsOpenSSL
+         http-types HUnit lens lens-aeson memory network-uri QuickCheck RSA
+         scientific semigroups tasty tasty-hunit tasty-quickcheck tasty-th
+         text time unordered-containers vector
+       ];
+       homepage = "https://bitbucket.org/ssaasen/haskell-jwt";
+       description = "JSON Web Token (JWT) decoding and encoding";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "kademlia" = callPackage
     ({ mkDerivation, base, bytestring, containers, HUnit, mtl, network
      , QuickCheck, stm, tasty, tasty-hunit, tasty-quickcheck
@@ -123138,24 +126390,6 @@ self: {
 
   "kan-extensions" = callPackage
     ({ mkDerivation, adjunctions, array, base, comonad, containers
-     , contravariant, distributive, fail, free, mtl, semigroupoids
-     , tagged, transformers
-     }:
-     mkDerivation {
-       pname = "kan-extensions";
-       version = "5.0.2";
-       sha256 = "0bj88bgwxlx490f5r979idsm9dpdsb0ldzar9sa0jhj2jn2xx7hw";
-       libraryHaskellDepends = [
-         adjunctions array base comonad containers contravariant
-         distributive fail free mtl semigroupoids tagged transformers
-       ];
-       homepage = "http://github.com/ekmett/kan-extensions/";
-       description = "Kan extensions, Kan lifts, various forms of the Yoneda lemma, and (co)density (co)monads";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "kan-extensions_5_1" = callPackage
-    ({ mkDerivation, adjunctions, array, base, comonad, containers
      , contravariant, distributive, fail, free, mtl, profunctors
      , semigroupoids, tagged, transformers, transformers-compat
      }:
@@ -123173,7 +126407,6 @@ self: {
        homepage = "http://github.com/ekmett/kan-extensions/";
        description = "Kan extensions, Kan lifts, the Yoneda lemma, and (co)density (co)monads";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "kangaroo" = callPackage
@@ -123190,29 +126423,42 @@ self: {
      }) {};
 
   "kanji" = callPackage
-    ({ mkDerivation, base, bytestring, containers, microlens, text }:
+    ({ mkDerivation, aeson, aeson-pretty, base, containers, criterion
+     , deepseq, hashable, HUnit-approx, microlens, microlens-aeson
+     , microlens-platform, optparse-applicative, protolude, tasty
+     , tasty-hunit, text
+     }:
      mkDerivation {
        pname = "kanji";
-       version = "3.0.2";
-       sha256 = "1kgq8ns8mig93rf86wskay4kjp1lgdwp3xywld20mxdp4zwr5a6b";
+       version = "3.1.0.1";
+       sha256 = "1qxjaqqb3i8w65qda3nxnqxwvgcpfics38yifzf3chy49c3v04wj";
+       isLibrary = true;
+       isExecutable = true;
        libraryHaskellDepends = [
-         base bytestring containers microlens text
+         aeson base containers deepseq hashable text
        ];
-       homepage = "https://github.com/fosskers/nanq";
+       executableHaskellDepends = [
+         aeson aeson-pretty base containers microlens microlens-aeson
+         microlens-platform optparse-applicative protolude text
+       ];
+       testHaskellDepends = [
+         aeson base containers HUnit-approx tasty tasty-hunit text
+       ];
+       benchmarkHaskellDepends = [ aeson base containers criterion text ];
+       homepage = "https://github.com/fosskers/kanji";
        description = "Perform 漢字検定 (Japan Kanji Aptitude Test) level analysis on Japanese Kanji";
-       license = stdenv.lib.licenses.gpl3;
+       license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "kanji_3_1_0" = callPackage
+  "kanji_3_3_0" = callPackage
     ({ mkDerivation, aeson, aeson-pretty, base, containers, criterion
      , deepseq, hashable, HUnit-approx, microlens, microlens-aeson
-     , microlens-platform, optparse-applicative, protolude, tasty
-     , tasty-hunit, text
+     , optparse-applicative, tasty, tasty-hunit, text, transformers
      }:
      mkDerivation {
        pname = "kanji";
-       version = "3.1.0";
-       sha256 = "0l1fbznzw6z8cpcrkmchabwf7zfhb3zj18s323xlxiq3537bxjz4";
+       version = "3.3.0";
+       sha256 = "0wapqdrh18344j0dz3y3g08vcfharc43xlcgkk8ksj5r30zq1vff";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -123220,7 +126466,7 @@ self: {
        ];
        executableHaskellDepends = [
          aeson aeson-pretty base containers microlens microlens-aeson
-         microlens-platform optparse-applicative protolude text
+         optparse-applicative text transformers
        ];
        testHaskellDepends = [
          aeson base containers HUnit-approx tasty tasty-hunit text
@@ -123240,8 +126486,8 @@ self: {
        pname = "kansas-comet";
        version = "0.4";
        sha256 = "1q9rffh6589a5am8mvfzxzwws34vg08rdjxggfabhmg9y9jla6hz";
-       revision = "11";
-       editedCabalFile = "0l56snbdxbcwrmh7gna4237873d366dfbwp59a4wq1s51clhmb4z";
+       revision = "13";
+       editedCabalFile = "0qdj3giwfjic87xln1lkrfa9dw8yj31s7x3dsr7n1343jcap2m7n";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          aeson base containers data-default-class scotty stm text time
@@ -123260,8 +126506,8 @@ self: {
      }:
      mkDerivation {
        pname = "kansas-lava";
-       version = "0.2.4.4";
-       sha256 = "0pbciwh79y1pzqlpd2f8pm5w8bjq5bs47slqw71q09f7jlgs0i7d";
+       version = "0.2.4.5";
+       sha256 = "0pcxmsf18ykvf1mbm3w8qn86rdmr69ilcakrgidl1ag6liq1s6zc";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -123405,8 +126651,8 @@ self: {
      }:
      mkDerivation {
        pname = "katip";
-       version = "0.5.3.0";
-       sha256 = "1v6gyk2x14nvzz0g560r7yh9wsp8r2imqgiq46m2nmx70ksfcx2b";
+       version = "0.5.4.0";
+       sha256 = "1144krzz4wvwhdh1b2673302xn7svz2b6kjfvq9728f1bzkkspad";
        libraryHaskellDepends = [
          aeson async auto-update base bytestring containers either hostname
          microlens microlens-th monad-control mtl old-locale resourcet
@@ -123433,18 +126679,18 @@ self: {
     ({ mkDerivation, aeson, async, base, bloodhound, bytestring
      , containers, criterion, deepseq, enclosed-exceptions, exceptions
      , http-client, http-types, katip, lens, lens-aeson
-     , quickcheck-instances, random, retry, scientific, stm, stm-chans
-     , tagged, tasty, tasty-hunit, tasty-quickcheck, text, time
-     , transformers, unordered-containers, uuid, vector
+     , quickcheck-instances, random, retry, scientific, semigroups, stm
+     , stm-chans, tagged, tasty, tasty-hunit, tasty-quickcheck, text
+     , time, transformers, unordered-containers, uuid, vector
      }:
      mkDerivation {
        pname = "katip-elasticsearch";
-       version = "0.4.0.4";
-       sha256 = "0zg0f5czqff9zd0rnkj68bmxmizrl01q4wbvz43hj5j8mj0jzybj";
+       version = "0.4.1.0";
+       sha256 = "19gpgxg8wz5zdx8a0sspbdk9ypjcrclni0da6sh1hz80yydcfzb1";
        libraryHaskellDepends = [
          aeson async base bloodhound bytestring enclosed-exceptions
-         exceptions http-client http-types katip retry scientific stm
-         stm-chans text time transformers unordered-containers uuid
+         exceptions http-client http-types katip retry scientific semigroups
+         stm stm-chans text time transformers unordered-containers uuid
        ];
        testHaskellDepends = [
          aeson base bloodhound bytestring containers http-client http-types
@@ -123462,6 +126708,20 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "katip-kafka" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, hw-kafka-client, katip }:
+     mkDerivation {
+       pname = "katip-kafka";
+       version = "0.0.1";
+       sha256 = "1w5w3sccvh1rl0zd69k0nya0bbf9jwi9ahb7q1c761jq5333gv8q";
+       libraryHaskellDepends = [
+         aeson base bytestring hw-kafka-client katip
+       ];
+       homepage = "https://github.com/s9gf4ult/katip-kafka";
+       description = "Katip scribe to send logs to Kafka";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "katip-rollbar" = callPackage
     ({ mkDerivation, aeson, async, base, hostname, http-client, katip
      , rollbar-hs, stm-chans, text, time
@@ -123479,6 +126739,25 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "katip-scalyr-scribe" = callPackage
+    ({ mkDerivation, aeson, base, katip, scientific, text
+     , unordered-containers
+     }:
+     mkDerivation {
+       pname = "katip-scalyr-scribe";
+       version = "0.1.0.1";
+       sha256 = "0pbq4mawa0aq2gzzhkrk9avv0pv20hjhq2qv0lvs0wyhv5jnmkqr";
+       libraryHaskellDepends = [
+         aeson base katip scientific text unordered-containers
+       ];
+       testHaskellDepends = [
+         aeson base katip scientific text unordered-containers
+       ];
+       homepage = "https://github.com/reactormonk/katip-scalyr-scribe#readme";
+       description = "A katip scribe for logging to json";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "katip-syslog" = callPackage
     ({ mkDerivation, aeson, base, bytestring, hsyslog, katip
      , string-conv, text
@@ -123543,6 +126822,36 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "katydid_0_3_0_1" = callPackage
+    ({ mkDerivation, base, bytestring, containers, criterion, deepseq
+     , directory, either, extra, filepath, HUnit, hxt, ilist, json, mtl
+     , parsec, primes, regex-tdfa, tasty, tasty-hunit, text
+     , transformers-either
+     }:
+     mkDerivation {
+       pname = "katydid";
+       version = "0.3.0.1";
+       sha256 = "08q8qmvxc47y8rxs8vam31xwjgwyjga4bdd65m1n4plpndi0zhyg";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base bytestring containers deepseq either extra hxt ilist json mtl
+         parsec regex-tdfa text transformers-either
+       ];
+       executableHaskellDepends = [ base mtl ];
+       testHaskellDepends = [
+         base containers directory filepath HUnit hxt ilist json mtl parsec
+         primes tasty tasty-hunit text
+       ];
+       benchmarkHaskellDepends = [
+         base criterion deepseq directory filepath hxt mtl text
+       ];
+       homepage = "https://github.com/katydid/katydid-haskell";
+       description = "A haskell implementation of Katydid";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "kawa" = callPackage
     ({ mkDerivation, attoparsec, base, directory, hashable, hedgehog
      , optparse-applicative, text, unordered-containers
@@ -123635,6 +126944,7 @@ self: {
        homepage = "http://github.com/asakamirai/kazura-queue";
        description = "Fast concurrent queues much inspired by unagi-chan";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "kbq-gu" = callPackage
@@ -123781,7 +127091,6 @@ self: {
        homepage = "http://www.keera.es/blog/community/";
        description = "Rapid Gtk Application Development - I18N";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "keera-hails-mvc-controller" = callPackage
@@ -124160,8 +127469,8 @@ self: {
     ({ mkDerivation, base, hspec }:
      mkDerivation {
        pname = "key-state";
-       version = "0.1.0";
-       sha256 = "0q5pfayi02xhka2xdn2nwng1cms0lyh6pbysvpxsmbiwzq80p4kp";
+       version = "0.2.0";
+       sha256 = "1n8bp8g2w16mb7ifafx4ypyx393lra4r2vnnmasxjc22fvyiwvsl";
        libraryHaskellDepends = [ base ];
        testHaskellDepends = [ base hspec ];
        homepage = "https://github.com/jxv/key-state#readme";
@@ -124175,8 +127484,8 @@ self: {
        pname = "keycode";
        version = "0.2.2";
        sha256 = "046k8d1h5wwadf5z4pppjkc3g7v2zxlzb06s1xgixc42y5y41yan";
-       revision = "1";
-       editedCabalFile = "0pyh8cadgw8pn9xdg8lbvsh108i84iaynia8j42qmgmls2zakvja";
+       revision = "2";
+       editedCabalFile = "0g19sjk2sh1w9ahn93dnvjkim4mqapq0plmdd37179qfgi49qnp8";
        libraryHaskellDepends = [
          base containers ghc-prim template-haskell
        ];
@@ -124215,26 +127524,6 @@ self: {
 
   "keys" = callPackage
     ({ mkDerivation, array, base, comonad, containers, free, hashable
-     , semigroupoids, semigroups, transformers, transformers-compat
-     , unordered-containers
-     }:
-     mkDerivation {
-       pname = "keys";
-       version = "3.11";
-       sha256 = "1cn45h27hxwb4ci1iyd2qn0fzyb2y85qq4821a9xm37bwsvrgwqc";
-       revision = "1";
-       editedCabalFile = "1lyg4wyi7mkqvbfl9lvfln3j4vys47jih56zyjba7nx36kbw185i";
-       libraryHaskellDepends = [
-         array base comonad containers free hashable semigroupoids
-         semigroups transformers transformers-compat unordered-containers
-       ];
-       homepage = "http://github.com/ekmett/keys/";
-       description = "Keyed functors and containers";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "keys_3_12" = callPackage
-    ({ mkDerivation, array, base, comonad, containers, free, hashable
      , semigroupoids, semigroups, tagged, transformers
      , transformers-compat, unordered-containers
      }:
@@ -124242,8 +127531,8 @@ self: {
        pname = "keys";
        version = "3.12";
        sha256 = "0may9nrlfji2mmypl9q47lcpg4r793hmm4i22x7j4l6zz67sggyl";
-       revision = "1";
-       editedCabalFile = "1lbl62y3alhpgkf2knh4q5pcby54kblb68cbx2i77fbdwz8jbka7";
+       revision = "2";
+       editedCabalFile = "0cy2fdxxqg0bgkb8xhnw6zws00d78bpk48xv7zzmvnj549l819ib";
        libraryHaskellDepends = [
          array base comonad containers free hashable semigroupoids
          semigroups tagged transformers transformers-compat
@@ -124252,7 +127541,6 @@ self: {
        homepage = "http://github.com/ekmett/keys/";
        description = "Keyed functors and containers";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "keysafe" = callPackage
@@ -124261,14 +127549,14 @@ self: {
      , exceptions, fast-logger, filepath, http-client, lifted-base
      , MonadRandom, network, optparse-applicative, process, raaz, random
      , random-shuffle, readline, SafeSemaphore, secret-sharing, servant
-     , servant-client, servant-server, socks, split, stm, text, time
-     , token-bucket, transformers, unbounded-delays, unix, unix-compat
-     , utf8-string, wai, warp, zxcvbn-c
+     , servant-client, servant-server, socks, split, stm, text
+     , text-short, time, token-bucket, transformers, unbounded-delays
+     , unix, unix-compat, utf8-string, wai, warp, zxcvbn-c
      }:
      mkDerivation {
        pname = "keysafe";
-       version = "0.20170811";
-       sha256 = "12akw0r3m4pz8gb1sxa8azm17jq8564300wwh3c5f47dy29p23py";
+       version = "0.20180326";
+       sha256 = "01kagnpliw0qmhhrx1lcaxdg41sq76km3c1gzk3b9siyqkszhq08";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -124277,8 +127565,8 @@ self: {
          http-client lifted-base MonadRandom network optparse-applicative
          process raaz random random-shuffle readline SafeSemaphore
          secret-sharing servant servant-client servant-server socks split
-         stm text time token-bucket transformers unbounded-delays unix
-         unix-compat utf8-string wai warp zxcvbn-c
+         stm text text-short time token-bucket transformers unbounded-delays
+         unix unix-compat utf8-string wai warp zxcvbn-c
        ];
        homepage = "https://keysafe.branchable.com/";
        description = "back up a secret key securely to the cloud";
@@ -124333,6 +127621,7 @@ self: {
        ];
        description = "Pure Haskell key/value store implementation";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "keyword-args" = callPackage
@@ -124551,7 +127840,6 @@ self: {
        homepage = "http://github.com/alpmestan/kmeans-vector";
        description = "An implementation of the kmeans clustering algorithm based on the vector package";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "kmp-dfa" = callPackage
@@ -124980,8 +128268,8 @@ self: {
      }:
      mkDerivation {
        pname = "labsat";
-       version = "0.0.0";
-       sha256 = "0ps5m31bwfrm7398i7kngrbvsjva7zvyb3cbj7sqk828j72abg9y";
+       version = "0.0.5";
+       sha256 = "02c6bx1pwjcqni8nx7899mk3mzzfrpdpxjiwnkizzianrzmwz0mw";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -124995,6 +128283,7 @@ self: {
        homepage = "https://github.com/swift-nav/labsat";
        description = "LabSat TCP Interface Wrapper";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "labyrinth" = callPackage
@@ -125059,27 +128348,13 @@ self: {
     ({ mkDerivation, base, hspec, servant, servant-foreign, text }:
      mkDerivation {
        pname = "lackey";
-       version = "0.4.7";
-       sha256 = "026w7wmz71g9796mx6mdn3s1nxrds631kacn423zdvchridm0398";
-       libraryHaskellDepends = [ base servant servant-foreign text ];
-       testHaskellDepends = [ base hspec servant servant-foreign text ];
-       homepage = "https://github.com/tfausak/lackey#readme";
-       description = "Generate Ruby clients from Servant APIs";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-
-  "lackey_1_0_1" = callPackage
-    ({ mkDerivation, base, hspec, servant, servant-foreign, text }:
-     mkDerivation {
-       pname = "lackey";
-       version = "1.0.1";
-       sha256 = "0vlic5ad1zdqhlg0jd3zgc65acq7270607blkf6qgm6bk2g3j1pr";
+       version = "1.0.2";
+       sha256 = "00zvbdls0nr4q18889xr8z3cpfldi5gg3m2g7d572bcxvwfhm4y4";
        libraryHaskellDepends = [ base servant servant-foreign text ];
        testHaskellDepends = [ base hspec servant servant-foreign text ];
        homepage = "https://github.com/tfausak/lackey#readme";
        description = "Generate Ruby clients from Servant APIs";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "lagrangian" = callPackage
@@ -125217,12 +128492,12 @@ self: {
     ({ mkDerivation, base, containers, mtl, read-bounded }:
      mkDerivation {
        pname = "lambda-options";
-       version = "0.9.0.1";
-       sha256 = "16q4skxkmc6xaj23ys5ddpazwcxvck7dvvilm8n4k0wam0llhs2h";
+       version = "0.9.1.0";
+       sha256 = "0rylch5v4lpd5ynyhrzzj72npqdv6q8mp2rx9v7p641r0njw5r5n";
        libraryHaskellDepends = [ base containers mtl read-bounded ];
        homepage = "https://github.com/thomaseding/lambda-options";
-       description = "A modern command-line parser for Haskell";
-       license = "unknown";
+       description = "Declarative command line parser using type-driven pattern matching";
+       license = stdenv.lib.licenses.bsd2;
      }) {};
 
   "lambda-placeholders" = callPackage
@@ -125350,7 +128625,6 @@ self: {
        homepage = "https://wiki.haskell.org/Lambdabot";
        description = "Lambdabot is a development tool and advanced IRC bot";
        license = "GPL";
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "lambdabot-core" = callPackage
@@ -125404,7 +128678,6 @@ self: {
        homepage = "https://wiki.haskell.org/Lambdabot";
        description = "Lambdabot Haskell plugins";
        license = "GPL";
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "lambdabot-irc-plugins" = callPackage
@@ -125802,6 +129075,7 @@ self: {
        homepage = "http://github.com/NorfairKing/lambdatex";
        description = "Type-Safe LaTeX EDSL";
        license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "lambdatwit" = callPackage
@@ -125873,8 +129147,8 @@ self: {
        pname = "lame";
        version = "0.1.1";
        sha256 = "0j35zpfhppb09m6h23awxgsawisvgsnrw7d99f5z3xq2bjihjq5k";
-       revision = "1";
-       editedCabalFile = "0p7nwbn22bmk2p7vpcpqs89dxxshjg3cbdx1qc1h8pczgaz3c1dl";
+       revision = "4";
+       editedCabalFile = "0r364limqm570a8xd82wwpcvmcx2j7nfndg5kad022vz2v5n0smz";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          base bytestring data-default-class directory exceptions filepath
@@ -125919,6 +129193,7 @@ self: {
        homepage = "语.ml";
        description = "A Lisp";
        license = stdenv.lib.licenses.agpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "language-asn1" = callPackage
@@ -125937,20 +129212,20 @@ self: {
 
   "language-ats" = callPackage
     ({ mkDerivation, alex, ansi-wl-pprint, array, base
-     , composition-prelude, containers, criterion, deepseq, happy, hspec
-     , hspec-dirstream, microlens, microlens-th, mtl, recursion-schemes
-     , system-filepath, transformers
+     , composition-prelude, containers, cpphs, criterion, deepseq, happy
+     , hspec, hspec-dirstream, lens, recursion-schemes, system-filepath
+     , transformers
      }:
      mkDerivation {
        pname = "language-ats";
-       version = "1.2.0.1";
-       sha256 = "000jhj5jjsccn7x6j76wl07y6ydszy3gcn4mg6bcg2p0spdvc0vr";
+       version = "1.2.0.9";
+       sha256 = "0narp1zhvyannd627bafh6yhk8y5lfw6f5nqr9wi1qvbynmlmhmg";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          ansi-wl-pprint array base composition-prelude containers deepseq
-         microlens microlens-th mtl recursion-schemes transformers
+         lens recursion-schemes transformers
        ];
-       libraryToolDepends = [ alex happy ];
+       libraryToolDepends = [ alex cpphs happy ];
        testHaskellDepends = [
          base hspec hspec-dirstream system-filepath
        ];
@@ -126082,6 +129357,32 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "language-c-quote_0_12_2" = callPackage
+    ({ mkDerivation, alex, array, base, bytestring, containers
+     , exception-mtl, exception-transformers, filepath, happy
+     , haskell-src-meta, HUnit, mainland-pretty, mtl, srcloc, syb
+     , symbol, template-haskell, test-framework, test-framework-hunit
+     }:
+     mkDerivation {
+       pname = "language-c-quote";
+       version = "0.12.2";
+       sha256 = "15c6rdj91768jf8lqzf4fkbi8k6kz9gch5w81x6qzy2l256rncgb";
+       libraryHaskellDepends = [
+         array base bytestring containers exception-mtl
+         exception-transformers filepath haskell-src-meta mainland-pretty
+         mtl srcloc syb symbol template-haskell
+       ];
+       libraryToolDepends = [ alex happy ];
+       testHaskellDepends = [
+         base bytestring HUnit mainland-pretty srcloc symbol test-framework
+         test-framework-hunit
+       ];
+       homepage = "https://github.com/mainland/language-c-quote";
+       description = "C/CUDA/OpenCL/Objective-C quasiquoting library";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "language-cil" = callPackage
     ({ mkDerivation, base, bool-extras }:
      mkDerivation {
@@ -126146,48 +129447,45 @@ self: {
   "language-docker" = callPackage
     ({ mkDerivation, aeson, base, bytestring, directory, filepath, free
      , Glob, hspec, HUnit, mtl, parsec, pretty, process, QuickCheck
-     , split, template-haskell, text, th-lift, th-lift-instances
-     , transformers, unordered-containers, yaml
+     , semigroups, split, template-haskell, text, th-lift
+     , th-lift-instances, time, transformers, unordered-containers, yaml
      }:
      mkDerivation {
        pname = "language-docker";
-       version = "1.0.0";
-       sha256 = "023gahxcy27rg03fyk87h4yirba2c23qv4fww9fwzi4f4m8inf81";
+       version = "2.0.1";
+       sha256 = "0xd7r6npr7kzdh3pxcidvqff3lrww6dqyyksg58chnb57d87b0sc";
        libraryHaskellDepends = [
          aeson base bytestring directory filepath free Glob mtl parsec
-         pretty split template-haskell text th-lift th-lift-instances
-         transformers unordered-containers yaml
+         pretty semigroups split template-haskell text th-lift
+         th-lift-instances time transformers unordered-containers yaml
        ];
        testHaskellDepends = [
          aeson base bytestring directory filepath free Glob hspec HUnit mtl
-         parsec pretty process QuickCheck split template-haskell text
-         th-lift th-lift-instances transformers unordered-containers yaml
+         parsec pretty process QuickCheck semigroups split template-haskell
+         text th-lift th-lift-instances time transformers
+         unordered-containers yaml
        ];
        homepage = "https://github.com/hadolint/language-docker#readme";
        description = "Dockerfile parser, pretty-printer and embedded DSL";
        license = stdenv.lib.licenses.gpl3;
      }) {};
 
-  "language-docker_2_0_1" = callPackage
-    ({ mkDerivation, aeson, base, bytestring, directory, filepath, free
-     , Glob, hspec, HUnit, mtl, parsec, pretty, process, QuickCheck
-     , semigroups, split, template-haskell, text, th-lift
-     , th-lift-instances, time, transformers, unordered-containers, yaml
+  "language-docker_5_0_1" = callPackage
+    ({ mkDerivation, base, bytestring, directory, filepath, free, Glob
+     , hspec, HUnit, mtl, parsec, pretty, process, QuickCheck, split
+     , template-haskell, text, th-lift, time
      }:
      mkDerivation {
        pname = "language-docker";
-       version = "2.0.1";
-       sha256 = "0xd7r6npr7kzdh3pxcidvqff3lrww6dqyyksg58chnb57d87b0sc";
+       version = "5.0.1";
+       sha256 = "0y2kb2g9w34p3yw8cdjr4f0xkq9j065khlk1mbk7061gg2rhpykv";
        libraryHaskellDepends = [
-         aeson base bytestring directory filepath free Glob mtl parsec
-         pretty semigroups split template-haskell text th-lift
-         th-lift-instances time transformers unordered-containers yaml
+         base bytestring free mtl parsec pretty split template-haskell text
+         th-lift time
        ];
        testHaskellDepends = [
-         aeson base bytestring directory filepath free Glob hspec HUnit mtl
-         parsec pretty process QuickCheck semigroups split template-haskell
-         text th-lift th-lift-instances time transformers
-         unordered-containers yaml
+         base bytestring directory filepath free Glob hspec HUnit mtl parsec
+         pretty process QuickCheck split template-haskell text th-lift time
        ];
        homepage = "https://github.com/hadolint/language-docker#readme";
        description = "Dockerfile parser, pretty-printer and embedded DSL";
@@ -126264,6 +129562,32 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "language-ecmascript_0_18" = callPackage
+    ({ mkDerivation, ansi-wl-pprint, base, charset, containers
+     , data-default-class, Diff, directory, filepath, HUnit, mtl, parsec
+     , QuickCheck, template-haskell, test-framework
+     , test-framework-hunit, test-framework-quickcheck2, testing-feat
+     , uniplate
+     }:
+     mkDerivation {
+       pname = "language-ecmascript";
+       version = "0.18";
+       sha256 = "0gg608hniq1v7f1d56akyk44zyrmd0acr33m53cbdlcq8w1c8h70";
+       libraryHaskellDepends = [
+         ansi-wl-pprint base charset containers data-default-class Diff mtl
+         parsec QuickCheck template-haskell testing-feat uniplate
+       ];
+       testHaskellDepends = [
+         ansi-wl-pprint base containers data-default-class Diff directory
+         filepath HUnit mtl parsec QuickCheck test-framework
+         test-framework-hunit test-framework-quickcheck2 uniplate
+       ];
+       homepage = "http://github.com/jswebtools/language-ecmascript";
+       description = "JavaScript parser and pretty-printer library";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "language-ecmascript-analysis" = callPackage
     ({ mkDerivation, base, containers, language-ecmascript, parsec
      , uniplate
@@ -126422,22 +129746,20 @@ self: {
      }) {};
 
   "language-java" = callPackage
-    ({ mkDerivation, alex, array, base, cpphs, directory, filepath
-     , HUnit, mtl, parsec, pretty, QuickCheck, test-framework
-     , test-framework-hunit, test-framework-quickcheck2
+    ({ mkDerivation, alex, array, base, directory, filepath, mtl
+     , parsec, pretty, tasty, tasty-hunit, tasty-quickcheck
      }:
      mkDerivation {
        pname = "language-java";
-       version = "0.2.8";
-       sha256 = "0ry3x4riqyjr2bwrk64992aw2g7jxzrsk8f291iby62bkq49wy0b";
-       libraryHaskellDepends = [ array base cpphs parsec pretty ];
+       version = "0.2.9";
+       sha256 = "03hrj8hgyjmw2fvvk4ik30fdmbi3hndpkvf1bqcnpzqy5anwh58x";
+       libraryHaskellDepends = [ array base parsec pretty ];
        libraryToolDepends = [ alex ];
        testHaskellDepends = [
-         base directory filepath HUnit mtl QuickCheck test-framework
-         test-framework-hunit test-framework-quickcheck2
+         base directory filepath mtl tasty tasty-hunit tasty-quickcheck
        ];
        homepage = "http://github.com/vincenthz/language-java";
-       description = "Manipulating Java source: abstract syntax, lexer, parser, and pretty-printer";
+       description = "Java source manipulation";
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
@@ -126466,8 +129788,8 @@ self: {
      }:
      mkDerivation {
        pname = "language-javascript";
-       version = "0.6.0.10";
-       sha256 = "0m1yk0v4myzjjv3czhavwlsgzp8ffpmbkwks97d3yipl1d0lrwfa";
+       version = "0.6.0.11";
+       sha256 = "0hv1rj3yarv035mpnnnbqys4sgd0awqlm5hyf29wp051r6dnwxfl";
        libraryHaskellDepends = [
          array base blaze-builder bytestring containers mtl text utf8-string
        ];
@@ -126666,6 +129988,34 @@ self: {
        maintainers = with stdenv.lib.maintainers; [ peti ];
      }) {};
 
+  "language-oberon" = callPackage
+    ({ mkDerivation, base, containers, directory, either, filepath
+     , grammatical-parsers, optparse-applicative, parsers, prettyprinter
+     , rank2classes, repr-tree-syb, tasty, tasty-hunit, text
+     }:
+     mkDerivation {
+       pname = "language-oberon";
+       version = "0.1.1";
+       sha256 = "0b63yryiaw4fr793qif2bq64fcx4ml3yi8wgkz1rg77j0nnga2vs";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base containers directory either filepath grammatical-parsers
+         parsers prettyprinter rank2classes text
+       ];
+       executableHaskellDepends = [
+         base containers either filepath grammatical-parsers
+         optparse-applicative prettyprinter rank2classes repr-tree-syb text
+       ];
+       testHaskellDepends = [
+         base directory either filepath tasty tasty-hunit
+       ];
+       homepage = "https://github.com/blamario/language-oberon";
+       description = "Parser and pretty-printer for the Oberon programming language";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "language-objc" = callPackage
     ({ mkDerivation, alex, array, base, bytestring, containers
      , directory, filepath, happy, newtype, pretty, process, syb
@@ -126737,8 +130087,8 @@ self: {
      }:
      mkDerivation {
        pname = "language-puppet";
-       version = "1.3.16";
-       sha256 = "0n0rhz4aljazfdy8057ld65sibqaipz98wmnnip2ldcqwcklawnh";
+       version = "1.3.17";
+       sha256 = "0n71grhaw59z3vqkys499kx06q10fn6l5r4sfim17vyxdy0bz8xq";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -126846,8 +130196,8 @@ self: {
      }:
      mkDerivation {
        pname = "language-rust";
-       version = "0.1.1.26";
-       sha256 = "1f363j2kpvww0v7l13lg8a2a0v0h2zw7q3x8fyssvrw3yn5afwyn";
+       version = "0.2.0.27";
+       sha256 = "04xyw05i5fbk766igpa5kx9wa4801s84wr6nyl4y9dwy8fcnq9va";
        libraryHaskellDepends = [
          array base bytestring deepseq prettyprinter template-haskell
          transformers utf8-string
@@ -127015,14 +130365,32 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "lapack" = callPackage
+    ({ mkDerivation, base, blas-ffi, comfort-array, lapack-ffi
+     , netlib-ffi, non-empty, transformers, utility-ht
+     }:
+     mkDerivation {
+       pname = "lapack";
+       version = "0.1";
+       sha256 = "195v3jpz5n5vksa8svqng1kwc629ds2kd1p55f6npz2q2j6k8lac";
+       libraryHaskellDepends = [
+         base blas-ffi comfort-array lapack-ffi netlib-ffi non-empty
+         transformers utility-ht
+       ];
+       homepage = "http://hub.darcs.net/thielema/lapack/";
+       description = "Numerical Linear Algebra using LAPACK";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "lapack-carray" = callPackage
     ({ mkDerivation, base, carray, lapack-ffi, netlib-carray
      , netlib-ffi, storable-complex, transformers
      }:
      mkDerivation {
        pname = "lapack-carray";
-       version = "0.0";
-       sha256 = "1903wa7hv6mi8zrz99fjlbwk4dvn2q2sshf7nazlyg9dz9gg861l";
+       version = "0.0.2";
+       sha256 = "1dr4mbhc5y21mbnksyi530rsvckfp4mclhhig2rjhx3b06cksfna";
        libraryHaskellDepends = [
          base carray lapack-ffi netlib-carray netlib-ffi storable-complex
          transformers
@@ -127037,8 +130405,8 @@ self: {
     ({ mkDerivation, base, liblapack, netlib-ffi }:
      mkDerivation {
        pname = "lapack-ffi";
-       version = "0.0";
-       sha256 = "1r2625li76ky8gxl07vzqh38xzrjazzf3fxzhhbl2nkjcx9bmv83";
+       version = "0.0.2";
+       sha256 = "11759avf0kzkqy4s24kn556j93l10x28njpg6h14y915pdl35dyl";
        libraryHaskellDepends = [ base netlib-ffi ];
        libraryPkgconfigDepends = [ liblapack ];
        homepage = "http://hub.darcs.net/thielema/lapack-ffi/";
@@ -127055,8 +130423,8 @@ self: {
      }:
      mkDerivation {
        pname = "lapack-ffi-tools";
-       version = "0.0.0.1";
-       sha256 = "091799j96gc1g9dq6hr3swpq4w4s0p8i5256308lwrqls1hlggs8";
+       version = "0.1.0.1";
+       sha256 = "0cddhc6hm72sjkj3i5f38z3bf4m0cy44jnbgv2v5ck5x0h55173w";
        isLibrary = false;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -127261,7 +130629,6 @@ self: {
        homepage = "https://github.com/unitb/latex-function-tables";
        description = "Function table specifications in latex";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "lattices" = callPackage
@@ -127273,35 +130640,10 @@ self: {
      }:
      mkDerivation {
        pname = "lattices";
-       version = "1.7";
-       sha256 = "1p5bqr3a8haib4wsdzy08z61jv8cq91n7rzj7wanh1nwp3r2n1nc";
-       revision = "1";
-       editedCabalFile = "1nsc77nnh8cvfw8f58g0w5mjamy4iivkadyyaj3yzawfr8jbxi53";
-       libraryHaskellDepends = [
-         base base-compat containers deepseq hashable semigroupoids tagged
-         universe-base universe-reverse-instances unordered-containers
-       ];
-       testHaskellDepends = [
-         base base-compat containers QuickCheck quickcheck-instances tasty
-         tasty-quickcheck transformers universe-instances-base
-         unordered-containers
-       ];
-       homepage = "http://github.com/phadej/lattices/";
-       description = "Fine-grained library for constructing and manipulating lattices";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "lattices_1_7_1" = callPackage
-    ({ mkDerivation, base, base-compat, containers, deepseq, hashable
-     , QuickCheck, quickcheck-instances, semigroupoids, tagged, tasty
-     , tasty-quickcheck, transformers, universe-base
-     , universe-instances-base, universe-reverse-instances
-     , unordered-containers
-     }:
-     mkDerivation {
-       pname = "lattices";
        version = "1.7.1";
        sha256 = "0bcv28dazaz0n166jbd579vim0hr4c20rmg0s34284fdr6p50m3x";
+       revision = "2";
+       editedCabalFile = "0ngxvs48hqdr5353fbblcrq5hqrwr89xl39akxg8rkridkr3hq96";
        libraryHaskellDepends = [
          base base-compat containers deepseq hashable semigroupoids tagged
          universe-base universe-reverse-instances unordered-containers
@@ -127314,7 +130656,6 @@ self: {
        homepage = "http://github.com/phadej/lattices/";
        description = "Fine-grained library for constructing and manipulating lattices";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "launchpad-control" = callPackage
@@ -127369,6 +130710,30 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "layered-state" = callPackage
+    ({ mkDerivation, base, constraints, criterion, data-default
+     , deepseq, either, exceptions, kan-extensions, lens, lens-utils
+     , monad-branch, monoid, mtl, mtl-c, primitive, profunctors
+     , prologue, timeit, transformers, typelevel
+     }:
+     mkDerivation {
+       pname = "layered-state";
+       version = "1.1.2";
+       sha256 = "1z9xz9nvzlqvzrp4dva9skci70g70lzzf5d5d38ilxvfk7kh56h6";
+       libraryHaskellDepends = [
+         base constraints data-default exceptions lens lens-utils
+         monad-branch monoid mtl primitive profunctors prologue transformers
+         typelevel
+       ];
+       benchmarkHaskellDepends = [
+         criterion deepseq either kan-extensions mtl-c timeit
+       ];
+       homepage = "https://github.com/luna/layered-state";
+       description = "Control structure similar to Control.Monad.State, allowing multiple nested states, distinguishable by provided phantom types.";
+       license = stdenv.lib.licenses.asl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "layers" = callPackage
     ({ mkDerivation, base, transformers }:
      mkDerivation {
@@ -127440,6 +130805,35 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "layouting" = callPackage
+    ({ mkDerivation, base, container, layered-state, prologue
+     , terminal-text, text
+     }:
+     mkDerivation {
+       pname = "layouting";
+       version = "1.1.3";
+       sha256 = "1ji0hmfa87n3pl61gmgk4phmpir29j5r81ack95s3h7nxh0q5qh7";
+       libraryHaskellDepends = [
+         base container layered-state prologue terminal-text text
+       ];
+       homepage = "https://github.com/luna/layouting";
+       description = "General layouting library. Currently supports layouting 2D areas and can be used as a backend for text pretty printing or automatic windows layouting managers.";
+       license = stdenv.lib.licenses.asl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "lazy" = callPackage
+    ({ mkDerivation, base, comonad }:
+     mkDerivation {
+       pname = "lazy";
+       version = "0.1";
+       sha256 = "02a9iw0ns12hszi5rim4x6pa15y3zycmbcmcwmsr6m31rzgz8ryp";
+       libraryHaskellDepends = [ base comonad ];
+       homepage = "https://github.com/nikita-volkov/lazy";
+       description = "Explicit laziness for Haskell";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "lazy-csv" = callPackage
     ({ mkDerivation, base, bytestring }:
      mkDerivation {
@@ -127899,6 +131293,19 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "left4deadrl" = callPackage
+    ({ mkDerivation, base, hscharm, random, random-shuffle }:
+     mkDerivation {
+       pname = "left4deadrl";
+       version = "0.0.2";
+       sha256 = "1lwpkhlhiy8dbw3ln0dz65ci8my7cmqs7d08f5wy728ixmmcn84w";
+       isLibrary = false;
+       isExecutable = true;
+       executableHaskellDepends = [ base hscharm random random-shuffle ];
+       description = "left4dead-inspired roguelike";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "legion" = callPackage
     ({ mkDerivation, aeson, base, binary, binary-conduit, bytestring
      , canteven-http, conduit, conduit-extra, containers
@@ -128103,8 +131510,8 @@ self: {
      }:
      mkDerivation {
        pname = "lens";
-       version = "4.15.4";
-       sha256 = "1lkwlnhgpgnsz046mw4qs0fa7h4l012gilrr3nf3spllsy3pnbkl";
+       version = "4.16.1";
+       sha256 = "1im4drhbydbawd6i0jsrzpqihnmx4ywpkg7yg94ddwsw3mxwkgpm";
        setupHaskellDepends = [ base Cabal cabal-doctest filepath ];
        libraryHaskellDepends = [
          array base base-orphans bifunctors bytestring call-stack comonad
@@ -128130,62 +131537,31 @@ self: {
        license = stdenv.lib.licenses.bsd2;
      }) {};
 
-  "lens_4_16" = callPackage
-    ({ mkDerivation, array, base, base-orphans, bifunctors, bytestring
-     , Cabal, cabal-doctest, call-stack, comonad, containers
-     , contravariant, criterion, deepseq, directory, distributive
-     , doctest, exceptions, filepath, free, generic-deriving, ghc-prim
-     , hashable, HUnit, kan-extensions, mtl, nats, parallel, profunctors
-     , QuickCheck, reflection, semigroupoids, semigroups, simple-reflect
-     , tagged, template-haskell, test-framework, test-framework-hunit
-     , test-framework-quickcheck2, test-framework-th, text
-     , th-abstraction, transformers, transformers-compat
-     , unordered-containers, vector, void
-     }:
+  "lens-accelerate" = callPackage
+    ({ mkDerivation, accelerate, base, lens }:
      mkDerivation {
-       pname = "lens";
-       version = "4.16";
-       sha256 = "16wz3s62zmnmis7xs9jahyc7b75090b96ayk98c3gvzmpg7bx54z";
+       pname = "lens-accelerate";
+       version = "0.1.0.0";
+       sha256 = "0j4mbkpdwycpc4m9vh43ylxw1k7ayhbjm8r50jb1dha24fb3d9z4";
        revision = "2";
-       editedCabalFile = "1iwp8shnis8gk01ys9bp3bn5khsi6mp0ji9b18qkg1mpp7nvggcq";
-       setupHaskellDepends = [ base Cabal cabal-doctest filepath ];
-       libraryHaskellDepends = [
-         array base base-orphans bifunctors bytestring call-stack comonad
-         containers contravariant distributive exceptions filepath free
-         ghc-prim hashable kan-extensions mtl parallel profunctors
-         reflection semigroupoids semigroups tagged template-haskell text
-         th-abstraction transformers transformers-compat
-         unordered-containers vector void
-       ];
-       testHaskellDepends = [
-         base bytestring containers deepseq directory doctest filepath
-         generic-deriving HUnit mtl nats parallel QuickCheck semigroups
-         simple-reflect test-framework test-framework-hunit
-         test-framework-quickcheck2 test-framework-th text transformers
-         unordered-containers vector
-       ];
-       benchmarkHaskellDepends = [
-         base bytestring comonad containers criterion deepseq
-         generic-deriving transformers unordered-containers vector
-       ];
-       homepage = "http://github.com/ekmett/lens/";
-       description = "Lenses, Folds and Traversals";
-       license = stdenv.lib.licenses.bsd2;
-       hydraPlatforms = stdenv.lib.platforms.none;
+       editedCabalFile = "1yk1zjwp7sabh90rgz4sa15vqj1wq837nypqjb0qhymslmrnvvnl";
+       libraryHaskellDepends = [ accelerate base lens ];
+       homepage = "https://github.com/tmcdonell/lens-accelerate";
+       description = "Instances to mix lens with accelerate";
+       license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "lens-accelerate" = callPackage
+  "lens-accelerate_0_2_0_0" = callPackage
     ({ mkDerivation, accelerate, base, lens }:
      mkDerivation {
        pname = "lens-accelerate";
-       version = "0.1.0.0";
-       sha256 = "0j4mbkpdwycpc4m9vh43ylxw1k7ayhbjm8r50jb1dha24fb3d9z4";
-       revision = "1";
-       editedCabalFile = "0mgh4px2gpbny3fnbxv91ml5anvq3gmxs3w3q0zgsbnhaw73w4cf";
+       version = "0.2.0.0";
+       sha256 = "099vvakv7gq9sr9mh3hxj5byxxb4dw8lw7y1g3c4j1kz4gf2vxfk";
        libraryHaskellDepends = [ accelerate base lens ];
        homepage = "https://github.com/tmcdonell/lens-accelerate";
        description = "Instances to mix lens with accelerate";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "lens-action" = callPackage
@@ -128217,8 +131593,8 @@ self: {
        pname = "lens-aeson";
        version = "1.0.2";
        sha256 = "1k028ycmhz7mnjlrap88fqix4nmmpyy6b88m16kv77d3r8sz04a3";
-       revision = "2";
-       editedCabalFile = "1nynlx0jyn5hfsjmzdd9pdj95hnfc6r7gfb3isdqs05ma8dihaws";
+       revision = "4";
+       editedCabalFile = "1gas30rarvr8337a06z089m3dp5kvdcvhyac2mrp5pjlfp4zz226";
        setupHaskellDepends = [ base Cabal cabal-doctest ];
        libraryHaskellDepends = [
          aeson attoparsec base bytestring lens scientific text
@@ -128297,6 +131673,19 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "lens-labels_0_2_0_1" = callPackage
+    ({ mkDerivation, base, ghc-prim, profunctors, tagged }:
+     mkDerivation {
+       pname = "lens-labels";
+       version = "0.2.0.1";
+       sha256 = "1nn0qp0xl65wc5axy68jlmif1k97af8v5r09sf02fw3iww7ym7wj";
+       libraryHaskellDepends = [ base ghc-prim profunctors tagged ];
+       homepage = "https://github.com/google/proto-lens#readme";
+       description = "Integration of lenses with OverloadedLabels";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "lens-named" = callPackage
     ({ mkDerivation, base, lens, template-haskell }:
      mkDerivation {
@@ -128340,7 +131729,6 @@ self: {
        homepage = "http://github.com/ekmett/lens/";
        description = "QuickCheck properties for lens";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "lens-regex" = callPackage
@@ -128424,8 +131812,8 @@ self: {
      }:
      mkDerivation {
        pname = "lens-toml-parser";
-       version = "0.1.0.1";
-       sha256 = "1mcbba5ff2jfr91jlzi5s5jf09p92jbpg37gf525bhv23hhid7xy";
+       version = "0.1.0.2";
+       sha256 = "1akp8mm62pnz8ncg235rdxzcrxv36paw723m7dcyr3139qflzxkn";
        libraryHaskellDepends = [ base profunctors text time toml-parser ];
        testHaskellDepends = [
          base containers dwergaz hlint lens-family text toml-parser
@@ -128433,6 +131821,7 @@ self: {
        homepage = "https://github.com/xngns/lens-toml-parser";
        description = "Lenses for toml-parser";
        license = stdenv.lib.licenses.isc;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "lens-tutorial" = callPackage
@@ -128449,13 +131838,18 @@ self: {
      }) {};
 
   "lens-utils" = callPackage
-    ({ mkDerivation, base, lens }:
+    ({ mkDerivation, aeson, base, containers, data-default, lens
+     , monoid, split, template-haskell
+     }:
      mkDerivation {
        pname = "lens-utils";
-       version = "1.2";
-       sha256 = "1ysr9ph03f8klvnbhvzjn45vsnxbfp1ry34lbcrhdm6gy7x0maib";
-       libraryHaskellDepends = [ base lens ];
-       homepage = "https://github.com/wdanilo/lens-utils";
+       version = "1.4.5";
+       sha256 = "00xcwyl12w95k14rc12ww2i0kgbrv39q1lvq5kfj3z7l5hv4fg0g";
+       libraryHaskellDepends = [
+         aeson base containers data-default lens monoid split
+         template-haskell
+       ];
+       homepage = "https://github.com/luna/lens-utils";
        description = "Collection of missing lens utilities";
        license = stdenv.lib.licenses.asl20;
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -128511,35 +131905,8 @@ self: {
      }:
      mkDerivation {
        pname = "lentil";
-       version = "1.0.9.1";
-       sha256 = "10a0y0n62n8indkhapscws3lj95riaxxdq04bcfah8ljvqy1b61r";
-       isLibrary = false;
-       isExecutable = true;
-       executableHaskellDepends = [
-         ansi-wl-pprint base csv directory filemanip filepath natural-sort
-         optparse-applicative parsec pipes regex-tdfa semigroups
-         terminal-progress-bar text transformers
-       ];
-       testHaskellDepends = [
-         ansi-wl-pprint base csv directory filemanip filepath hspec
-         natural-sort optparse-applicative parsec pipes regex-tdfa
-         semigroups terminal-progress-bar text transformers
-       ];
-       homepage = "http://www.ariis.it/static/articles/lentil/page.html";
-       description = "frugal issue tracker";
-       license = stdenv.lib.licenses.gpl3;
-     }) {};
-
-  "lentil_1_0_10_0" = callPackage
-    ({ mkDerivation, ansi-wl-pprint, base, csv, directory, filemanip
-     , filepath, hspec, natural-sort, optparse-applicative, parsec
-     , pipes, regex-tdfa, semigroups, terminal-progress-bar, text
-     , transformers
-     }:
-     mkDerivation {
-       pname = "lentil";
-       version = "1.0.10.0";
-       sha256 = "0s7qxd65bjw0h709q9igb5q4jls80wc9jzh5s8ic7ww11f0m5hm7";
+       version = "1.0.11.3";
+       sha256 = "0kb9fydcv0skp94bhvhbqggam8vrq2wv5iradxmggaf41h0ly123";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -128555,7 +131922,6 @@ self: {
        homepage = "http://www.ariis.it/static/articles/lentil/page.html";
        description = "frugal issue tracker";
        license = stdenv.lib.licenses.gpl3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "lenz" = callPackage
@@ -128582,6 +131948,8 @@ self: {
        pname = "lenz-template";
        version = "0.2.0.0";
        sha256 = "0g073wfh8522hvmy80dp8an5jr6qjnkfj3119ms3sir7dkfzljqn";
+       revision = "1";
+       editedCabalFile = "05rgdgqk2yb92wlfs13844bdh7a2k2rddnxf9fcnz1c3qq4wkyi5";
        libraryHaskellDepends = [
          base base-unicode-symbols containers lenz template-haskell
        ];
@@ -128656,8 +132024,8 @@ self: {
     ({ mkDerivation, base, bindings-levmar, hmatrix, vector }:
      mkDerivation {
        pname = "levmar";
-       version = "1.2.1.7";
-       sha256 = "07sdxa5xbgp26bjpchiy1g2n37chy95v0hfy8al5wyfbnlfws5xg";
+       version = "1.2.1.8";
+       sha256 = "0v2mfqw4irzpfq100i1rm5djfqzvxilq9i7pcslsb92jkcv2zgbc";
        libraryHaskellDepends = [ base bindings-levmar hmatrix vector ];
        homepage = "https://github.com/basvandijk/levmar";
        description = "An implementation of the Levenberg-Marquardt algorithm";
@@ -129073,6 +132441,7 @@ self: {
        ];
        description = "Jenkins API interface";
        license = stdenv.lib.licenses.bsd2;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "liblastfm" = callPackage
@@ -129209,8 +132578,8 @@ self: {
      }:
      mkDerivation {
        pname = "libmpd";
-       version = "0.9.0.7";
-       sha256 = "08i6v4i8xbv0vv4w0yqqh2pp7z0fb5dc9chgwyclkrvy480g5w0p";
+       version = "0.9.0.8";
+       sha256 = "0kpdj4ciwrfd6vmr60y7c276h5z2r40avs26a0x8s51rbr00lasq";
        libraryHaskellDepends = [
          attoparsec base bytestring containers data-default-class filepath
          mtl network old-locale text time utf8-string
@@ -129222,7 +132591,6 @@ self: {
        homepage = "http://github.com/vimus/libmpd-haskell#readme";
        description = "An MPD client library";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "libnotify" = callPackage
@@ -129357,6 +132725,7 @@ self: {
        homepage = "https://github.com/SaneTracker/librato";
        description = "Bindings to the Librato API";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "libravatar" = callPackage
@@ -129443,6 +132812,7 @@ self: {
        homepage = "https://github.com/supki/libstackexchange";
        description = "StackExchange API interface";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "libsystemd-daemon" = callPackage
@@ -129467,16 +132837,17 @@ self: {
 
   "libsystemd-journal" = callPackage
     ({ mkDerivation, base, bytestring, hashable, hsyslog, pipes
-     , pipes-safe, systemd, text, transformers, uniplate
+     , pipes-safe, semigroups, systemd, text, transformers, uniplate
      , unix-bytestring, unordered-containers, uuid, vector
      }:
      mkDerivation {
        pname = "libsystemd-journal";
-       version = "1.4.2";
-       sha256 = "0pdb4spffm4q7xxc3nd8zn4y91v5cf4xmdgb4zls3nnh579h1ygk";
+       version = "1.4.3";
+       sha256 = "1n79f0fzgrqyr9lw1qy8fzxsh74ai899pydpzpl6pfh2gfp7qvaq";
        libraryHaskellDepends = [
-         base bytestring hashable hsyslog pipes pipes-safe text transformers
-         uniplate unix-bytestring unordered-containers uuid vector
+         base bytestring hashable hsyslog pipes pipes-safe semigroups text
+         transformers uniplate unix-bytestring unordered-containers uuid
+         vector
        ];
        libraryPkgconfigDepends = [ systemd ];
        homepage = "http://github.com/ocharles/libsystemd-journal";
@@ -129512,6 +132883,7 @@ self: {
        homepage = "http://redmine.iportnov.ru/projects/libvirt-hs";
        description = "FFI bindings to libvirt virtualization API (http://libvirt.org)";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {inherit (pkgs) libvirt;};
 
   "libvorbis" = callPackage
@@ -129551,7 +132923,6 @@ self: {
        librarySystemDepends = [ libxml2 ];
        description = "Binding to libxml2";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {inherit (pkgs) libxml2;};
 
   "libxml-enumerator" = callPackage
@@ -129658,6 +133029,8 @@ self: {
        pname = "lift-generics";
        version = "0.1.2";
        sha256 = "0kk05dp6n93jgxq4x1lrckjrca6lrwa7qklr3vpzc6iyrlbvv7qf";
+       revision = "1";
+       editedCabalFile = "02hg33ikmwl81zsw8fgppix740rdc3h8fv6nr9b9h37vizhs50zw";
        libraryHaskellDepends = [
          base generic-deriving ghc-prim template-haskell
        ];
@@ -129669,6 +133042,17 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "lift-read-show" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "lift-read-show";
+       version = "0.1.0.0";
+       sha256 = "0sp725nflvqzxvhycjj1v9j46y4cx1vvbr9k6pfwz585n35gs1a0";
+       libraryHaskellDepends = [ base ];
+       description = "Helper methods to define `Read1`, `Read2`, `Show1`, `Show2` instances";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "lifted-async" = callPackage
     ({ mkDerivation, async, base, constraints, criterion, deepseq
      , HUnit, lifted-base, monad-control, mtl, tasty, tasty-hunit
@@ -129691,15 +133075,15 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "lifted-async_0_10_0" = callPackage
+  "lifted-async_0_10_0_1" = callPackage
     ({ mkDerivation, async, base, constraints, criterion, deepseq
      , HUnit, lifted-base, monad-control, mtl, tasty, tasty-hunit
      , tasty-th, transformers-base
      }:
      mkDerivation {
        pname = "lifted-async";
-       version = "0.10.0";
-       sha256 = "0w6xgyw2d3mcv8n7wnnma5dx2slz2ngis5k45x68dh7nv1azzs37";
+       version = "0.10.0.1";
+       sha256 = "1cf44j2jr2svp8g03hzf3xfmjlh7xcd40ra1k7dv6vzyzwb5p4hd";
        libraryHaskellDepends = [
          async base constraints lifted-base monad-control transformers-base
        ];
@@ -129721,10 +133105,8 @@ self: {
      }:
      mkDerivation {
        pname = "lifted-base";
-       version = "0.2.3.11";
-       sha256 = "1ass00wfa91z5xp2xmm97xrvwm7j5hdkxid5cqvr3xbwrsgpmi4f";
-       revision = "1";
-       editedCabalFile = "0vrik0j1xv2yp759ffa7jb7q838z4wglnbgsrja97mx0dwsbavnx";
+       version = "0.2.3.12";
+       sha256 = "1i8p8d3rkdh21bhgjjh32vd7qqjr7jq7p59qds0aw2kmargsjd61";
        libraryHaskellDepends = [ base monad-control transformers-base ];
        testHaskellDepends = [
          base HUnit monad-control test-framework test-framework-hunit
@@ -130083,8 +133465,8 @@ self: {
        pname = "linear";
        version = "1.20.7";
        sha256 = "1dna0zf4qwqwvslz0nkkfclvbflfvf10qydnjsi20wijilkbd22b";
-       revision = "2";
-       editedCabalFile = "1w5194k2sqr508942xr9acfzk80avc4bwax347blw4js4vl5adwn";
+       revision = "4";
+       editedCabalFile = "11fxa2bqpyf99iv2b3yzi9z17y0r70afqij52lmifsyzr24zizv3";
        setupHaskellDepends = [ base Cabal cabal-doctest ];
        libraryHaskellDepends = [
          adjunctions base base-orphans binary bytes cereal containers
@@ -130109,8 +133491,26 @@ self: {
        pname = "linear-accelerate";
        version = "0.5.0.1";
        sha256 = "0khbh6z348pv2jwyfip50hvls7pqa91bwkzks4988vxh54mp2i1l";
-       revision = "1";
-       editedCabalFile = "1r0h6mk2ai11f9grcwfbq4a5j7s9zn32m4finrigar4q22xkxf2j";
+       revision = "2";
+       editedCabalFile = "0b7amkafmf82q6a8q49q6n3v33xs16n5h6y005jva5bhpxkmn26w";
+       setupHaskellDepends = [ base Cabal cabal-doctest ];
+       libraryHaskellDepends = [
+         accelerate base distributive lens linear
+       ];
+       testHaskellDepends = [ base doctest ];
+       homepage = "http://github.com/ekmett/linear-accelerate/";
+       description = "Lifting linear vector spaces into Accelerate";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "linear-accelerate_0_6_0_0" = callPackage
+    ({ mkDerivation, accelerate, base, Cabal, cabal-doctest
+     , distributive, doctest, lens, linear
+     }:
+     mkDerivation {
+       pname = "linear-accelerate";
+       version = "0.6.0.0";
+       sha256 = "1bwqbs4816xrrc0bcf3nllad1an7c8gv2n9d1qv3ybk7s4fw288s";
        setupHaskellDepends = [ base Cabal cabal-doctest ];
        libraryHaskellDepends = [
          accelerate base distributive lens linear
@@ -130119,6 +133519,7 @@ self: {
        homepage = "http://github.com/ekmett/linear-accelerate/";
        description = "Lifting linear vector spaces into Accelerate";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "linear-algebra-cblas" = callPackage
@@ -130270,6 +133671,7 @@ self: {
        homepage = "https://github.com/leftaroundabout/linearmap-family";
        description = "Native, complete, matrix-free linear algebra";
        license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "linearscan" = callPackage
@@ -130918,6 +134320,7 @@ self: {
        testHaskellDepends = [ base tasty tasty-hunit ];
        description = "testing list fusion for success";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "list-grouping" = callPackage
@@ -131000,11 +134403,10 @@ self: {
      }:
      mkDerivation {
        pname = "list-t";
-       version = "1.0.0.1";
-       sha256 = "00gpz0fn91cj3chf13r1y83y5ifwj4b55j1c0zc2ss9yffrjjjaa";
+       version = "1.0.1";
+       sha256 = "0wv78c3fg4g98pwdamsaasfnww4mdyffp4fhvb685s12kpg8shy3";
        libraryHaskellDepends = [
-         base base-prelude mmorph monad-control mtl transformers
-         transformers-base
+         base mmorph monad-control mtl transformers transformers-base
        ];
        testHaskellDepends = [ base-prelude HTF mmorph mtl-prelude ];
        homepage = "https://github.com/nikita-volkov/list-t";
@@ -131116,8 +134518,8 @@ self: {
     ({ mkDerivation, base, doctest, mtl }:
      mkDerivation {
        pname = "list-transformer";
-       version = "1.0.3";
-       sha256 = "13pasfggjbzldy85d0kaydw95myxna63299k021fmbaifz26q2fx";
+       version = "1.0.4";
+       sha256 = "0zia1b2phk4skv39q2k481jsagz1syd6rkgfcdra15i2s5dhzvyp";
        libraryHaskellDepends = [ base mtl ];
        testHaskellDepends = [ base doctest ];
        homepage = "https://github.com/Gabriel439/Haskell-List-Transformer-Library";
@@ -131132,8 +134534,8 @@ self: {
      }:
      mkDerivation {
        pname = "list-tries";
-       version = "0.6.4";
-       sha256 = "0l1qm1n3sh6shzcl4g00w705gx0xy8qwnj68dlm18hsa9y0z572h";
+       version = "0.6.5";
+       sha256 = "1bdqja3favvxxlqxyh4r07xhkgsxan7lg8vb0nrahkfbifa4m6by";
        libraryHaskellDepends = [ base binary containers dlist ];
        testHaskellDepends = [
          base binary ChasingBottoms HUnit QuickCheck template-haskell
@@ -131611,27 +135013,52 @@ self: {
        homepage = "http://github.com/llvm-hs/llvm-hs/";
        description = "General purpose LLVM bindings";
        license = stdenv.lib.licenses.bsd3;
+     }) {llvm-config = null;};
+
+  "llvm-hs_6_2_0" = callPackage
+    ({ mkDerivation, array, attoparsec, base, bytestring, Cabal
+     , containers, exceptions, llvm-config, llvm-hs-pure, mtl
+     , pretty-show, QuickCheck, tasty, tasty-hunit, tasty-quickcheck
+     , template-haskell, temporary, transformers, utf8-string
+     }:
+     mkDerivation {
+       pname = "llvm-hs";
+       version = "6.2.0";
+       sha256 = "1s7n0sansq1mhs6dibp3ikkpn3n0h6cw2ja5m36nphjmzn47dvrk";
+       setupHaskellDepends = [ base Cabal containers ];
+       libraryHaskellDepends = [
+         array attoparsec base bytestring containers exceptions llvm-hs-pure
+         mtl template-haskell transformers utf8-string
+       ];
+       libraryToolDepends = [ llvm-config ];
+       testHaskellDepends = [
+         base bytestring containers llvm-hs-pure mtl pretty-show QuickCheck
+         tasty tasty-hunit tasty-quickcheck temporary transformers
+       ];
+       homepage = "http://github.com/llvm-hs/llvm-hs/";
+       description = "General purpose LLVM bindings";
+       license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {llvm-config = null;};
 
   "llvm-hs-pretty" = callPackage
     ({ mkDerivation, array, base, bytestring, directory, filepath
-     , llvm-hs, llvm-hs-pure, mtl, pretty-show, tasty, tasty-golden
-     , tasty-hspec, tasty-hunit, text, transformers, wl-pprint-text
+     , llvm-hs, llvm-hs-pure, mtl, tasty, tasty-golden, tasty-hspec
+     , tasty-hunit, text, transformers, wl-pprint-text
      }:
      mkDerivation {
        pname = "llvm-hs-pretty";
-       version = "0.2.0.0";
-       sha256 = "133kyksbp88q0wavp3wdjg69h9fpwi7nq626nvikdy46cf7lgklh";
+       version = "0.2.1.0";
+       sha256 = "1v8nz7c7wvvh29c48li10m12lj8y3yn5b8rs1b86y351s11vsag6";
        libraryHaskellDepends = [
          array base bytestring llvm-hs-pure text wl-pprint-text
        ];
        testHaskellDepends = [
-         base directory filepath llvm-hs llvm-hs-pure mtl pretty-show tasty
-         tasty-golden tasty-hspec tasty-hunit text transformers
+         base directory filepath llvm-hs llvm-hs-pure mtl tasty tasty-golden
+         tasty-hspec tasty-hunit text transformers
        ];
        homepage = "https://github.com/llvm-hs/llvm-hs-pretty";
-       description = "Pretty printer for LLVM IR";
+       description = "A pretty printer for LLVM IR";
        license = stdenv.lib.licenses.mit;
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
@@ -131658,6 +135085,28 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "llvm-hs-pure_6_2_0" = callPackage
+    ({ mkDerivation, attoparsec, base, bytestring, containers, fail
+     , mtl, tasty, tasty-hunit, tasty-quickcheck, template-haskell
+     , transformers, unordered-containers
+     }:
+     mkDerivation {
+       pname = "llvm-hs-pure";
+       version = "6.2.0";
+       sha256 = "1qqwhq9mjlgpyy5h8wnk1zg8y16c229397fslxyyz3bjqg5a0ghv";
+       libraryHaskellDepends = [
+         attoparsec base bytestring containers fail mtl template-haskell
+         transformers unordered-containers
+       ];
+       testHaskellDepends = [
+         base containers mtl tasty tasty-hunit tasty-quickcheck transformers
+       ];
+       homepage = "http://github.com/llvm-hs/llvm-hs/";
+       description = "Pure Haskell LLVM functionality (no FFI)";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "llvm-ht" = callPackage
     ({ mkDerivation, base, bytestring, directory, mtl, process
      , type-level
@@ -131821,8 +135270,8 @@ self: {
      }:
      mkDerivation {
        pname = "lmdb-simple";
-       version = "0.3.1.0";
-       sha256 = "1d43gss6ri05rnjsjfmaxpzb91gfvnjhz41ls7rjmqa1x8ym2lsn";
+       version = "0.4.0.0";
+       sha256 = "1bq8zdym2x1yyzafyyw2syn9pg4w33y107qyrid67492zmck10zi";
        libraryHaskellDepends = [ base bytestring lmdb serialise ];
        testHaskellDepends = [ base hspec QuickCheck ];
        benchmarkHaskellDepends = [ base criterion ];
@@ -131884,7 +135333,6 @@ self: {
        homepage = "https://github.com/SumAll/haskell-load-balancing";
        description = "Client-side load balancing utilities";
        license = stdenv.lib.licenses.asl20;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "load-env" = callPackage
@@ -131900,6 +135348,24 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "load-font" = callPackage
+    ({ mkDerivation, base, c2hs, Cabal }:
+     mkDerivation {
+       pname = "load-font";
+       version = "0.1.0.2";
+       sha256 = "06vzgyi8r1fhlc1ykdfynll7y4a0wwvjq9x0xg08csr4ypfgj6m3";
+       isLibrary = true;
+       isExecutable = true;
+       enableSeparateDataOutput = true;
+       setupHaskellDepends = [ base Cabal ];
+       libraryHaskellDepends = [ base ];
+       libraryToolDepends = [ c2hs ];
+       homepage = "https://github.com/deech/load-font#readme";
+       description = "A cross platform library for loading bundled fonts into your application";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "loadavg" = callPackage
     ({ mkDerivation, base }:
      mkDerivation {
@@ -132035,19 +135501,16 @@ self: {
      }) {};
 
   "locators" = callPackage
-    ({ mkDerivation, base, bytestring, cereal, containers, cryptohash
-     , hspec, hspec-expectations, HUnit, QuickCheck
+    ({ mkDerivation, base, bytestring, containers, cryptohash, hspec
+     , HUnit, QuickCheck
      }:
      mkDerivation {
        pname = "locators";
-       version = "0.2.4.2";
-       sha256 = "172fbxb51p09afsgp9g28zpbisxnf0wxdr3bwi6hwp40ac3363g4";
-       libraryHaskellDepends = [
-         base bytestring cereal containers cryptohash
-       ];
+       version = "0.2.4.4";
+       sha256 = "19csw13qbxxv7lr3blx856k2y21sidgpnv56dq45la3f4100jv9d";
+       libraryHaskellDepends = [ base bytestring containers cryptohash ];
        testHaskellDepends = [
-         base bytestring cereal containers cryptohash hspec
-         hspec-expectations HUnit QuickCheck
+         base bytestring containers cryptohash hspec HUnit QuickCheck
        ];
        description = "Human exchangable identifiers and locators";
        license = stdenv.lib.licenses.bsd3;
@@ -132072,8 +135535,8 @@ self: {
     ({ mkDerivation, base, pretty, template-haskell }:
      mkDerivation {
        pname = "loch-th";
-       version = "0.2.1";
-       sha256 = "1kfrjsgzq6wl749n2wm1fhwwigjxcd9lww7whiwjrbmhiz5ism3p";
+       version = "0.2.2";
+       sha256 = "1hvdkcyrlnv65q8x8h0441x30wr9bbfbg3961xd3fy9an5r961fc";
        libraryHaskellDepends = [ base pretty template-haskell ];
        homepage = "https://github.com/liskin/loch-th";
        description = "Support for precise error locations in source files (Template Haskell version)";
@@ -132082,25 +135545,21 @@ self: {
 
   "lock-file" = callPackage
     ({ mkDerivation, base, data-default-class, directory, exceptions
-     , filepath, HUnit, tagged-exception-core, test-framework
-     , test-framework-hunit, test-framework-quickcheck2, transformers
+     , filepath, HUnit, test-framework, test-framework-hunit
+     , test-framework-quickcheck2
      }:
      mkDerivation {
        pname = "lock-file";
-       version = "0.5.0.2";
-       sha256 = "1l4slkykw59p20kw9iqaa4pjczqx701a9z14nvbzwrmgs2acnki7";
-       revision = "4";
-       editedCabalFile = "0fs4mrhzj90pnc64nvm6k5v095998rxqcq3875aypkgjn2fwfsrc";
+       version = "0.7.0.0";
+       sha256 = "1vpaw3hh1as00p9vbj90cyd8nhjimgyp9hn8axgiwc1l47ddp6vc";
        libraryHaskellDepends = [
-         base data-default-class directory exceptions tagged-exception-core
-         transformers
+         base data-default-class directory exceptions
        ];
        testHaskellDepends = [
          base data-default-class directory exceptions filepath HUnit
-         tagged-exception-core test-framework test-framework-hunit
-         test-framework-quickcheck2 transformers
+         test-framework test-framework-hunit test-framework-quickcheck2
        ];
-       homepage = "https://github.com/trskop/lock-file";
+       homepage = "https://github.com/trskop/lock-file#readme";
        description = "Provide exclusive access to a resource using lock file";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -132149,6 +135608,19 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "lockpool" = callPackage
+    ({ mkDerivation, base, clock, stm }:
+     mkDerivation {
+       pname = "lockpool";
+       version = "0.1.0.0";
+       sha256 = "004lipzc3rbvixhmx4ssngmpsp3pcrdd1hw9byqmi0jp4xm17xxi";
+       libraryHaskellDepends = [ base clock stm ];
+       homepage = "https://github.com/chessai/lockpool.git";
+       description = "set a maximum on the number of concurrent actions";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "log" = callPackage
     ({ mkDerivation, aeson, base, bloodhound, bytestring, ekg
      , exceptions, hpqtypes, http-client, http-types, log-base
@@ -132205,8 +135677,8 @@ self: {
        pname = "log-domain";
        version = "0.12";
        sha256 = "0zin3zgxrx8v69blqzkd5gjk0nmpmg58caqz2xa8qd4v1fjcp4bi";
-       revision = "1";
-       editedCabalFile = "0p2cmr9lpbakh4ml4mxgh4fhqmxdk78xpcnqblag1cllx9jrmk5b";
+       revision = "2";
+       editedCabalFile = "1yjphyqyn8122ikxxv0a10fh2cbavy7xyb435jxq6gln8sw3m54d";
        setupHaskellDepends = [ base Cabal cabal-doctest ];
        libraryHaskellDepends = [
          base binary bytes cereal comonad deepseq distributive hashable
@@ -132221,17 +135693,18 @@ self: {
      }) {};
 
   "log-effect" = callPackage
-    ({ mkDerivation, base, bytestring, extensible-effects, fast-logger
-     , time
+    ({ mkDerivation, base, bytestring, extensible-effects
+     , monad-control, text, transformers-base
      }:
      mkDerivation {
        pname = "log-effect";
-       version = "0.4.0.1";
-       sha256 = "05rx54bsypisw6k8xm87a4rssyb0lwx7xavwamb1ciiwmvg3j14m";
+       version = "1.0.0";
+       sha256 = "0xj0g5g054ayycdajryischj2yy9rb75cm782sgsj67p04943c5y";
        libraryHaskellDepends = [
-         base bytestring extensible-effects fast-logger time
+         base bytestring extensible-effects monad-control text
+         transformers-base
        ];
-       homepage = "https://github.com/ibotty/log-effect";
+       homepage = "https://github.com/greydot/log-effect";
        description = "An extensible log effect using extensible-effects";
        license = stdenv.lib.licenses.mit;
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -132259,6 +135732,27 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "log-elasticsearch_0_10_0_0" = callPackage
+    ({ mkDerivation, aeson, aeson-pretty, base, base64-bytestring
+     , bloodhound, bytestring, deepseq, http-client, http-client-tls
+     , log-base, semigroups, text, text-show, time, transformers
+     , unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "log-elasticsearch";
+       version = "0.10.0.0";
+       sha256 = "0bjsng7ganwbqxvj9zi7w7l547iw9yh972bc0mc82cnwd6awclj5";
+       libraryHaskellDepends = [
+         aeson aeson-pretty base base64-bytestring bloodhound bytestring
+         deepseq http-client http-client-tls log-base semigroups text
+         text-show time transformers unordered-containers vector
+       ];
+       homepage = "https://github.com/scrive/log";
+       description = "Structured logging solution (Elasticsearch back end)";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "log-postgres" = callPackage
     ({ mkDerivation, aeson, aeson-pretty, base, base64-bytestring
      , bytestring, deepseq, hpqtypes, http-client, lifted-base, log-base
@@ -132308,38 +135802,6 @@ self: {
 
   "log-warper" = callPackage
     ({ mkDerivation, aeson, ansi-terminal, async, base, containers
-     , data-default, deepseq, directory, filepath, fmt, hspec, HUnit
-     , markdown-unlit, microlens-mtl, microlens-platform, mmorph
-     , monad-control, monad-loops, mtl, QuickCheck, text, time
-     , transformers, transformers-base, universum, unix
-     , unordered-containers, vector, yaml
-     }:
-     mkDerivation {
-       pname = "log-warper";
-       version = "1.8.3";
-       sha256 = "1awblvxh6cncwlqacxb1wq4s77x79ncrz6dl81wgrbjjifwpf0xz";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         aeson ansi-terminal base containers deepseq directory filepath fmt
-         microlens-platform mmorph monad-control monad-loops mtl text time
-         transformers transformers-base universum unix unordered-containers
-         vector yaml
-       ];
-       executableHaskellDepends = [
-         base markdown-unlit mtl text universum yaml
-       ];
-       testHaskellDepends = [
-         async base data-default directory filepath hspec HUnit
-         microlens-mtl QuickCheck universum unordered-containers
-       ];
-       homepage = "https://github.com/serokell/log-warper";
-       description = "Flexible, configurable, monadic and pretty logging";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-
-  "log-warper_1_8_10" = callPackage
-    ({ mkDerivation, aeson, ansi-terminal, async, base, containers
      , data-default, deepseq, directory, filepath, fmt, hspec
      , hspec-discover, HUnit, lifted-async, markdown-unlit, microlens
      , microlens-mtl, microlens-platform, mmorph, monad-control
@@ -132349,8 +135811,8 @@ self: {
      }:
      mkDerivation {
        pname = "log-warper";
-       version = "1.8.10";
-       sha256 = "0wl1i68xnvla6fzgxfkqbk6hhqx9h0yp4br30y0fzwyk8p5v4l37";
+       version = "1.8.11";
+       sha256 = "0xhvipk5dlv7r2pmgn5mf46rrz092xhm6ar611y5lrr99i2kg172";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -132486,8 +135948,8 @@ self: {
      }:
      mkDerivation {
        pname = "logging-effect";
-       version = "1.2.4";
-       sha256 = "14j63172ml4yj7sqscjxdkxxg869w6hvnlysf9s79qzbjnw44h3h";
+       version = "1.2.6";
+       sha256 = "091ii2cq5wns9mc3mckwjcjgav9s2jj8nnamwqd2vf24w932ilv7";
        libraryHaskellDepends = [
          async base exceptions free monad-control mtl semigroups stm
          stm-delay text time transformers transformers-base wl-pprint-text
@@ -132546,8 +136008,8 @@ self: {
      }:
      mkDerivation {
        pname = "logging-effect-extra-handler";
-       version = "1.1.2";
-       sha256 = "1688vdlzyy8ikz2r96czyk0ganpv6h37x02sp930fmrj2qlwbvql";
+       version = "1.1.4";
+       sha256 = "0932i0qrwrr2j7w40bf3q5dlazz4800drc0chvr1kpbpk6b4njim";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -132679,7 +136141,6 @@ self: {
        homepage = "https://github.com/atzedijkstra/logict-state";
        description = "Library for logic programming based on haskell package logict";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "logplex-parse" = callPackage
@@ -132984,6 +136445,18 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "long-double" = callPackage
+    ({ mkDerivation, base, integer-gmp }:
+     mkDerivation {
+       pname = "long-double";
+       version = "0.1";
+       sha256 = "072yfv1kv83k8qc9apks2czr9p6znk46bbbjmsdbcpzyb8byh64j";
+       libraryHaskellDepends = [ base integer-gmp ];
+       homepage = "https://code.mathr.co.uk/long-double";
+       description = "FFI bindings for C long double";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "longboi" = callPackage
     ({ mkDerivation, base }:
      mkDerivation {
@@ -133069,6 +136542,7 @@ self: {
        benchmarkHaskellDepends = [ base criterion transformers vector ];
        description = "Fast imperative-style loops";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "loopy" = callPackage
@@ -133295,6 +136769,8 @@ self: {
        pname = "lrucaching";
        version = "0.3.3";
        sha256 = "192a2zap1bmxa2y48n48rmngf18fr8k0az4a230hziv3g795yzma";
+       revision = "2";
+       editedCabalFile = "0ypilhv8im5vqwdy6wk9ql2dlpr4cykag6ikvyjapl8bpyfm44xa";
        libraryHaskellDepends = [
          base base-compat deepseq hashable psqueues vector
        ];
@@ -133412,6 +136888,7 @@ self: {
        ];
        description = "Parameterized file evaluator";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "ltiv1p1" = callPackage
@@ -133562,8 +137039,10 @@ self: {
      }:
      mkDerivation {
        pname = "lucid";
-       version = "2.9.9";
-       sha256 = "0cqdlm1kamfn8kv3r3vphz16j2xi9yf15kpb6440rhsyvwddbani";
+       version = "2.9.10";
+       sha256 = "14238cnrvkbr81hpaqg1r342sryj8k0p6igkwf140s9phfpdzry0";
+       revision = "1";
+       editedCabalFile = "0n94x2havrvks85z8azsa4pvz33amhb444cias3kfxmkyvypn5ah";
        libraryHaskellDepends = [
          base blaze-builder bytestring containers hashable mmorph mtl text
          transformers unordered-containers
@@ -133591,7 +137070,6 @@ self: {
        homepage = "https://github.com/andrewthad/colonnade#readme";
        description = "Helper functions for using lucid with colonnade";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "lucid-extras" = callPackage
@@ -133962,8 +137440,8 @@ self: {
      }:
      mkDerivation {
        pname = "lz4-conduit";
-       version = "0.2";
-       sha256 = "18zl3cxa8f6n64p1iz9l834vkk93bjdb37h69jj5wdd4q6hc51km";
+       version = "0.3";
+       sha256 = "18yjrf9iw4bwq25x7fd95lf99qcqj9nm3hdq6lkgxc5plgy94nyf";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -133989,8 +137467,8 @@ self: {
        pname = "lzma";
        version = "0.0.0.3";
        sha256 = "0i416gqi8j55nd1pqbkxvf3f6hn6fjys6gq98lkkxphva71j30xg";
-       revision = "1";
-       editedCabalFile = "0y89blvpswvji1ya7h67gcx322iqi93di3jmwx47l6mic3ki4r2d";
+       revision = "2";
+       editedCabalFile = "0c6jkr22w797jvmad9vki2mm7cdzxpqqxkpv836fh5m248nnc618";
        libraryHaskellDepends = [ base bytestring ];
        librarySystemDepends = [ lzma ];
        testHaskellDepends = [
@@ -134173,8 +137651,8 @@ self: {
      }:
      mkDerivation {
        pname = "machinecell";
-       version = "4.0.0";
-       sha256 = "1wwrgd1ag104kdx97vii3rh9lj9lg1vg04rr98ldi2ikb90jbgwb";
+       version = "4.0.1";
+       sha256 = "1j2gzs7icvffga3b71dmik5ryb2mivmx5dvzii453nivgcxwyw22";
        libraryHaskellDepends = [
          base free mtl profunctors semigroups transformers
        ];
@@ -134184,6 +137662,7 @@ self: {
        homepage = "http://github.com/as-capabl/machinecell";
        description = "Arrow based stream transducers";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "machines" = callPackage
@@ -134196,8 +137675,8 @@ self: {
        pname = "machines";
        version = "0.6.3";
        sha256 = "1kxypm26xxd30979yrg94pnaaj3yfn180ri3y4z2xsm2m5iyiliz";
-       revision = "5";
-       editedCabalFile = "1w9z6j74vdsaiqr5jhw4zvgl2n3l6fw3x1sgvf1yysmxkx9hhhdn";
+       revision = "6";
+       editedCabalFile = "0ga5x9lpik7gz2fx4j3jnn6dw8xkd9cxg19ngj8iwrx4b946m1w7";
        setupHaskellDepends = [ base Cabal cabal-doctest ];
        libraryHaskellDepends = [
          adjunctions base comonad containers distributive mtl pointed
@@ -134409,24 +137888,25 @@ self: {
      , composition-prelude, containers, criterion, directory, file-embed
      , hspec, hspec-megaparsec, http-client, http-client-tls, megaparsec
      , MonadRandom, mtl, optparse-applicative, random-shuffle
-     , recursion-schemes, recursion-schemes-ext, tar, template-haskell
-     , text, th-lift-instances, titlecase, zip-archive, zlib
+     , recursion-schemes, tar, template-haskell, text, th-lift-instances
+     , titlecase, zip-archive, zlib
      }:
      mkDerivation {
        pname = "madlang";
-       version = "4.0.0.4";
-       sha256 = "1rfax7s4sc63943izc1r0gk848ji0kxsjgsb81i2f6dc5860xkz9";
+       version = "4.0.2.7";
+       sha256 = "08zi6v7p5wy8764505n7wk69iliab1hy40agz9qvgsq9iqi20h3f";
        isLibrary = true;
        isExecutable = true;
        setupHaskellDepends = [ base Cabal cli-setup ];
        libraryHaskellDepends = [
          ansi-wl-pprint base binary composition-prelude containers directory
          file-embed http-client http-client-tls megaparsec MonadRandom mtl
-         optparse-applicative random-shuffle recursion-schemes
-         recursion-schemes-ext tar template-haskell text th-lift-instances
-         titlecase zip-archive zlib
+         random-shuffle recursion-schemes tar template-haskell text
+         th-lift-instances titlecase zip-archive zlib
+       ];
+       executableHaskellDepends = [
+         base directory megaparsec optparse-applicative text
        ];
-       executableHaskellDepends = [ base ];
        testHaskellDepends = [ base hspec hspec-megaparsec text ];
        benchmarkHaskellDepends = [ base criterion megaparsec text ];
        homepage = "https://hub.darcs.net/vmchale/madlang";
@@ -134497,37 +137977,6 @@ self: {
      }) {};
 
   "magicbane" = callPackage
-    ({ mkDerivation, aeson, aeson-qq, attoparsec, base, classy-prelude
-     , conduit, conduit-combinators, data-default, data-has, ekg-core
-     , ekg-wai, envy, errors, fast-logger, http-api-data, http-client
-     , http-client-tls, http-conduit, http-date, http-link-header
-     , http-media, http-types, lifted-async, mime-types, monad-control
-     , monad-logger, monad-metrics, mtl, network, network-uri
-     , raw-strings-qq, refined, servant, servant-server, split
-     , string-conversions, text, transformers, unordered-containers, wai
-     , wai-cli, wai-middleware-metrics
-     }:
-     mkDerivation {
-       pname = "magicbane";
-       version = "0.1.4";
-       sha256 = "1zfj188iw6g0ym88p69wrf5avbipjxvijklphki5bj3rc7h8cyx0";
-       libraryHaskellDepends = [
-         aeson aeson-qq attoparsec base classy-prelude conduit
-         conduit-combinators data-default data-has ekg-core ekg-wai envy
-         errors fast-logger http-api-data http-client http-client-tls
-         http-conduit http-date http-link-header http-media http-types
-         lifted-async mime-types monad-control monad-logger monad-metrics
-         mtl network network-uri raw-strings-qq refined servant
-         servant-server split string-conversions text transformers
-         unordered-containers wai wai-cli wai-middleware-metrics
-       ];
-       homepage = "https://github.com/myfreeweb/magicbane#readme";
-       description = "A web framework that integrates Servant, ClassyPrelude, EKG, fast-logger, wai-cli…";
-       license = stdenv.lib.licenses.publicDomain;
-       hydraPlatforms = stdenv.lib.platforms.none;
-     }) {};
-
-  "magicbane_0_2_0" = callPackage
     ({ mkDerivation, aeson, aeson-qq, async, attoparsec, base
      , bytestring, conduit, conduit-combinators, data-default, data-has
      , ekg-core, ekg-wai, envy, errors, fast-logger, http-api-data
@@ -134721,6 +138170,24 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "main-tester" = callPackage
+    ({ mkDerivation, base, bytestring, directory, doctest, hspec
+     , hspec-core, QuickCheck, text
+     }:
+     mkDerivation {
+       pname = "main-tester";
+       version = "0.1.0.0";
+       sha256 = "0sagm9fkdgjv8x602bjj32glcrivjf3yz47gpbbm48k0mk0dj2dc";
+       libraryHaskellDepends = [ base bytestring directory ];
+       testHaskellDepends = [
+         base bytestring doctest hspec hspec-core QuickCheck text
+       ];
+       homepage = "https://gitlab.com/igrep/main-tester#readme";
+       description = "Capture stdout/stderr/exit code, and replace stdin of your main function";
+       license = stdenv.lib.licenses.asl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "mainland-pretty" = callPackage
     ({ mkDerivation, base, containers, srcloc, text, transformers }:
      mkDerivation {
@@ -134735,6 +138202,21 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "mainland-pretty_0_7" = callPackage
+    ({ mkDerivation, base, containers, srcloc, text, transformers }:
+     mkDerivation {
+       pname = "mainland-pretty";
+       version = "0.7";
+       sha256 = "1xzavchbp345a63i24hs8632l3xk0c1pxqd32b2i6615cp9pnxqi";
+       libraryHaskellDepends = [
+         base containers srcloc text transformers
+       ];
+       homepage = "https://github.com/mainland/mainland-pretty";
+       description = "Pretty printing designed for printing source code";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "majordomo" = callPackage
     ({ mkDerivation, base, bytestring, cmdargs, monad-loops, old-locale
      , threads, time, unix, zeromq-haskell
@@ -135283,8 +138765,8 @@ self: {
      }:
      mkDerivation {
        pname = "mandrill";
-       version = "0.5.3.2";
-       sha256 = "1jzlfi7b4djkwm0vx9ii55db0jf4v8av3idkgg8x3ix95pvps397";
+       version = "0.5.3.3";
+       sha256 = "0hhyif8lqq16i25bvpz7z54n2rmnq9q198pjdm4vssh02597lnn8";
        libraryHaskellDepends = [
          aeson base base64-bytestring blaze-html bytestring containers
          email-validate http-client http-client-tls http-types lens mtl
@@ -135364,8 +138846,8 @@ self: {
      }:
      mkDerivation {
        pname = "manifold-random";
-       version = "0.4.4.0";
-       sha256 = "1qihbyhmf9abyb7fh4gf6qxwbk2a1jwnxdpnjinfi3x87xasvajj";
+       version = "0.4.5.0";
+       sha256 = "0z21jcrzky80fq172b2s0hwna4g1kzfzval40cdl6glf0l2zfimv";
        libraryHaskellDepends = [
          base constrained-categories linearmap-category manifolds random-fu
          semigroups vector-space
@@ -135373,47 +138855,67 @@ self: {
        homepage = "https://github.com/leftaroundabout/manifolds";
        description = "Sampling random points on general manifolds";
        license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "manifolds" = callPackage
     ({ mkDerivation, base, call-stack, comonad, constrained-categories
      , containers, deepseq, free, free-vector-spaces, lens, linear
      , linearmap-category, manifolds-core, MemoTrie, number-show
-     , placeholders, pragmatic-show, semigroups, tagged, tasty
-     , tasty-hunit, tasty-quickcheck, transformers, vector, vector-space
-     , void
+     , placeholders, pragmatic-show, QuickCheck, semigroups, tagged
+     , tasty, tasty-hunit, tasty-quickcheck, transformers, vector
+     , vector-space, void
      }:
      mkDerivation {
        pname = "manifolds";
-       version = "0.4.4.0";
-       sha256 = "1wsqar82w0sqspihyvkd9jndw2q6818nci82clqgxb1dawyna5vx";
+       version = "0.4.5.0";
+       sha256 = "0paq7x9nhna74q4y7gvwlvwfpzxil9dx9ysg3r6k5as4i9687442";
        libraryHaskellDepends = [
          base call-stack comonad constrained-categories containers deepseq
          free free-vector-spaces lens linear linearmap-category
          manifolds-core MemoTrie number-show placeholders pragmatic-show
-         semigroups tagged transformers vector vector-space void
+         QuickCheck semigroups tagged transformers vector vector-space void
        ];
        testHaskellDepends = [
-         base constrained-categories containers lens linearmap-category
-         pragmatic-show tasty tasty-hunit tasty-quickcheck vector-space
+         base constrained-categories containers lens linear
+         linearmap-category pragmatic-show tasty tasty-hunit
+         tasty-quickcheck vector-space
        ];
        homepage = "https://github.com/leftaroundabout/manifolds";
        description = "Coordinate-free hypersurfaces";
        license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "manifolds-core" = callPackage
     ({ mkDerivation, base, call-stack, tagged, vector-space }:
      mkDerivation {
        pname = "manifolds-core";
-       version = "0.4.4.0";
-       sha256 = "00b24ry943f6m46wkbxh8452q9xswcn2ri9c511r9bsinhzg653q";
+       version = "0.4.5.0";
+       sha256 = "1g2lb8f2l9gwpflifm8idvf2w6if497gc6pgpr7j6s9c7byh8p3p";
        libraryHaskellDepends = [ base call-stack tagged vector-space ];
        homepage = "https://github.com/leftaroundabout/manifolds";
        description = "The basic classes for the manifolds hierarchy";
        license = stdenv.lib.licenses.gpl3;
      }) {};
 
+  "map-classes" = callPackage
+    ({ mkDerivation, array, base, bytestring, containers
+     , kan-extensions, transformers, utility-ht
+     }:
+     mkDerivation {
+       pname = "map-classes";
+       version = "0.1.0.0";
+       sha256 = "1bimmnr6k1a87l24a7gzylx02gal64jcvg0zv6ci82nxbb7i1v0c";
+       libraryHaskellDepends = [
+         array base bytestring containers kan-extensions transformers
+         utility-ht
+       ];
+       homepage = "https://github.com/clintonmead/map-classes";
+       description = "A set of classes and instances for working with key/value mappings";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "map-exts" = callPackage
     ({ mkDerivation, base, bytestring, cassava, containers }:
      mkDerivation {
@@ -135427,7 +138929,6 @@ self: {
        homepage = "http://github.com/charles-cooper/map-exts#readme";
        description = "Extensions to Data.Map";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "map-syntax" = callPackage
@@ -135438,8 +138939,8 @@ self: {
        pname = "map-syntax";
        version = "0.2.0.2";
        sha256 = "12jdv9myffpkhhrwm5kzhbqzbxfb0rb4fvww33d0yq4s6sk9b3xi";
-       revision = "1";
-       editedCabalFile = "0k27w9bw4lri2nfm7s7v7gq49mr0him5g2dsc0wha5kzj4gmy87q";
+       revision = "2";
+       editedCabalFile = "12b3pbrd70xpx634ngl4dcvda5p9494wq6mc8s1wv4624hwlgja6";
        libraryHaskellDepends = [ base containers mtl ];
        testHaskellDepends = [
          base containers deepseq hspec HUnit mtl QuickCheck transformers
@@ -135448,6 +138949,50 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "map-syntax_0_3" = callPackage
+    ({ mkDerivation, base, containers, deepseq, hspec, HUnit, mtl
+     , QuickCheck, transformers
+     }:
+     mkDerivation {
+       pname = "map-syntax";
+       version = "0.3";
+       sha256 = "0b3ddi998saw5gi5r4bjbpid03rxlifn08zv15wf0b90ambhcc4k";
+       libraryHaskellDepends = [ base containers mtl ];
+       testHaskellDepends = [
+         base containers deepseq hspec HUnit mtl QuickCheck transformers
+       ];
+       description = "Syntax sugar for defining maps";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "mapalgebra" = callPackage
+    ({ mkDerivation, base, bytestring, containers, criterion
+     , data-default, deepseq, hmatrix, HUnit-approx, massiv, massiv-io
+     , QuickCheck, tasty, tasty-hunit, tasty-quickcheck, vector
+     }:
+     mkDerivation {
+       pname = "mapalgebra";
+       version = "0.1.0";
+       sha256 = "1d4cdwkrbvkh53h3vkzghikmbnba3x1j84r0wgsc90cnr2im5san";
+       libraryHaskellDepends = [
+         base bytestring containers data-default deepseq hmatrix massiv
+         massiv-io vector
+       ];
+       testHaskellDepends = [
+         base bytestring containers data-default deepseq hmatrix
+         HUnit-approx massiv massiv-io QuickCheck tasty tasty-hunit
+         tasty-quickcheck vector
+       ];
+       benchmarkHaskellDepends = [
+         base bytestring containers criterion data-default deepseq hmatrix
+         massiv massiv-io vector
+       ];
+       homepage = "https://github.com/fosskers/mapalgebra";
+       description = "Efficient, polymorphic Map Algebra";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "mappy" = callPackage
     ({ mkDerivation, ansi-terminal, base, containers, directory
      , haskeline, hspec, parsec, QuickCheck
@@ -135489,6 +139034,23 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "marihana" = callPackage
+    ({ mkDerivation, base, directory, filepath, process }:
+     mkDerivation {
+       pname = "marihana";
+       version = "0.2.2.0";
+       sha256 = "0xg2ldcm01b352zjv9rh0vvdbhxbcwfvi8464ymh4ms8nh3x4hb6";
+       isLibrary = true;
+       isExecutable = true;
+       enableSeparateDataOutput = true;
+       libraryHaskellDepends = [ base directory filepath process ];
+       executableHaskellDepends = [ base directory filepath process ];
+       testHaskellDepends = [ base directory filepath process ];
+       homepage = "https://github.com/suzukeno/marihana#readme";
+       description = "Minimal tool to make your blog in Haskell";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "marionetta" = callPackage
     ({ mkDerivation, base, containers, gloss, mtl, splines, vector
      , vector-space
@@ -135510,22 +139072,22 @@ self: {
 
   "markdown" = callPackage
     ({ mkDerivation, attoparsec, base, blaze-html, blaze-markup
-     , conduit, conduit-extra, containers, data-default, directory
-     , filepath, hspec, text, transformers, xml-conduit, xml-types
-     , xss-sanitize
+     , call-stack, conduit, conduit-extra, containers, data-default
+     , directory, filepath, hspec, text, transformers, xml-conduit
+     , xml-types, xss-sanitize
      }:
      mkDerivation {
        pname = "markdown";
-       version = "0.1.16";
-       sha256 = "11gdawvwji7301lm07z5q94g5jlf9iq63wf6k7f6sc88w99b7c08";
+       version = "0.1.17.1";
+       sha256 = "0n1vcw0vmhpgsmyxxafc82r2kp27g081zwx9md96zj5x5642vxz1";
        libraryHaskellDepends = [
          attoparsec base blaze-html blaze-markup conduit conduit-extra
          containers data-default text transformers xml-conduit xml-types
          xss-sanitize
        ];
        testHaskellDepends = [
-         base blaze-html conduit conduit-extra containers directory filepath
-         hspec text transformers
+         base blaze-html call-stack conduit conduit-extra containers
+         directory filepath hspec text transformers
        ];
        homepage = "https://github.com/snoyberg/markdown";
        description = "Convert Markdown to HTML, with XSS protection";
@@ -135573,27 +139135,6 @@ self: {
      }:
      mkDerivation {
        pname = "markdown-unlit";
-       version = "0.4.1";
-       sha256 = "00q9igbplavnrjhg0fjfdg30pnmw9gsrnsk9l3hhp5dmi1lxhf3l";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [ base base-compat ];
-       executableHaskellDepends = [ base base-compat ];
-       testHaskellDepends = [
-         base base-compat directory hspec QuickCheck silently stringbuilder
-         temporary
-       ];
-       homepage = "https://github.com/sol/markdown-unlit#readme";
-       description = "Literate Haskell support for Markdown";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-
-  "markdown-unlit_0_5_0" = callPackage
-    ({ mkDerivation, base, base-compat, directory, hspec, QuickCheck
-     , silently, stringbuilder, temporary
-     }:
-     mkDerivation {
-       pname = "markdown-unlit";
        version = "0.5.0";
        sha256 = "1gy79vr85vcp13rdjh0hz7zv6daqqffww4j0cqn2lpjjh9xhsbg7";
        isLibrary = true;
@@ -135607,7 +139148,6 @@ self: {
        homepage = "https://github.com/sol/markdown-unlit#readme";
        description = "Literate Haskell support for Markdown";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "markdown2svg" = callPackage
@@ -135683,40 +139223,40 @@ self: {
      }) {};
 
   "markup" = callPackage
-    ({ mkDerivation, base, blaze-html, blaze-markup, clay, comonad
-     , lucid, mmorph, monad-control, monad-logger, mtl, path-extra
-     , resourcet, text, transformers-base, urlpath
+    ({ mkDerivation, attoparsec-uri, base, blaze-html, blaze-markup
+     , clay, comonad, lucid, mmorph, monad-control, monad-logger, mtl
+     , path-extra, resourcet, text, transformers-base, urlpath
      }:
      mkDerivation {
        pname = "markup";
-       version = "4.0.3";
-       sha256 = "1a4n89j8z3sgyigbxkc10lb3kz6x5bf0kdcs1k0hydcj0vdvwqh3";
+       version = "4.0.4";
+       sha256 = "1brk619d2abryvwyw9pj7g4axs1rc6p51cf4yf5q1p6f0zvi2dyb";
        libraryHaskellDepends = [
-         base blaze-html blaze-markup clay comonad lucid mmorph
-         monad-control monad-logger mtl path-extra resourcet text
+         attoparsec-uri base blaze-html blaze-markup clay comonad lucid
+         mmorph monad-control monad-logger mtl path-extra resourcet text
          transformers-base urlpath
        ];
        description = "Abstraction for HTML-embedded content";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
-  "markup_4_0_4" = callPackage
+  "markup_4_2_0" = callPackage
     ({ mkDerivation, attoparsec-uri, base, blaze-html, blaze-markup
      , clay, comonad, lucid, mmorph, monad-control, monad-logger, mtl
-     , path-extra, resourcet, text, transformers-base, urlpath
+     , path, path-extra, resourcet, text, transformers-base, urlpath
      }:
      mkDerivation {
        pname = "markup";
-       version = "4.0.4";
-       sha256 = "1brk619d2abryvwyw9pj7g4axs1rc6p51cf4yf5q1p6f0zvi2dyb";
+       version = "4.2.0";
+       sha256 = "065pq5m12hk9k6c8lzrgr5mzgz2rzpafhlaql6bvv422j3pbkfgs";
        libraryHaskellDepends = [
          attoparsec-uri base blaze-html blaze-markup clay comonad lucid
-         mmorph monad-control monad-logger mtl path-extra resourcet text
-         transformers-base urlpath
+         mmorph monad-control monad-logger mtl path path-extra resourcet
+         text transformers-base urlpath
        ];
+       homepage = "https://github.com/athanclark/markup#readme";
        description = "Abstraction for HTML-embedded content";
-       license = stdenv.lib.licenses.mit;
+       license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
@@ -135928,10 +139468,8 @@ self: {
      }:
      mkDerivation {
        pname = "massiv";
-       version = "0.1.1.0";
-       sha256 = "0xl6f3cxhfbyz15p4mayj0489mjgrvla7hz0sf0i58bfcl2b8r8q";
-       revision = "1";
-       editedCabalFile = "0qymziv7s5w70z0f32l8ns8xhzn9m4qrjhr9sfiy9wc1li0q3pch";
+       version = "0.1.6.1";
+       sha256 = "1ifkzalbhp3jv41x9zwsn0ks3ahrab6gs1x57c4y0ww56qf0gv2y";
        libraryHaskellDepends = [
          base data-default-class deepseq ghc-prim primitive vector
        ];
@@ -135949,10 +139487,8 @@ self: {
      }:
      mkDerivation {
        pname = "massiv-io";
-       version = "0.1.1.0";
-       sha256 = "05sj1w06crdncibsknyrhbjwaldsixfw6qncld736ryr1sjcqv6j";
-       revision = "1";
-       editedCabalFile = "1nsi12h9jcmypim3vd9x1a5czx9cqcnpf12lbi7d1ipmnqclrj3r";
+       version = "0.1.3.0";
+       sha256 = "08jngww0ki28d2mhfj9vw4rlxigzzvgb295k5fnj0cr7xmhr48zx";
        libraryHaskellDepends = [
          base bytestring data-default deepseq directory filepath JuicyPixels
          massiv netpbm process vector
@@ -136243,6 +139779,24 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "matrix_0_3_6_1" = callPackage
+    ({ mkDerivation, base, criterion, deepseq, loop, primitive
+     , QuickCheck, semigroups, tasty, tasty-quickcheck, vector
+     }:
+     mkDerivation {
+       pname = "matrix";
+       version = "0.3.6.1";
+       sha256 = "0b1v17rc9q7ni44gkzp124kmc5d6xmlpiqvskgjrq54qpjinr5zs";
+       libraryHaskellDepends = [
+         base deepseq loop primitive semigroups vector
+       ];
+       testHaskellDepends = [ base QuickCheck tasty tasty-quickcheck ];
+       benchmarkHaskellDepends = [ base criterion ];
+       description = "A native implementation of matrix operations";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "matrix-market" = callPackage
     ({ mkDerivation, base, bytestring }:
      mkDerivation {
@@ -136313,36 +139867,37 @@ self: {
      , brick, brick-skylighting, bytestring, cheapskate, checkers
      , config-ini, connection, containers, directory, filepath, gitrev
      , hashable, Hclip, mattermost-api, mattermost-api-qc
-     , microlens-platform, mtl, process, quickcheck-text, semigroups
-     , skylighting, stm, stm-delay, strict, string-conversions, tasty
-     , tasty-hunit, tasty-quickcheck, temporary, text, text-zipper, time
-     , timezone-olson, timezone-series, transformers, Unique, unix
-     , unordered-containers, utf8-string, vector, vty, word-wrap
-     , xdg-basedir
+     , microlens-platform, mtl, process, quickcheck-text, random
+     , semigroups, skylighting-core, stm, stm-delay, strict
+     , string-conversions, tasty, tasty-hunit, tasty-quickcheck
+     , temporary, text, text-zipper, time, timezone-olson
+     , timezone-series, transformers, Unique, unix, unordered-containers
+     , utf8-string, uuid, vector, vty, word-wrap, xdg-basedir
      }:
      mkDerivation {
        pname = "matterhorn";
-       version = "40700.0.0";
-       sha256 = "1knf05p9qmk51ysvp2gp718d365g9n7myycb07w8d84f4vrphg51";
+       version = "40901.0.0";
+       sha256 = "1ra1ikivf5y17mzwjvfsvg1kz4438wllv2qwxzaigb9cirrz0n4r";
        isLibrary = false;
        isExecutable = true;
+       enableSeparateDataOutput = true;
        executableHaskellDepends = [
          aeson aspell-pipe async base base-compat brick brick-skylighting
          bytestring cheapskate config-ini connection containers directory
          filepath gitrev hashable Hclip mattermost-api microlens-platform
-         mtl process semigroups skylighting stm stm-delay strict temporary
-         text text-zipper time timezone-olson timezone-series transformers
-         unix unordered-containers utf8-string vector vty word-wrap
-         xdg-basedir
+         mtl process random semigroups skylighting-core stm stm-delay strict
+         temporary text text-zipper time timezone-olson timezone-series
+         transformers unix unordered-containers utf8-string uuid vector vty
+         word-wrap xdg-basedir
        ];
        testHaskellDepends = [
          base base-compat brick bytestring cheapskate checkers config-ini
          connection containers directory filepath hashable Hclip
          mattermost-api mattermost-api-qc microlens-platform mtl process
-         quickcheck-text stm strict string-conversions tasty tasty-hunit
-         tasty-quickcheck text text-zipper time timezone-olson
-         timezone-series transformers Unique unordered-containers vector vty
-         xdg-basedir
+         quickcheck-text semigroups stm strict string-conversions tasty
+         tasty-hunit tasty-quickcheck text text-zipper time timezone-olson
+         timezone-series transformers Unique unordered-containers uuid
+         vector vty xdg-basedir
        ];
        description = "Terminal client for the Mattermost chat system";
        license = stdenv.lib.licenses.bsd3;
@@ -136352,20 +139907,21 @@ self: {
   "mattermost-api" = callPackage
     ({ mkDerivation, aeson, base, binary, bytestring, connection
      , containers, gitrev, hashable, HTTP, HUnit, memory, microlens
-     , microlens-th, mtl, network-uri, pretty-show, process, stm, tasty
-     , tasty-hunit, template-haskell, text, time, unordered-containers
-     , websockets
+     , microlens-th, mtl, network-uri, pretty-show, process
+     , resource-pool, stm, tasty, tasty-hunit, template-haskell, text
+     , time, unordered-containers, websockets
      }:
      mkDerivation {
        pname = "mattermost-api";
-       version = "40700.0.0";
-       sha256 = "1nhhlj6vgjndm34aw9kzmsjrkx7j3fir8rccx65d4c10labclsb9";
+       version = "40900.1.0";
+       sha256 = "1ngpinpal50s8bizwvnpafx6zh8zqb7m0yc21lcp7ybh4yhwikad";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          aeson base binary bytestring connection containers gitrev hashable
          HTTP memory microlens microlens-th network-uri pretty-show process
-         stm template-haskell text time unordered-containers websockets
+         resource-pool stm template-haskell text time unordered-containers
+         websockets
        ];
        testHaskellDepends = [
          aeson base containers HUnit mtl pretty-show stm tasty tasty-hunit
@@ -136382,8 +139938,8 @@ self: {
      }:
      mkDerivation {
        pname = "mattermost-api-qc";
-       version = "40700.0.0";
-       sha256 = "0dz254wmrxbavsjqhyn90gg6iplcgcpsw8p9fv0c5kxlafqwg0kf";
+       version = "40900.1.0";
+       sha256 = "0mdwi6130hz508bxbhriyg7fr6rqpbalmjwwizvj9nb7cz1dmrsl";
        libraryHaskellDepends = [
          base containers mattermost-api QuickCheck text time
        ];
@@ -136477,6 +140033,7 @@ self: {
        homepage = "https://github.com/george-steel/maxent-learner";
        description = "GUI for maxent-learner-hw";
        license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "maximal-cliques" = callPackage
@@ -137110,41 +140667,18 @@ self: {
      }) {};
 
   "mega-sdist" = callPackage
-    ({ mkDerivation, base, bytestring, classy-prelude-conduit
-     , conduit-extra, directory, filepath, http-conduit, optparse-simple
-     , tar-conduit, temporary, text, typed-process, yaml
-     }:
-     mkDerivation {
-       pname = "mega-sdist";
-       version = "0.3.0.6";
-       sha256 = "0cgak9hp1j9ybcpbqjs56pq7h9wn0my46mlx6nqv3fvidwdp5vl7";
-       isLibrary = false;
-       isExecutable = true;
-       executableHaskellDepends = [
-         base bytestring classy-prelude-conduit conduit-extra directory
-         filepath http-conduit optparse-simple tar-conduit temporary text
-         typed-process yaml
-       ];
-       homepage = "https://github.com/snoyberg/mega-sdist#readme";
-       description = "Handles uploading to Hackage from mega repos";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-
-  "mega-sdist_0_3_1" = callPackage
-    ({ mkDerivation, base, bytestring, classy-prelude-conduit
-     , conduit-extra, directory, filepath, http-conduit, optparse-simple
-     , tar-conduit, temporary, text, typed-process, yaml
+    ({ mkDerivation, base, bytestring, conduit, conduit-extra
+     , http-conduit, optparse-simple, rio, tar-conduit, yaml
      }:
      mkDerivation {
        pname = "mega-sdist";
-       version = "0.3.1";
-       sha256 = "06sgnkia5fwlsmy6m88mdklsabqv8vixgjbfzmyfln3aqhvwqk23";
+       version = "0.3.2";
+       sha256 = "05v061giv1q0gq4n8x1g44pyfxjy95aqxnnv5bc4cclrp233m5b1";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
-         base bytestring classy-prelude-conduit conduit-extra directory
-         filepath http-conduit optparse-simple tar-conduit temporary text
-         typed-process yaml
+         base bytestring conduit conduit-extra http-conduit optparse-simple
+         rio tar-conduit yaml
        ];
        homepage = "https://github.com/snoyberg/mega-sdist#readme";
        description = "Handles uploading to Hackage from mega repos";
@@ -137160,10 +140694,10 @@ self: {
      }:
      mkDerivation {
        pname = "megaparsec";
-       version = "6.3.0";
-       sha256 = "15bhghiszm18acn1igmq6vgdlcvsvsx4dlkl2vg2ghy5qgyrqxsv";
+       version = "6.4.1";
+       sha256 = "0w0kw8g7c6c3sp0fpgfqjc2w032dv9s7jnyn1dx71hk5mifh2h6y";
        revision = "2";
-       editedCabalFile = "1npxvydar8l68vfp3g0ir9cvq5vglf1z2a9q1h1mj438y0084f7v";
+       editedCabalFile = "0vh4l2kl9nfxlr8l82qicldybwiv6vbksi3jdk0xjzxmkvgm0jnf";
        libraryHaskellDepends = [
          base bytestring case-insensitive containers deepseq mtl
          parser-combinators scientific text transformers
@@ -137178,16 +140712,18 @@ self: {
        license = stdenv.lib.licenses.bsd2;
      }) {};
 
-  "megaparsec_6_4_1" = callPackage
+  "megaparsec_6_5_0" = callPackage
     ({ mkDerivation, base, bytestring, case-insensitive, containers
-     , criterion, deepseq, hspec, hspec-expectations, mtl
-     , parser-combinators, QuickCheck, scientific, text, transformers
-     , weigh
+     , criterion, deepseq, hspec, hspec-discover, hspec-expectations
+     , mtl, parser-combinators, QuickCheck, scientific, text
+     , transformers, weigh
      }:
      mkDerivation {
        pname = "megaparsec";
-       version = "6.4.1";
-       sha256 = "0w0kw8g7c6c3sp0fpgfqjc2w032dv9s7jnyn1dx71hk5mifh2h6y";
+       version = "6.5.0";
+       sha256 = "12iggy7qpf8x93jm64zf0g215xwy779bqyfyjk2bhmxqqr1yzgdy";
+       revision = "1";
+       editedCabalFile = "1gfqxpzjr64jzj366ibxm5l55qba5jw7wnpc89b0mf8f752h5w1l";
        libraryHaskellDepends = [
          base bytestring case-insensitive containers deepseq mtl
          parser-combinators scientific text transformers
@@ -137196,6 +140732,7 @@ self: {
          base bytestring containers hspec hspec-expectations mtl QuickCheck
          scientific text transformers
        ];
+       testToolDepends = [ hspec-discover ];
        benchmarkHaskellDepends = [ base criterion deepseq text weigh ];
        homepage = "https://github.com/mrkkrp/megaparsec";
        description = "Monadic parser combinators";
@@ -137222,8 +140759,8 @@ self: {
      }:
      mkDerivation {
        pname = "mellon-core";
-       version = "0.8.0.6";
-       sha256 = "07dhbqw0x7vbwzkhf1wh083h4b8xrw8sv75db2s72zgjrh8igpfm";
+       version = "0.8.0.7";
+       sha256 = "1nlqqkmm4163260zgl9cqxrd47iy3fpdyhd52y79c2cr1mqjw39q";
        libraryHaskellDepends = [
          async base mtl protolude time transformers
        ];
@@ -137234,20 +140771,18 @@ self: {
        homepage = "https://github.com/quixoftic/mellon#readme";
        description = "Control physical access devices";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "mellon-gpio" = callPackage
     ({ mkDerivation, base, hpio, mellon-core, protolude }:
      mkDerivation {
        pname = "mellon-gpio";
-       version = "0.8.0.6";
-       sha256 = "08mr37wmg1paigbhs1wv7rpdxkhy2jiba8nd22rg1lhscc04k7g1";
+       version = "0.8.0.7";
+       sha256 = "0hg878il0d31lfqwkb3rsd7gxbhs5cb1sxgc3rwdv70fdg63iirp";
        libraryHaskellDepends = [ base hpio mellon-core protolude ];
        homepage = "https://github.com/quixoftic/mellon#readme";
        description = "GPIO support for mellon";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "mellon-web" = callPackage
@@ -137255,34 +140790,37 @@ self: {
      , exceptions, hpio, hspec, hspec-wai, http-client, http-client-tls
      , http-types, lens, lucid, mellon-core, mellon-gpio, mtl, network
      , optparse-applicative, protolude, QuickCheck, quickcheck-instances
-     , servant, servant-client, servant-docs, servant-lucid
-     , servant-server, servant-swagger, servant-swagger-ui, swagger2
-     , text, time, transformers, wai, wai-extra, warp
+     , servant, servant-client, servant-client-core, servant-docs
+     , servant-lucid, servant-server, servant-swagger
+     , servant-swagger-ui, swagger2, text, time, transformers, wai
+     , wai-extra, warp
      }:
      mkDerivation {
        pname = "mellon-web";
-       version = "0.8.0.6";
-       sha256 = "0hfb2gkfn9kdg8a5n6l8c7jky8d4545qqlpdzl2qv63500nr4wz3";
+       version = "0.8.0.7";
+       sha256 = "1m3ch98i8wzhi7g2c2l9klp0a3xcqfwfbq6ad6grl43v8fh1q737";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          aeson aeson-pretty base bytestring http-client http-types lens
-         lucid mellon-core protolude servant servant-client servant-docs
-         servant-lucid servant-server servant-swagger servant-swagger-ui
-         swagger2 text time transformers wai warp
+         lucid mellon-core protolude servant servant-client
+         servant-client-core servant-docs servant-lucid servant-server
+         servant-swagger servant-swagger-ui swagger2 text time transformers
+         wai warp
        ];
        executableHaskellDepends = [
          base bytestring exceptions hpio http-client http-client-tls
          http-types mellon-core mellon-gpio mtl network optparse-applicative
-         protolude servant-client time transformers warp
+         protolude servant-client servant-client-core time transformers warp
        ];
        testHaskellDepends = [
          aeson aeson-pretty base bytestring doctest hspec hspec-wai
          http-client http-types lens lucid mellon-core network protolude
-         QuickCheck quickcheck-instances servant servant-client servant-docs
-         servant-lucid servant-server servant-swagger servant-swagger-ui
-         swagger2 text time transformers wai wai-extra warp
+         QuickCheck quickcheck-instances servant servant-client
+         servant-client-core servant-docs servant-lucid servant-server
+         servant-swagger servant-swagger-ui swagger2 text time transformers
+         wai wai-extra warp
        ];
        homepage = "https://github.com/quixoftic/mellon#readme";
        description = "A REST web service for Mellon controllers";
@@ -137477,13 +141015,13 @@ self: {
      }) {};
 
   "memo-sqlite" = callPackage
-    ({ mkDerivation, base, direct-sqlite }:
+    ({ mkDerivation, base, direct-sqlite, text }:
      mkDerivation {
        pname = "memo-sqlite";
-       version = "0.1";
-       sha256 = "1gijza29wj79k8czfg4mghq7nqsbpyf1scnm9hmg2ykhnllpzvy3";
-       libraryHaskellDepends = [ base direct-sqlite ];
-       homepage = "https://gitorious.org/memo-sqlite";
+       version = "0.2";
+       sha256 = "0x6vpf5kcr4icli0hjdqzphbpsakh0yn2ih2jyh65hnk1nh4j8n7";
+       libraryHaskellDepends = [ base direct-sqlite text ];
+       homepage = "https://code.mathr.co.uk/memo-sqlite";
        description = "memoize functions using SQLite3 database";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -137550,25 +141088,6 @@ self: {
 
   "memory" = callPackage
     ({ mkDerivation, base, basement, bytestring, deepseq, foundation
-     , ghc-prim, tasty, tasty-hunit, tasty-quickcheck
-     }:
-     mkDerivation {
-       pname = "memory";
-       version = "0.14.11";
-       sha256 = "0k6x58r3if8zbsgip8nr7lb77xf468qxlwqnmah8p313rxfg0k37";
-       libraryHaskellDepends = [
-         base basement bytestring deepseq foundation ghc-prim
-       ];
-       testHaskellDepends = [
-         base foundation tasty tasty-hunit tasty-quickcheck
-       ];
-       homepage = "https://github.com/vincenthz/hs-memory";
-       description = "memory and related abstraction stuff";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "memory_0_14_16" = callPackage
-    ({ mkDerivation, base, basement, bytestring, deepseq, foundation
      , ghc-prim
      }:
      mkDerivation {
@@ -137582,7 +141101,6 @@ self: {
        homepage = "https://github.com/vincenthz/hs-memory";
        description = "memory and related abstraction stuff";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "memorypool" = callPackage
@@ -138029,6 +141547,43 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "micro-recursion-schemes" = callPackage
+    ({ mkDerivation, base, cpphs, HUnit, template-haskell
+     , th-abstraction
+     }:
+     mkDerivation {
+       pname = "micro-recursion-schemes";
+       version = "5.0.2.1";
+       sha256 = "1n1sza3a87vh74hx1da4mcfwarbjkz2cfvnkldnqwfnqvngq1gaq";
+       libraryHaskellDepends = [ base template-haskell th-abstraction ];
+       libraryToolDepends = [ cpphs ];
+       testHaskellDepends = [ base HUnit template-haskell ];
+       description = "Simple recursion schemes";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "microaeson" = callPackage
+    ({ mkDerivation, aeson, alex, array, base, bytestring, containers
+     , deepseq, QuickCheck, quickcheck-instances, tasty
+     , tasty-quickcheck, text, unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "microaeson";
+       version = "0.1.0.0";
+       sha256 = "1hbpyz6p9snnd85h2y0pdqp20svxrggavbv0q8z33sc5i4p8b7iz";
+       libraryHaskellDepends = [
+         array base bytestring containers deepseq text
+       ];
+       libraryToolDepends = [ alex ];
+       testHaskellDepends = [
+         aeson base bytestring containers QuickCheck quickcheck-instances
+         tasty tasty-quickcheck text unordered-containers vector
+       ];
+       description = "A tiny JSON library with light dependency footprint";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "microbench" = callPackage
     ({ mkDerivation, base, time }:
      mkDerivation {
@@ -138135,22 +141690,39 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "microlens_0_4_9_1" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "microlens";
+       version = "0.4.9.1";
+       sha256 = "0j2nzf0vpx2anvsrg2w0vy2z4jn3kkcs2n6glkzblhn1j9piqh51";
+       libraryHaskellDepends = [ base ];
+       homepage = "http://github.com/aelve/microlens";
+       description = "A tiny lens library with no dependencies. If you're writing an app, you probably want microlens-platform, not this.";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "microlens-aeson" = callPackage
-    ({ mkDerivation, aeson, attoparsec, base, bytestring, microlens
-     , scientific, tasty, tasty-hunit, text, unordered-containers
-     , vector
+    ({ mkDerivation, aeson, attoparsec, base, bytestring, criterion
+     , deepseq, hashable, lens, lens-aeson, microlens, scientific, tasty
+     , tasty-hunit, text, unordered-containers, vector
      }:
      mkDerivation {
        pname = "microlens-aeson";
-       version = "2.2.0.2";
-       sha256 = "05zk6pfb9s48kgfpim1lj32vh3p54g633d5x4771inxihlskqd4d";
+       version = "2.3.0";
+       sha256 = "1iahlh505jrlpd9ndkr5asfnzdpp6m6m2lm44ds15461py485wpj";
        libraryHaskellDepends = [
-         aeson attoparsec base bytestring microlens scientific text
-         unordered-containers vector
+         aeson attoparsec base bytestring deepseq hashable microlens
+         scientific text unordered-containers vector
        ];
        testHaskellDepends = [
-         aeson base bytestring microlens tasty tasty-hunit text
-         unordered-containers vector
+         aeson base bytestring deepseq hashable microlens tasty tasty-hunit
+         text unordered-containers vector
+       ];
+       benchmarkHaskellDepends = [
+         aeson base bytestring criterion deepseq hashable lens lens-aeson
+         microlens text unordered-containers vector
        ];
        homepage = "http://github.com/fosskers/microlens-aeson/";
        description = "Law-abiding lenses for Aeson, using microlens";
@@ -138198,6 +141770,23 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "microlens-ghc_0_4_9" = callPackage
+    ({ mkDerivation, array, base, bytestring, containers, microlens
+     , transformers
+     }:
+     mkDerivation {
+       pname = "microlens-ghc";
+       version = "0.4.9";
+       sha256 = "0wdwra9s7gllw0i7sf7d371h6d5qwlk6jrvhdm8hafj4fxagafma";
+       libraryHaskellDepends = [
+         array base bytestring containers microlens transformers
+       ];
+       homepage = "http://github.com/aelve/microlens";
+       description = "microlens + array, bytestring, containers, transformers";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "microlens-mtl" = callPackage
     ({ mkDerivation, base, microlens, mtl, transformers
      , transformers-compat
@@ -138231,6 +141820,24 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "microlens-platform_0_3_10" = callPackage
+    ({ mkDerivation, base, hashable, microlens, microlens-ghc
+     , microlens-mtl, microlens-th, text, unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "microlens-platform";
+       version = "0.3.10";
+       sha256 = "1d4nhmgf9jq0ixc7qhwm7aaw3xdr0nalw58d0ydsydgf02cyazwv";
+       libraryHaskellDepends = [
+         base hashable microlens microlens-ghc microlens-mtl microlens-th
+         text unordered-containers vector
+       ];
+       homepage = "http://github.com/aelve/microlens";
+       description = "Feature-complete microlens";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "microlens-th" = callPackage
     ({ mkDerivation, base, containers, microlens, template-haskell }:
      mkDerivation {
@@ -138245,6 +141852,25 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "microlens-th_0_4_2_1" = callPackage
+    ({ mkDerivation, base, containers, microlens, template-haskell
+     , th-abstraction, transformers
+     }:
+     mkDerivation {
+       pname = "microlens-th";
+       version = "0.4.2.1";
+       sha256 = "0hpwwk50a826s87ad0k6liw40qp6av0hmdhnsdfhhk5mka710mzc";
+       libraryHaskellDepends = [
+         base containers microlens template-haskell th-abstraction
+         transformers
+       ];
+       testHaskellDepends = [ base microlens ];
+       homepage = "http://github.com/aelve/microlens";
+       description = "Automatic generation of record lenses for microlens";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "micrologger" = callPackage
     ({ mkDerivation, aeson, base, bytestring, containers, hspec, lens
      , text, text-format, time, transformers
@@ -138280,6 +141906,7 @@ self: {
        homepage = "https://github.com/BlackBrane/microsoft-translator";
        description = "Bindings to the Microsoft Translator API";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "microspec" = callPackage
@@ -138302,6 +141929,8 @@ self: {
        pname = "microstache";
        version = "1.0.1.1";
        sha256 = "0851sqr1ppdj6m822635pa3j6qzdf25gyrhkjs25zdry6518bsax";
+       revision = "1";
+       editedCabalFile = "1var5mgzvkxl9s78hbxylkvv67z7fnbs5rb1l9q0cqxyw85cbr6j";
        libraryHaskellDepends = [
          aeson base bytestring containers deepseq directory filepath parsec
          text transformers unordered-containers vector
@@ -138427,6 +142056,7 @@ self: {
        homepage = "http://hub.darcs.net/thielema/midi-music-box";
        description = "Convert MIDI file to music box punch tape";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "midi-simple" = callPackage
@@ -138548,26 +142178,25 @@ self: {
      }) {};
 
   "mighttpd2" = callPackage
-    ({ mkDerivation, array, async, auto-update, base, blaze-builder
-     , byteorder, bytestring, case-insensitive, conduit, conduit-extra
-     , directory, filepath, hspec, http-client, http-date, http-types
-     , io-choice, network, old-locale, parsec, resourcet
-     , streaming-commons, time, transformers, unix, unix-time
-     , unordered-containers, wai, wai-app-file-cgi, wai-http2-extra
-     , wai-logger, warp
+    ({ mkDerivation, array, async, auto-update, base, byteorder
+     , bytestring, case-insensitive, conduit, conduit-extra, directory
+     , filepath, hspec, http-client, http-date, http-types, io-choice
+     , network, old-locale, parsec, resourcet, streaming-commons, time
+     , transformers, unix, unix-time, unordered-containers, wai
+     , wai-app-file-cgi, wai-http2-extra, wai-logger, warp
      }:
      mkDerivation {
        pname = "mighttpd2";
-       version = "3.4.2";
-       sha256 = "0a5i9cs0rjap7i4gyda6dgglckn3ys0ldl0qkvnxvm87bcyyfc3k";
+       version = "3.4.3";
+       sha256 = "0afa25kaagdznfg1kbm5hbmlfk75p7rws0x9fjb505wrr12jipbh";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
-         array async auto-update base blaze-builder byteorder bytestring
-         case-insensitive conduit conduit-extra directory filepath http-date
-         http-types io-choice network parsec resourcet streaming-commons
-         unix unix-time unordered-containers wai wai-app-file-cgi warp
+         array async auto-update base byteorder bytestring case-insensitive
+         conduit conduit-extra directory filepath http-date http-types
+         io-choice network parsec resourcet streaming-commons unix unix-time
+         unordered-containers wai wai-app-file-cgi warp
        ];
        executableHaskellDepends = [
          base bytestring conduit-extra directory filepath http-client
@@ -138727,18 +142356,18 @@ self: {
 
   "mime-mail-ses" = callPackage
     ({ mkDerivation, base, base64-bytestring, byteable, bytestring
-     , conduit, cryptohash, http-client, http-conduit, http-types
-     , mime-mail, old-locale, text, time, transformers, xml-conduit
-     , xml-types
+     , conduit, cryptohash, http-client, http-client-tls, http-conduit
+     , http-types, mime-mail, old-locale, text, time, transformers
+     , xml-conduit, xml-types
      }:
      mkDerivation {
        pname = "mime-mail-ses";
-       version = "0.4.0.0";
-       sha256 = "0w87ba8a5kli7xv7d8x5viz1c2rmm3ahaxp5d797n8bb13yn09mw";
+       version = "0.4.1";
+       sha256 = "1w6k4cm5yab9dhg7yn6mp7jzk1zdwpnzc6c1xb3vz3rdwp8jjvx7";
        libraryHaskellDepends = [
          base base64-bytestring byteable bytestring conduit cryptohash
-         http-client http-conduit http-types mime-mail old-locale text time
-         transformers xml-conduit xml-types
+         http-client http-client-tls http-conduit http-types mime-mail
+         old-locale text time transformers xml-conduit xml-types
        ];
        homepage = "http://github.com/snoyberg/mime-mail";
        description = "Send mime-mail messages via Amazon SES";
@@ -138924,35 +142553,32 @@ self: {
      }) {};
 
   "minio-hs" = callPackage
-    ({ mkDerivation, aeson, async, base, base64-bytestring, bytestring
-     , case-insensitive, conduit, conduit-combinators, conduit-extra
-     , containers, cryptonite, cryptonite-conduit, data-default
-     , directory, exceptions, filepath, http-client, http-conduit
-     , http-types, lifted-async, lifted-base, memory, monad-control
-     , protolude, QuickCheck, resourcet, tasty, tasty-hunit
-     , tasty-quickcheck, tasty-smallcheck, temporary, text, text-format
-     , time, transformers, transformers-base, vector, xml-conduit
+    ({ mkDerivation, aeson, base, base64-bytestring, bytestring
+     , case-insensitive, conduit, conduit-extra, containers, cryptonite
+     , cryptonite-conduit, data-default, directory, exceptions, filepath
+     , http-client, http-conduit, http-types, memory, protolude
+     , QuickCheck, resourcet, tasty, tasty-hunit, tasty-quickcheck
+     , tasty-smallcheck, temporary, text, text-format, time
+     , transformers, unliftio, unliftio-core, xml-conduit
      }:
      mkDerivation {
        pname = "minio-hs";
-       version = "0.3.2";
-       sha256 = "0yfhnvngw27h05hxywxp76fcy4566djsm0l3x2kx8n4ppwi5p6r4";
+       version = "1.0.0";
+       sha256 = "0q6qzzkkbm9b0a7c630yj2rlg54imir1yjbpsy4x9fh3kc7vx0i2";
        libraryHaskellDepends = [
-         aeson async base base64-bytestring bytestring case-insensitive
-         conduit conduit-combinators conduit-extra containers cryptonite
-         cryptonite-conduit data-default exceptions filepath http-client
-         http-conduit http-types lifted-async lifted-base memory
-         monad-control protolude resourcet text text-format time
-         transformers transformers-base vector xml-conduit
+         aeson base base64-bytestring bytestring case-insensitive conduit
+         conduit-extra containers cryptonite cryptonite-conduit data-default
+         exceptions filepath http-client http-conduit http-types memory
+         protolude resourcet text text-format time transformers unliftio
+         unliftio-core xml-conduit
        ];
        testHaskellDepends = [
-         aeson async base base64-bytestring bytestring case-insensitive
-         conduit conduit-combinators conduit-extra containers cryptonite
-         cryptonite-conduit data-default directory exceptions filepath
-         http-client http-conduit http-types lifted-async lifted-base memory
-         monad-control protolude QuickCheck resourcet tasty tasty-hunit
+         aeson base base64-bytestring bytestring case-insensitive conduit
+         conduit-extra containers cryptonite cryptonite-conduit data-default
+         directory exceptions filepath http-client http-conduit http-types
+         memory protolude QuickCheck resourcet tasty tasty-hunit
          tasty-quickcheck tasty-smallcheck temporary text text-format time
-         transformers transformers-base vector xml-conduit
+         transformers unliftio unliftio-core xml-conduit
        ];
        homepage = "https://github.com/minio/minio-hs#readme";
        description = "A Minio Haskell Library for Amazon S3 compatible cloud storage";
@@ -139083,8 +142709,8 @@ self: {
      }:
      mkDerivation {
        pname = "miniutter";
-       version = "0.4.6.0";
-       sha256 = "093ahw66byzgc9scvmlihl3sa2zph9mszpf9kdjd9ydi5gv6mrmx";
+       version = "0.4.7.0";
+       sha256 = "10nwg3vw0p8hb8hgc34xspg4vrwf8xyhi22b9j57ms3045marjdd";
        libraryHaskellDepends = [
          base binary containers ghc-prim minimorph text
        ];
@@ -139138,6 +142764,19 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "mintty_0_1_2" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "mintty";
+       version = "0.1.2";
+       sha256 = "1njhz7wjmsk5pbr7gfkl95k50npkmm0iyxp3j93bbsg4rmxzg2kw";
+       libraryHaskellDepends = [ base ];
+       homepage = "https://github.com/RyanGlScott/mintty";
+       description = "A reliable way to detect the presence of a MinTTY console on Windows";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "mios" = callPackage
     ({ mkDerivation, base, bytestring, ghc-prim, primitive, vector }:
      mkDerivation {
@@ -139206,8 +142845,8 @@ self: {
      }:
      mkDerivation {
        pname = "miso";
-       version = "0.10.0.0";
-       sha256 = "0p5hnd9k14zbv2gphxwm7a84m3djzybr6awihrb22wk5jyjc9d7x";
+       version = "0.14.0.0";
+       sha256 = "16qi1wcijncjjrjdwxs90jn3xclw1cgb0j1gby1w9d457ys6hmnx";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -139219,15 +142858,15 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "miso_0_13_0_0" = callPackage
+  "miso_0_20_0_0" = callPackage
     ({ mkDerivation, aeson, base, bytestring, containers, http-api-data
      , http-types, lucid, network-uri, servant, servant-lucid, text
      , transformers, vector
      }:
      mkDerivation {
        pname = "miso";
-       version = "0.13.0.0";
-       sha256 = "1sv8q5f1nkvsxk365k8njmaggi1hyp47q539is2n2xhwmsysxwla";
+       version = "0.20.0.0";
+       sha256 = "0nr7j9065mrwmmqwjsgl9krh21mhxjddbwmkwja0b207aglc072j";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -139400,6 +143039,31 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "mltool_0_2_0_0" = callPackage
+    ({ mkDerivation, ascii-progress, base, deepseq, hmatrix
+     , hmatrix-gsl, hmatrix-morpheus, HUnit, MonadRandom, random
+     , test-framework, test-framework-hunit, test-framework-quickcheck2
+     , vector
+     }:
+     mkDerivation {
+       pname = "mltool";
+       version = "0.2.0.0";
+       sha256 = "0yjq9wbvni9sgh966jccfcsm6ajicrfkgvwg08383rwnsqbbjm8q";
+       libraryHaskellDepends = [
+         ascii-progress base deepseq hmatrix hmatrix-gsl hmatrix-morpheus
+         MonadRandom random vector
+       ];
+       testHaskellDepends = [
+         base hmatrix hmatrix-morpheus HUnit MonadRandom random
+         test-framework test-framework-hunit test-framework-quickcheck2
+         vector
+       ];
+       homepage = "https://github.com/alexander-ignatyev/mltool";
+       description = "Machine Learning Toolbox";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "mmap" = callPackage
     ({ mkDerivation, base, bytestring }:
      mkDerivation {
@@ -139423,39 +143087,10 @@ self: {
      }:
      mkDerivation {
        pname = "mmark";
-       version = "0.0.4.0";
-       sha256 = "05dslarsdfcp2im9w80ks52wzqcqq8ma23b69wdl8nyfbkmaj5ch";
+       version = "0.0.5.6";
+       sha256 = "0d0jxxj0b1jy9mym6389dmm6biiw8kzdh06zj2j0gsjczn2n60zw";
        revision = "2";
-       editedCabalFile = "1l2xljnasvgj3icc8dynsakyskd65c114gm4f94la3pv8ghcc3rg";
-       enableSeparateDataOutput = true;
-       libraryHaskellDepends = [
-         aeson base case-insensitive containers data-default-class deepseq
-         dlist email-validate foldl hashable html-entity-map lucid
-         megaparsec microlens microlens-th modern-uri mtl parser-combinators
-         text text-metrics unordered-containers yaml
-       ];
-       testHaskellDepends = [
-         aeson base foldl hspec hspec-megaparsec lucid megaparsec modern-uri
-         QuickCheck text
-       ];
-       benchmarkHaskellDepends = [ base criterion text weigh ];
-       homepage = "https://github.com/mrkkrp/mmark";
-       description = "Strict markdown processor for writers";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "mmark_0_0_5_5" = callPackage
-    ({ mkDerivation, aeson, base, case-insensitive, containers
-     , criterion, data-default-class, deepseq, dlist, email-validate
-     , foldl, hashable, hspec, hspec-megaparsec, html-entity-map, lucid
-     , megaparsec, microlens, microlens-th, modern-uri, mtl
-     , parser-combinators, QuickCheck, text, text-metrics
-     , unordered-containers, weigh, yaml
-     }:
-     mkDerivation {
-       pname = "mmark";
-       version = "0.0.5.5";
-       sha256 = "1j1ci1zwnp7q6bnk1cqz5g2zx4c02yr8s87v9wf8j898bky8cgwj";
+       editedCabalFile = "0hzz7l9npv364yzw6i6q6699nn1raj1p2cmwmlqp43rz8s3ryawn";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          aeson base case-insensitive containers data-default-class deepseq
@@ -139471,7 +143106,6 @@ self: {
        homepage = "https://github.com/mmark-md/mmark";
        description = "Strict markdown processor for writers";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "mmark-cli" = callPackage
@@ -139483,6 +143117,8 @@ self: {
        pname = "mmark-cli";
        version = "0.0.3.0";
        sha256 = "0nb17k23bs21qi7a888qp81w682ax2qvih9fbvdkdh6c2n6yklrp";
+       revision = "1";
+       editedCabalFile = "0rzz4m7z02m6rmigmmpgqhik1d7kc0i4mri0gpj1i3j7a59p7s1q";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -139496,26 +143132,6 @@ self: {
      }) {};
 
   "mmark-ext" = callPackage
-    ({ mkDerivation, base, data-default-class, foldl, hspec, lucid
-     , microlens, mmark, modern-uri, text
-     }:
-     mkDerivation {
-       pname = "mmark-ext";
-       version = "0.0.1.2";
-       sha256 = "0f698yvlcbvq627advl832nlzl975jx462zg7pd8h43chdbj5qar";
-       enableSeparateDataOutput = true;
-       libraryHaskellDepends = [
-         base data-default-class foldl lucid microlens mmark modern-uri text
-       ];
-       testHaskellDepends = [
-         base data-default-class hspec lucid mmark text
-       ];
-       homepage = "https://github.com/mrkkrp/mmark-ext";
-       description = "Commonly useful extensions for MMark markdown processor";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "mmark-ext_0_2_0_0" = callPackage
     ({ mkDerivation, base, foldl, hspec, lucid, microlens, mmark
      , modern-uri, skylighting, text
      }:
@@ -139523,8 +143139,8 @@ self: {
        pname = "mmark-ext";
        version = "0.2.0.0";
        sha256 = "1ccfdjsn8z80x2m5p9q17r2hf14zj63nkxkrg9s7knwr1j08gj1k";
-       revision = "1";
-       editedCabalFile = "0sql0z4123v5kzqcganfaag6ijl3j7lw52d3c50r9qwwg8q2dydz";
+       revision = "2";
+       editedCabalFile = "0h47hy97mdan3cnxppf0yarmis81irc0c92nm1xv9f6w35li7rkq";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          base foldl lucid microlens mmark modern-uri skylighting text
@@ -139533,15 +143149,14 @@ self: {
        homepage = "https://github.com/mmark-md/mmark-ext";
        description = "Commonly useful extensions for MMark markdown processor";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "mmorph" = callPackage
     ({ mkDerivation, base, mtl, transformers, transformers-compat }:
      mkDerivation {
        pname = "mmorph";
-       version = "1.1.1";
-       sha256 = "17hhfvdr2cclrhslsph3jaly7gfn7caajbzh7xr2prgvxmjhsdg3";
+       version = "1.1.2";
+       sha256 = "1gjz1ib968lqybma7my1n19qq6cdj6a7nskrlnwy4jy9jrwzs2n9";
        libraryHaskellDepends = [
          base mtl transformers transformers-compat
        ];
@@ -139676,6 +143291,7 @@ self: {
        homepage = "http://github.com/tittoassini/model";
        description = "Derive a model of a data type using Generics";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "modelicaparser" = callPackage
@@ -139698,33 +143314,6 @@ self: {
   "modern-uri" = callPackage
     ({ mkDerivation, base, bytestring, containers, contravariant
      , criterion, deepseq, exceptions, hspec, hspec-megaparsec
-     , megaparsec, profunctors, QuickCheck, template-haskell, text
-     , weigh
-     }:
-     mkDerivation {
-       pname = "modern-uri";
-       version = "0.1.2.1";
-       sha256 = "10y3ppcd4d987khk9jxaa0clkjssmvip2kpq63z8xcigvdiil91h";
-       revision = "1";
-       editedCabalFile = "1kgwf0y5p5imrkjga53yna4sy6jqk5x3v0zks24c4vb52mi2a19n";
-       libraryHaskellDepends = [
-         base bytestring containers contravariant deepseq exceptions
-         megaparsec profunctors QuickCheck template-haskell text
-       ];
-       testHaskellDepends = [
-         base bytestring hspec hspec-megaparsec megaparsec QuickCheck text
-       ];
-       benchmarkHaskellDepends = [
-         base bytestring criterion deepseq megaparsec text weigh
-       ];
-       homepage = "https://github.com/mrkkrp/modern-uri";
-       description = "Modern library for working with URIs";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "modern-uri_0_2_1_0" = callPackage
-    ({ mkDerivation, base, bytestring, containers, contravariant
-     , criterion, deepseq, exceptions, hspec, hspec-megaparsec
      , megaparsec, mtl, profunctors, QuickCheck, reflection, tagged
      , template-haskell, text, weigh
      }:
@@ -139732,8 +143321,8 @@ self: {
        pname = "modern-uri";
        version = "0.2.1.0";
        sha256 = "06lqkx91s0lvkamxxf070l990kh8g0c5f5yshh2lffjbk5zclnp6";
-       revision = "1";
-       editedCabalFile = "1rir55ccx5y377mdl7hfzk2n31nv18mdfxw6a0l2jjw7y0w5kpyi";
+       revision = "4";
+       editedCabalFile = "00vr4g5cmhd3d1329hwcdq55yjq8n5jxz15sgl0sawcg5mw5ihyy";
        libraryHaskellDepends = [
          base bytestring containers contravariant deepseq exceptions
          megaparsec mtl profunctors QuickCheck reflection tagged
@@ -139748,18 +143337,17 @@ self: {
        homepage = "https://github.com/mrkkrp/modern-uri";
        description = "Modern library for working with URIs";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "modify-fasta" = callPackage
     ({ mkDerivation, base, containers, fasta, mtl, optparse-applicative
      , pipes, pipes-text, regex-tdfa, regex-tdfa-text, semigroups, split
-     , text, text-show
+     , text, text-show, transformers
      }:
      mkDerivation {
        pname = "modify-fasta";
-       version = "0.8.2.3";
-       sha256 = "0pj6qymvz1b7rm5i1p2vys7ayp6p6pp8m8f3giahrccp9zg0gvnw";
+       version = "0.8.3.0";
+       sha256 = "1hvn55c0cg4h2980ia28b2n2r9p7p0rqyfr5wvkkqyhz4si7dp9r";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -139768,11 +143356,12 @@ self: {
        ];
        executableHaskellDepends = [
          base containers fasta mtl optparse-applicative pipes pipes-text
-         semigroups split text
+         semigroups split text transformers
        ];
        homepage = "https://github.com/GregorySchwartz/modify-fasta";
        description = "Modify fasta (and CLIP) files in several optional ways";
        license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "modsplit" = callPackage
@@ -139800,8 +143389,8 @@ self: {
     ({ mkDerivation, base, doctest, Glob }:
      mkDerivation {
        pname = "modular-arithmetic";
-       version = "1.2.1.2";
-       sha256 = "0xm1p63r4a8gdpsrdrsf80bihra11blnik2gwvlpph494pvk27wj";
+       version = "1.2.1.3";
+       sha256 = "1f5k25gqnn037fpan3l956ly0g5cgwnw7qxyc6sm6hgdcl91wn1l";
        libraryHaskellDepends = [ base ];
        testHaskellDepends = [ base doctest Glob ];
        homepage = "https://github.com/TikhonJelvis/modular-arithmetic";
@@ -140024,20 +143613,21 @@ self: {
      }) {};
 
   "monad-abort-fd" = callPackage
-    ({ mkDerivation, base, mtl, transformers, transformers-abort
+    ({ mkDerivation, base, mtl, stm, transformers, transformers-abort
      , transformers-base, transformers-compat
      }:
      mkDerivation {
        pname = "monad-abort-fd";
-       version = "0.6";
-       sha256 = "0a9ykj8cp817qlzvz7l5502zmwhiqa5236xvnsf93x38h34xwx5m";
+       version = "0.7";
+       sha256 = "0w1v39n93zg6i22qx312m6z8pc35im3whp5sb13wfvj2ws0nl1z7";
        libraryHaskellDepends = [
-         base mtl transformers transformers-abort transformers-base
+         base mtl stm transformers transformers-abort transformers-base
          transformers-compat
        ];
        homepage = "https://github.com/mvv/monad-abort-fd";
        description = "A better error monad transformer";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "monad-atom" = callPackage
@@ -140089,6 +143679,18 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "monad-branch" = callPackage
+    ({ mkDerivation, base, mtl, transformers }:
+     mkDerivation {
+       pname = "monad-branch";
+       version = "1.0.3";
+       sha256 = "15nk9lvwz4s6lx8g08x5npai0bk13s6mj26vz6biwy3shpf5v11r";
+       libraryHaskellDepends = [ base mtl transformers ];
+       homepage = "https://github.com/luna/monad-branch";
+       description = "Monadic abstraction for computations that can be branched and run independently";
+       license = stdenv.lib.licenses.asl20;
+     }) {};
+
   "monad-classes" = callPackage
     ({ mkDerivation, base, conduit, data-lens-light, ghc-prim, mmorph
      , monad-control, peano, reflection, tasty, tasty-hunit
@@ -140096,8 +143698,8 @@ self: {
      }:
      mkDerivation {
        pname = "monad-classes";
-       version = "0.3.2.0";
-       sha256 = "0r6wfl7xd870ml1mysznih1yly9rnj869cpr30fjwy9dsybkbfwr";
+       version = "0.3.2.2";
+       sha256 = "15g4llzym636ynf8jrfmlcqn6z4ybwfbg6l8ij73h5m1fkrzwgi7";
        libraryHaskellDepends = [
          base ghc-prim mmorph monad-control peano reflection transformers
          transformers-base transformers-compat
@@ -140142,7 +143744,6 @@ self: {
        homepage = "https://github.com/kawu/monad-codec";
        description = "Monadic conversion between complex data structures and unique integers";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "monad-connect" = callPackage
@@ -140183,8 +143784,8 @@ self: {
      }:
      mkDerivation {
        pname = "monad-control-aligned";
-       version = "0.0.1";
-       sha256 = "11s226d80dbzq7as6ik077hg82swfj2svlk662l32sc9y03m3dyx";
+       version = "0.0.1.1";
+       sha256 = "1xhiw1g0p8zljhy8yz43ljnwhhqn6dwxqi06mdsfji365p9qzrs4";
        libraryHaskellDepends = [
          base stm transformers transformers-base transformers-compat
        ];
@@ -140266,8 +143867,8 @@ self: {
      }:
      mkDerivation {
        pname = "monad-finally";
-       version = "0.1.0.1";
-       sha256 = "0qam9qsm3cqk2r9x4jhmgg6c9kshf3aja765x0apgc0j9rk8zpyq";
+       version = "0.1.2";
+       sha256 = "1vg9mg748frf63l428wsdjdbf25pphjqixdslvlwgvf8d1ayl2xz";
        libraryHaskellDepends = [
          base monad-abort-fd monad-control transformers transformers-abort
          transformers-base transformers-compat
@@ -140275,6 +143876,7 @@ self: {
        homepage = "https://github.com/mvv/monad-finally";
        description = "Guard monadic computations with cleanup actions";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "monad-fork" = callPackage
@@ -140337,6 +143939,7 @@ self: {
        homepage = "https://github.com/futurice/haskell-monad-http#readme";
        description = "A class of monads which can do http requests";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "monad-interleave" = callPackage
@@ -140442,23 +144045,23 @@ self: {
      }) {};
 
   "monad-logger" = callPackage
-    ({ mkDerivation, base, blaze-builder, bytestring, conduit
-     , conduit-extra, exceptions, fast-logger, lifted-base
-     , monad-control, monad-loops, mtl, resourcet, stm, stm-chans
-     , template-haskell, text, transformers, transformers-base
-     , transformers-compat, unliftio-core
+    ({ mkDerivation, base, bytestring, conduit, conduit-extra
+     , exceptions, fast-logger, lifted-base, monad-control, monad-loops
+     , mtl, resourcet, stm, stm-chans, template-haskell, text
+     , transformers, transformers-base, transformers-compat
+     , unliftio-core
      }:
      mkDerivation {
        pname = "monad-logger";
-       version = "0.3.28.1";
-       sha256 = "15gpr6wgyqfiz780p8l4lfxmxnanpviyvkba20hdsx92czq64cgr";
+       version = "0.3.28.5";
+       sha256 = "1w9700v2vbrydpwr5jjivnkrqcrbl7xbklym0w15qdqd5p6xfpi2";
        libraryHaskellDepends = [
-         base blaze-builder bytestring conduit conduit-extra exceptions
-         fast-logger lifted-base monad-control monad-loops mtl resourcet stm
-         stm-chans template-haskell text transformers transformers-base
+         base bytestring conduit conduit-extra exceptions fast-logger
+         lifted-base monad-control monad-loops mtl resourcet stm stm-chans
+         template-haskell text transformers transformers-base
          transformers-compat unliftio-core
        ];
-       homepage = "https://github.com/kazu-yamamoto/logger";
+       homepage = "https://github.com/snoyberg/monad-logger#readme";
        description = "A class of monads which can log messages";
        license = stdenv.lib.licenses.mit;
      }) {};
@@ -140485,8 +144088,8 @@ self: {
      }:
      mkDerivation {
        pname = "monad-logger-prefix";
-       version = "0.1.8";
-       sha256 = "1p8sqynxl898vf2fq5lw8j7r50jrxp8npbsw6sc2mbsi336j79xj";
+       version = "0.1.9";
+       sha256 = "1xvw1nd9arn2v2x4a8r0nljfv0a4z9kqa5pbrhmskgr70l9py4jm";
        libraryHaskellDepends = [
          base exceptions monad-control monad-logger mtl resourcet text
          transformers transformers-base
@@ -140582,7 +144185,6 @@ self: {
        homepage = "https://github.com/EduardSergeev/monad-memo";
        description = "Memoization monad transformer";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "monad-mersenne-random" = callPackage
@@ -140729,6 +144331,7 @@ self: {
        homepage = "https://github.com/mnacamura/monad-parallel-progressbar";
        description = "Parallel execution of monadic computations with a progress bar";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "monad-param" = callPackage
@@ -140785,6 +144388,7 @@ self: {
        homepage = "https://github.com/cjdev/monad-persist#readme";
        description = "An mtl-style typeclass and transformer for persistent";
        license = stdenv.lib.licenses.isc;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "monad-primitive" = callPackage
@@ -140829,8 +144433,8 @@ self: {
      }:
      mkDerivation {
        pname = "monad-recorder";
-       version = "0.1.0";
-       sha256 = "1n3bp3vian88b6wq2r3qybbnvnflphf1815g1qd6kb9r7d4z2g9i";
+       version = "0.1.1";
+       sha256 = "05d27h3lx7p4qzby8jrxf6wj5z69s11pgpbkdacxrag0v8vynqq8";
        libraryHaskellDepends = [
          base exceptions monad-control mtl transformers transformers-base
        ];
@@ -140850,7 +144454,6 @@ self: {
        homepage = "https://github.com/igraves/resumption_monads";
        description = "Resumption and reactive resumption monads for Haskell";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "monad-skeleton" = callPackage
@@ -140915,6 +144518,8 @@ self: {
        pname = "monad-ste";
        version = "0.1.0.0";
        sha256 = "0yqkx7rlrfms7wiymb41y5nxh8fyi4049729iamwablx6hdpsrw6";
+       revision = "1";
+       editedCabalFile = "17xfha8zn0snlqwi8cr44my3d1zbyvhh83qlmb747dblhmj1rdi1";
        libraryHaskellDepends = [ base exceptions ghc-prim primitive ];
        testHaskellDepends = [ base hspec HUnit ];
        homepage = "http://github.com/cartazio/monad-ste";
@@ -140967,11 +144572,11 @@ self: {
     ({ mkDerivation, base, mtl }:
      mkDerivation {
        pname = "monad-supply";
-       version = "0.6";
-       sha256 = "1gg4r7fwaq2fa0lz8pz301mk3q16xpbs7qv54hhggxrv3i1h33ir";
+       version = "0.7";
+       sha256 = "1786rj4n0rrjpp07gn2y8vwpf6ijkjaim1q34rq7lvbjx1fhr2z5";
        libraryHaskellDepends = [ base mtl ];
        description = "Stateful supply monad";
-       license = "unknown";
+       license = stdenv.lib.licenses.mit;
      }) {};
 
   "monad-task" = callPackage
@@ -140984,7 +144589,6 @@ self: {
        homepage = "http://github.com/ninegua/monad-task";
        description = "A monad transformer that turns event processing into co-routine programming";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "monad-time" = callPackage
@@ -141002,6 +144606,20 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "monad-time_0_3_1_0" = callPackage
+    ({ mkDerivation, base, mtl, time }:
+     mkDerivation {
+       pname = "monad-time";
+       version = "0.3.1.0";
+       sha256 = "0z30c0k5bqlz86vwajnm6kj26i09zx6dzqwd00z6ba8hqyzm1x0a";
+       libraryHaskellDepends = [ base mtl time ];
+       testHaskellDepends = [ base mtl time ];
+       homepage = "https://github.com/scrive/monad-time";
+       description = "Type class for monads which carry the notion of the current time";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "monad-timing" = callPackage
     ({ mkDerivation, base, containers, exceptions, hlint, hspec
      , monad-control, mtl, time, transformers, transformers-base
@@ -141081,12 +144699,12 @@ self: {
      }) {};
 
   "monad-var" = callPackage
-    ({ mkDerivation, base, stm, transformers }:
+    ({ mkDerivation, base, base-compat, stm }:
      mkDerivation {
        pname = "monad-var";
-       version = "0.1.2.0";
-       sha256 = "1nj10lhijwvim7js2vl9b9qq7x55dx7bk6q4jmvpz99c2vqfhyy5";
-       libraryHaskellDepends = [ base stm transformers ];
+       version = "0.2.1.0";
+       sha256 = "1amlkcwwmgqscq0w660lawnwz07swlmiz8g61qn0fb1vmfpvas88";
+       libraryHaskellDepends = [ base base-compat stm ];
        homepage = "https://github.com/effectfully/monad-var#readme";
        description = "Generic operations over variables";
        license = stdenv.lib.licenses.bsd3;
@@ -141170,8 +144788,8 @@ self: {
      }:
      mkDerivation {
        pname = "monadcryptorandom";
-       version = "0.7.2";
-       sha256 = "12inwjh1smgrp62hvrca7608vjaff576503xi7ymbkq9szk8rkj9";
+       version = "0.7.2.1";
+       sha256 = "03bn19wkshs9bjfl65p8klagydva6c543zasibv3y0w1hrpknib9";
        libraryHaskellDepends = [
          base bytestring crypto-api exceptions mtl tagged transformers
          transformers-compat
@@ -141210,16 +144828,19 @@ self: {
      }) {};
 
   "monadiccp" = callPackage
-    ({ mkDerivation, base, containers, mtl, parsec, pretty, random }:
+    ({ mkDerivation, base, containers, mtl, parsec, pretty, random
+     , semigroups
+     }:
      mkDerivation {
        pname = "monadiccp";
-       version = "0.7.6";
-       sha256 = "083ppr53ac85r5ybndngsfwxgalj63giz32aa7wpcm629b9g4lxc";
+       version = "0.7.7";
+       sha256 = "1l6g2gbxmw0avyr7mfjadhads6raz6cwvmg57vb7ssryd9j21vp4";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
-         base containers mtl parsec pretty random
+         base containers mtl parsec pretty random semigroups
        ];
-       homepage = "http://users.ugent.be/~tschrijv/MCP/";
+       testHaskellDepends = [ base ];
+       homepage = "https://people.cs.kuleuven.be/~tom.schrijvers/MCP/";
        description = "Constraint Programming";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -141457,8 +145078,10 @@ self: {
      }:
      mkDerivation {
        pname = "mongoDB";
-       version = "2.3.0.4";
-       sha256 = "0qxwk154wd2ir3z7qjn8b7p6lx34ga5r7gcpmf4yp1z8vzsbxn57";
+       version = "2.3.0.5";
+       sha256 = "13pa30qgk08846hngh9gy1w6ay0amchwr8aj32558i41nnrhl9j9";
+       revision = "2";
+       editedCabalFile = "0bx2vdwp53c9dgil09qg22hd1j1dilwqcg6ighp28ajmnxkyl8j0";
        libraryHaskellDepends = [
          array base base16-bytestring base64-bytestring binary bson
          bytestring conduit conduit-extra containers cryptohash
@@ -141478,6 +145101,38 @@ self: {
        license = stdenv.lib.licenses.asl20;
      }) {};
 
+  "mongoDB_2_4_0_0" = callPackage
+    ({ mkDerivation, array, base, base16-bytestring, base64-bytestring
+     , binary, bson, bytestring, conduit, conduit-extra, containers
+     , criterion, cryptohash, data-default-class, hashtables, hspec
+     , lifted-base, monad-control, mtl, network, nonce, old-locale
+     , parsec, pureMD5, random, random-shuffle, resourcet, stm, tagged
+     , text, time, tls, transformers, transformers-base
+     }:
+     mkDerivation {
+       pname = "mongoDB";
+       version = "2.4.0.0";
+       sha256 = "06g7mvazsymbyzm1zhsyfpbmhvlizidb4lp5l6axfw2wh90h5f7x";
+       libraryHaskellDepends = [
+         array base base16-bytestring base64-bytestring binary bson
+         bytestring conduit conduit-extra containers cryptohash
+         data-default-class hashtables lifted-base monad-control mtl network
+         nonce parsec pureMD5 random random-shuffle resourcet stm tagged
+         text time tls transformers transformers-base
+       ];
+       testHaskellDepends = [ base hspec mtl old-locale text time ];
+       benchmarkHaskellDepends = [
+         array base base16-bytestring base64-bytestring binary bson
+         bytestring containers criterion cryptohash data-default-class
+         hashtables lifted-base monad-control mtl network nonce parsec
+         random random-shuffle stm text transformers-base
+       ];
+       homepage = "https://github.com/mongodb-haskell/mongodb";
+       description = "Driver (client) for MongoDB, a free, scalable, fast, document DBMS";
+       license = stdenv.lib.licenses.asl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "mongodb-queue" = callPackage
     ({ mkDerivation, base, data-default, hspec, lifted-base
      , monad-control, mongoDB, network, text, transformers
@@ -141553,6 +145208,7 @@ self: {
        ];
        description = "A system state collecting library and application";
        license = stdenv.lib.licenses.lgpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "mono-foldable" = callPackage
@@ -141622,6 +145278,18 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "monoid" = callPackage
+    ({ mkDerivation, base, containers, lens, mtl }:
+     mkDerivation {
+       pname = "monoid";
+       version = "0.1.8";
+       sha256 = "15mwj4w46wszawhiabykamaf020m795zg017jb2j49gpzk8abqjf";
+       libraryHaskellDepends = [ base containers lens mtl ];
+       homepage = "https://github.com/luna/monoid";
+       description = "Monoid type classes, designed in modular way, distinguish Monoid from Mempty and Semigroup. This design allows mempty operation don't bring Semigroups related constraints until (<>) is used.";
+       license = stdenv.lib.licenses.asl20;
+     }) {};
+
   "monoid-absorbing" = callPackage
     ({ mkDerivation, base, mtl }:
      mkDerivation {
@@ -141639,10 +145307,8 @@ self: {
      }:
      mkDerivation {
        pname = "monoid-extras";
-       version = "0.4.2";
-       sha256 = "07r86ip6jfa2ka84dpilap01g1pg8r5bqz2nk7js6mlnbh2lxzqk";
-       revision = "2";
-       editedCabalFile = "04h78r48rg2ppi53869vb8y226g135fxgy9ryi1v08nqsiqi1vvw";
+       version = "0.4.4";
+       sha256 = "1ik88ilg5zjrajqllg3zjp92bz8mhvrc8q9mx6llkwry5k3avsfx";
        libraryHaskellDepends = [ base groups semigroupoids semigroups ];
        benchmarkHaskellDepends = [ base criterion ];
        description = "Various extra monoid-related definitions and utilities";
@@ -141699,8 +145365,8 @@ self: {
      }:
      mkDerivation {
        pname = "monoid-subclasses";
-       version = "0.4.4";
-       sha256 = "1ycrcrw3gnsb8zxx8hvrfclj1skfapkvxp37r2j4j31wjhv3fycp";
+       version = "0.4.6";
+       sha256 = "1rsipvaab5wpzi4qxzzb3gihg1gnsdiv0iz00gdskgjifggamh8m";
        libraryHaskellDepends = [
          base bytestring containers primes text vector
        ];
@@ -141711,6 +145377,7 @@ self: {
        homepage = "https://github.com/blamario/monoid-subclasses/";
        description = "Subclasses of Monoid";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "monoid-transformer" = callPackage
@@ -141726,14 +145393,15 @@ self: {
 
   "monoidal-containers" = callPackage
     ({ mkDerivation, base, containers, deepseq, hashable, lens, newtype
-     , unordered-containers
+     , semigroups, unordered-containers
      }:
      mkDerivation {
        pname = "monoidal-containers";
-       version = "0.3.0.2";
-       sha256 = "1ivjf0wi77kf07jq6q8mf01bi8zr29qjkvsi2sqpm34kl7hlhsij";
+       version = "0.3.1.0";
+       sha256 = "11gpqp4c54q6kmsdfpl0lcrfj6687h51mjpgirl299j6bam2bhs4";
        libraryHaskellDepends = [
-         base containers deepseq hashable lens newtype unordered-containers
+         base containers deepseq hashable lens newtype semigroups
+         unordered-containers
        ];
        homepage = "http://github.com/bgamari/monoidal-containers";
        description = "Containers with monoidal accumulation";
@@ -142004,26 +145672,27 @@ self: {
 
   "morte" = callPackage
     ({ mkDerivation, alex, array, base, binary, code-page, containers
-     , criterion, deepseq, Earley, http-client, http-client-tls
-     , microlens, microlens-mtl, mtl, optparse-applicative, pipes
-     , QuickCheck, system-fileio, system-filepath, tasty, tasty-hunit
-     , tasty-quickcheck, text, text-format, transformers
+     , criterion, deepseq, Earley, formatting, http-client
+     , http-client-tls, microlens, microlens-mtl, mtl
+     , optparse-applicative, pipes, QuickCheck, system-fileio
+     , system-filepath, tasty, tasty-hunit, tasty-quickcheck, text
+     , transformers
      }:
      mkDerivation {
        pname = "morte";
-       version = "1.6.15";
-       sha256 = "04s58nb4ycfp679saj50wmxgszjrp479dp378wd982534jrglxyh";
+       version = "1.6.18";
+       sha256 = "1cnwk2rihbywwkpxw7bd22zh33hkffpaza7d4crr5x2p7rdvhmjp";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
-         array base binary containers deepseq Earley http-client
+         array base binary containers deepseq Earley formatting http-client
          http-client-tls microlens microlens-mtl pipes system-fileio
-         system-filepath text text-format transformers
+         system-filepath text transformers
        ];
        libraryToolDepends = [ alex ];
        executableHaskellDepends = [
-         base code-page optparse-applicative text text-format
+         base code-page formatting optparse-applicative text
        ];
        testHaskellDepends = [
          base mtl QuickCheck system-filepath tasty tasty-hunit
@@ -142143,22 +145812,23 @@ self: {
      }) {};
 
   "movie-monad" = callPackage
-    ({ mkDerivation, base, filepath, gi-gdk, gi-gdkpixbuf, gi-glib
-     , gi-gobject, gi-gst, gi-gstvideo, gi-gtk, haskell-gi
-     , haskell-gi-base, MissingH, network-uri, process, system-fileio
-     , system-filepath, text, time
+    ({ mkDerivation, base, bytestring, filepath, gi-gdk, gi-gdkpixbuf
+     , gi-glib, gi-gobject, gi-gst, gi-gstvideo, gi-gtk, haskell-gi
+     , haskell-gi-base, haskell-gi-overloading, MissingH, network-uri
+     , process, system-fileio, system-filepath, text, time
      }:
      mkDerivation {
        pname = "movie-monad";
-       version = "0.0.4.0";
-       sha256 = "0wdnf8gm3h7ykdmnwc7jw1y0rs27izzh1kz2gkgi3g2dyllh7sq3";
+       version = "0.0.5.0";
+       sha256 = "02hqkgz3855d3lgvyq6nyqm70x5c0ycfzvw6pxndhv8ly5i61nby";
        isLibrary = false;
        isExecutable = true;
        enableSeparateDataOutput = true;
        executableHaskellDepends = [
-         base filepath gi-gdk gi-gdkpixbuf gi-glib gi-gobject gi-gst
-         gi-gstvideo gi-gtk haskell-gi haskell-gi-base MissingH network-uri
-         process system-fileio system-filepath text time
+         base bytestring filepath gi-gdk gi-gdkpixbuf gi-glib gi-gobject
+         gi-gst gi-gstvideo gi-gtk haskell-gi haskell-gi-base
+         haskell-gi-overloading MissingH network-uri process system-fileio
+         system-filepath text time
        ];
        homepage = "https://github.com/lettier/movie-monad";
        description = "Plays videos using GStreamer and GTK+";
@@ -142180,28 +145850,28 @@ self: {
      }) {};
 
   "mp" = callPackage
-    ({ mkDerivation, base, binary, bytestring, ConfigFile, daemons
-     , directory, filepath, glib, gstreamer, hgettext, MissingH, mtl
-     , network, random, setlocale, text, unix, unordered-containers
-     , utf8-string, vty, vty-ui
+    ({ mkDerivation, async, base, binary, ConfigFile, containers
+     , daemons, directory, exceptions, filepath, gi-glib, gi-gobject
+     , gi-gst, haskell-gi-base, haskell-gi-overloading, lens, MissingH
+     , mtl, network, random, resourcet, simple-ui, template-haskell
+     , text, utf8-string, vty
      }:
      mkDerivation {
        pname = "mp";
-       version = "0.2.2";
-       sha256 = "1klz2ykglgkvxs66j5iacjbx5cv5gq0y4d12g68ng2pcmpwc93ir";
-       revision = "1";
-       editedCabalFile = "1cc85zdja69m16h32ii1jw1qkfz7jq3gp0m0m6pfaj146l8qcmwc";
+       version = "1.0.2";
+       sha256 = "07npcr1rjypjbxrv3hccqfac3piq00psc7yxgh7iw8pl8izqrwl7";
        isLibrary = false;
        isExecutable = true;
        enableSeparateDataOutput = true;
        executableHaskellDepends = [
-         base binary bytestring ConfigFile daemons directory filepath glib
-         gstreamer hgettext MissingH mtl network random setlocale text unix
-         unordered-containers utf8-string vty vty-ui
+         async base binary ConfigFile containers daemons directory
+         exceptions filepath gi-glib gi-gobject gi-gst haskell-gi-base
+         haskell-gi-overloading lens MissingH mtl network random resourcet
+         simple-ui template-haskell text utf8-string vty
        ];
-       homepage = "https://bitbucket.org/borekpiotr/linux-music-player";
+       homepage = "http://bitbucket.org/borekpiotr/linux-music-player";
        description = "Music player for linux";
-       license = "GPL";
+       license = stdenv.lib.licenses.gpl2;
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
@@ -142671,8 +146341,8 @@ self: {
        pname = "mtl-compat";
        version = "0.2.1.3";
        sha256 = "15388p9ybdn6digk6cpdsw6havd0yva8vvwl3p7fnc9sb59wln34";
-       revision = "3";
-       editedCabalFile = "0igfsrc7q326ggvw47xwq1xffa4r225akla0nwgmqhd7y1n5753c";
+       revision = "4";
+       editedCabalFile = "1mfrx8cpx0502sjv0bmlfkl0h46c4krldg8m89k4fj6iawwg2ab5";
        libraryHaskellDepends = [ base mtl ];
        doHaddock = false;
        homepage = "https://github.com/haskell-compat/mtl-compat";
@@ -142742,7 +146412,6 @@ self: {
        libraryHaskellDepends = [ base transformers ];
        description = "Monad Transformer Library with Type Families";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "mtl-unleashed" = callPackage
@@ -142987,7 +146656,6 @@ self: {
        homepage = "https://github.com/chris-martin/multi-instance#readme";
        description = "Typeclasses augmented with a phantom type parameter";
        license = stdenv.lib.licenses.asl20;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "multi-trie" = callPackage
@@ -143330,6 +146998,28 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "multistate_0_8_0_0" = callPackage
+    ({ mkDerivation, base, hspec, monad-control, mtl, tagged
+     , transformers, transformers-base
+     }:
+     mkDerivation {
+       pname = "multistate";
+       version = "0.8.0.0";
+       sha256 = "0sax983yjzcbailza3fpjjszg4vn0wb11wjr11jskk22lccbagq1";
+       revision = "1";
+       editedCabalFile = "1p5xf8i7y56fb4m7is0x1z852cq82sv0342z1h4qz1mi8vpln7zz";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base monad-control mtl tagged transformers transformers-base
+       ];
+       testHaskellDepends = [ base hspec transformers ];
+       homepage = "https://github.com/lspitzner/multistate";
+       description = "like mtl's ReaderT / WriterT / StateT, but more than one contained value/type";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "multivariant" = callPackage
     ({ mkDerivation, base, containers, free, HUnit, invertible
      , MonadRandom, profunctors, QuickCheck, semigroupoids, tasty
@@ -143362,6 +147052,24 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "multivector" = callPackage
+    ({ mkDerivation, base, smallcheck, tasty, tasty-smallcheck, Vector
+     , vector
+     }:
+     mkDerivation {
+       pname = "multivector";
+       version = "0.1.0.0";
+       sha256 = "183i59ri20fci2f2w4algmr8crz6q2aj1yirhgwjilkj3f4h6h4d";
+       libraryHaskellDepends = [ base vector ];
+       testHaskellDepends = [
+         base smallcheck tasty tasty-smallcheck Vector
+       ];
+       description = "Vectors of packed tuples";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {Vector = null;};
+
   "muon" = callPackage
     ({ mkDerivation, base, blaze-html, ConfigFile, directory, Glob
      , happstack-server, HStringTemplate, markdown, MissingH, process
@@ -143940,7 +147648,6 @@ self: {
        homepage = "https://github.com/chris-martin/mvar-lock";
        description = "A trivial lock based on MVar";
        license = stdenv.lib.licenses.asl20;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "mvc" = callPackage
@@ -143995,27 +147702,32 @@ self: {
     ({ mkDerivation, base, mwc-random, primitive, transformers }:
      mkDerivation {
        pname = "mwc-probability";
-       version = "1.3.0";
-       sha256 = "0vqzzsifar0q33ar1583c0g7250bi8fwpjpiwdq7gsigz8isd6qg";
-       revision = "1";
-       editedCabalFile = "1b1w504ycphpkcq279bjr2m1laxmv7xzhrbqaf6ayym265f75mnb";
+       version = "2.0.2";
+       sha256 = "1v2k0vpz33xmf58dhidwnjjvhkczfqizlcgwalf1vk19sw1ls3x5";
        libraryHaskellDepends = [ base mwc-random primitive transformers ];
        homepage = "http://github.com/jtobin/mwc-probability";
        description = "Sampling function-based probability distributions";
        license = stdenv.lib.licenses.mit;
      }) {};
 
-  "mwc-probability_2_0_2" = callPackage
-    ({ mkDerivation, base, mwc-random, primitive, transformers }:
+  "mwc-probability-transition" = callPackage
+    ({ mkDerivation, base, ghc-prim, hspec, logging-effect, mtl
+     , mwc-probability, primitive, QuickCheck, transformers
+     }:
      mkDerivation {
-       pname = "mwc-probability";
-       version = "2.0.2";
-       sha256 = "1v2k0vpz33xmf58dhidwnjjvhkczfqizlcgwalf1vk19sw1ls3x5";
-       libraryHaskellDepends = [ base mwc-random primitive transformers ];
-       homepage = "http://github.com/jtobin/mwc-probability";
-       description = "Sampling function-based probability distributions";
-       license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
+       pname = "mwc-probability-transition";
+       version = "0.3.0.3";
+       sha256 = "04jnszan9723ycrf1xgh2k87vcx0xyq5ga8q3fjskr3937j0ydxj";
+       libraryHaskellDepends = [
+         base ghc-prim logging-effect mtl mwc-probability primitive
+         transformers
+       ];
+       testHaskellDepends = [
+         base hspec logging-effect mwc-probability QuickCheck
+       ];
+       homepage = "https://github.com/ocramz/mwc-probability-transition";
+       description = "A Markov stochastic transition operator with logging";
+       license = stdenv.lib.licenses.bsd3;
      }) {};
 
   "mwc-random" = callPackage
@@ -144039,8 +147751,8 @@ self: {
        pname = "mwc-random-accelerate";
        version = "0.1.0.0";
        sha256 = "1qrji6b39zp5wrgz5c59xv06l3khhp4fv2ybdmx4ac5i28yx7yih";
-       revision = "1";
-       editedCabalFile = "0xgl1glq4jxs48x7wp8wh6pk3zad8483bvppwp89p3k0vlh6yqq3";
+       revision = "2";
+       editedCabalFile = "16llz1jvpq841a20wvv2j8kkb357y970i54w340hwk4c187hypic";
        libraryHaskellDepends = [ accelerate base mwc-random ];
        description = "Generate Accelerate arrays filled with high quality pseudorandom numbers";
        license = stdenv.lib.licenses.bsd3;
@@ -144083,6 +147795,25 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {inherit (pkgs) mxnet;};
 
+  "mxnet-dataiter" = callPackage
+    ({ mkDerivation, base, conduit, conduit-combinators, hspec, mxnet
+     , mxnet-nn, streaming, template-haskell
+     }:
+     mkDerivation {
+       pname = "mxnet-dataiter";
+       version = "0.1.0.0";
+       sha256 = "1cicxgasx0s840vvkc6n6v6rsrr8rk9jhpqh96kiy6dk0m4k02s9";
+       libraryHaskellDepends = [
+         base conduit conduit-combinators mxnet mxnet-nn streaming
+         template-haskell
+       ];
+       testHaskellDepends = [ base hspec mxnet streaming ];
+       homepage = "https://github.com/pierric/mxnet-dataiter#readme";
+       description = "mxnet dataiters";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "mxnet-examples" = callPackage
     ({ mkDerivation, base, mxnet }:
      mkDerivation {
@@ -144102,16 +147833,17 @@ self: {
     ({ mkDerivation, attoparsec, attoparsec-binary, base, bytestring
      , exceptions, ghc-prim, lens, mmorph, mtl, mxnet, resourcet
      , streaming, streaming-bytestring, streaming-utils
-     , unordered-containers, vector
+     , transformers-base, unordered-containers, vector
      }:
      mkDerivation {
        pname = "mxnet-nn";
-       version = "0.0.1.1";
-       sha256 = "16clpl3sn4cf106hjigsyhgh15l9269yg838qarvbpigppkgb2sv";
+       version = "0.0.1.3";
+       sha256 = "0693ca7rwai4s8i8vqbmmq3q50pd23svcnnnd1cxjbqxh6hgsbs1";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         base lens mtl mxnet resourcet unordered-containers vector
+         base lens mtl mxnet resourcet transformers-base
+         unordered-containers vector
        ];
        executableHaskellDepends = [
          attoparsec attoparsec-binary base bytestring exceptions ghc-prim
@@ -144161,6 +147893,7 @@ self: {
        testToolDepends = [ hspec-discover ];
        description = "spam";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "my-test-docs" = callPackage
@@ -144185,6 +147918,7 @@ self: {
        testToolDepends = [ hspec-discover ];
        description = "spam";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "myTestlll" = callPackage
@@ -144321,8 +148055,8 @@ self: {
      }:
      mkDerivation {
        pname = "mysql";
-       version = "0.1.4";
-       sha256 = "13k6vdmkdbhjlgfsjw6r2smrxhkbiqkw9rdnfx554lc843dpb1lv";
+       version = "0.1.5";
+       sha256 = "0x9hdwg94s0baw7jn7ba2mk0rr7qpf1hyf88pm6gv4vdgz86gcs9";
        setupHaskellDepends = [ base Cabal ];
        libraryHaskellDepends = [ base bytestring containers ];
        librarySystemDepends = [ mysql ];
@@ -144415,18 +148149,18 @@ self: {
 
   "mysql-simple" = callPackage
     ({ mkDerivation, attoparsec, base, base16-bytestring, blaze-builder
-     , blaze-textual, bytestring, hspec, mysql, old-locale, pcre-light
-     , text, time
+     , blaze-textual, bytestring, containers, hspec, mysql, old-locale
+     , pcre-light, text, time
      }:
      mkDerivation {
        pname = "mysql-simple";
-       version = "0.4.4";
-       sha256 = "1rrwhc9szdsn1wm5y510kyj0cfhavw01j61vywf96yw57132y75m";
+       version = "0.4.5";
+       sha256 = "1cbwdsxysz6a4182fgkkd869hm44v834lqv2igwsfbx6v0p44g5h";
        libraryHaskellDepends = [
          attoparsec base base16-bytestring blaze-builder blaze-textual
-         bytestring mysql old-locale pcre-light text time
+         bytestring containers mysql old-locale pcre-light text time
        ];
-       testHaskellDepends = [ base hspec ];
+       testHaskellDepends = [ base blaze-builder hspec text ];
        homepage = "https://github.com/paul-rouse/mysql-simple";
        description = "A mid-level MySQL client library";
        license = stdenv.lib.licenses.bsd3;
@@ -144533,6 +148267,7 @@ self: {
        homepage = "https://github.com/gelisam/n-ary-functor";
        description = "An n-ary version of Functor";
        license = stdenv.lib.licenses.publicDomain;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "n-m" = callPackage
@@ -144553,8 +148288,8 @@ self: {
     ({ mkDerivation, base, singletons, vector }:
      mkDerivation {
        pname = "n-tuple";
-       version = "0.0.1.1";
-       sha256 = "1pwz4rs0bbanhlwcm7v06s4dkwr3h41w203kab1s7k201na7j9r1";
+       version = "0.0.2.0";
+       sha256 = "0gq2s7cfivzspr446h21c79md6wzg2q8wzmx8kivbxiixsr3bxva";
        libraryHaskellDepends = [ base singletons vector ];
        homepage = "https://github.com/athanclark/n-tuple#readme";
        description = "Homogeneous tuples of arbitrary length";
@@ -144623,41 +148358,6 @@ self: {
   "nakadi-client" = callPackage
     ({ mkDerivation, aeson, aeson-casing, async, base, bytestring
      , classy-prelude, conduit, conduit-combinators, conduit-extra
-     , containers, hashable, http-client, http-client-tls, http-conduit
-     , http-types, iso8601-time, lens, lens-aeson, monad-logger, mtl
-     , random, resourcet, retry, safe-exceptions, say, scientific, split
-     , tasty, tasty-hunit, template-haskell, text, time, transformers
-     , unordered-containers, uuid, vector
-     }:
-     mkDerivation {
-       pname = "nakadi-client";
-       version = "0.3.0.0";
-       sha256 = "14cr81b6x7cf10zja1vvpqhz9wanq50wwxhkvfx8w1s44skwvasy";
-       libraryHaskellDepends = [
-         aeson aeson-casing base bytestring conduit conduit-combinators
-         conduit-extra containers hashable http-client http-client-tls
-         http-conduit http-types iso8601-time lens monad-logger mtl
-         resourcet retry safe-exceptions scientific split tasty
-         template-haskell text time transformers unordered-containers uuid
-         vector
-       ];
-       testHaskellDepends = [
-         aeson aeson-casing async base bytestring classy-prelude conduit
-         conduit-combinators conduit-extra containers hashable http-client
-         http-client-tls http-conduit http-types iso8601-time lens
-         lens-aeson monad-logger mtl random resourcet retry safe-exceptions
-         say scientific split tasty tasty-hunit template-haskell text time
-         transformers unordered-containers uuid vector
-       ];
-       homepage = "https://github.com/mtesseract/nakadi-haskell#readme";
-       description = "Client library for the Nakadi Event Broker";
-       license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
-     }) {};
-
-  "nakadi-client_0_5_0_3" = callPackage
-    ({ mkDerivation, aeson, aeson-casing, async, base, bytestring
-     , classy-prelude, conduit, conduit-combinators, conduit-extra
      , containers, exceptions, fast-logger, hashable, http-client
      , http-client-tls, http-conduit, http-types, iso8601-time, lens
      , lens-aeson, lifted-async, monad-control, monad-logger, mtl
@@ -144706,7 +148406,6 @@ self: {
        executableHaskellDepends = [ base text ];
        description = "Tool to keep namecoin names updated and well";
        license = stdenv.lib.licenses.gpl3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "named" = callPackage
@@ -144965,8 +148664,8 @@ self: {
      }) {};
 
   "nanovg" = callPackage
-    ({ mkDerivation, base, bytestring, c2hs, containers, freeglut, GLEW
-     , hspec, inline-c, mesa, QuickCheck, text, vector
+    ({ mkDerivation, base, bytestring, c2hs, containers, GLEW, hspec
+     , inline-c, libGL, libGLU, QuickCheck, text, vector
      }:
      mkDerivation {
        pname = "nanovg";
@@ -144977,14 +148676,14 @@ self: {
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base bytestring containers text vector ];
-       librarySystemDepends = [ freeglut GLEW mesa ];
+       librarySystemDepends = [ GLEW libGL libGLU ];
        libraryToolDepends = [ c2hs ];
        testHaskellDepends = [ base containers hspec inline-c QuickCheck ];
        homepage = "https://github.com/cocreature/nanovg-hs";
        description = "Haskell bindings for nanovg";
        license = stdenv.lib.licenses.isc;
        hydraPlatforms = stdenv.lib.platforms.none;
-     }) {GLEW = null; inherit (pkgs) freeglut; mesa = null;};
+     }) {GLEW = null; inherit (pkgs) libGL; inherit (pkgs) libGLU;};
 
   "nanq" = callPackage
     ({ mkDerivation, aeson, aeson-pretty, base, bytestring, containers
@@ -145535,7 +149234,6 @@ self: {
        homepage = "http://github.com/nfjinjing/nemesis";
        description = "a task management tool for Haskell";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "nemesis-titan" = callPackage
@@ -145637,8 +149335,8 @@ self: {
      }:
      mkDerivation {
        pname = "nest";
-       version = "0.0.1";
-       sha256 = "1ndd93z9yqa1slhb8wq3j5fr3rc2fna0cb5xqh9s3dynb966zqqk";
+       version = "0.0.2";
+       sha256 = "15q7c2ppw1ajnhglfawlc2a65k7d2cvcpav88y8kjqmp68hvgpic";
        libraryHaskellDepends = [
          base bytestring containers text transformers unix
        ];
@@ -145648,34 +149346,31 @@ self: {
      }) {};
 
   "nested-routes" = callPackage
-    ({ mkDerivation, attoparsec, base, bifunctors, bytestring
-     , composition-extra, errors, exceptions, extractable-singleton
-     , hashable, hashtables, HSet, hspec, hspec-wai, http-types
-     , monad-control-aligned, mtl, poly-arity, pred-set, pred-trie
-     , regex-compat, semigroups, tasty, tasty-hspec, text, transformers
-     , tries, unordered-containers, wai-middleware-content-type
-     , wai-middleware-verbs, wai-transformers
+    ({ mkDerivation, attoparsec, base, errors, exceptions
+     , extractable-singleton, hashable, hspec, hspec-wai, http-types
+     , monad-control-aligned, mtl, poly-arity, pred-trie, regex-compat
+     , tasty, tasty-hspec, text, tries, unordered-containers, wai
+     , wai-middleware-content-type, wai-middleware-verbs
+     , wai-transformers
      }:
      mkDerivation {
        pname = "nested-routes";
-       version = "8.0.1";
-       sha256 = "19m1aqhyzs86gdskv93lgr1rfgqy3spxz4sv21ych1mw719q0lzl";
-       isLibrary = true;
-       isExecutable = true;
+       version = "9.0.0.1";
+       sha256 = "1y9562nq2hylcd0ahc28cfb9q1bsl4dg8ilrdsy64ls776dkj951";
        libraryHaskellDepends = [
-         attoparsec base bifunctors bytestring errors exceptions
-         extractable-singleton hashable hashtables monad-control-aligned mtl
-         poly-arity pred-set pred-trie regex-compat semigroups text
-         transformers tries unordered-containers wai-middleware-content-type
+         attoparsec base errors exceptions extractable-singleton hashable
+         monad-control-aligned mtl poly-arity pred-trie regex-compat text
+         tries unordered-containers wai wai-middleware-content-type
          wai-middleware-verbs wai-transformers
        ];
        testHaskellDepends = [
-         attoparsec base bytestring composition-extra errors exceptions
-         hashable hashtables HSet hspec hspec-wai http-types mtl poly-arity
-         pred-set pred-trie regex-compat semigroups tasty tasty-hspec text
-         transformers tries unordered-containers wai-middleware-content-type
+         attoparsec base errors exceptions extractable-singleton hashable
+         hspec hspec-wai http-types monad-control-aligned mtl poly-arity
+         pred-trie regex-compat tasty tasty-hspec text tries
+         unordered-containers wai wai-middleware-content-type
          wai-middleware-verbs wai-transformers
        ];
+       homepage = "https://github.com/athanclark/nested-routes#readme";
        description = "Declarative, compositional Wai responses";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -145822,31 +149517,42 @@ self: {
      }) {};
 
   "netlib-carray" = callPackage
-    ({ mkDerivation, base, carray, storable-complex, transformers }:
+    ({ mkDerivation, base, carray, netlib-ffi, transformers }:
      mkDerivation {
        pname = "netlib-carray";
-       version = "0.0";
-       sha256 = "173hphdy4qv3zx6qigjf2zj38gzlmp94xjcyc8jlwln221s35l0r";
-       libraryHaskellDepends = [
-         base carray storable-complex transformers
-       ];
+       version = "0.0.1.1";
+       sha256 = "1vxyffhpayyxwak36b9i7gw35gz61ym9lxnhk45l0h4js3v05iwv";
+       libraryHaskellDepends = [ base carray netlib-ffi transformers ];
        homepage = "http://hub.darcs.net/thielema/netlib-carray/";
        description = "Helper modules for CArray wrappers to BLAS and LAPACK";
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
   "netlib-ffi" = callPackage
-    ({ mkDerivation, base, transformers }:
+    ({ mkDerivation, base, storable-complex, transformers }:
      mkDerivation {
        pname = "netlib-ffi";
-       version = "0.0";
-       sha256 = "0i04gahmv9171ndw5nkcawkfn3vbfgagnxhl1xpy0a45bfs0n9xc";
-       libraryHaskellDepends = [ base transformers ];
+       version = "0.0.1";
+       sha256 = "1v973ibi6jsv09q3n9bmyavv9wqvnljzr9nrvf4pbi6p5l2kyjnw";
+       libraryHaskellDepends = [ base storable-complex transformers ];
        homepage = "http://hub.darcs.net/thielema/netlib-ffi/";
        description = "Helper modules for FFI to BLAS and LAPACK";
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "netlib-ffi_0_1" = callPackage
+    ({ mkDerivation, base, storable-complex, transformers }:
+     mkDerivation {
+       pname = "netlib-ffi";
+       version = "0.1";
+       sha256 = "0ckwa5r8fx2j7qb5phy6gm3xbg9crr9amglcicdxgnzgjd8aap2h";
+       libraryHaskellDepends = [ base storable-complex transformers ];
+       homepage = "http://hub.darcs.net/thielema/netlib-ffi/";
+       description = "Helper modules for FFI to BLAS and LAPACK";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "netlines" = callPackage
     ({ mkDerivation, base, bytestring, contstuff, enumerator, HTF
      , random, text, time
@@ -145900,8 +149606,8 @@ self: {
     ({ mkDerivation, base, netlist, pretty }:
      mkDerivation {
        pname = "netlist-to-vhdl";
-       version = "0.3.2";
-       sha256 = "107pkkihj62qjkfwrnhwfscpph5r76lx6r3s0m3b0dbsf1jy2a61";
+       version = "0.3.3";
+       sha256 = "1f62l4i1l1z47gbrv49xx5y78ykcf6iq6bish3sx5fw46mhcr1j4";
        libraryHaskellDepends = [ base netlist pretty ];
        description = "Convert a Netlist AST to VHDL";
        license = stdenv.lib.licenses.bsd3;
@@ -145937,8 +149643,8 @@ self: {
        pname = "netrc";
        version = "0.2.0.0";
        sha256 = "11iax3ick0im397jyyjkny7lax9bgrlgk90a25dp2jsglkphfpls";
-       revision = "3";
-       editedCabalFile = "1j0s7r9hzisi8zacs505rxh9pk05m5hrrcxn8jnh7w8yphyqbv4j";
+       revision = "4";
+       editedCabalFile = "0g1c3nbalpb7qh6kddir5b84wwg57j2852al2fg5xza3akdd8jsr";
        libraryHaskellDepends = [ base bytestring deepseq parsec ];
        testHaskellDepends = [
          base bytestring tasty tasty-golden tasty-quickcheck
@@ -146083,8 +149789,8 @@ self: {
      }:
      mkDerivation {
        pname = "netwire";
-       version = "5.0.2";
-       sha256 = "10yd28himql3gkilxzwky3d87k2nva43vmb7s5ayaqicchchyyad";
+       version = "5.0.3";
+       sha256 = "0bi2xyipz11vsai4wghdrh5yywzl0bkinfpmh0qdp77y7qlygpgi";
        libraryHaskellDepends = [
          base containers deepseq parallel profunctors random semigroups time
          transformers
@@ -146095,28 +149801,29 @@ self: {
      }) {};
 
   "netwire-input" = callPackage
-    ({ mkDerivation, base, netwire }:
+    ({ mkDerivation, base, deepseq, netwire }:
      mkDerivation {
        pname = "netwire-input";
-       version = "0.0.6";
-       sha256 = "13mq1pxp844brqi6pkgjprcgwdgc8xsx6zhjxzm7311mf4iwa12a";
-       libraryHaskellDepends = [ base netwire ];
+       version = "0.0.7";
+       sha256 = "1f9xxlcpy2brqn5hv0mdc428fav402jsqa1b8h4s8b09qa3v1ii9";
+       libraryHaskellDepends = [ base deepseq netwire ];
        homepage = "https://www.github.com/Mokosha/netwire-input";
        description = "Input handling abstractions for netwire";
        license = stdenv.lib.licenses.mit;
      }) {};
 
   "netwire-input-glfw" = callPackage
-    ({ mkDerivation, base, containers, GLFW-b, mtl, netwire-input, stm
+    ({ mkDerivation, base, containers, deepseq, GLFW-b, mtl
+     , netwire-input, stm
      }:
      mkDerivation {
        pname = "netwire-input-glfw";
-       version = "0.0.8";
-       sha256 = "1nf0ikx6cfsm9xh4zmz64iwq4w92g0g3zalsk3zzd0a7pq74cdz9";
+       version = "0.0.10";
+       sha256 = "1r186xwr5lycs0snr8amvyxvbq2l5jd9p20v8n12zyjm60kmi90y";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         base containers GLFW-b mtl netwire-input stm
+         base containers deepseq GLFW-b mtl netwire-input stm
        ];
        homepage = "https://www.github.com/Mokosha/netwire-input-glfw";
        description = "GLFW instance of netwire-input";
@@ -146182,21 +149889,34 @@ self: {
      }) {};
 
   "network" = callPackage
-    ({ mkDerivation, base, bytestring, directory, doctest, HUnit
-     , test-framework, test-framework-hunit, unix
+    ({ mkDerivation, base, bytestring, doctest, hspec, HUnit, unix }:
+     mkDerivation {
+       pname = "network";
+       version = "2.6.3.5";
+       sha256 = "0h84pv672psxhh5ls407w175cik0gbyx39zynzmw991hr7jgc64s";
+       libraryHaskellDepends = [ base bytestring unix ];
+       testHaskellDepends = [ base bytestring doctest hspec HUnit ];
+       homepage = "https://github.com/haskell/network";
+       description = "Low-level networking interface";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "network_2_7_0_0" = callPackage
+    ({ mkDerivation, base, bytestring, directory, doctest, hspec, HUnit
+     , unix
      }:
      mkDerivation {
        pname = "network";
-       version = "2.6.3.4";
-       sha256 = "1yswp78fg7i1w1inn6p07vhz7lmfs33niavxhq60z6yv0qx2c3dw";
+       version = "2.7.0.0";
+       sha256 = "17qd387vxq2b27k4g56679flnvfvsm7vqf2mnssa0lvghks4c1f1";
        libraryHaskellDepends = [ base bytestring unix ];
        testHaskellDepends = [
-         base bytestring directory doctest HUnit test-framework
-         test-framework-hunit
+         base bytestring directory doctest hspec HUnit
        ];
        homepage = "https://github.com/haskell/network";
        description = "Low-level networking interface";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "network-address" = callPackage
@@ -146280,8 +150000,8 @@ self: {
      }:
      mkDerivation {
        pname = "network-api-support";
-       version = "0.3.2";
-       sha256 = "1wzigwxdql9v6m9kwvnlgaachkr0rk9ldghnazrkkxba8di5kpsi";
+       version = "0.3.3";
+       sha256 = "1dp9fp907sc1r0mshby18vlbkji9bggikbycjbdlb6mzg7mjmiav";
        libraryHaskellDepends = [
          aeson attoparsec base bytestring case-insensitive http-client
          http-client-tls http-types text time tls
@@ -146289,6 +150009,7 @@ self: {
        homepage = "https://github.com/markhibberd/network-api-support";
        description = "Toolkit for building http client libraries over Network.Http.Conduit";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "network-arbitrary" = callPackage
@@ -146311,7 +150032,7 @@ self: {
        homepage = "https://github.com/alunduil/network-arbitrary";
        description = "Arbitrary Instances for Network Types";
        license = stdenv.lib.licenses.mit;
-       maintainers = with stdenv.lib.maintainers; [ alunduil ];
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "network-attoparsec" = callPackage
@@ -146402,8 +150123,8 @@ self: {
     ({ mkDerivation, base, bytestring, network, text, time, vector }:
      mkDerivation {
        pname = "network-carbon";
-       version = "1.0.11";
-       sha256 = "1nkyj9114k2b6gwdd93yfrmf9zbziymbnbh3wxnz0vnk1hl2j5yq";
+       version = "1.0.12";
+       sha256 = "0fb1ymk1rnsppvil46pyaxlzc09l6716jbrr0h7rb5nxv0bvk5pd";
        libraryHaskellDepends = [
          base bytestring network text time vector
        ];
@@ -146427,28 +150148,6 @@ self: {
 
   "network-conduit-tls" = callPackage
     ({ mkDerivation, base, bytestring, conduit, conduit-extra
-     , connection, cprng-aes, data-default, HUnit, monad-control, mtl
-     , network, streaming-commons, tls, transformers, transformers-base
-     }:
-     mkDerivation {
-       pname = "network-conduit-tls";
-       version = "1.2.2";
-       sha256 = "11xh5g0c7arf6d0klilacajf2mg24pb47wbzwn2hb7fimkgwv8hj";
-       libraryHaskellDepends = [
-         base bytestring conduit conduit-extra connection cprng-aes
-         data-default monad-control network streaming-commons tls
-         transformers transformers-base
-       ];
-       testHaskellDepends = [
-         base bytestring conduit conduit-extra connection HUnit mtl
-       ];
-       homepage = "https://github.com/snoyberg/conduit";
-       description = "Create TLS-aware network code with conduits";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-
-  "network-conduit-tls_1_3_0" = callPackage
-    ({ mkDerivation, base, bytestring, conduit, conduit-extra
      , connection, data-default-class, HUnit, mtl, network
      , streaming-commons, tls, transformers, unliftio-core
      }:
@@ -146466,7 +150165,6 @@ self: {
        homepage = "https://github.com/snoyberg/conduit";
        description = "Create TLS-aware network code with conduits";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "network-connection" = callPackage
@@ -146593,8 +150291,8 @@ self: {
     ({ mkDerivation, base }:
      mkDerivation {
        pname = "network-info";
-       version = "0.2.0.9";
-       sha256 = "0rmajccwhkf0p4inb8jjj0dzsksgn663w90km00xvf4mq3pkjab3";
+       version = "0.2.0.10";
+       sha256 = "0anmgzcpnz7nw3n6vq0r25m1s9l2svpwi83wza0lzkrlbnbzd02n";
        libraryHaskellDepends = [ base ];
        homepage = "http://github.com/jystic/network-info";
        description = "Access the local computer's basic network configuration";
@@ -146706,6 +150404,7 @@ self: {
        homepage = "http://msgpack.org/";
        description = "A MessagePack-RPC Implementation";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "network-multicast" = callPackage
@@ -147112,7 +150811,7 @@ self: {
        homepage = "https://github.com/alunduil/network-uri-json";
        description = "FromJSON and ToJSON Instances for Network.URI";
        license = stdenv.lib.licenses.mit;
-       maintainers = with stdenv.lib.maintainers; [ alunduil ];
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "network-uri-static" = callPackage
@@ -147189,7 +150888,6 @@ self: {
        ];
        description = "Networked-game support library";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "neural" = callPackage
@@ -147363,18 +151061,19 @@ self: {
      }) {};
 
   "newtype-generics" = callPackage
-    ({ mkDerivation, base, criterion, hspec, hspec-discover, HUnit
-     , semigroups, transformers
+    ({ mkDerivation, base, criterion, hspec, hspec-discover, semigroups
+     , transformers
      }:
      mkDerivation {
        pname = "newtype-generics";
-       version = "0.5.2.1";
-       sha256 = "1wdm6mg78a5cipbvqinbh33266rgk0axxzdchpzfdxw1iz4xs4nk";
+       version = "0.5.3";
+       sha256 = "0igyisw2djg19v9vkna1rwf47k97mvkvk4bbkmswznvbm00z15gj";
        libraryHaskellDepends = [ base transformers ];
-       testHaskellDepends = [ base hspec HUnit ];
+       testHaskellDepends = [ base hspec ];
        testToolDepends = [ hspec-discover ];
        benchmarkHaskellDepends = [ base criterion semigroups ];
-       description = "A typeclass and set of functions for working with newtypes, with generics support";
+       homepage = "http://github.com/sjakobi/bsb-http-chunked";
+       description = "A typeclass and set of functions for working with newtypes";
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
@@ -147487,8 +151186,8 @@ self: {
      }:
      mkDerivation {
        pname = "ngx-export";
-       version = "1.3.0";
-       sha256 = "1x4na14387sr26lnjmxdnk8gl41pfi4xq3r5a37yl45l4gdhr5hs";
+       version = "1.4.1";
+       sha256 = "1a9swysq72igyfbqw078fj3j8vw6hw1v5h4f64kh9wvvdcrdl2rh";
        libraryHaskellDepends = [
          async base binary bytestring deepseq monad-loops template-haskell
          unix
@@ -147559,7 +151258,6 @@ self: {
        homepage = "https://github.com/mikeplus64/nice-html#readme";
        description = "A fast and nice HTML templating library with distinct compilation/rendering phases";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "nicify" = callPackage
@@ -147656,8 +151354,8 @@ self: {
      }:
      mkDerivation {
        pname = "nirum";
-       version = "0.3.0";
-       sha256 = "1s9yk0gjly0camg3crk0nk2943maizgija415lrd0b8ykgm97ax6";
+       version = "0.3.3";
+       sha256 = "0ilrhkfv1q2w49wsj27dssaavw8v5w77vyf2mynb5aam1yax3d3v";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -147729,6 +151427,7 @@ self: {
        executableHaskellDepends = [ base ];
        description = "Convenient utility for distributed Nix builds";
        license = stdenv.lib.licenses.asl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "nix-deploy" = callPackage
@@ -147780,8 +151479,8 @@ self: {
      }:
      mkDerivation {
        pname = "nix-diff";
-       version = "1.0.1";
-       sha256 = "0xk8ggng32czhy4wxgzw7g28xj18jcbncmfshviqlw17rccrm2fx";
+       version = "1.0.2";
+       sha256 = "1n1f3p5hamvlc7jhl9m569d8li9kxqwkjmv5nn1mq1n1ldhdlwxj";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -147822,6 +151521,7 @@ self: {
        homepage = "https://github.com/peti/nix-paths";
        description = "Knowledge of Nix's installation directories";
        license = stdenv.lib.licenses.bsd3;
+       maintainers = with stdenv.lib.maintainers; [ peti ];
      }) {inherit (pkgs) nix;};
 
   "nixfromnpm" = callPackage
@@ -147973,6 +151673,21 @@ self: {
        broken = true;
      }) {Nmis = null;};
 
+  "nn" = callPackage
+    ({ mkDerivation, base, random, split, tasty, tasty-hspec
+     , tasty-quickcheck
+     }:
+     mkDerivation {
+       pname = "nn";
+       version = "0.2.0";
+       sha256 = "1jl267495x7rc34x35dzrwb05z57w1w97vzgj774ld6z2w1yri7l";
+       libraryHaskellDepends = [ base random split ];
+       testHaskellDepends = [ base tasty tasty-hspec tasty-quickcheck ];
+       homepage = "https://github.com/saschagrunert/nn#readme";
+       description = "A tiny neural network";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "nntp" = callPackage
     ({ mkDerivation, base, bytestring, monad-loops, mtl, network
      , old-locale, parsec, time
@@ -148051,7 +151766,6 @@ self: {
        homepage = "https://ghc.haskell.org/trac/ghc/wiki/Building/RunningNoFib";
        description = "Parse and compare nofib runs";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "nofib-analyze" = callPackage
@@ -148309,8 +152023,8 @@ self: {
      }:
      mkDerivation {
        pname = "nonce";
-       version = "1.0.5";
-       sha256 = "15gbgfmby1mlk95c1q7qd38yc5xr4z7l58b3y59aixlsp4qspind";
+       version = "1.0.7";
+       sha256 = "1q9ph0aq51mvdvydnriqd12sfin36pfb8f588zgac1ybn8r64ksb";
        libraryHaskellDepends = [
          base base64-bytestring bytestring entropy text transformers
          unliftio unliftio-core
@@ -148353,7 +152067,6 @@ self: {
        libraryHaskellDepends = [ base ];
        description = "Free structures sans laws";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "nonlinear-optimization" = callPackage
@@ -148426,8 +152139,8 @@ self: {
        pname = "normalization-insensitive";
        version = "2.0.1";
        sha256 = "00nbha984yg4lxnpkyd3q0gbywf7xn5z5ixy3cr9ksn05w6blm1v";
-       revision = "1";
-       editedCabalFile = "1zaqbgrfy33y2d9ix178mhyysyffsia0hbmg77gcjmvv32b44m6j";
+       revision = "2";
+       editedCabalFile = "0djclsv0vzd56139ddzhykbwb3ny9mf8k2pryp8w33h9i4hv7axc";
        libraryHaskellDepends = [
          base bytestring deepseq hashable text unicode-transforms
        ];
@@ -148601,8 +152314,8 @@ self: {
        pname = "np-extras";
        version = "0.3.1.1";
        sha256 = "0g17kpmd819q0lsy41x0ssvfy3calspdq3q1d579irga77gf0blf";
-       revision = "1";
-       editedCabalFile = "1m4sfcpb9dcawckfk6nb2qib402s958zjgspd4svxrzdyaqqg4i3";
+       revision = "2";
+       editedCabalFile = "01jp7y4lsdxlfrbi5vqsc5iyjzzc996w7g88amkkfg5k6amlxb9r";
        libraryHaskellDepends = [ base containers numeric-prelude primes ];
        description = "NumericPrelude extras";
        license = stdenv.lib.licenses.bsd3;
@@ -148663,6 +152376,7 @@ self: {
        homepage = "https://github.com/xenog/nqe#readme";
        description = "Concurrency library in the style of Erlang/OTP";
        license = stdenv.lib.licenses.publicDomain;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "nsis" = callPackage
@@ -148719,7 +152433,6 @@ self: {
        homepage = "https://github.com/zjhmale/ntha";
        description = "A tiny statically typed functional programming language";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "nthable" = callPackage
@@ -148833,17 +152546,18 @@ self: {
      }) {};
 
   "number-length" = callPackage
-    ({ mkDerivation, base, criterion, HUnit, QuickCheck, test-framework
-     , test-framework-hunit, test-framework-quickcheck2
+    ({ mkDerivation, base, criterion, HUnit, QuickCheck
+     , quickcheck-instances, test-framework, test-framework-hunit
+     , test-framework-quickcheck2
      }:
      mkDerivation {
        pname = "number-length";
-       version = "0.1.0.1";
-       sha256 = "1ig9d1rgd5k9fxqmrdxi7mq6fgnxla7ba1083di1lxcakanll0kc";
+       version = "0.2.1.0";
+       sha256 = "1cdlwdas09q39jag5jl398wmw7ifbgdpp6p5kh0fi71m1c4f05w9";
        libraryHaskellDepends = [ base ];
        testHaskellDepends = [
-         base HUnit QuickCheck test-framework test-framework-hunit
-         test-framework-quickcheck2
+         base HUnit QuickCheck quickcheck-instances test-framework
+         test-framework-hunit test-framework-quickcheck2
        ];
        benchmarkHaskellDepends = [ base criterion ];
        homepage = "https://github.com/trskop/number-length";
@@ -149117,52 +152831,77 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "numhask_0_2_1_0" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "numhask";
+       version = "0.2.1.0";
+       sha256 = "04bz8ddip48fiszjqc6km9xg63sn26jrnjxswc3qfls37jqzk2c3";
+       libraryHaskellDepends = [ base ];
+       homepage = "https://github.com/tonyday567/numhask#readme";
+       description = "numeric classes";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "numhask-array" = callPackage
     ({ mkDerivation, adjunctions, base, deepseq, dimensions
-     , distributive, doctest, ghc-typelits-natnormalise, numhask
-     , protolude, QuickCheck, singletons, tasty, tasty-quickcheck
-     , typelits-witnesses, vector
+     , distributive, doctest, numhask-prelude, protolude, QuickCheck
+     , singletons, tasty, tasty-quickcheck, vector
      }:
      mkDerivation {
        pname = "numhask-array";
-       version = "0.1.1.0";
-       sha256 = "0qdlc8ipjb6p5hcp7kvjspa3yjjdsjah1k5c35w6njy0ld9rdi54";
+       version = "0.2.1.0";
+       sha256 = "0d800ghafzfyz6afnaqza6b44pmjh8zq0gbxvxg2ach2wfcknd0h";
        libraryHaskellDepends = [
-         adjunctions base deepseq dimensions distributive
-         ghc-typelits-natnormalise numhask protolude QuickCheck singletons
-         typelits-witnesses vector
+         adjunctions base deepseq dimensions distributive numhask-prelude
+         protolude QuickCheck singletons vector
        ];
        testHaskellDepends = [
-         base doctest numhask QuickCheck tasty tasty-quickcheck
+         base doctest numhask-prelude tasty tasty-quickcheck
        ];
        homepage = "https://github.com/tonyday567/numhask-array#readme";
-       description = "See readme.md";
+       description = "n-dimensional arrays";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "numhask-histogram" = callPackage
-    ({ mkDerivation, base, containers, doctest, foldl, HUnit, numhask
-     , numhask-range, protolude, QuickCheck, tasty, tasty-hunit
-     , tasty-quickcheck, tdigest
+    ({ mkDerivation, base, containers, doctest, foldl, numhask-prelude
+     , numhask-range, protolude, tasty, tdigest
      }:
      mkDerivation {
        pname = "numhask-histogram";
-       version = "0.0.1.0";
-       sha256 = "1s8z2fwgrnsaq0w9zda5rpf9dcrd51dqaq118r6pi2r7y1vwzd6k";
+       version = "0.1.1.0";
+       sha256 = "18xnkwmf7bwnj2ldj20afg38ykpzdnpg773pgj9af9yzk40vpd28";
        libraryHaskellDepends = [
-         base containers foldl numhask numhask-range protolude tdigest
-       ];
-       testHaskellDepends = [
-         base doctest HUnit protolude QuickCheck tasty tasty-hunit
-         tasty-quickcheck
+         base containers foldl numhask-prelude numhask-range tdigest
        ];
+       testHaskellDepends = [ base doctest protolude tasty ];
        homepage = "https://github.com/tonyday567/numhask-histogram#readme";
        description = "See readme.md";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "numhask-prelude" = callPackage
+    ({ mkDerivation, base, doctest, numhask, protolude, QuickCheck
+     , tasty, tasty-quickcheck
+     }:
+     mkDerivation {
+       pname = "numhask-prelude";
+       version = "0.0.4.0";
+       sha256 = "11kwszs98c00bcjr318rm7yfc0h304s6vnrmh97mp4xp4bk7fqq1";
+       libraryHaskellDepends = [
+         base numhask protolude QuickCheck tasty tasty-quickcheck
+       ];
+       testHaskellDepends = [ base doctest QuickCheck tasty ];
+       homepage = "https://github.com/tonyday567/numhask#readme";
+       description = "A numeric prelude";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "numhask-range" = callPackage
     ({ mkDerivation, adjunctions, base, distributive, doctest, numhask
      , protolude, QuickCheck, semigroupoids, tasty
@@ -149182,6 +152921,25 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "numhask-range_0_2_1_0" = callPackage
+    ({ mkDerivation, adjunctions, base, distributive, doctest
+     , numhask-prelude, protolude, QuickCheck, semigroupoids, tasty
+     }:
+     mkDerivation {
+       pname = "numhask-range";
+       version = "0.2.1.0";
+       sha256 = "1i6kpx0jdr0q2lp19m0aqfd73wsi1dm6qhl1w9x8wp4px12j4caz";
+       libraryHaskellDepends = [
+         adjunctions base distributive numhask-prelude protolude QuickCheck
+         semigroupoids
+       ];
+       testHaskellDepends = [ base doctest numhask-prelude tasty ];
+       homepage = "https://github.com/tonyday567/numhask-range#readme";
+       description = "Numbers that are range representations";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "nums" = callPackage
     ({ mkDerivation }:
      mkDerivation {
@@ -149250,122 +153008,103 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "nvim-hs_0_2_4" = callPackage
-    ({ mkDerivation, ansi-wl-pprint, base, bytestring, cereal
-     , cereal-conduit, conduit, conduit-extra, containers, data-default
-     , deepseq, directory, dyre, exceptions, filepath, foreign-store
-     , hslogger, hspec, hspec-discover, HUnit, lifted-base, megaparsec
-     , messagepack, monad-control, mtl, network, optparse-applicative
-     , process, QuickCheck, resourcet, setenv, stm, streaming-commons
-     , template-haskell, text, time, time-locale-compat, transformers
-     , transformers-base, utf8-string
+  "nuxeo" = callPackage
+    ({ mkDerivation, attoparsec, base, bytestring, conduit
+     , conduit-extra, text, time
      }:
      mkDerivation {
-       pname = "nvim-hs";
-       version = "0.2.4";
-       sha256 = "16zfaps34r6dbjrvrj1a08sndv8nxqhnwy4vgl1flnc6q6xbi7f5";
-       isLibrary = true;
-       isExecutable = true;
+       pname = "nuxeo";
+       version = "0.2.0.1";
+       sha256 = "046vwj0p53pzrdmni08gqyzrr0mhz8qrf5zn09plgzjadq3yp2p2";
        libraryHaskellDepends = [
-         ansi-wl-pprint base bytestring cereal cereal-conduit conduit
-         conduit-extra containers data-default deepseq directory dyre
-         exceptions filepath foreign-store hslogger lifted-base megaparsec
-         messagepack monad-control mtl network optparse-applicative process
-         resourcet setenv stm streaming-commons template-haskell text time
-         time-locale-compat transformers transformers-base utf8-string
+         attoparsec base bytestring conduit conduit-extra text time
        ];
-       executableHaskellDepends = [ base data-default ];
-       testHaskellDepends = [
-         ansi-wl-pprint base bytestring cereal cereal-conduit conduit
-         conduit-extra containers data-default directory dyre exceptions
-         filepath foreign-store hslogger hspec hspec-discover HUnit
-         lifted-base megaparsec messagepack mtl network optparse-applicative
-         process QuickCheck resourcet setenv stm streaming-commons
-         template-haskell text time time-locale-compat transformers
-         transformers-base utf8-string
-       ];
-       homepage = "https://github.com/neovimhaskell/nvim-hs";
-       description = "Haskell plugin backend for neovim";
-       license = stdenv.lib.licenses.asl20;
-       hydraPlatforms = stdenv.lib.platforms.none;
+       description = "Nuxeo";
+       license = stdenv.lib.licenses.bsd3;
      }) {};
 
   "nvim-hs" = callPackage
-    ({ mkDerivation, ansi-wl-pprint, base, bytestring, cereal
-     , cereal-conduit, conduit, conduit-extra, containers, data-default
-     , deepseq, directory, dyre, exceptions, filepath, foreign-store
-     , hslogger, hspec, hspec-discover, HUnit, lifted-base, megaparsec
-     , messagepack, monad-control, mtl, network, optparse-applicative
-     , process, QuickCheck, resourcet, setenv, stm, streaming-commons
-     , template-haskell, text, time, time-locale-compat, transformers
-     , transformers-base, utf8-string, void
+    ({ mkDerivation, base, bytestring, cereal, cereal-conduit, conduit
+     , containers, data-default, deepseq, directory, dyre, filepath
+     , foreign-store, hslogger, hspec, hspec-discover, HUnit, megaparsec
+     , messagepack, mtl, network, optparse-applicative, prettyprinter
+     , prettyprinter-ansi-terminal, process, QuickCheck, resourcet
+     , setenv, stm, streaming-commons, template-haskell, text, time
+     , time-locale-compat, transformers, transformers-base, unliftio
+     , unliftio-core, utf8-string, void
      }:
      mkDerivation {
        pname = "nvim-hs";
-       version = "0.2.5";
-       sha256 = "1qiypd9cn80zjk38p572rbyfsrlff6a2qwvfj7ck3jdj5vv1dq2b";
+       version = "1.0.0.1";
+       sha256 = "05kqrnzxhydns3iyqk1rhdgx3cyqgcskhfwa1d87hcyx0p4w51pw";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         ansi-wl-pprint base bytestring cereal cereal-conduit conduit
-         conduit-extra containers data-default deepseq directory dyre
-         exceptions filepath foreign-store hslogger lifted-base megaparsec
-         messagepack monad-control mtl network optparse-applicative process
-         resourcet setenv stm streaming-commons template-haskell text time
-         time-locale-compat transformers transformers-base utf8-string void
+         base bytestring cereal cereal-conduit conduit containers
+         data-default deepseq directory dyre filepath foreign-store hslogger
+         megaparsec messagepack mtl network optparse-applicative
+         prettyprinter prettyprinter-ansi-terminal process resourcet setenv
+         stm streaming-commons template-haskell text time time-locale-compat
+         transformers transformers-base unliftio unliftio-core utf8-string
+         void
        ];
        executableHaskellDepends = [ base data-default ];
        testHaskellDepends = [
-         ansi-wl-pprint base bytestring cereal cereal-conduit conduit
-         conduit-extra containers data-default directory dyre exceptions
-         filepath foreign-store hslogger hspec hspec-discover HUnit
-         lifted-base megaparsec messagepack mtl network optparse-applicative
+         base bytestring cereal cereal-conduit conduit containers
+         data-default directory dyre filepath foreign-store hslogger hspec
+         hspec-discover HUnit megaparsec messagepack mtl network
+         optparse-applicative prettyprinter prettyprinter-ansi-terminal
          process QuickCheck resourcet setenv stm streaming-commons
          template-haskell text time time-locale-compat transformers
-         transformers-base utf8-string
+         transformers-base unliftio unliftio-core utf8-string
        ];
        homepage = "https://github.com/neovimhaskell/nvim-hs";
        description = "Haskell plugin backend for neovim";
        license = stdenv.lib.licenses.asl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "nvim-hs-contrib" = callPackage
-    ({ mkDerivation, ansi-wl-pprint, base, bytestring, data-default
-     , directory, exceptions, filepath, hspec, hspec-discover
-     , messagepack, mtl, nvim-hs, QuickCheck, text, time, utf8-string
-     , yaml
+    ({ mkDerivation, base, bytestring, data-default, directory
+     , filepath, hspec, hspec-discover, messagepack, mtl, nvim-hs
+     , prettyprinter, prettyprinter-ansi-terminal, QuickCheck, text
+     , time, utf8-string, yaml
      }:
      mkDerivation {
        pname = "nvim-hs-contrib";
-       version = "0.2.0";
-       sha256 = "05999ma4whng6brn37bw2wbw7yf2hq9yw8sr12kwykdygxvykrbf";
+       version = "1.0.0.0";
+       sha256 = "150kg8gkai4cz7yv42vgn3b6rl6p44vfksq897kjaa3b12yjwd5x";
        libraryHaskellDepends = [
-         ansi-wl-pprint base bytestring data-default directory exceptions
-         filepath messagepack mtl nvim-hs text time utf8-string yaml
+         base bytestring data-default directory filepath messagepack mtl
+         nvim-hs prettyprinter prettyprinter-ansi-terminal text time
+         utf8-string yaml
        ];
        testHaskellDepends = [
          base hspec hspec-discover nvim-hs QuickCheck
        ];
-       homepage = "https://github.com/neovimhaskell/nvim-hs";
+       homepage = "https://github.com/neovimhaskell/nvim-hs-contrib";
        description = "Haskell plugin backend for neovim";
        license = stdenv.lib.licenses.asl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "nvim-hs-ghcid" = callPackage
     ({ mkDerivation, base, bytestring, containers, directory, filepath
-     , ghcid, nvim-hs, nvim-hs-contrib, resourcet, transformers, yaml
+     , ghcid, nvim-hs, nvim-hs-contrib, resourcet, transformers
+     , unliftio, yaml
      }:
      mkDerivation {
        pname = "nvim-hs-ghcid";
-       version = "0.2.0";
-       sha256 = "108fi3pnsc0yj5kmm0awqr7f3xqhyxg1yg29p2kw6bk8vvwjdlvf";
+       version = "1.0.0.0";
+       sha256 = "06yz73sx2z86dm1yhs3pqpi8g88157885fpm8hd6gkl2q4pjcwc8";
        libraryHaskellDepends = [
          base bytestring containers directory filepath ghcid nvim-hs
-         nvim-hs-contrib resourcet transformers yaml
+         nvim-hs-contrib resourcet transformers unliftio yaml
        ];
        homepage = "https://github.com/saep/nvim-hs-ghcid";
        description = "Neovim plugin that runs ghcid to update the quickfix list";
        license = stdenv.lib.licenses.asl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "nvvm" = callPackage
@@ -149374,8 +153113,8 @@ self: {
      }:
      mkDerivation {
        pname = "nvvm";
-       version = "0.8.0.2";
-       sha256 = "05px0bxqqxph5ancvklg1fmp6p7c15vghzrwq8alsfjg7lvrd933";
+       version = "0.8.0.3";
+       sha256 = "1kwmgl1bp0mlv4bdnjl6m1v34k68pgg6z00z3i7x3wfjff8gd5sr";
        setupHaskellDepends = [
          base Cabal cuda directory filepath template-haskell
        ];
@@ -149441,15 +153180,15 @@ self: {
   "o-clock" = callPackage
     ({ mkDerivation, base, deepseq, doctest, gauge, ghc-prim, Glob
      , hedgehog, markdown-unlit, tasty, tasty-hedgehog, tasty-hspec
-     , tiempo, time-units, transformers, type-spec
+     , tiempo, time-units, type-spec
      }:
      mkDerivation {
        pname = "o-clock";
-       version = "0.1.0";
-       sha256 = "18rqy00hkqqqbhmsgkhza9blm2fl6kb29fs78ifkr2hqsya17fh6";
+       version = "0.1.1";
+       sha256 = "1adksq9s86gqxvn74qpa22w4fciq8k8j5v3qh0cas2rwabxqdr00";
        isLibrary = true;
        isExecutable = true;
-       libraryHaskellDepends = [ base ghc-prim transformers ];
+       libraryHaskellDepends = [ base ghc-prim ];
        executableHaskellDepends = [ base ];
        testHaskellDepends = [
          base doctest Glob hedgehog markdown-unlit tasty tasty-hedgehog
@@ -149488,6 +153227,29 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "oasis-xrd" = callPackage
+    ({ mkDerivation, aeson, aeson-pretty, base, bytestring, containers
+     , text, time, uri-bytestring, xml-conduit, xml-conduit-writer
+     }:
+     mkDerivation {
+       pname = "oasis-xrd";
+       version = "1.0";
+       sha256 = "105m258yqfdmp1n7gd824gsry07xqlhfnpla2kb7sn36nckqr3a0";
+       revision = "1";
+       editedCabalFile = "1jwvncyyn8njzhjdgqwakqfddp34h26abnhypzbdsgn4nyxad1qs";
+       libraryHaskellDepends = [
+         aeson base bytestring containers text time uri-bytestring
+         xml-conduit xml-conduit-writer
+       ];
+       testHaskellDepends = [
+         aeson aeson-pretty base bytestring containers text time
+         uri-bytestring xml-conduit xml-conduit-writer
+       ];
+       homepage = "https://gitlab.com/dpwiz/oasis-xrd";
+       description = "Extensible Resource Descriptor";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "oauth10a" = callPackage
     ({ mkDerivation, aeson, base, base64-bytestring, bytestring
      , cryptohash, entropy, http-types, time, transformers
@@ -149510,25 +153272,24 @@ self: {
 
   "oauthenticated" = callPackage
     ({ mkDerivation, aeson, base, base64-bytestring, blaze-builder
-     , bytestring, case-insensitive, crypto-random, cryptohash
-     , exceptions, hspec, hspec-expectations, http-client
-     , http-client-tls, http-types, mtl, network, network-uri, text
-     , time, transformers
+     , bytestring, case-insensitive, cryptonite, exceptions, hspec
+     , hspec-expectations, http-client, http-client-tls, http-types
+     , memory, mtl, network, network-uri, text, time, transformers
      }:
      mkDerivation {
        pname = "oauthenticated";
-       version = "0.2.0.0";
-       sha256 = "01rfx9zc1d9pwqc66axkrl2bi0jnyw4l39kn0nh4q8j63laszc1h";
+       version = "0.2.1.0";
+       sha256 = "08njax7jchkmha1angh98v0p3haxn8zj12lajl5npcmzlihd0k6l";
        libraryHaskellDepends = [
          aeson base base64-bytestring blaze-builder bytestring
-         case-insensitive crypto-random cryptohash exceptions http-client
-         http-types mtl network network-uri text time transformers
+         case-insensitive cryptonite exceptions http-client http-types
+         memory mtl network network-uri text time transformers
        ];
        testHaskellDepends = [
          aeson base base64-bytestring blaze-builder bytestring
-         case-insensitive crypto-random cryptohash exceptions hspec
-         hspec-expectations http-client http-client-tls http-types mtl
-         network network-uri text time transformers
+         case-insensitive cryptonite exceptions hspec hspec-expectations
+         http-client http-client-tls http-types memory mtl network
+         network-uri text time transformers
        ];
        homepage = "https://github.com/tel/oauthenticated.git#readme";
        description = "Simple OAuth for http-client";
@@ -149718,6 +153479,24 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "ochintin-daicho_0_3_1_1" = callPackage
+    ({ mkDerivation, base, bookkeeping, doctest, Glob, mono-traversable
+     , text, transaction
+     }:
+     mkDerivation {
+       pname = "ochintin-daicho";
+       version = "0.3.1.1";
+       sha256 = "06xdr5763xipzpl83190p8ha1rm9akqa49dh0588ibbhk2zbk0ln";
+       libraryHaskellDepends = [
+         base bookkeeping mono-traversable text transaction
+       ];
+       testHaskellDepends = [ base doctest Glob ];
+       homepage = "https://github.com/arowM/haskell-ochintin-daicho#readme";
+       description = "A module to manage payroll books for Japanese companies";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "octane" = callPackage
     ({ mkDerivation, aeson, base, bimap, binary, bytestring, containers
      , data-default-class, file-embed, http-client, http-client-tls
@@ -149799,8 +153578,8 @@ self: {
      }) {};
 
   "oculus" = callPackage
-    ({ mkDerivation, base, either, libX11, libXinerama, mesa, monads-tf
-     , ovr, systemd, transformers, vect-floating
+    ({ mkDerivation, base, either, libGL, libX11, libXinerama
+     , monads-tf, ovr, systemd, transformers, vect-floating
      }:
      mkDerivation {
        pname = "oculus";
@@ -149809,24 +153588,42 @@ self: {
        libraryHaskellDepends = [
          base either monads-tf transformers vect-floating
        ];
-       librarySystemDepends = [ libX11 libXinerama mesa ovr systemd ];
+       librarySystemDepends = [ libGL libX11 libXinerama ovr systemd ];
        homepage = "http://github.com/cpdurham/oculus";
        description = "Oculus Rift ffi providing head tracking data";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
-     }) {inherit (pkgs.xorg) libX11; inherit (pkgs.xorg) libXinerama; 
-         mesa = null; ovr = null; systemd = null;};
+     }) {inherit (pkgs) libGL; inherit (pkgs.xorg) libX11; 
+         inherit (pkgs.xorg) libXinerama; ovr = null; systemd = null;};
 
   "odbc" = callPackage
-    ({ mkDerivation }:
+    ({ mkDerivation, async, base, bytestring, containers, deepseq
+     , formatting, hspec, optparse-applicative, QuickCheck, semigroups
+     , text, time, transformers, unixODBC, unliftio-core, weigh
+     }:
      mkDerivation {
        pname = "odbc";
-       version = "0.0.0";
-       sha256 = "1yyp21j0kmq7mc80z3vpmra16kbqb35pzblir1gppiz0wh1wmgpb";
-       doHaddock = false;
-       description = "TBA";
+       version = "0.0.5";
+       sha256 = "06b52hd9bxidp62y2h856ac90pypcv72q533i7lywf4gjj1q0grn";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         async base bytestring containers deepseq formatting semigroups text
+         time transformers unliftio-core
+       ];
+       librarySystemDepends = [ unixODBC ];
+       executableHaskellDepends = [
+         base bytestring optparse-applicative text
+       ];
+       testHaskellDepends = [
+         base bytestring hspec QuickCheck text time
+       ];
+       benchmarkHaskellDepends = [ async base text weigh ];
+       homepage = "https://github.com/fpco/odbc";
+       description = "Haskell binding to the ODBC API, aimed at SQL Server driver";
        license = stdenv.lib.licenses.bsd3;
-     }) {};
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {inherit (pkgs) unixODBC;};
 
   "oden-go-packages" = callPackage
     ({ mkDerivation, aeson, base, bytestring, containers, text
@@ -149928,7 +153725,6 @@ self: {
        homepage = "https://nest.pijul.com/lthms/ogmarkup";
        description = "A lightweight markup language for story writers";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "ohloh-hs" = callPackage
@@ -150082,8 +153878,8 @@ self: {
      }:
      mkDerivation {
        pname = "om-elm";
-       version = "1.0.0.1";
-       sha256 = "1fvpsiv5xdc7jamhdsaw2kzm32qrbg7c2b5s5zhhhcd7j4vgn3xq";
+       version = "1.0.0.3";
+       sha256 = "0i674vjbp03nkr76fdi7bjylv264nxwnxw0ija11fkpd1rdg045g";
        libraryHaskellDepends = [
          base bytestring Cabal containers directory http-types safe
          safe-exceptions template-haskell text unix wai
@@ -150091,6 +153887,7 @@ self: {
        homepage = "https://github.com/owensmurray/om-elm";
        description = "Haskell utilities for building embedded Elm programs";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "omaketex" = callPackage
@@ -150130,6 +153927,7 @@ self: {
        homepage = "https://github.com/ziocroc/Ombra";
        description = "Render engine";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "omega" = callPackage
@@ -150268,6 +154066,20 @@ self: {
        license = stdenv.lib.licenses.gpl3;
      }) {};
 
+  "one-line-aeson-text" = callPackage
+    ({ mkDerivation, aeson, base, doctest, text, unordered-containers
+     }:
+     mkDerivation {
+       pname = "one-line-aeson-text";
+       version = "0.1.0.0";
+       sha256 = "026qycb9nvc2v648p2cc74h6xqczkv9mvpawq54zx4r3vlc4lppn";
+       libraryHaskellDepends = [ aeson base text unordered-containers ];
+       testHaskellDepends = [ base doctest ];
+       homepage = "https://github.com/typeclasses/one-line-aeson-text";
+       description = "Pretty-printing short Aeson values as text";
+       license = stdenv.lib.licenses.asl20;
+     }) {};
+
   "one-liner" = callPackage
     ({ mkDerivation, base, bifunctors, contravariant, ghc-prim, HUnit
      , profunctors, tagged, transformers
@@ -150306,12 +154118,12 @@ self: {
      }) {};
 
   "one-liner-instances" = callPackage
-    ({ mkDerivation, base, one-liner }:
+    ({ mkDerivation, base, one-liner, random }:
      mkDerivation {
        pname = "one-liner-instances";
-       version = "0.1.1.0";
-       sha256 = "0yb5rdy735lalwrxvmvvjnpyikdqs2y2fjldjcbjj0r3d912azxn";
-       libraryHaskellDepends = [ base one-liner ];
+       version = "0.1.2.1";
+       sha256 = "1gy900nd5n6cffqw63hlkqg4ly86wjlfqgdcm1zy2nyx7dxg914k";
+       libraryHaskellDepends = [ base one-liner random ];
        homepage = "https://github.com/mstksg/one-liner-instances#readme";
        description = "Generics-based implementations for common typeclasses";
        license = stdenv.lib.licenses.bsd3;
@@ -150386,6 +154198,25 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "online_0_2_3_0" = callPackage
+    ({ mkDerivation, base, doctest, foldl, numhask-prelude, protolude
+     , tasty, tdigest, vector, vector-algorithms
+     }:
+     mkDerivation {
+       pname = "online";
+       version = "0.2.3.0";
+       sha256 = "04yh51gdmb2nycsxjrfzkb07byxdmn1n9wrk7wv7nh3ki7jxi15d";
+       libraryHaskellDepends = [
+         base foldl numhask-prelude protolude tdigest vector
+         vector-algorithms
+       ];
+       testHaskellDepends = [ base doctest protolude tasty ];
+       homepage = "https://github.com/tonyday567/online#readme";
+       description = "online statistics";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "only" = callPackage
     ({ mkDerivation, base, parsec, regex-compat }:
      mkDerivation {
@@ -150445,10 +154276,10 @@ self: {
      }:
      mkDerivation {
        pname = "opaleye";
-       version = "0.6.0.0";
-       sha256 = "0prwlxp96qpnhdm34slwhp3j8hj961xl99xkl6fbrxgxxjngfg1q";
+       version = "0.6.1.0";
+       sha256 = "0vjiwpdrff4nrs5ww8q3j77ysrq0if20yfk4gy182lr7nzhhwz0l";
        revision = "1";
-       editedCabalFile = "0hkgrksap5hn0xq86bq9rsm3h9a6vamh6la77z10fdxv7m3xjxf3";
+       editedCabalFile = "07sz4a506hlx8da2ppiglja6hm9ipb2myh6s702ac6xx700cnl7f";
        libraryHaskellDepends = [
          aeson base base16-bytestring bytestring case-insensitive
          contravariant postgresql-simple pretty product-profunctors
@@ -150531,6 +154362,7 @@ self: {
        homepage = "https://github.com/WraithM/opaleye-trans";
        description = "A monad transformer for Opaleye";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "open-browser" = callPackage
@@ -150596,6 +154428,7 @@ self: {
        testHaskellDepends = [ base ];
        description = "A mechanism similar to checked exceptions that integrates with MTL and transformer stacks";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "open-symbology" = callPackage
@@ -150607,6 +154440,7 @@ self: {
        libraryHaskellDepends = [ attoparsec base conduit mtl text ];
        homepage = "https://github.com/alphaHeavy/open-symbology";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "open-typerep" = callPackage
@@ -150632,8 +154466,8 @@ self: {
     ({ mkDerivation, base, type-fun }:
      mkDerivation {
        pname = "open-union";
-       version = "0.3.0.0";
-       sha256 = "01wxkla0034d5i331vzbjm5ilkdn2570qhl0pa6lf3m58aghmccn";
+       version = "0.4.0.0";
+       sha256 = "0mf37xya4bb8za8jrhnzr9pddsd93dw0vycmjlks5w50x10d4a55";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base type-fun ];
@@ -150954,23 +154788,24 @@ self: {
      }) {};
 
   "openpgp-asciiarmor" = callPackage
-    ({ mkDerivation, attoparsec, base, base64-bytestring, bytestring
-     , cereal, HUnit, test-framework, test-framework-hunit
+    ({ mkDerivation, attoparsec, base, base64-bytestring, binary
+     , bytestring, criterion, tasty, tasty-hunit
      }:
      mkDerivation {
        pname = "openpgp-asciiarmor";
-       version = "0.1";
-       sha256 = "1xrv0n7n1n8izvxvqm8wmj6mkn5l6wcq18bxs9zd1q5riynmmm2w";
+       version = "0.1.1";
+       sha256 = "01zna9zifixnzgalr3k21g9dv143cn49imawm4q9x37i2r9kybxr";
        libraryHaskellDepends = [
-         attoparsec base base64-bytestring bytestring cereal
+         attoparsec base base64-bytestring binary bytestring
        ];
        testHaskellDepends = [
-         attoparsec base base64-bytestring bytestring cereal HUnit
-         test-framework test-framework-hunit
+         attoparsec base base64-bytestring binary bytestring tasty
+         tasty-hunit
        ];
+       benchmarkHaskellDepends = [ base bytestring criterion ];
        homepage = "http://floss.scru.org/openpgp-asciiarmor";
        description = "OpenPGP (RFC4880) ASCII Armor codec";
-       license = "unknown";
+       license = stdenv.lib.licenses.isc;
      }) {};
 
   "openpgp-crypto-api" = callPackage
@@ -151339,6 +155174,7 @@ self: {
        ];
        description = "Access data at OpenWeatherMap";
        license = stdenv.lib.licenses.publicDomain;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "operate-do" = callPackage
@@ -151452,6 +155288,7 @@ self: {
        homepage = "https://github.com/k0ral/opml-conduit";
        description = "Streaming parser/renderer for the OPML 2.0 format.";
        license = stdenv.lib.licenses.publicDomain;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "opn" = callPackage
@@ -151471,7 +155308,6 @@ self: {
        homepage = "http://github.com/akc/opn";
        description = "Open files or URLs using associated programs";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "optimal-blocks" = callPackage
@@ -151514,7 +155350,6 @@ self: {
        homepage = "http://github.com/bgamari/optimization";
        description = "Numerical optimization";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "optimusprime" = callPackage
@@ -151658,22 +155493,6 @@ self: {
      }:
      mkDerivation {
        pname = "optparse-generic";
-       version = "1.2.3";
-       sha256 = "1wxzpj4xj3bafg3piarwsr69xxzp75fdglx9c3spbahl1aq9wzgk";
-       libraryHaskellDepends = [
-         base bytestring Only optparse-applicative semigroups
-         system-filepath text time transformers void
-       ];
-       description = "Auto-generate a command-line parser for your datatype";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "optparse-generic_1_3_0" = callPackage
-    ({ mkDerivation, base, bytestring, Only, optparse-applicative
-     , semigroups, system-filepath, text, time, transformers, void
-     }:
-     mkDerivation {
-       pname = "optparse-generic";
        version = "1.3.0";
        sha256 = "13rr3hq26dpmbami8vb6d1ig9ywk6jia22sp5dkp6jkfc1c9k4l0";
        libraryHaskellDepends = [
@@ -151682,7 +155501,6 @@ self: {
        ];
        description = "Auto-generate a command-line parser for your datatype";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "optparse-helper" = callPackage
@@ -152310,14 +156128,15 @@ self: {
      }:
      mkDerivation {
        pname = "overload";
-       version = "0.1.0.4";
-       sha256 = "16sry2c4wrly3y3k47gry53klxf4kvbym6fybb8f7z9hqffx18a9";
+       version = "0.1.0.5";
+       sha256 = "046lxmcrk072l08rxbbzb883gd7cffxx76l3x29h78d10aai6cac";
        libraryHaskellDepends = [
          base simple-effects template-haskell th-expand-syns
        ];
        homepage = "https://gitlab.com/LukaHorvat/overload";
        description = "Finite overloading";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "overloaded-records" = callPackage
@@ -152428,8 +156247,8 @@ self: {
     ({ mkDerivation, base }:
      mkDerivation {
        pname = "packcheck";
-       version = "0.1.1";
-       sha256 = "10c822mx6vjf42d0lzi950s61s8hcw6451ckxq5g7wg4pavyr7zp";
+       version = "0.3.0";
+       sha256 = "02ixa91wp0jxdc046gi5qxyyw332znkgknfz5chf4j3ydn7qjlha";
        libraryHaskellDepends = [ base ];
        testHaskellDepends = [ base ];
        benchmarkHaskellDepends = [ base ];
@@ -152461,6 +156280,48 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "packdeps_0_4_5" = callPackage
+    ({ mkDerivation, base, bytestring, Cabal, containers, directory
+     , filepath, optparse-applicative, process, semigroups, split, tar
+     , text, time
+     }:
+     mkDerivation {
+       pname = "packdeps";
+       version = "0.4.5";
+       sha256 = "07nsnxxs5y77w0v5dxw9mqgq98s3riws5846qshlnhq4l5q73php";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base bytestring Cabal containers directory filepath split tar text
+         time
+       ];
+       executableHaskellDepends = [
+         base Cabal containers optparse-applicative process semigroups
+       ];
+       homepage = "http://packdeps.haskellers.com/";
+       description = "Check your cabal packages for lagging dependencies";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "packed" = callPackage
+    ({ mkDerivation, base, containers, gauge, ghc-prim, hedgehog
+     , primitive, tasty, tasty-hedgehog, tasty-hunit
+     }:
+     mkDerivation {
+       pname = "packed";
+       version = "0.1.0";
+       sha256 = "1isacbh8w24awsh3nn7djcnmy8am4s4i5npsidnqm5qgcqikpfh8";
+       libraryHaskellDepends = [ base ghc-prim primitive ];
+       testHaskellDepends = [
+         base containers ghc-prim hedgehog tasty tasty-hedgehog tasty-hunit
+       ];
+       benchmarkHaskellDepends = [ base gauge ];
+       homepage = "https://github.com/andrewthad/bytearray#readme";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "packed-dawg" = callPackage
     ({ mkDerivation, base, binary, criterion, deepseq, HUnit, mtl
      , QuickCheck, tasty, tasty-hunit, tasty-quickcheck
@@ -152631,6 +156492,38 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "pads-haskell" = callPackage
+    ({ mkDerivation, base, byteorder, bytestring, Cabal, containers
+     , directory, Glob, haskell-src, haskell-src-meta, HUnit
+     , mainland-pretty, mtl, normaldistribution, old-locale, parsec
+     , QuickCheck, random, regex-posix, syb, template-haskell
+     , test-framework, test-framework-hunit, test-framework-quickcheck2
+     , th-lift, time, transformers
+     }:
+     mkDerivation {
+       pname = "pads-haskell";
+       version = "0.0.0.1";
+       sha256 = "1glf9zfzl8lg6hvqzh76y7kpi1d8jhxgxplnkzz4pdzrh1dfzm9a";
+       revision = "1";
+       editedCabalFile = "1nfh2i2g4xzqr534hkwa7gygkgsdvyjk4g075n78dp6r48zynbz6";
+       libraryHaskellDepends = [
+         base byteorder bytestring containers Glob haskell-src
+         haskell-src-meta HUnit mainland-pretty normaldistribution
+         old-locale parsec random regex-posix syb template-haskell th-lift
+         time transformers
+       ];
+       testHaskellDepends = [
+         base byteorder bytestring Cabal containers directory Glob
+         haskell-src haskell-src-meta HUnit mainland-pretty mtl old-locale
+         parsec QuickCheck regex-posix syb template-haskell test-framework
+         test-framework-hunit test-framework-quickcheck2 th-lift time
+         transformers
+       ];
+       homepage = "http://www.padsproj.org";
+       description = "PADS data description language for Haskell";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "pagarme" = callPackage
     ({ mkDerivation, aeson, base, bytestring, containers, lens, text
      , wreq
@@ -152703,8 +156596,8 @@ self: {
        pname = "pagination";
        version = "0.2.1";
        sha256 = "0g90xg5nfrwkrrmsfca5d2xf9y8md6pgh91zjk0dl2l3kvkbmp48";
-       revision = "1";
-       editedCabalFile = "14sirfxb9qa8g57fxmpphg5hph7kp0lpgwxrmkjlj1x8xwh5x6d5";
+       revision = "2";
+       editedCabalFile = "0wvwi3hymp2vhhpzpycdc65zbsqmi2h0c6r0nf8p5nkgsk4pm1k2";
        libraryHaskellDepends = [ base deepseq exceptions ];
        testHaskellDepends = [ base exceptions hspec QuickCheck ];
        homepage = "https://github.com/mrkkrp/pagination";
@@ -152726,7 +156619,6 @@ self: {
        homepage = "https://pagure.io/pagure-hook-receiver";
        description = "Receive hooks from pagure and do things with them";
        license = stdenv.lib.licenses.bsd2;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "paint" = callPackage
@@ -152755,6 +156647,21 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "palette_0_3_0_1" = callPackage
+    ({ mkDerivation, array, base, colour, containers, MonadRandom }:
+     mkDerivation {
+       pname = "palette";
+       version = "0.3.0.1";
+       sha256 = "0ylwgb7a0mhffz00hmhx93y4kyjb9xgm96jrfcxl464x8cjka5gi";
+       libraryHaskellDepends = [
+         array base colour containers MonadRandom
+       ];
+       homepage = "http://projects.haskell.org/diagrams";
+       description = "Utilities for choosing and creating color schemes";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "palindromes" = callPackage
     ({ mkDerivation, array, base, bytestring, containers }:
      mkDerivation {
@@ -152780,8 +156687,8 @@ self: {
        libraryToolDepends = [ c2hs ];
        description = "Haskell binding for C PAM API";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = [ "i686-linux" "x86_64-linux" ];
-     }) {inherit (pkgs) pam;};
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {pam = null;};
 
   "panda" = callPackage
     ({ mkDerivation, base, cgi, containers, data-default, directory
@@ -152809,19 +156716,21 @@ self: {
     ({ mkDerivation, aeson, aeson-pretty, base, base64-bytestring
      , binary, blaze-html, blaze-markup, bytestring, Cabal
      , case-insensitive, cmark-gfm, containers, criterion, data-default
-     , deepseq, Diff, directory, doctemplates, executable-path, filepath
-     , Glob, haddock-library, hslua, hslua-module-text, HTTP
-     , http-client, http-client-tls, http-types, JuicyPixels, mtl
-     , network, network-uri, pandoc-types, parsec, process, QuickCheck
-     , random, safe, scientific, SHA, skylighting, split, syb, tagsoup
-     , tasty, tasty-golden, tasty-hunit, tasty-quickcheck, temporary
-     , texmath, text, time, unix, unordered-containers, vector, xml
-     , yaml, zip-archive, zlib
+     , deepseq, Diff, directory, doctemplates, exceptions
+     , executable-path, filepath, Glob, haddock-library, hslua
+     , hslua-module-text, HTTP, http-client, http-client-tls, http-types
+     , JuicyPixels, mtl, network, network-uri, pandoc-types, parsec
+     , process, QuickCheck, random, safe, scientific, SHA, skylighting
+     , split, syb, tagsoup, tasty, tasty-golden, tasty-hunit
+     , tasty-quickcheck, temporary, texmath, text, time, unix
+     , unordered-containers, vector, xml, yaml, zip-archive, zlib
      }:
      mkDerivation {
        pname = "pandoc";
-       version = "2.0.6";
-       sha256 = "1vhj6splykksb1mkxv5cs0361nj12qn23a3y1i8j5dc637lkdwpj";
+       version = "2.1.2";
+       sha256 = "0rgba2vfh2n7kh2g75hmxa6pbjk6p73a4zwj00pfsvhwyvpjc2yw";
+       revision = "1";
+       editedCabalFile = "1vk5g5dbk7q8w9pncqgkn4wbdj83p20ca6ipb5vca532x2294x5b";
        configureFlags = [ "-fhttps" "-f-trypandoc" ];
        isLibrary = true;
        isExecutable = true;
@@ -152830,8 +156739,8 @@ self: {
        libraryHaskellDepends = [
          aeson aeson-pretty base base64-bytestring binary blaze-html
          blaze-markup bytestring case-insensitive cmark-gfm containers
-         data-default deepseq directory doctemplates filepath Glob
-         haddock-library hslua hslua-module-text HTTP http-client
+         data-default deepseq directory doctemplates exceptions filepath
+         Glob haddock-library hslua hslua-module-text HTTP http-client
          http-client-tls http-types JuicyPixels mtl network network-uri
          pandoc-types parsec process random safe scientific SHA skylighting
          split syb tagsoup temporary texmath text time unix
@@ -152840,9 +156749,9 @@ self: {
        executableHaskellDepends = [ base ];
        testHaskellDepends = [
          base base64-bytestring bytestring containers Diff directory
-         executable-path filepath hslua pandoc-types process QuickCheck
+         executable-path filepath Glob hslua pandoc-types process QuickCheck
          tasty tasty-golden tasty-hunit tasty-quickcheck temporary text time
-         zip-archive
+         xml zip-archive
        ];
        benchmarkHaskellDepends = [
          base bytestring containers criterion text time
@@ -152854,84 +156763,85 @@ self: {
        maintainers = with stdenv.lib.maintainers; [ peti ];
      }) {};
 
-  "pandoc_2_1_2" = callPackage
-    ({ mkDerivation, aeson, aeson-pretty, base, base64-bytestring
-     , binary, blaze-html, blaze-markup, bytestring, Cabal
-     , case-insensitive, cmark-gfm, containers, criterion, data-default
-     , deepseq, Diff, directory, doctemplates, exceptions
+  "pandoc_2_2" = callPackage
+    ({ mkDerivation, aeson, aeson-pretty, base, base-compat
+     , base64-bytestring, binary, blaze-html, blaze-markup, bytestring
+     , Cabal, case-insensitive, cmark-gfm, containers, criterion
+     , data-default, deepseq, Diff, directory, doctemplates, exceptions
      , executable-path, filepath, Glob, haddock-library, hslua
      , hslua-module-text, HTTP, http-client, http-client-tls, http-types
      , JuicyPixels, mtl, network, network-uri, pandoc-types, parsec
      , process, QuickCheck, random, safe, scientific, SHA, skylighting
      , split, syb, tagsoup, tasty, tasty-golden, tasty-hunit
      , tasty-quickcheck, temporary, texmath, text, time, unix
-     , unordered-containers, vector, xml, yaml, zip-archive, zlib
+     , unordered-containers, vector, weigh, xml, yaml, zip-archive, zlib
      }:
      mkDerivation {
        pname = "pandoc";
-       version = "2.1.2";
-       sha256 = "0rgba2vfh2n7kh2g75hmxa6pbjk6p73a4zwj00pfsvhwyvpjc2yw";
+       version = "2.2";
+       sha256 = "0sc51sw7g9jni9jamj7rcdn9fqf5476gzp7cahhkjj29xak88a8g";
        configureFlags = [ "-fhttps" "-f-trypandoc" ];
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
        setupHaskellDepends = [ base Cabal ];
        libraryHaskellDepends = [
-         aeson aeson-pretty base base64-bytestring binary blaze-html
-         blaze-markup bytestring case-insensitive cmark-gfm containers
-         data-default deepseq directory doctemplates exceptions filepath
-         Glob haddock-library hslua hslua-module-text HTTP http-client
-         http-client-tls http-types JuicyPixels mtl network network-uri
-         pandoc-types parsec process random safe scientific SHA skylighting
-         split syb tagsoup temporary texmath text time unix
+         aeson aeson-pretty base base-compat base64-bytestring binary
+         blaze-html blaze-markup bytestring case-insensitive cmark-gfm
+         containers data-default deepseq directory doctemplates exceptions
+         filepath Glob haddock-library hslua hslua-module-text HTTP
+         http-client http-client-tls http-types JuicyPixels mtl network
+         network-uri pandoc-types parsec process random safe scientific SHA
+         skylighting split syb tagsoup temporary texmath text time unix
          unordered-containers vector xml yaml zip-archive zlib
        ];
-       executableHaskellDepends = [ base ];
+       executableHaskellDepends = [ base base-compat ];
        testHaskellDepends = [
-         base base64-bytestring bytestring containers Diff directory
-         executable-path filepath Glob hslua pandoc-types process QuickCheck
-         tasty tasty-golden tasty-hunit tasty-quickcheck temporary text time
-         xml zip-archive
+         base base-compat base64-bytestring bytestring containers Diff
+         directory executable-path filepath Glob hslua pandoc-types process
+         QuickCheck tasty tasty-golden tasty-hunit tasty-quickcheck
+         temporary text time xml zip-archive
        ];
        benchmarkHaskellDepends = [
-         base bytestring containers criterion text time
+         base base-compat bytestring containers criterion mtl text time
+         weigh
        ];
        doCheck = false;
-       homepage = "http://pandoc.org";
+       homepage = "https://pandoc.org";
        description = "Conversion between markup formats";
-       license = "GPL";
+       license = stdenv.lib.licenses.gpl2;
        hydraPlatforms = stdenv.lib.platforms.none;
        maintainers = with stdenv.lib.maintainers; [ peti ];
      }) {};
 
   "pandoc-citeproc" = 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
-     , setenv, split, syb, tagsoup, temporary, text, time
-     , unordered-containers, vector, xml-conduit, yaml
+    ({ mkDerivation, aeson, aeson-pretty, attoparsec, base, base-compat
+     , bytestring, Cabal, containers, data-default, directory, filepath
+     , hs-bibutils, mtl, old-locale, pandoc, pandoc-types, parsec
+     , process, rfc5051, setenv, split, syb, tagsoup, temporary, text
+     , time, unordered-containers, vector, xml-conduit, yaml
      }:
      mkDerivation {
        pname = "pandoc-citeproc";
-       version = "0.12.2.5";
-       sha256 = "1l58nbflcnlznc93qimkk7ghk2gv8kipf45zf88piqa2zys41yyx";
+       version = "0.14.3.1";
+       sha256 = "0yj6rckwsc9vig40cm15ry0j3d01xpk04qma9n4byhal6v4b5h22";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
        setupHaskellDepends = [ base Cabal ];
        libraryHaskellDepends = [
-         aeson base bytestring containers data-default directory filepath
-         hs-bibutils mtl old-locale pandoc pandoc-types parsec rfc5051
-         setenv split syb tagsoup text time unordered-containers vector
-         xml-conduit yaml
+         aeson base base-compat bytestring containers data-default directory
+         filepath hs-bibutils mtl old-locale pandoc pandoc-types parsec
+         rfc5051 setenv split syb tagsoup text time unordered-containers
+         vector xml-conduit yaml
        ];
        executableHaskellDepends = [
-         aeson aeson-pretty attoparsec base bytestring filepath pandoc
-         pandoc-types syb text yaml
+         aeson aeson-pretty attoparsec base base-compat bytestring filepath
+         pandoc pandoc-types syb text yaml
        ];
        testHaskellDepends = [
-         aeson base bytestring containers directory filepath mtl pandoc
-         pandoc-types process temporary text yaml
+         aeson base base-compat bytestring containers directory filepath mtl
+         pandoc pandoc-types process temporary text yaml
        ];
        doCheck = false;
        homepage = "https://github.com/jgm/pandoc-citeproc";
@@ -152939,42 +156849,6 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "pandoc-citeproc_0_14_1_5" = 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
-     , setenv, split, syb, tagsoup, temporary, text, time
-     , unordered-containers, vector, xml-conduit, yaml
-     }:
-     mkDerivation {
-       pname = "pandoc-citeproc";
-       version = "0.14.1.5";
-       sha256 = "1jp2pzx2avvcngg6krygsiwszq1nbns5p2bz1v1mlgm2mb6szqi9";
-       isLibrary = true;
-       isExecutable = true;
-       enableSeparateDataOutput = true;
-       setupHaskellDepends = [ base Cabal ];
-       libraryHaskellDepends = [
-         aeson base bytestring containers data-default directory filepath
-         hs-bibutils mtl old-locale pandoc pandoc-types parsec rfc5051
-         setenv split syb tagsoup text time unordered-containers vector
-         xml-conduit yaml
-       ];
-       executableHaskellDepends = [
-         aeson aeson-pretty attoparsec base bytestring filepath pandoc
-         pandoc-types syb text yaml
-       ];
-       testHaskellDepends = [
-         aeson base bytestring containers directory filepath mtl pandoc
-         pandoc-types process temporary text yaml
-       ];
-       doCheck = false;
-       homepage = "https://github.com/jgm/pandoc-citeproc";
-       description = "Supports using pandoc with citeproc";
-       license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
-     }) {};
-
   "pandoc-citeproc-preamble" = callPackage
     ({ mkDerivation, base, directory, filepath, pandoc-types, process
      }:
@@ -153001,8 +156875,8 @@ self: {
      }:
      mkDerivation {
        pname = "pandoc-crossref";
-       version = "0.3.0.1";
-       sha256 = "0lhjbkgmd9hshi3lxvciwviknbbj8lyrzinzfxbwssgqrdzcaayn";
+       version = "0.3.2.0";
+       sha256 = "0pydgdpm8fqj4dbv5swbyxkh1bkmqzj3gcas9r04vvzh6mmr22ia";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -153026,7 +156900,7 @@ self: {
        ];
        homepage = "https://github.com/lierdakil/pandoc-crossref#readme";
        description = "Pandoc filter for cross-references";
-       license = "GPL";
+       license = stdenv.lib.licenses.gpl2;
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
@@ -153070,7 +156944,6 @@ self: {
        homepage = "https://github.com/owickstrom/pandoc-emphasize-code";
        description = "A Pandoc filter for emphasizing code in fenced blocks";
        license = stdenv.lib.licenses.mpl20;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "pandoc-filter-graphviz" = callPackage
@@ -153164,30 +157037,29 @@ self: {
     ({ mkDerivation, base, containers, lens, pandoc-types }:
      mkDerivation {
        pname = "pandoc-lens";
-       version = "0.6.2";
-       sha256 = "18v22salncjdghpg6gz78mpf9wp5qk622jia77qwlh9di36jdqg5";
-       revision = "1";
-       editedCabalFile = "1b3qk1afdd9l6i625spm26cgzmmd3bqmyp0lfszjnaf32ac7sldd";
+       version = "0.6.3";
+       sha256 = "1gv9n753qp8l7fivi96sgb8qsia5bijw2fla21dxyn81qza3fk6v";
        libraryHaskellDepends = [ base containers lens pandoc-types ];
        homepage = "http://github.com/bgamari/pandoc-lens";
        description = "Lenses for Pandoc documents";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "pandoc-placetable" = callPackage
     ({ mkDerivation, aeson, base, bytestring, explicit-exception
-     , http-conduit, pandoc-types, spreadsheet, utf8-string
+     , http-conduit, pandoc-types, spreadsheet, text, utf8-string
      }:
      mkDerivation {
        pname = "pandoc-placetable";
-       version = "0.4.2";
-       sha256 = "0y8mz2jgnfzr8ib7w4bfwwdsljs3a2qpq3pxgvl2jwi7wdrcslai";
+       version = "0.5";
+       sha256 = "0kjlx2krgwf32y30cca09xnf1h3c91s0pzsv5xf7l8zw85jikxah";
        isLibrary = false;
        isExecutable = true;
        enableSeparateDataOutput = true;
        executableHaskellDepends = [
          aeson base bytestring explicit-exception http-conduit pandoc-types
-         spreadsheet utf8-string
+         spreadsheet text utf8-string
        ];
        homepage = "https://github.com/mb21/pandoc-placetable";
        description = "Pandoc filter to include CSV files";
@@ -153274,6 +157146,33 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "pandoc-types_1_17_4_2" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, containers, criterion
+     , deepseq, ghc-prim, HUnit, QuickCheck, string-qq, syb
+     , test-framework, test-framework-hunit, test-framework-quickcheck2
+     , transformers
+     }:
+     mkDerivation {
+       pname = "pandoc-types";
+       version = "1.17.4.2";
+       sha256 = "1jiy4siyfcf4z0m0kn0z58cbrsvggavlxljrcb4srwblih55xqap";
+       revision = "1";
+       editedCabalFile = "0izgzjfl7l4fb6xd5iqcy5zca4m1vzvr5xqgccw45vkm8q3arqnf";
+       libraryHaskellDepends = [
+         aeson base bytestring containers deepseq ghc-prim QuickCheck syb
+         transformers
+       ];
+       testHaskellDepends = [
+         aeson base bytestring containers HUnit QuickCheck string-qq syb
+         test-framework test-framework-hunit test-framework-quickcheck2
+       ];
+       benchmarkHaskellDepends = [ base criterion ];
+       homepage = "http://johnmacfarlane.net/pandoc";
+       description = "Types for representing a structured document";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "pandoc-unlit" = callPackage
     ({ mkDerivation, base, pandoc }:
      mkDerivation {
@@ -153334,8 +157233,8 @@ self: {
      }:
      mkDerivation {
        pname = "pango";
-       version = "0.13.4.0";
-       sha256 = "1m7as420nh55n0hywnl6rbm7zj4s1ry38xvb1gk3np7k87lwf20z";
+       version = "0.13.5.0";
+       sha256 = "1s29dmds28ffbcbic8pw3bsixkb6lzjm78j8qv4x3r9l64kvjndz";
        enableSeparateDataOutput = true;
        setupHaskellDepends = [ base Cabal filepath gtk2hs-buildtools ];
        libraryHaskellDepends = [
@@ -153362,6 +157261,7 @@ self: {
        homepage = "https://github.com/tuura/pangraph#readme";
        description = "A set of parsers for graph languages";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "panhandle" = callPackage
@@ -153414,27 +157314,27 @@ self: {
   "pansite" = callPackage
     ({ mkDerivation, aeson, base, blaze-html, bytestring, data-default
      , directory, doctest, filepath, Glob, hspec, http-types, MissingH
-     , optparse-applicative, pandoc, pandoc-types, shake, split
-     , template-haskell, text, time, unordered-containers, vcs-revision
-     , vector, wai, wai-logger, warp, yaml
+     , optparse-applicative, pandoc, pandoc-types, QuickCheck, shake
+     , split, template-haskell, text, time, unordered-containers
+     , vcs-revision, vector, wai, wai-logger, warp, yaml
      }:
      mkDerivation {
        pname = "pansite";
-       version = "0.1.0.0";
-       sha256 = "1hm8lgcrr5my2h3n8yn40qmf9kghsaai1fjh4q8qxqlk4jsblvb5";
+       version = "0.2.0.0";
+       sha256 = "0y60pk4zryxllpv1h27ja7c7a91vd00g9p29ml2l7rvdgprcy5ar";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         aeson base bytestring data-default split text unordered-containers
-         vector yaml
+         aeson base bytestring data-default MissingH shake split text
+         unordered-containers vector yaml
        ];
        executableHaskellDepends = [
          aeson base blaze-html bytestring data-default directory filepath
          http-types MissingH optparse-applicative pandoc pandoc-types shake
-         template-haskell text time unordered-containers vcs-revision wai
-         wai-logger warp
+         split template-haskell text time unordered-containers vcs-revision
+         wai wai-logger warp
        ];
-       testHaskellDepends = [ base doctest Glob hspec ];
+       testHaskellDepends = [ base doctest Glob hspec QuickCheck ];
        homepage = "https://github.com/rcook/pansite#readme";
        description = "Pansite: a simple web site management tool";
        license = stdenv.lib.licenses.mit;
@@ -153483,8 +157383,8 @@ self: {
     ({ mkDerivation, base, semigroups }:
      mkDerivation {
        pname = "papa-base-export";
-       version = "0.3.1";
-       sha256 = "13gd3ldpiwmms3di80smk68x4mf9nigy0irz506cayd9bwqpw3jv";
+       version = "0.4";
+       sha256 = "120b3ks9h3m9w6z365hmqrcp349kh3w8ii4kgki1zxjhh9z05mnm";
        libraryHaskellDepends = [ base semigroups ];
        homepage = "https://github.com/qfpl/papa";
        description = "Prelude with only useful functions";
@@ -153845,6 +157745,28 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "papillon_0_1_0_6" = callPackage
+    ({ mkDerivation, base, bytestring, directory, filepath, monads-tf
+     , template-haskell, transformers
+     }:
+     mkDerivation {
+       pname = "papillon";
+       version = "0.1.0.6";
+       sha256 = "1j0sxac7pgwfbgb545ysjsw7haz6m41m6gz5z8v3xawjhx662nib";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base bytestring monads-tf template-haskell transformers
+       ];
+       executableHaskellDepends = [
+         base directory filepath monads-tf template-haskell transformers
+       ];
+       homepage = "https://skami.iocikun.jp/haskell/packages/papillon";
+       description = "packrat parser";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "pappy" = callPackage
     ({ mkDerivation, base }:
      mkDerivation {
@@ -154056,6 +157978,7 @@ self: {
        homepage = "https://github.com/merijn/paramtree";
        description = "Generate labelled test/benchmark trees from sets of parameters";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "paranoia" = callPackage
@@ -154279,6 +158202,7 @@ self: {
        homepage = "https://github.com/jwiegley/parsec-free";
        description = "Parsec API encoded as a deeply-embedded DSL, for debugging and analysis";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "parsec-numbers" = callPackage
@@ -154495,6 +158419,19 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "parser-combinators_1_0_0" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "parser-combinators";
+       version = "1.0.0";
+       sha256 = "1pwfdsklqwvaynwpdzmx1bs35mp6dpsyaqdnzxnqcrxwf5h8sk75";
+       libraryHaskellDepends = [ base ];
+       homepage = "https://github.com/mrkkrp/parser-combinators";
+       description = "Lightweight package providing commonly useful parser combinators";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "parser-helper" = callPackage
     ({ mkDerivation, aeson, base, bytestring, haskell-src-exts, text }:
      mkDerivation {
@@ -154830,6 +158767,7 @@ self: {
          async base conduit filepath QuickCheck quickcheck-unicode
          template-haskell temporary text yaml
        ];
+       doHaddock = false;
        homepage = "https://github.com/PasswordManager/passman-core#readme";
        description = "Deterministic password generator core";
        license = stdenv.lib.licenses.gpl3;
@@ -154900,8 +158838,8 @@ self: {
      }:
      mkDerivation {
        pname = "patat";
-       version = "0.6.1.0";
-       sha256 = "1i6vql76j5439bwdd1z7haphgm4x82rh08s22fc70hmfzkrln733";
+       version = "0.7.2.0";
+       sha256 = "1kn739dywchvvvcp972yyxg7r4n81s3qbrni684ag7493nck12iw";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -154986,6 +158924,8 @@ self: {
        pname = "path";
        version = "0.6.1";
        sha256 = "0nayla4k1gb821k8y5b9miflv1bi8f0czf9rqr044nrr2dddi2sb";
+       revision = "1";
+       editedCabalFile = "05b1zwx2a893h4h5wvgpc5g5pyx71hfmx409rqisd8s1bq1hn463";
        libraryHaskellDepends = [
          aeson base deepseq exceptions filepath hashable template-haskell
        ];
@@ -155008,6 +158948,25 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "path-extra_0_2_0" = callPackage
+    ({ mkDerivation, attoparsec, base, path, QuickCheck
+     , quickcheck-instances, tasty, tasty-quickcheck, text
+     }:
+     mkDerivation {
+       pname = "path-extra";
+       version = "0.2.0";
+       sha256 = "0fh4m3vidf75j43rk1n46y3bsn0j4247bz71s35651vi9s8vw27b";
+       libraryHaskellDepends = [ attoparsec base path text ];
+       testHaskellDepends = [
+         attoparsec base path QuickCheck quickcheck-instances tasty
+         tasty-quickcheck text
+       ];
+       homepage = "https://github.com/athanclark/path-extra#readme";
+       description = "URLs without host information";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "path-io" = callPackage
     ({ mkDerivation, base, containers, directory, dlist, exceptions
      , filepath, hspec, path, temporary, time, transformers, unix-compat
@@ -155016,8 +158975,8 @@ self: {
        pname = "path-io";
        version = "1.3.3";
        sha256 = "1g9m3qliqjk1img894wsb89diym5zrq51qkkrwhz4sbm9a8hbv1a";
-       revision = "1";
-       editedCabalFile = "16jfcjpqbzj6jr0sqxq2ys1z9qd2d8xr9k9vyij08ywynmwwvvzm";
+       revision = "3";
+       editedCabalFile = "1h9hsibbflkxpjl2fqamqiv3x3gasf51apnmklrs9l9x8r32hzcc";
        libraryHaskellDepends = [
          base containers directory dlist exceptions filepath path temporary
          time transformers unix-compat
@@ -155095,14 +159054,15 @@ self: {
 
   "paths" = callPackage
     ({ mkDerivation, base, bytestring, deepseq, directory, filepath
-     , time
+     , template-haskell, text, time
      }:
      mkDerivation {
        pname = "paths";
-       version = "0.1";
-       sha256 = "0cccvc2p04rmhbg61jaa592jd86dp08ipamk3ddvswr5ih3rhdgx";
+       version = "0.2.0.0";
+       sha256 = "18pzjlnmx7w79riig7qzyhw13jla92lals9lwayl23qr02ndna4v";
        libraryHaskellDepends = [
-         base bytestring deepseq directory filepath time
+         base bytestring deepseq directory filepath template-haskell text
+         time
        ];
        description = "Library for representing and manipulating type-safe file paths";
        license = stdenv.lib.licenses.bsd3;
@@ -155304,6 +159264,7 @@ self: {
        homepage = "https://github.com/githubuser/pb-next#readme";
        description = "Utility CLI for working with protobuf files";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "pbc4hs" = callPackage
@@ -155458,8 +159419,8 @@ self: {
      }:
      mkDerivation {
        pname = "pcg-random";
-       version = "0.1.3.4";
-       sha256 = "1bl9dp7p0pxy886z36flh6f3a3w48f44k8iwci1v37x3fl4cbzj1";
+       version = "0.1.3.5";
+       sha256 = "1920g1babivacds27m0gbjs9mylwiknjykvbrpagzq7r0n4gyhyy";
        libraryHaskellDepends = [
          base bytestring entropy primitive random
        ];
@@ -155879,8 +159840,8 @@ self: {
      }:
      mkDerivation {
        pname = "pedersen-commitment";
-       version = "0.1.0";
-       sha256 = "10flwinxxs1vg2giqqyazcgxrykqsj6m0kgd62b8f4wzmygws4r1";
+       version = "0.2.0";
+       sha256 = "1dxh20abilyf29jg6dbl9al300v7wzd1avv36p4hf8x2xwvwr4v7";
        libraryHaskellDepends = [
          base bytestring containers cryptonite memory mtl protolude text
        ];
@@ -155890,7 +159851,7 @@ self: {
        ];
        homepage = "https://github.com/adjoint-io/pedersen-commitment#readme";
        description = "An implementation of Pedersen commitment schemes";
-       license = stdenv.lib.licenses.asl20;
+       license = stdenv.lib.licenses.mit;
      }) {};
 
   "peg" = callPackage
@@ -156174,49 +160135,43 @@ self: {
 
   "perf" = callPackage
     ({ mkDerivation, base, containers, doctest, foldl, formatting
-     , numhask, optparse-generic, protolude, rdtsc, tdigest, text, time
-     , vector
+     , numhask, optparse-generic, protolude, rdtsc, scientific, tdigest
+     , text, time, vector
      }:
      mkDerivation {
        pname = "perf";
-       version = "0.3.0";
-       sha256 = "0l8q2jc3gfyair7x7jlx6aqs25m9f2ib9hdmzc3vfrh91ky67x1q";
+       version = "0.3.1.1";
+       sha256 = "0zwv6d18sxjn7xz4z0mx43gj3bavm4vyw1sxys6zlxr6xfpka20q";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          base containers foldl numhask protolude rdtsc tdigest time
        ];
        executableHaskellDepends = [
-         base formatting numhask optparse-generic protolude text vector
+         base formatting numhask optparse-generic protolude scientific text
+         vector
        ];
        testHaskellDepends = [ base doctest protolude ];
-       homepage = "https://github.com/tonyday567/perf";
+       homepage = "https://github.com/tonyday567/perf#readme";
        description = "low-level performance statistics";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
-  "perf_0_3_1_1" = callPackage
-    ({ mkDerivation, base, containers, doctest, foldl, formatting
-     , numhask, optparse-generic, protolude, rdtsc, scientific, tdigest
-     , text, time, vector
+  "perf_0_4_0_1" = callPackage
+    ({ mkDerivation, base, containers, deepseq, doctest, foldl, rdtsc
+     , text, time, transformers
      }:
      mkDerivation {
        pname = "perf";
-       version = "0.3.1.1";
-       sha256 = "0zwv6d18sxjn7xz4z0mx43gj3bavm4vyw1sxys6zlxr6xfpka20q";
-       isLibrary = true;
-       isExecutable = true;
+       version = "0.4.0.1";
+       sha256 = "1am2wzj43gi0naz5mwpvja9i005g05d6gpkqw0qvdy63mddz9b96";
        libraryHaskellDepends = [
-         base containers foldl numhask protolude rdtsc tdigest time
-       ];
-       executableHaskellDepends = [
-         base formatting numhask optparse-generic protolude scientific text
-         vector
+         base containers deepseq foldl rdtsc text time transformers
        ];
-       testHaskellDepends = [ base doctest protolude ];
+       testHaskellDepends = [ base doctest ];
        homepage = "https://github.com/tonyday567/perf#readme";
-       description = "low-level performance statistics";
+       description = "Low-level run time measurement";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
@@ -156249,7 +160204,6 @@ self: {
        homepage = "https://github.com/kostmo/perfect-hash-generator#readme";
        description = "Perfect minimal hashing implementation in native Haskell";
        license = stdenv.lib.licenses.asl20;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "perfecthash" = callPackage
@@ -156276,6 +160230,24 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "perhaps" = callPackage
+    ({ mkDerivation, base, Cabal, cabal-doctest, doctest, mtl
+     , transformers, transformers-compat
+     }:
+     mkDerivation {
+       pname = "perhaps";
+       version = "0";
+       sha256 = "16bm069pqrdsbscyp9m1r7cciqppkvlmgn4xgzp3yyfh69z095gn";
+       setupHaskellDepends = [ base Cabal cabal-doctest ];
+       libraryHaskellDepends = [
+         base mtl transformers transformers-compat
+       ];
+       testHaskellDepends = [ base doctest ];
+       homepage = "http://github.com/ekmett/perhaps/";
+       description = "Perhaps, a monad";
+       license = stdenv.lib.licenses.bsd2;
+     }) {};
+
   "period" = callPackage
     ({ mkDerivation, base, hspec, HUnit, old-locale
      , optparse-applicative, parsec, text, text-show, time
@@ -156378,8 +160350,8 @@ self: {
      }:
      mkDerivation {
        pname = "persistable-record";
-       version = "0.6.0.1";
-       sha256 = "1jjydxzjvkw3jzm968ngj0v531fly0h4f7621fjzgbkdcjfgkgm1";
+       version = "0.6.0.3";
+       sha256 = "12arj395b1famyy0hxp394ci2y3mkly68i82a26p67g5dpmdm466";
        libraryHaskellDepends = [
          array base containers dlist names-th product-isomorphic
          template-haskell th-data-compat transformers
@@ -156391,42 +160363,48 @@ self: {
      }) {};
 
   "persistable-types-HDBC-pg" = callPackage
-    ({ mkDerivation, base, bytestring, convertible, HDBC
-     , persistable-record, relational-query-HDBC, text-postgresql
+    ({ mkDerivation, base, bytestring, convertible, dlist, HDBC
+     , persistable-record, relational-query, relational-query-HDBC
+     , text-postgresql
      }:
      mkDerivation {
        pname = "persistable-types-HDBC-pg";
-       version = "0.0.1.5";
-       sha256 = "0kdrqn6j7vsq748j9j22g3wqxik9pfy3s3dgk4gd5bqnp4gv7949";
+       version = "0.0.3.2";
+       sha256 = "0ddzmc19in35vxivgqp9yi8p2afvg67q2dwgl39pkw6camrqlh2r";
        libraryHaskellDepends = [
-         base bytestring convertible HDBC persistable-record
-         relational-query-HDBC text-postgresql
+         base bytestring convertible dlist HDBC persistable-record
+         relational-query relational-query-HDBC text-postgresql
+       ];
+       testHaskellDepends = [
+         base relational-query relational-query-HDBC text-postgresql
        ];
        homepage = "http://khibino.github.io/haskell-relational-record/";
        description = "HDBC and Relational-Record instances of PostgreSQL extended types";
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "persistent" = callPackage
+  "persistent_2_7_3_1" = callPackage
     ({ mkDerivation, aeson, attoparsec, base, base64-bytestring
      , blaze-html, blaze-markup, bytestring, conduit, containers
-     , exceptions, fast-logger, hspec, http-api-data, lifted-base
-     , monad-control, monad-logger, mtl, old-locale, path-pieces
-     , resource-pool, resourcet, scientific, silently, tagged
-     , template-haskell, text, time, transformers, transformers-base
-     , unordered-containers, vector
+     , exceptions, fast-logger, haskell-src-meta, hspec, http-api-data
+     , lifted-base, monad-control, monad-logger, mtl, old-locale
+     , path-pieces, resource-pool, resourcet, scientific, silently
+     , tagged, template-haskell, text, time, transformers
+     , transformers-base, unordered-containers, vector
      }:
      mkDerivation {
        pname = "persistent";
-       version = "2.7.1";
-       sha256 = "079r6b1rvvwgagznxwf4j5i29jpqrvnck545ig004v2853r6x2f2";
+       version = "2.7.3.1";
+       sha256 = "1jbvavdvr9qz5ld7vf6l1jgiadhmxx6zc4vqsdk9ivfq6d5wlg1p";
+       revision = "1";
+       editedCabalFile = "17kdzvhakjqkif1xxrbgh1lwjd0sfd0ikl1jxrjn4il16jy7gazz";
        libraryHaskellDepends = [
          aeson attoparsec base base64-bytestring blaze-html blaze-markup
-         bytestring conduit containers exceptions fast-logger http-api-data
-         lifted-base monad-control monad-logger mtl old-locale path-pieces
-         resource-pool resourcet scientific silently tagged template-haskell
-         text time transformers transformers-base unordered-containers
-         vector
+         bytestring conduit containers exceptions fast-logger
+         haskell-src-meta http-api-data lifted-base monad-control
+         monad-logger mtl old-locale path-pieces resource-pool resourcet
+         scientific silently tagged template-haskell text time transformers
+         transformers-base unordered-containers vector
        ];
        testHaskellDepends = [
          aeson attoparsec base base64-bytestring blaze-html bytestring
@@ -156438,10 +160416,11 @@ self: {
        homepage = "http://www.yesodweb.com/book/persistent";
        description = "Type-safe, multi-backend data serialization";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
        maintainers = with stdenv.lib.maintainers; [ psibi ];
      }) {};
 
-  "persistent_2_8_1" = callPackage
+  "persistent" = callPackage
     ({ mkDerivation, aeson, attoparsec, base, base64-bytestring
      , blaze-html, blaze-markup, bytestring, conduit, containers
      , fast-logger, haskell-src-meta, hspec, http-api-data
@@ -156452,8 +160431,10 @@ self: {
      }:
      mkDerivation {
        pname = "persistent";
-       version = "2.8.1";
-       sha256 = "1mfk6mxicg12vnvc9049k55dgvcx4ss4z2219qr8wy89m2z72l1k";
+       version = "2.8.2";
+       sha256 = "1h0yijbf1yiwl50klyafy4ln99j8bib4kgbzviw7fc4y4mwv4sv9";
+       revision = "1";
+       editedCabalFile = "18a6dfpjakcmyl9qnflgi63rss09zj3xg0py6bliary4y2cqw4fz";
        libraryHaskellDepends = [
          aeson attoparsec base base64-bytestring blaze-html blaze-markup
          bytestring conduit containers fast-logger haskell-src-meta
@@ -156471,7 +160452,6 @@ self: {
        homepage = "http://www.yesodweb.com/book/persistent";
        description = "Type-safe, multi-backend data serialization";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
        maintainers = with stdenv.lib.maintainers; [ psibi ];
      }) {};
 
@@ -156614,26 +160594,6 @@ self: {
 
   "persistent-mongoDB" = callPackage
     ({ mkDerivation, aeson, attoparsec, base, bson, bytestring, cereal
-     , conduit, containers, http-api-data, monad-control, mongoDB
-     , network, path-pieces, persistent, resource-pool, resourcet, text
-     , time, transformers
-     }:
-     mkDerivation {
-       pname = "persistent-mongoDB";
-       version = "2.6.0";
-       sha256 = "1y94k4ymrwb1p881gzf6g3ppv41dsvc097cq4myfjcm22xaf4kp3";
-       libraryHaskellDepends = [
-         aeson attoparsec base bson bytestring cereal conduit containers
-         http-api-data monad-control mongoDB network path-pieces persistent
-         resource-pool resourcet text time transformers
-       ];
-       homepage = "http://www.yesodweb.com/book/persistent";
-       description = "Backend for the persistent library using mongoDB";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-
-  "persistent-mongoDB_2_8_0" = callPackage
-    ({ mkDerivation, aeson, attoparsec, base, bson, bytestring, cereal
      , conduit, containers, http-api-data, mongoDB, network, path-pieces
      , persistent, resource-pool, resourcet, text, time, transformers
      , unliftio-core
@@ -156650,30 +160610,10 @@ self: {
        homepage = "http://www.yesodweb.com/book/persistent";
        description = "Backend for the persistent library using mongoDB";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "persistent-mysql" = callPackage
     ({ mkDerivation, aeson, base, blaze-builder, bytestring, conduit
-     , containers, monad-control, monad-logger, mysql, mysql-simple
-     , persistent, resource-pool, resourcet, text, transformers
-     }:
-     mkDerivation {
-       pname = "persistent-mysql";
-       version = "2.6.2.1";
-       sha256 = "0rk3rplz8y0b9macvb19w7m7ljnkq4gkmrjrdqdqcpga6ih357ik";
-       libraryHaskellDepends = [
-         aeson base blaze-builder bytestring conduit containers
-         monad-control monad-logger mysql mysql-simple persistent
-         resource-pool resourcet text transformers
-       ];
-       homepage = "http://www.yesodweb.com/book/persistent";
-       description = "Backend for the persistent library using MySQL database server";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-
-  "persistent-mysql_2_8_1" = callPackage
-    ({ mkDerivation, aeson, base, blaze-builder, bytestring, conduit
      , containers, monad-logger, mysql, mysql-simple, persistent
      , resource-pool, resourcet, text, transformers, unliftio-core
      }:
@@ -156689,37 +160629,10 @@ self: {
        homepage = "http://www.yesodweb.com/book/persistent";
        description = "Backend for the persistent library using MySQL database server";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "persistent-mysql-haskell" = callPackage
     ({ mkDerivation, aeson, base, bytestring, conduit, containers
-     , io-streams, monad-control, monad-logger, mysql-haskell, network
-     , persistent, persistent-template, resource-pool, resourcet, text
-     , time, tls, transformers
-     }:
-     mkDerivation {
-       pname = "persistent-mysql-haskell";
-       version = "0.3.6";
-       sha256 = "1a829hrbsa54qikbnafv7vk7shzyg0697nvj43md19p172mkwj93";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         aeson base bytestring conduit containers io-streams monad-control
-         monad-logger mysql-haskell network persistent resource-pool
-         resourcet text time tls transformers
-       ];
-       executableHaskellDepends = [
-         base monad-logger persistent persistent-template transformers
-       ];
-       homepage = "http://www.yesodweb.com/book/persistent";
-       description = "A pure haskell backend for the persistent library using MySQL database server";
-       license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
-     }) {};
-
-  "persistent-mysql-haskell_0_4_0" = callPackage
-    ({ mkDerivation, aeson, base, bytestring, conduit, containers
      , io-streams, monad-logger, mysql-haskell, network, persistent
      , persistent-template, resource-pool, resourcet, text, time, tls
      , transformers, unliftio-core
@@ -156764,6 +160677,7 @@ self: {
        homepage = "https://github.com/gbwey/persistent-odbc";
        description = "Backend for the persistent library using ODBC";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "persistent-parser" = callPackage
@@ -156780,35 +160694,14 @@ self: {
 
   "persistent-postgresql" = callPackage
     ({ mkDerivation, aeson, base, blaze-builder, bytestring, conduit
-     , containers, monad-control, monad-logger, persistent
-     , postgresql-libpq, postgresql-simple, resource-pool, resourcet
-     , text, time, transformers
-     }:
-     mkDerivation {
-       pname = "persistent-postgresql";
-       version = "2.6.3";
-       sha256 = "0yr384b77mp8z7k8mjmdbsqrrqplymcy9rfy6lm1v3ff81g52vli";
-       libraryHaskellDepends = [
-         aeson base blaze-builder bytestring conduit containers
-         monad-control monad-logger persistent postgresql-libpq
-         postgresql-simple resource-pool resourcet text time transformers
-       ];
-       homepage = "http://www.yesodweb.com/book/persistent";
-       description = "Backend for the persistent library using postgresql";
-       license = stdenv.lib.licenses.mit;
-       maintainers = with stdenv.lib.maintainers; [ psibi ];
-     }) {};
-
-  "persistent-postgresql_2_8_1_1" = callPackage
-    ({ mkDerivation, aeson, base, blaze-builder, bytestring, conduit
      , containers, monad-logger, persistent, postgresql-libpq
      , postgresql-simple, resource-pool, resourcet, text, time
      , transformers, unliftio-core
      }:
      mkDerivation {
        pname = "persistent-postgresql";
-       version = "2.8.1.1";
-       sha256 = "1ikjcd1i33nf044gcjfk2jxppjwl14vn7yd7jwjci5w0vjx6fwqi";
+       version = "2.8.2.0";
+       sha256 = "0j9g12fk1rlxhd45frxrj9bkmzrk1qbz611296af8nhxkw5wiwzj";
        libraryHaskellDepends = [
          aeson base blaze-builder bytestring conduit containers monad-logger
          persistent postgresql-libpq postgresql-simple resource-pool
@@ -156817,7 +160710,6 @@ self: {
        homepage = "http://www.yesodweb.com/book/persistent";
        description = "Backend for the persistent library using postgresql";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
        maintainers = with stdenv.lib.maintainers; [ psibi ];
      }) {};
 
@@ -156849,6 +160741,7 @@ self: {
        homepage = "https://github.com/jprider63/persistent-ratelimit";
        description = "A library for rate limiting activities with a persistent backend";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "persistent-redis" = callPackage
@@ -156873,7 +160766,6 @@ self: {
        ];
        description = "Backend for persistent library using Redis";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "persistent-refs" = callPackage
@@ -156914,16 +160806,17 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
-  "persistent-sqlite" = callPackage
+  "persistent-sqlite_2_6_4" = callPackage
     ({ mkDerivation, aeson, base, bytestring, conduit, containers
      , hspec, microlens-th, monad-control, monad-logger, old-locale
-     , persistent, persistent-template, resource-pool, resourcet
+     , persistent, persistent-template, resource-pool, resourcet, sqlite
      , temporary, text, time, transformers, unordered-containers
      }:
      mkDerivation {
        pname = "persistent-sqlite";
        version = "2.6.4";
        sha256 = "16mc2ra0hbyyc8ckjlxxc11bpskdymbr8c3g6ih6wzik639xprbm";
+       configureFlags = [ "-fsystemlib" ];
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -156931,6 +160824,7 @@ self: {
          monad-logger old-locale persistent resource-pool resourcet text
          time transformers unordered-containers
        ];
+       librarySystemDepends = [ sqlite ];
        testHaskellDepends = [
          base hspec persistent persistent-template temporary text time
          transformers
@@ -156938,19 +160832,21 @@ self: {
        homepage = "http://www.yesodweb.com/book/persistent";
        description = "Backend for the persistent library using sqlite3";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
        maintainers = with stdenv.lib.maintainers; [ psibi ];
-     }) {};
+     }) {inherit (pkgs) sqlite;};
 
-  "persistent-sqlite_2_8_1_2" = callPackage
+  "persistent-sqlite" = callPackage
     ({ mkDerivation, aeson, base, bytestring, conduit, containers
      , hspec, microlens-th, monad-logger, old-locale, persistent
-     , persistent-template, resource-pool, resourcet, temporary, text
-     , time, transformers, unliftio-core, unordered-containers
+     , persistent-template, resource-pool, resourcet, sqlite, temporary
+     , text, time, transformers, unliftio-core, unordered-containers
      }:
      mkDerivation {
        pname = "persistent-sqlite";
        version = "2.8.1.2";
        sha256 = "035dz64h35s7ry39yd57ybqcllkwkfj0wj9ngh6gcw03hgrmfw9g";
+       configureFlags = [ "-fsystemlib" ];
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -156958,6 +160854,7 @@ self: {
          old-locale persistent resource-pool resourcet text time
          transformers unliftio-core unordered-containers
        ];
+       librarySystemDepends = [ sqlite ];
        testHaskellDepends = [
          base hspec persistent persistent-template temporary text time
          transformers
@@ -156965,9 +160862,8 @@ self: {
        homepage = "http://www.yesodweb.com/book/persistent";
        description = "Backend for the persistent library using sqlite3";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
        maintainers = with stdenv.lib.maintainers; [ psibi ];
-     }) {};
+     }) {inherit (pkgs) sqlite;};
 
   "persistent-template" = callPackage
     ({ mkDerivation, aeson, aeson-compat, base, bytestring, containers
@@ -156977,8 +160873,10 @@ self: {
      }:
      mkDerivation {
        pname = "persistent-template";
-       version = "2.5.3.1";
-       sha256 = "0449piw3n02q7dag7k1pakfmzmf3ms4wk1qmnagczpm1ckajinwd";
+       version = "2.5.4";
+       sha256 = "008afcy7zbw7bzp9jww8gdldb51kfm0fg4p0x4xcp61gx4679bjc";
+       revision = "1";
+       editedCabalFile = "18mjv4z29cbrqjrsk2gm4bbc988437v8zxc5dynhj99fzjxzs9yr";
        libraryHaskellDepends = [
          aeson aeson-compat base bytestring containers ghc-prim
          http-api-data monad-control monad-logger path-pieces persistent
@@ -157238,17 +161136,18 @@ self: {
 
   "pg-harness-server" = callPackage
     ({ mkDerivation, async, base, ini, postgresql-simple, random
-     , scotty, text, transformers
+     , scotty, text, transformers, warp
      }:
      mkDerivation {
        pname = "pg-harness-server";
-       version = "0.5.0";
-       sha256 = "1h14lbjygvdsq0g5yp0c3jnkayrzscw9dsllz0s4jzfg9hzskwa1";
+       version = "0.5.1";
+       sha256 = "0l7g99wh2znn3y3ma862j6yrmxdl9bjg2p4qaqf4iijxqxcrb1lq";
        isLibrary = false;
        isExecutable = true;
        enableSeparateDataOutput = true;
        executableHaskellDepends = [
          async base ini postgresql-simple random scotty text transformers
+         warp
        ];
        homepage = "https://github.com/BardurArantsson/pg-harness";
        description = "REST service for creating temporary PostgreSQL databases";
@@ -157342,6 +161241,8 @@ self: {
        pname = "pgdl";
        version = "10.10";
        sha256 = "0wqj7i4shdcy80aiib0dkp3y6ccilqq4g3p8bvndh4vl3cyd2pwv";
+       revision = "1";
+       editedCabalFile = "17d525qv26y15zbc7kl0vdxfi7n1v1g8v9r821a96dd49zkccsck";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -157352,6 +161253,7 @@ self: {
        ];
        description = "browse directory listing webpages and download files from them";
        license = stdenv.lib.licenses.publicDomain;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "pgm" = callPackage
@@ -157528,6 +161430,7 @@ self: {
        testHaskellDepends = [ base hspec ];
        description = "Deprecated - ghci debug viewer with simple editor";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "phoityne-vscode" = callPackage
@@ -157539,8 +161442,8 @@ self: {
      }:
      mkDerivation {
        pname = "phoityne-vscode";
-       version = "0.0.22.0";
-       sha256 = "0ala51fps5yd1lk47blsbfby6sysnz2v39frmc53ggqzzlsls2q7";
+       version = "0.0.23.0";
+       sha256 = "139fjsyximny4ikgqrjxx9pg4spkz8s1fh6b3a9xgrsyya4r1sw7";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -157751,6 +161654,31 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "pi-hoole" = callPackage
+    ({ mkDerivation, aeson, base, base58-bytestring, blaze-html
+     , bytestring, containers, directory, filepath, http-types
+     , megaparsec, optparse-generic, process, regex-pcre, shakespeare
+     , text, unix, wai, warp, yaml
+     }:
+     mkDerivation {
+       pname = "pi-hoole";
+       version = "0.2.0.0";
+       sha256 = "0qjs8b7ljybvklx9s5xmb9kg2mxlaqfwjf7d52c31y3f21d5q8q0";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson base containers directory filepath megaparsec process text
+       ];
+       executableHaskellDepends = [
+         aeson base base58-bytestring blaze-html bytestring containers
+         directory filepath http-types megaparsec optparse-generic
+         regex-pcre shakespeare text unix wai warp yaml
+       ];
+       testHaskellDepends = [ base ];
+       description = "Lightweight access control solution for the pijul vcs";
+       license = stdenv.lib.licenses.agpl3;
+     }) {};
+
   "pi-lcd" = callPackage
     ({ mkDerivation, base, bytestring, clock, deepseq, text, unix
      , unordered-containers
@@ -157884,6 +161812,7 @@ self: {
        homepage = "https://bitbucket.org/blamario/picoparsec";
        description = "Fast combinator parsing for bytestrings and text";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "picosat" = callPackage
@@ -157943,6 +161872,35 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "pier" = callPackage
+    ({ mkDerivation, aeson, base, base64-bytestring, binary
+     , binary-orphans, bytestring, Cabal, containers, cryptohash-sha256
+     , directory, hashable, http-client, http-client-tls, http-types
+     , optparse-applicative, process, shake, split, temporary, text
+     , transformers, unix, unordered-containers, yaml
+     }:
+     mkDerivation {
+       pname = "pier";
+       version = "0.1.0.0";
+       sha256 = "19l8ghpik8j8igh0xa8kcmn6zs6r4xa8yks60n8v37d6ksr5k9m6";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson base base64-bytestring binary binary-orphans bytestring Cabal
+         containers cryptohash-sha256 directory hashable http-client
+         http-client-tls http-types process shake temporary text
+         transformers unix unordered-containers yaml
+       ];
+       executableHaskellDepends = [
+         base Cabal directory optparse-applicative shake split
+         unordered-containers
+       ];
+       homepage = "https://github.com/judah/pier#readme";
+       description = "Yet another Haskell build system";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "piet" = callPackage
     ({ mkDerivation, array, base, containers, Imlib, mtl }:
      mkDerivation {
@@ -157957,6 +161915,23 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "pig" = callPackage
+    ({ mkDerivation, base, containers, random, random-shuffle }:
+     mkDerivation {
+       pname = "pig";
+       version = "0.0.1";
+       sha256 = "0fh8lv85h2w6gs7zv1bqb4gc4id84c3vp3ivdrd9cvnxksr50ffr";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [ base containers random random-shuffle ];
+       executableHaskellDepends = [
+         base containers random random-shuffle
+       ];
+       description = "dice game";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "piki" = callPackage
     ({ mkDerivation, base, mtl, parsec, text }:
      mkDerivation {
@@ -157981,8 +161956,8 @@ self: {
      }:
      mkDerivation {
        pname = "pinboard";
-       version = "0.9.12.8";
-       sha256 = "0k9lyk3h108y3zyvqz1krr08cqf4fahg4lh4f5fn1spgz46q3dwk";
+       version = "0.9.12.9";
+       sha256 = "0h2w2ah7cqv0blb2pcdlzd4ww1f92x5ixr5ksqdqdcyzij2pbmbn";
        libraryHaskellDepends = [
          aeson base bytestring containers http-client http-client-tls
          http-types monad-logger mtl network profunctors random
@@ -158097,8 +162072,8 @@ self: {
      }:
      mkDerivation {
        pname = "pinpon";
-       version = "0.2.0.1";
-       sha256 = "0l21lh66iwqk5bq2zxpjxp04gypcpy74xj4xnxmgbj7qzcxp9xha";
+       version = "0.2.0.2";
+       sha256 = "1fwdzmzm1s0bpxcw79hifpsc0ksaz2rdn76hprk7bqiw81c4amxs";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -158119,6 +162094,7 @@ self: {
        homepage = "https://github.com/quixoftic/pinpon#readme";
        description = "A gateway for various cloud notification services";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "pipe-enumerator" = callPackage
@@ -158157,8 +162133,8 @@ self: {
      }:
      mkDerivation {
        pname = "pipes";
-       version = "4.3.8";
-       sha256 = "1wlppz7vlkmbrrvjv6cjrp8x39lhvdqp2sgc9w6hv25y3qirz9wi";
+       version = "4.3.9";
+       sha256 = "1jqs4x3xw2ya3834p36p1ycx8nxjgn2ypaibhdv97xcw3wsxlk2w";
        libraryHaskellDepends = [
          base exceptions mmorph mtl semigroups transformers void
        ];
@@ -158188,6 +162164,7 @@ self: {
        homepage = "https://github.com/k0001/pipes-aeson";
        description = "Encode and decode JSON streams using Aeson and Pipes";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "pipes-async" = callPackage
@@ -158306,6 +162283,7 @@ self: {
        homepage = "https://github.com/mindreader/pipes-break";
        description = "Pipes to group by any delimiter (such as lines with carriage returns)";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "pipes-bytestring" = callPackage
@@ -158322,6 +162300,7 @@ self: {
        ];
        description = "ByteString support for pipes";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "pipes-bzip" = callPackage
@@ -158346,6 +162325,7 @@ self: {
        homepage = "https://github.com/chemist/pipes-bzip";
        description = "Streaming compression/decompression via pipes";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {inherit (pkgs) bzip2;};
 
   "pipes-cacophony" = callPackage
@@ -158460,13 +162440,15 @@ self: {
      }) {};
 
   "pipes-concurrency" = callPackage
-    ({ mkDerivation, async, base, contravariant, pipes, stm, void }:
+    ({ mkDerivation, async, base, contravariant, pipes, semigroups, stm
+     , void
+     }:
      mkDerivation {
        pname = "pipes-concurrency";
-       version = "2.0.9";
-       sha256 = "1br0cssp4rdfh6lhvjql9ppjvcn0v6kpg1h1f1hi8vqb0c87nvb4";
+       version = "2.0.10";
+       sha256 = "1qrnwr7m8yjn80k4qzcr75g64jvbh7f903apvmlsqrgppwfp4xa6";
        libraryHaskellDepends = [
-         async base contravariant pipes stm void
+         async base contravariant pipes semigroups stm void
        ];
        testHaskellDepends = [ async base pipes stm ];
        description = "Concurrency for the pipes ecosystem";
@@ -158535,7 +162517,7 @@ self: {
        ];
        description = "Fast, streaming csv parser";
        license = stdenv.lib.licenses.mit;
-       maintainers = with stdenv.lib.maintainers; [ jb55 ];
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "pipes-errors" = callPackage
@@ -158586,8 +162568,8 @@ self: {
      }:
      mkDerivation {
        pname = "pipes-extras";
-       version = "1.0.12";
-       sha256 = "0sr7n0p8nwsyp52dybq3lgswz353jc239hysqlxhlsa4hh1l5q61";
+       version = "1.0.14";
+       sha256 = "17f8aj6p074yryk0a26vg1iiy7dva5cjb1gzsrvsq41dhy28j7gx";
        libraryHaskellDepends = [ base foldl lens pipes transformers ];
        testHaskellDepends = [
          base HUnit pipes test-framework test-framework-hunit transformers
@@ -158609,6 +162591,7 @@ self: {
        ];
        description = "Streaming parsers for Fasta and Fastq";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "pipes-files" = callPackage
@@ -158668,24 +162651,8 @@ self: {
      }:
      mkDerivation {
        pname = "pipes-group";
-       version = "1.0.8";
-       sha256 = "0zcmhq46972zxjj5nmr46fdvvwb3q0i42q9m70i758a3iwkmnr3a";
-       libraryHaskellDepends = [
-         base free pipes pipes-parse transformers
-       ];
-       testHaskellDepends = [ base doctest lens-family-core ];
-       description = "Group streams into substreams";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "pipes-group_1_0_9" = callPackage
-    ({ mkDerivation, base, doctest, free, lens-family-core, pipes
-     , pipes-parse, transformers
-     }:
-     mkDerivation {
-       pname = "pipes-group";
-       version = "1.0.9";
-       sha256 = "16yczij987r6j7gzp3nvgl1c5x2b7skvqsq38ns7p9z34kvy8sby";
+       version = "1.0.10";
+       sha256 = "1j37sj0i7lkmk228lchp5kkvf86fiwrkikwwrfibpb6xwixjmlr8";
        libraryHaskellDepends = [
          base free pipes pipes-parse transformers
        ];
@@ -158770,7 +162737,6 @@ self: {
        homepage = "https://github.com/boothead/pipes-kafka";
        description = "Kafka in the Pipes ecosystem";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "pipes-key-value-csv" = callPackage
@@ -158813,6 +162779,7 @@ self: {
        homepage = "https://github.com/mindreader/pipes-lines";
        description = "Pipes for grouping by lines with carriage returns";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "pipes-lzma" = callPackage
@@ -159006,6 +162973,8 @@ self: {
        pname = "pipes-random";
        version = "1.0.0.4";
        sha256 = "17k510v2f5ziysqh7sknyw3rgxf8iblw800z3hh8gymaszkhfajl";
+       revision = "1";
+       editedCabalFile = "0m32wz3rwxx9gdcl1chk64yspyd1ls13z03zcgjcn865mpbhz97h";
        libraryHaskellDepends = [ base mwc-random pipes vector ];
        homepage = "https://github.com/fosskers/pipes-random";
        description = "Producers for handling randomness";
@@ -159038,8 +163007,8 @@ self: {
        pname = "pipes-s3";
        version = "0.3.0.3";
        sha256 = "16gm7xjc8vbbajwmq91fj1l5cgd6difrz5g30b8czac4gdgqfppa";
-       revision = "1";
-       editedCabalFile = "1hm2wwz8qz67hpwp5gfpp1rnz864z8pnn4ii5n35phhy9vg67dlz";
+       revision = "2";
+       editedCabalFile = "1sm1s8paqyh4d05179lfbjix5irc6j7ryrir5s29xpjxslanl01x";
        libraryHaskellDepends = [
          aws base bytestring http-client http-client-tls http-types pipes
          pipes-bytestring pipes-safe resourcet text transformers
@@ -159060,8 +163029,8 @@ self: {
      }:
      mkDerivation {
        pname = "pipes-safe";
-       version = "2.2.6";
-       sha256 = "1y891xqp5qdv0lkgv66v7b2wnmvximmh6fjb2i5apm8p4rwih6wz";
+       version = "2.2.9";
+       sha256 = "160qba0r8lih186qfrpvnx1m2j632x5b7n1x53mif9aag41n9w8p";
        libraryHaskellDepends = [
          base containers exceptions monad-control mtl pipes primitive
          transformers transformers-base
@@ -159121,22 +163090,24 @@ self: {
        homepage = "https://github.com/michaelt/text-pipes";
        description = "properly streaming text";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "pipes-transduce" = callPackage
     ({ mkDerivation, base, bifunctors, bytestring, conceit, doctest
      , foldl, free, microlens, pipes, pipes-bytestring
      , pipes-concurrency, pipes-group, pipes-parse, pipes-safe
-     , pipes-text, tasty, tasty-hunit, text, transformers, void
+     , pipes-text, streaming, tasty, tasty-hunit, text, transformers
+     , void
      }:
      mkDerivation {
        pname = "pipes-transduce";
-       version = "0.4.1";
-       sha256 = "10lf6fnnq1zf9v04l00f1nd4s6qq6a0pcdl72vxczmj6rn3c0kgq";
+       version = "0.4.3.2";
+       sha256 = "0q4xc2r0yzyj6gpg16z9scdxm0a3fjzsm1r6qihkr2zks9sac36x";
        libraryHaskellDepends = [
          base bifunctors bytestring conceit foldl free microlens pipes
          pipes-bytestring pipes-concurrency pipes-group pipes-parse
-         pipes-safe pipes-text text transformers void
+         pipes-safe pipes-text streaming text transformers void
        ];
        testHaskellDepends = [
          base doctest foldl free pipes tasty tasty-hunit text
@@ -159236,7 +163207,6 @@ self: {
        homepage = "https://github.com/k0001/pipes-zlib";
        description = "Zlib and GZip compression and decompression for Pipes streams";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "pisigma" = callPackage
@@ -159506,6 +163476,30 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "planb-token-introspection" = callPackage
+    ({ mkDerivation, aeson, aeson-casing, base, bytestring, containers
+     , exceptions, http-client, http-client-tls, http-types, lens, mtl
+     , random, safe-exceptions, tasty, tasty-hunit, text, th-format
+     , transformers, unliftio-core
+     }:
+     mkDerivation {
+       pname = "planb-token-introspection";
+       version = "0.1.2.0";
+       sha256 = "09b54m2m90g8ci6sxsgayvfxd9gmkwp2xw16gk1afxnha39lzwlq";
+       libraryHaskellDepends = [
+         aeson aeson-casing base bytestring containers http-client
+         http-client-tls http-types mtl safe-exceptions text transformers
+       ];
+       testHaskellDepends = [
+         aeson base bytestring containers exceptions http-client http-types
+         lens mtl random safe-exceptions tasty tasty-hunit text th-format
+         unliftio-core
+       ];
+       homepage = "https://github.com/mtesseract/planb-token-introspection#readme";
+       description = "Token Introspection for PlanB";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "plankton" = callPackage
     ({ mkDerivation, adjunctions, base, protolude }:
      mkDerivation {
@@ -159587,8 +163581,8 @@ self: {
      }:
      mkDerivation {
        pname = "playlists-http";
-       version = "0.2.0.0";
-       sha256 = "0hx55vqcqfkfjds7hh4l1i60al9d65q55wg9jfns3qml5z8pqik1";
+       version = "0.2.1.0";
+       sha256 = "1kzc1awfqk979h2hmpqh2pjiy33v140pibbp703hqbq0fkrynj2k";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -159600,6 +163594,26 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "plex" = callPackage
+    ({ mkDerivation, async, base, bytestring, deepseq, hspec
+     , QuickCheck, unix
+     }:
+     mkDerivation {
+       pname = "plex";
+       version = "0.2.0.0";
+       sha256 = "0y0a3d30k4d3111smfidzzv1z7cq0i47wxvyh9iwbnn223s3446y";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [ async base bytestring deepseq unix ];
+       testHaskellDepends = [
+         async base bytestring deepseq hspec QuickCheck unix
+       ];
+       homepage = "https://github.com/phlummox/hs-plex#readme";
+       description = "run a subprocess, combining stdout and stderr";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "plist" = callPackage
     ({ mkDerivation, base, base64-bytestring, bytestring, hxt }:
      mkDerivation {
@@ -159773,6 +163787,47 @@ self: {
        homepage = "https://github.com/ocramz/plot-light";
        description = "A lightweight plotting library, exporting to SVG";
        license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "plot-light_0_3_3_2" = callPackage
+    ({ mkDerivation, base, blaze-svg, colour, containers
+     , data-default-class, hspec, mtl, QuickCheck, scientific, text
+     , time
+     }:
+     mkDerivation {
+       pname = "plot-light";
+       version = "0.3.3.2";
+       sha256 = "0im5rw52aim1zspisdar87gyn1ar4dkk52ipcq0s41pcycbwib12";
+       libraryHaskellDepends = [
+         base blaze-svg colour containers data-default-class mtl scientific
+         text time
+       ];
+       testHaskellDepends = [ base hspec QuickCheck ];
+       homepage = "https://github.com/ocramz/plot-light";
+       description = "A lightweight plotting library, exporting to SVG";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "plot-light-examples" = callPackage
+    ({ mkDerivation, attoparsec, attoparsec-time, base, blaze-svg
+     , colour, plot-light, scientific, text, time
+     }:
+     mkDerivation {
+       pname = "plot-light-examples";
+       version = "0.2.0.0";
+       sha256 = "0sw7hxp96s8sbaghs3lzl856q72y0gxn58px0wd4568fdbvgd6vl";
+       isLibrary = true;
+       isExecutable = true;
+       enableSeparateDataOutput = true;
+       libraryHaskellDepends = [ attoparsec base ];
+       executableHaskellDepends = [
+         attoparsec attoparsec-time base blaze-svg colour plot-light
+         scientific text time
+       ];
+       homepage = "https://github.com/ocramz/plot-light-examples";
+       description = "Example binaries for plot-light";
+       license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
@@ -159811,8 +163866,8 @@ self: {
      }:
      mkDerivation {
        pname = "ploton";
-       version = "1.1.2.0";
-       sha256 = "11a4kij1bz38bklaanlsyzwdvps7v9c0c8w4yblmxxdwxwdfvi6g";
+       version = "1.1.3.0";
+       sha256 = "1bq2qnzlms6j6hl7d728h5mc672h0lpbxcxfh2bz327nhhqid3hn";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -159823,7 +163878,6 @@ self: {
        homepage = "https://github.com/ishiy1993/ploton#readme";
        description = "A useful cli tool to draw figures";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "plots" = callPackage
@@ -159850,6 +163904,7 @@ self: {
        homepage = "http://github.com/cchalmers/plots";
        description = "Diagrams based plotting library";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "plotserver-api" = callPackage
@@ -159878,7 +163933,6 @@ self: {
        homepage = "https://github.com/stepcut/plugins";
        description = "Dynamic linking for Haskell and C objects";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "plugins-auto" = callPackage
@@ -159926,7 +163980,18 @@ self: {
        libraryHaskellDepends = [ base template-haskell ];
        description = "Pointless plumbing combinators";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "plural" = callPackage
+    ({ mkDerivation, base, bytestring, containers, hspec }:
+     mkDerivation {
+       pname = "plural";
+       version = "0.0.2";
+       sha256 = "1f35w7rzwq6f1zzdpglij41ra8pwyzjklv2pbnpmbp9q6rpi836p";
+       libraryHaskellDepends = [ base bytestring containers ];
+       testHaskellDepends = [ base hspec ];
+       description = "Pluralize";
+       license = stdenv.lib.licenses.bsd3;
      }) {};
 
   "ply-loader" = callPackage
@@ -160142,7 +164207,6 @@ self: {
        ];
        description = "Tool for refactoring expressions into pointfree form";
        license = "unknown";
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "pointfree-fancy" = callPackage
@@ -160151,8 +164215,10 @@ self: {
      }:
      mkDerivation {
        pname = "pointfree-fancy";
-       version = "1.1.1.4";
-       sha256 = "1llqlxcgafbgzb84gzgwldb0lsa9nnqsn3irbrlljralx2zfhxk3";
+       version = "1.1.1.7";
+       sha256 = "1xw2p96ghclfxmc12kwxyh25r5k9k6h3zriaf38wz5d3j36npa7w";
+       revision = "1";
+       editedCabalFile = "0mdanymbifnxc85z3aixmn5v08kxa1fjazadrhc0jjf5y110sxc2";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -160166,7 +164232,7 @@ self: {
          transformers
        ];
        description = "Tool for refactoring expressions into pointfree form";
-       license = "unknown";
+       license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
@@ -160176,10 +164242,8 @@ self: {
      }:
      mkDerivation {
        pname = "pointful";
-       version = "1.0.9";
-       sha256 = "1mmc7kjspak2597d9jzkqgga4gh9v5dljkifbgminx8rchiq263a";
-       revision = "1";
-       editedCabalFile = "13lwn5zy44cbmax8ic1j8dhrzn7hxws5mcjrjyjwqcn2abmwc2js";
+       version = "1.0.11.0";
+       sha256 = "0kz786xp2sjl6ldbbfg3ln8l6nib6i8lw0d15hqr6yawrnf32qr2";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -160189,6 +164253,7 @@ self: {
        homepage = "http://github.com/23Skidoo/pointful";
        description = "Pointful refactoring tool";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "pointless-fun" = callPackage
@@ -160392,6 +164457,18 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "poly-cont" = callPackage
+    ({ mkDerivation, base, mtl, transformers }:
+     mkDerivation {
+       pname = "poly-cont";
+       version = "0.1.0.0";
+       sha256 = "05pkz6v2xyva73ibb5v97c7fh5zjpvkhahfgnnxycrlnsag5ckgy";
+       libraryHaskellDepends = [ base mtl transformers ];
+       description = "Poly-kinded continuations";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "poly-control" = callPackage
     ({ mkDerivation, base, lens }:
      mkDerivation {
@@ -160605,8 +164682,8 @@ self: {
      }:
      mkDerivation {
        pname = "pomaps";
-       version = "0.0.0.3";
-       sha256 = "1gxfaqcg6d9wkm67d8rrjvigy9kvvh9403v3jk790x9pfydcjvym";
+       version = "0.0.0.4";
+       sha256 = "0mjfzj2j8b6337ivvnry7ylrw5g1ajxpqqzar1wmscm73ybr0xbn";
        libraryHaskellDepends = [
          base containers deepseq ghc-prim lattices
        ];
@@ -160877,8 +164954,8 @@ self: {
      }:
      mkDerivation {
        pname = "poppler";
-       version = "0.14.1";
-       sha256 = "1djx8qj68md11kdgcljd7mq3bidw6ynh9mwfxm9bj7kr2h57lmsv";
+       version = "0.14.2";
+       sha256 = "17q8br6w9v7vcz8ricvlrhhaw0ngka9w0i0jazr7m1j0dv1m4xsf";
        enableSeparateDataOutput = true;
        setupHaskellDepends = [ base Cabal gtk2hs-buildtools ];
        libraryHaskellDepends = [
@@ -161103,8 +165180,8 @@ self: {
      }:
      mkDerivation {
        pname = "posix-paths";
-       version = "0.2.1.3";
-       sha256 = "1z5brmqraz2smpgbp3ldd9da0cz78glc8bfc5l6842qgc588iljp";
+       version = "0.2.1.5";
+       sha256 = "1pyi25gz2r3pc64f1i5awyp3mg5w74ik9wh5s9i9hs7bfmkjk1as";
        libraryHaskellDepends = [ base bytestring unix ];
        testHaskellDepends = [
          base bytestring doctest HUnit QuickCheck unix
@@ -161151,8 +165228,8 @@ self: {
      }:
      mkDerivation {
        pname = "posix-socket";
-       version = "0.2";
-       sha256 = "0ivgvpdjwiwniw7xbmlab7myhy5a631liq4864plhkrkm3hcp44y";
+       version = "0.3";
+       sha256 = "0al0am4nnzaiknxhlfid1qafh5kh15vl13ba1w0bivcsiyfb62in";
        libraryHaskellDepends = [
          base bytestring data-default-class data-flags network-ip
          transformers-base unix
@@ -161349,8 +165426,8 @@ self: {
      }:
      mkDerivation {
        pname = "postgresql-connector";
-       version = "0.2.4";
-       sha256 = "0ly6p75c7vsrwlc7zsb91k19ffz0va6xc38djyc184qlji52hr1w";
+       version = "0.2.5";
+       sha256 = "0ilw7z16jzlys3pv4bvdd5ajprq4dbzgg3ivwpgzxrpnh2mfjkqq";
        libraryHaskellDepends = [
          base bytestring exceptions lens mtl postgresql-simple resource-pool
          resourcet time transformers-base
@@ -161396,11 +165473,12 @@ self: {
      }) {};
 
   "postgresql-libpq" = callPackage
-    ({ mkDerivation, base, bytestring, postgresql, unix }:
+    ({ mkDerivation, base, bytestring, Cabal, postgresql, unix }:
      mkDerivation {
        pname = "postgresql-libpq";
-       version = "0.9.4.0";
-       sha256 = "15laa8m6i4girhr0i3xscgsl30iqj61mx5vbl67wasb8rwx0pi82";
+       version = "0.9.4.1";
+       sha256 = "0ssn12cs643nd1bliaks0l0ssainydsrzjr3l5p7hm3wnqwa77qd";
+       setupHaskellDepends = [ base Cabal ];
        libraryHaskellDepends = [ base bytestring unix ];
        librarySystemDepends = [ postgresql ];
        homepage = "https://github.com/lpsmith/postgresql-libpq";
@@ -161456,7 +165534,7 @@ self: {
 
   "postgresql-query" = callPackage
     ({ mkDerivation, aeson, attoparsec, base, blaze-builder, bytestring
-     , containers, data-default, derive, either, exceptions, file-embed
+     , containers, data-default, derive, exceptions, file-embed
      , haskell-src-meta, hreader, hset, inflections, monad-control
      , monad-logger, mtl, postgresql-simple, QuickCheck
      , quickcheck-assertions, quickcheck-instances, resource-pool
@@ -161466,12 +165544,12 @@ self: {
      }:
      mkDerivation {
        pname = "postgresql-query";
-       version = "3.3.0";
-       sha256 = "0ilny7vj5ch77kic1bmpm160phv3yxm1cd3ksj6j8gc2nvaysrr8";
+       version = "3.4.0";
+       sha256 = "1f69rjwhww6knivk8gkx82b8xp8hkg0mhb9z2lm69vv3k5fxv8mb";
        libraryHaskellDepends = [
          aeson attoparsec base blaze-builder bytestring containers
-         data-default either exceptions file-embed haskell-src-meta hreader
-         hset inflections monad-control monad-logger mtl postgresql-simple
+         data-default exceptions file-embed haskell-src-meta hreader hset
+         inflections monad-control monad-logger mtl postgresql-simple
          resource-pool semigroups template-haskell text th-lift
          th-lift-instances time transformers transformers-base
          transformers-compat type-fun
@@ -161507,7 +165585,6 @@ self: {
        homepage = "https://github.com/mfine/postgresql-schema";
        description = "PostgreSQL Schema Management";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "postgresql-simple" = callPackage
@@ -161521,6 +165598,8 @@ self: {
        pname = "postgresql-simple";
        version = "0.5.3.0";
        sha256 = "0h8f4d09f25p0dlz2mxvgp5b5pr56hnhng3yhb69pmv0dmj7n38y";
+       revision = "1";
+       editedCabalFile = "1hvry7nhk629yas6nbm3wnyy0bgwh6r8511rmsq9r8xkl7qm76r2";
        libraryHaskellDepends = [
          aeson attoparsec base bytestring bytestring-builder
          case-insensitive containers hashable postgresql-libpq scientific
@@ -161666,10 +165745,8 @@ self: {
      }:
      mkDerivation {
        pname = "postgresql-simple-url";
-       version = "0.2.0.0";
-       sha256 = "0k7anqkw9gn5mm3y93pzp8rqzlg1526pxikcllxcciyhgpz5mn7p";
-       revision = "1";
-       editedCabalFile = "1z9qk3kplc5y93h3xbb9gialhdmnblwrmf2943wkj70qg975hajb";
+       version = "0.2.1.0";
+       sha256 = "1jg9gvpidrfy2hqixwqsym1l1mnkafmxwq58jpbzdmrbvryga1qk";
        libraryHaskellDepends = [
          base network-uri postgresql-simple split
        ];
@@ -161679,6 +165756,7 @@ self: {
        homepage = "https://github.com/futurice/postgresql-simple-url";
        description = "Parse postgres:// url into ConnectInfo";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "postgresql-syntax" = callPackage
@@ -161719,8 +165797,8 @@ self: {
      }:
      mkDerivation {
        pname = "postgresql-typed";
-       version = "0.5.2";
-       sha256 = "0ws9xmh199jsvdmxjxkhm59j05ljfsrf16xchkbxqd8p1pg8786c";
+       version = "0.5.3.0";
+       sha256 = "0apq662lhkjc1xl4alpz20yz20x6mf3gz6li7wb86sp94441rh5k";
        libraryHaskellDepends = [
          aeson array attoparsec base binary bytestring containers cryptonite
          haskell-src-meta HDBC memory network old-locale postgresql-binary
@@ -161874,6 +165952,7 @@ self: {
        homepage = "https://github.com/apiengine/postmark";
        description = "Library for postmarkapp.com HTTP Api";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "postmark-streams" = callPackage
@@ -161909,6 +165988,7 @@ self: {
        homepage = "http://github.com/peti/postmaster";
        description = "Postmaster ESMTP Server";
        license = "GPL";
+       maintainers = with stdenv.lib.maintainers; [ peti ];
      }) {};
 
   "potato-tool" = callPackage
@@ -161928,17 +166008,19 @@ self: {
 
   "potoki" = callPackage
     ({ mkDerivation, attoparsec, base, base-prelude, bytestring
-     , directory, foldl, hashable, potoki-core, profunctors, QuickCheck
-     , quickcheck-instances, random, rerebase, tasty, tasty-hunit
-     , tasty-quickcheck, text, unagi-chan, unordered-containers, vector
+     , directory, foldl, hashable, potoki-core, profunctors, ptr
+     , QuickCheck, quickcheck-instances, random, rerebase, tasty
+     , tasty-hunit, tasty-quickcheck, text, transformers, unagi-chan
+     , unordered-containers, vector
      }:
      mkDerivation {
        pname = "potoki";
-       version = "0.9";
-       sha256 = "1sxzxg1dpm3280x5vp47pc6faik9dpfn7qp4pwvbkvwq90l32pv8";
+       version = "0.11.3";
+       sha256 = "134wy711qnkrwa9c78d7lv8vnc3b5a2dqyslzvs59xqx4csh61xj";
        libraryHaskellDepends = [
          attoparsec base base-prelude bytestring directory foldl hashable
-         potoki-core profunctors text unagi-chan unordered-containers vector
+         potoki-core profunctors ptr text transformers unagi-chan
+         unordered-containers vector
        ];
        testHaskellDepends = [
          attoparsec QuickCheck quickcheck-instances random rerebase tasty
@@ -161956,8 +166038,8 @@ self: {
      }:
      mkDerivation {
        pname = "potoki-cereal";
-       version = "0.1.4";
-       sha256 = "0502ipxxdlmk4akc2fpsij3y91fi6q3rhrlzm3bf4kl5jfddvz7s";
+       version = "0.1.6";
+       sha256 = "0mr3wv8mx88xzbkcrndq833wcq753dyp9z4610pxa34cfalnbvhf";
        libraryHaskellDepends = [
          base base-prelude bytestring cereal potoki potoki-core text
        ];
@@ -161974,8 +166056,8 @@ self: {
      }:
      mkDerivation {
        pname = "potoki-core";
-       version = "1.5.1";
-       sha256 = "1c357c5a34k9nd3wjyg246kcc4lfwrrfl01pki2ksdidw9xwclij";
+       version = "1.5.2";
+       sha256 = "1qkr3g7xfbkmvy2a4gcy0zxg22000mxdgw0dapq16pymj9wqf2si";
        libraryHaskellDepends = [ base profunctors stm ];
        testHaskellDepends = [
          QuickCheck quickcheck-instances rerebase tasty tasty-hunit
@@ -161987,6 +166069,23 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "potoki-hasql" = callPackage
+    ({ mkDerivation, base, bytestring, hasql, potoki, potoki-core
+     , profunctors, text, vector
+     }:
+     mkDerivation {
+       pname = "potoki-hasql";
+       version = "1.3";
+       sha256 = "0n8ysdcg8p40idbbnyrmhjyh1hxhg7nrv5yf03fb0cvx5mwdgh11";
+       libraryHaskellDepends = [
+         base bytestring hasql potoki potoki-core profunctors text vector
+       ];
+       homepage = "https://github.com/metrix-ai/potoki-hasql";
+       description = "Integration of \"potoki\" and \"hasql\"";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "potrace" = callPackage
     ({ mkDerivation, base, bindings-potrace, bytestring, containers
      , data-default, JuicyPixels, vector
@@ -162015,6 +166114,7 @@ self: {
        homepage = "http://projects.haskell.org/diagrams/";
        description = "Potrace bindings for the diagrams library";
        license = stdenv.lib.licenses.gpl2;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "powermate" = callPackage
@@ -162104,6 +166204,7 @@ self: {
        homepage = "https://github.com/agrafix/powerqueue#readme";
        description = "A high performance in memory and LevelDB backend for powerqueue";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {inherit (pkgs) leveldb; inherit (pkgs) snappy;};
 
   "powerqueue-sqs" = callPackage
@@ -162118,6 +166219,7 @@ self: {
        homepage = "https://github.com/agrafix/powerqueue#readme";
        description = "A Amazon SQS backend for powerqueue";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "ppm" = callPackage
@@ -162153,6 +166255,30 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "pptable_0_3_0_0" = callPackage
+    ({ mkDerivation, base, boxes, containers, generic-deriving, HUnit
+     , markdown-unlit, pretty, QuickCheck, syb, tasty, tasty-hunit
+     , tasty-quickcheck, vector
+     }:
+     mkDerivation {
+       pname = "pptable";
+       version = "0.3.0.0";
+       sha256 = "05wkvnk2h3xvjivk8cd6z8xlscipvd2az1v1n4sdianf9r0gzdwq";
+       revision = "1";
+       editedCabalFile = "0c1srvgwyczbfnw3zw5pbsjqgxifq9yb1h60w3aq91q7iamrvdgb";
+       libraryHaskellDepends = [
+         base boxes containers generic-deriving pretty syb vector
+       ];
+       testHaskellDepends = [
+         base boxes containers HUnit markdown-unlit QuickCheck tasty
+         tasty-hunit tasty-quickcheck vector
+       ];
+       homepage = "https://github.com/gdevanla/pptable#readme";
+       description = "Pretty Print containers in a tabular format";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "pqc" = callPackage
     ({ mkDerivation, base, QuickCheck, random, stm }:
      mkDerivation {
@@ -162170,25 +166296,12 @@ self: {
     ({ mkDerivation, base, deepseq, QuickCheck }:
      mkDerivation {
        pname = "pqueue";
-       version = "1.3.2.3";
-       sha256 = "062l0vm4yymlm7vahczczpm29awgaksv0sdy532g7jlspi78nara";
-       libraryHaskellDepends = [ base deepseq ];
-       testHaskellDepends = [ base deepseq QuickCheck ];
-       description = "Reliable, persistent, fast priority queues";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "pqueue_1_4_1_1" = callPackage
-    ({ mkDerivation, base, deepseq, QuickCheck }:
-     mkDerivation {
-       pname = "pqueue";
        version = "1.4.1.1";
        sha256 = "1zvwm1zcqqq5n101s1brjhgbay8rf9fviq6gxbplf40i63m57p1x";
        libraryHaskellDepends = [ base deepseq ];
        testHaskellDepends = [ base deepseq QuickCheck ];
        description = "Reliable, persistent, fast priority queues";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "pqueue-mtl" = callPackage
@@ -162269,27 +166382,23 @@ self: {
   "preamble" = callPackage
     ({ mkDerivation, aeson, base, basic-prelude, exceptions
      , fast-logger, lens, lifted-base, monad-control, monad-logger
-     , MonadRandom, mtl, network, resourcet, safe, shakers
-     , template-haskell, text, text-manipulate, time, transformers-base
+     , MonadRandom, mtl, network, resourcet, safe, template-haskell
+     , text, text-manipulate, time, transformers-base
      , unordered-containers, uuid
      }:
      mkDerivation {
        pname = "preamble";
-       version = "0.0.59";
-       sha256 = "0i9blxkdjm4fm288qr6isl3jyjrw6x6x58z6lvaj62xr3y4rqd43";
-       isLibrary = true;
-       isExecutable = true;
+       version = "0.0.61";
+       sha256 = "16zs8mqmbvzi4pmjqmga3d17mjk6kriclv3qg3rxhs3rd2gyipqa";
        libraryHaskellDepends = [
          aeson base basic-prelude exceptions fast-logger lens lifted-base
          monad-control monad-logger MonadRandom mtl network resourcet safe
          template-haskell text text-manipulate time transformers-base
          unordered-containers uuid
        ];
-       executableHaskellDepends = [ base shakers ];
        homepage = "https://github.com/swift-nav/preamble";
        description = "Yet another prelude";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "precis" = callPackage
@@ -162371,6 +166480,47 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "pred-trie_0_6_0_1" = callPackage
+    ({ mkDerivation, attoparsec, base, containers, criterion, deepseq
+     , errors, hashable, hashtables, mtl, poly-arity, pred-set
+     , QuickCheck, semigroups, sets, strict, tasty, tasty-hunit
+     , tasty-quickcheck, text, tries, unordered-containers
+     }:
+     mkDerivation {
+       pname = "pred-trie";
+       version = "0.6.0.1";
+       sha256 = "0hymhjh7idpibzdx0214laf0zjf3a4anhsmxn0p5g9xkgh7l7m72";
+       libraryHaskellDepends = [
+         base containers deepseq hashable hashtables mtl poly-arity pred-set
+         QuickCheck semigroups strict tries unordered-containers
+       ];
+       testHaskellDepends = [
+         attoparsec base containers deepseq errors hashable hashtables mtl
+         poly-arity pred-set QuickCheck semigroups strict tasty tasty-hunit
+         tasty-quickcheck text tries unordered-containers
+       ];
+       benchmarkHaskellDepends = [
+         attoparsec base containers criterion deepseq hashable hashtables
+         mtl poly-arity pred-set QuickCheck semigroups sets strict text
+         tries unordered-containers
+       ];
+       homepage = "https://github.com/athanclark/pred-trie#readme";
+       description = "Predicative tries";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "predicate-class" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "predicate-class";
+       version = "0.1.0.1";
+       sha256 = "03rw51jpfcl827nrv1fxlghqwg0mk89l1rkqwd743lnsydwzi15h";
+       libraryHaskellDepends = [ base ];
+       description = "Helper class for passing context along a predicate value";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "predicates" = callPackage
     ({ mkDerivation, base }:
      mkDerivation {
@@ -162445,8 +166595,8 @@ self: {
     ({ mkDerivation, base, hspec, regex-pcre-builtin }:
      mkDerivation {
        pname = "prefix-expression";
-       version = "1.2.4";
-       sha256 = "03gnfh84vpd66i8mnnx5y1ci20p7ykic9cnnsvz3bddfvwp4silr";
+       version = "1.2.6";
+       sha256 = "0brw6rrykfsg67ckcfs3d5x4n7m8c6vbnh9hqrk1iq9whlz6vpwy";
        libraryHaskellDepends = [ base regex-pcre-builtin ];
        testHaskellDepends = [ base hspec ];
        homepage = "https://github.com/VonFry/prefix-expression";
@@ -162534,6 +166684,7 @@ self: {
        homepage = "http://github.com/kerscher/preliminaries";
        description = "A larger alternative to the Prelude";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "prelude-compat" = callPackage
@@ -162685,6 +166836,19 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "preprocessor-tools_2_0_2" = callPackage
+    ({ mkDerivation, base, mtl, parsec, syb }:
+     mkDerivation {
+       pname = "preprocessor-tools";
+       version = "2.0.2";
+       sha256 = "0m825wnz7vs3as10glfzy7j0laf6j9w566isly95005gj2sb0lwp";
+       libraryHaskellDepends = [ base mtl parsec syb ];
+       homepage = "https://github.com/tov/preprocessor-tools-hs";
+       description = "A framework for extending Haskell's syntax via quick-and-dirty preprocessors";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "presburger" = callPackage
     ({ mkDerivation, base, containers, pretty, QuickCheck }:
      mkDerivation {
@@ -162791,6 +166955,8 @@ self: {
        pname = "pretty-compact";
        version = "3.0";
        sha256 = "06m8n5rx1d62hwd017ss8nlxas5ia57lgxddm2hv2046938a5wm8";
+       revision = "2";
+       editedCabalFile = "04c309cdfrfwh031g8syyrwwn0lxdjj9f7d8szabscm19zwbi399";
        libraryHaskellDepends = [ base base-compat containers ];
        benchmarkHaskellDepends = [
          aeson base base-compat bytestring criterion deepseq pretty text
@@ -162852,6 +167018,25 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "pretty-relative-time" = callPackage
+    ({ mkDerivation, base, genvalidity-hspec, genvalidity-time, hspec
+     , QuickCheck, time, validity, validity-time
+     }:
+     mkDerivation {
+       pname = "pretty-relative-time";
+       version = "0.0.0.0";
+       sha256 = "0k28jh5mw5qfw4d1hfdj2f53qwmn3apy1yxwyxjbr50m2924j8f2";
+       libraryHaskellDepends = [ base time validity validity-time ];
+       testHaskellDepends = [
+         base genvalidity-hspec genvalidity-time hspec QuickCheck time
+         validity validity-time
+       ];
+       homepage = "https://github.com/NorfairKing/pretty-relative-time#readme";
+       description = "Pretty relative time";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "pretty-show" = callPackage
     ({ mkDerivation, array, base, filepath, ghc-prim, happy
      , haskell-lexer, pretty
@@ -162901,8 +167086,8 @@ self: {
      }:
      mkDerivation {
        pname = "pretty-simple";
-       version = "2.0.2.1";
-       sha256 = "16hnx6ra46m9i0q12b1xlbizv0vm76sqmfgj7w2l4ghw8ddciy8f";
+       version = "2.1.0.0";
+       sha256 = "1jiq9l2zlgk3yzy6mif84fdzvwx3vzzbsh9zvwdph12zxa2y4b68";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -162994,31 +167179,6 @@ self: {
      }:
      mkDerivation {
        pname = "prettyprinter";
-       version = "1.1.1";
-       sha256 = "1kzfgwpsg3br3dkvqjhldv1bjqw7k8sg3xqinkk3c1219pk2xcx0";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [ base text ];
-       testHaskellDepends = [
-         base bytestring doctest pgp-wordlist tasty tasty-hunit
-         tasty-quickcheck text
-       ];
-       benchmarkHaskellDepends = [
-         ansi-wl-pprint base containers criterion deepseq mtl QuickCheck
-         random text transformers
-       ];
-       homepage = "http://github.com/quchen/prettyprinter";
-       description = "A modern, easy to use, well-documented, extensible prettyprinter";
-       license = stdenv.lib.licenses.bsd2;
-     }) {};
-
-  "prettyprinter_1_2_0_1" = callPackage
-    ({ mkDerivation, ansi-wl-pprint, base, bytestring, containers
-     , criterion, deepseq, doctest, mtl, pgp-wordlist, QuickCheck
-     , random, tasty, tasty-hunit, tasty-quickcheck, text, transformers
-     }:
-     mkDerivation {
-       pname = "prettyprinter";
        version = "1.2.0.1";
        sha256 = "0rh5bb6inq4yvv6r53sc1q3msmpvjcq8fw4sn3vwivrq44c7nf8i";
        isLibrary = true;
@@ -163035,7 +167195,6 @@ self: {
        homepage = "http://github.com/quchen/prettyprinter";
        description = "A modern, easy to use, well-documented, extensible prettyprinter";
        license = stdenv.lib.licenses.bsd2;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "prettyprinter-ansi-terminal" = callPackage
@@ -163147,12 +167306,24 @@ self: {
      }) {};
 
   "prim-array" = callPackage
-    ({ mkDerivation, base, ghc-prim, primitive }:
+    ({ mkDerivation, base, ghc-prim, primitive, semigroups }:
      mkDerivation {
        pname = "prim-array";
-       version = "0.2.1";
-       sha256 = "1ng4yhlv12h84gvz7ll9dkk8sydidb31da836y1q9ygdnhh7ipaf";
-       libraryHaskellDepends = [ base ghc-prim primitive ];
+       version = "0.2.2";
+       sha256 = "0lr7qni6wfiazn2gj6hnlkfzxdwvfhfqfkacj43w26s34irda4g3";
+       libraryHaskellDepends = [ base ghc-prim primitive semigroups ];
+       homepage = "https://github.com/andrewthad/prim-array#readme";
+       description = "Primitive byte array with type variable";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "prim-ref" = callPackage
+    ({ mkDerivation, base, ghc-prim, primitive, semigroups }:
+     mkDerivation {
+       pname = "prim-ref";
+       version = "0.1";
+       sha256 = "0fyjxpk4xllkh3r5b7fbb4sb6whxwbdm5lr9zn44qb9v4g0nx2d8";
+       libraryHaskellDepends = [ base ghc-prim primitive semigroups ];
        homepage = "https://github.com/andrewthad/prim-array#readme";
        description = "Primitive byte array with type variable";
        license = stdenv.lib.licenses.bsd3;
@@ -163257,6 +167428,18 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "primitive-checked" = callPackage
+    ({ mkDerivation, base, primitive }:
+     mkDerivation {
+       pname = "primitive-checked";
+       version = "0.6.3.0";
+       sha256 = "02097f658qidmcfaisrcl4k3vmipx8w8p6mcbnajc8ndb3m58bbl";
+       libraryHaskellDepends = [ base primitive ];
+       homepage = "https://github.com/andrewthad/primitive-checked#readme";
+       description = "primitive functions with bounds-checking";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "primitive-simd" = callPackage
     ({ mkDerivation, base, criterion, deepseq, ghc-prim, primitive
      , random, vector
@@ -163467,7 +167650,6 @@ self: {
        executableHaskellDepends = [ base directory shelly text ];
        description = "Upload a package to the public or private hackage, building its docs";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "privileged-concurrency" = callPackage
@@ -163537,7 +167719,6 @@ self: {
        homepage = "http://github.com/alpmestan/probable";
        description = "Easy and reasonably efficient probabilistic programming and random generation";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "proc" = callPackage
@@ -163568,7 +167749,7 @@ self: {
        libraryHaskellDepends = [
          attoparsec base bytestring network unix
        ];
-       description = "Parse /proc/net/ tcp,tcp6,udp,udp6";
+       description = "Parse /proc/net/{tcp,tcp6,udp,udp6}";
        license = stdenv.lib.licenses.mit;
      }) {};
 
@@ -163606,6 +167787,7 @@ self: {
        homepage = "http://github.com/snoyberg/process-conduit";
        description = "Conduits for processes (deprecated)";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "process-extras" = callPackage
@@ -163723,8 +167905,8 @@ self: {
      }:
      mkDerivation {
        pname = "process-streaming";
-       version = "0.9.2.1";
-       sha256 = "1p1nfb09sg9krwm7k6j8y5ggbc28yddlkf2yifs06iqfkcmbsbm6";
+       version = "0.9.3.0";
+       sha256 = "06x2xcjbhwhnwyml8kxqa5wl89mr9fbbpgplysd68d01yhm2dnmr";
        libraryHaskellDepends = [
          base bifunctors bytestring conceit free kan-extensions pipes
          pipes-bytestring pipes-concurrency pipes-parse pipes-safe
@@ -163888,39 +168070,41 @@ self: {
     ({ mkDerivation, base, template-haskell, th-data-compat }:
      mkDerivation {
        pname = "product-isomorphic";
-       version = "0.0.3.1";
-       sha256 = "1vm502d3byxiyd01h3pddar9wvh522awvi3awsb34p8s2w01p70i";
+       version = "0.0.3.2";
+       sha256 = "1yqpfdbdq0zh69mbpgns8faj0ajc9a8wgp3c8sgn373py2as9jxl";
        libraryHaskellDepends = [ base template-haskell th-data-compat ];
+       testHaskellDepends = [ base template-haskell ];
        homepage = "http://github.com/khibino/haskell-product-isomorphic";
        description = "Weaken applicative functor on products";
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
   "product-profunctors" = callPackage
-    ({ mkDerivation, base, contravariant, profunctors, tagged
-     , template-haskell
+    ({ mkDerivation, base, bifunctors, contravariant, criterion
+     , deepseq, profunctors, tagged, template-haskell
      }:
      mkDerivation {
        pname = "product-profunctors";
-       version = "0.8.0.3";
-       sha256 = "1j8cqhx2691pxnb4kwwbm3a3fzq2lyaic00yy5g3112gpb3b392g";
+       version = "0.9.0.0";
+       sha256 = "1kzadxbhqyhhihp3m38pckbkyflhgianpvf08ybvry1ng73577jn";
        libraryHaskellDepends = [
-         base contravariant profunctors tagged template-haskell
+         base bifunctors contravariant profunctors tagged template-haskell
        ];
        testHaskellDepends = [ base profunctors ];
+       benchmarkHaskellDepends = [ base criterion deepseq ];
        homepage = "https://github.com/tomjaguarpaw/product-profunctors";
        description = "product-profunctors";
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "product-profunctors_0_9_0_0" = callPackage
+  "product-profunctors_0_10_0_0" = callPackage
     ({ mkDerivation, base, bifunctors, contravariant, criterion
      , deepseq, profunctors, tagged, template-haskell
      }:
      mkDerivation {
        pname = "product-profunctors";
-       version = "0.9.0.0";
-       sha256 = "1kzadxbhqyhhihp3m38pckbkyflhgianpvf08ybvry1ng73577jn";
+       version = "0.10.0.0";
+       sha256 = "0s0ssl2900r16992mgl0idkryg3l7psp8nljyg9brr7fqa3pd3dd";
        libraryHaskellDepends = [
          base bifunctors contravariant profunctors tagged template-haskell
        ];
@@ -163995,8 +168179,8 @@ self: {
      }:
      mkDerivation {
        pname = "profiteur";
-       version = "0.4.4.0";
-       sha256 = "08pnybyr6l39h7lxvgxi014wb7cf6i8qfygx4xkfzkj9p23mp3h9";
+       version = "0.4.5.0";
+       sha256 = "18wyq1czj99zxgqmv6v2qpwlax3a4r7d93pc24ihzg5v8ps6iz89";
        isLibrary = false;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -164007,6 +168191,7 @@ self: {
        homepage = "http://github.com/jaspervdj/profiteur";
        description = "Treemap visualiser for GHC prof files";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "profunctor-extras" = callPackage
@@ -164030,6 +168215,8 @@ self: {
        pname = "profunctors";
        version = "5.2.2";
        sha256 = "0s1pwjidbn761xk43pmzyvn99hm3psdifjd78ylki7f97aiyd0g9";
+       revision = "1";
+       editedCabalFile = "1g6fvxq2npnyi8wv9mvwy35an68lrm5bf7xmx9x61mbwdxb6d0cg";
        libraryHaskellDepends = [
          base base-orphans bifunctors comonad contravariant distributive
          semigroups tagged transformers
@@ -164331,20 +168518,25 @@ self: {
      }) {};
 
   "prologue" = callPackage
-    ({ mkDerivation, base, bifunctors, binary, cond, container, convert
-     , data-default, data-layer, errors, functor-utils, impossible, lens
-     , lens-utils, mtl, pretty-show, string-qq, text, transformers
-     , transformers-base, tuple, typelevel, vector
+    ({ mkDerivation, base, bifunctors, binary, comonad, cond, container
+     , convert, data-default, deepseq, deriving-compat, either, errors
+     , exceptions, functor-utils, ghc-prim, impossible, lens, lens-utils
+     , monoid, mtl, neat-interpolation, placeholders, pointed
+     , pretty-show, primitive, raw-strings-qq, recursion-schemes
+     , semigroupoids, string-qq, template-haskell, text, transformers
+     , transformers-base, typelevel, vector
      }:
      mkDerivation {
        pname = "prologue";
-       version = "1.0.7";
-       sha256 = "0nwk6m93c2mgzagzad1zkp5p6wnjdz668bw109vwwb0yi23c3s1p";
+       version = "3.2.2";
+       sha256 = "1sswdhbfgh2pnhyixj03khp5ylsxkyisghyg0mqgb039kq1lxxci";
        libraryHaskellDepends = [
-         base bifunctors binary cond container convert data-default
-         data-layer errors functor-utils impossible lens lens-utils mtl
-         pretty-show string-qq text transformers transformers-base tuple
-         typelevel vector
+         base bifunctors binary comonad cond container convert data-default
+         deepseq deriving-compat either errors exceptions functor-utils
+         ghc-prim impossible lens lens-utils monoid mtl neat-interpolation
+         placeholders pointed pretty-show primitive raw-strings-qq
+         recursion-schemes semigroupoids string-qq template-haskell text
+         transformers transformers-base typelevel vector
        ];
        homepage = "https://github.com/wdanilo/prologue";
        description = "Better, more general Prelude exporting common utilities";
@@ -164368,6 +168560,7 @@ self: {
        homepage = "http://github.com/bitnomial/prometheus";
        description = "Prometheus Haskell Client";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "prometheus-client" = callPackage
@@ -164478,6 +168671,18 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "proof-combinators" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "proof-combinators";
+       version = "0.1.0.0";
+       sha256 = "1wcm5wxzqm4lq340l3ga15cmjfabpf8njnvma3zagwyhmndabxfw";
+       libraryHaskellDepends = [ base ];
+       homepage = "http://nikivazou.github.io/";
+       description = "Proof Combinators used in Liquid Haskell for Theorem Proving";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "propane" = callPackage
     ({ mkDerivation, base, colour, containers, directory, filepath
      , repa, repa-devil, spawn
@@ -164502,8 +168707,8 @@ self: {
      }:
      mkDerivation {
        pname = "propellor";
-       version = "5.3.3";
-       sha256 = "16gj3mc76ld19s58mldx3zsxn9z0xya543906x5hvr1qv6w1sw61";
+       version = "5.3.5";
+       sha256 = "0x6whnn53grfkjqybn91kfsr69w3r9mk9r39yzwx35skwkqj3vb9";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -164511,11 +168716,7 @@ self: {
          filepath hashable hslogger IfElse mtl network process split stm
          text time transformers unix unix-compat
        ];
-       executableHaskellDepends = [
-         ansi-terminal async base bytestring containers directory exceptions
-         filepath hashable hslogger IfElse mtl network process split stm
-         text time transformers unix unix-compat
-       ];
+       executableHaskellDepends = [ base ];
        homepage = "https://propellor.branchable.com/";
        description = "property-based host configuration management in haskell";
        license = stdenv.lib.licenses.bsd2;
@@ -164632,6 +168833,26 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "proto-lens_0_3_1_0" = callPackage
+    ({ mkDerivation, attoparsec, base, bytestring, containers
+     , data-default-class, deepseq, lens-family, lens-labels, parsec
+     , pretty, text, transformers, void
+     }:
+     mkDerivation {
+       pname = "proto-lens";
+       version = "0.3.1.0";
+       sha256 = "1awlp7101vhqf2hhz3h93mf38lyyfx5ay3gvrdna0k3msykimgw7";
+       enableSeparateDataOutput = true;
+       libraryHaskellDepends = [
+         attoparsec base bytestring containers data-default-class deepseq
+         lens-family lens-labels parsec pretty text transformers void
+       ];
+       homepage = "https://github.com/google/proto-lens#readme";
+       description = "A lens-based implementation of protocol buffers in Haskell";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "proto-lens-arbitrary" = callPackage
     ({ mkDerivation, base, bytestring, containers, lens-family
      , proto-lens, QuickCheck, text
@@ -164648,6 +168869,23 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "proto-lens-arbitrary_0_1_2_1" = callPackage
+    ({ mkDerivation, base, bytestring, containers, lens-family
+     , proto-lens, QuickCheck, text
+     }:
+     mkDerivation {
+       pname = "proto-lens-arbitrary";
+       version = "0.1.2.1";
+       sha256 = "08qwn60pih64lk6xnqwzx3q1qja46pvaw6539r1m4kbw3wyh2kl2";
+       libraryHaskellDepends = [
+         base bytestring containers lens-family proto-lens QuickCheck text
+       ];
+       homepage = "https://github.com/google/proto-lens#readme";
+       description = "Arbitrary instances for proto-lens";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "proto-lens-combinators" = callPackage
     ({ mkDerivation, base, Cabal, data-default-class, HUnit
      , lens-family, lens-family-core, proto-lens, proto-lens-protoc
@@ -164655,18 +168893,17 @@ self: {
      }:
      mkDerivation {
        pname = "proto-lens-combinators";
-       version = "0.1.0.8";
-       sha256 = "0byz61d1xd1khksvh170q7a7qvziigxf76ngcsd650fahqaardzz";
+       version = "0.1.0.10";
+       sha256 = "0yv6wrg3wsp6617mw02n3d9gmlb9nyvfabffrznpvlaywwk8cnir";
        setupHaskellDepends = [ base Cabal proto-lens-protoc ];
        libraryHaskellDepends = [
-         base data-default-class lens-family proto-lens proto-lens-protoc
-         transformers
+         base data-default-class lens-family proto-lens-protoc transformers
        ];
        testHaskellDepends = [
          base HUnit lens-family lens-family-core proto-lens
          proto-lens-protoc test-framework test-framework-hunit
        ];
-       homepage = "https://github.com/google/proto-lens";
+       homepage = "https://github.com/google/proto-lens#readme";
        description = "Utilities functions to proto-lens";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -164692,12 +168929,12 @@ self: {
     ({ mkDerivation, base, optparse-applicative, proto-lens, text }:
      mkDerivation {
        pname = "proto-lens-optparse";
-       version = "0.1.0.4";
-       sha256 = "1wywg2jzc35483qlqxy1a4ms6v6cb08d10z4pgwb50ljv5hqlwwb";
+       version = "0.1.1.1";
+       sha256 = "1zi6kv6af39bbbcf2v7d1l2fc2f3m6r1i2yvv4ddm6w0i7vhd1qw";
        libraryHaskellDepends = [
          base optparse-applicative proto-lens text
        ];
-       homepage = "https://github.com/google/proto-lens";
+       homepage = "https://github.com/google/proto-lens#readme";
        description = "Adapting proto-lens to optparse-applicative ReadMs";
        license = stdenv.lib.licenses.bsd3;
      }) {};
@@ -164708,13 +168945,13 @@ self: {
      }:
      mkDerivation {
        pname = "proto-lens-protobuf-types";
-       version = "0.2.2.0";
-       sha256 = "0b6n7qwyxql7966accdg0ms5mmxygjy1jx31j5bgdpkdayz4hf72";
+       version = "0.3.0.1";
+       sha256 = "0630yl73s11dnfripbz5pa25mzpsnjzd278qcm5yiy6zmcz0a6ca";
        setupHaskellDepends = [ base Cabal proto-lens-protoc ];
        libraryHaskellDepends = [
          base lens-family proto-lens proto-lens-protoc text
        ];
-       homepage = "https://github.com/google/proto-lens";
+       homepage = "https://github.com/google/proto-lens#readme";
        description = "Basic protocol buffer message types";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -164722,27 +168959,29 @@ self: {
 
   "proto-lens-protoc" = callPackage
     ({ mkDerivation, base, bytestring, Cabal, containers
-     , data-default-class, directory, filepath, haskell-src-exts
-     , lens-family, lens-labels, process, proto-lens
-     , proto-lens-descriptors, text
+     , data-default-class, deepseq, directory, filepath
+     , haskell-src-exts, lens-family, lens-labels, pretty, process
+     , proto-lens, text
      }:
      mkDerivation {
        pname = "proto-lens-protoc";
-       version = "0.2.2.3";
-       sha256 = "08s93h25l66z7w45jmy632lhhkddqarj94bpwn3wmv5kdpsp33pq";
+       version = "0.3.1.0";
+       sha256 = "0hihwynqlxhbc7280v7syag0p5php4gdvchbpzvwl54hvcjakgvx";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         base bytestring Cabal containers data-default-class directory
-         filepath haskell-src-exts lens-family lens-labels process
-         proto-lens proto-lens-descriptors text
+         base bytestring Cabal containers data-default-class deepseq
+         directory filepath haskell-src-exts lens-family lens-labels pretty
+         process proto-lens text
        ];
        executableHaskellDepends = [
-         base bytestring containers data-default-class filepath
-         haskell-src-exts lens-family proto-lens proto-lens-descriptors text
+         base bytestring containers data-default-class deepseq filepath
+         haskell-src-exts lens-family proto-lens text
        ];
+       homepage = "https://github.com/google/proto-lens#readme";
        description = "Protocol buffer compiler for the proto-lens library";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "protobuf" = callPackage
@@ -164765,7 +169004,6 @@ self: {
        homepage = "https://github.com/alphaHeavy/protobuf";
        description = "Google Protocol Buffers via GHC.Generics";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "protobuf-native" = callPackage
@@ -164825,8 +169063,8 @@ self: {
      }:
      mkDerivation {
        pname = "protocol-buffers";
-       version = "2.4.7";
-       sha256 = "1db2r961qmrcvcqs53imjw16cawn7hjcicxhygszk0mg538v7rh9";
+       version = "2.4.9";
+       sha256 = "0d6j5k8mfxnixx9n6v7vwncy49cx9sxkhjgh1g7sbs1q15rxkn6m";
        libraryHaskellDepends = [
          array base binary bytestring containers directory filepath mtl
          parsec syb utf8-string
@@ -164836,45 +169074,12 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "protocol-buffers_2_4_8" = callPackage
-    ({ mkDerivation, array, base, binary, bytestring, containers
-     , directory, filepath, mtl, parsec, syb, utf8-string
-     }:
-     mkDerivation {
-       pname = "protocol-buffers";
-       version = "2.4.8";
-       sha256 = "0inwj82pqbfqbgrzbs47g51k5nkx74hvbr76qc0a7kq0ss0rgnyb";
-       libraryHaskellDepends = [
-         array base binary bytestring containers directory filepath mtl
-         parsec syb utf8-string
-       ];
-       homepage = "https://github.com/k-bx/protocol-buffers";
-       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 {
        pname = "protocol-buffers-descriptor";
-       version = "2.4.7";
-       sha256 = "1k11bgwg2345y4a7ib6h3410y6088whlxc6s9iy0whpbkhwi7lq0";
-       enableSeparateDataOutput = true;
-       libraryHaskellDepends = [
-         base bytestring containers protocol-buffers
-       ];
-       homepage = "https://github.com/k-bx/protocol-buffers";
-       description = "Text.DescriptorProto.Options and code generated from the Google Protocol Buffer specification";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "protocol-buffers-descriptor_2_4_8" = callPackage
-    ({ mkDerivation, base, bytestring, containers, protocol-buffers }:
-     mkDerivation {
-       pname = "protocol-buffers-descriptor";
-       version = "2.4.8";
-       sha256 = "1j8q6qj1gck13qxwrq2cslhw3pcc9kr6h7iqs4229lhsf73lql9a";
+       version = "2.4.9";
+       sha256 = "0641cwi7lb53w4mi1icbgz0yghz4lwdf16y9pi0f188hp31f3b2j";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          base bytestring containers protocol-buffers
@@ -164882,7 +169087,6 @@ self: {
        homepage = "https://github.com/k-bx/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
@@ -164956,18 +169160,16 @@ self: {
 
   "protolude" = callPackage
     ({ mkDerivation, array, async, base, bytestring, containers
-     , deepseq, ghc-prim, hashable, mtl, mtl-compat, safe, stm, text
+     , deepseq, ghc-prim, hashable, mtl, mtl-compat, stm, text
      , transformers, transformers-compat
      }:
      mkDerivation {
        pname = "protolude";
-       version = "0.2.1";
-       sha256 = "1r2baxx6q4z75sswirlqsnyynk4i7amfmpzajggh31fbz13hxgxx";
-       revision = "2";
-       editedCabalFile = "03w9051jdbldbid9iyvibdhxdr73cawrvp9qdsc0czxix5ggfr75";
+       version = "0.2.2";
+       sha256 = "0z251xxv8rhds981acdf6dr34ac2kc062mbq9gl2nj339grhqpb8";
        libraryHaskellDepends = [
          array async base bytestring containers deepseq ghc-prim hashable
-         mtl mtl-compat safe stm text transformers transformers-compat
+         mtl mtl-compat stm text transformers transformers-compat
        ];
        homepage = "https://github.com/sdiehl/protolude";
        description = "A small prelude";
@@ -165193,8 +169395,8 @@ self: {
      }:
      mkDerivation {
        pname = "psqueues";
-       version = "0.2.5.0";
-       sha256 = "1fy2rflmk2g5qkrbdz53wcxbr2nzxlnvkwwf4xf56yhm1ciffgqn";
+       version = "0.2.7.0";
+       sha256 = "1sjgc9bxh63kkdp59nbirx3xazr02ia5yhp4f4a0jnq1hj465wsc";
        libraryHaskellDepends = [ base deepseq ghc-prim hashable ];
        testHaskellDepends = [
          array base deepseq ghc-prim hashable HUnit QuickCheck tagged
@@ -165244,8 +169446,8 @@ self: {
      }:
      mkDerivation {
        pname = "ptr";
-       version = "0.16.2";
-       sha256 = "0sa3akkhydyxr7caig8z6bjwiaarr171qazfbwm9kh8x1pdah5dv";
+       version = "0.16.4";
+       sha256 = "0na3by8mh43cd0xn1s1l7hi3mmm3damr9swgv6mzyg9lhilsndxb";
        libraryHaskellDepends = [
          base base-prelude bug bytestring contravariant mtl profunctors
          semigroups text time transformers
@@ -165276,6 +169478,7 @@ self: {
        ];
        description = "Pipe stdin to a redis pub/sub channel";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "publicsuffix" = callPackage
@@ -165284,8 +169487,8 @@ self: {
      }:
      mkDerivation {
        pname = "publicsuffix";
-       version = "0.20170802";
-       sha256 = "0a2cfvf7ahaic62jn80sazmraqny20mcfsr6j8bji9fcgxjj150w";
+       version = "0.20171229";
+       sha256 = "03qvd0a13r4b45rz2wbf7kad17v0x3f6mrcv2slhyh0x4a1ca2s0";
        libraryHaskellDepends = [ base filepath template-haskell ];
        testHaskellDepends = [ base hspec ];
        benchmarkHaskellDepends = [ base criterion random ];
@@ -165294,14 +169497,14 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
-  "publicsuffix_0_20171229" = callPackage
+  "publicsuffix_0_20180426" = callPackage
     ({ mkDerivation, base, criterion, filepath, hspec, random
      , template-haskell
      }:
      mkDerivation {
        pname = "publicsuffix";
-       version = "0.20171229";
-       sha256 = "03qvd0a13r4b45rz2wbf7kad17v0x3f6mrcv2slhyh0x4a1ca2s0";
+       version = "0.20180426";
+       sha256 = "0pfxsh2ds3dwm6mq6g85vhq8rdgc93bn84pq1b4lk3sf71sqs2ii";
        libraryHaskellDepends = [ base filepath template-haskell ];
        testHaskellDepends = [ base hspec ];
        benchmarkHaskellDepends = [ base criterion random ];
@@ -165329,7 +169532,6 @@ self: {
        homepage = "https://github.com/litherum/publicsuffixlist";
        description = "Is a given string a domain suffix?";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "publicsuffixlistcreate" = callPackage
@@ -165699,8 +169901,8 @@ self: {
      }:
      mkDerivation {
        pname = "pure-zlib";
-       version = "0.6";
-       sha256 = "1igbg3d5l8sf53kpx0451dha5lr099hpqgwy7jfjkyjvxzxi8y5b";
+       version = "0.6.2";
+       sha256 = "022ciqcsw39wi4r577q92s9awjwkc2da61ljqi8n5qsal83vhayh";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -165823,6 +170025,27 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "purescript-bridge_0_12_0_0" = callPackage
+    ({ mkDerivation, base, containers, directory, filepath
+     , generic-deriving, hspec, hspec-expectations-pretty-diff, lens
+     , mtl, text, transformers
+     }:
+     mkDerivation {
+       pname = "purescript-bridge";
+       version = "0.12.0.0";
+       sha256 = "1kh3ydqn7vs3ybda9ic8gbmzzjigiiibls9w1nh5ffgwf42dij7j";
+       libraryHaskellDepends = [
+         base containers directory filepath generic-deriving lens mtl text
+         transformers
+       ];
+       testHaskellDepends = [
+         base containers hspec hspec-expectations-pretty-diff text
+       ];
+       description = "Generate PureScript data types from Haskell data types";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "purescript-bundle-fast" = callPackage
     ({ mkDerivation, base, containers, directory, filepath
      , optparse-applicative, text, vector
@@ -165863,6 +170086,7 @@ self: {
        homepage = "https://github.com/minoki/purescript-tsd-gen#readme";
        description = "TypeScript Declaration File (.d.ts) generator for PureScript";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "pursuit-client" = callPackage
@@ -165914,8 +170138,8 @@ self: {
      }:
      mkDerivation {
        pname = "push-notify-apn";
-       version = "0.1.0.5";
-       sha256 = "1gxna2ikq6q1gnarqwsy1xcbqz19j5015girn4mc52sai852ny5z";
+       version = "0.1.0.7";
+       sha256 = "1rkd7vr2l5136jv1afknqvg6lgvny5wdadh3fcy2k5phihmv9qfd";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -165996,15 +170220,14 @@ self: {
      }:
      mkDerivation {
        pname = "pushbullet-types";
-       version = "0.4.0.2";
-       sha256 = "0r6cg0g98b7zzf4sjl4mrpnwmffhz2dnba9bgjw3943xf06afnn1";
+       version = "0.4.1.0";
+       sha256 = "0ny8nlk50cn6zgikg7xwylkrablj05vcm5gjm9y4zdzhbz7s4qb4";
        libraryHaskellDepends = [
          aeson base http-api-data microlens microlens-th scientific text
          time unordered-containers
        ];
        description = "Datatypes used by the Pushbullet APIs";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "pusher-haskell" = callPackage
@@ -166033,8 +170256,8 @@ self: {
      }:
      mkDerivation {
        pname = "pusher-http-haskell";
-       version = "1.5.1.2";
-       sha256 = "1jrb0ni157a9wa5mbqz1dmd1i7nkjh1nhjyvx52mbk530hslcnnn";
+       version = "1.5.1.4";
+       sha256 = "1h6dl0h9ybbnjqs834bd1n5w4cx0vdbmi52mqdk2y9y267qc9k4a";
        libraryHaskellDepends = [
          aeson base base16-bytestring bytestring cryptonite hashable
          http-client http-types memory text time transformers
@@ -166048,7 +170271,6 @@ self: {
        homepage = "https://github.com/pusher-community/pusher-http-haskell";
        description = "Haskell client library for the Pusher HTTP API";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "pusher-ws" = callPackage
@@ -166069,6 +170291,7 @@ self: {
        homepage = "https://github.com/barrucadu/pusher-ws";
        description = "Implementation of the Pusher WebSocket protocol";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "pushme" = callPackage
@@ -166397,19 +170620,6 @@ self: {
      }) {};
 
   "qchas" = callPackage
-    ({ mkDerivation, base, hmatrix, random, tasty, tasty-hunit }:
-     mkDerivation {
-       pname = "qchas";
-       version = "1.0.1.0";
-       sha256 = "12hvhprcpwznxkdl2165ydsrh1r10xz4q4px1dyzyy5i8pkmddam";
-       libraryHaskellDepends = [ base hmatrix random ];
-       testHaskellDepends = [ base hmatrix tasty tasty-hunit ];
-       homepage = "https://github.com/ardeleanasm/qchas#readme";
-       description = "A library for implementing Quantum Algorithms";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "qchas_1_1_0_0" = callPackage
     ({ mkDerivation, base, hmatrix, linear, random, tasty, tasty-hunit
      }:
      mkDerivation {
@@ -166424,7 +170634,6 @@ self: {
        homepage = "https://github.com/ardeleanasm/qchas#readme";
        description = "A library for implementing Quantum Algorithms";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "qd" = callPackage
@@ -166513,8 +170722,8 @@ self: {
      }:
      mkDerivation {
        pname = "qm-interpolated-string";
-       version = "0.2.1.0";
-       sha256 = "09qzlhrzhv0hcc7m8qwfh64nprf3wq4x9lrcdnqpqw2airh5cbn3";
+       version = "0.3.0.0";
+       sha256 = "1brbs4qwvb16bkmcg51spjjrzc83hwgi1fbsix25vrri2myk6sz8";
        libraryHaskellDepends = [
          base bytestring haskell-src-meta template-haskell text
        ];
@@ -166524,22 +170733,36 @@ self: {
        license = stdenv.lib.licenses.publicDomain;
      }) {};
 
-  "qm-interpolated-string_0_3_0_0" = callPackage
-    ({ mkDerivation, base, bytestring, haskell-src-meta, hspec
-     , template-haskell, text
+  "qnap-decrypt" = callPackage
+    ({ mkDerivation, base, binary, bytestring, cipher-aes128, conduit
+     , conduit-extra, crypto-api, directory, filepath, hspec, HUnit
+     , optparse-applicative, streaming-commons, tagged, temporary
+     , utf8-string
      }:
      mkDerivation {
-       pname = "qm-interpolated-string";
-       version = "0.3.0.0";
-       sha256 = "1brbs4qwvb16bkmcg51spjjrzc83hwgi1fbsix25vrri2myk6sz8";
+       pname = "qnap-decrypt";
+       version = "0.3.1";
+       sha256 = "1ns5wz427ilw7xn886sw7ip9d1nbfqbs1qcgjm9cvdi5v5v89pi6";
+       isLibrary = true;
+       isExecutable = true;
+       enableSeparateDataOutput = true;
        libraryHaskellDepends = [
-         base bytestring haskell-src-meta template-haskell text
+         base binary bytestring cipher-aes128 conduit conduit-extra
+         crypto-api directory streaming-commons tagged utf8-string
        ];
-       testHaskellDepends = [ base hspec ];
-       homepage = "https://github.com/unclechu/haskell-qm-interpolated-string";
-       description = "Implementation of interpolated multiline strings";
-       license = stdenv.lib.licenses.publicDomain;
-       hydraPlatforms = stdenv.lib.platforms.none;
+       executableHaskellDepends = [
+         base binary bytestring cipher-aes128 conduit conduit-extra
+         crypto-api directory filepath optparse-applicative
+         streaming-commons tagged utf8-string
+       ];
+       testHaskellDepends = [
+         base binary bytestring cipher-aes128 conduit conduit-extra
+         crypto-api directory filepath hspec HUnit streaming-commons tagged
+         temporary utf8-string
+       ];
+       homepage = "https://github.com/alexkazik/qnap-decrypt#readme";
+       description = "Decrypt files encrypted by QNAP's Hybrid Backup Sync";
+       license = stdenv.lib.licenses.bsd3;
      }) {};
 
   "qq-literals" = callPackage
@@ -166556,24 +170779,22 @@ self: {
      }) {};
 
   "qr-imager" = callPackage
-    ({ mkDerivation, aeson, base, bytestring, cryptonite, directory
-     , either, haskell-qrencode, hspec, jose-jwt, JuicyPixels
-     , libqrencode, microlens, optparse-applicative, process, split
-     , vector
+    ({ mkDerivation, base, binary, bytestring, cryptonite, directory
+     , haskell-qrencode, hspec, jose-jwt, JuicyPixels, libqrencode
+     , microlens, process, split, vector
      }:
      mkDerivation {
        pname = "qr-imager";
-       version = "1.0.1.6";
-       sha256 = "0kc69xkqinvwk7hxblxkspnmj422c1pbdig9kvh3r8sj1in0lpmn";
+       version = "2.0.0.0";
+       sha256 = "01886bwkap8qk39iihlyrfa9g8cw6sicrynwk7r24nd5ib60csc3";
        libraryHaskellDepends = [
-         aeson base bytestring cryptonite directory either haskell-qrencode
-         jose-jwt JuicyPixels microlens optparse-applicative process split
-         vector
+         base binary bytestring cryptonite directory haskell-qrencode
+         jose-jwt JuicyPixels microlens process split vector
        ];
        libraryPkgconfigDepends = [ libqrencode ];
        testHaskellDepends = [ base hspec ];
        homepage = "https://github.com/vmchale/QRImager#readme";
-       description = "Library to generate QR codes from bytestrings and objects";
+       description = "Library to generate images";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {inherit (pkgs) libqrencode;};
@@ -166795,6 +171016,8 @@ self: {
        pname = "quantification";
        version = "0.3";
        sha256 = "0hljd4m55254kmcrp3iar8ya7ky5a73vk3vrmgandmb15fsp2wvy";
+       revision = "1";
+       editedCabalFile = "1kcx4z6xwpbzkydl1kknf5kr1p2ry163jrw5k58f5jpv5gkn7mgn";
        libraryHaskellDepends = [
          aeson base containers ghc-prim hashable path-pieces text
          unordered-containers vector
@@ -166912,8 +171135,8 @@ self: {
      }:
      mkDerivation {
        pname = "queryparser";
-       version = "0.1.0.0";
-       sha256 = "0ixx2ff7b3m7i8yp23x8nx0bpq92r387ddqag1i0026hljwpqchr";
+       version = "0.1.0.1";
+       sha256 = "1rz3v3cks7ys6313gispxbs8wzm8h5lccl27f9nhha7rpzl9qkcj";
        libraryHaskellDepends = [
          aeson base bytestring containers fixed-list hashable mtl parsec
          predicate-class pretty QuickCheck semigroups text
@@ -166922,9 +171145,23 @@ self: {
        benchmarkHaskellDepends = [ base criterion text ];
        description = "Analysis and parsing library for SQL queries";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
-       broken = true;
-     }) {predicate-class = null;};
+     }) {};
+
+  "queryparser-demo" = callPackage
+    ({ mkDerivation, base, containers, pretty, queryparser
+     , queryparser-vertica, text, unordered-containers
+     }:
+     mkDerivation {
+       pname = "queryparser-demo";
+       version = "0.1.0.0";
+       sha256 = "1ndm7rdwnl8sgfi5058hh1l7xisxbvxl8ign91hwpkyqfmgx3ypi";
+       libraryHaskellDepends = [
+         base containers pretty queryparser queryparser-vertica text
+         unordered-containers
+       ];
+       description = "Demo package containing queryparser examples";
+       license = stdenv.lib.licenses.mit;
+     }) {};
 
   "queryparser-hive" = callPackage
     ({ mkDerivation, aeson, base, bytestring, containers, fixed-list
@@ -166934,8 +171171,8 @@ self: {
      }:
      mkDerivation {
        pname = "queryparser-hive";
-       version = "0.1.0.0";
-       sha256 = "1lh8vj0wbgpsliq8dcfp6cibd0ka3gf8j0b132b1dy9hz8q3k99s";
+       version = "0.1.0.1";
+       sha256 = "0rj1v715wr3z76mp7i581bsjfvl9038kh4ccwlvjzi67afvds0b8";
        libraryHaskellDepends = [
          aeson base bytestring containers fixed-list hashable mtl parsec
          predicate-class pretty queryparser QuickCheck regex-tdfa semigroups
@@ -166943,9 +171180,7 @@ self: {
        ];
        description = "Parsing for Hive SQL queries";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
-       broken = true;
-     }) {predicate-class = null;};
+     }) {};
 
   "queryparser-presto" = callPackage
     ({ mkDerivation, aeson, base, bytestring, containers, fixed-list
@@ -166955,8 +171190,8 @@ self: {
      }:
      mkDerivation {
        pname = "queryparser-presto";
-       version = "0.1.0.0";
-       sha256 = "10yh0j7xxmyxpfkixk8wjfl0sbb6y51kylvc6jnl3wclcyw31jvf";
+       version = "0.1.0.1";
+       sha256 = "0ibcbv76c1qv8w50v7gzq6vv3l9hbda5ir95k44rk1da6n53hj3b";
        libraryHaskellDepends = [
          aeson base bytestring containers fixed-list hashable mtl parsec
          predicate-class pretty queryparser QuickCheck regex-tdfa semigroups
@@ -166964,9 +171199,7 @@ self: {
        ];
        description = "Parsing for Presto SQL queries";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
-       broken = true;
-     }) {predicate-class = null;};
+     }) {};
 
   "queryparser-vertica" = callPackage
     ({ mkDerivation, aeson, base, bytestring, containers, fixed-list
@@ -166976,8 +171209,8 @@ self: {
      }:
      mkDerivation {
        pname = "queryparser-vertica";
-       version = "0.1.0.0";
-       sha256 = "04g4ciqjkphyim0wjy3mn74fd8in38wkf3hyqsd0968syxdx6ykx";
+       version = "0.1.0.1";
+       sha256 = "0pkkgb3schbb25pw8k9varx3c0iwhfc47w4f2692y6s39vpm4d5z";
        libraryHaskellDepends = [
          aeson base bytestring containers fixed-list hashable mtl parsec
          predicate-class pretty queryparser QuickCheck regex-tdfa semigroups
@@ -166985,9 +171218,7 @@ self: {
        ];
        description = "Parsing for Vertica SQL queries";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
-       broken = true;
-     }) {predicate-class = null;};
+     }) {};
 
   "querystring-pickle" = callPackage
     ({ mkDerivation, base, bytestring, QuickCheck, test-framework
@@ -167126,23 +171357,6 @@ self: {
      }:
      mkDerivation {
        pname = "quickcheck-arbitrary-adt";
-       version = "0.2.0.0";
-       sha256 = "1ny04h3kxqdhlfxbvcdzsl6n7vgs5xdk9p0b9hb2jpvqlazqv6fr";
-       libraryHaskellDepends = [ base QuickCheck ];
-       testHaskellDepends = [
-         base hspec lens QuickCheck template-haskell transformers
-       ];
-       homepage = "https://github.com/plow-technologies/quickcheck-arbitrary-adt#readme";
-       description = "Generic typeclasses for generating arbitrary ADTs";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "quickcheck-arbitrary-adt_0_3_1_0" = callPackage
-    ({ mkDerivation, base, hspec, lens, QuickCheck, template-haskell
-     , transformers
-     }:
-     mkDerivation {
-       pname = "quickcheck-arbitrary-adt";
        version = "0.3.1.0";
        sha256 = "1fa5gb111m740q399l7wbr9n03ws9rasq48jhnx7dvvd6qh2wjjw";
        libraryHaskellDepends = [ base QuickCheck ];
@@ -167152,7 +171366,6 @@ self: {
        homepage = "https://github.com/plow-technologies/quickcheck-arbitrary-adt#readme";
        description = "Generic typeclasses for generating arbitrary ADTs";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "quickcheck-arbitrary-template" = callPackage
@@ -167203,6 +171416,28 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "quickcheck-classes_0_4_10" = callPackage
+    ({ mkDerivation, aeson, base, bifunctors, containers, primitive
+     , QuickCheck, semigroupoids, semigroups, tagged, transformers
+     , vector
+     }:
+     mkDerivation {
+       pname = "quickcheck-classes";
+       version = "0.4.10";
+       sha256 = "1x01746853wbfrfry807gva15wn02jcd0cfqbag7f5xm1fd8nlss";
+       libraryHaskellDepends = [
+         aeson base bifunctors containers primitive QuickCheck semigroupoids
+         semigroups tagged transformers
+       ];
+       testHaskellDepends = [
+         aeson base primitive QuickCheck tagged transformers vector
+       ];
+       homepage = "https://github.com/andrewthad/quickcheck-classes#readme";
+       description = "QuickCheck common typeclasses";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "quickcheck-combinators" = callPackage
     ({ mkDerivation, base, QuickCheck, unfoldable-restricted }:
      mkDerivation {
@@ -167222,8 +171457,10 @@ self: {
      }:
      mkDerivation {
        pname = "quickcheck-instances";
-       version = "0.3.16.1";
-       sha256 = "01v5bs7r9yvhkvb4yc9bqnacy8r6cy2gr9lnmwx40n5apgi0gcbz";
+       version = "0.3.18";
+       sha256 = "1bh1pzz5fdcqvzdcirqxna6fnjms02min5md716299g5niz46w55";
+       revision = "1";
+       editedCabalFile = "1sngfq3v71bvgjsl8cj5kh65m3fziwy8dkvwjzs0kxfrzr87faly";
        libraryHaskellDepends = [
          array base base-compat bytestring case-insensitive containers
          hashable old-time QuickCheck scientific tagged text time
@@ -167386,8 +171623,8 @@ self: {
     ({ mkDerivation, base, QuickCheck }:
      mkDerivation {
        pname = "quickcheck-simple";
-       version = "0.1.0.2";
-       sha256 = "0p1ky7sj42crn9sas9d2cs5cwz03wsk20p55x2wgmlj5rmpr5mla";
+       version = "0.1.0.3";
+       sha256 = "08f87mqnm04sgi21q5snvr4li3zm4m86jydc3s4b71i9czy4q8wg";
        libraryHaskellDepends = [ base QuickCheck ];
        description = "Test properties and default-mains for QuickCheck";
        license = stdenv.lib.licenses.bsd3;
@@ -167428,6 +171665,30 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "quickcheck-state-machine-distributed" = callPackage
+    ({ mkDerivation, base, binary, containers, directory
+     , distributed-process, mtl, network-transport
+     , network-transport-tcp, QuickCheck, random, stm, strict, tasty
+     , tasty-quickcheck, temporary
+     }:
+     mkDerivation {
+       pname = "quickcheck-state-machine-distributed";
+       version = "0.0.1";
+       sha256 = "0451xx4c3698nk3c2jhq7xmc0nnaxlj422i30sh7cgyrfrbdw9wj";
+       libraryHaskellDepends = [
+         base binary containers distributed-process mtl network-transport
+         network-transport-tcp QuickCheck random stm
+       ];
+       testHaskellDepends = [
+         base binary containers directory distributed-process mtl
+         network-transport network-transport-tcp QuickCheck random stm
+         strict tasty tasty-quickcheck temporary
+       ];
+       homepage = "https://github.com/advancedtelematic/quickcheck-state-machine-distributed#readme";
+       description = "Test monadic programs using state machine based models";
+       license = stdenv.lib.licenses.bsd2;
+     }) {};
+
   "quickcheck-string-random" = callPackage
     ({ mkDerivation, base, QuickCheck, string-random, tasty
      , tasty-quickcheck, text
@@ -167443,7 +171704,6 @@ self: {
        homepage = "https://github.com/hiratara/hs-string-random#readme";
        description = "Helper to build generators with Text.StringRandom";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "quickcheck-text" = callPackage
@@ -167955,18 +172215,14 @@ self: {
      }) {};
 
   "radian" = callPackage
-    ({ mkDerivation, base, directory, doctest, filepath, lens
-     , profunctors, QuickCheck, template-haskell
-     }:
+    ({ mkDerivation, base, HUnit, lens, profunctors }:
      mkDerivation {
        pname = "radian";
-       version = "0.0.6";
-       sha256 = "0p6caw8vnlzmamcka9wfsbgsfffgp2y6jjf5yyibvnb9av8zdnzp";
+       version = "0.1";
+       sha256 = "150vb9wk73avh8rrsz92y1fcwlm30w4k23lbdncb8ivinqhdi4pv";
        libraryHaskellDepends = [ base profunctors ];
-       testHaskellDepends = [
-         base directory doctest filepath lens QuickCheck template-haskell
-       ];
-       homepage = "https://github.com/NICTA/radian";
+       testHaskellDepends = [ base HUnit lens ];
+       homepage = "https://github.com/qfpl/radian";
        description = "Isomorphisms for measurements that use radians";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -168277,21 +172533,21 @@ self: {
     ({ mkDerivation, aeson, base, bytestring, connection, constraints
      , data-default-class, extensible, hspec, http-api-data, http-client
      , http-client-tls, http-types, lens, req, servant-server, text
-     , unordered-containers, warp
+     , warp
      }:
      mkDerivation {
        pname = "rakuten";
-       version = "0.1.0.5";
-       sha256 = "1197vkml0pvrdqvh55bvsb52rzqfj6p6vrpihr5ci7flp4h9wkp1";
+       version = "0.1.1.1";
+       sha256 = "01p6f8vapygcw6viwq7kkg6b5fifqzbkski0763x9by49h5gpbsi";
        libraryHaskellDepends = [
          aeson base bytestring connection constraints data-default-class
          extensible http-api-data http-client http-client-tls http-types
-         lens req text unordered-containers
+         lens req text
        ];
        testHaskellDepends = [
          aeson base bytestring connection constraints data-default-class
          extensible hspec http-api-data http-client http-client-tls
-         http-types lens req servant-server text unordered-containers warp
+         http-types lens req servant-server text warp
        ];
        homepage = "https://github.com/matsubara0507/rakuten#readme";
        description = "The Rakuten API in Haskell";
@@ -168394,8 +172650,8 @@ self: {
     ({ mkDerivation, base, containers, microspec, tf-random, vector }:
      mkDerivation {
        pname = "rando";
-       version = "0.0.0.2";
-       sha256 = "0c12z3nd9g30chlz3ylcajxjbwm868nnsnlj6xc803gyficw2vdp";
+       version = "0.0.0.4";
+       sha256 = "1cvwmp4882xdavfzhg5hwssddg0wjgwh8jxpd3251plf96jz9f4f";
        libraryHaskellDepends = [ base tf-random vector ];
        testHaskellDepends = [
          base containers microspec tf-random vector
@@ -168436,8 +172692,8 @@ self: {
      }:
      mkDerivation {
        pname = "random-bytestring";
-       version = "0.1.2";
-       sha256 = "132xlls7qw94y2ljc74m0qhlzb19yv3yfxmwhi25cnghggsb22qz";
+       version = "0.1.3.1";
+       sha256 = "1d0f3y8n87fyyvlkn1c87d47xi50qn4cn11bnsn052860kyjda1k";
        libraryHaskellDepends = [ base bytestring mwc-random pcg-random ];
        benchmarkHaskellDepends = [
          async base bytestring criterion cryptonite entropy ghc-prim
@@ -168457,6 +172713,7 @@ self: {
        libraryHaskellDepends = [ base primitive transformers util ];
        description = "Class of random value generation";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "random-derive" = callPackage
@@ -168561,6 +172818,18 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "random-names" = callPackage
+    ({ mkDerivation, base, QuickCheck, random, safe, text }:
+     mkDerivation {
+       pname = "random-names";
+       version = "0.1.0.0";
+       sha256 = "1sj88ccw4pnqlwbga78pvsvzib4irg7xzz4lhqs89xkdz7l043dy";
+       libraryHaskellDepends = [ base QuickCheck random safe text ];
+       homepage = "https://github.com/aiya000/hs-random-names";
+       description = "Expose Random and Arbitrary instances";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "random-shuffle" = callPackage
     ({ mkDerivation, base, MonadRandom, random }:
      mkDerivation {
@@ -168602,6 +172871,23 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "random-string" = callPackage
+    ({ mkDerivation, base, base16-bytestring, base58-bytestring
+     , base64-bytestring, bytestring, entropy
+     }:
+     mkDerivation {
+       pname = "random-string";
+       version = "0.1.0.1";
+       sha256 = "0gmb5i5sykwfr1l4b2isn9j92pzxgalbxkf9dnhs14pj3i6ygl80";
+       libraryHaskellDepends = [
+         base base16-bytestring base58-bytestring base64-bytestring
+         bytestring entropy
+       ];
+       description = "Generate a random base 16, 58, or 64 string";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "random-strings" = callPackage
     ({ mkDerivation, base, containers, mtl, QuickCheck, random }:
      mkDerivation {
@@ -168715,6 +173001,7 @@ self: {
        homepage = "https://bitbucket.org/robertmassaioli/range";
        description = "This has a bunch of code for specifying and managing ranges in your code";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "range-set-list" = callPackage
@@ -168736,6 +173023,7 @@ self: {
        homepage = "https://github.com/phadej/range-set-list#readme";
        description = "Memory efficient sets with ranges of elements";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "range-space" = callPackage
@@ -168816,8 +173104,8 @@ self: {
     ({ mkDerivation, base, doctest, template-haskell, transformers }:
      mkDerivation {
        pname = "rank2classes";
-       version = "1.0.1";
-       sha256 = "1m48d5paxagx0916miiya09f8myfv7i4swjbi2yymh80xdjq5wxh";
+       version = "1.0.2";
+       sha256 = "1qkknjas2w0zrv5kx47i1cxaiyv7814fqj8y69kywsl93q919p42";
        libraryHaskellDepends = [ base template-haskell transformers ];
        testHaskellDepends = [ base doctest ];
        homepage = "https://github.com/blamario/grampa/tree/master/rank2classes";
@@ -169104,8 +173392,8 @@ self: {
      }:
      mkDerivation {
        pname = "rasterific-svg";
-       version = "0.3.3";
-       sha256 = "0jqdqf3y61z98sxdziqhafgsf5m01a00gkfdnv1w4vd6zli8xpaa";
+       version = "0.3.3.1";
+       sha256 = "110ivmmgajv232hyg9pc30lzg3l72q8ykyp1zrjs3k5n309ymdfn";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -169119,6 +173407,7 @@ self: {
        ];
        description = "SVG renderer based on Rasterific";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "rate-limit" = callPackage
@@ -169140,36 +173429,19 @@ self: {
      }:
      mkDerivation {
        pname = "ratel";
-       version = "0.3.10";
-       sha256 = "10cqg2rrr8fx57r0vhw37wrv92243lzi2mp7ghsl3kkl1n73qz8n";
+       version = "1.0.3";
+       sha256 = "1f49nrkvyms9a8q46dpjgcx3h51l1x4zlq6pxnw26bvf8xx0yj4h";
        libraryHaskellDepends = [
          aeson base bytestring case-insensitive containers http-client
          http-client-tls http-types text uuid
        ];
-       testHaskellDepends = [ base filepath hspec ];
-       homepage = "https://github.com/tfausak/ratel#readme";
-       description = "Notify Honeybadger about exceptions";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-
-  "ratel_1_0_1" = callPackage
-    ({ mkDerivation, aeson, base, bytestring, case-insensitive
-     , containers, filepath, hspec, http-client, http-client-tls
-     , http-types, text, uuid
-     }:
-     mkDerivation {
-       pname = "ratel";
-       version = "1.0.1";
-       sha256 = "1cspvwnq7v0ngxlc0w0f2fv14m3ndi8nkvcglygbac454nlka12s";
-       libraryHaskellDepends = [
-         aeson base bytestring case-insensitive containers http-client
-         http-client-tls http-types text uuid
+       testHaskellDepends = [
+         aeson base bytestring case-insensitive containers filepath hspec
+         http-client http-client-tls http-types text uuid
        ];
-       testHaskellDepends = [ base filepath hspec ];
        homepage = "https://github.com/tfausak/ratel#readme";
        description = "Notify Honeybadger about exceptions";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "ratel-wai" = callPackage
@@ -169178,31 +173450,14 @@ self: {
      }:
      mkDerivation {
        pname = "ratel-wai";
-       version = "0.3.2";
-       sha256 = "1f38xivw19ic002idr936859rwmz2g9nmhbwxvsf4fw3lm31qwpa";
-       libraryHaskellDepends = [
-         base bytestring case-insensitive containers http-client ratel wai
-       ];
-       homepage = "https://github.com/tfausak/ratel-wai#readme";
-       description = "Notify Honeybadger about exceptions via a WAI middleware";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-
-  "ratel-wai_1_0_1" = callPackage
-    ({ mkDerivation, base, bytestring, case-insensitive, containers
-     , http-client, ratel, wai
-     }:
-     mkDerivation {
-       pname = "ratel-wai";
-       version = "1.0.1";
-       sha256 = "190kgqhvda3r5gqk0j8pzr6d123fl77dv3i1csglq22yzrwynkv3";
+       version = "1.0.2";
+       sha256 = "07hpsmv3c75r8lc9fpa2mn5xsz5xml5nadzlzq8dihbgv6ma4mss";
        libraryHaskellDepends = [
          base bytestring case-insensitive containers http-client ratel wai
        ];
        homepage = "https://github.com/tfausak/ratel-wai#readme";
        description = "Notify Honeybadger about exceptions via a WAI middleware";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "rating-systems" = callPackage
@@ -169230,47 +173485,14 @@ self: {
      }) {};
 
   "rattletrap" = callPackage
-    ({ mkDerivation, aeson, base, bimap, binary, binary-bits
-     , bytestring, containers, data-binary-ieee754, filepath, hspec
-     , http-client, http-client-tls, template-haskell, temporary, text
-     , vector
-     }:
-     mkDerivation {
-       pname = "rattletrap";
-       version = "3.1.2";
-       sha256 = "0b0f5lkh8m96qg3m8wgnhpamqjndspa6ysf0lq013qbk9nvlvla8";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         aeson base bimap binary binary-bits bytestring containers
-         data-binary-ieee754 http-client http-client-tls template-haskell
-         text vector
-       ];
-       executableHaskellDepends = [
-         aeson base bimap binary binary-bits bytestring containers
-         data-binary-ieee754 http-client http-client-tls template-haskell
-         text vector
-       ];
-       testHaskellDepends = [
-         aeson base bimap binary binary-bits bytestring containers
-         data-binary-ieee754 filepath hspec http-client http-client-tls
-         template-haskell temporary text vector
-       ];
-       homepage = "https://github.com/tfausak/rattletrap#readme";
-       description = "Parse and generate Rocket League replays";
-       license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
-     }) {};
-
-  "rattletrap_4_0_5" = callPackage
     ({ mkDerivation, aeson, aeson-pretty, base, binary, binary-bits
      , bytestring, containers, filepath, http-client, http-client-tls
      , HUnit, template-haskell, temporary, text, transformers
      }:
      mkDerivation {
        pname = "rattletrap";
-       version = "4.0.5";
-       sha256 = "0yxmym79xrs35lz8qyrkyqa9vihng4p3448085ybwbfqmaqk6pl5";
+       version = "4.0.9";
+       sha256 = "0wz36zclpckkm8w7mmdzbklrr08ggyqsk7j4wfxbh4gxa0ry7yj5";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -169291,7 +173513,6 @@ self: {
        homepage = "https://github.com/tfausak/rattletrap#readme";
        description = "Parse and generate Rocket League replays";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "raven-haskell" = callPackage
@@ -169511,6 +173732,7 @@ self: {
        homepage = "https://github.com/masterdezign/rc#readme";
        description = "Reservoir Computing, fast RNNs";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "rclient" = callPackage
@@ -169538,8 +173760,8 @@ self: {
        pname = "rcu";
        version = "0.2.2";
        sha256 = "0lj88xif38zh1qkpfzyarm36khzavqsl8chjma062b1pvhhlc9lk";
-       revision = "1";
-       editedCabalFile = "0kq7g4wplri8xnp6b1xvxd74vl60dhdkz0p3994swy7dbk8b7vic";
+       revision = "2";
+       editedCabalFile = "0s9rd1ys6y770xwfgljmrkyw968jqwsa39xpa3x88wzb93qzypmr";
        isLibrary = true;
        isExecutable = true;
        setupHaskellDepends = [ base Cabal cabal-doctest ];
@@ -169555,7 +173777,6 @@ self: {
        homepage = "http://github.com/ekmett/rcu/";
        description = "Read-Copy-Update for Haskell";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "rdf" = callPackage
@@ -169578,22 +173799,22 @@ self: {
      }) {};
 
   "rdf4h" = callPackage
-    ({ mkDerivation, base, binary, bytestring, containers, criterion
-     , deepseq, directory, hashable, hgal, HTTP, HUnit, hxt, network
-     , network-uri, parsec, QuickCheck, safe, tasty, tasty-hunit
-     , tasty-quickcheck, text, text-binary, unordered-containers
-     , utf8-string
+    ({ mkDerivation, attoparsec, base, binary, bytestring, containers
+     , criterion, deepseq, directory, hashable, hgal, HTTP, HUnit, hxt
+     , mtl, network, network-uri, parsec, parsers, QuickCheck, safe
+     , tasty, tasty-hunit, tasty-quickcheck, text, text-binary
+     , unordered-containers, utf8-string
      }:
      mkDerivation {
        pname = "rdf4h";
-       version = "3.0.1";
-       sha256 = "0d45gwldxh1rai1jsvxnb794wdhvxqhjnnqfyh9ql0rzwcwzbv54";
+       version = "3.0.3";
+       sha256 = "0lidqww0d8ckm4iipjx4gq32jspxidz0g009m5xrf8x6qsl26sx0";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         base binary bytestring containers deepseq directory hashable hgal
-         HTTP hxt network network-uri parsec text text-binary
-         unordered-containers utf8-string
+         attoparsec base binary bytestring containers deepseq directory
+         hashable hgal HTTP hxt mtl network network-uri parsec parsers text
+         text-binary unordered-containers utf8-string
        ];
        executableHaskellDepends = [
          base containers network network-uri text
@@ -169602,7 +173823,7 @@ self: {
          base bytestring containers directory HUnit network network-uri
          QuickCheck safe tasty tasty-hunit tasty-quickcheck text
        ];
-       benchmarkHaskellDepends = [ base criterion text ];
+       benchmarkHaskellDepends = [ base criterion deepseq text ];
        homepage = "https://github.com/robstewart57/rdf4h";
        description = "A library for RDF processing in Haskell";
        license = stdenv.lib.licenses.bsd3;
@@ -169806,28 +174027,47 @@ self: {
        homepage = "http://www.haskell.org/haskellwiki/Reactive-balsa";
        description = "Programmatically edit MIDI events via ALSA and reactive-banana";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "reactive-banana" = callPackage
     ({ mkDerivation, base, containers, hashable, HUnit, pqueue
-     , psqueues, test-framework, test-framework-hunit, transformers
-     , unordered-containers, vault
+     , psqueues, semigroups, test-framework, test-framework-hunit
+     , transformers, unordered-containers, vault
      }:
      mkDerivation {
        pname = "reactive-banana";
-       version = "1.1.0.1";
-       sha256 = "1hvhzr3cvg91l8kwxia0idg3n9jrh4knlcrmzm9j978dckzrc3mc";
+       version = "1.2.0.0";
+       sha256 = "1bwzkpackjpzk2igmlahr2qhgacad62v48lam97g9q85zww70p29";
        libraryHaskellDepends = [
-         base containers hashable pqueue transformers unordered-containers
-         vault
+         base containers hashable pqueue semigroups transformers
+         unordered-containers vault
        ];
        testHaskellDepends = [
-         base containers hashable HUnit pqueue psqueues test-framework
-         test-framework-hunit transformers unordered-containers vault
+         base containers hashable HUnit pqueue psqueues semigroups
+         test-framework test-framework-hunit transformers
+         unordered-containers vault
        ];
        homepage = "http://wiki.haskell.org/Reactive-banana";
        description = "Library for functional reactive programming (FRP)";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "reactive-banana-automation" = callPackage
+    ({ mkDerivation, base, doctest, reactive-banana, stm, time
+     , transformers
+     }:
+     mkDerivation {
+       pname = "reactive-banana-automation";
+       version = "0.4.0";
+       sha256 = "1zc24p1jqild85k049ixbfcdhxdy66l4m5ddr1g3bkxq8apilnrr";
+       libraryHaskellDepends = [
+         base reactive-banana stm time transformers
+       ];
+       testHaskellDepends = [ base doctest ];
+       description = "home (etc) automation using reactive-banana";
+       license = stdenv.lib.licenses.agpl3;
      }) {};
 
   "reactive-banana-bunch" = callPackage
@@ -169844,6 +174084,7 @@ self: {
        homepage = "http://hub.darcs.net/thielema/reactive-banana-bunch/";
        description = "Extend reactive-banana to multiple events per time point";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "reactive-banana-gi-gtk" = callPackage
@@ -169918,7 +174159,7 @@ self: {
        pname = "reactive-banana-wx";
        version = "1.1.1.0";
        sha256 = "1yzymc6qpjj8d0fal09vxy2yicbrgrg42khylbbsrzmdgqfnf3kr";
-       configureFlags = [ "-f-buildexamples" ];
+       configureFlags = [ "-f-buildExamples" ];
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -170007,6 +174248,7 @@ self: {
        homepage = "http://www.haskell.org/haskellwiki/Reactive-balsa";
        description = "Process MIDI events via reactive-banana and JACK";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "reactive-midyim" = callPackage
@@ -170027,6 +174269,7 @@ self: {
        homepage = "http://www.haskell.org/haskellwiki/Reactive-balsa";
        description = "Process MIDI events via reactive-banana";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "reactive-thread" = callPackage
@@ -170309,28 +174552,6 @@ self: {
      }:
      mkDerivation {
        pname = "rebase";
-       version = "1.1.1";
-       sha256 = "0rhfpdh8hmna02pbiljkiy623sdy1nqk60azr43cdx5q9aw1b3jy";
-       libraryHaskellDepends = [
-         base base-prelude bifunctors bytestring containers contravariant
-         contravariant-extras deepseq dlist either fail hashable mtl
-         profunctors scientific semigroupoids semigroups stm text time
-         transformers unordered-containers uuid vector void
-       ];
-       homepage = "https://github.com/nikita-volkov/rebase";
-       description = "A more progressive alternative to the \"base\" package";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-
-  "rebase_1_2_3" = callPackage
-    ({ mkDerivation, base, base-prelude, bifunctors, bytestring
-     , containers, contravariant, contravariant-extras, deepseq, dlist
-     , either, fail, hashable, mtl, profunctors, scientific
-     , semigroupoids, semigroups, stm, text, time, transformers
-     , unordered-containers, uuid, vector, void
-     }:
-     mkDerivation {
-       pname = "rebase";
        version = "1.2.3";
        sha256 = "1glnxvgf79qm2iz4xxdn6zygjff42cyakk1nah2wrzkkrr11axqk";
        libraryHaskellDepends = [
@@ -170342,7 +174563,6 @@ self: {
        homepage = "https://github.com/nikita-volkov/rebase";
        description = "A more progressive alternative to the \"base\" package";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "rebindable" = callPackage
@@ -170404,6 +174624,20 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "record-dot-preprocessor" = callPackage
+    ({ mkDerivation, base, extra, filepath }:
+     mkDerivation {
+       pname = "record-dot-preprocessor";
+       version = "0.1";
+       sha256 = "1py5bkwxwwq1jjsa16rmjm92hxnil0clim5579h5mizzq47fczrd";
+       isLibrary = false;
+       isExecutable = true;
+       executableHaskellDepends = [ base extra filepath ];
+       homepage = "https://github.com/ndmitchell/record-dot-preprocessor#readme";
+       description = "Preprocessor to allow record.field syntax";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "record-gl" = callPackage
     ({ mkDerivation, base, base-prelude, containers, GLUtil, HUnit
      , linear, OpenGL, record, tagged, template-haskell, test-framework
@@ -170532,8 +174766,8 @@ self: {
        pname = "recursion-schemes";
        version = "5.0.2";
        sha256 = "1lmayskniljw3lxk64apvshn9h90gwfpflgxilfivsqhrjxnaj9s";
-       revision = "1";
-       editedCabalFile = "1mmq9dx0dgws4dbmij76snj91dv6czigs1kchi0vy01hplsb0wks";
+       revision = "2";
+       editedCabalFile = "13l08kal330r1nln13q6qn60mcs0iwcz0hx23na743xllha76nnl";
        libraryHaskellDepends = [
          base base-orphans bifunctors comonad free semigroups
          template-haskell transformers transformers-compat
@@ -170550,8 +174784,8 @@ self: {
      }:
      mkDerivation {
        pname = "recursion-schemes-ext";
-       version = "1.0.0.2";
-       sha256 = "1k7jjargdhc5q7ay2r07fwd9wgcs249p1r1rr48qlw6lsccrparw";
+       version = "1.0.0.4";
+       sha256 = "0n25cz8w48p8fxjnv83raxrvn7v892z8ip3jklgxj1vgh4rms3xx";
        libraryHaskellDepends = [
          base composition-prelude lens recursion-schemes
        ];
@@ -170562,7 +174796,6 @@ self: {
        homepage = "https://hub.darcs.net/vmchale/recursion-schemes-ext#readme";
        description = "Amateur addenda to recursion-schemes";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "recursive-line-count" = callPackage
@@ -170756,12 +174989,13 @@ self: {
     ({ mkDerivation, base, deepseq, raptor2, redland }:
      mkDerivation {
        pname = "redland";
-       version = "0.2.0.1";
-       sha256 = "080bp01x6vlfw116zcl75vr7pb753mn8892rkh7aqgaf8ajkhb2c";
+       version = "0.2.0.2";
+       sha256 = "0wfmv87d9vxah1s519457zs4436lri7ypn2069r8wdpvaariiim5";
        libraryHaskellDepends = [ base deepseq ];
        libraryPkgconfigDepends = [ raptor2 redland ];
        description = "Redland RDF library bindings";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {raptor2 = null; redland = null;};
 
   "redo" = callPackage
@@ -171315,12 +175549,12 @@ self: {
      }) {};
 
   "reform" = callPackage
-    ({ mkDerivation, base, containers, mtl, text }:
+    ({ mkDerivation, base, containers, mtl, semigroups, text }:
      mkDerivation {
        pname = "reform";
-       version = "0.2.7.1";
-       sha256 = "0c4jh64rszp9rk62kh8nqyhafnbi5vm9lmc2rx7fx237j24j3gjr";
-       libraryHaskellDepends = [ base containers mtl text ];
+       version = "0.2.7.2";
+       sha256 = "14as5chpwfrrqdfxk5g03f4zia0dx10npb802cphfq2j598mjczv";
+       libraryHaskellDepends = [ base containers mtl semigroups text ];
        homepage = "http://www.happstack.com/";
        description = "reform is a type-safe HTML form generation and validation library";
        license = stdenv.lib.licenses.bsd3;
@@ -171409,7 +175643,6 @@ self: {
        homepage = "https://github.com/konn/refresht#readme";
        description = "Environment Monad with automatic resource refreshment";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "refty" = callPackage
@@ -171500,8 +175733,8 @@ self: {
        pname = "regex-applicative-text";
        version = "0.1.0.1";
        sha256 = "1ng2qhk4mvpzl8fx91ig7ldv09v9aqdsvn6yl9yjapc6h0ghb4xh";
-       revision = "1";
-       editedCabalFile = "1w8aqqq6j1lhwpi2d0qj9h32cia3nr9l43a0mspqawb1nsmpjyic";
+       revision = "2";
+       editedCabalFile = "19sdafr0i252xyy017yxmz76ipl5bdg3hiv3ka8sjbwryj16gdwi";
        libraryHaskellDepends = [ base regex-applicative text ];
        homepage = "https://github.com/phadej/regex-applicative-text#readme";
        description = "regex-applicative on text";
@@ -171787,10 +176020,8 @@ self: {
      }:
      mkDerivation {
        pname = "regex-tdfa";
-       version = "1.2.2";
-       sha256 = "0f8x8wyr6m21g8dnxvnvalz5bsq37l125l6qhs0fscbvprsxc4nb";
-       revision = "1";
-       editedCabalFile = "0m2i94gm6a1m6sn3mj47jbnmjp5ksiqmdn6v4pdr7xsv5a15gfwn";
+       version = "1.2.3";
+       sha256 = "1n80ssz9k73s444b4hda6fhp1vyzg0fc5fvz0309fi9dh6xpxcc9";
        libraryHaskellDepends = [
          array base bytestring containers ghc-prim mtl parsec regex-base
        ];
@@ -172245,7 +176476,6 @@ self: {
        homepage = "https://github.com/jwiegley/rehoo";
        description = "Rebuild default.hoo from many .hoo files in the current directory";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "rei" = callPackage
@@ -172384,8 +176614,8 @@ self: {
      }:
      mkDerivation {
        pname = "relational-query";
-       version = "0.11.0.0";
-       sha256 = "0v0syrcagwmwqs9gikhdj0ji3cypfvfy9if8zyajkvxdkxpwvmaz";
+       version = "0.11.1.0";
+       sha256 = "1iydq7jdsizacvanvxdfad52vjaazb2awv2h3lyiqrsmva1y0qmq";
        libraryHaskellDepends = [
          array base bytestring containers dlist names-th persistable-record
          product-isomorphic sql-words template-haskell text th-reify-compat
@@ -172489,6 +176719,18 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "relevant-time" = callPackage
+    ({ mkDerivation, aeson, base, chronos, text, torsor }:
+     mkDerivation {
+       pname = "relevant-time";
+       version = "0.1.0.0";
+       sha256 = "0i9g6rqq31y6y9jnc9bi0vfrpxmjr3vqfjz2w4q7jc87dplyd2qk";
+       libraryHaskellDepends = [ aeson base chronos text torsor ];
+       homepage = "https://github.com/chessai/relevant-time.git";
+       description = "humanised relevant time";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "relit" = callPackage
     ({ mkDerivation, base, regex-base, template-haskell }:
      mkDerivation {
@@ -172805,6 +177047,8 @@ self: {
        pname = "repa";
        version = "3.4.1.3";
        sha256 = "0w3swrv5rdzkngcv1b6lndsg93y0y0wcxg7asgnxd529jsrdfciy";
+       revision = "2";
+       editedCabalFile = "0kmypfnpzjszdzhpd1lskp0plja8zyr8r2y9xyscx4g5md9hh0zp";
        libraryHaskellDepends = [
          base bytestring ghc-prim QuickCheck template-haskell vector
        ];
@@ -172819,6 +177063,8 @@ self: {
        pname = "repa-algorithms";
        version = "3.4.1.2";
        sha256 = "11lqq5j4g7p1dd47y65mfhzfsj8r27h7qj6qpc43g7kmf7h9gd87";
+       revision = "1";
+       editedCabalFile = "1dj9gq4v9y8818d5vx2zlsdl4fspwi4aywfbminr7dvlljhf415k";
        libraryHaskellDepends = [ base repa vector ];
        homepage = "http://repa.ouroborus.net";
        description = "Algorithms using the Repa array library";
@@ -172910,8 +177156,8 @@ self: {
        pname = "repa-examples";
        version = "3.4.1.1";
        sha256 = "16jg56021r7974z66rhfyp246cj0r7h6wabnpl590q3fljwh5039";
-       revision = "1";
-       editedCabalFile = "0acl57w635zi1il4r4jxzp3r1kd0zdqdiihinpbla5vnp3a5zg13";
+       revision = "3";
+       editedCabalFile = "0vdzcx1fixvgqzmjxra8gfwhzs56qdrzixscq074sddv7jh5iz2f";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -172971,8 +177217,8 @@ self: {
        pname = "repa-io";
        version = "3.4.1.1";
        sha256 = "1nm9kfin6fv016r02l74c9hf8pr1rz7s33i833cqpyw8m6bcmnxm";
-       revision = "1";
-       editedCabalFile = "0z0wbaz7svqdzjpmx7d9wwfjl31w0i29pcc1v11r26f9avw3g9qi";
+       revision = "2";
+       editedCabalFile = "0zslqm87abzrsbrw2dlnsmm8jnpvg7ldi2d83d7p5sih78ksfmmm";
        libraryHaskellDepends = [
          base binary bmp bytestring old-time repa vector
        ];
@@ -173318,8 +177564,8 @@ self: {
        pname = "req";
        version = "1.0.0";
        sha256 = "1s2yd61pw316llxyap7qwi18vrqxl6hhsmbgr79chjv5g119c087";
-       revision = "1";
-       editedCabalFile = "18bs1mcr454dgczzv8ahxps5lhba8wgls34cccg5aqdfhglprphk";
+       revision = "2";
+       editedCabalFile = "08yr09gfpml94ny6jmps2hn13bsb7r37rdn92gr2kmbryb188d1l";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          aeson authenticate-oauth base blaze-builder bytestring
@@ -173338,6 +177584,38 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "req_1_1_0" = callPackage
+    ({ mkDerivation, aeson, authenticate-oauth, base, blaze-builder
+     , bytestring, case-insensitive, connection, data-default-class
+     , hspec, hspec-core, hspec-discover, http-api-data, http-client
+     , http-client-tls, http-types, monad-control, mtl, QuickCheck
+     , retry, text, time, transformers, transformers-base
+     , unordered-containers
+     }:
+     mkDerivation {
+       pname = "req";
+       version = "1.1.0";
+       sha256 = "08jfq1fsqd57l7csw4fg22wppq06wddh8qxxms5z6bay55nqikc7";
+       enableSeparateDataOutput = true;
+       libraryHaskellDepends = [
+         aeson authenticate-oauth base blaze-builder bytestring
+         case-insensitive connection data-default-class http-api-data
+         http-client http-client-tls http-types monad-control mtl retry text
+         time transformers transformers-base
+       ];
+       testHaskellDepends = [
+         aeson base blaze-builder bytestring case-insensitive
+         data-default-class hspec hspec-core http-client http-types
+         monad-control mtl QuickCheck text time unordered-containers
+       ];
+       testToolDepends = [ hspec-discover ];
+       doCheck = false;
+       homepage = "https://github.com/mrkkrp/req";
+       description = "Easy-to-use, type-safe, expandable, high-level HTTP client library";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "req-conduit" = callPackage
     ({ mkDerivation, base, bytestring, conduit, conduit-extra, hspec
      , http-client, req, resourcet, temporary, transformers, weigh
@@ -173346,8 +177624,8 @@ self: {
        pname = "req-conduit";
        version = "1.0.0";
        sha256 = "193bv4jp7rrbpb1i9as9s2l978wz5kbz5kvr7ppllif5ppj699qx";
-       revision = "1";
-       editedCabalFile = "14m20b2i0kygminqw35y3wi1na7bfpkyg1yc03a48qy6rrdqgnc2";
+       revision = "3";
+       editedCabalFile = "1gnaq7ya4grjwadz58r9g10dybgg50ch89bhbnhyicdins2aa9b2";
        libraryHaskellDepends = [
          base bytestring conduit http-client req resourcet transformers
        ];
@@ -173364,6 +177642,29 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "req-oauth2" = callPackage
+    ({ mkDerivation, aeson, base, base64-bytestring, bytestring
+     , data-default-class, hspec, http-client, http-types, lens
+     , modern-uri, req, req-url-extra, text, transformers
+     }:
+     mkDerivation {
+       pname = "req-oauth2";
+       version = "0.1.0.0";
+       sha256 = "1qx5f4flyainc0m87fjyn6z65bfh10y6bh6vbbqmyy4m4aw47wia";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson base base64-bytestring bytestring data-default-class
+         http-client http-types lens modern-uri req req-url-extra text
+         transformers
+       ];
+       executableHaskellDepends = [ base ];
+       testHaskellDepends = [ base hspec ];
+       homepage = "https://github.com/rcook/req-oauth2#readme";
+       description = "Provides OAuth2 authentication for use with Req";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "req-url-extra" = callPackage
     ({ mkDerivation, aeson, base, data-default-class, hspec, modern-uri
      , req, text
@@ -173526,6 +177827,7 @@ self: {
        ];
        description = "Domain Name Service (DNS) lookup via the libresolv standard library routines";
        license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "resolve" = callPackage
@@ -173544,6 +177846,7 @@ self: {
        homepage = "https://github.com/riaqn/resolve#readme";
        description = "A name resolusion library";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "resolve-trivial-conflicts" = callPackage
@@ -173669,7 +177972,7 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
-  "resourcet" = callPackage
+  "resourcet_1_1_11" = callPackage
     ({ mkDerivation, base, containers, exceptions, hspec, lifted-base
      , mmorph, monad-control, mtl, transformers, transformers-base
      , transformers-compat, unliftio-core
@@ -173678,6 +177981,8 @@ self: {
        pname = "resourcet";
        version = "1.1.11";
        sha256 = "1n94m2c7rxk2bgm8wywrkp9pmqlnv2dl35yaylninzm8xk1xavil";
+       revision = "1";
+       editedCabalFile = "09sgrzaaishx645hrfflxckyaq0dwk22agjf4sz8nwjafyv3ssh9";
        libraryHaskellDepends = [
          base containers exceptions lifted-base mmorph monad-control mtl
          transformers transformers-base transformers-compat unliftio-core
@@ -173686,24 +177991,24 @@ self: {
        homepage = "http://github.com/snoyberg/conduit";
        description = "Deterministic allocation and freeing of scarce resources";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
-  "resourcet_1_2_0" = callPackage
+  "resourcet" = callPackage
     ({ mkDerivation, base, containers, exceptions, hspec, mtl
      , primitive, transformers, unliftio-core
      }:
      mkDerivation {
        pname = "resourcet";
-       version = "1.2.0";
-       sha256 = "09pscvkfr4cnicipdmx156xbxshg9aqgy0z3h0lcvxbhl5qwjp89";
+       version = "1.2.1";
+       sha256 = "0rzjzh34s36ssign7akqjnwnjxf11c3511wk7ky0xxy0dqmc2rg7";
        libraryHaskellDepends = [
          base containers exceptions mtl primitive transformers unliftio-core
        ];
-       testHaskellDepends = [ base hspec transformers ];
+       testHaskellDepends = [ base exceptions hspec transformers ];
        homepage = "http://github.com/snoyberg/conduit";
        description = "Deterministic allocation and freeing of scarce resources";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "respond" = callPackage
@@ -173745,31 +178050,8 @@ self: {
      }:
      mkDerivation {
        pname = "rest-client";
-       version = "0.5.1.1";
-       sha256 = "0qzn56bj821l9gcxyq6lcgwfa2444igiqczajybrnyy8yb4j792x";
-       revision = "2";
-       editedCabalFile = "0issr73rbnyaqfgx4c0wsy9sq948sqrkima2cr2sb1lkf8n4ihr8";
-       libraryHaskellDepends = [
-         aeson-utils base bytestring case-insensitive data-default
-         exceptions http-client http-conduit http-types hxt hxt-pickle-utils
-         monad-control mtl resourcet rest-types tostring transformers
-         transformers-base transformers-compat uri-encode utf8-string
-       ];
-       description = "Utility library for use in generated API client libraries";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "rest-client_0_5_2_1" = callPackage
-    ({ mkDerivation, aeson-utils, base, bytestring, case-insensitive
-     , data-default, exceptions, http-client, http-conduit, http-types
-     , hxt, hxt-pickle-utils, monad-control, mtl, resourcet, rest-types
-     , tostring, transformers, transformers-base, transformers-compat
-     , uri-encode, utf8-string
-     }:
-     mkDerivation {
-       pname = "rest-client";
-       version = "0.5.2.1";
-       sha256 = "0axilkrqjbq1l30cnm05fl0mm3ngnijnxgl6idi6mcydyrdgl14n";
+       version = "0.5.2.3";
+       sha256 = "1c4p68n3vb5w5xv0ha5bfq73qkcaqkyz0srfdn27pipy2s1h6p22";
        libraryHaskellDepends = [
          aeson-utils base bytestring case-insensitive data-default
          exceptions http-client http-conduit http-types hxt hxt-pickle-utils
@@ -173810,6 +178092,34 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "rest-core_0_39_0_2" = callPackage
+    ({ mkDerivation, aeson, aeson-utils, base, base-compat, bytestring
+     , case-insensitive, errors, fclabels, HUnit, hxt, hxt-pickle-utils
+     , json-schema, mtl, mtl-compat, multipart, random, rest-stringmap
+     , rest-types, safe, split, test-framework, test-framework-hunit
+     , text, transformers, transformers-compat, unordered-containers
+     , uri-encode, utf8-string, uuid
+     }:
+     mkDerivation {
+       pname = "rest-core";
+       version = "0.39.0.2";
+       sha256 = "0vr538sp8i5qwgd91bzvq9fxv939imxck6358xfzlgrk6x89cr1z";
+       libraryHaskellDepends = [
+         aeson aeson-utils base base-compat bytestring case-insensitive
+         errors fclabels hxt hxt-pickle-utils json-schema mtl mtl-compat
+         multipart random rest-stringmap rest-types safe split text
+         transformers transformers-compat unordered-containers uri-encode
+         utf8-string uuid
+       ];
+       testHaskellDepends = [
+         aeson base bytestring HUnit mtl test-framework test-framework-hunit
+         transformers transformers-compat unordered-containers
+       ];
+       description = "Rest API library";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "rest-example" = callPackage
     ({ mkDerivation, aeson, base, base-compat, bytestring, containers
      , generic-aeson, generic-xmlpickler, hxt, json-schema, mtl
@@ -173844,8 +178154,8 @@ self: {
      }:
      mkDerivation {
        pname = "rest-gen";
-       version = "0.20.0.1";
-       sha256 = "0fa4mz7drfy60lcg1j73qajy00byvhy759x195prj4nvbrsn5x31";
+       version = "0.20.0.3";
+       sha256 = "1kd8i5kqjsdc3pl5gpg3i3lhy807qd6x4gxc86hr9a8kkv7y7hfn";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          aeson base base-compat blaze-html Cabal code-builder directory
@@ -173859,6 +178169,7 @@ self: {
        ];
        description = "Documentation and client generation from rest definition";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "rest-happstack" = callPackage
@@ -173876,6 +178187,7 @@ self: {
        ];
        description = "Rest driver for Happstack";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "rest-snap" = callPackage
@@ -173901,10 +178213,8 @@ self: {
      }:
      mkDerivation {
        pname = "rest-stringmap";
-       version = "0.2.0.6";
-       sha256 = "0jjj0yam4d4w36lnxk0ci7ylb9ya48y0ag3b54k9ikyg0hps7rb6";
-       revision = "7";
-       editedCabalFile = "14jqqpxxs7vkrf6syycrg2ymh79gl83z13kq261alw5gy8yjnszv";
+       version = "0.2.0.7";
+       sha256 = "0l2l46c1mqpxq7hi37vjhaihfyapifjaxbzyi1bdhjkybx7n9m32";
        libraryHaskellDepends = [
          aeson base containers hashable hxt json-schema tostring
          unordered-containers
@@ -173920,10 +178230,8 @@ self: {
      }:
      mkDerivation {
        pname = "rest-types";
-       version = "1.14.1.1";
-       sha256 = "16lnwd7rwjb67sqklrwl40bq4h8qhp3wj1893y4vs85fpdjqxq5p";
-       revision = "4";
-       editedCabalFile = "04s5xcjycbw9fqhmpx0kmy5wmkpgcs84vam68w428rb7y64099mb";
+       version = "1.14.1.2";
+       sha256 = "0cjxnb4zvj7iafgy9h4wq8817wkm1mvas45xcb9346kwd3yqgvmy";
        libraryHaskellDepends = [
          aeson base base-compat case-insensitive generic-aeson
          generic-xmlpickler hxt json-schema rest-stringmap text uuid
@@ -173949,6 +178257,7 @@ self: {
        ];
        description = "Rest driver for WAI applications";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "restful-snap" = callPackage
@@ -173988,7 +178297,6 @@ self: {
        homepage = "https://github.com/lessrest/restless-git";
        description = "Easy Git repository serialization";
        license = stdenv.lib.licenses.gpl3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "restricted-workers" = callPackage
@@ -174149,8 +178457,8 @@ self: {
      }:
      mkDerivation {
        pname = "retry";
-       version = "0.7.6.1";
-       sha256 = "052kfbfvadrp2m8l0hnwi4j1jhqcw5m93wl9868863p5bd4w7j82";
+       version = "0.7.6.2";
+       sha256 = "0bmrp2h6pf43hr7sd6562qixw755h2xgszj700157pk2hxcz16ad";
        libraryHaskellDepends = [
          base data-default-class exceptions ghc-prim random transformers
        ];
@@ -174326,31 +178634,33 @@ self: {
      }) {};
 
   "rfc" = callPackage
-    ({ mkDerivation, aeson, aeson-diff, base, bifunctors, binary
-     , blaze-html, classy-prelude, containers, data-default
-     , freer-simple, hedis, http-api-data, http-client, http-client-tls
-     , http-types, lens, lifted-async, markdown, monad-control
-     , natural-transformation, network-uri, postgresql-simple
-     , resource-pool, servant, servant-blaze, servant-client
-     , servant-docs, servant-server, servant-swagger, simple-logger
-     , string-conversions, swagger2, temporary, text, time-units
-     , unliftio, unliftio-core, unordered-containers, url, uuid-types
-     , vector, wai, wai-cors, wai-extra, wreq
+    ({ mkDerivation, aeson, aeson-diff, attoparsec, base, binary
+     , blaze-html, bytestring, classy-prelude, containers, data-default
+     , envy, hedis, http-api-data, http-client, http-client-tls
+     , http-types, lens, lifted-async, markdown, miso, monad-control
+     , mono-traversable, mtl, natural-transformation, network
+     , network-uri, postgresql-typed, resource-pool, servant
+     , servant-blaze, servant-client, servant-docs, servant-server
+     , servant-swagger, simple-logger, swagger2, temporary, text
+     , text-conversions, time, time-units, unliftio, unliftio-core
+     , unordered-containers, url, uuid-types, wai, wai-cli, wai-cors
+     , wai-extra, warp, wreq
      }:
      mkDerivation {
        pname = "rfc";
-       version = "0.0.0.24";
-       sha256 = "05spf71r2zyc9pyx5kr2jsamyzga1y46831n6fmhad98bjswgr6q";
+       version = "0.0.0.25";
+       sha256 = "1yzi8cb90iy54wi463cpk9h961k53cilgdjcf252yw4qsvxcqh5i";
        libraryHaskellDepends = [
-         aeson aeson-diff base bifunctors binary blaze-html classy-prelude
-         containers data-default freer-simple hedis http-api-data
+         aeson aeson-diff attoparsec base binary blaze-html bytestring
+         classy-prelude containers data-default envy hedis http-api-data
          http-client http-client-tls http-types lens lifted-async markdown
-         monad-control natural-transformation network-uri postgresql-simple
-         resource-pool servant servant-blaze servant-client servant-docs
-         servant-server servant-swagger simple-logger string-conversions
-         swagger2 temporary text time-units unliftio unliftio-core
-         unordered-containers url uuid-types vector wai wai-cors wai-extra
-         wreq
+         miso monad-control mono-traversable mtl natural-transformation
+         network network-uri postgresql-typed resource-pool servant
+         servant-blaze servant-client servant-docs servant-server
+         servant-swagger simple-logger swagger2 temporary text
+         text-conversions time time-units unliftio unliftio-core
+         unordered-containers url uuid-types wai wai-cli wai-cors wai-extra
+         warp wreq
        ];
        homepage = "https://github.com/RobertFischer/rfc#README.md";
        description = "Robert Fischer's Common library";
@@ -174392,6 +178702,7 @@ self: {
        doHaddock = false;
        description = "Parse and display time according to RFC3339 (deprecated)";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "rfc5051" = callPackage
@@ -174631,7 +178942,6 @@ self: {
        homepage = "https://github.com/tel/riemann-hs";
        description = "A Riemann client for Haskell";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "riff" = callPackage
@@ -174677,8 +178987,8 @@ self: {
      }:
      mkDerivation {
        pname = "rio";
-       version = "0.0.3.0";
-       sha256 = "1mbxd2v0n0hbrmb1xh27snxxp1r8k87g4ijqsp99hnis8vmqmz84";
+       version = "0.1.2.0";
+       sha256 = "0449jjgw38dwf0lw3vq0ri3gh7mlzfjkajz8xdvxr76ffs9kncwq";
        libraryHaskellDepends = [
          base bytestring containers deepseq directory exceptions filepath
          hashable microlens mtl primitive process text time typed-process
@@ -174692,7 +179002,25 @@ self: {
        homepage = "https://github.com/commercialhaskell/rio#readme";
        description = "A standard library for Haskell";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "rio-orphans" = callPackage
+    ({ mkDerivation, base, exceptions, hspec, monad-control, resourcet
+     , rio, transformers-base
+     }:
+     mkDerivation {
+       pname = "rio-orphans";
+       version = "0.1.0.0";
+       sha256 = "09wy9h6smh532lrh13qzmni91yfb702x8i97r24d3ny6i3krzqi7";
+       libraryHaskellDepends = [
+         base exceptions monad-control resourcet rio transformers-base
+       ];
+       testHaskellDepends = [
+         base exceptions hspec monad-control resourcet rio transformers-base
+       ];
+       homepage = "https://github.com/commercialhaskell/rio#readme";
+       description = "Orphan instances for the RIO type in the rio package";
+       license = stdenv.lib.licenses.mit;
      }) {};
 
   "riot" = callPackage
@@ -175096,6 +179424,7 @@ self: {
        homepage = "https://www.github.com/ktvoelker/robin";
        description = "A build daemon for Haskell development";
        license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "robot" = callPackage
@@ -175119,8 +179448,8 @@ self: {
      }:
      mkDerivation {
        pname = "robots-txt";
-       version = "0.4.1.4";
-       sha256 = "18dkha42dcxl9f9771wpkji11m12v139wnscb47bm7s693w7p4nc";
+       version = "0.4.1.5";
+       sha256 = "025dm3rv4cpig8j02yzkr7xinzfcqmfiaaj8x5kzjw8mgcb1qpn3";
        libraryHaskellDepends = [
          attoparsec base bytestring old-locale time
        ];
@@ -175190,6 +179519,7 @@ self: {
        homepage = "http://github.com/serokell/rocksdb-haskell";
        description = "Haskell bindings to RocksDB";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {inherit (pkgs) rocksdb;};
 
   "roguestar" = callPackage
@@ -175266,6 +179596,22 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "roku-api" = callPackage
+    ({ mkDerivation, base, bytestring, http-client, network, text, xml
+     , xml-extractors
+     }:
+     mkDerivation {
+       pname = "roku-api";
+       version = "0.1.0.0";
+       sha256 = "01vqmzqpdj40qxym3iapn1csr10ld9a9imci1pyncdly6q3a343c";
+       libraryHaskellDepends = [
+         base bytestring http-client network text xml xml-extractors
+       ];
+       description = "Bindings to Roku's External Control API";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "roles" = callPackage
     ({ mkDerivation, base, containers }:
      mkDerivation {
@@ -175445,7 +179791,6 @@ self: {
        ];
        description = "Query the namecoin blockchain";
        license = stdenv.lib.licenses.gpl3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "rose-trees" = callPackage
@@ -175596,7 +179941,6 @@ self: {
        homepage = "https://github.com/RoboticsHS/rospkg#readme";
        description = "ROS package system information";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "rosso" = callPackage
@@ -175642,7 +179986,6 @@ self: {
        homepage = "http://github.com/Soostone/rotating-log";
        description = "Size-limited, concurrent, automatically-rotating log writer";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "roundRobin" = callPackage
@@ -175782,21 +180125,48 @@ self: {
      }) {};
 
   "row-types" = callPackage
-    ({ mkDerivation, base, criterion, deepseq, hashable, text
-     , unordered-containers
+    ({ mkDerivation, base, constraints, criterion, deepseq, hashable
+     , text, unordered-containers
      }:
      mkDerivation {
        pname = "row-types";
-       version = "0.2.0.0";
-       sha256 = "158k4q6b1ca7d8fkznl09mdd29z7w5clxh48i3b3m1bcmhjmcfmh";
+       version = "0.2.2.0";
+       sha256 = "1xv42yzv0xrb1bwqlmpmk7wwmq2mcf6d73g91aycq99hjq18bmcq";
        libraryHaskellDepends = [
-         base deepseq hashable text unordered-containers
+         base constraints deepseq hashable text unordered-containers
        ];
+       testHaskellDepends = [ base ];
        benchmarkHaskellDepends = [ base criterion deepseq ];
        description = "Open Records and Variants";
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "rowdy" = callPackage
+    ({ mkDerivation, base, containers, dlist, hspec, mtl }:
+     mkDerivation {
+       pname = "rowdy";
+       version = "0.0.1.0";
+       sha256 = "19nafk4zmhx76j0qzg1d5kh6mnzwnr5x3kvvxi56x24kfmvrq5qq";
+       libraryHaskellDepends = [ base containers dlist mtl ];
+       testHaskellDepends = [ base containers dlist hspec mtl ];
+       homepage = "https://github.com/parsonsmatt/rowdy#readme";
+       description = "An EDSL for web application routes";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "rowdy-yesod" = callPackage
+    ({ mkDerivation, base, hspec, rowdy, yesod-core }:
+     mkDerivation {
+       pname = "rowdy-yesod";
+       version = "0.0.1.0";
+       sha256 = "17k9bbxwpmxpswkmax6jrlcfrp6qhgdkjixsp4d6rn7mj676010g";
+       libraryHaskellDepends = [ base rowdy yesod-core ];
+       testHaskellDepends = [ base hspec rowdy yesod-core ];
+       homepage = "https://github.com/parsonsmatt/rowdy#readme";
+       description = "An EDSL for web application routes";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "rowrecord" = callPackage
     ({ mkDerivation, base, containers, template-haskell }:
      mkDerivation {
@@ -176042,8 +180412,8 @@ self: {
      }:
      mkDerivation {
        pname = "rtcm";
-       version = "0.2.14";
-       sha256 = "1ypwxlfmlhx3zjmgi24y5mriprk9wjnc14l0lry38j4ml11glcsd";
+       version = "0.2.16";
+       sha256 = "0sfllzq97yl1dn3f9avi538121kn7bj5syc27g7139fqrjhvjy18";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -176056,10 +180426,10 @@ self: {
        ];
        testHaskellDepends = [
          base basic-prelude binary binary-bits bytestring lens random tasty
-         tasty-hunit tasty-quickcheck word24
+         tasty-hunit tasty-quickcheck text word24
        ];
        homepage = "http://github.com/swift-nav/librtcm";
-       description = "RTCM Library";
+       description = "Haskell bindings for RTCM";
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
@@ -176338,16 +180708,16 @@ self: {
      }:
      mkDerivation {
        pname = "runmany";
-       version = "0.1.2";
-       sha256 = "1c672mxmgw3d7r3fbnjm9i7b74v00xrf95riwl2a52a1lpkmb0ip";
+       version = "0.1.3";
+       sha256 = "19pgmq009f5kpsilixbnsx5frl9c12v6in0blifandr9q3n9is9c";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
          async base bytestring optparse-applicative process stm
        ];
-       homepage = "https://github.com/jwiegley/runmany";
+       homepage = "https://github.com/jwiegley/runmany#readme";
        description = "Run multiple commands, interleaving output and errors";
-       license = stdenv.lib.licenses.mit;
+       license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
@@ -176453,7 +180823,6 @@ self: {
        homepage = "https://github.com/GaloisInc/s-cargot-letbind";
        description = "Enables let-binding and let-expansion for s-cargot defined S-expressions";
        license = stdenv.lib.licenses.isc;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "s-expression" = callPackage
@@ -176487,31 +180856,40 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "safe" = callPackage
-    ({ mkDerivation, base, deepseq, QuickCheck }:
+  "s3-signer_0_5_0_0" = callPackage
+    ({ mkDerivation, base, base64-bytestring, blaze-builder, byteable
+     , bytestring, case-insensitive, cryptohash, http-types, time
+     , utf8-string
+     }:
      mkDerivation {
-       pname = "safe";
-       version = "0.3.15";
-       sha256 = "0bbalr2n92akwcgdyl5ff45h8d4waamj1lp7ly6mdgda17k4lpm3";
-       libraryHaskellDepends = [ base ];
-       testHaskellDepends = [ base deepseq QuickCheck ];
-       homepage = "https://github.com/ndmitchell/safe#readme";
-       description = "Library of safe (exception free) functions";
+       pname = "s3-signer";
+       version = "0.5.0.0";
+       sha256 = "1r48j7ni8byzdi0girkj6lf2hp4q85ir2xnqpckzdxd0ppap2dnp";
+       libraryHaskellDepends = [
+         base base64-bytestring blaze-builder byteable bytestring
+         case-insensitive cryptohash http-types time utf8-string
+       ];
+       testHaskellDepends = [
+         base base64-bytestring blaze-builder byteable bytestring
+         case-insensitive cryptohash http-types time utf8-string
+       ];
+       homepage = "https://github.com/dmjio/s3-signer";
+       description = "Pre-signed Amazon S3 URLs";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
-  "safe_0_3_16" = callPackage
+  "safe" = callPackage
     ({ mkDerivation, base, deepseq, QuickCheck }:
      mkDerivation {
        pname = "safe";
-       version = "0.3.16";
-       sha256 = "0xar4gh32izxl2a102xpgjrhppin7hqa837pv3fswmlj51cfb2k8";
+       version = "0.3.17";
+       sha256 = "0p3yaf5slvyz1cyy51jq64c5rlp8yzwim8iy2dlnk42if4gc9ibr";
        libraryHaskellDepends = [ base ];
        testHaskellDepends = [ base deepseq QuickCheck ];
        homepage = "https://github.com/ndmitchell/safe#readme";
        description = "Library of safe (exception free) functions";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "safe-access" = callPackage
@@ -176526,22 +180904,18 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "safe-exceptions" = callPackage
-    ({ mkDerivation, base, deepseq, exceptions, hspec, transformers
-     , void
-     }:
+  "safe-coerce" = callPackage
+    ({ mkDerivation, base }:
      mkDerivation {
-       pname = "safe-exceptions";
-       version = "0.1.6.0";
-       sha256 = "074dy2f9fbhnh59clpz8c1ljplm1wwqjj7r3i4nv0rcl0khprm3i";
-       libraryHaskellDepends = [ base deepseq exceptions transformers ];
-       testHaskellDepends = [ base hspec void ];
-       homepage = "https://github.com/fpco/safe-exceptions#readme";
-       description = "Safe, consistent, and easy exception handling";
-       license = stdenv.lib.licenses.mit;
+       pname = "safe-coerce";
+       version = "0.1.0.0";
+       sha256 = "0qv4a6p547cnyvchnjrya8paq39gqpnbska9v5l64lqn3a28yk8p";
+       libraryHaskellDepends = [ base ];
+       description = "A friendly shorthand for an old friend";
+       license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "safe-exceptions_0_1_7_0" = callPackage
+  "safe-exceptions" = callPackage
     ({ mkDerivation, base, deepseq, exceptions, hspec, transformers
      , void
      }:
@@ -176549,14 +180923,13 @@ self: {
        pname = "safe-exceptions";
        version = "0.1.7.0";
        sha256 = "0sd0zfsm9pcll5bzzj523rbn45adjrnavdkz52hgmdjjgdcdrk8q";
-       revision = "1";
-       editedCabalFile = "12rv8mjrchpx9xaw87ph1hccr5hs6mb0g1imxjr8adw45prnvrw4";
+       revision = "3";
+       editedCabalFile = "0y1b9pw5wriyiffcmvk9g53imh6lm5fgfbjsgpn2w96qspaagdb5";
        libraryHaskellDepends = [ base deepseq exceptions transformers ];
        testHaskellDepends = [ base hspec void ];
        homepage = "https://github.com/fpco/safe-exceptions#readme";
        description = "Safe, consistent, and easy exception handling";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "safe-exceptions-checked" = callPackage
@@ -176665,23 +181038,25 @@ self: {
   "safe-money" = callPackage
     ({ mkDerivation, aeson, base, binary, bytestring, cereal
      , constraints, deepseq, hashable, serialise, store, tasty
-     , tasty-hunit, tasty-quickcheck, text, xmlbf
+     , tasty-hunit, tasty-quickcheck, text, vector-space, xmlbf
      }:
      mkDerivation {
        pname = "safe-money";
-       version = "0.4.1";
-       sha256 = "1ql02j1xb3m35y7axi3hsig894jzwzsm4l28ssms2m70lmbwv0qb";
+       version = "0.6";
+       sha256 = "1l8gn9vscng92s1dkfj2fa55k63jnzcnw590r5a8n7dqwaycpz7r";
        libraryHaskellDepends = [
          aeson base binary cereal constraints deepseq hashable serialise
-         store text xmlbf
+         store text vector-space xmlbf
        ];
        testHaskellDepends = [
          aeson base binary bytestring cereal constraints deepseq hashable
-         serialise store tasty tasty-hunit tasty-quickcheck text xmlbf
+         serialise store tasty tasty-hunit tasty-quickcheck text
+         vector-space xmlbf
        ];
        homepage = "https://github.com/k0001/safe-money";
        description = "Type-safe and lossless encoding and manipulation of money, fiat currencies, crypto currencies and precious metals";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "safe-plugins" = callPackage
@@ -176728,8 +181103,8 @@ self: {
      }:
      mkDerivation {
        pname = "safecopy";
-       version = "0.9.3.3";
-       sha256 = "17msazxg0iqvmsn4cwlnr1hwcw5bfp276zsg7x5r47ifi9j748nb";
+       version = "0.9.4.1";
+       sha256 = "110fa0x7dq4flaprwhzlwxa7j1465a6mnj9jl8xskb5s6p0whxhl";
        libraryHaskellDepends = [
          array base bytestring cereal containers old-time template-haskell
          text time vector
@@ -176784,7 +181159,6 @@ self: {
        homepage = "https://github.com/NCrashed/safecopy";
        description = "Binary serialization with version control";
        license = stdenv.lib.licenses.publicDomain;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "safeint" = callPackage
@@ -176950,16 +181324,17 @@ self: {
 
   "saltine" = callPackage
     ({ mkDerivation, base, bytestring, libsodium, profunctors
-     , QuickCheck, test-framework, test-framework-quickcheck2
+     , QuickCheck, semigroups, test-framework
+     , test-framework-quickcheck2
      }:
      mkDerivation {
        pname = "saltine";
-       version = "0.1.0.0";
-       sha256 = "1hkdvw4fr2p2wmgq9ghna0kq9x9yv3kc9sm9wh0c71cl7gxk9g52";
+       version = "0.1.0.1";
+       sha256 = "05m3w0xibnhk3whzp7rzn2y2hv9f2i8pyvjnmzsxwbs8ws30cac5";
        libraryHaskellDepends = [ base bytestring profunctors ];
        libraryPkgconfigDepends = [ libsodium ];
        testHaskellDepends = [
-         base bytestring QuickCheck test-framework
+         base bytestring QuickCheck semigroups test-framework
          test-framework-quickcheck2
        ];
        description = "Cryptography that's easy to digest (NaCl/libsodium bindings)";
@@ -176991,8 +181366,8 @@ self: {
     ({ mkDerivation, base, doctest }:
      mkDerivation {
        pname = "salve";
-       version = "1.0.0";
-       sha256 = "0s7np2xdzc7sbhyh0hwfx6bznjxji5cg4ymvqncjdcdkb8w31gdk";
+       version = "1.0.2";
+       sha256 = "0c5022vd2pll27q49s4jq47jip27v1kr417wzip7dw5z3b3dd1ni";
        libraryHaskellDepends = [ base ];
        testHaskellDepends = [ base doctest ];
        homepage = "https://github.com/tfausak/salve#readme";
@@ -177149,8 +181524,8 @@ self: {
      }:
      mkDerivation {
        pname = "sampling";
-       version = "0.3.2";
-       sha256 = "0kl2d53rp0wi3fb0apm8czzx1wj93ljl3a17w6yibyqgc3j5cqd6";
+       version = "0.3.3";
+       sha256 = "038fl0mdim3r25jsj8bgvnmkd7iy00hpwbc0yqwijsqyss9xrgn8";
        libraryHaskellDepends = [
          base containers foldl mwc-random primitive vector
        ];
@@ -177238,10 +181613,8 @@ self: {
      }:
      mkDerivation {
        pname = "sandi";
-       version = "0.4.1";
-       sha256 = "08y691z8m79qm4ajx5csmgv8f9x8q4r0bcfm8gb8x88lvg19493j";
-       revision = "1";
-       editedCabalFile = "1gk6vwydqdgz1s5glv4jlkaph7g19aqdf7yxbyq0m1afaj1rvjq9";
+       version = "0.4.2";
+       sha256 = "0dvkpk91n9kz2ha04rvp231ra9sgd1ilyc1qkzf9l03iir7zrh9b";
        libraryHaskellDepends = [
          base bytestring conduit exceptions stringsearch
        ];
@@ -177498,6 +181871,26 @@ self: {
        homepage = "https://github.com/chessai/savage";
        description = "re-export of the random generators from Hedgehog";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "sax" = callPackage
+    ({ mkDerivation, base, bytestring, deepseq, hspec, mtl, streaming
+     , text, xeno
+     }:
+     mkDerivation {
+       pname = "sax";
+       version = "0.1.0.0";
+       sha256 = "08hw88sccb1jb6iki622a988b8j5panbnjpgqcmsi1yx2c9nyxkj";
+       revision = "3";
+       editedCabalFile = "1gzalbr1v4x99cgrbs5s81fr2y0lzh0qhhi7r5fbxigc2yk9z0gg";
+       libraryHaskellDepends = [
+         base bytestring deepseq mtl streaming text xeno
+       ];
+       testHaskellDepends = [ base bytestring hspec ];
+       homepage = "https://github.com/dredozubov/sax-parser";
+       description = "Monadic streaming XML parser";
+       license = stdenv.lib.licenses.bsd3;
      }) {};
 
   "say" = callPackage
@@ -177522,12 +181915,12 @@ self: {
     ({ mkDerivation, aeson, array, base, base64-bytestring
      , basic-prelude, binary, binary-conduit, bytestring, conduit
      , conduit-extra, data-binary-ieee754, lens, lens-aeson, monad-loops
-     , resourcet, tasty, tasty-hunit, template-haskell, text, yaml
+     , resourcet, tasty, tasty-hunit, template-haskell, text, time, yaml
      }:
      mkDerivation {
        pname = "sbp";
-       version = "2.3.6";
-       sha256 = "05n81l73r1w39cwrjyapwddhq9fcgj22cpn2y5ccjk7mj72jknhk";
+       version = "2.3.16";
+       sha256 = "0m8i5n47bzlifp5pq6hkal7zbjga5j305sfccgjyrbiwpp1sxfg3";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -177537,7 +181930,7 @@ self: {
        ];
        executableHaskellDepends = [
          aeson base basic-prelude binary-conduit bytestring conduit
-         conduit-extra resourcet yaml
+         conduit-extra resourcet time yaml
        ];
        testHaskellDepends = [ base basic-prelude tasty tasty-hunit ];
        homepage = "https://github.com/swift-nav/libsbp";
@@ -177574,8 +181967,8 @@ self: {
      }:
      mkDerivation {
        pname = "sbv";
-       version = "7.4";
-       sha256 = "0yylg2zdrcqzckhmlz9d5chac1jawbnrdp7fn49ia1nsl0i3jggc";
+       version = "7.5";
+       sha256 = "1c5drbqz0qld54v0k29zkra1zj09izkzf0rrmgcmgvzz7dfac4ik";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          array async base containers crackNum data-binary-ieee754 deepseq
@@ -177583,8 +181976,8 @@ self: {
          QuickCheck random syb template-haskell time
        ];
        testHaskellDepends = [
-         base bytestring data-binary-ieee754 directory doctest filepath Glob
-         hlint mtl random syb tasty tasty-golden tasty-hunit
+         base bytestring containers data-binary-ieee754 directory doctest
+         filepath Glob hlint mtl random syb tasty tasty-golden tasty-hunit
          template-haskell
        ];
        testSystemDepends = [ z3 ];
@@ -177593,17 +181986,17 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {inherit (pkgs) z3;};
 
-  "sbv_7_5" = callPackage
+  "sbv_7_7" = callPackage
     ({ mkDerivation, array, async, base, bytestring, containers
      , crackNum, data-binary-ieee754, deepseq, directory, doctest
      , filepath, generic-deriving, ghc, Glob, hlint, mtl, pretty
      , process, QuickCheck, random, syb, tasty, tasty-golden
-     , tasty-hunit, template-haskell, time, z3
+     , tasty-hunit, tasty-quickcheck, template-haskell, time, z3
      }:
      mkDerivation {
        pname = "sbv";
-       version = "7.5";
-       sha256 = "1c5drbqz0qld54v0k29zkra1zj09izkzf0rrmgcmgvzz7dfac4ik";
+       version = "7.7";
+       sha256 = "0yf68qyp29kxgpdx5xdyx64vkn0dvfrizn5hq2xgrik0v9vb1ja0";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          array async base containers crackNum data-binary-ieee754 deepseq
@@ -177612,8 +182005,8 @@ self: {
        ];
        testHaskellDepends = [
          base bytestring containers data-binary-ieee754 directory doctest
-         filepath Glob hlint mtl random syb tasty tasty-golden tasty-hunit
-         template-haskell
+         filepath Glob hlint mtl QuickCheck random syb tasty tasty-golden
+         tasty-hunit tasty-quickcheck template-haskell
        ];
        testSystemDepends = [ z3 ];
        homepage = "http://leventerkok.github.com/sbv/";
@@ -177815,6 +182208,19 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "scanf" = callPackage
+    ({ mkDerivation, base, template-haskell }:
+     mkDerivation {
+       pname = "scanf";
+       version = "0.1.0.0";
+       sha256 = "0xf3g3dajaci71mgnd7z5xy4a29w40gg43a41x3fvd1a2wpi6xan";
+       libraryHaskellDepends = [ base template-haskell ];
+       testHaskellDepends = [ base ];
+       homepage = "https://github.com/Lysxia/scanf#readme";
+       description = "Easy and type-safe format strings for parsing and printing";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "scanner" = callPackage
     ({ mkDerivation, attoparsec, base, bytestring, cereal, criterion
      , hspec, text
@@ -177901,6 +182307,7 @@ self: {
        homepage = "http://trac.haskell.org/SCC/";
        description = "Streaming component combinators";
        license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "scenegraph" = callPackage
@@ -178026,6 +182433,7 @@ self: {
        homepage = "http://github.com/typeable/schematic";
        description = "JSON-biased spec and validation tool";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "scholdoc" = callPackage
@@ -178208,10 +182616,8 @@ self: {
      }:
      mkDerivation {
        pname = "scientific";
-       version = "0.3.5.2";
-       sha256 = "0msnjz7ml0zycw9bssslxbg0nigziw7vs5km4q3vjbs8jpzpkr2w";
-       revision = "5";
-       editedCabalFile = "19rrdna5f75rc21x6wr9m6x9h7776qbmi4z1cwwipfpij8hah54n";
+       version = "0.3.6.0";
+       sha256 = "1rdwqw2xi1c6305vbxa0sfyl18rjgir7flbdz2pbdvaj3nw44lr4";
        libraryHaskellDepends = [
          base binary bytestring containers deepseq hashable integer-gmp
          integer-logarithms primitive text
@@ -178226,6 +182632,31 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "scientific_0_3_6_2" = callPackage
+    ({ mkDerivation, base, binary, bytestring, containers, criterion
+     , deepseq, hashable, integer-gmp, integer-logarithms, primitive
+     , QuickCheck, smallcheck, tasty, tasty-ant-xml, tasty-hunit
+     , tasty-quickcheck, tasty-smallcheck, text
+     }:
+     mkDerivation {
+       pname = "scientific";
+       version = "0.3.6.2";
+       sha256 = "03ql2f0ac8bsl524idy9xxa3kxisb2sj3avflzw580j5hzy0m397";
+       libraryHaskellDepends = [
+         base binary bytestring containers deepseq hashable integer-gmp
+         integer-logarithms primitive text
+       ];
+       testHaskellDepends = [
+         base binary bytestring QuickCheck smallcheck tasty tasty-ant-xml
+         tasty-hunit tasty-quickcheck tasty-smallcheck text
+       ];
+       benchmarkHaskellDepends = [ base criterion ];
+       homepage = "https://github.com/basvandijk/scientific";
+       description = "Numbers represented using scientific notation";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "scion" = callPackage
     ({ mkDerivation, base, bytestring, Cabal, containers, directory
      , filepath, ghc, ghc-paths, ghc-syb, hslogger, json, multiset
@@ -178366,27 +182797,29 @@ self: {
 
   "scotty" = callPackage
     ({ mkDerivation, aeson, async, base, blaze-builder, bytestring
-     , case-insensitive, data-default-class, directory, fail, hspec
-     , hspec-wai, http-types, lifted-base, monad-control, mtl, nats
-     , network, regex-compat, text, transformers, transformers-base
-     , transformers-compat, wai, wai-extra, warp
+     , case-insensitive, data-default-class, directory, exceptions, fail
+     , hpc-coveralls, hspec, hspec-discover, hspec-wai, http-types
+     , lifted-base, monad-control, mtl, nats, network, regex-compat
+     , text, transformers, transformers-base, transformers-compat, wai
+     , wai-extra, warp
      }:
      mkDerivation {
        pname = "scotty";
-       version = "0.11.0";
-       sha256 = "1vc6lc8q1cqqq67y78c70sw2jim8ps7bgp85a2gjgwfc6z4h68l9";
-       revision = "9";
-       editedCabalFile = "0cdvv4qsda5rkdj93400i8n3lzkxmz9xci7i38pri9axmics28qa";
+       version = "0.11.1";
+       sha256 = "1xcdfx43v1p2a20jjmnb70v2sm34iprn17ssa81fcfnabcn4blhw";
+       revision = "1";
+       editedCabalFile = "0msb0ydgga07gicchs8k0f7d35gp18vrin649q6yqah75l5i2f9x";
        libraryHaskellDepends = [
          aeson base blaze-builder bytestring case-insensitive
-         data-default-class fail http-types monad-control mtl nats network
-         regex-compat text transformers transformers-base
+         data-default-class exceptions fail http-types monad-control mtl
+         nats network regex-compat text transformers transformers-base
          transformers-compat wai wai-extra warp
        ];
        testHaskellDepends = [
-         async base data-default-class directory hspec hspec-wai http-types
-         lifted-base network text wai
+         async base bytestring data-default-class directory hpc-coveralls
+         hspec hspec-wai http-types lifted-base network text wai
        ];
+       testToolDepends = [ hspec-discover ];
        homepage = "https://github.com/scotty-web/scotty";
        description = "Haskell web framework inspired by Ruby's Sinatra, using WAI and Warp";
        license = stdenv.lib.licenses.bsd3;
@@ -178528,8 +182961,8 @@ self: {
      }:
      mkDerivation {
        pname = "scotty-resource";
-       version = "0.2.0.1";
-       sha256 = "0y39sxvin9ljwk2jxnb18wr79d0ap9363vr2mh8xbc4llq0yjavj";
+       version = "0.2.0.2";
+       sha256 = "1lhaajsx34hlci76wjvab7a1sjd42silxsvf94ncf0pc0rmjqg1n";
        libraryHaskellDepends = [
          base containers http-types scotty text transformers wai
        ];
@@ -178563,6 +182996,7 @@ self: {
        homepage = "http://github.com/ehamberg/scotty-rest";
        description = "Webmachine-style REST library for scotty";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "scotty-session" = callPackage
@@ -178716,8 +183150,8 @@ self: {
      }:
      mkDerivation {
        pname = "scroll";
-       version = "1.20170122";
-       sha256 = "0f4blgfaz69y2i6cj91zq63v5dqv7invjvqv5a4l1rgjixpn7dc9";
+       version = "1.20180421";
+       sha256 = "0apzrvf99rskj4dbmn57jjxrsf19j436s8a09m950df5aws3a0wj";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -178860,8 +183294,8 @@ self: {
      }:
      mkDerivation {
        pname = "sdl2";
-       version = "2.3.0.1";
-       sha256 = "1cyp3afs89xsqn3hxzk1223vpbifr1w2faczqfkii3irdgpqjl6k";
+       version = "2.4.0.1";
+       sha256 = "0kb4nl653b0p7bcv9h4b2bhpgdb49v2d49ri3cs4yykdrl58v2cs";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -178966,29 +183400,6 @@ self: {
 
   "sdl2-mixer" = callPackage
     ({ mkDerivation, base, bytestring, data-default-class, lifted-base
-     , monad-control, sdl2, SDL2_mixer, template-haskell, text
-     , transformers, vector
-     }:
-     mkDerivation {
-       pname = "sdl2-mixer";
-       version = "0.1";
-       sha256 = "1h1b5q5jrns4ia5ih9qrhqvld96vfc1f4z1m5pcyx1qwkqfz696r";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         base bytestring data-default-class lifted-base monad-control sdl2
-         template-haskell text transformers vector
-       ];
-       librarySystemDepends = [ SDL2_mixer ];
-       libraryPkgconfigDepends = [ SDL2_mixer ];
-       executableHaskellDepends = [ base data-default-class sdl2 vector ];
-       description = "Bindings to SDL2_mixer";
-       license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
-     }) {inherit (pkgs) SDL2_mixer;};
-
-  "sdl2-mixer_1_1_0" = callPackage
-    ({ mkDerivation, base, bytestring, data-default-class, lifted-base
      , monad-control, sdl2, SDL2_mixer, template-haskell, vector
      }:
      mkDerivation {
@@ -179027,6 +183438,25 @@ self: {
        hydraPlatforms = [ "i686-linux" "x86_64-linux" ];
      }) {inherit (pkgs) SDL2; inherit (pkgs) SDL2_ttf;};
 
+  "sdl2-ttf_2_1_0" = callPackage
+    ({ mkDerivation, base, bytestring, SDL2, sdl2, SDL2_ttf
+     , template-haskell, text, transformers
+     }:
+     mkDerivation {
+       pname = "sdl2-ttf";
+       version = "2.1.0";
+       sha256 = "1xw05jgv6x9xplahwf3jjdq6v3mha4s7bb27kn8x66764glnyrf7";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base bytestring sdl2 template-haskell text transformers
+       ];
+       libraryPkgconfigDepends = [ SDL2 SDL2_ttf ];
+       description = "Bindings to SDL2_ttf";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {inherit (pkgs) SDL2; inherit (pkgs) SDL2_ttf;};
+
   "sdnv" = callPackage
     ({ mkDerivation, base, binary, bytestring }:
      mkDerivation {
@@ -179041,22 +183471,22 @@ self: {
   "sdr" = callPackage
     ({ mkDerivation, array, base, bytestring, cairo, cereal, Chart
      , Chart-cairo, colour, containers, criterion, Decimal
-     , dynamic-graph, either, fftwRaw, GLFW-b, mwc-random, OpenGL
+     , dynamic-graph, fftwRaw, GLFW-b, mwc-random, OpenGL
      , optparse-applicative, pango, pipes, pipes-bytestring
      , pipes-concurrency, primitive, pulse-simple, QuickCheck, rtlsdr
      , storable-complex, test-framework, test-framework-quickcheck2
-     , time, tuple, vector
+     , time, transformers, tuple, vector
      }:
      mkDerivation {
        pname = "sdr";
-       version = "0.1.0.10";
-       sha256 = "1cjp05sk558vcwasbi15j6qzpa9icfqcyjsvz3a4b2fb59z6gv6z";
+       version = "0.1.0.11";
+       sha256 = "0gkf7ql1a40vpb4qaivcyygvlykp4whljmhp2jy37bk56zr45yvv";
        libraryHaskellDepends = [
          array base bytestring cairo cereal Chart Chart-cairo colour
-         containers Decimal dynamic-graph either fftwRaw GLFW-b mwc-random
-         OpenGL optparse-applicative pango pipes pipes-bytestring
-         pipes-concurrency primitive pulse-simple rtlsdr storable-complex
-         time tuple vector
+         containers Decimal dynamic-graph fftwRaw GLFW-b mwc-random OpenGL
+         optparse-applicative pango pipes pipes-bytestring pipes-concurrency
+         primitive pulse-simple rtlsdr storable-complex time transformers
+         tuple vector
        ];
        testHaskellDepends = [
          base primitive QuickCheck storable-complex test-framework
@@ -179424,6 +183854,24 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "selda_0_2_0_0" = callPackage
+    ({ mkDerivation, base, bytestring, exceptions, hashable, mtl
+     , psqueues, text, time, unordered-containers
+     }:
+     mkDerivation {
+       pname = "selda";
+       version = "0.2.0.0";
+       sha256 = "1l9ad4d1m0ylfihg0hpfxanxil09c658jl1bmgzn8268akqay9nj";
+       libraryHaskellDepends = [
+         base bytestring exceptions hashable mtl psqueues text time
+         unordered-containers
+       ];
+       homepage = "https://selda.link";
+       description = "Multi-backend, high-level EDSL for interacting with SQL databases";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "selda-postgresql" = callPackage
     ({ mkDerivation, base, bytestring, exceptions, postgresql-libpq
      , selda, text
@@ -179432,6 +183880,8 @@ self: {
        pname = "selda-postgresql";
        version = "0.1.7.2";
        sha256 = "06z5zrika018433p5l011wxc308zw7l9ilnkgwcykagsnmai4y7z";
+       revision = "1";
+       editedCabalFile = "08f2xdfpmbwhrwkjaqfmd9k25c3xn3p477d7a1mnnn7kf7328782";
        libraryHaskellDepends = [
          base bytestring exceptions postgresql-libpq selda text
        ];
@@ -179448,8 +183898,8 @@ self: {
        pname = "selda-sqlite";
        version = "0.1.6.0";
        sha256 = "1473igqgjs5282rykqj1zg7420mfh3sbqy74nx1cwbm82j8shyy6";
-       revision = "1";
-       editedCabalFile = "0yf1n9iaaafnllkb2yi38ncyd3q062g4p7ln9ypb6h8gcym8s8m1";
+       revision = "2";
+       editedCabalFile = "198pg9i0lfx3fwf7b7cw0x5kial6vbf0dqwh18jnh7na3pyn1jr6";
        libraryHaskellDepends = [
          base direct-sqlite directory exceptions selda text
        ];
@@ -179636,30 +184086,6 @@ self: {
   "semigroupoids" = callPackage
     ({ mkDerivation, base, base-orphans, bifunctors, Cabal
      , cabal-doctest, comonad, containers, contravariant, distributive
-     , doctest, hashable, semigroups, tagged, transformers
-     , transformers-compat, unordered-containers
-     }:
-     mkDerivation {
-       pname = "semigroupoids";
-       version = "5.2.1";
-       sha256 = "006jys6kvckkmbnhf4jc51sh64hamkz464mr8ciiakybrfvixr3r";
-       revision = "3";
-       editedCabalFile = "0wzcnpz8pyjk823vqnq5s8krsb8i6cw573hcschpd9x5ynq4li70";
-       setupHaskellDepends = [ base Cabal cabal-doctest ];
-       libraryHaskellDepends = [
-         base base-orphans bifunctors comonad containers contravariant
-         distributive hashable semigroups tagged transformers
-         transformers-compat unordered-containers
-       ];
-       testHaskellDepends = [ base doctest ];
-       homepage = "http://github.com/ekmett/semigroupoids";
-       description = "Semigroupoids: Category sans id";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "semigroupoids_5_2_2" = callPackage
-    ({ mkDerivation, base, base-orphans, bifunctors, Cabal
-     , cabal-doctest, comonad, containers, contravariant, distributive
      , doctest, hashable, semigroups, tagged, template-haskell
      , transformers, transformers-compat, unordered-containers
      }:
@@ -179667,8 +184093,8 @@ self: {
        pname = "semigroupoids";
        version = "5.2.2";
        sha256 = "17i96y4iqj8clcs090lf6k0ij3j16nj14vsfwz0mm9nd6i4gbpp4";
-       revision = "2";
-       editedCabalFile = "1ps5v8c9w39jbcakg4vignza5mr4cjanxwh9y0hslwpm5mhh7326";
+       revision = "3";
+       editedCabalFile = "1k7iq54rkiqrx5kdcc6mc11agqqcnp1hgrw6c6rl3yjybz1vc5y4";
        setupHaskellDepends = [ base Cabal cabal-doctest ];
        libraryHaskellDepends = [
          base base-orphans bifunctors comonad containers contravariant
@@ -179679,7 +184105,6 @@ self: {
        homepage = "http://github.com/ekmett/semigroupoids";
        description = "Semigroupoids: Category sans id";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "semigroupoids-syntax" = callPackage
@@ -179782,6 +184207,24 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "semirings" = callPackage
+    ({ mkDerivation, base, constrictor, containers, hashable
+     , integer-gmp, semigroups, transformers, unordered-containers
+     , vector
+     }:
+     mkDerivation {
+       pname = "semirings";
+       version = "0.1.2";
+       sha256 = "1fn1hbrnljgx8kdnmk0c01zi1r0pk59cildla9gb6bykqs4rwmws";
+       libraryHaskellDepends = [
+         base constrictor containers hashable integer-gmp semigroups
+         transformers unordered-containers vector
+       ];
+       homepage = "http://github.com/chessai/semirings";
+       description = "two monoids as one, in holy haskimony";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "semver" = callPackage
     ({ mkDerivation, attoparsec, base, criterion, deepseq, tasty
      , tasty-hunit, text
@@ -179804,8 +184247,8 @@ self: {
      }:
      mkDerivation {
        pname = "semver-range";
-       version = "0.2.2";
-       sha256 = "0rmllgibgyixqq59265qnygxlgp87lp1cfqzlfpzvvwl1kaixds5";
+       version = "0.2.7";
+       sha256 = "04492jx61yj4vq9bf1jg3xnviy22wb03d1kf358dy7w6xx1zzlfc";
        libraryHaskellDepends = [
          base classy-prelude parsec text unordered-containers
        ];
@@ -179845,6 +184288,7 @@ self: {
        homepage = "https://owainlewis.com";
        description = "Sengrid API";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "sendgrid-v3" = callPackage
@@ -179889,7 +184333,6 @@ self: {
        homepage = "https://github.com/hspec/sensei#readme";
        description = "Automatically run Hspec tests on file modifications";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "sensenet" = callPackage
@@ -179918,8 +184361,8 @@ self: {
      }:
      mkDerivation {
        pname = "sensu-run";
-       version = "0.4.0.4";
-       sha256 = "1pgzfa6ns67fq5cx7qizwjfb2gw6awx012iwhskx8s4wg9snbq5y";
+       version = "0.4.0.5";
+       sha256 = "0mmpfxc4vzcz1714fgskbjkrfb9bxh6wjcpd66cwbkb9d8nsa0f7";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -179932,6 +184375,29 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "sensu-run_0_5_0_1" = callPackage
+    ({ mkDerivation, aeson, async, base, bytestring, filepath
+     , http-client, http-client-tls, http-types, lens, network
+     , optparse-applicative, process, temporary, text, time, unix
+     , unix-compat, vector, wreq
+     }:
+     mkDerivation {
+       pname = "sensu-run";
+       version = "0.5.0.1";
+       sha256 = "1kxdndaimwgj9mjjhb5z8kb36k4awby8a3h1dpghvas1l64i5dfl";
+       isLibrary = false;
+       isExecutable = true;
+       executableHaskellDepends = [
+         aeson async base bytestring filepath http-client http-client-tls
+         http-types lens network optparse-applicative process temporary text
+         time unix unix-compat vector wreq
+       ];
+       homepage = "https://github.com/maoe/sensu-run#readme";
+       description = "A tool to send command execution results to Sensu";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "sentence-jp" = callPackage
     ({ mkDerivation, base, mecab, random-shuffle, text, transformers }:
      mkDerivation {
@@ -179947,6 +184413,23 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "sentiwordnet-parser" = callPackage
+    ({ mkDerivation, base, Decimal, hashable, parsers, safe
+     , string-class, text, trifecta, unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "sentiwordnet-parser";
+       version = "0.2.0.0";
+       sha256 = "0gbzzrd5wivxrcha8w0ncgqz7qr29f4aclz4i7z607lz2lywrifm";
+       libraryHaskellDepends = [
+         base Decimal hashable parsers safe string-class text trifecta
+         unordered-containers vector
+       ];
+       homepage = "https://github.com/k-bx/sentiwordnet-parser#readme";
+       description = "Parser for the SentiWordNet tab-separated file";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "sentry" = callPackage
     ({ mkDerivation, ansi-terminal, base, bytestring, cereal, cmdargs
      , directory, filepath, old-locale, old-time, process, safecopy
@@ -180291,6 +184774,7 @@ self: {
        homepage = "https://github.com/well-typed/cborg";
        description = "A binary serialisation library for Haskell values";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "serialize-instances" = callPackage
@@ -180421,37 +184905,6 @@ self: {
 
   "servant" = callPackage
     ({ mkDerivation, aeson, aeson-compat, attoparsec, base, base-compat
-     , bytestring, Cabal, cabal-doctest, case-insensitive, directory
-     , doctest, filemanip, filepath, hspec, http-api-data, http-media
-     , http-types, mmorph, mtl, natural-transformation, network-uri
-     , QuickCheck, quickcheck-instances, string-conversions, tagged
-     , text, url, vault
-     }:
-     mkDerivation {
-       pname = "servant";
-       version = "0.11";
-       sha256 = "00vbhijdxb00n8ha068zdwvqlfqv1iradkkdchzzvnhg2jpzgcy5";
-       revision = "2";
-       editedCabalFile = "1b5zxz1cqf0n2y1jfvb1rsza95hdyhn9fc6fl73bxr5m9apv511z";
-       setupHaskellDepends = [ base Cabal cabal-doctest ];
-       libraryHaskellDepends = [
-         aeson attoparsec base base-compat bytestring case-insensitive
-         http-api-data http-media http-types mmorph mtl
-         natural-transformation network-uri string-conversions tagged text
-         vault
-       ];
-       testHaskellDepends = [
-         aeson aeson-compat attoparsec base base-compat bytestring directory
-         doctest filemanip filepath hspec QuickCheck quickcheck-instances
-         string-conversions text url
-       ];
-       homepage = "http://haskell-servant.readthedocs.org/";
-       description = "A family of combinators for defining webservices APIs";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "servant_0_13" = callPackage
-    ({ mkDerivation, aeson, aeson-compat, attoparsec, base, base-compat
      , bytestring, Cabal, cabal-doctest, case-insensitive, doctest
      , hspec, hspec-discover, http-api-data, http-media, http-types
      , mmorph, mtl, natural-transformation, network-uri, QuickCheck
@@ -180460,8 +184913,8 @@ self: {
      }:
      mkDerivation {
        pname = "servant";
-       version = "0.13";
-       sha256 = "0fmwcrkjlq1rnlbzdn918z54pqbwrjpgwy2isxmfykb31m2pn230";
+       version = "0.13.0.1";
+       sha256 = "0vfypxdhz1yqkj6ini41ylas91jklvn05rrnarp4d57rli498jx7";
        setupHaskellDepends = [ base Cabal cabal-doctest ];
        libraryHaskellDepends = [
          aeson attoparsec base base-compat bytestring case-insensitive
@@ -180477,7 +184930,6 @@ self: {
        homepage = "http://haskell-servant.readthedocs.org/";
        description = "A family of combinators for defining webservices APIs";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "servant-JuicyPixels" = callPackage
@@ -180569,35 +185021,6 @@ self: {
 
   "servant-auth-cookie" = callPackage
     ({ mkDerivation, base, base64-bytestring, blaze-builder, bytestring
-     , cereal, cookie, criterion, cryptonite, data-default, deepseq
-     , exceptions, hspec, http-api-data, http-types, memory, mtl
-     , QuickCheck, servant, servant-server, tagged, time, transformers
-     , wai
-     }:
-     mkDerivation {
-       pname = "servant-auth-cookie";
-       version = "0.5.0.5";
-       sha256 = "1ml7f452ikfwzymvajrs0fmlww7pbq5prphsv65r12n4pzx9ynva";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         base base64-bytestring blaze-builder bytestring cereal cookie
-         cryptonite data-default exceptions http-api-data http-types memory
-         mtl servant servant-server tagged time transformers wai
-       ];
-       testHaskellDepends = [
-         base bytestring cereal cryptonite data-default deepseq hspec
-         QuickCheck servant-server time transformers
-       ];
-       benchmarkHaskellDepends = [
-         base bytestring criterion cryptonite servant-server
-       ];
-       description = "Authentication via encrypted cookies";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "servant-auth-cookie_0_6_0_3" = callPackage
-    ({ mkDerivation, base, base64-bytestring, blaze-builder, bytestring
      , cereal, cereal-time, cookie, criterion, cryptonite, data-default
      , deepseq, exceptions, hspec, http-api-data, http-types, memory
      , mtl, QuickCheck, servant, servant-server, tagged
@@ -180721,6 +185144,7 @@ self: {
        homepage = "http://github.com/haskell-servant/servant-auth#readme";
        description = "servant-server/servant-auth compatibility";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "servant-auth-swagger" = callPackage
@@ -180761,7 +185185,6 @@ self: {
        homepage = "https://github.com/ncrashed/servant-auth-token#readme";
        description = "Servant based API and server for token based authorisation";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "servant-auth-token-acid" = callPackage
@@ -180773,8 +185196,8 @@ self: {
      }:
      mkDerivation {
        pname = "servant-auth-token-acid";
-       version = "0.5.3.0";
-       sha256 = "1fwzsx13lvqaaxh8cfs7zi8l2a0c7kgz8gnnwgssrasnk27jsc20";
+       version = "0.5.3.1";
+       sha256 = "0mndi1b0sgfik7yij3l65bcsqp820igbf09nnrk8dmznnama56y4";
        libraryHaskellDepends = [
          acid-state aeson-injector base bytestring containers ghc-prim
          monad-control mtl safe safecopy servant-auth-token
@@ -180802,7 +185225,6 @@ self: {
        homepage = "https://github.com/ncrashed/servant-auth-token-api#readme";
        description = "Servant based API for token based authorisation";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "servant-auth-token-leveldb" = callPackage
@@ -180876,20 +185298,6 @@ self: {
      }) {};
 
   "servant-blaze" = callPackage
-    ({ mkDerivation, base, blaze-html, http-media, servant }:
-     mkDerivation {
-       pname = "servant-blaze";
-       version = "0.7.1";
-       sha256 = "0ii60xn5khsj8w3glvwqpwrpd6v9yc1n52gk9qsfwfxq49x1rvch";
-       revision = "6";
-       editedCabalFile = "051m44rqmxkl30n96qcbz1xwwsw2n7l7laflnc0xydc40ws0bj96";
-       libraryHaskellDepends = [ base blaze-html http-media servant ];
-       homepage = "http://haskell-servant.readthedocs.org/";
-       description = "Blaze-html support for servant";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "servant-blaze_0_8" = callPackage
     ({ mkDerivation, base, blaze-html, http-media, servant
      , servant-server, wai, warp
      }:
@@ -180902,7 +185310,6 @@ self: {
        homepage = "http://haskell-servant.readthedocs.org/";
        description = "Blaze-html support for servant";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "servant-cassava" = callPackage
@@ -180913,8 +185320,8 @@ self: {
        pname = "servant-cassava";
        version = "0.10";
        sha256 = "03jnyghwa5kjbl5j55njmp7as92flw91zs9cgdvb4jrsdy85sb4v";
-       revision = "1";
-       editedCabalFile = "165q0rvbk09z4k5zwhpx6380gakqbbz2xwvw40ahpjf46p0k9159";
+       revision = "2";
+       editedCabalFile = "11f5azqs007dfk5zr6sa43cri809k7jlf680gf3d7zcwhlf3xiq4";
        libraryHaskellDepends = [
          base base-compat bytestring cassava http-media servant vector
        ];
@@ -180925,37 +185332,11 @@ self: {
        homepage = "http://haskell-servant.readthedocs.org/";
        description = "Servant CSV content-type for cassava";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "servant-checked-exceptions" = callPackage
     ({ mkDerivation, aeson, base, bytestring, deepseq, doctest, Glob
-     , hspec-wai, http-media, profunctors, servant, servant-client
-     , servant-docs, servant-server, tagged, tasty, tasty-hspec
-     , tasty-hunit, text, wai
-     }:
-     mkDerivation {
-       pname = "servant-checked-exceptions";
-       version = "0.4.1.0";
-       sha256 = "19h0vywlh6b41mdjpka4b7rz4l6gxmjlvji8nzbgkllsjgr81g3g";
-       revision = "1";
-       editedCabalFile = "07srldxvgzgzxq5dik787ays7xylwsdmz8bv3ffvp435nvvpmrzr";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         aeson base bytestring deepseq http-media profunctors servant
-         servant-client servant-docs servant-server tagged text
-       ];
-       testHaskellDepends = [
-         base bytestring doctest Glob hspec-wai servant servant-server tasty
-         tasty-hspec tasty-hunit wai
-       ];
-       homepage = "https://github.com/cdepillabout/servant-checked-exceptions";
-       description = "Checked exceptions for Servant APIs";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "servant-checked-exceptions_1_1_0_0" = callPackage
-    ({ mkDerivation, aeson, base, bytestring, deepseq, doctest, Glob
      , hspec-wai, http-media, http-types, profunctors, servant
      , servant-client, servant-client-core, servant-docs, servant-server
      , tagged, tasty, tasty-hspec, tasty-hunit, text, wai
@@ -180978,43 +185359,9 @@ self: {
        homepage = "https://github.com/cdepillabout/servant-checked-exceptions";
        description = "Checked exceptions for Servant APIs";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "servant-client" = callPackage
-    ({ mkDerivation, aeson, attoparsec, base, base-compat
-     , base64-bytestring, bytestring, deepseq, exceptions, generics-sop
-     , hspec, http-api-data, http-client, http-client-tls, http-media
-     , http-types, HUnit, monad-control, mtl, network, network-uri
-     , QuickCheck, safe, semigroupoids, servant, servant-server
-     , string-conversions, text, transformers, transformers-base
-     , transformers-compat, wai, warp
-     }:
-     mkDerivation {
-       pname = "servant-client";
-       version = "0.11";
-       sha256 = "1yiar76gf1zg8jaymz0xq751xs51fp0ryra4x4hwg71s32l2nvga";
-       revision = "2";
-       editedCabalFile = "0w3b3036rv9vfya5ayn9z70rkwk7hd9zisl7klgxzk4fgfmc3sgd";
-       libraryHaskellDepends = [
-         aeson attoparsec base base-compat base64-bytestring bytestring
-         exceptions generics-sop http-api-data http-client http-client-tls
-         http-media http-types monad-control mtl network-uri safe
-         semigroupoids servant string-conversions text transformers
-         transformers-base transformers-compat
-       ];
-       testHaskellDepends = [
-         aeson base base-compat bytestring deepseq generics-sop hspec
-         http-api-data http-client http-media http-types HUnit mtl network
-         QuickCheck servant servant-server text transformers
-         transformers-compat wai warp
-       ];
-       homepage = "http://haskell-servant.readthedocs.org/";
-       description = "automatical derivation of querying functions for servant webservices";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "servant-client_0_13" = callPackage
     ({ mkDerivation, aeson, attoparsec, base, base-compat, bytestring
      , containers, deepseq, exceptions, generics-sop, hspec
      , hspec-discover, http-api-data, http-client, http-client-tls
@@ -181025,8 +185372,8 @@ self: {
      }:
      mkDerivation {
        pname = "servant-client";
-       version = "0.13";
-       sha256 = "0bfrc3j2b6mbsvbv66l7mh3klkrrfdjvaq5s834jiivaavc6zf93";
+       version = "0.13.0.1";
+       sha256 = "120qs135arlby811p9z6zqjyrhsm517dq1xq41x3s2f167zkd7q8";
        libraryHaskellDepends = [
          aeson attoparsec base base-compat bytestring containers exceptions
          http-client http-client-tls http-media http-types monad-control mtl
@@ -181043,7 +185390,6 @@ self: {
        homepage = "http://haskell-servant.readthedocs.org/";
        description = "automatical derivation of querying functions for servant webservices";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "servant-client-core" = callPackage
@@ -181054,8 +185400,8 @@ self: {
      }:
      mkDerivation {
        pname = "servant-client-core";
-       version = "0.13";
-       sha256 = "1n7s47cqvahzfyyb4cwnq72a0qyrk8ybx4yj3g4lw9va2zlj78vp";
+       version = "0.13.0.1";
+       sha256 = "0fr5lb5ra0nzjay9rm3xyyc01ijqxwr9wa0yxsjx1vippfnbds70";
        libraryHaskellDepends = [
          base base-compat base64-bytestring bytestring containers exceptions
          generics-sop http-api-data http-media http-types mtl network-uri
@@ -181132,34 +185478,6 @@ self: {
   "servant-docs" = callPackage
     ({ mkDerivation, aeson, aeson-pretty, base, base-compat, bytestring
      , case-insensitive, control-monad-omega, hashable, hspec
-     , http-media, http-types, lens, servant, string-conversions, text
-     , unordered-containers
-     }:
-     mkDerivation {
-       pname = "servant-docs";
-       version = "0.11";
-       sha256 = "02bzp1bcvc54cx0kcnnsqqiva7rwbrn46a7gdxzqqiqrmm0a0fm0";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         aeson aeson-pretty base base-compat bytestring case-insensitive
-         control-monad-omega hashable http-media http-types lens servant
-         string-conversions text unordered-containers
-       ];
-       executableHaskellDepends = [
-         aeson base lens servant string-conversions text
-       ];
-       testHaskellDepends = [
-         aeson base hspec lens servant string-conversions
-       ];
-       homepage = "http://haskell-servant.readthedocs.org/";
-       description = "generate API docs for your servant webservice";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "servant-docs_0_11_2" = callPackage
-    ({ mkDerivation, aeson, aeson-pretty, base, base-compat, bytestring
-     , case-insensitive, control-monad-omega, hashable, hspec
      , hspec-discover, http-media, http-types, lens, servant
      , string-conversions, text, unordered-containers
      }:
@@ -181167,6 +185485,8 @@ self: {
        pname = "servant-docs";
        version = "0.11.2";
        sha256 = "1x6lvpvlm1lh51y2pmldrjdjjrs5qnq44m2abczr75fjjy6hla3b";
+       revision = "2";
+       editedCabalFile = "17nv36pm0vv0lgfyk5ay65h7i5bdfq48n0npawcvmqfjsls61xs4";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -181184,7 +185504,6 @@ self: {
        homepage = "http://haskell-servant.readthedocs.org/";
        description = "generate API docs for your servant webservice";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "servant-ede" = callPackage
@@ -181209,6 +185528,7 @@ self: {
        homepage = "http://github.com/alpmestan/servant-ede";
        description = "Combinators for rendering EDE templates in servant web applications";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "servant-ekg" = callPackage
@@ -181256,6 +185576,29 @@ self: {
        homepage = "http://github.com/mattjbray/servant-elm#readme";
        description = "Automatically derive Elm functions to query servant webservices";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "servant-elm_0_5_0_0" = callPackage
+    ({ mkDerivation, aeson, base, Diff, elm-export, hspec, HUnit, lens
+     , servant, servant-foreign, text, wl-pprint-text
+     }:
+     mkDerivation {
+       pname = "servant-elm";
+       version = "0.5.0.0";
+       sha256 = "0l5rjml46qbnq4p3d7zjk8zl9gnpz8m5n6n8yf8kgy89ybm6xnfr";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base elm-export lens servant servant-foreign text wl-pprint-text
+       ];
+       testHaskellDepends = [
+         aeson base Diff elm-export hspec HUnit servant text
+       ];
+       homepage = "http://github.com/mattjbray/servant-elm#readme";
+       description = "Automatically derive Elm functions to query servant webservices";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "servant-examples" = callPackage
@@ -181303,26 +185646,28 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "servant-foreign" = callPackage
-    ({ mkDerivation, base, hspec, http-types, lens, servant, text }:
+  "servant-flatten" = callPackage
+    ({ mkDerivation, base, servant }:
      mkDerivation {
-       pname = "servant-foreign";
-       version = "0.10.1";
-       sha256 = "1j69mv1i6q5z790asbj0n24h62biz3dlnm2zrxnmwn4k4aygbwl8";
-       libraryHaskellDepends = [ base http-types lens servant text ];
-       testHaskellDepends = [ base hspec servant ];
-       description = "Helpers for generating clients for servant APIs in any programming language";
+       pname = "servant-flatten";
+       version = "0.2";
+       sha256 = "0j8dv8010yr63sl3ks0an64ry53ajc2xd47vpd6i1svhb9b6l79i";
+       libraryHaskellDepends = [ base servant ];
+       homepage = "https://github.com/alpmestan/servant-flatten";
+       description = "Utilities for flattening servant API types";
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "servant-foreign_0_11" = callPackage
+  "servant-foreign" = callPackage
     ({ mkDerivation, base, base-compat, hspec, hspec-discover
      , http-types, lens, servant, text
      }:
      mkDerivation {
        pname = "servant-foreign";
-       version = "0.11";
-       sha256 = "1n8cjlk16m24wdxicyp0js1lsshqf27bk5a6qykc2f8kiriw5jcf";
+       version = "0.11.1";
+       sha256 = "01cq938b4szvnapf8c4ir8j09aq25jwgnp3jbfxnja027c1v3735";
+       revision = "1";
+       editedCabalFile = "1g9631l7cw0kgnsidi943fnzkvddjnm3vgm11ha5vh10pczvn6rb";
        libraryHaskellDepends = [
          base base-compat http-types lens servant text
        ];
@@ -181330,7 +185675,20 @@ self: {
        testToolDepends = [ hspec-discover ];
        description = "Helpers for generating clients for servant APIs in any programming language";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "servant-generate" = callPackage
+    ({ mkDerivation, base, servant, servant-server }:
+     mkDerivation {
+       pname = "servant-generate";
+       version = "0.1";
+       sha256 = "0i71d95yfrlj5m5wr8ksxq8nkvwbsj81d4qm3j24pcgf6a32rrcw";
+       revision = "1";
+       editedCabalFile = "1viavg5pijjsdcmmdi7ibr9cvfz3r3b646jxxvmya10ss3zvlzh4";
+       libraryHaskellDepends = [ base servant servant-server ];
+       homepage = "https://github.com/alpmestan/servant-generate";
+       description = "Utilities for generating mock server implementations";
+       license = stdenv.lib.licenses.bsd3;
      }) {};
 
   "servant-generic" = callPackage
@@ -181371,30 +185729,30 @@ self: {
        homepage = "http://github.com/finlay/servant-github#readme";
        description = "Bindings to GitHub API using servant";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "servant-github-webhook" = callPackage
     ({ mkDerivation, aeson, base, base16-bytestring, bytestring
      , cryptonite, github, github-webhooks, http-types, memory, servant
-     , servant-server, string-conversions, text, unordered-containers
-     , wai, warp
+     , servant-server, string-conversions, text, transformers
+     , unordered-containers, wai, warp
      }:
      mkDerivation {
        pname = "servant-github-webhook";
-       version = "0.4.0.0";
-       sha256 = "0j18bms75z2p746g5p7kqsn95c80ilrss4nmfhymn2rwgiimdhnr";
+       version = "0.4.1.0";
+       sha256 = "0v6gd7swhl58x3sqbb5cmn5ac6x1p5mg7jqbwk9ny9bzggz9pglb";
        libraryHaskellDepends = [
          aeson base base16-bytestring bytestring cryptonite github
          github-webhooks http-types memory servant servant-server
-         string-conversions text unordered-containers wai
+         string-conversions text transformers unordered-containers wai
        ];
        testHaskellDepends = [
-         aeson base bytestring servant-server text wai warp
+         aeson base bytestring servant-server text transformers wai warp
        ];
        homepage = "https://github.com/tsani/servant-github-webhook";
        description = "Servant combinators to facilitate writing GitHub webhooks";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "servant-haxl-client" = callPackage
@@ -181441,6 +185799,7 @@ self: {
        homepage = "https://github.com/fgaz/servant-iCalendar#readme";
        description = "Servant support for iCalendar";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "servant-jquery" = callPackage
@@ -181472,6 +185831,8 @@ self: {
        pname = "servant-js";
        version = "0.9.3.2";
        sha256 = "1p37520x85rg7rnhazby0x6qas2sh5d79gygmaa5f7jalhkyrq02";
+       revision = "1";
+       editedCabalFile = "11q54f0hx8ggfsrklaf8dk1gra597097gl60j667bmy8266l33ad";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -181494,8 +185855,8 @@ self: {
      }:
      mkDerivation {
        pname = "servant-kotlin";
-       version = "0.1.0.3";
-       sha256 = "1idki7vf2yph8sndpl8r9a5cngix3163yxb73l5l5fm9a78pk5gd";
+       version = "0.1.1.0";
+       sha256 = "14z1vf4mj041ydps7nyfs0bmdpq0vb18xfscsq3i1f5hfr9swj50";
        libraryHaskellDepends = [
          base containers directory formatting lens servant servant-foreign
          text time wl-pprint-text
@@ -181514,20 +185875,6 @@ self: {
      }) {};
 
   "servant-lucid" = callPackage
-    ({ mkDerivation, base, http-media, lucid, servant }:
-     mkDerivation {
-       pname = "servant-lucid";
-       version = "0.7.1";
-       sha256 = "0h7yw140ymigrzrzp2vkkhg13gg1d8pj9xmcpq8bw2cv2myvl9pc";
-       revision = "6";
-       editedCabalFile = "0bz3j6xjig6qj7qwkvzv9kqvivd6qvz0kn42lpwg1kcf1j6w31mc";
-       libraryHaskellDepends = [ base http-media lucid servant ];
-       homepage = "http://haskell-servant.readthedocs.org/";
-       description = "Servant support for lucid";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "servant-lucid_0_8" = callPackage
     ({ mkDerivation, base, http-media, lucid, servant, servant-server
      , wai, warp
      }:
@@ -181540,7 +185887,6 @@ self: {
        homepage = "http://haskell-servant.readthedocs.org/";
        description = "Servant support for lucid";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "servant-match" = callPackage
@@ -181583,37 +185929,6 @@ self: {
      }) {};
 
   "servant-mock" = callPackage
-    ({ mkDerivation, aeson, base, bytestring, bytestring-conversion
-     , hspec, hspec-discover, hspec-wai, http-types, QuickCheck, servant
-     , servant-server, transformers, wai, warp
-     }:
-     mkDerivation {
-       pname = "servant-mock";
-       version = "0.8.3";
-       sha256 = "0fwkygv4rx98qys8apj7aby4xhssgzqdgsxmb6vh4ky71vjq0q5m";
-       revision = "2";
-       editedCabalFile = "00dq310ik9nm20mxxr9d46jilp9h6k54f5mdl1ii2ggwy2mck1dm";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         base bytestring http-types QuickCheck servant servant-server
-         transformers wai
-       ];
-       executableHaskellDepends = [
-         aeson base QuickCheck servant-server warp
-       ];
-       testHaskellDepends = [
-         aeson base bytestring-conversion hspec hspec-wai QuickCheck servant
-         servant-server wai
-       ];
-       testToolDepends = [ hspec-discover ];
-       homepage = "http://haskell-servant.readthedocs.org/";
-       description = "Derive a mock server for free from your servant API types";
-       license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
-     }) {};
-
-  "servant-mock_0_8_4" = callPackage
     ({ mkDerivation, aeson, base, base-compat, bytestring
      , bytestring-conversion, hspec, hspec-discover, hspec-wai
      , http-types, QuickCheck, servant, servant-server, transformers
@@ -181623,6 +185938,8 @@ self: {
        pname = "servant-mock";
        version = "0.8.4";
        sha256 = "1705fw63lrzw79w1ypcdlf35d8qxx247q8isiqh28wzmc4j3kmnr";
+       revision = "1";
+       editedCabalFile = "0izm1slx384cgfaf16r3w1h6cqpssahphb9b0ccy2m04ysgy7chp";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -181640,7 +185957,6 @@ self: {
        homepage = "http://haskell-servant.readthedocs.org/";
        description = "Derive a mock server for free from your servant API types";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "servant-multipart" = callPackage
@@ -181703,16 +186019,19 @@ self: {
      }) {};
 
   "servant-pagination" = callPackage
-    ({ mkDerivation, base, safe, servant, servant-server, text }:
+    ({ mkDerivation, base, hspec, QuickCheck, safe, servant
+     , servant-server, text
+     }:
      mkDerivation {
        pname = "servant-pagination";
-       version = "1.0.0";
-       sha256 = "1cxd9sqryk619ss7x55w8xh4y3dkxl0gcdr3kawryzcm64qlgyja";
+       version = "2.1.0";
+       sha256 = "00mbg8sxjwaxa6xjgaahdzjqppc01y6qzph6g5sc40rnp3j8ws2g";
        revision = "1";
-       editedCabalFile = "0y9mg8jaag07f89krsk2n3y635rjgmcym1kx130s7hb3h3ly7713";
+       editedCabalFile = "0vb7v8yb1g1aqnnypa2hjsh58q2m9zhgz04dyj1vna1pg4yl3691";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base safe servant servant-server text ];
+       testHaskellDepends = [ base hspec QuickCheck servant-server text ];
        homepage = "https://github.com/chordify/haskell-servant-pagination";
        description = "Type-safe pagination for Servant APIs";
        license = stdenv.lib.licenses.lgpl3;
@@ -181725,23 +186044,6 @@ self: {
      }:
      mkDerivation {
        pname = "servant-pandoc";
-       version = "0.4.1.4";
-       sha256 = "0hsmbrn7i6zbwfw5j2l8qppnjx1cl2g0iksim514ajga6zfjm96j";
-       libraryHaskellDepends = [
-         base bytestring case-insensitive http-media lens pandoc-types
-         servant-docs string-conversions text unordered-containers
-       ];
-       description = "Use Pandoc to render servant API documentation";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-
-  "servant-pandoc_0_5_0_0" = callPackage
-    ({ mkDerivation, base, bytestring, case-insensitive, http-media
-     , lens, pandoc-types, servant-docs, string-conversions, text
-     , unordered-containers
-     }:
-     mkDerivation {
-       pname = "servant-pandoc";
        version = "0.5.0.0";
        sha256 = "0qq4ahwl8vc8xgmvbh8qac7751hizgdcbp43gc0kxfs7xpy0kmqj";
        libraryHaskellDepends = [
@@ -181750,7 +186052,6 @@ self: {
        ];
        description = "Use Pandoc to render servant API documentation";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "servant-pool" = callPackage
@@ -181888,8 +186189,8 @@ self: {
      }:
      mkDerivation {
        pname = "servant-quickcheck";
-       version = "0.0.6.0";
-       sha256 = "1llhxqnbrydikrxdd10cfk4shgbfpxvlsym0lvvvbva4vci1k8wj";
+       version = "0.0.7.0";
+       sha256 = "1a0ipg1zds393ywjb1f5yphb23ccb39gv8rc6qv5b7y523cgwri2";
        libraryHaskellDepends = [
          aeson base base-compat bytestring case-insensitive clock
          data-default-class hspec http-client http-media http-types mtl
@@ -181932,6 +186233,7 @@ self: {
        homepage = "https://github.com/cdepillabout/servant-rawm";
        description = "Embed a raw 'Application' in a Servant API";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "servant-response" = callPackage
@@ -181975,22 +186277,6 @@ self: {
      }:
      mkDerivation {
        pname = "servant-ruby";
-       version = "0.5.1.0";
-       sha256 = "0j1q8yl1cz8lwij17zl13rk35r0qnk8ibh963qlcd35w83wms56j";
-       libraryHaskellDepends = [ base casing lens servant-foreign text ];
-       testHaskellDepends = [ base doctest QuickCheck ];
-       homepage = "https://github.com/joneshf/servant-ruby#readme";
-       description = "Generate a Ruby client from a Servant API with Net::HTTP";
-       license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
-     }) {};
-
-  "servant-ruby_0_7_0_0" = callPackage
-    ({ mkDerivation, base, casing, doctest, lens, QuickCheck
-     , servant-foreign, text
-     }:
-     mkDerivation {
-       pname = "servant-ruby";
        version = "0.7.0.0";
        sha256 = "0r39ixsmqslbygd38bvz61a7n0r7g54zfrcgjfn506599ybianm9";
        libraryHaskellDepends = [ base casing lens servant-foreign text ];
@@ -181998,7 +186284,6 @@ self: {
        homepage = "https://github.com/joneshf/servant-ruby#readme";
        description = "Generate a Ruby client from a Servant API with Net::HTTP";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "servant-scotty" = callPackage
@@ -182024,45 +186309,6 @@ self: {
   "servant-server" = callPackage
     ({ mkDerivation, aeson, attoparsec, base, base-compat
      , base64-bytestring, bytestring, Cabal, cabal-doctest, containers
-     , directory, doctest, exceptions, filemanip, filepath, hspec
-     , hspec-discover, hspec-wai, http-api-data, http-types
-     , monad-control, mtl, network, network-uri, parsec, QuickCheck
-     , resourcet, safe, servant, should-not-typecheck, split
-     , string-conversions, system-filepath, tagged, temporary, text
-     , transformers, transformers-base, transformers-compat, wai
-     , wai-app-static, wai-extra, warp, word8
-     }:
-     mkDerivation {
-       pname = "servant-server";
-       version = "0.11.0.1";
-       sha256 = "0yrcs1ixy7mzifdyssi58m34xn95mfy9zxbkm9k5z6svqnv1qp72";
-       isLibrary = true;
-       isExecutable = true;
-       setupHaskellDepends = [ base Cabal cabal-doctest ];
-       libraryHaskellDepends = [
-         aeson attoparsec base base-compat base64-bytestring bytestring
-         containers exceptions filepath http-api-data http-types
-         monad-control mtl network network-uri resourcet safe servant split
-         string-conversions system-filepath tagged text transformers
-         transformers-base transformers-compat wai wai-app-static warp word8
-       ];
-       executableHaskellDepends = [ aeson base servant text wai warp ];
-       testHaskellDepends = [
-         aeson base base-compat base64-bytestring bytestring directory
-         doctest exceptions filemanip filepath hspec hspec-wai http-types
-         mtl network parsec QuickCheck resourcet safe servant
-         should-not-typecheck string-conversions temporary text transformers
-         transformers-compat wai wai-extra warp
-       ];
-       testToolDepends = [ hspec-discover ];
-       homepage = "http://haskell-servant.readthedocs.org/";
-       description = "A family of combinators for defining webservices APIs and serving them";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "servant-server_0_13" = callPackage
-    ({ mkDerivation, aeson, attoparsec, base, base-compat
-     , base64-bytestring, bytestring, Cabal, cabal-doctest, containers
      , directory, doctest, exceptions, filepath, hspec, hspec-discover
      , hspec-wai, http-api-data, http-media, http-types, monad-control
      , mtl, network, network-uri, parsec, QuickCheck, resourcet, safe
@@ -182073,8 +186319,8 @@ self: {
      }:
      mkDerivation {
        pname = "servant-server";
-       version = "0.13";
-       sha256 = "09hqihij87h031qcr4swsn82fsv8v1qklqc2hl0is8rd8bzi2cjy";
+       version = "0.13.0.1";
+       sha256 = "0fggdqz2d6q96x8vnm64yvarg4fgxqh0jd3vis6yxpybfi174arm";
        isLibrary = true;
        isExecutable = true;
        setupHaskellDepends = [ base Cabal cabal-doctest ];
@@ -182097,7 +186343,6 @@ self: {
        homepage = "http://haskell-servant.readthedocs.org/";
        description = "A family of combinators for defining webservices APIs and serving them";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "servant-smsc-ru" = callPackage
@@ -182171,8 +186416,8 @@ self: {
      }:
      mkDerivation {
        pname = "servant-static-th";
-       version = "0.1.0.6";
-       sha256 = "19rb7xmfnls8wkgyq6gf5b6rri6b6z4qfj1m2pxa9rwx5hfajiax";
+       version = "0.2.0.1";
+       sha256 = "1np3sh8jcil63kd56smlkcxqg25zsn01s4dx0d1i4cmc610nb33l";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -182219,30 +186464,6 @@ self: {
 
   "servant-swagger" = callPackage
     ({ mkDerivation, aeson, aeson-qq, base, bytestring, Cabal
-     , cabal-doctest, directory, doctest, filepath, hspec, http-media
-     , insert-ordered-containers, lens, QuickCheck, servant, swagger2
-     , text, time, unordered-containers
-     }:
-     mkDerivation {
-       pname = "servant-swagger";
-       version = "1.1.4";
-       sha256 = "0xcs019v0kmaa265a15zbqj591d3nrrj19r5176816pldq8q213i";
-       setupHaskellDepends = [ base Cabal cabal-doctest ];
-       libraryHaskellDepends = [
-         aeson base bytestring hspec http-media insert-ordered-containers
-         lens QuickCheck servant swagger2 text unordered-containers
-       ];
-       testHaskellDepends = [
-         aeson aeson-qq base directory doctest filepath hspec lens
-         QuickCheck servant swagger2 text time
-       ];
-       homepage = "https://github.com/haskell-servant/servant-swagger";
-       description = "Generate Swagger specification for your servant API";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "servant-swagger_1_1_5" = callPackage
-    ({ mkDerivation, aeson, aeson-qq, base, bytestring, Cabal
      , cabal-doctest, directory, doctest, filepath, hspec
      , hspec-discover, http-media, insert-ordered-containers, lens
      , QuickCheck, servant, singleton-bool, swagger2, text, time
@@ -182252,6 +186473,8 @@ self: {
        pname = "servant-swagger";
        version = "1.1.5";
        sha256 = "02m51kgwa2cp72wfq6a96zncywryrnxq778jh2cqmpzjrhml8yjg";
+       revision = "1";
+       editedCabalFile = "005b3z7wxcrad8210yw3qsndh3zh0v2h8j50qxl8sj1l6wqb7zs6";
        setupHaskellDepends = [ base Cabal cabal-doctest ];
        libraryHaskellDepends = [
          aeson base bytestring hspec http-media insert-ordered-containers
@@ -182266,7 +186489,6 @@ self: {
        homepage = "https://github.com/haskell-servant/servant-swagger";
        description = "Generate Swagger specification for your servant API";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "servant-swagger-ui" = callPackage
@@ -182280,6 +186502,8 @@ self: {
        pname = "servant-swagger-ui";
        version = "0.2.5.3.9.1";
        sha256 = "1fbznhlzh9xnnhxsazan46w5x439a31lglb8mh7j945axyh7l09m";
+       revision = "1";
+       editedCabalFile = "16lixcz9vkkgvcfwdfj3p6pmf458hymyywklzwnbhk7z16wjjhnv";
        libraryHaskellDepends = [
          base blaze-markup bytestring directory file-embed filepath
          http-media servant servant-blaze servant-server servant-swagger
@@ -182295,30 +186519,109 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "servant-websockets" = callPackage
-    ({ mkDerivation, aeson, async, base, bytestring, conduit
-     , exceptions, resourcet, servant-server, text, wai, wai-websockets
-     , warp, websockets
+  "servant-swagger-ui_0_3_0_3_13_2" = callPackage
+    ({ mkDerivation, base, bytestring, file-embed-lzma, servant
+     , servant-server, servant-swagger-ui-core, swagger2, text
      }:
      mkDerivation {
-       pname = "servant-websockets";
-       version = "1.0.0";
-       sha256 = "05y9yyrg5c99xdlyfzwddylrklpspabijdd08f5c75bhdi2i4cb2";
+       pname = "servant-swagger-ui";
+       version = "0.3.0.3.13.2";
+       sha256 = "0llkcag9bnhvni6ddar966i0pwql93s5icvw6pxa9ra5v14v7p5n";
+       libraryHaskellDepends = [
+         base bytestring file-embed-lzma servant servant-server
+         servant-swagger-ui-core swagger2 text
+       ];
+       homepage = "https://github.com/phadej/servant-swagger-ui";
+       description = "Servant swagger ui";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "servant-swagger-ui-core" = callPackage
+    ({ mkDerivation, base, blaze-markup, bytestring, http-media
+     , servant, servant-blaze, servant-server, swagger2, text
+     , transformers, transformers-compat, wai-app-static
+     }:
+     mkDerivation {
+       pname = "servant-swagger-ui-core";
+       version = "0.3";
+       sha256 = "1ji54q9x787dr5l81qn0shw2n3b8k9aglli03gxfbvs0l7ga5xrd";
+       libraryHaskellDepends = [
+         base blaze-markup bytestring http-media servant servant-blaze
+         servant-server swagger2 text transformers transformers-compat
+         wai-app-static
+       ];
+       homepage = "https://github.com/phadej/servant-swagger-ui";
+       description = "Servant swagger ui core components";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "servant-swagger-ui-jensoleg" = callPackage
+    ({ mkDerivation, base, bytestring, file-embed-lzma, servant
+     , servant-server, servant-swagger-ui-core, swagger2, text
+     }:
+     mkDerivation {
+       pname = "servant-swagger-ui-jensoleg";
+       version = "0.3";
+       sha256 = "1ymw2lkfn0bkmddvpmv0ikv45fqac2zidnli8bfyp92jf0b5dnik";
+       libraryHaskellDepends = [
+         base bytestring file-embed-lzma servant servant-server
+         servant-swagger-ui-core swagger2 text
+       ];
+       homepage = "https://github.com/phadej/servant-swagger-ui";
+       description = "Servant swagger ui: Jens-Ole Graulund theme";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "servant-swagger-ui-redoc" = callPackage
+    ({ mkDerivation, base, bytestring, file-embed-lzma, servant
+     , servant-server, servant-swagger-ui-core, swagger2, text
+     }:
+     mkDerivation {
+       pname = "servant-swagger-ui-redoc";
+       version = "0.3.0.1.21.2";
+       sha256 = "1p3mq7m5hvid7g7jwpf2jz923512wlprh6gikq5x2vcb14d40qwl";
+       libraryHaskellDepends = [
+         base bytestring file-embed-lzma servant servant-server
+         servant-swagger-ui-core swagger2 text
+       ];
+       homepage = "https://github.com/phadej/servant-swagger-ui";
+       description = "Servant swagger ui: ReDoc theme";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "servant-tracing" = callPackage
+    ({ mkDerivation, aeson, async, base, bytestring, bytestring-lexing
+     , containers, hashable, http-api-data, http-client, HUnit
+     , lifted-base, monad-control, mtl, QuickCheck, random, servant
+     , servant-server, tasty, tasty-hunit, tasty-quickcheck, text, time
+     , transformers, unordered-containers, wai, warp
+     }:
+     mkDerivation {
+       pname = "servant-tracing";
+       version = "0.1.0.2";
+       sha256 = "0qpamaf3ydfb8197iz2prjh9nxwxi03cdfsp3jl28rhbqrc2xpry";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         aeson async base bytestring conduit exceptions resourcet
-         servant-server text wai wai-websockets warp websockets
+         aeson async base bytestring bytestring-lexing containers hashable
+         http-api-data http-client lifted-base monad-control mtl random
+         servant servant-server text time unordered-containers wai
        ];
        executableHaskellDepends = [
-         aeson base conduit servant-server text wai warp websockets
+         async base bytestring containers http-client lifted-base
+         monad-control mtl servant servant-server text transformers wai warp
        ];
-       homepage = "https://github.com/moesenle/servant-websockets#readme";
-       description = "Small library providing WebSocket endpoints for servant";
-       license = stdenv.lib.licenses.bsd3;
+       testHaskellDepends = [
+         aeson base containers http-api-data HUnit monad-control mtl
+         QuickCheck tasty tasty-hunit tasty-quickcheck text time
+         transformers
+       ];
+       homepage = "https://github.com/ChrisCoffey/haskell-opentracing-light#readme";
+       license = stdenv.lib.licenses.mit;
      }) {};
 
-  "servant-websockets_1_1_0" = callPackage
+  "servant-websockets" = callPackage
     ({ mkDerivation, aeson, async, base, bytestring, conduit
      , exceptions, resourcet, servant-server, text, wai, wai-websockets
      , warp, websockets
@@ -182339,6 +186642,22 @@ self: {
        homepage = "https://github.com/moesenle/servant-websockets#readme";
        description = "Small library providing WebSocket endpoints for servant";
        license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "servant-xml" = callPackage
+    ({ mkDerivation, base, bytestring, http-media, servant, xmlbf
+     , xmlbf-xeno
+     }:
+     mkDerivation {
+       pname = "servant-xml";
+       version = "1.0.1.2";
+       sha256 = "16zyvxscplgb08jljg7k728lq17b8xmrri6xbq47j74namp2n55z";
+       libraryHaskellDepends = [
+         base bytestring http-media servant xmlbf xmlbf-xeno
+       ];
+       homepage = "https://github.com/fosskers/servant-xml";
+       description = "Servant support for the XML Content-Type";
+       license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
@@ -182468,27 +186787,29 @@ self: {
      }) {};
 
   "serverless-haskell" = callPackage
-    ({ mkDerivation, aeson, aeson-casing, amazonka-core
-     , amazonka-kinesis, amazonka-s3, base, bytestring, hspec
-     , hspec-discover, lens, raw-strings-qq, text, time, unix
+    ({ mkDerivation, aeson, aeson-casing, aeson-extra, amazonka-core
+     , amazonka-kinesis, amazonka-s3, base, bytestring, case-insensitive
+     , hspec, hspec-discover, lens, raw-strings-qq, text, time, unix
      , unordered-containers
      }:
      mkDerivation {
        pname = "serverless-haskell";
-       version = "0.4.1";
-       sha256 = "1r0amp80g3lz31l1hb138dyqfh29nb7f0yq20xzh4hccr600liw1";
+       version = "0.4.3";
+       sha256 = "0sdx28v81b6d5iankxbyb6psbrrsz5s2y01q36b7kbmg5sc4jiyy";
        libraryHaskellDepends = [
-         aeson aeson-casing amazonka-core amazonka-kinesis amazonka-s3 base
-         bytestring lens text time unix unordered-containers
+         aeson aeson-casing aeson-extra amazonka-core amazonka-kinesis
+         amazonka-s3 base bytestring case-insensitive lens text time unix
+         unordered-containers
        ];
        testHaskellDepends = [
-         aeson aeson-casing amazonka-core amazonka-kinesis amazonka-s3 base
-         bytestring hspec hspec-discover lens raw-strings-qq text time unix
-         unordered-containers
+         aeson aeson-casing aeson-extra amazonka-core amazonka-kinesis
+         amazonka-s3 base bytestring case-insensitive hspec hspec-discover
+         lens raw-strings-qq text time unix unordered-containers
        ];
        homepage = "https://github.com/seek-oss/serverless-haskell#readme";
        description = "Deploying Haskell code onto AWS Lambda using Serverless";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "serversession" = callPackage
@@ -182638,6 +186959,7 @@ self: {
        homepage = "https://github.com/yesodweb/serversession";
        description = "Yesod bindings for serversession";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "services" = callPackage
@@ -182751,6 +187073,8 @@ self: {
        pname = "sessiontypes";
        version = "0.1.2";
        sha256 = "1xjf3yjapz9ipjkqhm8fljgbj6fww3iyl1mx1kjwh18s6b9ymq5s";
+       revision = "1";
+       editedCabalFile = "0qd48i92nn5yhp1lzs5vvvcmq5db785nr736y2yxgi7z4pk80r84";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -182761,6 +187085,7 @@ self: {
        homepage = "https://github.com/Ferdinand-vW/sessiontypes#readme";
        description = "Session types library";
        license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "sessiontypes-distributed" = callPackage
@@ -182772,6 +187097,8 @@ self: {
        pname = "sessiontypes-distributed";
        version = "0.1.1";
        sha256 = "0fi263sdpshzjwc51h9rqgg0zj7f5a6igrfj9487lbdgaz1cb1ya";
+       revision = "1";
+       editedCabalFile = "0r4xn7p21xwdimzpdd5jqjawds9mhniqzmg84bfipcpm3mwhjq5x";
        libraryHaskellDepends = [
          base binary bytestring distributed-process distributed-static
          exceptions rank1dynamic sessiontypes
@@ -182898,8 +187225,8 @@ self: {
     ({ mkDerivation, base }:
      mkDerivation {
        pname = "setlocale";
-       version = "1.0.0.5";
-       sha256 = "1w4zgpjjy56bpgjjcxh2fj3v4pqwmfhfwwvs5nhys12h8y8q8hsp";
+       version = "1.0.0.6";
+       sha256 = "1rl8qb8vzv8fdbczy2dxwgn4cb68lfrjdxf2w8nn9wy1acqzcyjq";
        libraryHaskellDepends = [ base ];
        homepage = "https://bitbucket.org/IchUndNichtDu/haskell-setlocale";
        description = "Haskell bindings to setlocale";
@@ -183040,18 +187367,18 @@ self: {
 
   "sexp-grammar" = callPackage
     ({ mkDerivation, alex, array, base, bytestring, containers
-     , criterion, happy, mtl, profunctors, QuickCheck, scientific
-     , semigroups, split, tagged, tasty, tasty-hunit, tasty-quickcheck
-     , template-haskell, text, transformers, wl-pprint-text
+     , criterion, happy, mtl, prettyprinter, profunctors, QuickCheck
+     , scientific, semigroups, split, tagged, tasty, tasty-hunit
+     , tasty-quickcheck, template-haskell, text, transformers
      }:
      mkDerivation {
        pname = "sexp-grammar";
-       version = "1.2.3";
-       sha256 = "107mfa4g13k6asfwddfbjphjpgnc58ddjir85srz2dmp06paf539";
+       version = "1.3.0";
+       sha256 = "0h9b9rmymfy0qwr51yllapmp7g0j3f70pmhwyzag782giff8q0x3";
        libraryHaskellDepends = [
-         array base bytestring containers mtl profunctors scientific
-         semigroups split tagged template-haskell text transformers
-         wl-pprint-text
+         array base bytestring containers mtl prettyprinter profunctors
+         scientific semigroups split tagged template-haskell text
+         transformers
        ];
        libraryToolDepends = [ alex happy ];
        testHaskellDepends = [
@@ -183114,6 +187441,7 @@ self: {
        homepage = "https://github.com/dzhus/sext#readme";
        description = "Lists, Texts, ByteStrings and Vectors with type-encoded length";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "sfml-audio" = callPackage
@@ -183271,22 +187599,26 @@ self: {
      }) {};
 
   "shadowsocks" = callPackage
-    ({ mkDerivation, aeson, async, base, binary, bytestring
-     , conduit-combinators, conduit-extra, containers, cryptohash
-     , HsOpenSSL, HUnit, iproute, network, optparse-applicative, process
+    ({ mkDerivation, aeson, async, base, binary, bytestring, conduit
+     , conduit-extra, containers, cryptohash, directory, HsOpenSSL
+     , HUnit, iproute, network, optparse-applicative, process
      , streaming-commons, unordered-containers
      }:
      mkDerivation {
        pname = "shadowsocks";
-       version = "1.20151028";
-       sha256 = "0z43hlgzklynb0y9b6bz2qmr2590v5nfp241i8b3rq7flb5lhlmp";
-       isLibrary = false;
+       version = "1.20180408";
+       sha256 = "19yn788j58i4h2bfi7rxy4a9h9q8ppp7bg2yln6ni563wa6x52p2";
+       isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
+       libraryHaskellDepends = [
+         aeson base binary bytestring conduit containers cryptohash
+         directory HsOpenSSL iproute network optparse-applicative
+         unordered-containers
+       ];
        executableHaskellDepends = [
-         aeson async base binary bytestring conduit-combinators
-         conduit-extra containers cryptohash HsOpenSSL iproute network
-         optparse-applicative streaming-commons unordered-containers
+         async base bytestring conduit conduit-extra network
+         streaming-commons
        ];
        testHaskellDepends = [
          base binary bytestring containers cryptohash HUnit process
@@ -183343,8 +187675,8 @@ self: {
      }:
      mkDerivation {
        pname = "shake";
-       version = "0.16.3";
-       sha256 = "11rgb0lh8q6alr13in7156dwr44rag0ldynbd5wmlg7073q2g8zc";
+       version = "0.16.4";
+       sha256 = "0dhlkcn1zsg1w97vzs1yrpkn6iwhlzh36dwclx2lafzbdjja6cmp";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -183363,21 +187695,21 @@ self: {
          js-flot js-jquery primitive process QuickCheck random time
          transformers unix unordered-containers utf8-string
        ];
-       homepage = "http://shakebuild.com";
+       homepage = "https://shakebuild.com";
        description = "Build system library, like Make, but more accurate dependencies";
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
   "shake-ats" = callPackage
-    ({ mkDerivation, base, binary, dependency, directory, hs2ats
-     , language-ats, microlens, shake, shake-ext, text
+    ({ mkDerivation, base, binary, dependency, directory, hashable
+     , hs2ats, language-ats, lens, shake, shake-ext, text
      }:
      mkDerivation {
        pname = "shake-ats";
-       version = "1.5.0.7";
-       sha256 = "07ipqnzgk7ligq4xsddv7ab5z3gn67vsba6p2lkf9faqhwx91bi9";
+       version = "1.8.0.4";
+       sha256 = "036clj4q6rwgzjc3abirir5yqrn78vnj7c5w8p9b82jkrlka8w6g";
        libraryHaskellDepends = [
-         base binary dependency directory hs2ats language-ats microlens
+         base binary dependency directory hashable hs2ats language-ats lens
          shake shake-ext text
        ];
        homepage = "https://github.com/vmchale/shake-ats#readme";
@@ -183404,20 +187736,21 @@ self: {
      }) {};
 
   "shake-ext" = callPackage
-    ({ mkDerivation, base, Cabal, composition-prelude, directory, mtl
-     , shake, template-haskell, text
+    ({ mkDerivation, base, Cabal, cdeps, composition-prelude, cpphs
+     , directory, shake, template-haskell
      }:
      mkDerivation {
        pname = "shake-ext";
-       version = "2.7.0.2";
-       sha256 = "1r9grv3r06w7ldddn1gq8dbylfi2nnq0xg66ks9z6r0c087l4xp1";
+       version = "2.11.0.3";
+       sha256 = "0v5n7l3xx1a0y4vvrn0zi61pb3wd41pqh1g3vnq1dr12dhrrx1ac";
        libraryHaskellDepends = [
-         base Cabal composition-prelude directory mtl shake template-haskell
-         text
+         base Cabal cdeps composition-prelude cpphs directory shake
+         template-haskell
        ];
        homepage = "https://hub.darcs.net/vmchale/shake-ext";
        description = "Helper functions for linting with shake";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "shake-extras" = callPackage
@@ -183456,6 +187789,26 @@ self: {
        license = stdenv.lib.licenses.asl20;
      }) {};
 
+  "shake-language-c_0_12_0" = callPackage
+    ({ mkDerivation, base, data-default-class, directory, doctest
+     , fclabels, hspec, process, shake, split, unordered-containers
+     }:
+     mkDerivation {
+       pname = "shake-language-c";
+       version = "0.12.0";
+       sha256 = "1c0smbshksjw114m09n5i1ynkhibvd9kix9n7h696p75g40ka7k6";
+       libraryHaskellDepends = [
+         base data-default-class fclabels process shake split
+         unordered-containers
+       ];
+       testHaskellDepends = [ base directory doctest hspec shake ];
+       doCheck = false;
+       homepage = "https://github.com/samplecount/shake-language-c";
+       description = "Utilities for cross-compiling with Shake";
+       license = stdenv.lib.licenses.asl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "shake-minify" = callPackage
     ({ mkDerivation, base, bytestring, css-text, hjsmin, shake, text }:
      mkDerivation {
@@ -183494,7 +187847,6 @@ self: {
        homepage = "http://cs-syd.eu";
        description = "path alternatives to shake functions";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "shake-persist" = callPackage
@@ -183547,23 +187899,18 @@ self: {
      }) {};
 
   "shakers" = callPackage
-    ({ mkDerivation, base, basic-prelude, deepseq, directory
-     , lifted-base, regex-compat, shake
+    ({ mkDerivation, base, basic-prelude, directory, lifted-base, shake
      }:
      mkDerivation {
        pname = "shakers";
-       version = "0.0.41";
-       sha256 = "0djg61fv6g0xskk72a06kva70a6zvdwlsfhdnw6fsk69h0vlidrc";
-       isLibrary = true;
-       isExecutable = true;
+       version = "0.0.48";
+       sha256 = "1b2rwa6k4qj94mblfkvdj8asp26lknl6gfb4nfiqvi7m9kq27n45";
        libraryHaskellDepends = [
-         base basic-prelude deepseq directory lifted-base regex-compat shake
+         base basic-prelude directory lifted-base shake
        ];
-       executableHaskellDepends = [ base ];
        homepage = "https://github.com/swift-nav/shakers";
        description = "Shake helpers";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "shakespeare" = callPackage
@@ -183848,27 +188195,27 @@ self: {
 
   "shell-conduit" = callPackage
     ({ mkDerivation, async, base, bytestring, conduit, conduit-extra
-     , control-monad-loop, directory, filepath, hspec
-     , hspec-expectations, monad-control, monads-tf, process, resourcet
-     , semigroups, split, template-haskell, text, transformers
-     , transformers-base, unix
+     , directory, filepath, hspec, hspec-expectations, monads-tf
+     , process, resourcet, semigroups, split, template-haskell, text
+     , transformers, unix, unliftio
      }:
      mkDerivation {
        pname = "shell-conduit";
-       version = "4.6.1";
-       sha256 = "0hmdfrq2i1smgn6sjnxxzz4hyx9x8i1dwjpycia2xrssn3w63lc6";
+       version = "4.7.0";
+       sha256 = "0c5yvm08l37qblqks1r23znixxas39gl1d3mlm6rq8a6zfvcacbg";
        libraryHaskellDepends = [
-         async base bytestring conduit conduit-extra control-monad-loop
-         directory filepath monad-control monads-tf process resourcet
-         semigroups split template-haskell text transformers
-         transformers-base unix
+         async base bytestring conduit conduit-extra directory filepath
+         monads-tf process resourcet semigroups split template-haskell text
+         transformers unix unliftio
        ];
        testHaskellDepends = [
-         base hspec hspec-expectations template-haskell
+         base bytestring conduit conduit-extra hspec hspec-expectations
+         template-haskell
        ];
        homepage = "https://github.com/psibi/shell-conduit";
        description = "Write shell scripts with Conduit";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "shell-escape" = callPackage
@@ -184002,20 +188349,32 @@ self: {
        homepage = "https://github.com/simonmichael/shelltestrunner";
        description = "Easy, repeatable testing of CLI programs/commands";
        license = "GPL";
-       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "shellwords" = callPackage
+    ({ mkDerivation, base, hspec, megaparsec, text }:
+     mkDerivation {
+       pname = "shellwords";
+       version = "0.1.1.0";
+       sha256 = "1k3wmkmxr1rvjjrgg2swz8pl2nwf723q8zwpybadss4kz0f4w314";
+       libraryHaskellDepends = [ base megaparsec text ];
+       testHaskellDepends = [ base hspec text ];
+       homepage = "https://github.com/pbrisbin/hs-shellwords#readme";
+       description = "Parse strings into words, like a shell would";
+       license = stdenv.lib.licenses.mit;
      }) {};
 
   "shelly" = callPackage
     ({ mkDerivation, async, base, bytestring, containers, directory
-     , enclosed-exceptions, exceptions, filepath, hspec, HUnit
-     , lifted-async, lifted-base, monad-control, mtl, process
+     , enclosed-exceptions, exceptions, filepath, hspec, hspec-contrib
+     , HUnit, lifted-async, lifted-base, monad-control, mtl, process
      , system-fileio, system-filepath, text, time, transformers
      , transformers-base, unix-compat
      }:
      mkDerivation {
        pname = "shelly";
-       version = "1.7.0.1";
-       sha256 = "0a4ngy8jqcscqhimgiyz7f9kqm23is7x7gyjxr0j6iq1dy57ahq3";
+       version = "1.7.2";
+       sha256 = "04gi3vixi69s95kwbbh0yxmfrkga1aafdp80zs2zfwcai13cfqkn";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -184026,14 +188385,13 @@ self: {
        ];
        testHaskellDepends = [
          async base bytestring containers directory enclosed-exceptions
-         exceptions filepath hspec HUnit lifted-async lifted-base
-         monad-control mtl process system-fileio system-filepath text time
-         transformers transformers-base unix-compat
+         exceptions filepath hspec hspec-contrib HUnit lifted-async
+         lifted-base monad-control mtl process system-fileio system-filepath
+         text time transformers transformers-base unix-compat
        ];
        homepage = "https://github.com/yesodweb/Shelly.hs";
        description = "shell-like (systems) programming in Haskell";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "shelly-extra" = callPackage
@@ -184051,7 +188409,6 @@ self: {
        homepage = "https://github.com/yesodweb/Shelly.hs";
        description = "shelly features that require extra dependencies";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "shentong" = callPackage
@@ -184117,14 +188474,19 @@ self: {
 
   "shimmer" = callPackage
     ({ mkDerivation, base, bytestring, containers, filepath, haskeline
-     , text, vector
+     , text
      }:
      mkDerivation {
        pname = "shimmer";
-       version = "0.1.2";
-       sha256 = "0d4jllvqkswhxmjczvj2pcfwgdsd8xpvjx60pvw7m06jwslh99dl";
+       version = "0.1.3.2";
+       sha256 = "1mr8y0f83bs0ay02hm6nj173x6djz7dkfpriymjgicnaicn0mvrh";
+       isLibrary = true;
+       isExecutable = true;
        libraryHaskellDepends = [
-         base bytestring containers filepath haskeline text vector
+         base bytestring containers filepath haskeline text
+       ];
+       executableHaskellDepends = [
+         base bytestring containers filepath haskeline text
        ];
        description = "The Reflective Lambda Machine";
        license = stdenv.lib.licenses.mit;
@@ -184328,23 +188690,6 @@ self: {
      }:
      mkDerivation {
        pname = "show-prettyprint";
-       version = "0.2.0.1";
-       sha256 = "0nkp1qjm017j3pmih9qnymi361wq1f45vr2pqi6y3wbspi0gq029";
-       libraryHaskellDepends = [
-         ansi-wl-pprint base prettyprinter trifecta
-       ];
-       testHaskellDepends = [ base doctest ];
-       homepage = "https://github.com/quchen/show-prettyprint#readme";
-       description = "Robust prettyprinter for output of auto-generated Show instances";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "show-prettyprint_0_2_0_2" = callPackage
-    ({ mkDerivation, ansi-wl-pprint, base, doctest, prettyprinter
-     , trifecta
-     }:
-     mkDerivation {
-       pname = "show-prettyprint";
        version = "0.2.0.2";
        sha256 = "1snkahqn081rnm6qs54hwgc3y2pwgadrvh8a81lw7rl1mfp261kg";
        libraryHaskellDepends = [
@@ -184354,7 +188699,6 @@ self: {
        homepage = "https://github.com/quchen/show-prettyprint#readme";
        description = "Robust prettyprinter for output of auto-generated Show instances";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "show-type" = callPackage
@@ -184595,7 +188939,6 @@ self: {
        homepage = "http://code.haskell.org/~bkomuves/";
        description = "Thom polynomials of second order Thom-Boardman singularities";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "sign" = callPackage
@@ -184618,7 +188961,6 @@ self: {
        ];
        description = "Arithmetic over signs and sets of signs";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "signal" = callPackage
@@ -184859,6 +189201,7 @@ self: {
        homepage = "http://github.com/jwiegley/simple-conduit";
        description = "A simple streaming I/O library based on monadic folds";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "simple-config" = callPackage
@@ -184914,23 +189257,24 @@ self: {
      }) {};
 
   "simple-effects" = callPackage
-    ({ mkDerivation, array, base, criterion, exceptions, list-t
-     , monad-control, MonadRandom, mtl, text, transformers
-     , transformers-base
+    ({ mkDerivation, array, async, base, bytestring, criterion
+     , exceptions, list-t, monad-control, MonadRandom, mtl, text
+     , transformers, transformers-base
      }:
      mkDerivation {
        pname = "simple-effects";
-       version = "0.9.0.1";
-       sha256 = "1n5jr909g410zfy0vk4pvl5phy981hhxsx61hcm6p99f0vdybcwx";
+       version = "0.10.0.1";
+       sha256 = "1fixv7gymd03bnn8aysyyr7jwp1j943xyd69659xcjmljknd1h5m";
        libraryHaskellDepends = [
-         array base exceptions list-t monad-control MonadRandom mtl text
-         transformers transformers-base
+         array async base bytestring exceptions list-t monad-control
+         MonadRandom mtl text transformers transformers-base
        ];
        testHaskellDepends = [ base ];
        benchmarkHaskellDepends = [ base criterion mtl transformers ];
        homepage = "https://gitlab.com/LukaHorvat/simple-effects";
        description = "A simple effect system that integrates with MTL";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "simple-eval" = callPackage
@@ -185097,8 +189441,8 @@ self: {
      }:
      mkDerivation {
        pname = "simple-logging";
-       version = "0.2.0.2";
-       sha256 = "1a917vvwnzmv9jqrrmk6knv8wfrxwkbal6gxp24a2xkiqcjpgbjw";
+       version = "0.2.0.3";
+       sha256 = "12ayxv1j2zzql01gka1p8m7pixjh6f87r5hamz3ydcyzn4vrl5j1";
        libraryHaskellDepends = [
          aeson base bytestring directory exceptions filepath hscolour
          iso8601-time lens mtl simple-effects string-conv text time uuid
@@ -185240,8 +189584,8 @@ self: {
     ({ mkDerivation, base }:
      mkDerivation {
        pname = "simple-reflect";
-       version = "0.3.2";
-       sha256 = "1dpcf6w3cf1sfl9bnlsx04x7aghw029glj5d05qzrsnms2rlw8iq";
+       version = "0.3.3";
+       sha256 = "0ayvrx5cm8n6db21jiyjmk5h93pw7cz1707hih09hlhk9jh5x0h7";
        libraryHaskellDepends = [ base ];
        homepage = "http://twanvl.nl/blog/haskell/simple-reflection-of-expressions";
        description = "Simple reflection of expressions containing variables";
@@ -185327,8 +189671,8 @@ self: {
     ({ mkDerivation, base, process }:
      mkDerivation {
        pname = "simple-smt";
-       version = "0.7.1";
-       sha256 = "1h7acjqis9qrj4i5k4aspjjrd8a86bkhhcn6ib3aa8s384ar0wfv";
+       version = "0.8";
+       sha256 = "0w4adm7zjiqbzm0vg8ky4xyldid00grsnjf7n4pkw5a2fw81qi3d";
        libraryHaskellDepends = [ base process ];
        description = "A simple way to interact with an SMT solver process";
        license = stdenv.lib.licenses.bsd3;
@@ -185354,6 +189698,22 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "simple-src-utils" = callPackage
+    ({ mkDerivation, base, extra, tasty, tasty-hunit, text }:
+     mkDerivation {
+       pname = "simple-src-utils";
+       version = "0.1";
+       sha256 = "0cfa2l7a0c8kgr0707jnk2qzh12a2564bdzzynjzcdjdqda6d5ch";
+       isLibrary = false;
+       isExecutable = true;
+       enableSeparateDataOutput = true;
+       executableHaskellDepends = [ base extra text ];
+       testHaskellDepends = [ base extra tasty tasty-hunit text ];
+       homepage = "https://github.com/elaforge/simple-src-utils";
+       description = "source code editing utilities";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "simple-stacked-vm" = callPackage
     ({ mkDerivation, array, base, binary-state, containers, filepath
      , mtl, parsec
@@ -185436,17 +189796,34 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "simple-ui" = callPackage
+    ({ mkDerivation, base, data-default-class, exceptions, lens, mtl
+     , stm, template-haskell, transformers, vector, vty
+     }:
+     mkDerivation {
+       pname = "simple-ui";
+       version = "0.1.1";
+       sha256 = "1phag0frz7l4xgrgjc72x9iwjl1z1l6mpz7lnifjgn7zp3wdkwzs";
+       enableSeparateDataOutput = true;
+       libraryHaskellDepends = [
+         base data-default-class exceptions lens mtl stm template-haskell
+         transformers vector vty
+       ];
+       description = "UI library for terminal";
+       license = stdenv.lib.licenses.gpl2;
+     }) {};
+
   "simple-vec3" = callPackage
-    ({ mkDerivation, base, criterion, doctest, doctest-discover
+    ({ mkDerivation, base, criterion, doctest, doctest-driver-gen
      , QuickCheck, tasty, tasty-quickcheck, vector
      }:
      mkDerivation {
        pname = "simple-vec3";
-       version = "0.4";
-       sha256 = "13qlnpjl5n6rpvhgn0pdnljx0g7nvjk2xr4mds3nvd93d9ciqcxl";
+       version = "0.4.0.2";
+       sha256 = "0zqy3ffndyvz97wfs0ha0d5j6045gfdh0p6rmz6dv87j9mqmfpl0";
        libraryHaskellDepends = [ base QuickCheck vector ];
        testHaskellDepends = [
-         base doctest doctest-discover tasty tasty-quickcheck
+         base doctest doctest-driver-gen tasty tasty-quickcheck
        ];
        benchmarkHaskellDepends = [ base criterion vector ];
        homepage = "https://github.com/dzhus/simple-vec3#readme";
@@ -185487,8 +189864,8 @@ self: {
     ({ mkDerivation, base, containers, generic-deriving, lens, text }:
      mkDerivation {
        pname = "simpleconfig";
-       version = "0.0.8";
-       sha256 = "0xxnirw7px97gssi2i823hsri168jy2rjwkhnkh6c80p997icdjf";
+       version = "0.0.9";
+       sha256 = "1xk8kxdnw118gzwh3i58iy0bdqi80f8li3bjydaqfn073106nf87";
        libraryHaskellDepends = [ base containers lens ];
        testHaskellDepends = [
          base containers generic-deriving lens text
@@ -185609,8 +189986,8 @@ self: {
      }:
      mkDerivation {
        pname = "simplest-sqlite";
-       version = "0.0.0.14";
-       sha256 = "063x0s7klp510v9gz2qffpwnrsrfh5kady5n0j0cl1x65kis0d2m";
+       version = "0.1.0.0";
+       sha256 = "0vjx01bls2z99hmynqhxm4j2cq17334wz3pz0gm5saxslkldw2sz";
        libraryHaskellDepends = [
          base bytestring exception-hierarchy template-haskell text
        ];
@@ -185731,8 +190108,8 @@ self: {
     ({ mkDerivation, base }:
      mkDerivation {
        pname = "singleton-bool";
-       version = "0.1.3";
-       sha256 = "1i29dl0f45rk280qfrcjcfbkshb7h3y0s2ndw2d7drwlcbl4p2if";
+       version = "0.1.4";
+       sha256 = "0apvzb6ym0fnm4rx7paz6ivv72ahzn2bxhvyd1drw50ypvicd581";
        libraryHaskellDepends = [ base ];
        homepage = "https://github.com/phadej/singleton-bool#readme";
        description = "Type level booleans";
@@ -185756,8 +190133,8 @@ self: {
     ({ mkDerivation, base, singletons }:
      mkDerivation {
        pname = "singleton-nats";
-       version = "0.4.0.4";
-       sha256 = "1cizvqiv1hw7an2c2k1mbj9089n6rrggyf5pv2pcl7knpy07hph4";
+       version = "0.4.1";
+       sha256 = "1fb87qgh35z31rwzrpclf7d071krffr5vvqr1nwvpgikggfjhlss";
        libraryHaskellDepends = [ base singletons ];
        homepage = "https://github.com/AndrasKovacs/singleton-nats";
        description = "Unary natural numbers relying on the singletons infrastructure";
@@ -185953,8 +190330,8 @@ self: {
      }:
      mkDerivation {
        pname = "sitepipe";
-       version = "0.2.0.0";
-       sha256 = "15cynic59qkfgb8d3ca6hr3dag0cs48af266xaiblpvim39rk1fb";
+       version = "0.3.0.0";
+       sha256 = "0h1qcc9d721yczd1szylxpxc1nzi2np6xa5b1rlsck6yjr238bwz";
        libraryHaskellDepends = [
          aeson base bytestring containers directory exceptions filepath Glob
          lens lens-aeson megaparsec MissingH mtl mustache
@@ -185993,8 +190370,8 @@ self: {
        pname = "size-based";
        version = "0.1.0.0";
        sha256 = "1h791s39nr057w5f2fr4v7p1czw9jm0dk5qrhr26qyw97j4ysngx";
-       revision = "1";
-       editedCabalFile = "089942604ikg40v4nl25c4j856bylmmm06py4k2spz3y2z4k49rb";
+       revision = "2";
+       editedCabalFile = "1p4iglrrl5s47cxn520saiszw5wwr4x1kn9xbgn7awz29mv7pmd2";
        libraryHaskellDepends = [
          base dictionary-sharing template-haskell testing-type-modifiers
        ];
@@ -186004,20 +190381,45 @@ self: {
 
   "sized" = callPackage
     ({ mkDerivation, base, constraints, containers, deepseq
-     , equational-reasoning, hashable, lens, ListLike, mono-traversable
-     , monomorphic, singletons, type-natural, vector
+     , equational-reasoning, ghc-typelits-presburger, hashable, lens
+     , ListLike, mono-traversable, singletons, type-natural, vector
      }:
      mkDerivation {
        pname = "sized";
-       version = "0.2.1.1";
-       sha256 = "1agy5yyj6ci89v1jp6k2lj2316h9sap7x65j8n5w7d4ldqsb3i7z";
+       version = "0.3.0.0";
+       sha256 = "1w00s0wgbr1n2x2ariixixy07bhxiyp5728givdrz0xg63gnw1s7";
        libraryHaskellDepends = [
-         base constraints containers deepseq equational-reasoning hashable
-         lens ListLike mono-traversable monomorphic singletons type-natural
-         vector
+         base constraints containers deepseq equational-reasoning
+         ghc-typelits-presburger hashable lens ListLike mono-traversable
+         singletons type-natural vector
        ];
        description = "Sized sequence data-types";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "sized-grid" = callPackage
+    ({ mkDerivation, adjunctions, aeson, ansi-terminal, base, comonad
+     , constraints, distributive, generics-sop, hedgehog, HUnit, lens
+     , markdown-unlit, mtl, random, tasty, tasty-hedgehog, tasty-hunit
+     , vector, vector-space
+     }:
+     mkDerivation {
+       pname = "sized-grid";
+       version = "0.1.0.0";
+       sha256 = "1dj5sgmr8114i5ldpdmybwbwg5gkbm30kbk2196pq65jjcvjinxx";
+       libraryHaskellDepends = [
+         adjunctions aeson base comonad constraints distributive
+         generics-sop lens mtl random vector vector-space
+       ];
+       testHaskellDepends = [
+         adjunctions aeson ansi-terminal base comonad distributive
+         generics-sop hedgehog HUnit lens markdown-unlit tasty
+         tasty-hedgehog tasty-hunit vector-space
+       ];
+       homepage = "https://github.com/edwardwas/sized-grid";
+       description = "Multidimensional grids with sized specified at compile time";
+       license = stdenv.lib.licenses.mit;
      }) {};
 
   "sized-types" = callPackage
@@ -186119,6 +190521,23 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "skeletal-set" = callPackage
+    ({ mkDerivation, base, containers, mtl, smallcheck, tasty
+     , tasty-discover, tasty-hunit, tasty-quickcheck, tasty-smallcheck
+     }:
+     mkDerivation {
+       pname = "skeletal-set";
+       version = "0.1.0.0";
+       sha256 = "0f8mc705bk6nc6l95y65fvcxi772fwvqy3cgm0sb3rv13h4rn468";
+       libraryHaskellDepends = [ base containers ];
+       testHaskellDepends = [
+         base containers mtl smallcheck tasty tasty-discover tasty-hunit
+         tasty-quickcheck tasty-smallcheck
+       ];
+       description = "Skeletal set - a set with equivalence relation different from equality";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "skeleton" = callPackage
     ({ mkDerivation, argparser, attoparsec, base, bytestring, filepath
      , hex, posix-escape, process, time
@@ -186248,22 +190667,23 @@ self: {
      }) {};
 
   "skylighting" = callPackage
-    ({ mkDerivation, aeson, attoparsec, base, base64-bytestring, binary
-     , blaze-html, bytestring, case-insensitive, containers, criterion
-     , Diff, directory, filepath, HUnit, hxt, mtl, pretty-show
-     , QuickCheck, random, regex-pcre-builtin, safe, tasty, tasty-golden
-     , tasty-hunit, tasty-quickcheck, text, utf8-string
+    ({ mkDerivation, aeson, ansi-terminal, attoparsec, base
+     , base64-bytestring, binary, blaze-html, bytestring
+     , case-insensitive, colour, containers, criterion, Diff, directory
+     , filepath, HUnit, hxt, mtl, pretty-show, QuickCheck, random
+     , regex-pcre-builtin, safe, tasty, tasty-golden, tasty-hunit
+     , tasty-quickcheck, text, utf8-string
      }:
      mkDerivation {
        pname = "skylighting";
-       version = "0.5.1";
-       sha256 = "0l5lhhqqlfaq1fs7pn3n3b25kmazk8p4ahwvhagbrhcbm5hsigdg";
+       version = "0.6";
+       sha256 = "1027rcj6zqmnwm6is5k5v28r8af8bsf6i36dwi128h5g92pg206f";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         aeson attoparsec base base64-bytestring binary blaze-html
-         bytestring case-insensitive containers directory filepath hxt mtl
-         regex-pcre-builtin safe text utf8-string
+         aeson ansi-terminal attoparsec base base64-bytestring binary
+         blaze-html bytestring case-insensitive colour containers directory
+         filepath hxt mtl regex-pcre-builtin safe text utf8-string
        ];
        testHaskellDepends = [
          aeson base bytestring containers Diff directory filepath HUnit
@@ -186278,7 +190698,7 @@ self: {
        license = stdenv.lib.licenses.gpl2;
      }) {};
 
-  "skylighting_0_7_0_1" = callPackage
+  "skylighting_0_7_1" = callPackage
     ({ mkDerivation, aeson, ansi-terminal, attoparsec, base
      , base64-bytestring, binary, blaze-html, bytestring
      , case-insensitive, colour, containers, directory, filepath, hxt
@@ -186287,8 +190707,8 @@ self: {
      }:
      mkDerivation {
        pname = "skylighting";
-       version = "0.7.0.1";
-       sha256 = "0f1527pjfgmb9dxlgrs2wl0zq9vbxishjm7m3h4gyajk2nfw5dw3";
+       version = "0.7.1";
+       sha256 = "0x7mn1dn6hsqwvcq6l3yx74g5lpq1zwh96mba9h24xsw0zqd9g60";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -186313,8 +190733,8 @@ self: {
      }:
      mkDerivation {
        pname = "skylighting-core";
-       version = "0.7.0.1";
-       sha256 = "06kfpb49wql0b11c2cqypccw75l5vj1a6dck333p6bds2xbk83qn";
+       version = "0.7.1";
+       sha256 = "0gkjv36cbqyzvxvqfjdz816901x949zjmyasrvgwwlyvahsj5zjg";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -186440,37 +190860,13 @@ self: {
   "slack-web" = callPackage
     ({ mkDerivation, aeson, base, containers, errors, hspec
      , http-api-data, http-client, http-client-tls, megaparsec, mtl
-     , servant, servant-client, text, time, transformers
-     }:
-     mkDerivation {
-       pname = "slack-web";
-       version = "0.2.0.1";
-       sha256 = "1v1w6szcjy4qgdx66754vkp7w4fnkyg0pngijy2v422pqmc4jpr9";
-       libraryHaskellDepends = [
-         aeson base containers errors http-api-data http-client
-         http-client-tls megaparsec mtl servant servant-client text time
-         transformers
-       ];
-       testHaskellDepends = [
-         aeson base containers errors hspec http-api-data megaparsec text
-         time
-       ];
-       homepage = "https://github.com/jpvillaisaza/slack-web";
-       description = "Bindings for the Slack web API";
-       license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
-     }) {};
-
-  "slack-web_0_2_0_3" = callPackage
-    ({ mkDerivation, aeson, base, containers, errors, hspec
-     , http-api-data, http-client, http-client-tls, megaparsec, mtl
      , servant, servant-client, servant-client-core, text, time
      , transformers
      }:
      mkDerivation {
        pname = "slack-web";
-       version = "0.2.0.3";
-       sha256 = "1zxs697fmcgwrbrkzh7qgmrxcc6l75m1p300zinzqxvxv3zvk5l6";
+       version = "0.2.0.4";
+       sha256 = "1wbqz6shqm39ivmw7k2pwslaygxf4rxxbkiczxzpvd29y5pm81ah";
        libraryHaskellDepends = [
          aeson base containers errors http-api-data http-client
          http-client-tls megaparsec mtl servant servant-client
@@ -186493,8 +190889,8 @@ self: {
      }:
      mkDerivation {
        pname = "slate";
-       version = "0.8.0.0";
-       sha256 = "096v0aai5c7adpa5y15yscs6w8c7c0vz667a0ibr33m0rmnyiqlm";
+       version = "0.10.0.0";
+       sha256 = "0f21bmv0dckdim27mm5m7vphci45h6fjbxyzpahai2nlydilhnc6";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -186533,6 +190929,7 @@ self: {
        homepage = "https://github.com/nikita-volkov/slave-thread";
        description = "A principal solution to ghost threads and silent exceptions";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "sleep" = callPackage
@@ -186682,8 +191079,8 @@ self: {
        pname = "slug";
        version = "0.1.7";
        sha256 = "1pkxcb2ip4mb6szmqz3g7m3m8qfrvknjr5ii0wnd0icbzm1q4vyp";
-       revision = "1";
-       editedCabalFile = "0xy0zcrnfpdbkhks15p1g2zxl7zmfb0b5511mfcsvzxl9q8salf6";
+       revision = "3";
+       editedCabalFile = "1kqaqhg8bkrkax41pbi18612s0m9w2324n5akn5nhmxq0zla73vh";
        libraryHaskellDepends = [
          aeson base exceptions http-api-data path-pieces persistent
          QuickCheck text
@@ -186729,7 +191126,6 @@ self: {
        ];
        description = "Flatten camel case text in LaTeX files";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "smallcheck" = callPackage
@@ -186934,6 +191330,7 @@ self: {
        homepage = "https://github.com/jrclogic/SMCDEL";
        description = "Symbolic Model Checking for Dynamic Epistemic Logic";
        license = stdenv.lib.licenses.gpl2;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "sme" = callPackage
@@ -186985,8 +191382,8 @@ self: {
     ({ mkDerivation, aeson, base, linear, text, vector }:
      mkDerivation {
        pname = "smoothie";
-       version = "0.4.2.7";
-       sha256 = "1cnyckmwqj0caw2vcbmvzha8hs1207pq11mlmwpk2w6qccs1qml4";
+       version = "0.4.2.8";
+       sha256 = "0fy0rygg2r73zfcgxmamlz1xfbpfxbljxcwjx9rnp0c8v9aq2m2s";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [ aeson base linear text vector ];
        homepage = "https://github.com/phaazon/smoothie";
@@ -187029,8 +191426,8 @@ self: {
     ({ mkDerivation, base, pretty }:
      mkDerivation {
        pname = "smtLib";
-       version = "1.0.8";
-       sha256 = "1a91ml428xxb9pd88vdw5cj076s13k864bk9kp48hb3l4a9ny09p";
+       version = "1.0.9";
+       sha256 = "19hfw5pgygka2wrnlr8s6wqpw92kz259lli83w1i7igw3v7vyzcc";
        libraryHaskellDepends = [ base pretty ];
        description = "A library for working with the SMTLIB format";
        license = stdenv.lib.licenses.bsd3;
@@ -187233,8 +191630,8 @@ self: {
        pname = "snap";
        version = "1.1.0.0";
        sha256 = "166ilpc4dd4020mmqn2lrfs3j5dl4a2mvqag1sz4mx7jcndrjbc8";
-       revision = "2";
-       editedCabalFile = "05k5fgb31xvz733j3d4hqbhzbjlglv1m4f020mdnm1q7qg4a81nq";
+       revision = "3";
+       editedCabalFile = "0jkxlbbx4whwqqxb1c04xp1zanzmda4b4bwz8swk2pcixmmzx2xa";
        libraryHaskellDepends = [
          aeson attoparsec base bytestring cereal clientsession configurator
          containers directory directory-tree dlist filepath hashable heist
@@ -187287,20 +191684,21 @@ self: {
 
   "snap-auth-cli" = callPackage
     ({ mkDerivation, aeson, aeson-pretty, base, bytestring
-     , clientsession, cmdargs, snap, text, unordered-containers
-     , utf8-string
+     , clientsession, cmdargs, snap, snaplet-sqlite-simple
+     , sqlite-simple, text, unordered-containers, utf8-string
      }:
      mkDerivation {
        pname = "snap-auth-cli";
-       version = "0.1.0.1";
-       sha256 = "0spdn7zazd17yrcx004m4yag8vy4bac4997f81nfvy25jvg87hhl";
+       version = "0.2";
+       sha256 = "1h93v7fkrdpp5ls2b2g7r7wnf6abfl8q0nld1qzzqj927lzgnzwa";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
-         aeson aeson-pretty base bytestring clientsession cmdargs snap text
-         unordered-containers utf8-string
+         aeson aeson-pretty base bytestring clientsession cmdargs snap
+         snaplet-sqlite-simple sqlite-simple text unordered-containers
+         utf8-string
        ];
-       homepage = "https://github.com/dzhus/snap-auth-cli";
+       homepage = "https://github.com/dzhus/snap-auth-cli#readme";
        description = "Command-line tool to manage Snap AuthManager database";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -187357,10 +191755,10 @@ self: {
      }:
      mkDerivation {
        pname = "snap-core";
-       version = "1.0.3.1";
-       sha256 = "0m2pbz7r5dllk859r8bs3yjkmdh4xrw0vafz390jfmj15vaz0j87";
+       version = "1.0.3.2";
+       sha256 = "136q7l4hd5yn5hb507q1ziqx124ma1lkzh5dx0n150p8dx3rhhsc";
        revision = "1";
-       editedCabalFile = "0yf3i0pb14zff083cnz4lszg5bkbbzg5r1v3yj9s66dchrszrjbd";
+       editedCabalFile = "08ll71h3rv9bppr7xrflg4y627vnmxgfhby1kli9cj0a7ryspam1";
        libraryHaskellDepends = [
          attoparsec base bytestring bytestring-builder case-insensitive
          containers directory filepath hashable HUnit io-streams lifted-base
@@ -187393,7 +191791,6 @@ self: {
        homepage = "https://github.com/ocharles/snap-cors";
        description = "Add CORS headers to Snap applications";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "snap-elm" = callPackage
@@ -187570,8 +191967,8 @@ self: {
        pname = "snap-server";
        version = "1.0.3.3";
        sha256 = "1vjfpgcl09l974mdsvgxdlqcl68xmn33z1scx3sfyvcnz32xnnkl";
-       revision = "2";
-       editedCabalFile = "1nb3jxr7sgw2r305k6bbbyyx8myxm3r01a8zhvxdkz4xvv9907d0";
+       revision = "3";
+       editedCabalFile = "0y0rd2skx59knkxm53zg6m4mi0p4rj9jw32vsj9mbl8sy2vw9hlj";
        configureFlags = [ "-fopenssl" ];
        isLibrary = true;
        isExecutable = true;
@@ -187599,6 +191996,50 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "snap-server_1_1_0_0" = callPackage
+    ({ mkDerivation, attoparsec, base, base16-bytestring, blaze-builder
+     , bytestring, bytestring-builder, case-insensitive, clock
+     , containers, criterion, deepseq, directory, filepath, HsOpenSSL
+     , http-common, http-streams, HUnit, io-streams, io-streams-haproxy
+     , lifted-base, monad-control, mtl, network, old-locale
+     , openssl-streams, parallel, QuickCheck, random, snap-core
+     , test-framework, test-framework-hunit, test-framework-quickcheck2
+     , text, threads, time, transformers, unix, unix-compat, vector
+     }:
+     mkDerivation {
+       pname = "snap-server";
+       version = "1.1.0.0";
+       sha256 = "0vvw9n8xs272qdlrf3dxhnva41zh3awi7pf022rrjj75lj8a77i4";
+       revision = "1";
+       editedCabalFile = "1lyx51zr1cmjyvsfplxpzv87agvvv83v3ww8m01fdh7x31np1chc";
+       configureFlags = [ "-fopenssl" ];
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         attoparsec base blaze-builder bytestring bytestring-builder
+         case-insensitive clock containers filepath HsOpenSSL io-streams
+         io-streams-haproxy lifted-base mtl network old-locale
+         openssl-streams snap-core text time unix unix-compat vector
+       ];
+       testHaskellDepends = [
+         attoparsec base base16-bytestring blaze-builder bytestring
+         bytestring-builder case-insensitive clock containers deepseq
+         directory filepath HsOpenSSL http-common http-streams HUnit
+         io-streams io-streams-haproxy lifted-base monad-control mtl network
+         old-locale openssl-streams parallel QuickCheck random snap-core
+         test-framework test-framework-hunit test-framework-quickcheck2 text
+         threads time transformers unix unix-compat vector
+       ];
+       benchmarkHaskellDepends = [
+         attoparsec base blaze-builder bytestring bytestring-builder
+         criterion io-streams io-streams-haproxy snap-core vector
+       ];
+       homepage = "http://snapframework.com/";
+       description = "A web server for the Snap Framework";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "snap-templates" = callPackage
     ({ mkDerivation, base, bytestring, containers, directory
      , directory-tree, filepath, hashable, old-time, template-haskell
@@ -187617,7 +192058,6 @@ self: {
        homepage = "http://snapframework.com/";
        description = "Scaffolding CLI for the Snap Framework";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "snap-testing" = callPackage
@@ -187799,6 +192239,28 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "snaplet-customauth" = callPackage
+    ({ mkDerivation, aeson, base, base64-bytestring, binary
+     , binary-orphans, bytestring, configurator, containers, errors
+     , heist, hoauth2, http-client, http-client-tls, lens, map-syntax
+     , mtl, random, snap, snap-core, text, time, transformers
+     , unordered-containers, uri-bytestring, xmlhtml
+     }:
+     mkDerivation {
+       pname = "snaplet-customauth";
+       version = "0.1.0";
+       sha256 = "1xc45lvhr3psqhv87n75f5968q129fgz3cz6362qvcnbnyyiznz3";
+       libraryHaskellDepends = [
+         aeson base base64-bytestring binary binary-orphans bytestring
+         configurator containers errors heist hoauth2 http-client
+         http-client-tls lens map-syntax mtl random snap snap-core text time
+         transformers unordered-containers uri-bytestring xmlhtml
+       ];
+       description = "Alternate authentication snaplet";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "snaplet-environments" = callPackage
     ({ mkDerivation, base, bson, configurator, mtl, regex-tdfa, snap
      , snap-core, text, unordered-containers
@@ -188104,8 +192566,8 @@ self: {
      }:
      mkDerivation {
        pname = "snaplet-persistent";
-       version = "0.5.1";
-       sha256 = "00p5f1xysv618yd4s9zw66zfjpa1gx7nld5k9ysm8vrd0haa4v5r";
+       version = "0.6.0";
+       sha256 = "1gvnf4fkylazq8bjb8kcv70vcd2k1r2dw5l53r624d10p23fsa8k";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          base bytestring clientsession configurator errors heist lens
@@ -188717,7 +193179,6 @@ self: {
        homepage = "http://hub.darcs.net/dag/snowball";
        description = "Bindings to the Snowball library";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "snowflake" = callPackage
@@ -188799,6 +193260,7 @@ self: {
        homepage = "https://github.com/aiya000/hs-snowtify#README.md";
        description = "snowtify send your result of `stack build` (`stack test`) to notify-daemon :dog2:";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "soap" = callPackage
@@ -188809,10 +193271,8 @@ self: {
      }:
      mkDerivation {
        pname = "soap";
-       version = "0.2.3.5";
-       sha256 = "01xprcrgy0galalh27by3csbm8m2m9dxlw3y83s4qnassv8zf2xs";
-       revision = "2";
-       editedCabalFile = "07283pa4n5mf908zl3az9gy95y49zk65kiwyymsmcz5nvhqvp840";
+       version = "0.2.3.6";
+       sha256 = "0xmiabnx814rwdwrcipv0kja6ljgwqr4x58sa8s07nrs3ph8xz6d";
        libraryHaskellDepends = [
          base bytestring conduit configurator data-default exceptions
          http-client http-types iconv mtl resourcet text
@@ -188853,10 +193313,8 @@ self: {
      }:
      mkDerivation {
        pname = "soap-tls";
-       version = "0.1.1.2";
-       sha256 = "0xnzwzmhh2i5nci7xbnkr28hxm376fbmgjcwz7svk46k1vxvlfp4";
-       revision = "1";
-       editedCabalFile = "0h6jgiifrphdphxfvgk95and4a86xp6afxi90v0b93cs2zyi0vsy";
+       version = "0.1.1.4";
+       sha256 = "051shlb128lsacd2cjm4kpyqkmzdcwcj7ppl7l4n1k5j9g6k72yf";
        libraryHaskellDepends = [
          base configurator connection data-default http-client
          http-client-tls soap text tls x509 x509-store x509-validation
@@ -188931,8 +193389,8 @@ self: {
      }:
      mkDerivation {
        pname = "socket-io";
-       version = "1.3.8";
-       sha256 = "08zwn8p1nkizgs8spdkdmw1xkfsz6ryviv8shnbc8mnpxfs6wl7q";
+       version = "1.3.9";
+       sha256 = "1bn0x8l288rgq1x04a6xlaky8zwzqzs5zpbv80fvnnzqb4810035";
        libraryHaskellDepends = [
          aeson attoparsec base bytestring engine-io mtl stm text
          transformers unordered-containers vector
@@ -188972,6 +193430,7 @@ self: {
        homepage = "https://github.com/vyacheslavhashov/haskell-socket-unix#readme";
        description = "Unix domain sockets";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "socketed" = callPackage
@@ -189257,6 +193716,20 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "sorted-list_0_2_1_0" = callPackage
+    ({ mkDerivation, base, criterion, deepseq }:
+     mkDerivation {
+       pname = "sorted-list";
+       version = "0.2.1.0";
+       sha256 = "1x2ygkh32q2kk5g7b7hnrl8z8azvgwsj36f3ndg79pzhghapdr5l";
+       libraryHaskellDepends = [ base deepseq ];
+       benchmarkHaskellDepends = [ base criterion ];
+       homepage = "https://github.com/Daniel-Diaz/sorted-list/blob/master/README.md";
+       description = "Type-enforced sorted lists and related functions";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "sorting" = callPackage
     ({ mkDerivation, base }:
      mkDerivation {
@@ -189617,6 +194090,34 @@ self: {
        license = stdenv.lib.licenses.gpl3;
      }) {};
 
+  "sparrow" = callPackage
+    ({ mkDerivation, aeson, aeson-attoparsec, async, attoparsec
+     , attoparsec-uri, base, bytestring, deepseq, exceptions
+     , extractable-singleton, hashable, http-client, http-client-tls
+     , http-types, list-t, monad-control, monad-control-aligned, mtl
+     , nested-routes, path, path-extra, pred-trie, stm, strict, text
+     , tmapchan, tmapmvar, transformers, unordered-containers, urlpath
+     , uuid, wai, wai-middleware-content-type, wai-transformers
+     , websockets, websockets-simple, wuss
+     }:
+     mkDerivation {
+       pname = "sparrow";
+       version = "0.0.1.6";
+       sha256 = "10kj0ir2i72q20jbp39n5v700pivbapkyvarql9hg5sci9s73g4s";
+       libraryHaskellDepends = [
+         aeson aeson-attoparsec async attoparsec attoparsec-uri base
+         bytestring deepseq exceptions extractable-singleton hashable
+         http-client http-client-tls http-types list-t monad-control
+         monad-control-aligned mtl nested-routes path path-extra pred-trie
+         stm strict text tmapchan tmapmvar transformers unordered-containers
+         urlpath uuid wai wai-middleware-content-type wai-transformers
+         websockets websockets-simple wuss
+       ];
+       description = "Unified streaming dependency management for web apps";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "sparse" = callPackage
     ({ mkDerivation, array, base, bytestring, containers, contravariant
      , criterion, deepseq, directory, doctest, filepath, hlint
@@ -189687,6 +194188,30 @@ self: {
        license = stdenv.lib.licenses.gpl3;
      }) {};
 
+  "sparse-linear-algebra_0_3_1" = callPackage
+    ({ mkDerivation, base, containers, exceptions, hspec
+     , matrix-market-attoparsec, mtl, mwc-random, primitive, QuickCheck
+     , scientific, transformers, vector, vector-algorithms
+     }:
+     mkDerivation {
+       pname = "sparse-linear-algebra";
+       version = "0.3.1";
+       sha256 = "1jfwydr0pzph932h7jvnmp1d8qqrhxsq7rbb6cjbmga55s5pfqn7";
+       enableSeparateDataOutput = true;
+       libraryHaskellDepends = [
+         base containers exceptions hspec mtl primitive QuickCheck
+         transformers vector vector-algorithms
+       ];
+       testHaskellDepends = [
+         base containers exceptions hspec matrix-market-attoparsec mtl
+         mwc-random primitive QuickCheck scientific
+       ];
+       homepage = "https://github.com/ocramz/sparse-linear-algebra";
+       description = "Numerical computing in native Haskell";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "sparsebit" = callPackage
     ({ mkDerivation, base, haskell98 }:
      mkDerivation {
@@ -189784,6 +194309,7 @@ self: {
        homepage = "https://github.com/phadej/spdx";
        description = "SPDX license expression language";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "spe" = callPackage
@@ -189876,10 +194402,10 @@ self: {
      }:
      mkDerivation {
        pname = "species";
-       version = "0.4";
-       sha256 = "04n9lrh058n66175drw3vsn57fd64j8wmn9wdchfb0557yqcjcmn";
+       version = "0.4.0.1";
+       sha256 = "0d9vkplg2lrwb34i2ziaa9hc8dnpkjkmwd5b27kigcqfigck6ym2";
        revision = "1";
-       editedCabalFile = "0j69s6gpq0bzv42hkalz3nw35q07m5agdcs8kxv11s62jcm6idrs";
+       editedCabalFile = "1pvk34n7lsbpng9b6m6nrhhr44z1pilh292j3lfnx69hvxhvaq93";
        libraryHaskellDepends = [
          base containers multiset-comb np-extras numeric-prelude
          template-haskell
@@ -189999,7 +194525,6 @@ self: {
        homepage = "https://github.com/gregwebs/haskell-sphinx-client";
        description = "Haskell bindings to the Sphinx full-text searching daemon";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "sphinx-cli" = callPackage
@@ -190284,6 +194809,8 @@ self: {
        pname = "splitmix";
        version = "0";
        sha256 = "0qa86iflw1v8vqci8krj4kdvp648hnl8wx3wyhnd1c95jrla0fpi";
+       revision = "2";
+       editedCabalFile = "0fl7z9lxkyvqk0d14d778j3lk8zi8jgncwq41gqi4z78a20xb2pg";
        libraryHaskellDepends = [ base random time ];
        testHaskellDepends = [
          base base-compat bytestring random tf-random
@@ -190678,8 +195205,8 @@ self: {
     ({ mkDerivation, base, QuickCheck, quickcheck-simple }:
      mkDerivation {
        pname = "sql-words";
-       version = "0.1.5.1";
-       sha256 = "0nr4ld96s3n48ydd15jsxb823kk2682wkjd2h7vqc306891qwwzd";
+       version = "0.1.6.0";
+       sha256 = "065ymcym5vm5xmprbzgv88wk3b09j44ajvsd59apw6qr32j218rn";
        libraryHaskellDepends = [ base ];
        testHaskellDepends = [ base QuickCheck quickcheck-simple ];
        homepage = "http://khibino.github.io/haskell-relational-record/";
@@ -190708,26 +195235,27 @@ self: {
      }) {inherit (pkgs) openssl;};
 
   "sqlcli" = callPackage
-    ({ mkDerivation, base, transformers }:
+    ({ mkDerivation, base, logging, text, transformers, unixODBC }:
      mkDerivation {
        pname = "sqlcli";
-       version = "0.1.0.0";
-       sha256 = "1xkq7pjvmhb4gc85val4fnd6jsbx7dmybq842r40vdbbxj8swh5v";
-       libraryHaskellDepends = [ base transformers ];
+       version = "0.2.0.1";
+       sha256 = "09x9g3rjz1idyr0rh885y4pdddn08g7hwcspa47n6yf5wlx33gln";
+       libraryHaskellDepends = [ base logging text transformers ];
+       librarySystemDepends = [ unixODBC ];
        homepage = "http://hub.darcs.net/mihaigiurgeanu/sqlcli";
        description = "Sql Call-Level Interface bindings for Haskell";
        license = stdenv.lib.licenses.bsd3;
-     }) {};
+     }) {inherit (pkgs) unixODBC;};
 
   "sqlcli-odbc" = callPackage
-    ({ mkDerivation, base, sqlcli }:
+    ({ mkDerivation, base, logging, sqlcli }:
      mkDerivation {
        pname = "sqlcli-odbc";
-       version = "0.1.0.1";
-       sha256 = "176jz0y435rdg1cg03a9aa2jd1a26gi5id9d3fbm91wv6fyjj6lm";
-       libraryHaskellDepends = [ base sqlcli ];
-       homepage = "https://hub.darcs.com/mihaigiurgeanu/sqlcli-odbc";
-       description = "Specific ODBC definitions to be used by SQL CLI clients";
+       version = "0.2.0.1";
+       sha256 = "1rfhdaa0wmvc78nbjhi93p9sv66xa6rjr79yyhlkqi1d335b8vb5";
+       libraryHaskellDepends = [ base logging sqlcli ];
+       homepage = "https://hub.darcs.net/mihaigiurgeanu/sqlcli-odbc";
+       description = "ODBC specific definitions to be used by SQL CLI clients";
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
@@ -190752,15 +195280,15 @@ self: {
   "sqlite-simple" = callPackage
     ({ mkDerivation, attoparsec, base, base16-bytestring, blaze-builder
      , blaze-textual, bytestring, containers, direct-sqlite, HUnit, Only
-     , text, time, transformers
+     , semigroups, text, time, transformers
      }:
      mkDerivation {
        pname = "sqlite-simple";
-       version = "0.4.14.0";
-       sha256 = "0zx4fdv6larfyj6m1d4livb5cqdx10yi06yd6px2n0wnxcmvdyj9";
+       version = "0.4.15.0";
+       sha256 = "1qk9dzrqfyjavyl9p0l24hbncp2c1faxx0yvjz5iq3s4dl6fswf0";
        libraryHaskellDepends = [
          attoparsec base blaze-builder blaze-textual bytestring containers
-         direct-sqlite Only text time transformers
+         direct-sqlite Only semigroups text time transformers
        ];
        testHaskellDepends = [
          base base16-bytestring bytestring direct-sqlite HUnit text time
@@ -190774,13 +195302,14 @@ self: {
     ({ mkDerivation, base, mtl, parsec, sqlite-simple, text }:
      mkDerivation {
        pname = "sqlite-simple-errors";
-       version = "0.6.0.0";
-       sha256 = "106rpzxdnsp7g84fh5yvmj145pz5ghrd5cicg1yj5pxlyrgvm5z6";
+       version = "0.6.1.0";
+       sha256 = "0vvim8zcrl3yqhf30j69x59qs5f6sdx5bvy4ihwmimkldm5gh0ai";
        libraryHaskellDepends = [ base parsec sqlite-simple text ];
        testHaskellDepends = [ base mtl sqlite-simple text ];
        homepage = "https://github.com/caneroj1/sqlite-simple-errors";
        description = "Wrapper around errors from sqlite-simple";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "sqlite-simple-typed" = callPackage
@@ -190864,6 +195393,35 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "squeal-postgresql_0_2_1_0" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, deepseq, doctest
+     , generics-sop, lifted-base, mmorph, monad-control, mtl, network-ip
+     , postgresql-binary, postgresql-libpq, resource-pool, scientific
+     , text, time, transformers, transformers-base, uuid-types, vector
+     }:
+     mkDerivation {
+       pname = "squeal-postgresql";
+       version = "0.2.1.0";
+       sha256 = "1qfz1c4yzjshgvc64plahy3aar96yvcmn2m5giyp17nrfgq266qs";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson base bytestring deepseq generics-sop lifted-base mmorph
+         monad-control mtl network-ip postgresql-binary postgresql-libpq
+         resource-pool scientific text time transformers transformers-base
+         uuid-types vector
+       ];
+       executableHaskellDepends = [
+         base bytestring generics-sop mtl text transformers
+         transformers-base vector
+       ];
+       testHaskellDepends = [ base doctest ];
+       homepage = "https://github.com/morphismtech/squeal";
+       description = "Squeal PostgreSQL Library";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "squeeze" = callPackage
     ({ mkDerivation, base, Cabal, data-default, directory, extra
      , factory, filepath, mtl, QuickCheck, random, toolshed
@@ -190886,7 +195444,6 @@ self: {
        homepage = "http://functionalley.eu/Squeeze/squeeze.html";
        description = "A file-packing application";
        license = "GPL";
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "sr-extra" = callPackage
@@ -190932,8 +195489,8 @@ self: {
     ({ mkDerivation, base }:
      mkDerivation {
        pname = "srcloc";
-       version = "0.5.1.1";
-       sha256 = "05qsyrpzbbawpnfmq8v1rr36kvnycarlr3v91hmbj33vk73acj1i";
+       version = "0.5.1.2";
+       sha256 = "0vn0zqsk191ghh2993hls05hp7kvnskaafnfrrqhfbmpdg7dp7h6";
        libraryHaskellDepends = [ base ];
        homepage = "https://github.com/mainland/srcloc";
        description = "Data types for managing source code locations";
@@ -191272,8 +195829,8 @@ self: {
        pname = "stache";
        version = "1.2.1";
        sha256 = "0fqipjyin2hpklm0gaab4qhcfj9gzkpb2g948sqzf1n6alkxvyvb";
-       revision = "1";
-       editedCabalFile = "18h31a8bd7v96lc9q0ai7sblnxg3y55s1053jqdixi3y7lz3jh79";
+       revision = "4";
+       editedCabalFile = "03qy0mlyiwpv98aq74m3pyarg6v6w9vn8qlq6ljdlb40xi1p9s7z";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          aeson base bytestring containers deepseq directory filepath
@@ -191293,86 +195850,82 @@ self: {
 
   "stack" = callPackage
     ({ mkDerivation, aeson, annotated-wl-pprint, ansi-terminal, async
-     , attoparsec, base, base64-bytestring, bindings-uname
-     , blaze-builder, bytestring, Cabal, clock, conduit, conduit-extra
-     , containers, cryptonite, cryptonite-conduit, deepseq, directory
-     , echo, exceptions, extra, fast-logger, file-embed, filelock
-     , filepath, fsnotify, generic-deriving, gitrev, hackage-security
-     , hashable, hastache, hpack, hpc, hspec, http-client
-     , http-client-tls, http-conduit, http-types, memory, microlens
-     , microlens-mtl, mintty, monad-logger, mono-traversable, mtl
+     , attoparsec, base, base64-bytestring, bindings-uname, bytestring
+     , Cabal, conduit, conduit-extra, containers, cryptonite
+     , cryptonite-conduit, deepseq, directory, echo, exceptions, extra
+     , file-embed, filelock, filepath, fsnotify, generic-deriving
+     , gitrev, hackage-security, hashable, hpack, hpc, hspec
+     , http-client, http-client-tls, http-conduit, http-types, memory
+     , microlens, mintty, monad-logger, mono-traversable, mtl, mustache
      , neat-interpolation, network-uri, open-browser
      , optparse-applicative, optparse-simple, path, path-io, persistent
-     , persistent-sqlite, persistent-template, pid1, pretty, primitive
+     , persistent-sqlite, persistent-template, pretty, primitive
      , process, project-template, QuickCheck, regex-applicative-text
-     , resourcet, retry, semigroups, smallcheck, split, stm, store
+     , resourcet, retry, rio, semigroups, smallcheck, split, stm, store
      , store-core, streaming-commons, tar, template-haskell, temporary
      , text, text-metrics, th-reify-many, time, tls, transformers
-     , unicode-transforms, unix, unix-compat, unliftio
+     , typed-process, unicode-transforms, unix, unix-compat, unliftio
      , unordered-containers, vector, yaml, zip-archive, zlib
      }:
      mkDerivation {
        pname = "stack";
-       version = "1.6.5";
-       sha256 = "0f5a0znxwmib03vhqkw0yiv89a82z43wlm7zwfyx30gfz6iqqp7f";
+       version = "1.7.1";
+       sha256 = "17rjc9fz1hn56jz4bnhhm50h5x71r69jizlw6dx7kfvm57hg5i0r";
        revision = "1";
-       editedCabalFile = "11bmzlf3gxbz2gij0l2999a296z4c12l27f7jfyfka8l1k15d6b1";
+       editedCabalFile = "12ym80mwlvg3zwbjhmby4k467hxa0yip0314w658ivn0sq6vgycw";
        isLibrary = true;
        isExecutable = true;
        setupHaskellDepends = [ base Cabal filepath ];
        libraryHaskellDepends = [
          aeson annotated-wl-pprint ansi-terminal async attoparsec base
-         base64-bytestring bindings-uname blaze-builder bytestring Cabal
-         clock conduit conduit-extra containers cryptonite
-         cryptonite-conduit deepseq directory echo exceptions extra
-         fast-logger file-embed filelock filepath fsnotify generic-deriving
-         hackage-security hashable hastache hpack hpc http-client
-         http-client-tls http-conduit http-types memory microlens
-         microlens-mtl mintty monad-logger mono-traversable mtl
+         base64-bytestring bindings-uname bytestring Cabal conduit
+         conduit-extra containers cryptonite cryptonite-conduit deepseq
+         directory echo exceptions extra file-embed filelock filepath
+         fsnotify generic-deriving hackage-security hashable hpack hpc
+         http-client http-client-tls http-conduit http-types memory
+         microlens mintty monad-logger mono-traversable mtl mustache
          neat-interpolation network-uri open-browser optparse-applicative
-         path path-io persistent persistent-sqlite persistent-template pid1
+         path path-io persistent persistent-sqlite persistent-template
          pretty primitive process project-template regex-applicative-text
-         resourcet retry semigroups split stm store store-core
+         resourcet retry rio semigroups split stm store store-core
          streaming-commons tar template-haskell temporary text text-metrics
-         th-reify-many time tls transformers unicode-transforms unix
-         unix-compat unliftio unordered-containers vector yaml zip-archive
-         zlib
+         th-reify-many time tls transformers typed-process
+         unicode-transforms unix unix-compat unliftio unordered-containers
+         vector yaml zip-archive zlib
        ];
        executableHaskellDepends = [
          aeson annotated-wl-pprint ansi-terminal async attoparsec base
-         base64-bytestring bindings-uname blaze-builder bytestring Cabal
-         clock conduit conduit-extra containers cryptonite
-         cryptonite-conduit deepseq directory echo exceptions extra
-         fast-logger file-embed filelock filepath fsnotify generic-deriving
-         gitrev hackage-security hashable hastache hpack hpc http-client
-         http-client-tls http-conduit http-types memory microlens
-         microlens-mtl mintty monad-logger mono-traversable mtl
+         base64-bytestring bindings-uname bytestring Cabal conduit
+         conduit-extra containers cryptonite cryptonite-conduit deepseq
+         directory echo exceptions extra file-embed filelock filepath
+         fsnotify generic-deriving gitrev hackage-security hashable hpack
+         hpc http-client http-client-tls http-conduit http-types memory
+         microlens mintty monad-logger mono-traversable mtl mustache
          neat-interpolation network-uri open-browser optparse-applicative
          optparse-simple path path-io persistent persistent-sqlite
-         persistent-template pid1 pretty primitive process project-template
-         regex-applicative-text resourcet retry semigroups split stm store
-         store-core streaming-commons tar template-haskell temporary text
-         text-metrics th-reify-many time tls transformers unicode-transforms
-         unix unix-compat unliftio unordered-containers vector yaml
-         zip-archive zlib
+         persistent-template pretty primitive process project-template
+         regex-applicative-text resourcet retry rio semigroups split stm
+         store store-core streaming-commons tar template-haskell temporary
+         text text-metrics th-reify-many time tls transformers typed-process
+         unicode-transforms unix unix-compat unliftio unordered-containers
+         vector yaml zip-archive zlib
        ];
        testHaskellDepends = [
          aeson annotated-wl-pprint ansi-terminal async attoparsec base
-         base64-bytestring bindings-uname blaze-builder bytestring Cabal
-         clock conduit conduit-extra containers cryptonite
-         cryptonite-conduit deepseq directory echo exceptions extra
-         fast-logger file-embed filelock filepath fsnotify generic-deriving
-         hackage-security hashable hastache hpack hpc hspec http-client
-         http-client-tls http-conduit http-types memory microlens
-         microlens-mtl mintty monad-logger mono-traversable mtl
+         base64-bytestring bindings-uname bytestring Cabal conduit
+         conduit-extra containers cryptonite cryptonite-conduit deepseq
+         directory echo exceptions extra file-embed filelock filepath
+         fsnotify generic-deriving hackage-security hashable hpack hpc hspec
+         http-client http-client-tls http-conduit http-types memory
+         microlens mintty monad-logger mono-traversable mtl mustache
          neat-interpolation network-uri open-browser optparse-applicative
-         path path-io persistent persistent-sqlite persistent-template pid1
+         path path-io persistent persistent-sqlite persistent-template
          pretty primitive process project-template QuickCheck
-         regex-applicative-text resourcet retry semigroups smallcheck split
-         stm store store-core streaming-commons tar template-haskell
+         regex-applicative-text resourcet retry rio semigroups smallcheck
+         split stm store store-core streaming-commons tar template-haskell
          temporary text text-metrics th-reify-many time tls transformers
-         unicode-transforms unix unix-compat unliftio unordered-containers
-         vector yaml zip-archive zlib
+         typed-process unicode-transforms unix unix-compat unliftio
+         unordered-containers vector yaml zip-archive zlib
        ];
        doCheck = false;
        preCheck = "export HOME=$TMPDIR";
@@ -191454,6 +196007,50 @@ self: {
        homepage = "https://github.com/clintonmead/stack-lib#readme";
        description = "Wrapper to use stack as a library";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "stack-network" = callPackage
+    ({ mkDerivation, ansi-terminal, async, base, binary, bytestring
+     , Cabal, clock, configurator, directory, dirstream
+     , distributed-process-lifted, distributed-process-simplelocalnet
+     , exceptions, filepath, hspec, lifted-base, mtl
+     , optparse-applicative, pipes, pipes-safe, process, raw-strings-qq
+     , system-fileio, system-filepath, temporary, text, transformers
+     , yaml
+     }:
+     mkDerivation {
+       pname = "stack-network";
+       version = "0.1.0.1";
+       sha256 = "1skq3sqr5krn6gh5h684vn2w2h8zvqkdcc7yhbyri2fswahy9g1x";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         ansi-terminal async base binary bytestring Cabal clock configurator
+         directory dirstream distributed-process-lifted
+         distributed-process-simplelocalnet exceptions filepath lifted-base
+         mtl optparse-applicative pipes pipes-safe process system-fileio
+         system-filepath temporary text transformers
+       ];
+       executableHaskellDepends = [
+         ansi-terminal async base binary bytestring Cabal clock configurator
+         directory dirstream distributed-process-lifted
+         distributed-process-simplelocalnet exceptions filepath lifted-base
+         mtl optparse-applicative pipes pipes-safe process system-fileio
+         system-filepath temporary text transformers
+       ];
+       testHaskellDepends = [
+         ansi-terminal async base binary bytestring Cabal clock configurator
+         directory dirstream distributed-process-lifted
+         distributed-process-simplelocalnet exceptions filepath hspec
+         lifted-base mtl optparse-applicative pipes pipes-safe process
+         raw-strings-qq system-fileio system-filepath temporary text
+         transformers yaml
+       ];
+       homepage = "https://github.com/McGizzle/stack-network#readme";
+       description = "A program for extending Stack to add distributed capabilities";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "stack-prism" = callPackage
@@ -191572,6 +196169,7 @@ self: {
        executableHaskellDepends = [ base Cabal optparse-applicative ];
        description = "Convert stack.yaml files into Nix build instructions.";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "stackage" = callPackage
@@ -191681,8 +196279,8 @@ self: {
      }:
      mkDerivation {
        pname = "stackage-curator";
-       version = "0.15.1.0";
-       sha256 = "158bxk5g1bc139nmdqvr4fid5igmsgqa1d4nxy0dpl8xb68l69jp";
+       version = "0.16.0.0";
+       sha256 = "17mnrxnnb70fd0h571i049pfkmpmsxrgpr970z6w6jli6mp1721j";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -191708,6 +196306,7 @@ self: {
        homepage = "https://github.com/fpco/stackage-curator";
        description = "Tools for curating Stackage bundles";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "stackage-install" = callPackage
@@ -191742,6 +196341,8 @@ self: {
        pname = "stackage-metadata";
        version = "0.3.0.0";
        sha256 = "08hs6gnya0ci07gsacc01hvjamwh9xnfni9ihg7wf77w4vrncssx";
+       revision = "1";
+       editedCabalFile = "1kfdzvvfxlc0y23mdwklm3szb91zjwpzibb68jgjf1hkmv5kfzk3";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -191754,7 +196355,7 @@ self: {
          stackage-install stackage-update tar text transformers yaml
        ];
        homepage = "https://github.com/commercialhaskell/all-cabal-metadata-tool";
-       description = "Grab current metadata for all packages";
+       description = "DEPRECATED Grab current metadata for all packages";
        license = stdenv.lib.licenses.mit;
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
@@ -191894,8 +196495,8 @@ self: {
      }:
      mkDerivation {
        pname = "stackage2nix";
-       version = "0.6.1";
-       sha256 = "0wqa6lrn2l38grg4h24ihacchavsyglbvlmlsfh4s9h1300dngab";
+       version = "0.7.0";
+       sha256 = "0g3abhr63jnqw231k6kai9c5gqh15dyxrr78fqw5ga98l3p2b8jl";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -191907,7 +196508,8 @@ self: {
        ];
        executableHaskellDepends = [ base ];
        testHaskellDepends = [
-         base bytestring Cabal hspec pretty shakespeare text yaml
+         base bytestring Cabal hspec network-uri pretty shakespeare text
+         yaml
        ];
        homepage = "https://github.com/typeable/stackage2nix#readme";
        description = "Convert Stack files into Nix build instructions";
@@ -191928,19 +196530,22 @@ self: {
      }) {};
 
   "stagen" = callPackage
-    ({ mkDerivation, aeson, base, blaze-html, bytestring, data-default
-     , directory, filemanip, lucid, markdown, mtl, optparse-applicative
-     , parallel, parsec, text
+    ({ mkDerivation, aeson, base, base-compat, blaze-html, bytestring
+     , data-default, directory, feed, filemanip, json-feed, lucid
+     , markdown, mtl, network-uri, optparse-applicative, parallel
+     , parsec, text, text-conversions, time, xml, xml-conduit, xml-types
      }:
      mkDerivation {
        pname = "stagen";
-       version = "0.1.0";
-       sha256 = "0cd0639ms4vcdvjvhn8l0893d5nv51kzg3ky0xd9bnmjr8f0wpzm";
+       version = "0.2.1";
+       sha256 = "14gyak2gg05xbrx93bl1x7jfy2rwmzczpvip7h21bysqk964rh8j";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         aeson base blaze-html bytestring data-default directory filemanip
-         lucid markdown mtl optparse-applicative parallel parsec text
+         aeson base base-compat blaze-html bytestring data-default directory
+         feed filemanip json-feed lucid markdown mtl network-uri
+         optparse-applicative parallel parsec text text-conversions time xml
+         xml-conduit xml-types
        ];
        executableHaskellDepends = [ base ];
        description = "Static site generator";
@@ -192165,6 +196770,7 @@ self: {
        ];
        description = "A faster variant of the RWS monad transformers";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "statechart" = callPackage
@@ -192211,8 +196817,8 @@ self: {
        pname = "statestack";
        version = "0.2.0.5";
        sha256 = "0rjzx9iy5mx5igir6gvslznnx3gpxlb1xy1n8h4cn54cn3wxrspl";
-       revision = "1";
-       editedCabalFile = "0kf1jdhdv9fiwlbn2915sg39x23lfxlyp2qb7jkrvx8p8v2sam7i";
+       revision = "2";
+       editedCabalFile = "0c10cv107ls0wm7gs3gvknd8a1gqvrkk97frn8lp1ch697mz44rp";
        libraryHaskellDepends = [
          base mtl transformers transformers-compat
        ];
@@ -192256,6 +196862,8 @@ self: {
        pname = "static-canvas";
        version = "0.2.0.3";
        sha256 = "0jfp3nk9flzjw0qjkbh7rk7q0g6dsmgqb2xwrfmg5pnf13gj821p";
+       revision = "1";
+       editedCabalFile = "1z3mi5z590xxmipd5fxylcmf39rrwvmwva2rkk6km1nxb5kfasl7";
        libraryHaskellDepends = [ base double-conversion free mtl text ];
        homepage = "https://github.com/jeffreyrosenbluth/static-canvas";
        description = "DSL to generate HTML5 Canvas javascript";
@@ -192343,8 +196951,8 @@ self: {
      }:
      mkDerivation {
        pname = "static-text";
-       version = "0.2";
-       sha256 = "1rilg9izmw29s33abz5prhzkfay1c482n3y7zbcxjbssvc5c2vhz";
+       version = "0.2.0.1";
+       sha256 = "0acj953bclr2b9qd1i5b1grxrz07pr38f9q720j92v4xpk8i4pgd";
        libraryHaskellDepends = [
          base bytestring template-haskell text vector
        ];
@@ -192355,6 +196963,7 @@ self: {
        homepage = "https://github.com/dzhus/static-text#readme";
        description = "Lists, Texts, ByteStrings and Vectors of statically known length";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "staticanalysis" = callPackage
@@ -192379,6 +196988,8 @@ self: {
        pname = "statistics";
        version = "0.14.0.2";
        sha256 = "0y27gafkib0x0fn39qfn2rkgsfrm09ng35sbb5dwr7rclhnxz59l";
+       revision = "1";
+       editedCabalFile = "0gg7hq8qvbnhp7lnrykh401ggr51izffylgdmy6nip2a81q9dxi0";
        libraryHaskellDepends = [
          aeson base base-orphans binary deepseq erf math-functions monad-par
          mwc-random primitive vector vector-algorithms
@@ -192523,6 +197134,30 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "status-notifier-item" = callPackage
+    ({ mkDerivation, base, bytestring, containers, dbus, filepath
+     , hslogger, lens, mtl, network, optparse-applicative, spool
+     , template-haskell, transformers, vector
+     }:
+     mkDerivation {
+       pname = "status-notifier-item";
+       version = "0.2.1.0";
+       sha256 = "1w81n87x70bqpskcp0nai9l8ry6hk518myn1cymi695x94vv9m6d";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base bytestring containers dbus filepath hslogger lens mtl network
+         spool template-haskell transformers vector
+       ];
+       executableHaskellDepends = [
+         base dbus hslogger optparse-applicative
+       ];
+       homepage = "https://github.com/IvanMalison/status-notifier-item#readme";
+       description = "A wrapper over the StatusNotifierItem/libappindicator dbus specification";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "statvfs" = callPackage
     ({ mkDerivation, base }:
      mkDerivation {
@@ -192543,8 +197178,8 @@ self: {
      }:
      mkDerivation {
        pname = "staversion";
-       version = "0.2.1.2";
-       sha256 = "01ag624x240ybnapc49vcsiw5kz4n1v3csn1572phdav6dlpap35";
+       version = "0.2.1.4";
+       sha256 = "1lhj8cbn8x1dxd9pv0sr298i304vaj4zdpasz1r9avpyxwcq6shc";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -192560,7 +197195,6 @@ self: {
        homepage = "https://github.com/debug-ito/staversion";
        description = "What version is the package X in stackage lts-Y.ZZ?";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "stb-image" = callPackage
@@ -192586,7 +197220,6 @@ self: {
        homepage = "https://github.com/typedrat/stb-image-redux#readme";
        description = "Image loading and writing microlibrary";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "stb-truetype" = callPackage
@@ -192797,8 +197430,8 @@ self: {
      }:
      mkDerivation {
        pname = "stitch";
-       version = "0.4.0.0";
-       sha256 = "0xxdj4k4ci0gkvnnvb1rl0v31pjv209yyz88dzpdpr5x58i19hbj";
+       version = "0.5.0.0";
+       sha256 = "0dk9h9arldzwsfg8cad374w7lipi4w43ady7dsmima4jyg4724h9";
        libraryHaskellDepends = [ base containers text transformers ];
        testHaskellDepends = [ base Cabal hspec text ];
        benchmarkHaskellDepends = [ base criterion ];
@@ -192831,11 +197464,14 @@ self: {
      }) {};
 
   "stm-chans" = callPackage
-    ({ mkDerivation, base, stm }:
+    ({ mkDerivation, base, Cabal, stm }:
      mkDerivation {
        pname = "stm-chans";
        version = "3.0.0.4";
        sha256 = "0f27sp09yha43xk9q55sc185jyjs5h7gq2dhsyx6bm9kz9dzqi13";
+       revision = "1";
+       editedCabalFile = "0v9axxcfszqdmf3dhjxy34ybh22x3r5c48mdnbvjh5i5lp7g7vp2";
+       setupHaskellDepends = [ base Cabal ];
        libraryHaskellDepends = [ base stm ];
        homepage = "http://code.haskell.org/~wren/";
        description = "Additional types of channels for STM";
@@ -192858,35 +197494,6 @@ self: {
 
   "stm-conduit" = callPackage
     ({ mkDerivation, async, base, cereal, cereal-conduit, conduit
-     , conduit-combinators, conduit-extra, directory, doctest, ghc-prim
-     , HUnit, lifted-async, lifted-base, monad-control, monad-loops
-     , QuickCheck, resourcet, stm, stm-chans, test-framework
-     , test-framework-hunit, test-framework-quickcheck2, transformers
-     , void
-     }:
-     mkDerivation {
-       pname = "stm-conduit";
-       version = "3.0.0";
-       sha256 = "02d83mji1rlijdn315q7fik6jy5q49fjwygd64c9kf4z0qy6cvyg";
-       revision = "1";
-       editedCabalFile = "0wmjqypqjw9irmpsmra6zbj1sa4l14xnx5xpaz2zvfsk4x90qyyg";
-       libraryHaskellDepends = [
-         async base cereal cereal-conduit conduit conduit-combinators
-         conduit-extra directory ghc-prim lifted-async lifted-base
-         monad-control monad-loops resourcet stm stm-chans transformers void
-       ];
-       testHaskellDepends = [
-         base conduit conduit-combinators directory doctest HUnit QuickCheck
-         resourcet stm stm-chans test-framework test-framework-hunit
-         test-framework-quickcheck2 transformers
-       ];
-       homepage = "https://github.com/cgaebel/stm-conduit";
-       description = "Introduces conduits to channels, and promotes using conduits concurrently";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "stm-conduit_4_0_0" = callPackage
-    ({ mkDerivation, async, base, cereal, cereal-conduit, conduit
      , conduit-extra, directory, doctest, exceptions, HUnit, monad-loops
      , QuickCheck, resourcet, stm, stm-chans, test-framework
      , test-framework-hunit, test-framework-quickcheck2, transformers
@@ -192909,7 +197516,6 @@ self: {
        homepage = "https://github.com/cgaebel/stm-conduit";
        description = "Introduces conduits to channels, and promotes using conduits concurrently";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "stm-containers" = callPackage
@@ -192939,6 +197545,7 @@ self: {
        homepage = "https://github.com/nikita-volkov/stm-containers";
        description = "Containers for STM";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "stm-delay" = callPackage
@@ -193152,6 +197759,21 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "stocks" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, http-conduit, semigroups
+     }:
+     mkDerivation {
+       pname = "stocks";
+       version = "0.1.0.0";
+       sha256 = "10ws7mg0236iqkjclajwph2lb5719adkay5imaxrsj13d10f8ssq";
+       libraryHaskellDepends = [
+         aeson base bytestring http-conduit semigroups
+       ];
+       homepage = "https://github.com/dabcoder/stocks#readme";
+       description = "Library for the IEX Trading API";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "stomp-conduit" = callPackage
     ({ mkDerivation, base, conduit, mime, mtl, resourcet, stomp-queue
      , stompl
@@ -193222,8 +197844,8 @@ self: {
     ({ mkDerivation, base, clock, hspec, transformers }:
      mkDerivation {
        pname = "stopwatch";
-       version = "0.1.0.4";
-       sha256 = "1hmmn4jf3rwk68himknzm9vy1mxbz4gvv810zp4r351mjcpw5x5r";
+       version = "0.1.0.5";
+       sha256 = "0q9l27cpfz5hs3ggxij0lk8p3vrgkjg1binhv2nwss4dvygdc7j6";
        libraryHaskellDepends = [ base clock transformers ];
        testHaskellDepends = [ base clock hspec ];
        homepage = "https://github.com/debug-ito/stopwatch";
@@ -193450,38 +198072,38 @@ self: {
      }) {};
 
   "stratosphere" = callPackage
-    ({ mkDerivation, aeson, aeson-pretty, base, bytestring, hashable
-     , hspec, hspec-discover, lens, template-haskell, text
+    ({ mkDerivation, aeson, aeson-pretty, base, bytestring, containers
+     , hashable, hspec, hspec-discover, lens, template-haskell, text
      , unordered-containers
      }:
      mkDerivation {
        pname = "stratosphere";
-       version = "0.14.0";
-       sha256 = "11y97l0qsyab8hk126qi4lj8a8d13wp8zhk2qsqwy31rcmjipr0s";
+       version = "0.19.1";
+       sha256 = "0wfpqbhbr15qvvp9k0v1m1az02hpp25pglj4yl0ay7smm2848wi9";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         aeson aeson-pretty base bytestring hashable lens template-haskell
-         text unordered-containers
+         aeson aeson-pretty base bytestring containers hashable lens
+         template-haskell text unordered-containers
        ];
        testHaskellDepends = [
-         aeson aeson-pretty base bytestring hashable hspec hspec-discover
-         lens template-haskell text unordered-containers
+         aeson aeson-pretty base bytestring containers hashable hspec
+         hspec-discover lens template-haskell text unordered-containers
        ];
        homepage = "https://github.com/frontrowed/stratosphere#readme";
        description = "EDSL for AWS CloudFormation";
        license = stdenv.lib.licenses.mit;
      }) {};
 
-  "stratosphere_0_17_0" = callPackage
+  "stratosphere_0_21_0" = callPackage
     ({ mkDerivation, aeson, aeson-pretty, base, bytestring, containers
      , hashable, hspec, hspec-discover, lens, template-haskell, text
      , unordered-containers
      }:
      mkDerivation {
        pname = "stratosphere";
-       version = "0.17.0";
-       sha256 = "1824fgv3jm25wa3sk53v7j76jpq8kqh9fm3jfpp8hlzwnb57zni9";
+       version = "0.21.0";
+       sha256 = "14bahvq1yz51dwa6ljyj4l3aw3sv2njin00k01bvbizsqnbl8j8k";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -193654,6 +198276,18 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "streamdeck" = callPackage
+    ({ mkDerivation, base, bytestring, hidapi, mtl }:
+     mkDerivation {
+       pname = "streamdeck";
+       version = "0.0.1";
+       sha256 = "05qdnhhjqjs7cg7yvg9ryzxlw1mw3y5y55z4dy1cf5g98j01s449";
+       libraryHaskellDepends = [ base bytestring hidapi mtl ];
+       homepage = "https://github.com/wuest/haskell-streamdeck";
+       description = "Control library for the Elgato Stream Deck";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "streamed" = callPackage
     ({ mkDerivation, alsa-core, alsa-seq, base, containers
      , data-accessor, data-accessor-transformers, event-list, midi
@@ -193675,15 +198309,15 @@ self: {
      }) {};
 
   "streaming" = callPackage
-    ({ mkDerivation, base, containers, exceptions, ghc-prim, mmorph
-     , mtl, transformers, transformers-base
+    ({ mkDerivation, base, containers, ghc-prim, mmorph, mtl
+     , semigroups, transformers, transformers-base
      }:
      mkDerivation {
        pname = "streaming";
-       version = "0.2.0.0";
-       sha256 = "08l7x3cbska45pv754nnkms1m6jmgi0qv4apsvdmc2mni4cb5jkn";
+       version = "0.2.1.0";
+       sha256 = "0xah2cn12dxqc54wa5yxx0g0b9n0xy0czc0c32awql63qhw5w7g1";
        libraryHaskellDepends = [
-         base containers exceptions ghc-prim mmorph mtl transformers
+         base containers ghc-prim mmorph mtl semigroups transformers
          transformers-base
        ];
        homepage = "https://github.com/haskell-streaming/streaming";
@@ -193691,6 +198325,71 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "streaming-attoparsec" = callPackage
+    ({ mkDerivation, attoparsec, base, bytestring, streaming
+     , streaming-bytestring, tasty, tasty-hunit
+     }:
+     mkDerivation {
+       pname = "streaming-attoparsec";
+       version = "1.0.0";
+       sha256 = "00k1vwqr7ns7s4r6xvq59kpwimqd0f02jj0ay4zg167dd5994a7z";
+       libraryHaskellDepends = [
+         attoparsec base bytestring streaming streaming-bytestring
+       ];
+       testHaskellDepends = [
+         attoparsec base bytestring streaming streaming-bytestring tasty
+         tasty-hunit
+       ];
+       homepage = "https://github.com/haskell-streaming/streaming-attoparsec";
+       description = "Attoparsec integration for the streaming ecosystem";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "streaming-base64" = callPackage
+    ({ mkDerivation, base, safe-exceptions, streaming
+     , streaming-bytestring, tasty, tasty-hunit, transformers
+     }:
+     mkDerivation {
+       pname = "streaming-base64";
+       version = "0.1.0.0";
+       sha256 = "0w6xj80z1z21pgxadwc48w15a08g94i4g7qkgv5gvq46kpl44bq6";
+       libraryHaskellDepends = [
+         base safe-exceptions streaming streaming-bytestring transformers
+       ];
+       testHaskellDepends = [
+         base streaming-bytestring tasty tasty-hunit
+       ];
+       description = "Streaming conversion from/to base64";
+       license = stdenv.lib.licenses.cc0;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "streaming-benchmarks" = callPackage
+    ({ mkDerivation, base, bytestring, Chart, Chart-diagrams, conduit
+     , csv, deepseq, directory, gauge, list-t, list-transformer, logict
+     , machines, mtl, pipes, random, split, streaming, streamly, text
+     , transformers, typed-process, vector
+     }:
+     mkDerivation {
+       pname = "streaming-benchmarks";
+       version = "0.1.0";
+       sha256 = "0nyv4z828fj8jhan7q0bx2s351xmbxz9z81g2x3nyk4ad1rqjpyq";
+       isLibrary = false;
+       isExecutable = true;
+       executableHaskellDepends = [
+         base bytestring Chart Chart-diagrams csv directory split text
+         typed-process
+       ];
+       benchmarkHaskellDepends = [
+         base conduit deepseq gauge list-t list-transformer logict machines
+         mtl pipes random streaming streamly transformers vector
+       ];
+       homepage = "http://github.com/composewell/streaming-benchmarks";
+       description = "Benchmarks to compare streaming packages";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "streaming-binary" = callPackage
     ({ mkDerivation, base, binary, bytestring, hspec, streaming
      , streaming-bytestring
@@ -193717,8 +198416,8 @@ self: {
      }:
      mkDerivation {
        pname = "streaming-bytestring";
-       version = "0.1.5";
-       sha256 = "0ih7ngqbign834i7z1hlqb0g0f3gphgrz6n8sdj81h36vmm6yd8j";
+       version = "0.1.6";
+       sha256 = "1lsklavhk6wcsgjr2rcwkkv827gnd9spv4zwz5i5zf3njvy27my1";
        libraryHaskellDepends = [
          base bytestring deepseq exceptions mmorph mtl resourcet streaming
          transformers transformers-base
@@ -193751,7 +198450,6 @@ self: {
        ];
        description = "Cassava support for the streaming ecosystem";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "streaming-commons" = callPackage
@@ -193804,14 +198502,14 @@ self: {
      }) {};
 
   "streaming-concurrency" = callPackage
-    ({ mkDerivation, base, exceptions, hspec, lifted-async
+    ({ mkDerivation, base, exceptions, hspec, HUnit, lifted-async
      , monad-control, QuickCheck, quickcheck-instances, stm, streaming
-     , streaming-with, transformers-base
+     , streaming-with, testbench, transformers-base
      }:
      mkDerivation {
        pname = "streaming-concurrency";
-       version = "0.3.0.1";
-       sha256 = "040x4g1q520s6a1kxi4j730r6vr7n539wg92mdcvg9bswa620yqj";
+       version = "0.3.1.1";
+       sha256 = "1qpcplkwdw8dinhn20wwnfgqf07gzyp61lx6m6w0126hr8fq9r35";
        libraryHaskellDepends = [
          base exceptions lifted-async monad-control stm streaming
          streaming-with transformers-base
@@ -193819,6 +198517,10 @@ self: {
        testHaskellDepends = [
          base hspec QuickCheck quickcheck-instances streaming
        ];
+       benchmarkHaskellDepends = [
+         base exceptions HUnit lifted-async monad-control streaming
+         testbench
+       ];
        description = "Concurrency support for the streaming ecosystem";
        license = stdenv.lib.licenses.mit;
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -193838,7 +198540,6 @@ self: {
        testHaskellDepends = [ base conduit hspec streaming ];
        description = "Bidirectional support between the streaming and conduit libraries";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "streaming-eversion" = callPackage
@@ -193905,13 +198606,14 @@ self: {
      }) {};
 
   "streaming-pcap" = callPackage
-    ({ mkDerivation, attoparsec, base, bytestring, pcap, streaming
-     , streaming-bytestring, streaming-utils, tasty, tasty-hunit
+    ({ mkDerivation, attoparsec, base, bytestring, criterion, pcap
+     , streaming, streaming-bytestring, streaming-utils, tasty
+     , tasty-hunit
      }:
      mkDerivation {
        pname = "streaming-pcap";
-       version = "1.1.0";
-       sha256 = "1pkw864pj8vb5fmcg69rahq6a0bc1fb1ql8vb9lrh34z1fyx46v3";
+       version = "1.1.1";
+       sha256 = "1riw6n3n5rbzfqlm0z6qbznlx2lc8bk2s1qjy8a9zx90wbys0xp1";
        libraryHaskellDepends = [
          attoparsec base bytestring pcap streaming streaming-bytestring
          streaming-utils
@@ -193920,9 +198622,14 @@ self: {
          attoparsec base bytestring pcap streaming streaming-bytestring
          streaming-utils tasty tasty-hunit
        ];
+       benchmarkHaskellDepends = [
+         attoparsec base bytestring criterion pcap streaming
+         streaming-bytestring streaming-utils
+       ];
        homepage = "https://github.com/fosskers/streaming-pcap";
        description = "Stream packets via libpcap";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "streaming-png" = callPackage
@@ -193944,6 +198651,7 @@ self: {
        homepage = "http://github.com/bch29/streaming-png#readme";
        description = "Perfectly streaming PNG image decoding";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "streaming-postgresql-simple" = callPackage
@@ -193964,6 +198672,27 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "streaming-sort" = callPackage
+    ({ mkDerivation, base, binary, bytestring, directory, exceptions
+     , hspec, QuickCheck, streaming, streaming-binary
+     , streaming-bytestring, streaming-with, transformers
+     }:
+     mkDerivation {
+       pname = "streaming-sort";
+       version = "0.1.0.2";
+       sha256 = "0877zzip19zdfn7a5b59x911rh7cjxqmxyrr9ivhahgh8igfsjf9";
+       libraryHaskellDepends = [
+         base binary bytestring directory exceptions streaming
+         streaming-binary streaming-bytestring streaming-with transformers
+       ];
+       testHaskellDepends = [
+         base binary directory exceptions hspec QuickCheck streaming
+         streaming-with transformers
+       ];
+       description = "Sorting streams";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "streaming-utils" = callPackage
     ({ mkDerivation, aeson, attoparsec, base, bytestring, http-client
      , http-client-tls, json-stream, mtl, network, network-simple, pipes
@@ -194008,8 +198737,8 @@ self: {
      }:
      mkDerivation {
        pname = "streaming-with";
-       version = "0.2.1.0";
-       sha256 = "04i4k7n37qblf9yxdj0bl1qr0arpkv2l06kx7f8aqf1xa7vvxz9i";
+       version = "0.2.1.1";
+       sha256 = "0wyq183z10sr0sdx28n316x22f4h8v67cg164qir3fb7q09pmqbg";
        libraryHaskellDepends = [
          base exceptions managed streaming-bytestring temporary transformers
        ];
@@ -194024,10 +198753,8 @@ self: {
      }:
      mkDerivation {
        pname = "streamly";
-       version = "0.1.0";
-       sha256 = "1apw961n69rix4vvb7bsdald0w1qnal1vawi66nw64cyn696sbzi";
-       revision = "1";
-       editedCabalFile = "0cx4s17r2nn6xwa9lpcn7scvbqqxi6ihxyb20axhj5rim8iz94hm";
+       version = "0.1.2";
+       sha256 = "1axqac7zi2b87q91hxv75dpk4pfd4d4fcvsna7cjgkhkdvvjarzp";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -194079,8 +198806,8 @@ self: {
      }:
      mkDerivation {
        pname = "strelka";
-       version = "2.0.2";
-       sha256 = "1lrp6llvl0g469gjgl7rl67qj8zn1ssbg61n6qwkb8lqqqpq03mq";
+       version = "2.0.2.1";
+       sha256 = "0wh702y5m7045jlr3qf2k852x68d7ylr16hanb6jjw2f476fnc7i";
        libraryHaskellDepends = [
          attoparsec attoparsec-data base base-prelude base64-bytestring
          bifunctors bytestring bytestring-tree-builder hashable http-media
@@ -194117,8 +198844,8 @@ self: {
      }:
      mkDerivation {
        pname = "strelka-wai";
-       version = "1.0.1";
-       sha256 = "0zbz8aa5gvh4y5brypzkp8bn1gkkz4pcdmd3ga62xpym8hhf83cc";
+       version = "1.0.1.1";
+       sha256 = "05l26v777fifb5rpvmkyvaqr12f7q8i9780savx6wfabi6wvqh5i";
        libraryHaskellDepends = [
          base base-prelude bytestring case-insensitive http-types
          strelka-core text unordered-containers wai warp
@@ -194160,23 +198887,6 @@ self: {
      }:
      mkDerivation {
        pname = "strict-base-types";
-       version = "0.5.0";
-       sha256 = "1jx10iqkdmrhakk1aq2g9vf8lfm8gd9y560s2s69qzzrszrsvg7y";
-       libraryHaskellDepends = [
-         aeson base bifunctors binary deepseq ghc-prim hashable lens
-         QuickCheck strict
-       ];
-       homepage = "https://github.com/meiersi/strict-base-types";
-       description = "Strict variants of the types provided in base";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "strict-base-types_0_6_1" = callPackage
-    ({ mkDerivation, aeson, base, bifunctors, binary, deepseq, ghc-prim
-     , hashable, lens, QuickCheck, strict
-     }:
-     mkDerivation {
-       pname = "strict-base-types";
        version = "0.6.1";
        sha256 = "0yihvjijag9g55ihrgqj0vwn6ksvscj3r0n2zzxz2qbxrhx6m1pq";
        libraryHaskellDepends = [
@@ -194186,7 +198896,6 @@ self: {
        homepage = "https://github.com/meiersi/strict-base-types";
        description = "Strict variants of the types provided in base";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "strict-concurrency" = callPackage
@@ -194420,12 +199129,15 @@ self: {
      }) {};
 
   "string-qq" = callPackage
-    ({ mkDerivation, base, template-haskell }:
+    ({ mkDerivation, base, Cabal, process, template-haskell }:
      mkDerivation {
        pname = "string-qq";
        version = "0.0.2";
        sha256 = "0662m3i5xrdrr95w829bszkhp88mj9iy1zya54vk2sl5hz9wlmwp";
+       revision = "1";
+       editedCabalFile = "1flc6mr1nnv8mx69cy1ilwk5gxsidcns82vjdg8dcs8z5axg95kp";
        enableSeparateDataOutput = true;
+       setupHaskellDepends = [ base Cabal process ];
        libraryHaskellDepends = [ base template-haskell ];
        description = "QuasiQuoter for non-interpolated strings, texts and bytestrings";
        license = stdenv.lib.licenses.publicDomain;
@@ -194486,8 +199198,8 @@ self: {
      }:
      mkDerivation {
        pname = "string-transform";
-       version = "0.1.0";
-       sha256 = "1hcb1mx2n01gxlfh3ndgsi8phjl1n04xxmhpr6175p9mxc61rsb4";
+       version = "1.0.0";
+       sha256 = "0556blv06jl973pnkcab36bsa3kjzjhzs396q31qmkqnqlpday4d";
        libraryHaskellDepends = [ base bytestring text utf8-string ];
        testHaskellDepends = [
          base bytestring tasty tasty-hunit tasty-smallcheck text utf8-string
@@ -194497,14 +199209,14 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
-  "string-transform_1_0_0" = callPackage
+  "string-transform_1_1_0" = callPackage
     ({ mkDerivation, base, bytestring, tasty, tasty-hunit
      , tasty-smallcheck, text, utf8-string
      }:
      mkDerivation {
        pname = "string-transform";
-       version = "1.0.0";
-       sha256 = "0556blv06jl973pnkcab36bsa3kjzjhzs396q31qmkqnqlpday4d";
+       version = "1.1.0";
+       sha256 = "1f76aiimm2knc68g08dc9j495mjkas87jw8w27silrsq3pzayzad";
        libraryHaskellDepends = [ base bytestring text utf8-string ];
        testHaskellDepends = [
          base bytestring tasty tasty-hunit tasty-smallcheck text utf8-string
@@ -194589,7 +199301,6 @@ self: {
        ];
        description = "Implements the \"StringPrep\" algorithm";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "strings" = callPackage
@@ -194668,23 +199379,6 @@ self: {
      }:
      mkDerivation {
        pname = "stripe-core";
-       version = "2.2.3";
-       sha256 = "0vyqmz0q2davlqj2673pzj5qxawvrxypm2jd839igb5y0wnj9idv";
-       libraryHaskellDepends = [
-         aeson base bytestring mtl text time transformers
-         unordered-containers
-       ];
-       homepage = "https://github.com/dmjio/stripe-haskell";
-       description = "Stripe API for Haskell - Pure Core";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-
-  "stripe-core_2_3_0" = callPackage
-    ({ mkDerivation, aeson, base, bytestring, mtl, text, time
-     , transformers, unordered-containers
-     }:
-     mkDerivation {
-       pname = "stripe-core";
        version = "2.3.0";
        sha256 = "08656c3s9326kgppwiys7whil47yw6qibjzmivjzykh6858j0kfm";
        libraryHaskellDepends = [
@@ -194694,32 +199388,18 @@ self: {
        homepage = "https://github.com/dmjio/stripe-haskell";
        description = "Stripe API for Haskell - Pure Core";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "stripe-haskell" = callPackage
     ({ mkDerivation, base, stripe-core, stripe-http-streams }:
      mkDerivation {
        pname = "stripe-haskell";
-       version = "2.2.3";
-       sha256 = "086baq9f9pzacf5vqvi2ikx47sijyb8r6ndnqph9r8qvjgc2xy2x";
-       libraryHaskellDepends = [ base stripe-core stripe-http-streams ];
-       homepage = "https://github.com/dmjio/stripe";
-       description = "Stripe API for Haskell";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-
-  "stripe-haskell_2_3_0" = callPackage
-    ({ mkDerivation, base, stripe-core, stripe-http-streams }:
-     mkDerivation {
-       pname = "stripe-haskell";
        version = "2.3.0";
        sha256 = "18358axxx2rkv06bh1n48hsx3bh3bj4h3xx1ma3hvv68l9cprwsm";
        libraryHaskellDepends = [ base stripe-core stripe-http-streams ];
        homepage = "https://github.com/dmjio/stripe";
        description = "Stripe API for Haskell";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "stripe-http-streams" = callPackage
@@ -194728,26 +199408,6 @@ self: {
      }:
      mkDerivation {
        pname = "stripe-http-streams";
-       version = "2.2.3";
-       sha256 = "0bdl85xwm7ym1kf2d0vjn4652z3bgvzj2l7z5lgsxzr5acn6q02p";
-       libraryHaskellDepends = [
-         aeson base bytestring HsOpenSSL http-streams io-streams stripe-core
-         text
-       ];
-       testHaskellDepends = [
-         base free HsOpenSSL hspec http-streams stripe-core stripe-tests
-       ];
-       doCheck = false;
-       description = "Stripe API for Haskell - http-streams backend";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-
-  "stripe-http-streams_2_3_0" = callPackage
-    ({ mkDerivation, aeson, base, bytestring, free, HsOpenSSL, hspec
-     , http-streams, io-streams, stripe-core, stripe-tests, text
-     }:
-     mkDerivation {
-       pname = "stripe-http-streams";
        version = "2.3.0";
        sha256 = "0nn244ghmyibdrvzfz9k8skhsfh47sh8g34v1c63rkswqb4wpnsp";
        libraryHaskellDepends = [
@@ -194760,7 +199420,6 @@ self: {
        doCheck = false;
        description = "Stripe API for Haskell - http-streams backend";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "stripe-tests" = callPackage
@@ -194770,24 +199429,6 @@ self: {
      }:
      mkDerivation {
        pname = "stripe-tests";
-       version = "2.2.3";
-       sha256 = "1yks2wabqirq4hi1a52k9302pyp1w4q7b6chg6a7r28wsjlv27hs";
-       libraryHaskellDepends = [
-         aeson base bytestring free hspec hspec-core mtl random stripe-core
-         text time transformers unordered-containers
-       ];
-       homepage = "https://github.com/dmjio/stripe-haskell";
-       description = "Tests for Stripe API bindings for Haskell";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-
-  "stripe-tests_2_3_0" = callPackage
-    ({ mkDerivation, aeson, base, bytestring, free, hspec, hspec-core
-     , mtl, random, stripe-core, text, time, transformers
-     , unordered-containers
-     }:
-     mkDerivation {
-       pname = "stripe-tests";
        version = "2.3.0";
        sha256 = "14j0zvnrl0s2br0vwpm105wscdyddan62iqwrf0fg8c4mj6kpfrw";
        libraryHaskellDepends = [
@@ -194822,36 +199463,20 @@ self: {
      }:
      mkDerivation {
        pname = "strive";
-       version = "4.0.3";
-       sha256 = "1b1shq0jznyx9cbir33diflw1602py651rqj2hfjrgdywjrac8fq";
+       version = "5.0.4";
+       sha256 = "1lj3fqyl1a6nix32y5irvlvsdl518gv7zvz67my5dp5fa3z9hklg";
        libraryHaskellDepends = [
          aeson base bytestring data-default gpolyline http-client
          http-client-tls http-types template-haskell text time transformers
        ];
-       testHaskellDepends = [ base bytestring markdown-unlit time ];
-       homepage = "https://github.com/tfausak/strive#readme";
-       description = "A client for the Strava V3 API";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-
-  "strive_5_0_2" = callPackage
-    ({ mkDerivation, aeson, base, bytestring, data-default, gpolyline
-     , http-client, http-client-tls, http-types, markdown-unlit
-     , template-haskell, text, time, transformers
-     }:
-     mkDerivation {
-       pname = "strive";
-       version = "5.0.2";
-       sha256 = "1dx93rda40nv87amgk885bg4dn96qhmnq4mmfiqwb09mp6g1a0m5";
-       libraryHaskellDepends = [
+       testHaskellDepends = [
          aeson base bytestring data-default gpolyline http-client
-         http-client-tls http-types template-haskell text time transformers
+         http-client-tls http-types markdown-unlit template-haskell text
+         time transformers
        ];
-       testHaskellDepends = [ base bytestring markdown-unlit time ];
        homepage = "https://github.com/tfausak/strive#readme";
        description = "A client for the Strava V3 API";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "strptime" = callPackage
@@ -194874,6 +199499,8 @@ self: {
        pname = "structs";
        version = "0.1.1";
        sha256 = "0hdajhvd6i81dchdyd42fa17pm53jd7g3irqjfardbbmjx0sqq6z";
+       revision = "1";
+       editedCabalFile = "16ws2j3bhwawf6z1ipraiz73yvg65dg5l7hvj1lgbrqvn5lqizj3";
        setupHaskellDepends = [ base Cabal cabal-doctest ];
        libraryHaskellDepends = [
          base deepseq ghc-prim primitive template-haskell
@@ -195050,7 +199677,6 @@ self: {
        ];
        description = "RFC 5389: Session Traversal Utilities for NAT (STUN) client";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "stunts" = callPackage
@@ -195104,75 +199730,46 @@ self: {
      }) {};
 
   "stylish-cabal" = callPackage
-    ({ mkDerivation, ansi-wl-pprint, base, Cabal, containers, deepseq
-     , hlint, hspec, hspec-core, hspec-expectations-pretty-diff
-     , optparse-applicative, split
+    ({ mkDerivation, ansi-wl-pprint, base, base-compat, bytestring
+     , Cabal, containers, data-default, deepseq, haddock-library, hspec
+     , hspec-core, microlens, microlens-th, mtl, optparse-applicative
+     , split, template-haskell, utf8-string
      }:
      mkDerivation {
        pname = "stylish-cabal";
-       version = "0.2.0.0";
-       sha256 = "1ldnr0bpl0iaflng2715j02wfk8ksigzms15v7118860wyw2mvyi";
+       version = "0.4.0.1";
+       sha256 = "00jwq35dr60c9gjwy8hg3i8b39gxknr92mrz21657gazl90cxy4z";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         ansi-wl-pprint base Cabal deepseq split
+         ansi-wl-pprint base base-compat Cabal containers data-default
+         deepseq haddock-library hspec hspec-core microlens microlens-th mtl
+         split template-haskell utf8-string
        ];
        executableHaskellDepends = [
-         ansi-wl-pprint base optparse-applicative
-       ];
-       testHaskellDepends = [
-         ansi-wl-pprint base Cabal containers hlint hspec hspec-core
-         hspec-expectations-pretty-diff
+         base base-compat bytestring optparse-applicative
        ];
+       testHaskellDepends = [ base base-compat bytestring hspec ];
+       doHaddock = false;
        description = "Format Cabal files";
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
   "stylish-haskell" = callPackage
     ({ mkDerivation, aeson, base, bytestring, containers, directory
-     , filepath, haskell-src-exts, HUnit, mtl, optparse-applicative
-     , strict, syb, test-framework, test-framework-hunit, yaml
-     }:
-     mkDerivation {
-       pname = "stylish-haskell";
-       version = "0.8.1.0";
-       sha256 = "08qzplmzpnfyl8zaskimx91xij723mim11k552a7yl3p0i0cfmw7";
-       isLibrary = true;
-       isExecutable = true;
-       enableSeparateDataOutput = true;
-       libraryHaskellDepends = [
-         aeson base bytestring containers directory filepath
-         haskell-src-exts mtl syb yaml
-       ];
-       executableHaskellDepends = [
-         aeson base bytestring containers directory filepath
-         haskell-src-exts mtl optparse-applicative strict syb yaml
-       ];
-       testHaskellDepends = [
-         aeson base bytestring containers directory filepath
-         haskell-src-exts HUnit mtl syb test-framework test-framework-hunit
-         yaml
-       ];
-       homepage = "https://github.com/jaspervdj/stylish-haskell";
-       description = "Haskell code prettifier";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "stylish-haskell_0_9_0_2" = callPackage
-    ({ mkDerivation, aeson, base, bytestring, containers, directory
      , file-embed, filepath, haskell-src-exts, HUnit, mtl
-     , optparse-applicative, strict, syb, test-framework
+     , optparse-applicative, semigroups, strict, syb, test-framework
      , test-framework-hunit, yaml
      }:
      mkDerivation {
        pname = "stylish-haskell";
-       version = "0.9.0.2";
-       sha256 = "0w0hh08b1zlp3disxp20yrg20vblqgk5y3arf8xbfiznzf05x5zr";
+       version = "0.9.2.0";
+       sha256 = "16r2nm1y0s5ybrq2pzsq00nfq7k0i70nyg7ynmhx76lld82i17yv";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          aeson base bytestring containers directory file-embed filepath
-         haskell-src-exts mtl syb yaml
+         haskell-src-exts mtl semigroups syb yaml
        ];
        executableHaskellDepends = [
          aeson base bytestring containers directory file-embed filepath
@@ -195186,7 +199783,6 @@ self: {
        homepage = "https://github.com/jaspervdj/stylish-haskell";
        description = "Haskell code prettifier";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "stylized" = callPackage
@@ -195417,7 +200013,6 @@ self: {
        homepage = "https://github.com/nomeata/haskell-successors";
        description = "An applicative functor to manage successors";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "suffix-array" = callPackage
@@ -195752,10 +200347,11 @@ self: {
     ({ mkDerivation, base, Cabal, containers, directory, filepath }:
      mkDerivation {
        pname = "superdoc";
-       version = "0.1.2.5";
-       sha256 = "0b0610pg2b9j5phc0mwsyk8rzp4w77453g4631p3j2wgrjiw425n";
+       version = "0.1.2.7";
+       sha256 = "0pfqvw6a9c29fsar1xiqwbsdc294l9iy3jlc6ax0wxdkfqyqwagv";
        isLibrary = true;
        isExecutable = true;
+       setupHaskellDepends = [ base Cabal containers directory filepath ];
        libraryHaskellDepends = [
          base Cabal containers directory filepath
        ];
@@ -195801,14 +200397,15 @@ self: {
      }:
      mkDerivation {
        pname = "supermonad";
-       version = "0.2.0";
-       sha256 = "1k1ysyjgnq5wic8hifrhpcmbi267inllqrh1dij234xykrkifd1m";
+       version = "0.2.1.1";
+       sha256 = "1bnj0kva6nh1565fvakwqbx8as7v415fqd7s33dvbfzk8dpkld8z";
        libraryHaskellDepends = [
          base containers fgl ghc mtl transformers
        ];
        testHaskellDepends = [ base containers ghc QuickCheck ];
        description = "Plugin and base library to support supermonads in Haskell";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "supero" = callPackage
@@ -195832,19 +200429,19 @@ self: {
      }) {};
 
   "superrecord" = callPackage
-    ({ mkDerivation, aeson, base, bookkeeper, constraints, criterion
-     , deepseq, ghc-prim, hspec, labels, mtl, text
+    ({ mkDerivation, aeson, base, bookkeeper, bytestring, constraints
+     , criterion, deepseq, ghc-prim, hspec, labels, mtl, text
      }:
      mkDerivation {
        pname = "superrecord";
-       version = "0.3.0.0";
-       sha256 = "1yya0lx3lqhr7pj3p72zi8xgjrqlrsrs9b6ilrskzkh0gjqcfjw5";
+       version = "0.5.0.0";
+       sha256 = "1bg2kjkwl78lhf34j1xb20lpypp26bavd0h6cnhj4m6d4sq3z86a";
        libraryHaskellDepends = [
-         aeson base constraints deepseq ghc-prim mtl text
+         aeson base bytestring constraints deepseq ghc-prim mtl text
        ];
-       testHaskellDepends = [ aeson base hspec ];
+       testHaskellDepends = [ aeson base hspec mtl text ];
        benchmarkHaskellDepends = [
-         aeson base bookkeeper criterion deepseq labels
+         aeson base bookkeeper criterion deepseq labels text
        ];
        homepage = "https://github.com/agrafix/superrecord#readme";
        description = "Supercharged anonymous records";
@@ -195910,6 +200507,53 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "sv" = callPackage
+    ({ mkDerivation, ansi-wl-pprint, attoparsec, base, bifunctors
+     , bytestring, charset, containers, contravariant, deepseq, hedgehog
+     , lens, mtl, parsec, parsers, profunctors, readable, semigroupoids
+     , semigroups, tasty, tasty-hedgehog, tasty-hunit, text
+     , transformers, trifecta, utf8-string, validation, vector, void
+     }:
+     mkDerivation {
+       pname = "sv";
+       version = "0.1";
+       sha256 = "0rd4jf4qqfc66xxddvaa37fjmpmmjzb7n928gclds0xibzm9ls7s";
+       libraryHaskellDepends = [
+         ansi-wl-pprint attoparsec base bifunctors bytestring charset
+         containers contravariant deepseq lens mtl parsec parsers
+         profunctors readable semigroupoids semigroups text transformers
+         trifecta utf8-string validation vector void
+       ];
+       testHaskellDepends = [
+         ansi-wl-pprint base bytestring contravariant hedgehog lens parsers
+         semigroupoids semigroups tasty tasty-hedgehog tasty-hunit text
+         trifecta utf8-string validation vector
+       ];
+       homepage = "https://github.com/qfpl/sv";
+       description = "Encode and decode separated values (CSV, PSV, ...)";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "sv-cassava" = callPackage
+    ({ mkDerivation, attoparsec, base, bytestring, cassava, HUnit, sv
+     , text, utf8-string, validation, vector
+     }:
+     mkDerivation {
+       pname = "sv-cassava";
+       version = "0.1";
+       sha256 = "050f2ji5zhispjqm66n6jbdq4x20dijzrkl20vpgx4i42z7fmn15";
+       libraryHaskellDepends = [
+         attoparsec base bytestring cassava sv utf8-string vector
+       ];
+       testHaskellDepends = [
+         base bytestring cassava HUnit sv text validation vector
+       ];
+       homepage = "https://github.com/qfpl/sv";
+       description = "Integration to use sv with cassava's parser";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "svg-builder" = callPackage
     ({ mkDerivation, base, blaze-builder, bytestring, hashable, text
      , unordered-containers
@@ -195951,14 +200595,15 @@ self: {
      }:
      mkDerivation {
        pname = "svg-tree";
-       version = "0.6.2.1";
-       sha256 = "03xwx2gr3fi19rdkskxl1jwncngnjra234d378mfxxfvfs820f9q";
+       version = "0.6.2.2";
+       sha256 = "1iva5vb76z2laygvlh31zbhhcfzympk9s765499j7p356ycl0s1s";
        libraryHaskellDepends = [
          attoparsec base bytestring containers JuicyPixels lens linear mtl
          scientific text transformers vector xml
        ];
        description = "SVG file loader and serializer";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "svg2q" = callPackage
@@ -195995,7 +200640,7 @@ self: {
        homepage = "http://projects.haskell.org/gtk2hs/";
        description = "Binding to the libsvg-cairo library";
        license = stdenv.lib.licenses.bsd3;
-     }) {inherit (pkgs) librsvg;};
+     }) {inherit (pkgs.gnome3) librsvg;};
 
   "svgutils" = callPackage
     ({ mkDerivation, base, filepath, xml }:
@@ -196156,15 +200801,16 @@ self: {
      , Cabal, cabal-doctest, containers, doctest, generics-sop, Glob
      , hashable, hspec, hspec-discover, http-media, HUnit
      , insert-ordered-containers, lens, mtl, network, QuickCheck
-     , scientific, template-haskell, text, time, transformers
-     , transformers-compat, unordered-containers, uuid-types, vector
+     , quickcheck-instances, scientific, template-haskell, text, time
+     , transformers, transformers-compat, unordered-containers
+     , uuid-types, vector
      }:
      mkDerivation {
        pname = "swagger2";
-       version = "2.2";
-       sha256 = "0byzfz52mbnxcmspmk4s43bhprfwrjnh2mkpyfrdir64axqx7yf6";
+       version = "2.2.1";
+       sha256 = "11i0yg2g4bw8pjz9p0w7qz7hpriji9zkiz3y5gr26pwb3fzab5qz";
        revision = "1";
-       editedCabalFile = "0dhs44zhb2yh4yxw88yvlijcd255ppm1ch7dz7pn7sdv1wr6kxq5";
+       editedCabalFile = "00snyp95rjh3h7yqfwg3x4y9gjhypm6zfv45i2sag4w5cydvkzb5";
        setupHaskellDepends = [ base Cabal cabal-doctest ];
        libraryHaskellDepends = [
          aeson base base-compat bytestring containers generics-sop hashable
@@ -196175,7 +200821,7 @@ self: {
        testHaskellDepends = [
          aeson aeson-qq base base-compat bytestring containers doctest Glob
          hashable hspec HUnit insert-ordered-containers lens mtl QuickCheck
-         text time unordered-containers vector
+         quickcheck-instances text time unordered-containers vector
        ];
        testToolDepends = [ hspec-discover ];
        homepage = "https://github.com/GetShopTV/swagger2";
@@ -196183,6 +200829,39 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "swagger2_2_2_2" = callPackage
+    ({ mkDerivation, aeson, aeson-qq, base, base-compat-batteries
+     , bytestring, Cabal, cabal-doctest, containers, 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
+     , uuid-types, vector
+     }:
+     mkDerivation {
+       pname = "swagger2";
+       version = "2.2.2";
+       sha256 = "1jkfmfrldqrfqqnjf0g4spd03w9xjmi35k33xnhsmfj122455lw2";
+       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
+       ];
+       testHaskellDepends = [
+         aeson aeson-qq base base-compat-batteries bytestring containers
+         doctest Glob hashable hspec HUnit insert-ordered-containers lens
+         mtl QuickCheck quickcheck-instances text time unordered-containers
+         vector
+       ];
+       testToolDepends = [ hspec-discover ];
+       homepage = "https://github.com/GetShopTV/swagger2";
+       description = "Swagger 2.0 data model";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "swapper" = callPackage
     ({ mkDerivation, base, binary, bytestring, deepseq, happstack-data
      , happstack-state, parallel, tokyocabinet
@@ -196260,8 +200939,8 @@ self: {
      }:
      mkDerivation {
        pname = "swish";
-       version = "0.9.1.10";
-       sha256 = "10nx8vx6vprsdchqd726vx3cfzxy0jkz9ylw4p2mkcam9s72dd7c";
+       version = "0.9.2.1";
+       sha256 = "0zrzihgwn5lg23zmg2iqwilpfj6r77rh1am8g6rwkyf42bgvwhzg";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -196276,7 +200955,7 @@ self: {
        ];
        homepage = "https://bitbucket.org/doug_burke/swish/wiki/Home";
        description = "A semantic web toolkit";
-       license = "LGPL";
+       license = stdenv.lib.licenses.lgpl21;
      }) {};
 
   "sws" = callPackage
@@ -196288,6 +200967,8 @@ self: {
        pname = "sws";
        version = "0.4.1.0";
        sha256 = "1xcbmwpwp2nvi7adihkddpgi9pkdc7q7ly08vm57r56lcpzvs70p";
+       revision = "1";
+       editedCabalFile = "1mlyk1959yy4lmx7zsc5iafw1y7vj1d39dndn9as34pqd1rvdk5j";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -196295,8 +200976,9 @@ self: {
          network resourcet transformers wai wai-extra wai-middleware-static
          warp warp-tls
        ];
-       description = "A simple web server for serving directories, similar to weborf";
+       description = "A simple web server for serving directories";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "sxml" = callPackage
@@ -196347,8 +201029,8 @@ self: {
      }:
      mkDerivation {
        pname = "syb-with-class";
-       version = "0.6.1.8";
-       sha256 = "01b187jhhfp77l4zgks5gszkn9jmgjc44mw9yympw1fsfskljiz3";
+       version = "0.6.1.9";
+       sha256 = "1apvvzzc19lbchmbginmhxzcrvrcg76dvdgsk51pxrnr4glnva86";
        libraryHaskellDepends = [
          array base bytestring containers template-haskell
        ];
@@ -196458,7 +201140,6 @@ self: {
        ];
        description = "Library for Typed Tagless-Final Higher-Order Composable DSL";
        license = stdenv.lib.licenses.gpl3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "symantic-document" = callPackage
@@ -196486,7 +201167,6 @@ self: {
        ];
        description = "Library for symantic grammars";
        license = stdenv.lib.licenses.gpl3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "symantic-lib" = callPackage
@@ -196944,7 +201624,6 @@ self: {
        homepage = "http://www.haskell.org/haskellwiki/Synthesizer";
        description = "Control synthesizer effects via ALSA/MIDI";
        license = "GPL";
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "synthesizer-core" = callPackage
@@ -197095,7 +201774,6 @@ self: {
        homepage = "http://www.haskell.org/haskellwiki/Synthesizer";
        description = "Render audio signals from MIDI files or realtime messages";
        license = "GPL";
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "sys-auth-smbclient" = callPackage
@@ -197196,6 +201874,18 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "system-error" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "system-error";
+       version = "1.0.0";
+       sha256 = "1hig7m7arrj6hmgix8abkidy6wf1a4a4y72k81csq90kv5jhynxk";
+       libraryHaskellDepends = [ base ];
+       homepage = "https://github.com/heroin-moose/system-error";
+       description = "Error reporting functions";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "system-extra" = callPackage
     ({ mkDerivation, base, bytestring, directory, hspec, process
      , QuickCheck
@@ -197266,8 +201956,8 @@ self: {
     ({ mkDerivation, attoparsec, base, process, text }:
      mkDerivation {
        pname = "system-info";
-       version = "0.4.0.0";
-       sha256 = "1sl1m19ia5n8rws49596lipjzx5q3jn9yjqhjlfs4vvh9rc2dnkh";
+       version = "0.4.0.1";
+       sha256 = "1v18ds9k7vnvzghpyqkh1ixskf27cb94f9r696982h2vp373zh43";
        libraryHaskellDepends = [ attoparsec base process text ];
        testHaskellDepends = [ base ];
        homepage = "https://github.com/ChaosGroup/system-info";
@@ -197624,8 +202314,8 @@ self: {
      }:
      mkDerivation {
        pname = "table-layout";
-       version = "0.8.0.0";
-       sha256 = "0lr2jddm4qsfhl77sx837vva1rpnaf9a45a8wfc57xqrspapjhlz";
+       version = "0.8.0.1";
+       sha256 = "12glh66b7ih6zxhry1s1a9pbc2arpz0m4z1hvx3r3ji8s87i18kh";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -197786,37 +202476,43 @@ self: {
      }) {};
 
   "taffybar" = callPackage
-    ({ mkDerivation, base, cairo, containers, dbus, dyre
-     , enclosed-exceptions, filepath, gtk, gtk-traymanager, gtk2
-     , HStringTemplate, HTTP, mtl, network, network-uri, old-locale
-     , parsec, process, safe, split, stm, text, time, time-locale-compat
-     , transformers, utf8-string, X11, xdg-basedir, xmonad
+    ({ mkDerivation, alsa-mixer, base, cairo, ConfigFile, containers
+     , dbus, dbus-hslogger, directory, dyre, either, enclosed-exceptions
+     , filepath, gi-cairo, gi-gdk, gi-gdkpixbuf, gi-gdkx11, gi-glib
+     , gi-gtk, glib, gtk-sni-tray, gtk-strut, gtk-traymanager, gtk3
+     , haskell-gi, haskell-gi-base, hslogger, HStringTemplate, HTTP, mtl
+     , multimap, network, network-uri, old-locale, optparse-applicative
+     , parsec, process, rate-limit, regex-compat, safe, split
+     , status-notifier-item, stm, text, time, time-locale-compat
+     , time-units, transformers, transformers-base, tuple, unix
+     , utf8-string, X11, xdg-basedir, xml, xml-helpers, xmonad
      , xmonad-contrib
      }:
      mkDerivation {
        pname = "taffybar";
-       version = "0.4.6";
-       sha256 = "1xfaw32yq17a6wm6gzvpdnpabxfnskwbs541h1kk1lvrkm31h2b2";
+       version = "2.0.0";
+       sha256 = "1s3nqvsivi4wgi6hi7b3f83r75sl5qp0hsqr0cdwd7s8fqai3wia";
+       revision = "1";
+       editedCabalFile = "1sqgzjv0nhp5nmzn4qh80ghq38p5q7c8nvm1v1wh1dx2j7lkjnzc";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
-         base cairo containers dbus dyre enclosed-exceptions filepath gtk
-         gtk-traymanager HStringTemplate HTTP mtl network network-uri
-         old-locale parsec process safe split stm text time
-         time-locale-compat transformers utf8-string X11 xdg-basedir xmonad
-         xmonad-contrib
-       ];
-       libraryPkgconfigDepends = [ gtk2 ];
-       executableHaskellDepends = [
-         base dyre filepath gtk safe xdg-basedir
+         alsa-mixer base cairo ConfigFile containers dbus dbus-hslogger
+         directory dyre either enclosed-exceptions filepath gi-cairo gi-gdk
+         gi-gdkpixbuf gi-gdkx11 gi-glib gi-gtk glib gtk-sni-tray gtk-strut
+         gtk-traymanager gtk3 haskell-gi haskell-gi-base hslogger
+         HStringTemplate HTTP mtl multimap network network-uri old-locale
+         parsec process rate-limit regex-compat safe split
+         status-notifier-item stm text time time-locale-compat time-units
+         transformers transformers-base tuple unix utf8-string X11
+         xdg-basedir xml xml-helpers xmonad xmonad-contrib
        ];
-       executablePkgconfigDepends = [ gtk2 ];
-       homepage = "http://github.com/travitch/taffybar";
+       executableHaskellDepends = [ base hslogger optparse-applicative ];
+       homepage = "http://github.com/taffybar/taffybar";
        description = "A desktop bar similar to xmobar, but with more GUI";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
-     }) {gtk2 = pkgs.gnome2.gtk;};
+     }) {};
 
   "tag-bits" = callPackage
     ({ mkDerivation, base, ghc-prim }:
@@ -197986,16 +202682,14 @@ self: {
      }:
      mkDerivation {
        pname = "tagged-transformer";
-       version = "0.8";
-       sha256 = "13jzfrzcgbh3g3qssv08r8i8j2l5c5y84blc1m90rhyyvx2zizn7";
-       revision = "1";
-       editedCabalFile = "06h1v2q35dzc69vfshzvwcpai176dd3bp89hvgcm5r6dyii6bqlg";
+       version = "0.8.1";
+       sha256 = "1ffwxr312vi3fqhgnad5b6gqkgz3j27c30z551j8zisjx0hn3zx0";
        libraryHaskellDepends = [
          base comonad contravariant distributive exceptions mtl reflection
          semigroupoids tagged
        ];
        homepage = "http://github.com/ekmett/tagged-transformer";
-       description = "Provides newtype wrappers for phantom types to avoid unsafely passing dummy arguments";
+       description = "Monad transformer carrying an extra phantom type tag";
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
@@ -198472,12 +203166,38 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "tao" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "tao";
+       version = "1.0.0";
+       sha256 = "0iqsah4l87bd25cpk575hsq5qbx506gz1ajf6fyv6pmi0sb1w2hb";
+       libraryHaskellDepends = [ base ];
+       homepage = "https://github.com/jship/tao#readme";
+       description = "Type-level assertion operators";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "tao-example" = callPackage
+    ({ mkDerivation, base, tao }:
+     mkDerivation {
+       pname = "tao-example";
+       version = "1.0.0";
+       sha256 = "1ch09fgj46fy5h33rcqlbkm02v8cq246bpxswxfdj8p9g1dkkpk5";
+       libraryHaskellDepends = [ base tao ];
+       homepage = "https://github.com/jship/tao#readme";
+       description = "Example usage of the tao package";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "tar_0_4_1_0" = callPackage
     ({ mkDerivation, base, bytestring, directory, filepath, old-time }:
      mkDerivation {
        pname = "tar";
        version = "0.4.1.0";
        sha256 = "05875pc5ns1fsbl9qgr8sqh29xl4mhvj0pwsa9z4afxv6h6328bm";
+       revision = "1";
+       editedCabalFile = "14ljxvasrda7qafz95gz3m0lpdsh4vvd6j8b3qkr2a2sp7cc0sis";
        libraryHaskellDepends = [
          base bytestring directory filepath old-time
        ];
@@ -198488,13 +203208,13 @@ self: {
 
   "tar" = callPackage
     ({ mkDerivation, array, base, bytestring, bytestring-handle
-     , containers, criterion, deepseq, directory, filepath, old-time
-     , QuickCheck, tasty, tasty-quickcheck, time
+     , containers, criterion, deepseq, directory, filepath, QuickCheck
+     , tasty, tasty-quickcheck, time
      }:
      mkDerivation {
        pname = "tar";
-       version = "0.5.0.3";
-       sha256 = "18qq94j9bm91iswnxq2dm5dws5c7wm4k01q2rpf8py35cf3svnfq";
+       version = "0.5.1.0";
+       sha256 = "0s2brvaxg5fki2jdkccmnpssiy6a3wjh24p6a3dkkdvjcixnk7f8";
        libraryHaskellDepends = [
          array base bytestring containers deepseq directory filepath time
        ];
@@ -198504,25 +203224,13 @@ self: {
        ];
        benchmarkHaskellDepends = [
          array base bytestring containers criterion deepseq directory
-         filepath old-time time
+         filepath time
        ];
        description = "Reading, writing and manipulating \".tar\" archive files.";
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
   "tar-conduit" = callPackage
-    ({ mkDerivation, base, bytestring, conduit-combinators }:
-     mkDerivation {
-       pname = "tar-conduit";
-       version = "0.1.1";
-       sha256 = "189dy1j32c44mjr3waljcvch1hqlijnax7myp4jih7y12hji6i9r";
-       libraryHaskellDepends = [ base bytestring conduit-combinators ];
-       homepage = "https://github.com/snoyberg/tar-conduit#readme";
-       description = "Parse tar files using conduit for streaming";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-
-  "tar-conduit_0_2_3" = callPackage
     ({ mkDerivation, base, bytestring, conduit, conduit-combinators
      , containers, criterion, deepseq, directory, filepath, hspec
      , QuickCheck, safe-exceptions, text, unix, weigh
@@ -198546,7 +203254,6 @@ self: {
        homepage = "https://github.com/snoyberg/tar-conduit#readme";
        description = "Extract and create tar files using conduit for streaming";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "tardis" = callPackage
@@ -198703,31 +203410,13 @@ self: {
      }) {};
 
   "tasty" = callPackage
-    ({ mkDerivation, ansi-terminal, async, base, clock, containers
-     , deepseq, mtl, optparse-applicative, regex-tdfa, stm, tagged
-     , unbounded-delays, unix
-     }:
-     mkDerivation {
-       pname = "tasty";
-       version = "0.11.3";
-       sha256 = "1g5394akq4j7y93b7cqwqf9lacqh2k21rrj6srbnh2sg97ng7j1b";
-       libraryHaskellDepends = [
-         ansi-terminal async base clock containers deepseq mtl
-         optparse-applicative regex-tdfa stm tagged unbounded-delays unix
-       ];
-       homepage = "https://github.com/feuerbach/tasty";
-       description = "Modern and extensible testing framework";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-
-  "tasty_1_0_1" = callPackage
     ({ mkDerivation, ansi-terminal, async, base, clock, containers, mtl
      , optparse-applicative, stm, tagged, unbounded-delays, unix
      }:
      mkDerivation {
        pname = "tasty";
-       version = "1.0.1";
-       sha256 = "1jf53dd7ilwqfj27ndx2dgs76a7s0saakqxm9cr6bb42a0jnzqij";
+       version = "1.0.1.1";
+       sha256 = "1czfvgm3wb9dlxccr7h49929m6rag7rc6q5hlj9yw0l4lm0hv4hs";
        libraryHaskellDepends = [
          ansi-terminal async base clock containers mtl optparse-applicative
          stm tagged unbounded-delays unix
@@ -198735,7 +203424,6 @@ self: {
        homepage = "https://github.com/feuerbach/tasty";
        description = "Modern and extensible testing framework";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "tasty-ant-xml" = callPackage
@@ -198782,20 +203470,20 @@ self: {
     ({ mkDerivation, base, dejafu, random, tagged, tasty }:
      mkDerivation {
        pname = "tasty-dejafu";
-       version = "0.7.1.1";
-       sha256 = "04qmgvm6z2bfbb8dsbj71famyiacswp7nbjwsa043w4i0hnsgpsl";
+       version = "1.1.0.2";
+       sha256 = "0navsbmga0zzia6v8halqm0hli8x8zs0g80zix2170a55w8k3f0h";
        libraryHaskellDepends = [ base dejafu random tagged tasty ];
        homepage = "https://github.com/barrucadu/dejafu";
        description = "Deja Fu support for the Tasty test framework";
        license = stdenv.lib.licenses.mit;
      }) {};
 
-  "tasty-dejafu_1_0_1_1" = callPackage
+  "tasty-dejafu_1_2_0_0" = callPackage
     ({ mkDerivation, base, dejafu, random, tagged, tasty }:
      mkDerivation {
        pname = "tasty-dejafu";
-       version = "1.0.1.1";
-       sha256 = "0khdm4v22n86vz3qgv9wi6yfd3yi61br089sxffhfwvr9g3fxjlf";
+       version = "1.2.0.0";
+       sha256 = "0dhrcra1vzrw7xxnph28iz3c9pkmkhza0m9xjb9qxc75p2f684p3";
        libraryHaskellDepends = [ base dejafu random tagged tasty ];
        homepage = "https://github.com/barrucadu/dejafu";
        description = "Deja Fu support for the Tasty test framework";
@@ -198810,33 +203498,6 @@ self: {
      }:
      mkDerivation {
        pname = "tasty-discover";
-       version = "4.1.5";
-       sha256 = "1v2g0jyfrcv04klxicp1z6p478ppq5l3szkx4f4hjqnim6kg8pgh";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         base containers directory filepath Glob
-       ];
-       executableHaskellDepends = [
-         base containers directory filepath Glob
-       ];
-       testHaskellDepends = [
-         base containers directory filepath Glob hedgehog tasty
-         tasty-hedgehog tasty-hspec tasty-hunit tasty-quickcheck
-         tasty-smallcheck
-       ];
-       homepage = "https://github.com/lwm/tasty-discover#readme";
-       description = "Test discovery for the tasty framework";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-
-  "tasty-discover_4_2_0" = callPackage
-    ({ mkDerivation, base, containers, directory, filepath, Glob
-     , hedgehog, tasty, tasty-hedgehog, tasty-hspec, tasty-hunit
-     , tasty-quickcheck, tasty-smallcheck
-     }:
-     mkDerivation {
-       pname = "tasty-discover";
        version = "4.2.0";
        sha256 = "19qs3sg28anjjajwvkd79xsh5iip59w6bwphc88sy7gyybq6q586";
        isLibrary = true;
@@ -198855,36 +203516,20 @@ self: {
        homepage = "https://github.com/lwm/tasty-discover#readme";
        description = "Test discovery for the tasty framework";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "tasty-expected-failure" = callPackage
     ({ mkDerivation, base, tagged, tasty }:
      mkDerivation {
        pname = "tasty-expected-failure";
-       version = "0.11.0.4";
-       sha256 = "0r555f18d2gj96pjyc13chn1nxaxl81am4xgip3mvvjhw8s5mva1";
-       revision = "1";
-       editedCabalFile = "07sz28vm5rllp9yj1ibhz015s6c4gcq1vzxlphhqam1ah096jc42";
+       version = "0.11.1.1";
+       sha256 = "1i2s809m644b7hgiblqay9j364r3fjj1rwbrahsn1pgr5q6mr6ji";
        libraryHaskellDepends = [ base tagged tasty ];
        homepage = "http://github.com/nomeata/tasty-expected-failure";
        description = "Mark tasty tests as failure expected";
        license = stdenv.lib.licenses.mit;
      }) {};
 
-  "tasty-expected-failure_0_11_1" = callPackage
-    ({ mkDerivation, base, tagged, tasty }:
-     mkDerivation {
-       pname = "tasty-expected-failure";
-       version = "0.11.1";
-       sha256 = "1hr9fgypxz8f9hanxnq6r0gbfdfglcx0c3iqyjximy9sn6nsvndy";
-       libraryHaskellDepends = [ base tagged tasty ];
-       homepage = "http://github.com/nomeata/tasty-expected-failure";
-       description = "Mark tasty tests as failure expected";
-       license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
-     }) {};
-
   "tasty-fail-fast" = callPackage
     ({ mkDerivation, base, containers, directory, stm, tagged, tasty
      , tasty-golden, tasty-hunit, tasty-tap
@@ -198900,6 +203545,7 @@ self: {
        homepage = "http://github.com/MichaelXavier/tasty-fail-fast#readme";
        description = "Adds the ability to fail a tasty test suite on first test failure";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "tasty-golden" = callPackage
@@ -198909,27 +203555,6 @@ self: {
      }:
      mkDerivation {
        pname = "tasty-golden";
-       version = "2.3.1.2";
-       sha256 = "088rvrvmi8wjci3zlyn3mph1yjl77j0wabdwzp4x2wxpygviy7k9";
-       libraryHaskellDepends = [
-         async base bytestring containers deepseq directory filepath mtl
-         optparse-applicative process tagged tasty temporary
-       ];
-       testHaskellDepends = [
-         base directory filepath process tasty tasty-hunit temporary-rc
-       ];
-       homepage = "https://github.com/feuerbach/tasty-golden";
-       description = "Golden tests support for tasty";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-
-  "tasty-golden_2_3_1_3" = callPackage
-    ({ mkDerivation, async, base, bytestring, containers, deepseq
-     , directory, filepath, mtl, optparse-applicative, process, tagged
-     , tasty, tasty-hunit, temporary, temporary-rc
-     }:
-     mkDerivation {
-       pname = "tasty-golden";
        version = "2.3.1.3";
        sha256 = "1xri8bnj22gzxkxz4hi2vqx0aaz51ww3zz9ac0ig0lw653kbj61p";
        libraryHaskellDepends = [
@@ -198942,7 +203567,6 @@ self: {
        homepage = "https://github.com/feuerbach/tasty-golden";
        description = "Golden tests support for tasty";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "tasty-groundhog-converters" = callPackage
@@ -198972,23 +203596,45 @@ self: {
        pname = "tasty-hedgehog";
        version = "0.1.0.2";
        sha256 = "0cjdi0kpwpb4m5ad1y47x52336xfza4m82h5zg76r75f7fvzzh8x";
+       revision = "1";
+       editedCabalFile = "1kmmry6zawyhxgi20v3j62m58lqjcjzvap0qp6b35yj31vbzl727";
        libraryHaskellDepends = [ base hedgehog tagged tasty ];
        testHaskellDepends = [
          base hedgehog tasty tasty-expected-failure
        ];
-       homepage = "https://github.com/qfpl/tasty-hedghog";
+       homepage = "https://github.com/qfpl/tasty-hedgehog";
        description = "Integrates the hedgehog testing library with the tasty testing framework";
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "tasty-hedgehog_0_2_0_0" = callPackage
+    ({ mkDerivation, base, hedgehog, tagged, tasty
+     , tasty-expected-failure
+     }:
+     mkDerivation {
+       pname = "tasty-hedgehog";
+       version = "0.2.0.0";
+       sha256 = "10m1akbiblnjq9ljk469725k30b254d36d267rk51z2f171py42s";
+       revision = "3";
+       editedCabalFile = "1r1sbcz12j9kmbdfr7mjc6z22c3737jc7mf0kdk1v6a3zr6n1js9";
+       libraryHaskellDepends = [ base hedgehog tagged tasty ];
+       testHaskellDepends = [
+         base hedgehog tasty tasty-expected-failure
+       ];
+       homepage = "https://github.com/qfpl/tasty-hedgehog";
+       description = "Integration for tasty and hedgehog";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "tasty-hspec" = callPackage
     ({ mkDerivation, base, hspec, hspec-core, QuickCheck, tasty
      , tasty-quickcheck, tasty-smallcheck
      }:
      mkDerivation {
        pname = "tasty-hspec";
-       version = "1.1.3.3";
-       sha256 = "00ym5jlh11smmg3aryfylnwjbmi62gsy5jl1pv85bc8gl0kqa85d";
+       version = "1.1.4";
+       sha256 = "17f4rcga0qnynf1h047chwm5nicmik79lw04kiwpw48ahwc0zkp3";
        libraryHaskellDepends = [
          base hspec hspec-core QuickCheck tasty tasty-quickcheck
          tasty-smallcheck
@@ -199017,18 +203663,6 @@ self: {
      }) {};
 
   "tasty-hunit" = callPackage
-    ({ mkDerivation, base, tasty }:
-     mkDerivation {
-       pname = "tasty-hunit";
-       version = "0.9.2";
-       sha256 = "08qnxaw34wfnzi9irs1jd4d0zczqm3k5ffkd4zwhkz0dflmgq7mf";
-       libraryHaskellDepends = [ base tasty ];
-       homepage = "http://documentup.com/feuerbach/tasty";
-       description = "HUnit support for the Tasty test framework";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-
-  "tasty-hunit_0_10_0_1" = callPackage
     ({ mkDerivation, base, call-stack, tasty }:
      mkDerivation {
        pname = "tasty-hunit";
@@ -199038,7 +203672,6 @@ self: {
        homepage = "https://github.com/feuerbach/tasty";
        description = "HUnit support for the Tasty test framework";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "tasty-hunit-adapter" = callPackage
@@ -199180,11 +203813,11 @@ self: {
      }:
      mkDerivation {
        pname = "tasty-quickcheck";
-       version = "0.9.1";
-       sha256 = "03db6aknm5rdl14mn98lxhb38357ywvs7agygyz1hbc5iv7rggxa";
+       version = "0.9.2";
+       sha256 = "0wsqm4fjxnh64sjlccjapvgvw4dhl603qpxl79g3sa3fmgg0m4n5";
        libraryHaskellDepends = [ base QuickCheck random tagged tasty ];
        testHaskellDepends = [ base pcre-light tasty tasty-hunit ];
-       homepage = "http://documentup.com/feuerbach/tasty";
+       homepage = "https://github.com/feuerbach/tasty";
        description = "QuickCheck support for the Tasty test framework";
        license = stdenv.lib.licenses.mit;
      }) {};
@@ -199215,8 +203848,8 @@ self: {
      }:
      mkDerivation {
        pname = "tasty-rerun";
-       version = "1.1.10";
-       sha256 = "1776fx700wlc9spn0dh3x4nh44x2yg33z9zyqzqlpwrhrkpaz91b";
+       version = "1.1.11";
+       sha256 = "0nk2qfdhdl71xcr0rwixmwwsyr74dy4hjwalhs4p4am2bhpfva5s";
        libraryHaskellDepends = [
          base containers mtl optparse-applicative reducers split stm tagged
          tasty transformers
@@ -199295,6 +203928,7 @@ self: {
        homepage = "https://github.com/michaelxavier/tasty-tap";
        description = "TAP (Test Anything Protocol) Version 13 formatter for tasty";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "tasty-th" = callPackage
@@ -199318,8 +203952,8 @@ self: {
     ({ mkDerivation, base, tasty, tasty-hunit }:
      mkDerivation {
        pname = "tasty-travis";
-       version = "0.2.0";
-       sha256 = "1k0cgjbj2dgf5d8j13ns2nk9kw74ixa62bwk7wmj1gr1yfwv1klx";
+       version = "0.2.0.1";
+       sha256 = "05k9zddmhbcs2xf9n6ln3591cscxix7pakc42j4arw4iwrfiqp17";
        libraryHaskellDepends = [ base tasty ];
        testHaskellDepends = [ base tasty tasty-hunit ];
        homepage = "https://github.com/merijn/tasty-travis";
@@ -199387,6 +204021,7 @@ self: {
        ];
        description = "tcache using Amazon Web Services as default persistence mechanism";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "tccli" = callPackage
@@ -199568,19 +204203,40 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "tdigest_0_2" = callPackage
+    ({ mkDerivation, base, base-compat, binary, Cabal, cabal-doctest
+     , deepseq, doctest, reducers, semigroupoids, semigroups, tasty
+     , tasty-quickcheck, transformers, vector, vector-algorithms
+     }:
+     mkDerivation {
+       pname = "tdigest";
+       version = "0.2";
+       sha256 = "1wii4rkk1xqqdkwd24g6xb3imrrgr4y2vq0a7kg606g3a5mllsvq";
+       setupHaskellDepends = [ base Cabal cabal-doctest ];
+       libraryHaskellDepends = [
+         base base-compat binary deepseq reducers semigroupoids transformers
+         vector vector-algorithms
+       ];
+       testHaskellDepends = [
+         base base-compat binary deepseq doctest semigroups tasty
+         tasty-quickcheck vector vector-algorithms
+       ];
+       homepage = "https://github.com/futurice/haskell-tdigest#readme";
+       description = "On-line accumulation of rank-based statistics";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "tdigest-Chart" = callPackage
     ({ mkDerivation, base, base-compat, Chart, Chart-diagrams, colour
-     , lens, mwc-random, semigroupoids, semigroups, statistics, tdigest
-     , vector
+     , lens, mwc-random, semigroupoids, statistics, tdigest, vector
      }:
      mkDerivation {
        pname = "tdigest-Chart";
-       version = "0";
-       sha256 = "19vhyk2wgvxnaad32vj9fm0vw8rl5n1lp540dp4yn9dsbilhda3l";
-       revision = "2";
-       editedCabalFile = "139qimahwi9q2vm2z6m42ghk59drgii71lrgcj2dbai5x5fnfcgb";
+       version = "0.2";
+       sha256 = "1ciq7d187as9sk1dpccm2s02b6jdhij1l477wff0a7labgw21l0l";
        libraryHaskellDepends = [
-         base base-compat Chart colour lens semigroupoids semigroups tdigest
+         base base-compat Chart colour lens semigroupoids tdigest
        ];
        testHaskellDepends = [
          base base-compat Chart Chart-diagrams lens mwc-random statistics
@@ -199646,6 +204302,29 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "teardown_0_5_0_0" = callPackage
+    ({ mkDerivation, base, gauge, prettyprinter, rio, tasty
+     , tasty-hunit, typed-process, unliftio
+     }:
+     mkDerivation {
+       pname = "teardown";
+       version = "0.5.0.0";
+       sha256 = "0p1rjvl36gl4dqpvcjsb06jyiwsxg2qyha8rfdiddljb4ixw1sjh";
+       libraryHaskellDepends = [
+         base prettyprinter rio typed-process unliftio
+       ];
+       testHaskellDepends = [
+         base rio tasty tasty-hunit typed-process unliftio
+       ];
+       benchmarkHaskellDepends = [
+         base gauge rio typed-process unliftio
+       ];
+       homepage = "https://github.com/roman/Haskell-teardown#readme";
+       description = "Build safe and composable teardown sub-routines for resources";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "teeth" = callPackage
     ({ mkDerivation, base }:
      mkDerivation {
@@ -199839,12 +204518,12 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
-  "template-haskell_2_12_0_0" = callPackage
+  "template-haskell_2_13_0_0" = callPackage
     ({ mkDerivation, base, ghc-boot-th, pretty }:
      mkDerivation {
        pname = "template-haskell";
-       version = "2.12.0.0";
-       sha256 = "0lbmqagknkdrj9mwqdd5p12ay78wk0g509g75a243jrbm46i6dar";
+       version = "2.13.0.0";
+       sha256 = "0j61d0xnlsywgn33k72a6dmnp9i93zjn0gba1fhxs9qwdb1xcfk3";
        libraryHaskellDepends = [ base ghc-boot-th pretty ];
        description = "Support library for Template Haskell";
        license = stdenv.lib.licenses.bsd3;
@@ -200047,8 +204726,8 @@ self: {
     ({ mkDerivation, base, Boolean }:
      mkDerivation {
        pname = "temporal-media";
-       version = "0.6.1";
-       sha256 = "1bmnii427fdpms23p8dinhs1zi34cin3qfap2csgrmsgcn1qs6bc";
+       version = "0.6.3";
+       sha256 = "04qbbx32rs6mz5w3j7wj2hx744x858rv60hmpla3zpx2491r0qi9";
        libraryHaskellDepends = [ base Boolean ];
        homepage = "https://github.com/anton-k/temporal-media";
        description = "data types for temporal media";
@@ -200116,6 +204795,26 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "temporary_1_3" = callPackage
+    ({ mkDerivation, base, base-compat, directory, exceptions, filepath
+     , random, tasty, tasty-hunit, transformers, unix
+     }:
+     mkDerivation {
+       pname = "temporary";
+       version = "1.3";
+       sha256 = "144qhwfwg37l3k313raf4ssiz16jbgwlm1nf4flgqpsbd69jji4c";
+       libraryHaskellDepends = [
+         base directory exceptions filepath random transformers unix
+       ];
+       testHaskellDepends = [
+         base base-compat directory filepath tasty tasty-hunit unix
+       ];
+       homepage = "https://github.com/feuerbach/temporary";
+       description = "Portable temporary file and directory support";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "temporary-rc" = callPackage
     ({ mkDerivation, base, directory, exceptions, filepath
      , transformers, unix
@@ -200449,25 +205148,6 @@ self: {
      }) {};
 
   "terminal-progress-bar" = callPackage
-    ({ mkDerivation, base, HUnit, stm, stm-chans, test-framework
-     , test-framework-hunit
-     }:
-     mkDerivation {
-       pname = "terminal-progress-bar";
-       version = "0.1.1.1";
-       sha256 = "1y9mpmnbc12bbybaqq7cqwhvbbdbx31zxkb63mymiaz1bnhi58fp";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [ base stm stm-chans ];
-       testHaskellDepends = [
-         base HUnit test-framework test-framework-hunit
-       ];
-       homepage = "https://github.com/roelvandijk/terminal-progress-bar";
-       description = "A simple progress bar in the terminal";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "terminal-progress-bar_0_2" = callPackage
     ({ mkDerivation, async, base, HUnit, stm, stm-chans, terminal-size
      , test-framework, test-framework-hunit
      }:
@@ -200484,7 +205164,6 @@ self: {
        homepage = "https://github.com/roelvandijk/terminal-progress-bar";
        description = "A simple progress bar in the terminal";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "terminal-size" = callPackage
@@ -200498,6 +205177,23 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "terminal-text" = callPackage
+    ({ mkDerivation, ansi-terminal, base, container, layered-state
+     , prologue, text
+     }:
+     mkDerivation {
+       pname = "terminal-text";
+       version = "1.1.1";
+       sha256 = "1jgdxqck3ck65mppi694w0f5x0547148y5agi100zggp8r3yxsy3";
+       libraryHaskellDepends = [
+         ansi-terminal base container layered-state prologue text
+       ];
+       homepage = "https://github.com/luna/terminal-text";
+       description = "Text data type for styled terminal output, including all standard ANSI effects (bold, italic, blinking) and ANSI / 256 / truecolor colors support for Unix and Windows (whenever possible)";
+       license = stdenv.lib.licenses.asl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "termination-combinators" = callPackage
     ({ mkDerivation, base, containers, contravariant }:
      mkDerivation {
@@ -200598,17 +205294,21 @@ self: {
      }:
      mkDerivation {
        pname = "tersmu";
-       version = "0.2.1";
-       sha256 = "10bq2b3nhnpy566i1gbf8iz10nq0z0x4xdi4kr5nlbzrih86ih4n";
-       isLibrary = false;
+       version = "0.2.2";
+       sha256 = "1wyrbggpgr6jyskvvkh12g6a440md1aqj405cxqhdmy0bzwz5cfn";
+       isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
+       libraryHaskellDepends = [
+         base containers mtl process syb transformers
+       ];
        executableHaskellDepends = [
          base containers mtl process syb transformers
        ];
        homepage = "http://mbays.freeshell.org/tersmu";
        description = "A semantic parser for lojban";
        license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "test-fixture" = callPackage
@@ -200633,27 +205333,6 @@ self: {
      }) {};
 
   "test-framework" = callPackage
-    ({ mkDerivation, ansi-terminal, ansi-wl-pprint, base, containers
-     , hostname, old-locale, random, regex-posix, time, xml
-     }:
-     mkDerivation {
-       pname = "test-framework";
-       version = "0.8.1.1";
-       sha256 = "0wxjgdvb1c4ykazw774zlx86550848wbsvgjgcrdzcgbb9m650vq";
-       revision = "3";
-       editedCabalFile = "1b6pi4j1dpcbiyx1bpfks29x293j02z7ashs2sdc8fhzbwsr9lxj";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         ansi-terminal ansi-wl-pprint base containers hostname old-locale
-         random regex-posix time xml
-       ];
-       homepage = "https://batterseapower.github.io/test-framework/";
-       description = "Framework for running and organising tests, with HUnit and QuickCheck support";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "test-framework_0_8_2_0" = callPackage
     ({ mkDerivation, ansi-terminal, ansi-wl-pprint, base, bytestring
      , containers, hostname, HUnit, libxml, old-locale, QuickCheck
      , random, regex-posix, semigroups, time, xml
@@ -200674,7 +205353,6 @@ self: {
        homepage = "http://haskell.github.io/test-framework/";
        description = "Framework for running and organising tests, with HUnit and QuickCheck support";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "test-framework-doctest" = callPackage
@@ -200763,6 +205441,8 @@ self: {
        pname = "test-framework-quickcheck2";
        version = "0.3.0.4";
        sha256 = "0vj834337r6jzr3258cv68ly2sv5999mklpsrfngyk51kywsyqyp";
+       revision = "1";
+       editedCabalFile = "147ngmfdkskyg7mwsp5w73a4dbx3rp5s38bci3z03kn1m093lxff";
        libraryHaskellDepends = [
          base extensible-exceptions QuickCheck random test-framework
        ];
@@ -201208,8 +205888,8 @@ self: {
      }:
      mkDerivation {
        pname = "texbuilder";
-       version = "0.1.4.0";
-       sha256 = "0i301a78790cqhgb28bhc2qksymbx2jdr31m2x59nsj7hmw268b2";
+       version = "0.1.4.1";
+       sha256 = "0d8fwnrqlfjcls229iiq6x4v1a4yxm5qfsyymbqf6xwj8mcmqhb6";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -201220,6 +205900,7 @@ self: {
        homepage = "https://gitlab.com/xaverdh/tex-builder#texbuilder";
        description = "View your latex output while editing";
        license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "texmath" = callPackage
@@ -201229,8 +205910,8 @@ self: {
      }:
      mkDerivation {
        pname = "texmath";
-       version = "0.10.1.1";
-       sha256 = "0q2fld5mdcd6j1n3rrg3bjpndbgbn17cwg0xbnvscrpa0s767jaj";
+       version = "0.10.1.2";
+       sha256 = "08fqlnl7r2izsl3rasa27ybnnijmn8ypvi0lbzsb3vs8rsq318px";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -201242,7 +205923,7 @@ self: {
        ];
        homepage = "http://github.com/jgm/texmath";
        description = "Conversion between formats used to represent mathematics";
-       license = "GPL";
+       license = stdenv.lib.licenses.gpl2;
      }) {};
 
   "texrunner" = callPackage
@@ -201274,30 +205955,6 @@ self: {
      }:
      mkDerivation {
        pname = "text";
-       version = "1.2.2.2";
-       sha256 = "1y9d0zjs2ls0c574mr5xw7y3y49s62sd3wcn9lhpwz8a6q352iii";
-       libraryHaskellDepends = [
-         array base binary bytestring deepseq ghc-prim integer-gmp
-       ];
-       testHaskellDepends = [
-         array base binary bytestring deepseq directory ghc-prim HUnit
-         integer-gmp QuickCheck quickcheck-unicode random test-framework
-         test-framework-hunit test-framework-quickcheck2
-       ];
-       doCheck = false;
-       homepage = "https://github.com/bos/text";
-       description = "An efficient packed Unicode text type";
-       license = stdenv.lib.licenses.bsd2;
-     }) {};
-
-  "text_1_2_3_0" = callPackage
-    ({ mkDerivation, array, base, binary, bytestring, deepseq
-     , directory, ghc-prim, HUnit, integer-gmp, QuickCheck
-     , quickcheck-unicode, random, test-framework, test-framework-hunit
-     , test-framework-quickcheck2
-     }:
-     mkDerivation {
-       pname = "text";
        version = "1.2.3.0";
        sha256 = "06iir7q99rnffzxi8gagn8w1k9m49368sbidgz634fv1gxib3q10";
        libraryHaskellDepends = [
@@ -201312,7 +205969,6 @@ self: {
        homepage = "https://github.com/haskell/text";
        description = "An efficient packed Unicode text type";
        license = stdenv.lib.licenses.bsd2;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "text-all" = callPackage
@@ -201320,8 +205976,8 @@ self: {
      }:
      mkDerivation {
        pname = "text-all";
-       version = "0.4.1.1";
-       sha256 = "195f1l4s6vfg4dhpmkfsd178rldknw0gdkl1qpbn3kzhba044y7w";
+       version = "0.4.2";
+       sha256 = "0mh2dwd0b732jcg2bak04iwrb34cy28hq2dppb8pp5r5a0g4925g";
        libraryHaskellDepends = [
          base bytestring text text-format utf8-string
        ];
@@ -201401,6 +206057,7 @@ self: {
        ];
        description = "Memory-efficient string-indexed container types";
        license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "text-conversions" = callPackage
@@ -201445,6 +206102,8 @@ self: {
        pname = "text-format";
        version = "0.3.1.1";
        sha256 = "02zfgzfjvkaxbma1h2gr95h10c8q9gyaadag41q579j68iv15qbd";
+       revision = "1";
+       editedCabalFile = "1ap2paddh2q1ifs3nwdj0f1r7fypnsa669l7gdvgyfidz3w5vzic";
        libraryHaskellDepends = [
          array base double-conversion ghc-prim integer-gmp old-locale text
          time transformers
@@ -201460,8 +206119,8 @@ self: {
      }:
      mkDerivation {
        pname = "text-format-heavy";
-       version = "0.1.5.0";
-       sha256 = "127h2pw3p9ixx34jiql9kgpjbjmkmwigm56iklaz6wxd69zr0sfx";
+       version = "0.1.5.1";
+       sha256 = "14hmzsxhbqr95r7sbpziv897akdw8p54fhwh56j0h9hqnpwxxwgd";
        libraryHaskellDepends = [
          base bytestring containers data-default parsec text time
        ];
@@ -201523,7 +206182,6 @@ self: {
        homepage = "https://github.com/bos/text-icu";
        description = "Bindings to the ICU library";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {inherit (pkgs) icu;};
 
   "text-icu-normalized" = callPackage
@@ -201567,7 +206225,6 @@ self: {
        ];
        description = "ICU transliteration";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {inherit (pkgs) icu;};
 
   "text-json-qq" = callPackage
@@ -201589,14 +206246,15 @@ self: {
 
   "text-latin1" = callPackage
     ({ mkDerivation, base, bytestring, case-insensitive, data-checked
-     , hashable, text
+     , hashable, semigroups, text
      }:
      mkDerivation {
        pname = "text-latin1";
-       version = "0.3";
-       sha256 = "1cs09qwkcljbnckakzr1wnpclkzjb0in3nnz6fpjyl4mxp5bqaw9";
+       version = "0.3.1";
+       sha256 = "1wxbv6m567n3330baw2k0xxd50nhn2k6w3lgmpk6zq7x1jp84x3c";
        libraryHaskellDepends = [
-         base bytestring case-insensitive data-checked hashable text
+         base bytestring case-insensitive data-checked hashable semigroups
+         text
        ];
        homepage = "https://github.com/mvv/text-latin1";
        description = "Latin-1 (including ASCII) utility functions";
@@ -201609,8 +206267,8 @@ self: {
      }:
      mkDerivation {
        pname = "text-ldap";
-       version = "0.1.1.11";
-       sha256 = "1921cdq9akvcn0hsgs07g2bvbpdvhb1h389yv9703472d0sz7pfs";
+       version = "0.1.1.12";
+       sha256 = "1kfp77nm8mvzi6h44334djr88z2w6syrwrvrqy2jfb65d0p9crbx";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -201719,8 +206377,8 @@ self: {
        pname = "text-metrics";
        version = "0.3.0";
        sha256 = "18mzxwkdvjp31r720ai9bnxr638qq8x3a2v408bz0d8f0rsayx1q";
-       revision = "1";
-       editedCabalFile = "0jl0vlx9y0n7x4j5zspx6zmbbnmlf5p2bg6v9k2afdfc02fmhasm";
+       revision = "2";
+       editedCabalFile = "1371qwwmq8w4p6zg0z43qnrpf9yb8yadnw97ka56mx4jlagrdm8n";
        libraryHaskellDepends = [ base containers text vector ];
        testHaskellDepends = [ base hspec QuickCheck text ];
        benchmarkHaskellDepends = [ base criterion deepseq text weigh ];
@@ -201822,15 +206480,14 @@ self: {
      }:
      mkDerivation {
        pname = "text-regex-replace";
-       version = "0.1.1.1";
-       sha256 = "0n0jk3qdcdhy3b91x7xkyc87xk3405g49qrgcfzb3ksr9qyw89rg";
+       version = "0.1.1.2";
+       sha256 = "1v6gjimq4qzldpc3ihvf0mn24n3mfk4vs87b7xzgmzk63sbpijyk";
        libraryHaskellDepends = [ attoparsec base text text-icu ];
        testHaskellDepends = [
          base hspec QuickCheck smallcheck text text-icu
        ];
        description = "Easy replacement when using text-icu regexes";
        license = stdenv.lib.licenses.asl20;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "text-region" = callPackage
@@ -201894,25 +206551,6 @@ self: {
      }) {};
 
   "text-short" = callPackage
-    ({ mkDerivation, base, binary, bytestring, deepseq, hashable
-     , quickcheck-instances, tasty, tasty-hunit, tasty-quickcheck, text
-     }:
-     mkDerivation {
-       pname = "text-short";
-       version = "0.1.1";
-       sha256 = "1c912nn1xqqvg27rndb8qvqwhw4iivhr19qjkgy3nfbi6krzkvsm";
-       libraryHaskellDepends = [
-         base binary bytestring deepseq hashable text
-       ];
-       testHaskellDepends = [
-         base binary quickcheck-instances tasty tasty-hunit tasty-quickcheck
-         text
-       ];
-       description = "Memory-efficient representation of Unicode text strings";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "text-short_0_1_2" = callPackage
     ({ mkDerivation, base, binary, bytestring, deepseq, ghc-prim
      , hashable, quickcheck-instances, tasty, tasty-hunit
      , tasty-quickcheck, text
@@ -201930,7 +206568,6 @@ self: {
        ];
        description = "Memory-efficient representation of Unicode text strings";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "text-show" = callPackage
@@ -201944,10 +206581,10 @@ self: {
      }:
      mkDerivation {
        pname = "text-show";
-       version = "3.7.1";
-       sha256 = "0gbf3cpxz92v4jphmwvz93il7m38qkwirfnk5453517k2s84s899";
-       revision = "1";
-       editedCabalFile = "1f30i7b45hq3m1hb7b6m8kc1fwz4i697m17wwiabjsyzbx4qiv98";
+       version = "3.7.2";
+       sha256 = "0gb7y83w81zvfi7szb62d17w0qi7ca7ybri81adqk141c3cxc83s";
+       revision = "2";
+       editedCabalFile = "0fjysjlmvvzvndxsni2ja92kr1pyqgl4dyc5c7x2ffaf02g9h2d2";
        libraryHaskellDepends = [
          array base base-compat bifunctors bytestring bytestring-builder
          containers contravariant generic-deriving ghc-boot-th ghc-prim
@@ -201973,21 +206610,60 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "text-show_3_7_3" = callPackage
+    ({ mkDerivation, array, base, base-compat-batteries, base-orphans
+     , bifunctors, bytestring, bytestring-builder, containers
+     , contravariant, criterion, deepseq, deriving-compat
+     , generic-deriving, ghc-boot-th, ghc-prim, hspec, hspec-discover
+     , integer-gmp, nats, QuickCheck, quickcheck-instances, semigroups
+     , tagged, template-haskell, text, th-abstraction, th-lift
+     , transformers, transformers-compat, void
+     }:
+     mkDerivation {
+       pname = "text-show";
+       version = "3.7.3";
+       sha256 = "1d8wmdndl8qsz90fb67xxbrprlmmp47p4f3ik6psp5m6r0cdvpzg";
+       libraryHaskellDepends = [
+         array base base-compat-batteries bifunctors bytestring
+         bytestring-builder containers contravariant generic-deriving
+         ghc-boot-th ghc-prim integer-gmp nats semigroups tagged
+         template-haskell text th-abstraction th-lift transformers
+         transformers-compat void
+       ];
+       testHaskellDepends = [
+         array base base-compat-batteries base-orphans bifunctors bytestring
+         bytestring-builder containers contravariant deriving-compat
+         generic-deriving ghc-boot-th ghc-prim hspec integer-gmp nats
+         QuickCheck quickcheck-instances semigroups tagged template-haskell
+         text th-lift transformers transformers-compat void
+       ];
+       testToolDepends = [ hspec-discover ];
+       benchmarkHaskellDepends = [
+         array base base-compat-batteries bifunctors bytestring
+         bytestring-builder containers contravariant criterion deepseq
+         generic-deriving ghc-boot-th ghc-prim integer-gmp nats semigroups
+         tagged template-haskell text th-lift transformers
+         transformers-compat void
+       ];
+       homepage = "https://github.com/RyanGlScott/text-show";
+       description = "Efficient conversion of values into Text";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "text-show-instances" = callPackage
     ({ mkDerivation, base, base-compat, bifunctors, binary, bytestring
      , containers, directory, generic-deriving, ghc-boot-th, ghc-prim
-     , haskeline, hoopl, hpc, hspec, old-locale, old-time, pretty
-     , process, QuickCheck, quickcheck-instances, random, semigroups
-     , tagged, template-haskell, terminfo, text, text-show, th-orphans
-     , time, transformers, transformers-compat, unix
-     , unordered-containers, vector, xhtml
+     , haskeline, hoopl, hpc, hspec, hspec-discover, old-locale
+     , old-time, pretty, process, QuickCheck, quickcheck-instances
+     , random, semigroups, tagged, template-haskell, terminfo, text
+     , text-show, th-orphans, time, transformers, transformers-compat
+     , unix, unordered-containers, vector, xhtml
      }:
      mkDerivation {
        pname = "text-show-instances";
-       version = "3.6.2";
-       sha256 = "0c64ibvzpz2h4f54bhrla4yf4mhsl3x2ag2nx2kj81g47pw917r5";
-       revision = "1";
-       editedCabalFile = "04rkwk7c6zzl2ql22x66gn3amgq7cfqdndxyhh6ywlbksa9ljjsw";
+       version = "3.6.3";
+       sha256 = "14b5bz0xxihi44nd80c8ma81khn7yjcpl8xvavsdfqy4jz9sb9fr";
        libraryHaskellDepends = [
          base base-compat bifunctors binary bytestring containers directory
          ghc-boot-th haskeline hoopl hpc old-locale old-time pretty process
@@ -202003,11 +206679,50 @@ self: {
          th-orphans time transformers transformers-compat unix
          unordered-containers vector xhtml
        ];
+       testToolDepends = [ hspec-discover ];
        homepage = "https://github.com/RyanGlScott/text-show-instances";
        description = "Additional instances for text-show";
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "text-show-instances_3_6_4" = callPackage
+    ({ mkDerivation, base, base-compat-batteries, bifunctors, binary
+     , bytestring, containers, directory, generic-deriving, ghc-boot-th
+     , ghc-prim, haskeline, hoopl, hpc, hspec, hspec-discover
+     , old-locale, old-time, pretty, process, QuickCheck
+     , quickcheck-instances, random, semigroups, tagged
+     , template-haskell, terminfo, text, text-show, th-orphans, time
+     , transformers, transformers-compat, unix, unordered-containers
+     , vector, xhtml
+     }:
+     mkDerivation {
+       pname = "text-show-instances";
+       version = "3.6.4";
+       sha256 = "1a2aacy6l58b49868hhvqws4900rq9dpb8zwkb5cz45gsb7zpgjf";
+       revision = "1";
+       editedCabalFile = "0fb704bm4n99vv7cblzsg9l8i6gy2ybppp2xagh4mcrwn5g776l8";
+       libraryHaskellDepends = [
+         base base-compat-batteries bifunctors binary bytestring containers
+         directory ghc-boot-th haskeline hoopl hpc old-locale old-time
+         pretty process random semigroups tagged template-haskell terminfo
+         text text-show time transformers transformers-compat unix
+         unordered-containers vector xhtml
+       ];
+       testHaskellDepends = [
+         base base-compat-batteries bifunctors binary bytestring containers
+         directory generic-deriving ghc-boot-th ghc-prim haskeline hoopl hpc
+         hspec old-locale old-time pretty process QuickCheck
+         quickcheck-instances random semigroups tagged template-haskell
+         terminfo text text-show th-orphans time transformers
+         transformers-compat unix unordered-containers vector xhtml
+       ];
+       testToolDepends = [ hspec-discover ];
+       homepage = "https://github.com/RyanGlScott/text-show-instances";
+       description = "Additional instances for text-show";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "text-stream-decode" = callPackage
     ({ mkDerivation, base, bytestring, criterion, deepseq, hspec, text
      }:
@@ -202148,7 +206863,6 @@ self: {
        homepage = "https://github.com/qfpl/text1";
        description = "Non-empty values of `Data.Text`.";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "textPlot" = callPackage
@@ -202419,8 +207133,8 @@ self: {
     ({ mkDerivation, base, template-haskell }:
      mkDerivation {
        pname = "th-data-compat";
-       version = "0.0.2.5";
-       sha256 = "1q2gggciz9s9ksn3h0mc5zffawz6j7pg6k1k96pqsx39f1bbrbqs";
+       version = "0.0.2.6";
+       sha256 = "1gbqrrpib065yw53063i7ydvm9ghwja30zc6s13mr2pp1l5a4bs2";
        libraryHaskellDepends = [ base template-haskell ];
        description = "Compatibility for data definition template of TH";
        license = stdenv.lib.licenses.bsd3;
@@ -202434,6 +207148,8 @@ self: {
        pname = "th-desugar";
        version = "1.7";
        sha256 = "1iqlqadax1ahgv9h1vdyddf55v2h4ghqrxfyqirrvk97iyk1rcsj";
+       revision = "1";
+       editedCabalFile = "06cxv8yx2dwppzzb9vjqiic2hiaiiqakg0kv0byp9k00sidabbm3";
        libraryHaskellDepends = [
          base containers mtl syb template-haskell th-expand-syns th-lift
          th-orphans
@@ -202455,6 +207171,8 @@ self: {
        pname = "th-desugar";
        version = "1.8";
        sha256 = "0nbsgf3lxmjj43f1xdjb1z486h8av47mym6v1y5pzdv39wgiykdv";
+       revision = "1";
+       editedCabalFile = "13jvl6ijxjwbd7df0cq5pnijs3wrs8x5r9ykyyj180dak66909wd";
        libraryHaskellDepends = [
          base containers mtl syb template-haskell th-expand-syns th-lift
          th-orphans
@@ -202520,6 +207238,23 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "th-format" = callPackage
+    ({ mkDerivation, base, Earley, haskell-src-meta, tasty, tasty-hunit
+     , template-haskell, text
+     }:
+     mkDerivation {
+       pname = "th-format";
+       version = "0.1.2.0";
+       sha256 = "1wc9ndqv2qxk75b47s44j0lrx5h9hc1r4h1nvl01pbdks6yyi43j";
+       libraryHaskellDepends = [
+         base Earley haskell-src-meta template-haskell text
+       ];
+       testHaskellDepends = [ base tasty tasty-hunit text ];
+       homepage = "https://github.com/mtesseract/th-format#readme";
+       description = "Template Haskell based support for format strings";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "th-inline-io-action" = callPackage
     ({ mkDerivation, base, template-haskell }:
      mkDerivation {
@@ -202642,6 +207377,19 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "th-nowq" = callPackage
+    ({ mkDerivation, base, markdown-unlit, template-haskell, time }:
+     mkDerivation {
+       pname = "th-nowq";
+       version = "0.1.0.2";
+       sha256 = "1r9qwj3aw5adxzgxb1kgr9s1scrqclf4jfmlhv8nz1dhbqwg84h1";
+       libraryHaskellDepends = [ base template-haskell time ];
+       testHaskellDepends = [ base markdown-unlit ];
+       homepage = "https://github.com/dzhus/th-nowq#readme";
+       description = "Template Haskell splice that expands to current time";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "th-orphans" = callPackage
     ({ mkDerivation, base, hspec, hspec-discover, mtl, template-haskell
      , th-lift, th-lift-instances, th-reify-many
@@ -202650,6 +207398,8 @@ self: {
        pname = "th-orphans";
        version = "0.13.5";
        sha256 = "1b9599vyn0wjwbq7b7n0w25s3wbihdxr958hscfpwc8lg55lsr4m";
+       revision = "1";
+       editedCabalFile = "1rgsrnh0qvlriz0c2c3q8wbb3ykby8d3lli0j553ml3n1sn9k4zv";
        libraryHaskellDepends = [
          base mtl template-haskell th-lift th-lift-instances th-reify-many
        ];
@@ -202677,8 +207427,8 @@ self: {
      }:
      mkDerivation {
        pname = "th-printf";
-       version = "0.5.0";
-       sha256 = "1fn1l503x3y5dgv8wsgyxhm66dyvdvfalzmwmsqf86sy643qjpw6";
+       version = "0.5.1";
+       sha256 = "0dgi93pb3zci1isxjmnzhn6apm4pyg12ayz8l1gxlilli8q1z4l6";
        libraryHaskellDepends = [
          ansi-wl-pprint attoparsec base charset containers template-haskell
          text transformers trifecta utf8-string
@@ -202690,15 +207440,14 @@ self: {
        homepage = "https://github.com/pikajude/th-printf";
        description = "Compile-time printf";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "th-reify-compat" = callPackage
     ({ mkDerivation, base, template-haskell }:
      mkDerivation {
        pname = "th-reify-compat";
-       version = "0.0.1.3";
-       sha256 = "0byl2n0lj55vx2kyka172bwvw8zcyag78cnqs7y9yp4kl8ivwh8z";
+       version = "0.0.1.4";
+       sha256 = "08lal845ixcw62skw2rsi98y9v3dgj7bq4ygmlxm6k3lfgd9v7q8";
        libraryHaskellDepends = [ base template-haskell ];
        homepage = "http://github.com/khibino/haskell-th-reify-compat/";
        description = "Compatibility for the result type of TH reify";
@@ -202860,23 +207609,23 @@ self: {
        homepage = "https://github.com/nikita-volkov/theatre";
        description = "Minimalistic actor library";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "themoviedb" = callPackage
-    ({ mkDerivation, aeson, base, binary, bytestring, either
-     , http-client, http-client-tls, http-types, mtl, tasty, tasty-hunit
-     , text, text-binary, time, time-locale-compat, transformers
+    ({ mkDerivation, aeson, base, binary, bytestring, http-client
+     , http-client-tls, http-types, mtl, tasty, tasty-hunit, text
+     , text-binary, time, time-locale-compat, transformers
      }:
      mkDerivation {
        pname = "themoviedb";
-       version = "1.1.3.0";
-       sha256 = "0bw3y1vlh36dnsc8npx3nf00n86qbz61xfkjvlp1knidda3q0d1c";
+       version = "1.1.4.0";
+       sha256 = "0sx59hi3cv5b71x6gdm8vpj5hchw52vndhksnshblndm8kgxnfa6";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         aeson base binary bytestring either http-client http-client-tls
-         http-types mtl text text-binary time time-locale-compat
-         transformers
+         aeson base binary bytestring http-client http-client-tls http-types
+         mtl text text-binary time time-locale-compat transformers
        ];
        executableHaskellDepends = [
          base text time time-locale-compat transformers
@@ -202976,8 +207725,8 @@ self: {
        pname = "these";
        version = "0.7.4";
        sha256 = "0jl8ippnsy5zmy52cvpn252hm2g7xqp1zb1xcrbgr00pmdxpvwyw";
-       revision = "5";
-       editedCabalFile = "1jx0p6z91nz5dagw4bcvb7lr9a15ahjnx0nhyv8cmd8p056m5515";
+       revision = "6";
+       editedCabalFile = "16dglq7aj28ag4h11m4ym8lm3jjq5kx3y0bycbhqm4q9xpnwfvfb";
        libraryHaskellDepends = [
          aeson base bifunctors binary containers data-default-class deepseq
          hashable keys mtl profunctors QuickCheck semigroupoids transformers
@@ -203131,8 +207880,8 @@ self: {
      }:
      mkDerivation {
        pname = "threads";
-       version = "0.5.1.5";
-       sha256 = "0phbspm8k2k6w66hv6ldccvy3kc4rjnspj0jwabiwklinkv7wpd1";
+       version = "0.5.1.6";
+       sha256 = "0bjnjhnq3km6xqk0fn1fgyz5xdw4h6lylbwwbcmkkfzwcz0c76hk";
        setupHaskellDepends = [ base Cabal ];
        libraryHaskellDepends = [ base stm ];
        testHaskellDepends = [
@@ -203209,7 +207958,6 @@ self: {
        homepage = "http://www.haskell.org/haskellwiki/ThreadScope";
        description = "A graphical tool for profiling parallel Haskell programs";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "threefish" = callPackage
@@ -203257,8 +208005,8 @@ self: {
      }:
      mkDerivation {
        pname = "threepenny-gui";
-       version = "0.8.2.2";
-       sha256 = "13s6n7pxbmr0j2g5xiqpacfnshqg0jq91y161rmmp3wix4bav6am";
+       version = "0.8.2.3";
+       sha256 = "17lh51ifw29a641xhkpcclnpxl7jvp6dmx9rbxqn5wgqclvi5qwb";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -203389,8 +208137,8 @@ self: {
        pname = "through-text";
        version = "0.1.0.0";
        sha256 = "1kdl36n98kajaa7v7js2sy8bi09p8rrxmlfcclcfc1l92bd2aclk";
-       revision = "2";
-       editedCabalFile = "1qbzxll2zfc2y9r17yk2077lyq6f2dw1745kxn5f4r33970128k6";
+       revision = "3";
+       editedCabalFile = "1gia9j7zq3g74kqvkzwp68d690nhddix1kpmj23d5a3zns3rxasn";
        libraryHaskellDepends = [ base bytestring case-insensitive text ];
        homepage = "https://www.github.com/bergmark/through-text";
        description = "Convert textual types through Text without needing O(n^2) instances";
@@ -203413,6 +208161,7 @@ self: {
        homepage = "https://github.com/aiya000/hs-throwable-exceptions#README.md";
        description = "throwable-exceptions gives the easy way to throw exceptions";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "thumbnail" = callPackage
@@ -203447,6 +208196,7 @@ self: {
        homepage = "https://github.com/prowdsponsor/thumbnail-plus";
        description = "Generate thumbnails easily and safely";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "thyme" = callPackage
@@ -203520,15 +208270,17 @@ self: {
      }) {gtk3 = pkgs.gnome3.gtk; inherit (pkgs.gnome3) webkitgtk;};
 
   "tibetan-utils" = callPackage
-    ({ mkDerivation, base, composition, either, hspec, hspec-megaparsec
-     , megaparsec, text, text-show
+    ({ mkDerivation, base, composition-prelude, either, hspec
+     , hspec-megaparsec, megaparsec, text, text-show
      }:
      mkDerivation {
        pname = "tibetan-utils";
-       version = "0.1.1.4";
-       sha256 = "0xr31py60q915a8qg590c55mjprf7w5w4cdlcjg1gz6wqq9kdjam";
+       version = "0.1.1.5";
+       sha256 = "09bqix2a2js98rhp748qx2i0vnxya3c6zvpjizbbnf5fwpspy01q";
+       revision = "1";
+       editedCabalFile = "0wmfv4dxjhjwsnkc8n7jfhbkvc7zwgcmkj7pvabmhcjzn5ch0dck";
        libraryHaskellDepends = [
-         base composition either megaparsec text text-show
+         base composition-prelude either megaparsec text text-show
        ];
        testHaskellDepends = [
          base hspec hspec-megaparsec megaparsec text
@@ -203609,16 +208361,16 @@ self: {
 
   "tidal" = callPackage
     ({ mkDerivation, base, colour, containers, hashable, hosc
-     , mersenne-random-pure64, mtl, parsec, safe, tasty, tasty-hunit
-     , text, time, websockets
+     , mersenne-random-pure64, mtl, parsec, safe, semigroups, tasty
+     , tasty-hunit, text, time, websockets
      }:
      mkDerivation {
        pname = "tidal";
-       version = "0.9.6";
-       sha256 = "1bldi0ygfn695x3an3qlsfzrbhmqcyhznkmsm5dsjmmh27zs1sx6";
+       version = "0.9.9";
+       sha256 = "1zpbnn1kw2ybmlg6g9yj39jhfp6sl12335rxqns0nfi8l2jjgbgr";
        libraryHaskellDepends = [
          base colour containers hashable hosc mersenne-random-pure64 mtl
-         parsec safe text time websockets
+         parsec safe semigroups text time websockets
        ];
        testHaskellDepends = [ base tasty tasty-hunit ];
        homepage = "http://tidalcycles.org/";
@@ -203632,8 +208384,8 @@ self: {
      }:
      mkDerivation {
        pname = "tidal-midi";
-       version = "0.9.5.2";
-       sha256 = "0yjbrsg2lwj6x32ly0j6b4ms6i1s447jk2b7c6qp85pblaanmzqc";
+       version = "0.9.10";
+       sha256 = "0d59s9vq2jmlb8b1bbay6n5911fjm9j04c9545p4i5visniv61b4";
        libraryHaskellDepends = [
          base containers PortMidi tidal time transformers
        ];
@@ -203952,11 +208704,11 @@ self: {
     ({ mkDerivation, base, old-locale, time }:
      mkDerivation {
        pname = "time-locale-compat";
-       version = "0.1.1.3";
-       sha256 = "1vdcfr2hp9qh3ag90x6ikbdf42wiqpdylnplffna54bpnilbyi4i";
+       version = "0.1.1.4";
+       sha256 = "0qmyxf8nz0q6brvplc4s2wsb1bbpq7kb65b69m503g9bgranblgj";
        libraryHaskellDepends = [ base old-locale time ];
        homepage = "https://github.com/khibino/haskell-time-locale-compat";
-       description = "Compatibility of TimeLocale between old-locale and time-1.5";
+       description = "Compatibile module for time-format locale";
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
@@ -204012,8 +208764,8 @@ self: {
        pname = "time-parsers";
        version = "0.1.2.0";
        sha256 = "091wpcqj1kjvyjgj1y1invn0g5lhdxc92az2bcbwbrpq2c7x8l2f";
-       revision = "1";
-       editedCabalFile = "1fvk31ab241v4ib7lg718q6qwrc3w7axq9kinccbdnn7b7d259gj";
+       revision = "2";
+       editedCabalFile = "1qvhmwkdb4a0msxpfssyqdz0fmi45iv7iwmw7b1mf4flqz6jvaql";
        libraryHaskellDepends = [ base parsers template-haskell time ];
        testHaskellDepends = [
          attoparsec base bifunctors parsec parsers tasty tasty-hunit
@@ -204202,24 +208954,12 @@ self: {
     ({ mkDerivation, base }:
      mkDerivation {
        pname = "timeit";
-       version = "1.0.0.0";
-       sha256 = "0dkjbp636dp882zlbwvvz76k4g7ga28wksd41w6mh0k8z45xjj5x";
-       libraryHaskellDepends = [ base ];
-       description = "Time a computation";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "timeit_2_0" = callPackage
-    ({ mkDerivation, base }:
-     mkDerivation {
-       pname = "timeit";
        version = "2.0";
        sha256 = "1sliqpvl501rlcj6s0lhmsf5ym24j4h881wzc1f1wdyvg3jz8kd1";
        libraryHaskellDepends = [ base ];
        homepage = "https://github.com/merijn/timeit";
        description = "Time monadic computations with an IO base";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "timelens" = callPackage
@@ -204302,29 +209042,28 @@ self: {
   "timemap" = callPackage
     ({ mkDerivation, base, containers, criterion, focus, hashable
      , list-t, QuickCheck, quickcheck-instances, stm, stm-containers
-     , tasty, tasty-hunit, tasty-quickcheck, time, unordered-containers
+     , tasty, tasty-quickcheck, time, unordered-containers
      }:
      mkDerivation {
        pname = "timemap";
-       version = "0.0.6";
-       sha256 = "00bg1b0fplnahwsv7bx63v90hq9w0idpf7s9wqhvl3fdjs9nl5zp";
-       isLibrary = true;
-       isExecutable = true;
+       version = "0.0.7";
+       sha256 = "06rx5q1b0r4chiiy9wi9k0q9qc4yxjk794hcq8dr7gpixgcrjjrg";
        libraryHaskellDepends = [
          base containers focus hashable list-t stm stm-containers time
          unordered-containers
        ];
        testHaskellDepends = [
          base containers focus hashable list-t QuickCheck
-         quickcheck-instances stm stm-containers tasty tasty-hunit
-         tasty-quickcheck time unordered-containers
+         quickcheck-instances stm stm-containers tasty tasty-quickcheck time
+         unordered-containers
        ];
        benchmarkHaskellDepends = [
          base containers criterion focus hashable list-t stm stm-containers
          time unordered-containers
        ];
-       description = "A mutable hashmap, implicitly indexed by UTCTime";
+       homepage = "https://github.com/athanclark/timemap#readme";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "timeout" = callPackage
@@ -204439,6 +209178,7 @@ self: {
        homepage = "https://github.com/HugoDaniel/timerep";
        description = "Parse and display time according to some RFCs (RFC3339, RFC2822, RFC822)";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "timers" = callPackage
@@ -204456,6 +209196,20 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "timers-tick" = callPackage
+    ({ mkDerivation, base, hspec }:
+     mkDerivation {
+       pname = "timers-tick";
+       version = "0.4.0.0";
+       sha256 = "02da32j9jz21awmsf38rrj3l3ks7s9a6vvqadr98c35shx3sxzcq";
+       libraryHaskellDepends = [ base ];
+       testHaskellDepends = [ base hspec ];
+       homepage = "http://ariis.it/static/articles/timers-tick/page.html";
+       description = "tick based timers";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "timers-updatable" = callPackage
     ({ mkDerivation, base, stm }:
      mkDerivation {
@@ -204501,6 +209255,22 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "timestamp" = callPackage
+    ({ mkDerivation, base, cereal, foldl, generic-random, hashable
+     , QuickCheck, time
+     }:
+     mkDerivation {
+       pname = "timestamp";
+       version = "0.2";
+       sha256 = "1cl57lf53kqmrhplf944zqhp59vjah57yakqd9m2rn0m5n6hz6sg";
+       libraryHaskellDepends = [
+         base cereal foldl generic-random hashable QuickCheck time
+       ];
+       homepage = "https://github.com/metrix-ai/timestamp";
+       description = "Space-efficient Unix timestamp and utilities";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "timestamp-subprocess-lines" = callPackage
     ({ mkDerivation, base, bytestring, process, split, time
      , transformers
@@ -204539,8 +209309,8 @@ self: {
      }:
      mkDerivation {
        pname = "timezone-olson";
-       version = "0.1.8";
-       sha256 = "0irpvmqpiw4j2wq4rn3jrndgn2jg10yvrnxvsrb1l6g5b80h2sxr";
+       version = "0.1.9";
+       sha256 = "05abywx1nrcaz0nqzfy4zw62bc5qd7pdfnjvv4drxkwv084ha8rj";
        libraryHaskellDepends = [
          base binary bytestring extensible-exceptions time timezone-series
        ];
@@ -204569,8 +209339,8 @@ self: {
     ({ mkDerivation, base, deepseq, time }:
      mkDerivation {
        pname = "timezone-series";
-       version = "0.1.8";
-       sha256 = "1xndlg0n46qjdh5yjzkkg285x3k76073aaizx1ibdzbq9q7dj6c1";
+       version = "0.1.9";
+       sha256 = "1blwgnyzqn917rgqkl4dncv9whv3xmk0lav040qq0214vksmvlz5";
        libraryHaskellDepends = [ base deepseq time ];
        homepage = "http://projects.haskell.org/time-ng/";
        description = "Enhanced timezone handling for Data.Time";
@@ -204681,8 +209451,8 @@ self: {
      }:
      mkDerivation {
        pname = "tinylog";
-       version = "0.14.0";
-       sha256 = "1skk59sxz2n96nv8vbc9yxla8m2jkj3ll8z5m0v78w0ih0bmcbrj";
+       version = "0.14.1";
+       sha256 = "01yz41l45qmc878gzhbchzkvr4ha2cfmvvjv31hwivgwgl8rcgni";
        libraryHaskellDepends = [
          base bytestring containers double-conversion fast-logger text
          transformers unix-time
@@ -204868,29 +209638,6 @@ self: {
 
   "tldr" = callPackage
     ({ mkDerivation, ansi-terminal, base, bytestring, cmark, directory
-     , filepath, optparse-applicative, semigroups, shell-conduit, text
-     }:
-     mkDerivation {
-       pname = "tldr";
-       version = "0.2.5";
-       sha256 = "0b87zkwj27z7h5rxf25qh4sq20smwbd3fg6j30hgmn0p9rsg4gzw";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         ansi-terminal base bytestring cmark text
-       ];
-       executableHaskellDepends = [
-         base directory filepath optparse-applicative semigroups
-         shell-conduit
-       ];
-       testHaskellDepends = [ base ];
-       homepage = "https://github.com/psibi/tldr-hs#readme";
-       description = "Haskell tldr client";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "tldr_0_3_0" = callPackage
-    ({ mkDerivation, ansi-terminal, base, bytestring, cmark, directory
      , filepath, optparse-applicative, semigroups, text, typed-process
      }:
      mkDerivation {
@@ -204910,7 +209657,6 @@ self: {
        homepage = "https://github.com/psibi/tldr-hs#readme";
        description = "Haskell tldr client";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "tls" = callPackage
@@ -205017,16 +209763,15 @@ self: {
      }:
      mkDerivation {
        pname = "tmapmvar";
-       version = "0.0.3";
-       sha256 = "1w5afnh7v04cjwb6qmgmmzgqhqj58rrxl6m31myk2rgd8i9j1fvf";
+       version = "0.0.4";
+       sha256 = "1qxl48wcbqvg6fymb8kpr4wz25ixkfvnvli2c7ncjxzdigyqrrd6";
        libraryHaskellDepends = [
          base containers hashable stm unordered-containers
        ];
        testHaskellDepends = [
-         async base containers QuickCheck quickcheck-instances stm tasty
-         tasty-quickcheck
+         async base containers hashable QuickCheck quickcheck-instances stm
+         tasty tasty-quickcheck unordered-containers
        ];
-       homepage = "https://github.com/athanclark/tmapmvar#readme";
        description = "A single-entity stateful Map in STM, similar to tmapchan";
        license = stdenv.lib.licenses.bsd3;
      }) {};
@@ -205246,8 +209991,8 @@ self: {
        pname = "token-bucket";
        version = "0.1.0.1";
        sha256 = "1l3axqdkrjf28pxhrvdvlpf9wi79czsfvhi33w4v2wbj0g00j9ii";
-       revision = "2";
-       editedCabalFile = "03kkavw01mlgaxgc0ifvldn8pkq2dfncrwqrf0r33ldggfzm6qm3";
+       revision = "3";
+       editedCabalFile = "1gqlxy3rwrgag4qbjkh1f2kya4gcy1x5ic9xn997nzc6yi334v7m";
        libraryHaskellDepends = [ base ];
        testHaskellDepends = [ base time ];
        homepage = "https://github.com/hvr/token-bucket";
@@ -205390,16 +210135,13 @@ self: {
      }:
      mkDerivation {
        pname = "tomlcheck";
-       version = "0.1.0.19";
-       sha256 = "1ql24s1wy4c34rmxh8x8lggnkpx686l8x5zsp3asdsxlx0k8n8zp";
-       isLibrary = true;
+       version = "0.1.0.23";
+       sha256 = "0m58rrjrrd2n1w313806s9gyj840nzsm7vwdz40639mr3a6vaifg";
+       isLibrary = false;
        isExecutable = true;
-       enableSeparateDataOutput = true;
-       libraryHaskellDepends = [
+       executableHaskellDepends = [
          base htoml-megaparsec megaparsec optparse-generic text
        ];
-       executableHaskellDepends = [ base ];
-       homepage = "https://github.com/vmchale/tomlcheck#readme";
        description = "Command-line tool to check syntax of TOML files";
        license = stdenv.lib.licenses.bsd3;
      }) {};
@@ -205625,6 +210367,27 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {toxcore = null;};
 
+  "toxiproxy-haskell" = callPackage
+    ({ mkDerivation, aeson, base, containers, hspec, http-client
+     , process, servant, servant-client, silently, text, time
+     }:
+     mkDerivation {
+       pname = "toxiproxy-haskell";
+       version = "0.2.1.0";
+       sha256 = "0c0xrl2ynk3b31ja4bh2pfmf8zhb4fxlazj7l07477f1yws7vqla";
+       libraryHaskellDepends = [
+         aeson base containers http-client servant servant-client text
+       ];
+       testHaskellDepends = [
+         base containers hspec http-client process servant servant-client
+         silently time
+       ];
+       homepage = "https://github.com/jpittis/toxiproxy-haskell#readme";
+       description = "Client library for Toxiproxy: a TCP failure testing proxy";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "toysolver" = callPackage
     ({ mkDerivation, array, base, bytestring, bytestring-builder, clock
      , containers, criterion, data-default, data-default-class
@@ -205743,17 +210506,21 @@ self: {
      }) {};
 
   "tpdb" = callPackage
-    ({ mkDerivation, base, bytestring, containers, filepath, hashable
-     , HaXml, hxt, mtl, parsec, pretty, text, time, wl-pprint-text
+    ({ mkDerivation, base, bytestring, containers, data-default
+     , filepath, hashable, HaXml, hxt, mtl, parsec, pretty
+     , prettyprinter, text, time, xml-conduit, xml-hamlet
      }:
      mkDerivation {
        pname = "tpdb";
-       version = "1.3.3";
-       sha256 = "1xks4dcn51m3001ss231lmk8ylfpvba9d2v123vgwmjpibnkr9gs";
+       version = "1.5.2";
+       sha256 = "08cckg0n6pbj067advjppgybbwbl256igk4lirwmiav6hf1m723k";
+       isLibrary = true;
+       isExecutable = true;
        libraryHaskellDepends = [
-         base bytestring containers filepath hashable HaXml hxt mtl parsec
-         text time wl-pprint-text
+         base bytestring containers data-default filepath hashable HaXml hxt
+         mtl parsec prettyprinter text time xml-conduit xml-hamlet
        ];
+       executableHaskellDepends = [ base bytestring ];
        testHaskellDepends = [ base bytestring HaXml pretty ];
        homepage = "https://github.com/jwaldmann/haskell-tpdb";
        description = "Data Type for Rewriting Systems";
@@ -205832,10 +210599,8 @@ self: {
      }:
      mkDerivation {
        pname = "tracetree";
-       version = "0.1.0.1";
-       sha256 = "05aigx15kyvy19gdzh9si2avl5a7g8c4yzrcp7sgy1d94dwypl0j";
-       revision = "1";
-       editedCabalFile = "0yppsjjvq2zpk9k3fpi7q9msww4biz6hn02waschca65s2gbc84y";
+       version = "0.1.0.2";
+       sha256 = "0ga78nkrfg2hlanqfd65il0yw596n7xy9jx76l7sffs438mx4wvr";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -205858,6 +210623,24 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "trackit" = callPackage
+    ({ mkDerivation, base, brick, fsnotify, mtl, optparse-generic
+     , process, process-extras, stm, text, time, vty
+     }:
+     mkDerivation {
+       pname = "trackit";
+       version = "0.3";
+       sha256 = "0n4ypg2g82ajnmvv94sgympvbwji0bkw5kmd4zfzrvzrdxq91yvh";
+       isLibrary = false;
+       isExecutable = true;
+       executableHaskellDepends = [
+         base brick fsnotify mtl optparse-generic process process-extras stm
+         text time vty
+       ];
+       description = "A command-line tool for live monitoring";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "tracy" = callPackage
     ({ mkDerivation, base }:
      mkDerivation {
@@ -205916,6 +210699,24 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "transaction" = callPackage
+    ({ mkDerivation, base, doctest, Glob, hspec, mono-traversable
+     , QuickCheck
+     }:
+     mkDerivation {
+       pname = "transaction";
+       version = "0.1.1.3";
+       sha256 = "1if04fm2kvkd25ksk1llqqkwaqy8y7pafbywmz70mrr68wrb2r6j";
+       libraryHaskellDepends = [ base mono-traversable ];
+       testHaskellDepends = [
+         base doctest Glob hspec mono-traversable QuickCheck
+       ];
+       homepage = "https://github.com/arowM/haskell-transaction#readme";
+       description = "Monadic representation of transactions";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "transactional-events" = callPackage
     ({ mkDerivation, base, ListZipper, MonadPrompt, stm }:
      mkDerivation {
@@ -205949,6 +210750,36 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "transfer-db" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, cassava, clock
+     , console-program, containers, cpu, hspec, logging, monad-control
+     , QuickCheck, sqlcli, sqlcli-odbc, stm, store, store-core
+     , temporary, text, th-utilities, time, transformers, yaml
+     }:
+     mkDerivation {
+       pname = "transfer-db";
+       version = "0.3.1.2";
+       sha256 = "1vpcf4k78cnpb5n1bwn2v9l7g38nlgr2y9j8kvmi7ncfvh1nvbqw";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base bytestring clock containers logging monad-control sqlcli
+         sqlcli-odbc stm store store-core temporary text th-utilities time
+         transformers
+       ];
+       executableHaskellDepends = [
+         aeson base bytestring cassava clock console-program containers
+         logging monad-control sqlcli sqlcli-odbc stm time transformers yaml
+       ];
+       testHaskellDepends = [
+         base bytestring cpu hspec QuickCheck sqlcli store time transformers
+       ];
+       homepage = "http://hub.darcs.net/mihaigiurgeanu/transfer-db";
+       description = "ODBC database transfer";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "transformations" = callPackage
     ({ mkDerivation, base, containers, criterion, mtl, multirec, parsec
      , QuickCheck, regular, template-haskell
@@ -206029,6 +210860,23 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "transformers-base_0_4_5_2" = callPackage
+    ({ mkDerivation, base, base-orphans, stm, transformers
+     , transformers-compat
+     }:
+     mkDerivation {
+       pname = "transformers-base";
+       version = "0.4.5.2";
+       sha256 = "1s256bi0yh0x2hp2gwd30f3mg1cv53zz397dv1yhfsnfzmihrj6h";
+       libraryHaskellDepends = [
+         base base-orphans stm transformers transformers-compat
+       ];
+       homepage = "https://github.com/mvv/transformers-base";
+       description = "Lift computations from the bottom of a transformer stack";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "transformers-bifunctors" = callPackage
     ({ mkDerivation, base, mmorph, transformers }:
      mkDerivation {
@@ -206053,18 +210901,13 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "transformers-compat_0_6_0_6" = callPackage
-    ({ mkDerivation, base, deriving-compat, ghc-prim, hspec, QuickCheck
-     , tagged, transformers
-     }:
+  "transformers-compat_0_6_1_6" = callPackage
+    ({ mkDerivation, base, ghc-prim, transformers }:
      mkDerivation {
        pname = "transformers-compat";
-       version = "0.6.0.6";
-       sha256 = "0fdnc8qnm42llp3nyfmg7ij6wscrigb43x3f2w1d38dvjkycyags";
+       version = "0.6.1.6";
+       sha256 = "0db1l90pp4f1b829b3gv6xxklc8cnhkqq383rzd7r9b4hyjdvpmx";
        libraryHaskellDepends = [ base ghc-prim transformers ];
-       testHaskellDepends = [
-         base deriving-compat hspec QuickCheck tagged transformers
-       ];
        homepage = "http://github.com/ekmett/transformers-compat/";
        description = "A small compatibility shim for the transformers library";
        license = stdenv.lib.licenses.bsd3;
@@ -206122,8 +210965,8 @@ self: {
      }:
      mkDerivation {
        pname = "transformers-eff";
-       version = "0.2.0.0";
-       sha256 = "1na8gvbhbsdfkxvhy57f3qi91rksjin10lr8nsar4nimrd7nmghn";
+       version = "0.2.1.0";
+       sha256 = "0miam7n85ch39v7pym8m53nxyymwwnc5v52lip4x4h0vffpnq8lx";
        libraryHaskellDepends = [
          base free list-transformer mmorph transformers
        ];
@@ -206143,11 +210986,42 @@ self: {
        pname = "transformers-either";
        version = "0.0.2";
        sha256 = "1122rgspazl3n9vghlzzg14hv6p0a66lf6r7hkim14p0rcagvx5a";
+       revision = "1";
+       editedCabalFile = "134big9w9307vjmj6p6m3wgmh4lrvv8dyg0iw2nm54p9kg0c6ga8";
        libraryHaskellDepends = [ base text transformers ];
        description = "An Either monad transformer";
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "transformers-either_0_1_0" = callPackage
+    ({ mkDerivation, base, exceptions, text, transformers }:
+     mkDerivation {
+       pname = "transformers-either";
+       version = "0.1.0";
+       sha256 = "18a99isv93yf65b6j4863j23ss9j1mp1f815sblhgs2xaywswhvm";
+       revision = "1";
+       editedCabalFile = "1bhkkh73irjql1jhxdcrv1igmf0hqpnw2p0w1s6fwhiidx64kvy9";
+       libraryHaskellDepends = [ base exceptions text transformers ];
+       homepage = "http://github.com/tmcgilchrist/transformers-either/";
+       description = "An Either monad transformer";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "transformers-fix" = callPackage
+    ({ mkDerivation, base, transformers }:
+     mkDerivation {
+       pname = "transformers-fix";
+       version = "1.0";
+       sha256 = "02aapq88k81q9r6wmvmg9zjyrmz9qzi4gss75p18lkc4dgrzzlb5";
+       revision = "1";
+       editedCabalFile = "126gyjr8jp42md6nblx7c0kan97jgsakvsf2vzv2pj828ax1icrs";
+       libraryHaskellDepends = [ base transformers ];
+       homepage = "https://github.com/thumphries/transformers-fix";
+       description = "Monad transformer for evaluating to a fixpoint";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "transformers-free" = callPackage
     ({ mkDerivation, base, transformers }:
      mkDerivation {
@@ -206167,6 +211041,8 @@ self: {
        pname = "transformers-lift";
        version = "0.2.0.1";
        sha256 = "17g03r5hpnygx0c9ybr9za6208ay0cjvz47rkyplv1r9zcivzn0b";
+       revision = "1";
+       editedCabalFile = "1dy9vg0drkm9ria80hlfx6v72ji2fwmv3ik7lryv7i7hk0bdzk8l";
        libraryHaskellDepends = [
          base transformers writer-cps-transformers
        ];
@@ -206219,6 +211095,28 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "transient_0_6_0_1" = callPackage
+    ({ mkDerivation, atomic-primops, base, bytestring, containers
+     , directory, mtl, random, stm, time, transformers
+     }:
+     mkDerivation {
+       pname = "transient";
+       version = "0.6.0.1";
+       sha256 = "1k3zh4ahzzmj5ni0jyahzhfhbnvksa1ybq93541faa4g98h44ggy";
+       libraryHaskellDepends = [
+         atomic-primops base bytestring containers directory mtl random stm
+         time transformers
+       ];
+       testHaskellDepends = [
+         atomic-primops base bytestring containers directory mtl random stm
+         time transformers
+       ];
+       homepage = "https://github.com/transient-haskell/transient";
+       description = "composing programs with multithreading, events and distributed computing";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "transient-universe" = callPackage
     ({ mkDerivation, base, bytestring, case-insensitive, containers
      , directory, filepath, hashable, HTTP, iproute, mtl, network
@@ -206252,18 +211150,51 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "transient-universe_0_5_0_0" = callPackage
+    ({ mkDerivation, base, bytestring, case-insensitive, containers
+     , directory, filepath, hashable, HTTP, iproute, mtl, network
+     , network-info, network-uri, process, random, stm, TCache, text
+     , time, transformers, transient, vector, websockets
+     }:
+     mkDerivation {
+       pname = "transient-universe";
+       version = "0.5.0.0";
+       sha256 = "1d3bp4xjpi28ph7fa9wm49ssg53jfvlq77ka0zvrkilw1j6f8v3l";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base bytestring case-insensitive containers directory filepath
+         hashable HTTP iproute mtl network network-info network-uri process
+         random stm TCache text time transformers transient vector
+         websockets
+       ];
+       executableHaskellDepends = [
+         base bytestring case-insensitive containers directory filepath
+         hashable HTTP mtl network network-info network-uri process random
+         stm TCache text time transformers transient vector websockets
+       ];
+       testHaskellDepends = [
+         base bytestring case-insensitive containers directory filepath
+         hashable HTTP mtl network network-info network-uri process random
+         stm TCache text time transformers transient vector websockets
+       ];
+       homepage = "https://github.com/transient-haskell/transient-universe";
+       description = "Remote execution and map-reduce: distributed computing for Transient";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "transient-universe-tls" = callPackage
-    ({ mkDerivation, base, bytestring, certificate, cprng-aes
-     , data-default, network, tls, transient, transient-universe
-     , x509-store
+    ({ mkDerivation, base, bytestring, cprng-aes, data-default, network
+     , tls, transient, transient-universe, x509-store, x509-system
      }:
      mkDerivation {
        pname = "transient-universe-tls";
-       version = "0.1.0.0";
-       sha256 = "0rw4plnc98ydb5za85hgdvprfxh1cry7ifyfzm93cyny09b38jwz";
+       version = "0.1.1.0";
+       sha256 = "0fawvdgm7a1s65jc3d3lfl38pak6xx39ian0cbx5sj3aqa7m99hs";
        libraryHaskellDepends = [
-         base bytestring certificate cprng-aes data-default network tls
-         transient transient-universe x509-store
+         base bytestring cprng-aes data-default network tls transient
+         transient-universe x509-store x509-system
        ];
        homepage = "http://github.com/transient-haskell/transient-universe-tls";
        description = "transient with secure communications";
@@ -206325,8 +211256,8 @@ self: {
      }:
      mkDerivation {
        pname = "trasa";
-       version = "0.2";
-       sha256 = "1570f4612nfslcxr0mjwf4zzgfninb0mv1d0n6livcks8jd4w4ph";
+       version = "0.3";
+       sha256 = "0v1srhmzwc8vdkwwpik91bvrq73driryl0lyazx7zvpvmqhxkmi6";
        libraryHaskellDepends = [
          base binary bytestring hashable http-media http-types text
          unordered-containers vinyl
@@ -206342,15 +211273,17 @@ self: {
      }) {};
 
   "trasa-client" = callPackage
-    ({ mkDerivation, aeson, base, binary, bytestring, http-client
-     , http-media, http-types, ip, text, trasa, unordered-containers
+    ({ mkDerivation, aeson, base, binary, bytestring, case-insensitive
+     , containers, http-client, http-media, http-types, ip, text, trasa
+     , unordered-containers
      }:
      mkDerivation {
        pname = "trasa-client";
-       version = "0.2";
-       sha256 = "0cgsjaclcqy4nprp7ndr4di1km0fp70zfgv1r4v172mk2q0n06nx";
+       version = "0.3";
+       sha256 = "1cq0wbjv0kbhvprrggbkqqy6h6ixywfr816b9pd2qqmsnw4lq6ns";
        libraryHaskellDepends = [
-         base binary bytestring http-client http-media http-types text trasa
+         base binary bytestring case-insensitive containers http-client
+         http-media http-types text trasa
        ];
        testHaskellDepends = [
          aeson base http-client http-types ip text trasa
@@ -206429,6 +211362,7 @@ self: {
        homepage = "http://github.com/tomtau/travis#readme";
        description = "A simple client implementation using Travis CI API";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "travis-meta-yaml" = callPackage
@@ -206524,8 +211458,8 @@ self: {
        pname = "tree-diff";
        version = "0.0.1";
        sha256 = "049v44c520jy3icxlnrvbdblh3mjmvd7m6qmkzxbzkf02x63xqmz";
-       revision = "1";
-       editedCabalFile = "0d3kbs32q816vlrbj17lwl1bmmv7lvwi2c2i3k3agm2a8h0psx6s";
+       revision = "3";
+       editedCabalFile = "04ajimrbywfnnnlx9axz3hmbi33c4g62hrmv52plgifjiw6c4y2y";
        libraryHaskellDepends = [
          aeson ansi-terminal ansi-wl-pprint base base-compat bytestring
          containers generics-sop hashable MemoTrie parsec parsers pretty
@@ -206539,6 +211473,7 @@ self: {
        homepage = "https://github.com/phadej/tree-diff";
        description = "Diffing of (expression) trees";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "tree-fun" = callPackage
@@ -206564,6 +211499,20 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "tree-traversals" = callPackage
+    ({ mkDerivation, base, containers, doctest, mtl }:
+     mkDerivation {
+       pname = "tree-traversals";
+       version = "0.1.0.0";
+       sha256 = "0wdy1p94096qdc00w8pmbz6qcawc0ivlhy0sg0b3jir0s2ksdccb";
+       libraryHaskellDepends = [ base containers ];
+       testHaskellDepends = [ base containers doctest mtl ];
+       homepage = "https://github.com/rampion/tree-traversals";
+       description = "Functions and newtype wrappers for traversing Trees";
+       license = stdenv.lib.licenses.cc0;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "tree-view" = callPackage
     ({ mkDerivation, base, containers, mtl }:
      mkDerivation {
@@ -206735,26 +211684,30 @@ self: {
 
   "tries" = callPackage
     ({ mkDerivation, base, bytestring, bytestring-trie, composition
-     , composition-extra, containers, criterion, deepseq, hashable, keys
-     , mtl, QuickCheck, quickcheck-instances, rose-trees, semigroups
-     , sets, tasty, tasty-quickcheck, unordered-containers
+     , containers, criterion, deepseq, hashable, keys, mtl, QuickCheck
+     , quickcheck-instances, rose-trees, semigroups, sets, tasty
+     , tasty-quickcheck, unordered-containers
      }:
      mkDerivation {
        pname = "tries";
-       version = "0.0.4.2";
-       sha256 = "152rs6g3p6nc4xw3fnh0psmlqmchq038y0p18nandgggsnl2ck0n";
+       version = "0.0.5";
+       sha256 = "1xljwkdwfwd962f7bdbds89m93hw24b54624d4fqlq4n0dyq50x0";
        libraryHaskellDepends = [
-         base bytestring bytestring-trie composition composition-extra
-         containers deepseq hashable keys QuickCheck quickcheck-instances
-         rose-trees semigroups sets unordered-containers
+         base bytestring bytestring-trie composition containers deepseq
+         hashable keys QuickCheck quickcheck-instances rose-trees semigroups
+         sets unordered-containers
        ];
        testHaskellDepends = [
-         base containers mtl QuickCheck quickcheck-instances tasty
-         tasty-quickcheck
+         base bytestring bytestring-trie composition containers deepseq
+         hashable keys mtl QuickCheck quickcheck-instances rose-trees
+         semigroups sets tasty tasty-quickcheck unordered-containers
        ];
        benchmarkHaskellDepends = [
-         base containers criterion mtl rose-trees unordered-containers
+         base bytestring bytestring-trie composition containers criterion
+         deepseq hashable keys mtl QuickCheck quickcheck-instances
+         rose-trees semigroups sets unordered-containers
        ];
+       homepage = "https://github.com/athanclark/tries#readme";
        description = "Various trie implementations in Haskell";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -206772,8 +211725,8 @@ self: {
        pname = "trifecta";
        version = "1.7.1.1";
        sha256 = "13n6a3fdxngnzsjnhfrzigv1c2g0xm6lqkjcnirpc37sd0rpby31";
-       revision = "3";
-       editedCabalFile = "18n50vn8znpwci2f333wsqzr8zkj35ki5z8bs9a2717yhzyha4k8";
+       revision = "4";
+       editedCabalFile = "12dv7mipmqc7ykazjqql6slbgdgi5f6hglw2cbdi6brvkwxk7w9z";
        setupHaskellDepends = [ base Cabal cabal-doctest ];
        libraryHaskellDepends = [
          ansi-terminal ansi-wl-pprint array base blaze-builder blaze-html
@@ -207196,6 +212149,7 @@ self: {
        homepage = "https://github.com/tokiwoousaka/ttask#readme";
        description = "This is task management tool for yourself, that inspired by scrum";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "ttrie" = callPackage
@@ -207248,7 +212202,6 @@ self: {
        homepage = "https://github.com/entropia/tip-toi-reveng";
        description = "Working with files for the Tiptoi® pen";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "tubes" = callPackage
@@ -207397,6 +212350,19 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "tuple-sop" = callPackage
+    ({ mkDerivation, base, generics-sop }:
+     mkDerivation {
+       pname = "tuple-sop";
+       version = "0.3.0.0";
+       sha256 = "1m9xsjnnyavms4hxgdam79vc9c4bf6ssmammmzvvidqvyl9z1g15";
+       libraryHaskellDepends = [ base generics-sop ];
+       testHaskellDepends = [ base generics-sop ];
+       homepage = "https://github.com/Ferdinand-vW/tuple-sop#readme";
+       description = "functions on n-ary tuples using generics-sop";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
   "tuple-th" = callPackage
     ({ mkDerivation, base, containers, template-haskell }:
      mkDerivation {
@@ -207487,7 +212453,6 @@ self: {
        homepage = "https://github.com/sanjorgek/turingMachine";
        description = "An implementation of Turing Machine and Automaton";
        license = stdenv.lib.licenses.gpl3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "turkish-deasciifier" = callPackage
@@ -207506,6 +212471,18 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "turn-loop" = callPackage
+    ({ mkDerivation, base, containers, stm }:
+     mkDerivation {
+       pname = "turn-loop";
+       version = "0.1.0";
+       sha256 = "180yplkjf0c4n17a5ad2pakjwnh7830rldzmaqjj7gwcl3pg0lc6";
+       libraryHaskellDepends = [ base containers stm ];
+       homepage = "https://github.com/jxv/turn-loop#readme";
+       description = "Manage multiple turned-based sessions";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "turni" = callPackage
     ({ mkDerivation, base, containers, MonadRandom, random }:
      mkDerivation {
@@ -207522,29 +212499,6 @@ self: {
 
   "turtle" = callPackage
     ({ mkDerivation, ansi-wl-pprint, async, base, bytestring, clock
-     , containers, criterion, directory, doctest, foldl, hostname
-     , managed, optional-args, optparse-applicative, process, semigroups
-     , stm, system-fileio, system-filepath, temporary, text, time
-     , transformers, unix, unix-compat
-     }:
-     mkDerivation {
-       pname = "turtle";
-       version = "1.4.5";
-       sha256 = "082svk0bcf1vvqrzfmb6r5rridgch0c15423fwcb57cfc8xzm8kx";
-       libraryHaskellDepends = [
-         ansi-wl-pprint async base bytestring clock containers directory
-         foldl hostname managed optional-args optparse-applicative process
-         semigroups stm system-fileio system-filepath temporary text time
-         transformers unix unix-compat
-       ];
-       testHaskellDepends = [ base doctest system-filepath temporary ];
-       benchmarkHaskellDepends = [ base criterion text ];
-       description = "Shell programming, Haskell-style";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "turtle_1_5_4" = callPackage
-    ({ mkDerivation, ansi-wl-pprint, async, base, bytestring, clock
      , containers, criterion, directory, doctest, exceptions, foldl
      , hostname, managed, optional-args, optparse-applicative, process
      , semigroups, stm, system-fileio, system-filepath, temporary, text
@@ -207552,8 +212506,8 @@ self: {
      }:
      mkDerivation {
        pname = "turtle";
-       version = "1.5.4";
-       sha256 = "17ik8k5mp9ipkai4fn57c93ajf9ydnxcb7r8xm8pq6xaza5qh5di";
+       version = "1.5.8";
+       sha256 = "0vp442byylqki6pabhg8bs27msqsdcwcnql40z003jx1hidccnq4";
        libraryHaskellDepends = [
          ansi-wl-pprint async base bytestring clock containers directory
          exceptions foldl hostname managed optional-args
@@ -207564,7 +212518,6 @@ self: {
        benchmarkHaskellDepends = [ base criterion text ];
        description = "Shell programming, Haskell-style";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "turtle-options" = callPackage
@@ -207616,8 +212569,8 @@ self: {
      }:
      mkDerivation {
        pname = "twee";
-       version = "2.1.3";
-       sha256 = "08grsv9x9a289lh5w9vx401zshs6fa31756mdzmac0w9nk92229k";
+       version = "2.1.5";
+       sha256 = "1v94hf1fd7n01drd6hx37zrplpzlskfmd3l8lmkb5kzy618x0cnb";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -207626,7 +212579,6 @@ self: {
        homepage = "http://github.com/nick8325/twee";
        description = "An equational theorem prover";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "twee-lib" = callPackage
@@ -207635,8 +212587,8 @@ self: {
      }:
      mkDerivation {
        pname = "twee-lib";
-       version = "2.1.3";
-       sha256 = "0yp6qdm189jhapx9y80yq9r97bv2v2w3n7q070i7hzczmg55rjqi";
+       version = "2.1.5";
+       sha256 = "09q2dxab3s9d32ayr9a08q6lbkszrxi0hw00sar3jx31p9q3pkc2";
        libraryHaskellDepends = [
          base containers dlist ghc-prim pretty primitive transformers vector
        ];
@@ -207654,17 +212606,19 @@ self: {
      }:
      mkDerivation {
        pname = "tweet-hs";
-       version = "1.0.1.35";
-       sha256 = "1rg7yn5072dr8kpd5m3c4p1brq9sbs2npvvyqkjpvfxsbyziblw7";
+       version = "1.0.1.39";
+       sha256 = "148lan5d4mzngkfq5l5rsz20s9dcgn71y145d1y59pr7nnlg3ipw";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          aeson ansi-wl-pprint authenticate-oauth base bytestring
-         composition-prelude containers data-default directory extra
-         htoml-megaparsec http-client http-client-tls http-types lens
-         megaparsec optparse-applicative split text unordered-containers
+         composition-prelude containers data-default extra htoml-megaparsec
+         http-client http-client-tls http-types lens megaparsec split text
+         unordered-containers
+       ];
+       executableHaskellDepends = [
+         base bytestring directory optparse-applicative
        ];
-       executableHaskellDepends = [ base ];
        testHaskellDepends = [ base hspec ];
        benchmarkHaskellDepends = [ base bytestring criterion megaparsec ];
        homepage = "https://github.com/vmchale/command-line-tweeter#readme";
@@ -207838,6 +212792,7 @@ self: {
        homepage = "https://github.com/wiggly/twfy-api-client#readme";
        description = "They Work For You API Client Library";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "twhs" = callPackage
@@ -207955,23 +212910,18 @@ self: {
      }) {};
 
   "twiml" = callPackage
-    ({ mkDerivation, base, Cabal, data-default, deepseq, Diff, HUnit
-     , lens, network-uri, parsec, should-not-typecheck, template-haskell
-     , text, void, xml
+    ({ mkDerivation, base, data-default, deepseq, doctest, lens
+     , network-uri, parsec, template-haskell, text, void, xml
      }:
      mkDerivation {
        pname = "twiml";
-       version = "0.2.0.1";
-       sha256 = "1x4jhvz0590zlpy74yjwjxkrllk7yvpgf2srkisi10klmarsjygd";
-       enableSeparateDataOutput = true;
+       version = "0.2.1.0";
+       sha256 = "1y6szzr951if5lal2rfknybd11a2r13xrykpsyrqvq5dzq2yx67z";
        libraryHaskellDepends = [
          base data-default deepseq lens network-uri parsec template-haskell
          text void xml
        ];
-       testHaskellDepends = [
-         base Cabal data-default deepseq Diff HUnit lens
-         should-not-typecheck void
-       ];
+       testHaskellDepends = [ base doctest ];
        homepage = "https://github.com/markandrus/twiml-haskell";
        description = "TwiML library for Haskell";
        license = stdenv.lib.licenses.bsd3;
@@ -208082,6 +213032,7 @@ self: {
        homepage = "https://github.com/himura/twitter-conduit";
        description = "Twitter API package with conduit interface and Streaming API support";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "twitter-enumerator" = callPackage
@@ -208149,6 +213100,7 @@ self: {
        homepage = "https://github.com/himura/twitter-types";
        description = "Twitter JSON parser and types";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "twitter-types-lens" = callPackage
@@ -208167,6 +213119,7 @@ self: {
        homepage = "https://github.com/himura/twitter-types";
        description = "Twitter JSON types (lens powered)";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "tx" = callPackage
@@ -208186,6 +213139,23 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "txt" = callPackage
+    ({ mkDerivation, base, bytestring, deepseq, smallcheck, tasty
+     , tasty-smallcheck, utf8-string, util
+     }:
+     mkDerivation {
+       pname = "txt";
+       version = "0.0.2.1";
+       sha256 = "0cdng6qlskycpmr1yxvr25q5j876nji5iw3hlx2xb7n0rvk3ylh5";
+       libraryHaskellDepends = [
+         base bytestring deepseq utf8-string util
+       ];
+       testHaskellDepends = [ base smallcheck tasty tasty-smallcheck ];
+       description = "Text";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "txt-sushi" = callPackage
     ({ mkDerivation, base, binary, bytestring, containers, directory
      , parsec, regex-posix
@@ -208378,25 +213348,12 @@ self: {
     ({ mkDerivation, base, singletons, type-combinators }:
      mkDerivation {
        pname = "type-combinators-singletons";
-       version = "0.1.0.0";
-       sha256 = "11sc0fjlppp35fy35bk4vxzx8c4ws7j3zww59cg1abrpfk7i82mh";
-       libraryHaskellDepends = [ base singletons type-combinators ];
-       homepage = "https://github.com/mstksg/type-combinators-singletons";
-       description = "Interop between /type-combinators/ and /singletons/";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "type-combinators-singletons_0_2_1_0" = callPackage
-    ({ mkDerivation, base, singletons, type-combinators }:
-     mkDerivation {
-       pname = "type-combinators-singletons";
        version = "0.2.1.0";
        sha256 = "00cwlfcka2d1wcp7159r3sk3gz852dmc71jvjfr8bn1rrr781n0q";
        libraryHaskellDepends = [ base singletons type-combinators ];
        homepage = "https://github.com/mstksg/type-combinators-singletons";
        description = "Interop between /type-combinators/ and /singletons/";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "type-digits" = callPackage
@@ -208526,12 +213483,13 @@ self: {
      }) {};
 
   "type-interpreter" = callPackage
-    ({ mkDerivation, base, containers, template-haskell }:
+    ({ mkDerivation, base, containers, mtl, template-haskell }:
      mkDerivation {
        pname = "type-interpreter";
-       version = "0.0.0";
-       sha256 = "1nma1zrk11p5i6xbnsnlhb9h0xvixq784lymbb6i3ijabl4v2ksg";
-       libraryHaskellDepends = [ base containers template-haskell ];
+       version = "0.1.4";
+       sha256 = "0743byvz8jry9b5li4wg5qc4nwl5ri0vjvsfdy3l4gkg1v1zh0ng";
+       libraryHaskellDepends = [ base containers mtl template-haskell ];
+       testHaskellDepends = [ base template-haskell ];
        description = "Interpreter for Template Haskell types";
        license = stdenv.lib.licenses.bsd3;
      }) {};
@@ -208700,47 +213658,83 @@ self: {
        homepage = "https://github.com/Lysxia/type-map";
        description = "Type-indexed maps";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "type-natural" = callPackage
     ({ mkDerivation, base, constraints, equational-reasoning
-     , ghc-typelits-natnormalise, ghc-typelits-presburger, monomorphic
-     , singletons, template-haskell
+     , ghc-typelits-natnormalise, ghc-typelits-presburger, singletons
+     , template-haskell
      }:
      mkDerivation {
        pname = "type-natural";
-       version = "0.7.1.4";
-       sha256 = "1rs0sbkzjlvwjsp4yz7mg4sd2y422vqnzj13fdcssfdmkbs0ybyn";
-       revision = "1";
-       editedCabalFile = "0g75rszhy7fj3riy0j8y6j78m7gx6pp8h4j67zqax6anq3ry12fn";
+       version = "0.8.1.0";
+       sha256 = "0gp0bkcc3zx2mi8pi0j6vqigif6sy2w54pkb2qv7dlmvvijm6ra2";
        libraryHaskellDepends = [
          base constraints equational-reasoning ghc-typelits-natnormalise
-         ghc-typelits-presburger monomorphic singletons template-haskell
+         ghc-typelits-presburger singletons template-haskell
        ];
        homepage = "https://github.com/konn/type-natural";
        description = "Type-level natural and proofs of their properties";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "type-of-html" = callPackage
-    ({ mkDerivation, base, blaze-html, bytestring, criterion
-     , double-conversion, ghc-prim, hspec, QuickCheck, text
+    ({ mkDerivation, base, blaze-html, bytestring, criterion, deepseq
+     , double-conversion, ghc, ghc-paths, ghc-prim, hspec, QuickCheck
+     , random, temporary, text, weigh
+     }:
+     mkDerivation {
+       pname = "type-of-html";
+       version = "1.3.4.0";
+       sha256 = "11drppw8xl3wzjj5qks8mqrbl83yrj7c4r01s06v38bc319g8ksf";
+       libraryHaskellDepends = [
+         base bytestring double-conversion ghc-prim text
+       ];
+       testHaskellDepends = [ base hspec QuickCheck ];
+       benchmarkHaskellDepends = [
+         base blaze-html bytestring criterion deepseq ghc ghc-paths random
+         temporary text weigh
+       ];
+       homepage = "https://github.com/knupfer/type-of-html";
+       description = "High performance type driven html generation";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "type-of-html_1_4_0_0" = callPackage
+    ({ mkDerivation, base, blaze-html, bytestring, criterion, deepseq
+     , double-conversion, ghc, ghc-paths, ghc-prim, hspec, QuickCheck
+     , random, temporary, text, weigh
      }:
      mkDerivation {
        pname = "type-of-html";
-       version = "1.3.3.0";
-       sha256 = "0q3r2imr63nv7l08w6q850xqak4gwzvk43qv1vq8x9qwdaf1nisv";
+       version = "1.4.0.0";
+       sha256 = "09dr97illgfn11javij6nmqp3cvgdf7air7kavxcdlr25nx6wkd7";
        libraryHaskellDepends = [
          base bytestring double-conversion ghc-prim text
        ];
        testHaskellDepends = [ base hspec QuickCheck ];
        benchmarkHaskellDepends = [
-         base blaze-html bytestring criterion QuickCheck text
+         base blaze-html bytestring criterion deepseq ghc ghc-paths random
+         temporary text weigh
        ];
        homepage = "https://github.com/knupfer/type-of-html";
        description = "High performance type driven html generation";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "type-of-html-static" = callPackage
+    ({ mkDerivation, base, template-haskell, type-of-html }:
+     mkDerivation {
+       pname = "type-of-html-static";
+       version = "0.1.0.2";
+       sha256 = "00329zkxlbsjlwnw2pz2w6ahiam5c1k9j9fv2608wjfmxr8xkcr9";
+       libraryHaskellDepends = [ base template-haskell type-of-html ];
+       testHaskellDepends = [ base type-of-html ];
+       homepage = "https://github.com/knupfer/type-of-html-static";
+       description = "Optimize static parts of type-of-html";
+       license = stdenv.lib.licenses.bsd3;
      }) {};
 
   "type-operators" = callPackage
@@ -208893,19 +213887,37 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "type-tree" = callPackage
+    ({ mkDerivation, base, base-compat, Cabal, cabal-doctest
+     , containers, doctest, mtl, pretty, template-haskell, zenc
+     }:
+     mkDerivation {
+       pname = "type-tree";
+       version = "0.2.0.1";
+       sha256 = "1gwa8dklc9hipgwcx068p4a49m9hgjh97qp5q3p5yai6jdg24j94";
+       setupHaskellDepends = [ base Cabal cabal-doctest ];
+       libraryHaskellDepends = [
+         base base-compat containers mtl pretty template-haskell zenc
+       ];
+       testHaskellDepends = [ base doctest ];
+       homepage = "https://github.com/pikajude/type-tree";
+       description = "Tree representations of datatypes";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "type-unary" = callPackage
-    ({ mkDerivation, applicative-numbers, base, constraints, newtype
-     , ty, vector-space
+    ({ mkDerivation, applicative-numbers, base, constraints
+     , newtype-generics, ty, vector-space
      }:
      mkDerivation {
        pname = "type-unary";
-       version = "0.3.0";
-       sha256 = "1s84bw7fxxsqixy03892zb1s261fc0c8h5srsifs5mzgvhxkn20l";
-       revision = "1";
-       editedCabalFile = "03lz4iprlfl2bnh4isa2k7ddv1wxz8mqb7x1nmhjqbx34apbqi11";
+       version = "0.3.2";
+       sha256 = "12h20xjqr1abb5mb4fmij9j0vkfn7rwbidm2dr7ssbkk7cb5fv37";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
-         applicative-numbers base constraints newtype ty vector-space
+         applicative-numbers base constraints newtype-generics ty
+         vector-space
        ];
        homepage = "https://github.com/conal/type-unary";
        description = "Type-level and typed unary natural numbers, inequality proofs, vectors";
@@ -208948,8 +213960,8 @@ self: {
      }:
      mkDerivation {
        pname = "typed-process";
-       version = "0.2.1.0";
-       sha256 = "1l6wpkwnz4lriq1n0hxv3mdvzmrf44ddkb1ys8cyj3ywfn2xh56j";
+       version = "0.2.2.0";
+       sha256 = "0c6gvgvjyncbni9a5bvpbglknd4yclr3d3hfg9bhgahmkj40dva2";
        libraryHaskellDepends = [
          async base bytestring process stm transformers
        ];
@@ -208968,8 +213980,8 @@ self: {
      }:
      mkDerivation {
        pname = "typed-spreadsheet";
-       version = "1.1.1";
-       sha256 = "1ypnyny0dznq6nxjdr5v5lsk93pd2ly71plw0xpjbwa5jv3iwb1g";
+       version = "1.1.2";
+       sha256 = "10bbgyj6spc3c11fwgcrgk8yba97ijzkz82pabpf64r3xzr3pv2y";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -209091,13 +214103,18 @@ self: {
      }) {};
 
   "typelevel" = callPackage
-    ({ mkDerivation, base, pretty, pretty-show }:
+    ({ mkDerivation, base, constraints, convert, exceptions, lens, mtl
+     , pretty, pretty-show, primitive, transformers
+     }:
      mkDerivation {
        pname = "typelevel";
-       version = "1.0.4";
-       sha256 = "1hhx8zgsxpd5y2lp72c7dpyp7p678fjp63cqd14wiy9cdqd17j0w";
-       libraryHaskellDepends = [ base pretty pretty-show ];
-       homepage = "https://github.com/wdanilo/typelevel";
+       version = "1.2.2";
+       sha256 = "0baigk89rd5cdy35v3abvdwh7g11fnz2rpnzfy4ahr0q1lj395f5";
+       libraryHaskellDepends = [
+         base constraints convert exceptions lens mtl pretty pretty-show
+         primitive transformers
+       ];
+       homepage = "https://github.com/luna/typelevel";
        description = "Useful type level operations (type families and related operators)";
        license = stdenv.lib.licenses.asl20;
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -209128,31 +214145,14 @@ self: {
      }:
      mkDerivation {
        pname = "typelits-witnesses";
-       version = "0.2.3.0";
-       sha256 = "0311zz3anvngjgrgry2zij5jkb8mjxfcb8rvmrik06myq7wr4vm5";
-       libraryHaskellDepends = [
-         base base-compat constraints reflection transformers
-       ];
-       homepage = "https://github.com/mstksg/typelits-witnesses";
-       description = "Existential witnesses, singletons, and classes for operations on GHC TypeLits";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-
-  "typelits-witnesses_0_3_0_1" = callPackage
-    ({ mkDerivation, base, base-compat, constraints, reflection
-     , transformers
-     }:
-     mkDerivation {
-       pname = "typelits-witnesses";
-       version = "0.3.0.1";
-       sha256 = "0d2537dwz5kiq81amrj2v00bvlwjfkidlz45g1h96zv78mlw1l7c";
+       version = "0.3.0.2";
+       sha256 = "0k76ir1c6ga44cj3qmjcsnikzz2nnb2kyzkcirb3ila7yfgwc9kf";
        libraryHaskellDepends = [
          base base-compat constraints reflection transformers
        ];
        homepage = "https://github.com/mstksg/typelits-witnesses";
        description = "Existential witnesses, singletons, and classes for operations on GHC TypeLits";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "typeof" = callPackage
@@ -209220,8 +214220,8 @@ self: {
      }:
      mkDerivation {
        pname = "typesafe-precure";
-       version = "0.5.1.1";
-       sha256 = "0yg75dj3bfxpqzdqw8lk7ligs39dnlya93qcg9grlbav9jpzv38n";
+       version = "0.6.2.1";
+       sha256 = "0qa9vp1fg495b2ddzbdpivlzp0maap7jxqn2xd4z2rrxbrjdlhl2";
        libraryHaskellDepends = [
          aeson aeson-pretty autoexporter base bytestring dlist
          monad-skeleton template-haskell text th-data-compat
@@ -209312,8 +214312,8 @@ self: {
      }:
      mkDerivation {
        pname = "tz";
-       version = "0.1.3.0";
-       sha256 = "1h2w9pswfbnzpdm30xpgknhvfb1vs8ipyczpslrbsv6v6xhqh44p";
+       version = "0.1.3.1";
+       sha256 = "1ygzrkx01y1x729y7x2fs81gpcw69q6ijy4fxq00xsb0gff74m0b";
        libraryHaskellDepends = [
          base binary bytestring containers data-default deepseq
          template-haskell time tzdata vector
@@ -209485,8 +214485,8 @@ self: {
      }:
      mkDerivation {
        pname = "udbus";
-       version = "0.2.1";
-       sha256 = "0a7kksh99nll91q41z4xgrcwc8pnfm0p71bxw6yymcd7yb0v09fk";
+       version = "0.2.3";
+       sha256 = "1ifl280n2ib26j4h7h46av6k7ms0j1n2wy4shbqk5xli5bbj3k9n";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -209497,7 +214497,6 @@ self: {
        homepage = "http://github.com/vincenthz/hs-udbus";
        description = "Small DBus implementation";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "udbus-model" = callPackage
@@ -209512,7 +214511,6 @@ self: {
        homepage = "http://github.com/vincenthz/hs-udbus";
        description = "Model API for udbus introspection and definitions";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "udcode" = callPackage
@@ -209559,6 +214557,20 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "udp-streaming" = callPackage
+    ({ mkDerivation, base, bytestring, network, resourcet, streaming }:
+     mkDerivation {
+       pname = "udp-streaming";
+       version = "0.2.0.0";
+       sha256 = "18xamvak7zr4d826141jqkhs45ij2xgp4s5b2fn955prs0iq7bnb";
+       libraryHaskellDepends = [
+         base bytestring network resourcet streaming
+       ];
+       homepage = "https://hub.darcs.net/mihaigiurgeanu/udp-streaming";
+       description = "Streaming to and from UDP socket";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "uglymemo" = callPackage
     ({ mkDerivation, base, containers }:
      mkDerivation {
@@ -209642,8 +214654,8 @@ self: {
        pname = "uhttpc";
        version = "0.1.1.0";
        sha256 = "1knf8r8zq8nnidmbj1blazjxkpngczs55jjx0phnnxlc026ppynb";
-       revision = "2";
-       editedCabalFile = "02fzrhc3599am6nm9prm6q4anmwlgzjc2wx3hqf027z9i65zfhdq";
+       revision = "3";
+       editedCabalFile = "1s35m2mrcaamj0293yb78ya185fzm71zdx0jq62im7rc5fdhfiry";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -209739,8 +214751,8 @@ self: {
      }:
      mkDerivation {
        pname = "unagi-bloomfilter";
-       version = "0.1.1.0";
-       sha256 = "03ssvfcn2a6bwpifajrvd2bncb2ikim2zwg56xbjihn0hg2dinsc";
+       version = "0.1.1.2";
+       sha256 = "0i1dz2cb8ikgbqan8kg6gwnyyn3sp2g182xkx8anj6lxqjnzcckf";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -209786,8 +214798,8 @@ self: {
     ({ mkDerivation, base }:
      mkDerivation {
        pname = "unamb";
-       version = "0.2.5";
-       sha256 = "12cbqlc7qf2sf2m4zmisx06bcc104bwivnzq2df0jqdf09bg0n9k";
+       version = "0.2.7";
+       sha256 = "0v4c4zyr2fw6g86isa4n8mbflh7mwhzl70sp48mmpr1335n403xs";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base ];
@@ -209831,25 +214843,23 @@ self: {
      }) {};
 
   "unbound-generics" = callPackage
-    ({ mkDerivation, base, containers, contravariant, criterion
-     , deepseq, deepseq-generics, mtl, profunctors, QuickCheck, tasty
-     , tasty-hunit, tasty-quickcheck, template-haskell, transformers
-     , transformers-compat
+    ({ mkDerivation, ansi-wl-pprint, base, containers, contravariant
+     , criterion, deepseq, exceptions, mtl, profunctors, QuickCheck
+     , tasty, tasty-hunit, tasty-quickcheck, template-haskell
+     , transformers, transformers-compat
      }:
      mkDerivation {
        pname = "unbound-generics";
-       version = "0.3.1";
-       sha256 = "0h34gaxzk86vwrcwnxq18xwlv4q4kpig3jwbcgmcpj6ziqn6g18z";
+       version = "0.3.2";
+       sha256 = "1g691ijcn7yxmn7w0zmd4h9w8nr578jifg3yhlyckka2jm97f20g";
        libraryHaskellDepends = [
-         base containers contravariant deepseq mtl profunctors
-         template-haskell transformers transformers-compat
+         ansi-wl-pprint base containers contravariant deepseq exceptions mtl
+         profunctors template-haskell transformers transformers-compat
        ];
        testHaskellDepends = [
          base mtl QuickCheck tasty tasty-hunit tasty-quickcheck
        ];
-       benchmarkHaskellDepends = [
-         base criterion deepseq deepseq-generics
-       ];
+       benchmarkHaskellDepends = [ base criterion deepseq ];
        homepage = "http://github.com/lambdageek/unbound-generics";
        description = "Support for programming with names and binders using GHC Generics";
        license = stdenv.lib.licenses.bsd3;
@@ -209967,14 +214977,39 @@ self: {
        license = "unknown";
      }) {};
 
+  "unexceptionalio_0_4_0" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "unexceptionalio";
+       version = "0.4.0";
+       sha256 = "09gynk472l7nn5l2w320n4dwigwp0wh0shfp6dyw6r5h2jdxz18p";
+       libraryHaskellDepends = [ base ];
+       homepage = "https://github.com/singpolyma/unexceptionalio";
+       description = "IO without any non-error, synchronous exceptions";
+       license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "unexceptionalio-trans" = callPackage
+    ({ mkDerivation, base, transformers, unexceptionalio }:
+     mkDerivation {
+       pname = "unexceptionalio-trans";
+       version = "0.4.0";
+       sha256 = "19jzvxx0z4w7d1mp09spiz01sd349376hf5xkg8r2zfr8fx7hj71";
+       libraryHaskellDepends = [ base transformers unexceptionalio ];
+       homepage = "https://github.com/singpolyma/unexceptionalio-trans";
+       description = "A wrapper around UnexceptionalIO using monad transformers";
+       license = "unknown";
+     }) {};
+
   "unfoldable" = callPackage
     ({ mkDerivation, base, containers, ghc-prim, one-liner, QuickCheck
      , random, transformers
      }:
      mkDerivation {
        pname = "unfoldable";
-       version = "0.9.5";
-       sha256 = "0ll29dvizh8hqhqncrmzwzgbb1q9br2f7326r38dr7xmdpmpjsbn";
+       version = "0.9.6";
+       sha256 = "18gaay37mjgyd5rfpfs84p4q7vqdnv4lcjabaprgm315pblym46d";
        libraryHaskellDepends = [
          base containers ghc-prim one-liner QuickCheck random transformers
        ];
@@ -210224,21 +215259,20 @@ self: {
      }) {};
 
   "unicode-transforms" = callPackage
-    ({ mkDerivation, base, bitarray, bytestring, criterion, deepseq
-     , filepath, getopt-generics, optparse-applicative, path, path-io
+    ({ mkDerivation, base, bitarray, bytestring, deepseq, filepath
+     , gauge, getopt-generics, optparse-applicative, path, path-io
      , QuickCheck, split, text
      }:
      mkDerivation {
        pname = "unicode-transforms";
-       version = "0.3.3";
-       sha256 = "04ga6dhsz9x279w3ik2sjphgmr8s6y0wd0bpg37ymn5mxp68lx2r";
+       version = "0.3.4";
+       sha256 = "0lh8bj6kxvpkmc14qa34vdrmcsis82mvnq6gs11ddqyjlz5sr7l2";
        libraryHaskellDepends = [ base bitarray bytestring text ];
        testHaskellDepends = [
          base deepseq getopt-generics QuickCheck split text
        ];
        benchmarkHaskellDepends = [
-         base criterion deepseq filepath optparse-applicative path path-io
-         text
+         base deepseq filepath gauge optparse-applicative path path-io text
        ];
        homepage = "http://github.com/harendra-kumar/unicode-transforms";
        description = "Unicode normalization";
@@ -210335,8 +215369,8 @@ self: {
        pname = "union";
        version = "0.1.1.2";
        sha256 = "10nkcmql6ryh3vp02yxk3i1f6fbxdcsjk6s5ani89qa05448xqkw";
-       revision = "2";
-       editedCabalFile = "088dcgyg9bzm5qczcddssjfwywk9lsj10lq7byh4f9rnsf0jppna";
+       revision = "3";
+       editedCabalFile = "1llczfg153qqrkp2biqaa9qqyzy6li5cnxbyp5p24d7f2dr0d5fc";
        libraryHaskellDepends = [ base deepseq profunctors tagged vinyl ];
        benchmarkHaskellDepends = [ base criterion deepseq lens ];
        description = "Extensible type-safe unions";
@@ -210398,6 +215432,23 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "uniprot-kb" = callPackage
+    ({ mkDerivation, attoparsec, base, hspec, neat-interpolation
+     , QuickCheck, text
+     }:
+     mkDerivation {
+       pname = "uniprot-kb";
+       version = "0.1.2.0";
+       sha256 = "0hh6fnnmr6i4mgli07hgaagswdipa0p3ckr3jzzfcw4y5x98036l";
+       libraryHaskellDepends = [ attoparsec base text ];
+       testHaskellDepends = [
+         attoparsec base hspec neat-interpolation QuickCheck text
+       ];
+       homepage = "https://github.com/biocad/uniprot-kb#readme";
+       description = "UniProt-KB format parser";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "uniq-deep" = callPackage
     ({ mkDerivation, base, bytestring, containers }:
      mkDerivation {
@@ -210443,7 +215494,6 @@ self: {
        homepage = "http://hub.darcs.net/thielema/unique-logic/";
        description = "Solve simple simultaneous equations";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "unique-logic-tf" = callPackage
@@ -210463,7 +215513,6 @@ self: {
        homepage = "http://hub.darcs.net/thielema/unique-logic-tf/";
        description = "Solve simple simultaneous equations";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "uniqueid" = callPackage
@@ -210541,7 +215590,6 @@ self: {
        homepage = "https://github.com/goldfirere/units";
        description = "A domain-specific type system for dimensional analysis";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "units-attoparsec" = callPackage
@@ -210571,7 +215619,6 @@ self: {
        homepage = "http://github.com/goldfirere/units-defs";
        description = "Definitions for use with the units package";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "units-parser" = callPackage
@@ -210643,6 +215690,7 @@ self: {
        homepage = "https://github.com/bhurt/unitym#readme";
        description = "Implementation of the unity monad for the Yesod framework";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "universal-binary" = callPackage
@@ -210778,43 +215826,47 @@ self: {
      }) {};
 
   "universum" = callPackage
-    ({ mkDerivation, base, bytestring, containers, criterion, deepseq
-     , ghc-prim, hashable, microlens, microlens-mtl, mtl
-     , safe-exceptions, semigroups, stm, text, text-format, transformers
-     , type-operators, unordered-containers, utf8-string, vector
+    ({ mkDerivation, base, bytestring, containers, deepseq, doctest
+     , gauge, ghc-prim, Glob, hashable, hedgehog, microlens
+     , microlens-mtl, mtl, safe-exceptions, stm, tasty, tasty-hedgehog
+     , text, text-format, transformers, type-operators
+     , unordered-containers, utf8-string, vector
      }:
      mkDerivation {
        pname = "universum";
-       version = "1.0.0";
-       sha256 = "1wsglfacd2aqfxxri3hzs5zwxvfkn3kqb09icax1fncjmb0yc35w";
+       version = "1.1.1";
+       sha256 = "0l49k17f73hkywccvnir79iwlj7j7bb3p89j5kf5hdnk25biw2hq";
        libraryHaskellDepends = [
          base bytestring containers deepseq ghc-prim hashable microlens
          microlens-mtl mtl safe-exceptions stm text text-format transformers
          type-operators unordered-containers utf8-string vector
        ];
+       testHaskellDepends = [
+         base bytestring doctest Glob hedgehog tasty tasty-hedgehog text
+         utf8-string
+       ];
        benchmarkHaskellDepends = [
-         base containers criterion deepseq hashable mtl semigroups text
-         unordered-containers
+         base containers gauge unordered-containers
        ];
        homepage = "https://github.com/serokell/universum";
        description = "Custom prelude used in Serokell";
        license = stdenv.lib.licenses.mit;
      }) {};
 
-  "universum_1_1_0" = callPackage
-    ({ mkDerivation, base, bytestring, containers, criterion, deepseq
-     , doctest, ghc-prim, Glob, hashable, hedgehog, microlens
-     , microlens-mtl, mtl, safe-exceptions, semigroups, stm, tasty
-     , tasty-hedgehog, text, text-format, transformers, type-operators
-     , unordered-containers, utf8-string, vector
+  "universum_1_2_0" = callPackage
+    ({ mkDerivation, base, bytestring, containers, deepseq, doctest
+     , gauge, ghc-prim, Glob, hashable, hedgehog, microlens
+     , microlens-mtl, mtl, safe-exceptions, stm, tasty, tasty-hedgehog
+     , text, transformers, type-operators, unordered-containers
+     , utf8-string, vector
      }:
      mkDerivation {
        pname = "universum";
-       version = "1.1.0";
-       sha256 = "0k1gk9dba9f7w852m6y46gq1md3z0w29bgv4qy7xp3pk16h3axhp";
+       version = "1.2.0";
+       sha256 = "0645gvj1p33d0fnlk09i74l11sv11bidyv44hyb2m0dls22hr89p";
        libraryHaskellDepends = [
          base bytestring containers deepseq ghc-prim hashable microlens
-         microlens-mtl mtl safe-exceptions stm text text-format transformers
+         microlens-mtl mtl safe-exceptions stm text transformers
          type-operators unordered-containers utf8-string vector
        ];
        testHaskellDepends = [
@@ -210822,8 +215874,7 @@ self: {
          utf8-string
        ];
        benchmarkHaskellDepends = [
-         base containers criterion deepseq hashable mtl semigroups text
-         unordered-containers
+         base containers gauge unordered-containers
        ];
        homepage = "https://github.com/serokell/universum";
        description = "Custom prelude used in Serokell";
@@ -210980,15 +216031,16 @@ self: {
   "unjson" = callPackage
     ({ mkDerivation, aeson, attoparsec, base, bytestring, containers
      , free, hashable, HUnit, invariant, pretty, primitive, scientific
-     , text, time, unordered-containers, vector
+     , semigroups, text, time, unordered-containers, vector
      }:
      mkDerivation {
        pname = "unjson";
-       version = "0.15.0.0";
-       sha256 = "0ib7y7a4ham90hzy5anrhry7c1w8c847v39ygjj8556pq6j47nyg";
+       version = "0.15.2.0";
+       sha256 = "040s1b9frl0sj8saa9b0bzsnqhmb4vdrscff2jzzcdn0papn5rbj";
        libraryHaskellDepends = [
          aeson attoparsec base bytestring containers free hashable invariant
-         pretty primitive scientific text time unordered-containers vector
+         pretty primitive scientific semigroups text time
+         unordered-containers vector
        ];
        testHaskellDepends = [
          aeson attoparsec base bytestring containers free hashable HUnit
@@ -211016,19 +216068,19 @@ self: {
 
   "unliftio" = callPackage
     ({ mkDerivation, async, base, deepseq, directory, filepath, hspec
-     , stm, transformers, unix, unliftio-core
+     , process, stm, time, transformers, unix, unliftio-core
      }:
      mkDerivation {
        pname = "unliftio";
-       version = "0.2.4.0";
-       sha256 = "0vpncmwaq5zb6bziqfns4qdgxmq8ky0rlxna2yngxp170s5zxx9z";
+       version = "0.2.7.0";
+       sha256 = "0qql93lq5w7qghl454cc3s1i8v1jb4h08n82fqkw0kli4g3g9njs";
        libraryHaskellDepends = [
-         async base deepseq directory filepath stm transformers unix
-         unliftio-core
+         async base deepseq directory filepath process stm time transformers
+         unix unliftio-core
        ];
        testHaskellDepends = [
-         async base deepseq directory filepath hspec stm transformers unix
-         unliftio-core
+         async base deepseq directory filepath hspec process stm time
+         transformers unix unliftio-core
        ];
        homepage = "https://github.com/fpco/unliftio/tree/master/unliftio#readme";
        description = "The MonadUnliftIO typeclass for unlifting monads to IO (batteries included)";
@@ -211049,6 +216101,21 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "unliftio-pool" = callPackage
+    ({ mkDerivation, base, resource-pool, time, transformers
+     , unliftio-core
+     }:
+     mkDerivation {
+       pname = "unliftio-pool";
+       version = "0.2.0.0";
+       sha256 = "0alwn39ri4npgxfxvnv43bl8vfjhjl4ffcvv8l9nmrmzsh770p59";
+       libraryHaskellDepends = [
+         base resource-pool time transformers unliftio-core
+       ];
+       description = "Data.Pool generalized to MonadUnliftIO.";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "unlit" = callPackage
     ({ mkDerivation, base, directory, text }:
      mkDerivation {
@@ -211099,30 +216166,6 @@ self: {
      }:
      mkDerivation {
        pname = "unordered-containers";
-       version = "0.2.8.0";
-       sha256 = "1a7flszhhgyjn0nm9w7cm26jbf6vyx9ij1iij4sl11pjkwsqi8d4";
-       libraryHaskellDepends = [ base deepseq hashable ];
-       testHaskellDepends = [
-         base ChasingBottoms containers hashable HUnit QuickCheck
-         test-framework test-framework-hunit test-framework-quickcheck2
-       ];
-       benchmarkHaskellDepends = [
-         base bytestring containers criterion deepseq deepseq-generics
-         hashable hashmap mtl random
-       ];
-       homepage = "https://github.com/tibbe/unordered-containers";
-       description = "Efficient hashing-based container types";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "unordered-containers_0_2_9_0" = callPackage
-    ({ mkDerivation, base, bytestring, ChasingBottoms, containers
-     , criterion, deepseq, deepseq-generics, hashable, hashmap, HUnit
-     , mtl, QuickCheck, random, test-framework, test-framework-hunit
-     , test-framework-quickcheck2
-     }:
-     mkDerivation {
-       pname = "unordered-containers";
        version = "0.2.9.0";
        sha256 = "0l4264p0av12cc6i8gls13q8y27x12z2ar4x34n3x59y99fcnc37";
        libraryHaskellDepends = [ base deepseq hashable ];
@@ -211137,7 +216180,6 @@ self: {
        homepage = "https://github.com/tibbe/unordered-containers";
        description = "Efficient hashing-based container types";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "unordered-containers-rematch" = callPackage
@@ -211209,6 +216251,24 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "unpacked-containers" = callPackage
+    ({ mkDerivation, base, data-default-class, deepseq, ghc-prim }:
+     mkDerivation {
+       pname = "unpacked-containers";
+       version = "0";
+       sha256 = "17hm6r84kark7akn18lsvb0z6q5hcy4ap89nbkhxfhkchrqc6bfr";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base data-default-class deepseq ghc-prim
+       ];
+       executableHaskellDepends = [ base ];
+       doHaddock = false;
+       homepage = "http://github.com/ekmett/unpacked-containers/";
+       description = "Unpacked containers via backpack";
+       license = stdenv.lib.licenses.bsd2;
+     }) {};
+
   "unroll-ghc-plugin" = callPackage
     ({ mkDerivation, base, ghc }:
      mkDerivation {
@@ -211577,8 +216637,8 @@ self: {
     ({ mkDerivation, aeson, base, bytestring, text, uri-bytestring }:
      mkDerivation {
        pname = "uri-bytestring-aeson";
-       version = "0.1.0.4";
-       sha256 = "1nm9d3xq56rrjggky28q72n8afk5nh6m1bbi6j5z538qwccyg348";
+       version = "0.1.0.6";
+       sha256 = "02pgzkgmcam06qy1lqbmmjbah95b08hl5d5q61smmx78f83mzgfq";
        libraryHaskellDepends = [
          aeson base bytestring text uri-bytestring
        ];
@@ -211675,6 +216735,7 @@ self: {
        homepage = "https://github.com/luminescent-dreams/uri-parse#readme";
        description = "A simple library for parsing and generating URIs";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "uri-template" = callPackage
@@ -211834,8 +216895,8 @@ self: {
      }:
      mkDerivation {
        pname = "urlpath";
-       version = "7.0.1";
-       sha256 = "05n1lmd8dd71l2ghgrb3i7jsrh541nappwps5vqqppq2hvv90rpz";
+       version = "8.0.1";
+       sha256 = "04w5ivbvfbh60jsfdsmznvm5cxracslmr1hyqhf0qdva29vcxj4z";
        libraryHaskellDepends = [
          attoparsec-uri base exceptions mmorph monad-control
          monad-control-aligned monad-logger mtl path-extra resourcet split
@@ -211843,26 +216904,26 @@ self: {
        ];
        description = "Painfully simple URL deployment";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
-  "urlpath_8_0_1" = callPackage
+  "urlpath_9_0_0" = callPackage
     ({ mkDerivation, attoparsec-uri, base, exceptions, mmorph
-     , monad-control, monad-control-aligned, monad-logger, mtl
+     , monad-control, monad-control-aligned, monad-logger, mtl, path
      , path-extra, resourcet, split, strict, text, transformers
      , transformers-base, vector
      }:
      mkDerivation {
        pname = "urlpath";
-       version = "8.0.1";
-       sha256 = "04w5ivbvfbh60jsfdsmznvm5cxracslmr1hyqhf0qdva29vcxj4z";
+       version = "9.0.0";
+       sha256 = "1ysjhb42sk34j29xy7hgf9b4qp90p6hrkqcmwdalvsasbwk8kgwh";
        libraryHaskellDepends = [
          attoparsec-uri base exceptions mmorph monad-control
-         monad-control-aligned monad-logger mtl path-extra resourcet split
-         strict text transformers transformers-base vector
+         monad-control-aligned monad-logger mtl path path-extra resourcet
+         split strict text transformers transformers-base vector
        ];
+       homepage = "https://github.com/athanclark/urlpath#readme";
        description = "Painfully simple URL deployment";
-       license = stdenv.lib.licenses.mit;
+       license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
@@ -211923,8 +216984,8 @@ self: {
      }:
      mkDerivation {
        pname = "usb";
-       version = "1.3.0.5";
-       sha256 = "0r3v6w0nqcwz2vcaz0pdkfb8fs4ry2nlg9pfy77avv7mjwlvp7r1";
+       version = "1.3.0.6";
+       sha256 = "1ipjcm8kxhi0lhqhypnppn5jk7z70rnrybawxwhdij9gj4jz3bhh";
        libraryHaskellDepends = [
          base bindings-libusb bytestring containers ghc-prim text vector
        ];
@@ -212027,8 +217088,8 @@ self: {
      }:
      mkDerivation {
        pname = "userid";
-       version = "0.1.3.1";
-       sha256 = "12alrvzh1z15md5gbvci58xffw35g4626qr30v7cz6sz4pplfnb9";
+       version = "0.1.3.2";
+       sha256 = "0ym8r3jg7waypc74liv1v32sc1rv419axgbz97xznssb9wshcv3a";
        libraryHaskellDepends = [
          aeson base boomerang cereal safecopy web-routes web-routes-th
        ];
@@ -212197,15 +217258,45 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "utf8-validator" = callPackage
+    ({ mkDerivation, base, bytestring, criterion, tasty, tasty-hunit
+     , text, utf8-string
+     }:
+     mkDerivation {
+       pname = "utf8-validator";
+       version = "0.1.0.0";
+       sha256 = "1r4y6gvd4jqfqv4qz01bhq1r17lsi548p6sr1byvkj00nia0cyjk";
+       libraryHaskellDepends = [ base bytestring text ];
+       testHaskellDepends = [
+         base bytestring tasty tasty-hunit text utf8-string
+       ];
+       benchmarkHaskellDepends = [ base criterion ];
+       homepage = "https://github.com/edwardgeorge/utf8-validator#readme";
+       description = "Constant-space UTF8 validator for ByteStrings";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "util" = callPackage
     ({ mkDerivation, base }:
      mkDerivation {
        pname = "util";
-       version = "0.1.5.0";
-       sha256 = "0rll7fv31bamnqcy3hcm8vdgzz5wjzlqhvz5lnbp1gfymx43jrga";
+       version = "0.1.10.0";
+       sha256 = "1cp7vxhg6m02j7zj7z6zss38rsykrk596qakzczsxjx7yraxwdxb";
        libraryHaskellDepends = [ base ];
        description = "Utilities";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "util-exception" = callPackage
+    ({ mkDerivation, base, lifted-base, monad-control, util }:
+     mkDerivation {
+       pname = "util-exception";
+       version = "0.1.0.0";
+       sha256 = "0y1d1y421sx8imibi235zc2f3cpjgg9pl6wkmigrxn4q4nwigkbr";
+       libraryHaskellDepends = [ base lifted-base monad-control util ];
+       description = "Exceptional utilities";
+       license = stdenv.lib.licenses.bsd3;
      }) {};
 
   "util-plus" = callPackage
@@ -212261,7 +217352,6 @@ self: {
        homepage = "https://github.com/UU-ComputerScience/uu-cco";
        description = "Utilities for compiler construction: example programs";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "uu-cco-hut-parsing" = callPackage
@@ -212274,7 +217364,6 @@ self: {
        homepage = "https://github.com/UU-ComputerScience/uu-cco";
        description = "Utilities for compiler construction: Feedback wrapper around parser in uulib";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "uu-cco-uu-parsinglib" = callPackage
@@ -212360,7 +217449,6 @@ self: {
        homepage = "http://www.cs.uu.nl/wiki/HUT/WebHome";
        description = "Attribute Grammar System of Universiteit Utrecht";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "uuagc-bootstrap" = callPackage
@@ -212384,7 +217472,6 @@ self: {
        homepage = "http://www.cs.uu.nl/wiki/HUT/WebHome";
        description = "Attribute Grammar System of Universiteit Utrecht";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "uuagc-cabal" = callPackage
@@ -212401,7 +217488,6 @@ self: {
        homepage = "https://github.com/UU-ComputerScience/uuagc";
        description = "Cabal plugin for UUAGC";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "uuagc-diagrams" = callPackage
@@ -212482,8 +217568,8 @@ self: {
        pname = "uuid-crypto";
        version = "1.4.0.0";
        sha256 = "191da0bdgzbpibh7v2n2cg13gkq2vchsybad0qy9qixk0rzi1cvn";
-       revision = "2";
-       editedCabalFile = "0kw54wnzzxw6hjmj52735x9pya18ccmry2nf4nmlcv89ipb1vmly";
+       revision = "3";
+       editedCabalFile = "0av141dwy2hf9288nhz59jw8jp38rpbvbqfq3k5ifrzqsap9gr2x";
        libraryHaskellDepends = [
          base binary bytestring cryptoids cryptoids-class cryptoids-types
          exceptions uuid
@@ -212565,7 +217651,6 @@ self: {
        homepage = "https://github.com/UU-ComputerScience/uulib";
        description = "Haskell Utrecht Tools Library";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "uvector" = callPackage
@@ -212792,6 +217877,7 @@ self: {
        homepage = "https://github.com/agrafix/validate-input";
        description = "Input validation combinator library";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "validated-literals" = callPackage
@@ -212826,23 +217912,6 @@ self: {
      }:
      mkDerivation {
        pname = "validation";
-       version = "0.6.3";
-       sha256 = "07j4nxah790vbzn0jfkp9lgb4afr8zwi06a0xp5dw0xjdl0qja66";
-       libraryHaskellDepends = [
-         base bifunctors deepseq lens semigroupoids semigroups
-       ];
-       testHaskellDepends = [ base hedgehog HUnit lens semigroups ];
-       homepage = "https://github.com/qfpl/validation";
-       description = "A data-type like Either but with an accumulating Applicative";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "validation_1" = callPackage
-    ({ mkDerivation, base, bifunctors, deepseq, hedgehog, HUnit, lens
-     , semigroupoids, semigroups
-     }:
-     mkDerivation {
-       pname = "validation";
        version = "1";
        sha256 = "08drmdvyzg2frbb26icy1mlz52xv0l6gi3v8gb7xp0vrcci5libh";
        libraryHaskellDepends = [
@@ -212852,7 +217921,6 @@ self: {
        homepage = "https://github.com/qfpl/validation";
        description = "A data-type like Either but with an accumulating Applicative";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "validations" = callPackage
@@ -212908,6 +217976,20 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "validity_0_6_0_0" = callPackage
+    ({ mkDerivation, base, hspec }:
+     mkDerivation {
+       pname = "validity";
+       version = "0.6.0.0";
+       sha256 = "1ba7dvxz2x3ng4k221xawp0bz4gk4lz5gklklgypavp1fdrhf27q";
+       libraryHaskellDepends = [ base ];
+       testHaskellDepends = [ base hspec ];
+       homepage = "https://github.com/NorfairKing/validity#readme";
+       description = "Validity typeclass";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "validity-aeson" = callPackage
     ({ mkDerivation, aeson, base, validity, validity-scientific
      , validity-text, validity-unordered-containers, validity-vector
@@ -212925,6 +218007,24 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "validity-aeson_0_2_0_1" = callPackage
+    ({ mkDerivation, aeson, base, validity, validity-scientific
+     , validity-text, validity-unordered-containers, validity-vector
+     }:
+     mkDerivation {
+       pname = "validity-aeson";
+       version = "0.2.0.1";
+       sha256 = "001smpck69y4bmrzrykjvjnrwjllny83kh1l1c2fyy4zzjw14lpy";
+       libraryHaskellDepends = [
+         aeson base validity validity-scientific validity-text
+         validity-unordered-containers validity-vector
+       ];
+       homepage = "https://github.com/NorfairKing/validity#readme";
+       description = "Validity instances for aeson";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "validity-bytestring" = callPackage
     ({ mkDerivation, base, bytestring, validity }:
      mkDerivation {
@@ -212937,6 +218037,19 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "validity-bytestring_0_3_0_0" = callPackage
+    ({ mkDerivation, base, bytestring, validity }:
+     mkDerivation {
+       pname = "validity-bytestring";
+       version = "0.3.0.0";
+       sha256 = "1yxrpwxqn0262262j27sf1nb6iw6fnirypivnmpw0ghml28w7aym";
+       libraryHaskellDepends = [ base bytestring validity ];
+       homepage = "https://github.com/NorfairKing/validity#readme";
+       description = "Validity instances for bytestring";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "validity-containers" = callPackage
     ({ mkDerivation, base, containers, validity }:
      mkDerivation {
@@ -212949,6 +218062,19 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "validity-containers_0_3_0_0" = callPackage
+    ({ mkDerivation, base, containers, validity }:
+     mkDerivation {
+       pname = "validity-containers";
+       version = "0.3.0.0";
+       sha256 = "1jh2f46x5gwhb5i5bmqn1vdn27way0nk7q2gphyjb62zrg3d3zq5";
+       libraryHaskellDepends = [ base containers validity ];
+       homepage = "https://github.com/NorfairKing/validity#readme";
+       description = "Validity instances for containers";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "validity-path" = callPackage
     ({ mkDerivation, base, filepath, path, validity }:
      mkDerivation {
@@ -212961,6 +218087,24 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "validity-path_0_3_0_0" = callPackage
+    ({ mkDerivation, base, filepath, genvalidity-hspec, hspec, path
+     , validity
+     }:
+     mkDerivation {
+       pname = "validity-path";
+       version = "0.3.0.0";
+       sha256 = "1ijrzfk9jhlxxcdjqdq4cqz7ir7k7z9zrbamb18zai99hb6gg066";
+       libraryHaskellDepends = [ base filepath path validity ];
+       testHaskellDepends = [
+         base filepath genvalidity-hspec hspec path validity
+       ];
+       homepage = "https://github.com/NorfairKing/validity#readme";
+       description = "Validity instances for Path";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "validity-scientific" = callPackage
     ({ mkDerivation, base, scientific, validity }:
      mkDerivation {
@@ -212973,6 +218117,19 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "validity-scientific_0_2_0_0" = callPackage
+    ({ mkDerivation, base, scientific, validity }:
+     mkDerivation {
+       pname = "validity-scientific";
+       version = "0.2.0.0";
+       sha256 = "0l4mzrhn6yhqd6kz7rwfvrqxk0dhwvfkh40pfjyzbkg5mvd1drhh";
+       libraryHaskellDepends = [ base scientific validity ];
+       homepage = "https://github.com/NorfairKing/validity#readme";
+       description = "Validity instances for scientific";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "validity-text" = callPackage
     ({ mkDerivation, base, bytestring, text, validity }:
      mkDerivation {
@@ -212985,6 +218142,19 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "validity-text_0_3_0_0" = callPackage
+    ({ mkDerivation, base, bytestring, text, validity }:
+     mkDerivation {
+       pname = "validity-text";
+       version = "0.3.0.0";
+       sha256 = "190gkwa3b4rnhmah9idivvrv0val4crv8y3qy9s0aa44kpcj2b8m";
+       libraryHaskellDepends = [ base bytestring text validity ];
+       homepage = "https://github.com/NorfairKing/validity#readme";
+       description = "Validity instances for text";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "validity-time" = callPackage
     ({ mkDerivation, base, time, validity }:
      mkDerivation {
@@ -212997,6 +218167,19 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "validity-time_0_2_0_0" = callPackage
+    ({ mkDerivation, base, time, validity }:
+     mkDerivation {
+       pname = "validity-time";
+       version = "0.2.0.0";
+       sha256 = "0rp1y2xq3h18ji3vaiv3w76kkdyql5y8xxxz730za6mrf1ffbnk4";
+       libraryHaskellDepends = [ base time validity ];
+       homepage = "https://github.com/NorfairKing/validity#readme";
+       description = "Validity instances for time";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "validity-unordered-containers" = callPackage
     ({ mkDerivation, base, hashable, unordered-containers, validity }:
      mkDerivation {
@@ -213011,6 +218194,21 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "validity-unordered-containers_0_2_0_0" = callPackage
+    ({ mkDerivation, base, hashable, unordered-containers, validity }:
+     mkDerivation {
+       pname = "validity-unordered-containers";
+       version = "0.2.0.0";
+       sha256 = "08jw6acvi016lxkw6rzxfxfcx56nwfi6ka52flkq2ks8038y3syy";
+       libraryHaskellDepends = [
+         base hashable unordered-containers validity
+       ];
+       homepage = "https://github.com/NorfairKing/validity#readme";
+       description = "Validity instances for unordered-containers";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "validity-uuid" = callPackage
     ({ mkDerivation, base, uuid, validity }:
      mkDerivation {
@@ -213023,6 +218221,19 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "validity-uuid_0_1_0_0" = callPackage
+    ({ mkDerivation, base, uuid, validity }:
+     mkDerivation {
+       pname = "validity-uuid";
+       version = "0.1.0.0";
+       sha256 = "129h7cjgixq6l29n3y66zcx5ynfnxz3prqkgf2028f6w4mhd0154";
+       libraryHaskellDepends = [ base uuid validity ];
+       homepage = "https://github.com/NorfairKing/validity#readme";
+       description = "Validity instances for uuid";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "validity-vector" = callPackage
     ({ mkDerivation, base, hashable, validity, vector }:
      mkDerivation {
@@ -213035,6 +218246,19 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "validity-vector_0_2_0_0" = callPackage
+    ({ mkDerivation, base, hashable, validity, vector }:
+     mkDerivation {
+       pname = "validity-vector";
+       version = "0.2.0.0";
+       sha256 = "0kyyrcwxial9csyx40vrl0frz5yrmzqhjpy1cz8afsc7r4ph12yi";
+       libraryHaskellDepends = [ base hashable validity vector ];
+       homepage = "https://github.com/NorfairKing/validity#readme";
+       description = "Validity instances for vector";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "value-supply" = callPackage
     ({ mkDerivation, base }:
      mkDerivation {
@@ -213207,8 +218431,8 @@ self: {
      }:
      mkDerivation {
        pname = "vault-tool";
-       version = "0.0.0.3";
-       sha256 = "0gs6qjahb3xl59cpbwcaqxsbzg28yw80fjyziqfd0s3vca4c9abm";
+       version = "0.1.0.0";
+       sha256 = "00hnbd34chi7nm8vwq80vhl0629gklfkyfwic80q7i17kzsdvx90";
        libraryHaskellDepends = [
          aeson base bytestring http-client http-client-tls http-types text
          unordered-containers
@@ -213224,8 +218448,8 @@ self: {
      }:
      mkDerivation {
        pname = "vault-tool-server";
-       version = "0.0.0.3";
-       sha256 = "07j25ksqk5fnyp3gnp79jj4l3ax3y5wf29s2kwkq9r2pjb8577g4";
+       version = "0.1.0.0";
+       sha256 = "06h4cslkb54p3yydcnkzlzysn54cy801i5fwc02hc4gi3kvia84k";
        libraryHaskellDepends = [
          aeson async base bytestring filepath http-client process temporary
          text vault-tool
@@ -213352,6 +218576,7 @@ self: {
        ];
        description = "A package to parse VCF files inspired in similar python libraries";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "vcs-revision" = callPackage
@@ -213427,19 +218652,19 @@ self: {
      }) {};
 
   "vec" = callPackage
-    ({ mkDerivation, adjunctions, base, base-compat, boring, criterion
-     , deepseq, distributive, fin, hashable, inspection-testing, lens
-     , semigroupoids, semigroups, tagged, vector
+    ({ mkDerivation, adjunctions, base, base-compat, criterion, deepseq
+     , distributive, fin, hashable, inspection-testing, lens
+     , semigroupoids, tagged, vector
      }:
      mkDerivation {
        pname = "vec";
-       version = "0";
-       sha256 = "1h4s4j10z94mjdifyibpnc7zzq6a8xklbzj164ck8hdq8fp7qj52";
+       version = "0.1";
+       sha256 = "0m70ld5vy96vca4wdm45q1ixwznl3yfj8jzil2kjfkzzac5fym5y";
        revision = "1";
-       editedCabalFile = "086vxqpskjgjqy65pckivw9flp8vk14zz1cvd3pxdh5hp5dfxlam";
+       editedCabalFile = "0ffzb4jps0grlpbq99vx30cp4g7mad87mwcng3s1w6xqa96xr6xh";
        libraryHaskellDepends = [
-         adjunctions base base-compat boring deepseq distributive fin
-         hashable lens semigroupoids semigroups
+         adjunctions base base-compat deepseq distributive fin hashable lens
+         semigroupoids
        ];
        testHaskellDepends = [ base fin inspection-testing tagged ];
        benchmarkHaskellDepends = [ base criterion fin vector ];
@@ -213577,6 +218802,8 @@ self: {
        pname = "vector-binary-instances";
        version = "0.2.4";
        sha256 = "1y236jb72iab9ska1mc48z6yb0xgwmj45laaqdyjxksd84z7hbrb";
+       revision = "1";
+       editedCabalFile = "196frl4akhfk7xf1nxzn8lmq99dxhzhsimanswn9yy7ym8zhki4i";
        libraryHaskellDepends = [ base binary vector ];
        testHaskellDepends = [ base binary tasty tasty-quickcheck vector ];
        benchmarkHaskellDepends = [
@@ -213698,6 +218925,8 @@ self: {
        pname = "vector-fftw";
        version = "0.1.3.8";
        sha256 = "0xlr4566hh6lnpinzrk623a96jnb8mp8mq6cymlsl8y38qx36jp6";
+       revision = "1";
+       editedCabalFile = "0417f7grdvs3ws508a7k9ngpnisw7f7b6bcmmasflvvr66m6166f";
        libraryHaskellDepends = [ base primitive storable-complex vector ];
        librarySystemDepends = [ fftw ];
        homepage = "http://hackage.haskell.org/package/vector-fftw";
@@ -213808,30 +219037,51 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "vector-shuffling" = callPackage
+    ({ mkDerivation, base, random, vector }:
+     mkDerivation {
+       pname = "vector-shuffling";
+       version = "1.1";
+       sha256 = "04kpp7529jd4avhprfxdy6nfikx3d3ans0knhz3lspms4iky068i";
+       libraryHaskellDepends = [ base random vector ];
+       homepage = "https://github.com/metrix-ai/vector-shuffling";
+       description = "Algorithms for vector shuffling";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "vector-sized" = callPackage
     ({ mkDerivation, base, deepseq, finite-typelits, vector }:
      mkDerivation {
        pname = "vector-sized";
        version = "0.6.1.0";
        sha256 = "08bqyvkxs2bbbm5ljsymj178iiqp6izzbchlzav7hmwmj893wvjd";
+       revision = "1";
+       editedCabalFile = "0lcm7gdzqnp5v0rfd9f611yspa493j4azdj3gzy71398z3zda5w4";
        libraryHaskellDepends = [ base deepseq finite-typelits vector ];
        homepage = "http://github.com/expipiplus1/vector-sized#readme";
        description = "Size tagged vectors";
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "vector-space" = callPackage
-    ({ mkDerivation, base, Boolean, MemoTrie, NumInstances }:
+  "vector-sized_1_0_1_0" = callPackage
+    ({ mkDerivation, adjunctions, base, deepseq, distributive
+     , finite-typelits, indexed-list-literals, primitive, vector
+     }:
      mkDerivation {
-       pname = "vector-space";
-       version = "0.12";
-       sha256 = "16nzp2m6pcbqp27dm54v9a009j7jdjkrhw2hm1rgvh5jh4alyzi3";
-       libraryHaskellDepends = [ base Boolean MemoTrie NumInstances ];
-       description = "Vector & affine spaces, linear maps, and derivatives";
+       pname = "vector-sized";
+       version = "1.0.1.0";
+       sha256 = "0p3bwqdz3k1a3ya7bj80d6crpbsk62wcvl6rkpkr0snqh4zq87zl";
+       libraryHaskellDepends = [
+         adjunctions base deepseq distributive finite-typelits
+         indexed-list-literals primitive vector
+       ];
+       homepage = "http://github.com/expipiplus1/vector-sized#readme";
+       description = "Size tagged vectors";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
-  "vector-space_0_13" = callPackage
+  "vector-space" = callPackage
     ({ mkDerivation, base, Boolean, MemoTrie, NumInstances }:
      mkDerivation {
        pname = "vector-space";
@@ -213840,7 +219090,6 @@ self: {
        libraryHaskellDepends = [ base Boolean MemoTrie NumInstances ];
        description = "Vector & affine spaces, linear maps, and derivatives";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "vector-space-map" = callPackage
@@ -213881,8 +219130,8 @@ self: {
        pname = "vector-space-points";
        version = "0.2.1.2";
        sha256 = "0jqiy7b3hy21c0imqxbzvcx0hxy33bh97bv47bpv099dx32d7spy";
-       revision = "3";
-       editedCabalFile = "07jrxmjw7yzrgkncam4axy3b3j5iha1d632kyd24n805b6p7vym3";
+       revision = "4";
+       editedCabalFile = "1bw8l4nlxsx2nlam9kry60k75vszfx9zxr8zj0mcb3r0r7s178mx";
        libraryHaskellDepends = [ base vector-space ];
        description = "A type for points, as distinct from vectors";
        license = stdenv.lib.licenses.bsd3;
@@ -213929,6 +219178,23 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "vector-text" = callPackage
+    ({ mkDerivation, base, binary, prologue, text, vector
+     , vector-binary-instances
+     }:
+     mkDerivation {
+       pname = "vector-text";
+       version = "1.1.3";
+       sha256 = "00x35fv78vp8rffvd7hsccl8vdxzzdzjrqzwvj0mr6g1wmg3p4i3";
+       libraryHaskellDepends = [
+         base binary prologue text vector vector-binary-instances
+       ];
+       homepage = "https://github.com/luna/vector-text";
+       description = "Text implementation based on unboxed char vector";
+       license = stdenv.lib.licenses.asl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "vector-th-unbox" = callPackage
     ({ mkDerivation, base, data-default, template-haskell, vector }:
      mkDerivation {
@@ -213942,55 +219208,60 @@ self: {
      }) {};
 
   "vectortiles" = callPackage
-    ({ mkDerivation, base, bytestring, cereal, containers, criterion
-     , deepseq, hex, microlens, microlens-platform, protobuf, tasty
-     , tasty-hunit, text, transformers, vector
+    ({ mkDerivation, base, bytestring, containers, criterion, deepseq
+     , hashable, hex, microlens, microlens-platform, protocol-buffers
+     , protocol-buffers-descriptor, tasty, tasty-hunit, text
+     , transformers, unordered-containers, vector
      }:
      mkDerivation {
        pname = "vectortiles";
-       version = "1.2.0.6";
-       sha256 = "1l3sdd1cpcx9lxqcfzy9nndflzf8x2z7xayrj6k18zdf862dbxn7";
+       version = "1.3.0";
+       sha256 = "1hvnk2b3g6dm58az7wyl8bcq4h8s0fkz0v0pig9gpad5smkmgjk0";
+       revision = "2";
+       editedCabalFile = "0c3xkk3xks9c4kn1l6d58v0qsg7q3pdjwdwgpwd93npcjl3isc19";
        libraryHaskellDepends = [
-         base bytestring cereal containers deepseq protobuf text
-         transformers vector
+         base bytestring containers deepseq hashable protocol-buffers
+         protocol-buffers-descriptor text transformers unordered-containers
+         vector
        ];
        testHaskellDepends = [
-         base bytestring cereal containers hex protobuf tasty tasty-hunit
-         text vector
+         base bytestring containers hashable hex protocol-buffers
+         protocol-buffers-descriptor tasty tasty-hunit text
+         unordered-containers vector
        ];
        benchmarkHaskellDepends = [
-         base bytestring cereal containers criterion microlens
-         microlens-platform protobuf text vector
+         base bytestring containers criterion hashable microlens
+         microlens-platform protocol-buffers protocol-buffers-descriptor
+         text unordered-containers vector
        ];
        homepage = "https://github.com/fosskers/vectortiles";
        description = "GIS Vector Tiles, as defined by Mapbox";
-       license = stdenv.lib.licenses.asl20;
-       hydraPlatforms = stdenv.lib.platforms.none;
+       license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "vectortiles_1_3_0" = callPackage
+  "vectortiles_1_4_0" = callPackage
     ({ mkDerivation, base, bytestring, containers, criterion, deepseq
-     , hashable, hex, microlens, microlens-platform, protocol-buffers
-     , protocol-buffers-descriptor, tasty, tasty-hunit, text
-     , transformers, unordered-containers, vector
+     , hashable, hex, microlens, microlens-platform, mtl
+     , protocol-buffers, protocol-buffers-descriptor, tasty, tasty-hunit
+     , text, transformers, unordered-containers, vector
      }:
      mkDerivation {
        pname = "vectortiles";
-       version = "1.3.0";
-       sha256 = "1hvnk2b3g6dm58az7wyl8bcq4h8s0fkz0v0pig9gpad5smkmgjk0";
+       version = "1.4.0";
+       sha256 = "1h0mx5sl379486panyxpanld8qrlhak9knhz7jzqqv7is3rw8g1r";
        libraryHaskellDepends = [
-         base bytestring containers deepseq hashable protocol-buffers
+         base bytestring containers deepseq hashable mtl protocol-buffers
          protocol-buffers-descriptor text transformers unordered-containers
          vector
        ];
        testHaskellDepends = [
-         base bytestring containers hashable hex protocol-buffers
+         base bytestring containers hashable hex mtl protocol-buffers
          protocol-buffers-descriptor tasty tasty-hunit text
          unordered-containers vector
        ];
        benchmarkHaskellDepends = [
          base bytestring containers criterion hashable microlens
-         microlens-platform protocol-buffers protocol-buffers-descriptor
+         microlens-platform mtl protocol-buffers protocol-buffers-descriptor
          text unordered-containers vector
        ];
        homepage = "https://github.com/fosskers/vectortiles";
@@ -214083,6 +219354,7 @@ self: {
        ];
        description = "A new Haskeleton package";
        license = stdenv.lib.licenses.isc;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "verilog" = callPackage
@@ -214105,8 +219377,8 @@ self: {
      }:
      mkDerivation {
        pname = "versions";
-       version = "3.3.1";
-       sha256 = "0d94gkhx8b1w34mw05sidwvmysyb1z3p985nrrfaqzsp4xjqg0h4";
+       version = "3.3.2";
+       sha256 = "1w4b6a9dvl69bw132nic40a65y2142z1qzzg1qxgylwarfwqmsfg";
        libraryHaskellDepends = [ base deepseq hashable megaparsec text ];
        testHaskellDepends = [
          base checkers microlens QuickCheck tasty tasty-hunit
@@ -214125,8 +219397,8 @@ self: {
      }:
      mkDerivation {
        pname = "vgrep";
-       version = "0.2.1.0";
-       sha256 = "0k74bpi995wqxmin6h7bx3yjiwh403c708yjp19igbw1971irxjr";
+       version = "0.2.2.0";
+       sha256 = "11kcf59c1raqj4mwwjhr9435sqilgxgmryq1kimgra2j64ldyl3k";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -214144,7 +219416,6 @@ self: {
        homepage = "http://github.com/fmthoma/vgrep#readme";
        description = "A pager for grep";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "vhd" = callPackage
@@ -214207,8 +219478,8 @@ self: {
      }:
      mkDerivation {
        pname = "viewprof";
-       version = "0.0.0.13";
-       sha256 = "1ichcff012k1f9cqk01sixv3yx52krnhjfnw73yw06kacpd7i74z";
+       version = "0.0.0.17";
+       sha256 = "0wj0y6dyyy11flkywv96m95nq0qlmj4wykfwj4xw8fwjjmsmg91f";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -214283,8 +219554,8 @@ self: {
      }:
      mkDerivation {
        pname = "vimeta";
-       version = "0.2.3.0";
-       sha256 = "0023jrn5my1wgyspf4nq4m3xr7i4w277p4328j6l8hq7fda04ig4";
+       version = "0.2.4.0";
+       sha256 = "1pa1l1rirj19cnvdaqkf5jscsfkfyam60yk3gqiypbpd102zas6d";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -214372,6 +219643,27 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "vinyl_0_8_1_1" = callPackage
+    ({ mkDerivation, array, base, criterion, doctest, ghc-prim, hspec
+     , lens, linear, microlens, mwc-random, primitive
+     , should-not-typecheck, singletons, tagged, vector
+     }:
+     mkDerivation {
+       pname = "vinyl";
+       version = "0.8.1.1";
+       sha256 = "0gwgsk7xf64291s6crvzlry1bvcvwaqmvxpl605id4bb099kqfnh";
+       libraryHaskellDepends = [ array base ghc-prim ];
+       testHaskellDepends = [
+         base doctest hspec lens microlens should-not-typecheck singletons
+       ];
+       benchmarkHaskellDepends = [
+         base criterion linear microlens mwc-random primitive tagged vector
+       ];
+       description = "Extensible Records";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "vinyl-gl" = callPackage
     ({ mkDerivation, base, containers, GLUtil, HUnit, linear, OpenGL
      , tagged, test-framework, test-framework-hunit, transformers
@@ -214379,8 +219671,8 @@ self: {
      }:
      mkDerivation {
        pname = "vinyl-gl";
-       version = "0.3.2";
-       sha256 = "1g81dbcarbllij1h197j0g1x65jb4pcd8qwfwza9i4jn4sfmgps1";
+       version = "0.3.3";
+       sha256 = "09nd2v7550ivgjfby3kd27rf4b5b5ih8l7nx6v5h7r9s42vadb0r";
        libraryHaskellDepends = [
          base containers GLUtil linear OpenGL tagged transformers vector
          vinyl
@@ -214457,7 +219749,6 @@ self: {
        homepage = "https://github.com/marcinmrotek/vinyl-utils";
        description = "Utilities for vinyl";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "vinyl-vectors" = callPackage
@@ -214702,6 +219993,28 @@ self: {
        license = stdenv.lib.licenses.publicDomain;
      }) {};
 
+  "voicebase" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, HsOpenSSL, http-client
+     , http-client-openssl, json-autotype, lens, mime-types, options
+     , text, wreq
+     }:
+     mkDerivation {
+       pname = "voicebase";
+       version = "0.1.1.1";
+       sha256 = "1nc2cmfmdalggb7f9xw4xrhms31cky478wxxkq50as6bryl3k3q3";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson base bytestring HsOpenSSL http-client http-client-openssl
+         json-autotype lens mime-types text wreq
+       ];
+       executableHaskellDepends = [ base bytestring mime-types options ];
+       testHaskellDepends = [ base ];
+       homepage = "https://bitbucket.org/daisee/voicebase";
+       description = "Upload audio files to voicebase to get a transcription";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "void" = callPackage
     ({ mkDerivation, base }:
      mkDerivation {
@@ -214754,6 +220067,23 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "vpq" = callPackage
+    ({ mkDerivation, base, primitive, smallcheck, tasty
+     , tasty-smallcheck, util, vector
+     }:
+     mkDerivation {
+       pname = "vpq";
+       version = "0.1.0.0";
+       sha256 = "1qa3l71ch96slan8s2zx9wc4ljsl4jgl83m7h0rfb9nd9cawflf7";
+       revision = "1";
+       editedCabalFile = "16wnqvfblg8gimixc9pjdii4anbqjlkn12xrb6aw3sqk26pq7khb";
+       libraryHaskellDepends = [ base primitive util vector ];
+       testHaskellDepends = [ base smallcheck tasty tasty-smallcheck ];
+       description = "Priority queue based on vector";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "vrpn" = callPackage
     ({ mkDerivation, base, vrpn }:
      mkDerivation {
@@ -214819,8 +220149,10 @@ self: {
      }:
      mkDerivation {
        pname = "vty";
-       version = "5.19.2";
-       sha256 = "158afcgzcwq7ybjw7jk28q799xzpns47m1l4sivc3wrrfklqh7xz";
+       version = "5.20";
+       sha256 = "0l9xlk4z8xlkd7qzhzkj4l0qb2gwl27mabr2hhkpz3yfv7z6j0a3";
+       revision = "1";
+       editedCabalFile = "01awxbjxls9v9jh7d7mic7lzmaabsx8g9lqks8fbrjixhka321fl";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -214843,7 +220175,7 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "vty_5_20" = callPackage
+  "vty_5_21" = callPackage
     ({ mkDerivation, base, blaze-builder, bytestring, Cabal, containers
      , deepseq, directory, filepath, hashable, HUnit, microlens
      , microlens-mtl, microlens-th, mtl, parallel, parsec, QuickCheck
@@ -214854,8 +220186,8 @@ self: {
      }:
      mkDerivation {
        pname = "vty";
-       version = "5.20";
-       sha256 = "0l9xlk4z8xlkd7qzhzkj4l0qb2gwl27mabr2hhkpz3yfv7z6j0a3";
+       version = "5.21";
+       sha256 = "0nvsjc5awr6kwrsv02sz64vgza6g8phk9g6g07dx1sm2yfsvhyas";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -214951,12 +220283,12 @@ self: {
      }) {};
 
   "vulkan" = callPackage
-    ({ mkDerivation, base, vector-sized, vulkan }:
+    ({ mkDerivation, base, cpphs, vector-sized, vulkan }:
      mkDerivation {
        pname = "vulkan";
-       version = "1.7.0.0";
-       sha256 = "0rg9hv04j62z0ab2dg23qk09hkx4hnniwjmkqkv83vmdc5q47j0p";
-       libraryHaskellDepends = [ base vector-sized ];
+       version = "2.1.0.0";
+       sha256 = "1w19ip6qc5qbscp06a2b58x9yhjc98naaq1gxymk7gs3iagylrzq";
+       libraryHaskellDepends = [ base cpphs vector-sized ];
        librarySystemDepends = [ vulkan ];
        homepage = "http://github.com/expipiplus1/vulkan#readme";
        description = "Bindings to the Vulkan graphics API";
@@ -214965,17 +220297,17 @@ self: {
      }) {vulkan = null;};
 
   "vulkan-api" = callPackage
-    ({ mkDerivation, base, ghc-prim, vulkan }:
+    ({ mkDerivation, base }:
      mkDerivation {
        pname = "vulkan-api";
-       version = "0.1.0.1";
-       sha256 = "192bid9aqndn7lh3vdvk2mhqc76z5fw2z4v362n2bjhdaadwipld";
-       libraryHaskellDepends = [ base ghc-prim ];
-       librarySystemDepends = [ vulkan ];
-       homepage = "https://github.com/achirkin/genvulkan#readme";
+       version = "1.1.2.1";
+       sha256 = "0iwzjr2w6ifsj6lah8viahsxcqxiqy0dk1v6lnzi77nb05sjpr6d";
+       libraryHaskellDepends = [ base ];
+       homepage = "https://github.com/achirkin/vulkan#readme";
        description = "Low-level low-overhead vulkan api bindings";
        license = stdenv.lib.licenses.bsd3;
-     }) {vulkan = null;};
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
 
   "wacom-daemon" = callPackage
     ({ mkDerivation, aeson, base, bytestring, containers, directory
@@ -215049,19 +220381,18 @@ self: {
      }) {};
 
   "wai" = callPackage
-    ({ mkDerivation, base, blaze-builder, bytestring
-     , bytestring-builder, hspec, http-types, network, text
-     , transformers, vault
+    ({ mkDerivation, base, bytestring, hspec, hspec-discover
+     , http-types, network, text, transformers, vault
      }:
      mkDerivation {
        pname = "wai";
-       version = "3.2.1.1";
-       sha256 = "08afasnirja21vr0bmzcywz4w29x736dmdv7h8nnh1l8bn7sd02x";
+       version = "3.2.1.2";
+       sha256 = "0jr3b2789wa4m6mxkz12ynz4lfsqmgbrcy0am8karyqr3x3528r8";
        libraryHaskellDepends = [
-         base blaze-builder bytestring bytestring-builder http-types network
-         text transformers vault
+         base bytestring http-types network text transformers vault
        ];
-       testHaskellDepends = [ base blaze-builder bytestring hspec ];
+       testHaskellDepends = [ base bytestring hspec ];
+       testToolDepends = [ hspec-discover ];
        homepage = "https://github.com/yesodweb/wai";
        description = "Web Application Interface";
        license = stdenv.lib.licenses.mit;
@@ -215090,20 +220421,19 @@ self: {
 
   "wai-app-file-cgi" = callPackage
     ({ mkDerivation, array, attoparsec, attoparsec-conduit, base
-     , blaze-builder, blaze-html, bytestring, case-insensitive, conduit
-     , conduit-extra, containers, data-default-class, directory, doctest
-     , filepath, hspec, HTTP, http-client, http-conduit, http-date
-     , http-types, io-choice, lifted-base, mime-types, network, process
-     , sockaddr, static-hash, text, transformers, unix, wai, wai-conduit
-     , warp, word8
+     , bytestring, case-insensitive, conduit, conduit-extra, containers
+     , data-default-class, directory, doctest, filepath, hspec, HTTP
+     , http-client, http-conduit, http-date, http-types, io-choice
+     , lifted-base, mime-types, network, process, sockaddr, static-hash
+     , text, transformers, unix, wai, wai-conduit, warp, word8
      }:
      mkDerivation {
        pname = "wai-app-file-cgi";
-       version = "3.1.4";
-       sha256 = "1gcrfcvll4lpd8qrpcai00cn2zs8ql46z1chlqkbi7jk31r14qy0";
+       version = "3.1.6";
+       sha256 = "1w2hmy0q8dvg575sxmc69f9x7pcf1fx6lypzxsaxyfyazvhi4krc";
        libraryHaskellDepends = [
-         array attoparsec attoparsec-conduit base blaze-builder blaze-html
-         bytestring case-insensitive conduit conduit-extra containers
+         array attoparsec attoparsec-conduit base bytestring
+         case-insensitive conduit conduit-extra containers
          data-default-class directory filepath http-client http-conduit
          http-date http-types io-choice lifted-base mime-types network
          process sockaddr static-hash text transformers unix wai wai-conduit
@@ -215119,25 +220449,25 @@ self: {
      }) {};
 
   "wai-app-static" = callPackage
-    ({ mkDerivation, base, blaze-builder, blaze-html, blaze-markup
-     , bytestring, containers, cryptonite, directory, file-embed
-     , filepath, hspec, http-date, http-types, memory, mime-types
-     , mockery, network, old-locale, optparse-applicative
-     , template-haskell, temporary, text, time, transformers
-     , unix-compat, unordered-containers, wai, wai-extra, warp, zlib
+    ({ mkDerivation, base, blaze-html, blaze-markup, bytestring
+     , containers, cryptonite, directory, file-embed, filepath, hspec
+     , http-date, http-types, memory, mime-types, mockery, network
+     , old-locale, optparse-applicative, template-haskell, temporary
+     , text, time, transformers, unix-compat, unordered-containers, wai
+     , wai-extra, warp, zlib
      }:
      mkDerivation {
        pname = "wai-app-static";
-       version = "3.1.6.1";
-       sha256 = "0s36i0ca440l78d35isaam98z9x0dc0llx0ry48r901f3vrsq65k";
+       version = "3.1.6.2";
+       sha256 = "0gnwq6ad5m8w8sqq4dzpz23l5rjdphfsf8h9h27lrvv1prkabc6h";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         base blaze-builder blaze-html blaze-markup bytestring containers
-         cryptonite directory file-embed filepath http-date http-types
-         memory mime-types old-locale optparse-applicative template-haskell
-         text time transformers unix-compat unordered-containers wai
-         wai-extra warp zlib
+         base blaze-html blaze-markup bytestring containers cryptonite
+         directory file-embed filepath http-date http-types memory
+         mime-types old-locale optparse-applicative template-haskell text
+         time transformers unix-compat unordered-containers wai wai-extra
+         warp zlib
        ];
        executableHaskellDepends = [
          base bytestring containers directory mime-types text
@@ -215172,15 +220502,15 @@ self: {
      }) {};
 
   "wai-conduit" = callPackage
-    ({ mkDerivation, base, blaze-builder, bytestring, conduit
-     , http-types, transformers, wai
+    ({ mkDerivation, base, bytestring, conduit, http-types
+     , transformers, wai
      }:
      mkDerivation {
        pname = "wai-conduit";
-       version = "3.0.0.3";
-       sha256 = "1zvsiwjq2mvkb9sjgp3ly9m968m7a2jjzr4id6jpi3mmqykj15z4";
+       version = "3.0.0.4";
+       sha256 = "07yn41rn2skd5p3wqqa09wa761vj7ibl8l19gh4bi4i8slxhk417";
        libraryHaskellDepends = [
-         base blaze-builder bytestring conduit http-types transformers wai
+         base bytestring conduit http-types transformers wai
        ];
        homepage = "https://github.com/yesodweb/wai";
        description = "conduit wrappers for WAI";
@@ -215257,7 +220587,6 @@ self: {
        homepage = "https://github.com/singpolyma/wai-digestive-functors";
        description = "Helpers to bind digestive-functors onto wai requests";
        license = "unknown";
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "wai-dispatch" = callPackage
@@ -215317,6 +220646,38 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "wai-extra_3_0_22_1" = callPackage
+    ({ mkDerivation, aeson, ansi-terminal, base, base64-bytestring
+     , bytestring, case-insensitive, containers, cookie
+     , data-default-class, deepseq, directory, fast-logger, hspec
+     , http-types, HUnit, iproute, lifted-base, network, old-locale
+     , resourcet, streaming-commons, stringsearch, text, time
+     , transformers, unix, unix-compat, vault, void, wai, wai-logger
+     , word8, zlib
+     }:
+     mkDerivation {
+       pname = "wai-extra";
+       version = "3.0.22.1";
+       sha256 = "0bvj0nc3m314hh6n4rpz6dzb4bqg24b1sz4x0w7bj5ah8msr0z3y";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson ansi-terminal base base64-bytestring bytestring
+         case-insensitive containers cookie data-default-class deepseq
+         directory fast-logger http-types iproute lifted-base network
+         old-locale resourcet streaming-commons stringsearch text time
+         transformers unix unix-compat vault void wai wai-logger word8 zlib
+       ];
+       testHaskellDepends = [
+         base bytestring case-insensitive cookie fast-logger hspec
+         http-types HUnit resourcet text time transformers wai zlib
+       ];
+       homepage = "http://github.com/yesodweb/wai";
+       description = "Provides some basic WAI handlers and middleware";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "wai-frontend-monadcgi" = callPackage
     ({ mkDerivation, base, bytestring, case-insensitive, cgi
      , containers, http-types, transformers, wai
@@ -215423,6 +220784,23 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "wai-handler-launch_3_0_2_4" = callPackage
+    ({ mkDerivation, async, base, bytestring, http-types, process
+     , streaming-commons, transformers, wai, warp
+     }:
+     mkDerivation {
+       pname = "wai-handler-launch";
+       version = "3.0.2.4";
+       sha256 = "0019vz9ha2mvliz3drjbj62v26mwhl9bl1vqr06ki40865hrr78f";
+       libraryHaskellDepends = [
+         async base bytestring http-types process streaming-commons
+         transformers wai warp
+       ];
+       description = "Launch a web app in the default browser";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "wai-handler-scgi" = callPackage
     ({ mkDerivation, base, bytestring, wai, wai-extra }:
      mkDerivation {
@@ -215560,17 +220938,16 @@ self: {
      }) {};
 
   "wai-logger" = callPackage
-    ({ mkDerivation, base, blaze-builder, byteorder, bytestring
-     , case-insensitive, doctest, fast-logger, http-types, network, unix
-     , unix-time, wai
+    ({ mkDerivation, base, byteorder, bytestring, case-insensitive
+     , doctest, fast-logger, http-types, network, unix, unix-time, wai
      }:
      mkDerivation {
        pname = "wai-logger";
-       version = "2.3.1";
-       sha256 = "0ldx9jiq70ga2clsrg1sw5jsy76n4s6kzs3785qs87gbj5dqfdip";
+       version = "2.3.2";
+       sha256 = "0w5ldq4gplc16zzk5ikmbbjw79imaqvw8p6lylaw3hlsbn3zzm4d";
        libraryHaskellDepends = [
-         base blaze-builder byteorder bytestring case-insensitive
-         fast-logger http-types network unix unix-time wai
+         base byteorder bytestring case-insensitive fast-logger http-types
+         network unix unix-time wai
        ];
        testHaskellDepends = [ base doctest ];
        description = "A logging system for WAI";
@@ -215677,6 +221054,7 @@ self: {
        ];
        description = "Authentication middleware that secures WAI application";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "wai-middleware-brotli" = callPackage
@@ -215845,29 +221223,31 @@ self: {
     ({ mkDerivation, aeson, base, blaze-builder, blaze-html, bytestring
      , clay, exceptions, extractable-singleton, hashable, hspec
      , hspec-wai, http-media, http-types, lucid, mmorph, monad-control
-     , monad-control-aligned, monad-logger, mtl, pandoc, pandoc-types
-     , resourcet, shakespeare, tasty, tasty-hspec, text, transformers
-     , transformers-base, unordered-containers, urlpath, wai, wai-logger
-     , wai-transformers, warp
+     , monad-control-aligned, monad-logger, mtl, resourcet, shakespeare
+     , tasty, tasty-hspec, text, transformers, transformers-base
+     , unordered-containers, urlpath, wai, wai-logger, wai-transformers
+     , warp
      }:
      mkDerivation {
        pname = "wai-middleware-content-type";
-       version = "0.5.2";
-       sha256 = "0v9gi7lljfn58g558xlxhlmp4chq7m6a4kf0b4k23scygwh727jj";
+       version = "0.6.1.2";
+       sha256 = "057xrb6nik8imxg91chyhakddb0ywm7ccfkwjlyrbwrd5hm84j8r";
        libraryHaskellDepends = [
          aeson base blaze-builder blaze-html bytestring clay exceptions
          extractable-singleton hashable http-media http-types lucid mmorph
-         monad-control monad-control-aligned monad-logger mtl pandoc
-         resourcet shakespeare text transformers transformers-base
+         monad-control monad-control-aligned monad-logger mtl resourcet
+         shakespeare text transformers transformers-base
          unordered-containers urlpath wai wai-logger wai-transformers
        ];
        testHaskellDepends = [
          aeson base blaze-builder blaze-html bytestring clay exceptions
-         hashable hspec hspec-wai http-media http-types lucid mmorph
-         monad-control monad-logger mtl pandoc pandoc-types resourcet
-         shakespeare tasty tasty-hspec text transformers transformers-base
-         unordered-containers urlpath wai wai-transformers warp
+         extractable-singleton hashable hspec hspec-wai http-media
+         http-types lucid mmorph monad-control monad-control-aligned
+         monad-logger mtl resourcet shakespeare tasty tasty-hspec text
+         transformers transformers-base unordered-containers urlpath wai
+         wai-logger wai-transformers warp
        ];
+       homepage = "https://github.com/athanclark/wai-middleware-content-type#readme";
        description = "Route to different middlewares based on the incoming Accept header";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -215902,6 +221282,7 @@ self: {
        ];
        description = "Middleware and utilities for using Atlassian Crowd authentication";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "wai-middleware-etag" = callPackage
@@ -216077,30 +221458,6 @@ self: {
      }) {};
 
   "wai-middleware-rollbar" = callPackage
-    ({ mkDerivation, aeson, base, bytestring, case-insensitive
-     , containers, hostname, hspec, hspec-golden-aeson, http-client
-     , http-conduit, http-types, lens, lens-aeson, network, QuickCheck
-     , text, time, unordered-containers, uuid, wai
-     }:
-     mkDerivation {
-       pname = "wai-middleware-rollbar";
-       version = "0.8.4";
-       sha256 = "1yycbkcc7jq8mlv6jslnq2j0w8yhv4859fds34pg2k1fg7ccb1iw";
-       libraryHaskellDepends = [
-         aeson base bytestring case-insensitive hostname http-client
-         http-conduit http-types network text time unordered-containers uuid
-         wai
-       ];
-       testHaskellDepends = [
-         aeson base bytestring case-insensitive containers hspec
-         hspec-golden-aeson lens lens-aeson QuickCheck text
-       ];
-       homepage = "https://github.com/joneshf/wai-middleware-rollbar#readme";
-       description = "Middleware that communicates to Rollbar";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "wai-middleware-rollbar_0_10_0" = callPackage
     ({ mkDerivation, aeson, base, bytestring, hostname, http-client
      , http-conduit, http-types, rollbar-hs, text, time, uuid, wai
      }:
@@ -216115,7 +221472,6 @@ self: {
        homepage = "https://github.com/joneshf/wai-middleware-rollbar#readme";
        description = "Middleware that communicates to Rollbar";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "wai-middleware-route" = callPackage
@@ -216142,22 +221498,18 @@ self: {
 
   "wai-middleware-static" = callPackage
     ({ mkDerivation, base, bytestring, containers, cryptonite
-     , directory, expiring-cache-map, filepath, hpc-coveralls
-     , http-types, memory, mime-types, mtl, old-locale, semigroups, text
-     , time, wai
+     , directory, expiring-cache-map, filepath, http-types, memory
+     , mime-types, mtl, old-locale, semigroups, text, time, wai
      }:
      mkDerivation {
        pname = "wai-middleware-static";
-       version = "0.8.1";
-       sha256 = "0xaksnb1lzbw6rj62l4x9jpx40c1l2c33x5cb5vqk08g84zz3dg0";
-       revision = "5";
-       editedCabalFile = "1lb4whil5x1arjb3503x8j9i3wmf678ii1dx0paqqx7dchs6cfwl";
+       version = "0.8.2";
+       sha256 = "1z5yapcf8j9w71f2na30snmalsajlyi8an2f9qrjdmajabyykr0b";
        libraryHaskellDepends = [
          base bytestring containers cryptonite directory expiring-cache-map
          filepath http-types memory mime-types mtl old-locale semigroups
          text time wai
        ];
-       testHaskellDepends = [ base hpc-coveralls ];
        homepage = "https://github.com/scotty-web/wai-middleware-static";
        description = "WAI middleware that serves requests to static files";
        license = stdenv.lib.licenses.bsd3;
@@ -216209,8 +221561,8 @@ self: {
      }:
      mkDerivation {
        pname = "wai-middleware-throttle";
-       version = "0.2.2.0";
-       sha256 = "0k5q6vziq67bscfrm1dx6i4wkvw30wa35mgdd7x1dzniibx87dva";
+       version = "0.2.2.1";
+       sha256 = "1z4n7ja5kq7cl2117w8wx0kz3fjdzr3mlvx6m76jbgp0504vjgja";
        libraryHaskellDepends = [
          base bytestring bytestring-builder containers hashable http-types
          mtl network stm text token-bucket transformers wai
@@ -216224,21 +221576,22 @@ self: {
      }) {};
 
   "wai-middleware-verbs" = callPackage
-    ({ mkDerivation, base, errors, exceptions, hashable, http-types
-     , mmorph, monad-logger, mtl, resourcet, transformers
-     , transformers-base, unordered-containers, wai
+    ({ mkDerivation, base, bytestring, exceptions, hashable, http-types
+     , mmorph, monad-control, monad-control-aligned, monad-logger, mtl
+     , resourcet, transformers, transformers-base, unordered-containers
+     , wai, wai-transformers
      }:
      mkDerivation {
        pname = "wai-middleware-verbs";
-       version = "0.3.2";
-       sha256 = "0rma394hfpycaqfyr9bpal2v27559hrm7yd83x7dh13jv9zsj7v9";
-       isLibrary = true;
-       isExecutable = true;
+       version = "0.4.0.1";
+       sha256 = "1x4x41b1gbr2xvfw1q766wcvdl13wwv9spa9zxvjdykg71knnw93";
        libraryHaskellDepends = [
-         base errors exceptions hashable http-types mmorph monad-logger mtl
-         resourcet transformers transformers-base unordered-containers wai
+         base bytestring exceptions hashable http-types mmorph monad-control
+         monad-control-aligned monad-logger mtl resourcet transformers
+         transformers-base unordered-containers wai wai-transformers
        ];
-       description = "Route different middleware responses based on the incoming HTTP verb";
+       homepage = "https://github.com/athanclark/wai-middleware-verbs#readme";
+       description = "Route Wai middlewares based on HTTP verbs";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
@@ -216400,6 +221753,7 @@ self: {
        executableHaskellDepends = [ base bytestring cryptonite memory ];
        homepage = "https://github.com/habibalamin/wai-secure-cookies";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "wai-session" = callPackage
@@ -216626,6 +221980,24 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "wai-transformers_0_1_0" = callPackage
+    ({ mkDerivation, base, exceptions, extractable-singleton
+     , monad-control-aligned, transformers, wai, wai-websockets
+     , websockets
+     }:
+     mkDerivation {
+       pname = "wai-transformers";
+       version = "0.1.0";
+       sha256 = "14l5ihyvg2n0kmmkxy0r5mx1jk3p5jhv1vynsnnrb2md1g4318qp";
+       libraryHaskellDepends = [
+         base exceptions extractable-singleton monad-control-aligned
+         transformers wai wai-websockets websockets
+       ];
+       homepage = "https://github.com/athanclark/wai-transformers#readme";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "wai-util" = callPackage
     ({ mkDerivation, aeson, base, blaze-builder, bytestring, conduit
      , http-accept, http-types, network-uri, text, transformers, wai
@@ -216645,24 +222017,23 @@ self: {
      }) {};
 
   "wai-websockets" = callPackage
-    ({ mkDerivation, base, blaze-builder, bytestring, case-insensitive
-     , file-embed, http-types, network, text, transformers, wai
-     , wai-app-static, warp, websockets
+    ({ mkDerivation, base, bytestring, case-insensitive, file-embed
+     , http-types, network, text, transformers, wai, wai-app-static
+     , warp, websockets
      }:
      mkDerivation {
        pname = "wai-websockets";
-       version = "3.0.1.1";
-       sha256 = "0ccasczm9x8sx6bpywd8ga3qji2rqkz1l2fy856qz7jdazmazgka";
+       version = "3.0.1.2";
+       sha256 = "0b2xmdsrsqpssyib53wbr6r8hf75789ndyyanv37sv99iyqcwz4i";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         base blaze-builder bytestring case-insensitive http-types network
-         transformers wai websockets
+         base bytestring case-insensitive http-types network transformers
+         wai websockets
        ];
        executableHaskellDepends = [
-         base blaze-builder bytestring case-insensitive file-embed
-         http-types network text transformers wai wai-app-static warp
-         websockets
+         base bytestring case-insensitive file-embed http-types network text
+         transformers wai wai-app-static warp websockets
        ];
        homepage = "http://github.com/yesodweb/wai";
        description = "Provide a bridge between WAI and the websockets package";
@@ -216804,43 +222175,7 @@ self: {
      }) {};
 
   "warp" = callPackage
-    ({ mkDerivation, array, async, auto-update, base, blaze-builder
-     , bytestring, bytestring-builder, case-insensitive, containers
-     , criterion, directory, doctest, ghc-prim, hashable, hspec, HTTP
-     , http-date, http-types, http2, HUnit, iproute, lifted-base
-     , network, process, QuickCheck, silently, simple-sendfile, stm
-     , streaming-commons, text, time, transformers, unix, unix-compat
-     , vault, wai, word8
-     }:
-     mkDerivation {
-       pname = "warp";
-       version = "3.2.13";
-       sha256 = "0964l8xcbdqnrz0mnk0b732n66i7q8grwzzax96mqbh15ps5nfcj";
-       libraryHaskellDepends = [
-         array async auto-update base blaze-builder bytestring
-         bytestring-builder case-insensitive containers ghc-prim hashable
-         http-date http-types http2 iproute network simple-sendfile stm
-         streaming-commons text unix unix-compat vault wai word8
-       ];
-       testHaskellDepends = [
-         array async auto-update base blaze-builder bytestring
-         bytestring-builder case-insensitive containers directory doctest
-         ghc-prim hashable hspec HTTP http-date http-types http2 HUnit
-         iproute lifted-base network process QuickCheck silently
-         simple-sendfile stm streaming-commons text time transformers unix
-         unix-compat vault wai word8
-       ];
-       benchmarkHaskellDepends = [
-         auto-update base bytestring containers criterion hashable http-date
-         http-types network unix unix-compat
-       ];
-       homepage = "http://github.com/yesodweb/wai";
-       description = "A fast, light-weight web server for WAI applications";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-
-  "warp_3_2_17" = callPackage
-    ({ mkDerivation, array, async, auto-update, base, blaze-builder
+    ({ mkDerivation, array, async, auto-update, base, bsb-http-chunked
      , bytestring, case-insensitive, containers, directory, doctest
      , gauge, ghc-prim, hashable, hspec, http-client, http-date
      , http-types, http2, HUnit, iproute, lifted-base, network, process
@@ -216849,16 +222184,16 @@ self: {
      }:
      mkDerivation {
        pname = "warp";
-       version = "3.2.17";
-       sha256 = "1frdwc7icadizbwlp0b1gxq95h9a6ds9cdq9rzqqsn4yq2jcbirb";
+       version = "3.2.22";
+       sha256 = "03jrby2q3xb16xgbmlk3yl36g1mnwq56lj62whks438568626nv4";
        libraryHaskellDepends = [
-         array async auto-update base blaze-builder bytestring
+         array async auto-update base bsb-http-chunked bytestring
          case-insensitive containers ghc-prim hashable http-date http-types
          http2 iproute network simple-sendfile stm streaming-commons text
          unix unix-compat vault wai word8
        ];
        testHaskellDepends = [
-         array async auto-update base blaze-builder bytestring
+         array async auto-update base bsb-http-chunked bytestring
          case-insensitive containers directory doctest ghc-prim hashable
          hspec http-client http-date http-types http2 HUnit iproute
          lifted-base network process QuickCheck silently simple-sendfile stm
@@ -216872,7 +222207,6 @@ self: {
        homepage = "http://github.com/yesodweb/wai";
        description = "A fast, light-weight web server for WAI applications";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "warp-dynamic" = callPackage
@@ -216921,8 +222255,8 @@ self: {
      }:
      mkDerivation {
        pname = "warp-tls";
-       version = "3.2.4";
-       sha256 = "05vfjlgi574nnydfmfpyp3q6mf389iyj9mv94djnm8d1izasml85";
+       version = "3.2.4.3";
+       sha256 = "17gj295fr98l7mkz2gdz6kahdnmja0sql3kvy2zab6q168g53kc4";
        libraryHaskellDepends = [
          base bytestring cryptonite data-default-class network
          streaming-commons tls tls-session-manager wai warp
@@ -216932,24 +222266,6 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
-  "warp-tls_3_2_4_2" = callPackage
-    ({ mkDerivation, base, bytestring, cryptonite, data-default-class
-     , network, streaming-commons, tls, tls-session-manager, wai, warp
-     }:
-     mkDerivation {
-       pname = "warp-tls";
-       version = "3.2.4.2";
-       sha256 = "08g74490mpaghrvkb5z6pa6b6bby1a83js52pg5jlm9b5zfwcj2w";
-       libraryHaskellDepends = [
-         base bytestring cryptonite data-default-class network
-         streaming-commons tls tls-session-manager wai warp
-       ];
-       homepage = "http://github.com/yesodweb/wai";
-       description = "HTTP over TLS support for Warp via the TLS package";
-       license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
-     }) {};
-
   "warp-tls-uid" = callPackage
     ({ mkDerivation, base, bytestring, certificate, conduit
      , crypto-random, network, network-conduit, pem, tls, tls-extra
@@ -216972,20 +222288,17 @@ self: {
 
   "warped" = callPackage
     ({ mkDerivation, aeson, base, blaze-builder, conduit, http-types
-     , lifted-async, monad-control, preamble, shakers, uuid, wai
-     , wai-conduit, wai-cors, warp
+     , lifted-async, monad-control, preamble, uuid, wai, wai-conduit
+     , wai-cors, warp
      }:
      mkDerivation {
        pname = "warped";
-       version = "0.0.3";
-       sha256 = "11iw5shjclns2d8baj98scm4jc773fxyzbjwbvvs6scan9d31z7m";
-       isLibrary = true;
-       isExecutable = true;
+       version = "0.0.5";
+       sha256 = "1gk7mfainbw8iyg8vqii39yl7n2dz052p8nrphhjbzphibl349jf";
        libraryHaskellDepends = [
          aeson base blaze-builder conduit http-types lifted-async
          monad-control preamble uuid wai wai-conduit wai-cors warp
        ];
-       executableHaskellDepends = [ base shakers ];
        homepage = "https://github.com/swift-nav/warped";
        description = "Warp and Wai Library";
        license = stdenv.lib.licenses.mit;
@@ -217071,6 +222384,8 @@ self: {
        pname = "wave";
        version = "0.1.5";
        sha256 = "03zycmwrchhqvi37fdvlzz2d1vl4hy0i8xyys1zznw38qfq0h2i5";
+       revision = "1";
+       editedCabalFile = "1wvgxay0r5rpcc7yxkznxxcp1za0ifxvk87w0xrilxgb35r3izz8";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          base bytestring cereal containers data-default-class transformers
@@ -217090,8 +222405,8 @@ self: {
      }:
      mkDerivation {
        pname = "wavefront";
-       version = "0.7.1.1";
-       sha256 = "1d9hh3si3fwbb42y9nlqwp3ccl8gpip65fh75gidfzzricjyw7fw";
+       version = "0.7.1.2";
+       sha256 = "047hdcvrkh4xwyp8i18w45qx7nhd59iii34nrh6ih9k77l6rr4qj";
        libraryHaskellDepends = [
          attoparsec base dlist filepath mtl text transformers vector
        ];
@@ -217260,16 +222575,17 @@ self: {
      }:
      mkDerivation {
        pname = "web-inv-route";
-       version = "0.1.1";
-       sha256 = "16iv72jyay844668rnzmk3w98ia5cdijg8hpzy7qdhc29n3p2kzf";
+       version = "0.1.2";
+       sha256 = "1qhs2gi1591bphdr1wxbn2za7kfskywndz4bcr741q825m2bakhd";
        libraryHaskellDepends = [
          base bytestring case-insensitive containers happstack-server
          hashable http-types invertible network-uri snap-core text
          transformers unordered-containers wai
        ];
        testHaskellDepends = [ base bytestring HUnit network-uri text ];
-       description = "Composable, reversible, efficient web routing based on invertible invariants and bijections";
+       description = "Composable, reversible, efficient web routing using invertible invariants and bijections";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "web-mongrel2" = callPackage
@@ -217375,10 +222691,8 @@ self: {
      }:
      mkDerivation {
        pname = "web-routes";
-       version = "0.27.14";
-       sha256 = "1m5ywqy2c9v478ybyrzqc407zdqcg18p5587mrq34v7bnjk27rak";
-       revision = "1";
-       editedCabalFile = "061kp8rpmbpr9f9n3kja8160z209hwz42yy3kikn6b446rdc4pdr";
+       version = "0.27.14.2";
+       sha256 = "0jpps7ay2hw41595hlfrx5k4lh9p2nib02n3rhd1vphpbnf392xg";
        libraryHaskellDepends = [
          base blaze-builder bytestring exceptions ghc-prim http-types mtl
          parsec split text utf8-string
@@ -217472,8 +222786,8 @@ self: {
      }:
      mkDerivation {
        pname = "web-routes-th";
-       version = "0.22.6.2";
-       sha256 = "1j661bdl5nb7a02gvsi89dybzaczjynp3d6kxnrgc4jc41rwbgj8";
+       version = "0.22.6.3";
+       sha256 = "1zamjbvjxryc43wac95cdavbq4czjlfx5kgxykadx8sw63vfnk4x";
        libraryHaskellDepends = [
          base parsec split template-haskell text web-routes
        ];
@@ -217532,20 +222846,26 @@ self: {
      }) {};
 
   "web3" = callPackage
-    ({ mkDerivation, aeson, attoparsec, base, base16-bytestring
-     , bytestring, cryptonite, http-client, http-client-tls, memory
-     , template-haskell, text, transformers, vector
+    ({ mkDerivation, aeson, async, base, basement, bytestring, cereal
+     , cryptonite, data-default, exceptions, generics-sop, hspec
+     , hspec-contrib, hspec-discover, hspec-expectations, http-client
+     , machines, memory, mtl, parsec, split, stm, tagged
+     , template-haskell, text, time, transformers
      }:
      mkDerivation {
        pname = "web3";
-       version = "0.6.0.0";
-       sha256 = "1dwwxvh11867f18lw9g2rjqsjawqa92p6063x64izdl1qj5qnwv9";
+       version = "0.7.1.0";
+       sha256 = "0ckxnnp5aqcd13p5gnk1nx7ysws6x7nmfklxqllilpzdh5ibyj59";
        libraryHaskellDepends = [
-         aeson attoparsec base base16-bytestring bytestring cryptonite
-         http-client http-client-tls memory template-haskell text
-         transformers vector
+         aeson async base basement bytestring cereal cryptonite data-default
+         exceptions generics-sop http-client machines memory mtl parsec
+         tagged template-haskell text transformers
+       ];
+       testHaskellDepends = [
+         async base bytestring data-default generics-sop hspec hspec-contrib
+         hspec-discover hspec-expectations memory split stm tagged text time
+         transformers
        ];
-       testHaskellDepends = [ base memory text ];
        homepage = "https://github.com/airalab/hs-web3#readme";
        description = "Ethereum API for Haskell";
        license = stdenv.lib.licenses.bsd3;
@@ -217820,7 +223140,6 @@ self: {
        homepage = "http://github.com/ananthakumaran/webify";
        description = "webfont generator";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "webkit" = callPackage
@@ -217868,6 +223187,7 @@ self: {
        libraryPkgconfigDepends = [ webkitgtk ];
        description = "JavaScriptCore FFI from webkitgtk";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {inherit (pkgs.gnome3) webkitgtk;};
 
   "webkitgtk3" = callPackage
@@ -217965,32 +223285,32 @@ self: {
 
   "websockets" = callPackage
     ({ mkDerivation, attoparsec, base, base64-bytestring, binary
-     , blaze-builder, bytestring, case-insensitive, containers
+     , bytestring, bytestring-builder, case-insensitive, containers
      , criterion, entropy, HUnit, network, QuickCheck, random, SHA
      , streaming-commons, test-framework, test-framework-hunit
      , test-framework-quickcheck2, text
      }:
      mkDerivation {
        pname = "websockets";
-       version = "0.12.3.1";
-       sha256 = "019jkvmbs5wvjwczqy06spd6545mly08n5pqbsaacmff4xznkz39";
+       version = "0.12.4.0";
+       sha256 = "1sq488nm8bjrg1q9vypag9pd8vljfibx3kacgkcfi1zqmr14x8x3";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         attoparsec base base64-bytestring binary blaze-builder bytestring
-         case-insensitive containers entropy network random SHA
-         streaming-commons text
+         attoparsec base base64-bytestring binary bytestring
+         bytestring-builder case-insensitive containers entropy network
+         random SHA streaming-commons text
        ];
        testHaskellDepends = [
-         attoparsec base base64-bytestring binary blaze-builder bytestring
-         case-insensitive containers entropy HUnit network QuickCheck random
-         SHA streaming-commons test-framework test-framework-hunit
-         test-framework-quickcheck2 text
+         attoparsec base base64-bytestring binary bytestring
+         bytestring-builder case-insensitive containers entropy HUnit
+         network QuickCheck random SHA streaming-commons test-framework
+         test-framework-hunit test-framework-quickcheck2 text
        ];
        benchmarkHaskellDepends = [
-         attoparsec base base64-bytestring binary blaze-builder bytestring
-         case-insensitive containers criterion entropy network random SHA
-         text
+         attoparsec base base64-bytestring binary bytestring
+         bytestring-builder case-insensitive containers criterion entropy
+         network random SHA text
        ];
        doCheck = false;
        homepage = "http://jaspervdj.be/websockets";
@@ -218024,6 +223344,35 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "websockets-rpc_0_7_0" = callPackage
+    ({ mkDerivation, aeson, async, base, bytestring, containers
+     , exceptions, hashable, monad-control, mtl, QuickCheck
+     , quickcheck-instances, stm, tasty, tasty-quickcheck, text
+     , transformers, unordered-containers, uuid, wai-transformers
+     , websockets, websockets-simple
+     }:
+     mkDerivation {
+       pname = "websockets-rpc";
+       version = "0.7.0";
+       sha256 = "0iywpaqp0y1mbysphz438adpj8mvlyr58wr1avj22wwm9n29yhin";
+       libraryHaskellDepends = [
+         aeson async base bytestring containers exceptions hashable
+         monad-control mtl QuickCheck stm text transformers
+         unordered-containers uuid wai-transformers websockets
+         websockets-simple
+       ];
+       testHaskellDepends = [
+         aeson async base bytestring containers exceptions hashable
+         monad-control mtl QuickCheck quickcheck-instances stm tasty
+         tasty-quickcheck text transformers unordered-containers uuid
+         wai-transformers websockets websockets-simple
+       ];
+       homepage = "https://github.com/athanclark/websockets-rpc#readme";
+       description = "Simple streaming RPC mechanism using WebSockets";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "websockets-simple" = callPackage
     ({ mkDerivation, aeson, async, base, bytestring, every, exceptions
      , hspec, monad-control, stm, tasty, tasty-hspec, transformers
@@ -218043,14 +223392,40 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "websockets-simple_0_1_2_1" = callPackage
+    ({ mkDerivation, aeson, async, base, bytestring, exceptions
+     , extractable-singleton, hspec, monad-control-aligned, profunctors
+     , stm, tasty, tasty-hspec, transformers, vector, wai-transformers
+     , websockets
+     }:
+     mkDerivation {
+       pname = "websockets-simple";
+       version = "0.1.2.1";
+       sha256 = "1g3cqbdycjx82px06xvh4q3jjnp71llzsw4v0s815933fgfcck54";
+       libraryHaskellDepends = [
+         aeson async base bytestring exceptions extractable-singleton
+         monad-control-aligned profunctors stm transformers vector
+         wai-transformers websockets
+       ];
+       testHaskellDepends = [
+         aeson async base bytestring exceptions extractable-singleton hspec
+         monad-control-aligned profunctors stm tasty tasty-hspec
+         transformers vector wai-transformers websockets
+       ];
+       homepage = "https://github.com/athanclark/websockets-simple#readme";
+       description = "Composable websockets clients";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "websockets-snap" = callPackage
     ({ mkDerivation, base, bytestring, bytestring-builder, io-streams
      , mtl, snap-core, snap-server, websockets
      }:
      mkDerivation {
        pname = "websockets-snap";
-       version = "0.10.2.4";
-       sha256 = "003np9jn7ja1p9vays6sk7kmia1bhqjhsz53jy0k2na6fx7rnk99";
+       version = "0.10.2.5";
+       sha256 = "14kxk6x5pygxlyn6421lkmc3lld5r545zq5qx6098mgn6bg2yknj";
        libraryHaskellDepends = [
          base bytestring bytestring-builder io-streams mtl snap-core
          snap-server websockets
@@ -218095,17 +223470,17 @@ self: {
      }) {};
 
   "wedged" = callPackage
-    ({ mkDerivation, array, base, colour, containers, diagrams-cairo
-     , diagrams-lib, MonadRandom, strict
+    ({ mkDerivation, array, base, colour, containers, diagrams-lib
+     , diagrams-rasterific, MonadRandom, strict
      }:
      mkDerivation {
        pname = "wedged";
-       version = "1";
-       sha256 = "1phq3zrx5adclzxri61hr7977jxpq8ycbaan00qxvr3bbk4247g4";
+       version = "2";
+       sha256 = "1aw29dk0h25zw60m288423bakz36k0jpmzdhy7kq2wns3l5k6jqs";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
-         array base colour containers diagrams-cairo diagrams-lib
+         array base colour containers diagrams-lib diagrams-rasterific
          MonadRandom strict
        ];
        description = "Wedged postcard generator";
@@ -218120,29 +223495,28 @@ self: {
      }:
      mkDerivation {
        pname = "weeder";
-       version = "1.0.3";
-       sha256 = "14hmxg7p2mq3lh7ydmjk22xr95hd37q3c95d3k6rqi2jxhjs1gvp";
-       isLibrary = false;
+       version = "1.0.5";
+       sha256 = "0blaknr11j95sxdm6k2pyfmq1f2llg4hdmy24rvjy9jb82d3vrsi";
+       isLibrary = true;
        isExecutable = true;
-       executableHaskellDepends = [
+       libraryHaskellDepends = [
          aeson base bytestring cmdargs deepseq directory extra filepath
          foundation hashable process text unordered-containers vector yaml
        ];
+       executableHaskellDepends = [ base ];
        homepage = "https://github.com/ndmitchell/weeder#readme";
        description = "Detect dead code";
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
   "weigh" = callPackage
-    ({ mkDerivation, base, deepseq, mtl, process, split
-     , template-haskell, temporary
-     }:
+    ({ mkDerivation, base, deepseq, mtl, process, split, temporary }:
      mkDerivation {
        pname = "weigh";
-       version = "0.0.7";
-       sha256 = "1k5mxk0cn82x1lc1j0ik4sfkr0q4ipa2ls9sm5g39hl6bjwp1lp3";
+       version = "0.0.11";
+       sha256 = "0q4l2npli78w3p74rsh56q1azwh07856ckip9v3vmw53xzx0n42l";
        libraryHaskellDepends = [
-         base deepseq mtl process split template-haskell temporary
+         base deepseq mtl process split temporary
        ];
        testHaskellDepends = [ base deepseq ];
        homepage = "https://github.com/fpco/weigh#readme";
@@ -218416,8 +223790,8 @@ self: {
      }:
      mkDerivation {
        pname = "wide-word";
-       version = "0.1.0.5";
-       sha256 = "0aj0jpj2w46fdzvddc76l62cmcwvsndc1vj6z391bybw4q8khlmd";
+       version = "0.1.0.6";
+       sha256 = "0y3wdd5kslz71nlk32nvmi3yqd331jjl49njm58bixqanyc0k30x";
        libraryHaskellDepends = [ base deepseq ghc-prim ];
        testHaskellDepends = [ base bytestring ghc-prim hspec QuickCheck ];
        homepage = "https://github.com/erikd/wide-word";
@@ -218498,13 +223872,15 @@ self: {
 
   "wild-bind" = callPackage
     ({ mkDerivation, base, containers, hspec, microlens, QuickCheck
-     , stm, text, transformers
+     , semigroups, stm, text, transformers
      }:
      mkDerivation {
        pname = "wild-bind";
-       version = "0.1.1.0";
-       sha256 = "1z9jiqbla3nxfij6cxcpd5lpgnixz89mhnfr5ksma5khfyc01sis";
-       libraryHaskellDepends = [ base containers text transformers ];
+       version = "0.1.2.0";
+       sha256 = "0c1nb713p11pd89ykwz76i60sk437q9cy48bingiiig1g9dfg3p6";
+       libraryHaskellDepends = [
+         base containers semigroups text transformers
+       ];
        testHaskellDepends = [
          base hspec microlens QuickCheck stm transformers
        ];
@@ -218549,30 +223925,13 @@ self: {
      }) {};
 
   "wild-bind-x11" = callPackage
-    ({ mkDerivation, base, containers, fold-debounce, hspec, QuickCheck
-     , stm, text, time, transformers, wild-bind, X11
-     }:
-     mkDerivation {
-       pname = "wild-bind-x11";
-       version = "0.1.0.7";
-       sha256 = "0vdhmjkpy09w21xqhrqaxc645ghyb0ify1yq37wrlabqdqqms08d";
-       libraryHaskellDepends = [
-         base containers fold-debounce stm text transformers wild-bind X11
-       ];
-       testHaskellDepends = [ base hspec QuickCheck time wild-bind X11 ];
-       homepage = "https://github.com/debug-ito/wild-bind";
-       description = "X11-specific implementation for WildBind";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "wild-bind-x11_0_2_0_1" = callPackage
     ({ mkDerivation, async, base, containers, fold-debounce, hspec, mtl
      , semigroups, stm, text, time, transformers, wild-bind, X11
      }:
      mkDerivation {
        pname = "wild-bind-x11";
-       version = "0.2.0.1";
-       sha256 = "0g02kv710yr8qzh48dcwzyn1aak9hz3ny2pq7v24g40kc7c6pd4d";
+       version = "0.2.0.3";
+       sha256 = "0naqmgkqqq83mnrp4ic97i6f6ak3h862jk6pa77c83qmz4ahh4ld";
        libraryHaskellDepends = [
          base containers fold-debounce mtl semigroups stm text transformers
          wild-bind X11
@@ -218583,7 +223942,18 @@ self: {
        homepage = "https://github.com/debug-ito/wild-bind";
        description = "X11-specific implementation for WildBind";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "wilton-ffi" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, utf8-string }:
+     mkDerivation {
+       pname = "wilton-ffi";
+       version = "0.2.0.0";
+       sha256 = "1n2cgf0cnpr7f9rgf2369qnz3mm1qvylpzncc7s42vcrrq4x3wj7";
+       libraryHaskellDepends = [ aeson base bytestring utf8-string ];
+       homepage = "https://github.com/wilton-iot/wilton-ffi#readme";
+       description = "Haskell modules support for Wilton JavaScript runtime";
+       license = stdenv.lib.licenses.mit;
      }) {};
 
   "win-hp-path" = callPackage
@@ -218607,8 +223977,8 @@ self: {
        pname = "windns";
        version = "0.1.0.0";
        sha256 = "1hphwmwc1182p5aqjswcgqjbilm91rv5svjqhd93cqq599gg8q0c";
-       revision = "1";
-       editedCabalFile = "0kz6gv4dpppnnnyl57ibxi9gvykmkbmaz22yssx92mq306wbyimv";
+       revision = "2";
+       editedCabalFile = "19n1nb65mgz9rdp37z7sdmjxwcl2wnlrflqcwbhr99ly2anx0sy7";
        libraryHaskellDepends = [ base bytestring deepseq ];
        librarySystemDepends = [ dnsapi ];
        description = "Domain Name Service (DNS) lookup via the Windows dnsapi standard library";
@@ -218698,8 +224068,8 @@ self: {
      }:
      mkDerivation {
        pname = "wires";
-       version = "0.2.0";
-       sha256 = "1c4ic3v3rrqanr6n3yhm8vy5i8sn5lwraks09kav60f4cc42s1nx";
+       version = "0.2.1";
+       sha256 = "0dh0kpmja296miax80y3qqq3s8rmab4d7yqdcxrhmy9gzq350hri";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -218870,8 +224240,8 @@ self: {
     ({ mkDerivation, base }:
      mkDerivation {
        pname = "wl-pprint";
-       version = "1.2";
-       sha256 = "166zvk4zwn2zaa9kx66m1av38m34qp6h4i65bri2sfnxgvx0700r";
+       version = "1.2.1";
+       sha256 = "0kn7y8pdrv8f87zhd5mifcl8fy3b2zvnzmzwhdqhxxlyzwiq6z0c";
        libraryHaskellDepends = [ base ];
        description = "The Wadler/Leijen Pretty Printer";
        license = stdenv.lib.licenses.bsd3;
@@ -218979,6 +224349,18 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "wl-pprint-text_1_2_0_0" = callPackage
+    ({ mkDerivation, base, base-compat, text }:
+     mkDerivation {
+       pname = "wl-pprint-text";
+       version = "1.2.0.0";
+       sha256 = "0g3w92rad6x5appfb22rbzcas2ix2h0hy91sdxhq8a4a5cnlrpa0";
+       libraryHaskellDepends = [ base base-compat text ];
+       description = "A Wadler/Leijen Pretty Printer for Text values";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "wlc-hs" = callPackage
     ({ mkDerivation, base, c2hs, containers, data-default, lens, pretty
      , process, transformers, wlc, xkbcommon
@@ -219069,13 +224451,13 @@ self: {
   "wolf" = callPackage
     ({ mkDerivation, aeson, amazonka, amazonka-swf, base, bytestring
      , conduit, directory, filepath, http-types, lifted-async
-     , lifted-base, optparse-generic, preamble, process, shakers, time
-     , uuid, yaml
+     , lifted-base, optparse-generic, preamble, process, time, uuid
+     , yaml
      }:
      mkDerivation {
        pname = "wolf";
-       version = "0.3.42";
-       sha256 = "078pzdwhdxgqd5lszwszzcwxla17a51ikcvvas6791lvwx1ddg0d";
+       version = "0.3.44";
+       sha256 = "096j1f0xzjrnk8z7niyx19w05nx5222rgfbhgx8df8jwhfz0ymw7";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -219083,7 +224465,7 @@ self: {
          filepath http-types lifted-async lifted-base preamble process time
          uuid yaml
        ];
-       executableHaskellDepends = [ base optparse-generic shakers ];
+       executableHaskellDepends = [ base optparse-generic ];
        homepage = "https://github.com/swift-nav/wolf";
        description = "Amazon Simple Workflow Service Wrapper";
        license = stdenv.lib.licenses.mit;
@@ -219213,21 +224595,26 @@ self: {
      }:
      mkDerivation {
        pname = "wordchoice";
-       version = "0.1.2.4";
-       sha256 = "1y36bkzy7msl0dn0zfji8wh38bark4hn68znichwmashpbaymm3r";
+       version = "0.1.2.6";
+       sha256 = "16x595vv9fbq6j634a8wqnd1agmzbv09372sc99lq1a997crmq2w";
+       revision = "1";
+       editedCabalFile = "1igc5fc91ilva7yqhcmdsd6yq6q974ybb2hwk856cpqpmas0402j";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          base binary bytestring Chart Chart-diagrams composition-prelude
-         containers directory Glob lens optparse-applicative pandoc
-         system-filepath text transformers
+         containers directory Glob lens pandoc system-filepath text
+         transformers
+       ];
+       executableHaskellDepends = [
+         base binary bytestring containers directory lens
+         optparse-applicative text
        ];
-       executableHaskellDepends = [ base ];
        testHaskellDepends = [ base ];
        benchmarkHaskellDepends = [ base criterion pandoc text ];
-       homepage = "https://github.com/githubuser/wordchoice#readme";
        description = "Get word counts and distributions";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "wordcloud" = callPackage
@@ -219255,21 +224642,21 @@ self: {
 
   "wordpass" = callPackage
     ({ mkDerivation, base, containers, deepseq, directory, filepath
-     , hflags, random-fu, random-source, text, unix-compat, vector
+     , optparse-applicative, QuickCheck, text, unix-compat, vector
      }:
      mkDerivation {
        pname = "wordpass";
-       version = "1.0.0.7";
-       sha256 = "1n6r47ki83xzvms90sxnyqfyqzrs7j705ji2832mf5160xld30r2";
+       version = "1.0.0.9";
+       sha256 = "0gkcqcfl0n9z94bjg2ajzlwjm55qxsc9yd2q97azw4g2c69sn8lq";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         base containers deepseq directory filepath random-fu random-source
-         text unix-compat vector
+         base containers deepseq directory filepath optparse-applicative
+         QuickCheck text unix-compat vector
        ];
        executableHaskellDepends = [
-         base containers deepseq directory filepath hflags random-fu
-         random-source text unix-compat vector
+         base containers deepseq directory filepath optparse-applicative
+         QuickCheck text unix-compat vector
        ];
        homepage = "https://github.com/mgajda/wordpass";
        description = "Dictionary-based password generator";
@@ -219441,6 +224828,21 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "world-peace" = callPackage
+    ({ mkDerivation, aeson, base, deepseq, doctest, Glob, profunctors
+     , tagged
+     }:
+     mkDerivation {
+       pname = "world-peace";
+       version = "0.1.0.0";
+       sha256 = "19anwyh9n9agpcdhzfbh0l28nm0mdn8616klihbw55yxkiwqaxkk";
+       libraryHaskellDepends = [ aeson base deepseq profunctors tagged ];
+       testHaskellDepends = [ base doctest Glob ];
+       homepage = "https://github.com/cdepillabout/world-peace";
+       description = "Open Union and Open Product Types";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "wp-archivebot" = callPackage
     ({ mkDerivation, base, feed, HTTP, network, parallel, tagsoup }:
      mkDerivation {
@@ -219507,45 +224909,6 @@ self: {
      , authenticate-oauth, base, base64-bytestring, blaze-builder
      , bytestring, case-insensitive, clock, clock-extras, connection
      , containers, cookie, cryptonite, data-default, data-default-class
-     , deepseq, exceptions, filepath, http-client, http-client-tls
-     , http-types, immortal, lens, markdown-unlit, memory, mime-types
-     , network, network-uri, next-ref, optparse-applicative, random
-     , statistics, stm, stm-chans, streaming-commons, tabular, tdigest
-     , text, threads, threads-extras, time, tls, transformers
-     , unagi-chan, unix, unordered-containers, vector, vty, wreq
-     }:
-     mkDerivation {
-       pname = "wrecker";
-       version = "1.2.4.0";
-       sha256 = "1yrjr1mhywxwdcnakyfgga7jlwpxzb4clldp21igw35y3n53i6y8";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         aeson ansi-terminal ansigraph array authenticate-oauth base
-         base64-bytestring blaze-builder bytestring case-insensitive clock
-         clock-extras connection containers cookie cryptonite data-default
-         data-default-class deepseq exceptions filepath http-client
-         http-client-tls http-types immortal memory mime-types network
-         network-uri next-ref optparse-applicative random statistics stm
-         stm-chans streaming-commons tabular tdigest text threads
-         threads-extras time tls transformers unagi-chan unix
-         unordered-containers vector vty wreq
-       ];
-       executableHaskellDepends = [
-         base http-client http-client-tls lens markdown-unlit
-         optparse-applicative transformers wreq
-       ];
-       homepage = "https://github.com/lorenzo/wrecker#readme";
-       description = "An HTTP Performance Benchmarker";
-       license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
-     }) {};
-
-  "wrecker_1_3_1_0" = callPackage
-    ({ mkDerivation, aeson, ansi-terminal, ansigraph, array
-     , authenticate-oauth, base, base64-bytestring, blaze-builder
-     , bytestring, case-insensitive, clock, clock-extras, connection
-     , containers, cookie, cryptonite, data-default, data-default-class
      , deepseq, exceptions, fast-logger, filepath, http-client
      , http-client-tls, http-types, immortal, lens, markdown-unlit
      , memory, mime-types, network, network-uri, next-ref
@@ -219618,10 +224981,10 @@ self: {
   "wreq" = callPackage
     ({ mkDerivation, aeson, aeson-pretty, attoparsec
      , authenticate-oauth, base, base16-bytestring, base64-bytestring
-     , byteable, bytestring, Cabal, cabal-doctest, case-insensitive
-     , containers, cryptohash, directory, doctest, exceptions, filepath
-     , ghc-prim, hashable, http-client, http-client-tls, http-types
-     , HUnit, lens, lens-aeson, mime-types, network-info, psqueues
+     , bytestring, Cabal, cabal-doctest, case-insensitive, containers
+     , cryptonite, directory, doctest, exceptions, filepath, ghc-prim
+     , hashable, http-client, http-client-tls, http-types, HUnit, lens
+     , lens-aeson, memory, mime-types, network-info, psqueues
      , QuickCheck, snap-core, snap-server, template-haskell, temporary
      , test-framework, test-framework-hunit, test-framework-quickcheck2
      , text, time, time-locale-compat, transformers, unix-compat
@@ -219629,18 +224992,16 @@ self: {
      }:
      mkDerivation {
        pname = "wreq";
-       version = "0.5.2.0";
-       sha256 = "06v70dpnh7lp1sr0i0fvl2b2cx0z57dfwi8i2fxva0gcdwan0fki";
-       revision = "1";
-       editedCabalFile = "01x430yrqiv02pq7h55h3y70hvz7n62882vnw1m53qqxp667i580";
+       version = "0.5.2.1";
+       sha256 = "0dqj94lky93jwrkq65pn4nfl2cv8yjgqaxdwbvfyr6vhinrnkl5k";
        isLibrary = true;
        isExecutable = true;
        setupHaskellDepends = [ base Cabal cabal-doctest ];
        libraryHaskellDepends = [
-         aeson attoparsec authenticate-oauth base base16-bytestring byteable
-         bytestring case-insensitive containers cryptohash exceptions
+         aeson attoparsec authenticate-oauth base base16-bytestring
+         bytestring case-insensitive containers cryptonite exceptions
          ghc-prim hashable http-client http-client-tls http-types lens
-         lens-aeson mime-types psqueues template-haskell text time
+         lens-aeson memory mime-types psqueues template-haskell text time
          time-locale-compat unordered-containers
        ];
        testHaskellDepends = [
@@ -219859,23 +225220,26 @@ self: {
      }) {};
 
   "ws" = callPackage
-    ({ mkDerivation, async, base, bytestring, exceptions, haskeline
-     , mtl, network, network-uri, optparse-applicative, text, websockets
-     , wuss
+    ({ mkDerivation, async, attoparsec, attoparsec-uri, base
+     , bytestring, exceptions, haskeline, mtl, network
+     , optparse-applicative, strict, text, vector, websockets, wuss
      }:
      mkDerivation {
        pname = "ws";
-       version = "0.0.2";
-       sha256 = "1wl6ap3kv90fwi03dd7vi2qmih4irqj2lc25y8x4s2h9ks38qy9w";
+       version = "0.0.4";
+       sha256 = "00jz7a7x260ix2rg46bmp6c3rjnra9c7j4p0in7cpk2iap28106q";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         async base bytestring exceptions haskeline mtl network network-uri
-         text websockets wuss
+         async attoparsec-uri base bytestring exceptions haskeline mtl
+         network text websockets wuss
        ];
        executableHaskellDepends = [
-         base exceptions network-uri optparse-applicative
+         async attoparsec attoparsec-uri base bytestring exceptions
+         haskeline mtl network optparse-applicative strict text vector
+         websockets wuss
        ];
+       homepage = "https://github.com/athanclark/ws#readme";
        description = "A simple CLI utility for interacting with a websocket";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -220079,8 +225443,8 @@ self: {
      }:
      mkDerivation {
        pname = "wuss";
-       version = "1.1.6";
-       sha256 = "1g2k48mngg8fr6cvkimjr39jc83b87lva0320bwdnf19nyz1fy9y";
+       version = "1.1.9";
+       sha256 = "1la0zvdsb1w0k2sj8f9wrnsirljjnbx0a1kalzwalh6d82h2jd9z";
        libraryHaskellDepends = [
          base bytestring connection network websockets
        ];
@@ -220342,6 +225706,8 @@ self: {
        pname = "x509";
        version = "1.7.3";
        sha256 = "0mkk29g32fs70bqkikg83v45h9jig9c8aail3mrdqwxpkfa0yx21";
+       revision = "1";
+       editedCabalFile = "06zzirygvzp0ssdg9blipdwmd0b41p4gxh3ldai7ngjyjsdclwsx";
        libraryHaskellDepends = [
          asn1-encoding asn1-parse asn1-types base bytestring containers
          cryptonite hourglass memory mtl pem
@@ -220420,6 +225786,8 @@ self: {
        pname = "x509-validation";
        version = "1.6.10";
        sha256 = "1ms51scawldgyfcim5a2qlgyn3rnrclyh205d6djaa1569vrs73n";
+       revision = "1";
+       editedCabalFile = "1isap8v1gh31q4pj3gn155ya8nd1da0a5a3cryqh4yhf0ivbwl0w";
        libraryHaskellDepends = [
          asn1-encoding asn1-types base bytestring containers cryptonite
          data-default-class hourglass memory mtl pem x509 x509-store
@@ -220490,8 +225858,8 @@ self: {
     ({ mkDerivation, base, containers, mtl, pretty, xml }:
      mkDerivation {
        pname = "xcb-types";
-       version = "0.8.0";
-       sha256 = "02ym42r556ibzh7s937blgmkfpb6bqrgz100vwccyljwrwddzdbd";
+       version = "0.9.0";
+       sha256 = "14bxm6djq4571w313q0qj3v2mfrb2ji2cy0sgl5fh5bsbk2m5i3g";
        libraryHaskellDepends = [ base containers mtl pretty xml ];
        homepage = "http://community.haskell.org/~aslatter/code/xcb-types";
        description = "Parses XML files used by the XCB project";
@@ -220506,8 +225874,8 @@ self: {
      }:
      mkDerivation {
        pname = "xcffib";
-       version = "0.5.1";
-       sha256 = "13dpi3g53mj2la9n2igidcnb4376nqkv9z09nx0g2yq6hix7ng8x";
+       version = "0.6.0";
+       sha256 = "1cwwj68lfz51npkll4w024555rq9ra86xh4j9ksd1fqgadzf4rwn";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -220645,8 +226013,8 @@ self: {
      }:
      mkDerivation {
        pname = "xeno";
-       version = "0.3.2";
-       sha256 = "14vwfkhfrxpa0mszjlbvm704nnv1xpbnb4klsyifihp7j4hngpp9";
+       version = "0.3.3";
+       sha256 = "034d38kcgpil1xf32cl131jh7b0x8awhxwv1nnc790x5wn876c0x";
        libraryHaskellDepends = [
          array base bytestring deepseq mtl mutable-containers vector
        ];
@@ -220793,12 +226161,12 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
-  "xhtml_3000_2_2" = callPackage
+  "xhtml_3000_2_2_1" = callPackage
     ({ mkDerivation, base }:
      mkDerivation {
        pname = "xhtml";
-       version = "3000.2.2";
-       sha256 = "0z34m5jfvjyzqjr81kk6mp2dyf0iay5zl8xlzwl3k5zdfl5hsz74";
+       version = "3000.2.2.1";
+       sha256 = "0939kwpinq6l4n3nyvd1gzyl7f83gymw0wzqndlgy1yc7q0nkj2w";
        libraryHaskellDepends = [ base ];
        homepage = "https://github.com/haskell/xhtml";
        description = "An XHTML combinator library";
@@ -221000,34 +226368,6 @@ self: {
      }) {};
 
   "xlsx" = callPackage
-    ({ mkDerivation, base, base64-bytestring, binary-search, bytestring
-     , conduit, containers, data-default, Diff, errors, extra, filepath
-     , groom, lens, mtl, mtl-compat, network-uri, old-locale
-     , raw-strings-qq, safe, smallcheck, tasty, tasty-hunit
-     , tasty-smallcheck, text, time, transformers, vector, xml-conduit
-     , zip-archive, zlib
-     }:
-     mkDerivation {
-       pname = "xlsx";
-       version = "0.6.0";
-       sha256 = "1a6xvk8b0lsqr3m712879vr3z84snkzcfb9ykikf2azz69kn7y4k";
-       libraryHaskellDepends = [
-         base base64-bytestring binary-search bytestring conduit containers
-         data-default errors extra filepath lens mtl mtl-compat network-uri
-         old-locale safe text time transformers vector xml-conduit
-         zip-archive zlib
-       ];
-       testHaskellDepends = [
-         base bytestring containers Diff groom lens mtl raw-strings-qq
-         smallcheck tasty tasty-hunit tasty-smallcheck text time vector
-         xml-conduit
-       ];
-       homepage = "https://github.com/qrilka/xlsx";
-       description = "Simple and incomplete Excel file parser/writer";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-
-  "xlsx_0_7_0" = callPackage
     ({ mkDerivation, attoparsec, base, base64-bytestring, binary-search
      , bytestring, conduit, containers, criterion, data-default, deepseq
      , Diff, errors, extra, filepath, groom, lens, mtl, network-uri
@@ -221037,8 +226377,8 @@ self: {
      }:
      mkDerivation {
        pname = "xlsx";
-       version = "0.7.0";
-       sha256 = "1fg0y6raxavqnk6hnchjppizc01zszav78hdf38d3c7rgnd0vnmd";
+       version = "0.7.2";
+       sha256 = "00qigyz4nc23abawapxhw0sgmj9c5qplkkvyv6xxffanx9kh8mmj";
        libraryHaskellDepends = [
          attoparsec base base64-bytestring binary-search bytestring conduit
          containers data-default deepseq errors extra filepath lens mtl
@@ -221063,23 +226403,6 @@ self: {
      }:
      mkDerivation {
        pname = "xlsx-tabular";
-       version = "0.2.2";
-       sha256 = "0mjmyx7bnbzbwvfiwgsmchl9gyzhn0dbvmr2bwcg4fmddqzmrnfl";
-       libraryHaskellDepends = [
-         aeson base bytestring containers data-default lens text xlsx
-       ];
-       testHaskellDepends = [ base ];
-       homepage = "https://github.com/kkazuo/xlsx-tabular";
-       description = "Xlsx table cell value extraction utility";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "xlsx-tabular_0_2_2_1" = callPackage
-    ({ mkDerivation, aeson, base, bytestring, containers, data-default
-     , lens, text, xlsx
-     }:
-     mkDerivation {
-       pname = "xlsx-tabular";
        version = "0.2.2.1";
        sha256 = "0bgxs1a0prnq6ljvv1g3rs39565w4609hv3ckq0gk0fz85yqkpa8";
        libraryHaskellDepends = [
@@ -221158,7 +226481,7 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
-  "xml-conduit" = callPackage
+  "xml-conduit_1_7_1_2" = callPackage
     ({ mkDerivation, attoparsec, base, blaze-builder, blaze-html
      , blaze-markup, bytestring, conduit, conduit-extra, containers
      , data-default-class, deepseq, hspec, HUnit, monad-control
@@ -221180,9 +226503,10 @@ self: {
        homepage = "http://github.com/snoyberg/xml";
        description = "Pure-Haskell utilities for dealing with XML with the conduit package";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
-  "xml-conduit_1_8_0" = callPackage
+  "xml-conduit" = callPackage
     ({ mkDerivation, attoparsec, base, blaze-html, blaze-markup
      , bytestring, conduit, conduit-extra, containers
      , data-default-class, deepseq, hspec, HUnit, monad-control
@@ -221204,7 +226528,6 @@ self: {
        homepage = "http://github.com/snoyberg/xml";
        description = "Pure-Haskell utilities for dealing with XML with the conduit package";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "xml-conduit-decode" = callPackage
@@ -221328,27 +226651,6 @@ self: {
      }:
      mkDerivation {
        pname = "xml-hamlet";
-       version = "0.4.1.1";
-       sha256 = "0bfhk3hdg70j91g5i9ygz0nmbpffnxa4kh5h828fdgml54i5sv2d";
-       libraryHaskellDepends = [
-         base containers parsec shakespeare template-haskell text
-         xml-conduit
-       ];
-       testHaskellDepends = [
-         base containers hspec HUnit parsec shakespeare template-haskell
-         text xml-conduit
-       ];
-       homepage = "http://www.yesodweb.com/";
-       description = "Hamlet-style quasiquoter for XML content";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "xml-hamlet_0_5_0" = callPackage
-    ({ mkDerivation, base, containers, hspec, HUnit, parsec
-     , shakespeare, template-haskell, text, xml-conduit
-     }:
-     mkDerivation {
-       pname = "xml-hamlet";
        version = "0.5.0";
        sha256 = "18qmj14jzh379fni477h5hrzcy1x7dajfczx1s3w4wiyv2mc1kkv";
        libraryHaskellDepends = [
@@ -221362,7 +226664,6 @@ self: {
        homepage = "http://www.yesodweb.com/";
        description = "Hamlet-style quasiquoter for XML content";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "xml-helpers" = callPackage
@@ -221462,6 +226763,31 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "xml-isogen_0_3_0" = callPackage
+    ({ mkDerivation, base, data-default, deepseq, dom-parser
+     , generic-arbitrary, hspec, lens, mtl, QuickCheck
+     , quickcheck-instances, semigroups, template-haskell, text
+     , xml-conduit, xml-conduit-writer
+     }:
+     mkDerivation {
+       pname = "xml-isogen";
+       version = "0.3.0";
+       sha256 = "05qa83jzmfqa5yhzgp3n3bxi0dvyy9xdfgq1ymi0wa6xnmxjv0cz";
+       libraryHaskellDepends = [
+         base deepseq dom-parser lens mtl QuickCheck semigroups
+         template-haskell text xml-conduit xml-conduit-writer
+       ];
+       testHaskellDepends = [
+         base data-default deepseq dom-parser generic-arbitrary hspec
+         QuickCheck quickcheck-instances semigroups xml-conduit
+         xml-conduit-writer
+       ];
+       homepage = "https://github.com/typeable/xml-isogen";
+       description = "Generate XML-isomorphic types";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "xml-lens" = callPackage
     ({ mkDerivation, base, case-insensitive, containers, lens, text
      , xml-conduit
@@ -221587,6 +226913,7 @@ self: {
        homepage = "https://github.com/sannsyn/xml-query";
        description = "A parser-agnostic declarative API for querying XML-documents";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "xml-query-xml-conduit" = callPackage
@@ -221785,8 +227112,8 @@ self: {
      }:
      mkDerivation {
        pname = "xmlbf";
-       version = "0.3";
-       sha256 = "0zvv7ajwj45wsm751951i37ncn2lh73d8h5vqhladi2g14pi9yjb";
+       version = "0.4";
+       sha256 = "1f63ibvv7ywly7paam238y4bjhvg7jmn87368dnv5lsz28mq432m";
        libraryHaskellDepends = [
          base bytestring containers text transformers unordered-containers
        ];
@@ -221851,8 +227178,8 @@ self: {
      }:
      mkDerivation {
        pname = "xmlgen";
-       version = "0.6.2.1";
-       sha256 = "1rmsg9wxs0bsj0xpagxrm3fmlqd63b0dfyc21rx9jj76g9za29wh";
+       version = "0.6.2.2";
+       sha256 = "1milbbr2iqwckqbq6i9sypinvs4hs7mzqn274x350psjfy6ajvwj";
        libraryHaskellDepends = [
          base blaze-builder bytestring containers mtl text
        ];
@@ -221944,15 +227271,16 @@ self: {
 
   "xmobar" = callPackage
     ({ mkDerivation, alsa-core, alsa-mixer, base, bytestring
-     , containers, dbus, directory, filepath, hinotify, HTTP, iwlib
-     , libmpd, libXpm, libXrandr, libXrender, mtl, old-locale, parsec
-     , process, regex-compat, stm, time, timezone-olson, timezone-series
-     , transformers, unix, utf8-string, wirelesstools, X11, X11-xft
+     , containers, dbus, directory, filepath, hinotify, hspec, HTTP
+     , iwlib, libmpd, libXpm, libXrandr, libXrender, mtl, old-locale
+     , parsec, process, regex-compat, stm, time, timezone-olson
+     , timezone-series, transformers, unix, utf8-string, wirelesstools
+     , X11, X11-xft
      }:
      mkDerivation {
        pname = "xmobar";
-       version = "0.25";
-       sha256 = "0382r4vzqkz76jlp2069rdbwf4gh1a22r9w4rkphcn5qflw0dlb6";
+       version = "0.26";
+       sha256 = "19g40vqj3cs94i27f66194k7d5cazrv1lx54bz9kc0qy2npxjzgz";
        configureFlags = [ "-fall_extensions" ];
        isLibrary = false;
        isExecutable = true;
@@ -221965,10 +227293,14 @@ self: {
        executableSystemDepends = [
          libXpm libXrandr libXrender wirelesstools
        ];
+       testHaskellDepends = [
+         base bytestring containers directory filepath hspec mtl old-locale
+         parsec process regex-compat stm time transformers unix X11
+       ];
        homepage = "http://xmobar.org";
        description = "A Minimalistic Text Based Status Bar";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
+       hydraPlatforms = [ "i686-linux" "x86_64-linux" ];
      }) {inherit (pkgs.xorg) libXpm; inherit (pkgs.xorg) libXrandr; 
          inherit (pkgs.xorg) libXrender; inherit (pkgs) wirelesstools;};
 
@@ -222117,8 +227449,8 @@ self: {
      }:
      mkDerivation {
        pname = "xmonad-extras";
-       version = "0.13.2";
-       sha256 = "1ixnr76gmym9gab6m6r2rvrrvakxa5kda6cll9nbq954sjvj54jx";
+       version = "0.13.3";
+       sha256 = "15gxkkni3d6mr7zlzyp6nvzv0jy3vfhjkd8zrdin2nxb5pwwbsp0";
        configureFlags = [
          "-f-with_hlist" "-fwith_parsec" "-fwith_split"
        ];
@@ -222129,7 +227461,6 @@ self: {
        homepage = "https://github.com/xmonad/xmonad-extras";
        description = "Third party extensions for xmonad with wacky dependencies";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "xmonad-screenshot" = callPackage
@@ -222188,7 +227519,6 @@ self: {
        libraryHaskellDepends = [ base magic mtl random unix xmonad ];
        description = "xmonad wallpaper extension";
        license = stdenv.lib.licenses.lgpl3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "xmonad-windownames" = callPackage
@@ -222716,6 +228046,7 @@ self: {
        homepage = "https://github.com/leptonyu/yam/tree/master/yam-app#readme";
        description = "Yam App";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "yam-job" = callPackage
@@ -222727,6 +228058,7 @@ self: {
        libraryHaskellDepends = [ base cron yam-app ];
        homepage = "https://github.com/leptonyu/yam/tree/master/yam-job#readme";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "yam-servant" = callPackage
@@ -222744,6 +228076,7 @@ self: {
        ];
        homepage = "https://github.com/leptonyu/yam/tree/master/yam-app#readme";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "yam-transaction-odbc" = callPackage
@@ -222757,6 +228090,7 @@ self: {
        ];
        homepage = "https://github.com/leptonyu/yam/tree/master/yam-transaction-odbc#readme";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "yam-transaction-postgresql" = callPackage
@@ -222771,6 +228105,7 @@ self: {
        ];
        homepage = "https://github.com/leptonyu/yam/tree/master/yam-transaction-postgresql#readme";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "yamemo" = callPackage
@@ -222793,10 +228128,10 @@ self: {
      }:
      mkDerivation {
        pname = "yaml";
-       version = "0.8.28";
-       sha256 = "0swgkzkfrwj0ac7lssn8rnrdfmh3lcsdn5fbq2iwv55di6jbc0pp";
+       version = "0.8.29";
+       sha256 = "0x0gs80cq83i65b7g1xg6dvggkxlxhn1qs3py63c4wsjsplmyphs";
        revision = "1";
-       editedCabalFile = "0f8vb5v0xfpsc02zqh9pzgv4fir93sgijk342lz5k872gscfjn62";
+       editedCabalFile = "0hxmf36ydqr0gdwiagp57df7fxwhfy99r6s7mj861m8rflha0dks";
        configureFlags = [ "-fsystem-libyaml" ];
        isLibrary = true;
        isExecutable = true;
@@ -222806,7 +228141,6 @@ self: {
          transformers unordered-containers vector
        ];
        libraryPkgconfigDepends = [ libyaml ];
-       executableHaskellDepends = [ aeson base bytestring ];
        testHaskellDepends = [
          aeson base base-compat bytestring conduit directory hspec HUnit
          mockery resourcet temporary text transformers unordered-containers
@@ -222817,6 +228151,36 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {inherit (pkgs) libyaml;};
 
+  "yaml_0_8_30" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, base-compat, bytestring
+     , conduit, containers, directory, filepath, hspec, HUnit, libyaml
+     , mockery, resourcet, scientific, semigroups, template-haskell
+     , temporary, text, transformers, unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "yaml";
+       version = "0.8.30";
+       sha256 = "11dyjqs1rzhpidzfqdw3lg8rsm32jhjph54kc68k4dwib6fnwnyi";
+       configureFlags = [ "-fsystem-libyaml" ];
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson attoparsec base bytestring conduit containers directory
+         filepath resourcet scientific semigroups template-haskell text
+         transformers unordered-containers vector
+       ];
+       libraryPkgconfigDepends = [ libyaml ];
+       testHaskellDepends = [
+         aeson base base-compat bytestring conduit directory hspec HUnit
+         mockery resourcet temporary text transformers unordered-containers
+         vector
+       ];
+       homepage = "http://github.com/snoyberg/yaml/";
+       description = "Support for parsing and rendering YAML documents";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {inherit (pkgs) libyaml;};
+
   "yaml-combinators" = callPackage
     ({ mkDerivation, aeson, base, bytestring, doctest, generics-sop
      , scientific, tasty, tasty-hunit, text, transformers
@@ -223012,8 +228376,8 @@ self: {
        pname = "yampa-canvas";
        version = "0.2.2";
        sha256 = "0g1yvb6snnsbvy2f74lrlqff5zgnvfh2f6r8xdwxi61dk71qsz0n";
-       revision = "2";
-       editedCabalFile = "1wl5g0mrxkpkdlhjizh7m9z33pdygb460zxjm6qrcy90naywchqj";
+       revision = "4";
+       editedCabalFile = "1bqjfmssgg0jd6j5x727clk6wawbbh0hq8v0qpj4d5bfv4931pkb";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base blank-canvas stm time Yampa ];
@@ -223057,22 +228421,21 @@ self: {
        homepage = "https://github.com/ony/yampa-glut";
        description = "Connects Yampa and GLUT";
        license = stdenv.lib.licenses.gpl3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "yampa-sdl2" = callPackage
-    ({ mkDerivation, base, colour, linear, sdl2, sdl2-gfx, StateVar
-     , stm, text, Yampa
+    ({ mkDerivation, base, data-memocombinators, linear, sdl2, StateVar
+     , text, vector, Yampa
      }:
      mkDerivation {
        pname = "yampa-sdl2";
-       version = "0.0.3.1";
-       sha256 = "07wz2473i9z5rxpi6mb1m19fdps7fxl50hbp60b8ihbf2mck1br7";
+       version = "0.1.0.2";
+       sha256 = "17wcfb04dvdfcx8s21f36g4s3j3mvxgdfvm468gqqj3d3ks22zgp";
        libraryHaskellDepends = [
-         base colour linear sdl2 sdl2-gfx StateVar stm text Yampa
+         base data-memocombinators linear sdl2 StateVar text vector Yampa
        ];
        testHaskellDepends = [
-         base colour linear sdl2 sdl2-gfx StateVar stm text Yampa
+         base data-memocombinators linear sdl2 StateVar text vector Yampa
        ];
        homepage = "https://github.com/Simre1/YampaSDL2#readme";
        description = "Yampa and SDL2 made easy";
@@ -223371,7 +228734,7 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
-  "yesod" = callPackage
+  "yesod_1_4_5" = callPackage
     ({ mkDerivation, aeson, base, blaze-html, blaze-markup, bytestring
      , conduit, conduit-extra, data-default-class, directory
      , fast-logger, monad-control, monad-logger, resourcet, semigroups
@@ -223393,9 +228756,10 @@ self: {
        homepage = "http://www.yesodweb.com/";
        description = "Creation of type-safe, RESTful web applications";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
-  "yesod_1_6_0" = callPackage
+  "yesod" = callPackage
     ({ mkDerivation, aeson, base, blaze-html, blaze-markup, bytestring
      , conduit, data-default-class, directory, fast-logger, monad-logger
      , resourcet, semigroups, shakespeare, streaming-commons
@@ -223417,7 +228781,6 @@ self: {
        homepage = "http://www.yesodweb.com/";
        description = "Creation of type-safe, RESTful web applications";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "yesod-alerts" = callPackage
@@ -223502,35 +228865,6 @@ self: {
      , base64-bytestring, binary, blaze-builder, blaze-html
      , blaze-markup, byteable, bytestring, conduit, conduit-extra
      , containers, cryptonite, data-default, email-validate, file-embed
-     , http-client, http-conduit, http-types, lifted-base, memory
-     , mime-mail, network-uri, nonce, persistent, persistent-template
-     , random, resourcet, safe, shakespeare, template-haskell, text
-     , time, transformers, unordered-containers, wai, yesod-core
-     , yesod-form, yesod-persistent
-     }:
-     mkDerivation {
-       pname = "yesod-auth";
-       version = "1.4.21";
-       sha256 = "1qqwg9l65m9q3l8z0r1bnihqb5rbbp2c2w6gbk49kx9127rf4488";
-       libraryHaskellDepends = [
-         aeson authenticate base base16-bytestring base64-bytestring binary
-         blaze-builder blaze-html blaze-markup byteable bytestring conduit
-         conduit-extra containers cryptonite data-default email-validate
-         file-embed http-client http-conduit http-types lifted-base memory
-         mime-mail network-uri nonce persistent persistent-template random
-         resourcet safe shakespeare template-haskell text time transformers
-         unordered-containers wai yesod-core yesod-form yesod-persistent
-       ];
-       homepage = "http://www.yesodweb.com/";
-       description = "Authentication for Yesod";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-
-  "yesod-auth_1_6_2" = callPackage
-    ({ mkDerivation, aeson, authenticate, base, base16-bytestring
-     , base64-bytestring, binary, blaze-builder, blaze-html
-     , blaze-markup, byteable, bytestring, conduit, conduit-extra
-     , containers, cryptonite, data-default, email-validate, file-embed
      , http-client, http-client-tls, http-conduit, http-types, memory
      , mime-mail, network-uri, nonce, persistent, persistent-template
      , random, resourcet, safe, shakespeare, template-haskell, text
@@ -223539,8 +228873,8 @@ self: {
      }:
      mkDerivation {
        pname = "yesod-auth";
-       version = "1.6.2";
-       sha256 = "191sniq19glv0rdrhzqs2hhsjz9y25sqf15x0wnpmrmfh7jyyv6a";
+       version = "1.6.3";
+       sha256 = "1f4qhsfgar7c2yq7rsm7g3wndg6hhwbmcmjz8dbljdwmzmxl5px0";
        libraryHaskellDepends = [
          aeson authenticate base base16-bytestring base64-bytestring binary
          blaze-builder blaze-html blaze-markup byteable bytestring conduit
@@ -223554,7 +228888,6 @@ self: {
        homepage = "http://www.yesodweb.com/";
        description = "Authentication for Yesod";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "yesod-auth-account" = callPackage
@@ -223657,6 +228990,7 @@ self: {
        homepage = "https://github.com/yusent/yesod-auth-bcryptdb";
        description = "Authentication plugin for Yesod";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "yesod-auth-deskcom" = callPackage
@@ -223684,17 +229018,16 @@ self: {
 
   "yesod-auth-fb" = callPackage
     ({ mkDerivation, aeson, base, bytestring, conduit, fb, http-conduit
-     , lifted-base, shakespeare, text, time, transformers, wai
+     , resourcet, shakespeare, text, time, transformers, unliftio, wai
      , yesod-auth, yesod-core, yesod-fb
      }:
      mkDerivation {
        pname = "yesod-auth-fb";
-       version = "1.8.1";
-       sha256 = "0y7vl91ih3w2wdv62hpa180l2536778s64w9vqygh7cd9rmikdzg";
+       version = "1.9.0";
+       sha256 = "1hj6xb7rv28dz8jzygckqg5m5igy78zx0gpc6zmp7g5j0dvinxg8";
        libraryHaskellDepends = [
-         aeson base bytestring conduit fb http-conduit lifted-base
-         shakespeare text time transformers wai yesod-auth yesod-core
-         yesod-fb
+         aeson base bytestring conduit fb http-conduit resourcet shakespeare
+         text time transformers unliftio wai yesod-auth yesod-core yesod-fb
        ];
        homepage = "https://github.com/psibi/yesod-auth-fb";
        description = "Authentication backend for Yesod using Facebook";
@@ -223710,32 +229043,6 @@ self: {
      }:
      mkDerivation {
        pname = "yesod-auth-hashdb";
-       version = "1.6.2";
-       sha256 = "1cydpwy8i5z1ya5k3kn3qx0np3lhv9cka5c6gajwvla8kpgy11df";
-       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
-       ];
-       homepage = "https://github.com/paul-rouse/yesod-auth-hashdb";
-       description = "Authentication plugin for Yesod";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-
-  "yesod-auth-hashdb_1_7" = 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";
        sha256 = "072g8c2phhgphj0469qg9chbninxwjkigy2pzhfl51zbm50skfb5";
        libraryHaskellDepends = [
@@ -223751,7 +229058,6 @@ self: {
        homepage = "https://github.com/paul-rouse/yesod-auth-hashdb";
        description = "Authentication plugin for Yesod";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "yesod-auth-hmac-keccak" = callPackage
@@ -223761,8 +229067,8 @@ self: {
      }:
      mkDerivation {
        pname = "yesod-auth-hmac-keccak";
-       version = "0.0.0.4";
-       sha256 = "17i3xxxdpq58q7y80xrh266lzkl8dh686v25kpapn2r0c4vxm291";
+       version = "0.0.0.5";
+       sha256 = "1va81j58abhfi2hwgiac8d819yisy4g6nxq6l6gh0qvsg5r36j0g";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          aeson base bytestring cryptonite mtl persistent random shakespeare
@@ -223860,6 +229166,7 @@ self: {
        homepage = "https://github.com/danpalmer/yesod-auth-nopassword#readme";
        description = "A plugin for Yesod to provide email-only authentication";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "yesod-auth-oauth" = callPackage
@@ -223881,26 +229188,26 @@ self: {
      }) {};
 
   "yesod-auth-oauth2" = callPackage
-    ({ mkDerivation, aeson, authenticate, base, bytestring, hoauth2
-     , hspec, http-client, http-conduit, http-types, lifted-base
-     , microlens, network-uri, random, text, transformers
-     , uri-bytestring, vector, yesod-auth, yesod-core, yesod-form
+    ({ mkDerivation, aeson, base, bytestring, errors, hoauth2, hspec
+     , http-client, http-conduit, http-types, microlens, random
+     , safe-exceptions, text, uri-bytestring, yesod-auth, yesod-core
      }:
      mkDerivation {
        pname = "yesod-auth-oauth2";
-       version = "0.3.1";
-       sha256 = "0lgn72kvhvxr77243fikkvyd1gz7iw9lw7azvw2cdd6lwgn3p73i";
+       version = "0.5.0.0";
+       sha256 = "03qqaxwpdz15krnl8rnm6m3rlmpgfn1i41x1w7c4rhl701hy0vda";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         aeson authenticate base bytestring hoauth2 http-client http-conduit
-         http-types lifted-base microlens network-uri random text
-         transformers uri-bytestring vector yesod-auth yesod-core yesod-form
+         aeson base bytestring errors hoauth2 http-client http-conduit
+         http-types microlens random safe-exceptions text uri-bytestring
+         yesod-auth yesod-core
        ];
        testHaskellDepends = [ base hspec uri-bytestring ];
        homepage = "http://github.com/thoughtbot/yesod-auth-oauth2";
        description = "OAuth 2.0 authentication plugins";
-       license = stdenv.lib.licenses.bsd3;
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "yesod-auth-pam" = callPackage
@@ -223958,40 +229265,6 @@ self: {
      }) {};
 
   "yesod-bin" = callPackage
-    ({ mkDerivation, async, attoparsec, base, base64-bytestring
-     , blaze-builder, bytestring, Cabal, conduit, conduit-extra
-     , containers, data-default-class, deepseq, directory, file-embed
-     , filepath, fsnotify, http-client, http-client-tls
-     , http-reverse-proxy, http-types, lifted-base, network
-     , optparse-applicative, parsec, process, project-template
-     , resourcet, safe-exceptions, say, shakespeare, split, stm
-     , streaming-commons, tar, template-haskell, text, time
-     , transformers, transformers-compat, unix-compat
-     , unordered-containers, wai, wai-extra, warp, warp-tls, yaml, zlib
-     }:
-     mkDerivation {
-       pname = "yesod-bin";
-       version = "1.5.3";
-       sha256 = "06q1lnr3q8hplm2fd6blkp2z9awnslyaabjj2pg1cxq2ki9ndvmq";
-       isLibrary = false;
-       isExecutable = true;
-       executableHaskellDepends = [
-         async attoparsec base base64-bytestring blaze-builder bytestring
-         Cabal conduit conduit-extra containers data-default-class deepseq
-         directory file-embed filepath fsnotify http-client http-client-tls
-         http-reverse-proxy http-types lifted-base network
-         optparse-applicative parsec process project-template resourcet
-         safe-exceptions say shakespeare split stm streaming-commons tar
-         template-haskell text time transformers transformers-compat
-         unix-compat unordered-containers wai wai-extra warp warp-tls yaml
-         zlib
-       ];
-       homepage = "http://www.yesodweb.com/";
-       description = "The yesod helper executable";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-
-  "yesod-bin_1_6_0" = callPackage
     ({ mkDerivation, attoparsec, base, base64-bytestring, blaze-builder
      , bytestring, Cabal, conduit, conduit-extra, containers
      , data-default-class, directory, file-embed, filepath, fsnotify
@@ -224004,8 +229277,8 @@ self: {
      }:
      mkDerivation {
        pname = "yesod-bin";
-       version = "1.6.0";
-       sha256 = "096yxpb6dxy44s2ydf137rmd0b7zm5ww4yqkf7mnapslhc25wznn";
+       version = "1.6.0.2";
+       sha256 = "0x1lr6xm4h3x1ld42xs946aq4sn0g5x147bxqjxr5bfswj7vjk5k";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -224039,6 +229312,7 @@ self: {
        homepage = "https://github.com/andrewthad/haskell-bootstrap";
        description = "Bootstrap widgets for yesod";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "yesod-colonnade" = callPackage
@@ -224055,6 +229329,7 @@ self: {
        homepage = "https://github.com/andrewthad/colonnade#readme";
        description = "Helper functions for using yesod with colonnade";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "yesod-comments" = callPackage
@@ -224120,7 +229395,7 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
-  "yesod-core" = callPackage
+  "yesod-core_1_4_37_3" = callPackage
     ({ mkDerivation, aeson, async, auto-update, base, blaze-builder
      , blaze-html, blaze-markup, byteable, bytestring, case-insensitive
      , cereal, clientsession, conduit, conduit-extra, containers, cookie
@@ -224161,9 +229436,10 @@ self: {
        homepage = "http://www.yesodweb.com/";
        description = "Creation of type-safe, RESTful web applications";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
-  "yesod-core_1_6_2" = callPackage
+  "yesod-core" = callPackage
     ({ mkDerivation, aeson, async, auto-update, base, blaze-html
      , blaze-markup, byteable, bytestring, case-insensitive, cereal
      , clientsession, conduit, conduit-extra, containers, cookie
@@ -224177,8 +229453,48 @@ self: {
      }:
      mkDerivation {
        pname = "yesod-core";
-       version = "1.6.2";
-       sha256 = "0fcbp47rmljz0jas2gz9j7qswa4dab2fzf9mgs4sbk75s76i01b8";
+       version = "1.6.4";
+       sha256 = "09r714ibpml8mqbqhnckync5a0kb7fyz079m9lapmvhq1yvl4zld";
+       libraryHaskellDepends = [
+         aeson auto-update base blaze-html blaze-markup byteable bytestring
+         case-insensitive cereal clientsession conduit conduit-extra
+         containers cookie deepseq deepseq-generics directory fast-logger
+         http-types monad-logger mtl old-locale parsec path-pieces primitive
+         random resourcet safe semigroups shakespeare template-haskell text
+         time transformers unix-compat unliftio unordered-containers vector
+         wai wai-extra wai-logger warp word8
+       ];
+       testHaskellDepends = [
+         async base bytestring clientsession conduit conduit-extra
+         containers cookie hspec hspec-expectations http-types HUnit network
+         path-pieces QuickCheck random resourcet shakespeare
+         streaming-commons template-haskell text transformers unliftio wai
+         wai-extra
+       ];
+       benchmarkHaskellDepends = [
+         base blaze-html bytestring gauge shakespeare text transformers
+       ];
+       homepage = "http://www.yesodweb.com/";
+       description = "Creation of type-safe, RESTful web applications";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "yesod-core_1_6_5" = callPackage
+    ({ mkDerivation, aeson, async, auto-update, base, blaze-html
+     , blaze-markup, byteable, bytestring, case-insensitive, cereal
+     , clientsession, conduit, conduit-extra, containers, cookie
+     , deepseq, deepseq-generics, directory, fast-logger, gauge, hspec
+     , hspec-expectations, http-types, HUnit, monad-logger, mtl, network
+     , old-locale, parsec, path-pieces, primitive, QuickCheck, random
+     , resourcet, safe, semigroups, shakespeare, streaming-commons
+     , template-haskell, text, time, transformers, unix-compat, unliftio
+     , unordered-containers, vector, wai, wai-extra, wai-logger, warp
+     , word8
+     }:
+     mkDerivation {
+       pname = "yesod-core";
+       version = "1.6.5";
+       sha256 = "0yj06bfw7cln4waf76nfj1dm1f5fd13i896f5iy33035xc0bwiml";
        libraryHaskellDepends = [
          aeson auto-update base blaze-html blaze-markup byteable bytestring
          case-insensitive cereal clientsession conduit conduit-extra
@@ -224340,6 +229656,7 @@ self: {
        libraryHaskellDepends = [ base blaze-html yesod-core ];
        description = "Non template haskell markup building function in the spirit of lucid";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "yesod-eventsource" = callPackage
@@ -224348,23 +229665,6 @@ self: {
      }:
      mkDerivation {
        pname = "yesod-eventsource";
-       version = "1.4.1";
-       sha256 = "04ry7mzrwxjvgx5y2mcjsjghv6b39dh6zsg834vw5maf0wnph6a0";
-       libraryHaskellDepends = [
-         base blaze-builder conduit transformers wai wai-eventsource
-         wai-extra yesod-core
-       ];
-       homepage = "http://www.yesodweb.com/";
-       description = "Server-sent events support for Yesod apps";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-
-  "yesod-eventsource_1_6_0" = callPackage
-    ({ mkDerivation, base, blaze-builder, conduit, transformers, wai
-     , wai-eventsource, wai-extra, yesod-core
-     }:
-     mkDerivation {
-       pname = "yesod-eventsource";
        version = "1.6.0";
        sha256 = "12s11q6zga37xyynll7b30gpv02k7jmmzfassshci02y9niyrkkg";
        libraryHaskellDepends = [
@@ -224374,7 +229674,6 @@ self: {
        homepage = "http://www.yesodweb.com/";
        description = "Server-sent events support for Yesod apps";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "yesod-examples" = callPackage
@@ -224445,22 +229744,22 @@ self: {
 
   "yesod-fb" = callPackage
     ({ mkDerivation, aeson, base, bytestring, conduit, crypto-api, fb
-     , http-conduit, text, wai, yesod-core
+     , http-client-tls, http-conduit, text, wai, yesod-core
      }:
      mkDerivation {
        pname = "yesod-fb";
-       version = "0.4.0";
-       sha256 = "043k4rzvzyjibyq94vjsk2mvs4l2bwfn41h1jrhfsppw42zh3pcm";
+       version = "0.5.0";
+       sha256 = "1ns113f2ylim1b3r2dgwgc65yfy6qxjh9miqfz2fx29fq4250dyy";
        libraryHaskellDepends = [
-         aeson base bytestring conduit crypto-api fb http-conduit text wai
-         yesod-core
+         aeson base bytestring conduit crypto-api fb http-client-tls
+         http-conduit text wai yesod-core
        ];
        homepage = "https://github.com/psibi/yesod-fb";
        description = "Useful glue functions between the fb library and Yesod";
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "yesod-form" = callPackage
+  "yesod-form_1_4_16" = callPackage
     ({ mkDerivation, aeson, attoparsec, base, blaze-builder, blaze-html
      , blaze-markup, byteable, bytestring, containers, data-default
      , email-validate, hspec, network-uri, persistent, resourcet
@@ -224482,9 +229781,10 @@ self: {
        homepage = "http://www.yesodweb.com/";
        description = "Form handling support for Yesod Web Framework";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
-  "yesod-form_1_6_1" = callPackage
+  "yesod-form" = callPackage
     ({ mkDerivation, aeson, attoparsec, base, blaze-builder, blaze-html
      , blaze-markup, byteable, bytestring, containers, data-default
      , email-validate, hspec, network-uri, persistent, resourcet
@@ -224506,21 +229806,35 @@ self: {
        homepage = "http://www.yesodweb.com/";
        description = "Form handling support for Yesod Web Framework";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "yesod-form-bootstrap4" = callPackage
     ({ mkDerivation, base, classy-prelude-yesod, yesod-form }:
      mkDerivation {
        pname = "yesod-form-bootstrap4";
-       version = "0.1.0.2";
-       sha256 = "0lsdvs33xsy7ipr44calfhyf375mkq7h3axi39q91f28r76iy6cf";
+       version = "0.1.1";
+       sha256 = "17bdd0pmhpj85w7vc7vzzb3iggl3azr1jzpkmy9x9mxdl1birgmg";
        libraryHaskellDepends = [ base classy-prelude-yesod yesod-form ];
        homepage = "https://github.com/ncaq/yesod-form-bootstrap4#readme";
        description = "renderBootstrap4";
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "yesod-form-bootstrap4_1_0_0" = callPackage
+    ({ mkDerivation, base, shakespeare, text, yesod-core, yesod-form }:
+     mkDerivation {
+       pname = "yesod-form-bootstrap4";
+       version = "1.0.0";
+       sha256 = "0z19w6d612qxl0w6nmq2vc467s9s9q6ncbjjc2l620px2i7iqrfq";
+       libraryHaskellDepends = [
+         base shakespeare text yesod-core yesod-form
+       ];
+       homepage = "https://github.com/ncaq/yesod-form-bootstrap4#readme";
+       description = "renderBootstrap4";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "yesod-form-json" = callPackage
     ({ mkDerivation, aeson, base, bytestring, containers, text
      , unordered-containers, yesod-core, yesod-form
@@ -224552,26 +229866,10 @@ self: {
        homepage = "http://github.com/geraldus/yesod-form-richtext#readme";
        description = "Various rich-text WYSIWYG editors for Yesod forms";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "yesod-gitrepo" = callPackage
-    ({ mkDerivation, base, directory, enclosed-exceptions, http-types
-     , lifted-base, process, temporary, text, wai, yesod-core
-     }:
-     mkDerivation {
-       pname = "yesod-gitrepo";
-       version = "0.2.1.0";
-       sha256 = "1v47d6gvw3d19mqip36y54c4d84f48jgybdwgdl8r20zfwvhyvkf";
-       libraryHaskellDepends = [
-         base directory enclosed-exceptions http-types lifted-base process
-         temporary text wai yesod-core
-       ];
-       homepage = "https://github.com/snoyberg/yesod-gitrepo";
-       description = "Host content provided by a Git repo";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-
-  "yesod-gitrepo_0_3_0" = callPackage
     ({ mkDerivation, base, directory, http-types, process, temporary
      , text, unliftio, wai, yesod-core
      }:
@@ -224586,7 +229884,6 @@ self: {
        homepage = "https://github.com/snoyberg/yesod-gitrepo#readme";
        description = "Host content provided by a Git repo";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "yesod-gitrev" = callPackage
@@ -224594,13 +229891,17 @@ self: {
      }:
      mkDerivation {
        pname = "yesod-gitrev";
-       version = "0.1.0.0";
-       sha256 = "0jcgc8l2gh6ahxwddra0jyf78bi4rzff9nfi1knjxixfll73rrih";
+       version = "0.2.0.0";
+       sha256 = "0lp0zraj6015bl8pcgi9b9w4d1yf0lb4awy25jv5xrcrc173g7yz";
+       revision = "1";
+       editedCabalFile = "1b0df34lz569gnwbbz0p20dml6bi2nbva9wfdsxyvva0dhvxjaz5";
        libraryHaskellDepends = [
          aeson base gitrev template-haskell yesod-core
        ];
+       homepage = "https://github.com/DanBurton/yesod-gitrev";
        description = "A subsite for displaying git information";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "yesod-goodies" = callPackage
@@ -224698,6 +229999,7 @@ self: {
        libraryHaskellDepends = [ base lucid monads-tf text yesod-core ];
        description = "Lucid support for Yesod";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "yesod-mangopay" = callPackage
@@ -224728,8 +230030,8 @@ self: {
      }:
      mkDerivation {
        pname = "yesod-markdown";
-       version = "0.12.2";
-       sha256 = "0bakc1znfqpjmm2yw7sd1gsqkq47bpr3alz6d2fp280qdxjb7hsx";
+       version = "0.12.3";
+       sha256 = "10vnip7yifq3li4jwql5pzrdaqf1z2bb4h99rf1iqzvd3b8mqq30";
        libraryHaskellDepends = [
          base blaze-html blaze-markup bytestring directory pandoc persistent
          shakespeare text xss-sanitize yesod-core yesod-form
@@ -224738,7 +230040,6 @@ self: {
        homepage = "http://github.com/pbrisbin/yesod-markdown";
        description = "Tools for using markdown in a yesod application";
        license = stdenv.lib.licenses.gpl2;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "yesod-media-simple" = callPackage
@@ -224747,8 +230048,8 @@ self: {
      }:
      mkDerivation {
        pname = "yesod-media-simple";
-       version = "0.2.0.0";
-       sha256 = "1sfz1iczsqhg8vasc4zyfwpw48hjlslfwf8r60a1c7kgrpa9yj6k";
+       version = "0.2.0.1";
+       sha256 = "1687c46qqdpzvalfi4dajsxaml1ljipysbvz9j1jargl3jrsdfqi";
        libraryHaskellDepends = [
          base bytestring diagrams-cairo diagrams-core diagrams-lib directory
          JuicyPixels vector yesod
@@ -224765,23 +230066,6 @@ self: {
      }:
      mkDerivation {
        pname = "yesod-newsfeed";
-       version = "1.6";
-       sha256 = "05kmnv0by94la3np715j6my41y8wqlvc0h8rf09zvrrg003bqvaf";
-       libraryHaskellDepends = [
-         base blaze-html blaze-markup bytestring containers shakespeare text
-         time xml-conduit yesod-core
-       ];
-       homepage = "http://www.yesodweb.com/";
-       description = "Helper functions and data types for producing News feeds";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-
-  "yesod-newsfeed_1_6_1_0" = callPackage
-    ({ mkDerivation, base, blaze-html, blaze-markup, bytestring
-     , containers, shakespeare, text, time, xml-conduit, yesod-core
-     }:
-     mkDerivation {
-       pname = "yesod-newsfeed";
        version = "1.6.1.0";
        sha256 = "05cnyz9g76hnfmhqfav16mghr0x42fqnz1zi0ki4bjkl5mcrf2vd";
        libraryHaskellDepends = [
@@ -224791,7 +230075,6 @@ self: {
        homepage = "http://www.yesodweb.com/";
        description = "Helper functions and data types for producing News feeds";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "yesod-paginate" = callPackage
@@ -224861,7 +230144,7 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
-  "yesod-persistent" = callPackage
+  "yesod-persistent_1_4_3" = callPackage
     ({ mkDerivation, base, blaze-builder, conduit, hspec, persistent
      , persistent-sqlite, persistent-template, resource-pool, resourcet
      , text, transformers, wai-extra, yesod-core
@@ -224881,9 +230164,10 @@ self: {
        homepage = "http://www.yesodweb.com/";
        description = "Some helpers for using Persistent from Yesod";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
-  "yesod-persistent_1_6_0" = callPackage
+  "yesod-persistent" = callPackage
     ({ mkDerivation, base, blaze-builder, conduit, hspec, persistent
      , persistent-sqlite, persistent-template, resource-pool, resourcet
      , text, transformers, wai-extra, yesod-core
@@ -224903,7 +230187,6 @@ self: {
        homepage = "http://www.yesodweb.com/";
        description = "Some helpers for using Persistent from Yesod";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "yesod-platform" = callPackage
@@ -225054,6 +230337,7 @@ self: {
        ];
        description = "RAML style route definitions for Yesod";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "yesod-raml-bin" = callPackage
@@ -225146,8 +230430,8 @@ self: {
      }:
      mkDerivation {
        pname = "yesod-recaptcha2";
-       version = "0.2.3";
-       sha256 = "1q7anpls9nczvx65ba64nd1gmqgkznfd1ghv6c7z7pndq5cy91in";
+       version = "0.2.4";
+       sha256 = "1aw104i2v9m6dc5z5iqzihjfybfxg90l0rj0pazb672qzp9yqj18";
        libraryHaskellDepends = [
          base classy-prelude-yesod http-conduit yesod-auth
        ];
@@ -225194,6 +230478,7 @@ self: {
        homepage = "https://github.com/frontrowed/yesod-routes-flow";
        description = "Generate Flow routes for Yesod";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "yesod-routes-typescript" = callPackage
@@ -225292,23 +230577,6 @@ self: {
      }:
      mkDerivation {
        pname = "yesod-sitemap";
-       version = "1.4.0.1";
-       sha256 = "0ri67r3yjngn4m2lj071n2v3r9w7pvsl24rayf41k7w9j3ylk100";
-       libraryHaskellDepends = [
-         base conduit containers data-default text time xml-conduit
-         xml-types yesod-core
-       ];
-       homepage = "http://www.yesodweb.com/";
-       description = "Generate XML sitemaps";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-
-  "yesod-sitemap_1_6_0" = callPackage
-    ({ mkDerivation, base, conduit, containers, data-default, text
-     , time, xml-conduit, xml-types, yesod-core
-     }:
-     mkDerivation {
-       pname = "yesod-sitemap";
        version = "1.6.0";
        sha256 = "1mnv658z36ja1avig0g4pirb2i9vqriycykhfky74xymvjmhdyp5";
        libraryHaskellDepends = [
@@ -225318,10 +230586,9 @@ self: {
        homepage = "http://www.yesodweb.com/";
        description = "Generate XML sitemaps";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
-  "yesod-static" = callPackage
+  "yesod-static_1_5_3_1" = callPackage
     ({ mkDerivation, async, attoparsec, base, base64-bytestring
      , blaze-builder, byteable, bytestring, conduit, conduit-extra
      , containers, cryptonite, cryptonite-conduit, css-text
@@ -225354,9 +230621,10 @@ self: {
        homepage = "http://www.yesodweb.com/";
        description = "Static file serving subsite for Yesod Web Framework";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
-  "yesod-static_1_6_0" = callPackage
+  "yesod-static" = callPackage
     ({ mkDerivation, async, attoparsec, base, base64-bytestring
      , blaze-builder, byteable, bytestring, conduit, containers
      , cryptonite, cryptonite-conduit, css-text, data-default, directory
@@ -225389,7 +230657,6 @@ self: {
        homepage = "http://www.yesodweb.com/";
        description = "Static file serving subsite for Yesod Web Framework";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "yesod-static-angular" = callPackage
@@ -225416,6 +230683,7 @@ self: {
        homepage = "https://bitbucket.org/wuzzeb/yesod-static-angular";
        description = "Yesod generators for embedding AngularJs code into yesod-static at compile time";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "yesod-table" = callPackage
@@ -225443,10 +230711,9 @@ self: {
        libraryHaskellDepends = [ base hamlet persistent yesod ];
        description = "Table view for Yesod applications";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
-  "yesod-test" = callPackage
+  "yesod-test_1_5_9_1" = callPackage
     ({ mkDerivation, attoparsec, base, blaze-builder, blaze-html
      , blaze-markup, bytestring, case-insensitive, containers, cookie
      , hspec, hspec-core, html-conduit, http-types, HUnit, lifted-base
@@ -225471,9 +230738,10 @@ self: {
        homepage = "http://www.yesodweb.com";
        description = "integration testing for WAI/Yesod Applications";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
-  "yesod-test_1_6_2" = callPackage
+  "yesod-test" = callPackage
     ({ mkDerivation, attoparsec, base, blaze-builder, blaze-html
      , blaze-markup, bytestring, case-insensitive, conduit, containers
      , cookie, hspec, hspec-core, html-conduit, http-types, HUnit
@@ -225483,8 +230751,8 @@ self: {
      }:
      mkDerivation {
        pname = "yesod-test";
-       version = "1.6.2";
-       sha256 = "172m7nafq8w1j3cm6p110vlxzy14y6pgm8ica357b1qn0wvzd39x";
+       version = "1.6.4";
+       sha256 = "0nxrscg4rxdwvivpxfsc735zr8w72w5vrlgaw1mq6ikn4cwidyng";
        libraryHaskellDepends = [
          attoparsec base blaze-builder blaze-html blaze-markup bytestring
          case-insensitive conduit containers cookie hspec-core html-conduit
@@ -225498,7 +230766,6 @@ self: {
        homepage = "http://www.yesodweb.com";
        description = "integration testing for WAI/Yesod Applications";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "yesod-test-json" = callPackage
@@ -225526,8 +230793,8 @@ self: {
      }:
      mkDerivation {
        pname = "yesod-text-markdown";
-       version = "0.1.8";
-       sha256 = "1k48wjnn4vvlh9cvh8p3yanjmr772vqz4jbz9nxk0vv9ab9dns81";
+       version = "0.1.10";
+       sha256 = "1p3xcghlazxdqwgs4d1gsbmpjpmhmx8dcxjhha5hxww4ilyqpviw";
        libraryHaskellDepends = [
          aeson base markdown persistent shakespeare text yesod-core
          yesod-form yesod-persistent
@@ -225602,24 +230869,6 @@ self: {
      }) {};
 
   "yesod-websockets" = callPackage
-    ({ mkDerivation, async, base, conduit, enclosed-exceptions
-     , monad-control, transformers, wai, wai-websockets, websockets
-     , yesod-core
-     }:
-     mkDerivation {
-       pname = "yesod-websockets";
-       version = "0.2.6";
-       sha256 = "0agfpvm3xig9rwq2rm658ahzv8r0pw6k284s8m1lqgzkl00ij4cq";
-       libraryHaskellDepends = [
-         async base conduit enclosed-exceptions monad-control transformers
-         wai wai-websockets websockets yesod-core
-       ];
-       homepage = "https://github.com/yesodweb/yesod";
-       description = "WebSockets support for Yesod";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-
-  "yesod-websockets_0_3_0" = callPackage
     ({ mkDerivation, base, conduit, mtl, transformers, unliftio, wai
      , wai-websockets, websockets, yesod-core
      }:
@@ -225634,7 +230883,6 @@ self: {
        homepage = "https://github.com/yesodweb/yesod";
        description = "WebSockets support for Yesod";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "yesod-websockets-extra" = callPackage
@@ -225700,6 +230948,7 @@ self: {
        homepage = "https://github.com/alephcloud/hs-yet-another-logger";
        description = "Yet Another Logger";
        license = stdenv.lib.licenses.asl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "yhccore" = callPackage
@@ -226372,8 +231621,8 @@ self: {
      }:
      mkDerivation {
        pname = "yst";
-       version = "0.6.0.1";
-       sha256 = "03x6f5zvmgppr1hkg0lxrapgnlk9s7i974d1gzscs1nvsi426bqb";
+       version = "0.7";
+       sha256 = "1dvny64v5v3qrahymn647jsjjdraa0mrkpvmqiwihh8n9xbnq1s7";
        isLibrary = false;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -226555,17 +231804,18 @@ self: {
      }:
      mkDerivation {
        pname = "z3";
-       version = "4.2.0";
-       sha256 = "1rzdsn54508y6w965a8y2g118ylx6588gxbdi3dd9ihqh9mdzg31";
+       version = "4.3";
+       sha256 = "1c29zzc6y7l169hdj9278z95530h6hc161fxgfn4zlxs3k5611d1";
+       revision = "1";
+       editedCabalFile = "0spg0sqqra4h5k5zagmmhh0sh10p3bzrhgrfspcd3i5c7yymwagb";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base containers mtl ];
        librarySystemDepends = [ gomp z3 ];
        testHaskellDepends = [ base hspec QuickCheck ];
-       homepage = "http://bitbucket.org/iago/z3-haskell";
+       homepage = "https://github.com/IagoAbal/haskell-z3";
        description = "Bindings for the Z3 Theorem Prover";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {gomp = null; inherit (pkgs) z3;};
 
   "z3-encoding" = callPackage
@@ -226803,6 +232053,33 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {inherit (pkgs) zeromq;};
 
+  "zeromq4-clone-pattern" = callPackage
+    ({ mkDerivation, async, base, binary, bytestring, exceptions
+     , QuickCheck, stm, test-framework, test-framework-quickcheck2
+     , transformers, zeromq4-haskell
+     }:
+     mkDerivation {
+       pname = "zeromq4-clone-pattern";
+       version = "0.1.0.0";
+       sha256 = "1czc3p9s3jqmjmvasqcraqv0fjn2j7s3qj59l35cb1nd8gvxzmyg";
+       revision = "1";
+       editedCabalFile = "01shrkqnl65lbj3vaj96hm6vbvw0qp0jwdaza5hwzwwlzarfylaa";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         async base binary bytestring exceptions stm transformers
+         zeromq4-haskell
+       ];
+       executableHaskellDepends = [ base ];
+       testHaskellDepends = [
+         async base binary bytestring QuickCheck test-framework
+         test-framework-quickcheck2
+       ];
+       homepage = "https://github.com/hverr/zeromq4-clone-pattern#readme";
+       description = "Haskell implementation of the ZeroMQ clone pattern";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "zeromq4-conduit" = callPackage
     ({ mkDerivation, base, bytestring, conduit, lifted-base
      , monad-control, mtl, resourcet, semigroups, transformers
@@ -226845,6 +232122,30 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {inherit (pkgs) zeromq;};
 
+  "zeromq4-patterns" = callPackage
+    ({ mkDerivation, async, base, binary, bytestring, exceptions
+     , QuickCheck, stm, test-framework, test-framework-quickcheck2
+     , zeromq4-haskell
+     }:
+     mkDerivation {
+       pname = "zeromq4-patterns";
+       version = "0.3.1.0";
+       sha256 = "1n9yndiw0z2asslkx2nlx56w3qhb55p7ih03j52889m2f8maiwvl";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         async base binary bytestring exceptions stm zeromq4-haskell
+       ];
+       executableHaskellDepends = [ base ];
+       testHaskellDepends = [
+         async base binary bytestring QuickCheck test-framework
+         test-framework-quickcheck2
+       ];
+       homepage = "https://github.com/hverr/zeromq4-patterns#readme";
+       description = "Haskell implementation of several ZeroMQ patterns";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "zeroth" = callPackage
     ({ mkDerivation, base, Cabal, derive, directory, filepath
      , haskell-src-exts, hskeleton, monoid-record, process, syb
@@ -226877,8 +232178,8 @@ self: {
      }:
      mkDerivation {
        pname = "zifter";
-       version = "0.0.1.6";
-       sha256 = "0bswk4z26v020qkcm09cjkjkvwxsx1mrzrf3kajhwwzpb8vzxbdh";
+       version = "0.0.1.7";
+       sha256 = "1gdrnxa23lk885ldbn72n136acjfv8l0bnpf5v0lnypzl1hwp4rk";
        libraryHaskellDepends = [
          ansi-terminal async base directory exceptions filepath
          optparse-applicative path path-io process safe stm validity
@@ -227036,34 +232337,6 @@ self: {
 
   "zip" = callPackage
     ({ mkDerivation, base, bytestring, bzlib-conduit, case-insensitive
-     , cereal, conduit, conduit-extra, containers, digest, exceptions
-     , filepath, hspec, monad-control, mtl, path, path-io, plan-b
-     , QuickCheck, resourcet, text, time, transformers
-     , transformers-base
-     }:
-     mkDerivation {
-       pname = "zip";
-       version = "0.2.0";
-       sha256 = "18r3n1q4acn8fp3hcb47zr43nmpiab3j7r5m06j7csgm17x93vsr";
-       revision = "2";
-       editedCabalFile = "0vwbgpk6arp1hfndsm9n0f91yhagyqa0byiwvpl77gbiirbzrlwj";
-       libraryHaskellDepends = [
-         base bytestring bzlib-conduit case-insensitive cereal conduit
-         conduit-extra containers digest exceptions filepath monad-control
-         mtl path path-io plan-b resourcet text time transformers
-         transformers-base
-       ];
-       testHaskellDepends = [
-         base bytestring conduit containers exceptions filepath hspec path
-         path-io QuickCheck text time transformers
-       ];
-       homepage = "https://github.com/mrkkrp/zip";
-       description = "Operations on zip archives";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "zip_1_0_0" = callPackage
-    ({ mkDerivation, base, bytestring, bzlib-conduit, case-insensitive
      , cereal, conduit, conduit-extra, containers, digest, directory
      , dlist, exceptions, filepath, hspec, monad-control, mtl
      , QuickCheck, resourcet, temporary, text, time, transformers
@@ -227073,8 +232346,8 @@ self: {
        pname = "zip";
        version = "1.0.0";
        sha256 = "166iqyrmghlwwnka1gyxqjh875x7d3h0jnljlaslfvkfjhvb9ym9";
-       revision = "1";
-       editedCabalFile = "0yplpja4gbfr8lkwvv5q8lx9bia2dzm178hyhlmw1s2hniqjxzkn";
+       revision = "3";
+       editedCabalFile = "0af1qpyn6vfzcdyi1md7aq39fznswxijzm0ap7mdwp0g0l7pcdyh";
        libraryHaskellDepends = [
          base bytestring bzlib-conduit case-insensitive cereal conduit
          conduit-extra containers digest directory dlist exceptions filepath
@@ -227088,7 +232361,6 @@ self: {
        homepage = "https://github.com/mrkkrp/zip";
        description = "Operations on zip archives";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "zip-archive" = callPackage
@@ -227155,8 +232427,8 @@ self: {
      }:
      mkDerivation {
        pname = "zip-stream";
-       version = "0.1.0.1";
-       sha256 = "17ndw8a6br9bgkr5s2jn54kq69bg4hwi55dfh899dbyzyl0yzxaq";
+       version = "0.1.1";
+       sha256 = "1wnjj1sp5y24iqd1ffmz6lmsvh0527v05zhzygqaf65j8sny535q";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -227169,6 +232441,7 @@ self: {
        ];
        description = "ZIP archive streaming using conduits";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "zipedit" = callPackage
@@ -227222,8 +232495,8 @@ self: {
        pname = "zippers";
        version = "0.2.5";
        sha256 = "11f0jx0dbm2y9y5hnpakdvk9fmsm3awr2lcxp46dyma6arr7f4id";
-       revision = "1";
-       editedCabalFile = "0nndhvgkv1v8zg906cblnxb5xiz0ghmvwdwnsn85pyp0rjplcv1k";
+       revision = "2";
+       editedCabalFile = "03vmfmj38sa6pn858wa4fcbn3b0jw5pcypzv0kls600fgdbjfqbm";
        setupHaskellDepends = [ base Cabal cabal-doctest ];
        libraryHaskellDepends = [
          base lens profunctors semigroupoids semigroups
@@ -227288,6 +232561,7 @@ self: {
        homepage = "https://github.com/Ziptastic/ziptastic-haskell#readme";
        description = "Core Servant specification for the Ziptastic API for doing forward and reverse geocoding";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "zlib" = callPackage
@@ -227296,8 +232570,8 @@ self: {
      }:
      mkDerivation {
        pname = "zlib";
-       version = "0.6.1.2";
-       sha256 = "1fx2k2qmgm2dj3fkxx2ry945fpdn02d4dkihjxma21xgdiilxsz4";
+       version = "0.6.2";
+       sha256 = "1vbzf0awb6zb456xf48za1kl22018646cfzq4frvxgb9ay97vk0d";
        libraryHaskellDepends = [ base bytestring ];
        librarySystemDepends = [ zlib ];
        testHaskellDepends = [
@@ -227410,8 +232684,8 @@ self: {
     ({ mkDerivation, base, binary, bytestring, containers }:
      mkDerivation {
        pname = "zmidi-core";
-       version = "0.8.1";
-       sha256 = "1n6bcblk8ck1xgbyd7gspisg3i3zw3pqzi6s402ivsi03ns0iysv";
+       version = "0.8.2";
+       sha256 = "02895shbxbswnczgljafr9k7vfrxg7w2sqhnlx8azixkw84lk5mh";
        libraryHaskellDepends = [ base binary bytestring containers ];
        homepage = "https://github.com/stephentetley/zmidi-core";
        description = "Read and write MIDI files";
@@ -227654,10 +232928,8 @@ self: {
      }:
      mkDerivation {
        pname = "ztail";
-       version = "1.2";
-       sha256 = "0krs58c22bg4b2r5zlvvyw87j8v1y1p8c2zy3gg1hwarjb4i9cqk";
-       revision = "3";
-       editedCabalFile = "0j22pyi86qw5y4fgxygg9fndlwk8j9c2671bbbk3nws5xzkda1sm";
+       version = "1.2.0.2";
+       sha256 = "05vpq3kiv1xrby2k1qn41s42cxxxblcgxpnw1sgyznx63pal2hx1";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -227666,6 +232938,7 @@ self: {
        ];
        description = "Multi-file, colored, filtered log tailer";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "zuramaru" = callPackage
@@ -227716,6 +232989,7 @@ self: {
        libraryHaskellDepends = [ base ];
        description = "Password strength estimation";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
 }
diff --git a/pkgs/development/haskell-modules/hie-packages.nix b/pkgs/development/haskell-modules/hie-packages.nix
deleted file mode 100644
index 3f08f64b1e1..00000000000
--- a/pkgs/development/haskell-modules/hie-packages.nix
+++ /dev/null
@@ -1,502 +0,0 @@
-{ pkgs, stdenv, callPackage }: self:
-let src = pkgs.fetchFromGitHub
-      { owner = "haskell";
-        repo = "haskell-ide-engine";
-        rev = "3ec8e93e9ca751cf282556998851ffa65f32e06b";
-        sha256 = "1wzqzvsa39c1cngmmjryqrq4vqdg6d4wp5wdf17vp96ljvz1cczw";
-      };
-    cabal-helper-src = pkgs.fetchgit
-      { url = "https://gitlab.com/dxld/cabal-helper.git";
-        rev = "4bfc6b916fcc696a5d82e7cd35713d6eabcb0533";
-        sha256 = "1a8231as0wdvi0q73ha9lc0qrx23kmcwf910qaicvmdar5p2b15m";
-      };
-    ghc-dump-tree-src = pkgs.fetchgit
-      { url = "https://gitlab.com/alanz/ghc-dump-tree.git";
-        rev = "50f8b28fda675cca4df53909667c740120060c49";
-        sha256 = "0v3r81apdqp91sv7avy7f0s3im9icrakkggw8q5b7h0h4js6irqj";
-      };
-    ghc-mod-src = pkgs.fetchFromGitHub
-      { owner = "wz1000";
-        repo = "ghc-mod";
-        rev = "03c91ea53b6389e7a1fcf4e471171aa3d6c8de41";
-        sha256 = "11iic93klsh5izp8v4mhl7vnnlib821cfhdymlpg4drx7zbm9il6";
-      };
-    HaRe-src = pkgs.fetchgit
-      { url = "https://gitlab.com/alanz/HaRe.git";
-        rev = "e325975450ce89d790ed3f92de3ef675967d9538";
-        sha256 = "0z7r3l4j5a1brz7zb2rgd985m58rs0ki2p59y1l9i46fcy8r9y4g";
-      };
-    cabal-helper = self.cabal-helper_hie;
-    haddock-library = self.haddock-library_1_4_4;
-    hoogle = self.hoogle_5_0_14;
-    ghc-dump-tree = self.ghc-dump-tree_hie;
-    ghc-mod = self.ghc-mod_hie;
-    HaRe = self.HaRe_hie;
-in
-  { ### Overrides required by hie
-    cabal-helper_hie = callPackage
-      ({ mkDerivation, base, bytestring, Cabal, cabal-install, containers
-       , directory, exceptions, filepath, ghc-prim, mtl, process
-       , semigroupoids, template-haskell, temporary, transformers
-       , unix, unix-compat, utf8-string
-       }:
-       mkDerivation {
-         pname = "cabal-helper";
-         version = "0.8.0.0";
-         src = cabal-helper-src;
-         isLibrary = true;
-         isExecutable = true;
-         jailbreak = true;
-         setupHaskellDepends = [ base Cabal directory filepath ];
-         libraryHaskellDepends = [
-           base Cabal directory filepath ghc-prim mtl process semigroupoids
-           transformers unix unix-compat
-         ];
-         executableHaskellDepends = [
-           base bytestring Cabal containers directory exceptions filepath
-           ghc-prim mtl process template-haskell temporary transformers unix
-           unix-compat utf8-string
-         ];
-         testHaskellDepends = [
-           base bytestring Cabal directory exceptions filepath ghc-prim mtl
-           process template-haskell temporary transformers unix unix-compat
-           utf8-string
-         ];
-         testToolDepends = [ cabal-install ];
-         postInstall =
-           ''
-             libexec="$out/libexec/$(basename $out/lib/ghc*/*ghc*)/$name"
-             mkdir -p "$libexec"
-             ln -sv $out/bin/cabal-helper-wrapper "$libexec"
-           '';
-         doCheck = false;
-         description = "Simple interface to some of Cabal's configuration state, mainly used by ghc-mod";
-         license = stdenv.lib.licenses.agpl3;
-         hydraPlatforms = stdenv.lib.platforms.none;
-         broken = true;
-       }) {};
-    ghc-dump-tree_hie = callPackage
-      ({ mkDerivation, aeson, base, bytestring, ghc, optparse-applicative
-       , pretty, pretty-show, process, unordered-containers
-       , vector
-       }:
-       mkDerivation {
-         pname = "ghc-dump-tree";
-         version = "0.2.0.1";
-         src = ghc-dump-tree-src;
-         isLibrary = true;
-         isExecutable = true;
-         libraryHaskellDepends = [
-           aeson base bytestring ghc pretty pretty-show process
-           unordered-containers vector
-         ];
-         executableHaskellDepends = [
-           aeson base bytestring ghc optparse-applicative pretty pretty-show
-           process unordered-containers vector
-         ];
-         homepage = "https://github.com/edsko/ghc-dump-tree";
-         description = "Dump GHC's parsed, renamed, and type checked ASTs";
-         license = stdenv.lib.licenses.bsd3;
-         hydraPlatforms = stdenv.lib.platforms.none;
-         broken = true;
-       }) {};
-    ghc-mod-core = callPackage
-      ({ mkDerivation, base, binary, bytestring, Cabal, cabal-helper
-       , containers, deepseq, directory, djinn-ghc, extra, fclabels
-       , filepath, fingertree, ghc, ghc-boot, ghc-paths, ghc-syb-utils
-       , haskell-src-exts, hlint, monad-control, monad-journal, mtl
-       , old-time, optparse-applicative, pipes, process, safe, semigroups
-       , split, syb, template-haskell, temporary, text, time
-       , transformers, transformers-base
-       }:
-       mkDerivation {
-         pname = "ghc-mod-core";
-         version = "5.9.0.0";
-         src = "${ghc-mod-src}/core";
-         setupHaskellDepends = [
-           base Cabal containers directory filepath process template-haskell
-           transformers
-         ];
-         libraryHaskellDepends = [
-           base binary bytestring cabal-helper containers deepseq directory
-           djinn-ghc extra fclabels filepath fingertree ghc ghc-boot ghc-paths
-           ghc-syb-utils haskell-src-exts hlint monad-control monad-journal
-           mtl old-time optparse-applicative pipes process safe semigroups
-           split syb template-haskell temporary text time transformers
-           transformers-base
-         ];
-         homepage = "https://github.com/DanielG/ghc-mod";
-         description = "Happy Haskell Hacking";
-         license = stdenv.lib.licenses.agpl3;
-         hydraPlatforms = stdenv.lib.platforms.none;
-         broken = true;
-       }) { inherit cabal-helper; };
-    ghc-mod_hie = callPackage
-      ({ mkDerivation, base, binary, bytestring, Cabal, cabal-doctest
-       , cabal-helper, containers, criterion, deepseq, directory
-       , djinn-ghc, doctest, extra, fclabels, filepath, ghc, ghc-boot
-       , ghc-mod-core, ghc-paths, ghc-syb-utils, haskell-src-exts, hlint
-       , hspec, monad-control, monad-journal, mtl, old-time
-       , optparse-applicative, pipes, process, safe, semigroups, shelltest
-       , split, syb, template-haskell, temporary, text, time
-       , transformers, transformers-base
-       }:
-       mkDerivation {
-         pname = "ghc-mod";
-         version = "5.9.0.0";
-         src = ghc-mod-src;
-         isLibrary = true;
-         isExecutable = true;
-         enableSeparateDataOutput = true;
-         setupHaskellDepends = [
-           base Cabal cabal-doctest containers directory filepath process
-           template-haskell transformers
-         ];
-         libraryHaskellDepends = [
-           base binary bytestring cabal-helper containers deepseq directory
-           djinn-ghc extra fclabels filepath ghc ghc-boot ghc-mod-core
-           ghc-paths ghc-syb-utils haskell-src-exts hlint monad-control
-           monad-journal mtl old-time optparse-applicative pipes process safe
-           semigroups split syb template-haskell temporary text time
-           transformers transformers-base
-         ];
-         executableHaskellDepends = [
-           base binary deepseq directory fclabels filepath ghc ghc-mod-core
-           monad-control mtl old-time optparse-applicative process semigroups
-           split time
-         ];
-         testHaskellDepends = [
-           base cabal-helper containers directory doctest fclabels filepath
-           ghc ghc-boot ghc-mod-core hspec monad-journal mtl process split
-           temporary transformers
-         ];
-         testToolDepends = [ shelltest ];
-         # Doesn't work with our doctest
-         doCheck = false;
-         benchmarkHaskellDepends = [
-           base criterion directory filepath ghc-mod-core temporary
-         ];
-         homepage = "https://github.com/DanielG/ghc-mod";
-         description = "Happy Haskell Hacking";
-         license = stdenv.lib.licenses.agpl3;
-         hydraPlatforms = stdenv.lib.platforms.none;
-         broken = true;
-       }) { shelltest = null; inherit cabal-helper; };
-    HaRe_hie = callPackage
-      ({ mkDerivation, attoparsec, base, base-prelude, Cabal, cabal-helper
-       , case-insensitive, containers, conversion
-       , conversion-case-insensitive, conversion-text, Diff, directory
-       , filepath, foldl, ghc, ghc-exactprint, ghc-mod-core, ghc-syb-utils
-       , gitrev, hslogger, hspec, HUnit, monad-control, mtl
-       , optparse-applicative, optparse-simple, parsec, stdenv
-       , Strafunski-StrategyLib, syb, syz, turtle
-       }:
-       mkDerivation {
-         pname = "HaRe";
-         version = "0.8.4.1";
-         src = HaRe-src;
-         isLibrary = true;
-         isExecutable = true;
-         enableSeparateDataOutput = true;
-         libraryHaskellDepends = [
-           base cabal-helper containers directory filepath ghc ghc-exactprint
-           ghc-mod-core ghc-syb-utils hslogger monad-control mtl
-           Strafunski-StrategyLib syb syz
-         ];
-         executableHaskellDepends = [
-           base Cabal ghc-mod-core gitrev mtl optparse-applicative
-           optparse-simple
-         ];
-         testHaskellDepends = [
-           attoparsec base base-prelude cabal-helper case-insensitive
-           containers conversion conversion-case-insensitive conversion-text
-           Diff directory filepath foldl ghc ghc-exactprint ghc-mod-core
-           ghc-syb-utils hslogger hspec HUnit monad-control mtl parsec
-           Strafunski-StrategyLib syb syz turtle
-         ];
-         # Test directory doesn't exist
-         doCheck = false;
-         homepage = "https://github.com/RefactoringTools/HaRe/wiki";
-         description = "the Haskell Refactorer";
-         license = stdenv.lib.licenses.bsd3;
-         hydraPlatforms = stdenv.lib.platforms.none;
-         broken = true;
-       }) { inherit cabal-helper; };
-    ### hie packages
-    haskell-ide-engine = callPackage
-      ({ mkDerivation, aeson, async, base, bytestring, Cabal, cabal-install
-       , containers, data-default, Diff, directory, either, ekg, filepath, ghc
-       , ghc-mod-core, gitrev, haskell-lsp, hie-apply-refact, hie-base
-       , hie-brittany, hie-build-plugin, hie-eg-plugin-async
-       , hie-example-plugin2, hie-ghc-mod, hie-ghc-tree, hie-haddock
-       , hie-hare, hie-hoogle, hie-plugin-api, hoogle, hoogleLocal, hslogger, hspec
-       , lens, mtl, optparse-simple, QuickCheck, quickcheck-instances
-       , sorted-list, stm, text, time, transformers
-       , unordered-containers, vector, vinyl, yaml, yi-rope
-       }:
-       mkDerivation {
-         pname = "haskell-ide-engine";
-         version = "0.1.0.0";
-         inherit src;
-         isLibrary = true;
-         isExecutable = true;
-         libraryHaskellDepends = [
-           aeson async base bytestring Cabal containers data-default directory
-           either filepath ghc ghc-mod-core gitrev haskell-lsp
-           hie-apply-refact hie-base hie-brittany hie-ghc-mod hie-haddock
-           hie-hare hie-hoogle hie-plugin-api hslogger lens mtl
-           optparse-simple sorted-list stm text transformers
-           unordered-containers vector yi-rope
-         ];
-         executableHaskellDepends = [
-           base Cabal containers directory ekg ghc-mod-core gitrev haskell-lsp
-           hie-apply-refact hie-build-plugin hie-eg-plugin-async
-           hie-example-plugin2 hie-ghc-mod hie-ghc-tree hie-hare hie-hoogle
-           hie-plugin-api hslogger optparse-simple stm text time transformers
-           unordered-containers vinyl
-         ];
-         testHaskellDepends = [
-           aeson base containers Diff directory filepath ghc-mod-core
-           haskell-lsp hie-apply-refact hie-base hie-eg-plugin-async
-           hie-example-plugin2 hie-ghc-mod hie-ghc-tree hie-hare hie-hoogle
-           hie-plugin-api hoogle hslogger hspec QuickCheck
-           quickcheck-instances stm text transformers unordered-containers
-           vector vinyl yaml
-         ];
-
-         preCheck =
-           ''
-             export HOME=$NIX_BUILD_TOP/home
-             mkdir -p $HOME/.hoogle
-             ln -sv ${hoogleLocal}/share/doc/hoogle/default.hoo $HOME/.hoogle/default-haskell-${hoogle.version}.hoo
-           '';
-         # https://github.com/haskell/haskell-ide-engine/issues/425
-         # The disabled tests do work in a local nix-shell with cabal available.
-         patches = [ ./patches/hie-testsuite.patch ];
-         homepage = "http://github.com/githubuser/haskell-ide-engine#readme";
-         description = "Provide a common engine to power any Haskell IDE";
-         license = stdenv.lib.licenses.bsd3;
-         hydraPlatforms = stdenv.lib.platforms.none;
-         broken = true;
-      }) { inherit hoogle; hoogleLocal = (self.hoogleLocal {}).override { inherit hoogle; }; };
-    hie-apply-refact = callPackage
-      ({ mkDerivation, aeson, apply-refact, base, either, extra, ghc-mod
-       , ghc-mod-core, haskell-src-exts, hie-base, hie-plugin-api, hlint
-       , text, transformers
-       }:
-       mkDerivation {
-         pname = "hie-apply-refact";
-         version = "0.1.0.0";
-         inherit src;
-         postUnpack = "sourceRoot=source/hie-apply-refact";
-         libraryHaskellDepends = [
-           aeson apply-refact base either extra ghc-mod ghc-mod-core
-           haskell-src-exts hie-base hie-plugin-api hlint text transformers
-         ];
-         description = "Haskell IDE Apply Refact plugin";
-         license = stdenv.lib.licenses.bsd3;
-         hydraPlatforms = stdenv.lib.platforms.none;
-         broken = true;
-       }) { inherit ghc-mod; };
-    hie-base = callPackage
-      ({ mkDerivation, aeson, base, haskell-lsp, text }:
-       mkDerivation {
-         pname = "hie-base";
-         version = "0.1.0.0";
-         inherit src;
-         preUnpack = "sourceRoot=source/hie-base";
-         libraryHaskellDepends = [ aeson base haskell-lsp text ];
-         description = "Haskell IDE API base types";
-         license = stdenv.lib.licenses.bsd3;
-         hydraPlatforms = stdenv.lib.platforms.none;
-         broken = true;
-       }) {};
-    hie-brittany = callPackage
-      ({ mkDerivation, aeson, base, brittany, ghc-mod, ghc-mod-core
-       , haskell-lsp, hie-plugin-api, lens, text
-       }:
-       mkDerivation {
-         pname = "hie-brittany";
-         version = "0.1.0.0";
-         inherit src;
-         postUnpack = "sourceRoot=source/hie-brittany";
-         libraryHaskellDepends = [
-           aeson base brittany ghc-mod ghc-mod-core haskell-lsp hie-plugin-api
-           lens text
-         ];
-         description = "Haskell IDE Hoogle plugin";
-         license = stdenv.lib.licenses.bsd3;
-         hydraPlatforms = stdenv.lib.platforms.none;
-         broken = true;
-       }) { inherit ghc-mod; };
-    hie-build-plugin = callPackage
-      ({ mkDerivation, aeson, base, bytestring, Cabal, cabal-helper
-       , containers, directory, filepath, haskell-lsp, hie-plugin-api
-       , process, stm, text, transformers, yaml
-       }:
-       mkDerivation {
-         pname = "hie-build-plugin";
-         version = "0.1.0.0";
-         inherit src;
-         postUnpack = "sourceRoot=source/hie-build-plugin";
-         libraryHaskellDepends = [
-           aeson base bytestring Cabal cabal-helper containers directory
-           filepath haskell-lsp hie-plugin-api process stm text transformers
-           yaml
-         ];
-         description = "Haskell IDE build plugin";
-         license = stdenv.lib.licenses.bsd3;
-         hydraPlatforms = stdenv.lib.platforms.none;
-         broken = true;
-       }) { inherit cabal-helper; };
-    hie-eg-plugin-async = callPackage
-      ({ mkDerivation, base, ghc-mod-core, hie-plugin-api, stm
-       , text
-       }:
-       mkDerivation {
-         pname = "hie-eg-plugin-async";
-         version = "0.1.0.0";
-         inherit src;
-         postUnpack = "sourceRoot=source/hie-eg-plugin-async";
-         libraryHaskellDepends = [
-           base ghc-mod-core hie-plugin-api stm text
-         ];
-         description = "Haskell IDE example plugin, using async processes";
-         license = stdenv.lib.licenses.bsd3;
-         hydraPlatforms = stdenv.lib.platforms.none;
-         broken = true;
-       }) {};
-    hie-example-plugin2 = callPackage
-      ({ mkDerivation, base, hie-plugin-api, text }:
-       mkDerivation {
-         pname = "hie-example-plugin2";
-         version = "0.1.0.0";
-         inherit src;
-         postUnpack = "sourceRoot=source/hie-example-plugin2";
-         libraryHaskellDepends = [ base hie-plugin-api text ];
-         description = "Haskell IDE example plugin";
-         license = stdenv.lib.licenses.bsd3;
-         hydraPlatforms = stdenv.lib.platforms.none;
-         broken = true;
-       }) {};
-    hie-ghc-mod = callPackage
-      ({ mkDerivation, aeson, base, containers, ghc, ghc-mod, ghc-mod-core
-       , hie-base, hie-plugin-api, text, transformers
-       }:
-       mkDerivation {
-         pname = "hie-ghc-mod";
-         version = "0.1.0.0";
-         inherit src;
-         postUnpack = "sourceRoot=source/hie-ghc-mod";
-         libraryHaskellDepends = [
-           aeson base containers ghc ghc-mod ghc-mod-core hie-base
-           hie-plugin-api text transformers
-         ];
-         description = "Haskell IDE ghc-mod plugin";
-         license = stdenv.lib.licenses.bsd3;
-         hydraPlatforms = stdenv.lib.platforms.none;
-         broken = true;
-       }) { inherit ghc-mod; };
-    hie-ghc-tree = callPackage
-      ({ mkDerivation, aeson, base, ghc-dump-tree, ghc-mod, ghc-mod-core
-       , hie-base, hie-plugin-api, text
-       }:
-       mkDerivation {
-         pname = "hie-ghc-tree";
-         version = "0.1.0.0";
-         inherit src;
-         postUnpack = "sourceRoot=source/hie-ghc-tree";
-         libraryHaskellDepends = [
-           aeson base ghc-dump-tree ghc-mod ghc-mod-core hie-base
-           hie-plugin-api text
-         ];
-         description = "Haskell IDE GHC Tree plugin";
-         license = stdenv.lib.licenses.bsd3;
-         hydraPlatforms = stdenv.lib.platforms.none;
-         broken = true;
-       }) { inherit ghc-dump-tree ghc-mod; };
-    hie-haddock = callPackage
-      ({ mkDerivation, aeson, base, containers, directory, either
-       , filepath, ghc, ghc-exactprint, ghc-mod, ghc-mod-core, haddock-api
-       , haddock-library, HaRe, haskell-lsp, hie-base, hie-ghc-mod
-       , hie-hare, hie-plugin-api, lens, monad-control, mtl, text
-       , transformers
-       }:
-       mkDerivation {
-         pname = "hie-haddock";
-         version = "0.1.0.0";
-         inherit src;
-         postUnpack = "sourceRoot=source/hie-haddock";
-         libraryHaskellDepends = [
-           aeson base containers directory either filepath ghc ghc-exactprint
-           ghc-mod ghc-mod-core haddock-api haddock-library HaRe haskell-lsp
-           hie-base hie-ghc-mod hie-hare hie-plugin-api lens monad-control mtl
-           text transformers
-         ];
-         description = "Haskell IDE Haddock plugin";
-         license = stdenv.lib.licenses.bsd3;
-         hydraPlatforms = stdenv.lib.platforms.none;
-         broken = true;
-       }) { inherit haddock-library HaRe ghc-mod; };
-    hie-hare = callPackage
-      ({ mkDerivation, aeson, base, containers, Diff, either, ghc
-       , ghc-exactprint, ghc-mod, ghc-mod-core, HaRe, haskell-lsp
-       , hie-base, hie-ghc-mod, hie-plugin-api, lens, monad-control, mtl
-       , text, transformers
-       }:
-       mkDerivation {
-         pname = "hie-hare";
-         version = "0.1.0.0";
-         inherit src;
-         postUnpack = "sourceRoot=source/hie-hare";
-         libraryHaskellDepends = [
-           aeson base containers Diff either ghc ghc-exactprint ghc-mod
-           ghc-mod-core HaRe haskell-lsp hie-base hie-ghc-mod hie-plugin-api
-           lens monad-control mtl text transformers
-         ];
-         description = "Haskell IDE HaRe plugin";
-         license = stdenv.lib.licenses.bsd3;
-         hydraPlatforms = stdenv.lib.platforms.none;
-         broken = true;
-       }) { inherit ghc-mod HaRe; };
-    hie-hoogle = callPackage
-      ({ mkDerivation, aeson, base, directory, filepath, ghc-mod
-       , ghc-mod-core, hie-plugin-api, hoogle, tagsoup, text
-       }:
-       mkDerivation {
-         pname = "hie-hoogle";
-         version = "0.1.0.0";
-         inherit src;
-         postUnpack = "sourceRoot=source/hie-hoogle";
-         libraryHaskellDepends = [
-           aeson base directory filepath ghc-mod ghc-mod-core hie-plugin-api
-           hoogle tagsoup text
-         ];
-         description = "Haskell IDE Hoogle plugin";
-         license = stdenv.lib.licenses.bsd3;
-         hydraPlatforms = stdenv.lib.platforms.none;
-         broken = true;
-       }) { inherit ghc-mod hoogle; };
-    hie-plugin-api = callPackage
-      ({ mkDerivation, aeson, base, containers, Diff, directory, either
-       , filepath, fingertree, ghc, ghc-mod-core, haskell-lsp, hie-base
-       , hslogger, lifted-base, monad-control, mtl, stdenv, stm, syb, text
-       , time, transformers, unordered-containers
-       }:
-       mkDerivation {
-         pname = "hie-plugin-api";
-         version = "0.1.0.0";
-         inherit src;
-         postUnpack = "sourceRoot=source/hie-plugin-api";
-         libraryHaskellDepends = [
-           aeson base containers Diff directory either filepath fingertree ghc
-           ghc-mod-core haskell-lsp hie-base hslogger lifted-base
-           monad-control mtl stm syb text time transformers
-           unordered-containers
-         ];
-         description = "Haskell IDE API for plugin communication";
-         license = stdenv.lib.licenses.bsd3;
-         hydraPlatforms = stdenv.lib.platforms.none;
-         broken = true;
-       }) {};
-  }
diff --git a/pkgs/development/haskell-modules/initial-packages.nix b/pkgs/development/haskell-modules/initial-packages.nix
index 8e8712d9096..6ab7da96911 100644
--- a/pkgs/development/haskell-modules/initial-packages.nix
+++ b/pkgs/development/haskell-modules/initial-packages.nix
@@ -1,2 +1,2 @@
 args@{ pkgs, stdenv, callPackage }: self:
-   (import ./hie-packages.nix args self) // (import ./hackage-packages.nix args self)
+   (import ./hackage-packages.nix args self)
diff --git a/pkgs/development/haskell-modules/lib.nix b/pkgs/development/haskell-modules/lib.nix
index fef827cd9a1..ff86e06979c 100644
--- a/pkgs/development/haskell-modules/lib.nix
+++ b/pkgs/development/haskell-modules/lib.nix
@@ -162,6 +162,9 @@ rec {
   enableLibraryProfiling = drv: overrideCabal drv (drv: { enableLibraryProfiling = true; });
   disableLibraryProfiling = drv: overrideCabal drv (drv: { enableLibraryProfiling = false; });
 
+  enableExecutableProfiling = drv: overrideCabal drv (drv: { enableExecutableProfiling = true; });
+  disableExecutableProfiling = drv: overrideCabal drv (drv: { enableExecutableProfiling = false; });
+
   enableSharedExecutables = drv: overrideCabal drv (drv: { enableSharedExecutables = true; });
   disableSharedExecutables = drv: overrideCabal drv (drv: { enableSharedExecutables = false; });
 
@@ -230,8 +233,6 @@ rec {
     isLibrary = false;
     doHaddock = false;
     postFixup = "rm -rf $out/lib $out/nix-support $out/share/doc";
-  } // lib.optionalAttrs (pkgs.hostPlatform.isDarwin) {
-    configureFlags = (drv.configureFlags or []) ++ ["--ghc-option=-optl=-dead_strip"];
   });
 
   /* Build a source distribution tarball instead of using the source files
@@ -260,7 +261,7 @@ rec {
      the cabal file are actually used.
 
      The first attrset argument can be used to configure the strictness
-     of this check and a list of ignored package names that would otherwise 
+     of this check and a list of ignored package names that would otherwise
      cause false alarms.
    */
   checkUnusedPackages =
diff --git a/pkgs/development/haskell-modules/make-package-set.nix b/pkgs/development/haskell-modules/make-package-set.nix
index 2a96c66dced..bde4f85f678 100644
--- a/pkgs/development/haskell-modules/make-package-set.nix
+++ b/pkgs/development/haskell-modules/make-package-set.nix
@@ -107,7 +107,7 @@ let
     inherit packages;
   };
 
-  haskellSrc2nix = { name, src, sha256 ? null }:
+  haskellSrc2nix = { name, src, sha256 ? null, extraCabal2nixOptions ? "" }:
     let
       sha256Arg = if isNull sha256 then "--sha256=" else ''--sha256="${sha256}"'';
     in pkgs.buildPackages.stdenv.mkDerivation {
@@ -120,7 +120,7 @@ let
       installPhase = ''
         export HOME="$TMP"
         mkdir -p "$out"
-        cabal2nix --compiler=${ghc.haskellCompilerName} --system=${stdenv.system} ${sha256Arg} "${src}" > "$out/default.nix"
+        cabal2nix --compiler=${ghc.haskellCompilerName} --system=${hostPlatform.system} ${sha256Arg} "${src}" ${extraCabal2nixOptions} > "$out/default.nix"
       '';
   };
 
@@ -136,13 +136,26 @@ let
     src    = "${component}/${name}.cabal";
   };
 
+  # Adds a nix file as an input to the haskell derivation it
+  # produces. This is useful for callHackage / callCabal2nix to
+  # prevent the generated default.nix from being garbage collected
+  # (requiring it to be frequently rebuilt), which can be an
+  # annoyance.
+  callPackageKeepDeriver = src: args:
+    overrideCabal (self.callPackage src args) (orig: {
+      preConfigure = ''
+        # Generated from ${src}
+        ${orig.preConfigure or ""}
+      '';
+    });
+
 in package-set { inherit pkgs stdenv callPackage; } self // {
 
     inherit mkDerivation callPackage haskellSrc2nix hackage2nix;
 
     inherit (haskellLib) packageSourceOverrides;
 
-    callHackage = name: version: self.callPackage (self.hackage2nix name version);
+    callHackage = name: version: callPackageKeepDeriver (self.hackage2nix name version);
 
     # Creates a Haskell package from a source package by calling cabal2nix on the source.
     callCabal2nix = name: src: args: let
@@ -155,10 +168,8 @@ in package-set { inherit pkgs stdenv callPackage; } self // {
                 then pkgs.lib.cleanSourceWith { inherit src filter; }
               else src;
       };
-    in overrideCabal (self.callPackage expr args) (orig: {
+    in overrideCabal (callPackageKeepDeriver expr args) (orig: {
          inherit src;
-         preConfigure =
-           "# Generated from ${expr}\n${orig.preConfigure or ""}";
        });
 
     # : { root : Path
@@ -188,6 +199,52 @@ in package-set { inherit pkgs stdenv callPackage; } self // {
         };
       in withPackages (packages ++ [ hoogle ]);
 
+    # Returns a derivation whose environment contains a GHC with only
+    # the dependencies of packages listed in `packages`, not the
+    # packages themselves. Using nix-shell on this derivation will
+    # give you an environment suitable for developing the listed
+    # packages with an incremental tool like cabal-install.
+    #
+    #     # default.nix
+    #     with import <nixpkgs> {};
+    #     haskellPackages.extend (haskell.lib.packageSourceOverrides {
+    #       frontend = ./frontend;
+    #       backend = ./backend;
+    #       common = ./common;
+    #     })
+    #
+    #     # shell.nix
+    #     (import ./.).shellFor {
+    #       packages = p: [p.frontend p.backend p.common];
+    #       withHoogle = true;
+    #     }
+    #
+    #     -- cabal.project
+    #     packages:
+    #       frontend/
+    #       backend/
+    #       common/
+    #
+    #     bash$ nix-shell --run "cabal new-build all"
+    shellFor = { packages, withHoogle ? false, ... } @ args:
+      let
+        selected = packages self;
+        packageInputs = builtins.map (p: p.override { mkDerivation = haskellLib.extractBuildInputs p.compiler; }) selected;
+        haskellInputs =
+          builtins.filter
+            (input: pkgs.lib.all (p: input.outPath != p.outPath) selected)
+            (pkgs.lib.concatMap (p: p.haskellBuildInputs) packageInputs);
+        systemInputs = pkgs.lib.concatMap (p: p.systemBuildInputs) packageInputs;
+        withPackages = if withHoogle then self.ghcWithHoogle else self.ghcWithPackages;
+        mkDrvArgs = builtins.removeAttrs args ["packages" "withHoogle"];
+      in pkgs.stdenv.mkDerivation (mkDrvArgs // {
+        name = "ghc-shell-for-packages";
+        nativeBuildInputs = [(withPackages (_: haskellInputs))] ++ mkDrvArgs.nativeBuildInputs or [];
+        buildInputs = systemInputs ++ mkDrvArgs.buildInputs or [];
+        phases = ["installPhase"];
+        installPhase = "echo $nativeBuildInputs $buildInputs > $out";
+      });
+
     ghc = ghc // {
       withPackages = self.ghcWithPackages;
       withHoogle = self.ghcWithHoogle;
diff --git a/pkgs/development/haskell-modules/patches/encoding-Cabal-2.0.patch b/pkgs/development/haskell-modules/patches/encoding-Cabal-2.0.patch
new file mode 100644
index 00000000000..510e450945b
--- /dev/null
+++ b/pkgs/development/haskell-modules/patches/encoding-Cabal-2.0.patch
@@ -0,0 +1,67 @@
+From 67bb87ceff53f0178c988dd4e15eeb2daee92b84 Mon Sep 17 00:00:00 2001
+From: Gregor Kleen <pngwjpgh@users.noreply.github.com>
+Date: Tue, 20 Feb 2018 17:46:24 +0100
+Subject: [PATCH] Relax upper version bounds on dependencies
+
+---
+ Setup.hs       | 20 ++++++++++++++++----
+ encoding.cabal |  4 ++--
+ stack.yaml     |  4 ++--
+ 3 files changed, 20 insertions(+), 8 deletions(-)
+
+diff --git a/Setup.hs b/Setup.hs
+index de719e6..fe5b84c 100644
+--- a/Setup.hs
++++ b/Setup.hs
+@@ -1,13 +1,25 @@
++{-# LANGUAGE CPP #-}
++
+ module Main where
+ 
+ import Distribution.Simple
+ import Data.Encoding.Preprocessor.Mapping
+ import Data.Encoding.Preprocessor.XMLMappingBuilder
+ 
++#if MIN_VERSION_Cabal(2,0,0)
++main = defaultMainWithHooks (simpleUserHooks
++                             {hookedPreProcessors = ( ("mapping" , \_ _ _ -> mappingPreprocessor)
++                                                    : ("mapping2", \_ _ _ -> mappingPreprocessor)
++                                                    : ("xml"     , \_ _ _ -> xmlPreprocessor)
++                                                    : (hookedPreProcessors simpleUserHooks)
++                                                    )
++                             })
++#else
+ main = defaultMainWithHooks (simpleUserHooks
+-                             {hookedPreProcessors = (("mapping",\_ _ -> mappingPreprocessor)
+-                                                     :("mapping2",\_ _ -> mappingPreprocessor)
+-                                                     :("xml",\_ _ -> xmlPreprocessor)
+-                                                     :(hookedPreProcessors simpleUserHooks)
++                             {hookedPreProcessors = ( ("mapping" , \_ _ -> mappingPreprocessor)
++                                                    : ("mapping2", \_ _ -> mappingPreprocessor)
++                                                    : ("xml"     , \_ _ -> xmlPreprocessor)
++                                                    : (hookedPreProcessors simpleUserHooks)
+                                                     )
+                              })
++#endif
+diff --git a/encoding.cabal b/encoding.cabal
+index ec20617..f221715 100644
+--- a/encoding.cabal
++++ b/encoding.cabal
+@@ -36,7 +36,7 @@ Source-Repository this
+ 
+ Custom-Setup
+   Setup-Depends: base >=3 && <5,
+-                 Cabal >=1.24 && <1.25,
++                 Cabal >=1.24 && <2.1,
+                  containers,
+                  filepath,
+                  ghc-prim,
+@@ -51,7 +51,7 @@ Library
+                  extensible-exceptions >=0.1 && <0.2,
+                  ghc-prim >=0.3 && <0.6,
+                  mtl >=2.0 && <2.3,
+-                 regex-compat >=0.71 && <0.95
++                 regex-compat >=0.71 && <0.96
+ 
+   Extensions: CPP
+ 
diff --git a/pkgs/development/haskell-modules/patches/lzma-tests.patch b/pkgs/development/haskell-modules/patches/lzma-tests.patch
index e4e327ab6bb..db9e62ee3c5 100644
--- a/pkgs/development/haskell-modules/patches/lzma-tests.patch
+++ b/pkgs/development/haskell-modules/patches/lzma-tests.patch
@@ -1,13 +1,11 @@
 --- a/lzma.cabal
 +++ b/lzma.cabal
-@@ -70,8 +70,8 @@ test-suite lzma-tests
-                      , base
-                      , bytestring
+@@ -76,7 +76,7 @@
    -- additional dependencies that require version bounds
--  build-depends:       HUnit                      >= 1.2      && <1.4
--                     , QuickCheck                 >= 2.8      && <2.9
-+  build-depends:       HUnit                      >= 1.2      && <2
-+                     , QuickCheck                 >= 2.8      && <3
-                      , tasty                      >= 0.10     && <0.12
-                      , tasty-hunit                == 0.9.*
-                      , tasty-quickcheck           >= 0.8.3.2  && < 0.9
+   build-depends:       HUnit                      >= 1.2      && <1.7
+                      , QuickCheck                 >= 2.8      && <2.11
+-                     , tasty                      >= 0.10     && <0.13
++                     , tasty                      >= 0.10     && <1.1
+                      , tasty-hunit                >= 0.9      && <0.11
+                      , tasty-quickcheck           >= 0.8.3.2  && <0.10
+ 
diff --git a/pkgs/development/haskell-modules/patches/xmonad-contrib-ghc-8.4.1-fix.patch b/pkgs/development/haskell-modules/patches/xmonad-contrib-ghc-8.4.1-fix.patch
new file mode 100644
index 00000000000..3917c2f0afd
--- /dev/null
+++ b/pkgs/development/haskell-modules/patches/xmonad-contrib-ghc-8.4.1-fix.patch
@@ -0,0 +1,107 @@
+From 86595e193e8d46c769ab2a1cee961e8e04dfd1b9 Mon Sep 17 00:00:00 2001
+From: Michiel Derhaeg <derhaeg.michiel@gmail.com>
+Date: Tue, 20 Mar 2018 22:06:18 +0100
+Subject: [PATCH] update to work with GHC 8.4.1
+
+---
+ XMonad/Hooks/FadeWindows.hs     |  6 +++++-
+ XMonad/Hooks/WallpaperSetter.hs |  6 +++++-
+ XMonad/Layout/Mosaic.hs         |  6 +++++-
+ xmonad-contrib.cabal            |  5 +++--
+ 5 files changed, 33 insertions(+), 5 deletions(-)
+
+diff --git a/XMonad/Hooks/FadeWindows.hs b/XMonad/Hooks/FadeWindows.hs
+index 4b8e62b6..01d06792 100644
+--- a/XMonad/Hooks/FadeWindows.hs
++++ b/XMonad/Hooks/FadeWindows.hs
+@@ -61,7 +61,8 @@ import           Control.Monad.Reader                    (ask
+                                                          ,asks)
+ import           Control.Monad.State                     (gets)
+ import qualified Data.Map                    as M
+-import           Data.Monoid
++import           Data.Monoid                      hiding ((<>))
++import           Data.Semigroup
+ 
+ import           Graphics.X11.Xlib.Extras                (Event(..))
+ 
+@@ -134,6 +135,9 @@ instance Monoid Opacity where
+   r      `mappend` OEmpty = r
+   _      `mappend` r      = r
+ 
++instance Semigroup Opacity where
++  (<>) = mappend
++
+ -- | A FadeHook is similar to a ManageHook, but records window opacity.
+ type FadeHook = Query Opacity
+ 
+diff --git a/XMonad/Hooks/WallpaperSetter.hs b/XMonad/Hooks/WallpaperSetter.hs
+index 00a3b1c3..d4f5ccb2 100644
+--- a/XMonad/Hooks/WallpaperSetter.hs
++++ b/XMonad/Hooks/WallpaperSetter.hs
+@@ -41,7 +41,8 @@ import Data.Ord (comparing)
+ import Control.Monad
+ import Control.Applicative
+ import Data.Maybe
+-import Data.Monoid
++import Data.Monoid hiding ((<>))
++import Data.Semigroup
+ 
+ -- $usage
+ -- This module requires imagemagick and feh to be installed, as these are utilized
+@@ -86,6 +87,9 @@ instance Monoid WallpaperList where
+   mappend (WallpaperList w1) (WallpaperList w2) =
+     WallpaperList $ M.toList $ (M.fromList w2) `M.union` (M.fromList w1)
+ 
++instance Semigroup WallpaperList where
++  (<>) = mappend
++
+ -- | Complete wallpaper configuration passed to the hook
+ data WallpaperConf = WallpaperConf {
+     wallpaperBaseDir :: FilePath  -- ^ Where the wallpapers reside (if empty, will look in \~\/.wallpapers/)
+diff --git a/XMonad/Layout/Mosaic.hs b/XMonad/Layout/Mosaic.hs
+index 05655d4c..da44fc50 100644
+--- a/XMonad/Layout/Mosaic.hs
++++ b/XMonad/Layout/Mosaic.hs
+@@ -38,7 +38,8 @@ import Control.Monad(mplus)
+ import Data.Foldable(Foldable,foldMap, sum)
+ import Data.Function(on)
+ import Data.List(sortBy)
+-import Data.Monoid(Monoid,mempty, mappend)
++import Data.Monoid(Monoid,mempty, mappend, (<>))
++import Data.Semigroup
+ 
+ 
+ -- $usage
+@@ -202,6 +203,9 @@ instance Monoid (Tree a) where
+     mappend x Empty = x
+     mappend x y = Branch x y
+ 
++instance Semigroup (Tree a) where
++    (<>) = mappend
++
+ makeTree ::  (Num a1, Ord a1) => (a -> a1) -> [a] -> Tree a
+ makeTree _ [] = Empty
+ makeTree _ [x] = Leaf x
+diff --git a/xmonad-contrib.cabal b/xmonad-contrib.cabal
+index dde3ccda..c401c6e6 100644
+--- a/xmonad-contrib.cabal
++++ b/xmonad-contrib.cabal
+@@ -36,7 +36,7 @@ cabal-version:      >= 1.6
+ build-type:         Simple
+ bug-reports:        https://github.com/xmonad/xmonad-contrib/issues
+ 
+-tested-with: GHC==7.6.3, GHC==7.8.4, GHC==7.10.3, GHC==8.0.1
++tested-with: GHC==7.6.3, GHC==7.8.4, GHC==7.10.3, GHC==8.0.1, GHC==8.2.2, GHC==8.4.1
+ 
+ source-repository head
+   type:     git
+@@ -66,7 +66,8 @@ library
+                    unix,
+                    X11>=1.6.1 && < 1.9,
+                    xmonad>=0.13   && < 0.14,
+-                   utf8-string
++                   utf8-string,
++                   semigroups
+ 
+     if flag(use_xft)
+         build-depends: X11-xft >= 0.2
diff --git a/pkgs/development/haskell-modules/with-packages-wrapper.nix b/pkgs/development/haskell-modules/with-packages-wrapper.nix
index d858787f43c..03f0a1dd0a3 100644
--- a/pkgs/development/haskell-modules/with-packages-wrapper.nix
+++ b/pkgs/development/haskell-modules/with-packages-wrapper.nix
@@ -95,6 +95,15 @@ symlinkJoin {
         makeWrapper ${ghc}/bin/$prg $out/bin/$prg --add-flags "${packageDBFlag}=${packageCfgDir}"
       fi
     done
+
+    # haddock was referring to the base ghc, https://github.com/NixOS/nixpkgs/issues/36976
+    if [[ -x "${ghc}/bin/haddock" ]]; then
+      rm -f $out/bin/haddock
+      makeWrapper ${ghc}/bin/haddock $out/bin/haddock    \
+        --add-flags '"-B$NIX_${ghcCommandCaps}_LIBDIR"'  \
+        --set "NIX_${ghcCommandCaps}_LIBDIR" "${libDir}"
+    fi
+
   '' + (lib.optionalString targetPlatform.isDarwin ''
     # Work around a linker limit in macOS Sierra (see generic-builder.nix):
     local packageConfDir="$out/lib/${ghc.name}/package.conf.d";
diff --git a/pkgs/development/idris-modules/README.md b/pkgs/development/idris-modules/README.md
index 005ed360285..80b7ccefbcf 100644
--- a/pkgs/development/idris-modules/README.md
+++ b/pkgs/development/idris-modules/README.md
@@ -1,39 +1 @@
-Idris packages
-==============
-
-This directory contains build rules for idris packages. In addition,
-it contains several functions to build and compose those packages.
-Everything is exposed to the user via the `idrisPackages` attribute.
-
-callPackage
-------------
-
-This is like the normal nixpkgs callPackage function, specialized to
-idris packages.
-
-builtins
----------
-
-This is a list of all of the libraries that come packaged with Idris
-itself.
-
-build-idris-package
---------------------
-
-A function to build an idris package. Its sole argument is a set like
-you might pass to `stdenv.mkDerivation`, except `build-idris-package`
-sets several attributes for you. See `build-idris-package.nix` for
-details.
-
-build-builtin-package
-----------------------
-
-A version of `build-idris-package` specialized to builtin libraries.
-Mostly for internal use.
-
-with-packages
--------------
-
-Bundle idris together with a list of packages. Because idris currently
-only supports a single directory in its library path, you must include
-all desired libraries here, including `prelude` and `base`.
\ No newline at end of file
+Moved to [/doc/languages-frameworks/idris.section.md](/doc/languages-frameworks/idris.section.md)
diff --git a/pkgs/development/idris-modules/array.nix b/pkgs/development/idris-modules/array.nix
new file mode 100644
index 00000000000..cab7ccbcf7a
--- /dev/null
+++ b/pkgs/development/idris-modules/array.nix
@@ -0,0 +1,30 @@
+{ build-idris-package
+, fetchFromGitHub
+, prelude
+, base
+, lib
+, idris
+}:
+build-idris-package  {
+  name = "array";
+  version = "2016-10-14";
+
+  idrisDeps = [ prelude base ];
+
+  extraBuildInputs = [ idris ];
+
+  src = fetchFromGitHub {
+    owner = "idris-hackers";
+    repo = "idris-array";
+    rev = "eb5c034d3c65b5cf465bd0715e65859b8f69bf15";
+    sha256 = "148dnyd664vnxi04zjsyjbs1y51dq0zz98005q9c042k4jcfpfjh";
+  };
+
+  meta = {
+    description = "Primitive flat arrays containing Idris values";
+    homepage = https://github.com/idris-hackers/idris-array;
+    license = lib.licenses.bsd3;
+    maintainers = [ lib.maintainers.brainrape ];
+    inherit (idris.meta) platforms;
+  };
+}
diff --git a/pkgs/development/idris-modules/bi.nix b/pkgs/development/idris-modules/bi.nix
new file mode 100644
index 00000000000..fb43fbf209b
--- /dev/null
+++ b/pkgs/development/idris-modules/bi.nix
@@ -0,0 +1,29 @@
+{ build-idris-package
+, fetchFromGitHub
+, prelude
+, contrib
+, pruviloj
+, lib
+, idris
+}:
+build-idris-package  {
+  name = "bi";
+  version = "2018-01-17";
+
+  idrisDeps = [ prelude contrib pruviloj ];
+
+  src = fetchFromGitHub {
+    owner = "sbp";
+    repo = "idris-bi";
+    rev = "8ab40bc482ca948ac0f6ffb5b4c545a73688dd3a";
+    sha256 = "1lra945q2d6anwzjs94srprqj867lrz66rsns08p8828vg55fv97";
+  };
+
+  meta = {
+    description = "Idris Binary Integer Arithmetic, porting PArith, NArith, and ZArith from Coq";
+    homepage = https://github.com/sbp/idris-bi;
+    license = lib.licenses.bsd3;
+    maintainers = [ lib.maintainers.brainrape ];
+    inherit (idris.meta) platforms;
+  };
+}
diff --git a/pkgs/development/idris-modules/bifunctors.nix b/pkgs/development/idris-modules/bifunctors.nix
new file mode 100644
index 00000000000..d8212fa3830
--- /dev/null
+++ b/pkgs/development/idris-modules/bifunctors.nix
@@ -0,0 +1,31 @@
+{ build-idris-package
+, fetchFromGitHub
+, prelude
+, base
+, lib
+, idris
+}:
+build-idris-package  {
+  name = "bifunctors";
+  version = "2017-02-07";
+
+  idrisDeps = [ prelude base ];
+
+  src = fetchFromGitHub {
+    owner = "japesinator";
+    repo = "Idris-Bifunctors";
+    rev = "be7b8bde88331ad3af87e5c0a23fc0f3d52f3868";
+    sha256 = "0cfp58lhm2g0g1vrpb0mh71qb44n2yvg5sil9ndyf2sqd5ria6yq";
+  };
+
+  postUnpack = ''
+    rm source/test.ipkg
+  '';
+
+  meta = {
+    description = "A small bifunctor library for idris";
+    homepage = https://github.com/japesinator/Idris-Bifunctors;
+    maintainers = [ lib.maintainers.brainrape ];
+    inherit (idris.meta) platforms;
+  };
+}
diff --git a/pkgs/development/idris-modules/bytes.nix b/pkgs/development/idris-modules/bytes.nix
new file mode 100644
index 00000000000..2e5518c953c
--- /dev/null
+++ b/pkgs/development/idris-modules/bytes.nix
@@ -0,0 +1,29 @@
+{ build-idris-package
+, fetchFromGitHub
+, prelude
+, lib
+, idris
+}:
+
+build-idris-package  {
+  name = "bytes";
+  version = "2018-02-10";
+
+  idrisDeps = [ prelude ];
+
+  extraBuildInputs = [ idris ];
+
+  src = fetchFromGitHub {
+    owner = "ziman";
+    repo = "idris-bytes";
+    rev = "c0ed9db526d4529780f9d7d2636a40faa07661a5";
+    sha256 = "1xyb7k0mrk5imjf5jr2gvqwvasbfy6j4lxvz99r9icfz7crz8dfp";
+  };
+
+  meta = {
+    description = "FFI-based byte buffers for Idris";
+    homepage = https://github.com/ziman/idris-bytes;
+    maintainers = [ lib.maintainers.brainrape ];
+    inherit (idris.meta) platforms;
+  };
+}
diff --git a/pkgs/development/idris-modules/canvas.nix b/pkgs/development/idris-modules/canvas.nix
new file mode 100644
index 00000000000..f29d59e5050
--- /dev/null
+++ b/pkgs/development/idris-modules/canvas.nix
@@ -0,0 +1,26 @@
+{ build-idris-package
+, fetchFromGitHub
+, prelude
+, lib
+, idris
+}:
+build-idris-package  {
+  name = "canvas";
+  version = "2017-11-09";
+
+  idrisDeps = [ prelude ];
+
+  src = fetchFromGitHub {
+    owner = "JinWuZhao";
+    repo = "idriscanvas";
+    rev = "2957c78c0721ec3afaee9d64e051a8f8d9b6f426";
+    sha256 = "0jirkqciv3j1phpm2v6fmch40b5a01rmqdng16y8mihq1wb70ayy";
+  };
+
+  meta = {
+    description = "Idris FFI binding for html5 canvas 2d api";
+    homepage = https://github.com/JinWuZhao/idriscanvas;
+    maintainers = [ lib.maintainers.brainrape ];
+    inherit (idris.meta) platforms;
+  };
+}
diff --git a/pkgs/development/idris-modules/categories.nix b/pkgs/development/idris-modules/categories.nix
new file mode 100644
index 00000000000..32be0f6a379
--- /dev/null
+++ b/pkgs/development/idris-modules/categories.nix
@@ -0,0 +1,27 @@
+{ build-idris-package
+, fetchFromGitHub
+, prelude
+, base
+, lib
+, idris
+}:
+build-idris-package  {
+  name = "categories";
+  version = "2017-03-01";
+
+  idrisDeps = [ prelude base ];
+
+  src = fetchFromGitHub {
+    owner = "danilkolikov";
+    repo = "categories";
+    rev = "933fe418d154e10df39ddb09a74419cb4c4a57e8";
+    sha256 = "1dmpcv13zh7j4k6s2nlpf08gmpawaqaqkbqbg8zrgw253piwb0ci";
+  };
+
+  meta = {
+    description = "Category Theory";
+    homepage = https://github.com/danilkolikov/categories;
+    maintainers = [ lib.maintainers.brainrape ];
+    inherit (idris.meta) platforms;
+  };
+}
diff --git a/pkgs/development/idris-modules/coda.nix b/pkgs/development/idris-modules/coda.nix
new file mode 100644
index 00000000000..ed51bcfec6d
--- /dev/null
+++ b/pkgs/development/idris-modules/coda.nix
@@ -0,0 +1,28 @@
+{ build-idris-package
+, fetchFromGitHub
+, prelude
+, base
+, lib
+, idris
+}:
+build-idris-package  {
+  name = "coda";
+  version = "2018-01-25";
+
+  idrisDeps = [ prelude base ];
+
+  src = fetchFromGitHub {
+    owner = "ostera";
+    repo = "idris-coda";
+    rev = "0d8b29b7b73aa1ea80bf216e5e6dea5e81156e32";
+    sha256 = "07wps3pyp4ph0vj3640x561gkjkbcdq1if9h6sjjb30924sbdxfg";
+  };
+
+  meta = {
+    description = "Some Idris libraries including nodejs bindings and ISO8601 Date and Time";
+    homepage = https://github.com/ostera/idris-coda;
+    license = lib.licenses.bsd3;
+    maintainers = [ lib.maintainers.brainrape ];
+    inherit (idris.meta) platforms;
+  };
+}
diff --git a/pkgs/development/idris-modules/comonad.nix b/pkgs/development/idris-modules/comonad.nix
new file mode 100644
index 00000000000..5ecd6d9c585
--- /dev/null
+++ b/pkgs/development/idris-modules/comonad.nix
@@ -0,0 +1,28 @@
+{ build-idris-package
+, fetchFromGitHub
+, prelude
+, base
+, lib
+, idris
+}:
+build-idris-package  {
+  name = "comonad";
+  version = "2018-02-26";
+
+  idrisDeps = [ prelude base ];
+
+  src = fetchFromGitHub {
+    owner = "vmchale";
+    repo = "comonad";
+    rev = "23282592d4506708bdff79bfe1770c5f7a4ccb92";
+    sha256 = "0iiknx6gj4wr9s59iz439c63h3887pilymxrc80v79lj1lsk03ac";
+  };
+
+  meta = {
+    description = "Comonads for Idris";
+    homepage = https://github.com/vmchale/comonad;
+    license = lib.licenses.bsd3;
+    maintainers = [ lib.maintainers.brainrape ];
+    inherit (idris.meta) platforms;
+  };
+}
diff --git a/pkgs/development/idris-modules/composition.nix b/pkgs/development/idris-modules/composition.nix
new file mode 100644
index 00000000000..17dda31a5d1
--- /dev/null
+++ b/pkgs/development/idris-modules/composition.nix
@@ -0,0 +1,28 @@
+{ build-idris-package
+, fetchFromGitHub
+, prelude
+, hezarfen
+, lib
+, idris
+}:
+build-idris-package  {
+  name = "composition";
+  version = "2017-11-12";
+
+  idrisDeps = [ prelude hezarfen ];
+
+  src = fetchFromGitHub {
+    owner = "vmchale";
+    repo = "composition";
+    rev = "8f05e8db750793a9992b315dc0a2c327b837ec8b";
+    sha256 = "05424xzxx6f3ig0ravib15nr34nqvaq8spcj6b1512raqrvkkay8";
+  };
+
+  meta = {
+    description = "Composition extras for Idris";
+    homepage = https://github.com/vmchale/composition;
+    license = lib.licenses.bsd3;
+    maintainers = [ lib.maintainers.brainrape ];
+    inherit (idris.meta) platforms;
+  };
+}
diff --git a/pkgs/development/idris-modules/config.nix b/pkgs/development/idris-modules/config.nix
new file mode 100644
index 00000000000..29cb828e061
--- /dev/null
+++ b/pkgs/development/idris-modules/config.nix
@@ -0,0 +1,31 @@
+{ build-idris-package
+, fetchFromGitHub
+, prelude
+, effects
+, containers
+, lightyear
+, test
+, lib
+, idris
+}:
+build-idris-package  {
+  name = "config";
+  version = "2017-11-06";
+
+  idrisDeps = [ prelude effects containers lightyear test ];
+
+  src = fetchFromGitHub {
+    owner = "benclifford";
+    repo = "idris-config";
+    rev = "92f98652f5cb06a76c47809f16c661ec6cf11048";
+    sha256 = "1w2w2l4drvkf8mdzh3lwn6l5lnkbxlx9p22s7spw82n5s4wib6c9";
+  };
+
+  meta = {
+    description = "Parsers for various configuration files written in Idris.";
+    homepage = https://github.com/benclifford/idris-config;
+    license = lib.licenses.bsd3;
+    maintainers = [ lib.maintainers.brainrape ];
+    inherit (idris.meta) platforms;
+  };
+}
diff --git a/pkgs/development/idris-modules/console.nix b/pkgs/development/idris-modules/console.nix
new file mode 100644
index 00000000000..27b85c97c68
--- /dev/null
+++ b/pkgs/development/idris-modules/console.nix
@@ -0,0 +1,30 @@
+{ build-idris-package
+, fetchFromGitHub
+, prelude
+, idrisscript
+, hrtime
+, webgl
+, lib
+, idris
+}:
+build-idris-package  {
+  name = "console";
+  version = "2017-04-20";
+
+  idrisDeps = [ prelude idrisscript hrtime webgl ];
+
+  src = fetchFromGitHub {
+    owner = "pierrebeaucamp";
+    repo = "idris-console";
+    rev = "14b6bd6bf6bd78dd3935e3de12e16f8ee41e29e4";
+    sha256 = "0cn4fwnf3sg6269pbfbhnmsvyaya4d8479n2hy039idxzzkxw0yb";
+  };
+
+  meta = {
+    description = "An Idris library to interact with the browser console";
+    homepage = https://github.com/pierrebeaucamp/idris-console;
+    license = lib.licenses.asl20;
+    maintainers = [ lib.maintainers.brainrape ];
+    inherit (idris.meta) platforms;
+  };
+}
diff --git a/pkgs/development/idris-modules/containers.nix b/pkgs/development/idris-modules/containers.nix
new file mode 100644
index 00000000000..fe4e729d0e0
--- /dev/null
+++ b/pkgs/development/idris-modules/containers.nix
@@ -0,0 +1,34 @@
+{ build-idris-package
+, fetchFromGitHub
+, prelude
+, effects
+, test
+, lib
+, idris
+}:
+
+build-idris-package  {
+  name = "containers";
+  version = "2017-09-10";
+
+  idrisDeps = [ prelude effects test ];
+
+  src = fetchFromGitHub {
+    owner = "jfdm";
+    repo = "idris-containers";
+    rev = "fb96aaa3f40faa432cd7a36d956dbc4fe9279234";
+    sha256 = "0vyjadd9sb8qcbzvzhnqwc8wa7ma770c10xhn96jsqsnzr81k52d";
+  };
+
+  postUnpack = ''
+    rm source/containers-travis.ipkg
+  '';
+
+  meta = {
+    description = "Various data structures for use in the Idris Language.";
+    homepage = https://github.com/jfdm/idris-containers;
+    license = lib.licenses.bsd3;
+    maintainers = [ lib.maintainers.brainrape ];
+    inherit (idris.meta) platforms;
+  };
+}
diff --git a/pkgs/development/idris-modules/cube.nix b/pkgs/development/idris-modules/cube.nix
new file mode 100644
index 00000000000..ce46c4538b5
--- /dev/null
+++ b/pkgs/development/idris-modules/cube.nix
@@ -0,0 +1,29 @@
+{ build-idris-package
+, fetchFromGitHub
+, prelude
+, base
+, lib
+, idris
+}:
+
+build-idris-package  {
+  name = "cube";
+  version = "2017-07-05";
+
+  idrisDeps = [ prelude base ];
+
+  src = fetchFromGitHub {
+    owner = "aatxe";
+    repo = "cube.idr";
+    rev = "edf66d82b3a363dc65c6f5416c9e24e746bad71e";
+    sha256 = "11k45j0b4qabj6zhwjvynyj56nmssf7d4fnkv66bd2w1pxnshzxg";
+  };
+
+  meta = {
+    description = "An implementation of the Lambda Cube in Idris";
+    homepage = https://github.com/aatxe/cube.idr;
+    license = lib.licenses.agpl3;
+    maintainers = [ lib.maintainers.brainrape ];
+    inherit (idris.meta) platforms;
+  };
+}
diff --git a/pkgs/development/idris-modules/curses.nix b/pkgs/development/idris-modules/curses.nix
new file mode 100644
index 00000000000..71bd9023840
--- /dev/null
+++ b/pkgs/development/idris-modules/curses.nix
@@ -0,0 +1,36 @@
+{ build-idris-package
+, fetchFromGitHub
+, prelude
+, effects
+, lib
+, idris
+, ncurses
+}:
+build-idris-package  {
+  name = "curses";
+  version = "2017-10-12";
+
+  idrisDeps = [ prelude effects ];
+
+  extraBuildInputs = [ ncurses.out ncurses.dev ];
+
+  postUnpack = ''
+    sed -i 's/^libs = curses$/libs = ncurses/g' source/curses.ipkg
+    sed -i 's/\#include <curses.h>/#include \<ncurses.h\>/g' source/src/cursesrun.h
+  '';
+
+  src = fetchFromGitHub {
+    owner = "JakobBruenker";
+    repo = "curses-idris";
+    rev = "ea4bbcfcf691f0dc731f2dfa676011809db084cb";
+    sha256 = "17q8hg5f61lk2kh3j4cwrwja282sihlcjdrx233z4237alp9w4g1";
+  };
+
+  meta = {
+    description = "libusb binding for idris and Effectful curses programming";
+    homepage = https://github.com/JakobBruenker/curses-idris;
+    license = lib.licenses.mit;
+    maintainers = [ lib.maintainers.brainrape ];
+    inherit (idris.meta) platforms;
+  };
+}
diff --git a/pkgs/development/idris-modules/data.nix b/pkgs/development/idris-modules/data.nix
new file mode 100644
index 00000000000..3cb78eabe96
--- /dev/null
+++ b/pkgs/development/idris-modules/data.nix
@@ -0,0 +1,28 @@
+{ build-idris-package
+, fetchFromGitHub
+, prelude
+, contrib
+, lib
+, idris
+}:
+build-idris-package  {
+  name = "data";
+  version = "2018-03-19";
+
+  idrisDeps = [ prelude contrib ];
+
+  src = fetchFromGitHub {
+    owner = "jdevuyst";
+    repo = "idris-data";
+    rev = "105b78ac13235edc596287367a675d7cd04ce5d5";
+    sha256 = "17wz4jddan39984qibx2x7nv2zkqznv0fpab20nrm4zgy17v77ii";
+  };
+
+  meta = {
+    description = "Functional data structures in Idris";
+    homepage = https://github.com/jdevuyst/idris-data;
+    license = lib.licenses.bsd3;
+    maintainers = [ lib.maintainers.brainrape ];
+    inherit (idris.meta) platforms;
+  };
+}
diff --git a/pkgs/development/idris-modules/default.nix b/pkgs/development/idris-modules/default.nix
index 35ee20e9622..1dfa4e48899 100644
--- a/pkgs/development/idris-modules/default.nix
+++ b/pkgs/development/idris-modules/default.nix
@@ -28,12 +28,15 @@
   in
     {
     inherit idris-no-deps callPackage;
-    # See #10450 about why we have to wrap the executable
+
+    # Idris wrapper with specified compiler and library paths, used to build packages
+
     idris =
         (pkgs.callPackage ./idris-wrapper.nix {})
           idris-no-deps
           { path = [ pkgs.gcc ]; lib = [pkgs.gmp]; };
 
+    # Utilities for building packages
 
     with-packages = callPackage ./with-packages.nix {} ;
 
@@ -41,21 +44,171 @@
 
     build-idris-package = callPackage ./build-idris-package.nix {};
 
-    # Libraries
+    # The set of libraries that comes with idris
 
-    # A list of all of the libraries that come with idris
     builtins = pkgs.lib.mapAttrsToList (name: value: value) builtins_;
 
-    httpclient = callPackage ./httpclient.nix {};
+    # Libraries
+
+    array = callPackage ./array.nix {};
+
+    bi = callPackage ./bi.nix {};
+
+    bifunctors = callPackage ./bifunctors.nix {};
+
+    bytes = callPackage ./bytes.nix {};
+
+    canvas = callPackage ./canvas.nix {};
+
+    categories = callPackage ./categories.nix {};
+
+    coda = callPackage ./coda.nix {};
+
+    config = callPackage ./config.nix {};
+
+    comonad = callPackage ./comonad.nix {};
+
+    composition = callPackage ./composition.nix {};
+
+    console = callPackage ./console.nix {};
+
+    containers = callPackage ./containers.nix {};
+
+    cube = callPackage ./cube.nix {};
+
+    curses = callPackage ./curses.nix {};
+
+    data = callPackage ./data.nix {};
+
+    derive = callPackage ./derive.nix {};
+
+    descncrunch = callPackage ./descncrunch.nix {};
+
+    dict = callPackage ./dict.nix {};
+
+    dom = callPackage ./dom.nix {};
+
+    electron = callPackage ./electron.nix {};
+
+    eternal = callPackage ./eternal.nix {};
+
+    farrp = callPackage ./farrp.nix {};
+
+    free = callPackage ./free.nix {};
+
+    fsm = callPackage ./fsm.nix {};
+
+    glfw = callPackage ./glfw.nix {};
+
+    graphviz = callPackage ./graphviz.nix {};
+
+    hamt = callPackage ./hamt.nix {};
+
+    html = callPackage ./html.nix {};
+
+    heyting-algebra = callPackage ./heyting-algebra.nix {};
+
+    hezarfen = callPackage ./hezarfen.nix {};
+
+    hrtime = callPackage ./hrtime.nix {};
+
+    http = callPackage ./http.nix {};
+
+    http4idris = callPackage ./http4idris.nix {};
+
+    iaia = callPackage ./iaia.nix {};
+
+    idrishighlighter = callPackage ./idrishighlighter.nix {};
+
+    idrisscript = callPackage ./idrisscript.nix {};
+
+    ipkgparser = callPackage ./ipkgparser.nix {};
+
+    jheiling-extras = callPackage ./jheiling-extras.nix {};
+
+    jheiling-js = callPackage ./jheiling-js.nix {};
+
+    js = callPackage ./js.nix {};
+
+    lens = callPackage ./lens.nix {};
 
     lightyear = callPackage ./lightyear.nix {};
 
-    optparse = callPackage ./optparse.nix {};
+    logic = callPackage ./logic.nix {};
 
-    wl-pprint = callPackage ./wl-pprint.nix {};
+    mapping = callPackage ./mapping.nix {};
+
+    mhd = callPackage ./mhd.nix {};
+
+    pacman = callPackage ./pacman.nix {};
+
+    patricia = callPackage ./patricia.nix {};
+
+    permutations = callPackage ./permutations.nix {};
+
+    pfds = callPackage ./pfds.nix {};
+
+    pipes = callPackage ./pipes.nix {};
+
+    posix = callPackage ./posix.nix {};
+
+    protobuf = callPackage ./protobuf.nix {};
+
+    rationals = callPackage ./rationals.nix {};
+
+    recursion_schemes = callPackage ./recursion_schemes.nix {};
+
+    refined = callPackage ./refined.nix {};
+
+    sdl = callPackage ./sdl.nix {};
+
+    sdl2 = callPackage ./sdl2.nix {};
+
+    semidirect = callPackage ./semidirect.nix {};
+
+    setoids = callPackage ./setoids.nix {};
+
+    smproc = callPackage ./smproc.nix {};
+
+    snippets = callPackage ./snippets.nix {};
+
+    software_foundations = callPackage ./software_foundations.nix {};
 
     specdris = callPackage ./specdris.nix {};
 
+    tap = callPackage ./tap.nix {};
+
+    test = callPackage ./test.nix {};
+
+    tlhydra = callPackage ./tlhydra.nix {};
+
+    tomladris = callPackage ./tomladris.nix {};
+
+    tp = callPackage ./tp.nix {};
+
+    tparsec = callPackage ./tparsec.nix {};
+
+    transducers = callPackage ./transducers.nix {};
+
+    trees = callPackage ./trees.nix {};
+
+    union_type = callPackage ./union_type.nix {};
+
+    vdom = callPackage ./vdom.nix {};
+
+    vecspace = callPackage ./vecspace.nix {};
+
+    webgl = callPackage ./webgl.nix {};
+
+    wl-pprint = callPackage ./wl-pprint.nix {};
+
+    wyvern = callPackage ./wyvern.nix {};
+
+    xhr = callPackage ./xhr.nix {};
+
+    yaml = callPackage ./yaml.nix {};
+
+    yampa = callPackage ./yampa.nix {};
 
   } // builtins_;
 in fix' (extends overrides idrisPackages)
diff --git a/pkgs/development/idris-modules/derive.nix b/pkgs/development/idris-modules/derive.nix
new file mode 100644
index 00000000000..6cc2ead71fc
--- /dev/null
+++ b/pkgs/development/idris-modules/derive.nix
@@ -0,0 +1,29 @@
+{ build-idris-package
+, fetchFromGitHub
+, prelude
+, contrib
+, pruviloj
+, lib
+, idris
+}:
+build-idris-package  {
+  name = "derive";
+  version = "2018-02-15";
+
+  idrisDeps = [ prelude contrib pruviloj ];
+
+  src = fetchFromGitHub {
+    owner = "davlum";
+    repo = "derive-all-the-instances";
+    rev = "2c8956807bd094ba33569227de921c6726401c42";
+    sha256 = "0l7263s04r52ql292vnnx2kngld6s1dipmaz5na7m82lj9p4x17y";
+  };
+
+  meta = {
+    description = "Type class deriving with elaboration reflection";
+    homepage = https://github.com/davlum/derive-all-the-instances;
+    license = lib.licenses.mit;
+    maintainers = [ lib.maintainers.brainrape ];
+    inherit (idris.meta) platforms;
+  };
+}
diff --git a/pkgs/development/idris-modules/descncrunch.nix b/pkgs/development/idris-modules/descncrunch.nix
new file mode 100644
index 00000000000..736b25c9684
--- /dev/null
+++ b/pkgs/development/idris-modules/descncrunch.nix
@@ -0,0 +1,28 @@
+{ build-idris-package
+, fetchFromGitHub
+, prelude
+, pruviloj
+, lib
+, idris
+}:
+build-idris-package  {
+  name = "descncrunch";
+  version = "2017-11-15";
+
+  idrisDeps = [ prelude pruviloj ];
+
+  src = fetchFromGitHub {
+    owner = "ahmadsalim";
+    repo = "desc-n-crunch";
+    rev = "261d9718504b8f0572c4fe7ae407a0231779bcab";
+    sha256 = "09fh334aga1z1hbw79507rdv7qsh0mqzb89lvpznn7vzi9zkl8fx";
+  };
+
+  meta = {
+    description = "Descriptions, levitation, and reflecting the elaborator";
+    homepage = https://github.com/ahmadsalim/desc-n-crunch;
+    license = lib.licenses.gpl3;
+    maintainers = [ lib.maintainers.brainrape ];
+    inherit (idris.meta) platforms;
+  };
+}
diff --git a/pkgs/development/idris-modules/dict.nix b/pkgs/development/idris-modules/dict.nix
new file mode 100644
index 00000000000..ea1cd5a9fe1
--- /dev/null
+++ b/pkgs/development/idris-modules/dict.nix
@@ -0,0 +1,32 @@
+{ build-idris-package
+, fetchFromGitHub
+, prelude
+, contrib
+, lib
+, idris
+}:
+build-idris-package  {
+  name = "dict";
+  version = "2016-12-26";
+
+  idrisDeps = [ prelude contrib ];
+
+  src = fetchFromGitHub {
+    owner = "be5invis";
+    repo = "idris-dict";
+    rev = "dddc7c9f45e079b151ee03c9752b968ceeab9dab";
+    sha256 = "18riq40vapg884y92w10w51j4896ah984zm5hisfv1sm9qbgx8ii";
+  };
+
+  postUnpack = ''
+    sed -i 's/\"//g' source/dict.ipkg
+  '';
+
+  meta = {
+    description = "Dict k v in Idris";
+    homepage = https://github.com/be5invis/idris-dict;
+    license = lib.licenses.mit;
+    maintainers = [ lib.maintainers.brainrape ];
+    inherit (idris.meta) platforms;
+  };
+}
diff --git a/pkgs/development/idris-modules/dom.nix b/pkgs/development/idris-modules/dom.nix
new file mode 100644
index 00000000000..0aee97f92e6
--- /dev/null
+++ b/pkgs/development/idris-modules/dom.nix
@@ -0,0 +1,30 @@
+{ build-idris-package
+, fetchFromGitHub
+, prelude
+, idrisscript
+, html
+, xhr
+, lib
+, idris
+}:
+build-idris-package  {
+  name = "dom";
+  version = "2017-04-22";
+
+  idrisDeps = [ prelude idrisscript html xhr ];
+
+  src = fetchFromGitHub {
+    owner = "pierrebeaucamp";
+    repo = "idris-dom";
+    rev = "6e5a2d143f62ef422358924ee7db6e8147cdc531";
+    sha256 = "16z9mykw2d9rjikn07kd6igb53jgaqi8zby4nc4n0gmplmhwdx4x";
+  };
+
+  meta = {
+    description = "Idris library to interact with the DOM";
+    homepage = https://github.com/pierrebeaucamp/idris-dom;
+    license = lib.licenses.asl20;
+    maintainers = [ lib.maintainers.brainrape ];
+    inherit (idris.meta) platforms;
+  };
+}
diff --git a/pkgs/development/idris-modules/electron.nix b/pkgs/development/idris-modules/electron.nix
new file mode 100644
index 00000000000..7dabfd8f45c
--- /dev/null
+++ b/pkgs/development/idris-modules/electron.nix
@@ -0,0 +1,36 @@
+{ build-idris-package
+, fetchFromGitHub
+, prelude
+, contrib
+, jheiling-extras
+, jheiling-js
+, lib
+, idris
+}:
+
+build-idris-package  {
+  name = "electron";
+  version = "2016-03-07";
+
+  idrisDeps = [ prelude contrib jheiling-extras jheiling-js ];
+
+  src = fetchFromGitHub {
+    owner = "jheiling";
+    repo = "idris-electron";
+    rev = "f0e86f52b8e5a546a2bf714709b659c1c0b04395";
+    sha256 = "1rpa7yjvfpzl06h0qbk54jd2n52nmgpf7nq5aamcinqh7h5gbiwn";
+  };
+
+  postUnpack = ''
+    rm source/example_main.ipkg
+    rm source/example_view.ipkg
+  '';
+
+  meta = {
+    description = "Electron bindings for Idris";
+    homepage = https://github.com/jheiling/idris-electron;
+    license = lib.licenses.unlicense;
+    maintainers = [ lib.maintainers.brainrape ];
+    inherit (idris.meta) platforms;
+  };
+}
diff --git a/pkgs/development/idris-modules/eternal.nix b/pkgs/development/idris-modules/eternal.nix
new file mode 100644
index 00000000000..ddbc0d79b84
--- /dev/null
+++ b/pkgs/development/idris-modules/eternal.nix
@@ -0,0 +1,35 @@
+{ build-idris-package
+, fetchFromGitHub
+, prelude
+, effects
+, lib
+, idris
+}:
+build-idris-package  {
+  name = "eternal";
+  version = "2018-01-25";
+
+  idrisDeps = [ prelude effects ];
+
+  src = fetchFromGitHub {
+    owner = "Heather";
+    repo = "Control.Eternal.Idris";
+    rev = "7ead56ce6065b55104460ace945adbce38fb13eb";
+    sha256 = "0b4zys4mhl6r4rbpdxr7n2n20cdc0nkh4lm8n5v4wxkmjzna5cpd";
+  };
+
+  postUnpack = ''
+    printf 'makefile = Makefile\n' >> source/eternal.ipkg
+    printf 'objs = readProcess.o\n' >> source/eternal.ipkg
+    sed -i 's/\/usr\/local\/idris\/readProcess.h/readProcess.h/g' source/Control/Eternal/System/Process.idr
+    sed -i 's/\/usr\/local\/idris\/readProcess.o/readProcess.o/g' source/Control/Eternal/System/Process.idr
+  '';
+
+  meta = {
+    description = "Infix pipe operators and some Nat, Float, String conversions";
+    homepage = https://github.com/Heather/Control.Eternal.Idris;
+    license = lib.licenses.bsd3;
+    maintainers = [ lib.maintainers.brainrape ];
+    inherit (idris.meta) platforms;
+  };
+}
diff --git a/pkgs/development/idris-modules/farrp.nix b/pkgs/development/idris-modules/farrp.nix
new file mode 100644
index 00000000000..2c88399eb3c
--- /dev/null
+++ b/pkgs/development/idris-modules/farrp.nix
@@ -0,0 +1,28 @@
+{ build-idris-package
+, fetchFromGitHub
+, prelude
+, effects
+, lib
+, idris
+}:
+build-idris-package  {
+  name = "farrp";
+  version = "2018-02-13";
+
+  idrisDeps = [ prelude effects ];
+
+  src = fetchFromGitHub {
+    owner = "lambda-11235";
+    repo = "FarRP";
+    rev = "d592957232968743f8862e49d5a8d52e13340444";
+    sha256 = "1zrf750d7x1cz7kkgcx4ipa87hkg10adwii4qqvz9vpjap7vh7h0";
+  };
+
+  meta = {
+    description = "Arrowized FRP library for Idris with static safety guarantees";
+    homepage = https://github.com/lambda-11235/FarRP;
+    license = lib.licenses.mit;
+    maintainers = [ lib.maintainers.brainrape ];
+    inherit (idris.meta) platforms;
+  };
+}
diff --git a/pkgs/development/idris-modules/free.nix b/pkgs/development/idris-modules/free.nix
new file mode 100644
index 00000000000..cc0820d3c64
--- /dev/null
+++ b/pkgs/development/idris-modules/free.nix
@@ -0,0 +1,27 @@
+{ build-idris-package
+, fetchFromGitHub
+, prelude
+, lib
+, idris
+}:
+build-idris-package  {
+  name = "free";
+  version = "2017-07-03";
+
+  idrisDeps = [ prelude ];
+
+  src = fetchFromGitHub {
+    owner = "idris-hackers";
+    repo = "idris-free";
+    rev = "919950fb6a9d97c139c2d102402fec094a99c397";
+    sha256 = "1n4daf1acjkd73an4m31yp9g616crjb7h5z02f1gj29wm3dbx5s7";
+  };
+
+  meta = {
+    description = "Free Monads and useful constructions to work with them";
+    homepage = https://github.com/idris-hackers/idris-free;
+    license = lib.licenses.bsd2;
+    maintainers = [ lib.maintainers.brainrape ];
+    inherit (idris.meta) platforms;
+  };
+}
diff --git a/pkgs/development/idris-modules/fsm.nix b/pkgs/development/idris-modules/fsm.nix
new file mode 100644
index 00000000000..24f57af5257
--- /dev/null
+++ b/pkgs/development/idris-modules/fsm.nix
@@ -0,0 +1,28 @@
+{ build-idris-package
+, fetchFromGitHub
+, prelude
+, base
+, lib
+, idris
+}:
+build-idris-package  {
+  name = "fsm";
+  version = "2017-04-16";
+
+  idrisDeps = [ prelude base ];
+
+  src = fetchFromGitHub {
+    owner = "ctford";
+    repo = "flying-spaghetti-monster";
+    rev = "9253db1048d155b9d72dd5319f0a2072b574d406";
+    sha256 = "0n1kqpxysl3dji0zd8c47ir4144s0n3pb8i1mqp6ylma3r7rlg1l";
+  };
+
+  meta = {
+    description = "Comonads for Idris";
+    homepage = https://github.com/ctford/flying-spaghetti-monster;
+    license = lib.licenses.bsd3;
+    maintainers = [ lib.maintainers.brainrape ];
+    inherit (idris.meta) platforms;
+  };
+}
diff --git a/pkgs/development/idris-modules/glfw.nix b/pkgs/development/idris-modules/glfw.nix
new file mode 100644
index 00000000000..041c18faedc
--- /dev/null
+++ b/pkgs/development/idris-modules/glfw.nix
@@ -0,0 +1,32 @@
+{ build-idris-package
+, fetchFromGitHub
+, prelude
+, effects
+, lib
+, idris
+, pkgs
+}:
+
+build-idris-package  {
+  name = "glfw";
+  version = "2016-12-05";
+
+  idrisDeps = [ prelude effects ];
+
+  extraBuildInputs = [ pkgs.glfw ];
+
+  src = fetchFromGitHub {
+    owner = "eckart";
+    repo = "glfw-idris";
+    rev = "10220a734b69f3b884683041a1a9c533800b663a";
+    sha256 = "045ylaj66g5m4syzhqxlaxmivy8y7jznkcf1y7w4awa4y5znyqqd";
+  };
+
+  meta = {
+    description = "GLFW bindings for Idris";
+    homepage = https://github.com/eckart/glfw-idris;
+    license = lib.licenses.mit;
+    maintainers = [ lib.maintainers.brainrape ];
+    inherit (idris.meta) platforms;
+  };
+}
diff --git a/pkgs/development/idris-modules/graphviz.nix b/pkgs/development/idris-modules/graphviz.nix
new file mode 100644
index 00000000000..3ea20d3d906
--- /dev/null
+++ b/pkgs/development/idris-modules/graphviz.nix
@@ -0,0 +1,32 @@
+{ build-idris-package
+, fetchFromGitLab
+, prelude
+, lightyear
+, lib
+, idris
+}:
+build-idris-package  {
+  name = "graphviz";
+  version = "2017-01-16";
+
+  idrisDeps = [ prelude lightyear ];
+
+  src = fetchFromGitLab {
+    owner = "mgttlinger";
+    repo = "idris-graphviz";
+    rev = "805da92ac888530134c3b4090fae0d025d86bb05";
+    sha256 = "12kzgjlwq6adflfc5zxpgjnaiszhiab6dcp878ysbz3zr2sihljx";
+  };
+
+  postUnpack = ''
+    sed -i "/^author /cauthor = Merlin Goettlinger" source/graphviz.ipkg
+  '';
+
+  meta = {
+    description = "Parser and library for graphviz dot files";
+    homepage = https://github.com/mgttlinger/idris-graphviz;
+    license = lib.licenses.gpl3;
+    maintainers = [ lib.maintainers.brainrape ];
+    inherit (idris.meta) platforms;
+  };
+}
diff --git a/pkgs/development/idris-modules/hamt.nix b/pkgs/development/idris-modules/hamt.nix
new file mode 100644
index 00000000000..7a2d0d77c83
--- /dev/null
+++ b/pkgs/development/idris-modules/hamt.nix
@@ -0,0 +1,29 @@
+{ build-idris-package
+, fetchFromGitHub
+, prelude
+, contrib
+, effects
+, lib
+, idris
+}:
+build-idris-package  {
+  name = "idris-hamt";
+  version = "2016-11-15";
+
+  idrisDeps = [ prelude contrib effects ];
+
+  src = fetchFromGitHub {
+    owner = "bamboo";
+    repo = "idris-hamt";
+    rev = "e70f3eedddb5ccafea8e386762b8421ba63c495a";
+    sha256 = "0m2yjr20dxkfmn3nzc68l6vh0rdaw6b637yijwl4c83b5xiac1mi";
+  };
+
+  meta = {
+    description = "Idris Hash Array Mapped Trie";
+    homepage = https://github.com/bamboo/idris-hamt;
+    license = lib.licenses.bsd3;
+    maintainers = [ lib.maintainers.brainrape ];
+    inherit (idris.meta) platforms;
+  };
+}
diff --git a/pkgs/development/idris-modules/heyting-algebra.nix b/pkgs/development/idris-modules/heyting-algebra.nix
new file mode 100644
index 00000000000..8a283eada8a
--- /dev/null
+++ b/pkgs/development/idris-modules/heyting-algebra.nix
@@ -0,0 +1,28 @@
+{ build-idris-package
+, fetchFromGitHub
+, prelude
+, contrib
+, lib
+, idris
+}:
+build-idris-package  {
+  name = "heyting-algebra";
+  version = "2017-08-18";
+
+  idrisDeps = [ prelude contrib ];
+
+  src = fetchFromGitHub {
+    owner = "Risto-Stevcev";
+    repo = "idris-heyting-algebra";
+    rev = "2c814c48246a5e19bff66e64a753208c7d59d397";
+    sha256 = "199cvhxiimlhchvsc66zwn0dls78f9lamam256ad65mv4cjmxv40";
+  };
+
+  meta = {
+    description = "Interfaces for heyting algebras and verified bounded join and meet semilattices";
+    homepage = https://github.com/Risto-Stevcev/idris-heyting-algebra;
+    license = lib.licenses.mit;
+    maintainers = [ lib.maintainers.brainrape ];
+    inherit (idris.meta) platforms;
+  };
+}
diff --git a/pkgs/development/idris-modules/hezarfen.nix b/pkgs/development/idris-modules/hezarfen.nix
new file mode 100644
index 00000000000..712508220a6
--- /dev/null
+++ b/pkgs/development/idris-modules/hezarfen.nix
@@ -0,0 +1,28 @@
+{ build-idris-package
+, fetchFromGitHub
+, prelude
+, base
+, lib
+, idris
+}:
+build-idris-package  {
+  name = "hezarfen";
+  version = "2018-02-03";
+
+  idrisDeps = [ prelude base ];
+
+  src = fetchFromGitHub {
+    owner = "joom";
+    repo = "hezarfen";
+    rev = "079884d85619cd187ae67230480a1f37327f8d78";
+    sha256 = "0z4150gavpx64m3l0xbjjz9dcir7zij9hvd69k98zvhw7i27b1xp";
+  };
+
+  meta = {
+    description = "a theorem prover for intuitionistic propositional logic in Idris, with metaprogramming features";
+    homepage = https://github.com/joom/hezarfen;
+    license = lib.licenses.mit;
+    maintainers = [ lib.maintainers.brainrape ];
+    inherit (idris.meta) platforms;
+  };
+}
diff --git a/pkgs/development/idris-modules/hrtime.nix b/pkgs/development/idris-modules/hrtime.nix
new file mode 100644
index 00000000000..ba4df28ab26
--- /dev/null
+++ b/pkgs/development/idris-modules/hrtime.nix
@@ -0,0 +1,28 @@
+{ build-idris-package
+, fetchFromGitHub
+, prelude
+, idrisscript
+, lib
+, idris
+}:
+build-idris-package  {
+  name = "hrtime";
+  version = "2017-04-16";
+
+  idrisDeps = [ prelude idrisscript ];
+
+  src = fetchFromGitHub {
+    owner = "pierrebeaucamp";
+    repo = "idris-hrtime";
+    rev = "e1f54ce74bde871010ae76d9afd42048cd2aae83";
+    sha256 = "0rmmpi1kp1h7ficmcxbxkny9lq9pjli2qhwy17vgbgx8fx60m8l0";
+  };
+
+  meta = {
+    description = "Idris library for high resolution time";
+    homepage = https://github.com/pierrebeaucamp/idris-hrtime;
+    license = lib.licenses.asl20;
+    maintainers = [ lib.maintainers.brainrape ];
+    inherit (idris.meta) platforms;
+  };
+}
diff --git a/pkgs/development/idris-modules/html.nix b/pkgs/development/idris-modules/html.nix
new file mode 100644
index 00000000000..deec5b0eb6d
--- /dev/null
+++ b/pkgs/development/idris-modules/html.nix
@@ -0,0 +1,34 @@
+{ build-idris-package
+, fetchFromGitHub
+, prelude
+, idrisscript
+, hrtime
+, webgl
+, lib
+, idris
+}:
+build-idris-package  {
+  name = "html";
+  version = "2017-04-23";
+
+  idrisDeps = [ prelude idrisscript hrtime webgl ];
+
+  src = fetchFromGitHub {
+    owner = "pierrebeaucamp";
+    repo = "idris-html";
+    rev = "f59ecc560d7008ba26dda83f11319bb24ed6c508";
+    sha256 = "0r2clvkyld3y3r6smkfb7s47qnndikwds3bx9hphidbn41wjnh0i";
+  };
+
+  postUnpack = ''
+    sed -i "s/hrTime/hrtime/g" source/html.ipkg
+  '';
+
+  meta = {
+    description = "Idris library to interact with HTML";
+    homepage = https://github.com/pierrebeaucamp/idris-html;
+    license = lib.licenses.asl20;
+    maintainers = [ lib.maintainers.brainrape ];
+    inherit (idris.meta) platforms;
+  };
+}
diff --git a/pkgs/development/idris-modules/http.nix b/pkgs/development/idris-modules/http.nix
new file mode 100644
index 00000000000..800a3a2eeb4
--- /dev/null
+++ b/pkgs/development/idris-modules/http.nix
@@ -0,0 +1,30 @@
+{ build-idris-package
+, fetchFromGitHub
+, prelude
+, contrib
+, lightyear
+, bytes
+, lib
+, idris
+}:
+build-idris-package  {
+  name = "http";
+  version = "2018-02-25";
+
+  idrisDeps = [ prelude contrib lightyear bytes ];
+
+  src = fetchFromGitHub {
+    owner = "uwap";
+    repo = "idris-http";
+    rev = "dc4a31543f87c0bc44cbaa98192f0303cd8dd82e";
+    sha256 = "1abrwi5ikymff4g7a0g5wskycvhpnn895z1z1bz9r71ks554ypl8";
+  };
+
+  meta = {
+    description = "An HTTP library for idris";
+    homepage = https://github.com/uwap/idris-http;
+    license = lib.licenses.bsd2;
+    maintainers = [ lib.maintainers.brainrape ];
+    inherit (idris.meta) platforms;
+  };
+}
diff --git a/pkgs/development/idris-modules/http4idris.nix b/pkgs/development/idris-modules/http4idris.nix
new file mode 100644
index 00000000000..5b79644c3a0
--- /dev/null
+++ b/pkgs/development/idris-modules/http4idris.nix
@@ -0,0 +1,29 @@
+{ build-idris-package
+, fetchFromGitHub
+, prelude
+, contrib
+, lib
+, idris
+}:
+
+build-idris-package  {
+  name = "http4idris";
+  version = "2018-01-16";
+
+  idrisDeps = [ prelude contrib ];
+
+  src = fetchFromGitHub {
+    owner = "A1kmm";
+    repo = "http4idris";
+    rev = "f44ffd2a15628869c7aadf241e3c9b1ee7b40941";
+    sha256 = "16bs7rxbsq7m7jm96zkqiq8hj68l907m8xgmjrcxzl158qvzhw1w";
+  };
+
+  meta = {
+    description = "An experimental HTTP framework for Idris";
+    homepage = https://github.com/A1kmm/http4idris;
+    license = lib.licenses.mit;
+    maintainers = [ lib.maintainers.brainrape ];
+    inherit (idris.meta) platforms;
+  };
+}
diff --git a/pkgs/development/idris-modules/httpclient.nix b/pkgs/development/idris-modules/httpclient.nix
deleted file mode 100644
index 13c33d04da5..00000000000
--- a/pkgs/development/idris-modules/httpclient.nix
+++ /dev/null
@@ -1,36 +0,0 @@
-{ curl
-, build-idris-package
-, fetchFromGitHub
-, lightyear
-, contrib
-, effects
-, prelude
-, base
-, lib
-, idris
-}:
-
-let
-in
-build-idris-package {
-  name = "httpclient";
-  version = "2016-12-20";
-
-  src = fetchFromGitHub {
-    owner = "justjoheinz";
-    repo = "idris-httpclient";
-    rev = "4a7296d572d7f7fde87d27da07d5c9566dc4ff14";
-    sha256 = "0sy0q7gri9lwbqdmx9720pby3w1470w7wzn62bf2rir532219hhl";
-  };
-
-  idrisDeps = [ prelude base effects lightyear contrib ];
-
-  extraBuildInputs = [ curl ];
-
-  meta = {
-    description = "HTTP Client for Idris";
-    homepage = https://github.com/justjoheinz/idris-httpclient;
-    inherit (idris.meta) platforms;
-    broken = true;
-  };
-}
diff --git a/pkgs/development/idris-modules/iaia.nix b/pkgs/development/idris-modules/iaia.nix
new file mode 100644
index 00000000000..5b4f450fdf7
--- /dev/null
+++ b/pkgs/development/idris-modules/iaia.nix
@@ -0,0 +1,28 @@
+{ build-idris-package
+, fetchFromGitHub
+, prelude
+, contrib
+, lib
+, idris
+}:
+build-idris-package  {
+  name = "iaia";
+  version = "2017-11-10";
+
+  idrisDeps = [ prelude contrib ];
+
+  src = fetchFromGitHub {
+    owner = "sellout";
+    repo = "Iaia";
+    rev = "dce68d2b63a26dad7c94459773eae2d42686fa05";
+    sha256 = "0209fhv8x3sw6ijrwc8a85pch97z821ygaz78va3l274xam4l659";
+  };
+
+  meta = {
+    description = "Recursion scheme library for Idris";
+    homepage = https://github.com/sellout/Iaia;
+    license = lib.licenses.mit;
+    maintainers = [ lib.maintainers.brainrape ];
+    inherit (idris.meta) platforms;
+  };
+}
diff --git a/pkgs/development/idris-modules/idrishighlighter.nix b/pkgs/development/idris-modules/idrishighlighter.nix
new file mode 100644
index 00000000000..f3d06216976
--- /dev/null
+++ b/pkgs/development/idris-modules/idrishighlighter.nix
@@ -0,0 +1,29 @@
+{ build-idris-package
+, fetchFromGitHub
+, prelude
+, effects
+, lightyear
+, lib
+, idris
+}:
+build-idris-package  {
+  name = "idrishighlighter";
+  version = "2018-02-22";
+
+  idrisDeps = [ prelude effects lightyear ];
+
+  src = fetchFromGitHub {
+    owner = "david-christiansen";
+    repo = "idris-code-highlighter";
+    rev = "708a29c7d1433adf7b0f69d1aec50e69b2915bba";
+    sha256 = "16ahzf2jzh7wzi4jjq94s5z9nzkgnj2962dy13s1crim53csjgw5";
+  };
+
+  meta = {
+    description = "Semantic highlighter for Idris code";
+    homepage = https://github.com/david-christiansen/idris-code-highlighter;
+    license = lib.licenses.mit;
+    maintainers = [ lib.maintainers.brainrape ];
+    inherit (idris.meta) platforms;
+  };
+}
diff --git a/pkgs/development/idris-modules/idrisscript.nix b/pkgs/development/idris-modules/idrisscript.nix
new file mode 100644
index 00000000000..fd2f9e58218
--- /dev/null
+++ b/pkgs/development/idris-modules/idrisscript.nix
@@ -0,0 +1,28 @@
+{ build-idris-package
+, fetchFromGitHub
+, prelude
+, lib
+, idris
+}:
+
+build-idris-package  {
+  name = "idrisscript";
+  version = "2017-07-01";
+
+  idrisDeps = [ prelude ];
+
+  src = fetchFromGitHub {
+    owner = "idris-hackers";
+    repo = "IdrisScript";
+    rev = "4bb7019182392f24d2246a3e616f829156c8f091";
+    sha256 = "074ignh2hqwq4ng5nk7dswga4lm7342w7h4bmx4n03ygrn7w89ff";
+  };
+
+  meta = {
+    description = "FFI Bindings to interact with the unsafe world of JavaScript";
+    homepage = https://github.com/idris-hackers/IdrisScript;
+    license = lib.licenses.bsd2;
+    maintainers = [ lib.maintainers.brainrape ];
+    inherit (idris.meta) platforms;
+  };
+}
diff --git a/pkgs/development/idris-modules/ipkgparser.nix b/pkgs/development/idris-modules/ipkgparser.nix
new file mode 100644
index 00000000000..cdc1d593c01
--- /dev/null
+++ b/pkgs/development/idris-modules/ipkgparser.nix
@@ -0,0 +1,29 @@
+{ build-idris-package
+, fetchFromGitHub
+, prelude
+, contrib
+, effects
+, lightyear
+, lib
+, idris
+}:
+build-idris-package  {
+  name = "ipkgparser";
+  version = "2017-11-14";
+
+  idrisDeps = [ prelude contrib effects lightyear ];
+
+  src = fetchFromGitHub {
+    owner = "emptyflash";
+    repo = "idris-ipkg-parser";
+    rev = "35cc2f54d4f3b3710f637d0a8c897bfbb32fe183";
+    sha256 = "0vn3pigqddfy7cld0386hxzdv2nkl8mdpsx97hvyvqzrdpz4wl2q";
+  };
+
+  meta = {
+    description = "Parser for Idris iPkg files written in Idris using Lightyear";
+    homepage = https://github.com/emptyflash/idris-ipkg-parser;
+    maintainers = [ lib.maintainers.brainrape ];
+    inherit (idris.meta) platforms;
+  };
+}
diff --git a/pkgs/development/idris-modules/jheiling-extras.nix b/pkgs/development/idris-modules/jheiling-extras.nix
new file mode 100644
index 00000000000..34981d28d3e
--- /dev/null
+++ b/pkgs/development/idris-modules/jheiling-extras.nix
@@ -0,0 +1,29 @@
+{ build-idris-package
+, fetchFromGitHub
+, prelude
+, contrib
+, lib
+, idris
+}:
+
+build-idris-package  {
+  name = "extras";
+  version = "2018-03-06";
+
+  idrisDeps = [ prelude contrib ];
+
+  src = fetchFromGitHub {
+    owner = "jheiling";
+    repo = "idris-extras";
+    rev = "20e79087043ddb00301cdc3036964a2b1c5b1c5f";
+    sha256 = "0j34a7vawrkc7nkwwnv6lsjjdcr00d85csjw06nnbh8rj4vj5ps0";
+  };
+
+  meta = {
+    description = "Some useful functions for Idris";
+    homepage = https://github.com/jheiling/idris-extras;
+    license = lib.licenses.unlicense;
+    maintainers = [ lib.maintainers.brainrape ];
+    inherit (idris.meta) platforms;
+  };
+}
diff --git a/pkgs/development/idris-modules/jheiling-js.nix b/pkgs/development/idris-modules/jheiling-js.nix
new file mode 100644
index 00000000000..5139631b9d5
--- /dev/null
+++ b/pkgs/development/idris-modules/jheiling-js.nix
@@ -0,0 +1,30 @@
+{ build-idris-package
+, fetchFromGitHub
+, prelude
+, contrib
+, jheiling-extras
+, lib
+, idris
+}:
+
+build-idris-package  {
+  name = "jheiling-js";
+  version = "2016-03-09";
+
+  idrisDeps = [ prelude contrib jheiling-extras ];
+
+  src = fetchFromGitHub {
+    owner = "jheiling";
+    repo = "idris-js";
+    rev = "59763cd0c9715a9441931ae1077e501bb2ec6020";
+    sha256 = "1mvpxwszh56cfrf509qiadn7gp2l4syanhvdq6v1br0y03g8wk9v";
+  };
+
+  meta = {
+    description = "Js library for Idris";
+    homepage = https://github.com/jheiling/idris-js;
+    license = lib.licenses.unlicense;
+    maintainers = [ lib.maintainers.brainrape ];
+    inherit (idris.meta) platforms;
+  };
+}
diff --git a/pkgs/development/idris-modules/js.nix b/pkgs/development/idris-modules/js.nix
new file mode 100644
index 00000000000..0792a8c0f5d
--- /dev/null
+++ b/pkgs/development/idris-modules/js.nix
@@ -0,0 +1,29 @@
+{ build-idris-package
+, fetchFromGitHub
+, prelude
+, contrib
+, pruviloj
+, lib
+, idris
+}:
+build-idris-package  {
+  name = "js";
+  version = "2018-11-27";
+
+  idrisDeps = [ prelude contrib pruviloj ];
+
+  src = fetchFromGitHub {
+    owner = "rbarreiro";
+    repo = "idrisjs";
+    rev = "1ce91ecec69a7174c20bff927aeac3928a01ed3f";
+    sha256 = "13whhccb7yjq10hnngdc8bc9z9vvyir1wjkclpz006cr4cd266ca";
+  };
+
+  meta = {
+    description = "Js libraries for idris";
+    homepage = https://github.com/rbarreiro/idrisjs;
+    license = lib.licenses.mit;
+    maintainers = [ lib.maintainers.brainrape ];
+    inherit (idris.meta) platforms;
+  };
+}
diff --git a/pkgs/development/idris-modules/lens.nix b/pkgs/development/idris-modules/lens.nix
new file mode 100644
index 00000000000..e97c7cfafda
--- /dev/null
+++ b/pkgs/development/idris-modules/lens.nix
@@ -0,0 +1,29 @@
+{ build-idris-package
+, fetchFromGitHub
+, prelude
+, bifunctors
+, lib
+, idris
+}:
+
+build-idris-package  {
+  name = "lens";
+  version = "2017-09-25";
+
+  idrisDeps = [ prelude bifunctors ];
+
+  src = fetchFromGitHub {
+    owner = "HuwCampbell";
+    repo = "idris-lens";
+    rev = "421aa76c19607693ac2f23003dc0fe82c1a3760a";
+    sha256 = "1q6lmhrwd1qg18s253sim4hg2a2wk5439p3izy1f9ygi6pv4a6mk";
+  };
+
+  meta = {
+    description = "van Laarhoven lenses for Idris";
+    homepage = https://github.com/HuwCampbell/idris-lens;
+    license = lib.licenses.bsd3;
+    maintainers = [ lib.maintainers.brainrape ];
+    inherit (idris.meta) platforms;
+  };
+}
diff --git a/pkgs/development/idris-modules/lightyear.nix b/pkgs/development/idris-modules/lightyear.nix
index e217e76e2a7..6cedda0170f 100644
--- a/pkgs/development/idris-modules/lightyear.nix
+++ b/pkgs/development/idris-modules/lightyear.nix
@@ -7,12 +7,9 @@
 , idris
 }:
 
-let
-  date = "2017-09-10";
-in
 build-idris-package  {
   name = "lightyear";
-  version = date;
+  version = "2017-09-10";
 
   idrisDeps = [ prelude base effects ];
 
@@ -27,7 +24,7 @@ build-idris-package  {
     description = "Parser combinators for Idris";
     homepage = https://github.com/ziman/lightyear;
     license = lib.licenses.bsd2;
-    maintainers = [ lib.maintainers.siddharthist ];
+    maintainers = with lib.maintainers; [ siddharthist brainrape ];
     inherit (idris.meta) platforms;
   };
 }
diff --git a/pkgs/development/idris-modules/logic.nix b/pkgs/development/idris-modules/logic.nix
new file mode 100644
index 00000000000..342a84882cd
--- /dev/null
+++ b/pkgs/development/idris-modules/logic.nix
@@ -0,0 +1,31 @@
+{ build-idris-package
+, fetchFromGitHub
+, prelude
+, bifunctors
+, lib
+, idris
+}:
+build-idris-package  {
+  name = "logic";
+  version = "2016-12-02";
+
+  idrisDeps = [ prelude bifunctors ];
+
+  src = fetchFromGitHub {
+    owner = "yurrriq";
+    repo = "idris-logic";
+    rev = "e0bed57e17fde1237fe0358cb77b25f488a04d2f";
+    sha256 = "0kvn1p0v71vkwlchf20243c47jcfid44w5r0mx4dydijq9gylxfz";
+  };
+
+  # tests fail
+  doCheck = false;
+
+  meta = {
+    description = "Propositional logic tools, inspired by the Coq standard library";
+    homepage = https://github.com/yurrriq/idris-logic;
+    license = lib.licenses.mit;
+    maintainers = [ lib.maintainers.brainrape ];
+    inherit (idris.meta) platforms;
+  };
+}
diff --git a/pkgs/development/idris-modules/mapping.nix b/pkgs/development/idris-modules/mapping.nix
new file mode 100644
index 00000000000..84429c88765
--- /dev/null
+++ b/pkgs/development/idris-modules/mapping.nix
@@ -0,0 +1,28 @@
+{ build-idris-package
+, fetchFromGitHub
+, prelude
+, lib
+, idris
+}:
+
+build-idris-package  {
+  name = "mapping";
+  version = "2018-02-27";
+
+  idrisDeps = [ prelude ];
+
+  src = fetchFromGitHub {
+    owner = "zaoqi";
+    repo = "Mapping.idr";
+    rev = "4f226933d4491b8fd09f9d9a7b862c0cc646b936";
+    sha256 = "1skkb7jz2lv0xg4n5m0vd9xddg3x01459dwx1jxnpc7ifask4cda";
+  };
+
+  meta = {
+    description = "Idris mapping library";
+    homepage = https://github.com/zaoqi/Mapping.idr;
+    license = lib.licenses.agpl3;
+    maintainers = [ lib.maintainers.brainrape ];
+    inherit (idris.meta) platforms;
+  };
+}
diff --git a/pkgs/development/idris-modules/mhd.nix b/pkgs/development/idris-modules/mhd.nix
new file mode 100644
index 00000000000..eae30886cd6
--- /dev/null
+++ b/pkgs/development/idris-modules/mhd.nix
@@ -0,0 +1,33 @@
+{ build-idris-package
+, fetchFromGitHub
+, prelude
+, contrib
+, effects
+, libmicrohttpd
+, lib
+, idris
+}:
+
+build-idris-package  {
+  name = "mhd";
+  version = "2016-04-22";
+
+  idrisDeps = [ prelude contrib effects ];
+
+  extraBuildInputs = [ libmicrohttpd ];
+
+  src = fetchFromGitHub {
+    owner = "colin-adams";
+    repo = "idris-libmicrohttpd";
+    rev = "a8808bc06fa292d4b3389f32cb00716e43122a46";
+    sha256 = "0wvp1qi3bn4hk52vsid6acfwvwbs58sggylbpjvkxzycsbhz4nx4";
+  };
+
+  meta = {
+    description = "A binding of the GNU libmicrohttpd library to the Idris C backend";
+    homepage = https://github.com/colin-adams/idris-libmicrohttpd;
+    license = lib.licenses.lgpl21;
+    maintainers = [ lib.maintainers.brainrape ];
+    inherit (idris.meta) platforms;
+  };
+}
diff --git a/pkgs/development/idris-modules/pacman.nix b/pkgs/development/idris-modules/pacman.nix
new file mode 100644
index 00000000000..3650a3990f2
--- /dev/null
+++ b/pkgs/development/idris-modules/pacman.nix
@@ -0,0 +1,32 @@
+{ build-idris-package
+, fetchFromGitHub
+, prelude
+, contrib
+, sdl2
+, lib
+, idris
+}:
+build-idris-package  {
+  name = "pacman";
+  version = "2017-11-10";
+
+  idrisDeps = [ prelude contrib sdl2 ];
+
+  src = fetchFromGitHub {
+    owner = "jdublu10";
+    repo = "pacman";
+    rev = "263ae58aeb5147e2af9cc76411970ccd90fa9121";
+    sha256 = "02m3ic2fk3a8j50xdpq70yx30hkxzjg6idsia482sm1nlkmxxin9";
+  };
+
+  postUnpack = ''
+    mv source/src/board.idr source/src/Board.idr
+  '';
+
+  meta = {
+    description = "Proof that Idris is pacman complete";
+    homepage = https://github.com/jdublu10/pacman;
+    maintainers = [ lib.maintainers.brainrape ];
+    inherit (idris.meta) platforms;
+  };
+}
diff --git a/pkgs/development/idris-modules/patricia.nix b/pkgs/development/idris-modules/patricia.nix
new file mode 100644
index 00000000000..e3c1cb82f28
--- /dev/null
+++ b/pkgs/development/idris-modules/patricia.nix
@@ -0,0 +1,32 @@
+{ build-idris-package
+, fetchFromGitHub
+, prelude
+, specdris
+, lib
+, idris
+}:
+build-idris-package  {
+  name = "patricia";
+  version = "2017-10-27";
+
+  idrisDeps = [ prelude specdris ];
+
+  src = fetchFromGitHub {
+    owner = "ChShersh";
+    repo = "idris-patricia";
+    rev = "24724e6d0564f2f813d0d0a58f5c5db9afe35313";
+    sha256 = "093q3qjmr93wv8pqwk0zfm3hzf14c235k9c9ip53rhg6yzcm0yqz";
+  };
+
+  postUnpack = ''
+    rm source/patricia-nix.ipkg
+  '';
+
+  meta = {
+    description = "Immutable map from integer keys to values based on patricia tree. Basically persistent array.";
+    homepage = https://github.com/ChShersh/idris-patricia;
+    license = lib.licenses.mit;
+    maintainers = [ lib.maintainers.brainrape ];
+    inherit (idris.meta) platforms;
+  };
+}
diff --git a/pkgs/development/idris-modules/permutations.nix b/pkgs/development/idris-modules/permutations.nix
new file mode 100644
index 00000000000..af93f4af5e0
--- /dev/null
+++ b/pkgs/development/idris-modules/permutations.nix
@@ -0,0 +1,32 @@
+{ build-idris-package
+, fetchFromGitHub
+, prelude
+, base
+, lib
+, idris
+}:
+build-idris-package  {
+  name = "permutations";
+  version = "2018-01-19";
+
+  idrisDeps = [ prelude base ];
+
+  src = fetchFromGitHub {
+    owner = "vmchale";
+    repo = "permutations";
+    rev = "f0de6bc721bb9d31e16f9168ded6eb6e34935881";
+    sha256 = "1dirzqy40fczbw7gp2jr51lzqsnq5vcx9z5l6194lcrq2vxgzv1s";
+  };
+
+  postUnpack = ''
+    rm source/test.ipkg
+  '';
+
+  meta = {
+    description = "Type-safe way of working with permutations in Idris";
+    homepage = https://github.com/vmchale/permutations;
+    license = lib.licenses.bsd3;
+    maintainers = [ lib.maintainers.brainrape ];
+    inherit (idris.meta) platforms;
+  };
+}
diff --git a/pkgs/development/idris-modules/pfds.nix b/pkgs/development/idris-modules/pfds.nix
new file mode 100644
index 00000000000..8ab75b9ee50
--- /dev/null
+++ b/pkgs/development/idris-modules/pfds.nix
@@ -0,0 +1,28 @@
+{ build-idris-package
+, fetchFromGitHub
+, prelude
+, contrib
+, lib
+, idris
+}:
+build-idris-package  {
+  name = "pfds";
+  version = "2017-09-25";
+
+  idrisDeps = [ prelude contrib ];
+
+  src = fetchFromGitHub {
+    owner = "timjb";
+    repo = "idris-pfds";
+    rev = "9ba39348adc45388eccf6463855f42b81333620a";
+    sha256 = "0jbrwdpzg5hgmkfk2kj5y8lgaynl79h48qdvkl1glypfh392w35f";
+  };
+
+  meta = {
+    description = "Purely functional data structures in Idris";
+    homepage = https://github.com/timjb/idris-pfds;
+    license = lib.licenses.mit;
+    maintainers = [ lib.maintainers.brainrape ];
+    inherit (idris.meta) platforms;
+  };
+}
diff --git a/pkgs/development/idris-modules/pipes.nix b/pkgs/development/idris-modules/pipes.nix
new file mode 100644
index 00000000000..943d8e470f0
--- /dev/null
+++ b/pkgs/development/idris-modules/pipes.nix
@@ -0,0 +1,28 @@
+{ build-idris-package
+, fetchFromGitHub
+, prelude
+, base
+, lib
+, idris
+}:
+build-idris-package  {
+  name = "pipes";
+  version = "2017-12-02";
+
+  idrisDeps = [ prelude base ];
+
+  src = fetchFromGitHub {
+    owner = "QuentinDuval";
+    repo = "IdrisPipes";
+    rev = "888abe405afce42015014899682c736028759d42";
+    sha256 = "1dxbqzg0qy7lkabmkj0qypywdjz5751g7h2ql8b2253dy3v0ndbs";
+  };
+
+  meta = {
+    description = "Composable and effectful production, transformation and consumption of streams of data";
+    homepage = https://github.com/QuentinDuval/IdrisPipes;
+    license = lib.licenses.bsd3;
+    maintainers = [ lib.maintainers.brainrape ];
+    inherit (idris.meta) platforms;
+  };
+}
diff --git a/pkgs/development/idris-modules/posix.nix b/pkgs/development/idris-modules/posix.nix
new file mode 100644
index 00000000000..c6c44874b06
--- /dev/null
+++ b/pkgs/development/idris-modules/posix.nix
@@ -0,0 +1,30 @@
+{ build-idris-package
+, fetchFromGitHub
+, prelude
+, base
+, lib
+, idris
+}:
+build-idris-package  {
+  name = "posix";
+  version = "2017-11-18";
+
+  idrisDeps = [ prelude base ];
+
+  src = fetchFromGitHub {
+    owner = "idris-hackers";
+    repo = "idris-posix";
+    rev = "1e4787bc4dfcf901f2e1858e5334a6bafa5d27c4";
+    sha256 = "14y51vn18v23k56gi3b33rjjwpf02qfb00w8cfy8qycrl8rbgsmb";
+  };
+
+  # tests need file permissions
+  doCheck = false;
+
+  meta = {
+    description = "System POSIX bindings for Idris.";
+    homepage = https://github.com/idris-hackers/idris-posix;
+    maintainers = [ lib.maintainers.brainrape ];
+    inherit (idris.meta) platforms;
+  };
+}
diff --git a/pkgs/development/idris-modules/protobuf.nix b/pkgs/development/idris-modules/protobuf.nix
new file mode 100644
index 00000000000..4b4c2694202
--- /dev/null
+++ b/pkgs/development/idris-modules/protobuf.nix
@@ -0,0 +1,28 @@
+{ build-idris-package
+, fetchFromGitHub
+, prelude
+, lightyear
+, lib
+, idris
+}:
+build-idris-package  {
+  name = "protobuf";
+  version = "2017-08-12";
+
+  idrisDeps = [ prelude lightyear ];
+
+  src = fetchFromGitHub {
+    owner = "artagnon";
+    repo = "idris-protobuf";
+    rev = "c21212534639518453d16ae1b0f07d94464ff8eb";
+    sha256 = "0n5w7bdbxqca3b7hzg95md01mx4sfvl9fi82xjm0hzds33akmn05";
+  };
+
+  meta = {
+    description = "A partial implementation of Protocol Buffers in Idris";
+    homepage = https://github.com/artagnon/idris-protobuf;
+    license = lib.licenses.asl20;
+    maintainers = [ lib.maintainers.brainrape ];
+    inherit (idris.meta) platforms;
+  };
+}
diff --git a/pkgs/development/idris-modules/rationals.nix b/pkgs/development/idris-modules/rationals.nix
new file mode 100644
index 00000000000..693d580fdd5
--- /dev/null
+++ b/pkgs/development/idris-modules/rationals.nix
@@ -0,0 +1,28 @@
+{ curl
+, build-idris-package
+, fetchFromGitHub
+, prelude
+, contrib
+, lib
+, idris
+}:
+build-idris-package {
+  name = "rationals";
+  version = "2017-04-29";
+
+  idrisDeps = [ prelude contrib ];
+
+  src = fetchFromGitHub {
+    owner = "mcgordonite";
+    repo = "idris-binary-rationals";
+    rev = "0d7010b267662d89e76e2cc8b27fd95ecca009b8";
+    sha256 = "0fc93n4pyqyrjxrspnr3vjzc09m78ni1ardq1vx9g40vmvl0n49s";
+  };
+
+  meta = {
+    description = "An idris rational number type built from paths in the Stern Brocot tree";
+    homepage = https://github.com/mcgordonite/idris-binary-rationals;
+    inherit (idris.meta) platforms;
+    maintainers = [ lib.maintainers.brainrape ];
+  };
+}
diff --git a/pkgs/development/idris-modules/recursion_schemes.nix b/pkgs/development/idris-modules/recursion_schemes.nix
new file mode 100644
index 00000000000..06e99da3608
--- /dev/null
+++ b/pkgs/development/idris-modules/recursion_schemes.nix
@@ -0,0 +1,36 @@
+{ build-idris-package
+, fetchFromGitHub
+, prelude
+, free
+, composition
+, comonad
+, bifunctors
+, hezarfen
+, lib
+, idris
+}:
+build-idris-package  {
+  name = "recursion_schemes";
+  version = "2018-01-19";
+
+  idrisDeps = [ prelude free composition comonad bifunctors hezarfen ];
+
+  src = fetchFromGitHub {
+    owner = "vmchale";
+    repo = "recursion_schemes";
+    rev = "6bcbe0da561f461e7a05e29965a18ec9f87f8d82";
+    sha256 = "0rbx0yqa0fb7h7qfsvqvirc5q85z51rcwbivn6351jgn3a0inmhf";
+  };
+
+  postUnpack = ''
+    rm source/test.ipkg
+  '';
+
+  meta = {
+    description = "Recursion schemes for Idris";
+    homepage = https://github.com/vmchale/recursion_schemes;
+    license = lib.licenses.bsd3;
+    maintainers = [ lib.maintainers.brainrape ];
+    inherit (idris.meta) platforms;
+  };
+}
diff --git a/pkgs/development/idris-modules/refined.nix b/pkgs/development/idris-modules/refined.nix
new file mode 100644
index 00000000000..bd8e37f2b7f
--- /dev/null
+++ b/pkgs/development/idris-modules/refined.nix
@@ -0,0 +1,32 @@
+{ build-idris-package
+, fetchFromGitHub
+, prelude
+, base
+, lib
+, idris
+}:
+build-idris-package  {
+  name = "refined";
+  version = "2017-12-28";
+
+  idrisDeps = [ prelude base ];
+
+  src = fetchFromGitHub {
+    owner = "janschultecom";
+    repo = "idris-refined";
+    rev = "e21cdef16106a77b42d193806c1749ba6448a128";
+    sha256 = "1am7kfc51p2zlml954v8cl9xvx0g0f1caq7ni3z36xvsd7fh47yh";
+  };
+
+  postUnpack = ''
+    rm source/idris-refined-test.ipkg
+  '';
+
+  meta = {
+    description = "Port of Scala/Haskell Refined library to Idris";
+    homepage = https://github.com/janschultecom/idris-refined;
+    license = lib.licenses.asl20;
+    maintainers = [ lib.maintainers.brainrape ];
+    inherit (idris.meta) platforms;
+  };
+}
diff --git a/pkgs/development/idris-modules/sdl.nix b/pkgs/development/idris-modules/sdl.nix
new file mode 100644
index 00000000000..181959dca06
--- /dev/null
+++ b/pkgs/development/idris-modules/sdl.nix
@@ -0,0 +1,32 @@
+{ build-idris-package
+, fetchFromGitHub
+, prelude
+, effects
+, lib
+, idris
+, SDL
+, SDL_gfx
+}:
+
+build-idris-package  {
+  name = "sdl";
+  version = "2017-03-24";
+
+  idrisDeps = [ prelude effects ];
+
+  extraBuildInputs = [ idris SDL SDL_gfx ];
+
+  src = fetchFromGitHub {
+    owner = "edwinb";
+    repo = "SDL-idris";
+    rev = "095ce70da7ea9f163b018b690105edf375f1befe";
+    sha256 = "0nryssnaqfq2pvz2mbl2kkx6mig310f9dpgrbcx788nxi0qzsig6";
+  };
+
+  meta = {
+    description = "SDL-idris framework for Idris";
+    homepage = https://github.com/edwinb/SDL-idris;
+    maintainers = [ lib.maintainers.brainrape ];
+    inherit (idris.meta) platforms;
+  };
+}
diff --git a/pkgs/development/idris-modules/sdl2.nix b/pkgs/development/idris-modules/sdl2.nix
new file mode 100644
index 00000000000..46d4e9fb8dd
--- /dev/null
+++ b/pkgs/development/idris-modules/sdl2.nix
@@ -0,0 +1,33 @@
+{ build-idris-package
+, fetchFromGitHub
+, prelude
+, effects
+, lib
+, idris
+, pkgconfig
+, SDL2
+, SDL2_gfx
+}:
+
+build-idris-package  {
+  name = "sdl2";
+  version = "2018-01-19";
+
+  idrisDeps = [ prelude effects ];
+
+  extraBuildInputs = [ idris pkgconfig SDL2 SDL2_gfx ];
+
+  src = fetchFromGitHub {
+    owner = "steshaw";
+    repo = "idris-sdl2";
+    rev = "ebc36a0efb3e8086f2999120e7a8a8ac4952c6f6";
+    sha256 = "060k0i1pjilrc4pcz7v70hbipaw2crz14yxjlyjlhn6qm03131q0";
+  };
+
+  meta = {
+    description = "SDL2 binding for Idris";
+    homepage = https://github.com/steshaw/idris-sdl2;
+    maintainers = [ lib.maintainers.brainrape ];
+    inherit (idris.meta) platforms;
+  };
+}
diff --git a/pkgs/development/idris-modules/semidirect.nix b/pkgs/development/idris-modules/semidirect.nix
new file mode 100644
index 00000000000..d10a85eb4f4
--- /dev/null
+++ b/pkgs/development/idris-modules/semidirect.nix
@@ -0,0 +1,28 @@
+{ build-idris-package
+, fetchFromGitHub
+, prelude
+, contrib
+, patricia
+, lib
+, idris
+}:
+build-idris-package  {
+  name = "semidirect";
+  version = "2018-02-06";
+
+  idrisDeps = [ prelude contrib patricia ];
+
+  src = fetchFromGitHub {
+    owner = "clayrat";
+    repo = "idris-semidirect";
+    rev = "884c26c095784f8fd489c323d6673f2a8710a741";
+    sha256 = "0w36xkfxsqm6r91f0vs6qpmallrfwa09ql8i317xwm86nfk7akj9";
+  };
+
+  meta = {
+    description = "Semidirect products in Idris";
+    homepage = https://github.com/clayrat/idris-semidirect;
+    maintainers = [ lib.maintainers.brainrape ];
+    inherit (idris.meta) platforms;
+  };
+}
diff --git a/pkgs/development/idris-modules/setoids.nix b/pkgs/development/idris-modules/setoids.nix
new file mode 100644
index 00000000000..76bf127818c
--- /dev/null
+++ b/pkgs/development/idris-modules/setoids.nix
@@ -0,0 +1,26 @@
+{ build-idris-package
+, fetchFromGitHub
+, prelude
+, lib
+, idris
+}:
+build-idris-package  {
+  name = "setoids";
+  version = "2017-03-13";
+
+  idrisDeps = [ prelude ];
+
+  src = fetchFromGitHub {
+    owner = "danilkolikov";
+    repo = "setoids";
+    rev = "a50cfc010cb4321cc9b7988c0a4f387d83d34839";
+    sha256 = "0q0h2qj9vylkm16h70l78l2p5xjkx4qmg2a2ixfl8vq8b1zm8gch";
+  };
+
+  meta = {
+    description = "Idris proofs for extensional equalities";
+    homepage = https://github.com/danilkolikov/setoids;
+    maintainers = [ lib.maintainers.brainrape ];
+    inherit (idris.meta) platforms;
+  };
+}
diff --git a/pkgs/development/idris-modules/smproc.nix b/pkgs/development/idris-modules/smproc.nix
new file mode 100644
index 00000000000..c751f27d1c9
--- /dev/null
+++ b/pkgs/development/idris-modules/smproc.nix
@@ -0,0 +1,29 @@
+{ build-idris-package
+, fetchFromGitHub
+, prelude
+, base
+, contrib
+, lib
+, idris
+}:
+build-idris-package  {
+  name = "smproc";
+  version = "2018-02-08";
+
+  idrisDeps = [ prelude base contrib ];
+
+  src = fetchFromGitHub {
+    owner = "jameshaydon";
+    repo = "smproc";
+    rev = "b292d6c94fe005bcd984b8e5134b6f99933aa0af";
+    sha256 = "02gqa2a32dwrvgz6pwsg8bniszbzwxlkzm53fq81sz3l9ja8ax1n";
+  };
+
+  meta = {
+    description = "Well-typed symmetric-monoidal category of concurrent processes";
+    homepage = https://github.com/jameshaydon/smproc;
+    license = lib.licenses.mit;
+    maintainers = [ lib.maintainers.brainrape ];
+    inherit (idris.meta) platforms;
+  };
+}
diff --git a/pkgs/development/idris-modules/snippets.nix b/pkgs/development/idris-modules/snippets.nix
new file mode 100644
index 00000000000..9dc2dd3f8e2
--- /dev/null
+++ b/pkgs/development/idris-modules/snippets.nix
@@ -0,0 +1,28 @@
+{ build-idris-package
+, fetchFromGitHub
+, prelude
+, contrib
+, lib
+, idris
+}:
+build-idris-package  {
+  name = "snippets";
+  version = "2018-03-17";
+
+  idrisDeps = [ prelude contrib ];
+
+  src = fetchFromGitHub {
+    owner = "palladin";
+    repo = "idris-snippets";
+    rev = "c26d6f5ffc1cc0456279f5ac74fec5af8c09025e";
+    sha256 = "1vwyzck6yan3wifsyj02ji9l6x9rs2r02aybm90gl676s2x4mhjn";
+  };
+
+  meta = {
+    description = "Collection of Idris snippets";
+    homepage = https://github.com/palladin/idris-snippets;
+    license = lib.licenses.mit;
+    maintainers = [ lib.maintainers.brainrape ];
+    inherit (idris.meta) platforms;
+  };
+}
diff --git a/pkgs/development/idris-modules/software_foundations.nix b/pkgs/development/idris-modules/software_foundations.nix
new file mode 100644
index 00000000000..3d16e91e10f
--- /dev/null
+++ b/pkgs/development/idris-modules/software_foundations.nix
@@ -0,0 +1,27 @@
+{ build-idris-package
+, fetchFromGitHub
+, prelude
+, pruviloj
+, lib
+, idris
+}:
+build-idris-package  {
+  name = "software_foundations";
+  version = "2017-11-04";
+
+  idrisDeps = [ prelude pruviloj ];
+
+  src = fetchFromGitHub {
+    owner = "idris-hackers";
+    repo = "software-foundations";
+    rev = "eaa63d1a572c78e7ce68d27fd49ffdc01457e720";
+    sha256 = "1rkjm0x79n1r3ah041a5bik7sc3rvqs42a2c3g139hlg5xd028xf";
+  };
+
+  meta = {
+    description = "Code for Software Foundations in Idris";
+    homepage = https://github.com/idris-hackers/software-foundations;
+    maintainers = [ lib.maintainers.brainrape ];
+    inherit (idris.meta) platforms;
+  };
+}
diff --git a/pkgs/development/idris-modules/specdris.nix b/pkgs/development/idris-modules/specdris.nix
index e20af375237..b18d4a07d46 100644
--- a/pkgs/development/idris-modules/specdris.nix
+++ b/pkgs/development/idris-modules/specdris.nix
@@ -7,22 +7,19 @@
 , idris
 }:
 
-let
-  date = "2017-11-11";
-in
 build-idris-package {
   name = "specdris";
-  version = date;
+  version = "2018-01-23";
 
   src = fetchgit {
     url = "https://github.com/pheymann/specdris";
-    rev = "88b80334b8e0b6601324e2410772d35022fc8eaa";
-    sha256 = "4813c4be1d4c3dd1dad35964b085f83cf9fb44b16824257c72b468d4bafd0e4f";
+    rev = "625f88f5e118e53f30bcf5e5f3dcf48eb268ac21";
+    sha256 = "1gc717xf4i7z75aqazy5wqm7b1dqfyx5pprdypxz1h3980m67fsa";
   };
 
   idrisDeps = [ prelude base effects idris ];
 
-  # The tests attribute is very strange as the tests are a different ipkg
+  # tests use a different ipkg and directory structure
   doCheck = false;
 
   meta = {
diff --git a/pkgs/development/idris-modules/tap.nix b/pkgs/development/idris-modules/tap.nix
new file mode 100644
index 00000000000..5f6eccd98cd
--- /dev/null
+++ b/pkgs/development/idris-modules/tap.nix
@@ -0,0 +1,32 @@
+{ build-idris-package
+, fetchFromGitHub
+, prelude
+, contrib
+, lib
+, idris
+}:
+build-idris-package  {
+  name = "tap";
+  version = "2017-04-08";
+
+  idrisDeps = [ prelude contrib ];
+
+  src = fetchFromGitHub {
+    owner = "ostera";
+    repo = "tap-idris";
+    rev = "0d019333e1883c1d60e151af1acb02e2b531e72f";
+    sha256 = "0fhlmmivq9xv89r7plrnhmvay1j7bapz3wh7y8lygwvcrllh9zxs";
+  };
+
+  postUnpack = ''
+    rm source/Draft.ipkg
+  '';
+
+  meta = {
+    description = "A simple TAP producer and consumer/reporter for Idris";
+    homepage = https://github.com/ostera/tap-idris;
+    license = lib.licenses.bsd3;
+    maintainers = [ lib.maintainers.brainrape ];
+    inherit (idris.meta) platforms;
+  };
+}
diff --git a/pkgs/development/idris-modules/test.nix b/pkgs/development/idris-modules/test.nix
new file mode 100644
index 00000000000..d0688c54a65
--- /dev/null
+++ b/pkgs/development/idris-modules/test.nix
@@ -0,0 +1,32 @@
+{ build-idris-package
+, fetchFromGitHub
+, prelude
+, effects
+, lib
+, idris
+}:
+
+build-idris-package  {
+  name = "test";
+  version = "2017-03-30";
+
+  idrisDeps = [ prelude effects ];
+
+  src = fetchFromGitHub {
+    owner = "jfdm";
+    repo = "idris-testing";
+    rev = "604d56f77054931b21975198be669e22427b1f52";
+    sha256 = "1pmyhs3jx6wd0pzjd3igfxb9zjs8pqmk4ah352bxjrqdnhqwrl51";
+  };
+
+
+  doCheck = false;
+
+  meta = {
+    description = "Testing Utilities for Idris programs";
+    homepage = https://github.com/jfdm/idris-testing;
+    license = lib.licenses.bsd3;
+    maintainers = [ lib.maintainers.brainrape ];
+    inherit (idris.meta) platforms;
+  };
+}
diff --git a/pkgs/development/idris-modules/tlhydra.nix b/pkgs/development/idris-modules/tlhydra.nix
new file mode 100644
index 00000000000..9106e485c5f
--- /dev/null
+++ b/pkgs/development/idris-modules/tlhydra.nix
@@ -0,0 +1,30 @@
+{ build-idris-package
+, fetchFromGitHub
+, prelude
+, effects
+, contrib
+, lightyear
+, lib
+, idris
+}:
+
+build-idris-package  {
+  name = "tlhydra";
+  version = "2017-13-26";
+
+  idrisDeps = [ prelude effects contrib lightyear ];
+
+  src = fetchFromGitHub {
+    owner = "Termina1";
+    repo = "tlhydra";
+    rev = "3fc9049447d9560fe16f4d36a2f2996494ac2b33";
+    sha256 = "1y3gcbc1ypv00vwa0w3v0n6ckf7gnz26xsfmgnidsaxzff3y0ymh";
+  };
+
+  meta = {
+    description = "Idris parser and serializer/deserealizer for TL language";
+    homepage = https://github.com/Termina1/tlhydra;
+    maintainers = [ lib.maintainers.brainrape ];
+    inherit (idris.meta) platforms;
+  };
+}
diff --git a/pkgs/development/idris-modules/tomladris.nix b/pkgs/development/idris-modules/tomladris.nix
new file mode 100644
index 00000000000..a5d99d19284
--- /dev/null
+++ b/pkgs/development/idris-modules/tomladris.nix
@@ -0,0 +1,30 @@
+{ build-idris-package
+, fetchFromGitHub
+, prelude
+, contrib
+, lightyear
+, lib
+, idris
+}:
+
+build-idris-package  {
+  name = "tomladris";
+  version = "2017-11-14";
+
+  idrisDeps = [ prelude lightyear contrib ];
+
+  src = fetchFromGitHub {
+    owner = "emptyflash";
+    repo = "tomladris";
+    rev = "0fef663e20528c455f410f01124c8e3474a96606";
+    sha256 = "0a0fc0bsr356plgzsr5sr4qmqx4838998wjwmflz10qwsv1j3zsw";
+  };
+
+  meta = {
+    description = "TOML parser for Idris";
+    homepage = https://github.com/emptyflash/tomladris;
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ siddharthist brainrape ];
+    inherit (idris.meta) platforms;
+  };
+}
diff --git a/pkgs/development/idris-modules/tp.nix b/pkgs/development/idris-modules/tp.nix
new file mode 100644
index 00000000000..db45f0408ab
--- /dev/null
+++ b/pkgs/development/idris-modules/tp.nix
@@ -0,0 +1,31 @@
+{ build-idris-package
+, fetchFromGitHub
+, prelude
+, base
+, lib
+, idris
+}:
+build-idris-package  {
+  name = "tp";
+  version = "2017-08-15";
+
+  idrisDeps = [ prelude base ];
+
+  src = fetchFromGitHub {
+    owner = "superfunc";
+    repo = "tp";
+    rev = "ef59ccf355ae462bd4f55d596e6d03a9376b67b2";
+    sha256 = "1a924qvm1dqfg419x8n35w0sz74vyyqsynz5g393f82jsrrwci8z";
+  };
+
+  # tests fail with permission error
+  doCheck = false;
+
+  meta = {
+    description = "Strongly Typed Paths for Idris";
+    homepage = https://github.com/superfunc/tp;
+    license = lib.licenses.mit;
+    maintainers = [ lib.maintainers.brainrape ];
+    inherit (idris.meta) platforms;
+  };
+}
diff --git a/pkgs/development/idris-modules/tparsec.nix b/pkgs/development/idris-modules/tparsec.nix
new file mode 100644
index 00000000000..a2077fca20d
--- /dev/null
+++ b/pkgs/development/idris-modules/tparsec.nix
@@ -0,0 +1,28 @@
+{ build-idris-package
+, fetchFromGitHub
+, prelude
+, lib
+, idris
+}:
+
+build-idris-package  {
+  name = "tparsec";
+  version = "2017-12-12";
+
+  idrisDeps = [ prelude ];
+
+  src = fetchFromGitHub {
+    owner = "gallais";
+    repo = "idris-tparsec";
+    rev = "fb87d08f8f58c934f37d8324b43b0979abcf2183";
+    sha256 = "0362076bfs976gqki4b4pxblhnk4xglgx5v2aycjpxsxlpxh6cfd";
+  };
+
+  meta = {
+    description = "TParsec - Total Parser Combinators in Idris";
+    homepage = https://github.com/gallais/idris-tparsec;
+    license = lib.licenses.gpl3;
+    maintainers = [ lib.maintainers.brainrape ];
+    inherit (idris.meta) platforms;
+  };
+}
diff --git a/pkgs/development/idris-modules/transducers.nix b/pkgs/development/idris-modules/transducers.nix
new file mode 100644
index 00000000000..d63a11a0234
--- /dev/null
+++ b/pkgs/development/idris-modules/transducers.nix
@@ -0,0 +1,28 @@
+{ build-idris-package
+, fetchFromGitHub
+, prelude
+, base
+, lib
+, idris
+}:
+build-idris-package  {
+  name = "transducers";
+  version = "2017-07-28";
+
+  idrisDeps = [ prelude base ];
+
+  src = fetchFromGitHub {
+    owner = "QuentinDuval";
+    repo = "IdrisReducers";
+    rev = "2947ffa3559b642baeb3e43d7bb382e16bd073a8";
+    sha256 = "0wzbbp5n113mva99mqr119zwp5pgj4l6wq9033z4f0kbm2nhmcfr";
+  };
+
+  meta = {
+    description = "Composable algorithmic transformation";
+    homepage = https://github.com/QuentinDuval/IdrisReducers;
+    license = lib.licenses.bsd3;
+    maintainers = [ lib.maintainers.brainrape ];
+    inherit (idris.meta) platforms;
+  };
+}
diff --git a/pkgs/development/idris-modules/trees.nix b/pkgs/development/idris-modules/trees.nix
new file mode 100644
index 00000000000..78ad70690b3
--- /dev/null
+++ b/pkgs/development/idris-modules/trees.nix
@@ -0,0 +1,28 @@
+{ build-idris-package
+, fetchFromGitHub
+, prelude
+, contrib
+, bi
+, lib
+, idris
+}:
+build-idris-package  {
+  name = "trees";
+  version = "2018-03-19";
+
+  idrisDeps = [ prelude contrib bi ];
+
+  src = fetchFromGitHub {
+    owner = "clayrat";
+    repo = "idris-trees";
+    rev = "dc17f9598bd78ec2b283d91b3c58617960d88c85";
+    sha256 = "1c3p69875qc4zdk28im9xz45zw46ajgcmxpqmig63y0z4v3gwxww";
+  };
+
+  meta = {
+    description = "Trees in Idris";
+    homepage = https://github.com/clayrat/idris-trees;
+    maintainers = [ lib.maintainers.brainrape ];
+    inherit (idris.meta) platforms;
+  };
+}
diff --git a/pkgs/development/idris-modules/union_type.nix b/pkgs/development/idris-modules/union_type.nix
new file mode 100644
index 00000000000..845bec3d84e
--- /dev/null
+++ b/pkgs/development/idris-modules/union_type.nix
@@ -0,0 +1,28 @@
+{ build-idris-package
+, fetchFromGitHub
+, prelude
+, base
+, lib
+, idris
+}:
+build-idris-package  {
+  name = "union_type";
+  version = "2018-01-30";
+
+  idrisDeps = [ prelude base ];
+
+  src = fetchFromGitHub {
+    owner = "berewt";
+    repo = "UnionType";
+    rev = "f7693036237585fe324a815a96ad101d9659c689";
+    sha256 = "1ky0h03kja2y1fjg18j46akw03wi5ng80pghh2j3ib6hxlg1rbs7";
+  };
+
+  meta = {
+    description = "UnionType in Idris";
+    homepage = https://github.com/berewt/UnionType;
+    license = lib.licenses.mit;
+    maintainers = [ lib.maintainers.brainrape ];
+    inherit (idris.meta) platforms;
+  };
+}
diff --git a/pkgs/development/idris-modules/vdom.nix b/pkgs/development/idris-modules/vdom.nix
new file mode 100644
index 00000000000..034bda583db
--- /dev/null
+++ b/pkgs/development/idris-modules/vdom.nix
@@ -0,0 +1,28 @@
+{ build-idris-package
+, fetchFromGitHub
+, prelude
+, base
+, lib
+, idris
+}:
+build-idris-package  {
+  name = "vdom";
+  version = "0.6.0";
+
+  idrisDeps = [ prelude base ];
+
+  src = fetchFromGitHub {
+    owner = "brandondyck";
+    repo = "idris-vdom";
+    rev = "ff32c14feeac937f7418830a9a3463cd9582be8a";
+    sha256 = "0aila1qdpmhrp556dzaxk7yn7vgkwcnbp9jhw8f8pl51xs3s2kvf";
+  };
+
+  meta = {
+    description = "Virtual DOM in pure Idris";
+    homepage = https://github.com/brandondyck/idris-vdom;
+    license = lib.licenses.mit;
+    maintainers = [ lib.maintainers.brainrape ];
+    inherit (idris.meta) platforms;
+  };
+}
diff --git a/pkgs/development/idris-modules/vecspace.nix b/pkgs/development/idris-modules/vecspace.nix
new file mode 100644
index 00000000000..d2fa9e31ae3
--- /dev/null
+++ b/pkgs/development/idris-modules/vecspace.nix
@@ -0,0 +1,27 @@
+{ build-idris-package
+, fetchFromGitHub
+, prelude
+, contrib
+, lib
+, idris
+}:
+build-idris-package  {
+  name = "vecspace";
+  version = "2018-01-12";
+
+  idrisDeps = [ prelude contrib ];
+
+  src = fetchFromGitHub {
+    owner = "clayrat";
+    repo = "idris-vecspace";
+    rev = "6830fa13232f25e9874b3f857b79508b5f82cb99";
+    sha256 = "1dwz69cmzblyh7lnyqq2gp0a042z7h02sh5q5wf4xb500vizwkq2";
+  };
+
+  meta = {
+    description = "Abstract vector spaces in Idris";
+    homepage = https://github.com/clayrat/idris-vecspace;
+    maintainers = [ lib.maintainers.brainrape ];
+    inherit (idris.meta) platforms;
+  };
+}
diff --git a/pkgs/development/idris-modules/webgl.nix b/pkgs/development/idris-modules/webgl.nix
new file mode 100644
index 00000000000..3793a812e57
--- /dev/null
+++ b/pkgs/development/idris-modules/webgl.nix
@@ -0,0 +1,28 @@
+{ build-idris-package
+, fetchFromGitHub
+, prelude
+, idrisscript
+, lib
+, idris
+}:
+build-idris-package  {
+  name = "webgl";
+  version = "2017-05-08";
+
+  idrisDeps = [ prelude idrisscript ];
+
+  src = fetchFromGitHub {
+    owner = "pierrebeaucamp";
+    repo = "idris-webgl";
+    rev = "1b4ee00a06b0bccfe33eea0fa8f068cdae690e9e";
+    sha256 = "097l2pj8p33d0n3ryb8y2vp0n5isnc8bkdnad3y6raa9z1xjn3d6";
+  };
+
+  meta = {
+    description = "Idris library to interact with WebGL";
+    homepage = https://github.com/pierrebeaucamp/idris-webgl;
+    license = lib.licenses.asl20;
+    maintainers = [ lib.maintainers.brainrape ];
+    inherit (idris.meta) platforms;
+  };
+}
diff --git a/pkgs/development/idris-modules/wl-pprint.nix b/pkgs/development/idris-modules/wl-pprint.nix
index 7e6d77a19a2..55a926d780d 100644
--- a/pkgs/development/idris-modules/wl-pprint.nix
+++ b/pkgs/development/idris-modules/wl-pprint.nix
@@ -6,20 +6,16 @@
 , idris
 }:
 build-idris-package {
-  pkName = "wl-pprint";
-  version = "2016-09-28";
+  name = "wl-pprint";
+  version = "2017-03-13";
 
   src = fetchFromGitHub {
     owner = "shayan-najd";
     repo = "wl-pprint";
-    rev = "4cc88a0865620a3b997863e4167d3b98e1a41b52";
-    sha256 = "1yxxh366k5njad75r0xci2q5c554cddvzgrwk43b0xn8rq0vm11x";
+    rev = "97590d1679b3db07bb430783988b4cba539e9947";
+    sha256 = "0ifp76cqg340jkkzanx69vg76qivv53vh1lzv9zkp5f49prkwl5d";
   };
 
-  # The tests for this package fail. We should attempt to enable them when
-  # updating this package again.
-  doCheck = false;
-
   idrisDeps = [ prelude base ];
 
   meta = {
diff --git a/pkgs/development/idris-modules/wyvern.nix b/pkgs/development/idris-modules/wyvern.nix
new file mode 100644
index 00000000000..a1724476f6c
--- /dev/null
+++ b/pkgs/development/idris-modules/wyvern.nix
@@ -0,0 +1,33 @@
+{ build-idris-package
+, fetchFromGitHub
+, prelude
+, contrib
+, effects
+, lib
+, idris
+}:
+build-idris-package  {
+  name = "wyvern";
+  version = "2017-06-26";
+
+  idrisDeps = [ prelude contrib effects ];
+
+  src = fetchFromGitHub {
+    owner = "ericqweinstein";
+    repo = "wyvern";
+    rev = "b9e3e5747c5b23608c6ed5e2ccf43b86caa04292";
+    sha256 = "0zihf95w7i0903zy1mzn1ldn697nf57yl80nl32dpgji72h98kh2";
+  };
+
+  postUnpack = ''
+    sed -i "s/Wyvern.Core/Wyvern.Main/g" source/src/Wyvern.idr
+  '';
+
+  meta = {
+    description = "Little web server written in Idris";
+    homepage = https://github.com/ericqweinstein/wyvern;
+    license = lib.licenses.mit;
+    maintainers = [ lib.maintainers.brainrape ];
+    inherit (idris.meta) platforms;
+  };
+}
diff --git a/pkgs/development/idris-modules/xhr.nix b/pkgs/development/idris-modules/xhr.nix
new file mode 100644
index 00000000000..15573cc9461
--- /dev/null
+++ b/pkgs/development/idris-modules/xhr.nix
@@ -0,0 +1,28 @@
+{ build-idris-package
+, fetchFromGitHub
+, prelude
+, idrisscript
+, lib
+, idris
+}:
+build-idris-package  {
+  name = "xhr";
+  version = "2017-04-22";
+
+  idrisDeps = [ prelude idrisscript ];
+
+  src = fetchFromGitHub {
+    owner = "pierrebeaucamp";
+    repo = "idris-xhr";
+    rev = "fb32a748ccdb9070de3f2d6048564e34c064b362";
+    sha256 = "0l07mnarvrb4xdw0b2xqgyxq4rljw1axz5mc9w4gmhvcrzxnyfnr";
+  };
+
+  meta = {
+    description = "Idris library to interact with xhr";
+    homepage = https://github.com/pierrebeaucamp/idris-xhr;
+    license = lib.licenses.asl20;
+    maintainers = [ lib.maintainers.brainrape ];
+    inherit (idris.meta) platforms;
+  };
+}
diff --git a/pkgs/development/idris-modules/yaml.nix b/pkgs/development/idris-modules/yaml.nix
new file mode 100644
index 00000000000..ff935753ce9
--- /dev/null
+++ b/pkgs/development/idris-modules/yaml.nix
@@ -0,0 +1,29 @@
+{ build-idris-package
+, fetchFromGitHub
+, prelude
+, contrib
+, lightyear
+, lib
+, idris
+}:
+build-idris-package  {
+  name = "yaml";
+  version = "2018-01-25";
+
+  idrisDeps = [ prelude contrib lightyear ];
+
+  src = fetchFromGitHub {
+    owner = "Heather";
+    repo = "Idris.Yaml";
+    rev = "5afa51ffc839844862b8316faba3bafa15656db4";
+    sha256 = "1g4pi0swmg214kndj85hj50ccmckni7piprsxfdzdfhg87s0avw7";
+  };
+
+  meta = {
+    description = "Idris YAML lib";
+    homepage = https://github.com/Heather/Idris.Yaml;
+    license = lib.licenses.mit;
+    maintainers = [ lib.maintainers.brainrape ];
+    inherit (idris.meta) platforms;
+  };
+}
diff --git a/pkgs/development/idris-modules/yampa.nix b/pkgs/development/idris-modules/yampa.nix
new file mode 100644
index 00000000000..661a55bfd74
--- /dev/null
+++ b/pkgs/development/idris-modules/yampa.nix
@@ -0,0 +1,27 @@
+{ build-idris-package
+, fetchFromGitHub
+, prelude
+, bifunctors
+, lib
+, idris
+}:
+build-idris-package  {
+  name = "yampa";
+  version = "2016-07-05";
+
+  idrisDeps = [ prelude bifunctors ];
+
+  src = fetchFromGitHub {
+    owner = "BartAdv";
+    repo = "idris-yampa";
+    rev = "2120dffb3ea0de906ba2b40080956c900457cf33";
+    sha256 = "0zp495zpbvsagdzrmg9iig652zbm34qc0gdr81x0viblwqxhicx6";
+  };
+
+  meta = {
+    description = "Idris implementation of Yampa FRP library as described in Reactive Programming through Dependent Types";
+    homepage = https://github.com/BartAdv/idris-yampa;
+    maintainers = [ lib.maintainers.brainrape ];
+    inherit (idris.meta) platforms;
+  };
+}
diff --git a/pkgs/development/interpreters/clojure/default.nix b/pkgs/development/interpreters/clojure/default.nix
index 7aac606fdfb..4843653e5dc 100644
--- a/pkgs/development/interpreters/clojure/default.nix
+++ b/pkgs/development/interpreters/clojure/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "clojure-${version}";
-  version = "1.9.0.329";
+  version = "1.9.0.381";
 
   src = fetchurl {
     url = "https://download.clojure.org/install/clojure-tools-${version}.tar.gz";
-    sha256 = "1g1mi75285z977vrqbihmmmrmdcnznxbw3r6wkzh571sc1yyrlrj";
+    sha256 = "18aqfjm6vbhlflxdnpcr9gib00zg2ys5hck4kfxr9rc4aylnn9pi";
   };
 
   buildInputs = [ makeWrapper ];
diff --git a/pkgs/development/interpreters/dart/default.nix b/pkgs/development/interpreters/dart/default.nix
index 17f124e7989..ae7f8686b78 100644
--- a/pkgs/development/interpreters/dart/default.nix
+++ b/pkgs/development/interpreters/dart/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, unzip, version }:
+{ stdenv, fetchurl, unzip, version ? "1.24.3" }:
 
 let
 
@@ -57,9 +57,9 @@ stdenv.mkDerivation {
   '';
 
   libPath = stdenv.lib.makeLibraryPath [ stdenv.cc.cc ];
- 
+
   dontStrip = true;
-  
+
   meta = {
     platforms = [ "i686-linux" "x86_64-linux" ];
     homepage = https://www.dartlang.org/;
diff --git a/pkgs/development/interpreters/duktape/default.nix b/pkgs/development/interpreters/duktape/default.nix
index c54a9d204cb..46550c83510 100644
--- a/pkgs/development/interpreters/duktape/default.nix
+++ b/pkgs/development/interpreters/duktape/default.nix
@@ -2,10 +2,10 @@
 
 stdenv.mkDerivation rec {
   name = "duktape-${version}";
-  version = "2.2.0";
+  version = "2.2.1";
   src = fetchurl {
     url = "http://duktape.org/duktape-${version}.tar.xz";
-    sha256 = "050csp065ll67dck94s0vdad5r5ck4jwsz1fn1y0fcvn88325xv2";
+    sha256 = "1wp7mpkhizknq72ivdbkzps4radi1daqzjcjp1i54c2k4pnjxgis";
   };
 
   buildPhase = ''
@@ -16,7 +16,8 @@ stdenv.mkDerivation rec {
     install -d $out/bin
     install -m755 duk $out/bin/
     install -d $out/lib
-    install -m755 libduktape* $out/lib/
+    install -d $out/include
+    make -f Makefile.sharedlibrary install INSTALL_PREFIX=$out
   '';
   enableParallelBuilding = true;
 
diff --git a/pkgs/development/interpreters/eff/default.nix b/pkgs/development/interpreters/eff/default.nix
index 28ea05066c2..258aebe8172 100644
--- a/pkgs/development/interpreters/eff/default.nix
+++ b/pkgs/development/interpreters/eff/default.nix
@@ -1,20 +1,21 @@
-{ stdenv, fetchgit, ocaml, findlib, ocamlbuild, menhir, which }:
+{ stdenv, fetchFromGitHub, which, ocamlPackages }:
 
-let inherit (stdenv.lib) getVersion versionAtLeast; in
-
-assert versionAtLeast (getVersion ocaml) "3.12";
+let version = "5.0"; in
 
 stdenv.mkDerivation {
 
-  name = "eff-20140928";
+  name = "eff-${version}";
 
-  src = fetchgit {
-    url = "https://github.com/matijapretnar/eff.git";
-    rev = "90f884a790fddddb51d4d1d3b7c2edf1e8aabb64";
-    sha256 = "0cqqrpvfw0nrk5d28mkzfvc8yzqxcss0k46bkmqhqjkqq886n2mm";
+  src = fetchFromGitHub {
+    owner = "matijapretnar";
+    repo = "eff";
+    rev = "v${version}";
+    sha256 = "1fslfj5d7fhj3f7kh558b8mk5wllwyq4rnhfkyd96fpy144sdcka";
   };
 
-  buildInputs = [ ocaml findlib ocamlbuild menhir which ];
+  buildInputs = [ which ] ++ (with ocamlPackages; [
+    ocaml findlib ocamlbuild menhir js_of_ocaml js_of_ocaml-ocamlbuild
+  ]);
 
   doCheck = true;
   checkTarget = "test";
@@ -29,7 +30,7 @@ stdenv.mkDerivation {
       backtracking, multi-threading, and much more...
     '';
     license = licenses.bsd2;
-    platforms = ocaml.meta.platforms or [];
+    inherit (ocamlPackages.ocaml.meta) platforms;
     maintainers = [ maintainers.jirkamarsik ];
   };
 }
diff --git a/pkgs/development/interpreters/elixir/1.6.nix b/pkgs/development/interpreters/elixir/1.6.nix
index 32e5bb6b323..816bd92d5ee 100644
--- a/pkgs/development/interpreters/elixir/1.6.nix
+++ b/pkgs/development/interpreters/elixir/1.6.nix
@@ -1,7 +1,7 @@
 { mkDerivation }:
 
 mkDerivation rec {
-  version = "1.6.2";
-  sha256 = "18f5afmvra78y0x73bfnwbddlyqfndyaj1h8n1ybj32w4nvy96y7";
+  version = "1.6.4";
+  sha256 = "0li2zb5ha7fdkjnzjbj3dxb9xls8xn6xr23fqwl7gp2697vcw3ws";
   minimumOTPVersion = "18";
 }
diff --git a/pkgs/development/interpreters/erlang/R18.nix b/pkgs/development/interpreters/erlang/R18.nix
index 967940ca184..ee524feb4c6 100644
--- a/pkgs/development/interpreters/erlang/R18.nix
+++ b/pkgs/development/interpreters/erlang/R18.nix
@@ -12,8 +12,8 @@ let
   };
 
 in mkDerivation rec {
-  version = "18.3.4.7";
-  sha256 = "1l66vzbb1vidrmf6gr84l34kgrpb9k7z2170bac4c6aviah9r02l";
+  version = "18.3.4.8";
+  sha256 = "16c0h25hh5yvkv436ks5jbd7qmxzb6ndvk64mr404347a20iib0g";
 
   patches = [
     rmAndPwdPatch
diff --git a/pkgs/development/interpreters/erlang/R19.nix b/pkgs/development/interpreters/erlang/R19.nix
index aa8c941eb93..d0ba1912e9a 100644
--- a/pkgs/development/interpreters/erlang/R19.nix
+++ b/pkgs/development/interpreters/erlang/R19.nix
@@ -1,8 +1,8 @@
 { mkDerivation, fetchurl, fetchpatch }:
 
 mkDerivation rec {
-  version = "19.3.6.4";
-  sha256 = "1w0h3wj2h58m3jrfgw56xab2352na3i9ccrbpfs4420dn7igf071";
+  version = "19.3.6.6";
+  sha256 = "05l81gig0hmr951pjvwknc9x2qvpm95ph9z072hn4jqg13rzbgvg";
 
   patches = [
     # macOS 10.13 crypto fix from OTP-20.1.2
diff --git a/pkgs/development/interpreters/erlang/R20.nix b/pkgs/development/interpreters/erlang/R20.nix
index 8e955349f2d..42aaed0b659 100644
--- a/pkgs/development/interpreters/erlang/R20.nix
+++ b/pkgs/development/interpreters/erlang/R20.nix
@@ -1,8 +1,8 @@
 { mkDerivation, fetchurl }:
 
 mkDerivation rec {
-  version = "20.2.2";
-  sha256 = "1cns1qcmmr00nyvcvcj4p4n2gvliyjynlwfqc7qzpkjjnkb7fzl6";
+  version = "20.3.2";
+  sha256 = "0cd7rz32cxghxb2q7g3p52sxbhwqn4pkjlf28hy1dms6q7f85zv1";
 
   prePatch = ''
     substituteInPlace configure.in --replace '`sw_vers -productVersion`' '10.10'
diff --git a/pkgs/development/interpreters/erlang/generic-builder.nix b/pkgs/development/interpreters/erlang/generic-builder.nix
index 1d2b79074fb..6ea3ac73a4b 100644
--- a/pkgs/development/interpreters/erlang/generic-builder.nix
+++ b/pkgs/development/interpreters/erlang/generic-builder.nix
@@ -65,9 +65,9 @@ in stdenv.mkDerivation ({
   '';
 
   postPatch = ''
-    ${postPatch}
-
     patchShebangs make
+
+    ${postPatch}
   '';
 
   preConfigure = ''
@@ -88,9 +88,9 @@ in stdenv.mkDerivation ({
   # (PDFs are generated only when fop is available).
 
   postInstall = ''
-    ${postInstall}
-
     ln -s $out/lib/erlang/lib/erl_interface*/bin/erl_call $out/bin/erl_call
+
+    ${postInstall}
   '';
 
   # Some erlang bin/ scripts run sed and awk
diff --git a/pkgs/development/interpreters/gnu-apl/default.nix b/pkgs/development/interpreters/gnu-apl/default.nix
index 2f5ce0e7635..599126d2eff 100644
--- a/pkgs/development/interpreters/gnu-apl/default.nix
+++ b/pkgs/development/interpreters/gnu-apl/default.nix
@@ -1,6 +1,5 @@
 { stdenv, fetchurl, readline, gettext, ncurses }:
 
-with stdenv.lib;
 stdenv.mkDerivation rec {
   name = "gnu-apl-${version}";
   version = "1.7";
@@ -13,9 +12,10 @@ stdenv.mkDerivation rec {
   buildInputs = [ readline gettext ncurses ];
 
   # Needed with GCC 7
-  NIX_CFLAGS_COMPILE = "-Wno-error=int-in-bool-context";
+  NIX_CFLAGS_COMPILE = stdenv.lib.optionalString stdenv.cc.isGNU "-Wno-error=int-in-bool-context"
+    + stdenv.lib.optionalString stdenv.cc.isClang "-Wno-error=null-dereference";
 
-  patchPhase = optionalString stdenv.isDarwin ''
+  patchPhase = stdenv.lib.optionalString stdenv.isDarwin ''
     substituteInPlace src/LApack.cc --replace "malloc.h" "malloc/malloc.h"
   '';
 
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
     find $out/share/doc/support-files -name 'Makefile*' -delete
   '';
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "Free interpreter for the APL programming language";
     homepage    = http://www.gnu.org/software/apl/;
     license     = licenses.gpl3Plus;
diff --git a/pkgs/development/interpreters/groovy/default.nix b/pkgs/development/interpreters/groovy/default.nix
index e203a1d09f4..968d9f1e8fb 100644
--- a/pkgs/development/interpreters/groovy/default.nix
+++ b/pkgs/development/interpreters/groovy/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   name = "groovy-${version}";
-  version = "2.4.12";
+  version = "2.4.15";
 
   src = fetchurl {
     url = "http://dl.bintray.com/groovy/maven/apache-groovy-binary-${version}.zip";
-    sha256 = "1dm7m221pqbgh3lp1q1nvv6qc0fpja3cgsd0mx3ghahcfsfa3fck";
+    sha256 = "1vaa1wjnaza04hvp1n4kh10hvxx8370liz2ndm908dqv9mxa6k5x";
   };
 
   buildInputs = [ unzip makeWrapper ];
diff --git a/pkgs/development/interpreters/guile/1.8.nix b/pkgs/development/interpreters/guile/1.8.nix
index 658b2cce77f..53db5949f02 100644
--- a/pkgs/development/interpreters/guile/1.8.nix
+++ b/pkgs/development/interpreters/guile/1.8.nix
@@ -61,6 +61,7 @@ stdenv.mkDerivation rec {
   # This is fixed here:
   # <http://git.savannah.gnu.org/cgit/guile.git/commit/?h=branch_release-1-8&id=a0aa1e5b69d6ef0311aeea8e4b9a94eae18a1aaf>.
   doCheck = false;
+  doInstallCheck = doCheck;
 
   setupHook = ./setup-hook.sh;
 
diff --git a/pkgs/development/interpreters/guile/2.0.nix b/pkgs/development/interpreters/guile/2.0.nix
index 3a11dc78c6c..b0eeb89ce43 100644
--- a/pkgs/development/interpreters/guile/2.0.nix
+++ b/pkgs/development/interpreters/guile/2.0.nix
@@ -89,6 +89,7 @@
   # make check doesn't work on darwin
   # On Linuxes+Hydra the tests are flaky; feel free to investigate deeper.
   doCheck = false;
+  doInstallCheck = doCheck;
 
   setupHook = ./setup-hook-2.0.sh;
 
diff --git a/pkgs/development/interpreters/guile/default.nix b/pkgs/development/interpreters/guile/default.nix
index 748b3c5e200..196c899fcea 100644
--- a/pkgs/development/interpreters/guile/default.nix
+++ b/pkgs/development/interpreters/guile/default.nix
@@ -85,6 +85,7 @@
   # make check doesn't work on darwin
   # On Linuxes+Hydra the tests are flaky; feel free to investigate deeper.
   doCheck = false;
+  doInstallCheck = doCheck;
 
   setupHook = ./setup-hook-2.2.sh;
 
diff --git a/pkgs/development/interpreters/j/default.nix b/pkgs/development/interpreters/j/default.nix
index 698986e6b40..cb351446301 100644
--- a/pkgs/development/interpreters/j/default.nix
+++ b/pkgs/development/interpreters/j/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "j-${version}";
-  version = "806";
+  version = "808";
   jtype = "release";
   src = fetchFromGitHub {
     owner = "jsoftware";
     repo = "jsource";
     rev = "j${version}-${jtype}";
-    sha256 = "0b9sbd5hbyr5454k0p53f03lpf03sz8mqwszaqi0vcs73bsprdjs";
+    sha256 = "1sshm04p3yznlhfp6vyc7g8qxw95y67vhnh92cmz3lfy69n2q6bf";
   };
 
   buildInputs = [ readline libedit ];
diff --git a/pkgs/development/interpreters/joker/default.nix b/pkgs/development/interpreters/joker/default.nix
index ea3974525a9..4c32c0684d0 100644
--- a/pkgs/development/interpreters/joker/default.nix
+++ b/pkgs/development/interpreters/joker/default.nix
@@ -2,7 +2,7 @@
 
 buildGoPackage rec {
   name = "joker-${version}";
-  version = "0.8.9";
+  version = "0.9.2";
 
   goPackagePath = "github.com/candid82/joker";
 
@@ -10,7 +10,7 @@ buildGoPackage rec {
     rev = "v${version}";
     owner = "candid82";
     repo = "joker";
-    sha256 = "0ph5f3vc6x1qfh3zn3va2xqx3axv1i2ywbhxayk58p55fxblj5c9";
+    sha256 = "1ayp7arygd3l4a1zbkhvix84fpqnnncbdxhimymr3c75ymwmmdr8";
   };
 
   preBuild = "go generate ./...";
diff --git a/pkgs/development/interpreters/jruby/default.nix b/pkgs/development/interpreters/jruby/default.nix
index b9cc38ee68a..050d5accd2c 100644
--- a/pkgs/development/interpreters/jruby/default.nix
+++ b/pkgs/development/interpreters/jruby/default.nix
@@ -6,11 +6,11 @@ rubyVersion = callPackage ../ruby/ruby-version.nix {} "2" "3" "3" "";
 jruby = stdenv.mkDerivation rec {
   name = "jruby-${version}";
 
-  version = "9.1.16.0";
+  version = "9.1.17.0";
 
   src = fetchurl {
     url = "https://s3.amazonaws.com/jruby.org/downloads/${version}/jruby-bin-${version}.tar.gz";
-    sha256 = "0nj8v4dcg4jj0z3fk661v6mzrgg4613xr0k9xzzsz81jkqsjnb6r";
+    sha256 = "1mfzs3mcpx8gmzidilzhpsxhgbblsflq35ww199m46pgiyzzf8ka";
   };
 
   buildInputs = [ makeWrapper ];
diff --git a/pkgs/development/interpreters/love/11.1.nix b/pkgs/development/interpreters/love/11.1.nix
new file mode 100644
index 00000000000..e92a84b40b8
--- /dev/null
+++ b/pkgs/development/interpreters/love/11.1.nix
@@ -0,0 +1,41 @@
+{ stdenv, fetchFromBitbucket, pkgconfig, SDL2, libGLU_combined, openal, luajit,
+  libdevil, freetype, physfs, libmodplug, mpg123, libvorbis, libogg,
+  libtheora, which, autoconf, automake, libtool
+}:
+
+let
+  pname = "love";
+  version = "11.1";
+in
+
+stdenv.mkDerivation rec {
+  name = "${pname}-${version}";
+  src = fetchFromBitbucket {
+    owner = "rude";
+    repo = "love";
+    rev = "${version}";
+    sha256 = "16jn6klbsz8qi2wn3llbr7ri5arlc0b19la19ypzk6p7v20z4sfr";
+  };
+
+  nativeBuildInputs = [ pkgconfig ];
+  buildInputs = [
+    SDL2 libGLU_combined openal luajit libdevil freetype physfs libmodplug mpg123
+    libvorbis libogg libtheora autoconf which libtool automake
+  ];
+
+  preConfigure = "$shell ./platform/unix/automagic";
+
+  configureFlags = [
+    "--with-lua=luajit"
+  ];
+
+  NIX_CFLAGS_COMPILE = [ "-DluaL_reg=luaL_Reg" ]; # needed since luajit-2.1.0-beta3
+
+  meta = {
+    homepage = http://love2d.org;
+    description = "A Lua-based 2D game engine/scripting language";
+    license = stdenv.lib.licenses.zlib;
+    platforms = stdenv.lib.platforms.linux;
+    maintainers = [ stdenv.lib.maintainers.raskin ];
+  };
+}
diff --git a/pkgs/development/interpreters/lua-5/5.2.nix b/pkgs/development/interpreters/lua-5/5.2.nix
index 0cdc4770a98..acddbcfd303 100644
--- a/pkgs/development/interpreters/lua-5/5.2.nix
+++ b/pkgs/development/interpreters/lua-5/5.2.nix
@@ -19,17 +19,17 @@ stdenv.mkDerivation rec {
     sha256 = "0b8034v1s82n4dg5rzcn12067ha3nxaylp2vdp8gg08kjsbzphhk";
   };
 
-  nativeBuildInputs = [ readline ];
+  buildInputs = [ readline ];
 
   patches = if stdenv.isDarwin then [ ./5.2.darwin.patch ] else [ dsoPatch ];
 
   configurePhase =
     if stdenv.isDarwin
     then ''
-    makeFlagsArray=( INSTALL_TOP=$out INSTALL_MAN=$out/share/man/man1 PLAT=macosx CFLAGS="-DLUA_USE_LINUX -fno-common -O2 -fPIC${if compat then " -DLUA_COMPAT_ALL" else ""}" LDFLAGS="-fPIC" V=${luaversion} R=${version} )
+    makeFlagsArray=( INSTALL_TOP=$out INSTALL_MAN=$out/share/man/man1 PLAT=macosx CFLAGS="-DLUA_USE_LINUX -fno-common -O2 -fPIC${if compat then " -DLUA_COMPAT_ALL" else ""}" LDFLAGS="-fPIC" V=${luaversion} R=${version}  CC="$CC" )
     installFlagsArray=( TO_BIN="lua luac" TO_LIB="liblua.${version}.dylib" INSTALL_DATA='cp -d' )
   '' else ''
-    makeFlagsArray=( INSTALL_TOP=$out INSTALL_MAN=$out/share/man/man1 PLAT=linux CFLAGS="-DLUA_USE_LINUX -O2 -fPIC${if compat then " -DLUA_COMPAT_ALL" else ""}" LDFLAGS="-fPIC" V=${luaversion} R=${version} )
+    makeFlagsArray=( INSTALL_TOP=$out INSTALL_MAN=$out/share/man/man1 PLAT=linux CFLAGS="-DLUA_USE_LINUX -O2 -fPIC${if compat then " -DLUA_COMPAT_ALL" else ""}" LDFLAGS="-fPIC" V=${luaversion} R=${version} CC="$CC" AR="$AR q" RANLIB="$RANLIB" )
     installFlagsArray=( TO_BIN="lua luac" TO_LIB="liblua.a liblua.so liblua.so.${luaversion} liblua.so.${version}" INSTALL_DATA='cp -d' )
   '';
 
@@ -56,31 +56,6 @@ stdenv.mkDerivation rec {
     EOF
   '';
 
-  crossAttrs = let
-    inherit (hostPlatform) isDarwin isMinGW;
-  in {
-    configurePhase = ''
-      makeFlagsArray=(
-        INSTALL_TOP=$out
-        INSTALL_MAN=$out/share/man/man1
-        V=${luaversion}
-        R=${version}
-        ${if isMinGW then "mingw" else stdenv.lib.optionalString isDarwin ''
-        ''}
-      )
-    '' + stdenv.lib.optionalString isMinGW ''
-      installFlagsArray=(
-        TO_BIN="lua.exe luac.exe"
-        TO_LIB="liblua.a lua52.dll"
-        INSTALL_DATA="cp -d"
-      )
-    '';
-  } // stdenv.lib.optionalAttrs isDarwin {
-    postPatch = ''
-      sed -i -e 's/-Wl,-soname[^ ]* *//' src/Makefile
-    '';
-  };
-
   meta = {
     homepage = http://www.lua.org;
     description = "Powerful, fast, lightweight, embeddable scripting language";
diff --git a/pkgs/development/interpreters/lua-5/5.3.nix b/pkgs/development/interpreters/lua-5/5.3.nix
index ad1dfa8823c..7f0703c6288 100644
--- a/pkgs/development/interpreters/lua-5/5.3.nix
+++ b/pkgs/development/interpreters/lua-5/5.3.nix
@@ -12,17 +12,17 @@ stdenv.mkDerivation rec {
     sha256 = "0320a8dg3aci4hxla380dx1ifkw8gj4gbw5c4dz41g1kh98sm0gn";
   };
 
-  nativeBuildInputs = [ readline ];
+  buildInputs = [ readline ];
 
   patches = if stdenv.isDarwin then [ ./5.2.darwin.patch ] else [];
 
   configurePhase =
     if stdenv.isDarwin
     then ''
-    makeFlagsArray=( INSTALL_TOP=$out INSTALL_MAN=$out/share/man/man1 PLAT=macosx CFLAGS="-DLUA_USE_LINUX -fno-common -O2 -fPIC${if compat then " -DLUA_COMPAT_ALL" else ""}" LDFLAGS="-fPIC" V=${luaversion} R=${version} )
+    makeFlagsArray=( INSTALL_TOP=$out INSTALL_MAN=$out/share/man/man1 PLAT=macosx CFLAGS="-DLUA_USE_LINUX -fno-common -O2 -fPIC${if compat then " -DLUA_COMPAT_ALL" else ""}" LDFLAGS="-fPIC" V=${luaversion} R=${version}  CC="$CC" )
     installFlagsArray=( TO_BIN="lua luac" TO_LIB="liblua.${version}.dylib" INSTALL_DATA='cp -d' )
   '' else ''
-    makeFlagsArray=( INSTALL_TOP=$out INSTALL_MAN=$out/share/man/man1 PLAT=linux CFLAGS="-DLUA_USE_LINUX -O2 -fPIC${if compat then " -DLUA_COMPAT_ALL" else ""}" LDFLAGS="-fPIC" V=${luaversion} R=${version})
+    makeFlagsArray=( INSTALL_TOP=$out INSTALL_MAN=$out/share/man/man1 PLAT=linux CFLAGS="-DLUA_USE_LINUX -O2 -fPIC${if compat then " -DLUA_COMPAT_ALL" else ""}" LDFLAGS="-fPIC" V=${luaversion} R=${version} CC="$CC" AR="$AR q" RANLIB="$RANLIB" )
     installFlagsArray=( TO_BIN="lua luac" TO_LIB="liblua.a liblua.so liblua.so.${luaversion} liblua.so.${version}" INSTALL_DATA='cp -d' )
     cat ${./lua-5.3-dso.make} >> src/Makefile
     sed -e 's/ALL_T *= */& $(LUA_SO)/' -i src/Makefile
@@ -55,31 +55,6 @@ stdenv.mkDerivation rec {
     EOF
   '';
 
-  crossAttrs = let
-    inherit (hostPlatform) isDarwin isMinGW;
-  in {
-    configurePhase = ''
-      makeFlagsArray=(
-        INSTALL_TOP=$out
-        INSTALL_MAN=$out/share/man/man1
-        V=${luaversion}
-        R=${version}
-        ${if isMinGW then "mingw" else stdenv.lib.optionalString isDarwin ''
-        ''}
-      )
-    '' + stdenv.lib.optionalString isMinGW ''
-      installFlagsArray=(
-        TO_BIN="lua.exe luac.exe"
-        TO_LIB="liblua.a lua52.dll"
-        INSTALL_DATA="cp -d"
-      )
-    '';
-  } // stdenv.lib.optionalAttrs isDarwin {
-    postPatch = ''
-      sed -i -e 's/-Wl,-soname[^ ]* *//' src/Makefile
-    '';
-  };
-
   meta = {
     homepage = http://www.lua.org;
     description = "Powerful, fast, lightweight, embeddable scripting language";
diff --git a/pkgs/development/interpreters/octave/default.nix b/pkgs/development/interpreters/octave/default.nix
index c13d862267f..ce3ce584434 100644
--- a/pkgs/development/interpreters/octave/default.nix
+++ b/pkgs/development/interpreters/octave/default.nix
@@ -18,11 +18,11 @@ let
 in
 
 stdenv.mkDerivation rec {
-  version = "4.2.1";
+  version = "4.2.2";
   name = "octave-${version}";
   src = fetchurl {
     url = "mirror://gnu/octave/${name}.tar.gz";
-    sha256 = "0frk0nk3aaic8hj3g45h11rnz3arp7pjsq0frbx50sspk1iqzhl0";
+    sha256 = "0vkjfrpv7aikcn73bxqkph1qrhrdx7jqy193n8d8lwp7v2al7f3p";
   };
 
   buildInputs = [ gfortran readline ncurses perl flex texinfo qhull
diff --git a/pkgs/development/interpreters/perl/MakeMaker-cross.patch b/pkgs/development/interpreters/perl/MakeMaker-cross.patch
new file mode 100644
index 00000000000..40626c51f9b
--- /dev/null
+++ b/pkgs/development/interpreters/perl/MakeMaker-cross.patch
@@ -0,0 +1,17 @@
+diff -Naur a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker.pm
+--- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker.pm	2017-06-30 17:03:20.000000000 -0400
++++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker.pm	2018-02-28 10:06:37.031237946 -0500
+@@ -1267,7 +1267,12 @@
+     my $value = shift;
+     return $value if $UNDER_CORE;
+     my $tvalue = '';
+-    require B;
++    eval {
++        require B;
++    };
++    if ($@) {
++        return $tvalue;
++    }
+     my $sv = B::svref_2object(\$value);
+     my $magic = ref($sv) eq 'B::PVMG' ? $sv->MAGIC : undef;
+     while ( $magic ) {
diff --git a/pkgs/development/interpreters/perl/default.nix b/pkgs/development/interpreters/perl/default.nix
index b3381c1dd8f..4d6f426fae4 100644
--- a/pkgs/development/interpreters/perl/default.nix
+++ b/pkgs/development/interpreters/perl/default.nix
@@ -1,4 +1,6 @@
-{ lib, stdenv, fetchurlBoot, buildPackages, enableThreading ? stdenv ? glibc, fetchpatch }:
+{ lib, stdenv, fetchurlBoot, buildPackages
+, enableThreading ? stdenv ? glibc, fetchpatch, makeWrapper
+}:
 
 with lib;
 
@@ -29,7 +31,8 @@ let
     };
 
     # TODO: Add a "dev" output containing the header files.
-    outputs = [ "out" "man" "devdoc" ];
+    outputs = [ "out" "man" "devdoc" ] ++
+      stdenv.lib.optional crossCompiling "dev";
     setOutputFlags = false;
 
     patches =
@@ -45,7 +48,8 @@ let
         })
       ++ optional stdenv.isSunOS ./ld-shared.patch
       ++ optional stdenv.isDarwin ./cpp-precomp.patch
-      ++ optional (stdenv.isDarwin && versionAtLeast version "5.24") ./sw_vers.patch;
+      ++ optional (stdenv.isDarwin && versionAtLeast version "5.24") ./sw_vers.patch
+      ++ optional crossCompiling ./MakeMaker-cross.patch;
 
     postPatch = ''
       pwd="$(type -P pwd)"
@@ -101,6 +105,8 @@ let
 
     passthru.libPrefix = "lib/perl5/site_perl";
 
+    doCheck = false; # some tests fail, expensive
+
     # TODO: it seems like absolute paths to some coreutils is required.
     postInstall =
       ''
@@ -117,6 +123,28 @@ let
               if stdenv.cc.cc or null != null then stdenv.cc.cc else "/no-such-path"
             }" /no-such-path \
           --replace "$man" /no-such-path
+      '' + stdenv.lib.optionalString crossCompiling
+      ''
+        mkdir -p $dev/lib/perl5/cross_perl/${version}
+        for dir in cnf/{stub,cpan}; do
+          cp -r $dir/* $dev/lib/perl5/cross_perl/${version}
+        done
+
+        mkdir -p $dev/bin
+        install -m755 miniperl $dev/bin/perl
+
+        export runtimeArch="$(ls $out/lib/perl5/site_perl/${version})"
+        # wrapProgram should use a runtime-native SHELL by default, but
+        # it actually uses a buildtime-native one. If we ever fix that,
+        # we'll need to fix this to use a buildtime-native one.
+        #
+        # Adding the arch-specific directory is morally incorrect, as
+        # miniperl can't load the native modules there. However, it can
+        # (and sometimes needs to) load and run some of the pure perl
+        # code there, so we add it anyway. When needed, stubs can be put
+        # into $dev/lib/perl5/cross_perl/${version}.
+        wrapProgram $dev/bin/perl --prefix PERL5LIB : \
+          "$dev/lib/perl5/cross_perl/${version}:$out/lib/perl5/${version}:$out/lib/perl5/${version}/$runtimeArch"
       ''; # */
 
     meta = {
@@ -139,7 +167,7 @@ let
       sha256 = "1gh8w9m5if2s0lrx2x8f8grp74d1l6d46m8jglpjm5a1kf55j810";
     };
 
-    depsBuildBuild = [ buildPackages.stdenv.cc ];
+    depsBuildBuild = [ buildPackages.stdenv.cc makeWrapper ];
 
     postUnpack = ''
       unpackFile ${perl-cross-src}
@@ -150,6 +178,11 @@ let
     '';
 
     configurePlatforms = [ "build" "host" "target" ];
+
+    inherit version;
+
+    # TODO merge setup hooks
+    setupHook = ./setup-hook-cross.sh;
   });
 in rec {
   perl = perl524;
diff --git a/pkgs/development/interpreters/perl/setup-hook-cross.sh b/pkgs/development/interpreters/perl/setup-hook-cross.sh
new file mode 100644
index 00000000000..95aae0b2670
--- /dev/null
+++ b/pkgs/development/interpreters/perl/setup-hook-cross.sh
@@ -0,0 +1,12 @@
+addPerlLibPath () {
+    addToSearchPath PERL5LIB $1/lib/perl5/site_perl/@version@
+    addToSearchPath PERL5LIB $1/lib/perl5/site_perl/cross_perl/@version@
+    # Adding the arch-specific directory is morally incorrect, as
+    # miniperl can't load the native modules there. However, it can
+    # (and sometimes needs to) load and run some of the pure perl
+    # code there, so we add it anyway. When needed, stubs can be put
+    # into $1/lib/perl5/site_perl/cross_perl/@version@
+    addToSearchPath PERL5LIB $1/lib/perl5/site_perl/@version@/@runtimeArch@
+}
+
+addEnvHooks "$targetOffset" addPerlLibPath
diff --git a/pkgs/development/interpreters/php/default.nix b/pkgs/development/interpreters/php/default.nix
index e87d4e89a46..94e1e5f1b69 100644
--- a/pkgs/development/interpreters/php/default.nix
+++ b/pkgs/development/interpreters/php/default.nix
@@ -338,22 +338,22 @@ let
 
 in {
   php56 = generic {
-    version = "5.6.34";
-    sha256 = "1kgjgkabhrm8ksmh6j3m59vm85n401mcn7inh03hnjzfijflk7z1";
+    version = "5.6.36";
+    sha256 = "0ahp9vk33dpsqgld0gg4npff67v0l39hs3wk5dm6h3lablzhwsk2";
   };
 
   php70 = generic {
-    version = "7.0.28";
-    sha256 = "0zrw0saqlfv60f3nmff7288wqfhdsfiqns4ys3ii0drzc6s92m5f";
+    version = "7.0.30";
+    sha256 = "0l0bhnlgxmfl7mrdykmxfl53simxsksdcnbg5ymqz6r31i03hgr1";
   };
 
   php71 = generic {
-    version = "7.1.15";
-    sha256 = "1gfw3ab9pvv034l9xk7ry23xsdz9vcwksrvmzkjmsj79713sa5z1";
+    version = "7.1.17";
+    sha256 = "1kyvg1dvn2zddlc7apl8c74wlwz45rxx10fr1s4z6l1cannf6971";
   };
 
   php72 = generic {
-    version = "7.2.3";
-    sha256 = "14mzsp6ysjgc7f6vl0z0j996qf8n75yh0aga121dsr571fn5lwsa";
+    version = "7.2.5";
+    sha256 = "0cb0g64mzkir81js27vjwqr8vh043f62ynqvds5n4ygsivx0x0pk";
   };
 }
diff --git a/pkgs/development/interpreters/pure/default.nix b/pkgs/development/interpreters/pure/default.nix
index 133329f4f20..c2b120576ea 100644
--- a/pkgs/development/interpreters/pure/default.nix
+++ b/pkgs/development/interpreters/pure/default.nix
@@ -3,14 +3,12 @@
 
 stdenv.mkDerivation rec {
   baseName="pure";
-  project="pure-lang";
-  version="0.66";
+  version="0.68";
   name="${baseName}-${version}";
-  extension="tar.gz";
 
   src = fetchurl {
-    url="https://bitbucket.org/purelang/${project}/downloads/${name}.${extension}";
-    sha256="42df6832476e8bee3a7ca179671284c1edd7bc82b71062fa0de62fd2117ee676";
+    url="https://github.com/agraef/pure-lang/releases/download/${name}/${name}.tar.gz";
+    sha256="0px6x5ivcdbbp2pz5n1r1cwg1syadklhjw8piqhl63n91i4r7iyb";
   };
 
   buildInputs = [ bison flex makeWrapper ];
diff --git a/pkgs/development/interpreters/python/build-python-package-flit.nix b/pkgs/development/interpreters/python/build-python-package-flit.nix
index 1beff0ebd83..911078a5e34 100644
--- a/pkgs/development/interpreters/python/build-python-package-flit.nix
+++ b/pkgs/development/interpreters/python/build-python-package-flit.nix
@@ -10,7 +10,7 @@ attrs // {
   buildInputs = [ flit ];
   buildPhase = attrs.buildPhase or ''
     runHook preBuild
-    flit wheel
+    flit build --format wheel
     runHook postBuild
   '';
 
diff --git a/pkgs/development/interpreters/python/build-python-package.nix b/pkgs/development/interpreters/python/build-python-package.nix
index 6a07a006c6b..b55d6d874bb 100644
--- a/pkgs/development/interpreters/python/build-python-package.nix
+++ b/pkgs/development/interpreters/python/build-python-package.nix
@@ -2,6 +2,7 @@
 # and can build packages that use distutils, setuptools or flit.
 
 { lib
+, config
 , python
 , wrapPython
 , setuptools
@@ -19,7 +20,7 @@ let
   wheel-specific = import ./build-python-package-wheel.nix { };
   common = import ./build-python-package-common.nix { inherit python bootstrapped-pip; };
   mkPythonDerivation = import ./mk-python-derivation.nix {
-    inherit lib python wrapPython setuptools unzip ensureNewerSourcesForZipFilesHook toPythonModule namePrefix;
+    inherit lib config python wrapPython setuptools unzip ensureNewerSourcesForZipFilesHook toPythonModule namePrefix;
   };
 in
 
diff --git a/pkgs/development/interpreters/python/cpython/2.7/default.nix b/pkgs/development/interpreters/python/cpython/2.7/default.nix
index 61f17a959bd..ed1bc9dc817 100644
--- a/pkgs/development/interpreters/python/cpython/2.7/default.nix
+++ b/pkgs/development/interpreters/python/cpython/2.7/default.nix
@@ -31,7 +31,7 @@ with stdenv.lib;
 
 let
   majorVersion = "2.7";
-  minorVersion = "14";
+  minorVersion = "15";
   minorVersionSuffix = "";
   pythonVersion = majorVersion;
   version = "${majorVersion}.${minorVersion}${minorVersionSuffix}";
@@ -40,7 +40,7 @@ let
 
   src = fetchurl {
     url = "https://www.python.org/ftp/python/${majorVersion}.${minorVersion}/Python-${version}.tar.xz";
-    sha256 = "0rka541ys16jwzcnnvjp2v12m4cwgd2jp6wj4kj511p715pb5zvi";
+    sha256 = "0x2mvz9dp11wj7p5ccvmk9s0hzjk2fa1m462p395l4r6bfnb3n92";
   };
 
   hasDistutilsCxxPatch = !(stdenv.cc.isGNU or false);
@@ -58,8 +58,8 @@ let
       # if DETERMINISTIC_BUILD env var is set
       ./deterministic-build.patch
 
-      ./properly-detect-curses.patch
-
+    ] ++ optionals (x11Support && stdenv.isDarwin) [
+      ./use-correct-tcl-tk-on-darwin.patch
     ] ++ optionals stdenv.isLinux [
 
       # Disable the use of ldconfig in ctypes.util.find_library (since
@@ -138,7 +138,10 @@ let
     "ac_cv_computed_gotos=yes"
     "ac_cv_file__dev_ptmx=yes"
     "ac_cv_file__dev_ptc=yes"
-  ];
+  ]
+    # Never even try to use lchmod on linux,
+    # don't rely on detecting glibc-isms.
+  ++ optional hostPlatform.isLinux "ac_cv_func_lchmod=no";
 
   postConfigure = if hostPlatform.isCygwin then ''
     sed -i Makefile -e 's,PYTHONPATH="$(srcdir),PYTHONPATH="$(abs_srcdir),'
@@ -174,7 +177,8 @@ in stdenv.mkDerivation {
     LDFLAGS = stdenv.lib.optionalString (!stdenv.isDarwin) "-lgcc_s";
     inherit (mkPaths buildInputs) C_INCLUDE_PATH LIBRARY_PATH;
 
-    NIX_CFLAGS_COMPILE = optionalString stdenv.isDarwin "-msse2";
+    NIX_CFLAGS_COMPILE = optionalString stdenv.isDarwin "-msse2"
+      + optionalString hostPlatform.isMusl " -DTHREAD_STACK_SIZE=0x100000";
     DETERMINISTIC_BUILD = 1;
 
     setupHook = python-setup-hook sitePackages;
@@ -238,6 +242,8 @@ in stdenv.mkDerivation {
 
     enableParallelBuilding = true;
 
+    doCheck = false; # expensive, and fails
+
     meta = {
       homepage = http://python.org;
       description = "A high-level dynamically-typed programming language";
diff --git a/pkgs/development/interpreters/python/cpython/2.7/properly-detect-curses.patch b/pkgs/development/interpreters/python/cpython/2.7/properly-detect-curses.patch
deleted file mode 100644
index e2640bab0e9..00000000000
--- a/pkgs/development/interpreters/python/cpython/2.7/properly-detect-curses.patch
+++ /dev/null
@@ -1,116 +0,0 @@
-From 6dc83db69b5e29d25ba6d73646ea2e9a1097848a Mon Sep 17 00:00:00 2001
-From: Roumen Petrov <local@example.net>
-Date: Sun, 19 Feb 2012 16:13:24 +0200
-Subject: [PATCH] CROSS-properly detect WINDOW _flags for different ncurses versions
-
----
- Include/py_curses.h |    5 +++++
- configure.ac        |   40 ++++++++++++++++++++++++++++++++++++++--
- pyconfig.h.in       |    6 ++++++
- 3 files changed, 49 insertions(+), 2 deletions(-)
-
-diff --git a/Include/py_curses.h b/Include/py_curses.h
-index f2c08f6..a9b5260 100644
---- a/Include/py_curses.h
-+++ b/Include/py_curses.h
-@@ -14,7 +14,9 @@
- /* the following define is necessary for OS X 10.6; without it, the
-    Apple-supplied ncurses.h sets NCURSES_OPAQUE to 1, and then Python
-    can't get at the WINDOW flags field. */
-+/* NOTE configure check if ncurses require such definition
- #define NCURSES_OPAQUE 0
-+*/
- #endif /* __APPLE__ */
- 
- #ifdef __FreeBSD__
-@@ -57,9 +59,12 @@
- #ifdef HAVE_NCURSES_H
- /* configure was checking <curses.h>, but we will
-    use <ncurses.h>, which has all these features. */
-+/* NOTE configure check for existence of flags
-+ * Also flags are visible only if WINDOW structure is not opaque
- #ifndef WINDOW_HAS_FLAGS
- #define WINDOW_HAS_FLAGS 1
- #endif
-+*/
- #ifndef MVWDELCH_IS_EXPRESSION
- #define MVWDELCH_IS_EXPRESSION 1
- #endif
-diff --git a/configure.ac b/configure.ac
-index 0a3a186..75f5142 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -4150,15 +4150,51 @@ then
- fi
- 
- AC_MSG_CHECKING(whether WINDOW has _flags)
--AC_CACHE_VAL(ac_cv_window_has_flags,
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <curses.h>]], [[
-   WINDOW *w;
-   w->_flags = 0;
- ]])],
- [ac_cv_window_has_flags=yes],
--[ac_cv_window_has_flags=no]))
-+[ac_cv_window_has_flags=no])
- AC_MSG_RESULT($ac_cv_window_has_flags)
- 
-+py_curses_window_is_opaque=no
-+if test no = $ac_cv_window_has_flags; then
-+  AC_MSG_CHECKING([whether WINDOW has _flags in non-opaque structure])
-+  AC_COMPILE_IFELSE([
-+  AC_LANG_PROGRAM([[
-+    #define NCURSES_OPAQUE 0
-+    #include <curses.h>
-+  ]],[[
-+    WINDOW *w;
-+    w->_flags = 0;
-+  ]])],
-+  [py_curses_window_is_opaque=yes])
-+  AC_MSG_RESULT([$py_curses_window_is_opaque])
-+fi
-+if test yes = $py_curses_window_is_opaque; then
-+  ac_cv_window_has_flags=yes
-+  AC_DEFINE([NCURSES_OPAQUE], [0], [Define to 0 if you have WINDOW _flags in non-opaque structure.])
-+fi
-+
-+py_curses_window_is_internal=no
-+if test no = $ac_cv_window_has_flags; then
-+  AC_MSG_CHECKING([whether WINDOW has _flags as internal structure])
-+  AC_COMPILE_IFELSE([
-+  AC_LANG_PROGRAM([[
-+    #define NCURSES_INTERNALS 1
-+    #include <curses.h>
-+  ]],[[
-+    WINDOW *w;
-+    w->_flags = 0;
-+  ]])],
-+  [py_curses_window_is_internal=yes])
-+  AC_MSG_RESULT([$py_curses_window_is_internal])
-+fi
-+if test yes = $py_curses_window_is_internal; then
-+  ac_cv_window_has_flags=yes
-+  AC_DEFINE([NCURSES_INTERNALS], [1], [Define to 1 if you have WINDOW _flags as internal structure.])
-+fi
- 
- if test "$ac_cv_window_has_flags" = yes
- then
-diff --git a/pyconfig.h.in b/pyconfig.h.in
-index 3ca3a4f..484c817 100644
---- a/pyconfig.h.in
-+++ b/pyconfig.h.in
-@@ -1130,6 +1130,12 @@
- /* Define if mvwdelch in curses.h is an expression. */
- #undef MVWDELCH_IS_EXPRESSION
- 
-+/* Define to 1 if you have WINDOW _flags as internal structure. */
-+#undef NCURSES_INTERNALS
-+
-+/* Define to 0 if you have WINDOW _flags in non-opaque structure. */
-+#undef NCURSES_OPAQUE
-+
- /* Define to the address where bug reports for this package should be sent. */
- #undef PACKAGE_BUGREPORT
- 
--- 
-1.6.4
-
diff --git a/pkgs/development/interpreters/python/cpython/2.7/use-correct-tcl-tk-on-darwin.patch b/pkgs/development/interpreters/python/cpython/2.7/use-correct-tcl-tk-on-darwin.patch
new file mode 100644
index 00000000000..b73f62b97ec
--- /dev/null
+++ b/pkgs/development/interpreters/python/cpython/2.7/use-correct-tcl-tk-on-darwin.patch
@@ -0,0 +1,48 @@
+diff --git a/setup.py b/setup.py
+index 2779658..902d0eb 100644
+--- a/setup.py
++++ b/setup.py
+@@ -1699,9 +1699,6 @@ class PyBuildExt(build_ext):
+         # Rather than complicate the code below, detecting and building
+         # AquaTk is a separate method. Only one Tkinter will be built on
+         # Darwin - either AquaTk, if it is found, or X11 based Tk.
+-        if (host_platform == 'darwin' and
+-            self.detect_tkinter_darwin(inc_dirs, lib_dirs)):
+-            return
+
+         # Assume we haven't found any of the libraries or include files
+         # The versions with dots are used on Unix, and the versions without
+@@ -1747,22 +1744,6 @@ class PyBuildExt(build_ext):
+             if dir not in include_dirs:
+                 include_dirs.append(dir)
+
+-        # Check for various platform-specific directories
+-        if host_platform == 'sunos5':
+-            include_dirs.append('/usr/openwin/include')
+-            added_lib_dirs.append('/usr/openwin/lib')
+-        elif os.path.exists('/usr/X11R6/include'):
+-            include_dirs.append('/usr/X11R6/include')
+-            added_lib_dirs.append('/usr/X11R6/lib64')
+-            added_lib_dirs.append('/usr/X11R6/lib')
+-        elif os.path.exists('/usr/X11R5/include'):
+-            include_dirs.append('/usr/X11R5/include')
+-            added_lib_dirs.append('/usr/X11R5/lib')
+-        else:
+-            # Assume default location for X11
+-            include_dirs.append('/usr/X11/include')
+-            added_lib_dirs.append('/usr/X11/lib')
+-
+         # If Cygwin, then verify that X is installed before proceeding
+         if host_platform == 'cygwin':
+             x11_inc = find_file('X11/Xlib.h', [], include_dirs)
+@@ -1786,10 +1767,6 @@ class PyBuildExt(build_ext):
+         if host_platform in ['aix3', 'aix4']:
+             libs.append('ld')
+
+-        # Finally, link with the X11 libraries (not appropriate on cygwin)
+-        if host_platform != "cygwin":
+-            libs.append('X11')
+-
+         ext = Extension('_tkinter', ['_tkinter.c', 'tkappinit.c'],
+                         define_macros=[('WITH_APPINIT', 1)] + defs,
+                         include_dirs = include_dirs,
diff --git a/pkgs/development/interpreters/python/cpython/3.4/default.nix b/pkgs/development/interpreters/python/cpython/3.4/default.nix
index 4c0979ca0e3..7da2cfdd152 100644
--- a/pkgs/development/interpreters/python/cpython/3.4/default.nix
+++ b/pkgs/development/interpreters/python/cpython/3.4/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl
+{ stdenv, fetchurl, fetchpatch
 , bzip2
 , expat
 , libffi
@@ -39,6 +39,8 @@ let
     ++ optionals x11Support [ tcl tk libX11 xproto ]
     ++ optionals stdenv.isDarwin [ CF configd ];
 
+  hasDistutilsCxxPatch = !(stdenv.cc.isGNU or false);
+
 in stdenv.mkDerivation {
   name = "python3-${version}";
   pythonVersion = majorVersion;
@@ -67,6 +69,18 @@ in stdenv.mkDerivation {
   patches = [
     ./no-ldconfig.patch
     ./ld_library_path.patch
+  ] ++ optionals (x11Support && stdenv.isDarwin) [
+    ./use-correct-tcl-tk-on-darwin.patch
+  ] ++ optionals hasDistutilsCxxPatch [
+    # Fix for http://bugs.python.org/issue1222585
+    # Upstream distutils is calling C compiler to compile C++ code, which
+    # only works for GCC and Apple Clang. This makes distutils to call C++
+    # compiler when needed.
+    (fetchpatch {
+      url = "https://bugs.python.org/file47046/python-3.x-distutils-C++.patch";
+      sha256 = "0dgdn9k2kmw4wh90vdnjcrnn97ylxgx7mbn9l87fwz6j501jqvk8";
+      extraPrefix = "";
+    })
   ];
 
   postPatch = ''
@@ -94,7 +108,10 @@ in stdenv.mkDerivation {
     "--without-ensurepip"
     "--with-system-expat"
     "--with-system-ffi"
-  ];
+  ]
+    # Never even try to use lchmod on linux,
+    # don't rely on detecting glibc-isms.
+  ++ optional stdenv.hostPlatform.isLinux "ac_cv_func_lchmod=no";
 
   preConfigure = ''
     for i in /usr /sw /opt /pkg; do	# improve purity
@@ -103,6 +120,9 @@ in stdenv.mkDerivation {
     ${optionalString stdenv.isDarwin ''
        export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -msse2"
        export MACOSX_DEPLOYMENT_TARGET=10.6
+     ''
+     + optionalString stdenv.hostPlatform.isMusl ''
+      export NIX_CFLAGS_COMPILE+=" -DTHREAD_STACK_SIZE=0x100000"
      ''}
   '';
 
@@ -158,7 +178,7 @@ in stdenv.mkDerivation {
   passthru = let
     pythonPackages = callPackage ../../../../../top-level/python-packages.nix {python=self; overrides=packageOverrides;};
   in rec {
-    inherit libPrefix sitePackages x11Support;
+    inherit libPrefix sitePackages x11Support hasDistutilsCxxPatch;
     executable = "${libPrefix}m";
     buildEnv = callPackage ../../wrapper.nix { python = self; inherit (pythonPackages) requiredPythonModules; };
     withPackages = import ../../with-packages.nix { inherit buildEnv pythonPackages;};
@@ -171,6 +191,8 @@ in stdenv.mkDerivation {
 
   enableParallelBuilding = true;
 
+  doCheck = false; # expensive, and fails
+
   meta = {
     homepage = http://python.org;
     description = "A high-level dynamically-typed programming language";
diff --git a/pkgs/development/interpreters/python/cpython/3.4/use-correct-tcl-tk-on-darwin.patch b/pkgs/development/interpreters/python/cpython/3.4/use-correct-tcl-tk-on-darwin.patch
new file mode 100644
index 00000000000..b73f62b97ec
--- /dev/null
+++ b/pkgs/development/interpreters/python/cpython/3.4/use-correct-tcl-tk-on-darwin.patch
@@ -0,0 +1,48 @@
+diff --git a/setup.py b/setup.py
+index 2779658..902d0eb 100644
+--- a/setup.py
++++ b/setup.py
+@@ -1699,9 +1699,6 @@ class PyBuildExt(build_ext):
+         # Rather than complicate the code below, detecting and building
+         # AquaTk is a separate method. Only one Tkinter will be built on
+         # Darwin - either AquaTk, if it is found, or X11 based Tk.
+-        if (host_platform == 'darwin' and
+-            self.detect_tkinter_darwin(inc_dirs, lib_dirs)):
+-            return
+
+         # Assume we haven't found any of the libraries or include files
+         # The versions with dots are used on Unix, and the versions without
+@@ -1747,22 +1744,6 @@ class PyBuildExt(build_ext):
+             if dir not in include_dirs:
+                 include_dirs.append(dir)
+
+-        # Check for various platform-specific directories
+-        if host_platform == 'sunos5':
+-            include_dirs.append('/usr/openwin/include')
+-            added_lib_dirs.append('/usr/openwin/lib')
+-        elif os.path.exists('/usr/X11R6/include'):
+-            include_dirs.append('/usr/X11R6/include')
+-            added_lib_dirs.append('/usr/X11R6/lib64')
+-            added_lib_dirs.append('/usr/X11R6/lib')
+-        elif os.path.exists('/usr/X11R5/include'):
+-            include_dirs.append('/usr/X11R5/include')
+-            added_lib_dirs.append('/usr/X11R5/lib')
+-        else:
+-            # Assume default location for X11
+-            include_dirs.append('/usr/X11/include')
+-            added_lib_dirs.append('/usr/X11/lib')
+-
+         # If Cygwin, then verify that X is installed before proceeding
+         if host_platform == 'cygwin':
+             x11_inc = find_file('X11/Xlib.h', [], include_dirs)
+@@ -1786,10 +1767,6 @@ class PyBuildExt(build_ext):
+         if host_platform in ['aix3', 'aix4']:
+             libs.append('ld')
+
+-        # Finally, link with the X11 libraries (not appropriate on cygwin)
+-        if host_platform != "cygwin":
+-            libs.append('X11')
+-
+         ext = Extension('_tkinter', ['_tkinter.c', 'tkappinit.c'],
+                         define_macros=[('WITH_APPINIT', 1)] + defs,
+                         include_dirs = include_dirs,
diff --git a/pkgs/development/interpreters/python/cpython/3.5/default.nix b/pkgs/development/interpreters/python/cpython/3.5/default.nix
index a8519a76a23..434c2338270 100644
--- a/pkgs/development/interpreters/python/cpython/3.5/default.nix
+++ b/pkgs/development/interpreters/python/cpython/3.5/default.nix
@@ -39,6 +39,8 @@ let
     ++ optionals x11Support [ tcl tk libX11 xproto ]
     ++ optionals stdenv.isDarwin [ CF configd ];
 
+  hasDistutilsCxxPatch = !(stdenv.cc.isGNU or false);
+
 in stdenv.mkDerivation {
   name = "python3-${version}";
   pythonVersion = majorVersion;
@@ -67,6 +69,24 @@ in stdenv.mkDerivation {
   patches = [
     ./no-ldconfig.patch
     ./ld_library_path.patch
+  ] ++ optionals stdenv.isDarwin [
+    # Fix for https://bugs.python.org/issue24658
+    (fetchpatch {
+      url = "https://bugs.python.org/file45178/issue24658-3-3.6.diff";
+      sha256 = "1x060hs80nl34mcl2ji2i7l4shxkmxwgq8h8lcmav8rjqqz1nb4a";
+    })
+  ] ++ optionals (x11Support && stdenv.isDarwin) [
+    ./use-correct-tcl-tk-on-darwin.patch
+  ] ++ optionals hasDistutilsCxxPatch [
+    # Fix for http://bugs.python.org/issue1222585
+    # Upstream distutils is calling C compiler to compile C++ code, which
+    # only works for GCC and Apple Clang. This makes distutils to call C++
+    # compiler when needed.
+    (fetchpatch {
+      url = "https://bugs.python.org/file47046/python-3.x-distutils-C++.patch";
+      sha256 = "0dgdn9k2kmw4wh90vdnjcrnn97ylxgx7mbn9l87fwz6j501jqvk8";
+      extraPrefix = "";
+    })
   ];
 
   postPatch = ''
@@ -88,7 +108,10 @@ in stdenv.mkDerivation {
     "--without-ensurepip"
     "--with-system-expat"
     "--with-system-ffi"
-  ];
+  ]
+    # Never even try to use lchmod on linux,
+    # don't rely on detecting glibc-isms.
+  ++ optional stdenv.hostPlatform.isLinux "ac_cv_func_lchmod=no";
 
   preConfigure = ''
     for i in /usr /sw /opt /pkg; do	# improve purity
@@ -97,6 +120,9 @@ in stdenv.mkDerivation {
     ${optionalString stdenv.isDarwin ''
        export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -msse2"
        export MACOSX_DEPLOYMENT_TARGET=10.6
+     ''
+     + optionalString stdenv.hostPlatform.isMusl ''
+      export NIX_CFLAGS_COMPILE+=" -DTHREAD_STACK_SIZE=0x100000"
      ''}
   '';
 
@@ -152,7 +178,7 @@ in stdenv.mkDerivation {
   passthru = let
     pythonPackages = callPackage ../../../../../top-level/python-packages.nix {python=self; overrides=packageOverrides;};
   in rec {
-    inherit libPrefix sitePackages x11Support;
+    inherit libPrefix sitePackages x11Support hasDistutilsCxxPatch;
     executable = "${libPrefix}m";
     buildEnv = callPackage ../../wrapper.nix { python = self; inherit (pythonPackages) requiredPythonModules; };
     withPackages = import ../../with-packages.nix { inherit buildEnv pythonPackages;};
@@ -164,6 +190,8 @@ in stdenv.mkDerivation {
 
   enableParallelBuilding = true;
 
+  doCheck = false; # expensive, and fails
+
   meta = {
     homepage = http://python.org;
     description = "A high-level dynamically-typed programming language";
diff --git a/pkgs/development/interpreters/python/cpython/3.5/use-correct-tcl-tk-on-darwin.patch b/pkgs/development/interpreters/python/cpython/3.5/use-correct-tcl-tk-on-darwin.patch
new file mode 100644
index 00000000000..b73f62b97ec
--- /dev/null
+++ b/pkgs/development/interpreters/python/cpython/3.5/use-correct-tcl-tk-on-darwin.patch
@@ -0,0 +1,48 @@
+diff --git a/setup.py b/setup.py
+index 2779658..902d0eb 100644
+--- a/setup.py
++++ b/setup.py
+@@ -1699,9 +1699,6 @@ class PyBuildExt(build_ext):
+         # Rather than complicate the code below, detecting and building
+         # AquaTk is a separate method. Only one Tkinter will be built on
+         # Darwin - either AquaTk, if it is found, or X11 based Tk.
+-        if (host_platform == 'darwin' and
+-            self.detect_tkinter_darwin(inc_dirs, lib_dirs)):
+-            return
+
+         # Assume we haven't found any of the libraries or include files
+         # The versions with dots are used on Unix, and the versions without
+@@ -1747,22 +1744,6 @@ class PyBuildExt(build_ext):
+             if dir not in include_dirs:
+                 include_dirs.append(dir)
+
+-        # Check for various platform-specific directories
+-        if host_platform == 'sunos5':
+-            include_dirs.append('/usr/openwin/include')
+-            added_lib_dirs.append('/usr/openwin/lib')
+-        elif os.path.exists('/usr/X11R6/include'):
+-            include_dirs.append('/usr/X11R6/include')
+-            added_lib_dirs.append('/usr/X11R6/lib64')
+-            added_lib_dirs.append('/usr/X11R6/lib')
+-        elif os.path.exists('/usr/X11R5/include'):
+-            include_dirs.append('/usr/X11R5/include')
+-            added_lib_dirs.append('/usr/X11R5/lib')
+-        else:
+-            # Assume default location for X11
+-            include_dirs.append('/usr/X11/include')
+-            added_lib_dirs.append('/usr/X11/lib')
+-
+         # If Cygwin, then verify that X is installed before proceeding
+         if host_platform == 'cygwin':
+             x11_inc = find_file('X11/Xlib.h', [], include_dirs)
+@@ -1786,10 +1767,6 @@ class PyBuildExt(build_ext):
+         if host_platform in ['aix3', 'aix4']:
+             libs.append('ld')
+
+-        # Finally, link with the X11 libraries (not appropriate on cygwin)
+-        if host_platform != "cygwin":
+-            libs.append('X11')
+-
+         ext = Extension('_tkinter', ['_tkinter.c', 'tkappinit.c'],
+                         define_macros=[('WITH_APPINIT', 1)] + defs,
+                         include_dirs = include_dirs,
diff --git a/pkgs/development/interpreters/python/cpython/3.6/default.nix b/pkgs/development/interpreters/python/cpython/3.6/default.nix
index fb58d0871ec..5ee5c917953 100644
--- a/pkgs/development/interpreters/python/cpython/3.6/default.nix
+++ b/pkgs/development/interpreters/python/cpython/3.6/default.nix
@@ -27,7 +27,7 @@ with stdenv.lib;
 
 let
   majorVersion = "3.6";
-  minorVersion = "4";
+  minorVersion = "5";
   minorVersionSuffix = "";
   pythonVersion = majorVersion;
   version = "${majorVersion}.${minorVersion}${minorVersionSuffix}";
@@ -42,6 +42,8 @@ let
   nativeBuildInputs =
     optional (stdenv.hostPlatform != stdenv.buildPlatform) buildPackages.python3;
 
+  hasDistutilsCxxPatch = !(stdenv.cc.isGNU or false);
+
 in stdenv.mkDerivation {
   name = "python3-${version}";
   pythonVersion = majorVersion;
@@ -51,7 +53,7 @@ in stdenv.mkDerivation {
 
   src = fetchurl {
     url = "https://www.python.org/ftp/python/${majorVersion}.${minorVersion}/Python-${version}.tar.xz";
-    sha256 = "1fna7g8jxzl4kd2pqmmqhva5724c5m920x3fsrpsgskaylmr76qm";
+    sha256 = "19l7inxm056jjw33zz97z0m02hsi7jnnx5kyb76abj5ml4xhad7l";
   };
 
   NIX_LDFLAGS = optionalString stdenv.isLinux "-lgcc_s";
@@ -69,6 +71,24 @@ in stdenv.mkDerivation {
 
   patches = [
     ./no-ldconfig.patch
+  ] ++ optionals stdenv.isDarwin [
+    # Fix for https://bugs.python.org/issue24658
+    (fetchpatch {
+      url = "https://bugs.python.org/file45178/issue24658-3-3.6.diff";
+      sha256 = "1x060hs80nl34mcl2ji2i7l4shxkmxwgq8h8lcmav8rjqqz1nb4a";
+    })
+  ] ++ optionals (x11Support && stdenv.isDarwin) [
+    ./use-correct-tcl-tk-on-darwin.patch
+  ] ++ optionals hasDistutilsCxxPatch [
+    # Fix for http://bugs.python.org/issue1222585
+    # Upstream distutils is calling C compiler to compile C++ code, which
+    # only works for GCC and Apple Clang. This makes distutils to call C++
+    # compiler when needed.
+    (fetchpatch {
+      url = "https://bugs.python.org/file47046/python-3.x-distutils-C++.patch";
+      sha256 = "0dgdn9k2kmw4wh90vdnjcrnn97ylxgx7mbn9l87fwz6j501jqvk8";
+      extraPrefix = "";
+    })
   ];
 
   postPatch = ''
@@ -111,7 +131,10 @@ in stdenv.mkDerivation {
     "ac_cv_computed_gotos=yes"
     "ac_cv_file__dev_ptmx=yes"
     "ac_cv_file__dev_ptc=yes"
-  ];
+  ]
+    # Never even try to use lchmod on linux,
+    # don't rely on detecting glibc-isms.
+  ++ optional stdenv.hostPlatform.isLinux "ac_cv_func_lchmod=no";
 
   preConfigure = ''
     for i in /usr /sw /opt /pkg; do	# improve purity
@@ -120,6 +143,9 @@ in stdenv.mkDerivation {
     ${optionalString stdenv.isDarwin ''
        export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -msse2"
        export MACOSX_DEPLOYMENT_TARGET=10.6
+     ''
+     + optionalString stdenv.hostPlatform.isMusl ''
+      export NIX_CFLAGS_COMPILE+=" -DTHREAD_STACK_SIZE=0x100000"
      ''}
   '';
 
@@ -175,7 +201,7 @@ in stdenv.mkDerivation {
   passthru = let
     pythonPackages = callPackage ../../../../../top-level/python-packages.nix {python=self; overrides=packageOverrides;};
   in rec {
-    inherit libPrefix sitePackages x11Support;
+    inherit libPrefix sitePackages x11Support hasDistutilsCxxPatch;
     executable = "${libPrefix}m";
     buildEnv = callPackage ../../wrapper.nix { python = self; inherit (pythonPackages) requiredPythonModules; };
     withPackages = import ../../with-packages.nix { inherit buildEnv pythonPackages;};
@@ -188,6 +214,8 @@ in stdenv.mkDerivation {
 
   enableParallelBuilding = true;
 
+  doCheck = false; # expensive, and fails
+
   meta = {
     homepage = http://python.org;
     description = "A high-level dynamically-typed programming language";
diff --git a/pkgs/development/interpreters/python/cpython/3.6/use-correct-tcl-tk-on-darwin.patch b/pkgs/development/interpreters/python/cpython/3.6/use-correct-tcl-tk-on-darwin.patch
new file mode 100644
index 00000000000..b73f62b97ec
--- /dev/null
+++ b/pkgs/development/interpreters/python/cpython/3.6/use-correct-tcl-tk-on-darwin.patch
@@ -0,0 +1,48 @@
+diff --git a/setup.py b/setup.py
+index 2779658..902d0eb 100644
+--- a/setup.py
++++ b/setup.py
+@@ -1699,9 +1699,6 @@ class PyBuildExt(build_ext):
+         # Rather than complicate the code below, detecting and building
+         # AquaTk is a separate method. Only one Tkinter will be built on
+         # Darwin - either AquaTk, if it is found, or X11 based Tk.
+-        if (host_platform == 'darwin' and
+-            self.detect_tkinter_darwin(inc_dirs, lib_dirs)):
+-            return
+
+         # Assume we haven't found any of the libraries or include files
+         # The versions with dots are used on Unix, and the versions without
+@@ -1747,22 +1744,6 @@ class PyBuildExt(build_ext):
+             if dir not in include_dirs:
+                 include_dirs.append(dir)
+
+-        # Check for various platform-specific directories
+-        if host_platform == 'sunos5':
+-            include_dirs.append('/usr/openwin/include')
+-            added_lib_dirs.append('/usr/openwin/lib')
+-        elif os.path.exists('/usr/X11R6/include'):
+-            include_dirs.append('/usr/X11R6/include')
+-            added_lib_dirs.append('/usr/X11R6/lib64')
+-            added_lib_dirs.append('/usr/X11R6/lib')
+-        elif os.path.exists('/usr/X11R5/include'):
+-            include_dirs.append('/usr/X11R5/include')
+-            added_lib_dirs.append('/usr/X11R5/lib')
+-        else:
+-            # Assume default location for X11
+-            include_dirs.append('/usr/X11/include')
+-            added_lib_dirs.append('/usr/X11/lib')
+-
+         # If Cygwin, then verify that X is installed before proceeding
+         if host_platform == 'cygwin':
+             x11_inc = find_file('X11/Xlib.h', [], include_dirs)
+@@ -1786,10 +1767,6 @@ class PyBuildExt(build_ext):
+         if host_platform in ['aix3', 'aix4']:
+             libs.append('ld')
+
+-        # Finally, link with the X11 libraries (not appropriate on cygwin)
+-        if host_platform != "cygwin":
+-            libs.append('X11')
+-
+         ext = Extension('_tkinter', ['_tkinter.c', 'tkappinit.c'],
+                         define_macros=[('WITH_APPINIT', 1)] + defs,
+                         include_dirs = include_dirs,
diff --git a/pkgs/development/interpreters/python/mk-python-derivation.nix b/pkgs/development/interpreters/python/mk-python-derivation.nix
index 96a9cdf0c61..63ffdbb8c0a 100644
--- a/pkgs/development/interpreters/python/mk-python-derivation.nix
+++ b/pkgs/development/interpreters/python/mk-python-derivation.nix
@@ -1,6 +1,7 @@
 # Generic builder.
 
 { lib
+, config
 , python
 , wrapPython
 , setuptools
@@ -53,7 +54,7 @@
 
 , passthru ? {}
 
-, doCheck ? false
+, doCheck ? config.doCheckByDefault or false
 
 , ... } @ attrs:
 
@@ -74,7 +75,6 @@ toPythonModule (python.stdenv.mkDerivation (builtins.removeAttrs attrs [
 
   buildInputs = [ wrapPython ]
     ++ lib.optional (lib.hasSuffix "zip" (attrs.src.name or "")) unzip
-    ++ lib.optionals doCheck checkInputs
     ++ lib.optional catchConflicts setuptools # If we no longer propagate setuptools
     ++ buildInputs
     ++ pythonPath;
@@ -85,6 +85,7 @@ toPythonModule (python.stdenv.mkDerivation (builtins.removeAttrs attrs [
   # Python packages don't have a checkPhase, only an installCheckPhase
   doCheck = false;
   doInstallCheck = doCheck;
+  installCheckInputs = checkInputs;
 
   postFixup = lib.optionalString (!dontWrapPythonPrograms) ''
     wrapPythonPrograms
diff --git a/pkgs/development/interpreters/racket/default.nix b/pkgs/development/interpreters/racket/default.nix
index e3aa3e8a6f5..32d24fa8835 100644
--- a/pkgs/development/interpreters/racket/default.nix
+++ b/pkgs/development/interpreters/racket/default.nix
@@ -74,7 +74,7 @@ stdenv.mkDerivation rec {
 
   postInstall = ''
     for p in $(ls $out/bin/) ; do
-      wrapProgram $out/bin/$p --set LD_LIBRARY_PATH "${LD_LIBRARY_PATH}";
+      wrapProgram $out/bin/$p --prefix LD_LIBRARY_PATH ":" "${LD_LIBRARY_PATH}";
     done
   '';
 
diff --git a/pkgs/development/interpreters/renpy/default.nix b/pkgs/development/interpreters/renpy/default.nix
index 658c5aebe5c..a992717d94f 100644
--- a/pkgs/development/interpreters/renpy/default.nix
+++ b/pkgs/development/interpreters/renpy/default.nix
@@ -5,31 +5,37 @@
 
 with pythonPackages;
 
-stdenv.mkDerivation {
-  name = "renpy-6.99.12.4";
+stdenv.mkDerivation rec {
+  name = "renpy-${version}";
+  version = "6.99.14.3";
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "Ren'Py Visual Novel Engine";
     homepage = http://renpy.org/;
-    license = stdenv.lib.licenses.mit;
-    platforms = stdenv.lib.platforms.linux;
-    # This is an ancient version, last updated in 2014 (3d59f42ce); it fails to
-    # build with the most recent pygame version, and fails to run with 1.9.1.
-    broken = true;
+    license = licenses.mit;
+    platforms = platforms.linux;
   };
 
   src = fetchurl {
-    url = "http://www.renpy.org/dl/6.99.12.4/renpy-6.99.12.4-source.tar.bz2";
-    sha256 = "035342rr39zp7krp08z0xhcl73gqbqyilshgmljq0ynfrxxckn35";
+    url = "https://www.renpy.org/dl/${version}/renpy-${version}-source.tar.bz2";
+    sha256 = "15n29ybblcpnfbmhc31gm5vj7cpqd8cwrcqxlwnxy0gjpbc50x73";
   };
 
+  patches = [
+    ./launcherenv.patch
+  ];
+
+  postPatch = ''
+    substituteInPlace launcher/game/choose_directory.rpy --replace /usr/bin/python ${python.interpreter}
+  '';
+
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    python cython wrapPython
+    python cython wrapPython tkinter
     SDL2 libpng ffmpeg freetype glew libGLU_combined fribidi zlib pygame_sdl2 glib
   ];
 
-  pythonPath = [ pygame_sdl2 ];
+  pythonPath = [ pygame_sdl2 tkinter ];
 
   RENPY_DEPS_INSTALL = stdenv.lib.concatStringsSep "::" (map (path: "${path}") [
     SDL2 SDL2.dev libpng ffmpeg ffmpeg.out freetype glew.dev glew.out libGLU_combined fribidi zlib
@@ -41,7 +47,9 @@ stdenv.mkDerivation {
 
   installPhase = ''
     mkdir -p $out/share/renpy
-    cp -r renpy renpy.py $out/share/renpy
+    cp -vr * $out/share/renpy
+    rm -rf $out/share/renpy/module
+
     python module/setup.py install --prefix=$out --install-lib=$out/share/renpy/module
 
     makeWrapper ${python}/bin/python $out/bin/renpy \
diff --git a/pkgs/development/interpreters/renpy/launcherenv.patch b/pkgs/development/interpreters/renpy/launcherenv.patch
new file mode 100644
index 00000000000..85a6c6439b9
--- /dev/null
+++ b/pkgs/development/interpreters/renpy/launcherenv.patch
@@ -0,0 +1,14 @@
+# The launcher game starts projects in a separate python process
+# with the -E flag, which prevents the nix set PYTHONPATH envvar
+# from taking effect, preventing the loading of pygame_sdl2
+--- a/launcher/game/project.rpy
++++ b/launcher/game/project.rpy
+@@ -239,7 +239,7 @@
+                 raise Exception("Python interpreter not found: %r", executables)
+ 
+             # Put together the basic command line.
+-            cmd = [ executable, "-EO", sys.argv[0] ]
++            cmd = [ executable, "-O", sys.argv[0] ]
+ 
+             cmd.append(self.path)
+             cmd.extend(args)
diff --git a/pkgs/development/interpreters/ruby/default.nix b/pkgs/development/interpreters/ruby/default.nix
index 4ebc488d998..89d394c8756 100644
--- a/pkgs/development/interpreters/ruby/default.nix
+++ b/pkgs/development/interpreters/ruby/default.nix
@@ -1,8 +1,8 @@
 { stdenv, buildPackages, lib
 , fetchurl, fetchpatch, fetchFromSavannah, fetchFromGitHub
 , zlib, openssl, gdbm, ncurses, readline, groff, libyaml, libffi, autoreconfHook, bison
-, autoconf, darwin ? null
-, buildEnv, bundler, bundix, Foundation
+, autoconf, libiconv, libobjc, libunwind, Foundation
+, buildEnv, bundler, bundix
 } @ args:
 
 let
@@ -37,7 +37,7 @@ let
     isRuby25 = ver.majMin == "2.5";
     baseruby = self.override { useRailsExpress = false; };
     self = lib.makeOverridable (
-  { stdenv, buildPackages, lib
+      { stdenv, buildPackages, lib
       , fetchurl, fetchpatch, fetchFromSavannah, fetchFromGitHub
       , useRailsExpress ? true
       , zlib, zlibSupport ? true
@@ -48,8 +48,8 @@ let
       , libyaml, yamlSupport ? true
       , libffi, fiddleSupport ? true
       , autoreconfHook, bison, autoconf
-      , darwin ? null
-      , buildEnv, bundler, bundix, Foundation
+      , buildEnv, bundler, bundix
+      , libiconv, libobjc, libunwind, Foundation
       }:
       let rubySrc =
         if useRailsExpress then fetchFromGitHub {
@@ -93,9 +93,8 @@ let
           # support is not enabled, so add readline to the build inputs if curses
           # support is disabled (if it's enabled, we already have it) and we're
           # running on darwin
-          ++ (op (!cursesSupport && stdenv.isDarwin) readline)
-          ++ (op (isRuby25 && stdenv.isDarwin) Foundation)
-          ++ (ops stdenv.isDarwin (with darwin; [ libiconv libobjc libunwind ]));
+          ++ op (!cursesSupport && stdenv.isDarwin) readline
+          ++ ops stdenv.isDarwin [ libiconv libobjc libunwind Foundation ];
 
         enableParallelBuilding = true;
 
@@ -200,26 +199,26 @@ let
 
 in {
   ruby_2_3 = generic {
-    version = rubyVersion "2" "3" "6" "";
+    version = rubyVersion "2" "3" "7" "";
     sha256 = {
-      src = "07jpa7fw1gyf069m7alf2b0zm53qm08w2ns45mhzmvgrg4r528l3";
-      git = "1bk59i0ygdc5z3zz3k6indfrxd2ix55np6rwvkcdpdw8svm749ds";
+      src = "0zvx5kdp1frjs9n95n7ba7dy0alax33wi3nj8034m3ppvnf39k9m";
+      git = "11wbzw2ywwfnvlkg3qjg0as2pzk5zyk63y2iis42d91lg1l2flrk";
     };
   };
 
   ruby_2_4 = generic {
-    version = rubyVersion "2" "4" "3" "";
+    version = rubyVersion "2" "4" "4" "";
     sha256 = {
-      src = "161smb52q19r9lrzy22b3bhnkd0z8wjffm0qsfkml14j5ic7a0zx";
-      git = "0x2lqbqm2rq9j5zh1p72dma56nqvdkfbgzb9wybm4y4hwhiw8c1m";
+      src = "0nmfr2lijik6cykk0zbj11zcapcrvmdvq83k3r6q3k74g4d1qkr5";
+      git = "103cs7hz1v0h84lbrippl87s4lawi20m406rs5dgxl2gr2wyjpy5";
     };
   };
 
   ruby_2_5 = generic {
-    version = rubyVersion "2" "5" "0" "";
+    version = rubyVersion "2" "5" "1" "";
     sha256 = {
-      src = "1azj0d2lzziw6iml7bx3sxpxzcdmfwfq3yhm7djyp20q1xiz7rj6";
-      git = "0d436nqmp3ykdkp4sck5bb8sf3qvx30x1p58xh8axv66mvsyc2jd";
+      src = "1c99k0fjaq7k09104h1b1cqx6mrk2b14ic1jjnxc6yav68i1ij6s";
+      git = "1j0fd16aq9x98n0kq9c3kfp2sh6xcsq8q4733p0wfqjh3vz50kyj";
     };
   };
 }
diff --git a/pkgs/development/interpreters/ruby/patchsets.nix b/pkgs/development/interpreters/ruby/patchsets.nix
index fc79761252f..e53f231884d 100644
--- a/pkgs/development/interpreters/ruby/patchsets.nix
+++ b/pkgs/development/interpreters/ruby/patchsets.nix
@@ -6,17 +6,17 @@ rec {
     "${patchSet}/patches/ruby/2.2/head/railsexpress/02-improve-gc-stats.patch"
     "${patchSet}/patches/ruby/2.2/head/railsexpress/03-display-more-detailed-stack-trace.patch"
   ];
-  "2.3.6" = ops useRailsExpress [
+  "2.3.7" = ops useRailsExpress [
     "${patchSet}/patches/ruby/2.3/head/railsexpress/01-skip-broken-tests.patch"
     "${patchSet}/patches/ruby/2.3/head/railsexpress/02-improve-gc-stats.patch"
     "${patchSet}/patches/ruby/2.3/head/railsexpress/03-display-more-detailed-stack-trace.patch"
   ];
-  "2.4.3" = ops useRailsExpress [
+  "2.4.4" = ops useRailsExpress [
     "${patchSet}/patches/ruby/2.4/head/railsexpress/01-skip-broken-tests.patch"
     "${patchSet}/patches/ruby/2.4/head/railsexpress/02-improve-gc-stats.patch"
     "${patchSet}/patches/ruby/2.4/head/railsexpress/03-display-more-detailed-stack-trace.patch"
   ];
-  "2.5.0" = ops useRailsExpress [
+  "2.5.1" = ops useRailsExpress [
     "${patchSet}/patches/ruby/2.5/head/railsexpress/01-fix-broken-tests-caused-by-ad.patch"
     "${patchSet}/patches/ruby/2.5/head/railsexpress/02-improve-gc-stats.patch"
     "${patchSet}/patches/ruby/2.5/head/railsexpress/03-more-detailed-stacktrace.patch"
diff --git a/pkgs/development/interpreters/spidermonkey/52.nix b/pkgs/development/interpreters/spidermonkey/52.nix
index 4992ea04f11..35dcff95029 100644
--- a/pkgs/development/interpreters/spidermonkey/52.nix
+++ b/pkgs/development/interpreters/spidermonkey/52.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchurl, fetchpatch, autoconf213, pkgconfig, perl, python2, zip, which, readline, icu, zlib, nspr }:
 
 let
-  version = "52.6.0";
+  version = "52.7.4";
 in stdenv.mkDerivation rec {
   name = "spidermonkey-${version}";
 
   src = fetchurl {
     url = "mirror://mozilla/firefox/releases/${version}esr/source/firefox-${version}esr.source.tar.xz";
-    sha256 = "0hhyd4ni4jja7jd687dm0csi1jcjxahf918zbjzr8njz655djz2q";
+    sha256 = "0dn3hbc95qhvcgzbibhy17xwn5m0340f64bq5byvx22c2rf40xwz";
   };
 
   buildInputs = [ readline icu zlib nspr ];
diff --git a/pkgs/development/interpreters/supercollider/default.nix b/pkgs/development/interpreters/supercollider/default.nix
index 13184ad50e8..2737fd6fae0 100644
--- a/pkgs/development/interpreters/supercollider/default.nix
+++ b/pkgs/development/interpreters/supercollider/default.nix
@@ -9,12 +9,12 @@ in
 
 stdenv.mkDerivation rec {
   name = "supercollider-${version}";
-  version = "3.9.1";
+  version = "3.9.3";
 
 
   src = fetchurl {
     url = "https://github.com/supercollider/supercollider/releases/download/Version-${version}/SuperCollider-${version}-Source-linux.tar.bz2";
-    sha256 = "150fgnjcmb06r3pa3mbsvb4iwnqlimjwdxgbs6p55zz6g8wbln7a";
+    sha256 = "1d8ixfl100jvlialxdizp8wqsl1mp5pi2bam25vp97bhjd59cfdr";
   };
 
   hardeningDisable = [ "stackprotector" ];
diff --git a/pkgs/development/java-modules/jogl/default.nix b/pkgs/development/java-modules/jogl/default.nix
new file mode 100644
index 00000000000..474eaa0e1dc
--- /dev/null
+++ b/pkgs/development/java-modules/jogl/default.nix
@@ -0,0 +1,60 @@
+{ stdenv, fetchgit, makeWrapper, ant, jdk, openjdk8, zulu8, git, xorg, udev }:
+
+let
+  # workaround https://github.com/NixOS/nixpkgs/issues/37364
+  jdk-without-symlinks = if jdk == openjdk8 then zulu8 else jdk;
+in
+{
+  jogl_2_3_2 =
+    let
+      version = "2.3.2";
+
+      gluegen-src = fetchgit {
+        url = git://jogamp.org/srv/scm/gluegen.git;
+        rev = "v${version}";
+        sha256 = "00hybisjwqs88p24dds652bzrwbbmhn2dpx56kp4j6xpadkp33d0";
+        fetchSubmodules = true;
+      };
+    in stdenv.mkDerivation rec {
+      name = "jogl-${version}";
+
+      src = fetchgit {
+        url = http://jogamp.org/srv/scm/jogl.git;
+        rev = "v${version}";
+        sha256 = "0msi2gxiqm2yqwkmxqbh521xdrimw1fly20g890r357rcgj8fsn3";
+        fetchSubmodules = true;
+      };
+
+      buildInputs = [ jdk-without-symlinks ant git udev xorg.libX11 xorg.libXrandr xorg.libXcursor xorg.libXt xorg.libXxf86vm xorg.libXrender ];
+
+      buildPhase = ''
+        cp -r ${gluegen-src} $NIX_BUILD_TOP/gluegen
+        chmod -R +w $NIX_BUILD_TOP/gluegen
+        ( cd ../gluegen/make
+          ant )
+
+        ( cd make
+
+          # force way to do disfunctional "ant -Dsetup.addNativeBroadcom=false" and disable dependency on raspberrypi drivers
+          # if arm/aarch64 support will be added, this block might be commented out on those platforms
+          # on x86 compiling with default "setup.addNativeBroadcom=true" leads to unsatisfied import "vc_dispmanx_resource_delete" in libnewt.so
+          cp build-newt.xml build-newt.xml.old
+          fgrep -v 'if="setup.addNativeBroadcom"' build-newt.xml.old > build-newt.xml
+
+          ant )
+      '';
+
+      installPhase = ''
+        mkdir -p $out/share/java
+        cp $NIX_BUILD_TOP/gluegen/build/gluegen-rt{,-natives-linux-amd64}.jar $out/share/java/
+        cp $NIX_BUILD_TOP/jogl/build/jar/jogl-all{,-natives-linux-amd64}.jar  $out/share/java/
+      '';
+
+      meta = with stdenv.lib; {
+        description = "Java libraries for 3D Graphics, Multimedia and Processing";
+        homepage = http://jogamp.org/;
+        license = licenses.bsd3;
+        platforms = [ "x86_64-linux" ];
+      };
+    };
+}
diff --git a/pkgs/development/java-modules/junit/default.nix b/pkgs/development/java-modules/junit/default.nix
index 5017cb39602..a7bfa545908 100644
--- a/pkgs/development/java-modules/junit/default.nix
+++ b/pkgs/development/java-modules/junit/default.nix
@@ -19,7 +19,7 @@ in rec {
     m2Path = "/junit/junit/${version}";
 
     meta = {
-      homepage = http://junit.org/junit4/;
+      homepage = https://junit.org/junit4/;
       description = "Simple framework to write repeatable tests. It is an instance of the xUnit architecture for unit testing frameworks";
       license = stdenv.lib.licenses.epl10;
       platforms = stdenv.lib.platforms.all;
diff --git a/pkgs/development/libraries/AntTweakBar/default.nix b/pkgs/development/libraries/AntTweakBar/default.nix
index 108a11ece58..fcb708c829b 100644
--- a/pkgs/development/libraries/AntTweakBar/default.nix
+++ b/pkgs/development/libraries/AntTweakBar/default.nix
@@ -1,9 +1,9 @@
-{ stdenv, fetchurl, unzip, xlibs, libGLU_combined }:
+{ stdenv, fetchurl, unzip, xorg, libGLU_combined }:
 
 stdenv.mkDerivation rec {
   name = "AntTweakBar-1.16";
 
-  buildInputs = [ unzip xlibs.libX11 libGLU_combined ];
+  buildInputs = [ unzip xorg.libX11 libGLU_combined ];
 
   src = fetchurl {
     url = "mirror://sourceforge/project/anttweakbar/AntTweakBar_116.zip";
diff --git a/pkgs/development/libraries/CGAL/default.nix b/pkgs/development/libraries/CGAL/default.nix
index 46cdf3a47c6..23a539491d0 100644
--- a/pkgs/development/libraries/CGAL/default.nix
+++ b/pkgs/development/libraries/CGAL/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchFromGitHub, cmake, boost, gmp, mpfr }:
 
 stdenv.mkDerivation rec {
-  version = "4.11";
+  version = "4.12";
   name = "cgal-" + version;
 
   src = fetchFromGitHub {
     owner = "CGAL";
     repo = "releases";
     rev = "CGAL-${version}";
-    sha256 = "126r06aba5h8l73xmm5mwmxkir7sy122jn2j18cd4gz3z9p23npr";
+    sha256 = "0n4yvg2rkrlb1bwhykrg4iyqg4whxadcs441k10xx0r75i6220mn";
   };
 
   # note: optional component libCGAL_ImageIO would need zlib and opengl;
diff --git a/pkgs/development/libraries/LASzip/default.nix b/pkgs/development/libraries/LASzip/default.nix
index df9d126ad71..4a166242eb3 100644
--- a/pkgs/development/libraries/LASzip/default.nix
+++ b/pkgs/development/libraries/LASzip/default.nix
@@ -13,9 +13,9 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "Turn quickly bulky LAS files into compact LAZ files without information loss";
-    homepage = http://www.laszip.org;
+    homepage = https://www.laszip.org;
     license = stdenv.lib.licenses.lgpl2;
     maintainers = [ stdenv.lib.maintainers.michelk ];
-    platforms = stdenv.lib.platforms.linux;
+    platforms = stdenv.lib.platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/SDL/default.nix b/pkgs/development/libraries/SDL/default.nix
index a752fbcbcdd..7e96cf84686 100644
--- a/pkgs/development/libraries/SDL/default.nix
+++ b/pkgs/development/libraries/SDL/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, fetchpatch, pkgconfig, audiofile, libcap, libiconv
+{ stdenv, lib, fetchurl, fetchpatch, pkgconfig, audiofile, libcap, libiconv
 , openglSupport ? false, libGL, libGLU
 , alsaSupport ? true, alsaLib
 , x11Support ? hostPlatform == buildPlatform, libXext, libICE, libXrandr
@@ -7,13 +7,14 @@
 , hostPlatform, buildPlatform
 }:
 
-# OSS is no longer supported, for it's much crappier than ALSA and
-# PulseAudio.
-assert hostPlatform.isLinux -> alsaSupport || pulseaudioSupport;
+# NOTE: When editing this expression see if the same change applies to
+# SDL2 expression too
+
+with lib;
+
+assert !stdenv.isDarwin -> alsaSupport || pulseaudioSupport;
+assert openglSupport -> (stdenv.isDarwin || x11Support && libGL != null && libGLU != null);
 
-let
-  inherit (stdenv.lib) optional optionals;
-in
 stdenv.mkDerivation rec {
   name    = "SDL-${version}";
   version = "1.2.15";
@@ -23,41 +24,43 @@ stdenv.mkDerivation rec {
     sha256 = "005d993xcac8236fpvd1iawkz4wqjybkpn8dbwaliqz5jfkidlyn";
   };
 
+  # make: *** No rule to make target 'build/*.lo', needed by 'build/libSDL.la'.  Stop.
+  postPatch = "patchShebangs ./configure";
+
   outputs = [ "out" "dev" ];
   outputBin = "dev"; # sdl-config
 
   nativeBuildInputs = [ pkgconfig ];
 
-  # Since `libpulse*.la' contain `-lgdbm', PulseAudio must be propagated.
-  propagatedBuildInputs =
-    optionals x11Support [ libXext libICE libXrandr ] ++
-    optional alsaSupport alsaLib ++
-    optional stdenv.isLinux libcap ++
-    optionals openglSupport [ libGL libGLU ] ++
-    optional pulseaudioSupport libpulseaudio ++
-    optional stdenv.isDarwin Cocoa;
-
-  buildInputs = let
-    notMingw = !hostPlatform.isMinGW;
-  in optional notMingw audiofile
-  ++ optionals stdenv.isDarwin [ OpenGL CoreAudio CoreServices AudioUnit Kernel ]
-  ++ [ libiconv ];
-
-  # XXX: By default, SDL wants to dlopen() PulseAudio, in which case
-  # we must arrange to add it to its RPATH; however, `patchelf' seems
-  # to fail at doing this, hence `--disable-pulseaudio-shared'.
+  propagatedBuildInputs = [ ]
+    ++ optionals x11Support [ libXext libICE libXrandr ]
+    ++ optional stdenv.isLinux libcap
+    ++ optionals openglSupport [ libGL libGLU ]
+    ++ optional alsaSupport alsaLib
+    ++ optional pulseaudioSupport libpulseaudio
+    ++ optional stdenv.isDarwin Cocoa;
+
+  buildInputs = [ libiconv ]
+    ++ optional (!hostPlatform.isMinGW) audiofile
+    ++ optionals stdenv.isDarwin [ AudioUnit CoreAudio CoreServices Kernel OpenGL ];
+
   configureFlags = [
     "--disable-oss"
     "--disable-video-x11-xme"
-    "--disable-x11-shared"
-    "--disable-alsa-shared"
     "--enable-rpath"
-    "--disable-pulseaudio-shared"
-    "--disable-osmesa-shared"
-  ] ++ optional (!x11Support) "--without-x"
-    ++ optional (alsaSupport && hostPlatform != buildPlatform) "--with-alsa-prefix=${alsaLib.out}/lib";
+  # Building without this fails on Darwin with
+  #
+  #   ./src/video/x11/SDL_x11sym.h:168:17: error: conflicting types for '_XData32'
+  #   SDL_X11_SYM(int,_XData32,(Display *dpy,register long *data,unsigned len),(dpy,data,len),return)
+  #
+  # Please try revert the change that introduced this comment when updating SDL.
+  ] ++ optional stdenv.isDarwin "--disable-x11-shared"
+    ++ optional (!x11Support) "--without-x"
+    ++ optional alsaSupport "--with-alsa-prefix=${alsaLib.out}/lib";
 
   patches = [
+    ./find-headers.patch
+
     # Fix window resizing issues, e.g. for xmonad
     # Ticket: http://bugzilla.libsdl.org/show_bug.cgi?id=1430
     (fetchpatch {
@@ -75,6 +78,11 @@ stdenv.mkDerivation rec {
       url = "http://hg.libsdl.org/SDL/raw-rev/95abff7adcc2";
       sha256 = "0i8x0kx0pw12ld5bfxhyzs466y3c0n9dscw1ijhq1b96r72xyhqq";
     })
+    # https://bugzilla.libsdl.org/show_bug.cgi?id=1769
+    (fetchpatch {
+      url = "http://hg.libsdl.org/SDL/raw-rev/91ad7b43317a";
+      sha256 = "15g537vbl2my4mfrjxfkcx9ri6bk2gjvaqj650rjdxwk2nkdkn4b";
+    })
     # Workaround X11 bug to allow changing gamma
     # Ticket: https://bugs.freedesktop.org/show_bug.cgi?id=27222
     (fetchpatch {
@@ -92,10 +100,20 @@ stdenv.mkDerivation rec {
       url = "http://hg.libsdl.org/SDL/raw-rev/bbfb41c13a87";
       sha256 = "1336g7waaf1c8yhkz11xbs500h8bmvabh4h437ax8l1xdwcppfxv";
     })
-    ./find-headers.patch
   ];
 
-  postFixup = ''moveToOutput share/aclocal "$dev" '';
+  postInstall = ''
+    moveToOutput share/aclocal "$dev"
+  '';
+
+  # See the same place in the expression for SDL2
+  postFixup = ''
+    for lib in $out/lib/*.so* ; do
+      if [[ -L "$lib" ]]; then
+        patchelf --set-rpath "$(patchelf --print-rpath $lib):${lib.makeLibraryPath propagatedBuildInputs}" "$lib"
+      fi
+    done
+  '';
 
   setupHook = ./setup-hook.sh;
 
diff --git a/pkgs/development/libraries/SDL2/default.nix b/pkgs/development/libraries/SDL2/default.nix
index f87e1d5067d..d852b594f6d 100644
--- a/pkgs/development/libraries/SDL2/default.nix
+++ b/pkgs/development/libraries/SDL2/default.nix
@@ -11,63 +11,51 @@
 , libiconv
 }:
 
-# OSS is no longer supported, for it's much crappier than ALSA and
-# PulseAudio.
-assert !stdenv.isDarwin -> alsaSupport || pulseaudioSupport;
+# NOTE: When editing this expression see if the same change applies to
+# SDL expression too
+
+with lib;
 
-assert openglSupport -> (stdenv.isDarwin || libGL != null && x11Support);
+assert !stdenv.isDarwin -> alsaSupport || pulseaudioSupport;
+assert openglSupport -> (stdenv.isDarwin || x11Support && libGL != null);
 
-let
-  configureFlagsFun = attrs: [
-      "--disable-oss" "--disable-x11-shared" "--disable-wayland-shared"
-      "--disable-pulseaudio-shared" "--disable-alsa-shared"
-    ] ++ lib.optional alsaSupport "--with-alsa-prefix=${attrs.alsaLib.out}/lib"
-      ++ lib.optional (!x11Support) "--without-x";
-in
 stdenv.mkDerivation rec {
   name = "SDL2-${version}";
-  version = "2.0.7";
+  version = "2.0.8";
 
   src = fetchurl {
     url = "http://www.libsdl.org/release/${name}.tar.gz";
-    sha256 = "0pjdpxla5kh1w1b0shxrx97a116vyy31njxi0jhyvqhk8d6cfdgf";
+    sha256 = "1v4js1gkr75hzbxzhwzzif0sf9g07234sd23x1vdaqc661bprizd";
   };
 
   outputs = [ "out" "dev" ];
+  outputBin = "dev"; # sdl-config
 
   patches = [ ./find-headers.patch ];
 
   nativeBuildInputs = [ pkgconfig ];
 
-  # Since `libpulse*.la' contain `-lgdbm', PulseAudio must be propagated.
-  propagatedBuildInputs = lib.optionals x11Support [ libICE libXi libXScrnSaver libXcursor libXinerama libXext libXrandr libXxf86vm ] ++
-    lib.optionals waylandSupport [ wayland wayland-protocols libxkbcommon ] ++
-    lib.optional pulseaudioSupport libpulseaudio
-    ++ [ libiconv ];
-
-  buildInputs = [ audiofile ] ++
-    lib.optional openglSupport libGL ++
-    lib.optional alsaSupport alsaLib ++
-    lib.optional dbusSupport dbus ++
-    lib.optional udevSupport udev ++
-    lib.optional ibusSupport ibus ++
-    lib.optionals stdenv.isDarwin [ AudioUnit Cocoa CoreAudio CoreServices ForceFeedback OpenGL ];
+  propagatedBuildInputs = [ libiconv ]
+    ++ optional  dbusSupport dbus
+    ++ optional  udevSupport udev
+    ++ optionals x11Support [ libICE libXi libXScrnSaver libXcursor libXinerama libXext libXrandr libXxf86vm ]
+    ++ optionals waylandSupport [ wayland wayland-protocols libxkbcommon ]
+    ++ optional  alsaSupport alsaLib
+    ++ optional  pulseaudioSupport libpulseaudio;
 
-  # https://bugzilla.libsdl.org/show_bug.cgi?id=1431
-  dontDisableStatic = true;
+  buildInputs = [ audiofile ]
+    ++ optional  openglSupport libGL
+    ++ optional  ibusSupport ibus
+    ++ optionals stdenv.isDarwin [ AudioUnit Cocoa CoreAudio CoreServices ForceFeedback OpenGL ];
 
   # /build/SDL2-2.0.7/src/video/wayland/SDL_waylandevents.c:41:10: fatal error:
   #   pointer-constraints-unstable-v1-client-protocol.h: No such file or directory
   enableParallelBuilding = false;
 
-  # XXX: By default, SDL wants to dlopen() PulseAudio, in which case
-  # we must arrange to add it to its RPATH; however, `patchelf' seems
-  # to fail at doing this, hence `--disable-pulseaudio-shared'.
-  configureFlags = configureFlagsFun { inherit alsaLib; };
-
-  crossAttrs = {
-    configureFlags = configureFlagsFun { alsaLib = alsaLib.crossDrv; };
-  };
+  configureFlags = [
+    "--disable-oss"
+  ] ++ optional (!x11Support) "--without-x"
+    ++ optional alsaSupport "--with-alsa-prefix=${alsaLib.out}/lib";
 
   postInstall = ''
     moveToOutput lib/libSDL2main.a "$dev"
@@ -75,6 +63,28 @@ stdenv.mkDerivation rec {
     moveToOutput bin/sdl2-config "$dev"
   '';
 
+  # SDL is weird in that instead of just dynamically linking with
+  # libraries when you `--enable-*` (or when `configure` finds) them
+  # it `dlopen`s them at runtime. In principle, this means it can
+  # ignore any missing optional dependencies like alsa, pulseaudio,
+  # some x11 libs, wayland, etc if they are missing on the system
+  # and/or work with wide array of versions of said libraries. In
+  # nixpkgs, however, we don't need any of that. Moreover, since we
+  # don't have a global ld-cache we have to stuff all the propagated
+  # libraries into rpath by hand or else some applications that use
+  # SDL API that requires said libraries will fail to start.
+  #
+  # You can grep SDL sources with `grep -rE 'SDL_(NAME|.*_SYM)'` to
+  # confirm that they actually use most of the `propagatedBuildInputs`
+  # from above in this way. This is pretty weird.
+  postFixup = ''
+    for lib in $out/lib/*.so* ; do
+      if [[ -L "$lib" ]]; then
+        patchelf --set-rpath "$(patchelf --print-rpath $lib):${lib.makeLibraryPath propagatedBuildInputs}" "$lib"
+      fi
+    done
+  '';
+
   setupHook = ./setup-hook.sh;
 
   passthru = { inherit openglSupport; };
diff --git a/pkgs/development/libraries/SDL2_gfx/default.nix b/pkgs/development/libraries/SDL2_gfx/default.nix
index a630e9cead8..04ec3f9652c 100644
--- a/pkgs/development/libraries/SDL2_gfx/default.nix
+++ b/pkgs/development/libraries/SDL2_gfx/default.nix
@@ -1,12 +1,13 @@
 { stdenv, darwin, fetchurl, SDL2 }:
 
 stdenv.mkDerivation rec {
-  name = "SDL2_gfx-${version}";
-  version = "1.0.1";
+  name = "${pname}-${version}";
+  pname = "SDL2_gfx";
+  version = "1.0.4";
 
   src = fetchurl {
-    url = "mirror://sourceforge/sdl2gfx/${name}.tar.gz";
-    sha256 = "16jrijzdp095qf416zvj9gs2fqqn6zkyvlxs5xqybd0ip37cp6yn";
+    url = "http://www.ferzkopp.net/Software/${pname}/${name}.tar.gz";
+    sha256 = "0qk2ax7f7grlxb13ba0ll3zlm8780s7j8fmrhlpxzjgdvldf1q33";
   };
 
   buildInputs = [ SDL2 ]
@@ -35,10 +36,9 @@ stdenv.mkDerivation rec {
       code. Its is written in plain C and can be used in C++ code.
     '';
 
-    homepage = https://sourceforge.net/projects/sdlgfx/;
+    homepage = http://www.ferzkopp.net/wordpress/2016/01/02/sdl_gfx-sdl2_gfx/;
     license = licenses.zlib;
-
-    maintainers = with maintainers; [ bjg ];
+    maintainers = with maintainers; [ cpages ];
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/SDL2_image/default.nix b/pkgs/development/libraries/SDL2_image/default.nix
index 91b4a563da0..b0f2d0e8b8d 100644
--- a/pkgs/development/libraries/SDL2_image/default.nix
+++ b/pkgs/development/libraries/SDL2_image/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "SDL2_image-${version}";
-  version = "2.0.2";
+  version = "2.0.3";
 
   src = fetchurl {
     url = "http://www.libsdl.org/projects/SDL_image/release/${name}.tar.gz";
-    sha256 = "1s3ciydixrgv34vlf45ak5syq5nlfaqf19wf162lbz4ixxd0gpvj";
+    sha256 = "0s13dmakn21q6yw8avl67d4zkxzl1wap6l5nwf6cvzrmlxfw441m";
   };
 
   buildInputs = [ SDL2 libpng libjpeg libtiff libungif libXpm zlib ]
@@ -19,5 +19,6 @@ stdenv.mkDerivation rec {
     homepage = http://www.libsdl.org/projects/SDL_image/;
     platforms = platforms.unix;
     license = licenses.zlib;
+    maintainers = with maintainers; [ cpages ];
   };
 }
diff --git a/pkgs/development/libraries/SDL_gfx/default.nix b/pkgs/development/libraries/SDL_gfx/default.nix
index 1d7d96f7536..83a2ffc077c 100644
--- a/pkgs/development/libraries/SDL_gfx/default.nix
+++ b/pkgs/development/libraries/SDL_gfx/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "SDL_gfx-${version}";
-  version = "2.0.25";
+  version = "2.0.26";
 
   src = fetchurl {
     url = "http://www.ferzkopp.net/Software/SDL_gfx-2.0/${name}.tar.gz";
-    sha256 = "1h2rj34dxi5xlwpvm293v2d91gsirhnpzlmnjns9xwkcdg0fsvjm";
+    sha256 = "0ijljhs0v99dj6y27hc10z6qchyp8gdp4199y6jzngy6dzxlzsvw";
   };
 
   buildInputs = [ SDL ] ;
diff --git a/pkgs/development/libraries/Xaw3d/default.nix b/pkgs/development/libraries/Xaw3d/default.nix
index 07d256f4f57..f28ab55010b 100644
--- a/pkgs/development/libraries/Xaw3d/default.nix
+++ b/pkgs/development/libraries/Xaw3d/default.nix
@@ -3,9 +3,7 @@
 stdenv.mkDerivation {
   name = "Xaw3d-1.6.2";
   src = fetchurl {
-    urls = [ 
-      ftp://ftp.x.org/pub/xorg/individual/lib/libXaw3d-1.6.2.tar.bz2
-      ];
+    url = https://www.x.org/releases/individual/lib/libXaw3d-1.6.2.tar.bz2;
     sha256 = "0awplv1nf53ywv01yxphga3v6dcniwqnxgnb0cn4khb121l12kxp";
   };
   nativeBuildInputs = [ pkgconfig ];
@@ -14,6 +12,6 @@ stdenv.mkDerivation {
 
   meta = {
     description = "3D widget set based on the Athena Widget set";
-    platforms = stdenv.lib.platforms.linux;
+    platforms = stdenv.lib.platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/a52dec/A00-a52-state-t-public.patch b/pkgs/development/libraries/a52dec/A00-a52-state-t-public.patch
deleted file mode 100644
index 5e0af3577d6..00000000000
--- a/pkgs/development/libraries/a52dec/A00-a52-state-t-public.patch
+++ /dev/null
@@ -1,152 +0,0 @@
-diff -Naur a52dec.old/include/a52.h a52dec.new/include/a52.h
---- a52dec.old/include/a52.h	2002-01-28 06:37:54.000000000 +0100
-+++ a52dec.new/include/a52.h	2012-07-16 14:13:35.000000000 +0200
-@@ -30,7 +30,71 @@
- typedef double sample_t;
- #endif
- 
--typedef struct a52_state_s a52_state_t;
-+typedef struct {
-+    uint8_t bai;              /* fine SNR offset, fast gain */
-+    uint8_t deltbae;          /* delta bit allocation exists */
-+    int8_t deltba[50];        /* per-band delta bit allocation */
-+} ba_t;
-+
-+typedef struct {
-+    uint8_t exp[256];         /* decoded channel exponents */
-+    int8_t bap[256];          /* derived channel bit allocation */
-+} expbap_t;
-+
-+typedef struct {
-+    uint8_t fscod;            /* sample rate */
-+    uint8_t halfrate;         /* halfrate factor */
-+    uint8_t acmod;            /* coded channels */
-+    uint8_t lfeon;            /* coded lfe channel */
-+    sample_t clev;            /* centre channel mix level */
-+    sample_t slev;            /* surround channels mix level */
-+
-+    int output;               /* type of output */
-+    sample_t level;           /* output level */
-+    sample_t bias;            /* output bias */
-+
-+    int dynrnge;              /* apply dynamic range */
-+    sample_t dynrng;          /* dynamic range */
-+    void * dynrngdata;        /* dynamic range callback funtion and data */
-+    sample_t (* dynrngcall) (sample_t range, void * dynrngdata);
-+
-+    uint8_t chincpl;          /* channel coupled */
-+    uint8_t phsflginu;        /* phase flags in use (stereo only) */
-+    uint8_t cplstrtmant;      /* coupling channel start mantissa */
-+    uint8_t cplendmant;       /* coupling channel end mantissa */
-+    uint32_t cplbndstrc;      /* coupling band structure */
-+    sample_t cplco[5][18];    /* coupling coordinates */
-+
-+    /* derived information */
-+    uint8_t cplstrtbnd;       /* coupling start band (for bit allocation) */
-+    uint8_t ncplbnd;          /* number of coupling bands */
-+
-+    uint8_t rematflg;         /* stereo rematrixing */
-+
-+    uint8_t endmant[5];       /* channel end mantissa */
-+
-+    uint16_t bai;             /* bit allocation information */
-+
-+    uint32_t * buffer_start;
-+    uint16_t lfsr_state;      /* dither state */
-+    uint32_t bits_left;
-+    uint32_t current_word;
-+
-+    uint8_t csnroffst;        /* coarse SNR offset */
-+    ba_t cplba;               /* coupling bit allocation parameters */
-+    ba_t ba[5];               /* channel bit allocation parameters */
-+    ba_t lfeba;               /* lfe bit allocation parameters */
-+
-+    uint8_t cplfleak;         /* coupling fast leak init */
-+    uint8_t cplsleak;         /* coupling slow leak init */
-+
-+    expbap_t cpl_expbap;
-+    expbap_t fbw_expbap[5];
-+    expbap_t lfe_expbap;
-+
-+    sample_t * samples;
-+    int downmixed;
-+} a52_state_t;
- 
- #define A52_CHANNEL 0
- #define A52_MONO 1
-diff -Naur a52dec.old/liba52/a52_internal.h a52dec.new/liba52/a52_internal.h
---- a52dec.old/liba52/a52_internal.h	2002-07-28 03:52:06.000000000 +0200
-+++ a52dec.new/liba52/a52_internal.h	2012-07-16 14:11:47.000000000 +0200
-@@ -21,72 +21,6 @@
-  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-  */
- 
--typedef struct {
--    uint8_t bai;		/* fine SNR offset, fast gain */
--    uint8_t deltbae;		/* delta bit allocation exists */
--    int8_t deltba[50];		/* per-band delta bit allocation */
--} ba_t;
--
--typedef struct {
--    uint8_t exp[256];		/* decoded channel exponents */
--    int8_t bap[256];		/* derived channel bit allocation */
--} expbap_t;
--
--struct a52_state_s {
--    uint8_t fscod;		/* sample rate */
--    uint8_t halfrate;		/* halfrate factor */
--    uint8_t acmod;		/* coded channels */
--    uint8_t lfeon;		/* coded lfe channel */
--    sample_t clev;		/* centre channel mix level */
--    sample_t slev;		/* surround channels mix level */
--
--    int output;			/* type of output */
--    sample_t level;		/* output level */
--    sample_t bias;		/* output bias */
--
--    int dynrnge;		/* apply dynamic range */
--    sample_t dynrng;		/* dynamic range */
--    void * dynrngdata;		/* dynamic range callback funtion and data */
--    sample_t (* dynrngcall) (sample_t range, void * dynrngdata);
--
--    uint8_t chincpl;		/* channel coupled */
--    uint8_t phsflginu;		/* phase flags in use (stereo only) */
--    uint8_t cplstrtmant;	/* coupling channel start mantissa */
--    uint8_t cplendmant;		/* coupling channel end mantissa */
--    uint32_t cplbndstrc;	/* coupling band structure */
--    sample_t cplco[5][18];	/* coupling coordinates */
--
--    /* derived information */
--    uint8_t cplstrtbnd;		/* coupling start band (for bit allocation) */
--    uint8_t ncplbnd;		/* number of coupling bands */
--
--    uint8_t rematflg;		/* stereo rematrixing */
--
--    uint8_t endmant[5];		/* channel end mantissa */
--
--    uint16_t bai;		/* bit allocation information */
--
--    uint32_t * buffer_start;
--    uint16_t lfsr_state;	/* dither state */
--    uint32_t bits_left;
--    uint32_t current_word;
--
--    uint8_t csnroffst;		/* coarse SNR offset */
--    ba_t cplba;			/* coupling bit allocation parameters */
--    ba_t ba[5];			/* channel bit allocation parameters */
--    ba_t lfeba;			/* lfe bit allocation parameters */
--
--    uint8_t cplfleak;		/* coupling fast leak init */
--    uint8_t cplsleak;		/* coupling slow leak init */
--
--    expbap_t cpl_expbap;
--    expbap_t fbw_expbap[5];
--    expbap_t lfe_expbap;
--
--    sample_t * samples;
--    int downmixed;
--};
--
- #define LEVEL_PLUS6DB 2.0
- #define LEVEL_PLUS3DB 1.4142135623730951
- #define LEVEL_3DB 0.7071067811865476
diff --git a/pkgs/development/libraries/a52dec/A01-thread-safe.patch b/pkgs/development/libraries/a52dec/A01-thread-safe.patch
deleted file mode 100644
index 4ca2d1a0873..00000000000
--- a/pkgs/development/libraries/a52dec/A01-thread-safe.patch
+++ /dev/null
@@ -1,462 +0,0 @@
-diff -Naur a52dec.old/include/a52.h a52dec.new/include/a52.h
---- a52dec.old/include/a52.h	2012-07-16 14:24:14.000000000 +0200
-+++ a52dec.new/include/a52.h	2012-07-16 14:31:37.000000000 +0200
-@@ -42,6 +42,11 @@
- } expbap_t;
- 
- typedef struct {
-+    sample_t real;
-+    sample_t imag;
-+} complex_t;
-+
-+typedef struct {
-     uint8_t fscod;            /* sample rate */
-     uint8_t halfrate;         /* halfrate factor */
-     uint8_t acmod;            /* coded channels */
-@@ -94,6 +99,20 @@
- 
-     sample_t * samples;
-     int downmixed;
-+
-+    /* Root values for IFFT */
-+    sample_t * roots16;           // size 3
-+    sample_t * roots32;           // size 7
-+    sample_t * roots64;           // size 15
-+    sample_t * roots128;          // size 31
-+
-+    /* Twiddle factors for IMDCT */
-+    complex_t * pre1;             // size 128
-+    complex_t * post1;            // size 64
-+    complex_t * pre2;             // size 64
-+    complex_t * post2;            // size 32
-+
-+    sample_t * a52_imdct_window;  // size 256
- } a52_state_t;
- 
- #define A52_CHANNEL 0
-diff -Naur a52dec.old/liba52/a52_internal.h a52dec.new/liba52/a52_internal.h
---- a52dec.old/liba52/a52_internal.h	2012-07-16 14:24:14.000000000 +0200
-+++ a52dec.new/liba52/a52_internal.h	2012-07-16 14:28:33.000000000 +0200
-@@ -49,6 +49,6 @@
- 		  sample_t clev, sample_t slev);
- void a52_upmix (sample_t * samples, int acmod, int output);
- 
--void a52_imdct_init (uint32_t mm_accel);
--void a52_imdct_256 (sample_t * data, sample_t * delay, sample_t bias);
--void a52_imdct_512 (sample_t * data, sample_t * delay, sample_t bias);
-+void a52_imdct_init (a52_state_t * state, uint32_t mm_accel);
-+void a52_imdct_256 (a52_state_t * state, sample_t * data, sample_t * delay, sample_t bias);
-+void a52_imdct_512 (a52_state_t * state, sample_t * data, sample_t * delay, sample_t bias);
-diff -Naur a52dec.old/liba52/imdct.c a52dec.new/liba52/imdct.c
---- a52dec.old/liba52/imdct.c	2012-07-16 14:24:14.000000000 +0200
-+++ a52dec.new/liba52/imdct.c	2012-07-16 14:33:00.000000000 +0200
-@@ -40,11 +40,6 @@
- #include "a52_internal.h"
- #include "mm_accel.h"
- 
--typedef struct complex_s {
--    sample_t real;
--    sample_t imag;
--} complex_t;
--
- static uint8_t fftorder[] = {
-       0,128, 64,192, 32,160,224, 96, 16,144, 80,208,240,112, 48,176,
-       8,136, 72,200, 40,168,232,104,248,120, 56,184, 24,152,216, 88,
-@@ -56,22 +51,8 @@
-       6,134, 70,198, 38,166,230,102,246,118, 54,182, 22,150,214, 86
- };
- 
--/* Root values for IFFT */
--static sample_t roots16[3];
--static sample_t roots32[7];
--static sample_t roots64[15];
--static sample_t roots128[31];
--
--/* Twiddle factors for IMDCT */
--static complex_t pre1[128];
--static complex_t post1[64];
--static complex_t pre2[64];
--static complex_t post2[32];
--
--static sample_t a52_imdct_window[256];
--
--static void (* ifft128) (complex_t * buf);
--static void (* ifft64) (complex_t * buf);
-+static void (* ifft128) (a52_state_t * state, complex_t * buf);
-+static void (* ifft64) (a52_state_t * state, complex_t * buf);
- 
- static inline void ifft2 (complex_t * buf)
- {
-@@ -167,7 +148,7 @@
-     a1.imag += tmp4;				\
- } while (0)
- 
--static inline void ifft8 (complex_t * buf)
-+static inline void ifft8 (a52_state_t * state, complex_t * buf)
- {
-     double tmp1, tmp2, tmp3, tmp4, tmp5, tmp6, tmp7, tmp8;
- 
-@@ -175,7 +156,7 @@
-     ifft2 (buf + 4);
-     ifft2 (buf + 6);
-     BUTTERFLY_ZERO (buf[0], buf[2], buf[4], buf[6]);
--    BUTTERFLY_HALF (buf[1], buf[3], buf[5], buf[7], roots16[1]);
-+    BUTTERFLY_HALF (buf[1], buf[3], buf[5], buf[7], state->roots16[1]);
- }
- 
- static void ifft_pass (complex_t * buf, sample_t * weight, int n)
-@@ -205,66 +186,66 @@
-     } while (--i);
- }
- 
--static void ifft16 (complex_t * buf)
-+static void ifft16 (a52_state_t * state, complex_t * buf)
- {
--    ifft8 (buf);
-+    ifft8 (state, buf);
-     ifft4 (buf + 8);
-     ifft4 (buf + 12);
--    ifft_pass (buf, roots16 - 4, 4);
-+    ifft_pass (buf, state->roots16 - 4, 4);
- }
- 
--static void ifft32 (complex_t * buf)
-+static void ifft32 (a52_state_t * state, complex_t * buf)
- {
--    ifft16 (buf);
--    ifft8 (buf + 16);
--    ifft8 (buf + 24);
--    ifft_pass (buf, roots32 - 8, 8);
-+    ifft16 (state, buf);
-+    ifft8 (state, buf + 16);
-+    ifft8 (state, buf + 24);
-+    ifft_pass (buf, state->roots32 - 8, 8);
- }
- 
--static void ifft64_c (complex_t * buf)
-+static void ifft64_c (a52_state_t * state, complex_t * buf)
- {
--    ifft32 (buf);
--    ifft16 (buf + 32);
--    ifft16 (buf + 48);
--    ifft_pass (buf, roots64 - 16, 16);
-+    ifft32 (state, buf);
-+    ifft16 (state, buf + 32);
-+    ifft16 (state, buf + 48);
-+    ifft_pass (buf, state->roots64 - 16, 16);
- }
- 
--static void ifft128_c (complex_t * buf)
-+static void ifft128_c (a52_state_t * state, complex_t * buf)
- {
--    ifft32 (buf);
--    ifft16 (buf + 32);
--    ifft16 (buf + 48);
--    ifft_pass (buf, roots64 - 16, 16);
-+    ifft32 (state, buf);
-+    ifft16 (state, buf + 32);
-+    ifft16 (state, buf + 48);
-+    ifft_pass (buf, state->roots64 - 16, 16);
- 
--    ifft32 (buf + 64);
--    ifft32 (buf + 96);
--    ifft_pass (buf, roots128 - 32, 32);
-+    ifft32 (state, buf + 64);
-+    ifft32 (state, buf + 96);
-+    ifft_pass (buf, state->roots128 - 32, 32);
- }
- 
--void a52_imdct_512 (sample_t * data, sample_t * delay, sample_t bias)
-+void a52_imdct_512 (a52_state_t * state, sample_t * data, sample_t * delay, sample_t bias)
- {
-     int i, k;
-     sample_t t_r, t_i, a_r, a_i, b_r, b_i, w_1, w_2;
--    const sample_t * window = a52_imdct_window;
-+    const sample_t * window = state->a52_imdct_window;
-     complex_t buf[128];
- 	
-     for (i = 0; i < 128; i++) {
- 	k = fftorder[i];
--	t_r = pre1[i].real;
--	t_i = pre1[i].imag;
-+	t_r = state->pre1[i].real;
-+	t_i = state->pre1[i].imag;
- 
- 	buf[i].real = t_i * data[255-k] + t_r * data[k];
- 	buf[i].imag = t_r * data[255-k] - t_i * data[k];
-     }
- 
--    ifft128 (buf);
-+    ifft128 (state, buf);
- 
-     /* Post IFFT complex multiply plus IFFT complex conjugate*/
-     /* Window and convert to real valued signal */
-     for (i = 0; i < 64; i++) {
- 	/* y[n] = z[n] * (xcos1[n] + j * xsin1[n]) ; */
--	t_r = post1[i].real;
--	t_i = post1[i].imag;
-+	t_r = state->post1[i].real;
-+	t_i = state->post1[i].imag;
- 
- 	a_r = t_r * buf[i].real     + t_i * buf[i].imag;
- 	a_i = t_i * buf[i].real     - t_r * buf[i].imag;
-@@ -285,18 +266,18 @@
-     }
- }
- 
--void a52_imdct_256(sample_t * data, sample_t * delay, sample_t bias)
-+void a52_imdct_256(a52_state_t * state, sample_t * data, sample_t * delay, sample_t bias)
- {
-     int i, k;
-     sample_t t_r, t_i, a_r, a_i, b_r, b_i, c_r, c_i, d_r, d_i, w_1, w_2;
--    const sample_t * window = a52_imdct_window;
-+    const sample_t * window = state->a52_imdct_window;
-     complex_t buf1[64], buf2[64];
- 
-     /* Pre IFFT complex multiply plus IFFT cmplx conjugate */
-     for (i = 0; i < 64; i++) {
- 	k = fftorder[i];
--	t_r = pre2[i].real;
--	t_i = pre2[i].imag;
-+	t_r = state->pre2[i].real;
-+	t_i = state->pre2[i].imag;
- 
- 	buf1[i].real = t_i * data[254-k] + t_r * data[k];
- 	buf1[i].imag = t_r * data[254-k] - t_i * data[k];
-@@ -305,15 +286,15 @@
- 	buf2[i].imag = t_r * data[255-k] - t_i * data[k+1];
-     }
- 
--    ifft64 (buf1);
--    ifft64 (buf2);
-+    ifft64 (state, buf1);
-+    ifft64 (state, buf2);
- 
-     /* Post IFFT complex multiply */
-     /* Window and convert to real valued signal */
-     for (i = 0; i < 32; i++) {
- 	/* y1[n] = z1[n] * (xcos2[n] + j * xs in2[n]) ; */ 
--	t_r = post2[i].real;
--	t_i = post2[i].imag;
-+	t_r = state->post2[i].real;
-+	t_i = state->post2[i].imag;
- 
- 	a_r = t_r * buf1[i].real    + t_i * buf1[i].imag;
- 	a_i = t_i * buf1[i].real    - t_r * buf1[i].imag;
-@@ -362,7 +343,7 @@
-     return bessel;
- }
- 
--void a52_imdct_init (uint32_t mm_accel)
-+void a52_imdct_init (a52_state_t * state, uint32_t mm_accel)
- {
-     int i, k;
-     double sum;
-@@ -371,50 +352,50 @@
-     sum = 0;
-     for (i = 0; i < 256; i++) {
- 	sum += besselI0 (i * (256 - i) * (5 * M_PI / 256) * (5 * M_PI / 256));
--	a52_imdct_window[i] = sum;
-+	state->a52_imdct_window[i] = sum;
-     }
-     sum++;
-     for (i = 0; i < 256; i++)
--	a52_imdct_window[i] = sqrt (a52_imdct_window[i] / sum);
-+	state->a52_imdct_window[i] = sqrt (state->a52_imdct_window[i] / sum);
- 
-     for (i = 0; i < 3; i++)
--	roots16[i] = cos ((M_PI / 8) * (i + 1));
-+	state->roots16[i] = cos ((M_PI / 8) * (i + 1));
- 
-     for (i = 0; i < 7; i++)
--	roots32[i] = cos ((M_PI / 16) * (i + 1));
-+	state->roots32[i] = cos ((M_PI / 16) * (i + 1));
- 
-     for (i = 0; i < 15; i++)
--	roots64[i] = cos ((M_PI / 32) * (i + 1));
-+	state->roots64[i] = cos ((M_PI / 32) * (i + 1));
- 
-     for (i = 0; i < 31; i++)
--	roots128[i] = cos ((M_PI / 64) * (i + 1));
-+	state->roots128[i] = cos ((M_PI / 64) * (i + 1));
- 
-     for (i = 0; i < 64; i++) {
- 	k = fftorder[i] / 2 + 64;
--	pre1[i].real = cos ((M_PI / 256) * (k - 0.25));
--	pre1[i].imag = sin ((M_PI / 256) * (k - 0.25));
-+	state->pre1[i].real = cos ((M_PI / 256) * (k - 0.25));
-+	state->pre1[i].imag = sin ((M_PI / 256) * (k - 0.25));
-     }
- 
-     for (i = 64; i < 128; i++) {
- 	k = fftorder[i] / 2 + 64;
--	pre1[i].real = -cos ((M_PI / 256) * (k - 0.25));
--	pre1[i].imag = -sin ((M_PI / 256) * (k - 0.25));
-+	state->pre1[i].real = -cos ((M_PI / 256) * (k - 0.25));
-+	state->pre1[i].imag = -sin ((M_PI / 256) * (k - 0.25));
-     }
- 
-     for (i = 0; i < 64; i++) {
--	post1[i].real = cos ((M_PI / 256) * (i + 0.5));
--	post1[i].imag = sin ((M_PI / 256) * (i + 0.5));
-+	state->post1[i].real = cos ((M_PI / 256) * (i + 0.5));
-+	state->post1[i].imag = sin ((M_PI / 256) * (i + 0.5));
-     }
- 
-     for (i = 0; i < 64; i++) {
- 	k = fftorder[i] / 4;
--	pre2[i].real = cos ((M_PI / 128) * (k - 0.25));
--	pre2[i].imag = sin ((M_PI / 128) * (k - 0.25));
-+	state->pre2[i].real = cos ((M_PI / 128) * (k - 0.25));
-+	state->pre2[i].imag = sin ((M_PI / 128) * (k - 0.25));
-     }
- 
-     for (i = 0; i < 32; i++) {
--	post2[i].real = cos ((M_PI / 128) * (i + 0.5));
--	post2[i].imag = sin ((M_PI / 128) * (i + 0.5));
-+	state->post2[i].real = cos ((M_PI / 128) * (i + 0.5));
-+	state->post2[i].imag = sin ((M_PI / 128) * (i + 0.5));
-     }
- 
- #ifdef LIBA52_DJBFFT
-diff -Naur a52dec.old/liba52/parse.c a52dec.new/liba52/parse.c
---- a52dec.old/liba52/parse.c	2012-07-16 14:24:14.000000000 +0200
-+++ a52dec.new/liba52/parse.c	2012-07-16 14:33:00.000000000 +0200
-@@ -56,16 +56,53 @@
-     a52_state_t * state;
-     int i;
- 
--    state = malloc (sizeof (a52_state_t));
-+    state = calloc (1, sizeof (a52_state_t));
-     if (state == NULL)
- 	return NULL;
- 
-     state->samples = memalign (16, 256 * 12 * sizeof (sample_t));
-     if (state->samples == NULL) {
--	free (state);
--	return NULL;
-+        goto fail;
-     }
- 
-+    /* Root values for IFFT */
-+    state->roots16 = memalign (16, 3 * sizeof (sample_t));
-+    if (state->roots16 == NULL)
-+        goto fail;
-+
-+    state->roots32 = memalign (16, 7 * sizeof (sample_t));
-+    if (state->roots32 == NULL)
-+        goto fail;
-+
-+    state->roots64 = memalign (16, 15 * sizeof (sample_t));
-+    if (state->roots64 == NULL)
-+        goto fail;
-+
-+    state->roots128 = memalign (16, 31 * sizeof (sample_t));
-+    if (state->roots128 == NULL)
-+        goto fail;
-+
-+    /* Twiddle factors for IMDCT */
-+    state->pre1 = memalign (16, 128 * sizeof (complex_t));
-+    if (state->pre1 == NULL)
-+        goto fail;
-+
-+    state->post1 = memalign (16, 64 * sizeof (complex_t));
-+    if (state->post1 == NULL)
-+        goto fail;
-+
-+    state->pre2 = memalign (16, 64 * sizeof (complex_t));
-+    if (state->pre2 == NULL)
-+        goto fail;
-+
-+    state->post2 = memalign (16, 32 * sizeof (complex_t));
-+    if (state->post2 == NULL)
-+        goto fail;
-+
-+    state->a52_imdct_window = memalign (16, 256 * sizeof (sample_t));
-+    if (state->a52_imdct_window == NULL)
-+        goto fail;
-+
-     for (i = 0; i < 256 * 12; i++)
- 	state->samples[i] = 0;
- 
-@@ -73,9 +110,27 @@
- 
-     state->lfsr_state = 1;
- 
--    a52_imdct_init (mm_accel);
-+    a52_imdct_init (state, mm_accel);
- 
-     return state;
-+
-+fail:
-+    if ( state )
-+    {
-+        free (state->a52_imdct_window);
-+        free (state->post2);
-+        free (state->pre2);
-+        free (state->post1);
-+        free (state->pre1);
-+        free (state->roots128);
-+        free (state->roots64);
-+        free (state->roots32);
-+        free (state->roots16);
-+        free (state->samples);
-+        free (state);
-+    }
-+    return NULL;
-+
- }
- 
- sample_t * a52_samples (a52_state_t * state)
-@@ -825,7 +880,7 @@
- 		       state->dynrng, 0, 7);
- 	    for (i = 7; i < 256; i++)
- 		(samples-256)[i] = 0;
--	    a52_imdct_512 (samples - 256, samples + 1536 - 256, state->bias);
-+	    a52_imdct_512 (state, samples - 256, samples + 1536 - 256, state->bias);
- 	} else {
- 	    /* just skip the LFE coefficients */
- 	    coeff_get (state, samples + 1280, &state->lfe_expbap, &quantizer,
-@@ -854,10 +909,10 @@
- 
- 	    if (coeff[i]) {
- 		if (blksw[i])
--		    a52_imdct_256 (samples + 256 * i, samples + 1536 + 256 * i,
-+		    a52_imdct_256 (state, samples + 256 * i, samples + 1536 + 256 * i,
- 				   bias);
- 		else 
--		    a52_imdct_512 (samples + 256 * i, samples + 1536 + 256 * i,
-+		    a52_imdct_512 (state, samples + 256 * i, samples + 1536 + 256 * i,
- 				   bias);
- 	    } else {
- 		int j;
-@@ -883,11 +938,11 @@
- 
- 	if (blksw[0])
- 	    for (i = 0; i < nfchans; i++)
--		a52_imdct_256 (samples + 256 * i, samples + 1536 + 256 * i,
-+		a52_imdct_256 (state, samples + 256 * i, samples + 1536 + 256 * i,
- 			       state->bias);
- 	else 
- 	    for (i = 0; i < nfchans; i++)
--		a52_imdct_512 (samples + 256 * i, samples + 1536 + 256 * i,
-+		a52_imdct_512 (state, samples + 256 * i, samples + 1536 + 256 * i,
- 			       state->bias);
-     }
- 
-@@ -896,6 +951,15 @@
- 
- void a52_free (a52_state_t * state)
- {
-+    free (state->a52_imdct_window);
-+    free (state->post2);
-+    free (state->pre2);
-+    free (state->post1);
-+    free (state->pre1);
-+    free (state->roots128);
-+    free (state->roots64);
-+    free (state->roots32);
-+    free (state->roots16);
-     free (state->samples);
-     free (state);
- }
diff --git a/pkgs/development/libraries/a52dec/A02-imdct-shutup.patch b/pkgs/development/libraries/a52dec/A02-imdct-shutup.patch
deleted file mode 100644
index a22e5979e66..00000000000
--- a/pkgs/development/libraries/a52dec/A02-imdct-shutup.patch
+++ /dev/null
@@ -1,11 +0,0 @@
-diff -Naur a52dec_original/liba52/imdct.c a52dec_patched/liba52/imdct.c
---- a52dec.old/liba52/imdct.c	2002-07-28 03:52:07.000000000 +0200
-+++ a52dec.new/liba52/imdct.c	2011-07-15 20:29:09.000000000 +0200
-@@ -425,7 +425,6 @@
-     } else
- #endif
-     {
--	fprintf (stderr, "No accelerated IMDCT transform found\n");
- 	ifft128 = ifft128_c;
- 	ifft64 = ifft64_c;
-     }
diff --git a/pkgs/development/libraries/a52dec/A03-automake.patch b/pkgs/development/libraries/a52dec/A03-automake.patch
deleted file mode 100644
index 142091dc695..00000000000
--- a/pkgs/development/libraries/a52dec/A03-automake.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -Naur a52dec.orig/configure.in a52dec/configure.in
---- a52dec.orig/configure.in	2002-07-27 23:50:20.000000000 -0400
-+++ a52dec/configure.in	2013-01-28 21:06:27.000000000 -0500
-@@ -6,7 +6,7 @@
- AC_CONFIG_FILES([Makefile autotools/Makefile include/Makefile test/Makefile
-     doc/Makefile src/Makefile liba52/Makefile libao/Makefile vc++/Makefile])
- AM_INIT_AUTOMAKE([a52dec],[0.7.4])
--AM_CONFIG_HEADER(include/config.h)
-+AC_CONFIG_HEADER(include/config.h)
- AM_MAINTAINER_MODE
- AC_CANONICAL_HOST
- 
diff --git a/pkgs/development/libraries/a52dec/default.nix b/pkgs/development/libraries/a52dec/default.nix
index d8a56a3d28e..0bfe3a88e9f 100644
--- a/pkgs/development/libraries/a52dec/default.nix
+++ b/pkgs/development/libraries/a52dec/default.nix
@@ -2,20 +2,12 @@
 
 stdenv.mkDerivation rec {
   name = "a52dec-0.7.4p4";
-  
+
   src = fetchurl {
     url = "${meta.homepage}/files/a52dec-0.7.4.tar.gz";
     sha256 = "0czccp4fcpf2ykp16xcrzdfmnircz1ynhls334q374xknd5747d2";
   };
 
-  # From Handbrake
-  patches = [
-    ./A00-a52-state-t-public.patch
-    ./A01-thread-safe.patch
-    ./A02-imdct-shutup.patch
-    ./A03-automake.patch
-  ];
-
   meta = {
     description = "ATSC A/52 stream decoder";
     homepage = http://liba52.sourceforge.net/;
diff --git a/pkgs/development/libraries/accounts-qt/default.nix b/pkgs/development/libraries/accounts-qt/default.nix
index e7a90e40548..a50c92924e9 100644
--- a/pkgs/development/libraries/accounts-qt/default.nix
+++ b/pkgs/development/libraries/accounts-qt/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "accounts-qt-${version}";
-  version = "1.13";
+  version = "1.15";
 
   src = fetchFromGitLab {
-    sha256 = "1gpkgw05dwsf2wk5cy3skgss3kw6mqh7iv3fadrxqxfc1za1xmyl";
-    rev = version;
+    sha256 = "0cnra7g2mcgzh8ykrj1dpb4khkx676pzdr4ia1bvsp0cli48691w";
+    rev = "VERSION_${version}";
     repo = "libaccounts-qt";
     owner = "accounts-sso";
   };
diff --git a/pkgs/development/libraries/accountsservice/default.nix b/pkgs/development/libraries/accountsservice/default.nix
index d1b3b9b9827..ddff61dbed0 100644
--- a/pkgs/development/libraries/accountsservice/default.nix
+++ b/pkgs/development/libraries/accountsservice/default.nix
@@ -3,11 +3,11 @@
 
 stdenv.mkDerivation rec {
   name = "accountsservice-${version}";
-  version = "0.6.45";
+  version = "0.6.49";
 
   src = fetchurl {
-    url = "http://www.freedesktop.org/software/accountsservice/accountsservice-${version}.tar.xz";
-    sha256 = "09pg25ir7kjigvp2cxd9fkfw8c8ql8vrswfvymg9zmbmma9w43zv";
+    url = "https://www.freedesktop.org/software/accountsservice/accountsservice-${version}.tar.xz";
+    sha256 = "032ndvs18gla49dvc9vg35cwczg0wpv2wscp1m3yjfdqdpams7i5";
   };
 
   nativeBuildInputs = [ pkgconfig makeWrapper ];
@@ -38,7 +38,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "D-Bus interface for user account query and manipulation";
-    homepage = http://www.freedesktop.org/wiki/Software/AccountsService;
+    homepage = https://www.freedesktop.org/wiki/Software/AccountsService;
     license = licenses.gpl3;
     maintainers = with maintainers; [ pSub ];
     platforms = with platforms; linux;
diff --git a/pkgs/development/libraries/ace/default.nix b/pkgs/development/libraries/ace/default.nix
index 230a7e64dff..d61315f7db8 100644
--- a/pkgs/development/libraries/ace/default.nix
+++ b/pkgs/development/libraries/ace/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "ace-${version}";
-  version = "6.4.6";
+  version = "6.4.7";
 
   src = fetchurl {
     url = "http://download.dre.vanderbilt.edu/previous_versions/ACE-${version}.tar.bz2";
-    sha256 = "0xvdwk2505s615fgsy6g33ncxx70vszqspx0bg6lm8hfd3hb4qyj";
+    sha256 = "1zbncdxkkwnx4aphy0apnp7xn4aspxvq2h9bbjh33dpsy0j81afd";
   };
 
   enableParallelBuilding = true;
diff --git a/pkgs/development/libraries/acl/default.nix b/pkgs/development/libraries/acl/default.nix
index 3c6f42e5cbf..f9bb982a784 100644
--- a/pkgs/development/libraries/acl/default.nix
+++ b/pkgs/development/libraries/acl/default.nix
@@ -18,6 +18,8 @@ stdenv.mkDerivation rec {
   patchPhase = ''
     echo "Removing C++-style comments from include/acl.h"
     sed -e '/^\/\//d' -i include/acl.h
+
+    patchShebangs .
   '';
 
   configureFlags = [ "MAKE=make" "MSGFMT=msgfmt" "MSGMERGE=msgmerge" "XGETTEXT=xgettext" "ZIP=gzip" "ECHO=echo" "SED=sed" "AWK=gawk" ];
diff --git a/pkgs/development/libraries/agda/agda-stdlib/default.nix b/pkgs/development/libraries/agda/agda-stdlib/default.nix
index 815e0f20b54..c72572139c6 100644
--- a/pkgs/development/libraries/agda/agda-stdlib/default.nix
+++ b/pkgs/development/libraries/agda/agda-stdlib/default.nix
@@ -1,14 +1,14 @@
 { stdenv, agda, fetchFromGitHub, ghcWithPackages }:
 
 agda.mkDerivation (self: rec {
-  version = "0.14";
+  version = "0.15";
   name = "agda-stdlib-${version}";
 
   src = fetchFromGitHub {
     repo = "agda-stdlib";
     owner = "agda";
     rev = "v${version}";
-    sha256 = "0qx72w6lwskp18q608f95j5dcxb9xr4q4mzdkxp01sgib8v2v56l";
+    sha256 = "0c2vfib4fmljy98c3s3s7jmpjlqxvsbv7wf6qxr38kamwzbryrjj";
   };
 
   nativeBuildInputs = [ (ghcWithPackages (self : [ self.filemanip ])) ];
diff --git a/pkgs/development/libraries/agda/pretty/default.nix b/pkgs/development/libraries/agda/pretty/default.nix
index 25e6ff6667f..0e4f1da6e14 100644
--- a/pkgs/development/libraries/agda/pretty/default.nix
+++ b/pkgs/development/libraries/agda/pretty/default.nix
@@ -21,5 +21,6 @@ agda.mkDerivation (self: rec {
     license = stdenv.lib.licenses.mit;
     platforms = stdenv.lib.platforms.unix;
     maintainers = with maintainers; [ fuuzetsu ];
+    broken = true; # 2018-04-11
   };
 })
diff --git a/pkgs/development/libraries/agg/default.nix b/pkgs/development/libraries/agg/default.nix
index c7f5ac86660..ab309858095 100644
--- a/pkgs/development/libraries/agg/default.nix
+++ b/pkgs/development/libraries/agg/default.nix
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
     sh autogen.sh
   '';
 
-  configureFlags = "--x-includes=${libX11.dev}/include --x-libraries=${libX11.out}/lib";
+  configureFlags = "--x-includes=${libX11.dev}/include --x-libraries=${libX11.out}/lib --enable-examples=no";
 
   # libtool --tag=CXX --mode=link g++ -g -O2 libexamples.la ../src/platform/X11/libaggplatformX11.la ../src/libagg.la -o alpha_mask2 alpha_mask2.o
   # libtool: error: cannot find the library 'libexamples.la'
diff --git a/pkgs/development/libraries/alembic/default.nix b/pkgs/development/libraries/alembic/default.nix
index bcf819702da..015c48d0141 100644
--- a/pkgs/development/libraries/alembic/default.nix
+++ b/pkgs/development/libraries/alembic/default.nix
@@ -3,13 +3,13 @@
 stdenv.mkDerivation rec
 {
   name = "alembic-${version}";
-  version = "1.7.5";
+  version = "1.7.8";
 
   src = fetchFromGitHub {
     owner = "alembic";
     repo = "alembic";
     rev = "${version}";
-    sha256 = "1p5zd9kdwnrwg604bq79ianc5bw6mx6i5d7yc4r11xrbphlc9m1g";
+    sha256 = "1xmndhcliz25cgdzb7ybkvb05w4klmngpk76fzghamwyi79zfs2c";
   };
 
   outputs = [ "bin" "dev" "out" "lib" ];
diff --git a/pkgs/development/libraries/alkimia/default.nix b/pkgs/development/libraries/alkimia/default.nix
new file mode 100644
index 00000000000..6f4fd09015e
--- /dev/null
+++ b/pkgs/development/libraries/alkimia/default.nix
@@ -0,0 +1,31 @@
+{ mkDerivation, fetchurl, lib
+, extra-cmake-modules, doxygen, graphviz, qtbase, mpir
+}:
+
+mkDerivation rec {
+  name = "alkimia-${version}";
+  version = "7.0.1";
+
+  src = fetchurl {
+    url = "mirror://kde/stable/alkimia/${version}/src/${name}.tar.xz";
+    sha256 = "1fri76465058fgsyrmdrc3hj1javz4g10mfzqp5rsj7qncjr1i22";
+  };
+
+  nativeBuildInputs = [ extra-cmake-modules doxygen graphviz ];
+
+  buildInputs = [ qtbase ];
+  propagatedBuildInputs = [ mpir ];
+
+  meta = {
+    description = "Library used by KDE finance applications";
+    longDescription = ''
+      Alkimia is the infrastructure for common storage and business
+      logic that will be used by all financial applications in KDE.
+
+      The target is to share financial related information over
+      application bounderies.
+    '';
+    license = lib.licenses.lgpl21Plus;
+    platforms = qtbase.meta.platforms;
+  };
+}
diff --git a/pkgs/development/libraries/allegro/5.nix b/pkgs/development/libraries/allegro/5.nix
index 30e0f9a0983..e20b2700f0e 100644
--- a/pkgs/development/libraries/allegro/5.nix
+++ b/pkgs/development/libraries/allegro/5.nix
@@ -9,13 +9,13 @@
 
 stdenv.mkDerivation rec {
   name = "allegro-${version}";
-  version = "5.2.3.0";
+  version = "5.2.4.0";
 
   src = fetchFromGitHub {
     owner = "liballeg";
     repo = "allegro5";
     rev = version;
-    sha256 = "0bx240x0filalfarylqjgqf3g80c7dhzhy4m162swjlg0vjpgblr";
+    sha256 = "01y3hirn5b08f188nnhb2cbqj4vzysr7l2qpz2208srv8arzmj2d";
   };
 
   buildInputs = [
diff --git a/pkgs/development/libraries/apache-activemq/default.nix b/pkgs/development/libraries/apache-activemq/default.nix
index c71dced918a..fc79cae36f8 100644
--- a/pkgs/development/libraries/apache-activemq/default.nix
+++ b/pkgs/development/libraries/apache-activemq/default.nix
@@ -2,10 +2,10 @@
 
 stdenv.mkDerivation rec {
   name = "apache-activemq-${version}";
-  version = "5.13.4";
+  version = "5.14.5";
 
   src = fetchurl {
-    sha256 = "0sp806bmv9vs19zbzlv71ag09p1jbl2wn2wpxfwa20mndri8lsmz";
+    sha256 = "0vm8z7rxb9n10xg5xjahy357704fw3q477hmpb83kd1zrc633g54";
     url = "mirror://apache/activemq/${version}/${name}-bin.tar.gz";
   };
 
diff --git a/pkgs/development/libraries/appstream-glib/default.nix b/pkgs/development/libraries/appstream-glib/default.nix
index 1ccfa85591f..b09f5f67f56 100644
--- a/pkgs/development/libraries/appstream-glib/default.nix
+++ b/pkgs/development/libraries/appstream-glib/default.nix
@@ -4,16 +4,16 @@
 , libuuid, json-glib, meson, gperf, ninja
 }:
 stdenv.mkDerivation rec {
-  name = "appstream-glib-0.7.6";
+  name = "appstream-glib-0.7.8";
 
-  outputs = [ "out" "dev" "man" ];
+  outputs = [ "out" "dev" "man" "installedTests" ];
   outputBin = "dev";
 
   src = fetchFromGitHub {
     owner = "hughsie";
     repo = "appstream-glib";
     rev = stdenv.lib.replaceStrings ["." "-"] ["_" "_"] name;
-    sha256 = "1nzm6w9n7fb2m06w88gwszaqf74bnip87ay0ca59wajq6y4mpfgv";
+    sha256 = "10hcl3sl3g8ajg9mssq3g4dbzz0d4b2ybimrcq71cpycqrqhilhx";
   };
 
   nativeBuildInputs = [
@@ -39,6 +39,12 @@ stdenv.mkDerivation rec {
     "-Ddep11=false"
   ];
 
+  doCheck = false; # fails at least 1 test
+
+  postInstall = ''
+    moveToOutput "share/installed-tests" "$installedTests"
+  '';
+
   meta = with stdenv.lib; {
     description = "Objects and helper methods to read and write AppStream metadata";
     homepage = https://people.freedesktop.org/~hughsient/appstream-glib/;
diff --git a/pkgs/development/libraries/aqbanking/default.nix b/pkgs/development/libraries/aqbanking/default.nix
index ad930a705c5..b26291469e7 100644
--- a/pkgs/development/libraries/aqbanking/default.nix
+++ b/pkgs/development/libraries/aqbanking/default.nix
@@ -2,13 +2,14 @@
 , pkgconfig, gettext, xmlsec, zlib
 }:
 
-stdenv.mkDerivation rec {
+let
+  inherit ((import ./sources.nix).aqbanking) sha256 releaseId version;
+in stdenv.mkDerivation rec {
   name = "aqbanking-${version}";
-  version = "5.6.10";
+  inherit version;
 
   src = let
-    inherit ((import ./sources.nix).aqbanking) sha256 releaseId;
-    qstring = "package=03&release=${releaseId}&file=01";
+    qstring = "package=03&release=${releaseId}&file=02";
     mkURLs = map (base: "${base}/sites/download/download.php?${qstring}");
   in fetchurl {
     name = "${name}.tar.gz";
diff --git a/pkgs/development/libraries/aqbanking/gwenhywfar.nix b/pkgs/development/libraries/aqbanking/gwenhywfar.nix
index 28039cc0168..bb337e471cf 100644
--- a/pkgs/development/libraries/aqbanking/gwenhywfar.nix
+++ b/pkgs/development/libraries/aqbanking/gwenhywfar.nix
@@ -1,4 +1,8 @@
-{ stdenv, fetchurl, gnutls, gtk2, libgcrypt, pkgconfig, gettext, qt4
+{ stdenv, fetchurl, gnutls, openssl, libgcrypt, libgpgerror, pkgconfig, gettext
+, which
+
+# GUI support
+, gtk2, gtk3, qt5
 
 , pluginSearchPaths ? [
     "/run/current-system/sw/lib/gwenhywfar/plugins"
@@ -6,13 +10,14 @@
   ]
 }:
 
-stdenv.mkDerivation rec {
+let
+  inherit ((import ./sources.nix).gwenhywfar) sha256 releaseId version;
+in stdenv.mkDerivation rec {
   name = "gwenhywfar-${version}";
-  version = "4.15.3";
+  inherit version;
 
   src = let
-    inherit ((import ./sources.nix).gwenhywfar) sha256 releaseId;
-    qstring = "package=01&release=${releaseId}&file=01";
+    qstring = "package=01&release=${releaseId}&file=02";
     mkURLs = map (base: "${base}/sites/download/download.php?${qstring}");
   in fetchurl {
     name = "${name}.tar.gz";
@@ -20,6 +25,15 @@ stdenv.mkDerivation rec {
     inherit sha256;
   };
 
+  configureFlags = [
+    "--with-openssl-includes=${openssl.dev}/include"
+    "--with-openssl-libs=${openssl.out}/lib"
+  ];
+
+  preConfigure = ''
+    configureFlagsArray+=("--with-guis=gtk2 gtk3 qt5")
+  '';
+
   postPatch = let
     isRelative = path: builtins.substring 0 1 path != "/";
     mkSearchPath = path: ''
@@ -43,11 +57,9 @@ stdenv.mkDerivation rec {
       configure
   '';
 
-  nativeBuildInputs = [ pkgconfig gettext ];
-
-  buildInputs = [ gtk2 qt4 gnutls libgcrypt ];
+  nativeBuildInputs = [ pkgconfig gettext which ];
 
-  QTDIR = qt4;
+  buildInputs = [ gtk2 gtk3 qt5.qtbase gnutls openssl libgcrypt libgpgerror ];
 
   meta = with stdenv.lib; {
     description = "OS abstraction functions used by aqbanking and related tools";
diff --git a/pkgs/development/libraries/aqbanking/libchipcard.nix b/pkgs/development/libraries/aqbanking/libchipcard.nix
index 1ac00c3fe88..9a0b70e0d97 100644
--- a/pkgs/development/libraries/aqbanking/libchipcard.nix
+++ b/pkgs/development/libraries/aqbanking/libchipcard.nix
@@ -1,11 +1,12 @@
 { stdenv, fetchurl, pkgconfig, gwenhywfar, pcsclite, zlib }:
 
-stdenv.mkDerivation rec {
+let
+  inherit ((import ./sources.nix).libchipcard) sha256 releaseId version;
+in stdenv.mkDerivation rec {
   name = "libchipcard-${version}";
-  version = "5.0.4";
+  inherit version;
 
   src = let
-    inherit ((import ./sources.nix).libchipcard) sha256 releaseId;
     qstring = "package=02&release=${releaseId}&file=01";
     mkURLs = map (base: "${base}/sites/download/download.php?${qstring}");
   in fetchurl {
diff --git a/pkgs/development/libraries/aqbanking/sources.nix b/pkgs/development/libraries/aqbanking/sources.nix
index 1638c72e95f..884543d282a 100644
--- a/pkgs/development/libraries/aqbanking/sources.nix
+++ b/pkgs/development/libraries/aqbanking/sources.nix
@@ -1,12 +1,12 @@
 # This file is autogenerated from update.sh in the same directory.
 {
-  gwenhywfar.version = "4.17.0";
-  gwenhywfar.sha256 = "1z9bm2r407x8vxk2nk6pndx0zhlk32j65z472ljkgjbh56mgzz8i";
-  gwenhywfar.releaseId = "205";
+  gwenhywfar.version = "4.20.0";
+  gwenhywfar.sha256 = "1c0g3f8jk6j693774ifslx2ds4ksabgbbalhhm9gk20kpamxm22s";
+  gwenhywfar.releaseId = "208";
   libchipcard.version = "5.0.4";
   libchipcard.sha256 = "0fj2h39ll4kiv28ch8qgzdbdbnzs8gl812qnm660bw89rynpjnnj";
   libchipcard.releaseId = "200";
-  aqbanking.version = "5.6.12";
-  aqbanking.sha256 = "08jbwmiv6f3v8iqdr44x4szna496fqcjfi6mlx04cnbx91m70lh6";
-  aqbanking.releaseId = "208";
+  aqbanking.version = "5.7.8";
+  aqbanking.sha256 = "0s67mysskbiw1h1p0np4ph4351r7wq3nc873vylam7lsqi66xy0n";
+  aqbanking.releaseId = "217";
 }
diff --git a/pkgs/development/libraries/arb/default.nix b/pkgs/development/libraries/arb/default.nix
index c4b37ddb78f..a59641e99d3 100644
--- a/pkgs/development/libraries/arb/default.nix
+++ b/pkgs/development/libraries/arb/default.nix
@@ -2,15 +2,21 @@
 stdenv.mkDerivation rec {
   name = "${pname}-${version}";
   pname = "arb";
-  version = "2.8.1";
+  version = "2.13.0";
   src = fetchFromGitHub {
     owner = "fredrik-johansson";
     repo = "${pname}";
     rev = "${version}";
-    sha256 = "15phk71ci9rr32aqznpkd2b993wjahsgliilkg4mnxsr86nwdf6x";
+    sha256 = "1fl9gmxf6c1cphk5r8jbys5pywj2rfm705kv0055i0aqc6hrv303";
   };
   buildInputs = [mpir gmp mpfr flint];
-  configureFlags = "--with-gmp=${gmp} --with-mpir=${mpir} --with-mpfr=${mpfr} --with-flint=${flint}";
+  configureFlags = [
+    "--with-gmp=${gmp}"
+    "--with-mpir=${mpir}"
+    "--with-mpfr=${mpfr}"
+    "--with-flint=${flint}"
+  ];
+  doCheck = true;
   meta = {
     inherit version;
     description = ''A library for arbitrary-precision interval arithmetic'';
diff --git a/pkgs/development/libraries/arguments/default.nix b/pkgs/development/libraries/arguments/default.nix
new file mode 100644
index 00000000000..912ea53c3d3
--- /dev/null
+++ b/pkgs/development/libraries/arguments/default.nix
@@ -0,0 +1,32 @@
+{ stdenv, fetchFromGitHub, cmake, libminc, bicpl }:
+
+stdenv.mkDerivation rec {
+  pname = "arguments";
+  name  = "${pname}-2015-11-30";
+
+  owner = "BIC-MNI";
+
+  src = fetchFromGitHub {
+    inherit owner;
+    repo   = pname;
+    rev    = "b3aad97f6b6892cb8733455d0d448649a48fa108";
+    sha256 = "1ar8lm1w1jflz3vdmjr5c4x6y7rscvrj78b8gmrv79y95qrgzv6s";
+  };
+
+  nativeBuildInputs = [ cmake ];
+  buildInputs = [ ];
+
+  #cmakeFlags = [ "-DLIBMINC_DIR=${libminc}/lib" "-DBICPL_DIR=${bicpl}/lib" "-DBUILD_TESTING=FALSE" ];
+
+  checkPhase = "ctest --output-on-failure";
+  doCheck = false;
+  # internal_volume_io.h: No such file or directory
+
+  meta = with stdenv.lib; {
+    homepage = "https://github.com/${owner}/${pname}";
+    description = "Library for argument handling for MINC programs";
+    maintainers = with maintainers; [ bcdarwin ];
+    platforms = platforms.unix;
+    license   = licenses.free;
+  };
+}
diff --git a/pkgs/development/libraries/arm-frc-linux-gnueabi-eglibc/default.nix b/pkgs/development/libraries/arm-frc-linux-gnueabi-eglibc/default.nix
deleted file mode 100755
index 8adbef8f576..00000000000
--- a/pkgs/development/libraries/arm-frc-linux-gnueabi-eglibc/default.nix
+++ /dev/null
@@ -1,65 +0,0 @@
-{stdenv, fetchurl, arm-frc-linux-gnueabi-linux-api-headers}:
-
-let
-  _target = "arm-frc-linux-gnueabi";
-  _basever = "2.21-r0.83";
-  srcs = [
-    (fetchurl {
-      url = "http://download.ni.com/ni-linux-rt/feeds/2016/arm/ipk/cortexa9-vfpv3/libc6_${_basever}_cortexa9-vfpv3.ipk";
-      sha256 = "117058215440e258027bb9ff18db63c078d55288787dbedfcd5730c06c7a1ae9";
-    })
-    (fetchurl {
-      url = "http://download.ni.com/ni-linux-rt/feeds/2016/arm/ipk/cortexa9-vfpv3/libc6-dev_${_basever}_cortexa9-vfpv3.ipk";
-      sha256 = "e28b05d498c1160949f51539270035e12c5bb9d75d68df1f5f111a8fc087f3a6";
-    })
-    (fetchurl {
-      url = "http://download.ni.com/ni-linux-rt/feeds/2016/arm/ipk/cortexa9-vfpv3/libcidn1_${_basever}_cortexa9-vfpv3.ipk";
-      sha256 = "0f7372590abf69da54a9b7db8f944cf6c48d9ac8a091218ee60f84fdd9de2398";
-    })
-    (fetchurl {
-      url = "http://download.ni.com/ni-linux-rt/feeds/2016/arm/ipk/cortexa9-vfpv3/libc6-thread-db_${_basever}_cortexa9-vfpv3.ipk";
-      sha256 = "5a839498507a0b63165cb7a78234d7eb2ee2bb6a046bff586090f2e70e0e2bfb";
-    })
-    (fetchurl {
-      url = "http://download.ni.com/ni-linux-rt/feeds/2016/arm/ipk/cortexa9-vfpv3/libc6-extra-nss_${_basever}_cortexa9-vfpv3.ipk";
-      sha256 = "d765d43c8ec95a4c64fa38eddf8cee848fd090d9cc5b9fcda6d2c9b03d2635c5";
-    })
-  ];
-in
-stdenv.mkDerivation rec {
-  version = "2.21";
-  name = "${_target}-eglibc-${version}";
-
-  sourceRoot = ".";
-  inherit srcs;
-
-  phases = [ "unpackPhase" "installPhase" ];
-
-  unpackCmd = ''
-      ar x $curSrc
-      tar xf data.tar.gz
-  '';
-
-  installPhase = ''
-    mkdir -p $out/${_target}
-    rm -rf lib/eglibc
-    find . \( -name .install -o -name ..install.cmd \) -delete
-    cp -r lib $out/${_target}
-    cp -r usr $out/${_target}
-
-    cp -r ${arm-frc-linux-gnueabi-linux-api-headers}/* $out
-  '';
-
-  meta = {
-    description = "FRC standard C lib";
-    longDescription = ''
-      eglibc library for the NI RoboRio to be used in compiling frc user
-      programs.
-    '';
-    license = stdenv.lib.licenses.gpl2;
-    maintainers = [ stdenv.lib.maintainers.colescott ];
-    platforms = stdenv.lib.platforms.linux;
-
-    priority = 2;
-  };
-}
diff --git a/pkgs/development/libraries/arm-frc-linux-gnueabi-linux-api-headers/default.nix b/pkgs/development/libraries/arm-frc-linux-gnueabi-linux-api-headers/default.nix
deleted file mode 100755
index 29e349e0a82..00000000000
--- a/pkgs/development/libraries/arm-frc-linux-gnueabi-linux-api-headers/default.nix
+++ /dev/null
@@ -1,43 +0,0 @@
-{stdenv, fetchurl}:
-
-let
-  _target = "arm-frc-linux-gnueabi";
-  _basever = "3.19-r0.36";
-  src = fetchurl {
-    url = "http://download.ni.com/ni-linux-rt/feeds/2016/arm/ipk/cortexa9-vfpv3/linux-libc-headers-dev_${_basever}_cortexa9-vfpv3.ipk";
-    sha256 = "10066ddb9a19bf764a9a67919a7976478041e98c44c19308f076c78ecb07408c";
-  };
-in
-stdenv.mkDerivation rec {
-  version = "3.19";
-  name = "${_target}-linux-api-headers-${version}";
-
-  sourceRoot = ".";
-  inherit src;
-
-  phases = [ "unpackPhase" "installPhase" ];
-
-  unpackCmd = ''
-    ar x $curSrc
-    tar xf data.tar.gz
-  '';
-
-  installPhase = ''
-    mkdir -p $out/${_target}
-    find . \( -name .install -o -name ..install.cmd \) -delete
-    cp -r usr/ $out/${_target}
-  '';
-
-  meta = {
-    description = "FRC linux api headers";
-    longDescription = ''
-      All linux api headers required to compile the arm-frc-linux-gnuaebi-gcc
-      cross compiler and all user programs.
-    '';
-    license = stdenv.lib.licenses.gpl2;
-    maintainers = [ stdenv.lib.maintainers.colescott ];
-    platforms = stdenv.lib.platforms.linux;
-
-    priority = 1;
-  };
-}
diff --git a/pkgs/development/libraries/armadillo/default.nix b/pkgs/development/libraries/armadillo/default.nix
index a5ca79c0d82..4c98bbc182c 100644
--- a/pkgs/development/libraries/armadillo/default.nix
+++ b/pkgs/development/libraries/armadillo/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, cmake, openblasCompat, superlu, hdf5 }:
 
 stdenv.mkDerivation rec {
-  version = "8.400.0";
+  version = "8.500.0";
   name = "armadillo-${version}";
 
   src = fetchurl {
     url = "mirror://sourceforge/arma/armadillo-${version}.tar.xz";
-    sha256 = "16yxhn904ll48879vmycv84rja28im0mrcfgb03nm7bs8lpvrdjw";
+    sha256 = "1wdvii5sncq3d8dh272s1n79mpcwzz437lyyfwy7gm7vbks6j77m";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/arrow-cpp/default.nix b/pkgs/development/libraries/arrow-cpp/default.nix
new file mode 100644
index 00000000000..952f7435c06
--- /dev/null
+++ b/pkgs/development/libraries/arrow-cpp/default.nix
@@ -0,0 +1,44 @@
+{ stdenv, symlinkJoin, fetchurl, boost, brotli, cmake, flatbuffers, gtest, gflags, lz4, python, rapidjson, snappy, zlib, zstd }:
+
+stdenv.mkDerivation rec {
+  name = "arrow-cpp-${version}";
+  version = "0.9.0";
+
+  src = fetchurl {
+    url = "mirror://apache/arrow/arrow-${version}/apache-arrow-${version}.tar.gz";
+    sha256 = "16l91fixb5dgx3v6xc73ipn1w1hjgbmijyvs81j7ywzpna2cdcdy";
+  };
+
+  sourceRoot = "apache-arrow-${version}/cpp";
+
+  nativeBuildInputs = [ cmake ];
+  buildInputs = [ boost python.pkgs.python python.pkgs.numpy ];
+
+  preConfigure = ''
+    substituteInPlace cmake_modules/FindBrotli.cmake --replace CMAKE_STATIC_LIBRARY CMAKE_SHARED_LIBRARY
+    substituteInPlace cmake_modules/FindLz4.cmake --replace CMAKE_STATIC_LIBRARY CMAKE_SHARED_LIBRARY
+    substituteInPlace cmake_modules/FindSnappy.cmake --replace CMAKE_STATIC_LIBRARY CMAKE_SHARED_LIBRARY
+  '';
+
+  BROTLI_HOME = symlinkJoin { name="brotli-wrap"; paths = [ brotli.lib brotli.dev ]; };
+  FLATBUFFERS_HOME = flatbuffers;
+  GTEST_HOME = gtest;
+  GFLAGS_HOME = gflags;
+  LZ4_HOME = symlinkJoin { name="lz4-wrap"; paths = [ lz4 lz4.dev ]; };
+  RAPIDJSON_HOME = rapidjson;
+  SNAPPY_HOME = symlinkJoin { name="snappy-wrap"; paths = [ snappy snappy.dev ]; };
+  ZLIB_HOME = symlinkJoin { name="zlib-wrap"; paths = [ zlib.dev zlib.static ]; };
+  ZSTD_HOME = zstd;
+
+  cmakeFlags = [
+    "-DARROW_PYTHON=ON"
+  ];
+
+  meta = {
+    description = "A  cross-language development platform for in-memory data";
+    homepage = https://arrow.apache.org/;
+    license = stdenv.lib.licenses.asl20;
+    platforms = stdenv.lib.platforms.unix;
+    maintainers = with stdenv.lib.maintainers; [ veprbl ];
+  };
+}
diff --git a/pkgs/development/libraries/asio/default.nix b/pkgs/development/libraries/asio/default.nix
index dae8657388f..1126b4a7f2c 100644
--- a/pkgs/development/libraries/asio/default.nix
+++ b/pkgs/development/libraries/asio/default.nix
@@ -1,11 +1,11 @@
 {stdenv, fetchurl, boost, openssl}:
 
 stdenv.mkDerivation rec {
-  name = "asio-1.10.8";
+  name = "asio-1.12.1";
 
   src = fetchurl {
     url = "mirror://sourceforge/asio/${name}.tar.bz2";
-    sha256 = "0jgdl4fxw0hwy768rl3lhdc0czz7ak7czf3dg10j21pdpfpfvpi6";
+    sha256 = "0nln45662kg799ykvqx5m9z9qcsmadmgg6r5najryls7x16in2d9";
   };
 
   propagatedBuildInputs = [ boost ];
diff --git a/pkgs/development/libraries/at-spi2-atk/default.nix b/pkgs/development/libraries/at-spi2-atk/default.nix
index 86f35d7f578..1e5d003654c 100644
--- a/pkgs/development/libraries/at-spi2-atk/default.nix
+++ b/pkgs/development/libraries/at-spi2-atk/default.nix
@@ -16,6 +16,8 @@ stdenv.mkDerivation rec {
   buildInputs = [ python popt atk libX11 libICE xorg.libXtst libXi
                   dbus-glib at-spi2-core libSM ];
 
+  doCheck = false; # needs dbus daemon
+
   meta = with stdenv.lib; {
     platforms = platforms.unix;
   };
diff --git a/pkgs/development/libraries/at-spi2-core/default.nix b/pkgs/development/libraries/at-spi2-core/default.nix
index b717101b3e1..b7547c29392 100644
--- a/pkgs/development/libraries/at-spi2-core/default.nix
+++ b/pkgs/development/libraries/at-spi2-core/default.nix
@@ -23,10 +23,9 @@ stdenv.mkDerivation rec {
   # ToDo: on non-NixOS we create a symlink from there?
   configureFlags = "--with-dbus-daemondir=/run/current-system/sw/bin/";
 
-  NIX_LDFLAGS = with stdenv; lib.optionalString isDarwin "-lintl";
+  doCheck = false; # needs dbus daemon
 
   meta = with stdenv.lib; {
     platforms = platforms.unix;
   };
 }
-
diff --git a/pkgs/development/libraries/atk/default.nix b/pkgs/development/libraries/atk/default.nix
index eb2466590be..63fd7a4986f 100644
--- a/pkgs/development/libraries/atk/default.nix
+++ b/pkgs/development/libraries/atk/default.nix
@@ -1,30 +1,41 @@
-{ stdenv, fetchurl, pkgconfig, perl, glib, libintlOrEmpty, gobjectIntrospection, gnome3 }:
+{ stdenv, fetchurl, meson, ninja, gettext, pkgconfig, glib
+, fixDarwinDylibNames, gobjectIntrospection, gnome3
+}:
 
 let
   pname = "atk";
-  version = "2.26.1";
+  version = "2.28.1";
 in
+
 stdenv.mkDerivation rec {
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${gnome3.versionBranch version}/${name}.tar.xz";
-    sha256 = "1jwpx8az0iifw176dc2hl4mmg6gvxzxdkd1qvg4ds7c5hdmzy07g";
+    sha256 = "1z7laf6qwv5zsqcnj222dm5f43c6f3liil0cgx4s4s62xjk1wfnd";
   };
 
-  enableParallelBuilding = true;
+  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 = libintlOrEmpty;
+  buildInputs = stdenv.lib.optional stdenv.isDarwin fixDarwinDylibNames;
 
-  nativeBuildInputs = [ pkgconfig perl gobjectIntrospection ];
+  nativeBuildInputs = [ meson ninja pkgconfig gettext gobjectIntrospection ];
 
   propagatedBuildInputs = [
     # Required by atk.pc
     glib
   ];
 
+  NIX_LDFLAGS = if stdenv.isDarwin then "-lintl" else null;
+
   doCheck = true;
 
   passthru = {
diff --git a/pkgs/development/libraries/attr/default.nix b/pkgs/development/libraries/attr/default.nix
index 0bfeaf81a81..96fe5b89a18 100644
--- a/pkgs/development/libraries/attr/default.nix
+++ b/pkgs/development/libraries/attr/default.nix
@@ -18,6 +18,12 @@ stdenv.mkDerivation rec {
 
   patches = if (hostPlatform.libc == "musl") then [ ./fix-headers-musl.patch ] else null;
 
+  postPatch = ''
+    for script in install-sh include/install-sh; do
+      patchShebangs $script
+    done
+  '';
+
   meta = with stdenv.lib; {
     homepage = "http://savannah.nongnu.org/projects/attr/";
     description = "Library and tools for manipulating extended attributes";
diff --git a/pkgs/development/libraries/audio/jamomacore/default.nix b/pkgs/development/libraries/audio/jamomacore/default.nix
index 7057b020d42..4e316ff1c99 100644
--- a/pkgs/development/libraries/audio/jamomacore/default.nix
+++ b/pkgs/development/libraries/audio/jamomacore/default.nix
@@ -20,5 +20,6 @@ stdenv.mkDerivation rec {
     license = stdenv.lib.licenses.bsd3;
     maintainers = [ stdenv.lib.maintainers.magnetophon ];
     platforms = stdenv.lib.platforms.linux;
+    broken = true; # 2018-04-10
   };
 }
diff --git a/pkgs/development/libraries/audio/libgme/default.nix b/pkgs/development/libraries/audio/libgme/default.nix
index 9a87e31cbd2..ac6f0470a0a 100644
--- a/pkgs/development/libraries/audio/libgme/default.nix
+++ b/pkgs/development/libraries/audio/libgme/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchFromBitbucket, cmake }:
 let
-  version = "0.6.1";
+  version = "0.6.2";
 in stdenv.mkDerivation {
   name = "libgme-${version}";
 
@@ -16,7 +16,7 @@ in stdenv.mkDerivation {
     owner = "mpyne";
     repo = "game-music-emu";
     rev = version;
-    sha256 = "04vwpv3pmjcil1jw5vcnlg45nch5awqs06y3xqdlp3ibx5i4k199";
+    sha256 = "00vlbfk5h99dq5rbwxk20dv72dig6wdwpgf83q451avsscky0jvk";
   };
 
   buildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/audio/rtaudio/default.nix b/pkgs/development/libraries/audio/rtaudio/default.nix
index 326572996b4..1df696c0ec6 100644
--- a/pkgs/development/libraries/audio/rtaudio/default.nix
+++ b/pkgs/development/libraries/audio/rtaudio/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchFromGitHub, autoconf, automake, libtool, libjack2,  alsaLib, rtmidi }:
 
 stdenv.mkDerivation rec {
-  version = "4.1.2";
+  version = "5.0.0";
   name = "rtaudio-${version}";
 
   src = fetchFromGitHub {
     owner = "thestk";
     repo = "rtaudio";
     rev = "${version}";
-    sha256 = "09j84l9l3q0g238z5k89rm8hgk0i1ir8917an7amq474nwjp80pq";
+    sha256 = "0jkqnhc2pq31nmq4daxhmqdjgv2qi4ib27hwms2r5zhnmvvzlr67";
   };
 
   buildInputs = [ autoconf automake libtool libjack2 alsaLib rtmidi ];
diff --git a/pkgs/development/libraries/audio/vamp/default.nix b/pkgs/development/libraries/audio/vamp/default.nix
index 8098ac9f3ef..f8b1006d2eb 100644
--- a/pkgs/development/libraries/audio/vamp/default.nix
+++ b/pkgs/development/libraries/audio/vamp/default.nix
@@ -1,16 +1,19 @@
 # set VAMP_PATH ?
 # plugins availible on sourceforge and http://www.vamp-plugins.org/download.html (various licenses)
 
-{ stdenv, fetchurl, pkgconfig, libsndfile }:
+{ stdenv, fetchFromGitHub, pkgconfig, libsndfile }:
 
 rec {
 
   vampSDK = stdenv.mkDerivation {
-    name = "vamp-sdk-2.5";
+    name = "vamp-sdk-2.7.1";
+    # version = "2.7.1";
 
-    src = fetchurl {
-      url = http://code.soundsoftware.ac.uk/attachments/download/690/vamp-plugin-sdk-2.5.tar.gz;
-      sha256 = "178kfgq08cmgdzv7g8dwyjp4adwx8q04riimncq4nqkm8ng9ywbv";
+    src = fetchFromGitHub {
+      owner = "c4dm";
+      repo = "vamp-plugin-sdk";
+      rev = "vamp-plugin-sdk-v2.7.1";
+      sha256 = "1ifd6l6b89pg83ss4gld5i72fr0cczjnl2by44z5jnndsg3sklw4";
     };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/development/libraries/avahi/default.nix b/pkgs/development/libraries/avahi/default.nix
index 098378701d5..53e3f5468ab 100644
--- a/pkgs/development/libraries/avahi/default.nix
+++ b/pkgs/development/libraries/avahi/default.nix
@@ -20,13 +20,15 @@ stdenv.mkDerivation rec {
   buildInputs = [ libdaemon dbus perl perlXMLParser glib expat libiconv ]
     ++ (stdenv.lib.optional qt4Support qt4);
 
-  nativeBuildInputs = [ pkgconfig gettext intltool ];
+  nativeBuildInputs = [ pkgconfig gettext intltool glib ];
 
   configureFlags =
     [ "--disable-qt3" "--disable-gdbm" "--disable-mono"
       "--disable-gtk" "--disable-gtk3"
       "--${if qt4Support then "enable" else "disable"}-qt4"
-      "--disable-python" "--localstatedir=/var" "--with-distro=none" ]
+      "--disable-python" "--localstatedir=/var" "--with-distro=none"
+      # A systemd unit is provided by the avahi-daemon NixOS module
+      "--with-systemdsystemunitdir=no" ]
     ++ stdenv.lib.optional withLibdnssdCompat "--enable-compat-libdns_sd"
     # autoipd won't build on darwin
     ++ stdenv.lib.optional stdenv.isDarwin "--disable-autoipd";
diff --git a/pkgs/development/libraries/aws-sdk-cpp/default.nix b/pkgs/development/libraries/aws-sdk-cpp/default.nix
index cd42652e091..18aeef04a77 100644
--- a/pkgs/development/libraries/aws-sdk-cpp/default.nix
+++ b/pkgs/development/libraries/aws-sdk-cpp/default.nix
@@ -15,13 +15,13 @@ let
         else throw "Unsupported system!";
 in stdenv.mkDerivation rec {
   name = "aws-sdk-cpp-${version}";
-  version = "1.3.22";
+  version = "1.4.40";
 
   src = fetchFromGitHub {
     owner = "awslabs";
     repo = "aws-sdk-cpp";
     rev = version;
-    sha256 = "0sdgy8kqhxnw7n0sw4m3p3ay7yic3rhad5ab8m5lbx61ad9bq3c2";
+    sha256 = "16n5p29pf062mfsn7q8q8hw0ppxb02a0kkakd0vjrybqflpgf42j";
   };
 
   # FIXME: might be nice to put different APIs in different outputs
diff --git a/pkgs/development/libraries/babl/default.nix b/pkgs/development/libraries/babl/default.nix
index be4cf809f0c..285f4dea802 100644
--- a/pkgs/development/libraries/babl/default.nix
+++ b/pkgs/development/libraries/babl/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "babl-0.1.44";
+  name = "babl-0.1.46";
 
   src = fetchurl {
     url = "http://ftp.gtk.org/pub/babl/0.1/${name}.tar.bz2";
-    sha256 = "0zfy1jrwdp4ja2f1rqa2m46vx6nilm73f72d4d1c8d65vshgsqzl";
+    sha256 = "0nwyhvfca6m35wjcccvwca7fcihzgdfyc012qi703y5d3cxl1hmv";
   };
 
   doCheck = true;
diff --git a/pkgs/development/libraries/bamf/default.nix b/pkgs/development/libraries/bamf/default.nix
new file mode 100644
index 00000000000..dd926ac2081
--- /dev/null
+++ b/pkgs/development/libraries/bamf/default.nix
@@ -0,0 +1,49 @@
+{ stdenv, fetchurl, libgtop, libwnck3, glib, vala, pkgconfig
+, libstartup_notification, gobjectIntrospection, gtk-doc
+, python27, pythonPackages, libxml2 }:
+
+stdenv.mkDerivation rec {
+  pname = "bamf";
+  version = "0.5.3";
+  name = "${pname}-${version}";
+
+  src = fetchurl {
+    url = "https://launchpad.net/${pname}/0.5/${version}/+download/${name}.tar.gz";
+    sha256 = "051vib8ndp09ph5bfwkgmzda94varzjafwxf6lqx7z1s8rd7n39l";
+  };
+
+  nativeBuildInputs = [
+    pkgconfig
+    gtk-doc
+    gobjectIntrospection
+  ];
+
+  buildInputs = [ libgtop libwnck3 vala libstartup_notification
+                  python27 pythonPackages.libxslt libxml2 glib ];
+
+  postPatch = ''
+    substituteInPlace data/Makefile.in \
+      --replace '/usr/lib/systemd/user' '@datarootdir@/systemd/user'
+  '';
+
+  # fix paths
+  makeFlags = [
+    "INTROSPECTION_GIRDIR=$(out)/share/gir-1.0/"
+    "INTROSPECTION_TYPELIBDIR=$(out)/lib/girepository-1.0"
+  ];
+
+  # ignore deprecation errors
+  NIX_CFLAGS_COMPILE = "-Wno-deprecated-declarations";
+
+  meta = with stdenv.lib; {
+    description = "Application matching framework";
+    longDescription = ''
+      Removes the headache of applications matching
+      into a simple DBus daemon and c wrapper library.
+    '';
+    homepage = https://launchpad.net/bamf;
+    license = licenses.lgpl3;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ davidak ];
+  };
+}
diff --git a/pkgs/development/libraries/bobcat/default.nix b/pkgs/development/libraries/bobcat/default.nix
index dd7d6a34867..812ad546f86 100644
--- a/pkgs/development/libraries/bobcat/default.nix
+++ b/pkgs/development/libraries/bobcat/default.nix
@@ -4,10 +4,10 @@
 
 stdenv.mkDerivation rec {
   name = "bobcat-${version}";
-  version = "4.07.00";
+  version = "4.08.03";
 
   src = fetchFromGitHub {
-    sha256 = "0ja6rgdw4ng10acp2c0cv9k72i5sgng03i3xi2yshlm2811lgxcs";
+    sha256 = "163mdl8hxids7123bjxmqhcaqyc1dv7hv8k33s713ac6lzawarq2";
     rev = version;
     repo = "bobcat";
     owner = "fbb-git";
diff --git a/pkgs/development/libraries/boehm-gc/default.nix b/pkgs/development/libraries/boehm-gc/default.nix
index d4e91deb744..14479a56091 100644
--- a/pkgs/development/libraries/boehm-gc/default.nix
+++ b/pkgs/development/libraries/boehm-gc/default.nix
@@ -4,14 +4,14 @@
 
 stdenv.mkDerivation rec {
   name = "boehm-gc-${version}";
-  version = "7.6.4";
+  version = "7.6.6";
 
   src = fetchurl {
     urls = [
       "http://www.hboehm.info/gc/gc_source/gc-${version}.tar.gz"
       "https://github.com/ivmai/bdwgc/releases/download/v${version}/gc-${version}.tar.gz"
     ];
-    sha256 = "076dzsqqyxd3nlzs0z277vvhqjp8nv5dqi763s0m90zr6ljiyk5r";
+    sha256 = "1p1r015a7jbpvkkbgzv1y8nxrbbp6dg0mq3ksi6ji0qdz3wfss79";
   };
 
   buildInputs = [ libatomic_ops ];
diff --git a/pkgs/development/libraries/boost/1.66.nix b/pkgs/development/libraries/boost/1.66.nix
index 3fd9c160824..02cf511a6fd 100644
--- a/pkgs/development/libraries/boost/1.66.nix
+++ b/pkgs/development/libraries/boost/1.66.nix
@@ -1,4 +1,4 @@
-{ stdenv, callPackage, fetchurl, ... } @ args:
+{ stdenv, callPackage, fetchurl, hostPlatform, buildPlatform, ... } @ args:
 
 callPackage ./generic.nix (args // rec {
   version = "1.66_0";
@@ -9,4 +9,5 @@ callPackage ./generic.nix (args // rec {
     sha256 = "5721818253e6a0989583192f96782c4a98eb6204965316df9f5ad75819225ca9";
   };
 
+  toolset = if stdenv.cc.isClang then "clang" else null;
 })
diff --git a/pkgs/development/libraries/boost/generic.nix b/pkgs/development/libraries/boost/generic.nix
index 14ea512afbd..efe1151359d 100644
--- a/pkgs/development/libraries/boost/generic.nix
+++ b/pkgs/development/libraries/boost/generic.nix
@@ -55,11 +55,11 @@ let
     "--layout=${layout}"
     "variant=${variant}"
     "threading=${threading}"
-    "runtime-link=${runtime-link}"
     "link=${link}"
     "-sEXPAT_INCLUDE=${expat.dev}/include"
     "-sEXPAT_LIBPATH=${expat.out}/lib"
-  ] ++ optional (variant == "release") "debug-symbols=off"
+  ] ++ optional (link != "static") "runtime-link=${runtime-link}"
+    ++ optional (variant == "release") "debug-symbols=off"
     ++ optional (toolset != null) "toolset=${toolset}"
     ++ optional (mpi != null || hostPlatform != buildPlatform) "--user-config=user-config.jam"
     ++ optionals (hostPlatform.libc == "msvcrt") [
diff --git a/pkgs/development/libraries/botan/2.0.nix b/pkgs/development/libraries/botan/2.0.nix
index dec08d17177..890f3789761 100644
--- a/pkgs/development/libraries/botan/2.0.nix
+++ b/pkgs/development/libraries/botan/2.0.nix
@@ -1,9 +1,9 @@
 { callPackage, ... } @ args:
 
 callPackage ./generic.nix (args // {
-  baseVersion = "2.3";
+  baseVersion = "2.6";
   revision = "0";
-  sha256 = "0z6lwv28hxnfkhd4s03cb4cdm1621bsswc2h88z4qslqwpz71y9r";
+  sha256 = "1iawmymmnp5j2mcjj70slivn6bgg8gbpppldc1rjqw5sbdan3wn1";
   postPatch = ''
     sed -e 's@lang_flags "@&--std=c++11 @' -i src/build-data/cc/{gcc,clang}.txt
   '';
diff --git a/pkgs/development/libraries/bwidget/default.nix b/pkgs/development/libraries/bwidget/default.nix
index 6dc658c03e3..76c041e2ad5 100644
--- a/pkgs/development/libraries/bwidget/default.nix
+++ b/pkgs/development/libraries/bwidget/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "bwidget-${version}";
-  version = "1.9.10";
+  version = "1.9.12";
 
   src = fetchurl {
     url = "mirror://sourceforge/tcllib/bwidget-${version}.tar.gz";
-    sha256 = "025lmriaq4qqy99lh826wx2cnqqgxn7srz4m3q06bl6r9ch15hr6";
+    sha256 = "0qrj8k4zzrnhwgdn5dpa6j0q5j739myhwn60ssnqrzq77sljss1g";
   };
 
   dontBuild = true;
diff --git a/pkgs/development/libraries/c-ares/default.nix b/pkgs/development/libraries/c-ares/default.nix
index 6b3b69f9997..a384a770783 100644
--- a/pkgs/development/libraries/c-ares/default.nix
+++ b/pkgs/development/libraries/c-ares/default.nix
@@ -2,11 +2,11 @@
 
 let self =
 stdenv.mkDerivation rec {
-  name = "c-ares-1.13.0";
+  name = "c-ares-1.14.0";
 
   src = fetchurl {
     url = "http://c-ares.haxx.se/download/${name}.tar.gz";
-    sha256 = "19qxhv9aiw903fr808y77r6l9js0fq9m3gcaqckan9jan7qhixq3";
+    sha256 = "0vnwmbvymw677k780kpb6sb8i3szdp89rzy8mz1fwg1657yw3ls5";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/libraries/caf/default.nix b/pkgs/development/libraries/caf/default.nix
index d3b6722b36c..1e764aff4cc 100644
--- a/pkgs/development/libraries/caf/default.nix
+++ b/pkgs/development/libraries/caf/default.nix
@@ -2,25 +2,17 @@
 
 stdenv.mkDerivation rec {
   name = "actor-framework-${version}";
-  version = "0.15.3";
+  version = "0.15.7";
 
   src = fetchFromGitHub {
     owner = "actor-framework";
     repo = "actor-framework";
     rev = "${version}";
-    sha256 = "0202nsdriigdh6sxi1k3hddvmf1x54qpykbvf2ghfhzyh0m1q7j2";
+    sha256 = "0qmb18k162xdvf8z03mybjazkwb2vqda5xd1qh5bwkvxracwq3sb";
   };
 
-  # See https://github.com/actor-framework/actor-framework/issues/545 and remove on next release that incorporates this
-  patches = [ (fetchpatch {
-    url    = "https://github.com/actor-framework/actor-framework/commit/c5a3ee26a6e76b28dd4226f35230b280f291386d.patch";
-    sha256 = "1l0323cqyqlp3lvggm709fmfm6lk6av1smdbd420adhi3ksj2vhj";
-  }) ];
-
   nativeBuildInputs = [ cmake ];
 
-  enableParallelBuilding = true;
-
   meta = with stdenv.lib; {
     description = "An open source implementation of the actor model in C++";
     homepage = http://actor-framework.org/;
diff --git a/pkgs/development/libraries/cairo/default.nix b/pkgs/development/libraries/cairo/default.nix
index 6aa184e4204..74ae4abaedf 100644
--- a/pkgs/development/libraries/cairo/default.nix
+++ b/pkgs/development/libraries/cairo/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, fetchFromGitHub, fetchpatch, pkgconfig, libiconv
-, libintlOrEmpty, expat, zlib, libpng, pixman, fontconfig, freetype, xorg
+, libintl, expat, zlib, libpng, pixman, fontconfig, freetype, xorg
 , gobjectSupport ? true, glib
 , xcbSupport ? true # no longer experimental since 1.12
 , glSupport ? true, libGL ? null # libGLU_combined is no longer a big dependency
@@ -9,32 +9,25 @@
 
 assert glSupport -> libGL != null;
 
-let inherit (stdenv.lib) optional optionals; in
-
-stdenv.mkDerivation rec {
-  name = "cairo-1.14.10";
+let
+  version = "1.15.10";
+  inherit (stdenv.lib) optional optionals;
+in stdenv.mkDerivation rec {
+  name = "cairo-${version}";
 
   src = fetchurl {
-    url = "http://cairographics.org/releases/${name}.tar.xz";
-    sha256 = "02banr0wxckq62nbhc3mqidfdh2q956i2r7w2hd9bjgjb238g1vy";
+    url = "http://cairographics.org/${if stdenv.lib.mod (builtins.fromJSON (stdenv.lib.versions.minor version)) 2 == 0 then "releases" else "snapshots"}/${name}.tar.xz";
+    sha256 = "14l3jll98pjdlpm8f972v0spzcsf6y5nz85y2k8iybyg6ihj5jk2";
   };
 
-  patches = [
-    # from https://bugs.freedesktop.org/show_bug.cgi?id=98165
-    (fetchpatch {
-      name = "cairo-CVE-2016-9082.patch";
-      url = "https://bugs.freedesktop.org/attachment.cgi?id=127421";
-      sha256 = "03sfyaclzlglip4pvfjb4zj4dmm8mlphhxl30mb6giinkc74bfri";
-    })
-  ];
-
   outputs = [ "out" "dev" "devdoc" ];
   outputBin = "dev"; # very small
 
   nativeBuildInputs = [
     pkgconfig
     libiconv
-  ] ++ libintlOrEmpty ++ optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [
+    libintl
+  ] ++ optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [
     CoreGraphics
     CoreText
     ApplicationServices
@@ -79,6 +72,8 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
+  doCheck = false; # fails
+
   postInstall = stdenv.lib.optionalString stdenv.isDarwin glib.flattenInclude;
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/libraries/cddlib/default.nix b/pkgs/development/libraries/cddlib/default.nix
index 818eb6db8c6..ee56b50e1da 100644
--- a/pkgs/development/libraries/cddlib/default.nix
+++ b/pkgs/development/libraries/cddlib/default.nix
@@ -1,17 +1,49 @@
-{stdenv, fetchurl, gmp}:
+{ stdenv
+, fetchurl
+, fetchpatch
+, gmp
+, autoreconfHook
+}:
+
 stdenv.mkDerivation rec {
   name = "cddlib-${version}";
-  fileVersion = "094h";
-  version = "0.94h";
-  src = fetchurl {
+  version = "0.94i";
+  src = let
+    fileVersion = stdenv.lib.replaceStrings ["."] [""] version;
+  in fetchurl {
+    # Might switch to github in the future, see
+    # https://trac.sagemath.org/ticket/21952#comment:20
     urls = [
       "http://archive.ubuntu.com/ubuntu/pool/universe/c/cddlib/cddlib_${fileVersion}.orig.tar.gz"
       "ftp://ftp.math.ethz.ch/users/fukudak/cdd/cddlib-${fileVersion}.tar.gz"
     ];
-    name = "";
-    sha256 = "1dasasscwfg793q8fwzgwf64xwj7w62yfvszpr8x8g38jka08vgy";
+    sha256 = "00zdgiqb91vx6gd2103h3ijij0llspsxc6zz3iw2bll39fvkl4xq";
   };
   buildInputs = [gmp];
+  nativeBuildInputs = [
+    autoreconfHook
+  ];
+  # compute reduced H and V representation of polytope
+  # this patch is included by most distributions (Debian, Conda, ArchLinux, SageMath)
+  # proposed upstream (no answer yet): https://github.com/cddlib/cddlib/pull/3
+  both_reps_c = (fetchurl {
+    name = "cdd_both_reps.c";
+    url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/sci-libs/cddlib/files/cdd_both_reps.c?id=56bd759df1d0c750a065b8c845e93d5dfa6b549d";
+    sha256 = "0r9yc5bgiz8i72c6vsn2y2mjk5581iw94gji9v7lg16kzzgrk9x0";
+  });
+  preAutoreconf = ''
+    # Required by sage.geometry.polyhedron
+    cp ${both_reps_c} src/cdd_both_reps.c
+    cp ${both_reps_c} src-gmp/cdd_both_reps.c
+  '';
+  patches = [
+    # add the cdd_both_reps binary
+    (fetchpatch {
+      name = "add-cdd_both_reps-binary.patch";
+      url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/sci-libs/cddlib/files/cddlib-094h-add-cdd_both_reps-binary.patch?id=78e3a61a68c916450aa4e5ceecd20041583af901";
+      sha256 = "162ni2fr7dpbdkz0b5nizxq7qr5k1i1d75g0smiylpzfb0hb761a";
+    })
+  ];
   meta = {
     inherit version;
     description = ''An implementation of the Double Description Method for generating all vertices of a convex polyhedron'';
diff --git a/pkgs/development/libraries/celt/0.5.1.nix b/pkgs/development/libraries/celt/0.5.1.nix
index 561be1ba281..e45d74345d4 100644
--- a/pkgs/development/libraries/celt/0.5.1.nix
+++ b/pkgs/development/libraries/celt/0.5.1.nix
@@ -7,4 +7,11 @@ callPackage ./generic.nix (args // rec{
     url = "http://downloads.xiph.org/releases/celt/celt-${version}.tar.gz";
     sha256 = "0bkam9z5vnrxpbxkkh9kw6yzjka9di56h11iijikdd1f71l5nbpw";
   };
+
+  # Don't build tests due to badness with ec_ilog
+  prePatch = ''
+    substituteInPlace Makefile.in \
+      --replace 'SUBDIRS = libcelt tests' \
+                'SUBDIRS = libcelt'
+  '';
 })
diff --git a/pkgs/development/libraries/celt/generic.nix b/pkgs/development/libraries/celt/generic.nix
index 4ab554561f7..6bf7975034b 100644
--- a/pkgs/development/libraries/celt/generic.nix
+++ b/pkgs/development/libraries/celt/generic.nix
@@ -1,5 +1,6 @@
 { stdenv, version, src
 , liboggSupport ? true, libogg ? null # if disabled only the library will be built
+, prePatch ? ""
 , ...
 }:
 
@@ -10,9 +11,13 @@ stdenv.mkDerivation rec {
 
   inherit src;
 
+  inherit prePatch;
+
   buildInputs = []
     ++ stdenv.lib.optional liboggSupport libogg;
 
+  doCheck = false; # fails
+
   meta = with stdenv.lib; {
     description = "Ultra-low delay audio codec";
     homepage    = http://www.celt-codec.org/;
diff --git a/pkgs/development/libraries/ceres-solver/default.nix b/pkgs/development/libraries/ceres-solver/default.nix
index 77e0cb7735d..1e2017ef0e7 100644
--- a/pkgs/development/libraries/ceres-solver/default.nix
+++ b/pkgs/development/libraries/ceres-solver/default.nix
@@ -12,11 +12,11 @@ assert runTests -> google-gflags != null;
 
 stdenv.mkDerivation rec {
   name = "ceres-solver-${version}";
-  version = "1.12.0";
+  version = "1.14.0";
 
   src = fetchurl {
     url = "http://ceres-solver.org/ceres-solver-${version}.tar.gz";
-    sha256 = "15f8mwhcy9f5qggcc9dqwl5y687ykvmlidr686aqdq0ia7azwnvl";
+    sha256 = "13lfxy8x58w8vprr0nkbzziaijlh0vvqshgahvcgw0mrqdgh0i27";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/cfitsio/default.nix b/pkgs/development/libraries/cfitsio/default.nix
index dedcb805327..ecf5fb1f02f 100644
--- a/pkgs/development/libraries/cfitsio/default.nix
+++ b/pkgs/development/libraries/cfitsio/default.nix
@@ -1,11 +1,11 @@
 { fetchurl, stdenv }:
 
  stdenv.mkDerivation {
-  name = "cfitsio-3.43";
+  name = "cfitsio-3.430";
 
   src = fetchurl {
     url = "ftp://heasarc.gsfc.nasa.gov/software/fitsio/c/cfitsio3430.tar.gz";
-    sha256 = "1rw481bv5srfmldf1h8bqmyljjh0siqh87xh6rip67ms59ssxpn8";
+    sha256 = "07fghxh5fl8nqk3q0dh8rvc83npnm0hisxzcj16a6r7gj5pmp40l";
   };
 
   # Shared-only build
diff --git a/pkgs/development/libraries/check/default.nix b/pkgs/development/libraries/check/default.nix
index 1db991f63fe..ddaf022edfd 100644
--- a/pkgs/development/libraries/check/default.nix
+++ b/pkgs/development/libraries/check/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   name = "check-${version}";
-  version = "0.11.0";
+  version = "0.12.0";
 
   src = fetchurl {
     url = "https://github.com/libcheck/check/releases/download/${version}/check-${version}.tar.gz";
-    sha256 = "05jn1pgb7hqb937xky2147nnq3r4qy5wwr79rddpax3bms5a9xr4";
+    sha256 = "0d22h8xshmbpl9hba9ch3xj8vb9ybm5akpsbbh7yj07fic4h2hj6";
   };
 
   # Test can randomly fail: http://hydra.nixos.org/build/7243912
diff --git a/pkgs/development/libraries/clipper/default.nix b/pkgs/development/libraries/clipper/default.nix
new file mode 100644
index 00000000000..31af3758782
--- /dev/null
+++ b/pkgs/development/libraries/clipper/default.nix
@@ -0,0 +1,27 @@
+{ stdenv, fetchurl, cmake, ninja, unzip }:
+
+stdenv.mkDerivation rec {
+  version = "6.4.2";
+  name = "Clipper-${version}";
+  src = fetchurl {
+    url = "mirror://sourceforge/polyclipping/clipper_ver${version}.zip";
+    sha256 = "09q6jc5k7p9y5d75qr2na5d1gm0wly5cjnffh127r04l47c20hx1";
+  };
+
+  sourceRoot = "cpp";
+
+  buildInputs = [ ];
+
+  nativeBuildInputs = [ cmake ninja unzip ];
+
+  meta = with stdenv.lib; {
+    longDescription = ''
+      The Clipper library performs line & polygon clipping - intersection, union, difference & exclusive-or,
+      and line & polygon offsetting. The library is based on Vatti's clipping algorithm.
+    '';
+    homepage = https://www.angusj.com/delphi/clipper.php;
+    license = licenses.boost;
+    maintainers = with maintainers; [ mpickering ];
+    platforms = with platforms; unix;
+  };
+}
diff --git a/pkgs/development/libraries/cloog-ppl/default.nix b/pkgs/development/libraries/cloog-ppl/default.nix
index 442b115a408..0ce0af97ec9 100644
--- a/pkgs/development/libraries/cloog-ppl/default.nix
+++ b/pkgs/development/libraries/cloog-ppl/default.nix
@@ -20,10 +20,6 @@ stdenv.mkDerivation rec {
     touch NEWS ChangeLog AUTHORS
   '';
 
-  crossAttrs = {
-    configureFlags = "--with-ppl=${ppl.crossDrv}";
-  };
-
   doCheck = true;
 
   meta = {
diff --git a/pkgs/development/libraries/clutter-gst/default.nix b/pkgs/development/libraries/clutter-gst/default.nix
index b2d397e3d55..a06691d5c71 100644
--- a/pkgs/development/libraries/clutter-gst/default.nix
+++ b/pkgs/development/libraries/clutter-gst/default.nix
@@ -2,13 +2,13 @@
 
 let
   pname = "clutter-gst";
-  version = "3.0.24";
+  version = "3.0.26";
 in stdenv.mkDerivation rec {
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${gnome3.versionBranch version}/${name}.tar.xz";
-    sha256 = "0v6cg0syh4vx7y7ni47jsvr2r57q0j3h1f1gjlp0ciscixywiwg9";
+    sha256 = "0fnblqm4igdx4rn3681bp1gm1y2i00if3iblhlm0zv6ck9nqlqfq";
   };
 
   propagatedBuildInputs = [ clutter gtk3 glib cogl ];
@@ -30,6 +30,6 @@ in stdenv.mkDerivation rec {
     license = stdenv.lib.licenses.lgpl2Plus;
 
     maintainers = with stdenv.lib.maintainers; [ lethalman ];
-    platforms = stdenv.lib.platforms.gnu;  # arbitrary choice
+    platforms = stdenv.lib.platforms.gnu ++ stdenv.lib.platforms.linux;  # arbitrary choice
   };
 }
diff --git a/pkgs/development/libraries/clutter-gtk/default.nix b/pkgs/development/libraries/clutter-gtk/default.nix
index 71789b45a28..22f205cdcec 100644
--- a/pkgs/development/libraries/clutter-gtk/default.nix
+++ b/pkgs/development/libraries/clutter-gtk/default.nix
@@ -27,6 +27,6 @@ stdenv.mkDerivation rec {
     homepage = http://www.clutter-project.org/;
     license = stdenv.lib.licenses.lgpl2Plus;
     maintainers = with stdenv.lib.maintainers; [ lethalman ];
-    platforms = stdenv.lib.platforms.gnu;  # arbitrary choice
+    platforms = stdenv.lib.platforms.gnu ++ stdenv.lib.platforms.linux;  # arbitrary choice
   };
 }
diff --git a/pkgs/development/libraries/cmark/default.nix b/pkgs/development/libraries/cmark/default.nix
index 5fdd1edfd97..81df7e86319 100644
--- a/pkgs/development/libraries/cmark/default.nix
+++ b/pkgs/development/libraries/cmark/default.nix
@@ -1,18 +1,18 @@
 { stdenv, fetchFromGitHub, cmake }:
 
 stdenv.mkDerivation rec {
-  version = "0.27.1";
+  version = "0.28.3";
   name = "cmark-${version}";
 
   src = fetchFromGitHub {
     owner = "jgm";
     repo = "cmark";
     rev = version;
-    sha256 = "06miwq3rl2bighkn6iq7bdwzmvcqa53qwpa0pqjqa8yn44j8ijj8";
+    sha256 = "1lal6n6q7l84njgdcq1xbfxan56qlvr8xaw9m2jbd0jk4y2wkczg";
   };
 
   nativeBuildInputs = [ cmake ];
-  doCheck = true;
+  doCheck = !stdenv.isDarwin;
   checkPhase = ''
     export LD_LIBRARY_PATH=$(readlink -f ./src)
     CTEST_OUTPUT_ON_FAILURE=1 make test
diff --git a/pkgs/development/libraries/cminpack/default.nix b/pkgs/development/libraries/cminpack/default.nix
index a13b42a08a8..cb4f3e39aef 100644
--- a/pkgs/development/libraries/cminpack/default.nix
+++ b/pkgs/development/libraries/cminpack/default.nix
@@ -1,11 +1,11 @@
 {stdenv, fetchurl}:
 
 stdenv.mkDerivation rec {
-  name = "cminpack-1.3.4";
+  name = "cminpack-1.3.6";
   
   src = fetchurl {
     url = "http://devernay.free.fr/hacks/cminpack/${name}.tar.gz";
-    sha256 = "1jh3ymxfcy3ykh6gnvds5bbkf38aminvjgc8halck356vkvpnl9v";
+    sha256 = "17yh695aim508x1kn9zf6g13jxwk3pi3404h5ix4g5lc60hzs1rw";
   };
 
   patchPhase = ''
diff --git a/pkgs/development/libraries/cogl/default.nix b/pkgs/development/libraries/cogl/default.nix
index 48b38c22af5..e06c71c15db 100644
--- a/pkgs/development/libraries/cogl/default.nix
+++ b/pkgs/development/libraries/cogl/default.nix
@@ -1,19 +1,20 @@
-{ stdenv, fetchurl, pkgconfig, libGL, glib, gdk_pixbuf, xorg, libintlOrEmpty
+{ stdenv, fetchurl, pkgconfig, libGL, glib, gdk_pixbuf, xorg, libintl
 , pangoSupport ? true, pango, cairo, gobjectIntrospection, wayland, gnome3
+, mesa_noglu
 , gstreamerSupport ? true, gst_all_1 }:
 
 let
   pname = "cogl";
-  version = "1.22.2";
 in stdenv.mkDerivation rec {
   name = "${pname}-${version}";
+  version = "1.22.2";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${gnome3.versionBranch version}/${name}.tar.xz";
     sha256 = "03f0ha3qk7ca0nnkkcr1garrm1n1vvfqhkz9lwjm592fnv6ii9rr";
   };
 
-  nativeBuildInputs = [ pkgconfig ];
+  nativeBuildInputs = [ pkgconfig libintl ];
 
   configureFlags = [
     "--enable-introspection"
@@ -24,10 +25,9 @@ in stdenv.mkDerivation rec {
     ++ stdenv.lib.optionals (!stdenv.isDarwin) [ "--enable-gles1" "--enable-gles2" ];
 
   propagatedBuildInputs = with xorg; [
-      glib gdk_pixbuf gobjectIntrospection wayland
+      glib gdk_pixbuf gobjectIntrospection wayland mesa_noglu
       libGL libXrandr libXfixes libXcomposite libXdamage
     ]
-    ++ libintlOrEmpty
     ++ stdenv.lib.optionals gstreamerSupport [ gst_all_1.gstreamer
                                                gst_all_1.gst-plugins-base ];
 
@@ -37,8 +37,6 @@ in stdenv.mkDerivation rec {
     = stdenv.lib.optionalString (stdenv.isDarwin && pangoSupport)
       "-I${pango.dev}/include/pango-1.0 -I${cairo.dev}/include/cairo";
 
-  NIX_LDFLAGS = stdenv.lib.optionalString stdenv.isDarwin "-lintl";
-
   #doCheck = true; # all tests fail (no idea why)
 
   passthru = {
diff --git a/pkgs/development/libraries/confuse/default.nix b/pkgs/development/libraries/confuse/default.nix
index 95af4d94cf5..3257dfe5d37 100644
--- a/pkgs/development/libraries/confuse/default.nix
+++ b/pkgs/development/libraries/confuse/default.nix
@@ -1,10 +1,11 @@
 {stdenv, fetchurl}:
 
 stdenv.mkDerivation rec {
-  name = "confuse-2.7";
+  name = "confuse-${version}";
+  version = "3.2.1";
   src = fetchurl {
-    url = "mirror://savannah/confuse/${name}.tar.gz";
-    sha256 = "0y47r2ashz44wvnxdb18ivpmj8nxhw3y9bf7v9w0g5byhgyp89g3";
+    url = "https://github.com/martinh/libconfuse/releases/download/v${version}/${name}.tar.xz";
+    sha256 = "0pnjmlj9i0alp407qd7c0vq83sz7gpsjrbdgpcn4xvzjp9r35ii3";
   };
 
   meta = {
diff --git a/pkgs/development/libraries/cpp-gsl/default.nix b/pkgs/development/libraries/cpp-gsl/default.nix
index ecd86354ee8..833275c72bd 100644
--- a/pkgs/development/libraries/cpp-gsl/default.nix
+++ b/pkgs/development/libraries/cpp-gsl/default.nix
@@ -12,6 +12,7 @@ stdenv.mkDerivation rec {
     sha256 = "0h8py468bvxnydkjs352d7a9s8hk0ihc7msjkcnzj2d7nzp5nsc1";
   };
 
+  NIX_CFLAGS_COMPILE = "-Wno-error=sign-conversion";
   nativeBuildInputs = [ cmake catch ];
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/libraries/cracklib/default.nix b/pkgs/development/libraries/cracklib/default.nix
index d316b5bf2d1..aa8b4231a86 100644
--- a/pkgs/development/libraries/cracklib/default.nix
+++ b/pkgs/development/libraries/cracklib/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, libintlOrEmpty, zlib, gettext }:
+{ stdenv, fetchurl, zlib, gettext }:
 
 stdenv.mkDerivation rec {
   name = "cracklib-2.9.6";
@@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
     sha256 = "0hrkb0prf7n92w6rxgq0ilzkk6rkhpys2cfqkrbzswp27na7dkqp";
   };
 
-  buildInputs = [ libintlOrEmpty zlib gettext ];
+  buildInputs = [ zlib gettext ];
 
   meta = with stdenv.lib; {
     homepage    = https://github.com/cracklib/cracklib;
diff --git a/pkgs/development/libraries/ctpp2/default.nix b/pkgs/development/libraries/ctpp2/default.nix
index bb1d4458f50..bf57bab2f22 100644
--- a/pkgs/development/libraries/ctpp2/default.nix
+++ b/pkgs/development/libraries/ctpp2/default.nix
@@ -16,6 +16,8 @@ stdenv.mkDerivation rec {
     sed -ie 's/<stdlib.h>/<stdlib.h>\n#include <unistd.h>/' src/CTPP2FileSourceLoader.cpp
   '';
 
+  doCheck = false; # fails
+
   meta = {
     description = "A high performance templating engine";
     homepage = http://ctpp.havoc.ru;
diff --git a/pkgs/development/libraries/cyrus-sasl/default.nix b/pkgs/development/libraries/cyrus-sasl/default.nix
index 68398e93764..7a9e3991aad 100644
--- a/pkgs/development/libraries/cyrus-sasl/default.nix
+++ b/pkgs/development/libraries/cyrus-sasl/default.nix
@@ -22,7 +22,8 @@ stdenv.mkDerivation rec {
 
   patches = [
     ./missing-size_t.patch # https://bugzilla.redhat.com/show_bug.cgi?id=906519
-    (fetchpatch { # CVE-2013-4122
+    (fetchpatch {
+      name = "CVE-2013-4122.patch";
       url = "http://sourceforge.net/projects/miscellaneouspa/files/glibc217/cyrus-sasl-2.1.26-glibc217-crypt.diff";
       sha256 = "05l7dh1w9d5fvzg0pjwzqh0fy4ah8y5cv6v67s4ssbq8xwd4pkf2";
     })
diff --git a/pkgs/development/libraries/db/generic.nix b/pkgs/development/libraries/db/generic.nix
index 4a11c2b9893..d4398692a4e 100644
--- a/pkgs/development/libraries/db/generic.nix
+++ b/pkgs/development/libraries/db/generic.nix
@@ -20,6 +20,8 @@ stdenv.mkDerivation (rec {
 
   patches = extraPatches;
 
+  outputs = [ "out" "lib" ];
+
   configureFlags =
     [
       (if cxxSupport then "--enable-cxx" else "--disable-cxx")
diff --git a/pkgs/development/libraries/dbus-glib/default.nix b/pkgs/development/libraries/dbus-glib/default.nix
index 4d27552d735..c8bc96f80fd 100644
--- a/pkgs/development/libraries/dbus-glib/default.nix
+++ b/pkgs/development/libraries/dbus-glib/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, pkgconfig, expat, gettext, libiconv, dbus, glib }:
 
 stdenv.mkDerivation rec {
-  name = "dbus-glib-0.108";
+  name = "dbus-glib-0.110";
 
   src = fetchurl {
     url = "${meta.homepage}/releases/dbus-glib/${name}.tar.gz";
-    sha256 = "0b307hw9j41npzr6niw1bs6ryp87m5yafg492gqwvsaj4dz0qd4z";
+    sha256 = "09g8swvc95bk1z6j8sw463p2v0dqmgm2zjfndf7i8sbcyq67dr3w";
   };
 
   outputs = [ "out" "dev" "devdoc" ];
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
     configureFlagsArray+=("--exec-prefix=$dev")
   '';
 
-  doCheck = true;
+  doCheck = false;
 
   passthru = { inherit dbus glib; };
 
diff --git a/pkgs/development/libraries/dbus/default.nix b/pkgs/development/libraries/dbus/default.nix
index aa2af9a2ebc..4f6bd829099 100644
--- a/pkgs/development/libraries/dbus/default.nix
+++ b/pkgs/development/libraries/dbus/default.nix
@@ -6,8 +6,8 @@ assert x11Support -> libX11 != null
                   && libSM != null;
 
 let
-  version = "1.10.24";
-  sha256 = "06ydmrg76l1kwl3190d72zpiy3qxy248x6gskxbj9qiqfsr4w63i";
+  version = "1.12.8";
+  sha256 = "1cvfi7jiby12h0f5gbysphhk99m6mch87ab3cqxkj0w36gkrkp72";
 
 self = stdenv.mkDerivation {
     name = "dbus-${version}";
diff --git a/pkgs/development/libraries/dbus/make-dbus-conf.nix b/pkgs/development/libraries/dbus/make-dbus-conf.nix
index 71da22ee374..b5bf2b23000 100644
--- a/pkgs/development/libraries/dbus/make-dbus-conf.nix
+++ b/pkgs/development/libraries/dbus/make-dbus-conf.nix
@@ -24,16 +24,17 @@ runCommand "dbus-1"
           rewritePrefix="file://${dbus}/share/xml/dbus/"/>
       </catalog>
     '';
+    nativeBuildInputs = [ libxslt.bin ];
   }
   ''
     mkdir -p $out
 
-    ${libxslt.bin}/bin/xsltproc --nonet \
+    xsltproc --nonet \
       --stringparam serviceDirectories "$serviceDirectories" \
       --stringparam suidHelper "$suidHelper" \
       ${./make-system-conf.xsl} ${dbus}/share/dbus-1/system.conf \
       > $out/system.conf
-    ${libxslt.bin}/bin/xsltproc --nonet \
+    xsltproc --nonet \
       --stringparam serviceDirectories "$serviceDirectories" \
       ${./make-session-conf.xsl} ${dbus}/share/dbus-1/session.conf \
       > $out/session.conf
diff --git a/pkgs/development/libraries/dbus/make-system-conf.xsl b/pkgs/development/libraries/dbus/make-system-conf.xsl
index 3d8b823437d..dd644b4bce7 100644
--- a/pkgs/development/libraries/dbus/make-system-conf.xsl
+++ b/pkgs/development/libraries/dbus/make-system-conf.xsl
@@ -27,6 +27,7 @@
       <xsl:for-each select="str:tokenize($serviceDirectories)">
         <servicedir><xsl:value-of select="." />/share/dbus-1/system-services</servicedir>
         <includedir><xsl:value-of select="." />/etc/dbus-1/system.d</includedir>
+        <includedir><xsl:value-of select="." />/share/dbus-1/system.d</includedir>
       </xsl:for-each>
     </busconfig>
   </xsl:template>
diff --git a/pkgs/development/libraries/dlib/default.nix b/pkgs/development/libraries/dlib/default.nix
index 53ec9949f17..eaae1f7ecda 100644
--- a/pkgs/development/libraries/dlib/default.nix
+++ b/pkgs/development/libraries/dlib/default.nix
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
     homepage = http://www.dlib.net;
     license = licenses.boost;
     maintainers = with maintainers; [ christopherpoole ];
-    platforms = platforms.all;
+    platforms = platforms.linux;
   };
 }
 
diff --git a/pkgs/development/libraries/double-conversion/default.nix b/pkgs/development/libraries/double-conversion/default.nix
index c656220f760..7a33559cbc7 100644
--- a/pkgs/development/libraries/double-conversion/default.nix
+++ b/pkgs/development/libraries/double-conversion/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, cmake }:
+{ stdenv, lib, fetchFromGitHub, cmake }:
 
 stdenv.mkDerivation rec {
   name = "double-conversion-${version}";
@@ -15,6 +15,11 @@ stdenv.mkDerivation rec {
 
   cmakeFlags = [ "-DBUILD_SHARED_LIBS=ON" ];
 
+  # Case sensitivity issue
+  preConfigure = lib.optionalString stdenv.isDarwin ''
+    rm BUILD
+  '';
+
   enableParallelBuilding = true;
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/libraries/drumstick/default.nix b/pkgs/development/libraries/drumstick/default.nix
index a46c6bab647..ab25a651844 100644
--- a/pkgs/development/libraries/drumstick/default.nix
+++ b/pkgs/development/libraries/drumstick/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   name = "drumstick-${version}";
-  version = "1.1.0";
+  version = "1.1.1";
 
   src = fetchurl {
     url = "mirror://sourceforge/drumstick/${version}/${name}.tar.bz2";
-    sha256 = "13pkfqrav30bbcddgf1imd7jk6lpqbxkz1qv31718pdl446jq7df";
+    sha256 = "0avwxr6n9ra7narxc5lmkhdqi8ix10gmif8rpd06wp4g9iv46xrn";
   };
 
   outputs = [ "out" "dev" "man" ];
diff --git a/pkgs/development/libraries/easyloggingpp/default.nix b/pkgs/development/libraries/easyloggingpp/default.nix
index 80c3f7b100e..8c6337cfaf6 100644
--- a/pkgs/development/libraries/easyloggingpp/default.nix
+++ b/pkgs/development/libraries/easyloggingpp/default.nix
@@ -4,12 +4,12 @@
 { stdenv, fetchFromGitHub, cmake, gtest }:
 stdenv.mkDerivation rec {
   name = "easyloggingpp-${version}";
-  version = "9.96.0";
+  version = "9.96.4";
   src = fetchFromGitHub {
     owner = "muflihun";
     repo = "easyloggingpp";
     rev = "v${version}";
-    sha256 = "134arh13rksfsxa80h6xw104458ihzp1mpblz5sprx5gxkq7yqfv";
+    sha256 = "0l0b8cssxkj0wlfqjj8hfnfvrjcxa81h947d54w86iadrilrsprb";
   };
 
   nativeBuildInputs = [cmake];
diff --git a/pkgs/development/libraries/eccodes/default.nix b/pkgs/development/libraries/eccodes/default.nix
index eb197d11720..a453a70dcad 100644
--- a/pkgs/development/libraries/eccodes/default.nix
+++ b/pkgs/development/libraries/eccodes/default.nix
@@ -6,11 +6,11 @@
 with stdenv.lib; 
 stdenv.mkDerivation rec {
   name = "eccodes-${version}";
-  version = "2.6.0";
+  version = "2.7.3";
 
   src = fetchurl {
     url = "https://software.ecmwf.int/wiki/download/attachments/45757960/eccodes-${version}-Source.tar.gz";
-    sha256 = "0pzibd3vdqmqsqsnfir6q66p6f3cmr9hrrixzpfhf7k62vv9y1ha";
+    sha256 = "1nvip0cmbhzmgzyi65qw8406p460alw1842dw2r4nq1lpcyi9avg";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/eclib/default.nix b/pkgs/development/libraries/eclib/default.nix
index 3651b9e7660..b2a224e10b1 100644
--- a/pkgs/development/libraries/eclib/default.nix
+++ b/pkgs/development/libraries/eclib/default.nix
@@ -1,21 +1,44 @@
-{stdenv, fetchFromGitHub, autoconf, automake, libtool, gettext, autoreconfHook
-, pari, ntl, gmp}:
+{ stdenv
+, fetchFromGitHub
+, autoreconfHook
+, libtool
+, gettext
+, pari
+, ntl
+, gmp
+# "FLINT is optional and only used for one part of sparse matrix reduction,
+# which is used in the modular symbol code but not mwrank or other elliptic
+# curve programs." -- https://github.com/JohnCremona/eclib/blob/master/README
+, withFlint ? false, flint ? null
+}:
+
+assert withFlint -> flint != null;
+
 stdenv.mkDerivation rec {
   name = "${pname}-${version}";
   pname = "eclib";
-  version = "20160720";
-  # or fetchFromGitHub(owner,repo,rev) or fetchgit(rev)
+  version = "20171219";
   src = fetchFromGitHub {
     owner = "JohnCremona";
     repo = "${pname}";
-    rev = "${version}";
-    sha256 = "0qrcd5c8cqhw9f14my6k6013w8li5vdigrjvchkr19n2l8g75j0h";
+    rev = "v${version}";
+    sha256 = "1yw488ng0labpxqqpxq0710qnndxl8plvcaqklpbwwd62a47knlr";
   };
-  buildInputs = [pari ntl gmp];
-  nativeBuildInputs = [autoconf automake libtool gettext autoreconfHook];
+  buildInputs = [
+    pari
+    ntl
+    gmp
+  ] ++ stdenv.lib.optionals withFlint [
+    flint
+  ];
+  nativeBuildInputs = [
+    autoreconfHook
+  ];
+  doCheck = true;
   meta = {
     inherit version;
     description = ''Elliptic curve tools'';
+    homepage = https://github.com/JohnCremona/eclib;
     license = stdenv.lib.licenses.gpl2Plus;
     maintainers = [stdenv.lib.maintainers.raskin];
     platforms = stdenv.lib.platforms.linux;
diff --git a/pkgs/development/libraries/eigen/3.3.nix b/pkgs/development/libraries/eigen/3.3.nix
index 94652b12934..5d13fb09dcc 100644
--- a/pkgs/development/libraries/eigen/3.3.nix
+++ b/pkgs/development/libraries/eigen/3.3.nix
@@ -1,7 +1,7 @@
 {stdenv, fetchurl, cmake}:
 
 let
-  version = "3.3.3";
+  version = "3.3.4";
 in
 stdenv.mkDerivation {
   name = "eigen-${version}";
@@ -9,7 +9,7 @@ stdenv.mkDerivation {
   src = fetchurl {
     url = "http://bitbucket.org/eigen/eigen/get/${version}.tar.gz";
     name = "eigen-${version}.tar.gz";
-    sha256 = "0pz7k8kd9nydmsj2prjs67apixipl6pll3f0cjy0y3bvlazqr1wl";
+    sha256 = "1q85bgd6hnsgn0kq73wa4jwh4qdwklfg73pgqrz4zmxvzbqyi1j2";
   };
   
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/eigen/default.nix b/pkgs/development/libraries/eigen/default.nix
index 5869276a797..4e1559e5c73 100644
--- a/pkgs/development/libraries/eigen/default.nix
+++ b/pkgs/development/libraries/eigen/default.nix
@@ -5,19 +5,21 @@ let
 in
 stdenv.mkDerivation {
   name = "eigen-${version}";
-  
+
   src = fetchurl {
     url = "http://bitbucket.org/eigen/eigen/get/${version}.tar.gz";
     name = "eigen-${version}.tar.gz";
     sha256 = "00l52y7m276gh8wjkqqcxz6x687azrm7a70s3iraxnpy9bxa9y04";
   };
-  
+
   nativeBuildInputs = [ cmake ];
 
+  doCheck = false; # a couple of tests fail with "Child aborted"
+
   postInstall = ''
     sed -e '/Cflags:/s@''${prefix}/@@' -i "$out"/share/pkgconfig/eigen3.pc
   '';
-  
+
   meta = with stdenv.lib; {
     description = "C++ template library for linear algebra: vectors, matrices, and related algorithms";
     license = licenses.lgpl3Plus;
diff --git a/pkgs/development/libraries/enchant/2.x.nix b/pkgs/development/libraries/enchant/2.x.nix
new file mode 100644
index 00000000000..8b559bd03c8
--- /dev/null
+++ b/pkgs/development/libraries/enchant/2.x.nix
@@ -0,0 +1,29 @@
+{ stdenv, fetchurl, aspell, pkgconfig, glib, hunspell, hspell }:
+
+let
+  version = "2.2.3";
+  pname = "enchant";
+in stdenv.mkDerivation rec {
+  name = "${pname}-${version}";
+
+  outputs = [ "out" "dev" ];
+
+  src = fetchurl {
+    url = "https://github.com/AbiWord/${pname}/releases/download/v${version}/${name}.tar.gz";
+    sha256 = "0v87p1ls0gym95qirijpclk650sjbkcjjl6ssk059zswcwaykn5b";
+  };
+
+  nativeBuildInputs = [ pkgconfig ];
+  buildInputs = [ glib hunspell ];
+  propagatedBuildInputs = [ hspell aspell ]; # libtool puts it to la file
+
+  doCheck = false; # fails to compile with with "UnitTest++.h: No such file or directory"
+
+  meta = with stdenv.lib; {
+    description = "Generic spell checking library";
+    homepage = https://abiword.github.io/enchant/;
+    license = licenses.lgpl21Plus; # with extra provision for non-free checkers
+    maintainers = with maintainers; [ jtojnar ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/development/libraries/epoxy/default.nix b/pkgs/development/libraries/epoxy/default.nix
index 483300b13f5..cc62b2776ed 100644
--- a/pkgs/development/libraries/epoxy/default.nix
+++ b/pkgs/development/libraries/epoxy/default.nix
@@ -1,29 +1,37 @@
 { stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, utilmacros, python
-, libGLU_combined, libX11
+, libGL, libX11
 }:
 
+with stdenv.lib;
+
 stdenv.mkDerivation rec {
   name = "epoxy-${version}";
-  version = "1.3.1";
+  version = "1.5.1";
 
   src = fetchFromGitHub {
     owner = "anholt";
     repo = "libepoxy";
-    rev = "v${version}";
-    sha256 = "0dfkd4xbp7v5gwsf6qwaraz54yzizf3lj5ymyc0msjn0adq3j5yl";
+    rev = "${version}";
+    sha256 = "1811agxr7g9wd832np8sw152j468kg3qydmfkc564v54ncfcgaci";
   };
 
   outputs = [ "out" "dev" ];
 
   nativeBuildInputs = [ autoreconfHook pkgconfig utilmacros python ];
-  buildInputs = [ libGLU_combined libX11 ];
+  buildInputs = [ libGL libX11 ];
 
-  preConfigure = stdenv.lib.optional stdenv.isDarwin ''
+  preConfigure = optionalString stdenv.isDarwin ''
     substituteInPlace configure --replace build_glx=no build_glx=yes
     substituteInPlace src/dispatch_common.h --replace "PLATFORM_HAS_GLX 0" "PLATFORM_HAS_GLX 1"
   '';
 
-  meta = with stdenv.lib; {
+  patches = [ ./libgl-path.patch ];
+
+  NIX_CFLAGS_COMPILE = ''-DLIBGL_PATH="${getLib libGL}/lib"'';
+
+  doCheck = false; # needs X11
+
+  meta = {
     description = "A library for handling OpenGL function pointer management";
     homepage = https://github.com/anholt/libepoxy;
     license = licenses.mit;
diff --git a/pkgs/development/libraries/epoxy/libgl-path.patch b/pkgs/development/libraries/epoxy/libgl-path.patch
new file mode 100644
index 00000000000..6f50b9d262b
--- /dev/null
+++ b/pkgs/development/libraries/epoxy/libgl-path.patch
@@ -0,0 +1,35 @@
+From 4046e0ac8ed93354c01de5f3b5cae790cce70404 Mon Sep 17 00:00:00 2001
+From: Will Dietz <w@wdtz.org>
+Date: Thu, 29 Mar 2018 07:21:02 -0500
+Subject: [PATCH] Explicitly search LIBGL_PATH as fallback, if defined.
+
+---
+ src/dispatch_common.c | 12 ++++++++++++
+ 1 file changed, 12 insertions(+)
+
+diff --git a/src/dispatch_common.c b/src/dispatch_common.c
+index bc2fb94..776237b 100644
+--- a/src/dispatch_common.c
++++ b/src/dispatch_common.c
+@@ -306,6 +306,18 @@ get_dlopen_handle(void **handle, const char *lib_name, bool exit_on_fail)
+     pthread_mutex_lock(&api.mutex);
+     if (!*handle) {
+         *handle = dlopen(lib_name, RTLD_LAZY | RTLD_LOCAL);
++#ifdef LIBGL_PATH
++        if (!*handle) {
++          char pathbuf[sizeof(LIBGL_PATH) + 1 + 1024 + 1];
++          int l = snprintf(pathbuf, sizeof(pathbuf), "%s/%s", LIBGL_PATH, lib_name);
++          if (l < 0 || l >= sizeof(pathbuf)) {
++            // This really shouldn't happen
++            fprintf(stderr, "Error prefixing library pathname\n");
++            exit(1);
++          }
++          *handle = dlopen(pathbuf, RTLD_LAZY | RTLD_LOCAL);
++        }
++#endif
+         if (!*handle) {
+             if (exit_on_fail) {
+                 fprintf(stderr, "Couldn't open %s: %s\n", lib_name, dlerror());
+-- 
+2.16.3
+
diff --git a/pkgs/development/libraries/exempi/default.nix b/pkgs/development/libraries/exempi/default.nix
index 96f4af3226b..1f58fd698da 100644
--- a/pkgs/development/libraries/exempi/default.nix
+++ b/pkgs/development/libraries/exempi/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, expat, zlib, boost, libiconv, darwin }:
 
 stdenv.mkDerivation rec {
-  name = "exempi-2.4.4";
+  name = "exempi-2.4.5";
 
   src = fetchurl {
     url = "http://libopenraw.freedesktop.org/download/${name}.tar.bz2";
-    sha256 = "1c1xxiw9lazdaz4zvrnvcy9pif9l1wib7zy91m48i7a4bnf9mmd2";
+    sha256 = "07i29xmg8bqriviaf4vi1mwha4lrw85kfla29cfym14fp3z8aqa0";
   };
 
   configureFlags = [
diff --git a/pkgs/development/libraries/farbfeld/default.nix b/pkgs/development/libraries/farbfeld/default.nix
index 3f309f06630..c23fc0bc59f 100644
--- a/pkgs/development/libraries/farbfeld/default.nix
+++ b/pkgs/development/libraries/farbfeld/default.nix
@@ -1,18 +1,22 @@
-{ stdenv, fetchgit, libpng, libjpeg }:
+{ stdenv, fetchgit, makeWrapper, file, libpng, libjpeg }:
 
 stdenv.mkDerivation rec {
   name = "farbfeld-${version}";
-  version = "3";
+  version = "4";
 
   src = fetchgit {
-    url = "http://git.suckless.org/farbfeld";
+    url = "https://git.suckless.org/farbfeld";
     rev = "refs/tags/${version}";
-    sha256 = "1k9cnw2zk9ywcn4hibf7wgi4czwyxhgjdmia6ghpw3wcz8vi71xl";
+    sha256 = "0pkmkvv5ggpzqwqdchd19442x8gh152xy5z1z13ipfznhspsf870";
   };
 
   buildInputs = [ libpng libjpeg ];
+  nativeBuildInputs = [ makeWrapper ];
 
   installFlags = "PREFIX=/ DESTDIR=$(out)";
+  postInstall = ''
+    wrapProgram "$out/bin/2ff" --prefix PATH : "${file}/bin"
+  '';
 
   meta = with stdenv.lib; {
     description = "Suckless image format with conversion tools";
diff --git a/pkgs/development/libraries/farstream/default.nix b/pkgs/development/libraries/farstream/default.nix
index ebb581bdbcc..020d0454286 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
+, gst-python, gupnp-igd, gobjectIntrospection
 , gst-plugins-good, gst-plugins-bad, gst-libav
 }:
 
@@ -7,21 +7,25 @@ let
   inherit (pythonPackages) python pygobject2;
 in stdenv.mkDerivation rec {
   name = "farstream-0.2.8";
+
+  outputs = [ "out" "dev" ];
+
   src = fetchurl {
-    url = "http://www.freedesktop.org/software/farstream/releases/farstream/${name}.tar.gz";
+    url = "https://www.freedesktop.org/software/farstream/releases/farstream/${name}.tar.gz";
     sha256 = "0249ncd20x5mf884fd8bw75c3118b9fdml837v4fib349xmrqfrb";
   };
 
   buildInputs = [ libnice python pygobject2 gupnp-igd libnice ];
 
-  nativeBuildInputs = [ pkgconfig ];
+  nativeBuildInputs = [ pkgconfig gobjectIntrospection ];
 
-  propagatedBuildInputs = [ gstreamer gst-plugins-base gst-python
+  propagatedBuildInputs = [
+    gstreamer gst-plugins-base gst-python
     gst-plugins-good gst-plugins-bad gst-libav
-    ];
+  ];
 
   meta = {
-    homepage = http://www.freedesktop.org/wiki/Software/Farstream;
+    homepage = https://www.freedesktop.org/wiki/Software/Farstream;
     description = "Audio/Video Communications Framework formely known as farsight";
     maintainers = [ ];
     platforms = stdenv.lib.platforms.linux;
diff --git a/pkgs/development/libraries/fcppt/default.nix b/pkgs/development/libraries/fcppt/default.nix
index c4332df5a3d..660cdfa6414 100644
--- a/pkgs/development/libraries/fcppt/default.nix
+++ b/pkgs/development/libraries/fcppt/default.nix
@@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
       programming (which is both efficient and syntactically affordable in
       C++11).
     '';
-    homepage = http://fcppt.org;
+    homepage = https://fcppt.org;
     license = licenses.boost;
     maintainers = with maintainers; [ pmiddend ];
     platforms = platforms.linux;
diff --git a/pkgs/development/libraries/fdk-aac/default.nix b/pkgs/development/libraries/fdk-aac/default.nix
index 59dc4721812..903f43b1e68 100644
--- a/pkgs/development/libraries/fdk-aac/default.nix
+++ b/pkgs/development/libraries/fdk-aac/default.nix
@@ -5,11 +5,11 @@
 with stdenv.lib;
 stdenv.mkDerivation rec {
   name = "fdk-aac-${version}";
-  version = "0.1.5";
+  version = "0.1.6";
 
   src = fetchurl {
     url = "mirror://sourceforge/opencore-amr/fdk-aac/${name}.tar.gz";
-    sha256 = "1msdkcf559agmpycd4bk0scm2s2h9jyzbnnw1yrfarxlcwm5jr11";
+    sha256 = "1bfkpqba0v2jgxqwaf9xsrr63a089wckrir497lm6nbbmi11pdma";
   };
 
   configureFlags = [ ]
diff --git a/pkgs/development/libraries/fflas-ffpack/default.nix b/pkgs/development/libraries/fflas-ffpack/default.nix
index 0e4e897e27a..5f99f35a159 100644
--- a/pkgs/development/libraries/fflas-ffpack/default.nix
+++ b/pkgs/development/libraries/fflas-ffpack/default.nix
@@ -1,17 +1,42 @@
-{stdenv, fetchFromGitHub, autoreconfHook, givaro, pkgconfig, openblas, liblapack}:
+{ stdenv, fetchFromGitHub, autoreconfHook, givaro, pkgconfig, openblas
+, gmpxx
+, optimize ? false # impure
+}:
 stdenv.mkDerivation rec {
   name = "${pname}-${version}";
   pname = "fflas-ffpack";
-  version = "2.2.2";
+  version = "2.3.2";
   src = fetchFromGitHub {
     owner = "linbox-team";
     repo = "${pname}";
     rev = "v${version}";
-    sha256 = "0k1f4pb7azrm6ajncvg7vni7ixfmn6fssd5ld4xddbi6jqbsf9rd";
+    sha256 = "1cqhassj2dny3gx0iywvmnpq8ca0d6m82xl5rz4mb8gaxr2kwddl";
   };
-  nativeBuildInputs = [ autoreconfHook pkgconfig ];
-  buildInputs = [ givaro (liblapack.override {shared = true;}) openblas];
-  configureFlags = "--with-blas-libs=-lopenblas --with-lapack-libs=-llapack";
+  checkInputs = [
+    gmpxx
+  ];
+  nativeBuildInputs = [
+    autoreconfHook
+    pkgconfig
+  ] ++ stdenv.lib.optionals doCheck checkInputs;
+  buildInputs = [ givaro openblas];
+  configureFlags = [
+    "--with-blas-libs=-lopenblas"
+    "--with-lapack-libs=-lopenblas"
+  ] ++ stdenv.lib.optionals (!optimize) [
+    # disable SIMD instructions (which are enabled *when available* by default)
+    "--disable-sse"
+    "--disable-sse2"
+    "--disable-sse3"
+    "--disable-ssse3"
+    "--disable-sse41"
+    "--disable-sse42"
+    "--disable-avx"
+    "--disable-avx2"
+    "--disable-fma"
+    "--disable-fma4"
+  ];
+  doCheck = true;
   meta = {
     inherit version;
     description = ''Finite Field Linear Algebra Subroutines'';
diff --git a/pkgs/development/libraries/ffmpeg-full/default.nix b/pkgs/development/libraries/ffmpeg-full/default.nix
index f991418ffda..6fd8bfc3e19 100644
--- a/pkgs/development/libraries/ffmpeg-full/default.nix
+++ b/pkgs/development/libraries/ffmpeg-full/default.nix
@@ -119,7 +119,7 @@
 #, utvideo ? null # Ut Video de/encoder
 , vid-stab ? null # Video stabilization
 #, vo-aacenc ? null # AAC encoder
-#, vo-amrwbenc ? null # AMR-WB encoder
+, vo-amrwbenc ? null # AMR-WB encoder
 , wavpack ? null # Wavpack encoder
 , x264 ? null # H.264/AVC encoder
 , x265 ? null # H.265/HEVC encoder
@@ -249,7 +249,10 @@ stdenv.mkDerivation rec {
       --replace /usr/local/lib/frei0r-1 ${frei0r}/lib/frei0r-1
   '';
 
+  configurePlatforms = [];
   configureFlags = [
+    "--target_os=${hostPlatform.parsed.kernel.name}"
+    "--arch=${hostPlatform.parsed.cpu.name}"
     /*
      *  Licensing flags
      */
@@ -371,8 +374,6 @@ stdenv.mkDerivation rec {
     #(enableFeature quvi "libquvi")
     (enableFeature (rtmpdump != null) "librtmp")
     #(enableFeature (schroedinger != null) "libschroedinger")
-    #(enableFeature (shine != null) "libshine")
-    (enableFeature (samba != null && gplLicensing && version3Licensing) "libsmbclient")
     (enableFeature (SDL2 != null) "sdl2")
     (enableFeature (soxr != null) "libsoxr")
     (enableFeature (speex != null) "libspeex")
@@ -380,7 +381,7 @@ stdenv.mkDerivation rec {
     #(enableFeature (utvideo != null && gplLicensing) "libutvideo")
     (enableFeature (vid-stab != null && gplLicensing) "libvidstab") # Actual min. version 2.0
     #(enableFeature (vo-aacenc != null && version3Licensing) "libvo-aacenc")
-    #(enableFeature (vo-amrwbenc != null && version3Licensing) "libvo-amrwbenc")
+    (enableFeature (vo-amrwbenc != null && version3Licensing) "libvo-amrwbenc")
     (enableFeature (wavpack != null) "libwavpack")
     (enableFeature (x264 != null && gplLicensing) "libx264")
     (enableFeature (x265 != null && gplLicensing) "libx265")
@@ -396,6 +397,9 @@ stdenv.mkDerivation rec {
     (enableFeature optimizationsDeveloper "optimizations")
     (enableFeature extraWarningsDeveloper "extra-warnings")
     (enableFeature strippingDeveloper "stripping")
+  ] ++ optionals (stdenv.hostPlatform != stdenv.buildPlatform) [
+    "--cross-prefix=${stdenv.cc.targetPrefix}"
+    "--enable-cross-compile"
   ];
 
   nativeBuildInputs = [ perl pkgconfig texinfo yasm ];
@@ -405,7 +409,8 @@ stdenv.mkDerivation rec {
     libjack2 ladspaH lame libass libbluray libbs2b libcaca libdc1394 libmodplug
     libogg libopus libssh libtheora libvdpau libvorbis libvpx libwebp libX11
     libxcb libXv lzma openal openjpeg_1 libpulseaudio rtmpdump opencore-amr
-    samba SDL2 soxr speex vid-stab wavpack x264 x265 xavs xvidcore zeromq4 zlib
+    samba SDL2 soxr speex vid-stab vo-amrwbenc wavpack x264 x265 xavs xvidcore
+    zeromq4 zlib
   ] ++ optional openglExtlib libGLU_combined
     ++ optionals nonfreeLicensing [ fdk_aac openssl ]
     ++ optional ((isLinux || isFreeBSD) && libva != null) libva
@@ -431,21 +436,8 @@ stdenv.mkDerivation rec {
     done
   '';
 
-
   enableParallelBuilding = true;
 
-  /* Cross-compilation is untested, consider this an outline, more work
-     needs to be done to portions of the build to get it to work correctly */
-  crossAttrs = {
-    configurePlatforms = [];
-    configureFlags = configureFlags ++ [
-      "--cross-prefix=${stdenv.cc.targetPrefix}"
-      "--enable-cross-compile"
-      "--target_os=${hostPlatform.parsed.kernel.name}"
-      "--arch=${hostPlatform.parsed.cpu.name}"
-    ];
-  };
-
   meta = with stdenv.lib; {
     description = "A complete, cross-platform solution to record, convert and stream audio and video";
     homepage = https://www.ffmpeg.org/;
diff --git a/pkgs/development/libraries/ffmpeg/4.nix b/pkgs/development/libraries/ffmpeg/4.nix
new file mode 100644
index 00000000000..a6e67052cd0
--- /dev/null
+++ b/pkgs/development/libraries/ffmpeg/4.nix
@@ -0,0 +1,12 @@
+{ stdenv, callPackage, fetchpatch
+# Darwin frameworks
+, Cocoa, CoreMedia
+, ...
+}@args:
+
+callPackage ./generic.nix (args // rec {
+  version = "${branch}";
+  branch = "4.0";
+  sha256 = "1f3k8nz5ag6szsfhlrz66qm8s1yxk1vphqvcfr4ps4690vckk2ii";
+  darwinFrameworks = [ Cocoa CoreMedia ];
+})
diff --git a/pkgs/development/libraries/ffmpeg/generic.nix b/pkgs/development/libraries/ffmpeg/generic.nix
index 530639d757d..270e9605582 100644
--- a/pkgs/development/libraries/ffmpeg/generic.nix
+++ b/pkgs/development/libraries/ffmpeg/generic.nix
@@ -79,7 +79,10 @@ stdenv.mkDerivation rec {
     ++ optional (reqMin "1.0") "doc" ; # just dev-doc
   setOutputFlags = false; # doesn't accept all and stores configureFlags in libs!
 
+  configurePlatforms = [];
   configureFlags = [
+      "--arch=${hostPlatform.parsed.cpu.name}"
+      "--target_os=${hostPlatform.parsed.kernel.name}"
     # License
       "--enable-gpl"
       "--enable-version3"
@@ -103,7 +106,7 @@ stdenv.mkDerivation rec {
       "--enable-ffmpeg"
       "--disable-ffplay"
       (ifMinVer "0.6" "--enable-ffprobe")
-      "--disable-ffserver"
+      (if reqMin "4" then null else "--disable-ffserver")
     # Libraries
       (ifMinVer "0.6" "--enable-avcodec")
       (ifMinVer "0.6" "--enable-avdevice")
@@ -145,6 +148,9 @@ stdenv.mkDerivation rec {
       "--disable-stripping"
     # Disable mmx support for 0.6.90
       (verFix null "0.6.90" "--disable-mmx")
+  ] ++ optionals (stdenv.hostPlatform == stdenv.buildPlatform) [
+      "--cross-prefix=${stdenv.cc.targetPrefix}"
+      "--enable-cross-compile"
   ] ++ optional stdenv.cc.isClang "--cc=clang";
 
   nativeBuildInputs = [ perl pkgconfig texinfo yasm ];
@@ -160,26 +166,15 @@ stdenv.mkDerivation rec {
     ++ optional vdpauSupport libvdpau
     ++ optional sdlSupport (if reqMin "3.2" then SDL2 else SDL);
 
-
   enableParallelBuilding = true;
 
+  doCheck = false; # fails
+
   postFixup = ''
     moveToOutput bin "$bin"
     moveToOutput share/ffmpeg/examples "$doc"
   '';
 
-  /* Cross-compilation is untested, consider this an outline, more work
-     needs to be done to portions of the build to get it to work correctly */
-  crossAttrs = {
-    configurePlatforms = [];
-    configureFlags = configureFlags ++ [
-      "--cross-prefix=${stdenv.cc.targetPrefix}"
-      "--enable-cross-compile"
-      "--target_os=${hostPlatform.parsed.kernel.name}"
-      "--arch=${hostPlatform.parsed.cpu.name}"
-    ];
-  };
-
   installFlags = [ "install-man" ];
 
   passthru = {
diff --git a/pkgs/development/libraries/flint/default.nix b/pkgs/development/libraries/flint/default.nix
index 94cc7688cc8..67bf7503db9 100644
--- a/pkgs/development/libraries/flint/default.nix
+++ b/pkgs/development/libraries/flint/default.nix
@@ -1,14 +1,51 @@
-{stdenv, fetchurl, gmp, mpir, mpfr, openblas, ntl}:
+{ stdenv
+, fetchurl
+, fetchpatch
+, gmp
+, mpir
+, mpfr
+, ntl
+, openblas ? null
+, withBlas ? true
+}:
+
+assert withBlas -> openblas != null;
+
 stdenv.mkDerivation rec {
   name = "flint-${version}";
-  version = "2.5.2";
-  # or fetchFromGitHub(owner,repo,rev) or fetchgit(rev)
+  version = "2.5.2"; # remove libflint.so.MAJOR patch when updating
   src = fetchurl {
     url = "http://www.flintlib.org/flint-${version}.tar.gz";
     sha256 = "11syazv1a8rrnac3wj3hnyhhflpqcmq02q8pqk2m6g2k6h0gxwfb";
   };
-  buildInputs = [gmp mpir mpfr openblas ntl];
-  configureFlags = "--with-gmp=${gmp} --with-mpir=${mpir} --with-mpfr=${mpfr} --with-blas=${openblas} --with-ntl=${ntl}";
+  buildInputs = [
+    gmp
+    mpir
+    mpfr
+    ntl
+  ] ++ stdenv.lib.optionals withBlas [
+    openblas
+  ];
+  propagatedBuildInputs = [
+    mpfr # flint.h includes mpfr.h
+  ];
+  configureFlags = [
+    "--with-gmp=${gmp}"
+    "--with-mpir=${mpir}"
+    "--with-mpfr=${mpfr}"
+    "--with-ntl=${ntl}"
+  ] ++ stdenv.lib.optionals withBlas [
+    "--with-blas=${openblas}"
+  ];
+  patches = [
+    (fetchpatch {
+      # Always produce libflint.so.MAJOR; will be included in the next flint version
+      # See https://github.com/wbhart/flint2/pull/347
+      url = "https://github.com/wbhart/flint2/commit/49fbcd8f736f847d3f9667f9f7d5567ef4550ecb.patch";
+      sha256 = "09w09bpq85kjf752bd3y3i5lvy59b8xjiy7qmrcxzibx2a21pj73";
+    })
+  ];
+  doCheck = true;
   meta = {
     inherit version;
     description = ''Fast Library for Number Theory'';
diff --git a/pkgs/development/libraries/flite/default.nix b/pkgs/development/libraries/flite/default.nix
index 31dad5e255a..0b4172cdc76 100644
--- a/pkgs/development/libraries/flite/default.nix
+++ b/pkgs/development/libraries/flite/default.nix
@@ -1,16 +1,21 @@
-{ stdenv, fetchurl }:
+{ stdenv, fetchFromGitHub, alsaLib }:
 
 stdenv.mkDerivation rec {
-  name = "flite-2.0.0";
+  name = "flite-2.1.0";
 
-  src = fetchurl {
-    url = "http://www.festvox.org/flite/packed/flite-2.0/${name}-release.tar.bz2";
-    sha256 = "04g4r83jh4cl0irc8bg7njngcah7749956v9s6sh552kzmh3i337";
+  src = fetchFromGitHub {
+    owner  = "festvox";
+    repo   = "flite";
+    rev    = "d673f65b2c4a8cd3da7447079309a6dc4bcf1a5e";
+    sha256 = "1kx43jvdln370590gfjhxxz3chxfi6kq18504wmdpljib2l0grjq";
   };
 
-  patches = [ ./fix-rpath.patch ];
+  buildInputs = [ alsaLib ];
 
-  configureFlags = [ "--enable-shared" ];
+  configureFlags = [
+    "--enable-shared"
+    "--with-audio=alsa"
+  ];
 
   enableParallelBuilding = true;
 
diff --git a/pkgs/development/libraries/flite/fix-rpath.patch b/pkgs/development/libraries/flite/fix-rpath.patch
deleted file mode 100644
index be774147c3f..00000000000
--- a/pkgs/development/libraries/flite/fix-rpath.patch
+++ /dev/null
@@ -1,5 +0,0 @@
---- a/main/Makefile
-+++ b/main/Makefile
-@@ -81 +80,1 @@ ifdef SHFLAGS
--flite_LIBS_flags += -Wl,-rpath $(LIBDIR) 
-+flite_LIBS_flags += -Wl,-rpath,$(INSTALLLIBDIR) 
diff --git a/pkgs/development/libraries/folly/default.nix b/pkgs/development/libraries/folly/default.nix
index 45e3c964e99..17c6f75a59d 100644
--- a/pkgs/development/libraries/folly/default.nix
+++ b/pkgs/development/libraries/folly/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   name = "folly-${version}";
-  version = "2017.11.06.00";
+  version = "2018.04.23.00";
 
   src = fetchFromGitHub {
     owner = "facebook";
     repo = "folly";
     rev = "v${version}";
-    sha256 = "11sn4gwqw94ygc2s4bzqy5k67v3rr20gy375brdcrl5rv0r2hhc0";
+    sha256 = "0wfp4pxi71bi3bz3h5jxsvdd5wa8q6wqdgsx0jvyvaiiy7v884sv";
   };
 
   nativeBuildInputs = [ autoreconfHook python pkgconfig ];
diff --git a/pkgs/development/libraries/fontconfig/2.10.nix b/pkgs/development/libraries/fontconfig/2.10.nix
index b02d9ccdcef..eae93d96f45 100644
--- a/pkgs/development/libraries/fontconfig/2.10.nix
+++ b/pkgs/development/libraries/fontconfig/2.10.nix
@@ -17,6 +17,7 @@ stdenv.mkDerivation rec {
   buildInputs = [ expat ];
 
   configureFlags = [
+    "--with-arch=${hostPlatform.parsed.cpu.name}"
     "--sysconfdir=/etc"
     "--with-cache-dir=/var/cache/fontconfig"
     "--disable-docs"
diff --git a/pkgs/development/libraries/fontconfig/default.nix b/pkgs/development/libraries/fontconfig/default.nix
index dafd4834a94..c2d99446d81 100644
--- a/pkgs/development/libraries/fontconfig/default.nix
+++ b/pkgs/development/libraries/fontconfig/default.nix
@@ -1,5 +1,5 @@
 { stdenv, substituteAll, fetchurl, fetchpatch
-, pkgconfig, freetype, expat, libxslt, dejavu_fonts
+, pkgconfig, freetype, expat, libxslt, gperf, dejavu_fonts
 , hostPlatform
 }:
 
@@ -18,11 +18,12 @@ let
   configVersion = "2.11"; # bump whenever fontconfig breaks compatibility with older configurations
 in
 stdenv.mkDerivation rec {
-  name = "fontconfig-2.12.1";
+  name = "fontconfig-${version}";
+  version = "2.12.6";
 
   src = fetchurl {
     url = "http://fontconfig.org/release/${name}.tar.bz2";
-    sha256 = "1wy7svvp7df6bjpg1m5vizb3ngd7rhb20vpclv3x3qa71khs6jdl";
+    sha256 = "05zh65zni11kgnhg726gjbrd55swspdvhqbcnj5a5xh8gn03036g";
   };
 
   patches = [
@@ -30,25 +31,16 @@ stdenv.mkDerivation rec {
       src = ./config-compat.patch;
       inherit configVersion;
     })
-    (fetchpatch {
-      name = "glibc-2.25.diff";
-      url = "https://cgit.freedesktop.org/fontconfig/patch/?id=1ab5258f7c";
-      sha256 = "0x2a4qx51j3gqcp1kp4lisdzmhrkw1zw0r851d82ksgjlc0vkbaz";
-    })
   ];
-  # additionally required for the glibc-2.25 patch; avoid requiring gperf
-  postPatch = ''
-    sed s/CHAR_WIDTH/CHARWIDTH/g -i src/fcobjshash.{h,gperf}
-    touch src/*
-  '';
 
   outputs = [ "bin" "dev" "lib" "out" ]; # $out contains all the config
 
   propagatedBuildInputs = [ freetype ];
-  nativeBuildInputs = [ pkgconfig ];
+  nativeBuildInputs = [ pkgconfig gperf ];
   buildInputs = [ expat ];
 
   configureFlags = [
+    "--with-arch=${hostPlatform.parsed.cpu.name}"
     "--with-cache-dir=/var/cache/fontconfig" # otherwise the fallback is in $out/
     "--disable-docs"
     # just <1MB; this is what you get when loading config fails for some reason
diff --git a/pkgs/development/libraries/fox/fox-1.6.nix b/pkgs/development/libraries/fox/fox-1.6.nix
index 0d62656e6e7..4f1e0eaee7f 100644
--- a/pkgs/development/libraries/fox/fox-1.6.nix
+++ b/pkgs/development/libraries/fox/fox-1.6.nix
@@ -3,7 +3,7 @@
 , CoreServices }:
 
 let
-  version = "1.6.49";
+  version = "1.6.57";
 in
 
 stdenv.mkDerivation rec {
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "ftp://ftp.fox-toolkit.org/pub/${name}.tar.gz";
-    sha256 = "03m9wm8hpzh1i0fxx5mpvjr67384pfm9hn7gzdcq55b4639fqy9n";
+    sha256 = "08w98m6wjadraw1pi13igzagly4b2nfa57kdqdnkjfhgkvg1bvv5";
   };
 
   buildInputs = [
diff --git a/pkgs/development/libraries/fplll/default.nix b/pkgs/development/libraries/fplll/default.nix
index b377061fe97..2dd757bf821 100644
--- a/pkgs/development/libraries/fplll/default.nix
+++ b/pkgs/development/libraries/fplll/default.nix
@@ -4,12 +4,12 @@
 stdenv.mkDerivation rec {
   name = "${pname}-${version}";
   pname = "fplll";
-  version = "5.0.2";
+  version = "5.2.0";
   src = fetchFromGitHub {
     owner = "${pname}";
     repo = "${pname}";
     rev = "${version}";
-    sha256 = "0rl98rx284giyhj3pf6iydn1a06jis8c8mnsc7kqs4rcmiw4bjpx";
+    sha256 = "0931i4q49lzlifsg9zd8a2yzj626i1s2bqhkfxvcxv94c38s0nh1";
   };
   nativeBuildInputs = [autoconf automake libtool gettext autoreconfHook];
   buildInputs = [gmp mpfr];
diff --git a/pkgs/development/libraries/freenect/default.nix b/pkgs/development/libraries/freenect/default.nix
index d6767a4cbd3..3771880d360 100644
--- a/pkgs/development/libraries/freenect/default.nix
+++ b/pkgs/development/libraries/freenect/default.nix
@@ -1,25 +1,29 @@
-{ stdenv, fetchFromGitHub, cmake, libusb, pkgconfig, freeglut, libGLU_combined, libXi, libXmu }:
+{ stdenv, lib, fetchFromGitHub, cmake, libusb, pkgconfig, freeglut, libGLU_combined, libXi, libXmu
+, GLUT, Cocoa
+ }:
 
 stdenv.mkDerivation rec {
   name = "freenect-${version}";
-  version = "0.5.5";
+  version = "0.5.7";
 
   src = fetchFromGitHub {
     owner = "OpenKinect";
     repo = "libfreenect";
     rev = "v${version}";
-    sha256 = "0qmbagfkxjgbwd2ajn7i5lkic9gx5y02bsnmqm7cjay99zfw9ifx";
+    sha256 = "0vnc7z2avckh4mccqq6alsd2z7xvsh3kaslc5b0gnfxw0j269gl6";
   };
 
-  buildInputs = [ libusb freeglut libGLU_combined libXi libXmu ];
+  buildInputs = [ libusb freeglut libGLU_combined libXi libXmu ]
+    ++ lib.optionals stdenv.isDarwin [ GLUT Cocoa ];
+
   nativeBuildInputs = [ cmake pkgconfig ];
 
   meta = {
     description = "Drivers and libraries for the Xbox Kinect device on Windows, Linux, and macOS";
     inherit version;
     homepage = http://openkinect.org;
-    license = with stdenv.lib.licenses; [ gpl2 asl20 ];
-    maintainers = with stdenv.lib.maintainers; [ bennofs ];
-    platforms = stdenv.lib.platforms.linux;
+    license = with lib.licenses; [ gpl2 asl20 ];
+    maintainers = with lib.maintainers; [ bennofs ];
+    platforms = with lib.platforms; linux ++ darwin ;
   };
 }
diff --git a/pkgs/development/libraries/freetds/default.nix b/pkgs/development/libraries/freetds/default.nix
index d764121e8d6..52d439918aa 100644
--- a/pkgs/development/libraries/freetds/default.nix
+++ b/pkgs/development/libraries/freetds/default.nix
@@ -4,19 +4,17 @@
 
 assert odbcSupport -> unixODBC != null;
 
+# Work is in progress to move to cmake so revisit that later
+
 stdenv.mkDerivation rec {
   name = "freetds-${version}";
-  version = "1.00.70";
+  version = "1.00.91";
 
   src = fetchurl {
     url    = "http://www.freetds.org/files/stable/${name}.tar.bz2";
-    sha256 = "1ydh0c89nb6wh6wakbkqad7mdwpymygvgbcrk8c2mp7abgv1jqzp";
+    sha256 = "04c344xdvh2j36r01ph7yhy5rb1668il0z9vyphwdy6qqwywh622";
   };
 
-  configureFlags = [
-    "--with-tdsver=7.3"
-  ];
-
   buildInputs = [
     openssl
   ] ++ stdenv.lib.optional odbcSupport unixODBC;
diff --git a/pkgs/development/libraries/freetype/cve-2017-8105.patch b/pkgs/development/libraries/freetype/cve-2017-8105.patch
deleted file mode 100644
index dc4327a52a8..00000000000
--- a/pkgs/development/libraries/freetype/cve-2017-8105.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-http://git.savannah.gnu.org/cgit/freetype/freetype2.git/commit/?id=f958c48ee43
-
-diff --git a/src/psaux/t1decode.c b/src/psaux/t1decode.c
-index af7b465..7dd4513 100644
---- a/src/psaux/t1decode.c
-+++ b/src/psaux/t1decode.c
-@@ -780,10 +780,19 @@
-             /* point without adding any point to the outline    */
-             idx = decoder->num_flex_vectors++;
-             if ( idx > 0 && idx < 7 )
-+            {
-+              /* in malformed fonts it is possible to have other */
-+              /* opcodes in the middle of a flex (which don't    */
-+              /* increase `num_flex_vectors'); we thus have to   */
-+              /* check whether we can add a point                */
-+              if ( FT_SET_ERROR( t1_builder_check_points( builder, 1 ) ) )
-+                goto Syntax_Error;
-+
-               t1_builder_add_point( builder,
-                                     x,
-                                     y,
-                                     (FT_Byte)( idx == 3 || idx == 6 ) );
-+            }
-           }
-           break;
- 
-
diff --git a/pkgs/development/libraries/freetype/cve-2017-8287.patch b/pkgs/development/libraries/freetype/cve-2017-8287.patch
deleted file mode 100644
index 7ccf4f3278b..00000000000
--- a/pkgs/development/libraries/freetype/cve-2017-8287.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-http://git.savannah.gnu.org/cgit/freetype/freetype2.git/commit/?id=3774fc08b
-
-diff --git a/src/psaux/psobjs.c b/src/psaux/psobjs.c
-index d18e821..0baf836 100644
---- a/src/psaux/psobjs.c
-+++ b/src/psaux/psobjs.c
-@@ -1718,6 +1718,14 @@
-     first = outline->n_contours <= 1
-             ? 0 : outline->contours[outline->n_contours - 2] + 1;
- 
-+    /* in malformed fonts it can happen that a contour was started */
-+    /* but no points were added                                    */
-+    if ( outline->n_contours && first == outline->n_points )
-+    {
-+      outline->n_contours--;
-+      return;
-+    }
-+
-     /* We must not include the last point in the path if it */
-     /* is located on the first point.                       */
-     if ( outline->n_points > 1 )
-
diff --git a/pkgs/development/libraries/freetype/default.nix b/pkgs/development/libraries/freetype/default.nix
index be4da5a035b..23aa86af377 100644
--- a/pkgs/development/libraries/freetype/default.nix
+++ b/pkgs/development/libraries/freetype/default.nix
@@ -1,6 +1,6 @@
 { stdenv, lib, fetchurl, copyPathsToStore
 , hostPlatform
-, pkgconfig, which
+, pkgconfig, which, makeWrapper
 , zlib, bzip2, libpng, gnumake, glib
 
 , # FreeType supports LCD filtering (colloquially referred to as sub-pixel rendering).
@@ -11,10 +11,10 @@
 
 let
   inherit (stdenv.lib) optional optionals optionalString;
-  version = "2.7.1"; name = "freetype-" + version;
 
-in stdenv.mkDerivation {
-  inherit name;
+in stdenv.mkDerivation rec {
+  name = "freetype-${version}";
+  version = "2.9";
 
   meta = with stdenv.lib; {
     description = "A font rendering engine";
@@ -33,24 +33,17 @@ in stdenv.mkDerivation {
 
   src = fetchurl {
     url = "mirror://savannah/freetype/${name}.tar.bz2";
-    sha256 = "121gm15ayfg3rglby8ifh8384mcjb9dhmx9j40zl7yszw72b4frs";
+    sha256 = "12jcdz1in20yaa55izxalg3hm1pf7nydfrzps5bzb4zgihybmzz6";
   };
 
   propagatedBuildInputs = [ zlib bzip2 libpng ]; # needed when linking against freetype
   # dependence on harfbuzz is looser than the reverse dependence
-  nativeBuildInputs = [ pkgconfig which ]
+  nativeBuildInputs = [ pkgconfig which makeWrapper ]
     # FreeType requires GNU Make, which is not part of stdenv on FreeBSD.
     ++ optional (!stdenv.isLinux) gnumake;
 
   patches =
-    [
-      ./pcf-introduce-driver.patch
-      ./pcf-config-long-family-names.patch
-      ./disable-pcf-long-family-names.patch
-      ./enable-table-validation.patch
-      # remove the two CVE patches after updating to >= 2.8
-      ./cve-2017-8105.patch
-      ./cve-2017-8287.patch
+    [ ./enable-table-validation.patch
     ] ++
     optional useEncumberedCode ./enable-subpixel-rendering.patch;
 
@@ -65,12 +58,8 @@ in stdenv.mkDerivation {
 
   doCheck = true;
 
-  postInstall = glib.flattenInclude;
-
-  crossAttrs = stdenv.lib.optionalAttrs (hostPlatform.libc or null != "msvcrt") {
-    # Somehow it calls the unwrapped gcc, "i686-pc-linux-gnu-gcc", instead
-    # of gcc. I think it's due to the unwrapped gcc being in the PATH. I don't
-    # know why it's on the PATH.
-    configureFlags = "--disable-static CC_BUILD=gcc";
-  };
+  postInstall = glib.flattenInclude + ''
+    wrapProgram "$dev/bin/freetype-config" \
+      --set PKG_CONFIG_PATH "$PKG_CONFIG_PATH:$dev/lib/pkgconfig"
+  '';
 }
diff --git a/pkgs/development/libraries/freetype/pcf-config-long-family-names.patch b/pkgs/development/libraries/freetype/pcf-config-long-family-names.patch
deleted file mode 100644
index 95ed83c60f8..00000000000
--- a/pkgs/development/libraries/freetype/pcf-config-long-family-names.patch
+++ /dev/null
@@ -1,553 +0,0 @@
-diff --git a/devel/ftoption.h b/devel/ftoption.h
-index 3b63931..b8b0a8d 100644
---- a/devel/ftoption.h
-+++ b/devel/ftoption.h
-@@ -82,8 +82,8 @@ FT_BEGIN_HEADER
-   /* to control the various font drivers and modules.  The controllable    */
-   /* properties are listed in the section `Controlling FreeType Modules'   */
-   /* in the reference's table of contents; currently there are properties  */
--  /* for the auto-hinter (file `ftautoh.h'), CFF (file `ftcffdrv.h'), and  */
--  /* TrueType (file `ftttdrv.h').                                          */
-+  /* for the auto-hinter (file `ftautoh.h'), CFF (file `ftcffdrv.h'),      */
-+  /* TrueType (file `ftttdrv.h'), and PCF (file `ftpcfdrv.h').             */
-   /*                                                                       */
-   /* `FREETYPE_PROPERTIES' has the following syntax form (broken here into */
-   /* multiple lines for better readability).                               */
-@@ -835,6 +835,33 @@ FT_BEGIN_HEADER
-   /*************************************************************************/
-   /*************************************************************************/
-   /****                                                                 ****/
-+  /****         P C F   D R I V E R    C O N F I G U R A T I O N        ****/
-+  /****                                                                 ****/
-+  /*************************************************************************/
-+  /*************************************************************************/
-+
-+
-+  /*************************************************************************/
-+  /*                                                                       */
-+  /* There are many PCF fonts just called `Fixed' which look completely    */
-+  /* different, and which have nothing to do with each other.  When        */
-+  /* selecting `Fixed' in KDE or Gnome one gets results that appear rather */
-+  /* random, the style changes often if one changes the size and one       */
-+  /* cannot select some fonts at all.  This option makes the PCF module    */
-+  /* prepend the foundry name (plus a space) to the family name.           */
-+  /*                                                                       */
-+  /* We also check whether we have `wide' characters; all put together, we */
-+  /* get family names like `Sony Fixed' or `Misc Fixed Wide'.              */
-+  /*                                                                       */
-+  /* If this option is activated, it can be controlled with the            */
-+  /* `no-long-family-names' property of the pcf driver module.             */
-+  /*                                                                       */
-+#define PCF_CONFIG_OPTION_LONG_FAMILY_NAMES
-+
-+
-+  /*************************************************************************/
-+  /*************************************************************************/
-+  /****                                                                 ****/
-   /****    A U T O F I T   M O D U L E    C O N F I G U R A T I O N     ****/
-   /****                                                                 ****/
-   /*************************************************************************/
-diff --git a/docs/CHANGES b/docs/CHANGES
-index cb3b327..3823395 100644
---- a/docs/CHANGES
-+++ b/docs/CHANGES
-@@ -1,4 +1,20 @@
- 
-+CHANGES BETWEEN 2.7.1 and 2.7.2
-+
-+  I. IMPORTANT CHANGES
-+
-+    - The PCF change to show more `colourful' family names (introduced
-+      in version 2.7.1) was too radical; it can now be configured with
-+      PCF_CONFIG_OPTION_LONG_FAMILY_NAMES   at   compile   time.    If
-+      activated, it can  be switched off at run time  with the new pcf
-+      property  `no-long-family-names'.  If  the `FREETYPE_PROPERTIES'
-+      environment variable is available, you can say
-+
-+        FREETYPE_PROPERTIES=pcf:no-long-family-names=1
-+
-+
-+======================================================================
-+
- CHANGES BETWEEN 2.7 and 2.7.1
- 
-   I. IMPORTANT CHANGES
-diff --git a/include/freetype/config/ftheader.h b/include/freetype/config/ftheader.h
-index 950d36c..d491af5 100644
---- a/include/freetype/config/ftheader.h
-+++ b/include/freetype/config/ftheader.h
-@@ -357,6 +357,19 @@
-   /*************************************************************************
-    *
-    * @macro:
-+   *   FT_PCF_DRIVER_H
-+   *
-+   * @description:
-+   *   A macro used in #include statements to name the file containing
-+   *   structures and macros related to the PCF driver module.
-+   *
-+   */
-+#define FT_PCF_DRIVER_H  <freetype/ftpcfdrv.h>
-+
-+
-+  /*************************************************************************
-+   *
-+   * @macro:
-    *   FT_TYPE1_TABLES_H
-    *
-    * @description:
-diff --git a/include/freetype/config/ftoption.h b/include/freetype/config/ftoption.h
-index f5bc540..5676074 100644
---- a/include/freetype/config/ftoption.h
-+++ b/include/freetype/config/ftoption.h
-@@ -82,8 +82,8 @@ FT_BEGIN_HEADER
-   /* to control the various font drivers and modules.  The controllable    */
-   /* properties are listed in the section `Controlling FreeType Modules'   */
-   /* in the reference's table of contents; currently there are properties  */
--  /* for the auto-hinter (file `ftautoh.h'), CFF (file `ftcffdrv.h'), and  */
--  /* TrueType (file `ftttdrv.h').                                          */
-+  /* for the auto-hinter (file `ftautoh.h'), CFF (file `ftcffdrv.h'),      */
-+  /* TrueType (file `ftttdrv.h'), and PCF (file `ftpcfdrv.h').             */
-   /*                                                                       */
-   /* `FREETYPE_PROPERTIES' has the following syntax form (broken here into */
-   /* multiple lines for better readability).                               */
-@@ -835,6 +835,33 @@ FT_BEGIN_HEADER
-   /*************************************************************************/
-   /*************************************************************************/
-   /****                                                                 ****/
-+  /****         P C F   D R I V E R    C O N F I G U R A T I O N        ****/
-+  /****                                                                 ****/
-+  /*************************************************************************/
-+  /*************************************************************************/
-+
-+
-+  /*************************************************************************/
-+  /*                                                                       */
-+  /* There are many PCF fonts just called `Fixed' which look completely    */
-+  /* different, and which have nothing to do with each other.  When        */
-+  /* selecting `Fixed' in KDE or Gnome one gets results that appear rather */
-+  /* random, the style changes often if one changes the size and one       */
-+  /* cannot select some fonts at all.  This option makes the PCF module    */
-+  /* prepend the foundry name (plus a space) to the family name.           */
-+  /*                                                                       */
-+  /* We also check whether we have `wide' characters; all put together, we */
-+  /* get family names like `Sony Fixed' or `Misc Fixed Wide'.              */
-+  /*                                                                       */
-+  /* If this option is activated, it can be controlled with the            */
-+  /* `no-long-family-names' property of the pcf driver module.             */
-+  /*                                                                       */
-+#define PCF_CONFIG_OPTION_LONG_FAMILY_NAMES
-+
-+
-+  /*************************************************************************/
-+  /*************************************************************************/
-+  /****                                                                 ****/
-   /****    A U T O F I T   M O D U L E    C O N F I G U R A T I O N     ****/
-   /****                                                                 ****/
-   /*************************************************************************/
-diff --git a/include/freetype/ftchapters.h b/include/freetype/ftchapters.h
-index ab43895..a0a121b 100644
---- a/include/freetype/ftchapters.h
-+++ b/include/freetype/ftchapters.h
-@@ -77,6 +77,7 @@
- /*    auto_hinter                                                          */
- /*    cff_driver                                                           */
- /*    tt_driver                                                            */
-+/*    pcf_driver                                                           */
- /*                                                                         */
- /***************************************************************************/
- 
-diff --git a/include/freetype/ftpcfdrv.h b/include/freetype/ftpcfdrv.h
-new file mode 100644
-index 0000000..6622c93
---- /dev/null
-+++ b/include/freetype/ftpcfdrv.h
-@@ -0,0 +1,105 @@
-+/***************************************************************************/
-+/*                                                                         */
-+/*  ftpcfdrv.h                                                             */
-+/*                                                                         */
-+/*    FreeType API for controlling the PCF driver (specification only).    */
-+/*                                                                         */
-+/*  Copyright 2017 by                                                      */
-+/*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
-+/*                                                                         */
-+/*  This file is part of the FreeType project, and may only be used,       */
-+/*  modified, and distributed under the terms of the FreeType project      */
-+/*  license, LICENSE.TXT.  By continuing to use, modify, or distribute     */
-+/*  this file you indicate that you have read the license and              */
-+/*  understand and accept it fully.                                        */
-+/*                                                                         */
-+/***************************************************************************/
-+
-+
-+#ifndef FTPCFDRV_H_
-+#define FTPCFDRV_H_
-+
-+#include <ft2build.h>
-+#include FT_FREETYPE_H
-+
-+#ifdef FREETYPE_H
-+#error "freetype.h of FreeType 1 has been loaded!"
-+#error "Please fix the directory search order for header files"
-+#error "so that freetype.h of FreeType 2 is found first."
-+#endif
-+
-+
-+FT_BEGIN_HEADER
-+
-+
-+  /**************************************************************************
-+   *
-+   * @section:
-+   *   pcf_driver
-+   *
-+   * @title:
-+   *   The PCF driver
-+   *
-+   * @abstract:
-+   *   Controlling the PCF driver module.
-+   *
-+   * @description:
-+   *   While FreeType's PCF driver doesn't expose API functions by itself,
-+   *   it is possible to control its behaviour with @FT_Property_Set and
-+   *   @FT_Property_Get.  Right now, there is a single property
-+   *   `no-long-family-names' available if FreeType is compiled with
-+   *   PCF_CONFIG_OPTION_LONG_FAMILY_NAMES.
-+   *
-+   *   The PCF driver's module name is `pcf'.
-+   *
-+   */
-+
-+
-+  /**************************************************************************
-+   *
-+   * @property:
-+   *   no-long-family-names
-+   *
-+   * @description:
-+   *   If PCF_CONFIG_OPTION_LONG_FAMILY_NAMES is active while compiling
-+   *   FreeType, the PCF driver constructs long family names.
-+   *
-+   *   There are many PCF fonts just called `Fixed' which look completely
-+   *   different, and which have nothing to do with each other.  When
-+   *   selecting `Fixed' in KDE or Gnome one gets results that appear rather
-+   *   random, the style changes often if one changes the size and one
-+   *   cannot select some fonts at all.  The improve this situation, the PCF
-+   *   module prepends the foundry name (plus a space) to the family name. 
-+   *   It also checks whether there are `wide' characters; all put together,
-+   *   family names like `Sony Fixed' or `Misc Fixed Wide' are constructed.
-+   *
-+   *   If `no-long-family-names' is set, this feature gets switched off.
-+   *
-+   *   {
-+   *     FT_Library  library;
-+   *     FT_Bool     no_long_family_names = TRUE;
-+   *
-+   *
-+   *     FT_Init_FreeType( &library );
-+   *
-+   *     FT_Property_Set( library, "pcf",
-+   *                               "no-long-family-names",
-+   *                               &no_long_family_names );
-+   *   }
-+   *
-+   * @note:
-+   *   This property can be used with @FT_Property_Get also.
-+   *
-+   *   This property can be set via the `FREETYPE_PROPERTIES' environment
-+   *   variable (using values 1 and 0 for `on' and `off', respectively).
-+   *
-+   */
-+
-+
-+FT_END_HEADER
-+
-+
-+#endif /* FTPCFDRV_H_ */
-+
-+
-+/* END */
-diff --git a/src/pcf/pcf.h b/src/pcf/pcf.h
-index 830cabe..f0390cb 100644
---- a/src/pcf/pcf.h
-+++ b/src/pcf/pcf.h
-@@ -167,6 +167,8 @@ FT_BEGIN_HEADER
-   {
-     FT_DriverRec  root;
- 
-+    FT_Bool  no_long_family_names;
-+
-   } PCF_DriverRec, *PCF_Driver;
- 
- 
-diff --git a/src/pcf/pcfdrivr.c b/src/pcf/pcfdrivr.c
-index 8f4a90d..bc65423 100644
---- a/src/pcf/pcfdrivr.c
-+++ b/src/pcf/pcfdrivr.c
-@@ -49,6 +49,8 @@ THE SOFTWARE.
- 
- #include FT_SERVICE_BDF_H
- #include FT_SERVICE_FONT_FORMAT_H
-+#include FT_SERVICE_PROPERTIES_H
-+#include FT_PCF_DRIVER_H
- 
- 
-   /*************************************************************************/
-@@ -667,6 +669,110 @@ THE SOFTWARE.
-   };
- 
- 
-+  /*
-+   *  PROPERTY SERVICE
-+   *
-+   */
-+  static FT_Error
-+  pcf_property_set( FT_Module    module,         /* PCF_Driver */
-+                    const char*  property_name,
-+                    const void*  value,
-+                    FT_Bool      value_is_string )
-+  {
-+#ifdef PCF_CONFIG_OPTION_LONG_FAMILY_NAMES
-+
-+    FT_Error    error  = FT_Err_Ok;
-+    PCF_Driver  driver = (PCF_Driver)module;
-+
-+#ifndef FT_CONFIG_OPTION_ENVIRONMENT_PROPERTIES
-+    FT_UNUSED( value_is_string );
-+#endif
-+
-+
-+    if ( !ft_strcmp( property_name, "no-long-family-names" ) )
-+    {
-+#ifdef FT_CONFIG_OPTION_ENVIRONMENT_PROPERTIES
-+      if ( value_is_string )
-+      {
-+        const char*  s   = (const char*)value;
-+        long         lfn = ft_strtol( s, NULL, 10 );
-+
-+
-+        if ( lfn == 0 )
-+          driver->no_long_family_names = 0;
-+        else if ( lfn == 1 )
-+          driver->no_long_family_names = 1;
-+        else
-+          return FT_THROW( Invalid_Argument );
-+      }
-+      else
-+#endif
-+      {
-+        FT_Bool*  no_long_family_names = (FT_Bool*)value;
-+
-+
-+        driver->no_long_family_names = *no_long_family_names;
-+      }
-+
-+      return error;
-+    }
-+
-+#else /* !PCF_CONFIG_OPTION_LONG_FAMILY_NAMES */
-+
-+    FT_UNUSED( module );
-+    FT_UNUSED( value );
-+    FT_UNUSED( value_is_string );
-+
-+#endif /* !PCF_CONFIG_OPTION_LONG_FAMILY_NAMES */
-+
-+    FT_TRACE0(( "pcf_property_set: missing property `%s'\n",
-+                property_name ));
-+    return FT_THROW( Missing_Property );
-+  }
-+
-+
-+  static FT_Error
-+  pcf_property_get( FT_Module    module,         /* PCF_Driver */
-+                    const char*  property_name,
-+                    const void*  value )
-+  {
-+#ifdef PCF_CONFIG_OPTION_LONG_FAMILY_NAMES
-+
-+    FT_Error    error  = FT_Err_Ok;
-+    PCF_Driver  driver = (PCF_Driver)module;
-+
-+
-+    if ( !ft_strcmp( property_name, "no-long-family-names" ) )
-+    {
-+      FT_Bool   no_long_family_names = driver->no_long_family_names;
-+      FT_Bool*  val                  = (FT_Bool*)value;
-+
-+
-+      *val = no_long_family_names;
-+
-+      return error;
-+    }
-+
-+#else /* !PCF_CONFIG_OPTION_LONG_FAMILY_NAMES */
-+
-+    FT_UNUSED( module );
-+    FT_UNUSED( value );
-+
-+#endif /* !PCF_CONFIG_OPTION_LONG_FAMILY_NAMES */
-+
-+    FT_TRACE0(( "pcf_property_get: missing property `%s'\n",
-+                property_name ));
-+    return FT_THROW( Missing_Property );
-+  }
-+
-+
-+  FT_DEFINE_SERVICE_PROPERTIESREC(
-+    pcf_service_properties,
-+
-+    (FT_Properties_SetFunc)pcf_property_set,      /* set_property */
-+    (FT_Properties_GetFunc)pcf_property_get )     /* get_property */
-+
-+
-  /*
-   *
-   *  SERVICE LIST
-@@ -677,6 +783,7 @@ THE SOFTWARE.
-   {
-     { FT_SERVICE_ID_BDF,         &pcf_service_bdf },
-     { FT_SERVICE_ID_FONT_FORMAT, FT_FONT_FORMAT_PCF },
-+    { FT_SERVICE_ID_PROPERTIES,  &pcf_service_properties },
-     { NULL, NULL }
-   };
- 
-@@ -694,7 +801,14 @@ THE SOFTWARE.
-   FT_CALLBACK_DEF( FT_Error )
-   pcf_driver_init( FT_Module  module )      /* PCF_Driver */
-   {
-+#ifdef PCF_CONFIG_OPTION_LONG_FAMILY_NAMES
-+    PCF_Driver  driver = (PCF_Driver)module;
-+
-+
-+    driver->no_long_family_names = 0;
-+#else
-     FT_UNUSED( module );
-+#endif
- 
-     return FT_Err_Ok;
-   }
-diff --git a/src/pcf/pcfread.c b/src/pcf/pcfread.c
-index 38ba110..3eacf2b 100644
---- a/src/pcf/pcfread.c
-+++ b/src/pcf/pcfread.c
-@@ -1393,57 +1393,75 @@ THE SOFTWARE.
-       prop = pcf_find_property( face, "FAMILY_NAME" );
-       if ( prop && prop->isString )
-       {
--        /* Prepend the foundry name plus a space to the family name.      */
--        /* There are many fonts just called `Fixed' which look completely */
--        /* different, and which have nothing to do with each other.  When */
--        /* selecting `Fixed' in KDE or Gnome one gets results that appear */
--        /* rather random, the style changes often if one changes the size */
--        /* and one cannot select some fonts at all.                       */
--        /*                                                                */
--        /* We also check whether we have `wide' characters; all put       */
--        /* together, we get family names like `Sony Fixed' or `Misc Fixed */
--        /* Wide'.                                                         */
--        PCF_Property  foundry_prop, point_size_prop, average_width_prop;
--
--        int  l    = ft_strlen( prop->value.atom ) + 1;
--        int  wide = 0;
--
--
--        foundry_prop       = pcf_find_property( face, "FOUNDRY" );
--        point_size_prop    = pcf_find_property( face, "POINT_SIZE" );
--        average_width_prop = pcf_find_property( face, "AVERAGE_WIDTH" );
--
--        if ( point_size_prop && average_width_prop )
-+
-+#ifdef PCF_CONFIG_OPTION_LONG_FAMILY_NAMES
-+
-+        PCF_Driver  driver = (PCF_Driver)FT_FACE_DRIVER( face );
-+
-+
-+        if ( !driver->no_long_family_names )
-         {
--          if ( average_width_prop->value.l >= point_size_prop->value.l )
-+          /* Prepend the foundry name plus a space to the family name.     */
-+          /* There are many fonts just called `Fixed' which look           */
-+          /* completely different, and which have nothing to do with each  */
-+          /* other.  When selecting `Fixed' in KDE or Gnome one gets       */
-+          /* results that appear rather random, the style changes often if */
-+          /* one changes the size and one cannot select some fonts at all. */
-+          /*                                                               */
-+          /* We also check whether we have `wide' characters; all put      */
-+          /* together, we get family names like `Sony Fixed' or `Misc      */
-+          /* Fixed Wide'.                                                  */
-+
-+          PCF_Property  foundry_prop, point_size_prop, average_width_prop;
-+
-+          int  l    = ft_strlen( prop->value.atom ) + 1;
-+          int  wide = 0;
-+
-+
-+          foundry_prop       = pcf_find_property( face, "FOUNDRY" );
-+          point_size_prop    = pcf_find_property( face, "POINT_SIZE" );
-+          average_width_prop = pcf_find_property( face, "AVERAGE_WIDTH" );
-+
-+          if ( point_size_prop && average_width_prop )
-           {
--            /* This font is at least square shaped or even wider */
--            wide = 1;
--            l   += ft_strlen( " Wide" );
-+            if ( average_width_prop->value.l >= point_size_prop->value.l )
-+            {
-+              /* This font is at least square shaped or even wider */
-+              wide = 1;
-+              l   += ft_strlen( " Wide" );
-+            }
-           }
--        }
- 
--        if ( foundry_prop && foundry_prop->isString )
--        {
--          l += ft_strlen( foundry_prop->value.atom ) + 1;
-+          if ( foundry_prop && foundry_prop->isString )
-+          {
-+            l += ft_strlen( foundry_prop->value.atom ) + 1;
- 
--          if ( FT_NEW_ARRAY( root->family_name, l ) )
--            goto Exit;
-+            if ( FT_NEW_ARRAY( root->family_name, l ) )
-+              goto Exit;
-+
-+            ft_strcpy( root->family_name, foundry_prop->value.atom );
-+            ft_strcat( root->family_name, " " );
-+            ft_strcat( root->family_name, prop->value.atom );
-+          }
-+          else
-+          {
-+            if ( FT_NEW_ARRAY( root->family_name, l ) )
-+              goto Exit;
- 
--          ft_strcpy( root->family_name, foundry_prop->value.atom );
--          ft_strcat( root->family_name, " " );
--          ft_strcat( root->family_name, prop->value.atom );
-+            ft_strcpy( root->family_name, prop->value.atom );
-+          }
-+
-+          if ( wide )
-+            ft_strcat( root->family_name, " Wide" );
-         }
-         else
-+
-+#endif /* PCF_CONFIG_OPTION_LONG_FAMILY_NAMES */
-+
-         {
--          if ( FT_NEW_ARRAY( root->family_name, l ) )
-+          if ( FT_STRDUP( root->family_name, prop->value.atom ) )
-             goto Exit;
--
--          ft_strcpy( root->family_name, prop->value.atom );
-         }
--
--        if ( wide )
--          ft_strcat( root->family_name, " Wide" );
-       }
-       else
-         root->family_name = NULL;
--- 
-cgit v1.0-41-gc330
-
diff --git a/pkgs/development/libraries/freetype/pcf-introduce-driver.patch b/pkgs/development/libraries/freetype/pcf-introduce-driver.patch
deleted file mode 100644
index c1685c5116c..00000000000
--- a/pkgs/development/libraries/freetype/pcf-introduce-driver.patch
+++ /dev/null
@@ -1,68 +0,0 @@
-diff --git a/src/pcf/pcf.h b/src/pcf/pcf.h
-index c726e5e..830cabe 100644
---- a/src/pcf/pcf.h
-+++ b/src/pcf/pcf.h
-@@ -163,6 +163,13 @@ FT_BEGIN_HEADER
-   } PCF_FaceRec, *PCF_Face;
- 
- 
-+  typedef struct  PCF_DriverRec_
-+  {
-+    FT_DriverRec  root;
-+
-+  } PCF_DriverRec, *PCF_Driver;
-+
-+
-   /* macros for pcf font format */
- 
- #define LSBFirst  0
-diff --git a/src/pcf/pcfdrivr.c b/src/pcf/pcfdrivr.c
-index 10d5c20..8f4a90d 100644
---- a/src/pcf/pcfdrivr.c
-+++ b/src/pcf/pcfdrivr.c
-@@ -691,22 +691,38 @@ THE SOFTWARE.
-   }
- 
- 
-+  FT_CALLBACK_DEF( FT_Error )
-+  pcf_driver_init( FT_Module  module )      /* PCF_Driver */
-+  {
-+    FT_UNUSED( module );
-+
-+    return FT_Err_Ok;
-+  }
-+
-+
-+  FT_CALLBACK_DEF( void )
-+  pcf_driver_done( FT_Module  module )      /* PCF_Driver */
-+  {
-+    FT_UNUSED( module );
-+  }
-+
-+
-   FT_CALLBACK_TABLE_DEF
-   const FT_Driver_ClassRec  pcf_driver_class =
-   {
-     {
-       FT_MODULE_FONT_DRIVER        |
-       FT_MODULE_DRIVER_NO_OUTLINES,
--      sizeof ( FT_DriverRec ),
- 
-+      sizeof ( PCF_DriverRec ),
-       "pcf",
-       0x10000L,
-       0x20000L,
- 
--      NULL,    /* module-specific interface */
-+      NULL,   /* module-specific interface */
- 
--      NULL,                     /* FT_Module_Constructor  module_init   */
--      NULL,                     /* FT_Module_Destructor   module_done   */
-+      pcf_driver_init,          /* FT_Module_Constructor  module_init   */
-+      pcf_driver_done,          /* FT_Module_Destructor   module_done   */
-       pcf_driver_requester      /* FT_Module_Requester    get_interface */
-     },
- 
--- 
-cgit v1.0-41-gc330
-
diff --git a/pkgs/development/libraries/fstrm/default.nix b/pkgs/development/libraries/fstrm/default.nix
index 9c4bf00347c..372cb50d05c 100644
--- a/pkgs/development/libraries/fstrm/default.nix
+++ b/pkgs/development/libraries/fstrm/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "fstrm-${version}";
-  version = "0.3.2";
+  version = "0.4.0";
 
   src = fetchFromGitHub {
     owner = "farsightsec";
     repo = "fstrm";
     rev = "v${version}";
-    sha256 = "135m0d4z1wbiaazs3bh6z53a35mgs33gvfki8pl4xfaw9cfcfpd2";
+    sha256 = "11i8b3wy6j3z3fcv816xccxxlrfkczdr8bm2gnan6yv4ppbji4ny";
   };
 
   outputs = [ "bin" "out" "dev" ];
diff --git a/pkgs/development/libraries/gamin/default.nix b/pkgs/development/libraries/gamin/default.nix
index 2dd32b6f110..2af7bbce18b 100644
--- a/pkgs/development/libraries/gamin/default.nix
+++ b/pkgs/development/libraries/gamin/default.nix
@@ -4,7 +4,7 @@ stdenv.mkDerivation (rec {
   name = "gamin-0.1.10";
 
   src = fetchurl {
-    url = "http://www.gnome.org/~veillard/gamin/sources/${name}.tar.gz";
+    url = "https://www.gnome.org/~veillard/gamin/sources/${name}.tar.gz";
     sha256 = "18cr51y5qacvs2fc2p1bqv32rs8bzgs6l67zhasyl45yx055y218";
   };
 
diff --git a/pkgs/development/libraries/gdal/default.nix b/pkgs/development/libraries/gdal/default.nix
index 54174e7cfe4..562d79b0092 100644
--- a/pkgs/development/libraries/gdal/default.nix
+++ b/pkgs/development/libraries/gdal/default.nix
@@ -8,12 +8,12 @@
 with stdenv.lib;
 
 stdenv.mkDerivation rec {
-  version = "2.2.3";
+  version = "2.2.4";
   name = "gdal-${version}";
 
   src = fetchurl {
     url = "http://download.osgeo.org/gdal/${version}/${name}.tar.xz";
-    sha256 = "a328d63d476b3653f5a25b5f7971e87a15cdf8860ab0729d4b1157ba988b8d0b";
+    sha256 = "0y1237m2wilxgrsd0cdjpbf1zj9z954sd8518g53hlmkmk8v27j4";
   };
 
   buildInputs = [ unzip libjpeg libtiff libpng proj openssl sqlite
diff --git a/pkgs/development/libraries/gdbm/default.nix b/pkgs/development/libraries/gdbm/default.nix
index 310aaa430da..3fd0bb08244 100644
--- a/pkgs/development/libraries/gdbm/default.nix
+++ b/pkgs/development/libraries/gdbm/default.nix
@@ -1,11 +1,11 @@
 { stdenv, lib, buildPlatform, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "gdbm-1.14";
+  name = "gdbm-1.14.1";
 
   src = fetchurl {
     url = "mirror://gnu/gdbm/${name}.tar.gz";
-    sha256 = "02dakgrq93xwgln8qfv3vs5jyz5yvds5nyzkx6rhg9v585x478dd";
+    sha256 = "0pxwz3jlwvglq2mrbxvrjgr8pa0aj73p3v9sxmdlj570zw0gzknd";
   };
 
   doCheck = true; # not cross;
diff --git a/pkgs/development/libraries/gdcm/default.nix b/pkgs/development/libraries/gdcm/default.nix
index 2d7e26b9e1a..dcdb6a2297b 100644
--- a/pkgs/development/libraries/gdcm/default.nix
+++ b/pkgs/development/libraries/gdcm/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, cmake, vtk }:
 
 stdenv.mkDerivation rec {
-  version = "2.6.4";
+  version = "2.8.6";
   name = "gdcm-${version}";
 
   src = fetchurl {
     url = "mirror://sourceforge/gdcm/${name}.tar.bz2";
-    sha256 = "14bysjdldq7xb9k1ayskxijm08dy2n45v9bg379dqrcz1q5xq5mi";
+    sha256 = "07q7w2qvpknvncp3g6m5f6b3m1ld4pzns52bqah8da7pabgwspjy";
   };
 
   dontUseCmakeBuildDir = true;
diff --git a/pkgs/development/libraries/gdk-pixbuf/default.nix b/pkgs/development/libraries/gdk-pixbuf/default.nix
index a1a9b10fca6..f1e73a77bea 100644
--- a/pkgs/development/libraries/gdk-pixbuf/default.nix
+++ b/pkgs/development/libraries/gdk-pixbuf/default.nix
@@ -1,40 +1,74 @@
-{ stdenv, fetchurl, pkgconfig, glib, libtiff, libjpeg, libpng, libX11, gnome3
-, jasper, libintlOrEmpty, gobjectIntrospection, doCheck ? false }:
+{ stdenv, fetchurl, fetchgit, fetchpatch, 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 }:
 
 let
   pname = "gdk-pixbuf";
-  version = "2.36.7";
-  # TODO: since 2.36.8 gdk-pixbuf gets configured to use mime-type sniffing,
-  # which apparently requires access to shared-mime-info files during runtime.
+  version = "2.36.12";
 in
 stdenv.mkDerivation rec {
   name = "${pname}-${version}";
 
-  src = fetchurl {
-    url = "mirror://gnome/sources/${pname}/${gnome3.versionBranch version}/${name}.tar.xz";
-    sha256 = "1b6e5eef09d98f05f383014ecd3503e25dfb03d7e5b5f5904e5a65b049a6a4d8";
+  # TODO: Change back once tests/bug753605-atsize.jpg is part of the dist tarball
+  # src = fetchurl {
+  #   url = "mirror://gnome/sources/${pname}/${gnome3.versionBranch version}/${name}.tar.xz";
+  #   sha256 = "0d534ysa6n9prd17wwzisq7mj6qkhwh8wcf8qgin1ar3hbs5ry7z";
+  # };
+  src = fetchgit {
+    url = https://git.gnome.org/browse/gdk-pixbuf;
+    rev = version;
+    sha256 = "18lwqg63vyap2m1mw049rnb8fm869429xbf7636a2n21gs3d3jwv";
   };
 
-  outputs = [ "out" "dev" "devdoc" ];
+  patches = [
+    # TODO: since 2.36.8 gdk-pixbuf gets configured to use mime-type sniffing,
+    # which requires access to shared-mime-info files during runtime.
+    # For now, we are patching the build script to avoid the dependency.
+    ./no-mime-sniffing.patch
 
-  setupHook = ./setup-hook.sh;
+    # 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";
+    })
+
+    # Add missing test file bug753605-atsize.jpg
+    (fetchpatch {
+      url = https://git.gnome.org/browse/gdk-pixbuf/patch/?id=87f8f4bf01dfb9982c1ef991e4060a5e19fdb7a7;
+      sha256 = "1slzywwnrzfx3zjzdsxrvp4g2q4skmv50pdfmyccp41j7bfyb2j0";
+    })
+
+    # Move installed tests to a separate output
+    ./installed-tests-path.patch
+  ];
 
-  enableParallelBuilding = true;
+  outputs = [ "out" "dev" "man" "devdoc" "installedTests" ];
+
+  setupHook = ./setup-hook.sh;
 
   # !!! We might want to factor out the gdk-pixbuf-xlib subpackage.
-  buildInputs = [ libX11 gobjectIntrospection ] ++ libintlOrEmpty;
+  buildInputs = [ libX11 ];
 
-  nativeBuildInputs = [ pkgconfig ];
+  nativeBuildInputs = [
+    meson ninja pkgconfig gettext python3 libxml2 libxslt docbook_xsl docbook_xml_dtd_43
+    gtk-doc gobjectIntrospection makeWrapper
+  ];
 
   propagatedBuildInputs = [ glib libtiff libjpeg libpng jasper ];
 
-  configureFlags = "--with-libjasper --with-x11"
-    + stdenv.lib.optionalString (gobjectIntrospection != null) " --enable-introspection=yes"
-    ;
+  mesonFlags = [
+    "-Ddocs=true"
+    "-Djasper=true"
+    "-Dx11=true"
+    "-Dgir=${if gobjectIntrospection != null then "true" else "false"}"
+  ];
 
-  # on darwin, tests don't link
-  preBuild = stdenv.lib.optionalString (stdenv.isDarwin && !doCheck) ''
-    substituteInPlace Makefile --replace "docs tests" "docs"
+  postPatch = ''
+    chmod +x build-aux/* # patchShebangs only applies to executables
+    patchShebangs build-aux
+
+    substituteInPlace tests/meson.build --subst-var-by installedtestsprefix "$installedTests"
   '';
 
   postInstall =
@@ -42,16 +76,22 @@ stdenv.mkDerivation rec {
     ''
       moveToOutput "bin" "$dev"
       moveToOutput "bin/gdk-pixbuf-thumbnailer" "$out"
+
+      # We need to install 'loaders.cache' in lib/gdk-pixbuf-2.0/2.10.0/
+      $dev/bin/gdk-pixbuf-query-loaders --update-cache
     '';
 
   # The tests take an excessive amount of time (> 1.5 hours) and memory (> 6 GB).
-  inherit (doCheck);
+  inherit doCheck;
 
   passthru = {
     updateScript = gnome3.updateScript {
       packageName = pname;
       attrPath = "gdk_pixbuf";
     };
+
+    # gdk_pixbuf_moduledir variable from gdk-pixbuf-2.0.pc
+    moduleDir = "lib/gdk-pixbuf-2.0/2.10.0/loaders";
   };
 
   meta = with stdenv.lib; {
@@ -61,4 +101,3 @@ stdenv.mkDerivation rec {
     platforms = platforms.unix;
   };
 }
-
diff --git a/pkgs/development/libraries/gdk-pixbuf/installed-tests-path.patch b/pkgs/development/libraries/gdk-pixbuf/installed-tests-path.patch
new file mode 100644
index 00000000000..1da2b0a10dc
--- /dev/null
+++ b/pkgs/development/libraries/gdk-pixbuf/installed-tests-path.patch
@@ -0,0 +1,13 @@
+--- a/tests/meson.build
++++ b/tests/meson.build
+@@ -85,8 +85,8 @@
+   'aero.gif',
+ ]
+ 
+-installed_test_bindir = join_paths(gdk_pixbuf_libexecdir, 'installed-tests', meson.project_name())
+-installed_test_datadir = join_paths(gdk_pixbuf_datadir, 'installed-tests', meson.project_name())
++installed_test_bindir = join_paths('@installedtestsprefix@', 'libexec', 'installed-tests', meson.project_name())
++installed_test_datadir = join_paths('@installedtestsprefix@', 'share', 'installed-tests', meson.project_name())
+ 
+ install_data(test_data, install_dir: installed_test_bindir)
+ install_subdir('test-images', install_dir: installed_test_bindir)
diff --git a/pkgs/development/libraries/gdk-pixbuf/no-mime-sniffing.patch b/pkgs/development/libraries/gdk-pixbuf/no-mime-sniffing.patch
new file mode 100644
index 00000000000..9896e25acda
--- /dev/null
+++ b/pkgs/development/libraries/gdk-pixbuf/no-mime-sniffing.patch
@@ -0,0 +1,18 @@
+--- a/meson.build
++++ b/meson.build
+@@ -186,13 +186,8 @@
+ gmodule_dep = dependency('gmodule-no-export-2.0')
+ gio_dep = dependency('gio-2.0')
+ 
+-# On non-Windows/macOS systems we always required shared-mime-info and GIO
+-if host_system != 'windows' and host_system != 'darwin'
+-  shared_mime_dep = dependency('shared-mime-info')
+-  gdk_pixbuf_conf.set('GDK_PIXBUF_USE_GIO_MIME', 1)
+-else
+-  shared_mime_dep = []
+-endif
++# No MIME sniffing for now
++shared_mime_dep = []
+ 
+ gdk_pixbuf_deps = [ mathlib_dep, gobject_dep, gmodule_dep, gio_dep, shared_mime_dep ]
+ 
diff --git a/pkgs/development/libraries/gecode/default.nix b/pkgs/development/libraries/gecode/default.nix
index 5d683de404d..83ec0edfb49 100644
--- a/pkgs/development/libraries/gecode/default.nix
+++ b/pkgs/development/libraries/gecode/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "gecode-${version}";
-  version = "5.0.0";
+  version = "6.0.0";
 
   src = fetchurl {
     url = "http://www.gecode.org/download/${name}.tar.gz";
-    sha256 = "0yz7m4msp7g2jzsn216q74d9n7rv6qh8abcv0jdc1n7y2nhjzzzl";
+    sha256 = "0dp7bm6k790jx669y4jr0ffi5cdfpwsqm1ykj2c0zh56jsgs6hfs";
   };
 
   enableParallelBuilding = true;
diff --git a/pkgs/development/libraries/gegl/3.0.nix b/pkgs/development/libraries/gegl/3.0.nix
index 03f6054791e..161153b7e3d 100644
--- a/pkgs/development/libraries/gegl/3.0.nix
+++ b/pkgs/development/libraries/gegl/3.0.nix
@@ -1,17 +1,15 @@
 { stdenv, fetchurl, pkgconfig, glib, babl, libpng, cairo, libjpeg, which
 , librsvg, pango, gtk, bzip2, json-glib, intltool, autoreconfHook, libraw
-, libwebp, gnome3 }:
+, libwebp, gnome3, libintl }:
 
 stdenv.mkDerivation rec {
-  name = "gegl-0.3.28";
+  name = "gegl-0.3.34";
 
   src = fetchurl {
     url = "http://download.gimp.org/pub/gegl/0.3/${name}.tar.bz2";
-    sha256 = "1zr3gmmzjhp2d3d3h51x80r5q7gs9rv67ywx69sif6as99h8fbqm";
+    sha256 = "010k86wn8cmr07rqwa4lccrmiiqrwbnkxvic4lpapwgbamv258jw";
   };
 
-  NIX_LDFLAGS = stdenv.lib.optionalString stdenv.isDarwin "-lintl";
-
   hardeningDisable = [ "format" ];
 
   # needs fonts otherwise  don't know how to pass them
@@ -28,7 +26,7 @@ stdenv.mkDerivation rec {
 
   propagatedBuildInputs = [ glib json-glib babl ]; # for gegl-3.0.pc
 
-  nativeBuildInputs = [ pkgconfig intltool which autoreconfHook ];
+  nativeBuildInputs = [ pkgconfig intltool which autoreconfHook libintl ];
 
   meta = with stdenv.lib; {
     description = "Graph-based image processing framework";
diff --git a/pkgs/development/libraries/gegl/4.0.nix b/pkgs/development/libraries/gegl/4.0.nix
new file mode 100644
index 00000000000..a8e50945c3f
--- /dev/null
+++ b/pkgs/development/libraries/gegl/4.0.nix
@@ -0,0 +1,38 @@
+{ stdenv, fetchurl, pkgconfig, glib, babl, libpng, cairo, libjpeg, which
+, librsvg, pango, gtk, bzip2, json-glib, intltool, autoreconfHook, libraw
+, libwebp, gnome3, libintl }:
+
+let
+  version = "0.4.0";
+in stdenv.mkDerivation rec {
+  name = "gegl-${version}";
+
+  src = fetchurl {
+    url = "http://download.gimp.org/pub/gegl/${stdenv.lib.versions.majorMinor version}/${name}.tar.bz2";
+    sha256 = "1ighk4z8nlqrzyj8w97s140hzj59564l3xv6fpzbr97m1zx2nkfh";
+  };
+
+  # needs fonts otherwise, don't know how to pass them
+  configureFlags = [ "--disable-docs" ];
+
+  enableParallelBuilding = true;
+
+  doCheck = true;
+
+  buildInputs = [
+    libpng cairo libjpeg librsvg pango gtk bzip2
+    libraw libwebp gnome3.gexiv2
+  ];
+
+  propagatedBuildInputs = [ glib json-glib babl ]; # for gegl-4.0.pc
+
+  nativeBuildInputs = [ pkgconfig intltool which autoreconfHook libintl ];
+
+  meta = with stdenv.lib; {
+    description = "Graph-based image processing framework";
+    homepage = http://www.gegl.org;
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ jtojnar ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/development/libraries/gegl/default.nix b/pkgs/development/libraries/gegl/default.nix
index 304d8110ad4..d2987be6a3d 100644
--- a/pkgs/development/libraries/gegl/default.nix
+++ b/pkgs/development/libraries/gegl/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, pkgconfig, glib, babl, libpng, cairo, libjpeg
-, librsvg, pango, gtk2, bzip2, intltool
+, librsvg, pango, gtk2, bzip2, intltool, libintl
 , OpenGL ? null }:
 
 stdenv.mkDerivation rec {
@@ -20,14 +20,14 @@ stdenv.mkDerivation rec {
   # needs fonts otherwise  don't know how to pass them
   configureFlags = "--disable-docs";
 
-  NIX_LDFLAGS = if stdenv.isDarwin then "-lintl" else null;
-
-  buildInputs = [ babl libpng cairo libjpeg librsvg pango gtk2 bzip2 intltool ]
+  buildInputs = [ babl libpng cairo libjpeg librsvg pango gtk2 bzip2 intltool libintl ]
     ++ stdenv.lib.optional stdenv.isDarwin OpenGL;
 
   nativeBuildInputs = [ pkgconfig ];
 
-  meta = { 
+  doCheck = false; # fails 3 out of 19 tests
+
+  meta = {
     description = "Graph-based image processing framework";
     homepage = http://www.gegl.org;
     license = stdenv.lib.licenses.gpl3;
diff --git a/pkgs/development/libraries/geoclue/2.0.nix b/pkgs/development/libraries/geoclue/2.0.nix
index 66aa3b4a218..4d348c92171 100644
--- a/pkgs/development/libraries/geoclue/2.0.nix
+++ b/pkgs/development/libraries/geoclue/2.0.nix
@@ -1,25 +1,24 @@
-{ fetchurl, stdenv, intltool, libintlOrEmpty, pkgconfig, glib, json-glib, libsoup, geoip
-, dbus, dbus-glib, modemmanager, avahi, glib-networking, wrapGAppsHook
+{ fetchurl, stdenv, intltool, pkgconfig, glib, json-glib, libsoup, geoip
+, dbus, dbus-glib, modemmanager, avahi, glib-networking, wrapGAppsHook, gobjectIntrospection
 }:
 
 with stdenv.lib;
 
 stdenv.mkDerivation rec {
-  name = "geoclue-2.4.7";
+  name = "geoclue-2.4.8";
 
   src = fetchurl {
     url = "http://www.freedesktop.org/software/geoclue/releases/2.4/${name}.tar.xz";
-    sha256 = "19hfmr8fa1js8ynazdyjxlyrqpjn6m1719ay70ilga4rayxrcyyi";
+    sha256 = "08yg1r7m0n9hwyvcy769qkmkf8lslqwv69cjfffwnc3zm5km25qj";
   };
 
   outputs = [ "out" "dev" ];
 
   nativeBuildInputs = [
-    pkgconfig intltool wrapGAppsHook
+    pkgconfig intltool wrapGAppsHook gobjectIntrospection
   ];
 
-  buildInputs = libintlOrEmpty ++
-   [ glib json-glib libsoup geoip
+  buildInputs = [ glib json-glib libsoup geoip
      dbus dbus-glib avahi
    ] ++ optionals (!stdenv.isDarwin) [ modemmanager ];
 
@@ -29,7 +28,7 @@ stdenv.mkDerivation rec {
      substituteInPlace configure --replace "-Werror" ""
   '';
 
-  configureFlags = [ "--with-systemdsystemunitdir=$(out)/etc/systemd/system" ] ++
+  configureFlags = [ "--with-systemdsystemunitdir=$(out)/etc/systemd/system" "--enable-introspection" ] ++
                    optionals stdenv.isDarwin [
                        "--disable-silent-rules"
                        "--disable-3g-source"
@@ -37,14 +36,13 @@ stdenv.mkDerivation rec {
                        "--disable-modem-gps-source"
                        "--disable-nmea-source" ];
 
-  NIX_CFLAGS_COMPILE = optionalString stdenv.isDarwin " -lintl";
-
   postInstall = ''
     sed -i $dev/lib/pkgconfig/libgeoclue-2.0.pc -e "s|includedir=.*|includedir=$dev/include|"
   '';
 
   meta = with stdenv.lib; {
     description = "Geolocation framework and some data providers";
+    homepage = https://freedesktop.org/wiki/Software/GeoClue/;
     maintainers = with maintainers; [ raskin garbas ];
     platforms = with platforms; linux ++ darwin;
     license = licenses.lgpl2;
diff --git a/pkgs/development/libraries/geos/default.nix b/pkgs/development/libraries/geos/default.nix
index de7111f6be3..24e3b4842fa 100644
--- a/pkgs/development/libraries/geos/default.nix
+++ b/pkgs/development/libraries/geos/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, fetchpatch, python }:
 
 stdenv.mkDerivation rec {
-  name = "geos-3.6.1";
+  name = "geos-3.6.2";
 
   src = fetchurl {
     url = "http://download.osgeo.org/geos/${name}.tar.bz2";
-    sha256 = "1icz31kd5sml2kdxhjznvmv33zfr6nig9l0i6bdcz9q9g8x4wbja";
+    sha256 = "0ak5szby29l9l0vy43dm5z2g92xzdky20q1gc1kah1fnhkgi6nh4";
   };
 
   enableParallelBuilding = true;
diff --git a/pkgs/development/libraries/getdns/default.nix b/pkgs/development/libraries/getdns/default.nix
index 382bdb17247..779534460df 100644
--- a/pkgs/development/libraries/getdns/default.nix
+++ b/pkgs/development/libraries/getdns/default.nix
@@ -4,11 +4,11 @@
 stdenv.mkDerivation rec {
   pname = "getdns";
   name = "${pname}-${version}";
-  version = "1.3.0";
+  version = "1.4.1";
 
   src = fetchurl {
-    url = "https://getdnsapi.net/releases/${pname}-1-3-0/${pname}-${version}.tar.gz";
-    sha256 = "920fa2e07c72fd0e5854db1820fa777108009fc5cb702f9aa5155ef58b12adb1";
+    url = "https://getdnsapi.net/releases/${pname}-1-4-1/${pname}-${version}.tar.gz";
+    sha256 = "07n5n5m4dnnh2xkh7wrnlx8s8myrvjf2nbs7n5m5nq8gg3f36li4";
   };
 
   nativeBuildInputs = [ libtool m4 autoreconfHook automake file ];
diff --git a/pkgs/development/libraries/gettext/default.nix b/pkgs/development/libraries/gettext/default.nix
index b6855a7e26d..abc24700fa2 100644
--- a/pkgs/development/libraries/gettext/default.nix
+++ b/pkgs/development/libraries/gettext/default.nix
@@ -44,7 +44,11 @@ stdenv.mkDerivation rec {
   # HACK, see #10874 (and 14664)
   buildInputs = stdenv.lib.optional (!stdenv.isLinux && !hostPlatform.isCygwin) libiconv;
 
-  setupHook = ./gettext-setup-hook.sh;
+  setupHooks = [
+    ../../../build-support/setup-hooks/role.bash
+    ./gettext-setup-hook.sh
+  ];
+  gettextNeedsLdflags = hostPlatform.libc != "glibc" && !hostPlatform.isMusl;
 
   enableParallelBuilding = true;
 
diff --git a/pkgs/development/libraries/gettext/gettext-setup-hook.sh b/pkgs/development/libraries/gettext/gettext-setup-hook.sh
index 5932ef6a44f..0a6bc0dd253 100644
--- a/pkgs/development/libraries/gettext/gettext-setup-hook.sh
+++ b/pkgs/development/libraries/gettext/gettext-setup-hook.sh
@@ -1,7 +1,17 @@
 gettextDataDirsHook() {
+    # See pkgs/build-support/setup-hooks/role.bash
+    getHostRoleEnvHook
     if [ -d "$1/share/gettext" ]; then
-        addToSearchPath GETTEXTDATADIRS "$1/share/gettext"
+        addToSearchPath "GETTEXTDATADIRS${role_post}" "$1/share/gettext"
     fi
 }
 
 addEnvHooks "$hostOffset" gettextDataDirsHook
+
+# libintl must be listed in load flags on non-Glibc
+# it doesn't hurt to have it in Glibc either though
+if [ ! -z "@gettextNeedsLdflags@" ]; then
+    # See pkgs/build-support/setup-hooks/role.bash
+    getHostRole
+    export NIX_${role_pre}LDFLAGS+=" -lintl"
+fi
diff --git a/pkgs/development/libraries/gflags/default.nix b/pkgs/development/libraries/gflags/default.nix
deleted file mode 100644
index d79b7691335..00000000000
--- a/pkgs/development/libraries/gflags/default.nix
+++ /dev/null
@@ -1,10 +0,0 @@
-{ stdenv, fetchurl, cmake }:
-
-stdenv.mkDerivation
-  { name = "gflags-2.2.1";
-    src = fetchurl
-      { url = "https://github.com/gflags/gflags/archive/v2.2.1.tar.gz";
-        sha256 = "03lxc2ah8i392kh1naq99iip34k4fpv22kwflyx3byd2ssycs9xf";
-      };
-    nativeBuildInputs = [ cmake ];
-  }
diff --git a/pkgs/development/libraries/git2/0.25.nix b/pkgs/development/libraries/git2/0.25.nix
index 9743b82a14a..6bb1de2cf34 100644
--- a/pkgs/development/libraries/git2/0.25.nix
+++ b/pkgs/development/libraries/git2/0.25.nix
@@ -25,6 +25,8 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
+  doCheck = false; # hangs. or very expensive?
+
   meta = {
     description = "The Git linkable library";
     homepage = https://libgit2.github.com/;
diff --git a/pkgs/development/libraries/git2/default.nix b/pkgs/development/libraries/git2/default.nix
index c0659a79fd3..2da1a9ba2a6 100644
--- a/pkgs/development/libraries/git2/default.nix
+++ b/pkgs/development/libraries/git2/default.nix
@@ -26,6 +26,8 @@ stdenv.mkDerivation (rec {
 
   enableParallelBuilding = true;
 
+  doCheck = false; # hangs. or very expensive?
+
   meta = with stdenv.lib; {
     description = "The Git linkable library";
     homepage = https://libgit2.github.com/;
diff --git a/pkgs/development/libraries/givaro/default.nix b/pkgs/development/libraries/givaro/default.nix
index 335afa566db..3556acb0590 100644
--- a/pkgs/development/libraries/givaro/default.nix
+++ b/pkgs/development/libraries/givaro/default.nix
@@ -1,16 +1,34 @@
-{stdenv, fetchFromGitHub, automake, autoconf, libtool, autoreconfHook, gmpxx}:
+{ stdenv, fetchFromGitHub, automake, autoconf, libtool, autoreconfHook, gmpxx
+, optimize ? false # impure
+}:
 stdenv.mkDerivation rec {
   name = "${pname}-${version}";
   pname = "givaro";
-  version = "4.0.2";
+  version = "4.0.4";
   src = fetchFromGitHub {
     owner = "linbox-team";
     repo = "${pname}";
     rev = "v${version}";
-    sha256 = "04n1lyc823z3l1d7mnmqpc9z1pkn646szjchasbfkn74m7cb0qz7";
+    sha256 = "199p8wyj5i63jbnk7j8qbdbfp5rm2lpmcxyk3mdjy9bz7ygx3hhy";
   };
   nativeBuildInputs = [ autoreconfHook ];
   buildInputs = [autoconf automake libtool gmpxx];
+  configureFlags = [
+    "--disable-optimization"
+  ] ++ stdenv.lib.optionals (!optimize) [
+    # disable SIMD instructions (which are enabled *when available* by default)
+    "--disable-sse"
+    "--disable-sse2"
+    "--disable-sse3"
+    "--disable-ssse3"
+    "--disable-sse41"
+    "--disable-sse42"
+    "--disable-avx"
+    "--disable-avx2"
+    "--disable-fma"
+    "--disable-fma4"
+  ];
+  doCheck = true;
   meta = {
     inherit version;
     description = ''A C++ library for arithmetic and algebraic computations'';
diff --git a/pkgs/development/libraries/glbinding/default.nix b/pkgs/development/libraries/glbinding/default.nix
new file mode 100644
index 00000000000..339e0d8d60b
--- /dev/null
+++ b/pkgs/development/libraries/glbinding/default.nix
@@ -0,0 +1,22 @@
+{ stdenv, fetchFromGitHub, cmake, libGLU, xlibsWrapper }:
+stdenv.mkDerivation rec {
+  name = "${pname}-${version}";
+  pname = "glbinding";
+  version = "2.1.4";
+
+  src = fetchFromGitHub {
+    owner = "cginternals";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1yic3p2iqzxc7wrjnqclx7vcaaqx5fiysq9rqbi6v390jqkg3zlz";
+  };
+
+  buildInputs = [ cmake libGLU xlibsWrapper ];
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/cginternals/glbinding/;
+    description = "A C++ binding for the OpenGL API, generated using the gl.xml specification";
+    license = licenses.mit;
+    maintainers = [ maintainers.mt-caret ];
+  };
+}
diff --git a/pkgs/development/libraries/glew/default.nix b/pkgs/development/libraries/glew/default.nix
index eebf4dded4a..a8add880090 100644
--- a/pkgs/development/libraries/glew/default.nix
+++ b/pkgs/development/libraries/glew/default.nix
@@ -5,11 +5,11 @@
 with stdenv.lib;
 
 stdenv.mkDerivation rec {
-  name = "glew-2.0.0";
+  name = "glew-2.1.0";
 
   src = fetchurl {
     url = "mirror://sourceforge/glew/${name}.tgz";
-    sha256 = "0r37fg2s1f0jrvwh6c8cz5x6v4wqmhq42qm15cs9qs349q5c6wn5";
+    sha256 = "159wk5dc0ykjbxvag5i1m2mhp23zkk6ra04l26y3jc3nwvkr3ph4";
   };
 
   outputs = [ "bin" "out" "dev" "doc" ];
diff --git a/pkgs/development/libraries/glib-networking/default.nix b/pkgs/development/libraries/glib-networking/default.nix
index 12a8469868b..c3bcb3aa1c4 100644
--- a/pkgs/development/libraries/glib-networking/default.nix
+++ b/pkgs/development/libraries/glib-networking/default.nix
@@ -1,33 +1,37 @@
-{ stdenv, fetchurl, pkgconfig, glib, intltool, gnutls, libproxy, gnome3
+{ stdenv, fetchurl, fetchpatch, meson, ninja, pkgconfig, glib, gettext, gnutls, p11-kit, libproxy, gnome3
 , gsettings-desktop-schemas }:
 
 let
   pname = "glib-networking";
-  version = "2.54.1";
+  version = "2.56.0";
 in
 stdenv.mkDerivation rec {
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${gnome3.versionBranch version}/${name}.tar.xz";
-    sha256 = "0bq16m9nh3gcz9x2fvygr0iwxd2pxcbrm3lj3kihsnh1afv8g9za";
+    sha256 = "14vw8xwajd7m31bpavg2psk693plhjikwpk8bzf3jl1fmsy11za7";
   };
 
   outputs = [ "out" "dev" ]; # to deal with propagatedBuildInputs
 
-  configureFlags = if stdenv.isDarwin then "--without-ca-certificates"
-    else "--with-ca-certificates=/etc/ssl/certs/ca-certificates.crt";
+  patches = [
+    # Use GNUTLS system trust for certificates
+    (fetchpatch {
+      url = https://git.gnome.org/browse/glib-networking/patch/?id=f1c8feee014007cc913b71357acb609f8d1200df;
+      sha256 = "1rbxqsrcb5if3xs2d18pqzd9xnjysdj715ijc41n5w326fsawg7i";
+    })
+  ];
 
-  LDFLAGS = stdenv.lib.optionalString stdenv.isDarwin "-lintl";
+  PKG_CONFIG_GIO_2_0_GIOMODULEDIR = "lib/gio/modules";
 
-  preBuild = ''
-    sed -e "s@${glib.out}/lib/gio/modules@$out/lib/gio/modules@g" -i $(find . -name Makefile)
+  postPatch = ''
+    chmod +x meson_post_install.py # patchShebangs requires executable file
+    patchShebangs meson_post_install.py
   '';
 
-  nativeBuildInputs = [ pkgconfig intltool ];
-  propagatedBuildInputs = [ glib gnutls libproxy gsettings-desktop-schemas ];
-
-  NIX_LDFLAGS = stdenv.lib.optionalString stdenv.isDarwin "-lintl";
+  nativeBuildInputs = [ meson ninja pkgconfig gettext ];
+  propagatedBuildInputs = [ glib gnutls p11-kit libproxy gsettings-desktop-schemas ];
 
   doCheck = false; # tests need to access the certificates (among other things)
 
@@ -43,4 +47,3 @@ stdenv.mkDerivation rec {
     platforms = platforms.unix;
   };
 }
-
diff --git a/pkgs/development/libraries/glib/default.nix b/pkgs/development/libraries/glib/default.nix
index e5163e933e1..ac921227740 100644
--- a/pkgs/development/libraries/glib/default.nix
+++ b/pkgs/development/libraries/glib/default.nix
@@ -1,5 +1,5 @@
-{ stdenv, hostPlatform, fetchurl, pkgconfig, gettext, perl, python
-, libiconv, libintlOrEmpty, zlib, libffi, pcre, libelf, gnome3
+{ stdenv, hostPlatform, fetchurl, gettext, pkgconfig, perl, python
+, libiconv, zlib, libffi, pcre, libelf, gnome3
 # use utillinuxMinimal to avoid circular dependency (utillinux, systemd, glib)
 , utillinuxMinimal ? null
 
@@ -9,7 +9,6 @@
 
 with stdenv.lib;
 
-assert stdenv.isFreeBSD || stdenv.isDarwin || stdenv.cc.isGNU || hostPlatform.isCygwin;
 assert stdenv.isLinux -> utillinuxMinimal != null;
 
 # TODO:
@@ -42,7 +41,7 @@ let
     ln -sr -t "''${!outputInclude}/include/" "''${!outputInclude}"/lib/*/include/* 2>/dev/null || true
   '';
 
-  version = "2.54.3";
+  version = "2.56.0";
 in
 
 stdenv.mkDerivation rec {
@@ -50,7 +49,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://gnome/sources/glib/${gnome3.versionBranch version}/${name}.tar.xz";
-    sha256 = "963fdc6685dc3da8e5381dfb9f15ca4b5709b28be84d9d05a9bb8e446abac0a8";
+    sha256 = "1iqgi90fmpl3l23jm2iv44qp7hqsxvnv7978s18933bvx4bnxvzc";
   };
 
   patches = optional stdenv.isDarwin ./darwin-compilation.patch
@@ -66,17 +65,13 @@ stdenv.mkDerivation rec {
     ++ optionals stdenv.isLinux [ utillinuxMinimal ] # for libmount
     ++ optionals doCheck [ tzdata libxml2 desktop-file-utils shared-mime-info ];
 
-  nativeBuildInputs = [ pkgconfig gettext perl python ];
+  nativeBuildInputs = [ pkgconfig perl python gettext ];
 
-  propagatedBuildInputs = [ zlib libffi libiconv ]
-    ++ libintlOrEmpty;
+  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"
-    # glibc inclues GNU libiconv, but Darwin's iconv function is good enonugh.
-    ++ optional (stdenv.hostPlatform.libc != "glibc" && !stdenv.hostPlatform.isDarwin)
-      "--with-libiconv=gnu"
     ++ optional stdenv.isSunOS "--disable-dtrace"
     # Can't run this test when cross-compiling
     ++ optionals (stdenv.hostPlatform != stdenv.buildPlatform)
@@ -84,8 +79,7 @@ stdenv.mkDerivation rec {
     # GElf only supports elf64 hosts
     ++ optional (!stdenv.hostPlatform.is64bit) "--disable-libelf";
 
-  NIX_CFLAGS_COMPILE = optional stdenv.isDarwin "-lintl"
-    ++ optional stdenv.isSunOS "-DBSD_COMP";
+  NIX_CFLAGS_COMPILE = optional stdenv.isSunOS "-DBSD_COMP";
 
   preConfigure = optionalString stdenv.isSunOS ''
     sed -i -e 's|inotify.h|foobar-inotify.h|g' configure
diff --git a/pkgs/development/libraries/glibc/2.27.nix b/pkgs/development/libraries/glibc/2.27.nix
deleted file mode 100644
index bf63b97635a..00000000000
--- a/pkgs/development/libraries/glibc/2.27.nix
+++ /dev/null
@@ -1,102 +0,0 @@
-{ stdenv, callPackage
-, withLinuxHeaders ? true
-, installLocales ? true
-, profilingLibraries ? false
-, withGd ? false
-}:
-
-assert stdenv.cc.isGNU;
-
-callPackage ./common-2.27.nix { inherit stdenv; } {
-    name = "glibc" + stdenv.lib.optionalString withGd "-gd";
-
-    inherit withLinuxHeaders profilingLibraries installLocales withGd;
-
-    NIX_NO_SELF_RPATH = true;
-
-    postConfigure = ''
-      # Hack: get rid of the `-static' flag set by the bootstrap stdenv.
-      # This has to be done *after* `configure' because it builds some
-      # test binaries.
-      export NIX_CFLAGS_LINK=
-      export NIX_LDFLAGS_BEFORE=
-
-      export NIX_DONT_SET_RPATH=1
-      unset CFLAGS
-
-      # Apparently --bindir is not respected.
-      makeFlagsArray+=("bindir=$bin/bin" "sbindir=$bin/sbin" "rootsbindir=$bin/sbin")
-    '';
-
-    # The stackprotector and fortify hardening flags are autodetected by glibc
-    # and enabled by default if supported. Setting it for every gcc invocation
-    # does not work.
-    hardeningDisable = [ "stackprotector" "fortify" ];
-
-    # When building glibc from bootstrap-tools, we need libgcc_s at RPATH for
-    # any program we run, because the gcc will have been placed at a new
-    # store path than that determined when built (as a source for the
-    # bootstrap-tools tarball)
-    # Building from a proper gcc staying in the path where it was installed,
-    # libgcc_s will not be at {gcc}/lib, and gcc's libgcc will be found without
-    # any special hack.
-    preInstall = ''
-      if [ -f ${stdenv.cc.cc}/lib/libgcc_s.so.1 ]; then
-          mkdir -p $out/lib
-          cp ${stdenv.cc.cc}/lib/libgcc_s.so.1 $out/lib/libgcc_s.so.1
-          # the .so It used to be a symlink, but now it is a script
-          cp -a ${stdenv.cc.cc}/lib/libgcc_s.so $out/lib/libgcc_s.so
-      fi
-    '';
-
-    postInstall = ''
-      if test -n "$installLocales"; then
-          make -j''${NIX_BUILD_CORES:-1} -l''${NIX_BUILD_CORES:-1} localedata/install-locales
-      fi
-
-      test -f $out/etc/ld.so.cache && rm $out/etc/ld.so.cache
-
-      if test -n "$linuxHeaders"; then
-          # Include the Linux kernel headers in Glibc, except the `scsi'
-          # subdirectory, which Glibc provides itself.
-          (cd $dev/include && \
-           ln -sv $(ls -d $linuxHeaders/include/* | grep -v scsi\$) .)
-      fi
-
-      # Fix for NIXOS-54 (ldd not working on x86_64).  Make a symlink
-      # "lib64" to "lib".
-      if test -n "$is64bit"; then
-          ln -s lib $out/lib64
-      fi
-
-      # Get rid of more unnecessary stuff.
-      rm -rf $out/var $bin/bin/sln
-    ''
-      # For some reason these aren't stripped otherwise and retain reference
-      # to bootstrap-tools; on cross-arm this stripping would break objects.
-    + stdenv.lib.optionalString (stdenv.hostPlatform == stdenv.buildPlatform) ''
-
-      for i in "$out"/lib/*.a; do
-          [ "$i" = "$out/lib/libm.a" ] || $STRIP -S "$i"
-      done
-    '' + ''
-
-      # Put libraries for static linking in a separate output.  Note
-      # that libc_nonshared.a and libpthread_nonshared.a are required
-      # for dynamically-linked applications.
-      mkdir -p $static/lib
-      mv $out/lib/*.a $static/lib
-      mv $static/lib/lib*_nonshared.a $out/lib
-      # Some of *.a files are linker scripts where moving broke the paths.
-      sed "/^GROUP/s|$out/lib/lib|$static/lib/lib|g" \
-        -i "$static"/lib/*.a
-
-      # Work around a Nix bug: hard links across outputs cause a build failure.
-      cp $bin/bin/getconf $bin/bin/getconf_
-      mv $bin/bin/getconf_ $bin/bin/getconf
-    '';
-
-    separateDebugInfo = true;
-
-    meta.description = "The GNU C Library";
-  }
diff --git a/pkgs/development/libraries/glibc/common-2.27.nix b/pkgs/development/libraries/glibc/common-2.27.nix
deleted file mode 100644
index 7d2cf7d14b7..00000000000
--- a/pkgs/development/libraries/glibc/common-2.27.nix
+++ /dev/null
@@ -1,207 +0,0 @@
-/* Build configuration used to build glibc, Info files, and locale
-   information.  */
-
-{ stdenv, lib
-, buildPlatform, hostPlatform
-, buildPackages
-, fetchurl
-, linuxHeaders ? null
-, gd ? null, libpng ? null
-, bison
-}:
-
-{ name
-, withLinuxHeaders ? false
-, profilingLibraries ? false
-, installLocales ? false
-, withGd ? false
-, meta
-, ...
-} @ args:
-
-let
-  version = "2.27";
-  patchSuffix = "";
-  sha256 = "0wpwq7gsm7sd6ysidv0z575ckqdg13cr2njyfgrbgh4f65adwwji";
-in
-
-assert withLinuxHeaders -> linuxHeaders != null;
-assert withGd -> gd != null && libpng != null;
-
-stdenv.mkDerivation ({
-  inherit  installLocales;
-  linuxHeaders = if withLinuxHeaders then linuxHeaders else null;
-
-  inherit (stdenv) is64bit;
-
-  enableParallelBuilding = true;
-
-  patches =
-    [
-      /* Have rpcgen(1) look for cpp(1) in $PATH.  */
-      ./rpcgen-path.patch
-
-      /* Allow NixOS and Nix to handle the locale-archive. */
-      ./nix-locale-archive-2.27.patch
-
-      /* Don't use /etc/ld.so.cache, for non-NixOS systems.  */
-      ./dont-use-system-ld-so-cache-2.27.patch
-
-      /* Don't use /etc/ld.so.preload, but /etc/ld-nix.so.preload.  */
-      ./dont-use-system-ld-so-preload.patch
-
-      /* The command "getconf CS_PATH" returns the default search path
-         "/bin:/usr/bin", which is inappropriate on NixOS machines. This
-         patch extends the search path by "/run/current-system/sw/bin". */
-      ./fix_path_attribute_in_getconf.patch
-
-      /* Allow running with RHEL 6 -like kernels.  The patch adds an exception
-        for glibc to accept 2.6.32 and to tag the ELFs as 2.6.32-compatible
-        (otherwise the loader would refuse libc).
-        Note that glibc will fully work only on their heavily patched kernels
-        and we lose early mismatch detection on 2.6.32.
-
-        On major glibc updates we should check that the patched kernel supports
-        all the required features.  ATM it's verified up to glibc-2.26-131.
-        # HOWTO: check glibc sources for changes in kernel requirements
-        git log -p glibc-2.25.. sysdeps/unix/sysv/linux/x86_64/kernel-features.h sysdeps/unix/sysv/linux/kernel-features.h
-        # get kernel sources (update the URL)
-        mkdir tmp && cd tmp
-        curl http://vault.centos.org/6.9/os/Source/SPackages/kernel-2.6.32-696.el6.src.rpm | rpm2cpio - | cpio -idmv
-        tar xf linux-*.bz2
-        # check syscall presence, for example
-        less linux-*?/arch/x86/kernel/syscall_table_32.S
-       */
-      ./allow-kernel-2.6.32.patch
-    ]
-    ++ lib.optional stdenv.isx86_64 ./fix-x64-abi.patch;
-
-  postPatch =
-    ''
-      # Needed for glibc to build with the gnumake 3.82
-      # http://comments.gmane.org/gmane.linux.lfs.support/31227
-      sed -i 's/ot \$/ot:\n\ttouch $@\n$/' manual/Makefile
-
-      # nscd needs libgcc, and we don't want it dynamically linked
-      # because we don't want it to depend on bootstrap-tools libs.
-      echo "LDFLAGS-nscd += -static-libgcc" >> nscd/Makefile
-    '';
-
-  configureFlags =
-    [ "-C"
-      "--enable-add-ons"
-      "--enable-obsolete-nsl"
-      "--enable-obsolete-rpc"
-      "--sysconfdir=/etc"
-      "--enable-stackguard-randomization"
-      (if withLinuxHeaders
-       then "--with-headers=${linuxHeaders}/include"
-       else "--without-headers")
-      (if profilingLibraries
-       then "--enable-profile"
-       else "--disable-profile")
-    ] ++ lib.optionals withLinuxHeaders [
-      "--enable-kernel=3.2.0" # can't get below with glibc >= 2.26
-    ] ++ lib.optionals (hostPlatform != buildPlatform) [
-      (if hostPlatform.platform.gcc.float or (hostPlatform.parsed.abi.float or "hard") == "soft"
-       then "--without-fp"
-       else "--with-fp")
-      "--with-__thread"
-    ] ++ lib.optionals (hostPlatform == buildPlatform && hostPlatform.isAarch32) [
-      "--host=arm-linux-gnueabi"
-      "--build=arm-linux-gnueabi"
-
-      # To avoid linking with -lgcc_s (dynamic link)
-      # so the glibc does not depend on its compiler store path
-      "libc_cv_as_needed=no"
-    ] ++ lib.optional withGd "--with-gd";
-
-  installFlags = [ "sysconfdir=$(out)/etc" ];
-
-  outputs = [ "out" "bin" "dev" "static" ];
-
-  depsBuildBuild = [ buildPackages.stdenv.cc ];
-  nativeBuildInputs = [ bison ];
-  buildInputs = lib.optionals withGd [ gd libpng ];
-
-  # Needed to install share/zoneinfo/zone.tab.  Set to impure /bin/sh to
-  # prevent a retained dependency on the bootstrap tools in the stdenv-linux
-  # bootstrap.
-  BASH_SHELL = "/bin/sh";
-}
-
-// (removeAttrs args [ "withLinuxHeaders" "withGd" ]) //
-
-{
-  name = name + "-${version}${patchSuffix}";
-
-  src = fetchurl {
-    url = "mirror://gnu/glibc/glibc-${version}.tar.xz";
-    inherit sha256;
-  };
-
-  # Remove absolute paths from `configure' & co.; build out-of-tree.
-  preConfigure = ''
-    export PWD_P=$(type -tP pwd)
-    for i in configure io/ftwtest-sh; do
-        # Can't use substituteInPlace here because replace hasn't been
-        # built yet in the bootstrap.
-        sed -i "$i" -e "s^/bin/pwd^$PWD_P^g"
-    done
-
-    mkdir ../build
-    cd ../build
-
-    configureScript="`pwd`/../$sourceRoot/configure"
-
-    ${lib.optionalString (stdenv.cc.libc != null)
-      ''makeFlags="$makeFlags BUILD_LDFLAGS=-Wl,-rpath,${stdenv.cc.libc}/lib"''
-    }
-
-
-  '' + lib.optionalString (hostPlatform != buildPlatform) ''
-    sed -i s/-lgcc_eh//g "../$sourceRoot/Makeconfig"
-
-    cat > config.cache << "EOF"
-    libc_cv_forced_unwind=yes
-    libc_cv_c_cleanup=yes
-    libc_cv_gnu89_inline=yes
-    EOF
-  '';
-
-  preBuild = lib.optionalString withGd "unset NIX_DONT_SET_RPATH";
-
-  meta = {
-    homepage = http://www.gnu.org/software/libc/;
-    description = "The GNU C Library";
-
-    longDescription =
-      '' Any Unix-like operating system needs a C library: the library which
-         defines the "system calls" and other basic facilities such as
-         open, malloc, printf, exit...
-
-         The GNU C library is used as the C library in the GNU system and
-         most systems with the Linux kernel.
-      '';
-
-    license = lib.licenses.lgpl2Plus;
-
-    maintainers = [ lib.maintainers.eelco ];
-    platforms = lib.platforms.linux;
-  } // meta;
-
-  passthru = { inherit version; };
-}
-
-// lib.optionalAttrs (hostPlatform != buildPlatform) {
-  preInstall = null; # clobber the native hook
-
-  dontStrip = true;
-
-  separateDebugInfo = false; # this is currently broken for crossDrv
-
-  # To avoid a dependency on the build system 'bash'.
-  preFixup = ''
-    rm -f $bin/bin/{ldd,tzselect,catchsegv,xtrace}
-  '';
-})
diff --git a/pkgs/development/libraries/glibc/common.nix b/pkgs/development/libraries/glibc/common.nix
index a1c3a90162e..5c504d0d8e2 100644
--- a/pkgs/development/libraries/glibc/common.nix
+++ b/pkgs/development/libraries/glibc/common.nix
@@ -1,12 +1,29 @@
 /* Build configuration used to build glibc, Info files, and locale
-   information.  */
+   information.
+
+   Note that this derivation has multiple outputs and does not respect the
+   standard convention of putting the executables into the first output. The
+   first output is `lib` so that the libraries provided by this derivation
+   can be accessed directly, e.g.
+
+     "${pkgs.glibc}/lib/ld-linux-x86_64.so.2"
+
+   The executables are put into `bin` output and need to be referenced via
+   the `bin` attribute of the main package, e.g.
+
+     "${pkgs.glibc.bin}/bin/ldd".
+
+  The executables provided by glibc typically include `ldd`, `locale`, `iconv`
+  but the exact set depends on the library version and the configuration.
+*/
 
 { stdenv, lib
 , buildPlatform, hostPlatform
 , buildPackages
-, fetchurl
+, fetchurl, fetchpatch ? null
 , linuxHeaders ? null
 , gd ? null, libpng ? null
+, bison
 }:
 
 { name
@@ -19,16 +36,16 @@
 } @ args:
 
 let
-  version = "2.26";
-  patchSuffix = "-131";
-  sha256 = "1ggnj1hzjym7sn93rbwydcqd562q73lsb7g7kd199g6j9j9hlkp5";
+  version = "2.27";
+  patchSuffix = "";
+  sha256 = "0wpwq7gsm7sd6ysidv0z575ckqdg13cr2njyfgrbgh4f65adwwji";
 in
 
 assert withLinuxHeaders -> linuxHeaders != null;
 assert withGd -> gd != null && libpng != null;
 
 stdenv.mkDerivation ({
-  inherit  installLocales;
+  inherit version installLocales;
   linuxHeaders = if withLinuxHeaders then linuxHeaders else null;
 
   inherit (stdenv) is64bit;
@@ -37,17 +54,6 @@ stdenv.mkDerivation ({
 
   patches =
     [
-      /*  No tarballs for stable upstream branch, only https://sourceware.org/git/?p=glibc.git
-          $ git co release/2.25/master; git describe
-          glibc-2.25-49-gbc5ace67fe
-          $ git show --reverse glibc-2.25..release/2.25/master | gzip -n -9 --rsyncable - > 2.25-49.patch.gz
-      */
-      ./2.26-75.patch.gz
-      ./2.26-75to115.diff.gz
-      # contains fix for CVE-2018-1000001 as the last commit:
-      # https://sourceware.org/git/?p=glibc.git;a=commit;h=fabef2edbc
-      ./2.26-115to131.diff.gz
-
       /* Have rpcgen(1) look for cpp(1) in $PATH.  */
       ./rpcgen-path.patch
 
@@ -84,27 +90,18 @@ stdenv.mkDerivation ({
        */
       ./allow-kernel-2.6.32.patch
     ]
-    ++ lib.optional stdenv.isx86_64 ./fix-x64-abi.patch;
+    ++ lib.optional stdenv.isx86_64 ./fix-x64-abi.patch
+    ++ lib.optional stdenv.hostPlatform.isMusl ./fix-rpc-types-musl-conflicts.patch;
 
   postPatch =
-    # Needed for glibc to build with the gnumake 3.82
-    # http://comments.gmane.org/gmane.linux.lfs.support/31227
     ''
+      # Needed for glibc to build with the gnumake 3.82
+      # http://comments.gmane.org/gmane.linux.lfs.support/31227
       sed -i 's/ot \$/ot:\n\ttouch $@\n$/' manual/Makefile
-    ''
-    # nscd needs libgcc, and we don't want it dynamically linked
-    # because we don't want it to depend on bootstrap-tools libs.
-    + ''
+
+      # nscd needs libgcc, and we don't want it dynamically linked
+      # because we don't want it to depend on bootstrap-tools libs.
       echo "LDFLAGS-nscd += -static-libgcc" >> nscd/Makefile
-    ''
-    # Replace the date and time in nscd by a prefix of $out.
-    # It is used as a protocol compatibility check.
-    # Note: the size of the struct changes, but using only a part
-    # would break hash-rewriting. When receiving stats it does check
-    # that the struct sizes match and can't cause overflow or something.
-    + ''
-      cat ${./glibc-remove-datetime-from-nscd.patch} \
-        | sed "s,@out@,$out," | patch -p1
     '';
 
   configureFlags =
@@ -141,6 +138,7 @@ stdenv.mkDerivation ({
   outputs = [ "out" "bin" "dev" "static" ];
 
   depsBuildBuild = [ buildPackages.stdenv.cc ];
+  nativeBuildInputs = [ bison ];
   buildInputs = lib.optionals withGd [ gd libpng ];
 
   # Needed to install share/zoneinfo/zone.tab.  Set to impure /bin/sh to
@@ -190,6 +188,8 @@ stdenv.mkDerivation ({
 
   preBuild = lib.optionalString withGd "unset NIX_DONT_SET_RPATH";
 
+  doCheck = false; # fails
+
   meta = {
     homepage = http://www.gnu.org/software/libc/;
     description = "The GNU C Library";
diff --git a/pkgs/development/libraries/glibc/dont-use-system-ld-so-cache-2.27.patch b/pkgs/development/libraries/glibc/dont-use-system-ld-so-cache-2.27.patch
deleted file mode 100644
index f84b1049adf..00000000000
--- a/pkgs/development/libraries/glibc/dont-use-system-ld-so-cache-2.27.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-diff -Naur glibc-2.27-orig/elf/ldconfig.c glibc-2.27/elf/ldconfig.c
---- glibc-2.27-orig/elf/ldconfig.c	2018-02-01 11:17:18.000000000 -0500
-+++ glibc-2.27/elf/ldconfig.c	2018-02-17 22:43:17.232175182 -0500
-@@ -51,7 +51,7 @@
- #endif
- 
- #ifndef LD_SO_CONF
--# define LD_SO_CONF SYSCONFDIR "/ld.so.conf"
-+# define LD_SO_CONF PREFIX "/etc/ld.so.conf"
- #endif
- 
- /* Get libc version number.  */
-diff -Naur glibc-2.27-orig/elf/Makefile glibc-2.27/elf/Makefile
---- glibc-2.27-orig/elf/Makefile	2018-02-01 11:17:18.000000000 -0500
-+++ glibc-2.27/elf/Makefile	2018-02-17 22:44:50.334006750 -0500
-@@ -559,13 +559,13 @@
- 
- $(objpfx)ldconfig: $(ldconfig-modules:%=$(objpfx)%.o)
- 
--SYSCONF-FLAGS := -D'SYSCONFDIR="$(sysconfdir)"'
--CFLAGS-ldconfig.c += $(SYSCONF-FLAGS) -D'LIBDIR="$(libdir)"' \
-+PREFIX-FLAGS := -D'PREFIX="$(prefix)"'
-+CFLAGS-ldconfig.c += $(PREFIX-FLAGS) -D'LIBDIR="$(libdir)"' \
- 		    -D'SLIBDIR="$(slibdir)"'
- libof-ldconfig = ldconfig
--CFLAGS-dl-cache.c += $(SYSCONF-FLAGS)
--CFLAGS-cache.c += $(SYSCONF-FLAGS)
--CFLAGS-rtld.c += $(SYSCONF-FLAGS)
-+CFLAGS-dl-cache.c += $(PREFIX-FLAGS)
-+CFLAGS-cache.c += $(PREFIX-FLAGS)
-+CFLAGS-rtld.c += $(PREFIX-FLAGS)
- 
- cpp-srcs-left := $(all-rtld-routines:=.os)
- lib := rtld
-diff -Naur glibc-2.27-orig/sysdeps/generic/dl-cache.h glibc-2.27/sysdeps/generic/dl-cache.h
---- glibc-2.27-orig/sysdeps/generic/dl-cache.h	2018-02-01 11:17:18.000000000 -0500
-+++ glibc-2.27/sysdeps/generic/dl-cache.h	2018-02-17 22:45:20.471598816 -0500
-@@ -28,7 +28,7 @@
- #endif
- 
- #ifndef LD_SO_CACHE
--# define LD_SO_CACHE SYSCONFDIR "/ld.so.cache"
-+# define LD_SO_CACHE PREFIX "/etc/ld.so.cache"
- #endif
- 
- #ifndef add_system_dir
diff --git a/pkgs/development/libraries/glibc/dont-use-system-ld-so-cache.patch b/pkgs/development/libraries/glibc/dont-use-system-ld-so-cache.patch
index fc14553c3ee..f84b1049adf 100644
--- a/pkgs/development/libraries/glibc/dont-use-system-ld-so-cache.patch
+++ b/pkgs/development/libraries/glibc/dont-use-system-ld-so-cache.patch
@@ -1,7 +1,7 @@
-diff -ru glibc-2.16.0-orig/elf/ldconfig.c glibc-2.16.0/elf/ldconfig.c
---- glibc-2.16.0-orig/elf/ldconfig.c	2012-06-30 15:12:34.000000000 -0400
-+++ glibc-2.16.0/elf/ldconfig.c	2012-09-18 11:59:27.463284814 -0400
-@@ -50,7 +50,7 @@
+diff -Naur glibc-2.27-orig/elf/ldconfig.c glibc-2.27/elf/ldconfig.c
+--- glibc-2.27-orig/elf/ldconfig.c	2018-02-01 11:17:18.000000000 -0500
++++ glibc-2.27/elf/ldconfig.c	2018-02-17 22:43:17.232175182 -0500
+@@ -51,7 +51,7 @@
  #endif
  
  #ifndef LD_SO_CONF
@@ -10,31 +10,31 @@ diff -ru glibc-2.16.0-orig/elf/ldconfig.c glibc-2.16.0/elf/ldconfig.c
  #endif
  
  /* Get libc version number.  */
-diff -ru glibc-2.16.0-orig/elf/Makefile glibc-2.16.0/elf/Makefile
---- glibc-2.16.0-orig/elf/Makefile	2012-06-30 15:12:34.000000000 -0400
-+++ glibc-2.16.0/elf/Makefile	2012-09-18 12:03:30.031955196 -0400
-@@ -415,12 +415,12 @@
+diff -Naur glibc-2.27-orig/elf/Makefile glibc-2.27/elf/Makefile
+--- glibc-2.27-orig/elf/Makefile	2018-02-01 11:17:18.000000000 -0500
++++ glibc-2.27/elf/Makefile	2018-02-17 22:44:50.334006750 -0500
+@@ -559,13 +559,13 @@
  
  $(objpfx)ldconfig: $(ldconfig-modules:%=$(objpfx)%.o)
  
 -SYSCONF-FLAGS := -D'SYSCONFDIR="$(sysconfdir)"'
--CFLAGS-ldconfig.c = $(SYSCONF-FLAGS) -D'LIBDIR="$(libdir)"' \
+-CFLAGS-ldconfig.c += $(SYSCONF-FLAGS) -D'LIBDIR="$(libdir)"' \
 +PREFIX-FLAGS := -D'PREFIX="$(prefix)"'
-+CFLAGS-ldconfig.c = $(PREFIX-FLAGS) -D'LIBDIR="$(libdir)"' \
++CFLAGS-ldconfig.c += $(PREFIX-FLAGS) -D'LIBDIR="$(libdir)"' \
  		    -D'SLIBDIR="$(slibdir)"'
  libof-ldconfig = ldconfig
--CFLAGS-dl-cache.c = $(SYSCONF-FLAGS)
--CFLAGS-cache.c = $(SYSCONF-FLAGS)
--CFLAGS-rtld.c = $(SYSCONF-FLAGS)
-+CFLAGS-dl-cache.c = $(PREFIX-FLAGS)
-+CFLAGS-cache.c = $(PREFIX-FLAGS)
-+CFLAGS-rtld.c = $(PREFIX-FLAGS)
+-CFLAGS-dl-cache.c += $(SYSCONF-FLAGS)
+-CFLAGS-cache.c += $(SYSCONF-FLAGS)
+-CFLAGS-rtld.c += $(SYSCONF-FLAGS)
++CFLAGS-dl-cache.c += $(PREFIX-FLAGS)
++CFLAGS-cache.c += $(PREFIX-FLAGS)
++CFLAGS-rtld.c += $(PREFIX-FLAGS)
  
  cpp-srcs-left := $(all-rtld-routines:=.os)
  lib := rtld
-diff -ru glibc-2.16.0-orig/sysdeps/generic/dl-cache.h glibc-2.16.0/sysdeps/generic/dl-cache.h
---- glibc-2.16.0-orig/sysdeps/generic/dl-cache.h	2012-06-30 15:12:34.000000000 -0400
-+++ glibc-2.16.0/sysdeps/generic/dl-cache.h	2012-09-18 11:59:27.465284809 -0400
+diff -Naur glibc-2.27-orig/sysdeps/generic/dl-cache.h glibc-2.27/sysdeps/generic/dl-cache.h
+--- glibc-2.27-orig/sysdeps/generic/dl-cache.h	2018-02-01 11:17:18.000000000 -0500
++++ glibc-2.27/sysdeps/generic/dl-cache.h	2018-02-17 22:45:20.471598816 -0500
 @@ -28,7 +28,7 @@
  #endif
  
diff --git a/pkgs/development/libraries/glibc/fix-rpc-types-musl-conflicts.patch b/pkgs/development/libraries/glibc/fix-rpc-types-musl-conflicts.patch
new file mode 100644
index 00000000000..19f8bfc7cce
--- /dev/null
+++ b/pkgs/development/libraries/glibc/fix-rpc-types-musl-conflicts.patch
@@ -0,0 +1,38 @@
+@@ -, +, @@ 
+---
+ sunrpc/rpc/types.h | 22 ++++++----------------
+ 1 file changed, 6 insertions(+), 16 deletions(-)
+--- a/sunrpc/rpc/types.h	
++++ a/sunrpc/rpc/types.h	
+@@ -69,24 +69,14 @@ typedef unsigned long rpcport_t;
+ #include <sys/types.h>
+ #endif
+ 
+-#if defined __APPLE_CC__ || defined __FreeBSD__
+-# define __u_char_defined
+-# define __daddr_t_defined
+-#endif
+-
+-#ifndef __u_char_defined
+-typedef __u_char u_char;
+-typedef __u_short u_short;
+-typedef __u_int u_int;
+-typedef __u_long u_long;
+-typedef __quad_t quad_t;
+-typedef __u_quad_t u_quad_t;
+-typedef __fsid_t fsid_t;
++/* IMPORTANT NOTE: This has been modified to build against the musl C
++ * library and it probably now ONLY builds with the musl C library.
++ *
++ * See: https://sourceware.org/bugzilla/show_bug.cgi?id=21604
++ */
+ # define __u_char_defined
+-#endif
+ #ifndef __daddr_t_defined
+-typedef __daddr_t daddr_t;
+-typedef __caddr_t caddr_t;
++typedef int daddr_t;
+ # define __daddr_t_defined
+ #endif
+ 
+-- 
diff --git a/pkgs/development/libraries/glibc/nix-locale-archive-2.27.patch b/pkgs/development/libraries/glibc/nix-locale-archive-2.27.patch
deleted file mode 100644
index 39312951fcf..00000000000
--- a/pkgs/development/libraries/glibc/nix-locale-archive-2.27.patch
+++ /dev/null
@@ -1,118 +0,0 @@
-diff -Naur glibc-2.27-orig/locale/loadarchive.c glibc-2.27/locale/loadarchive.c
---- glibc-2.27-orig/locale/loadarchive.c	2018-02-01 11:17:18.000000000 -0500
-+++ glibc-2.27/locale/loadarchive.c	2018-02-17 22:32:25.680169462 -0500
-@@ -123,6 +123,23 @@
-   return MAX (namehash_end, MAX (string_end, locrectab_end));
- }
- 
-+static int
-+open_locale_archive (void)
-+{
-+  int fd = -1;
-+  char *versioned_path = getenv ("LOCALE_ARCHIVE_2_27");
-+  char *path = getenv ("LOCALE_ARCHIVE");
-+  if (versioned_path)
-+    fd = __open_nocancel (versioned_path, O_RDONLY|O_LARGEFILE|O_CLOEXEC);
-+  if (path && fd < 0)
-+    fd = __open_nocancel (path, O_RDONLY|O_LARGEFILE|O_CLOEXEC);
-+  if (fd < 0)
-+    fd = __open_nocancel (archfname, O_RDONLY|O_LARGEFILE|O_CLOEXEC);
-+  if (fd < 0)
-+    fd = __open_nocancel ("/usr/lib/locale/locale-archive", O_RDONLY|O_LARGEFILE|O_CLOEXEC);
-+  return fd;
-+}
-+
- 
- /* Find the locale *NAMEP in the locale archive, and return the
-    internalized data structure for its CATEGORY data.  If this locale has
-@@ -202,7 +219,7 @@
-       archmapped = &headmap;
- 
-       /* The archive has never been opened.  */
--      fd = __open_nocancel (archfname, O_RDONLY|O_LARGEFILE|O_CLOEXEC);
-+      fd = open_locale_archive ();
-       if (fd < 0)
- 	/* Cannot open the archive, for whatever reason.  */
- 	return NULL;
-@@ -397,8 +414,7 @@
- 	  if (fd == -1)
- 	    {
- 	      struct stat64 st;
--	      fd = __open_nocancel (archfname,
--				    O_RDONLY|O_LARGEFILE|O_CLOEXEC);
-+	      fd = open_locale_archive ();
- 	      if (fd == -1)
- 		/* Cannot open the archive, for whatever reason.  */
- 		return NULL;
-diff -Naur glibc-2.27-orig/locale/programs/locale.c glibc-2.27/locale/programs/locale.c
---- glibc-2.27-orig/locale/programs/locale.c	2018-02-01 11:17:18.000000000 -0500
-+++ glibc-2.27/locale/programs/locale.c	2018-02-17 22:36:39.726293213 -0500
-@@ -633,6 +633,24 @@
- 
- 
- static int
-+open_locale_archive (void)
-+{
-+  int fd = -1;
-+  char *versioned_path = getenv ("LOCALE_ARCHIVE_2_27");
-+  char *path = getenv ("LOCALE_ARCHIVE");
-+  if (versioned_path)
-+    fd = open64 (versioned_path, O_RDONLY);
-+  if (path && fd < 0)
-+    fd = open64 (path, O_RDONLY);
-+  if (fd < 0)
-+    fd = open64 (ARCHIVE_NAME, O_RDONLY);
-+  if (fd < 0)
-+    fd = open64 ("/usr/lib/locale/locale-archive", O_RDONLY);
-+  return fd;
-+}
-+
-+
-+static int
- write_archive_locales (void **all_datap, char *linebuf)
- {
-   struct stat64 st;
-@@ -644,7 +662,7 @@
-   int fd, ret = 0;
-   uint32_t cnt;
- 
--  fd = open64 (ARCHIVE_NAME, O_RDONLY);
-+  fd = open_locale_archive ();
-   if (fd < 0)
-     return 0;
- 
-diff -Naur glibc-2.27-orig/locale/programs/locarchive.c glibc-2.27/locale/programs/locarchive.c
---- glibc-2.27-orig/locale/programs/locarchive.c	2018-02-01 11:17:18.000000000 -0500
-+++ glibc-2.27/locale/programs/locarchive.c	2018-02-17 22:40:51.245293975 -0500
-@@ -117,6 +117,22 @@
- }
- 
- 
-+static int
-+open_locale_archive (const char * archivefname, int flags)
-+{
-+  int fd = -1;
-+  char *versioned_path = getenv ("LOCALE_ARCHIVE_2_27");
-+  char *path = getenv ("LOCALE_ARCHIVE");
-+  if (versioned_path)
-+    fd = open64 (versioned_path, flags);
-+  if (path && fd < 0)
-+    fd = open64 (path, flags);
-+  if (fd < 0)
-+    fd = open64 (archivefname, flags);
-+  return fd;
-+}
-+
-+
- static void
- create_archive (const char *archivefname, struct locarhandle *ah)
- {
-@@ -578,7 +594,7 @@
-   while (1)
-     {
-       /* Open the archive.  We must have exclusive write access.  */
--      fd = open64 (archivefname, readonly ? O_RDONLY : O_RDWR);
-+      fd = open_locale_archive (archivefname, readonly ? O_RDONLY : O_RDWR);
-       if (fd == -1)
- 	{
- 	  /* Maybe the file does not yet exist? If we are opening
diff --git a/pkgs/development/libraries/glibc/nix-locale-archive.patch b/pkgs/development/libraries/glibc/nix-locale-archive.patch
index eeaf21901a3..39312951fcf 100644
--- a/pkgs/development/libraries/glibc/nix-locale-archive.patch
+++ b/pkgs/development/libraries/glibc/nix-locale-archive.patch
@@ -1,114 +1,118 @@
-diff -ru glibc-2.16.0-orig/locale/loadarchive.c glibc-2.16.0/locale/loadarchive.c
---- glibc-2.16.0-orig/locale/loadarchive.c	2012-06-30 15:12:34.000000000 -0400
-+++ glibc-2.16.0/locale/loadarchive.c	2012-09-18 11:57:57.277515212 -0400
-@@ -123,6 +123,25 @@
+diff -Naur glibc-2.27-orig/locale/loadarchive.c glibc-2.27/locale/loadarchive.c
+--- glibc-2.27-orig/locale/loadarchive.c	2018-02-01 11:17:18.000000000 -0500
++++ glibc-2.27/locale/loadarchive.c	2018-02-17 22:32:25.680169462 -0500
+@@ -123,6 +123,23 @@
+   return MAX (namehash_end, MAX (string_end, locrectab_end));
  }
  
- 
 +static int
 +open_locale_archive (void)
 +{
 +  int fd = -1;
-+  char *path = getenv ("LOCALE_ARCHIVE_2_11");
-+  char *path2 = getenv ("LOCALE_ARCHIVE");
-+  const char *usualpath = "/usr/lib/locale/locale-archive";
-+  if (path)
-+    fd = open_not_cancel_2 (path, O_RDONLY|O_LARGEFILE|O_CLOEXEC);
-+  if (path2 && fd < 0)
-+    fd = open_not_cancel_2 (path2, O_RDONLY|O_LARGEFILE|O_CLOEXEC);
++  char *versioned_path = getenv ("LOCALE_ARCHIVE_2_27");
++  char *path = getenv ("LOCALE_ARCHIVE");
++  if (versioned_path)
++    fd = __open_nocancel (versioned_path, O_RDONLY|O_LARGEFILE|O_CLOEXEC);
++  if (path && fd < 0)
++    fd = __open_nocancel (path, O_RDONLY|O_LARGEFILE|O_CLOEXEC);
 +  if (fd < 0)
-+    fd = open_not_cancel_2 (archfname, O_RDONLY|O_LARGEFILE|O_CLOEXEC);
++    fd = __open_nocancel (archfname, O_RDONLY|O_LARGEFILE|O_CLOEXEC);
 +  if (fd < 0)
-+    fd = open_not_cancel_2 (usualpath, O_RDONLY|O_LARGEFILE|O_CLOEXEC);
++    fd = __open_nocancel ("/usr/lib/locale/locale-archive", O_RDONLY|O_LARGEFILE|O_CLOEXEC);
 +  return fd;
 +}
 +
-+
+ 
  /* Find the locale *NAMEP in the locale archive, and return the
     internalized data structure for its CATEGORY data.  If this locale has
-    already been loaded from the archive, just returns the existing data
-@@ -202,7 +221,7 @@
+@@ -202,7 +219,7 @@
        archmapped = &headmap;
  
        /* The archive has never been opened.  */
--      fd = open_not_cancel_2 (archfname, O_RDONLY|O_LARGEFILE|O_CLOEXEC);
+-      fd = __open_nocancel (archfname, O_RDONLY|O_LARGEFILE|O_CLOEXEC);
 +      fd = open_locale_archive ();
        if (fd < 0)
  	/* Cannot open the archive, for whatever reason.  */
  	return NULL;
-@@ -393,8 +412,7 @@
+@@ -397,8 +414,7 @@
  	  if (fd == -1)
  	    {
  	      struct stat64 st;
--	      fd = open_not_cancel_2 (archfname,
--				      O_RDONLY|O_LARGEFILE|O_CLOEXEC);
+-	      fd = __open_nocancel (archfname,
+-				    O_RDONLY|O_LARGEFILE|O_CLOEXEC);
 +	      fd = open_locale_archive ();
  	      if (fd == -1)
  		/* Cannot open the archive, for whatever reason.  */
  		return NULL;
-diff -ru glibc-2.16.0-orig/locale/programs/locale.c glibc-2.16.0/locale/programs/locale.c
---- glibc-2.16.0-orig/locale/programs/locale.c	2012-06-30 15:12:34.000000000 -0400
-+++ glibc-2.16.0/locale/programs/locale.c	2012-09-18 11:53:03.719920947 -0400
-@@ -628,6 +628,20 @@
- 		  ((const struct nameent *) b)->name);
- }
+diff -Naur glibc-2.27-orig/locale/programs/locale.c glibc-2.27/locale/programs/locale.c
+--- glibc-2.27-orig/locale/programs/locale.c	2018-02-01 11:17:18.000000000 -0500
++++ glibc-2.27/locale/programs/locale.c	2018-02-17 22:36:39.726293213 -0500
+@@ -633,6 +633,24 @@
  
-+static int
-+open_nix_locale_archive (const char * fname, int access)
+ 
+ static int
++open_locale_archive (void)
 +{
 +  int fd = -1;
-+  char *path = getenv ("LOCALE_ARCHIVE_2_11");
-+  char *path2 = getenv ("LOCALE_ARCHIVE");
-+  if (path)
-+    fd = open64 (path, access);
-+  if (path2 && fd < 0)
-+    fd = open64 (path2, access);
++  char *versioned_path = getenv ("LOCALE_ARCHIVE_2_27");
++  char *path = getenv ("LOCALE_ARCHIVE");
++  if (versioned_path)
++    fd = open64 (versioned_path, O_RDONLY);
++  if (path && fd < 0)
++    fd = open64 (path, O_RDONLY);
++  if (fd < 0)
++    fd = open64 (ARCHIVE_NAME, O_RDONLY);
 +  if (fd < 0)
-+    fd = open64 (fname, access);
++    fd = open64 ("/usr/lib/locale/locale-archive", O_RDONLY);
 +  return fd;
 +}
- 
- static int
++
++
++static int
  write_archive_locales (void **all_datap, char *linebuf)
-@@ -641,7 +655,7 @@
+ {
+   struct stat64 st;
+@@ -644,7 +662,7 @@
    int fd, ret = 0;
    uint32_t cnt;
  
 -  fd = open64 (ARCHIVE_NAME, O_RDONLY);
-+  fd = open_nix_locale_archive (ARCHIVE_NAME, O_RDONLY);
++  fd = open_locale_archive ();
    if (fd < 0)
      return 0;
  
-diff -ru glibc-2.16.0-orig/locale/programs/locarchive.c glibc-2.16.0/locale/programs/locarchive.c
---- glibc-2.16.0-orig/locale/programs/locarchive.c	2012-06-30 15:12:34.000000000 -0400
-+++ glibc-2.16.0/locale/programs/locarchive.c	2012-09-18 11:53:03.720920942 -0400
-@@ -509,6 +509,20 @@
-   *ah = new_ah;
+diff -Naur glibc-2.27-orig/locale/programs/locarchive.c glibc-2.27/locale/programs/locarchive.c
+--- glibc-2.27-orig/locale/programs/locarchive.c	2018-02-01 11:17:18.000000000 -0500
++++ glibc-2.27/locale/programs/locarchive.c	2018-02-17 22:40:51.245293975 -0500
+@@ -117,6 +117,22 @@
  }
  
+ 
 +static int
-+open_nix_locale_archive (const char * fname, int access)
++open_locale_archive (const char * archivefname, int flags)
 +{
 +  int fd = -1;
-+  char *path = getenv ("LOCALE_ARCHIVE_2_11");
-+  char *path2 = getenv ("LOCALE_ARCHIVE");
-+  if (path)
-+    fd = open64 (path, access);
-+  if (path2 && fd < 0)
-+    fd = open64 (path2, access);
++  char *versioned_path = getenv ("LOCALE_ARCHIVE_2_27");
++  char *path = getenv ("LOCALE_ARCHIVE");
++  if (versioned_path)
++    fd = open64 (versioned_path, flags);
++  if (path && fd < 0)
++    fd = open64 (path, flags);
 +  if (fd < 0)
-+    fd = open64 (fname, access);
++    fd = open64 (archivefname, flags);
 +  return fd;
 +}
- 
- void
- open_archive (struct locarhandle *ah, bool readonly)
-@@ -528,7 +542,7 @@
++
++
+ static void
+ create_archive (const char *archivefname, struct locarhandle *ah)
+ {
+@@ -578,7 +594,7 @@
    while (1)
      {
        /* Open the archive.  We must have exclusive write access.  */
 -      fd = open64 (archivefname, readonly ? O_RDONLY : O_RDWR);
-+      fd = open_nix_locale_archive (archivefname, readonly ? O_RDONLY : O_RDWR);
++      fd = open_locale_archive (archivefname, readonly ? O_RDONLY : O_RDWR);
        if (fd == -1)
  	{
- 	  /* Maybe the file does not yet exist.  */
+ 	  /* Maybe the file does not yet exist? If we are opening
diff --git a/pkgs/development/libraries/glibmm/default.nix b/pkgs/development/libraries/glibmm/default.nix
index a3af96d51ed..3c3b49e6616 100644
--- a/pkgs/development/libraries/glibmm/default.nix
+++ b/pkgs/development/libraries/glibmm/default.nix
@@ -1,19 +1,27 @@
-{ stdenv, fetchurl, pkgconfig, gnum4, glib, libsigcxx }:
+{ stdenv, fetchurl, fetchpatch, pkgconfig, gnum4, glib, libsigcxx }:
 
 let
-  ver_maj = "2.54";
-  ver_min = "1";
+  ver_maj = "2.56";
+  ver_min = "0";
 in
 stdenv.mkDerivation rec {
   name = "glibmm-${ver_maj}.${ver_min}";
 
   src = fetchurl {
     url = "mirror://gnome/sources/glibmm/${ver_maj}/${name}.tar.xz";
-    sha256 = "0jkapw18icz59cmlmsl00nwwz0wh291kb4hc9z9hxmq45drqrhkw";
+    sha256 = "1abrkqhca5p8n6ly3vp1232rny03s7lrd8f8iz2m2m141nxgqx3f";
   };
 
   outputs = [ "out" "dev" ];
 
+  patchFlags = "-p0";
+  patches = [
+    (fetchpatch {
+      url = "https://raw.githubusercontent.com/macports/macports-ports/e864b2340be9ef003d8ff4aef92e7151d06287dd/devel/glibmm/files/0001-ustring-Fix-wchar-conversion-on-macOS-with-libc.patch";
+      sha256 = "02qvnailw1i59cjbj3cy7y02kfcivsvkdjrf4njkp4plarayyqp9";
+    })
+  ];
+
   nativeBuildInputs = [ pkgconfig gnum4 ];
   propagatedBuildInputs = [ glib libsigcxx ];
 
diff --git a/pkgs/development/libraries/glm/default.nix b/pkgs/development/libraries/glm/default.nix
index 803f08a7a11..319a0359c58 100644
--- a/pkgs/development/libraries/glm/default.nix
+++ b/pkgs/development/libraries/glm/default.nix
@@ -17,8 +17,8 @@ stdenv.mkDerivation rec {
 
   # fetch newer version of platform.h which correctly supports gcc 7.3
   gcc7PlatformPatch = fetchurl {
-    url = "https://raw.githubusercontent.com/g-truc/glm/dd48b56e44d699a022c69155c8672caacafd9e8a/glm/simd/platform.h";
-    sha256 = "0y91hlbgn5va7ijg5mz823gqkq9hqxl00lwmdwnf8q2g086rplzw";
+    url = "https://raw.githubusercontent.com/g-truc/glm/384dab02e45a8ad3c1a3fa0906e0d5682c5b27b9/glm/simd/platform.h";
+    sha256 = "0ym0sgwznxhfyi014xs55x3ql7r65fjs34sqb5jiaffkdhkqgzia";
   };
 
   postPatch = ''
@@ -27,6 +27,10 @@ stdenv.mkDerivation rec {
     cp ${gcc7PlatformPatch} glm/simd/platform.h
   '';
 
+  NIX_CFLAGS_COMPILE = stdenv.lib.optionals stdenv.isDarwin [
+    "-DGLM_COMPILER=0"
+  ];
+
   postInstall = ''
     mkdir -p $doc/share/doc/glm
     cp -rv $NIX_BUILD_TOP/$sourceRoot/doc/* $doc/share/doc/glm
diff --git a/pkgs/development/libraries/globalplatform/default.nix b/pkgs/development/libraries/globalplatform/default.nix
index 5b55a09db62..3ef279616f7 100644
--- a/pkgs/development/libraries/globalplatform/default.nix
+++ b/pkgs/development/libraries/globalplatform/default.nix
@@ -16,6 +16,6 @@ stdenv.mkDerivation rec {
     homepage = https://sourceforge.net/p/globalplatform/wiki/Home/;
     description = "Library for interacting with smart card devices";
     license = licenses.gpl3;
-    platforms = platforms.all;
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/development/libraries/glpk/default.nix b/pkgs/development/libraries/glpk/default.nix
index d608b3af6ce..5b9296608d4 100644
--- a/pkgs/development/libraries/glpk/default.nix
+++ b/pkgs/development/libraries/glpk/default.nix
@@ -1,13 +1,33 @@
-{ fetchurl, stdenv }:
+{ stdenv
+, fetchurl
+# Excerpt from glpk's INSTALL file:
+# This feature allows the exact simplex solver to use the GNU MP
+# bignum library. If it is disabled, the exact simplex solver uses the
+# GLPK bignum module, which provides the same functionality as GNU MP,
+# however, it is much less efficient.
+, withGmp ? true
+, gmp
+}:
+
+assert withGmp -> gmp != null;
 
 stdenv.mkDerivation rec {
-  name = "glpk-4.64";
+  version = "4.65";
+  name = "glpk-${version}";
 
   src = fetchurl {
     url = "mirror://gnu/glpk/${name}.tar.gz";
-    sha256 = "096cqgjc7vkq6wd8znhcxjbs1s2rym3qf753fqxrrq531vs6g4jk";
+    sha256 = "040sfaa9jclg2nqdh83w71sv9rc1sznpnfiripjdyr48cady50a2";
   };
 
+  buildInputs = stdenv.lib.optionals withGmp [
+    gmp
+  ];
+
+  configureFlags = stdenv.lib.optionals withGmp [
+    "--with-gmp"
+  ];
+
   doCheck = true;
 
   meta = {
@@ -23,7 +43,7 @@ stdenv.mkDerivation rec {
     homepage = http://www.gnu.org/software/glpk/;
     license = stdenv.lib.licenses.gpl3Plus;
 
-    maintainers = [ stdenv.lib.maintainers.bjg ];
+    maintainers = with stdenv.lib.maintainers; [ bjg ];
     platforms = stdenv.lib.platforms.all;
   };
 }
diff --git a/pkgs/development/libraries/gmime/3.nix b/pkgs/development/libraries/gmime/3.nix
index 66d0cf88bd0..124fc08cf3b 100644
--- a/pkgs/development/libraries/gmime/3.nix
+++ b/pkgs/development/libraries/gmime/3.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, pkgconfig, glib, zlib, gpgme, libidn, gobjectIntrospection }:
 
 stdenv.mkDerivation rec {
-  version = "3.0.5";
+  version = "3.2.0";
   name = "gmime-${version}";
 
   src = fetchurl {
-    url = "mirror://gnome/sources/gmime/3.0/${name}.tar.xz";
-    sha256 = "1q45gd1ahnz9q1milc2lqqwl7j3q0wd6kiswhp25iak222n56lrg";
+    url = "mirror://gnome/sources/gmime/3.2/${name}.tar.xz";
+    sha256 = "1q6palbpf6lh6bvy9ly26q5apl5k0z0r4mvl6zzqh90rz4rn1v3m";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/pkgs/development/libraries/gnu-efi/default.nix b/pkgs/development/libraries/gnu-efi/default.nix
index bb7c35ddc9c..1f8a518d69e 100644
--- a/pkgs/development/libraries/gnu-efi/default.nix
+++ b/pkgs/development/libraries/gnu-efi/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "gnu-efi-${version}";
-  version = "3.0.6";
+  version = "3.0.8";
 
   src = fetchurl {
     url = "mirror://sourceforge/gnu-efi/${name}.tar.bz2";
-    sha256 = "149cyadpn2jm4zxfn1qmpm520iqssp9p07d650rs5ghgv015jl91";
+    sha256 = "08mpw8s79azip9jbzm6msq0999pnkqzd82axydrcyyynm276s03n";
   };
 
   buildInputs = [ pciutils ];
diff --git a/pkgs/development/libraries/gnutls/3.6.nix b/pkgs/development/libraries/gnutls/3.6.nix
index 35344dfde7d..7fb1af70a28 100644
--- a/pkgs/development/libraries/gnutls/3.6.nix
+++ b/pkgs/development/libraries/gnutls/3.6.nix
@@ -1,11 +1,11 @@
 { callPackage, fetchurl, ... } @ args:
 
 callPackage ./generic.nix (args // rec {
-  version = "3.6.1";
+  version = "3.6.2";
 
   src = fetchurl {
     url = "mirror://gnupg/gnutls/v3.6/gnutls-${version}.tar.xz";
-    sha256 = "1vdsir53ddxyapnxh5fpnfyij3scx3818iri4hl07g4lk4n0vc90";
+    sha256 = "07wdffklwmxpa9i50sh5nwrc5ajb47skrldm6rzjc0jf4dxxpmdw";
   };
 
   # Skip two tests introduced in 3.5.11.  Probable reasons of failure:
diff --git a/pkgs/development/libraries/gnutls/generic.nix b/pkgs/development/libraries/gnutls/generic.nix
index 8769584a9f2..984603827c8 100644
--- a/pkgs/development/libraries/gnutls/generic.nix
+++ b/pkgs/development/libraries/gnutls/generic.nix
@@ -40,9 +40,7 @@ stdenv.mkDerivation {
 
   enableParallelBuilding = true;
 
-  buildInputs = [ lzo lzip libtasn1 libidn p11-kit zlib gmp autogen libunistring unbound ]
-    ++ lib.optional (stdenv.isFreeBSD || stdenv.isDarwin) libiconv
-    ++ lib.optional stdenv.isDarwin gettext
+  buildInputs = [ lzo lzip libtasn1 libidn p11-kit zlib gmp autogen libunistring unbound gettext libiconv ]
     ++ lib.optional (tpmSupport && stdenv.isLinux) trousers
     ++ lib.optional guileBindings guile
     ++ buildInputs;
diff --git a/pkgs/development/libraries/gobject-introspection/absolute_shlib_path.patch b/pkgs/development/libraries/gobject-introspection/absolute_shlib_path.patch
index 75d9281dfb0..6a112aedcc0 100644
--- a/pkgs/development/libraries/gobject-introspection/absolute_shlib_path.patch
+++ b/pkgs/development/libraries/gobject-introspection/absolute_shlib_path.patch
@@ -1,8 +1,6 @@
-diff --git a/giscanner/scannermain.py b/giscanner/scannermain.py
-index 89ec193..54f1d2e 100755
 --- a/giscanner/scannermain.py
 +++ b/giscanner/scannermain.py
-@@ -94,6 +94,39 @@ def get_windows_option_group(parser):
+@@ -100,6 +100,39 @@
      return group
  
  
@@ -42,7 +40,7 @@ index 89ec193..54f1d2e 100755
  def _get_option_parser():
      parser = optparse.OptionParser('%prog [options] sources')
      parser.add_option('', "--quiet",
-@@ -200,6 +233,10 @@ match the namespace prefix.""")
+@@ -209,6 +242,10 @@
      parser.add_option("", "--filelist",
                        action="store", dest="filelist", default=[],
                        help="file containing headers and sources to be scanned")
@@ -53,57 +51,50 @@ index 89ec193..54f1d2e 100755
  
      group = get_preprocessor_option_group(parser)
      parser.add_option_group(group)
-diff --git a/giscanner/shlibs.py b/giscanner/shlibs.py
-index 838d343..ca7fc0d 100644
 --- a/giscanner/shlibs.py
 +++ b/giscanner/shlibs.py
-@@ -53,10 +53,27 @@ def _resolve_libtool(options, binary, libraries):
- # Match absolute paths on OS X to conform to how libraries are usually
- # referenced on OS X systems.
- def _ldd_library_pattern(library_name):
-+    nix_store_dir = re.escape('@nixStoreDir@'.rstrip('/'))
-     pattern = "(?<![A-Za-z0-9_-])(lib*%s[^A-Za-z0-9_-][^\s\(\)]*)"
-     if platform.system() == 'Darwin':
+@@ -63,6 +63,11 @@
          pattern = "([^\s]*lib*%s[^A-Za-z0-9_-][^\s\(\)]*)"
--    return re.compile(pattern % re.escape(library_name))
-+        return re.compile(pattern % re.escape(library_name))
-+    pattern = r'''
-+        (
-+          (?:
-+            # First match Nix store paths because they need to be absolute.
-+            (?:%s(?:/[^/]*)+)
-+            # Everything else not a store path remains relative, because we
-+            # would end up with temporary paths that are only valid during
-+            # build time in the resulting GIR file.
-+            | (?<=/)
-+          )
-+          # And finally the library itself:
-+          (?:lib%s[^A-Za-z0-9_-][^\s\(\)]*)
-+        )
-+    '''
-+    return re.compile(pattern % (nix_store_dir, re.escape(library_name)),
-+                      re.VERBOSE)
+     return re.compile(pattern % re.escape(library_name))
  
++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
-@@ -115,7 +132,11 @@ def _resolve_non_libtool(options, binary, libraries):
-                 m = pattern.search(line)
+ # 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:
+-            patterns[library] = _ldd_library_pattern(library)
++            patterns[library] = (_ldd_library_pattern(library), _ldd_library_nix_pattern(library))
+ 
+         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
+-            for library, pattern in patterns.items():
+-                m = pattern.search(line)
++            for library, (pattern, nix_pattern) in patterns.items():
++                if line.find('@nixStoreDir@') != -1:
++                    m = nix_pattern.search(line)
++                else:
++                    m = pattern.search(line)
                  if m:
                      del patterns[library]
 -                    shlibs.append(m.group(1))
-+                    match = m.group(1)
-+                    if not match.startswith('/') \
-+                       and len(options.fallback_libpath) > 0:
-+                        match = os.path.join(options.fallback_libpath, match)
-+                    shlibs.append(match)
++                    shlibs.append(os.path.join(options.fallback_libpath, m.group(1)))
                      break
  
          if len(patterns) > 0:
-diff --git a/giscanner/utils.py b/giscanner/utils.py
-index 660081e..c9c767a 100644
 --- a/giscanner/utils.py
 +++ b/giscanner/utils.py
-@@ -109,17 +109,11 @@ def extract_libtool_shlib(la_file):
+@@ -113,17 +113,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 474899d60d7..f5ab5005bad 100644
--- a/pkgs/development/libraries/gobject-introspection/default.nix
+++ b/pkgs/development/libraries/gobject-introspection/default.nix
@@ -1,6 +1,7 @@
 { stdenv, fetchurl, glib, flex, bison, pkgconfig, libffi, python
-, libintlOrEmpty, cctools, cairo, gnome3
+, libintl, cctools, cairo, gnome3
 , substituteAll, nixStoreDir ? builtins.storeDir
+, x11Support ? true
 }:
 # now that gobjectIntrospection creates large .gir files (eg gtk3 case)
 # it may be worth thinking about using multiple derivation outputs
@@ -8,7 +9,7 @@
 
 let
   pname = "gobject-introspection";
-  version = "1.54.1";
+  version = "1.56.0";
 in
 with stdenv.lib;
 stdenv.mkDerivation rec {
@@ -16,16 +17,15 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${gnome3.versionBranch version}/${name}.tar.xz";
-    sha256 = "0zl7pfkzkm07733391b4f3cwjbnvb1nwvpmajf5bajh6bxgfv3dq";
+    sha256 = "1y50pbn5qqbcv2h9rkz96wvv5jls2gma9bkqjq6wapmaszx5jw0d";
   };
 
   outputs = [ "out" "dev" ];
   outputBin = "dev";
   outputMan = "dev"; # tiny pages
 
-  nativeBuildInputs = [ pkgconfig ];
+  nativeBuildInputs = [ pkgconfig libintl ];
   buildInputs = [ flex bison python setupHook/*move .gir*/ ]
-    ++ libintlOrEmpty
     ++ stdenv.lib.optional stdenv.isDarwin cctools;
   propagatedBuildInputs = [ libffi glib ];
 
@@ -43,12 +43,13 @@ stdenv.mkDerivation rec {
       src = ./absolute_shlib_path.patch;
       inherit nixStoreDir;
     })
-    # https://github.com/NixOS/nixpkgs/issues/34080
+  ] ++ stdenv.lib.optional x11Support # https://github.com/NixOS/nixpkgs/issues/34080
     (substituteAll {
       src = ./absolute_gir_path.patch;
       cairoLib = "${getLib cairo}/lib";
-    })
-  ];
+    });
+
+  doCheck = false; # fails
 
   passthru = {
     updateScript = gnome3.updateScript {
diff --git a/pkgs/development/libraries/goffice/default.nix b/pkgs/development/libraries/goffice/default.nix
index f67129c007e..6cdd19f307d 100644
--- a/pkgs/development/libraries/goffice/default.nix
+++ b/pkgs/development/libraries/goffice/default.nix
@@ -2,11 +2,11 @@
 , libgsf, libxml2, libxslt, cairo, pango, librsvg, libspectre }:
 
 stdenv.mkDerivation rec {
-  name = "goffice-0.10.38";
+  name = "goffice-0.10.39";
 
   src = fetchurl {
     url = "mirror://gnome/sources/goffice/0.10/${name}.tar.xz";
-    sha256 = "443199d7a9833fddaadfc4f9065c289e639eed480de316f37da816e396bb9764";
+    sha256 = "73f23fbf05f3fa98343208b751db04b31a7ff743c2d828e1a0a130c566f1bc4f";
   };
 
   nativeBuildInputs = [ pkgconfig intltool ];
diff --git a/pkgs/development/libraries/goocanvas/2.x.nix b/pkgs/development/libraries/goocanvas/2.x.nix
index 026f58079f6..ef36a9c076f 100644
--- a/pkgs/development/libraries/goocanvas/2.x.nix
+++ b/pkgs/development/libraries/goocanvas/2.x.nix
@@ -13,11 +13,13 @@ in stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ pkgconfig gettext gtk-doc python2 ];
-  buildInputs = [ gtk3 cairo glib ];
+  buildInputs = [ gtk3 cairo glib gobjectIntrospection ];
 
   configureFlags = [
     "--disable-python"
   ];
+  PKG_CONFIG_GOBJECT_INTROSPECTION_1_0_GIRDIR = "$(dev)/share/gir-1.0";
+  PKG_CONFIG_GOBJECT_INTROSPECTION_1_0_TYPELIBDIR = "$(out)/lib/girepository-1.0";
 
   meta = with stdenv.lib; {
     description = "Canvas widget for GTK+ based on the the Cairo 2D library";
diff --git a/pkgs/development/libraries/google-gflags/default.nix b/pkgs/development/libraries/google-gflags/default.nix
index 1a3a1658727..dbcb0342156 100644
--- a/pkgs/development/libraries/google-gflags/default.nix
+++ b/pkgs/development/libraries/google-gflags/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "google-gflags-${version}";
-  version = "2.2.0";
+  version = "2.2.1";
 
   src = fetchFromGitHub {
     owner = "gflags";
     repo = "gflags";
     rev = "v${version}";
-    sha256 = "1y5808ky8qhjwv1nf134czz0h2p2faqvjhxa9zxf8mg8hn4ns9wp";
+    sha256 = "12wkihc4f07qmhyqk3cjylj8v5xz2bjrq75p7aq1vvvj60fbp58k";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/gperftools/default.nix b/pkgs/development/libraries/gperftools/default.nix
index 5c863cf26cb..de71704cff8 100644
--- a/pkgs/development/libraries/gperftools/default.nix
+++ b/pkgs/development/libraries/gperftools/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, libunwind }:
 
 stdenv.mkDerivation rec {
-  name = "gperftools-2.6.1";
+  name = "gperftools-2.6.3";
 
   src = fetchurl {
     url = "https://github.com/gperftools/gperftools/releases/download/${name}/${name}.tar.gz";
-    sha256 = "10cxd6s5pkm2d934gh47hrn9xcrw4qlc9yr7s99z4a508bmngd1q";
+    sha256 = "17zfivp6n00rlqbrx6q6h71y2f815nvlzysff1ihgk4mxpv2yjri";
   };
 
   buildInputs = stdenv.lib.optional stdenv.isLinux libunwind;
@@ -16,7 +16,9 @@ stdenv.mkDerivation rec {
     substituteInPlace libtool --replace stdc++ c++
   '';
 
-  NIX_CFLAGS_COMPILE = stdenv.lib.optional stdenv.isDarwin "-D_XOPEN_SOURCE";
+  NIX_CFLAGS_COMPILE = stdenv.lib.optionals stdenv.isDarwin [
+    "-D_XOPEN_SOURCE" "-Wno-aligned-allocation-unavailable"
+  ];
 
   # some packages want to link to the static tcmalloc_minimal
   # to drop the runtime dependency on gperftools
diff --git a/pkgs/development/libraries/gpgme/default.nix b/pkgs/development/libraries/gpgme/default.nix
index 1e59e8f1d65..94c09b71683 100644
--- a/pkgs/development/libraries/gpgme/default.nix
+++ b/pkgs/development/libraries/gpgme/default.nix
@@ -1,14 +1,21 @@
 { stdenv, fetchurl, fetchpatch, libgpgerror, gnupg, pkgconfig, glib, pth, libassuan
-, qtbase ? null }:
+, file, which
+, autoreconfHook
+, git
+, texinfo5
+, qtbase ? null
+, withPython ? false, swig2 ? null, python ? null
+}:
 
 let inherit (stdenv) lib system; in
 
 stdenv.mkDerivation rec {
-  name = "gpgme-1.10.0";
+  name = "gpgme-${version}";
+  version = "1.11.1";
 
   src = fetchurl {
     url = "mirror://gnupg/gpgme/${name}.tar.bz2";
-    sha256 = "14q619lxbk64vz7lih5gjb928qm28jrnn1h3yhsrrff3jw8yv3qs";
+    sha256 = "0vxx5xaag3rhp4g2arp5qm77gvz4kj0m3hnpvhkdvqyjfhbi26rd";
   };
 
   outputs = [ "out" "dev" "info" ];
@@ -18,11 +25,17 @@ stdenv.mkDerivation rec {
     [ libgpgerror glib libassuan pth ]
     ++ lib.optional (qtbase != null) qtbase;
 
-  nativeBuildInputs = [ pkgconfig gnupg ];
+  nativeBuildInputs = [ file pkgconfig gnupg autoreconfHook git texinfo5 ]
+  ++ lib.optionals withPython [ python swig2 which ];
+
+  postPatch =''
+    substituteInPlace ./configure --replace /usr/bin/file ${file}/bin/file
+  '';
 
   configureFlags = [
     "--enable-fixed-path=${gnupg}/bin"
-  ];
+    "--with-libgpg-error-prefix=${libgpgerror.dev}"
+  ] ++ lib.optional withPython "--enable-languages=python";
 
   NIX_CFLAGS_COMPILE =
     # qgpgme uses Q_ASSERT which retains build inputs at runtime unless
diff --git a/pkgs/development/libraries/grantlee/5/default.nix b/pkgs/development/libraries/grantlee/5/default.nix
index 3eed4f0c2e2..aa670cd4c86 100644
--- a/pkgs/development/libraries/grantlee/5/default.nix
+++ b/pkgs/development/libraries/grantlee/5/default.nix
@@ -31,6 +31,8 @@ mkDerivation rec {
 
   setupHook = ./setup-hook.sh;
 
+  doCheck = false; # fails all the tests (ctest)
+
   meta = with lib; {
     description = "Qt5 port of Django template system";
     longDescription = ''
diff --git a/pkgs/development/libraries/grib-api/default.nix b/pkgs/development/libraries/grib-api/default.nix
index 3abea7d2d8c..9113b671664 100644
--- a/pkgs/development/libraries/grib-api/default.nix
+++ b/pkgs/development/libraries/grib-api/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec{
   name = "grib-api-${version}";
-  version = "1.24.0";
+  version = "1.26.1";
 
   src = fetchurl {
     url = "https://software.ecmwf.int/wiki/download/attachments/3473437/grib_api-${version}-Source.tar.gz";
-    sha256 = "1kbvyzaghbn1bqn97sslskmb6k3ki1dnr0g5abk5sb40n0y483bb";
+    sha256 = "1v1apx9421m8zkjmych5yr66mvqjrrygc98bvyl4miasmsb4ndfs";
   };
 
   preConfigure = ''
diff --git a/pkgs/development/libraries/grpc/default.nix b/pkgs/development/libraries/grpc/default.nix
index f33e52867c5..fc1f186a219 100644
--- a/pkgs/development/libraries/grpc/default.nix
+++ b/pkgs/development/libraries/grpc/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, cmake, zlib, c-ares, pkgconfig, openssl, protobuf, gflags }:
 
 stdenv.mkDerivation rec {
-  version = "1.9.1";
+  version = "1.10.1";
   name = "grpc-${version}";
   src = fetchurl {
     url = "https://github.com/grpc/grpc/archive/v${version}.tar.gz";
-    sha256 = "0h2w0dckxydngva9kl7dpilif8k9zi2ajnlanscr7s5kkza3dhps";
+    sha256 = "0l721r24d6wz889vz4g6i67ijz0zc0ah967i3immi90zdmjwlyjg";
   };
   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
new file mode 100644
index 00000000000..9e893932a64
--- /dev/null
+++ b/pkgs/development/libraries/gsettings-qt/default.nix
@@ -0,0 +1,58 @@
+{ stdenv, fetchbzr, pkgconfig, qmake, qtbase, qtdeclarative, glib, gobjectIntrospection }:
+
+stdenv.mkDerivation rec {
+  name = "gsettings-qt-${version}";
+  version = "0.1.20170824";
+
+  src = fetchbzr {
+    url = http://bazaar.launchpad.net/~system-settings-touch/gsettings-qt/trunk;
+    rev = "85";
+    sha256 = "1kcw0fgdyndx9c0dyha11wkj0gi05spdc1adf1609mrinbb4rnyi";
+  };
+
+  nativeBuildInputs = [
+    pkgconfig
+    qmake
+    gobjectIntrospection
+  ];
+
+  buildInputs = [
+    glib
+    qtdeclarative
+  ];
+
+  patchPhase = ''
+    # force ordered build of subdirs
+    sed -i -e "\$aCONFIG += ordered" gsettings-qt.pro
+
+    # It seems that there is a bug in qtdeclarative: qmlplugindump fails
+    # because it can not find or load the Qt platform plugin "minimal".
+    # A workaround is to set QT_PLUGIN_PATH and QML2_IMPORT_PATH explicitly.
+    export QT_PLUGIN_PATH=${qtbase.bin}/${qtbase.qtPluginPrefix}
+    export QML2_IMPORT_PATH=${qtdeclarative.bin}/${qtbase.qtQmlPrefix}
+
+    substituteInPlace GSettings/gsettings-qt.pro \
+      --replace '$$[QT_INSTALL_QML]' "$out/$qtQmlPrefix" \
+      --replace '$$[QT_INSTALL_BINS]/qmlplugindump' "qmlplugindump"
+
+    substituteInPlace src/gsettings-qt.pro \
+      --replace '$$[QT_INSTALL_LIBS]' "$out/lib" \
+      --replace '$$[QT_INSTALL_HEADERS]' "$out/include"
+  '';
+
+  preInstall = ''
+    # do not install tests
+    for f in tests/Makefile{,.cpptest}; do
+      substituteInPlace $f \
+        --replace "install: install_target" "install: "
+    done
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Qt/QML bindings for GSettings";
+    homepage = https://launchpad.net/gsettings-qt;
+    license = licenses.lgpl3;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.romildo ];
+  };
+}
diff --git a/pkgs/development/libraries/gsl/default.nix b/pkgs/development/libraries/gsl/default.nix
index afd6391d719..f1eed726eb2 100644
--- a/pkgs/development/libraries/gsl/default.nix
+++ b/pkgs/development/libraries/gsl/default.nix
@@ -13,7 +13,8 @@ stdenv.mkDerivation rec {
     ./disable-fma.patch # http://lists.gnu.org/archive/html/bug-gsl/2011-11/msg00019.html
   ];
 
-  doCheck = stdenv.system != "i686-linux"; # https://lists.gnu.org/archive/html/bug-gsl/2015-11/msg00012.html
+  # https://lists.gnu.org/archive/html/bug-gsl/2015-11/msg00012.html
+  doCheck = stdenv.system != "i686-linux" && stdenv.system != "aarch64-linux";
 
   meta = {
     description = "The GNU Scientific Library, a large numerical library";
diff --git a/pkgs/development/libraries/gsm/default.nix b/pkgs/development/libraries/gsm/default.nix
index 42d36b8406e..33583a4c6bb 100644
--- a/pkgs/development/libraries/gsm/default.nix
+++ b/pkgs/development/libraries/gsm/default.nix
@@ -9,11 +9,11 @@ in
 
 stdenv.mkDerivation rec {
   name = "gsm-${version}";
-  version = "1.0.14";
+  version = "1.0.18";
 
   src = fetchurl {
     url = "http://www.quut.com/gsm/${name}.tar.gz";
-    sha256 = "0b1mx69jq88wva3wk0hi6fcl5a52qhnq2f9p3f3jdh5k61ma252q";
+    sha256 = "041amvpz8cvxykl3pwqldrzxligmmzcg8ncdnxbg32rlqf3q1xh4";
   };
 
   patchPhase = ''
diff --git a/pkgs/development/libraries/gssdp/default.nix b/pkgs/development/libraries/gssdp/default.nix
index 55e20065732..d48ba9082af 100644
--- a/pkgs/development/libraries/gssdp/default.nix
+++ b/pkgs/development/libraries/gssdp/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "gssdp-${version}";
-  version = "1.0.1";
+  version = "1.0.2";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gssdp/1.0/${name}.tar.xz";
-    sha256 = "1qfj4gir1qf6v86z70ryzmjb75ns30q6zi5p89vhd3621gs6f7b0";
+    sha256 = "1p1m2m3ndzr2whipqw4vfb6s6ia0g7rnzzc4pnq8b8g1qw4prqd1";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/development/libraries/gstreamer/bad/default.nix b/pkgs/development/libraries/gstreamer/bad/default.nix
index d4cc2f43aaa..122285da99e 100644
--- a/pkgs/development/libraries/gstreamer/bad/default.nix
+++ b/pkgs/development/libraries/gstreamer/bad/default.nix
@@ -1,29 +1,22 @@
-{ stdenv, fetchurl, pkgconfig, python, gst-plugins-base, orc
+{ stdenv, fetchurl, fetchpatch, meson, ninja, gettext
+, pkgconfig, python, gst-plugins-base, orc
 , faacSupport ? false, faac ? null
-, gtkSupport ? false, gtk3 ? null
 , faad2, libass, libkate, libmms
-, libmodplug, mpeg2dec, mpg123
+, libmodplug, mpeg2dec
 , openjpeg, libopus, librsvg
 , wildmidi, fluidsynth, libvdpau, wayland
 , libwebp, xvidcore, gnutls, mjpegtools
-, libGLU_combined, libintlOrEmpty, libgme
+, libGLU_combined, libintl, libgme
 , openssl, x265, libxml2
 }:
 
 assert faacSupport -> faac != null;
-assert gtkSupport -> gtk3 != null;
 
 let
-  inherit (stdenv.lib) optional optionalString;
-
-  # OpenJPEG version is hardcoded in package source
-  openJpegVersion = with stdenv;
-    lib.concatStringsSep "." (lib.lists.take 2
-      (lib.splitString "." (lib.getVersion openjpeg)));
-
+  inherit (stdenv.lib) optional;
 in
 stdenv.mkDerivation rec {
-  name = "gst-plugins-bad-1.12.3";
+  name = "gst-plugins-bad-1.14.0";
 
   meta = with stdenv.lib; {
     description = "Gstreamer Bad Plugins";
@@ -36,38 +29,41 @@ stdenv.mkDerivation rec {
     '';
     license     = licenses.lgpl2Plus;
     platforms   = platforms.linux ++ platforms.darwin;
+    maintainers = with maintainers; [ matthewbauer ];
   };
 
-  # TODO: Fix Cocoa build. The problem was ARC, which might be related to too
-  #       old version of Apple SDK's.
-  configureFlags = optional stdenv.isDarwin "--disable-cocoa";
-
-  patchPhase = ''
-    sed -i 's/openjpeg-2.2/openjpeg-${openJpegVersion}/' ext/openjpeg/*
+  preConfigure = ''
+    patchShebangs .
   '';
 
+  patches = [
+    (fetchpatch {
+        url = "https://bug794856.bugzilla-attachments.gnome.org/attachment.cgi?id=370409";
+        sha256 = "0hy0rcn35alq65yqwri4fqjz2hf3nyyg5c7rnndk51msmqjxpprk";
+    })
+    ./fix_pkgconfig_includedir.patch
+  ];
+
   src = fetchurl {
     url = "${meta.homepage}/src/gst-plugins-bad/${name}.tar.xz";
-    sha256 = "1v5z3i5ha20gmbb3r9dwsaaspv5fm1jfzlzwlzqx1gjj31v5kl1n";
+    sha256 = "17sgzgx1c54k5rzz7ljyz3is0n7yj56k74vv05h8z1gjnsnjnppd";
   };
 
   outputs = [ "out" "dev" ];
 
-  nativeBuildInputs = [ pkgconfig python ];
+  nativeBuildInputs = [ meson ninja pkgconfig python gettext ];
 
   buildInputs = [
     gst-plugins-base orc
-    faad2 gtk3 libass libkate libmms
-    libmodplug mpeg2dec mpg123
+    faad2 libass libkate libmms
+    libmodplug mpeg2dec
     openjpeg libopus librsvg
     fluidsynth libvdpau
     libwebp xvidcore gnutls libGLU_combined
     libgme openssl x265 libxml2
+    libintl
   ]
-    ++ libintlOrEmpty
     ++ optional faacSupport faac
-    # for gtksink
-    ++ optional gtkSupport gtk3
     ++ optional stdenv.isLinux wayland
     # wildmidi requires apple's OpenAL
     # TODO: package apple's OpenAL, fix wildmidi, include on Darwin
@@ -75,7 +71,8 @@ stdenv.mkDerivation rec {
     # TODO: mjpegtools uint64_t is not compatible with guint64 on Darwin
     ++ optional (!stdenv.isDarwin) mjpegtools;
 
-  LDFLAGS = optionalString stdenv.isDarwin "-lintl";
-
   enableParallelBuilding = true;
+
+  doCheck = false; # fails 20 out of 58 tests, expensive
+
 }
diff --git a/pkgs/development/libraries/gstreamer/bad/fix_pkgconfig_includedir.patch b/pkgs/development/libraries/gstreamer/bad/fix_pkgconfig_includedir.patch
new file mode 100644
index 00000000000..c687fffc9c0
--- /dev/null
+++ b/pkgs/development/libraries/gstreamer/bad/fix_pkgconfig_includedir.patch
@@ -0,0 +1,15 @@
+diff --git a/pkgconfig/meson.build b/pkgconfig/meson.build
+index 271f327f3..7e2afa754 100644
+--- a/pkgconfig/meson.build
++++ b/pkgconfig/meson.build
+@@ -2,8 +2,8 @@ pkgconf = configuration_data()
+ 
+ pkgconf.set('prefix', join_paths(get_option('prefix')))
+ pkgconf.set('exec_prefix', '${prefix}')
+-pkgconf.set('libdir', '${prefix}/@0@'.format(get_option('libdir')))
+-pkgconf.set('includedir', '${prefix}/@0@'.format(get_option('includedir')))
++pkgconf.set('libdir', join_paths(get_option('prefix'), get_option('libdir')))
++pkgconf.set('includedir', join_paths(get_option('prefix'), get_option('includedir')))
+ pkgconf.set('GST_API_VERSION', api_version)
+ pkgconf.set('VERSION', gst_version)
+ 
diff --git a/pkgs/development/libraries/gstreamer/base/default.nix b/pkgs/development/libraries/gstreamer/base/default.nix
index 2cd0c14c1f3..dfd3383cdba 100644
--- a/pkgs/development/libraries/gstreamer/base/default.nix
+++ b/pkgs/development/libraries/gstreamer/base/default.nix
@@ -1,46 +1,67 @@
-{ stdenv, fetchurl, pkgconfig, python, gstreamer, gobjectIntrospection
-, orc, alsaLib, libXv, pango, libtheora
-, cdparanoia, libvisual, libintlOrEmpty
-}:
+{ stdenv, fetchurl, fetchpatch, lib
+, pkgconfig, meson, ninja, gettext, gobjectIntrospection
+, python, gstreamer, orc, pango, libtheora, libvisual
+, libintl, libopus
+, enableX11 ? stdenv.isLinux, libXv
+, enableWayland ? stdenv.isLinux, wayland
+, enableAlsa ? stdenv.isLinux, alsaLib
+, enableCocoa ? false, darwin
+, enableCdparanoia ? (!stdenv.isDarwin), cdparanoia }:
 
 stdenv.mkDerivation rec {
-  name = "gst-plugins-base-1.12.3";
+  name = "gst-plugins-base-1.14.0";
 
-  meta = {
+  meta = with lib; {
     description = "Base plugins and helper libraries";
     homepage = https://gstreamer.freedesktop.org;
-    license = stdenv.lib.licenses.lgpl2Plus;
-    platforms = stdenv.lib.platforms.unix;
+    license = licenses.lgpl2Plus;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ matthewbauer ];
   };
 
   src = fetchurl {
     url = "${meta.homepage}/src/gst-plugins-base/${name}.tar.xz";
-    sha256 = "19ffwdch7m777ragmwpy6prqmfb742ym1n3ki40s0zyki627plyk";
+    sha256 = "0h39bcp7fcd9kgb189lxr8l0hm0almvzpzgpdh1jpq2nzxh4d43y";
   };
 
   outputs = [ "out" "dev" ];
 
-  nativeBuildInputs = [
-    pkgconfig python gobjectIntrospection
-  ];
+  nativeBuildInputs = [ pkgconfig python gettext gobjectIntrospection ]
+
+  # Broken meson with Darwin. Should hopefully be fixed soon. Tracking
+  # in https://bugzilla.gnome.org/show_bug.cgi?id=781148.
+  ++ lib.optionals (!stdenv.isDarwin) [ meson ninja ];
 
-  buildInputs = [
-    orc libXv pango libtheora cdparanoia
+  # TODO How to pass these to Meson?
+  configureFlags = [
+    "--enable-x11=${if enableX11 then "yes" else "no"}"
+    "--enable-wayland=${if enableWayland then "yes" else "no"}"
+    "--enable-cocoa=${if enableCocoa then "yes" else "no"}"
   ]
-  ++ libintlOrEmpty
-  ++ stdenv.lib.optional stdenv.isLinux alsaLib
-  ++ stdenv.lib.optional (!stdenv.isDarwin) libvisual;
 
-  propagatedBuildInputs = [ gstreamer ];
+  # Introspection fails on my MacBook currently
+  ++ lib.optional stdenv.isDarwin "--disable-introspection";
 
-  configureFlags = if stdenv.isDarwin then [
-    # Does not currently build on Darwin
-    "--disable-libvisual"
-    # Undefined symbols _cdda_identify and _cdda_identify_scsi in cdparanoia
-    "--disable-cdparanoia"
-  ] else null;
+  buildInputs = [ orc libtheora libintl libopus ]
+    ++ lib.optional enableAlsa alsaLib
+    ++ lib.optionals enableX11 [ libXv pango ]
+    ++ lib.optional enableWayland wayland
+    ++ lib.optional enableCocoa darwin.apple_sdk.frameworks.Cocoa
+    ++ lib.optional enableCdparanoia cdparanoia;
 
-  NIX_LDFLAGS = if stdenv.isDarwin then "-lintl" else null;
+  propagatedBuildInputs = [ gstreamer ];
+
+  postPatch = ''
+    patchShebangs .
+  '';
 
   enableParallelBuilding = true;
+
+  patches = [
+    (fetchpatch {
+        url = "https://bug794856.bugzilla-attachments.gnome.org/attachment.cgi?id=370414";
+        sha256 = "07x43xis0sr0hfchf36ap0cibx0lkfpqyszb3r3w9dzz301fk04z";
+    })
+    ./fix_pkgconfig_includedir.patch
+  ];
 }
diff --git a/pkgs/development/libraries/gstreamer/base/fix_pkgconfig_includedir.patch b/pkgs/development/libraries/gstreamer/base/fix_pkgconfig_includedir.patch
new file mode 100644
index 00000000000..04486a4647f
--- /dev/null
+++ b/pkgs/development/libraries/gstreamer/base/fix_pkgconfig_includedir.patch
@@ -0,0 +1,15 @@
+diff --git a/pkgconfig/meson.build b/pkgconfig/meson.build
+index 04abfbee5..88c86b431 100644
+--- a/pkgconfig/meson.build
++++ b/pkgconfig/meson.build
+@@ -2,8 +2,8 @@ pkgconf = configuration_data()
+ 
+ pkgconf.set('prefix', get_option('prefix'))
+ pkgconf.set('exec_prefix', '${prefix}')
+-pkgconf.set('libdir', '${prefix}/@0@'.format(get_option('libdir')))
+-pkgconf.set('includedir', '${prefix}/@0@'.format(get_option('includedir')))
++pkgconf.set('libdir', join_paths(get_option('prefix'), get_option('libdir')))
++pkgconf.set('includedir', join_paths(get_option('prefix'), get_option('includedir')))
+ pkgconf.set('GST_API_VERSION', api_version)
+ pkgconf.set('VERSION', gst_version)
+ pkgconf.set('LIBM', libm.found() ? '-lm' : '')
diff --git a/pkgs/development/libraries/gstreamer/core/default.nix b/pkgs/development/libraries/gstreamer/core/default.nix
index ee9438d3c29..5845c8c50db 100644
--- a/pkgs/development/libraries/gstreamer/core/default.nix
+++ b/pkgs/development/libraries/gstreamer/core/default.nix
@@ -1,46 +1,56 @@
-{ stdenv, fetchurl, pkgconfig, perl, bison, flex, python, gobjectIntrospection
-, glib, makeWrapper
-, darwin
+{ stdenv, fetchurl, fetchpatch, meson, ninja
+, pkgconfig, gettext, gobjectIntrospection
+, bison, flex, python3, glib, makeWrapper
+, libcap,libunwind, darwin
+, lib
 }:
 
 stdenv.mkDerivation rec {
-  name = "gstreamer-1.12.3";
+  name = "gstreamer-1.14.0";
 
-  meta = {
+  meta = with lib ;{
     description = "Open source multimedia framework";
     homepage = https://gstreamer.freedesktop.org;
-    license = stdenv.lib.licenses.lgpl2Plus;
-    platforms = stdenv.lib.platforms.unix;
-    maintainers = [ stdenv.lib.maintainers.ttuegel ];
+    license = licenses.lgpl2Plus;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ ttuegel matthewbauer ];
   };
 
   src = fetchurl {
     url = "${meta.homepage}/src/gstreamer/${name}.tar.xz";
-    sha256 = "0vi1g8rmmsnd630ds3jwv2iph46ll8y07fzf04mz15q88j9g926k";
+    sha256 = "0vj6k01lp2yva6rfd95fkyng9jdr62gkz0x8d2l81dyly1ki6dpw";
   };
 
+  patches = [
+    (fetchpatch {
+        url = "https://bug794856.bugzilla-attachments.gnome.org/attachment.cgi?id=370411";
+        sha256 = "16plzzmkk906k4892zq68j3c9z8vdma5nxzlviq20jfv04ykhmk2";
+    })
+    ./fix_pkgconfig_includedir.patch
+  ];
+
   outputs = [ "out" "dev" ];
   outputBin = "dev";
 
   nativeBuildInputs = [
-    pkgconfig perl bison flex python gobjectIntrospection makeWrapper
+    meson ninja pkgconfig gettext bison flex python3 makeWrapper gobjectIntrospection
   ];
-  buildInputs = stdenv.lib.optional stdenv.isDarwin darwin.apple_sdk.frameworks.CoreServices;
+  buildInputs =
+       lib.optionals stdenv.isLinux [ libcap libunwind ]
+    ++ lib.optional stdenv.isDarwin darwin.apple_sdk.frameworks.CoreServices;
 
   propagatedBuildInputs = [ glib ];
 
-  enableParallelBuilding = true;
-
-  preConfigure = ''
-    configureFlagsArray+=("--exec-prefix=$dev")
-  '';
-
   postInstall = ''
     for prog in "$dev/bin/"*; do
         wrapProgram "$prog" --suffix GST_PLUGIN_SYSTEM_PATH : "\$(unset _tmp; for profile in \$NIX_PROFILES; do _tmp="\$profile/lib/gstreamer-1.0''$\{_tmp:+:\}\$_tmp"; done; printf "\$_tmp")"
     done
   '';
 
+  preConfigure= ''
+    patchShebangs .
+  '';
+
   preFixup = ''
     moveToOutput "share/bash-completion" "$dev"
   '';
diff --git a/pkgs/development/libraries/gstreamer/core/fix_pkgconfig_includedir.patch b/pkgs/development/libraries/gstreamer/core/fix_pkgconfig_includedir.patch
new file mode 100644
index 00000000000..c388a82fa2a
--- /dev/null
+++ b/pkgs/development/libraries/gstreamer/core/fix_pkgconfig_includedir.patch
@@ -0,0 +1,15 @@
+diff --git a/pkgconfig/meson.build b/pkgconfig/meson.build
+index edb0586c2..7ed46dfce 100644
+--- a/pkgconfig/meson.build
++++ b/pkgconfig/meson.build
+@@ -2,8 +2,8 @@ pkgconf = configuration_data()
+ 
+ pkgconf.set('prefix', join_paths(get_option('prefix')))
+ pkgconf.set('exec_prefix', '${prefix}')
+-pkgconf.set('libdir', '${prefix}/@0@'.format(get_option('libdir')))
+-pkgconf.set('includedir', '${prefix}/@0@'.format(get_option('includedir')))
++pkgconf.set('libdir', join_paths(get_option('prefix'), get_option('libdir')))
++pkgconf.set('includedir', join_paths(get_option('prefix'), get_option('includedir')))
+ pkgconf.set('GST_API_VERSION', apiversion)
+ pkgconf.set('VERSION', gst_version)
+ pkgconf.set('LIBM', mathlib.found() ? '-lm' : '')
diff --git a/pkgs/development/libraries/gstreamer/default.nix b/pkgs/development/libraries/gstreamer/default.nix
index 76cffa89dbc..9aec8763404 100644
--- a/pkgs/development/libraries/gstreamer/default.nix
+++ b/pkgs/development/libraries/gstreamer/default.nix
@@ -1,4 +1,4 @@
-{ callPackage, libva-full }:
+{ callPackage }:
 
 rec {
   gstreamer = callPackage ./core { };
@@ -13,17 +13,14 @@ rec {
 
   gst-plugins-ugly = callPackage ./ugly { inherit gst-plugins-base; };
 
-  gst-libav = callPackage ./libav { inherit gst-plugins-base; };
+  gst-rtsp-server = callPackage ./rtsp-server { inherit gst-plugins-base; };
 
-  gnonlin = callPackage ./gnonlin { inherit gst-plugins-base; };
+  gst-libav = callPackage ./libav { inherit gst-plugins-base; };
 
-  # TODO: gnonlin is deprecated in gst-editing-services, better switch to nle
-  # (Non Linear Engine).
-  gst-editing-services = callPackage ./ges { inherit gnonlin; };
+  gst-editing-services = callPackage ./ges { inherit gst-plugins-base; };
 
   gst-vaapi = callPackage ./vaapi {
     inherit gst-plugins-base gstreamer gst-plugins-bad;
-    libva = libva-full; # looks also for libva-{x11,wayland}
   };
 
   gst-validate = callPackage ./validate { inherit gst-plugins-base; };
diff --git a/pkgs/development/libraries/gstreamer/ges/default.nix b/pkgs/development/libraries/gstreamer/ges/default.nix
index c38ab12ec96..895f298c826 100644
--- a/pkgs/development/libraries/gstreamer/ges/default.nix
+++ b/pkgs/development/libraries/gstreamer/ges/default.nix
@@ -1,9 +1,10 @@
-{ stdenv, fetchurl, pkgconfig, python, gobjectIntrospection
-, gnonlin, libxml2, flex, perl
+{ stdenv, fetchurl, fetchpatch, meson, ninja
+, pkgconfig, python, gst-plugins-base, libxml2
+, flex, perl, gettext, gobjectIntrospection
 }:
 
 stdenv.mkDerivation rec {
-  name = "gstreamer-editing-services-1.12.3";
+  name = "gstreamer-editing-services-1.14.0";
 
   meta = with stdenv.lib; {
     description = "Library for creation of audio/video non-linear editors";
@@ -14,12 +15,20 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "${meta.homepage}/src/gstreamer-editing-services/${name}.tar.xz";
-    sha256 = "0xjz8r0wbzc0kwi9q8akv7w71ii1n2y2dmb0q2p5k4h78382ybh3";
+    sha256 = "14cdd6y9p4k603hsnyhdjw2igg855gwpx0362jmg8k1gagmr0pwd";
   };
 
   outputs = [ "out" "dev" ];
 
-  nativeBuildInputs = [ pkgconfig python gobjectIntrospection flex perl ];
+  nativeBuildInputs = [ meson ninja pkgconfig gettext gobjectIntrospection python flex perl ];
 
-  propagatedBuildInputs = [ gnonlin libxml2 ];
+  propagatedBuildInputs = [ gst-plugins-base libxml2 ];
+
+  patches = [
+    (fetchpatch {
+        url = "https://bug794856.bugzilla-attachments.gnome.org/attachment.cgi?id=370413";
+        sha256 = "1xcgbs18g6n5p7z7kqj7ffakwmkxq7ijajyvhyl7p3zvqll9dc7x";
+    })
+    ./fix_pkgconfig_includedir.patch
+  ];
 }
diff --git a/pkgs/development/libraries/gstreamer/ges/fix_pkgconfig_includedir.patch b/pkgs/development/libraries/gstreamer/ges/fix_pkgconfig_includedir.patch
new file mode 100644
index 00000000000..1e12f3bbfbe
--- /dev/null
+++ b/pkgs/development/libraries/gstreamer/ges/fix_pkgconfig_includedir.patch
@@ -0,0 +1,15 @@
+diff --git a/pkgconfig/meson.build b/pkgconfig/meson.build
+index a612b21b..c017eaff 100644
+--- a/pkgconfig/meson.build
++++ b/pkgconfig/meson.build
+@@ -2,8 +2,8 @@ pkgconf = configuration_data()
+ 
+ pkgconf.set('prefix', get_option('prefix'))
+ pkgconf.set('exec_prefix', '${prefix}')
+-pkgconf.set('libdir', '${prefix}/@0@'.format(get_option('libdir')))
+-pkgconf.set('includedir', '${prefix}/@0@'.format(get_option('includedir')))
++pkgconf.set('libdir', join_paths(get_option('prefix'), get_option('libdir')))
++pkgconf.set('includedir', join_paths(get_option('prefix'), get_option('includedir')))
+ pkgconf.set('GST_API_VERSION', apiversion)
+ pkgconf.set('VERSION', gst_version)
+ 
diff --git a/pkgs/development/libraries/gstreamer/gnonlin/default.nix b/pkgs/development/libraries/gstreamer/gnonlin/default.nix
deleted file mode 100644
index c04b64ae3c6..00000000000
--- a/pkgs/development/libraries/gstreamer/gnonlin/default.nix
+++ /dev/null
@@ -1,30 +0,0 @@
-{ stdenv, fetchurl, pkgconfig
-, gst-plugins-base
-}:
-
-stdenv.mkDerivation rec {
-  name = "gnonlin-1.4.0";
-
-  meta = with stdenv.lib; {
-    description = "Gstreamer Non-Linear Multimedia Editing Plugins";
-    homepage    = "https://gstreamer.freedesktop.org";
-    longDescription = ''
-      Gnonlin is a library built on top of GStreamer which provides 
-      support for writing non-linear audio and video editing
-      applications. It introduces the concept of a timeline.
-    '';
-    license     = licenses.lgpl2Plus;
-    platforms   = platforms.unix;
-  };
-
-  src = fetchurl {
-    url = "${meta.homepage}/src/gnonlin/${name}.tar.xz";
-    sha256 = "0zv60rq2h736a6fivd3a3wp59dj1jar7b2vwzykahvl168b7wrid";
-  };
-
-  outputs = [ "out" "dev" ];
-
-  nativeBuildInputs = [ pkgconfig ];
-
-  propagatedBuildInputs = [ gst-plugins-base ];
-}
diff --git a/pkgs/development/libraries/gstreamer/good/default.nix b/pkgs/development/libraries/gstreamer/good/default.nix
index e4e4f3b394d..11e0894df3c 100644
--- a/pkgs/development/libraries/gstreamer/good/default.nix
+++ b/pkgs/development/libraries/gstreamer/good/default.nix
@@ -1,17 +1,21 @@
-{ stdenv, fetchurl, pkgconfig, python
-, gst-plugins-base, orc, bzip2
+{ stdenv, fetchurl, meson, ninja, pkgconfig, python
+, gst-plugins-base, orc, bzip2, gettext
 , libv4l, libdv, libavc1394, libiec61883
 , libvpx, speex, flac, taglib, libshout
 , cairo, gdk_pixbuf, aalib, libcaca
-, libsoup, libpulseaudio, libintlOrEmpty
-, darwin
+, libsoup, libpulseaudio, libintl
+, darwin, lame, mpg123, twolame
+, gtkSupport ? false, gtk3 ? null
+, ncurses
 }:
 
+assert gtkSupport -> gtk3 != null;
+
 let
-  inherit (stdenv.lib) optionals optionalString;
+  inherit (stdenv.lib) optional optionals optionalString;
 in
 stdenv.mkDerivation rec {
-  name = "gst-plugins-good-1.12.3";
+  name = "gst-plugins-good-1.14.0";
 
   meta = with stdenv.lib; {
     description = "Gstreamer Good Plugins";
@@ -23,31 +27,31 @@ stdenv.mkDerivation rec {
     '';
     license     = licenses.lgpl2Plus;
     platforms   = platforms.linux ++ platforms.darwin;
+    maintainers = with maintainers; [ matthewbauer ];
   };
 
   src = fetchurl {
     url = "${meta.homepage}/src/gst-plugins-good/${name}.tar.xz";
-    sha256 = "00sznj1sl97fqpn6j8ngps04clvxp8h8yhw6lvszx4b855wz9rqk";
+    sha256 = "1226s30cf7pqg3fj8shd20l7sp93yw9sqplgxns3m3ajgms3byka";
   };
 
   outputs = [ "out" "dev" ];
 
-  nativeBuildInputs = [ pkgconfig python ];
+  patches = [ ./fix_pkgconfig_includedir.patch ];
+
+  nativeBuildInputs = [ pkgconfig python meson ninja gettext ];
+
+  NIX_LDFLAGS = "-lncurses";
 
   buildInputs = [
     gst-plugins-base orc bzip2
     libdv libvpx speex flac taglib
     cairo gdk_pixbuf aalib libcaca
-    libsoup libshout
+    libsoup libshout lame mpg123 twolame libintl
+    ncurses
   ]
-  ++ libintlOrEmpty
+  ++ optional gtkSupport gtk3 # for gtksink
   ++ optionals stdenv.isDarwin [ darwin.apple_sdk.frameworks.Cocoa ]
   ++ optionals stdenv.isLinux [ libv4l libpulseaudio libavc1394 libiec61883 ];
 
-  preFixup = ''
-    mkdir -p "$dev/lib/gstreamer-1.0"
-    mv "$out/lib/gstreamer-1.0/"*.la "$dev/lib/gstreamer-1.0"
-  '';
-
-  LDFLAGS = optionalString stdenv.isDarwin "-lintl";
 }
diff --git a/pkgs/development/libraries/gstreamer/good/fix_pkgconfig_includedir.patch b/pkgs/development/libraries/gstreamer/good/fix_pkgconfig_includedir.patch
new file mode 100644
index 00000000000..f68ad603a37
--- /dev/null
+++ b/pkgs/development/libraries/gstreamer/good/fix_pkgconfig_includedir.patch
@@ -0,0 +1,15 @@
+diff --git a/pkgconfig/meson.build b/pkgconfig/meson.build
+index b3bf0d4d4..3e6e576c0 100644
+--- a/pkgconfig/meson.build
++++ b/pkgconfig/meson.build
+@@ -2,8 +2,8 @@ pkgconf = configuration_data()
+ 
+ pkgconf.set('prefix', get_option('prefix'))
+ pkgconf.set('exec_prefix', '${prefix}')
+-pkgconf.set('libdir', '${prefix}/@0@'.format(get_option('libdir')))
+-pkgconf.set('includedir', '${prefix}/@0@'.format(get_option('includedir')))
++pkgconf.set('libdir', join_paths(get_option('prefix'), get_option('libdir')))
++pkgconf.set('includedir', join_paths(get_option('prefix'), get_option('includedir')))
+ pkgconf.set('GST_API_VERSION', api_version)
+ pkgconf.set('VERSION', gst_version)
+ 
diff --git a/pkgs/development/libraries/gstreamer/gstreamermm/default.nix b/pkgs/development/libraries/gstreamer/gstreamermm/default.nix
index bee80cb24ec..14e27ab6068 100644
--- a/pkgs/development/libraries/gstreamer/gstreamermm/default.nix
+++ b/pkgs/development/libraries/gstreamer/gstreamermm/default.nix
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
     description = "C++ interface for GStreamer";
     homepage = https://gstreamer.freedesktop.org/bindings/cplusplus.html;
     license = licenses.lgpl21Plus;
-    platforms = platforms.unix;
+    platforms = platforms.linux;
     maintainers = with maintainers; [ romildo ];
   };
 
diff --git a/pkgs/development/libraries/gstreamer/legacy/gst-plugins-base/default.nix b/pkgs/development/libraries/gstreamer/legacy/gst-plugins-base/default.nix
index 2c2e1b0da12..8371b278040 100644
--- a/pkgs/development/libraries/gstreamer/legacy/gst-plugins-base/default.nix
+++ b/pkgs/development/libraries/gstreamer/legacy/gst-plugins-base/default.nix
@@ -1,6 +1,6 @@
 { fetchurl, stdenv, pkgconfig, python, gstreamer, xorg, alsaLib, cdparanoia
 , libogg, libtheora, libvorbis, freetype, pango, liboil, glib, cairo, orc
-, libintlOrEmpty
+, libintl
 , ApplicationServices
 , # Whether to build no plugins that have external dependencies
   # (except the ALSA plugin).
@@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
 
   # TODO : v4l, libvisual
   buildInputs =
-    [ pkgconfig glib cairo orc ]
+    [ pkgconfig glib cairo orc libintl ]
     # can't build alsaLib on darwin
     ++ stdenv.lib.optional (!stdenv.isDarwin) alsaLib
     ++ stdenv.lib.optionals (!minimalDeps)
@@ -37,11 +37,8 @@ stdenv.mkDerivation rec {
         liboil ]
     # can't build cdparanoia on darwin
     ++ stdenv.lib.optional (!minimalDeps && !stdenv.isDarwin) cdparanoia
-    ++ libintlOrEmpty
     ++ stdenv.lib.optional stdenv.isDarwin ApplicationServices;
 
-  NIX_CFLAGS_COMPILE = stdenv.lib.optionalString stdenv.isDarwin "-lintl";
-
   propagatedBuildInputs = [ gstreamer ];
 
   postInstall = "rm -rf $out/share/gtk-doc";
diff --git a/pkgs/development/libraries/gstreamer/legacy/gst-plugins-good/default.nix b/pkgs/development/libraries/gstreamer/legacy/gst-plugins-good/default.nix
index d533f798d99..75583624f54 100644
--- a/pkgs/development/libraries/gstreamer/legacy/gst-plugins-good/default.nix
+++ b/pkgs/development/libraries/gstreamer/legacy/gst-plugins-good/default.nix
@@ -1,7 +1,7 @@
 { fetchurl, stdenv, lib, pkgconfig, gst-plugins-base, aalib, cairo
 , flac, libjpeg, zlib, speex, libpng, libdv, libcaca, libvpx
 , libiec61883, libavc1394, taglib, libpulseaudio, gdk_pixbuf, orc
-, glib, gstreamer, bzip2, libsoup, libshout, ncurses, libintlOrEmpty
+, glib, gstreamer, bzip2, libsoup, libshout, ncurses, libintl
 , # Whether to build no plugins that have external dependencies
   # (except the PulseAudio plugin).
   minimalDeps ? false
@@ -23,15 +23,12 @@ stdenv.mkDerivation rec {
   configureFlags = [ "--enable-experimental" "--disable-oss" ];
 
   buildInputs =
-    [ pkgconfig glib gstreamer gst-plugins-base ]
+    [ pkgconfig glib gstreamer gst-plugins-base libintl ]
     ++ lib.optional stdenv.isLinux libpulseaudio
-    ++ libintlOrEmpty
     ++ lib.optionals (!minimalDeps)
       [ aalib libcaca cairo libdv flac libjpeg libpng speex
         taglib bzip2 libvpx gdk_pixbuf orc libsoup libshout ];
 
-  NIX_LDFLAGS = if stdenv.isDarwin then "-lintl" else null;
-
   enableParallelBuilding = true;
 
   postInstall = lib.optionalString (!minimalDeps) ''
diff --git a/pkgs/development/libraries/gstreamer/legacy/gst-plugins-ugly/default.nix b/pkgs/development/libraries/gstreamer/legacy/gst-plugins-ugly/default.nix
index 5c289fb3911..ac680f8432a 100644
--- a/pkgs/development/libraries/gstreamer/legacy/gst-plugins-ugly/default.nix
+++ b/pkgs/development/libraries/gstreamer/legacy/gst-plugins-ugly/default.nix
@@ -1,5 +1,5 @@
 { fetchurl, stdenv, pkgconfig, glib, gstreamer, gst-plugins-base
-, libmad, libdvdread, libmpeg2, libcdio, a52dec, x264, orc, lame, libintlOrEmpty }:
+, libmad, libdvdread, libmpeg2, libcdio, a52dec, x264, orc, lame, libintl }:
 
 stdenv.mkDerivation rec {
   name = "gst-plugins-ugly-0.10.19";
@@ -13,9 +13,7 @@ stdenv.mkDerivation rec {
   };
 
   buildInputs =
-    [ pkgconfig glib gstreamer gst-plugins-base libmad libdvdread a52dec x264 orc lame ] ++ libintlOrEmpty;
-
-  NIX_LDFLAGS = if stdenv.isDarwin then "-lintl" else null;
+    [ pkgconfig glib gstreamer gst-plugins-base libmad libdvdread a52dec x264 orc lame libintl ];
 
   enableParallelBuilding = true;
 
diff --git a/pkgs/development/libraries/gstreamer/legacy/gstreamer/default.nix b/pkgs/development/libraries/gstreamer/legacy/gstreamer/default.nix
index 55d34a3fada..e46ecfb7612 100644
--- a/pkgs/development/libraries/gstreamer/legacy/gstreamer/default.nix
+++ b/pkgs/development/libraries/gstreamer/legacy/gstreamer/default.nix
@@ -1,4 +1,4 @@
-{ fetchurl, stdenv, perl, bison, flex, pkgconfig, glib, libxml2, libintlOrEmpty }:
+{ fetchurl, stdenv, perl, bison, flex, pkgconfig, glib, libxml2, libintl }:
 
 stdenv.mkDerivation rec {
   name = "gstreamer-0.10.36";
@@ -13,9 +13,9 @@ stdenv.mkDerivation rec {
 
   outputs = [ "out" "dev" ];
 
-  nativeBuildInputs = [ pkgconfig ];
+  nativeBuildInputs = [ pkgconfig libintl ];
   buildInputs = [ perl bison flex ];
-  propagatedBuildInputs = [ glib libxml2 ] ++ libintlOrEmpty;
+  propagatedBuildInputs = [ glib libxml2 ];
 
   patchPhase = ''
     sed -i -e 's/^   /\t/' docs/gst/Makefile.in docs/libs/Makefile.in docs/plugins/Makefile.in
diff --git a/pkgs/development/libraries/gstreamer/libav/default.nix b/pkgs/development/libraries/gstreamer/libav/default.nix
index 9969c5e604f..564b37fab79 100644
--- a/pkgs/development/libraries/gstreamer/libav/default.nix
+++ b/pkgs/development/libraries/gstreamer/libav/default.nix
@@ -1,6 +1,6 @@
-{ stdenv, fetchurl, pkgconfig, python, yasm
-, gst-plugins-base, orc, bzip2
-, withSystemLibav ? true, libav ? null
+{ stdenv, fetchurl, meson, ninja, pkgconfig
+, python, yasm, gst-plugins-base, orc, bzip2
+, gettext, withSystemLibav ? true, libav ? null
 }:
 
 # Note that since gst-libav-1.6, libav is actually ffmpeg. See
@@ -9,7 +9,7 @@
 assert withSystemLibav -> libav != null;
 
 stdenv.mkDerivation rec {
-  name = "gst-libav-1.12.3";
+  name = "gst-libav-1.14.0";
 
   meta = {
     homepage = https://gstreamer.freedesktop.org;
@@ -19,16 +19,13 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "${meta.homepage}/src/gst-libav/${name}.tar.xz";
-    sha256 = "0l4nc6ikdx49l7bdrk3bd9p3pzry8a328r22zg48gyzpnv5ghph1";
+    sha256 = "12gglx6rarnxbaj0h1wivlgkv467n1bz2bwjigplciq57r6ln4zv";
   };
 
   outputs = [ "out" "dev" ];
 
-  configureFlags = stdenv.lib.optionalString withSystemLibav
-    "--with-system-libav";
-
   nativeBuildInputs = with stdenv.lib;
-    [ pkgconfig python ]
+    [ meson ninja gettext pkgconfig python ]
     ++ optional (!withSystemLibav) yasm
     ;
 
diff --git a/pkgs/development/libraries/gstreamer/rtsp-server/default.nix b/pkgs/development/libraries/gstreamer/rtsp-server/default.nix
new file mode 100644
index 00000000000..9ff799b0a27
--- /dev/null
+++ b/pkgs/development/libraries/gstreamer/rtsp-server/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, fetchurl, meson, ninja, pkgconfig
+, gst-plugins-base, gettext, gobjectIntrospection
+}:
+
+stdenv.mkDerivation rec {
+  name = "gst-rtsp-server-1.14.0";
+
+  meta = with stdenv.lib; {
+    description = "Gstreamer RTSP server";
+    homepage    = "https://gstreamer.freedesktop.org";
+    longDescription = ''
+      a library on top of GStreamer for building an RTSP server.
+    '';
+    license     = licenses.lgpl2Plus;
+    platforms   = platforms.linux ++ platforms.darwin;
+    maintainers = with maintainers; [ bkchr ];
+  };
+
+  src = fetchurl {
+    url = "${meta.homepage}/src/gst-rtsp-server/${name}.tar.xz";
+    sha256 = "0mlp9ms5hfbyzyvmc9xgi7934g4zrh1sbgky2p9zc5fqprvs0rbb";
+  };
+
+  outputs = [ "out" "dev" ];
+
+  nativeBuildInputs = [ meson ninja gettext gobjectIntrospection pkgconfig ];
+
+  buildInputs = [ gst-plugins-base ];
+}
diff --git a/pkgs/development/libraries/gstreamer/ugly/default.nix b/pkgs/development/libraries/gstreamer/ugly/default.nix
index cdaa88ce350..004bb0715f2 100644
--- a/pkgs/development/libraries/gstreamer/ugly/default.nix
+++ b/pkgs/development/libraries/gstreamer/ugly/default.nix
@@ -1,13 +1,14 @@
-{ stdenv, fetchurl, pkgconfig, python
-, gst-plugins-base, orc
+{ stdenv, fetchurl, meson, ninja, pkgconfig, python
+, gst-plugins-base, orc, gettext
 , a52dec, libcdio, libdvdread
-, lame, libmad, libmpeg2, x264, libintlOrEmpty, mpg123
+, libmad, libmpeg2, x264, libintl, lib
+, darwin
 }:
 
 stdenv.mkDerivation rec {
-  name = "gst-plugins-ugly-1.12.3";
+  name = "gst-plugins-ugly-1.14.0";
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "Gstreamer Ugly Plugins";
     homepage    = "https://gstreamer.freedesktop.org";
     longDescription = ''
@@ -18,22 +19,23 @@ stdenv.mkDerivation rec {
     '';
     license     = licenses.lgpl2Plus;
     platforms   = platforms.unix;
+    maintainers = with maintainers; [ matthewbauer ];
   };
 
   src = fetchurl {
     url = "${meta.homepage}/src/gst-plugins-ugly/${name}.tar.xz";
-    sha256 = "0lh00rg26iy5lr5al23lxsyncjqkgzph1bzkrgp8x9sfr62ab378";
+    sha256 = "1la2nny9hfw3rf3wvqggkg8ivn52qrqqs4n4mqz4ppm2r1gymf9z";
   };
 
   outputs = [ "out" "dev" ];
 
-  nativeBuildInputs = [ pkgconfig python ];
+  nativeBuildInputs = [ meson ninja gettext pkgconfig python ];
 
   buildInputs = [
     gst-plugins-base orc
     a52dec libcdio libdvdread
-    lame libmad libmpeg2 x264 mpg123
-  ] ++ libintlOrEmpty;
-
-  NIX_LDFLAGS = if stdenv.isDarwin then "-lintl" else null;
+    libmad libmpeg2 x264
+    libintl
+  ] ++ lib.optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks;
+    [ IOKit CoreFoundation DiskArbitration ]);
 }
diff --git a/pkgs/development/libraries/gstreamer/vaapi/default.nix b/pkgs/development/libraries/gstreamer/vaapi/default.nix
index 8351cfd65b1..11b451e76fd 100644
--- a/pkgs/development/libraries/gstreamer/vaapi/default.nix
+++ b/pkgs/development/libraries/gstreamer/vaapi/default.nix
@@ -1,20 +1,20 @@
-{ stdenv, fetchurl, pkgconfig, gst-plugins-base, bzip2, libva, wayland
+{ stdenv, fetchurl, meson, ninja, pkgconfig, gst-plugins-base, bzip2, libva, wayland
 , libdrm, udev, xorg, libGLU_combined, yasm, gstreamer, gst-plugins-bad, nasm
 , libvpx, python
 }:
 
 stdenv.mkDerivation rec {
   name = "gst-vaapi-${version}";
-  version = "1.12.4";
+  version = "1.14.0";
 
   src = fetchurl {
     url = "${meta.homepage}/src/gstreamer-vaapi/gstreamer-vaapi-${version}.tar.xz";
-    sha256 = "1jg9nvc8000yi2bcl3wn2yh2hwl7yvlwldj6778w8c0z5qj7fb8w";
+    sha256 = "1whxk428badv8ibji00sn6hj17cp8l9n93rr948bz2gjbq41zqz4";
   };
 
   outputs = [ "out" "dev" ];
 
-  nativeBuildInputs = [ pkgconfig bzip2 ];
+  nativeBuildInputs = [ meson ninja pkgconfig bzip2 ];
 
   buildInputs = [
     gstreamer gst-plugins-base gst-plugins-bad libva wayland libdrm udev
@@ -22,11 +22,10 @@ stdenv.mkDerivation rec {
     xorg.libICE libGLU_combined nasm libvpx python
   ];
 
-  preConfigure = "
+  preConfigure = ''
     export GST_PLUGIN_PATH_1_0=$out/lib/gstreamer-1.0
     mkdir -p $GST_PLUGIN_PATH_1_0
-    ";
-  configureFlags = "--disable-builtin-libvpx --with-gstreamer-api=1.0";
+  '';
 
   meta = {
     homepage = https://gstreamer.freedesktop.org;
diff --git a/pkgs/development/libraries/gstreamer/validate/default.nix b/pkgs/development/libraries/gstreamer/validate/default.nix
index 1cb5e4f968e..bd33d9c5280 100644
--- a/pkgs/development/libraries/gstreamer/validate/default.nix
+++ b/pkgs/development/libraries/gstreamer/validate/default.nix
@@ -3,7 +3,7 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "gst-validate-1.12.3";
+  name = "gst-validate-1.14.0";
 
   meta = {
     description = "Integration testing infrastructure for the GStreamer framework";
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "${meta.homepage}/src/gst-validate/${name}.tar.xz";
-    sha256 = "17j812pkzgbyn9ys3b305yl5mrf9nbm8whwj4iqdskr742fr8fai";
+    sha256 = "1pzzxqkv1spjrzpzpazdm2h4s2wk7gg5gag8nxj5v2gjfyzhiprk";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/pkgs/development/libraries/gtk+/2.x.nix b/pkgs/development/libraries/gtk+/2.x.nix
index 8a3ce884dfd..9731280dedd 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, libintlOrEmpty, xlibsWrapper, gobjectIntrospection
+, gdk_pixbuf, xlibsWrapper, gobjectIntrospection
 , xineramaSupport ? stdenv.isLinux
 , cupsSupport ? true, cups ? null
 , gdktarget ? "x11"
@@ -24,8 +24,6 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  NIX_CFLAGS_COMPILE = optionalString (libintlOrEmpty != []) "-lintl";
-
   setupHook = ./setup-hook.sh;
 
   nativeBuildInputs = [ setupHook perl pkgconfig gettext gobjectIntrospection ];
@@ -38,7 +36,6 @@ stdenv.mkDerivation rec {
          libXrandr libXrender libXcomposite libXi libXcursor
        ]
     ++ optionals stdenv.isDarwin [ xlibsWrapper libXdamage ]
-    ++ libintlOrEmpty
     ++ optional xineramaSupport libXinerama
     ++ optionals cupsSupport [ cups ]
     ++ optionals stdenv.isDarwin [ AppKit Cocoa ];
@@ -52,6 +49,8 @@ stdenv.mkDerivation rec {
     "--disable-visibility"
   ];
 
+  doCheck = false; # needs X11
+
   postInstall = ''
     moveToOutput share/gtk-2.0/demo "$devdoc"
     # The updater is needed for nixos env and it's tiny.
diff --git a/pkgs/development/libraries/gtk+/3.x.nix b/pkgs/development/libraries/gtk+/3.x.nix
index d2b32502d1d..0a9513b0fc4 100644
--- a/pkgs/development/libraries/gtk+/3.x.nix
+++ b/pkgs/development/libraries/gtk+/3.x.nix
@@ -1,7 +1,7 @@
-{ stdenv, fetchurl, fetchpatch, pkgconfig, gettext, perl
+{ stdenv, fetchurl, fetchpatch, pkgconfig, gettext, perl, makeWrapper, shared-mime-info
 , expat, glib, cairo, pango, gdk_pixbuf, atk, at-spi2-atk, gobjectIntrospection
 , xorg, epoxy, json-glib, libxkbcommon, gmp
-, waylandSupport ? stdenv.isLinux, wayland, wayland-protocols
+, waylandSupport ? stdenv.isLinux, mesa_noglu, wayland, wayland-protocols
 , xineramaSupport ? stdenv.isLinux
 , cupsSupport ? stdenv.isLinux, cups ? null
 , darwin, gnome3
@@ -12,20 +12,20 @@ assert cupsSupport -> cups != null;
 with stdenv.lib;
 
 let
-  version = "3.22.26";
+  version = "3.22.29";
 in
 stdenv.mkDerivation rec {
   name = "gtk+3-${version}";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gtk+/${gnome3.versionBranch version}/gtk+-${version}.tar.xz";
-    sha256 = "61eef0d320e541976e2dfe445729f12b5ade53050ee9de6184235cb60cd4b967";
+    sha256 = "1y5vzdbgww9l7xcrg13azff2rs94kggkywmpcsh39h7w76wn8zd0";
   };
 
   outputs = [ "out" "dev" ];
   outputBin = "dev";
 
-  nativeBuildInputs = [ pkgconfig gettext gobjectIntrospection perl ];
+  nativeBuildInputs = [ pkgconfig gettext gobjectIntrospection perl makeWrapper ];
 
   patches = [
     ./3.0-immodules.cache.patch
@@ -40,14 +40,12 @@ stdenv.mkDerivation rec {
   propagatedBuildInputs = with xorg; with stdenv.lib;
     [ expat glib cairo pango gdk_pixbuf atk at-spi2-atk gnome3.gsettings-desktop-schemas
       libXrandr libXrender libXcomposite libXi libXcursor libSM libICE ]
-    ++ optionals waylandSupport [ wayland wayland-protocols ]
+    ++ optionals waylandSupport [ mesa_noglu wayland wayland-protocols ]
     ++ optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [ AppKit Cocoa ])
     ++ optional xineramaSupport libXinerama
     ++ optional cupsSupport cups;
   #TODO: colord?
 
-  NIX_LDFLAGS = optionalString stdenv.isDarwin "-lintl";
-
   # demos fail to install, no idea where's the problem
   preConfigure = "sed '/^SRC_SUBDIRS /s/demos//' -i Makefile.in";
 
@@ -65,6 +63,8 @@ stdenv.mkDerivation rec {
     "--enable-wayland-backend"
   ];
 
+  doCheck = false; # needs X11
+
   postInstall = optionalString (!stdenv.isDarwin) ''
     substituteInPlace "$out/lib/gtk-3.0/3.0.0/printbackends/libprintbackend-cups.la" \
       --replace '-L${gmp.dev}/lib' '-L${gmp.out}/lib'
@@ -72,6 +72,11 @@ stdenv.mkDerivation rec {
     moveToOutput bin/gtk-update-icon-cache "$out"
     # Launcher
     moveToOutput bin/gtk-launch "$out"
+
+    # TODO: patch glib directly
+    for f in $dev/bin/gtk-encode-symbolic-svg; do
+      wrapProgram $f --prefix XDG_DATA_DIRS : "${shared-mime-info}/share"
+    done
   '';
 
   passthru = {
diff --git a/pkgs/development/libraries/gtkdatabox/default.nix b/pkgs/development/libraries/gtkdatabox/default.nix
index de5fd8343e3..d074f51d3ca 100644
--- a/pkgs/development/libraries/gtkdatabox/default.nix
+++ b/pkgs/development/libraries/gtkdatabox/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, pkgconfig, gtk2 }:
 
 stdenv.mkDerivation rec {
-  name = "gtkdatabox-0.9.2.0";
+  name = "gtkdatabox-0.9.3.0";
 
   src = fetchurl {
     url = "mirror://sourceforge/gtkdatabox/${name}.tar.gz";
-    sha256 = "0h20685bzw5j5h6mw8c6apbrbrd9w518c6xdhr55147px11nhnkl";
+    sha256 = "1wigd4bdlrz4pma2l2wd3z8sx7pqmsvq845nya5vma9ibi96nhhz";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/development/libraries/gtkmm/2.x.nix b/pkgs/development/libraries/gtkmm/2.x.nix
index 469c6adc6f7..69fd3f30e92 100644
--- a/pkgs/development/libraries/gtkmm/2.x.nix
+++ b/pkgs/development/libraries/gtkmm/2.x.nix
@@ -11,12 +11,14 @@ stdenv.mkDerivation rec {
 
   outputs = [ "out" "dev" ];
 
-  nativeBuildInputs = [pkgconfig];
+  nativeBuildInputs = [ pkgconfig ];
 
   propagatedBuildInputs = [ glibmm gtk2 atkmm cairomm pangomm ];
 
   doCheck = true;
 
+  enableParallelBuilding = true;
+
   meta = {
     description = "C++ interface to the GTK+ graphical user interface library";
 
diff --git a/pkgs/desktops/gnome-3/core/gtksourceview/nix_share_path.patch b/pkgs/development/libraries/gtksourceview/3.x-nix_share_path.patch
index c87350167c2..c87350167c2 100644
--- a/pkgs/desktops/gnome-3/core/gtksourceview/nix_share_path.patch
+++ b/pkgs/development/libraries/gtksourceview/3.x-nix_share_path.patch
diff --git a/pkgs/desktops/gnome-3/core/gtksourceview/default.nix b/pkgs/development/libraries/gtksourceview/3.x.nix
index b3948942c12..673eb1e52c4 100644
--- a/pkgs/desktops/gnome-3/core/gtksourceview/default.nix
+++ b/pkgs/development/libraries/gtksourceview/3.x.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, atk, cairo, glib, gtk3, pango
+{ stdenv, fetchurl, pkgconfig, atk, cairo, glib, gtk3, pango, vala_0_40
 , libxml2, perl, intltool, gettext, gnome3, gobjectIntrospection, dbus, xvfb_run, shared-mime-info }:
 
 let
@@ -12,10 +12,6 @@ in stdenv.mkDerivation rec {
     sha256 = "7aa6bdfebcdc73a763dddeaa42f190c40835e6f8495bb9eb8f78587e2577c188";
   };
 
-  passthru = {
-    updateScript = gnome3.updateScript { packageName = "gtksourceview"; attrPath = "gnome3.gtksourceview"; };
-  };
-
   propagatedBuildInputs = [
     # Required by gtksourceview-3.0.pc
     gtk3
@@ -25,7 +21,7 @@ in stdenv.mkDerivation rec {
 
   outputs = [ "out" "dev" ];
 
-  nativeBuildInputs = [ pkgconfig intltool gettext perl gobjectIntrospection ]
+  nativeBuildInputs = [ pkgconfig intltool gettext perl gobjectIntrospection vala_0_40 ]
     ++ stdenv.lib.optionals doCheck checkInputs;
 
   buildInputs = [ atk cairo glib pango libxml2 ];
@@ -34,7 +30,11 @@ in stdenv.mkDerivation rec {
     substituteInPlace gtksourceview/gtksourceview-utils.c --replace "@NIX_SHARE_PATH@" "$out/share"
   '';
 
-  patches = [ ./nix_share_path.patch ];
+  patches = [ ./3.x-nix_share_path.patch ];
+
+  NIX_LDFLAGS = stdenv.lib.optionalString stdenv.isDarwin "-lintl";
+
+  enableParallelBuilding = true;
 
   doCheck = stdenv.isLinux;
   checkPhase = ''
@@ -44,8 +44,17 @@ in stdenv.mkDerivation rec {
       make check
   '';
 
+  passthru = {
+    updateScript = gnome3.updateScript {
+      packageName = "gtksourceview";
+      attrPath = "gnome3.gtksourceview";
+    };
+  };
+
   meta = with stdenv.lib; {
+    homepage = https://wiki.gnome.org/Projects/GtkSourceView;
     platforms = with platforms; linux ++ darwin;
+    license = licenses.lgpl21;
     maintainers = gnome3.maintainers;
   };
 }
diff --git a/pkgs/development/libraries/gtksourceview/4.x-nix_share_path.patch b/pkgs/development/libraries/gtksourceview/4.x-nix_share_path.patch
new file mode 100644
index 00000000000..a35d9a88d0d
--- /dev/null
+++ b/pkgs/development/libraries/gtksourceview/4.x-nix_share_path.patch
@@ -0,0 +1,11 @@
+--- a/gtksourceview/gtksourceutils.c
++++ b/gtksourceview/gtksourceutils.c
+@@ -232,6 +232,8 @@
+ 							 NULL));
+ 	}
+ 
++	g_ptr_array_add (dirs, g_build_filename (DATADIR, GSV_DATA_SUBDIR, basename, NULL));
++
+ 	g_ptr_array_add (dirs, NULL);
+ 
+ 	return (gchar **) g_ptr_array_free (dirs, FALSE);
diff --git a/pkgs/development/libraries/gtksourceview/4.x.nix b/pkgs/development/libraries/gtksourceview/4.x.nix
new file mode 100644
index 00000000000..2501e0253b3
--- /dev/null
+++ b/pkgs/development/libraries/gtksourceview/4.x.nix
@@ -0,0 +1,54 @@
+{ stdenv, fetchurl, pkgconfig, atk, cairo, glib, gtk3, pango, vala_0_40
+, libxml2, perl, gettext, gnome3, gobjectIntrospection, dbus, xvfb_run, shared-mime-info }:
+
+let
+  checkInputs = [ xvfb_run dbus ];
+in stdenv.mkDerivation rec {
+  name = "gtksourceview-${version}";
+  version = "4.0.0";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/gtksourceview/${gnome3.versionBranch version}/${name}.tar.xz";
+    sha256 = "0amkspjsvxr3rjznmnwjwsgw030hayf6bw49ya4nligslwl7lp3f";
+  };
+
+  propagatedBuildInputs = [
+    # Required by gtksourceview-4.0.pc
+    gtk3
+    # Used by gtk_source_language_manager_guess_language
+    shared-mime-info
+  ];
+
+  outputs = [ "out" "dev" ];
+
+  nativeBuildInputs = [ pkgconfig gettext perl gobjectIntrospection vala_0_40 ]
+    ++ stdenv.lib.optionals doCheck checkInputs;
+
+  buildInputs = [ atk cairo glib pango libxml2 ];
+
+  patches = [ ./4.x-nix_share_path.patch ];
+
+  enableParallelBuilding = true;
+
+  doCheck = stdenv.isLinux;
+  checkPhase = ''
+    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 {
+      packageName = "gtksourceview";
+      attrPath = "gnome3.gtksourceview";
+    };
+  };
+
+  meta = with stdenv.lib; {
+    homepage = https://wiki.gnome.org/Projects/GtkSourceView;
+    platforms = with platforms; linux ++ darwin;
+    license = licenses.lgpl21;
+    maintainers = gnome3.maintainers;
+  };
+}
diff --git a/pkgs/development/libraries/gtkspell/3.nix b/pkgs/development/libraries/gtkspell/3.nix
index 5376482e58a..90bc4fc7f82 100644
--- a/pkgs/development/libraries/gtkspell/3.nix
+++ b/pkgs/development/libraries/gtkspell/3.nix
@@ -1,18 +1,22 @@
-{stdenv, fetchurl, gtk3, aspell, pkgconfig, enchant, intltool}:
+{stdenv, fetchurl, gtk3, aspell, pkgconfig, enchant, isocodes, intltool, gobjectIntrospection}:
 
 stdenv.mkDerivation rec {
   name = "gtkspell-${version}";
   version = "3.0.9";
 
+  outputs = [ "out" "dev" ];
+
   src = fetchurl {
     url = "mirror://sourceforge/gtkspell/gtkspell3-${version}.tar.xz";
     sha256 = "09jdicmpipmj4v84gnkqwbmj4lh8v0i6pn967rb9jx4zg2ia9x54";
   };
 
-  nativeBuildInputs = [ pkgconfig intltool ];
-  buildInputs = [ aspell gtk3 enchant ];
+  nativeBuildInputs = [ pkgconfig intltool gobjectIntrospection ];
+  buildInputs = [ aspell gtk3 enchant isocodes ];
   propagatedBuildInputs = [ enchant ];
 
+  configureFlags = [ "--enable-introspection" ];
+
   meta = with stdenv.lib; {
     homepage = http://gtkspell.sourceforge.net/;
     description = "Word-processor-style highlighting GtkTextView widget";
diff --git a/pkgs/development/libraries/gts/default.nix b/pkgs/development/libraries/gts/default.nix
index 59b3a34f7bd..d0da7f8cef6 100644
--- a/pkgs/development/libraries/gts/default.nix
+++ b/pkgs/development/libraries/gts/default.nix
@@ -11,7 +11,9 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ glib ] ++ stdenv.lib.optional (stdenv.system == "x86_64-darwin") gettext;
+  buildInputs = [ glib gettext ];
+
+  doCheck = false; # fails with "permission denied"
 
   meta = {
     homepage = http://gts.sourceforge.net/;
diff --git a/pkgs/development/libraries/gvfs/default.nix b/pkgs/development/libraries/gvfs/default.nix
index 0f8c9f3d343..4f3bc64b5d4 100644
--- a/pkgs/development/libraries/gvfs/default.nix
+++ b/pkgs/development/libraries/gvfs/default.nix
@@ -1,38 +1,76 @@
-{ stdenv, fetchurl, pkgconfig, intltool, libtool, gnome3
-, glib, dbus, udev, libgudev, udisks2, libgcrypt, libcap, polkit
-, libgphoto2, avahi, libarchive, fuse, libcdio, file, bzip2, lzma
+{ stdenv, meson, ninja, fetchurl, pkgconfig, gettext, gnome3
+, 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 }:
+, gnomeSupport ? false, gnome, makeWrapper
+, libimobiledevice, libbluray, libcdio-paranoia, libnfs, openssh
+, libsecret, libgdata
+# 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.34.2";
+  version = "1.36.2";
 in
 stdenv.mkDerivation rec {
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${gnome3.versionBranch version}/${name}.tar.xz";
-    sha256 = "0scn7bmfi27dnn764m090cj999dhda05pd9hnd9pcsfwygmcglv0";
+    sha256 = "1xq105596sk9yram5a143b369wpaiiwc9gz86n0j1kfr7nipkqn4";
   };
 
+  # Uncomment when switching back to meson
+  # postPatch = ''
+  #   chmod +x meson_post_install.py # patchShebangs requires executable file
+  #   patchShebangs meson_post_install.py
+  # '';
+
   nativeBuildInputs = [
-    pkgconfig intltool libtool file makeWrapper
+    autoreconfHook # Remove when switching to meson
+    # meson ninja
+    pkgconfig gettext makeWrapper
     libxml2 libxslt docbook_xsl docbook_xml_dtd_42
   ];
 
   buildInputs =
-    [ glib dbus udev libgudev udisks2 libgcrypt
-      libgphoto2 avahi libarchive fuse libcdio lzma bzip2
-      samba libmtp libcap polkit
+    [ 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 libgnome-keyring gconf gcr
-      # ToDo: not working and probably useless until gnome3 from x-updates
+      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=lib/gio/modules"
+  #   "-Dsystemduserunitdir=lib/systemd/user"
+  #   "-Ddbus_service_dir=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;
 
   preFixup = ''
diff --git a/pkgs/development/libraries/hamlib/default.nix b/pkgs/development/libraries/hamlib/default.nix
index 3ea70fd4990..9825d6ed64a 100644
--- a/pkgs/development/libraries/hamlib/default.nix
+++ b/pkgs/development/libraries/hamlib/default.nix
@@ -3,12 +3,12 @@
 
 stdenv.mkDerivation rec {
   pname = "hamlib";
-  version = "1.2.15.3";
+  version = "3.2";
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://sourceforge/${pname}/${name}.tar.gz";
-    sha256 = "0ppp6fc2h9d8p30j2s9wlqd620kmnny4wd8fc3jxd6gxwi4lbjm2";
+    sha256 = "07ddsykbliiv0p717z1h5vzmvsx6lm75j32rhvmwqxp8m3kbap5m";
   };
 
   buildInputs = [ perl perlPackages.ExtUtilsMakeMaker python2 swig gd libxml2
diff --git a/pkgs/development/libraries/harfbuzz/default.nix b/pkgs/development/libraries/harfbuzz/default.nix
index 2c38387eb83..d098dd8fd14 100644
--- a/pkgs/development/libraries/harfbuzz/default.nix
+++ b/pkgs/development/libraries/harfbuzz/default.nix
@@ -1,11 +1,11 @@
-{ stdenv, fetchurl, pkgconfig, glib, freetype, cairo, libintlOrEmpty
+{ stdenv, fetchurl, pkgconfig, glib, freetype, cairo, libintl
 , icu, graphite2, harfbuzz # The icu variant uses and propagates the non-icu one.
 , withIcu ? false # recommended by upstream as default, but most don't needed and it's big
 , withGraphite2 ? true # it is small and major distros do include it
 }:
 
 let
-  version = "1.7.1";
+  version = "1.7.6";
   inherit (stdenv.lib) optional optionals optionalString;
 in
 
@@ -14,7 +14,7 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "http://www.freedesktop.org/software/harfbuzz/release/harfbuzz-${version}.tar.bz2";
-    sha256 = "9645a6e83313b690602017f18d4eb2adf81f2e54c6fc4471e19331304965154e";
+    sha256 = "16rf7qwgy1gza74v2ws79zdwwb1lpvgz2abwwm8ws9j82cwysyys";
   };
 
   outputs = [ "out" "dev" ];
@@ -25,9 +25,8 @@ stdenv.mkDerivation {
     ( "--with-icu=" +       (if withIcu       then "yes" else "no") )
   ];
 
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ glib freetype cairo ] # recommended by upstream
-    ++ libintlOrEmpty;
+  nativeBuildInputs = [ pkgconfig libintl ];
+  buildInputs = [ glib freetype cairo ]; # recommended by upstream
   propagatedBuildInputs = []
     ++ optional withGraphite2 graphite2
     ++ optionals withIcu [ icu harfbuzz ]
diff --git a/pkgs/development/libraries/herqq/default.nix b/pkgs/development/libraries/herqq/default.nix
index 8f1aadc3a26..75dd8693d2c 100644
--- a/pkgs/development/libraries/herqq/default.nix
+++ b/pkgs/development/libraries/herqq/default.nix
@@ -15,10 +15,10 @@ stdenv.mkDerivation rec {
     sha256 = "1w674rbwbhpirq70gp9rk6p068j36rwn112fx3nz613wgw63x84m";
   };
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = http://herqq.org;
     description = "A software library for building UPnP devices and control points";
-    inherit (qt5.qtbase.meta) platforms;
+    platforms = platforms.linux;
     maintainers = [ ];
   };
 }
diff --git a/pkgs/development/libraries/hivex/default.nix b/pkgs/development/libraries/hivex/default.nix
index 7b4b9866d04..b2e2dbd35a4 100644
--- a/pkgs/development/libraries/hivex/default.nix
+++ b/pkgs/development/libraries/hivex/default.nix
@@ -3,11 +3,11 @@
 
 stdenv.mkDerivation rec {
   name = "hivex-${version}";
-  version = "1.3.14";
+  version = "1.3.15";
 
   src = fetchurl {
     url = "http://libguestfs.org/download/hivex/${name}.tar.gz";
-    sha256 = "0aqv28prjcmc66znw0wgaxjijg5mjm44bgn1iil8a4dlbsgv4p7b";
+    sha256 = "02vzipzrp1gr87rn7mkhyzr4zdjkp2dzcvvb223x7i0ch8ci7r4c";
   };
 
   patches = [ ./hivex-syms.patch ];
diff --git a/pkgs/development/libraries/hpx/default.nix b/pkgs/development/libraries/hpx/default.nix
index 6b08a0fd86f..edb1dc01aa8 100644
--- a/pkgs/development/libraries/hpx/default.nix
+++ b/pkgs/development/libraries/hpx/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "hpx-${version}";
-  version = "1.0.0";
+  version = "1.1.0";
 
   src = fetchFromGitHub {
     owner = "STEllAR-GROUP";
     repo = "hpx";
     rev = "${version}";
-    sha256 = "0k79gw4c0v4i7ps1hw6x4m7svxbfml5xm6ly7p00dvg7z9521zsk";
+    sha256 = "0xlhnycmpy2jgiqyzpwmkdrl6drf46ywdsl0qm4vksvjxqfgk9z3";
   };
 
   buildInputs = [ boost hwloc gperftools ];
diff --git a/pkgs/development/libraries/http-parser/default.nix b/pkgs/development/libraries/http-parser/default.nix
index 60a1435462b..5d4eae4e063 100644
--- a/pkgs/development/libraries/http-parser/default.nix
+++ b/pkgs/development/libraries/http-parser/default.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchurl, python2Packages, utillinux, fixDarwinDylibNames }:
 
 let
-  version = "2.7.0";
+  version = "2.8.1";
 in stdenv.mkDerivation {
   name = "http-parser-${version}";
 
   src = fetchurl {
     url = "https://github.com/joyent/http-parser/archive/v${version}.tar.gz";
-    sha256 = "0rqij6v6wv1giwx4prfa082kw1nka5d9vlb06zkc8mwszq1vzidh";
+    sha256 = "15ids8k2f0xhnnxh4m85w2f78pg5ndiwrpl24kyssznnp1l5yqai";
   };
 
   patches = [ ./build-shared.patch ];
diff --git a/pkgs/development/libraries/hunspell/dictionaries.nix b/pkgs/development/libraries/hunspell/dictionaries.nix
index f30ec1872ba..ee8a5107b34 100644
--- a/pkgs/development/libraries/hunspell/dictionaries.nix
+++ b/pkgs/development/libraries/hunspell/dictionaries.nix
@@ -61,6 +61,51 @@ let
       '';
     };
 
+  mkDictFromDSSO =
+    { shortName, shortDescription, dictFileName }:
+    mkDict rec {
+      inherit dictFileName;
+      version = "2.40";
+      # Should really use a string function or something
+      _version = "2-40";
+      name = "hunspell-dict-${shortName}-dsso-${version}";
+      _name = "ooo_swedish_dict_${_version}";
+      readmeFile = "LICENSE_en_US.txt";
+      src = fetchurl {
+        url = "https://extensions.libreoffice.org/extensions/swedish-spelling-dictionary-den-stora-svenska-ordlistan/${version}/@@download/file/${_name}.oxt";
+        sha256 = "b982881cc75f5c4af1199535bd4735ee476bdc48edf63e3f05fb4f715654a7bc";
+      };
+      meta = with stdenv.lib; {
+        longDescription = ''
+        Svensk ordlista baserad på DSSO (den stora svenska ordlistan) och Göran
+        Anderssons (goran@init.se) arbete med denna. Ordlistan hämtas från
+        LibreOffice då dsso.se inte längre verkar vara med oss.
+        '';
+        description = "Hunspell dictionary for ${shortDescription} from LibreOffice";
+        license = licenses.lgpl3;
+        platforms = platforms.all;
+      };
+      buildInputs = [ unzip ];
+      phases = "unpackPhase installPhase";
+      sourceRoot = ".";
+      unpackCmd = ''
+      unzip $src dictionaries/${dictFileName}.dic dictionaries/${dictFileName}.aff $readmeFile
+      '';
+      installPhase = ''
+        # hunspell dicts
+        install -dm755 "$out/share/hunspell"
+        install -m644 dictionaries/${dictFileName}.dic "$out/share/hunspell/"
+        install -m644 dictionaries/${dictFileName}.aff "$out/share/hunspell/"
+        # myspell dicts symlinks
+        install -dm755 "$out/share/myspell/dicts"
+        ln -sv "$out/share/hunspell/${dictFileName}.dic" "$out/share/myspell/dicts/"
+        ln -sv "$out/share/hunspell/${dictFileName}.aff" "$out/share/myspell/dicts/"
+        # docs
+        install -dm755 "$out/share/doc"
+        install -m644 ${readmeFile} $out/share/doc/${name}.txt
+      '';
+    };
+
   mkDictFromDicollecte =
     { shortName, shortDescription, longDescription, dictFileName }:
     mkDict rec {
@@ -464,6 +509,21 @@ in {
     ];
   };
 
+  /* SWEDISH */
+  
+  sv-se = mkDictFromDSSO rec {
+    shortName = "sv-se";
+    dictFileName = "sv_SE";
+    shortDescription = "Swedish (Sweden)";
+  };
+
+  # Finlandian Swedish (hello Linus Torvalds)
+  sv-fi = mkDictFromDSSO rec {
+    shortName = "sv-fi";
+    dictFileName = "sv_FI";
+    shortDescription = "Swedish (Finland)";
+  };
+  
   /* GERMAN */
 
   de-de = mkDictFromJ3e {
diff --git a/pkgs/development/libraries/hwloc/default.nix b/pkgs/development/libraries/hwloc/default.nix
index ad39a4fde31..90a16bcf7f9 100644
--- a/pkgs/development/libraries/hwloc/default.nix
+++ b/pkgs/development/libraries/hwloc/default.nix
@@ -7,11 +7,11 @@ assert x11Support -> libX11 != null && cairo != null;
 with stdenv.lib;
 
 stdenv.mkDerivation rec {
-  name = "hwloc-1.11.9";
+  name = "hwloc-1.11.10";
 
   src = fetchurl {
     url = "http://www.open-mpi.org/software/hwloc/v1.11/downloads/${name}.tar.bz2";
-    sha256 = "0r2im1s5lp7zjwqalcqcnlxx0dsky1bnx5waf2r3rmj888c36hrr";
+    sha256 = "1ryibcng40xcq22lsj85fn2vcvrksdx9rr3wwxpq8dw37lw0is1b";
   };
 
   configureFlags = [
diff --git a/pkgs/development/libraries/hyena/default.nix b/pkgs/development/libraries/hyena/default.nix
index edd35bd27e4..f99aa0b6f0c 100644
--- a/pkgs/development/libraries/hyena/default.nix
+++ b/pkgs/development/libraries/hyena/default.nix
@@ -17,6 +17,7 @@ stdenv.mkDerivation rec {
   postPatch = ''
     patchShebangs build/dll-map-makefile-verifier
     patchShebangs build/private-icon-theme-installer
+    substituteInPlace configure --replace lib/mono/2.0/ lib/mono/2.0-api/
     find -name Makefile.in | xargs -n 1 -d '\n' sed -e 's/^dnl/#/' -i
   '';
 
diff --git a/pkgs/development/libraries/id3lib/default.nix b/pkgs/development/libraries/id3lib/default.nix
index 199ac7c902b..dda1435c1da 100644
--- a/pkgs/development/libraries/id3lib/default.nix
+++ b/pkgs/development/libraries/id3lib/default.nix
@@ -9,12 +9,14 @@ stdenv.mkDerivation {
   ];
 
   buildInputs = [ zlib ];
-  
+
   src = fetchurl {
     url = mirror://sourceforge/id3lib/id3lib-3.8.3.tar.gz;
     sha256 = "0yfhqwk0w8q2hyv1jib1008jvzmwlpsxvc8qjllhna6p1hycqj97";
   };
 
+  doCheck = false; # fails to compile
+
   meta = {
     platforms = stdenv.lib.platforms.unix;
   };
diff --git a/pkgs/development/libraries/idnkit/default.nix b/pkgs/development/libraries/idnkit/default.nix
index 4cee2863093..442da700f34 100644
--- a/pkgs/development/libraries/idnkit/default.nix
+++ b/pkgs/development/libraries/idnkit/default.nix
@@ -1,11 +1,12 @@
 { stdenv, fetchurl, libiconv }:
 
 stdenv.mkDerivation rec {
-  name = "idnkit-1.0";
+  name = "idnkit-${version}";
+  version = "2.3";
 
   src = fetchurl {
-    url = "http://www.nic.ad.jp/ja/idn/idnkit/download/sources/${name}-src.tar.gz";
-    sha256 = "1z4i6fmyv67sflmjg763ymcxrcv84rbj1kv15im0s655h775zk8n";
+    url = "https://jprs.co.jp/idn/${name}.tar.bz2";
+    sha256 = "0zp9yc84ff5s0g2i6v9yfyza2n2x4xh0kq7hjd3anhh0clbp3l16";
   };
 
   buildInputs = [ libiconv ];
diff --git a/pkgs/development/libraries/ignition-transport/generic.nix b/pkgs/development/libraries/ignition-transport/generic.nix
index 8206338fb08..3568edb7890 100644
--- a/pkgs/development/libraries/ignition-transport/generic.nix
+++ b/pkgs/development/libraries/ignition-transport/generic.nix
@@ -21,10 +21,11 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with stdenv.lib; {
-    homepage = http://ignitionrobotics.org/libraries/math;
+    homepage = https://ignitionrobotics.org/libraries/math;
     description = "Math library by Ingition Robotics, created for the Gazebo project";
     license = licenses.asl20;
     maintainers = with maintainers; [ pxc ];
     platforms = platforms.all;
+    broken = true; # 2018-04-10
   };
 }
diff --git a/pkgs/development/libraries/iml/default.nix b/pkgs/development/libraries/iml/default.nix
index 4af2bba9160..b55d13ecc3f 100644
--- a/pkgs/development/libraries/iml/default.nix
+++ b/pkgs/development/libraries/iml/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, gmp, atlas}:
+{stdenv, autoreconfHook, fetchurl, gmp, openblas}:
 stdenv.mkDerivation rec {
   name = "iml-${version}";
   version = "1.0.5";
@@ -6,8 +6,18 @@ stdenv.mkDerivation rec {
     url = "http://www.cs.uwaterloo.ca/~astorjoh/iml-${version}.tar.bz2";
     sha256 = "0akwhhz9b40bz6lrfxpamp7r7wkk48p455qbn04mfnl9a1l6db8x";
   };
-  buildInputs = [gmp atlas];
-  configureFlags = "--with-gmp-include=${gmp.dev}/include --with-gmp-lib=${gmp}/lib";
+  buildInputs = [
+    gmp
+    openblas
+  ];
+  nativeBuildInputs = [
+    autoreconfHook
+  ];
+  configureFlags = [
+    "--with-gmp-include=${gmp.dev}/include"
+    "--with-gmp-lib=${gmp}/lib"
+    "--with-cblas=-lopenblas"
+  ];
   meta = {
     inherit version;
     description = ''Algorithms for computing exact solutions to dense systems of linear equations over the integers'';
diff --git a/pkgs/development/libraries/imlib2/default.nix b/pkgs/development/libraries/imlib2/default.nix
index 54c70197af4..18b42ea4b4f 100644
--- a/pkgs/development/libraries/imlib2/default.nix
+++ b/pkgs/development/libraries/imlib2/default.nix
@@ -5,11 +5,11 @@
 with stdenv.lib;
 
 stdenv.mkDerivation rec {
-  name = "imlib2-1.4.10";
+  name = "imlib2-1.5.0";
 
   src = fetchurl {
     url = "mirror://sourceforge/enlightenment/${name}.tar.bz2";
-    sha256 = "0wm2q2xlkbm71k7mw2jyzbxgzylrkcj5yh6nq58w5gybhp98qs9z";
+    sha256 = "0kg28b5wp886hiy12v7abdybrvlymb7g3nvg0ysn2y8h883s5w8m";
   };
 
   buildInputs = [ libjpeg libtiff giflib libpng bzip2 freetype libid3tag ]
diff --git a/pkgs/development/libraries/iniparser/default.nix b/pkgs/development/libraries/iniparser/default.nix
index e586b30393e..8beda8663c5 100644
--- a/pkgs/development/libraries/iniparser/default.nix
+++ b/pkgs/development/libraries/iniparser/default.nix
@@ -13,6 +13,11 @@ stdenv.mkDerivation rec {
 
   patches = ./no-usr.patch;
 
+  postPatch = stdenv.lib.optionalString stdenv.isDarwin ''
+    substituteInPlace Makefile \
+        --replace -Wl,-soname= -Wl,-install_name,
+  '';
+
   doCheck = true;
   preCheck = "patchShebangs test/make-tests.sh";
 
diff --git a/pkgs/development/libraries/isl/0.11.1.nix b/pkgs/development/libraries/isl/0.11.1.nix
index e2d7d7ffd03..cdb018d297b 100644
--- a/pkgs/development/libraries/isl/0.11.1.nix
+++ b/pkgs/development/libraries/isl/0.11.1.nix
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
   enableParallelBuilding = true;
 
   meta = {
-    homepage = http://www.kotnet.org/~skimo/isl/;
+    homepage = https://www.kotnet.org/~skimo/isl/;
     license = stdenv.lib.licenses.lgpl21;
     description = "A library for manipulating sets and relations of integer points bounded by linear constraints";
     platforms = stdenv.lib.platforms.all;
diff --git a/pkgs/development/libraries/isl/0.12.2.nix b/pkgs/development/libraries/isl/0.12.2.nix
index d7143b8747e..880f91fcced 100644
--- a/pkgs/development/libraries/isl/0.12.2.nix
+++ b/pkgs/development/libraries/isl/0.12.2.nix
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
   enableParallelBuilding = true;
 
   meta = {
-    homepage = http://www.kotnet.org/~skimo/isl/;
+    homepage = https://www.kotnet.org/~skimo/isl/;
     license = stdenv.lib.licenses.lgpl21;
     description = "A library for manipulating sets and relations of integer points bounded by linear constraints";
     platforms = stdenv.lib.platforms.all;
diff --git a/pkgs/development/libraries/isl/0.14.1.nix b/pkgs/development/libraries/isl/0.14.1.nix
index 8196dec283a..1ff4b7ec18a 100644
--- a/pkgs/development/libraries/isl/0.14.1.nix
+++ b/pkgs/development/libraries/isl/0.14.1.nix
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
   enableParallelBuilding = true;
 
   meta = {
-    homepage = http://www.kotnet.org/~skimo/isl/;
+    homepage = https://www.kotnet.org/~skimo/isl/;
     license = stdenv.lib.licenses.lgpl21;
     description = "A library for manipulating sets and relations of integer points bounded by linear constraints";
     platforms = stdenv.lib.platforms.all;
diff --git a/pkgs/development/libraries/isl/0.15.0.nix b/pkgs/development/libraries/isl/0.15.0.nix
index eca3372ad4d..8b6080c2880 100644
--- a/pkgs/development/libraries/isl/0.15.0.nix
+++ b/pkgs/development/libraries/isl/0.15.0.nix
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
   enableParallelBuilding = true;
 
   meta = {
-    homepage = http://www.kotnet.org/~skimo/isl/;
+    homepage = https://www.kotnet.org/~skimo/isl/;
     license = stdenv.lib.licenses.lgpl21;
     description = "A library for manipulating sets and relations of integer points bounded by linear constraints";
     platforms = stdenv.lib.platforms.all;
diff --git a/pkgs/development/libraries/isl/0.17.1.nix b/pkgs/development/libraries/isl/0.17.1.nix
index 2136969c075..59d4d38ce57 100644
--- a/pkgs/development/libraries/isl/0.17.1.nix
+++ b/pkgs/development/libraries/isl/0.17.1.nix
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
   enableParallelBuilding = true;
 
   meta = {
-    homepage = http://www.kotnet.org/~skimo/isl/;
+    homepage = https://www.kotnet.org/~skimo/isl/;
     license = stdenv.lib.licenses.lgpl21;
     description = "A library for manipulating sets and relations of integer points bounded by linear constraints";
     platforms = stdenv.lib.platforms.all;
diff --git a/pkgs/development/libraries/iso-codes/default.nix b/pkgs/development/libraries/iso-codes/default.nix
index 7d07408236e..4dfe190124b 100644
--- a/pkgs/development/libraries/iso-codes/default.nix
+++ b/pkgs/development/libraries/iso-codes/default.nix
@@ -1,11 +1,12 @@
 {stdenv, fetchurl, gettext, python3, xz}:
 
 stdenv.mkDerivation rec {
-  name = "iso-codes-3.74";
+  name = "iso-codes-${version}";
+  version = "3.79";
 
   src = fetchurl {
-    url = "http://pkg-isocodes.alioth.debian.org/downloads/${name}.tar.xz";
-    sha256 = "1vkaxkcx8h8lbg3z3jjfjs1x1rz1l01j6ll46ysza2gym37g7x11";
+    url = "https://salsa.debian.org/iso-codes-team/iso-codes/uploads/ef8de8bc12e0512d26ed73436a477871/${name}.tar.xz";
+    sha256 = "08i8hjy0qjlw9kd9i87jx967ihwh45l2xi55q1aa5265sind7byb";
   };
   patchPhase = ''
     for i in `find . -name \*.py`
diff --git a/pkgs/development/libraries/itk/default.nix b/pkgs/development/libraries/itk/default.nix
index 3865aa226f9..5280a95afb4 100644
--- a/pkgs/development/libraries/itk/default.nix
+++ b/pkgs/development/libraries/itk/default.nix
@@ -1,25 +1,20 @@
 { stdenv, fetchurl, fetchpatch, cmake, libX11, libuuid, xz, vtk }:
 
 stdenv.mkDerivation rec {
-  name = "itk-4.11.0";
+  name = "itk-4.13.0";
 
   src = fetchurl {
-    url = mirror://sourceforge/itk/InsightToolkit-4.11.0.tar.xz;
-    sha256 = "0axvyds0gads5914g0m70z5q16gzghr0rk0hy3qjpf1k9bkxvcq6";
+    url = mirror://sourceforge/itk/InsightToolkit-4.13.0.tar.xz;
+    sha256 = "09d1gmqx3wbdfgwf7r91r12m2vknviv0i8wxwh2q9w1vrpizrczy";
   };
 
-  # Clang 4 dislikes signed comparisons of pointers against integers. Should no longer be
-  # necessary once we get past ITK 4.11.
-  patches = [ (fetchpatch {
-    url    = "https://github.com/InsightSoftwareConsortium/ITK/commit/d1407a55910ad9c232f3d241833cfd2e59024946.patch";
-    sha256 = "0h851afkv23fwgkibjss30fkbz4nkfg6rmmm4pfvkwpml23gzz7s";
-  }) ];
-
   cmakeFlags = [
     "-DBUILD_TESTING=OFF"
     "-DBUILD_EXAMPLES=OFF"
     "-DBUILD_SHARED_LIBS=ON"
+    "-DModule_ITKMINC=ON"
     "-DModule_ITKIOMINC=ON"
+    "-DModule_ITKIOTransformMINC=ON"
     "-DModule_ITKVtkGlue=ON"
     "-DModule_ITKReview=ON"
   ];
diff --git a/pkgs/development/libraries/jama/default.nix b/pkgs/development/libraries/jama/default.nix
index 55f44df2b4f..36eedadc4c2 100644
--- a/pkgs/development/libraries/jama/default.nix
+++ b/pkgs/development/libraries/jama/default.nix
@@ -5,7 +5,7 @@ stdenv.mkDerivation rec {
   version = "1.2.5";
   
   src = fetchurl {
-    url = http://math.nist.gov/tnt/jama125.zip;
+    url = https://math.nist.gov/tnt/jama125.zip;
     sha256 = "031ns526fvi2nv7jzzv02i7i5sjcyr0gj884i3an67qhsx8vyckl";
   };
 
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = {
-    homepage = http://math.nist.gov/tnt/;
+    homepage = https://math.nist.gov/tnt/;
     description = "JAMA/C++ Linear Algebra Package: Java-like matrix C++ templates";
     platforms = stdenv.lib.platforms.unix;
   };
diff --git a/pkgs/development/libraries/jansson/default.nix b/pkgs/development/libraries/jansson/default.nix
index 2fbb2e3948c..b1167efdfee 100644
--- a/pkgs/development/libraries/jansson/default.nix
+++ b/pkgs/development/libraries/jansson/default.nix
@@ -1,11 +1,11 @@
 {stdenv, fetchurl}:
 
 stdenv.mkDerivation rec {
-  name = "jansson-2.10";
+  name = "jansson-2.11";
 
   src = fetchurl {
     url = "http://www.digip.org/jansson/releases/${name}.tar.gz";
-    sha256 = "0iv4rxsnamqm3ldpg7dyhjq0x9cp023nc7ac820jdd3pwb8ml8bq";
+    sha256 = "1x5jllzzqamq6kahx9d9a5mrarm9m3f30vfxvcqpi6p4mcnz91bf";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/libraries/jasper/default.nix b/pkgs/development/libraries/jasper/default.nix
index af543c4e197..bc18a13884b 100644
--- a/pkgs/development/libraries/jasper/default.nix
+++ b/pkgs/development/libraries/jasper/default.nix
@@ -11,6 +11,15 @@ stdenv.mkDerivation rec {
     sha256 = "0aarg8nbik9wrm7fx0451sbm5ypfdfr6i169pxzi354mpdp8gg7f";
   };
 
+  patches = [
+    (fetchpatch {
+      name = "CVE-2018-9055.patch";
+      url = "http://paste.opensuse.org/view/raw/330751ce";
+      sha256 = "0m798m6c4v9yyhql7x684j5kppcm6884n1rrb9ljz8p9aqq2jqnm";
+    })
+  ];
+
+
   # newer reconf to recognize a multiout flag
   nativeBuildInputs = [ cmake ];
   propagatedBuildInputs = [ libjpeg ];
@@ -21,6 +30,8 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
+  doCheck = false; # fails
+
   postInstall = ''
     moveToOutput bin "$bin"
   '';
diff --git a/pkgs/development/libraries/java/classpath/default.nix b/pkgs/development/libraries/java/classpath/default.nix
deleted file mode 100644
index 82e02d06906..00000000000
--- a/pkgs/development/libraries/java/classpath/default.nix
+++ /dev/null
@@ -1,61 +0,0 @@
-{ fetchurl, stdenv, javac, jvm, antlr, pkgconfig, gtk2, gconf, ecj }:
-
-stdenv.mkDerivation rec {
-  name = "classpath-0.99";
-
-  src = fetchurl {
-    url = "mirror://gnu/classpath/${name}.tar.gz";
-    sha256 = "1j7cby4k66f1nvckm48xcmh352b1d1b33qk7l6hi7dp9i9zjjagr";
-  };
-
-  patches = [ ./missing-casts.patch ];
-
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ javac jvm antlr gtk2 gconf ecj ];
-
-  configurePhase = ''
-    # GCJ tries to compile all of Classpath during the `configure' run when
-    # trying to build in the source tree (see
-    # http://www.mail-archive.com/classpath@gnu.org/msg15079.html), thus we
-    # build out-of-tree.
-    mkdir ../build
-    cd ../build
-    echo "building in \`$PWD'"
-
-    ../${name}/configure --prefix="$out"                        \
-         --enable-fast-install --disable-dependency-tracking    \
-         ${configureFlags}
-  '';
-
-  /* Plug-in support requires Xulrunner and all that.  Maybe someday,
-     optionally.
-
-    Compilation with `-Werror' is disabled because of this:
-
-      native/jni/native-lib/cpnet.c: In function 'cpnet_addMembership':
-      native/jni/native-lib/cpnet.c:583: error: dereferencing type-punned pointer will break strict-aliasing rules
-      native/jni/native-lib/cpnet.c: In function 'cpnet_dropMembership':
-      native/jni/native-lib/cpnet.c:598: error: dereferencing type-punned pointer will break strict-aliasing rules
-
-   */
-
-  configureFlags = "--disable-Werror --disable-plugin --with-antlr-jar=${antlr}/lib/antlr.jar";
-
-  meta = {
-    description = "Essential libraries for Java";
-
-    longDescription = ''
-      GNU Classpath, Essential Libraries for Java, is a GNU project to create
-      free core class libraries for use with virtual machines and compilers
-      for the Java programming language.
-    '';
-
-    homepage = http://www.gnu.org/software/classpath/;
-
-    # The exception makes it similar to LGPLv2+ AFAICS.
-    license = stdenv.lib.licenses.gpl2ClasspathPlus;
-
-    maintainers = [ ];
-    platforms = stdenv.lib.platforms.linux;
-  };
-}
diff --git a/pkgs/development/libraries/java/classpath/missing-casts.patch b/pkgs/development/libraries/java/classpath/missing-casts.patch
deleted file mode 100644
index 863ca2cac8c..00000000000
--- a/pkgs/development/libraries/java/classpath/missing-casts.patch
+++ /dev/null
@@ -1,80 +0,0 @@
-Add missing casts.  The GCC folks applied a similar patch in
-GCC's own copy of Classpath:
-http://gcc.gnu.org/ml/java/2007-05/msg00039.html .
-
---- classpath-0.98/javax/management/NotificationBroadcasterSupport.java	2009-07-30 16:52:08.000000000 +0200
-+++ classpath-0.98/javax/management/NotificationBroadcasterSupport.java	2009-07-30 16:51:58.000000000 +0200
-@@ -218,7 +218,7 @@
-   {
-     if (info == null || info.length == 0)
-       return new MBeanNotificationInfo[0];
--    return info.clone();
-+    return (MBeanNotificationInfo[]) info.clone();
-   }
- 
-   /**
-
---- classpath-0.98/java/util/concurrent/CopyOnWriteArrayList.java	2008-03-27 18:39:25.000000000 +0100
-+++ classpath-0.98/java/util/concurrent/CopyOnWriteArrayList.java	2009-07-30 17:08:30.000000000 +0200
-@@ -147,7 +148,7 @@ public class CopyOnWriteArrayList<E> 
-    */
-   public CopyOnWriteArrayList(E[] array)
-   {
--    data = array.clone();
-+    data = (E[]) array.clone();
-   }
- 
-   /**
-@@ -364,7 +365,7 @@ public class CopyOnWriteArrayList<E> 
-   public synchronized E set(int index, E e)
-   {
-     E result = data[index];
--    E[] newData = data.clone();
-+    E[] newData = (E[]) data.clone();
-     newData[index] = e;
-     data = newData;
-     return result;
-
---- classpath-0.98/java/util/EnumMap.java	2007-07-24 17:26:36.000000000 +0200
-+++ classpath-0.98/java/util/EnumMap.java	2009-07-30 17:12:19.000000000 +0200
-@@ -398,7 +398,7 @@ public class EnumMap<K extends Enum<K>, 
- 	// Can't happen.
- 	result = null;
-       }
--    result.store = store.clone();
-+    result.store = (V[]) store.clone();
-     return result;
-   }
- 
---- classpath-0.98/gnu/java/lang/reflect/GenericSignatureParser.java	2008-03-01 11:13:31.000000000 +0100
-+++ classpath-0.98/gnu/java/lang/reflect/GenericSignatureParser.java	2009-07-30 17:14:24.000000000 +0200
-@@ -75,7 +75,7 @@ final class TypeVariableImpl extends Typ
-     public Type[] getBounds()
-     {
-         resolve(bounds);
--        return bounds.clone();
-+        return (Type[]) bounds.clone();
-     }
- 
-     public GenericDeclaration getGenericDeclaration()
-@@ -154,7 +154,7 @@ final class ParameterizedTypeImpl extend
- 
-     public Type[] getActualTypeArguments()
-     {
--        return typeArgs.clone();
-+        return (Type[]) typeArgs.clone();
-     }
- 
-     public Type getRawType()
-
---- classpath-0.98/external/jsr166/java/util/ArrayDeque.java	2006-12-10 21:25:40.000000000 +0100
-+++ classpath-0.98/external/jsr166/java/util/ArrayDeque.java	2009-07-30 17:15:35.000000000 +0200
-@@ -787,7 +790,7 @@ public class ArrayDeque<E> extends Abstr
-             ArrayDeque<E> result = (ArrayDeque<E>) super.clone();
-             // Classpath local: we don't have Arrays.copyOf yet.
-             // result.elements = Arrays.copyOf(elements, elements.length);
--            result.elements = elements.clone();
-+            result.elements = (E[]) elements.clone();
-             return result;
- 
-         } catch (CloneNotSupportedException e) {
diff --git a/pkgs/development/libraries/java/commons/compress/default.nix b/pkgs/development/libraries/java/commons/compress/default.nix
index a35eaa0b260..eff57d6f2fd 100644
--- a/pkgs/development/libraries/java/commons/compress/default.nix
+++ b/pkgs/development/libraries/java/commons/compress/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  version = "1.8.1";
+  version = "1.16.1";
   name    = "commons-compress-${version}";
 
   src = fetchurl {
     url    = "mirror://apache/commons/compress/binaries/${name}-bin.tar.gz";
-    sha256 = "11viabgf34r3zx1avj51n00hzmx89kym3i90l6a5v5dbfh61h0lp";
+    sha256 = "0yz2m3qac1idg9346i64mjfrkq4kniajzx2manyybhj43v9dpx37";
   };
 
   installPhase = ''
diff --git a/pkgs/development/libraries/java/commons/io/default.nix b/pkgs/development/libraries/java/commons/io/default.nix
index d49165ac521..03b083328da 100644
--- a/pkgs/development/libraries/java/commons/io/default.nix
+++ b/pkgs/development/libraries/java/commons/io/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  version = "2.4";
+  version = "2.6";
   name    = "commons-io-${version}";
 
   src = fetchurl {
     url    = "mirror://apache/commons/io/binaries/${name}-bin.tar.gz";
-    sha256 = "0m5xmjfr9k2zmbrz425q530jd0lm6368c4wm3jsjlsrqmqjpsvz1";
+    sha256 = "1nzkv8gi56l1m4h7s8bcvqm0naq3bhh7fazcmgdhcr2zkjs5zfmn";
   };
 
   installPhase = ''
diff --git a/pkgs/development/libraries/java/hsqldb/default.nix b/pkgs/development/libraries/java/hsqldb/default.nix
index ad849a4d6d5..97ffcb647d6 100644
--- a/pkgs/development/libraries/java/hsqldb/default.nix
+++ b/pkgs/development/libraries/java/hsqldb/default.nix
@@ -2,12 +2,12 @@
 }:
 
 stdenv.mkDerivation {
-  name = "hsqldb-1.8.0.9";
+  name = "hsqldb-2.4.0";
   builder = ./builder.sh;
 
   src = fetchurl {
     url = mirror://sourceforge/hsqldb/hsqldb_1_8_0_9.zip;
-    sha256 = "e98d1d8bca15059f4ef4f0d3dde2d75778a5e1bbe8bc12abd4ec2cac39d5adec";
+    sha256 = "1v5dslwsqb7csjmi5g78pghsay2pszidvlzhyi79y18mra5iv3g9";
   };
 
   buildInputs = [ unzip
diff --git a/pkgs/development/libraries/jemalloc/common.nix b/pkgs/development/libraries/jemalloc/common.nix
new file mode 100644
index 00000000000..d8866ae3ff8
--- /dev/null
+++ b/pkgs/development/libraries/jemalloc/common.nix
@@ -0,0 +1,35 @@
+{ stdenv, fetchurl, version, sha256, ... }@args:
+
+stdenv.mkDerivation (rec {
+  name = "jemalloc-${version}";
+  inherit version;
+
+  src = fetchurl {
+    url = "https://github.com/jemalloc/jemalloc/releases/download/${version}/${name}.tar.bz2";
+    inherit sha256;
+  };
+
+  # By default, jemalloc puts a je_ prefix onto all its symbols on OSX, which
+  # then stops downstream builds (mariadb in particular) from detecting it. This
+  # option should remove the prefix and give us a working jemalloc.
+  configureFlags = stdenv.lib.optional stdenv.isDarwin "--with-jemalloc-prefix="
+                   # jemalloc is unable to correctly detect transparent hugepage support on
+                   # ARM (https://github.com/jemalloc/jemalloc/issues/526), and the default
+                   # kernel ARMv6/7 kernel does not enable it, so we explicitly disable support
+                   ++ stdenv.lib.optional stdenv.isAarch32 "--disable-thp";
+  doCheck = true;
+
+  enableParallelBuilding = true;
+
+  meta = with stdenv.lib; {
+    homepage = http://jemalloc.net;
+    description = "General purpose malloc(3) implementation";
+    longDescription = ''
+      malloc(3)-compatible memory allocator that emphasizes fragmentation
+      avoidance and scalable concurrency support.
+    '';
+    license = licenses.bsd2;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ wkennington ];
+  };
+} // (builtins.removeAttrs args [ "stdenv" "fetchurl" "version" "sha256" ]))
diff --git a/pkgs/development/libraries/jemalloc/default.nix b/pkgs/development/libraries/jemalloc/default.nix
index d4c9e0ff24a..40c06cbffdf 100644
--- a/pkgs/development/libraries/jemalloc/default.nix
+++ b/pkgs/development/libraries/jemalloc/default.nix
@@ -1,40 +1,10 @@
 { stdenv, fetchurl, fetchpatch }:
-
-stdenv.mkDerivation rec {
-  name = "jemalloc-${version}";
+import ./common.nix {
+  inherit stdenv fetchurl;
   version = "5.0.1";
-
-  src = fetchurl {
-    url = "https://github.com/jemalloc/jemalloc/releases/download/${version}/${name}.tar.bz2";
-    sha256 = "4814781d395b0ef093b21a08e8e6e0bd3dab8762f9935bbfb71679b0dea7c3e9";
-  };
-
-  # By default, jemalloc puts a je_ prefix onto all its symbols on OSX, which
-  # then stops downstream builds (mariadb in particular) from detecting it. This
-  # option should remove the prefix and give us a working jemalloc.
-  configureFlags = stdenv.lib.optional stdenv.isDarwin "--with-jemalloc-prefix="
-                   # jemalloc is unable to correctly detect transparent hugepage support on
-                   # ARM (https://github.com/jemalloc/jemalloc/issues/526), and the default
-                   # kernel ARMv6/7 kernel does not enable it, so we explicitly disable support
-                   ++ stdenv.lib.optional stdenv.isAarch32 "--disable-thp";
-  doCheck = true;
-
+  sha256 = "4814781d395b0ef093b21a08e8e6e0bd3dab8762f9935bbfb71679b0dea7c3e9";
   patches = stdenv.lib.optional stdenv.isAarch64 (fetchpatch {
     url = "https://patch-diff.githubusercontent.com/raw/jemalloc/jemalloc/pull/1035.patch";
     sha256 = "02y0q3dp253bipxv4r954nqipbjbj92p6ww9bx5bk3d8pa81wkqq";
   });
-
-  enableParallelBuilding = true;
-
-  meta = with stdenv.lib; {
-    homepage = http://jemalloc.net;
-    description = "General purpose malloc(3) implementation";
-    longDescription = ''
-      malloc(3)-compatible memory allocator that emphasizes fragmentation
-      avoidance and scalable concurrency support.
-    '';
-    license = licenses.bsd2;
-    platforms = platforms.all;
-    maintainers = with maintainers; [ wkennington ];
-  };
 }
diff --git a/pkgs/development/libraries/jemalloc/jemalloc450.nix b/pkgs/development/libraries/jemalloc/jemalloc450.nix
new file mode 100644
index 00000000000..00b38a85553
--- /dev/null
+++ b/pkgs/development/libraries/jemalloc/jemalloc450.nix
@@ -0,0 +1,6 @@
+{ stdenv, fetchurl }:
+import ./common.nix {
+  inherit stdenv fetchurl;
+  version = "4.5.0";
+  sha256 = "10373xhpc10pgmai9fkc1z0rs029qlcb3c0qfnvkbwdlcibdh2cl";
+}
diff --git a/pkgs/development/libraries/json-c/0.11.nix b/pkgs/development/libraries/json-c/0.11.nix
deleted file mode 100644
index 8c4eab9ede6..00000000000
--- a/pkgs/development/libraries/json-c/0.11.nix
+++ /dev/null
@@ -1,25 +0,0 @@
-{ stdenv, fetchurl }:
-
-stdenv.mkDerivation rec {
-  name = "json-c-0.11";
-  src = fetchurl {
-    url    = "https://github.com/json-c/json-c/archive/json-c-0.11-20130402.tar.gz";
-    sha256 = "1m8fy7lbahv1r7yqbhw4pl057sxmmgjihm1fsvc3h66710s2i24r";
-  };
-
-  NIX_CFLAGS_COMPILE = [ "-Wno-error=implicit-fallthrough" ];
-
-  meta = with stdenv.lib; {
-    description = "A JSON implementation in C";
-    homepage    = https://github.com/json-c/json-c/wiki;
-    maintainers = with maintainers; [ lovek323 ];
-    platforms   = platforms.unix;
-
-    longDescription = ''
-      JSON-C implements a reference counting object model that allows you to
-      easily construct JSON objects in C, output them as JSON formatted strings
-      and parse JSON formatted strings back into the C representation of JSON
-      objects.
-    '';
-  };
-}
diff --git a/pkgs/development/libraries/json-c/default.nix b/pkgs/development/libraries/json-c/default.nix
index 7317efc53f8..27d1b701f05 100644
--- a/pkgs/development/libraries/json-c/default.nix
+++ b/pkgs/development/libraries/json-c/default.nix
@@ -1,23 +1,15 @@
-{ stdenv, fetchurl, autoreconfHook }:
+{ stdenv, fetchurl, autoconf }:
 
 stdenv.mkDerivation rec {
-  name = "json-c-0.12.1";
+  name = "json-c-0.13.1";
   src = fetchurl {
     url    = "https://s3.amazonaws.com/json-c_releases/releases/${name}-nodoc.tar.gz";
-    sha256 = "148jkvpnxmg1fwwigp0nq9qbd5vzpnmgiw3y34w7k6fymalpsqas";
+    sha256 = "0ch1v18wk703bpbyzj7h1mkwvsw4rw4qdwvgykscypvqq10678ll";
   };
 
   outputs = [ "out" "dev" ];
 
-  nativeBuildInputs = [ autoreconfHook ]; # won't configure without it, no idea why
-
-  # probably OK after update: https://github.com/json-c/json-c/pull/365
-  NIX_CFLAGS_COMPILE = [ "-Wno-error=implicit-fallthrough" ];
-
-  # compatibility hack (for mypaint at least)
-  postInstall = ''
-    ln -s json-c.pc "$dev/lib/pkgconfig/json.pc"
-  '';
+  nativeBuildInputs = [ autoconf ];  # for autoheader
 
   meta = with stdenv.lib; {
     description = "A JSON implementation in C";
diff --git a/pkgs/development/libraries/json-glib/default.nix b/pkgs/development/libraries/json-glib/default.nix
index bf32f4f8e8b..21bddf8f6bb 100644
--- a/pkgs/development/libraries/json-glib/default.nix
+++ b/pkgs/development/libraries/json-glib/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, fetchpatch, glib, meson, ninja, pkgconfig, gettext
-, gobjectIntrospection, dbus, libintlOrEmpty
+, gobjectIntrospection, dbus
 , fixDarwinDylibNames
 }:
 
@@ -14,10 +14,7 @@ stdenv.mkDerivation rec {
 
   propagatedBuildInputs = [ glib ];
   nativeBuildInputs = [ meson ninja pkgconfig gettext gobjectIntrospection ];
-  buildInputs = libintlOrEmpty
-    ++ stdenv.lib.optional stdenv.isDarwin fixDarwinDylibNames;
-
-  NIX_LDFLAGS = stdenv.lib.optionalString stdenv.isDarwin "-lintl";
+  buildInputs = stdenv.lib.optional stdenv.isDarwin fixDarwinDylibNames;
 
   patches = [
     # https://gitlab.gnome.org/GNOME/json-glib/issues/27
diff --git a/pkgs/development/libraries/kdb/default.nix b/pkgs/development/libraries/kdb/default.nix
index e85190cdfce..1dedd3836c2 100644
--- a/pkgs/development/libraries/kdb/default.nix
+++ b/pkgs/development/libraries/kdb/default.nix
@@ -6,12 +6,12 @@
 
 mkDerivation rec {
   pname = "kdb";
-  version = "3.0.2";
+  version = "3.1.0";
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://kde/stable/${pname}/src/${name}.tar.xz";
-    sha256 = "1n11xhqk3sf4a5nzvnrnj7bj21yqqqkm2d1xzfx3q82fkyah8s49";
+    sha256 = "1wi9z7j0nr9wi6aqqkdcpnr38ixyxbv00sblya7pakdf96hlamhp";
   };
 
   nativeBuildInputs = [ extra-cmake-modules ];
diff --git a/pkgs/development/libraries/kde-frameworks/default.nix b/pkgs/development/libraries/kde-frameworks/default.nix
index 08eebfd83ae..d780fc30a4c 100644
--- a/pkgs/development/libraries/kde-frameworks/default.nix
+++ b/pkgs/development/libraries/kde-frameworks/default.nix
@@ -129,6 +129,7 @@ let
       syntax-highlighting = callPackage ./syntax-highlighting.nix {};
       threadweaver = callPackage ./threadweaver.nix {};
       kirigami2 = callPackage ./kirigami2.nix {};
+      kholidays = callPackage ./kholidays.nix {};
 
     # TIER 2
       kactivities = callPackage ./kactivities.nix {};
@@ -154,6 +155,7 @@ let
       kded = callPackage ./kded.nix {};
       kdesignerplugin = callPackage ./kdesignerplugin.nix {};
       kdesu = callPackage ./kdesu.nix {};
+      kdewebkit = callPackage ./kdewebkit.nix {};
       kemoticons = callPackage ./kemoticons.nix {};
       kglobalaccel = callPackage ./kglobalaccel.nix {};
       kiconthemes = callPackage ./kiconthemes {};
diff --git a/pkgs/development/libraries/kde-frameworks/fetch.sh b/pkgs/development/libraries/kde-frameworks/fetch.sh
index d4901ba4233..70363e6d2e6 100644
--- a/pkgs/development/libraries/kde-frameworks/fetch.sh
+++ b/pkgs/development/libraries/kde-frameworks/fetch.sh
@@ -1 +1 @@
-WGET_ARGS=( https://download.kde.org/stable/frameworks/5.43/ -A '*.tar.xz' )
+WGET_ARGS=( https://download.kde.org/stable/frameworks/5.46/ -A '*.tar.xz' )
diff --git a/pkgs/development/libraries/kde-frameworks/kdelibs4support/default.nix b/pkgs/development/libraries/kde-frameworks/kdelibs4support/default.nix
index 6937a4056b2..7e3de9d4d14 100644
--- a/pkgs/development/libraries/kde-frameworks/kdelibs4support/default.nix
+++ b/pkgs/development/libraries/kde-frameworks/kdelibs4support/default.nix
@@ -5,7 +5,7 @@
   kdbusaddons, kded, kdesignerplugin, kemoticons, kglobalaccel, kguiaddons,
   ki18n, kiconthemes, kio, kitemmodels, kinit, knotifications, kparts, kservice,
   ktextwidgets, kunitconversion, kwidgetsaddons, kwindowsystem, kxmlgui,
-  networkmanager, qtbase, qtsvg, qttools, qtx11extras, xlibs
+  networkmanager, qtbase, qtsvg, qttools, qtx11extras, xorg
 }:
 
 mkDerivation {
@@ -17,7 +17,7 @@ mkDerivation {
   propagatedNativeBuildInputs = [ kdoctools ];
   buildInputs = [
     kcompletion kconfig kded kglobalaccel ki18n kio kservice kwidgetsaddons
-    kxmlgui networkmanager qtsvg qtx11extras xlibs.libSM
+    kxmlgui networkmanager qtsvg qtx11extras xorg.libSM
   ];
   propagatedBuildInputs = [
     kauth karchive kconfigwidgets kcoreaddons kcrash kdbusaddons kdesignerplugin
diff --git a/pkgs/development/libraries/kde-frameworks/kdewebkit.nix b/pkgs/development/libraries/kde-frameworks/kdewebkit.nix
new file mode 100644
index 00000000000..b7dcfb7fe64
--- /dev/null
+++ b/pkgs/development/libraries/kde-frameworks/kdewebkit.nix
@@ -0,0 +1,11 @@
+{ mkDerivation, extra-cmake-modules
+, kconfig, kcoreaddons, kio, kparts, qtwebkit
+}:
+
+mkDerivation {
+  name = "kdewebkit";
+  nativeBuildInputs = [ extra-cmake-modules ];
+  buildInputs = [ kconfig kcoreaddons kio kparts ];
+  propagatedBuildInputs = [ qtwebkit ];
+  outputs = [ "out" "dev" ];
+}
diff --git a/pkgs/applications/kde/kholidays.nix b/pkgs/development/libraries/kde-frameworks/kholidays.nix
index 352bec09492..2ede69e7495 100644
--- a/pkgs/applications/kde/kholidays.nix
+++ b/pkgs/development/libraries/kde-frameworks/kholidays.nix
@@ -1,5 +1,5 @@
 {
-  mkDerivation, lib, kdepimTeam,
+  mkDerivation, lib,
   extra-cmake-modules, kdoctools,
   qtbase, qtdeclarative, qttools,
 }:
@@ -8,7 +8,7 @@ mkDerivation {
   name = "kholidays";
   meta = {
     license = with lib.licenses; [ gpl2 lgpl21 fdl12 ];
-    maintainers = kdepimTeam;
+    maintainers = with lib.maintainers; [ bkchr ];
   };
   nativeBuildInputs = [ extra-cmake-modules kdoctools ];
   buildInputs = [ qtbase qtdeclarative qttools ];
diff --git a/pkgs/development/libraries/kde-frameworks/srcs.nix b/pkgs/development/libraries/kde-frameworks/srcs.nix
index af01f6faef6..7f4c42a5d18 100644
--- a/pkgs/development/libraries/kde-frameworks/srcs.nix
+++ b/pkgs/development/libraries/kde-frameworks/srcs.nix
@@ -3,627 +3,627 @@
 
 {
   attica = {
-    version = "5.43.0";
+    version = "5.46.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.43/attica-5.43.0.tar.xz";
-      sha256 = "1vvf5d0dnfm69gahrhndy9jqxk7hkh5vj6z9pyprpl3zp5z1ki1a";
-      name = "attica-5.43.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.46/attica-5.46.0.tar.xz";
+      sha256 = "0xj4wn7nd28hfvbcpx4gfgf00vdg3kyfvqy0vk4js49xq14q9j09";
+      name = "attica-5.46.0.tar.xz";
     };
   };
   baloo = {
-    version = "5.43.0";
+    version = "5.46.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.43/baloo-5.43.0.tar.xz";
-      sha256 = "095z6w5qyq4z2hkdxq0vizfgv1v6g9w960wrh78b6bi1bf4ig2np";
-      name = "baloo-5.43.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.46/baloo-5.46.0.tar.xz";
+      sha256 = "01ww9yqw9zi2r71i8gh87vs20k3kmvc1mq9a3di21zk5glb8hdy3";
+      name = "baloo-5.46.0.tar.xz";
     };
   };
   bluez-qt = {
-    version = "5.43.0";
+    version = "5.46.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.43/bluez-qt-5.43.0.tar.xz";
-      sha256 = "04bsrp0biyn7b630hywk82rwn8kl8c2rwh8iwhjz35b51jjqm2b5";
-      name = "bluez-qt-5.43.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.46/bluez-qt-5.46.0.tar.xz";
+      sha256 = "0hgqxpxx1b2vpr5fxhgk8s4m1njc9i080zqb62bh4vvsdayzib6l";
+      name = "bluez-qt-5.46.0.tar.xz";
     };
   };
   breeze-icons = {
-    version = "5.43.0";
+    version = "5.46.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.43/breeze-icons-5.43.0.tar.xz";
-      sha256 = "19yy6pcqjfbjxlkkf4g1hcgl3lv4m640sl26nblrydn9qyj5iniy";
-      name = "breeze-icons-5.43.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.46/breeze-icons-5.46.0.tar.xz";
+      sha256 = "1sq7j0clqc1zm330p49ny76jasn0dvvf1lszclfldg540n376343";
+      name = "breeze-icons-5.46.0.tar.xz";
     };
   };
   extra-cmake-modules = {
-    version = "5.43.0";
+    version = "5.46.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.43/extra-cmake-modules-5.43.0.tar.xz";
-      sha256 = "1zgzjh5q1ppgfzj4mhprgd4848iwjnzqsnilb0dk5rgdrvfsamsp";
-      name = "extra-cmake-modules-5.43.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.46/extra-cmake-modules-5.46.0.tar.xz";
+      sha256 = "0xf232d9znln6a7i8mcff4nr0kd5x6qpp1hxbf5pp7g1cwdkxnp5";
+      name = "extra-cmake-modules-5.46.0.tar.xz";
     };
   };
   frameworkintegration = {
-    version = "5.43.0";
+    version = "5.46.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.43/frameworkintegration-5.43.0.tar.xz";
-      sha256 = "0qjpk4lslpxqj5aisczm5kl201g4z3grgjhx38r1ih4hyp805vw0";
-      name = "frameworkintegration-5.43.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.46/frameworkintegration-5.46.0.tar.xz";
+      sha256 = "1nb5b81b5g1y8crn6mwkjhkf8dzamyfpcl49c3ml34i1d68jbil3";
+      name = "frameworkintegration-5.46.0.tar.xz";
     };
   };
   kactivities = {
-    version = "5.43.0";
+    version = "5.46.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.43/kactivities-5.43.0.tar.xz";
-      sha256 = "0rmmyjfgz8ybvdgpbqndsn0gxizxpmwhvglnnl8ia1s4sna6sjby";
-      name = "kactivities-5.43.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.46/kactivities-5.46.0.tar.xz";
+      sha256 = "1a1339i0zag6zsp7mq2w86v7h2fz3bc5jd6w7kb5yphagnwdp9kk";
+      name = "kactivities-5.46.0.tar.xz";
     };
   };
   kactivities-stats = {
-    version = "5.43.0";
+    version = "5.46.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.43/kactivities-stats-5.43.0.tar.xz";
-      sha256 = "1rrn1dxsiyvyf3pa5fyxa0sfbamv5c6g95s4f144xwrx2b130rh1";
-      name = "kactivities-stats-5.43.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.46/kactivities-stats-5.46.0.tar.xz";
+      sha256 = "18mdx8fxrq71rwz7zgx7j30k5ch0yjiyh86nwx9a4yrf6d2ykxwj";
+      name = "kactivities-stats-5.46.0.tar.xz";
     };
   };
   kapidox = {
-    version = "5.43.0";
+    version = "5.46.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.43/kapidox-5.43.0.tar.xz";
-      sha256 = "0c358ply0qzg269vxyg6py6l8z5j8l4h6apqcynyql4dbbbm8941";
-      name = "kapidox-5.43.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.46/kapidox-5.46.0.tar.xz";
+      sha256 = "16kn5mka2mzvqpdfa7w82zgj7vi0ig611qa16flgazzrcbl2m827";
+      name = "kapidox-5.46.0.tar.xz";
     };
   };
   karchive = {
-    version = "5.43.0";
+    version = "5.46.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.43/karchive-5.43.0.tar.xz";
-      sha256 = "1f3pqhpdgn00ni05iflyydkmsf3vd403ma5f42zj00kh30l9lqqf";
-      name = "karchive-5.43.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.46/karchive-5.46.0.tar.xz";
+      sha256 = "1xphgm8lxicws4bss5svq7r81n1j1zssgfq35vmlms22cpr7pr28";
+      name = "karchive-5.46.0.tar.xz";
     };
   };
   kauth = {
-    version = "5.43.0";
+    version = "5.46.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.43/kauth-5.43.0.tar.xz";
-      sha256 = "05w8vx45mrf32kzcyjmay1k9dw3j8axbrrp6infg0hhfsgk04w1f";
-      name = "kauth-5.43.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.46/kauth-5.46.0.tar.xz";
+      sha256 = "0w0zvaxzv6bl76hr8wxhg6w0cfp3sdcqdpimspyc7dvddvq3vbr3";
+      name = "kauth-5.46.0.tar.xz";
     };
   };
   kbookmarks = {
-    version = "5.43.0";
+    version = "5.46.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.43/kbookmarks-5.43.0.tar.xz";
-      sha256 = "0i7rfahn32m6xpbwra5m5nnpgq8l56jm0ijsq6f80cx8ww3nkcq5";
-      name = "kbookmarks-5.43.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.46/kbookmarks-5.46.0.tar.xz";
+      sha256 = "1i7dsw5rskf7fb8bylwnnysppgmrzizw35wl8n5rw2lkk814a7xl";
+      name = "kbookmarks-5.46.0.tar.xz";
     };
   };
   kcmutils = {
-    version = "5.43.0";
+    version = "5.46.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.43/kcmutils-5.43.0.tar.xz";
-      sha256 = "1dshx859k64yp00s5xx7z6x0wlawxyq41rg795nqizhk2s76agr2";
-      name = "kcmutils-5.43.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.46/kcmutils-5.46.0.tar.xz";
+      sha256 = "0bwvsn3fm53d3wqsapakkg0v791vx9kxla973576mlaqpk1zgn1v";
+      name = "kcmutils-5.46.0.tar.xz";
     };
   };
   kcodecs = {
-    version = "5.43.0";
+    version = "5.46.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.43/kcodecs-5.43.0.tar.xz";
-      sha256 = "0ncrzxvy2l324yvlzha9hkyp5qq75wfb9cbnxb5mygispxhrgh2v";
-      name = "kcodecs-5.43.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.46/kcodecs-5.46.0.tar.xz";
+      sha256 = "0ywj61zmfr09nwd9v8x11jnlymkv2r3bvvkbar1p4wc8291n7cfd";
+      name = "kcodecs-5.46.0.tar.xz";
     };
   };
   kcompletion = {
-    version = "5.43.0";
+    version = "5.46.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.43/kcompletion-5.43.0.tar.xz";
-      sha256 = "065nzw26ps367lf3m1j6x95swk0f6grap71wjjv688gablcaz699";
-      name = "kcompletion-5.43.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.46/kcompletion-5.46.0.tar.xz";
+      sha256 = "01rj0z26ppv2m3a7h4gh5kz96q877afk79354bvmwqi5w99iqv5a";
+      name = "kcompletion-5.46.0.tar.xz";
     };
   };
   kconfig = {
-    version = "5.43.0";
+    version = "5.46.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.43/kconfig-5.43.0.tar.xz";
-      sha256 = "1na1b2dsajl9b9rn2990fd8cqqaj2iwddrxjacbf0ib5mray1sr2";
-      name = "kconfig-5.43.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.46/kconfig-5.46.0.tar.xz";
+      sha256 = "1yx2f81mik3c3hdr424j92drqs3zmsqcjryfyzczxsbllsmf6zma";
+      name = "kconfig-5.46.0.tar.xz";
     };
   };
   kconfigwidgets = {
-    version = "5.43.0";
+    version = "5.46.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.43/kconfigwidgets-5.43.0.tar.xz";
-      sha256 = "1qxv8m614y0j687gwcsqqkwcdwsbbwc7ivwx6l9djll4r7r1d43w";
-      name = "kconfigwidgets-5.43.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.46/kconfigwidgets-5.46.0.tar.xz";
+      sha256 = "0d4x323j6yrjjf191vf25g4fl9iad652y0kgqdqv4r2sszb7w3bp";
+      name = "kconfigwidgets-5.46.0.tar.xz";
     };
   };
   kcoreaddons = {
-    version = "5.43.0";
+    version = "5.46.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.43/kcoreaddons-5.43.0.tar.xz";
-      sha256 = "10pgja1v2x5q6jyajld3yq116g1m90djnbf6p35i6n9ng65h0zy6";
-      name = "kcoreaddons-5.43.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.46/kcoreaddons-5.46.0.tar.xz";
+      sha256 = "13chb3xh9xyacf72kzvw6rkc9i54p1gifcnk7wx5g223bdym7h3z";
+      name = "kcoreaddons-5.46.0.tar.xz";
     };
   };
   kcrash = {
-    version = "5.43.0";
+    version = "5.46.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.43/kcrash-5.43.0.tar.xz";
-      sha256 = "1hvfhr3s0igc1n37w5fxx0jivsgvcdvpa5iywnkk4g1r1l6snx1b";
-      name = "kcrash-5.43.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.46/kcrash-5.46.0.tar.xz";
+      sha256 = "0d9k9i7lk5cj9j91av87x5gjahzs2lhkk6m1q27675sadp9hb6ih";
+      name = "kcrash-5.46.0.tar.xz";
     };
   };
   kdbusaddons = {
-    version = "5.43.0";
+    version = "5.46.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.43/kdbusaddons-5.43.0.tar.xz";
-      sha256 = "1h4m6ra1cangvqyzmkxkh1fld4rlvxnzz8wny53drgbyrsq2xxv5";
-      name = "kdbusaddons-5.43.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.46/kdbusaddons-5.46.0.tar.xz";
+      sha256 = "07h3n06ld1p3gspky3xsx89vpl46hq5apjqr4f2ccahscmyk1fn3";
+      name = "kdbusaddons-5.46.0.tar.xz";
     };
   };
   kdeclarative = {
-    version = "5.43.0";
+    version = "5.46.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.43/kdeclarative-5.43.0.tar.xz";
-      sha256 = "0jbm2ih9hzpnfaqc867fvwr414q78f9jjk6yyf1cjgq8vx8rmjq1";
-      name = "kdeclarative-5.43.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.46/kdeclarative-5.46.0.tar.xz";
+      sha256 = "10r20wx36q4kzr973kgwr7j2wq140xiarjawnqpmszcp1gm9qv8c";
+      name = "kdeclarative-5.46.0.tar.xz";
     };
   };
   kded = {
-    version = "5.43.0";
+    version = "5.46.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.43/kded-5.43.0.tar.xz";
-      sha256 = "1kfli2f4hxc9a0hk75kgln3x374y4av6hfajhncwyq37zd4wxq3r";
-      name = "kded-5.43.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.46/kded-5.46.0.tar.xz";
+      sha256 = "0is8x8r2dpam2m83pylyb3wfjdnn6nnrdaqkpglmbrq3r71n002r";
+      name = "kded-5.46.0.tar.xz";
     };
   };
   kdelibs4support = {
-    version = "5.43.0";
+    version = "5.46.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.43/portingAids/kdelibs4support-5.43.0.tar.xz";
-      sha256 = "1rwk436vpny3sq12bjqwapjicc3inyrq6dn34a6mr6gjcd5p2mch";
-      name = "kdelibs4support-5.43.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.46/portingAids/kdelibs4support-5.46.0.tar.xz";
+      sha256 = "19jjn5dxgayi9m3kglalg473zslbxc0818fqckichxxn4a0wmylz";
+      name = "kdelibs4support-5.46.0.tar.xz";
     };
   };
   kdesignerplugin = {
-    version = "5.43.0";
+    version = "5.46.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.43/kdesignerplugin-5.43.0.tar.xz";
-      sha256 = "0pk95vsgj67jw0qaalcrfvzkr9flxh6shkkmlaxclrz6yhnf9axz";
-      name = "kdesignerplugin-5.43.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.46/kdesignerplugin-5.46.0.tar.xz";
+      sha256 = "11xvl7vjmwv5s9bhkywcapc4h4g8sdrnkwgwzgjf528mfhysi76a";
+      name = "kdesignerplugin-5.46.0.tar.xz";
     };
   };
   kdesu = {
-    version = "5.43.0";
+    version = "5.46.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.43/kdesu-5.43.0.tar.xz";
-      sha256 = "1mll18ms5zk7i4lpkj6qdcxwaf0h52h9mi47y882hzqkvvbnk4d6";
-      name = "kdesu-5.43.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.46/kdesu-5.46.0.tar.xz";
+      sha256 = "0jm4cyy85afq69qaxxzvgfv59y80i76skvwrpa59w8sl173xh8di";
+      name = "kdesu-5.46.0.tar.xz";
     };
   };
   kdewebkit = {
-    version = "5.43.0";
+    version = "5.46.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.43/kdewebkit-5.43.0.tar.xz";
-      sha256 = "0yi7dv77flz7z1yjzlvrfvlybp7knz808hpfbr6hxgrp1gwi7h6b";
-      name = "kdewebkit-5.43.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.46/kdewebkit-5.46.0.tar.xz";
+      sha256 = "0vr4smvj34yycxrwzhaqd8kmh6jfjxf4a0y2c1j5k41m1w0wdppl";
+      name = "kdewebkit-5.46.0.tar.xz";
     };
   };
   kdnssd = {
-    version = "5.43.0";
+    version = "5.46.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.43/kdnssd-5.43.0.tar.xz";
-      sha256 = "0d58aaii1r2x3nmw9s2hnk178sr54yvrqi22ry3xm3v7yvx9jr3b";
-      name = "kdnssd-5.43.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.46/kdnssd-5.46.0.tar.xz";
+      sha256 = "1rpf9hjqcv3k8dcwdzdlbyx5shwmjkvck59cgfmzzh6jl81w9z6d";
+      name = "kdnssd-5.46.0.tar.xz";
     };
   };
   kdoctools = {
-    version = "5.43.0";
+    version = "5.46.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.43/kdoctools-5.43.0.tar.xz";
-      sha256 = "1llif166p17ffjwsgvb0n9lq8ip3if0hqma9zm9jpghm5j21q1jh";
-      name = "kdoctools-5.43.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.46/kdoctools-5.46.0.tar.xz";
+      sha256 = "1zkxnib2b08nb1mxc7sjij07nk0bbylfrrd7p1h8jrx0m4gip7ik";
+      name = "kdoctools-5.46.0.tar.xz";
     };
   };
   kemoticons = {
-    version = "5.43.0";
+    version = "5.46.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.43/kemoticons-5.43.0.tar.xz";
-      sha256 = "161n9xg82gxvl4a4by328llxz0x4w643vcxi88414zg1bm1z1cfb";
-      name = "kemoticons-5.43.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.46/kemoticons-5.46.0.tar.xz";
+      sha256 = "0yxi72x1acjpmkpnkpy8m4y7il095bmmrgnkc9yrax4lmr9hksil";
+      name = "kemoticons-5.46.0.tar.xz";
     };
   };
   kfilemetadata = {
-    version = "5.43.0";
+    version = "5.46.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.43/kfilemetadata-5.43.0.tar.xz";
-      sha256 = "1lxbj8fnaf6sybxgyq6h1qnic65l0mdhhxlw1djd16c7ih7ghrnq";
-      name = "kfilemetadata-5.43.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.46/kfilemetadata-5.46.0.tar.xz";
+      sha256 = "15panysvxn7di38dplslpii9xskich09j9x7s79p43pxyczmq0l3";
+      name = "kfilemetadata-5.46.0.tar.xz";
     };
   };
   kglobalaccel = {
-    version = "5.43.0";
+    version = "5.46.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.43/kglobalaccel-5.43.0.tar.xz";
-      sha256 = "00ygkszkklaz7k4hkshcb5gfynha8rncwvj7z9jvhd9chmwkiffc";
-      name = "kglobalaccel-5.43.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.46/kglobalaccel-5.46.0.tar.xz";
+      sha256 = "0xnljxkp9rcl3y22mzlz7zlq923ngyvihg6s7mqpfh97ayfh3pvv";
+      name = "kglobalaccel-5.46.0.tar.xz";
     };
   };
   kguiaddons = {
-    version = "5.43.0";
+    version = "5.46.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.43/kguiaddons-5.43.0.tar.xz";
-      sha256 = "0z6sf4pr4ykhlzdckyfap2f41y2chrl2kwlrb4djflfxf7q2xcqr";
-      name = "kguiaddons-5.43.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.46/kguiaddons-5.46.0.tar.xz";
+      sha256 = "02x9aqdvy3gl1y25g03cpk340xzhrmdi84v5xw8y7i2xbmgax244";
+      name = "kguiaddons-5.46.0.tar.xz";
     };
   };
   kholidays = {
-    version = "5.43.0";
+    version = "5.46.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.43/kholidays-5.43.0.tar.xz";
-      sha256 = "0zkjh7y0gdwakil6dj0z8yi2zzczzvdfhmnsd54s5yn0fvv37xbk";
-      name = "kholidays-5.43.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.46/kholidays-5.46.0.tar.xz";
+      sha256 = "10xb35zinriah3q214qhdwx3riqfj7w0dvn2ds5kcfa070q694yq";
+      name = "kholidays-5.46.0.tar.xz";
     };
   };
   khtml = {
-    version = "5.43.0";
+    version = "5.46.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.43/portingAids/khtml-5.43.0.tar.xz";
-      sha256 = "034aycdi7i6pvwkwz632nzk3vp8040hlvmzpp38nsy4idl4klh46";
-      name = "khtml-5.43.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.46/portingAids/khtml-5.46.0.tar.xz";
+      sha256 = "0cdq8y09qbciwaxvkln03n9jy91li0yp2g440sd580hd3n4zvs09";
+      name = "khtml-5.46.0.tar.xz";
     };
   };
   ki18n = {
-    version = "5.43.0";
+    version = "5.46.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.43/ki18n-5.43.0.tar.xz";
-      sha256 = "1zspxv6z4a3rarrn9n38g7rp0gc48bl4kih91m3r2nkap83jb04a";
-      name = "ki18n-5.43.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.46/ki18n-5.46.0.tar.xz";
+      sha256 = "0lwjmxkfqhxwjm0m86f0saa3irzv70psl5y8pv1qib82q3fv73ns";
+      name = "ki18n-5.46.0.tar.xz";
     };
   };
   kiconthemes = {
-    version = "5.43.0";
+    version = "5.46.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.43/kiconthemes-5.43.0.tar.xz";
-      sha256 = "105c892d4np4lshmd5f5x74m1ib3fbmvwgjzf6j317mq261r3rsw";
-      name = "kiconthemes-5.43.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.46/kiconthemes-5.46.0.tar.xz";
+      sha256 = "1y8f2piy258n0k8jrlyhgflafxcqax18fi46719av29ls48cgcap";
+      name = "kiconthemes-5.46.0.tar.xz";
     };
   };
   kidletime = {
-    version = "5.43.0";
+    version = "5.46.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.43/kidletime-5.43.0.tar.xz";
-      sha256 = "1jm2rdbzffnw0fv1pzfyz5lvzaa3x2pfp12zm9kl7skyj39z5vbj";
-      name = "kidletime-5.43.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.46/kidletime-5.46.0.tar.xz";
+      sha256 = "0hvgvmgfrnfmfgi19mjc1cg31yli7pzr9fq2ny9pk63is6zgq3vm";
+      name = "kidletime-5.46.0.tar.xz";
     };
   };
   kimageformats = {
-    version = "5.43.0";
+    version = "5.46.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.43/kimageformats-5.43.0.tar.xz";
-      sha256 = "1bn4rx5xx68m101n3ba774pd8qddaw3bwf2bc7zp7gi6d8bprh9i";
-      name = "kimageformats-5.43.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.46/kimageformats-5.46.0.tar.xz";
+      sha256 = "0gkmd5ma0dh06vdr8kzw5v9hqw6xqiizzvq7aya2y9lk42p4hay3";
+      name = "kimageformats-5.46.0.tar.xz";
     };
   };
   kinit = {
-    version = "5.43.0";
+    version = "5.46.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.43/kinit-5.43.0.tar.xz";
-      sha256 = "1jrzr4kv84rvf214wszd2zdnvlx2qxvr1ah9f564h23vvdrg79gd";
-      name = "kinit-5.43.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.46/kinit-5.46.0.tar.xz";
+      sha256 = "0szpvni3ff50i5w4c2jdi8wsb2i4dfhdna7wcmrzc5qd2l62yi6m";
+      name = "kinit-5.46.0.tar.xz";
     };
   };
   kio = {
-    version = "5.43.0";
+    version = "5.46.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.43/kio-5.43.0.tar.xz";
-      sha256 = "1mbjld1kh5hhslfm4rx9nddghkcgrxbw2pf39c7niq0r1llx5v76";
-      name = "kio-5.43.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.46/kio-5.46.0.tar.xz";
+      sha256 = "19fkijl7h1p92sngsqypsd2ni9qld9cxwh8c7diq0ybp8qzpjspb";
+      name = "kio-5.46.0.tar.xz";
     };
   };
   kirigami2 = {
-    version = "5.43.0";
+    version = "5.46.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.43/kirigami2-5.43.0.tar.xz";
-      sha256 = "0vshabb1q5pjscw0g57l7lpaal69g1mdpf01w0yskmbiqnzzpjl0";
-      name = "kirigami2-5.43.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.46/kirigami2-5.46.0.tar.xz";
+      sha256 = "1d6w4kc6kf0jlgji83r8zn0r5rdggygi28938wyb3wz4pgaz8m8d";
+      name = "kirigami2-5.46.0.tar.xz";
     };
   };
   kitemmodels = {
-    version = "5.43.0";
+    version = "5.46.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.43/kitemmodels-5.43.0.tar.xz";
-      sha256 = "1yw7h7g0knlljizsf9cir196v22cqhlaazmrbm6jqz198g47sqdd";
-      name = "kitemmodels-5.43.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.46/kitemmodels-5.46.0.tar.xz";
+      sha256 = "0xy8bqbaqnkxk34p7hfslm42dm98ka86fwi77pz04gw9r6048wq2";
+      name = "kitemmodels-5.46.0.tar.xz";
     };
   };
   kitemviews = {
-    version = "5.43.0";
+    version = "5.46.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.43/kitemviews-5.43.0.tar.xz";
-      sha256 = "19w6xhhxr7w40baw6i6lfq0fd7bahxfzr7pj10mrwb5i6bcbsk1h";
-      name = "kitemviews-5.43.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.46/kitemviews-5.46.0.tar.xz";
+      sha256 = "1ni3c2ivqr5vczl7z5707nv469xbwys1vz625ypwfh8py2b9nnwz";
+      name = "kitemviews-5.46.0.tar.xz";
     };
   };
   kjobwidgets = {
-    version = "5.43.0";
+    version = "5.46.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.43/kjobwidgets-5.43.0.tar.xz";
-      sha256 = "1kri6z737abwsglh29bh4kckbf1ici8n162lcyvw8b3w91l4dyc6";
-      name = "kjobwidgets-5.43.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.46/kjobwidgets-5.46.0.tar.xz";
+      sha256 = "129mxv7c0fmqdmzg1j8r0cb8sr9masrmkjl4dp8i6yark49k61hf";
+      name = "kjobwidgets-5.46.0.tar.xz";
     };
   };
   kjs = {
-    version = "5.43.0";
+    version = "5.46.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.43/portingAids/kjs-5.43.0.tar.xz";
-      sha256 = "1jdqdy1kxarv6k31yd0k280jyfy7y3qwgd9c7is7aya1ns46nx59";
-      name = "kjs-5.43.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.46/portingAids/kjs-5.46.0.tar.xz";
+      sha256 = "002k1jbcwxyv8dcmz3x4m7zv1ry2gdzg5gl466vf5hlc5cwgjac5";
+      name = "kjs-5.46.0.tar.xz";
     };
   };
   kjsembed = {
-    version = "5.43.0";
+    version = "5.46.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.43/portingAids/kjsembed-5.43.0.tar.xz";
-      sha256 = "11hcwwhkrl7sns4s36nxnp550n9xvky1rkrissm0mqh76309g6hy";
-      name = "kjsembed-5.43.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.46/portingAids/kjsembed-5.46.0.tar.xz";
+      sha256 = "13l2i0i8qlzs993nfbcgaijkhy7w9npn5358d5hfkxjlay7imcq2";
+      name = "kjsembed-5.46.0.tar.xz";
     };
   };
   kmediaplayer = {
-    version = "5.43.0";
+    version = "5.46.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.43/portingAids/kmediaplayer-5.43.0.tar.xz";
-      sha256 = "1q1s5v3fqnmxx58ixgdhkhrgkrdxy8mq8hg4ll7l6038lgycfsxf";
-      name = "kmediaplayer-5.43.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.46/portingAids/kmediaplayer-5.46.0.tar.xz";
+      sha256 = "0y4cn63fa5g35vrdx2hfhrw1fzwg5k3lxgx84r3c33cybxswcigi";
+      name = "kmediaplayer-5.46.0.tar.xz";
     };
   };
   knewstuff = {
-    version = "5.43.0";
+    version = "5.46.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.43/knewstuff-5.43.0.tar.xz";
-      sha256 = "1v3wzydi1jqb9an2bnxzfhwxhlb2lj8l735mdhym4859njj8x7w7";
-      name = "knewstuff-5.43.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.46/knewstuff-5.46.0.tar.xz";
+      sha256 = "12r38m7p86b2dfhp8nybm335cvizma4p26gxrwn7jg1kcvbg3hf5";
+      name = "knewstuff-5.46.0.tar.xz";
     };
   };
   knotifications = {
-    version = "5.43.0";
+    version = "5.46.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.43/knotifications-5.43.0.tar.xz";
-      sha256 = "0kgn5h38z9xd5a210w989j3z0khs4l9ahf19lqfara1ziwl4gaiv";
-      name = "knotifications-5.43.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.46/knotifications-5.46.0.tar.xz";
+      sha256 = "0hyf3wv3iy3v7l134pmb623bfa9j578rdymhz4sm5fix4mv23g5z";
+      name = "knotifications-5.46.0.tar.xz";
     };
   };
   knotifyconfig = {
-    version = "5.43.0";
+    version = "5.46.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.43/knotifyconfig-5.43.0.tar.xz";
-      sha256 = "0nrjxs263sp64h9pmrmr7fjkbpkalzr6crpyq0aqclciwfjpj326";
-      name = "knotifyconfig-5.43.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.46/knotifyconfig-5.46.0.tar.xz";
+      sha256 = "0wr0kliagkbpv89h9qviib6b16s2cw5j9jq4gpk3j5ij9zli4lkj";
+      name = "knotifyconfig-5.46.0.tar.xz";
     };
   };
   kpackage = {
-    version = "5.43.0";
+    version = "5.46.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.43/kpackage-5.43.0.tar.xz";
-      sha256 = "1nr7zkqp7zbvyrhc7iqznyqnfhmnqhhaqs30ig4gwsagq3x2a02b";
-      name = "kpackage-5.43.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.46/kpackage-5.46.0.tar.xz";
+      sha256 = "1q45zjh0a741f1w1g0vggbcygzzvkzpwj0iy13fwhgf4g7qrdp8c";
+      name = "kpackage-5.46.0.tar.xz";
     };
   };
   kparts = {
-    version = "5.43.0";
+    version = "5.46.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.43/kparts-5.43.0.tar.xz";
-      sha256 = "09i2ds6xgkbm9k9nd9yj1p3qw9xl3a25lh97ln9c39ccx32i32wd";
-      name = "kparts-5.43.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.46/kparts-5.46.0.tar.xz";
+      sha256 = "1hr0hy1jsi00rfnjy1wf59skricib6cc0c4bw0h0gw0rdy1vv80j";
+      name = "kparts-5.46.0.tar.xz";
     };
   };
   kpeople = {
-    version = "5.43.0";
+    version = "5.46.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.43/kpeople-5.43.0.tar.xz";
-      sha256 = "0xi6sxprqvmjc30cw1rfpryahid9dswql6b1wrdv5wsmci8k4xmq";
-      name = "kpeople-5.43.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.46/kpeople-5.46.0.tar.xz";
+      sha256 = "1gkm9ylwm4ajpw6lv78qy4zkmqirm4xnrf0nld3x7jrbpiadfrni";
+      name = "kpeople-5.46.0.tar.xz";
     };
   };
   kplotting = {
-    version = "5.43.0";
+    version = "5.46.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.43/kplotting-5.43.0.tar.xz";
-      sha256 = "0d5mf5xaysw837ninvdx1hfra8qjaxd9lcm28fyjfm506iq8v09f";
-      name = "kplotting-5.43.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.46/kplotting-5.46.0.tar.xz";
+      sha256 = "1vkwv2khww1v13r2ys06nfb6c0fwyn152wrfc9vqzcdcv6znq48n";
+      name = "kplotting-5.46.0.tar.xz";
     };
   };
   kpty = {
-    version = "5.43.0";
+    version = "5.46.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.43/kpty-5.43.0.tar.xz";
-      sha256 = "09m02ramzk6jc9scnsvcm2sgnia2vmnnfgmjsddspc2kp1aj2km8";
-      name = "kpty-5.43.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.46/kpty-5.46.0.tar.xz";
+      sha256 = "1m1spwgrgjiazkxwddh5xcii482bvxf015x70wnkyyygilbn6871";
+      name = "kpty-5.46.0.tar.xz";
     };
   };
   kross = {
-    version = "5.43.0";
+    version = "5.46.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.43/portingAids/kross-5.43.0.tar.xz";
-      sha256 = "05px64msss6as0pbrpl6l4y2n97kayphxqhwfilgsj9yjmyhm46h";
-      name = "kross-5.43.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.46/portingAids/kross-5.46.0.tar.xz";
+      sha256 = "0wnj01ml3j3ij4f6plw8d1by8k9fkbslq0finiyxrn64zqfkr1sd";
+      name = "kross-5.46.0.tar.xz";
     };
   };
   krunner = {
-    version = "5.43.0";
+    version = "5.46.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.43/krunner-5.43.0.tar.xz";
-      sha256 = "1wiaaz7wc2ls0gxyyws7cw6gmphkzayhdz1xxsyn4bzrc1h3z7dw";
-      name = "krunner-5.43.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.46/krunner-5.46.0.tar.xz";
+      sha256 = "1nvcprp1b5npzvcdbwzi1yn6953f8kjyfnavhjjp9vfafp4jgdca";
+      name = "krunner-5.46.0.tar.xz";
     };
   };
   kservice = {
-    version = "5.43.0";
+    version = "5.46.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.43/kservice-5.43.0.tar.xz";
-      sha256 = "1mdxd8kxawlhrsnd9lrx6cx9p8gvvsr9mx2d1s0bi90kapfqyqi3";
-      name = "kservice-5.43.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.46/kservice-5.46.0.tar.xz";
+      sha256 = "0q502wqvqb61gwy07byg35nk9ac12d02hhqa0qhil6qkv9f7dx57";
+      name = "kservice-5.46.0.tar.xz";
     };
   };
   ktexteditor = {
-    version = "5.43.0";
+    version = "5.46.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.43/ktexteditor-5.43.0.tar.xz";
-      sha256 = "1rhw1y0js2vjjp7c9f539lvqvci4nrgdicaypw3p5ndg8vsw2xag";
-      name = "ktexteditor-5.43.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.46/ktexteditor-5.46.0.tar.xz";
+      sha256 = "1yjyni3f123i2yx20gj13yw0v6cqwwdvk6x8f3maqqdzrfnqmm8b";
+      name = "ktexteditor-5.46.0.tar.xz";
     };
   };
   ktextwidgets = {
-    version = "5.43.0";
+    version = "5.46.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.43/ktextwidgets-5.43.0.tar.xz";
-      sha256 = "0h5bxf1a9mik2p2xhnm7nnr0r54s6zf4cby4qd8nlwl292dyf8gy";
-      name = "ktextwidgets-5.43.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.46/ktextwidgets-5.46.0.tar.xz";
+      sha256 = "1bniracp5q6p4k1ji0gn1a51sylbgxh0bqdlrfkd953mp35rh1wf";
+      name = "ktextwidgets-5.46.0.tar.xz";
     };
   };
   kunitconversion = {
-    version = "5.43.0";
+    version = "5.46.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.43/kunitconversion-5.43.0.tar.xz";
-      sha256 = "14syfc9vybmaais740xmb79g7ffpyanwkb2blar88zm810dpshqd";
-      name = "kunitconversion-5.43.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.46/kunitconversion-5.46.0.tar.xz";
+      sha256 = "14db0835zd375sn3d4v6d2pa5yp67gn9p8dxfs8111minmraqk43";
+      name = "kunitconversion-5.46.0.tar.xz";
     };
   };
   kwallet = {
-    version = "5.43.0";
+    version = "5.46.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.43/kwallet-5.43.0.tar.xz";
-      sha256 = "01mxl06nbpgkp6dva1kvqcbhjahgjqkbql6rhwgdyhb4asabnsmj";
-      name = "kwallet-5.43.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.46/kwallet-5.46.0.tar.xz";
+      sha256 = "15fvbyfdbmdq7zvsbj1c7xzyyhfd5mhv9zvgiss00ranhghsbbzh";
+      name = "kwallet-5.46.0.tar.xz";
     };
   };
   kwayland = {
-    version = "5.43.0";
+    version = "5.46.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.43/kwayland-5.43.0.tar.xz";
-      sha256 = "0glp9bnv53jjycwni0ywd7apr0jps3j0hpzs14y2v9bp4mwjgaji";
-      name = "kwayland-5.43.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.46/kwayland-5.46.0.tar.xz";
+      sha256 = "1dwvxhpa93k9l2iqbpyf6s7hkmi91kc56hm0v5q6k2mgb43g32nj";
+      name = "kwayland-5.46.0.tar.xz";
     };
   };
   kwidgetsaddons = {
-    version = "5.43.0";
+    version = "5.46.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.43/kwidgetsaddons-5.43.0.tar.xz";
-      sha256 = "15x7k953jj6vqmb2bbw4wad2n10akkg4i5n0gmkj4fsaiag359sr";
-      name = "kwidgetsaddons-5.43.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.46/kwidgetsaddons-5.46.0.tar.xz";
+      sha256 = "0h8n4hiyzynpg59bfrk3wgdc1w0b3pdbvimykgjvrrmn4wi6h8f9";
+      name = "kwidgetsaddons-5.46.0.tar.xz";
     };
   };
   kwindowsystem = {
-    version = "5.43.0";
+    version = "5.46.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.43/kwindowsystem-5.43.0.tar.xz";
-      sha256 = "0zcrls3m9np2a9r5n7fry03ll6vrj36abjh2sajm531z657xmxjd";
-      name = "kwindowsystem-5.43.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.46/kwindowsystem-5.46.0.tar.xz";
+      sha256 = "0rxhi8wjjxkqsspx0mqn5049f75s3jihkp73hdgxwwdp1qc66kx3";
+      name = "kwindowsystem-5.46.0.tar.xz";
     };
   };
   kxmlgui = {
-    version = "5.43.0";
+    version = "5.46.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.43/kxmlgui-5.43.0.tar.xz";
-      sha256 = "1jncpyfvanyl02zx8zi2mmwbx86yaq9k7k40vh716dswbh2idzd3";
-      name = "kxmlgui-5.43.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.46/kxmlgui-5.46.0.tar.xz";
+      sha256 = "0wwxry3kf2xsw40dhjpa8gh1qbh4wdnd1hp1g9mmh8l0wpfv289l";
+      name = "kxmlgui-5.46.0.tar.xz";
     };
   };
   kxmlrpcclient = {
-    version = "5.43.0";
+    version = "5.46.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.43/kxmlrpcclient-5.43.0.tar.xz";
-      sha256 = "0c99wq7kqaqvafppcai47q8w9n21ncfmrc562cvhyqnx9qr9n5vn";
-      name = "kxmlrpcclient-5.43.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.46/kxmlrpcclient-5.46.0.tar.xz";
+      sha256 = "05wf844ipikikhxcri0xpdwfxs8h3m677frsqkimf778g8vf7crh";
+      name = "kxmlrpcclient-5.46.0.tar.xz";
     };
   };
   modemmanager-qt = {
-    version = "5.43.0";
+    version = "5.46.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.43/modemmanager-qt-5.43.0.tar.xz";
-      sha256 = "16h8af046jlhn31dg1y3ajpniidkijf0wy0qa7z6bpqw01vj4l6w";
-      name = "modemmanager-qt-5.43.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.46/modemmanager-qt-5.46.0.tar.xz";
+      sha256 = "1h9hj1v4js02gyxbh1cizz69vh8pdwb93k9pi334a2s0lxbn5205";
+      name = "modemmanager-qt-5.46.0.tar.xz";
     };
   };
   networkmanager-qt = {
-    version = "5.43.0";
+    version = "5.46.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.43/networkmanager-qt-5.43.0.tar.xz";
-      sha256 = "0pkm02bg201xcxyn2cbw1w3gag9ig4g5yz4wbd2db6qzvficmfqc";
-      name = "networkmanager-qt-5.43.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.46/networkmanager-qt-5.46.0.tar.xz";
+      sha256 = "1pp5sgp76fjd62iqki3cc7b2drmfgq2fjhab9ai44r852ydgkzpn";
+      name = "networkmanager-qt-5.46.0.tar.xz";
     };
   };
   oxygen-icons5 = {
-    version = "5.43.0";
+    version = "5.46.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.43/oxygen-icons5-5.43.0.tar.xz";
-      sha256 = "13c80jnc6h2z9bbwwzq1b8jsn80n4bs0zzr2xsbzsfbl5sw0hwpc";
-      name = "oxygen-icons5-5.43.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.46/oxygen-icons5-5.46.0.tar.xz";
+      sha256 = "141qhbk6rakvh2clxyfhinzka3ap99ac8y90qplgss31ww0wxbb5";
+      name = "oxygen-icons5-5.46.0.tar.xz";
     };
   };
   plasma-framework = {
-    version = "5.43.0";
+    version = "5.46.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.43/plasma-framework-5.43.0.tar.xz";
-      sha256 = "1v7far0jz0b0rvx4jzqsq2pp1diny5c2qz67jyxnqlfgsba8y466";
-      name = "plasma-framework-5.43.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.46/plasma-framework-5.46.0.tar.xz";
+      sha256 = "0zpv6b128ll9yf23ys8hv35a95igmlbk3zid5k4385b6h0j4h367";
+      name = "plasma-framework-5.46.0.tar.xz";
     };
   };
   prison = {
-    version = "5.43.0";
+    version = "5.46.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.43/prison-5.43.0.tar.xz";
-      sha256 = "018kj3xgl5wr3nhrasxmwvk6fh63fdwlz78z1rzyd78jx95wpaqc";
-      name = "prison-5.43.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.46/prison-5.46.0.tar.xz";
+      sha256 = "1508pcqvyjfqg0yxk2jx32cqlvvz658z001n6iaf4c7hwclkyspg";
+      name = "prison-5.46.0.tar.xz";
     };
   };
   purpose = {
-    version = "5.43.0";
+    version = "5.46.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.43/purpose-5.43.0.tar.xz";
-      sha256 = "1vk796f3w2arqaql16yy012211vxgz6awa8kg0p1zrxbid43x757";
-      name = "purpose-5.43.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.46/purpose-5.46.0.tar.xz";
+      sha256 = "1mrssw484hb3nk9hafys0ns1ixd8h3l6m8qnyry9ky964xqmbkg1";
+      name = "purpose-5.46.0.tar.xz";
     };
   };
   qqc2-desktop-style = {
-    version = "5.43.0";
+    version = "5.46.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.43/qqc2-desktop-style-5.43.0.tar.xz";
-      sha256 = "0q6v1si1c8dlvq5f303dd4n1qqrn9kw0r51dl37px6rvy2n16d0w";
-      name = "qqc2-desktop-style-5.43.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.46/qqc2-desktop-style-5.46.0.tar.xz";
+      sha256 = "0hfl0qk4nadz2jykn0xaphppiqva0h83br4ym6zf2wc3c5sd6w91";
+      name = "qqc2-desktop-style-5.46.0.tar.xz";
     };
   };
   solid = {
-    version = "5.43.0";
+    version = "5.46.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.43/solid-5.43.0.tar.xz";
-      sha256 = "0q62z23dml6rndgmkg6r09gsi0in8c4gbgv66dw47v02spsnp7v9";
-      name = "solid-5.43.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.46/solid-5.46.0.tar.xz";
+      sha256 = "0ywx5nbms6nk7dmcbbgjfm8w3lchhf90wlhv077yhmxlnqciv3im";
+      name = "solid-5.46.0.tar.xz";
     };
   };
   sonnet = {
-    version = "5.43.0";
+    version = "5.46.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.43/sonnet-5.43.0.tar.xz";
-      sha256 = "0i5vxaw124093fi7fi8gjyi08xgxpkpb68lrpsxqdikadvx6nwaa";
-      name = "sonnet-5.43.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.46/sonnet-5.46.0.tar.xz";
+      sha256 = "13jmyiqfwcc7r5y2mb2hwwnn28bq1l0pjlfv8g963r0agzyap424";
+      name = "sonnet-5.46.0.tar.xz";
     };
   };
   syntax-highlighting = {
-    version = "5.43.0";
+    version = "5.46.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.43/syntax-highlighting-5.43.0.tar.xz";
-      sha256 = "0a1xrpk3wavcq6d3cld33l05g5xlhz635vwcc6i1092gsgdns7k1";
-      name = "syntax-highlighting-5.43.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.46/syntax-highlighting-5.46.0.tar.xz";
+      sha256 = "18b7v6l3ckqkhp5mxpfvyzl89yl3w9hcqbvfvbzzr9pd0lg09xxx";
+      name = "syntax-highlighting-5.46.0.tar.xz";
     };
   };
   threadweaver = {
-    version = "5.43.0";
+    version = "5.46.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.43/threadweaver-5.43.0.tar.xz";
-      sha256 = "0mmnf6lirvqwlrijpn5vqd8l9pk74dpsbr81y6kyfmx31mj36jjx";
-      name = "threadweaver-5.43.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.46/threadweaver-5.46.0.tar.xz";
+      sha256 = "0zndyxj3kkxs4mlznykf3lm5bq3mmwanxd80pb7y0rymnzsd2n7q";
+      name = "threadweaver-5.46.0.tar.xz";
     };
   };
 }
diff --git a/pkgs/development/libraries/kerberos/heimdal-make-missing-headers.patch b/pkgs/development/libraries/kerberos/heimdal-make-missing-headers.patch
new file mode 100644
index 00000000000..a0fa625538b
--- /dev/null
+++ b/pkgs/development/libraries/kerberos/heimdal-make-missing-headers.patch
@@ -0,0 +1,10 @@
+--- a/lib/hx509/Makefile.am 2018-03-21 15:41:38.622968809 +0100
++++ b/lib/hx509/Makefile.am 2018-03-21 15:41:32.655162197 +0100
+@@ -9,6 +9,8 @@
+	sel-gram.h			\
+	$(gen_files_ocsp:.x=.c)		\
+	$(gen_files_pkcs10:.x=.c)	\
++	ocsp_asn1.h			\
++	pkcs10_asn1.h			\
+	hx509_err.c			\
+	hx509_err.h
diff --git a/pkgs/development/libraries/kerberos/heimdal.nix b/pkgs/development/libraries/kerberos/heimdal.nix
index 81f878daaaa..b72a00d242e 100644
--- a/pkgs/development/libraries/kerberos/heimdal.nix
+++ b/pkgs/development/libraries/kerberos/heimdal.nix
@@ -12,15 +12,17 @@ in
 with stdenv.lib;
 stdenv.mkDerivation rec {
   name = "${type}heimdal-${version}";
-  version = "7.4.0";
+  version = "7.5.0";
 
   src = fetchFromGitHub {
     owner = "heimdal";
     repo = "heimdal";
     rev = "heimdal-${version}";
-    sha256 = "01ch6kqjrxi9fki54yjj2fhxhdkxijz161w2inh5k8mcixlf67vp";
+    sha256 = "1j38wjj4k0q8vx168k3d3k0fwa8j1q5q8f2688nnx1b9qgjd6w1d";
   };
 
+  patches = [ ./heimdal-make-missing-headers.patch ];
+
   nativeBuildInputs = [ autoreconfHook pkgconfig python2 perl yacc flex ]
     ++ (with perlPackages; [ JSON ])
     ++ optional (!libOnly) texinfo;
@@ -44,6 +46,10 @@ stdenv.mkDerivation rec {
     "--with-capng"
   ];
 
+  postUnpack = ''
+    sed -i '/^DEFAULT_INCLUDES/ s,$, -I..,' source/cf/Makefile.am.common
+  '';
+
   buildPhase = optionalString libOnly ''
     (cd include; make -j $NIX_BUILD_CORES)
     (cd lib; make -j $NIX_BUILD_CORES)
diff --git a/pkgs/development/libraries/kerberos/krb5.nix b/pkgs/development/libraries/kerberos/krb5.nix
index 98073b7bbdc..d705aa3388f 100644
--- a/pkgs/development/libraries/kerberos/krb5.nix
+++ b/pkgs/development/libraries/kerberos/krb5.nix
@@ -62,6 +62,7 @@ stdenv.mkDerivation rec {
   '';
 
   enableParallelBuilding = true;
+  doCheck = false; # fails with "No suitable file for testing purposes"
 
   meta = {
     description = "MIT Kerberos 5";
diff --git a/pkgs/development/libraries/kirigami/default.nix b/pkgs/development/libraries/kirigami/default.nix
deleted file mode 100644
index 1127f3e197d..00000000000
--- a/pkgs/development/libraries/kirigami/default.nix
+++ /dev/null
@@ -1,47 +0,0 @@
-{ stdenv, fetchurl, cmake, extra-cmake-modules, pkgconfig
-, plasma-framework, qtbase, qttranslations
-, qtquickcontrols ? null
-, qtquickcontrols2 ? null }:
-
-let
-  pname = "kirigami";
-
-  generic = { name, version, sha256, qtqc, broken }:
-  stdenv.mkDerivation rec {
-    inherit name version;
-
-    src = fetchurl {
-      url = "mirror://kde/stable/${pname}/${name}.tar.xz";
-      inherit sha256;
-    };
-
-    buildInputs = [ plasma-framework qtbase qtqc qttranslations ];
-
-    nativeBuildInputs = [ cmake pkgconfig extra-cmake-modules ];
-
-    meta = with stdenv.lib; {
-      license     = licenses.lgpl2;
-      homepage    = http://www.kde.org;
-      maintainers = with maintainers; [ ttuegel peterhoeg ];
-      platforms   = platforms.unix;
-      inherit broken;
-    };
-  };
-
-in {
-  kirigami_1 = generic rec {
-    name    = "${pname}-${version}";
-    version = "1.1.0";
-    sha256  = "1p9ydggwbyfdgwmvyc8004sk9mfshlg9b83lzvz9qk3a906ayxv6";
-    qtqc    = qtquickcontrols;
-    broken  = false;
-  };
-
-  kirigami_2 = generic rec {
-    name    = "${pname}2-${version}";
-    version = "2.1.0";
-    sha256  = "0d79h10jzv9z7xzap4k9vbw6p9as8vdkz3x6xlzx407i9sbzyi77";
-    qtqc    = qtquickcontrols2;
-    broken  = builtins.compareVersions qtbase.version "5.7.0" < 0;
-  };
-}
diff --git a/pkgs/development/libraries/kpmcore/default.nix b/pkgs/development/libraries/kpmcore/default.nix
index 8532a8880ce..c6c3ba53d2c 100644
--- a/pkgs/development/libraries/kpmcore/default.nix
+++ b/pkgs/development/libraries/kpmcore/default.nix
@@ -1,26 +1,28 @@
 { stdenv, lib, fetchurl, extra-cmake-modules, pkgconfig
 , qtbase, kdeFrameworks
-, eject, libatasmart, parted }:
+, libatasmart, parted
+, utillinux }:
 
 let
   pname = "kpmcore";
 
 in stdenv.mkDerivation rec {
   name = "${pname}-${version}";
-  version = "3.0.3";
+  version = "3.3.0";
 
   src = fetchurl {
     url = "mirror://kde/stable/${pname}/${version}/src/${name}.tar.xz";
-    sha256 = "17lqrp39w31fm7haigwq23cp92zwk3czjzqa2fhn3wafx3vafwd2";
+    sha256 = "0s6v0jfrhjg31ri5p6h9n4w29jvasf5dj954j3vfpzl91lygmmmq";
   };
 
   buildInputs = [
     qtbase
-    eject # this is to get libblkid
     libatasmart
     parted # we only need the library
 
     kdeFrameworks.kio
+
+    utillinux # needs blkid (note that this is not provided by utillinux-compat)
   ];
   nativeBuildInputs = [ extra-cmake-modules ];
   enableParallelBuilding = true;
diff --git a/pkgs/development/libraries/kproperty/default.nix b/pkgs/development/libraries/kproperty/default.nix
index 52b5d944b41..455fb5a711c 100644
--- a/pkgs/development/libraries/kproperty/default.nix
+++ b/pkgs/development/libraries/kproperty/default.nix
@@ -1,22 +1,23 @@
 {
   mkDerivation, lib, fetchurl,
   extra-cmake-modules,
-  qtbase, kconfig, kcoreaddons, kwidgetsaddons, kguiaddons
+  qtbase, kconfig, kcoreaddons, kwidgetsaddons, kguiaddons,
+  qttools
 }:
 
 mkDerivation rec {
   pname = "kproperty";
-  version = "3.0.2";
+  version = "3.1.0";
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://kde/stable/${pname}/src/${name}.tar.xz";
-    sha256 = "1hzkvdap7dzpnxlp4rfg5f24fhqjpqm2hlvv88gj4c0scbp73ynm";
+    sha256 = "18qlwp7ajpx16bd0lfzqfx8y9cbrs8k4nax3cr30wj5sd3l8xpky";
   };
 
   nativeBuildInputs = [ extra-cmake-modules ];
 
-  buildInputs = [ kconfig kcoreaddons kwidgetsaddons kguiaddons ];
+  buildInputs = [ kconfig kcoreaddons kwidgetsaddons kguiaddons qttools ];
 
   propagatedBuildInputs = [ qtbase ];
 
diff --git a/pkgs/development/libraries/kreport/default.nix b/pkgs/development/libraries/kreport/default.nix
index 561e964c961..3f44dbb9c13 100644
--- a/pkgs/development/libraries/kreport/default.nix
+++ b/pkgs/development/libraries/kreport/default.nix
@@ -6,12 +6,12 @@
 
 mkDerivation rec {
   pname = "kreport";
-  version = "3.0.2";
+  version = "3.1.0";
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://kde/stable/${pname}/src/${name}.tar.xz";
-    sha256 = "1zd3vhf26cyp8xrq11awm9pmhnk88ppyc0riyr0gxj8y703ahkp0";
+    sha256 = "0v7krpfx0isij9wzwam28fqn039i4wcznbplvnvl6hsykdi8ar1v";
   };
 
   nativeBuildInputs = [ extra-cmake-modules ];
diff --git a/pkgs/development/libraries/languagemachines/frog.nix b/pkgs/development/libraries/languagemachines/frog.nix
index 725bc714db2..1a73a46d287 100644
--- a/pkgs/development/libraries/languagemachines/frog.nix
+++ b/pkgs/development/libraries/languagemachines/frog.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl
-, automake, autoconf, libtool, pkgconfig, autoconf-archive
+, automake, autoconf, bzip2, libtar, libtool, pkgconfig, autoconf-archive
 , libxml2, icu
 , languageMachines
 }:
@@ -14,7 +14,7 @@ stdenv.mkDerivation {
   src = fetchurl { inherit (release) url sha256;
                    name = "frog-${release.version}.tar.gz"; };
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ automake autoconf libtool autoconf-archive
+  buildInputs = [ automake autoconf bzip2 libtar libtool autoconf-archive
                   libxml2 icu
                   languageMachines.ticcutils
                   languageMachines.timbl
diff --git a/pkgs/development/libraries/languagemachines/libfolia.nix b/pkgs/development/libraries/languagemachines/libfolia.nix
index d5c232ae776..a6f5adb9559 100644
--- a/pkgs/development/libraries/languagemachines/libfolia.nix
+++ b/pkgs/development/libraries/languagemachines/libfolia.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchurl
 , automake, autoconf, libtool, pkgconfig, autoconf-archive
-, libxml2, icu
+, libxml2, icu, bzip2, libtar
 , languageMachines }:
 
 let
@@ -13,7 +13,7 @@ stdenv.mkDerivation {
   src = fetchurl { inherit (release) url sha256;
                    name = "libfolia-${release.version}.tar.gz"; };
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ automake autoconf libtool autoconf-archive libxml2 icu languageMachines.ticcutils ];
+  buildInputs = [ automake autoconf bzip2 libtool autoconf-archive libtar libxml2 icu languageMachines.ticcutils ];
   preConfigure = "sh bootstrap.sh";
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/libraries/languagemachines/mbt.nix b/pkgs/development/libraries/languagemachines/mbt.nix
index 2ffabac1ede..3bc78a96a06 100644
--- a/pkgs/development/libraries/languagemachines/mbt.nix
+++ b/pkgs/development/libraries/languagemachines/mbt.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl
-, automake, autoconf, libtool, pkgconfig, autoconf-archive
+, automake, autoconf, bzip2, libtar, libtool, pkgconfig, autoconf-archive
 , libxml2
 , languageMachines
 }:
@@ -14,7 +14,7 @@ stdenv.mkDerivation {
   src = fetchurl { inherit (release) url sha256;
                    name = "mbt-${release.version}.tar.gz"; };
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ automake autoconf libtool autoconf-archive
+  buildInputs = [ automake autoconf bzip2 libtar libtool autoconf-archive
                   libxml2
                   languageMachines.ticcutils
                   languageMachines.timbl
diff --git a/pkgs/development/libraries/languagemachines/timbl.nix b/pkgs/development/libraries/languagemachines/timbl.nix
index d12c970d4dc..3ab38a9e84a 100644
--- a/pkgs/development/libraries/languagemachines/timbl.nix
+++ b/pkgs/development/libraries/languagemachines/timbl.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchurl
 , automake, autoconf, libtool, pkgconfig, autoconf-archive
-, libxml2
+, libxml2, bzip2, libtar
 , languageMachines
 }:
 
@@ -14,7 +14,7 @@ stdenv.mkDerivation {
   src = fetchurl { inherit (release) url sha256;
                    name = "timbl-${release.version}.tar.gz"; };
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ automake autoconf libtool autoconf-archive
+  buildInputs = [ automake autoconf bzip2 libtar libtool autoconf-archive
                   libxml2
                   languageMachines.ticcutils
                 ];
diff --git a/pkgs/development/libraries/languagemachines/timblserver.nix b/pkgs/development/libraries/languagemachines/timblserver.nix
index 7a07e9f33a8..ee1579540c3 100644
--- a/pkgs/development/libraries/languagemachines/timblserver.nix
+++ b/pkgs/development/libraries/languagemachines/timblserver.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl
-, automake, autoconf, libtool, pkgconfig, autoconf-archive
+, automake, autoconf, bzip2, libtar, libtool, pkgconfig, autoconf-archive
 , libxml2
 , languageMachines
 }:
@@ -14,7 +14,7 @@ stdenv.mkDerivation {
   src = fetchurl { inherit (release) url sha256;
                    name = "timblserver-${release.version}.tar.gz"; };
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ automake autoconf libtool autoconf-archive
+  buildInputs = [ automake autoconf bzip2 libtar libtool autoconf-archive
                   libxml2
                   languageMachines.ticcutils
                   languageMachines.timbl
diff --git a/pkgs/development/libraries/languagemachines/ucto.nix b/pkgs/development/libraries/languagemachines/ucto.nix
index 5c12a2142cc..8f917c2265d 100644
--- a/pkgs/development/libraries/languagemachines/ucto.nix
+++ b/pkgs/development/libraries/languagemachines/ucto.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchurl
 , automake, autoconf, libtool, pkgconfig, autoconf-archive
-, libxml2, icu
+, libxml2, icu, bzip2, libtar
 , languageMachines
 }:
 
@@ -14,8 +14,8 @@ stdenv.mkDerivation {
   src = fetchurl { inherit (release) url sha256;
                    name = "ucto-${release.version}.tar.gz"; };
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ automake autoconf libtool autoconf-archive
-                  icu libxml2
+  buildInputs = [ automake autoconf bzip2 libtool autoconf-archive
+                  icu libtar libxml2
                   languageMachines.ticcutils
                   languageMachines.libfolia
                   languageMachines.uctodata
diff --git a/pkgs/development/libraries/lcms/default.nix b/pkgs/development/libraries/lcms/default.nix
index 3e4f0d4265f..63c81822ddf 100644
--- a/pkgs/development/libraries/lcms/default.nix
+++ b/pkgs/development/libraries/lcms/default.nix
@@ -12,6 +12,8 @@ stdenv.mkDerivation {
 
   outputs = [ "bin" "dev" "out" "man" ];
 
+  doCheck = false; # fails with "Error in Linear interpolation (2p): Must be i=8000, But is n=8001"
+
   meta = {
     description = "Color management engine";
     homepage = http://www.littlecms.com/;
diff --git a/pkgs/development/libraries/lcms2/default.nix b/pkgs/development/libraries/lcms2/default.nix
index 6fde8305da5..5d307dcfa7a 100644
--- a/pkgs/development/libraries/lcms2/default.nix
+++ b/pkgs/development/libraries/lcms2/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, libtiff, libjpeg, zlib }:
 
 stdenv.mkDerivation rec {
-  name = "lcms2-2.8";
+  name = "lcms2-2.9";
 
   src = fetchurl {
     url = "mirror://sourceforge/lcms/${name}.tar.gz";
-    sha256 = "08pvl289g0mbznzx5l6ibhaldsgx41kwvdn2c974ga9fkli2pl36";
+    sha256 = "083xisy6z01zhm7p7rgk4bx9d6zlr8l20qkfv1g29ylnhgwzvij8";
   };
 
   outputs = [ "bin" "dev" "out" ];
diff --git a/pkgs/development/libraries/ldb/default.nix b/pkgs/development/libraries/ldb/default.nix
index 4f2785675f0..356433b54eb 100644
--- a/pkgs/development/libraries/ldb/default.nix
+++ b/pkgs/development/libraries/ldb/default.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchurl, python, pkgconfig, readline, tdb, talloc, tevent
-, popt, libxslt, docbook_xsl, docbook_xml_dtd_42
+, popt, libxslt, docbook_xsl, docbook_xml_dtd_42, cmocka
 }:
 
 stdenv.mkDerivation rec {
-  name = "ldb-1.1.27";
+  name = "ldb-1.3.3";
 
   src = fetchurl {
     url = "mirror://samba/ldb/${name}.tar.gz";
-    sha256 = "1b1mkl5p8swb67s9aswavhzswlib34hpgsv66zgns009paf2df6d";
+    sha256 = "14gsrm7dvyjpbpnc60z75j6fz2p187abm2h353lq95kx2bv70c1b"                                                                                                                                                             ;
   };
 
   outputs = [ "out" "dev" ];
@@ -16,6 +16,7 @@ stdenv.mkDerivation rec {
   buildInputs = [
     python readline tdb talloc tevent popt
     libxslt docbook_xsl docbook_xml_dtd_42
+    cmocka
   ];
 
   preConfigure = ''
diff --git a/pkgs/development/libraries/ldns/default.nix b/pkgs/development/libraries/ldns/default.nix
index 6c2a8f84d23..e9d81d3ab78 100644
--- a/pkgs/development/libraries/ldns/default.nix
+++ b/pkgs/development/libraries/ldns/default.nix
@@ -40,6 +40,9 @@ stdenv.mkDerivation rec {
     "--with-trust-anchor=${dns-root-data}/root.key"
     "--with-drill"
     "--disable-gost"
+  ] ++ stdenv.lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [
+    "ac_cv_func_malloc_0_nonnull=yes"
+    "ac_cv_func_realloc_0_nonnull=yes"
   ];
 
   postInstall = ''
diff --git a/pkgs/development/libraries/leatherman/default.nix b/pkgs/development/libraries/leatherman/default.nix
index 44d527e1304..7b6834166d8 100644
--- a/pkgs/development/libraries/leatherman/default.nix
+++ b/pkgs/development/libraries/leatherman/default.nix
@@ -2,10 +2,10 @@
 
 stdenv.mkDerivation rec {
   name = "leatherman-${version}";
-  version = "1.4.0";
+  version = "1.4.1";
 
   src = fetchFromGitHub {
-    sha256 = "0whlyzz0imv4lm69xkwhcd6jzh3s0rzlqjmwimbqz96p4771ivpd";
+    sha256 = "0n516gqv501ymj99bickbr2cbhr109azh9hc1hn7flbcjzz3aljc";
     rev = version;
     repo = "leatherman";
     owner = "puppetlabs";
diff --git a/pkgs/development/libraries/leveldb/default.nix b/pkgs/development/libraries/leveldb/default.nix
index 3ff2ca0b0ee..2b50c09af5c 100644
--- a/pkgs/development/libraries/leveldb/default.nix
+++ b/pkgs/development/libraries/leveldb/default.nix
@@ -15,7 +15,12 @@ stdenv.mkDerivation rec {
     make all leveldbutil libmemenv.a
   '';
 
-  installPhase = "
+  installPhase = (stdenv.lib.optionalString stdenv.isDarwin ''
+    for file in *.dylib*; do
+      install_name_tool -id $out/lib/$file $file
+    done
+  '') + # XXX consider removing above after transition to cmake in the next release
+  "
     mkdir -p $out/{bin,lib,include}
 
     cp -r include $out
diff --git a/pkgs/development/libraries/libLAS/default.nix b/pkgs/development/libraries/libLAS/default.nix
index 20531adcd1c..1e7720b0656 100644
--- a/pkgs/development/libraries/libLAS/default.nix
+++ b/pkgs/development/libraries/libLAS/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, boost, cmake, gdal, libgeotiff, libtiff, LASzip }:
+{ stdenv, fetchurl, boost, cmake, gdal, libgeotiff, libtiff, LASzip, fixDarwinDylibNames }:
 
 stdenv.mkDerivation rec {
   name = "libLAS-1.8.1";
@@ -9,14 +9,24 @@ stdenv.mkDerivation rec {
     sha256 = "0xjfxb3ydvr2258ji3spzyf81g9caap19ql2pk91wiivqsc4mnws";
   };
 
-  buildInputs = [ boost cmake gdal libgeotiff libtiff LASzip ];
+  buildInputs = [ boost cmake gdal libgeotiff libtiff LASzip ]
+                ++ stdenv.lib.optional stdenv.isDarwin fixDarwinDylibNames;
 
+  cmakeFlags = [
+    "-DGDAL_CONFIG=${gdal}/bin/gdal-config"
+    "-DWITH_LASZIP=ON"
+    "-DLASZIP_INCLUDE_DIR=${LASzip}/include"
+  ];
+
+  postFixup = stdenv.lib.optionalString stdenv.isDarwin ''
+    install_name_tool -change "@rpath/liblas.3.dylib" "$out/lib/liblas.3.dylib" $out/lib/liblas_c.dylib
+  '';
 
   meta = {
     description = "LAS 1.0/1.1/1.2 ASPRS LiDAR data translation toolset";
-    homepage = http://www.liblas.org;
+    homepage = https://www.liblas.org;
     license = stdenv.lib.licenses.bsd3;
-    platforms = stdenv.lib.platforms.linux;
+    platforms = stdenv.lib.platforms.unix;
     maintainers = [ stdenv.lib.maintainers.michelk ];
   };
 }
diff --git a/pkgs/development/libraries/libamqpcpp/default.nix b/pkgs/development/libraries/libamqpcpp/default.nix
index 421c73cbb05..85972e67e10 100644
--- a/pkgs/development/libraries/libamqpcpp/default.nix
+++ b/pkgs/development/libraries/libamqpcpp/default.nix
@@ -1,16 +1,18 @@
-{ stdenv, fetchFromGitHub }:
+{ stdenv, fetchFromGitHub, openssl }:
 
 stdenv.mkDerivation rec {
   name = "libamqpcpp-${version}";
-  version = "2.7.4";
+  version = "3.0.0";
 
   src = fetchFromGitHub {
     owner = "CopernicaMarketingSoftware";
     repo = "AMQP-CPP";
     rev = "v${version}";
-    sha256 = "0m010bz0axawcpv4d1p1vx7c6r8lg27w2s2vjqpbpg99w35n6c8k";
+    sha256 = "0n93wy2v2hx9zalpyn8zxsxihh0xpgcd472qwvwsc253y97v8ngv";
   };
 
+  buildInputs = [ openssl ];
+
   patches = [ ./libamqpcpp-darwin.patch ];
 
   makeFlags = [ "PREFIX=$(out)" ];
diff --git a/pkgs/development/libraries/libaom/default.nix b/pkgs/development/libraries/libaom/default.nix
new file mode 100644
index 00000000000..d11bec2cb4f
--- /dev/null
+++ b/pkgs/development/libraries/libaom/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, fetchgit, yasm, perl, cmake,  pkgconfig }:
+
+stdenv.mkDerivation rec {
+  name = "libaom-0.1.0";
+
+  src = fetchgit {
+    url = "https://aomedia.googlesource.com/aom";
+    rev	= "105e9b195bb90c9b06edcbcb13b6232dab6db0b7";
+    sha256 = "1fl2sca4df01gyn00s0xcwwirxccfnjppvjdrxdnb8f2naj721by";
+  };
+
+  buildInputs = [ perl yasm  ];
+  nativeBuildInputs = [ cmake pkgconfig ];
+
+  cmakeFlags = [
+    "-DCONFIG_UNIT_TESTS=0"
+  ];
+
+  meta = with stdenv.lib; {
+    description = "AV1 Bitstream and Decoding Library";
+    homepage    = https://aomedia.org/av1-features/get-started/;
+    maintainers = with maintainers; [ kiloreux ];
+    platforms   = platforms.all;
+  };
+}
\ No newline at end of file
diff --git a/pkgs/development/libraries/libappindicator/default.nix b/pkgs/development/libraries/libappindicator/default.nix
index 6c87588fd3d..71c388be6ea 100644
--- a/pkgs/development/libraries/libappindicator/default.nix
+++ b/pkgs/development/libraries/libappindicator/default.nix
@@ -2,7 +2,7 @@
 
 { stdenv, fetchurl, lib, file
 , pkgconfig, autoconf
-, glib, dbus-glib, gtkVersion
+, glib, dbus-glib, gtkVersion ? "3"
 , gtk2 ? null, libindicator-gtk2 ? null, libdbusmenu-gtk2 ? null
 , gtk3 ? null, libindicator-gtk3 ? null, libdbusmenu-gtk3 ? null
 , python2Packages, gobjectIntrospection, vala
diff --git a/pkgs/development/libraries/libarchive/default.nix b/pkgs/development/libraries/libarchive/default.nix
index e0242802fd3..9a9c3b1fa64 100644
--- a/pkgs/development/libraries/libarchive/default.nix
+++ b/pkgs/development/libraries/libarchive/default.nix
@@ -38,6 +38,8 @@ stdenv.mkDerivation rec {
     echo "#include <windows.h>" >> config.h
   '' else null;
 
+  doCheck = false; # fails
+
   preFixup = ''
     sed -i $lib/lib/libarchive.la \
       -e 's|-lcrypto|-L${openssl.out}/lib -lcrypto|' \
diff --git a/pkgs/development/libraries/libassuan/default.nix b/pkgs/development/libraries/libassuan/default.nix
index 827d3de79ea..91ceb959779 100644
--- a/pkgs/development/libraries/libassuan/default.nix
+++ b/pkgs/development/libraries/libassuan/default.nix
@@ -11,8 +11,7 @@ stdenv.mkDerivation rec {
   outputs = [ "out" "dev" "info" ];
   outputBin = "dev"; # libassuan-config
 
-  buildInputs = [ libgpgerror pth ]
-    ++ stdenv.lib.optional stdenv.isDarwin gettext;
+  buildInputs = [ libgpgerror pth gettext];
 
   doCheck = true;
 
diff --git a/pkgs/development/libraries/libatomic_ops/default.nix b/pkgs/development/libraries/libatomic_ops/default.nix
index 714e9361440..fde8a06eb41 100644
--- a/pkgs/development/libraries/libatomic_ops/default.nix
+++ b/pkgs/development/libraries/libatomic_ops/default.nix
@@ -2,18 +2,17 @@
 
 stdenv.mkDerivation rec {
   name = "libatomic_ops-${version}";
-  version = "7.6.2";
+  version = "7.6.4";
 
   src = fetchurl {
     urls = [
       "http://www.ivmaisoft.com/_bin/atomic_ops/libatomic_ops-${version}.tar.gz"
       "https://github.com/ivmai/libatomic_ops/releases/download/v${version}/libatomic_ops-${version}.tar.gz"
     ];
-    sha256 ="1rif2hjscq5mh639nsnjhb90c01gnmy1sbmj6x6hsn1xmpnj95r1";
+    sha256 = "0knxncsjhbknlyy6lx7ycxhpzfk3sykhvicgxyp0rmsxd1d3v0jv";
   };
 
-  # https://github.com/ivmai/libatomic_ops/pull/32
-  patches = if hostPlatform.isRiscV then [ ./riscv.patch ] else null;
+  outputs = [ "out" "dev" "doc" ];
 
   nativeBuildInputs = stdenv.lib.optionals stdenv.isCygwin [ autoconf automake libtool ];
 
@@ -26,6 +25,6 @@ stdenv.mkDerivation rec {
     description = ''A library for semi-portable access to hardware-provided atomic memory update operations'';
     license = stdenv.lib.licenses.gpl2Plus ;
     maintainers = [stdenv.lib.maintainers.raskin];
-    platforms = stdenv.lib.platforms.unix;
+    platforms = with stdenv.lib.platforms; unix ++ windows;
   };
 }
diff --git a/pkgs/development/libraries/libatomic_ops/riscv.patch b/pkgs/development/libraries/libatomic_ops/riscv.patch
deleted file mode 100644
index 27f2408c34c..00000000000
--- a/pkgs/development/libraries/libatomic_ops/riscv.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-diff -Naur libatomic_ops-7.6.2-orig/src/atomic_ops/sysdeps/gcc/riscv.h libatomic_ops-7.6.2/src/atomic_ops/sysdeps/gcc/riscv.h
---- libatomic_ops-7.6.2-orig/src/atomic_ops/sysdeps/gcc/riscv.h	1969-12-31 19:00:00.000000000 -0500
-+++ libatomic_ops-7.6.2/src/atomic_ops/sysdeps/gcc/riscv.h	2018-02-18 00:48:53.581721375 -0500
-@@ -0,0 +1 @@
-+#include "generic.h"
-diff -Naur libatomic_ops-7.6.2-orig/src/atomic_ops.h libatomic_ops-7.6.2/src/atomic_ops.h
---- libatomic_ops-7.6.2-orig/src/atomic_ops.h	2017-12-24 03:31:12.000000000 -0500
-+++ libatomic_ops-7.6.2/src/atomic_ops.h	2018-02-18 00:48:53.580721359 -0500
-@@ -352,6 +352,9 @@
- # if defined(__tile__)
- #   include "atomic_ops/sysdeps/gcc/tile.h"
- # endif
-+# if defined(__riscv)
-+#   include "atomic_ops/sysdeps/gcc/riscv.h"
-+# endif
- #endif /* __GNUC__ && !AO_USE_PTHREAD_DEFS */
- 
- #if (defined(__IBMC__) || defined(__IBMCPP__)) && !defined(__GNUC__) \
-diff -Naur libatomic_ops-7.6.2-orig/src/Makefile.am libatomic_ops-7.6.2/src/Makefile.am
---- libatomic_ops-7.6.2-orig/src/Makefile.am	2017-12-24 03:31:12.000000000 -0500
-+++ libatomic_ops-7.6.2/src/Makefile.am	2018-02-18 00:48:53.579721342 -0500
-@@ -92,6 +92,7 @@
-           atomic_ops/sysdeps/gcc/mips.h \
-           atomic_ops/sysdeps/gcc/nios2.h \
-           atomic_ops/sysdeps/gcc/powerpc.h \
-+          atomic_ops/sysdeps/gcc/riscv.h \
-           atomic_ops/sysdeps/gcc/s390.h \
-           atomic_ops/sysdeps/gcc/sh.h \
-           atomic_ops/sysdeps/gcc/sparc.h \
-diff -Naur libatomic_ops-7.6.2-orig/src/Makefile.in libatomic_ops-7.6.2/src/Makefile.in
---- libatomic_ops-7.6.2-orig/src/Makefile.in	2017-12-24 03:32:23.000000000 -0500
-+++ libatomic_ops-7.6.2/src/Makefile.in	2018-02-18 00:49:14.005062121 -0500
-@@ -446,6 +446,7 @@
-           atomic_ops/sysdeps/gcc/mips.h \
-           atomic_ops/sysdeps/gcc/nios2.h \
-           atomic_ops/sysdeps/gcc/powerpc.h \
-+          atomic_ops/sysdeps/gcc/riscv.h \
-           atomic_ops/sysdeps/gcc/s390.h \
-           atomic_ops/sysdeps/gcc/sh.h \
-           atomic_ops/sysdeps/gcc/sparc.h \
diff --git a/pkgs/development/libraries/libaudclient/default.nix b/pkgs/development/libraries/libaudclient/default.nix
index b81eba5252f..aab8fcd4beb 100644
--- a/pkgs/development/libraries/libaudclient/default.nix
+++ b/pkgs/development/libraries/libaudclient/default.nix
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Legacy D-Bus client library for Audacious";
-    homepage = http://audacious-media-player.org/;
+    homepage = https://audacious-media-player.org/;
     license = licenses.bsd2;
     maintainers = with maintainers; [ pSub ];
     platforms = with platforms; unix;
diff --git a/pkgs/development/libraries/libav/default.nix b/pkgs/development/libraries/libav/default.nix
index 1b52d18fd6b..b726d9c2b42 100644
--- a/pkgs/development/libraries/libav/default.nix
+++ b/pkgs/development/libraries/libav/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, yasm, bzip2, zlib, perl
+{ stdenv, fetchurl, pkgconfig, yasm, bzip2, zlib, perl, bash
 , mp3Support    ? true,   lame      ? null
 , speexSupport  ? true,   speex     ? null
 , theoraSupport ? true,   libtheora ? null
@@ -18,7 +18,7 @@
 
 assert faacSupport -> enableUnfree;
 
-let inherit (stdenv.lib) optional optionals hasPrefix; in
+let inherit (stdenv.lib) optional optionals hasPrefix enableFeature; in
 
 /* ToDo:
     - more deps, inspiration: http://packages.ubuntu.com/raring/libav-tools
@@ -45,34 +45,44 @@ let
       ++ optional (vpxSupport && hasPrefix "0.8." version) ./vpxenc-0.8.17-libvpx-1.5.patch
       ;
 
-    preConfigure = "patchShebangs doc/texi2pod.pl";
+    postPatch = ''
+      patchShebangs .
+      # another shebang was hidden in a here document text
+      substituteInPlace ./configure --replace "#! /bin/sh" "#!${bash}/bin/sh"
+    '';
 
-    configureFlags =
-      assert stdenv.lib.all (x: x!=null) buildInputs;
-    [
+    configurePlatforms = [];
+    configureFlags = assert stdenv.lib.all (x: x!=null) buildInputs; [
+      "--arch=${hostPlatform.parsed.cpu.name}"
+      "--target_os=${hostPlatform.parsed.kernel.name}"
       #"--enable-postproc" # it's now a separate package in upstream
       "--disable-avserver" # upstream says it's in a bad state
       "--enable-avplay"
       "--enable-shared"
       "--enable-runtime-cpudetect"
       "--cc=cc"
-    ]
-      ++ optionals enableGPL [ "--enable-gpl" "--enable-swscale" ]
-      ++ optional mp3Support "--enable-libmp3lame"
-      ++ optional speexSupport "--enable-libspeex"
-      ++ optional theoraSupport "--enable-libtheora"
-      ++ optional vorbisSupport "--enable-libvorbis"
-      ++ optional vpxSupport "--enable-libvpx"
-      ++ optional x264Support "--enable-libx264"
-      ++ optional xvidSupport "--enable-libxvid"
-      ++ optional faacSupport "--enable-libfaac --enable-nonfree"
-      ++ optional vaapiSupport "--enable-vaapi"
-      ++ optional vdpauSupport "--enable-vdpau"
-      ++ optional freetypeSupport "--enable-libfreetype"
-      ;
-
-  nativeBuildInputs = [ pkgconfig ];
-    buildInputs = [ lame yasm zlib bzip2 SDL ]
+      (enableFeature enableGPL "gpl")
+      (enableFeature enableGPL "swscale")
+      (enableFeature mp3Support "libmp3lame")
+      (enableFeature mp3Support "libmp3lame")
+      (enableFeature speexSupport "libspeex")
+      (enableFeature theoraSupport "libtheora")
+      (enableFeature vorbisSupport "libvorbis")
+      (enableFeature vpxSupport "libvpx")
+      (enableFeature x264Support "libx264")
+      (enableFeature xvidSupport "libxvid")
+      (enableFeature faacSupport "libfaac")
+      (enableFeature faacSupport "nonfree")
+      (enableFeature vaapiSupport "vaapi")
+      (enableFeature vdpauSupport "vdpau")
+      (enableFeature freetypeSupport "libfreetype")
+    ] ++ optional (stdenv.hostPlatform != stdenv.buildPlatform) [
+      "--cross-prefix=${stdenv.cc.targetPrefix}"
+      "--enable-cross-compile"
+    ];
+
+  nativeBuildInputs = [ pkgconfig perl ];
+    buildInputs = [ lame yasm zlib bzip2 SDL bash ]
       ++ [ perl ] # for install-man target
       ++ optional mp3Support lame
       ++ optional speexSupport speex
@@ -95,6 +105,7 @@ let
     # alltools to build smaller tools, incl. aviocat, ismindex, qt-faststart, etc.
     buildFlags = "all alltools install-man";
 
+
     postInstall = ''
       moveToOutput bin "$bin"
       # alltools target compiles an executable in tools/ for every C
@@ -107,16 +118,6 @@ let
     doInstallCheck = false; # fails randomly
     installCheckTarget = "check"; # tests need to be run *after* installation
 
-    crossAttrs = {
-      configurePlatforms = [];
-      configureFlags = configureFlags ++ [
-        "--cross-prefix=${stdenv.cc.targetPrefix}"
-        "--enable-cross-compile"
-        "--target_os=linux"
-        "--arch=${hostPlatform.parsed.cpu.name}"
-        ];
-    };
-
     passthru = { inherit vdpauSupport; };
 
     meta = with stdenv.lib; {
diff --git a/pkgs/development/libraries/libb2/default.nix b/pkgs/development/libraries/libb2/default.nix
index eae08f0071c..58961a18df1 100644
--- a/pkgs/development/libraries/libb2/default.nix
+++ b/pkgs/development/libraries/libb2/default.nix
@@ -1,17 +1,26 @@
-{stdenv, fetchurl}:
-with stdenv; with lib;
-mkDerivation rec {
-  name = "libb2-${meta.version}";
+{ stdenv, hostPlatform, fetchurl, autoconf, automake, libtool }:
+
+stdenv.mkDerivation rec {
+  name = "libb2-${version}";
+  version = "0.98";
 
   src = fetchurl {
     url = "https://blake2.net/${name}.tar.gz";
-    sha256 = "7829c7309347650239c76af7f15d9391af2587b38f0a65c250104a2efef99051";
+    sha256 = "1852gh8wwnsghdb9zhxdhw0173plpqzk684npxbl4bzk1hhzisal";
   };
 
-  configureFlags = [ "--enable-fat=yes" ];
+  preConfigure = ''
+    patchShebangs autogen.sh
+    ./autogen.sh
+  '';
+
+  configureFlags = stdenv.lib.optional hostPlatform.isx86 "--enable-fat=yes";
+
+  nativeBuildInputs = [ autoconf automake libtool ];
+
+  doCheck = true;
 
-  meta = {
-    version = "0.97";
+  meta = with stdenv.lib; {
     description = "The BLAKE2 family of cryptographic hash functions";
     platforms = platforms.all;
     maintainers = with maintainers; [ dfoxfranke ];
diff --git a/pkgs/development/libraries/libbfd/default.nix b/pkgs/development/libraries/libbfd/default.nix
index ac508908e8f..3f244d399f7 100644
--- a/pkgs/development/libraries/libbfd/default.nix
+++ b/pkgs/development/libraries/libbfd/default.nix
@@ -1,17 +1,15 @@
 { stdenv, buildPackages
-, fetchurl, fetchpatch, gnu-config, autoreconfHook264, bison
+, fetchurl, fetchpatch, gnu-config, autoreconfHook264, bison, binutils-unwrapped
 , libiberty, zlib
 }:
 
-let inherit (buildPackages.buildPackages) binutils-raw; in
-
 stdenv.mkDerivation rec {
   name = "libbfd-${version}";
-  inherit (binutils-raw.bintools) version src;
+  inherit (binutils-unwrapped) version src;
 
   outputs = [ "out" "dev" ];
 
-  patches = binutils-raw.bintools.patches ++ [
+  patches = binutils-unwrapped.patches ++ [
     ../../tools/misc/binutils/build-components-separately.patch
     (fetchpatch {
       url = "https://raw.githubusercontent.com/mxe/mxe/e1d4c144ee1994f70f86cf7fd8168fe69bd629c6/src/bfd-1-disable-subdir-doc.patch";
diff --git a/pkgs/development/libraries/libbsd/cdefs.patch b/pkgs/development/libraries/libbsd/cdefs.patch
new file mode 100644
index 00000000000..81822654aeb
--- /dev/null
+++ b/pkgs/development/libraries/libbsd/cdefs.patch
@@ -0,0 +1,222 @@
+From 11ec8f1e5dfa1c10e0c9fb94879b6f5b96ba52dd Mon Sep 17 00:00:00 2001
+From: Guillem Jover <guillem@hadrons.org>
+Date: Tue, 6 Mar 2018 01:41:35 +0100
+Subject: Handle systems missing <sys/cdefs.h>
+
+This is a non-portable header, and we cannot expect it to be provided by
+the system libc (e.g. musl). We just need and rely on declaration that
+we have defined ourselves in our own <bsd/sys/cdefs.h>. So we switch to
+only ever assume that.
+
+Fixes: https://bugs.freedesktop.org/105281
+---
+ include/bsd/libutil.h        | 4 ++++
+ include/bsd/md5.h            | 4 ++++
+ include/bsd/nlist.h          | 4 ++++
+ include/bsd/readpassphrase.h | 4 ++++
+ include/bsd/stdlib.h         | 4 ++++
+ include/bsd/string.h         | 4 ++++
+ include/bsd/stringlist.h     | 5 +++++
+ include/bsd/sys/queue.h      | 4 ++++
+ include/bsd/sys/tree.h       | 4 ++++
+ include/bsd/timeconv.h       | 4 ++++
+ include/bsd/vis.h            | 4 ++++
+ include/bsd/wchar.h          | 4 ++++
+ 12 files changed, 49 insertions(+)
+
+diff --git a/include/bsd/libutil.h b/include/bsd/libutil.h
+index 45b3b15..ccca29a 100644
+--- a/include/bsd/libutil.h
++++ b/include/bsd/libutil.h
+@@ -40,7 +40,11 @@
+ #define LIBBSD_LIBUTIL_H
+ 
+ #include <features.h>
++#ifdef LIBBSD_OVERLAY
+ #include <sys/cdefs.h>
++#else
++#include <bsd/sys/cdefs.h>
++#endif
+ #include <sys/types.h>
+ #include <stdint.h>
+ #include <stdio.h>
+diff --git a/include/bsd/md5.h b/include/bsd/md5.h
+index 5f3ae46..bf36a30 100644
+--- a/include/bsd/md5.h
++++ b/include/bsd/md5.h
+@@ -27,7 +27,11 @@ typedef struct MD5Context {
+ 	uint8_t buffer[MD5_BLOCK_LENGTH];	/* input buffer */
+ } MD5_CTX;
+ 
++#ifdef LIBBSD_OVERLAY
+ #include <sys/cdefs.h>
++#else
++#include <bsd/sys/cdefs.h>
++#endif
+ #include <sys/types.h>
+ 
+ __BEGIN_DECLS
+diff --git a/include/bsd/nlist.h b/include/bsd/nlist.h
+index cb297e8..8767117 100644
+--- a/include/bsd/nlist.h
++++ b/include/bsd/nlist.h
+@@ -27,7 +27,11 @@
+ #ifndef LIBBSD_NLIST_H
+ #define LIBBSD_NLIST_H
+ 
++#ifdef LIBBSD_OVERLAY
+ #include <sys/cdefs.h>
++#else
++#include <bsd/sys/cdefs.h>
++#endif
+ 
+ struct nlist {
+ 	union {
+diff --git a/include/bsd/readpassphrase.h b/include/bsd/readpassphrase.h
+index 14744b8..5eb8021 100644
+--- a/include/bsd/readpassphrase.h
++++ b/include/bsd/readpassphrase.h
+@@ -31,7 +31,11 @@
+ #define RPP_SEVENBIT    0x10		/* Strip the high bit from input. */
+ #define RPP_STDIN       0x20		/* Read from stdin, not /dev/tty */
+ 
++#ifdef LIBBSD_OVERLAY
+ #include <sys/cdefs.h>
++#else
++#include <bsd/sys/cdefs.h>
++#endif
+ #include <sys/types.h>
+ 
+ __BEGIN_DECLS
+diff --git a/include/bsd/stdlib.h b/include/bsd/stdlib.h
+index ebc9638..8d33d1f 100644
+--- a/include/bsd/stdlib.h
++++ b/include/bsd/stdlib.h
+@@ -42,7 +42,11 @@
+ #ifndef LIBBSD_STDLIB_H
+ #define LIBBSD_STDLIB_H
+ 
++#ifdef LIBBSD_OVERLAY
+ #include <sys/cdefs.h>
++#else
++#include <bsd/sys/cdefs.h>
++#endif
+ #include <sys/stat.h>
+ #include <stdint.h>
+ 
+diff --git a/include/bsd/string.h b/include/bsd/string.h
+index 6798bf6..29097f6 100644
+--- a/include/bsd/string.h
++++ b/include/bsd/string.h
+@@ -33,7 +33,11 @@
+ #ifndef LIBBSD_STRING_H
+ #define LIBBSD_STRING_H
+ 
++#ifdef LIBBSD_OVERLAY
+ #include <sys/cdefs.h>
++#else
++#include <bsd/sys/cdefs.h>
++#endif
+ #include <sys/types.h>
+ 
+ __BEGIN_DECLS
+diff --git a/include/bsd/stringlist.h b/include/bsd/stringlist.h
+index ff30cac..dd71496 100644
+--- a/include/bsd/stringlist.h
++++ b/include/bsd/stringlist.h
+@@ -31,7 +31,12 @@
+ 
+ #ifndef LIBBSD_STRINGLIST_H
+ #define LIBBSD_STRINGLIST_H
++
++#ifdef LIBBSD_OVERLAY
+ #include <sys/cdefs.h>
++#else
++#include <bsd/sys/cdefs.h>
++#endif
+ #include <sys/types.h>
+ 
+ /*
+diff --git a/include/bsd/sys/queue.h b/include/bsd/sys/queue.h
+index 4a94ea7..ac00026 100644
+--- a/include/bsd/sys/queue.h
++++ b/include/bsd/sys/queue.h
+@@ -33,7 +33,11 @@
+ #ifndef LIBBSD_SYS_QUEUE_H
+ #define LIBBSD_SYS_QUEUE_H
+ 
++#ifdef LIBBSD_OVERLAY
+ #include <sys/cdefs.h>
++#else
++#include <bsd/sys/cdefs.h>
++#endif
+ 
+ /*
+  * This file defines four types of data structures: singly-linked lists,
+diff --git a/include/bsd/sys/tree.h b/include/bsd/sys/tree.h
+index 628bec0..325b382 100644
+--- a/include/bsd/sys/tree.h
++++ b/include/bsd/sys/tree.h
+@@ -30,7 +30,11 @@
+ #ifndef LIBBSD_SYS_TREE_H
+ #define LIBBSD_SYS_TREE_H
+ 
++#ifdef LIBBSD_OVERLAY
+ #include <sys/cdefs.h>
++#else
++#include <bsd/sys/cdefs.h>
++#endif
+ 
+ /*
+  * This file defines data structures for different types of trees:
+diff --git a/include/bsd/timeconv.h b/include/bsd/timeconv.h
+index e2a2c55..a426bd3 100644
+--- a/include/bsd/timeconv.h
++++ b/include/bsd/timeconv.h
+@@ -41,7 +41,11 @@
+ #ifndef LIBBSD_TIMECONV_H
+ #define LIBBSD_TIMECONV_H
+ 
++#ifdef LIBBSD_OVERLAY
+ #include <sys/cdefs.h>
++#else
++#include <bsd/sys/cdefs.h>
++#endif
+ #include <stdint.h>
+ #include <time.h>
+ 
+diff --git a/include/bsd/vis.h b/include/bsd/vis.h
+index 970dfdd..ab5430c 100644
+--- a/include/bsd/vis.h
++++ b/include/bsd/vis.h
+@@ -72,7 +72,11 @@
+  */
+ #define	UNVIS_END	1	/* no more characters */
+ 
++#ifdef LIBBSD_OVERLAY
+ #include <sys/cdefs.h>
++#else
++#include <bsd/sys/cdefs.h>
++#endif
+ 
+ __BEGIN_DECLS
+ char	*vis(char *, int, int, int);
+diff --git a/include/bsd/wchar.h b/include/bsd/wchar.h
+index 33a500e..7216503 100644
+--- a/include/bsd/wchar.h
++++ b/include/bsd/wchar.h
+@@ -40,7 +40,11 @@
+ #define LIBBSD_WCHAR_H
+ 
+ #include <stddef.h>
++#ifdef LIBBSD_OVERLAY
+ #include <sys/cdefs.h>
++#else
++#include <bsd/sys/cdefs.h>
++#endif
+ #include <sys/types.h>
+ 
+ __BEGIN_DECLS
+-- 
+cgit v1.1
+
diff --git a/pkgs/development/libraries/libbsd/default.nix b/pkgs/development/libraries/libbsd/default.nix
index 0e232a50e94..ff9412ceb58 100644
--- a/pkgs/development/libraries/libbsd/default.nix
+++ b/pkgs/development/libraries/libbsd/default.nix
@@ -13,7 +13,16 @@ stdenv.mkDerivation rec {
   # the configure scripts
   nativeBuildInputs = [ autoreconfHook ];
 
-  patches = stdenv.lib.optionals stdenv.isDarwin [ ./darwin.patch ];
+  patches = stdenv.lib.optional stdenv.isDarwin ./darwin.patch
+    # Suitable for all, but limited to musl to avoid rebuilds
+    ++ stdenv.lib.optionals stdenv.hostPlatform.isMusl [
+      # https://cgit.freedesktop.org/libbsd/commit/?id=1f8a3f7bccfc84b195218ad0086ebd57049c3490
+      ./non-glibc.patch
+      # https://cgit.freedesktop.org/libbsd/commit/?id=11ec8f1e5dfa1c10e0c9fb94879b6f5b96ba52dd
+      ./cdefs.patch
+      # https://cgit.freedesktop.org/libbsd/commit/?id=b20272f5a966333b49fdf2bda797e2a9f0227404
+      ./features.patch
+  ];
 
   meta = with stdenv.lib; {
     description = "Common functions found on BSD systems";
diff --git a/pkgs/development/libraries/libbsd/features.patch b/pkgs/development/libraries/libbsd/features.patch
new file mode 100644
index 00000000000..66bd1e9232b
--- /dev/null
+++ b/pkgs/development/libraries/libbsd/features.patch
@@ -0,0 +1,26 @@
+From b20272f5a966333b49fdf2bda797e2a9f0227404 Mon Sep 17 00:00:00 2001
+From: Guillem Jover <guillem@hadrons.org>
+Date: Tue, 6 Mar 2018 01:42:52 +0100
+Subject: Remove <features.h> inclusion from <bsd/libutil.h>
+
+This is a non-portable header, and we should not assume it is present.
+Let the first system header pull it in if needed.
+---
+ include/bsd/libutil.h | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/include/bsd/libutil.h b/include/bsd/libutil.h
+index ccca29a..e5f148a 100644
+--- a/include/bsd/libutil.h
++++ b/include/bsd/libutil.h
+@@ -39,7 +39,6 @@
+ #ifndef LIBBSD_LIBUTIL_H
+ #define LIBBSD_LIBUTIL_H
+ 
+-#include <features.h>
+ #ifdef LIBBSD_OVERLAY
+ #include <sys/cdefs.h>
+ #else
+-- 
+cgit v1.1
+
diff --git a/pkgs/development/libraries/libbsd/non-glibc.patch b/pkgs/development/libraries/libbsd/non-glibc.patch
new file mode 100644
index 00000000000..f61e0d24294
--- /dev/null
+++ b/pkgs/development/libraries/libbsd/non-glibc.patch
@@ -0,0 +1,74 @@
+From 1f8a3f7bccfc84b195218ad0086ebd57049c3490 Mon Sep 17 00:00:00 2001
+From: Guillem Jover <guillem@hadrons.org>
+Date: Tue, 6 Mar 2018 01:39:45 +0100
+Subject: Fix function declaration protection for glibc already providing them
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+On non-glibc based systems we cannot unconditionally use the
+__GLIBC_PREREQ macro as it gets expanded before evaluation. Instead,
+if it is undefined, define it to 0.
+
+We should also always declare these functions on non-glibc based
+systems. And on systems with a new enough glibc, which provides these
+functions, we should still provide the declarations if _GNU_SOURCE
+is *not* defined.
+
+Reported-by: Jörg Krause <joerg.krause@embedded.rocks>
+---
+ include/bsd/stdlib.h    | 3 ++-
+ include/bsd/string.h    | 3 ++-
+ include/bsd/sys/cdefs.h | 8 ++++++++
+ 3 files changed, 12 insertions(+), 2 deletions(-)
+
+diff --git a/include/bsd/stdlib.h b/include/bsd/stdlib.h
+index 8d33d1f..a5b063c 100644
+--- a/include/bsd/stdlib.h
++++ b/include/bsd/stdlib.h
+@@ -71,7 +71,8 @@ int sradixsort(const unsigned char **base, int nmemb,
+                const unsigned char *table, unsigned endbyte);
+ 
+ void *reallocf(void *ptr, size_t size);
+-#if defined(_GNU_SOURCE) && defined(__GLIBC__) && !__GLIBC_PREREQ(2, 26)
++#if !defined(__GLIBC__) || \
++    (defined(__GLIBC__) && (!__GLIBC_PREREQ(2, 26) || !defined(_GNU_SOURCE)))
+ void *reallocarray(void *ptr, size_t nmemb, size_t size);
+ #endif
+ 
+diff --git a/include/bsd/string.h b/include/bsd/string.h
+index 29097f6..f987fee 100644
+--- a/include/bsd/string.h
++++ b/include/bsd/string.h
+@@ -46,7 +46,8 @@ size_t strlcat(char *dst, const char *src, size_t siz);
+ char *strnstr(const char *str, const char *find, size_t str_len);
+ void strmode(mode_t mode, char *str);
+ 
+-#if defined(_GNU_SOURCE) && defined(__GLIBC__) && !__GLIBC_PREREQ(2, 25)
++#if !defined(__GLIBC__) || \
++    (defined(__GLIBC__) && (!__GLIBC_PREREQ(2, 25) || !defined(_GNU_SOURCE)))
+ void explicit_bzero(void *buf, size_t len);
+ #endif
+ __END_DECLS
+diff --git a/include/bsd/sys/cdefs.h b/include/bsd/sys/cdefs.h
+index b4c8f30..d1cc419 100644
+--- a/include/bsd/sys/cdefs.h
++++ b/include/bsd/sys/cdefs.h
+@@ -59,6 +59,14 @@
+ #endif
+ 
+ /*
++ * On non-glibc based systems, we cannot unconditionally use the
++ * __GLIBC_PREREQ macro as it gets expanded before evaluation.
++ */
++#ifndef __GLIBC_PREREQ
++#define __GLIBC_PREREQ(maj, min) 0
++#endif
++
++/*
+  * Some kFreeBSD headers expect those macros to be set for sanity checks.
+  */
+ #ifndef _SYS_CDEFS_H_
+-- 
+cgit v1.1
+
diff --git a/pkgs/development/libraries/libbson/default.nix b/pkgs/development/libraries/libbson/default.nix
index f3c58baf5a1..6244c3a351e 100644
--- a/pkgs/development/libraries/libbson/default.nix
+++ b/pkgs/development/libraries/libbson/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "libbson-${version}";
-  version = "1.9.2";
+  version = "1.9.5";
 
   src = fetchFromGitHub {
     owner = "mongodb";
     repo = "libbson";
     rev = version;
-    sha256 = "1dlmcqsb43269z4pa3xmqb1gf1jsji82sk5yyibq0ndhk326iyck";
+    sha256 = "16rmzxhhmbvhp4q6qac5j9c74z2pcg5raag5w16mynzikdd2l05b";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/libcanberra/default.nix b/pkgs/development/libraries/libcanberra/default.nix
index 1b2cf4084f9..83f86c40c0d 100644
--- a/pkgs/development/libraries/libcanberra/default.nix
+++ b/pkgs/development/libraries/libcanberra/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, pkgconfig, libtool, gtk ? null, libcap
-, alsaLib, libpulseaudio, gstreamer, gst-plugins-base, libvorbis }:
+, alsaLib, libpulseaudio, gst_all_1, libvorbis }:
 
 stdenv.mkDerivation rec {
   name = "libcanberra-0.30";
@@ -9,11 +9,10 @@ stdenv.mkDerivation rec {
     sha256 = "0wps39h8rx2b00vyvkia5j40fkak3dpipp1kzilqla0cgvk73dn2";
   };
 
-  nativeBuildInputs = [ pkgconfig ];
+  nativeBuildInputs = [ pkgconfig libtool ];
   buildInputs = [
-    libtool alsaLib libpulseaudio libvorbis gtk libcap
-    /*gstreamer gst-plugins-base*/      # ToDo: gstreamer not found (why?), add (g)udev?
-  ];
+    alsaLib libpulseaudio libvorbis gtk libcap
+  ] ++ (with gst_all_1; [ gstreamer gst-plugins-base ]);
 
   configureFlags = "--disable-oss";
 
@@ -43,6 +42,6 @@ stdenv.mkDerivation rec {
     license = stdenv.lib.licenses.lgpl2Plus;
 
     maintainers = [ ];
-    platforms = stdenv.lib.platforms.gnu;  # arbitrary choice
+    platforms = stdenv.lib.platforms.gnu ++ stdenv.lib.platforms.linux;  # arbitrary choice
   };
 }
diff --git a/pkgs/development/libraries/libcddb/default.nix b/pkgs/development/libraries/libcddb/default.nix
index 6a164ef9055..591369df83f 100644
--- a/pkgs/development/libraries/libcddb/default.nix
+++ b/pkgs/development/libraries/libcddb/default.nix
@@ -10,6 +10,8 @@ stdenv.mkDerivation rec {
 
   buildInputs = stdenv.lib.optional stdenv.isDarwin libiconv;
 
+  doCheck = false; # fails 3 of 5 tests with locale errors
+
   meta = with stdenv.lib; {
     description = "C library to access data on a CDDB server (freedb.org)";
     homepage = http://libcddb.sourceforge.net/;
diff --git a/pkgs/development/libraries/libcdio-paranoia/default.nix b/pkgs/development/libraries/libcdio-paranoia/default.nix
index b3aa2b19906..48e632ba52d 100644
--- a/pkgs/development/libraries/libcdio-paranoia/default.nix
+++ b/pkgs/development/libraries/libcdio-paranoia/default.nix
@@ -1,4 +1,5 @@
-{ stdenv, fetchFromGitHub, autoreconfHook, libcdio, pkgconfig }:
+{ stdenv, fetchFromGitHub, autoreconfHook, libcdio, pkgconfig,
+  libiconv, IOKit, DiskArbitration}:
 
 stdenv.mkDerivation {
   name = "libcdio-paranoia-0.94+2";
@@ -11,7 +12,14 @@ stdenv.mkDerivation {
   };
 
   nativeBuildInputs = [ autoreconfHook pkgconfig ];
-  buildInputs = [ libcdio ];
+  buildInputs = [ libcdio ] ++
+    stdenv.lib.optionals stdenv.isDarwin [ libiconv IOKit DiskArbitration ];
+
+  propagatedBuildInputs = stdenv.lib.optional stdenv.isDarwin DiskArbitration;
+
+  configureFlags = stdenv.lib.optionals stdenv.isDarwin [
+    "--disable-ld-version-script"
+  ];
 
   meta = with stdenv.lib; {
     description = "CD paranoia on top of libcdio";
diff --git a/pkgs/development/libraries/libcdio/default.nix b/pkgs/development/libraries/libcdio/default.nix
index 6817d1a888c..bb81721feea 100644
--- a/pkgs/development/libraries/libcdio/default.nix
+++ b/pkgs/development/libraries/libcdio/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, libcddb, pkgconfig, ncurses, help2man, libiconv }:
+{ stdenv, fetchurl, libcddb, pkgconfig, ncurses, help2man, libiconv, Carbon, IOKit }:
 
 stdenv.mkDerivation rec {
   name = "libcdio-2.0.0";
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ libcddb ncurses help2man ]
-    ++ stdenv.lib.optional stdenv.isDarwin libiconv;
+    ++ stdenv.lib.optionals stdenv.isDarwin [ libiconv Carbon IOKit ];
 
   # Disabled due to several spurious test failures.
   # doCheck = true;
diff --git a/pkgs/development/libraries/libcec/platform.nix b/pkgs/development/libraries/libcec/platform.nix
index 228dccea3e3..0005525a7cd 100644
--- a/pkgs/development/libraries/libcec/platform.nix
+++ b/pkgs/development/libraries/libcec/platform.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchurl, cmake }:
 
-let version = "2.0.1"; in
+let version = "2.1.0.1"; in
 
 stdenv.mkDerivation {
   name = "p8-platform-${version}";
 
   src = fetchurl {
     url = "https://github.com/Pulse-Eight/platform/archive/p8-platform-${version}.tar.gz";
-    sha256 = "1kslq24p2zams92kc247qcczbxb2n89ykk9jfyiilmwh7qklazp9";
+    sha256 = "18381y54f7d18ckpzf9cfxbz1ws6imprbbm9pvhcg5c86ln8skq6";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/libchamplain/default.nix b/pkgs/development/libraries/libchamplain/default.nix
index 74e5bbc952a..418e9cf0b57 100644
--- a/pkgs/development/libraries/libchamplain/default.nix
+++ b/pkgs/development/libraries/libchamplain/default.nix
@@ -38,6 +38,6 @@ stdenv.mkDerivation rec {
     '';
 
      maintainers = gnome3.maintainers;
-     platforms = platforms.gnu;  # arbitrary choice
+     platforms = platforms.gnu ++ platforms.linux;  # arbitrary choice
   };
 }
diff --git a/pkgs/development/libraries/libchop/default.nix b/pkgs/development/libraries/libchop/default.nix
index 1be3a74fbff..5790672d8e5 100644
--- a/pkgs/development/libraries/libchop/default.nix
+++ b/pkgs/development/libraries/libchop/default.nix
@@ -50,6 +50,6 @@ stdenv.mkDerivation rec {
     homepage = http://nongnu.org/libchop/;
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ viric ];
-    platforms = platforms.gnu;
+    platforms = platforms.gnu ++ platforms.linux;
   };
 }
diff --git a/pkgs/development/libraries/libcloudproviders/default.nix b/pkgs/development/libraries/libcloudproviders/default.nix
index 6f7a79f9eea..fc857bf1ad4 100644
--- a/pkgs/development/libraries/libcloudproviders/default.nix
+++ b/pkgs/development/libraries/libcloudproviders/default.nix
@@ -13,6 +13,10 @@ in stdenv.mkDerivation rec {
     sha256 = "1c3vfg8wlsv0fmi1lm9qhsqdvp4k33yvwn6j680rh49laayf7k3g";
   };
 
+  patches = [
+    ./fix-include.patch
+  ];
+
   outputs = [ "out" "dev" "devdoc" ];
 
   mesonFlags = [
diff --git a/pkgs/development/libraries/libcloudproviders/fix-include.patch b/pkgs/development/libraries/libcloudproviders/fix-include.patch
new file mode 100644
index 00000000000..d6f626436a6
--- /dev/null
+++ b/pkgs/development/libraries/libcloudproviders/fix-include.patch
@@ -0,0 +1,11 @@
+--- a/meson.build
++++ b/meson.build
+@@ -46,7 +46,7 @@
+ bindir = get_option ('bindir')
+ datadir = get_option ('datadir')
+ servicedir = join_paths (datadir, 'dbus-1', 'services')
+-incdir = join_paths (prefix, 'include', 'cloudproviders')
++incdir = join_paths (prefix, get_option('includedir'), 'cloudproviders')
+ 
+ gnome = import('gnome')
+ 
diff --git a/pkgs/development/libraries/libconfuse/default.nix b/pkgs/development/libraries/libconfuse/default.nix
index d92492eb7f8..29398ac8aac 100644
--- a/pkgs/development/libraries/libconfuse/default.nix
+++ b/pkgs/development/libraries/libconfuse/default.nix
@@ -15,7 +15,9 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  doCheck = true;
+  # On darwin the tests depend on the installed libraries because of install_name.
+  doInstallCheck = true;
+  installCheckTarget = "check";
 
   meta = with stdenv.lib; {
     inherit (src.meta) homepage;
diff --git a/pkgs/development/libraries/libcouchbase/default.nix b/pkgs/development/libraries/libcouchbase/default.nix
index fb0c2e789f3..d6447e449cf 100644
--- a/pkgs/development/libraries/libcouchbase/default.nix
+++ b/pkgs/development/libraries/libcouchbase/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "libcouchbase-${version}";
-  version = "2.8.4";
+  version = "2.8.7";
 
   src = fetchFromGitHub {
     owner = "couchbase";
     repo = "libcouchbase";
     rev = version;
-    sha256 = "0i5kmv8grsnh2igvlkgjr8lz3h3yrxh82yxbbdsjfpslv61l0gpi";
+    sha256 = "1hx66dlbb3sc3xaj6nsav4rp7qghl9zyv796kxj1sammw9wp98b1";
   };
 
   cmakeFlags = "-DLCB_NO_MOCK=ON";
diff --git a/pkgs/development/libraries/libcue/default.nix b/pkgs/development/libraries/libcue/default.nix
index fb0f0d3d3f9..e50b8a13b95 100644
--- a/pkgs/development/libraries/libcue/default.nix
+++ b/pkgs/development/libraries/libcue/default.nix
@@ -2,17 +2,19 @@
 
 stdenv.mkDerivation rec {
   name = "libcue-${version}";
-  version = "2.2.0";
+  version = "2.2.1";
 
   src = fetchFromGitHub {
     owner = "lipnitsk";
     repo = "libcue";
     rev = "v${version}";
-    sha256 = "0znn9scamy1nsz1dzvsamqg46zr7ldfvpxiyzi1ss9d6gbcm0frs";
+    sha256 = "1iqw4n01rv2jyk9lksagyxj8ml0kcfwk67n79zy1r6zv1xfp5ywm";
   };
 
   nativeBuildInputs = [ cmake bison flex ];
 
+  doCheck = false; # fails all the tests (ctest)
+
   meta = with stdenv.lib; {
     description = "CUE Sheet Parser Library";
     longDescription = ''
diff --git a/pkgs/development/libraries/libdazzle/default.nix b/pkgs/development/libraries/libdazzle/default.nix
new file mode 100644
index 00000000000..faa8b483a78
--- /dev/null
+++ b/pkgs/development/libraries/libdazzle/default.nix
@@ -0,0 +1,55 @@
+{ stdenv, pkgs, fetchurl, ninja, meson, pkgconfig, vala, gobjectIntrospection, libxml2
+, gtk-doc, docbook_xsl, dbus, xvfb_run, glib, gtk3, gnome3 }:
+
+let
+  version = "3.28.1";
+  pname = "libdazzle";
+in
+stdenv.mkDerivation {
+  name = "${pname}-${version}";
+
+  outputs = [ "out" "dev" "devdoc" ];
+  outputBin = "dev";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/libdazzle/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
+    sha256 = "04j9pjigpgxddq6y90y73k8qyjixlalip87q121ss5d8zp8xnz32";
+  };
+
+  nativeBuildInputs = [ ninja meson pkgconfig vala gobjectIntrospection libxml2 gtk-doc docbook_xsl dbus xvfb_run ];
+  buildInputs = [ glib gtk3 ];
+
+  mesonFlags = [
+    "-Denable_gtk_doc=true"
+  ];
+
+  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
+  '';
+
+  passthru = {
+    updateScript = gnome3.updateScript {
+      packageName = pname;
+    };
+  };
+
+  meta = with stdenv.lib; {
+    description = "A library to delight your users with fancy features";
+    longDescription = ''
+      The libdazzle library is a companion library to GObject and Gtk+. It
+      provides various features that we wish were in the underlying library but
+      cannot for various reasons. In most cases, they are wildly out of scope
+      for those libraries. In other cases, our design isn't quite generic
+      enough to work for everyone.
+    '';
+    homepage = https://wiki.gnome.org/Apps/Builder;
+    license = licenses.gpl3Plus;
+    maintainers = gnome3.maintainers;
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/development/libraries/libdbusmenu-qt/qt-5.5.nix b/pkgs/development/libraries/libdbusmenu-qt/qt-5.5.nix
index 75cf69035cb..9c25757efb0 100644
--- a/pkgs/development/libraries/libdbusmenu-qt/qt-5.5.nix
+++ b/pkgs/development/libraries/libdbusmenu-qt/qt-5.5.nix
@@ -4,7 +4,7 @@ stdenv.mkDerivation {
   name = "libdbusmenu-qt-0.9.3+14";
 
   src = fetchbzr {
-    url = "http://bazaar.launchpad.net/~dbusmenu-team/libdbusmenu-qt/trunk";
+    url = "https://bazaar.launchpad.net/~dbusmenu-team/libdbusmenu-qt/trunk";
     rev = "ps-jenkins@lists.canonical.com-20140619090718-mppiiax5atpnb8i2";
     sha256 = "1dbhaljyivbv3wc184zpjfjmn24zb6aj72wgg1gg1xl5f783issd";
   };
diff --git a/pkgs/development/libraries/libdigidocpp/default.nix b/pkgs/development/libraries/libdigidocpp/default.nix
index a8b2e4b3420..6ff8a03175e 100644
--- a/pkgs/development/libraries/libdigidocpp/default.nix
+++ b/pkgs/development/libraries/libdigidocpp/default.nix
@@ -3,12 +3,12 @@
 
 stdenv.mkDerivation rec {
 
-  version = "3.12.0.1317";
+  version = "3.13.3.1365";
   name = "libdigidocpp-${version}";
 
   src = fetchurl {
-    url = "https://installer.id.ee/media/ubuntu/pool/main/libd/libdigidocpp/libdigidocpp_3.12.0.1317.orig.tar.xz";
-    sha256 = "8059e1dbab99f062d070b9da0b1334b7226f1ab9badcd7fddea3100519d1f9a9";
+    url = "https://installer.id.ee/media/ubuntu/pool/main/libd/libdigidocpp/libdigidocpp_3.13.3.1365.orig.tar.xz";
+    sha256 = "1xmvjh5xzspm6ja8hz6bzblwly7yn2jni2m6kx8ny9g65zjrj2iw";
   };
 
   unpackPhase = ''
diff --git a/pkgs/development/libraries/libdrm/default.nix b/pkgs/development/libraries/libdrm/default.nix
index 45a71759d45..4d1b4e4c3fd 100644
--- a/pkgs/development/libraries/libdrm/default.nix
+++ b/pkgs/development/libraries/libdrm/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, pkgconfig, libpthreadstubs, libpciaccess, valgrind-light }:
 
 stdenv.mkDerivation rec {
-  name = "libdrm-2.4.89";
+  name = "libdrm-2.4.92";
 
   src = fetchurl {
     url = "http://dri.freedesktop.org/libdrm/${name}.tar.bz2";
-    sha256 = "629f9782aabbb4809166de5f24d26fe0766055255038f16935602d89f136a02e";
+    sha256 = "1yirzx8hmlvv6r0l7lb3zxmgy5la2mri9al0k16xqfg19pdqzr79";
   };
 
   outputs = [ "out" "dev" "bin" ];
@@ -22,9 +22,9 @@ stdenv.mkDerivation rec {
   configureFlags = [ "--enable-install-test-programs" ]
     ++ stdenv.lib.optionals (stdenv.isAarch32 || stdenv.isAarch64)
       [ "--enable-tegra-experimental-api" "--enable-etnaviv-experimental-api" ]
-    ++ stdenv.lib.optional stdenv.isDarwin "-C";
-
-  crossAttrs.configureFlags = configureFlags ++ [ "--disable-intel" ];
+    ++ stdenv.lib.optional stdenv.isDarwin "-C"
+    ++ stdenv.lib.optional (stdenv.hostPlatform != stdenv.buildPlatform) "--disable-intel"
+    ;
 
   meta = {
     homepage = https://dri.freedesktop.org/libdrm/;
diff --git a/pkgs/development/libraries/libdvdcss/default.nix b/pkgs/development/libraries/libdvdcss/default.nix
index 63978cfd740..f18e0622d0c 100644
--- a/pkgs/development/libraries/libdvdcss/default.nix
+++ b/pkgs/development/libraries/libdvdcss/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "libdvdcss-${version}";
-  version = "1.4.0";
+  version = "1.4.2";
 
   buildInputs = stdenv.lib.optional stdenv.isDarwin IOKit;
 
   src = fetchurl {
     url = "http://get.videolan.org/libdvdcss/${version}/${name}.tar.bz2";
-    sha256 = "0nl45ifc4xcb196snv9d6hinfw614cqpzcqp92dg43c0hickg290";
+    sha256 = "0x957zzpf4w2cp8zlk29prj8i2q6hay3lzdzsyz8y3cwxivyvhkq";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/libraries/libdvdnav/4.2.1.nix b/pkgs/development/libraries/libdvdnav/4.2.1.nix
index 0d3f8349413..18e2689002e 100644
--- a/pkgs/development/libraries/libdvdnav/4.2.1.nix
+++ b/pkgs/development/libraries/libdvdnav/4.2.1.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation {
   name = "libdvdnav-4.2.1";
-  
+
   src = fetchurl {
     url = http://dvdnav.mplayerhq.hu/releases/libdvdnav-4.2.1.tar.xz;
     sha256 = "7fca272ecc3241b6de41bbbf7ac9a303ba25cb9e0c82aa23901d3104887f2372";
@@ -17,9 +17,6 @@ stdenv.mkDerivation {
     mkdir -p $out
   '';
 
-  # From Handbrake
-  patches = [ ./A08-dvdnav-dup.patch ./P00-mingw-no-examples.patch ];
-
   meta = {
     homepage = http://dvdnav.mplayerhq.hu/;
     description = "A library that implements DVD navigation features such as DVD menus";
diff --git a/pkgs/development/libraries/libdvdnav/A08-dvdnav-dup.patch b/pkgs/development/libraries/libdvdnav/A08-dvdnav-dup.patch
deleted file mode 100644
index c0991b43555..00000000000
--- a/pkgs/development/libraries/libdvdnav/A08-dvdnav-dup.patch
+++ /dev/null
@@ -1,137 +0,0 @@
-Index: src/dvdnav.c
-===================================================================
---- libdvdnav.orig/src/dvdnav.c	(revision 1168)
-+++ libdvdnav/src/dvdnav.c	(working copy)
-@@ -71,6 +71,67 @@
-   return DVDNAV_STATUS_OK;
- }
- 
-+dvdnav_status_t dvdnav_dup(dvdnav_t **dest, dvdnav_t *src) {
-+  dvdnav_t *this;
-+
-+  (*dest) = NULL;
-+  this = (dvdnav_t*)malloc(sizeof(dvdnav_t));
-+  if(!this)
-+    return DVDNAV_STATUS_ERR;
-+
-+  memcpy(this, src, sizeof(dvdnav_t));
-+  this->file = NULL;
-+
-+  pthread_mutex_init(&this->vm_lock, NULL);
-+
-+  this->vm = vm_new_copy(src->vm);
-+  if(!this->vm) {
-+    printerr("Error initialising the DVD VM.");
-+    pthread_mutex_destroy(&this->vm_lock);
-+    free(this);
-+    return DVDNAV_STATUS_ERR;
-+  }
-+
-+  /* Start the read-ahead cache. */
-+  this->cache = dvdnav_read_cache_new(this);
-+
-+  (*dest) = this;
-+  return DVDNAV_STATUS_OK;
-+}
-+
-+dvdnav_status_t dvdnav_free_dup(dvdnav_t *this) {
-+
-+#ifdef LOG_DEBUG
-+  fprintf(MSG_OUT, "libdvdnav: free_dup:called\n");
-+#endif
-+
-+  if (this->file) {
-+    pthread_mutex_lock(&this->vm_lock);
-+    DVDCloseFile(this->file);
-+#ifdef LOG_DEBUG
-+    fprintf(MSG_OUT, "libdvdnav: close:file closing\n");
-+#endif
-+    this->file = NULL;
-+    pthread_mutex_unlock(&this->vm_lock);
-+  }
-+
-+  /* Free the VM */
-+  if(this->vm)
-+    vm_free_copy(this->vm);
-+
-+  pthread_mutex_destroy(&this->vm_lock);
-+
-+  /* We leave the final freeing of the entire structure to the cache,
-+   * because we don't know, if there are still buffers out in the wild,
-+   * that must return first. */
-+  if(this->cache)
-+    dvdnav_read_cache_free(this->cache);
-+  else
-+    free(this);
-+
-+  return DVDNAV_STATUS_OK;
-+}
-+
- dvdnav_status_t dvdnav_open(dvdnav_t** dest, const char *path) {
-   dvdnav_t *this;
-   struct timeval time;
-Index: src/dvdnav/dvdnav.h
-===================================================================
---- libdvdnav.orig/src/dvdnav/dvdnav.h	(revision 1168)
-+++ libdvdnav/src/dvdnav.h	(working copy)
-@@ -89,6 +89,9 @@
-  */
- dvdnav_status_t dvdnav_open(dvdnav_t **dest, const char *path);
- 
-+dvdnav_status_t dvdnav_dup(dvdnav_t **dest, dvdnav_t *src);
-+dvdnav_status_t dvdnav_free_dup(dvdnav_t *this);
-+
- /*
-  * Closes a dvdnav_t previously opened with dvdnav_open(), freeing any
-  * memory associated with it.
-Index: src/vm/vm.c
-===================================================================
---- libdvdnav.orig/src/vm/vm.c	(revision 1168)
-+++ libdvdnav/src/vm/vm.c	(working copy)
-@@ -96,6 +98,7 @@
- 
- static pgcit_t* get_MENU_PGCIT(vm_t *vm, ifo_handle_t *h, uint16_t lang);
- static pgcit_t* get_PGCIT(vm_t *vm);
-+static void vm_close(vm_t *vm);
- 
- 
- /* Helper functions */
-@@ -262,7 +265,7 @@
- }
- 
- void vm_free_vm(vm_t *vm) {
--  vm_stop(vm);
-+  vm_close(vm);
-   free(vm);
- }
- 
-@@ -289,12 +292,20 @@
- 
- int vm_start(vm_t *vm) {
-   /* Set pgc to FP (First Play) pgc */
-+  if (vm->stopped) {
-+    vm_reset(vm, NULL);
-+    vm->stopped = 0;
-+  }
-   set_FP_PGC(vm);
-   process_command(vm, play_PGC(vm));
-   return !vm->stopped;
- }
- 
- void vm_stop(vm_t *vm) {
-+  vm->stopped = 1;
-+}
-+
-+static void vm_close(vm_t *vm) {
-   if(vm->vmgi) {
-     ifoClose(vm->vmgi);
-     vm->vmgi=NULL;
-@@ -346,7 +357,7 @@
- 
-   if (vm->dvd && dvdroot) {
-     /* a new dvd device has been requested */
--    vm_stop(vm);
-+    vm_close(vm);
-   }
-   if (!vm->dvd) {
-     vm->dvd = DVDOpen(dvdroot);
diff --git a/pkgs/development/libraries/libdvdnav/P00-mingw-no-examples.patch b/pkgs/development/libraries/libdvdnav/P00-mingw-no-examples.patch
deleted file mode 100644
index 0e061861735..00000000000
--- a/pkgs/development/libraries/libdvdnav/P00-mingw-no-examples.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-diff -Naur libdvdnav.orig/Makefile.am libdvdnav/Makefile.am
---- libdvdnav.orig/Makefile.am	2008-10-03 16:11:46.000000000 -0400
-+++ libdvdnav/Makefile.am	2009-04-24 02:53:15.000000000 -0400
-@@ -1,7 +1,7 @@
- include $(top_srcdir)/misc/Makefile.common
- 
- 
--SUBDIRS = src examples doc misc m4
-+SUBDIRS = src doc misc m4
- 
- EXTRA_DIST = autogen.sh \
- 	     AUTHORS \
-diff -Naur libdvdnav.orig/configure.ac libdvdnav/configure.ac
---- libdvdnav.orig/configure.ac	2009-01-08 17:57:11.000000000 -0500
-+++ libdvdnav/configure.ac	2009-04-24 02:52:34.000000000 -0400
-@@ -252,5 +252,4 @@
- misc/relchk.sh
- m4/Makefile
- doc/Makefile
--examples/Makefile
- ])
diff --git a/pkgs/development/libraries/libdvdnav/default.nix b/pkgs/development/libraries/libdvdnav/default.nix
index a26b927a883..b0dfd1e8fc1 100644
--- a/pkgs/development/libraries/libdvdnav/default.nix
+++ b/pkgs/development/libraries/libdvdnav/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "libdvdnav-${version}";
-  version = "5.0.3";
+  version = "6.0.0";
 
   src = fetchurl {
     url = "http://get.videolan.org/libdvdnav/${version}/${name}.tar.bz2";
-    sha256 = "5097023e3d2b36944c763f1df707ee06b19dc639b2b68fb30113a5f2cbf60b6d";
+    sha256 = "062njcksmpgw9yv3737qkf93r2pzhaxi9szqjabpa8d010dp38ph";
   };
 
   nativeBuildInputs = [ pkgconfig ];
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
     description = "A library that implements DVD navigation features such as DVD menus";
     license = stdenv.lib.licenses.gpl2;
     maintainers = [ stdenv.lib.maintainers.wmertens ];
-    platforms = stdenv.lib.platforms.linux;
+    platforms = stdenv.lib.platforms.unix;
   };
 
   passthru = { inherit libdvdread; };
diff --git a/pkgs/development/libraries/libdvdread/default.nix b/pkgs/development/libraries/libdvdread/default.nix
index be7e20f00eb..95815f4abcd 100644
--- a/pkgs/development/libraries/libdvdread/default.nix
+++ b/pkgs/development/libraries/libdvdread/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "libdvdread-${version}";
-  version = "5.0.3";
+  version = "6.0.0";
 
   src = fetchurl {
     url = "http://get.videolan.org/libdvdread/${version}/${name}.tar.bz2";
-    sha256 = "0ayqiq0psq18rcp6f5pz82sxsq66v0kwv0y55dbrcg68plnxy71j";
+    sha256 = "0dgr23fzcjhb7ck54xkr9zmf4jcq3ph0dz3fbyvla1c6ni9ijfxk";
   };
 
   buildInputs = [libdvdcss];
diff --git a/pkgs/development/libraries/libdwarf/default.nix b/pkgs/development/libraries/libdwarf/default.nix
index 4bb91878bd3..6057dae4be2 100644
--- a/pkgs/development/libraries/libdwarf/default.nix
+++ b/pkgs/development/libraries/libdwarf/default.nix
@@ -1,11 +1,13 @@
 { stdenv, fetchurl, libelf }:
 
 let
-  version = "20170709";
+  version = "20180129";
   src = fetchurl {
     url = "http://www.prevanders.net/libdwarf-${version}.tar.gz";
-    sha512 = "afff6716ef1af5d8aae2b887f36b9a6547fb576770bc6f630b82725ed1e59cbd"
-           + "387779aa729bbd1a5ae026a25ac76aacf64b038cd898b2419a8676f9aa8c59f1";
+    # Upstream displays this hash broken into three parts:
+    sha512 = "02f8024bb9959c91a1fe322459f7587a589d096595"
+           + "6d643921a173e6f9e0a184db7aef66f0fd2548d669"
+           + "5be7f9ee368f1cc8940cea4ddda01ff99d28bbf1fe58";
   };
   meta = {
     homepage = https://www.prevanders.net/dwarf.html;
diff --git a/pkgs/development/libraries/libdynd/default.nix b/pkgs/development/libraries/libdynd/default.nix
index 8deec094866..93ece69cf05 100644
--- a/pkgs/development/libraries/libdynd/default.nix
+++ b/pkgs/development/libraries/libdynd/default.nix
@@ -15,6 +15,12 @@ stdenv.mkDerivation {
     "-DDYND_BUILD_BENCHMARKS=OFF"
   ];
 
+  # added to fix build with gcc7
+  NIX_CFLAGS_COMPILE = [
+    "-Wno-error=implicit-fallthrough"
+    "-Wno-error=nonnull"
+  ];
+
   buildInputs = [ cmake ];
 
   outputs = [ "out" "dev" ];
@@ -24,5 +30,6 @@ stdenv.mkDerivation {
     description = "C++ dynamic ndarray library, with Python exposure.";
     homepage = http://libdynd.org;
     license = licenses.bsd2;
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/development/libraries/libe-book/default.nix b/pkgs/development/libraries/libe-book/default.nix
index 3c900f86917..6c52f2c0b1a 100644
--- a/pkgs/development/libraries/libe-book/default.nix
+++ b/pkgs/development/libraries/libe-book/default.nix
@@ -1,21 +1,21 @@
 { stdenv, fetchurl, gperf, pkgconfig, librevenge, libxml2, boost, icu
-, cppunit, zlib
+, cppunit, zlib, liblangtag
 }:
 
 let
   s = # Generated upstream information
   rec {
     baseName="libe-book";
-    version="0.1.2";
+    version="0.1.3";
     name="${baseName}-${version}";
-    hash="1v48pd32r2pfysr3a3igc4ivcf6vvb26jq4pdkcnq75p70alp2bz";
-    url="mirror://sourceforge/project/libebook/libe-book-0.1.2/libe-book-0.1.2.tar.xz";
-    sha256="1v48pd32r2pfysr3a3igc4ivcf6vvb26jq4pdkcnq75p70alp2bz";
+    hash="1yg1vws1wggzhjw672bpgh2x541g5i9wryf67g51m0r79zrqz3by";
+    url="https://kent.dl.sourceforge.net/project/libebook/libe-book-0.1.3/libe-book-0.1.3.tar.xz";
+    sha256="1yg1vws1wggzhjw672bpgh2x541g5i9wryf67g51m0r79zrqz3by";
   };
 
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    gperf librevenge libxml2 boost icu cppunit zlib
+    gperf librevenge libxml2 boost icu cppunit zlib liblangtag
   ];
 
   # Boost 1.59 compatability fix
diff --git a/pkgs/development/libraries/libedit/default.nix b/pkgs/development/libraries/libedit/default.nix
index bd230c61028..15412814420 100644
--- a/pkgs/development/libraries/libedit/default.nix
+++ b/pkgs/development/libraries/libedit/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, ncurses, groff }:
 
 stdenv.mkDerivation rec {
-  name = "libedit-20160903-3.1";
+  name = "libedit-20170329-3.1";
 
   src = fetchurl {
     url = "http://thrysoee.dk/editline/${name}.tar.gz";
-    sha256 = "0rvmm8z6hal5bbp5pljp7yvkpqi4pkas1amizhvg35v0skkx5jqc";
+    sha256 = "1gnlgl0x8g9ky59s70nriy5gv47676d1s4ypvbv8y11apl7xkwli";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/pkgs/development/libraries/libesmtp/default.nix b/pkgs/development/libraries/libesmtp/default.nix
new file mode 100644
index 00000000000..980cee2e687
--- /dev/null
+++ b/pkgs/development/libraries/libesmtp/default.nix
@@ -0,0 +1,18 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  name = "libESMTP-${version}";
+  version = "1.0.6";
+
+  src = fetchurl {
+    url = "http://brianstafford.info/libesmtp/libesmtp-1.0.6.tar.bz2";
+    sha256 = "02zbniyz7qys1jmx3ghx21kxmns1wc3hmv80gp7ag7yra9f1m9nh";
+  };
+
+  meta = with stdenv.lib; {
+    homepage = http://brianstafford.info/libesmtp/index.html;
+    description = "A Library for Posting Electronic Mail";
+    license = licenses.lgpl21;
+  };
+}
+
diff --git a/pkgs/development/libraries/libetpan/default.nix b/pkgs/development/libraries/libetpan/default.nix
index 06363361943..b09c2dd0f47 100644
--- a/pkgs/development/libraries/libetpan/default.nix
+++ b/pkgs/development/libraries/libetpan/default.nix
@@ -1,6 +1,6 @@
 { autoconf, automake, fetchgit, libtool, stdenv, openssl }:
 
-let version = "1.6"; in
+let version = "1.8"; in
 
 stdenv.mkDerivation {
   name = "libetpan-${version}";
@@ -8,7 +8,7 @@ stdenv.mkDerivation {
   src = fetchgit {
     url = "git://github.com/dinhviethoa/libetpan";
     rev = "refs/tags/" + version;
-    sha256 = "13hv49271rr9yj7ifxqqmc0jfy1f26llivhp22s5wigick7qjxky";
+    sha256 = "09xqy1n18qn63x7idfrpwm59lfkvb1p5vxkyksywvy4f6mn4pyxk";
   };
 
   buildInputs = [ autoconf automake libtool openssl ];
diff --git a/pkgs/development/libraries/libevdev/default.nix b/pkgs/development/libraries/libevdev/default.nix
index 090a12f63de..2ef1d3965ce 100644
--- a/pkgs/development/libraries/libevdev/default.nix
+++ b/pkgs/development/libraries/libevdev/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, python }:
 
 stdenv.mkDerivation rec {
-  name = "libevdev-1.5.7";
+  name = "libevdev-1.5.9";
 
   src = fetchurl {
     url = "https://www.freedesktop.org/software/libevdev/${name}.tar.xz";
-    sha256 = "08nl3p6226k51zph52fhilxvi3b31spp6fz8szzrglzhl8vrxrd1";
+    sha256 = "0xca343ff12wh6nsq76r0nbsfrm8dypjrzm4fqz9vv9v8i8kfrp1";
   };
 
   buildInputs = [ python ];
diff --git a/pkgs/development/libraries/libevent/default.nix b/pkgs/development/libraries/libevent/default.nix
index e14f4cbf5d6..b74e64aa849 100644
--- a/pkgs/development/libraries/libevent/default.nix
+++ b/pkgs/development/libraries/libevent/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, findutils
+{ stdenv, fetchurl, findutils, fixDarwinDylibNames
 , sslSupport? true, openssl
 }:
 
@@ -26,8 +26,11 @@ stdenv.mkDerivation rec {
   buildInputs = []
     ++ stdenv.lib.optional sslSupport openssl
     ++ stdenv.lib.optional stdenv.isCygwin findutils
+    ++ stdenv.lib.optional stdenv.isDarwin fixDarwinDylibNames
     ;
 
+  doCheck = false; # needs the net
+
   postInstall = stdenv.lib.optionalString sslSupport ''
     moveToOutput "lib/libevent_openssl*" "$openssl"
     substituteInPlace "$dev/lib/pkgconfig/libevent_openssl.pc" \
diff --git a/pkgs/development/libraries/libf2c/default.nix b/pkgs/development/libraries/libf2c/default.nix
index 78901e2f013..2de407e8f63 100644
--- a/pkgs/development/libraries/libf2c/default.nix
+++ b/pkgs/development/libraries/libf2c/default.nix
@@ -1,11 +1,11 @@
 {stdenv, fetchurl, unzip}:
 
 stdenv.mkDerivation rec {
-  name = "libf2c-20100903";
+  name = "libf2c-20160102";
 
   src = fetchurl {
     url = http://www.netlib.org/f2c/libf2c.zip;
-    sha256 = "1mcp1lh7gay7hm186dr0wvwd2bc05xydhnc1qy3dqs4n3r102g7i";
+    sha256 = "1q78y8j8xpl8zdzdxmn5ablss56hi5a7vz3idam9l2nfx5q40h6a";
   };
 
   unpackPhase = ''
diff --git a/pkgs/development/libraries/libfilezilla/default.nix b/pkgs/development/libraries/libfilezilla/default.nix
index 3b27ffc6d38..f3a6983acae 100644
--- a/pkgs/development/libraries/libfilezilla/default.nix
+++ b/pkgs/development/libraries/libfilezilla/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "libfilezilla-${version}";
-  version = "0.12.1";
+  version = "0.12.2";
 
   src = fetchurl {
     url = "http://download.filezilla-project.org/libfilezilla/${name}.tar.bz2";
-    sha256 = "1gbqm42dd0m3fvqz3bk53889479dvn8679zp6ba8a9q2br2wkvv0";
+    sha256 = "1v461hwdk74whp89s490dj1z18gfqf9bz9140m5f11rsvrpid33p";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/libraries/libfixposix/default.nix b/pkgs/development/libraries/libfixposix/default.nix
index f56dc60771d..2d2d56dda4f 100644
--- a/pkgs/development/libraries/libfixposix/default.nix
+++ b/pkgs/development/libraries/libfixposix/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name="libfixposix-${version}";
-  version="0.4.1";
+  version="0.4.3";
 
   src = fetchFromGitHub {
     owner = "sionescu";
     repo = "libfixposix";
     rev = "v${version}";
-    sha256 = "19wjb43mn16f4lin5a2dfi3ym2hy7kqibs0z631d205b16vxas15";
+    sha256 = "1x4q6yspi5g2s98vq4qszw4z3zjgk9l5zs8471w4d4cs6l97w08j";
   };
 
   nativeBuildInputs = [ autoreconfHook pkgconfig ];
diff --git a/pkgs/development/libraries/libfm/default.nix b/pkgs/development/libraries/libfm/default.nix
index 851ee7f326b..ce1d3b138f8 100644
--- a/pkgs/development/libraries/libfm/default.nix
+++ b/pkgs/development/libraries/libfm/default.nix
@@ -9,11 +9,11 @@ stdenv.mkDerivation rec {
   name = if extraOnly
     then "libfm-extra-${version}"
     else "libfm-${version}";
-  version = "1.2.5";
+  version = "1.3.0.2";
 
   src = fetchurl {
     url = "mirror://sourceforge/pcmanfm/libfm-${version}.tar.xz";
-    sha256 = "0nlvfwh09gbq8bkbvwnw6iqr918rrs9gc9ljb9pjspyg408bn1n7";
+    sha256 = "0wkwbi1nyvqza3r1dhrq846axiiq0fy0dqgngnagh76fjrwnzl0q";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/development/libraries/libftdi/1.x.nix b/pkgs/development/libraries/libftdi/1.x.nix
index 8b75f85852e..d54b05b1c82 100644
--- a/pkgs/development/libraries/libftdi/1.x.nix
+++ b/pkgs/development/libraries/libftdi/1.x.nix
@@ -37,7 +37,7 @@ stdenv.mkDerivation rec {
     description = "A library to talk to FTDI chips using libusb";
     homepage = https://www.intra2net.com/en/developer/libftdi/;
     license = with licenses; [ lgpl2 gpl2 ];
-    platforms = platforms.linux;
+    platforms = with platforms; linux ++ darwin;
     maintainers = [ maintainers.bjornfor ];
   };
 }
diff --git a/pkgs/development/libraries/libftdi/default.nix b/pkgs/development/libraries/libftdi/default.nix
index fff760c5519..f90e741a57e 100644
--- a/pkgs/development/libraries/libftdi/default.nix
+++ b/pkgs/development/libraries/libftdi/default.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   name = "libftdi-0.20";
-  
+
   src = fetchurl {
     url = "http://www.intra2net.com/en/developer/libftdi/download/${name}.tar.gz";
     sha256 = "13l39f6k6gff30hsgh0wa2z422g9pyl91rh8a8zz6f34k2sxaxii";
@@ -27,6 +27,6 @@ stdenv.mkDerivation rec {
     description = "A library to talk to FTDI chips using libusb";
     homepage = https://www.intra2net.com/en/developer/libftdi/;
     license = stdenv.lib.licenses.lgpl21;
-    platforms = stdenv.lib.platforms.unix;
+    platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/development/libraries/libgcrypt/default.nix b/pkgs/development/libraries/libgcrypt/default.nix
index a02aefb0a74..6f36199bd1a 100644
--- a/pkgs/development/libraries/libgcrypt/default.nix
+++ b/pkgs/development/libraries/libgcrypt/default.nix
@@ -21,18 +21,18 @@ stdenv.mkDerivation rec {
   # The build enables -O2 by default for everything else.
   hardeningDisable = stdenv.lib.optional stdenv.cc.isClang "fortify";
 
-  depsBuildBuild = stdenv.lib.optional stdenv.isCross buildPackages.stdenv.cc;
+  depsBuildBuild = [ buildPackages.stdenv.cc ];
 
   buildInputs = [ libgpgerror ]
     ++ stdenv.lib.optional stdenv.isDarwin gettext
     ++ stdenv.lib.optional enableCapabilities libcap;
 
-  preConfigure = if stdenv.isCross then ''
+  preConfigure = stdenv.lib.optionalString stdenv.isCross ''
     # This is intentional: gpg-error-config is a shell script that will work during the build
     mkdir -p "$NIX_BUILD_TOP"/bin
     ln -s ${libgpgerror.dev}/bin/gpg-error-config "$NIX_BUILD_TOP/bin"
     export PATH="$NIX_BUILD_TOP/bin:$PATH"
-  '' else null;
+  '';
 
   # Make sure libraries are correct for .pc and .la files
   # Also make sure includes are fixed for callers who don't use libgpgcrypt-config
diff --git a/pkgs/development/libraries/libgdiplus/default.nix b/pkgs/development/libraries/libgdiplus/default.nix
index f84cc677d16..d3a21ee7fa2 100644
--- a/pkgs/development/libraries/libgdiplus/default.nix
+++ b/pkgs/development/libraries/libgdiplus/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, pkgconfig, glib, cairo, Carbon, fontconfig
-, libtiff, giflib, libungif, libjpeg, libpng, monoDLLFixer
+, libtiff, giflib, libjpeg, libpng, monoDLLFixer
 , libXrender, libexif }:
 
 stdenv.mkDerivation rec {
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
   patchFlags = "-p0";
 
   buildInputs =
-    [ pkgconfig glib cairo fontconfig libtiff giflib libungif
+    [ pkgconfig glib cairo fontconfig libtiff giflib
       libjpeg libpng libXrender libexif
     ]
     ++ stdenv.lib.optional stdenv.isDarwin Carbon;
diff --git a/pkgs/development/libraries/libgksu/default.nix b/pkgs/development/libraries/libgksu/default.nix
index 8961afcd620..652848d8a95 100644
--- a/pkgs/development/libraries/libgksu/default.nix
+++ b/pkgs/development/libraries/libgksu/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchurl, pkgconfig, wrapGAppsHook, gtk2, gnome2, gnome3,
   libstartup_notification, libgtop, perl, perlXMLParser,
-  autoreconfHook, intltool, gtk-doc, docbook_xsl, xauth, sudo
+  autoreconfHook, intltool, docbook_xsl, xauth, sudo
 }:
 
 stdenv.mkDerivation rec {
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [
-    pkgconfig autoreconfHook intltool gtk-doc docbook_xsl wrapGAppsHook
+    pkgconfig autoreconfHook intltool docbook_xsl wrapGAppsHook
   ];
 
   buildInputs = [
@@ -67,6 +67,10 @@ stdenv.mkDerivation rec {
     intltoolize --force --copy --automake
   '';
 
+  configureFlags = [
+    "--disable-gtk-doc"
+  ];
+
   meta = {
     description = "A library for integration of su into applications";
     longDescription = ''
diff --git a/pkgs/development/libraries/libglvnd/default.nix b/pkgs/development/libraries/libglvnd/default.nix
index 7ea1ecdd052..7e1a2b54968 100644
--- a/pkgs/development/libraries/libglvnd/default.nix
+++ b/pkgs/development/libraries/libglvnd/default.nix
@@ -1,15 +1,16 @@
-{stdenv, fetchFromGitHub, autoreconfHook, python2, pkgconfig, libGL_driver, libX11, libXext, glproto }:
+{ stdenv, lib, fetchFromGitHub, fetchpatch, autoreconfHook, python2, pkgconfig, libX11, libXext, glproto }:
 
-# Git version is needed for EGL and GLES handling.
-
-stdenv.mkDerivation rec {
-  name = "libglvnd-2016-12-22";
+let
+  driverLink = "/run/opengl-driver" + lib.optionalString stdenv.isi686 "-32";
+in stdenv.mkDerivation rec {
+  name = "libglvnd-${version}";
+  version = "1.0.0";
 
   src = fetchFromGitHub {
     owner = "NVIDIA";
     repo = "libglvnd";
-    rev = "dc16f8c337703ad141f83583a4004fcf42e07766";
-    sha256 = "1dbwf1216np77xf1kx3ci3y7hfa1p4vgrrzg71gw36hqxf36vg5f";
+    rev = "v${version}";
+    sha256 = "1a126lzhd2f04zr3rvdl6814lfl0j077spi5dsf2alghgykn5iif";
   };
 
   nativeBuildInputs = [ autoreconfHook pkgconfig python2 ];
@@ -17,11 +18,24 @@ stdenv.mkDerivation rec {
 
   NIX_CFLAGS_COMPILE = [
     "-UDEFAULT_EGL_VENDOR_CONFIG_DIRS"
-    "-DDEFAULT_EGL_VENDOR_CONFIG_DIRS=\"${libGL_driver.driverLink}/share/glvnd/egl_vendor.d\""
+    # FHS paths are added so that non-NixOS applications can find vendor files.
+    "-DDEFAULT_EGL_VENDOR_CONFIG_DIRS=\"${driverLink}/share/glvnd/egl_vendor.d:/etc/glvnd/egl_vendor.d:/usr/share/glvnd/egl_vendor.d\""
   ];
 
+  # Indirectly: https://bugs.freedesktop.org/show_bug.cgi?id=35268
+  configureFlags  = stdenv.lib.optional stdenv.hostPlatform.isMusl "--disable-tls";
+
+  # Upstream patch fixing use of libdl, should be in next release.
+  patches = [
+    (fetchpatch {
+      url = "https://github.com/NVIDIA/libglvnd/commit/0177ade40262e31a80608a8e8e52d3da7163dccf.patch";
+      sha256 = "1rnz5jw2gvx4i1lcp0k85jz9xgr3dgzsd583m2dlxkaf2a09j89d";
+    })
+  ];
   outputs = [ "out" "dev" ];
 
+  passthru = { inherit driverLink; };
+
   meta = with stdenv.lib; {
     description = "The GL Vendor-Neutral Dispatch library";
     homepage = https://github.com/NVIDIA/libglvnd;
diff --git a/pkgs/development/libraries/libgpg-error/default.nix b/pkgs/development/libraries/libgpg-error/default.nix
index 5c5824a9930..2fcf6701ab8 100644
--- a/pkgs/development/libraries/libgpg-error/default.nix
+++ b/pkgs/development/libraries/libgpg-error/default.nix
@@ -1,7 +1,7 @@
-{ stdenv, buildPackages, fetchurl, gettext
-, hostPlatform, genPosixLockObjOnly ? false
+{ stdenv, lib, fetchpatch, buildPackages, fetchurl, gettext
+, genPosixLockObjOnly ? false
 }: let
-  genPosixLockObjOnlyAttrs = stdenv.lib.optionalAttrs genPosixLockObjOnly {
+  genPosixLockObjOnlyAttrs = lib.optionalAttrs genPosixLockObjOnly {
     buildPhase = ''
       cd src
       make gen-posix-lock-obj
@@ -17,18 +17,24 @@
   };
 in stdenv.mkDerivation (rec {
   name = "libgpg-error-${version}";
-  version = "1.27";
+  version = "1.28";
 
   src = fetchurl {
     url = "mirror://gnupg/libgpg-error/${name}.tar.bz2";
-    sha256 = "1li95ni122fzinzlmxbln63nmgij63irxfvi52ws4zfbzv3am4sg";
+    sha256 = "0jfsfnh9bxlxiwxws60yah4ybjw2hshmvqp31pri4m4h8ivrbnry";
   };
 
-  patches = if hostPlatform.isRiscV then ./riscv.patch else null;
+  patches = [
+    # Fix builds on ARM, AArch64
+    (fetchpatch {
+      url = "https://github.com/gpg/libgpg-error/commit/791177de023574223eddf7288eb7c5a0721ac623.patch";
+      sha256 = "0vqfw0ak1j37wf6sk9y9vmdyk3kxdxkldhs0bv2waa76s11cmdx0";
+    })
+  ];
 
   postPatch = ''
     sed '/BUILD_TIMESTAMP=/s/=.*/=1970-01-01T00:01+0000/' -i ./configure
-  '' + stdenv.lib.optionalString stdenv.hostPlatform.isMusl ''
+  '' + lib.optionalString stdenv.hostPlatform.isMusl ''
     ln -s lock-obj-pub.x86_64-pc-linux-musl.h src/syscfg/lock-obj-pub.linux-musl.h
   '';
 
@@ -41,7 +47,7 @@ in stdenv.mkDerivation (rec {
   nativeBuildInputs = [ gettext ];
 
   postConfigure =
-    stdenv.lib.optionalString stdenv.isSunOS
+    lib.optionalString stdenv.isSunOS
     # For some reason, /bin/sh on OpenIndiana leads to this at the end of the
     # `config.status' run:
     #   ./config.status[1401]: shift: (null): bad number
diff --git a/pkgs/development/libraries/libgpg-error/riscv.patch b/pkgs/development/libraries/libgpg-error/riscv.patch
deleted file mode 100644
index afc3b9993a4..00000000000
--- a/pkgs/development/libraries/libgpg-error/riscv.patch
+++ /dev/null
@@ -1,54 +0,0 @@
-commit b3e9ec5626d474c58e683a41d09576297d4acd3d
-Author: Shea Levy <shea@shealevy.com>
-Date:   Sat Feb 24 21:12:44 2018 -0500
-
-    syscfg: Add lock-obj-pub file for riscv64-unknown-linux-gnu.
-    
-    * src/syscfg/lock-obj-pub.riscv64-unknown-linux-gnu.h: new.
-    * src/Makefile.am (lock_obj_pub): Add it.
-    
-    Signed-off-by: Shea Levy <shea@shealevy.com>
-
-diff --git a/src/Makefile.am b/src/Makefile.am
-index 4446612..5a8cc43 100644
---- a/src/Makefile.in
-+++ b/src/Makefile.in
-@@ -65,6 +65,7 @@ lock_obj_pub = \
-         syscfg/lock-obj-pub.powerpc64-unknown-linux-gnu.h   \
- 	syscfg/lock-obj-pub.powerpc64le-unknown-linux-gnu.h \
- 	syscfg/lock-obj-pub.powerpc-unknown-linux-gnuspe.h  \
-+        syscfg/lock-obj-pub.riscv64-unknown-linux-gnu.h     \
-         syscfg/lock-obj-pub.s390x-ibm-linux-gnu.h           \
-         syscfg/lock-obj-pub.sh3-unknown-linux-gnu.h         \
-         syscfg/lock-obj-pub.sh4-unknown-linux-gnu.h         \
-diff --git a/src/syscfg/lock-obj-pub.riscv64-unknown-linux-gnu.h b/src/syscfg/lock-obj-pub.riscv64-unknown-linux-gnu.h
-new file mode 100644
-index 0000000..8aab9d6
---- /dev/null
-+++ b/src/syscfg/lock-obj-pub.riscv64-unknown-linux-gnu.h
-@@ -0,0 +1,25 @@
-+## lock-obj-pub.riscv64-unknown-linux-gnu.h
-+## File created by gen-posix-lock-obj - DO NOT EDIT
-+## To be included by mkheader into gpg-error.h
-+
-+typedef struct
-+{
-+  long _vers;
-+  union {
-+    volatile char _priv[40];
-+    long _x_align;
-+    long *_xp_align;
-+  } u;
-+} gpgrt_lock_t;
-+
-+#define GPGRT_LOCK_INITIALIZER {1,{{0,0,0,0,0,0,0,0, \
-+                                    0,0,0,0,0,0,0,0, \
-+                                    0,0,0,0,0,0,0,0, \
-+                                    0,0,0,0,0,0,0,0, \
-+                                    0,0,0,0,0,0,0,0}}}
-+##
-+## Local Variables:
-+## mode: c
-+## buffer-read-only: t
-+## End:
-+##
diff --git a/pkgs/development/libraries/libgphoto2/default.nix b/pkgs/development/libraries/libgphoto2/default.nix
index 9c0ea4a3a73..96b42ac068c 100644
--- a/pkgs/development/libraries/libgphoto2/default.nix
+++ b/pkgs/development/libraries/libgphoto2/default.nix
@@ -7,7 +7,7 @@ stdenv.mkDerivation rec {
     owner = "gphoto";
     repo = "libgphoto2";
     rev = "${meta.tag}";
-    sha256 = "1svbpmxqm56pqkv0rxhlyk4vw7mjgjz8zz4p669qvmw630082yj9";
+    sha256 = "0pbfg89817qkb35mmajsw2iz6j9nhkkj67m419f8x8yxpqkaa0wb";
   };
 
   patches = [];
@@ -33,8 +33,8 @@ stdenv.mkDerivation rec {
       MTP, and other vendor specific protocols for controlling and transferring data
       from digital cameras.
     '';
-    version = "2.5.16";
-    tag = "libgphoto2-2_5_16-release";
+    version = "2.5.17";
+    tag = "libgphoto2-2_5_17-release";
     # XXX: the homepage claims LGPL, but several src files are lgpl21Plus
     license = stdenv.lib.licenses.lgpl21Plus;
     platforms = with stdenv.lib.platforms; unix;
diff --git a/pkgs/development/libraries/libgpod/default.nix b/pkgs/development/libraries/libgpod/default.nix
index 60400712e30..fbe421e9974 100644
--- a/pkgs/development/libraries/libgpod/default.nix
+++ b/pkgs/development/libraries/libgpod/default.nix
@@ -32,7 +32,7 @@ in stdenv.mkDerivation rec {
     homepage = http://gtkpod.sourceforge.net/;
     description = "Library used by gtkpod to access the contents of an ipod";
     license = "LGPL";
-    platforms = stdenv.lib.platforms.gnu;
+    platforms = stdenv.lib.platforms.gnu ++ stdenv.lib.platforms.linux;
     maintainers = [ ];
   };
 }
diff --git a/pkgs/development/libraries/libgringotts/default.nix b/pkgs/development/libraries/libgringotts/default.nix
index 1da6cffe3f2..89fcfdfde8d 100644
--- a/pkgs/development/libraries/libgringotts/default.nix
+++ b/pkgs/development/libraries/libgringotts/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "libgringotts-${version}";
-  version = "1.1.2";
+  version = "1.2.1";
 
   src = fetchurl {
-    url = "http://libgringotts.sourceforge.net/current/${name}.tar.bz2";
-    sha256 = "1bzfnpf2gwc2bisbrw06s63g9z9v4mh1n9ksqr6pbgj2prz7bvlk";
+    url = "https://sourceforge.net/projects/gringotts.berlios/files/${name}.tar.bz2";
+    sha256 = "1ldz1lyl1aml5ci1mpnys8dg6n7khpcs4zpycak3spcpgdsnypm7";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/development/libraries/libgroove/default.nix b/pkgs/development/libraries/libgroove/default.nix
index ac6c9d297cc..bd5a5f06851 100644
--- a/pkgs/development/libraries/libgroove/default.nix
+++ b/pkgs/development/libraries/libgroove/default.nix
@@ -11,6 +11,8 @@ stdenv.mkDerivation rec {
     sha256 = "1la9d9kig50mc74bxvhx6hzqv0nrci9aqdm4k2j4q0s1nlfgxipd";
   };
 
+  patches = [ ./no-warnings-as-errors.patch ];
+
   buildInputs = [ cmake libav SDL2 chromaprint libebur128 ];
 
   meta = with stdenv.lib; {
@@ -18,6 +20,6 @@ stdenv.mkDerivation rec {
     homepage = https://github.com/andrewrk/libgroove;
     license = licenses.mit;
     platforms = platforms.unix;
-    maintainers = [ maintainers.andrewrk ];
+    maintainers = with maintainers; [ andrewrk ma27 ];
   };
 }
diff --git a/pkgs/development/libraries/libgroove/no-warnings-as-errors.patch b/pkgs/development/libraries/libgroove/no-warnings-as-errors.patch
new file mode 100644
index 00000000000..86a8a935769
--- /dev/null
+++ b/pkgs/development/libraries/libgroove/no-warnings-as-errors.patch
@@ -0,0 +1,15 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index a1e8541..6bc9c30 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -135,8 +135,8 @@ configure_file (
+   "${PROJECT_BINARY_DIR}/config.h"
+   )
+ 
+-set(LIB_CFLAGS "${C99_C_FLAGS} -pedantic -Werror -Wall -Werror=strict-prototypes -Werror=old-style-definition -Werror=missing-prototypes -D_REENTRANT -D_POSIX_C_SOURCE=200809L")
+-set(EXAMPLE_CFLAGS "${C99_C_FLAGS} -pedantic -Werror -Wall -g")
++set(LIB_CFLAGS "${C99_C_FLAGS} -pedantic -Wall -Werror=strict-prototypes -Werror=old-style-definition -Werror=missing-prototypes -D_REENTRANT -D_POSIX_C_SOURCE=200809L")
++set(EXAMPLE_CFLAGS "${C99_C_FLAGS} -pedantic -Wall -g")
+ set(EXAMPLE_INCLUDES "${PROJECT_SOURCE_DIR}")
+ 
+ add_library(groove SHARED ${LIBGROOVE_SOURCES} ${LIBGROOVE_HEADERS})
diff --git a/pkgs/development/libraries/libgsf/default.nix b/pkgs/development/libraries/libgsf/default.nix
index 6e036522b1c..b0013d0f949 100644
--- a/pkgs/development/libraries/libgsf/default.nix
+++ b/pkgs/development/libraries/libgsf/default.nix
@@ -1,31 +1,28 @@
 { fetchurl, stdenv, pkgconfig, intltool, gettext, glib, libxml2, zlib, bzip2
-, python, perl, gdk_pixbuf, libiconv, libintlOrEmpty }:
+, python, perl, gdk_pixbuf, libiconv, libintl }:
 
 let inherit (stdenv.lib) optionals; in
 
 stdenv.mkDerivation rec {
-  name = "libgsf-1.14.41";
+  name = "libgsf-1.14.42";
 
   src = fetchurl {
     url    = "mirror://gnome/sources/libgsf/1.14/${name}.tar.xz";
-    sha256 = "1lq87wnrsjbjafpk3c8xwd56gqx319fhck9xkg2da88hd9c9h2qm";
+    sha256 = "1hhdz0ymda26q6bl5ygickkgrh998lxqq4z9i8dzpcvqna3zpzr9";
   };
 
-  nativeBuildInputs = [ pkgconfig intltool ];
+  nativeBuildInputs = [ pkgconfig intltool libintl ];
 
   buildInputs = [ gettext bzip2 zlib python ]
     ++ stdenv.lib.optional doCheck perl;
 
-  propagatedBuildInputs = [ libxml2 glib gdk_pixbuf libiconv ]
-    ++ libintlOrEmpty;
+  propagatedBuildInputs = [ libxml2 glib gdk_pixbuf libiconv ];
 
   outputs = [ "out" "dev" ];
 
   doCheck = true;
   preCheck = "patchShebangs ./tests/";
 
-  NIX_LDFLAGS = stdenv.lib.optionalString stdenv.isDarwin "-lintl";
-
   meta = with stdenv.lib; {
     description = "GNOME's Structured File Library";
     homepage    = https://www.gnome.org/projects/libgsf;
diff --git a/pkgs/development/libraries/libgtop/default.nix b/pkgs/development/libraries/libgtop/default.nix
index 0a44eee90aa..656395b8867 100644
--- a/pkgs/development/libraries/libgtop/default.nix
+++ b/pkgs/development/libraries/libgtop/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, glib, pkgconfig, perl, gettext, gobjectIntrospection, libintlOrEmpty, gnome3 }:
+{ stdenv, fetchurl, glib, pkgconfig, perl, gettext, gobjectIntrospection, libintl, gnome3 }:
 let
   pname = "libgtop";
   version = "2.38.0";
@@ -12,11 +12,8 @@ stdenv.mkDerivation rec {
   };
 
   propagatedBuildInputs = [ glib ];
-  buildInputs = libintlOrEmpty;
   nativeBuildInputs = [ pkgconfig perl gettext gobjectIntrospection ];
 
-  NIX_LDFLAGS = stdenv.lib.optionalString stdenv.isDarwin "-lintl";
-
   passthru = {
     updateScript = gnome3.updateScript {
       packageName = pname;
diff --git a/pkgs/development/libraries/libguestfs/appliance.nix b/pkgs/development/libraries/libguestfs/appliance.nix
new file mode 100644
index 00000000000..d47b0902818
--- /dev/null
+++ b/pkgs/development/libraries/libguestfs/appliance.nix
@@ -0,0 +1,7 @@
+{ fetchzip }:
+
+fetchzip {
+  name = "libguestfs-appliance-1.38.0";
+  url = "http://libguestfs.org/download/binaries/appliance/appliance-1.38.0.tar.xz";
+  sha256 = "15rxwj5qjflizxk7slpbrj9lcwkd2lgm52f5yv101qba4yyn3g76";
+}
diff --git a/pkgs/development/libraries/libguestfs/default.nix b/pkgs/development/libraries/libguestfs/default.nix
index d7d0fbe8094..106de68d367 100644
--- a/pkgs/development/libraries/libguestfs/default.nix
+++ b/pkgs/development/libraries/libguestfs/default.nix
@@ -3,19 +3,16 @@
 , acl, libcap, libcap_ng, libconfig, systemd, fuse, yajl, libvirt, hivex
 , gmp, readline, file, libintlperl, GetoptLong, SysVirt, numactl, xen, libapparmor
 , getopt, perlPackages, ocamlPackages
+, appliance ? null
 , javaSupport ? false, jdk ? null }:
 
+assert appliance == null || stdenv.lib.isDerivation appliance;
 assert javaSupport -> jdk != null;
 
 stdenv.mkDerivation rec {
   name = "libguestfs-${version}";
   version = "1.38.0";
 
-  appliance = fetchurl {
-    url = "http://libguestfs.org/download/binaries/appliance/appliance-1.38.0.tar.xz";
-    sha256 = "05481qxgidakga871yb5rgpyci2jaxmplmkh6y79anfh5m19nzhy";
-  };
-
   src = fetchurl {
     url = "http://libguestfs.org/download/1.38-stable/libguestfs-${version}.tar.gz";
     sha256 = "0cgapiad3x5ggwm097mq62hng3bv91p5gmrikrb6adfaasr1l6m3";
@@ -54,14 +51,31 @@ stdenv.mkDerivation rec {
   postInstall = ''
     for bin in $out/bin/*; do
       wrapProgram "$bin" \
-        --prefix "PATH" : "$out/bin:${hivex}/bin:${qemu}/bin" \
-        --prefix "PERL5LIB" : "$PERL5LIB:$out/lib/perl5/site_perl"
+        --prefix PATH     : "$out/bin:${hivex}/bin:${qemu}/bin" \
+        --prefix PERL5LIB : "$out/lib/perl5/site_perl"
     done
   '';
 
-  postFixup = ''
-    mkdir -p "$out/lib/guestfs"
-    tar -Jxvf "$appliance" --strip 1 -C "$out/lib/guestfs"
+  postFixup = stdenv.lib.optionalString (appliance != null) ''
+    mkdir -p $out/{lib,lib64}
+    ln -s ${appliance} $out/lib64/guestfs
+    ln -s ${appliance} $out/lib/guestfs
+  '';
+
+  doInstallCheck = appliance != null;
+  installCheckPhase = ''
+    export HOME=$(mktemp -d) # avoid access to /homeless-shelter/.guestfish
+
+    ${qemu}/bin/qemu-img create -f qcow2 disk1.img 10G
+
+    $out/bin/guestfish <<'EOF'
+    add-drive disk1.img
+    run
+    list-filesystems
+    part-disk /dev/sda mbr
+    mkfs ext2 /dev/sda1
+    list-filesystems
+    EOF
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/libraries/libhttpseverywhere/default.nix b/pkgs/development/libraries/libhttpseverywhere/default.nix
index f39cc2574c9..332dd8444eb 100644
--- a/pkgs/development/libraries/libhttpseverywhere/default.nix
+++ b/pkgs/development/libraries/libhttpseverywhere/default.nix
@@ -1,25 +1,27 @@
-{ stdenv, fetchurl, pkgconfig, meson, ninja, valadoc
+{ stdenv, fetchurl, pkgconfig, meson, ninja, makeFontsConf
 , gnome3, glib, json-glib, libarchive, libsoup, gobjectIntrospection }:
 
 let
   pname = "libhttpseverywhere";
-  version = "0.8.0";
+  version = "0.8.3";
 in stdenv.mkDerivation rec {
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${gnome3.versionBranch version}/${name}.tar.xz";
-    sha256 = "0igq7g84kfczips3ywhyprxc8v67yrg3kj8lbgny4yyll67kksj3";
+    sha256 = "1jmn6i4vsm89q1axlq4ajqkzqmlmjaml9xhw3h9jnal46db6y00w";
   };
 
-  nativeBuildInputs = [ gnome3.vala gobjectIntrospection meson ninja pkgconfig valadoc ];
+  nativeBuildInputs = [ gnome3.vala gobjectIntrospection meson ninja pkgconfig ];
   buildInputs = [ glib gnome3.libgee json-glib libsoup libarchive ];
 
   mesonFlags = [ "-Denable_valadoc=true" ];
 
   doCheck = true;
 
-  checkPhase = "./httpseverywhere_test";
+  checkPhase = "(cd test && ./httpseverywhere_test)";
+
+  FONTCONFIG_FILE = makeFontsConf { fontDirectories = [ ]; };
 
   outputs = [ "out" "devdoc" ];
 
diff --git a/pkgs/development/libraries/libical/default.nix b/pkgs/development/libraries/libical/default.nix
index 5ba8bb66784..fd9c8dc9a5e 100644
--- a/pkgs/development/libraries/libical/default.nix
+++ b/pkgs/development/libraries/libical/default.nix
@@ -18,6 +18,8 @@ stdenv.mkDerivation rec {
     ./respect-env-tzdir.patch
   ];
 
+  doCheck = false; # fails all the tests (ctest)
+
   meta = with stdenv.lib; {
     homepage = https://github.com/libical/libical;
     description = "An Open Source implementation of the iCalendar protocols";
diff --git a/pkgs/development/libraries/libiconv/default.nix b/pkgs/development/libraries/libiconv/default.nix
index b55fc18cb69..169a4d38bb5 100644
--- a/pkgs/development/libraries/libiconv/default.nix
+++ b/pkgs/development/libraries/libiconv/default.nix
@@ -14,6 +14,11 @@ stdenv.mkDerivation rec {
     sha256 = "0y1ij745r4p48mxq84rax40p10ln7fc7m243p8k8sia519i3dxfc";
   };
 
+  setupHooks = [
+    ../../../build-support/setup-hooks/role.bash
+    ./setup-hook.sh
+  ];
+
   postPatch =
     lib.optionalString ((hostPlatform != buildPlatform && hostPlatform.libc == "msvcrt") || stdenv.cc.nativeLibc)
       ''
diff --git a/pkgs/development/libraries/libiconv/setup-hook.sh b/pkgs/development/libraries/libiconv/setup-hook.sh
new file mode 100644
index 00000000000..d20e94513e2
--- /dev/null
+++ b/pkgs/development/libraries/libiconv/setup-hook.sh
@@ -0,0 +1,6 @@
+# libiconv must be listed in load flags on non-Glibc
+# it doesn't hurt to have it in Glibc either though
+
+# See pkgs/build-support/setup-hooks/role.bash
+getHostRole
+export NIX_${role_pre}LDFLAGS+=" -liconv"
diff --git a/pkgs/development/libraries/libidn/default.nix b/pkgs/development/libraries/libidn/default.nix
index 54d669f1913..b6f08a9206e 100644
--- a/pkgs/development/libraries/libidn/default.nix
+++ b/pkgs/development/libraries/libidn/default.nix
@@ -1,11 +1,11 @@
 { fetchurl, stdenv, libiconv }:
 
 stdenv.mkDerivation rec {
-  name = "libidn-1.33";
+  name = "libidn-1.34";
 
   src = fetchurl {
     url = "mirror://gnu/libidn/${name}.tar.gz";
-    sha256 = "068fjg2arlppjqqpzd714n1lf6gxkpac9v5yyvp1qwmv6nvam9s4";
+    sha256 = "0g3fzypp0xjcgr90c5cyj57apx1cmy0c6y9lvw2qdcigbyby469p";
   };
 
   outputs = [ "bin" "dev" "out" "info" "devdoc" ];
@@ -17,6 +17,8 @@ stdenv.mkDerivation rec {
 
   buildInputs = stdenv.lib.optional stdenv.isDarwin libiconv;
 
+  doCheck = false; # fails
+
   meta = {
     homepage = http://www.gnu.org/software/libidn/;
     description = "Library for internationalized domain names";
diff --git a/pkgs/development/libraries/libidn2/default.nix b/pkgs/development/libraries/libidn2/default.nix
index 521fe00b56d..46cb579c56c 100644
--- a/pkgs/development/libraries/libidn2/default.nix
+++ b/pkgs/development/libraries/libidn2/default.nix
@@ -1,4 +1,4 @@
-{ fetchurl, stdenv, libiconv, libunistring, help2man, ronn }:
+{ fetchurl, stdenv, libiconv, libunistring, help2man, ronn, buildPackages }:
 
 with stdenv.lib;
 
@@ -15,8 +15,9 @@ stdenv.mkDerivation rec {
 
   patches = optional stdenv.isDarwin ./fix-error-darwin.patch;
 
-  buildInputs = [ libunistring ronn ]
-    ++ optionals stdenv.isDarwin [ libiconv help2man ];
+  nativeBuildInputs = optional stdenv.isDarwin help2man;
+  buildInputs = [ libunistring ] ++ optional stdenv.isDarwin libiconv;
+  depsBuildBuild = [ buildPackages.stdenv.cc ];
 
   meta = {
     homepage = "https://www.gnu.org/software/libidn/#libidn2";
diff --git a/pkgs/development/libraries/libimobiledevice/default.nix b/pkgs/development/libraries/libimobiledevice/default.nix
index cef9cc0af6b..d1b779627c6 100644
--- a/pkgs/development/libraries/libimobiledevice/default.nix
+++ b/pkgs/development/libraries/libimobiledevice/default.nix
@@ -10,7 +10,8 @@ stdenv.mkDerivation rec {
 
   patches = [
     ./disable_sslv3.patch
-    (fetchpatch { # CVE-2016-5104
+    (fetchpatch {
+      name = "CVE-2016-5104.patch";
       url = "https://github.com/libimobiledevice/libimobiledevice/commit/df1f5c4d70d0c19ad40072f5246ca457e7f9849e.patch";
       sha256 = "06ygb9aqcvm4v08wrldsddjgyqv5bkpq6lxzq2a1nwqp9mq4a4k1";
     })
diff --git a/pkgs/development/libraries/libindicate/default.nix b/pkgs/development/libraries/libindicate/default.nix
index 445a505b68c..1bde9336c66 100644
--- a/pkgs/development/libraries/libindicate/default.nix
+++ b/pkgs/development/libraries/libindicate/default.nix
@@ -3,7 +3,7 @@
 { stdenv, fetchurl, lib, file
 , pkgconfig, autoconf
 , glib, dbus-glib, libdbusmenu-glib
-, gtkVersion, gtk2 ? null, gtk3 ? null
+, gtkVersion ? "3", gtk2 ? null, gtk3 ? null
 , pythonPackages, gobjectIntrospection, vala, gnome-doc-utils
 , monoSupport ? false, mono ? null, gtk-sharp-2_0 ? null
  }:
diff --git a/pkgs/development/libraries/libindicator/default.nix b/pkgs/development/libraries/libindicator/default.nix
index 67936fecdf4..33691f79a4c 100644
--- a/pkgs/development/libraries/libindicator/default.nix
+++ b/pkgs/development/libraries/libindicator/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchurl, lib, file
 , pkgconfig
-, gtkVersion, gtk2 ? null, gtk3 ? null }:
+, gtkVersion ? "3", gtk2 ? null, gtk3 ? null }:
 
 with lib;
 
@@ -40,6 +40,8 @@ stdenv.mkDerivation rec {
     "localstatedir=\${TMPDIR}"
   ];
 
+  doCheck = false; # fails 8 out of 8 tests
+
   meta = {
     description = "A set of symbols and convenience functions for Ayatana indicators";
     homepage = https://launchpad.net/libindicator;
diff --git a/pkgs/development/libraries/libinfinity/default.nix b/pkgs/development/libraries/libinfinity/default.nix
index 9bbb8f0e129..208e0111062 100644
--- a/pkgs/development/libraries/libinfinity/default.nix
+++ b/pkgs/development/libraries/libinfinity/default.nix
@@ -4,7 +4,7 @@
 , avahiSupport ? false # build support for Avahi in libinfinity
 , stdenv, fetchurl, pkgconfig, glib, libxml2, gnutls, gsasl
 , gtk2 ? null, gtkdoc ? null, avahi ? null, libdaemon ? null, libidn, gss
-, libintlOrEmpty }:
+, libintl }:
 
 let
   edf = flag: feature: (if flag then "--with-" else "--without-") + feature;
@@ -12,21 +12,22 @@ let
 
 in stdenv.mkDerivation rec {
 
-  name = "libinfinity-0.7.1";
+  name = "libinfinity-${version}";
+  version = "0.7.1";
   src = fetchurl {
     url = "http://releases.0x539.de/libinfinity/${name}.tar.gz";
     sha256 = "1jw2fhrcbpyz99bij07iyhy9ffyqdn87vl8cb1qz897y3f2f0vk2";
   };
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ glib libxml2 gsasl libidn gss libintlOrEmpty ]
+  buildInputs = [ glib libxml2 gsasl libidn gss libintl ]
     ++ optional gtkWidgets gtk2
     ++ optional documentation gtkdoc
     ++ optional avahiSupport avahi
     ++ optional daemon libdaemon;
 
   propagatedBuildInputs = [ gnutls ];
-  
+
   configureFlags = ''
     ${if documentation then "--enable-gtk-doc" else "--disable-gtk-doc"}
     ${edf gtkWidgets "inftextgtk"}
@@ -36,7 +37,9 @@ in stdenv.mkDerivation rec {
     ${edf avahiSupport "avahi"}
   '';
 
-  NIX_LDFLAGS = stdenv.lib.optionalString stdenv.isDarwin "-lintl";
+  passthru = {
+    inherit version;
+  };
 
   meta = {
     homepage = http://gobby.0x539.de/;
diff --git a/pkgs/development/libraries/libinput/default.nix b/pkgs/development/libraries/libinput/default.nix
index dc88df31fbf..6773b7c1b1f 100644
--- a/pkgs/development/libraries/libinput/default.nix
+++ b/pkgs/development/libraries/libinput/default.nix
@@ -16,11 +16,11 @@ in
 with stdenv.lib;
 stdenv.mkDerivation rec {
   name = "libinput-${version}";
-  version = "1.9.4";
+  version = "1.10.3";
 
   src = fetchurl {
     url = "http://www.freedesktop.org/software/libinput/${name}.tar.xz";
-    sha256 = "142icwzpirwddl7ghfmynxpnsbjg53rjxpzv4arjsaiw9r6bvk8b";
+    sha256 = "0002xk9cqzpqrlhgav1wp8nimsbp9d2w8rd8mgygczq2hjar0lhd";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/pkgs/development/libraries/libjpeg-turbo/default.nix b/pkgs/development/libraries/libjpeg-turbo/default.nix
index 4ec0e5ebd9f..e4f70b792fd 100644
--- a/pkgs/development/libraries/libjpeg-turbo/default.nix
+++ b/pkgs/development/libraries/libjpeg-turbo/default.nix
@@ -29,9 +29,6 @@ stdenv.mkDerivation rec {
     description = "A faster (using SIMD) libjpeg implementation";
     license = licenses.ijg; # and some parts under other BSD-style licenses
     maintainers = [ maintainers.vcunat ];
-    # upstream supports darwin (and others), but it doesn't build currently
     platforms = platforms.all;
-    hydraPlatforms = platforms.linux;
   };
 }
-
diff --git a/pkgs/development/libraries/libjpeg/default.nix b/pkgs/development/libraries/libjpeg/default.nix
index 8b0a4ec98ed..96dbd463370 100644
--- a/pkgs/development/libraries/libjpeg/default.nix
+++ b/pkgs/development/libraries/libjpeg/default.nix
@@ -3,11 +3,11 @@
 with stdenv.lib;
 
 stdenv.mkDerivation {
-  name = "libjpeg-8d";
+  name = "libjpeg-9c";
 
   src = fetchurl {
-    url = http://www.ijg.org/files/jpegsrc.v8d.tar.gz;
-    sha256 = "1cz0dy05mgxqdgjf52p54yxpyy95rgl30cnazdrfmw7hfca9n0h0";
+    url = http://www.ijg.org/files/jpegsrc.v9c.tar.gz;
+    sha256 = "08kixcf3a7s9x91174abjnk1xbvj4v8crdc73zi4k9h3jfbm00k5";
   };
 
   configureFlags = optional static "--enable-static --disable-shared";
diff --git a/pkgs/development/libraries/libkate/default.nix b/pkgs/development/libraries/libkate/default.nix
index 77f047b4c58..6c7e5881a78 100644
--- a/pkgs/development/libraries/libkate/default.nix
+++ b/pkgs/development/libraries/libkate/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, libogg, libpng }:
 
 stdenv.mkDerivation rec {
-  name = "libkate-0.3.8";
+  name = "libkate-0.4.1";
 
   src = fetchurl {
     url = "https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/libkate/${name}.tar.gz";
-    sha256 = "00d6561g31la9bb8q99b7l4rvi67yiwm50ky8dhlsjd88h7rks2n";
+    sha256 = "0s3vr2nxfxlf1k75iqpp4l78yf4gil3f0v778kvlngbchvaq23n4";
   };
 
   buildInputs = [ libogg libpng ];
diff --git a/pkgs/development/libraries/libksba/default.nix b/pkgs/development/libraries/libksba/default.nix
index 3f7a4bed9cc..0611e0e57e7 100644
--- a/pkgs/development/libraries/libksba/default.nix
+++ b/pkgs/development/libraries/libksba/default.nix
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
 
   outputs = [ "out" "dev" "info" ];
 
-  buildInputs = stdenv.lib.optional stdenv.isDarwin gettext;
+  buildInputs = [ gettext ];
   propagatedBuildInputs = [ libgpgerror ];
 
   postInstall = ''
diff --git a/pkgs/development/libraries/liblangtag/default.nix b/pkgs/development/libraries/liblangtag/default.nix
new file mode 100644
index 00000000000..6d9085e1741
--- /dev/null
+++ b/pkgs/development/libraries/liblangtag/default.nix
@@ -0,0 +1,52 @@
+{stdenv, fetchurl, fetchFromBitbucket, autoreconfHook, gtkdoc, gettext
+, pkgconfig, glib, libxml2, gobjectIntrospection, gnome-common, unzip
+}:
+
+stdenv.mkDerivation rec {
+  name = "${pname}-${version}";
+  pname = "liblangtag";
+  version = "0.6.1";
+
+  src = fetchFromBitbucket {
+    owner = "tagoh";
+    repo = "${pname}";
+    rev = "${version}";
+    sha256 = "19dk2qsg7f3ig9xz8d73jvikmf5kvrwi008wrz2psxinbdml442g";
+  };
+
+  core_zip = fetchurl {
+    # please update if an update is available
+    url = "http://www.unicode.org/Public/cldr/33/core.zip";
+    sha256 = "1faq1p5dmxpkczz6cjfsry7piksgym19cq2kf4jj2v885h490d7s";
+  };
+
+  language_subtag_registry = fetchurl {
+    url = "http://www.iana.org/assignments/language-subtag-registry";
+    sha256 = "1qfkvllyqcy40vmnvjn5w9fxw7g6ww46cb306vkgcfghnjjfhv3b";
+  };
+
+  postPatch = ''
+    gtkdocize
+    cp "${core_zip}" data/core.zip
+    touch data/stamp-core-zip
+    cp "${language_subtag_registry}" data/language-subtag-registry
+  '';
+
+  configureFlags = [
+    ''--with-locale-alias=${stdenv.cc.libc}/share/locale/locale.alias''
+  ];
+
+  buildInputs = [ gettext glib libxml2 gobjectIntrospection gnome-common 
+    unzip ];
+  nativeBuildInputs = [ autoreconfHook gtkdoc gettext pkgconfig ];
+
+  meta = {
+    inherit version;
+    description = "An interface library to access tags for identifying languages";
+    license = stdenv.lib.licenses.mpl20;
+    maintainers = [stdenv.lib.maintainers.raskin];
+    platforms = stdenv.lib.platforms.linux;
+    # There are links to a homepage that are broken by a BitBucket change
+    homepage = "https://bitbucket.org/tagoh/liblangtag/overview";
+  };
+}
diff --git a/pkgs/development/libraries/liblo/default.nix b/pkgs/development/libraries/liblo/default.nix
index ae1d458b0d5..c72b9723dc5 100644
--- a/pkgs/development/libraries/liblo/default.nix
+++ b/pkgs/development/libraries/liblo/default.nix
@@ -8,7 +8,9 @@ stdenv.mkDerivation rec {
     sha256 = "0sn0ckc1d0845mhsaa62wf7f9v0c0ykiq796a30ja5096kib9qdc";
   };
 
-  meta = { 
+  doCheck = false; # fails 1 out of 3 tests
+
+  meta = {
     description = "Lightweight library to handle the sending and receiving of messages according to the Open Sound Control (OSC) protocol";
     homepage = https://sourceforge.net/projects/liblo;
     license = stdenv.lib.licenses.gpl2;
diff --git a/pkgs/development/libraries/liblouis/default.nix b/pkgs/development/libraries/liblouis/default.nix
index d3ddb99adad..a6005d66b4d 100644
--- a/pkgs/development/libraries/liblouis/default.nix
+++ b/pkgs/development/libraries/liblouis/default.nix
@@ -3,7 +3,7 @@
 }:
 
 let
-  version = "3.4.0";
+  version = "3.5.0";
 in stdenv.mkDerivation rec {
   name = "liblouis-${version}";
 
@@ -11,7 +11,7 @@ in stdenv.mkDerivation rec {
     owner = "liblouis";
     repo = "liblouis";
     rev = "v${version}";
-    sha256 = "1b3vf6sq2iffdvj0r2q5g5k198camy3sq2nwfz391brpwivsnayh";
+    sha256 = "0klmyh6cg9khv59j4xdsrwwjzdgylw689gvrjiy5jsvqll58fcsd";
   };
 
   outputs = [ "out" "dev" "man" "info" "doc" ];
@@ -50,6 +50,7 @@ in stdenv.mkDerivation rec {
   meta = with stdenv.lib; {
     description = "Open-source braille translator and back-translator";
     homepage = http://liblouis.org/;
+    broken = true;
     license = licenses.lgpl21;
     maintainers = with maintainers; [ jtojnar ];
     platforms = platforms.unix;
diff --git a/pkgs/development/libraries/libmbim/default.nix b/pkgs/development/libraries/libmbim/default.nix
index 1c8e65dafd4..431770ef12d 100644
--- a/pkgs/development/libraries/libmbim/default.nix
+++ b/pkgs/development/libraries/libmbim/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, pkgconfig, glib, python, udev, libgudev }:
 
 stdenv.mkDerivation rec {
-  name = "libmbim-1.14.2";
+  name = "libmbim-1.16.0";
 
   src = fetchurl {
     url = "https://www.freedesktop.org/software/libmbim/${name}.tar.xz";
-    sha256 = "1krirl9881dnx7l29zhvagk2qlhi26vpvkzdifjklhrjhimzxji2";
+    sha256 = "1hpsjc7bzmakzvj8z9fffvqknc38fa8ridpmklq46jyxxnz51jn8";
   };
 
   outputs = [ "out" "dev" "man" ];
diff --git a/pkgs/development/libraries/libmediainfo/default.nix b/pkgs/development/libraries/libmediainfo/default.nix
index 7999cc1dff4..8c204ba4006 100644
--- a/pkgs/development/libraries/libmediainfo/default.nix
+++ b/pkgs/development/libraries/libmediainfo/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, autoreconfHook, pkgconfig, libzen, zlib }:
 
 stdenv.mkDerivation rec {
-  version = "17.12";
+  version = "18.03.1";
   name = "libmediainfo-${version}";
   src = fetchurl {
     url = "https://mediaarea.net/download/source/libmediainfo/${version}/libmediainfo_${version}.tar.xz";
-    sha256 = "0lm4454ynp0msgqm3s0mnxqxql6i1ank35jvff5swnaxvwsbp0ml";
+    sha256 = "183gcb6h81blgvssfl5lxsv8h5izkgg6b86z0jy9g699adgkchq2";
   };
 
   nativeBuildInputs = [ autoreconfHook pkgconfig ];
diff --git a/pkgs/development/libraries/libmicrohttpd/default.nix b/pkgs/development/libraries/libmicrohttpd/default.nix
index 35928e6dbf9..041e0d98d65 100644
--- a/pkgs/development/libraries/libmicrohttpd/default.nix
+++ b/pkgs/development/libraries/libmicrohttpd/default.nix
@@ -1,18 +1,17 @@
-{ stdenv, fetchurl, libgcrypt, curl, gnutls, pkgconfig, libiconv, libintlOrEmpty }:
+{ stdenv, fetchurl, libgcrypt, curl, gnutls, pkgconfig, libiconv, libintl }:
 
 stdenv.mkDerivation rec {
   name = "libmicrohttpd-${version}";
-  version = "0.9.58";
+  version = "0.9.59";
 
   src = fetchurl {
     url = "mirror://gnu/libmicrohttpd/${name}.tar.gz";
-    sha256 = "1wq17qvizis7bsyvyw1gnfycvivssncngziddnyrbzv2dhvy24bs";
+    sha256 = "0g4jgnv43yddr9yxrqg11632rip0lg5c53gmy5wy3c0i1dywv74v";
   };
 
   outputs = [ "out" "dev" "devdoc" "info" ];
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ libgcrypt curl gnutls ]
-    ++ stdenv.lib.optionals stdenv.isDarwin [ libiconv libintlOrEmpty ];
+  buildInputs = [ libgcrypt curl gnutls libiconv libintl ];
 
   preCheck = ''
     # Since `localhost' can't be resolved in a chroot, work around it.
@@ -38,4 +37,3 @@ stdenv.mkDerivation rec {
     platforms = platforms.unix;
   };
 }
-
diff --git a/pkgs/development/libraries/libminc/default.nix b/pkgs/development/libraries/libminc/default.nix
index 673b572c089..ddab3439f02 100644
--- a/pkgs/development/libraries/libminc/default.nix
+++ b/pkgs/development/libraries/libminc/default.nix
@@ -1,31 +1,42 @@
-{ stdenv, fetchFromGitHub, cmake, zlib, netcdf, hdf5 }:
+{ stdenv, fetchFromGitHub, cmake, zlib, netcdf, nifticlib, hdf5 }:
 
 stdenv.mkDerivation rec {
-  name = "${pname}-2.3.00";
   pname = "libminc";
+  name  = "${pname}-2018-01-17";
 
+  owner = "BIC-MNI";
+
+  # current master is significantly ahead of most recent release, so use Git version:
   src = fetchFromGitHub {
-    owner = "BIC-MNI";
-    repo = pname;
-    rev = builtins.replaceStrings [ "." ] [ "-" ] name;
-    sha256 = "1gv1rq1q1brhglll2256cm6sns77ph6fvgbzk3ihkzq46y07yi9s";
+    inherit owner;
+    repo   = pname;
+    rev    = "a9cbe1353eae9791b7d5b03af16e0f86922ce40b";
+    sha256 = "0mn4n3ihzcr1jw2g1vy6c8p4lkc88jwljk04argmj7k4djrgpxpa";
   };
 
   nativeBuildInputs = [ cmake ];
-  buildInputs = [ zlib netcdf hdf5 ];
+  buildInputs = [ zlib netcdf nifticlib hdf5 ];
+
+  cmakeFlags = [ "-DBUILD_TESTING=${if doCheck then "TRUE" else "FALSE"}"
+                 "-DLIBMINC_MINC1_SUPPORT=TRUE"
+                 "-DLIBMINC_BUILD_SHARED_LIBS=TRUE"
+                 "-DLIBMINC_USE_SYSTEM_NIFTI=TRUE" ];
 
-  cmakeFlags = [ "-DBUILD_TESTING=${if doCheck then "ON" else "OFF"}"
-                 "-DLIBMINC_MINC1_SUPPORT=ON" ];
 
-  checkPhase = "ctest";
+  checkPhase = ''
+    export LD_LIBRARY_PATH="$(pwd)"  # see #22060
+    ctest -E 'ezminc_rw_test|minc_conversion' --output-on-failure
+    # ezminc_rw_test can't find libminc_io.so.5.2.0; minc_conversion hits netcdf compilation issue
+  '';
   doCheck = true;
 
   enableParallelBuilding = true;
 
   meta = with stdenv.lib; {
-    homepage = https://github.com/BIC-MNI/libminc;
+    homepage = "https://github.com/${owner}/${pname}";
     description = "Medical imaging library based on HDF5";
     maintainers = with maintainers; [ bcdarwin ];
     platforms = platforms.unix;
+    license   = licenses.free;
   };
 }
diff --git a/pkgs/development/libraries/libmkv/A01-hbmv-pgs.patch b/pkgs/development/libraries/libmkv/A01-hbmv-pgs.patch
deleted file mode 100644
index 9f863cac412..00000000000
--- a/pkgs/development/libraries/libmkv/A01-hbmv-pgs.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff --git a/include/libmkv.h b/include/libmkv.h
-index 146a91f..f03d608 100644
---- a/include/libmkv.h
-+++ b/include/libmkv.h
-@@ -94,6 +94,7 @@ extern "C" {
- #define MK_SUBTITLE_USF    "S_TEXT/USF"
- #define MK_SUBTITLE_VOBSUB "S_VOBSUB"
- #define MK_SUBTITLE_BMP    "S_IMAGE/BMP"
-+#define MK_SUBTITLE_PGS    "S_HDMV/PGS"
- 
- /* Official Tags */
- #define MK_TAG_TITLE		"TITLE"
diff --git a/pkgs/development/libraries/libmkv/A02-audio-out-sampling-freq.patch b/pkgs/development/libraries/libmkv/A02-audio-out-sampling-freq.patch
deleted file mode 100644
index ea31957c1d2..00000000000
--- a/pkgs/development/libraries/libmkv/A02-audio-out-sampling-freq.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-diff --git a/include/libmkv.h b/include/libmkv.h
-index 146a91f..f03d608 100644
---- a/include/libmkv.h
-+++ b/include/libmkv.h
-@@ -203,6 +204,7 @@ struct mk_TrackConfig_s {
- 		} video;
- 		struct {
- 			float samplingFreq;	/* Sampling Frequency in Hz */
-+			float outputSamplingFreq;	/* Playback Sampling Frequency in Hz (e.g. for AAC w/SBR) */
- 			unsigned channels;	/* Number of channels for this track */
- 			unsigned bitDepth;	/* Bits per sample (PCM) */
- 		} audio;
-diff --git a/src/tracks.c b/src/tracks.c
-index f9c7e48..a2a60ca 100644
---- a/src/tracks.c
-+++ b/src/tracks.c
-@@ -174,6 +174,11 @@ mk_Track *mk_createTrack(mk_Writer *w, mk_TrackConfig *tc)
- 			/* SamplingFrequency */
- 			if (mk_writeFloat(v, MATROSKA_ID_AUDIOSAMPLINGFREQ, tc->extra.audio.samplingFreq) < 0)
- 				return NULL;
-+			if (tc->extra.audio.outputSamplingFreq) {
-+				/* Output SamplingFrequency */
-+				if (mk_writeFloat(v, MATROSKA_ID_AUDIOOUTSAMPLINGFREQ, tc->extra.audio.outputSamplingFreq) < 0)
-+					return NULL;
-+			}
- 			/* Channels */
- 			if (mk_writeUInt(v, MATROSKA_ID_AUDIOCHANNELS, tc->extra.audio.channels) < 0)
- 				return NULL;
diff --git a/pkgs/development/libraries/libmkv/P00-mingw-large-file.patch b/pkgs/development/libraries/libmkv/P00-mingw-large-file.patch
deleted file mode 100644
index 6a83eacca83..00000000000
--- a/pkgs/development/libraries/libmkv/P00-mingw-large-file.patch
+++ /dev/null
@@ -1,24 +0,0 @@
---- libmkv.orig/src/matroska.c	2009-01-12 23:14:26.000000000 -0800
-+++ libmkv/src/matroska.c	2009-03-25 15:22:30.000000000 -0700
-@@ -27,6 +27,11 @@
- 
- #include <sys/time.h>
- 
-+#if defined( __MINGW32__ )
-+#undef fseeko
-+#define fseeko fseeko64
-+#endif
-+
- #define RESERVED_SEEKHEAD 0x100
- /* 256 bytes should be enough room for our Seek entries. */
- #define RESERVED_CHAPTERS 0x800
-@@ -34,7 +39,7 @@
- 
- int mk_seekFile(mk_Writer *w, uint64_t pos)
- {
--	if (fseek(w->fp, pos, SEEK_SET))
-+	if (fseeko(w->fp, pos, SEEK_SET))
- 		return -1;
- 
- 	w->f_pos = pos;
-
diff --git a/pkgs/development/libraries/libmkv/default.nix b/pkgs/development/libraries/libmkv/default.nix
index ab451fcd5fd..48e710c208f 100644
--- a/pkgs/development/libraries/libmkv/default.nix
+++ b/pkgs/development/libraries/libmkv/default.nix
@@ -1,26 +1,19 @@
 { stdenv, fetchgit, libtool, autoconf, automake }:
 
 stdenv.mkDerivation rec {
-  name = "libmkv-0.6.5.1p2";
-  
+  name = "libmkv-${version}";
+  version = "0.6.5.1";
+
   src = fetchgit {
     url = https://github.com/saintdev/libmkv.git;
-    rev = "refs/tags/0.6.5.1";
+    rev = "refs/tags/${version}";
     sha256 = "0pr9q7yprndl8d15ir7i7cznvmf1yqpvnsyivv763n6wryssq6dl";
   };
 
   nativeBuildInputs = [ libtool autoconf automake ];
 
-  # TODO fix library version
   preConfigure = "sh bootstrap.sh";
 
-  # From Handbrake
-  patches = [
-    ./A01-hbmv-pgs.patch
-    ./A02-audio-out-sampling-freq.patch
-    ./P00-mingw-large-file.patch
-  ];
-
   meta = {
     homepage = https://github.com/saintdev/libmkv;
     license = stdenv.lib.licenses.gpl2;
diff --git a/pkgs/development/libraries/libmng/default.nix b/pkgs/development/libraries/libmng/default.nix
index ff627499855..749a5d60e46 100644
--- a/pkgs/development/libraries/libmng/default.nix
+++ b/pkgs/development/libraries/libmng/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, zlib, libpng, libjpeg, lcms2 }:
 
 stdenv.mkDerivation rec {
-  name = "libmng-2.0.2";
+  name = "libmng-2.0.3";
 
   src = fetchurl {
     url = "mirror://sourceforge/libmng/${name}.tar.xz";
-    sha256 = "0l5wa3b9rr4zl49zbbjpapqyccqjwzkzw1ph3p4pk9p5h73h9317";
+    sha256 = "1lvxnpds0vcf0lil6ia2036ghqlbl740c4d2sz0q5g6l93fjyija";
   };
 
   outputs = [ "out" "dev" "devdoc" ];
diff --git a/pkgs/development/libraries/libmnl/default.nix b/pkgs/development/libraries/libmnl/default.nix
index 33ccccea2e9..2dbdb60b4b6 100644
--- a/pkgs/development/libraries/libmnl/default.nix
+++ b/pkgs/development/libraries/libmnl/default.nix
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
       This library aims to provide simple helpers that allows you to re-use code and to avoid
       re-inventing the wheel.
     '';
-    homepage = http://netfilter.org/projects/libmnl/index.html;
+    homepage = https://netfilter.org/projects/libmnl/index.html;
     license = stdenv.lib.licenses.lgpl21Plus;
 
     platforms = stdenv.lib.platforms.linux;
diff --git a/pkgs/development/libraries/libmodplug/default.nix b/pkgs/development/libraries/libmodplug/default.nix
index 600d7faace2..85800491016 100644
--- a/pkgs/development/libraries/libmodplug/default.nix
+++ b/pkgs/development/libraries/libmodplug/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl }:
 
 let
-  version = "0.8.8.5";
+  version = "0.8.9.0";
 in stdenv.mkDerivation rec {
   name = "libmodplug-${version}";
 
@@ -15,6 +15,6 @@ in stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://sourceforge/project/modplug-xmms/libmodplug/${version}/${name}.tar.gz";
-    sha256 = "1bfsladg7h6vnii47dd66f5vh1ir7qv12mfb8n36qiwrxq92sikp";
+    sha256 = "1pnri98a603xk47smnxr551svbmgbzcw018mq1k6srbrq6kaaz25";
   };
 }
diff --git a/pkgs/development/libraries/libmowgli/default.nix b/pkgs/development/libraries/libmowgli/default.nix
index 06a98bcdceb..b23701837fa 100644
--- a/pkgs/development/libraries/libmowgli/default.nix
+++ b/pkgs/development/libraries/libmowgli/default.nix
@@ -1,11 +1,12 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "libmowgli-0.9.50";
+  name = "libmowgli-${version}";
+  version = "2.1.3";
   
   src = fetchurl {
-    url = "http://distfiles.atheme.org/${name}.tar.bz2";
-    sha256 = "0wbnpd2rzk5jg6pghgxyx7brjrdmsyg4p0mm9blwmrdrj5ybxx9z";
+    url = "https://github.com/atheme/libmowgli-2/archive/v${version}.tar.gz";
+    sha256 = "0xx4vndmwz40pxa5gikl8z8cskpdl9a30i2i5fjncqzlp4pspymp";
   };
   
   meta = {
diff --git a/pkgs/development/libraries/libmsgpack/generic.nix b/pkgs/development/libraries/libmsgpack/generic.nix
index 7bca8f21c6b..947960d2359 100644
--- a/pkgs/development/libraries/libmsgpack/generic.nix
+++ b/pkgs/development/libraries/libmsgpack/generic.nix
@@ -13,17 +13,16 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  crossAttrs = {
-  } // stdenv.lib.optionalAttrs (hostPlatform.libc == "msvcrt") {
-    cmakeFlags = [
-      "-DMSGPACK_BUILD_EXAMPLES=OFF"
-      "-DCMAKE_SYSTEM_NAME=Windows"
-    ];
-  };
+  cmakeFlags = []
+    ++ stdenv.lib.optional (stdenv.hostPlatform != stdenv.buildPlatform)
+                           "-DMSGPACK_BUILD_EXAMPLES=OFF"
+    ++ stdenv.lib.optional (hostPlatform.libc == "msvcrt")
+                           "-DCMAKE_SYSTEM_NAME=Windows"
+    ;
 
   meta = with stdenv.lib; {
     description = "MessagePack implementation for C and C++";
-    homepage    = http://msgpack.org;
+    homepage    = https://msgpack.org;
     license     = licenses.asl20;
     maintainers = with maintainers; [ redbaron wkennington ];
     platforms   = platforms.all;
diff --git a/pkgs/development/libraries/libmtp/default.nix b/pkgs/development/libraries/libmtp/default.nix
index dca80bbbe88..c3061626a6a 100644
--- a/pkgs/development/libraries/libmtp/default.nix
+++ b/pkgs/development/libraries/libmtp/default.nix
@@ -1,15 +1,16 @@
-{ stdenv, fetchurl, pkgconfig, libusb1 }:
+{ stdenv, fetchurl, pkgconfig, libusb1, libiconv }:
 
 stdenv.mkDerivation rec {
-  name = "libmtp-1.1.14";
+  name = "libmtp-1.1.15";
 
   src = fetchurl {
     url = "mirror://sourceforge/libmtp/${name}.tar.gz";
-    sha256 = "1s0jyhypxmj0j8s003ba1n74x63h1rw8am9q4z2ip3xyjvid65rq";
+    sha256 = "089h79nkz7wcr3lbqi7025l8p75hbp0aigxk3wdk2zkm8q5r0h6h";
   };
 
   outputs = [ "bin" "dev" "out" ];
 
+  buildInputs = [ libiconv ];
   propagatedBuildInputs = [ libusb1 ];
   nativeBuildInputs = [ pkgconfig ];
 
@@ -24,7 +25,7 @@ stdenv.mkDerivation rec {
       in the form of a library suitable primarily for POSIX compliant operating
       systems. We implement MTP Basic, the stuff proposed for standardization.
       '';
-    platforms = stdenv.lib.platforms.linux;
+    platforms = stdenv.lib.platforms.unix;
     maintainers = [ ];
   };
 }
diff --git a/pkgs/development/libraries/libmwaw/default.nix b/pkgs/development/libraries/libmwaw/default.nix
index 35137a09cd9..79718b47745 100644
--- a/pkgs/development/libraries/libmwaw/default.nix
+++ b/pkgs/development/libraries/libmwaw/default.nix
@@ -3,11 +3,11 @@ let
   s = # Generated upstream information
   rec {
     baseName="libmwaw";
-    version="0.3.13";
+    version="0.3.14";
     name="${baseName}-${version}";
-    hash="1sjs3nc39im232h5bf81w3il8ivd7w2bc2qssxf7k74g8hlcfmfv";
-    url="mirror://sourceforge/libmwaw/libmwaw/libmwaw-0.3.13/libmwaw-0.3.13.tar.xz";
-    sha256="1sjs3nc39im232h5bf81w3il8ivd7w2bc2qssxf7k74g8hlcfmfv";
+    hash="1s9wyf8pyh3fbazq2d2b6fgi7s7bid60viw2xbdkmn2ywlfbza5c";
+    url="mirror://sourceforge/libmwaw/libmwaw/libmwaw-0.3.14/libmwaw-0.3.14.tar.xz";
+    sha256="1s9wyf8pyh3fbazq2d2b6fgi7s7bid60viw2xbdkmn2ywlfbza5c";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/development/libraries/libmypaint/default.nix b/pkgs/development/libraries/libmypaint/default.nix
index 0583d94ef7f..8719f19acc1 100644
--- a/pkgs/development/libraries/libmypaint/default.nix
+++ b/pkgs/development/libraries/libmypaint/default.nix
@@ -1,4 +1,4 @@
-{stdenv, autoconf, automake, fetchFromGitHub, glib, intltool, json_c, libtool, pkgconfig}:
+{stdenv, autoconf, automake, fetchFromGitHub, fetchpatch, glib, intltool, json_c, libtool, pkgconfig}:
 
 let
   version = "1.3.0";
@@ -12,6 +12,14 @@ in stdenv.mkDerivation rec {
     sha256 = "0b7aynr6ggigwhjkfzi8x3dwz15blj4grkg9hysbgjh6lvzpy9jc";
   };
 
+  patches = [
+    # build with automake 1.16
+    (fetchpatch {
+      url = https://github.com/mypaint/libmypaint/commit/40d9077a80be13942476f164bddfabe842ab2a45.patch;
+      sha256 = "1dclh7apgvr2bvzy9z3rgas3hk9pf2hpf5h52q94kmx8s4a47qpi";
+    })
+  ];
+
   nativeBuildInputs = [ autoconf automake intltool libtool pkgconfig ];
 
   buildInputs = [ glib ];
diff --git a/pkgs/development/libraries/libmysqlconnectorcpp/default.nix b/pkgs/development/libraries/libmysqlconnectorcpp/default.nix
index c184e647d28..9eefbcfdb49 100644
--- a/pkgs/development/libraries/libmysqlconnectorcpp/default.nix
+++ b/pkgs/development/libraries/libmysqlconnectorcpp/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "libmysqlconnectorcpp-${version}";
-  version = "1.1.7";
+  version = "1.1.9";
 
   src = fetchurl {
     url = "http://cdn.mysql.com/Downloads/Connector-C++/mysql-connector-c++-${version}.tar.gz";
-    sha256 = "0qy7kxz8h1zswr50ysyl2cc9gy0ip2j7ikl714m7lq3gsay3ydav";
+    sha256 = "1r6j17sy5816a2ld759iis2k6igc2w9p70y4nw9w3rd4d5x88c9y";
   };
 
   buildInputs = [ cmake boost mysql ];
diff --git a/pkgs/development/libraries/libnatspec/default.nix b/pkgs/development/libraries/libnatspec/default.nix
index fe38755f10c..9b692e9e3b2 100644
--- a/pkgs/development/libraries/libnatspec/default.nix
+++ b/pkgs/development/libraries/libnatspec/default.nix
@@ -19,6 +19,5 @@ stdenv.mkDerivation (rec {
     maintainers = [ ];
   };
 } // stdenv.lib.optionalAttrs (!stdenv.isLinux) {
-  NIX_LDFLAGS = "-liconv";
   propagatedBuildInputs = [ libiconv ];
 })
diff --git a/pkgs/development/libraries/libnetfilter_conntrack/default.nix b/pkgs/development/libraries/libnetfilter_conntrack/default.nix
index 17dea7b3d7d..41245e6539f 100644
--- a/pkgs/development/libraries/libnetfilter_conntrack/default.nix
+++ b/pkgs/development/libraries/libnetfilter_conntrack/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "libnetfilter_conntrack-${version}";
-  version = "1.0.6";
+  version = "1.0.7";
 
   src = fetchurl {
-    url = "http://netfilter.org/projects/libnetfilter_conntrack/files/${name}.tar.bz2";
-    sha256 = "1svzyf3rq9nbrcw1jsricgyhh7x1am8iqn6kjr6mzrw42810ik7g";
+    url = "https://netfilter.org/projects/libnetfilter_conntrack/files/${name}.tar.bz2";
+    sha256 = "1dl9z50yny04xi5pymlykwmy6hcfc9p4nd7m47697zwxw98m6s1k";
   };
 
   buildInputs = [ libmnl ];
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
       previously known as libnfnetlink_conntrack and libctnetlink. This library is currently used
       by conntrack-tools among many other applications
     '';
-    homepage = http://netfilter.org/projects/libnetfilter_conntrack/;
+    homepage = https://netfilter.org/projects/libnetfilter_conntrack/;
     license = licenses.gpl2Plus;
     platforms = platforms.linux;
   };
diff --git a/pkgs/development/libraries/libnetfilter_cttimeout/default.nix b/pkgs/development/libraries/libnetfilter_cttimeout/default.nix
index f30e12a4163..d16155374ca 100644
--- a/pkgs/development/libraries/libnetfilter_cttimeout/default.nix
+++ b/pkgs/development/libraries/libnetfilter_cttimeout/default.nix
@@ -5,7 +5,7 @@ stdenv.mkDerivation rec {
   version = "1.0.0";
 
   src = fetchurl {
-    url = "http://netfilter.org/projects/libnetfilter_cttimeout/files/${name}.tar.bz2";
+    url = "https://netfilter.org/projects/libnetfilter_cttimeout/files/${name}.tar.bz2";
     sha256 = "aeab12754f557cba3ce2950a2029963d817490df7edb49880008b34d7ff8feba";
   };
 
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
       With this library, you can create, update and delete timeout policies that can
       be attached to traffic flows. This library is used by conntrack-tools.
     '';
-    homepage = http://netfilter.org/projects/libnetfilter_cttimeout/;
+    homepage = https://netfilter.org/projects/libnetfilter_cttimeout/;
     license = stdenv.lib.licenses.gpl2Plus;
     platforms = stdenv.lib.platforms.linux;
   };
diff --git a/pkgs/development/libraries/libnetfilter_log/default.nix b/pkgs/development/libraries/libnetfilter_log/default.nix
index f660cd7a781..0d8de14513e 100644
--- a/pkgs/development/libraries/libnetfilter_log/default.nix
+++ b/pkgs/development/libraries/libnetfilter_log/default.nix
@@ -5,7 +5,7 @@ stdenv.mkDerivation rec {
   version = "1.0.1";
 
   src = fetchurl {
-    url = "http://netfilter.org/projects/libnetfilter_log/files/${name}.tar.bz2";
+    url = "https://netfilter.org/projects/libnetfilter_log/files/${name}.tar.bz2";
     sha256 = "089vjcfxl5qjqpswrbgklf4wflh44irmw6sk2k0kmfixfmszxq3l";
   };
 
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
       system that deprecates the old syslog/dmesg based packet logging. This
       library has been previously known as libnfnetlink_log.
     '';
-    homepage = http://netfilter.org/projects/libnetfilter_log/;
+    homepage = https://netfilter.org/projects/libnetfilter_log/;
     license = licenses.gpl2Plus;
     platforms = platforms.linux;
     maintainers = with maintainers; [ orivej ];
diff --git a/pkgs/development/libraries/libnfs/default.nix b/pkgs/development/libraries/libnfs/default.nix
index d9149a1fbac..2955aaebc01 100644
--- a/pkgs/development/libraries/libnfs/default.nix
+++ b/pkgs/development/libraries/libnfs/default.nix
@@ -13,6 +13,8 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ autoreconfHook ];
 
+  NIX_CFLAGS_COMPILE = stdenv.lib.optionalString stdenv.cc.isClang "-Wno-error=tautological-compare";
+
   enableParallelBuilding = true;
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/libraries/libnfsidmap/default.nix b/pkgs/development/libraries/libnfsidmap/default.nix
index 74562ebe132..ce21cda4a5d 100644
--- a/pkgs/development/libraries/libnfsidmap/default.nix
+++ b/pkgs/development/libraries/libnfsidmap/default.nix
@@ -2,12 +2,16 @@
 
 stdenv.mkDerivation rec {
   name = "libnfsidmap-0.25";
-  
+
   src = fetchurl {
     url = "http://www.citi.umich.edu/projects/nfsv4/linux/libnfsidmap/${name}.tar.gz";
     sha256 = "1kzgwxzh83qi97rblcm9qj80cdvnv8kml2plz0q103j0hifj8vb5";
   };
 
+  postPatch = ''
+    sed -i '1i#include <sys/types.h>' cfg.h
+  '';
+
   preConfigure =
     ''
       configureFlags="--with-pluginpath=$out/lib/libnfsidmap"
diff --git a/pkgs/development/libraries/libnftnl/default.nix b/pkgs/development/libraries/libnftnl/default.nix
index ad8c7626661..6570d1eb3c0 100644
--- a/pkgs/development/libraries/libnftnl/default.nix
+++ b/pkgs/development/libraries/libnftnl/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, pkgconfig, libmnl }:
 
 stdenv.mkDerivation rec {
-  version = "1.0.9";
+  version = "1.1.0";
   name = "libnftnl-${version}";
 
   src = fetchurl {
     url = "https://netfilter.org/projects/libnftnl/files/${name}.tar.bz2";
-    sha256 = "0d9nkdbdck8sg6msysqyv3m9kjr9sjif5amf26dfa0g3mqjdihgy";
+    sha256 = "0v4gywcjvv2vg4zk632al1zv3ad0lx87nshynv110l8n3fhsq3pc";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/development/libraries/libngspice/default.nix b/pkgs/development/libraries/libngspice/default.nix
new file mode 100644
index 00000000000..b6d5912581b
--- /dev/null
+++ b/pkgs/development/libraries/libngspice/default.nix
@@ -0,0 +1,25 @@
+{stdenv, fetchurl, bison, flex, fftw}:
+
+# Note that this does not provide the ngspice command-line utility. For that see
+# the ngspice derivation.
+stdenv.mkDerivation {
+  name = "libngspice-26";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/ngspice/ngspice-26.tar.gz";
+    sha256 = "51e230c8b720802d93747bc580c0a29d1fb530f3dd06f213b6a700ca9a4d0108";
+  };
+
+  nativeBuildInputs = [ flex bison ];
+  buildInputs = [ fftw ];
+
+  configureFlags = [ "--with-ngshared" "--enable-xspice" "--enable-cider" ];
+
+  meta = with stdenv.lib; {
+    description = "The Next Generation Spice (Electronic Circuit Simulator)";
+    homepage = http://ngspice.sourceforge.net;
+    license = with licenses; [ "BSD" gpl2 ];
+    maintainers = with maintainers; [ bgamari ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/libnih/default.nix b/pkgs/development/libraries/libnih/default.nix
index 4903d54b4a3..22eb8ed64dd 100644
--- a/pkgs/development/libraries/libnih/default.nix
+++ b/pkgs/development/libraries/libnih/default.nix
@@ -4,7 +4,7 @@ let version = "1.0.3"; in
 
 stdenv.mkDerivation rec {
   name = "libnih-${version}";
-  
+
   src = fetchurl {
     url = "http://code.launchpad.net/libnih/1.0/${version}/+download/libnih-${version}.tar.gz";
     sha256 = "01glc6y7z1g726zwpvp2zm79pyb37ki729jkh45akh35fpgp4xc9";
@@ -13,6 +13,8 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ dbus expat ];
 
+  doCheck = false; # fails 1 of 17 test
+
   meta = {
     description = "A small library for C application development";
     homepage = https://launchpad.net/libnih;
diff --git a/pkgs/development/libraries/libofx/default.nix b/pkgs/development/libraries/libofx/default.nix
index 1c8f33d82f7..86166ec608f 100644
--- a/pkgs/development/libraries/libofx/default.nix
+++ b/pkgs/development/libraries/libofx/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, opensp, pkgconfig, libxml2, curl }:
         
 stdenv.mkDerivation rec {
-  name = "libofx-0.9.12";
+  name = "libofx-0.9.13";
 
   src = fetchurl {
     url = "mirror://sourceforge/libofx/${name}.tar.gz";
-    sha256 = "0wvkgffq9qjhjrggg8r1nbhmw65j3lcl4y4cdpmmkrqiz9ia0py1";
+    sha256 = "1r60pj1jn269mk4s4025qxllkzgvnbw5r3vby8j2ry5svmygksjp";
   };
 
   configureFlags = [ "--with-opensp-includes=${opensp}/include/OpenSP" ];
diff --git a/pkgs/development/libraries/liboil/default.nix b/pkgs/development/libraries/liboil/default.nix
index a8d2953cad0..fb2dad60525 100644
--- a/pkgs/development/libraries/liboil/default.nix
+++ b/pkgs/development/libraries/liboil/default.nix
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "A library of simple functions that are optimized for various CPUs";
-    homepage    = http://liboil.freedesktop.org;
+    homepage    = https://liboil.freedesktop.org;
     license     = licenses.bsd2;
     maintainers = with maintainers; [ lovek323 ];
     platforms   = platforms.all;
diff --git a/pkgs/development/libraries/libomxil-bellagio/default.nix b/pkgs/development/libraries/libomxil-bellagio/default.nix
index 28c8a915c63..68302acac29 100644
--- a/pkgs/development/libraries/libomxil-bellagio/default.nix
+++ b/pkgs/development/libraries/libomxil-bellagio/default.nix
@@ -14,6 +14,8 @@ stdenv.mkDerivation rec {
 
   patches = [ ./fedora-fixes.patch ];
 
+  doCheck = false; # fails
+
   meta = with stdenv.lib; {
     homepage = https://sourceforge.net/projects/omxil/;
     description = "An opensource implementation of the Khronos OpenMAX Integration Layer API to access multimedia components";
diff --git a/pkgs/development/libraries/libopcodes/default.nix b/pkgs/development/libraries/libopcodes/default.nix
index d6d6989761b..c918c61abf0 100644
--- a/pkgs/development/libraries/libopcodes/default.nix
+++ b/pkgs/development/libraries/libopcodes/default.nix
@@ -1,15 +1,15 @@
 { stdenv, buildPackages
-, fetchurl, autoreconfHook264, bison, binutils-raw
+, fetchurl, autoreconfHook264, bison, binutils-unwrapped
 , libiberty, libbfd
 }:
 
 stdenv.mkDerivation rec {
   name = "libopcodes-${version}";
-  inherit (binutils-raw.bintools) version src;
+  inherit (binutils-unwrapped) version src;
 
   outputs = [ "out" "dev" ];
 
-  patches = binutils-raw.bintools.patches ++ [
+  patches = binutils-unwrapped.patches ++ [
     ../../tools/misc/binutils/build-components-separately.patch
   ];
 
diff --git a/pkgs/development/libraries/libpar2/default.nix b/pkgs/development/libraries/libpar2/default.nix
index 6d7606428f6..cf97744069b 100644
--- a/pkgs/development/libraries/libpar2/default.nix
+++ b/pkgs/development/libraries/libpar2/default.nix
@@ -15,6 +15,8 @@ stdenv.mkDerivation rec {
 
   patches = [ ./libpar2-0.4-external-verification.patch ];
 
+  CXXFLAGS = stdenv.lib.optionalString stdenv.cc.isClang "-std=c++11";
+
   meta = {
     homepage = http://parchive.sourceforge.net/;
     license = stdenv.lib.licenses.gpl2Plus;
diff --git a/pkgs/development/libraries/libpcap/default.nix b/pkgs/development/libraries/libpcap/default.nix
index bef5f9a9da3..94555438693 100644
--- a/pkgs/development/libraries/libpcap/default.nix
+++ b/pkgs/development/libraries/libpcap/default.nix
@@ -12,10 +12,16 @@ stdenv.mkDerivation rec {
 
   # We need to force the autodetection because detection doesn't
   # work in pure build enviroments.
-  configureFlags =
-    if stdenv.isLinux then [ "--with-pcap=linux" ]
-    else if stdenv.isDarwin then [ "--with-pcap=bpf" ]
-    else [];
+  configureFlags = [
+    ("--with-pcap=" + {
+      linux = "linux";
+      darwin = "bpf";
+    }.${stdenv.hostPlatform.parsed.kernel.name})
+  ] ++ stdenv.lib.optionals (stdenv.hostPlatform == stdenv.buildPlatform) [
+    "ac_cv_linux_vers=2"
+  ];
+
+  dontStrip = stdenv.hostPlatform != stdenv.buildPlatform;
 
   prePatch = stdenv.lib.optionalString stdenv.isDarwin ''
     substituteInPlace configure --replace " -arch i386" ""
@@ -39,12 +45,6 @@ stdenv.mkDerivation rec {
 
   preInstall = ''mkdir -p $out/bin'';
 
-  crossAttrs = {
-    # Stripping hurts in static libraries
-    dontStrip = true;
-    configureFlags = configureFlags ++ [ "ac_cv_linux_vers=2" ];
-  };
-
   meta = with stdenv.lib; {
     homepage = http://www.tcpdump.org;
     description = "Packet Capture Library";
diff --git a/pkgs/development/libraries/libpipeline/default.nix b/pkgs/development/libraries/libpipeline/default.nix
index 4da6a0b3cbc..e11527ca10c 100644
--- a/pkgs/development/libraries/libpipeline/default.nix
+++ b/pkgs/development/libraries/libpipeline/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl }:
- 
+
 stdenv.mkDerivation rec {
-  name = "libpipeline-1.4.1";
-  
+  name = "libpipeline-1.5.0";
+
   src = fetchurl {
     url = "mirror://savannah/libpipeline/${name}.tar.gz";
-    sha256 = "1vmrs4nvdsmb550bk10cankrd42ffczlibpsnafxpak306rdfins";
+    sha256 = "0avg525wvifcvjrwa6i1r6kvahmsswj0mpxrsxzzdzra9wpf2whd";
   };
 
   patches = stdenv.lib.optionals stdenv.isDarwin [ ./fix-on-osx.patch ];
diff --git a/pkgs/development/libraries/libpng/12.nix b/pkgs/development/libraries/libpng/12.nix
index 457f99ef13b..01a828f95da 100644
--- a/pkgs/development/libraries/libpng/12.nix
+++ b/pkgs/development/libraries/libpng/12.nix
@@ -18,11 +18,6 @@ stdenv.mkDerivation rec {
 
   passthru = { inherit zlib; };
 
-  crossAttrs = stdenv.lib.optionalAttrs (hostPlatform.libc == "libSystem") {
-    propagatedBuildInputs = [];
-    passthru = {};
-  };
-
   configureFlags = "--enable-static";
 
   postInstall = ''mv "$out/bin" "$dev/bin"'';
diff --git a/pkgs/development/libraries/libpqxx/default.nix b/pkgs/development/libraries/libpqxx/default.nix
index 97fb5f27d9d..f027b767db6 100644
--- a/pkgs/development/libraries/libpqxx/default.nix
+++ b/pkgs/development/libraries/libpqxx/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "libpqxx-${version}";
-  version = "6.1.0";
+  version = "6.2.3";
 
   src = fetchFromGitHub {
     owner = "jtv";
     repo = "libpqxx";
     rev = version;
-    sha256 = "1dv96h10njg115216n2zm6fsvi4kb502hmhhn8cjhlfbxr9vc84q";
+    sha256 = "130mkkq46l23aaxfc2bnlf9mi3qxfn5465ziz0048bxymbxa7b58";
   };
 
   nativeBuildInputs = [ gnused python2 ];
diff --git a/pkgs/development/libraries/libproxy/default.nix b/pkgs/development/libraries/libproxy/default.nix
index bf9e2d079cd..02e634b22a3 100644
--- a/pkgs/development/libraries/libproxy/default.nix
+++ b/pkgs/development/libraries/libproxy/default.nix
@@ -30,6 +30,8 @@ stdenv.mkDerivation rec {
     )
   '';
 
+  doCheck = false; # fails 1 out of 10 tests
+
   meta = with stdenv.lib; {
     platforms = platforms.linux ++ platforms.darwin;
     license = licenses.lgpl21;
diff --git a/pkgs/development/libraries/libqalculate/default.nix b/pkgs/development/libraries/libqalculate/default.nix
index cdc2a657002..1b15769465e 100644
--- a/pkgs/development/libraries/libqalculate/default.nix
+++ b/pkgs/development/libraries/libqalculate/default.nix
@@ -3,11 +3,11 @@
 
 stdenv.mkDerivation rec {
   name = "libqalculate-${version}";
-  version = "2.2.1";
+  version = "2.3.0";
 
   src = fetchurl {
     url = "https://github.com/Qalculate/libqalculate/archive/v${version}.tar.gz";
-    sha256 = "0bam1xvw4n5sm3g4kmggz2aha34xaw64kw15wl2lbkd2yzdjdm4l";
+    sha256 = "1wrd9ajf00h1ja56r25vljjsgklg0qlzmziax7x26wjqkigc28iq";
   };
 
   outputs = [ "out" "dev" "doc" ];
diff --git a/pkgs/development/libraries/libqglviewer/default.nix b/pkgs/development/libraries/libqglviewer/default.nix
index eef9e05ca03..e68c5052beb 100644
--- a/pkgs/development/libraries/libqglviewer/default.nix
+++ b/pkgs/development/libraries/libqglviewer/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, qt4, qmake4Hook }:
+{ stdenv, fetchurl, qt4, qmake4Hook, AGL }:
 
 stdenv.mkDerivation rec {
   name = "libqglviewer-2.6.3";
@@ -9,7 +9,8 @@ stdenv.mkDerivation rec {
     sha256 = "00jdkyk4wg1356c3ar6nk3hyp494ya3yvshq9m57kfmqpn3inqdy";
   };
 
-  buildInputs = [ qt4 qmake4Hook ];
+  buildInputs = [ qt4 qmake4Hook ]
+    ++ stdenv.lib.optional stdenv.isDarwin AGL;
 
   postPatch =
     ''
diff --git a/pkgs/development/libraries/libqmatrixclient/default.nix b/pkgs/development/libraries/libqmatrixclient/default.nix
index f537013d2fe..7d8ec42700c 100644
--- a/pkgs/development/libraries/libqmatrixclient/default.nix
+++ b/pkgs/development/libraries/libqmatrixclient/default.nix
@@ -1,40 +1,26 @@
 { stdenv, fetchFromGitHub, cmake
 , qtbase }:
 
-# This doesn't actually do anything really yet as it doesn't support dynamic building
-# When it does, quaternion and tensor should use it
-
 stdenv.mkDerivation rec {
   name = "libqmatrixclient-${version}";
-  version = "0.2";
+  version = "0.2.1";
 
   src = fetchFromGitHub {
     owner  = "QMatrixClient";
     repo   = "libqmatrixclient";
-    rev    = "v${version}-q0.0.5";
-    sha256 = "1m53yxsqjxv2jq0h1xipwsgaj5rca4fk4cl3azgvmf19l9yn00ck";
+    rev    = "v${version}";
+    sha256 = "0sv5hhdsffq7092n6hggfz9a78qn3jfmbvw2flmc4ippzz563akv";
   };
 
   buildInputs = [ qtbase ];
 
   nativeBuildInputs = [ cmake ];
 
-  enableParallelBuilding = true;
-
-  installPhase = ''
-    runHook preInstall
-
-    install -Dm644 -t $out/lib *.a
-
-    runHook postInstall
-  '';
-
   meta = with stdenv.lib; {
     description= "A Qt5 library to write cross-platfrom clients for Matrix";
     homepage = https://matrix.org/docs/projects/sdk/libqmatrixclient.html;
     license = licenses.lgpl21;
     platforms = platforms.linux;
     maintainers = with maintainers; [ peterhoeg ];
-    hydraPlatforms = [ ];
   };
 }
diff --git a/pkgs/development/libraries/libqmi/default.nix b/pkgs/development/libraries/libqmi/default.nix
index afa8a0451ac..a0f5ac73767 100644
--- a/pkgs/development/libraries/libqmi/default.nix
+++ b/pkgs/development/libraries/libqmi/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, pkgconfig, glib, python, libgudev, libmbim }:
 
 stdenv.mkDerivation rec {
-  name = "libqmi-1.18.0";
+  name = "libqmi-1.20.0";
 
   src = fetchurl {
     url = "https://www.freedesktop.org/software/libqmi/${name}.tar.xz";
-    sha256 = "1v4cz3nsmh7nn3smhlhwzrb7yh6l1f270bwf40qacxayjdajr950";
+    sha256 = "1d3fca477sdwbv4bsq1cl98qc8sixrzp0gqjcmjj8mlwfk9qqhi1";
   };
 
   outputs = [ "out" "dev" "devdoc" ];
diff --git a/pkgs/development/libraries/libqrencode/default.nix b/pkgs/development/libraries/libqrencode/default.nix
index 337d9423aa3..7c1844bf281 100644
--- a/pkgs/development/libraries/libqrencode/default.nix
+++ b/pkgs/development/libraries/libqrencode/default.nix
@@ -3,12 +3,12 @@
 
 stdenv.mkDerivation rec {
   name = "libqrencode-${version}";
-  version = "3.4.4";
+  version = "4.0.0";
 
   src = fetchurl {
     url = "https://fukuchi.org/works/qrencode/qrencode-${version}.tar.gz";
     sha1 = "644054a76c8b593acb66a8c8b7dcf1b987c3d0b2";
-    sha256 = "0wiagx7i8p9zal53smf5abrnh9lr31mv0p36wg017401jrmf5577";
+    sha256 = "10da4q5pym7pzxcv21w2kc2rxmq7sp1rg58zdklwfr0jjci1nqjv";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/development/libraries/libraw/default.nix b/pkgs/development/libraries/libraw/default.nix
index c1df11aa544..d70a9fc29f5 100644
--- a/pkgs/development/libraries/libraw/default.nix
+++ b/pkgs/development/libraries/libraw/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "libraw-${version}";
-  version = "0.18.7";
+  version = "0.18.11";
 
   src = fetchurl {
     url = "http://www.libraw.org/data/LibRaw-${version}.tar.gz";
-    sha256 = "0wap67mb03fl2himbs20yncnnrr71mszsfm2v4spks58c714gqw7";
+    sha256 = "07a7k83hx7icahh6jaxfbd7pw5jjm5i11xcqjj31b28d1aj29xvw";
   };
 
   outputs = [ "out" "lib" "dev" "doc" ];
diff --git a/pkgs/development/libraries/libraw1394/default.nix b/pkgs/development/libraries/libraw1394/default.nix
index c767ef9a9ea..39d5c64f64f 100644
--- a/pkgs/development/libraries/libraw1394/default.nix
+++ b/pkgs/development/libraries/libraw1394/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "libraw1394-2.1.1";
+  name = "libraw1394-2.1.2";
 
   src = fetchurl {
     url = "mirror://kernel/linux/libs/ieee1394/${name}.tar.gz";
-    sha256 = "0x6az154wr7wv3945485grjvpk604khv34dbaph6vmc1zdasqq59";
+    sha256 = "0z5md84941ky5l7afayx2z6j0sk0mildxbjajq6niznd44ky7i6x";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/libraries/librdf/rasqal.nix b/pkgs/development/libraries/librdf/rasqal.nix
index 56272b31991..ceff244670f 100644
--- a/pkgs/development/libraries/librdf/rasqal.nix
+++ b/pkgs/development/libraries/librdf/rasqal.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, librdf_raptor2, gmp, pkgconfig, pcre, libxml2 }:
 
 stdenv.mkDerivation rec {
-  name = "rasqal-0.9.32";
+  name = "rasqal-0.9.33";
 
   src = fetchurl {
     url = "http://download.librdf.org/source/${name}.tar.gz";
-    sha256 = "eeba03218e3b7dfa033934d523a1a64671a9a0f64eadc38a01e4b43367be2e8f";
+    sha256 = "0z6rrwn4jsagvarg8d5zf0j352kjgi33py39jqd29gbhcnncj939";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/development/libraries/libre/default.nix b/pkgs/development/libraries/libre/default.nix
index ebe765a0d0d..c996c5c25f9 100644
--- a/pkgs/development/libraries/libre/default.nix
+++ b/pkgs/development/libraries/libre/default.nix
@@ -1,10 +1,10 @@
 {stdenv, fetchurl, zlib, openssl}:
 stdenv.mkDerivation rec {
-  version = "0.5.7";
+  version = "0.5.8";
   name = "libre-${version}";
   src = fetchurl {
     url = "http://www.creytiv.com/pub/re-${version}.tar.gz";
-    sha256 = "0f8h224xfzvnb2ngvhxz8gzxqjlkkfr6d0nj8zqivzr81ihibk2x";
+    sha256 = "0w0f8j43j0nzgvkmv3ayzrssppgjmsh6z8mpa5iqsz8nv99dc3qr";
   };
   buildInputs = [ zlib openssl ];
   makeFlags = [ "USE_ZLIB=1" "USE_OPENSSL=1" "PREFIX=$(out)" ]
diff --git a/pkgs/development/libraries/librealsense/default.nix b/pkgs/development/libraries/librealsense/default.nix
new file mode 100644
index 00000000000..c61000066f4
--- /dev/null
+++ b/pkgs/development/libraries/librealsense/default.nix
@@ -0,0 +1,33 @@
+{ stdenv, fetchFromGitHub, cmake, libusb, ninja, pkgconfig}:
+
+stdenv.mkDerivation rec {
+  name = "librealsense-${version}";
+  version = "2.11.0";
+
+  src = fetchFromGitHub {
+    owner = "IntelRealSense";
+    repo = "librealsense";
+    rev = "v${version}";
+    sha256 = "11vzs2m6jh9v1xbffr2k541pymmih6g4w641mp8rll8qzqfh89i0";
+  };
+
+  buildInputs = [
+    libusb
+  ];
+
+  nativeBuildInputs = [
+    cmake
+    ninja
+    pkgconfig
+  ];
+
+  cmakeFlags = [ "-DBUILD_EXAMPLES=false" ];
+
+  meta = with stdenv.lib; {
+    description = "A cross-platform library for Intel® RealSense™ depth cameras (D400 series and the SR300)";
+    homepage = https://github.com/IntelRealSense/librealsense;
+    license = licenses.asl20;
+    maintainers = with maintainers; [ brian-dawn ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/development/libraries/librelp/default.nix b/pkgs/development/libraries/librelp/default.nix
index 5db5d2b5965..55bb22e660b 100644
--- a/pkgs/development/libraries/librelp/default.nix
+++ b/pkgs/development/libraries/librelp/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, pkgconfig, gnutls, zlib }:
 
 stdenv.mkDerivation rec {
-  name = "librelp-1.2.14";
+  name = "librelp-1.2.15";
 
   src = fetchurl {
     url = "http://download.rsyslog.com/librelp/${name}.tar.gz";
-    sha256 = "0marms2np729ck0x0hsj1bdmi0ly57pl7pfspwrqld9n8cd29xhi";
+    sha256 = "16d9km99isa4mwk6psf8brny1sfl45dijlkdwzp0yrjnj0nq6cd9";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/development/libraries/librem/default.nix b/pkgs/development/libraries/librem/default.nix
index f6e041e5732..b173eddda7d 100644
--- a/pkgs/development/libraries/librem/default.nix
+++ b/pkgs/development/libraries/librem/default.nix
@@ -1,10 +1,10 @@
 {stdenv, fetchurl, zlib, openssl, libre}:
 stdenv.mkDerivation rec {
-  version = "0.5.2";
+  version = "0.5.3";
   name = "librem-${version}";
   src=fetchurl {
     url = "http://www.creytiv.com/pub/rem-${version}.tar.gz";
-    sha256 = "1sv4986yyq42irk9alwp20gc3r5y0r6kix15sl8qmljgxn0lxigv";
+    sha256 = "0l401sn8lkzz9gvnvww6839xa0ys1q7w66krln194w6l8ycsg64z";
   };
   buildInputs = [zlib openssl libre];
   makeFlags = [
diff --git a/pkgs/development/libraries/libressl/default.nix b/pkgs/development/libraries/libressl/default.nix
index ae03ef7ecb9..5dfb61f172f 100644
--- a/pkgs/development/libraries/libressl/default.nix
+++ b/pkgs/development/libraries/libressl/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl }:
+{ stdenv, fetchurl, lib }:
 
 let
 
@@ -11,15 +11,22 @@ let
       inherit sha256;
     };
 
+    configureFlags = [ "--enable-nc" ];
+
     enableParallelBuilding = true;
 
-    outputs = [ "bin" "dev" "out" "man" ];
+    outputs = [ "bin" "dev" "out" "man" "nc" ];
+
+    postFixup = ''
+      moveToOutput "bin/nc" "$nc"
+      moveToOutput "share/man/man1/nc.1${lib.optionalString (dontGzipMan==null) ".gz"}" "$nc"
+    '';
 
     dontGzipMan = if stdenv.isDarwin then true else null; # not sure what's wrong
 
-    meta = with stdenv.lib; {
+    meta = with lib; {
       description = "Free TLS/SSL implementation";
-      homepage    = "http://www.libressl.org";
+      homepage    = "https://www.libressl.org";
       platforms   = platforms.all;
       maintainers = with maintainers; [ thoughtpolice wkennington fpletz globin ];
     };
@@ -36,4 +43,9 @@ in {
     version = "2.6.4";
     sha256 = "07yi37a2ghsgj2b4w30q1s4d2inqnix7ika1m21y57p9z71212k3";
   };
+
+  libressl_2_7 = generic {
+    version = "2.7.3";
+    sha256 = "1597kj9jy3jyw52ys19sd4blg2gkam5q0rqdxbnrnvnyw67hviqn";
+  };
 }
diff --git a/pkgs/development/libraries/librime/default.nix b/pkgs/development/libraries/librime/default.nix
index a8877bdb2da..e6d2612fe62 100644
--- a/pkgs/development/libraries/librime/default.nix
+++ b/pkgs/development/libraries/librime/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   name = "librime-${version}";
-  version = "1.2.9";
+  version = "1.3.1";
 
   src = fetchFromGitHub {
     owner = "rime";
     repo = "librime";
-    rev = "rime-${version}";
-    sha256 = "14jgnfm61ynm086x9v7wfmv2p14h0qp8lq4d2jqm21n821jsraj6";
+    rev = "${version}";
+    sha256 = "1y0h3nnz97smx9z8h5fzk4c27mvrwv8kajxffqc43bhyvxvb2jd6";
   };
 
   nativeBuildInputs = [ cmake ];
@@ -23,6 +23,6 @@ stdenv.mkDerivation rec {
     description = "Rime Input Method Engine, the core library";
     license     = licenses.bsd3;
     maintainers = with maintainers; [ sifmelcara ];
-    platforms   = platforms.all;
+    platforms   = platforms.linux;
   };
 }
diff --git a/pkgs/development/libraries/librsvg/default.nix b/pkgs/development/libraries/librsvg/default.nix
index 31e9e06dacb..76b7e7ccaee 100644
--- a/pkgs/development/libraries/librsvg/default.nix
+++ b/pkgs/development/libraries/librsvg/default.nix
@@ -1,38 +1,42 @@
 { lib, stdenv, fetchurl, pkgconfig, glib, gdk_pixbuf, pango, cairo, libxml2, libgsf
-, bzip2, libcroco, libintlOrEmpty, darwin, rust, gnome3
+, bzip2, libcroco, libintl, darwin, rust, gnome3
 , withGTK ? false, gtk3 ? null
-, gobjectIntrospection ? null, enableIntrospection ? false }:
-
-# no introspection by default, it's too big
+, vala, gobjectIntrospection }:
 
 let
   pname = "librsvg";
-  version = "2.42.2";
+  version = "2.42.4";
 in
 stdenv.mkDerivation rec {
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${gnome3.versionBranch version}/${name}.tar.xz";
-    sha256 = "0c550a0bffef768a436286116c03d9f6cd3f97f5021c13e7f093b550fac12562";
+    sha256 = "1qsd0j7s97ab5fzy5b5gix5b7hbw57cr46ia8pkcrr4ylsi80li2";
   };
 
-  NIX_LDFLAGS = if stdenv.isDarwin then "-lintl" else null;
-
-  outputs = [ "out" "dev" ];
+  outputs = [ "out" "dev" "installedTests" ];
 
-  buildInputs = [ libxml2 libgsf bzip2 libcroco pango libintlOrEmpty ]
-    ++ stdenv.lib.optional enableIntrospection gobjectIntrospection;
+  buildInputs = [ libxml2 libgsf bzip2 libcroco pango libintl ];
 
   propagatedBuildInputs = [ glib gdk_pixbuf cairo ] ++ lib.optional withGTK gtk3;
 
-  nativeBuildInputs = [ pkgconfig rust.rustc rust.cargo ]
+  nativeBuildInputs = [ pkgconfig rust.rustc rust.cargo vala gobjectIntrospection ]
     ++ lib.optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [
       ApplicationServices
     ]);
 
-  configureFlags = [ "--enable-introspection=auto" ]
-    ++ stdenv.lib.optional stdenv.isDarwin "--disable-Bsymbolic";
+  configureFlags = [
+    "--enable-introspection"
+    "--enable-vala"
+    "--enable-installed-tests"
+    "--enable-always-build-tests"
+  ] ++ stdenv.lib.optional stdenv.isDarwin "--disable-Bsymbolic";
+
+  makeFlags = [
+    "installed_test_metadir=$(installedTests)/share/installed-tests/RSVG"
+    "installed_testdir=$(installedTests)/libexec/installed-tests/RSVG"
+  ];
 
   NIX_CFLAGS_COMPILE
     = stdenv.lib.optionalString stdenv.isDarwin "-I${cairo.dev}/include/cairo";
@@ -57,6 +61,8 @@ stdenv.mkDerivation rec {
         -i gdk-pixbuf-loader/librsvg.thumbnailer.in
   '';
 
+  doCheck = false; # fails 20 of 145 tests, very likely to be buggy
+
   # Merge gdkpixbuf and librsvg loaders
   postInstall = ''
     mv $GDK_PIXBUF/loaders.cache $GDK_PIXBUF/loaders.cache.tmp
diff --git a/pkgs/development/libraries/librsync/0.9.nix b/pkgs/development/libraries/librsync/0.9.nix
index 0954694cf29..115f4cd90a0 100644
--- a/pkgs/development/libraries/librsync/0.9.nix
+++ b/pkgs/development/libraries/librsync/0.9.nix
@@ -12,9 +12,7 @@ stdenv.mkDerivation {
 
   configureFlags = if stdenv.isCygwin then "--enable-static" else "--enable-shared";
 
-  crossAttrs = {
-    dontStrip = true;
-  };
+  dontStrip = stdenv.hostPlatform != stdenv.buildPlatform;
 
   meta = {
     homepage = http://librsync.sourceforge.net/;
diff --git a/pkgs/development/libraries/librsync/default.nix b/pkgs/development/libraries/librsync/default.nix
index 0f2ca371297..afb83051b21 100644
--- a/pkgs/development/libraries/librsync/default.nix
+++ b/pkgs/development/libraries/librsync/default.nix
@@ -2,21 +2,19 @@
 
 stdenv.mkDerivation rec {
   name = "librsync-${version}";
-  version = "2.0.1";
+  version = "2.0.2";
 
   src = fetchFromGitHub {
     owner = "librsync";
     repo = "librsync";
     rev = "v${version}";
-    sha256 = "0wihjinqbjl4hnvrgsk4ca1zy5v6bj7vjm6wlygwvgbn5yh3yq0x";
+    sha256 = "1qnr4rk93mhggqjh2025clmlhhgnjhq983p1vbh8i1g8aiqdnapi";
   };
 
   nativeBuildInputs = [ cmake ];
   buildInputs = [ perl zlib bzip2 popt ];
 
-  crossAttrs = {
-    dontStrip = true;
-  };
+  dontStrip = stdenv.hostPlatform != stdenv.buildPlatform;
 
   meta = with stdenv.lib; {
     homepage = http://librsync.sourceforge.net/;
diff --git a/pkgs/development/libraries/libs3/default.nix b/pkgs/development/libraries/libs3/default.nix
index 2d8b2a3b5f1..540d84dc244 100644
--- a/pkgs/development/libraries/libs3/default.nix
+++ b/pkgs/development/libraries/libs3/default.nix
@@ -1,17 +1,20 @@
 { stdenv, fetchFromGitHub, curl, libxml2 }:
 
 stdenv.mkDerivation {
-  name = "libs3-2015-04-23";
+  name = "libs3-2017-06-01";
 
   src = fetchFromGitHub {
     owner = "bji";
     repo = "libs3";
-    rev = "11a4e976c28ba525e7d61fbc3867c345a2af1519";
-    sha256 = "0xjjwyw14sk9am6s2m25hxi55vmsrc2yiawd6ln2lvg59xjcr48i";
+    rev = "fd8b149044e429ad30dc4c918f0713cdd40aadd2";
+    sha256 = "0a4c9rsd3wildssvnvph6cd11adn0p3rd4l02z03lvxkjhm20gw3";
   };
 
   buildInputs = [ curl libxml2 ];
 
+  # added to fix build with gcc7, review on update
+  NIX_CFLAGS_COMPILE = [ "-Wno-error=format-truncation" ];
+
   DESTDIR = "\${out}";
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/libraries/libsass/default.nix b/pkgs/development/libraries/libsass/default.nix
index e1c50bee75a..8168ff0edae 100644
--- a/pkgs/development/libraries/libsass/default.nix
+++ b/pkgs/development/libraries/libsass/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "libsass-${version}";
-  version = "3.4.9";
+  version = "3.5.4";
 
   src = fetchurl {
     url = "https://github.com/sass/libsass/archive/${version}.tar.gz";
-    sha256 = "0f4mj91zzdzah7fxkdg3dnrimk9ip7czl4g26f32zgifz1nrqgjs";
+    sha256 = "0w47hvzmbdpbjx8j83wn8dwcvglpab8abkszf9xfzrpqvb6wnqaz";
   };
 
   patchPhase = ''
diff --git a/pkgs/development/libraries/libsearpc/default.nix b/pkgs/development/libraries/libsearpc/default.nix
index 3898071c858..fae6dc82fcf 100644
--- a/pkgs/development/libraries/libsearpc/default.nix
+++ b/pkgs/development/libraries/libsearpc/default.nix
@@ -28,6 +28,6 @@ stdenv.mkDerivation rec
     description = "A simple and easy-to-use C language RPC framework (including both server side & client side) based on GObject System";
     license = stdenv.lib.licenses.lgpl3;
     platforms = stdenv.lib.platforms.linux;
-    maintainers = [ stdenv.lib.maintainers.calrama ];
+    maintainers = [ ];
   };
 }
diff --git a/pkgs/development/libraries/libseccomp/default.nix b/pkgs/development/libraries/libseccomp/default.nix
index 023c51c2b14..e0c77a0cf35 100644
--- a/pkgs/development/libraries/libseccomp/default.nix
+++ b/pkgs/development/libraries/libseccomp/default.nix
@@ -9,6 +9,8 @@ stdenv.mkDerivation rec {
     sha256 = "0mdiyfljrkfl50q1m3ws8yfcyfjwf1zgkvcva8ffcwncji18zhkz";
   };
 
+  outputs = [ "out" "lib" "dev" "man" ];
+
   buildInputs = [ getopt makeWrapper ];
 
   patchPhase = ''
@@ -23,6 +25,7 @@ stdenv.mkDerivation rec {
     homepage    = "https://github.com/seccomp/libseccomp";
     license     = licenses.lgpl21;
     platforms   = platforms.linux;
+    badPlatforms = platforms.riscv;
     maintainers = with maintainers; [ thoughtpolice wkennington ];
   };
 }
diff --git a/pkgs/development/libraries/libsecret/default.nix b/pkgs/development/libraries/libsecret/default.nix
index 4ff00d77769..b77ba49822f 100644
--- a/pkgs/development/libraries/libsecret/default.nix
+++ b/pkgs/development/libraries/libsecret/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, glib, pkgconfig, intltool, libxslt, docbook_xsl, gtk-doc
-, libgcrypt, gobjectIntrospection, vala_0_38, gnome3 }:
+, libgcrypt, gobjectIntrospection, vala_0_38, gnome3, libintl }:
 let
   pname = "libsecret";
   version = "0.18.5";
@@ -14,10 +14,8 @@ stdenv.mkDerivation rec {
 
   outputs = [ "out" "dev" ];
 
-  NIX_LDFLAGS = stdenv.lib.optionalString stdenv.isDarwin "-lintl";
-
   propagatedBuildInputs = [ glib ];
-  nativeBuildInputs = [ pkgconfig intltool libxslt docbook_xsl ];
+  nativeBuildInputs = [ pkgconfig intltool libxslt docbook_xsl libintl ];
   buildInputs = [ libgcrypt gobjectIntrospection vala_0_38 ];
   # optional: build docs with gtk-doc? (probably needs a flag as well)
 
diff --git a/pkgs/development/libraries/libsolv/default.nix b/pkgs/development/libraries/libsolv/default.nix
index f775316a2a0..2d5fa20c7cf 100644
--- a/pkgs/development/libraries/libsolv/default.nix
+++ b/pkgs/development/libraries/libsolv/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchFromGitHub, cmake, zlib, expat, rpm, db }:
 
 stdenv.mkDerivation rec {
-  rev  = "0.6.32";
+  rev  = "0.6.34";
   name = "libsolv-${rev}";
 
   src = fetchFromGitHub {
     inherit rev;
     owner  = "openSUSE";
     repo   = "libsolv";
-    sha256 = "0gqvnnc1s5n0yj82ia6w2wjhhn8hpl6wm4lki2kzvjqjgla45fnq";
+    sha256 = "1knr48dilg8kscbmpjvd7m2krvgcdq0f9vpbqcgmxxa969mzrcy7";
   };
 
   cmakeFlags = "-DENABLE_RPMMD=true -DENABLE_RPMDB=true -DENABLE_PUBKEY=true -DENABLE_RPMDB_BYRPMHEADER=true";
diff --git a/pkgs/development/libraries/libsoup/default.nix b/pkgs/development/libraries/libsoup/default.nix
index 46b9273094a..75898852a09 100644
--- a/pkgs/development/libraries/libsoup/default.nix
+++ b/pkgs/development/libraries/libsoup/default.nix
@@ -1,18 +1,18 @@
-{ stdenv, fetchurl, fetchpatch, glib, libxml2, pkgconfig, gnome3
-, gnomeSupport ? true, libgnome-keyring3, sqlite, glib-networking, gobjectIntrospection
-, valaSupport ? true, vala_0_38
-, libintlOrEmpty
-, intltool, python }:
+{ stdenv, fetchurl, glib, libxml2, pkgconfig, gnome3
+, gnomeSupport ? true, sqlite, glib-networking, gobjectIntrospection
+, valaSupport ? true, vala_0_40
+, intltool, python3 }:
+
 let
   pname = "libsoup";
-  version = "2.60.2";
+  version = "2.62.0";
 in
 stdenv.mkDerivation rec {
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${gnome3.versionBranch version}/${name}.tar.xz";
-    sha256 = "7263cfe18872e2e652c196f5667e514616d9c97c861dfca82a65a55f45f0da01";
+    sha256 = "1b5aff1igbsx1h4v3wmkffvzgiy8rscibqka7fmjf2lxs7l7lz5b";
   };
 
   prePatch = ''
@@ -22,29 +22,21 @@ stdenv.mkDerivation rec {
      substituteInPlace libsoup/Makefile.in --replace "\$(DESTDIR)\$(vapidir)" "\$(DESTDIR)\$(girdir)/../vala/vapi"
   '';
 
-  patches = [
-    # remove for >= 2.60.3
-    (fetchpatch {
-      name = "buffer-overflow.patch"; # https://bugzilla.gnome.org/show_bug.cgi?id=788037
-      url = "https://git.gnome.org/browse/libsoup/patch/?id=b79689833ba";
-      sha256 = "1azbk540mbm4c6ip54ixbg9d6w7nkls9y81fzm3csq9a5786r3d3";
-    })
-  ];
-
   outputs = [ "out" "dev" ];
 
-  buildInputs = libintlOrEmpty ++ [ intltool python sqlite ]
-    ++ stdenv.lib.optionals valaSupport [ vala_0_38 ];
-  nativeBuildInputs = [ pkgconfig ];
-  propagatedBuildInputs = [ glib libxml2 gobjectIntrospection ]
-    ++ stdenv.lib.optionals gnomeSupport [ libgnome-keyring3 ];
+  buildInputs = [ python3 sqlite ];
+  nativeBuildInputs = [ pkgconfig intltool gobjectIntrospection ]
+    ++ stdenv.lib.optionals valaSupport [ vala_0_40 ];
+  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"}"
-    + stdenv.lib.optionalString (!gnomeSupport) " --without-gnome";
+  configureFlags = [
+    "--disable-tls-check"
+    "--enable-vala=${if valaSupport then "yes" else "no"}"
+    "--with-gnome=${if gnomeSupport then "yes" else "no"}"
+  ];
 
-  NIX_CFLAGS_COMPILE = stdenv.lib.optionalString stdenv.isDarwin "-lintl";
+  doCheck = false; # fails with "no: command not found"
 
   passthru = {
     propagatedUserEnvPackages = [ glib-networking.out ];
diff --git a/pkgs/development/libraries/libspatialindex/default.nix b/pkgs/development/libraries/libspatialindex/default.nix
index fe0acbfc538..aa3aaa1c59b 100644
--- a/pkgs/development/libraries/libspatialindex/default.nix
+++ b/pkgs/development/libraries/libspatialindex/default.nix
@@ -16,6 +16,6 @@ stdenv.mkDerivation rec {
     description = "Extensible spatial index library in C++";
     homepage = http://libspatialindex.github.io/;
     license = stdenv.lib.licenses.mit;
-    platforms = stdenv.lib.platforms.linux;
+    platforms = stdenv.lib.platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/libspatialite/default.nix b/pkgs/development/libraries/libspatialite/default.nix
index 19ccc9159a3..253c5365c8a 100644
--- a/pkgs/development/libraries/libspatialite/default.nix
+++ b/pkgs/development/libraries/libspatialite/default.nix
@@ -3,11 +3,11 @@
 with lib;
 
 stdenv.mkDerivation rec {
-  name = "libspatialite-4.2.0";
+  name = "libspatialite-4.3.0a";
 
   src = fetchurl {
     url = "http://www.gaia-gis.it/gaia-sins/libspatialite-sources/${name}.tar.gz";
-    sha256 = "0b9ipmp09y2ij7yajyjsh0zcwps8n5g88lzfzlkph33lail8l4wz";
+    sha256 = "16d4lpl7xrm9zy4gphy6nwanpjp8wn9g4wq2i2kh8abnlhq01448";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/development/libraries/libssh2/default.nix b/pkgs/development/libraries/libssh2/default.nix
index 4d754dc8086..f85b709cf39 100644
--- a/pkgs/development/libraries/libssh2/default.nix
+++ b/pkgs/development/libraries/libssh2/default.nix
@@ -12,26 +12,12 @@ stdenv.mkDerivation rec {
 
   outputs = [ "out" "dev" "devdoc" ];
 
-  buildInputs = [ openssl zlib ];
-
-  crossAttrs = {
-    # link against cross-built libraries
-    configureFlags = [
-      "--with-openssl"
-      "--with-libssl-prefix=${openssl.crossDrv}"
-      "--with-libz"
-      "--with-libz-prefix=${zlib.crossDrv}"
-    ];
-  } // stdenv.lib.optionalAttrs (hostPlatform.libc == "msvcrt") {
-    # mingw needs import library of ws2_32 to build the shared library
-    preConfigure = ''
-      export LDFLAGS="-L${windows.mingw_w64}/lib $LDFLAGS"
-    '';
-  };
+  buildInputs = [ openssl zlib ]
+    ++ stdenv.lib.optional hostPlatform.isMinGW windows.mingw_w64;
 
   meta = {
     description = "A client-side C library implementing the SSH2 protocol";
-    homepage = http://www.libssh2.org;
+    homepage = https://www.libssh2.org;
     platforms = stdenv.lib.platforms.all;
     maintainers = [ ];
   };
diff --git a/pkgs/development/libraries/libstrophe/default.nix b/pkgs/development/libraries/libstrophe/default.nix
index 0d014cb22a8..c1e6a1f7fb8 100644
--- a/pkgs/development/libraries/libstrophe/default.nix
+++ b/pkgs/development/libraries/libstrophe/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "libstrophe-${version}";
-  version = "0.9.1";
+  version = "0.9.2";
 
   src = fetchFromGitHub {
     owner = "strophe";
     repo = "libstrophe";
     rev = version;
-    sha256 = "099iv13c03y1dsn2ngdhfx2cnax0aj2gfh00w55hlzpvmjm8dsml";
+    sha256 = "1milna92h8wzxax8ll362zvb70091nmfks5lmd105vk0478zraca";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/development/libraries/libsvm/default.nix b/pkgs/development/libraries/libsvm/default.nix
index 8d3d2f4c60c..aab0da90d39 100644
--- a/pkgs/development/libraries/libsvm/default.nix
+++ b/pkgs/development/libraries/libsvm/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "libsvm-${version}";
-  version = "3.20";
+  version = "3.22";
 
   src = fetchurl {
     url = "https://www.csie.ntu.edu.tw/~cjlin/libsvm/libsvm-${version}.tar.gz";
-    sha256 = "1gj5v5zp1qnsnv0iwxq0ikhf8262d3s5dq6syr6yqkglps0284hg";
+    sha256 = "0zd7s19y5vb7agczl6456bn45cj1y64739sslaskw1qk7dywd0bd";
   };
 
   buildPhase = ''
diff --git a/pkgs/development/libraries/libtar/default.nix b/pkgs/development/libraries/libtar/default.nix
index 992bad020ea..8123bf7ba84 100644
--- a/pkgs/development/libraries/libtar/default.nix
+++ b/pkgs/development/libraries/libtar/default.nix
@@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
     description = "C library for manipulating POSIX tar files";
     homepage = http://www.feep.net/libtar/;
     license = licenses.bsd3;
-    platforms = platforms.linux;
+    platforms = with platforms; linux ++ darwin;
     maintainers = [ maintainers.bjornfor ];
   };
 }
diff --git a/pkgs/development/libraries/libtheora/default.nix b/pkgs/development/libraries/libtheora/default.nix
index 375c59f7763..fd58f4f44e7 100644
--- a/pkgs/development/libraries/libtheora/default.nix
+++ b/pkgs/development/libraries/libtheora/default.nix
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with stdenv.lib; {
-    homepage = http://www.theora.org/;
+    homepage = https://www.theora.org/;
     description = "Library for Theora, a free and open video compression format";
     license = licenses.bsd3;
     maintainers = with maintainers; [ spwhitt wkennington ];
diff --git a/pkgs/development/libraries/libtins/default.nix b/pkgs/development/libraries/libtins/default.nix
new file mode 100644
index 00000000000..efd63148fb1
--- /dev/null
+++ b/pkgs/development/libraries/libtins/default.nix
@@ -0,0 +1,43 @@
+{ boost, cmake, fetchFromGitHub, gtest, libpcap, openssl, stdenv }:
+
+stdenv.mkDerivation rec {
+  name = "libtins-${version}";
+  version = "3.5";
+  
+  src = fetchFromGitHub {
+    owner = "mfontanini";
+    repo = "libtins";
+    rev = "v${version}";
+    sha256 = "00d1fxyg8q6djljm79ms69gcrsqxxksny3b16v99bzf3aivfss5x";
+  };
+
+  postPatch = ''
+    rm -rf googletest
+    cp -r ${gtest.src}/googletest googletest
+    chmod -R a+w googletest
+  '';
+
+  nativeBuildInputs = [ cmake gtest ];
+  buildInputs = [
+    openssl
+    libpcap
+    boost
+  ];
+
+  configureFlags = [
+    "--with-boost-libdir=${boost.out}/lib"
+    "--with-boost=${boost.dev}"
+  ];
+
+  enableParallelBuilding = true;
+  doCheck = true;
+  checkPhase = "make tests && LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$PWD/lib make test";
+
+  meta = with stdenv.lib; {
+    description = "High-level, multiplatform C++ network packet sniffing and crafting library";
+    homepage = https://libtins.github.io/;
+    license = stdenv.lib.licenses.bsd2;
+    maintainers = with maintainers; [ fdns ];
+    platforms = stdenv.lib.platforms.unix;
+  };
+}
diff --git a/pkgs/development/libraries/libtorrent-rasterbar/default.nix b/pkgs/development/libraries/libtorrent-rasterbar/default.nix
index 00ec2298617..335400b80ef 100644
--- a/pkgs/development/libraries/libtorrent-rasterbar/default.nix
+++ b/pkgs/development/libraries/libtorrent-rasterbar/default.nix
@@ -1,6 +1,39 @@
-args@{ callPackage, ... }:
+{ stdenv, fetchurl, automake, autoconf, boost, openssl, lib, libtool, pkgconfig, zlib, python, libiconv, geoip, ... }:
 
-callPackage (import ./generic.nix {
-  version = "1.1.6";
-  sha256 = "1xlh0sqypjbx0imw3bkbjwgwb4bm6zl7c0y01p0xsw8ncfmwjll7";
-}) args
+stdenv.mkDerivation rec {
+  name = "libtorrent-rasterbar-${version}";
+  version = "1.1.7";
+
+  src =
+    let formattedVersion = lib.replaceChars ["."] ["_"] version;
+    in fetchurl {
+      url = "https://github.com/arvidn/libtorrent/archive/libtorrent-${formattedVersion}.tar.gz";
+      sha256 = "0vbw7wcw8x9787rq5fwaibpvvspm3237l8ahbf20gjpzxhn4yfwc";
+    };
+
+  nativeBuildInputs = [ automake autoconf libtool pkgconfig ];
+  buildInputs = [ boost openssl zlib python libiconv geoip ];
+
+  preConfigure = "./autotool.sh";
+
+  configureFlags = [
+    "--enable-python-binding"
+    "--with-libgeoip=system"
+    "--with-libiconv=yes"
+    "--with-boost=${boost.dev}"
+    "--with-boost-libdir=${boost.out}/lib"
+    "--with-libiconv=yes"
+  ];
+
+  enableParallelBuilding = true;
+
+  doCheck = false; # fails to link
+
+  meta = with stdenv.lib; {
+    homepage = http://www.rasterbar.com/products/libtorrent/;
+    description = "A C++ BitTorrent implementation focusing on efficiency and scalability";
+    license = licenses.bsd3;
+    maintainers = [ maintainers.phreedom ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/development/libraries/libtorrent-rasterbar/generic.nix b/pkgs/development/libraries/libtorrent-rasterbar/generic.nix
deleted file mode 100644
index 8c85864f87a..00000000000
--- a/pkgs/development/libraries/libtorrent-rasterbar/generic.nix
+++ /dev/null
@@ -1,43 +0,0 @@
-# Version specific options
-{ version, sha256, patches ? [] }:
-
-{ stdenv, fetchurl, automake, autoconf, boost, openssl, lib, libtool, pkgconfig, zlib, python, libiconv, geoip, ... }:
-
-let formattedVersion = lib.replaceChars ["."] ["_"] version;
-
-in
-
-stdenv.mkDerivation rec {
-  name = "libtorrent-rasterbar-${version}";
-
-  src = fetchurl {
-    url = "https://github.com/arvidn/libtorrent/archive/libtorrent-${formattedVersion}.tar.gz";
-    inherit sha256;
-  };
-
-  inherit patches;
-
-  nativeBuildInputs = [ automake autoconf libtool pkgconfig ];
-  buildInputs = [ boost openssl zlib python libiconv geoip ];
-
-  preConfigure = "./autotool.sh";
-
-  configureFlags = [ 
-    "--enable-python-binding"
-    "--with-libgeoip=system"
-    "--with-libiconv=yes"
-    "--with-boost=${boost.dev}"
-    "--with-boost-libdir=${boost.out}/lib"
-    "--with-libiconv=yes"
-  ];
-
-  enableParallelBuilding = true;
-
-  meta = with stdenv.lib; {
-    homepage = http://www.rasterbar.com/products/libtorrent/;
-    description = "A C++ BitTorrent implementation focusing on efficiency and scalability";
-    license = licenses.bsd3;
-    maintainers = [ maintainers.phreedom ];
-    platforms = platforms.unix;
-  };
-}
diff --git a/pkgs/development/libraries/libtoxcore/default.nix b/pkgs/development/libraries/libtoxcore/default.nix
index 9af8718dc5f..6256702010f 100644
--- a/pkgs/development/libraries/libtoxcore/default.nix
+++ b/pkgs/development/libraries/libtoxcore/default.nix
@@ -1,46 +1,57 @@
 { stdenv, fetchFromGitHub, cmake, libsodium, ncurses, libopus, libmsgpack
 , libvpx, check, libconfig, pkgconfig }:
 
-stdenv.mkDerivation rec {
-  name = "libtoxcore-${version}";
-  version = "0.1.11";
-
-  src = fetchFromGitHub {
-    owner  = "TokTok";
-    repo   = "c-toxcore";
-    rev    = "v${version}";
-    sha256 = "1fya5gfiwlpk6fxhalv95n945ymvp2iidiyksrjw1xw95fzsp1ij";
+let
+  generic = { version, sha256 }:
+  stdenv.mkDerivation rec {
+    name = "libtoxcore-${version}";
+
+    src = fetchFromGitHub {
+      owner  = "TokTok";
+      repo   = "c-toxcore";
+      rev    = "v${version}";
+      inherit sha256;
+    };
+
+    cmakeFlags = [
+      "-DBUILD_NTOX=ON"
+      "-DDHT_BOOTSTRAP=ON"
+      "-DBOOTSTRAP_DAEMON=ON"
+    ];
+
+    buildInputs = [
+      libsodium libmsgpack ncurses libconfig
+    ] ++ stdenv.lib.optionals (!stdenv.isAarch32) [
+      libopus libvpx
+    ];
+
+    nativeBuildInputs = [ cmake pkgconfig ];
+
+    enableParallelBuilding = true;
+
+    doCheck = false; # hangs, tries to access the net?
+
+    # for some reason the tests are not running - it says "No tests found!!"
+    checkInputs = [ check ];
+    checkPhase = "ctest";
+
+    meta = with stdenv.lib; {
+      description = "P2P FOSS instant messaging application aimed to replace Skype";
+      homepage = https://tox.chat;
+      license = licenses.gpl3Plus;
+      maintainers = with maintainers; [ peterhoeg ];
+      platforms = platforms.all;
+    };
   };
 
-  cmakeFlags = [
-    "-DBUILD_NTOX=ON"
-    "-DDHT_BOOTSTRAP=ON"
-    "-DBOOTSTRAP_DAEMON=ON"
-  ];
-
-  buildInputs = [
-    libsodium libmsgpack ncurses libconfig
-  ] ++ stdenv.lib.optionals (!stdenv.isAarch32) [
-    libopus
-    libvpx
-  ];
-
-  nativeBuildInputs = [ cmake pkgconfig ];
-
-  enableParallelBuilding = true;
-
-  checkInputs = [ check ];
-
-  checkPhase = "ctest";
-
-  # for some reason the tests are not running - it says "No tests found!!"
-  doCheck = true;
+in rec {
+  libtoxcore_0_1 = generic {
+    version = "0.1.11";
+    sha256 = "1fya5gfiwlpk6fxhalv95n945ymvp2iidiyksrjw1xw95fzsp1ij";
+  };
 
-  meta = with stdenv.lib; {
-    description = "P2P FOSS instant messaging application aimed to replace Skype";
-    homepage = https://tox.chat;
-    license = licenses.gpl3Plus;
-    maintainers = with maintainers; [ peterhoeg ];
-    platforms = platforms.all;
+  libtoxcore_0_2 = generic {
+    version = "0.2.2";
+    sha256 = "1463grbbv009pj2g6dbnyk4lr871vw41962m63v21mmp6dkrr7r5";
   };
 }
diff --git a/pkgs/development/libraries/libu2f-host/default.nix b/pkgs/development/libraries/libu2f-host/default.nix
index b0d6598fc63..2def14b1c10 100644
--- a/pkgs/development/libraries/libu2f-host/default.nix
+++ b/pkgs/development/libraries/libu2f-host/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, pkgconfig, json_c, hidapi }:
 
 stdenv.mkDerivation rec {
-  name = "libu2f-host-1.1.4";
+  name = "libu2f-host-1.1.5";
 
   src = fetchurl {
     url = "https://developers.yubico.com/libu2f-host/Releases/${name}.tar.xz";
-    sha256 = "0vvs2p3b25cbybccv3f4ridnp7sg5i4hkzx3hx48ldcn1l1fqhv0";
+    sha256 = "159slvjfq4bqslx5amjkk90xnkiv3x0yzvbi54pl2vnzbr1p2azk";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/development/libraries/libu2f-server/default.nix b/pkgs/development/libraries/libu2f-server/default.nix
index 5d7da127c2a..6140c13e493 100644
--- a/pkgs/development/libraries/libu2f-server/default.nix
+++ b/pkgs/development/libraries/libu2f-server/default.nix
@@ -1,15 +1,14 @@
-{ stdenv, fetchurl, pkgconfig, json_c, openssl, check }:
+{ stdenv, fetchurl, pkgconfig, json_c, openssl, check, file, help2man, which, gengetopt }:
 
 stdenv.mkDerivation rec {
-  name = "libu2f-server-1.0.1";
-
+  name = "libu2f-server-1.1.0";
   src = fetchurl {
     url = "https://developers.yubico.com/libu2f-server/Releases/${name}.tar.xz";
-    sha256 = "0vhzixz1s629qv9dpdj6b7fxfyxnr5j2vx2cq9q6v790a68ga656";
+    sha256 = "0xx296nmmqa57w0v5p2kasl5zr1ms2gh6qi4lhv6xvzbmjp3rkcd";
   };
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ json_c openssl check ];
+  buildInputs = [ json_c openssl check file help2man which gengetopt ];
 
   meta = with stdenv.lib; {
     homepage = https://developers.yubico.com/libu2f-server/;
diff --git a/pkgs/development/libraries/libuchardet/default.nix b/pkgs/development/libraries/libuchardet/default.nix
index ea411d73b31..52bc0ac5cfd 100644
--- a/pkgs/development/libraries/libuchardet/default.nix
+++ b/pkgs/development/libraries/libuchardet/default.nix
@@ -14,6 +14,8 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ cmake ];
 
+  doCheck = false; # fails all the tests (ctest)
+
   meta = with stdenv.lib; {
     description = "Mozilla's Universal Charset Detector C/C++ API";
     homepage    = https://www.byvoid.com/zht/project/uchardet;
diff --git a/pkgs/development/libraries/libui/default.nix b/pkgs/development/libraries/libui/default.nix
index 2f8963db0cd..b1e6938a149 100644
--- a/pkgs/development/libraries/libui/default.nix
+++ b/pkgs/development/libraries/libui/default.nix
@@ -15,7 +15,9 @@ in
 
   nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ cmake ] ++
-      (if stdenv.isDarwin then [darwin.apple_sdk.frameworks.Cocoa] else [gtk3]);
+      (if backend == "darwin" then [darwin.apple_sdk.frameworks.Cocoa]
+       else if backend == "unix" then [gtk3]
+       else null);
 
     preConfigure = stdenv.lib.optionalString stdenv.isDarwin ''
       sed -i 's/set(CMAKE_OSX_DEPLOYMENT_TARGET "10.8")//' ./CMakeLists.txt
diff --git a/pkgs/development/libraries/libunistring/default.nix b/pkgs/development/libraries/libunistring/default.nix
index 8d1f5115bdf..e3be66e8b1c 100644
--- a/pkgs/development/libraries/libunistring/default.nix
+++ b/pkgs/development/libraries/libunistring/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "libunistring-${version}";
-  version = "0.9.8";
+  version = "0.9.9";
 
   src = fetchurl {
     url = "mirror://gnu/libunistring/${name}.tar.gz";
-    sha256 = "1x9wnpzg7vxyjpnzab6vw0afbcijfbd57qrrkqrppynh0nyz54mp";
+    sha256 = "0jm8pr469y7ybb90ll8k1585rciqm8ckzif0laipqhp5z440rsgm";
   };
 
   outputs = [ "out" "dev" "info" "doc" ];
diff --git a/pkgs/development/libraries/libunwind/default.nix b/pkgs/development/libraries/libunwind/default.nix
index 6afdac3fdf5..dbf1d7a3756 100644
--- a/pkgs/development/libraries/libunwind/default.nix
+++ b/pkgs/development/libraries/libunwind/default.nix
@@ -26,6 +26,8 @@ stdenv.mkDerivation rec {
     done
   '';
 
+  doCheck = false; # fails
+
   meta = with stdenv.lib; {
     homepage = http://www.nongnu.org/libunwind;
     description = "A portable and efficient API to determine the call-chain of a program";
@@ -33,4 +35,6 @@ stdenv.mkDerivation rec {
     platforms = platforms.linux;
     license = licenses.mit;
   };
+
+  passthru.supportsHost = !stdenv.hostPlatform.isRiscV;
 }
diff --git a/pkgs/development/libraries/liburcu/default.nix b/pkgs/development/libraries/liburcu/default.nix
index aa106baf815..85f8b6df295 100644
--- a/pkgs/development/libraries/liburcu/default.nix
+++ b/pkgs/development/libraries/liburcu/default.nix
@@ -5,7 +5,7 @@ stdenv.mkDerivation rec {
   name = "liburcu-${version}";
 
   src = fetchurl {
-    url = "http://lttng.org/files/urcu/userspace-rcu-${version}.tar.bz2";
+    url = "https://lttng.org/files/urcu/userspace-rcu-${version}.tar.bz2";
     sha256 = "01pbg67qy5hcssy2yi0ckqapzfclgdq93li2rmzw4pa3wh5j42cw";
   };
 
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Userspace RCU (read-copy-update) library";
-    homepage = http://lttng.org/urcu;
+    homepage = https://lttng.org/urcu;
     license = licenses.lgpl21Plus;
     platforms = platforms.unix;
     maintainers = [ maintainers.bjornfor ];
diff --git a/pkgs/development/libraries/libusb1/default.nix b/pkgs/development/libraries/libusb1/default.nix
index 44638b4dfd5..69afd9d4c69 100644
--- a/pkgs/development/libraries/libusb1/default.nix
+++ b/pkgs/development/libraries/libusb1/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, pkgconfig, systemd ? null, libobjc, IOKit }:
 
 stdenv.mkDerivation rec {
-  name = "libusb-1.0.21";
+  name = "libusb-1.0.22";
 
   src = fetchurl {
     url = "mirror://sourceforge/libusb/${name}.tar.bz2";
-    sha256 = "0jw2n5kdnrqvp7zh792fd6mypzzfap6jp4gfcmq4n6c1kb79rkkx";
+    sha256 = "0mw1a5ss4alg37m6bd4k44v35xwrcwp5qm4s686q1nsgkbavkbkm";
   };
 
   outputs = [ "out" "dev" ]; # get rid of propagating systemd closure
diff --git a/pkgs/development/libraries/libusbmuxd/default.nix b/pkgs/development/libraries/libusbmuxd/default.nix
index 3e8beef3c9d..3d15b698b48 100644
--- a/pkgs/development/libraries/libusbmuxd/default.nix
+++ b/pkgs/development/libraries/libusbmuxd/default.nix
@@ -8,7 +8,8 @@ stdenv.mkDerivation rec {
   };
 
   patches = [
-    (fetchpatch { # CVE-2016-5104
+    (fetchpatch {
+      name = "CVE-2016-5104.patch";
       url = "https://github.com/libimobiledevice/libusbmuxd/commit/4397b3376dc4e4cb1c991d0aed61ce6482614196.patch";
       sha256 = "0cl3vys7bkwbdzf64d0rz3zlqpfc30w4l7j49ljv01agh42ywhgk";
     })
diff --git a/pkgs/development/libraries/libuv/default.nix b/pkgs/development/libraries/libuv/default.nix
index 59fd95eefee..ed4397c88f0 100644
--- a/pkgs/development/libraries/libuv/default.nix
+++ b/pkgs/development/libraries/libuv/default.nix
@@ -2,14 +2,14 @@
 , ApplicationServices, CoreServices }:
 
 stdenv.mkDerivation rec {
-  version = "1.19.1";
+  version = "1.20.2";
   name = "libuv-${version}";
 
   src = fetchFromGitHub {
     owner = "libuv";
     repo = "libuv";
     rev = "v${version}";
-    sha256 = "020jap4xvjns1rgb2kvpf1nib3f2d5fyqh04afgkk32hiag0kn66";
+    sha256 = "14zlf59fr03v684ryapc57r9nfrznyk5xvcd59q04rb435ibib48";
   };
 
   postPatch = let
diff --git a/pkgs/development/libraries/libva-utils/default.nix b/pkgs/development/libraries/libva-utils/default.nix
index fad72105912..95d4be08548 100644
--- a/pkgs/development/libraries/libva-utils/default.nix
+++ b/pkgs/development/libraries/libva-utils/default.nix
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
     owner  = "01org";
     repo   = "libva-utils";
     rev    = version;
-    sha256 = "02n51cvp8bzzjk4fargwvgh7z71y8spg24hqgaawbp3p3ahh7xxi";
+    sha256 = "113wdmi4r0qligizj9zmd4a8ml1996x9g2zp2i4pmhb8frv9m8j2";
   };
 
   nativeBuildInputs = [ autoreconfHook pkgconfig ];
diff --git a/pkgs/development/libraries/libva/1.0.0.nix b/pkgs/development/libraries/libva/1.0.0.nix
new file mode 100644
index 00000000000..04d621e29c8
--- /dev/null
+++ b/pkgs/development/libraries/libva/1.0.0.nix
@@ -0,0 +1,37 @@
+{ stdenv, lib, fetchurl, libX11, pkgconfig, libXext, libdrm, libXfixes, wayland, libffi
+, libGL, libGL_driver
+, minimal ? false, libva1-minimal
+}:
+
+stdenv.mkDerivation rec {
+  name = "libva-${version}";
+  version = "1.7.3";
+
+  src = fetchurl {
+    url = "http://www.freedesktop.org/software/vaapi/releases/libva/${name}.tar.bz2";
+    sha256 = "1ndrf136rlw03xag7j1xpmf9015d1h0dpnv6v587jnh6k2a17g12";
+  };
+
+  outputs = [ "bin" "dev" "out" ];
+
+  nativeBuildInputs = [ pkgconfig ];
+
+  buildInputs = [ libdrm ]
+    ++ lib.optionals (!minimal) [ libva1-minimal libX11 libXext libXfixes wayland libffi libGL ];
+  # TODO: share libs between minimal and !minimal - perhaps just symlink them
+
+  configureFlags =
+    # Add FHS paths for non-NixOS applications.
+    [ "--with-drivers-path=${libGL_driver.driverLink}/lib/dri:/usr/lib/dri:/usr/lib32/dri" ] ++
+    lib.optionals (!minimal) [ "--enable-glx" ];
+
+  installFlags = [ "dummy_drv_video_ladir=$(out)/lib/dri" ];
+
+  meta = with stdenv.lib; {
+    homepage = http://www.freedesktop.org/wiki/Software/vaapi;
+    license = licenses.mit;
+    description = "VAAPI library: Video Acceleration API";
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ garbas ];
+  };
+}
diff --git a/pkgs/development/libraries/libva/default.nix b/pkgs/development/libraries/libva/default.nix
index 7979eaec774..0ba49da06cf 100644
--- a/pkgs/development/libraries/libva/default.nix
+++ b/pkgs/development/libraries/libva/default.nix
@@ -1,18 +1,19 @@
 { stdenv, lib, fetchFromGitHub, autoreconfHook, pkgconfig
 , libXext, libdrm, libXfixes, wayland, libffi, libX11
-, libGL
-, minimal ? true, libva
+, libGL, libGL_driver
+, minimal ? false, libva-minimal
 }:
 
 stdenv.mkDerivation rec {
-  name = "libva-${lib.optionalString (!minimal) "full-"}${version}";
-  version = "2.0.0";
+  name = "libva-${lib.optionalString minimal "minimal-"}${version}";
+  version = "2.1.0";
 
+  # update libva-utils and vaapiIntel as well
   src = fetchFromGitHub {
     owner  = "01org";
     repo   = "libva";
     rev    = version;
-    sha256 = "1x8rlmv5wfqjz3j87byrxb4d9vp5b4lrrin2fx254nwl3aqy15hy";
+    sha256 = "1a60lrgr65hx9b2qp0gjky1298c4d4zp3ap6vnmmz850sxx5rm8w";
   };
 
   outputs = [ "dev" "out" ];
@@ -20,13 +21,14 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ autoreconfHook pkgconfig ];
 
   buildInputs = [ libdrm ]
-    ++ lib.optionals (!minimal) [ libva libX11 libXext libXfixes wayland libffi libGL ];
+    ++ lib.optionals (!minimal) [ libva-minimal libX11 libXext libXfixes wayland libffi libGL ];
   # TODO: share libs between minimal and !minimal - perhaps just symlink them
 
   enableParallelBuilding = true;
 
   configureFlags = [
-    "--with-drivers-path=${libGL.driverLink}/lib/dri"
+    # Add FHS paths for non-NixOS applications.
+    "--with-drivers-path=${libGL_driver.driverLink}/lib/dri:/usr/lib/dri:/usr/lib32/dri"
   ] ++ lib.optionals (!minimal) [ "--enable-glx" ];
 
   installFlags = [
diff --git a/pkgs/development/libraries/libvdpau-va-gl/default.nix b/pkgs/development/libraries/libvdpau-va-gl/default.nix
index 3ea0155b4f4..50b995a0356 100644
--- a/pkgs/development/libraries/libvdpau-va-gl/default.nix
+++ b/pkgs/development/libraries/libvdpau-va-gl/default.nix
@@ -15,6 +15,8 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ cmake pkgconfig ];
   buildInputs = [ libX11 libpthreadstubs libXau libXdmcp libXext libvdpau glib libva ffmpeg libGLU ];
 
+  doCheck = false; # fails. needs DRI access
+
   meta = with stdenv.lib; {
     homepage = https://github.com/i-rinat/libvdpau-va-gl;
     description = "VDPAU driver with OpenGL/VAAPI backend";
diff --git a/pkgs/development/libraries/libvdpau/default.nix b/pkgs/development/libraries/libvdpau/default.nix
index eebdc294197..35c339b45d0 100644
--- a/pkgs/development/libraries/libvdpau/default.nix
+++ b/pkgs/development/libraries/libvdpau/default.nix
@@ -1,7 +1,8 @@
-{ stdenv, fetchurl, pkgconfig, xorg, libGL }:
+{ stdenv, fetchurl, pkgconfig, xorg, libGL_driver }:
 
 stdenv.mkDerivation rec {
-  name = "libvdpau-1.1.1";
+  name = "libvdpau-${version}";
+  version = "1.1.1";
 
   src = fetchurl {
     url = "https://people.freedesktop.org/~aplattner/vdpau/${name}.tar.bz2";
@@ -16,7 +17,7 @@ stdenv.mkDerivation rec {
   propagatedBuildInputs = [ xorg.libX11 ];
 
   configureFlags = stdenv.lib.optional stdenv.isLinux
-    "--with-module-dir=${libGL.driverLink}/lib/vdpau";
+    "--with-module-dir=${libGL_driver.driverLink}/lib/vdpau";
 
   installFlags = [ "moduledir=$(out)/lib/vdpau" ];
 
diff --git a/pkgs/development/libraries/libvirt-glib/default.nix b/pkgs/development/libraries/libvirt-glib/default.nix
index 83b2983d9c4..0dbe30251bd 100644
--- a/pkgs/development/libraries/libvirt-glib/default.nix
+++ b/pkgs/development/libraries/libvirt-glib/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchurl, pkgconfig, libvirt, glib, libxml2, intltool, libtool, yajl
 , nettle, libgcrypt, pythonPackages, gobjectIntrospection, libcap_ng, numactl
-, xen, libapparmor
+, xen, libapparmor, vala
 }:
 
 let
@@ -8,12 +8,14 @@ let
 in stdenv.mkDerivation rec {
   name = "libvirt-glib-1.0.0";
 
+  outputs = [ "out" "dev" ];
+
   src = fetchurl {
     url = "http://libvirt.org/sources/glib/${name}.tar.gz";
     sha256 = "0iwa5sdbii52pjpdm5j37f67sdmf0kpcky4liwhy1nf43k85i4fa";
   };
 
-  nativeBuildInputs = [ pkgconfig ];
+  nativeBuildInputs = [ pkgconfig vala ];
   buildInputs = [
     libvirt glib libxml2 intltool libtool yajl nettle libgcrypt
     python pygobject2 gobjectIntrospection libcap_ng numactl libapparmor
diff --git a/pkgs/development/libraries/libvirt/build-on-bsd.patch b/pkgs/development/libraries/libvirt/build-on-bsd.patch
deleted file mode 100644
index 830f0f30ff9..00000000000
--- a/pkgs/development/libraries/libvirt/build-on-bsd.patch
+++ /dev/null
@@ -1,58 +0,0 @@
-diff -Naur libvirt-1.3.0.orig/src/admin/admin_protocol.c libvirt-1.3.0/src/admin/admin_protocol.c
---- libvirt-1.3.0.orig/src/admin/admin_protocol.c	2015-12-02 16:17:07.000000000 +0100
-+++ libvirt-1.3.0/src/admin/admin_protocol.c	2016-01-04 17:57:10.043412857 +0100
-@@ -6,6 +6,25 @@
- 
- #include "admin_protocol.h"
- 
-+/* cygwin's xdr implementation defines xdr_u_int64_t instead of xdr_uint64_t
-+ * and lacks IXDR_PUT_INT32 and IXDR_GET_INT32
-+ */
-+#ifdef HAVE_XDR_U_INT64_T
-+# define xdr_uint64_t xdr_u_int64_t
-+#endif
-+#ifndef IXDR_PUT_INT32
-+# define IXDR_PUT_INT32 IXDR_PUT_LONG
-+#endif
-+#ifndef IXDR_GET_INT32
-+# define IXDR_GET_INT32 IXDR_GET_LONG
-+#endif
-+#ifndef IXDR_PUT_U_INT32
-+# define IXDR_PUT_U_INT32 IXDR_PUT_U_LONG
-+#endif
-+#ifndef IXDR_GET_U_INT32
-+# define IXDR_GET_U_INT32 IXDR_GET_U_LONG
-+#endif
-+
- bool_t
- xdr_admin_nonnull_string (XDR *xdrs, admin_nonnull_string *objp)
- {
-diff -Naur libvirt-1.3.0.orig/src/logging/log_protocol.c libvirt-1.3.0/src/logging/log_protocol.c
---- libvirt-1.3.0.orig/src/logging/log_protocol.c	2015-12-08 13:07:35.000000000 +0100
-+++ libvirt-1.3.0/src/logging/log_protocol.c	2016-01-04 17:56:50.673463563 +0100
-@@ -7,6 +7,25 @@
- #include "log_protocol.h"
- #include "internal.h"
- 
-+/* cygwin's xdr implementation defines xdr_u_int64_t instead of xdr_uint64_t
-+ * and lacks IXDR_PUT_INT32 and IXDR_GET_INT32
-+ */
-+#ifdef HAVE_XDR_U_INT64_T
-+# define xdr_uint64_t xdr_u_int64_t
-+#endif
-+#ifndef IXDR_PUT_INT32
-+# define IXDR_PUT_INT32 IXDR_PUT_LONG
-+#endif
-+#ifndef IXDR_GET_INT32
-+# define IXDR_GET_INT32 IXDR_GET_LONG
-+#endif
-+#ifndef IXDR_PUT_U_INT32
-+# define IXDR_PUT_U_INT32 IXDR_PUT_U_LONG
-+#endif
-+#ifndef IXDR_GET_U_INT32
-+# define IXDR_GET_U_INT32 IXDR_GET_U_LONG
-+#endif
-+
- bool_t
- xdr_virLogManagerProtocolUUID (XDR *xdrs, virLogManagerProtocolUUID objp)
- {
diff --git a/pkgs/development/libraries/libvirt/default.nix b/pkgs/development/libraries/libvirt/default.nix
index 2dbf80e71f7..7262ca541f0 100644
--- a/pkgs/development/libraries/libvirt/default.nix
+++ b/pkgs/development/libraries/libvirt/default.nix
@@ -1,30 +1,41 @@
-{ stdenv, fetchurl, fetchpatch
-, pkgconfig, makeWrapper
+{ stdenv, fetchurl, fetchgit
+, pkgconfig, makeWrapper, libtool, autoconf, automake
 , coreutils, libxml2, gnutls, devicemapper, perl, python2, attr
 , iproute, iptables, readline, lvm2, utillinux, systemd, libpciaccess, gettext
 , libtasn1, ebtables, libgcrypt, yajl, pmutils, libcap_ng, libapparmor
 , dnsmasq, libnl, libpcap, libxslt, xhtml1, numad, numactl, perlPackages
-, curl, libiconv, gmp, xen, zfs, parted
+, curl, libiconv, gmp, xen, zfs, parted, bridge-utils, dmidecode
 }:
 
 with stdenv.lib;
 
-# if you update, also bump <nixpkgs/pkgs/development/python-modules/libvirt/default.nix> or it will break
-stdenv.mkDerivation rec {
+# if you update, also bump <nixpkgs/pkgs/development/python-modules/libvirt/default.nix> and SysVirt in <nixpkgs/pkgs/top-level/perl-packages.nix>
+let
+  buildFromTarball = stdenv.isDarwin;
+in stdenv.mkDerivation rec {
   name = "libvirt-${version}";
-  version = "3.10.0";
+  version = "4.1.0";
 
-  src = fetchurl {
-    url = "http://libvirt.org/sources/${name}.tar.xz";
-    sha256 = "03kb37iv3dvvdlslznlc0njvjpmq082lczmsslz5p4fcwb50kwfz";
-  };
-
-  patches = [ ./build-on-bsd.patch ];
+  src =
+    if buildFromTarball then
+      fetchurl {
+        url = "http://libvirt.org/sources/${name}.tar.xz";
+        sha256 = "0fb466mcma21hsxx3cckllbr9hhncpbwim5px1mr66iidy1a8bwa";
+      }
+    else
+      fetchgit {
+        url = git://libvirt.org/libvirt.git;
+        rev = "v${version}";
+        sha256 = "01021r7i71dw9w7ffp6ia8h70ns6bc0ps5np0hq9nipxs68finm6";
+        fetchSubmodules = true;
+      };
 
   nativeBuildInputs = [ makeWrapper pkgconfig ];
   buildInputs = [
     libxml2 gnutls perl python2 readline gettext libtasn1 libgcrypt yajl
     libxslt xhtml1 perlPackages.XMLXPath curl libpcap
+  ] ++ optionals (!buildFromTarball) [
+    libtool autoconf automake
   ] ++ optionals stdenv.isLinux [
     libpciaccess devicemapper lvm2 utillinux systemd libnl numad zfs
     libapparmor libcap_ng numactl attr parted
@@ -34,17 +45,16 @@ stdenv.mkDerivation rec {
     libiconv gmp
   ];
 
-  preConfigure = optionalString stdenv.isLinux ''
-    PATH=${stdenv.lib.makeBinPath [ iproute iptables ebtables lvm2 systemd ]}:$PATH
-    substituteInPlace configure \
-      --replace 'as_dummy="/bin:/usr/bin:/usr/sbin"' 'as_dummy="${numad}/bin"'
+  preConfigure = ''
+    ${ optionalString (!buildFromTarball) "./bootstrap --no-git --gnulib-srcdir=$(pwd)/.gnulib" }
+
+    PATH=${stdenv.lib.makeBinPath ([ dnsmasq ] ++ optionals stdenv.isLinux [ iproute iptables ebtables lvm2 systemd numad ])}:$PATH
 
     # the path to qemu-kvm will be stored in VM's .xml and .save files
     # do not use "''${qemu_kvm}/bin/qemu-kvm" to avoid bound VMs to particular qemu derivations
     substituteInPlace src/lxc/lxc_conf.c \
       --replace 'lxc_path,' '"/run/libvirt/nix-emulators/libvirt_lxc",'
-  '' + ''
-    PATH=${dnsmasq}/bin:$PATH
+
     patchShebangs . # fixes /usr/bin/python references
   '';
 
@@ -78,18 +88,19 @@ stdenv.mkDerivation rec {
   ];
 
   postInstall = ''
-    sed -i 's/ON_SHUTDOWN=suspend/ON_SHUTDOWN=''${ON_SHUTDOWN:-suspend}/' $out/libexec/libvirt-guests.sh
     substituteInPlace $out/libexec/libvirt-guests.sh \
-      --replace "$out/bin" "${gettext}/bin" \
-      --replace "lock/subsys" "lock"
-    sed -e "/gettext\.sh/a \\\n# Added in nixpkgs:\ngettext() { \"${gettext}/bin/gettext\" \"\$@\"; }" \
-        -i "$out/libexec/libvirt-guests.sh"
-
+      --replace 'ON_SHUTDOWN=suspend' 'ON_SHUTDOWN=''${ON_SHUTDOWN:-suspend}' \
+      --replace "$out/bin"            '${gettext}/bin' \
+      --replace 'lock/subsys'         'lock' \
+      --replace 'gettext.sh'          'gettext.sh
+  # Added in nixpkgs:
+  gettext() { "${gettext}/bin/gettext" "$@"; }
+  '
   '' + optionalString stdenv.isLinux ''
     substituteInPlace $out/lib/systemd/system/libvirtd.service --replace /bin/kill ${coreutils}/bin/kill
     rm $out/lib/systemd/system/{virtlockd,virtlogd}.*
     wrapProgram $out/sbin/libvirtd \
-      --prefix PATH : /run/libvirt/nix-emulators:${makeBinPath [ iptables iproute pmutils numad numactl ]}
+      --prefix PATH : /run/libvirt/nix-emulators:${makeBinPath [ iptables iproute pmutils numad numactl bridge-utils dmidecode dnsmasq ebtables ]}
   '';
 
   enableParallelBuilding = true;
diff --git a/pkgs/development/libraries/libvisio/default.nix b/pkgs/development/libraries/libvisio/default.nix
index bda14d72947..a09e2cf2f72 100644
--- a/pkgs/development/libraries/libvisio/default.nix
+++ b/pkgs/development/libraries/libvisio/default.nix
@@ -1,32 +1,31 @@
 { stdenv, fetchurl, boost, libwpd, libwpg, pkgconfig, zlib, gperf
-, librevenge, libxml2, icu, perl
+, librevenge, libxml2, icu, perl, cppunit, doxygen
 }:
 
 stdenv.mkDerivation rec {
-  name = "libvisio-0.1.3";
+  name = "libvisio-${version}";
+  version = "0.1.6";
+
+  outputs = [ "out" "bin" "dev" "doc" ];
 
   src = fetchurl {
-    url = "http://dev-www.libreoffice.org/src/${name}.tar.bz2";
-    sha256 = "1blgdwxprqkasm2175imcvy647sqv6xyf3k09p0b1i7hlq889wvy";
+    url = "https://dev-www.libreoffice.org/src/libvisio/${name}.tar.xz";
+    sha256 = "1yahpfl13qk6178irv8jn5ppxdn7isafqisyqsdw0lqxcz9h447y";
   };
 
-  nativeBuildInputs = [ pkgconfig ];
+  nativeBuildInputs = [ pkgconfig cppunit doxygen ];
   buildInputs = [ boost libwpd libwpg zlib gperf librevenge libxml2 icu perl ];
 
-  # Boost 1.59 compatability fix
-  # Attempt removing when updating
-  postPatch = ''
-    sed -i 's,^CPPFLAGS.*,\0 -DBOOST_ERROR_CODE_HEADER_ONLY -DBOOST_SYSTEM_NO_DEPRECATED,' src/lib/Makefile.in
-  '';
-
   configureFlags = [
     "--disable-werror"
-    "--disable-tests"
   ];
 
-  meta = {
+  doCheck = true;
+
+  meta = with stdenv.lib; {
     description = "A library providing ability to interpret and import visio diagrams into various applications";
-    homepage = http://www.freedesktop.org/wiki/Software/libvisio;
-    platforms = stdenv.lib.platforms.unix;
+    homepage = https://wiki.documentfoundation.org/DLP/Libraries/libvisio;
+    license = licenses.mpl20;
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/libvorbis/default.nix b/pkgs/development/libraries/libvorbis/default.nix
index f59237ee164..2f9bca5ed95 100644
--- a/pkgs/development/libraries/libvorbis/default.nix
+++ b/pkgs/development/libraries/libvorbis/default.nix
@@ -1,27 +1,17 @@
 { stdenv, fetchurl, libogg, pkgconfig, fetchpatch }:
 
 stdenv.mkDerivation rec {
-  name = "libvorbis-1.3.5";
+  name = "libvorbis-1.3.6";
 
   src = fetchurl {
     url = "http://downloads.xiph.org/releases/vorbis/${name}.tar.xz";
-    sha256 = "1lg1n3a6r41492r7in0fpvzc7909mc5ir9z0gd3qh2pz4yalmyal";
+    sha256 = "05dlzjkdpv46zb837wysxqyn8l636x3dw8v8ymlrwz2fg1dbn05g";
   };
 
   outputs = [ "out" "dev" "doc" ];
 
   patches = [
     (fetchpatch {
-      url = "https://github.com/xiph/vorbis/commit/a79ec216cd119069c68b8f3542c6a425a74ab993.patch";
-      sha256 = "0xhsa96n3dlh2l85bxpz4b9m78mfxfgi2ibhjp77110a0nvkjr6h";
-      name = "CVE-2017-14633";
-    })
-    (fetchpatch {
-      url = "https://github.com/xiph/vorbis/commit/c1c2831fc7306d5fbd7bc800324efd12b28d327f.patch";
-      sha256 = "17lb86105im6fc0h0cx5sn94p004jsdbbs2vj1m9ll6z9yb4rxwc";
-      name = "CVE-2017-14632";
-    })
-    (fetchpatch {
       url = "https://gitlab.xiph.org/xiph/vorbis/uploads/a68cf70fa10c8081a633f77b5c6576b7/0001-CVE-2017-14160-make-sure-we-don-t-overflow.patch";
       sha256 = "0v21p59cb3z77ch1v6q5dcrd733h91f3m8ifnd7kkkr8gzn17d5x";
       name = "CVE-2017-14160";
diff --git a/pkgs/development/libraries/libvpx/default.nix b/pkgs/development/libraries/libvpx/default.nix
index 272761cc6af..731892d33b4 100644
--- a/pkgs/development/libraries/libvpx/default.nix
+++ b/pkgs/development/libraries/libvpx/default.nix
@@ -58,13 +58,13 @@ assert isCygwin -> unitTestsSupport && webmIOSupport && libyuvSupport;
 
 stdenv.mkDerivation rec {
   name = "libvpx-${version}";
-  version = "1.6.1";
+  version = "1.7.0";
 
   src = fetchFromGitHub {
     owner = "webmproject";
     repo = "libvpx";
     rev = "v${version}";
-    sha256 = "10fs7xilf2bsj5bqw206lb5r5dgl84p5m6nibiirk28lmjx1i3l0";
+    sha256 = "0vvh89hvp8qg9an9vcmwb7d9k3nixhxaz6zi65qdjnd0i56kkcz6";
   };
 
   patchPhase = ''patchShebangs .'';
@@ -72,6 +72,7 @@ stdenv.mkDerivation rec {
   outputs = [ "bin" "dev" "out" ];
   setOutputFlags = false;
 
+  configurePlatforms = [];
   configureFlags = [
     (enableFeature (vp8EncoderSupport || vp8DecoderSupport) "vp8")
     (enableFeature vp8EncoderSupport "vp8-encoder")
@@ -131,8 +132,29 @@ stdenv.mkDerivation rec {
     (enableFeature (experimentalSpatialSvcSupport ||
                     experimentalFpMbStatsSupport ||
                     experimentalEmulateHardwareSupport) "experimental")
-    # Experimental features
-  ] ++ optional experimentalSpatialSvcSupport "--enable-spatial-svc"
+  ] ++ optionals (stdenv.hostPlatform != stdenv.buildPlatform) [
+    #"--extra-cflags="
+    #"--extra-cxxflags="
+    #"--prefix="
+    #"--libc="
+    #"--libdir="
+    "--enable-external-build"
+    # libvpx darwin targets include darwin version (ie. ARCH-darwinXX-gcc, XX being the darwin version)
+    # See all_platforms: https://github.com/webmproject/libvpx/blob/master/configure
+    # Darwin versions: 10.4=8, 10.5=9, 10.6=10, 10.7=11, 10.8=12, 10.9=13, 10.10=14
+    "--force-target=${hostPlatform.config}${
+            if hostPlatform.isDarwin then
+              if      hostPlatform.osxMinVersion == "10.10" then "14"
+              else if hostPlatform.osxMinVersion == "10.9"  then "13"
+              else if hostPlatform.osxMinVersion == "10.8"  then "12"
+              else if hostPlatform.osxMinVersion == "10.7"  then "11"
+              else if hostPlatform.osxMinVersion == "10.6"  then "10"
+              else if hostPlatform.osxMinVersion == "10.5"  then "9"
+              else "8"
+            else ""}-gcc"
+    (if hostPlatform.isCygwin then "--enable-static-msvcrt" else "")
+  ] # Experimental features
+    ++ optional experimentalSpatialSvcSupport "--enable-spatial-svc"
     ++ optional experimentalFpMbStatsSupport "--enable-fp-mb-stats"
     ++ optional experimentalEmulateHardwareSupport "--enable-emulate-hardware";
 
@@ -145,32 +167,6 @@ stdenv.mkDerivation rec {
 
   postInstall = ''moveToOutput bin "$bin" '';
 
-  crossAttrs = {
-    configurePlatforms = [];
-    configureFlags = configureFlags ++ [
-      #"--extra-cflags="
-      #"--extra-cxxflags="
-      #"--prefix="
-      #"--libc="
-      #"--libdir="
-      "--enable-external-build"
-      # libvpx darwin targets include darwin version (ie. ARCH-darwinXX-gcc, XX being the darwin version)
-      # See all_platforms: https://github.com/webmproject/libvpx/blob/master/configure
-      # Darwin versions: 10.4=8, 10.5=9, 10.6=10, 10.7=11, 10.8=12, 10.9=13, 10.10=14
-      "--force-target=${hostPlatform.config}${
-              if hostPlatform.isDarwin then
-                if      hostPlatform.osxMinVersion == "10.10" then "14"
-                else if hostPlatform.osxMinVersion == "10.9"  then "13"
-                else if hostPlatform.osxMinVersion == "10.8"  then "12"
-                else if hostPlatform.osxMinVersion == "10.7"  then "11"
-                else if hostPlatform.osxMinVersion == "10.6"  then "10"
-                else if hostPlatform.osxMinVersion == "10.5"  then "9"
-                else "8"
-              else ""}-gcc"
-      (if hostPlatform.isCygwin then "--enable-static-msvcrt" else "")
-    ];
-  };
-
   meta = with stdenv.lib; {
     description = "WebM VP8/VP9 codec SDK";
     homepage    = https://www.webmproject.org/;
diff --git a/pkgs/development/libraries/libvpx/git.nix b/pkgs/development/libraries/libvpx/git.nix
index a861428f0f7..7d4b75d6cdf 100644
--- a/pkgs/development/libraries/libvpx/git.nix
+++ b/pkgs/development/libraries/libvpx/git.nix
@@ -77,6 +77,7 @@ stdenv.mkDerivation rec {
   outputs = [ "bin" "dev" "out" ];
   setOutputFlags = false;
 
+  configurePlatforms = [];
   configureFlags = [
     (enableFeature (vp8EncoderSupport || vp8DecoderSupport) "vp8")
     (enableFeature vp8EncoderSupport "vp8-encoder")
@@ -139,23 +140,7 @@ stdenv.mkDerivation rec {
     (enableFeature (experimentalSpatialSvcSupport ||
                     experimentalFpMbStatsSupport ||
                     experimentalEmulateHardwareSupport) "experimental")
-    # Experimental features
-  ] ++ optional experimentalSpatialSvcSupport "--enable-spatial-svc"
-    ++ optional experimentalFpMbStatsSupport "--enable-fp-mb-stats"
-    ++ optional experimentalEmulateHardwareSupport "--enable-emulate-hardware";
-
-  nativeBuildInputs = [ perl yasm ];
-
-  buildInputs = [ ]
-    ++ optionals unitTestsSupport [ coreutils curl ];
-
-  enableParallelBuilding = true;
-
-  postInstall = ''moveToOutput bin "$bin" '';
-
-  crossAttrs = {
-    configurePlatforms = [];
-    configureFlags = configureFlags ++ [
+  ] ++ optionals (stdenv.hostPlatform != stdenv.buildPlatform) [
       #"--extra-cflags="
       #"--prefix="
       #"--libc="
@@ -175,12 +160,23 @@ stdenv.mkDerivation rec {
                 else "8"
               else ""}-gcc"
       (if hostPlatform.isCygwin then "--enable-static-msvcrt" else "")
-    ];
-  };
+  ] # Experimental features
+    ++ optional experimentalSpatialSvcSupport "--enable-spatial-svc"
+    ++ optional experimentalFpMbStatsSupport "--enable-fp-mb-stats"
+    ++ optional experimentalEmulateHardwareSupport "--enable-emulate-hardware";
+
+  nativeBuildInputs = [ perl yasm ];
+
+  buildInputs = [ ]
+    ++ optionals unitTestsSupport [ coreutils curl ];
+
+  enableParallelBuilding = true;
+
+  postInstall = ''moveToOutput bin "$bin" '';
 
   meta = with stdenv.lib; {
     description = "WebM VP8/VP9 codec SDK";
-    homepage    = http://www.webmproject.org/;
+    homepage    = https://www.webmproject.org/;
     license     = licenses.bsd3;
     maintainers = with maintainers; [ codyopel ];
     platforms   = platforms.all;
diff --git a/pkgs/development/libraries/libwacom/default.nix b/pkgs/development/libraries/libwacom/default.nix
index 6674f303739..cc3f19ab7d3 100644
--- a/pkgs/development/libraries/libwacom/default.nix
+++ b/pkgs/development/libraries/libwacom/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "libwacom-${version}";
-  version = "0.26";
+  version = "0.29";
 
   src = fetchurl {
     url = "mirror://sourceforge/linuxwacom/libwacom/${name}.tar.bz2";
-    sha256 = "0xpvkjvzaj9blcmw8ha46616bzfivj99kwzvr91clxd6iaf11r63";
+    sha256 = "1diklgcjhmvcxi9p1ifp6wcnyr6k7z9jhrlzfhzjqd6zipk01slw";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/development/libraries/libwebp/default.nix b/pkgs/development/libraries/libwebp/default.nix
index f7d4fc3b367..8cd0536e294 100644
--- a/pkgs/development/libraries/libwebp/default.nix
+++ b/pkgs/development/libraries/libwebp/default.nix
@@ -27,11 +27,11 @@ in
 with stdenv.lib;
 stdenv.mkDerivation rec {
   name = "libwebp-${version}";
-  version = "0.6.1";
+  version = "1.0.0";
 
   src = fetchurl {
     url = "http://downloads.webmproject.org/releases/webp/${name}.tar.gz";
-    sha256 = "1ayq2zq0zbgf5yizbm32zh7p1vb8kibw74am6am1n5cz5mw3ql06";
+    sha256 = "0nr2hd4iv61fphdbx49g96a56jkmdm9n2qss7jpkg1pii11rq9c4";
   };
 
   configureFlags = [
diff --git a/pkgs/development/libraries/libwebsockets/default.nix b/pkgs/development/libraries/libwebsockets/default.nix
index fa35f7546f5..1147c9606ad 100644
--- a/pkgs/development/libraries/libwebsockets/default.nix
+++ b/pkgs/development/libraries/libwebsockets/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "libwebsockets-${version}";
-  version = "2.4.1";
+  version = "3.0.0";
 
   src = fetchFromGitHub {
     owner = "warmcat";
     repo = "libwebsockets";
     rev = "v${version}";
-    sha256 = "0d3xqdq3hpk5l9cg4dqkba6jm6620y6knqqywya703662spmj2xw";
+    sha256 = "0cz4f05qd9b2bm27h5pkwym2cl7ff73lgirzwjppwf9b18if58yv";
   };
 
   buildInputs = [ cmake openssl zlib libuv ];
diff --git a/pkgs/development/libraries/libwnck/3.x.nix b/pkgs/development/libraries/libwnck/3.x.nix
index 6a835157d96..8efd908584e 100644
--- a/pkgs/development/libraries/libwnck/3.x.nix
+++ b/pkgs/development/libraries/libwnck/3.x.nix
@@ -1,28 +1,38 @@
-{stdenv, fetchurl, pkgconfig, libX11, gtk3, intltool}:
+{stdenv, fetchurl, pkgconfig, libX11, gtk3, intltool, gobjectIntrospection, gnome3}:
 
-stdenv.mkDerivation rec{
-  name = "libwnck-${version}";
-  version = "${majorVer}.${minorVer}.${patchVer}";
-
-  majorVer = "3";
-  minorVer = "24";
-  patchVer = "1";
+let
+  pname = "libwnck";
+  version = "3.24.1";
+in stdenv.mkDerivation rec{
+  name = "${pname}-${version}";
 
   src = fetchurl {
-    url = "mirror://gnome/sources/libwnck/${majorVer}.${minorVer}/${name}.tar.xz";
+    url = "mirror://gnome/sources/${pname}/${gnome3.versionBranch version}/${name}.tar.xz";
     sha256 = "010zk9zvydggxqnxfml3scml5yxmpjy90irpqcayrzw26lldr9mg";
   };
 
   outputs = [ "out" "dev" "devdoc" ];
   outputBin = "dev";
 
-  patches = [ ./install_introspection_to_prefix.patch ];
+  configureFlags = [ "--enable-introspection" ];
 
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ intltool ];
+  nativeBuildInputs = [ pkgconfig intltool gobjectIntrospection ];
   propagatedBuildInputs = [ libX11 gtk3 ];
 
-  meta = {
-    platforms = stdenv.lib.platforms.linux;
+  PKG_CONFIG_GOBJECT_INTROSPECTION_1_0_GIRDIR = "$(dev)/share/gir-1.0";
+  PKG_CONFIG_GOBJECT_INTROSPECTION_1_0_TYPELIBDIR = "$(out)/lib/girepository-1.0";
+
+  passthru = {
+    updateScript = gnome3.updateScript {
+      packageName = pname;
+      attrPath = "gnome3.${pname}";
+    };
+  };
+
+  meta = with stdenv.lib; {
+    description = "Library to manage X windows and workspaces (via pagers, tasklists, etc.)";
+    license = licenses.lgpl21Plus;
+    platforms = platforms.linux;
+    maintainers = [];
   };
 }
diff --git a/pkgs/development/libraries/libwnck/install_introspection_to_prefix.patch b/pkgs/development/libraries/libwnck/install_introspection_to_prefix.patch
deleted file mode 100644
index 1bcf4a12ea3..00000000000
--- a/pkgs/development/libraries/libwnck/install_introspection_to_prefix.patch
+++ /dev/null
@@ -1,12 +0,0 @@
---- libwnck-3.4.7/configure	2013-08-20 14:46:14.000000000 +0000
-+++ libwnck-3.4.7-fix/configure	2014-01-05 17:18:56.665427787 +0000
-@@ -16150,7 +16150,7 @@ $as_echo "$found_introspection" >&6; }
-        INTROSPECTION_COMPILER=`$PKG_CONFIG --variable=g_ir_compiler gobject-introspection-1.0`
-        INTROSPECTION_GENERATE=`$PKG_CONFIG --variable=g_ir_generate gobject-introspection-1.0`
--       INTROSPECTION_GIRDIR=`$PKG_CONFIG --variable=girdir gobject-introspection-1.0`
-+       INTROSPECTION_GIRDIR="${datadir}/gir-1.0"
--       INTROSPECTION_TYPELIBDIR="$($PKG_CONFIG --variable=typelibdir gobject-introspection-1.0)"
-+       INTROSPECTION_TYPELIBDIR="${libdir}/girepository-1.0"
-        INTROSPECTION_CFLAGS=`$PKG_CONFIG --cflags gobject-introspection-1.0`
-        INTROSPECTION_LIBS=`$PKG_CONFIG --libs gobject-introspection-1.0`
-        INTROSPECTION_MAKEFILE=`$PKG_CONFIG --variable=datadir gobject-introspection-1.0`/gobject-introspection-1.0/Makefile.introspection
diff --git a/pkgs/development/libraries/libwps/default.nix b/pkgs/development/libraries/libwps/default.nix
index 84748d601a6..2f89c0abdfc 100644
--- a/pkgs/development/libraries/libwps/default.nix
+++ b/pkgs/development/libraries/libwps/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "libwps-${version}";
-  version = "0.4.8";
+  version = "0.4.9";
 
   src = fetchurl {
     url = "mirror://sourceforge/libwps/${name}.tar.bz2";
-    sha256 = "163gdqaanqfs767aj6zdzagqldngn8i7f0hbmhhxlxr0wmvx6c9q";
+    sha256 = "1wn5lvx7c9dp98d9akqjhkv5fk94725hbvqzbjpy1v8y4mm9knb6";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/development/libraries/libx86emu/default.nix b/pkgs/development/libraries/libx86emu/default.nix
index b745098bd64..bbaa6b08961 100644
--- a/pkgs/development/libraries/libx86emu/default.nix
+++ b/pkgs/development/libraries/libx86emu/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "libx86emu-${version}";
-  version = "1.12";
+  version = "1.14";
 
   src = fetchFromGitHub {
     owner = "wfeldt";
     repo = "libx86emu";
     rev = version;
-    sha256 = "0dlzvwdkk0vc6qf0a0zzbxki3pig1mda8p3fa54rxqaxkwp4mqr6";
+    sha256 = "120a01jrrd4rwwjfr5f612xq9hbh35c87a6wnqn7zzw3fqydc2lw";
   };
 
   nativeBuildInputs = [ perl ];
diff --git a/pkgs/development/libraries/libxcomp/default.nix b/pkgs/development/libraries/libxcomp/default.nix
index 7ed2d2fd630..d225831f702 100644
--- a/pkgs/development/libraries/libxcomp/default.nix
+++ b/pkgs/development/libraries/libxcomp/default.nix
@@ -1,19 +1,20 @@
-{ stdenv, fetchurl, autoreconfHook, libjpeg, libpng, libX11, zlib }:
+{ stdenv, fetchurl, autoreconfHook, pkgconfig, libjpeg, libpng, libX11, zlib }:
 
 stdenv.mkDerivation rec {
   name = "libxcomp-${version}";
-  version = "3.5.0.33";
+  version = "3.5.99.16";
 
   src = fetchurl {
-    sha256 = "17qjsd6v2ldpfmyjrkdnlq4qk05hz5l6qs54g8h0glzq43w28f74";
+    sha256 = "1m3z9w3h6qpgk265xf030w7lcs181jgw2cdyzshb7l97mn1f7hh2";
     url = "http://code.x2go.org/releases/source/nx-libs/nx-libs-${version}-lite.tar.gz";
   };
 
   buildInputs = [ libjpeg libpng libX11 zlib ];
-  nativeBuildInputs = [ autoreconfHook ];
+  nativeBuildInputs = [ autoreconfHook pkgconfig ];
 
   preAutoreconf = ''
     cd nxcomp/
+    sed -i 's|/src/.libs/libXcomp.a|/src/.libs/libXcomp.la|' test/Makefile.am
   '';
 
   enableParallelBuilding = true;
diff --git a/pkgs/development/libraries/libxkbcommon/default.nix b/pkgs/development/libraries/libxkbcommon/default.nix
index e730cc6eaab..3e0a2872c00 100644
--- a/pkgs/development/libraries/libxkbcommon/default.nix
+++ b/pkgs/development/libraries/libxkbcommon/default.nix
@@ -1,30 +1,37 @@
-{ stdenv, fetchurl, pkgconfig, yacc, flex, xkeyboard_config, libxcb, libX11 }:
+{ stdenv, fetchurl, fetchpatch, meson, ninja, pkgconfig, yacc, xkeyboard_config, libxcb, libX11, doxygen }:
 
 stdenv.mkDerivation rec {
-  name = "libxkbcommon-0.7.2";
+  name = "libxkbcommon-0.8.0";
 
   src = fetchurl {
-    url = "http://xkbcommon.org/download/${name}.tar.xz";
-    sha256 = "1n5rv5n210kjnkyrvbh04gfwaa7zrmzy1393p8nyqfw66lkxr918";
+    url = "https://xkbcommon.org/download/${name}.tar.xz";
+    sha256 = "0vgy84vfbig5bqznr137h5arjidnfwrxrdli0pxyn2jfn1fjcag8";
   };
 
-  outputs = [ "out" "dev" ];
+  outputs = [ "out" "dev" "doc" ];
 
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ yacc flex xkeyboard_config libxcb ];
+  nativeBuildInputs = [ meson ninja pkgconfig yacc doxygen ];
+  buildInputs = [ xkeyboard_config libxcb ];
 
-  configureFlags = [
-    "--with-xkb-config-root=${xkeyboard_config}/etc/X11/xkb"
-    "--with-x-locale-root=${libX11.out}/share/X11/locale"
+  patches = [
+    # darwin compatibility
+    (fetchpatch {
+      url = https://github.com/xkbcommon/libxkbcommon/commit/edb1c662394578a54b7bbed231d918925e5d8150.patch;
+      sha256 = "0ydjlir32r3xfsbqhnsx1bz6ags2m908yhf9i09i1s7sgcimbcx5";
+    })
   ];
 
-  preBuild = stdenv.lib.optionalString stdenv.isDarwin ''
-    sed -i 's/,--version-script=.*$//' Makefile
-  '';
+  mesonFlags = [
+    "-Denable-wayland=false"
+    "-Dxkb-config-root=${xkeyboard_config}/etc/X11/xkb"
+    "-Dx-locale-root=${libX11.out}/share/X11/locale"
+  ];
+
+  doCheck = false; # fails, needs unicode locale
 
   meta = with stdenv.lib; {
     description = "A library to handle keyboard descriptions";
-    homepage = http://xkbcommon.org;
+    homepage = https://xkbcommon.org;
     license = licenses.mit;
     maintainers = with maintainers; [ garbas ttuegel ];
     platforms = with platforms; unix;
diff --git a/pkgs/development/libraries/libxmi/default.nix b/pkgs/development/libraries/libxmi/default.nix
index 46d38b16ccf..81c5b5e2891 100644
--- a/pkgs/development/libraries/libxmi/default.nix
+++ b/pkgs/development/libraries/libxmi/default.nix
@@ -15,7 +15,7 @@ stdenv.mkDerivation {
     description = "Library for rasterizing 2-D vector graphics";
     homepage = http://www.gnu.org/software/libxmi/;
     license = stdenv.lib.licenses.gpl2Plus;
-    platforms = stdenv.lib.platforms.gnu;  # arbitrary choice
+    platforms = stdenv.lib.platforms.gnu ++ stdenv.lib.platforms.linux;  # arbitrary choice
     maintainers = [ ];
   };
 }
diff --git a/pkgs/development/libraries/libxml2/default.nix b/pkgs/development/libraries/libxml2/default.nix
index c4f3ff1efdd..be2f83cb498 100644
--- a/pkgs/development/libraries/libxml2/default.nix
+++ b/pkgs/development/libraries/libxml2/default.nix
@@ -10,11 +10,11 @@ let
 
 in stdenv.mkDerivation rec {
   name = "libxml2-${version}";
-  version = "2.9.7";
+  version = "2.9.8";
 
   src = fetchurl {
     url = "http://xmlsoft.org/sources/${name}.tar.gz";
-    sha256 = "034hylzspvkm0p4bczqbf8q05a7r2disr8dz725x4bin61ymwg7n";
+    sha256 = "0ci7is75bwqqw2p32vxvrk6ds51ik7qgx73m920rakv5jlayax0b";
   };
 
   outputs = [ "bin" "dev" "out" "man" "doc" ]
diff --git a/pkgs/development/libraries/libyaml-cpp/default.nix b/pkgs/development/libraries/libyaml-cpp/default.nix
index fc4c280d47c..ff09aeab2c6 100644
--- a/pkgs/development/libraries/libyaml-cpp/default.nix
+++ b/pkgs/development/libraries/libyaml-cpp/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "libyaml-cpp-${version}";
-  version = "0.6.1";
+  version = "0.6.2";
 
   src = fetchFromGitHub {
     owner = "jbeder";
     repo = "yaml-cpp";
     rev = "yaml-cpp-${version}";
-    sha256 = "16x53p9gfch7gpyg865j7m1zhqsixx2hbbd206ffjv0ip8cjipjf";
+    sha256 = "16lclpa487yghf9019wymj419wkyx4795wv9q7539hhimajw9kpb";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/pkgs/development/libraries/libyubikey/default.nix b/pkgs/development/libraries/libyubikey/default.nix
index aa2c8131392..5b10e62deee 100644
--- a/pkgs/development/libraries/libyubikey/default.nix
+++ b/pkgs/development/libraries/libyubikey/default.nix
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
     homepage = http://opensource.yubico.com/yubico-c/;
     description = "C library for manipulating Yubico YubiKey One-Time Passwords (OTPs)";
     license = licenses.bsd2;
-    maintainers = with maintainers; [ calrama wkennington ];
+    maintainers = with maintainers; [ wkennington ];
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/libzdb/default.nix b/pkgs/development/libraries/libzdb/default.nix
index a5799f79b56..4a5aa057a5c 100644
--- a/pkgs/development/libraries/libzdb/default.nix
+++ b/pkgs/development/libraries/libzdb/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec
 {
-  version = "3.0";
+  version = "3.1";
   name = "libzdb-${version}";
 
   src = fetchurl
   {
     url = "http://www.tildeslash.com/libzdb/dist/libzdb-${version}.tar.gz";
-    sha256 = "e334bcb9ca1410e863634a164e3b1b5784018eb6e90b6c2b527780fc29a123c8";
+    sha256 = "1596njvy518x7vsvsykmnk1ky82x8jxd6nmmp551y6hxn2qsn08g";
   };
 
   buildInputs = [ sqlite ];
@@ -19,6 +19,6 @@ stdenv.mkDerivation rec
     description = "A small, easy to use Open Source Database Connection Pool Library";
     license = stdenv.lib.licenses.gpl3;
     platforms = stdenv.lib.platforms.linux;
-    maintainers = [ stdenv.lib.maintainers.calrama ];
+    maintainers = [ ];
   };
-}
\ No newline at end of file
+}
diff --git a/pkgs/development/libraries/lightstep-tracer-cpp/default.nix b/pkgs/development/libraries/lightstep-tracer-cpp/default.nix
index f5660e93d79..f2a8d75a9cb 100644
--- a/pkgs/development/libraries/lightstep-tracer-cpp/default.nix
+++ b/pkgs/development/libraries/lightstep-tracer-cpp/default.nix
@@ -48,5 +48,6 @@ stdenv.mkDerivation rec {
     license = licenses.mit;
     platforms = platforms.linux;
     maintainers = with maintainers; [ cstrahan ];
+    broken = true; # 2018-02-16
   };
 }
diff --git a/pkgs/development/libraries/linbox/default.nix b/pkgs/development/libraries/linbox/default.nix
new file mode 100644
index 00000000000..0f5442bd63b
--- /dev/null
+++ b/pkgs/development/libraries/linbox/default.nix
@@ -0,0 +1,79 @@
+{ stdenv
+, fetchFromGitHub
+, fetchpatch
+, autoreconfHook
+, givaro
+, pkgconfig
+, openblas
+, liblapack
+, fflas-ffpack
+, gmpxx
+, optimize ? false # impure
+, withSage ? false # sage support
+}:
+stdenv.mkDerivation rec {
+  name = "${pname}-${version}";
+  pname = "linbox";
+  version = "1.5.2";
+
+  src = fetchFromGitHub {
+    owner = "linbox-team";
+    repo = "${pname}";
+    rev = "v${version}";
+    sha256 = "1wfivlwp30mzdy1697w7rzb8caajim50mc8h27k82yipn2qc5n4i";
+  };
+
+  nativeBuildInputs = [
+    autoreconfHook
+    pkgconfig
+  ];
+
+  buildInputs = [
+    givaro
+    (liblapack.override {shared = true;})
+    openblas
+    gmpxx
+    fflas-ffpack
+  ];
+
+  configureFlags = [
+    "--with-blas-libs=-lopenblas"
+    "--with-lapack-libs=-llapack"
+    "--disable-optimization"
+  ] ++ stdenv.lib.optionals (!optimize) [
+    # disable SIMD instructions (which are enabled *when available* by default)
+    "--disable-sse"
+    "--disable-sse2"
+    "--disable-sse3"
+    "--disable-ssse3"
+    "--disable-sse41"
+    "--disable-sse42"
+    "--disable-avx"
+    "--disable-avx2"
+    "--disable-fma"
+    "--disable-fma4"
+  ] ++ stdenv.lib.optionals withSage [
+    "--enable-sage"
+  ];
+
+  patches = stdenv.lib.optionals withSage [
+    # https://trac.sagemath.org/ticket/24214#comment:39
+    # Will be resolved by
+    # https://github.com/linbox-team/linbox/issues/69
+    (fetchpatch {
+      url = "https://raw.githubusercontent.com/sagemath/sage/a843f48b7a4267e44895a3dfa892c89c85b85611/build/pkgs/linbox/patches/linbox_charpoly_fullCRA.patch";
+      sha256 = "16nxfzfknra3k2yk3xy0k8cq9rmnmsch3dnkb03kx15h0y0jmibk";
+    })
+  ];
+
+  doCheck = true;
+
+  meta = {
+    inherit version;
+    description = "C++ library for exact, high-performance linear algebra";
+    license = stdenv.lib.licenses.lgpl21Plus;
+    maintainers = [stdenv.lib.maintainers.timokau];
+    platforms = stdenv.lib.platforms.linux;
+    homepage = http://linalg.org/;
+  };
+}
diff --git a/pkgs/development/libraries/live555/default.nix b/pkgs/development/libraries/live555/default.nix
index 5d63dd77066..e0cf3328bac 100644
--- a/pkgs/development/libraries/live555/default.nix
+++ b/pkgs/development/libraries/live555/default.nix
@@ -1,30 +1,34 @@
-{ stdenv, fetchurl }:
+{ stdenv, fetchurl, lib, darwin }:
 
 # Based on https://projects.archlinux.org/svntogit/packages.git/tree/trunk/PKGBUILD
 let
-  version = "2018.02.12";
+  version = "2018.02.28";
 in
 stdenv.mkDerivation {
   name = "live555-${version}";
 
   src = fetchurl { # the upstream doesn't provide a stable URL
     url = "mirror://sourceforge/slackbuildsdirectlinks/live.${version}.tar.gz";
-    sha256 = "08860q07hfiln44d6qaasmfalf4hb9na5jsfd4yps6jn4r54xxwx";
+    sha256 = "0zi47asv1qmb09g321m02q684i3c90vci0mgkdh1mlmx2rbg1d1d";
   };
 
-  postPatch = "sed 's,/bin/rm,rm,g' -i genMakefiles"
-  + stdenv.lib.optionalString (stdenv ? glibc) ''
-
+  postPatch = ''
+    sed 's,/bin/rm,rm,g' -i genMakefiles
+    sed \
+      -e 's/$(INCLUDES) -I. -O2 -DSOCKLEN_T/$(INCLUDES) -I. -O2 -I. -fPIC -DRTSPCLIENT_SYNCHRONOUS_INTERFACE=1 -DSOCKLEN_T/g' \
+      -i config.linux
+  '' + stdenv.lib.optionalString (stdenv ? glibc) ''
     substituteInPlace liveMedia/include/Locale.hh \
       --replace '<xlocale.h>' '<locale.h>'
   '';
 
   configurePhase = ''
-    sed \
-      -e 's/$(INCLUDES) -I. -O2 -DSOCKLEN_T/$(INCLUDES) -I. -O2 -I. -fPIC -DRTSPCLIENT_SYNCHRONOUS_INTERFACE=1 -DSOCKLEN_T/g' \
-      -i config.linux
-
-    ./genMakefiles linux
+    ./genMakefiles ${{
+      x86_64-darwin = "macosx";
+      i686-linux = "linux";
+      x86_64-linux = "linux-64bit";
+      aarch64-linux = "linux-64bit";
+    }.${stdenv.system}}
   '';
 
   installPhase = ''
@@ -35,10 +39,12 @@ stdenv.mkDerivation {
     done
   '';
 
-  meta = with stdenv.lib; {
+  nativeBuildInputs = lib.optional stdenv.isDarwin darwin.cctools;
+
+  meta = with lib; {
     description = "Set of C++ libraries for multimedia streaming, using open standard protocols (RTP/RTCP, RTSP, SIP)";
     homepage = http://www.live555.com/liveMedia/;
     license = licenses.lgpl21Plus;
-    platforms = platforms.linux;
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/lmdb/default.nix b/pkgs/development/libraries/lmdb/default.nix
index d96b5ed6d52..0bb3a67d950 100644
--- a/pkgs/development/libraries/lmdb/default.nix
+++ b/pkgs/development/libraries/lmdb/default.nix
@@ -2,17 +2,20 @@
 
 stdenv.mkDerivation rec {
   name = "lmdb-${version}";
-  version = "0.9.21";
+  version = "0.9.22";
 
   src = fetchFromGitHub {
     owner = "LMDB";
     repo = "lmdb";
     rev = "LMDB_${version}";
-    sha256 = "026a6himvg3y4ssnccdbgr3c2pq3w2d47nayn05v512875z4f2w3";
+    sha256 = "0lng4ra2qrbqcf8klvqp68qarha0z4bkqhhv8lhh45agsxyrhfkj";
   };
 
   postUnpack = "sourceRoot=\${sourceRoot}/libraries/liblmdb";
 
+  patches = [ ./hardcoded-compiler.patch ];
+  patchFlags = "-p3";
+
   outputs = [ "bin" "out" "dev" ];
 
   makeFlags = [ "prefix=$(out)" "CC=cc" ]
diff --git a/pkgs/development/libraries/lmdb/hardcoded-compiler.patch b/pkgs/development/libraries/lmdb/hardcoded-compiler.patch
new file mode 100644
index 00000000000..ddb247b7f11
--- /dev/null
+++ b/pkgs/development/libraries/lmdb/hardcoded-compiler.patch
@@ -0,0 +1,26 @@
+commit 029031a68873bc3784a8561bd8e049efbd34f9d0 (HEAD)
+Author: Vladimír Čunát <vcunat@gmail.com>
+Date:   Sun Apr 1 11:05:31 2018 +0200
+
+    make: gcc -> $(CC)
+
+diff --git a/libraries/liblmdb/Makefile b/libraries/liblmdb/Makefile
+index f254511..612484e 100644
+--- a/libraries/liblmdb/Makefile
++++ b/libraries/liblmdb/Makefile
+@@ -102,13 +102,13 @@ COV_OBJS=xmdb.o xmidl.o
+ 
+ coverage: xmtest
+ 	for i in mtest*.c [0-9]*.c; do j=`basename \$$i .c`; $(MAKE) $$j.o; \
+-		gcc -o x$$j $$j.o $(COV_OBJS) -pthread $(COV_FLAGS); \
++		$(CC) -o x$$j $$j.o $(COV_OBJS) -pthread $(COV_FLAGS); \
+ 		rm -rf testdb; mkdir testdb; ./x$$j; done
+ 	gcov xmdb.c
+ 	gcov xmidl.c
+ 
+ xmtest:	mtest.o xmdb.o xmidl.o
+-	gcc -o xmtest mtest.o xmdb.o xmidl.o -pthread $(COV_FLAGS)
++	$(CC) -o xmtest mtest.o xmdb.o xmidl.o -pthread $(COV_FLAGS)
+ 
+ xmdb.o: mdb.c lmdb.h midl.h
+ 	$(CC) $(CFLAGS) -fPIC $(CPPFLAGS) -O0 $(COV_FLAGS) -c mdb.c -o $@
diff --git a/pkgs/development/libraries/log4cxx/default.nix b/pkgs/development/libraries/log4cxx/default.nix
index ac0b7bf6834..8e854156424 100644
--- a/pkgs/development/libraries/log4cxx/default.nix
+++ b/pkgs/development/libraries/log4cxx/default.nix
@@ -34,7 +34,7 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ libtool ];
 
   meta = {
-    homepage = http://logging.apache.org/log4cxx/index.html;
+    homepage = https://logging.apache.org/log4cxx/index.html;
     description = "A logging framework for C++ patterned after Apache log4j";
     license = stdenv.lib.licenses.asl20;
     platforms = stdenv.lib.platforms.unix;
diff --git a/pkgs/development/libraries/luaffi/darwin.patch b/pkgs/development/libraries/luaffi/darwin.patch
new file mode 100644
index 00000000000..50db81b776d
--- /dev/null
+++ b/pkgs/development/libraries/luaffi/darwin.patch
@@ -0,0 +1,17 @@
+diff --git a/Makefile b/Makefile
+index b2b5f2c..b690a5d 100644
+--- a/Makefile
++++ b/Makefile
+@@ -18,10 +18,10 @@ test:
+ 	if [ `uname` = "Darwin" ]; then $(MAKE) test_macosx; else $(MAKE) test_posix; fi
+ 
+ macosx:
+-	$(MAKE) posix "SOCC=MACOSX_DEPLOYMENT_TARGET=10.3 $(CC) -dynamiclib -single_module -undefined dynamic_lookup $(SOCFLAGS)"
++	$(MAKE) posix "SOCC= $(CC) -dynamiclib -single_module -undefined dynamic_lookup -Wl,-install_name,$(PREFIX)/lib/$(MODSO) $(SOCFLAGS)"
+ 
+ test_macosx:
+-	$(MAKE) test_posix "SOCC=MACOSX_DEPLOYMENT_TARGET=10.3 $(CC) -dynamiclib -single_module -undefined dynamic_lookup $(SOCFLAGS)"
++	$(MAKE) test_posix "SOCC= $(CC) -dynamiclib -single_module -undefined dynamic_lookup -Wl,-install_name,$(PREFIX)/lib/$(MODSO) $(SOCFLAGS)"
+ 
+ posix: $(MODSO) test_cdecl.so
+ 
diff --git a/pkgs/development/libraries/luaffi/default.nix b/pkgs/development/libraries/luaffi/default.nix
index 1e4cf11d1fa..065562ac82e 100644
--- a/pkgs/development/libraries/luaffi/default.nix
+++ b/pkgs/development/libraries/luaffi/default.nix
@@ -12,9 +12,9 @@ stdenv.mkDerivation {
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ lua ];
 
-  patches = [
-    ./makefile-errors.patch
-  ];
+  patches = [ ./darwin.patch ./makefile-errors.patch ];
+
+  makeFlags = [ "PREFIX=$(out)" ];
 
   installPhase = ''
     mkdir -p $out/lib
diff --git a/pkgs/development/libraries/mailcore2/default.nix b/pkgs/development/libraries/mailcore2/default.nix
index 0a64c7c0429..3828ebcb7a7 100644
--- a/pkgs/development/libraries/mailcore2/default.nix
+++ b/pkgs/development/libraries/mailcore2/default.nix
@@ -5,13 +5,13 @@
 stdenv.mkDerivation rec {
   name = "mailcore2-${version}";
 
-  version = "0.5.1";
+  version = "0.6.2";
 
   src = fetchFromGitHub {
     owner  = "MailCore";
     repo   = "mailcore2";
     rev    = version;
-    sha256 = "1k0l59cdk8np4pff1my07dp7ivf3nchlhcpvm9xizp0my9rqgbxb";
+    sha256 = "1d0wmnkk9vnjqc28i79z3fwaaycdbprfspagik4mzdkgval5r5pm";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/development/libraries/matio/default.nix b/pkgs/development/libraries/matio/default.nix
index 83ddcbf52e1..57321522736 100644
--- a/pkgs/development/libraries/matio/default.nix
+++ b/pkgs/development/libraries/matio/default.nix
@@ -1,9 +1,9 @@
 { stdenv, fetchurl }:
 stdenv.mkDerivation rec {
-  name = "matio-1.5.10";
+  name = "matio-1.5.12";
   src = fetchurl {
     url = "mirror://sourceforge/matio/${name}.tar.gz";
-    sha256 = "00dmg2f5k2xgakp7l0lganz122b1agazw5d899xci35xrqc9j821";
+    sha256 = "1afqjhc1wbm7g1vry3w30c7dbrxg6n4i482ybgx6l1b5wj0f75c6";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/libraries/mbedtls/darwin_dylib.patch b/pkgs/development/libraries/mbedtls/darwin_dylib.patch
deleted file mode 100644
index bc6992d6e77..00000000000
--- a/pkgs/development/libraries/mbedtls/darwin_dylib.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-diff --git a/library/Makefile b/library/Makefile
-index 28f9231..ad9cc32 100644
---- a/library/Makefile
-+++ b/library/Makefile
-@@ -103,9 +103,9 @@ libmbedtls.so: libmbedtls.$(SOEXT_TLS)
- 	echo "  LN    $@ -> $<"
- 	ln -sf $< $@
- 
--libmbedtls.dylib: $(OBJS_TLS)
-+libmbedtls.dylib: $(OBJS_TLS) libmbedx509.dylib
- 	echo "  LD    $@"
--	$(CC) -dynamiclib $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@ $(OBJS_TLS)
-+	$(CC) -dynamiclib -L. -lmbedcrypto -lmbedx509 $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@ $(OBJS_TLS)
- 
- libmbedtls.dll: $(OBJS_TLS) libmbedx509.dll
- 	echo "  LD    $@"
-@@ -126,9 +126,9 @@ libmbedx509.so: libmbedx509.$(SOEXT_X509)
- 	echo "  LN    $@ -> $<"
- 	ln -sf $< $@
- 
--libmbedx509.dylib: $(OBJS_X509)
-+libmbedx509.dylib: $(OBJS_X509) libmbedcrypto.dylib
- 	echo "  LD    $@"
--	$(CC) -dynamiclib $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@ $(OBJS_X509)
-+	$(CC) -dynamiclib -L. -lmbedcrypto  $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@ $(OBJS_X509)
- 
- libmbedx509.dll: $(OBJS_X509) libmbedcrypto.dll
- 	echo "  LD    $@"
diff --git a/pkgs/development/libraries/mbedtls/default.nix b/pkgs/development/libraries/mbedtls/default.nix
index 91fcba97e18..74be133b068 100644
--- a/pkgs/development/libraries/mbedtls/default.nix
+++ b/pkgs/development/libraries/mbedtls/default.nix
@@ -1,19 +1,17 @@
 { stdenv, fetchFromGitHub, perl }:
 
 stdenv.mkDerivation rec {
-  name = "mbedtls-2.7.1";
+  name = "mbedtls-2.9.0";
 
   src = fetchFromGitHub {
     owner = "ARMmbed";
     repo = "mbedtls";
     rev = name;
-    sha256 = "0dkmhvs38sqgnfxgzrs81ghajyyzp9bb7wy9kn96q7zy4lly0gg6";
+    sha256 = "1pb1my8wwa757hvd06qwidkj58fa1wayf16g98q600xhya5fj3vx";
   };
 
   nativeBuildInputs = [ perl ];
 
-  patches = stdenv.lib.optionals stdenv.isDarwin [ ./darwin_dylib.patch ];
-
   postPatch = ''
     patchShebangs .
   '' + stdenv.lib.optionalString stdenv.isDarwin ''
@@ -34,15 +32,17 @@ stdenv.mkDerivation rec {
   ];
 
   postInstall = stdenv.lib.optionalString stdenv.isDarwin ''
-      install_name_tool -change libmbedcrypto.dylib $out/lib/libmbedcrypto.dylib $out/lib/libmbedtls.dylib
-      install_name_tool -change libmbedcrypto.dylib $out/lib/libmbedcrypto.dylib $out/lib/libmbedx509.dylib
-      install_name_tool -change libmbedx509.dylib $out/lib/libmbedx509.dylib $out/lib/libmbedtls.dylib
-
-      for exe in $out/bin/*; do
-          install_name_tool -change libmbedtls.dylib $out/lib/libmbedtls.dylib $exe
-          install_name_tool -change libmbedx509.dylib $out/lib/libmbedx509.dylib $exe
-          install_name_tool -change libmbedcrypto.dylib $out/lib/libmbedcrypto.dylib $exe
-      done
+    install_name_tool -change libmbedcrypto.dylib $out/lib/libmbedcrypto.dylib $out/lib/libmbedtls.dylib
+    install_name_tool -change libmbedcrypto.dylib $out/lib/libmbedcrypto.dylib $out/lib/libmbedx509.dylib
+    install_name_tool -change libmbedx509.dylib $out/lib/libmbedx509.dylib $out/lib/libmbedtls.dylib
+
+    for exe in $out/bin/*; do
+      if [[ $exe != *.sh ]]; then
+        install_name_tool -change libmbedtls.dylib $out/lib/libmbedtls.dylib $exe
+        install_name_tool -change libmbedx509.dylib $out/lib/libmbedx509.dylib $exe
+        install_name_tool -change libmbedcrypto.dylib $out/lib/libmbedcrypto.dylib $exe
+      fi
+    done
   '';
 
   doCheck = true;
diff --git a/pkgs/development/libraries/mdds/default.nix b/pkgs/development/libraries/mdds/default.nix
index 7b7c77659bd..592b6d7a677 100644
--- a/pkgs/development/libraries/mdds/default.nix
+++ b/pkgs/development/libraries/mdds/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  version = "1.2.2";
+  version = "1.3.1";
   name = "mdds-${version}";
 
   src = fetchurl {
     url = "http://kohei.us/files/mdds/src/mdds-${version}.tar.bz2";
-    sha256 = "17fcjhsq3bzqm7ba9sgp6my3y4226jnwai6q5jq3810i745p67hl";
+    sha256 = "18g511z1lgfxrga2ld9yr95phmyfbd3ymbv4q5g5lyjn4ljcvf6w";
   };
 
   postInstall = ''
diff --git a/pkgs/development/libraries/mesa-glu/default.nix b/pkgs/development/libraries/mesa-glu/default.nix
index 9a6441956db..4e35d6ed24d 100644
--- a/pkgs/development/libraries/mesa-glu/default.nix
+++ b/pkgs/development/libraries/mesa-glu/default.nix
@@ -1,7 +1,8 @@
-{ stdenv, fetchurl, pkgconfig, mesa_noglu }:
+{ stdenv, fetchurl, pkgconfig, libGL }:
 
 stdenv.mkDerivation rec {
-  name = "glu-9.0.0";
+  name = "glu-${version}";
+  version = "9.0.0";
 
   src = fetchurl {
     url = "ftp://ftp.freedesktop.org/pub/mesa/glu/${name}.tar.bz2";
@@ -12,7 +13,7 @@ stdenv.mkDerivation rec {
   '';
 
   nativeBuildInputs = [ pkgconfig ];
-  propagatedBuildInputs = [ mesa_noglu ];
+  propagatedBuildInputs = [ libGL ];
 
   outputs = [ "out" "dev" ];
 
diff --git a/pkgs/development/libraries/mesa/default.nix b/pkgs/development/libraries/mesa/default.nix
index 67500216800..4fd3b38a3be 100644
--- a/pkgs/development/libraries/mesa/default.nix
+++ b/pkgs/development/libraries/mesa/default.nix
@@ -1,8 +1,9 @@
 { stdenv, fetchurl, fetchpatch, lib
 , pkgconfig, intltool, autoreconfHook, substituteAll
 , file, expat, libdrm, xorg, wayland, wayland-protocols, openssl
-, llvmPackages, libffi, libomxil-bellagio, libva
+, llvmPackages, libffi, libomxil-bellagio, libva-minimal
 , libelf, libvdpau, valgrind-light, python2
+, libglvnd
 , grsecEnabled ? false
 , enableRadv ? true
 # Texture floats are patented, see docs/patents.txt, so we don't enable them for full Mesa.
@@ -54,7 +55,7 @@ let
     (if gallium_ == null
           then defaultGalliumDrivers
           else gallium_)
-    ++ ["swrast"];
+    ++ ["swrast" "virgl"];
   driDrivers =
     (if dri_ == null
       then defaultDriDrivers
@@ -66,12 +67,11 @@ let
 in
 
 let
-  version = "17.3.3";
+  version = "18.0.3";
   branch  = head (splitString "." version);
-  driverLink = "/run/opengl-driver" + optionalString stdenv.isi686 "-32";
 in
 
-stdenv.mkDerivation {
+let self = stdenv.mkDerivation {
   name = "mesa-noglu-${version}";
 
   src =  fetchurl {
@@ -81,7 +81,7 @@ stdenv.mkDerivation {
       "ftp://ftp.freedesktop.org/pub/mesa/older-versions/${branch}.x/${version}/mesa-${version}.tar.xz"
       "https://mesa.freedesktop.org/archive/mesa-${version}.tar.xz"
     ];
-    sha256 = "16rpm4rwmzd4kdgipa1gw262jqg3346gih0y3bsc3bgn1vgcbfj1";
+    sha256 = "0c4yskqwmh5k0wavjrkfcldafvnpcx8gjcx584bscxks69krd789";
   };
 
   prePatch = "patchShebangs .";
@@ -92,16 +92,17 @@ stdenv.mkDerivation {
   patches = [
     ./glx_ro_text_segm.patch # fix for grsecurity/PaX
     ./symlink-drivers.patch
-  ] ++ stdenv.lib.optional stdenv.hostPlatform.isMusl ./musl-fixes.patch;
+    ./missing-include.patch # dev_t needs sys/stat.h, fixes build w/musl
+  ];
 
   outputs = [ "out" "dev" "drivers" "osmesa" ];
 
   # TODO: Figure out how to enable opencl without having a runtime dependency on clang
   configureFlags = [
-    "--sysconfdir=${driverLink}/etc"
+    "--sysconfdir=${libglvnd.driverLink}/etc"
     "--localstatedir=/var"
     "--with-dri-driverdir=$(drivers)/lib/dri"
-    "--with-dri-searchpath=${driverLink}/lib/dri"
+    "--with-dri-searchpath=${libglvnd.driverLink}/lib/dri"
     "--with-platforms=x11,wayland,drm"
   ]
   ++ (optional (galliumDrivers != [])
@@ -118,12 +119,14 @@ stdenv.mkDerivation {
     (enableFeature grsecEnabled "glx-rts")
     (enableFeature stdenv.isLinux "dri3")
     (enableFeature stdenv.isLinux "nine") # Direct3D in Wine
+    "--enable-libglvnd"
     "--enable-dri"
     "--enable-driglx-direct"
     "--enable-gles1"
     "--enable-gles2"
     "--enable-glx"
-    "--enable-glx-tls"
+    # https://bugs.freedesktop.org/show_bug.cgi?id=35268
+    (enableFeature (!stdenv.hostPlatform.isMusl) "glx-tls")
     "--enable-gallium-osmesa" # used by wine
     "--enable-llvm"
     "--enable-egl"
@@ -146,21 +149,21 @@ stdenv.mkDerivation {
     ++ optional stdenv.isLinux libdrm;
 
   buildInputs = with xorg; [
-    expat llvmPackages.llvm
+    expat llvmPackages.llvm libglvnd
     glproto dri2proto dri3proto presentproto
     libX11 libXext libxcb libXt libXfixes libxshmfence
     libffi wayland wayland-protocols libvdpau libelf libXvMC
-    libomxil-bellagio libva libpthreadstubs openssl/*or another sha1 provider*/
+    libomxil-bellagio libva-minimal libpthreadstubs openssl/*or another sha1 provider*/
     valgrind-light python2
   ];
 
-
   enableParallelBuilding = true;
   doCheck = false;
 
   installFlags = [
-    "sysconfdir=\${out}/etc"
+    "sysconfdir=\${drivers}/etc"
     "localstatedir=\${TMPDIR}"
+    "vendorjsondir=\${out}/share/glvnd/egl_vendor.d"
   ];
 
   # TODO: probably not all .la files are completely fixed, but it shouldn't matter;
@@ -174,8 +177,10 @@ stdenv.mkDerivation {
       $out/lib/libxatracker* \
       $out/lib/libvulkan_*
 
+    # Move other drivers to a separate output
     mv $out/lib/dri/* $drivers/lib/dri # */
     rmdir "$out/lib/dri"
+    mv $out/lib/lib*_mesa* $drivers/lib
 
     # move libOSMesa to $osmesa, as it's relatively big
     mkdir -p {$osmesa,$drivers}/lib/
@@ -185,10 +190,22 @@ stdenv.mkDerivation {
     sed "/^libdir=/s,$out,$osmesa," -i $osmesa/lib/libOSMesa*.la
 
     # set the default search path for DRI drivers; used e.g. by X server
-    substituteInPlace "$dev/lib/pkgconfig/dri.pc" --replace '$(drivers)' "${driverLink}"
-  '' + optionalString (vulkanDrivers != []) ''
-    # move share/vulkan/icd.d/
+    substituteInPlace "$dev/lib/pkgconfig/dri.pc" --replace '$(drivers)' "${libglvnd.driverLink}"
+
+    # remove GLES libraries; they are provided by libglvnd
+    rm $out/lib/lib{GLESv1_CM,GLESv2}.*
+
+    # remove pkgconfig files for GL/GLES/EGL; they are provided by libGL.
+    rm $dev/lib/pkgconfig/{gl,egl,glesv1_cm,glesv2}.pc
+
+    # move vendor files
     mv $out/share/ $drivers/
+
+    # Update search path used by glvnd
+    for js in $drivers/share/glvnd/egl_vendor.d/*.json; do
+      substituteInPlace "$js" --replace '"libEGL_' '"'"$drivers/lib/libEGL_"
+    done
+  '' + optionalString (vulkanDrivers != []) ''
     # Update search path used by Vulkan (it's pointing to $out but
     # drivers are in $drivers)
     for js in $drivers/share/vulkan/icd.d/*.json; do
@@ -209,13 +226,48 @@ stdenv.mkDerivation {
     done
   '';
 
-  passthru = { inherit libdrm version driverLink; };
+  passthru = {
+    inherit libdrm version;
+    inherit (libglvnd) driverLink;
+
+    stubs = stdenv.mkDerivation {
+      name = "libGL-${libglvnd.version}";
+      outputs = [ "out" "dev" ];
+
+      # Use stub libraries from libglvnd and headers from Mesa.
+      buildCommand = ''
+        ln -s ${libglvnd.out} $out
+        mkdir -p $dev/{,lib/pkgconfig,nix-support}
+        echo "$out" > $dev/nix-support/propagated-build-inputs
+        ln -s ${self.dev}/include $dev/include
+
+        genPkgConfig() {
+          local name="$1"
+          local lib="$2"
+
+          cat <<EOF >$dev/lib/pkgconfig/$name.pc
+        Name: $name
+        Description: $lib library
+        Version: ${self.version}
+        Libs: -L${libglvnd.out}/lib -l$lib
+        Cflags: -I${self.dev}/include
+        EOF
+        }
+
+        genPkgConfig gl GL
+        genPkgConfig egl EGL
+        genPkgConfig glesv1_cm GLESv1_CM
+        genPkgConfig glesv2 GLESv2
+      '';
+    };
+  };
 
   meta = with stdenv.lib; {
     description = "An open source implementation of OpenGL";
     homepage = https://www.mesa3d.org/;
     license = licenses.mit; # X11 variant, in most files
-    platforms = platforms.mesaPlatforms;
+    platforms = platforms.linux;
     maintainers = with maintainers; [ eduarrrd vcunat ];
   };
-}
+};
+in self
diff --git a/pkgs/development/libraries/mesa/missing-include.patch b/pkgs/development/libraries/mesa/missing-include.patch
new file mode 100644
index 00000000000..dd3e6bb64af
--- /dev/null
+++ b/pkgs/development/libraries/mesa/missing-include.patch
@@ -0,0 +1,11 @@
+--- ./src/gallium/winsys/svga/drm/vmw_screen.h.orig
++++ ./src/gallium/winsys/svga/drm/vmw_screen.h
+@@ -34,7 +34,7 @@
+ #ifndef VMW_SCREEN_H_
+ #define VMW_SCREEN_H_
+ 
+-
++#include <sys/stat.h>
+ #include "pipe/p_compiler.h"
+ #include "pipe/p_state.h"
+ 
diff --git a/pkgs/development/libraries/mesa/musl-fixes.patch b/pkgs/development/libraries/mesa/musl-fixes.patch
deleted file mode 100644
index 60140d445ae..00000000000
--- a/pkgs/development/libraries/mesa/musl-fixes.patch
+++ /dev/null
@@ -1,22 +0,0 @@
---- ./src/gallium/winsys/svga/drm/vmw_screen.h.orig
-+++ ./src/gallium/winsys/svga/drm/vmw_screen.h
-@@ -34,7 +34,7 @@
- #ifndef VMW_SCREEN_H_
- #define VMW_SCREEN_H_
- 
--
-+#include <sys/stat.h>
- #include "pipe/p_compiler.h"
- #include "pipe/p_state.h"
- 
---- a/src/util/u_endian.h.orig	2016-11-04 12:16:00.480356454 +0100
-+++ b/src/util/u_endian.h	2016-11-04 12:16:11.984347944 +0100
-@@ -27,7 +27,7 @@
- #ifndef U_ENDIAN_H
- #define U_ENDIAN_H
- 
--#if defined(__GLIBC__) || defined(ANDROID) || defined(__CYGWIN__)
-+#if defined(__linux__) || defined(ANDROID) || defined(__CYGWIN__)
- #include <endian.h>
- 
- #if __BYTE_ORDER == __LITTLE_ENDIAN
diff --git a/pkgs/development/libraries/movit/default.nix b/pkgs/development/libraries/movit/default.nix
index d85d4f44407..b5188cb66d2 100644
--- a/pkgs/development/libraries/movit/default.nix
+++ b/pkgs/development/libraries/movit/default.nix
@@ -5,7 +5,7 @@ stdenv.mkDerivation rec {
   version = "1.5.1";
 
   src = fetchurl {
-    url = "http://movit.sesse.net/${name}.tar.gz";
+    url = "https://movit.sesse.net/${name}.tar.gz";
     sha256 = "1259iq2ixiprk4mn7ypapinbg2w1sjq1aivzzbbch9i23kcfsd44";
   };
 
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "High-performance, high-quality video filters for the GPU";
-    homepage = http://movit.sesse.net;
+    homepage = https://movit.sesse.net;
     license = licenses.gpl2Plus;
     maintainers = [ maintainers.goibhniu ];
     platforms = platforms.linux;
diff --git a/pkgs/development/libraries/mp4v2/A02-meaningful-4gb-warning.patch b/pkgs/development/libraries/mp4v2/A02-meaningful-4gb-warning.patch
deleted file mode 100644
index 987298bd5b0..00000000000
--- a/pkgs/development/libraries/mp4v2/A02-meaningful-4gb-warning.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-diff -Naur mp4v2-trunk-r355/src/mp4atom.cpp mp4v2-trunk-r355/src/mp4atom.cpp
---- mp4v2-trunk-r355/src/mp4atom.cpp	2012-02-21 19:40:03.000000000 +0100
-+++ mp4v2-trunk-r355/src/mp4atom.cpp	2012-02-21 19:36:38.000000000 +0100
-@@ -543,6 +543,10 @@
-         m_pFile->SetPosition(m_start + 8);
-         m_pFile->WriteUInt64(m_size);
-     } else {
-+        if (!(m_size <= (uint64_t)0xFFFFFFFF)) {
-+            // Let the user know what the following assert is all about
-+            fprintf(stderr, "MP4ERROR: File size exceeded 4 GB; output unplayable. Enable \"Large file size\" to fix it.\n");
-+        }
-         ASSERT(m_size <= (uint64_t)0xFFFFFFFF);
-         m_pFile->SetPosition(m_start);
-         m_pFile->WriteUInt32(m_size);
diff --git a/pkgs/development/libraries/mp4v2/default.nix b/pkgs/development/libraries/mp4v2/default.nix
index a5542ebb659..e55d9989bff 100644
--- a/pkgs/development/libraries/mp4v2/default.nix
+++ b/pkgs/development/libraries/mp4v2/default.nix
@@ -9,10 +9,6 @@ stdenv.mkDerivation rec {
   };
 
   patches = [
-    # From Handbrake
-    # mp4v2 doesn't seem to be actively maintained any more :-/
-    ./A02-meaningful-4gb-warning.patch
-
     (fetchurl {
       name = "gcc-7.patch";
       url = "https://src.fedoraproject.org/cgit/rpms/libmp4v2.git/plain/"
diff --git a/pkgs/development/libraries/mpfi/default.nix b/pkgs/development/libraries/mpfi/default.nix
index c88c8da6378..6b607e94bd4 100644
--- a/pkgs/development/libraries/mpfi/default.nix
+++ b/pkgs/development/libraries/mpfi/default.nix
@@ -1,15 +1,20 @@
 {stdenv, fetchurl, mpfr}:
 stdenv.mkDerivation rec {
   name = "mpfi-${version}";
-  version = "1.5.1";
+  version = "1.5.3";
+  file_nr = "37331";
   src = fetchurl {
-    url = "https://gforge.inria.fr/frs/download.php/file/30129/mpfi-${version}.tar.bz2";
-    sha256 = "0vk9jfcfiqda0zksg1ffy36pdznpng9b4nl7pfzpz9hps4v6bk1z";
+    # NOTE: the file_nr is whats important here. The actual package name (including the version)
+    # is ignored. To find out the correct file_nr, go to https://gforge.inria.fr/projects/mpfi/
+    # and click on Download in the section "Latest File Releases".
+    url = "https://gforge.inria.fr/frs/download.php/file/${file_nr}/mpfi-${version}.tar.bz2";
+    sha256 = "0bqr8yibl7jbrp0bw7xk1lm7nis7rv26jsz6y8ycvih8n9bx90r3";
   };
   buildInputs = [mpfr];
   meta = {
     inherit version;
     description = ''A multiple precision interval arithmetic library based on MPFR'';
+    homepage = https://gforge.inria.fr/projects/mpfi/;
     license = stdenv.lib.licenses.lgpl21Plus;
     maintainers = [stdenv.lib.maintainers.raskin];
     platforms = stdenv.lib.platforms.linux;
diff --git a/pkgs/development/libraries/mpfr/default.nix b/pkgs/development/libraries/mpfr/default.nix
index 4aac5a92709..d75d9d6b9d9 100644
--- a/pkgs/development/libraries/mpfr/default.nix
+++ b/pkgs/development/libraries/mpfr/default.nix
@@ -3,11 +3,12 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "mpfr-3.1.6";
+  version = "4.0.1";
+  name = "mpfr-${version}";
 
   src = fetchurl {
     url = "mirror://gnu/mpfr/${name}.tar.xz";
-    sha256 = "0l598h9klpgkz2bp0rxiqb90mkqh9f2f81n5rpy191j00hdaqqks";
+    sha256 = "0vp1lrc08gcmwdaqck6bpzllkrykvp06vz5gnqpyw0v3h9h4m1v7";
   };
 
   outputs = [ "out" "dev" "doc" "info" ];
diff --git a/pkgs/development/libraries/mpfr/upstream.patch b/pkgs/development/libraries/mpfr/upstream.patch
deleted file mode 100644
index 77933160524..00000000000
--- a/pkgs/development/libraries/mpfr/upstream.patch
+++ /dev/null
@@ -1,1699 +0,0 @@
-diff -Naurd mpfr-3.1.3-a/PATCHES mpfr-3.1.3-b/PATCHES
---- mpfr-3.1.3-a/PATCHES	2015-07-02 10:49:23.950112879 +0000
-+++ mpfr-3.1.3-b/PATCHES	2015-07-02 10:49:24.042113845 +0000
-@@ -0,0 +1 @@
-+lngamma-and-doc
-diff -Naurd mpfr-3.1.3-a/VERSION mpfr-3.1.3-b/VERSION
---- mpfr-3.1.3-a/VERSION	2015-06-19 19:55:09.000000000 +0000
-+++ mpfr-3.1.3-b/VERSION	2015-07-02 10:49:24.042113845 +0000
-@@ -1 +1 @@
--3.1.3
-+3.1.3-p1
-diff -Naurd mpfr-3.1.3-a/doc/mpfr.texi mpfr-3.1.3-b/doc/mpfr.texi
---- mpfr-3.1.3-a/doc/mpfr.texi	2015-06-19 19:55:11.000000000 +0000
-+++ mpfr-3.1.3-b/doc/mpfr.texi	2015-07-02 10:49:24.018113593 +0000
-@@ -810,13 +810,17 @@
- When the input point is in the closure of the domain of the mathematical
- function and an input argument is +0 (resp.@: @minus{}0), one considers
- the limit when the corresponding argument approaches 0 from above
--(resp.@: below). If the limit is not defined (e.g., @code{mpfr_log} on
--@minus{}0), the behavior is specified in the description of the MPFR function.
-+(resp.@: below), if possible. If the limit is not defined (e.g.,
-+@code{mpfr_sqrt} and @code{mpfr_log} on @minus{}0), the behavior is
-+specified in the description of the MPFR function, but must be consistent
-+with the rule from the above paragraph (e.g., @code{mpfr_log} on @pom{}0
-+gives @minus{}Inf).
- 
- When the result is equal to 0, its sign is determined by considering the
- limit as if the input point were not in the domain: If one approaches 0
- from above (resp.@: below), the result is +0 (resp.@: @minus{}0);
--for example, @code{mpfr_sin} on +0 gives +0.
-+for example, @code{mpfr_sin} on @minus{}0 gives @minus{}0 and
-+@code{mpfr_acos} on 1 gives +0 (in all rounding modes).
- In the other cases, the sign is specified in the description of the MPFR
- function; for example @code{mpfr_max} on @minus{}0 and +0 gives +0.
- 
-@@ -832,8 +836,8 @@
- @c that advantages in practice), like for any bug fix.
- Example: @code{mpfr_hypot} on (NaN,0) gives NaN, but @code{mpfr_hypot}
- on (NaN,+Inf) gives +Inf (as specified in @ref{Special Functions}),
--since for any finite input @var{x}, @code{mpfr_hypot} on (@var{x},+Inf)
--gives +Inf.
-+since for any finite or infinite input @var{x}, @code{mpfr_hypot} on
-+(@var{x},+Inf) gives +Inf.
- 
- @node Exceptions, Memory Handling, Floating-Point Values on Special Numbers, MPFR Basics
- @comment  node-name,  next,  previous,  up
-@@ -1581,7 +1585,8 @@
- @deftypefunx int mpfr_add_z (mpfr_t @var{rop}, mpfr_t @var{op1}, mpz_t @var{op2}, mpfr_rnd_t @var{rnd})
- @deftypefunx int mpfr_add_q (mpfr_t @var{rop}, mpfr_t @var{op1}, mpq_t @var{op2}, mpfr_rnd_t @var{rnd})
- Set @var{rop} to @math{@var{op1} + @var{op2}} rounded in the direction
--@var{rnd}. For types having no signed zero, it is considered unsigned
-+@var{rnd}.  The IEEE-754 rules are used, in particular for signed zeros.
-+But for types having no signed zeros, 0 is considered unsigned
- (i.e., (+0) + 0 = (+0) and (@minus{}0) + 0 = (@minus{}0)).
- The @code{mpfr_add_d} function assumes that the radix of the @code{double} type
- is a power of 2, with a precision at most that declared by the C implementation
-@@ -1599,7 +1604,8 @@
- @deftypefunx int mpfr_sub_z (mpfr_t @var{rop}, mpfr_t @var{op1}, mpz_t @var{op2}, mpfr_rnd_t @var{rnd})
- @deftypefunx int mpfr_sub_q (mpfr_t @var{rop}, mpfr_t @var{op1}, mpq_t @var{op2}, mpfr_rnd_t @var{rnd})
- Set @var{rop} to @math{@var{op1} - @var{op2}} rounded in the direction
--@var{rnd}. For types having no signed zero, it is considered unsigned
-+@var{rnd}.  The IEEE-754 rules are used, in particular for signed zeros.
-+But for types having no signed zeros, 0 is considered unsigned
- (i.e., (+0) @minus{} 0 = (+0), (@minus{}0) @minus{} 0 = (@minus{}0),
- 0 @minus{} (+0) = (@minus{}0) and 0 @minus{} (@minus{}0) = (+0)).
- The same restrictions than for @code{mpfr_add_d} apply to @code{mpfr_d_sub}
-@@ -1615,7 +1621,7 @@
- Set @var{rop} to @math{@var{op1} @GMPtimes{} @var{op2}} rounded in the
- direction @var{rnd}.
- When a result is zero, its sign is the product of the signs of the operands
--(for types having no signed zero, it is considered positive).
-+(for types having no signed zeros, 0 is considered positive).
- The same restrictions than for @code{mpfr_add_d} apply to @code{mpfr_mul_d}.
- @end deftypefun
- 
-@@ -1635,7 +1641,7 @@
- @deftypefunx int mpfr_div_q (mpfr_t @var{rop}, mpfr_t @var{op1}, mpq_t @var{op2}, mpfr_rnd_t @var{rnd})
- Set @var{rop} to @math{@var{op1}/@var{op2}} rounded in the direction @var{rnd}.
- When a result is zero, its sign is the product of the signs of the operands
--(for types having no signed zero, it is considered positive).
-+(for types having no signed zeros, 0 is considered positive).
- The same restrictions than for @code{mpfr_add_d} apply to @code{mpfr_d_div}
- and @code{mpfr_div_d}.
- @end deftypefun
-@@ -1643,15 +1649,18 @@
- @deftypefun int mpfr_sqrt (mpfr_t @var{rop}, mpfr_t @var{op}, mpfr_rnd_t @var{rnd})
- @deftypefunx int mpfr_sqrt_ui (mpfr_t @var{rop}, unsigned long int @var{op}, mpfr_rnd_t @var{rnd})
- Set @var{rop} to @m{\sqrt{@var{op}}, the square root of @var{op}}
--rounded in the direction @var{rnd} (set @var{rop} to @minus{}0 if @var{op} is
--@minus{}0, to be consistent with the IEEE 754 standard).
-+rounded in the direction @var{rnd}.  Set @var{rop} to @minus{}0 if
-+@var{op} is @minus{}0, to be consistent with the IEEE 754 standard.
- Set @var{rop} to NaN if @var{op} is negative.
- @end deftypefun
- 
- @deftypefun int mpfr_rec_sqrt (mpfr_t @var{rop}, mpfr_t @var{op}, mpfr_rnd_t @var{rnd})
- Set @var{rop} to @m{1/\sqrt{@var{op}}, the reciprocal square root of @var{op}}
--rounded in the direction @var{rnd}. Set @var{rop} to +Inf if @var{op} is
--@pom{}0, +0 if @var{op} is +Inf, and NaN if @var{op} is negative.
-+rounded in the direction @var{rnd}.  Set @var{rop} to +Inf if @var{op} is
-+@pom{}0, +0 if @var{op} is +Inf, and NaN if @var{op} is negative.  Warning!
-+Therefore the result on @minus{}0 is different from the one of the rSqrt
-+function recommended by the IEEE 754-2008 standard (Section 9.2.1), which
-+is @minus{}Inf instead of +Inf.
- @end deftypefun
- 
- @deftypefun int mpfr_cbrt (mpfr_t @var{rop}, mpfr_t @var{op}, mpfr_rnd_t @var{rnd})
-@@ -1832,7 +1841,9 @@
- @m{\log_2 @var{op}, log2(@var{op})} or
- @m{\log_{10} @var{op}, log10(@var{op})}, respectively,
- rounded in the direction @var{rnd}.
--Set @var{rop} to @minus{}Inf if @var{op} is @minus{}0
-+Set @var{rop} to +0 if @var{op} is 1 (in all rounding modes),
-+for consistency with the ISO C99 and IEEE 754-2008 standards.
-+Set @var{rop} to @minus{}Inf if @var{op} is @pom{}0
- (i.e., the sign of the zero has no influence on the result).
- @end deftypefun
- 
-@@ -2003,8 +2014,11 @@
- @deftypefun int mpfr_lngamma (mpfr_t @var{rop}, mpfr_t @var{op}, mpfr_rnd_t @var{rnd})
- Set @var{rop} to the value of the logarithm of the Gamma function on @var{op},
- rounded in the direction @var{rnd}.
--When @math{@minus{}2@var{k}@minus{}1 @le{} @var{op} @le{} @minus{}2@var{k}},
--@var{k} being a non-negative integer, @var{rop} is set to NaN.
-+When @var{op} is 1 or 2, set @var{rop} to +0 (in all rounding modes).
-+When @var{op} is an infinity or a nonpositive integer, set @var{rop} to +Inf,
-+following the general rules on special values.
-+When @math{@minus{}2@var{k}@minus{}1 < @var{op} < @minus{}2@var{k}},
-+@var{k} being a nonnegative integer, set @var{rop} to NaN@.
- See also @code{mpfr_lgamma}.
- @end deftypefun
- 
-@@ -2012,10 +2026,11 @@
- Set @var{rop} to the value of the logarithm of the absolute value of the
- Gamma function on @var{op}, rounded in the direction @var{rnd}. The sign
- (1 or @minus{}1) of Gamma(@var{op}) is returned in the object pointed to
--by @var{signp}. When @var{op} is an infinity or a non-positive integer, set
--@var{rop} to +Inf. When @var{op} is NaN, @minus{}Inf or a negative integer,
--*@var{signp} is undefined, and when @var{op} is @pom{}0, *@var{signp} is
--the sign of the zero.
-+by @var{signp}.
-+When @var{op} is 1 or 2, set @var{rop} to +0 (in all rounding modes).
-+When @var{op} is an infinity or a nonpositive integer, set @var{rop} to +Inf.
-+When @var{op} is NaN, @minus{}Inf or a negative integer, *@var{signp} is
-+undefined, and when @var{op} is @pom{}0, *@var{signp} is the sign of the zero.
- @end deftypefun
- 
- @deftypefun int mpfr_digamma (mpfr_t @var{rop}, mpfr_t @var{op}, mpfr_rnd_t @var{rnd})
-@@ -2064,7 +2079,10 @@
- @deftypefunx int mpfr_fms (mpfr_t @var{rop}, mpfr_t @var{op1}, mpfr_t @var{op2}, mpfr_t @var{op3}, mpfr_rnd_t @var{rnd})
- Set @var{rop} to @math{(@var{op1} @GMPtimes{} @var{op2}) + @var{op3}}
- (resp.@: @math{(@var{op1} @GMPtimes{} @var{op2}) - @var{op3}})
--rounded in the direction @var{rnd}.
-+rounded in the direction @var{rnd}.  Concerning special values (signed zeros,
-+infinities, NaN), these functions behave like a multiplication followed by a
-+separate addition or subtraction.  That is, the fused operation matters only
-+for rounding.
- @end deftypefun
- 
- @deftypefun int mpfr_agm (mpfr_t @var{rop}, mpfr_t @var{op1}, mpfr_t @var{op2}, mpfr_rnd_t @var{rnd})
-@@ -2089,8 +2107,8 @@
- i.e., $\sqrt{x^2+y^2}$,
- @end tex
- rounded in the direction @var{rnd}.
--Special values are handled as described in Section F.9.4.3 of
--the ISO C99 and IEEE 754-2008 standards:
-+Special values are handled as described in the ISO C99 (Section F.9.4.3)
-+and IEEE 754-2008 (Section 9.2.1) standards:
- If @var{x} or @var{y} is an infinity, then +Inf is returned in @var{rop},
- even if the other number is NaN.
- @end deftypefun
-diff -Naurd mpfr-3.1.3-a/doc/mpfr.info mpfr-3.1.3-b/doc/mpfr.info
---- mpfr-3.1.3-a/doc/mpfr.info	2015-06-19 19:55:53.000000000 +0000
-+++ mpfr-3.1.3-b/doc/mpfr.info	2015-07-02 10:49:38.718267817 +0000
-@@ -1,4 +1,4 @@
--This is mpfr.info, produced by makeinfo version 5.2 from mpfr.texi.
-+This is mpfr.info, produced by makeinfo version 6.0 from mpfr.texi.
- 
- This manual documents how to install and use the Multiple Precision
- Floating-Point Reliable Library, version 3.1.3.
-@@ -55,7 +55,7 @@
- MPFR Copying Conditions
- ***********************
- 
--The GNU MPFR library (or MPFR for short) is "free"; this means that
-+The GNU MPFR library (or MPFR for short) is “free”; this means that
- everyone is free to use it and free to redistribute it on a free basis.
- The library is not in the public domain; it is copyrighted and there are
- restrictions on its distribution, but these restrictions are designed to
-@@ -418,7 +418,7 @@
- 4.2 Nomenclature and Types
- ==========================
- 
--A "floating-point number", or "float" for short, is an arbitrary
-+A “floating-point number”, or “float” for short, is an arbitrary
- precision significand (also called mantissa) with a limited precision
- exponent.  The C data type for such objects is ‘mpfr_t’ (internally
- defined as a one-element array of a structure, and ‘mpfr_ptr’ is the C
-@@ -432,7 +432,7 @@
- to the other functions supported by MPFR. Unless documented otherwise,
- the sign bit of a NaN is unspecified.
- 
--The "precision" is the number of bits used to represent the significand
-+The “precision” is the number of bits used to represent the significand
- of a floating-point number; the corresponding C data type is
- ‘mpfr_prec_t’.  The precision can be any integer between ‘MPFR_PREC_MIN’
- and ‘MPFR_PREC_MAX’.  In the current implementation, ‘MPFR_PREC_MIN’ is
-@@ -446,7 +446,7 @@
- may abort, crash or have undefined behavior (depending on your C
- implementation).
- 
--The "rounding mode" specifies the way to round the result of a
-+The “rounding mode” specifies the way to round the result of a
- floating-point operation, in case the exact result can not be
- represented exactly in the destination significand; the corresponding C
- data type is ‘mpfr_rnd_t’.
-@@ -499,14 +499,14 @@
- representable numbers, it is rounded to the one with the least
- significant bit set to zero.  For example, the number 2.5, which is
- represented by (10.1) in binary, is rounded to (10.0)=2 with a precision
--of two bits, and not to (11.0)=3.  This rule avoids the "drift"
-+of two bits, and not to (11.0)=3.  This rule avoids the “drift”
- phenomenon mentioned by Knuth in volume 2 of The Art of Computer
- Programming (Section 4.2.2).
- 
-    Most MPFR functions take as first argument the destination variable,
- as second and following arguments the input variables, as last argument
- a rounding mode, and have a return value of type ‘int’, called the
--"ternary value".  The value stored in the destination variable is
-+“ternary value”.  The value stored in the destination variable is
- correctly rounded, i.e., MPFR behaves as if it computed the result with
- an infinite precision, then rounded it to the precision of this
- variable.  The input variables are regarded as exact (in particular,
-@@ -572,15 +572,18 @@
-    When the input point is in the closure of the domain of the
- mathematical function and an input argument is +0 (resp. −0), one
- considers the limit when the corresponding argument approaches 0 from
--above (resp. below).  If the limit is not defined (e.g., ‘mpfr_log’ on
--−0), the behavior is specified in the description of the MPFR function.
-+above (resp. below), if possible.  If the limit is not defined (e.g.,
-+‘mpfr_sqrt’ and ‘mpfr_log’ on −0), the behavior is specified in the
-+description of the MPFR function, but must be consistent with the rule
-+from the above paragraph (e.g., ‘mpfr_log’ on ±0 gives −Inf).
- 
-    When the result is equal to 0, its sign is determined by considering
- the limit as if the input point were not in the domain: If one
- approaches 0 from above (resp. below), the result is +0 (resp. −0); for
--example, ‘mpfr_sin’ on +0 gives +0.  In the other cases, the sign is
--specified in the description of the MPFR function; for example
--‘mpfr_max’ on −0 and +0 gives +0.
-+example, ‘mpfr_sin’ on −0 gives −0 and ‘mpfr_acos’ on 1 gives +0 (in all
-+rounding modes).  In the other cases, the sign is specified in the
-+description of the MPFR function; for example ‘mpfr_max’ on −0 and +0
-+gives +0.
- 
-    When the input point is not in the closure of the domain of the
- function, the result is NaN. Example: ‘mpfr_sqrt’ on −17 gives NaN.
-@@ -590,8 +593,8 @@
- numbers; such a case is always explicitly specified in *note MPFR
- Interface::.  Example: ‘mpfr_hypot’ on (NaN,0) gives NaN, but
- ‘mpfr_hypot’ on (NaN,+Inf) gives +Inf (as specified in *note Special
--Functions::), since for any finite input X, ‘mpfr_hypot’ on (X,+Inf)
--gives +Inf.
-+Functions::), since for any finite or infinite input X, ‘mpfr_hypot’ on
-+(X,+Inf) gives +Inf.
- 
- 
- File: mpfr.info,  Node: Exceptions,  Next: Memory Handling,  Prev: Floating-Point Values on Special Numbers,  Up: MPFR Basics
-@@ -1253,8 +1256,9 @@
-           mpfr_rnd_t RND)
-  -- Function: int mpfr_add_q (mpfr_t ROP, mpfr_t OP1, mpq_t OP2,
-           mpfr_rnd_t RND)
--     Set ROP to OP1 + OP2 rounded in the direction RND.  For types
--     having no signed zero, it is considered unsigned (i.e., (+0) + 0 =
-+     Set ROP to OP1 + OP2 rounded in the direction RND.  The IEEE-754
-+     rules are used, in particular for signed zeros.  But for types
-+     having no signed zeros, 0 is considered unsigned (i.e., (+0) + 0 =
-      (+0) and (−0) + 0 = (−0)).  The ‘mpfr_add_d’ function assumes that
-      the radix of the ‘double’ type is a power of 2, with a precision at
-      most that declared by the C implementation (macro
-@@ -1280,8 +1284,9 @@
-           mpfr_rnd_t RND)
-  -- Function: int mpfr_sub_q (mpfr_t ROP, mpfr_t OP1, mpq_t OP2,
-           mpfr_rnd_t RND)
--     Set ROP to OP1 - OP2 rounded in the direction RND.  For types
--     having no signed zero, it is considered unsigned (i.e., (+0) − 0 =
-+     Set ROP to OP1 - OP2 rounded in the direction RND.  The IEEE-754
-+     rules are used, in particular for signed zeros.  But for types
-+     having no signed zeros, 0 is considered unsigned (i.e., (+0) − 0 =
-      (+0), (−0) − 0 = (−0), 0 − (+0) = (−0) and 0 − (−0) = (+0)).  The
-      same restrictions than for ‘mpfr_add_d’ apply to ‘mpfr_d_sub’ and
-      ‘mpfr_sub_d’.
-@@ -1300,7 +1305,7 @@
-           mpfr_rnd_t RND)
-      Set ROP to OP1 times OP2 rounded in the direction RND.  When a
-      result is zero, its sign is the product of the signs of the
--     operands (for types having no signed zero, it is considered
-+     operands (for types having no signed zeros, 0 is considered
-      positive).  The same restrictions than for ‘mpfr_add_d’ apply to
-      ‘mpfr_mul_d’.
- 
-@@ -1327,21 +1332,24 @@
-           mpfr_rnd_t RND)
-      Set ROP to OP1/OP2 rounded in the direction RND.  When a result is
-      zero, its sign is the product of the signs of the operands (for
--     types having no signed zero, it is considered positive).  The same
-+     types having no signed zeros, 0 is considered positive).  The same
-      restrictions than for ‘mpfr_add_d’ apply to ‘mpfr_d_div’ and
-      ‘mpfr_div_d’.
- 
-  -- Function: int mpfr_sqrt (mpfr_t ROP, mpfr_t OP, mpfr_rnd_t RND)
-  -- Function: int mpfr_sqrt_ui (mpfr_t ROP, unsigned long int OP,
-           mpfr_rnd_t RND)
--     Set ROP to the square root of OP rounded in the direction RND (set
--     ROP to −0 if OP is −0, to be consistent with the IEEE 754
--     standard).  Set ROP to NaN if OP is negative.
-+     Set ROP to the square root of OP rounded in the direction RND.  Set
-+     ROP to −0 if OP is −0, to be consistent with the IEEE 754 standard.
-+     Set ROP to NaN if OP is negative.
- 
-  -- Function: int mpfr_rec_sqrt (mpfr_t ROP, mpfr_t OP, mpfr_rnd_t RND)
-      Set ROP to the reciprocal square root of OP rounded in the
-      direction RND.  Set ROP to +Inf if OP is ±0, +0 if OP is +Inf, and
--     NaN if OP is negative.
-+     NaN if OP is negative.  Warning!  Therefore the result on −0 is
-+     different from the one of the rSqrt function recommended by the
-+     IEEE 754-2008 standard (Section 9.2.1), which is −Inf instead of
-+     +Inf.
- 
-  -- Function: int mpfr_cbrt (mpfr_t ROP, mpfr_t OP, mpfr_rnd_t RND)
-  -- Function: int mpfr_root (mpfr_t ROP, mpfr_t OP, unsigned long int K,
-@@ -1515,8 +1523,10 @@
-  -- Function: int mpfr_log2 (mpfr_t ROP, mpfr_t OP, mpfr_rnd_t RND)
-  -- Function: int mpfr_log10 (mpfr_t ROP, mpfr_t OP, mpfr_rnd_t RND)
-      Set ROP to the natural logarithm of OP, log2(OP) or log10(OP),
--     respectively, rounded in the direction RND.  Set ROP to −Inf if OP
--     is −0 (i.e., the sign of the zero has no influence on the result).
-+     respectively, rounded in the direction RND.  Set ROP to +0 if OP is
-+     1 (in all rounding modes), for consistency with the ISO C99 and
-+     IEEE 754-2008 standards.  Set ROP to −Inf if OP is ±0 (i.e., the
-+     sign of the zero has no influence on the result).
- 
-  -- Function: int mpfr_exp (mpfr_t ROP, mpfr_t OP, mpfr_rnd_t RND)
-  -- Function: int mpfr_exp2 (mpfr_t ROP, mpfr_t OP, mpfr_rnd_t RND)
-@@ -1649,17 +1659,21 @@
- 
-  -- Function: int mpfr_lngamma (mpfr_t ROP, mpfr_t OP, mpfr_rnd_t RND)
-      Set ROP to the value of the logarithm of the Gamma function on OP,
--     rounded in the direction RND.  When −2K−1 <= OP <= −2K, K being a
--     non-negative integer, ROP is set to NaN. See also ‘mpfr_lgamma’.
-+     rounded in the direction RND.  When OP is 1 or 2, set ROP to +0 (in
-+     all rounding modes).  When OP is an infinity or a nonpositive
-+     integer, set ROP to +Inf, following the general rules on special
-+     values.  When −2K−1 < OP < −2K, K being a nonnegative integer, set
-+     ROP to NaN.  See also ‘mpfr_lgamma’.
- 
-  -- Function: int mpfr_lgamma (mpfr_t ROP, int *SIGNP, mpfr_t OP,
-           mpfr_rnd_t RND)
-      Set ROP to the value of the logarithm of the absolute value of the
-      Gamma function on OP, rounded in the direction RND.  The sign (1 or
-      −1) of Gamma(OP) is returned in the object pointed to by SIGNP.
--     When OP is an infinity or a non-positive integer, set ROP to +Inf.
--     When OP is NaN, −Inf or a negative integer, *SIGNP is undefined,
--     and when OP is ±0, *SIGNP is the sign of the zero.
-+     When OP is 1 or 2, set ROP to +0 (in all rounding modes).  When OP
-+     is an infinity or a nonpositive integer, set ROP to +Inf.  When OP
-+     is NaN, −Inf or a negative integer, *SIGNP is undefined, and when
-+     OP is ±0, *SIGNP is the sign of the zero.
- 
-  -- Function: int mpfr_digamma (mpfr_t ROP, mpfr_t OP, mpfr_rnd_t RND)
-      Set ROP to the value of the Digamma (sometimes also called Psi)
-@@ -1703,7 +1717,10 @@
-  -- Function: int mpfr_fms (mpfr_t ROP, mpfr_t OP1, mpfr_t OP2, mpfr_t
-           OP3, mpfr_rnd_t RND)
-      Set ROP to (OP1 times OP2) + OP3 (resp. (OP1 times OP2) - OP3)
--     rounded in the direction RND.
-+     rounded in the direction RND.  Concerning special values (signed
-+     zeros, infinities, NaN), these functions behave like a
-+     multiplication followed by a separate addition or subtraction.
-+     That is, the fused operation matters only for rounding.
- 
-  -- Function: int mpfr_agm (mpfr_t ROP, mpfr_t OP1, mpfr_t OP2,
-           mpfr_rnd_t RND)
-@@ -1717,9 +1734,10 @@
-           RND)
-      Set ROP to the Euclidean norm of X and Y, i.e., the square root of
-      the sum of the squares of X and Y, rounded in the direction RND.
--     Special values are handled as described in Section F.9.4.3 of the
--     ISO C99 and IEEE 754-2008 standards: If X or Y is an infinity, then
--     +Inf is returned in ROP, even if the other number is NaN.
-+     Special values are handled as described in the ISO C99 (Section
-+     F.9.4.3) and IEEE 754-2008 (Section 9.2.1) standards: If X or Y is
-+     an infinity, then +Inf is returned in ROP, even if the other number
-+     is NaN.
- 
-  -- Function: int mpfr_ai (mpfr_t ROP, mpfr_t X, mpfr_rnd_t RND)
-      Set ROP to the value of the Airy function Ai on X, rounded in the
-@@ -2670,7 +2688,7 @@
- 5.16 Internals
- ==============
- 
--A "limb" means the part of a multi-precision number that fits in a
-+A “limb” means the part of a multi-precision number that fits in a
- single word.  Usually a limb contains 32 or 64 bits.  The C data type
- for a limb is ‘mp_limb_t’.
- 
-@@ -3140,7 +3158,7 @@
-   0. PREAMBLE
- 
-      The purpose of this License is to make a manual, textbook, or other
--     functional and useful document "free" in the sense of freedom: to
-+     functional and useful document “free” in the sense of freedom: to
-      assure everyone the effective freedom to copy and redistribute it,
-      with or without modifying it, either commercially or
-      noncommercially.  Secondarily, this License preserves for the
-@@ -3655,9 +3673,9 @@
- * Menu:
- 
- * mpfr_abs:                              Basic Arithmetic Functions.
--                                                              (line 160)
--* mpfr_acos:                             Special Functions.   (line  51)
--* mpfr_acosh:                            Special Functions.   (line 115)
-+                                                              (line 165)
-+* mpfr_acos:                             Special Functions.   (line  53)
-+* mpfr_acosh:                            Special Functions.   (line 117)
- * mpfr_add:                              Basic Arithmetic Functions.
-                                                               (line   6)
- * mpfr_add_d:                            Basic Arithmetic Functions.
-@@ -3670,15 +3688,15 @@
-                                                               (line   8)
- * mpfr_add_z:                            Basic Arithmetic Functions.
-                                                               (line  14)
--* mpfr_agm:                              Special Functions.   (line 210)
--* mpfr_ai:                               Special Functions.   (line 226)
--* mpfr_asin:                             Special Functions.   (line  52)
--* mpfr_asinh:                            Special Functions.   (line 116)
-+* mpfr_agm:                              Special Functions.   (line 219)
-+* mpfr_ai:                               Special Functions.   (line 236)
-+* mpfr_asin:                             Special Functions.   (line  54)
-+* mpfr_asinh:                            Special Functions.   (line 118)
- * mpfr_asprintf:                         Formatted Output Functions.
-                                                               (line 193)
--* mpfr_atan:                             Special Functions.   (line  53)
--* mpfr_atan2:                            Special Functions.   (line  63)
--* mpfr_atanh:                            Special Functions.   (line 117)
-+* mpfr_atan:                             Special Functions.   (line  55)
-+* mpfr_atan2:                            Special Functions.   (line  65)
-+* mpfr_atanh:                            Special Functions.   (line 119)
- * mpfr_buildopt_decimal_p:               Miscellaneous Functions.
-                                                               (line 162)
- * mpfr_buildopt_gmpinternals_p:          Miscellaneous Functions.
-@@ -3690,7 +3708,7 @@
- * mpfr_can_round:                        Rounding Related Functions.
-                                                               (line  39)
- * mpfr_cbrt:                             Basic Arithmetic Functions.
--                                                              (line 108)
-+                                                              (line 113)
- * mpfr_ceil:                             Integer Related Functions.
-                                                               (line   7)
- * mpfr_check_range:                      Exception Related Functions.
-@@ -3735,18 +3753,18 @@
-                                                               (line  27)
- * mpfr_cmp_z:                            Comparison Functions.
-                                                               (line  11)
--* mpfr_const_catalan:                    Special Functions.   (line 237)
--* mpfr_const_euler:                      Special Functions.   (line 236)
--* mpfr_const_log2:                       Special Functions.   (line 234)
--* mpfr_const_pi:                         Special Functions.   (line 235)
-+* mpfr_const_catalan:                    Special Functions.   (line 247)
-+* mpfr_const_euler:                      Special Functions.   (line 246)
-+* mpfr_const_log2:                       Special Functions.   (line 244)
-+* mpfr_const_pi:                         Special Functions.   (line 245)
- * mpfr_copysign:                         Miscellaneous Functions.
-                                                               (line 109)
--* mpfr_cos:                              Special Functions.   (line  29)
--* mpfr_cosh:                             Special Functions.   (line  95)
--* mpfr_cot:                              Special Functions.   (line  47)
--* mpfr_coth:                             Special Functions.   (line 111)
--* mpfr_csc:                              Special Functions.   (line  46)
--* mpfr_csch:                             Special Functions.   (line 110)
-+* mpfr_cos:                              Special Functions.   (line  31)
-+* mpfr_cosh:                             Special Functions.   (line  97)
-+* mpfr_cot:                              Special Functions.   (line  49)
-+* mpfr_coth:                             Special Functions.   (line 113)
-+* mpfr_csc:                              Special Functions.   (line  48)
-+* mpfr_csch:                             Special Functions.   (line 112)
- * mpfr_custom_get_exp:                   Custom Interface.    (line  75)
- * mpfr_custom_get_kind:                  Custom Interface.    (line  65)
- * mpfr_custom_get_significand:           Custom Interface.    (line  70)
-@@ -3756,47 +3774,47 @@
- * mpfr_custom_move:                      Custom Interface.    (line  82)
- * MPFR_DECL_INIT:                        Initialization Functions.
-                                                               (line  74)
--* mpfr_digamma:                          Special Functions.   (line 166)
-+* mpfr_digamma:                          Special Functions.   (line 172)
- * mpfr_dim:                              Basic Arithmetic Functions.
--                                                              (line 166)
-+                                                              (line 171)
- * mpfr_div:                              Basic Arithmetic Functions.
--                                                              (line  72)
-+                                                              (line  74)
- * mpfr_divby0_p:                         Exception Related Functions.
-                                                               (line 134)
- * mpfr_div_2exp:                         Compatibility with MPF.
-                                                               (line  49)
- * mpfr_div_2si:                          Basic Arithmetic Functions.
--                                                              (line 181)
-+                                                              (line 186)
- * mpfr_div_2ui:                          Basic Arithmetic Functions.
--                                                              (line 179)
-+                                                              (line 184)
- * mpfr_div_d:                            Basic Arithmetic Functions.
--                                                              (line  84)
-+                                                              (line  86)
- * mpfr_div_q:                            Basic Arithmetic Functions.
--                                                              (line  88)
-+                                                              (line  90)
- * mpfr_div_si:                           Basic Arithmetic Functions.
--                                                              (line  80)
-+                                                              (line  82)
- * mpfr_div_ui:                           Basic Arithmetic Functions.
--                                                              (line  76)
-+                                                              (line  78)
- * mpfr_div_z:                            Basic Arithmetic Functions.
--                                                              (line  86)
-+                                                              (line  88)
- * mpfr_d_div:                            Basic Arithmetic Functions.
--                                                              (line  82)
-+                                                              (line  84)
- * mpfr_d_sub:                            Basic Arithmetic Functions.
--                                                              (line  35)
--* mpfr_eint:                             Special Functions.   (line 133)
-+                                                              (line  36)
-+* mpfr_eint:                             Special Functions.   (line 135)
- * mpfr_eq:                               Compatibility with MPF.
-                                                               (line  28)
- * mpfr_equal_p:                          Comparison Functions.
-                                                               (line  59)
- * mpfr_erangeflag_p:                     Exception Related Functions.
-                                                               (line 137)
--* mpfr_erf:                              Special Functions.   (line 177)
--* mpfr_erfc:                             Special Functions.   (line 178)
--* mpfr_exp:                              Special Functions.   (line  23)
--* mpfr_exp10:                            Special Functions.   (line  25)
--* mpfr_exp2:                             Special Functions.   (line  24)
--* mpfr_expm1:                            Special Functions.   (line 129)
--* mpfr_fac_ui:                           Special Functions.   (line 121)
-+* mpfr_erf:                              Special Functions.   (line 183)
-+* mpfr_erfc:                             Special Functions.   (line 184)
-+* mpfr_exp:                              Special Functions.   (line  25)
-+* mpfr_exp10:                            Special Functions.   (line  27)
-+* mpfr_exp2:                             Special Functions.   (line  26)
-+* mpfr_expm1:                            Special Functions.   (line 131)
-+* mpfr_fac_ui:                           Special Functions.   (line 123)
- * mpfr_fits_intmax_p:                    Conversion Functions.
-                                                               (line 150)
- * mpfr_fits_sint_p:                      Conversion Functions.
-@@ -3815,20 +3833,20 @@
-                                                               (line 147)
- * mpfr_floor:                            Integer Related Functions.
-                                                               (line   8)
--* mpfr_fma:                              Special Functions.   (line 203)
-+* mpfr_fma:                              Special Functions.   (line 209)
- * mpfr_fmod:                             Integer Related Functions.
-                                                               (line  92)
--* mpfr_fms:                              Special Functions.   (line 205)
-+* mpfr_fms:                              Special Functions.   (line 211)
- * mpfr_fprintf:                          Formatted Output Functions.
-                                                               (line 157)
- * mpfr_frac:                             Integer Related Functions.
-                                                               (line  76)
--* mpfr_free_cache:                       Special Functions.   (line 244)
-+* mpfr_free_cache:                       Special Functions.   (line 254)
- * mpfr_free_str:                         Conversion Functions.
-                                                               (line 137)
- * mpfr_frexp:                            Conversion Functions.
-                                                               (line  45)
--* mpfr_gamma:                            Special Functions.   (line 148)
-+* mpfr_gamma:                            Special Functions.   (line 150)
- * mpfr_get_d:                            Conversion Functions.
-                                                               (line   7)
- * mpfr_get_decimal64:                    Conversion Functions.
-@@ -3887,7 +3905,7 @@
-                                                               (line  56)
- * mpfr_greater_p:                        Comparison Functions.
-                                                               (line  55)
--* mpfr_hypot:                            Special Functions.   (line 218)
-+* mpfr_hypot:                            Special Functions.   (line 227)
- * mpfr_inexflag_p:                       Exception Related Functions.
-                                                               (line 136)
- * mpfr_inf_p:                            Comparison Functions.
-@@ -3922,21 +3940,21 @@
-                                                               (line  31)
- * mpfr_integer_p:                        Integer Related Functions.
-                                                               (line 119)
--* mpfr_j0:                               Special Functions.   (line 182)
--* mpfr_j1:                               Special Functions.   (line 183)
--* mpfr_jn:                               Special Functions.   (line 184)
-+* mpfr_j0:                               Special Functions.   (line 188)
-+* mpfr_j1:                               Special Functions.   (line 189)
-+* mpfr_jn:                               Special Functions.   (line 190)
- * mpfr_lessequal_p:                      Comparison Functions.
-                                                               (line  58)
- * mpfr_lessgreater_p:                    Comparison Functions.
-                                                               (line  64)
- * mpfr_less_p:                           Comparison Functions.
-                                                               (line  57)
--* mpfr_lgamma:                           Special Functions.   (line 157)
--* mpfr_li2:                              Special Functions.   (line 143)
--* mpfr_lngamma:                          Special Functions.   (line 152)
-+* mpfr_lgamma:                           Special Functions.   (line 162)
-+* mpfr_li2:                              Special Functions.   (line 145)
-+* mpfr_lngamma:                          Special Functions.   (line 154)
- * mpfr_log:                              Special Functions.   (line  16)
- * mpfr_log10:                            Special Functions.   (line  18)
--* mpfr_log1p:                            Special Functions.   (line 125)
-+* mpfr_log1p:                            Special Functions.   (line 127)
- * mpfr_log2:                             Special Functions.   (line  17)
- * mpfr_max:                              Miscellaneous Functions.
-                                                               (line  22)
-@@ -3947,29 +3965,29 @@
- * mpfr_modf:                             Integer Related Functions.
-                                                               (line  82)
- * mpfr_mul:                              Basic Arithmetic Functions.
--                                                              (line  51)
-+                                                              (line  53)
- * mpfr_mul_2exp:                         Compatibility with MPF.
-                                                               (line  47)
- * mpfr_mul_2si:                          Basic Arithmetic Functions.
--                                                              (line 174)
-+                                                              (line 179)
- * mpfr_mul_2ui:                          Basic Arithmetic Functions.
--                                                              (line 172)
-+                                                              (line 177)
- * mpfr_mul_d:                            Basic Arithmetic Functions.
--                                                              (line  57)
-+                                                              (line  59)
- * mpfr_mul_q:                            Basic Arithmetic Functions.
--                                                              (line  61)
-+                                                              (line  63)
- * mpfr_mul_si:                           Basic Arithmetic Functions.
--                                                              (line  55)
-+                                                              (line  57)
- * mpfr_mul_ui:                           Basic Arithmetic Functions.
--                                                              (line  53)
-+                                                              (line  55)
- * mpfr_mul_z:                            Basic Arithmetic Functions.
--                                                              (line  59)
-+                                                              (line  61)
- * mpfr_nanflag_p:                        Exception Related Functions.
-                                                               (line 135)
- * mpfr_nan_p:                            Comparison Functions.
-                                                               (line  39)
- * mpfr_neg:                              Basic Arithmetic Functions.
--                                                              (line 159)
-+                                                              (line 164)
- * mpfr_nextabove:                        Miscellaneous Functions.
-                                                               (line  15)
- * mpfr_nextbelow:                        Miscellaneous Functions.
-@@ -3983,13 +4001,13 @@
- * mpfr_overflow_p:                       Exception Related Functions.
-                                                               (line 133)
- * mpfr_pow:                              Basic Arithmetic Functions.
--                                                              (line 116)
-+                                                              (line 121)
- * mpfr_pow_si:                           Basic Arithmetic Functions.
--                                                              (line 120)
-+                                                              (line 125)
- * mpfr_pow_ui:                           Basic Arithmetic Functions.
--                                                              (line 118)
-+                                                              (line 123)
- * mpfr_pow_z:                            Basic Arithmetic Functions.
--                                                              (line 122)
-+                                                              (line 127)
- * mpfr_prec_round:                       Rounding Related Functions.
-                                                               (line  13)
- * ‘mpfr_prec_t’:                         Nomenclature and Types.
-@@ -3999,7 +4017,7 @@
- * mpfr_print_rnd_mode:                   Rounding Related Functions.
-                                                               (line  71)
- * mpfr_rec_sqrt:                         Basic Arithmetic Functions.
--                                                              (line 103)
-+                                                              (line 105)
- * mpfr_regular_p:                        Comparison Functions.
-                                                               (line  43)
- * mpfr_reldiff:                          Compatibility with MPF.
-@@ -4021,11 +4039,11 @@
- * ‘mpfr_rnd_t’:                          Nomenclature and Types.
-                                                               (line  34)
- * mpfr_root:                             Basic Arithmetic Functions.
--                                                              (line 109)
-+                                                              (line 114)
- * mpfr_round:                            Integer Related Functions.
-                                                               (line   9)
--* mpfr_sec:                              Special Functions.   (line  45)
--* mpfr_sech:                             Special Functions.   (line 109)
-+* mpfr_sec:                              Special Functions.   (line  47)
-+* mpfr_sech:                             Special Functions.   (line 111)
- * mpfr_set:                              Assignment Functions.
-                                                               (line   9)
- * mpfr_setsign:                          Miscellaneous Functions.
-@@ -4100,57 +4118,57 @@
-                                                               (line  49)
- * mpfr_signbit:                          Miscellaneous Functions.
-                                                               (line  99)
--* mpfr_sin:                              Special Functions.   (line  30)
--* mpfr_sinh:                             Special Functions.   (line  96)
--* mpfr_sinh_cosh:                        Special Functions.   (line 101)
--* mpfr_sin_cos:                          Special Functions.   (line  35)
-+* mpfr_sin:                              Special Functions.   (line  32)
-+* mpfr_sinh:                             Special Functions.   (line  98)
-+* mpfr_sinh_cosh:                        Special Functions.   (line 103)
-+* mpfr_sin_cos:                          Special Functions.   (line  37)
- * mpfr_si_div:                           Basic Arithmetic Functions.
--                                                              (line  78)
-+                                                              (line  80)
- * mpfr_si_sub:                           Basic Arithmetic Functions.
--                                                              (line  31)
-+                                                              (line  32)
- * mpfr_snprintf:                         Formatted Output Functions.
-                                                               (line 180)
- * mpfr_sprintf:                          Formatted Output Functions.
-                                                               (line 170)
- * mpfr_sqr:                              Basic Arithmetic Functions.
--                                                              (line  69)
-+                                                              (line  71)
- * mpfr_sqrt:                             Basic Arithmetic Functions.
--                                                              (line  96)
-+                                                              (line  98)
- * mpfr_sqrt_ui:                          Basic Arithmetic Functions.
--                                                              (line  97)
-+                                                              (line  99)
- * mpfr_strtofr:                          Assignment Functions.
-                                                               (line  80)
- * mpfr_sub:                              Basic Arithmetic Functions.
--                                                              (line  25)
-+                                                              (line  26)
- * mpfr_subnormalize:                     Exception Related Functions.
-                                                               (line  60)
- * mpfr_sub_d:                            Basic Arithmetic Functions.
--                                                              (line  37)
-+                                                              (line  38)
- * mpfr_sub_q:                            Basic Arithmetic Functions.
--                                                              (line  43)
-+                                                              (line  44)
- * mpfr_sub_si:                           Basic Arithmetic Functions.
--                                                              (line  33)
-+                                                              (line  34)
- * mpfr_sub_ui:                           Basic Arithmetic Functions.
--                                                              (line  29)
-+                                                              (line  30)
- * mpfr_sub_z:                            Basic Arithmetic Functions.
--                                                              (line  41)
--* mpfr_sum:                              Special Functions.   (line 252)
-+                                                              (line  42)
-+* mpfr_sum:                              Special Functions.   (line 262)
- * mpfr_swap:                             Assignment Functions.
-                                                               (line 150)
- * ‘mpfr_t’:                              Nomenclature and Types.
-                                                               (line   6)
--* mpfr_tan:                              Special Functions.   (line  31)
--* mpfr_tanh:                             Special Functions.   (line  97)
-+* mpfr_tan:                              Special Functions.   (line  33)
-+* mpfr_tanh:                             Special Functions.   (line  99)
- * mpfr_trunc:                            Integer Related Functions.
-                                                               (line  10)
- * mpfr_ui_div:                           Basic Arithmetic Functions.
--                                                              (line  74)
-+                                                              (line  76)
- * mpfr_ui_pow:                           Basic Arithmetic Functions.
--                                                              (line 126)
-+                                                              (line 131)
- * mpfr_ui_pow_ui:                        Basic Arithmetic Functions.
--                                                              (line 124)
-+                                                              (line 129)
- * mpfr_ui_sub:                           Basic Arithmetic Functions.
--                                                              (line  27)
-+                                                              (line  28)
- * mpfr_underflow_p:                      Exception Related Functions.
-                                                               (line 132)
- * mpfr_unordered_p:                      Comparison Functions.
-@@ -4181,61 +4199,61 @@
-                                                               (line 182)
- * mpfr_vsprintf:                         Formatted Output Functions.
-                                                               (line 171)
--* mpfr_y0:                               Special Functions.   (line 193)
--* mpfr_y1:                               Special Functions.   (line 194)
--* mpfr_yn:                               Special Functions.   (line 195)
-+* mpfr_y0:                               Special Functions.   (line 199)
-+* mpfr_y1:                               Special Functions.   (line 200)
-+* mpfr_yn:                               Special Functions.   (line 201)
- * mpfr_zero_p:                           Comparison Functions.
-                                                               (line  42)
--* mpfr_zeta:                             Special Functions.   (line 171)
--* mpfr_zeta_ui:                          Special Functions.   (line 172)
-+* mpfr_zeta:                             Special Functions.   (line 177)
-+* mpfr_zeta_ui:                          Special Functions.   (line 178)
- * mpfr_z_sub:                            Basic Arithmetic Functions.
--                                                              (line  39)
-+                                                              (line  40)
- 
- 
- 
- Tag Table:
- Node: Top775
- Node: Copying2007
--Node: Introduction to MPFR3766
--Node: Installing MPFR5880
--Node: Reporting Bugs11323
--Node: MPFR Basics13353
--Node: Headers and Libraries13669
--Node: Nomenclature and Types16828
--Node: MPFR Variable Conventions18874
--Node: Rounding Modes20418
--Ref: ternary value21544
--Node: Floating-Point Values on Special Numbers23526
--Node: Exceptions26572
--Node: Memory Handling29749
--Node: MPFR Interface30894
--Node: Initialization Functions33008
--Node: Assignment Functions40318
--Node: Combined Initialization and Assignment Functions49673
--Node: Conversion Functions50974
--Node: Basic Arithmetic Functions60035
--Node: Comparison Functions69200
--Node: Special Functions72687
--Node: Input and Output Functions86672
--Node: Formatted Output Functions88644
--Node: Integer Related Functions98431
--Node: Rounding Related Functions105051
--Node: Miscellaneous Functions108888
--Node: Exception Related Functions117568
--Node: Compatibility with MPF124386
--Node: Custom Interface127127
--Node: Internals131526
--Node: API Compatibility133066
--Node: Type and Macro Changes134995
--Node: Added Functions137844
--Node: Changed Functions141132
--Node: Removed Functions145545
--Node: Other Changes145973
--Node: Contributors147576
--Node: References150219
--Node: GNU Free Documentation License151973
--Node: Concept Index174562
--Node: Function and Type Index180659
-+Node: Introduction to MPFR3770
-+Node: Installing MPFR5884
-+Node: Reporting Bugs11327
-+Node: MPFR Basics13357
-+Node: Headers and Libraries13673
-+Node: Nomenclature and Types16832
-+Node: MPFR Variable Conventions18894
-+Node: Rounding Modes20438
-+Ref: ternary value21568
-+Node: Floating-Point Values on Special Numbers23554
-+Node: Exceptions26813
-+Node: Memory Handling29990
-+Node: MPFR Interface31135
-+Node: Initialization Functions33249
-+Node: Assignment Functions40559
-+Node: Combined Initialization and Assignment Functions49914
-+Node: Conversion Functions51215
-+Node: Basic Arithmetic Functions60276
-+Node: Comparison Functions69777
-+Node: Special Functions73264
-+Node: Input and Output Functions87862
-+Node: Formatted Output Functions89834
-+Node: Integer Related Functions99621
-+Node: Rounding Related Functions106241
-+Node: Miscellaneous Functions110078
-+Node: Exception Related Functions118758
-+Node: Compatibility with MPF125576
-+Node: Custom Interface128317
-+Node: Internals132716
-+Node: API Compatibility134260
-+Node: Type and Macro Changes136189
-+Node: Added Functions139038
-+Node: Changed Functions142326
-+Node: Removed Functions146739
-+Node: Other Changes147167
-+Node: Contributors148770
-+Node: References151413
-+Node: GNU Free Documentation License153167
-+Node: Concept Index175760
-+Node: Function and Type Index181857
- 
- End Tag Table
- 
-diff -Naurd mpfr-3.1.3-a/src/lngamma.c mpfr-3.1.3-b/src/lngamma.c
---- mpfr-3.1.3-a/src/lngamma.c	2015-06-19 19:55:10.000000000 +0000
-+++ mpfr-3.1.3-b/src/lngamma.c	2015-07-02 10:49:24.018113593 +0000
-@@ -603,16 +603,17 @@
-       mpfr_get_prec (y), mpfr_log_prec, y, inex));
- 
-   /* special cases */
--  if (MPFR_UNLIKELY (MPFR_IS_SINGULAR (x)))
-+  if (MPFR_UNLIKELY (MPFR_IS_SINGULAR (x) ||
-+                     (MPFR_IS_NEG (x) && mpfr_integer_p (x))))
-     {
--      if (MPFR_IS_NAN (x) || MPFR_IS_NEG (x))
-+      if (MPFR_IS_NAN (x))
-         {
-           MPFR_SET_NAN (y);
-           MPFR_RET_NAN;
-         }
--      else /* lngamma(+Inf) = lngamma(+0) = +Inf */
-+      else /* lngamma(+/-Inf) = lngamma(nonpositive integer) = +Inf */
-         {
--          if (MPFR_IS_ZERO (x))
-+          if (!MPFR_IS_INF (x))
-             mpfr_set_divby0 ();
-           MPFR_SET_INF (y);
-           MPFR_SET_POS (y);
-@@ -620,8 +621,8 @@
-         }
-     }
- 
--  /* if x < 0 and -2k-1 <= x <= -2k, then lngamma(x) = NaN */
--  if (MPFR_IS_NEG (x) && (unit_bit (x) == 0 || mpfr_integer_p (x)))
-+  /* if -2k-1 < x < -2k <= 0, then lngamma(x) = NaN */
-+  if (MPFR_IS_NEG (x) && unit_bit (x) == 0)
-     {
-       MPFR_SET_NAN (y);
-       MPFR_RET_NAN;
-diff -Naurd mpfr-3.1.3-a/src/mpfr.h mpfr-3.1.3-b/src/mpfr.h
---- mpfr-3.1.3-a/src/mpfr.h	2015-06-19 19:55:10.000000000 +0000
-+++ mpfr-3.1.3-b/src/mpfr.h	2015-07-02 10:49:24.038113803 +0000
-@@ -27,7 +27,7 @@
- #define MPFR_VERSION_MAJOR 3
- #define MPFR_VERSION_MINOR 1
- #define MPFR_VERSION_PATCHLEVEL 3
--#define MPFR_VERSION_STRING "3.1.3"
-+#define MPFR_VERSION_STRING "3.1.3-p1"
- 
- /* Macros dealing with MPFR VERSION */
- #define MPFR_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c))
-diff -Naurd mpfr-3.1.3-a/src/version.c mpfr-3.1.3-b/src/version.c
---- mpfr-3.1.3-a/src/version.c	2015-06-19 19:55:10.000000000 +0000
-+++ mpfr-3.1.3-b/src/version.c	2015-07-02 10:49:24.042113845 +0000
-@@ -25,5 +25,5 @@
- const char *
- mpfr_get_version (void)
- {
--  return "3.1.3";
-+  return "3.1.3-p1";
- }
-diff -Naurd mpfr-3.1.3-a/tests/tlngamma.c mpfr-3.1.3-b/tests/tlngamma.c
---- mpfr-3.1.3-a/tests/tlngamma.c	2015-06-19 19:55:10.000000000 +0000
-+++ mpfr-3.1.3-b/tests/tlngamma.c	2015-07-02 10:49:24.018113593 +0000
-@@ -33,7 +33,7 @@
- special (void)
- {
-   mpfr_t x, y;
--  int inex;
-+  int i, inex;
- 
-   mpfr_init (x);
-   mpfr_init (y);
-@@ -46,25 +46,29 @@
-       exit (1);
-     }
- 
--  mpfr_set_inf (x, -1);
-+  mpfr_set_inf (x, 1);
-+  mpfr_clear_flags ();
-   mpfr_lngamma (y, x, MPFR_RNDN);
--  if (!mpfr_nan_p (y))
-+  if (!mpfr_inf_p (y) || mpfr_sgn (y) < 0 || __gmpfr_flags != 0)
-     {
--      printf ("Error for lngamma(-Inf)\n");
-+      printf ("Error for lngamma(+Inf)\n");
-       exit (1);
-     }
- 
--  mpfr_set_inf (x, 1);
-+  mpfr_set_inf (x, -1);
-+  mpfr_clear_flags ();
-   mpfr_lngamma (y, x, MPFR_RNDN);
--  if (!mpfr_inf_p (y) || mpfr_sgn (y) < 0)
-+  if (!mpfr_inf_p (y) || mpfr_sgn (y) < 0 || __gmpfr_flags != 0)
-     {
--      printf ("Error for lngamma(+Inf)\n");
-+      printf ("Error for lngamma(-Inf)\n");
-       exit (1);
-     }
- 
-   mpfr_set_ui (x, 0, MPFR_RNDN);
-+  mpfr_clear_flags ();
-   mpfr_lngamma (y, x, MPFR_RNDN);
--  if (!mpfr_inf_p (y) || mpfr_sgn (y) < 0)
-+  if (!mpfr_inf_p (y) || mpfr_sgn (y) < 0 ||
-+      __gmpfr_flags != MPFR_FLAGS_DIVBY0)
-     {
-       printf ("Error for lngamma(+0)\n");
-       exit (1);
-@@ -72,32 +76,58 @@
- 
-   mpfr_set_ui (x, 0, MPFR_RNDN);
-   mpfr_neg (x, x, MPFR_RNDN);
-+  mpfr_clear_flags ();
-   mpfr_lngamma (y, x, MPFR_RNDN);
--  if (!mpfr_nan_p (y))
-+  if (!mpfr_inf_p (y) || mpfr_sgn (y) < 0 ||
-+      __gmpfr_flags != MPFR_FLAGS_DIVBY0)
-     {
-       printf ("Error for lngamma(-0)\n");
-       exit (1);
-     }
- 
-   mpfr_set_ui (x, 1, MPFR_RNDN);
-+  mpfr_clear_flags ();
-   mpfr_lngamma (y, x, MPFR_RNDN);
--  if (MPFR_IS_NAN (y) || mpfr_cmp_ui (y, 0) || MPFR_IS_NEG (y))
-+  if (mpfr_cmp_ui0 (y, 0) || MPFR_IS_NEG (y))
-     {
-       printf ("Error for lngamma(1)\n");
-       exit (1);
-     }
- 
--  mpfr_set_si (x, -1, MPFR_RNDN);
--  mpfr_lngamma (y, x, MPFR_RNDN);
--  if (!mpfr_nan_p (y))
-+  for (i = 1; i <= 5; i++)
-     {
--      printf ("Error for lngamma(-1)\n");
--      exit (1);
-+      int c;
-+
-+      mpfr_set_si (x, -i, MPFR_RNDN);
-+      mpfr_clear_flags ();
-+      mpfr_lngamma (y, x, MPFR_RNDN);
-+      if (!mpfr_inf_p (y) || mpfr_sgn (y) < 0 ||
-+          __gmpfr_flags != MPFR_FLAGS_DIVBY0)
-+        {
-+          printf ("Error for lngamma(-%d)\n", i);
-+          exit (1);
-+        }
-+      if (i & 1)
-+        {
-+          mpfr_nextabove (x);
-+          c = '+';
-+        }
-+      else
-+        {
-+          mpfr_nextbelow (x);
-+          c = '-';
-+        }
-+      mpfr_lngamma (y, x, MPFR_RNDN);
-+      if (!mpfr_nan_p (y))
-+        {
-+          printf ("Error for lngamma(-%d%cepsilon)\n", i, c);
-+          exit (1);
-+        }
-     }
- 
-   mpfr_set_ui (x, 2, MPFR_RNDN);
-   mpfr_lngamma (y, x, MPFR_RNDN);
--  if (MPFR_IS_NAN (y) || mpfr_cmp_ui (y, 0) || MPFR_IS_NEG (y))
-+  if (mpfr_cmp_ui0 (y, 0) || MPFR_IS_NEG (y))
-     {
-       printf ("Error for lngamma(2)\n");
-       exit (1);
-@@ -127,7 +157,7 @@
-   mpfr_set_str (x, CHECK_X2, 10, MPFR_RNDN);
-   mpfr_lngamma (y, x, MPFR_RNDN);
-   mpfr_set_str (x, CHECK_Y2, 10, MPFR_RNDN);
--  if (MPFR_IS_NAN (y) || mpfr_cmp (y, x))
-+  if (mpfr_cmp0 (y, x))
-     {
-       printf ("mpfr_lngamma("CHECK_X2") is wrong:\n"
-               "expected ");
-@@ -143,7 +173,7 @@
-   mpfr_lngamma (y, x, MPFR_RNDU);
-   mpfr_set_prec (x, 175);
-   mpfr_set_str_binary (x, "0.1010001100011101101011001101110010100001000001000001110011000001101100001111001001000101011011100100010101011110100111110101010100010011010010000101010111001100011000101111E7");
--  if (MPFR_IS_NAN (y) || mpfr_cmp (x, y))
-+  if (mpfr_cmp0 (x, y))
-     {
-       printf ("Error in mpfr_lngamma (1)\n");
-       exit (1);
-@@ -155,7 +185,7 @@
-   mpfr_lngamma (x, y, MPFR_RNDZ);
-   mpfr_set_prec (y, 21);
-   mpfr_set_str_binary (y, "0.111000101000001100101E9");
--  if (MPFR_IS_NAN (x) || mpfr_cmp (x, y))
-+  if (mpfr_cmp0 (x, y))
-     {
-       printf ("Error in mpfr_lngamma (120)\n");
-       printf ("Expected "); mpfr_print_binary (y); puts ("");
-@@ -169,7 +199,7 @@
-   inex = mpfr_lngamma (y, x, MPFR_RNDN);
-   mpfr_set_prec (x, 206);
-   mpfr_set_str_binary (x, "0.10000111011000000011100010101001100110001110000111100011000100100110110010001011011110101001111011110110000001010100111011010000000011100110110101100111000111010011110010000100010111101010001101000110101001E13");
--  if (MPFR_IS_NAN (y) || mpfr_cmp (x, y))
-+  if (mpfr_cmp0 (x, y))
-     {
-       printf ("Error in mpfr_lngamma (768)\n");
-       exit (1);
-@@ -185,7 +215,7 @@
-   mpfr_set_str_binary (x, "0.1100E-66");
-   mpfr_lngamma (y, x, MPFR_RNDN);
-   mpfr_set_str_binary (x, "0.1100E6");
--  if (MPFR_IS_NAN (y) || mpfr_cmp (x, y))
-+  if (mpfr_cmp0 (x, y))
-     {
-       printf ("Error for lngamma(0.1100E-66)\n");
-       exit (1);
-@@ -199,7 +229,7 @@
-   mpfr_lngamma (y, x, MPFR_RNDN);
-   mpfr_set_prec (x, 32);
-   mpfr_set_str_binary (x, "-0.10001000111011111011000010100010E207");
--  if (MPFR_IS_NAN (y) || mpfr_cmp (x, y))
-+  if (mpfr_cmp0 (x, y))
-     {
-       printf ("Error for lngamma(-2^199+0.5)\n");
-       printf ("Got        ");
-diff -Naurd mpfr-3.1.3-a/PATCHES mpfr-3.1.3-b/PATCHES
---- mpfr-3.1.3-a/PATCHES	2015-07-02 10:50:08.046573308 +0000
-+++ mpfr-3.1.3-b/PATCHES	2015-07-02 10:50:08.126574142 +0000
-@@ -0,0 +1 @@
-+muldiv-2exp-overflow
-diff -Naurd mpfr-3.1.3-a/VERSION mpfr-3.1.3-b/VERSION
---- mpfr-3.1.3-a/VERSION	2015-07-02 10:49:24.042113845 +0000
-+++ mpfr-3.1.3-b/VERSION	2015-07-02 10:50:08.126574142 +0000
-@@ -1 +1 @@
--3.1.3-p1
-+3.1.3-p2
-diff -Naurd mpfr-3.1.3-a/src/div_2si.c mpfr-3.1.3-b/src/div_2si.c
---- mpfr-3.1.3-a/src/div_2si.c	2015-06-19 19:55:10.000000000 +0000
-+++ mpfr-3.1.3-b/src/div_2si.c	2015-07-02 10:50:08.106573933 +0000
-@@ -49,7 +49,7 @@
-             rnd_mode = MPFR_RNDZ;
-           return mpfr_underflow (y, rnd_mode, MPFR_SIGN(y));
-         }
--      else if (MPFR_UNLIKELY(n < 0 && (__gmpfr_emax < MPFR_EMIN_MIN - n ||
-+      else if (MPFR_UNLIKELY(n <= 0 && (__gmpfr_emax < MPFR_EMIN_MIN - n ||
-                                        exp > __gmpfr_emax + n)) )
-         return mpfr_overflow (y, rnd_mode, MPFR_SIGN(y));
- 
-diff -Naurd mpfr-3.1.3-a/src/div_2ui.c mpfr-3.1.3-b/src/div_2ui.c
---- mpfr-3.1.3-a/src/div_2ui.c	2015-06-19 19:55:10.000000000 +0000
-+++ mpfr-3.1.3-b/src/div_2ui.c	2015-07-02 10:50:08.106573933 +0000
-@@ -32,7 +32,7 @@
-      rnd_mode),
-     ("y[%Pu]=%.*Rg inexact=%d", mpfr_get_prec(y), mpfr_log_prec, y, inexact));
- 
--  if (MPFR_UNLIKELY (MPFR_IS_SINGULAR (x)))
-+  if (MPFR_UNLIKELY (n == 0 || MPFR_IS_SINGULAR (x)))
-     return mpfr_set (y, x, rnd_mode);
-   else
-     {
-diff -Naurd mpfr-3.1.3-a/src/mpfr.h mpfr-3.1.3-b/src/mpfr.h
---- mpfr-3.1.3-a/src/mpfr.h	2015-07-02 10:49:24.038113803 +0000
-+++ mpfr-3.1.3-b/src/mpfr.h	2015-07-02 10:50:08.126574142 +0000
-@@ -27,7 +27,7 @@
- #define MPFR_VERSION_MAJOR 3
- #define MPFR_VERSION_MINOR 1
- #define MPFR_VERSION_PATCHLEVEL 3
--#define MPFR_VERSION_STRING "3.1.3-p1"
-+#define MPFR_VERSION_STRING "3.1.3-p2"
- 
- /* Macros dealing with MPFR VERSION */
- #define MPFR_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c))
-diff -Naurd mpfr-3.1.3-a/src/mul_2si.c mpfr-3.1.3-b/src/mul_2si.c
---- mpfr-3.1.3-a/src/mul_2si.c	2015-06-19 19:55:10.000000000 +0000
-+++ mpfr-3.1.3-b/src/mul_2si.c	2015-07-02 10:50:08.106573933 +0000
-@@ -39,7 +39,7 @@
-     {
-       mpfr_exp_t exp = MPFR_GET_EXP (x);
-       MPFR_SETRAW (inexact, y, x, exp, rnd_mode);
--      if (MPFR_UNLIKELY( n > 0 && (__gmpfr_emax < MPFR_EMIN_MIN + n ||
-+      if (MPFR_UNLIKELY(n >= 0 && (__gmpfr_emax < MPFR_EMIN_MIN + n ||
-                                    exp > __gmpfr_emax - n)))
-         return mpfr_overflow (y, rnd_mode, MPFR_SIGN(y));
-       else if (MPFR_UNLIKELY(n < 0 && (__gmpfr_emin > MPFR_EMAX_MAX + n ||
-diff -Naurd mpfr-3.1.3-a/src/version.c mpfr-3.1.3-b/src/version.c
---- mpfr-3.1.3-a/src/version.c	2015-07-02 10:49:24.042113845 +0000
-+++ mpfr-3.1.3-b/src/version.c	2015-07-02 10:50:08.126574142 +0000
-@@ -25,5 +25,5 @@
- const char *
- mpfr_get_version (void)
- {
--  return "3.1.3-p1";
-+  return "3.1.3-p2";
- }
-diff -Naurd mpfr-3.1.3-a/tests/tmul_2exp.c mpfr-3.1.3-b/tests/tmul_2exp.c
---- mpfr-3.1.3-a/tests/tmul_2exp.c	2015-06-19 19:55:10.000000000 +0000
-+++ mpfr-3.1.3-b/tests/tmul_2exp.c	2015-07-02 10:50:08.106573933 +0000
-@@ -242,6 +242,76 @@
-   large (MPFR_EMAX_MAX);
- }
- 
-+/* Cases where the function overflows on n = 0 when rounding is like
-+   away from zero. */
-+static void
-+overflow0 (mpfr_exp_t emax)
-+{
-+  mpfr_exp_t old_emax;
-+  mpfr_t x, y1, y2;
-+  int neg, r, op;
-+  static char *sop[4] = { "mul_2ui", "mul_2si", "div_2ui", "div_2si" };
-+
-+  old_emax = mpfr_get_emax ();
-+  set_emax (emax);
-+
-+  mpfr_init2 (x, 8);
-+  mpfr_inits2 (6, y1, y2, (mpfr_ptr) 0);
-+
-+  mpfr_set_inf (x, 1);
-+  mpfr_nextbelow (x);
-+
-+  for (neg = 0; neg <= 1; neg++)
-+    {
-+      RND_LOOP (r)
-+        {
-+          int inex1, inex2;
-+          unsigned int flags1, flags2;
-+
-+          /* Even if there isn't an overflow (rounding ~ toward zero),
-+             the result is the same as the one of an overflow. */
-+          inex1 = mpfr_overflow (y1, (mpfr_rnd_t) r, neg ? -1 : 1);
-+          flags1 = MPFR_FLAGS_INEXACT;
-+          if (mpfr_inf_p (y1))
-+            flags1 |= MPFR_FLAGS_OVERFLOW;
-+          for (op = 0; op < 4; op++)
-+            {
-+              mpfr_clear_flags ();
-+              inex2 =
-+                op == 0 ? mpfr_mul_2ui (y2, x, 0, (mpfr_rnd_t) r) :
-+                op == 1 ? mpfr_mul_2si (y2, x, 0, (mpfr_rnd_t) r) :
-+                op == 2 ? mpfr_div_2ui (y2, x, 0, (mpfr_rnd_t) r) :
-+                op == 3 ? mpfr_div_2si (y2, x, 0, (mpfr_rnd_t) r) :
-+                (MPFR_ASSERTN (0), 0);
-+              flags2 = __gmpfr_flags;
-+              if (!(mpfr_equal_p (y1, y2) &&
-+                    SAME_SIGN (inex1, inex2) &&
-+                    flags1 == flags2))
-+                {
-+                  printf ("Error in overflow0 for %s, mpfr_%s, emax = %"
-+                          MPFR_EXP_FSPEC "d,\nx = ",
-+                          mpfr_print_rnd_mode ((mpfr_rnd_t) r), sop[op],
-+                          (mpfr_eexp_t) emax);
-+                  mpfr_dump (x);
-+                  printf ("Expected ");
-+                  mpfr_dump (y1);
-+                  printf ("  with inex = %d, flags =", inex1);
-+                  flags_out (flags1);
-+                  printf ("Got      ");
-+                  mpfr_dump (y2);
-+                  printf ("  with inex = %d, flags =", inex2);
-+                  flags_out (flags2);
-+                  exit (1);
-+                }
-+            }
-+        }
-+      mpfr_neg (x, x, MPFR_RNDN);
-+    }
-+
-+  mpfr_clears (x, y1, y2, (mpfr_ptr) 0);
-+  set_emax (old_emax);
-+}
-+
- int
- main (int argc, char *argv[])
- {
-@@ -334,6 +404,11 @@
-   underflow0 ();
-   large0 ();
- 
-+  if (mpfr_get_emax () != MPFR_EMAX_MAX)
-+    overflow0 (mpfr_get_emax ());
-+  overflow0 (MPFR_EMAX_MAX);
-+  overflow0 (-1);
-+
-   tests_end_mpfr ();
-   return 0;
- }
-diff -Naurd mpfr-3.1.3-a/PATCHES mpfr-3.1.3-b/PATCHES
---- mpfr-3.1.3-a/PATCHES	2015-07-17 08:54:48.592799981 +0000
-+++ mpfr-3.1.3-b/PATCHES	2015-07-17 08:54:48.616811495 +0000
-@@ -0,0 +1 @@
-+muldiv-2exp-underflow
-diff -Naurd mpfr-3.1.3-a/VERSION mpfr-3.1.3-b/VERSION
---- mpfr-3.1.3-a/VERSION	2015-07-02 10:50:08.126574142 +0000
-+++ mpfr-3.1.3-b/VERSION	2015-07-17 08:54:48.616811495 +0000
-@@ -1 +1 @@
--3.1.3-p2
-+3.1.3-p3
-diff -Naurd mpfr-3.1.3-a/src/div_2si.c mpfr-3.1.3-b/src/div_2si.c
---- mpfr-3.1.3-a/src/div_2si.c	2015-07-02 10:50:08.106573933 +0000
-+++ mpfr-3.1.3-b/src/div_2si.c	2015-07-17 08:54:48.608807656 +0000
-@@ -45,7 +45,8 @@
-           if (rnd_mode == MPFR_RNDN &&
-               (__gmpfr_emin > MPFR_EMAX_MAX - (n - 1) ||
-                exp < __gmpfr_emin + (n - 1) ||
--               (inexact >= 0 && mpfr_powerof2_raw (y))))
-+               ((MPFR_IS_NEG (y) ? inexact <= 0 : inexact >= 0) &&
-+                mpfr_powerof2_raw (y))))
-             rnd_mode = MPFR_RNDZ;
-           return mpfr_underflow (y, rnd_mode, MPFR_SIGN(y));
-         }
-diff -Naurd mpfr-3.1.3-a/src/div_2ui.c mpfr-3.1.3-b/src/div_2ui.c
---- mpfr-3.1.3-a/src/div_2ui.c	2015-07-02 10:50:08.106573933 +0000
-+++ mpfr-3.1.3-b/src/div_2ui.c	2015-07-17 08:54:48.608807656 +0000
-@@ -44,7 +44,9 @@
-       if (MPFR_UNLIKELY (n >= diffexp))  /* exp - n <= emin - 1 */
-         {
-           if (rnd_mode == MPFR_RNDN &&
--              (n > diffexp || (inexact >= 0 && mpfr_powerof2_raw (y))))
-+              (n > diffexp ||
-+               ((MPFR_IS_NEG (y) ? inexact <= 0 : inexact >= 0) &&
-+                mpfr_powerof2_raw (y))))
-             rnd_mode = MPFR_RNDZ;
-           return mpfr_underflow (y, rnd_mode, MPFR_SIGN (y));
-         }
-diff -Naurd mpfr-3.1.3-a/src/mpfr.h mpfr-3.1.3-b/src/mpfr.h
---- mpfr-3.1.3-a/src/mpfr.h	2015-07-02 10:50:08.126574142 +0000
-+++ mpfr-3.1.3-b/src/mpfr.h	2015-07-17 08:54:48.616811495 +0000
-@@ -27,7 +27,7 @@
- #define MPFR_VERSION_MAJOR 3
- #define MPFR_VERSION_MINOR 1
- #define MPFR_VERSION_PATCHLEVEL 3
--#define MPFR_VERSION_STRING "3.1.3-p2"
-+#define MPFR_VERSION_STRING "3.1.3-p3"
- 
- /* Macros dealing with MPFR VERSION */
- #define MPFR_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c))
-diff -Naurd mpfr-3.1.3-a/src/mul_2si.c mpfr-3.1.3-b/src/mul_2si.c
---- mpfr-3.1.3-a/src/mul_2si.c	2015-07-02 10:50:08.106573933 +0000
-+++ mpfr-3.1.3-b/src/mul_2si.c	2015-07-17 08:54:48.608807656 +0000
-@@ -48,7 +48,8 @@
-           if (rnd_mode == MPFR_RNDN &&
-               (__gmpfr_emin > MPFR_EMAX_MAX + (n + 1) ||
-                exp < __gmpfr_emin - (n + 1) ||
--               (inexact >= 0 && mpfr_powerof2_raw (y))))
-+               ((MPFR_IS_NEG (y) ? inexact <= 0 : inexact >= 0) &&
-+                mpfr_powerof2_raw (y))))
-             rnd_mode = MPFR_RNDZ;
-           return mpfr_underflow (y, rnd_mode, MPFR_SIGN(y));
-         }
-diff -Naurd mpfr-3.1.3-a/src/version.c mpfr-3.1.3-b/src/version.c
---- mpfr-3.1.3-a/src/version.c	2015-07-02 10:50:08.126574142 +0000
-+++ mpfr-3.1.3-b/src/version.c	2015-07-17 08:54:48.616811495 +0000
-@@ -25,5 +25,5 @@
- const char *
- mpfr_get_version (void)
- {
--  return "3.1.3-p2";
-+  return "3.1.3-p3";
- }
-diff -Naurd mpfr-3.1.3-a/tests/tmul_2exp.c mpfr-3.1.3-b/tests/tmul_2exp.c
---- mpfr-3.1.3-a/tests/tmul_2exp.c	2015-07-02 10:50:08.106573933 +0000
-+++ mpfr-3.1.3-b/tests/tmul_2exp.c	2015-07-17 08:54:48.608807656 +0000
-@@ -50,77 +50,82 @@
- {
-   mpfr_t x, y, z1, z2;
-   mpfr_exp_t emin;
--  int i, k;
-+  int i, k, s;
-   int prec;
-   int rnd;
-   int div;
-   int inex1, inex2;
-   unsigned int flags1, flags2;
- 
--  /* Test mul_2si(x, e - k), div_2si(x, k - e) and div_2ui(x, k - e)
--   * with emin = e, x = 1 + i/16, i in { -1, 0, 1 }, and k = 1 to 4,
--   * by comparing the result with the one of a simple division.
-+  /* Test mul_2si(x, e - k), div_2si(x, k - e) and div_2ui(x, k - e) with
-+   * emin = e, x = s * (1 + i/16), i in { -1, 0, 1 }, s in { -1, 1 }, and
-+   * k = 1 to 4, by comparing the result with the one of a simple division.
-    */
-   emin = mpfr_get_emin ();
-   set_emin (e);
-   mpfr_inits2 (8, x, y, (mpfr_ptr) 0);
-   for (i = 15; i <= 17; i++)
--    {
--      inex1 = mpfr_set_ui_2exp (x, i, -4, MPFR_RNDN);
--      MPFR_ASSERTN (inex1 == 0);
--      for (prec = 6; prec >= 3; prec -= 3)
--        {
--          mpfr_inits2 (prec, z1, z2, (mpfr_ptr) 0);
--          RND_LOOP (rnd)
--            for (k = 1; k <= 4; k++)
--              {
--                /* The following one is assumed to be correct. */
--                inex1 = mpfr_mul_2si (y, x, e, MPFR_RNDN);
--                MPFR_ASSERTN (inex1 == 0);
--                inex1 = mpfr_set_ui (z1, 1 << k, MPFR_RNDN);
--                MPFR_ASSERTN (inex1 == 0);
--                mpfr_clear_flags ();
--                /* Do not use mpfr_div_ui to avoid the optimization
--                   by mpfr_div_2si. */
--                inex1 = mpfr_div (z1, y, z1, (mpfr_rnd_t) rnd);
--                flags1 = __gmpfr_flags;
--
--              for (div = 0; div <= 2; div++)
-+    for (s = 1; s >= -1; s -= 2)
-+      {
-+        inex1 = mpfr_set_si_2exp (x, s * i, -4, MPFR_RNDN);
-+        MPFR_ASSERTN (inex1 == 0);
-+        for (prec = 6; prec >= 3; prec -= 3)
-+          {
-+            mpfr_inits2 (prec, z1, z2, (mpfr_ptr) 0);
-+            RND_LOOP (rnd)
-+              for (k = 1; k <= 4; k++)
-                 {
-+                  /* The following one is assumed to be correct. */
-+                  inex1 = mpfr_mul_2si (y, x, e, MPFR_RNDN);
-+                  MPFR_ASSERTN (inex1 == 0);
-+                  inex1 = mpfr_set_ui (z1, 1 << k, MPFR_RNDN);
-+                  MPFR_ASSERTN (inex1 == 0);
-                   mpfr_clear_flags ();
--                  inex2 = div == 0 ?
--                    mpfr_mul_2si (z2, x, e - k, (mpfr_rnd_t) rnd) : div == 1 ?
--                    mpfr_div_2si (z2, x, k - e, (mpfr_rnd_t) rnd) :
--                    mpfr_div_2ui (z2, x, k - e, (mpfr_rnd_t) rnd);
--                  flags2 = __gmpfr_flags;
--                  if (flags1 == flags2 && SAME_SIGN (inex1, inex2) &&
--                      mpfr_equal_p (z1, z2))
--                    continue;
--                  printf ("Error in underflow(");
--                  if (e == MPFR_EMIN_MIN)
--                    printf ("MPFR_EMIN_MIN");
--                  else if (e == emin)
--                    printf ("default emin");
--                  else if (e >= LONG_MIN)
--                    printf ("%ld", (long) e);
--                  else
--                    printf ("<LONG_MIN");
--                  printf (") with mpfr_%s,\nx = %d/16, prec = %d, k = %d, "
--                          "%s\n", div == 0 ? "mul_2si" : div == 1 ?
--                          "div_2si" : "div_2ui", i, prec, k,
--                          mpfr_print_rnd_mode ((mpfr_rnd_t) rnd));
--                  printf ("Expected ");
--                  mpfr_out_str (stdout, 16, 0, z1, MPFR_RNDN);
--                  printf (", inex = %d, flags = %u\n", SIGN (inex1), flags1);
--                  printf ("Got      ");
--                  mpfr_out_str (stdout, 16, 0, z2, MPFR_RNDN);
--                  printf (", inex = %d, flags = %u\n", SIGN (inex2), flags2);
--                  exit (1);
--                }  /* div */
--              }  /* k */
--          mpfr_clears (z1, z2, (mpfr_ptr) 0);
--        }  /* prec */
--    }  /* i */
-+                  /* Do not use mpfr_div_ui to avoid the optimization
-+                     by mpfr_div_2si. */
-+                  inex1 = mpfr_div (z1, y, z1, (mpfr_rnd_t) rnd);
-+                  flags1 = __gmpfr_flags;
-+
-+                  for (div = 0; div <= 2; div++)
-+                    {
-+                      mpfr_clear_flags ();
-+                      inex2 =
-+                        div == 0 ?
-+                        mpfr_mul_2si (z2, x, e - k, (mpfr_rnd_t) rnd) :
-+                        div == 1 ?
-+                        mpfr_div_2si (z2, x, k - e, (mpfr_rnd_t) rnd) :
-+                        mpfr_div_2ui (z2, x, k - e, (mpfr_rnd_t) rnd);
-+                      flags2 = __gmpfr_flags;
-+                      if (flags1 == flags2 && SAME_SIGN (inex1, inex2) &&
-+                          mpfr_equal_p (z1, z2))
-+                        continue;
-+                      printf ("Error in underflow(");
-+                      if (e == MPFR_EMIN_MIN)
-+                        printf ("MPFR_EMIN_MIN");
-+                      else if (e == emin)
-+                        printf ("default emin");
-+                      else if (e >= LONG_MIN)
-+                        printf ("%ld", (long) e);
-+                      else
-+                        printf ("<LONG_MIN");
-+                      printf (") with mpfr_%s,\nx = %d/16, prec = %d, k = %d,"
-+                              " %s\n", div == 0 ? "mul_2si" : div == 1 ?
-+                              "div_2si" : "div_2ui", s * i, prec, k,
-+                              mpfr_print_rnd_mode ((mpfr_rnd_t) rnd));
-+                      printf ("Expected ");
-+                      mpfr_out_str (stdout, 16, 0, z1, MPFR_RNDN);
-+                      printf (", inex = %d, flags = %u\n",
-+                              SIGN (inex1), flags1);
-+                      printf ("Got      ");
-+                      mpfr_out_str (stdout, 16, 0, z2, MPFR_RNDN);
-+                      printf (", inex = %d, flags = %u\n",
-+                              SIGN (inex2), flags2);
-+                      exit (1);
-+                    }  /* div */
-+                }  /* k */
-+            mpfr_clears (z1, z2, (mpfr_ptr) 0);
-+          }  /* prec */
-+      }  /* i */
-   mpfr_clears (x, y, (mpfr_ptr) 0);
-   set_emin (emin);
- }
-diff -Naurd mpfr-3.1.3-a/PATCHES mpfr-3.1.3-b/PATCHES
---- mpfr-3.1.3-a/PATCHES	2015-07-17 08:58:21.094987384 +0000
-+++ mpfr-3.1.3-b/PATCHES	2015-07-17 08:58:21.118986898 +0000
-@@ -0,0 +1 @@
-+frexp
-diff -Naurd mpfr-3.1.3-a/VERSION mpfr-3.1.3-b/VERSION
---- mpfr-3.1.3-a/VERSION	2015-07-17 08:54:48.616811495 +0000
-+++ mpfr-3.1.3-b/VERSION	2015-07-17 08:58:21.118986898 +0000
-@@ -1 +1 @@
--3.1.3-p3
-+3.1.3-p4
-diff -Naurd mpfr-3.1.3-a/src/frexp.c mpfr-3.1.3-b/src/frexp.c
---- mpfr-3.1.3-a/src/frexp.c	2015-06-19 19:55:09.000000000 +0000
-+++ mpfr-3.1.3-b/src/frexp.c	2015-07-17 08:58:21.106987142 +0000
-@@ -26,6 +26,13 @@
- mpfr_frexp (mpfr_exp_t *exp, mpfr_ptr y, mpfr_srcptr x, mpfr_rnd_t rnd)
- {
-   int inex;
-+  unsigned int saved_flags = __gmpfr_flags;
-+  MPFR_BLOCK_DECL (flags);
-+
-+  MPFR_LOG_FUNC
-+    (("x[%Pu]=%.*Rg rnd=%d", mpfr_get_prec (x), mpfr_log_prec, x, rnd),
-+     ("y[%Pu]=%.*Rg exp=%" MPFR_EXP_FSPEC "d inex=%d", mpfr_get_prec (y),
-+      mpfr_log_prec, y, (mpfr_eexp_t) *exp, inex));
- 
-   if (MPFR_UNLIKELY(MPFR_IS_SINGULAR(x)))
-     {
-@@ -49,8 +56,32 @@
-         }
-     }
- 
--  inex = mpfr_set (y, x, rnd);
-+  MPFR_BLOCK (flags, inex = mpfr_set (y, x, rnd));
-+  __gmpfr_flags = saved_flags;
-+
-+  /* Possible overflow due to the rounding, no possible underflow. */
-+
-+  if (MPFR_UNLIKELY (MPFR_OVERFLOW (flags)))
-+    {
-+      int inex2;
-+
-+      /* An overflow here means that the exponent of y would be larger than
-+         the one of x, thus x would be rounded to the next power of 2, and
-+         the returned y should be 1/2 in absolute value, rounded (i.e. with
-+         possible underflow or overflow). This also implies that x and y are
-+         different objects, so that the exponent of x has not been lost. */
-+      MPFR_LOG_MSG (("Internal overflow\n", 0));
-+      MPFR_ASSERTD (x != y);
-+      *exp = MPFR_GET_EXP (x) + 1;
-+      inex2 = mpfr_set_si_2exp (y, MPFR_INT_SIGN (x), -1, rnd);
-+      MPFR_LOG_MSG (("inex=%d inex2=%d\n", inex, inex2));
-+      if (inex2 != 0)
-+        inex = inex2;
-+      MPFR_RET (inex);
-+    }
-+
-   *exp = MPFR_GET_EXP (y);
--  MPFR_SET_EXP (y, 0);
-+  /* Do not use MPFR_SET_EXP because the range has not been checked yet. */
-+  MPFR_EXP (y) = 0;
-   return mpfr_check_range (y, inex, rnd);
- }
-diff -Naurd mpfr-3.1.3-a/src/mpfr.h mpfr-3.1.3-b/src/mpfr.h
---- mpfr-3.1.3-a/src/mpfr.h	2015-07-17 08:54:48.616811495 +0000
-+++ mpfr-3.1.3-b/src/mpfr.h	2015-07-17 08:58:21.114986979 +0000
-@@ -27,7 +27,7 @@
- #define MPFR_VERSION_MAJOR 3
- #define MPFR_VERSION_MINOR 1
- #define MPFR_VERSION_PATCHLEVEL 3
--#define MPFR_VERSION_STRING "3.1.3-p3"
-+#define MPFR_VERSION_STRING "3.1.3-p4"
- 
- /* Macros dealing with MPFR VERSION */
- #define MPFR_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c))
-diff -Naurd mpfr-3.1.3-a/src/version.c mpfr-3.1.3-b/src/version.c
---- mpfr-3.1.3-a/src/version.c	2015-07-17 08:54:48.616811495 +0000
-+++ mpfr-3.1.3-b/src/version.c	2015-07-17 08:58:21.118986898 +0000
-@@ -25,5 +25,5 @@
- const char *
- mpfr_get_version (void)
- {
--  return "3.1.3-p3";
-+  return "3.1.3-p4";
- }
-diff -Naurd mpfr-3.1.3-a/tests/tfrexp.c mpfr-3.1.3-b/tests/tfrexp.c
---- mpfr-3.1.3-a/tests/tfrexp.c	2015-06-19 19:55:10.000000000 +0000
-+++ mpfr-3.1.3-b/tests/tfrexp.c	2015-07-17 08:58:21.106987142 +0000
-@@ -129,12 +129,115 @@
-   mpfr_clear (x);
- }
- 
-+static void check1 (void)
-+{
-+  mpfr_exp_t emin, emax, e;
-+  mpfr_t x, y1, y2;
-+  int r, neg, red;
-+
-+  emin = mpfr_get_emin ();
-+  emax = mpfr_get_emax ();
-+  set_emin (MPFR_EMIN_MIN);
-+  set_emax (MPFR_EMAX_MAX);
-+
-+  mpfr_init2 (x, 7);
-+  mpfr_inits2 (4, y1, y2, (mpfr_ptr) 0);
-+
-+  mpfr_set_ui_2exp (x, 1, -2, MPFR_RNDN);
-+  while (mpfr_regular_p (x))
-+    {
-+      /* Test the exponents up to 3 and with the maximum exponent
-+         (to check potential intermediate overflow). */
-+      if (MPFR_GET_EXP (x) == 4)
-+        mpfr_set_exp (x, MPFR_EMAX_MAX);
-+      e = MPFR_GET_EXP (x);
-+      for (neg = 0; neg < 2; neg++)
-+        {
-+          RND_LOOP (r)
-+            {
-+              int inex1, inex2;
-+              mpfr_exp_t e1, e2;
-+              unsigned int flags1, flags2;
-+
-+              for (red = 0; red < 2; red++)
-+                {
-+                  if (red)
-+                    {
-+                      /* e1: exponent of the rounded value of x. */
-+                      MPFR_ASSERTN (e1 == e || e1 == e + 1);
-+                      set_emin (e);
-+                      set_emax (e);
-+                      mpfr_clear_flags ();
-+                      inex1 = e1 < 0 ?
-+                        mpfr_mul_2ui (y1, x, -e1, (mpfr_rnd_t) r) :
-+                        mpfr_div_2ui (y1, x, e1, (mpfr_rnd_t) r);
-+                      flags1 = __gmpfr_flags;
-+                    }
-+                  else
-+                    {
-+                      inex1 = mpfr_set (y1, x, (mpfr_rnd_t) r);
-+                      e1 = MPFR_IS_INF (y1) ? e + 1 : MPFR_GET_EXP (y1);
-+                      flags1 = inex1 != 0 ? MPFR_FLAGS_INEXACT : 0;
-+                    }
-+                  mpfr_clear_flags ();
-+                  inex2 = mpfr_frexp (&e2, y2, x, (mpfr_rnd_t) r);
-+                  flags2 = __gmpfr_flags;
-+                  set_emin (MPFR_EMIN_MIN);
-+                  set_emax (MPFR_EMAX_MAX);
-+                  if ((!red || e == 0) &&
-+                      (! mpfr_regular_p (y2) || MPFR_GET_EXP (y2) != 0))
-+                    {
-+                      printf ("Error in check1 for %s, red = %d, x = ",
-+                              mpfr_print_rnd_mode ((mpfr_rnd_t) r), red);
-+                      mpfr_dump (x);
-+                      printf ("Expected 1/2 <= |y| < 1, got y = ");
-+                      mpfr_dump (y2);
-+                      exit (1);
-+                    }
-+                  if (!red)
-+                    {
-+                      if (e2 > 0)
-+                        mpfr_mul_2ui (y2, y2, e2, MPFR_RNDN);
-+                      else if (e2 < 0)
-+                        mpfr_div_2ui (y2, y2, -e2, MPFR_RNDN);
-+                    }
-+                  if (! (SAME_SIGN (inex1, inex2) &&
-+                         mpfr_equal_p (y1, y2) &&
-+                         flags1 == flags2))
-+                    {
-+                      printf ("Error in check1 for %s, red = %d, x = ",
-+                              mpfr_print_rnd_mode ((mpfr_rnd_t) r), red);
-+                      mpfr_dump (x);
-+                      printf ("Expected y1 = ");
-+                      mpfr_dump (y1);
-+                      printf ("Got      y2 = ");
-+                      mpfr_dump (y2);
-+                      printf ("Expected inex ~= %d, got %d\n", inex1, inex2);
-+                      printf ("Expected flags:");
-+                      flags_out (flags1);
-+                      printf ("Got flags:     ");
-+                      flags_out (flags2);
-+                      exit (1);
-+                    }
-+                }
-+            }
-+          mpfr_neg (x, x, MPFR_RNDN);
-+        }
-+      mpfr_nextabove (x);
-+    }
-+
-+  mpfr_clears (x, y1, y2, (mpfr_ptr) 0);
-+  set_emin (emin);
-+  set_emax (emax);
-+}
-+
- int
- main (int argc, char *argv[])
- {
-   tests_start_mpfr ();
- 
-   check_special ();
-+  check1 ();
- 
-   tests_end_mpfr ();
-   return 0;
diff --git a/pkgs/development/libraries/mpir/default.nix b/pkgs/development/libraries/mpir/default.nix
index cbcf83f1d32..b9b25e7f43b 100644
--- a/pkgs/development/libraries/mpir/default.nix
+++ b/pkgs/development/libraries/mpir/default.nix
@@ -11,6 +11,8 @@ stdenv.mkDerivation rec {
     sha256 = "1fvmhrqdjs925hzr2i8bszm50h00gwsh17p2kn2pi51zrxck9xjj";
   };
 
+  configureFlags = [ "--enable-cxx" ];
+
   meta = {
     inherit version;
     description = ''A highly optimised library for bignum arithmetic forked from GMP'';
diff --git a/pkgs/development/libraries/mps/default.nix b/pkgs/development/libraries/mps/default.nix
index 5a841f165ca..aac9dc7f727 100644
--- a/pkgs/development/libraries/mps/default.nix
+++ b/pkgs/development/libraries/mps/default.nix
@@ -12,6 +12,12 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ autoreconfHook ];
   buildInputs = [ sqlite ];
 
+  # needed for 1.116.0 to build with gcc7
+  NIX_CFLAGS_COMPILE = [
+    "-Wno-implicit-fallthrough"
+  ];
+
+
   meta = {
     description = "A flexible memory management and garbage collection library";
     homepage    = "https://www.ravenbrook.com/project/mps";
diff --git a/pkgs/development/libraries/mypaint-brushes/default.nix b/pkgs/development/libraries/mypaint-brushes/default.nix
new file mode 100644
index 00000000000..140dbcc937b
--- /dev/null
+++ b/pkgs/development/libraries/mypaint-brushes/default.nix
@@ -0,0 +1,35 @@
+{stdenv, fetchpatch, autoconf, automake, fetchFromGitHub, pkgconfig}:
+
+let
+  pname = "mypaint-brushes";
+  version = "1.3.0";
+in stdenv.mkDerivation rec {
+  name = "${pname}-${version}";
+
+  src = fetchFromGitHub {
+    owner = "Jehan";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1iz89z6v2mp8j1lrf942k561s8311i3s34ap36wh4rybb2lq15m0";
+  };
+
+  nativeBuildInputs = [ autoconf automake pkgconfig ];
+
+  patches = [
+    # build with automake 1.16
+    (fetchpatch {
+      url = https://github.com/Jehan/mypaint-brushes/commit/1e9109dde3bffd416ed351c3f30ecd6ffd0ca2cd.patch;
+      sha256 = "0mi8rwbirl0ib22f2hz7kdlgi4hw8s3ab29b003dsshdyzn5iha9";
+    })
+  ];
+
+  preConfigure = "./autogen.sh";
+
+  meta = with stdenv.lib; {
+    homepage = http://mypaint.org/;
+    description = "Brushes used by MyPaint and other software using libmypaint.";
+    license = licenses.cc0;
+    maintainers = with maintainers; [ jtojnar ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/development/libraries/mysocketw/default.nix b/pkgs/development/libraries/mysocketw/default.nix
index 379848b0cb0..6ec288f985b 100644
--- a/pkgs/development/libraries/mysocketw/default.nix
+++ b/pkgs/development/libraries/mysocketw/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, openssl}:
+{ stdenv, fetchurl, openssl }:
 
 stdenv.mkDerivation rec {
   name = "mysocketw-031026";
@@ -9,11 +9,14 @@ stdenv.mkDerivation rec {
 
   patches = [ ./gcc.patch ];
 
-  configurePhase = ''
-    sed -i s,/usr/local,$out, Makefile.conf
+  buildInputs = [ openssl ];
+
+  postPatch = stdenv.lib.optionalString stdenv.isDarwin ''
+    substituteInPlace src/Makefile \
+        --replace -Wl,-soname, -Wl,-install_name,$out/lib/
   '';
 
-  buildInputs = [ openssl ];
+  makeFlags = [ "PREFIX=$(out)" "CXX=c++" ];
 
   meta = {
     description = "Cross platform (Linux/FreeBSD/Unix/Win32) streaming socket C++";
diff --git a/pkgs/development/libraries/ncurses/default.nix b/pkgs/development/libraries/ncurses/default.nix
index f8a35e41cd6..cf478837b86 100644
--- a/pkgs/development/libraries/ncurses/default.nix
+++ b/pkgs/development/libraries/ncurses/default.nix
@@ -1,6 +1,6 @@
 { lib, stdenv, fetchurl, pkgconfig
 
-, abiVersion
+, abiVersion ? "6"
 , mouseSupport ? false
 , unicode ? true
 , enableStatic ? stdenv.hostPlatform.useAndroidPrebuilt
@@ -13,18 +13,12 @@
 }:
 
 stdenv.mkDerivation rec {
-  version = "6.0-20171125";
+  version = "6.1";
   name = "ncurses-${version}" + lib.optionalString (abiVersion == "5") "-abi5-compat";
 
   src = fetchurl {
-    urls = [
-      # Remove this mirror on next upgrade, it's only needed because upstream took ncurses-6.0-20171125.tgz down!
-      "http://bld1.alpinelinux.org/distfiles/v3.5/ncurses-${version}.tgz"
-
-      "ftp://ftp.invisible-island.net/ncurses/current/ncurses-${version}.tgz"
-      "https://invisible-mirror.net/archives/ncurses/current/ncurses-${version}.tgz"
-    ];
-    sha256 = "11adzj0k82nlgpfrflabvqn2m7fmhp2y6pd7ivmapynxqb9vvb92";
+    url = "mirror://gnu/ncurses/ncurses-${version}.tar.gz";
+    sha256 = "05qdmbmrrn88ii9f66rkcmcyzp1kb1ymkx7g040lfkd1nkp7w1da";
   };
 
   patches = lib.optional (!stdenv.cc.isClang) ./clang.patch;
@@ -78,7 +72,9 @@ stdenv.mkDerivation rec {
   # When building a wide-character (Unicode) build, create backward
   # compatibility links from the the "normal" libraries to the
   # wide-character libraries (e.g. libncurses.so to libncursesw.so).
-  postFixup = ''
+  postFixup = let
+    abiVersion-extension = if stdenv.isDarwin then "${abiVersion}.$dylibtype" else "$dylibtype.${abiVersion}"; in
+  ''
     # Determine what suffixes our libraries have
     suffix="$(awk -F': ' 'f{print $3; f=0} /default library suffix/{f=1}' config.log)"
     libs="$(ls $dev/lib/pkgconfig | tr ' ' '\n' | sed "s,\(.*\)$suffix\.pc,\1,g")"
@@ -101,12 +97,12 @@ stdenv.mkDerivation rec {
         for dylibtype in so dll dylib; do
           if [ -e "$out/lib/lib''${library}$suffix.$dylibtype" ]; then
             ln -svf lib''${library}$suffix.$dylibtype $out/lib/lib$library$newsuffix.$dylibtype
-            ln -svf lib''${library}$suffix.$dylibtype.${abiVersion} $out/lib/lib$library$newsuffix.$dylibtype.${abiVersion}
+            ln -svf lib''${library}$suffix.${abiVersion-extension} $out/lib/lib$library$newsuffix.${abiVersion-extension}
             if [ "ncurses" = "$library" ]
             then
               # make libtinfo symlinks
               ln -svf lib''${library}$suffix.$dylibtype $out/lib/libtinfo$newsuffix.$dylibtype
-              ln -svf lib''${library}$suffix.$dylibtype.${abiVersion} $out/lib/libtinfo$newsuffix.$dylibtype.${abiVersion}
+              ln -svf lib''${library}$suffix.${abiVersion-extension} $out/lib/libtinfo$newsuffix.${abiVersion-extension}
             fi
           fi
         done
@@ -127,6 +123,8 @@ stdenv.mkDerivation rec {
     moveToOutput "bin/tic" "$out"
     moveToOutput "bin/tput" "$out"
     moveToOutput "bin/tset" "$out"
+    moveToOutput "bin/captoinfo" "$out"
+    moveToOutput "bin/infotocap" "$out"
   '';
 
   preFixup = lib.optionalString (!hostPlatform.isCygwin) ''
diff --git a/pkgs/development/libraries/ndn-cxx/default.nix b/pkgs/development/libraries/ndn-cxx/default.nix
index ee7d4765fb2..1040cb9a934 100644
--- a/pkgs/development/libraries/ndn-cxx/default.nix
+++ b/pkgs/development/libraries/ndn-cxx/default.nix
@@ -45,5 +45,6 @@ stdenv.mkDerivation {
     license = licenses.lgpl3;
     platforms = stdenv.lib.platforms.unix;
     maintainers = [ maintainers.sjmackenzie ];
+    broken = true; # 2018-04-11
   };
 }
diff --git a/pkgs/development/libraries/netcdf-fortran/default.nix b/pkgs/development/libraries/netcdf-fortran/default.nix
index 35f675a305a..8af2a7aa368 100644
--- a/pkgs/development/libraries/netcdf-fortran/default.nix
+++ b/pkgs/development/libraries/netcdf-fortran/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, netcdf, hdf5, curl, gfortran }:
 stdenv.mkDerivation rec {
   name = "netcdf-fortran-${version}";
-  version = "4.4.3";
+  version = "4.4.4";
 
   src = fetchurl {
     url = "https://github.com/Unidata/netcdf-fortran/archive/v${version}.tar.gz";
-    sha256 = "4170fc018c9ee8222e317215c6a273542623185f5f6ee00d37bbb4e024e4e998";
+    sha256 = "0rwybszj1jjb25cx8vfyrd77x5qsdjzwspcjz56n12br89n9ica4";
   };
 
   buildInputs = [ netcdf hdf5 curl gfortran ];
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Fortran API to manipulate netcdf files";
-    homepage = http://www.unidata.ucar.edu/software/netcdf/;
+    homepage = https://www.unidata.ucar.edu/software/netcdf/;
     license = licenses.free;
     maintainers = [ maintainers.bzizou ];
     platforms = platforms.unix;
diff --git a/pkgs/development/libraries/netcdf/default.nix b/pkgs/development/libraries/netcdf/default.nix
index 696df48bfbc..8446a91ccec 100644
--- a/pkgs/development/libraries/netcdf/default.nix
+++ b/pkgs/development/libraries/netcdf/default.nix
@@ -9,11 +9,11 @@ let
   mpiSupport = hdf5.mpiSupport;
   mpi = hdf5.mpi;
 in stdenv.mkDerivation rec {
-  name = "netcdf-4.6.0";
+  name = "netcdf-4.6.1";
 
   src = fetchurl {
     url = "https://www.unidata.ucar.edu/downloads/netcdf/ftp/${name}.tar.gz";
-    sha256 = "099qmdjj059wkj5za13zqnz0lcziqkcvyfdf894j4n6qq4c5iw2b";
+    sha256 = "0hi61cdihwwvz5jz1l7yq712j7ca1cj4bhr8x0x7c2vlb1s9biw9";
   };
 
   nativeBuildInputs = [ m4 ];
diff --git a/pkgs/development/libraries/newt/default.nix b/pkgs/development/libraries/newt/default.nix
index c4e019bf3ac..cd1e51bd19c 100644
--- a/pkgs/development/libraries/newt/default.nix
+++ b/pkgs/development/libraries/newt/default.nix
@@ -1,11 +1,11 @@
 { fetchurl, stdenv, slang, popt }:
 
 stdenv.mkDerivation rec {
-  name = "newt-0.52.15";
+  name = "newt-0.52.20";
 
   src = fetchurl {
     url = "https://fedorahosted.org/releases/n/e/newt/${name}.tar.gz";
-    sha256 = "0hg2l0siriq6qrz6mmzr6l7rpl40ay56c8cak87rb2ks7s952qbs";
+    sha256 = "1g3dpfnvaw7vljbr7nzq1rl88d6r8cmrvvng9inphgzwxxmvlrld";
   };
 
   patchPhase = ''
diff --git a/pkgs/development/libraries/nix-plugins/default.nix b/pkgs/development/libraries/nix-plugins/default.nix
index 8ccaf726e6b..c4a30f52b05 100644
--- a/pkgs/development/libraries/nix-plugins/default.nix
+++ b/pkgs/development/libraries/nix-plugins/default.nix
@@ -1,5 +1,5 @@
-{ stdenv, fetchFromGitHub, nix, cmake, pkgconfig }:
-let version = "3.0.1"; in
+{ stdenv, fetchFromGitHub, nix, cmake, pkgconfig, boost }:
+let version = "4.0.4"; in
 stdenv.mkDerivation {
   name = "nix-plugins-${version}";
 
@@ -7,12 +7,12 @@ stdenv.mkDerivation {
     owner = "shlevy";
     repo = "nix-plugins";
     rev = version;
-    sha256 = "1pmk2m0kc6a3jqygm5cy1fl5gbcy0ghc2xs4ww0gh20walrys82r";
+    sha256 = "02lz62n55pvqin4x44qlxb5knrapyckmj9k8ggk4qxgb36368ifn";
   };
 
   nativeBuildInputs = [ cmake pkgconfig ];
 
-  buildInputs = [ nix ];
+  buildInputs = [ nix boost ];
 
   meta = {
     description = "Collection of miscellaneous plugins for the nix expression language";
diff --git a/pkgs/development/libraries/nlohmann_json/default.nix b/pkgs/development/libraries/nlohmann_json/default.nix
index d4699b1c506..59cc9438a9f 100644
--- a/pkgs/development/libraries/nlohmann_json/default.nix
+++ b/pkgs/development/libraries/nlohmann_json/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   name = "nlohmann_json-${version}";
-  version = "3.1.1";
+  version = "3.1.2";
 
   src = fetchFromGitHub {
     owner = "nlohmann";
     repo = "json";
     rev = "v${version}";
-    sha256 = "0s5xiyvnvxc2k0zkyb12mm5cwn61lavyxlfpknlx5f243g1xi6f6";
+    sha256 = "1mpr781fb2dfbyscrr7nil75lkxsazg4wkm749168lcf2ksrrbfi";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/nspr/default.nix b/pkgs/development/libraries/nspr/default.nix
index ccb04024f64..ce18498ee85 100644
--- a/pkgs/development/libraries/nspr/default.nix
+++ b/pkgs/development/libraries/nspr/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchurl
 , CoreServices ? null }:
 
-let version = "4.17"; in
+let version = "4.19"; in
 
 stdenv.mkDerivation {
   name = "nspr-${version}";
 
   src = fetchurl {
     url = "mirror://mozilla/nspr/releases/v${version}/src/nspr-${version}.tar.gz";
-    sha256 = "158hdn285dsb5rys8wl1wi32dd1axwhqq0r8fwny4aj157m0l2jr";
+    sha256 = "0agpv3f17h8kmzi0ifibaaxc1k3xc0q61wqw3l6r2xr2z8bmkn9f";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/pkgs/development/libraries/nss/85_security_load.patch b/pkgs/development/libraries/nss/85_security_load.patch
index 7687ea9bedb..132d5a96b29 100644
--- a/pkgs/development/libraries/nss/85_security_load.patch
+++ b/pkgs/development/libraries/nss/85_security_load.patch
@@ -13,10 +13,10 @@ diff -ru -x '*~' -x '*.orig' -x '*.rej' nss/cmd/shlibsign/shlibsign.c nss/cmd/sh
 diff -ru -x '*~' -x '*.orig' -x '*.rej' nss/coreconf/config.mk nss/coreconf/config.mk
 --- nss/coreconf/config.mk	2017-01-04 15:24:24.000000000 +0100
 +++ nss/coreconf/config.mk	2017-01-24 14:43:47.989432372 +0100
-@@ -208,3 +208,6 @@
- # exported symbols, which causes problem when NSS is built as part of Mozilla.
- # So we add a NSS_SSL_ENABLE_ZLIB variable to allow Mozilla to turn this off.
- NSS_SSL_ENABLE_ZLIB = 1
+@@ -202,3 +202,6 @@
+ 
+ # Hide old, deprecated, TLS cipher suite names when building NSS
+ DEFINES += -DSSL_DISABLE_DEPRECATED_CIPHER_SUITE_NAMES
 +
 +# Nix specific stuff.
 +DEFINES += -DNIX_NSS_LIBDIR=\"$(out)/lib/\"
diff --git a/pkgs/development/libraries/nss/default.nix b/pkgs/development/libraries/nss/default.nix
index a8f36af5df5..29d6e9a5670 100644
--- a/pkgs/development/libraries/nss/default.nix
+++ b/pkgs/development/libraries/nss/default.nix
@@ -1,7 +1,6 @@
 { stdenv, fetchurl, nspr, perl, zlib, sqlite, fixDarwinDylibNames }:
 
 let
-
   nssPEM = fetchurl {
     url = http://dev.gentoo.org/~polynomial-c/mozilla/nss-3.15.4-pem-support-20140109.patch.xz;
     sha256 = "10ibz6y0hknac15zr6dw4gv9nb5r5z9ym6gq18j3xqx7v7n3vpdw";
@@ -9,11 +8,11 @@ let
 
 in stdenv.mkDerivation rec {
   name = "nss-${version}";
-  version = "3.34.1";
+  version = "3.36.1";
 
   src = fetchurl {
-    url = "mirror://mozilla/security/nss/releases/NSS_3_34_1_RTM/src/${name}.tar.gz";
-    sha256 = "186x33wsk4mzjz7dzbn8p0py9a0nzkgzpfkdv4rlyy5gghv5vhd3";
+    url = "mirror://mozilla/security/nss/releases/NSS_3_36_1_RTM/src/${name}.tar.gz";
+    sha256 = "1zrb49mp7cy3snnday1zv8d76h1mgppbcwxnlkqsgxlga8fl89b0";
   };
 
   buildInputs = [ perl zlib sqlite ]
diff --git a/pkgs/development/libraries/ntbtls/default.nix b/pkgs/development/libraries/ntbtls/default.nix
index b095c0366ad..dac65e1c2f9 100644
--- a/pkgs/development/libraries/ntbtls/default.nix
+++ b/pkgs/development/libraries/ntbtls/default.nix
@@ -1,19 +1,20 @@
-{ stdenv, fetchurl, libgpgerror, libgcrypt, libksba, zlib }:
+{ stdenv, fetchurl, gettext, libgpgerror, libgcrypt, libksba, zlib }:
 
 with stdenv.lib;
 
 stdenv.mkDerivation rec {
   name = "ntbtls-${version}";
-  version = "0.1.1";
+  version = "0.1.2";
 
   src = fetchurl {
     url = "mirror://gnupg/ntbtls/ntbtls-${version}.tar.bz2";
-    sha256 = "0d322kgih43vr0gvy7kdj4baql1d6fa71vgpv0z63ira9pk4q9rd";
+    sha256 = "1rywgdyj7prmwdi5r1rpglakqpnjskgln1mqksqm28qcwn2dnh42";
   };
 
   outputs = [ "dev" "out" ];
 
-  buildInputs = [ libgcrypt libgpgerror libksba zlib ];
+  buildInputs = [ libgcrypt libgpgerror libksba zlib ]
+    ++ stdenv.lib.optional stdenv.isDarwin gettext;
 
   postInstall = ''
     moveToOutput "bin/ntbtls-config" $dev
@@ -21,7 +22,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "A tiny TLS 1.2 only implementation";
-    homepage = https://www.gnupg.org/software/ntbtls/index.html;
+    homepage = "https://www.gnupg.org/software/ntbtls/";
     license = licenses.gpl3Plus;
     platforms = platforms.unix;
     maintainers = with maintainers; [ joachifm ];
diff --git a/pkgs/development/libraries/ocl-icd/default.nix b/pkgs/development/libraries/ocl-icd/default.nix
index afd2a7b12df..ec6dc5f9052 100644
--- a/pkgs/development/libraries/ocl-icd/default.nix
+++ b/pkgs/development/libraries/ocl-icd/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, ruby, opencl-headers, libGL }:
+{stdenv, fetchurl, ruby, opencl-headers, libGL_driver }:
 
 stdenv.mkDerivation rec {
   name = "ocl-icd-${version}";
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
   buildInputs = [ opencl-headers ];
 
   postPatch = ''
-    sed -i 's,"/etc/OpenCL/vendors","${libGL.driverLink}/etc/OpenCL/vendors",g' ocl_icd_loader.c
+    sed -i 's,"/etc/OpenCL/vendors","${libGL_driver.driverLink}/etc/OpenCL/vendors",g' ocl_icd_loader.c
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/libraries/ogre/1.9.x.nix b/pkgs/development/libraries/ogre/1.9.x.nix
index 694fbaa50c1..0f6495f0c9c 100644
--- a/pkgs/development/libraries/ogre/1.9.x.nix
+++ b/pkgs/development/libraries/ogre/1.9.x.nix
@@ -38,7 +38,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "A 3D engine";
-    homepage = http://www.ogre3d.org/;
+    homepage = https://www.ogre3d.org/;
     maintainers = [ stdenv.lib.maintainers.raskin ];
     platforms = stdenv.lib.platforms.linux;
     license = stdenv.lib.licenses.mit;
diff --git a/pkgs/development/libraries/oniguruma/default.nix b/pkgs/development/libraries/oniguruma/default.nix
index b82f137ec6d..f9a75801e10 100644
--- a/pkgs/development/libraries/oniguruma/default.nix
+++ b/pkgs/development/libraries/oniguruma/default.nix
@@ -2,27 +2,22 @@
 
 stdenv.mkDerivation rec {
   name = "onig-${version}";
-  version = "6.6.1";
+  version = "6.8.2";
 
   src = fetchFromGitHub {
     owner = "kkos";
     repo = "oniguruma";
     rev = "v${version}";
-    sha256 = "062g5443dyxsraq346panfqvbd6wal6nmb336n4dw1rszx576sxz";
+    sha256 = "00ly5i26n7wajhyhq3xadsc7dxrf7qllhwilk8dza2qj5dhld4nd";
   };
 
   nativeBuildInputs = [ cmake ];
 
-  prePatch = stdenv.lib.optional stdenv.isDarwin ''
-    substituteInPlace cmake/dist.cmake \
-      --replace '@executable_path/''${UP_DIR}/''${INSTALL_LIB}' $out'/''${INSTALL_LIB}'
-  '';
-
-  meta = {
+  meta = with stdenv.lib; {
     homepage = https://github.com/kkos/oniguruma;
     description = "Regular expressions library";
-    license = stdenv.lib.licenses.bsd2;
-    maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
-    platforms = with stdenv.lib.platforms; unix;
+    license = licenses.bsd2;
+    maintainers = with maintainers; [ fuuzetsu ];
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/openbsm/bsm-add-audit_token_to_pid.patch b/pkgs/development/libraries/openbsm/bsm-add-audit_token_to_pid.patch
new file mode 100644
index 00000000000..77b9e1febdd
--- /dev/null
+++ b/pkgs/development/libraries/openbsm/bsm-add-audit_token_to_pid.patch
@@ -0,0 +1,24 @@
+Subject: Add audit_token_to_pid()
+
+Description: Apple provides audit_token_to_pid to get the pid of an
+audit token. Unfortunately, they have never released this to the
+OpenBSM project.
+
+diff -r -u -p1 a/bsm/libbsm.h b/bsm/libbsm.h
+--- a/bsm/libbsm.h	      2009-04-15 16:45:54.000000000 -0500
++++ b/bsm/libbsm.h	      2018-05-11 04:11:14.063083147 -0500
+@@ -1298,1 +1298,2 @@ int audit_set_stat(au_stat_t *stats, siz
+ int audit_send_trigger(int *trigger);
++pid_t audit_token_to_pid(audit_token_t atoken);
+
+diff -r -u -p1 a/libbsm/bsm_wrappers.c b/libbsm/bsm_wrappers.c
+--- a/libbsm/bsm_wrappers.c	       2009-04-15 16:46:06.000000000 -0500
++++ b/libbsm/bsm_wrappers.c	       2018-05-11 04:10:15.710820393 -0500
+@@ -823,1 +823,6 @@ audit_get_car(char *path, size_t sz)
+ }
++
++pid_t audit_token_to_pid(audit_token_t atoken)
++{
++	return atoken.val[5];
++}
+ 
\ No newline at end of file
diff --git a/pkgs/development/libraries/openbsm/default.nix b/pkgs/development/libraries/openbsm/default.nix
new file mode 100644
index 00000000000..9f75bff40e9
--- /dev/null
+++ b/pkgs/development/libraries/openbsm/default.nix
@@ -0,0 +1,22 @@
+{ stdenv, fetchFromGitHub, lib }:
+
+stdenv.mkDerivation rec {
+  pname = "openbsm";
+  name = "${pname}-${version}";
+  version = "1.1";
+
+  src = fetchFromGitHub {
+    owner = pname;
+    repo = pname;
+    rev = "${lib.toUpper (builtins.replaceStrings ["." "-"] ["_" "_"] name)}";
+    sha256 = "0b98359hd8mm585sh145ss828pg2y8vgz38lqrb7nypapiyqdnd1";
+  };
+
+  patches = [ ./bsm-add-audit_token_to_pid.patch ];
+
+  meta = {
+    homepage = http://www.openbsm.org/;
+    platforms = lib.platforms.unix;
+    maintainers = with lib.maintainers; [ matthewbauer ];
+  };
+}
diff --git a/pkgs/development/libraries/opencollada/default.nix b/pkgs/development/libraries/opencollada/default.nix
index af01c23fe1a..fb119936703 100644
--- a/pkgs/development/libraries/opencollada/default.nix
+++ b/pkgs/development/libraries/opencollada/default.nix
@@ -1,4 +1,5 @@
-{ lib, stdenv, fetchFromGitHub, cmake, pkgconfig, libxml2, pcre }:
+{ lib, stdenv, fetchFromGitHub, cmake, pkgconfig, libxml2, pcre
+, darwin}:
 
 stdenv.mkDerivation rec {
   name = "opencollada-${version}";
@@ -13,16 +14,22 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ cmake ];
+  buildInputs = [ cmake ]
+    ++ lib.optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [ AGL ]);
 
   propagatedBuildInputs = [ libxml2 pcre ];
 
   enableParallelBuilding = true;
 
+  patchPhase = lib.optionalString stdenv.isDarwin ''
+    substituteInPlace GeneratedSaxParser/src/GeneratedSaxParserUtils.cpp \
+      --replace math.h cmath
+  '';
+
   meta = {
     description = "A library for handling the COLLADA file format";
     homepage = https://github.com/KhronosGroup/OpenCOLLADA/;
     maintainers = [ stdenv.lib.maintainers.eelco ];
-    platforms = stdenv.lib.platforms.linux;
+    platforms = stdenv.lib.platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/opencolorio/default.nix b/pkgs/development/libraries/opencolorio/default.nix
index db9a5aeed21..3b0e60fca39 100644
--- a/pkgs/development/libraries/opencolorio/default.nix
+++ b/pkgs/development/libraries/opencolorio/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, cmake, unzip }:
+{ stdenv, lib, fetchurl, cmake, unzip, boost }:
 
 stdenv.mkDerivation rec {
   name = "opencolorio-${version}";
@@ -11,7 +11,9 @@ stdenv.mkDerivation rec {
 
   outputs = [ "bin" "out" "dev" ];
 
-  buildInputs = [ cmake unzip ];
+  buildInputs = [ cmake unzip ] ++ lib.optional stdenv.isDarwin boost;
+
+  cmakeFlags = lib.optional stdenv.isDarwin "-DOCIO_USE_BOOST_PTR=ON";
 
   postInstall = ''
     rm $out/lib/*.a
@@ -23,6 +25,6 @@ stdenv.mkDerivation rec {
     description = "A color management framework for visual effects and animation";
     license = licenses.bsd3;
     maintainers = [ maintainers.goibhniu ];
-    platforms = platforms.linux;
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/opencv/3.x.nix b/pkgs/development/libraries/opencv/3.x.nix
index 49574a4b421..1d3a9629fd0 100644
--- a/pkgs/development/libraries/opencv/3.x.nix
+++ b/pkgs/development/libraries/opencv/3.x.nix
@@ -167,7 +167,7 @@ stdenv.mkDerivation rec {
   '';
 
   preConfigure =
-    installExtraFiles ippicv + (
+    lib.optionalString enableIpp (installExtraFiles ippicv) + (
     lib.optionalString buildContrib ''
       cmakeFlagsArray+=("-DOPENCV_EXTRA_MODULES_PATH=$NIX_BUILD_TOP/opencv_contrib")
 
@@ -254,13 +254,28 @@ stdenv.mkDerivation rec {
     make doxygen
   '';
 
+  # By default $out/lib/pkgconfig/opencv.pc looks something like this:
+  #
+  #   prefix=/nix/store/10pzq1a8fkh8q4sysj8n6mv0w0nl0miq-opencv-3.4.1
+  #   exec_prefix=${prefix}
+  #   libdir=${exec_prefix}//nix/store/10pzq1a8fkh8q4sysj8n6mv0w0nl0miq-opencv-3.4.1/lib
+  #   ...
+  #   Libs: -L${exec_prefix}//nix/store/10pzq1a8fkh8q4sysj8n6mv0w0nl0miq-opencv-3.4.1/lib ...
+  #
+  # Note that ${exec_prefix} is set to $out but that $out is also appended to
+  # ${exec_prefix}. This causes linker errors in downstream packages so we strip
+  # of $out after the ${exec_prefix} prefix:
+  postInstall = ''
+    sed -i "s|\''${exec_prefix}/$out|\''${exec_prefix}|" "$out/lib/pkgconfig/opencv.pc"
+  '';
+
   hardeningDisable = [ "bindnow" "relro" ];
 
   passthru = lib.optionalAttrs enablePython { pythonPath = []; };
 
   meta = {
     description = "Open Computer Vision Library with more than 500 algorithms";
-    homepage = http://opencv.org/;
+    homepage = https://opencv.org/;
     license = with stdenv.lib.licenses; if enableUnfree then unfree else bsd3;
     maintainers = with stdenv.lib.maintainers; [viric mdaiter basvandijk];
     platforms = with stdenv.lib.platforms; linux ++ darwin;
diff --git a/pkgs/development/libraries/opencv/default.nix b/pkgs/development/libraries/opencv/default.nix
index cbac7210a10..d2d10682716 100644
--- a/pkgs/development/libraries/opencv/default.nix
+++ b/pkgs/development/libraries/opencv/default.nix
@@ -8,7 +8,7 @@
 , enableEXR ? (!stdenv.isDarwin), openexr, ilmbase
 , enableJPEG2K ? true, jasper
 , enableFfmpeg ? false, ffmpeg
-, enableGStreamer ? false, gst_all
+, enableGStreamer ? false, gst_all_1
 , enableEigen ? true, eigen
 , darwin
 }:
@@ -52,7 +52,7 @@ stdenv.mkDerivation rec {
     ++ lib.optionals enableEXR [ openexr ilmbase ]
     ++ lib.optional enableJPEG2K jasper
     ++ lib.optional enableFfmpeg ffmpeg
-    ++ lib.optionals enableGStreamer (with gst_all; [ gstreamer gst-plugins-base ])
+    ++ lib.optionals enableGStreamer (with gst_all_1; [ gstreamer gst-plugins-base ])
     ++ lib.optional enableEigen eigen
     ++ lib.optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [ Cocoa QTKit ])
     ;
@@ -69,6 +69,7 @@ stdenv.mkDerivation rec {
     (opencvFlag "JPEG" enableJPEG)
     (opencvFlag "PNG" enablePNG)
     (opencvFlag "OPENEXR" enableEXR)
+    (opencvFlag "GSTREAMER" enableGStreamer)
   ];
 
   enableParallelBuilding = true;
diff --git a/pkgs/development/libraries/opendht/default.nix b/pkgs/development/libraries/opendht/default.nix
index 528c19aea5b..19d3d4f888f 100644
--- a/pkgs/development/libraries/opendht/default.nix
+++ b/pkgs/development/libraries/opendht/default.nix
@@ -13,13 +13,13 @@
 
 stdenv.mkDerivation rec {
   name = "opendht-${version}";
-  version = "1.5.0";
+  version = "1.7.2";
 
   src = fetchFromGitHub {
     owner = "savoirfairelinux";
     repo = "opendht";
     rev = "${version}";
-    sha256 = "0zkxvs3vdlc4yzhfi2jh02bsnhh50fbfigqhnkmbx69lssnkyr05";
+    sha256 = "0nia3gkn5jqs7lf0v6jkhh1c0czdx9743imgi77kcvn98k2n6sjc";
   };
 
   buildInputs = [
diff --git a/pkgs/development/libraries/openexr/default.nix b/pkgs/development/libraries/openexr/default.nix
index 8d5a6bb65a9..60ee30177c0 100644
--- a/pkgs/development/libraries/openexr/default.nix
+++ b/pkgs/development/libraries/openexr/default.nix
@@ -23,6 +23,7 @@ stdenv.mkDerivation rec {
   propagatedBuildInputs = [ ilmbase zlib ];
 
   enableParallelBuilding = true;
+  doCheck = false; # fails 1 of 1 tests
 
   meta = with stdenv.lib; {
     homepage = http://www.openexr.com/;
diff --git a/pkgs/development/libraries/openexrid-unstable/default.nix b/pkgs/development/libraries/openexrid-unstable/default.nix
index d8198357c64..099bd8d1e97 100644
--- a/pkgs/development/libraries/openexrid-unstable/default.nix
+++ b/pkgs/development/libraries/openexrid-unstable/default.nix
@@ -16,6 +16,11 @@ stdenv.mkDerivation rec
 
   patches = [ ./openexrid.patch ];
 
+  postPatch = ''
+    substituteInPlace openexrid/makefile \
+        --replace g++ c++
+  '';
+
   NIX_CFLAGS_COMPILE=''-I${ilmbase.dev}/include/OpenEXR
                        -I${openexr.dev}/include/OpenEXR
                        -I${openfx.dev}/include/OpenFX
@@ -38,7 +43,7 @@ stdenv.mkDerivation rec
       find $out
       mv $out/include $dev/
       mv $out/lib $lib/
-      '';
+  '';
 
   meta = with stdenv.lib; {
     description = "OpenEXR files able to isolate any object of a CG image with a perfect antialiazing";
diff --git a/pkgs/development/libraries/openfst/default.nix b/pkgs/development/libraries/openfst/default.nix
index 690261438ab..1ab6661db5b 100644
--- a/pkgs/development/libraries/openfst/default.nix
+++ b/pkgs/development/libraries/openfst/default.nix
@@ -3,11 +3,11 @@
 stdenv.mkDerivation rec {
   name = "${pname}-${version}";
   pname = "openfst";
-  version = "1.6.3";
+  version = "1.6.7";
 
   src = fetchurl {
     url = "http://www.openfst.org/twiki/pub/FST/FstDownload/${name}.tar.gz";
-    sha256 = "5c28b6ccd017fc6ff94ebd0c73ed8ab37d48f563dab1c603856fb05bc9333d99";
+    sha256 = "1xqpc1qlvghprwih99immsjh3ba08lg754cf5icnmpkwh9nlh6p2";
   };
   meta = {
     description = "Library for working with finite-state transducers";
diff --git a/pkgs/development/libraries/openldap/default.nix b/pkgs/development/libraries/openldap/default.nix
index 56118c9bbb2..93ba3f15a09 100644
--- a/pkgs/development/libraries/openldap/default.nix
+++ b/pkgs/development/libraries/openldap/default.nix
@@ -34,6 +34,8 @@ stdenv.mkDerivation rec {
       ++ stdenv.lib.optional (cyrus_sasl == null) "--without-cyrus-sasl"
       ++ stdenv.lib.optional stdenv.isFreeBSD "--with-pic";
 
+  doCheck = false; # needs a running LDAP server
+
   installFlags = [ "sysconfdir=$(out)/etc" "localstatedir=$(out)/var" ];
 
   # 1. Fixup broken libtool
diff --git a/pkgs/development/libraries/openmpi/default.nix b/pkgs/development/libraries/openmpi/default.nix
index 9aca076c5dc..1748ebd5f3c 100644
--- a/pkgs/development/libraries/openmpi/default.nix
+++ b/pkgs/development/libraries/openmpi/default.nix
@@ -8,7 +8,7 @@
 }:
 
 let
-  majorVersion = "3.0";
+  majorVersion = "3.1";
   minorVersion = "0";
 
 in stdenv.mkDerivation rec {
@@ -16,7 +16,7 @@ in stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "http://www.open-mpi.org/software/ompi/v${majorVersion}/downloads/${name}.tar.bz2";
-    sha256 = "1mw2d94k6mp4scg1wnkj50vdh734fy5m2ygyrj65s4mh3prbz6gn";
+    sha256 = "0v7hrmf1z5d1rmm0z5gi79l536j3z5s5b0kf9q5rr1fc4i0h8p5j";
   };
 
   postPatch = ''
diff --git a/pkgs/development/libraries/openpam/default.nix b/pkgs/development/libraries/openpam/default.nix
new file mode 100644
index 00000000000..187f8613375
--- /dev/null
+++ b/pkgs/development/libraries/openpam/default.nix
@@ -0,0 +1,18 @@
+{ stdenv, buildPackages, hostPlatform, fetchurl, lib }:
+
+stdenv.mkDerivation rec {
+  name = "openpam-${version}";
+  version = "20170430";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/openpam/openpam/Resedacea/${name}.tar.gz";
+    sha256 = "0pz8kf9mxj0k8yp8jgmhahddz58zv2b7gnyjwng75xgsx4i55xi2";
+  };
+
+  meta = {
+    homepage = https://www.openpam.org;
+    description = "An open source PAM library that focuses on simplicity, correctness, and cleanliness";
+    platforms = lib.platforms.unix;
+    maintainers = with lib.maintainers; [ matthewbauer ];
+  };
+}
diff --git a/pkgs/development/libraries/openssl/default.nix b/pkgs/development/libraries/openssl/default.nix
index af6a540b97c..31e9d661a58 100644
--- a/pkgs/development/libraries/openssl/default.nix
+++ b/pkgs/development/libraries/openssl/default.nix
@@ -48,6 +48,8 @@ let
           then "./Configure mingw${toString hostPlatform.parsed.cpu.bits}"
         else if hostPlatform.isLinux
           then "./Configure linux-generic${toString hostPlatform.parsed.cpu.bits}"
+        else if hostPlatform.isiOS
+          then "./Configure ios${toString hostPlatform.parsed.cpu.bits}-cross"
         else
           throw "Not sure what configuration to use for ${hostPlatform.config}"
       );
@@ -71,8 +73,7 @@ let
 
     makeFlags = [ "MANDIR=$(man)/share/man" ];
 
-    # Parallel building is broken in OpenSSL.
-    enableParallelBuilding = false;
+    enableParallelBuilding = true;
 
     postInstall = ''
       # If we're building dynamic libraries, then don't install static
@@ -113,20 +114,13 @@ let
 in {
 
   openssl_1_0_2 = common {
-    version = "1.0.2n";
-    sha256 = "1zm82pyq5a9jm10q6iv7d3dih3xwjds4x30fqph3k317byvsn2rp";
+    version = "1.0.2o";
+    sha256 = "0kcy13l701054nhpbd901mz32v1kn4g311z0nifd83xs2jbmqgzc";
   };
 
   openssl_1_1_0 = common {
-    version = "1.1.0g";
-    sha256 = "1bvka2wf33w2vxv7yw578nnjqyhz2b3chvfb0l4k2ffscw950kfy";
-    patches = [
-      (fetchpatch {
-        name = "CVE-2017-3738.patch";
-        url = "https://github.com/openssl/openssl/commit/563066.patch";
-        sha256 = "0ni9fwpxf8raw8b58pfa15akbqmxx4q64v0ldsm4b9dqhbxf8mkz";
-      })
-    ];
+    version = "1.1.0h";
+    sha256 = "05x509lccqjscgyi935z809pwfm708islypwhmjnb6cyvrn64daq";
   };
 
 }
diff --git a/pkgs/development/libraries/opensubdiv/default.nix b/pkgs/development/libraries/opensubdiv/default.nix
index 712deff8444..62c093f310f 100644
--- a/pkgs/development/libraries/opensubdiv/default.nix
+++ b/pkgs/development/libraries/opensubdiv/default.nix
@@ -1,33 +1,38 @@
 { lib, stdenv, fetchurl, fetchFromGitHub, cmake, pkgconfig, xorg, libGLU
 , libGL, glew, ocl-icd, python3
 , cudaSupport ? false, cudatoolkit
+, darwin
 }:
 
 stdenv.mkDerivation rec {
   name = "opensubdiv-${version}";
-  version = "3.3.0";
+  version = "3.3.1";
 
   src = fetchFromGitHub {
     owner = "PixarAnimationStudios";
     repo = "OpenSubdiv";
     rev = "v${lib.replaceChars ["."] ["_"] version}";
-    sha256 = "0wpjwfik4q9s4r30hndhzmfyzv968mmg5lgng0123l07mn47d2yl";
+    sha256 = "1s96038yvf8wch5gv537iigqflxx7rh9wwn3wlrk8f9yfdwv1mk1";
   };
 
   outputs = [ "out" "dev" ];
 
   buildInputs =
-    [ cmake pkgconfig libGLU libGL ocl-icd python3
+    [ cmake pkgconfig libGLU libGL python3
       # FIXME: these are not actually needed, but the configure script wants them.
       glew xorg.libX11 xorg.libXrandr xorg.libXxf86vm xorg.libXcursor
       xorg.libXinerama xorg.libXi
     ]
+    ++ lib.optional (!stdenv.isDarwin) ocl-icd
+    ++ lib.optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [OpenCL Cocoa CoreVideo IOKit AppKit AGL ])
     ++ lib.optional cudaSupport cudatoolkit;
 
   cmakeFlags =
     [ "-DNO_TUTORIALS=1"
       "-DNO_REGRESSION=1"
       "-DNO_EXAMPLES=1"
+      "-DNO_METAL=1" # don’t have metal in apple sdk
+    ] ++ lib.optionals (!stdenv.isDarwin) [
       "-DGLEW_INCLUDE_DIR=${glew.dev}/include"
       "-DGLEW_LIBRARY=${glew.dev}/lib"
     ] ++ lib.optionals cudaSupport [
@@ -42,7 +47,7 @@ stdenv.mkDerivation rec {
   meta = {
     description = "An Open-Source subdivision surface library";
     homepage = http://graphics.pixar.com/opensubdiv;
-    platforms = lib.platforms.linux;
+    platforms = lib.platforms.unix;
     maintainers = [ lib.maintainers.eelco ];
     license = lib.licenses.asl20;
   };
diff --git a/pkgs/development/libraries/openvdb/default.nix b/pkgs/development/libraries/openvdb/default.nix
index f9540d2c4d2..be28c84e3e4 100644
--- a/pkgs/development/libraries/openvdb/default.nix
+++ b/pkgs/development/libraries/openvdb/default.nix
@@ -3,13 +3,13 @@
 stdenv.mkDerivation rec
 {
   name = "openvdb-${version}";
-  version = "5.0.0";
+  version = "5.1.0";
 
   src = fetchFromGitHub {
     owner = "dreamworksanimation";
     repo = "openvdb";
     rev = "v${version}";
-    sha256 = "162l1prgdyf571bgxc621gicl40b050ny64f0jmnhz0h5xq6sfrv";
+    sha256 = "1als53dnbnwa66k16vy95h1rhpdzz6i80c0gc2g3i17qbasl6ni5";
   };
 
   outputs = [ "out" ];
@@ -32,7 +32,7 @@ stdenv.mkDerivation rec
     LOG4CPLUS_LIB=
     BLOSC_INCLUDE_DIR=${c-blosc}/include/
     BLOSC_LIB_DIR=${c-blosc}/lib/
-    '';
+  '';
 
   installFlags = ''DESTDIR=$(out)'';
 
@@ -43,7 +43,7 @@ stdenv.mkDerivation rec
     description = "An open framework for voxel";
     homepage = "http://www.openvdb.org";
     maintainers = [ maintainers.guibou ];
-    platforms = platforms.all;
+    platforms = platforms.linux;
     license = licenses.mpl20;
   };
 }
diff --git a/pkgs/development/libraries/openzwave/default.nix b/pkgs/development/libraries/openzwave/default.nix
new file mode 100644
index 00000000000..63c51996b22
--- /dev/null
+++ b/pkgs/development/libraries/openzwave/default.nix
@@ -0,0 +1,56 @@
+{ stdenv, fetchFromGitHub
+, doxygen, fontconfig, graphviz-nox, libxml2, pkgconfig, which
+, systemd }:
+
+let
+  version = "2018-04-04";
+
+in stdenv.mkDerivation rec {
+  name = "openzwave-${version}";
+
+  src = fetchFromGitHub {
+    owner = "OpenZWave";
+    repo = "open-zwave";
+    rev = "ab5fe966fee882bb9e8d78a91db892a60a1863d9";
+    sha256 = "0yby8ygzjn5zp5vhysxaadbzysqanwd2zakz379299qs454pr2h9";
+  };
+
+  nativeBuildInputs = [ doxygen fontconfig graphviz-nox libxml2 pkgconfig which ];
+
+  buildInputs = [ systemd ];
+
+  enableParallelBuilding = true;
+
+  installPhase = ''
+    runHook preInstall
+
+    DESTDIR=$out PREFIX= pkgconfigdir=lib/pkgconfig make install $installFlags
+
+    runHook postInstall
+  '';
+
+  FONTCONFIG_FILE="${fontconfig.out}/etc/fonts/fonts.conf";
+  FONTCONFIG_PATH="${fontconfig.out}/etc/fonts/";
+
+  postPatch = ''
+    substituteInPlace cpp/src/Options.cpp \
+      --replace /etc/openzwave $out/etc/openzwave
+  '';
+
+  fixupPhase = ''
+    substituteInPlace $out/lib/pkgconfig/libopenzwave.pc \
+      --replace prefix= prefix=$out \
+      --replace dir=    dir=$out
+
+    substituteInPlace $out/bin/ozw_config \
+      --replace pcfile=${pkgconfig} pcfile=$out
+  '';
+
+  meta = with stdenv.lib; {
+    description = "C++ library to control Z-Wave Networks via a USB Z-Wave Controller";
+    homepage = http://www.openzwave.net/;
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ etu ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/p11-kit/default.nix b/pkgs/development/libraries/p11-kit/default.nix
index c5c14ed3b85..9c663186287 100644
--- a/pkgs/development/libraries/p11-kit/default.nix
+++ b/pkgs/development/libraries/p11-kit/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   name = "p11-kit-${version}";
-  version = "0.23.9";
+  version = "0.23.10";
 
   src = fetchFromGitHub {
     owner = "p11-glue";
     repo = "p11-kit";
     rev = version;
-    sha256 = "0lyv6m2jflvs23m0i6l64d470p5a315lz6vs4bflsqv8i1zrrcsh";
+    sha256 = "0n0wqv028flzvnxllqv8i6x9nv705csl7ddzi0fzvppc9fp2yinp";
   };
 
   outputs = [ "out" "dev"];
@@ -30,6 +30,8 @@ stdenv.mkDerivation rec {
 
   installFlags = [ "exampledir=\${out}/etc/pkcs11" ];
 
+  doInstallCheck = false; # probably a bug in this derivation
+
   meta = with stdenv.lib; {
     homepage = https://p11-glue.freedesktop.org/;
     platforms = platforms.all;
diff --git a/pkgs/development/libraries/pango/default.nix b/pkgs/development/libraries/pango/default.nix
index 3806926fa24..d880d41c708 100644
--- a/pkgs/development/libraries/pango/default.nix
+++ b/pkgs/development/libraries/pango/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, fetchpatch, pkgconfig, libXft, cairo, harfbuzz
-, libintlOrEmpty, gobjectIntrospection, darwin
+, libintl, gobjectIntrospection, darwin
 }:
 
 with stdenv.lib;
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
        CoreGraphics
        CoreText
     ]);
-  propagatedBuildInputs = [ cairo harfbuzz libXft ] ++ libintlOrEmpty;
+  propagatedBuildInputs = [ cairo harfbuzz libXft libintl ];
 
   enableParallelBuilding = true;
 
diff --git a/pkgs/development/libraries/parquet-cpp/default.nix b/pkgs/development/libraries/parquet-cpp/default.nix
new file mode 100644
index 00000000000..e281e604380
--- /dev/null
+++ b/pkgs/development/libraries/parquet-cpp/default.nix
@@ -0,0 +1,37 @@
+{ stdenv, symlinkJoin, fetchurl, arrow-cpp, boost, cmake, gtest, snappy, thrift, zlib }:
+
+stdenv.mkDerivation rec {
+  name = "parquet-cpp-${version}";
+  version = "1.4.0";
+
+  src = fetchurl {
+    url = "https://github.com/apache/parquet-cpp/archive/apache-${name}.tar.gz";
+    sha256 = "1kn7pjzi5san5f05qbl8l8znqsa3f9cq9bflfr4s2jfwr7k9p2aj";
+  };
+
+  nativeBuildInputs = [ cmake ];
+  buildInputs = [ boost ];
+
+  preConfigure = ''
+    substituteInPlace cmake_modules/FindThrift.cmake --replace CMAKE_STATIC_LIBRARY CMAKE_SHARED_LIBRARY
+    substituteInPlace cmake_modules/FindSnappy.cmake --replace CMAKE_STATIC_LIBRARY CMAKE_SHARED_LIBRARY
+  '';
+
+  ARROW_HOME = arrow-cpp;
+  THRIFT_HOME = thrift;
+  GTEST_HOME = gtest;
+  SNAPPY_HOME = symlinkJoin { name="snappy-wrap"; paths = [ snappy snappy.dev ]; };
+  ZLIB_HOME = symlinkJoin { name="zlib-wrap"; paths = [ zlib.dev zlib.static ]; };
+
+  cmakeFlags = [
+    "-DPARQUET_BUILD_BENCHMARKS=OFF"
+  ];
+
+  meta = {
+    description = "A C++ library to read and write the Apache Parquet columnar data format";
+    homepage = http://parquet.apache.org;
+    license = stdenv.lib.licenses.asl20;
+    platforms = stdenv.lib.platforms.unix;
+    maintainers = with stdenv.lib.maintainers; [ veprbl ];
+  };
+}
diff --git a/pkgs/development/libraries/pcre/default.nix b/pkgs/development/libraries/pcre/default.nix
index 2ea5e923bad..973798b849b 100644
--- a/pkgs/development/libraries/pcre/default.nix
+++ b/pkgs/development/libraries/pcre/default.nix
@@ -35,6 +35,10 @@ in stdenv.mkDerivation rec {
   # https://bugs.exim.org/show_bug.cgi?id=2173
   patches = [ ./stacksize-detection.patch ];
 
+  preCheck = ''
+    patchShebangs RunGrepTest
+  '';
+
   doCheck = !(with hostPlatform; isCygwin || isFreeBSD) && hostPlatform == buildPlatform;
     # XXX: test failure on Cygwin
     # we are running out of stack on both freeBSDs on Hydra
diff --git a/pkgs/development/libraries/pcre2/default.nix b/pkgs/development/libraries/pcre2/default.nix
index 9603e45a8b4..2e1ed060aca 100644
--- a/pkgs/development/libraries/pcre2/default.nix
+++ b/pkgs/development/libraries/pcre2/default.nix
@@ -40,6 +40,8 @@ stdenv.mkDerivation rec {
 
   outputs = [ "bin" "dev" "out" "doc" "man" "devdoc" ];
 
+  doCheck = false; # fails 1 of 3 tests
+
   postFixup = ''
     moveToOutput bin/pcre2-config "$dev"
   '';
diff --git a/pkgs/development/libraries/phonon/backends/vlc.nix b/pkgs/development/libraries/phonon/backends/vlc.nix
index 53281ddc657..643e36ba6cd 100644
--- a/pkgs/development/libraries/phonon/backends/vlc.nix
+++ b/pkgs/development/libraries/phonon/backends/vlc.nix
@@ -7,7 +7,7 @@
 with lib;
 
 let
-  v = "0.9.0";
+  v = "0.10.1";
   pname = "phonon-backend-vlc";
 in
 
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://kde/stable/phonon/${pname}/${v}/${pname}-${v}.tar.xz";
-    sha256 = "1gnd1j305mqajw5gxm42vg6ajkvi8611bxgc3qhj5k0saz5dgkn0";
+    sha256 = "0b87mzkw9fdkrwgnh1kw5i5wnrd05rl42hynlykb7cfymsk6v5h9";
   };
 
   buildInputs =
diff --git a/pkgs/development/libraries/physics/fastjet/default.nix b/pkgs/development/libraries/physics/fastjet/default.nix
index 0ee68415b89..7a65da25890 100644
--- a/pkgs/development/libraries/physics/fastjet/default.nix
+++ b/pkgs/development/libraries/physics/fastjet/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "fastjet-${version}";
-  version = "3.3.0";
+  version = "3.3.1";
 
   src = fetchurl {
     url = "http://fastjet.fr/repo/fastjet-${version}.tar.gz";
-    sha256 = "03x75mmnlw2m0a7669k82rf9a7dgjwygf8wjbk8cdgnb82c5pnp9";
+    sha256 = "0lvchyh9q2p8lb10isazw0wbwzs24yg7gxyhpj9xpvz5hydyvgvn";
   };
 
   buildInputs = [ python2 ];
@@ -26,8 +26,9 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "A software package for jet finding in pp and e+e− collisions";
-    license     = stdenv.lib.licenses.gpl2;
+    license     = stdenv.lib.licenses.gpl2Plus;
     homepage    = http://fastjet.fr/;
     platforms   = stdenv.lib.platforms.unix;
+    maintainers = with stdenv.lib.maintainers; [ veprbl ];
   };
 }
diff --git a/pkgs/development/libraries/physics/geant4/datasets-hook.sh b/pkgs/development/libraries/physics/geant4/datasets-hook.sh
new file mode 100644
index 00000000000..14e3b8f2fc3
--- /dev/null
+++ b/pkgs/development/libraries/physics/geant4/datasets-hook.sh
@@ -0,0 +1,5 @@
+@name@ () {
+    export G4@envvar@DATA="@out@/data"
+}
+
+postHooks+=(@name@)
diff --git a/pkgs/development/libraries/physics/geant4/datasets.nix b/pkgs/development/libraries/physics/geant4/datasets.nix
new file mode 100644
index 00000000000..88f2dc2cd6d
--- /dev/null
+++ b/pkgs/development/libraries/physics/geant4/datasets.nix
@@ -0,0 +1,103 @@
+{ stdenv, fetchurl, }:
+
+let
+  mkDataset = { name, version, sha256, envvar}:
+    stdenv.mkDerivation {
+      inherit name version;
+
+      src = fetchurl {
+        url = "https://geant4-data.web.cern.ch/geant4-data/datasets/${name}.${version}.tar.gz";
+        inherit sha256;
+      };
+
+      preferLocalBuild = true;
+      dontBuild = true;
+      dontConfigure = true;
+
+      installPhase = ''
+        mkdir -p $out/data
+        mv ./* $out/data
+      '';
+
+      inherit envvar;
+      setupHook = ./datasets-hook.sh;
+
+      meta = with stdenv.lib; {
+        description = "Data files for the Geant4 toolkit";
+        homepage = "https://geant4.web.cern.ch/support/download";
+        license = licenses.g4sl;
+        platforms = platforms.all;
+      };
+    };
+in
+  builtins.listToAttrs (map (a: { inherit (a) name; value = mkDataset a; }) [
+    {
+      name = "G4NDL";
+      version = "4.5";
+      sha256 = "cba928a520a788f2bc8229c7ef57f83d0934bb0c6a18c31ef05ef4865edcdf8e";
+      envvar = "NEUTRONHP";
+    }
+
+    {
+      name = "G4EMLOW";
+      version = "7.3";
+      sha256 = "583aa7f34f67b09db7d566f904c54b21e95a9ac05b60e2bfb794efb569dba14e";
+      envvar = "LE";
+    }
+
+    {
+      name = "G4PhotonEvaporation";
+      version = "5.2";
+      sha256 = "83607f8d36827b2a7fca19c9c336caffbebf61a359d0ef7cee44a8bcf3fc2d1f";
+      envvar = "LEVELGAMMA";
+    }
+
+    {
+      name = "G4RadioactiveDecay";
+      version = "5.2";
+      sha256 = "99c038d89d70281316be15c3c98a66c5d0ca01ef575127b6a094063003e2af5d";
+      envvar = "RADIOACTIVE";
+    }
+
+    {
+      name = "G4SAIDDATA";
+      version = "1.1";
+      sha256 = "a38cd9a83db62311922850fe609ecd250d36adf264a88e88c82ba82b7da0ed7f";
+      envvar = "SAIDXS";
+    }
+
+    {
+      name = "G4NEUTRONXS";
+      version = "1.4";
+      sha256 = "57b38868d7eb060ddd65b26283402d4f161db76ed2169437c266105cca73a8fd";
+      envvar = "NEUTRONXS";
+    }
+
+    {
+      name = "G4ABLA";
+      version = "3.1";
+      sha256 = "7698b052b58bf1b9886beacdbd6af607adc1e099fc730ab6b21cf7f090c027ed";
+      envvar = "ABLA";
+    }
+
+    {
+      name = "G4PII";
+      version = "1.3";
+      sha256 = "6225ad902675f4381c98c6ba25fc5a06ce87549aa979634d3d03491d6616e926";
+      envvar = "PII";
+    }
+
+    {
+      name = "G4ENSDFSTATE";
+      version = "2.2";
+      sha256 = "dd7e27ef62070734a4a709601f5b3bada6641b111eb7069344e4f99a01d6e0a6";
+      envvar = "ENSDFSTATE";
+    }
+
+    {
+      name = "G4RealSurface";
+      version = "2.1";
+      sha256 = "2a287adbda1c0292571edeae2082a65b7f7bd6cf2bf088432d1d6f889426dcf3";
+      envvar = "REALSURFACE";
+    }
+  ])
diff --git a/pkgs/development/libraries/physics/geant4/default.nix b/pkgs/development/libraries/physics/geant4/default.nix
index 794d0b24c77..87af069c18a 100644
--- a/pkgs/development/libraries/physics/geant4/default.nix
+++ b/pkgs/development/libraries/physics/geant4/default.nix
@@ -24,9 +24,14 @@
 # For enableXM.
 , motif ? null # motif or lesstif
 
+# For enableInventor
+, coin3d
+, soxt
+, libXpm ? null
+
 # For enableQT, enableXM, enableOpenGLX11, enableRaytracerX11.
-, libGLU_combined   ? null
-, xlibsWrapper    ? null
+, libGLU_combined ? null
+, xlibsWrapper ? null
 , libXmu ? null
 }:
 
@@ -43,6 +48,7 @@ assert enableXM -> motif != null;
 assert enableQT || enableXM || enableOpenGLX11 || enableRaytracerX11 -> libGLU_combined   != null;
 assert enableQT || enableXM || enableOpenGLX11 || enableRaytracerX11 -> xlibsWrapper    != null;
 assert enableQT || enableXM || enableOpenGLX11 || enableRaytracerX11 -> libXmu != null;
+assert enableInventor -> libXpm != null;
 
 let
   buildGeant4 =
@@ -52,18 +58,11 @@ let
       inherit version src;
       name = "geant4-${version}";
 
-      # The data directory holds not just interaction cross section data, but other
-      # files which the installer needs to write, so we link to the previously installed
-      # data instead. This assumes the default data installation location of $out/share.
-      preConfigure = ''
-        mkdir -p $out/share/Geant4-${version}
-        ln -s ${g4data}/Geant4-${version}/data $out/share/Geant4-${version}/data
-      '';
-
       multiThreadingFlag = if multiThreadingCapable then "-DGEANT4_BUILD_MULTITHREADED=${if enableMultiThreading then "ON" else "OFF"}" else "";
 
       cmakeFlags = ''
         ${multiThreadingFlag}
+        -DGEANT4_INSTALL_DATA=OFF
         -DGEANT4_USE_GDML=${if enableGDML then "ON" else "OFF"}
         -DGEANT4_USE_G3TOG4=${if enableG3toG4 then "ON" else "OFF"}
         -DGEANT4_USE_QT=${if enableQT then "ON" else "OFF"}
@@ -74,24 +73,31 @@ let
         -DGEANT4_USE_SYSTEM_CLHEP=${if clhep != null then "ON" else "OFF"}
         -DGEANT4_USE_SYSTEM_EXPAT=${if expat != null then "ON" else "OFF"}
         -DGEANT4_USE_SYSTEM_ZLIB=${if zlib != null then "ON" else "OFF"}
+        -DINVENTOR_INCLUDE_DIR=${coin3d}/include
+        -DINVENTOR_LIBRARY_RELEASE=${coin3d}/lib/libCoin.so
       '';
 
-      g4data = installData {
-        inherit version src;
-      };
-
       enableParallelBuilding = true;
-      buildInputs = [ cmake clhep expat zlib xercesc qt motif libGLU_combined xlibsWrapper libXmu ];
-      propagatedBuildInputs = [ g4data clhep expat zlib xercesc qt motif libGLU_combined xlibsWrapper libXmu ];
+      buildInputs = [ cmake clhep expat zlib xercesc qt motif libGLU_combined xlibsWrapper libXmu libXpm coin3d soxt ];
+      propagatedBuildInputs = [ clhep expat zlib xercesc qt motif libGLU_combined xlibsWrapper libXmu libXpm coin3d soxt ];
+
+      postFixup = ''
+        # Don't try to export invalid environment variables.
+        sed -i 's/export G4\([A-Z]*\)DATA/#export G4\1DATA/' "$out"/bin/geant4.sh
+      '';
 
-      setupHook = ./setup-hook.sh;
+      setupHook = ./geant4-hook.sh;
+
+      passthru = {
+        data = import ./datasets.nix { inherit stdenv fetchurl; };
+      };
 
       # Set the myriad of envars required by Geant4 if we use a nix-shell.
       shellHook = ''
         source $out/nix-support/setup-hook
       '';
 
-      meta = {
+      meta = with stdenv.lib; {
         description = "A toolkit for the simulation of the passage of particles through matter";
         longDescription = ''
           Geant4 is a toolkit for the simulation of the passage of particles through matter.
@@ -99,44 +105,12 @@ let
           The two main reference papers for Geant4 are published in Nuclear Instruments and Methods in Physics Research A 506 (2003) 250-303, and IEEE Transactions on Nuclear Science 53 No. 1 (2006) 270-278.
         '';
         homepage = http://www.geant4.org;
-        license = stdenv.lib.licenses.g4sl;
-        maintainers = [ ];
-        platforms = stdenv.lib.platforms.all;
+        license = licenses.g4sl;
+        maintainers = with maintainers; [ tmplt ];
+        platforms = platforms.all;
       };
     };
 
-  installData = 
-    { version, src }:
- 
-    stdenv.mkDerivation rec {
-      inherit version src;
-      name = "g4data-${version}";
-
-      cmakeFlags = ''
-        -DGEANT4_INSTALL_DATA="ON"
-      '';
-
-      buildInputs = [ cmake expat ];
-
-      enableParallelBuilding = true;
-      buildPhase = ''
-        make G4EMLOW G4NDL G4NEUTRONXS G4PII G4SAIDDATA PhotonEvaporation RadioactiveDecay RealSurface
-      '';
-
-      installPhase = ''
-        mkdir -p $out/Geant4-${version}
-        cp -R data/ $out/Geant4-${version}
-      '';
-
-      meta = {
-        description = "Data files for the Geant4 toolkit";
-        homepage = http://www.geant4.org;
-        license = stdenv.lib.licenses.g4sl;
-        maintainers = [ ];
-        platforms = stdenv.lib.platforms.all;
-      };
-    }; 
-
   fetchGeant4 = import ./fetch.nix {
     inherit stdenv fetchurl;
   };
@@ -146,5 +120,9 @@ in {
     inherit (fetchGeant4.v10_0_2) version src;
     multiThreadingCapable = true;
   };
-} 
- 
+
+  v10_4_1 = buildGeant4 {
+    inherit (fetchGeant4.v10_4_1) version src;
+    multiThreadingCapable = true;
+  };
+}
diff --git a/pkgs/development/libraries/physics/geant4/fetch.nix b/pkgs/development/libraries/physics/geant4/fetch.nix
index 0e5dd54c6ae..7dc4c865627 100644
--- a/pkgs/development/libraries/physics/geant4/fetch.nix
+++ b/pkgs/development/libraries/physics/geant4/fetch.nix
@@ -13,7 +13,17 @@ in {
     src = fetchurl{
       url = "http://geant4.cern.ch/support/source/geant4.10.00.p02.tar.gz";
       sha256 = "9d615200901f1a5760970e8f5970625ea146253e4f7c5ad9df2a9cf84549e848";
-    };  
+    };
   };
+
+  v10_4_1 = fetch {
+    version = "10.4.1";
+
+    src = fetchurl{
+      url = "http://cern.ch/geant4-data/releases/geant4.10.04.p01.tar.gz";
+      sha256 = "a3eb13e4f1217737b842d3869dc5b1fb978f761113e74bd4eaf6017307d234dd";
+    };
+  };
+
 }
 
diff --git a/pkgs/development/libraries/physics/geant4/setup-hook.sh b/pkgs/development/libraries/physics/geant4/geant4-hook.sh
index 0b775d43283..0b775d43283 100644
--- a/pkgs/development/libraries/physics/geant4/setup-hook.sh
+++ b/pkgs/development/libraries/physics/geant4/geant4-hook.sh
diff --git a/pkgs/development/libraries/physics/pythia/default.nix b/pkgs/development/libraries/physics/pythia/default.nix
index eca2807ce15..3f9f3f8498b 100644
--- a/pkgs/development/libraries/physics/pythia/default.nix
+++ b/pkgs/development/libraries/physics/pythia/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "pythia-${version}";
-  version = "8.226";
+  version = "8.235";
 
   src = fetchurl {
     url = "http://home.thep.lu.se/~torbjorn/pythia8/pythia${builtins.replaceStrings ["."] [""] version}.tgz";
-    sha256 = "1jfjkq78d1llrrm2k5pgsl92a5z8af9rx3n83rzv28lxrqdjix4g";
+    sha256 = "17cfgs7v469pdnnzvlmdagcdhi0h419znqmaws90l9d8cmhhsbz8";
   };
 
   buildInputs = [ boost fastjet hepmc zlib rsync lhapdf ];
@@ -18,6 +18,7 @@ stdenv.mkDerivation rec {
   configureFlags = [
     "--enable-shared"
     "--with-hepmc2=${hepmc}"
+    "--with-lhapdf6=${lhapdf}"
   ];
 
   enableParallelBuilding = true;
diff --git a/pkgs/development/libraries/physics/rivet/default.nix b/pkgs/development/libraries/physics/rivet/default.nix
index 5d533d4250a..c13b659f792 100644
--- a/pkgs/development/libraries/physics/rivet/default.nix
+++ b/pkgs/development/libraries/physics/rivet/default.nix
@@ -6,7 +6,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "http://www.hepforge.org/archive/rivet/Rivet-${version}.tar.bz2";
-    sha256 = "1mvsa3v8d1pl2fj1dcdf8sikzm1yb2jcl0q34fyfsjw2cisxpv5f";
+    sha256 = "007rwal8wx2k9gs0r6kym6ix0siz0x9l55q9myq41siirpf2jcpv";
   };
 
   patches = [
diff --git a/pkgs/development/libraries/pipewire/default.nix b/pkgs/development/libraries/pipewire/default.nix
index 304d5baa3aa..7e7314c936d 100644
--- a/pkgs/development/libraries/pipewire/default.nix
+++ b/pkgs/development/libraries/pipewire/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchFromGitHub, meson, ninja, pkgconfig, doxygen, graphviz, valgrind
-, glib, dbus, gst_all_1, v4l_utils, alsaLib, ffmpeg, libjack2, libudev, libva, xlibs
+, glib, dbus, gst_all_1, v4l_utils, alsaLib, ffmpeg, libjack2, libudev, libva, xorg
 , sbc, SDL2, makeFontsConf, freefont_ttf
 }:
 
@@ -26,11 +26,7 @@ in stdenv.mkDerivation rec {
   ];
   buildInputs = [
     glib dbus gst_all_1.gst-plugins-base gst_all_1.gstreamer v4l_utils
-    alsaLib ffmpeg libjack2 libudev libva xlibs.libX11 sbc SDL2
-  ];
-
-  patches = [
-    ./fix-paths.patch
+    alsaLib ffmpeg libjack2 libudev libva xorg.libX11 sbc SDL2
   ];
 
   mesonFlags = [
@@ -38,13 +34,15 @@ in stdenv.mkDerivation rec {
     "-Denable_gstreamer=true"
   ];
 
+  PKG_CONFIG_SYSTEMD_SYSTEMDUSERUNITDIR = "lib/systemd/user";
+
   FONTCONFIG_FILE = fontsConf; # Fontconfig error: Cannot load default config file
 
   doCheck = true;
 
   meta = with stdenv.lib; {
     description = "Server and user space API to deal with multimedia pipelines";
-    homepage = http://pipewire.org/;
+    homepage = https://pipewire.org/;
     license = licenses.lgpl21;
     platforms = platforms.linux;
     maintainers = with maintainers; [ jtojnar ];
diff --git a/pkgs/development/libraries/pipewire/fix-paths.patch b/pkgs/development/libraries/pipewire/fix-paths.patch
deleted file mode 100644
index 5a07c6271e1..00000000000
--- a/pkgs/development/libraries/pipewire/fix-paths.patch
+++ /dev/null
@@ -1,8 +0,0 @@
---- a/src/daemon/systemd/user/meson.build
-+++ b/src/daemon/systemd/user/meson.build
-@@ -1,4 +1,4 @@
--systemd_user_services_dir = systemd.get_pkgconfig_variable('systemduserunitdir')
-+systemd_user_services_dir = join_paths(get_option('prefix'), 'etc', 'systemd', 'user')
- 
- install_data(sources : 'pipewire.socket', install_dir : systemd_user_services_dir)
- 
diff --git a/pkgs/development/libraries/pixman/default.nix b/pkgs/development/libraries/pixman/default.nix
index 98d4c737ebd..2987c67ae75 100644
--- a/pkgs/development/libraries/pixman/default.nix
+++ b/pkgs/development/libraries/pixman/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, fetchpatch, autoconf, automake, libtool, pkgconfig, libpng, glib /*just passthru*/ }:
+{ stdenv, fetchurl, fetchpatch, autoconf, automake, libtool, autoreconfHook, pkgconfig, libpng, glib /*just passthru*/ }:
 
 stdenv.mkDerivation rec {
   name = "pixman-${version}";
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
   ];
 
   nativeBuildInputs = [ pkgconfig ]
-    ++ stdenv.lib.optionals stdenv.cc.isClang [ autoconf automake libtool ];
+    ++ stdenv.lib.optionals stdenv.cc.isClang [ autoconf automake libtool autoreconfHook ];
 
   buildInputs = stdenv.lib.optional doCheck libpng;
 
diff --git a/pkgs/development/libraries/poco/default.nix b/pkgs/development/libraries/poco/default.nix
index ae232cd531f..4dffa7486a1 100644
--- a/pkgs/development/libraries/poco/default.nix
+++ b/pkgs/development/libraries/poco/default.nix
@@ -3,17 +3,20 @@
 stdenv.mkDerivation rec {
   name = "poco-${version}";
 
-  version = "1.8.1";
+  version = "1.9.0";
 
   src = fetchurl {
     url = "https://pocoproject.org/releases/${name}/${name}-all.tar.gz";
-    sha256 = "1pg48kk0354vsc6j2wnrk893l5xcsr3bjmkgykd3harcnvfqs7l8";
+    sha256 = "11z1i0drbacs7c7d5virc3kz7wh79svd06iffh8j6giikl7vz1q3";
   };
 
   nativeBuildInputs = [ cmake pkgconfig ];
 
   buildInputs = [ zlib pcre expat sqlite openssl unixODBC mysql.connector-c ];
 
+  MYSQL_DIR = mysql.connector-c;
+  MYSQL_INCLUDE_DIR = "${MYSQL_DIR}/include/mysql";
+
   cmakeFlags = [
     "-DPOCO_UNBUNDLED=ON"
   ];
diff --git a/pkgs/development/libraries/poppler/0.61.nix b/pkgs/development/libraries/poppler/0.61.nix
new file mode 100644
index 00000000000..072de0f9fa0
--- /dev/null
+++ b/pkgs/development/libraries/poppler/0.61.nix
@@ -0,0 +1,56 @@
+{ stdenv, lib, fetchurl, cmake, ninja, pkgconfig, libiconv, libintlOrEmpty
+, zlib, curl, cairo, freetype, fontconfig, lcms, libjpeg, openjpeg
+, withData ? true, poppler_data
+, qt5Support ? false, qtbase ? null
+, introspectionSupport ? false, gobjectIntrospection ? null
+, utils ? false
+, minimal ? false, suffix ? "glib"
+}:
+
+let
+  version = "0.61.0";
+  mkFlag = optset: flag: "-DENABLE_${flag}=${if optset then "on" else "off"}";
+in
+stdenv.mkDerivation rec {
+  name = "poppler-${suffix}-${version}";
+
+  src = fetchurl {
+    url = "${meta.homepage}/poppler-${version}.tar.xz";
+    sha256 = "0zrbb1b77k6bm2qdnra08jnbyllv6vj29790igmp6fzs59xf3kak";
+  };
+
+  outputs = [ "out" "dev" ];
+
+  buildInputs = [ libiconv ] ++ libintlOrEmpty ++ lib.optional withData poppler_data;
+
+  # TODO: reduce propagation to necessary libs
+  propagatedBuildInputs = with lib;
+    [ zlib freetype fontconfig libjpeg openjpeg ]
+    ++ optionals (!minimal) [ cairo lcms curl ]
+    ++ optional qt5Support qtbase
+    ++ optional introspectionSupport gobjectIntrospection;
+
+  nativeBuildInputs = [ cmake ninja pkgconfig ];
+
+  cmakeFlags = [
+    (mkFlag true "XPDF_HEADERS")
+    (mkFlag (!minimal) "GLIB")
+    (mkFlag (!minimal) "CPP")
+    (mkFlag (!minimal) "LIBCURL")
+    (mkFlag utils "UTILS")
+    (mkFlag qt5Support "QT5")
+  ];
+
+  meta = with lib; {
+    homepage = https://poppler.freedesktop.org/;
+    description = "A PDF rendering library";
+
+    longDescription = ''
+      Poppler is a PDF rendering library based on the xpdf-3.0 code base.
+    '';
+
+    license = licenses.gpl2;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ ttuegel ];
+  };
+}
diff --git a/pkgs/development/libraries/poppler/default.nix b/pkgs/development/libraries/poppler/default.nix
index 5fcb7d386fa..a96de20ccfe 100644
--- a/pkgs/development/libraries/poppler/default.nix
+++ b/pkgs/development/libraries/poppler/default.nix
@@ -1,64 +1,48 @@
-{ stdenv, lib, fetchurl, fetchpatch, pkgconfig, libiconv, libintlOrEmpty
+{ stdenv, lib, fetchurl, cmake, ninja, pkgconfig, libiconv, libintl
 , zlib, curl, cairo, freetype, fontconfig, lcms, libjpeg, openjpeg
 , withData ? true, poppler_data
-, qt4Support ? false, qt4 ? null
 , qt5Support ? false, qtbase ? null
 , introspectionSupport ? false, gobjectIntrospection ? null
 , utils ? false
 , minimal ? false, suffix ? "glib"
-, hostPlatform
 }:
 
 let # beware: updates often break cups-filters build
-  version = "0.56.0";
-  sha256 = "0wviayidfv2ix2ql0d4nl9r1ia6qi5kc1nybd9vjx27dk7gvm7c6";
+  version = "0.64.0";
+  mkFlag = optset: flag: "-DENABLE_${flag}=${if optset then "on" else "off"}";
 in
 stdenv.mkDerivation rec {
   name = "poppler-${suffix}-${version}";
 
   src = fetchurl {
     url = "${meta.homepage}/poppler-${version}.tar.xz";
-    inherit sha256;
+    sha256 = "1cb4gz3h7cfqyphhx71qc9mp417bdphchbfghmvhcy4zm4ngj7dj";
   };
 
   outputs = [ "out" "dev" ];
 
-  buildInputs = [ libiconv ] ++ libintlOrEmpty ++ lib.optional withData poppler_data;
+  buildInputs = [ libiconv libintl ] ++ lib.optional withData poppler_data;
 
   # TODO: reduce propagation to necessary libs
   propagatedBuildInputs = with lib;
     [ zlib freetype fontconfig libjpeg openjpeg ]
     ++ optionals (!minimal) [ cairo lcms curl ]
-    ++ optional qt4Support qt4
     ++ optional qt5Support qtbase
     ++ optional introspectionSupport gobjectIntrospection;
 
-  nativeBuildInputs = [ pkgconfig ];
+  nativeBuildInputs = [ cmake ninja pkgconfig ];
 
-  NIX_CFLAGS_COMPILE = [ "-DQT_NO_DEBUG" ];
+  # Not sure when and how to pass it.  It seems an upstream bug anyway.
+  CXXFLAGS = stdenv.lib.optionalString stdenv.cc.isClang "-std=c++11";
 
-  CXXFLAGS = lib.optional qt5Support "-std=c++11";
-
-  configureFlags = with lib;
-    [
-      "--enable-xpdf-headers"
-      "--enable-libcurl"
-      "--enable-zlib"
-      "--enable-build-type=release"
-    ]
-    ++ optionals minimal [
-      "--disable-poppler-glib" "--disable-poppler-cpp"
-      "--disable-libcurl"
-    ]
-    ++ optional (!utils) "--disable-utils"
-    ++ optional introspectionSupport "--enable-introspection";
-
-  enableParallelBuilding = true;
-
-  crossAttrs.postPatch =
-    # there are tests using `strXXX_s` functions that are missing apparently
-    stdenv.lib.optionalString (hostPlatform.libc or null == "msvcrt")
-      "sed '/^SUBDIRS =/s/ test / /' -i Makefile.in";
+  cmakeFlags = [
+    (mkFlag true "XPDF_HEADERS")
+    (mkFlag (!minimal) "GLIB")
+    (mkFlag (!minimal) "CPP")
+    (mkFlag (!minimal) "LIBCURL")
+    (mkFlag utils "UTILS")
+    (mkFlag qt5Support "QT5")
+  ];
 
   meta = with lib; {
     homepage = https://poppler.freedesktop.org/;
diff --git a/pkgs/development/libraries/popt/default.nix b/pkgs/development/libraries/popt/default.nix
index 441da25836d..edec0b7f069 100644
--- a/pkgs/development/libraries/popt/default.nix
+++ b/pkgs/development/libraries/popt/default.nix
@@ -8,10 +8,12 @@ stdenv.mkDerivation rec {
     sha256 = "1j2c61nn2n351nhj4d25mnf3vpiddcykq005w2h6kw79dwlysa77";
   };
 
-  patches = if stdenv.isCygwin then [
+  patches = stdenv.lib.optionals stdenv.isCygwin [
     ./1.16-cygwin.patch
     ./1.16-vpath.patch
-  ] else null;
+  ];
+
+  doCheck = false; # fails
 
   meta = {
     description = "Command line option parsing library";
diff --git a/pkgs/development/libraries/postgis/2.3.nix b/pkgs/development/libraries/postgis/2.3.nix
deleted file mode 100644
index 8e6218a0d56..00000000000
--- a/pkgs/development/libraries/postgis/2.3.nix
+++ /dev/null
@@ -1,102 +0,0 @@
-{ fetchurl
-, stdenv
-, perl
-, libxml2
-, postgresql
-, geos
-, proj
-, flex
-, gdal
-, json_c
-, pkgconfig
-, file
-}:
-
-  /*
-
-  ### NixOS - usage:
-  ==================
-
-    services.postgresql.extraPlugins = [ (pkgs.postgis.override { postgresql = pkgs.postgresql95; }) ];
-
-
-  ### important Postgis implementation details:
-  =============================================
-
-    Postgis provides a shared library implementing many operations. They are
-    exposed to the Postgres SQL interpreter by special SQL queries eg:
-
-      CREATE FUNCTION [...]
-              AS '[..]liblwgeom', 'lwhistogram2d_in' LANGUAGE 'C' IMMUTABLE STRICT; -- WITH (isstrict);
-
-   where liblwgeom is the shared library.
-   Postgis < 1.5 used absolute paths, in NixOS $libdir is always used.
-
-   Thus if you want to use postgresql dumps which were created by non NixOS
-   systems you have to adopt the library path.
-
-
-   ### TODO:
-   =========
-   the bin commands to have gtk gui:
-  */
-
-
-let
-  version = "2.3.1";
-  sha256 = "0xd21h2k6x3i1b3z6pgm3pmkfpxm6irxd5wbx68acjndjgd6p3ac";
-in stdenv.mkDerivation rec {
-  name = "postgis-${version}";
-
-  src = fetchurl {
-    url = "http://download.osgeo.org/postgis/source/postgis-${builtins.toString version}.tar.gz";
-    inherit sha256;
-  };
-
-  # don't pass these vars to the builder
-  removeAttrs = ["sql_comments" "sql_srcs"];
-
-  # create aliases for all commands adding version information
-  postInstall = ''
-    sql_srcs=$(for sql in ${builtins.toString sql_srcs}; do echo -n "$(find $out -iname "$sql") "; done )
-
-    for prog in $out/bin/*; do # */
-      ln -s $prog $prog-${version}
-    done
-
-    cp -r doc $out
-  '';
-
-  buildInputs = [ libxml2 postgresql geos proj perl gdal json_c pkgconfig ];
-
-  sql_comments = "postgis_comments.sql";
-
-  sql_srcs = ["postgis.sql" "spatial_ref_sys.sql"];
-
-  # postgis config directory assumes /include /lib from the same root for json-c library
-  NIX_LDFLAGS = "-L${stdenv.lib.getLib json_c}/lib";
-
-  dontDisableStatic = true;
-  preConfigure = ''
-    sed -i 's@/usr/bin/file@${file}/bin/file@' configure
-    configureFlags="--datadir=$out/share --datarootdir=$out/share --bindir=$out/bin --with-gdalconfig=${gdal}/bin/gdal-config --with-jsondir=${json_c.dev}"
-    makeFlags="PERL=${perl}/bin/perl datadir=$out/share pkglibdir=$out/lib bindir=$out/bin"
-  '';
-  postConfigure = ''
-    sed -i "s|@mkdir -p \$(DESTDIR)\$(PGSQL_BINDIR)||g ;
-            s|\$(DESTDIR)\$(PGSQL_BINDIR)|$prefix/bin|g
-            " \
-        "raster/loader/Makefile";
-    sed -i "s|\$(DESTDIR)\$(PGSQL_BINDIR)|$prefix/bin|g
-            " \
-        "raster/scripts/python/Makefile";
-  '';
-
-  meta = with stdenv.lib; {
-    description = "Geographic Objects for PostgreSQL";
-    homepage = http://postgis.refractions.net;
-    license = licenses.gpl2;
-    maintainers = [ maintainers.marcweber ];
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/development/libraries/postgis/default.nix b/pkgs/development/libraries/postgis/default.nix
index 582ebc05176..d201654fbb4 100644
--- a/pkgs/development/libraries/postgis/default.nix
+++ b/pkgs/development/libraries/postgis/default.nix
@@ -1,4 +1,5 @@
 { fetchurl
+, fetchpatch
 , stdenv
 , perl
 , libxml2
@@ -43,8 +44,8 @@
 
 
 let
-  version = "2.4.0";
-  sha256 = "02baa90f04da41e04b6c18eedfda53110c45ae943d4e65050f6d202f7de07d29";
+  version = "2.4.3";
+  sha256 = "1fg4pmla5m903m76ndjd8q5dkcykf67v1p4dcajmnr3bvg2p8lza";
 in stdenv.mkDerivation rec {
   name = "postgis-${version}";
 
@@ -53,9 +54,24 @@ in stdenv.mkDerivation rec {
     inherit sha256;
   };
 
+  patches = [
+    (fetchpatch {
+      url = "https://trac.osgeo.org/postgis/changeset/16417?format=diff&new=16417";
+      name = "json-c-0.13.patch";
+      sha256 = "1hk2fh4nsvq76ksi7z4shlgj7fik6ac3sjsb0khsypsjfhz7ic8z";
+      stripLen = 3;
+      extraPrefix = "";
+      excludes = [ "NEWS" ];
+    })
+  ];
+
   # don't pass these vars to the builder
   removeAttrs = ["sql_comments" "sql_srcs"];
 
+  preInstall = ''
+    mkdir -p $out/bin
+  '';
+
   # create aliases for all commands adding version information
   postInstall = ''
     sql_srcs=$(for sql in ${builtins.toString sql_srcs}; do echo -n "$(find $out -iname "$sql") "; done )
diff --git a/pkgs/development/libraries/postgis/pg_db_postgis_enable.sh b/pkgs/development/libraries/postgis/pg_db_postgis_enable.sh
deleted file mode 100644
index c7652e20d9f..00000000000
--- a/pkgs/development/libraries/postgis/pg_db_postgis_enable.sh
+++ /dev/null
@@ -1,38 +0,0 @@
-#!/bin/sh
-sql_files=(@sql_srcs@)
-sql_comments=@sql_comments@
-
-do_help(){ echo "$0 [--comments] db_name1 [db_name2 ..]"; }
-
-for arg in "$@"; do
-  case "$arg" in
-    -h|--help)
-      do_help; exit 0
-      ;;
-    --comments)
-      LOAD_COMMENTS=1
-    ;;
-    *)
-      dbs=(${dbs[@]} "$arg")
-    ;;
-  esac
-done
-
-PSQL(){
-  echo ">> loading $1"
-  psql -d "$db" -f $1
-}
-
-for db in ${dbs[@]}; do
-  createlang plpgsql "$db"
-
-  # mandatory
-  for sql in $sql_files; do
-    PSQL $sql
-  done
-
-  # optionally load some comments
-  if [ -n "$LOAD_COMMENTS" ]; then
-    PSQL $sql_comments
-  fi
-done
diff --git a/pkgs/development/libraries/postgis/pg_db_postgis_fix_or_load_sql_dump.sh b/pkgs/development/libraries/postgis/pg_db_postgis_fix_or_load_sql_dump.sh
deleted file mode 100644
index 6a98c5d24ca..00000000000
--- a/pkgs/development/libraries/postgis/pg_db_postgis_fix_or_load_sql_dump.sh
+++ /dev/null
@@ -1,52 +0,0 @@
-#!/bin/sh
-libName=@libName@
-
-# this is a quick and dirty implementation
-
-do_help(){
-  echo "$0 --str str in-file|- [out|-|psql:db]";
-  echo "in: - = STDIN or filename";
-  echo "out: - = STDIN or filename or psql:database_name" 
-  echo "         psql:database_name will load the dump into the database" 
-  echo "         if out is omitted in is used for out (same file)"
-  echo "--str: different replacement string. Eg for Ubuntu use: '/usr/lib/postgresql/8.3/lib/liblwgeom'";
-  echo "WARNING: A postgis dump is not meant to be distributed - it still may be useful :)"
-}
-
-if [ -z "$1" -o "$1" = --help -o "$1" = -h ]; then
-  do_help; exit 1
-fi
-
-tostr='$libdir/'"$libName"
-if [ "$1" == "--str" ]; then
-  to="$2"; shift 2
-fi
-
-i=$1
-o="${2:-$1}"
-
-cmd_in(){
-  case "$i" in
-    -) cat;;
-    *) cat "$i";;
-  esac
-}
-
-cmd_out(){
-  case "$o" in
-    -) cat;;  # stdout
-    psql:*) psql "${o:5}";; # pipe into psql
-    *)
-      t=`mktemp`; cat > "$t"; mv "$t" "$o"
-      ;;
-  esac
-}
-
-cmd_replace(){
-  contents=`cat`
-  # get wrong library path:
-  fromstr=$(echo "$contents" | head -n 50 | sed -n "s/.*AS '\([^']*\)'.*/\1/p" | head -n 1)
-  echo "$contents" | sed "s@AS '$fromstr@AS '$tostr@g"
-}
-
-cmd_in | cmd_replace | cmd_out
diff --git a/pkgs/development/libraries/protobuf/3.4.nix b/pkgs/development/libraries/protobuf/3.4.nix
index 75f1bb22c24..5a9034a56a8 100644
--- a/pkgs/development/libraries/protobuf/3.4.nix
+++ b/pkgs/development/libraries/protobuf/3.4.nix
@@ -1,6 +1,6 @@
 { callPackage, lib, ... }:
 
 lib.overrideDerivation (callPackage ./generic-v3.nix {
-  version = "3.4.0";
-  sha256 = "0385j54kgr71h0cxh5vqr81qs57ack2g2k9mcdbq188v4ckjacyx";
+  version = "3.4.1";
+  sha256 = "1lzxmbqlnmi34kymnf399azv86gmdbrf71xiad6wc24bzpkzqybb";
 }) (attrs: { NIX_CFLAGS_COMPILE = "-Wno-error"; })
diff --git a/pkgs/development/libraries/protobuf/3.5.nix b/pkgs/development/libraries/protobuf/3.5.nix
new file mode 100644
index 00000000000..db9cb6f0371
--- /dev/null
+++ b/pkgs/development/libraries/protobuf/3.5.nix
@@ -0,0 +1,6 @@
+{ callPackage, lib, ... }:
+
+lib.overrideDerivation (callPackage ./generic-v3.nix {
+  version = "3.5.1.1";
+  sha256 = "1h4xydr5j2zg1888ncn8a1jvqq8fgpgckrmjg6lqzy9jpkvqvfdk";
+}) (attrs: { NIX_CFLAGS_COMPILE = "-Wno-error"; })
diff --git a/pkgs/development/libraries/ptex/default.nix b/pkgs/development/libraries/ptex/default.nix
index d40ae856495..f300a571b0c 100644
--- a/pkgs/development/libraries/ptex/default.nix
+++ b/pkgs/development/libraries/ptex/default.nix
@@ -3,13 +3,13 @@
 stdenv.mkDerivation rec
 {
   name = "ptex-${version}";
-  version = "2.1.28";
+  version = "2.1.33";
 
   src = fetchFromGitHub {
     owner = "wdas";
     repo = "ptex";
     rev = "v${version}";
-    sha256 = "1h6gb3mpis4m6ph7h9q764w50f9jrar3jz2ja76rn5czy6wn318x";
+    sha256 = "15ijjq3w7hwgm4mqah0x4jzjy3v2nnmmv28lbqzmxzcxjgh4sjkn";
   };
 
   outputs = [ "bin" "dev" "out" "lib" ];
diff --git a/pkgs/development/libraries/ptlib/default.nix b/pkgs/development/libraries/ptlib/default.nix
index f980a14aa41..ae60a6f69d6 100644
--- a/pkgs/development/libraries/ptlib/default.nix
+++ b/pkgs/development/libraries/ptlib/default.nix
@@ -24,12 +24,16 @@ stdenv.mkDerivation rec {
     (fetchpatch { url = http://sources.debian.net/data/main/p/ptlib/2.10.11~dfsg-2.1/debian/patches/no-sslv3;
       sha256 = "172s1dnnrl54p9sf1nl7s475sm78rpw3p8jxi0pdx6izzl8hcdr0";
     })
-    (fetchpatch { url = http://sources.debian.net/data/main/p/ptlib/2.10.11~dfsg-2.1/debian/patches/gcc-5_support;
-      sha256 = "0pf2yj0150r4cnc6nv65mclrm3dillqh1xjk7m6gsjnk9b96i5d4";
-    })
     ./ptlib-2.10.11-glibc-2.26.patch
   ];
 
+  # fix typedef clashes with unixODBC>=2.3.5
+  postPatch = ''
+    substituteInPlace include/ptlib/unix/ptlib/contain.h \
+      --replace "typedef uintptr_t    UINT" "typedef unsigned int    UINT" \
+      --replace "typedef wchar_t                 WCHAR" "typedef unsigned short          WCHAR"
+  '';
+
   meta = with stdenv.lib; {
     description = "Portable Tools from OPAL VoIP";
     maintainers = [ maintainers.raskin ];
diff --git a/pkgs/development/libraries/pugixml/default.nix b/pkgs/development/libraries/pugixml/default.nix
index dd33f63c913..1730f9b733c 100644
--- a/pkgs/development/libraries/pugixml/default.nix
+++ b/pkgs/development/libraries/pugixml/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "pugixml-${version}";
-  version = "1.8.1";
+  version = "1.9";
 
   src = fetchurl {
     url = "https://github.com/zeux/pugixml/releases/download/v${version}/${name}.tar.gz";
-    sha256 = "0fcgggry5x5bn0zhb09ij9hb0p45nb0sv0d9fw3cm1cf62hp9n80";
+    sha256 = "19nv3zhik3djp4blc4vrjwrl8dfhzmal8b21sq7y907nhddx6mni";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/qca-qt5/default.nix b/pkgs/development/libraries/qca-qt5/default.nix
index ee27d89f563..6e190a656f6 100644
--- a/pkgs/development/libraries/qca-qt5/default.nix
+++ b/pkgs/development/libraries/qca-qt5/default.nix
@@ -11,6 +11,10 @@ stdenv.mkDerivation rec {
   buildInputs = [ openssl qtbase ];
   nativeBuildInputs = [ cmake pkgconfig ];
 
+  # Without this patch cmake fails with a "No known features for CXX compiler"
+  # error on darwin
+  patches = stdenv.lib.optional stdenv.isDarwin ./move-project.patch ;
+
   # tells CMake to use this CA bundle file if it is accessible
   preConfigure = ''export QC_CERTSTORE_PATH=/etc/ssl/certs/ca-certificates.crt'';
 
@@ -22,6 +26,6 @@ stdenv.mkDerivation rec {
     homepage = http://delta.affinix.com/qca;
     maintainers = with maintainers; [ ttuegel ];
     license = licenses.lgpl21Plus;
-    platforms = with platforms; linux;
+    platforms = with platforms; unix;
   };
 }
diff --git a/pkgs/development/libraries/qca-qt5/move-project.patch b/pkgs/development/libraries/qca-qt5/move-project.patch
new file mode 100644
index 00000000000..2a109a3aa3c
--- /dev/null
+++ b/pkgs/development/libraries/qca-qt5/move-project.patch
@@ -0,0 +1,19 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 453fd8a..5f6ee11 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -6,13 +6,13 @@ if(NOT CMAKE_INSTALL_PREFIX)
+   unset(CMAKE_INSTALL_PREFIX CACHE)
+ endif(NOT CMAKE_INSTALL_PREFIX)
+
+-project(qca)
+
+ if(NOT APPLE)
+   cmake_minimum_required(VERSION 2.8.12)
+ else()
+   cmake_minimum_required(VERSION 3.0)
+ endif()
++project(qca)
+
+ set(QCA_LIB_MAJOR_VERSION "2")
+ set(QCA_LIB_MINOR_VERSION "1")
diff --git a/pkgs/development/libraries/qca2/default.nix b/pkgs/development/libraries/qca2/default.nix
index 4976399a66a..568e7ce07b3 100644
--- a/pkgs/development/libraries/qca2/default.nix
+++ b/pkgs/development/libraries/qca2/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, cmake, pkgconfig, qt }:
+{ stdenv, fetchurl, cmake, pkgconfig, qt, darwin }:
 
 stdenv.mkDerivation rec {
   name = "qca-${version}";
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ cmake pkgconfig ];
-  buildInputs = [ qt ];
+  buildInputs = [ (stdenv.lib.optional stdenv.isDarwin darwin.apple_sdk.frameworks.Security) qt ];
 
   enableParallelBuilding = true;
 
@@ -25,6 +25,6 @@ stdenv.mkDerivation rec {
     license = "LGPL";
     homepage = http://delta.affinix.com/qca;
     maintainers = [ maintainers.sander ];
-    platforms = platforms.linux;
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/qmlbox2d/default.nix b/pkgs/development/libraries/qmlbox2d/default.nix
new file mode 100644
index 00000000000..630f606c2e5
--- /dev/null
+++ b/pkgs/development/libraries/qmlbox2d/default.nix
@@ -0,0 +1,31 @@
+{stdenv, qtdeclarative, fetchFromGitHub, qmake }:
+stdenv.mkDerivation rec {
+  name = "qml-box2d-2018-03-16";
+  src = fetchFromGitHub {
+    owner = "qml-box2d";
+    repo = "qml-box2d";
+    sha256 = "1fbsvv28b4r0szcv8bk5gxpf8v534jp2axyfp438384sy757wsq2";
+    rev = "21e57f1";
+  };
+
+  enableParallelBuilding = true;
+  nativeBuildInputs = [ qmake ];
+
+  buildInputs = [ qtdeclarative ];
+
+  patchPhase = ''
+    substituteInPlace box2d.pro \
+      --replace '$$[QT_INSTALL_QML]' "/$qtQmlPrefix/"
+    qmakeFlags="$qmakeFlags PREFIXSHORTCUT=$out"
+    '';
+
+  installFlags = [ "INSTALL_ROOT=$(out)" ];
+
+  meta = with stdenv.lib; {
+    description = "A QML plugin for Box2D engine";
+    homepage = "https://github.com/qml-box2d/qml-box2d";
+    maintainers = [ maintainers.guibou ];
+    platforms = platforms.linux;
+    license = licenses.zlib;
+  };
+}
diff --git a/pkgs/development/libraries/qpdf/default.nix b/pkgs/development/libraries/qpdf/default.nix
index 42c4b028aa8..00ce5133048 100644
--- a/pkgs/development/libraries/qpdf/default.nix
+++ b/pkgs/development/libraries/qpdf/default.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchurl, libjpeg, zlib, perl }:
 
-let version = "7.1.1";
+let version = "8.0.2";
 in
 stdenv.mkDerivation rec {
   name = "qpdf-${version}";
 
   src = fetchurl {
     url = "mirror://sourceforge/qpdf/qpdf/${version}/${name}.tar.gz";
-    sha256 = "1ypjxm74dhn9c4mj027zzkh0z4kpw9xiqwh3pjmmghm502hby3ca";
+    sha256 = "1hf8jfjar8p7v288d7ccmr8w171mv9kb86b6hq1nk58mnlq1g7mh";
   };
 
   nativeBuildInputs = [ perl ];
diff --git a/pkgs/development/libraries/qscintilla/default.nix b/pkgs/development/libraries/qscintilla/default.nix
index f5c5a667418..bc3b4441305 100644
--- a/pkgs/development/libraries/qscintilla/default.nix
+++ b/pkgs/development/libraries/qscintilla/default.nix
@@ -1,8 +1,13 @@
-{ stdenv, fetchurl, unzip
+{ stdenv, lib, fetchurl, unzip
 , qt4 ? null, qmake4Hook ? null
-, withQt5 ? false, qtbase ? null, qmake ? null
+, withQt5 ? false, qtbase ? null, qtmacextras ? null, qmake ? null
 }:
 
+# Fix Xcode 8 compilation problem
+let xcodePatch =
+  fetchurl { url = "https://raw.githubusercontent.com/Homebrew/formula-patches/a651d71/qscintilla2/xcode-8.patch";
+             sha256 = "1a88309fdfd421f4458550b710a562c622d72d6e6fdd697107e4a43161d69bc9"; };
+in
 stdenv.mkDerivation rec {
   pname = "qscintilla";
   version = "2.9.4";
@@ -14,29 +19,28 @@ stdenv.mkDerivation rec {
     sha256 = "04678skipydx68zf52vznsfmll2v9aahr66g50lcqbr6xsmgr1yi";
   };
 
-  buildInputs = if withQt5 then [ qtbase ] else [ qt4 ];
-  nativeBuildInputs = [ unzip ] ++ (if withQt5 then [ qmake ] else [ qmake4Hook ]);
+  buildInputs = [ (if withQt5 then qtbase else qt4) ]
+    ++ lib.optional (withQt5 && stdenv.isDarwin) qtmacextras;
+  nativeBuildInputs = [ unzip ]
+    ++ (if withQt5 then [ qmake ] else [ qmake4Hook ]);
+
+
+  patches = lib.optional (stdenv.isDarwin && withQt5) [ xcodePatch ];
 
   enableParallelBuilding = true;
 
   preConfigure = ''
     cd Qt4Qt5
-    ${if withQt5
-      then ''
-    sed -i -e "s,\$\$\\[QT_INSTALL_LIBS\\],$out/lib," \
-           -e "s,\$\$\\[QT_INSTALL_HEADERS\\],$out/include/," \
-           -e "s,\$\$\\[QT_INSTALL_TRANSLATIONS\\],$out/translations," \
-           -e "s,\$\$\\[QT_HOST_DATA\\]/mkspecs,$out/mkspecs," \
-           -e "s,\$\$\\[QT_INSTALL_DATA\\]/mkspecs,$out/mkspecs," \
-           -e "s,\$\$\\[QT_INSTALL_DATA\\],$out/share," \
-           qscintilla.pro
-    ''
-      else ''
-    sed -i -e "s,\$\$\\[QT_INSTALL_LIBS\\],$out/lib," \
-           -e "s,\$\$\\[QT_INSTALL_HEADERS\\],$out/include/," \
-           -e "s,\$\$\\[QT_INSTALL_TRANSLATIONS\\],$out/share/qt/translations," \
-           -e "s,\$\$\\[QT_INSTALL_DATA\\],$out/share/qt," \
-           qscintilla.pro
+    sed -i qscintilla.pro \
+      -e "s,\$\$\\[QT_INSTALL_LIBS\\],$out/lib," \
+      -e "s,\$\$\\[QT_INSTALL_HEADERS\\],$out/include/," \
+      -e "s,\$\$\\[QT_INSTALL_TRANSLATIONS\\],$out/translations," \
+    ${if withQt5 then ''
+      -e "s,\$\$\\[QT_HOST_DATA\\]/mkspecs,$out/mkspecs," \
+      -e "s,\$\$\\[QT_INSTALL_DATA\\]/mkspecs,$out/mkspecs," \
+      -e "s,\$\$\\[QT_INSTALL_DATA\\],$out/share,"
+    '' else ''
+      -e "s,\$\$\\[QT_INSTALL_DATA\\],$out/share/qt,"
     ''}
   '';
 
diff --git a/pkgs/development/libraries/qt-4.x/4.8/default.nix b/pkgs/development/libraries/qt-4.x/4.8/default.nix
index bafe3664735..4227575acb0 100644
--- a/pkgs/development/libraries/qt-4.x/4.8/default.nix
+++ b/pkgs/development/libraries/qt-4.x/4.8/default.nix
@@ -76,12 +76,11 @@ stdenv.mkDerivation rec {
         icu = icu.out;
         libXfixes = libXfixes.out;
         glibc = stdenv.cc.libc.out;
-        openglDriver = if libGLSupported then libGL.driverLink else "/no-such-path";
       })
       (fetchpatch {
         name = "fix-medium-font.patch";
-        url = "http://anonscm.debian.org/cgit/pkg-kde/qt/qt4-x11.git/plain/debian/patches/"
-          + "kubuntu_39_fix_medium_font.diff?id=21b342d71c19e6d68b649947f913410fe6129ea4";
+        url = "https://salsa.debian.org/qt-kde-team/qt/qt4-x11/raw/"
+          + "21b342d71c19e6d68b649947f913410fe6129ea4/debian/patches/kubuntu_39_fix_medium_font.diff";
         sha256 = "0bli44chn03c2y70w1n8l7ss4ya0b40jqqav8yxrykayi01yf95j";
       })
       (fetchpatch {
@@ -193,6 +192,8 @@ stdenv.mkDerivation rec {
     sed -i 's/^\(LIBS[[:space:]]*=.*$\)/\1 -lobjc/' ./src/corelib/Makefile.Release
   '';
 
+  doCheck = false; # qwebframe test fails with fontconfig errors
+
   postInstall = ''
     rm -rf $out/tests
   '';
diff --git a/pkgs/development/libraries/qt-4.x/4.8/dlopen-absolute-paths.diff b/pkgs/development/libraries/qt-4.x/4.8/dlopen-absolute-paths.diff
index 0f5cf2b79c9..4c64e9e26e3 100644
--- a/pkgs/development/libraries/qt-4.x/4.8/dlopen-absolute-paths.diff
+++ b/pkgs/development/libraries/qt-4.x/4.8/dlopen-absolute-paths.diff
@@ -59,32 +59,6 @@ index 6b42d1e..f88b628 100644
      lib.setLoadHints(QLibrary::ImprovedSearchHeuristics);
      if (!lib.load())
          return;
-diff --git a/src/plugins/platforms/xcb/qglxintegration.cpp b/src/plugins/platforms/xcb/qglxintegration.cpp
-index 229d6f9..c122bf3 100644
---- a/src/plugins/platforms/xcb/qglxintegration.cpp
-+++ b/src/plugins/platforms/xcb/qglxintegration.cpp
-@@ -136,7 +136,7 @@ void* QGLXContext::getProcAddress(const QString& procName)
-             {
-                 extern const QString qt_gl_library_name();
- //                QLibrary lib(qt_gl_library_name());
--                QLibrary lib(QLatin1String("GL"));
-+                QLibrary lib(QLatin1String("@openglDriver@/lib/libGL"));
-                 glXGetProcAddressARB = (qt_glXGetProcAddressARB) lib.resolve("glXGetProcAddressARB");
-             }
-         }
-diff --git a/src/plugins/platforms/xlib/qglxintegration.cpp b/src/plugins/platforms/xlib/qglxintegration.cpp
-index 2467247..a2441d4 100644
---- a/src/plugins/platforms/xlib/qglxintegration.cpp
-+++ b/src/plugins/platforms/xlib/qglxintegration.cpp
-@@ -137,7 +137,7 @@ void* QGLXContext::getProcAddress(const QString& procName)
-             {
-                 extern const QString qt_gl_library_name();
- //                QLibrary lib(qt_gl_library_name());
--                QLibrary lib(QLatin1String("GL"));
-+                QLibrary lib(QLatin1String("@openglDriver@/lib/libGL"));
-                 glXGetProcAddressARB = (qt_glXGetProcAddressARB) lib.resolve("glXGetProcAddressARB");
-             }
-         }
 diff --git a/src/plugins/platforms/xlib/qxlibstatic.cpp b/src/plugins/platforms/xlib/qxlibstatic.cpp
 index f8f3d69..d63c5bc 100644
 --- a/src/plugins/platforms/xlib/qxlibstatic.cpp
diff --git a/pkgs/development/libraries/qt-5/5.10/default.nix b/pkgs/development/libraries/qt-5/5.10/default.nix
index 2ff9a46bc77..3969e01a2b9 100644
--- a/pkgs/development/libraries/qt-5/5.10/default.nix
+++ b/pkgs/development/libraries/qt-5/5.10/default.nix
@@ -37,7 +37,7 @@ let
   srcs = import ./srcs.nix { inherit fetchurl; inherit mirror; };
 
   patches = {
-    qtbase = [ ./qtbase.patch ] ++ optional stdenv.isDarwin ./qtbase-darwin.patch;
+    qtbase = [ ./qtbase.patch ./qtbase-darwin.patch ];
     qtdeclarative = [ ./qtdeclarative.patch ];
     qtscript = [ ./qtscript.patch ];
     qtserialport = [ ./qtserialport.patch ];
@@ -88,6 +88,7 @@ let
       qtscript = callPackage ../modules/qtscript.nix {};
       qtsensors = callPackage ../modules/qtsensors.nix {};
       qtserialport = callPackage ../modules/qtserialport.nix {};
+      qtspeech = callPackage ../modules/qtspeech.nix {};
       qtsvg = callPackage ../modules/qtsvg.nix {};
       qttools = callPackage ../modules/qttools.nix {};
       qttranslations = callPackage ../modules/qttranslations.nix {};
diff --git a/pkgs/development/libraries/qt-5/mkDerivation.nix b/pkgs/development/libraries/qt-5/mkDerivation.nix
index 739c9b4a160..53949ddd492 100644
--- a/pkgs/development/libraries/qt-5/mkDerivation.nix
+++ b/pkgs/development/libraries/qt-5/mkDerivation.nix
@@ -9,14 +9,16 @@ args:
 let
   args_ = {
 
-    qmakeFlags =
-      (args.qmakeFlags or [])
-      ++ [ ("CONFIG+=" + (if debug then "debug" else "release")) ];
+    qmakeFlags = [ ("CONFIG+=" + (if debug then "debug" else "release")) ]
+              ++ (args.qmakeFlags or []);
 
     NIX_CFLAGS_COMPILE =
       optional (!debug) "-DQT_NO_DEBUG"
       ++ lib.toList (args.NIX_CFLAGS_COMPILE or []);
 
+    configureFlags = [ "-no-framework" ]
+                  ++ (args.configureFlags or []);
+
     cmakeFlags =
       (args.cmakeFlags or [])
       ++ [
diff --git a/pkgs/development/libraries/qt-5/modules/qtbase.nix b/pkgs/development/libraries/qt-5/modules/qtbase.nix
index c6473ff188a..8887e05704d 100644
--- a/pkgs/development/libraries/qt-5/modules/qtbase.nix
+++ b/pkgs/development/libraries/qt-5/modules/qtbase.nix
@@ -10,7 +10,7 @@
   dbus, fontconfig, freetype, glib, harfbuzz, icu, libX11, libXcomposite,
   libXcursor, libXext, libXi, libXrender, libinput, libjpeg, libpng, libtiff,
   libxcb, libxkbcommon, libxml2, libxslt, openssl, pcre16, pcre2, sqlite, udev,
-  xcbutil, xcbutilimage, xcbutilkeysyms, xcbutilrenderutil, xcbutilwm, xlibs,
+  xcbutil, xcbutilimage, xcbutilkeysyms, xcbutilrenderutil, xcbutilwm, xorg,
   zlib,
 
   # optional dependencies
diff --git a/pkgs/development/libraries/qt-5/modules/qtlocation.nix b/pkgs/development/libraries/qt-5/modules/qtlocation.nix
index 008583ebaf9..e8952e29cba 100644
--- a/pkgs/development/libraries/qt-5/modules/qtlocation.nix
+++ b/pkgs/development/libraries/qt-5/modules/qtlocation.nix
@@ -1,4 +1,4 @@
-{ qtModule, qtbase, qtmultimedia }:
+{ stdenv, qtModule, qtbase, qtmultimedia }:
 
 qtModule {
   name = "qtlocation";
@@ -6,4 +6,11 @@ qtModule {
   outputs = [ "bin" "out" "dev" ];
   # Linking with -lclipper fails with parallel build enabled
   enableParallelBuilding = false;
+  qmakeFlags = stdenv.lib.optional stdenv.isDarwin [
+     # boost uses std::auto_ptr which has been disabled in clang with libcxx
+     # This flag re-enables this feature
+     # https://libcxx.llvm.org/docs/UsingLibcxx.html#c-17-specific-configuration-macros
+     "QMAKE_CXXFLAGS+=-D_LIBCPP_ENABLE_CXX17_REMOVED_AUTO_PTR"
+  ];
+
 }
diff --git a/pkgs/development/libraries/qt-5/modules/qtspeech.nix b/pkgs/development/libraries/qt-5/modules/qtspeech.nix
new file mode 100644
index 00000000000..7b4b19ccab5
--- /dev/null
+++ b/pkgs/development/libraries/qt-5/modules/qtspeech.nix
@@ -0,0 +1,7 @@
+{ qtModule }:
+
+qtModule {
+  name = "qtspeech";
+  qtInputs = [ ];
+  outputs = [ "out" "dev" "bin" ];
+}
diff --git a/pkgs/development/libraries/qt-5/modules/qtwebengine.nix b/pkgs/development/libraries/qt-5/modules/qtwebengine.nix
index 4be72b08784..e798d529ce1 100644
--- a/pkgs/development/libraries/qt-5/modules/qtwebengine.nix
+++ b/pkgs/development/libraries/qt-5/modules/qtwebengine.nix
@@ -3,17 +3,16 @@
 
 , bison, coreutils, flex, git, gperf, ninja, pkgconfig, python2, which
 
-, xlibs, libXcursor, libXScrnSaver, libXrandr, libXtst
-, fontconfig, freetype, harfbuzz, icu, dbus
+, xorg, libXcursor, libXScrnSaver, libXrandr, libXtst
+, fontconfig, freetype, harfbuzz, icu, dbus, libdrm
 , zlib, minizip, libjpeg, libpng, libtiff, libwebp, libopus
 , jsoncpp, protobuf, libvpx, srtp, snappy, nss, libevent
 , alsaLib
 , libcap
 , pciutils
 , systemd
-
 , enableProprietaryCodecs ? true
-
+, gn, darwin, openbsm
 , lib, stdenv # lib.optional, needsPax
 }:
 
@@ -25,7 +24,7 @@ qtModule {
   name = "qtwebengine";
   qtInputs = [ qtdeclarative qtquickcontrols qtlocation qtwebchannel ];
   nativeBuildInputs = [
-    bison coreutils flex git gperf ninja pkgconfig python2 which
+    bison coreutils flex git gperf ninja pkgconfig python2 which gn
   ];
   doCheck = true;
   outputs = [ "bin" "dev" "out" ];
@@ -61,21 +60,60 @@ qtModule {
 
       sed -i -e '/libpci_loader.*Load/s!"\(libpci\.so\)!"${pciutils}/lib/\1!' \
         src/3rdparty/chromium/gpu/config/gpu_info_collector_linux.cc
+    ''
+    + optionalString stdenv.isDarwin ''
+      # Remove annoying xcode check
+      substituteInPlace mkspecs/features/platform.prf \
+        --replace "lessThan(QMAKE_XCODE_VERSION, 7.3)" false
+      substituteInPlace src/core/config/mac_osx.pri \
+        --replace /usr ${stdenv.cc} \
+        --replace "isEmpty(QMAKE_MAC_SDK_VERSION)" false
+
+    # FIXME Needed with old Apple SDKs
+    # Abandon all hope ye who try to make sense of this.
+    substituteInPlace src/3rdparty/chromium/base/mac/foundation_util.mm \
+      --replace "NSArray<NSString*>*" "NSArray*"
+    substituteInPlace src/3rdparty/chromium/base/mac/sdk_forward_declarations.h \
+      --replace "NSDictionary<VNImageOption, id>*" "NSDictionary*" \
+      --replace "NSArray<VNRequest*>*" "NSArray*" \
+      --replace "typedef NSString* VNImageOption NS_STRING_ENUM" "typedef NSString* VNImageOption"
+
+    cat <<EOF > src/3rdparty/chromium/build/mac/find_sdk.py
+#!/usr/bin/env python
+print("10.10.0")
+print("")
+EOF
+
+    cat <<EOF > src/3rdparty/chromium/build/config/mac/sdk_info.py
+#!/usr/bin/env python
+print('xcode_version="9.1"')
+print('xcode_version_int=9')
+print('xcode_build="9B55"')
+print('machine_os_build="17E199"')
+print('sdk_path=""')
+print('sdk_version="10.10"')
+print('sdk_platform_path=""')
+print('sdk_build="17B41"')
+EOF
+
+    # Apple has some secret stuff they don't share with OpenBSM
+    substituteInPlace src/3rdparty/chromium/base/mac/mach_port_broker.mm \
+      --replace "audit_token_to_pid(msg.trailer.msgh_audit)" "msg.trailer.msgh_audit.val[5]"
+    substituteInPlace src/3rdparty/chromium/sandbox/mac/bootstrap_sandbox.cc \
+      --replace "audit_token_to_pid(msg.trailer.msgh_audit)" "msg.trailer.msgh_audit.val[5]"
     '';
 
+  NIX_CFLAGS_COMPILE = lib.optionalString stdenv.isDarwin "-DMAC_OS_X_VERSION_MAX_ALLOWED=MAC_OS_X_VERSION_10_10 -DMAC_OS_X_VERSION_MIN_REQUIRED=MAC_OS_X_VERSION_10_10";
+
   preConfigure = ''
-    export MAKEFLAGS=-j$NIX_BUILD_CORES
+    export NINJAFLAGS=-j$NIX_BUILD_CORES
 
     if [ -d "$PWD/tools/qmake" ]; then
         QMAKEPATH="$PWD/tools/qmake''${QMAKEPATH:+:}$QMAKEPATH"
     fi
- '';
+   '';
 
-  qmakeFlags =
-    [
-      # Use system Ninja because bootstrapping it is fragile
-      "WEBENGINE_CONFIG+=use_system_ninja"
-    ] ++ optional enableProprietaryCodecs "WEBENGINE_CONFIG+=use_proprietary_codecs";
+  qmakeFlags = optional enableProprietaryCodecs "-- -proprietary-codecs";
 
   propagatedBuildInputs = [
     # Image formats
@@ -89,9 +127,10 @@ qtModule {
 
     # Text rendering
     harfbuzz icu
-  ]
-  ++ optionals (!stdenv.isDarwin) [
-    dbus zlib minizip snappy nss protobuf jsoncpp libevent
+
+    libevent
+  ] ++ optionals (!stdenv.isDarwin) [
+    dbus zlib minizip snappy nss protobuf jsoncpp
 
     # Audio formats
     alsaLib
@@ -103,19 +142,46 @@ qtModule {
     pciutils
 
     # X11 libs
-    xlibs.xrandr libXScrnSaver libXcursor libXrandr xlibs.libpciaccess libXtst
-    xlibs.libXcomposite
-  ];
+    xorg.xrandr libXScrnSaver libXcursor libXrandr xorg.libpciaccess libXtst
+    xorg.libXcomposite xorg.libXdamage libdrm
+  ]
+
+  # FIXME These dependencies shouldn't be needed but can't find a way
+  # around it. Chromium pulls this in while bootstrapping GN.
+  ++ lib.optionals stdenv.isDarwin (with darwin; with apple_sdk.frameworks; [
+    libobjc
+    cctools
+
+    # frameworks
+    ApplicationServices
+    Foundation
+    AppKit
+    ImageCaptureCore
+    CoreBluetooth
+    IOBluetooth
+    CoreWLAN
+    Quartz
+    Cocoa
+
+    openbsm
+    libunwind
+  ]);
 
   dontUseNinjaBuild = true;
   dontUseNinjaInstall = true;
 
-  postInstall = ''
+  postInstall = lib.optionalString stdenv.isLinux ''
     cat > $out/libexec/qt.conf <<EOF
     [Paths]
     Prefix = ..
     EOF
-
     paxmark m $out/libexec/QtWebEngineProcess
   '';
+
+  meta = with lib; {
+    description = "A web engine based on the Chromium web browser";
+    maintainers = with maintainers; [ matthewbauer ];
+    platforms = platforms.unix;
+  };
+
 }
diff --git a/pkgs/development/libraries/qt-5/modules/qtwebkit.nix b/pkgs/development/libraries/qt-5/modules/qtwebkit.nix
index 6834b7ce87b..d73bc370f99 100644
--- a/pkgs/development/libraries/qt-5/modules/qtwebkit.nix
+++ b/pkgs/development/libraries/qt-5/modules/qtwebkit.nix
@@ -28,10 +28,15 @@ qtModule {
   preConfigure = ''
     QMAKEPATH="$PWD/Tools/qmake''${QMAKEPATH:+:}$QMAKEPATH"
     fixQtBuiltinPaths . '*.pr?'
+    # Fix hydra's "Log limit exceeded"
+    export qmakeFlags="$qmakeFlags CONFIG+=silent"
   '';
 
   NIX_CFLAGS_COMPILE =
-    [ "-Wno-expansion-to-defined" ] # with gcc7 this warning blows the log over Hydra's limit
+    # with gcc7 this warning blows the log over Hydra's limit
+    [ "-Wno-expansion-to-defined" ]
+    # with clang this warning blows the log over Hydra's limit
+    ++ optional stdenv.isDarwin "-Wno-inconsistent-missing-override"
     ++ optionals flashplayerFix
       [
         ''-DNIXPKGS_LIBGTK2="${getLib gtk2}/lib/libgtk-x11-2.0"''
diff --git a/pkgs/development/libraries/qtkeychain/default.nix b/pkgs/development/libraries/qtkeychain/default.nix
index ef0f5d4014e..5baeb76820a 100644
--- a/pkgs/development/libraries/qtkeychain/default.nix
+++ b/pkgs/development/libraries/qtkeychain/default.nix
@@ -1,31 +1,43 @@
 { stdenv, fetchFromGitHub, cmake, qt4 ? null
 , withQt5 ? false, qtbase ? null, qttools ? null
+, darwin ? null
 }:
 
 assert withQt5 -> qtbase != null;
 assert withQt5 -> qttools != null;
+assert stdenv.isDarwin -> darwin != null;
 
 stdenv.mkDerivation rec {
   name = "qtkeychain-${if withQt5 then "qt5" else "qt4"}-${version}";
-  version = "0.7.0";
+  version = "0.8.0";            # verify after nix-build with `grep -R "set(PACKAGE_VERSION " result/`
 
   src = fetchFromGitHub {
     owner = "frankosterfeld";
     repo = "qtkeychain";
     rev = "v${version}";
-    sha256 = "04v6ymkw7qd1pf9lwijgqrl89w2hhsnqgz7dm4cdrh8i8dffpn52";
+    sha256 = "1r6qp9l2lp5jpc6ciklbg1swvvzcpc37rg9py46hk0wxy6klnm0b"; # v0.8.0
   };
 
-  cmakeFlags = [ "-DQT_TRANSLATIONS_DIR=share/qt/translations" ];
+  cmakeFlags = [ "-DQT_TRANSLATIONS_DIR=share/qt/translations" ]
+    ++ stdenv.lib.optional stdenv.isDarwin [
+       # correctly detect the compiler
+       # for details see cmake --help-policy CMP0025
+       "-DCMAKE_POLICY_DEFAULT_CMP0025=NEW"
+       ]
+   ;
 
   nativeBuildInputs = [ cmake ];
 
-  buildInputs = if withQt5 then [ qtbase qttools ] else [ qt4 ];
+  buildInputs = if withQt5 then [ qtbase qttools ] else [ qt4 ]
+    ++ stdenv.lib.optional stdenv.isDarwin (with darwin.apple_sdk.frameworks; [
+         CoreFoundation Security
+    ])
+  ;
 
   meta = {
     description = "Platform-independent Qt API for storing passwords securely";
     homepage = https://github.com/frankosterfeld/qtkeychain;
     license = stdenv.lib.licenses.bsd3;
-    platforms = stdenv.lib.platforms.linux;
+    platforms = stdenv.lib.platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/qtstyleplugin-kvantum/default.nix b/pkgs/development/libraries/qtstyleplugin-kvantum/default.nix
index 5085d9bf5ef..8667f272cf7 100644
--- a/pkgs/development/libraries/qtstyleplugin-kvantum/default.nix
+++ b/pkgs/development/libraries/qtstyleplugin-kvantum/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "qtstyleplugin-kvantum-${version}";
-  version = "0.10.4";
+  version = "0.10.6";
 
   src = fetchFromGitHub {
     owner = "tsujan";
     repo = "Kvantum";
-    rev = "0527bb03f2252269fd382e11181a34ca72c96b4b";
-    sha256 = "0ky44s1fgqxraywagx1mv07yz76ppgiz3prq447db78wkwqg2d8p";
+    rev = "a6daa1a6df3c5d4abc7ea39ef7028ddea2addbf6";
+    sha256 = "1zns4x95h0ydiwx8yw0bmyg4lc2sy7annmdrg66sx753x3177zxp";
   };
 
   nativeBuildInputs = [ qmake qttools ];
@@ -16,15 +16,16 @@ stdenv.mkDerivation rec {
 
   postUnpack = "sourceRoot=\${sourceRoot}/Kvantum";
 
-  postInstall= ''
-    mkdir -p $out/$qtPluginPrefix/styles
-    mv $NIX_QT5_TMP/$qtPluginPrefix/styles/libkvantum.so $out/$qtPluginPrefix/styles/libkvantum.so
+  postPatch = ''
+    # Fix plugin dir
+    substituteInPlace style/style.pro \
+      --replace "\$\$[QT_INSTALL_PLUGINS]" "$out/$qtPluginPrefix"
   '';
 
   meta = with stdenv.lib; {
     description = "SVG-based Qt5 theme engine plus a config tool and extra themes";
     homepage = "https://github.com/tsujan/Kvantum";
-    license = licenses.gpl2;
+    license = licenses.gpl3;
     platforms = platforms.linux;
     maintainers = [ maintainers.bugworm ];
   };
diff --git a/pkgs/development/libraries/quazip/default.nix b/pkgs/development/libraries/quazip/default.nix
index 4379f5cf667..8d096e18f08 100644
--- a/pkgs/development/libraries/quazip/default.nix
+++ b/pkgs/development/libraries/quazip/default.nix
@@ -1,11 +1,11 @@
 { fetchurl, stdenv, zip, zlib, qtbase, qmake }:
 
 stdenv.mkDerivation rec {
-  name = "quazip-0.7.1";
+  name = "quazip-0.7.3";
 
   src = fetchurl {
     url = "mirror://sourceforge/quazip/${name}.tar.gz";
-    sha256 = "1pijy6zn8kdx9m6wrckid24vkgp250hklbpmgrpixiam6l889jbq";
+    sha256 = "1db9w8ax1ki0p67a47h4cnbwfgi2di4y3k9nc3a610kffiag7m1a";
   };
 
   preConfigure = "cd quazip";
diff --git a/pkgs/development/libraries/qwt/6.nix b/pkgs/development/libraries/qwt/6.nix
index 314ab0f9e61..6e0fa53aa82 100644
--- a/pkgs/development/libraries/qwt/6.nix
+++ b/pkgs/development/libraries/qwt/6.nix
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
     homepage = http://qwt.sourceforge.net/;
     # LGPL 2.1 plus a few exceptions (more liberal)
     license = stdenv.lib.licenses.qwt;
-    platforms = platforms.linux;
+    platforms = platforms.unix;
     maintainers = [ maintainers.bjornfor ];
     branch = "6";
   };
diff --git a/pkgs/development/libraries/qwt/default.nix b/pkgs/development/libraries/qwt/default.nix
index da5769e92cd..f900de5e578 100644
--- a/pkgs/development/libraries/qwt/default.nix
+++ b/pkgs/development/libraries/qwt/default.nix
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
     homepage = http://qwt.sourceforge.net/;
     # LGPL 2.1 plus a few exceptions (more liberal)
     license = stdenv.lib.licenses.qwt;
-    platforms = platforms.linux;
+    platforms = platforms.unix;
     maintainers = [ maintainers.bjornfor ];
   };
 }
diff --git a/pkgs/development/libraries/rabbitmq-c/default.nix b/pkgs/development/libraries/rabbitmq-c/default.nix
index 13c0198ba50..2a0125de01f 100644
--- a/pkgs/development/libraries/rabbitmq-c/default.nix
+++ b/pkgs/development/libraries/rabbitmq-c/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "rabbitmq-c-${version}";
-  version = "0.8.0";
+  version = "0.9.0";
 
   src = fetchFromGitHub {
     owner = "alanxz";
     repo = "rabbitmq-c";
     rev = "v${version}";
-    sha256 = "0vjh1q3hyzrq1iiddy28vvwpwwn4px00mjc2hqp4zgfpis2xlqbj";
+    sha256 = "1mhzxyh9pmpxjjbyy8hd34gm39sxf73r1ldk8zjfsfbs26ggrppz";
   };
 
   buildInputs = [ cmake openssl popt xmlto ];
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
     description = "RabbitMQ C AMQP client library";
     homepage = https://github.com/alanxz/rabbitmq-c;
     license = licenses.mit;
-    platforms = platforms.linux;
+    platforms = platforms.unix;
     maintainers = with maintainers; [ wkennington ];
   };
 }
diff --git a/pkgs/development/libraries/rapidjson/default.nix b/pkgs/development/libraries/rapidjson/default.nix
index 5e9a11d4251..a1671aa3e0f 100644
--- a/pkgs/development/libraries/rapidjson/default.nix
+++ b/pkgs/development/libraries/rapidjson/default.nix
@@ -13,11 +13,16 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkgconfig cmake ];
 
+  preConfigure = ''
+    substituteInPlace CMakeLists.txt --replace "-Werror" ""
+    substituteInPlace example/CMakeLists.txt --replace "-Werror" ""
+  '';
+
   meta = with lib; {
     description = "Fast JSON parser/generator for C++ with both SAX/DOM style API";
     homepage = "http://rapidjson.org/";
     license = licenses.mit;
-    platforms = platforms.linux;
+    platforms = platforms.unix;
     maintainers = with maintainers; [ cstrahan ];
   };
 }
diff --git a/pkgs/desktops/gnome-3/desktop/rarian/default.nix b/pkgs/development/libraries/rarian/default.nix
index 484e5856872..484e5856872 100644
--- a/pkgs/desktops/gnome-3/desktop/rarian/default.nix
+++ b/pkgs/development/libraries/rarian/default.nix
diff --git a/pkgs/development/libraries/rdkafka/default.nix b/pkgs/development/libraries/rdkafka/default.nix
index bb43a49235b..a1af4374843 100644
--- a/pkgs/development/libraries/rdkafka/default.nix
+++ b/pkgs/development/libraries/rdkafka/default.nix
@@ -1,23 +1,21 @@
-{ stdenv, fetchFromGitHub, zlib, perl, pkgconfig, python }:
+{ stdenv, fetchFromGitHub, zlib, perl, pkgconfig, python, openssl }:
 
 stdenv.mkDerivation rec {
   name = "rdkafka-${version}";
-  version = "0.11.3";
+  version = "0.11.4";
 
   src = fetchFromGitHub {
     owner = "edenhill";
     repo = "librdkafka";
     rev = "v${version}";
-    sha256 = "17ghq0kzk2fdpxhr40xgg3s0p0n0gkvd0d85c6jsww3mj8v5xd14";
+    sha256 = "11ps8sy4v8yvj4sha7d1q3rmhfw7l1rd52rnl01xam9862yasahs";
   };
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ zlib perl python ];
+  buildInputs = [ zlib perl python openssl ];
 
   NIX_CFLAGS_COMPILE = "-Wno-error=strict-overflow";
 
-  configureFlags = stdenv.lib.optionals stdenv.isDarwin [ "--disable-ssl" ];
-
   postPatch = ''
     patchShebangs .
   '';
diff --git a/pkgs/development/libraries/rocksdb/default.nix b/pkgs/development/libraries/rocksdb/default.nix
index 6ccb78003cf..bb36d942a69 100644
--- a/pkgs/development/libraries/rocksdb/default.nix
+++ b/pkgs/development/libraries/rocksdb/default.nix
@@ -15,18 +15,21 @@
 
 let
   malloc = if jemalloc != null then jemalloc else gperftools;
+  tools = [ "sst_dump" "ldb" "rocksdb_dump" "rocksdb_undump" "blob_dump" ];
 in
 stdenv.mkDerivation rec {
   name = "rocksdb-${version}";
-  version = "5.10.3";
+  version = "5.11.3";
+
+  outputs = [ "dev" "out" "static" "bin" ];
 
   src = fetchFromGitHub {
     owner = "facebook";
     repo = "rocksdb";
     rev = "v${version}";
-    sha256 = "19d8i8map8qz639mhflmxc0w9gp78fvkq1l46y5s6b5imwh0w7xq";
+    sha256 = "15x2r7aib1xinwcchl32wghs8g96k4q5xgv6z97mxgp35475x01p";
   };
-  
+
   nativeBuildInputs = [ which perl ];
   buildInputs = [ snappy google-gflags zlib bzip2 lz4 malloc fixDarwinDylibNames ];
 
@@ -41,19 +44,19 @@ stdenv.mkDerivation rec {
   CMAKE_CXX_FLAGS = "-std=gnu++11";
   JEMALLOC_LIB = stdenv.lib.optionalString (malloc == jemalloc) "-ljemalloc";
 
-  ${if enableLite then "LIBNAME" else null} = "librocksdb_lite";
+  LIBNAME = "librocksdb${stdenv.lib.optionalString enableLite "_lite"}";
   ${if enableLite then "CXXFLAGS" else null} = "-DROCKSDB_LITE=1";
-  
+
   buildAndInstallFlags = [
     "USE_RTTI=1"
     "DEBUG_LEVEL=0"
-    "DISABLE_WARNING_AS_ERROR=1"     
+    "DISABLE_WARNING_AS_ERROR=1"
   ];
 
   buildFlags = buildAndInstallFlags ++ [
     "shared_lib"
     "static_lib"
-  ];
+  ] ++ tools ;
 
   installFlags = buildAndInstallFlags ++ [
     "INSTALL_PATH=\${out}"
@@ -65,6 +68,11 @@ stdenv.mkDerivation rec {
     # Might eventually remove this when we are confident in the build process
     echo "BUILD CONFIGURATION FOR SANITY CHECKING"
     cat make_config.mk
+    mkdir -pv $static/lib/
+    mv -vi $out/lib/${LIBNAME}.a $static/lib/
+
+    install -d ''${!outputBin}/bin
+    install -D ${stdenv.lib.concatStringsSep " " tools} ''${!outputBin}/bin
   '';
 
   enableParallelBuilding = true;
@@ -73,7 +81,7 @@ stdenv.mkDerivation rec {
     homepage = http://rocksdb.org;
     description = "A library that provides an embeddable, persistent key-value store for fast storage";
     license = licenses.bsd3;
-    platforms = platforms.x86_64 ++ platforms.aarch64;
+    platforms = platforms.x86_64;
     maintainers = with maintainers; [ adev wkennington ];
   };
 }
diff --git a/pkgs/development/libraries/schroedinger/default.nix b/pkgs/development/libraries/schroedinger/default.nix
index d8e67baa13d..167fe419076 100644
--- a/pkgs/development/libraries/schroedinger/default.nix
+++ b/pkgs/development/libraries/schroedinger/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, orc, pkgconfig }:
+{ stdenv, fetchurl, orc, pkgconfig, fetchpatch, autoreconfHook }:
 
 stdenv.mkDerivation {
   name = "schroedinger-1.0.11";
@@ -13,10 +13,18 @@ stdenv.mkDerivation {
 
   outputs = [ "out" "dev" "devdoc" ];
 
-  nativeBuildInputs = [ pkgconfig ];
+  nativeBuildInputs = [ pkgconfig autoreconfHook ];
   buildInputs = [ orc ];
 
-  doCheck = true;
+  doCheck = (!stdenv.isDarwin);
+
+  patchFlags = "-p0";
+  patches = [
+    (fetchpatch {
+      url = "https://raw.githubusercontent.com/macports/macports-ports/master/multimedia/schroedinger/files/patch-testsuite-Makefile.am.diff";
+      sha256 = "0cc8ymvgjgwy7ghca2dd8m8pxpinf27s2i8krf2m3fzv2ckq09v3";
+    })
+  ];
 
   meta = with stdenv.lib; {
     homepage = http://diracvideo.org/;
diff --git a/pkgs/development/libraries/science/biology/EBTKS/default.nix b/pkgs/development/libraries/science/biology/EBTKS/default.nix
new file mode 100644
index 00000000000..67f868a91a7
--- /dev/null
+++ b/pkgs/development/libraries/science/biology/EBTKS/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, fetchFromGitHub, cmake, libminc }:
+
+stdenv.mkDerivation rec {
+  pname = "EBTKS";
+  name  = "${pname}-2017-09-23";
+
+  src = fetchFromGitHub {
+    owner  = "BIC-MNI";
+    repo   = pname;
+    rev    = "67e4e197d8a32d6462c9bdc7af44d64ebde4fb5c";
+    sha256 = "1a1qw6i47fs1izx60l1ysabpmyx9j5sjnbdv8b47wi2xcc9i3hpq";
+  };
+
+  nativeBuildInputs = [ cmake ];
+  buildInputs = [ libminc ];
+
+  cmakeFlags = [ "-DLIBMINC_DIR=${libminc}/lib/" ];
+
+  checkPhase = "ctest --output-on-failure";  # but cmake doesn't run the tests ...
+
+  meta = with stdenv.lib; {
+    homepage = "https://github.com/BIC-MNI/${pname}";
+    description = "Library for working with MINC files";
+    maintainers = with maintainers; [ bcdarwin ];
+    platforms = platforms.unix;
+    license   = licenses.free;
+  };
+}
diff --git a/pkgs/development/libraries/science/biology/bicgl/default.nix b/pkgs/development/libraries/science/biology/bicgl/default.nix
new file mode 100644
index 00000000000..3c9b8f8257c
--- /dev/null
+++ b/pkgs/development/libraries/science/biology/bicgl/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, fetchFromGitHub, cmake, libminc, bicpl, freeglut, mesa_glu }:
+
+stdenv.mkDerivation rec {
+  pname = "bicgl";
+  name  = "${pname}-2017-09-10";
+
+  owner = "BIC-MNI";
+
+  src = fetchFromGitHub {
+    inherit owner;
+    repo   = pname;
+    rev    = "b7f7e52d1039d6202a93d9055f516186033656cc";
+    sha256 = "0lzirdi1mf4yl8srq7vjn746sbydz7h0wjh7wy8gycy6hq04qrg4";
+  };
+
+  nativeBuildInputs = [ cmake ];
+  buildInputs = [ libminc bicpl freeglut mesa_glu ];
+
+  cmakeFlags = [ "-DLIBMINC_DIR=${libminc}/lib" "-DBICPL_DIR=${bicpl}/lib" ];
+
+  meta = with stdenv.lib; {
+    homepage = "https://github.com/${owner}/${pname}";
+    description = "Brain Imaging Centre graphics library";
+    maintainers = with maintainers; [ bcdarwin ];
+    platforms = platforms.unix;
+    license   = licenses.free;
+  };
+}
diff --git a/pkgs/development/libraries/science/biology/bicpl/default.nix b/pkgs/development/libraries/science/biology/bicpl/default.nix
new file mode 100644
index 00000000000..d00a74f61e2
--- /dev/null
+++ b/pkgs/development/libraries/science/biology/bicpl/default.nix
@@ -0,0 +1,33 @@
+{ stdenv, fetchFromGitHub, cmake, libminc, netpbm }:
+
+stdenv.mkDerivation rec {
+  pname = "bicpl";
+  name  = "${pname}-2017-09-10";
+
+  owner = "BIC-MNI";
+
+  # current master is significantly ahead of most recent release, so use Git version:
+  src = fetchFromGitHub {
+    inherit owner;
+    repo   = pname;
+    rev    = "612a63e740fadb162fcf27ee00da6a18dec4d5a9";
+    sha256 = "1vv9gi184bkvp3f99v9xmmw1ly63ip5b09y7zdjn39g7kmwzrga7";
+  };
+
+  nativeBuildInputs = [ cmake ];
+  buildInputs = [ libminc netpbm ];
+
+  cmakeFlags = [ "-DLIBMINC_DIR=${libminc}/lib" "-DBUILD_TESTING=FALSE" ];
+
+  checkPhase = "ctest --output-on-failure";
+  doCheck = false;
+  # internal_volume_io.h: No such file or directory
+
+  meta = with stdenv.lib; {
+    homepage = "https://github.com/${owner}/${pname}";
+    description = "Brain Imaging Centre programming library";
+    maintainers = with maintainers; [ bcdarwin ];
+    platforms = platforms.unix;
+    license   = licenses.free;
+  };
+}
diff --git a/pkgs/development/libraries/science/biology/elastix/default.nix b/pkgs/development/libraries/science/biology/elastix/default.nix
index 06550372ba8..7b9e6b24d41 100644
--- a/pkgs/development/libraries/science/biology/elastix/default.nix
+++ b/pkgs/development/libraries/science/biology/elastix/default.nix
@@ -1,22 +1,18 @@
-{ stdenv, fetchFromGitHub, cmake, itk, python }:
+{ stdenv, fetchurl, cmake, itk, python }:
 
 stdenv.mkDerivation rec {
-  _name    = "elastix";
-  _version = "4.8";
-  name  = "${_name}-${_version}";
+  pname    = "elastix";
+  pversion = "4.9.0";
+  name  = "${pname}-${pversion}";
 
-  src = fetchFromGitHub {
-    owner  = "SuperElastix";
-    repo   = "elastix";
-    rev    = "ef057ff89233822b26b04b31c3c043af57d5deff";
-    sha256 = "0gm3a8dgqww50h6zld9ighjk92wlpybpimjwfz4s5h82vdjsvxrm";
+  src = fetchurl {
+    url    = "https://github.com/SuperElastix/${pname}/archive/${pversion}.tar.gz";
+    sha256 = "02pbln36nq98xxfyqwlxg7b6gmigdq4fgfqr9mym1qn58aj04shg";
   };
 
   nativeBuildInputs = [ cmake python ];
   buildInputs = [ itk ];
 
-  cmakeFlags = [ "-DUSE_KNNGraphAlphaMutualInformationMetric=OFF" ];
-
   checkPhase = "ctest";
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/libraries/science/biology/oobicpl/default.nix b/pkgs/development/libraries/science/biology/oobicpl/default.nix
new file mode 100644
index 00000000000..8755b7fd2eb
--- /dev/null
+++ b/pkgs/development/libraries/science/biology/oobicpl/default.nix
@@ -0,0 +1,31 @@
+{ stdenv, fetchFromGitHub, cmake, libminc, bicpl, arguments, pcre-cpp }:
+
+stdenv.mkDerivation rec {
+  pname = "oobicpl";
+  name  = "${pname}-2016-03-02";
+
+  owner = "BIC-MNI";
+
+  src = fetchFromGitHub {
+    inherit owner;
+    repo   = pname;
+    rev    = "bc062a65dead2e58461f5afb37abedfa6173f10c";
+    sha256 = "05l4ml9djw17bgdnrldhcxydrzkr2f2scqlyak52ph5azj5n4zsx";
+  };
+
+  nativeBuildInputs = [ cmake ];
+  buildInputs = [ libminc bicpl arguments pcre-cpp ];
+
+  cmakeFlags = [ "-DLIBMINC_DIR=${libminc}/lib"
+                 "-DBICPL_DIR=${bicpl}/lib"
+                 "-DARGUMENTS_DIR=${arguments}/lib"
+                 "-DOOBICPL_BUILD_SHARED_LIBS=TRUE" ];
+
+  meta = with stdenv.lib; {
+    homepage = "https://github.com/${owner}/${pname}";
+    description = "Brain Imaging Centre object-oriented programming library (and tools)";
+    maintainers = with maintainers; [ bcdarwin ];
+    platforms = platforms.unix;
+    license   = licenses.free;
+  };
+}
diff --git a/pkgs/development/libraries/science/math/atlas/default.nix b/pkgs/development/libraries/science/math/atlas/default.nix
index 7fad5c312a0..8b740bdb6f6 100644
--- a/pkgs/development/libraries/science/math/atlas/default.nix
+++ b/pkgs/development/libraries/science/math/atlas/default.nix
@@ -45,7 +45,9 @@
 
 let
   inherit (stdenv.lib) optional optionalString;
-  version = "3.10.2";
+  # Don't upgrade until https://github.com/math-atlas/math-atlas/issues/44
+  # is resolved.
+  version = "3.10.3";
 in
 
 stdenv.mkDerivation {
@@ -53,7 +55,7 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "mirror://sourceforge/math-atlas/atlas${version}.tar.bz2";
-    sha256 = "0bqh4bdnjdyww4mcpg6kn0x7338mfqbdgysn97dzrwwb26di7ars";
+    sha256 = "1dyjlq3fiparvm8ypwk6rsmjzmnwk81l88gkishphpvc79ryp216";
   };
 
   buildInputs = [ gfortran ];
diff --git a/pkgs/development/libraries/science/math/brial/default.nix b/pkgs/development/libraries/science/math/brial/default.nix
new file mode 100644
index 00000000000..0c0332f1366
--- /dev/null
+++ b/pkgs/development/libraries/science/math/brial/default.nix
@@ -0,0 +1,46 @@
+{ stdenv
+, fetchFromGitHub
+, autoreconfHook
+, pkgconfig
+, boost
+, m4ri
+, gd
+}:
+
+stdenv.mkDerivation rec {
+  version = "1.2.3";
+  name = "brial-${version}";
+
+  src = fetchFromGitHub {
+    owner = "BRiAl";
+    repo = "BRiAl";
+    rev = version;
+    sha256 = "0qy4cwy7qrk4zg151cmws5cglaa866z461cnj9wdnalabs7v7qbg";
+  };
+
+  # FIXME package boost-test and enable checks
+  doCheck = false;
+
+  configureFlags = [
+    "--with-boost-unit-test-framework=no"
+  ];
+
+  buildInputs = [
+    boost
+    m4ri
+    gd
+  ];
+
+  nativeBuildInputs = [
+    autoreconfHook
+    pkgconfig
+  ];
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/BRiAl/BRiAl;
+    description = "Legacy version of PolyBoRi maintained by sagemath developers";
+    license = licenses.gpl2Plus;
+    maintainers = with maintainers; [ timokau ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/science/math/caffe2/default.nix b/pkgs/development/libraries/science/math/caffe2/default.nix
index b055acba9f1..916bf122b3c 100644
--- a/pkgs/development/libraries/science/math/caffe2/default.nix
+++ b/pkgs/development/libraries/science/math/caffe2/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, config, fetchFromGitHub
+{ stdenv, lib, config, fetchFromGitHub, fetchpatch
 , cmake
 , glog, google-gflags, gtest
 , protobuf, snappy
@@ -56,6 +56,8 @@ let
     };
     dst = "pybind11";
   };
+
+  ccVersion = (builtins.parseDrvName stdenv.cc.name).version;
 in
 
 stdenv.mkDerivation rec {
@@ -84,7 +86,9 @@ stdenv.mkDerivation rec {
   ;
   propagatedBuildInputs = [ numpy future six python-protobuf pydot ];
 
-  patches = lib.optional stdenv.cc.isClang [ ./update_clang_cvtsh_bugfix.patch ];
+  patches = lib.optional (stdenv.cc.isGNU && lib.versionAtLeast ccVersion "7.0.0") [
+    ./fix_compilation_on_gcc7.patch
+  ] ++ lib.optional stdenv.cc.isClang [ ./update_clang_cvtsh_bugfix.patch ];
 
   cmakeFlags = [ ''-DBUILD_TEST=OFF''
                  ''-DBUILD_PYTHON=ON''
@@ -133,7 +137,7 @@ stdenv.mkDerivation rec {
       algorithms. You can bring your creations to scale using the power of GPUs in the
       cloud or to the masses on mobile with Caffe2's cross-platform libraries.
     '';
-    platforms = with stdenv.lib.platforms; linux ++ darwin;
+    platforms = with stdenv.lib.platforms; linux;
     license = stdenv.lib.licenses.asl20;
     maintainers = with stdenv.lib.maintainers; [ yuriaisaka ];
   };
diff --git a/pkgs/development/libraries/science/math/caffe2/fix_compilation_on_gcc7.patch b/pkgs/development/libraries/science/math/caffe2/fix_compilation_on_gcc7.patch
new file mode 100644
index 00000000000..f319f20233a
--- /dev/null
+++ b/pkgs/development/libraries/science/math/caffe2/fix_compilation_on_gcc7.patch
@@ -0,0 +1,46 @@
+diff --git a/caffe2/operators/recurrent_network_op.cc b/caffe2/operators/recurrent_network_op.cc
+index dd4fded..5995e8a 100644
+--- a/caffe2/operators/recurrent_network_op.cc
++++ b/caffe2/operators/recurrent_network_op.cc
+@@ -1,4 +1,4 @@
+-#include "recurrent_network_op.h"
++#include "caffe2/operators/recurrent_network_op.h"
+ #include "caffe2/core/workspace.h"
+ 
+ namespace caffe2 {
+diff --git a/caffe2/operators/recurrent_network_op.h b/caffe2/operators/recurrent_network_op.h
+index 55328e5..ea898bc 100644
+--- a/caffe2/operators/recurrent_network_op.h
++++ b/caffe2/operators/recurrent_network_op.h
+@@ -762,8 +762,8 @@ class AccumulateInputGradientOp : public Operator<Context> {
+   USE_OPERATOR_CONTEXT_FUNCTIONS;
+ 
+   bool RunOnDevice() override {
+-    const auto t =
+-        OperatorBase::Input<Tensor<CPUContext>>(0).template data<int32_t>()[0];
++    const auto& t0 = OperatorBase::Input<Tensor<CPUContext>>(0);
++    const auto t = t0.template data<int32_t>()[0];
+     auto& og = Input(1);
+     auto* g = Output(0);
+ 
+diff --git a/caffe2/queue/queue_ops.h b/caffe2/queue/queue_ops.h
+index f2c0a33..642343f 100644
+--- a/caffe2/queue/queue_ops.h
++++ b/caffe2/queue/queue_ops.h
+@@ -17,13 +17,10 @@ class CreateBlobsQueueOp final : public Operator<Context> {
+         name(operator_def.output().Get(0)) {}
+ 
+   bool RunOnDevice() override {
+-    const auto capacity =
+-        OperatorBase::template GetSingleArgument<int>("capacity", 1);
+-    const auto numBlobs =
+-        OperatorBase::template GetSingleArgument<int>("num_blobs", 1);
++    const auto capacity = GetSingleArgument("capacity", 1);
++    const auto numBlobs = GetSingleArgument("num_blobs", 1);
+     const auto enforceUniqueName =
+-        OperatorBase::template GetSingleArgument<int>(
+-            "enforce_unique_name", false);
++        GetSingleArgument("enforce_unique_name", false);
+     const auto fieldNames =
+         OperatorBase::template GetRepeatedArgument<std::string>("field_names");
+     CAFFE_ENFORCE_EQ(this->OutputSize(), 1);
diff --git a/pkgs/development/libraries/science/math/clblas/default.nix b/pkgs/development/libraries/science/math/clblas/default.nix
index 40b02d30341..7a653a58eb2 100644
--- a/pkgs/development/libraries/science/math/clblas/default.nix
+++ b/pkgs/development/libraries/science/math/clblas/default.nix
@@ -7,6 +7,7 @@
 , python
 , ocl-icd
 , opencl-headers
+, Accelerate, CoreGraphics, CoreVideo, OpenCL
 , gtest
 }:
 
@@ -40,11 +41,19 @@ stdenv.mkDerivation rec {
     gfortran
     blas
     python
-    ocl-icd
-    opencl-headers
     boost
     gtest
-  ]; 
+  ] ++ stdenv.lib.optionals (!stdenv.isDarwin) [
+    ocl-icd
+    opencl-headers
+  ] ++ stdenv.lib.optionals stdenv.isDarwin [
+    Accelerate
+    CoreGraphics
+    CoreVideo
+  ];
+  propagatedBuildInputs = stdenv.lib.optionals stdenv.isDarwin [
+    OpenCL
+  ];
 
   enableParallelBuilding = true;
 
@@ -56,7 +65,7 @@ stdenv.mkDerivation rec {
     '';
     license = licenses.asl20;
     maintainers = with maintainers; [ artuuge ];
-    platforms = platforms.linux;
+    platforms = platforms.unix;
   };
 
 }
diff --git a/pkgs/development/libraries/science/math/cliquer/default.nix b/pkgs/development/libraries/science/math/cliquer/default.nix
new file mode 100644
index 00000000000..2441aff9fa3
--- /dev/null
+++ b/pkgs/development/libraries/science/math/cliquer/default.nix
@@ -0,0 +1,38 @@
+{ stdenv
+, fetchFromGitHub
+, autoreconfHook
+}:
+
+stdenv.mkDerivation rec {
+  version = "1.21";
+  name = "cliquer-${version}";
+
+  # autotoolized version of the original cliquer
+  src = fetchFromGitHub {
+    owner = "dimpase";
+    repo = "autocliquer";
+    rev = "v${version}";
+    sha256 = "180i4qj1a25qfp75ig2d3144xfpb1dgcgpha0iqqghd7di4awg7z";
+  };
+
+  doCheck = true;
+
+  buildInputs = [
+    autoreconfHook
+  ];
+
+  meta = with stdenv.lib; {
+    homepage = https://users.aalto.fi/~pat/cliquer.html;
+    downloadPage = src.meta.homepage; # autocliquer
+    description = "Routines for clique searching";
+    longDescription = ''
+      Cliquer is a set of C routines for finding cliques in an arbitrary weighted graph.
+      It uses an exact branch-and-bound algorithm developed by Patric Östergård.
+      It is designed with the aim of being efficient while still being flexible and
+      easy to use.
+    '';
+    license = licenses.gpl2Plus;
+    maintainers = with maintainers; [ timokau ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/science/math/flintqs/default.nix b/pkgs/development/libraries/science/math/flintqs/default.nix
new file mode 100644
index 00000000000..2891429c857
--- /dev/null
+++ b/pkgs/development/libraries/science/math/flintqs/default.nix
@@ -0,0 +1,40 @@
+{ stdenv
+, fetchFromGitHub
+, autoreconfHook
+, gmp
+}:
+
+stdenv.mkDerivation rec {
+  version = "1.0";
+  pname = "flintqs";
+  name = "${pname}-${version}";
+
+  src = fetchFromGitHub {
+    owner = "sagemath";
+    repo = "FlintQS";
+    rev = "v${version}";
+    sha256 = "1f0lnayz6j6qgasx8pbq61d2fqam0wwhsmh6h15l4vq58l1vvbwj";
+  };
+
+  preAutoreconf = ''
+    touch ChangeLog
+  '';
+
+  buildInputs = [
+    gmp
+  ];
+
+  nativeBuildInputs = [
+    autoreconfHook
+  ];
+
+  doCheck = true;
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/sagemath/FlintQS;
+    description = "Highly optimized multi-polynomial quadratic sieve for integer factorization";
+    license = with licenses; [ gpl2 ];
+    maintainers = with maintainers; [ timokau ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/development/libraries/science/math/lcalc/default.nix b/pkgs/development/libraries/science/math/lcalc/default.nix
new file mode 100644
index 00000000000..90393cff001
--- /dev/null
+++ b/pkgs/development/libraries/science/math/lcalc/default.nix
@@ -0,0 +1,78 @@
+{ stdenv
+, fetchurl
+, fetchpatch
+, pari
+}:
+
+stdenv.mkDerivation rec {
+  version = "1.23";
+  pname = "lcalc";
+  name = "${pname}-${version}";
+
+  src = fetchurl {
+    # original at http://oto.math.uwaterloo.ca/~mrubinst/L_function_public/CODE/L-${version}.tar.gz, no longer available
+    # "newer" version at google code https://code.google.com/archive/p/l-calc/source/default/source
+    url = "http://mirrors.mit.edu/sage/spkg/upstream/lcalc/lcalc-${version}.tar.bz2";
+    sha256 = "1c6dsdshgxhqppjxvxhp8yhpxaqvnz3d1mlh26r571gkq8z2bm43";
+  };
+
+  preConfigure = "cd src";
+
+  buildInputs = [
+    pari
+  ];
+
+  patches = [
+    # Port to newer pari
+    (fetchpatch {
+      url = "https://git.sagemath.org/sage.git/plain/build/pkgs/lcalc/patches/pari-2.7.patch?id=07d6c37d18811e2b377a9689790a7c5e24da16ba";
+      sha256 = "1x3aslldm8njjm7p9g9s9w2c91kphnci2vpkxkrcxfihw3ayss6c";
+    })
+
+    # Uncomment the definition of lcalc_to_double(const long double& x).
+    # (Necessary for GCC >= 4.6.0, cf. https://trac.sagemath.org/ticket/10892)
+    (fetchpatch {
+      url = "https://git.sagemath.org/sage.git/plain/build/pkgs/lcalc/patches/Lcommon.h.patch?id=07d6c37d18811e2b377a9689790a7c5e24da16ba";
+      sha256 = "0g4ybvsrcv48rmlh1xjnkms19jp25k58azv6ds1f2cm34hxs8fdx";
+    })
+
+    # Include also <time.h> in Lcommandline_numbertheory.h (at least required
+    # on Cygwin, cf. https://trac.sagemath.org/ticket/9845)
+    (fetchpatch {
+      url = "https://git.sagemath.org/sage.git/plain/build/pkgs/lcalc/patches/time.h.patch?id=07d6c37d18811e2b377a9689790a7c5e24da16ba";
+      sha256 = "1brf04n11kkc43ylagf8dm32j5r2g9zv51dp5wag1mpm4p04l7cl";
+    })
+
+    # Fix for gcc >4.6
+    (fetchpatch {
+      url = "https://git.sagemath.org/sage.git/plain/build/pkgs/lcalc/patches/lcalc-1.23_default_parameters_1.patch?id=07d6c37d18811e2b377a9689790a7c5e24da16ba";
+      sha256 = "0i2yvxm5fx4z0v6m4srgh8rj98kijmlvyirlxf1ky0bp2si6bpka";
+    })
+
+    # gcc 5.1
+    (fetchpatch {
+      url = "https://git.sagemath.org/sage.git/plain/build/pkgs/lcalc/patches/lcalc-1.23_default_parameters_2.patch?id=07d6c37d18811e2b377a9689790a7c5e24da16ba";
+      sha256 = "0dqwmxpm9wb53qbypsyfkgsvk2f8nf67sydphd4dkc2vw4yz6vlh";
+    })
+
+    # based on gentoos makefile patch -- fix paths, adhere to flags
+    ./makefile.patch
+  ];
+
+  installFlags = [
+    "DESTDIR=$(out)"
+  ];
+
+  makeFlags = [
+    "PARI_DEFINE=-DINCLUDE_PARI"
+    "PARI_PREFIX=${pari}"
+  ];
+
+  meta = with stdenv.lib; {
+    homepage = http://oto.math.uwaterloo.ca/~mrubinst/L_function_public/L.html;
+    description = "A program for calculating with L-functions";
+    license = with licenses; [ gpl2 ];
+    maintainers = with maintainers; [ timokau ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/development/libraries/science/math/lcalc/makefile.patch b/pkgs/development/libraries/science/math/lcalc/makefile.patch
new file mode 100644
index 00000000000..f55bbe3f24f
--- /dev/null
+++ b/pkgs/development/libraries/science/math/lcalc/makefile.patch
@@ -0,0 +1,113 @@
+diff --git a/src/Makefile b/src/Makefile
+index 84e4e88..56ca676 100644
+--- a/src/Makefile
++++ b/src/Makefile
+@@ -58,7 +58,7 @@ ifeq ($(G5),TRUE)
+    #MACHINE_SPECIFIC_FLAGS = -mpowerpc -mpowerpc64 -m64
+ endif
+ 
+-CCFLAGS =  -Wa,-W -O3 $(OPENMP_FLAG) -Wno-deprecated $(PREPROCESSOR_DEFINE) $(MACHINE_SPECIFIC_FLAGS) $(EXTRA)
++CCFLAGS = $(CXXFLAGS) $(OPENMP_FLAG) $(PREPROCESSOR_DEFINE) $(MACHINE_SPECIFIC_FLAGS)
+ #CCFLAGS =  -Wa,-W -O3 $(OPENMP_FLAG)  $(PREPROCESSOR_DEFINE) $(MACHINE_SPECIFIC_FLAGS) $(EXTRA)
+ #CCFLAGS =  -Wa,-W -O2 -fno-exceptions -Wno-deprecated $(PREPROCESSOR_DEFINE) $(MACHINE_SPECIFIC_FLAGS) $(EXTRA)
+ 
+@@ -68,12 +68,12 @@ CCFLAGS =  -Wa,-W -O3 $(OPENMP_FLAG) -Wno-deprecated $(PREPROCESSOR_DEFINE) $(MA
+ 
+ ifeq ($(PARI_DEFINE),-DINCLUDE_PARI)
+     #location of pari.h.
+-    LOCATION_PARI_H = /usr/local/include/pari #usual location
++    LOCATION_PARI_H = $(PARI_PREFIX)/include/pari #usual location
+ 
+     #location of libpari.a or of libpari.so
+     #depending on whether static or dynamic libraries are being used.
+     #On mac os x it's the former, on linux I think usually the latter.
+-    LOCATION_PARI_LIBRARY = /usr/local/lib #usual location
++    LOCATION_PARI_LIBRARY = $(PARI_PREFIX)/lib #usual location
+ else
+     #supplied as a dummy so as to avoid more ifeq's below
+     LOCATION_PARI_H = .
+@@ -89,24 +89,24 @@ INCLUDEFILES= -I../include
+ 
+ ifeq ($(OS_NAME),Darwin)
+     LDFLAGS2 =
+-    DYN_OPTION=dynamiclib
++    DYN_OPTION=-dynamiclib
+ else
+-    LDFLAGS1 = -Xlinker -export-dynamic #not sure why pari calls these when linking but on the web I found
++    LDFLAGS1 = #not sure why pari calls these when linking but on the web I found
+     #'Libtool provides the `-export-dynamic' link flag (see section Link mode), which does this declaration.
+     #You need to use this flag if you are linking a shared library that will be dlopened'
+     #see notes below
+     #ifeq ($(PARI_DEFINE),-DINCLUDE_PARI)
+-       LDFLAGS2 = $(LDFLAGS1) -Xlinker -rpath -Xlinker $(LOCATION_PARI_LIBRARY)
++       LDFLAGS2 = $(LDFLAGS)
+     #else
+     #    LDFLAGS2 = $(LDFLAGS1)
+     #endif
+-    DYN_OPTION=shared
++    DYN_OPTION=$(LDFLAGS) -shared -Wl,-soname,libLfunction.so
+ endif
+ 
+ ifeq ($(PARI_DEFINE),-DINCLUDE_PARI)
+-    LDFLAGS = $(LDFLAGS2) -L$(LOCATION_PARI_LIBRARY) -lpari
++    MYLDFLAGS = $(LDFLAGS2) -L$(LOCATION_PARI_LIBRARY) -lpari
+ else
+-    LDFLAGS = $(LDFLAGS2)
++    MYLDFLAGS = $(LDFLAGS2)
+ endif
+ 
+ 
+@@ -129,7 +129,8 @@ endif
+ #become clear which libraries the computer can find.
+ 
+ 
+-INSTALL_DIR= /usr/local
++INSTALL_DIR= $(DESTDIR)
++LIB_DIR ?=lib
+ 
+ #object files for the libLfunction library
+ OBJ_L = Lglobals.o Lgamma.o Lriemannsiegel.o Lriemannsiegel_blfi.o Ldokchitser.o
+@@ -141,9 +142,8 @@ OBJECTS = $(OBJ3)
+ 
+ all:
+ #	make print_vars
+-	make libLfunction.so
+-	make lcalc
+-	make examples
++	${MAKE} libLfunction.so
++	${MAKE} lcalc
+ #	make find_L
+ #	make test
+ 
+@@ -151,7 +151,7 @@ print_vars:
+ 	@echo OS_NAME = $(OS_NAME)
+ 
+ lcalc: $(OBJECTS)
+-	$(CC) $(CCFLAGS) $(INCLUDEFILES) $(OBJECTS) $(LDFLAGS) -o lcalc $(GMP_FLAGS)
++	$(CC) $(CCFLAGS) $(INCLUDEFILES) $(OBJECTS) $(MYLDFLAGS) -o lcalc $(GMP_FLAGS)
+ 
+ examples:
+ 	$(CC) $(CCFLAGS) $(INCLUDEFILES) example_programs/example.cc libLfunction.so -o example_programs/example $(GMP_FLAGS)
+@@ -262,15 +262,18 @@ Lcommandline.o: ../include/Lcommandline_values_zeros.h
+ 
+ 
+ libLfunction.so: $(OBJ_L)
+-	g++ -$(DYN_OPTION)  -o libLfunction.so $(OBJ_L)
++	g++ $(DYN_OPTION) -o libLfunction.so $(OBJ_L)
+ 
+ clean:
+ 	rm -f *.o lcalc libLfunction.so example_programs/example
+ 
+ install:
+-	cp -f lcalc $(INSTALL_DIR)/bin/.
+-	cp -f libLfunction.so $(INSTALL_DIR)/lib/.
+-	cp -rf ../include $(INSTALL_DIR)/include/Lfunction
++	install -d $(INSTALL_DIR)/bin
++	install -d $(INSTALL_DIR)/$(LIB_DIR)
++	install -d $(INSTALL_DIR)/include/libLfunction
++	install lcalc $(INSTALL_DIR)/bin
++	install libLfunction.so $(INSTALL_DIR)/$(LIB_DIR)
++	install -m 644 -t $(INSTALL_DIR)/include/libLfunction ../include/*.h
+ 
+ 
+ SRCS = Lcommandline.cc Lcommandline_elliptic.cc Lcommandline_globals.cc Lcommandline_misc.cc Lcommandline_numbertheory.cc Lcommandline_twist.cc Lcommandline_values_zeros.cc Lgamma.cc Lglobals.cc Lmisc.cc Lriemannsiegel.cc Lriemannsiegel_blfi.cc cmdline.c
diff --git a/pkgs/development/libraries/science/math/liblapack/3.5.0.nix b/pkgs/development/libraries/science/math/liblapack/3.5.0.nix
deleted file mode 100644
index 61a45cbab94..00000000000
--- a/pkgs/development/libraries/science/math/liblapack/3.5.0.nix
+++ /dev/null
@@ -1,64 +0,0 @@
-{
-  stdenv,
-  fetchurl,
-  gfortran,
-  cmake,
-  python2,
-  atlas ? null,
-  shared ? false
-}:
-let
-  atlasMaybeShared = if atlas != null then atlas.override { inherit shared; }
-                     else null;
-  usedLibExtension = if shared then ".so" else ".a";
-  inherit (stdenv.lib) optional optionals concatStringsSep;
-  inherit (builtins) hasAttr attrNames;
-  version = "3.5.0";
-in
-
-stdenv.mkDerivation rec {
-  name = "liblapack-${version}";
-  src = fetchurl {
-    url = "http://www.netlib.org/lapack/lapack-${version}.tgz";
-    sha256 = "0lk3f97i9imqascnlf6wr5mjpyxqcdj73pgj97dj2mgvyg9z1n4s";
-  };
-
-  propagatedBuildInputs = [ atlasMaybeShared ];
-  buildInputs = [ gfortran cmake ];
-  nativeBuildInputs = [ python2 ];
-
-  cmakeFlags = [
-    "-DUSE_OPTIMIZED_BLAS=ON"
-    "-DCMAKE_Fortran_FLAGS=-fPIC"
-  ]
-  ++ (optionals (atlas != null) [
-    "-DBLAS_ATLAS_f77blas_LIBRARY=${atlasMaybeShared}/lib/libf77blas${usedLibExtension}"
-    "-DBLAS_ATLAS_atlas_LIBRARY=${atlasMaybeShared}/lib/libatlas${usedLibExtension}"
-  ])
-  ++ (optional shared "-DBUILD_SHARED_LIBS=ON")
-  # If we're on darwin, CMake will automatically detect impure paths. This switch
-  # prevents that.
-  ++ (optional stdenv.isDarwin "-DCMAKE_OSX_SYSROOT:PATH=''")
-  ;
-
-  doCheck = ! shared;
-
-  checkPhase = "
-    sed -i 's,^#!.*,#!${python2.interpreter},' lapack_testing.py
-    ctest
-  ";
-
-  enableParallelBuilding = true;
-
-  passthru = {
-    blas = atlas;
-  };
-
-  meta = with stdenv.lib; {
-    inherit version;
-    description = "Linear Algebra PACKage";
-    homepage = http://www.netlib.org/lapack/;
-    license = licenses.bsd3;
-    platforms = platforms.all;
-  };
-}
diff --git a/pkgs/development/libraries/science/math/liblapack/default.nix b/pkgs/development/libraries/science/math/liblapack/default.nix
index baf77696b16..c68454fbe4a 100644
--- a/pkgs/development/libraries/science/math/liblapack/default.nix
+++ b/pkgs/development/libraries/science/math/liblapack/default.nix
@@ -13,14 +13,14 @@ let
   usedLibExtension = if shared then ".so" else ".a";
   inherit (stdenv.lib) optional optionals concatStringsSep;
   inherit (builtins) hasAttr attrNames;
-  version = "3.4.1";
+  version = "3.8.0";
 in
 
 stdenv.mkDerivation rec {
   name = "liblapack-${version}";
   src = fetchurl {
-    url = "http://www.netlib.org/lapack/lapack-${version}.tgz";
-    sha256 = "93b910f94f6091a2e71b59809c4db4a14655db527cfc5821ade2e8c8ab75380f";
+    url = "http://www.netlib.org/lapack/lapack-${version}.tar.gz";
+    sha256 = "1xmwi2mqmipvg950gb0rhgprcps8gy8sjm8ic9rgy2qjlv22rcny";
   };
 
   propagatedBuildInputs = [ atlasMaybeShared ];
@@ -44,7 +44,6 @@ stdenv.mkDerivation rec {
   doCheck = ! shared;
 
   checkPhase = "
-    sed -i 's,^#!.*,#!${python2.interpreter},' lapack_testing.py
     ctest
   ";
 
diff --git a/pkgs/development/libraries/science/math/m4ri/default.nix b/pkgs/development/libraries/science/math/m4ri/default.nix
new file mode 100644
index 00000000000..b9ee1e2a10d
--- /dev/null
+++ b/pkgs/development/libraries/science/math/m4ri/default.nix
@@ -0,0 +1,30 @@
+{ stdenv
+, fetchFromBitbucket
+, autoreconfHook
+}:
+
+stdenv.mkDerivation rec {
+  version = "20140914";
+  name = "m4ri-${version}";
+
+  src = fetchFromBitbucket {
+    owner = "malb";
+    repo = "m4ri";
+    rev = "release-${version}";
+    sha256 = "0xfg6pffbn8r1s0y7bn9b8i55l00d41dkmhrpf7pwk53qa3achd3";
+  };
+
+  doCheck = true;
+
+  nativeBuildInputs = [
+    autoreconfHook
+  ];
+
+  meta = with stdenv.lib; {
+    homepage = https://malb.bitbucket.io/m4ri/;
+    description = "Library to do fast arithmetic with dense matrices over F_2";
+    license = licenses.gpl2Plus;
+    maintainers = with maintainers; [ timokau ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/science/math/m4rie/default.nix b/pkgs/development/libraries/science/math/m4rie/default.nix
new file mode 100644
index 00000000000..23fc03655cf
--- /dev/null
+++ b/pkgs/development/libraries/science/math/m4rie/default.nix
@@ -0,0 +1,39 @@
+{ stdenv
+, fetchFromBitbucket
+, autoreconfHook
+, m4ri
+}:
+
+stdenv.mkDerivation rec {
+  version = "20150908";
+  name = "m4rie-${version}";
+
+  src = fetchFromBitbucket {
+    owner = "malb";
+    repo = "m4rie";
+    rev = "release-${version}";
+    sha256 = "0r8lv46qx5mkz5kp3ay2jnsp0mbhlqr5z2z220wdk73wdshcznss";
+  };
+
+  doCheck = true;
+
+  buildInputs = [
+    m4ri
+  ];
+
+  nativeBuildInputs = [
+    autoreconfHook
+  ];
+
+  meta = with stdenv.lib; {
+    homepage = https://malb.bitbucket.io/m4rie/;
+    description = "Library for matrix multiplication, reduction and inversion over GF(2^k) for 2 <= k <= 10";
+    longDescription = ''
+      M4RIE is a library for fast arithmetic with dense matrices over small finite fields of even characteristic.
+      It uses the M4RI library, implementing the same operations over the finite field F2.
+    '';
+    license = licenses.gpl2Plus;
+    maintainers = with maintainers; [ timokau ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/science/math/openblas/default.nix b/pkgs/development/libraries/science/math/openblas/default.nix
index 07d2a04c5e2..5ac0bcd1d7d 100644
--- a/pkgs/development/libraries/science/math/openblas/default.nix
+++ b/pkgs/development/libraries/science/math/openblas/default.nix
@@ -60,7 +60,7 @@ let
       TARGET = "ATHLON";
       DYNAMIC_ARCH = "1";
       CC = "gcc";
-      USE_OPENMP = "1";
+      USE_OPENMP = if stdenv.hostPlatform.isMusl then "0" else "1";
     };
   };
 in
diff --git a/pkgs/development/libraries/science/math/openlibm/default.nix b/pkgs/development/libraries/science/math/openlibm/default.nix
index 6b229f31f16..195b90c86e1 100644
--- a/pkgs/development/libraries/science/math/openlibm/default.nix
+++ b/pkgs/development/libraries/science/math/openlibm/default.nix
@@ -2,10 +2,10 @@
 
 stdenv.mkDerivation rec {
   name = "openlibm-${version}";
-  version = "0.5.4";
+  version = "0.5.5";
   src = fetchurl {
     url = "https://github.com/JuliaLang/openlibm/archive/v${version}.tar.gz";
-    sha256 = "0cwqqqlblj3kzp9aq1wnpfs1fl0qd1wp1xzm5shb09w06i4rh9nn";
+    sha256 = "1z8cj5q8ca8kmrakwkpjxf8svi81waw0c568cx8v8pv9kvswbp07";
   };
 
   makeFlags = [ "prefix=$(out)" ];
diff --git a/pkgs/development/libraries/science/math/petsc/default.nix b/pkgs/development/libraries/science/math/petsc/default.nix
index efedbe725af..ac8129c9032 100644
--- a/pkgs/development/libraries/science/math/petsc/default.nix
+++ b/pkgs/development/libraries/science/math/petsc/default.nix
@@ -7,15 +7,20 @@
 
 stdenv.mkDerivation rec {
   name = "petsc-${version}";
-  version = "3.8.3";
+  version = "3.8.4";
 
   src = fetchurl {
     url = "http://ftp.mcs.anl.gov/pub/petsc/release-snapshots/petsc-${version}.tar.gz";
-    sha256 = "1b1yr93g6df8kx10ri2y26bp3l3w3jv10r80krnarbvyjgnw7y81";
+    sha256 = "1iy49gagxncx09d88kxnwkj876p35683mpfk33x37165si6xqy4z";
   };
 
   nativeBuildInputs = [ blas gfortran.cc.lib liblapack python ];
 
+  prePatch = stdenv.lib.optionalString stdenv.isDarwin ''
+    substituteInPlace config/install.py \
+      --replace /usr/bin/install_name_tool install_name_tool
+  '';
+
   preConfigure = ''
     patchShebangs .
     configureFlagsArray=(
diff --git a/pkgs/development/libraries/science/math/planarity/default.nix b/pkgs/development/libraries/science/math/planarity/default.nix
new file mode 100644
index 00000000000..7394fb9e1b4
--- /dev/null
+++ b/pkgs/development/libraries/science/math/planarity/default.nix
@@ -0,0 +1,40 @@
+{ stdenv
+, fetchFromGitHub
+, fetchpatch
+, autoreconfHook
+}:
+
+stdenv.mkDerivation rec {
+  pname = "planarity";
+  version = "3.0.0.5";
+  name = "${pname}-${version}";
+
+  src = fetchFromGitHub {
+    owner = "graph-algorithms";
+    repo = "edge-addition-planarity-suite";
+    rev = "Version_${version}";
+    sha256 = "01cm7ay1njkfsdnmnvh5zwc7wg7x189hq1vbfhh9p3ihrbnmqzh8";
+  };
+
+  nativeBuildInputs = [
+    autoreconfHook
+  ];
+
+  doCheck = true;
+
+  patches = [
+    # declare variables declared in headers as extern, not yet merged upstream
+    (fetchpatch {
+      url = "https://github.com/graph-algorithms/edge-addition-planarity-suite/pull/3.patch";
+      sha256 = "1nqjc4clr326imz4jxqxcxv2hgh1sjgzll27k5cwkdin8lnmmil8";
+    })
+  ];
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/graph-algorithms/edge-addition-planarity-suite;
+    description = "A library for implementing graph algorithms";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ timokau ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/development/libraries/science/math/rankwidth/default.nix b/pkgs/development/libraries/science/math/rankwidth/default.nix
new file mode 100644
index 00000000000..f38fce5831e
--- /dev/null
+++ b/pkgs/development/libraries/science/math/rankwidth/default.nix
@@ -0,0 +1,28 @@
+{ stdenv
+, fetchurl
+}:
+
+stdenv.mkDerivation rec {
+  pname = "rankwidth";
+  version = "0.7";
+  name = "${pname}-${version}";
+
+  src = fetchurl {
+    url = "http://mirrors.mit.edu/sage/spkg/upstream/rw/rw-${version}.tar.gz";
+    sha256 = "1rv2v42x2506x7f10349m1wpmmfxrv9l032bkminni2gbip9cjg0";
+  };
+
+  configureFlags = [
+    "--enable-executable=no" # no igraph dependency
+  ];
+
+  # check phase is empty for now (as of version 0.7)
+  doCheck = true;
+
+  meta = with stdenv.lib; {
+    description = "Calculates rank-width and rank-decompositions";
+    license = with licenses; [ gpl2Plus ];
+    maintainers = with maintainers; [ timokau ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/science/math/rubiks/default.nix b/pkgs/development/libraries/science/math/rubiks/default.nix
new file mode 100644
index 00000000000..fe448106b15
--- /dev/null
+++ b/pkgs/development/libraries/science/math/rubiks/default.nix
@@ -0,0 +1,82 @@
+{ stdenv
+, fetchurl
+, fetchpatch
+, coreutils
+}:
+
+stdenv.mkDerivation rec {
+  pname = "rubiks";
+  version = "20070912";
+  name = "${pname}-${version}";
+
+  src = fetchurl {
+    url = "http://mirrors.mit.edu/sage/spkg/upstream/rubiks/rubiks-${version}.tar.bz2";
+    sha256 = "0zdmkb0j1kyspdpsszzb2k3279xij79jkx0dxd9f3ix1yyyg3yfq";
+  };
+
+  preConfigure = ''
+    export INSTALL="${coreutils}/bin/install"
+  '';
+
+  # everything is done in `make install`
+  buildPhase = "true";
+
+  installFlags = [
+    "PREFIX=$(out)"
+  ];
+
+  patches = [
+    # Fix makefiles which use all the variables in all the wrong ways and
+    # hardcode values for some variables.
+    (fetchpatch {
+      url = "https://git.sagemath.org/sage.git/plain/build/pkgs/rubiks/patches/dietz-cu2-Makefile.patch?id=07d6c37d18811e2b377a9689790a7c5e24da16ba";
+      sha256 = "1ry3w1mk9q4jqd91zlaa1bdiiplld4hpfjaldbhlmzlgrrc99qmq";
+    })
+    (fetchpatch {
+      url = "https://git.sagemath.org/sage.git/plain/build/pkgs/rubiks/patches/dietz-mcube-Makefile.patch?id=07d6c37d18811e2b377a9689790a7c5e24da16ba";
+      sha256 = "0zsbh6k3kqdg82fv0kzghr1x7pafisv943gmssqscp107bhg77bz";
+    })
+    (fetchpatch {
+      url = "https://git.sagemath.org/sage.git/plain/build/pkgs/rubiks/patches/dietz-solver-Makefile.patch?id=07d6c37d18811e2b377a9689790a7c5e24da16ba";
+      sha256 = "0vhw70ylnmydgjhwx8jjlb2slccj4pfqn6vzirkyz1wp8apsmfhp";
+    })
+    (fetchpatch {
+      url = "https://git.sagemath.org/sage.git/plain/build/pkgs/rubiks/patches/reid-Makefile.patch?id=07d6c37d18811e2b377a9689790a7c5e24da16ba";
+      sha256 = "1r311sn012xs135s0d21qwsig2kld7rdcq19nm0zbnklviid57df";
+    })
+  ];
+
+  meta = with stdenv.lib; {
+    homepage = https://wiki.sagemath.org/spkg/rubiks;
+    description = "Several programs for working with Rubik's cubes";
+    # The individual websites are no longer available
+    longDescription = ''
+      There are several programs for working with Rubik's cubes, by three
+      different people. Look inside the directories under /src to see
+      specific info and licensing. In summary the three contributers are:
+
+
+      Michael Reid (GPL) http://www.math.ucf.edu/~reid/Rubik/optimal_solver.html
+          optimal - uses many pre-computed tables to find an optimal
+                    solution to the 3x3x3 Rubik's cube
+
+
+      Dik T. Winter (MIT License)
+          cube    - uses Kociemba's algorithm to iteratively find a short
+                    solution to the 3x3x3 Rubik's cube
+          size222 - solves a 2x2x2 Rubik's cube
+
+
+      Eric Dietz (GPL) http://www.wrongway.org/?rubiksource
+          cu2   - A fast, non-optimal 2x2x2 solver
+          cubex - A fast, non-optimal 3x3x3 solver
+          mcube - A fast, non-optimal 4x4x4 solver
+    '';
+    license = with licenses; [
+      gpl2 # Michael Reid's and Eric Dietz software
+      mit # Dik T. Winter's software
+    ];
+    maintainers = with maintainers; [ timokau ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/science/math/sympow/default.nix b/pkgs/development/libraries/science/math/sympow/default.nix
new file mode 100644
index 00000000000..c83b3d1737c
--- /dev/null
+++ b/pkgs/development/libraries/science/math/sympow/default.nix
@@ -0,0 +1,91 @@
+{ stdenv
+, fetchurl
+, fetchpatch
+, makeWrapper
+}:
+
+stdenv.mkDerivation rec {
+  version = "1.018.1";
+  name = "sympow-${version}";
+
+  src = fetchurl {
+    # Original website no longer reachable
+    url = "http://mirrors.mit.edu/sage/spkg/upstream/sympow/sympow-${version}.tar.bz2";
+    sha256 = "0hphs7ia1wr5mydf288zvwj4svrymfpadcg3pi6w80km2yg5bm3c";
+  };
+
+  nativeBuildInputs = [
+    makeWrapper
+  ];
+
+  configurePhase = ''
+    runHook preConfigure
+    ./Configure # doesn't take any options
+    runHook postConfigure
+  '';
+
+  installPhase = ''
+    runHook preInstall
+    install -d datafiles "$out/share/sympow/datafiles"
+    install *.gp "$out/share/sympow/"
+    install -Dm755 sympow "$out/share/sympow/sympow"
+    install -D new_data "$out/bin/new_data"
+
+    makeWrapper "$out/share/sympow/sympow" "$out/bin/sympow" \
+      --run 'export SYMPOW_LOCAL="$HOME/.local/share/sympow"' \
+      --run 'if [ ! -d "$SYMPOW_LOCAL" ]; then
+        mkdir -p "$SYMPOW_LOCAL"
+        cp -r @out@/share/sympow/* "$SYMPOW_LOCAL"
+        chmod -R +xw "$SYMPOW_LOCAL"
+    fi' \
+      --run 'cd "$SYMPOW_LOCAL"'
+    substituteInPlace $out/bin/sympow --subst-var out
+
+    runHook postInstall
+  '';
+
+  patches = [
+    # don't hardcode paths
+    (fetchpatch {
+      name = "do_not_hardcode_paths.patch";
+      url = "https://git.sagemath.org/sage.git/plain/build/pkgs/sympow/patches/Configure.patch?id=07d6c37d18811e2b377a9689790a7c5e24da16ba";
+      sha256 = "1611p8ra8zkxvmxn3gm2l64bd4ma4m6r4vd6vwswcic91k1fci04";
+    })
+
+    # bug on some platforms in combination with a newer gcc:
+    # https://trac.sagemath.org/ticket/11920
+    (fetchpatch {
+      name = "fix_newer_gcc1.patch";
+      url = "https://git.sagemath.org/sage.git/plain/build/pkgs/sympow/patches/fpu.patch?id=07d6c37d18811e2b377a9689790a7c5e24da16ba";
+      sha256 = "14gfa56w3ddfmd4d5ir9a40y2zi43cj1i4d2l2ij9l0qlqdy9jyx";
+    })
+    (fetchpatch {
+      name = "fix_newer_gcc2.patch";
+      url = "https://git.sagemath.org/sage.git/plain/build/pkgs/sympow/patches/execlp.patch?id=07d6c37d18811e2b377a9689790a7c5e24da16ba";
+      sha256 = "190gqhgz9wgw4lqwz0nwb1izc9zffx34bazsiw2a2sz94bmgb54v";
+    })
+
+    # fix pointer initialization bug (https://trac.sagemath.org/ticket/22862)
+    (fetchpatch {
+      name = "fix_pointer_initialization1.patch";
+      url = "https://git.sagemath.org/sage.git/plain/build/pkgs/sympow/patches/initialize-tacks.patch?id=07d6c37d18811e2b377a9689790a7c5e24da16ba";
+      sha256 = "02341vdbbidfs39s26vi4n5wigz619sw8fdbl0h9qsmwwhscgf85";
+    })
+    (fetchpatch {
+      name = "fix_pointer_initialization2.patch";
+      url = "https://git.archlinux.org/svntogit/community.git/plain/trunk/sympow-datafiles.patch?h=packages/sympow";
+      sha256 = "1m0vz048layb47r1jjf7fplw650ccc9x0w3l322iqmppzmv3022a";
+    })
+  ];
+
+  meta = with stdenv.lib; {
+    description = "A package to compute special values of symmetric power elliptic curve L-functions";
+    license = {
+      shortName = "sympow";
+      fullName = "Custom, BSD-like. See COPYING file.";
+      free = true;
+    };
+    maintainers = with maintainers; [ timokau ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/development/libraries/science/math/zn_poly/default.nix b/pkgs/development/libraries/science/math/zn_poly/default.nix
new file mode 100644
index 00000000000..bc322d4c534
--- /dev/null
+++ b/pkgs/development/libraries/science/math/zn_poly/default.nix
@@ -0,0 +1,50 @@
+{ stdenv
+, fetchurl
+, gmp
+, python2
+}:
+
+stdenv.mkDerivation rec {
+  version = "0.9";
+  pname = "zn_poly";
+  name = "${pname}-${version}";
+
+  src = fetchurl {
+    url = "http://web.maths.unsw.edu.au/~davidharvey/code/zn_poly/releases/zn_poly-${version}.tar.gz";
+    sha256 = "1kxl25av7i3v68k32hw5bayrfcvmahmqvs97mlh9g238gj4qb851";
+  };
+
+  buildInputs = [
+    gmp
+  ];
+
+  nativeBuildInputs = [
+    python2 # needed by ./configure to create the makefile
+  ];
+
+  libname = "libzn_poly${stdenv.targetPlatform.extensions.sharedLibrary}";
+
+  # Tuning (either autotuning or with hand-written paramters) is possible
+  # but not implemented here.
+  # It seems buggy anyways (see homepage).
+  buildFlags = [ "all" libname ];
+
+
+  # `make install` fails to install some header files and the lib file.
+  installPhase = ''
+    mkdir -p "$out/include/zn_poly"
+    mkdir -p "$out/lib"
+    cp "${libname}" "$out/lib"
+    cp include/*.h "$out/include/zn_poly"
+  '';
+
+  doCheck = true;
+
+  meta = with stdenv.lib; {
+    homepage = http://web.maths.unsw.edu.au/~davidharvey/code/zn_poly/;
+    description = "Polynomial arithmetic over Z/nZ";
+    license = with licenses; [ gpl3 ];
+    maintainers = with maintainers; [ timokau ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/science/networking/ns3/default.nix b/pkgs/development/libraries/science/networking/ns3/default.nix
new file mode 100644
index 00000000000..9fc72f18e5d
--- /dev/null
+++ b/pkgs/development/libraries/science/networking/ns3/default.nix
@@ -0,0 +1,98 @@
+{ stdenv
+, fetchFromGitHub, fetchurl
+, python
+
+# for binding generation
+, castxml ? null
+
+# can take a long time, generates > 30000 images/graphs
+, enableDoxygen ? false
+
+# e.g. "optimized" or "debug". If not set, use default one
+, build_profile ? null
+
+# --enable-examples
+, withExamples ? false
+
+# very long
+, withManual ? false, doxygen ? null, graphviz ? null, imagemagick ? null
+# for manual, tetex is used to get the eps2pdf binary
+# texlive to get latexmk. building manual still fails though
+, dia, tetex ? null, ghostscript ? null, texlive ? null
+
+# generates python bindings
+, generateBindings ? false, ncurses ? null
+
+# All modules can be enabled by choosing 'all_modules'.
+# we include here the DCE mandatory ones
+, modules ? [ "core" "network" "internet" "point-to-point" "fd-net-device" "netanim"]
+, gcc6
+, lib
+}:
+
+let
+  pythonEnv = python.withPackages(ps:
+    stdenv.lib.optional withManual ps.sphinx
+    ++ stdenv.lib.optionals generateBindings (with ps;[ pybindgen pygccxml ])
+  );
+in
+stdenv.mkDerivation rec {
+
+  name = "ns-3.${version}";
+  version = "28";
+
+  # the all in one https://www.nsnam.org/release/ns-allinone-3.27.tar.bz2;
+  # fetches everything (netanim, etc), this package focuses on ns3-core
+  src = fetchFromGitHub {
+    owner  = "nsnam";
+    repo   = "ns-3-dev-git";
+    rev    = name;
+    sha256 = "17kzfjpgw2mvyx1c9bxccnvw67jpk09fxmcnlkqx9xisk10qnhng";
+  };
+
+  # ncurses is a hidden dependency of waf when checking python
+  buildInputs = lib.optionals generateBindings [ castxml ncurses ]
+    ++ stdenv.lib.optional enableDoxygen [ doxygen graphviz imagemagick ]
+    ++ stdenv.lib.optional withManual [ dia tetex ghostscript texlive.combined.scheme-medium ];
+
+  propagatedBuildInputs = [ gcc6 pythonEnv ];
+
+  postPatch = ''
+    patchShebangs ./waf
+    patchShebangs doc/ns3_html_theme/get_version.sh
+  '';
+
+  configureScript = "${python.interpreter} ./waf configure";
+
+  configureFlags = with stdenv.lib; [
+      "--enable-modules=${stdenv.lib.concatStringsSep "," modules}"
+      "--with-python=${pythonEnv.interpreter}"
+  ]
+  ++ optional (build_profile != null) "--build-profile=${build_profile}"
+  ++ optional generateBindings [  ]
+  ++ optional withExamples " --enable-examples "
+  ++ optional doCheck " --enable-tests "
+  ;
+
+  postBuild = with stdenv.lib; let flags = concatStringsSep ";" (
+      optional enableDoxygen "./waf doxygen"
+      ++ optional withManual "./waf sphinx"
+    );
+    in "${flags}"
+  ;
+
+  doCheck = true;
+
+  # we need to specify the proper interpreter else ns3 can check against a
+  # different version even though we
+  checkPhase =  ''
+    ${pythonEnv.interpreter} ./test.py
+  '';
+
+  meta = {
+    homepage = http://www.nsnam.org;
+    license = stdenv.lib.licenses.gpl3;
+    description = "A discrete time event network simulator";
+    platforms = with stdenv.lib.platforms; unix;
+  };
+}
diff --git a/pkgs/development/libraries/sfml/default.nix b/pkgs/development/libraries/sfml/default.nix
index d34280c1624..f52b7905c6e 100644
--- a/pkgs/development/libraries/sfml/default.nix
+++ b/pkgs/development/libraries/sfml/default.nix
@@ -3,14 +3,14 @@
 }:
 
 let
-  version = "2.4.2";
+  version = "2.5.0";
 in
 
 stdenv.mkDerivation rec {
   name = "sfml-${version}";
   src = fetchurl {
     url = "https://github.com/SFML/SFML/archive/${version}.tar.gz";
-    sha256 = "cf268fb487e4048c85e5b2f53d62596854762c98cba1c1b61ccd91f78253ef4b";
+    sha256 = "1x3yvhdrln5b6h4g5r4mds76gq8zsxw6icxqpwqkmxsqcq5yviab";
   };
   buildInputs = [ cmake libX11 freetype libjpeg openal flac libvorbis glew
                   libXrandr libXrender udev xcbutilimage
diff --git a/pkgs/development/libraries/silgraphite/graphite2.nix b/pkgs/development/libraries/silgraphite/graphite2.nix
index a5dc1f41e98..30a99415981 100644
--- a/pkgs/development/libraries/silgraphite/graphite2.nix
+++ b/pkgs/development/libraries/silgraphite/graphite2.nix
@@ -10,8 +10,8 @@ stdenv.mkDerivation rec {
     sha256 = "0xdg6bc02bl8yz39l5i2skczfg17q4lif0qqan0dhvk0mibpcpj7";
   };
 
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ freetype cmake ];
+  nativeBuildInputs = [ pkgconfig cmake ];
+  buildInputs = [ freetype ];
 
   patches = stdenv.lib.optionals stdenv.isDarwin [ ./macosx.patch ];
 
diff --git a/pkgs/development/libraries/simpleitk/default.nix b/pkgs/development/libraries/simpleitk/default.nix
new file mode 100644
index 00000000000..4802683079d
--- /dev/null
+++ b/pkgs/development/libraries/simpleitk/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, fetchurl, cmake, git, swig, lua, itk }:
+
+stdenv.mkDerivation rec {
+  pname    = "simpleitk";
+  version = "1.0.0";
+  name  = "${pname}-${version}";
+
+  src = fetchurl {
+    url    = "https://sourceforge.net/projects/${pname}/files/SimpleITK/${version}/Source/SimpleITK-${version}.tar.gz";
+    sha256 = "0554j0zp314zhs8isfg31fi6gvsl7xq3xjyyxkx1b1mjkn5qx673";
+  };
+
+  nativeBuildInputs = [ cmake git swig ];
+  buildInputs = [ lua itk ];
+
+  cmakeFlags = [ "-DBUILD_SHARED_LIBS=ON" "-DCMAKE_CXX_FLAGS='-Wno-attributes'" ];
+
+  checkPhase = "ctest";
+
+  enableParallelBuilding = true;
+
+  meta = with stdenv.lib; {
+    homepage = http://www.simpleitk.org;
+    description = "Simplified interface to ITK";
+    maintainers = with maintainers; [ bcdarwin ];
+    platforms = platforms.unix;
+    license = licenses.asl20;
+  };
+}
diff --git a/pkgs/development/libraries/slang/default.nix b/pkgs/development/libraries/slang/default.nix
index 70e9d6181d9..bcce457e78e 100644
--- a/pkgs/development/libraries/slang/default.nix
+++ b/pkgs/development/libraries/slang/default.nix
@@ -1,10 +1,10 @@
 { stdenv, fetchurl, ncurses, pcre, libpng, zlib, readline, libiconv }:
 
 stdenv.mkDerivation rec {
-  name = "slang-2.3.1a";
+  name = "slang-2.3.2";
   src = fetchurl {
     url = "http://www.jedsoft.org/releases/slang/${name}.tar.bz2";
-    sha256 = "0dlcy0hn0j6cj9qj5x6hpb0axifnvzzmv5jqq0wq14fygw0c7w2l";
+    sha256 = "06p379fqn6w38rdpqi98irxi2bf4llb0rja3dlgkqz7nqh7kp7pw";
   };
 
   outputs = [ "out" "dev" "man" "doc" ];
@@ -16,10 +16,23 @@ stdenv.mkDerivation rec {
     sed -i -e "s|/bin/ln|ln|" src/Makefile.in
     sed -i -e "s|-ltermcap|-lncurses|" ./configure
   '';
-  configureFlags = "--with-png=${libpng.dev} --with-z=${zlib.dev} --with-pcre=${pcre.dev} --with-readline=${readline.dev}";
-  buildInputs = [ pcre libpng zlib readline ] ++ stdenv.lib.optionals (stdenv.isDarwin) [ libiconv ];
+
+  configureFlags = [
+    "--with-png=${libpng.dev}"
+    "--with-z=${zlib.dev}"
+    "--with-pcre=${pcre.dev}"
+    "--with-readline=${readline.dev}"
+  ];
+
+  buildInputs = [
+    pcre libpng zlib readline
+  ] ++ stdenv.lib.optionals (stdenv.isDarwin) [ libiconv ];
+
   propagatedBuildInputs = [ ncurses ];
 
+  # slang 2.3.2 does not support parallel building
+  enableParallelBuilding = false;
+
   postInstall = ''
     find "$out"/lib/ -name '*.so' -exec chmod +x "{}" \;
     sed '/^Libs:/s/$/ -lncurses/' -i "$dev"/lib/pkgconfig/slang.pc
@@ -29,7 +42,7 @@ stdenv.mkDerivation rec {
     description = "A multi-platform programmer's library designed to allow a developer to create robust software";
     homepage = http://www.jedsoft.org/slang/;
     license = licenses.gpl2Plus;
+    maintainers = with maintainers; [ fuuzetsu ];
     platforms = platforms.unix;
-    maintainers = [ maintainers.fuuzetsu ];
   };
 }
diff --git a/pkgs/development/libraries/soxt/default.nix b/pkgs/development/libraries/soxt/default.nix
new file mode 100644
index 00000000000..13f037960b0
--- /dev/null
+++ b/pkgs/development/libraries/soxt/default.nix
@@ -0,0 +1,21 @@
+{ fetchurl, stdenv, coin3d, motif, xlibsWrapper, libGLU_combined }:
+
+stdenv.mkDerivation rec {
+  name = "soxt-${version}";
+  version = "1.3.0";
+
+  src = fetchurl {
+    url = "https://bitbucket.org/Coin3D/coin/downloads/SoXt-${version}.tar.gz";
+    sha256= "f5443aadafe8e2222b9b5a23d1f228bb0f3e7d98949b8ea8676171b7ea5bf013";
+  };
+
+  buildInputs = [ coin3d motif xlibsWrapper libGLU_combined ];
+
+  meta = with stdenv.lib; {
+    homepage = http://www.coin3d.org/;
+    license = licenses.bsd3;
+    description = "A GUI binding for using Open Inventor with Xt/Motif";
+    maintainers = with maintainers; [ tmplt ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/speech-tools/default.nix b/pkgs/development/libraries/speech-tools/default.nix
index fba35421355..22d66b7e71d 100644
--- a/pkgs/development/libraries/speech-tools/default.nix
+++ b/pkgs/development/libraries/speech-tools/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, gawk, alsaLib, ncurses }:
 
 stdenv.mkDerivation rec {
-  name = "speech_tools-${version}";
-  version = "2.1";
+  name = "speech_tools-${version}.0";
+  version = "2.5";
 
   src = fetchurl {
     url = "http://www.festvox.org/packed/festival/${version}/${name}-release.tar.gz";
-    sha256 = "1s9bkfgdgyas8v2cr7x3dg0ck1xf9mn1q6a73gwy524sjb6nfqgz";
+    sha256 = "1k2xh13miyv48gh06rgsq2vj25xwj7z6vwq9ilsn8i7ig3nrgzg4";
   };
 
   buildInputs = [ alsaLib ncurses ];
@@ -14,6 +14,10 @@ stdenv.mkDerivation rec {
   preConfigure = ''
     sed -e s@/usr/bin/@@g -i $( grep -rl '/usr/bin/' . )
     sed -re 's@/bin/(rm|printf|uname)@\1@g' -i $( grep -rl '/bin/' . )
+
+    # c99 makes isnan valid for float and double
+    substituteInPlace include/EST_math.h \
+      --replace '__isnanf(X)' 'isnan(X)'
   '';
 
   installPhase = ''
@@ -26,16 +30,17 @@ stdenv.mkDerivation rec {
     done
   '';
 
+  doCheck = true;
+
+  checkTarget = "test";
+
   meta = with stdenv.lib; {
-    broken = true;
     description = "Text-to-speech engine";
-    maintainers = with maintainers;
-    [
-      raskin
-    ];
+    maintainers = with maintainers; [ raskin ];
     platforms = platforms.linux;
     license = licenses.free;
   };
+
   passthru = {
     updateInfo = {
       downloadPage = "http://www.festvox.org/packed/festival/";
diff --git a/pkgs/development/libraries/spice-gtk/default.nix b/pkgs/development/libraries/spice-gtk/default.nix
index 05ddde9ddef..05fd952eb2e 100644
--- a/pkgs/development/libraries/spice-gtk/default.nix
+++ b/pkgs/development/libraries/spice-gtk/default.nix
@@ -1,8 +1,29 @@
 { stdenv, fetchurl, pkgconfig, spice-protocol, gettext, celt_0_5_1
 , openssl, libpulseaudio, pixman, gobjectIntrospection, libjpeg_turbo, zlib
 , cyrus_sasl, python2Packages, autoreconfHook, usbredir, libsoup
-, polkit, acl, usbutils, vala
-, gtk3, epoxy }:
+, withPolkit ? true, polkit, acl, usbutils
+, vala, gtk3, epoxy, libdrm }:
+
+# If this package is built with polkit support (withPolkit=true),
+# usb redirection reqires spice-client-glib-usb-acl-helper to run setuid root.
+# The helper confirms via polkit that the user has an active session,
+# then adds a device acl entry for that user.
+# Example NixOS config to create a setuid wrapper for the helper:
+# security.wrappers.spice-client-glib-usb-acl-helper.source =
+#   "${pkgs.spice-gtk}/bin/spice-client-glib-usb-acl-helper";
+# On non-NixOS installations, make a setuid copy of the helper
+# outside the store and adjust PATH to find the setuid version.
+
+# If this package is built without polkit support (withPolkit=false),
+# usb redirection requires read-write access to usb devices.
+# This can be granted by adding users to a custom group like "usb"
+# and using a udev rule to put all usb devices in that group.
+# Example NixOS config:
+#  users.groups.usb = {};
+#  users.users.dummy.extraGroups = [ "usb" ];
+#  services.udev.extraRules = ''
+#    KERNEL=="*", SUBSYSTEMS=="usb", MODE="0664", GROUP="usb"
+#  '';
 
 with stdenv.lib;
 
@@ -11,41 +32,34 @@ let
 in stdenv.mkDerivation rec {
   name = "spice-gtk-0.34";
 
+  outputs = [ "out" "dev" ];
+
   src = fetchurl {
     url = "http://www.spice-space.org/download/gtk/${name}.tar.bz2";
     sha256 = "1vknp72pl6v6nf3dphhwp29hk6gv787db2pmyg4m312z2q0hwwp9";
   };
 
-  buildInputs = [
-    spice-protocol celt_0_5_1 openssl libpulseaudio pixman gobjectIntrospection
-    libjpeg_turbo zlib cyrus_sasl python pygtk usbredir gtk3 epoxy
-    polkit acl usbutils
-  ];
+  postPatch = ''
+    # get rid of absolute path to helper in store so we can use a setuid wrapper
+    substituteInPlace src/usb-acl-helper.c \
+      --replace 'ACL_HELPER_PATH"/' '"'
+  '';
 
-  nativeBuildInputs = [ pkgconfig gettext libsoup autoreconfHook vala ];
+  buildInputs = [
+    spice-protocol celt_0_5_1 openssl libpulseaudio pixman
+    libjpeg_turbo zlib cyrus_sasl python pygtk usbredir gtk3 epoxy libdrm
+  ] ++ optionals withPolkit [ polkit acl usbutils ] ;
 
-  NIX_CFLAGS_COMPILE = "-fno-stack-protector";
+  nativeBuildInputs = [ pkgconfig gettext libsoup autoreconfHook vala gobjectIntrospection ];
 
-  # put polkit action in the $out/share/polkit-1/actions
-  preAutoreconf = ''
-    substituteInPlace configure.ac \
-      --replace 'POLICYDIR=`''${PKG_CONFIG} polkit-gobject-1 --variable=policydir`' "POLICYDIR=$out/share/polkit-1/actions"
-  '';
+  PKG_CONFIG_POLKIT_GOBJECT_1_POLICYDIR = "$(out)/share/polkit-1/actions";
 
   configureFlags = [
     "--with-gtk3"
+    "--enable-introspection"
+    "--enable-vala"
   ];
 
-  # usb redirection needs spice-client-glib-usb-acl-helper to run setuid root
-  # the helper then uses polkit to check access
-  # in nixos, enable this with
-  # security.wrappers.spice-client-glib-usb-acl-helper.source =
-  #   "${pkgs.spice_gtk}/bin/spice-client-glib-usb-acl-helper.real";
-  postFixup = ''
-    mv $out/bin/spice-client-glib-usb-acl-helper $out/bin/spice-client-glib-usb-acl-helper.real
-    ln -sf /run/wrappers/bin/spice-client-glib-usb-acl-helper $out/bin/spice-client-glib-usb-acl-helper
-  '';
-
   dontDisableStatic = true; # Needed by the coroutine test
 
   enableParallelBuilding = true;
diff --git a/pkgs/development/libraries/sqlcipher/default.nix b/pkgs/development/libraries/sqlcipher/default.nix
index ed19814be34..fbf7d8df53e 100644
--- a/pkgs/development/libraries/sqlcipher/default.nix
+++ b/pkgs/development/libraries/sqlcipher/default.nix
@@ -20,6 +20,8 @@ stdenv.mkDerivation rec {
   CFLAGS = [ "-DSQLITE_ENABLE_COLUMN_METADATA=1" "-DSQLITE_SECURE_DELETE=1" "-DSQLITE_ENABLE_UNLOCK_NOTIFY=1" "-DSQLITE_HAS_CODEC" ];
   LDFLAGS = lib.optional (readline != null) "-lncurses";
 
+  doCheck = false; # fails. requires tcl?
+
   meta = with stdenv.lib; {
     homepage = http://sqlcipher.net/;
     description = "Full Database Encryption for SQLite";
diff --git a/pkgs/development/libraries/sqlite/default.nix b/pkgs/development/libraries/sqlite/default.nix
index 0625183fb7d..b8b7d0c701d 100644
--- a/pkgs/development/libraries/sqlite/default.nix
+++ b/pkgs/development/libraries/sqlite/default.nix
@@ -3,11 +3,11 @@
 assert interactive -> readline != null && ncurses != null;
 
 stdenv.mkDerivation {
-  name = "sqlite-3.21.0";
+  name = "sqlite-3.22.0";
 
   src = fetchurl {
-    url = "http://sqlite.org/2017/sqlite-autoconf-3210000.tar.gz";
-    sha256 = "1qxvzdjwzw6k0kqjfabj86rnq87xdbwbca7laxxdhnh0fmkm3pfp";
+    url = "http://sqlite.org/2018/sqlite-autoconf-3220000.tar.gz";
+    sha256 = "04n6hnw2g818d7r92cp2608kd5mhzyysy83k29kbq1mp709an918";
   };
 
   outputs = [ "bin" "dev" "out" ];
@@ -31,6 +31,8 @@ stdenv.mkDerivation {
     "-DSQLITE_ENABLE_UNLOCK_NOTIFY"
     "-DSQLITE_SOUNDEX"
     "-DSQLITE_SECURE_DELETE"
+    "-DSQLITE_MAX_VARIABLE_NUMBER=250000"
+    "-DSQLITE_MAX_EXPR_DEPTH=10000"
   ];
 
   # Test for features which may not be available at compile time
diff --git a/pkgs/development/libraries/sqlite/sqlite3_analyzer.nix b/pkgs/development/libraries/sqlite/sqlite3_analyzer.nix
index d971587ee6e..1feedb94c15 100644
--- a/pkgs/development/libraries/sqlite/sqlite3_analyzer.nix
+++ b/pkgs/development/libraries/sqlite/sqlite3_analyzer.nix
@@ -1,11 +1,11 @@
 { lib, stdenv, fetchurl, unzip, tcl }:
 
 stdenv.mkDerivation {
-  name = "sqlite3_analyzer-3.20.1";
+  name = "sqlite3_analyzer-3.22.0";
 
   src = fetchurl {
-    url = "https://www.sqlite.org/2017/sqlite-src-3200100.zip";
-    sha256 = "0aicmapa99141hjncyxwg66ndhr16nwpbqy27x79fg1ikzhwlnv6";
+    url = "https://www.sqlite.org/2018/sqlite-src-3220000.zip";
+    sha256 = "04w97jj1659vl84rr73wg1mhj6by8r5075rzpn2xp42n537a7ibv";
   };
 
   nativeBuildInputs = [ unzip ];
diff --git a/pkgs/development/libraries/srtp/default.nix b/pkgs/development/libraries/srtp/default.nix
index d4ea531f886..29ad55eb9d9 100644
--- a/pkgs/development/libraries/srtp/default.nix
+++ b/pkgs/development/libraries/srtp/default.nix
@@ -5,13 +5,13 @@
 with stdenv.lib;
 stdenv.mkDerivation rec {
   name = "libsrtp-${version}";
-  version = "1.5.4";
+  version = "2.1.0";
 
   src = fetchFromGitHub {
     owner = "cisco";
     repo = "libsrtp";
     rev = "v${version}";
-    sha256 = "0s029m4iw0nsvnsm2hlz8yajrasdvf315iv2dw8mfm7nhbshwsqa";
+    sha256 = "1q2rf1d2bsypdnw9k8ag6hrh9vbinfa504d1f42fdgdqw31d6lib";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/development/libraries/stfl/default.nix b/pkgs/development/libraries/stfl/default.nix
index fd9ab5a2036..89261b665f5 100644
--- a/pkgs/development/libraries/stfl/default.nix
+++ b/pkgs/development/libraries/stfl/default.nix
@@ -13,8 +13,6 @@ stdenv.mkDerivation rec {
   buildPhase = ''
     sed -i s/gcc/cc/g Makefile
     sed -i s%ncursesw/ncurses.h%ncurses.h% stfl_internals.h
-  '' + stdenv.lib.optionalString (stdenv.hostPlatform.libc != "glibc") ''
-    sed -i 's/LDLIBS += -lncursesw/LDLIBS += -lncursesw -liconv/' Makefile
   '' + ( stdenv.lib.optionalString stdenv.isDarwin ''
     sed -i s/-soname/-install_name/ Makefile
   '' ) + ''
@@ -36,4 +34,3 @@ stdenv.mkDerivation rec {
     platforms   = stdenv.lib.platforms.unix;
   };
 }
-
diff --git a/pkgs/development/libraries/sundials/default.nix b/pkgs/development/libraries/sundials/default.nix
new file mode 100644
index 00000000000..7bf31499743
--- /dev/null
+++ b/pkgs/development/libraries/sundials/default.nix
@@ -0,0 +1,28 @@
+{ cmake, fetchurl, python, stdenv }:
+
+stdenv.mkDerivation rec {
+
+  pname = "sundials";
+  version = "3.1.1";
+  name = "${pname}-${version}";
+
+  src = fetchurl {
+  url = "https://computation.llnl.gov/projects/${pname}/download/${pname}-${version}.tar.gz";
+  sha256 = "090s8ymhd0g1s1d44fa73r5yi32hb4biwahhbfi327zd64yn8kd2";
+  };
+
+  preConfigure = ''
+    export cmakeFlags="-DCMAKE_INSTALL_PREFIX=$out -DEXAMPLES_INSTALL_PATH=$out/share/examples $cmakeFlags"
+  '';
+  
+  buildInputs = [ cmake python ];
+
+  meta = with stdenv.lib; {
+    description = "Suite of nonlinear differential/algebraic equation solvers";
+    homepage    = https://computation.llnl.gov/casc/sundials/main.html;
+    platforms   = platforms.all;
+    maintainers = [ maintainers.idontgetoutmuch ];
+    license     = licenses.bsd3;
+  };
+
+}
diff --git a/pkgs/development/libraries/swiften/default.nix b/pkgs/development/libraries/swiften/default.nix
index e6fb5a2b685..272967fcb99 100644
--- a/pkgs/development/libraries/swiften/default.nix
+++ b/pkgs/development/libraries/swiften/default.nix
@@ -1,14 +1,14 @@
 { stdenv, python, fetchurl, openssl, boost }:
 stdenv.mkDerivation rec {
   name    = "swiften-${version}";
-  version = "3.0beta2";
+  version = "4.0";
 
   buildInputs           = [ python ];
   propagatedBuildInputs = [ openssl boost ];
 
   src = fetchurl {
     url    = "http://swift.im/downloads/releases/swift-${version}/swift-${version}.tar.gz";
-    sha256 = "0i6ks122rry9wvg6qahk3yiggi7nlkpgws1z0r41vi4i1siq0ls0";
+    sha256 = "06bk45hxqmny8z7x78ycrfrazq6xdzv5c28i8x0lgc85j03b5dsh";
   };
   
   buildPhase = ''
diff --git a/pkgs/development/libraries/tachyon/default.nix b/pkgs/development/libraries/tachyon/default.nix
index b1649da6459..53e48eb8931 100644
--- a/pkgs/development/libraries/tachyon/default.nix
+++ b/pkgs/development/libraries/tachyon/default.nix
@@ -1,17 +1,57 @@
-{stdenv, fetchurl}:
+{ stdenv
+, fetchurl
+, fetchpatch
+, Carbon ? null
+, libjpeg ? null
+, libpng ? null
+, withJpegSupport ? true # support jpeg output
+, withPngSupport ? true # support png output
+}:
+
+assert withJpegSupport -> libjpeg != null;
+assert withPngSupport -> libpng != null;
+assert stdenv.isDarwin -> Carbon != null;
+
 stdenv.mkDerivation rec {
   name = "tachyon-${version}";
-  version = "0.98.9";
+  version = "0.99b2";
   src = fetchurl {
     url = "http://jedi.ks.uiuc.edu/~johns/tachyon/files/${version}/${name}.tar.gz";
-    sha256 = "1ms0xr4ibrzz291ibm265lyjrdjrmhfrx0a70hwykhsdxn6jk8y6";
+    sha256 = "04m0bniszyg7ryknj8laj3rl5sspacw5nr45x59j2swcsxmdvn1v";
   };
-  buildInputs = [];
-  preBuild = "cd unix";
-  arch = if stdenv.system == "x86_64-linux" then "linux-64-thr" else
-         if stdenv.system == "i686-linux"   then "linux-thr"    else
+  buildInputs = stdenv.lib.optionals stdenv.isDarwin [
+    Carbon
+  ] ++ stdenv.lib.optionals withJpegSupport [
+    libjpeg
+  ] ++ stdenv.lib.optionals withPngSupport [
+    libpng
+  ];
+  preBuild = ''
+    cd unix
+  '' + stdenv.lib.optionalString withJpegSupport ''
+    export USEJPEG=" -DUSEJPEG"
+    export JPEGLIB=" -ljpeg"
+  '' + stdenv.lib.optionalString withPngSupport ''
+    export USEPNG=" -DUSEPNG"
+    export PNGLIB=" -lpng -lz"
+  '';
+  arch = if stdenv.system == "x86_64-linux"   then "linux-64-thr"  else
+         if stdenv.system == "i686-linux"     then "linux-thr"     else
+         if stdenv.system == "aarch64-linux"  then "linux-arm-thr" else
+         if stdenv.system == "x86_64-darwin"  then "macosx-thr"    else
+         if stdenv.system == "i686-darwin"    then "macosx-64-thr" else
+         if stdenv.system == "i686-cygwin"    then "win32"         else
+         if stdenv.system == "x86_64-freebsd" then "bsd"           else
+         if stdenv.system == "x686-freebsd"   then "bsd"           else
          throw "Don't know what arch to select for tachyon build";
   makeFlags = "${arch}";
+  patches = [
+    # Remove absolute paths in Make-config (and unset variables so they can be set in preBuild)
+    ./no-absolute-paths.patch
+    # Include new targets (like arm)
+    ./make-archs.patch
+  ];
+
   installPhase = ''
     cd ../compile/${arch}
     mkdir -p "$out"/{bin,lib,include,share/doc/tachyon,share/tachyon}
@@ -26,7 +66,8 @@ stdenv.mkDerivation rec {
     description = ''A Parallel / Multiprocessor Ray Tracing System'';
     license = stdenv.lib.licenses.bsd3;
     maintainers = [stdenv.lib.maintainers.raskin];
-    platforms = stdenv.lib.platforms.linux;
+    # darwin fails due to missing Carbon.h, even though Carbon is a build input
+    platforms = with stdenv.lib.platforms; linux ++ cygwin;
     homepage = http://jedi.ks.uiuc.edu/~johns/tachyon/;
   };
 }
diff --git a/pkgs/development/libraries/tachyon/make-archs.patch b/pkgs/development/libraries/tachyon/make-archs.patch
new file mode 100644
index 00000000000..cf83f8c8c31
--- /dev/null
+++ b/pkgs/development/libraries/tachyon/make-archs.patch
@@ -0,0 +1,37 @@
+diff --git a/unix/Make-arch b/unix/Make-arch
+index 08afb85..dbeb691 100644
+--- a/unix/Make-arch
++++ b/unix/Make-arch
+@@ -920,6 +920,15 @@ macosx:
+ 	"RANLIB = ranlib" \
+ 	"LIBS = -L. -ltachyon $(MISCLIB)"
+ 
++macosx-64:
++	$(MAKE) all \
++	"ARCH = macosx" \
++	"CFLAGS = -Os -m64 -ffast-math -DBsd $(MISCFLAGS)" \
++	"ARFLAGS = r" \
++	"STRIP = strip" \
++	"RANLIB = ranlib" \
++	"LIBS = -L. -ltachyon $(MISCLIB)"
++
+ macosx-thr:
+ 	$(MAKE) all \
+ 	"ARCH = macosx-thr" \
+@@ -1209,6 +1218,16 @@ linux-thr:
+ 	"RANLIB = ranlib" \
+ 	"LIBS = -L. -ltachyon $(MISCLIB) -lm -lpthread"
+ 
++# Linux Arm using gcc, with threads
++linux-arm-thr:
++	$(MAKE) all \
++	"ARCH = linux-arm-thr" \
++	"CFLAGS = -Wall -O3 -fomit-frame-pointer -ffast-math -DLinux -DTHR -D_REENTRANT $(MISCFLAGS)" \
++	"ARFLAGS = r" \
++	"STRIP = strip" \
++	"RANLIB = ranlib" \
++	"LIBS = -L. -ltachyon $(MISCLIB) -lm -lpthread"
++
+ # Linux x86 using gcc, threads, and OpenGL
+ linux-thr-ogl:
+ 	$(MAKE) all \
diff --git a/pkgs/development/libraries/tachyon/no-absolute-paths.patch b/pkgs/development/libraries/tachyon/no-absolute-paths.patch
new file mode 100644
index 00000000000..faa3810fb5c
--- /dev/null
+++ b/pkgs/development/libraries/tachyon/no-absolute-paths.patch
@@ -0,0 +1,57 @@
+diff --git a/unix/Make-config b/unix/Make-config
+index ee4f388..c1d51d4 100644
+--- a/unix/Make-config
++++ b/unix/Make-config
+@@ -18,7 +18,7 @@
+ # Bourne Shell Configuration:
+ #   set SHELL=/bin/sh or wherever your bourne shell is
+ ##########################################################################
+-SHELL=/bin/sh
++# SHELL=/bin/sh
+ 
+ 
+ 
+@@ -30,7 +30,7 @@ SHELL=/bin/sh
+ 
+ # The following line should be set to -Ixxx where xxx is your X11 include path
+ # Sun puts X11 in /usr/openwin/xxx
+-X11INC= -I/usr/openwin/include
++# X11INC= -I/usr/openwin/include
+ 
+ # Others typically use /usr/X11 or /usr/X11R6
+ #X11INC= -I/usr/X11
+@@ -57,7 +57,7 @@ X11LIB= -lX11
+ ##########################################################################
+ 
+ # Standard MPICH installation location
+-MPIDIR=/usr/local/mpi
++# MPIDIR=/usr/local/mpi
+ 
+ # UMR CS Dept
+ #MPIDIR=/software/all/mpi
+@@ -108,9 +108,9 @@ MBOX=
+ #   http://www.ijg.org/files/
+ ##########################################################################
+ # Uncomment the following lines to disable JPEG support
+-USEJPEG=
+-JPEGINC=
+-JPEGLIB=
++# USEJPEG=
++# JPEGINC=
++# JPEGLIB=
+ 
+ # Uncomment the following lines to enable JPEG support
+ #USEJPEG= -DUSEJPEG
+@@ -128,9 +128,9 @@ JPEGLIB=
+ #   http://www.libpng.org/
+ ##########################################################################
+ # Uncomment the following lines to disable PNG support
+-USEPNG=
+-PNGINC=
+-PNGLIB=
++# USEPNG=
++# PNGINC=
++# PNGLIB=
+ 
+ # Uncomment the following lines to enable PNG support
+ #USEPNG= -DUSEPNG
diff --git a/pkgs/development/libraries/talloc/default.nix b/pkgs/development/libraries/talloc/default.nix
index 8b06e3f2e09..1d6818276eb 100644
--- a/pkgs/development/libraries/talloc/default.nix
+++ b/pkgs/development/libraries/talloc/default.nix
@@ -3,11 +3,11 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "talloc-2.1.11";
+  name = "talloc-2.1.12";
 
   src = fetchurl {
     url = "mirror://samba/talloc/${name}.tar.gz";
-    sha256 = "1lzfxv2zjxap5snf9ydl1bqgjpz0kgkq7n644f8rkbx0arav77k3";
+    sha256 = "0jv0ri9vj93fczzgl7rn7xvnfgl2kfx4x85cr8h8v52yh7v0qz4q";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/development/libraries/tevent/default.nix b/pkgs/development/libraries/tevent/default.nix
index c5c064142db..154db61894f 100644
--- a/pkgs/development/libraries/tevent/default.nix
+++ b/pkgs/development/libraries/tevent/default.nix
@@ -3,11 +3,11 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "tevent-0.9.35";
+  name = "tevent-0.9.36";
 
   src = fetchurl {
     url = "mirror://samba/tevent/${name}.tar.gz";
-    sha256 = "1s8nbkmqz8dzdlsd6qynhvyl05pw93r151f3i2kgjfpbck9ak8r5";
+    sha256 = "0k1v4vnlzpf7h3p4khaw8a7damrc68g136bf2xzys08nzpinnaxx";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/development/libraries/ti-rpc/default.nix b/pkgs/development/libraries/ti-rpc/default.nix
index d34a6dca783..99f0bb65441 100644
--- a/pkgs/development/libraries/ti-rpc/default.nix
+++ b/pkgs/development/libraries/ti-rpc/default.nix
@@ -1,21 +1,19 @@
 { fetchurl, fetchpatch, stdenv, autoreconfHook, libkrb5 }:
 
 stdenv.mkDerivation rec {
-  name = "libtirpc-1.0.2";
+  name = "libtirpc-1.0.3";
 
   src = fetchurl {
     url = "mirror://sourceforge/libtirpc/${name}.tar.bz2";
-    sha256 = "1xchbxy0xql7yl7z4n1icj8r7dmly46i22fvm00vdjq64zlmqg3j";
+    sha256 = "0ppxl3k3nsz0qdakq844i2kj4fvh9h937lhx26bgmpmxq67sghw6";
   };
 
-  patches = stdenv.lib.optional stdenv.hostPlatform.isMusl
-    (fetchpatch {
-      url = "https://raw.githubusercontent.com/openembedded/openembedded-core/2be873301420ec6ca2c70d899b7c49a7e2b0954d/meta/recipes-extended/libtirpc/libtirpc/0001-replace-__bzero-with-memset-API.patch";
-      sha256 = "1jmbn0j2bnjp0j9z5vzz5xiwyv3kd28w5pixbqsy2lz6q8nii7cf";
-    });
-
   postPatch = ''
     sed '1i#include <stdint.h>' -i src/xdr_sizeof.c
+  '' + stdenv.lib.optionalString stdenv.hostPlatform.isMusl ''
+    substituteInPlace tirpc/rpc/types.h \
+      --replace '#if defined __APPLE_CC__ || defined __FreeBSD__' \
+                '#if defined __APPLE_CC__ || defined __FreeBSD__ || !defined __GLIBC__'
   '';
 
   nativeBuildInputs = [ autoreconfHook ];
diff --git a/pkgs/development/libraries/tk/8.5.nix b/pkgs/development/libraries/tk/8.5.nix
index c3396dcdad2..141f6da14ce 100644
--- a/pkgs/development/libraries/tk/8.5.nix
+++ b/pkgs/development/libraries/tk/8.5.nix
@@ -8,4 +8,3 @@ callPackage ./generic.nix (args // rec {
   };
 
 })
-
diff --git a/pkgs/development/libraries/tk/8.6.nix b/pkgs/development/libraries/tk/8.6.nix
index 666332d45fb..cd8d42faa91 100644
--- a/pkgs/development/libraries/tk/8.6.nix
+++ b/pkgs/development/libraries/tk/8.6.nix
@@ -10,4 +10,3 @@ callPackage ./generic.nix (args // rec {
   patches = [ ./different-prefix-with-tcl.patch ] ++ stdenv.lib.optionals stdenv.isDarwin [ ./Fix-bad-install_name-for-libtk8.6.dylib.patch ];
 
 })
-
diff --git a/pkgs/development/libraries/tk/generic.nix b/pkgs/development/libraries/tk/generic.nix
index 843c6157479..34024b23e27 100644
--- a/pkgs/development/libraries/tk/generic.nix
+++ b/pkgs/development/libraries/tk/generic.nix
@@ -31,6 +31,8 @@ stdenv.mkDerivation {
 
   NIX_CFLAGS_LINK = if stdenv.isDarwin then "-lfontconfig" else null;
 
+  doCheck = false; # fails. can't find itself
+
   inherit tcl;
 
   passthru = rec {
diff --git a/pkgs/development/libraries/tnt/default.nix b/pkgs/development/libraries/tnt/default.nix
index 5e3d1600000..23ef997e5ce 100644
--- a/pkgs/development/libraries/tnt/default.nix
+++ b/pkgs/development/libraries/tnt/default.nix
@@ -5,7 +5,7 @@ stdenv.mkDerivation rec {
   version = "3.0.12";
   
   src = fetchurl {
-    url = http://math.nist.gov/tnt/tnt_3_0_12.zip;
+    url = https://math.nist.gov/tnt/tnt_3_0_12.zip;
     sha256 = "1bzkfdb598584qlc058n8wqq9vbz714gr5r57401rsa9qaxhk5j7";
   };
 
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = {
-    homepage = http://math.nist.gov/tnt/;
+    homepage = https://math.nist.gov/tnt/;
     description = "Template Numerical Toolkit: C++ headers for array and matrices";
     platforms = stdenv.lib.platforms.unix;
   };
diff --git a/pkgs/development/libraries/tokyo-tyrant/default.nix b/pkgs/development/libraries/tokyo-tyrant/default.nix
index ccd619e8bc1..7bf08a3560a 100644
--- a/pkgs/development/libraries/tokyo-tyrant/default.nix
+++ b/pkgs/development/libraries/tokyo-tyrant/default.nix
@@ -35,7 +35,7 @@ stdenv.mkDerivation rec {
 
     license = stdenv.lib.licenses.lgpl21Plus;
 
-    platforms = stdenv.lib.platforms.gnu;         # arbitrary choice
+    platforms = stdenv.lib.platforms.gnu ++ stdenv.lib.platforms.linux;         # arbitrary choice
     maintainers = [ ];
   };
 }
diff --git a/pkgs/development/libraries/tremor/default.nix b/pkgs/development/libraries/tremor/default.nix
index 5e08a61cd1b..5609f1d67d1 100644
--- a/pkgs/development/libraries/tremor/default.nix
+++ b/pkgs/development/libraries/tremor/default.nix
@@ -1,12 +1,12 @@
-{ stdenv, fetchsvn, autoreconfHook, pkgconfig, libogg }:
+{ stdenv, fetchgit, autoreconfHook, pkgconfig, libogg }:
 
 stdenv.mkDerivation rec {
-  name = "tremor-svn-${src.rev}";
+  name = "tremor-unstable-2018-03-16";
 
-  src = fetchsvn {
-    url = http://svn.xiph.org/trunk/Tremor;
-    rev = "17866";
-    sha256 = "161411cbefa1527da7a8fc087e78d8e21d19143d3a6eb42fb281e5026aad7568";
+  src = fetchgit {
+    url = https://git.xiph.org/tremor.git;
+    rev = "562307a4a7082e24553f3d2c55dab397a17c4b4f";
+    sha256 = "0m07gq4zfgigsiz8b518xyb19v7qqp76qmp7lb262825vkqzl3zq";
   };
 
   nativeBuildInputs = [ autoreconfHook pkgconfig ];
diff --git a/pkgs/development/libraries/umockdev/default.nix b/pkgs/development/libraries/umockdev/default.nix
index a0936310c42..0f727a9be47 100644
--- a/pkgs/development/libraries/umockdev/default.nix
+++ b/pkgs/development/libraries/umockdev/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   name = "umockdev-${version}";
-  version = "0.11";
+  version = "0.11.3";
 
   src = fetchFromGitHub {
     owner = "martinpitt";
     repo = "umockdev";
     rev = version;
-    sha256 ="1gpk2f03nad4qv084hx7549d68cqc1xibxm0ncanafm5xjz1hp55";
+    sha256 ="1z101yw7clxz39im3y435s3rj1gna3kp0fkj9wd62vxqvk68lhik";
   };
 
   buildInputs = [ glib systemd libgudev ];
@@ -21,5 +21,6 @@ stdenv.mkDerivation rec {
     description = "Mock hardware devices for creating unit tests";
     license = licenses.lgpl2;
     maintainers = [ maintainers.ndowens ];
+    platforms = with platforms; linux;
   };
 }
diff --git a/pkgs/development/libraries/unibilium/default.nix b/pkgs/development/libraries/unibilium/default.nix
index 7c92e7224f9..717edda18a2 100644
--- a/pkgs/development/libraries/unibilium/default.nix
+++ b/pkgs/development/libraries/unibilium/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, fetchFromGitHub, libtool, pkgconfig, perl }:
+{ stdenv, lib, fetchFromGitHub, libtool, pkgconfig, perl, ncurses }:
 
 stdenv.mkDerivation rec {
   name = "unibilium-${version}";
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
     ++ stdenv.lib.optional stdenv.isDarwin "LIBTOOL=${libtool}/bin/libtool";
 
   nativeBuildInputs = [ pkgconfig perl ];
-  buildInputs = [ libtool ];
+  buildInputs = [ libtool ncurses ];
 
   meta = with lib; {
     description = "A very basic terminfo library";
diff --git a/pkgs/development/libraries/unixODBC/default.nix b/pkgs/development/libraries/unixODBC/default.nix
index 7d59866d043..ccd243e1f73 100644
--- a/pkgs/development/libraries/unixODBC/default.nix
+++ b/pkgs/development/libraries/unixODBC/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "unixODBC-${version}";
-  version = "2.3.5";
+  version = "2.3.6";
 
   src = fetchurl {
     url = "ftp://ftp.unixodbc.org/pub/unixODBC/${name}.tar.gz";
-    sha256 = "0ns93daph4wmk92d7m2w48x0yki4m1yznxnn97p1ldn6bkh742bn";
+    sha256 = "0sads5b8cmmj526gyjba7ccknl1vbhkslfqshv1yqln08zv3gdl8";
   };
 
   configureFlags = [ "--disable-gui" "--sysconfdir=/etc" ];
diff --git a/pkgs/development/libraries/unixODBCDrivers/default.nix b/pkgs/development/libraries/unixODBCDrivers/default.nix
index badcb7e661b..5f8e2442726 100644
--- a/pkgs/development/libraries/unixODBCDrivers/default.nix
+++ b/pkgs/development/libraries/unixODBCDrivers/default.nix
@@ -5,11 +5,11 @@
 {
   psql = stdenv.mkDerivation rec {
     name = "psqlodbc-${version}";
-    version = "09.05.0210";
+    version = "10.01.0000";
 
     src = fetchurl {
       url = "http://ftp.postgresql.org/pub/odbc/versions/src/${name}.tar.gz";
-      sha256 = "0317zrxaiy209xzcc6b5sz6hsyiv4zm74iikp91rgz7z3ll4n4dc";
+      sha256 = "1cyams7157f3gry86x64xrplqi2vyqrq3rqka59gv4lb4rpl7jl7";
     };
 
     buildInputs = [ unixODBC postgresql ];
@@ -45,7 +45,7 @@
 
     passthru = {
       fancyName = "MariaDB";
-      driver = "lib/libmyodbc3-3.51.12.so";
+      driver = "lib/libmaodbc.so";
     };
 
     meta = with stdenv.lib; {
diff --git a/pkgs/development/libraries/usbredir/default.nix b/pkgs/development/libraries/usbredir/default.nix
index 507c494ea27..515c3b2ca3b 100644
--- a/pkgs/development/libraries/usbredir/default.nix
+++ b/pkgs/development/libraries/usbredir/default.nix
@@ -9,9 +9,7 @@ stdenv.mkDerivation rec {
     sha256 = "1wsnmk4wjpdhbn1zaxg6bmyxspcki2zgy0am9lk037rnl4krwzj0";
   };
 
-  # Works around bunch of "format '%lu' expects argument of type 'long unsigned int', but argument 4 has type 'uint64_t {aka long long unsigned int}'" warnings
-  NIX_CFLAGS_COMPILE = stdenv.lib.optional (!stdenv.is64bit) "-Wno-error=format"
-    ++ [ "-Wno-error=format-truncation" ]; # newly detected with gcc-7
+  NIX_CFLAGS_COMPILE = [ "-Wno-error" ];
 
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ libusb ];
diff --git a/pkgs/development/libraries/utf8proc/default.nix b/pkgs/development/libraries/utf8proc/default.nix
index 48c2428bbcd..89dbeaab04a 100644
--- a/pkgs/development/libraries/utf8proc/default.nix
+++ b/pkgs/development/libraries/utf8proc/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "utf8proc-${version}";
-  version = "2.1.0";
+  version = "2.1.1";
 
   src = fetchurl {
     url = "https://github.com/JuliaLang/utf8proc/archive/v${version}.tar.gz";
-    sha256 = "0q1jhdkk4f9b0zb8s2ql3sba3br5nvjsmbsaybmgj064k9hwbk15";
+    sha256 = "1cnpigrazhslw65s4j1a56j7p6d7d61wsxxjf1218i9mkwv2yw17";
   };
 
   makeFlags = [ "prefix=$(out)" ];
diff --git a/pkgs/development/libraries/v8/default.nix b/pkgs/development/libraries/v8/default.nix
index 3246c23ab02..099794f6623 100644
--- a/pkgs/development/libraries/v8/default.nix
+++ b/pkgs/development/libraries/v8/default.nix
@@ -156,10 +156,12 @@ stdenv.mkDerivation rec {
   '';
 
   nativeBuildInputs = [ which ];
-  buildInputs = [ readline python icu patchelf ]
-  ++ stdenv.lib.optionals stdenv.isDarwin [ cctools ];
+  buildInputs = [ readline python icu ]
+    ++ stdenv.lib.optional stdenv.isDarwin cctools
+    ++ stdenv.lib.optional stdenv.isLinux patchelf;
 
-  NIX_CFLAGS_COMPILE = "-Wno-error=strict-overflow -Wno-error=unused-function -Wno-error=attributes";
+  NIX_CFLAGS_COMPILE = "-Wno-error=strict-overflow -Wno-error=unused-function -Wno-error=attributes"
+    + stdenv.lib.optionalString stdenv.cc.isClang " -Wno-error=unused-lambda-capture";
 
   buildFlags = [
     "LINK=c++"
diff --git a/pkgs/development/libraries/vaapi-intel/default.nix b/pkgs/development/libraries/vaapi-intel/default.nix
index a784461c96b..4e729db4671 100644
--- a/pkgs/development/libraries/vaapi-intel/default.nix
+++ b/pkgs/development/libraries/vaapi-intel/default.nix
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
     owner  = "01org";
     repo   = "libva-intel-driver";
     rev    = version;
-    sha256 = "1832nnva3d33wv52bj59bv62q7a807sdxjqqq0my7l9x7a4qdkzz";
+    sha256 = "15ag4al9h6b8f8sw1zpighyhsmr5qfqp1882q7r3gsh5g4cnj763";
   };
 
   patchPhase = ''
diff --git a/pkgs/development/libraries/vapoursynth/default.nix b/pkgs/development/libraries/vapoursynth/default.nix
index 24c4a50d874..e45337c8cf5 100644
--- a/pkgs/development/libraries/vapoursynth/default.nix
+++ b/pkgs/development/libraries/vapoursynth/default.nix
@@ -1,8 +1,8 @@
 { stdenv, fetchFromGitHub, pkgconfig, autoreconfHook
 , zimg, libass, python3, libiconv
 , ApplicationServices, nasm
-, ocrSupport ?  false, tesseract
-, imwriSupport? true,  imagemagick7
+, ocrSupport ?  false, tesseract ? null
+, imwriSupport? true,  imagemagick7 ? null
 }:
 
 assert ocrSupport   -> tesseract != null;
@@ -12,13 +12,13 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   name = "vapoursynth-${version}";
-  version = "R40";
+  version = "R43";
 
   src = fetchFromGitHub {
     owner  = "vapoursynth";
     repo   = "vapoursynth";
     rev    = version;
-    sha256 = "1ycc3fdhhryp7hap80z3qmh89br31kcswzp8ai3wlc07zfvcrfck";
+    sha256 = "01yzxggjxr6fz3wj81z6vgp9m4jqddyk73i22kz2x620cpdgb9j9";
   };
 
   nativeBuildInputs = [ pkgconfig autoreconfHook nasm ];
@@ -39,7 +39,7 @@ stdenv.mkDerivation rec {
     description = "A video processing framework with the future in mind";
     homepage    = http://www.vapoursynth.com/;
     license     = licenses.lgpl21;
-    platforms   = platforms.unix;
+    platforms   = platforms.x86_64;
     maintainers = with maintainers; [ rnhmjoj ];
   };
 
diff --git a/pkgs/development/libraries/vcdimager/default.nix b/pkgs/development/libraries/vcdimager/default.nix
index 48ad33424f6..ddecf4a96a7 100644
--- a/pkgs/development/libraries/vcdimager/default.nix
+++ b/pkgs/development/libraries/vcdimager/default.nix
@@ -1,4 +1,5 @@
-{ stdenv, lib, fetchurl, pkgconfig, libcdio, libxml2, popt }:
+{ stdenv, lib, fetchurl, pkgconfig, libcdio, libxml2, popt
+, libiconv, darwin }:
 
 stdenv.mkDerivation rec {
   name = "vcdimager-2.0.1";
@@ -10,14 +11,15 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkgconfig ];
 
-  buildInputs = [ libxml2 popt ];
+  buildInputs = [ libxml2 popt libiconv ]
+             ++ lib.optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [ IOKit DiskArbitration ]);
 
   propagatedBuildInputs = [ libcdio ];
 
   meta = with lib; {
     homepage = http://www.gnu.org/software/vcdimager/;
     description = "Full-featured mastering suite for authoring, disassembling and analyzing Video CDs and Super Video CDs";
-    platforms = platforms.gnu; # random choice
+    platforms = platforms.unix;
     license = licenses.gpl2;
   };
 }
diff --git a/pkgs/development/libraries/virglrenderer/default.nix b/pkgs/development/libraries/virglrenderer/default.nix
index 0d9abc0247e..2cd3b5a20c0 100644
--- a/pkgs/development/libraries/virglrenderer/default.nix
+++ b/pkgs/development/libraries/virglrenderer/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, libGLU, epoxy, libX11 }:
+{ stdenv, fetchurl, pkgconfig, libGLU, epoxy, libX11, libdrm, mesa_noglu }:
 
 
 stdenv.mkDerivation rec {
@@ -11,10 +11,15 @@ stdenv.mkDerivation rec {
     sha256 = "a549e351e0eb2ad1df471386ddcf85f522e7202808d1616ee9ff894209066e1a";
   };
 
-  buildInputs = [ libGLU epoxy libX11 ];
+  buildInputs = [ libGLU epoxy libX11 libdrm mesa_noglu ];
 
   nativeBuildInputs = [ pkgconfig ];
 
+  # Fix use of fd_set without proper include
+  prePatch = ''
+    sed -e '1i#include <sys/select.h>' -i vtest/util.c
+  '';
+
   meta = with stdenv.lib; {
     description = "A virtual 3D GPU library that allows a qemu guest to use the host GPU for accelerated 3D rendering";
     homepage = https://virgil3d.github.io/;
diff --git a/pkgs/development/libraries/vo-amrwbenc/default.nix b/pkgs/development/libraries/vo-amrwbenc/default.nix
new file mode 100644
index 00000000000..ba6e437ca3c
--- /dev/null
+++ b/pkgs/development/libraries/vo-amrwbenc/default.nix
@@ -0,0 +1,22 @@
+{ stdenv, fetchurl, autoreconfHook }:
+
+let
+    version = "0.1.3";
+in
+stdenv.mkDerivation {
+  name = "vo-amrwbenc-${version}";
+  version = "0.1.3";
+  buildInputs = [ autoreconfHook ];
+  src = fetchurl {
+    url = "https://github.com/mstorsjo/vo-amrwbenc/archive/v${version}.tar.gz";
+    sha256 = "85c79997ba7ddb9c95b5ddbe9ea032e27595390f3cbd686ed46a69e485cc053c";
+  };
+
+  meta = {
+    homepage = "http://sourceforge.net/projects/opencore-amr/";
+    description = "VisualOn Adaptive Multi Rate Wideband (AMR-WB) encoder";
+    license = "stdenv.lib.licenses.apache";
+    maintainers = [ stdenv.lib.maintainers.Esteth ];
+    platforms = stdenv.lib.platforms.unix;
+  };
+}
diff --git a/pkgs/development/libraries/vulkan-loader/default.nix b/pkgs/development/libraries/vulkan-loader/default.nix
index 4bc64203051..b9b18dc7910 100644
--- a/pkgs/development/libraries/vulkan-loader/default.nix
+++ b/pkgs/development/libraries/vulkan-loader/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchgit, fetchFromGitHub, cmake, pkgconfig, git, python3,
   python3Packages, glslang, spirv-tools, x11, libxcb, libXrandr,
-  libXext, wayland, libGL, makeWrapper }:
+  libXext, wayland, libGL_driver, makeWrapper }:
 
 let
-  version = "1.0.61.1";
+  version = "1.1.70.0";
   src = fetchFromGitHub {
     owner = "KhronosGroup";
     repo = "Vulkan-LoaderAndValidationLayers";
     rev = "sdk-${version}";
-    sha256 = "043kw6wnrpdplnb40x6n9rgf3gygsn9jiv91y458sydbhalfr945";
+    sha256 = "1a7xwl65bi03l4zbjq54qkxjb8kb4m78qvw8bas5alhf9v6i6yqp";
   };
 in
 
@@ -18,23 +18,28 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ makeWrapper pkgconfig ];
   buildInputs = [ cmake git python3 python3Packages.lxml
-                  glslang spirv-tools x11 libxcb libXrandr libXext wayland
+                  glslang x11 libxcb libXrandr libXext wayland
                 ];
   enableParallelBuilding = true;
 
   cmakeFlags = [
     "-DBUILD_WSI_MIR_SUPPORT=OFF"
-    "-DFALLBACK_DATA_DIRS=${libGL.driverLink}/share:/usr/local/share:/usr/share"
+    "-DFALLBACK_DATA_DIRS=${libGL_driver.driverLink}/share:/usr/local/share:/usr/share"
   ];
 
   outputs = [ "out" "dev" "demos" ];
+  patches = [ ./rev-file.patch ];
+
+  postUnpack = ''
+    # Hack so a version header can be generated. Relies on ./rev-file.patch to work.
+    mkdir -p "$sourceRoot/external/glslang/External"
+    echo "${spirv-tools.src.rev}" > "$sourceRoot/external/glslang/External/spirv-tools"
+  '';
 
   preConfigure = ''
     checkRev() {
       [ "$2" = $(cat "external_revisions/$1_revision") ] || (echo "ERROR: dependency $1 is revision $2 but should be revision" $(cat "external_revisions/$1_revision") && exit 1)
     }
-    checkRev spirv-tools "${spirv-tools.src.rev}"
-    checkRev spirv-headers "${spirv-tools.headers.rev}"
     checkRev glslang "${glslang.src.rev}"
   '';
 
@@ -43,8 +48,8 @@ stdenv.mkDerivation rec {
     cp -d loader/libvulkan.so* $out/lib
     cp demos/vulkaninfo $out/bin
     mkdir -p $out/lib $out/share/vulkan/explicit_layer.d
-    cp -d layers/*.so $out/lib/
-    cp -d layers/*.json $out/share/vulkan/explicit_layer.d/
+    cp -L layers/*.so $out/lib/
+    cp -L layers/*.json $out/share/vulkan/explicit_layer.d/
     sed -i "s:\\./lib:$out/lib/lib:g" "$out/share/vulkan/"*/*.json
     mkdir -p $dev/include
     cp -rv ../include $dev/
diff --git a/pkgs/development/libraries/vulkan-loader/rev-file.patch b/pkgs/development/libraries/vulkan-loader/rev-file.patch
new file mode 100644
index 00000000000..e8f9f92c8ea
--- /dev/null
+++ b/pkgs/development/libraries/vulkan-loader/rev-file.patch
@@ -0,0 +1,21 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index c9f73ce96..d14ffeed9 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -339,13 +339,13 @@ macro(run_vk_xml_generate dependency output)
+ endmacro()
+ 
+ # Define macro used for generating header files containing commit IDs for external dependencies
+-macro(run_external_revision_generate source_dir symbol_name output)
++macro(run_external_revision_generate rev_file symbol_name output)
+     add_custom_command(OUTPUT ${output}
+     # NOTE: If you modify this call to use --rev_file instead of --git_dir (to read the commit ID from a file instead of
+     # parsing from a Git repository), you probably also want to add the revision file to the list of DEPENDS on the
+     # subsequent line (to ensure that the script is re-run when the revision file is modified).
+-    COMMAND ${PYTHON_CMD} ${SCRIPTS_DIR}/external_revision_generator.py --git_dir ${source_dir} -s ${symbol_name} -o ${output}
+-    DEPENDS ${SCRIPTS_DIR}/external_revision_generator.py ${source_dir}/.git/HEAD ${source_dir}/.git/index
++    COMMAND ${PYTHON_CMD} ${SCRIPTS_DIR}/external_revision_generator.py --rev_file ${rev_file} -s ${symbol_name} -o ${output}
++    DEPENDS ${SCRIPTS_DIR}/external_revision_generator.py ${rev_file}
+     )
+ endmacro()
+ 
diff --git a/pkgs/development/libraries/wayland/default.nix b/pkgs/development/libraries/wayland/default.nix
index a5b7a6a99ce..bbc33f33e70 100644
--- a/pkgs/development/libraries/wayland/default.nix
+++ b/pkgs/development/libraries/wayland/default.nix
@@ -8,11 +8,11 @@ assert expat != null;
 
 stdenv.mkDerivation rec {
   name = "wayland-${version}";
-  version = "1.14.0";
+  version = "1.15.0";
 
   src = fetchurl {
     url = "https://wayland.freedesktop.org/releases/${name}.tar.xz";
-    sha256 = "1f3sla6h0bw15fz8pjc67jhwj7pwmfdc7qlj42j5k9v116ycm07d";
+    sha256 = "1c5fnys8hi71cnzjv5k7j0r8gx80p0yyqlrpmn06mmarhnxvwgzb";
   };
 
   configureFlags = [ "--with-scanner" "--disable-documentation" ];
diff --git a/pkgs/development/libraries/wayland/protocols.nix b/pkgs/development/libraries/wayland/protocols.nix
index 5b1495ccbe1..c1065b20e6b 100644
--- a/pkgs/development/libraries/wayland/protocols.nix
+++ b/pkgs/development/libraries/wayland/protocols.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   name = "wayland-protocols-${version}";
-  version = "1.11";
+  version = "1.14";
 
   src = fetchurl {
     url = "http://wayland.freedesktop.org/releases/${name}.tar.xz";
-    sha256 = "0138psvx6fv8z5x2p6xi4iij6m5k62c0qyfsb45xgcf5a4fyxz1s";
+    sha256 = "1xknjcfhqvdi1s4iq4kk1q61fg2rar3g8q4vlqarpd324imqjj4n";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/development/libraries/wcslib/default.nix b/pkgs/development/libraries/wcslib/default.nix
index 64c5293fac7..5dd79980680 100644
--- a/pkgs/development/libraries/wcslib/default.nix
+++ b/pkgs/development/libraries/wcslib/default.nix
@@ -1,14 +1,14 @@
 { fetchurl,  stdenv, flex }:
 
 stdenv.mkDerivation rec {
-  version = "5.15";
+  version = "5.18";
   name = "wcslib-${version}";
 
   buildInputs = [ flex ];
 
   src = fetchurl {
     url = "ftp://ftp.atnf.csiro.au/pub/software/wcslib/${name}.tar.bz2";
-    sha256 ="1s2nig327g4bimd9xshlk11ww09a7mrjmsbpdcd8smsmn2kl1glb";
+    sha256 ="16jh568k99c9p0y3qzcgps2rii933x9wlay7q1xm0lr59zqzp4xn";
   };
 
   prePatch = ''
diff --git a/pkgs/development/libraries/webkitgtk/2.18.nix b/pkgs/development/libraries/webkitgtk/2.18.nix
deleted file mode 100644
index cecac45a3dc..00000000000
--- a/pkgs/development/libraries/webkitgtk/2.18.nix
+++ /dev/null
@@ -1,106 +0,0 @@
-{ stdenv, fetchurl, perl, python2, ruby, bison, gperf, cmake
-, pkgconfig, gettext, gobjectIntrospection, libnotify, gnutls
-, gtk3, wayland, libwebp, enchant, xlibs, libxkbcommon, epoxy, at-spi2-core
-, libxml2, libsoup, libsecret, libxslt, harfbuzz, libpthreadstubs, pcre, nettle, libtasn1, p11-kit
-, libidn, libedit, readline, libGLU_combined, libintlOrEmpty
-, enableGeoLocation ? true, geoclue2, sqlite
-, enableGtk2Plugins ? false, gtk2 ? null
-, gst-plugins-base, gst-plugins-bad
-}:
-
-assert enableGeoLocation -> geoclue2 != null;
-assert enableGtk2Plugins -> gtk2 != null;
-assert stdenv.isDarwin -> !enableGtk2Plugins;
-
-with stdenv.lib;
-stdenv.mkDerivation rec {
-  name = "webkitgtk-${version}";
-  version = "2.18.6";
-
-  meta = {
-    description = "Web content rendering engine, GTK+ port";
-    homepage = https://webkitgtk.org/;
-    license = licenses.bsd2;
-    platforms = with platforms; linux ++ darwin;
-    hydraPlatforms = [];
-    maintainers = with maintainers; [ ];
-  };
-
-  postConfigure = optionalString stdenv.isDarwin ''
-    substituteInPlace Source/WebKit2/CMakeFiles/WebKit2.dir/link.txt \
-        --replace "../../lib/libWTFGTK.a" ""
-    substituteInPlace Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/link.txt \
-        --replace "../../lib/libbmalloc.a" ""
-    sed -i "s|[\./]*\.\./lib/lib[^\.]*\.a||g" \
-        Source/JavaScriptCore/CMakeFiles/LLIntOffsetsExtractor.dir/link.txt \
-        Source/JavaScriptCore/shell/CMakeFiles/jsc.dir/link.txt \
-        Source/JavaScriptCore/shell/CMakeFiles/testb3.dir/link.txt \
-        Source/WebKit2/CMakeFiles/DatabaseProcess.dir/link.txt \
-        Source/WebKit2/CMakeFiles/NetworkProcess.dir/link.txt \
-        Source/WebKit2/CMakeFiles/webkit2gtkinjectedbundle.dir/link.txt \
-        Source/WebKit2/CMakeFiles/WebProcess.dir/link.txt
-    substituteInPlace Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/link.txt \
-        --replace "../../lib/libWTFGTK.a" "-Wl,-all_load ../../lib/libWTFGTK.a"
-  '';
-
-  src = fetchurl {
-    url = "http://webkitgtk.org/releases/${name}.tar.xz";
-    sha256 = "0g5cpdijjv5hlrbi4i4dh97yrh5apnyvm90wpr9f84hgyk12r4ck";
-  };
-
-  # see if we can clean this up....
-
-  patches = [ ./finding-harfbuzz-icu.patch ]
-     ++ optionals stdenv.isDarwin [
-    ./PR-152650-2.patch
-    ./PR-153138.patch
-    ./PR-157554.patch
-    ./PR-157574.patch
-  ];
-
-  cmakeFlags = [
-  "-DPORT=GTK"
-  "-DUSE_LIBHYPHEN=0"
-  ]
-  ++ optional (!enableGtk2Plugins) "-DENABLE_PLUGIN_PROCESS_GTK2=OFF"
-  ++ optional stdenv.isLinux "-DENABLE_GLES2=ON"
-  ++ optionals stdenv.isDarwin [
-  "-DUSE_SYSTEM_MALLOC=ON"
-  "-DUSE_ACCELERATE=0"
-  "-DENABLE_INTROSPECTION=ON"
-  "-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"
-  ];
-
-  NIX_CFLAGS_COMPILE = optionalString stdenv.isDarwin " -lintl";
-
-  nativeBuildInputs = [
-    cmake perl python2 ruby bison gperf
-    pkgconfig gettext gobjectIntrospection
-  ];
-
-  buildInputs = libintlOrEmpty ++ [
-    libwebp enchant libnotify gnutls pcre nettle libidn
-    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 xlibs; [ libXdmcp libXt libXtst ])
-    ++ optionals stdenv.isDarwin [ libedit readline libGLU_combined ]
-    ++ optional stdenv.isLinux wayland;
-
-  propagatedBuildInputs = [
-    libsoup gtk3
-  ];
-
-  enableParallelBuilding = true;
-
-  outputs = [ "out" "dev" ];
-}
diff --git a/pkgs/development/libraries/webkitgtk/2.20.nix b/pkgs/development/libraries/webkitgtk/2.20.nix
new file mode 100644
index 00000000000..8b25a20d8eb
--- /dev/null
+++ b/pkgs/development/libraries/webkitgtk/2.20.nix
@@ -0,0 +1,89 @@
+{ 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.2";
+
+  meta = {
+    description = "Web content rendering engine, GTK+ port";
+    homepage = https://webkitgtk.org/;
+    license = licenses.bsd2;
+    platforms = with platforms; linux ++ darwin;
+    hydraPlatforms = [];
+    maintainers = with maintainers; [ ];
+  };
+
+  src = fetchurl {
+    url = "http://webkitgtk.org/releases/${name}.tar.xz";
+    sha256 = "1qi6nnj4qidzija1am9xscwjxwfqwhiy7x39ndriqgzh86i97znz";
+  };
+
+  patches = optionals stdenv.isDarwin [
+    ## TODO add necessary patches for Darwin
+  ];
+
+  postPatch = ''
+    patchShebangs .
+  '';
+
+  postConfigure = ''
+    # A stopgap for a non-deterministic build failure when using only one core
+    # Upstream bug: https://bugs.webkit.org/show_bug.cgi?id=183788#c4
+    ninja JavaScriptCoreForwardingHeaders WTFForwardingHeaders
+  '';
+
+  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 18d20bf9c78..39a76a74711 100644
--- a/pkgs/development/libraries/webkitgtk/2.4.nix
+++ b/pkgs/development/libraries/webkitgtk/2.4.nix
@@ -89,7 +89,7 @@ stdenv.mkDerivation rec {
   buildInputs = [
     gtk2 libwebp enchant
     libxml2 libxslt
-    gst-plugins-base sqlite xorg.libXt
+    gst-plugins-base sqlite xorg.libXt xorg.libXdamage
   ] ++ optionals enableCredentialStorage [
     libsecret
   ] ++ (if stdenv.isDarwin then [
diff --git a/pkgs/development/libraries/webkitgtk/PR-152650-2.patch b/pkgs/development/libraries/webkitgtk/PR-152650-2.patch
deleted file mode 100644
index f87b8ee73e2..00000000000
--- a/pkgs/development/libraries/webkitgtk/PR-152650-2.patch
+++ /dev/null
@@ -1,62 +0,0 @@
-From 4607ea0a569b3c527ae8dce341ab55eb0d69d8f7 Mon Sep 17 00:00:00 2001
-From: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
-Date: Tue, 8 Mar 2016 17:26:23 -0800
-Subject: [PATCH 2/2] [GTK][Mac] Enable support for gtk-doc on Mac
-
-https://bugs.webkit.org/show_bug.cgi?id=152650
-
-Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
----
- ChangeLog                     | 10 ++++++++++
- Source/PlatformGTK.cmake      |  2 +-
- Source/cmake/OptionsGTK.cmake |  5 -----
- 3 files changed, 11 insertions(+), 6 deletions(-)
-
-diff --git a/Source/PlatformGTK.cmake b/Source/PlatformGTK.cmake
-index af4d2e3..0b11b56 100644
---- a/Source/PlatformGTK.cmake
-+++ b/Source/PlatformGTK.cmake
-@@ -34,7 +34,7 @@ endmacro()
- add_gtkdoc_generator("docs-build.stamp" "")
- if (ENABLE_GTKDOC)
-     add_custom_target(gtkdoc ALL DEPENDS "${CMAKE_BINARY_DIR}/docs-build.stamp")
--elseif (NOT ENABLED_COMPILER_SANITIZERS AND NOT CMAKE_CROSSCOMPILING AND NOT APPLE)
-+elseif (NOT ENABLED_COMPILER_SANITIZERS AND NOT CMAKE_CROSSCOMPILING)
-     add_custom_target(gtkdoc DEPENDS "${CMAKE_BINARY_DIR}/docs-build.stamp")
- 
-     # Add a default build step which check that documentation does not have any warnings
-diff --git a/Source/cmake/OptionsGTK.cmake b/Source/cmake/OptionsGTK.cmake
-index 6b01f1a..b443d10 100644
---- a/Source/cmake/OptionsGTK.cmake
-+++ b/Source/cmake/OptionsGTK.cmake
-@@ -424,11 +424,6 @@ if (CMAKE_CROSSCOMPILING)
-     set(ENABLE_INTROSPECTION OFF)
- endif ()
- 
--# Override the cached variable, gtk-doc does not really work when building on Mac.
--if (APPLE)
--    set(ENABLE_GTKDOC OFF)
--endif ()
--
- set(DERIVED_SOURCES_WEBKITGTK_DIR ${DERIVED_SOURCES_DIR}/webkitgtk)
- set(DERIVED_SOURCES_WEBKITGTK_API_DIR ${DERIVED_SOURCES_WEBKITGTK_DIR}/webkit)
- set(DERIVED_SOURCES_WEBKIT2GTK_DIR ${DERIVED_SOURCES_DIR}/webkit2gtk)
-diff --git a/Tools/gtk/gtkdoc.py b/Tools/gtk/gtkdoc.py
-index 4c8237b..a628ae0 100644
---- a/Tools/gtk/gtkdoc.py
-+++ b/Tools/gtk/gtkdoc.py
-@@ -322,6 +322,11 @@ class GTKDoc(object):
-                 env['RUN'] = 'LD_LIBRARY_PATH="%s:%s" ' % (self.library_path, current_ld_library_path)
-             else:
-                 env['RUN'] = 'LD_LIBRARY_PATH="%s" ' % self.library_path
-+            current_dyld_library_path = env.get('DYLD_LIBRARY_PATH')
-+            if current_ld_library_path:
-+                env['RUN'] = 'DYLD_LIBRARY_PATH="%s:%s" ' % (self.library_path, current_dyld_library_path)
-+            else:
-+                env['RUN'] = 'DYLD_LIBRARY_PATH="%s" ' % self.library_path
- 
-         if ldflags:
-             env['LDFLAGS'] = '%s %s' % (ldflags, env.get('LDFLAGS', ''))
--- 
-2.7.2
-
diff --git a/pkgs/development/libraries/webkitgtk/PR-153138.patch b/pkgs/development/libraries/webkitgtk/PR-153138.patch
deleted file mode 100644
index 833921f6806..00000000000
--- a/pkgs/development/libraries/webkitgtk/PR-153138.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From 07886d9eacb7587dd52a9bcae10c1fc8ab56a910 Mon Sep 17 00:00:00 2001
-From: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
-Date: Fri, 15 Jan 2016 11:53:07 -0800
-Subject: [PATCH] https://bugs.webkit.org/show_bug.cgi?id=153138
-
-Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
----
- Source/JavaScriptCore/bytecode/StructureStubInfo.cpp | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/Source/JavaScriptCore/bytecode/StructureStubInfo.cpp b/Source/JavaScriptCore/bytecode/StructureStubInfo.cpp
-index 1e4b4f5..9b27aed 100644
---- a/Source/JavaScriptCore/bytecode/StructureStubInfo.cpp
-+++ b/Source/JavaScriptCore/bytecode/StructureStubInfo.cpp
-@@ -26,6 +26,8 @@
- #include "config.h"
- #include "StructureStubInfo.h"
- 
-+#include "JSCellInlines.h"
-+
- #include "JSObject.h"
- #include "PolymorphicAccess.h"
- #include "Repatch.h"
--- 
-2.7.0
-
diff --git a/pkgs/development/libraries/webkitgtk/PR-157554.patch b/pkgs/development/libraries/webkitgtk/PR-157554.patch
deleted file mode 100644
index 615e805c92c..00000000000
--- a/pkgs/development/libraries/webkitgtk/PR-157554.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-https://bugs.webkit.org/show_bug.cgi?id=157554
-
---- a/Source/WTF/wtf/OSRandomSource.cpp
-+++ b/Source/WTF/wtf/OSRandomSource.cpp
-@@ -29,7 +29,7 @@
- #include <stdint.h>
- #include <stdlib.h>
- 
--#if !OS(DARWIN) && OS(UNIX)
-+#if OS(UNIX) && !(OS(DARWIN) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 1070)
- #include <errno.h>
- #include <fcntl.h>
- #include <unistd.h>
-@@ -46,7 +46,7 @@
- 
- namespace WTF {
- 
--#if !OS(DARWIN) && OS(UNIX)
-+#if OS(UNIX) && !(OS(DARWIN) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 1070)
- NEVER_INLINE NO_RETURN_DUE_TO_CRASH static void crashUnableToOpenURandom()
- {
-     CRASH();
-@@ -60,8 +56,8 @@ NEVER_INLINE NO_RETURN_DUE_TO_CRASH static void crashUnableToReadFromURandom()
-     
- void cryptographicallyRandomValuesFromOS(unsigned char* buffer, size_t length)
- {
--#if OS(DARWIN)
--    RELEASE_ASSERT(!CCRandomCopyBytes(kCCRandomDefault, buffer, length));
-+#if OS(DARWIN) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 1070
-+    return arc4random_buf(buffer, length);
- #elif OS(UNIX)
-     int fd = open("/dev/urandom", O_RDONLY, 0);
-     if (fd < 0)
diff --git a/pkgs/development/libraries/webkitgtk/PR-157574.patch b/pkgs/development/libraries/webkitgtk/PR-157574.patch
deleted file mode 100644
index d9b0795afa5..00000000000
--- a/pkgs/development/libraries/webkitgtk/PR-157574.patch
+++ /dev/null
@@ -1,62 +0,0 @@
-diff --git a/Source/JavaScriptCore/API/WebKitAvailability.h b/Source/JavaScriptCore/API/WebKitAvailability.h
-index ab53183..1310dec 100644
---- a/Source/JavaScriptCore/API/WebKitAvailability.h
-+++ b/Source/JavaScriptCore/API/WebKitAvailability.h
-@@ -27,57 +27,12 @@
- #define __WebKitAvailability__
- 
- #if defined(__APPLE__)
--
--#include <AvailabilityMacros.h>
- #include <CoreFoundation/CoreFoundation.h>
--
--#if !TARGET_OS_IPHONE && __MAC_OS_X_VERSION_MIN_REQUIRED < 101100
--/* To support availability macros that mention newer OS X versions when building on older OS X versions,
--   we provide our own definitions of the underlying macros that the availability macros expand to. We're
--   free to expand the macros as no-ops since frameworks built on older OS X versions only ship bundled with
--   an application rather than as part of the system.
--*/
--
--#ifndef __NSi_10_10 // Building from trunk rather than SDK.
--#define __NSi_10_10 introduced=10.0 // Use 10.0 to indicate that everything is available.
--#endif
--
--#ifndef __NSi_10_11 // Building from trunk rather than SDK.
--#define __NSi_10_11 introduced=10.0 // Use 10.0 to indicate that everything is available.
--#endif
--
--#ifndef __NSi_10_12 // Building from trunk rather than SDK.
--#define __NSi_10_12 introduced=10.0 // Use 10.0 to indicate that everything is available.
--#endif
--
--#ifndef __AVAILABILITY_INTERNAL__MAC_10_9
--#define __AVAILABILITY_INTERNAL__MAC_10_9
--#endif
--
--#ifndef __AVAILABILITY_INTERNAL__MAC_10_10
--#define __AVAILABILITY_INTERNAL__MAC_10_10
- #endif
- 
--#ifndef AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER
--#define AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER
--#endif
--
--#ifndef AVAILABLE_MAC_OS_X_VERSION_10_10_AND_LATER
--#define AVAILABLE_MAC_OS_X_VERSION_10_10_AND_LATER
--#endif
--
--#endif /* __MAC_OS_X_VERSION_MIN_REQUIRED <= 101100 */
--
--#if defined(BUILDING_GTK__)
- #undef CF_AVAILABLE
- #define CF_AVAILABLE(_mac, _ios)
- #undef CF_ENUM_AVAILABLE
- #define CF_ENUM_AVAILABLE(_mac, _ios)
--#endif
--
--#else
--#define CF_AVAILABLE(_mac, _ios)
--#define CF_ENUM_AVAILABLE(_mac, _ios)
--#endif
- 
- #endif /* __WebKitAvailability__ */
diff --git a/pkgs/development/libraries/webkitgtk/finding-harfbuzz-icu.patch b/pkgs/development/libraries/webkitgtk/finding-harfbuzz-icu.patch
deleted file mode 100644
index 14d58ef04f6..00000000000
--- a/pkgs/development/libraries/webkitgtk/finding-harfbuzz-icu.patch
+++ /dev/null
@@ -1,52 +0,0 @@
---- webkitgtk-2.6.1.orig/Source/cmake/FindHarfBuzz.cmake	2014-10-09 01:54:38.000000000 +0800
-+++ webkitgtk-2.6.1/Source/cmake/FindHarfBuzz.cmake	2014-10-15 13:41:29.832290412 +0800
-@@ -34,21 +34,39 @@
- 
- pkg_check_modules(PC_HARFBUZZ harfbuzz>=0.9.7)
- 
--find_path(HARFBUZZ_INCLUDE_DIRS NAMES hb.h
--    HINTS ${PC_HARFBUZZ_INCLUDE_DIRS} ${PC_HARFBUZZ_INCLUDEDIR}
--)
--
--find_library(HARFBUZZ_LIBRARIES NAMES harfbuzz
--    HINTS ${PC_HARFBUZZ_LIBRARY_DIRS} ${PC_HARFBUZZ_LIBDIR}
--)
--
- # HarfBuzz 0.9.18 split ICU support into a separate harfbuzz-icu library.
- if ("${PC_HARFBUZZ_VERSION}" VERSION_GREATER "0.9.17")
-     pkg_check_modules(PC_HARFBUZZ_ICU harfbuzz-icu>=0.9.18 REQUIRED)
--    find_library(HARFBUZZ_ICU_LIBRARIES NAMES harfbuzz-icu
-+
-+    find_path(HARFBUZZ_ICU_INCLUDEDIR NAMES hb-icu.h
-+        HINTS ${PC_HARFBUZZ_ICU_INCLUDE_DIRS} ${PC_HARFBUZZ_INCLUDEDIR}
-+    )
-+
-+    find_library(HARFBUZZ_ICU_LIBRARY NAMES harfbuzz-icu
-         HINTS ${PC_HARFBUZZ_ICU_LIBRARY_DIRS} ${PC_HARFBUZZ_ICU_LIBDIR}
-     )
--    list(APPEND HARFBUZZ_LIBRARIES "${HARFBUZZ_ICU_LIBRARIES}")
-+
-+    find_library(HARFBUZZ_LIBRARY NAMES harfbuzz
-+        HINTS ${PC_HARFBUZZ_LIBRARY_DIRS} ${PC_HARFBUZZ_LIBDIR}
-+    )
-+
-+    set(HARFBUZZ_INCLUDE_DIRS
-+        ${PC_HARFBUZZ_INCLUDE_DIRS} ${HARFBUZZ_ICU_INCLUDEDIR}
-+        CACHE INTERNAL ""
-+    )
-+
-+    set(HARFBUZZ_LIBRARIES
-+        ${HARFBUZZ_LIBRARY} ${HARFBUZZ_ICU_LIBRARY}
-+        CACHE INTERNAL ""
-+    )
-+else ()
-+    find_path(HARFBUZZ_INCLUDE_DIRS NAMES hb.h
-+        HINTS ${PC_HARFBUZZ_INCLUDE_DIRS} ${PC_HARFBUZZ_INCLUDEDIR}
-+    )
-+
-+    find_library(HARFBUZZ_LIBRARIES NAMES harfbuzz
-+        HINTS ${PC_HARFBUZZ_LIBRARY_DIRS} ${PC_HARFBUZZ_LIBDIR}
-+    )
- endif ()
- 
- include(FindPackageHandleStandardArgs)
diff --git a/pkgs/development/libraries/webkitgtk/gstreamergl-2.17.patch b/pkgs/development/libraries/webkitgtk/gstreamergl-2.17.patch
deleted file mode 100644
index 7c47db52aba..00000000000
--- a/pkgs/development/libraries/webkitgtk/gstreamergl-2.17.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git i/Source/cmake/OptionsGTK.cmake w/Source/cmake/OptionsGTK.cmake
-index d3577a8..9620dc0 100644
---- i/Source/cmake/OptionsGTK.cmake
-+++ w/Source/cmake/OptionsGTK.cmake
-@@ -94,7 +94,7 @@ WEBKIT_OPTION_DEFINE(USE_LIBSECRET "Whether to enable the persistent credential
- 
- # Private options specific to the GTK+ port. Changing these options is
- # completely unsupported. They are intended for use only by WebKit developers.
--WEBKIT_OPTION_DEFINE(USE_GSTREAMER_GL "Whether to enable support for GStreamer GL" PRIVATE ON)
-+WEBKIT_OPTION_DEFINE(USE_GSTREAMER_GL "Whether to enable support for GStreamer GL" PRIVATE OFF)
- WEBKIT_OPTION_DEFINE(USE_GSTREAMER_MPEGTS "Whether to enable support for MPEG-TS" PRIVATE OFF)
- WEBKIT_OPTION_DEFINE(USE_REDIRECTED_XCOMPOSITE_WINDOW "Whether to use a Redirected XComposite Window for accelerated compositing in X11." PRIVATE ON)
- 
diff --git a/pkgs/development/libraries/wlc/default.nix b/pkgs/development/libraries/wlc/default.nix
index 846e710b0a4..a672bbf52a9 100644
--- a/pkgs/development/libraries/wlc/default.nix
+++ b/pkgs/development/libraries/wlc/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchFromGitHub, fetchpatch, cmake, pkgconfig
 , wayland, pixman, libxkbcommon, libinput, xcbutilwm, xcbutilimage, libGL
-, libX11, dbus_libs, wayland-protocols
-, libpthreadstubs, libXdmcp, libXext
+, libX11, dbus_libs, wayland-protocols, libdrm, mesa_noglu
+, libpthreadstubs, libXdmcp, libXext, libXfixes
 , withOptionalPackages ? true, zlib, valgrind, doxygen
 }:
 
@@ -21,8 +21,8 @@ stdenv.mkDerivation rec {
 
   buildInputs = [
     wayland pixman libxkbcommon libinput xcbutilwm xcbutilimage libGL
-    libX11 dbus_libs wayland-protocols
-    libpthreadstubs libXdmcp libXext ]
+    libX11 libXfixes dbus_libs wayland-protocols
+    libpthreadstubs libXdmcp libXext libdrm mesa_noglu ]
     ++ stdenv.lib.optionals withOptionalPackages [ zlib valgrind doxygen ];
 
   doCheck = true;
diff --git a/pkgs/development/libraries/wlroots/default.nix b/pkgs/development/libraries/wlroots/default.nix
index a5ec872c360..a4c2b329714 100644
--- a/pkgs/development/libraries/wlroots/default.nix
+++ b/pkgs/development/libraries/wlroots/default.nix
@@ -1,23 +1,20 @@
 { stdenv, fetchFromGitHub, meson, ninja, pkgconfig
 , wayland, libGL, wayland-protocols, libinput, libxkbcommon, pixman
-, xcbutilwm, libX11, libcap, xcbutilimage
+, xcbutilwm, libX11, libcap, xcbutilimage, xcbutilerrors, mesa_noglu
 }:
 
 let pname = "wlroots";
-    version = "unstable-2017-12-22";
+    version = "unstable-2018-03-16";
 in stdenv.mkDerivation rec {
   name = "${pname}-${version}";
 
   src = fetchFromGitHub {
     owner = "swaywm";
     repo = "wlroots";
-    rev = "0a370c529806077a11638e7fa856d5fbb539496b";
-    sha256 = "0h3i0psn5595dncv53l5m2mf13k9wcv3qi16vla5ckpskykc0xx6";
+    rev = "9cc875429b40e2567b219f8e9ffd23316d136204";
+    sha256 = "1prhic3pyf9n65qfg5akzkc9qv2z3ab60dpcacr7wgr9nxrvnsdq";
   };
 
-  # TODO: Temporary workaround for compilation errors
-  patches = [ ./libdrm.patch ]; #./no-werror.patch
-
   # $out for the library and $bin for rootston
   outputs = [ "out" "bin" ];
 
@@ -25,7 +22,7 @@ in stdenv.mkDerivation rec {
 
   buildInputs = [
     wayland libGL wayland-protocols libinput libxkbcommon pixman
-    xcbutilwm libX11 libcap xcbutilimage
+    xcbutilwm libX11 libcap xcbutilimage xcbutilerrors mesa_noglu
   ];
 
   # Install rootston (the reference compositor) to $bin
@@ -33,7 +30,7 @@ in stdenv.mkDerivation rec {
     mkdir -p $bin/bin
     cp rootston/rootston $bin/bin/
     mkdir $bin/lib
-    cp libwlroots.so $bin/lib/
+    cp libwlroots* $bin/lib/
     patchelf --set-rpath "$bin/lib:${stdenv.lib.makeLibraryPath buildInputs}" $bin/bin/rootston
     mkdir $bin/etc
     cp ../rootston/rootston.ini.example $bin/etc/rootston.ini
@@ -45,5 +42,8 @@ in stdenv.mkDerivation rec {
     license     = licenses.mit;
     platforms   = platforms.linux;
     maintainers = with maintainers; [ primeos ];
+    # Marked as broken until the first official/stable release (upstream
+    # request). See #38344 for the public discussion.
+    broken = true;
   };
 }
diff --git a/pkgs/development/libraries/wlroots/libdrm.patch b/pkgs/development/libraries/wlroots/libdrm.patch
deleted file mode 100644
index 2b9d8538276..00000000000
--- a/pkgs/development/libraries/wlroots/libdrm.patch
+++ /dev/null
@@ -1,9 +0,0 @@
---- a/backend/meson.build	2017-10-31 22:08:01.112927610 +0100
-+++ b/backend/meson.build	2017-10-31 22:09:28.155264343 +0100
-@@ -43,5 +43,5 @@
- 	'wlr_backend',
- 	backend_files,
- 	include_directories: wlr_inc,
--	dependencies: [wayland_server, egl, gbm, libinput, systemd, elogind, wlr_render, wlr_protos],
-+	dependencies: [wayland_server, egl, gbm, libinput, systemd, elogind, wlr_render, wlr_protos, drm],
- )
diff --git a/pkgs/development/libraries/wlroots/no-werror.patch b/pkgs/development/libraries/wlroots/no-werror.patch
deleted file mode 100644
index 78c374d9dbb..00000000000
--- a/pkgs/development/libraries/wlroots/no-werror.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- a/meson.build	2017-10-31 22:08:01.132927689 +0100
-+++ b/meson.build	2017-10-31 22:20:58.215784350 +0100
-@@ -5,7 +5,6 @@
- 	default_options: [
- 		'c_std=c11',
- 		'warning_level=2',
--		'werror=true',
- 	],
- )
- 
diff --git a/pkgs/development/libraries/wt/default.nix b/pkgs/development/libraries/wt/default.nix
index 37819c2a98e..99f73add795 100644
--- a/pkgs/development/libraries/wt/default.nix
+++ b/pkgs/development/libraries/wt/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, cmake, boost165, pkgconfig, doxygen, qt48Full, libharu
+{ stdenv, fetchFromGitHub, cmake, boost, pkgconfig, doxygen, qt48Full, libharu
 , pango, fcgi, firebird, mysql, postgresql, graphicsmagick, glew, openssl
 , pcre
 }:
@@ -10,7 +10,7 @@ let
       name = "wt-${version}";
 
       src = fetchFromGitHub {
-        owner = "kdeforche";
+        owner = "emweb";
         repo = "wt";
         rev = version;
         inherit sha256;
@@ -20,7 +20,7 @@ let
 
       nativeBuildInputs = [ pkgconfig ];
       buildInputs = [
-        cmake boost165 doxygen qt48Full libharu
+        cmake boost doxygen qt48Full libharu
         pango fcgi firebird mysql.connector-c postgresql graphicsmagick glew
         openssl pcre
       ];
@@ -43,14 +43,12 @@ let
     };
 in {
   wt3 = generic {
-    # with the next version update the version pinning of boost should be omitted
-    version = "3.3.9";
-    sha256 = "1mkflhvzzzxkc5yzvr6nk34j0ldpwxjxb6n7xml59h3j3px3ixjm";
+    version = "3.3.10";
+    sha256 = "1y25mhghgbgjgycpny0x4z95xn98q0wraab1c5gkwnay097bgwdy";
   };
 
   wt4 = generic {
-    # with the next version update the version pinning of boost should be omitted
-    version = "4.0.2";
-    sha256 = "0r729gjd1sy0pcmir2r7ga33mp5cr5b4gvf44852q65hw2577w1x";
+    version = "4.0.3";
+    sha256 = "01xch5dkpcanwhr515236wa9mdmnq2a2j13dn7smyhwzqgbpknsg";
   };
 }
diff --git a/pkgs/development/libraries/wxSVG/default.nix b/pkgs/development/libraries/wxSVG/default.nix
index b991590924d..82b72a0fc7b 100644
--- a/pkgs/development/libraries/wxSVG/default.nix
+++ b/pkgs/development/libraries/wxSVG/default.nix
@@ -7,11 +7,11 @@ stdenv.mkDerivation rec {
 
   name = "wxSVG-${version}";
   srcName = "wxsvg-${version}";
-  version = "1.5.11";
+  version = "1.5.13";
 
   src = fetchurl {
     url = "mirror://sourceforge/project/wxsvg/wxsvg/${version}/${srcName}.tar.bz2";
-    sha256 = "0m3ff8mjiq4hvy8rmxyc9fkpf24xwxhvr3a6jmvr2q5zc41xhz7x";
+    sha256 = "029a1rayp4c480x8ayng13rcjk1j98ar0z6ggijrznkn8kgx8j2j";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/development/libraries/wxwidgets/3.0/default.nix b/pkgs/development/libraries/wxwidgets/3.0/default.nix
index 98621bb781e..309d9be274d 100644
--- a/pkgs/development/libraries/wxwidgets/3.0/default.nix
+++ b/pkgs/development/libraries/wxwidgets/3.0/default.nix
@@ -4,13 +4,13 @@
 , withMesa ? true, libGLU ? null, libGL ? null
 , compat24 ? false, compat26 ? true, unicode ? true
 , withGtk2 ? true
-, withWebKit ? false, webkitgtk24x-gtk2 ? null, webkitgtk218x ? null
+, withWebKit ? false, webkitgtk24x-gtk2 ? null, webkitgtk ? null
 , AGL ? null, Carbon ? null, Cocoa ? null, Kernel ? null, QTKit ? null
 }:
 
 
 assert withMesa -> libGLU != null && libGL != null;
-assert withWebKit -> (if withGtk2 then webkitgtk24x-gtk2 else webkitgtk218x) != null;
+assert withWebKit -> (if withGtk2 then webkitgtk24x-gtk2 else webkitgtk) != null;
 
 with stdenv.lib;
 
@@ -31,7 +31,7 @@ stdenv.mkDerivation {
     [ (if withGtk2 then gtk2 else gtk3) libXinerama libSM libXxf86vm xf86vidmodeproto gstreamer
       gst-plugins-base GConf ]
     ++ optional withMesa libGLU
-    ++ optional withWebKit (if withGtk2 then webkitgtk24x-gtk2 else webkitgtk218x)
+    ++ optional withWebKit (if withGtk2 then webkitgtk24x-gtk2 else webkitgtk)
     ++ optionals stdenv.isDarwin [ setfile Carbon Cocoa Kernel QTKit ];
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/development/libraries/x265/default.nix b/pkgs/development/libraries/x265/default.nix
index 418829e7af8..d11a93254bf 100644
--- a/pkgs/development/libraries/x265/default.nix
+++ b/pkgs/development/libraries/x265/default.nix
@@ -16,14 +16,14 @@ in
 
 stdenv.mkDerivation rec {
   name = "x265-${version}";
-  version = "2.6";
+  version = "2.7";
 
   src = fetchurl {
     urls = [
       "http://get.videolan.org/x265/x265_${version}.tar.gz"
       "https://github.com/videolan/x265/archive/${version}.tar.gz"
     ];
-    sha256 = "1gyd94jkwdii9308m07nymsbxrmrcl81c0j8i10zhslr2mj07w0v";
+    sha256 = "18llni1m8kfvdwy5bp950z6gyd0nijmvi3hzd6gd8vpy5yk5zrym";
   };
 
   enableParallelBuilding = true;
diff --git a/pkgs/development/libraries/xalanc/default.nix b/pkgs/development/libraries/xalanc/default.nix
index 28575f4c5d5..aeb741dbae7 100644
--- a/pkgs/development/libraries/xalanc/default.nix
+++ b/pkgs/development/libraries/xalanc/default.nix
@@ -13,12 +13,11 @@ in stdenv.mkDerivation rec {
     sha256 = "0a3a2b15vpacnqgpp6fiy1pwyc8q6ywzvyb5445f6wixfdspypjg";
   };
 
-  # TODO: should we really be putting outputs in $out/usr? I'd expect -P$out below
   configurePhase = ''
     export XALANCROOT=`pwd`/c
     cd `pwd`/c
-    mkdir -p $out/usr
-    ./runConfigure -p ${platform} -c cc -x c++ -P$out/usr
+    mkdir -p $out
+    ./runConfigure -p ${platform} -c cc -x c++ -P$out
   '';
 
   buildInputs = [ xercesc getopt ];
diff --git a/pkgs/development/libraries/xercesc/default.nix b/pkgs/development/libraries/xercesc/default.nix
index b6bb4e63df3..9fa1768f4dc 100644
--- a/pkgs/development/libraries/xercesc/default.nix
+++ b/pkgs/development/libraries/xercesc/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "xerces-c-${version}";
-  version = "3.1.4";
+  version = "3.2.1";
 
   src = fetchurl {
     url = "mirror://apache/xerces/c/3/sources/${name}.tar.gz";
-    sha256 = "1xpccqzykpd3806kd788lgkl01pk7v5lklva6q4kp9zq9jnfv3n9";
+    sha256 = "18045nyjkr2hygkjc43pi2fmz6qcbn9p00kf42my3aa4i0mn1m3d";
   };
 
   meta = {
diff --git a/pkgs/development/libraries/xgboost/default.nix b/pkgs/development/libraries/xgboost/default.nix
index 6f296bb40b9..7865724efa4 100644
--- a/pkgs/development/libraries/xgboost/default.nix
+++ b/pkgs/development/libraries/xgboost/default.nix
@@ -2,6 +2,7 @@
 , avxSupport ? false
 , cudaSupport ? false, cudatoolkit
 , ncclSupport ? false, nccl
+, llvmPackages
 }:
 
 assert ncclSupport -> cudaSupport;
@@ -19,7 +20,7 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  nativeBuildInputs = [ cmake ];
+  nativeBuildInputs = [ cmake ] ++ lib.optional stdenv.isDarwin llvmPackages.openmp;
 
   buildInputs = lib.optional cudaSupport cudatoolkit
                 ++ lib.optional ncclSupport nccl;
@@ -27,10 +28,12 @@ stdenv.mkDerivation rec {
   cmakeFlags = lib.optionals cudaSupport [ "-DUSE_CUDA=ON" "-DCUDA_HOST_COMPILER=${cudatoolkit.cc}/bin/cc" ]
                ++ lib.optional ncclSupport "-DUSE_NCCL=ON";
 
-  installPhase = ''
+  installPhase = let
+    libname = if stdenv.isDarwin then "libxgboost.dylib" else "libxgboost.so";
+  in ''
     mkdir -p $out
     cp -r ../include $out
-    install -Dm755 ../lib/libxgboost.so $out/lib/libxgboost.so
+    install -Dm755 ../lib/${libname} $out/lib/${libname}
     install -Dm755 ../xgboost $out/bin/xgboost
   '';
 
@@ -38,7 +41,7 @@ stdenv.mkDerivation rec {
     description = "Scalable, Portable and Distributed Gradient Boosting (GBDT, GBRT or GBM) Library";
     homepage = https://github.com/dmlc/xgboost;
     license = licenses.asl20;
-    platforms = platforms.linux;
+    platforms = [ "x86_64-linux" "i686-linux" "x86_64-darwin" ];
     maintainers = with maintainers; [ abbradar ];
   };
 }
diff --git a/pkgs/development/libraries/xine-lib/default.nix b/pkgs/development/libraries/xine-lib/default.nix
index 9bb9f7986e6..274a70057bd 100644
--- a/pkgs/development/libraries/xine-lib/default.nix
+++ b/pkgs/development/libraries/xine-lib/default.nix
@@ -5,11 +5,11 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "xine-lib-1.2.6";
+  name = "xine-lib-1.2.9";
 
   src = fetchurl {
     url = "mirror://sourceforge/xine/${name}.tar.xz";
-    sha256 = "01d0nv4zhr4k8id5n4rmw13llrjsv9dhwg1a773c1iqpi1ris15x";
+    sha256 = "13clir4qxl2zvsvvjd9yv3yrdhsnvcn5s7ambbbn5dzy9604xcrj";
   };
 
   nativeBuildInputs = [ pkgconfig perl ];
diff --git a/pkgs/development/libraries/xmlrpc-c/default.nix b/pkgs/development/libraries/xmlrpc-c/default.nix
index 0b5f08bdf9b..8a0017109bb 100644
--- a/pkgs/development/libraries/xmlrpc-c/default.nix
+++ b/pkgs/development/libraries/xmlrpc-c/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, curl, libxml2 }:
 
 stdenv.mkDerivation rec {
-  name = "xmlrpc-c-1.33.17";
+  name = "xmlrpc-c-1.39.12";
 
   src = fetchurl {
     url = "mirror://sourceforge/xmlrpc-c/${name}.tgz";
-    sha256 = "0makq1zpfqnrj6xx1xc7wi4mh115ri9p4yz2rbvjhj0il4y8l4ah";
+    sha256 = "026fh7w7y3q9pvxd09i5d4hq3l6gd81n9k19yq4zwbc398kg6c6q";
   };
 
   buildInputs = [ curl libxml2 ];
@@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
     # <xmlrpc-c>/doc/COPYING also lists "Expat license",
     # "ABYSS Web Server License" and "Python 1.5.2 License"
     license = licenses.bsd3;
-    platforms = platforms.linux;
+    platforms = platforms.unix;
     maintainers = [ maintainers.bjornfor ];
   };
 }
diff --git a/pkgs/development/libraries/xxHash/default.nix b/pkgs/development/libraries/xxHash/default.nix
index d702500bf71..cbe32da6445 100644
--- a/pkgs/development/libraries/xxHash/default.nix
+++ b/pkgs/development/libraries/xxHash/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "xxHash-${version}";
-  version = "0.6.3.20171018";
+  version = "0.6.4.20171222";
 
   src = fetchFromGitHub {
-    sha256 = "0061ivxpx0p24m4vg7kfx9fs9f0jxvv4g76bmyss5gp90p05hc18";
-    rev = "333804ccf0c0339451accac023deeab9e5f7c002";
+    sha256 = "1az5vm14rdc3pa3l0wj180wpii14if16diril3gz8q9ip1215gwj";
+    rev = "7caf8bd76440c75dfe1070d3acfbd7891aea8fca";
     repo = "xxHash";
     owner = "Cyan4973";
   };
diff --git a/pkgs/development/libraries/zeromq/3.x.nix b/pkgs/development/libraries/zeromq/3.x.nix
index 2252f8fe43c..009826eef47 100644
--- a/pkgs/development/libraries/zeromq/3.x.nix
+++ b/pkgs/development/libraries/zeromq/3.x.nix
@@ -10,6 +10,8 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ libuuid ];
 
+  doCheck = false; # fails all the tests (ctest)
+
   meta = with stdenv.lib; {
     branch = "3";
     homepage = http://www.zeromq.org;
diff --git a/pkgs/development/libraries/zeromq/4.x.nix b/pkgs/development/libraries/zeromq/4.x.nix
index eea0fb727b0..333a37ba85d 100644
--- a/pkgs/development/libraries/zeromq/4.x.nix
+++ b/pkgs/development/libraries/zeromq/4.x.nix
@@ -19,6 +19,8 @@ stdenv.mkDerivation rec {
     sed -i 's,''${PACKAGE_PREFIX_DIR}/,,g' ZeroMQConfig.cmake.in
   '';
 
+  doCheck = false; # fails all the tests (ctest)
+
   meta = with stdenv.lib; {
     branch = "4";
     homepage = http://www.zeromq.org;
diff --git a/pkgs/development/libraries/zlog/default.nix b/pkgs/development/libraries/zlog/default.nix
index d3dc41371de..21d8a7babb3 100644
--- a/pkgs/development/libraries/zlog/default.nix
+++ b/pkgs/development/libraries/zlog/default.nix
@@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
     homepage = http://hardysimpson.github.com/zlog;
     license = licenses.lgpl21;
     platforms = platforms.linux; # cannot test on something else
-    maintainers = [ maintainers.matthiasbeyer ];
+    maintainers = [ ];
   };
 
 }
diff --git a/pkgs/development/libraries/zmqpp/default.nix b/pkgs/development/libraries/zmqpp/default.nix
new file mode 100644
index 00000000000..f7e849f6a33
--- /dev/null
+++ b/pkgs/development/libraries/zmqpp/default.nix
@@ -0,0 +1,27 @@
+{ stdenv, fetchFromGitHub, cmake, pkgconfig, zeromq }:
+
+stdenv.mkDerivation rec {
+  name = "zmqpp-${version}";
+  version = "4.2.0";
+
+  src = fetchFromGitHub {
+    owner = "zeromq";
+    repo = "zmqpp";
+    rev = version;
+    sha256 = "08v34q3sd8g1b95k73n7jwryb0xzwca8ib9dz8ngczqf26j8k72i";
+  };
+
+  outputs = [ "out" "dev" ];
+
+  nativeBuildInputs = [ cmake pkgconfig ];
+
+  propagatedBuildInputs = [ zeromq ];
+
+  meta = with stdenv.lib; {
+    inherit (src.meta) homepage;
+    description = "C++ wrapper for czmq. Aims to be minimal, simple and consistent";
+    license = licenses.lgpl3;
+    platforms = platforms.linux ++ platforms.darwin;
+    maintainers = with maintainers; [ chris-martin ];
+  };
+}
diff --git a/pkgs/development/libraries/zziplib/default.nix b/pkgs/development/libraries/zziplib/default.nix
index 07a6f7ef088..b59cb47eae5 100644
--- a/pkgs/development/libraries/zziplib/default.nix
+++ b/pkgs/development/libraries/zziplib/default.nix
@@ -1,21 +1,26 @@
-{ fetchurl, stdenv, perl, python2, zip, xmlto, zlib }:
+{ docbook_xml_dtd_412, fetchurl, stdenv, perl, python2, zip, xmlto, zlib }:
 
 stdenv.mkDerivation rec {
   name = "zziplib-${version}";
-  version = "0.13.67";
+  version = "0.13.69";
 
   src = fetchurl {
     url = "https://github.com/gdraheim/zziplib/archive/v${version}.tar.gz";
-    sha256 = "0802kdxwxx9zanpwb4w4wfi3blwhv0ri05mzdgd35j5sva5ify0j";
+    sha256 = "0i052a7shww0fzsxrdp3rd7g4mbzx7324a8ysbc0br7frpblcql4";
   };
 
-  patchPhase = ''
+  postPatch = ''
     sed -i -e s,--export-dynamic,, configure
   '';
 
-  buildInputs = [ perl python2 zip xmlto zlib ];
+  # TODO: still an issue: https://github.com/gdraheim/zziplib/issues/27
 
-  doCheck = true;
+  buildInputs = [ docbook_xml_dtd_412 perl python2 zip xmlto zlib ];
+
+  # tests are broken (https://github.com/gdraheim/zziplib/issues/20),
+  # and test/zziptests.py requires network access
+  # (https://github.com/gdraheim/zziplib/issues/24)
+  doCheck = false;
 
   meta = with stdenv.lib; {
     description = "Library to extract data from files archived in a zip file";
diff --git a/pkgs/development/lisp-modules/asdf/default.nix b/pkgs/development/lisp-modules/asdf/default.nix
index 27089ee3e52..c9d8d52b068 100644
--- a/pkgs/development/lisp-modules/asdf/default.nix
+++ b/pkgs/development/lisp-modules/asdf/default.nix
@@ -3,11 +3,11 @@ let
   s = # Generated upstream information
   rec {
     baseName="asdf";
-    version="3.3.1";
+    version="3.3.2";
     name="${baseName}-${version}";
-    hash="1yhlhyllabsha84wycqk0mhbcq2w332jdlp19ccx4rplczzn2w3g";
-    url="http://common-lisp.net/project/asdf/archives/asdf-3.3.1.tar.gz";
-    sha256="1yhlhyllabsha84wycqk0mhbcq2w332jdlp19ccx4rplczzn2w3g";
+    hash="1bdrybn97qhny5192ifis8fp8m79djql2k4h9r9q2wnwxf9q2d4x";
+    url="http://common-lisp.net/project/asdf/archives/asdf-3.3.2.tar.gz";
+    sha256="1bdrybn97qhny5192ifis8fp8m79djql2k4h9r9q2wnwxf9q2d4x";
   };
   buildInputs = [
     texinfo texLive perl
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-overrides.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-overrides.nix
index 0c12f169cf7..111d9952749 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-overrides.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-overrides.nix
@@ -158,4 +158,9 @@ $out/lib/common-lisp/query-fs"
     deps = pkgs.lib.filter (x: x.name != quicklisp-to-nix-packages.buildnode-xhtml.name) x.deps;
     parasites = pkgs.lib.filter (x: x!= "buildnode-test") x.parasites;
   };
+  postmodern = x: {
+    overrides = y : (x.overrides y) // {
+      meta.broken = true; # 2018-04-10
+    };
+  };
 }
diff --git a/pkgs/development/misc/amdapp-sdk/default.nix b/pkgs/development/misc/amdapp-sdk/default.nix
index d0e64a16fdd..84020a5ac2d 100644
--- a/pkgs/development/misc/amdapp-sdk/default.nix
+++ b/pkgs/development/misc/amdapp-sdk/default.nix
@@ -99,7 +99,7 @@ in stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "AMD Accelerated Parallel Processing (APP) SDK, with OpenCL 1.2 support";
-    homepage = http://developer.amd.com/amd-accelerated-parallel-processing-app-sdk/;
+    homepage = https://developer.amd.com/amd-accelerated-parallel-processing-app-sdk/;
     license = licenses.amd;
     maintainers = [ maintainers.offline ];
     platforms = [ "i686-linux" "x86_64-linux" ];
diff --git a/pkgs/development/misc/avr/gcc/default.nix b/pkgs/development/misc/avr/gcc/default.nix
index 0bfa6d1f238..cce11616e2f 100644
--- a/pkgs/development/misc/avr/gcc/default.nix
+++ b/pkgs/development/misc/avr/gcc/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchurl, gmp, mpfr, libmpc, zlib, avrbinutils, texinfo }:
 
 let
-  version = "5.4.0";
+  version = "8.1.0";
 in
 stdenv.mkDerivation {
 
   name = "avr-gcc-${version}";
   src = fetchurl {
-    url = "mirror://gcc/releases/gcc-${version}/gcc-${version}.tar.bz2";
-    sha256 = "0fihlcy5hnksdxk0sn6bvgnyq8gfrgs8m794b1jxwd1dxinzg3b0";
+    url = "mirror://gcc/releases/gcc-${version}/gcc-${version}.tar.xz";
+    sha256 = "0lxil8x0jjx7zbf90cy1rli650akaa6hpk8wk8s62vk2jbwnc60x";
   };
 
   patches = [
@@ -54,7 +54,7 @@ stdenv.mkDerivation {
     description = "GNU Compiler Collection, version ${version} for AVR microcontrollers";
     homepage = http://gcc.gnu.org;
     license = licenses.gpl3Plus;
-    platforms = platforms.unix;
+    platforms = with platforms; linux ++ darwin;
     maintainers = with maintainers; [ mguentner ];
   };
 }
diff --git a/pkgs/development/misc/loc/default.nix b/pkgs/development/misc/loc/default.nix
index eef10f3323f..efa76ea00a0 100644
--- a/pkgs/development/misc/loc/default.nix
+++ b/pkgs/development/misc/loc/default.nix
@@ -19,7 +19,7 @@ buildRustPackage rec {
     homepage = https://github.com/cgag/loc;
     description = "Count lines of code quickly";
     license = stdenv.lib.licenses.mit;
-    maintainers = [ stdenv.lib.maintainers.matthiasbeyer ];
+    maintainers = with stdenv.lib.maintainers; [ ];
     platforms = with stdenv.lib.platforms; linux;
   };
 }
diff --git a/pkgs/development/misc/rpiboot/unstable.nix b/pkgs/development/misc/rpiboot/unstable.nix
new file mode 100644
index 00000000000..c89d2f11e95
--- /dev/null
+++ b/pkgs/development/misc/rpiboot/unstable.nix
@@ -0,0 +1,36 @@
+{ stdenv, fetchFromGitHub, libusb1 }:
+
+let
+  version = "2018-03-27";
+  name = "rpiboot-unstable-${version}";
+in stdenv.mkDerivation {
+  inherit name;
+
+  src = fetchFromGitHub {
+    owner = "raspberrypi";
+    repo = "usbboot";
+    rev = "fb86716935f2e820333b037a2ff93a338ad9b695";
+    sha256 = "163g7iw7kf6ra71adx6lf1xzf3kv20bppva15ljwn54jlah5mv98";
+  };
+
+  nativeBuildInputs = [ libusb1 ];
+
+  patchPhase = ''
+    sed -i "s@/usr/@$out/@g" main.c
+  '';
+
+  installPhase = ''
+    mkdir -p $out/bin
+    mkdir -p $out/share/rpiboot
+    cp rpiboot $out/bin
+    cp -r msd $out/share/rpiboot
+  '';
+
+  meta = {
+    homepage = https://github.com/raspberrypi/usbboot;
+    description = "Utility to boot a Raspberry Pi CM/CM3/Zero over USB";
+    maintainers = [ stdenv.lib.maintainers.cartr ];
+    license = stdenv.lib.licenses.asl20;
+    platforms = stdenv.lib.platforms.unix;
+  };
+}
diff --git a/pkgs/development/stm32/betaflight/default.nix b/pkgs/development/misc/stm32/betaflight/default.nix
index 8d4d0d7f4a2..8d4d0d7f4a2 100644
--- a/pkgs/development/stm32/betaflight/default.nix
+++ b/pkgs/development/misc/stm32/betaflight/default.nix
diff --git a/pkgs/development/mobile/abootimg/default.nix b/pkgs/development/mobile/abootimg/default.nix
new file mode 100644
index 00000000000..a2ddda34347
--- /dev/null
+++ b/pkgs/development/mobile/abootimg/default.nix
@@ -0,0 +1,43 @@
+{ stdenv, fetchFromGitHub, coreutils, cpio, findutils, gzip, makeWrapper, utillinux }:
+
+let
+  version = "0.6";
+in
+stdenv.mkDerivation {
+  name = "abootimg-${version}";
+
+  src = fetchFromGitHub {
+    owner = "ggrandou";
+    repo = "abootimg";
+    rev = "7e127fee6a3981f6b0a50ce9910267cd501e09d4";
+    sha256 = "1qgx9fxwhylgnixzkz2mzv2707f65qq7rar2rsqak536vhig1z9a";
+  };
+
+  nativeBuildInputs = [ makeWrapper utillinux ];
+
+  postPatch = ''
+    cat <<EOF > version.h
+    #define VERSION_STR "${version}"
+    EOF
+  '';
+
+  installPhase = ''
+    mkdir -p $out/bin
+    install -D -m 755 abootimg $out/bin
+    install -D -m444 ./debian/abootimg.1 $out/share/man/man1/abootimg.1;
+
+    install -D -m 755 abootimg-pack-initrd $out/bin
+    wrapProgram $out/bin/abootimg-pack-initrd --prefix PATH : ${stdenv.lib.makeBinPath [ coreutils cpio findutils gzip ]}
+
+    install -D -m 755 abootimg-unpack-initrd $out/bin
+    wrapProgram $out/bin/abootimg-unpack-initrd --prefix PATH : ${stdenv.lib.makeBinPath [ cpio gzip ]}
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/ggrandou/abootimg;
+    description = "Manipulate Android Boot Images";
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.flokli ];
+  };
+}
diff --git a/pkgs/development/mobile/androidenv/androidndk.nix b/pkgs/development/mobile/androidenv/androidndk.nix
index 81ec5732b9a..2fe4005532d 100644
--- a/pkgs/development/mobile/androidenv/androidndk.nix
+++ b/pkgs/development/mobile/androidenv/androidndk.nix
@@ -3,8 +3,6 @@
 , platformTools
 }:
 
-assert stdenv.isLinux;
-
 stdenv.mkDerivation rec {
   name = "android-ndk-r10e";
 
diff --git a/pkgs/development/mobile/androidenv/androidndk_r8e.nix b/pkgs/development/mobile/androidenv/androidndk_r8e.nix
index 271a18e4ee0..3b5da19da9e 100644
--- a/pkgs/development/mobile/androidenv/androidndk_r8e.nix
+++ b/pkgs/development/mobile/androidenv/androidndk_r8e.nix
@@ -3,8 +3,6 @@
 , platformTools
 }:
 
-assert stdenv.isLinux;
-
 stdenv.mkDerivation rec {
   name = "android-ndk-r8e";
 
diff --git a/pkgs/development/mobile/androidenv/build-tools.nix b/pkgs/development/mobile/androidenv/build-tools.nix
index c09fd614270..457a9b6720a 100644
--- a/pkgs/development/mobile/androidenv/build-tools.nix
+++ b/pkgs/development/mobile/androidenv/build-tools.nix
@@ -1,16 +1,16 @@
 {stdenv, stdenv_32bit, fetchurl, unzip, zlib_32bit, ncurses_32bit, file, zlib, ncurses}:
 
 stdenv.mkDerivation rec {
-  version = "26.0.1";
+  version = "26.0.2";
   name = "android-build-tools-r${version}";
   src = if (stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux")
     then fetchurl {
       url = "https://dl.google.com/android/repository/build-tools_r${version}-linux.zip";
-      sha256 = "1sp0ir1d88ffw0gz78zlbvnxalz02fsaxwdcvjfynanylwjpyqf8";
+      sha256 = "1kii880bwhjkc343zwx1ysxyisxhczrwhphnxbwsgi45mjgq8lm7";
     }
     else if stdenv.system == "x86_64-darwin" then fetchurl {
       url = "https://dl.google.com/android/repository/build-tools_r${version}-macosx.zip";
-      sha256 = "1ns6c8361l18s3a5x0jc2m3qr06glsb6ak7csrrw6dkzlv8cj5dk";
+      sha256 = "1x0ycprl6hgsm23kck5ind7x00hzydc5k3h3ch4a13407xbpvzvx";
     }
     else throw "System ${stdenv.system} not supported!";
 
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
     cd $out/build-tools
     unzip $src
     mv android-* ${version}
-    
+
     ${stdenv.lib.optionalString (stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux")
       ''
         cd ${version}
@@ -48,9 +48,9 @@ stdenv.mkDerivation rec {
           fi
         done
       ''}
-      
+
       patchShebangs .
   '';
-  
+
   buildInputs = [ unzip file ];
 }
diff --git a/pkgs/tools/security/bettercap/Gemfile b/pkgs/development/mobile/cocoapods/Gemfile
index 8fb2a1c300a..8308684860e 100644
--- a/pkgs/tools/security/bettercap/Gemfile
+++ b/pkgs/development/mobile/cocoapods/Gemfile
@@ -1,2 +1,2 @@
 source 'https://rubygems.org'
-gem 'bettercap'
+gem 'cocoapods'
diff --git a/pkgs/development/mobile/cocoapods/Gemfile.lock b/pkgs/development/mobile/cocoapods/Gemfile.lock
new file mode 100644
index 00000000000..7ca6e40406a
--- /dev/null
+++ b/pkgs/development/mobile/cocoapods/Gemfile.lock
@@ -0,0 +1,76 @@
+GEM
+  remote: https://rubygems.org/
+  specs:
+    CFPropertyList (3.0.0)
+    activesupport (4.2.10)
+      i18n (~> 0.7)
+      minitest (~> 5.1)
+      thread_safe (~> 0.3, >= 0.3.4)
+      tzinfo (~> 1.1)
+    atomos (0.1.2)
+    claide (1.0.2)
+    cocoapods (1.5.0)
+      activesupport (>= 4.0.2, < 5)
+      claide (>= 1.0.2, < 2.0)
+      cocoapods-core (= 1.5.0)
+      cocoapods-deintegrate (>= 1.0.2, < 2.0)
+      cocoapods-downloader (>= 1.2.0, < 2.0)
+      cocoapods-plugins (>= 1.0.0, < 2.0)
+      cocoapods-search (>= 1.0.0, < 2.0)
+      cocoapods-stats (>= 1.0.0, < 2.0)
+      cocoapods-trunk (>= 1.3.0, < 2.0)
+      cocoapods-try (>= 1.1.0, < 2.0)
+      colored2 (~> 3.1)
+      escape (~> 0.0.4)
+      fourflusher (~> 2.0.1)
+      gh_inspector (~> 1.0)
+      molinillo (~> 0.6.5)
+      nap (~> 1.0)
+      ruby-macho (~> 1.1)
+      xcodeproj (>= 1.5.7, < 2.0)
+    cocoapods-core (1.5.0)
+      activesupport (>= 4.0.2, < 6)
+      fuzzy_match (~> 2.0.4)
+      nap (~> 1.0)
+    cocoapods-deintegrate (1.0.2)
+    cocoapods-downloader (1.2.0)
+    cocoapods-plugins (1.0.0)
+      nap
+    cocoapods-search (1.0.0)
+    cocoapods-stats (1.0.0)
+    cocoapods-trunk (1.3.0)
+      nap (>= 0.8, < 2.0)
+      netrc (~> 0.11)
+    cocoapods-try (1.1.0)
+    colored2 (3.1.2)
+    concurrent-ruby (1.0.5)
+    escape (0.0.4)
+    fourflusher (2.0.1)
+    fuzzy_match (2.0.4)
+    gh_inspector (1.1.3)
+    i18n (0.9.5)
+      concurrent-ruby (~> 1.0)
+    minitest (5.11.3)
+    molinillo (0.6.5)
+    nanaimo (0.2.5)
+    nap (1.1.0)
+    netrc (0.11.0)
+    ruby-macho (1.1.0)
+    thread_safe (0.3.6)
+    tzinfo (1.2.5)
+      thread_safe (~> 0.1)
+    xcodeproj (1.5.7)
+      CFPropertyList (>= 2.3.3, < 4.0)
+      atomos (~> 0.1.2)
+      claide (>= 1.0.2, < 2.0)
+      colored2 (~> 3.1)
+      nanaimo (~> 0.2.4)
+
+PLATFORMS
+  ruby
+
+DEPENDENCIES
+  cocoapods
+
+BUNDLED WITH
+   1.14.6
diff --git a/pkgs/development/mobile/cocoapods/default.nix b/pkgs/development/mobile/cocoapods/default.nix
new file mode 100644
index 00000000000..56624370b14
--- /dev/null
+++ b/pkgs/development/mobile/cocoapods/default.nix
@@ -0,0 +1,17 @@
+{ lib, bundlerEnv, ruby }:
+
+bundlerEnv rec {
+  inherit ruby;
+  pname = "cocoapods";
+  gemdir = ./.;
+
+  meta = with lib; {
+    description     = "CocoaPods manages dependencies for your Xcode projects.";
+    homepage        = https://github.com/CocoaPods/CocoaPods;
+    license         = licenses.mit;
+    platforms       = platforms.darwin;
+    maintainers     = with maintainers; [
+      peterromfeldhk
+    ];
+  };
+}
diff --git a/pkgs/development/mobile/cocoapods/gemset.nix b/pkgs/development/mobile/cocoapods/gemset.nix
new file mode 100644
index 00000000000..cd4156d141c
--- /dev/null
+++ b/pkgs/development/mobile/cocoapods/gemset.nix
@@ -0,0 +1,242 @@
+{
+  activesupport = {
+    dependencies = ["i18n" "minitest" "thread_safe" "tzinfo"];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0s12j8vl8vrxfngkdlz9g8bpz9akq1z42d57mx5r537b2pji8nr7";
+      type = "gem";
+    };
+    version = "4.2.10";
+  };
+  atomos = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "10z69hjv30r2w5q5wmlf0cq4jv3w744jrac8ylln8sf45ckqj7wk";
+      type = "gem";
+    };
+    version = "0.1.2";
+  };
+  CFPropertyList = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0ykjag3k5msz3sf1j91rb55da2xh596y06m3a4yl79fiy2id0w9z";
+      type = "gem";
+    };
+    version = "3.0.0";
+  };
+  claide = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0az54rp691hc42yl1xyix2cxv58byhaaf4gxbpghvvq29l476rzc";
+      type = "gem";
+    };
+    version = "1.0.2";
+  };
+  cocoapods = {
+    dependencies = ["activesupport" "claide" "cocoapods-core" "cocoapods-deintegrate" "cocoapods-downloader" "cocoapods-plugins" "cocoapods-search" "cocoapods-stats" "cocoapods-trunk" "cocoapods-try" "colored2" "escape" "fourflusher" "gh_inspector" "molinillo" "nap" "ruby-macho" "xcodeproj"];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0pg2rkw6rlqq0y2vpajw4946hmvcnrg6lhr1i5p7j7kj8y5az167";
+      type = "gem";
+    };
+    version = "1.5.0";
+  };
+  cocoapods-core = {
+    dependencies = ["activesupport" "fuzzy_match" "nap"];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0mqxgd22rj49pfasvinsn7z1bzm899m8cfw38yr38nspri10acad";
+      type = "gem";
+    };
+    version = "1.5.0";
+  };
+  cocoapods-deintegrate = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "10b49glw3jd0r1vj36zb0vz2idwgziq8qgzf7yjkrsm41xm098zz";
+      type = "gem";
+    };
+    version = "1.0.2";
+  };
+  cocoapods-downloader = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1azzwyxvcqk5g394ica80x7pj7bh9zysk2q7x1jh8zbwrp6c0x8c";
+      type = "gem";
+    };
+    version = "1.2.0";
+  };
+  cocoapods-plugins = {
+    dependencies = ["nap"];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "16na82sfyc8801qs1n22nwq486s4j7yj6rj7fcp8cbxmj371fpbj";
+      type = "gem";
+    };
+    version = "1.0.0";
+  };
+  cocoapods-search = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "02wmy5rbjk29c65zn62bffxv30qs11slql23qx65snkm0vd93mn6";
+      type = "gem";
+    };
+    version = "1.0.0";
+  };
+  cocoapods-stats = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0sfcwq2vq6cadj1811jdjys3d28pmk2r2a83px6w94rz6i19axid";
+      type = "gem";
+    };
+    version = "1.0.0";
+  };
+  cocoapods-trunk = {
+    dependencies = ["nap" "netrc"];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0shxr64j7f50yglp5l90vr1ba5p9pkk0a3b8apkbci2lmq5kq60b";
+      type = "gem";
+    };
+    version = "1.3.0";
+  };
+  cocoapods-try = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1gf2zjmcjhh9psq15yfy82wz5jnlihf5bcw79f8hlv4cnqyspncj";
+      type = "gem";
+    };
+    version = "1.1.0";
+  };
+  colored2 = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0jlbqa9q4mvrm73aw9mxh23ygzbjiqwisl32d8szfb5fxvbjng5i";
+      type = "gem";
+    };
+    version = "3.1.2";
+  };
+  concurrent-ruby = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "183lszf5gx84kcpb779v6a2y0mx9sssy8dgppng1z9a505nj1qcf";
+      type = "gem";
+    };
+    version = "1.0.5";
+  };
+  escape = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0sa1xkfc9jvkwyw1jbz3jhkq0ms1zrvswi6mmfiwcisg5fp497z4";
+      type = "gem";
+    };
+    version = "0.0.4";
+  };
+  fourflusher = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1dzmkxyzrk475c1yk5zddwhhj28b6fnj4jkk1h5gr1c2mrar72d5";
+      type = "gem";
+    };
+    version = "2.0.1";
+  };
+  fuzzy_match = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "19gw1ifsgfrv7xdi6n61658vffgm1867f4xdqfswb2b5h6alzpmm";
+      type = "gem";
+    };
+    version = "2.0.4";
+  };
+  gh_inspector = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0f8r9byajj3bi2c7c5sqrc7m0zrv3nblfcd4782lw5l73cbsgk04";
+      type = "gem";
+    };
+    version = "1.1.3";
+  };
+  i18n = {
+    dependencies = ["concurrent-ruby"];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "038qvz7kd3cfxk8bvagqhakx68pfbnmghpdkx7573wbf0maqp9a3";
+      type = "gem";
+    };
+    version = "0.9.5";
+  };
+  minitest = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0icglrhghgwdlnzzp4jf76b0mbc71s80njn5afyfjn4wqji8mqbq";
+      type = "gem";
+    };
+    version = "5.11.3";
+  };
+  molinillo = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "19zlshd1ra15x0a4jzss6ilz2xsnq293p43kxsljiy7xxq7bipx7";
+      type = "gem";
+    };
+    version = "0.6.5";
+  };
+  nanaimo = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "03x5f7hk0s21hlkj309w0qipjxz34kyd3c5yj25zq3s2yyn57idi";
+      type = "gem";
+    };
+    version = "0.2.5";
+  };
+  nap = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0xm5xssxk5s03wjarpipfm39qmgxsalb46v1prsis14x1xk935ll";
+      type = "gem";
+    };
+    version = "1.1.0";
+  };
+  netrc = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0gzfmcywp1da8nzfqsql2zqi648mfnx6qwkig3cv36n9m0yy676y";
+      type = "gem";
+    };
+    version = "0.11.0";
+  };
+  ruby-macho = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1i9vkz3ki3yvps4z1hca2q2axniq95x4yypnc22p9pcfjdfrbrq6";
+      type = "gem";
+    };
+    version = "1.1.0";
+  };
+  thread_safe = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0nmhcgq6cgz44srylra07bmaw99f5271l0dpsvl5f75m44l0gmwy";
+      type = "gem";
+    };
+    version = "0.3.6";
+  };
+  tzinfo = {
+    dependencies = ["thread_safe"];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1fjx9j327xpkkdlxwmkl3a8wqj7i4l4jwlrv3z13mg95z9wl253z";
+      type = "gem";
+    };
+    version = "1.2.5";
+  };
+  xcodeproj = {
+    dependencies = ["CFPropertyList" "atomos" "claide" "colored2" "nanaimo"];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "16743g16mrh47f1lxkbw28xn9mmlf1r0zicin4malalsxxkc7ykz";
+      type = "gem";
+    };
+    version = "1.5.7";
+  };
+}
\ No newline at end of file
diff --git a/pkgs/development/mobile/cocoapods/update b/pkgs/development/mobile/cocoapods/update
new file mode 100755
index 00000000000..58a7bd4a453
--- /dev/null
+++ b/pkgs/development/mobile/cocoapods/update
@@ -0,0 +1,10 @@
+#!/usr/bin/env nix-shell
+#! nix-shell -i bash -p bash ruby bundler bundix
+
+rm Gemfile.lock
+bundler install
+bundix
+
+if [ "clean" == "$1" ]; then
+  rm -rf ~/.gem
+fi
diff --git a/pkgs/development/mobile/flashtool/default.nix b/pkgs/development/mobile/flashtool/default.nix
index be4fc0f7f54..601b0b319bc 100644
--- a/pkgs/development/mobile/flashtool/default.nix
+++ b/pkgs/development/mobile/flashtool/default.nix
@@ -1,7 +1,5 @@
 { stdenv, requireFile, p7zip, jre, libusb1, platformTools, gtk2, glib, libXtst }:
 
-assert stdenv.system == "i686-linux";
-
 # TODO:
 #
 #   The FlashTool and FlashToolConsole scripts are messy and should probably we
@@ -57,7 +55,7 @@ stdenv.mkDerivation rec {
     homepage = http://www.flashtool.net/;
     description = "S1 flashing software for Sony phones from X10 to Xperia Z Ultra";
     license = stdenv.lib.licenses.unfreeRedistributableFirmware;
-    platforms = stdenv.lib.platforms.linux;
+    platforms = [ "i686-linux" ];
     hydraPlatforms = stdenv.lib.platforms.none;
     broken = true;
   };
diff --git a/pkgs/development/mobile/genymotion/default.nix b/pkgs/development/mobile/genymotion/default.nix
index db3cb07765b..37834eff947 100644
--- a/pkgs/development/mobile/genymotion/default.nix
+++ b/pkgs/development/mobile/genymotion/default.nix
@@ -5,9 +5,9 @@
 
 let
   packages = [
-    stdenv.cc.cc zlib glib xorg.libX11 libxkbcommon libXmu libXi libXext
+    stdenv.cc.cc zlib glib xorg.libX11 libxkbcommon libXmu libXi libXext libGL
   ];
-  libPath = "${stdenv.lib.makeLibraryPath packages}:${libGL.driverLink}/lib";
+  libPath = "${stdenv.lib.makeLibraryPath packages}";
 in
 stdenv.mkDerivation rec {
   name = "genymotion-${version}";
diff --git a/pkgs/development/mobile/titaniumenv/build-app.nix b/pkgs/development/mobile/titaniumenv/build-app.nix
index 4079adaef51..83bd941e5ff 100644
--- a/pkgs/development/mobile/titaniumenv/build-app.nix
+++ b/pkgs/development/mobile/titaniumenv/build-app.nix
@@ -15,39 +15,17 @@ let
     abiVersions = androidAbiVersions;
     useGoogleAPIs = true;
   };
-  
+
   deleteKeychain = ''
     security default-keychain -s login.keychain
     security delete-keychain $keychainName
     rm -f $HOME/lock-keychain
   '';
-  
-  # On macOS, the java executable shows an -unoffical postfix in the version
-  # number. This confuses the build script's version detector.
-  # We fix this by creating a wrapper that strips it out of the output.
-  
-  javaVersionFixWrapper = stdenv.mkDerivation {
-    name = "javaVersionFixWrapper";
-    buildCommand = ''
-      mkdir -p $out/bin
-      cat > $out/bin/javac <<EOF
-      #! ${stdenv.shell} -e
-      
-      if [ "\$1" = "-version" ]
-      then
-          ${jdk}/bin/javac "\$@" 2>&1 | sed "s|-unofficial||" | sed "s|-u60|_60|" >&2
-      else
-          exec ${jdk}/bin/javac "\$@"
-      fi
-      EOF
-      chmod +x $out/bin/javac
-    '';
-  };
 in
 stdenv.mkDerivation {
   name = stdenv.lib.replaceChars [" "] [""] name;
   inherit src;
-  
+
   buildInputs = [ nodejs titanium alloy jdk python which file ] ++ stdenv.lib.optional (stdenv.system == "x86_64-darwin") xcodewrapper;
   
   buildPhase = ''
@@ -74,19 +52,19 @@ stdenv.mkDerivation {
     
     ${if target == "android" then
         ''
-          ${stdenv.lib.optionalString (stdenv.system == "x86_64-darwin") ''
-            # Hack to make version detection work with OpenJDK on macOS
-            export PATH=${javaVersionFixWrapper}/bin:$PATH
-            export JAVA_HOME=${javaVersionFixWrapper}
-            javac -version
-          ''}
-
           titanium config --config-file $TMPDIR/config.json --no-colors android.sdkPath ${androidsdkComposition}/libexec
 
           export PATH=$(echo ${androidsdkComposition}/libexec/tools):$(echo ${androidsdkComposition}/libexec/build-tools/android-*):$PATH
-          
+          export GRADLE_USER_HOME=$TMPDIR/gradle
+
           ${if release then
-            ''titanium build --config-file $TMPDIR/config.json --no-colors --force --platform android --target dist-playstore --keystore ${androidKeyStore} --alias ${androidKeyAlias} --store-password ${androidKeyStorePassword} --output-dir $out''
+            ''
+              ${stdenv.lib.optionalString stdenv.isDarwin ''
+                # Signing the app does not work with OpenJDK on macOS, use host SDK instead
+                export JAVA_HOME="$(/usr/libexec/java_home -v 1.8)"
+              ''}
+              titanium build --config-file $TMPDIR/config.json --no-colors --force --platform android --target dist-playstore --keystore ${androidKeyStore} --alias ${androidKeyAlias} --store-password ${androidKeyStorePassword} --output-dir $out
+            ''
           else
             ''titanium build --config-file $TMPDIR/config.json --no-colors --force --platform android --target emulator --build-only -B foo --output $out''}
         ''
diff --git a/pkgs/development/mobile/titaniumenv/default.nix b/pkgs/development/mobile/titaniumenv/default.nix
index 031fe3b18c6..6765a9cc5c3 100644
--- a/pkgs/development/mobile/titaniumenv/default.nix
+++ b/pkgs/development/mobile/titaniumenv/default.nix
@@ -1,4 +1,4 @@
-{pkgs, pkgs_i686, xcodeVersion ? "9.2", xcodeBaseDir ? "/Applications/Xcode.app", tiVersion ? "6.3.1.GA"}:
+{pkgs, pkgs_i686, xcodeVersion ? "9.2", xcodeBaseDir ? "/Applications/Xcode.app", tiVersion ? "7.1.0.GA"}:
 
 rec {
   androidenv = pkgs.androidenv;
@@ -10,6 +10,7 @@ rec {
   
   titaniumsdk = let
     titaniumSdkFile = if tiVersion == "6.3.1.GA" then ./titaniumsdk-6.3.nix
+      else if tiVersion == "7.1.0.GA" then ./titaniumsdk-7.1.nix
       else throw "Titanium version not supported: "+tiVersion;
     in
     import titaniumSdkFile {
diff --git a/pkgs/development/mobile/titaniumenv/examples/default.nix b/pkgs/development/mobile/titaniumenv/examples/default.nix
index 5753c8d7da9..78f91dd39fb 100644
--- a/pkgs/development/mobile/titaniumenv/examples/default.nix
+++ b/pkgs/development/mobile/titaniumenv/examples/default.nix
@@ -2,7 +2,7 @@
 , systems ? [ "x86_64-linux" "x86_64-darwin" ]
 , xcodeVersion ? "9.2"
 , xcodeBaseDir ? "/Applications/Xcode.app"
-, tiVersion ? "6.3.1.GA"
+, tiVersion ? "7.1.0.GA"
 , rename ? false
 , newBundleId ? "com.example.kitchensink", iosMobileProvisioningProfile ? null, iosCertificate ? null, iosCertificateName ? "Example", iosCertificatePassword ? "", iosVersion ? "11.2"
 , enableWirelessDistribution ? false, installURL ? null
diff --git a/pkgs/development/mobile/titaniumenv/examples/kitchensink/default.nix b/pkgs/development/mobile/titaniumenv/examples/kitchensink/default.nix
index 5849ee368c1..70ab1b168c4 100644
--- a/pkgs/development/mobile/titaniumenv/examples/kitchensink/default.nix
+++ b/pkgs/development/mobile/titaniumenv/examples/kitchensink/default.nix
@@ -1,4 +1,4 @@
-{ titaniumenv, fetchgit, target, androidPlatformVersions ? [ "25" "26" ], tiVersion ? "6.3.1.GA", release ? false
+{ titaniumenv, fetchgit, target, androidPlatformVersions ? [ "25" "26" ], tiVersion ? "7.1.0.GA", release ? false
 , rename ? false, stdenv ? null, newBundleId ? null, iosMobileProvisioningProfile ? null, iosCertificate ? null, iosCertificateName ? null, iosCertificatePassword ? null, iosVersion ? "11.2"
 , enableWirelessDistribution ? false, installURL ? null
 }:
@@ -7,9 +7,9 @@ assert rename -> (stdenv != null && newBundleId != null && iosMobileProvisioning
 
 let
   src = fetchgit {
-    url = https://github.com/appcelerator/KitchenSink.git;
-    rev = "ec9edebf35030f61368000a8a9071dd7a0773884";
-    sha256 = "3e020004b73c9c2386f2672fdf9203083295f1524f5e504a07842e062de181c8";
+    url = https://github.com/appcelerator/kitchensink-v2.git;
+    rev = "94364df2ef60a80bd354a4273e3cb5f4c5185537";
+    sha256 = "0q4gzidpsq401frkngy4yk5kqvm8dz00ls74bw3fnpvg4714d6gf";
   };
 
   # Rename the bundle id to something else
@@ -18,7 +18,6 @@ let
     inherit src;
     buildPhase = ''
       sed -i -e "s|com.appcelerator.kitchensink|${newBundleId}|" tiapp.xml
-      sed -i -e "s|com.appcelerator.kitchensink|${newBundleId}|" manifest
     '';
     installPhase = ''
       mkdir -p $out
diff --git a/pkgs/development/mobile/titaniumenv/titaniumsdk-7.1.nix b/pkgs/development/mobile/titaniumenv/titaniumsdk-7.1.nix
new file mode 100644
index 00000000000..61c23a6d0b3
--- /dev/null
+++ b/pkgs/development/mobile/titaniumenv/titaniumsdk-7.1.nix
@@ -0,0 +1,102 @@
+{stdenv, fetchurl, unzip, makeWrapper, python, jdk}:
+
+let
+  # Gradle is a build system that bootstraps itself. This is what it actually
+  # downloads in the bootstrap phase.
+  gradleAllZip = fetchurl {
+    url = http://services.gradle.org/distributions/gradle-4.1-all.zip;
+    sha256 = "1rcrh263vq7a0is800y5z36jj97p67c6zpqzzfcbr7r0qaxb61sw";
+  };
+
+  # A Titanium-Android build requires proguard plugins. We create a fake
+  # repository so that Gradle does not attempt to download them in the builder.
+  # Since there are only 3 plugins required, this is still (sort of) manageable
+  # without a generator.
+  proguardVersion = "5.3.3";
+
+  proguardGradlePOM = fetchurl {
+    url = "https://repo1.maven.org/maven2/net/sf/proguard/proguard-gradle/${proguardVersion}/proguard-gradle-${proguardVersion}.pom";
+    sha256 = "03v9zm3ykfkyb5cs5ald07ph103fh68d5c33rv070r29p71dwszj";
+  };
+  proguardGradleJAR = fetchurl {
+    url = "https://repo1.maven.org/maven2/net/sf/proguard/proguard-gradle/${proguardVersion}/proguard-gradle-${proguardVersion}.jar";
+    sha256 = "0shhpsjfc5gam15jnv1hk718v5c7vi7dwdc3gvmnid6dc85kljzk";
+  };
+  proguardParentPOM = fetchurl {
+    url = "https://repo1.maven.org/maven2/net/sf/proguard/proguard-parent/${proguardVersion}/proguard-parent-${proguardVersion}.pom";
+    sha256 = "0mv0zbwyw8xa4mkc5kw69y5xqashkz9gp123akfvh9f6152l3202";
+  };
+  proguardBasePOM = fetchurl {
+    url = "https://repo1.maven.org/maven2/net/sf/proguard/proguard-base/${proguardVersion}/proguard-base-${proguardVersion}.pom";
+    sha256 = "1jnr6zsxfimb8wglqlwa6rrdc3g3nqf1dyw0k2dq9cj0q4pgn7p5";
+  };
+  proguardBaseJAR = fetchurl {
+    url = "https://repo1.maven.org/maven2/net/sf/proguard/proguard-base/${proguardVersion}/proguard-base-${proguardVersion}.jar";
+    sha256 = "11nwdb9y84cghcx319nsjjf9m035s4s1184zrhzpvaxq2wvqhbhx";
+  };
+
+  # Put the download plugins in a fake Maven repository
+  fakeMavenRepo = stdenv.mkDerivation {
+    name = "fake-maven-repo";
+    buildCommand = ''
+      mkdir -p $out
+      cd $out
+      mkdir -p net/sf/proguard/proguard-gradle/${proguardVersion}
+      cp ${proguardGradlePOM} net/sf/proguard/proguard-gradle/${proguardVersion}/proguard-gradle-${proguardVersion}.pom
+      cp ${proguardGradleJAR} net/sf/proguard/proguard-gradle/${proguardVersion}/proguard-gradle-${proguardVersion}.jar
+      mkdir -p net/sf/proguard/proguard-parent/${proguardVersion}
+      cp ${proguardParentPOM} net/sf/proguard/proguard-parent/${proguardVersion}/proguard-parent-${proguardVersion}.pom
+      mkdir -p net/sf/proguard/proguard-base/${proguardVersion}
+      cp ${proguardBasePOM} net/sf/proguard/proguard-base/${proguardVersion}/proguard-base-${proguardVersion}.pom
+      cp ${proguardBaseJAR} net/sf/proguard/proguard-base/${proguardVersion}/proguard-base-${proguardVersion}.jar
+    '';
+  };
+in
+stdenv.mkDerivation {
+  name = "mobilesdk-7.1.0.GA";
+  src = if (stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux") then fetchurl {
+    url = http://builds.appcelerator.com/mobile/7_1_X/mobilesdk-7.1.0.v20180314133955-linux.zip;
+    sha256 = "18b3jnr65sdn5wj191bcl48gvhyklxmighxakv4vrz1fb59kyvqn";
+  }
+  else if stdenv.system == "x86_64-darwin" then fetchurl {
+    url = http://builds.appcelerator.com/mobile/7_1_X/mobilesdk-7.1.0.v20180314133955-osx.zip;
+    sha256 = "1f62616biwsw1fqxz2sq7lpa6bsfjazffliplyf5dpnh298cnc1m";
+  }
+  else throw "Platform: ${stdenv.system} not supported!";
+
+  buildInputs = [ unzip makeWrapper ];
+
+  buildCommand = ''
+    mkdir -p $out
+    cd $out
+    (yes y | unzip $src) || true
+
+    # Rename ugly version number
+    cd mobilesdk/*
+    mv * 7.1.0.GA
+    cd *
+
+    # Patch bundled gradle build infrastructure to make shebangs work
+    patchShebangs android/templates/gradle
+
+    # Substitute the gradle-all zip URL by a local file to prevent downloads from happening while building an Android app
+    sed -i -e "s|distributionUrl=|#distributionUrl=|" android/templates/gradle/gradle/wrapper/gradle-wrapper.properties
+    cp ${gradleAllZip} android/templates/gradle/gradle/wrapper/gradle-4.1-all.zip
+    echo "distributionUrl=gradle-4.1-all.zip" >> android/templates/gradle/gradle/wrapper/gradle-wrapper.properties
+
+    # Patch maven central repository with our own local directory. This prevents the builder from downloading Maven artifacts
+    sed -i -e 's|mavenCentral()|maven { url "${fakeMavenRepo}" }|' android/templates/build/proguard.gradle
+
+    # Patch some executables
+
+    ${if stdenv.system == "i686-linux" then
+      ''
+        patchelf --set-interpreter ${stdenv.cc.libc}/lib/ld-linux.so.2 android/titanium_prep.linux32
+      ''
+      else if stdenv.system == "x86_64-linux" then
+      ''
+        patchelf --set-interpreter ${stdenv.cc.libc}/lib/ld-linux-x86-64.so.2 android/titanium_prep.linux64
+      ''
+      else ""}
+  '';
+}
diff --git a/pkgs/development/mobile/xcodeenv/build-app.nix b/pkgs/development/mobile/xcodeenv/build-app.nix
index d208f26ab67..a94f2745894 100644
--- a/pkgs/development/mobile/xcodeenv/build-app.nix
+++ b/pkgs/development/mobile/xcodeenv/build-app.nix
@@ -12,6 +12,7 @@
 , certificateFile ? null
 , certificatePassword ? null
 , provisioningProfile ? null
+, signMethod ? null
 , generateIPA ? false
 , generateXCArchive ? false
 , enableWirelessDistribution ? false
@@ -21,7 +22,7 @@
 , title ? null
 }:
 
-assert release -> codeSignIdentity != null && certificateFile != null && certificatePassword != null && provisioningProfile != null;
+assert release -> codeSignIdentity != null && certificateFile != null && certificatePassword != null && provisioningProfile != null && signMethod != null;
 assert enableWirelessDistribution -> installURL != null && bundleId != null && version != null && title != null;
 
 let
@@ -82,13 +83,34 @@ stdenv.mkDerivation {
     # Do the building
     export LD=clang # To avoid problem with -isysroot parameter that is unrecognized by the stock ld. Comparison with an impure build shows that it uses clang instead. Ugly, but it works
 
-    xcodebuild -target ${_target} -configuration ${_configuration} ${stdenv.lib.optionalString (scheme != null) "-scheme ${scheme}"} -sdk ${_sdk} TARGETED_DEVICE_FAMILY="1, 2" ONLY_ACTIVE_ARCH=NO CONFIGURATION_TEMP_DIR=$TMPDIR CONFIGURATION_BUILD_DIR=$out ${if generateXCArchive then "archive" else ""} ${xcodeFlags} ${if release then ''"CODE_SIGN_IDENTITY=${codeSignIdentity}" PROVISIONING_PROFILE=$PROVISIONING_PROFILE OTHER_CODE_SIGN_FLAGS="--keychain $HOME/Library/Keychains/$keychainName-db"'' else ""}
+    xcodebuild -target ${_target} -configuration ${_configuration} ${stdenv.lib.optionalString (scheme != null) "-scheme ${scheme}"} -sdk ${_sdk} TARGETED_DEVICE_FAMILY="1, 2" ONLY_ACTIVE_ARCH=NO CONFIGURATION_TEMP_DIR=$TMPDIR CONFIGURATION_BUILD_DIR=$out ${if generateIPA || generateXCArchive then "-archivePath \"${name}.xcarchive\" archive" else ""} ${if release then ''PROVISIONING_PROFILE=$PROVISIONING_PROFILE OTHER_CODE_SIGN_FLAGS="--keychain $HOME/Library/Keychains/$keychainName-db"'' else ""} ${xcodeFlags}
 
     ${stdenv.lib.optionalString release ''
       ${stdenv.lib.optionalString generateIPA ''
+        # Create export plist file
+        cat > "${name}.plist" <<EOF
+        <?xml version="1.0" encoding="UTF-8"?>
+        <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+        <plist version="1.0">
+        <dict>
+            <key>provisioningProfiles</key>
+            <dict>
+                <key>${bundleId}</key>
+                <string>$PROVISIONING_PROFILE</string>
+            </dict>
+            <key>method</key>
+            <string>${signMethod}</string>
+            ${stdenv.lib.optionalString (signMethod == "enterprise" || signMethod == "ad-hoc") ''
+              <key>compileBitcode</key>
+              <false/>
+            ''}
+        </dict>
+        </plist>
+        EOF
+
         # Produce an IPA file
-        xcrun -sdk iphoneos PackageApplication -v $out/*.app -o "$out/${name}.ipa"
-        
+        xcodebuild -exportArchive -archivePath "${name}.xcarchive" -exportOptionsPlist "${name}.plist" -exportPath $out
+
         # Add IPA to Hydra build products
         mkdir -p $out/nix-support
         echo "file binary-dist \"$(echo $out/*.ipa)\"" > $out/nix-support/hydra-build-products
@@ -99,6 +121,10 @@ stdenv.mkDerivation {
           echo "doc install \"$out/$appname.html\"" >> $out/nix-support/hydra-build-products
         ''}
       ''}
+      ${stdenv.lib.optionalString generateXCArchive ''
+        mkdir -p $out
+        mv "${name}.xcarchive" $out
+      ''}
       
       # Delete our temp keychain
       ${deleteKeychain}
diff --git a/pkgs/development/mobile/xcodeenv/simulate-app.nix b/pkgs/development/mobile/xcodeenv/simulate-app.nix
index 5f71b599408..04b6f2cbc83 100644
--- a/pkgs/development/mobile/xcodeenv/simulate-app.nix
+++ b/pkgs/development/mobile/xcodeenv/simulate-app.nix
@@ -16,7 +16,7 @@ stdenv.mkDerivation {
         echo "Please provide a UDID of a simulator:"
         read udid
     else
-        # If a parameter has been provided, consider that a device UDID an use that
+        # If a parameter has been provided, consider that a device UDID and use that
         udid="$1"
     fi
     
diff --git a/pkgs/development/node-packages/README.md b/pkgs/development/node-packages/README.md
index 17a203ed12b..9760285a915 100644
--- a/pkgs/development/node-packages/README.md
+++ b/pkgs/development/node-packages/README.md
@@ -1,51 +1 @@
-Node.js packages
-================
-The `pkgs/development/node-packages` folder contains a generated collection of
-[NPM packages](https://npmjs.com/) that can be installed with the Nix package
-manager.
-
-As a rule of thumb, the package set should only provide *end user* software
-packages, such as command-line utilities. Libraries should only be added to the
-package set if there is a non-NPM package that requires it.
-
-When it is desired to use NPM libraries in a development project, use the
-`node2nix` generator directly on the `package.json` configuration file of the
-project.
-
-The package set also provides support for multiple Node.js versions. The policy
-is that a new package should be added to the collection for the latest stable LTS
-release (which is currently 6.x), unless there is an explicit reason to support
-a different release.
-
-If your package uses native addons, you need to examine what kind of native
-build system it uses. Here are some examples:
-
-* `node-gyp`
-* `node-gyp-builder`
-* `node-pre-gyp`
-
-After you have identified the correct system, you need to override your package
-expression while adding in build system as a build input. For example, `dat`
-requires `node-gyp-build`, so we override its expression in `default-v6.nix`:
-
-```nix
-dat = nodePackages.dat.override (oldAttrs: {
-  buildInputs = oldAttrs.buildInputs ++ [ nodePackages.node-gyp-build ];
-});
-```
-
-To add a package from NPM to nixpkgs:
-
- 1. Modify `pkgs/development/node-packages/node-packages-v6.json` to add, update
-    or remove package entries. (Or `pkgs/development/node-packages/node-packages-v4.json`
-    for packages depending on Node.js 4.x)
- 2. Run the script: `(cd pkgs/development/node-packages && ./generate.sh)`.
- 3. Build your new package to test your changes:
-    `cd /path/to/nixpkgs && nix-build -A nodePackages.<new-or-updated-package>`.
-    To build against a specific Node.js version (e.g. 4.x):
-    `nix-build -A nodePackages_4_x.<new-or-updated-package>`
- 4. Add and commit all modified and generated files.
-
-For more information about the generation process, consult the
-[README.md](https://github.com/svanderburg/node2nix) file of the `node2nix`
-tool.
+Moved to [/doc/languages-frameworks/node.section.md](/doc/languages-frameworks/node.section.md)
diff --git a/pkgs/development/node-packages/composition-v6.nix b/pkgs/development/node-packages/composition-v6.nix
index fa4d7268f01..2252bab3a79 100644
--- a/pkgs/development/node-packages/composition-v6.nix
+++ b/pkgs/development/node-packages/composition-v6.nix
@@ -1,4 +1,4 @@
-# This file has been generated by node2nix 1.5.2. Do not edit!
+# This file has been generated by node2nix 1.5.3. Do not edit!
 
 {pkgs ? import <nixpkgs> {
     inherit system;
@@ -8,6 +8,7 @@ let
   nodeEnv = import ./node-env.nix {
     inherit (pkgs) stdenv python2 utillinux runCommand writeTextFile;
     inherit nodejs;
+    libtool = if pkgs.stdenv.isDarwin then pkgs.darwin.cctools else null;
   };
 in
 import ./node-packages-v6.nix {
diff --git a/pkgs/development/node-packages/composition-v8.nix b/pkgs/development/node-packages/composition-v8.nix
index a83df852ce2..96266105942 100644
--- a/pkgs/development/node-packages/composition-v8.nix
+++ b/pkgs/development/node-packages/composition-v8.nix
@@ -1,4 +1,4 @@
-# This file has been generated by node2nix 1.5.2. Do not edit!
+# This file has been generated by node2nix 1.5.3. Do not edit!
 
 {pkgs ? import <nixpkgs> {
     inherit system;
@@ -8,6 +8,7 @@ let
   nodeEnv = import ./node-env.nix {
     inherit (pkgs) stdenv python2 utillinux runCommand writeTextFile;
     inherit nodejs;
+    libtool = if pkgs.stdenv.isDarwin then pkgs.darwin.cctools else null;
   };
 in
 import ./node-packages-v8.nix {
diff --git a/pkgs/development/node-packages/default-v6.nix b/pkgs/development/node-packages/default-v6.nix
index 5fc007bbfd0..2be09eb1632 100644
--- a/pkgs/development/node-packages/default-v6.nix
+++ b/pkgs/development/node-packages/default-v6.nix
@@ -24,13 +24,13 @@ nodePackages // {
   phantomjs = nodePackages.phantomjs.override (oldAttrs: {
     buildInputs = oldAttrs.buildInputs ++ [ pkgs.phantomjs2 ];
   });
-  
+
   webdrvr = nodePackages.webdrvr.override (oldAttrs: {
     buildInputs = oldAttrs.buildInputs ++ [ pkgs.phantomjs ];
-    
+
     preRebuild = ''
       mkdir $TMPDIR/webdrvr
-      
+
       ln -s ${pkgs.fetchurl {
         url = "https://selenium-release.storage.googleapis.com/2.43/selenium-server-standalone-2.43.1.jar";
         sha1 = "ef1b5f8ae9c99332f99ba8794988a1d5b974d27b";
@@ -72,4 +72,11 @@ nodePackages // {
     '';
     buildInputs = oldAttrs.buildInputs ++ [ pkgs.phantomjs2 ];
   });
+
+  node2nix =  nodePackages.node2nix.override (oldAttrs: {
+    buildInputs = oldAttrs.buildInputs ++ [ pkgs.makeWrapper ];
+    postInstall = ''
+      wrapProgram "$out/bin/node2nix" --prefix PATH : ${stdenv.lib.makeBinPath [ pkgs.nix ]}
+    '';
+  });
 }
diff --git a/pkgs/development/node-packages/node-env.nix b/pkgs/development/node-packages/node-env.nix
index 15bc6c638d9..fc118a788ea 100644
--- a/pkgs/development/node-packages/node-env.nix
+++ b/pkgs/development/node-packages/node-env.nix
@@ -1,6 +1,6 @@
 # This file originates from node2nix
 
-{stdenv, nodejs, python2, utillinux, runCommand, writeTextFile}:
+{stdenv, nodejs, python2, utillinux, libtool, runCommand, writeTextFile}:
 
 let
   python = if nodejs ? python then nodejs.python else python2;
@@ -316,7 +316,10 @@ let
     in
     stdenv.lib.makeOverridable stdenv.mkDerivation (builtins.removeAttrs args [ "dependencies" ] // {
       name = "node-${name}-${version}";
-      buildInputs = [ tarWrapper python nodejs ] ++ stdenv.lib.optional (stdenv.isLinux) utillinux ++ args.buildInputs or [];
+      buildInputs = [ tarWrapper python nodejs ]
+        ++ stdenv.lib.optional (stdenv.isLinux) utillinux
+        ++ stdenv.lib.optional (stdenv.isDarwin) libtool
+        ++ args.buildInputs or [];
       dontStrip = args.dontStrip or true; # Striping may fail a build for some package deployments
 
       inherit dontNpmInstall preRebuild;
@@ -413,7 +416,10 @@ let
       nodeDependencies = stdenv.mkDerivation {
         name = "node-dependencies-${name}-${version}";
 
-        buildInputs = [ tarWrapper python nodejs ] ++ stdenv.lib.optional (stdenv.isLinux) utillinux ++ args.buildInputs or [];
+        buildInputs = [ tarWrapper python nodejs ]
+          ++ stdenv.lib.optional (stdenv.isLinux) utillinux
+          ++ stdenv.lib.optional (stdenv.isDarwin) libtool
+          ++ args.buildInputs or [];
 
         includeScript = includeDependencies { inherit dependencies; };
         pinpointDependenciesScript = pinpointDependenciesOfPackage args;
diff --git a/pkgs/development/node-packages/node-packages-v6.json b/pkgs/development/node-packages/node-packages-v6.json
index ad9d79fd88e..5f18a286ad7 100644
--- a/pkgs/development/node-packages/node-packages-v6.json
+++ b/pkgs/development/node-packages/node-packages-v6.json
@@ -11,12 +11,15 @@
 , "coinmon"
 , "configurable-http-proxy"
 , "cordova"
+, "create-react-app"
+, "create-react-native-app"
 , "csslint"
 , "dat"
 , "dhcp"
 , "dnschain"
 , "docker-registry-server"
 , "elasticdump"
+, "elm-oracle"
 , "elm-test"
 , "emoj"
 , "eslint"
@@ -36,6 +39,7 @@
 , "ionic"
 , "ios-deploy"
 , "istanbul"
+, "imapnotify"
 , "javascript-typescript-langserver"
 , "jayschema"
 , "jsdoc"
@@ -73,7 +77,7 @@
 , "npm-check-updates"
 , "nsp"
 , "ocaml-language-server"
-, "parsoid"
+, { "parsoid": "git://github.com/abbradar/parsoid#stable" }
 , "peerflix"
 , "peerflix-server"
 , "phantomjs"
@@ -102,8 +106,10 @@
 , "typings"
 , "uglify-js"
 , "ungit"
+, "vue-cli"
 , "webdrvr"
 , "webpack"
+, "webtorrent-cli"
 , "web-ext"
 , "wring"
 , "yarn"
diff --git a/pkgs/development/node-packages/node-packages-v6.nix b/pkgs/development/node-packages/node-packages-v6.nix
index ebea0df1362..66a016ceb51 100644
--- a/pkgs/development/node-packages/node-packages-v6.nix
+++ b/pkgs/development/node-packages/node-packages-v6.nix
@@ -1,34 +1,43 @@
-# This file has been generated by node2nix 1.5.2. Do not edit!
+# This file has been generated by node2nix 1.5.3. Do not edit!
 
 {nodeEnv, fetchurl, fetchgit, globalBuildInputs ? []}:
 
 let
   sources = {
-    "@browserify/acorn5-object-spread-5.0.1" = {
-      name = "_at_browserify_slash_acorn5-object-spread";
-      packageName = "@browserify/acorn5-object-spread";
-      version = "5.0.1";
+    "@cliqz-oss/firefox-client-0.3.1" = {
+      name = "_at_cliqz-oss_slash_firefox-client";
+      packageName = "@cliqz-oss/firefox-client";
+      version = "0.3.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@browserify/acorn5-object-spread/-/acorn5-object-spread-5.0.1.tgz";
-        sha512 = "0l47lh2pz596qayh9mmg2x2zjvjm6phj6llj4465cc420fpsjpwbm4i67mkc7d3iylilxhrcs9mlyqm2cpc79xqvrm3f4hy70zr8l5h";
+        url = "https://registry.npmjs.org/@cliqz-oss/firefox-client/-/firefox-client-0.3.1.tgz";
+        sha512 = "0mzrszrx3b26v168dxy14mafp9dnczzl10yrdg203q46xcasi6a668yg2zf3nlzmf4klylfkbca3b3amd0646barp0nkh1zkfi97vs4";
       };
     };
-    "@ionic/cli-framework-0.1.2" = {
+    "@cliqz-oss/node-firefox-connect-1.2.1" = {
+      name = "_at_cliqz-oss_slash_node-firefox-connect";
+      packageName = "@cliqz-oss/node-firefox-connect";
+      version = "1.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@cliqz-oss/node-firefox-connect/-/node-firefox-connect-1.2.1.tgz";
+        sha512 = "2f8l9alm034f4mrp2shf3pgcvm1m9lvbw2n5jpjnnmk6mn36qmwz4hjnrky279z4wnphgr2wv1vksn57w6ncl3cfr13nzv93s435wiv";
+      };
+    };
+    "@ionic/cli-framework-0.1.3" = {
       name = "_at_ionic_slash_cli-framework";
       packageName = "@ionic/cli-framework";
-      version = "0.1.2";
+      version = "0.1.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ionic/cli-framework/-/cli-framework-0.1.2.tgz";
-        sha512 = "265kszf17mdz60zpfrj5i47lqwwgp6h1b7i8vymig1pnlqd3lnljibxvd2d1rfa3827ks435k9wws458z3dk7fyq8wfmzmv8fk9qjhh";
+        url = "https://registry.npmjs.org/@ionic/cli-framework/-/cli-framework-0.1.3.tgz";
+        sha512 = "0l4lpl9477wf6i2xzqqqv5lmrmnyf82n0rbww6ynaszyb6cl38m2dpbz4xv0ksy5mayjyfkq6nj7mjzh4cvak12zfwp4cgrrai6ybkg";
       };
     };
-    "@ionic/cli-utils-1.19.1" = {
+    "@ionic/cli-utils-1.19.2" = {
       name = "_at_ionic_slash_cli-utils";
       packageName = "@ionic/cli-utils";
-      version = "1.19.1";
+      version = "1.19.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ionic/cli-utils/-/cli-utils-1.19.1.tgz";
-        sha512 = "3anhsxw0zyzi9j4kfnqxg2h4fxqjyw6pabb75z5b17hmksmjcyy6psic9fziyrgllp5rqksadqdzbkbb6lrviclhiz26sj8f7gjfi8r";
+        url = "https://registry.npmjs.org/@ionic/cli-utils/-/cli-utils-1.19.2.tgz";
+        sha512 = "10fl86bf0p911b7w0dnz2q3b8092c50h6x8kf79lwg8bg3jnmnmvz0i868xhf7qnawyaikhqdf5nifpb42f9jr3x0mxgmp4ppdwadlx";
       };
     };
     "@ionic/discover-0.4.0" = {
@@ -85,22 +94,31 @@ let
         sha512 = "2fv2qaz90rp6ib2s45ix0p3a4bd6yl6k94k1kkhw7w4s2aa5mqc6chppkf6pfvsz1l6phh7y0xswyfyzjgny7qzascch8c7ws20a0r4";
       };
     };
-    "@types/node-8.9.4" = {
+    "@types/node-10.0.4" = {
       name = "_at_types_slash_node";
       packageName = "@types/node";
-      version = "8.9.4";
+      version = "10.0.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/node/-/node-8.9.4.tgz";
-        sha512 = "0fc7dnkm8mxih1kx7dpxdjp9432wwn2hj9k3rs6ipmyac7x4d73kjxhkinlv9wzmzpxkz8n0cp6zykl8nvb4ksh3gycwhm7mbgw6avm";
+        url = "https://registry.npmjs.org/@types/node/-/node-10.0.4.tgz";
+        sha512 = "2zwjjfa4s706r0w45siwgzax5c8g5j3z79dkckwzgrzqxglj070ijv0m9g1ipc1y4kr7l0r9qia9yfxc9syw64hib8vh216cxk1las6";
       };
     };
-    "@types/node-9.4.6" = {
+    "@types/node-8.10.12" = {
       name = "_at_types_slash_node";
       packageName = "@types/node";
-      version = "9.4.6";
+      version = "8.10.12";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/node/-/node-9.4.6.tgz";
-        sha512 = "08j600qycq8wmra6zn9jvh2ifnkr90s08rcv3spjqc03mjapfm4bz009cm6xfqd7ipbsm7q6ymxccdnlw4gbyd3lyh21a4npqnjsd89";
+        url = "https://registry.npmjs.org/@types/node/-/node-8.10.12.tgz";
+        sha512 = "199k4d6vmwxd4bkmxmpszdvz6nxby7px5w2cw0yrhrp5clmxvsfc1xnwirjlpidfc4a76i6pzprmdkrpli8i454s909bx6z7wd584b9";
+      };
+    };
+    "@types/node-9.6.12" = {
+      name = "_at_types_slash_node";
+      packageName = "@types/node";
+      version = "9.6.12";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/node/-/node-9.6.12.tgz";
+        sha512 = "2515a59dsfswy2l4i7hid0krh69mzz42byi55a12a0cz21masdmd3j0zc8aq7qyh2sm6lmhzbxy1n8vhb563ybjhiygavn9d24k77yr";
       };
     };
     "@types/request-2.47.0" = {
@@ -130,15 +148,6 @@ let
         sha512 = "1psrs8sjpmhz8sz2zjkkd7743vzdi7q7vcj8p219q1pkfawr619rl1m5pczp69hbm1769kn8zwlbayjylhl7an5hkvkdd2bi04lpx75";
       };
     };
-    "@zeit/check-updates-1.1.0" = {
-      name = "_at_zeit_slash_check-updates";
-      packageName = "@zeit/check-updates";
-      version = "1.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@zeit/check-updates/-/check-updates-1.1.0.tgz";
-        sha512 = "0pg9y2fssdvfwq19ih2w4fwma8qw3anxlsbqrzncywxl30j65k2bwwlp2djz5brkz27xixcrx9g9gx9blszhbaz0pv5xmghrw33700y";
-      };
-    };
     "CSSselect-0.4.1" = {
       name = "CSSselect";
       packageName = "CSSselect";
@@ -220,6 +229,15 @@ let
         sha512 = "38s4f3id97wsb0rg9nm9zvxyq0nvwrmrpa5dzvrkp36mf5ibs98b4z6lvsbrwzzs0sbcank6c7gpp06vcwp9acfhp41rzlhi3ybsxwy";
       };
     };
+    "absolute-0.0.1" = {
+      name = "absolute";
+      packageName = "absolute";
+      version = "0.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/absolute/-/absolute-0.0.1.tgz";
+        sha1 = "c22822f87e1c939f579887504d9c109c4173829d";
+      };
+    };
     "abstract-leveldown-0.12.4" = {
       name = "abstract-leveldown";
       packageName = "abstract-leveldown";
@@ -256,13 +274,13 @@ let
         sha1 = "c3ca7434938648c3e0d9c1e328dd68b622c284ca";
       };
     };
-    "accepts-1.3.4" = {
+    "accepts-1.3.5" = {
       name = "accepts";
       packageName = "accepts";
-      version = "1.3.4";
+      version = "1.3.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/accepts/-/accepts-1.3.4.tgz";
-        sha1 = "86246758c7dd6d21a6474ff084a4740ec05eb21f";
+        url = "https://registry.npmjs.org/accepts/-/accepts-1.3.5.tgz";
+        sha1 = "eb777df6011723a3b14e8a72c0805c8e86746bd2";
       };
     };
     "acorn-1.2.2" = {
@@ -301,22 +319,13 @@ let
         sha1 = "105495ae5361d697bd195c825192e1ad7f253787";
       };
     };
-    "acorn-5.5.0" = {
+    "acorn-5.5.3" = {
       name = "acorn";
       packageName = "acorn";
-      version = "5.5.0";
+      version = "5.5.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/acorn/-/acorn-5.5.0.tgz";
-        sha512 = "3zaj6p3hwrmg5i65dg7q0kk9224w6fd404k830k922wn3mn4x95c48zrmgg4n85xigg904syrzbh5nca94aaf4anfjpjm9vbpfgkfba";
-      };
-    };
-    "acorn-dynamic-import-2.0.2" = {
-      name = "acorn-dynamic-import";
-      packageName = "acorn-dynamic-import";
-      version = "2.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/acorn-dynamic-import/-/acorn-dynamic-import-2.0.2.tgz";
-        sha1 = "c752bd210bef679501b6c6cb7fc84f8f47158cc4";
+        url = "https://registry.npmjs.org/acorn/-/acorn-5.5.3.tgz";
+        sha512 = "0wmwifv9mm9gqcir9zbz5y1gl1rgwwprqh1f3csjydj8kf3byca7img3rh5b54kbnw3ik34bc6ynbnzsd01zmxrsfdvjv95hn84rpld";
       };
     };
     "acorn-dynamic-import-3.0.0" = {
@@ -382,13 +391,13 @@ let
         sha1 = "11c58e427b7e83d9ef2d77c9c3a2a60fbb0b6cc8";
       };
     };
-    "adal-node-0.1.27" = {
+    "adal-node-0.1.28" = {
       name = "adal-node";
       packageName = "adal-node";
-      version = "0.1.27";
+      version = "0.1.28";
       src = fetchurl {
-        url = "https://registry.npmjs.org/adal-node/-/adal-node-0.1.27.tgz";
-        sha1 = "42252337bc1d01aff6b3c26138a08a3d4f420b0e";
+        url = "https://registry.npmjs.org/adal-node/-/adal-node-0.1.28.tgz";
+        sha1 = "468c4bb3ebbd96b1270669f4b9cba4e0065ea485";
       };
     };
     "adbkit-2.11.0" = {
@@ -427,13 +436,13 @@ let
         sha1 = "6a7990437ca736d5e1288db92bd3266d5f5cb2aa";
       };
     };
-    "addons-linter-0.35.0" = {
+    "addons-linter-0.41.0" = {
       name = "addons-linter";
       packageName = "addons-linter";
-      version = "0.35.0";
+      version = "0.41.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/addons-linter/-/addons-linter-0.35.0.tgz";
-        sha1 = "85872cce58983ff339ced297dbff486c02ecd336";
+        url = "https://registry.npmjs.org/addons-linter/-/addons-linter-0.41.0.tgz";
+        sha512 = "1cdq1s3zaz5547yn12h23434f3g6jjchrjdwv7x0qbg38zilaix5x04ajy87pw94rs1mk6kkawa517whzjn0jd7kpx6nac75qw7rcwf";
       };
     };
     "addr-to-ip-port-1.4.3" = {
@@ -454,15 +463,6 @@ let
         sha512 = "27dii2i2aw9z3pw09110914532z5dfywxp8gbrfr14737cwy8m0jysam3abmfsbp8g51sd02ys57j5snwly3zfd0vrbli4109rni7ng";
       };
     };
-    "addressparser-0.1.3" = {
-      name = "addressparser";
-      packageName = "addressparser";
-      version = "0.1.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/addressparser/-/addressparser-0.1.3.tgz";
-        sha1 = "9e9ab43d257e1ae784e1df5f580c9f5240f58874";
-      };
-    };
     "addressparser-0.3.2" = {
       name = "addressparser";
       packageName = "addressparser";
@@ -490,6 +490,15 @@ let
         sha1 = "8606c2cbf1c426ce8c8ec00174447fd49b6eafc1";
       };
     };
+    "adm-zip-0.4.9" = {
+      name = "adm-zip";
+      packageName = "adm-zip";
+      version = "0.4.9";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/adm-zip/-/adm-zip-0.4.9.tgz";
+        sha512 = "03k8g7lxi05n57v16vv32x32lkikh9qvv4pmkycrw52j3r031fkvns49z8wvfbj3rjj6vh712ahyfz5k3m5b9v832n9dz18f8kxljbs";
+      };
+    };
     "after-0.8.1" = {
       name = "after";
       packageName = "after";
@@ -544,6 +553,15 @@ let
         sha1 = "48566d5fa55a921d80187ad946f7e8f7555902a1";
       };
     };
+    "airplay-js-0.3.0" = {
+      name = "airplay-js";
+      packageName = "airplay-js";
+      version = "0.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/airplay-js/-/airplay-js-0.3.0.tgz";
+        sha1 = "16bac2ef91b31249382924bfdeeabaddc9db7398";
+      };
+    };
     "airplay-protocol-2.0.2" = {
       name = "airplay-protocol";
       packageName = "airplay-protocol";
@@ -580,13 +598,22 @@ let
         sha1 = "73b5eeca3fab653e3d3f9422b341ad42205dc965";
       };
     };
-    "ajv-6.2.0" = {
+    "ajv-6.3.0" = {
       name = "ajv";
       packageName = "ajv";
-      version = "6.2.0";
+      version = "6.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ajv/-/ajv-6.2.0.tgz";
-        sha1 = "afac295bbaa0152449e522742e4547c1ae9328d2";
+        url = "https://registry.npmjs.org/ajv/-/ajv-6.3.0.tgz";
+        sha1 = "1650a41114ef00574cac10b8032d8f4c14812da7";
+      };
+    };
+    "ajv-6.4.0" = {
+      name = "ajv";
+      packageName = "ajv";
+      version = "6.4.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ajv/-/ajv-6.4.0.tgz";
+        sha1 = "d3aff78e9277549771daf0164cff48482b754fc6";
       };
     };
     "ajv-keywords-1.5.1" = {
@@ -607,13 +634,13 @@ let
         sha1 = "617997fc5f60576894c435f940d819e135b80762";
       };
     };
-    "ajv-keywords-3.1.0" = {
+    "ajv-keywords-3.2.0" = {
       name = "ajv-keywords";
       packageName = "ajv-keywords";
-      version = "3.1.0";
+      version = "3.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.1.0.tgz";
-        sha1 = "ac2b27939c543e95d2c06e7f7f5c27be4aa543be";
+        url = "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.2.0.tgz";
+        sha1 = "e86b819c602cf8821ad637413698f1dec021847a";
       };
     };
     "ajv-merge-patch-3.0.0" = {
@@ -697,13 +724,13 @@ let
         sha1 = "3e75c037475217544ed763a8db5709fa9ae5bf9a";
       };
     };
-    "ansi-diff-stream-1.2.0" = {
+    "ansi-diff-stream-1.2.1" = {
       name = "ansi-diff-stream";
       packageName = "ansi-diff-stream";
-      version = "1.2.0";
+      version = "1.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ansi-diff-stream/-/ansi-diff-stream-1.2.0.tgz";
-        sha1 = "eb325c20ac3623ecd592011a9295d76d97de460e";
+        url = "https://registry.npmjs.org/ansi-diff-stream/-/ansi-diff-stream-1.2.1.tgz";
+        sha512 = "3lf59lflmnm783cbczclcms4qp42l79s7jbzx7xgz89rzk325nfj26bzd61g83lp250a3pjwh8q5w1khvfjkwn8rm9sm80dhbgsr8ix";
       };
     };
     "ansi-escapes-1.4.0" = {
@@ -715,13 +742,13 @@ let
         sha1 = "d3a8a83b319aa67793662b13e761c7911422306e";
       };
     };
-    "ansi-escapes-3.0.0" = {
+    "ansi-escapes-3.1.0" = {
       name = "ansi-escapes";
       packageName = "ansi-escapes";
-      version = "3.0.0";
+      version = "3.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.0.0.tgz";
-        sha512 = "06szfav8g7xywvqsis16nnkjqs2snhv37r4m53l1ax8k2sahvqv9id2klam32jajqd08ylw8g9wbcjr971igx6vh8idan76drrjby9v";
+        url = "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.1.0.tgz";
+        sha512 = "1bm72rs09dwjhfif8kqjxnpb5fgmcdgkn5483f11j6791s5161f2kvxy69pkgcq0jdws6kqfmr1bx5189lnvkzgkq851qs3gzq1n02j";
       };
     };
     "ansi-gray-0.1.1" = {
@@ -733,6 +760,15 @@ let
         sha1 = "2962cf54ec9792c48510a3deb524436861ef7251";
       };
     };
+    "ansi-red-0.1.1" = {
+      name = "ansi-red";
+      packageName = "ansi-red";
+      version = "0.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ansi-red/-/ansi-red-0.1.1.tgz";
+        sha1 = "8c638f9d1080800a353c9c28c8a81ca4705d946c";
+      };
+    };
     "ansi-regex-0.2.1" = {
       name = "ansi-regex";
       packageName = "ansi-regex";
@@ -796,13 +832,13 @@ let
         sha1 = "b432dd3358b634cf75e1e4664368240533c1ddbe";
       };
     };
-    "ansi-styles-3.2.0" = {
+    "ansi-styles-3.2.1" = {
       name = "ansi-styles";
       packageName = "ansi-styles";
-      version = "3.2.0";
+      version = "3.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz";
-        sha512 = "2x19fs1qvg7ifsdvii4g8kqpa5hir1lm0k0y0fz6dhm5c8gh4z9il4wqczl078p2ikmrav23dmj86cxy8y1j22k4mv59d8qq6c8wx1n";
+        url = "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz";
+        sha512 = "2lgkskkj4c1fsnrksy0yffda0wss84p8lfiazdc7jli7iqnvrxkzbxjzpvx13lm28qw0zkawfxvz2bdiisc72ccy7hx8i8rm4iijgam";
       };
     };
     "ansi-wrap-0.1.0" = {
@@ -1012,13 +1048,13 @@ let
         sha1 = "2b12247b933001971addcbfe4e67d20fd395bbf4";
       };
     };
-    "args-3.0.8" = {
+    "args-4.0.0" = {
       name = "args";
       packageName = "args";
-      version = "3.0.8";
+      version = "4.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/args/-/args-3.0.8.tgz";
-        sha512 = "26h2nssgwzgc9y1mywgjcx2rbbkxlpx23zj9gh81bayjr8522zi78rwrhpkkqwh7dwqx6mv8gphcx8zyv3vm8hxw5s89kjlzm66k7y9";
+        url = "https://registry.npmjs.org/args/-/args-4.0.0.tgz";
+        sha512 = "2xd628jhziygi9jr16ckq557189nw5lracgzcpv8ddvymc3mjxvqzffgp68wmgknw6ps7nliwwyismriv6z4snvn0xmm7kwbrafbgp1";
       };
     };
     "arr-diff-2.0.0" = {
@@ -1390,13 +1426,13 @@ let
         sha1 = "59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367";
       };
     };
-    "ast-types-0.11.2" = {
+    "ast-types-0.11.3" = {
       name = "ast-types";
       packageName = "ast-types";
-      version = "0.11.2";
+      version = "0.11.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ast-types/-/ast-types-0.11.2.tgz";
-        sha512 = "1mfcrhzn37ray5i3fizrfm5gr1zijv6k1gy370v62smzd6j8d3irphhma9cs9kij7nwkgh5v60q53bfivpm2sscfxbdms9ywiqakgv8";
+        url = "https://registry.npmjs.org/ast-types/-/ast-types-0.11.3.tgz";
+        sha512 = "2lga5vgh6bz1vii6kfdy2k1g99arw9cikxx8705p9v92rqn7ksdvbzjvhgfdf4s21nbfafrxjh3hrr5jz2yq43dr4hw7hqdvgjnh3jw";
       };
     };
     "ast-types-0.9.6" = {
@@ -1498,22 +1534,22 @@ let
         sha1 = "612a4ab45ef42a70cde806bad86ee6db047e8385";
       };
     };
-    "async-2.1.4" = {
+    "async-2.1.5" = {
       name = "async";
       packageName = "async";
-      version = "2.1.4";
+      version = "2.1.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/async/-/async-2.1.4.tgz";
-        sha1 = "2d2160c7788032e4dd6cbe2502f1f9a2c8f6cde4";
+        url = "https://registry.npmjs.org/async/-/async-2.1.5.tgz";
+        sha1 = "e587c68580994ac67fc56ff86d3ac56bdbe810bc";
       };
     };
-    "async-2.1.5" = {
+    "async-2.3.0" = {
       name = "async";
       packageName = "async";
-      version = "2.1.5";
+      version = "2.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/async/-/async-2.1.5.tgz";
-        sha1 = "e587c68580994ac67fc56ff86d3ac56bdbe810bc";
+        url = "https://registry.npmjs.org/async/-/async-2.3.0.tgz";
+        sha1 = "1013d1051047dd320fe24e494d5c66ecaf6147d9";
       };
     };
     "async-2.5.0" = {
@@ -1561,13 +1597,13 @@ let
         sha1 = "c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79";
       };
     };
-    "atob-2.0.3" = {
+    "atob-2.1.1" = {
       name = "atob";
       packageName = "atob";
-      version = "2.0.3";
+      version = "2.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/atob/-/atob-2.0.3.tgz";
-        sha1 = "19c7a760473774468f20b2d2d03372ad7d4cbf5d";
+        url = "https://registry.npmjs.org/atob/-/atob-2.1.1.tgz";
+        sha1 = "ae2d5a729477f289d60dd7f96a6314a22dd6c22a";
       };
     };
     "atomic-batcher-1.0.2" = {
@@ -1597,13 +1633,13 @@ let
         sha1 = "00f35b2d27ac91b1f0d3ef2084c98cf1d1f0adc3";
       };
     };
-    "aws-sdk-2.203.0" = {
+    "aws-sdk-2.233.1" = {
       name = "aws-sdk";
       packageName = "aws-sdk";
-      version = "2.203.0";
+      version = "2.233.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.203.0.tgz";
-        sha1 = "7573c1274a4350bd5d78a6db93c9eeab40940acb";
+        url = "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.233.1.tgz";
+        sha1 = "b4f541069a9f2781e9f73e1336ce81a9fc08bcf1";
       };
     };
     "aws-sign-0.2.0" = {
@@ -1633,13 +1669,13 @@ let
         sha1 = "b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8";
       };
     };
-    "aws4-1.6.0" = {
+    "aws4-1.7.0" = {
       name = "aws4";
       packageName = "aws4";
-      version = "1.6.0";
+      version = "1.7.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/aws4/-/aws4-1.6.0.tgz";
-        sha1 = "83ef5ca860b2b32e4a0deedee8c771b9db57471e";
+        url = "https://registry.npmjs.org/aws4/-/aws4-1.7.0.tgz";
+        sha512 = "3rkdcpm3myysvq9nj6plgvpngzsbv7qk1wvb9f4m3gcsl23pf5x0hyph02svyl2v1lgjji8kl75ii7q04lhhhgjyw1irbinmxsl6qyz";
       };
     };
     "axios-0.15.3" = {
@@ -1777,13 +1813,13 @@ let
         sha1 = "f63a6dad0355633d9347fb403f417fb195fe3b91";
       };
     };
-    "azure-arm-network-4.0.1" = {
+    "azure-arm-network-5.1.0" = {
       name = "azure-arm-network";
       packageName = "azure-arm-network";
-      version = "4.0.1";
+      version = "5.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/azure-arm-network/-/azure-arm-network-4.0.1.tgz";
-        sha1 = "577d8a2be2eb9e5298b561837405b2eaef283a19";
+        url = "https://registry.npmjs.org/azure-arm-network/-/azure-arm-network-5.1.0.tgz";
+        sha1 = "b2be4bfc27173b1cb7fc54425cbee27824f65b52";
       };
     };
     "azure-arm-powerbiembedded-0.1.0" = {
@@ -2020,13 +2056,13 @@ let
         sha1 = "63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b";
       };
     };
-    "babel-core-6.26.0" = {
+    "babel-core-6.26.3" = {
       name = "babel-core";
       packageName = "babel-core";
-      version = "6.26.0";
+      version = "6.26.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/babel-core/-/babel-core-6.26.0.tgz";
-        sha1 = "af32f78b31a6fcef119c87b0fd8d9753f03a0bb8";
+        url = "https://registry.npmjs.org/babel-core/-/babel-core-6.26.3.tgz";
+        sha512 = "0617drz6fkpdpkl4snbfz7ivd296j19182m7x4klhqac60qr77wn8bkgpz696sscxykcv1n8cdv09pz7v9xq6s1k552fyp6w0p8ag7a";
       };
     };
     "babel-generator-6.26.1" = {
@@ -2218,13 +2254,13 @@ let
         sha1 = "f616eda9d3e4b66b8ca7fca79f695722c5f8e26f";
       };
     };
-    "bail-1.0.2" = {
+    "bail-1.0.3" = {
       name = "bail";
       packageName = "bail";
-      version = "1.0.2";
+      version = "1.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/bail/-/bail-1.0.2.tgz";
-        sha1 = "f7d6c1731630a9f9f0d4d35ed1f962e2074a1764";
+        url = "https://registry.npmjs.org/bail/-/bail-1.0.3.tgz";
+        sha512 = "1v31szd5dwn62xh8a9cy95yby0ibq9j9barzs03hxjr4vcjnwz1mgjdb9p4rqgymjm3f5zrxgrnqkjd9h9viykd56zfchsm66g04zym";
       };
     };
     "balanced-match-1.0.0" = {
@@ -2299,22 +2335,22 @@ let
         sha1 = "d6400cac1c4c660976d90d07a04351d89395f5e8";
       };
     };
-    "base64-js-1.2.0" = {
+    "base64-js-1.2.3" = {
       name = "base64-js";
       packageName = "base64-js";
-      version = "1.2.0";
+      version = "1.2.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/base64-js/-/base64-js-1.2.0.tgz";
-        sha1 = "a39992d723584811982be5e290bb6a53d86700f1";
+        url = "https://registry.npmjs.org/base64-js/-/base64-js-1.2.3.tgz";
+        sha512 = "3kqp8hzql2ccdqf7vqizav1lrwp5gynn081718g9slxcs428sv02n037xb9hfgrqybbk4qacnk5mcv63z8fm3l4h6fi06xm8nqj3h1j";
       };
     };
-    "base64-js-1.2.3" = {
+    "base64-js-1.3.0" = {
       name = "base64-js";
       packageName = "base64-js";
-      version = "1.2.3";
+      version = "1.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/base64-js/-/base64-js-1.2.3.tgz";
-        sha512 = "3kqp8hzql2ccdqf7vqizav1lrwp5gynn081718g9slxcs428sv02n037xb9hfgrqybbk4qacnk5mcv63z8fm3l4h6fi06xm8nqj3h1j";
+        url = "https://registry.npmjs.org/base64-js/-/base64-js-1.3.0.tgz";
+        sha512 = "2bvd1ja1kbighx0vm4ia3gqv15m70pldsx2igl37ayq11715w3g0vfmfq1yb8w80hlzblvszig3fr4sdhn8rr800lsaz8dg47zsziki";
       };
     };
     "base64-url-1.2.1" = {
@@ -2479,6 +2515,15 @@ let
         sha512 = "1kvjv5hs1c53b5g2vghpnncn4zj397sa0vpbx1pzpn8ngq52s3xq9923gnl2kzkh1mhyrl277jrh87a766yks89qvz8b4jczr44xr9p";
       };
     };
+    "bencode-2.0.0" = {
+      name = "bencode";
+      packageName = "bencode";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/bencode/-/bencode-2.0.0.tgz";
+        sha512 = "3rdjlprrhprwwygnw5aik9pgi1xyr09yvgq3rbr4g3pl1v70mcc1k903x3vh9z782jly6vmnvp44nrskl5rhcxgfdwz19fl1b1qggf2";
+      };
+    };
     "better-assert-1.0.2" = {
       name = "better-assert";
       packageName = "better-assert";
@@ -2506,13 +2551,13 @@ let
         sha1 = "159a49b9a9714c1fb102f2e0ed1906fab6a450f4";
       };
     };
-    "big-integer-1.6.26" = {
+    "big-integer-1.6.28" = {
       name = "big-integer";
       packageName = "big-integer";
-      version = "1.6.26";
+      version = "1.6.28";
       src = fetchurl {
-        url = "https://registry.npmjs.org/big-integer/-/big-integer-1.6.26.tgz";
-        sha1 = "3af1672fa62daf2d5ecafacf6e5aa0d25e02c1c8";
+        url = "https://registry.npmjs.org/big-integer/-/big-integer-1.6.28.tgz";
+        sha512 = "3b56jaa0yvrl9p90c0phnhyh02sv9hxssl8y0nghv91ra8akrcdpxm55c1gf5w1is9991wm2g0wqcr4hm5ri9lmzwd8gc9d72pzg51q";
       };
     };
     "big.js-3.2.0" = {
@@ -2560,6 +2605,15 @@ let
         sha1 = "46aa1751fb6a2f93ee5e689bb1087d4b14c6c205";
       };
     };
+    "binary-search-1.3.3" = {
+      name = "binary-search";
+      packageName = "binary-search";
+      version = "1.3.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/binary-search/-/binary-search-1.3.3.tgz";
+        sha512 = "38zf62278y5pi773rqfsjrn9iknwhx25v4jhjc2gv8yi8hs2k8bjqg52yc07az2ipl53iid2d39r827z4jb6854x0z95m7hgfkwmy2g";
+      };
+    };
     "binaryheap-0.0.3" = {
       name = "binaryheap";
       packageName = "binaryheap";
@@ -2605,6 +2659,15 @@ let
         sha1 = "b05d8b5f0d09f2df35a9db3b3a62d3808c46c457";
       };
     };
+    "bitfield-2.0.0" = {
+      name = "bitfield";
+      packageName = "bitfield";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/bitfield/-/bitfield-2.0.0.tgz";
+        sha512 = "27y12y6a0jj5yrb5m8k7fp5czr6cj2x15rmd3d10q4s22i2fw23v5c731ciy9sndjic7hcgblkjc3ilayh7lpv0m4zp8f53hw6kh4z3";
+      };
+    };
     "bitfield-rle-2.1.0" = {
       name = "bitfield-rle";
       packageName = "bitfield-rle";
@@ -2641,6 +2704,33 @@ let
         sha512 = "10md5792s6q3xwdrmwh1a8ax9w128g607b5qsbxzw8x0gl9184g754hprchl6mq8lmf4f8qylk2h8vavsnbn9yy9gzjnyh2kwrzmxky";
       };
     };
+    "bittorrent-dht-8.3.0" = {
+      name = "bittorrent-dht";
+      packageName = "bittorrent-dht";
+      version = "8.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/bittorrent-dht/-/bittorrent-dht-8.3.0.tgz";
+        sha512 = "2p2fxhvwin4xnjdmbhrlwivx4a8pjzfn6mc5qxnxzl1q40xxp56wd6xrcxfq9viqjkvpc7g0j3dvgmvcywhgw41nvjyxi8pgm5v43kp";
+      };
+    };
+    "bittorrent-peerid-1.2.0" = {
+      name = "bittorrent-peerid";
+      packageName = "bittorrent-peerid";
+      version = "1.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/bittorrent-peerid/-/bittorrent-peerid-1.2.0.tgz";
+        sha1 = "9f675612f0e6afc6ef3450dfba51ff7238abf371";
+      };
+    };
+    "bittorrent-protocol-2.4.1" = {
+      name = "bittorrent-protocol";
+      packageName = "bittorrent-protocol";
+      version = "2.4.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/bittorrent-protocol/-/bittorrent-protocol-2.4.1.tgz";
+        sha512 = "0vx3k29q25mp4ind4745868n0hc7xcggwbj0hyqp0hfblfxpdwddv1gwdh0x0m9skja637bxvn2i1ssvqrc80qyjfy4asw63rpvg99m";
+      };
+    };
     "bittorrent-tracker-7.7.0" = {
       name = "bittorrent-tracker";
       packageName = "bittorrent-tracker";
@@ -2650,6 +2740,15 @@ let
         sha1 = "ffd2eabc141d36ed5c1817df7e992f91fd7fc65c";
       };
     };
+    "bittorrent-tracker-9.9.1" = {
+      name = "bittorrent-tracker";
+      packageName = "bittorrent-tracker";
+      version = "9.9.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/bittorrent-tracker/-/bittorrent-tracker-9.9.1.tgz";
+        sha512 = "06yb4m1bbllq52hhm7cp5j35bd9my3rhlsgaycpv6g9iymxq0qr8bx9fmxr673i9m6nxvkbrjym7ykp9f8w674inpp3csplqf2apl1x";
+      };
+    };
     "bl-0.8.2" = {
       name = "bl";
       packageName = "bl";
@@ -2677,13 +2776,13 @@ let
         sha1 = "fdca871a99713aa00d19e3bbba41c44787a65398";
       };
     };
-    "bl-1.2.1" = {
+    "bl-1.2.2" = {
       name = "bl";
       packageName = "bl";
-      version = "1.2.1";
+      version = "1.2.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/bl/-/bl-1.2.1.tgz";
-        sha1 = "cac328f7bee45730d404b692203fcb590e172d5e";
+        url = "https://registry.npmjs.org/bl/-/bl-1.2.2.tgz";
+        sha512 = "0810nalazir8szyxvbg53d7416j4a7xy94sdri37mwmnax9s9hx88mzky882sr9dv0is7w9fqlp7ys6ijr1z1imc2dnfxk8fri51jvv";
       };
     };
     "blake2b-2.1.2" = {
@@ -2740,6 +2839,15 @@ let
         sha1 = "13ebfe778a03205cfe03751481ebb4b3300c126a";
       };
     };
+    "block-stream2-1.1.0" = {
+      name = "block-stream2";
+      packageName = "block-stream2";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/block-stream2/-/block-stream2-1.1.0.tgz";
+        sha1 = "c738e3a91ba977ebb5e1fef431e13ca11d8639e2";
+      };
+    };
     "bluebird-2.9.34" = {
       name = "bluebird";
       packageName = "bluebird";
@@ -2920,13 +3028,13 @@ let
         sha1 = "4d67dc2602c0cc16dd9bce7ebf87e948290f5812";
       };
     };
-    "bower-1.8.2" = {
+    "bower-1.8.4" = {
       name = "bower";
       packageName = "bower";
-      version = "1.8.2";
+      version = "1.8.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/bower/-/bower-1.8.2.tgz";
-        sha1 = "adf53529c8d4af02ef24fb8d5341c1419d33e2f7";
+        url = "https://registry.npmjs.org/bower/-/bower-1.8.4.tgz";
+        sha1 = "e7876a076deb8137f7d06525dc5e8c66db82f28a";
       };
     };
     "bower-endpoint-parser-0.2.1" = {
@@ -2956,15 +3064,6 @@ let
         sha1 = "0c1817c48063a88d96cc3d516c55e57fff5d9ecb";
       };
     };
-    "boxen-0.3.1" = {
-      name = "boxen";
-      packageName = "boxen";
-      version = "0.3.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/boxen/-/boxen-0.3.1.tgz";
-        sha1 = "a7d898243ae622f7abb6bb604d740a76c6a5461b";
-      };
-    };
     "boxen-1.3.0" = {
       name = "boxen";
       packageName = "boxen";
@@ -3028,13 +3127,13 @@ let
         sha1 = "ba77962e12dff969d6b76711e914b737857bf6a7";
       };
     };
-    "braces-2.3.1" = {
+    "braces-2.3.2" = {
       name = "braces";
       packageName = "braces";
-      version = "2.3.1";
+      version = "2.3.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/braces/-/braces-2.3.1.tgz";
-        sha512 = "2fpcx8h100fhpaffr6mh5ysp6dv06nl5xkii807fw0c603i15sg3wsxmj63fdn4apxdnn8an2ks883mvrdsv7mfryhfxg1pf1h6bvj8";
+        url = "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz";
+        sha512 = "3gxrfbb03jf6nh75n99snhv4a9jni48hfc0gkj5yl1cginpqx3d73dnp8snph1fdkc804iz6zg0aqibifjnscjfbpfziw2g7yg5pmv8";
       };
     };
     "broadway-0.3.6" = {
@@ -3064,13 +3163,13 @@ let
         sha1 = "51598408a13f4c9c5b20eba44554b2c0b0ae4074";
       };
     };
-    "browser-pack-6.0.4" = {
+    "browser-pack-6.1.0" = {
       name = "browser-pack";
       packageName = "browser-pack";
-      version = "6.0.4";
+      version = "6.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/browser-pack/-/browser-pack-6.0.4.tgz";
-        sha512 = "0ylgxzrsxs25v3c4mz5ggqawb8k3xb39ialqlflk1nadfk8wrig2g2ipkpnw6bf9zhdhmigkwqbbl8yssibcb6fgnbbqfgsnfgnz123";
+        url = "https://registry.npmjs.org/browser-pack/-/browser-pack-6.1.0.tgz";
+        sha512 = "1cav0iv5irfvilx6x14zbxil5m012hxan16cgyp9yjs6fqfg6fny2cdjimfwgil9ma8n4w8g8wv4yn843sz257p44vkbaz8qn1jxdks";
       };
     };
     "browser-resolve-1.11.2" = {
@@ -3082,13 +3181,13 @@ let
         sha1 = "8ff09b0a2c421718a1051c260b32e48f442938ce";
       };
     };
-    "browser-stdout-1.3.0" = {
+    "browser-stdout-1.3.1" = {
       name = "browser-stdout";
       packageName = "browser-stdout";
-      version = "1.3.0";
+      version = "1.3.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.0.tgz";
-        sha1 = "f351d32969d32fa5d7a5567154263d928ae3bd1f";
+        url = "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz";
+        sha512 = "21jjhrf3wdmzsfqgva5s7shs1wdmcdxsjvi75p8z7i0q2i6n3654gpxjqlhbnpmzm25cpkshyi8swy13017qkp9m7xnbgw0bwiia45a";
       };
     };
     "browserify-13.3.0" = {
@@ -3109,22 +3208,13 @@ let
         sha1 = "089a3463af58d0e48d8cd4070b3f74654d5abca9";
       };
     };
-    "browserify-14.5.0" = {
-      name = "browserify";
-      packageName = "browserify";
-      version = "14.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/browserify/-/browserify-14.5.0.tgz";
-        sha512 = "3p941rcrmn44115ylbnq53sdsnfm08rlvckdbkrnxvl00ibis5sxyhgrx33vm8sfyb5vgbk8x4b0fv3vwirvd7frwbdmzigsjqcx9w0";
-      };
-    };
-    "browserify-aes-1.1.1" = {
+    "browserify-aes-1.2.0" = {
       name = "browserify-aes";
       packageName = "browserify-aes";
-      version = "1.1.1";
+      version = "1.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.1.1.tgz";
-        sha512 = "0b874c5j68a6h1smd9avnc98zpjy2b4sykkhfpn97lzg7k5aq3ab0jdsmxjafifm0sa3srwscfpcl70gwnlg242p7cavnf115hd6sah";
+        url = "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz";
+        sha512 = "22gkxh9wf4hjxkyvj427k9r76xkz9vs63s1drwcggbpv0r7qdclzdvw167s7iq8936zak241cc5ck3bqkp6hy99zlkrbcmfl5g8gc7v";
       };
     };
     "browserify-cache-api-3.0.1" = {
@@ -3136,22 +3226,22 @@ let
         sha1 = "96247e853f068fd6e0d45cc73f0bb2cd9778ef02";
       };
     };
-    "browserify-cipher-1.0.0" = {
+    "browserify-cipher-1.0.1" = {
       name = "browserify-cipher";
       packageName = "browserify-cipher";
-      version = "1.0.0";
+      version = "1.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.0.tgz";
-        sha1 = "9988244874bf5ed4e28da95666dcd66ac8fc363a";
+        url = "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz";
+        sha512 = "3bz6v63l37ndb18236yjdkbxjcvy4x16a8j7vsqxqprvnkcnkq1hg1ffd1c9zk9a3j555ppnpisfyh0x4adlb8lmpwbfa8i837n9y5h";
       };
     };
-    "browserify-des-1.0.0" = {
+    "browserify-des-1.0.1" = {
       name = "browserify-des";
       packageName = "browserify-des";
-      version = "1.0.0";
+      version = "1.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.0.tgz";
-        sha1 = "daa277717470922ed2fe18594118a175439721dd";
+        url = "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.1.tgz";
+        sha512 = "35rl28vzg80fa81b0a7rdaj71zf0ymxxhlmdpisps4dlgvkazbxz47q9fnl1n9wnbq7ilk6vnbxa399zcwdjdz3i0lii1mpnyhh4bfg";
       };
     };
     "browserify-incremental-3.1.1" = {
@@ -3172,6 +3262,15 @@ let
         sha1 = "aeb1af28de6c0d7a6a2ce40adb68ff18422af31f";
       };
     };
+    "browserify-package-json-1.0.1" = {
+      name = "browserify-package-json";
+      packageName = "browserify-package-json";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/browserify-package-json/-/browserify-package-json-1.0.1.tgz";
+        sha1 = "98dde8aa5c561fd6d3fe49bbaa102b74b396fdea";
+      };
+    };
     "browserify-rsa-4.0.1" = {
       name = "browserify-rsa";
       packageName = "browserify-rsa";
@@ -3226,6 +3325,15 @@ let
         sha1 = "cf34fdcff081a189b589b4b3e5e9309cd6506c81";
       };
     };
+    "buffer-3.6.0" = {
+      name = "buffer";
+      packageName = "buffer";
+      version = "3.6.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/buffer/-/buffer-3.6.0.tgz";
+        sha1 = "a72c936f77b96bf52f5f7e7b467180628551defb";
+      };
+    };
     "buffer-4.9.1" = {
       name = "buffer";
       packageName = "buffer";
@@ -3244,6 +3352,24 @@ let
         sha512 = "1ipkzdnq03rnxyl50wmzigdbd96lh0mgzffcab80yxl38x7k316kzs3h0w0bxdjj7vqh6dw3wgb7y3rsqab0ar4ky9rbh0r1f1i2hk2";
       };
     };
+    "buffer-alloc-1.1.0" = {
+      name = "buffer-alloc";
+      packageName = "buffer-alloc";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.1.0.tgz";
+        sha1 = "05514d33bf1656d3540c684f65b1202e90eca303";
+      };
+    };
+    "buffer-alloc-unsafe-0.1.1" = {
+      name = "buffer-alloc-unsafe";
+      packageName = "buffer-alloc-unsafe";
+      version = "0.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-0.1.1.tgz";
+        sha1 = "ffe1f67551dd055737de253337bfe853dfab1a6a";
+      };
+    };
     "buffer-alloc-unsafe-1.0.0" = {
       name = "buffer-alloc-unsafe";
       packageName = "buffer-alloc-unsafe";
@@ -3307,6 +3433,33 @@ let
         sha1 = "0353b54fd07fd9564170671ae6f66b9cf10d27f5";
       };
     };
+    "buffer-fill-0.1.1" = {
+      name = "buffer-fill";
+      packageName = "buffer-fill";
+      version = "0.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/buffer-fill/-/buffer-fill-0.1.1.tgz";
+        sha512 = "3nny0zbpnaxp1544gp7lc53jvs1jgzpmp92cy939dik36bi8lvhrsh4g082lxdplwsma22cgg9q93dw5dnbn1ljqkh4fb2i6w3lq032";
+      };
+    };
+    "buffer-from-0.1.2" = {
+      name = "buffer-from";
+      packageName = "buffer-from";
+      version = "0.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/buffer-from/-/buffer-from-0.1.2.tgz";
+        sha512 = "2z3dp7smyppzg5yc63hvyfxgrw5d14splmxbknz4v8g6bnncca1acr4xd6l3z13lpp4vj4120pyvk87040ajbx7v24cj9mcgdx8h9a6";
+      };
+    };
+    "buffer-from-1.0.0" = {
+      name = "buffer-from";
+      packageName = "buffer-from";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/buffer-from/-/buffer-from-1.0.0.tgz";
+        sha512 = "3252laq8prm41lgzlhmc7rdj99gwcvpf7cn6j686g4qmspnl3haid5khv9pc9cfjja9wb64nwfvgdwi2kpdf125xfg48aqapwssjxpk";
+      };
+    };
     "buffer-indexof-1.1.1" = {
       name = "buffer-indexof";
       packageName = "buffer-indexof";
@@ -3361,6 +3514,15 @@ let
         sha1 = "8de37f5a300730c305fc3edd9f93348ee8a46288";
       };
     };
+    "bufferutil-3.0.5" = {
+      name = "bufferutil";
+      packageName = "bufferutil";
+      version = "3.0.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/bufferutil/-/bufferutil-3.0.5.tgz";
+        sha512 = "2b5ha7z8v5gkanyakrbax9k9d00cv9gs2nfnk5g4d16ljmpv40jv3pljawxmnw2jj04z57cqlzbw1w8wr5kyblin8c2jz7a2av09xfi";
+      };
+    };
     "bufferview-1.0.1" = {
       name = "bufferview";
       packageName = "bufferview";
@@ -3424,13 +3586,13 @@ let
         sha1 = "cb94faeb61c8696451db36534e1422f94f0aee88";
       };
     };
-    "bulk-write-stream-1.1.3" = {
+    "bulk-write-stream-1.1.4" = {
       name = "bulk-write-stream";
       packageName = "bulk-write-stream";
-      version = "1.1.3";
+      version = "1.1.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/bulk-write-stream/-/bulk-write-stream-1.1.3.tgz";
-        sha1 = "d29ca385fbd53f357aee5bd3d3028732b62ae275";
+        url = "https://registry.npmjs.org/bulk-write-stream/-/bulk-write-stream-1.1.4.tgz";
+        sha512 = "2g3ccqw8k5vhdhnks27i954xglllw5gay8nvy3zgm2c7jpwnjc2imarwshx53pz54br6q4i4x2va4s80ixavafphhsykdhyzrvv1lhs";
       };
     };
     "bunyan-1.5.1" = {
@@ -3739,6 +3901,15 @@ let
         sha1 = "d545635be1e33c542649c69173e5de6acfae34dd";
       };
     };
+    "camelcase-5.0.0" = {
+      name = "camelcase";
+      packageName = "camelcase";
+      version = "5.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/camelcase/-/camelcase-5.0.0.tgz";
+        sha512 = "2q57983k3n95gzbhqhc0cv6krvq7nd37h837xg6favqywdda14ha7k2xbdaryni3xzzm55pvi0adrl1fbgxypaxz1kvrifnm5kb1akx";
+      };
+    };
     "camelcase-keys-2.1.0" = {
       name = "camelcase-keys";
       packageName = "camelcase-keys";
@@ -3811,13 +3982,22 @@ let
         sha1 = "98cc890ca652dd2ef0e70b37925310ff9e90fc8b";
       };
     };
-    "ccount-1.0.2" = {
+    "caw-2.0.1" = {
+      name = "caw";
+      packageName = "caw";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/caw/-/caw-2.0.1.tgz";
+        sha512 = "2wa0gi2wljxw00rvqz454sgdr8yy90z8lhprxjc1prwi695lnzrh6sk0qqhp63h9gmbldyvvzfvm8k1jk0sbv6icdawcss441jky3qa";
+      };
+    };
+    "ccount-1.0.3" = {
       name = "ccount";
       packageName = "ccount";
-      version = "1.0.2";
+      version = "1.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ccount/-/ccount-1.0.2.tgz";
-        sha1 = "53b6a2f815bb77b9c2871f7b9a72c3a25f1d8e89";
+        url = "https://registry.npmjs.org/ccount/-/ccount-1.0.3.tgz";
+        sha512 = "2dqnm6wybhq4zcdf3x97zjibb5zvvcbq3p837sp61rk6wvbk3nqq4lpivvxgvgg4cgl346aqzkpwry1sl7l1yw7ab7d6wqi34h6vpr6";
       };
     };
     "center-align-0.1.3" = {
@@ -3901,49 +4081,58 @@ let
         sha512 = "1fnn3znivja3xq1lacvsdwkl2s8ki9w95sylnf2pkmaia1mjz3llbdb5r2dxsflqfky3h8f1bh0piv0l5waw2bkdniqnyv0yx5wch9d";
       };
     };
-    "chalk-2.3.0" = {
+    "chalk-2.3.2" = {
       name = "chalk";
       packageName = "chalk";
-      version = "2.3.0";
+      version = "2.3.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/chalk/-/chalk-2.3.0.tgz";
-        sha512 = "3fj8njcdcvyplivm2fj19lqw8qv7gb8v7gd6a223pmn8f3di4zwkhyb09vzlmw3pnk4ib88kp4cg8r9i5k5rskalzdfh1l23ljp6gh3";
+        url = "https://registry.npmjs.org/chalk/-/chalk-2.3.2.tgz";
+        sha512 = "06jlrzx0nb92910rcfhx55n28jgvhc0qda49scnfyifnmc31dyfqsl5qqiwhsxkrhrc6c07x69q037f1pwg06kkfd1qdzaxz7dj7kk4";
       };
     };
-    "chalk-2.3.1" = {
+    "chalk-2.4.0" = {
       name = "chalk";
       packageName = "chalk";
-      version = "2.3.1";
+      version = "2.4.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/chalk/-/chalk-2.4.0.tgz";
+        sha512 = "0bnfi1y6b0wl6wn93ykm3awxyjnsknai0hrnvvkxfvjrcsld722r3ljdac9zifvvg8vqd4pxlrhrc4r58yp0xxfxj2bpx18zv8z1gss";
+      };
+    };
+    "chalk-2.4.1" = {
+      name = "chalk";
+      packageName = "chalk";
+      version = "2.4.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/chalk/-/chalk-2.3.1.tgz";
-        sha512 = "3m0k6j50aridlrk1q8kf3cd1vcj6qcg2nx5yk8d0196hmw0c4a6y1h315p24l34yz0chfrcrkrsr12cixccfp5q7caw5803z6hkhia1";
+        url = "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz";
+        sha512 = "1yl5ffjp5w65b9ydnw4vp13n563121hs64xbnajif51grhpqmslaqllj24zm1pfaw9ywvdx69n8ppa3riwlps25k5934zgnbf3pmcrr";
       };
     };
-    "character-entities-1.2.1" = {
+    "character-entities-1.2.2" = {
       name = "character-entities";
       packageName = "character-entities";
-      version = "1.2.1";
+      version = "1.2.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/character-entities/-/character-entities-1.2.1.tgz";
-        sha1 = "f76871be5ef66ddb7f8f8e3478ecc374c27d6dca";
+        url = "https://registry.npmjs.org/character-entities/-/character-entities-1.2.2.tgz";
+        sha512 = "30y1wgwpay9yfcz4l3wj9yslp751hch7vhing2f748qn8clk0im3f32xn25k57s6q94mkq0gnk6ga8icz3yzhm752vjq1p7mxghgjmh";
       };
     };
-    "character-entities-html4-1.1.1" = {
+    "character-entities-html4-1.1.2" = {
       name = "character-entities-html4";
       packageName = "character-entities-html4";
-      version = "1.1.1";
+      version = "1.1.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-1.1.1.tgz";
-        sha1 = "359a2a4a0f7e29d3dc2ac99bdbe21ee39438ea50";
+        url = "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-1.1.2.tgz";
+        sha512 = "0ikbsydxv9ap7im4i2l4nv5gqgilwwbbpxf8xgyknz3cv2jgp4285f0kdl0qcv1xbh9946a9wkcyd4b7mg5nzg0s5dyxnys571xg2mh";
       };
     };
-    "character-entities-legacy-1.1.1" = {
+    "character-entities-legacy-1.1.2" = {
       name = "character-entities-legacy";
       packageName = "character-entities-legacy";
-      version = "1.1.1";
+      version = "1.1.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-1.1.1.tgz";
-        sha1 = "f40779df1a101872bb510a3d295e1fccf147202f";
+        url = "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-1.1.2.tgz";
+        sha512 = "2ag1akl7wv9ysm4qkkrx8r59mj08xgnavah9hn79ggzknkb5hikn15fdgbcql4yln4a5kbi0b8xykwhy80vrarsbyfqapgdnmapdl7l";
       };
     };
     "character-parser-1.2.1" = {
@@ -3964,13 +4153,13 @@ let
         sha1 = "c7ce28f36d4bcd9744e5ffc2c5fcde1c73261fc0";
       };
     };
-    "character-reference-invalid-1.1.1" = {
+    "character-reference-invalid-1.1.2" = {
       name = "character-reference-invalid";
       packageName = "character-reference-invalid";
-      version = "1.1.1";
+      version = "1.1.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-1.1.1.tgz";
-        sha1 = "942835f750e4ec61a308e60c2ef8cc1011202efc";
+        url = "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-1.1.2.tgz";
+        sha512 = "1wm395ypw8d7xpq3jffx9m3j24simj28sf9symc9pa94s8l04maqagcy79j62yngip7rvcg4c7zvvxx7hygw9r0k44jaayzwmqz33zc";
       };
     };
     "chardet-0.4.2" = {
@@ -3982,6 +4171,15 @@ let
         sha1 = "b5473b33dc97c424e5d98dc87d55d4d8a29c8bf2";
       };
     };
+    "charenc-0.0.2" = {
+      name = "charenc";
+      packageName = "charenc";
+      version = "0.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/charenc/-/charenc-0.0.2.tgz";
+        sha1 = "c0a1d2f3a7092e03774bfa83f14c0fc5790a8667";
+      };
+    };
     "check-error-1.0.2" = {
       name = "check-error";
       packageName = "check-error";
@@ -4045,13 +4243,13 @@ let
         sha1 = "798e689778151c8076b4b360e5edd28cda2bb468";
       };
     };
-    "chokidar-2.0.2" = {
+    "chokidar-2.0.3" = {
       name = "chokidar";
       packageName = "chokidar";
-      version = "2.0.2";
+      version = "2.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/chokidar/-/chokidar-2.0.2.tgz";
-        sha512 = "1kncf65ax274b43r63m0bfbap3j5ah7dn86niqwpzzw6ilvpc7yy0fan14k584lw8ycf4nl78n5gv3bpyr4jrk5j3v441ragk1qfzcp";
+        url = "https://registry.npmjs.org/chokidar/-/chokidar-2.0.3.tgz";
+        sha512 = "0r9sfr7gz91aphg4vk476c4z07gqq6wdyhlhk3brazjwfvqz9jqccl19qyrwiwijx0aw85jw0zhnfayapk9wzzcj9wcqp3dhrfj4vyd";
       };
     };
     "chownr-0.0.2" = {
@@ -4072,13 +4270,13 @@ let
         sha1 = "e2a75042a9551908bebd25b8523d5f9769d79181";
       };
     };
-    "chrome-trace-event-0.1.2" = {
+    "chrome-trace-event-0.1.3" = {
       name = "chrome-trace-event";
       packageName = "chrome-trace-event";
-      version = "0.1.2";
+      version = "0.1.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-0.1.2.tgz";
-        sha1 = "90f36885d5345a50621332f0717b595883d5d982";
+        url = "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-0.1.3.tgz";
+        sha512 = "3y9nwc7vk3r253x4yrz1ibinpd6xcfy75skh9i5s5gkh3c93sddvlp7dkr5fjs6aarr9n8cy0ck8zwfw10h4fqnw6p6ibgbj74xsfdj";
       };
     };
     "chromecast-player-0.2.3" = {
@@ -4099,6 +4297,15 @@ let
         sha1 = "01296a3e5d130cce34974eb509cbbc7d6f78dd3d";
       };
     };
+    "chromecasts-1.9.1" = {
+      name = "chromecasts";
+      packageName = "chromecasts";
+      version = "1.9.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/chromecasts/-/chromecasts-1.9.1.tgz";
+        sha512 = "38g6qhcppxzh5fsrnvvfjnvzjiwdxsz0nsshi55prij4ifj6har7dqs6fzflqimdmkd24vgclkrgb8i96hrpm4hnfy91bp0wzpfzicy";
+      };
+    };
     "chromium-pickle-js-0.2.0" = {
       name = "chromium-pickle-js";
       packageName = "chromium-pickle-js";
@@ -4108,13 +4315,22 @@ let
         sha1 = "04a106672c18b085ab774d983dfa3ea138f22205";
       };
     };
-    "ci-info-1.1.2" = {
+    "chunk-store-stream-2.1.0" = {
+      name = "chunk-store-stream";
+      packageName = "chunk-store-stream";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/chunk-store-stream/-/chunk-store-stream-2.1.0.tgz";
+        sha512 = "1c9rhwy0ac18jk67fwhgdavc4ax76i7q8qmidj2b3qqdvq9i6ir8w53ylnw7invy7msxzs0538smkvsp47hf30jh0q4xp6n6a95ymcr";
+      };
+    };
+    "ci-info-1.1.3" = {
       name = "ci-info";
       packageName = "ci-info";
-      version = "1.1.2";
+      version = "1.1.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ci-info/-/ci-info-1.1.2.tgz";
-        sha512 = "1jbmihk48iby72h0b6k4rvhrnaydml49qyjcb83ix310ivjzd4zmdk3yxx1ssn6ryjblm7xzaswnwj53rxwcyn1fr0jm7bzvhy8hcdr";
+        url = "https://registry.npmjs.org/ci-info/-/ci-info-1.1.3.tgz";
+        sha512 = "0p634fyx3kkll2blj5f5bjmz273d7ba201yi3jlrvy7p7lnmmi479d6s3khwmp9lnfrb314l4kw5dq40q60hzfnmfycqibzm3izrbs8";
       };
     };
     "cint-8.2.1" = {
@@ -4135,6 +4351,15 @@ let
         sha512 = "3cm9kdc1sv7pakzlhrc1pazdvg9lk4hv31lximwbcrgmwfzg6imxrndszgx9yzlizknfh2b73cr7b5mfcv50bldpyq6jr5s4zknsj1a";
       };
     };
+    "circular-append-file-1.0.1" = {
+      name = "circular-append-file";
+      packageName = "circular-append-file";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/circular-append-file/-/circular-append-file-1.0.1.tgz";
+        sha512 = "294ys13wj7mq7c2sb6h20a25z98wv9mar62nliikcsnb55xyqqwy3hj2ghcmc71yrx61i9s15x0qy71sy9x6i0ghsaxf2akn2zcah05";
+      };
+    };
     "circular-json-0.3.3" = {
       name = "circular-json";
       packageName = "circular-json";
@@ -4144,13 +4369,13 @@ let
         sha512 = "3hadrrn41znfv3gbqjxf0ckzjmns7w7zgsqw73sdz8nclaff9b0cg1mqhz3zxw3ndnmqqvrdcfykkfpv2v1pv4jdyzcccbn3hsbg4ji";
       };
     };
-    "circular-json-0.5.1" = {
+    "circular-json-0.5.3" = {
       name = "circular-json";
       packageName = "circular-json";
-      version = "0.5.1";
+      version = "0.5.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/circular-json/-/circular-json-0.5.1.tgz";
-        sha512 = "1myzlq58v42dc2b1i17rcmvj7529spwcqgzc7j2q663a7xkk4nhzqk6hpw20lvp99iaq0k0zg5p0jzf19n7p0vrg45hk160ai31qf2j";
+        url = "https://registry.npmjs.org/circular-json/-/circular-json-0.5.3.tgz";
+        sha512 = "0gpz4w5khkmnx6wpsh9ccxkwc2cp9i4s9dgf2fi9dgq78ik42cld3sgil5lc3rkjvdp5fgv33c1b8pjvx3dw7kk3q3888ly54x4np32";
       };
     };
     "clarinet-0.11.0" = {
@@ -4180,13 +4405,13 @@ let
         sha1 = "bf1945e82fc808f55695e6ddeaec01400efd03ff";
       };
     };
-    "clean-css-4.1.9" = {
+    "clean-css-4.1.11" = {
       name = "clean-css";
       packageName = "clean-css";
-      version = "4.1.9";
+      version = "4.1.11";
       src = fetchurl {
-        url = "https://registry.npmjs.org/clean-css/-/clean-css-4.1.9.tgz";
-        sha1 = "35cee8ae7687a49b98034f70de00c4edd3826301";
+        url = "https://registry.npmjs.org/clean-css/-/clean-css-4.1.11.tgz";
+        sha1 = "2ecdf145aba38f54740f26cefd0ff3e03e125d6a";
       };
     };
     "clean-stack-1.3.0" = {
@@ -4261,13 +4486,13 @@ let
         sha1 = "7e673ee0dd39a611a486476e53f3c6b3941cb582";
       };
     };
-    "cli-spinners-1.1.0" = {
+    "cli-spinners-1.3.1" = {
       name = "cli-spinners";
       packageName = "cli-spinners";
-      version = "1.1.0";
+      version = "1.3.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/cli-spinners/-/cli-spinners-1.1.0.tgz";
-        sha1 = "f1847b168844d917a671eb9d147e3df497c90d06";
+        url = "https://registry.npmjs.org/cli-spinners/-/cli-spinners-1.3.1.tgz";
+        sha512 = "1vad3gya61nh9npwcrcrq0d7sq9v0a2zaqvvnhbzpqxfp24qkh3xb8372fk9yx7l1nm9gz2gvzjysksh9ggwlvzah1lp816ivkzh0nm";
       };
     };
     "cli-table-0.3.1" = {
@@ -4351,15 +4576,6 @@ let
         sha512 = "0j60cwp5vpc7v13m0d5rgh6h5jf6yxnywfb1wgbdn7lalklrr5ncvfkkqk6xj7b046bl2jabfqifk3yl6agd93ixfmywif2xfc4hqyr";
       };
     };
-    "clite-0.3.0" = {
-      name = "clite";
-      packageName = "clite";
-      version = "0.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/clite/-/clite-0.3.0.tgz";
-        sha1 = "e7fcbc8cc5bd3e7f8b84ed48db12e9474cc73441";
-      };
-    };
     "cliui-2.1.0" = {
       name = "cliui";
       packageName = "cliui";
@@ -4378,13 +4594,13 @@ let
         sha1 = "120601537a916d29940f934da3b48d585a39213d";
       };
     };
-    "cliui-4.0.0" = {
+    "cliui-4.1.0" = {
       name = "cliui";
       packageName = "cliui";
-      version = "4.0.0";
+      version = "4.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/cliui/-/cliui-4.0.0.tgz";
-        sha512 = "0mh539939k4z2nhj5h1m8kdr3bfy2f1kmdkss02cdbyabmpdkc6m22llyykymriahf54gpx6qg9v3vrs51gqgrrfhpsgbdndgjdd3cx";
+        url = "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz";
+        sha512 = "26knyxdavl3y7kq82vfa094ym3n05vy2h2j5srb9fhhy8l43l0kwlasah5i78jks77zqgc373hbf96xcxv6am042gpbw35x452vwlg0";
       };
     };
     "clivas-0.1.4" = {
@@ -4432,13 +4648,13 @@ let
         sha1 = "c6126a90ad4f72dbf5acdb243cc37724fe93fc1f";
       };
     };
-    "clone-1.0.3" = {
+    "clone-1.0.4" = {
       name = "clone";
       packageName = "clone";
-      version = "1.0.3";
+      version = "1.0.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/clone/-/clone-1.0.3.tgz";
-        sha1 = "298d7e2231660f40c003c2ed3140decf3f53085f";
+        url = "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz";
+        sha1 = "da309cc263df15994c688ca902179ca3c7cd7c7e";
       };
     };
     "clone-2.1.1" = {
@@ -4450,6 +4666,15 @@ let
         sha1 = "d217d1e961118e3ac9a4b8bba3285553bf647cdb";
       };
     };
+    "clone-2.1.2" = {
+      name = "clone";
+      packageName = "clone";
+      version = "2.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz";
+        sha1 = "1b7f4b9f591f1e8f83670401600345a02887435f";
+      };
+    };
     "clone-buffer-1.0.0" = {
       name = "clone-buffer";
       packageName = "clone-buffer";
@@ -4468,13 +4693,13 @@ let
         sha1 = "348c61ae9cdbe0edfe053d91ff4cc521d790ede8";
       };
     };
-    "clone-regexp-1.0.0" = {
+    "clone-regexp-1.0.1" = {
       name = "clone-regexp";
       packageName = "clone-regexp";
-      version = "1.0.0";
+      version = "1.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/clone-regexp/-/clone-regexp-1.0.0.tgz";
-        sha1 = "eae0a2413f55c0942f818c229fefce845d7f3b1c";
+        url = "https://registry.npmjs.org/clone-regexp/-/clone-regexp-1.0.1.tgz";
+        sha512 = "2dkam277bx7ajypbx3z8jrpigy0lqfflbj3ic5crhprjilxlfm8nh6xzpjm1p3n4ndx6pjw2pnm5shjirs2cj6lg7bnwnqiiksa7j0m";
       };
     };
     "clone-response-1.0.2" = {
@@ -4504,13 +4729,22 @@ let
         sha1 = "b3782dff8bb5474e18b9b6bf0fdfe782f8777680";
       };
     };
-    "cloneable-readable-1.0.0" = {
+    "cloneable-readable-1.1.2" = {
       name = "cloneable-readable";
       packageName = "cloneable-readable";
-      version = "1.0.0";
+      version = "1.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cloneable-readable/-/cloneable-readable-1.1.2.tgz";
+        sha512 = "2kg2ysl15s9cxgj62p43gzagfqf3kk2zqj4i6g3ckxs2b0fvx71blw7qy7v7gmy2pi9z9jsrc81v43kz7khagrvhlpwyv55vzibxbh6";
+      };
+    };
+    "closest-to-2.0.0" = {
+      name = "closest-to";
+      packageName = "closest-to";
+      version = "2.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/cloneable-readable/-/cloneable-readable-1.0.0.tgz";
-        sha1 = "a6290d413f217a61232f95e458ff38418cfb0117";
+        url = "https://registry.npmjs.org/closest-to/-/closest-to-2.0.0.tgz";
+        sha1 = "bb2a860edb7769b62d04821748ae50da24dbefaa";
       };
     };
     "cmd-shim-2.0.2" = {
@@ -4558,6 +4792,33 @@ let
         sha1 = "6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184";
       };
     };
+    "co-from-stream-0.0.0" = {
+      name = "co-from-stream";
+      packageName = "co-from-stream";
+      version = "0.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/co-from-stream/-/co-from-stream-0.0.0.tgz";
+        sha1 = "1a5cd8ced77263946094fa39f2499a63297bcaf9";
+      };
+    };
+    "co-fs-extra-1.2.1" = {
+      name = "co-fs-extra";
+      packageName = "co-fs-extra";
+      version = "1.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/co-fs-extra/-/co-fs-extra-1.2.1.tgz";
+        sha1 = "3b6ad77cf2614530f677b1cf62664f5ba756b722";
+      };
+    };
+    "co-read-0.0.1" = {
+      name = "co-read";
+      packageName = "co-read";
+      version = "0.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/co-read/-/co-read-0.0.1.tgz";
+        sha1 = "f81b3eb8a86675fec51e3d883a7f564e873c9389";
+      };
+    };
     "coa-2.0.1" = {
       name = "coa";
       packageName = "coa";
@@ -4576,13 +4837,13 @@ let
         sha1 = "0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77";
       };
     };
-    "codecs-1.2.0" = {
+    "codecs-1.2.1" = {
       name = "codecs";
       packageName = "codecs";
-      version = "1.2.0";
+      version = "1.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/codecs/-/codecs-1.2.0.tgz";
-        sha1 = "5148549e3d156c5fa053d7cbb419715a0cf43d16";
+        url = "https://registry.npmjs.org/codecs/-/codecs-1.2.1.tgz";
+        sha512 = "16fzwl2fvacbii9fby6i5cm2bz4ajaf4jdyffq1ggwnjbzjim0cbspymc9x9sf5whlzmknj7cybqaxvy5lmxlc99hm9sm6pj7wz3ya8";
       };
     };
     "codepage-1.4.0" = {
@@ -4612,13 +4873,13 @@ let
         sha1 = "6355d32cf1b04cdff6b484e5e711782b2f0c39be";
       };
     };
-    "collapse-white-space-1.0.3" = {
+    "collapse-white-space-1.0.4" = {
       name = "collapse-white-space";
       packageName = "collapse-white-space";
-      version = "1.0.3";
+      version = "1.0.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/collapse-white-space/-/collapse-white-space-1.0.3.tgz";
-        sha1 = "4b906f670e5a963a87b76b0e1689643341b6023c";
+        url = "https://registry.npmjs.org/collapse-white-space/-/collapse-white-space-1.0.4.tgz";
+        sha512 = "0iifkywgm8zqn27w0maj5c1yarf294qm5qqcbsajafv8r5f9w02ss33qfngyp59mamv8h8yqx93xpsqnabzn0wnpssrx6qr0ns3bx31";
       };
     };
     "collection-visit-1.0.0" = {
@@ -4630,13 +4891,13 @@ let
         sha1 = "4bc0373c164bc3291b4d368c829cf1a80a59dca0";
       };
     };
-    "color-2.0.1" = {
+    "color-3.0.0" = {
       name = "color";
       packageName = "color";
-      version = "2.0.1";
+      version = "3.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/color/-/color-2.0.1.tgz";
-        sha512 = "1gir7mfj6033amg78p7jvpj0nk2hw61hqd81r6x3a2qmgizbw3d89k0qk62680zhm9ypcx6c9p2cgwjvb8smxv0qgvblkwza9ah5ddr";
+        url = "https://registry.npmjs.org/color/-/color-3.0.0.tgz";
+        sha512 = "3xh3l9zhh6dav7pp5hy88kbb6c52j0pf331ywpp6w2jaf94w25fjn4am930775mskxy75cxl90fji17cym40ivslxxlpcrlxgkmsalc";
       };
     };
     "color-convert-1.9.1" = {
@@ -4711,6 +4972,15 @@ let
         sha1 = "168a4701756b6a7f51a12ce0c97bfa28c084ed63";
       };
     };
+    "colors-1.2.4" = {
+      name = "colors";
+      packageName = "colors";
+      version = "1.2.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/colors/-/colors-1.2.4.tgz";
+        sha512 = "1ch53w9md043zff52vsmh89qirws3x7n4zw88xxw0h98fjg71dsll3gh1b598a48xq98d15qpjb07g9ddjsfknrba0byp56fl3a53z9";
+      };
+    };
     "colour-0.7.1" = {
       name = "colour";
       packageName = "colour";
@@ -4738,15 +5008,6 @@ let
         sha1 = "458c07e09e0d900fc28b70a3fec2dacd1d2cb7f6";
       };
     };
-    "combine-source-map-0.7.2" = {
-      name = "combine-source-map";
-      packageName = "combine-source-map";
-      version = "0.7.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/combine-source-map/-/combine-source-map-0.7.2.tgz";
-        sha1 = "0870312856b307a87cc4ac486f3a9a62aeccc09e";
-      };
-    };
     "combine-source-map-0.8.0" = {
       name = "combine-source-map";
       packageName = "combine-source-map";
@@ -4873,6 +5134,15 @@ let
         sha512 = "11j7mwxfdnhi3yfkhxjvfkg1mzdsi3wq7iygma6ksmj1f7hfs0z8rpfcysqmy85f67mqvzhda3w1lyy1jqxxm31k799sazbipm7b17r";
       };
     };
+    "commander-2.15.1" = {
+      name = "commander";
+      packageName = "commander";
+      version = "2.15.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/commander/-/commander-2.15.1.tgz";
+        sha512 = "1mb8z6hhy74rfdgj3spmk52sdqa5bb2w5wp28z3md1daqcca4vbbsg66wz8hdhrv0fnnmf8yzdkmnw3c373vcccmyizzlnmbpsd6msn";
+      };
+    };
     "commander-2.6.0" = {
       name = "commander";
       packageName = "commander";
@@ -5013,7 +5283,7 @@ let
       packageName = "compression";
       version = "1.5.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/compression/-/compression-1.5.2.tgz";
+        url = "http://registry.npmjs.org/compression/-/compression-1.5.2.tgz";
         sha1 = "b03b8d86e6f8ad29683cba8df91ddc6ffc77b395";
       };
     };
@@ -5022,7 +5292,7 @@ let
       packageName = "compression";
       version = "1.7.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/compression/-/compression-1.7.2.tgz";
+        url = "http://registry.npmjs.org/compression/-/compression-1.7.2.tgz";
         sha1 = "aaffbcd6aaf854b44ebb280353d5ad1651f59a69";
       };
     };
@@ -5062,6 +5332,15 @@ let
         sha1 = "0aac662fd52be78964d5532f694784e70110acf7";
       };
     };
+    "concat-stream-1.6.2" = {
+      name = "concat-stream";
+      packageName = "concat-stream";
+      version = "1.6.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz";
+        sha512 = "05nnf80j9ls12y3cw2dfnc6rmand3ya5sx9cqn9dgg19ljzdnyfjjv8ig79xi73gr2y4rkfzn9wjip2zzwp5n2d49njd3ki2a1c3cfv";
+      };
+    };
     "conf-1.4.0" = {
       name = "conf";
       packageName = "conf";
@@ -5107,13 +5386,13 @@ let
         sha1 = "737a3a7036e9886102aa6099e47bb33ab1aba1a1";
       };
     };
-    "configstore-3.1.1" = {
+    "configstore-3.1.2" = {
       name = "configstore";
       packageName = "configstore";
-      version = "3.1.1";
+      version = "3.1.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/configstore/-/configstore-3.1.1.tgz";
-        sha512 = "2zmidvkp20q25yv6a5d7k1daawdg0w6ppgayxzpwfhyvmgwybkkv7ni0j4b2j9c8wjn8z33zf5d4bjr8jywb5qixc75vypyy87n90z6";
+        url = "https://registry.npmjs.org/configstore/-/configstore-3.1.2.tgz";
+        sha512 = "2difdg3f56d584kfxl1zvm4ik5m3ln949m0q9sxq6ranzx2iwqa9zxqxy2l5i2lsm8jwmaiqkf7rc73gfnfip5m2qh8awd3s4ggknxy";
       };
     };
     "connect-1.9.2" = {
@@ -5269,6 +5548,15 @@ let
         sha1 = "3d7cf4464db6446ea644bf4b39507f9851008e8e";
       };
     };
+    "consolidate-0.14.5" = {
+      name = "consolidate";
+      packageName = "consolidate";
+      version = "0.14.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/consolidate/-/consolidate-0.14.5.tgz";
+        sha1 = "5a25047bc76f73072667c8cb52c989888f494c63";
+      };
+    };
     "constantinople-3.0.2" = {
       name = "constantinople";
       packageName = "constantinople";
@@ -5341,12 +5629,12 @@ let
         sha512 = "1f4y61wc913jrnga7nny83gzf9l2488q6sl1ry9lbwgh5x5d3va0xcc0xrmjk6gdxl6d4r6rsk800xp5bazhjrx05yx1wpc8c8gg0w4";
       };
     };
-    "content-type-git+https://github.com/wikimedia/content-type.git#master" = {
+    "content-type-git+https://github.com/wikimedia/content-type#master" = {
       name = "content-type";
       packageName = "content-type";
       version = "1.0.1";
       src = fetchgit {
-        url = "https://github.com/wikimedia/content-type.git";
+        url = "https://github.com/wikimedia/content-type";
         rev = "47b2632d0a2ee79a7d67268e2f6621becd95d05b";
         sha256 = "e583031138b98e2a09ce14dbd72afa0377201894092c941ef4cc07206c35ed04";
       };
@@ -5369,13 +5657,13 @@ let
         sha1 = "bd727a7faed77e71ff3985ac93351a912733ad0f";
       };
     };
-    "conventional-changelog-1.1.17" = {
+    "conventional-changelog-1.1.24" = {
       name = "conventional-changelog";
       packageName = "conventional-changelog";
-      version = "1.1.17";
+      version = "1.1.24";
       src = fetchurl {
-        url = "https://registry.npmjs.org/conventional-changelog/-/conventional-changelog-1.1.17.tgz";
-        sha512 = "325x3h1qn2q1cg3x4dlia7sjanlv2qsj9c0nq8pzvr5fcwmg9qmf3am30bk4c4yjikyvfgpsvnp8rrh937bywd5y4d410hwfn1hbwhn";
+        url = "https://registry.npmjs.org/conventional-changelog/-/conventional-changelog-1.1.24.tgz";
+        sha512 = "3ap10i691k1bd6kslyrxrlrcqzdgdv1mibnraknwvls1n1kcbw77w9d6sljjdan766bhx0md07gz6ihjwsk3s3vhiw7cqvqrd914ryr";
       };
     };
     "conventional-changelog-angular-1.6.6" = {
@@ -5387,67 +5675,67 @@ let
         sha512 = "0v02kj8l2ji18jmcgjqa0nqsfn4h9jklgy4g9brf1ppm0n8344in3xpmyc5y06i5k3jjxl8sv90cndh2fbg4fhn0wr1ric258ajgr5j";
       };
     };
-    "conventional-changelog-atom-0.2.4" = {
+    "conventional-changelog-atom-0.2.8" = {
       name = "conventional-changelog-atom";
       packageName = "conventional-changelog-atom";
-      version = "0.2.4";
+      version = "0.2.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/conventional-changelog-atom/-/conventional-changelog-atom-0.2.4.tgz";
-        sha512 = "2b43fd5cpi069hsmfswl320lnpnvahmqmnrc9csk6qv0dq72nfj0jzafmbv5gsb3ds2ssr29lswwky61shy3n9hbxshq0qw3in6ds73";
+        url = "https://registry.npmjs.org/conventional-changelog-atom/-/conventional-changelog-atom-0.2.8.tgz";
+        sha512 = "3m1yhgjwbz0x993dfdw3g2n4svz4ym4k1snhg57iraw1418glgdwpz52j01300v8d1p6ldjjbrv7x3gqa08xcqq6inpkbhv2fmdk4zj";
       };
     };
-    "conventional-changelog-cli-1.3.15" = {
+    "conventional-changelog-cli-1.3.22" = {
       name = "conventional-changelog-cli";
       packageName = "conventional-changelog-cli";
-      version = "1.3.15";
+      version = "1.3.22";
       src = fetchurl {
-        url = "https://registry.npmjs.org/conventional-changelog-cli/-/conventional-changelog-cli-1.3.15.tgz";
-        sha512 = "0b9w7fp4mrgs12s4hznwzp79m9lza4fsygvdyma6qnd53h699jscc7h6jwlhdf398h5rpf91y2x0gl38fxfb9ydicshmvy5qdsgc4yh";
+        url = "https://registry.npmjs.org/conventional-changelog-cli/-/conventional-changelog-cli-1.3.22.tgz";
+        sha512 = "1kb6qrs4myjknqg4cpl530gxzbainsvhrzg6hm6xhdjhprby9flw28y92cbimq9cqpc6qq2bldzbnlxf1yzq5yhamwld3pijqhdsy56";
       };
     };
-    "conventional-changelog-codemirror-0.3.4" = {
+    "conventional-changelog-codemirror-0.3.8" = {
       name = "conventional-changelog-codemirror";
       packageName = "conventional-changelog-codemirror";
-      version = "0.3.4";
+      version = "0.3.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/conventional-changelog-codemirror/-/conventional-changelog-codemirror-0.3.4.tgz";
-        sha512 = "33091h0zm06gdwhcqi5c3xvcjl6fw8cj3wvis9hyl5gix1vl2wd2pifymgp7rag6dbyzilb0g5q3ak29dcsrdzizqzibk8m0hdfkkph";
+        url = "https://registry.npmjs.org/conventional-changelog-codemirror/-/conventional-changelog-codemirror-0.3.8.tgz";
+        sha512 = "24l71rg9rqfl9aa8fi3c1dc2iqxmdsh6ba8b9rwrrj7dg1gzfc5afw03rns5b1h6zld15942aqsjvwklwp6myzw3q1aakaps0m5jwfw";
       };
     };
-    "conventional-changelog-core-2.0.5" = {
+    "conventional-changelog-core-2.0.11" = {
       name = "conventional-changelog-core";
       packageName = "conventional-changelog-core";
-      version = "2.0.5";
+      version = "2.0.11";
       src = fetchurl {
-        url = "https://registry.npmjs.org/conventional-changelog-core/-/conventional-changelog-core-2.0.5.tgz";
-        sha512 = "1agyx5rj0lbrky9ndhha25la98lh2h1lyli2r4r27r1p0pr48niwg04al4whnvcldh0592fmyrdgf8vqqp5n6xz3df43j6dkpnnrzcl";
+        url = "https://registry.npmjs.org/conventional-changelog-core/-/conventional-changelog-core-2.0.11.tgz";
+        sha512 = "13c6y0mi0wqrx2rklaiqn2dxy9bsn53fb0w1r7072y8fp2cbnwdvijn8b42qidrmzcbbpcgn4pcx05h9ghl3vak6izlcy3a37lw9x0y";
       };
     };
-    "conventional-changelog-ember-0.3.6" = {
+    "conventional-changelog-ember-0.3.12" = {
       name = "conventional-changelog-ember";
       packageName = "conventional-changelog-ember";
-      version = "0.3.6";
+      version = "0.3.12";
       src = fetchurl {
-        url = "https://registry.npmjs.org/conventional-changelog-ember/-/conventional-changelog-ember-0.3.6.tgz";
-        sha512 = "24dx0snmkfhr4qi7vdq0aywjw9k23x68kaqh0gn92lca7j1268zbzr6vf00izx5g86kkjihlzgsgx8piyy1mnimn9nk7bj8pv2ka4w4";
+        url = "https://registry.npmjs.org/conventional-changelog-ember/-/conventional-changelog-ember-0.3.12.tgz";
+        sha512 = "2hi3q231r8izwb8863rcmm3craji5glcr8icm0ijxa8jdlanshghdb5pnqrqay09kjkaiff9qxpnggb4b1p8gazg2mb6vmkpc1p6qls";
       };
     };
-    "conventional-changelog-eslint-1.0.4" = {
+    "conventional-changelog-eslint-1.0.9" = {
       name = "conventional-changelog-eslint";
       packageName = "conventional-changelog-eslint";
-      version = "1.0.4";
+      version = "1.0.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/conventional-changelog-eslint/-/conventional-changelog-eslint-1.0.4.tgz";
-        sha512 = "3zk9p0rc8xns93flvpc0lnyfqdyv48yc3m2z71da07gj8fbmbrxs0px30xnlqzdwmbcz86i9fksxrcnqq9mhlwcfkwyzma396n4cxpp";
+        url = "https://registry.npmjs.org/conventional-changelog-eslint/-/conventional-changelog-eslint-1.0.9.tgz";
+        sha512 = "3nl1q7m2f7yf8fr40dpns2x6n9z3n8m4kd74fxn2z4d0v0dp2si3h2xbg339984wyfa1ina5w61n6q8n1pcybwjghyxjzbnb1yygkl7";
       };
     };
-    "conventional-changelog-express-0.3.4" = {
+    "conventional-changelog-express-0.3.6" = {
       name = "conventional-changelog-express";
       packageName = "conventional-changelog-express";
-      version = "0.3.4";
+      version = "0.3.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/conventional-changelog-express/-/conventional-changelog-express-0.3.4.tgz";
-        sha512 = "3w3pm3dqwn8bj29809j0ivybw8vn2grnz486h9bm4kk9bn4849k9pxiqmx2ifpqf09hdl17fjk1xw320zz33wnvjzx78kbrpmpi9r9k";
+        url = "https://registry.npmjs.org/conventional-changelog-express/-/conventional-changelog-express-0.3.6.tgz";
+        sha512 = "3qvnznizyjsb4nxznraiw24wydli7ky95905792az7mgm4dpc0hhxg6l9n5jlx5saglig9sm2gi3i0grqy39plvkp8ikxar2as9a9fy";
       };
     };
     "conventional-changelog-jquery-0.1.0" = {
@@ -5468,49 +5756,49 @@ let
         sha1 = "0479eb443cc7d72c58bf0bcf0ef1d444a92f0e5c";
       };
     };
-    "conventional-changelog-jshint-0.3.4" = {
+    "conventional-changelog-jshint-0.3.8" = {
       name = "conventional-changelog-jshint";
       packageName = "conventional-changelog-jshint";
-      version = "0.3.4";
+      version = "0.3.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/conventional-changelog-jshint/-/conventional-changelog-jshint-0.3.4.tgz";
-        sha512 = "0lzbgx3x2bfchxp8p4ppjavnp4yywjks3486yrxanq3skq0x5g4wnbhcf2viwm167mhn3aiawxygsxql5ww8md1xzssdrqb730fmnh9";
+        url = "https://registry.npmjs.org/conventional-changelog-jshint/-/conventional-changelog-jshint-0.3.8.tgz";
+        sha512 = "25274wd4xzrjinpfglybkna5wm74wnfqhyll32ixz8fnq43gg50b99ip2sj17nqd5x9a5l111d0922gqv9j93q2sdwrbzs8hr9m0zw6";
       };
     };
-    "conventional-changelog-preset-loader-1.1.6" = {
+    "conventional-changelog-preset-loader-1.1.8" = {
       name = "conventional-changelog-preset-loader";
       packageName = "conventional-changelog-preset-loader";
-      version = "1.1.6";
+      version = "1.1.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/conventional-changelog-preset-loader/-/conventional-changelog-preset-loader-1.1.6.tgz";
-        sha512 = "12qk33piqbilkyrvin1vsjzp5pcvs7sschn5jry272r1hnv3x0jrwb1dlnik8vpp3zqai6n70h4ls55q2ch5n13a6g25c1hvhzwhqy9";
+        url = "https://registry.npmjs.org/conventional-changelog-preset-loader/-/conventional-changelog-preset-loader-1.1.8.tgz";
+        sha512 = "1rl5rdcffc9nr30wxf718hl5qkcnb5hi5d85rchw48v2gyjbw371910qcd9v7pwfc9isrg1xxg8npnq2lxnv31xjp6dlqdqh4rjqj9j";
       };
     };
-    "conventional-changelog-writer-3.0.4" = {
+    "conventional-changelog-writer-3.0.9" = {
       name = "conventional-changelog-writer";
       packageName = "conventional-changelog-writer";
-      version = "3.0.4";
+      version = "3.0.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/conventional-changelog-writer/-/conventional-changelog-writer-3.0.4.tgz";
-        sha512 = "1ryw2mmza9y6bk5hs2ivhvp9p5hq7hhydhis2880w41dajr193zvccwhglp7js7j435d3i2d38i5aikydqg2r4jdc7753w4d22zyiqi";
+        url = "https://registry.npmjs.org/conventional-changelog-writer/-/conventional-changelog-writer-3.0.9.tgz";
+        sha512 = "3ypk00r7ddkzx8ayyzdss65167c8h4qgn7f0m2p7zif0sw55ljpbx07zr0hmw8rkyzq0dv7ydr5l14wa60c1fkja8n19ia936rrpllz";
       };
     };
-    "conventional-commits-filter-1.1.5" = {
+    "conventional-commits-filter-1.1.6" = {
       name = "conventional-commits-filter";
       packageName = "conventional-commits-filter";
-      version = "1.1.5";
+      version = "1.1.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/conventional-commits-filter/-/conventional-commits-filter-1.1.5.tgz";
-        sha512 = "0dw3vksvzwig2hiiw1kky2p424136r2faa941bkcdy3ljhp7mgd9i8pz3vdccw23v51z7vhh1dkw7wg363qxg9kvcxr2lgwp1cgwgcs";
+        url = "https://registry.npmjs.org/conventional-commits-filter/-/conventional-commits-filter-1.1.6.tgz";
+        sha512 = "38pzjvxmmjg6y92qyskzpxngphp9s5lxy89ldq9mwx4dcy4n8am2d57j1w4gb7h2fkggbfy5744xrj7ycz2v5afr8hj892a4jsf1h19";
       };
     };
-    "conventional-commits-parser-2.1.5" = {
+    "conventional-commits-parser-2.1.7" = {
       name = "conventional-commits-parser";
       packageName = "conventional-commits-parser";
-      version = "2.1.5";
+      version = "2.1.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-2.1.5.tgz";
-        sha512 = "2nb2s8hrbv3sl19xzz9x5pqgmm4kimrsaqlzs8xa2wzr0zg68090xnlq5ifcbmcm47fg5l9m63kkri248idzrvz2y689y3jbbmhz84d";
+        url = "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-2.1.7.tgz";
+        sha512 = "0ahfqxbkswm1pnbj477wz7kl2588dbg8skjz7xzyykv4w2bw9aal3idvs8kjchlv140s64jcfa2clli93phw4jk85wa09q4s9sim0q6";
       };
     };
     "conventional-recommended-bump-1.2.1" = {
@@ -5783,13 +6071,13 @@ let
         sha1 = "652294c14651db28fa93bd2d5ff2983a4f08c636";
       };
     };
-    "core-js-2.5.3" = {
+    "core-js-2.5.5" = {
       name = "core-js";
       packageName = "core-js";
-      version = "2.5.3";
+      version = "2.5.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/core-js/-/core-js-2.5.3.tgz";
-        sha1 = "8acc38345824f16d8365b7c9b4259168e8ed603e";
+        url = "https://registry.npmjs.org/core-js/-/core-js-2.5.5.tgz";
+        sha1 = "b14dde936c640c0579a6b50cabcc132dd6127e3b";
       };
     };
     "core-util-is-1.0.2" = {
@@ -5882,13 +6170,13 @@ let
         sha1 = "e3cdd3b4df3168dd74e3de3fbbcb7b297fe908f4";
       };
     };
-    "create-ecdh-4.0.0" = {
+    "create-ecdh-4.0.1" = {
       name = "create-ecdh";
       packageName = "create-ecdh";
-      version = "4.0.0";
+      version = "4.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.0.tgz";
-        sha1 = "888c723596cdf7612f6498233eebd7a35301737d";
+        url = "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.1.tgz";
+        sha512 = "2whpg1253714sq60ayvsap6n3qdwa9l0zhdlxv2gz8frppds69w1q079pmf55qlygnc7ad499511xsbswy0a39asqcp9a0p1w5c56w9";
       };
     };
     "create-error-class-3.0.2" = {
@@ -5900,22 +6188,31 @@ let
         sha1 = "06be7abef947a3f14a30fd610671d401bca8b7b6";
       };
     };
-    "create-hash-1.1.3" = {
+    "create-hash-1.2.0" = {
       name = "create-hash";
       packageName = "create-hash";
-      version = "1.1.3";
+      version = "1.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/create-hash/-/create-hash-1.1.3.tgz";
-        sha1 = "606042ac8b9262750f483caddab0f5819172d8fd";
+        url = "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz";
+        sha512 = "055xaldi3hy1bjxhvznh3470j1kq2xk827mxal79bgqik3lblax6s4inxqby27ymgcghl2hn7wnx9fnacmyq3q93hk6y327cc41nkfg";
       };
     };
-    "create-hmac-1.1.6" = {
+    "create-hmac-1.1.7" = {
       name = "create-hmac";
       packageName = "create-hmac";
-      version = "1.1.6";
+      version = "1.1.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.6.tgz";
-        sha1 = "acb9e221a4e17bdb076e90657c42b93e3726cf06";
+        url = "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz";
+        sha512 = "0p2jhk94k3as67lhrr1jyljkr0y65snxjzqnix0nifnfcanhilccrzkc47gwlg5wy0m8l1gv12lj78ivgmw5m1ww4f8iylr52bbv49h";
+      };
+    };
+    "create-torrent-3.31.0" = {
+      name = "create-torrent";
+      packageName = "create-torrent";
+      version = "3.31.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/create-torrent/-/create-torrent-3.31.0.tgz";
+        sha512 = "1na322prpyqfv81davvqya3rs9pv99rsh611kvqfaps96izmysyw7ppfm3n8qj94y4z6ib8mjs591f6vhdx501v0nqv27pn09qbsfnh";
       };
     };
     "cron-1.3.0" = {
@@ -5936,6 +6233,15 @@ let
         sha1 = "8254774ab4786b8c5b3cf4dfba66ce563932c252";
       };
     };
+    "cross-spawn-4.0.2" = {
+      name = "cross-spawn";
+      packageName = "cross-spawn";
+      version = "4.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cross-spawn/-/cross-spawn-4.0.2.tgz";
+        sha1 = "7b9247621c23adfdd3856004a823cbe397424d41";
+      };
+    };
     "cross-spawn-5.1.0" = {
       name = "cross-spawn";
       packageName = "cross-spawn";
@@ -5972,6 +6278,15 @@ let
         sha1 = "7eeeed9eddc95e22c189382e34624044a89a5a6d";
       };
     };
+    "crypt-0.0.2" = {
+      name = "crypt";
+      packageName = "crypt";
+      version = "0.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/crypt/-/crypt-0.0.2.tgz";
+        sha1 = "88d7ff7ec0dfb86f713dc87bbb42d044d3e6c41b";
+      };
+    };
     "crypt3-0.2.0" = {
       name = "crypt3";
       packageName = "crypt3";
@@ -6350,13 +6665,13 @@ let
         sha512 = "0yyadc98mdpvqdszc1v26zcgd6zqxink2wrhxw9ax60wk0sxqw6mm3m2jbqvibj54p1gjsmgsf1yhv20xsm77kkb7qwj79jlx8kvfad";
       };
     };
-    "dat-doctor-1.3.1" = {
+    "dat-doctor-1.4.0" = {
       name = "dat-doctor";
       packageName = "dat-doctor";
-      version = "1.3.1";
+      version = "1.4.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/dat-doctor/-/dat-doctor-1.3.1.tgz";
-        sha512 = "19cfxdik2pv94dbfsz4nm6a0v6vfx5s1isaagmsjrb44czbcl55sjj9nf1302hqc8ckijsdmlsrna02hb0mjzzhsy0m6c8r3cv0wabk";
+        url = "https://registry.npmjs.org/dat-doctor/-/dat-doctor-1.4.0.tgz";
+        sha512 = "3ysgc2z0pjbka9617lqykw8c0bqbacgixd6j8nlcdi7sz7j94w2sl17mq3xaq7b6kr5wdngi64y584hj8baqgxw2aaavgvk96kff3fl";
       };
     };
     "dat-encoding-4.0.2" = {
@@ -6377,22 +6692,22 @@ let
         sha512 = "2lc9p062gaa2xrf07z14xqgid3rw5fg05ak3s13g3mrr5hf8zxmdvp3lq4wggj7k5pc2c43r3d4yyy7rfrqafsdm7hfisdda4zgsi1w";
       };
     };
-    "dat-ignore-2.0.0" = {
+    "dat-ignore-2.1.1" = {
       name = "dat-ignore";
       packageName = "dat-ignore";
-      version = "2.0.0";
+      version = "2.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/dat-ignore/-/dat-ignore-2.0.0.tgz";
-        sha512 = "1s78mv3ngs1v1cgpcp97y1xmns97m2r6gjkkrksl63j5d870vpsmmrhsfm1vw4q0dz4c1yfnfcpijlgbqai9c5d2zj1lz56rih0kxk8";
+        url = "https://registry.npmjs.org/dat-ignore/-/dat-ignore-2.1.1.tgz";
+        sha512 = "3ars15n4l3fgvnzah15zpfzirg66clg2a72d2qawg340ad1f0xbahxgzfj52q3ib48s6k7m4a8zcpv5n3pq2blkm1dhpyz1s9d9y44d";
       };
     };
-    "dat-json-1.0.1" = {
+    "dat-json-1.0.2" = {
       name = "dat-json";
       packageName = "dat-json";
-      version = "1.0.1";
+      version = "1.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/dat-json/-/dat-json-1.0.1.tgz";
-        sha512 = "13nn20vg6jx1h8ypazv9zn236hvv29wwq52mdbbfl77zrg8d7syni933v2mm3y1jsk25c7dc2gs1876fz0yblniryncnbjxrf0aq0nq";
+        url = "https://registry.npmjs.org/dat-json/-/dat-json-1.0.2.tgz";
+        sha512 = "0i32dn4p0dmjbljm9csnrfibnrgljbqcqkiy5n2wn0mdqpklnv6k9imrv93c0j6p5hsrpnnpjdibhw6fyf5a3183g2wxd1zw5avx6hi";
       };
     };
     "dat-link-resolve-2.1.0" = {
@@ -6449,13 +6764,13 @@ let
         sha512 = "13cbr004milnmjisg774rqqw82vyjg1p1d6gvm3xji516rq7zzc1x7da397njig5s2rg2qmw1dixdn4cpkmvc8irq4y1dzb3h46sz2c";
       };
     };
-    "dat-swarm-defaults-1.0.0" = {
+    "dat-swarm-defaults-1.0.1" = {
       name = "dat-swarm-defaults";
       packageName = "dat-swarm-defaults";
-      version = "1.0.0";
+      version = "1.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/dat-swarm-defaults/-/dat-swarm-defaults-1.0.0.tgz";
-        sha1 = "ba7d58c309cf60c3924afad869b75192b61fe354";
+        url = "https://registry.npmjs.org/dat-swarm-defaults/-/dat-swarm-defaults-1.0.1.tgz";
+        sha512 = "0kgq4nz4axx3kpfam6lxid88x5gx39gbk3kzcgmbhxld9vwl3469q58hkd2zjripg3955483j450yvszk1pwpn895adz62mn0xsarag";
       };
     };
     "data-uri-to-buffer-1.2.0" = {
@@ -6521,24 +6836,6 @@ let
         sha512 = "3fxpn11cnyqcz25h9krfrpnra9zi1zri0l4f42a89acybqgj6dyr6p0lskcjffahiwxxmmc0zvgalnlk2wa74b764cm7pd5si78884g";
       };
     };
-    "datland-swarm-defaults-1.0.2" = {
-      name = "datland-swarm-defaults";
-      packageName = "datland-swarm-defaults";
-      version = "1.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/datland-swarm-defaults/-/datland-swarm-defaults-1.0.2.tgz";
-        sha1 = "277b895a39f1aa7f96a495a02fb3662a5ed9f2e0";
-      };
-    };
-    "deasync-0.1.12" = {
-      name = "deasync";
-      packageName = "deasync";
-      version = "0.1.12";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/deasync/-/deasync-0.1.12.tgz";
-        sha512 = "1vnaqczk6nr30xzzf6qxsaa2fj00z80rr6xrb7mxwn0d41zdwrgffk5vizwf6b17bps2zdr4f87s2mdmnixhsfh41vrh185ixi9r5l2";
-      };
-    };
     "debounce-1.1.0" = {
       name = "debounce";
       packageName = "debounce";
@@ -6665,6 +6962,15 @@ let
         sha1 = "d171a87933252807eb3cb61dc1c1445d078df2d9";
       };
     };
+    "decimal.js-10.0.0" = {
+      name = "decimal.js";
+      packageName = "decimal.js";
+      version = "10.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/decimal.js/-/decimal.js-10.0.0.tgz";
+        sha512 = "1zfwp3adsdq838zcpkpm59x7kdqny1lcdk04r7fw28zy3va4jpjkrkpyyz7ifnzazpks9ky9mjb2xdrkx07nzrh909nzasps0aplcm1";
+      };
+    };
     "decode-uri-component-0.2.0" = {
       name = "decode-uri-component";
       packageName = "decode-uri-component";
@@ -6674,6 +6980,15 @@ let
         sha1 = "eb3913333458775cb84cd1a1fae062106bb87545";
       };
     };
+    "decompress-4.2.0" = {
+      name = "decompress";
+      packageName = "decompress";
+      version = "4.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/decompress/-/decompress-4.2.0.tgz";
+        sha1 = "7aedd85427e5a92dacfe55674a7c505e96d01f9d";
+      };
+    };
     "decompress-response-3.3.0" = {
       name = "decompress-response";
       packageName = "decompress-response";
@@ -6683,6 +6998,42 @@ let
         sha1 = "80a4dd323748384bfa248083622aedec982adff3";
       };
     };
+    "decompress-tar-4.1.1" = {
+      name = "decompress-tar";
+      packageName = "decompress-tar";
+      version = "4.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/decompress-tar/-/decompress-tar-4.1.1.tgz";
+        sha512 = "18rwwdac0961cs2xpagx8sfqysxzcvvna1bfhjd8aamgm5k6mbcr88k0qp46z1fvypvk00sc27mv0n7885cfwi525gix96659l4rli5";
+      };
+    };
+    "decompress-tarbz2-4.1.1" = {
+      name = "decompress-tarbz2";
+      packageName = "decompress-tarbz2";
+      version = "4.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/decompress-tarbz2/-/decompress-tarbz2-4.1.1.tgz";
+        sha512 = "3s2l466xc70zvxrwsr1xr7x5sg9g9wh2wsvk81pxmhc0m73hwhfhhn63c53n6vkv8rlxs80gscrkpk8fc2mbh3j154cvbzm6wpk3kxk";
+      };
+    };
+    "decompress-targz-4.1.1" = {
+      name = "decompress-targz";
+      packageName = "decompress-targz";
+      version = "4.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/decompress-targz/-/decompress-targz-4.1.1.tgz";
+        sha512 = "3gig705jrzdsihjnfij52kj17mgsclfn5vbzswqqdjd0ac4f0dy0afds02m4zm5jacnppavhydyy0rgd99prk8hkmbcisgbfxk3agz3";
+      };
+    };
+    "decompress-unzip-4.0.1" = {
+      name = "decompress-unzip";
+      packageName = "decompress-unzip";
+      version = "4.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/decompress-unzip/-/decompress-unzip-4.0.1.tgz";
+        sha1 = "deaaccdfd14aeaf85578f733ae8210f9b4848f69";
+      };
+    };
     "decompress-zip-0.3.0" = {
       name = "decompress-zip";
       packageName = "decompress-zip";
@@ -6755,6 +7106,15 @@ let
         sha1 = "48b699c27e334bf89f10892be432f6e4c7d34a7f";
       };
     };
+    "deep-extend-0.5.1" = {
+      name = "deep-extend";
+      packageName = "deep-extend";
+      version = "0.5.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/deep-extend/-/deep-extend-0.5.1.tgz";
+        sha512 = "3bzqm7nqgh7m8xjhl0q8jc0ccm9riymsfmy0144x6n2qy9v1gin2ww8s9wjlayk0xyzq9cz9pyar02yiv30mhqsj7rmw35ywrsc3jrp";
+      };
+    };
     "deep-is-0.1.3" = {
       name = "deep-is";
       packageName = "deep-is";
@@ -6773,22 +7133,13 @@ let
         sha1 = "634780f2f8656ab771af8fa8431ed1ccee55c7b0";
       };
     };
-    "deepmerge-1.5.2" = {
-      name = "deepmerge";
-      packageName = "deepmerge";
-      version = "1.5.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/deepmerge/-/deepmerge-1.5.2.tgz";
-        sha512 = "2sylzgq5rwi12ac5y4fbvyyhs128zlcrp1q1i0bkp27fvlg60hr1slxzckk22x2rzgmwsqqlvzyylm9v0gwzbsbprd3c1mg78c396gp";
-      };
-    };
-    "deepmerge-2.0.1" = {
+    "deepmerge-2.1.0" = {
       name = "deepmerge";
       packageName = "deepmerge";
-      version = "2.0.1";
+      version = "2.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/deepmerge/-/deepmerge-2.0.1.tgz";
-        sha512 = "2qww1m640drvrkcyijaky5kpzdg7pqixb2qk3ms5r99p9ch6isv8a6h0yqwypsw42d1hlg3v7v1x4x7cy0v10pn87cms9vaqa4g10sl";
+        url = "https://registry.npmjs.org/deepmerge/-/deepmerge-2.1.0.tgz";
+        sha512 = "2zs0sn06vr11mwi2xg2vns26s07gajx2s94hnpfab8g6fl7wmnwbg14fvi2ificasppcmy8g2dh1xiijxg6r8gilkjhsz40lbdmkks3";
       };
     };
     "default-browser-id-1.0.4" = {
@@ -7070,13 +7421,13 @@ let
         sha512 = "259c687nsmq5ni5q79081s6lpd2srwn7xlwipxwbrqkq9bq0zsvwb0n1d99jc7c6kvpm95bhvvlncfb0l4hqy6vnlb5lrhwwmwyd8qz";
       };
     };
-    "detective-5.0.2" = {
+    "detective-5.1.0" = {
       name = "detective";
       packageName = "detective";
-      version = "5.0.2";
+      version = "5.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/detective/-/detective-5.0.2.tgz";
-        sha512 = "0q6jv51mrwjp7ws5xdfpi49rq6ywl0fcl70hllsxiyqy4c89k14v0g9fj5g4y690n8yqw9vxxq6zgnw8lpwbsdvlgyhdqz3xjhhnjrm";
+        url = "https://registry.npmjs.org/detective/-/detective-5.1.0.tgz";
+        sha512 = "1cm9sp1rl54d3y7v9nvw12kad47g5pcmbzf96s7kpm85j1cc79yc8qb8q0xjj71w32pgz2p4fym47sa851i5lswglmmiimgyflwqlac";
       };
     };
     "di-0.0.1" = {
@@ -7124,22 +7475,13 @@ let
         sha1 = "c9ce393a4b7cbd0b058a725c93df299027868ff9";
       };
     };
-    "diff-3.3.1" = {
+    "diff-3.5.0" = {
       name = "diff";
       packageName = "diff";
-      version = "3.3.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/diff/-/diff-3.3.1.tgz";
-        sha512 = "31pj7v5gg5igmvwzk6zxw1wbvwjg6m9sfl0h3bs1x4q6idcw98vr8z8wcqk2603q0blpqkmkxp659kjj91wksr03yr8xlh16djcg8rh";
-      };
-    };
-    "diff-3.4.0" = {
-      name = "diff";
-      packageName = "diff";
-      version = "3.4.0";
+      version = "3.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/diff/-/diff-3.4.0.tgz";
-        sha512 = "1qawya1qhgy4q0bgx0s9ryfz70ddrgyj33rdnnppzszi7x31iir66y7v89kc82lr7prkafrax9sa6w5ssxykqmcf1xw291864qnx5a2";
+        url = "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz";
+        sha512 = "32bkv3cfhax4x5zhiyfn63wjhqwkzsjiql3my8p3d9hvv020p8f9hdi7mpqixrkpgs0g9k15mn736s449yad9wq1plhxyhxb2sam3h3";
       };
     };
     "diff2html-2.3.3" = {
@@ -7151,13 +7493,13 @@ let
         sha1 = "31bb815881c975634c7f3907a5e789341e1560bc";
       };
     };
-    "diffie-hellman-5.0.2" = {
+    "diffie-hellman-5.0.3" = {
       name = "diffie-hellman";
       packageName = "diffie-hellman";
-      version = "5.0.2";
+      version = "5.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.2.tgz";
-        sha1 = "b5835739270cfe26acf632099fded2a07f209e5e";
+        url = "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz";
+        sha512 = "37186rz3862gn294acnwnm59jwm62x1rz9ca0y5anvmj0a7abs4rhw974qp1j684qpd4rxb8c2kagv21hapxfddr2q72zvyv7ya19lj";
       };
     };
     "difflib-0.2.4" = {
@@ -7187,13 +7529,13 @@ let
         sha1 = "4d5afc5187edba67ec6ab0e55f6422a0e2cb7338";
       };
     };
-    "discovery-channel-5.4.7" = {
+    "discovery-channel-5.5.1" = {
       name = "discovery-channel";
       packageName = "discovery-channel";
-      version = "5.4.7";
+      version = "5.5.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/discovery-channel/-/discovery-channel-5.4.7.tgz";
-        sha512 = "3c8npbdr7r6725kkj76h5zy72l3gd8ndb3dy4dwbapxapfzccl9f6iy0zdy3wxywcfb6cc64w4mf089v00rcr1aqcjdlvn483pnzs78";
+        url = "https://registry.npmjs.org/discovery-channel/-/discovery-channel-5.5.1.tgz";
+        sha512 = "2zzy8n58w43cvmnascylmw3nppynm334nsjd85w329k8461lwif8xz8b5xqhx8grhpiawhhrri9nlf08ajxriiy4sn26gila509jj8h";
       };
     };
     "discovery-swarm-4.4.2" = {
@@ -7205,13 +7547,13 @@ let
         sha1 = "5d3160a46019e50e874195765df7d601ee55a813";
       };
     };
-    "dispensary-0.12.0" = {
+    "dispensary-0.16.0" = {
       name = "dispensary";
       packageName = "dispensary";
-      version = "0.12.0";
+      version = "0.16.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/dispensary/-/dispensary-0.12.0.tgz";
-        sha1 = "cc491bbbfa66a57414c958c68582a4c8703ff159";
+        url = "https://registry.npmjs.org/dispensary/-/dispensary-0.16.0.tgz";
+        sha1 = "7173f2828380135e3c8eb9f61719fa038c0cd133";
       };
     };
     "diveSync-0.3.0" = {
@@ -7223,6 +7565,24 @@ let
         sha1 = "d9980493ae33beec36f4fec6f171ff218130cc12";
       };
     };
+    "dlnacasts-0.1.0" = {
+      name = "dlnacasts";
+      packageName = "dlnacasts";
+      version = "0.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/dlnacasts/-/dlnacasts-0.1.0.tgz";
+        sha1 = "f805211dcac74f6bb3a4d5d5541ad783b1b67d22";
+      };
+    };
+    "dnd-page-scroll-0.0.4" = {
+      name = "dnd-page-scroll";
+      packageName = "dnd-page-scroll";
+      version = "0.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/dnd-page-scroll/-/dnd-page-scroll-0.0.4.tgz";
+        sha512 = "29fmw2g96bpgniybrcvpic1s5bwffgrckiasf479q7lrgca1b8726rr6kwymwsg7d702dgnvii6fjl48pvsfs4jp2svk5mjj15x9y3f";
+      };
+    };
     "dns-discovery-5.6.1" = {
       name = "dns-discovery";
       packageName = "dns-discovery";
@@ -7232,6 +7592,15 @@ let
         sha512 = "2hda8mbvxc2r10g5p9dsrjk3qdrp7gpk66ps0dikwzcdgn9bvsf8ih9k19kxw7wr299cm7hav2q6rjp5m76zyb6mb19bfa3g6zxyvmg";
       };
     };
+    "dns-discovery-6.1.0" = {
+      name = "dns-discovery";
+      packageName = "dns-discovery";
+      version = "6.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/dns-discovery/-/dns-discovery-6.1.0.tgz";
+        sha512 = "2qyx3fzq9h9x0m2l5b9226hx2vxpl7w3sgh352qfpa683zmjbzsm8x984jvfmrl3yzzipwg07p6dqdcm8ba3v19x5q1sdgfdhpssp9a";
+      };
+    };
     "dns-equal-1.0.0" = {
       name = "dns-equal";
       packageName = "dns-equal";
@@ -7259,6 +7628,15 @@ let
         sha512 = "19g682cvkba33mwrism28hibd2nv9xd16k5bj807jx3ih1cc7ff9dn8chmfjnqgglzl6lq3m3jarxng9vbarccgchd0aq118d15yk6i";
       };
     };
+    "dns-packet-4.2.0" = {
+      name = "dns-packet";
+      packageName = "dns-packet";
+      version = "4.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/dns-packet/-/dns-packet-4.2.0.tgz";
+        sha512 = "05pqsdg5q8r1i9z4dnii6sr7i3b6ir4gay5h3xk18jraa2w3201wfw6mz53dn494dqd19djdfbp78p6v70kia4862sbj5g4jwm40zbf";
+      };
+    };
     "dns-socket-1.6.3" = {
       name = "dns-socket";
       packageName = "dns-socket";
@@ -7268,6 +7646,15 @@ let
         sha512 = "2g9g9jqx44qpiawlxfn1g647dqwwz2djjpy350c83d1z79d5wa21cknh1jz4wrwsjkvgn14vhmjjxqxf5n8fqq6fjyzw85aa7fk4rgy";
       };
     };
+    "dns-socket-3.0.0" = {
+      name = "dns-socket";
+      packageName = "dns-socket";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/dns-socket/-/dns-socket-3.0.0.tgz";
+        sha512 = "3yrr8f842jzbhkhbi8a5pgqasyqn03n74gq9l43qmr33ih6ms57kdl5ffkb6zpaaicgj2w8w7kdx4s4xh10aw3vz3k69zh9583s8i9k";
+      };
+    };
     "dns-txt-2.0.2" = {
       name = "dns-txt";
       packageName = "dns-txt";
@@ -7295,13 +7682,13 @@ let
         sha1 = "33dc69291eac3414f84871f2d59d77b6f6948be4";
       };
     };
-    "doctoc-1.3.0" = {
+    "doctoc-1.3.1" = {
       name = "doctoc";
       packageName = "doctoc";
-      version = "1.3.0";
+      version = "1.3.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/doctoc/-/doctoc-1.3.0.tgz";
-        sha1 = "7f0839851dd58c808a2cae55d9504e012d08ee30";
+        url = "https://registry.npmjs.org/doctoc/-/doctoc-1.3.1.tgz";
+        sha1 = "f012e3603e3156254c2ef22ac88c7190f55426ba";
       };
     };
     "doctrine-2.1.0" = {
@@ -7349,13 +7736,13 @@ let
         sha1 = "073c697546ce0780ce23be4a28e293e40bc30c82";
       };
     };
-    "dom-storage-2.0.2" = {
+    "dom-storage-2.1.0" = {
       name = "dom-storage";
       packageName = "dom-storage";
-      version = "2.0.2";
+      version = "2.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/dom-storage/-/dom-storage-2.0.2.tgz";
-        sha1 = "ed17cbf68abd10e0aef8182713e297c5e4b500b0";
+        url = "https://registry.npmjs.org/dom-storage/-/dom-storage-2.1.0.tgz";
+        sha512 = "3ckwbdpfa94f4kv5vav65l1qm56bg54bs2wgz9x5nx64avazbg3p07w05mjbfw066clq69vmyfg1fcph5r99i74x18l95zkcp4nk943";
       };
     };
     "dom-walk-0.1.1" = {
@@ -7502,6 +7889,24 @@ let
         sha1 = "531319715b0e81ffcc22eb28478ba27643e12c6c";
       };
     };
+    "download-5.0.3" = {
+      name = "download";
+      packageName = "download";
+      version = "5.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/download/-/download-5.0.3.tgz";
+        sha1 = "63537f977f99266a30eb8a2a2fbd1f20b8000f7a";
+      };
+    };
+    "download-git-repo-1.0.2" = {
+      name = "download-git-repo";
+      packageName = "download-git-repo";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/download-git-repo/-/download-git-repo-1.0.2.tgz";
+        sha512 = "21sjxnakbaz6gkw8lrk0dizw893hwawsrhaypkxph8cdf6v7gyxl8b4n82qh99v4zvzcbbxbc7ff8jzkkn91vmn0w381vzh9ypi801z";
+      };
+    };
     "dreamopt-0.6.0" = {
       name = "dreamopt";
       packageName = "dreamopt";
@@ -7565,13 +7970,13 @@ let
         sha1 = "ee01dd1cac0ed3cbc7fdbea37dc0a8f1ce002ce2";
       };
     };
-    "duplexify-3.5.3" = {
+    "duplexify-3.6.0" = {
       name = "duplexify";
       packageName = "duplexify";
-      version = "3.5.3";
+      version = "3.6.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/duplexify/-/duplexify-3.5.3.tgz";
-        sha512 = "0c611ik2kv5wiqwfi5zjyx70dnw117lbr0wwqxqxc0hldnnfigiqyh5xr7x6267vs63jgvqkzvvwb3b1g37zkk3nx5dh5z8xbs07hl3";
+        url = "https://registry.npmjs.org/duplexify/-/duplexify-3.6.0.tgz";
+        sha512 = "12hhn0igd7y8nmni0qd63wpc9w1fl5rgdh4d1mq65n6r00l7byh7fs5v6m6pd8xzwmnxhrxqrc1y5yh6hswbh2i9ic9la21if5w7vbw";
       };
     };
     "each-async-1.1.1" = {
@@ -7619,6 +8024,15 @@ let
         sha1 = "4bc926274ec3b5abb5016e7e1d60921ac262b2a1";
       };
     };
+    "ecstatic-3.2.0" = {
+      name = "ecstatic";
+      packageName = "ecstatic";
+      version = "3.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ecstatic/-/ecstatic-3.2.0.tgz";
+        sha512 = "2sjxkrzsvswqsxb6jrq3p75g53szmx1hwwd5yhpkkx4857avz4yr0dvfqkshhxnx88an2gw00j6crbkc39q48zlpmplyzcwzp3sb20s";
+      };
+    };
     "editions-1.3.4" = {
       name = "editions";
       packageName = "editions";
@@ -7718,13 +8132,13 @@ let
         sha1 = "cac9af8762c85836187003c8dfe193e5e2eae5df";
       };
     };
-    "email-validator-1.1.1" = {
+    "email-validator-2.0.3" = {
       name = "email-validator";
       packageName = "email-validator";
-      version = "1.1.1";
+      version = "2.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/email-validator/-/email-validator-1.1.1.tgz";
-        sha512 = "3ydmy134p48c4zswbvjllak53h545dmzsz77bwpfxjf7aw510yyg4w58pazc2yz9agm93rphfgglrlj9cfkfdygcg1rbv0vj4jhjixy";
+        url = "https://registry.npmjs.org/email-validator/-/email-validator-2.0.3.tgz";
+        sha1 = "33e50d66f526b97cd72c17205aefaec79c8a2a1e";
       };
     };
     "emitter-http://github.com/component/emitter/archive/1.0.1.tar.gz" = {
@@ -7764,6 +8178,15 @@ let
         sha1 = "4daa4d9db00f9819880c79fa457ae5b09a1fd389";
       };
     };
+    "enable-1.3.2" = {
+      name = "enable";
+      packageName = "enable";
+      version = "1.3.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/enable/-/enable-1.3.2.tgz";
+        sha1 = "9eba6837d16d0982b59f87d889bf754443d52931";
+      };
+    };
     "encodeurl-1.0.2" = {
       name = "encodeurl";
       packageName = "encodeurl";
@@ -7854,6 +8277,15 @@ let
         sha512 = "1qcg5b143cxb4gxa9jpj51c8q9ihwb0sscwqicgwrghmfg8y2phqjzhlaxjsrd6z8h1mpsxzy00s54w9lx6vd27f1mj9iqqk6ya4khg";
       };
     };
+    "engine.io-3.2.0" = {
+      name = "engine.io";
+      packageName = "engine.io";
+      version = "3.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/engine.io/-/engine.io-3.2.0.tgz";
+        sha512 = "0mizbh339hvwkla9vy96m7jg92120wqm9af12ks998hrp2a0fzr3w0gxssjwhp0s0f3kyii24z1sz2x5xq9x3qb5cjn1q2h1fcf05lr";
+      };
+    };
     "engine.io-client-1.3.1" = {
       name = "engine.io-client";
       packageName = "engine.io-client";
@@ -7872,13 +8304,22 @@ let
         sha512 = "1kfc2cmjw891x0i9cm9alm93db5s40h3n4a3zcpjha7nrvz0s7ggzpp2x2v8zmnhp9278amjdm0j5lfkn3qxan7nanzhl4m4wgy1101";
       };
     };
-    "engine.io-client-3.1.5" = {
+    "engine.io-client-3.1.6" = {
       name = "engine.io-client";
       packageName = "engine.io-client";
-      version = "3.1.5";
+      version = "3.1.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/engine.io-client/-/engine.io-client-3.1.5.tgz";
-        sha512 = "3ld2inpqkyy451a7lpf8kmaf76zrj9a50yg28z1d1znhnnj40g3cnrcq93690lknhb6mjv0k1nav2cbqx2p3aqqhmav7kippy0nzzs6";
+        url = "https://registry.npmjs.org/engine.io-client/-/engine.io-client-3.1.6.tgz";
+        sha512 = "1zfr0lycsgvwkxc8i4qhg5rjr59ss7p66nz3j1y1awmvzgy9myn0rqrpv2hrnm76qv9kmiiss0jpxaaz9xy0lkp7857npkfb6q8fyw6";
+      };
+    };
+    "engine.io-client-3.2.1" = {
+      name = "engine.io-client";
+      packageName = "engine.io-client";
+      version = "3.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/engine.io-client/-/engine.io-client-3.2.1.tgz";
+        sha512 = "37x70wgsxmbz24ypn1nprgrmqrbjf5ln7xjivpw5q6rw91kj2mhjq81ai8v7zs6am25h2sajk341kid215gxrmy88iwwy2n5f9ip46b";
       };
     };
     "engine.io-parser-1.0.6" = {
@@ -7917,15 +8358,6 @@ let
         sha1 = "a115c32504b6302e85a76269d7a57ccdd962e359";
       };
     };
-    "enhanced-resolve-3.4.1" = {
-      name = "enhanced-resolve";
-      packageName = "enhanced-resolve";
-      version = "3.4.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-3.4.1.tgz";
-        sha1 = "0421e339fd71419b3da13d129b3979040230476e";
-      };
-    };
     "enhanced-resolve-4.0.0" = {
       name = "enhanced-resolve";
       packageName = "enhanced-resolve";
@@ -7989,6 +8421,15 @@ let
         sha1 = "85675afba237c43f98de2d46adc0e532a4dcf48b";
       };
     };
+    "envinfo-3.4.2" = {
+      name = "envinfo";
+      packageName = "envinfo";
+      version = "3.4.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/envinfo/-/envinfo-3.4.2.tgz";
+        sha512 = "3m2wjc7aa1y0in84b3gg6c2r5cyzhbbcil9i09l2yh1vaw7mw8piziw9fpri3x2bzfrpjksm0sz715ki08nkgz65rrqzwyhlzxab8na";
+      };
+    };
     "errno-0.1.7" = {
       name = "errno";
       packageName = "errno";
@@ -8034,13 +8475,13 @@ let
         sha1 = "eaba64ca5d542a311ac945f582defc336165d9f4";
       };
     };
-    "es-abstract-1.10.0" = {
+    "es-abstract-1.11.0" = {
       name = "es-abstract";
       packageName = "es-abstract";
-      version = "1.10.0";
+      version = "1.11.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/es-abstract/-/es-abstract-1.10.0.tgz";
-        sha512 = "04nd5ylkfffc08vn5kjhz0saqh44nj19f5j3ahrrhf3zvc9da5rf6snnh63xv4gfhacjbax1jajzgqv4zpm77v806jf883a2w77zs7y";
+        url = "https://registry.npmjs.org/es-abstract/-/es-abstract-1.11.0.tgz";
+        sha512 = "2aaq6ivy5raj1a99db6gvw7qn2vs27h0pqvgpf2fqfm9avwqsirr8gs86yx7n36qysjw1vabz6mlc8dfpi6fmz9yqvk8kapz49jnx36";
       };
     };
     "es-to-primitive-1.1.1" = {
@@ -8052,13 +8493,13 @@ let
         sha1 = "45355248a88979034b6792e19bb81f2b7975dd0d";
       };
     };
-    "es5-ext-0.10.39" = {
+    "es5-ext-0.10.42" = {
       name = "es5-ext";
       packageName = "es5-ext";
-      version = "0.10.39";
+      version = "0.10.42";
       src = fetchurl {
-        url = "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.39.tgz";
-        sha512 = "3k07fsn3x64wphzrvb5bhv4r8drmvranrh43j8pn7rsnpyk8pia81vy1d4g3ix0ami3xs4crqxpanxff9dwfk7czrl4m5y72dk9fmh2";
+        url = "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.42.tgz";
+        sha512 = "1412ssfrx1kvraz8kp4x9lc1jzcdh2952vbmlimrfalmbjv44rh504ihb4fg5mjwx8ix1f1wii0a0qngwrfk4gl271mcywgp7b4x700";
       };
     };
     "es5-ext-0.8.2" = {
@@ -8268,22 +8709,22 @@ let
         sha1 = "c8fc6201c7f40dd08941b87c085767386a679acc";
       };
     };
-    "eslint-4.15.0" = {
+    "eslint-4.19.0" = {
       name = "eslint";
       packageName = "eslint";
-      version = "4.15.0";
+      version = "4.19.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/eslint/-/eslint-4.15.0.tgz";
-        sha512 = "3l1j4qy0gqa8rkwpdsmkkbqcmbx23ym8h64d1bbj5i5ds5ks0g91myldzp0y25r6b3ba9646hy4i2jiad2jmm8h68z89i2larkvyhyc";
+        url = "https://registry.npmjs.org/eslint/-/eslint-4.19.0.tgz";
+        sha512 = "29dc1z24n3c60hfac5afy7rk3mqdch8hnn07fnb9314dbyk5ih2l1284vl3nsgsm5ja5w144nsgmipbycva47gwpl1qfsma5gjcpkdg";
       };
     };
-    "eslint-4.18.1" = {
+    "eslint-4.19.1" = {
       name = "eslint";
       packageName = "eslint";
-      version = "4.18.1";
+      version = "4.19.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/eslint/-/eslint-4.18.1.tgz";
-        sha512 = "21i792qmqdz7dzm68ncjf4q3bi3c5kb1q103hkdp868mm9p7gd153hjzsq70mfyfx0vrjzna8x734xmpkp9himw32svf7j24jjrzx40";
+        url = "https://registry.npmjs.org/eslint/-/eslint-4.19.1.tgz";
+        sha512 = "0hw70vjlg6z0y9kf6vjr7g0w9hbm426fwvyzr88l62c5hd9mxrbw5v34b6zb31vbbyda3mkvcwgfnxgqaxvpn0wlrxr0va43pbzygbd";
       };
     };
     "eslint-plugin-no-unsafe-innerhtml-1.0.16" = {
@@ -8313,13 +8754,13 @@ let
         sha512 = "02hr99x8cnc80p9hn5si7mngqpzvvjkxmdv8sch68z0qpqwjdlx3j1w6d9rhr6wgcnqf1mrxyji8wvfddbf7xr13z2nzihv29gvyfdb";
       };
     };
-    "espree-3.5.3" = {
+    "espree-3.5.4" = {
       name = "espree";
       packageName = "espree";
-      version = "3.5.3";
+      version = "3.5.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/espree/-/espree-3.5.3.tgz";
-        sha512 = "1cv3w3jgkm5sdaszxn172lhwgwr13w7sw75hmigqppmr9n2xx761r5cm32xhhg25ws8h00iy746qka5l85nm6sx5qci8iyfj00fsbb7";
+        url = "https://registry.npmjs.org/espree/-/espree-3.5.4.tgz";
+        sha512 = "3a07jjjp8g8mdayw3n9l0p0llw7cfipjifan2ccyn2vm1zyafrmv5cj11rc6qmk7ibbq1vc4xxc3sfr54qpgxmxiizj0ck63d1hh1y8";
       };
     };
     "esprima-1.0.4" = {
@@ -8367,13 +8808,13 @@ let
         sha1 = "633acdb40d9bd4db8a1c1d68c06a942959fad2b0";
       };
     };
-    "esquery-1.0.0" = {
+    "esquery-1.0.1" = {
       name = "esquery";
       packageName = "esquery";
-      version = "1.0.0";
+      version = "1.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/esquery/-/esquery-1.0.0.tgz";
-        sha1 = "cfba8b57d7fba93f17298a8a006a04cda13d80fa";
+        url = "https://registry.npmjs.org/esquery/-/esquery-1.0.1.tgz";
+        sha512 = "0s9lxfan3qbvpprj71ldy70x9sz4xkpakhr3pymkm13bx40px4kp4xcgipscn8m21qigddin5mkr52bicbm34g46dapyn68kikv4s2a";
       };
     };
     "esrecurse-4.2.1" = {
@@ -8462,7 +8903,7 @@ let
       packageName = "event-stream";
       version = "0.5.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/event-stream/-/event-stream-0.5.3.tgz";
+        url = "http://registry.npmjs.org/event-stream/-/event-stream-0.5.3.tgz";
         sha1 = "b77b9309f7107addfeab63f0c0eafd8db0bd8c1c";
       };
     };
@@ -8471,7 +8912,7 @@ let
       packageName = "event-stream";
       version = "3.1.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/event-stream/-/event-stream-3.1.5.tgz";
+        url = "http://registry.npmjs.org/event-stream/-/event-stream-3.1.5.tgz";
         sha1 = "6cba5a3ae02a7e4967d65ad04ef12502a2fff66c";
       };
     };
@@ -8480,7 +8921,7 @@ let
       packageName = "event-stream";
       version = "3.2.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/event-stream/-/event-stream-3.2.2.tgz";
+        url = "http://registry.npmjs.org/event-stream/-/event-stream-3.2.2.tgz";
         sha1 = "f79f9984c07ee3fd9b44ffb3cd0422b13e24084d";
       };
     };
@@ -8489,7 +8930,7 @@ let
       packageName = "event-stream";
       version = "3.3.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/event-stream/-/event-stream-3.3.4.tgz";
+        url = "http://registry.npmjs.org/event-stream/-/event-stream-3.3.4.tgz";
         sha1 = "4ab4c9a0f5a54db9338b4c34d86bfce8f4b35571";
       };
     };
@@ -8538,13 +8979,13 @@ let
         sha1 = "1c86991d816ad1e504750e73874224ecf3bec508";
       };
     };
-    "eventemitter3-3.0.1" = {
+    "eventemitter3-3.1.0" = {
       name = "eventemitter3";
       packageName = "eventemitter3";
-      version = "3.0.1";
+      version = "3.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/eventemitter3/-/eventemitter3-3.0.1.tgz";
-        sha512 = "0c5685grn5npm90n22lw5hjz93ga3ffc3j6jk5rs4sz0w7ymwj942v3w94ikkgxpvxj7mfawsdrczwad0b7srbkynbwac7xvsxqzq20";
+        url = "https://registry.npmjs.org/eventemitter3/-/eventemitter3-3.1.0.tgz";
+        sha512 = "1q3lcjzcm6cva1avw6qkzynnk6rlcp0pblgxxliwry2z52rz9fy82wh630clfv12i64ygywca69hfbj3ki71hy1in94nqxzka32zwla";
       };
     };
     "events-1.1.1" = {
@@ -8637,6 +9078,15 @@ let
         sha1 = "73d0904e395b3cab0658b08d09ec25307f29bb73";
       };
     };
+    "executable-4.1.1" = {
+      name = "executable";
+      packageName = "executable";
+      version = "4.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/executable/-/executable-4.1.1.tgz";
+        sha512 = "0p56mwdi80mzj4q8yb6s1abff3dwpl1s887jarp0fx3x3gz92qahnn28yqn0r351wflqsw4cqa4383965pm0pbgxwhhgf7p23vkn87j";
+      };
+    };
     "exit-0.1.2" = {
       name = "exit";
       packageName = "exit";
@@ -8781,6 +9231,15 @@ let
         sha1 = "e35c6dfe2d64b7dca0a5cd4f21781be3299e076c";
       };
     };
+    "express-4.16.3" = {
+      name = "express";
+      packageName = "express";
+      version = "4.16.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/express/-/express-4.16.3.tgz";
+        sha1 = "6af8a502350db3246ecc4becf6b5a34d22f7ed53";
+      };
+    };
     "express-5.0.0-alpha.6" = {
       name = "express";
       packageName = "express";
@@ -8907,13 +9366,13 @@ let
         sha1 = "12d7b0db850f7ff7e7081baf4005700060c4600b";
       };
     };
-    "external-editor-2.1.0" = {
+    "external-editor-2.2.0" = {
       name = "external-editor";
       packageName = "external-editor";
-      version = "2.1.0";
+      version = "2.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/external-editor/-/external-editor-2.1.0.tgz";
-        sha512 = "366albydy3glqs8h6y7rdpdhmyffn7vaig5snw8cb1zmn22mgvfywr08jfbmqjiqc9pyjyaaqv6xz5sfy2j1y18590l4f8mji7j53hk";
+        url = "https://registry.npmjs.org/external-editor/-/external-editor-2.2.0.tgz";
+        sha512 = "3sf897ajmkcp0j6rgd0jy6k95s9ck3j305yrr00kmckl8qdhswhbdd5g4m2fai03x8phs1vw2ahf9v7ym5ji4zfxydxyamiy61glabd";
       };
     };
     "extglob-0.3.2" = {
@@ -8943,15 +9402,6 @@ let
         sha1 = "5abbedc98c0d5202e3278727f9192d7e086c6be1";
       };
     };
-    "extract-text-webpack-plugin-3.0.2" = {
-      name = "extract-text-webpack-plugin";
-      packageName = "extract-text-webpack-plugin";
-      version = "3.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/extract-text-webpack-plugin/-/extract-text-webpack-plugin-3.0.2.tgz";
-        sha512 = "10rc4hfyzf8n5b30q0fpawnbnr1cs33mmrz9466hhcxjzlz7ys44zbsr5kbvr1jn5nivcr91nmfhpq2mqi1wxmr19zsnimri5kwppvf";
-      };
-    };
     "extract-zip-1.5.0" = {
       name = "extract-zip";
       packageName = "extract-zip";
@@ -9159,13 +9609,13 @@ let
         sha1 = "8b5bcbd9ec327c5041bf9ab023fd6750f1177e65";
       };
     };
-    "feedparser-1.1.3" = {
+    "feedparser-2.2.9" = {
       name = "feedparser";
       packageName = "feedparser";
-      version = "1.1.3";
+      version = "2.2.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/feedparser/-/feedparser-1.1.3.tgz";
-        sha1 = "0b725f6b4cbe4b26d518baec0d010ad020156c8b";
+        url = "https://registry.npmjs.org/feedparser/-/feedparser-2.2.9.tgz";
+        sha1 = "9138197dafdae05fcadde0036beeaf6066c2c5e9";
       };
     };
     "fibers-1.0.15" = {
@@ -9222,6 +9672,33 @@ let
         sha1 = "c392990c3e684783d838b8c84a45d8a048458361";
       };
     };
+    "file-type-3.9.0" = {
+      name = "file-type";
+      packageName = "file-type";
+      version = "3.9.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/file-type/-/file-type-3.9.0.tgz";
+        sha1 = "257a078384d1db8087bc449d107d52a52672b9e9";
+      };
+    };
+    "file-type-5.2.0" = {
+      name = "file-type";
+      packageName = "file-type";
+      version = "5.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/file-type/-/file-type-5.2.0.tgz";
+        sha1 = "2ddbea7c73ffe36368dfae49dc338c058c2b8ad6";
+      };
+    };
+    "file-type-6.2.0" = {
+      name = "file-type";
+      packageName = "file-type";
+      version = "6.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/file-type/-/file-type-6.2.0.tgz";
+        sha512 = "0xf8ry7jj1c5mvvp5qxidq3qcqxzdngx1q9r981ddq3wfcidwqd4h52hplv462hvm9frdl086advhfqfxbnvwm8ass3knby6l217xv0";
+      };
+    };
     "file-uri-to-path-1.0.0" = {
       name = "file-uri-to-path";
       packageName = "file-uri-to-path";
@@ -9240,13 +9717,40 @@ let
         sha1 = "c1c4b9bee3e09725ddb106b75c1e301fe2f18b26";
       };
     };
-    "filesize-3.6.0" = {
+    "filename-reserved-regex-2.0.0" = {
+      name = "filename-reserved-regex";
+      packageName = "filename-reserved-regex";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/filename-reserved-regex/-/filename-reserved-regex-2.0.0.tgz";
+        sha1 = "abf73dfab735d045440abfea2d91f389ebbfa229";
+      };
+    };
+    "filenamify-2.0.0" = {
+      name = "filenamify";
+      packageName = "filenamify";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/filenamify/-/filenamify-2.0.0.tgz";
+        sha1 = "bd162262c0b6e94bfbcdcf19a3bbb3764f785695";
+      };
+    };
+    "filesize-3.6.1" = {
       name = "filesize";
       packageName = "filesize";
-      version = "3.6.0";
+      version = "3.6.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/filesize/-/filesize-3.6.0.tgz";
-        sha512 = "1vldkz70kikg8b3ac8l686hm1aplkwqmllm9lg32cvy50hqzcqhari8pl2c41zsvl3bpzzfv7v8db0j91c0qd9vx8wz4w2nhsv9d4w3";
+        url = "https://registry.npmjs.org/filesize/-/filesize-3.6.1.tgz";
+        sha512 = "1rfby2136b86m318244b42lrcx9hc28vz71cv9i84cd5z7dd3cwvj1gx8mykbjh937yyi1h4q5kk3vhjcldc8pkd2f7iapszgbd3a7c";
+      };
+    };
+    "filestream-4.1.3" = {
+      name = "filestream";
+      packageName = "filestream";
+      version = "4.1.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/filestream/-/filestream-4.1.3.tgz";
+        sha1 = "948fcaade8221f715f5ecaddc54862faaacc9325";
       };
     };
     "fill-range-2.2.3" = {
@@ -9267,15 +9771,6 @@ let
         sha1 = "d544811d428f98eb06a63dc402d2403c328c38f7";
       };
     };
-    "filled-array-1.1.0" = {
-      name = "filled-array";
-      packageName = "filled-array";
-      version = "1.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/filled-array/-/filled-array-1.1.0.tgz";
-        sha1 = "c3c4f6c663b923459a9aa29912d2d031f1507f84";
-      };
-    };
     "filter-obj-1.1.0" = {
       name = "filter-obj";
       packageName = "filter-obj";
@@ -9330,6 +9825,15 @@ let
         sha1 = "ce0b6855b45853e791b2fcc680046d88253dd7f5";
       };
     };
+    "finalhandler-1.1.1" = {
+      name = "finalhandler";
+      packageName = "finalhandler";
+      version = "1.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.1.tgz";
+        sha512 = "2v4ymv7dvpxpnrid4cn8qni5k5l024zc2qzg8ipkbxwmqjbaiygbx0hvbnr0ywfy0is4ngyhp6ljgjh4wmk6fqc3hd3wyzxil798lb3";
+      };
+    };
     "find-cache-dir-1.0.0" = {
       name = "find-cache-dir";
       packageName = "find-cache-dir";
@@ -9438,15 +9942,6 @@ let
         sha1 = "b37dc844b76a2f5e7081e884f7c0ae344f153476";
       };
     };
-    "firefox-client-0.3.0" = {
-      name = "firefox-client";
-      packageName = "firefox-client";
-      version = "0.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/firefox-client/-/firefox-client-0.3.0.tgz";
-        sha1 = "3794460f6eb6afcf41376addcbc7462e24a4cd8b";
-      };
-    };
     "firefox-profile-1.1.0" = {
       name = "firefox-profile";
       packageName = "firefox-profile";
@@ -9546,13 +10041,13 @@ let
         sha1 = "554440766da0a0d603999f433453f6c2fc6a75c1";
       };
     };
-    "fluent-0.4.1" = {
-      name = "fluent";
-      packageName = "fluent";
-      version = "0.4.1";
+    "flatten-1.0.2" = {
+      name = "flatten";
+      packageName = "flatten";
+      version = "1.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/fluent/-/fluent-0.4.1.tgz";
-        sha512 = "2hrbkg2399py60vsz1k5xydrm5kwfh1f6fpgpbkrs9nni1xpq4isy8aif5jq5dakyksbf0yjx3sh7jl9f54c3r6jkf3amm3grxlbaxx";
+        url = "https://registry.npmjs.org/flatten/-/flatten-1.0.2.tgz";
+        sha1 = "dae46a9d78fbe25292258cc1e780a41d95c03782";
       };
     };
     "fluent-ffmpeg-2.1.2" = {
@@ -9564,13 +10059,22 @@ let
         sha1 = "c952de2240f812ebda0aa8006d7776ee2acf7d74";
       };
     };
-    "flush-write-stream-1.0.2" = {
+    "fluent-syntax-0.6.6" = {
+      name = "fluent-syntax";
+      packageName = "fluent-syntax";
+      version = "0.6.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/fluent-syntax/-/fluent-syntax-0.6.6.tgz";
+        sha512 = "18dv619kjzc3fdahfc242r7lb27a3pjxx5xd8shascb9xb8c1zncsrbnj0an8qjsg1pwf0az7h7gv5v0g50b3pixznr7wk7d8yqfazj";
+      };
+    };
+    "flush-write-stream-1.0.3" = {
       name = "flush-write-stream";
       packageName = "flush-write-stream";
-      version = "1.0.2";
+      version = "1.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.0.2.tgz";
-        sha1 = "c81b90d8746766f1a609a46809946c45dd8ae417";
+        url = "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.0.3.tgz";
+        sha512 = "0dycj5bh8djmx4lj5llrbg3cg0ynq32qn8pzk8zl9j8pm6nv5n1qzk4m7dq81q96ygzh8jl9chqh8826rrbl8maa9643fvl5lq5kabi";
       };
     };
     "follow-redirects-0.0.3" = {
@@ -9780,13 +10284,13 @@ let
         sha1 = "ef5491490f9433b705faa77249c99029ae348559";
       };
     };
-    "formidable-1.1.1" = {
+    "formidable-1.2.1" = {
       name = "formidable";
       packageName = "formidable";
-      version = "1.1.1";
+      version = "1.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/formidable/-/formidable-1.1.1.tgz";
-        sha1 = "96b8886f7c3c3508b932d6bd70c4d3a88f35f1a9";
+        url = "https://registry.npmjs.org/formidable/-/formidable-1.2.1.tgz";
+        sha512 = "1x0n2rfaiasdjbw1mm7s29z84f68c7iji7lb1gkxvpknvv6q7bwns7z55ijcf4vkh4kvis12rbgaaih49jf9lj53s30mllb1d35bkqn";
       };
     };
     "forwarded-0.1.2" = {
@@ -9888,13 +10392,22 @@ let
         sha1 = "2a7db7ef59a5ec548cce8564066508224c9b0457";
       };
     };
-    "fs-chunk-store-1.6.5" = {
+    "fs-chunk-store-1.7.0" = {
       name = "fs-chunk-store";
       packageName = "fs-chunk-store";
-      version = "1.6.5";
+      version = "1.7.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/fs-chunk-store/-/fs-chunk-store-1.7.0.tgz";
+        sha512 = "13w7dc43h1mv5a43zps5rwsgvlgpd1pj8rwlhmp1fsbyddysv2zy6d8xyaf9hllnqx3ykw62yv1j5z1y79kvyi6hjgymn9cj2cwj61a";
+      };
+    };
+    "fs-constants-1.0.0" = {
+      name = "fs-constants";
+      packageName = "fs-constants";
+      version = "1.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/fs-chunk-store/-/fs-chunk-store-1.6.5.tgz";
-        sha1 = "fc42c2ff4c7f1688ab5fd41cf17c0f9ece4c6156";
+        url = "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz";
+        sha512 = "2iv1j05gzx1sgpckd597sdd2f5x54rgcib3rpwgf31050wqxn5h27map6cn9wk4vix393s4ws2xv6kgps5zfby2iirb2zw8hk1818yb";
       };
     };
     "fs-ext-0.6.0" = {
@@ -9942,6 +10455,15 @@ let
         sha1 = "cd3ce5f7e7cb6145883fcae3191e9877f8587950";
       };
     };
+    "fs-extra-2.0.0" = {
+      name = "fs-extra";
+      packageName = "fs-extra";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/fs-extra/-/fs-extra-2.0.0.tgz";
+        sha1 = "337352bded4a0b714f3eb84de8cea765e9d37600";
+      };
+    };
     "fs-extra-2.1.2" = {
       name = "fs-extra";
       packageName = "fs-extra";
@@ -10023,13 +10545,13 @@ let
         sha512 = "25k3z64r4fhzjs1crh981lkkvkrhn2xv67k7y00zpnpsl571y5apg0r0kanddirms8kxf2xgf4yx9n2hzs9ml3v3p9qcnqhkh9khzja";
       };
     };
-    "fsevents-1.1.3" = {
+    "fsevents-1.2.3" = {
       name = "fsevents";
       packageName = "fsevents";
-      version = "1.1.3";
+      version = "1.2.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/fsevents/-/fsevents-1.1.3.tgz";
-        sha512 = "3jw51f4iayxvp9wfxczk1xgcvhsydhlgah64jmpl0mqiii2h8i5pp0lrqac5xn7296gxqrvy4lgm4k4hkifk8gipgqxd68x764gp2jq";
+        url = "https://registry.npmjs.org/fsevents/-/fsevents-1.2.3.tgz";
+        sha512 = "3nsv4z5qk2hhcrp6bng9bzpj4nsk0b41i363phlqfp69dq1p2x6a1g3y86z2j7aj4mfj88y1i1agkb1y0pg5c388223h394jqxppvjz";
       };
     };
     "fstream-0.1.31" = {
@@ -10230,6 +10752,15 @@ let
         sha1 = "dd7ce7de187c06c8bf353796ac71e099f0980ebc";
       };
     };
+    "get-proxy-2.1.0" = {
+      name = "get-proxy";
+      packageName = "get-proxy";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/get-proxy/-/get-proxy-2.1.0.tgz";
+        sha512 = "0kjf4p1krvzah7k5yngvvc39b7jnkzqlp3cdab8451zh1q4mxmav111dmycnadv28ja2wvcwvavjl7w550ja7qyw4dx976n0illhrnf";
+      };
+    };
     "get-stdin-4.0.1" = {
       name = "get-stdin";
       packageName = "get-stdin";
@@ -10248,6 +10779,24 @@ let
         sha1 = "122e161591e21ff4c52530305693f20e6393a398";
       };
     };
+    "get-stdin-6.0.0" = {
+      name = "get-stdin";
+      packageName = "get-stdin";
+      version = "6.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/get-stdin/-/get-stdin-6.0.0.tgz";
+        sha512 = "3p9jcnfk7nqnw43xammn5v5z63nxrxgz675sn70q8sma9ick6wq2plbw8b9r5il5f8f9krdamp316rdxvwcm2j4jagvymrjmhfjv7lf";
+      };
+    };
+    "get-stream-2.3.1" = {
+      name = "get-stream";
+      packageName = "get-stream";
+      version = "2.3.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/get-stream/-/get-stream-2.3.1.tgz";
+        sha1 = "5f38f93f346009666ee0150a054167f91bdd95de";
+      };
+    };
     "get-stream-3.0.0" = {
       name = "get-stream";
       packageName = "get-stream";
@@ -10275,13 +10824,13 @@ let
         sha1 = "dc15ca1c672387ca76bd37ac0a395ba2042a2c28";
       };
     };
-    "getmac-1.2.1" = {
+    "getmac-1.4.1" = {
       name = "getmac";
       packageName = "getmac";
-      version = "1.2.1";
+      version = "1.4.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/getmac/-/getmac-1.2.1.tgz";
-        sha1 = "0d095fd0627850043eac1dcfa0b120bbdc1426d1";
+        url = "https://registry.npmjs.org/getmac/-/getmac-1.4.1.tgz";
+        sha512 = "0r7zqgvfiv3r6zy8fms9gdcf3a1r46kpf8pm5x7vwrc27vgv69ra244s89k73hb9rna6r3s9v20yzbwjmz2c13gh3s0bbd07zq7w2lr";
       };
     };
     "getpass-0.1.7" = {
@@ -10302,13 +10851,22 @@ let
         sha1 = "2c5a6638d893934b9b55037d0ad82cb7004b2679";
       };
     };
-    "git-raw-commits-1.3.4" = {
+    "git-clone-0.1.0" = {
+      name = "git-clone";
+      packageName = "git-clone";
+      version = "0.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/git-clone/-/git-clone-0.1.0.tgz";
+        sha1 = "0d76163778093aef7f1c30238f2a9ef3f07a2eb9";
+      };
+    };
+    "git-raw-commits-1.3.6" = {
       name = "git-raw-commits";
       packageName = "git-raw-commits";
-      version = "1.3.4";
+      version = "1.3.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/git-raw-commits/-/git-raw-commits-1.3.4.tgz";
-        sha512 = "0yfkxk071bahnzw2h5ip6qb7mq76psfwiqs232gkzr91hc55kqw57pjn33j04h3xiwvgrikl20mbccisi006rxyh0lwfvj7bkivwwqv";
+        url = "https://registry.npmjs.org/git-raw-commits/-/git-raw-commits-1.3.6.tgz";
+        sha512 = "111718czypc8jr47xq3n5xvfwx6nib7y36bpb882id57sdhv49bfpdmkgxbrb524942rw3k6wq15128mlv4q8fbkh5g3wjhmgdhmyxj";
       };
     };
     "git-remote-origin-url-2.0.0" = {
@@ -10329,13 +10887,13 @@ let
         sha1 = "a0c2e3dd392abcf6b76962e27fc75fb3223449ce";
       };
     };
-    "git-semver-tags-1.3.4" = {
+    "git-semver-tags-1.3.6" = {
       name = "git-semver-tags";
       packageName = "git-semver-tags";
-      version = "1.3.4";
+      version = "1.3.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/git-semver-tags/-/git-semver-tags-1.3.4.tgz";
-        sha512 = "0hhdj4992a96ys5i9k6pjbn99wwsabb92drxr0s7vzxyxlpydrvjzbb4rwdnsd0rm7h92420yr2f3khpakkp6ivgg09fp9hhgprkvax";
+        url = "https://registry.npmjs.org/git-semver-tags/-/git-semver-tags-1.3.6.tgz";
+        sha512 = "25114wyd4p8qn681l730d9s1wgh4kmvizin5361hx5qvpd82adi2fkjkvv289nk1vb6hx8q13ikhyc705hw8iag1b23zq37g4kfacfs";
       };
     };
     "gitconfiglocal-1.0.0" = {
@@ -10600,13 +11158,22 @@ let
         sha1 = "dbf743c6c14992593c655568cb66ed32c0122ebe";
       };
     };
-    "globals-11.3.0" = {
+    "global-tunnel-ng-2.1.1" = {
+      name = "global-tunnel-ng";
+      packageName = "global-tunnel-ng";
+      version = "2.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/global-tunnel-ng/-/global-tunnel-ng-2.1.1.tgz";
+        sha1 = "dab824432260b6dcb70d173b78288e2fa6e0b880";
+      };
+    };
+    "globals-11.5.0" = {
       name = "globals";
       packageName = "globals";
-      version = "11.3.0";
+      version = "11.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/globals/-/globals-11.3.0.tgz";
-        sha512 = "1vlgbj6gcsd9dshs7xldhg92zd62r3w51jf9x80qnn0y4llbl2ji5sl7ibmv7ysr0iv8hzid151n8zxhyi84rlnczysjhb6v4l5qjlj";
+        url = "https://registry.npmjs.org/globals/-/globals-11.5.0.tgz";
+        sha512 = "0lyc1vv873r8cgcxlnj32p6nhdbdsjash1kv2cb1chvawmbr0m83kl565iwhvjd3dyz4ba3d3mr80wa21sqj8hv77knsxiw8bx9z345";
       };
     };
     "globals-9.18.0" = {
@@ -10672,15 +11239,6 @@ let
         sha1 = "e5d0ed4af55fc3eef4d56007769d98192bcb2eca";
       };
     };
-    "got-5.7.1" = {
-      name = "got";
-      packageName = "got";
-      version = "5.7.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/got/-/got-5.7.1.tgz";
-        sha1 = "5f81635a61e4a6589f180569ea4e381680a51f35";
-      };
-    };
     "got-6.7.1" = {
       name = "got";
       packageName = "got";
@@ -10699,13 +11257,13 @@ let
         sha512 = "0phvycaq4yl6jjpyc9vwmgghfy7a6nnpynscpgpbx74zjaa5dbpl1ag0jf7jvimfk0vf6xfjqgh67xdlvi0ycgvp1kasajapjiqr5b3";
       };
     };
-    "got-8.2.0" = {
+    "got-8.3.1" = {
       name = "got";
       packageName = "got";
-      version = "8.2.0";
+      version = "8.3.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/got/-/got-8.2.0.tgz";
-        sha512 = "01g5s6aqp4ikmpwhqvw4j7c4n4fq3v7nqaszr9kvwrx801gxzb70b3qx0pqsir2hqw2a7jfd1ja6v577hmmnblvz7c0h8spkal9s9l2";
+        url = "https://registry.npmjs.org/got/-/got-8.3.1.tgz";
+        sha512 = "3by57aak00z7wr6h4sax941f2q8mmvcvy815wxm3lzzdkm8l6i6hxbapxxqzsl0mayv96mmlcqnzkx3axzzwk9yx4wr16yqp7wxf8mn";
       };
     };
     "graceful-fs-1.2.3" = {
@@ -10762,6 +11320,15 @@ let
         sha512 = "0w1lx3hms5mx84mlxsgpvjr42qba17wwqhma0np67c9l8smkd2nwx7gr8724a2q1z7x0hjdjnwzx81893mj2ax498wl7y1h4yl5pysy";
       };
     };
+    "gray-matter-2.1.1" = {
+      name = "gray-matter";
+      packageName = "gray-matter";
+      version = "2.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/gray-matter/-/gray-matter-2.1.1.tgz";
+        sha1 = "3042d9adec2a1ded6a7707a9ed2380f8a17a430e";
+      };
+    };
     "grouped-queue-0.3.3" = {
       name = "grouped-queue";
       packageName = "grouped-queue";
@@ -11014,6 +11581,15 @@ let
         sha1 = "b5d454dc2199ae225699f3467e5a07f3b955bafd";
       };
     };
+    "has-generators-1.0.1" = {
+      name = "has-generators";
+      packageName = "has-generators";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/has-generators/-/has-generators-1.0.1.tgz";
+        sha1 = "a6a2e55486011940482e13e2c93791c449acf449";
+      };
+    };
     "has-gulplog-0.1.0" = {
       name = "has-gulplog";
       packageName = "has-gulplog";
@@ -11104,15 +11680,6 @@ let
         sha1 = "78c5926893c80215c2b568ae1fd3fcab7a2696b0";
       };
     };
-    "hash-base-2.0.2" = {
-      name = "hash-base";
-      packageName = "hash-base";
-      version = "2.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/hash-base/-/hash-base-2.0.2.tgz";
-        sha1 = "66ea1d856db4e8a5470cadf6fce23ae5244ef2e1";
-      };
-    };
     "hash-base-3.0.4" = {
       name = "hash-base";
       packageName = "hash-base";
@@ -11338,13 +11905,13 @@ let
         sha1 = "0f591b1b344bdcb3df59773f62fbbaf85bf4028b";
       };
     };
-    "hosted-git-info-2.5.0" = {
+    "hosted-git-info-2.6.0" = {
       name = "hosted-git-info";
       packageName = "hosted-git-info";
-      version = "2.5.0";
+      version = "2.6.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.5.0.tgz";
-        sha512 = "355g980qsk8k9hkv60z58llbvpscjl5yqkh4wx719s8jcq2swzn4ynzinj8azmvdgs10r22wb297rmixh9vvsml55sbysdf2i8ipn54";
+        url = "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.6.0.tgz";
+        sha512 = "1vi4baj130s7mladvb4rad9ka8nqzcwws9i1zaaplp0fdrmnfwjfbpq01cghha2c2frd2f900f07awglhbbyym0bpwmrph0hhhf11ll";
       };
     };
     "hot-shots-4.8.0" = {
@@ -11455,6 +12022,15 @@ let
         sha1 = "0a002cc85707192a7e7946ceedc11155f60ec736";
       };
     };
+    "http-errors-1.6.3" = {
+      name = "http-errors";
+      packageName = "http-errors";
+      version = "1.6.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz";
+        sha1 = "8b55680bb4be283a0b5bf4ea2e38580be1d9320d";
+      };
+    };
     "http-headers-3.0.2" = {
       name = "http-headers";
       packageName = "http-headers";
@@ -11473,13 +12049,13 @@ let
         sha1 = "29691b6fc58f4f7e81a3605dca82682b068e4430";
       };
     };
-    "http-parser-js-0.4.10" = {
+    "http-parser-js-0.4.12" = {
       name = "http-parser-js";
       packageName = "http-parser-js";
-      version = "0.4.10";
+      version = "0.4.12";
       src = fetchurl {
-        url = "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.4.10.tgz";
-        sha1 = "92c9c1374c35085f75db359ec56cc257cbb93fa4";
+        url = "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.4.12.tgz";
+        sha1 = "b9cfbf4a2cf26f0fc34b10ca1489a27771e3474f";
       };
     };
     "http-proxy-1.0.2" = {
@@ -11500,6 +12076,15 @@ let
         sha1 = "06dff292952bf64dbe8471fa9df73066d4f37742";
       };
     };
+    "http-proxy-1.17.0" = {
+      name = "http-proxy";
+      packageName = "http-proxy";
+      version = "1.17.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/http-proxy/-/http-proxy-1.17.0.tgz";
+        sha512 = "3z80svhb9hi5fawc8za5qn75lybr53646gfsqm2hkqss4pr186pp7k6f5jnjgw7vrkgjy4yzvb34729q6kvrikn4xgq9gfdg7xsgajd";
+      };
+    };
     "http-proxy-agent-1.0.0" = {
       name = "http-proxy-agent";
       packageName = "http-proxy-agent";
@@ -11509,6 +12094,15 @@ let
         sha1 = "cc1ce38e453bf984a0f7702d2dd59c73d081284a";
       };
     };
+    "http-proxy-agent-2.1.0" = {
+      name = "http-proxy-agent";
+      packageName = "http-proxy-agent";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-2.1.0.tgz";
+        sha512 = "21cixh55jg0m41bhn1xh9pydf31jq4ip5j525hprkimg376jjxms69raxfbsryi0mzhmgw84g1nb3paqznb1l2ajy0zhnkvnl2dn0db";
+      };
+    };
     "http-proxy-middleware-0.17.4" = {
       name = "http-proxy-middleware";
       packageName = "http-proxy-middleware";
@@ -11608,13 +12202,13 @@ let
         sha1 = "35f7da6c48ce4ddbfa264891ac593ee5ff8671e6";
       };
     };
-    "https-proxy-agent-2.1.1" = {
+    "https-proxy-agent-2.2.1" = {
       name = "https-proxy-agent";
       packageName = "https-proxy-agent";
-      version = "2.1.1";
+      version = "2.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-2.1.1.tgz";
-        sha512 = "0rxbj60hs8fhs3i02lgb6ypcf9m9v8ybd4lfvfvpy0f1iyy54f1686lmv0rvkyxxihwvs4yizjgv8r8jksh385c4c9yjm3z8i0svbic";
+        url = "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-2.2.1.tgz";
+        sha512 = "2arj581rpjpgky9cr5hh3asan2mh7825rwxy63mp02amw9w6vsi59bay0dwp72md28mmzrmahxc909v1r1ca6y6r3f5dryna95r7w0w";
       };
     };
     "humanize-0.0.9" = {
@@ -11635,31 +12229,31 @@ let
         sha1 = "a65b34459ad6367adbb3707a82a3c9f916167030";
       };
     };
-    "humanize-string-1.0.1" = {
+    "humanize-string-1.0.2" = {
       name = "humanize-string";
       packageName = "humanize-string";
-      version = "1.0.1";
+      version = "1.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/humanize-string/-/humanize-string-1.0.1.tgz";
-        sha1 = "fce2d6c545efc25dea1f23235182c98da0180b42";
+        url = "https://registry.npmjs.org/humanize-string/-/humanize-string-1.0.2.tgz";
+        sha512 = "3bml62y8rmpga8wbcxfqm6izvc9xxlblx0vc08r778qa42jgw6fjif4i7f9bj2y98bz4xyimg5vfgch92j6i2l7zcwiq5za8l34cziw";
       };
     };
-    "hypercore-6.12.2" = {
+    "hypercore-6.14.0" = {
       name = "hypercore";
       packageName = "hypercore";
-      version = "6.12.2";
+      version = "6.14.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/hypercore/-/hypercore-6.12.2.tgz";
-        sha512 = "1s7l8r5bpiialz194g5kryp5bpcg8n0x0l7jfgynjiimi3pyn0lkcijijk20g5ibagfzi3jnrlyh1jp9ywbrys5inbwl83ra7a6qbr6";
+        url = "https://registry.npmjs.org/hypercore/-/hypercore-6.14.0.tgz";
+        sha512 = "3liw77yhvn3nlrczf9s30vvn4bxrn3glh65a2psy1va9pvcnjwx6wfh52v5l9qbd7zyp4q4nb7qrq0n3am7jwmz3dkb5fzvdnlwikkh";
       };
     };
-    "hypercore-protocol-6.5.2" = {
+    "hypercore-protocol-6.6.4" = {
       name = "hypercore-protocol";
       packageName = "hypercore-protocol";
-      version = "6.5.2";
+      version = "6.6.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/hypercore-protocol/-/hypercore-protocol-6.5.2.tgz";
-        sha512 = "03l77nma8ga06ywa469jzqgc13hjk9bg3w2cv95g3fwnqy2fvz8qpczcih65jscvk0ira5kpm3sk2vqh2whzzvnm19jlqrzi78v80n3";
+        url = "https://registry.npmjs.org/hypercore-protocol/-/hypercore-protocol-6.6.4.tgz";
+        sha512 = "0rxj8d4lp45q7v3wwwv23m7qi84vw3wvyafqiy9x5f9lqkynq8v8yajpq9bcnc935927qjnxajn8n0cyhg0fqjnpywlfyxgxczkndgm";
       };
     };
     "hyperdrive-9.12.3" = {
@@ -11689,6 +12283,15 @@ let
         sha512 = "0pvqzvgah2lm79c9gknj6cl4asrmck3f030wqagcfgbgvqh3r5q611j8s958zdw3mi0p71ny0787xqmkckxdcxrsq9am1zqgr5lz296";
       };
     };
+    "hyperquest-2.1.3" = {
+      name = "hyperquest";
+      packageName = "hyperquest";
+      version = "2.1.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/hyperquest/-/hyperquest-2.1.3.tgz";
+        sha512 = "2ppxy7nv5yzpc9bvycyd4k2znp9grxldqrpvjzkzssn62f6xx7rzcqgrq30iykm5j91l8xahr93bznynpj30h7h5f6zmv3qn0x86jvx";
+      };
+    };
     "i-0.3.6" = {
       name = "i";
       packageName = "i";
@@ -11752,6 +12355,15 @@ let
         sha512 = "0jj1pdq3j9ak8cixn2kjp7ip8hf3xgnb85j4jr32yf9rry620v9072c0kk577mllfk1zl9wzs5ypwzbp7vbhf7j31d5rrqgwb0nldm1";
       };
     };
+    "iconv-lite-0.4.22" = {
+      name = "iconv-lite";
+      packageName = "iconv-lite";
+      version = "0.4.22";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.22.tgz";
+        sha512 = "1fdqcacbfr3yxs5i2kj9kn06lgx2a9yfrdps0hsmw96p1slawiqp3qyfnqczp570wbbi5sr8valqyll05a5gzj3ahppnkl32waaf26l";
+      };
+    };
     "iconv-lite-0.4.8" = {
       name = "iconv-lite";
       packageName = "iconv-lite";
@@ -11761,6 +12373,15 @@ let
         sha1 = "c6019a7595f2cefca702eab694a010bcd9298d20";
       };
     };
+    "ieee754-1.1.11" = {
+      name = "ieee754";
+      packageName = "ieee754";
+      version = "1.1.11";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ieee754/-/ieee754-1.1.11.tgz";
+        sha512 = "0g5x1ijy37vzfz46pnh03mxkmdb9d2qd9f8ncy49xj4j9xkks9p0x8s5hnyc7grwh6sryk118rd7w7wz6w0hzyw9agwnavvlc4g642n";
+      };
+    };
     "ieee754-1.1.8" = {
       name = "ieee754";
       packageName = "ieee754";
@@ -11779,13 +12400,13 @@ let
         sha1 = "c60eed69e6d8fdb6b3104a1fcbca1c192dc5b501";
       };
     };
-    "ignore-3.3.7" = {
+    "ignore-3.3.8" = {
       name = "ignore";
       packageName = "ignore";
-      version = "3.3.7";
+      version = "3.3.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ignore/-/ignore-3.3.7.tgz";
-        sha512 = "0f6xhxww989yic6hwdm8mbylcyakfkrrn22a39wdcc9k842xxyyhzfxkmi79s9gjk3rp3h07n265lf4n51z8yafpdm78d617dxbfqb0";
+        url = "https://registry.npmjs.org/ignore/-/ignore-3.3.8.tgz";
+        sha512 = "1pcaabfvizn9sa1m16vdnp2rn54fhkmaw4ayj2vb1amgsjn9w7yw64ac4km7avly142z4gzsgyv8g3im9d1qirlpvg0r18h8k2pwj55";
       };
     };
     "ignore-by-default-1.0.1" = {
@@ -11797,6 +12418,15 @@ let
         sha1 = "48ca6d72f6c6a3af00a9ad4ae6876be3889e2b09";
       };
     };
+    "ignore-walk-3.0.1" = {
+      name = "ignore-walk";
+      packageName = "ignore-walk";
+      version = "3.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.1.tgz";
+        sha512 = "2ajgs5klg786rkdxs37mbxn0p8ah2ai0nj0bjv5vbrfir4y0pvrhxxadv46s8g1hqkq5p3fjssys3n6qvz60p4jzjsgfq683lrnad8d";
+      };
+    };
     "image-size-0.5.5" = {
       name = "image-size";
       packageName = "image-size";
@@ -11959,13 +12589,13 @@ let
         sha512 = "1rjbvf1rg5ywhnba08sgagn2qf23lab330qrqmh7d891zap3xpxcyfyj1cblpf0f0rypglcfacybzyrpd4996aa1mbc820awa33k5j5";
       };
     };
-    "init-package-json-1.10.1" = {
+    "init-package-json-1.10.3" = {
       name = "init-package-json";
       packageName = "init-package-json";
-      version = "1.10.1";
+      version = "1.10.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/init-package-json/-/init-package-json-1.10.1.tgz";
-        sha1 = "cd873a167796befb99612b28762a0b6393fd8f6a";
+        url = "https://registry.npmjs.org/init-package-json/-/init-package-json-1.10.3.tgz";
+        sha512 = "0kkcy07hj1ck8xmwspn6x32k4j1c6j88wr7wq2kxb6cx9rml0b8ncglglkhcz0r7k417fshknm2vzrqm188yp18gdny7gahm1fa596c";
       };
     };
     "ink-0.3.1" = {
@@ -11995,13 +12625,13 @@ let
         sha1 = "f9393471c18a79d1724f863fa38b586370ade2a5";
       };
     };
-    "innertext-1.0.2" = {
+    "innertext-1.0.3" = {
       name = "innertext";
       packageName = "innertext";
-      version = "1.0.2";
+      version = "1.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/innertext/-/innertext-1.0.2.tgz";
-        sha1 = "11a197b3143a593636fba5d59213835e6954580a";
+        url = "https://registry.npmjs.org/innertext/-/innertext-1.0.3.tgz";
+        sha512 = "1ig0sy92zxyzynzi9d4g3wq1286sjs9xx6dpn10lmis6hpjh5266b0v8nzp2ry5x35ybfq9g60qjhy5pfyl26yzkbmv8vn8pv8kabk4";
       };
     };
     "inquirer-0.10.1" = {
@@ -12031,15 +12661,6 @@ let
         sha1 = "dbd740cf6ca3b731296a63ce6f6d961851f336df";
       };
     };
-    "inquirer-1.0.3" = {
-      name = "inquirer";
-      packageName = "inquirer";
-      version = "1.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/inquirer/-/inquirer-1.0.3.tgz";
-        sha1 = "ebe3a0948571bcc46ccccbe2f9bcec251e984bd0";
-      };
-    };
     "inquirer-1.2.3" = {
       name = "inquirer";
       packageName = "inquirer";
@@ -12058,13 +12679,13 @@ let
         sha512 = "1wsmzzva3rfjb4bfks7ba2nvha9ziwgq2kag6xxibc5cc6mz19xbgj4fm3a7ghvfbfx4am0x13ibc8j2s5m3sv12nph44rq56gnvv47";
       };
     };
-    "insert-module-globals-7.0.1" = {
+    "insert-module-globals-7.0.6" = {
       name = "insert-module-globals";
       packageName = "insert-module-globals";
-      version = "7.0.1";
+      version = "7.0.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/insert-module-globals/-/insert-module-globals-7.0.1.tgz";
-        sha1 = "c03bf4e01cb086d5b5e5ace8ad0afe7889d638c3";
+        url = "https://registry.npmjs.org/insert-module-globals/-/insert-module-globals-7.0.6.tgz";
+        sha512 = "3vjhls34i9vc0mm5cxlw6zbp1an494z9kbrrmj4hbv32fw0hx22nfpaj7j8i7lwkqa1sdqidxcfkga1630ya454h8h2ppbbl9s24ys7";
       };
     };
     "insight-0.8.4" = {
@@ -12121,13 +12742,13 @@ let
         sha1 = "96fb0a936c12babd6ff1752a17d05616abd094c6";
       };
     };
-    "invariant-2.2.3" = {
+    "invariant-2.2.4" = {
       name = "invariant";
       packageName = "invariant";
-      version = "2.2.3";
+      version = "2.2.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/invariant/-/invariant-2.2.3.tgz";
-        sha512 = "2s1gvqa56gnq2pkh0yy5ch3pb69dkwxr6myw9r3cc1c55xnrpiwzgc90ns4n9lij9slw0aayzm95k3x3rfrv0m7dnikq39hx0ylz7pd";
+        url = "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz";
+        sha512 = "0sa0bflh46zr7zqdifqk3a48bmqlmpikrnmwvgz8nx6979piw2m92qrn1g5xnpjzxn864y2jq3gl84jkws2dad3mlwr6s3fa10my4m6";
       };
     };
     "invert-kv-1.0.0" = {
@@ -12193,6 +12814,15 @@ let
         sha1 = "e3fa357b773da619f26e95f049d055c72796f86b";
       };
     };
+    "ipaddr.js-1.7.0" = {
+      name = "ipaddr.js";
+      packageName = "ipaddr.js";
+      version = "1.7.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.7.0.tgz";
+        sha1 = "2206ed334afc32e01fed3ee838b6b2521068b9d2";
+      };
+    };
     "irc-replies-2.0.1" = {
       name = "irc-replies";
       packageName = "irc-replies";
@@ -12256,22 +12886,22 @@ let
         sha512 = "1qllik6fjwfq17ic0fxwqyll8mrhmcm36xfsq45xc57mq9ah4i4nn4f8fvgb0gx4kpl3jlpkzndp0xlmmf2mh0xmggw6mhw74fng64v";
       };
     };
-    "is-alphabetical-1.0.1" = {
+    "is-alphabetical-1.0.2" = {
       name = "is-alphabetical";
       packageName = "is-alphabetical";
-      version = "1.0.1";
+      version = "1.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-1.0.1.tgz";
-        sha1 = "c77079cc91d4efac775be1034bf2d243f95e6f08";
+        url = "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-1.0.2.tgz";
+        sha512 = "33gw3lnhmg5snnpbjafj2dnv8f55g5wqmssczl998knajppvmp85gwz712jbk0wcj14np1zmghm3j8lsh0xb6r20pf33k0y2vh4sk2p";
       };
     };
-    "is-alphanumerical-1.0.1" = {
+    "is-alphanumerical-1.0.2" = {
       name = "is-alphanumerical";
       packageName = "is-alphanumerical";
-      version = "1.0.1";
+      version = "1.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-1.0.1.tgz";
-        sha1 = "dfb4aa4d1085e33bdb61c2dee9c80e9c6c19f53b";
+        url = "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-1.0.2.tgz";
+        sha512 = "2r2l14mwrzcvxayr6ib04k4apkpgcs7m41pnw51999y0nld0a8fjhwhvlw2arkda8hf9anc9ld3bxlxgn9psif9ha488x0797zx89x7";
       };
     };
     "is-arguments-1.0.2" = {
@@ -12301,6 +12931,15 @@ let
         sha1 = "c2dfc386abaa0c3e33c48db3fe87059e69065efd";
       };
     };
+    "is-ascii-1.0.0" = {
+      name = "is-ascii";
+      packageName = "is-ascii";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-ascii/-/is-ascii-1.0.0.tgz";
+        sha1 = "f02ad0259a0921cd199ff21ce1b09e0f6b4e3929";
+      };
+    };
     "is-binary-path-1.0.1" = {
       name = "is-binary-path";
       packageName = "is-binary-path";
@@ -12373,13 +13012,13 @@ let
         sha1 = "9aa20eb6aeebbff77fbd33e74ca01b33581d3a16";
       };
     };
-    "is-decimal-1.0.1" = {
+    "is-decimal-1.0.2" = {
       name = "is-decimal";
       packageName = "is-decimal";
-      version = "1.0.1";
+      version = "1.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/is-decimal/-/is-decimal-1.0.1.tgz";
-        sha1 = "f5fb6a94996ad9e8e3761fbfbd091f1fca8c4e82";
+        url = "https://registry.npmjs.org/is-decimal/-/is-decimal-1.0.2.tgz";
+        sha512 = "1g028jya2ymjyzj2gwna1zpajbhhxh2xh2vsi8dp3zzn9a04sgs9vvbcb66gb439mzb95vfpyydhb2h09r7yzhkfbhijwl2cgpfa72d";
       };
     };
     "is-descriptor-0.1.6" = {
@@ -12472,6 +13111,15 @@ let
         sha1 = "a88c02535791f02ed37c76a1b9ea9773c833f8c2";
       };
     };
+    "is-file-1.0.0" = {
+      name = "is-file";
+      packageName = "is-file";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-file/-/is-file-1.0.0.tgz";
+        sha1 = "28a44cfbd9d3db193045f22b65fce8edf9620596";
+      };
+    };
     "is-finite-1.0.2" = {
       name = "is-finite";
       packageName = "is-finite";
@@ -12535,13 +13183,13 @@ let
         sha1 = "9521c76845cc2610a85203ddf080a958c2ffabc0";
       };
     };
-    "is-hexadecimal-1.0.1" = {
+    "is-hexadecimal-1.0.2" = {
       name = "is-hexadecimal";
       packageName = "is-hexadecimal";
-      version = "1.0.1";
+      version = "1.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-1.0.1.tgz";
-        sha1 = "6e084bbc92061fbb0971ec58b6ce6d404e24da69";
+        url = "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-1.0.2.tgz";
+        sha512 = "3y2isd2s41r430x4v5hbln61sibalz4af6wp5alq3svvvsmnlg0bhyjjf8nzmcgvrc49hw8w3r32bisxc90r8ia6z65v98sgcdpzsvf";
       };
     };
     "is-installed-globally-0.1.0" = {
@@ -12553,6 +13201,15 @@ let
         sha1 = "0dfd98f5a9111716dd535dda6492f67bf3d25a80";
       };
     };
+    "is-mergeable-object-1.1.0" = {
+      name = "is-mergeable-object";
+      packageName = "is-mergeable-object";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-mergeable-object/-/is-mergeable-object-1.1.0.tgz";
+        sha512 = "03srgd19nl1p2b2ny8gamq5qvv4k124inq5fzkb1kqxdw9y45fr46g8awmpnx0hgwpfg0blysfms7r8n89sf5183hr2xd8x0l7q7z15";
+      };
+    };
     "is-my-ip-valid-1.0.0" = {
       name = "is-my-ip-valid";
       packageName = "is-my-ip-valid";
@@ -12571,6 +13228,15 @@ let
         sha512 = "29bla4943cs5dks8f307ykpgk5gihgjy158h8nspcxia85gb1lwaxpqywisr7621spdp8j5p4vd3zhfl2csdlihy06w9017b2r42610";
       };
     };
+    "is-natural-number-4.0.1" = {
+      name = "is-natural-number";
+      packageName = "is-natural-number";
+      version = "4.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-natural-number/-/is-natural-number-4.0.1.tgz";
+        sha1 = "ab9d76e1db4ced51e35de0c72ebecf09f734cde8";
+      };
+    };
     "is-negated-glob-1.0.0" = {
       name = "is-negated-glob";
       packageName = "is-negated-glob";
@@ -12661,13 +13327,13 @@ let
         sha1 = "d225ec23132e89edd38fda767472e62e65f1106d";
       };
     };
-    "is-path-in-cwd-1.0.0" = {
+    "is-path-in-cwd-1.0.1" = {
       name = "is-path-in-cwd";
       packageName = "is-path-in-cwd";
-      version = "1.0.0";
+      version = "1.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-1.0.0.tgz";
-        sha1 = "6477582b8214d602346094567003be8a9eac04dc";
+        url = "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-1.0.1.tgz";
+        sha512 = "1lrmbdvciajn2smq4j80qvp3gpkkzqddiyay3xgbzni3gi4vljkawyyw68i6h8m1jfdg4jy8l8c16rlfvr17pnfb314xw5q6m2pad8n";
       };
     };
     "is-path-inside-1.0.1" = {
@@ -12859,13 +13525,13 @@ let
         sha1 = "8a59117d932de1de00f245fcdd39ce43f1e939a6";
       };
     };
-    "is-supported-regexp-flag-1.0.0" = {
+    "is-supported-regexp-flag-1.0.1" = {
       name = "is-supported-regexp-flag";
       packageName = "is-supported-regexp-flag";
-      version = "1.0.0";
+      version = "1.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/is-supported-regexp-flag/-/is-supported-regexp-flag-1.0.0.tgz";
-        sha1 = "8b520c85fae7a253382d4b02652e045576e13bb8";
+        url = "https://registry.npmjs.org/is-supported-regexp-flag/-/is-supported-regexp-flag-1.0.1.tgz";
+        sha512 = "0lrp2yp3bjcq9v1sxn5451bmmnj129aws8g0ym3a2s4wkc2y6ym591pym51dgs2xg7cpid087hvmnvqjr36pp6gm419ibhlqmwhkxyy";
       };
     };
     "is-symbol-1.0.1" = {
@@ -12913,13 +13579,13 @@ let
         sha512 = "2asak63h3kc1vackrpai7qfiv15ndr231w1yc753m1dy7fd6ywxsr0rvh88b9ppyxhmc373fqk89a0pw3dllv7m5nbbbcqzvmaskccs";
       };
     };
-    "is-url-1.2.2" = {
+    "is-url-1.2.4" = {
       name = "is-url";
       packageName = "is-url";
-      version = "1.2.2";
+      version = "1.2.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/is-url/-/is-url-1.2.2.tgz";
-        sha1 = "498905a593bf47cc2d9e7f738372bbf7696c7f26";
+        url = "https://registry.npmjs.org/is-url/-/is-url-1.2.4.tgz";
+        sha512 = "31qfylxnpb1y8vczgi2nh57ayl7s5ppn8iskp21607l6ka7jxq409pf2mvspwnx6pj29b63ldayjgljsbhyc442gfc1i185dy5ccfr1";
       };
     };
     "is-utf8-0.2.1" = {
@@ -12994,6 +13660,15 @@ let
         sha1 = "a37d94ed9cda2d59865c9f76fe596ee1f338741e";
       };
     };
+    "isarray-2.0.4" = {
+      name = "isarray";
+      packageName = "isarray";
+      version = "2.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/isarray/-/isarray-2.0.4.tgz";
+        sha512 = "1l996rw6ql1ypf4jvy0yhl3d08zislzsxc0lgbc4hh3kb4qzlxqv29d9nblq9ai6lkiwvxfgynknk8j6j9qm49jqlsnib924lx5gk0q";
+      };
+    };
     "isbinaryfile-3.0.2" = {
       name = "isbinaryfile";
       packageName = "isbinaryfile";
@@ -13111,13 +13786,13 @@ let
         sha1 = "9c80e538c12d3fb95c8d9bb9559fa0cc040405fd";
       };
     };
-    "jaeger-client-3.9.1" = {
+    "jaeger-client-3.10.0" = {
       name = "jaeger-client";
       packageName = "jaeger-client";
-      version = "3.9.1";
+      version = "3.10.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/jaeger-client/-/jaeger-client-3.9.1.tgz";
-        sha1 = "27a7954cf390e279ba9ad503cfed01ce171b15a1";
+        url = "https://registry.npmjs.org/jaeger-client/-/jaeger-client-3.10.0.tgz";
+        sha1 = "ad0e830ead7aabad2601a52a7e463f0d942b0091";
       };
     };
     "jed-1.1.1" = {
@@ -13174,6 +13849,24 @@ let
         sha1 = "4d50c318079122000fe5f16af1ff8e1917b77e06";
       };
     };
+    "jquery-3.3.1" = {
+      name = "jquery";
+      packageName = "jquery";
+      version = "3.3.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/jquery/-/jquery-3.3.1.tgz";
+        sha512 = "0d5v4s4626l13llvp6hq5wlghysf7lmfxpp0x0ymvcrvikz2xmyrag81wxndb9fy48mx61gcdlbmdwln78s43givdwpmrk9dir5vfai";
+      };
+    };
+    "jquery-ui-1.12.1" = {
+      name = "jquery-ui";
+      packageName = "jquery-ui";
+      version = "1.12.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/jquery-ui/-/jquery-ui-1.12.1.tgz";
+        sha1 = "bcb4045c8dd0539c134bc1488cdd3e768a7a9e51";
+      };
+    };
     "js-select-0.6.0" = {
       name = "js-select";
       packageName = "js-select";
@@ -13228,6 +13921,15 @@ let
         sha512 = "0h26sq1bwxc45bm0hvlcadrbk4bizzaw729wvw690ya7mpys45bqfzdqwhjkdrnq0i44dzxckykz4bix22jfdyfg1asybg3yzczjsrv";
       };
     };
+    "js-yaml-3.11.0" = {
+      name = "js-yaml";
+      packageName = "js-yaml";
+      version = "3.11.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/js-yaml/-/js-yaml-3.11.0.tgz";
+        sha512 = "0gka65n4d9gmcy0c8cy5h55r273dbxnw54gibp2nq5mmdmksjgb2nhcdfgfxs1wg3yayyrydn2v79fny7hdyq907dg87vmgjnsnr8mi";
+      };
+    };
     "js2xmlparser-1.0.0" = {
       name = "js2xmlparser";
       packageName = "js2xmlparser";
@@ -13291,15 +13993,6 @@ let
         sha1 = "1e60b0fef1bc0af67bc0d146dfdde5486cd615b4";
       };
     };
-    "json-loader-0.5.7" = {
-      name = "json-loader";
-      packageName = "json-loader";
-      version = "0.5.7";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/json-loader/-/json-loader-0.5.7.tgz";
-        sha512 = "3iwy9jwca9hg6h1k7cmcdlsygn2qzjv7w72fsrfjfpdrcyd4xc5fb11sf664rvnzrfmz24f19kvi3qawif4n63lggvpg5pv73qfrcs0";
-      };
-    };
     "json-merge-patch-0.2.3" = {
       name = "json-merge-patch";
       packageName = "json-merge-patch";
@@ -13309,13 +14002,13 @@ let
         sha1 = "fa2c6b5af87da77bae2966a589d52e23ed81fe40";
       };
     };
-    "json-parse-better-errors-1.0.1" = {
+    "json-parse-better-errors-1.0.2" = {
       name = "json-parse-better-errors";
       packageName = "json-parse-better-errors";
-      version = "1.0.1";
+      version = "1.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.1.tgz";
-        sha512 = "05ndp7b03ikx2vqivfxlm6c73yagjyrdp22ay8z592pqxldbsm7hjzpa3asal2vys99lvirqar3ly3sb1ibhhngls4sqc4nwp2jj967";
+        url = "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz";
+        sha512 = "2pv1kaf7gjr0bhr2djaf1i88li7q3v5daz4zm4hz57i4h21jgryihxb5c2h0p0q1vrq1ffyg279hp0vjrg73shvxr5lir6plxjb5fls";
       };
     };
     "json-parse-helpfulerror-1.0.3" = {
@@ -13642,6 +14335,15 @@ let
         sha1 = "b88f3a7b2e67a2a048152982c7a3756d9c4828f0";
       };
     };
+    "junk-2.1.0" = {
+      name = "junk";
+      packageName = "junk";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/junk/-/junk-2.1.0.tgz";
+        sha1 = "f431b4b7f072dc500a5f10ce7f4ec71930e70134";
+      };
+    };
     "just-detect-adblock-1.0.0" = {
       name = "just-detect-adblock";
       packageName = "just-detect-adblock";
@@ -13705,6 +14407,15 @@ let
         sha512 = "2dkl580azs1f5pj72mpygwdcc2mh4p355sxi84ki1w9c6k226nmjfglq5b7zgk5gmpfjammx5xliirzaf2nh9kyhqdb1xpvhjlic34j";
       };
     };
+    "k-bucket-4.0.0" = {
+      name = "k-bucket";
+      packageName = "k-bucket";
+      version = "4.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/k-bucket/-/k-bucket-4.0.0.tgz";
+        sha512 = "04i173zw3l2aagsnywafmgs87wzhhkakvnhcfvxbnbmn7rz37rkqkryc8d6x8dccqlmvgawb2vhd49ms8s2wkbg3dh3qlffamzcpshk";
+      };
+    };
     "k-rpc-3.7.0" = {
       name = "k-rpc";
       packageName = "k-rpc";
@@ -13714,22 +14425,31 @@ let
         sha1 = "641f99b2825be34b6e7984f22b7962dc1a906c23";
       };
     };
-    "k-rpc-4.2.1" = {
+    "k-rpc-4.3.1" = {
       name = "k-rpc";
       packageName = "k-rpc";
-      version = "4.2.1";
+      version = "4.3.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/k-rpc/-/k-rpc-4.2.1.tgz";
-        sha512 = "2nbjxg0x7jsa14zhvx68w1vri68hsxzbxz7b7ap76fdp0jkrgna2rq636yxnax04f3f8i2ambj2fpan6qli6vixmfryz78vrapdip8n";
+        url = "https://registry.npmjs.org/k-rpc/-/k-rpc-4.3.1.tgz";
+        sha512 = "0a7k7qcmcik3dwcjd6f0ngq3i3pdz1cc7xz9ck30gd65nd0ylmgx0kf6b686qd1kk32v3rcila2hdj12cnrjwrjqzs96vjqw5jhj04s";
       };
     };
-    "k-rpc-socket-1.7.2" = {
+    "k-rpc-5.0.0" = {
+      name = "k-rpc";
+      packageName = "k-rpc";
+      version = "5.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/k-rpc/-/k-rpc-5.0.0.tgz";
+        sha512 = "3frk0pf1y988y12m54vkfa2anc0mg6p4yiq5ca8pkvwb56g8n9n58j7f4gh3rnjgw8xb5ib8gc54nmgk8mlsbjm6azf8c2z0ynzc8dw";
+      };
+    };
+    "k-rpc-socket-1.8.0" = {
       name = "k-rpc-socket";
       packageName = "k-rpc-socket";
-      version = "1.7.2";
+      version = "1.8.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/k-rpc-socket/-/k-rpc-socket-1.7.2.tgz";
-        sha512 = "02w1ih1lh86i5ap7c3dy2ml7g5a11r0w300iyxdf6v02qr0j1x3vf78hx5q9dgg3drifab018mgm851m457zzzi05i2z2r1s3zlflc3";
+        url = "https://registry.npmjs.org/k-rpc-socket/-/k-rpc-socket-1.8.0.tgz";
+        sha512 = "0pc9bjnmgfjcgh49lclvz5qnlkzypgirlx5ji2nx15vfn00gwczy5hvfahcxdzcdqsjlwh7q8jw4zj8abdk8qx2cwiqdw8fgg557zvz";
       };
     };
     "kad-fs-0.0.4" = {
@@ -13904,31 +14624,31 @@ let
         sha1 = "59c128e0dc5ce410201151194eeb9cbf858650f6";
       };
     };
-    "knockout-3.5.0-beta" = {
+    "knockout-3.5.0-rc" = {
       name = "knockout";
       packageName = "knockout";
-      version = "3.5.0-beta";
+      version = "3.5.0-rc";
       src = fetchurl {
-        url = "https://registry.npmjs.org/knockout/-/knockout-3.5.0-beta.tgz";
-        sha512 = "2qh1bqb9lj7l92pwcrwmpcanbyn65rmni3swyv6hrphn7xbaw8mkir3w67sf4ardk1iqvz9waalq2wf2rgpvvblhva2n2hssq6as6yr";
+        url = "https://registry.npmjs.org/knockout/-/knockout-3.5.0-rc.tgz";
+        sha512 = "2nys4zw0rwz0601pzq748gvs8x78n570f2j00ggwakyhbzpdgm90ivscnaym52hf226isgqfdjikxr0nig0hbb28d1xf3s1kpks24vr";
       };
     };
-    "kuduscript-1.0.15" = {
+    "kuduscript-1.0.16" = {
       name = "kuduscript";
       packageName = "kuduscript";
-      version = "1.0.15";
+      version = "1.0.16";
       src = fetchurl {
-        url = "https://registry.npmjs.org/kuduscript/-/kuduscript-1.0.15.tgz";
-        sha1 = "2721f05aa6876534cd30d6ded9418651cadfaa21";
+        url = "https://registry.npmjs.org/kuduscript/-/kuduscript-1.0.16.tgz";
+        sha512 = "2pws4jvqqdysxbqb5bw1m67wklk7lrxl293q5w9cd58drz6jzs4qzgiy6gg7dzx9m2pgn9kqxns8pw445d68ncqk2nxpdcimnnsbszv";
       };
     };
-    "labeled-stream-splicer-2.0.0" = {
+    "labeled-stream-splicer-2.0.1" = {
       name = "labeled-stream-splicer";
       packageName = "labeled-stream-splicer";
-      version = "2.0.0";
+      version = "2.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/labeled-stream-splicer/-/labeled-stream-splicer-2.0.0.tgz";
-        sha1 = "a52e1d138024c00b86b1c0c91f677918b8ae0a59";
+        url = "https://registry.npmjs.org/labeled-stream-splicer/-/labeled-stream-splicer-2.0.1.tgz";
+        sha512 = "0z3ssjaq1bx4j1dcysbbmsnq24zglv2gdsm3by6dr34w10jrlg06rrh3l7qa8a3ch7ag9gmkjfrw6m448sra299gz5rvg2ifsc7hbrh";
       };
     };
     "last-one-wins-1.0.4" = {
@@ -13949,15 +14669,6 @@ let
         sha1 = "72cfc46e3e8d1be651e1ebb54ea9f6ea96f374bb";
       };
     };
-    "latest-version-2.0.0" = {
-      name = "latest-version";
-      packageName = "latest-version";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/latest-version/-/latest-version-2.0.0.tgz";
-        sha1 = "56f8d6139620847b8017f8f1f4d78e211324168b";
-      };
-    };
     "latest-version-3.1.0" = {
       name = "latest-version";
       packageName = "latest-version";
@@ -13994,15 +14705,6 @@ let
         sha1 = "a1d78fc3a50474cb80845d3b3b6e1da49a446e8e";
       };
     };
-    "lazy-cache-2.0.2" = {
-      name = "lazy-cache";
-      packageName = "lazy-cache";
-      version = "2.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/lazy-cache/-/lazy-cache-2.0.2.tgz";
-        sha1 = "b9190a4f913354694840859f8a8f7084d8822264";
-      };
-    };
     "lazystream-1.0.0" = {
       name = "lazystream";
       packageName = "lazystream";
@@ -14129,6 +14831,15 @@ let
         sha1 = "9144b6eebca5f1d0680169f1a6770dcea60b75c3";
       };
     };
+    "leven-2.1.0" = {
+      name = "leven";
+      packageName = "leven";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/leven/-/leven-2.1.0.tgz";
+        sha1 = "c2e7a9f772094dee9d34202ae8acce4687875580";
+      };
+    };
     "levn-0.3.0" = {
       name = "levn";
       packageName = "levn";
@@ -14264,6 +14975,15 @@ let
         sha512 = "0r82qh90jnyg6hlqn2yni36q942y4qn6rc0rydmbsy7x1lr00a0pddw2lg8xixcjh6wnrsfb5q76m51fac7vanrz0cawsw6azy78m4g";
       };
     };
+    "load-ip-set-1.3.1" = {
+      name = "load-ip-set";
+      packageName = "load-ip-set";
+      version = "1.3.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/load-ip-set/-/load-ip-set-1.3.1.tgz";
+        sha1 = "cfd050c6916e7ba0ca85d0b566e7854713eb495e";
+      };
+    };
     "load-json-file-1.1.0" = {
       name = "load-json-file";
       packageName = "load-json-file";
@@ -14318,13 +15038,22 @@ let
         sha1 = "2b568b265eec944c6d9c0de9c3dbbbca0354cd8e";
       };
     };
-    "lockfile-1.0.3" = {
+    "lockfile-1.0.4" = {
       name = "lockfile";
       packageName = "lockfile";
-      version = "1.0.3";
+      version = "1.0.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/lockfile/-/lockfile-1.0.3.tgz";
-        sha1 = "2638fc39a0331e9cac1a04b71799931c9c50df79";
+        url = "https://registry.npmjs.org/lockfile/-/lockfile-1.0.4.tgz";
+        sha512 = "1c3gz9fvn9lz8b2whpi7cifz94b28c4gglngjhlcsfgmgbv0093pdkb4865hv6f2dyypr32f7am9ajrhrbjzv3iw9hw2zni8k0d7xkj";
+      };
+    };
+    "locks-0.2.2" = {
+      name = "locks";
+      packageName = "locks";
+      version = "0.2.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/locks/-/locks-0.2.2.tgz";
+        sha1 = "259933d1327cbaf0fd3662f8fffde36809d84ced";
       };
     };
     "lodash-1.0.2" = {
@@ -14390,6 +15119,15 @@ let
         sha1 = "bbccce6373a400fbfd0a8c67ca42f6d1ef416432";
       };
     };
+    "lodash-4.17.10" = {
+      name = "lodash";
+      packageName = "lodash";
+      version = "4.17.10";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz";
+        sha512 = "1ba5b80jjzwrh9fbdk5ywv8sic0dynij21wgrfxsfjzwvwd7x1n6azdhdc0vjdxqmcpm0mhshd1k7n2ascxpz00z3p8a3k97mwg1s2i";
+      };
+    };
     "lodash-4.17.5" = {
       name = "lodash";
       packageName = "lodash";
@@ -14615,24 +15353,6 @@ let
         sha1 = "d09178716ffea4dde9e5fb7b37f6f0802274580c";
       };
     };
-    "lodash.defaultsdeep-4.6.0" = {
-      name = "lodash.defaultsdeep";
-      packageName = "lodash.defaultsdeep";
-      version = "4.6.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/lodash.defaultsdeep/-/lodash.defaultsdeep-4.6.0.tgz";
-        sha1 = "bec1024f85b1bd96cbea405b23c14ad6443a6f81";
-      };
-    };
-    "lodash.endswith-4.2.1" = {
-      name = "lodash.endswith";
-      packageName = "lodash.endswith";
-      version = "4.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/lodash.endswith/-/lodash.endswith-4.2.1.tgz";
-        sha1 = "fed59ac1738ed3e236edd7064ec456448b37bc09";
-      };
-    };
     "lodash.escape-3.2.0" = {
       name = "lodash.escape";
       packageName = "lodash.escape";
@@ -14687,6 +15407,15 @@ let
         sha1 = "1a6a35eace401280c7f06dddec35165ab27e3e53";
       };
     };
+    "lodash.get-4.4.2" = {
+      name = "lodash.get";
+      packageName = "lodash.get";
+      version = "4.4.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz";
+        sha1 = "2d177f652fa31e939b4438d5341499dfa3825e99";
+      };
+    };
     "lodash.groupby-4.6.0" = {
       name = "lodash.groupby";
       packageName = "lodash.groupby";
@@ -14696,6 +15425,15 @@ let
         sha1 = "0b08a1dcf68397c397855c3239783832df7403d1";
       };
     };
+    "lodash.has-4.5.2" = {
+      name = "lodash.has";
+      packageName = "lodash.has";
+      version = "4.5.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lodash.has/-/lodash.has-4.5.2.tgz";
+        sha1 = "d19f4dc1095058cccbe2b0cdf4ee0fe4aa37c862";
+      };
+    };
     "lodash.isarguments-3.1.0" = {
       name = "lodash.isarguments";
       packageName = "lodash.isarguments";
@@ -14723,15 +15461,6 @@ let
         sha1 = "415c4478f2bcc30120c22ce10ed3226f7d3e18e0";
       };
     };
-    "lodash.isfunction-3.0.9" = {
-      name = "lodash.isfunction";
-      packageName = "lodash.isfunction";
-      version = "3.0.9";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/lodash.isfunction/-/lodash.isfunction-3.0.9.tgz";
-        sha512 = "0ki8njk33gc8ayf2vmnx2jrfdapwckm7dx2z4zn1ik07hwgwx5zb3fsi9mlamhg6rnj1qlvfwsbg2074x19x8gq60615fbr7lvdfah2";
-      };
-    };
     "lodash.isplainobject-4.0.6" = {
       name = "lodash.isplainobject";
       packageName = "lodash.isplainobject";
@@ -14867,6 +15596,15 @@ let
         sha1 = "936a4e309ef330a7645ed4145986c85ae5b20805";
       };
     };
+    "lodash.set-4.3.2" = {
+      name = "lodash.set";
+      packageName = "lodash.set";
+      version = "4.3.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lodash.set/-/lodash.set-4.3.2.tgz";
+        sha1 = "d8757b1da807dde24816b0d6a84bea1a76230b23";
+      };
+    };
     "lodash.some-4.6.0" = {
       name = "lodash.some";
       packageName = "lodash.some";
@@ -14885,15 +15623,6 @@ let
         sha1 = "edd14c824e2cc9c1e0b0a1b42bb5210516a42438";
       };
     };
-    "lodash.startswith-4.2.1" = {
-      name = "lodash.startswith";
-      packageName = "lodash.startswith";
-      version = "4.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/lodash.startswith/-/lodash.startswith-4.2.1.tgz";
-        sha1 = "c598c4adce188a27e53145731cdc6c0e7177600c";
-      };
-    };
     "lodash.template-3.6.2" = {
       name = "lodash.template";
       packageName = "lodash.template";
@@ -14939,6 +15668,15 @@ let
         sha1 = "c23e91b710242ac70c37f1e1cda9274cc39bf2f4";
       };
     };
+    "lodash.uniq-4.5.0" = {
+      name = "lodash.uniq";
+      packageName = "lodash.uniq";
+      version = "4.5.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz";
+        sha1 = "d0225373aeb652adc1bc82e4945339a842754773";
+      };
+    };
     "log-symbols-1.0.2" = {
       name = "log-symbols";
       packageName = "log-symbols";
@@ -14993,13 +15731,13 @@ let
         sha1 = "0a0fc1d3fa3a5ec44fdc7b897beba2a4695cebee";
       };
     };
-    "lokijs-1.5.2" = {
+    "lokijs-1.5.3" = {
       name = "lokijs";
       packageName = "lokijs";
-      version = "1.5.2";
+      version = "1.5.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/lokijs/-/lokijs-1.5.2.tgz";
-        sha1 = "75d43df21232f1d5479d191a69b6ebf61754a873";
+        url = "https://registry.npmjs.org/lokijs/-/lokijs-1.5.3.tgz";
+        sha1 = "6952722ffa3049a55a5e1c10ee4a0947a3e5e19b";
       };
     };
     "long-2.4.0" = {
@@ -15065,6 +15803,15 @@ let
         sha1 = "d1a8ad33fa9ce0e713d65fdd0ac8b748d478c848";
       };
     };
+    "lossless-json-1.0.2" = {
+      name = "lossless-json";
+      packageName = "lossless-json";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lossless-json/-/lossless-json-1.0.2.tgz";
+        sha512 = "2aa3jc0qwf051bd2qwy43qzyfhh8cnqd419qg8cscni65ancjabyrradx3m06r6k84b8r4fc58khm4n6bhk8bpmf282qln79kzpfvfp";
+      };
+    };
     "loud-rejection-1.6.0" = {
       name = "loud-rejection";
       packageName = "loud-rejection";
@@ -15101,6 +15848,15 @@ let
         sha1 = "4e3366b39e7f5457e35f1324bdf6f88d0bfc7306";
       };
     };
+    "lowercase-keys-1.0.1" = {
+      name = "lowercase-keys";
+      packageName = "lowercase-keys";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz";
+        sha512 = "1a7qa1zn5zl1nf7i6w3299lc3biabfb0w2c30cl770l2dbldvi72nwvjdlinhx7j0ldip82sj710aprdjbmbg782i2pa3jpbgmy6qhv";
+      };
+    };
     "lru-2.0.1" = {
       name = "lru";
       packageName = "lru";
@@ -15128,6 +15884,15 @@ let
         sha1 = "ec2bba603f4c5bb3e7a1bf62ce1c1dbc1d474e08";
       };
     };
+    "lru-cache-2.2.4" = {
+      name = "lru-cache";
+      packageName = "lru-cache";
+      version = "2.2.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lru-cache/-/lru-cache-2.2.4.tgz";
+        sha1 = "6c658619becf14031d0d0b594b16042ce4dc063d";
+      };
+    };
     "lru-cache-2.5.2" = {
       name = "lru-cache";
       packageName = "lru-cache";
@@ -15164,22 +15929,13 @@ let
         sha1 = "71789b3b7f5399bec8565dda38aa30d2a097efee";
       };
     };
-    "lru-cache-4.1.1" = {
+    "lru-cache-4.1.2" = {
       name = "lru-cache";
       packageName = "lru-cache";
-      version = "4.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.1.tgz";
-        sha512 = "1xz91sizgyzh8plz5jx1labzpygapm6xy3qpxriaj00yvnhy4lnmhqcb20qln4lh80c5g3yzp4j5i6g63njq1r5sl9c0zlkh9xjk2xb";
-      };
-    };
-    "lsmod-1.0.0" = {
-      name = "lsmod";
-      packageName = "lsmod";
-      version = "1.0.0";
+      version = "4.1.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/lsmod/-/lsmod-1.0.0.tgz";
-        sha1 = "9a00f76dca36eb23fa05350afe1b585d4299e64b";
+        url = "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.2.tgz";
+        sha512 = "1whynbvy3pbwcpkxk6rqhsymj2h3bh7p13nfhs9ch6hfx96vrh86j7vd4lqcaqjy5dhsfjps6sh2wqndh269wjz42khbh6339g9a1y2";
       };
     };
     "ltgt-1.0.2" = {
@@ -15326,13 +16082,13 @@ let
         sha1 = "df0388fcd0b37816dff0a5fb8108939777dcbc9d";
       };
     };
-    "make-iterator-1.0.0" = {
+    "make-iterator-1.0.1" = {
       name = "make-iterator";
       packageName = "make-iterator";
-      version = "1.0.0";
+      version = "1.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/make-iterator/-/make-iterator-1.0.0.tgz";
-        sha1 = "57bef5dc85d23923ba23767324d8e8f8f3d9694b";
+        url = "https://registry.npmjs.org/make-iterator/-/make-iterator-1.0.1.tgz";
+        sha512 = "2dhd467iqwi8rmdzm8m0921z2mmixbdbpp9hvk02f5z6k1k2324k5l971x6j46mlq8nbixf21znq376dj431jnfajxllm123mgaw657";
       };
     };
     "map-cache-0.2.2" = {
@@ -15443,13 +16199,13 @@ let
         sha1 = "0e2cba81390b0549a9153ec3b0d915b61c164be7";
       };
     };
-    "marked-0.3.17" = {
+    "marked-0.3.19" = {
       name = "marked";
       packageName = "marked";
-      version = "0.3.17";
+      version = "0.3.19";
       src = fetchurl {
-        url = "https://registry.npmjs.org/marked/-/marked-0.3.17.tgz";
-        sha512 = "2cw4hwy4hyxspppby5ww0sljhyg0nhlgy0aamqvf7nrhg4vyrgyp8ah52pz99rr8pvsjk3h9z9q8fhrlqaixw5kgk2si5yrr0v9n0pq";
+        url = "https://registry.npmjs.org/marked/-/marked-0.3.19.tgz";
+        sha512 = "2940np3jq9midbdw8mhfry1msy3572i2gj0y3z9c8z1dyrdhxg1rivcxhgihpqs6gihqnzgdhbgmgsabm2ch7gzbvf16dxacccrxbbr";
       };
     };
     "matcher-collection-1.0.5" = {
@@ -15461,6 +16217,15 @@ let
         sha512 = "1hfvbsx85xqrw6g0k7rkqwngl8b2nwj92ax10ilx3b4lma2mcp8q6zpvam1sffgqsssa9d13cj7prrzg5c00mf0c8q92w59m36ach4x";
       };
     };
+    "md5-2.2.1" = {
+      name = "md5";
+      packageName = "md5";
+      version = "2.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/md5/-/md5-2.2.1.tgz";
+        sha1 = "53ab38d5fe3c8891ba465329ea23fac0540126f9";
+      };
+    };
     "md5.js-1.3.4" = {
       name = "md5.js";
       packageName = "md5.js";
@@ -15470,13 +16235,22 @@ let
         sha1 = "e9bdbde94a20a5ac18b04340fc5764d5b09d901d";
       };
     };
-    "mdn-data-1.1.0" = {
+    "mdn-data-1.1.2" = {
       name = "mdn-data";
       packageName = "mdn-data";
-      version = "1.1.0";
+      version = "1.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mdn-data/-/mdn-data-1.1.2.tgz";
+        sha512 = "3x1bk7zqpzy2m8cc3qv575crg71dgj4mb0vl7nq4g3y8bjl2hw0qv2c6ss1iss6gpdrslaif4yp7ggrf0ldiplmk2ld4p9yhmzsljhx";
+      };
+    };
+    "mdns-js-0.5.0" = {
+      name = "mdns-js";
+      packageName = "mdns-js";
+      version = "0.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mdn-data/-/mdn-data-1.1.0.tgz";
-        sha512 = "3av1cblh8aix05jyfib9mhm57qx8fnkxgxs2g493mdm4815pisrn8rzgf9yxjiww6psa619aa8l62xigrbwfcag741bgls227f82blc";
+        url = "https://registry.npmjs.org/mdns-js/-/mdns-js-0.5.0.tgz";
+        sha1 = "4c8abb6ba7cabdc892d39228c3faa2556e09cf87";
       };
     };
     "mdns-js-1.0.1" = {
@@ -15488,6 +16262,15 @@ let
         sha512 = "0z9rixsyb1m6w2qjqimn0ga0qdcpnxnm0ci7zd0svzd9kivqds0zczf7r32064r8c32m94cs3lrcvwvg21d7x2s38f28r5874rjs0bp";
       };
     };
+    "mdns-js-packet-0.2.0" = {
+      name = "mdns-js-packet";
+      packageName = "mdns-js-packet";
+      version = "0.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mdns-js-packet/-/mdns-js-packet-0.2.0.tgz";
+        sha1 = "642409e8183c7561cc60615bbd1420ec2fad7616";
+      };
+    };
     "mdurl-1.0.1" = {
       name = "mdurl";
       packageName = "mdurl";
@@ -15506,6 +16289,15 @@ let
         sha1 = "8710d7af0aa626f8fffa1ce00168545263255748";
       };
     };
+    "mediasource-2.2.0" = {
+      name = "mediasource";
+      packageName = "mediasource";
+      version = "2.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mediasource/-/mediasource-2.2.0.tgz";
+        sha512 = "2y4j45xwbrb5cd7b66ndvk5hqy18slbkcvji5krlcg07vpszsrvz732y2ih9li0wn9qh56rx5fz6qb3kdnx877b0snjxhgyj74jlicg";
+      };
+    };
     "mediawiki-title-0.6.5" = {
       name = "mediawiki-title";
       packageName = "mediawiki-title";
@@ -15542,6 +16334,15 @@ let
         sha1 = "a15ed0b6a8f216848d80a75c0fe8dd0bad89b608";
       };
     };
+    "memory-chunk-store-1.3.0" = {
+      name = "memory-chunk-store";
+      packageName = "memory-chunk-store";
+      version = "1.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/memory-chunk-store/-/memory-chunk-store-1.3.0.tgz";
+        sha512 = "0sgs9s743559yps61abf9vnw58jgcig5rj15y47q4dsv7bjfj4i138ycgwd384nsqnbbri9p8xm4jq986bkirhi5qmid1wafaj0xfz8";
+      };
+    };
     "memory-fs-0.3.0" = {
       name = "memory-fs";
       packageName = "memory-fs";
@@ -15587,13 +16388,13 @@ let
         sha1 = "72cb668b425228290abbfa856892587308a801fb";
       };
     };
-    "meow-4.0.0" = {
+    "meow-4.0.1" = {
       name = "meow";
       packageName = "meow";
-      version = "4.0.0";
+      version = "4.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/meow/-/meow-4.0.0.tgz";
-        sha512 = "2rvzq4615rj5x6za96as8f2xx6zs8m8lzraql20fiv5kr03dm9cy3zqq93ccryl42j9mp2n846pmdpkkh79i15962pnxrppbmxf9vri";
+        url = "https://registry.npmjs.org/meow/-/meow-4.0.1.tgz";
+        sha512 = "3y4j4aqwlphwsfw770c3x06m26vd7lx810g9q39qdg1gsl1hilx48qfig40d9h3i3nj4pc66w1qg6xsmd9g7fyg77darwsr7qf83i65";
       };
     };
     "merge-1.2.0" = {
@@ -15659,6 +16460,15 @@ let
         sha1 = "401fdec7ec21cdb9e03cd3d3021398da21b27085";
       };
     };
+    "metalsmith-2.3.0" = {
+      name = "metalsmith";
+      packageName = "metalsmith";
+      version = "2.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/metalsmith/-/metalsmith-2.3.0.tgz";
+        sha1 = "833afbb5a2a6385e2d9ae3d935e39e33eaea5231";
+      };
+    };
     "method-override-2.3.10" = {
       name = "method-override";
       packageName = "method-override";
@@ -15704,13 +16514,13 @@ let
         sha1 = "5529a4d67654134edcc5266656835b0f851afcee";
       };
     };
-    "micro-9.1.0" = {
+    "micro-9.1.4" = {
       name = "micro";
       packageName = "micro";
-      version = "9.1.0";
+      version = "9.1.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/micro/-/micro-9.1.0.tgz";
-        sha512 = "232sjz2wv3xlfz5wf20jihj8avic507avydzwcf4d8zgy07ha9x3pqc6xkw0y8bjk8f8w30fmih38gsdvz7ph92c4kj4cxxfinph2nh";
+        url = "https://registry.npmjs.org/micro/-/micro-9.1.4.tgz";
+        sha512 = "0zajgsz4m4z0cbibs2vz4brzp6ihq647id9zq67lrcy6nkc9fzjc8fx4g1bsf6nnbjha22fi5sz7lmfq46qixcz807v1p5pjd13kr6r";
       };
     };
     "micro-compress-1.0.0" = {
@@ -15740,13 +16550,13 @@ let
         sha1 = "86677c97d1720b363431d04d0d15293bd38c1565";
       };
     };
-    "micromatch-3.1.9" = {
+    "micromatch-3.1.10" = {
       name = "micromatch";
       packageName = "micromatch";
-      version = "3.1.9";
+      version = "3.1.10";
       src = fetchurl {
-        url = "https://registry.npmjs.org/micromatch/-/micromatch-3.1.9.tgz";
-        sha512 = "3vfciram7xbwcwvhii8960vnvf3jczn092sfbfgx1vivk3scvkm9znjnbq2ppywg9h8i86d8vq3ha4c9a3jllaian0gcl7rrgm36lja";
+        url = "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz";
+        sha512 = "1r9rsac8gdslsplya0cnzyk6q0bh7m0wnxccdisacr5327k5k0v6f48dzp0022z8qqpzpvxw7sv1gzhvrqn6v5sz7qcvx37by1a8s1i";
       };
     };
     "miller-rabin-4.0.1" = {
@@ -15812,6 +16622,15 @@ let
         sha512 = "1x901mk5cdib4xp27v4ivwwr7mhy64r4rk953bzivi5p9lf2bhw88ra2rhkd254xkdx2d3q30zkq239vc4yx4pfsj4hpys8rbr6fif7";
       };
     };
+    "mime-2.3.1" = {
+      name = "mime";
+      packageName = "mime";
+      version = "2.3.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mime/-/mime-2.3.1.tgz";
+        sha512 = "1xa7b4k7mp4apq8mvj7912m38gzbcbbddaa92lmbb9cbs08z0b2a4x3kds1sr86br6x6r19kygscf20ky6g6wyx313x1jb8qnajai9q";
+      };
+    };
     "mime-db-1.12.0" = {
       name = "mime-db";
       packageName = "mime-db";
@@ -15893,13 +16712,13 @@ let
         sha1 = "d2d0f1887ca363d1acf0ea86d5c4df293b3fb675";
       };
     };
-    "minimalistic-assert-1.0.0" = {
+    "minimalistic-assert-1.0.1" = {
       name = "minimalistic-assert";
       packageName = "minimalistic-assert";
-      version = "1.0.0";
+      version = "1.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.0.tgz";
-        sha1 = "702be2dda6b37f4836bcb3f5db56641b64a1d3d3";
+        url = "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz";
+        sha512 = "3y39pa1xxg7j49vya7xca4p1mg89d0df56hj4yjhpyhmza3g5qvpgp11xs11wkd48zzy7ym970jfbn0ppimmczpijns249j7q05rljj";
       };
     };
     "minimalistic-crypto-utils-1.0.1" = {
@@ -16010,13 +16829,13 @@ let
         sha512 = "1slngp5z9rczjirv9lpdwiv1ap4xmp28jxl4r0i5hpds1khlm89qp70ziz8k5h2vwjph6srjqi3gb2yrwwsnnwli6p8yxvlyx7nn80p";
       };
     };
-    "minipass-2.2.1" = {
+    "minipass-2.3.0" = {
       name = "minipass";
       packageName = "minipass";
-      version = "2.2.1";
+      version = "2.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/minipass/-/minipass-2.2.1.tgz";
-        sha512 = "3yy9s65iwrx5hndcqbxrks88xi9cf8hra6zalgf8xfr4ahpp31s0i8lv6jpyb42p0y7z55ac3390sbqxcgcvan3xls449agbjb98mmv";
+        url = "https://registry.npmjs.org/minipass/-/minipass-2.3.0.tgz";
+        sha512 = "1p0pbj1iwnzb7kkqbh5h0vd6byh1l6na1yx69qmbb0wbmwm0qc5g4hn4z6lr8wkzb4kybvd1hjm4hxd93nrdr8ydbqqd9wd1w9bcq4d";
       };
     };
     "minizlib-1.1.0" = {
@@ -16028,13 +16847,13 @@ let
         sha512 = "2agpbdf9h90nhafdam3jwrw8gcz3jw1i40cx6bhwaw8qaf2s863gi2b77l73dc3hmf5dx491hv5km1rqzabgsbpkjxrvdcwy6pr8gp1";
       };
     };
-    "mirror-folder-2.1.1" = {
+    "mirror-folder-2.2.0" = {
       name = "mirror-folder";
       packageName = "mirror-folder";
-      version = "2.1.1";
+      version = "2.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mirror-folder/-/mirror-folder-2.1.1.tgz";
-        sha1 = "1ad3b777b39e403cc27bf52086c23e41ef4c9604";
+        url = "https://registry.npmjs.org/mirror-folder/-/mirror-folder-2.2.0.tgz";
+        sha512 = "3js8pwgmj4lzzi6nzl0wp021rhsnz31jpkkzdf35xzwm1l65m6ygjf4hz77vvy3dk2h5jb2d32nvzy26n3d5hswg3nb8s0rylvv510r";
       };
     };
     "mississippi-2.0.0" = {
@@ -16136,13 +16955,13 @@ let
         sha1 = "f1fa58899f3f452d788f1573401212a4ef898de5";
       };
     };
-    "modify-values-1.0.0" = {
+    "modify-values-1.0.1" = {
       name = "modify-values";
       packageName = "modify-values";
-      version = "1.0.0";
+      version = "1.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/modify-values/-/modify-values-1.0.0.tgz";
-        sha1 = "e2b6cdeb9ce19f99317a53722f3dbf5df5eaaab2";
+        url = "https://registry.npmjs.org/modify-values/-/modify-values-1.0.1.tgz";
+        sha512 = "15hcc3355684n37j7979fs72xj57d71cpl1vbqf3n0nkj3mdairyl91q80xhrhrzlpbxc1yccvqqbh31zv7p4wmilcbl5vswg2rnpf5";
       };
     };
     "module-deps-4.1.1" = {
@@ -16154,13 +16973,22 @@ let
         sha1 = "23215833f1da13fd606ccb8087b44852dcb821fd";
       };
     };
-    "module-deps-6.0.0" = {
+    "module-deps-6.0.2" = {
       name = "module-deps";
       packageName = "module-deps";
-      version = "6.0.0";
+      version = "6.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/module-deps/-/module-deps-6.0.0.tgz";
-        sha512 = "0ri32x2v7ywi8n4h92scc5pq6zlh7mmzbmk0gh2gsh3490w4d9islz1rs0in98cl2h5fl0dfx2dfcad0disnaiqflw46d24ja20raq4";
+        url = "https://registry.npmjs.org/module-deps/-/module-deps-6.0.2.tgz";
+        sha512 = "2zf8ycbhqnh9hc6zd3h5s1ii6bjg41z721ffg760j8i045vjjzpzzg542c02ylkic68p0skw1ss97lwphblcw8rip3ik29x9pglhq19";
+      };
+    };
+    "mold-source-map-0.4.0" = {
+      name = "mold-source-map";
+      packageName = "mold-source-map";
+      version = "0.4.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mold-source-map/-/mold-source-map-0.4.0.tgz";
+        sha1 = "cf67e0b31c47ab9badb5c9c25651862127bb8317";
       };
     };
     "moment-2.1.0" = {
@@ -16199,6 +17027,15 @@ let
         sha512 = "2zc9qgzsrnp9g4jm4qsb1g1h7w5zmnkz8690br52l83yr9kwhch0mh7r2vdhc706jkrqczia9wbrgkscz0x6k8cwmb3r5jifbpp47v2";
       };
     };
+    "moment-2.22.1" = {
+      name = "moment";
+      packageName = "moment";
+      version = "2.22.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/moment/-/moment-2.22.1.tgz";
+        sha512 = "1hzs2jf69lrw76a4diywsl4451qpm3iavk8f324hgb6x3njb64bd77375kwv4ydllzc5cy1v1mabgciln7yhfd9avn7nvcy6i2n84mj";
+      };
+    };
     "moment-2.6.0" = {
       name = "moment";
       packageName = "moment";
@@ -16217,13 +17054,13 @@ let
         sha1 = "359a19ec634cda3c706c8709adda54c0329aaec4";
       };
     };
-    "moment-timezone-0.5.14" = {
+    "moment-timezone-0.5.16" = {
       name = "moment-timezone";
       packageName = "moment-timezone";
-      version = "0.5.14";
+      version = "0.5.16";
       src = fetchurl {
-        url = "https://registry.npmjs.org/moment-timezone/-/moment-timezone-0.5.14.tgz";
-        sha1 = "4eb38ff9538b80108ba467a458f3ed4268ccfcb1";
+        url = "https://registry.npmjs.org/moment-timezone/-/moment-timezone-0.5.16.tgz";
+        sha512 = "0vnhrg02rgwwa4zzdm7g9j3sd17j8vn30cjiflg86lac0k2fvfaixl7fwd1yx990yr6abq6zhk5gmaqx2vgz22a6akxld35dbvnbpg1";
       };
     };
     "mongodb-1.2.14" = {
@@ -16280,6 +17117,24 @@ let
         sha1 = "be2c005fda32e0b29af1f05d7c4b33214c701f92";
       };
     };
+    "mp4-box-encoding-1.1.4" = {
+      name = "mp4-box-encoding";
+      packageName = "mp4-box-encoding";
+      version = "1.1.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mp4-box-encoding/-/mp4-box-encoding-1.1.4.tgz";
+        sha512 = "2i0lx4lji8zy0xwa6bzhqp1wdsigp38jlm3k7h7k6k013j8bp5z0nwyvwkr79ax2f1cw2gp7i2vwx99w5swmwy95l8a6188rvq0v857";
+      };
+    };
+    "mp4-stream-2.0.3" = {
+      name = "mp4-stream";
+      packageName = "mp4-stream";
+      version = "2.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mp4-stream/-/mp4-stream-2.0.3.tgz";
+        sha512 = "3d7vh2ks36h25fkh19jfzvw8flk9f0lz8brnpj57wlwfcwx8hsw5fdr2dxr2brpxvcdv4mhfyd7g82y1n1229scchlaj6cv9wiy1p74";
+      };
+    };
     "mpath-0.1.1" = {
       name = "mpath";
       packageName = "mpath";
@@ -16325,6 +17180,15 @@ let
         sha1 = "5c0a3f29c8ccffbbb1ec941dcec09d71fa32f36a";
       };
     };
+    "mri-1.1.1" = {
+      name = "mri";
+      packageName = "mri";
+      version = "1.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mri/-/mri-1.1.1.tgz";
+        sha1 = "85aa26d3daeeeedf80dc5984af95cc5ca5cad9f1";
+      };
+    };
     "ms-0.1.0" = {
       name = "ms";
       packageName = "ms";
@@ -16397,13 +17261,13 @@ let
         sha1 = "400515e05b1924889cb61a1ec6054290a68e1207";
       };
     };
-    "ms-rest-2.3.1" = {
+    "ms-rest-2.3.3" = {
       name = "ms-rest";
       packageName = "ms-rest";
-      version = "2.3.1";
+      version = "2.3.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ms-rest/-/ms-rest-2.3.1.tgz";
-        sha512 = "34xikyld48lq65i6ngn4wf8gsnn2lllbd7fray2rsxihkz6azm7zsqs2fm9ng566fdy6mf6qj41lvvyl2xih7d5a074rkhxpwdf1w1m";
+        url = "https://registry.npmjs.org/ms-rest/-/ms-rest-2.3.3.tgz";
+        sha512 = "2qrwz9q47d6988i8kf97zl0974msgia3qzcah3rl6gld0n99pzdnlbz2cnqbhcj7yql2jbfm682qalzfazphxl90liyl82mzvz7z3jb";
       };
     };
     "ms-rest-azure-1.15.7" = {
@@ -16415,13 +17279,13 @@ let
         sha1 = "8bce09f053b1565dbaa8bd022ca40155c35b0fde";
       };
     };
-    "ms-rest-azure-2.5.4" = {
+    "ms-rest-azure-2.5.5" = {
       name = "ms-rest-azure";
       packageName = "ms-rest-azure";
-      version = "2.5.4";
+      version = "2.5.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ms-rest-azure/-/ms-rest-azure-2.5.4.tgz";
-        sha512 = "049vfg1l6jfzdn82m5shchi6zzlfk81csihlalwj1mm96j0dykbx885sbjyv3wr0iqwjwzp4i1x2kv750xvzvyljfqrlnh1kfhrq32b";
+        url = "https://registry.npmjs.org/ms-rest-azure/-/ms-rest-azure-2.5.5.tgz";
+        sha512 = "37sgjm2jqs7fnlzbxihq6sdxxd4w7m5nnkmvp5rrnq9ghsfbbk9pr1z4lm6my3yg06hhqgdyg7rnnzvds26yxjwic7d1g1ab1igjwrf";
       };
     };
     "msgpack-1.0.2" = {
@@ -16478,6 +17342,15 @@ let
         sha512 = "3m42kr8y2s1krl4gzb5xsa9v3h01xalvrgdkj99gyfaq7761asmj5m6kzm70mxb22125gia12g7rmarnzmh09403j8j2cyvx7jqjblf";
       };
     };
+    "multicast-dns-7.0.0" = {
+      name = "multicast-dns";
+      packageName = "multicast-dns";
+      version = "7.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/multicast-dns/-/multicast-dns-7.0.0.tgz";
+        sha512 = "3z5r41v1y4fk8751g0s7ssgzpiaw7g3bwbnjk9gvdh5x3rijzpnlk03s0vlng9yx3f5j9h0zfy6rjfmh183gxyxh2y8y7hps977k806";
+      };
+    };
     "multicast-dns-service-types-1.1.0" = {
       name = "multicast-dns-service-types";
       packageName = "multicast-dns-service-types";
@@ -16496,6 +17369,15 @@ let
         sha512 = "2liv9lhcxrlp21524jzp1hxzbd07xmb7qlzma5qfn98bgn63ga0i5jalrhlz6qc08fd4jxh3hj2mi9wm14s95lip5x236052rv3i4rx";
       };
     };
+    "multimatch-2.1.0" = {
+      name = "multimatch";
+      packageName = "multimatch";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/multimatch/-/multimatch-2.1.0.tgz";
+        sha1 = "9c7906a22fb4c02919e2f5f75161b4cdbd4b2a2b";
+      };
+    };
     "multiparty-2.2.0" = {
       name = "multiparty";
       packageName = "multiparty";
@@ -16532,6 +17414,15 @@ let
         sha1 = "2a8f2ddf70eed564dff2d57f1e1a137d9f05078b";
       };
     };
+    "multistream-2.1.0" = {
+      name = "multistream";
+      packageName = "multistream";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/multistream/-/multistream-2.1.0.tgz";
+        sha1 = "625c267d5c44424ad6294788b5bb4da3dcb32f1d";
+      };
+    };
     "muri-0.3.1" = {
       name = "muri";
       packageName = "muri";
@@ -16676,13 +17567,13 @@ let
         sha1 = "020a7ccedc63fdee85f85967d5607849e74abbe8";
       };
     };
-    "nan-2.3.5" = {
+    "nan-2.10.0" = {
       name = "nan";
       packageName = "nan";
-      version = "2.3.5";
+      version = "2.10.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/nan/-/nan-2.3.5.tgz";
-        sha1 = "822a0dc266290ce4cd3a12282ca3e7e364668a08";
+        url = "https://registry.npmjs.org/nan/-/nan-2.10.0.tgz";
+        sha512 = "349rr7x0djrlkav4gbhkg355852ingn965r0kkch8rr4cwp7qki9676zpq8cq988yszzd2hld6szsbbnd1v6rghzf11abn1nyzlj1vc";
       };
     };
     "nan-2.5.1" = {
@@ -16703,15 +17594,6 @@ let
         sha1 = "e4ff34e6c95fdfb5aecc08de6596f43605a7db45";
       };
     };
-    "nan-2.9.2" = {
-      name = "nan";
-      packageName = "nan";
-      version = "2.9.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/nan/-/nan-2.9.2.tgz";
-        sha512 = "1iwlv98jbkr46c7hy28crk2m89jiskrp4qfa5ysyacyq8dkbk4hii3cc61irf39b7n6wd9cjlaasmakv9dsknqhb3876zrvrbjvmmcn";
-      };
-    };
     "nanoassert-1.1.0" = {
       name = "nanoassert";
       packageName = "nanoassert";
@@ -16739,6 +17621,15 @@ let
         sha512 = "2bzl500sgpk3i3ird4iviglsj0gj9a0qhmj4hnky3xmxbl4ahamjhi96rslr8k65j77glmw771m3jm7r5sr5akw6ip5glmxvqkg095h";
       };
     };
+    "nanolru-1.0.0" = {
+      name = "nanolru";
+      packageName = "nanolru";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/nanolru/-/nanolru-1.0.0.tgz";
+        sha512 = "1d2d6k4vxnxgs5621zpccl6hk5nk0knsmjmhfmfv30sfgzca6qc59xb3xz05gi141s4y0m5yrn0iamd7554lfq9hl5rbnipqc9j890v";
+      };
+    };
     "nanomatch-1.2.9" = {
       name = "nanomatch";
       packageName = "nanomatch";
@@ -16815,13 +17706,13 @@ let
         sha1 = "20a318c30cb45f71fe7adfbf7b21c99c1472ef11";
       };
     };
-    "natives-1.1.1" = {
+    "natives-1.1.3" = {
       name = "natives";
       packageName = "natives";
-      version = "1.1.1";
+      version = "1.1.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/natives/-/natives-1.1.1.tgz";
-        sha512 = "08a9lf00d2pkqmdi6ipp00pjin0gwl6fh283cjdjbayaz834lppwrw19kn4s642kwa46bfcway3033j6rbqd96iy86qrzrfgz35mr7i";
+        url = "https://registry.npmjs.org/natives/-/natives-1.1.3.tgz";
+        sha512 = "3pbpfnk3183j5mwxprr19bzahf7lxarcka2bad0mhcywnjlj63i55phbxyk0pn4l4v7nj3wv4gjrzdk7xfxxfrjl5rvqf0qbrhr5485";
       };
     };
     "natural-compare-1.4.0" = {
@@ -16842,13 +17733,13 @@ let
         sha1 = "17b09581988979fddafe0201e931ba933c96cbb4";
       };
     };
-    "ncname-1.0.0" = {
-      name = "ncname";
-      packageName = "ncname";
-      version = "1.0.0";
+    "nconf-0.10.0" = {
+      name = "nconf";
+      packageName = "nconf";
+      version = "0.10.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ncname/-/ncname-1.0.0.tgz";
-        sha1 = "5b57ad18b1ca092864ef62b0b1ed8194f383b71c";
+        url = "https://registry.npmjs.org/nconf/-/nconf-0.10.0.tgz";
+        sha512 = "3sx74c63qv1f3qy4gg717mvjyxc0zf66w8n5d156zs30vq256h4akw8d723ggf1qprb0q5yda14zn67rx1jlcwlb2cb0gz918qrga3w";
       };
     };
     "nconf-0.6.9" = {
@@ -16869,15 +17760,6 @@ let
         sha1 = "ee4b561dd979a3c58db122e38f196d49d61aeb5b";
       };
     };
-    "nconf-0.7.2" = {
-      name = "nconf";
-      packageName = "nconf";
-      version = "0.7.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/nconf/-/nconf-0.7.2.tgz";
-        sha1 = "a05fdf22dc01c378dd5c4df27f2dc90b9aa8bb00";
-      };
-    };
     "ncp-0.4.2" = {
       name = "ncp";
       packageName = "ncp";
@@ -16941,13 +17823,13 @@ let
         sha1 = "02a71b008eaf7d55ae89fb9fd7685b7b88d7bc29";
       };
     };
-    "needle-2.2.0" = {
+    "needle-2.2.1" = {
       name = "needle";
       packageName = "needle";
-      version = "2.2.0";
+      version = "2.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/needle/-/needle-2.2.0.tgz";
-        sha512 = "3ry4wyih9w3nc3d319bmfd9l4jj8fn00lqfs1d00sfy6azvy66yhm6jv411cn1c1zqc01hvj59dlavm82mzxw5mlar8ck9ylz5s0mkq";
+        url = "https://registry.npmjs.org/needle/-/needle-2.2.1.tgz";
+        sha512 = "3wnlvqmkxw69bl3clghqpsl1kxqm7hkq4v4ab0rm6dx7xqyg3bn8q38i6hmxm47ccfn6bxcvl53c4madxdgblnm06ika99x4g06rxmp";
       };
     };
     "negotiator-0.3.0" = {
@@ -16977,23 +17859,23 @@ let
         sha1 = "2b327184e8992101177b28563fb5e7102acd0ca9";
       };
     };
-    "negotiator-git+https://github.com/arlolra/negotiator.git#full-parse-access" = {
+    "negotiator-git+https://github.com/arlolra/negotiator#full-parse-access" = {
       name = "negotiator";
       packageName = "negotiator";
       version = "0.6.1";
       src = fetchgit {
-        url = "https://github.com/arlolra/negotiator.git";
+        url = "https://github.com/arlolra/negotiator";
         rev = "0418ab4e9a665772b7e233564a4525c9d9a8ec3a";
         sha256 = "243e90fbf6616ef39f3c71bbcd027799e35cbf2ef3f25203676f65b20f7f7394";
       };
     };
-    "neo-async-2.5.0" = {
+    "neo-async-2.5.1" = {
       name = "neo-async";
       packageName = "neo-async";
-      version = "2.5.0";
+      version = "2.5.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/neo-async/-/neo-async-2.5.0.tgz";
-        sha512 = "3mgwi8gsgy9lazh0qbpaz8f2l8gvvpn3jp0ghc6xnn0xq0ajdmzp7lfklby1n4s67fy1w5g5gzizyqzds8l3fqsj76cy0mq06rr56cw";
+        url = "https://registry.npmjs.org/neo-async/-/neo-async-2.5.1.tgz";
+        sha512 = "3256b78wjq1hf7ycvh6ll1wr0kxpqb01lgj1fdirkrx5lpzz12c4ygifw09c2bag30njm8sfjkwkg3gxpy32kl1w3n9x4cizdzgg8nw";
       };
     };
     "nested-error-stacks-1.0.2" = {
@@ -17059,6 +17941,15 @@ let
         sha1 = "4aa7bfd43f03f0b81c9702b13d6a858ddb326f3e";
       };
     };
+    "next-event-1.0.0" = {
+      name = "next-event";
+      packageName = "next-event";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/next-event/-/next-event-1.0.0.tgz";
+        sha1 = "e7778acde2e55802e0ad1879c39cf6f75eda61d8";
+      };
+    };
     "next-line-1.1.0" = {
       name = "next-line";
       packageName = "next-line";
@@ -17095,13 +17986,13 @@ let
         sha512 = "34msnfifpdmxl414b8rch1p1six59jd9251b7wkb37n78fa84xfa5f5f5cxxp477wb846nfrsg6b1py3rahz4xdpk17lzzy9kvdjr5f";
       };
     };
-    "node-abi-2.3.0" = {
+    "node-abi-2.4.1" = {
       name = "node-abi";
       packageName = "node-abi";
-      version = "2.3.0";
+      version = "2.4.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/node-abi/-/node-abi-2.3.0.tgz";
-        sha512 = "2ijjyzh7bcyyhjaa5m0kdfg6hvxkq6czwxfg6y5d2nl6v7m9qab2ixwgvzbaaivn0r0ig48j4443905167vnpzgvlq5icfj9nyvl2fg";
+        url = "https://registry.npmjs.org/node-abi/-/node-abi-2.4.1.tgz";
+        sha512 = "3mhfjq1a2ahvkjijw39q6wg6hdiqhz9nf02wjmn61sc0fc7fn0631wxafvny4gjnljin7yv808lhcswg0v1lrcg7k3bqhs7mb16qjd5";
       };
     };
     "node-alias-1.0.4" = {
@@ -17113,22 +18004,22 @@ let
         sha1 = "1f1b916b56b9ea241c0135f97ced6940f556f292";
       };
     };
-    "node-appc-0.2.41" = {
+    "node-appc-0.2.44" = {
       name = "node-appc";
       packageName = "node-appc";
-      version = "0.2.41";
+      version = "0.2.44";
       src = fetchurl {
-        url = "https://registry.npmjs.org/node-appc/-/node-appc-0.2.41.tgz";
-        sha1 = "f68cf5acb607c4903e2f63024383ae95ba1fdc52";
+        url = "https://registry.npmjs.org/node-appc/-/node-appc-0.2.44.tgz";
+        sha512 = "01a44qwlfiqbz8hlpp7yywzw9xj04h937jnzmb94dany3bsh8z3shcn1579m0702h8ah3nayb17z63ahldj9rb6k75waf7qkamawgzh";
       };
     };
-    "node-cache-4.1.1" = {
+    "node-cache-4.2.0" = {
       name = "node-cache";
       packageName = "node-cache";
-      version = "4.1.1";
+      version = "4.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/node-cache/-/node-cache-4.1.1.tgz";
-        sha1 = "08524645ee4039dedc3dcc1dd7c6b979e0619e44";
+        url = "https://registry.npmjs.org/node-cache/-/node-cache-4.2.0.tgz";
+        sha512 = "0xw45nif5bibga7jbx0n2fv7h0jz3l4lp6ra8gfri1f7kzq0kc31q9i5zpvhi6j63785gynl2m02h8l30x04pn8raw4sjzvyzmnxd51";
       };
     };
     "node-elm-compiler-4.3.3" = {
@@ -17149,15 +18040,6 @@ let
         sha512 = "0lz5m15w7qaks0a0s3dm0crsjrsd123dy00pn6qwcp50zfjykxkp22i5ymh6smlc0ags38nmdxlxw9yyq509azlv8kcdvdiq857h5in";
       };
     };
-    "node-firefox-connect-1.2.0" = {
-      name = "node-firefox-connect";
-      packageName = "node-firefox-connect";
-      version = "1.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/node-firefox-connect/-/node-firefox-connect-1.2.0.tgz";
-        sha1 = "42403848313240c98514ef14b3302816fe3b84e1";
-      };
-    };
     "node-forge-0.6.23" = {
       name = "node-forge";
       packageName = "node-forge";
@@ -17167,22 +18049,22 @@ let
         sha1 = "f03cf65ebd5d4d9dd2f7becb57ceaf78ed94a2bf";
       };
     };
-    "node-forge-0.7.2" = {
+    "node-forge-0.7.5" = {
       name = "node-forge";
       packageName = "node-forge";
-      version = "0.7.2";
+      version = "0.7.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/node-forge/-/node-forge-0.7.2.tgz";
-        sha512 = "2kc6a8y2fmpsmiddh9vkiy32kg6isg3igpfgpkvvkw48y5x2n3wwrxsi7zcjyxf2yakjygvim3gy74c077lrc0cm60f388diw2nhc2x";
+        url = "https://registry.npmjs.org/node-forge/-/node-forge-0.7.5.tgz";
+        sha512 = "0aq9ajngp210n97kmgnqyhil492amwhcn3b8bwxgsli9hq5qy4lh7qmncwbb1j0llrc4zalr0haj0fphrygz8kinzij848kcckx0rij";
       };
     };
-    "node-gyp-build-3.2.2" = {
+    "node-gyp-build-3.3.0" = {
       name = "node-gyp-build";
       packageName = "node-gyp-build";
-      version = "3.2.2";
+      version = "3.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-3.2.2.tgz";
-        sha512 = "34hwi28wvvh5nn8bv71n0fb83xjyk84jsn8j9zgkaqnfigpv2hk6fs9jaffsn7qi3yi4n7iwd9yjyagd1rh74ckzdf5s6l59b8vzidp";
+        url = "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-3.3.0.tgz";
+        sha512 = "0vkilw1ghsjca0lrj9gsdgsi8wj4bvpfr25q1qzx1kp5hhvjdhapmvpmrd2hikwq9dxydw6sdvv0730wwvmsg36xqf0hgp9777l3ns8";
       };
     };
     "node-int64-0.4.0" = {
@@ -17239,40 +18121,49 @@ let
         sha512 = "2cwrivwc0ha272cly9r61bbb14kkl1s1hsmn53yr88b6pfjqj512nac6c5rphc6ak88v8gpl1f879qdd3v7386103zzr7miibpmbhis";
       };
     };
-    "node-red-node-email-0.1.24" = {
+    "node-red-node-email-0.1.29" = {
       name = "node-red-node-email";
       packageName = "node-red-node-email";
-      version = "0.1.24";
+      version = "0.1.29";
       src = fetchurl {
-        url = "https://registry.npmjs.org/node-red-node-email/-/node-red-node-email-0.1.24.tgz";
-        sha1 = "ba12c72b01b39e33f375ccbf4321b163425e8fb2";
+        url = "https://registry.npmjs.org/node-red-node-email/-/node-red-node-email-0.1.29.tgz";
+        sha512 = "0xrn1958dc81s10r3ynp4v7697py7bdhawvk71cgca1wi6ysj9w8r1dbfc29znpzz0kpmqy07v0y98nxasy6ing7hsc0kyd8rmrvnps";
       };
     };
-    "node-red-node-feedparser-0.1.8" = {
+    "node-red-node-feedparser-0.1.12" = {
       name = "node-red-node-feedparser";
       packageName = "node-red-node-feedparser";
-      version = "0.1.8";
+      version = "0.1.12";
       src = fetchurl {
-        url = "https://registry.npmjs.org/node-red-node-feedparser/-/node-red-node-feedparser-0.1.8.tgz";
-        sha1 = "56cf6f69bc6d23557f8627ee63b74c1caa85c65b";
+        url = "https://registry.npmjs.org/node-red-node-feedparser/-/node-red-node-feedparser-0.1.12.tgz";
+        sha512 = "2ymvmw9wh0rq14fbxg44p3wm1r34lmr7wvh8z40g4cssrpcmb43cc3wr94z9blxpnjmf9795b3slmd3s4283snm01q5z1jppa9kn2lk";
       };
     };
-    "node-red-node-rbe-0.2.1" = {
+    "node-red-node-rbe-0.2.3" = {
       name = "node-red-node-rbe";
       packageName = "node-red-node-rbe";
-      version = "0.2.1";
+      version = "0.2.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/node-red-node-rbe/-/node-red-node-rbe-0.2.1.tgz";
-        sha512 = "3s12a0r8a6nzfqk1a1v1k5drczf4qpnia460l3rq4bixnl0k0fahc1hh4cqcw9rlzc59cz3p4dv19ixrwf2wc6nxixsyqz417li68wb";
+        url = "https://registry.npmjs.org/node-red-node-rbe/-/node-red-node-rbe-0.2.3.tgz";
+        sha512 = "06is8ig0mlp85dl5hjp86gp7hwahssfls65gbwcql3awygilv9zlgxngm4yrl54vmkyjk2dk5gbf78r6bm4jgm3qf07xdbwvcgjvqz7";
       };
     };
-    "node-red-node-twitter-0.1.12" = {
+    "node-red-node-twitter-0.1.13" = {
       name = "node-red-node-twitter";
       packageName = "node-red-node-twitter";
-      version = "0.1.12";
+      version = "0.1.13";
       src = fetchurl {
-        url = "https://registry.npmjs.org/node-red-node-twitter/-/node-red-node-twitter-0.1.12.tgz";
-        sha512 = "3h9isciksl33ajjzn4s0dp8s8m3zkijqc7rbw4v8glrhz5y3npbv8501sffak943jyd4k3dqalizv9giwaxqfd1760pkhbzh816y6j4";
+        url = "https://registry.npmjs.org/node-red-node-twitter/-/node-red-node-twitter-0.1.13.tgz";
+        sha512 = "0wfkdalwxzyyivqxiwiba5j8pyis83lhipiwck2xrbks3w0x1ldf12fgnzx61kq64sdmzpczqwb7588ggh5drj64ymj88vwdbca0bd9";
+      };
+    };
+    "node-ssdp-2.9.1" = {
+      name = "node-ssdp";
+      packageName = "node-ssdp";
+      version = "2.9.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/node-ssdp/-/node-ssdp-2.9.1.tgz";
+        sha1 = "2d6ba8e7eff9bf5b338564f91f7ac5d5cdddc55b";
       };
     };
     "node-static-0.7.10" = {
@@ -17284,15 +18175,6 @@ let
         sha512 = "3a22r0jr4112h0vr1smzrsaygc607v13arhjbjwzmy1jvmcrdlq9ydnw96ailkrlnwl3k0l65hjcgnrgkdwyc2qhbfnq2bgk0xz7pkd";
       };
     };
-    "node-status-codes-1.0.0" = {
-      name = "node-status-codes";
-      packageName = "node-status-codes";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/node-status-codes/-/node-status-codes-1.0.0.tgz";
-        sha1 = "5ae5541d024645d32a58fcddc9ceecea7ae3ac2f";
-      };
-    };
     "node-swt-0.1.1" = {
       name = "node-swt";
       packageName = "node-swt";
@@ -17329,13 +18211,13 @@ let
         sha1 = "b040eb0923968afabf8d32fb1f17f1167fdab907";
       };
     };
-    "node-version-1.1.0" = {
+    "node-version-1.1.3" = {
       name = "node-version";
       packageName = "node-version";
-      version = "1.1.0";
+      version = "1.1.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/node-version/-/node-version-1.1.0.tgz";
-        sha512 = "0kc13ygbwm9zdjqv43ccb3mvfhmkwack6ziqcadw58b0f8ssv8h2gdr0br8xaqxpxp0h6pz9vm28yns03nl1vbqbgdankcsb127cmdp";
+        url = "https://registry.npmjs.org/node-version/-/node-version-1.1.3.tgz";
+        sha512 = "0zdxwcfi3gca8d1jdg3m1gh6b3xxsc7sxpdrnvabc5j5fdgmhcdqaxv3q28rl95ibb7qjcvw7c7k5wzhrvhayb9vn6lr7snabkh8k5c";
       };
     };
     "node-wsfederation-0.1.1" = {
@@ -17365,6 +18247,15 @@ let
         sha1 = "7525a2875677ea534784a5e10ac78956139614df";
       };
     };
+    "nodebmc-0.0.7" = {
+      name = "nodebmc";
+      packageName = "nodebmc";
+      version = "0.0.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/nodebmc/-/nodebmc-0.0.7.tgz";
+        sha1 = "fae179165265509302cefbebeabd29bd4035184d";
+      };
+    };
     "nodemailer-0.3.35" = {
       name = "nodemailer";
       packageName = "nodemailer";
@@ -17581,13 +18472,31 @@ let
         sha1 = "5b1d577e4c8869d6c8603bc89e9cd1637303e46e";
       };
     };
-    "npm-5.6.0" = {
+    "npm-6.0.0" = {
       name = "npm";
       packageName = "npm";
-      version = "5.6.0";
+      version = "6.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/npm/-/npm-6.0.0.tgz";
+        sha512 = "1s1pq7rdh5xxd4phq7bf1fikbfwc9iiglgayiy0bf14skvivj96j7f5mzyh3631gzhm7vmpak0k523axik5n4hza8gd8c90s203plqj";
+      };
+    };
+    "npm-bundled-1.0.3" = {
+      name = "npm-bundled";
+      packageName = "npm-bundled";
+      version = "1.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.0.3.tgz";
+        sha512 = "0xk8ky1cjf8q2wkbgfzplpn04sm9xnl6i71dwnc29rfh8m2glan5nd6l4k3q7ikci7xpwfpcmyy3frr873zndjmhbr344grkyh3f907";
+      };
+    };
+    "npm-conf-1.1.3" = {
+      name = "npm-conf";
+      packageName = "npm-conf";
+      version = "1.1.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/npm/-/npm-5.6.0.tgz";
-        sha512 = "0nnr796ik5h8bsd3k9ygivivr3na2ksnf5iipf8dsnn20j10i9sgmhmsnzbimd2pqgjbrpp8gbpl2q7j5c7yjqjfirrh8xcc3v3gpws";
+        url = "https://registry.npmjs.org/npm-conf/-/npm-conf-1.1.3.tgz";
+        sha512 = "1rx44jzcf3byibrwmgyr0598hng4snjfj9bx29xm7bi5y1bqkbvb2krh8z0ccpzv3aps71qwrq55a56l1qkzlan118xyfn9j5nkh9v2";
       };
     };
     "npm-keyword-5.0.0" = {
@@ -17599,13 +18508,22 @@ let
         sha1 = "99b85aec29fcb388d2dd351f0013bf5268787e67";
       };
     };
-    "npm-package-arg-5.1.2" = {
+    "npm-package-arg-6.1.0" = {
       name = "npm-package-arg";
       packageName = "npm-package-arg";
-      version = "5.1.2";
+      version = "6.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-6.1.0.tgz";
+        sha512 = "14dqycy588sf0k73livvvpmp1dqmbhacc97pq3ksxk1wrm9j82r7hhlrxigj0nb58gz4cbvbh3isj1x3sjiqxs60dhv439xd4zy31nd";
+      };
+    };
+    "npm-packlist-1.1.10" = {
+      name = "npm-packlist";
+      packageName = "npm-packlist";
+      version = "1.1.10";
       src = fetchurl {
-        url = "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-5.1.2.tgz";
-        sha512 = "36g1gm57qcvdgb4lm6ibl9pgma8lgx8l8i2jzap6w3v36wfzsqa7vb411zd26yp9rgcq23951vl5j6pac22qd5h9x7jm9raznnnr460";
+        url = "https://registry.npmjs.org/npm-packlist/-/npm-packlist-1.1.10.tgz";
+        sha512 = "1c5z9bibdf07na26xffshagxk8gfnsbaav802dkvbrlgj4mixz4giji96yb1zs7p9yl9n28mlkhjp9jklq55j27c0i837vk507v8001";
       };
     };
     "npm-registry-client-0.2.27" = {
@@ -17617,13 +18535,13 @@ let
         sha1 = "8f338189d32769267886a07ad7b7fd2267446adf";
       };
     };
-    "npm-registry-client-8.5.0" = {
+    "npm-registry-client-8.5.1" = {
       name = "npm-registry-client";
       packageName = "npm-registry-client";
-      version = "8.5.0";
+      version = "8.5.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/npm-registry-client/-/npm-registry-client-8.5.0.tgz";
-        sha512 = "1nwp5cfjmy4k14g6ziz7zpia8f66ximhrdhw49cj2w173bibq1sgc4d5w951ql5dqf0hcmia956ld9y7qs2q1fx6s2j446zhvdk0irn";
+        url = "https://registry.npmjs.org/npm-registry-client/-/npm-registry-client-8.5.1.tgz";
+        sha512 = "0g7abpykfqb1x17pajm1ndsh61n3ydyimv5npsjrn9hd1s72csxh7fzdn28gldz30n00wgb8rg9y8jfhxli3cnii61i5vl0cwbwdf7f";
       };
     };
     "npm-run-path-1.0.0" = {
@@ -17852,13 +18770,13 @@ let
         sha1 = "7e7d858b781bd7c991a41ba975ed3812754e998c";
       };
     };
-    "object-hash-1.2.0" = {
+    "object-hash-1.3.0" = {
       name = "object-hash";
       packageName = "object-hash";
-      version = "1.2.0";
+      version = "1.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/object-hash/-/object-hash-1.2.0.tgz";
-        sha512 = "19310wpjhfybr8gslg93qybbsrf3fjlmdgsgvn7d9yim1nmpcgjn5az280w4p8spvhq1djly7naa9434166gcmbavv0xirg75gmcr5j";
+        url = "https://registry.npmjs.org/object-hash/-/object-hash-1.3.0.tgz";
+        sha512 = "2qnadlb3xqg732666500m9gssayfvlzrhipcl3hyw3qm1yhmvnz72slbmzlbfi8kgzl95a32a896f1lf175ql4jmn9f2j95pm1v74nk";
       };
     };
     "object-keys-1.0.11" = {
@@ -18046,7 +18964,7 @@ let
       packageName = "onetime";
       version = "1.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz";
+        url = "http://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz";
         sha1 = "a1f7838f8314c516f05ecefcbc4ccfe04b4ed789";
       };
     };
@@ -18122,13 +19040,13 @@ let
         sha1 = "6a341442f09d7d866bc11ed03de1e3828e3d6aab";
       };
     };
-    "opentracing-0.14.1" = {
+    "opentracing-0.14.3" = {
       name = "opentracing";
       packageName = "opentracing";
-      version = "0.14.1";
+      version = "0.14.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/opentracing/-/opentracing-0.14.1.tgz";
-        sha1 = "40d278beea417660a35dd9d3ee76511ffa911dcd";
+        url = "https://registry.npmjs.org/opentracing/-/opentracing-0.14.3.tgz";
+        sha1 = "23e3ad029fa66a653926adbe57e834469f8550aa";
       };
     };
     "opn-4.0.2" = {
@@ -18140,13 +19058,13 @@ let
         sha1 = "7abc22e644dff63b0a96d5ab7f2790c0f01abc95";
       };
     };
-    "opn-5.2.0" = {
+    "opn-5.3.0" = {
       name = "opn";
       packageName = "opn";
-      version = "5.2.0";
+      version = "5.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/opn/-/opn-5.2.0.tgz";
-        sha512 = "12iyalgghs3dj0pfb7rxa013x946169yfsjfd15fsfrx5kv80z2qh082x7v7d91hh7bf9vxcm4wqmyyj9ckk3gnvc7mw77j6fkwdpr5";
+        url = "https://registry.npmjs.org/opn/-/opn-5.3.0.tgz";
+        sha512 = "3d5s5y22sx4wfswzs8fmhr7sarmjigs8qhmmyrkiplfda6kkfk3kv67fs8npdklf8zbc9hmx76zsxqfv4bn5qlpzbfq96nfyailg0kd";
       };
     };
     "optimist-0.2.8" = {
@@ -18392,6 +19310,15 @@ let
         sha512 = "35jir2yjv2l3v8aj062w0hfinzgwpb1sbhmaym8h4xn78j498naj7mkf4rpv74n5bfkysxb7l893l2yw3dpqk5dgb2yiwr8pcydjmj5";
       };
     };
+    "p-cancelable-0.4.1" = {
+      name = "p-cancelable";
+      packageName = "p-cancelable";
+      version = "0.4.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/p-cancelable/-/p-cancelable-0.4.1.tgz";
+        sha512 = "02ipk9sgz2q0msm9h53lxbjvqprh9k6zj8q21dvczv6p6a5d4q5yqcmwj6xm0icmdc94n42plfmwlymnqn4f15pgci5j1zgq81vbmhw";
+      };
+    };
     "p-finally-1.0.0" = {
       name = "p-finally";
       packageName = "p-finally";
@@ -18473,6 +19400,15 @@ let
         sha512 = "30jd44ckpmfj9prfhzc8bjvn5b5adxk93g9saif813id8mrvl3g1asrhz9l0bc2rp0i779wnhg1rjw80h2y7zk8v02ghq4bdh4hn4a0";
       };
     };
+    "pac-proxy-agent-2.0.2" = {
+      name = "pac-proxy-agent";
+      packageName = "pac-proxy-agent";
+      version = "2.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pac-proxy-agent/-/pac-proxy-agent-2.0.2.tgz";
+        sha512 = "3222l2ayjn9gj3q7br4vxqz1a5bq5h53fcqvrns3zdlqfinarbi0kgkrlf7vyc7arr7ljks5988y4a6lyd663br23wvg391a4vl0cvh";
+      };
+    };
     "pac-resolver-2.0.0" = {
       name = "pac-resolver";
       packageName = "pac-resolver";
@@ -18482,6 +19418,15 @@ let
         sha1 = "99b88d2f193fbdeefc1c9a529c1f3260ab5277cd";
       };
     };
+    "pac-resolver-3.0.0" = {
+      name = "pac-resolver";
+      packageName = "pac-resolver";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pac-resolver/-/pac-resolver-3.0.0.tgz";
+        sha512 = "1w6mzypllad7wy658kd56fqih6i8x0f841a2pnnn97dhkk810nw3r9f73kpxqa6llkrgy6p1ax4xy1rgbzvrf4zczblvf13pgqkgixm";
+      };
+    };
     "package-json-1.2.0" = {
       name = "package-json";
       packageName = "package-json";
@@ -18491,15 +19436,6 @@ let
         sha1 = "c8ecac094227cdf76a316874ed05e27cc939a0e0";
       };
     };
-    "package-json-2.4.0" = {
-      name = "package-json";
-      packageName = "package-json";
-      version = "2.4.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/package-json/-/package-json-2.4.0.tgz";
-        sha1 = "0d15bd67d1cbbddbb2ca222ff2edb86bcb31a8bb";
-      };
-    };
     "package-json-4.0.1" = {
       name = "package-json";
       packageName = "package-json";
@@ -18509,6 +19445,15 @@ let
         sha1 = "8869a0401253661c4c4ca3da6c2121ed555f5eed";
       };
     };
+    "package-json-versionify-1.0.4" = {
+      name = "package-json-versionify";
+      packageName = "package-json-versionify";
+      version = "1.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/package-json-versionify/-/package-json-versionify-1.0.4.tgz";
+        sha1 = "5860587a944873a6b7e6d26e8e51ffb22315bf17";
+      };
+    };
     "pad-0.0.5" = {
       name = "pad";
       packageName = "pad";
@@ -18572,22 +19517,22 @@ let
         sha1 = "fedd4d2bf193a77745fe71e371d73c3307d9c751";
       };
     };
-    "parse-asn1-5.1.0" = {
+    "parse-asn1-5.1.1" = {
       name = "parse-asn1";
       packageName = "parse-asn1";
-      version = "5.1.0";
+      version = "5.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.0.tgz";
-        sha1 = "37c4f9b7ed3ab65c74817b5f2480937fbf97c712";
+        url = "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.1.tgz";
+        sha512 = "1vq07bq1c0b5v82mknyg2y4lrdy1qmqkzw432f406rx9v2hni3040z270kpsvi2vf4ikq6x0k9g8p16n7aafrwsrpwvx0wpa9z7pz18";
       };
     };
-    "parse-entities-1.1.1" = {
+    "parse-entities-1.1.2" = {
       name = "parse-entities";
       packageName = "parse-entities";
-      version = "1.1.1";
+      version = "1.1.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/parse-entities/-/parse-entities-1.1.1.tgz";
-        sha1 = "8112d88471319f27abae4d64964b122fe4e1b890";
+        url = "https://registry.npmjs.org/parse-entities/-/parse-entities-1.1.2.tgz";
+        sha512 = "192kwdas18b36rdffjp98qvq4ssnmnndryvcz2lzz6g8dnn5pfglabpjcj4p9bngkyp5z0fwvpb0vj4i9zdskp8gzbig6zd1scnbpz4";
       };
     };
     "parse-filepath-1.0.2" = {
@@ -18671,13 +19616,22 @@ let
         sha1 = "a814bd8505e8b58e88eb8ff3e2daff5d19a711b7";
       };
     };
-    "parse-torrent-5.8.3" = {
+    "parse-torrent-5.9.1" = {
       name = "parse-torrent";
       packageName = "parse-torrent";
-      version = "5.8.3";
+      version = "5.9.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/parse-torrent/-/parse-torrent-5.8.3.tgz";
-        sha1 = "f95ef23301239609de406794ad9f958a1bca1b6c";
+        url = "https://registry.npmjs.org/parse-torrent/-/parse-torrent-5.9.1.tgz";
+        sha512 = "31lm2ifw06p00gc0qvxinqvy8afhq0lrg3fpf5rrhb6dqx3avd3ykps8sjv2nj91wf06k62yvn9cvf1f243yzl9xpzy9255556x8bnb";
+      };
+    };
+    "parse-torrent-6.0.0" = {
+      name = "parse-torrent";
+      packageName = "parse-torrent";
+      version = "6.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/parse-torrent/-/parse-torrent-6.0.0.tgz";
+        sha512 = "1yr12djspi83lybgycwsaz5wbikbsazwhk2w4xf3niri1lx0p3965br1xbsjw1m0xrzc71q6mw5xz44w0hd3ic5wmb2v62abl7kld16";
       };
     };
     "parse-torrent-file-2.1.4" = {
@@ -18689,15 +19643,6 @@ let
         sha1 = "32d4b6afde631420e5f415919a222b774b575707";
       };
     };
-    "parse-torrent-file-4.0.3" = {
-      name = "parse-torrent-file";
-      packageName = "parse-torrent-file";
-      version = "4.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/parse-torrent-file/-/parse-torrent-file-4.0.3.tgz";
-        sha512 = "2shaz6cv4fgbmy1hq6hc59spkja51qg0vvx514r1nqsspdnsq6xzxabk0gs17x3n8s03y9mj8hx1xn5c0bkq9fvx59sxms2a4mlig9r";
-      };
-    };
     "parse5-3.0.3" = {
       name = "parse5";
       packageName = "parse5";
@@ -19112,31 +20057,31 @@ let
         sha1 = "fe5a34b0cbce12b5aa6a2b403ee2e73b602f1445";
       };
     };
-    "pbkdf2-3.0.14" = {
+    "pbkdf2-3.0.16" = {
       name = "pbkdf2";
       packageName = "pbkdf2";
-      version = "3.0.14";
+      version = "3.0.16";
       src = fetchurl {
-        url = "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.14.tgz";
-        sha512 = "30bb7vx0m1k1m3d1i1khgvmgddx3ahqgprs421ssrh5plpx50k5bazsj67gdi7qiknircqy59yxbclq95s2rnmk8ysgkqdpsddijfw2";
+        url = "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.16.tgz";
+        sha512 = "1q07jjlhbbn9fd1aqyrqqxlv184k8ppbafavwvb19lvgbzvp8fnrx7qd9lkbfzb6g4592czp178wizmgvhrhandxngiljv1gczrg06b";
       };
     };
-    "peer-wire-protocol-0.7.0" = {
+    "peer-wire-protocol-0.7.1" = {
       name = "peer-wire-protocol";
       packageName = "peer-wire-protocol";
-      version = "0.7.0";
+      version = "0.7.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/peer-wire-protocol/-/peer-wire-protocol-0.7.0.tgz";
-        sha1 = "6c015abf24b4877ed9eca3822b22d996078011da";
+        url = "https://registry.npmjs.org/peer-wire-protocol/-/peer-wire-protocol-0.7.1.tgz";
+        sha512 = "2dzhv7b379pzls7q7kd168h4ckh3gnfxcizknb8bvqrpxrm847vjc8c0vpn1b490k94sgl5yxndfiw30rply4phymrx6z2wyrmi7njp";
       };
     };
-    "peer-wire-swarm-0.12.1" = {
+    "peer-wire-swarm-0.12.2" = {
       name = "peer-wire-swarm";
       packageName = "peer-wire-swarm";
-      version = "0.12.1";
+      version = "0.12.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/peer-wire-swarm/-/peer-wire-swarm-0.12.1.tgz";
-        sha1 = "51b75da99c335c64c9ba9ef99fe27a4a5951ff42";
+        url = "https://registry.npmjs.org/peer-wire-swarm/-/peer-wire-swarm-0.12.2.tgz";
+        sha512 = "3bchr23xpdvjf588f8qx52ylri5kcqnqi4lf4mgh3i0j8sk1cljvsikd47l09jk4v3drg500q3p5q01nm2z4xfj4fk5xxnbfkb9k1dh";
       };
     };
     "peerflix-0.34.0" = {
@@ -19157,12 +20102,12 @@ let
         sha1 = "cf8bafae6eddff4b5a7efb185269eaaf4610ddbd";
       };
     };
-    "pegjs-git+https://github.com/tstarling/pegjs.git#fork" = {
+    "pegjs-git+https://github.com/tstarling/pegjs#fork" = {
       name = "pegjs";
       packageName = "pegjs";
       version = "0.8.0";
       src = fetchgit {
-        url = "https://github.com/tstarling/pegjs.git";
+        url = "https://github.com/tstarling/pegjs";
         rev = "36d584bd7bbc564c86c058c5dfe8053b1fe1d584";
         sha256 = "df0bf31b132e63beae73a28f1edfe0a2e9edf01660632c72834c682e2b484905";
       };
@@ -19212,6 +20157,15 @@ let
         sha1 = "efd212a4a3966d3647684ea8ba788549be2aefef";
       };
     };
+    "piece-length-1.0.0" = {
+      name = "piece-length";
+      packageName = "piece-length";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/piece-length/-/piece-length-1.0.0.tgz";
+        sha1 = "4db7167157fd69fef14caf7262cd39f189b24508";
+      };
+    };
     "pify-2.3.0" = {
       name = "pify";
       packageName = "pify";
@@ -19248,13 +20202,22 @@ let
         sha1 = "2135d6dfa7a358c069ac9b178776288228450ffa";
       };
     };
-    "pino-4.10.3" = {
+    "pino-4.14.0" = {
       name = "pino";
       packageName = "pino";
-      version = "4.10.3";
+      version = "4.14.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/pino/-/pino-4.10.3.tgz";
-        sha512 = "2kg8qqb15pav0a2f16xmj5iqzkx28d0c6i1ydy3vzn71hfv7b7kvsbv917bwj68bh8m2mgy9j0kj8j4npy14hg2h09q4h85sz8wm990";
+        url = "https://registry.npmjs.org/pino/-/pino-4.14.0.tgz";
+        sha512 = "1x3dsg8pg321khfaf3dd91ykkwhdn60wk169l3b2kp8wkbw242ld99qiv7cmbn76ccba75wdydv8mb2v4fg58lrfnn7jf5pvk2x7qwy";
+      };
+    };
+    "pino-std-serializers-1.2.0" = {
+      name = "pino-std-serializers";
+      packageName = "pino-std-serializers";
+      version = "1.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pino-std-serializers/-/pino-std-serializers-1.2.0.tgz";
+        sha512 = "0h8xndhy3qwgkycbmypfp7a2dvk875prgnfg46zj9vz14i24xqqdw1xp748hkv2xl2phwhyaa82yr1ym6jn6r61527kz5f7f8qird78";
       };
     };
     "pkg-dir-2.0.0" = {
@@ -19311,13 +20274,13 @@ let
         sha1 = "a32b907f28d17f61b74d45d46fd89dea3c4e88b5";
       };
     };
-    "please-upgrade-node-3.0.1" = {
+    "please-upgrade-node-3.0.2" = {
       name = "please-upgrade-node";
       packageName = "please-upgrade-node";
-      version = "3.0.1";
+      version = "3.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/please-upgrade-node/-/please-upgrade-node-3.0.1.tgz";
-        sha1 = "0a681f2c18915e5433a5ca2cd94e0b8206a782db";
+        url = "https://registry.npmjs.org/please-upgrade-node/-/please-upgrade-node-3.0.2.tgz";
+        sha512 = "2x54acxamqkr98gwnwf5h8bajcrcsv8b4156laym47ibf2093kbnki8v4dlk7zs8q5dclqnhqdr6p183phna67v0wdwb4mywm4mzjbf";
       };
     };
     "plist-1.2.0" = {
@@ -19338,13 +20301,22 @@ let
         sha1 = "0a32ca9481b1c364e92e18dc55c876de9d01da8b";
       };
     };
-    "plist-2.1.0" = {
+    "plist-3.0.1" = {
       name = "plist";
       packageName = "plist";
-      version = "2.1.0";
+      version = "3.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/plist/-/plist-3.0.1.tgz";
+        sha512 = "12n868myk28as4ivyihfw9ai50y0vc1jrr77r55drlidyi7qpwlm23aj9n05qqlzhs544yah6p535b5hiayh6xykf81q68wg8f2z60s";
+      };
+    };
+    "plist-with-patches-0.5.1" = {
+      name = "plist-with-patches";
+      packageName = "plist-with-patches";
+      version = "0.5.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/plist/-/plist-2.1.0.tgz";
-        sha1 = "57ccdb7a0821df21831217a3cad54e3e146a1025";
+        url = "https://registry.npmjs.org/plist-with-patches/-/plist-with-patches-0.5.1.tgz";
+        sha1 = "868aae2e0df8989b026562b35cbc19cfd8bb780d";
       };
     };
     "pluralize-1.2.1" = {
@@ -19455,22 +20427,22 @@ let
         sha1 = "01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab";
       };
     };
-    "postcss-6.0.14" = {
+    "postcss-6.0.19" = {
       name = "postcss";
       packageName = "postcss";
-      version = "6.0.14";
+      version = "6.0.19";
       src = fetchurl {
-        url = "https://registry.npmjs.org/postcss/-/postcss-6.0.14.tgz";
-        sha512 = "2id33g6232s35n25daqrkz0bvzm2zmhlkfzmigkgia5q4jy9xg38spppmsdg0qswjankyi28wrbjsdwhczqfkx7h71gg8dmzz8p779l";
+        url = "https://registry.npmjs.org/postcss/-/postcss-6.0.19.tgz";
+        sha512 = "174sg3cs8v8bqg8rnk673qp365n46kls3f3a41pp0jx48qivkg06rck0j2bfyzm5hr1i6kjbcn82h1rkjgfi5jbd0amrd877m3wfpbz";
       };
     };
-    "postcss-6.0.19" = {
+    "postcss-6.0.22" = {
       name = "postcss";
       packageName = "postcss";
-      version = "6.0.19";
+      version = "6.0.22";
       src = fetchurl {
-        url = "https://registry.npmjs.org/postcss/-/postcss-6.0.19.tgz";
-        sha512 = "174sg3cs8v8bqg8rnk673qp365n46kls3f3a41pp0jx48qivkg06rck0j2bfyzm5hr1i6kjbcn82h1rkjgfi5jbd0amrd877m3wfpbz";
+        url = "https://registry.npmjs.org/postcss/-/postcss-6.0.22.tgz";
+        sha512 = "0fdfvn2pq9hvw40s9l174v5rv4d5x3i9xmd8p3mln6bhzrny3v1h0y1324ghq30jnbrvyfam0725r3hsmj28lhhmc32q08lpaa3v1sf";
       };
     };
     "prebuild-install-2.1.2" = {
@@ -19482,6 +20454,15 @@ let
         sha1 = "d9ae0ca85330e03962d93292f95a8b44c2ebf505";
       };
     };
+    "prebuild-install-4.0.0" = {
+      name = "prebuild-install";
+      packageName = "prebuild-install";
+      version = "4.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/prebuild-install/-/prebuild-install-4.0.0.tgz";
+        sha512 = "2ffx8smnrj269a2r9lsiv4s71rvzhanb3a3hqg1i8daznmhl0w9lfsylh9hw5si1agsmbsn0j2syp8sn9r7cwxm8ps9b80vwv2v5mpf";
+      };
+    };
     "precond-0.2.3" = {
       name = "precond";
       packageName = "precond";
@@ -19572,6 +20553,15 @@ let
         sha512 = "2x2535hml3hmhh6qbsl9r97mpa264mbpvmv0lbsqsfkv3sfd8wv7zw1b68555qsj5c6ma4b66qkgdsrr6355lhbmz052hqzq2qx082h";
       };
     };
+    "printf-0.2.5" = {
+      name = "printf";
+      packageName = "printf";
+      version = "0.2.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/printf/-/printf-0.2.5.tgz";
+        sha1 = "c438ca2ca33e3927671db4ab69c0e52f936a4f0f";
+      };
+    };
     "private-0.1.8" = {
       name = "private";
       packageName = "private";
@@ -19581,13 +20571,13 @@ let
         sha512 = "2dgznnpxsgy9bgp4kfby1is72blvca4lhmqb3nlja8yiig1v52c12p5yw0aag8jqazhkqvihpxmqf9gsjlg5dr1jb56jxzgnqrazy2n";
       };
     };
-    "probe-image-size-3.2.0" = {
+    "probe-image-size-4.0.0" = {
       name = "probe-image-size";
       packageName = "probe-image-size";
-      version = "3.2.0";
+      version = "4.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/probe-image-size/-/probe-image-size-3.2.0.tgz";
-        sha512 = "2ss74kxzba7k01p9fz756q4q9g6m29h49s5pp9wg1larrjmlcm1avhy7rwmqqkpd8azblwa3wk736xz1nrlvzc1h274g863ywifckic";
+        url = "https://registry.npmjs.org/probe-image-size/-/probe-image-size-4.0.0.tgz";
+        sha512 = "1qwy2hmhw201igjdk90dpky6b1qpc9b2jm7nxrsshcagf0ln73s62mwfd2j0mkfx29bhsndjmm8v2fk3nwk8jinzavcz9iicnyx2vly";
       };
     };
     "process-0.11.10" = {
@@ -19851,6 +20841,15 @@ let
         sha1 = "57eb5347aa805d74ec681cb25649dba39c933499";
       };
     };
+    "proxy-agent-3.0.0" = {
+      name = "proxy-agent";
+      packageName = "proxy-agent";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/proxy-agent/-/proxy-agent-3.0.0.tgz";
+        sha512 = "1krp2s6sjv452zj0xhmknrm0769jx2v21bfas1aw2kvg2zhdxcq32w7i6kg87fd9ajyynss694bylaw8khkg8clsgxifz9wg6zgmac3";
+      };
+    };
     "proxy-from-env-1.0.0" = {
       name = "proxy-from-env";
       packageName = "proxy-from-env";
@@ -19923,40 +20922,40 @@ let
         sha512 = "3jqj1qpjdy5lizvm5mir14vqzzqgaim2yl0iwa164ps6mlp20liyaid1mhr62k23dg0zbkk11zcnzk56d0xvzy9ddbdfmjcnjy3k4mb";
       };
     };
-    "public-encrypt-4.0.0" = {
+    "public-encrypt-4.0.2" = {
       name = "public-encrypt";
       packageName = "public-encrypt";
-      version = "4.0.0";
+      version = "4.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.0.tgz";
-        sha1 = "39f699f3a46560dd5ebacbca693caf7c65c18cc6";
+        url = "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.2.tgz";
+        sha512 = "38qgcvnxnp4lva9c0x6xhq05hb811n8q5s8dxchm5mg04rv64693a1w2hrhy8lcgbvs36kv003ar1xsh312c866hzvwb0qwr897jhp2";
       };
     };
-    "pug-2.0.0-rc.4" = {
+    "pug-2.0.3" = {
       name = "pug";
       packageName = "pug";
-      version = "2.0.0-rc.4";
+      version = "2.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/pug/-/pug-2.0.0-rc.4.tgz";
-        sha512 = "1fbygi6jg8awam3agrc63yjlgxk8vfpnym1ql4dikclikp3kdrxfpfgdywadidzzic33b9fdqnwqy6ag82m4x6kmgl644zsz2ig3gj8";
+        url = "https://registry.npmjs.org/pug/-/pug-2.0.3.tgz";
+        sha1 = "71cba82537c95a5eab7ed04696e4221f53aa878e";
       };
     };
-    "pug-attrs-2.0.2" = {
+    "pug-attrs-2.0.3" = {
       name = "pug-attrs";
       packageName = "pug-attrs";
-      version = "2.0.2";
+      version = "2.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/pug-attrs/-/pug-attrs-2.0.2.tgz";
-        sha1 = "8be2b2225568ffa75d1b866982bff9f4111affcb";
+        url = "https://registry.npmjs.org/pug-attrs/-/pug-attrs-2.0.3.tgz";
+        sha1 = "a3095f970e64151f7bdad957eef55fb5d7905d15";
       };
     };
-    "pug-code-gen-2.0.0" = {
+    "pug-code-gen-2.0.1" = {
       name = "pug-code-gen";
       packageName = "pug-code-gen";
-      version = "2.0.0";
+      version = "2.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/pug-code-gen/-/pug-code-gen-2.0.0.tgz";
-        sha512 = "1b9phnpcwd902482wvyql8a4h9wr1fw5idsjvg14bjvkmvxharb8m2ca25rj2f0s4i9sdldp2fj02i5933qys4921r9p7w97wjj52hk";
+        url = "https://registry.npmjs.org/pug-code-gen/-/pug-code-gen-2.0.1.tgz";
+        sha1 = "0951ec83225d74d8cfc476a7f99a259b5f7d050c";
       };
     };
     "pug-error-1.3.2" = {
@@ -19968,76 +20967,76 @@ let
         sha1 = "53ae7d9d29bb03cf564493a026109f54c47f5f26";
       };
     };
-    "pug-filters-2.1.5" = {
+    "pug-filters-3.1.0" = {
       name = "pug-filters";
       packageName = "pug-filters";
-      version = "2.1.5";
+      version = "3.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/pug-filters/-/pug-filters-2.1.5.tgz";
-        sha512 = "0nihpmd2irqm58nrnc382aqyb787sw551g74fc4500j4kda6qxhvahknqahl918pizcx97wp64fq34m2kksp8p2jlqqn2vbmga3nk66";
+        url = "https://registry.npmjs.org/pug-filters/-/pug-filters-3.1.0.tgz";
+        sha1 = "27165555bc04c236e4aa2b0366246dfa021b626e";
       };
     };
-    "pug-lexer-3.1.0" = {
+    "pug-lexer-4.0.0" = {
       name = "pug-lexer";
       packageName = "pug-lexer";
-      version = "3.1.0";
+      version = "4.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/pug-lexer/-/pug-lexer-3.1.0.tgz";
-        sha1 = "fd087376d4a675b4f59f8fef422883434e9581a2";
+        url = "https://registry.npmjs.org/pug-lexer/-/pug-lexer-4.0.0.tgz";
+        sha1 = "210c18457ef2e1760242740c5e647bd794cec278";
       };
     };
-    "pug-linker-3.0.3" = {
+    "pug-linker-3.0.5" = {
       name = "pug-linker";
       packageName = "pug-linker";
-      version = "3.0.3";
+      version = "3.0.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/pug-linker/-/pug-linker-3.0.3.tgz";
-        sha512 = "3j4v4ah7h6m44m7z40iqkmsdyyjb0azz5ajifi5v4byld75vrl715r2xnc8vhm4z1v686m55yyxhlcmzx4cby2ssv4yqp221779q8hc";
+        url = "https://registry.npmjs.org/pug-linker/-/pug-linker-3.0.5.tgz";
+        sha1 = "9e9a7ae4005682d027deeb96b000f88eeb83a02f";
       };
     };
-    "pug-load-2.0.9" = {
+    "pug-load-2.0.11" = {
       name = "pug-load";
       packageName = "pug-load";
-      version = "2.0.9";
+      version = "2.0.11";
       src = fetchurl {
-        url = "https://registry.npmjs.org/pug-load/-/pug-load-2.0.9.tgz";
-        sha512 = "3liz20386ljxz81ia1jz31fljanr88zp0br2b45lrjdzr40slg2nkyz3xi7bsqam2zixzb86hspwvl734ac36f8shz6iqpf58w5jdq4";
+        url = "https://registry.npmjs.org/pug-load/-/pug-load-2.0.11.tgz";
+        sha1 = "e648e57ed113fe2c1f45d57858ea2bad6bc01527";
       };
     };
-    "pug-parser-4.0.0" = {
+    "pug-parser-5.0.0" = {
       name = "pug-parser";
       packageName = "pug-parser";
-      version = "4.0.0";
+      version = "5.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/pug-parser/-/pug-parser-4.0.0.tgz";
-        sha512 = "11a3hd10qhnpzmdrgqwndjjzmgqz090q2l89jmaqvjm0lnlrxcqig1fi0d92wxna26d18g8ywv4n9msnnlb5x2qq2qdc6sbywa19hd1";
+        url = "https://registry.npmjs.org/pug-parser/-/pug-parser-5.0.0.tgz";
+        sha1 = "e394ad9b3fca93123940aff885c06e44ab7e68e4";
       };
     };
-    "pug-runtime-2.0.3" = {
+    "pug-runtime-2.0.4" = {
       name = "pug-runtime";
       packageName = "pug-runtime";
-      version = "2.0.3";
+      version = "2.0.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/pug-runtime/-/pug-runtime-2.0.3.tgz";
-        sha1 = "98162607b0fce9e254d427f33987a5aee7168bda";
+        url = "https://registry.npmjs.org/pug-runtime/-/pug-runtime-2.0.4.tgz";
+        sha1 = "e178e1bda68ab2e8c0acfc9bced2c54fd88ceb58";
       };
     };
-    "pug-strip-comments-1.0.2" = {
+    "pug-strip-comments-1.0.3" = {
       name = "pug-strip-comments";
       packageName = "pug-strip-comments";
-      version = "1.0.2";
+      version = "1.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/pug-strip-comments/-/pug-strip-comments-1.0.2.tgz";
-        sha1 = "d313afa01bcc374980e1399e23ebf2eb9bdc8513";
+        url = "https://registry.npmjs.org/pug-strip-comments/-/pug-strip-comments-1.0.3.tgz";
+        sha1 = "f1559592206edc6f85310dacf4afb48a025af59f";
       };
     };
-    "pug-walk-1.1.5" = {
+    "pug-walk-1.1.7" = {
       name = "pug-walk";
       packageName = "pug-walk";
-      version = "1.1.5";
+      version = "1.1.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/pug-walk/-/pug-walk-1.1.5.tgz";
-        sha512 = "1418rf52jpq3k5l26drb11156l945688pjpia6njqrxzgffjb2rric213vrqigglhmhwc0r57zsmlknnwvhg5w9nh025b6yapb4g6dc";
+        url = "https://registry.npmjs.org/pug-walk/-/pug-walk-1.1.7.tgz";
+        sha1 = "c00d5c5128bac5806bec15d2b7e7cdabe42531f3";
       };
     };
     "pull-cat-1.1.11" = {
@@ -20076,13 +21075,13 @@ let
         sha1 = "5f2f3aed47ad86919f01b12a2e99d6f1bd776581";
       };
     };
-    "pull-stream-3.6.2" = {
+    "pull-stream-3.6.7" = {
       name = "pull-stream";
       packageName = "pull-stream";
-      version = "3.6.2";
+      version = "3.6.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/pull-stream/-/pull-stream-3.6.2.tgz";
-        sha1 = "1ea14c6f13174e6ac4def0c2a4e76567b7cb0c5c";
+        url = "https://registry.npmjs.org/pull-stream/-/pull-stream-3.6.7.tgz";
+        sha512 = "0cq5h32fsfnhxa9wbgk55jhr0z4mx6zmm42nx9r6n3j4bpl6sw2a6vh41raicq2q11bxh1vg7jxv2cdqw7nq6zb0fxm5nj8ipz3dlax";
       };
     };
     "pull-window-2.1.4" = {
@@ -20121,13 +21120,22 @@ let
         sha512 = "288hcmlwdnqda84ylx9cv413ic0r59k0dp71hy7a200jsb7h1y63277jwdp1jdp13c1b3pl6g2gzr5gjv9p72f5sp7w3p0d34swrqxf";
       };
     };
-    "pumpify-1.4.0" = {
+    "pump-3.0.0" = {
+      name = "pump";
+      packageName = "pump";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz";
+        sha512 = "31n24fqakqmhzk2ch644gziskmysmrgiwclsdsr0rwk9spgikqpwickbnayap0rynfjlq72s7iny2p35n3qszypr97ws5njkpx741ig";
+      };
+    };
+    "pumpify-1.5.0" = {
       name = "pumpify";
       packageName = "pumpify";
-      version = "1.4.0";
+      version = "1.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/pumpify/-/pumpify-1.4.0.tgz";
-        sha512 = "1h37biy199n445y10vpyiswwcxv8zigfqp0b1xwgbyjq51f2dhjn1pcggjc4j5ccbd64l1ivfi0bqinx4m5clcawvwggy7jv93qsjfs";
+        url = "https://registry.npmjs.org/pumpify/-/pumpify-1.5.0.tgz";
+        sha512 = "0kf28xyrgm26kblaainzcxi4dqyxv0q1a03b55a9sma3b37sf9nkk2ysk7df2r4864ic4yr4j47plap1l0lck1raxnwraz8a29b8s2i";
       };
     };
     "punycode-1.3.2" = {
@@ -20346,6 +21354,15 @@ let
         sha512 = "3waqapyj1k4g135sgj636rmswiaixq19is1rw0rpv4qp6k7dl0a9nwy06m7yl5lbdk9p6xpwwngnggbzlzaz6rh11c86j2nvnnf273r";
       };
     };
+    "qs-6.5.2" = {
+      name = "qs";
+      packageName = "qs";
+      version = "6.5.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz";
+        sha512 = "0c46ws0x9g3mmkgfmvd78bzvnmv2b8ryg4ah6jvyyqgjv9v994z7xdyvsc4vg9sf98gg7phvy3q1ahgaj5fy3dwzf2rki6bixgl15ip";
+      };
+    };
     "qtdatastream-0.7.1" = {
       name = "qtdatastream";
       packageName = "qtdatastream";
@@ -20364,13 +21381,13 @@ let
         sha1 = "63ac953352499ad670a9681a75680f6bf3dd1faf";
       };
     };
-    "query-string-5.1.0" = {
+    "query-string-5.1.1" = {
       name = "query-string";
       packageName = "query-string";
-      version = "5.1.0";
+      version = "5.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/query-string/-/query-string-5.1.0.tgz";
-        sha512 = "04m33y2wlmhz19y109cv7l537bdagzl15jv3y0jc3mb7wrw3jpz15pws8m7pbfbqv9nwad46cg3c4cd620f27mwzs1hml2q373y8w0p";
+        url = "https://registry.npmjs.org/query-string/-/query-string-5.1.1.tgz";
+        sha512 = "0kkwn38nmjd6n6byiz52gngvyiw46fbibx9c9p1vzn9g7l11f2jpbs39d4aqajk7kk2a6k69wx5bjgavbg1lh275ih6k84jdnr8wdc2";
       };
     };
     "querystring-0.2.0" = {
@@ -20418,15 +21435,6 @@ let
         sha1 = "8ccfd014d0f9608630dd73c19b8e4b057754a6a6";
       };
     };
-    "random-access-file-1.8.1" = {
-      name = "random-access-file";
-      packageName = "random-access-file";
-      version = "1.8.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/random-access-file/-/random-access-file-1.8.1.tgz";
-        sha512 = "3pvi9knrjp8krj1hsg8i2qmv5097fid3qnyz4wh2dvpr37x2ga6qqk7afh5f1i5sb9dsw169bara13knccdmjwnivb62xgywz868j7r";
-      };
-    };
     "random-access-file-2.0.1" = {
       name = "random-access-file";
       packageName = "random-access-file";
@@ -20445,13 +21453,13 @@ let
         sha1 = "72f3d865b4b55a259879473e2fb2de3569c69ee2";
       };
     };
-    "random-access-storage-1.1.1" = {
+    "random-access-storage-1.2.0" = {
       name = "random-access-storage";
       packageName = "random-access-storage";
-      version = "1.1.1";
+      version = "1.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/random-access-storage/-/random-access-storage-1.1.1.tgz";
-        sha512 = "1dswb4yr7m8350bx8z0z19iqgk2a43qbfc1qf8n3w483mqqg0f5gsykd5cg14yy8jik0n9ghy7j2f5kp1anzjna46ih9ncxpm0vq0k1";
+        url = "https://registry.npmjs.org/random-access-storage/-/random-access-storage-1.2.0.tgz";
+        sha512 = "3jz9jky55s8w0pd5q2v58fxdgca5ymbhlif0zn6jv55jr7bvp1xvn60bz4b2k6m399zzxzdk196385wl3gw6xasxzi3mq8xkp9al118";
       };
     };
     "random-bytes-1.0.0" = {
@@ -20526,13 +21534,22 @@ let
         sha1 = "f49be6b487894ddc40dcc94a322f611092e00d5e";
       };
     };
-    "raven-2.3.0" = {
+    "range-slice-stream-1.2.0" = {
+      name = "range-slice-stream";
+      packageName = "range-slice-stream";
+      version = "1.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/range-slice-stream/-/range-slice-stream-1.2.0.tgz";
+        sha1 = "01ba954276052b783900e63d6118d8fcf3875d7f";
+      };
+    };
+    "raven-2.4.2" = {
       name = "raven";
       packageName = "raven";
-      version = "2.3.0";
+      version = "2.4.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/raven/-/raven-2.3.0.tgz";
-        sha1 = "96f15346bdaa433b3b6d47130804506155833d69";
+        url = "https://registry.npmjs.org/raven/-/raven-2.4.2.tgz";
+        sha1 = "0129e2adc30788646fd530b67d08a8ce25d4f6dc";
       };
     };
     "raw-body-0.0.3" = {
@@ -20580,13 +21597,13 @@ let
         sha1 = "bcd60c77d3eb93cde0050295c3f379389bc88f89";
       };
     };
-    "raw-socket-1.5.2" = {
+    "raw-socket-1.6.0" = {
       name = "raw-socket";
       packageName = "raw-socket";
-      version = "1.5.2";
+      version = "1.6.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/raw-socket/-/raw-socket-1.5.2.tgz";
-        sha512 = "0afwhc6rx359xqdsjiyxdlj46kb8mq4lkwy9fhmgszkp8cai9pk8927vxvg4gpg522clwx3dv1xsbnx745pip7crbjdb7kn2i8p2iqy";
+        url = "https://registry.npmjs.org/raw-socket/-/raw-socket-1.6.0.tgz";
+        sha512 = "2268lfw8q4mz0v988by3y0hbad848sx7kmmqm3rk7nbj7xc3sy045adcdbnh3c8vrhk57ljk61wshphgr69y8pw3987f1if369ny7pr";
       };
     };
     "rc-0.4.0" = {
@@ -20598,13 +21615,13 @@ let
         sha1 = "ce24a2029ad94c3a40d09604a87227027d7210d3";
       };
     };
-    "rc-1.2.5" = {
+    "rc-1.2.7" = {
       name = "rc";
       packageName = "rc";
-      version = "1.2.5";
+      version = "1.2.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/rc/-/rc-1.2.5.tgz";
-        sha1 = "275cd687f6e3b36cc756baa26dfee80a790301fd";
+        url = "https://registry.npmjs.org/rc/-/rc-1.2.7.tgz";
+        sha512 = "30b4pqzhk8f4ppzyk5diwxac7xpf4hd3rysyin012l59da9v5iaai4wd6yzlz3rjspfvvy191q6qcsw47mwlw9y07n35kzq23rw7lid";
       };
     };
     "rc-config-loader-2.0.1" = {
@@ -20652,6 +21669,15 @@ let
         sha1 = "2d5d157786a37c055d22077c32c53f8329e91c7b";
       };
     };
+    "read-metadata-1.0.0" = {
+      name = "read-metadata";
+      packageName = "read-metadata";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/read-metadata/-/read-metadata-1.0.0.tgz";
+        sha1 = "6df9cbe51184e8ceb7d0668b40ee5191e6f3dac6";
+      };
+    };
     "read-only-stream-2.0.0" = {
       name = "read-only-stream";
       packageName = "read-only-stream";
@@ -20661,13 +21687,13 @@ let
         sha1 = "2724fd6a8113d73764ac288d4386270c1dbf17f0";
       };
     };
-    "read-package-json-2.0.12" = {
+    "read-package-json-2.0.13" = {
       name = "read-package-json";
       packageName = "read-package-json";
-      version = "2.0.12";
+      version = "2.0.13";
       src = fetchurl {
-        url = "https://registry.npmjs.org/read-package-json/-/read-package-json-2.0.12.tgz";
-        sha512 = "15w2z3m1iysjf0zwvyc5mix8nypx42shx90alil4sslq6caj3pgk59zsn2ppxn95nls6bs7yw7khl5rmlq9gljv27w3vs2gxg9wigwv";
+        url = "https://registry.npmjs.org/read-package-json/-/read-package-json-2.0.13.tgz";
+        sha512 = "2d6gl0kam8r9s4akgqi1pjbfqa6iszwsi1v87kw354b68s7dck4w8flnjp38b9dsj9cldbch0czj1m9gbrh252dm3c6mg2r6knmjmzz";
       };
     };
     "read-pkg-1.1.0" = {
@@ -20769,13 +21795,13 @@ let
         sha1 = "8f90341e68a53ccc928788dacfcd11b36eb9b78e";
       };
     };
-    "readable-stream-2.3.4" = {
+    "readable-stream-2.3.6" = {
       name = "readable-stream";
       packageName = "readable-stream";
-      version = "2.3.4";
+      version = "2.3.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.4.tgz";
-        sha512 = "1jpffi1v0l7pkzrhh8i9c6cbswa9npyx114cbfncfnzl9d7w9p08k9n703hq5xr2c3rg86qiq023sl1x8y6mawgsxgggy8ccrwk3rmy";
+        url = "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz";
+        sha512 = "0mj9b6190amln9rg89x5pq2n195s3v0gzicpdamv1kbabg69aw5m71l34jsjn7bqil7405l6l35x9ijnb3h4jz5vx2i00l8sl1ll2xm";
       };
     };
     "readdirp-2.1.0" = {
@@ -20823,6 +21849,15 @@ let
         sha1 = "85204b54dba82d5742e28c96756ef43af50e3384";
       };
     };
+    "record-cache-1.0.2" = {
+      name = "record-cache";
+      packageName = "record-cache";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/record-cache/-/record-cache-1.0.2.tgz";
+        sha512 = "2iykkjgwmmcma3306cjzsq34dg6rxfvwr4r11fyq56dfsybp9qwnvhc4fbi3l854zfj71fbw887bgab78ykr6b3m9gdw2lpf5sa53c0";
+      };
+    };
     "recursive-readdir-2.2.2" = {
       name = "recursive-readdir";
       packageName = "recursive-readdir";
@@ -20832,13 +21867,13 @@ let
         sha512 = "0bb5d70l5lg02x515r2klvjhhz6xcxdb4ykbx16wq45l822bbsdd8sbki7vb28j17xr7181fmwlzhx3bizvr5xdq6cxpv53sidrq44x";
       };
     };
-    "recursive-watch-1.1.3" = {
+    "recursive-watch-1.1.4" = {
       name = "recursive-watch";
       packageName = "recursive-watch";
-      version = "1.1.3";
+      version = "1.1.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/recursive-watch/-/recursive-watch-1.1.3.tgz";
-        sha512 = "3m0s8140jpamg1xxdlsslshx10qznb889s6yc8av6vvqbs56banhmjqy9lgl7g4ppsrsja0d2lhb5lacl3nxm8ggsrpdd7xqf53hvzx";
+        url = "https://registry.npmjs.org/recursive-watch/-/recursive-watch-1.1.4.tgz";
+        sha512 = "0yks7j98w5d3y375fb99kfbb8rz5qz72v6ld5i15h7fds1i02fq027w82ipanv3dkgvvrxyybw1v8lyrcs54h9airzv12sbcw1a6rvx";
       };
     };
     "redent-1.0.0" = {
@@ -20895,13 +21930,13 @@ let
         sha512 = "3a3044ax6qdvss83xgjfx10h5q91ls0mwgs3wpsnxcdsiipq3cnmqzsh6glyq0r7vsmpw49jp84c2jnfrhi2bgycrkd9hhhf6ia8lrk";
       };
     };
-    "redis-commands-1.3.4" = {
+    "redis-commands-1.3.5" = {
       name = "redis-commands";
       packageName = "redis-commands";
-      version = "1.3.4";
+      version = "1.3.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/redis-commands/-/redis-commands-1.3.4.tgz";
-        sha512 = "2xl6insq71fz02pxvdcqj9q06la7nj0g5idl66yp5x7741k6xah4slrslq8wfil0fa9lx68cgl2rvzy08p1bgp7jyvjbinc8r13df25";
+        url = "https://registry.npmjs.org/redis-commands/-/redis-commands-1.3.5.tgz";
+        sha512 = "2q8pai3gf0dczb03jjig3mpaz4j2kvw8icpgf8hp4fryr3d6c0mjkvxxdmlyhainybx4zhgqsw9ghc9p986alzdzd2n2p4cxvr8b0by";
       };
     };
     "redis-parser-2.6.0" = {
@@ -20967,6 +22002,15 @@ let
         sha512 = "3cggngaj8m70zdn8kghha4mhvavm7jfy5xm2iqi94w4gi5m5irs3nlrgg975w2231y49jnnw7zhsg648pbkl9zb6vwhii83926q7917";
       };
     };
+    "regexpp-1.1.0" = {
+      name = "regexpp";
+      packageName = "regexpp";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/regexpp/-/regexpp-1.1.0.tgz";
+        sha512 = "21xg69jgy5r7mffh5gjaqsv6izqvqh466q3fanmnzsgk33xhxp68nnszw4jcxk2w8lnc92phy26sr7xqq3ni36mg9yh2xb0bbqg1qrc";
+      };
+    };
     "registry-auth-token-3.3.2" = {
       name = "registry-auth-token";
       packageName = "registry-auth-token";
@@ -21057,6 +22101,15 @@ let
         sha1 = "c24bce2a283adad5bc3f58e0d48249b92379d8ef";
       };
     };
+    "render-media-3.0.0" = {
+      name = "render-media";
+      packageName = "render-media";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/render-media/-/render-media-3.0.0.tgz";
+        sha512 = "27zqxwa89zq3m0h5qykra6yx9jbc5cljfpx80nrm3y3rhl7ngm17fyb42xhw2sa584x2ld6ll1lnyrhvs3cihfm1ivd9g1hlvjvjaai";
+      };
+    };
     "render-readme-1.3.1" = {
       name = "render-readme";
       packageName = "render-readme";
@@ -21183,13 +22236,13 @@ let
         sha1 = "c6928946a0e06c5f8d6f8a9333469ffda46298a0";
       };
     };
-    "request-2.83.0" = {
+    "request-2.85.0" = {
       name = "request";
       packageName = "request";
-      version = "2.83.0";
+      version = "2.85.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/request/-/request-2.83.0.tgz";
-        sha512 = "0by1djkn836sqd9pk2c777wcjvp34qbk1plx7s4lmykljrblpjc64dvn6ni2vyxsbyk33wnl6avym8vgw0ggr4226xakck8mw7y07cm";
+        url = "https://registry.npmjs.org/request/-/request-2.85.0.tgz";
+        sha512 = "2d3hg10zs5ycnr8prmiwdhacf88fl0x0bi6szs0z2r07zcbk419laixwpjp8sqapbc2ifyyih7p3r60wgr58bmcncz3pqnx523c8zph";
       };
     };
     "request-2.9.203" = {
@@ -21237,13 +22290,13 @@ let
         sha1 = "529c9ccef27380adfec9a2f965b649bbee636418";
       };
     };
-    "require-from-string-2.0.1" = {
+    "require-from-string-2.0.2" = {
       name = "require-from-string";
       packageName = "require-from-string";
-      version = "2.0.1";
+      version = "2.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.1.tgz";
-        sha1 = "c545233e9d7da6616e9d59adfb39fc9f588676ff";
+        url = "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz";
+        sha512 = "09yzgr8s5p0rb2ic71zylyy7dcxk9xskcmkgh7bddq4h383nn34g47wry2yvw7flxzjzsbak6d1n9cabfgh5gnb2kifrccixrcjgzax";
       };
     };
     "require-main-filename-1.0.1" = {
@@ -21291,13 +22344,13 @@ let
         sha1 = "203114d82ad2c5ed9e8e0411b3932875e889e97b";
       };
     };
-    "resolve-1.5.0" = {
+    "resolve-1.7.1" = {
       name = "resolve";
       packageName = "resolve";
-      version = "1.5.0";
+      version = "1.7.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/resolve/-/resolve-1.5.0.tgz";
-        sha512 = "25scf9zkhf5yc9x3d7mfq2im5vyxmq3ih939na6jzblal7mgfcijmadl2maz501mkccykj714gvdhhmlzi86hbk7k03r9ipnwd142l6";
+        url = "https://registry.npmjs.org/resolve/-/resolve-1.7.1.tgz";
+        sha512 = "1zhdyfbs9gfd5iswb8dbra3gljv9mglapgcirci1zsfs78rfn557rp6z81drxxsz0m4w4imm2n9qf7yrchkfjhxz9a0vwp9hwpg1fkk";
       };
     };
     "resolve-dir-1.0.1" = {
@@ -21498,13 +22551,13 @@ let
         sha512 = "3kmrqh8xli7rzfm8wc6j9lp0c6vml172iv3z088an9xlwl1xvkvh3fn92za66ms4c9yww80qa5kan31k1z1ypqvkchmh1mznb09xdwn";
       };
     };
-    "ripemd160-2.0.1" = {
+    "ripemd160-2.0.2" = {
       name = "ripemd160";
       packageName = "ripemd160";
-      version = "2.0.1";
+      version = "2.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.1.tgz";
-        sha1 = "0f4584295c53a3628af7e6d79aca21ce57d1c6e7";
+        url = "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz";
+        sha512 = "0hbd4cqbkycj691cj7gm40x3x5w46xk56xkg6n11wskc3k4xbdz1xxxyy6r27rcwipkzp19y1fmpfmb4lgf10l8asn6prdn11m24bla";
       };
     };
     "rndm-1.2.0" = {
@@ -21579,13 +22632,22 @@ let
         sha1 = "0371ab4ae0bdd720d4166d7dfda64ff7a445a6c0";
       };
     };
-    "run-parallel-1.1.7" = {
+    "run-parallel-1.1.9" = {
       name = "run-parallel";
       packageName = "run-parallel";
-      version = "1.1.7";
+      version = "1.1.9";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/run-parallel/-/run-parallel-1.1.9.tgz";
+        sha512 = "3sl2kbxcwy92faw7zm0z4vql32622mag0bh6dv4bjk7cvc8a9sarvdclr9508hknhl0b7v8kzqvg3klvvff7psmvkfg9hy32i4sfjhc";
+      };
+    };
+    "run-parallel-limit-1.0.5" = {
+      name = "run-parallel-limit";
+      packageName = "run-parallel-limit";
+      version = "1.0.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/run-parallel/-/run-parallel-1.1.7.tgz";
-        sha512 = "322cb6n7h8761gprij4m1z52rizyzvxwviima893gphrbrxkhjv6q4ifwspd0w9jhlk7jj0x64449aagms18v7ps6hr774ymvavh7lw";
+        url = "https://registry.npmjs.org/run-parallel-limit/-/run-parallel-limit-1.0.5.tgz";
+        sha512 = "2b87xk6x0fxs3bls9zzprvxiy2ldgvjxckkfv3ccg23j6f8qv58379pmylkkiv61w6b8qcsmsciwch7lg41nxx0qk6bpgp076h3xiin";
       };
     };
     "run-queue-1.0.3" = {
@@ -21597,13 +22659,13 @@ let
         sha1 = "e848396f057d223f24386924618e25694161ec47";
       };
     };
-    "run-series-1.1.4" = {
+    "run-series-1.1.8" = {
       name = "run-series";
       packageName = "run-series";
-      version = "1.1.4";
+      version = "1.1.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/run-series/-/run-series-1.1.4.tgz";
-        sha1 = "89a73ddc5e75c9ef8ab6320c0a1600d6a41179b9";
+        url = "https://registry.npmjs.org/run-series/-/run-series-1.1.8.tgz";
+        sha512 = "1gg6q66zyhqr3ylp9zx79v9qyxns1j643p9gkk2kqkijihpvp27ilhzg0qb8kiqxcsw2m0y5rbmdkq6qdhnkar4l088p96i8dhfsv7q";
       };
     };
     "rusha-0.8.13" = {
@@ -21660,13 +22722,13 @@ let
         sha1 = "753b87a89a11c95467c4ac1626c4efc4e05c67be";
       };
     };
-    "rxjs-5.5.6" = {
+    "rxjs-5.5.10" = {
       name = "rxjs";
       packageName = "rxjs";
-      version = "5.5.6";
+      version = "5.5.10";
       src = fetchurl {
-        url = "https://registry.npmjs.org/rxjs/-/rxjs-5.5.6.tgz";
-        sha512 = "293yj2n5f5bj8b8y9czwgm5l3bqa0g3bbghnxsxwdpiz6s2mxiw6a79w3sqq3c1by3avmb5bgk8xgi0yss5y09pxw87055l60f3k15z";
+        url = "https://registry.npmjs.org/rxjs/-/rxjs-5.5.10.tgz";
+        sha512 = "3lc28jznaclc3qcipvf29dnfa11m4xdzyr4gkas29pgp0s4c44f8cyzsxyfwkqzqa8k06q7j7hl5wwyy671d8gdkwl9j76lh2cf4629";
       };
     };
     "safe-buffer-5.0.1" = {
@@ -21687,6 +22749,15 @@ let
         sha512 = "1p28rllll1w65yzq5azi4izx962399xdsdlfbaynn7vmp981hiss05jhiy9hm7sbbfk3b4dhlcv0zy07fc59mnc07hdv6wcgqkcvawh";
       };
     };
+    "safe-buffer-5.1.2" = {
+      name = "safe-buffer";
+      packageName = "safe-buffer";
+      version = "5.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz";
+        sha512 = "3xbm0dkya4bc3zwfwpdzbl8ngq0aai5ihlp2v3s39y7162c7wyvv9izj3g8hv6dy6vm2lq48lmfzygk0kxwbjb6xic7k4a329j99p8r";
+      };
+    };
     "safe-json-parse-1.0.1" = {
       name = "safe-json-parse";
       packageName = "safe-json-parse";
@@ -21714,6 +22785,24 @@ let
         sha1 = "40a3669f3b077d1e943d44629e157dd48023bf2e";
       };
     };
+    "safer-buffer-2.1.2" = {
+      name = "safer-buffer";
+      packageName = "safer-buffer";
+      version = "2.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz";
+        sha512 = "2v99f22kh56y72d3s8wrgdvf5n10ry40dh3fwnsxr4d5rfvxdfxfmc3qyqkscnj4f8799jy9bpg6cm21x2d811dr9ib83wjrlmkg6k1";
+      };
+    };
+    "sander-0.5.1" = {
+      name = "sander";
+      packageName = "sander";
+      version = "0.5.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/sander/-/sander-0.5.1.tgz";
+        sha1 = "741e245e231f07cafb6fdf0f133adfa216a502ad";
+      };
+    };
     "sanitize-html-1.18.2" = {
       name = "sanitize-html";
       packageName = "sanitize-html";
@@ -21750,15 +22839,6 @@ let
         sha1 = "d472db228eb331c2506b0e8c15524adb939d12c1";
       };
     };
-    "sax-0.6.1" = {
-      name = "sax";
-      packageName = "sax";
-      version = "0.6.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/sax/-/sax-0.6.1.tgz";
-        sha1 = "563b19c7c1de892e09bfc4f2fc30e3c27f0952b9";
-      };
-    };
     "sax-1.1.4" = {
       name = "sax";
       packageName = "sax";
@@ -21786,15 +22866,6 @@ let
         sha512 = "1dn291mjsda42w8kldlbmngk6dhjxfbvvd5lckyqmwbjaj6069iq3wx0nvcfglwnpddz2qa93lzf4hv77iz43bd2qixa079sjzl799n";
       };
     };
-    "schema-utils-0.3.0" = {
-      name = "schema-utils";
-      packageName = "schema-utils";
-      version = "0.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/schema-utils/-/schema-utils-0.3.0.tgz";
-        sha1 = "f5877222ce3e931edae039f17eb3716e7137f8cf";
-      };
-    };
     "schema-utils-0.4.5" = {
       name = "schema-utils";
       packageName = "schema-utils";
@@ -21813,6 +22884,24 @@ let
         sha1 = "a346bb1acd4207ae70bd7c0c7ca9e566b6baddb8";
       };
     };
+    "secure-keys-1.0.0" = {
+      name = "secure-keys";
+      packageName = "secure-keys";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/secure-keys/-/secure-keys-1.0.0.tgz";
+        sha1 = "f0c82d98a3b139a8776a8808050b824431087fca";
+      };
+    };
+    "seek-bzip-1.0.5" = {
+      name = "seek-bzip";
+      packageName = "seek-bzip";
+      version = "1.0.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/seek-bzip/-/seek-bzip-1.0.5.tgz";
+        sha1 = "cfe917cb3d274bcffac792758af53173eb1fabdc";
+      };
+    };
     "semaphore-async-await-1.5.1" = {
       name = "semaphore-async-await";
       packageName = "semaphore-async-await";
@@ -21903,6 +22992,15 @@ let
         sha512 = "0h32zh035y8m6dzcqhcymbhwgmc8839fa1hhj0jfh9ivp9kmqfj1sbwnsnkzcn9qm3sqn38sa8ys2g4c638lpnmzjr0a0qndmv7f8p1";
       };
     };
+    "semver-compare-1.0.0" = {
+      name = "semver-compare";
+      packageName = "semver-compare";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/semver-compare/-/semver-compare-1.0.0.tgz";
+        sha1 = "0dee216a1c941ab37e9efb1788f6afc5ff5537fc";
+      };
+    };
     "semver-diff-2.1.0" = {
       name = "semver-diff";
       packageName = "semver-diff";
@@ -21930,13 +23028,13 @@ let
         sha1 = "57f41de69707a62709a7e0104ba2117109ea47e8";
       };
     };
-    "semver-utils-1.1.1" = {
+    "semver-utils-1.1.2" = {
       name = "semver-utils";
       packageName = "semver-utils";
-      version = "1.1.1";
+      version = "1.1.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/semver-utils/-/semver-utils-1.1.1.tgz";
-        sha1 = "27d92fec34d27cfa42707d3b40d025ae9855f2df";
+        url = "https://registry.npmjs.org/semver-utils/-/semver-utils-1.1.2.tgz";
+        sha512 = "09ryf3nvrfjqr93b8fj691lh48pvqhrpah5a5fm87szs42xcnl33sss49piv1grb9h2i7icdvz0i0m5yak5ccxa6xbv4x294rsfs6zr";
       };
     };
     "send-0.0.3" = {
@@ -22047,13 +23145,13 @@ let
         sha1 = "90cff19d02e07027fd767f5ead3e7b95d1e7380c";
       };
     };
-    "serialize-javascript-1.4.0" = {
+    "serialize-javascript-1.5.0" = {
       name = "serialize-javascript";
       packageName = "serialize-javascript";
-      version = "1.4.0";
+      version = "1.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-1.4.0.tgz";
-        sha1 = "7c958514db6ac2443a8abc062dc9f7886a7f6005";
+        url = "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-1.5.0.tgz";
+        sha512 = "2hiydb59y0q07hp3qfs8g9qjhgmhmajps769wpw2f5ghxwy3ibr7y7lnx7q23snmc3asgzhik0444jvfs3d4gmy0qx9w0n0v3q1rbqr";
       };
     };
     "serve-favicon-2.3.2" = {
@@ -22065,13 +23163,13 @@ let
         sha1 = "dd419e268de012ab72b319d337f2105013f9381f";
       };
     };
-    "serve-favicon-2.4.5" = {
+    "serve-favicon-2.5.0" = {
       name = "serve-favicon";
       packageName = "serve-favicon";
-      version = "2.4.5";
+      version = "2.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/serve-favicon/-/serve-favicon-2.4.5.tgz";
-        sha512 = "2gn8a5l0hh655cxq2cvvar6k1hl8cpmagplavx6svjiz9kmi968nwbzhpc2fvpcpmsfqb8s5jjq0gvn8vwwc2lx3cj57ckbcf3prcdk";
+        url = "https://registry.npmjs.org/serve-favicon/-/serve-favicon-2.5.0.tgz";
+        sha1 = "935d240cdfe0f5805307fdfe967d88942a2cbcf0";
       };
     };
     "serve-index-1.7.3" = {
@@ -22146,13 +23244,13 @@ let
         sha1 = "f13bf928e42b9c3e79383e61cc3998b5d14e6cdd";
       };
     };
-    "service-runner-2.5.1" = {
+    "service-runner-2.3.0" = {
       name = "service-runner";
       packageName = "service-runner";
-      version = "2.5.1";
+      version = "2.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/service-runner/-/service-runner-2.5.1.tgz";
-        sha1 = "b282214463187607748aa3695023a09f5d28c672";
+        url = "https://registry.npmjs.org/service-runner/-/service-runner-2.3.0.tgz";
+        sha1 = "09039dfdcc40cdbd0259dd3f982916675838cb59";
       };
     };
     "set-blocking-2.0.0" = {
@@ -22164,15 +23262,6 @@ let
         sha1 = "045f9782d011ae9a6803ddd382b24392b3d890f7";
       };
     };
-    "set-getter-0.1.0" = {
-      name = "set-getter";
-      packageName = "set-getter";
-      version = "0.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/set-getter/-/set-getter-0.1.0.tgz";
-        sha1 = "d769c182c9d5a51f409145f2fba82e5e86e80376";
-      };
-    };
     "set-immediate-shim-1.0.1" = {
       name = "set-immediate-shim";
       packageName = "set-immediate-shim";
@@ -22227,13 +23316,13 @@ let
         sha512 = "2jlhhawfqdiga1m6if01ks1q3yx56k5vj6wf372589vkswvdflw7224viivxali56b0jjsckpmjy10rj6fcakhw2dbq2psr197kzw86";
       };
     };
-    "sha.js-2.4.10" = {
+    "sha.js-2.4.11" = {
       name = "sha.js";
       packageName = "sha.js";
-      version = "2.4.10";
+      version = "2.4.11";
       src = fetchurl {
-        url = "https://registry.npmjs.org/sha.js/-/sha.js-2.4.10.tgz";
-        sha512 = "2lfna0mg4mzdki4p3q29rsgywbghvy6f6jy6b61zj68d2d936wfqjgqpsdjchfcqkiim53qknpcnq9iiafyidfrw154qf75a2n2cz5y";
+        url = "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz";
+        sha512 = "2lihh3p2mrwymrly93ni37b1dvzwbm1jc47iqp66ax4bj41js4mr94wghv3c2agq98bb44nxxddn2n67ab978zk00xx2znw3vj2kha0";
       };
     };
     "shallow-clone-0.1.2" = {
@@ -22353,13 +23442,13 @@ let
         sha1 = "3ff21f198cad2175f9f3b781853fd94d0d19b590";
       };
     };
-    "sign-addon-0.2.2" = {
+    "sign-addon-0.3.0" = {
       name = "sign-addon";
       packageName = "sign-addon";
-      version = "0.2.2";
+      version = "0.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/sign-addon/-/sign-addon-0.2.2.tgz";
-        sha512 = "3v5myvfbil1c5fsvqx32vqdv7mk62059isry4811avmkgzfv95scw8pnkwa77m6zg9g8vgsp3glqjm65k3rj8xfxnqv24mcmhjk78bz";
+        url = "https://registry.npmjs.org/sign-addon/-/sign-addon-0.3.0.tgz";
+        sha512 = "2czjlarf0pa0svlhbdb9i6hrk429za0gsialmxbmgwgbhyjx7mxkgf5mww4rkmsbncdi2va8p64rxjxf7gv8b0jd2a87cvm7rw5pky5";
       };
     };
     "signal-exit-3.0.2" = {
@@ -22407,22 +23496,31 @@ let
         sha1 = "e9755eda407e96da40c5e5158c9ea37b33becbeb";
       };
     };
-    "simple-get-2.7.0" = {
+    "simple-get-2.8.1" = {
       name = "simple-get";
       packageName = "simple-get";
-      version = "2.7.0";
+      version = "2.8.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/simple-get/-/simple-get-2.7.0.tgz";
-        sha512 = "2r1w3cxxmd92r19mjrlzwn6xypjd5vrx0gk21l2bmxcp1x54pavhmifbhq8llxfk6z2lmzly7g3l8rrdl19m65nzlcicwy7cfn3sha6";
+        url = "https://registry.npmjs.org/simple-get/-/simple-get-2.8.1.tgz";
+        sha512 = "13j7pz8kfspyi25dkkvb6wm5r95yf7adskwf7z46g02vv27clgq9lgpbxx2hy1s5qip45dim625sby77fm4c67h31a0769p5i2qf94m";
       };
     };
-    "simple-git-1.91.0" = {
+    "simple-get-3.0.2" = {
+      name = "simple-get";
+      packageName = "simple-get";
+      version = "3.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/simple-get/-/simple-get-3.0.2.tgz";
+        sha512 = "021na7dsxyawdzbif9l56dzgvzdd5s4kwm09rb8hg3abvr94i05arvn0z6q5vmpi24bmnnp2i677rf7964fza0frx3zx406a82x6kbm";
+      };
+    };
+    "simple-git-1.92.0" = {
       name = "simple-git";
       packageName = "simple-git";
-      version = "1.91.0";
+      version = "1.92.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/simple-git/-/simple-git-1.91.0.tgz";
-        sha1 = "842db6c2ba08328e93c17391a895b850518cd13a";
+        url = "https://registry.npmjs.org/simple-git/-/simple-git-1.92.0.tgz";
+        sha1 = "6061468eb7d19f0141078fc742e62457e910f547";
       };
     };
     "simple-lru-cache-0.0.2" = {
@@ -22443,6 +23541,15 @@ let
         sha1 = "4e421f485ac7b13b08077a4476934d52c5ba3bb3";
       };
     };
+    "simple-peer-9.1.1" = {
+      name = "simple-peer";
+      packageName = "simple-peer";
+      version = "9.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/simple-peer/-/simple-peer-9.1.1.tgz";
+        sha512 = "27d9j7ah5ync1cndpinw966zb81lc9z6pc38y8dkc1l5rxdkv3fmf5ilhf0jq94m3qvb2ipldjmvbs1sza5ccvazwlr4pjgfr07ym23";
+      };
+    };
     "simple-plist-0.2.1" = {
       name = "simple-plist";
       packageName = "simple-plist";
@@ -22479,6 +23586,15 @@ let
         sha1 = "5d3d5751bb39aeba2f710d8eec78768df821f38d";
       };
     };
+    "simple-websocket-7.0.2" = {
+      name = "simple-websocket";
+      packageName = "simple-websocket";
+      version = "7.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/simple-websocket/-/simple-websocket-7.0.2.tgz";
+        sha512 = "2x42bhq5w7k053k2jdhvhd2p7lmr407fkb7fwi0k7glaggf6hb452704yh1zvx83mrhdvyscmpyp971p2slmisiffmfvd6cl5md423h";
+      };
+    };
     "simplediff-0.1.1" = {
       name = "simplediff";
       packageName = "simplediff";
@@ -22668,13 +23784,13 @@ let
         sha1 = "d76ef9127cb23c2259edb1e8349c2e8d5e2d74c1";
       };
     };
-    "snapdragon-0.8.1" = {
+    "snapdragon-0.8.2" = {
       name = "snapdragon";
       packageName = "snapdragon";
-      version = "0.8.1";
+      version = "0.8.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.1.tgz";
-        sha1 = "e12b5487faded3e3dea0ac91e9400bf75b401370";
+        url = "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz";
+        sha512 = "2b0sap2q0c6qbfkw6znql845b143frn5gkkz4gpirjhgwa2j3wy3jsvrfg51s5c1w1m4nkgis97x9yvmzsc533kap9j3h3zcffqxp0n";
       };
     };
     "snapdragon-node-2.1.1" = {
@@ -22731,121 +23847,121 @@ let
         sha512 = "0k2smmr24w5hb1cpql6vcgh58vzp4pmh9anf0bgz3arlsgq1mapnlq9fjqr6xs10aq1cmxaw987fwknqi62frax0fvs9bj3q3kmpg8l";
       };
     };
-    "snyk-1.69.10" = {
+    "snyk-1.78.1" = {
       name = "snyk";
       packageName = "snyk";
-      version = "1.69.10";
+      version = "1.78.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/snyk/-/snyk-1.69.10.tgz";
-        sha1 = "34c66b21791435dd17fa2955904a5fdd6b57415d";
+        url = "https://registry.npmjs.org/snyk/-/snyk-1.78.1.tgz";
+        sha1 = "a9eefbc97c6f0179f3cc318a4232aacd57e347fe";
       };
     };
-    "snyk-config-1.0.1" = {
+    "snyk-config-2.1.0" = {
       name = "snyk-config";
       packageName = "snyk-config";
-      version = "1.0.1";
+      version = "2.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/snyk-config/-/snyk-config-1.0.1.tgz";
-        sha1 = "f27aec2498b24027ac719214026521591111508f";
+        url = "https://registry.npmjs.org/snyk-config/-/snyk-config-2.1.0.tgz";
+        sha512 = "0r81kdx8az7nfiv0r36ggarzdw5rzai06qivv1r48xdfax2gdz9axxjhnwyzhf3mpz6245fz2ilc8l349h85s01yh05rxjsjvbg6m8g";
       };
     };
-    "snyk-go-plugin-1.4.5" = {
+    "snyk-go-plugin-1.5.0" = {
       name = "snyk-go-plugin";
       packageName = "snyk-go-plugin";
-      version = "1.4.5";
+      version = "1.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/snyk-go-plugin/-/snyk-go-plugin-1.4.5.tgz";
-        sha512 = "0m7m3yjv33vq1p6gwn30vxmacrahvw08j432pva601fm2b48j9f5hq8v6zdrzna2yw6xqg1dnhd7gxskpivvl4rzs3fji23yfvxgqxs";
+        url = "https://registry.npmjs.org/snyk-go-plugin/-/snyk-go-plugin-1.5.0.tgz";
+        sha512 = "20i967dg1n1pir2j0ivpd72i5j3y9xa3826jvl8jspmg9wfnpfq6x0isp3irw42zrcvflshi0nhk3sckcj3lqgjaw82g14wda28g80z";
       };
     };
-    "snyk-gradle-plugin-1.2.0" = {
+    "snyk-gradle-plugin-1.3.0" = {
       name = "snyk-gradle-plugin";
       packageName = "snyk-gradle-plugin";
-      version = "1.2.0";
+      version = "1.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/snyk-gradle-plugin/-/snyk-gradle-plugin-1.2.0.tgz";
-        sha512 = "1b2bxvwl2v4prlj942i4jkz4mahgp39j7lvy91jzv00nsk59l76b1icn48zj4zk84s00jil3pnxnfzsclhcc612d70s4wwi3x2hrrqn";
+        url = "https://registry.npmjs.org/snyk-gradle-plugin/-/snyk-gradle-plugin-1.3.0.tgz";
+        sha512 = "22av46k72s8cgigsj0ppir7cd1150079mg1hhb8qgkg9a4asdw3wn48ahwra08rai0rd4z4jhwhmhpc7d63np4ivvjdqcy30qzmr9mc";
       };
     };
-    "snyk-module-1.8.1" = {
+    "snyk-module-1.8.2" = {
       name = "snyk-module";
       packageName = "snyk-module";
-      version = "1.8.1";
+      version = "1.8.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/snyk-module/-/snyk-module-1.8.1.tgz";
-        sha1 = "31d5080fb1c0dfd6fa8567dd34a523fd02bf1fca";
+        url = "https://registry.npmjs.org/snyk-module/-/snyk-module-1.8.2.tgz";
+        sha512 = "03372r6cvic19gajy5sa3q11sjal4499svhv50bglywf9jfi2555lpnvsshh08kr6krwcmnm7vb3fm4va3pb616h5wy4ln2kxnmva2y";
       };
     };
-    "snyk-mvn-plugin-1.1.1" = {
+    "snyk-mvn-plugin-1.2.0" = {
       name = "snyk-mvn-plugin";
       packageName = "snyk-mvn-plugin";
-      version = "1.1.1";
+      version = "1.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/snyk-mvn-plugin/-/snyk-mvn-plugin-1.1.1.tgz";
-        sha512 = "3h9drys1g2wh3w072rn00zw57g5xy42ap38k05gvdryiphx8p9iksb4azg4dyf2vd616jzslqid45hjd6iphafdzpk4b90mws880hqa";
+        url = "https://registry.npmjs.org/snyk-mvn-plugin/-/snyk-mvn-plugin-1.2.0.tgz";
+        sha512 = "3pq0wqa8isczv7pcwfm9jfh5qkwjd482hw45m40c5vnnzbxxbji4m1zvxybpzb08azfp6rigblr0hkrhb8m59qf24hcy1scgn3ddr49";
       };
     };
-    "snyk-nuget-plugin-1.3.9" = {
+    "snyk-nuget-plugin-1.4.0" = {
       name = "snyk-nuget-plugin";
       packageName = "snyk-nuget-plugin";
-      version = "1.3.9";
+      version = "1.4.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/snyk-nuget-plugin/-/snyk-nuget-plugin-1.3.9.tgz";
-        sha512 = "017qpf5cy1f0x8apjc1a3qp3aa9w7v7zlyy8jb8r7q4ilsnpdzvywrxhd6s1yy3b9fiylmgmldgdcz77srqq9pm2njvdi80pyd00zqp";
+        url = "https://registry.npmjs.org/snyk-nuget-plugin/-/snyk-nuget-plugin-1.4.0.tgz";
+        sha512 = "1frla7fsnn7ijg088bjqqy7iq5q0if7sz337rb1g6h5kg760z7968yjgi3nprp218vbpqjrf75xpi6m8dj8k04gpfdkb2am9klnymh4";
       };
     };
-    "snyk-php-plugin-1.3.2" = {
+    "snyk-php-plugin-1.5.0" = {
       name = "snyk-php-plugin";
       packageName = "snyk-php-plugin";
-      version = "1.3.2";
+      version = "1.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/snyk-php-plugin/-/snyk-php-plugin-1.3.2.tgz";
-        sha512 = "2fihlcs2qxdbdfy1pjnf7110l6h4r16vkp0q51wqsfd8fw5s1qgb34plii6yhbfbs8a1il93i6hfn93yclbv50m2129wg7naf57jlqi";
+        url = "https://registry.npmjs.org/snyk-php-plugin/-/snyk-php-plugin-1.5.0.tgz";
+        sha512 = "10p6nq7sxfdfzaqh87s2hnw00vr904bklcscp26yvimdsa5p5n0x4m8ynbiiqa0b35rgp2lpq5qxmybgnshwv8b97fh89vq2i5lsbhx";
       };
     };
-    "snyk-policy-1.10.2" = {
+    "snyk-policy-1.12.0" = {
       name = "snyk-policy";
       packageName = "snyk-policy";
-      version = "1.10.2";
+      version = "1.12.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/snyk-policy/-/snyk-policy-1.10.2.tgz";
-        sha1 = "2a7bf0f07c7b811b9dda93cf9bbb10dc992dd7bc";
+        url = "https://registry.npmjs.org/snyk-policy/-/snyk-policy-1.12.0.tgz";
+        sha512 = "3pmnx9hjrlz0gpxy6b2gia65h1rpdalc1g68s759p0ik0xq5rgi8hm3cqnvicg24cgqm8qwdsf5v7bcfxcj3m6yi7rc2wgkf0vahj08";
       };
     };
-    "snyk-python-plugin-1.5.6" = {
+    "snyk-python-plugin-1.6.0" = {
       name = "snyk-python-plugin";
       packageName = "snyk-python-plugin";
-      version = "1.5.6";
+      version = "1.6.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/snyk-python-plugin/-/snyk-python-plugin-1.5.6.tgz";
-        sha512 = "1iv7h9k0vj7g2zzx8nzighx84q70kwvl4hhzd4fzxmc8vv06ymwwn4v7cirgbksqrjf9z1bfxq8id308ifb1flyas7blz8zs7xf4w30";
+        url = "https://registry.npmjs.org/snyk-python-plugin/-/snyk-python-plugin-1.6.0.tgz";
+        sha512 = "06n8zx8az0afp7b2gnav664hzmjxg5dp96a5vmy5a58dhr278x6fl7pgsd332ykxanphrm59dsm0hyka2s8wibam2v8wjbgm4xxrlzz";
       };
     };
-    "snyk-resolve-1.0.0" = {
+    "snyk-resolve-1.0.1" = {
       name = "snyk-resolve";
       packageName = "snyk-resolve";
-      version = "1.0.0";
+      version = "1.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/snyk-resolve/-/snyk-resolve-1.0.0.tgz";
-        sha1 = "bbe9196d37f57c39251e6be75ccdd5b2097e99a2";
+        url = "https://registry.npmjs.org/snyk-resolve/-/snyk-resolve-1.0.1.tgz";
+        sha512 = "2kh7wgl3yjw4am7ay4ag5d6qynbj06jzqf6wph17lhwx9ichwl6adqaf8nbsksib1y65kmvmvqm90j5zqdxfx6qj97qs1kdp0nbxs7g";
       };
     };
-    "snyk-resolve-deps-1.7.0" = {
+    "snyk-resolve-deps-3.1.0" = {
       name = "snyk-resolve-deps";
       packageName = "snyk-resolve-deps";
-      version = "1.7.0";
+      version = "3.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/snyk-resolve-deps/-/snyk-resolve-deps-1.7.0.tgz";
-        sha1 = "13743a058437dff890baaf437c333c966a743cb6";
+        url = "https://registry.npmjs.org/snyk-resolve-deps/-/snyk-resolve-deps-3.1.0.tgz";
+        sha512 = "3qk3349lw5q1spqk4q1arw496hbp4d8qlj576whfl710kf7ajwpv4kcak5wprzhvwmqs656q7w71sc0jvz9afprh65rlklx3yaiwl31";
       };
     };
-    "snyk-sbt-plugin-1.2.4" = {
+    "snyk-sbt-plugin-1.3.0" = {
       name = "snyk-sbt-plugin";
       packageName = "snyk-sbt-plugin";
-      version = "1.2.4";
+      version = "1.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/snyk-sbt-plugin/-/snyk-sbt-plugin-1.2.4.tgz";
-        sha512 = "3fry8q6f0nrcrzs67zjxkgabb0hinyn5zy1kxq8wf9ca1r0fs67mk4ybiy4fxjy8rwj2axbhhhc3lf5wi97m3amh9k70pakg08yq7q4";
+        url = "https://registry.npmjs.org/snyk-sbt-plugin/-/snyk-sbt-plugin-1.3.0.tgz";
+        sha512 = "03bdn4g3836nyv06flg4g6jnr9j297z8ay67jg0k7zfanwg7glaaqbkxzas1bl36jj1snyb8ifb8xvhshbxjbvl6xpngxxpbq3ly729";
       };
     };
     "snyk-tree-1.0.0" = {
@@ -22857,13 +23973,13 @@ let
         sha1 = "0fb73176dbf32e782f19100294160448f9111cc8";
       };
     };
-    "snyk-try-require-1.2.0" = {
+    "snyk-try-require-1.3.0" = {
       name = "snyk-try-require";
       packageName = "snyk-try-require";
-      version = "1.2.0";
+      version = "1.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/snyk-try-require/-/snyk-try-require-1.2.0.tgz";
-        sha1 = "30fc2b11c07064591ee35780c826be91312f2144";
+        url = "https://registry.npmjs.org/snyk-try-require/-/snyk-try-require-1.3.0.tgz";
+        sha1 = "f35706acf91c8af788d58e1f1ad6bf0fcf6c5493";
       };
     };
     "socket.io-0.9.14" = {
@@ -22902,6 +24018,15 @@ let
         sha1 = "c1a4590ceff87ecf13c72652f046f716b29e6014";
       };
     };
+    "socket.io-2.1.0" = {
+      name = "socket.io";
+      packageName = "socket.io";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/socket.io/-/socket.io-2.1.0.tgz";
+        sha512 = "2wkm6yqxvn8wk51rbakza3zxg3rknzfgmwqrbzvnlacf1yylplsr61i67m01sg8x7589ymj6x3z266ngvqd6qyyakdx4dlnsl4bfbr9";
+      };
+    };
     "socket.io-adapter-0.2.0" = {
       name = "socket.io-adapter";
       packageName = "socket.io-adapter";
@@ -22965,6 +24090,15 @@ let
         sha1 = "0918a552406dc5e540b380dcd97afc4a64332f8e";
       };
     };
+    "socket.io-client-2.1.0" = {
+      name = "socket.io-client";
+      packageName = "socket.io-client";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/socket.io-client/-/socket.io-client-2.1.0.tgz";
+        sha512 = "1xkd66603gshd7s080j107ms405z18mljc7gbmnkllph1zfg82sz5mgvsyhi1zs3bbv5lgvv29gxfn624gpv46v5mwy610wpnj8zwjf";
+      };
+    };
     "socket.io-parser-2.1.2" = {
       name = "socket.io-parser";
       packageName = "socket.io-parser";
@@ -23001,6 +24135,15 @@ let
         sha512 = "3pd3lbxawkd1zs739v0vv81vhf6pyax989j96hrc7vhql0xv7kn13sr893hrnn6m71jngw5h61523dq0b0p8drvff0fm0lbz8fbcil3";
       };
     };
+    "socket.io-parser-3.2.0" = {
+      name = "socket.io-parser";
+      packageName = "socket.io-parser";
+      version = "3.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-3.2.0.tgz";
+        sha512 = "10calkdapaxrn8pjqghqxl9h2s6bm76wdd7rp3fd468zz43xcyx6qvywfdivrb2r1dsddig2byv2mbymiyb2q4r628s7z6wpb3q320m";
+      };
+    };
     "socks-1.1.10" = {
       name = "socks";
       packageName = "socks";
@@ -23028,22 +24171,31 @@ let
         sha512 = "33yfj0m61wn7g9s59m7mxhm6w91nkdrd7hcnnbacrj58zqgykpyr7f6lsggvc9xzysrf951ncxh4malqi11yf8z6909fasllxi6cnxh";
       };
     };
-    "sodium-javascript-0.5.4" = {
+    "socks-proxy-agent-3.0.1" = {
+      name = "socks-proxy-agent";
+      packageName = "socks-proxy-agent";
+      version = "3.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-3.0.1.tgz";
+        sha512 = "2a5lsw4fry6nqk3jdxvwqrnpasypvl8c4d0kg32912820lc72l7s9jzidfsrn2an9c66xqicspxb2vnir5cjspprs9qklxnd75060b7";
+      };
+    };
+    "sodium-javascript-0.5.5" = {
       name = "sodium-javascript";
       packageName = "sodium-javascript";
-      version = "0.5.4";
+      version = "0.5.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/sodium-javascript/-/sodium-javascript-0.5.4.tgz";
-        sha512 = "1dqdzm0qjk1rwq62b010b649wdpvlzdxpmwc972p0dcwsc86wqfcm8lbdcxlrwypkn2jq5df1xpbxhxfphnpr993ac543p9s212si30";
+        url = "https://registry.npmjs.org/sodium-javascript/-/sodium-javascript-0.5.5.tgz";
+        sha512 = "3451wvpagbw2ib50galmlfrb5za3zh0ml1irbm2ijd0lbjblg9va4fnag6sfs7msb1m0i5zicz93jwp90c22v0n40qzpczhicg85jah";
       };
     };
-    "sodium-native-2.1.4" = {
+    "sodium-native-2.1.6" = {
       name = "sodium-native";
       packageName = "sodium-native";
-      version = "2.1.4";
+      version = "2.1.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/sodium-native/-/sodium-native-2.1.4.tgz";
-        sha512 = "3d3bbjycbpplxgjpfz78vqr8g8hp62j37hr4c3vym7ax36qzxqan73fmqw2i3wd8ix65ysdlzbnzhrs3634ngp840gfpmm9alarc80j";
+        url = "https://registry.npmjs.org/sodium-native/-/sodium-native-2.1.6.tgz";
+        sha512 = "3y0f008galwxign4qb49q2kfkhz68nfxazpcq5y63wahaqly89x640nnv8cv4rg9xn1vbp5wia76vkmh1ja13dp95vjzw2lv5q2zymx";
       };
     };
     "sodium-universal-2.0.0" = {
@@ -23055,6 +24207,15 @@ let
         sha512 = "2rd6r7v2i3z76rzvllqx9ywk5f64q23944njcf14vv7x3l0illqn41bgdiifik4kswgys99mxsrqinq8akf3n7b15r9871km74mbivj";
       };
     };
+    "sorcery-0.10.0" = {
+      name = "sorcery";
+      packageName = "sorcery";
+      version = "0.10.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/sorcery/-/sorcery-0.10.0.tgz";
+        sha1 = "8ae90ad7d7cb05fc59f1ab0c637845d5c15a52b7";
+      };
+    };
     "sort-keys-1.1.2" = {
       name = "sort-keys";
       packageName = "sort-keys";
@@ -23226,31 +24387,22 @@ let
         sha1 = "32552aa64b458392a85eab3b0b5ee61527167aeb";
       };
     };
-    "source-map-support-0.5.0" = {
-      name = "source-map-support";
-      packageName = "source-map-support";
-      version = "0.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.0.tgz";
-        sha512 = "3nwgpximc17yn0lfg8658fxkm2hwbpvnbx5x1g0qgqvjm3vzld96rh1gf6iw1srbkicp0m825sq92r9bnj2r2gl8ys0f7fzivf0sjmx";
-      };
-    };
-    "source-map-support-0.5.1" = {
+    "source-map-support-0.5.3" = {
       name = "source-map-support";
       packageName = "source-map-support";
-      version = "0.5.1";
+      version = "0.5.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.1.tgz";
-        sha512 = "276x5a16yv0nlzjdvspsnbkxqhv8lvfj7a0sfzkaasfcwa2rm1ni3h3c0fva63bfqnazbywvs4pzrnbwg43j7gpymjd9cbbndq5x4qi";
+        url = "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.3.tgz";
+        sha512 = "3xy2ylp2qm8jwglcsf2fjwvn5w56im64w7yjghyv9ilw2fc5qj65w8h38lpls27m3b5prv8x9cnfmrhkfk7rlb52hmf810ycs0i7abq";
       };
     };
-    "source-map-support-0.5.3" = {
+    "source-map-support-0.5.4" = {
       name = "source-map-support";
       packageName = "source-map-support";
-      version = "0.5.3";
+      version = "0.5.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.3.tgz";
-        sha512 = "3xy2ylp2qm8jwglcsf2fjwvn5w56im64w7yjghyv9ilw2fc5qj65w8h38lpls27m3b5prv8x9cnfmrhkfk7rlb52hmf810ycs0i7abq";
+        url = "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.4.tgz";
+        sha512 = "1vfdnbvldylljhm89hfxwsr3pd108my5z1l9gx8ld1j2v2bfpranqc7kc8i9mj24lbq6c4xxs181anrsa5ypbfd3r08v3c1dqyd4i1w";
       };
     };
     "source-map-url-0.4.0" = {
@@ -23262,6 +24414,15 @@ let
         sha1 = "3e935d7ddd73631b97659956d55128e87b5084a3";
       };
     };
+    "sourcemap-codec-1.4.1" = {
+      name = "sourcemap-codec";
+      packageName = "sourcemap-codec";
+      version = "1.4.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.1.tgz";
+        sha512 = "3645hn4agfzixljvwx4l0fwxqvcr6f0j7pvgcdcy34788n1qaabrs1nawn8c10qk8pw4b21mb0f0chgfhl10rzir7y5i2kf2cs5wzc5";
+      };
+    };
     "sparkles-1.0.0" = {
       name = "sparkles";
       packageName = "sparkles";
@@ -23469,13 +24630,13 @@ let
         sha1 = "512675a28f08f1e581779e1989ab1e13effb49e4";
       };
     };
-    "sshpk-1.13.1" = {
+    "sshpk-1.14.1" = {
       name = "sshpk";
       packageName = "sshpk";
-      version = "1.13.1";
+      version = "1.14.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/sshpk/-/sshpk-1.13.1.tgz";
-        sha1 = "512df6da6287144316dc4c18fe1cf1d940739be3";
+        url = "https://registry.npmjs.org/sshpk/-/sshpk-1.14.1.tgz";
+        sha1 = "130f5975eddad963f1d56f92b9ac6c51fa9f83eb";
       };
     };
     "sshpk-1.7.1" = {
@@ -23496,31 +24657,22 @@ let
         sha1 = "62e143c18530fda103320b3403e8ad42786d9718";
       };
     };
-    "ssri-4.1.6" = {
+    "ssri-5.3.0" = {
       name = "ssri";
       packageName = "ssri";
-      version = "4.1.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ssri/-/ssri-4.1.6.tgz";
-        sha512 = "283n1p781cl2pj3jk32blcvwjdlaixng0v5x2f9qi3ndxrmyg3hk4clsjpcfsszkymy40q426yz5skax4ivsmll2p9hhcc00ivc4ijr";
-      };
-    };
-    "ssri-5.2.4" = {
-      name = "ssri";
-      packageName = "ssri";
-      version = "5.2.4";
+      version = "5.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ssri/-/ssri-5.2.4.tgz";
-        sha512 = "2si1dr4dwg0bkvsn38d6rk5raw5lbn2m9giwf8pnhy55wqgxsvv7b1pn252wj166cd8j302a2gwjy00ni473yr1vrxrzmssqs000waj";
+        url = "https://registry.npmjs.org/ssri/-/ssri-5.3.0.tgz";
+        sha512 = "00qc3iqsi21cc2az3nz36q88psab4ickpzranndk6vmrb6yhn5xsq3kgp21x3lp0406bdaalpb59xy7zzqnl40ans69v3z2l8z8h52x";
       };
     };
-    "stable-0.1.6" = {
+    "stable-0.1.8" = {
       name = "stable";
       packageName = "stable";
-      version = "0.1.6";
+      version = "0.1.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/stable/-/stable-0.1.6.tgz";
-        sha1 = "910f5d2aed7b520c6e777499c1f32e139fdecb10";
+        url = "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz";
+        sha512 = "3mw0cg71gcp6hfg3x0snaxcva4yqnifs11vbs3ba4agmcz8njmz70ndk5d8z97441jdvjhvb8aq8r44ngd8z4iw5hpgfmff372nlbwf";
       };
     };
     "stack-trace-0.0.10" = {
@@ -23541,6 +24693,15 @@ let
         sha1 = "a8f6eaeca90674c333e7c43953f275b451510695";
       };
     };
+    "stat-mode-0.2.2" = {
+      name = "stat-mode";
+      packageName = "stat-mode";
+      version = "0.2.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/stat-mode/-/stat-mode-0.2.2.tgz";
+        sha1 = "e6c80b623123d7d80cf132ce538f346289072502";
+      };
+    };
     "static-extend-0.1.2" = {
       name = "static-extend";
       packageName = "static-extend";
@@ -23595,6 +24756,15 @@ let
         sha512 = "1xxwqpj713rq1idbmp7mj7cj9dl52lazgpd5x8a9g88jawbkn9xpwbgljl7cvnd0jqkll2zpdj5xy63dlis9l2k8vmx1n1gvyv8456f";
       };
     };
+    "statuses-1.5.0" = {
+      name = "statuses";
+      packageName = "statuses";
+      version = "1.5.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz";
+        sha1 = "161c7dac177659fd9811f43771fa99381478628c";
+      };
+    };
     "steno-0.4.4" = {
       name = "steno";
       packageName = "steno";
@@ -23676,13 +24846,13 @@ let
         sha512 = "2h4ymczmf5aqldga4sj8acqlzc3almazi2vwiv7kx63k28sz1wwkqgzzv1hn47jf49k1x94w25fmmi001h5mj3n6g9in1s6b1n5vkcr";
       };
     };
-    "stream-http-2.8.0" = {
+    "stream-http-2.8.1" = {
       name = "stream-http";
       packageName = "stream-http";
-      version = "2.8.0";
+      version = "2.8.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/stream-http/-/stream-http-2.8.0.tgz";
-        sha512 = "2ghzil78wsr29z8p1883i0vwx9gpsspha4wvdbpvqzbknrfiavwis010i5a7vy0xx8n486f6kwmjxsk3mg1w4bjy4whvizriz28b4xi";
+        url = "https://registry.npmjs.org/stream-http/-/stream-http-2.8.1.tgz";
+        sha512 = "3fbvnv92iyjjnbpggg15blfwzyk4q0f5rsdz2wyyd20j05vw8qgmr185r1r36i3m6qqb82il99qn0b09bb4b7s1myvccbf1bsij63bi";
       };
     };
     "stream-parser-0.3.1" = {
@@ -23721,6 +24891,24 @@ let
         sha1 = "bbf6b39f5f43ec30bc71babcb37557acecf34353";
       };
     };
+    "stream-to-blob-1.0.0" = {
+      name = "stream-to-blob";
+      packageName = "stream-to-blob";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/stream-to-blob/-/stream-to-blob-1.0.0.tgz";
+        sha1 = "9f7a1ada39e16ea282ebb7e4cda307edabde658d";
+      };
+    };
+    "stream-to-blob-url-2.1.0" = {
+      name = "stream-to-blob-url";
+      packageName = "stream-to-blob-url";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/stream-to-blob-url/-/stream-to-blob-url-2.1.0.tgz";
+        sha1 = "c341d10502ec51250607327258ec2f586b07d626";
+      };
+    };
     "stream-to-promise-2.2.0" = {
       name = "stream-to-promise";
       packageName = "stream-to-promise";
@@ -23757,6 +24945,15 @@ let
         sha1 = "7d8e6b4e03ac4781778f8c79517501bfb0762a9f";
       };
     };
+    "stream-with-known-length-to-buffer-1.0.1" = {
+      name = "stream-with-known-length-to-buffer";
+      packageName = "stream-with-known-length-to-buffer";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/stream-with-known-length-to-buffer/-/stream-with-known-length-to-buffer-1.0.1.tgz";
+        sha512 = "07gzjgqphsbkfbc3f594kfja4kwr0sa8ss7arj47znz5wy5m2sw3qkfzgfxpaaijiliwbr3wny331q83kj55j72jsgm0jbsad5m8mdf";
+      };
+    };
     "streamline-0.10.17" = {
       name = "streamline";
       packageName = "streamline";
@@ -23901,22 +25098,22 @@ let
         sha512 = "29s1fqgr4mnhfxwczgdghfmmc1f792m9hysvcjxw2h5lfj8ndf2b6gm02m96qk5m75g4aisijvng4pk618anwbr8i9ay2jyszkqgslw";
       };
     };
-    "string.prototype.codepointat-0.2.0" = {
+    "string.prototype.codepointat-0.2.1" = {
       name = "string.prototype.codepointat";
       packageName = "string.prototype.codepointat";
-      version = "0.2.0";
+      version = "0.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/string.prototype.codepointat/-/string.prototype.codepointat-0.2.0.tgz";
-        sha1 = "6b26e9bd3afcaa7be3b4269b526de1b82000ac78";
+        url = "https://registry.npmjs.org/string.prototype.codepointat/-/string.prototype.codepointat-0.2.1.tgz";
+        sha512 = "1r18lbap331hx5hfic2irpd3rai1ymp5s93p5xfzfr0khw9krkx51glwhmdjxbrk07kryqqdc2fly59avw3pq3q2apq7q487q55bh6r";
       };
     };
-    "string2compact-1.2.2" = {
+    "string2compact-1.2.3" = {
       name = "string2compact";
       packageName = "string2compact";
-      version = "1.2.2";
+      version = "1.2.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/string2compact/-/string2compact-1.2.2.tgz";
-        sha1 = "420b3a9ee1c46854919b4a2aeac65c43fa50597b";
+        url = "https://registry.npmjs.org/string2compact/-/string2compact-1.2.3.tgz";
+        sha512 = "2v32r74gw45hwccyyv9br6r685nps3c7z95ik5c9sip5nva4flx1scz0mg3h47hw0xrnfj0wh89binqz26ld86zvqxhai2067g3bi7d";
       };
     };
     "string_decoder-0.10.31" = {
@@ -23937,13 +25134,22 @@ let
         sha512 = "22vw5mmwlyblqc2zyqwl39wyhyahhpiyknim8iz5fk6xi002x777gkswiq8fh297djs5ii4pgrys57wq33hr5zf3xfd0d7kjxkzl0g0";
       };
     };
-    "stringify-entities-1.3.1" = {
+    "string_decoder-1.1.1" = {
+      name = "string_decoder";
+      packageName = "string_decoder";
+      version = "1.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz";
+        sha512 = "315yd4vzwrwk3vwj1klf46y1cj2jbvf88066y2rnwhksb98phj46jkxixbwsp3h607w7czy7cby522s7sx8mvspdpdm3s72y2ga3x4z";
+      };
+    };
+    "stringify-entities-1.3.2" = {
       name = "stringify-entities";
       packageName = "stringify-entities";
-      version = "1.3.1";
+      version = "1.3.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/stringify-entities/-/stringify-entities-1.3.1.tgz";
-        sha1 = "b150ec2d72ac4c1b5f324b51fb6b28c9cdff058c";
+        url = "https://registry.npmjs.org/stringify-entities/-/stringify-entities-1.3.2.tgz";
+        sha512 = "3f4kckmssz5nm8qwm7plgq1vl73jwzc9k7cf80gwjqvzdysa558x5gfhjws59hhni39yncaly8dm0rwa590k1pblxvg602955041c4y";
       };
     };
     "stringstream-0.0.5" = {
@@ -24063,6 +25269,15 @@ let
         sha1 = "956bcc5d84430f69256a90ed823765cd858e159c";
       };
     };
+    "strip-dirs-2.1.0" = {
+      name = "strip-dirs";
+      packageName = "strip-dirs";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/strip-dirs/-/strip-dirs-2.1.0.tgz";
+        sha512 = "3gd7bh1h7xjvl8y6lj1mmsv4qpgbxd620fbp2cjlnc3b9gn7wnzbs1170gs7i6y5arm0dd09y8d74vr357gvwmx9f0616wbw8wv3q14";
+      };
+    };
     "strip-eof-1.0.0" = {
       name = "strip-eof";
       packageName = "strip-eof";
@@ -24117,6 +25332,15 @@ let
         sha1 = "3c531942e908c2697c0ec344858c286c7ca0a60a";
       };
     };
+    "strip-outer-1.0.1" = {
+      name = "strip-outer";
+      packageName = "strip-outer";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/strip-outer/-/strip-outer-1.0.1.tgz";
+        sha512 = "31a8vlzg4gwak3cx7n0lask77xyqpf5mz4ckphc10ykmb9r2lais7v4w8a8xij9lv2115xjnl7avkwp2l7cw3kbc3lpjsghl72757lk";
+      };
+    };
     "strong-data-uri-1.0.5" = {
       name = "strong-data-uri";
       packageName = "strong-data-uri";
@@ -24180,13 +25404,13 @@ let
         sha1 = "fb15027984751ee7152200e6cd21cd6e19a5de87";
       };
     };
-    "superagent-3.8.2" = {
+    "superagent-3.8.3" = {
       name = "superagent";
       packageName = "superagent";
-      version = "3.8.2";
+      version = "3.8.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/superagent/-/superagent-3.8.2.tgz";
-        sha512 = "0sxwwjllf26hx079lw1w3c1zywq2af9ssi7f0n334xzz1mgnfx2lr5l532a988zyi3bigzmfidqgdrfmwv6ghgzs77qsw87yr0zhlc1";
+        url = "https://registry.npmjs.org/superagent/-/superagent-3.8.3.tgz";
+        sha512 = "0a4ra91hgzbhnyccsx319r1xzaw4cb3k144g7xrp10y3wckzd98vxhf5vk34cfvvlrav8pyf2vqr11scimkiyivg2w84458q0n2vd0q";
       };
     };
     "supports-color-0.2.0" = {
@@ -24243,22 +25467,13 @@ let
         sha512 = "1flwwfdd7gg94xrc0b2ard3qjx4cpy600q49gx43y8pzvs7j56q78bjhv8mk18vgbggr4fd11jda8ck5cdrkc5jcjs04nlp7kwbg85c";
       };
     };
-    "supports-color-4.5.0" = {
-      name = "supports-color";
-      packageName = "supports-color";
-      version = "4.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz";
-        sha1 = "be7a0de484dec5c5cddf8b3d59125044912f635b";
-      };
-    };
-    "supports-color-5.2.0" = {
+    "supports-color-5.4.0" = {
       name = "supports-color";
       packageName = "supports-color";
-      version = "5.2.0";
+      version = "5.4.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/supports-color/-/supports-color-5.2.0.tgz";
-        sha512 = "3jqwn02aw7bczn3f56mfbx3nvhrydwsc6g9vkp54794rfdg61vbp3qy4vdj1n8jvpahlcywpcv0afxjxbj5a3wm9lpqcsr5ix5nyzqp";
+        url = "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz";
+        sha512 = "3ks7qkl6s064qcdc5qnpzcwzcrnlzccz9m3faw54fnmsm2k8fzb9saqr5nhx7w9lnd4nbp0zg047zz8mwsd4fxfnalpb7kra619fdnf";
       };
     };
     "symbol-observable-1.0.1" = {
@@ -24297,13 +25512,13 @@ let
         sha1 = "2bbc542f0fda9861a755d3947fefd8b3f513855f";
       };
     };
-    "table-4.0.3" = {
+    "table-4.0.2" = {
       name = "table";
       packageName = "table";
-      version = "4.0.3";
+      version = "4.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/table/-/table-4.0.3.tgz";
-        sha512 = "0m684sf5sicq9hlavaw7wrm8d10p2vm1cvvrxgl7f2rpqbn5cm6hhsbzb0is6r1bm19p7960dwxif6lc48bz712kx27s176hhafgfjb";
+        url = "https://registry.npmjs.org/table/-/table-4.0.2.tgz";
+        sha512 = "2q47avrxblc0an2g5ij8sd7ss2bqhdxy2949dk774gyg9vmsivg7fwyn885v2va72sxiv5k59ifvi3hg4ra6z95lr8in6sjyw008jai";
       };
     };
     "tabtab-1.3.2" = {
@@ -24397,22 +25612,22 @@ let
         sha512 = "1ryql8hyrrhd0gdd71ishbj3cnr8ay0i0wpvy9mj3hjiy35cc1wa0h07wz8jwils98j00gr03ix3cf2j1xm43xjn9bsavwn1yr4a0x5";
       };
     };
-    "tar-4.4.0" = {
+    "tar-4.4.2" = {
       name = "tar";
       packageName = "tar";
-      version = "4.4.0";
+      version = "4.4.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/tar/-/tar-4.4.0.tgz";
-        sha512 = "2jqkq86l5d9kaqvxd7m5r48smv4f8y10vx7r0rpwafwz5sskrmlpdswp8g351jfk5if2jv0a3wbjpss31x1cf6x5dx8zhib465576c0";
+        url = "https://registry.npmjs.org/tar/-/tar-4.4.2.tgz";
+        sha512 = "25ypdsz6l4xmg1f89pjy8s773j3lzx855iiakbdknz115vxyg4p4z1j0i84iyjpzwgfjfs2l2njpd0y2hlr5sh4n01nh6124zs09y85";
       };
     };
-    "tar-fs-1.16.0" = {
+    "tar-fs-1.16.2" = {
       name = "tar-fs";
       packageName = "tar-fs";
-      version = "1.16.0";
+      version = "1.16.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/tar-fs/-/tar-fs-1.16.0.tgz";
-        sha512 = "1i39d75rgrl2a3v3x65w7bz6az06sg7xdvp7j9zk5bqilj5znclmr7r5n9l6la6nkqikn4lkhnfrgp4hzbvp6ph77nn53g6zvmdpni3";
+        url = "https://registry.npmjs.org/tar-fs/-/tar-fs-1.16.2.tgz";
+        sha512 = "0ywy8jh175q90rbr38yxx8dzhiyj8ch0jjxxidvjwmkh4s6hi1cp56ibq3aydlqflybssn9cc2cjdq717yqcw70kjsr12f46dd2gn9d";
       };
     };
     "tar-pack-3.4.1" = {
@@ -24424,13 +25639,13 @@ let
         sha512 = "0mgk8jd55vr7i3i29r1skhxwwbqkqfz6mbr32r5nn8h6v5xns8d2rc7835y7wj0zmppckxai7nm8r4s65kkg6yhirnwx33yixn75x1w";
       };
     };
-    "tar-stream-1.5.5" = {
+    "tar-stream-1.6.0" = {
       name = "tar-stream";
       packageName = "tar-stream";
-      version = "1.5.5";
+      version = "1.6.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/tar-stream/-/tar-stream-1.5.5.tgz";
-        sha512 = "219gn10gvilrq6h3yshbhn25fx46n0wlgg66h0v326jhzz8gmpxsinb8bnhx1py35z0cv2248v91k2vy6vmkajmvpmkfmizywn601wr";
+        url = "https://registry.npmjs.org/tar-stream/-/tar-stream-1.6.0.tgz";
+        sha512 = "2kw4php0986jgdzqvrih64plc8md1f1v3wfc8mz3y0lz95dmmvba1lpjmwp1v4crgfky63r8an3syfavn3gb0d56xk7615zy40a47cn";
       };
     };
     "temp-0.6.0" = {
@@ -24478,6 +25693,15 @@ let
         sha1 = "5bcc4eaecc4ab2c707d8bc11d99ccc9a2cb287f2";
       };
     };
+    "tempfile-2.0.0" = {
+      name = "tempfile";
+      packageName = "tempfile";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/tempfile/-/tempfile-2.0.0.tgz";
+        sha1 = "6b0446856a9b1114d1856ffcbe509cccb0977265";
+      };
+    };
     "term-size-1.2.0" = {
       name = "term-size";
       packageName = "term-size";
@@ -24595,6 +25819,15 @@ let
         sha1 = "9e785836daf46743145a5984b6268d828528ac6c";
       };
     };
+    "through-2.2.7" = {
+      name = "through";
+      packageName = "through";
+      version = "2.2.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/through/-/through-2.2.7.tgz";
+        sha1 = "6e8e21200191d4eb6a99f6f010df46aa1c6eb2bd";
+      };
+    };
     "through-2.3.4" = {
       name = "through";
       packageName = "through";
@@ -24649,6 +25882,15 @@ let
         sha1 = "faa0e9d230c51acc95ca13a361ac05ca7e04553d";
       };
     };
+    "thunkify-wrap-1.0.4" = {
+      name = "thunkify-wrap";
+      packageName = "thunkify-wrap";
+      version = "1.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/thunkify-wrap/-/thunkify-wrap-1.0.4.tgz";
+        sha1 = "b52be548ddfefda20e00b58c6096762b43dd6880";
+      };
+    };
     "thunky-0.1.0" = {
       name = "thunky";
       packageName = "thunky";
@@ -24703,15 +25945,6 @@ let
         sha1 = "f38b0ae81d3747d628001f41dafc652ace671c0a";
       };
     };
-    "timed-out-3.1.3" = {
-      name = "timed-out";
-      packageName = "timed-out";
-      version = "3.1.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/timed-out/-/timed-out-3.1.3.tgz";
-        sha1 = "95860bfcc5c76c277f8f8326fd0f5b2e20eba217";
-      };
-    };
     "timed-out-4.0.1" = {
       name = "timed-out";
       packageName = "timed-out";
@@ -24730,13 +25963,13 @@ let
         sha1 = "c9c58b575be8407375cb5e2462dacee74359f41d";
       };
     };
-    "timers-browserify-2.0.6" = {
+    "timers-browserify-2.0.10" = {
       name = "timers-browserify";
       packageName = "timers-browserify";
-      version = "2.0.6";
+      version = "2.0.10";
       src = fetchurl {
-        url = "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.6.tgz";
-        sha512 = "0zvmxvcvmv91k667dy2hzd9a2knvhizxvbx73gcnbi5na3ypc3mldfljw062d7n6y2mf7n2gwwc5wr4wrdih927fxahg8s0hinyf38x";
+        url = "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.10.tgz";
+        sha512 = "37aksk3ydmwy2n7ffsnbvyrwb5kmz5bhvi5fhyg593qs61x7vi9drblwnri5z4x9mzaz91xxqdgg15f0qmf8cd85wdfax2pbm4vbw32";
       };
     };
     "timespan-2.3.0" = {
@@ -24766,13 +25999,13 @@ let
         sha1 = "320b5a52d83abb5978d81a3e887d4aefb15a6164";
       };
     };
-    "titleize-1.0.0" = {
+    "titleize-1.0.1" = {
       name = "titleize";
       packageName = "titleize";
-      version = "1.0.0";
+      version = "1.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/titleize/-/titleize-1.0.0.tgz";
-        sha1 = "7d350722061830ba6617631e0cfd3ea08398d95a";
+        url = "https://registry.npmjs.org/titleize/-/titleize-1.0.1.tgz";
+        sha512 = "1xp43r14ynva5c21rihxm625x47109zj7k3j0cpdmm74lc4fwml3vags077221gz2gf7vafwnskncmag4wnsisiz0bmiawapc70ck5d";
       };
     };
     "tmp-0.0.28" = {
@@ -24856,13 +26089,13 @@ let
         sha1 = "7d229b1fcc637e466ca081180836a7aabff83f43";
       };
     };
-    "to-buffer-1.1.0" = {
+    "to-buffer-1.1.1" = {
       name = "to-buffer";
       packageName = "to-buffer";
-      version = "1.1.0";
+      version = "1.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/to-buffer/-/to-buffer-1.1.0.tgz";
-        sha1 = "375bc03edae5c35a8fa0b3fe95a1f3985db1dcfa";
+        url = "https://registry.npmjs.org/to-buffer/-/to-buffer-1.1.1.tgz";
+        sha512 = "1b8wsfz1rp8fsb2kz7isrsx292vl5w4cmx9qvivxqsj61avx9ph1azxa6zr3mc85cz8qddbkxm6ski8zvacmpadc22wp6pv5gk427wp";
       };
     };
     "to-fast-properties-1.0.3" = {
@@ -24955,6 +26188,15 @@ let
         sha1 = "2d17d82cf669ada7f9dfe75db4b31f7034b71e29";
       };
     };
+    "torrent-discovery-8.4.1" = {
+      name = "torrent-discovery";
+      packageName = "torrent-discovery";
+      version = "8.4.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/torrent-discovery/-/torrent-discovery-8.4.1.tgz";
+        sha512 = "39wg1cq3w31h0yhwjl9aacpl9654psnwigdfbxli93xqvfm9w403gppc2r295ikc9rvglirzcyqiafpd6f8jpf65d6119xnwhgvyz1w";
+      };
+    };
     "torrent-piece-1.1.1" = {
       name = "torrent-piece";
       packageName = "torrent-piece";
@@ -24964,13 +26206,13 @@ let
         sha1 = "50346e42a43b35daf2a86f414afb153629a854be";
       };
     };
-    "torrent-stream-1.0.3" = {
+    "torrent-stream-1.0.4" = {
       name = "torrent-stream";
       packageName = "torrent-stream";
-      version = "1.0.3";
+      version = "1.0.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/torrent-stream/-/torrent-stream-1.0.3.tgz";
-        sha1 = "d8c043b44c3c448c9397a3aec42d2df55887037b";
+        url = "https://registry.npmjs.org/torrent-stream/-/torrent-stream-1.0.4.tgz";
+        sha512 = "3ka40l845bfjydjk9jbiz27x4cqd8birv5zfzvdm7ciij7r53ydz6y7pwmk0628qwdnkchgh10z4kdc3408zi8a8pimq7506qrji010";
       };
     };
     "tosource-1.0.0" = {
@@ -25126,6 +26368,15 @@ let
         sha1 = "9f9ba9d9efa8764c387698bcbfeb2c848f11adb3";
       };
     };
+    "trim-repeated-1.0.0" = {
+      name = "trim-repeated";
+      packageName = "trim-repeated";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/trim-repeated/-/trim-repeated-1.0.0.tgz";
+        sha1 = "e3646a2ea4e891312bf7eace6cfb05380bc01c21";
+      };
+    };
     "trim-right-1.0.1" = {
       name = "trim-right";
       packageName = "trim-right";
@@ -25135,22 +26386,22 @@ let
         sha1 = "cb2e1203067e0c8de1f614094b9fe45704ea6003";
       };
     };
-    "trim-trailing-lines-1.1.0" = {
+    "trim-trailing-lines-1.1.1" = {
       name = "trim-trailing-lines";
       packageName = "trim-trailing-lines";
-      version = "1.1.0";
+      version = "1.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/trim-trailing-lines/-/trim-trailing-lines-1.1.0.tgz";
-        sha1 = "7aefbb7808df9d669f6da2e438cac8c46ada7684";
+        url = "https://registry.npmjs.org/trim-trailing-lines/-/trim-trailing-lines-1.1.1.tgz";
+        sha512 = "2d7isckw2m4zqhp0qd4d8d272j8jp09qvqnp1fj3igzqkl7mx75l3fcnr8x1kh64xgf5afr9zyw6wk221mb7ajsk9xvfvfn2vsfyqkd";
       };
     };
-    "trough-1.0.1" = {
+    "trough-1.0.2" = {
       name = "trough";
       packageName = "trough";
-      version = "1.0.1";
+      version = "1.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/trough/-/trough-1.0.1.tgz";
-        sha1 = "a9fd8b0394b0ae8fff82e0633a0a36ccad5b5f86";
+        url = "https://registry.npmjs.org/trough/-/trough-1.0.2.tgz";
+        sha512 = "2qhjpmwnyz01jcf1yqjq00my48a3imn5z2z0ha4alfcr3imfpvrcbnv893cw71s7rh9h5icjga9nk180qk07nfmpwmlis66kd8jhy8l";
       };
     };
     "truncate-2.0.1" = {
@@ -25216,6 +26467,15 @@ let
         sha1 = "f23bcd8b7a7b8a864261b2084f66f93193396334";
       };
     };
+    "tunnel-0.0.4" = {
+      name = "tunnel";
+      packageName = "tunnel";
+      version = "0.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/tunnel/-/tunnel-0.0.4.tgz";
+        sha1 = "2d3785a158c174c9a16dc2c046ec5fc5f1742213";
+      };
+    };
     "tunnel-0.0.5" = {
       name = "tunnel";
       packageName = "tunnel";
@@ -25333,6 +26593,15 @@ let
         sha1 = "867ac74e3864187b1d3d47d996a78ec5c8830777";
       };
     };
+    "typedarray-to-buffer-3.1.5" = {
+      name = "typedarray-to-buffer";
+      packageName = "typedarray-to-buffer";
+      version = "3.1.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz";
+        sha512 = "3cvrfgjsyvnh9fdyixjzx9mwkfcjfyhgsjizzxzmrsvb1pwch0y58crjh7p6b0ml9nl7jr55nx5dyslq3jn15qz555fl3a4qdfbrnyd";
+      };
+    };
     "typescript-2.7.2" = {
       name = "typescript";
       packageName = "typescript";
@@ -25342,6 +26611,15 @@ let
         sha512 = "2gjv6xyp9rqfdfqadayc4b36b79sjdiwsxa38z43v01cdn3xbc06ax90mjv36hxj9j96nfbwr6w1wn7n0zq8f3y3fw4jfy0j1hw5557";
       };
     };
+    "typescript-2.8.3" = {
+      name = "typescript";
+      packageName = "typescript";
+      version = "2.8.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/typescript/-/typescript-2.8.3.tgz";
+        sha512 = "2vwhgmdrdw42wwaqbmrnz7zy197hrxl6smkmhrb3n93vsjmqg24a4r10czdralib6qpj82bx2gw97r3gxlspj7y54jswigs2vj3bf1b";
+      };
+    };
     "typewise-1.0.3" = {
       name = "typewise";
       packageName = "typewise";
@@ -25378,13 +26656,13 @@ let
         sha1 = "09ec54cd5b11dd5f1ef2fc0ab31d37002ca2b5ad";
       };
     };
-    "ua-parser-js-0.7.17" = {
+    "ua-parser-js-0.7.18" = {
       name = "ua-parser-js";
       packageName = "ua-parser-js";
-      version = "0.7.17";
+      version = "0.7.18";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.17.tgz";
-        sha512 = "39ac4xrr9v9ya7rbn5cz8dss5j3s36yhpj9qrhfxxqzgy1vljns0qfyv7d76lqgdgdbfbrd91kb5x7jlg0fw2r4f3kml0v8xmv545xr";
+        url = "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.18.tgz";
+        sha512 = "2fa0nkj7g5jpslp45h1icl5hsw01qmm64x4s6vlxw07v2b80b3myi38r8b2s06h0chbva92bi9dd7hync3lmkfpls9m3h27algg1p1f";
       };
     };
     "uc.micro-1.0.5" = {
@@ -25432,13 +26710,13 @@ let
         sha1 = "fa0984770b428b7a9b2a8058f46355d14fef211a";
       };
     };
-    "uglify-js-2.7.5" = {
+    "uglify-js-2.8.21" = {
       name = "uglify-js";
       packageName = "uglify-js";
-      version = "2.7.5";
+      version = "2.8.21";
       src = fetchurl {
-        url = "https://registry.npmjs.org/uglify-js/-/uglify-js-2.7.5.tgz";
-        sha1 = "4612c0c7baaee2ba7c487de4904ae122079f2ca8";
+        url = "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.21.tgz";
+        sha1 = "1733f669ae6f82fc90c7b25ec0f5c783ee375314";
       };
     };
     "uglify-js-2.8.29" = {
@@ -25450,13 +26728,13 @@ let
         sha1 = "29c5733148057bb4e1f75df35b7a9cb72e6a59dd";
       };
     };
-    "uglify-js-3.3.12" = {
+    "uglify-js-3.3.23" = {
       name = "uglify-js";
       packageName = "uglify-js";
-      version = "3.3.12";
+      version = "3.3.23";
       src = fetchurl {
-        url = "https://registry.npmjs.org/uglify-js/-/uglify-js-3.3.12.tgz";
-        sha512 = "166ccv37fz5bsnwpp0n0xqxx63pdg8d4hxhac79k61n47l69mcw7sp5g3c68y98x867da1w1bnv5ryisvsjsj639sbpdl2mg56nng72";
+        url = "https://registry.npmjs.org/uglify-js/-/uglify-js-3.3.23.tgz";
+        sha512 = "2zylyzplicczqknizbm1mp7grxz6bi6vg03rsld8l18b2rahl9y7b1rj2c3sp75afmmyqlgg57v8c0b1adyqm7arzw8kcc3n6l8mkra";
       };
     };
     "uglify-js-3.3.6" = {
@@ -25477,22 +26755,13 @@ let
         sha1 = "6e0924d6bda6b5afe349e39a6d632850a0f882b7";
       };
     };
-    "uglifyjs-webpack-plugin-0.4.6" = {
+    "uglifyjs-webpack-plugin-1.2.5" = {
       name = "uglifyjs-webpack-plugin";
       packageName = "uglifyjs-webpack-plugin";
-      version = "0.4.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-0.4.6.tgz";
-        sha1 = "b951f4abb6bd617e66f63eb891498e391763e309";
-      };
-    };
-    "uglifyjs-webpack-plugin-1.2.2" = {
-      name = "uglifyjs-webpack-plugin";
-      packageName = "uglifyjs-webpack-plugin";
-      version = "1.2.2";
+      version = "1.2.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-1.2.2.tgz";
-        sha512 = "3ngk387v5rza5gly8576cr1kmqmrpvb5jp6l33ac6ps5zkra0anr722gmx29i4m6q5bj6v4gdh8jikqg7l1lf4nkc06aynz6nzwsvq8";
+        url = "https://registry.npmjs.org/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-1.2.5.tgz";
+        sha512 = "15z1mr0hms0qbrip49l6c03ljb7243ag7smh13l8xfd0lgmky3b5pa1c1q4r4cdfwvl4m3yr9adj9grdfqqpgr5vc012gj05kbhk144";
       };
     };
     "uid-0.0.2" = {
@@ -25558,13 +26827,22 @@ let
         sha1 = "483126e11774df2f71b8b639dcd799c376162b82";
       };
     };
-    "uint64be-2.0.1" = {
+    "uint64be-1.0.1" = {
       name = "uint64be";
       packageName = "uint64be";
-      version = "2.0.1";
+      version = "1.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/uint64be/-/uint64be-2.0.1.tgz";
-        sha1 = "a310d94e4e5e0b02a95d678e33323f802bdc8428";
+        url = "https://registry.npmjs.org/uint64be/-/uint64be-1.0.1.tgz";
+        sha1 = "1f7154202f2a1b8af353871dda651bf34ce93e95";
+      };
+    };
+    "uint64be-2.0.2" = {
+      name = "uint64be";
+      packageName = "uint64be";
+      version = "2.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/uint64be/-/uint64be-2.0.2.tgz";
+        sha512 = "34jzmdzz81fdi4s48rxr9dzs63iln7w6y9d44ckq6nvxd6v7y0wpc6x90zc2md21ddc1abfwk5h20py3s79bzhknqqphkchj6z9s2pm";
       };
     };
     "ultron-1.0.2" = {
@@ -25585,13 +26863,22 @@ let
         sha512 = "0x78hsv3jykmjl6qdqlqiz7v5nf06li8b5yvzpj6grnzwbcjch8ngyg55lm8g8mg4znvk7qbryvrr2dxacz3cvyb1nsm64qsw21g0ah";
       };
     };
-    "umd-3.0.1" = {
+    "umd-3.0.3" = {
       name = "umd";
       packageName = "umd";
-      version = "3.0.1";
+      version = "3.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/umd/-/umd-3.0.3.tgz";
+        sha512 = "2iz3bypw716y5lgdg89d7jwnkqnla4sid3l5hr2259ypf8h6sbkw3n0xa51ckzkkayf0c39ksaiax2j6ighj36p5ipwh5p1wx50d1z0";
+      };
+    };
+    "unbzip2-stream-1.2.5" = {
+      name = "unbzip2-stream";
+      packageName = "unbzip2-stream";
+      version = "1.2.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/umd/-/umd-3.0.1.tgz";
-        sha1 = "8ae556e11011f63c2596708a8837259f01b3d60e";
+        url = "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.2.5.tgz";
+        sha512 = "0xgvidx384p6cc8zh4m0qq000cn140dsckkijf95ka6iqi9j5nsrjrrf3mr3gxnybcvf2l4hxkaf0j7cqxncm3lnpq4ripw2j7zfc4b";
       };
     };
     "unc-path-regex-0.1.2" = {
@@ -25603,15 +26890,6 @@ let
         sha1 = "e73dd3d7b0d7c5ed86fbac6b0ae7d8c6a69d50fa";
       };
     };
-    "undefsafe-0.0.3" = {
-      name = "undefsafe";
-      packageName = "undefsafe";
-      version = "0.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/undefsafe/-/undefsafe-0.0.3.tgz";
-        sha1 = "ecca3a03e56b9af17385baac812ac83b994a962f";
-      };
-    };
     "undefsafe-2.0.2" = {
       name = "undefsafe";
       packageName = "undefsafe";
@@ -25675,6 +26953,15 @@ let
         sha1 = "4f3fb53b106e6097fcf9cb4109f2a5e9bdfa5022";
       };
     };
+    "underscore-1.9.0" = {
+      name = "underscore";
+      packageName = "underscore";
+      version = "1.9.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/underscore/-/underscore-1.9.0.tgz";
+        sha512 = "3w8byp6gw4jzam7sl3g72zy9k8qb67jc9h4fhlhd6xj3zn07rnnm812g9jc6ygfxqi4yv54l800ijnl9b8kizf8wc5582xi4h6pb1g0";
+      };
+    };
     "underscore-contrib-0.3.0" = {
       name = "underscore-contrib";
       packageName = "underscore-contrib";
@@ -25702,13 +26989,13 @@ let
         sha1 = "8cdd8fbac4e2d2ea1e7e2e8097c42f442280f85b";
       };
     };
-    "unherit-1.1.0" = {
+    "unherit-1.1.1" = {
       name = "unherit";
       packageName = "unherit";
-      version = "1.1.0";
+      version = "1.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/unherit/-/unherit-1.1.0.tgz";
-        sha1 = "6b9aaedfbf73df1756ad9e316dd981885840cd7d";
+        url = "https://registry.npmjs.org/unherit/-/unherit-1.1.1.tgz";
+        sha512 = "3k40pnw86jz2238r4fv4sp5sdykrva5gl4azq3yxnhk1mw8biy17b5c71hrzq0sfd48dp0kpq3k04f0k11bxd623qrpw2kmmxbnwxpr";
       };
     };
     "unicode-emoji-modifier-base-1.0.0" = {
@@ -25792,31 +27079,31 @@ let
         sha1 = "9e1057cca851abb93398f8b33ae187b99caec11a";
       };
     };
-    "unist-util-is-2.1.1" = {
+    "unist-util-is-2.1.2" = {
       name = "unist-util-is";
       packageName = "unist-util-is";
-      version = "2.1.1";
+      version = "2.1.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/unist-util-is/-/unist-util-is-2.1.1.tgz";
-        sha1 = "0c312629e3f960c66e931e812d3d80e77010947b";
+        url = "https://registry.npmjs.org/unist-util-is/-/unist-util-is-2.1.2.tgz";
+        sha512 = "1bk26f0rhka8jhrbjg0jhfc4cqxz7g5k7z8qxqw0353mfx7nvaq9dqj73s9vr3a0jd1yx4lv64cm6ajji7p55xj3cka1bgxy4mw2ib2";
       };
     };
-    "unist-util-remove-position-1.1.1" = {
+    "unist-util-remove-position-1.1.2" = {
       name = "unist-util-remove-position";
       packageName = "unist-util-remove-position";
-      version = "1.1.1";
+      version = "1.1.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-1.1.1.tgz";
-        sha1 = "5a85c1555fc1ba0c101b86707d15e50fa4c871bb";
+        url = "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-1.1.2.tgz";
+        sha512 = "3nrir95gy69ywsf99s11xmdk5dwjkaf1d7jriasr0nljg57cj4i5jxjh70f2hzazfwqfikb6blpn8dl3ck9sq3w578nbmga3cw0s6jz";
       };
     };
-    "unist-util-visit-1.3.0" = {
+    "unist-util-visit-1.3.1" = {
       name = "unist-util-visit";
       packageName = "unist-util-visit";
-      version = "1.3.0";
+      version = "1.3.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-1.3.0.tgz";
-        sha512 = "24s5gpqr3vip7zfd3c81k1mhcj1qzlmjhxpn80n3ay8kkg3zycjdkvi6d78j1d3lva7qr1lqrf2mcz5k41as5vwh8w5xdn52drmhyzn";
+        url = "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-1.3.1.tgz";
+        sha512 = "1lbrqw43r1ckx1i8zqjpyfbvdh3dngb9c6qsk5hcflqkryxzc8icc5vn50xf6vxsgcj4bznzfj10c17rrfd2jlvldhlnlq98ks43xyi";
       };
     };
     "universalify-0.1.1" = {
@@ -25927,6 +27214,15 @@ let
         sha1 = "7f1f302055b3fea0f3e81dc78eb36766cb65e3f1";
       };
     };
+    "unyield-0.0.1" = {
+      name = "unyield";
+      packageName = "unyield";
+      version = "0.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/unyield/-/unyield-0.0.1.tgz";
+        sha1 = "150e65da42bf7742445b958a64eb9b85d1d2b180";
+      };
+    };
     "unzip-response-1.0.2" = {
       name = "unzip-response";
       packageName = "unzip-response";
@@ -25945,22 +27241,31 @@ let
         sha1 = "d2f0f737d16b0615e72a6935ed04214572d56f97";
       };
     };
-    "upath-1.0.2" = {
+    "upath-1.0.4" = {
       name = "upath";
       packageName = "upath";
-      version = "1.0.2";
+      version = "1.0.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/upath/-/upath-1.0.2.tgz";
-        sha512 = "19nv38v416yy515gbq0lvg549w1m48mg17ibl9jp6g0pzlzg6j3lzygbw3c4ia2i9vk0ij0g4fcwfvsa9snxpgdk4a7qbprnj7s4abw";
+        url = "https://registry.npmjs.org/upath/-/upath-1.0.4.tgz";
+        sha512 = "0xw24ba88hfvwwgniyn17n26av45g1pxqf095231065l4n9dp5w3hyc7azjd8sqyix7pnfx1pmr44fzmwwazkz0ly83cp214g4qk13p";
       };
     };
-    "upath-1.0.4" = {
+    "upath-1.0.5" = {
       name = "upath";
       packageName = "upath";
-      version = "1.0.4";
+      version = "1.0.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/upath/-/upath-1.0.4.tgz";
-        sha512 = "0xw24ba88hfvwwgniyn17n26av45g1pxqf095231065l4n9dp5w3hyc7azjd8sqyix7pnfx1pmr44fzmwwazkz0ly83cp214g4qk13p";
+        url = "https://registry.npmjs.org/upath/-/upath-1.0.5.tgz";
+        sha512 = "31m1lljcfngdnpyz67gpkwvb66gx6750si3jzmf1vg6kq420fq5lcd34cfgp6wz3manjpqbp9i98ax2yjl2xs7mq824chw38vvsgcm9";
+      };
+    };
+    "update-check-1.3.2" = {
+      name = "update-check";
+      packageName = "update-check";
+      version = "1.3.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/update-check/-/update-check-1.3.2.tgz";
+        sha512 = "16lfi8gzdrmk0sq5fbqrq8vy3gmpssr05xac487hmsph1hk0i82n1bp8dklmvnkqk28w74bl8gphkanjn0v8f1walwcbbhpg3mss8fj";
       };
     };
     "update-notifier-0.5.0" = {
@@ -25972,22 +27277,22 @@ let
         sha1 = "07b5dc2066b3627ab3b4f530130f7eddda07a4cc";
       };
     };
-    "update-notifier-0.6.3" = {
+    "update-notifier-2.3.0" = {
       name = "update-notifier";
       packageName = "update-notifier";
-      version = "0.6.3";
+      version = "2.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/update-notifier/-/update-notifier-0.6.3.tgz";
-        sha1 = "776dec8daa13e962a341e8a1d98354306b67ae08";
+        url = "https://registry.npmjs.org/update-notifier/-/update-notifier-2.3.0.tgz";
+        sha1 = "4e8827a6bb915140ab093559d7014e3ebb837451";
       };
     };
-    "update-notifier-2.3.0" = {
+    "update-notifier-2.5.0" = {
       name = "update-notifier";
       packageName = "update-notifier";
-      version = "2.3.0";
+      version = "2.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/update-notifier/-/update-notifier-2.3.0.tgz";
-        sha1 = "4e8827a6bb915140ab093559d7014e3ebb837451";
+        url = "https://registry.npmjs.org/update-notifier/-/update-notifier-2.5.0.tgz";
+        sha512 = "07vkna9y5i0ak6rwcbinrrgpabrcmav91ys805c42jskyc6kfla3wd12klsr858vzv5civi7arh5xz8bv7jdj81zgzyh6j70a31s0w3";
       };
     };
     "update-section-0.3.3" = {
@@ -25999,6 +27304,24 @@ let
         sha1 = "458f17820d37820dc60e20b86d94391b00123158";
       };
     };
+    "upnp-device-client-1.0.2" = {
+      name = "upnp-device-client";
+      packageName = "upnp-device-client";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/upnp-device-client/-/upnp-device-client-1.0.2.tgz";
+        sha1 = "91f84705f2349bf89082855fff4e3006ac435337";
+      };
+    };
+    "upnp-mediarenderer-client-1.2.4" = {
+      name = "upnp-mediarenderer-client";
+      packageName = "upnp-mediarenderer-client";
+      version = "1.2.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/upnp-mediarenderer-client/-/upnp-mediarenderer-client-1.2.4.tgz";
+        sha1 = "0c63a51802082b6b03b596c475cc64fc1e0877c8";
+      };
+    };
     "upper-case-1.1.3" = {
       name = "upper-case";
       packageName = "upper-case";
@@ -26044,6 +27367,15 @@ let
         sha1 = "3838e97cfc60521eb73c525a8e55bfdd9e2e28f1";
       };
     };
+    "url-join-2.0.5" = {
+      name = "url-join";
+      packageName = "url-join";
+      version = "2.0.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/url-join/-/url-join-2.0.5.tgz";
+        sha1 = "5af22f18c052a000a48d7b82c5e9c2e2feeda728";
+      };
+    };
     "url-parse-lax-1.0.0" = {
       name = "url-parse-lax";
       packageName = "url-parse-lax";
@@ -26071,13 +27403,13 @@ let
         sha1 = "1505a03a289a48cbd7a434efbaeec5055f5633a9";
       };
     };
-    "use-2.0.2" = {
+    "use-3.1.0" = {
       name = "use";
       packageName = "use";
-      version = "2.0.2";
+      version = "3.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/use/-/use-2.0.2.tgz";
-        sha1 = "ae28a0d72f93bf22422a18a2e379993112dec8e8";
+        url = "https://registry.npmjs.org/use/-/use-3.1.0.tgz";
+        sha512 = "01m2fmv6pc6r5zgjxdb31sx9vhii5ahpwmdn89mpqcvh5f0kpjn6zpmh5qj8m2yhf8s3g6ygwnlccg0j2g36kcjvp16rynbrx048hp9";
       };
     };
     "user-home-1.1.1" = {
@@ -26098,13 +27430,31 @@ let
         sha1 = "9c70bfd8169bc1dcbf48604e0f04b8b49cde9e9f";
       };
     };
-    "useragent-2.3.0" = {
+    "useragent-2.2.1" = {
       name = "useragent";
       packageName = "useragent";
-      version = "2.3.0";
+      version = "2.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/useragent/-/useragent-2.2.1.tgz";
+        sha1 = "cf593ef4f2d175875e8bb658ea92e18a4fd06d8e";
+      };
+    };
+    "ut_metadata-3.2.1" = {
+      name = "ut_metadata";
+      packageName = "ut_metadata";
+      version = "3.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/useragent/-/useragent-2.3.0.tgz";
-        sha512 = "1vqmf9ng5navlr0kvklslvzbqym47sbqblc3i74ln0hswdyd0yx86fj3cnhb2pjjyy3cqs1mq9ywkz92j5x7km2iv1g2jkfkki0f2p0";
+        url = "https://registry.npmjs.org/ut_metadata/-/ut_metadata-3.2.1.tgz";
+        sha512 = "0d0wdjn4cdn5jqsdma0624pvsxv2zakshxlcx2hm9vrxnr1pvm5al0lzwchkpri3nmsdimf3liv6rr7g5c9z79gphdijzrz19lg7ydn";
+      };
+    };
+    "ut_pex-1.2.0" = {
+      name = "ut_pex";
+      packageName = "ut_pex";
+      version = "1.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ut_pex/-/ut_pex-1.2.0.tgz";
+        sha512 = "3b2f0jrvzj2rij8wi7jwy4r7ijqsfv8a9qjqf67gxmlfmyglz8hr51d8f10hdyx1di88a0f3kba1jp583a643mxjfxlaq1dsxy96a10";
       };
     };
     "utf7-1.0.2" = {
@@ -26215,22 +27565,22 @@ let
         sha1 = "ae43eb7745f5fe63dcc2f277cb4164ad27087f30";
       };
     };
-    "utp-native-1.6.2" = {
+    "utp-native-1.7.1" = {
       name = "utp-native";
       packageName = "utp-native";
-      version = "1.6.2";
+      version = "1.7.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/utp-native/-/utp-native-1.6.2.tgz";
-        sha512 = "2mcnn6w5as2dvz6rj4fb33174z3a1rl9bm2cfazrr4084gq7aal0bkmkwr1cjpkvy1zgni3zdk0570fx7cmnd0k0hg18wfb2hvbigfg";
+        url = "https://registry.npmjs.org/utp-native/-/utp-native-1.7.1.tgz";
+        sha512 = "2mflgna04nng4cj8z4pr53pw0fm3z447mvbnvcahlvq8wpg46znrvg4fkgh18k14bkiq3gic5d2h975bgy7h7l64cfjpc8r2km3naqm";
       };
     };
-    "uue-3.1.1" = {
+    "uue-3.1.2" = {
       name = "uue";
       packageName = "uue";
-      version = "3.1.1";
+      version = "3.1.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/uue/-/uue-3.1.1.tgz";
-        sha512 = "29ykgvcsrhwbifm7aa4mf8876c6z2ksc26cnpxf3ljwhg7vfrjz2asvl7ylkjj91alnp2d7n1xvi5qphmn0a1ci091a20mdmnbzg91i";
+        url = "https://registry.npmjs.org/uue/-/uue-3.1.2.tgz";
+        sha512 = "0pcj6km8jmr85nr0xvnq9nmicnz9a2ysy8bj7s9qxin8c0hzd992bwx8bsnxlmbw02iynqyp0l7a9c7zi2ipqrsfczx5ddhb9fqn4kb";
       };
     };
     "uuid-2.0.3" = {
@@ -26485,13 +27835,13 @@ let
         sha1 = "c0fd6fa484f8debdb771f68c31ed75d88da97fe7";
       };
     };
-    "vfile-location-2.0.2" = {
+    "vfile-location-2.0.3" = {
       name = "vfile-location";
       packageName = "vfile-location";
-      version = "2.0.2";
+      version = "2.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/vfile-location/-/vfile-location-2.0.2.tgz";
-        sha1 = "d3675c59c877498e492b4756ff65e4af1a752255";
+        url = "https://registry.npmjs.org/vfile-location/-/vfile-location-2.0.3.tgz";
+        sha512 = "3l6rl79knh2zld6jvcxwjk17697nijqykbma3wxj5gcdixc8i4vjj92ad5372yf00x9j7h760s53km1n4ljcxzwl20m1hszi6bpzknc";
       };
     };
     "vhost-3.0.2" = {
@@ -26503,6 +27853,15 @@ let
         sha1 = "2fb1decd4c466aa88b0f9341af33dc1aff2478d5";
       };
     };
+    "videostream-2.4.2" = {
+      name = "videostream";
+      packageName = "videostream";
+      version = "2.4.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/videostream/-/videostream-2.4.2.tgz";
+        sha1 = "9560254d00fabdc40955c1a3c282057d8db1d115";
+      };
+    };
     "vinyl-0.4.6" = {
       name = "vinyl";
       packageName = "vinyl";
@@ -26566,6 +27925,15 @@ let
         sha1 = "be6ff3270cb55dfd7d3063640de81f25d7532239";
       };
     };
+    "vlc-command-1.1.1" = {
+      name = "vlc-command";
+      packageName = "vlc-command";
+      version = "1.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/vlc-command/-/vlc-command-1.1.1.tgz";
+        sha1 = "349b85def831f980cd6eec560b1990fd989eaf92";
+      };
+    };
     "vm-browserify-0.0.4" = {
       name = "vm-browserify";
       packageName = "vm-browserify";
@@ -26575,6 +27943,15 @@ let
         sha1 = "5d7ea45bbef9e4a6ff65f95438e0a87c357d5a73";
       };
     };
+    "vm-browserify-1.0.1" = {
+      name = "vm-browserify";
+      packageName = "vm-browserify";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.0.1.tgz";
+        sha512 = "2cfjhw3c398d3nlbi0z1f6jlmjymyk13clnsnvwpa6cgcpbhh0zsghs7zi1fz6ydnbg6ignbbhvzrk44k0mcaps8iiv0q0c29rcpb0j";
+      };
+    };
     "voc-1.1.0" = {
       name = "voc";
       packageName = "voc";
@@ -26611,31 +27988,67 @@ let
         sha1 = "87239d9e166b2d7352245b8a813597804c1d63aa";
       };
     };
-    "vscode-languageclient-3.5.0" = {
+    "vscode-jsonrpc-3.6.0" = {
+      name = "vscode-jsonrpc";
+      packageName = "vscode-jsonrpc";
+      version = "3.6.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-3.6.0.tgz";
+        sha512 = "1ikdzcmqhhk38d5kz8izbydm4bwh0hik4n6nwnklb0ygyynqasajzaycxg4cwzy72xag5izw12qknvm4irbz6gws8n7kkz5wj7cg89y";
+      };
+    };
+    "vscode-jsonrpc-3.6.1" = {
+      name = "vscode-jsonrpc";
+      packageName = "vscode-jsonrpc";
+      version = "3.6.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-3.6.1.tgz";
+        sha512 = "1npkazmy51c215nfgg2jiidabqh8kxd87my3xw19jq413h8lbchxc40wacl5g6gxyijvlc40b2fail6nlgb6rmzsfhjv47n2w7zwipq";
+      };
+    };
+    "vscode-languageclient-4.0.1" = {
       name = "vscode-languageclient";
       packageName = "vscode-languageclient";
-      version = "3.5.0";
+      version = "4.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/vscode-languageclient/-/vscode-languageclient-3.5.0.tgz";
-        sha1 = "36d02cc186a8365a4467719a290fb200a9ae490a";
+        url = "https://registry.npmjs.org/vscode-languageclient/-/vscode-languageclient-4.0.1.tgz";
+        sha512 = "28c35r5m72hcg1g7lbrilwj29403sl9mq13w5zkl97cqx8hg2p1pw6gxjnysqjwg2rdy9hs2mb925krhvs24cp3y24lfck97xk83yyi";
       };
     };
-    "vscode-languageserver-3.5.0" = {
+    "vscode-languageserver-3.5.1" = {
       name = "vscode-languageserver";
       packageName = "vscode-languageserver";
-      version = "3.5.0";
+      version = "3.5.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/vscode-languageserver/-/vscode-languageserver-3.5.0.tgz";
-        sha1 = "d28099bc6ddda8c1dd16b707e454e1b1ddae0dba";
+        url = "https://registry.npmjs.org/vscode-languageserver/-/vscode-languageserver-3.5.1.tgz";
+        sha512 = "20rg3b1dymhvnkkxjg481ygy13zg0lg35n5bs4fhwl8f8g3lwy53vnfsxcarjnn6zfjbanq0mllqcqaimbf24n99df327g082ghm1a5";
       };
     };
-    "vscode-languageserver-protocol-3.5.0" = {
+    "vscode-languageserver-4.0.0" = {
+      name = "vscode-languageserver";
+      packageName = "vscode-languageserver";
+      version = "4.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/vscode-languageserver/-/vscode-languageserver-4.0.0.tgz";
+        sha512 = "1g2q6pp97pn1vw1qsxw22487iv64qc8vpr3pjjdmb6j6h6r08l2jb8mv1x8zrv42zsy62c9cvjq1qkb74q7xgsigpc4adlx2sfzs63g";
+      };
+    };
+    "vscode-languageserver-protocol-3.5.1" = {
       name = "vscode-languageserver-protocol";
       packageName = "vscode-languageserver-protocol";
-      version = "3.5.0";
+      version = "3.5.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.5.1.tgz";
+        sha512 = "1hajzildw9njhvj7psprgaw4kipjfsi0dw6fw1r1a8nk04plns64f5f2rvzxsj1knm9ad55f2x0d4dcivbg2zi5gii5ggq01ciw7wym";
+      };
+    };
+    "vscode-languageserver-protocol-3.6.0" = {
+      name = "vscode-languageserver-protocol";
+      packageName = "vscode-languageserver-protocol";
+      version = "3.6.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.5.0.tgz";
-        sha1 = "067c5cbe27709795398d119692c97ebba1452209";
+        url = "https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.6.0.tgz";
+        sha512 = "0qcx36adi340y26hb4smwifvand4xkysgxm7mr5m4ycxbfnx8vd0g2sin9j4p9v2lnrgx47zpshiam95lmm0z4l953vpihh0ian3piw";
       };
     };
     "vscode-languageserver-types-3.5.0" = {
@@ -26647,22 +28060,31 @@ let
         sha1 = "e48d79962f0b8e02de955e3f524908e2b19c0374";
       };
     };
-    "vscode-uri-1.0.1" = {
+    "vscode-languageserver-types-3.7.1" = {
+      name = "vscode-languageserver-types";
+      packageName = "vscode-languageserver-types";
+      version = "3.7.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.7.1.tgz";
+        sha512 = "3msj9sf465hb8j4x9diw4qadgf4h8vks2avw2p42pp5d70v9m1f515mblbwmxh17h1321ivsa63pph8q96fx1kh70vp57j0px9rzlby";
+      };
+    };
+    "vscode-uri-1.0.3" = {
       name = "vscode-uri";
       packageName = "vscode-uri";
-      version = "1.0.1";
+      version = "1.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/vscode-uri/-/vscode-uri-1.0.1.tgz";
-        sha1 = "11a86befeac3c4aa3ec08623651a3c81a6d0bbc8";
+        url = "https://registry.npmjs.org/vscode-uri/-/vscode-uri-1.0.3.tgz";
+        sha1 = "631bdbf716dccab0e65291a8dc25c23232085a52";
       };
     };
-    "walk-2.3.9" = {
+    "walk-2.3.13" = {
       name = "walk";
       packageName = "walk";
-      version = "2.3.9";
+      version = "2.3.13";
       src = fetchurl {
-        url = "https://registry.npmjs.org/walk/-/walk-2.3.9.tgz";
-        sha1 = "31b4db6678f2ae01c39ea9fb8725a9031e558a7b";
+        url = "https://registry.npmjs.org/walk/-/walk-2.3.13.tgz";
+        sha512 = "2g4ayyccqgq4fx68dhds9pwhvj2344n9p0lhb4z1hnsi882apm64s434lqz57rx4b0r1x9w1njfqrywd1la0ljqm7j4xxg8nixqri7g";
       };
     };
     "walk-sync-0.3.2" = {
@@ -26683,13 +28105,22 @@ let
         sha1 = "d1b14f39d2e2cb4ab8c4098f756fe4b164e473d4";
       };
     };
-    "watchpack-1.4.0" = {
+    "watchpack-1.5.0" = {
       name = "watchpack";
       packageName = "watchpack";
-      version = "1.4.0";
+      version = "1.5.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/watchpack/-/watchpack-1.5.0.tgz";
+        sha512 = "003dzsqf9q7awjnkv00gwrqw7s8n29y8nmfcmpsl845j2m7rgxxvvd3gld643c92jfwq9yw7ysbaavw9pq1yc5df8yfxmh1sjj64aa5";
+      };
+    };
+    "watchpack-1.6.0" = {
+      name = "watchpack";
+      packageName = "watchpack";
+      version = "1.6.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/watchpack/-/watchpack-1.4.0.tgz";
-        sha1 = "4a1472bcbb952bd0a9bb4036801f954dfb39faac";
+        url = "https://registry.npmjs.org/watchpack/-/watchpack-1.6.0.tgz";
+        sha512 = "34gp4bbaidicl7azgivrrxb9kvdz501gg0xyf88lya75j9wmrbd1rs5rlk2h5g07q5rb453fkjkck54j2qzsdam1qk36bijf5xlg9wb";
       };
     };
     "wcwidth-1.0.1" = {
@@ -26719,15 +28150,6 @@ let
         sha512 = "15gwgjh9anvzcissfhxy3gki7jxn1dy9vq5rma1sgwkbbra8wbxnvimwalgmy8anm33x56mfp492akzhs0gidwmbnadx0ck3fdq23v1";
       };
     };
-    "webpack-3.10.0" = {
-      name = "webpack";
-      packageName = "webpack";
-      version = "3.10.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/webpack/-/webpack-3.10.0.tgz";
-        sha512 = "0n3rl5qq259csi0x5qh12wzyaypfds5wy0zrzky19wqsa0mjibrn19fdfgbabply2l576vlj8j69nzkb23jqfy6a36xb3cwi1g4l73z";
-      };
-    };
     "webpack-sources-1.1.0" = {
       name = "webpack-sources";
       packageName = "webpack-sources";
@@ -26755,22 +28177,31 @@ let
         sha512 = "0d1n4yv45ibxf72hj7qka3j7v53dwn58savfiyvsppqhhrgg3g648ykk5v7fpb53hz85kj87m4f45r7d5iazx4yqgs381z6qnfd98cy";
       };
     };
-    "websocket-stream-5.1.1" = {
+    "websocket-stream-5.1.2" = {
       name = "websocket-stream";
       packageName = "websocket-stream";
-      version = "5.1.1";
+      version = "5.1.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/websocket-stream/-/websocket-stream-5.1.1.tgz";
-        sha512 = "18iw90ncl6cpip9j7rxdf6mag5klhhn7fklhb5lz41dy3wk9vxp3lxxkmwsnldjk5zfx3fjww55xg47k5k1a4cpph92k7j26p9kk56a";
+        url = "https://registry.npmjs.org/websocket-stream/-/websocket-stream-5.1.2.tgz";
+        sha512 = "1bq9cabpvsx4b0aajmbhsgkdzh816rrixhbnsmvcr0ypcndhn5zz9fggfc8i4l2s00b6jhif65phkc9l6zvika8ngb21rip9qx4pj4m";
       };
     };
-    "whatwg-fetch-2.0.3" = {
+    "webtorrent-0.99.4" = {
+      name = "webtorrent";
+      packageName = "webtorrent";
+      version = "0.99.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/webtorrent/-/webtorrent-0.99.4.tgz";
+        sha512 = "1d0rpdlr8flkbipr3qhr59qknfc3mlmz8ka9w6mnkbxhdflwky2l1f3z244xzgis509c8r1qyyjskv99ccrmc10rz93l52f4bb7m0kj";
+      };
+    };
+    "whatwg-fetch-2.0.4" = {
       name = "whatwg-fetch";
       packageName = "whatwg-fetch";
-      version = "2.0.3";
+      version = "2.0.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-2.0.3.tgz";
-        sha1 = "9c84ec2dcf68187ff00bc64e1274b442176e1c84";
+        url = "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-2.0.4.tgz";
+        sha512 = "2g4p2ymmww4wm7cf86xwpb0dndwlxk1gg3brsrj892a4z593h25hyhqv0rmv4hzz4zxv3smmaflsnhilakfpr6y8f2gf3sfd8ckbi3m";
       };
     };
     "whatwg-url-6.3.0" = {
@@ -26854,6 +28285,15 @@ let
         sha1 = "d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a";
       };
     };
+    "which-pm-runs-1.0.0" = {
+      name = "which-pm-runs";
+      packageName = "which-pm-runs";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/which-pm-runs/-/which-pm-runs-1.0.0.tgz";
+        sha1 = "670b3afbc552e0b55df6b7780ca74615f23ad1cb";
+      };
+    };
     "wide-align-1.1.2" = {
       name = "wide-align";
       packageName = "wide-align";
@@ -26863,15 +28303,6 @@ let
         sha512 = "39m5b8qc31vxhh0bz14vh9a1kf9znarvlpkf0v6vv1f2dxi61gihav2djq2mn7ns1z3yq6l8pyydj52fyzbm2q04rssrcrv4jbwnc4a";
       };
     };
-    "widest-line-1.0.0" = {
-      name = "widest-line";
-      packageName = "widest-line";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/widest-line/-/widest-line-1.0.0.tgz";
-        sha1 = "0c09c85c2a94683d0d7eaf8ee097d564bf0e105c";
-      };
-    };
     "widest-line-2.0.0" = {
       name = "widest-line";
       packageName = "widest-line";
@@ -26890,6 +28321,15 @@ let
         sha1 = "f45f10d141086c5d94ae14c03b2098440a7e71b0";
       };
     };
+    "win-fork-1.1.1" = {
+      name = "win-fork";
+      packageName = "win-fork";
+      version = "1.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/win-fork/-/win-fork-1.1.1.tgz";
+        sha1 = "8f58e0656fca00adc8c86a2b89e3cd2d6a2d5e5e";
+      };
+    };
     "win-release-1.1.1" = {
       name = "win-release";
       packageName = "win-release";
@@ -26917,15 +28357,6 @@ let
         sha1 = "f8e1aa1ee5a53ec5bf151ffa09742a6ad7697876";
       };
     };
-    "window-size-0.2.0" = {
-      name = "window-size";
-      packageName = "window-size";
-      version = "0.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/window-size/-/window-size-0.2.0.tgz";
-        sha1 = "b4315bb4214a3d7058ebeee892e13fa24d98b075";
-      };
-    };
     "windows-no-runnable-0.0.6" = {
       name = "windows-no-runnable";
       packageName = "windows-no-runnable";
@@ -26953,6 +28384,15 @@ let
         sha1 = "93ad116b2696da87d58f7265a8fcea5254a965d5";
       };
     };
+    "winreg-1.2.4" = {
+      name = "winreg";
+      packageName = "winreg";
+      version = "1.2.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/winreg/-/winreg-1.2.4.tgz";
+        sha1 = "ba065629b7a925130e15779108cf540990e98d1b";
+      };
+    };
     "winser-0.1.6" = {
       name = "winser";
       packageName = "winser";
@@ -27007,13 +28447,13 @@ let
         sha1 = "3c9349d196207fd1bdff9d4bc43ef72510e3a12e";
       };
     };
-    "winston-2.4.0" = {
+    "winston-2.4.2" = {
       name = "winston";
       packageName = "winston";
-      version = "2.4.0";
+      version = "2.4.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/winston/-/winston-2.4.0.tgz";
-        sha1 = "808050b93d52661ed9fb6c26b3f0c826708b0aee";
+        url = "https://registry.npmjs.org/winston/-/winston-2.4.2.tgz";
+        sha512 = "1n2jk29vqjj4v60j3553gyy1lz5mnm90bf999p4nz6chnmh0izg8c9kf4chy1j68fx8d3mnr5ci5llqr4cjy0n775ydjj2zhrvw0bz1";
       };
     };
     "with-4.0.3" = {
@@ -27061,13 +28501,13 @@ let
         sha1 = "27584810891456a4171c8d0226441ade90cbcaeb";
       };
     };
-    "worker-farm-1.5.4" = {
+    "worker-farm-1.6.0" = {
       name = "worker-farm";
       packageName = "worker-farm";
-      version = "1.5.4";
+      version = "1.6.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/worker-farm/-/worker-farm-1.5.4.tgz";
-        sha512 = "3xic3z7f6cga2kaps1ysysq02qljwi534lziz472mvngx097xg4y0fk77qi194akp44dbl8wcinys0mjvwxcrd2rqlgsznw9fa84g11";
+        url = "https://registry.npmjs.org/worker-farm/-/worker-farm-1.6.0.tgz";
+        sha512 = "1yxyar4li6hnvj884kxg0agx61wsrmqnbqc06r7wy8is6iyhf2czrdgnxx4055c5hwlhhg1y8j72sh35wak9i3996kvbwycfssbf3zb";
       };
     };
     "wrap-ansi-2.1.0" = {
@@ -27115,15 +28555,6 @@ let
         sha512 = "3s89p8x1i16wg1prbm40z7l00611hzk2s7kkvph6fw4cx049p3gpviqmhbgqxxi9pfjz32mx3aj7qsygmfcnvasgs43rj1ynwdd944p";
       };
     };
-    "wrench-1.5.9" = {
-      name = "wrench";
-      packageName = "wrench";
-      version = "1.5.9";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/wrench/-/wrench-1.5.9.tgz";
-        sha1 = "411691c63a9b2531b1700267279bdeca23b2142a";
-      };
-    };
     "write-0.2.1" = {
       name = "write";
       packageName = "write";
@@ -27214,6 +28645,24 @@ let
         sha512 = "2887c18dlvnvc62pqgwhihzxnnj9mzbnjqa0gqg3n94k5b6fx6nm1wggisy2bg3mi7dl81vk11i49wl319yfvh255w2nrbhydmqnxcy";
       };
     };
+    "ws-4.1.0" = {
+      name = "ws";
+      packageName = "ws";
+      version = "4.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ws/-/ws-4.1.0.tgz";
+        sha512 = "1ldy8hddsvy7lb045cx4jrnx09962j98zp7y16f64gkw8z99ww61w91mjhrm85bqpsf3b158yhfh6yf01g1a2zrgm6v9bkx87r7ys34";
+      };
+    };
+    "ws-5.1.1" = {
+      name = "ws";
+      packageName = "ws";
+      version = "5.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ws/-/ws-5.1.1.tgz";
+        sha512 = "01whkym8fx8qjmx8s548zzw3ba05x8canb59v5yzidbwxdm7w1kfcfqhzzrxni1r9idqgla5ll5d3kp6fmk1sdn0k7d9lwvj2zarsvc";
+      };
+    };
     "wtf-8-1.0.0" = {
       name = "wtf-8";
       packageName = "wtf-8";
@@ -27259,6 +28708,15 @@ let
         sha1 = "496b2cc109eca8dbacfe2dc72b603c17c5870ad4";
       };
     };
+    "xenvar-0.5.1" = {
+      name = "xenvar";
+      packageName = "xenvar";
+      version = "0.5.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/xenvar/-/xenvar-0.5.1.tgz";
+        sha1 = "f82d2fedee63af76687b70115ce6274dc71310e9";
+      };
+    };
     "xhr-2.4.1" = {
       name = "xhr";
       packageName = "xhr";
@@ -27277,15 +28735,6 @@ let
         sha1 = "de3ee912477be2f250b60f612f34a8c4da616efe";
       };
     };
-    "xml-char-classes-1.0.0" = {
-      name = "xml-char-classes";
-      packageName = "xml-char-classes";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/xml-char-classes/-/xml-char-classes-1.0.0.tgz";
-        sha1 = "64657848a20ffc5df583a42ad8a277b4512bbc4d";
-      };
-    };
     "xml2js-0.1.14" = {
       name = "xml2js";
       packageName = "xml2js";
@@ -27412,6 +28861,15 @@ let
         sha1 = "fa6bf762a60a413fb3dd8f4b03c5b269238d308f";
       };
     };
+    "xmldom-0.1.22" = {
+      name = "xmldom";
+      packageName = "xmldom";
+      version = "0.1.22";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/xmldom/-/xmldom-0.1.22.tgz";
+        sha1 = "10de4e5e964981f03c8cc72fadc08d14b6c3aa26";
+      };
+    };
     "xmldom-0.1.27" = {
       name = "xmldom";
       packageName = "xmldom";
@@ -27584,6 +29042,15 @@ let
         sha1 = "8452b4bb7e83c7c188d8041c1a837c773d6d8bb9";
       };
     };
+    "yaml-js-0.0.8" = {
+      name = "yaml-js";
+      packageName = "yaml-js";
+      version = "0.0.8";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/yaml-js/-/yaml-js-0.0.8.tgz";
+        sha1 = "87cfa5a9613f48e26005420d6a8ee0da6fe8daec";
+      };
+    };
     "yargs-1.3.3" = {
       name = "yargs";
       packageName = "yargs";
@@ -27593,15 +29060,6 @@ let
         sha1 = "054de8b61f22eefdb7207059eaef9d6b83fb931a";
       };
     };
-    "yargs-10.0.3" = {
-      name = "yargs";
-      packageName = "yargs";
-      version = "10.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/yargs/-/yargs-10.0.3.tgz";
-        sha512 = "1vn6jsqrhybxddyhmvkh0d43n2lk1z8081glfq80zpjfs4xgwpk0mmgdiry9zgsihmv9a2qidmp5hhyqqq8mzzkr037wla0qd1nk80f";
-      };
-    };
     "yargs-10.1.2" = {
       name = "yargs";
       packageName = "yargs";
@@ -27611,40 +29069,40 @@ let
         sha512 = "25gvc8vjalpbv69v0frmh10x203dsnl0jrnx8c2mww3qrxl69kms5ppzry3lp51lgaby524hc6qa80kgrz0zcdvas8flq26l33aix4a";
       };
     };
-    "yargs-3.10.0" = {
+    "yargs-11.0.0" = {
       name = "yargs";
       packageName = "yargs";
-      version = "3.10.0";
+      version = "11.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz";
-        sha1 = "f7ee7bd857dd7c1d2d38c0e74efbd681d1431fd1";
+        url = "https://registry.npmjs.org/yargs/-/yargs-11.0.0.tgz";
+        sha512 = "03n9lfnyx1dfj5sm811f3d96djsr6fixd5qi6cl6wj8xf0y01sgn7w3ynv5gn2vl30dwq5mz2hw5f522v8xbwc8m9h6nf8hqsa7wfj6";
       };
     };
-    "yargs-3.15.0" = {
+    "yargs-11.1.0" = {
       name = "yargs";
       packageName = "yargs";
-      version = "3.15.0";
+      version = "11.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/yargs/-/yargs-3.15.0.tgz";
-        sha1 = "3d9446ef21fb3791b3985690662e4b9683c7f181";
+        url = "https://registry.npmjs.org/yargs/-/yargs-11.1.0.tgz";
+        sha512 = "3j5awbfcbh8ik0kz01mycydpi1bz9fg70xc66lk1r1qvrs5x41i2w8nvgj0aip7z9vypcsxks76z75sz4lr6z3ida9c04inkvsbl19p";
       };
     };
-    "yargs-3.32.0" = {
+    "yargs-3.10.0" = {
       name = "yargs";
       packageName = "yargs";
-      version = "3.32.0";
+      version = "3.10.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/yargs/-/yargs-3.32.0.tgz";
-        sha1 = "03088e9ebf9e756b69751611d2a5ef591482c995";
+        url = "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz";
+        sha1 = "f7ee7bd857dd7c1d2d38c0e74efbd681d1431fd1";
       };
     };
-    "yargs-4.8.1" = {
+    "yargs-3.32.0" = {
       name = "yargs";
       packageName = "yargs";
-      version = "4.8.1";
+      version = "3.32.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/yargs/-/yargs-4.8.1.tgz";
-        sha1 = "c0c42924ca4aaa6b0e6da1739dfb216439f9ddc0";
+        url = "https://registry.npmjs.org/yargs/-/yargs-3.32.0.tgz";
+        sha1 = "03088e9ebf9e756b69751611d2a5ef591482c995";
       };
     };
     "yargs-6.6.0" = {
@@ -27683,15 +29141,6 @@ let
         sha1 = "52acc23feecac34042078ee78c0c007f5085db4c";
       };
     };
-    "yargs-parser-2.4.1" = {
-      name = "yargs-parser";
-      packageName = "yargs-parser";
-      version = "2.4.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/yargs-parser/-/yargs-parser-2.4.1.tgz";
-        sha1 = "85568de3cf150ff49fa51825f03a8c880ddcc5c4";
-      };
-    };
     "yargs-parser-4.2.1" = {
       name = "yargs-parser";
       packageName = "yargs-parser";
@@ -27728,6 +29177,15 @@ let
         sha512 = "0jyff04yy5xlrgvccky4f7phgp99lk2r1n7dk67hkb0picdjpa2ap27g4jrm94cw1d31vw8sh2b5cvnvga2w838bgh6l1kwld1bmzy8";
       };
     };
+    "yargs-parser-9.0.2" = {
+      name = "yargs-parser";
+      packageName = "yargs-parser";
+      version = "9.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/yargs-parser/-/yargs-parser-9.0.2.tgz";
+        sha1 = "9ccf6a43460fe4ed40a9bb68f48d43b8a68cc077";
+      };
+    };
     "yauzl-2.4.1" = {
       name = "yauzl";
       packageName = "yauzl";
@@ -27773,22 +29231,22 @@ let
         sha1 = "94ab784896a64f53a9fac452d5e9133e2750a236";
       };
     };
-    "yeoman-environment-2.0.5" = {
+    "yeoman-environment-2.0.6" = {
       name = "yeoman-environment";
       packageName = "yeoman-environment";
-      version = "2.0.5";
+      version = "2.0.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/yeoman-environment/-/yeoman-environment-2.0.5.tgz";
-        sha512 = "3kfwj39dplgp9w79zmk9p5hm4dfw21304srx68f0hzxhak45iql4j8gzxj4l3q9p4jcmwf25ar0ak4sm57rzx46bv4z2f3q3vybpxgb";
+        url = "https://registry.npmjs.org/yeoman-environment/-/yeoman-environment-2.0.6.tgz";
+        sha512 = "0z4544lfc7gzyp98fihqwi42p0j2dqwgrcl99i1d0b04qkslfv3im5r0xvp8rvapiqlwjg48b63kr5p1japcz3548wg445w7i6w2ccg";
       };
     };
-    "yosay-2.0.1" = {
+    "yosay-2.0.2" = {
       name = "yosay";
       packageName = "yosay";
-      version = "2.0.1";
+      version = "2.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/yosay/-/yosay-2.0.1.tgz";
-        sha512 = "1n6z65vkm1r31a1ms8wn32m9q61vrlz9isn43lm00qka1zvnich78zbnp29xwy72z361is2yimrpglmc55w97hbi9pas5pqlnvqbpw4";
+        url = "https://registry.npmjs.org/yosay/-/yosay-2.0.2.tgz";
+        sha512 = "1n24pfz9fc1pd1p1cc2bl3jy6nb9xxbqadmzx3grims5xmk9r64xy98ybnim6wwz4kj3z91qc391v785s4876ki6749xcly7ngzmxba";
       };
     };
     "zen-observable-0.5.2" = {
@@ -27809,6 +29267,15 @@ let
         sha1 = "03726561bc268f2e5444f54c665b7fd4a8c029e2";
       };
     };
+    "zero-fill-2.2.3" = {
+      name = "zero-fill";
+      packageName = "zero-fill";
+      version = "2.2.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/zero-fill/-/zero-fill-2.2.3.tgz";
+        sha1 = "a3def06ba5e39ae644850bb4ca2ad4112b4855e9";
+      };
+    };
     "zip-1.2.0" = {
       name = "zip";
       packageName = "zip";
@@ -27851,10 +29318,10 @@ in
   alloy = nodeEnv.buildNodePackage {
     name = "alloy";
     packageName = "alloy";
-    version = "1.11.0";
+    version = "1.13.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/alloy/-/alloy-1.11.0.tgz";
-      sha512 = "0ix07a7vxyrlkplb3wxfpflg7yhcb9csh1k8410rjkrqmshviiiw8iwysf36936mrm5qz66v8mx5r9r7ky46zwi82mgdn66w0ag0865";
+      url = "https://registry.npmjs.org/alloy/-/alloy-1.13.0.tgz";
+      sha512 = "30a11iiiihsrqj8dc11n5m57im2300l46cygfh4r1q121m2l0vhzaqkg6p65kd7law25xkviw92zwmkd926n674hkv9gr6vsxrskimh";
     };
     dependencies = [
       sources."JSV-4.0.2"
@@ -27863,7 +29330,7 @@ in
       sources."array-unique-0.3.2"
       sources."async-2.6.0"
       sources."babel-code-frame-6.26.0"
-      (sources."babel-core-6.26.0" // {
+      (sources."babel-core-6.26.3" // {
         dependencies = [
           sources."source-map-0.5.7"
         ];
@@ -27882,16 +29349,14 @@ in
       sources."babel-types-6.26.0"
       sources."babylon-6.18.0"
       sources."balanced-match-1.0.0"
-      sources."bindings-1.2.1"
       sources."brace-expansion-1.1.11"
       sources."chalk-1.1.3"
       sources."chmodr-1.0.2"
-      sources."colors-1.1.2"
-      sources."commander-2.14.1"
+      sources."colors-1.2.4"
+      sources."commander-2.15.1"
       sources."concat-map-0.0.1"
       sources."convert-source-map-1.5.1"
-      sources."core-js-2.5.3"
-      sources."deasync-0.1.12"
+      sources."core-js-2.5.5"
       sources."debug-2.6.9"
       sources."detect-indent-4.0.0"
       sources."ejs-2.5.7"
@@ -27913,7 +29378,7 @@ in
       sources."home-or-tmp-2.0.0"
       sources."homedir-polyfill-1.0.1"
       sources."ini-1.3.5"
-      sources."invariant-2.2.3"
+      sources."invariant-2.2.4"
       sources."is-3.2.1"
       sources."is-finite-1.0.2"
       sources."is-windows-1.0.2"
@@ -27929,7 +29394,7 @@ in
           sources."strip-ansi-0.1.1"
         ];
       })
-      sources."lodash-4.17.5"
+      sources."lodash-4.17.10"
       sources."loose-envify-1.3.1"
       sources."matcher-collection-1.0.5"
       sources."minimatch-3.0.4"
@@ -27937,7 +29402,6 @@ in
       sources."mkdirp-0.5.1"
       sources."moment-2.20.1"
       sources."ms-2.0.0"
-      sources."nan-2.9.2"
       sources."node.extend-2.0.0"
       sources."nomnom-1.8.1"
       sources."number-is-nan-1.0.1"
@@ -27950,7 +29414,7 @@ in
       sources."private-0.1.8"
       sources."regenerator-runtime-0.11.1"
       sources."repeating-2.0.1"
-      sources."resolve-1.5.0"
+      sources."resolve-1.7.1"
       sources."sax-0.5.8"
       sources."slash-1.0.0"
       sources."source-map-0.6.1"
@@ -27979,10 +29443,10 @@ in
   asar = nodeEnv.buildNodePackage {
     name = "asar";
     packageName = "asar";
-    version = "0.14.2";
+    version = "0.14.3";
     src = fetchurl {
-      url = "https://registry.npmjs.org/asar/-/asar-0.14.2.tgz";
-      sha512 = "1s03v9h1823r1y95jgrdnf4b2hj56gdi879kq29lv7q59hnn530q6g32qakjj8d6lzjx52r5qvg30szdi1fkvj3zx1dgaq30k5kiakq";
+      url = "https://registry.npmjs.org/asar/-/asar-0.14.3.tgz";
+      sha512 = "1p102lrikvbx1rrp8b1d47fif3qwz2487q4djgnf6288hjk8gf2nxcinwzixkfh0dw0zy7mbv1przwg4zcnpgv7wpsbnqg6a1anf4zs";
     };
     dependencies = [
       sources."abbrev-1.1.1"
@@ -27991,7 +29455,7 @@ in
       sources."assert-plus-1.0.0"
       sources."asynckit-0.4.0"
       sources."aws-sign2-0.7.0"
-      sources."aws4-1.6.0"
+      sources."aws4-1.7.0"
       sources."balanced-match-1.0.0"
       sources."bcrypt-pbkdf-1.0.1"
       sources."binary-0.3.0"
@@ -28003,7 +29467,7 @@ in
       sources."chromium-pickle-js-0.2.0"
       sources."co-4.6.0"
       sources."combined-stream-1.0.6"
-      sources."commander-2.14.1"
+      sources."commander-2.15.1"
       sources."concat-map-0.0.1"
       sources."core-util-is-1.0.2"
       (sources."cryptiles-3.1.2" // {
@@ -28063,13 +29527,13 @@ in
       sources."performance-now-2.1.0"
       sources."punycode-1.4.1"
       sources."q-1.5.1"
-      sources."qs-6.5.1"
+      sources."qs-6.5.2"
       sources."readable-stream-1.1.14"
-      sources."request-2.83.0"
+      sources."request-2.85.0"
       sources."rimraf-2.6.2"
-      sources."safe-buffer-5.1.1"
+      sources."safe-buffer-5.1.2"
       sources."sntp-2.1.0"
-      sources."sshpk-1.13.1"
+      sources."sshpk-1.14.1"
       sources."string_decoder-0.10.31"
       sources."stringstream-0.0.5"
       sources."tmp-0.0.28"
@@ -28098,15 +29562,15 @@ in
   azure-cli = nodeEnv.buildNodePackage {
     name = "azure-cli";
     packageName = "azure-cli";
-    version = "0.10.17";
+    version = "0.10.18";
     src = fetchurl {
-      url = "https://registry.npmjs.org/azure-cli/-/azure-cli-0.10.17.tgz";
-      sha1 = "e991dfa17dc5d7d91731180851fd9cbfbadf73c3";
+      url = "https://registry.npmjs.org/azure-cli/-/azure-cli-0.10.18.tgz";
+      sha512 = "05k876g0s9ac53vrqqcn5h2l6s9ccawihr29gxvj8fib49qg2mhf1v52277r2wgcjxibj7vq2b3zp2jkp0vwd6d1pkv8alwf84ri6wc";
     };
     dependencies = [
       sources."@types/caseless-0.12.1"
       sources."@types/form-data-2.2.1"
-      sources."@types/node-8.9.4"
+      sources."@types/node-8.10.12"
       sources."@types/request-2.47.0"
       sources."@types/tough-cookie-2.3.2"
       sources."@types/uuid-3.4.3"
@@ -28123,7 +29587,7 @@ in
       sources."async-1.4.2"
       sources."asynckit-0.4.0"
       sources."aws-sign2-0.7.0"
-      sources."aws4-1.6.0"
+      sources."aws4-1.7.0"
       sources."azure-arm-authorization-2.0.0"
       (sources."azure-arm-batch-0.3.0" // {
         dependencies = [
@@ -28173,7 +29637,7 @@ in
       sources."azure-arm-hdinsight-jobs-0.1.0"
       sources."azure-arm-insights-0.11.3"
       sources."azure-arm-iothub-1.0.1-preview"
-      sources."azure-arm-network-4.0.1"
+      sources."azure-arm-network-5.1.0"
       (sources."azure-arm-powerbiembedded-0.1.0" // {
         dependencies = [
           sources."async-0.2.7"
@@ -28280,16 +29744,17 @@ in
       sources."brace-expansion-1.1.11"
       sources."browserify-mime-1.2.9"
       sources."buffer-equal-constant-time-1.0.1"
+      sources."buffer-from-1.0.0"
       sources."caller-id-0.1.0"
       sources."caseless-0.12.0"
       sources."chalk-0.4.0"
-      sources."clone-1.0.3"
+      sources."clone-1.0.4"
       sources."co-4.6.0"
       sources."colors-1.1.2"
       sources."combined-stream-1.0.6"
       sources."commander-1.0.4"
       sources."concat-map-0.0.1"
-      sources."concat-stream-1.6.0"
+      sources."concat-stream-1.6.2"
       sources."core-util-is-1.0.2"
       (sources."cryptiles-3.1.2" // {
         dependencies = [
@@ -28370,13 +29835,13 @@ in
       sources."jws-3.1.4"
       sources."jwt-decode-2.2.0"
       sources."keypress-0.1.0"
-      (sources."kuduscript-1.0.15" // {
+      (sources."kuduscript-1.0.16" // {
         dependencies = [
           sources."commander-1.1.1"
           sources."streamline-0.4.11"
         ];
       })
-      sources."lodash-4.17.5"
+      sources."lodash-4.17.10"
       sources."map-stream-0.1.0"
       sources."md5.js-1.3.4"
       sources."mime-db-1.33.0"
@@ -28384,21 +29849,21 @@ in
       sources."minimatch-3.0.4"
       sources."minimist-0.0.8"
       sources."mkdirp-0.5.1"
-      sources."moment-2.20.1"
-      (sources."ms-rest-2.3.1" // {
+      sources."moment-2.22.1"
+      (sources."ms-rest-2.3.3" // {
         dependencies = [
           sources."extend-3.0.1"
-          sources."request-2.83.0"
+          sources."request-2.85.0"
           sources."through-2.3.8"
           sources."tunnel-0.0.5"
         ];
       })
-      (sources."ms-rest-azure-2.5.4" // {
+      (sources."ms-rest-azure-2.5.5" // {
         dependencies = [
-          sources."@types/node-9.4.6"
-          (sources."adal-node-0.1.27" // {
+          sources."@types/node-9.6.12"
+          (sources."adal-node-0.1.28" // {
             dependencies = [
-              sources."@types/node-8.9.4"
+              sources."@types/node-8.10.12"
             ];
           })
           sources."async-2.6.0"
@@ -28437,7 +29902,7 @@ in
       })
       sources."punycode-1.4.1"
       sources."q-0.9.7"
-      sources."qs-6.5.1"
+      sources."qs-6.5.2"
       sources."read-1.0.7"
       (sources."readable-stream-1.0.34" // {
         dependencies = [
@@ -28453,7 +29918,7 @@ in
           sources."boom-2.10.1"
           sources."caseless-0.11.0"
           sources."chalk-1.1.3"
-          sources."commander-2.14.1"
+          sources."commander-2.15.1"
           sources."cryptiles-2.0.5"
           sources."extend-3.0.1"
           sources."form-data-1.0.1"
@@ -28470,7 +29935,7 @@ in
       })
       sources."revalidator-0.1.8"
       sources."rimraf-2.6.2"
-      sources."safe-buffer-5.1.1"
+      sources."safe-buffer-5.1.2"
       sources."sax-0.5.2"
       sources."sntp-2.1.0"
       sources."source-map-0.1.43"
@@ -28480,7 +29945,7 @@ in
           sources."asn1-0.1.11"
         ];
       })
-      sources."sshpk-1.13.1"
+      sources."sshpk-1.14.1"
       sources."stack-trace-0.0.10"
       sources."stream-combiner-0.0.4"
       sources."streamline-0.10.17"
@@ -28493,8 +29958,8 @@ in
         dependencies = [
           sources."caseless-0.11.0"
           sources."process-nextick-args-2.0.0"
-          sources."readable-stream-2.3.4"
-          sources."string_decoder-1.0.3"
+          sources."readable-stream-2.3.6"
+          sources."string_decoder-1.1.1"
         ];
       })
       sources."then-request-2.2.0"
@@ -28539,10 +30004,10 @@ in
   bower = nodeEnv.buildNodePackage {
     name = "bower";
     packageName = "bower";
-    version = "1.8.2";
+    version = "1.8.4";
     src = fetchurl {
-      url = "https://registry.npmjs.org/bower/-/bower-1.8.2.tgz";
-      sha1 = "adf53529c8d4af02ef24fb8d5341c1419d33e2f7";
+      url = "https://registry.npmjs.org/bower/-/bower-1.8.4.tgz";
+      sha1 = "e7876a076deb8137f7d06525dc5e8c66db82f28a";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -28565,7 +30030,7 @@ in
       sources."argparse-1.0.4"
       sources."array-find-index-1.0.2"
       sources."balanced-match-1.0.0"
-      sources."bower-1.8.2"
+      sources."bower-1.8.4"
       sources."bower-endpoint-parser-0.2.1"
       sources."bower-json-0.6.0"
       sources."bower-logger-0.2.1"
@@ -28597,7 +30062,7 @@ in
       sources."get-stdin-4.0.1"
       sources."glob-6.0.4"
       sources."graceful-fs-3.0.11"
-      sources."hosted-git-info-2.5.0"
+      sources."hosted-git-info-2.6.0"
       sources."indent-string-2.1.0"
       sources."inflight-1.0.6"
       sources."inherits-2.0.3"
@@ -28619,7 +30084,7 @@ in
       sources."minimist-1.2.0"
       sources."mkdirp-0.5.1"
       sources."ms-2.0.0"
-      sources."natives-1.1.1"
+      sources."natives-1.1.3"
       sources."normalize-package-data-2.4.0"
       sources."number-is-nan-1.0.1"
       sources."object-assign-4.1.1"
@@ -28675,13 +30140,12 @@ in
   browserify = nodeEnv.buildNodePackage {
     name = "browserify";
     packageName = "browserify";
-    version = "16.1.0";
+    version = "16.2.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/browserify/-/browserify-16.1.0.tgz";
-      sha512 = "356pxbnfj5skk2jkc36m9qma51v9f2cf3km9rbvblhdzv1jlpdhppm0ggi42ifmq2knlfg5jcvif4pqlxfkfjrs27x3adz5s0naa14g";
+      url = "https://registry.npmjs.org/browserify/-/browserify-16.2.0.tgz";
+      sha512 = "02kwwi6cvxwcyhv9n13j05y67xdkb4b09p5z7n2sl97sif012i5cibmbz6wqqy89ybqh7s3sbdxqf7g6y2hbl61g81vhrbz9815v2ya";
     };
     dependencies = [
-      sources."@browserify/acorn5-object-spread-5.0.1"
       sources."JSONStream-1.3.2"
       sources."acorn-4.0.13"
       sources."acorn-node-1.3.0"
@@ -28692,48 +30156,45 @@ in
       sources."assert-1.4.1"
       sources."astw-2.2.0"
       sources."balanced-match-1.0.0"
-      sources."base64-js-1.2.3"
+      sources."base64-js-1.3.0"
       sources."bn.js-4.11.8"
       sources."brace-expansion-1.1.11"
       sources."brorand-1.1.0"
-      sources."browser-pack-6.0.4"
+      sources."browser-pack-6.1.0"
       (sources."browser-resolve-1.11.2" // {
         dependencies = [
           sources."resolve-1.1.7"
         ];
       })
-      sources."browserify-aes-1.1.1"
-      sources."browserify-cipher-1.0.0"
-      sources."browserify-des-1.0.0"
+      sources."browserify-aes-1.2.0"
+      sources."browserify-cipher-1.0.1"
+      sources."browserify-des-1.0.1"
       sources."browserify-rsa-4.0.1"
       sources."browserify-sign-4.0.4"
       sources."browserify-zlib-0.2.0"
       sources."buffer-5.1.0"
+      sources."buffer-from-1.0.0"
       sources."buffer-xor-1.0.3"
       sources."builtin-status-codes-3.0.0"
       sources."cached-path-relative-1.0.1"
       sources."cipher-base-1.0.4"
       sources."combine-source-map-0.8.0"
       sources."concat-map-0.0.1"
-      sources."concat-stream-1.6.0"
+      sources."concat-stream-1.6.2"
       sources."console-browserify-1.1.0"
       sources."constants-browserify-1.0.0"
       sources."convert-source-map-1.1.3"
       sources."core-util-is-1.0.2"
-      sources."create-ecdh-4.0.0"
-      sources."create-hash-1.1.3"
-      sources."create-hmac-1.1.6"
-      (sources."crypto-browserify-3.12.0" // {
-        dependencies = [
-          sources."hash-base-2.0.2"
-        ];
-      })
+      sources."create-ecdh-4.0.1"
+      sources."create-hash-1.2.0"
+      sources."create-hmac-1.1.7"
+      sources."crypto-browserify-3.12.0"
       sources."date-now-0.1.4"
       sources."defined-1.0.0"
       sources."deps-sort-2.0.0"
       sources."des.js-1.0.0"
-      sources."detective-5.0.2"
-      sources."diffie-hellman-5.0.2"
+      sources."detective-5.1.0"
+      sources."diffie-hellman-5.0.3"
       sources."domain-browser-1.2.0"
       sources."duplexer2-0.1.4"
       sources."elliptic-6.4.0"
@@ -28748,96 +30209,81 @@ in
       sources."hmac-drbg-1.0.1"
       sources."htmlescape-1.1.1"
       sources."https-browserify-1.0.0"
-      sources."ieee754-1.1.8"
-      sources."indexof-0.0.1"
+      sources."ieee754-1.1.11"
       sources."inflight-1.0.6"
       sources."inherits-2.0.3"
       sources."inline-source-map-0.6.2"
-      (sources."insert-module-globals-7.0.1" // {
-        dependencies = [
-          sources."combine-source-map-0.7.2"
-          sources."concat-stream-1.5.2"
-          sources."readable-stream-2.0.6"
-          sources."string_decoder-0.10.31"
-        ];
-      })
+      sources."insert-module-globals-7.0.6"
       sources."is-buffer-1.1.6"
-      sources."isarray-1.0.0"
+      sources."isarray-2.0.4"
       sources."json-stable-stringify-0.0.1"
       sources."jsonify-0.0.0"
       sources."jsonparse-1.3.1"
-      (sources."labeled-stream-splicer-2.0.0" // {
-        dependencies = [
-          sources."isarray-0.0.1"
-        ];
-      })
+      sources."labeled-stream-splicer-2.0.1"
       sources."lexical-scope-1.2.0"
       sources."lodash.memoize-3.0.4"
       sources."md5.js-1.3.4"
       sources."miller-rabin-4.0.1"
-      sources."minimalistic-assert-1.0.0"
+      sources."minimalistic-assert-1.0.1"
       sources."minimalistic-crypto-utils-1.0.1"
       sources."minimatch-3.0.4"
       sources."minimist-0.0.8"
       sources."mkdirp-0.5.1"
-      (sources."module-deps-6.0.0" // {
+      (sources."module-deps-6.0.2" // {
         dependencies = [
-          sources."acorn-5.5.0"
+          sources."acorn-5.5.3"
+          sources."minimist-1.2.0"
         ];
       })
       sources."once-1.4.0"
       sources."os-browserify-0.3.0"
       sources."pako-1.0.6"
       sources."parents-1.0.1"
-      sources."parse-asn1-5.1.0"
+      sources."parse-asn1-5.1.1"
       sources."path-browserify-0.0.0"
       sources."path-is-absolute-1.0.1"
       sources."path-parse-1.0.5"
       sources."path-platform-0.11.15"
-      sources."pbkdf2-3.0.14"
+      sources."pbkdf2-3.0.16"
       sources."process-0.11.10"
-      sources."process-nextick-args-1.0.7"
-      sources."public-encrypt-4.0.0"
+      sources."process-nextick-args-2.0.0"
+      sources."public-encrypt-4.0.2"
       sources."punycode-1.4.1"
       sources."querystring-0.2.0"
       sources."querystring-es3-0.2.1"
       sources."randombytes-2.0.6"
       sources."randomfill-1.0.4"
       sources."read-only-stream-2.0.0"
-      (sources."readable-stream-2.3.4" // {
+      (sources."readable-stream-2.3.6" // {
         dependencies = [
-          sources."process-nextick-args-2.0.0"
+          sources."isarray-1.0.0"
         ];
       })
-      sources."resolve-1.5.0"
-      sources."ripemd160-2.0.1"
-      sources."safe-buffer-5.1.1"
-      sources."sha.js-2.4.10"
+      sources."resolve-1.7.1"
+      sources."ripemd160-2.0.2"
+      sources."safe-buffer-5.1.2"
+      sources."sha.js-2.4.11"
       sources."shasum-1.0.2"
       sources."shell-quote-1.6.1"
       sources."source-map-0.5.7"
       sources."stream-browserify-2.0.1"
       sources."stream-combiner2-1.1.1"
-      sources."stream-http-2.8.0"
+      sources."stream-http-2.8.1"
       sources."stream-splicer-2.0.0"
-      sources."string_decoder-1.0.3"
+      sources."string_decoder-1.1.1"
       (sources."subarg-1.0.0" // {
         dependencies = [
           sources."minimist-1.2.0"
         ];
       })
-      (sources."syntax-error-1.4.0" // {
-        dependencies = [
-          sources."acorn-5.5.0"
-        ];
-      })
+      sources."syntax-error-1.4.0"
       sources."through-2.3.8"
       sources."through2-2.0.3"
       sources."timers-browserify-1.4.2"
       sources."to-arraybuffer-1.0.1"
       sources."tty-browserify-0.0.1"
       sources."typedarray-0.0.6"
-      sources."umd-3.0.1"
+      sources."umd-3.0.3"
       (sources."url-0.11.0" // {
         dependencies = [
           sources."punycode-1.3.2"
@@ -28849,7 +30295,7 @@ in
         ];
       })
       sources."util-deprecate-1.0.2"
-      sources."vm-browserify-0.0.4"
+      sources."vm-browserify-1.0.1"
       sources."wrappy-1.0.2"
       sources."xtend-4.0.1"
     ];
@@ -28884,8 +30330,8 @@ in
       sources."async-0.2.10"
       sources."aws-sign-0.2.0"
       sources."balanced-match-1.0.0"
-      sources."base64-js-1.2.0"
-      sources."bencode-1.0.0"
+      sources."base64-js-1.3.0"
+      sources."bencode-2.0.0"
       sources."bitfield-0.1.0"
       sources."bittorrent-dht-6.4.2"
       sources."bittorrent-tracker-7.7.0"
@@ -28894,9 +30340,12 @@ in
       sources."bncode-0.5.3"
       sources."boom-0.3.8"
       sources."brace-expansion-1.1.11"
-      sources."buffer-alloc-unsafe-1.0.0"
+      sources."buffer-alloc-1.1.0"
+      sources."buffer-alloc-unsafe-0.1.1"
       sources."buffer-equal-0.0.1"
       sources."buffer-equals-1.0.4"
+      sources."buffer-fill-0.1.1"
+      sources."buffer-from-1.0.0"
       sources."bufferview-1.0.1"
       sources."builtin-modules-1.1.1"
       sources."bytebuffer-3.5.5"
@@ -28913,10 +30362,10 @@ in
       sources."codepage-1.4.0"
       sources."colour-0.7.1"
       sources."combined-stream-0.0.7"
-      sources."commander-2.14.1"
+      sources."commander-2.15.1"
       sources."compact2string-1.4.0"
       sources."concat-map-0.0.1"
-      sources."concat-stream-1.6.0"
+      sources."concat-stream-1.6.2"
       sources."cookie-jar-0.2.0"
       sources."core-util-is-1.0.2"
       sources."cryptiles-0.1.3"
@@ -28948,7 +30397,7 @@ in
       sources."flatten-0.0.1"
       sources."forever-agent-0.2.0"
       sources."form-data-0.0.10"
-      (sources."fs-chunk-store-1.6.5" // {
+      (sources."fs-chunk-store-1.7.0" // {
         dependencies = [
           sources."mkdirp-0.5.1"
         ];
@@ -28963,7 +30412,7 @@ in
       sources."hat-0.0.3"
       sources."hawk-0.10.2"
       sources."hoek-0.7.6"
-      sources."hosted-git-info-2.5.0"
+      sources."hosted-git-info-2.6.0"
       sources."immediate-chunk-store-1.0.8"
       sources."indent-string-2.1.0"
       sources."inflight-1.0.6"
@@ -28977,7 +30426,7 @@ in
       })
       sources."ip-1.1.5"
       sources."ip-set-1.0.1"
-      sources."ipaddr.js-1.6.0"
+      sources."ipaddr.js-1.7.0"
       sources."is-arrayish-0.2.1"
       sources."is-builtin-module-1.0.0"
       sources."is-finite-1.0.2"
@@ -28987,11 +30436,11 @@ in
       sources."k-bucket-0.6.0"
       (sources."k-rpc-3.7.0" // {
         dependencies = [
-          sources."bencode-1.0.0"
+          sources."bencode-2.0.0"
           sources."k-bucket-2.0.1"
         ];
       })
-      sources."k-rpc-socket-1.7.2"
+      sources."k-rpc-socket-1.8.0"
       sources."keypress-0.2.1"
       sources."load-json-file-1.1.0"
       sources."lodash-3.10.1"
@@ -29025,13 +30474,13 @@ in
       sources."optjs-3.2.2"
       sources."pad-0.0.5"
       sources."parse-json-2.2.0"
-      sources."parse-torrent-5.8.3"
-      sources."parse-torrent-file-4.0.3"
+      sources."parse-torrent-5.9.1"
+      sources."parse-torrent-file-2.1.4"
       sources."path-exists-2.1.0"
       sources."path-is-absolute-1.0.1"
       sources."path-type-1.1.0"
-      sources."peer-wire-protocol-0.7.0"
-      (sources."peer-wire-swarm-0.12.1" // {
+      sources."peer-wire-protocol-0.7.1"
+      (sources."peer-wire-swarm-0.12.2" // {
         dependencies = [
           sources."bncode-0.2.3"
         ];
@@ -29041,16 +30490,15 @@ in
           sources."bencode-0.7.0"
           sources."debug-3.1.0"
           sources."end-of-stream-0.1.5"
-          sources."get-stdin-5.0.1"
+          sources."get-stdin-6.0.0"
           sources."isarray-1.0.0"
           sources."magnet-uri-4.2.3"
           sources."minimist-0.0.10"
           sources."object-assign-4.1.1"
           sources."once-1.2.0"
-          sources."parse-torrent-file-2.1.4"
-          sources."readable-stream-2.3.4"
+          sources."readable-stream-2.3.6"
           sources."safe-buffer-5.0.1"
-          sources."string_decoder-1.0.3"
+          sources."string_decoder-1.1.1"
           sources."thirty-two-0.0.2"
           sources."thunky-1.0.2"
           sources."ultron-1.0.2"
@@ -29069,7 +30517,7 @@ in
           sources."supports-color-0.2.0"
         ];
       })
-      sources."plist-2.1.0"
+      sources."plist-3.0.1"
       sources."process-nextick-args-2.0.0"
       sources."promiscuous-0.6.0"
       sources."protobufjs-3.8.2"
@@ -29077,7 +30525,8 @@ in
       sources."qap-3.3.1"
       sources."qs-0.5.6"
       sources."query-string-1.0.1"
-      sources."random-access-file-1.8.1"
+      sources."random-access-file-2.0.1"
+      sources."random-access-storage-1.2.0"
       sources."random-iterate-1.0.1"
       sources."randombytes-2.0.6"
       sources."range-parser-1.2.0"
@@ -29087,7 +30536,6 @@ in
       sources."read-pkg-up-1.0.1"
       (sources."read-torrent-1.3.0" // {
         dependencies = [
-          sources."bencode-0.7.0"
           sources."magnet-uri-2.0.1"
           sources."mime-1.2.11"
           (sources."parse-torrent-4.1.0" // {
@@ -29095,7 +30543,6 @@ in
               sources."magnet-uri-4.2.3"
             ];
           })
-          sources."parse-torrent-file-2.1.4"
           sources."thirty-two-0.0.2"
         ];
       })
@@ -29106,16 +30553,16 @@ in
       sources."request-2.16.6"
       sources."rimraf-2.6.2"
       sources."router-0.6.2"
-      sources."run-parallel-1.1.7"
-      sources."run-series-1.1.4"
+      sources."run-parallel-1.1.9"
+      sources."run-series-1.1.8"
       sources."rusha-0.8.13"
       sources."rx-2.5.3"
-      sources."safe-buffer-5.1.1"
+      sources."safe-buffer-5.1.2"
       sources."sax-1.2.4"
       sources."semver-5.5.0"
       sources."signal-exit-3.0.2"
       sources."simple-concat-1.0.0"
-      sources."simple-get-2.7.0"
+      sources."simple-get-2.8.1"
       sources."simple-peer-6.4.4"
       sources."simple-sha1-2.1.0"
       (sources."simple-websocket-4.3.1" // {
@@ -29133,12 +30580,12 @@ in
       (sources."srt2vtt-1.3.1" // {
         dependencies = [
           sources."isarray-1.0.0"
-          sources."readable-stream-2.3.4"
-          sources."string_decoder-1.0.3"
+          sources."readable-stream-2.3.6"
+          sources."string_decoder-1.1.1"
         ];
       })
       sources."stream-transcoder-0.0.5"
-      sources."string2compact-1.2.2"
+      sources."string2compact-1.2.3"
       sources."string_decoder-0.10.31"
       sources."strip-ansi-2.0.1"
       sources."strip-bom-2.0.0"
@@ -29155,7 +30602,7 @@ in
         ];
       })
       sources."torrent-piece-1.1.1"
-      (sources."torrent-stream-1.0.3" // {
+      (sources."torrent-stream-1.0.4" // {
         dependencies = [
           sources."bencode-0.8.0"
           sources."debug-2.6.9"
@@ -29181,12 +30628,8 @@ in
       sources."wrap-fn-0.1.5"
       sources."wrappy-1.0.2"
       sources."ws-1.1.5"
-      (sources."xml2js-0.4.19" // {
-        dependencies = [
-          sources."xmlbuilder-9.0.7"
-        ];
-      })
-      sources."xmlbuilder-8.2.2"
+      sources."xml2js-0.4.19"
+      sources."xmlbuilder-9.0.7"
       sources."xmldom-0.1.27"
       sources."xspfr-0.3.1"
       sources."xtend-4.0.1"
@@ -29203,10 +30646,10 @@ in
   clean-css = nodeEnv.buildNodePackage {
     name = "clean-css";
     packageName = "clean-css";
-    version = "4.1.9";
+    version = "4.1.11";
     src = fetchurl {
-      url = "https://registry.npmjs.org/clean-css/-/clean-css-4.1.9.tgz";
-      sha1 = "35cee8ae7687a49b98034f70de00c4edd3826301";
+      url = "https://registry.npmjs.org/clean-css/-/clean-css-4.1.11.tgz";
+      sha1 = "2ecdf145aba38f54740f26cefd0ff3e03e125d6a";
     };
     dependencies = [
       sources."source-map-0.5.7"
@@ -29247,17 +30690,17 @@ in
     };
     dependencies = [
       sources."ansi-regex-2.1.1"
-      sources."ansi-styles-3.2.0"
+      sources."ansi-styles-3.2.1"
       sources."axios-0.17.1"
-      sources."chalk-2.3.1"
+      sources."chalk-2.4.1"
       sources."cli-cursor-2.1.0"
-      sources."cli-spinners-1.1.0"
+      sources."cli-spinners-1.3.1"
       sources."cli-table2-0.2.0"
       sources."code-point-at-1.1.0"
       sources."color-convert-1.9.1"
       sources."color-name-1.1.3"
-      sources."colors-1.1.2"
-      sources."commander-2.14.1"
+      sources."colors-1.2.4"
+      sources."commander-2.15.1"
       sources."debug-3.1.0"
       sources."escape-string-regexp-1.0.5"
       sources."follow-redirects-1.4.1"
@@ -29276,7 +30719,7 @@ in
       sources."signal-exit-3.0.2"
       sources."string-width-1.0.2"
       sources."strip-ansi-3.0.1"
-      sources."supports-color-5.2.0"
+      sources."supports-color-5.4.0"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -29310,7 +30753,7 @@ in
       sources."stack-trace-0.0.10"
       sources."statsd-parser-0.0.4"
       sources."strftime-0.10.0"
-      sources."winston-2.4.0"
+      sources."winston-2.4.2"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -29332,8 +30775,8 @@ in
     dependencies = [
       sources."JSONStream-1.3.2"
       sources."abbrev-1.1.1"
-      sources."accepts-1.3.4"
-      sources."acorn-5.5.0"
+      sources."accepts-1.3.5"
+      sources."acorn-5.5.3"
       sources."acorn-node-1.3.0"
       sources."aliasify-2.1.0"
       sources."ansi-0.3.1"
@@ -29352,11 +30795,11 @@ in
       sources."async-1.5.2"
       sources."asynckit-0.4.0"
       sources."aws-sign2-0.6.0"
-      sources."aws4-1.6.0"
+      sources."aws4-1.7.0"
       sources."balanced-match-1.0.0"
       sources."base64-js-0.0.8"
       sources."bcrypt-pbkdf-1.0.1"
-      sources."big-integer-1.6.26"
+      sources."big-integer-1.6.28"
       sources."block-stream-0.0.9"
       sources."bn.js-4.11.8"
       (sources."body-parser-1.18.2" // {
@@ -29369,7 +30812,7 @@ in
       sources."bplist-parser-0.1.1"
       sources."brace-expansion-1.1.11"
       sources."brorand-1.1.0"
-      sources."browser-pack-6.0.4"
+      sources."browser-pack-6.1.0"
       (sources."browser-resolve-1.11.2" // {
         dependencies = [
           sources."resolve-1.1.7"
@@ -29380,14 +30823,15 @@ in
           sources."isarray-1.0.0"
         ];
       })
-      sources."browserify-aes-1.1.1"
-      sources."browserify-cipher-1.0.0"
-      sources."browserify-des-1.0.0"
+      sources."browserify-aes-1.2.0"
+      sources."browserify-cipher-1.0.1"
+      sources."browserify-des-1.0.1"
       sources."browserify-rsa-4.0.1"
       sources."browserify-sign-4.0.4"
       sources."browserify-transform-tools-1.7.0"
       sources."browserify-zlib-0.1.4"
       sources."buffer-5.1.0"
+      sources."buffer-from-1.0.0"
       sources."buffer-xor-1.0.3"
       sources."builtin-modules-1.1.1"
       sources."builtin-status-codes-3.0.0"
@@ -29402,7 +30846,7 @@ in
       sources."code-point-at-1.1.0"
       sources."combine-source-map-0.8.0"
       sources."combined-stream-1.0.6"
-      sources."commander-2.14.1"
+      sources."commander-2.15.1"
       sources."compressible-2.0.13"
       sources."compression-1.7.2"
       sources."concat-map-0.0.1"
@@ -29431,17 +30875,15 @@ in
       })
       (sources."cordova-js-4.2.2" // {
         dependencies = [
-          sources."acorn-5.5.0"
-          sources."isarray-0.0.1"
+          sources."acorn-5.5.3"
+          sources."isarray-2.0.4"
         ];
       })
       (sources."cordova-lib-8.0.0" // {
         dependencies = [
           sources."acorn-4.0.13"
-          sources."base64-js-1.2.3"
-          sources."combine-source-map-0.7.2"
+          sources."base64-js-1.3.0"
           sources."glob-7.1.1"
-          sources."hash-base-2.0.2"
           sources."isarray-1.0.0"
           sources."minimist-1.2.0"
           sources."nopt-4.0.1"
@@ -29453,7 +30895,9 @@ in
           sources."process-nextick-args-2.0.0"
           sources."q-1.0.1"
           sources."qs-6.3.2"
+          sources."safe-buffer-5.1.1"
           sources."shelljs-0.3.0"
+          sources."underscore-1.8.3"
           sources."uuid-3.2.1"
           sources."xmlbuilder-8.2.2"
         ];
@@ -29465,15 +30909,15 @@ in
         ];
       })
       sources."core-util-is-1.0.2"
-      sources."create-ecdh-4.0.0"
-      sources."create-hash-1.1.3"
-      sources."create-hmac-1.1.6"
+      sources."create-ecdh-4.0.1"
+      sources."create-hash-1.2.0"
+      sources."create-hmac-1.1.7"
       sources."cryptiles-2.0.5"
       sources."crypto-browserify-3.12.0"
       sources."dashdash-1.14.1"
       sources."date-now-0.1.4"
       sources."debug-2.6.9"
-      sources."deep-extend-0.4.2"
+      sources."deep-extend-0.5.1"
       sources."defined-1.0.0"
       sources."delayed-stream-1.0.0"
       (sources."dep-graph-1.1.0" // {
@@ -29492,11 +30936,11 @@ in
       sources."destroy-1.0.4"
       sources."detect-indent-5.0.0"
       sources."detective-4.7.1"
-      sources."diffie-hellman-5.0.2"
+      sources."diffie-hellman-5.0.3"
       sources."domain-browser-1.1.7"
       sources."dot-prop-3.0.0"
       sources."duplexer2-0.1.4"
-      sources."duplexify-3.5.3"
+      sources."duplexify-3.6.0"
       sources."ecc-jsbn-0.1.1"
       sources."editor-1.0.0"
       sources."ee-first-1.1.1"
@@ -29510,12 +30954,12 @@ in
       sources."events-1.1.1"
       sources."evp_bytestokey-1.0.3"
       sources."exit-hook-1.1.1"
-      sources."express-4.16.2"
+      sources."express-4.16.3"
       sources."extend-3.0.1"
       sources."extsprintf-1.3.0"
       sources."falafel-2.1.0"
       sources."figures-1.7.0"
-      sources."finalhandler-1.1.0"
+      sources."finalhandler-1.1.1"
       sources."foreach-2.0.5"
       sources."forever-agent-0.6.1"
       sources."form-data-2.1.4"
@@ -29538,27 +30982,27 @@ in
       sources."hawk-3.1.3"
       sources."hmac-drbg-1.0.1"
       sources."hoek-2.16.3"
-      sources."hosted-git-info-2.5.0"
+      sources."hosted-git-info-2.6.0"
       sources."htmlescape-1.1.1"
-      (sources."http-errors-1.6.2" // {
-        dependencies = [
-          sources."depd-1.1.1"
-        ];
-      })
+      sources."http-errors-1.6.3"
       sources."http-signature-1.1.1"
       sources."https-browserify-1.0.0"
       sources."iconv-lite-0.4.19"
-      sources."ieee754-1.1.8"
+      sources."ieee754-1.1.11"
       sources."imurmurhash-0.1.4"
       sources."indexof-0.0.1"
       sources."infinity-agent-2.0.3"
       sources."inflight-1.0.6"
       sources."inherits-2.0.3"
       sources."ini-1.3.5"
-      sources."init-package-json-1.10.1"
+      sources."init-package-json-1.10.3"
       sources."inline-source-map-0.6.2"
       sources."inquirer-0.10.1"
-      sources."insert-module-globals-7.0.1"
+      (sources."insert-module-globals-7.0.6" // {
+        dependencies = [
+          sources."concat-stream-1.6.2"
+        ];
+      })
       (sources."insight-0.8.4" // {
         dependencies = [
           (sources."configstore-1.4.0" // {
@@ -29585,11 +31029,11 @@ in
       sources."is-redirect-1.0.0"
       sources."is-stream-1.1.0"
       sources."is-typedarray-1.0.0"
-      sources."is-url-1.2.2"
+      sources."is-url-1.2.4"
       sources."isarray-0.0.1"
       sources."isstream-0.1.2"
       sources."jsbn-0.1.1"
-      sources."json-parse-better-errors-1.0.1"
+      sources."json-parse-better-errors-1.0.2"
       sources."json-schema-0.2.3"
       sources."json-stable-stringify-0.0.1"
       sources."json-stringify-safe-5.0.1"
@@ -29601,14 +31045,14 @@ in
           sources."assert-plus-1.0.0"
         ];
       })
-      sources."labeled-stream-splicer-2.0.0"
+      sources."labeled-stream-splicer-2.0.1"
       sources."latest-version-1.0.1"
       sources."lexical-scope-1.2.0"
       sources."lodash-3.10.1"
       sources."lodash._getnative-3.9.1"
       sources."lodash.debounce-3.1.1"
       sources."lodash.memoize-3.0.4"
-      sources."lowercase-keys-1.0.0"
+      sources."lowercase-keys-1.0.1"
       sources."md5.js-1.3.4"
       sources."media-typer-0.3.0"
       sources."merge-descriptors-1.0.1"
@@ -29617,7 +31061,7 @@ in
       sources."mime-1.4.1"
       sources."mime-db-1.33.0"
       sources."mime-types-2.1.18"
-      sources."minimalistic-assert-1.0.0"
+      sources."minimalistic-assert-1.0.1"
       sources."minimalistic-crypto-utils-1.0.1"
       sources."minimatch-3.0.4"
       sources."minimist-0.0.8"
@@ -29629,7 +31073,7 @@ in
       sources."nested-error-stacks-1.0.2"
       sources."nopt-3.0.1"
       sources."normalize-package-data-2.4.0"
-      sources."npm-package-arg-5.1.2"
+      sources."npm-package-arg-6.1.0"
       sources."number-is-nan-1.0.1"
       sources."oauth-sign-0.8.2"
       sources."object-assign-4.1.1"
@@ -29649,14 +31093,14 @@ in
       sources."package-json-1.2.0"
       sources."pako-0.2.9"
       sources."parents-1.0.1"
-      sources."parse-asn1-5.1.0"
+      sources."parse-asn1-5.1.1"
       sources."parseurl-1.3.2"
       sources."path-browserify-0.0.0"
       sources."path-is-absolute-1.0.1"
       sources."path-parse-1.0.5"
       sources."path-platform-0.11.15"
       sources."path-to-regexp-0.1.7"
-      sources."pbkdf2-3.0.14"
+      sources."pbkdf2-3.0.16"
       sources."pegjs-0.10.0"
       sources."pinkie-2.0.4"
       sources."pinkie-promise-2.0.1"
@@ -29667,7 +31111,7 @@ in
       sources."promzard-0.3.0"
       sources."properties-parser-0.3.1"
       sources."proxy-addr-2.0.3"
-      sources."public-encrypt-4.0.0"
+      sources."public-encrypt-4.0.2"
       sources."punycode-1.4.1"
       sources."q-1.5.1"
       sources."qs-6.5.1"
@@ -29676,32 +31120,41 @@ in
       sources."randombytes-2.0.6"
       sources."randomfill-1.0.4"
       sources."range-parser-1.2.0"
-      sources."raw-body-2.3.2"
-      sources."rc-1.2.5"
+      (sources."raw-body-2.3.2" // {
+        dependencies = [
+          sources."depd-1.1.1"
+          sources."http-errors-1.6.2"
+        ];
+      })
+      sources."rc-1.2.7"
       sources."read-1.0.7"
       sources."read-all-stream-3.1.0"
       sources."read-only-stream-2.0.0"
-      sources."read-package-json-2.0.12"
-      sources."readable-stream-2.3.4"
+      sources."read-package-json-2.0.13"
+      (sources."readable-stream-2.3.6" // {
+        dependencies = [
+          sources."string_decoder-1.1.1"
+        ];
+      })
       sources."readline2-1.0.1"
       sources."rechoir-0.6.2"
       sources."registry-url-3.1.0"
       sources."repeating-1.1.3"
       sources."request-2.79.0"
-      sources."resolve-1.5.0"
+      sources."resolve-1.7.1"
       sources."restore-cursor-1.0.1"
       sources."rimraf-2.6.2"
-      sources."ripemd160-2.0.1"
+      sources."ripemd160-2.0.2"
       sources."run-async-0.1.0"
       sources."rx-lite-3.1.2"
-      sources."safe-buffer-5.1.1"
+      sources."safe-buffer-5.1.2"
       sources."sax-0.3.5"
       sources."semver-5.5.0"
       sources."semver-diff-2.1.0"
-      sources."send-0.16.1"
-      sources."serve-static-1.13.1"
+      sources."send-0.16.2"
+      sources."serve-static-1.13.2"
       sources."setprototypeof-1.1.0"
-      sources."sha.js-2.4.10"
+      sources."sha.js-2.4.11"
       sources."shasum-1.0.2"
       sources."shell-quote-1.6.1"
       sources."shelljs-0.5.3"
@@ -29714,20 +31167,20 @@ in
       sources."spdx-exceptions-2.1.0"
       sources."spdx-expression-parse-3.0.0"
       sources."spdx-license-ids-3.0.0"
-      (sources."sshpk-1.13.1" // {
+      (sources."sshpk-1.14.1" // {
         dependencies = [
           sources."assert-plus-1.0.0"
         ];
       })
-      sources."statuses-1.3.1"
+      sources."statuses-1.4.0"
       sources."stream-browserify-2.0.1"
       sources."stream-buffers-2.2.0"
       sources."stream-combiner2-1.1.1"
-      sources."stream-http-2.8.0"
+      sources."stream-http-2.8.1"
       sources."stream-shift-1.0.0"
       sources."stream-splicer-2.0.0"
       sources."string-length-1.0.1"
-      sources."string.prototype.codepointat-0.2.0"
+      sources."string.prototype.codepointat-0.2.1"
       sources."string_decoder-1.0.3"
       sources."stringstream-0.0.5"
       sources."strip-ansi-3.0.1"
@@ -29747,8 +31200,8 @@ in
       sources."tweetnacl-0.14.5"
       sources."type-is-1.6.16"
       sources."typedarray-0.0.6"
-      sources."umd-3.0.1"
-      sources."underscore-1.8.3"
+      sources."umd-3.0.3"
+      sources."underscore-1.9.0"
       sources."unorm-1.4.1"
       sources."unpipe-1.0.0"
       (sources."update-notifier-0.5.0" // {
@@ -29799,6 +31252,143 @@ in
     production = true;
     bypassCache = false;
   };
+  create-react-app = nodeEnv.buildNodePackage {
+    name = "create-react-app";
+    packageName = "create-react-app";
+    version = "1.5.2";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/create-react-app/-/create-react-app-1.5.2.tgz";
+      sha512 = "20yr02pv4sg07navr76mzp7fkna2n0ja4k08glrka1x021xm9fykay2gbyrjjkclavb12pkfs01j6y6mpd3yfsxvaiacsnkqz70hxmy";
+    };
+    dependencies = [
+      sources."ansi-regex-2.1.1"
+      sources."ansi-styles-2.2.1"
+      sources."balanced-match-1.0.0"
+      sources."block-stream-0.0.9"
+      sources."brace-expansion-1.1.11"
+      sources."buffer-from-0.1.2"
+      sources."builtins-1.0.3"
+      sources."chalk-1.1.3"
+      sources."commander-2.15.1"
+      sources."concat-map-0.0.1"
+      sources."core-util-is-1.0.2"
+      sources."cross-spawn-4.0.2"
+      sources."debug-2.6.9"
+      sources."duplexer2-0.0.2"
+      sources."envinfo-3.4.2"
+      sources."escape-string-regexp-1.0.5"
+      sources."fs-extra-1.0.0"
+      sources."fs.realpath-1.0.0"
+      sources."fstream-1.0.11"
+      sources."fstream-ignore-1.0.5"
+      sources."glob-7.1.2"
+      sources."graceful-fs-4.1.11"
+      sources."has-ansi-2.0.0"
+      (sources."hyperquest-2.1.3" // {
+        dependencies = [
+          sources."readable-stream-1.0.34"
+        ];
+      })
+      sources."inflight-1.0.6"
+      sources."inherits-2.0.3"
+      sources."isarray-0.0.1"
+      sources."isexe-2.0.0"
+      sources."jsonfile-2.4.0"
+      sources."klaw-1.3.1"
+      sources."lru-cache-4.1.2"
+      sources."macos-release-1.1.0"
+      sources."minimatch-3.0.4"
+      sources."minimist-1.2.0"
+      sources."mkdirp-0.5.1"
+      sources."ms-2.0.0"
+      sources."once-1.4.0"
+      sources."os-name-2.0.1"
+      sources."os-tmpdir-1.0.2"
+      sources."path-is-absolute-1.0.1"
+      sources."process-nextick-args-2.0.0"
+      sources."pseudomap-1.0.2"
+      sources."readable-stream-1.1.14"
+      sources."rimraf-2.6.2"
+      sources."safe-buffer-5.1.2"
+      sources."semver-5.5.0"
+      sources."string_decoder-0.10.31"
+      sources."strip-ansi-3.0.1"
+      sources."supports-color-2.0.0"
+      sources."tar-2.2.1"
+      (sources."tar-pack-3.4.1" // {
+        dependencies = [
+          sources."isarray-1.0.0"
+          sources."minimist-0.0.8"
+          sources."readable-stream-2.3.6"
+          sources."string_decoder-1.1.1"
+        ];
+      })
+      sources."through2-0.6.5"
+      sources."tmp-0.0.31"
+      sources."uid-number-0.0.6"
+      sources."util-deprecate-1.0.2"
+      sources."validate-npm-package-name-3.0.0"
+      sources."which-1.3.0"
+      sources."win-release-1.1.1"
+      sources."wrappy-1.0.2"
+      sources."xtend-4.0.1"
+      sources."yallist-2.1.2"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "Create React apps with no build configuration.";
+      homepage = "https://github.com/facebookincubator/create-react-app#readme";
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = false;
+  };
+  create-react-native-app = nodeEnv.buildNodePackage {
+    name = "create-react-native-app";
+    packageName = "create-react-native-app";
+    version = "1.0.0";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/create-react-native-app/-/create-react-native-app-1.0.0.tgz";
+      sha1 = "fc6046f4407bde2727ce0c4eb1354bb1a8c0f9e6";
+    };
+    dependencies = [
+      sources."ansi-styles-3.2.1"
+      sources."babel-runtime-6.26.0"
+      sources."chalk-2.4.1"
+      sources."color-convert-1.9.1"
+      sources."color-name-1.1.3"
+      sources."core-js-2.5.5"
+      sources."cross-spawn-5.1.0"
+      sources."escape-string-regexp-1.0.5"
+      sources."fs-extra-4.0.3"
+      sources."graceful-fs-4.1.11"
+      sources."has-flag-3.0.0"
+      sources."isexe-2.0.0"
+      sources."jsonfile-4.0.0"
+      sources."lru-cache-4.1.2"
+      sources."minimist-1.2.0"
+      sources."path-exists-3.0.0"
+      sources."pseudomap-1.0.2"
+      sources."regenerator-runtime-0.11.1"
+      sources."semver-5.5.0"
+      sources."shebang-command-1.2.0"
+      sources."shebang-regex-1.0.0"
+      sources."source-map-0.5.7"
+      sources."source-map-support-0.4.18"
+      sources."supports-color-5.4.0"
+      sources."universalify-0.1.1"
+      sources."which-1.3.0"
+      sources."yallist-2.1.2"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "Create React Native apps with no build configuration.";
+      homepage = https://github.com/react-community/create-react-native-app;
+      license = "BSD-3-Clause";
+    };
+    production = true;
+    bypassCache = false;
+  };
   csslint = nodeEnv.buildNodePackage {
     name = "csslint";
     packageName = "csslint";
@@ -29808,7 +31398,7 @@ in
       sha1 = "19cc3eda322160fd3f7232af1cb2a360e898a2e9";
     };
     dependencies = [
-      sources."clone-2.1.1"
+      sources."clone-2.1.2"
       sources."parserlib-1.1.1"
     ];
     buildInputs = globalBuildInputs;
@@ -29831,9 +31421,9 @@ in
     dependencies = [
       sources."abstract-random-access-1.1.2"
       sources."ajv-5.5.2"
-      sources."ansi-diff-stream-1.2.0"
+      sources."ansi-diff-stream-1.2.1"
       sources."ansi-regex-3.0.0"
-      sources."ansi-styles-3.2.0"
+      sources."ansi-styles-3.2.1"
       sources."anymatch-1.3.2"
       sources."ap-0.1.0"
       sources."append-tree-2.4.1"
@@ -29847,7 +31437,7 @@ in
       sources."asynckit-0.4.0"
       sources."atomic-batcher-1.0.2"
       sources."aws-sign2-0.7.0"
-      sources."aws4-1.6.0"
+      sources."aws4-1.7.0"
       sources."balanced-match-1.0.0"
       sources."bcrypt-pbkdf-1.0.1"
       sources."bencode-1.0.0"
@@ -29867,23 +31457,28 @@ in
           sources."kind-of-4.0.0"
         ];
       })
+      sources."buffer-alloc-1.1.0"
+      sources."buffer-alloc-unsafe-1.0.0"
       sources."buffer-equals-1.0.4"
+      sources."buffer-fill-0.1.1"
+      sources."buffer-from-1.0.0"
       sources."buffer-indexof-1.1.1"
-      sources."bulk-write-stream-1.1.3"
+      sources."bulk-write-stream-1.1.4"
       sources."bytes-3.0.0"
       sources."call-me-maybe-1.0.1"
       sources."caseless-0.12.0"
-      sources."chalk-2.3.1"
+      sources."chalk-2.4.1"
+      sources."circular-append-file-1.0.1"
       sources."cli-truncate-1.1.0"
       sources."cliclopts-1.1.1"
       sources."co-4.6.0"
-      sources."codecs-1.2.0"
+      sources."codecs-1.2.1"
       sources."color-convert-1.9.1"
       sources."color-name-1.1.3"
-      sources."colors-1.1.2"
+      sources."colors-1.2.4"
       sources."combined-stream-1.0.6"
       sources."concat-map-0.0.1"
-      sources."concat-stream-1.6.0"
+      sources."concat-stream-1.6.2"
       sources."connections-1.4.2"
       sources."content-types-0.1.0"
       sources."core-util-is-1.0.2"
@@ -29896,16 +31491,19 @@ in
       sources."cycle-1.0.3"
       sources."dashdash-1.14.1"
       sources."dat-dns-1.3.2"
-      (sources."dat-doctor-1.3.1" // {
+      (sources."dat-doctor-1.4.0" // {
         dependencies = [
           sources."debug-2.6.9"
+          sources."dns-packet-1.3.1"
+          sources."dns-socket-1.6.3"
           sources."lru-2.0.1"
+          sources."multicast-dns-6.2.3"
           sources."pump-1.0.3"
         ];
       })
       sources."dat-encoding-5.0.1"
-      sources."dat-ignore-2.0.0"
-      (sources."dat-json-1.0.1" // {
+      sources."dat-ignore-2.1.1"
+      (sources."dat-json-1.0.2" // {
         dependencies = [
           sources."dat-encoding-4.0.2"
           sources."debug-2.6.9"
@@ -29923,6 +31521,7 @@ in
       })
       (sources."dat-node-3.5.8" // {
         dependencies = [
+          sources."buffer-alloc-unsafe-0.1.1"
           sources."minimist-0.0.8"
           sources."process-nextick-args-1.0.7"
           sources."pump-1.0.3"
@@ -29933,24 +31532,32 @@ in
       sources."dat-registry-4.0.0"
       sources."dat-secret-storage-4.0.1"
       sources."dat-storage-1.0.4"
-      sources."dat-swarm-defaults-1.0.0"
-      sources."datland-swarm-defaults-1.0.2"
+      sources."dat-swarm-defaults-1.0.1"
       sources."debug-3.1.0"
       sources."deep-equal-0.2.2"
       sources."delayed-stream-1.0.0"
       sources."directory-index-html-2.1.0"
-      sources."discovery-channel-5.4.7"
+      (sources."discovery-channel-5.5.1" // {
+        dependencies = [
+          sources."pump-3.0.0"
+        ];
+      })
       (sources."discovery-swarm-4.4.2" // {
         dependencies = [
+          (sources."dns-discovery-6.1.0" // {
+            dependencies = [
+              sources."thunky-1.0.2"
+            ];
+          })
           sources."thunky-0.1.0"
         ];
       })
       sources."dns-discovery-5.6.1"
-      sources."dns-packet-1.3.1"
-      sources."dns-socket-1.6.3"
+      sources."dns-packet-4.2.0"
+      sources."dns-socket-3.0.0"
       sources."dns-txt-2.0.2"
       sources."dom-walk-0.1.1"
-      sources."duplexify-3.5.3"
+      sources."duplexify-3.6.0"
       sources."ecc-jsbn-0.1.1"
       sources."end-of-stream-1.4.1"
       sources."escape-string-regexp-1.0.5"
@@ -29985,12 +31592,12 @@ in
       sources."hoek-4.2.1"
       sources."http-methods-0.1.0"
       sources."http-signature-1.2.0"
-      (sources."hypercore-6.12.2" // {
+      (sources."hypercore-6.14.0" // {
         dependencies = [
           sources."varint-5.0.0"
         ];
       })
-      sources."hypercore-protocol-6.5.2"
+      sources."hypercore-protocol-6.6.4"
       (sources."hyperdrive-9.12.3" // {
         dependencies = [
           sources."varint-4.0.1"
@@ -30026,8 +31633,13 @@ in
       sources."json-stringify-safe-5.0.1"
       sources."jsprim-1.4.1"
       sources."k-bucket-3.3.1"
-      sources."k-rpc-4.2.1"
-      sources."k-rpc-socket-1.7.2"
+      (sources."k-rpc-4.3.1" // {
+        dependencies = [
+          sources."bencode-2.0.0"
+          sources."k-bucket-4.0.0"
+        ];
+      })
+      sources."k-rpc-socket-1.8.0"
       sources."kind-of-3.2.2"
       sources."last-one-wins-1.0.4"
       sources."length-prefixed-message-3.0.3"
@@ -30043,15 +31655,16 @@ in
       sources."min-document-2.19.0"
       sources."minimatch-3.0.4"
       sources."minimist-1.2.0"
-      sources."mirror-folder-2.1.1"
+      sources."mirror-folder-2.2.0"
       sources."mkdirp-0.5.1"
       sources."ms-2.0.0"
       sources."multi-random-access-2.1.1"
-      sources."multicast-dns-6.2.3"
+      sources."multicast-dns-7.0.0"
       sources."multicb-1.2.2"
+      sources."multistream-2.1.0"
       sources."mute-stream-0.0.7"
       sources."mutexify-1.2.0"
-      sources."nan-2.9.2"
+      sources."nan-2.10.0"
       sources."nanoassert-1.1.0"
       sources."nanobus-3.3.0"
       sources."nanotiming-1.0.1"
@@ -30063,7 +31676,7 @@ in
       })
       sources."nets-3.2.0"
       sources."network-address-1.1.2"
-      sources."node-gyp-build-3.2.2"
+      sources."node-gyp-build-3.3.0"
       sources."normalize-path-2.1.1"
       sources."oauth-sign-0.8.2"
       sources."object.omit-2.0.1"
@@ -30088,10 +31701,10 @@ in
       sources."protocol-buffers-encodings-1.1.0"
       sources."pump-2.0.1"
       sources."punycode-1.4.1"
-      sources."qs-6.5.1"
+      sources."qs-6.5.2"
       sources."random-access-file-2.0.1"
       sources."random-access-memory-2.4.0"
-      sources."random-access-storage-1.1.1"
+      sources."random-access-storage-1.2.0"
       (sources."randomatic-1.1.7" // {
         dependencies = [
           (sources."is-number-3.0.0" // {
@@ -30104,30 +31717,30 @@ in
       sources."randombytes-2.0.6"
       sources."range-parser-1.2.0"
       sources."read-1.0.7"
-      sources."readable-stream-2.3.4"
-      sources."recursive-watch-1.1.3"
+      sources."readable-stream-2.3.6"
+      sources."recursive-watch-1.1.4"
       sources."regex-cache-0.4.4"
       sources."remove-trailing-separator-1.1.0"
       sources."repeat-element-1.1.2"
       sources."repeat-string-1.6.1"
-      sources."request-2.83.0"
+      sources."request-2.85.0"
       sources."revalidator-0.1.8"
       sources."rimraf-2.6.2"
       sources."rusha-0.8.13"
-      sources."safe-buffer-5.1.1"
+      sources."safe-buffer-5.1.2"
       sources."signed-varint-2.0.1"
       sources."simple-sha1-2.1.0"
       sources."siphash24-1.1.0"
       sources."slice-ansi-1.0.0"
       sources."sntp-2.1.0"
-      sources."sodium-javascript-0.5.4"
-      sources."sodium-native-2.1.4"
+      sources."sodium-javascript-0.5.5"
+      sources."sodium-native-2.1.6"
       sources."sodium-universal-2.0.0"
       sources."sorted-array-functions-1.1.0"
       sources."sorted-indexof-1.0.0"
       sources."sparse-bitfield-3.0.3"
       sources."speedometer-1.0.0"
-      sources."sshpk-1.13.1"
+      sources."sshpk-1.14.1"
       sources."stack-trace-0.0.10"
       sources."status-logger-3.1.1"
       sources."stream-collector-1.0.1"
@@ -30135,7 +31748,7 @@ in
       sources."stream-parser-0.3.1"
       sources."stream-shift-1.0.0"
       sources."string-width-2.1.1"
-      sources."string_decoder-1.0.3"
+      sources."string_decoder-1.1.1"
       sources."stringstream-0.0.5"
       sources."strip-ansi-4.0.0"
       (sources."subcommand-2.1.0" // {
@@ -30143,7 +31756,7 @@ in
           sources."debug-2.6.9"
         ];
       })
-      sources."supports-color-5.2.0"
+      sources."supports-color-5.4.0"
       (sources."throttle-1.0.3" // {
         dependencies = [
           sources."debug-2.6.9"
@@ -30151,7 +31764,7 @@ in
       })
       sources."through2-2.0.3"
       sources."thunky-1.0.2"
-      sources."to-buffer-1.1.0"
+      sources."to-buffer-1.1.1"
       sources."toiletdb-1.4.1"
       sources."tough-cookie-2.3.4"
       sources."township-client-1.3.2"
@@ -30160,14 +31773,14 @@ in
       sources."tunnel-agent-0.6.0"
       sources."tweetnacl-0.14.5"
       sources."typedarray-0.0.6"
-      sources."uint64be-2.0.1"
+      sources."uint64be-2.0.2"
       sources."unixify-1.0.0"
       sources."unordered-array-remove-1.0.2"
       sources."unordered-set-1.1.0"
       sources."untildify-3.0.2"
       sources."util-deprecate-1.0.2"
       sources."utile-0.3.0"
-      sources."utp-native-1.6.2"
+      sources."utp-native-1.7.1"
       sources."uuid-3.2.1"
       sources."varint-3.0.1"
       sources."verror-1.10.0"
@@ -30195,10 +31808,10 @@ in
   dhcp = nodeEnv.buildNodePackage {
     name = "dhcp";
     packageName = "dhcp";
-    version = "0.2.10";
+    version = "0.2.12";
     src = fetchurl {
-      url = "https://registry.npmjs.org/dhcp/-/dhcp-0.2.10.tgz";
-      sha512 = "04a373cxgb6b43gzymh1z71aas9c7nx9ap9q11bsc5jgrhx9q6b9204w08qrlrmgn72kj1csiadl8zlm5031097a8paczgzi9653k3m";
+      url = "https://registry.npmjs.org/dhcp/-/dhcp-0.2.12.tgz";
+      sha512 = "1ks1wdfgj703sxp1ys7hjfkw0sm6sm9z7iviqxicvmy9r3mj7irq3vjyk4nvxgyq29j3qz8bi8lvm38r4w8j1j2xbkx85fk0l3vpa7r";
     };
     dependencies = [
       sources."minimist-1.2.0"
@@ -30268,7 +31881,7 @@ in
       sources."fresh-0.2.4"
       sources."from-0.1.7"
       sources."hiredis-0.4.1"
-      sources."http-parser-js-0.4.10"
+      sources."http-parser-js-0.4.12"
       sources."inherits-2.0.3"
       sources."ini-1.3.5"
       sources."ipaddr.js-1.0.5"
@@ -30291,7 +31904,7 @@ in
       sources."mime-types-2.1.18"
       sources."minimist-0.0.10"
       sources."ms-0.7.0"
-      sources."nan-2.9.2"
+      sources."nan-2.10.0"
       (sources."native-dns-git+https://github.com/okTurtles/node-dns.git#08433ec98f517eed3c6d5e47bdf62603539cd402" // {
         dependencies = [
           sources."native-dns-packet-git+https://github.com/okTurtles/native-dns-packet.git#8bf2714c318cfe7d31bca2006385882ccbf503e4"
@@ -30368,6 +31981,9 @@ in
       sources."basic-auth-1.1.0"
       sources."bindings-1.2.1"
       sources."bl-0.8.2"
+      sources."buffer-alloc-1.1.0"
+      sources."buffer-alloc-unsafe-0.1.1"
+      sources."buffer-fill-0.1.1"
       sources."bytewise-1.1.0"
       sources."bytewise-core-1.2.3"
       sources."cookie-signature-1.1.0"
@@ -30375,7 +31991,7 @@ in
       sources."cors-2.8.4"
       sources."deferred-leveldown-0.2.0"
       sources."docker-parse-image-3.0.1"
-      sources."duplexify-3.5.3"
+      sources."duplexify-3.6.0"
       sources."end-of-stream-1.4.1"
       (sources."errno-0.1.7" // {
         dependencies = [
@@ -30386,10 +32002,11 @@ in
       (sources."fs-blob-store-5.2.1" // {
         dependencies = [
           sources."isarray-1.0.0"
-          sources."readable-stream-2.3.4"
-          sources."string_decoder-1.0.3"
+          sources."readable-stream-2.3.6"
+          sources."string_decoder-1.1.1"
         ];
       })
+      sources."fs-constants-1.0.0"
       sources."inherits-2.0.3"
       sources."isarray-0.0.1"
       sources."json-stringify-safe-5.0.1"
@@ -30437,9 +32054,9 @@ in
         dependencies = [
           sources."isarray-1.0.0"
           sources."minimist-1.2.0"
-          sources."readable-stream-2.3.4"
+          sources."readable-stream-2.3.6"
           sources."split2-2.2.0"
-          sources."string_decoder-1.0.3"
+          sources."string_decoder-1.1.1"
           sources."through2-2.0.3"
         ];
       })
@@ -30453,10 +32070,10 @@ in
       sources."pull-level-2.0.4"
       sources."pull-live-1.0.1"
       sources."pull-pushable-2.2.0"
-      sources."pull-stream-3.6.2"
+      sources."pull-stream-3.6.7"
       sources."pull-window-2.1.4"
       sources."pump-1.0.3"
-      (sources."pumpify-1.4.0" // {
+      (sources."pumpify-1.5.0" // {
         dependencies = [
           sources."pump-2.0.1"
         ];
@@ -30464,7 +32081,7 @@ in
       sources."readable-stream-1.1.14"
       sources."relative-date-1.1.3"
       sources."root-2.0.0"
-      sources."safe-buffer-5.1.1"
+      sources."safe-buffer-5.1.2"
       sources."semver-5.1.1"
       sources."sorted-union-stream-1.0.2"
       sources."split2-0.2.1"
@@ -30472,12 +32089,12 @@ in
       sources."stream-shift-1.0.0"
       sources."stream-to-pull-stream-1.7.2"
       sources."string_decoder-0.10.31"
-      (sources."tar-stream-1.5.5" // {
+      (sources."tar-stream-1.6.0" // {
         dependencies = [
-          sources."bl-1.2.1"
+          sources."bl-1.2.2"
           sources."isarray-1.0.0"
-          sources."readable-stream-2.3.4"
-          sources."string_decoder-1.0.3"
+          sources."readable-stream-2.3.6"
+          sources."string_decoder-1.1.1"
         ];
       })
       sources."through-2.3.8"
@@ -30487,6 +32104,7 @@ in
         ];
       })
       sources."thunky-0.1.0"
+      sources."to-buffer-1.1.1"
       sources."typewise-1.0.3"
       sources."typewise-core-1.2.0"
       sources."typewiselite-1.0.0"
@@ -30507,10 +32125,10 @@ in
   elasticdump = nodeEnv.buildNodePackage {
     name = "elasticdump";
     packageName = "elasticdump";
-    version = "3.3.6";
+    version = "3.3.12";
     src = fetchurl {
-      url = "https://registry.npmjs.org/elasticdump/-/elasticdump-3.3.6.tgz";
-      sha512 = "0zn9wiliz4sz4xnmcc3nks76gkaxp8q0lk0nqm1ysxczibxnh074kap87w366jnzxvzx5la0h6wdqjrm7zja307sq8g0qj265fjyky6";
+      url = "https://registry.npmjs.org/elasticdump/-/elasticdump-3.3.12.tgz";
+      sha512 = "3jj2vxmyham5bhfxvbilsd60sgkdabzl0mbid2i4hfjjgqjs76f4av2qifnvphn4a0ds727wjcp4kjz2963pjqrq53ik0k87706arn1";
     };
     dependencies = [
       sources."JSONStream-1.3.2"
@@ -30519,10 +32137,10 @@ in
       sources."assert-plus-1.0.0"
       sources."async-2.6.0"
       sources."asynckit-0.4.0"
-      sources."aws-sdk-2.203.0"
+      sources."aws-sdk-2.233.1"
       sources."aws-sign2-0.7.0"
-      sources."aws4-1.6.0"
-      sources."base64-js-1.2.3"
+      sources."aws4-1.7.0"
+      sources."base64-js-1.3.0"
       sources."bcrypt-pbkdf-1.0.1"
       sources."boom-4.3.1"
       sources."buffer-4.9.1"
@@ -30536,6 +32154,7 @@ in
         ];
       })
       sources."dashdash-1.14.1"
+      sources."decimal.js-10.0.0"
       sources."delayed-stream-1.0.0"
       sources."ecc-jsbn-0.1.1"
       sources."events-1.1.1"
@@ -30563,7 +32182,8 @@ in
       sources."json-stringify-safe-5.0.1"
       sources."jsonparse-1.3.1"
       sources."jsprim-1.4.1"
-      sources."lodash-4.17.5"
+      sources."lodash-4.17.10"
+      sources."lossless-json-1.0.2"
       sources."mime-db-1.33.0"
       sources."mime-types-2.1.18"
       sources."minimist-0.0.10"
@@ -30571,17 +32191,17 @@ in
       sources."optimist-0.6.1"
       sources."performance-now-2.1.0"
       sources."punycode-1.3.2"
-      sources."qs-6.5.1"
+      sources."qs-6.5.2"
       sources."querystring-0.2.0"
-      (sources."request-2.83.0" // {
+      (sources."request-2.85.0" // {
         dependencies = [
           sources."punycode-1.4.1"
         ];
       })
-      sources."safe-buffer-5.1.1"
+      sources."safe-buffer-5.1.2"
       sources."sax-1.2.1"
       sources."sntp-2.1.0"
-      sources."sshpk-1.13.1"
+      sources."sshpk-1.14.1"
       sources."stringstream-0.0.5"
       sources."through-2.3.8"
       sources."tough-cookie-2.3.4"
@@ -30603,6 +32223,23 @@ in
     production = true;
     bypassCache = false;
   };
+  elm-oracle = nodeEnv.buildNodePackage {
+    name = "elm-oracle";
+    packageName = "elm-oracle";
+    version = "1.1.1";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/elm-oracle/-/elm-oracle-1.1.1.tgz";
+      sha1 = "61f6d783221b4ad08e7d101d678b9d5a67d3961c";
+    };
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "Query for information about values in elm source files.";
+      homepage = "https://github.com/ElmCast/elm-oracle#readme";
+      license = "BSD-3-Clause";
+    };
+    production = true;
+    bypassCache = false;
+  };
   elm-test = nodeEnv.buildNodePackage {
     name = "elm-test";
     packageName = "elm-test";
@@ -30623,7 +32260,7 @@ in
       sources."async-each-1.0.1"
       sources."asynckit-0.4.0"
       sources."aws-sign2-0.6.0"
-      sources."aws4-1.6.0"
+      sources."aws4-1.7.0"
       sources."balanced-match-1.0.0"
       sources."bcrypt-pbkdf-1.0.1"
       sources."binary-extensions-1.11.0"
@@ -30645,14 +32282,14 @@ in
       sources."caseless-0.11.0"
       (sources."chalk-2.1.0" // {
         dependencies = [
-          sources."ansi-styles-3.2.0"
+          sources."ansi-styles-3.2.1"
         ];
       })
       sources."chokidar-1.6.0"
       sources."color-convert-1.9.1"
       sources."color-name-1.1.3"
       sources."combined-stream-1.0.6"
-      sources."commander-2.14.1"
+      sources."commander-2.15.1"
       sources."concat-map-0.0.1"
       sources."core-util-is-1.0.2"
       sources."cross-spawn-4.0.0"
@@ -30725,7 +32362,7 @@ in
       sources."kind-of-3.2.2"
       sources."klaw-1.3.1"
       sources."lodash-4.13.1"
-      sources."lru-cache-4.1.1"
+      sources."lru-cache-4.1.2"
       sources."micromatch-2.3.11"
       sources."mime-db-1.33.0"
       sources."mime-types-2.1.18"
@@ -30733,7 +32370,7 @@ in
       sources."minimist-1.2.0"
       sources."mkdirp-0.5.1"
       sources."murmur-hash-js-1.0.0"
-      sources."nan-2.9.2"
+      sources."nan-2.10.0"
       (sources."node-elm-compiler-4.3.3" // {
         dependencies = [
           sources."firstline-1.2.0"
@@ -30764,7 +32401,7 @@ in
           })
         ];
       })
-      sources."readable-stream-2.3.4"
+      sources."readable-stream-2.3.6"
       sources."readdirp-2.1.0"
       sources."regex-cache-0.4.4"
       sources."remove-trailing-separator-1.1.0"
@@ -30772,16 +32409,16 @@ in
       sources."repeat-string-1.6.1"
       sources."request-2.79.0"
       sources."rimraf-2.6.2"
-      sources."safe-buffer-5.1.1"
+      sources."safe-buffer-5.1.2"
       sources."set-immediate-shim-1.0.1"
       sources."sntp-1.0.9"
       sources."split-1.0.1"
-      (sources."sshpk-1.13.1" // {
+      (sources."sshpk-1.14.1" // {
         dependencies = [
           sources."assert-plus-1.0.0"
         ];
       })
-      sources."string_decoder-1.0.3"
+      sources."string_decoder-1.1.1"
       sources."stringstream-0.0.5"
       sources."strip-ansi-3.0.1"
       sources."supports-color-4.2.0"
@@ -30818,7 +32455,7 @@ in
       sha512 = "06w3hpcnxg63wg262ldhw4s2shyr1f1bvilqshy88i4svamgxk0qzdhhma2rwcwq7qpjwjlr8m1z2qbmqw9faff5f8hl45yj3jxrs3z";
     };
     dependencies = [
-      sources."ansi-escapes-3.0.0"
+      sources."ansi-escapes-3.1.0"
       sources."ansi-regex-3.0.0"
       sources."ansi-styles-2.2.1"
       sources."arch-2.1.0"
@@ -30827,7 +32464,7 @@ in
       sources."asap-2.0.6"
       sources."auto-bind-1.2.0"
       sources."babel-code-frame-6.26.0"
-      sources."babel-core-6.26.0"
+      sources."babel-core-6.26.3"
       sources."babel-generator-6.26.1"
       sources."babel-helper-builder-react-jsx-6.26.0"
       sources."babel-helpers-6.24.1"
@@ -30859,7 +32496,7 @@ in
       sources."concat-map-0.0.1"
       sources."conf-1.4.0"
       sources."convert-source-map-1.5.1"
-      sources."core-js-2.5.3"
+      sources."core-js-2.5.5"
       sources."cross-spawn-5.1.0"
       sources."currently-unhandled-0.4.1"
       sources."debug-2.6.9"
@@ -30886,8 +32523,8 @@ in
       sources."has-symbol-support-x-1.4.2"
       sources."has-to-string-tag-x-1.4.1"
       sources."home-or-tmp-2.0.0"
-      sources."hosted-git-info-2.5.0"
-      sources."iconv-lite-0.4.19"
+      sources."hosted-git-info-2.6.0"
+      sources."iconv-lite-0.4.22"
       (sources."import-jsx-1.3.0" // {
         dependencies = [
           sources."ansi-regex-2.1.1"
@@ -30898,15 +32535,15 @@ in
       sources."indent-string-3.2.0"
       (sources."ink-0.3.1" // {
         dependencies = [
-          sources."ansi-styles-3.2.0"
-          sources."chalk-2.3.1"
+          sources."ansi-styles-3.2.1"
+          sources."chalk-2.4.1"
           sources."core-js-1.2.7"
           sources."strip-ansi-4.0.0"
-          sources."supports-color-5.2.0"
+          sources."supports-color-5.4.0"
         ];
       })
       sources."ink-text-input-1.1.1"
-      sources."invariant-2.2.3"
+      sources."invariant-2.2.4"
       sources."is-arrayish-0.2.1"
       sources."is-builtin-module-1.0.0"
       sources."is-finite-1.0.2"
@@ -30925,15 +32562,15 @@ in
       sources."json5-0.5.1"
       sources."load-json-file-1.1.0"
       sources."locate-path-2.0.0"
-      sources."lodash-4.17.5"
+      sources."lodash-4.17.10"
       sources."lodash.debounce-4.0.8"
       sources."lodash.flattendeep-4.4.0"
       sources."lodash.isequal-4.5.0"
       sources."log-update-2.3.0"
       sources."loose-envify-1.3.1"
       sources."loud-rejection-1.6.0"
-      sources."lowercase-keys-1.0.0"
-      sources."lru-cache-4.1.1"
+      sources."lowercase-keys-1.0.1"
+      sources."lru-cache-4.1.2"
       sources."make-dir-1.2.0"
       sources."map-obj-1.0.1"
       sources."mem-1.1.0"
@@ -30988,7 +32625,8 @@ in
       sources."require-from-string-1.2.1"
       sources."resolve-from-3.0.0"
       sources."restore-cursor-2.0.0"
-      sources."safe-buffer-5.1.1"
+      sources."safe-buffer-5.1.2"
+      sources."safer-buffer-2.1.2"
       sources."semver-5.5.0"
       sources."setimmediate-1.0.5"
       sources."shebang-command-1.2.0"
@@ -31012,12 +32650,12 @@ in
       sources."to-fast-properties-1.0.3"
       sources."trim-newlines-1.0.0"
       sources."trim-right-1.0.1"
-      sources."ua-parser-js-0.7.17"
+      sources."ua-parser-js-0.7.18"
       sources."unicode-emoji-modifier-base-1.0.0"
       sources."url-parse-lax-1.0.0"
       sources."url-to-options-1.0.1"
       sources."validate-npm-package-license-3.0.3"
-      sources."whatwg-fetch-2.0.3"
+      sources."whatwg-fetch-2.0.4"
       sources."which-1.3.0"
       sources."wrap-ansi-3.0.1"
       sources."write-file-atomic-2.3.0"
@@ -31035,21 +32673,21 @@ in
   eslint = nodeEnv.buildNodePackage {
     name = "eslint";
     packageName = "eslint";
-    version = "4.18.1";
+    version = "4.19.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/eslint/-/eslint-4.18.1.tgz";
-      sha512 = "21i792qmqdz7dzm68ncjf4q3bi3c5kb1q103hkdp868mm9p7gd153hjzsq70mfyfx0vrjzna8x734xmpkp9himw32svf7j24jjrzx40";
+      url = "https://registry.npmjs.org/eslint/-/eslint-4.19.1.tgz";
+      sha512 = "0hw70vjlg6z0y9kf6vjr7g0w9hbm426fwvyzr88l62c5hd9mxrbw5v34b6zb31vbbyda3mkvcwgfnxgqaxvpn0wlrxr0va43pbzygbd";
     };
     dependencies = [
-      sources."acorn-5.5.0"
+      sources."acorn-5.5.3"
       (sources."acorn-jsx-3.0.1" // {
         dependencies = [
           sources."acorn-3.3.0"
         ];
       })
       sources."ajv-5.5.2"
-      sources."ajv-keywords-3.1.0"
-      sources."ansi-escapes-3.0.0"
+      sources."ajv-keywords-2.1.1"
+      sources."ansi-escapes-3.1.0"
       sources."ansi-regex-2.1.1"
       sources."ansi-styles-2.2.1"
       sources."argparse-1.0.10"
@@ -31064,12 +32702,13 @@ in
       })
       sources."balanced-match-1.0.0"
       sources."brace-expansion-1.1.11"
+      sources."buffer-from-1.0.0"
       sources."caller-path-0.1.0"
       sources."callsites-0.2.0"
-      (sources."chalk-2.3.1" // {
+      (sources."chalk-2.4.1" // {
         dependencies = [
-          sources."ansi-styles-3.2.0"
-          sources."supports-color-5.2.0"
+          sources."ansi-styles-3.2.1"
+          sources."supports-color-5.4.0"
         ];
       })
       sources."chardet-0.4.2"
@@ -31080,7 +32719,7 @@ in
       sources."color-convert-1.9.1"
       sources."color-name-1.1.3"
       sources."concat-map-0.0.1"
-      sources."concat-stream-1.6.0"
+      sources."concat-stream-1.6.2"
       sources."core-util-is-1.0.2"
       sources."cross-spawn-5.1.0"
       sources."debug-3.1.0"
@@ -31090,13 +32729,13 @@ in
       sources."escape-string-regexp-1.0.5"
       sources."eslint-scope-3.7.1"
       sources."eslint-visitor-keys-1.0.0"
-      sources."espree-3.5.3"
+      sources."espree-3.5.4"
       sources."esprima-4.0.0"
-      sources."esquery-1.0.0"
+      sources."esquery-1.0.1"
       sources."esrecurse-4.2.1"
       sources."estraverse-4.2.0"
       sources."esutils-2.0.2"
-      sources."external-editor-2.1.0"
+      sources."external-editor-2.2.0"
       sources."fast-deep-equal-1.1.0"
       sources."fast-json-stable-stringify-2.0.0"
       sources."fast-levenshtein-2.0.6"
@@ -31106,32 +32745,32 @@ in
       sources."fs.realpath-1.0.0"
       sources."functional-red-black-tree-1.0.1"
       sources."glob-7.1.2"
-      sources."globals-11.3.0"
+      sources."globals-11.5.0"
       sources."globby-5.0.0"
       sources."graceful-fs-4.1.11"
       sources."has-ansi-2.0.0"
       sources."has-flag-3.0.0"
-      sources."iconv-lite-0.4.19"
-      sources."ignore-3.3.7"
+      sources."iconv-lite-0.4.22"
+      sources."ignore-3.3.8"
       sources."imurmurhash-0.1.4"
       sources."inflight-1.0.6"
       sources."inherits-2.0.3"
       sources."inquirer-3.3.0"
       sources."is-fullwidth-code-point-2.0.0"
       sources."is-path-cwd-1.0.0"
-      sources."is-path-in-cwd-1.0.0"
+      sources."is-path-in-cwd-1.0.1"
       sources."is-path-inside-1.0.1"
       sources."is-promise-2.1.0"
       sources."is-resolvable-1.1.0"
       sources."isarray-1.0.0"
       sources."isexe-2.0.0"
       sources."js-tokens-3.0.2"
-      sources."js-yaml-3.10.0"
+      sources."js-yaml-3.11.0"
       sources."json-schema-traverse-0.3.1"
       sources."json-stable-stringify-without-jsonify-1.0.1"
       sources."levn-0.3.0"
-      sources."lodash-4.17.5"
-      sources."lru-cache-4.1.1"
+      sources."lodash-4.17.10"
+      sources."lru-cache-4.1.2"
       sources."mimic-fn-1.2.0"
       sources."minimatch-3.0.4"
       sources."minimist-0.0.8"
@@ -31154,7 +32793,8 @@ in
       sources."process-nextick-args-2.0.0"
       sources."progress-2.0.0"
       sources."pseudomap-1.0.2"
-      sources."readable-stream-2.3.4"
+      sources."readable-stream-2.3.6"
+      sources."regexpp-1.1.0"
       sources."require-uncached-1.0.3"
       sources."resolve-from-1.0.1"
       sources."restore-cursor-2.0.0"
@@ -31162,7 +32802,8 @@ in
       sources."run-async-2.3.0"
       sources."rx-lite-4.0.8"
       sources."rx-lite-aggregates-4.0.8"
-      sources."safe-buffer-5.1.1"
+      sources."safe-buffer-5.1.2"
+      sources."safer-buffer-2.1.2"
       sources."semver-5.5.0"
       sources."shebang-command-1.2.0"
       sources."shebang-regex-1.0.0"
@@ -31170,7 +32811,7 @@ in
       sources."slice-ansi-1.0.0"
       sources."sprintf-js-1.0.3"
       sources."string-width-2.1.1"
-      sources."string_decoder-1.0.3"
+      sources."string_decoder-1.1.1"
       (sources."strip-ansi-4.0.0" // {
         dependencies = [
           sources."ansi-regex-3.0.0"
@@ -31178,11 +32819,7 @@ in
       })
       sources."strip-json-comments-2.0.1"
       sources."supports-color-2.0.0"
-      (sources."table-4.0.3" // {
-        dependencies = [
-          sources."ajv-6.2.0"
-        ];
-      })
+      sources."table-4.0.2"
       sources."text-table-0.2.0"
       sources."through-2.3.8"
       sources."tmp-0.0.33"
@@ -31207,21 +32844,21 @@ in
   eslint_d = nodeEnv.buildNodePackage {
     name = "eslint_d";
     packageName = "eslint_d";
-    version = "5.2.2";
+    version = "5.3.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/eslint_d/-/eslint_d-5.2.2.tgz";
-      sha512 = "32h5278qn4pnlm2wl573mhg112diqpiazr07vxj0la2qwc3a1dlva5gsbyypnbnsis7r05kcx173qhb4wdl9w8spc7g3zk1575ciirc";
+      url = "https://registry.npmjs.org/eslint_d/-/eslint_d-5.3.0.tgz";
+      sha512 = "3ljw58bs13867i67mmw78w0a2ckn0cp5kffd878czkkpg7ahbgpxxq2jcqgjvqrrm2pava47a8fli1srxgzghwfqjq400shkakpqa71";
     };
     dependencies = [
-      sources."acorn-5.5.0"
+      sources."acorn-5.5.3"
       (sources."acorn-jsx-3.0.1" // {
         dependencies = [
           sources."acorn-3.3.0"
         ];
       })
       sources."ajv-5.5.2"
-      sources."ajv-keywords-3.1.0"
-      sources."ansi-escapes-3.0.0"
+      sources."ajv-keywords-2.1.1"
+      sources."ansi-escapes-3.1.0"
       sources."ansi-regex-2.1.1"
       sources."ansi-styles-2.2.1"
       sources."argparse-1.0.10"
@@ -31236,6 +32873,7 @@ in
       })
       sources."balanced-match-1.0.0"
       sources."brace-expansion-1.1.11"
+      sources."buffer-from-1.0.0"
       sources."caller-path-0.1.0"
       sources."callsites-0.2.0"
       (sources."chalk-1.1.3" // {
@@ -31251,7 +32889,7 @@ in
       sources."color-convert-1.9.1"
       sources."color-name-1.1.3"
       sources."concat-map-0.0.1"
-      sources."concat-stream-1.6.0"
+      sources."concat-stream-1.6.2"
       sources."core-util-is-1.0.2"
       sources."cross-spawn-5.1.0"
       sources."debug-3.1.0"
@@ -31259,13 +32897,13 @@ in
       sources."del-2.2.2"
       sources."doctrine-2.1.0"
       sources."escape-string-regexp-1.0.5"
-      (sources."eslint-4.18.1" // {
+      (sources."eslint-4.19.1" // {
         dependencies = [
           sources."ansi-regex-3.0.0"
-          sources."ansi-styles-3.2.0"
-          (sources."chalk-2.3.1" // {
+          sources."ansi-styles-3.2.1"
+          (sources."chalk-2.4.1" // {
             dependencies = [
-              sources."supports-color-5.2.0"
+              sources."supports-color-5.4.0"
             ];
           })
           sources."strip-ansi-4.0.0"
@@ -31274,13 +32912,13 @@ in
       })
       sources."eslint-scope-3.7.1"
       sources."eslint-visitor-keys-1.0.0"
-      sources."espree-3.5.3"
+      sources."espree-3.5.4"
       sources."esprima-4.0.0"
-      sources."esquery-1.0.0"
+      sources."esquery-1.0.1"
       sources."esrecurse-4.2.1"
       sources."estraverse-4.2.0"
       sources."esutils-2.0.2"
-      sources."external-editor-2.1.0"
+      sources."external-editor-2.2.0"
       sources."fast-deep-equal-1.1.0"
       sources."fast-json-stable-stringify-2.0.0"
       sources."fast-levenshtein-2.0.6"
@@ -31290,38 +32928,39 @@ in
       sources."fs.realpath-1.0.0"
       sources."functional-red-black-tree-1.0.1"
       sources."glob-7.1.2"
-      sources."globals-11.3.0"
+      sources."globals-11.5.0"
       sources."globby-5.0.0"
       sources."graceful-fs-4.1.11"
       sources."has-ansi-2.0.0"
       sources."has-flag-3.0.0"
-      sources."iconv-lite-0.4.19"
-      sources."ignore-3.3.7"
+      sources."iconv-lite-0.4.22"
+      sources."ignore-3.3.8"
       sources."imurmurhash-0.1.4"
       sources."inflight-1.0.6"
       sources."inherits-2.0.3"
       sources."inquirer-3.3.0"
       sources."is-fullwidth-code-point-2.0.0"
       sources."is-path-cwd-1.0.0"
-      sources."is-path-in-cwd-1.0.0"
+      sources."is-path-in-cwd-1.0.1"
       sources."is-path-inside-1.0.1"
       sources."is-promise-2.1.0"
       sources."is-resolvable-1.1.0"
       sources."isarray-1.0.0"
       sources."isexe-2.0.0"
       sources."js-tokens-3.0.2"
-      sources."js-yaml-3.10.0"
+      sources."js-yaml-3.11.0"
       sources."json-schema-traverse-0.3.1"
       sources."json-stable-stringify-without-jsonify-1.0.1"
       sources."levn-0.3.0"
-      sources."lodash-4.17.5"
-      sources."lru-cache-4.1.1"
+      sources."lodash-4.17.10"
+      sources."lru-cache-4.1.2"
       sources."mimic-fn-1.2.0"
       sources."minimatch-3.0.4"
       sources."minimist-0.0.8"
       sources."mkdirp-0.5.1"
       sources."ms-2.0.0"
       sources."mute-stream-0.0.7"
+      sources."nanolru-1.0.0"
       sources."natural-compare-1.4.0"
       sources."object-assign-4.1.1"
       sources."once-1.4.0"
@@ -31339,16 +32978,18 @@ in
       sources."process-nextick-args-2.0.0"
       sources."progress-2.0.0"
       sources."pseudomap-1.0.2"
-      sources."readable-stream-2.3.4"
+      sources."readable-stream-2.3.6"
+      sources."regexpp-1.1.0"
       sources."require-uncached-1.0.3"
-      sources."resolve-1.5.0"
+      sources."resolve-1.7.1"
       sources."resolve-from-1.0.1"
       sources."restore-cursor-2.0.0"
       sources."rimraf-2.6.2"
       sources."run-async-2.3.0"
       sources."rx-lite-4.0.8"
       sources."rx-lite-aggregates-4.0.8"
-      sources."safe-buffer-5.1.1"
+      sources."safe-buffer-5.1.2"
+      sources."safer-buffer-2.1.2"
       sources."semver-5.5.0"
       sources."shebang-command-1.2.0"
       sources."shebang-regex-1.0.0"
@@ -31356,7 +32997,7 @@ in
       sources."slice-ansi-1.0.0"
       sources."sprintf-js-1.0.3"
       sources."string-width-2.1.1"
-      sources."string_decoder-1.0.3"
+      sources."string_decoder-1.1.1"
       sources."strip-ansi-3.0.1"
       sources."strip-json-comments-2.0.1"
       (sources."supports-color-3.2.3" // {
@@ -31364,11 +33005,7 @@ in
           sources."has-flag-1.0.0"
         ];
       })
-      (sources."table-4.0.3" // {
-        dependencies = [
-          sources."ajv-6.2.0"
-        ];
-      })
+      sources."table-4.0.2"
       sources."text-table-0.2.0"
       sources."through-2.3.8"
       sources."tmp-0.0.33"
@@ -31393,10 +33030,10 @@ in
   emojione = nodeEnv.buildNodePackage {
     name = "emojione";
     packageName = "emojione";
-    version = "3.1.2";
+    version = "3.1.4";
     src = fetchurl {
-      url = "https://registry.npmjs.org/emojione/-/emojione-3.1.2.tgz";
-      sha1 = "991e30c80db4b1cf15eacb257620a7edce9c6ef4";
+      url = "https://registry.npmjs.org/emojione/-/emojione-3.1.4.tgz";
+      sha1 = "828767fbbe2ffd4fa75ebeeba9873e83643d6664";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -31424,7 +33061,7 @@ in
       sources."assert-plus-1.0.0"
       sources."asynckit-0.4.0"
       sources."aws-sign2-0.7.0"
-      sources."aws4-1.6.0"
+      sources."aws4-1.7.0"
       sources."bcrypt-pbkdf-1.0.1"
       sources."boom-4.3.1"
       sources."builtin-modules-1.1.1"
@@ -31433,7 +33070,7 @@ in
       sources."caseless-0.12.0"
       sources."chalk-1.1.3"
       sources."cli-cursor-1.0.2"
-      sources."cli-spinners-1.1.0"
+      sources."cli-spinners-1.3.1"
       sources."co-4.6.0"
       sources."color-convert-1.9.1"
       sources."color-name-1.1.3"
@@ -31475,7 +33112,7 @@ in
       sources."hasha-2.2.0"
       sources."hawk-6.0.2"
       sources."hoek-4.2.1"
-      sources."hosted-git-info-2.5.0"
+      sources."hosted-git-info-2.6.0"
       sources."http-signature-1.2.0"
       sources."indent-string-2.1.0"
       sources."inherits-2.0.3"
@@ -31517,12 +33154,12 @@ in
       sources."onetime-1.1.0"
       (sources."ora-1.4.0" // {
         dependencies = [
-          sources."ansi-styles-3.2.0"
-          sources."chalk-2.3.1"
+          sources."ansi-styles-3.2.1"
+          sources."chalk-2.4.1"
           sources."cli-cursor-2.1.0"
           sources."onetime-2.0.1"
           sources."restore-cursor-2.0.0"
-          sources."supports-color-5.2.0"
+          sources."supports-color-5.4.0"
         ];
       })
       sources."os-tmpdir-1.0.2"
@@ -31543,16 +33180,16 @@ in
       sources."progress-1.1.8"
       sources."promise-phantom-3.1.6"
       sources."punycode-1.4.1"
-      sources."qs-6.5.1"
+      sources."qs-6.5.2"
       sources."read-pkg-1.1.0"
       sources."read-pkg-up-1.0.1"
-      sources."readable-stream-2.3.4"
+      sources."readable-stream-2.3.6"
       sources."redent-1.0.0"
       sources."repeating-2.0.1"
-      sources."request-2.83.0"
+      sources."request-2.85.0"
       sources."request-progress-2.0.1"
       sources."restore-cursor-1.0.1"
-      sources."safe-buffer-5.1.1"
+      sources."safe-buffer-5.1.2"
       sources."semver-5.5.0"
       sources."signal-exit-3.0.2"
       sources."sntp-2.1.0"
@@ -31560,8 +33197,8 @@ in
       sources."spdx-exceptions-2.1.0"
       sources."spdx-expression-parse-3.0.0"
       sources."spdx-license-ids-3.0.0"
-      sources."sshpk-1.13.1"
-      sources."string_decoder-1.0.3"
+      sources."sshpk-1.14.1"
+      sources."string_decoder-1.1.1"
       sources."stringstream-0.0.5"
       sources."strip-ansi-3.0.1"
       sources."strip-bom-2.0.0"
@@ -31600,7 +33237,7 @@ in
       sha1 = "c027feb75a512001d1287bbfb3ffaafba67eb92f";
     };
     dependencies = [
-      sources."bower-1.8.2"
+      sources."bower-1.8.4"
       sources."bower-endpoint-parser-0.2.1"
       sources."bower-logger-0.2.1"
       sources."glob-3.2.11"
@@ -31648,7 +33285,7 @@ in
           sources."colors-1.0.3"
         ];
       })
-      sources."clone-1.0.3"
+      sources."clone-1.0.4"
       sources."colors-0.6.2"
       sources."concat-map-0.0.1"
       sources."core-util-is-1.0.2"
@@ -31679,7 +33316,7 @@ in
         ];
       })
       sources."fs.realpath-1.0.0"
-      sources."fsevents-1.1.3"
+      sources."fsevents-1.2.3"
       sources."glob-7.1.2"
       sources."glob-base-0.3.0"
       sources."glob-parent-2.0.0"
@@ -31709,7 +33346,7 @@ in
       sources."minimist-0.0.10"
       sources."mkdirp-0.5.1"
       sources."mute-stream-0.0.7"
-      sources."nan-2.9.2"
+      sources."nan-2.10.0"
       (sources."nconf-0.6.9" // {
         dependencies = [
           sources."async-0.2.9"
@@ -31729,7 +33366,7 @@ in
       sources."preserve-0.2.0"
       (sources."prettyjson-1.2.1" // {
         dependencies = [
-          sources."colors-1.1.2"
+          sources."colors-1.2.4"
           sources."minimist-1.2.0"
         ];
       })
@@ -31746,7 +33383,7 @@ in
         ];
       })
       sources."read-1.0.7"
-      sources."readable-stream-2.3.4"
+      sources."readable-stream-2.3.6"
       sources."readdirp-2.1.0"
       sources."regex-cache-0.4.4"
       sources."remove-trailing-separator-1.1.0"
@@ -31755,11 +33392,11 @@ in
       sources."resumer-0.0.0"
       sources."revalidator-0.1.8"
       sources."rimraf-2.6.2"
-      sources."safe-buffer-5.1.1"
+      sources."safe-buffer-5.1.2"
       sources."set-immediate-shim-1.0.1"
       sources."shush-1.0.0"
       sources."stack-trace-0.0.10"
-      sources."string_decoder-1.0.3"
+      sources."string_decoder-1.1.1"
       sources."strip-json-comments-0.1.3"
       sources."tape-2.3.3"
       sources."through-2.3.8"
@@ -31794,12 +33431,12 @@ in
     dependencies = [
       sources."async-2.6.0"
       sources."debug-3.1.0"
-      sources."lodash-4.17.5"
+      sources."lodash-4.17.10"
       sources."lodash.groupby-4.6.0"
       sources."microee-0.0.6"
       sources."minilog-3.1.0"
       sources."ms-2.0.0"
-      sources."simple-git-1.91.0"
+      sources."simple-git-1.92.0"
       sources."tabtab-git+https://github.com/mixu/node-tabtab.git"
     ];
     buildInputs = globalBuildInputs;
@@ -31916,7 +33553,7 @@ in
       sources."minimist-0.0.8"
       sources."mkdirp-0.5.1"
       sources."msgpack-1.0.2"
-      sources."nan-2.9.2"
+      sources."nan-2.10.0"
       sources."optimist-0.3.7"
       sources."pop-iterate-1.0.1"
       sources."promise-6.1.0"
@@ -31980,7 +33617,7 @@ in
       sources."array-uniq-1.0.3"
       sources."array-unique-0.3.2"
       sources."assign-symbols-1.0.0"
-      sources."atob-2.0.3"
+      sources."atob-2.1.1"
       sources."balanced-match-1.0.0"
       (sources."base-0.11.2" // {
         dependencies = [
@@ -31994,10 +33631,11 @@ in
       })
       sources."beeper-1.1.1"
       sources."brace-expansion-1.1.11"
-      (sources."braces-2.3.1" // {
+      (sources."braces-2.3.2" // {
         dependencies = [
           sources."define-property-1.0.0"
           sources."extend-shallow-2.0.1"
+          sources."kind-of-3.2.2"
         ];
       })
       sources."cache-base-1.0.1"
@@ -32007,7 +33645,7 @@ in
           sources."define-property-0.2.5"
         ];
       })
-      sources."clone-1.0.3"
+      sources."clone-1.0.4"
       sources."clone-stats-0.0.1"
       sources."collection-visit-1.0.0"
       sources."color-support-1.1.3"
@@ -32041,11 +33679,7 @@ in
         ];
       })
       sources."fancy-log-1.3.2"
-      (sources."fill-range-4.0.0" // {
-        dependencies = [
-          sources."kind-of-3.2.2"
-        ];
-      })
+      sources."fill-range-4.0.0"
       sources."find-index-0.1.1"
       (sources."findup-sync-2.0.0" // {
         dependencies = [
@@ -32084,8 +33718,8 @@ in
       (sources."gulp-util-3.0.8" // {
         dependencies = [
           sources."isarray-1.0.0"
-          sources."readable-stream-2.3.4"
-          sources."string_decoder-1.0.3"
+          sources."readable-stream-2.3.6"
+          sources."string_decoder-1.1.1"
         ];
       })
       sources."gulplog-1.0.0"
@@ -32117,7 +33751,6 @@ in
       sources."isexe-2.0.0"
       sources."isobject-3.0.1"
       sources."kind-of-6.0.2"
-      sources."lazy-cache-2.0.2"
       (sources."liftoff-2.5.0" // {
         dependencies = [
           sources."has-values-0.1.4"
@@ -32135,7 +33768,6 @@ in
           sources."is-extendable-1.0.1"
           sources."is-number-4.0.0"
           sources."isarray-1.0.0"
-          sources."kind-of-3.2.2"
         ];
       })
       sources."lodash-1.0.2"
@@ -32156,10 +33788,10 @@ in
       sources."lodash.template-3.6.2"
       sources."lodash.templatesettings-3.1.1"
       sources."lru-cache-2.7.3"
-      sources."make-iterator-1.0.0"
+      sources."make-iterator-1.0.1"
       sources."map-cache-0.2.2"
       sources."map-visit-1.0.0"
-      (sources."micromatch-3.1.9" // {
+      (sources."micromatch-3.1.10" // {
         dependencies = [
           (sources."is-accessor-descriptor-0.1.6" // {
             dependencies = [
@@ -32182,7 +33814,7 @@ in
       sources."ms-2.0.0"
       sources."multipipe-0.1.2"
       sources."nanomatch-1.2.9"
-      sources."natives-1.1.1"
+      sources."natives-1.1.3"
       sources."object-assign-3.0.0"
       sources."object-copy-0.1.0"
       sources."object-visit-1.0.1"
@@ -32208,18 +33840,17 @@ in
       sources."repeat-element-1.1.2"
       sources."repeat-string-1.6.1"
       sources."replace-ext-0.0.1"
-      sources."resolve-1.5.0"
+      sources."resolve-1.7.1"
       sources."resolve-dir-1.0.1"
       sources."resolve-url-0.2.1"
       sources."ret-0.1.15"
-      sources."safe-buffer-5.1.1"
+      sources."safe-buffer-5.1.2"
       sources."safe-regex-1.1.0"
       sources."semver-4.3.6"
       sources."sequencify-0.0.7"
-      sources."set-getter-0.1.0"
       sources."set-value-2.0.0"
       sources."sigmund-1.0.1"
-      (sources."snapdragon-0.8.1" // {
+      (sources."snapdragon-0.8.2" // {
         dependencies = [
           (sources."define-property-0.2.5" // {
             dependencies = [
@@ -32233,10 +33864,14 @@ in
       })
       (sources."snapdragon-node-2.1.1" // {
         dependencies = [
+          sources."kind-of-6.0.2"
+        ];
+      })
+      (sources."snapdragon-util-3.0.1" // {
+        dependencies = [
           sources."kind-of-3.2.2"
         ];
       })
-      sources."snapdragon-util-3.0.1"
       sources."source-map-0.5.7"
       sources."source-map-resolve-0.5.1"
       sources."source-map-url-0.4.0"
@@ -32275,7 +33910,11 @@ in
         ];
       })
       sources."urix-0.1.0"
-      sources."use-2.0.2"
+      (sources."use-3.1.0" // {
+        dependencies = [
+          sources."kind-of-6.0.2"
+        ];
+      })
       sources."user-home-1.1.1"
       sources."util-deprecate-1.0.2"
       sources."v8flags-2.1.1"
@@ -32318,7 +33957,7 @@ in
       sha1 = "e21764eafe6429ec8dc9377b55e1ca86799704d5";
     };
     dependencies = [
-      sources."eventemitter3-3.0.1"
+      sources."eventemitter3-3.1.0"
       sources."http-proxy-1.0.2"
       sources."lru-cache-2.5.2"
       sources."minimist-0.0.8"
@@ -32414,29 +34053,27 @@ in
   html-minifier = nodeEnv.buildNodePackage {
     name = "html-minifier";
     packageName = "html-minifier";
-    version = "3.5.9";
+    version = "3.5.15";
     src = fetchurl {
-      url = "https://registry.npmjs.org/html-minifier/-/html-minifier-3.5.9.tgz";
-      sha512 = "3a2xnyzk38awjgzlkd59vsf8bk77ahyxsk7k9vg7gspl9z0v3zxgzzmix1vrz8xdfcxc00kg807z85hfqnz9wg20py4ihn9apvqx6hi";
+      url = "https://registry.npmjs.org/html-minifier/-/html-minifier-3.5.15.tgz";
+      sha512 = "01ni8s31nr1rb70wqi980nyfwir4z2z5mjvs454rgylns4nfyqvci581b40s1b67hgd95anq46j4yf5r947y5wzvncr7dgsysnvi5ir";
     };
     dependencies = [
       sources."camel-case-3.0.0"
-      sources."clean-css-4.1.9"
-      sources."commander-2.14.1"
+      sources."clean-css-4.1.11"
+      sources."commander-2.15.1"
       sources."he-1.1.1"
       sources."lower-case-1.1.4"
-      sources."ncname-1.0.0"
       sources."no-case-2.3.2"
       sources."param-case-2.1.1"
       sources."relateurl-0.2.7"
       sources."source-map-0.5.7"
-      (sources."uglify-js-3.3.12" // {
+      (sources."uglify-js-3.3.23" // {
         dependencies = [
           sources."source-map-0.6.1"
         ];
       })
       sources."upper-case-1.1.3"
-      sources."xml-char-classes-1.0.0"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -32450,32 +34087,34 @@ in
   ionic = nodeEnv.buildNodePackage {
     name = "ionic";
     packageName = "ionic";
-    version = "3.19.1";
+    version = "3.20.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/ionic/-/ionic-3.19.1.tgz";
-      sha512 = "11hpd51qzi8fms87q1xqwc347dp9mxhvzci2jlw94ayvs1v2n3iaqwdic1g1213k91xwzp52z6y17a08via45l936bgda3pi6zfbmsk";
+      url = "https://registry.npmjs.org/ionic/-/ionic-3.20.0.tgz";
+      sha512 = "2a051r5s0p9ihcahqysmbjklhivms8rlv5zxxi7bqrxa3x8sqqpyhbjpl7z5k4263vmfkqj3qmzciz6kbyivgk3arz22jqfqsxczqn9";
     };
     dependencies = [
-      sources."@ionic/cli-framework-0.1.2"
-      (sources."@ionic/cli-utils-1.19.1" // {
+      sources."@ionic/cli-framework-0.1.3"
+      (sources."@ionic/cli-utils-1.19.2" // {
         dependencies = [
           sources."bytes-1.0.0"
           sources."debug-2.6.9"
           sources."is-extglob-2.1.1"
           sources."is-glob-3.1.0"
           sources."mime-1.4.1"
+          sources."qs-6.5.1"
           sources."raw-body-1.1.7"
-          sources."setprototypeof-1.1.0"
-          sources."statuses-1.3.1"
+          sources."safe-buffer-5.1.1"
+          sources."setprototypeof-1.0.3"
+          sources."statuses-1.4.0"
           sources."string_decoder-0.10.31"
           sources."yallist-3.0.2"
         ];
       })
       sources."@ionic/discover-0.4.0"
-      sources."accepts-1.3.4"
-      sources."ansi-escapes-3.0.0"
+      sources."accepts-1.3.5"
+      sources."ansi-escapes-3.1.0"
       sources."ansi-regex-3.0.0"
-      sources."ansi-styles-3.2.0"
+      sources."ansi-styles-3.2.1"
       sources."anymatch-1.3.2"
       sources."archiver-2.1.1"
       sources."archiver-utils-1.3.0"
@@ -32490,7 +34129,7 @@ in
       sources."balanced-match-1.0.0"
       sources."basic-auth-1.1.0"
       sources."binary-extensions-1.11.0"
-      sources."bl-1.2.1"
+      sources."bl-1.2.2"
       sources."body-5.1.0"
       sources."body-parser-1.18.2"
       sources."brace-expansion-1.1.11"
@@ -32499,13 +34138,16 @@ in
           sources."kind-of-4.0.0"
         ];
       })
+      sources."buffer-alloc-1.1.0"
+      sources."buffer-alloc-unsafe-0.1.1"
       sources."buffer-crc32-0.2.13"
+      sources."buffer-fill-0.1.1"
       sources."bytes-3.0.0"
-      sources."chalk-2.3.1"
+      sources."chalk-2.4.1"
       sources."chardet-0.4.2"
       sources."chokidar-1.7.0"
       sources."chownr-1.0.1"
-      sources."ci-info-1.1.2"
+      sources."ci-info-1.1.3"
       sources."cli-cursor-2.1.0"
       sources."cli-width-2.2.0"
       sources."color-convert-1.9.1"
@@ -32529,7 +34171,7 @@ in
       sources."delayed-stream-1.0.0"
       sources."depd-1.1.2"
       sources."destroy-1.0.4"
-      sources."diff-3.4.0"
+      sources."diff-3.5.0"
       sources."ee-first-1.1.1"
       sources."elementtree-0.1.7"
       sources."encodeurl-1.0.2"
@@ -32538,40 +34180,46 @@ in
       sources."escape-html-1.0.3"
       sources."escape-string-regexp-1.0.5"
       sources."etag-1.8.1"
-      sources."eventemitter3-1.2.0"
+      sources."eventemitter3-3.1.0"
       sources."expand-brackets-0.1.5"
       sources."expand-range-1.8.2"
-      sources."express-4.16.2"
+      (sources."express-4.16.3" // {
+        dependencies = [
+          sources."setprototypeof-1.1.0"
+        ];
+      })
       sources."extend-3.0.1"
-      sources."external-editor-2.1.0"
+      sources."external-editor-2.2.0"
       sources."extglob-0.3.2"
       sources."faye-websocket-0.10.0"
       sources."figures-2.0.0"
       sources."filename-regex-2.0.1"
       sources."fill-range-2.2.3"
-      sources."finalhandler-1.1.0"
+      sources."finalhandler-1.1.1"
+      sources."follow-redirects-1.4.1"
       sources."for-in-1.0.2"
       sources."for-own-0.1.5"
       sources."form-data-2.3.2"
-      sources."formidable-1.1.1"
+      sources."formidable-1.2.1"
       sources."forwarded-0.1.2"
       sources."fresh-0.5.2"
+      sources."fs-constants-1.0.0"
       sources."fs-minipass-1.2.5"
       sources."fs.realpath-1.0.0"
-      sources."fsevents-1.1.3"
+      sources."fsevents-1.2.3"
       sources."glob-7.1.2"
       sources."glob-base-0.3.0"
       sources."glob-parent-2.0.0"
       sources."graceful-fs-4.1.11"
       sources."has-flag-3.0.0"
-      (sources."http-errors-1.6.2" // {
+      sources."http-errors-1.6.3"
+      sources."http-parser-js-0.4.12"
+      sources."http-proxy-1.17.0"
+      (sources."http-proxy-middleware-0.17.4" // {
         dependencies = [
-          sources."depd-1.1.1"
+          sources."debug-3.1.0"
         ];
       })
-      sources."http-parser-js-0.4.10"
-      sources."http-proxy-1.16.2"
-      sources."http-proxy-middleware-0.17.4"
       sources."iconv-lite-0.4.19"
       sources."inflight-1.0.6"
       sources."inherits-2.0.3"
@@ -32597,7 +34245,7 @@ in
       sources."lazystream-1.0.0"
       sources."leek-0.0.24"
       sources."livereload-js-2.3.0"
-      sources."lodash-4.17.5"
+      sources."lodash-4.17.10"
       sources."lodash._baseassign-3.2.0"
       sources."lodash._basecopy-3.0.1"
       sources."lodash._bindcallback-3.0.1"
@@ -32609,7 +34257,7 @@ in
       sources."lodash.isarray-3.0.4"
       sources."lodash.keys-3.1.2"
       sources."lodash.restparam-3.6.1"
-      sources."lru-cache-4.1.1"
+      sources."lru-cache-4.1.2"
       sources."macos-release-1.1.0"
       sources."media-typer-0.3.0"
       sources."merge-descriptors-1.0.1"
@@ -32621,12 +34269,12 @@ in
       sources."mimic-fn-1.2.0"
       sources."minimatch-3.0.4"
       sources."minimist-1.2.0"
-      sources."minipass-2.2.1"
+      sources."minipass-2.3.0"
       sources."minizlib-1.1.0"
       sources."mkdirp-0.5.1"
       sources."ms-2.0.0"
       sources."mute-stream-0.0.7"
-      sources."nan-2.9.2"
+      sources."nan-2.10.0"
       sources."ncp-2.0.0"
       sources."negotiator-0.6.1"
       sources."netmask-1.0.6"
@@ -32636,7 +34284,7 @@ in
       sources."on-finished-2.3.0"
       sources."once-1.4.0"
       sources."onetime-2.0.1"
-      sources."opn-5.2.0"
+      sources."opn-5.3.0"
       sources."os-name-2.0.1"
       sources."os-tmpdir-1.0.2"
       sources."parse-glob-3.0.4"
@@ -32647,7 +34295,7 @@ in
       sources."process-nextick-args-2.0.0"
       sources."proxy-addr-2.0.3"
       sources."pseudomap-1.0.2"
-      sources."qs-6.5.1"
+      sources."qs-6.5.2"
       (sources."randomatic-1.1.7" // {
         dependencies = [
           (sources."is-number-3.0.0" // {
@@ -32658,8 +34306,13 @@ in
         ];
       })
       sources."range-parser-1.2.0"
-      sources."raw-body-2.3.2"
-      sources."readable-stream-2.3.4"
+      (sources."raw-body-2.3.2" // {
+        dependencies = [
+          sources."depd-1.1.1"
+          sources."http-errors-1.6.2"
+        ];
+      })
+      sources."readable-stream-2.3.6"
       sources."readdirp-2.1.0"
       sources."regex-cache-0.4.4"
       sources."remove-trailing-separator-1.1.0"
@@ -32672,32 +34325,33 @@ in
       sources."run-async-2.3.0"
       sources."rx-lite-4.0.8"
       sources."rx-lite-aggregates-4.0.8"
-      sources."safe-buffer-5.1.1"
+      sources."safe-buffer-5.1.2"
       sources."safe-json-parse-1.0.1"
       sources."sax-1.1.4"
       sources."semver-5.5.0"
-      sources."send-0.16.1"
-      sources."serve-static-1.13.1"
+      sources."send-0.16.2"
+      sources."serve-static-1.13.2"
       sources."set-immediate-shim-1.0.1"
-      sources."setprototypeof-1.0.3"
+      sources."setprototypeof-1.1.0"
       sources."shebang-command-1.2.0"
       sources."shebang-regex-1.0.0"
       sources."signal-exit-3.0.2"
       sources."slice-ansi-1.0.0"
       sources."ssh-config-1.1.3"
-      sources."statuses-1.4.0"
+      sources."statuses-1.5.0"
       sources."string-template-0.2.1"
       sources."string-width-2.1.1"
-      sources."string_decoder-1.0.3"
+      sources."string_decoder-1.1.1"
       sources."strip-ansi-4.0.0"
-      sources."superagent-3.8.2"
-      sources."supports-color-5.2.0"
-      (sources."tar-4.4.0" // {
+      sources."superagent-3.8.3"
+      sources."supports-color-5.4.0"
+      (sources."tar-4.4.2" // {
         dependencies = [
           sources."minimist-0.0.8"
+          sources."safe-buffer-5.1.2"
         ];
       })
-      sources."tar-stream-1.5.5"
+      sources."tar-stream-1.6.0"
       sources."through-2.3.8"
       (sources."tiny-lr-1.1.1" // {
         dependencies = [
@@ -32705,6 +34359,7 @@ in
         ];
       })
       sources."tmp-0.0.33"
+      sources."to-buffer-1.1.1"
       sources."tslib-1.9.0"
       sources."type-is-1.6.16"
       sources."ultron-1.1.1"
@@ -32790,7 +34445,7 @@ in
       sources."inherits-2.0.3"
       sources."is-buffer-1.1.6"
       sources."isexe-2.0.0"
-      (sources."js-yaml-3.10.0" // {
+      (sources."js-yaml-3.11.0" // {
         dependencies = [
           sources."esprima-4.0.0"
         ];
@@ -32841,17 +34496,79 @@ in
     production = true;
     bypassCache = false;
   };
+  imapnotify = nodeEnv.buildNodePackage {
+    name = "imapnotify";
+    packageName = "imapnotify";
+    version = "0.4.1";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/imapnotify/-/imapnotify-0.4.1.tgz";
+      sha512 = "0fn58ydrck0mwpq48pj2in6aql522avzyabrddq4ixykr1h29ha3cvh1v0mga8ghg1v9zpkii81qqac74qwm9ikr1kll616fcz0cc0s";
+    };
+    dependencies = [
+      sources."async-0.2.10"
+      sources."balanced-match-1.0.0"
+      sources."brace-expansion-1.1.11"
+      sources."bunyan-1.8.12"
+      sources."colors-0.6.2"
+      sources."concat-map-0.0.1"
+      sources."core-util-is-1.0.2"
+      sources."cycle-1.0.3"
+      sources."dtrace-provider-0.8.6"
+      sources."eyes-0.1.8"
+      sources."glob-6.0.4"
+      sources."imap-0.8.19"
+      sources."inflight-1.0.6"
+      sources."inherits-2.0.3"
+      sources."isarray-0.0.1"
+      sources."isstream-0.1.2"
+      sources."minimatch-3.0.4"
+      sources."minimist-0.0.10"
+      (sources."mkdirp-0.5.1" // {
+        dependencies = [
+          sources."minimist-0.0.8"
+        ];
+      })
+      sources."moment-2.22.1"
+      sources."mv-2.1.1"
+      sources."nan-2.10.0"
+      sources."ncp-2.0.0"
+      sources."once-1.4.0"
+      sources."optimist-0.6.1"
+      sources."path-is-absolute-1.0.1"
+      sources."pkginfo-0.3.1"
+      sources."printf-0.2.5"
+      sources."readable-stream-1.1.14"
+      sources."rimraf-2.4.5"
+      sources."safe-json-stringify-1.1.0"
+      sources."semver-5.3.0"
+      sources."stack-trace-0.0.10"
+      sources."string_decoder-0.10.31"
+      sources."utf7-1.0.2"
+      sources."winston-0.8.3"
+      sources."wordwrap-0.0.3"
+      sources."wrappy-1.0.2"
+      sources."xenvar-0.5.1"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "Execute scripts on new messages using IDLE imap command";
+      homepage = "https://github.com/a-sk/node-imapnotify#readme";
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = false;
+  };
   javascript-typescript-langserver = nodeEnv.buildNodePackage {
     name = "javascript-typescript-langserver";
     packageName = "javascript-typescript-langserver";
-    version = "2.7.1";
+    version = "2.8.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/javascript-typescript-langserver/-/javascript-typescript-langserver-2.7.1.tgz";
-      sha512 = "3dxj2iihfilq0dbhhrchhxqd6x9nhrjwnqkgr4gnmqk75zgnaa119p1h2vx7l0wmpqcafw0nifv02bn0g5y1wgal06a5yr6iii7dx18";
+      url = "https://registry.npmjs.org/javascript-typescript-langserver/-/javascript-typescript-langserver-2.8.0.tgz";
+      sha512 = "23rbqwsks302r65kckp12dy9pid4lpl9cn51bz9xg54j90ig3cxxd9ygs7vq5b72k2x75w960hfd4ww2zgqpypdqmb510vqfhx442s1";
     };
     dependencies = [
       sources."ansi-color-0.2.1"
-      sources."ansi-styles-3.2.0"
+      sources."ansi-styles-3.2.1"
       sources."any-promise-1.3.0"
       sources."assertion-error-1.1.0"
       sources."balanced-match-1.0.0"
@@ -32859,11 +34576,11 @@ in
       sources."bufrw-1.2.1"
       sources."chai-4.1.2"
       sources."chai-as-promised-7.1.1"
-      sources."chalk-2.3.1"
+      sources."chalk-2.4.1"
       sources."check-error-1.0.2"
       sources."color-convert-1.9.1"
       sources."color-name-1.1.3"
-      sources."commander-2.14.1"
+      sources."commander-2.15.1"
       sources."concat-map-0.0.1"
       sources."deep-eql-3.0.1"
       sources."deep-equal-1.0.1"
@@ -32877,38 +34594,43 @@ in
       sources."inflight-1.0.6"
       sources."inherits-2.0.3"
       sources."iterare-0.0.8"
-      (sources."jaeger-client-3.9.1" // {
+      (sources."jaeger-client-3.10.0" // {
         dependencies = [
           sources."opentracing-0.13.0"
         ];
       })
-      sources."lodash-4.17.5"
+      sources."lodash-4.17.10"
       sources."long-2.4.0"
       sources."minimatch-3.0.4"
       sources."mz-2.7.0"
       sources."node-int64-0.4.0"
       sources."object-assign-4.1.1"
-      sources."object-hash-1.2.0"
+      sources."object-hash-1.3.0"
       sources."once-1.4.0"
-      sources."opentracing-0.14.1"
+      sources."opentracing-0.14.3"
       sources."path-is-absolute-1.0.1"
       sources."pathval-1.1.0"
-      sources."rxjs-5.5.6"
+      sources."rxjs-5.5.10"
       sources."semaphore-async-await-1.5.1"
       sources."string-similarity-1.2.0"
       sources."string-template-0.2.1"
-      sources."supports-color-5.2.0"
+      sources."supports-color-5.4.0"
       sources."symbol-observable-1.0.1"
       sources."thenify-3.3.0"
       sources."thenify-all-1.6.0"
       sources."thriftrw-3.11.2"
       sources."type-detect-4.0.8"
       sources."typescript-2.7.2"
-      sources."vscode-jsonrpc-3.5.0"
-      sources."vscode-languageserver-3.5.0"
-      sources."vscode-languageserver-protocol-3.5.0"
-      sources."vscode-languageserver-types-3.5.0"
-      sources."vscode-uri-1.0.1"
+      sources."vscode-jsonrpc-3.6.1"
+      (sources."vscode-languageserver-3.5.1" // {
+        dependencies = [
+          sources."vscode-jsonrpc-3.5.0"
+          sources."vscode-languageserver-types-3.5.0"
+        ];
+      })
+      sources."vscode-languageserver-protocol-3.5.1"
+      sources."vscode-languageserver-types-3.7.1"
+      sources."vscode-uri-1.0.3"
       sources."wrappy-1.0.2"
       sources."xorshift-0.2.1"
       sources."xtend-4.0.1"
@@ -32962,7 +34684,7 @@ in
       sources."graceful-fs-4.1.11"
       sources."js2xmlparser-3.0.0"
       sources."klaw-2.0.0"
-      sources."marked-0.3.17"
+      sources."marked-0.3.19"
       sources."minimist-0.0.8"
       sources."mkdirp-0.5.1"
       (sources."requizzle-0.2.1" // {
@@ -33067,7 +34789,7 @@ in
     dependencies = [
       sources."abbrev-1.1.1"
       sources."bluebird-3.5.1"
-      sources."commander-2.14.1"
+      sources."commander-2.15.1"
       sources."config-chain-1.1.11"
       sources."editorconfig-0.13.3"
       sources."ini-1.3.5"
@@ -33175,12 +34897,12 @@ in
       sources."esprima-4.0.0"
       sources."extend-3.0.1"
       sources."form-data-2.3.2"
-      sources."formidable-1.1.1"
+      sources."formidable-1.2.1"
       sources."graphlib-2.1.5"
       sources."inherits-2.0.3"
       sources."isarray-1.0.0"
-      sources."js-yaml-3.10.0"
-      sources."lodash-4.17.5"
+      sources."js-yaml-3.11.0"
+      sources."lodash-4.17.10"
       sources."methods-1.1.2"
       sources."mime-1.6.0"
       sources."mime-db-1.33.0"
@@ -33190,13 +34912,13 @@ in
       sources."path-loader-1.0.4"
       sources."process-nextick-args-2.0.0"
       sources."punycode-2.1.0"
-      sources."qs-6.5.1"
-      sources."readable-stream-2.3.4"
-      sources."safe-buffer-5.1.1"
+      sources."qs-6.5.2"
+      sources."readable-stream-2.3.6"
+      sources."safe-buffer-5.1.2"
       sources."slash-1.0.0"
       sources."sprintf-js-1.0.3"
-      sources."string_decoder-1.0.3"
-      sources."superagent-3.8.2"
+      sources."string_decoder-1.1.1"
+      sources."superagent-3.8.3"
       sources."uri-js-3.0.2"
       sources."util-deprecate-1.0.2"
     ];
@@ -33212,35 +34934,40 @@ in
   json-server = nodeEnv.buildNodePackage {
     name = "json-server";
     packageName = "json-server";
-    version = "0.12.1";
+    version = "0.12.2";
     src = fetchurl {
-      url = "https://registry.npmjs.org/json-server/-/json-server-0.12.1.tgz";
-      sha512 = "3isg3ph43vqfq6m6pg0d1iy7gj2gc6jgym0gp3ng7p9fv7bf1q43isf3wbc7bc9w5swsxqjc3v304ic8iinilwrkwxgks1alaxjs3si";
+      url = "https://registry.npmjs.org/json-server/-/json-server-0.12.2.tgz";
+      sha512 = "3dqw05mkw5k42zdpjhg3cjiq7bfh8x1zxllrwyz0jgwmd4p79079fhsiifazqa5is659lzdnmiyiabxy62jjjk55xa296rdhyajc2vm";
     };
     dependencies = [
-      sources."accepts-1.3.4"
+      sources."accepts-1.3.5"
       sources."ajv-5.5.2"
       sources."ansi-align-2.0.0"
       sources."ansi-regex-3.0.0"
-      sources."ansi-styles-3.2.0"
+      sources."ansi-styles-3.2.1"
       sources."array-flatten-1.1.1"
       sources."asn1-0.2.3"
       sources."assert-plus-1.0.0"
       sources."asynckit-0.4.0"
       sources."aws-sign2-0.7.0"
-      sources."aws4-1.6.0"
+      sources."aws4-1.7.0"
       sources."basic-auth-2.0.0"
       sources."bcrypt-pbkdf-1.0.1"
-      sources."body-parser-1.18.2"
+      (sources."body-parser-1.18.2" // {
+        dependencies = [
+          sources."setprototypeof-1.0.3"
+        ];
+      })
       sources."boom-4.3.1"
       sources."boxen-1.3.0"
       sources."bytes-3.0.0"
       sources."camelcase-4.1.0"
       sources."capture-stack-trace-1.0.0"
       sources."caseless-0.12.0"
-      sources."chalk-2.3.1"
+      sources."chalk-2.4.1"
+      sources."ci-info-1.1.3"
       sources."cli-boxes-1.0.0"
-      sources."cliui-4.0.0"
+      sources."cliui-4.1.0"
       sources."co-4.6.0"
       sources."code-point-at-1.1.0"
       sources."color-convert-1.9.1"
@@ -33248,7 +34975,7 @@ in
       sources."combined-stream-1.0.6"
       sources."compressible-2.0.13"
       sources."compression-1.7.2"
-      sources."configstore-3.1.1"
+      sources."configstore-3.1.2"
       sources."connect-pause-0.1.1"
       sources."content-disposition-0.5.2"
       sources."content-type-1.0.4"
@@ -33267,7 +34994,7 @@ in
       sources."dashdash-1.14.1"
       sources."debug-2.6.9"
       sources."decamelize-1.2.0"
-      sources."deep-extend-0.4.2"
+      sources."deep-extend-0.5.1"
       sources."delayed-stream-1.0.0"
       sources."depd-1.1.2"
       sources."destroy-1.0.4"
@@ -33281,10 +35008,9 @@ in
       sources."escape-string-regexp-1.0.5"
       sources."etag-1.8.1"
       sources."execa-0.7.0"
-      (sources."express-4.16.2" // {
+      (sources."express-4.16.3" // {
         dependencies = [
-          sources."setprototypeof-1.1.0"
-          sources."statuses-1.3.1"
+          sources."statuses-1.4.0"
         ];
       })
       (sources."express-urlrewrite-1.2.0" // {
@@ -33296,7 +35022,7 @@ in
       sources."extsprintf-1.3.0"
       sources."fast-deep-equal-1.1.0"
       sources."fast-json-stable-stringify-2.0.0"
-      sources."finalhandler-1.1.0"
+      sources."finalhandler-1.1.1"
       sources."find-up-2.1.0"
       sources."forever-agent-0.6.1"
       sources."form-data-2.3.2"
@@ -33313,11 +35039,7 @@ in
       sources."has-flag-3.0.0"
       sources."hawk-6.0.2"
       sources."hoek-4.2.1"
-      (sources."http-errors-1.6.2" // {
-        dependencies = [
-          sources."depd-1.1.1"
-        ];
-      })
+      sources."http-errors-1.6.3"
       sources."http-signature-1.2.0"
       sources."iconv-lite-0.4.19"
       sources."import-lazy-2.1.0"
@@ -33326,6 +35048,7 @@ in
       sources."ini-1.3.5"
       sources."invert-kv-1.0.0"
       sources."ipaddr.js-1.6.0"
+      sources."is-ci-1.1.0"
       sources."is-fullwidth-code-point-2.0.0"
       sources."is-installed-globally-0.1.0"
       sources."is-npm-1.0.0"
@@ -33349,11 +35072,11 @@ in
       sources."latest-version-3.1.0"
       sources."lcid-1.0.0"
       sources."locate-path-2.0.0"
-      sources."lodash-4.17.5"
+      sources."lodash-4.17.10"
       sources."lodash-id-0.14.0"
       sources."lowdb-0.15.5"
-      sources."lowercase-keys-1.0.0"
-      sources."lru-cache-4.1.1"
+      sources."lowercase-keys-1.0.1"
+      sources."lru-cache-4.1.2"
       sources."make-dir-1.2.0"
       sources."media-typer-0.3.0"
       sources."mem-1.1.0"
@@ -33388,7 +35111,7 @@ in
       sources."path-to-regexp-0.1.7"
       sources."performance-now-2.1.0"
       sources."pify-3.0.0"
-      sources."please-upgrade-node-3.0.1"
+      sources."please-upgrade-node-3.0.2"
       sources."pluralize-7.0.0"
       sources."prepend-http-1.0.4"
       sources."proxy-addr-2.0.3"
@@ -33396,34 +35119,40 @@ in
       sources."punycode-1.4.1"
       sources."qs-6.5.1"
       sources."range-parser-1.2.0"
-      sources."raw-body-2.3.2"
-      sources."rc-1.2.5"
+      (sources."raw-body-2.3.2" // {
+        dependencies = [
+          sources."depd-1.1.1"
+          sources."http-errors-1.6.2"
+        ];
+      })
+      sources."rc-1.2.7"
       sources."registry-auth-token-3.3.2"
       sources."registry-url-3.1.0"
-      sources."request-2.83.0"
+      sources."request-2.85.0"
       sources."require-directory-2.1.1"
       sources."require-main-filename-1.0.1"
       sources."safe-buffer-5.1.1"
       sources."semver-5.5.0"
+      sources."semver-compare-1.0.0"
       sources."semver-diff-2.1.0"
-      sources."send-0.16.1"
-      sources."serve-static-1.13.1"
+      sources."send-0.16.2"
+      sources."serve-static-1.13.2"
       sources."server-destroy-1.0.1"
       sources."set-blocking-2.0.0"
-      sources."setprototypeof-1.0.3"
+      sources."setprototypeof-1.1.0"
       sources."shebang-command-1.2.0"
       sources."shebang-regex-1.0.0"
       sources."signal-exit-3.0.2"
       sources."sntp-2.1.0"
-      sources."sshpk-1.13.1"
-      sources."statuses-1.4.0"
+      sources."sshpk-1.14.1"
+      sources."statuses-1.5.0"
       sources."steno-0.4.4"
       sources."string-width-2.1.1"
       sources."stringstream-0.0.5"
       sources."strip-ansi-4.0.0"
       sources."strip-eof-1.0.0"
       sources."strip-json-comments-2.0.1"
-      sources."supports-color-5.2.0"
+      sources."supports-color-5.4.0"
       sources."term-size-1.2.0"
       sources."timed-out-4.0.1"
       sources."tough-cookie-2.3.4"
@@ -33433,7 +35162,7 @@ in
       sources."unique-string-1.0.0"
       sources."unpipe-1.0.0"
       sources."unzip-response-2.0.1"
-      sources."update-notifier-2.3.0"
+      sources."update-notifier-2.5.0"
       sources."url-parse-lax-1.0.0"
       sources."utils-merge-1.0.1"
       sources."uuid-3.2.1"
@@ -33472,10 +35201,10 @@ in
   js-yaml = nodeEnv.buildNodePackage {
     name = "js-yaml";
     packageName = "js-yaml";
-    version = "3.10.0";
+    version = "3.11.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/js-yaml/-/js-yaml-3.10.0.tgz";
-      sha512 = "0h26sq1bwxc45bm0hvlcadrbk4bizzaw729wvw690ya7mpys45bqfzdqwhjkdrnq0i44dzxckykz4bix22jfdyfg1asybg3yzczjsrv";
+      url = "https://registry.npmjs.org/js-yaml/-/js-yaml-3.11.0.tgz";
+      sha512 = "0gka65n4d9gmcy0c8cy5h55r273dbxnw54gibp2nq5mmdmksjgb2nhcdfgfxs1wg3yayyrydn2v79fny7hdyq907dg87vmgjnsnr8mi";
     };
     dependencies = [
       sources."argparse-1.0.10"
@@ -33494,16 +35223,13 @@ in
   karma = nodeEnv.buildNodePackage {
     name = "karma";
     packageName = "karma";
-    version = "2.0.0";
+    version = "2.0.2";
     src = fetchurl {
-      url = "https://registry.npmjs.org/karma/-/karma-2.0.0.tgz";
-      sha512 = "0iyj9ic6sj94x4xdd6wy8zgabqbl2ydrsp8h76lwrcx27ns8pzd7bg8yibsjgddzkisb9p1gp6bn46b8g5m2lh3yj5vqx55q2ks7lib";
+      url = "https://registry.npmjs.org/karma/-/karma-2.0.2.tgz";
+      sha1 = "4d2db9402850a66551fa784b0164fb0824ed8c4b";
     };
     dependencies = [
-      sources."JSONStream-1.3.2"
-      sources."accepts-1.3.4"
-      sources."acorn-4.0.13"
-      sources."acorn-node-1.3.0"
+      sources."accepts-1.3.5"
       sources."addressparser-1.0.1"
       sources."after-0.8.2"
       sources."agent-base-2.1.1"
@@ -33518,24 +35244,18 @@ in
       sources."anymatch-1.3.2"
       sources."arr-diff-2.0.0"
       sources."arr-flatten-1.1.0"
-      sources."array-filter-0.0.1"
-      sources."array-map-0.0.0"
-      sources."array-reduce-0.0.0"
       sources."array-slice-0.2.3"
       sources."array-unique-0.2.1"
       sources."arraybuffer.slice-0.0.7"
       sources."asn1-0.2.3"
-      sources."asn1.js-4.10.1"
-      sources."assert-1.4.1"
       sources."assert-plus-1.0.0"
-      sources."ast-types-0.11.2"
-      sources."astw-2.2.0"
+      sources."ast-types-0.11.3"
       sources."async-2.1.5"
       sources."async-each-1.0.1"
       sources."async-limiter-1.0.0"
       sources."asynckit-0.4.0"
       sources."aws-sign2-0.7.0"
-      sources."aws4-1.6.0"
+      sources."aws4-1.7.0"
       (sources."axios-0.15.3" // {
         dependencies = [
           sources."debug-2.6.9"
@@ -33545,7 +35265,6 @@ in
       sources."backo2-1.0.2"
       sources."balanced-match-1.0.0"
       sources."base64-arraybuffer-0.1.5"
-      sources."base64-js-1.2.3"
       sources."base64id-1.0.0"
       sources."bcrypt-pbkdf-1.0.1"
       sources."better-assert-1.0.2"
@@ -33554,8 +35273,11 @@ in
       sources."bl-1.1.2"
       sources."blob-0.0.4"
       sources."bluebird-3.5.1"
-      sources."bn.js-4.11.8"
-      sources."body-parser-1.18.2"
+      (sources."body-parser-1.18.2" // {
+        dependencies = [
+          sources."setprototypeof-1.0.3"
+        ];
+      })
       sources."boom-4.3.1"
       sources."brace-expansion-1.1.11"
       (sources."braces-1.8.5" // {
@@ -33563,109 +35285,58 @@ in
           sources."kind-of-4.0.0"
         ];
       })
-      sources."brorand-1.1.0"
-      sources."browser-pack-6.0.4"
-      (sources."browser-resolve-1.11.2" // {
-        dependencies = [
-          sources."resolve-1.1.7"
-        ];
-      })
-      (sources."browserify-14.5.0" // {
-        dependencies = [
-          sources."acorn-5.5.0"
-          sources."combine-source-map-0.7.2"
-          sources."hash-base-2.0.2"
-          sources."isarray-0.0.1"
-          sources."process-nextick-args-2.0.0"
-          sources."source-map-0.5.7"
-        ];
-      })
-      sources."browserify-aes-1.1.1"
-      sources."browserify-cipher-1.0.0"
-      sources."browserify-des-1.0.0"
-      sources."browserify-rsa-4.0.1"
-      sources."browserify-sign-4.0.4"
-      sources."browserify-zlib-0.2.0"
-      sources."buffer-5.1.0"
       sources."buffer-more-ints-0.0.2"
-      sources."buffer-xor-1.0.3"
       sources."buildmail-4.0.1"
-      sources."builtin-status-codes-3.0.0"
       sources."bytes-3.0.0"
-      sources."cached-path-relative-1.0.1"
       sources."callsite-1.0.0"
       sources."caseless-0.12.0"
       sources."chalk-1.1.3"
       sources."chokidar-1.7.0"
-      sources."cipher-base-1.0.4"
-      sources."circular-json-0.5.1"
+      sources."circular-json-0.5.3"
       sources."co-4.6.0"
-      sources."colors-1.1.2"
+      sources."colors-1.2.4"
       sources."combine-lists-1.0.1"
-      sources."combine-source-map-0.8.0"
       sources."combined-stream-1.0.6"
-      sources."commander-2.14.1"
+      sources."commander-2.15.1"
       sources."component-bind-1.0.0"
       sources."component-emitter-1.2.1"
       sources."component-inherit-0.0.3"
       sources."concat-map-0.0.1"
-      (sources."concat-stream-1.5.2" // {
-        dependencies = [
-          sources."readable-stream-2.0.6"
-          sources."string_decoder-0.10.31"
-        ];
-      })
       (sources."connect-3.6.6" // {
         dependencies = [
           sources."statuses-1.3.1"
         ];
       })
-      sources."console-browserify-1.1.0"
-      sources."constants-browserify-1.0.0"
       sources."content-type-1.0.4"
-      sources."convert-source-map-1.1.3"
       sources."cookie-0.3.1"
-      sources."core-js-2.5.3"
+      sources."core-js-2.5.5"
       sources."core-util-is-1.0.2"
-      sources."create-ecdh-4.0.0"
-      sources."create-hash-1.1.3"
-      sources."create-hmac-1.1.6"
       (sources."cryptiles-3.1.2" // {
         dependencies = [
           sources."boom-5.2.0"
         ];
       })
-      sources."crypto-browserify-3.12.0"
       sources."custom-event-1.0.1"
       sources."dashdash-1.14.1"
       sources."data-uri-to-buffer-1.2.0"
       sources."date-format-1.2.0"
-      sources."date-now-0.1.4"
       sources."debug-2.6.9"
       sources."deep-is-0.1.3"
-      sources."defined-1.0.0"
       sources."degenerator-1.0.4"
       sources."delayed-stream-1.0.0"
       sources."depd-1.1.2"
-      sources."deps-sort-2.0.0"
-      sources."des.js-1.0.0"
-      sources."detective-4.7.1"
       sources."di-0.0.1"
-      sources."diffie-hellman-5.0.2"
       sources."dom-serialize-2.2.1"
-      sources."domain-browser-1.1.7"
       sources."double-ended-queue-2.1.0-0"
-      sources."duplexer2-0.1.4"
       sources."ecc-jsbn-0.1.1"
       sources."ee-first-1.1.1"
-      sources."elliptic-6.4.0"
       sources."encodeurl-1.0.2"
       (sources."engine.io-3.1.5" // {
         dependencies = [
           sources."debug-3.1.0"
         ];
       })
-      (sources."engine.io-client-3.1.5" // {
+      (sources."engine.io-client-3.1.6" // {
         dependencies = [
           sources."debug-3.1.0"
         ];
@@ -33678,9 +35349,7 @@ in
       sources."esprima-3.1.3"
       sources."estraverse-4.2.0"
       sources."esutils-2.0.2"
-      sources."eventemitter3-1.2.0"
-      sources."events-1.1.1"
-      sources."evp_bytestokey-1.0.3"
+      sources."eventemitter3-3.1.0"
       (sources."expand-braces-0.1.2" // {
         dependencies = [
           sources."braces-0.1.5"
@@ -33701,19 +35370,18 @@ in
       sources."filename-regex-2.0.1"
       sources."fill-range-2.2.3"
       sources."finalhandler-1.1.0"
-      sources."follow-redirects-1.0.0"
+      sources."follow-redirects-1.4.1"
       sources."for-in-1.0.2"
       sources."for-own-0.1.5"
       sources."forever-agent-0.6.1"
       sources."form-data-2.3.2"
       sources."fs.realpath-1.0.0"
-      sources."fsevents-1.1.3"
+      sources."fsevents-1.2.3"
       (sources."ftp-0.3.10" // {
         dependencies = [
           sources."readable-stream-1.1.14"
         ];
       })
-      sources."function-bind-1.1.1"
       sources."generate-function-2.0.0"
       sources."generate-object-property-1.2.0"
       sources."get-uri-2.0.1"
@@ -33724,37 +35392,28 @@ in
       sources."graceful-fs-4.1.11"
       sources."har-schema-2.0.0"
       sources."har-validator-5.0.3"
-      sources."has-1.0.1"
       sources."has-ansi-2.0.0"
       sources."has-binary2-1.0.2"
       sources."has-cors-1.1.0"
-      sources."hash-base-3.0.4"
-      sources."hash.js-1.1.3"
       sources."hawk-6.0.2"
       sources."hipchat-notifier-1.1.0"
-      sources."hmac-drbg-1.0.1"
       sources."hoek-4.2.1"
-      sources."htmlescape-1.1.1"
-      (sources."http-errors-1.6.2" // {
+      sources."http-errors-1.6.3"
+      (sources."http-proxy-1.17.0" // {
         dependencies = [
-          sources."depd-1.1.1"
+          sources."debug-3.1.0"
         ];
       })
-      sources."http-proxy-1.16.2"
       sources."http-proxy-agent-1.0.0"
       sources."http-signature-1.2.0"
       sources."httpntlm-1.6.1"
       sources."httpreq-0.4.24"
-      sources."https-browserify-1.0.0"
       sources."https-proxy-agent-1.0.0"
       sources."iconv-lite-0.4.19"
-      sources."ieee754-1.1.8"
       sources."indexof-0.0.1"
       sources."inflection-1.10.0"
       sources."inflight-1.0.6"
       sources."inherits-2.0.3"
-      sources."inline-source-map-0.6.2"
-      sources."insert-module-globals-7.0.1"
       sources."ip-1.0.1"
       sources."is-binary-path-1.0.1"
       sources."is-buffer-1.1.6"
@@ -33778,21 +35437,15 @@ in
       sources."jsbn-0.1.1"
       sources."json-schema-0.2.3"
       sources."json-schema-traverse-0.3.1"
-      sources."json-stable-stringify-0.0.1"
       sources."json-stringify-safe-5.0.1"
-      sources."jsonify-0.0.0"
-      sources."jsonparse-1.3.1"
       sources."jsonpointer-4.0.1"
       sources."jsprim-1.4.1"
       sources."kind-of-3.2.2"
-      sources."labeled-stream-splicer-2.0.0"
       sources."levn-0.3.0"
-      sources."lexical-scope-1.2.0"
       sources."libbase64-0.1.0"
       sources."libmime-3.0.0"
       sources."libqp-1.1.0"
-      sources."lodash-4.17.5"
-      sources."lodash.memoize-3.0.4"
+      sources."lodash-4.17.10"
       (sources."log4js-2.5.3" // {
         dependencies = [
           sources."assert-plus-0.2.0"
@@ -33802,6 +35455,7 @@ in
           sources."co-3.0.6"
           sources."cryptiles-2.0.5"
           sources."debug-3.1.0"
+          sources."follow-redirects-1.0.0"
           sources."form-data-2.0.0"
           sources."har-validator-2.0.6"
           sources."hawk-3.1.3"
@@ -33810,8 +35464,8 @@ in
           sources."iconv-lite-0.4.15"
           sources."ip-1.1.5"
           sources."isarray-0.0.1"
-          sources."minimist-0.0.8"
           sources."ms-0.7.1"
+          sources."process-nextick-args-1.0.7"
           sources."qs-6.2.3"
           sources."readable-stream-2.0.6"
           sources."request-2.75.0"
@@ -33831,21 +35485,16 @@ in
           sources."semver-5.0.3"
         ];
       })
-      sources."md5.js-1.3.4"
       sources."media-typer-0.3.0"
       sources."micromatch-2.3.11"
-      sources."miller-rabin-4.0.1"
       sources."mime-1.6.0"
       sources."mime-db-1.33.0"
       sources."mime-types-2.1.18"
-      sources."minimalistic-assert-1.0.0"
-      sources."minimalistic-crypto-utils-1.0.1"
       sources."minimatch-3.0.4"
-      sources."minimist-1.2.0"
+      sources."minimist-0.0.8"
       sources."mkdirp-0.5.1"
-      sources."module-deps-4.1.1"
       sources."ms-2.0.0"
-      sources."nan-2.9.2"
+      sources."nan-2.10.0"
       sources."negotiator-0.6.1"
       sources."netmask-1.0.6"
       sources."node-uuid-1.4.8"
@@ -33864,48 +35513,34 @@ in
       sources."once-1.4.0"
       (sources."optimist-0.6.1" // {
         dependencies = [
-          sources."minimist-0.0.10"
           sources."wordwrap-0.0.3"
         ];
       })
       sources."optionator-0.8.2"
-      sources."os-browserify-0.3.0"
       sources."os-tmpdir-1.0.2"
       sources."pac-proxy-agent-1.1.0"
       sources."pac-resolver-2.0.0"
-      sources."pako-1.0.6"
-      sources."parents-1.0.1"
-      sources."parse-asn1-5.1.0"
       sources."parse-glob-3.0.4"
       sources."parseqs-0.0.5"
       sources."parseuri-0.0.5"
       sources."parseurl-1.3.2"
-      sources."path-browserify-0.0.0"
       sources."path-is-absolute-1.0.1"
-      sources."path-parse-1.0.5"
-      sources."path-platform-0.11.15"
       (sources."path-proxy-1.0.0" // {
         dependencies = [
           sources."inflection-1.3.8"
         ];
       })
-      sources."pbkdf2-3.0.14"
       sources."performance-now-2.1.0"
       sources."pinkie-2.0.4"
       sources."pinkie-promise-2.0.1"
       sources."prelude-ls-1.1.2"
       sources."preserve-0.2.0"
-      sources."process-0.11.10"
-      sources."process-nextick-args-1.0.7"
+      sources."process-nextick-args-2.0.0"
       sources."proxy-agent-2.0.0"
-      sources."pseudomap-1.0.2"
-      sources."public-encrypt-4.0.0"
       sources."punycode-1.4.1"
       sources."q-1.4.1"
       sources."qjobs-1.2.0"
       sources."qs-6.5.1"
-      sources."querystring-0.2.0"
-      sources."querystring-es3-0.2.1"
       (sources."randomatic-1.1.7" // {
         dependencies = [
           (sources."is-number-3.0.0" // {
@@ -33915,37 +35550,30 @@ in
           })
         ];
       })
-      sources."randombytes-2.0.6"
-      sources."randomfill-1.0.4"
       sources."range-parser-1.2.0"
-      sources."raw-body-2.3.2"
-      sources."read-only-stream-2.0.0"
-      (sources."readable-stream-2.3.4" // {
+      (sources."raw-body-2.3.2" // {
         dependencies = [
-          sources."isarray-1.0.0"
+          sources."depd-1.1.1"
+          sources."http-errors-1.6.2"
         ];
       })
+      sources."readable-stream-2.3.6"
       sources."readdirp-2.1.0"
       sources."redis-2.8.0"
-      sources."redis-commands-1.3.4"
+      sources."redis-commands-1.3.5"
       sources."redis-parser-2.6.0"
       sources."regex-cache-0.4.4"
       sources."remove-trailing-separator-1.1.0"
       sources."repeat-element-1.1.2"
       sources."repeat-string-1.6.1"
-      sources."request-2.83.0"
+      sources."request-2.85.0"
       sources."requestretry-1.13.0"
       sources."requires-port-1.0.0"
-      sources."resolve-1.5.0"
       sources."rimraf-2.6.2"
-      sources."ripemd160-2.0.1"
-      sources."safe-buffer-5.1.1"
+      sources."safe-buffer-5.1.2"
       sources."semver-5.5.0"
       sources."set-immediate-shim-1.0.1"
-      sources."setprototypeof-1.0.3"
-      sources."sha.js-2.4.10"
-      sources."shasum-1.0.2"
-      sources."shell-quote-1.6.1"
+      sources."setprototypeof-1.1.0"
       sources."slack-node-0.2.0"
       sources."smart-buffer-1.1.15"
       sources."smtp-connection-2.12.0"
@@ -33965,52 +35593,29 @@ in
       sources."socks-1.1.10"
       sources."socks-proxy-agent-2.1.1"
       sources."source-map-0.6.1"
-      sources."sshpk-1.13.1"
-      sources."statuses-1.4.0"
-      sources."stream-browserify-2.0.1"
-      sources."stream-combiner2-1.1.1"
-      sources."stream-http-2.8.0"
-      sources."stream-splicer-2.0.0"
+      sources."sshpk-1.14.1"
+      sources."statuses-1.5.0"
       sources."streamroller-0.7.0"
-      sources."string_decoder-1.0.3"
+      sources."string_decoder-1.1.1"
       sources."stringstream-0.0.5"
       sources."strip-ansi-3.0.1"
-      sources."subarg-1.0.0"
       sources."supports-color-2.0.0"
-      sources."syntax-error-1.4.0"
-      sources."through-2.3.8"
-      sources."through2-2.0.3"
       sources."thunkify-2.1.2"
-      sources."timers-browserify-1.4.2"
       sources."timespan-2.3.0"
       sources."tmp-0.0.33"
       sources."to-array-0.1.4"
-      sources."to-arraybuffer-1.0.1"
       sources."tough-cookie-2.3.4"
       sources."tsscmp-1.0.5"
-      sources."tty-browserify-0.0.1"
       sources."tunnel-agent-0.6.0"
       sources."tweetnacl-0.14.5"
       sources."type-check-0.3.2"
       sources."type-is-1.6.16"
-      sources."typedarray-0.0.6"
       sources."ultron-1.1.1"
-      sources."umd-3.0.1"
       sources."underscore-1.7.0"
       sources."unpipe-1.0.0"
-      (sources."url-0.11.0" // {
-        dependencies = [
-          sources."punycode-1.3.2"
-        ];
-      })
-      (sources."useragent-2.3.0" // {
-        dependencies = [
-          sources."lru-cache-4.1.1"
-        ];
-      })
-      (sources."util-0.10.3" // {
+      (sources."useragent-2.2.1" // {
         dependencies = [
-          sources."inherits-2.0.1"
+          sources."lru-cache-2.2.4"
         ];
       })
       sources."util-deprecate-1.0.2"
@@ -34018,7 +35623,6 @@ in
       sources."uuid-3.2.1"
       sources."uws-9.14.0"
       sources."verror-1.10.0"
-      sources."vm-browserify-0.0.4"
       sources."void-elements-2.0.1"
       sources."when-3.7.8"
       sources."wordwrap-1.0.0"
@@ -34027,7 +35631,6 @@ in
       sources."xmlhttprequest-ssl-1.5.5"
       sources."xregexp-2.0.0"
       sources."xtend-4.0.1"
-      sources."yallist-2.1.2"
       sources."yeast-0.1.2"
     ];
     buildInputs = globalBuildInputs;
@@ -34093,7 +35696,7 @@ in
       sources."etag-1.7.0"
       (sources."express-3.21.2" // {
         dependencies = [
-          sources."accepts-1.3.4"
+          sources."accepts-1.3.5"
           sources."destroy-1.0.3"
           sources."ms-2.0.0"
           sources."negotiator-0.6.1"
@@ -34178,7 +35781,7 @@ in
           sources."ms-0.7.1"
         ];
       })
-      sources."statuses-1.4.0"
+      sources."statuses-1.5.0"
       sources."stream-counter-0.2.0"
       sources."string_decoder-0.10.31"
       sources."tsscmp-1.0.5"
@@ -34203,19 +35806,19 @@ in
   lerna = nodeEnv.buildNodePackage {
     name = "lerna";
     packageName = "lerna";
-    version = "2.9.0";
+    version = "2.11.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/lerna/-/lerna-2.9.0.tgz";
-      sha512 = "18aayy3dsb36bz3rrvbmg1pfvc4zsxqmiax923v738dlp7nw68y5gndi268db91cyzjxwpdimppqfb84z9ywi79mhlak4i73flxgazh";
+      url = "https://registry.npmjs.org/lerna/-/lerna-2.11.0.tgz";
+      sha512 = "22hg2kpml4wkbgp15nzbhcs81kdaynq0prspzmbfrr5hpbga1cz8vl2adc4dry1lcxs36s2w5pbsvrdic4bw623vx8nngxn0z7kl0wj";
     };
     dependencies = [
       sources."JSONStream-1.3.2"
       sources."add-stream-1.0.0"
       sources."align-text-0.1.4"
       sources."amdefine-1.0.1"
-      sources."ansi-escapes-3.0.0"
+      sources."ansi-escapes-3.1.0"
       sources."ansi-regex-2.1.1"
-      sources."ansi-styles-3.2.0"
+      sources."ansi-styles-3.2.1"
       sources."aproba-1.2.0"
       sources."are-we-there-yet-1.1.4"
       sources."array-find-index-1.0.2"
@@ -34226,19 +35829,20 @@ in
       sources."async-1.5.2"
       sources."balanced-match-1.0.0"
       sources."brace-expansion-1.1.11"
+      sources."buffer-from-1.0.0"
       sources."builtin-modules-1.1.1"
       sources."byline-5.0.0"
       sources."camelcase-1.2.1"
       sources."camelcase-keys-2.1.0"
       sources."capture-stack-trace-1.0.0"
       sources."center-align-0.1.3"
-      sources."chalk-2.3.1"
+      sources."chalk-2.4.1"
       sources."chardet-0.4.2"
-      sources."ci-info-1.1.2"
+      sources."ci-info-1.1.3"
       sources."cli-cursor-2.1.0"
       sources."cli-width-2.2.0"
       sources."cliui-2.1.0"
-      sources."clone-1.0.3"
+      sources."clone-1.0.4"
       sources."cmd-shim-2.0.2"
       sources."code-point-at-1.1.0"
       sources."color-convert-1.9.1"
@@ -34247,9 +35851,9 @@ in
       sources."command-join-2.0.0"
       sources."compare-func-1.3.2"
       sources."concat-map-0.0.1"
-      sources."concat-stream-1.6.0"
+      sources."concat-stream-1.6.2"
       sources."console-control-strings-1.1.0"
-      (sources."conventional-changelog-1.1.17" // {
+      (sources."conventional-changelog-1.1.24" // {
         dependencies = [
           sources."camelcase-4.1.0"
           sources."map-obj-1.0.1"
@@ -34257,8 +35861,8 @@ in
         ];
       })
       sources."conventional-changelog-angular-1.6.6"
-      sources."conventional-changelog-atom-0.2.4"
-      (sources."conventional-changelog-cli-1.3.15" // {
+      sources."conventional-changelog-atom-0.2.8"
+      (sources."conventional-changelog-cli-1.3.22" // {
         dependencies = [
           sources."camelcase-2.1.1"
           sources."camelcase-keys-4.2.0"
@@ -34281,22 +35885,22 @@ in
           sources."yargs-3.10.0"
         ];
       })
-      sources."conventional-changelog-codemirror-0.3.4"
-      (sources."conventional-changelog-core-2.0.5" // {
+      sources."conventional-changelog-codemirror-0.3.8"
+      (sources."conventional-changelog-core-2.0.11" // {
         dependencies = [
-          sources."meow-4.0.0"
+          sources."meow-4.0.1"
         ];
       })
-      sources."conventional-changelog-ember-0.3.6"
-      sources."conventional-changelog-eslint-1.0.4"
-      sources."conventional-changelog-express-0.3.4"
+      sources."conventional-changelog-ember-0.3.12"
+      sources."conventional-changelog-eslint-1.0.9"
+      sources."conventional-changelog-express-0.3.6"
       sources."conventional-changelog-jquery-0.1.0"
       sources."conventional-changelog-jscs-0.1.0"
-      sources."conventional-changelog-jshint-0.3.4"
-      sources."conventional-changelog-preset-loader-1.1.6"
-      sources."conventional-changelog-writer-3.0.4"
-      sources."conventional-commits-filter-1.1.5"
-      sources."conventional-commits-parser-2.1.5"
+      sources."conventional-changelog-jshint-0.3.8"
+      sources."conventional-changelog-preset-loader-1.1.8"
+      sources."conventional-changelog-writer-3.0.9"
+      sources."conventional-commits-filter-1.1.6"
+      sources."conventional-commits-parser-2.1.7"
       (sources."conventional-recommended-bump-1.2.1" // {
         dependencies = [
           sources."meow-3.7.0"
@@ -34312,7 +35916,7 @@ in
       sources."decamelize-1.2.0"
       sources."decamelize-keys-1.1.0"
       sources."dedent-0.7.0"
-      sources."deep-extend-0.4.2"
+      sources."deep-extend-0.5.1"
       sources."defaults-1.0.3"
       sources."delegates-1.0.0"
       sources."detect-indent-5.0.0"
@@ -34322,7 +35926,7 @@ in
       sources."error-ex-1.3.1"
       sources."escape-string-regexp-1.0.5"
       sources."execa-0.8.0"
-      sources."external-editor-2.1.0"
+      sources."external-editor-2.2.0"
       sources."figures-2.0.0"
       sources."find-up-2.1.0"
       sources."fs-extra-4.0.3"
@@ -34333,14 +35937,14 @@ in
       sources."get-port-3.2.0"
       sources."get-stdin-4.0.1"
       sources."get-stream-3.0.0"
-      (sources."git-raw-commits-1.3.4" // {
+      (sources."git-raw-commits-1.3.6" // {
         dependencies = [
           sources."read-pkg-3.0.0"
           sources."read-pkg-up-3.0.0"
         ];
       })
       sources."git-remote-origin-url-2.0.0"
-      sources."git-semver-tags-1.3.4"
+      sources."git-semver-tags-1.3.6"
       sources."gitconfiglocal-1.0.0"
       sources."glob-7.1.2"
       sources."glob-parent-3.1.0"
@@ -34354,8 +35958,8 @@ in
       sources."handlebars-4.0.11"
       sources."has-flag-3.0.0"
       sources."has-unicode-2.0.1"
-      sources."hosted-git-info-2.5.0"
-      sources."iconv-lite-0.4.19"
+      sources."hosted-git-info-2.6.0"
+      sources."iconv-lite-0.4.22"
       sources."imurmurhash-0.1.4"
       sources."indent-string-2.1.0"
       sources."inflight-1.0.6"
@@ -34387,7 +35991,7 @@ in
       sources."is-utf8-0.2.1"
       sources."isarray-1.0.0"
       sources."isexe-2.0.0"
-      sources."json-parse-better-errors-1.0.1"
+      sources."json-parse-better-errors-1.0.2"
       sources."json-stringify-safe-5.0.1"
       sources."jsonfile-4.0.0"
       sources."jsonparse-1.3.1"
@@ -34401,18 +36005,18 @@ in
         ];
       })
       sources."locate-path-2.0.0"
-      sources."lodash-4.17.5"
+      sources."lodash-4.17.10"
       sources."lodash._reinterpolate-3.0.0"
       sources."lodash.template-4.4.0"
       sources."lodash.templatesettings-4.1.0"
       sources."longest-1.0.1"
       sources."loud-rejection-1.6.0"
-      sources."lowercase-keys-1.0.0"
-      sources."lru-cache-4.1.1"
+      sources."lowercase-keys-1.0.1"
+      sources."lru-cache-4.1.2"
       sources."make-dir-1.2.0"
       sources."map-obj-1.0.1"
       sources."mem-1.1.0"
-      (sources."meow-4.0.0" // {
+      (sources."meow-4.0.1" // {
         dependencies = [
           sources."find-up-2.1.0"
           sources."load-json-file-4.0.0"
@@ -34427,8 +36031,8 @@ in
       sources."minimist-0.0.8"
       sources."minimist-options-3.0.2"
       sources."mkdirp-0.5.1"
-      sources."modify-values-1.0.0"
-      sources."moment-2.20.1"
+      sources."modify-values-1.0.1"
+      sources."moment-2.22.1"
       sources."mute-stream-0.0.7"
       sources."normalize-package-data-2.4.0"
       sources."npm-run-path-2.0.2"
@@ -34469,11 +36073,11 @@ in
       sources."pseudomap-1.0.2"
       sources."q-1.5.1"
       sources."quick-lru-1.1.0"
-      sources."rc-1.2.5"
+      sources."rc-1.2.7"
       sources."read-cmd-shim-1.0.1"
       sources."read-pkg-3.0.0"
       sources."read-pkg-up-1.0.1"
-      sources."readable-stream-2.3.4"
+      sources."readable-stream-2.3.6"
       sources."redent-1.0.0"
       sources."registry-auth-token-3.3.2"
       sources."registry-url-3.1.0"
@@ -34487,7 +36091,8 @@ in
       sources."run-async-2.3.0"
       sources."rx-lite-4.0.8"
       sources."rx-lite-aggregates-4.0.8"
-      sources."safe-buffer-5.1.1"
+      sources."safe-buffer-5.1.2"
+      sources."safer-buffer-2.1.2"
       sources."semver-5.5.0"
       sources."set-blocking-2.0.0"
       sources."shebang-command-1.2.0"
@@ -34503,7 +36108,7 @@ in
       sources."split-1.0.1"
       sources."split2-2.2.0"
       sources."string-width-2.1.1"
-      sources."string_decoder-1.0.3"
+      sources."string_decoder-1.1.1"
       sources."strip-ansi-3.0.1"
       sources."strip-bom-2.0.0"
       sources."strip-eof-1.0.0"
@@ -34514,7 +36119,7 @@ in
           sources."minimist-0.1.0"
         ];
       })
-      sources."supports-color-5.2.0"
+      sources."supports-color-5.4.0"
       sources."temp-dir-1.0.0"
       (sources."temp-write-3.4.0" // {
         dependencies = [
@@ -34588,74 +36193,71 @@ in
   less = nodeEnv.buildNodePackage {
     name = "less";
     packageName = "less";
-    version = "3.0.1";
+    version = "3.0.4";
     src = fetchurl {
-      url = "https://registry.npmjs.org/less/-/less-3.0.1.tgz";
-      sha512 = "25qmszxk5bzrjgyy1m0k87zc1c5h19ckvnlkhl9j3ncm3zfx7rzmydj6f4sw5c7ldc4npzs41fmgd1hw113kilrk8sggwzwvfw7hi59";
+      url = "https://registry.npmjs.org/less/-/less-3.0.4.tgz";
+      sha512 = "1qmi7lbjfq3w5ygilwf5sagk463c0j6kj2wsidzh6100v02bpfi05c8kbycf395hrdmmy5ffb5f0rsvkvqyhxw9hxrlyvnafc9b4x5b";
     };
     dependencies = [
-      sources."ajv-4.11.8"
+      sources."ajv-5.5.2"
       sources."asap-2.0.6"
       sources."asn1-0.2.3"
-      sources."assert-plus-0.2.0"
+      sources."assert-plus-1.0.0"
       sources."asynckit-0.4.0"
-      sources."aws-sign2-0.6.0"
-      sources."aws4-1.6.0"
+      sources."aws-sign2-0.7.0"
+      sources."aws4-1.7.0"
       sources."bcrypt-pbkdf-1.0.1"
-      sources."boom-2.10.1"
+      sources."boom-4.3.1"
       sources."caseless-0.12.0"
       sources."co-4.6.0"
       sources."combined-stream-1.0.6"
       sources."core-util-is-1.0.2"
-      sources."cryptiles-2.0.5"
+      (sources."cryptiles-3.1.2" // {
+        dependencies = [
+          sources."boom-5.2.0"
+        ];
+      })
       sources."dashdash-1.14.1"
       sources."delayed-stream-1.0.0"
       sources."ecc-jsbn-0.1.1"
       sources."errno-0.1.7"
       sources."extend-3.0.1"
       sources."extsprintf-1.3.0"
+      sources."fast-deep-equal-1.1.0"
+      sources."fast-json-stable-stringify-2.0.0"
       sources."forever-agent-0.6.1"
-      sources."form-data-2.1.4"
+      sources."form-data-2.3.2"
       sources."getpass-0.1.7"
       sources."graceful-fs-4.1.11"
-      sources."har-schema-1.0.5"
-      sources."har-validator-4.2.1"
-      sources."hawk-3.1.3"
-      sources."hoek-2.16.3"
-      sources."http-signature-1.1.1"
+      sources."har-schema-2.0.0"
+      sources."har-validator-5.0.3"
+      sources."hawk-6.0.2"
+      sources."hoek-4.2.1"
+      sources."http-signature-1.2.0"
       sources."image-size-0.5.5"
       sources."is-typedarray-1.0.0"
       sources."isstream-0.1.2"
       sources."jsbn-0.1.1"
       sources."json-schema-0.2.3"
-      sources."json-stable-stringify-1.0.1"
+      sources."json-schema-traverse-0.3.1"
       sources."json-stringify-safe-5.0.1"
-      sources."jsonify-0.0.0"
-      (sources."jsprim-1.4.1" // {
-        dependencies = [
-          sources."assert-plus-1.0.0"
-        ];
-      })
+      sources."jsprim-1.4.1"
       sources."mime-1.6.0"
       sources."mime-db-1.33.0"
       sources."mime-types-2.1.18"
       sources."minimist-0.0.8"
       sources."mkdirp-0.5.1"
       sources."oauth-sign-0.8.2"
-      sources."performance-now-0.2.0"
+      sources."performance-now-2.1.0"
       sources."promise-7.3.1"
       sources."prr-1.0.1"
       sources."punycode-1.4.1"
-      sources."qs-6.4.0"
-      sources."request-2.81.0"
-      sources."safe-buffer-5.1.1"
-      sources."sntp-1.0.9"
-      sources."source-map-0.5.7"
-      (sources."sshpk-1.13.1" // {
-        dependencies = [
-          sources."assert-plus-1.0.0"
-        ];
-      })
+      sources."qs-6.5.2"
+      sources."request-2.85.0"
+      sources."safe-buffer-5.1.2"
+      sources."sntp-2.1.0"
+      sources."source-map-0.6.1"
+      sources."sshpk-1.14.1"
       sources."stringstream-0.0.5"
       sources."tough-cookie-2.3.4"
       sources."tunnel-agent-0.6.0"
@@ -34714,14 +36316,14 @@ in
           sources."kind-of-4.0.0"
         ];
       })
-      sources."clone-2.1.1"
+      sources."clone-2.1.2"
       sources."clone-buffer-1.0.0"
       sources."clone-stats-1.0.0"
-      sources."cloneable-readable-1.0.0"
+      sources."cloneable-readable-1.1.2"
       sources."concat-map-0.0.1"
       sources."convert-source-map-1.5.1"
       sources."core-util-is-1.0.2"
-      sources."duplexify-3.5.3"
+      sources."duplexify-3.6.0"
       sources."end-of-stream-1.4.1"
       sources."expand-brackets-0.1.5"
       sources."expand-range-1.8.2"
@@ -34793,15 +36395,15 @@ in
           })
         ];
       })
-      sources."readable-stream-2.3.4"
+      sources."readable-stream-2.3.6"
       sources."regex-cache-0.4.4"
       sources."remove-trailing-separator-1.1.0"
       sources."repeat-element-1.1.2"
       sources."repeat-string-1.6.1"
       sources."replace-ext-1.0.0"
-      sources."safe-buffer-5.1.1"
+      sources."safe-buffer-5.1.2"
       sources."stream-shift-1.0.0"
-      sources."string_decoder-1.0.3"
+      sources."string_decoder-1.1.1"
       sources."strip-bom-2.0.0"
       sources."strip-bom-stream-1.0.0"
       sources."through2-2.0.3"
@@ -34810,14 +36412,10 @@ in
       sources."unique-stream-2.2.1"
       sources."util-deprecate-1.0.2"
       sources."vali-date-1.0.0"
-      (sources."vinyl-2.1.0" // {
-        dependencies = [
-          sources."process-nextick-args-1.0.7"
-        ];
-      })
+      sources."vinyl-2.1.0"
       (sources."vinyl-fs-2.4.4" // {
         dependencies = [
-          sources."clone-1.0.3"
+          sources."clone-1.0.4"
           sources."clone-stats-0.0.1"
           sources."is-extglob-1.0.0"
           sources."is-glob-2.0.1"
@@ -34848,7 +36446,7 @@ in
       sha512 = "3pnrrz3blfy50s64c4wdj9gjl8zv3p72wd0vmrk86qjdd676g9sj4cwywp356r633csg568pczll7pfb6sxpm0x9fvbk4zhwvdpb70b";
     };
     dependencies = [
-      sources."accepts-1.3.4"
+      sources."accepts-1.3.5"
       sources."after-0.8.2"
       sources."ajv-5.5.2"
       sources."anymatch-1.3.2"
@@ -34864,7 +36462,7 @@ in
       sources."async-limiter-1.0.0"
       sources."asynckit-0.4.0"
       sources."aws-sign2-0.7.0"
-      sources."aws4-1.6.0"
+      sources."aws4-1.7.0"
       sources."backo2-1.0.2"
       sources."balanced-match-1.0.0"
       sources."base64-arraybuffer-0.1.5"
@@ -34873,7 +36471,11 @@ in
       sources."better-assert-1.0.2"
       sources."binary-extensions-1.11.0"
       sources."blob-0.0.4"
-      sources."body-parser-1.18.2"
+      (sources."body-parser-1.18.2" // {
+        dependencies = [
+          sources."setprototypeof-1.0.3"
+        ];
+      })
       sources."boom-4.3.1"
       sources."brace-expansion-1.1.11"
       (sources."braces-1.8.5" // {
@@ -34910,26 +36512,18 @@ in
       sources."ee-first-1.1.1"
       sources."emoji-regex-6.1.1"
       sources."encodeurl-1.0.2"
-      (sources."engine.io-3.1.5" // {
-        dependencies = [
-          sources."debug-3.1.0"
-        ];
-      })
-      (sources."engine.io-client-3.1.5" // {
-        dependencies = [
-          sources."debug-3.1.0"
-        ];
-      })
+      sources."engine.io-3.2.0"
+      sources."engine.io-client-3.2.1"
       sources."engine.io-parser-2.1.2"
       sources."entities-1.1.1"
       sources."escape-html-1.0.3"
       sources."etag-1.8.1"
       sources."expand-brackets-0.1.5"
       sources."expand-range-1.8.2"
-      (sources."express-4.16.2" // {
+      (sources."express-4.16.3" // {
         dependencies = [
-          sources."setprototypeof-1.1.0"
-          sources."statuses-1.3.1"
+          sources."safe-buffer-5.1.1"
+          sources."statuses-1.4.0"
         ];
       })
       sources."extend-3.0.1"
@@ -34939,14 +36533,14 @@ in
       sources."fast-json-stable-stringify-2.0.0"
       sources."filename-regex-2.0.1"
       sources."fill-range-2.2.3"
-      sources."finalhandler-1.1.0"
+      sources."finalhandler-1.1.1"
       sources."for-in-1.0.2"
       sources."for-own-0.1.5"
       sources."forever-agent-0.6.1"
       sources."form-data-2.3.2"
       sources."forwarded-0.1.2"
       sources."fresh-0.5.2"
-      sources."fsevents-1.1.3"
+      sources."fsevents-1.2.3"
       sources."getpass-0.1.7"
       sources."github-slugger-1.2.0"
       sources."glob-base-0.3.0"
@@ -34959,16 +36553,12 @@ in
       sources."hawk-6.0.2"
       sources."hoek-4.2.1"
       sources."html-entities-1.2.1"
-      (sources."http-errors-1.6.2" // {
-        dependencies = [
-          sources."depd-1.1.1"
-        ];
-      })
+      sources."http-errors-1.6.3"
       sources."http-signature-1.2.0"
       sources."iconv-lite-0.4.19"
       sources."indexof-0.0.1"
       sources."inherits-2.0.3"
-      sources."innertext-1.0.2"
+      sources."innertext-1.0.3"
       sources."ipaddr.js-1.6.0"
       sources."is-binary-path-1.0.1"
       sources."is-buffer-1.1.6"
@@ -35007,14 +36597,14 @@ in
       sources."minimatch-3.0.4"
       sources."minimist-1.2.0"
       sources."ms-2.0.0"
-      sources."nan-2.9.2"
+      sources."nan-2.10.0"
       sources."negotiator-0.6.1"
       sources."normalize-path-2.1.1"
       sources."oauth-sign-0.8.2"
       sources."object-component-0.0.3"
       sources."object.omit-2.0.1"
       sources."on-finished-2.3.0"
-      sources."opn-5.2.0"
+      sources."opn-5.3.0"
       sources."parse-glob-3.0.4"
       sources."parseqs-0.0.5"
       sources."parseuri-0.0.5"
@@ -35037,36 +36627,38 @@ in
         ];
       })
       sources."range-parser-1.2.0"
-      sources."raw-body-2.3.2"
-      sources."readable-stream-2.3.4"
+      (sources."raw-body-2.3.2" // {
+        dependencies = [
+          sources."depd-1.1.1"
+          sources."http-errors-1.6.2"
+        ];
+      })
+      sources."readable-stream-2.3.6"
       sources."readdirp-2.1.0"
       sources."regex-cache-0.4.4"
       sources."remove-trailing-separator-1.1.0"
       sources."repeat-element-1.1.2"
       sources."repeat-string-1.6.1"
-      sources."request-2.83.0"
-      sources."safe-buffer-5.1.1"
-      sources."send-0.16.1"
-      sources."serve-static-1.13.1"
+      sources."request-2.85.0"
+      sources."safe-buffer-5.1.2"
+      sources."send-0.16.2"
+      sources."serve-static-1.13.2"
       sources."set-immediate-shim-1.0.1"
-      sources."setprototypeof-1.0.3"
+      sources."setprototypeof-1.1.0"
       sources."sntp-2.1.0"
-      (sources."socket.io-2.0.4" // {
+      (sources."socket.io-2.1.0" // {
         dependencies = [
+          sources."debug-3.1.0"
           sources."isarray-2.0.1"
         ];
       })
       sources."socket.io-adapter-1.1.1"
-      sources."socket.io-client-2.0.4"
-      (sources."socket.io-parser-3.1.3" // {
-        dependencies = [
-          sources."debug-3.1.0"
-        ];
-      })
+      sources."socket.io-client-2.1.0"
+      sources."socket.io-parser-3.2.0"
       sources."sprintf-js-1.0.3"
-      sources."sshpk-1.13.1"
-      sources."statuses-1.4.0"
-      sources."string_decoder-1.0.3"
+      sources."sshpk-1.14.1"
+      sources."statuses-1.5.0"
+      sources."string_decoder-1.1.1"
       sources."stringstream-0.0.5"
       sources."to-array-0.1.4"
       sources."tough-cookie-2.3.4"
@@ -35079,7 +36671,6 @@ in
       sources."util-deprecate-1.0.2"
       sources."utils-merge-1.0.1"
       sources."uuid-3.2.1"
-      sources."uws-9.14.0"
       sources."vary-1.1.2"
       sources."verror-1.10.0"
       sources."ws-3.3.3"
@@ -35104,7 +36695,7 @@ in
       sha1 = "4498644bbf81a66f18dd8dffdef61c4c1c374ca3";
     };
     dependencies = [
-      sources."accepts-1.3.4"
+      sources."accepts-1.3.5"
       sources."anymatch-1.3.2"
       sources."apache-crypt-1.2.1"
       sources."apache-md5-1.1.2"
@@ -35124,7 +36715,7 @@ in
         ];
       })
       sources."chokidar-1.7.0"
-      sources."colors-1.1.2"
+      sources."colors-1.2.4"
       sources."concat-map-0.0.1"
       sources."connect-3.5.1"
       sources."core-util-is-1.0.2"
@@ -35149,17 +36740,13 @@ in
       sources."for-own-0.1.5"
       sources."fresh-0.5.2"
       sources."from-0.1.7"
-      sources."fsevents-1.1.3"
+      sources."fsevents-1.2.3"
       sources."glob-base-0.3.0"
       sources."glob-parent-2.0.0"
       sources."graceful-fs-4.1.11"
       sources."http-auth-3.1.3"
-      (sources."http-errors-1.6.2" // {
-        dependencies = [
-          sources."depd-1.1.1"
-        ];
-      })
-      sources."http-parser-js-0.4.10"
+      sources."http-errors-1.6.3"
+      sources."http-parser-js-0.4.12"
       sources."inherits-2.0.3"
       sources."is-binary-path-1.0.1"
       sources."is-buffer-1.1.6"
@@ -35185,17 +36772,18 @@ in
         dependencies = [
           sources."debug-2.6.9"
           sources."ms-2.0.0"
+          sources."safe-buffer-5.1.1"
         ];
       })
       sources."ms-0.7.1"
-      sources."nan-2.9.2"
+      sources."nan-2.10.0"
       sources."negotiator-0.6.1"
       sources."normalize-path-2.1.1"
       sources."object-assign-4.1.1"
       sources."object.omit-2.0.1"
       sources."on-finished-2.3.0"
       sources."on-headers-1.0.1"
-      sources."opn-5.2.0"
+      sources."opn-5.3.0"
       sources."parse-glob-3.0.4"
       sources."parseurl-1.3.2"
       sources."path-is-absolute-1.0.1"
@@ -35213,13 +36801,13 @@ in
         ];
       })
       sources."range-parser-1.2.0"
-      sources."readable-stream-2.3.4"
+      sources."readable-stream-2.3.6"
       sources."readdirp-2.1.0"
       sources."regex-cache-0.4.4"
       sources."remove-trailing-separator-1.1.0"
       sources."repeat-element-1.1.2"
       sources."repeat-string-1.6.1"
-      sources."safe-buffer-5.1.1"
+      sources."safe-buffer-5.1.2"
       (sources."send-0.16.2" // {
         dependencies = [
           sources."debug-2.6.9"
@@ -35234,11 +36822,11 @@ in
         ];
       })
       sources."set-immediate-shim-1.0.1"
-      sources."setprototypeof-1.0.3"
+      sources."setprototypeof-1.1.0"
       sources."split-0.3.3"
       sources."statuses-1.3.1"
       sources."stream-combiner-0.0.4"
-      sources."string_decoder-1.0.3"
+      sources."string_decoder-1.1.1"
       sources."through-2.3.8"
       sources."unix-crypt-td-js-1.0.0"
       sources."unpipe-1.0.0"
@@ -35297,19 +36885,19 @@ in
   mocha = nodeEnv.buildNodePackage {
     name = "mocha";
     packageName = "mocha";
-    version = "5.0.1";
+    version = "5.1.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/mocha/-/mocha-5.0.1.tgz";
-      sha512 = "2975gb84ixyiin9mdahnmpxxqmn9zmc7d07hh6kv0bnl3mqf6slj83r1f44hvk9f5qk247ajfdmynbyinabrbfi0j8za4v776i3572a";
+      url = "https://registry.npmjs.org/mocha/-/mocha-5.1.1.tgz";
+      sha512 = "23wcnn35p90xhsc5z94w45s30j756s97acm313h6lacnbliqlaka3drq2xbsi4br8gdkld3r4dc33vglq8kf5jb408c7b2agpyar8lh";
     };
     dependencies = [
       sources."balanced-match-1.0.0"
       sources."brace-expansion-1.1.11"
-      sources."browser-stdout-1.3.0"
+      sources."browser-stdout-1.3.1"
       sources."commander-2.11.0"
       sources."concat-map-0.0.1"
       sources."debug-3.1.0"
-      sources."diff-3.3.1"
+      sources."diff-3.5.0"
       sources."escape-string-regexp-1.0.5"
       sources."fs.realpath-1.0.0"
       sources."glob-7.1.2"
@@ -35348,7 +36936,7 @@ in
       sources."argparse-1.0.10"
       sources."asynckit-0.4.0"
       sources."combined-stream-1.0.6"
-      sources."commander-2.14.1"
+      sources."commander-2.15.1"
       sources."component-emitter-1.2.1"
       sources."cookiejar-2.1.1"
       sources."core-util-is-1.0.2"
@@ -35357,13 +36945,13 @@ in
       sources."esprima-4.0.0"
       sources."extend-3.0.1"
       sources."form-data-2.3.2"
-      sources."formidable-1.1.1"
+      sources."formidable-1.2.1"
       sources."graphlib-2.1.5"
       sources."inherits-2.0.3"
       sources."isarray-1.0.0"
-      sources."js-yaml-3.10.0"
+      sources."js-yaml-3.11.0"
       sources."json-refs-2.1.7"
-      sources."lodash-4.17.5"
+      sources."lodash-4.17.10"
       sources."methods-1.1.2"
       sources."mime-1.6.0"
       sources."mime-db-1.33.0"
@@ -35373,13 +36961,13 @@ in
       sources."path-loader-1.0.4"
       sources."process-nextick-args-2.0.0"
       sources."punycode-2.1.0"
-      sources."qs-6.5.1"
-      sources."readable-stream-2.3.4"
-      sources."safe-buffer-5.1.1"
+      sources."qs-6.5.2"
+      sources."readable-stream-2.3.6"
+      sources."safe-buffer-5.1.2"
       sources."slash-1.0.0"
       sources."sprintf-js-1.0.3"
-      sources."string_decoder-1.0.3"
-      sources."superagent-3.8.2"
+      sources."string_decoder-1.1.1"
+      sources."superagent-3.8.3"
       sources."uri-js-3.0.2"
       sources."util-deprecate-1.0.2"
     ];
@@ -35415,10 +37003,10 @@ in
   node2nix = nodeEnv.buildNodePackage {
     name = "node2nix";
     packageName = "node2nix";
-    version = "1.5.2";
+    version = "1.5.3";
     src = fetchurl {
-      url = "https://registry.npmjs.org/node2nix/-/node2nix-1.5.2.tgz";
-      sha512 = "2mvfkqyzfcjfp429vmagcshlp9iqblngn9fslcxpg2n83k6ajwlh0gcnyiypsixpws8nq14d3b3syr9implhsq98wg3zw7nj6b6sg9f";
+      url = "https://registry.npmjs.org/node2nix/-/node2nix-1.5.3.tgz";
+      sha512 = "1nwm3hvx3ybg10mzn5sysdgxii42975v6gyrzjb79s46lhk67ndf1fcrlrxcfaiyj9a997hz2zk9ysm0qclxsd5nziwm01myv95z262";
     };
     dependencies = [
       sources."abbrev-1.1.1"
@@ -35430,17 +37018,18 @@ in
       sources."assert-plus-1.0.0"
       sources."asynckit-0.4.0"
       sources."aws-sign2-0.7.0"
-      sources."aws4-1.6.0"
+      sources."aws4-1.7.0"
       sources."base64-js-1.2.3"
       sources."bcrypt-pbkdf-1.0.1"
       sources."boom-4.3.1"
+      sources."buffer-from-1.0.0"
       sources."builtin-modules-1.1.1"
       sources."builtins-1.0.3"
       sources."caseless-0.12.0"
       sources."co-4.6.0"
       sources."code-point-at-1.1.0"
       sources."combined-stream-1.0.6"
-      sources."concat-stream-1.6.0"
+      sources."concat-stream-1.6.2"
       sources."config-chain-1.1.11"
       sources."console-control-strings-1.1.0"
       sources."core-util-is-1.0.2"
@@ -35475,7 +37064,7 @@ in
       sources."has-unicode-2.0.1"
       sources."hawk-6.0.2"
       sources."hoek-4.2.1"
-      sources."hosted-git-info-2.5.0"
+      sources."hosted-git-info-2.6.0"
       sources."http-signature-1.2.0"
       sources."inherits-2.0.3"
       sources."ini-1.3.5"
@@ -35493,15 +37082,15 @@ in
       sources."mime-db-1.33.0"
       sources."mime-types-2.1.18"
       sources."minimist-0.0.8"
-      sources."minipass-2.2.1"
+      sources."minipass-2.3.0"
       sources."minizlib-1.1.0"
       sources."mkdirp-0.5.1"
       sources."ncp-0.4.2"
       sources."nijs-0.0.25"
       sources."nopt-3.0.6"
       sources."normalize-package-data-2.4.0"
-      sources."npm-package-arg-5.1.2"
-      sources."npm-registry-client-8.5.0"
+      sources."npm-package-arg-6.1.0"
+      sources."npm-registry-client-8.5.1"
       (sources."npmconf-2.1.2" // {
         dependencies = [
           sources."once-1.3.3"
@@ -35521,12 +37110,12 @@ in
       sources."process-nextick-args-2.0.0"
       sources."proto-list-1.2.4"
       sources."punycode-1.4.1"
-      sources."qs-6.5.1"
-      sources."readable-stream-2.3.4"
-      sources."request-2.83.0"
+      sources."qs-6.5.2"
+      sources."readable-stream-2.3.6"
+      sources."request-2.85.0"
       sources."retry-0.10.1"
       sources."rimraf-2.2.8"
-      sources."safe-buffer-5.1.1"
+      sources."safe-buffer-5.1.2"
       sources."semver-5.5.0"
       sources."set-blocking-2.0.0"
       sources."signal-exit-3.0.2"
@@ -35537,10 +37126,10 @@ in
       sources."spdx-exceptions-2.1.0"
       sources."spdx-expression-parse-3.0.0"
       sources."spdx-license-ids-3.0.0"
-      sources."sshpk-1.13.1"
-      sources."ssri-4.1.6"
+      sources."sshpk-1.14.1"
+      sources."ssri-5.3.0"
       sources."string-width-1.0.2"
-      sources."string_decoder-1.0.3"
+      sources."string_decoder-1.1.1"
       sources."stringstream-0.0.5"
       sources."strip-ansi-3.0.1"
       sources."tar-3.1.15"
@@ -35555,7 +37144,7 @@ in
       sources."validate-npm-package-license-3.0.3"
       sources."validate-npm-package-name-3.0.0"
       sources."verror-1.10.0"
-      sources."walk-2.3.9"
+      sources."walk-2.3.13"
       sources."wide-align-1.1.2"
       sources."wrappy-1.0.2"
       sources."yallist-3.0.2"
@@ -35587,7 +37176,7 @@ in
       sources."assert-plus-1.0.0"
       sources."asynckit-0.4.0"
       sources."aws-sign2-0.7.0"
-      sources."aws4-1.6.0"
+      sources."aws4-1.7.0"
       sources."balanced-match-1.0.0"
       sources."bcrypt-pbkdf-1.0.1"
       sources."block-stream-0.0.9"
@@ -35657,18 +37246,18 @@ in
       sources."performance-now-2.1.0"
       sources."process-nextick-args-2.0.0"
       sources."punycode-1.4.1"
-      sources."qs-6.5.1"
-      sources."readable-stream-2.3.4"
-      sources."request-2.83.0"
+      sources."qs-6.5.2"
+      sources."readable-stream-2.3.6"
+      sources."request-2.85.0"
       sources."rimraf-2.6.2"
-      sources."safe-buffer-5.1.1"
+      sources."safe-buffer-5.1.2"
       sources."semver-5.3.0"
       sources."set-blocking-2.0.0"
       sources."signal-exit-3.0.2"
       sources."sntp-2.1.0"
-      sources."sshpk-1.13.1"
+      sources."sshpk-1.14.1"
       sources."string-width-1.0.2"
-      sources."string_decoder-1.0.3"
+      sources."string_decoder-1.1.1"
       sources."stringstream-0.0.5"
       sources."strip-ansi-3.0.1"
       sources."tar-2.2.1"
@@ -35694,10 +37283,10 @@ in
   node-gyp-build = nodeEnv.buildNodePackage {
     name = "node-gyp-build";
     packageName = "node-gyp-build";
-    version = "3.2.2";
+    version = "3.3.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-3.2.2.tgz";
-      sha512 = "34hwi28wvvh5nn8bv71n0fb83xjyk84jsn8j9zgkaqnfigpv2hk6fs9jaffsn7qi3yi4n7iwd9yjyagd1rh74ckzdf5s6l59b8vzidp";
+      url = "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-3.3.0.tgz";
+      sha512 = "0vkilw1ghsjca0lrj9gsdgsi8wj4bvpfr25q1qzx1kp5hhvjdhapmvpmrd2hikwq9dxydw6sdvv0730wwvmsg36xqf0hgp9777l3ns8";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -35718,7 +37307,7 @@ in
     };
     dependencies = [
       sources."abbrev-1.1.1"
-      sources."accepts-1.3.4"
+      sources."accepts-1.3.5"
       sources."after-0.8.2"
       sources."ajv-4.11.8"
       sources."ansi-regex-2.1.1"
@@ -35731,7 +37320,7 @@ in
       sources."async-0.9.2"
       sources."asynckit-0.4.0"
       sources."aws-sign2-0.6.0"
-      sources."aws4-1.6.0"
+      sources."aws4-1.7.0"
       sources."balanced-match-1.0.0"
       sources."base64-js-0.0.8"
       sources."bcrypt-pbkdf-1.0.1"
@@ -35740,7 +37329,7 @@ in
           sources."yargs-1.3.3"
         ];
       })
-      sources."big-integer-1.6.26"
+      sources."big-integer-1.6.28"
       sources."block-stream-0.0.9"
       (sources."body-parser-1.18.2" // {
         dependencies = [
@@ -35776,7 +37365,7 @@ in
       sources."dashdash-1.14.1"
       sources."debug-2.6.9"
       sources."decamelize-1.2.0"
-      sources."deep-extend-0.4.2"
+      sources."deep-extend-0.5.1"
       sources."default-browser-id-1.0.4"
       sources."delayed-stream-1.0.0"
       sources."delegates-1.0.0"
@@ -35789,10 +37378,10 @@ in
       sources."error-ex-1.3.1"
       sources."escape-html-1.0.3"
       sources."etag-1.8.1"
-      sources."express-4.16.2"
+      sources."express-4.16.3"
       sources."extend-3.0.1"
       sources."extsprintf-1.3.0"
-      sources."finalhandler-1.1.0"
+      sources."finalhandler-1.1.1"
       sources."find-up-1.1.2"
       sources."forever-agent-0.6.1"
       sources."form-data-2.1.4"
@@ -35812,12 +37401,8 @@ in
       sources."hawk-3.1.3"
       sources."headless-0.1.7"
       sources."hoek-2.16.3"
-      sources."hosted-git-info-2.5.0"
-      (sources."http-errors-1.6.2" // {
-        dependencies = [
-          sources."depd-1.1.1"
-        ];
-      })
+      sources."hosted-git-info-2.6.0"
+      sources."http-errors-1.6.3"
       sources."http-signature-1.1.1"
       sources."iconv-lite-0.4.19"
       sources."indent-string-2.1.0"
@@ -35861,7 +37446,7 @@ in
       sources."minimist-1.2.0"
       sources."mkdirp-0.5.1"
       sources."ms-2.0.0"
-      sources."nan-2.9.2"
+      sources."nan-2.10.0"
       sources."negotiator-0.6.1"
       sources."node-pre-gyp-0.6.39"
       sources."nopt-4.0.1"
@@ -35897,20 +37482,29 @@ in
       sources."punycode-1.4.1"
       sources."qs-6.5.1"
       sources."range-parser-1.2.0"
-      sources."raw-body-2.3.2"
-      sources."rc-1.2.5"
+      (sources."raw-body-2.3.2" // {
+        dependencies = [
+          sources."depd-1.1.1"
+          sources."http-errors-1.6.2"
+        ];
+      })
+      sources."rc-1.2.7"
       sources."read-pkg-1.1.0"
       sources."read-pkg-up-1.0.1"
-      sources."readable-stream-2.3.4"
+      sources."readable-stream-2.3.6"
       sources."redent-1.0.0"
       sources."repeating-2.0.1"
       sources."request-2.81.0"
       sources."rimraf-2.2.8"
       sources."safe-buffer-5.1.1"
       sources."semver-4.3.6"
-      sources."send-0.16.1"
-      sources."serve-favicon-2.4.5"
-      sources."serve-static-1.13.1"
+      sources."send-0.16.2"
+      (sources."serve-favicon-2.5.0" // {
+        dependencies = [
+          sources."ms-2.1.1"
+        ];
+      })
+      sources."serve-static-1.13.2"
       sources."set-blocking-2.0.0"
       sources."setprototypeof-1.1.0"
       sources."signal-exit-3.0.2"
@@ -35919,14 +37513,14 @@ in
       sources."spdx-exceptions-2.1.0"
       sources."spdx-expression-parse-3.0.0"
       sources."spdx-license-ids-3.0.0"
-      (sources."sshpk-1.13.1" // {
+      (sources."sshpk-1.14.1" // {
         dependencies = [
           sources."assert-plus-1.0.0"
         ];
       })
-      sources."statuses-1.3.1"
+      sources."statuses-1.4.0"
       sources."string-width-1.0.2"
-      sources."string_decoder-1.0.3"
+      sources."string_decoder-1.1.1"
       sources."stringstream-0.0.5"
       sources."strip-ansi-3.0.1"
       sources."strip-bom-2.0.0"
@@ -35986,130 +37580,80 @@ in
   node-pre-gyp = nodeEnv.buildNodePackage {
     name = "node-pre-gyp";
     packageName = "node-pre-gyp";
-    version = "0.6.39";
+    version = "0.10.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.6.39.tgz";
-      sha512 = "2cwrivwc0ha272cly9r61bbb14kkl1s1hsmn53yr88b6pfjqj512nac6c5rphc6ak88v8gpl1f879qdd3v7386103zzr7miibpmbhis";
+      url = "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.10.0.tgz";
+      sha512 = "10s7f95mxnxcwziwzx44l62zy3yjmhky942pw134dbd48wshl7abr1ja8qx1rfzz9vgygcx1vlz1jlldy61da33zq0bfi8bfji09f8v";
     };
     dependencies = [
       sources."abbrev-1.1.1"
-      sources."ajv-4.11.8"
       sources."ansi-regex-2.1.1"
       sources."aproba-1.2.0"
       sources."are-we-there-yet-1.1.4"
-      sources."asn1-0.2.3"
-      sources."assert-plus-0.2.0"
-      sources."asynckit-0.4.0"
-      sources."aws-sign2-0.6.0"
-      sources."aws4-1.6.0"
       sources."balanced-match-1.0.0"
-      sources."bcrypt-pbkdf-1.0.1"
-      sources."block-stream-0.0.9"
-      sources."boom-2.10.1"
       sources."brace-expansion-1.1.11"
-      sources."caseless-0.12.0"
-      sources."co-4.6.0"
+      sources."chownr-1.0.1"
       sources."code-point-at-1.1.0"
-      sources."combined-stream-1.0.6"
       sources."concat-map-0.0.1"
       sources."console-control-strings-1.1.0"
       sources."core-util-is-1.0.2"
-      sources."cryptiles-2.0.5"
-      sources."dashdash-1.14.1"
       sources."debug-2.6.9"
-      sources."deep-extend-0.4.2"
-      sources."delayed-stream-1.0.0"
+      sources."deep-extend-0.5.1"
       sources."delegates-1.0.0"
       sources."detect-libc-1.0.3"
-      sources."ecc-jsbn-0.1.1"
-      sources."extend-3.0.1"
-      sources."extsprintf-1.3.0"
-      sources."forever-agent-0.6.1"
-      sources."form-data-2.1.4"
+      sources."fs-minipass-1.2.5"
       sources."fs.realpath-1.0.0"
-      sources."fstream-1.0.11"
-      sources."fstream-ignore-1.0.5"
       sources."gauge-2.7.4"
-      sources."getpass-0.1.7"
       sources."glob-7.1.2"
-      sources."graceful-fs-4.1.11"
-      sources."har-schema-1.0.5"
-      sources."har-validator-4.2.1"
       sources."has-unicode-2.0.1"
-      sources."hawk-3.1.3"
-      sources."hoek-2.16.3"
-      sources."http-signature-1.1.1"
+      sources."iconv-lite-0.4.22"
+      sources."ignore-walk-3.0.1"
       sources."inflight-1.0.6"
       sources."inherits-2.0.3"
       sources."ini-1.3.5"
       sources."is-fullwidth-code-point-1.0.0"
-      sources."is-typedarray-1.0.0"
       sources."isarray-1.0.0"
-      sources."isstream-0.1.2"
-      sources."jsbn-0.1.1"
-      sources."json-schema-0.2.3"
-      sources."json-stable-stringify-1.0.1"
-      sources."json-stringify-safe-5.0.1"
-      sources."jsonify-0.0.0"
-      (sources."jsprim-1.4.1" // {
-        dependencies = [
-          sources."assert-plus-1.0.0"
-        ];
-      })
-      sources."mime-db-1.33.0"
-      sources."mime-types-2.1.18"
       sources."minimatch-3.0.4"
       sources."minimist-0.0.8"
+      sources."minipass-2.3.0"
+      sources."minizlib-1.1.0"
       sources."mkdirp-0.5.1"
       sources."ms-2.0.0"
+      sources."needle-2.2.1"
       sources."nopt-4.0.1"
+      sources."npm-bundled-1.0.3"
+      sources."npm-packlist-1.1.10"
       sources."npmlog-4.1.2"
       sources."number-is-nan-1.0.1"
-      sources."oauth-sign-0.8.2"
       sources."object-assign-4.1.1"
       sources."once-1.4.0"
       sources."os-homedir-1.0.2"
       sources."os-tmpdir-1.0.2"
       sources."osenv-0.1.5"
       sources."path-is-absolute-1.0.1"
-      sources."performance-now-0.2.0"
       sources."process-nextick-args-2.0.0"
-      sources."punycode-1.4.1"
-      sources."qs-6.4.0"
-      (sources."rc-1.2.5" // {
+      (sources."rc-1.2.7" // {
         dependencies = [
           sources."minimist-1.2.0"
         ];
       })
-      sources."readable-stream-2.3.4"
-      sources."request-2.81.0"
+      sources."readable-stream-2.3.6"
       sources."rimraf-2.6.2"
-      sources."safe-buffer-5.1.1"
+      sources."safe-buffer-5.1.2"
+      sources."safer-buffer-2.1.2"
+      sources."sax-1.2.4"
       sources."semver-5.5.0"
       sources."set-blocking-2.0.0"
       sources."signal-exit-3.0.2"
-      sources."sntp-1.0.9"
-      (sources."sshpk-1.13.1" // {
-        dependencies = [
-          sources."assert-plus-1.0.0"
-        ];
-      })
       sources."string-width-1.0.2"
-      sources."string_decoder-1.0.3"
-      sources."stringstream-0.0.5"
+      sources."string_decoder-1.1.1"
       sources."strip-ansi-3.0.1"
       sources."strip-json-comments-2.0.1"
-      sources."tar-2.2.1"
-      sources."tar-pack-3.4.1"
-      sources."tough-cookie-2.3.4"
-      sources."tunnel-agent-0.6.0"
-      sources."tweetnacl-0.14.5"
-      sources."uid-number-0.0.6"
+      sources."tar-4.4.2"
       sources."util-deprecate-1.0.2"
-      sources."uuid-3.2.1"
-      sources."verror-1.10.0"
       sources."wide-align-1.1.2"
       sources."wrappy-1.0.2"
+      sources."yallist-3.0.2"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -36123,16 +37667,16 @@ in
   nodemon = nodeEnv.buildNodePackage {
     name = "nodemon";
     packageName = "nodemon";
-    version = "1.17.1";
+    version = "1.17.4";
     src = fetchurl {
-      url = "https://registry.npmjs.org/nodemon/-/nodemon-1.17.1.tgz";
-      sha512 = "2dnscknr22xf5r06zcrjz0ljaa2agbrnczh4faf42qsmqfpcng6znv6138nwyyr16fpqk28wgfab1bw3snrsyfz8pirmjl9ywdqibx7";
+      url = "https://registry.npmjs.org/nodemon/-/nodemon-1.17.4.tgz";
+      sha512 = "3bmxd7fd494gy4ddax3mihjz1iy484iakyssbhy87cc2kwbky9xkb8l47vphc3n858q9p9afxl57w0849i24amsdjhwbqh8vxhjy1v5";
     };
     dependencies = [
       sources."abbrev-1.1.1"
       sources."ansi-align-2.0.0"
       sources."ansi-regex-3.0.0"
-      sources."ansi-styles-3.2.0"
+      sources."ansi-styles-3.2.1"
       (sources."anymatch-2.0.0" // {
         dependencies = [
           sources."is-accessor-descriptor-1.0.0"
@@ -36147,7 +37691,7 @@ in
       sources."array-unique-0.3.2"
       sources."assign-symbols-1.0.0"
       sources."async-each-1.0.1"
-      sources."atob-2.0.3"
+      sources."atob-2.1.1"
       sources."balanced-match-1.0.0"
       (sources."base-0.11.2" // {
         dependencies = [
@@ -36162,7 +37706,7 @@ in
       sources."binary-extensions-1.11.0"
       sources."boxen-1.3.0"
       sources."brace-expansion-1.1.11"
-      (sources."braces-2.3.1" // {
+      (sources."braces-2.3.2" // {
         dependencies = [
           sources."is-accessor-descriptor-1.0.0"
           sources."is-data-descriptor-1.0.0"
@@ -36172,8 +37716,8 @@ in
       sources."cache-base-1.0.1"
       sources."camelcase-4.1.0"
       sources."capture-stack-trace-1.0.0"
-      sources."chalk-2.3.1"
-      (sources."chokidar-2.0.2" // {
+      sources."chalk-2.4.1"
+      (sources."chokidar-2.0.3" // {
         dependencies = [
           sources."debug-2.6.9"
           sources."define-property-1.0.0"
@@ -36196,8 +37740,10 @@ in
               sources."kind-of-3.2.2"
             ];
           })
+          sources."kind-of-3.2.2"
         ];
       })
+      sources."ci-info-1.1.3"
       (sources."class-utils-0.3.6" // {
         dependencies = [
           sources."define-property-0.2.5"
@@ -36209,7 +37755,7 @@ in
       sources."color-name-1.1.3"
       sources."component-emitter-1.2.1"
       sources."concat-map-0.0.1"
-      sources."configstore-3.1.1"
+      sources."configstore-3.1.2"
       sources."copy-descriptor-0.1.1"
       sources."core-util-is-1.0.2"
       sources."create-error-class-3.0.2"
@@ -36217,7 +37763,7 @@ in
       sources."crypto-random-string-1.0.0"
       sources."debug-3.1.0"
       sources."decode-uri-component-0.2.0"
-      sources."deep-extend-0.4.2"
+      sources."deep-extend-0.5.1"
       sources."define-property-2.0.2"
       sources."dot-prop-4.2.0"
       sources."duplexer-0.1.1"
@@ -36242,7 +37788,7 @@ in
       sources."for-in-1.0.2"
       sources."fragment-cache-0.2.1"
       sources."from-0.1.7"
-      sources."fsevents-1.1.3"
+      sources."fsevents-1.2.3"
       sources."get-stream-3.0.0"
       sources."get-value-2.0.6"
       (sources."glob-parent-3.1.0" // {
@@ -36264,6 +37810,7 @@ in
       sources."is-accessor-descriptor-1.0.0"
       sources."is-binary-path-1.0.1"
       sources."is-buffer-1.1.6"
+      sources."is-ci-1.1.0"
       sources."is-data-descriptor-1.0.0"
       sources."is-descriptor-1.0.2"
       sources."is-extendable-1.0.1"
@@ -36286,14 +37833,13 @@ in
       sources."isobject-3.0.1"
       sources."kind-of-6.0.2"
       sources."latest-version-3.1.0"
-      sources."lazy-cache-2.0.2"
-      sources."lowercase-keys-1.0.0"
-      sources."lru-cache-4.1.1"
+      sources."lowercase-keys-1.0.1"
+      sources."lru-cache-4.1.2"
       sources."make-dir-1.2.0"
       sources."map-cache-0.2.2"
       sources."map-stream-0.1.0"
       sources."map-visit-1.0.0"
-      (sources."micromatch-3.1.9" // {
+      (sources."micromatch-3.1.10" // {
         dependencies = [
           (sources."is-accessor-descriptor-0.1.6" // {
             dependencies = [
@@ -36313,7 +37859,7 @@ in
       sources."minimist-1.2.0"
       sources."mixin-deep-1.3.1"
       sources."ms-2.0.0"
-      sources."nan-2.9.2"
+      sources."nan-2.10.0"
       sources."nanomatch-1.2.9"
       sources."nopt-1.0.10"
       sources."normalize-path-2.1.1"
@@ -36336,8 +37882,8 @@ in
       sources."ps-tree-1.1.0"
       sources."pseudomap-1.0.2"
       sources."pstree.remy-1.1.0"
-      sources."rc-1.2.5"
-      sources."readable-stream-2.3.4"
+      sources."rc-1.2.7"
+      sources."readable-stream-2.3.6"
       sources."readdirp-2.1.0"
       sources."regex-not-1.0.2"
       sources."registry-auth-token-3.3.2"
@@ -36347,17 +37893,16 @@ in
       sources."repeat-string-1.6.1"
       sources."resolve-url-0.2.1"
       sources."ret-0.1.15"
-      sources."safe-buffer-5.1.1"
+      sources."safe-buffer-5.1.2"
       sources."safe-regex-1.1.0"
       sources."semver-5.5.0"
       sources."semver-diff-2.1.0"
-      sources."set-getter-0.1.0"
       sources."set-immediate-shim-1.0.1"
       sources."set-value-2.0.0"
       sources."shebang-command-1.2.0"
       sources."shebang-regex-1.0.0"
       sources."signal-exit-3.0.2"
-      (sources."snapdragon-0.8.1" // {
+      (sources."snapdragon-0.8.2" // {
         dependencies = [
           (sources."define-property-0.2.5" // {
             dependencies = [
@@ -36368,11 +37913,7 @@ in
           sources."kind-of-4.0.0"
         ];
       })
-      (sources."snapdragon-node-2.1.1" // {
-        dependencies = [
-          sources."kind-of-3.2.2"
-        ];
-      })
+      sources."snapdragon-node-2.1.1"
       sources."snapdragon-util-3.0.1"
       sources."source-map-0.5.7"
       sources."source-map-resolve-0.5.1"
@@ -36387,11 +37928,11 @@ in
       sources."static-extend-0.1.2"
       sources."stream-combiner-0.0.4"
       sources."string-width-2.1.1"
-      sources."string_decoder-1.0.3"
+      sources."string_decoder-1.1.1"
       sources."strip-ansi-4.0.0"
       sources."strip-eof-1.0.0"
       sources."strip-json-comments-2.0.1"
-      sources."supports-color-5.2.0"
+      sources."supports-color-5.4.0"
       sources."term-size-1.2.0"
       sources."through-2.3.8"
       sources."timed-out-4.0.1"
@@ -36420,11 +37961,15 @@ in
         ];
       })
       sources."unzip-response-2.0.1"
-      sources."upath-1.0.4"
-      sources."update-notifier-2.3.0"
+      sources."upath-1.0.5"
+      sources."update-notifier-2.5.0"
       sources."urix-0.1.0"
       sources."url-parse-lax-1.0.0"
-      sources."use-2.0.2"
+      (sources."use-3.1.0" // {
+        dependencies = [
+          sources."kind-of-6.0.2"
+        ];
+      })
       sources."util-deprecate-1.0.2"
       sources."which-1.3.0"
       sources."widest-line-2.0.0"
@@ -36451,11 +37996,10 @@ in
     };
     dependencies = [
       sources."abbrev-1.1.1"
-      sources."accepts-1.3.4"
+      sources."accepts-1.3.5"
       sources."addressparser-0.3.2"
       sources."ajv-5.5.2"
       sources."ansi-regex-2.1.1"
-      sources."ansi-styles-2.2.1"
       sources."append-field-0.1.0"
       sources."aproba-1.2.0"
       sources."are-we-there-yet-1.1.4"
@@ -36463,49 +38007,29 @@ in
       sources."array-flatten-1.1.1"
       sources."array-indexofobject-0.0.1"
       sources."asn1-0.2.3"
-      sources."assert-plus-0.2.0"
+      sources."assert-plus-1.0.0"
       sources."async-0.1.22"
       sources."async-limiter-1.0.0"
       sources."asynckit-0.4.0"
-      sources."aws-sign2-0.6.0"
-      sources."aws4-1.6.0"
+      sources."aws-sign2-0.7.0"
+      sources."aws4-1.7.0"
       sources."balanced-match-1.0.0"
       sources."basic-auth-2.0.0"
-      (sources."bcrypt-1.0.3" // {
-        dependencies = [
-          sources."assert-plus-1.0.0"
-          sources."aws-sign2-0.7.0"
-          sources."boom-4.3.1"
-          sources."caseless-0.12.0"
-          (sources."cryptiles-3.1.2" // {
-            dependencies = [
-              sources."boom-5.2.0"
-            ];
-          })
-          sources."form-data-2.3.2"
-          sources."har-validator-5.0.3"
-          sources."hawk-6.0.2"
-          sources."hoek-4.2.1"
-          sources."http-signature-1.2.0"
-          sources."request-2.83.0"
-          sources."sntp-2.1.0"
-          sources."tunnel-agent-0.6.0"
-        ];
-      })
+      sources."bcrypt-1.0.3"
       sources."bcrypt-pbkdf-1.0.1"
       sources."bcryptjs-2.4.3"
-      sources."bl-1.2.1"
+      sources."bl-1.2.2"
       sources."block-stream-0.0.9"
       sources."body-parser-1.18.2"
       sources."boolbase-1.0.0"
-      sources."boom-2.10.1"
+      sources."boom-4.3.1"
       sources."brace-expansion-1.1.11"
+      sources."buffer-from-1.0.0"
       sources."buildmail-2.0.0"
       sources."busboy-0.2.14"
       sources."bytes-3.0.0"
       sources."callback-stream-1.1.0"
-      sources."caseless-0.11.0"
-      sources."chalk-1.1.3"
+      sources."caseless-0.12.0"
       (sources."cheerio-0.22.0" // {
         dependencies = [
           sources."domelementtype-1.1.3"
@@ -36515,10 +38039,10 @@ in
       sources."co-4.6.0"
       sources."code-point-at-1.1.0"
       sources."combined-stream-1.0.6"
-      sources."commander-2.14.1"
+      sources."commander-2.13.0"
       sources."commist-1.0.0"
       sources."concat-map-0.0.1"
-      sources."concat-stream-1.6.0"
+      sources."concat-stream-1.6.2"
       sources."console-control-strings-1.1.0"
       sources."content-disposition-0.5.2"
       sources."content-type-1.0.4"
@@ -36530,12 +38054,16 @@ in
       sources."cors-2.8.4"
       sources."crc-3.4.4"
       sources."cron-1.3.0"
-      sources."cryptiles-2.0.5"
+      (sources."cryptiles-3.1.2" // {
+        dependencies = [
+          sources."boom-5.2.0"
+        ];
+      })
       sources."css-select-1.2.0"
       sources."css-what-2.1.0"
       sources."dashdash-1.14.1"
       sources."debug-2.6.9"
-      sources."deep-extend-0.4.2"
+      sources."deep-extend-0.5.1"
       sources."delayed-stream-1.0.0"
       sources."delegates-1.0.0"
       sources."depd-1.1.2"
@@ -36545,7 +38073,7 @@ in
       sources."domelementtype-1.3.0"
       sources."domhandler-2.4.1"
       sources."domutils-1.5.1"
-      sources."duplexify-3.5.3"
+      sources."duplexify-3.6.0"
       sources."ecc-jsbn-0.1.1"
       sources."ee-first-1.1.1"
       sources."encodeurl-1.0.2"
@@ -36558,7 +38086,6 @@ in
       sources."etag-1.8.1"
       (sources."express-4.16.2" // {
         dependencies = [
-          sources."setprototypeof-1.1.0"
           sources."statuses-1.3.1"
         ];
       })
@@ -36567,7 +38094,7 @@ in
       sources."extsprintf-1.3.0"
       sources."fast-deep-equal-1.1.0"
       sources."fast-json-stable-stringify-2.0.0"
-      sources."feedparser-1.1.3"
+      sources."feedparser-2.2.9"
       sources."finalhandler-1.1.0"
       (sources."follow-redirects-1.3.0" // {
         dependencies = [
@@ -36575,7 +38102,7 @@ in
         ];
       })
       sources."forever-agent-0.6.1"
-      sources."form-data-1.0.1"
+      sources."form-data-2.3.2"
       sources."forwarded-0.1.2"
       sources."fresh-0.5.2"
       sources."fs-extra-5.0.0"
@@ -36584,32 +38111,25 @@ in
       sources."fstream-1.0.11"
       sources."fstream-ignore-1.0.5"
       sources."gauge-2.7.4"
-      sources."generate-function-2.0.0"
-      sources."generate-object-property-1.2.0"
       sources."getpass-0.1.7"
       sources."glob-7.1.2"
       sources."glob-parent-3.1.0"
       sources."glob-stream-6.1.0"
       sources."graceful-fs-4.1.11"
       sources."har-schema-2.0.0"
-      sources."har-validator-2.0.6"
-      sources."has-ansi-2.0.0"
+      sources."har-validator-5.0.3"
       sources."has-unicode-2.0.1"
       sources."hash-sum-1.0.2"
-      sources."hawk-3.1.3"
+      sources."hawk-6.0.2"
       sources."help-me-1.1.0"
-      sources."hoek-2.16.3"
+      sources."hoek-4.2.1"
       (sources."htmlparser2-3.9.2" // {
         dependencies = [
           sources."domelementtype-1.3.0"
         ];
       })
-      (sources."http-errors-1.6.2" // {
-        dependencies = [
-          sources."depd-1.1.1"
-        ];
-      })
-      sources."http-signature-1.1.1"
+      sources."http-errors-1.6.3"
+      sources."http-signature-1.2.0"
       sources."i18next-1.10.6"
       sources."i18next-client-1.10.3"
       sources."iconv-lite-0.4.19"
@@ -36622,10 +38142,7 @@ in
       sources."is-extglob-2.1.1"
       sources."is-fullwidth-code-point-1.0.0"
       sources."is-glob-3.1.0"
-      sources."is-my-ip-valid-1.0.0"
-      sources."is-my-json-valid-2.17.2"
       sources."is-negated-glob-1.0.0"
-      sources."is-property-1.0.2"
       sources."is-relative-1.0.0"
       sources."is-typedarray-1.0.0"
       sources."is-unc-path-1.0.0"
@@ -36643,31 +38160,29 @@ in
       sources."jsonata-1.5.0"
       sources."jsonfile-4.0.0"
       sources."jsonify-0.0.0"
-      sources."jsonpointer-4.0.1"
-      (sources."jsprim-1.4.1" // {
-        dependencies = [
-          sources."assert-plus-1.0.0"
-        ];
-      })
+      sources."jsprim-1.4.1"
       sources."keygrip-1.0.2"
       sources."leven-1.0.2"
       sources."libbase64-0.1.0"
       sources."libmime-1.2.0"
       sources."libqp-1.1.0"
-      sources."lodash-4.17.5"
+      sources."lodash.assign-4.2.0"
       sources."lodash.assignin-4.2.0"
       sources."lodash.bind-4.2.1"
       sources."lodash.defaults-4.2.0"
       sources."lodash.filter-4.6.0"
       sources."lodash.flatten-4.4.0"
       sources."lodash.foreach-4.5.0"
+      sources."lodash.get-4.4.2"
+      sources."lodash.has-4.5.2"
       sources."lodash.map-4.6.0"
       sources."lodash.merge-4.6.1"
       sources."lodash.pick-4.4.0"
       sources."lodash.reduce-4.6.0"
       sources."lodash.reject-4.6.0"
       sources."lodash.some-4.6.0"
-      sources."lru-cache-4.1.1"
+      sources."lodash.uniq-4.5.0"
+      sources."lru-cache-4.1.2"
       (sources."mailcomposer-2.1.0" // {
         dependencies = [
           sources."needle-0.10.0"
@@ -36689,14 +38204,15 @@ in
       sources."minimatch-3.0.4"
       sources."minimist-1.2.0"
       sources."mkdirp-0.5.1"
-      sources."moment-2.20.1"
-      sources."moment-timezone-0.5.14"
+      sources."moment-2.22.1"
+      sources."moment-timezone-0.5.16"
       (sources."mqtt-2.15.1" // {
         dependencies = [
           sources."ws-3.3.3"
         ];
       })
       sources."mqtt-packet-5.5.0"
+      sources."mri-1.1.1"
       sources."ms-2.0.0"
       (sources."multer-1.3.0" // {
         dependencies = [
@@ -36712,10 +38228,10 @@ in
       sources."needle-0.11.0"
       sources."negotiator-0.6.1"
       sources."node-pre-gyp-0.6.36"
-      (sources."node-red-node-email-0.1.24" // {
+      (sources."node-red-node-email-0.1.29" // {
         dependencies = [
           sources."addressparser-1.0.1"
-          sources."clone-1.0.3"
+          sources."clone-1.0.4"
           sources."isarray-0.0.1"
           sources."minimist-0.0.10"
           sources."readable-stream-1.1.14"
@@ -36723,41 +38239,13 @@ in
           sources."string_decoder-0.10.31"
         ];
       })
-      (sources."node-red-node-feedparser-0.1.8" // {
+      (sources."node-red-node-feedparser-0.1.12" // {
         dependencies = [
-          sources."addressparser-0.1.3"
-          sources."async-2.6.0"
-          sources."bl-1.1.2"
-          sources."isarray-0.0.1"
-          sources."process-nextick-args-1.0.7"
-          sources."qs-6.2.3"
-          sources."readable-stream-1.0.34"
-          sources."string_decoder-0.10.31"
-        ];
-      })
-      sources."node-red-node-rbe-0.2.1"
-      (sources."node-red-node-twitter-0.1.12" // {
-        dependencies = [
-          sources."assert-plus-1.0.0"
-          sources."aws-sign2-0.7.0"
-          sources."boom-4.3.1"
-          sources."caseless-0.12.0"
-          (sources."cryptiles-3.1.2" // {
-            dependencies = [
-              sources."boom-5.2.0"
-            ];
-          })
-          sources."form-data-2.3.2"
-          sources."har-validator-5.0.3"
-          sources."hawk-6.0.2"
-          sources."hoek-4.2.1"
-          sources."http-signature-1.2.0"
-          sources."request-2.83.0"
-          sources."sntp-2.1.0"
-          sources."tunnel-agent-0.6.0"
+          sources."addressparser-1.0.1"
         ];
       })
-      sources."node-uuid-1.4.8"
+      sources."node-red-node-rbe-0.2.3"
+      sources."node-red-node-twitter-0.1.13"
       sources."nodemailer-1.11.0"
       sources."nodemailer-direct-transport-1.1.0"
       sources."nodemailer-smtp-transport-1.1.0"
@@ -36789,75 +38277,65 @@ in
       sources."path-to-regexp-0.1.7"
       sources."pause-0.0.1"
       sources."performance-now-2.1.0"
-      sources."pinkie-2.0.4"
-      sources."pinkie-promise-2.0.1"
       sources."poplib-0.1.7"
       sources."process-nextick-args-2.0.0"
       sources."proxy-addr-2.0.3"
       sources."pseudomap-1.0.2"
       sources."pump-2.0.1"
-      sources."pumpify-1.4.0"
+      sources."pumpify-1.5.0"
       sources."punycode-1.4.1"
       sources."qs-6.5.1"
       sources."random-bytes-1.0.0"
       sources."range-parser-1.2.0"
-      sources."raw-body-2.3.2"
-      sources."rc-1.2.5"
-      sources."readable-stream-2.3.4"
-      sources."reinterval-1.1.0"
-      sources."remove-trailing-separator-1.1.0"
-      (sources."request-2.74.0" // {
+      (sources."raw-body-2.3.2" // {
         dependencies = [
-          sources."isarray-1.0.0"
-          sources."readable-stream-2.0.6"
+          sources."depd-1.1.1"
+          sources."http-errors-1.6.2"
+          sources."setprototypeof-1.0.3"
         ];
       })
+      sources."rc-1.2.7"
+      sources."readable-stream-2.3.6"
+      sources."reinterval-1.1.0"
+      sources."remove-trailing-separator-1.1.0"
+      sources."request-2.85.0"
       sources."retry-0.6.1"
       sources."rimraf-2.6.2"
       sources."safe-buffer-5.1.1"
-      sources."sax-0.6.1"
+      sources."sax-1.2.4"
       sources."semver-5.4.1"
       sources."send-0.16.1"
       sources."sentiment-2.1.0"
       sources."serve-static-1.13.1"
       sources."set-blocking-2.0.0"
-      sources."setprototypeof-1.0.3"
+      sources."setprototypeof-1.1.0"
       sources."signal-exit-3.0.2"
       sources."smtp-connection-1.3.8"
-      sources."sntp-1.0.9"
+      sources."sntp-2.1.0"
       sources."source-map-0.6.1"
       sources."split2-2.2.0"
       sources."sprintf-js-1.0.3"
-      (sources."sshpk-1.13.1" // {
-        dependencies = [
-          sources."assert-plus-1.0.0"
-        ];
-      })
-      sources."statuses-1.4.0"
+      sources."sshpk-1.14.1"
+      sources."statuses-1.5.0"
       sources."stream-shift-1.0.0"
       sources."streamsearch-0.1.2"
       sources."string-width-1.0.2"
-      sources."string_decoder-1.0.3"
+      sources."string_decoder-1.1.1"
       sources."stringstream-0.0.5"
       sources."strip-ansi-3.0.1"
       sources."strip-json-comments-2.0.1"
-      sources."supports-color-2.0.0"
       sources."tar-2.2.1"
       sources."tar-pack-3.4.1"
       sources."through2-2.0.3"
       sources."through2-filter-2.0.0"
       sources."to-absolute-glob-2.0.2"
       sources."tough-cookie-2.3.4"
-      sources."tunnel-agent-0.4.3"
+      sources."tunnel-agent-0.6.0"
       sources."tweetnacl-0.14.5"
       sources."twitter-ng-0.6.2"
       sources."type-is-1.6.16"
       sources."typedarray-0.0.6"
-      (sources."uglify-js-3.3.6" // {
-        dependencies = [
-          sources."commander-2.13.0"
-        ];
-      })
+      sources."uglify-js-3.3.6"
       sources."uid-number-0.0.6"
       sources."uid-safe-2.1.5"
       sources."uid2-0.0.3"
@@ -36869,11 +38347,11 @@ in
       sources."utf7-1.0.2"
       sources."util-deprecate-1.0.2"
       sources."utils-merge-1.0.1"
-      sources."uue-3.1.1"
+      sources."uue-3.1.2"
       sources."uuid-3.2.1"
       sources."vary-1.1.2"
       sources."verror-1.10.0"
-      sources."websocket-stream-5.1.1"
+      sources."websocket-stream-5.1.2"
       sources."when-3.7.8"
       sources."wide-align-1.1.2"
       sources."wordwrap-0.0.3"
@@ -36973,10 +38451,10 @@ in
       sources."ms-0.1.0"
       sources."muri-0.3.1"
       sources."nan-1.0.0"
-      sources."natives-1.1.1"
+      sources."natives-1.1.3"
       (sources."net-ping-1.1.7" // {
         dependencies = [
-          sources."nan-2.3.5"
+          sources."nan-2.10.0"
         ];
       })
       sources."nodemailer-0.3.35"
@@ -36991,7 +38469,7 @@ in
       sources."qs-0.5.1"
       sources."rai-0.1.12"
       sources."range-parser-0.0.4"
-      sources."raw-socket-1.5.2"
+      sources."raw-socket-1.6.0"
       sources."redis-0.7.3"
       sources."semver-1.1.0"
       sources."send-0.1.0"
@@ -37027,10 +38505,10 @@ in
   npm = nodeEnv.buildNodePackage {
     name = "npm";
     packageName = "npm";
-    version = "5.6.0";
+    version = "6.0.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/npm/-/npm-5.6.0.tgz";
-      sha512 = "0nnr796ik5h8bsd3k9ygivivr3na2ksnf5iipf8dsnn20j10i9sgmhmsnzbimd2pqgjbrpp8gbpl2q7j5c7yjqjfirrh8xcc3v3gpws";
+      url = "https://registry.npmjs.org/npm/-/npm-6.0.0.tgz";
+      sha512 = "1s1pq7rdh5xxd4phq7bf1fikbfwc9iiglgayiy0bf14skvivj96j7f5mzyh3631gzhm7vmpak0k523axik5n4hza8gd8c90s203plqj";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -37061,7 +38539,7 @@ in
       sources."assert-plus-1.0.0"
       sources."asynckit-0.4.0"
       sources."aws-sign2-0.7.0"
-      sources."aws4-1.6.0"
+      sources."aws4-1.7.0"
       sources."balanced-match-1.0.0"
       sources."bcrypt-pbkdf-1.0.1"
       (sources."block-stream-0.0.9" // {
@@ -37143,7 +38621,7 @@ in
       sources."minimatch-3.0.4"
       sources."minimist-0.0.8"
       sources."mkdirp-0.3.5"
-      sources."natives-1.1.1"
+      sources."natives-1.1.3"
       sources."ncp-0.4.2"
       sources."nopt-2.2.1"
       (sources."npm-registry-client-0.2.27" // {
@@ -37169,20 +38647,20 @@ in
       sources."process-nextick-args-2.0.0"
       sources."proto-list-1.2.4"
       sources."punycode-1.4.1"
-      sources."qs-6.5.1"
-      sources."readable-stream-2.3.4"
-      sources."request-2.83.0"
+      sources."qs-6.5.2"
+      sources."readable-stream-2.3.6"
+      sources."request-2.85.0"
       sources."retry-0.6.0"
       sources."rimraf-2.6.2"
-      sources."safe-buffer-5.1.1"
+      sources."safe-buffer-5.1.2"
       sources."semver-4.3.6"
       sources."set-blocking-2.0.0"
       sources."signal-exit-3.0.2"
       sources."slide-1.1.6"
       sources."sntp-2.1.0"
-      sources."sshpk-1.13.1"
+      sources."sshpk-1.14.1"
       sources."string-width-1.0.2"
-      sources."string_decoder-1.0.3"
+      sources."string_decoder-1.1.1"
       sources."stringstream-0.0.5"
       sources."strip-ansi-3.0.1"
       (sources."tar-0.1.17" // {
@@ -37206,7 +38684,7 @@ in
       sources."util-deprecate-1.0.2"
       sources."uuid-3.2.1"
       sources."verror-1.10.0"
-      sources."walk-2.3.9"
+      sources."walk-2.3.13"
       sources."wide-align-1.1.2"
       sources."wrappy-1.0.2"
     ];
@@ -37221,151 +38699,74 @@ in
   npm-check-updates = nodeEnv.buildNodePackage {
     name = "npm-check-updates";
     packageName = "npm-check-updates";
-    version = "2.14.0";
+    version = "2.14.2";
     src = fetchurl {
-      url = "https://registry.npmjs.org/npm-check-updates/-/npm-check-updates-2.14.0.tgz";
-      sha512 = "1yk2hf3npvf7kjmiapbq8np5dsb9sx8iiinnfm69vabh55ahzxdv3m14s2sbbsx5q0n269jyz3qhiqx5krhvmbpgqpihas5nvwwlras";
+      url = "https://registry.npmjs.org/npm-check-updates/-/npm-check-updates-2.14.2.tgz";
+      sha512 = "20p92czrssb8mfn5lmaswrzv0wy5va0r7xlmh5f6sd7zj46iydqkhfmfy9lv3d6zf7x42zdbkdrj4mk420gzlmgb3wgd608cafcnalk";
     };
     dependencies = [
-      sources."abbrev-1.1.1"
-      sources."align-text-0.1.4"
       sources."ansi-align-2.0.0"
-      sources."ansi-escapes-1.4.0"
       sources."ansi-regex-2.1.1"
       sources."ansi-styles-2.2.1"
-      sources."ansicolors-0.3.2"
-      sources."archy-1.0.0"
       sources."argparse-1.0.10"
-      sources."asap-2.0.6"
-      sources."async-1.5.2"
-      sources."balanced-match-1.0.0"
-      sources."base64-js-0.0.2"
       sources."bluebird-3.5.1"
-      sources."bops-0.1.1"
-      sources."boxen-0.3.1"
-      sources."brace-expansion-1.1.11"
-      sources."builtin-modules-1.1.1"
-      sources."camelcase-1.2.1"
+      sources."boxen-1.3.0"
+      sources."camelcase-4.1.0"
       sources."capture-stack-trace-1.0.0"
-      sources."center-align-0.1.3"
       sources."chalk-1.1.3"
+      sources."ci-info-1.1.3"
       sources."cint-8.2.1"
       sources."cli-boxes-1.0.0"
-      sources."cli-cursor-1.0.2"
       sources."cli-table-0.3.1"
-      sources."cli-width-2.2.0"
-      sources."clite-0.3.0"
-      sources."cliui-2.1.0"
-      sources."clone-deep-0.3.0"
-      sources."code-point-at-1.1.0"
       sources."color-convert-1.9.1"
       sources."color-name-1.1.3"
       sources."colors-1.0.3"
-      sources."commander-2.14.1"
-      sources."concat-map-0.0.1"
-      (sources."configstore-1.4.0" // {
-        dependencies = [
-          sources."uuid-2.0.3"
-        ];
-      })
-      sources."core-util-is-1.0.2"
+      sources."commander-2.15.1"
+      sources."configstore-3.1.2"
       sources."create-error-class-3.0.2"
       sources."cross-spawn-5.1.0"
       sources."crypto-random-string-1.0.0"
       sources."debug-2.6.9"
-      sources."decamelize-1.2.0"
-      sources."deep-extend-0.4.2"
-      sources."dot-prop-3.0.0"
-      sources."duplexer2-0.1.4"
+      sources."deep-extend-0.5.1"
+      sources."dot-prop-4.2.0"
       sources."duplexer3-0.1.4"
-      sources."duplexify-3.5.3"
-      sources."email-validator-1.1.1"
-      sources."end-of-stream-1.4.1"
-      sources."error-ex-1.3.1"
-      sources."es6-promise-3.3.1"
       sources."escape-string-regexp-1.0.5"
       sources."esprima-4.0.0"
       sources."execa-0.7.0"
-      sources."exit-hook-1.1.1"
       sources."fast-diff-1.1.2"
-      sources."figures-1.7.0"
-      sources."filled-array-1.1.0"
       sources."find-up-1.1.2"
-      sources."for-in-1.0.2"
-      sources."for-own-1.0.0"
-      sources."get-caller-file-1.0.2"
       sources."get-stdin-5.0.1"
       sources."get-stream-3.0.0"
       sources."global-dirs-0.1.1"
-      sources."got-5.7.1"
+      sources."got-6.7.1"
       sources."graceful-fs-4.1.11"
-      sources."graphlib-2.1.5"
       sources."has-ansi-2.0.0"
       sources."has-flag-3.0.0"
-      sources."hasbin-1.2.3"
-      sources."hosted-git-info-2.5.0"
-      sources."iconv-lite-0.4.19"
       sources."import-lazy-2.1.0"
       sources."imurmurhash-0.1.4"
-      sources."infinity-agent-2.0.3"
-      sources."inherits-2.0.3"
       sources."ini-1.3.5"
-      sources."inquirer-1.0.3"
-      sources."invert-kv-1.0.0"
-      sources."is-arrayish-0.2.1"
-      sources."is-buffer-1.1.6"
-      sources."is-builtin-module-1.0.0"
-      sources."is-extendable-0.1.1"
-      sources."is-finite-1.0.2"
-      sources."is-fullwidth-code-point-1.0.0"
+      sources."is-ci-1.1.0"
+      sources."is-fullwidth-code-point-2.0.0"
       sources."is-installed-globally-0.1.0"
       sources."is-npm-1.0.0"
       sources."is-obj-1.0.1"
       sources."is-path-inside-1.0.1"
-      sources."is-plain-object-2.0.4"
-      sources."is-promise-2.1.0"
       sources."is-redirect-1.0.0"
       sources."is-retry-allowed-1.1.0"
       sources."is-stream-1.1.0"
-      sources."is-utf8-0.2.1"
-      sources."isarray-1.0.0"
       sources."isexe-2.0.0"
-      sources."isobject-3.0.1"
       sources."jju-1.3.0"
-      sources."js-yaml-3.10.0"
+      sources."js-yaml-3.11.0"
       sources."json-parse-helpfulerror-1.0.3"
       sources."json5-0.5.1"
-      sources."kind-of-3.2.2"
-      sources."latest-version-2.0.0"
-      sources."lazy-cache-1.0.4"
-      sources."lcid-1.0.0"
-      sources."load-json-file-1.1.0"
-      sources."lodash-4.17.5"
-      sources."lodash.assign-4.2.0"
-      sources."lodash.clonedeep-4.5.0"
-      sources."lodash.defaults-4.2.0"
-      sources."lodash.defaultsdeep-4.6.0"
-      sources."lodash.mergewith-4.6.1"
-      sources."longest-1.0.1"
-      sources."lowercase-keys-1.0.0"
-      sources."lru-cache-4.1.1"
+      sources."latest-version-3.1.0"
+      sources."lodash-4.17.10"
+      sources."lowercase-keys-1.0.1"
+      sources."lru-cache-4.1.2"
       sources."make-dir-1.2.0"
-      sources."minimatch-3.0.4"
-      sources."minimist-0.0.8"
-      sources."mixin-object-2.0.1"
-      sources."mkdirp-0.5.1"
+      sources."minimist-1.2.0"
       sources."ms-2.0.0"
-      sources."mute-stream-0.0.6"
-      sources."nconf-0.7.2"
-      (sources."needle-2.2.0" // {
-        dependencies = [
-          sources."debug-2.6.9"
-        ];
-      })
-      sources."nested-error-stacks-1.0.2"
       sources."node-alias-1.0.4"
-      sources."node-status-codes-1.0.0"
-      sources."normalize-package-data-2.4.0"
       sources."npm-3.10.10"
       sources."npm-run-path-2.0.2"
       (sources."npmi-2.0.1" // {
@@ -37373,213 +38774,56 @@ in
           sources."semver-4.3.6"
         ];
       })
-      sources."number-is-nan-1.0.1"
       sources."object-assign-4.1.1"
       sources."object-keys-1.0.11"
-      sources."once-1.4.0"
-      sources."onetime-1.1.0"
-      sources."open-0.0.5"
-      sources."os-homedir-1.0.2"
-      sources."os-locale-1.4.0"
-      sources."os-name-1.0.3"
-      sources."os-tmpdir-1.0.2"
-      sources."osenv-0.1.5"
-      sources."osx-release-1.1.0"
       sources."p-finally-1.0.0"
-      sources."package-json-2.4.0"
-      sources."parse-json-2.2.0"
+      sources."package-json-4.0.1"
       sources."path-exists-2.1.0"
-      sources."path-is-absolute-1.0.1"
       sources."path-is-inside-1.0.2"
       sources."path-key-2.0.1"
-      sources."path-type-1.1.0"
-      sources."pify-2.3.0"
+      sources."pify-3.0.0"
       sources."pinkie-2.0.4"
       sources."pinkie-promise-2.0.1"
       sources."prepend-http-1.0.4"
-      sources."process-nextick-args-2.0.0"
-      sources."promise-7.3.1"
-      sources."proxy-from-env-1.0.0"
       sources."pseudomap-1.0.2"
-      sources."punycode-1.3.2"
-      sources."querystring-0.2.0"
-      sources."rc-1.2.5"
+      sources."rc-1.2.7"
       sources."rc-config-loader-2.0.1"
-      sources."read-all-stream-3.1.0"
-      sources."read-pkg-1.1.0"
-      sources."read-pkg-up-1.0.1"
-      sources."readable-stream-2.3.4"
-      sources."recursive-readdir-2.2.2"
       sources."registry-auth-token-3.3.2"
       sources."registry-url-3.1.0"
-      sources."repeat-string-1.6.1"
-      sources."repeating-2.0.1"
-      sources."require-directory-2.1.1"
-      sources."require-from-string-2.0.1"
-      sources."require-main-filename-1.0.1"
-      sources."restore-cursor-1.0.1"
-      sources."right-align-0.1.3"
-      sources."run-async-2.3.0"
-      sources."rx-4.1.0"
-      sources."safe-buffer-5.1.1"
-      sources."sax-1.2.4"
+      sources."require-from-string-2.0.2"
+      sources."safe-buffer-5.1.2"
       sources."semver-5.5.0"
       sources."semver-diff-2.1.0"
-      sources."semver-utils-1.1.1"
-      sources."set-blocking-2.0.0"
-      (sources."shallow-clone-0.1.2" // {
-        dependencies = [
-          sources."kind-of-2.0.1"
-        ];
-      })
+      sources."semver-utils-1.1.2"
       sources."shebang-command-1.2.0"
       sources."shebang-regex-1.0.0"
       sources."signal-exit-3.0.2"
-      sources."slide-1.1.6"
-      (sources."snyk-1.69.10" // {
-        dependencies = [
-          sources."async-0.9.2"
-          sources."camelcase-3.0.0"
-          sources."cliui-3.2.0"
-          sources."debug-3.1.0"
-          sources."for-in-0.1.8"
-          sources."got-3.3.1"
-          sources."latest-version-1.0.1"
-          sources."lazy-cache-0.2.7"
-          sources."minimist-1.2.0"
-          sources."object-assign-3.0.0"
-          sources."package-json-1.2.0"
-          sources."repeating-1.1.3"
-          sources."timed-out-2.0.0"
-          sources."update-notifier-0.5.0"
-          sources."window-size-0.2.0"
-          sources."yargs-4.8.1"
-        ];
-      })
-      (sources."snyk-config-1.0.1" // {
-        dependencies = [
-          sources."debug-2.6.9"
-        ];
-      })
-      sources."snyk-go-plugin-1.4.5"
-      sources."snyk-gradle-plugin-1.2.0"
-      (sources."snyk-module-1.8.1" // {
-        dependencies = [
-          sources."debug-2.6.9"
-        ];
-      })
-      sources."snyk-mvn-plugin-1.1.1"
-      (sources."snyk-nuget-plugin-1.3.9" // {
-        dependencies = [
-          sources."es6-promise-4.2.4"
-        ];
-      })
-      sources."snyk-php-plugin-1.3.2"
-      (sources."snyk-policy-1.10.2" // {
-        dependencies = [
-          sources."debug-2.6.9"
-        ];
-      })
-      sources."snyk-python-plugin-1.5.6"
-      (sources."snyk-resolve-1.0.0" // {
-        dependencies = [
-          sources."debug-2.6.9"
-        ];
-      })
-      (sources."snyk-resolve-deps-1.7.0" // {
-        dependencies = [
-          sources."configstore-2.1.0"
-          sources."debug-2.6.9"
-          sources."update-notifier-0.6.3"
-          sources."uuid-2.0.3"
-        ];
-      })
-      (sources."snyk-sbt-plugin-1.2.4" // {
-        dependencies = [
-          sources."debug-2.6.9"
-        ];
-      })
-      sources."snyk-tree-1.0.0"
-      (sources."snyk-try-require-1.2.0" // {
-        dependencies = [
-          sources."debug-2.6.9"
-        ];
-      })
       sources."spawn-please-0.3.0"
-      sources."spdx-correct-3.0.0"
-      sources."spdx-exceptions-2.1.0"
-      sources."spdx-expression-parse-3.0.0"
-      sources."spdx-license-ids-3.0.0"
       sources."sprintf-js-1.0.3"
-      sources."stream-shift-1.0.0"
-      sources."string-length-1.0.1"
-      sources."string-width-1.0.2"
-      sources."string_decoder-1.0.3"
+      sources."string-width-2.1.1"
       sources."strip-ansi-3.0.1"
-      sources."strip-bom-2.0.0"
       sources."strip-eof-1.0.0"
       sources."strip-json-comments-2.0.1"
       sources."supports-color-2.0.0"
-      (sources."tempfile-1.1.1" // {
-        dependencies = [
-          sources."uuid-2.0.3"
-        ];
-      })
       sources."term-size-1.2.0"
-      sources."then-fs-2.0.0"
-      sources."through-2.3.8"
-      sources."timed-out-3.1.3"
-      sources."to-utf8-0.0.1"
-      sources."toml-2.3.3"
-      sources."undefsafe-0.0.3"
+      sources."timed-out-4.0.1"
       sources."unique-string-1.0.0"
-      sources."unzip-response-1.0.2"
-      (sources."update-notifier-2.3.0" // {
+      sources."unzip-response-2.0.1"
+      (sources."update-notifier-2.5.0" // {
         dependencies = [
           sources."ansi-regex-3.0.0"
-          sources."ansi-styles-3.2.0"
-          sources."boxen-1.3.0"
-          sources."camelcase-4.1.0"
-          sources."chalk-2.3.1"
-          sources."configstore-3.1.1"
-          sources."dot-prop-4.2.0"
-          sources."got-6.7.1"
-          sources."is-fullwidth-code-point-2.0.0"
-          sources."latest-version-3.1.0"
-          sources."package-json-4.0.1"
-          sources."pify-3.0.0"
-          sources."string-width-2.1.1"
+          sources."ansi-styles-3.2.1"
+          sources."chalk-2.4.1"
           sources."strip-ansi-4.0.0"
-          sources."supports-color-5.2.0"
-          sources."timed-out-4.0.1"
-          sources."unzip-response-2.0.1"
-          sources."widest-line-2.0.0"
-          sources."write-file-atomic-2.3.0"
-          sources."xdg-basedir-3.0.0"
+          sources."supports-color-5.4.0"
         ];
       })
-      sources."url-0.11.0"
       sources."url-parse-lax-1.0.0"
-      sources."util-deprecate-1.0.2"
-      sources."uuid-3.2.1"
-      sources."validate-npm-package-license-3.0.3"
       sources."which-1.3.0"
-      sources."which-module-1.0.0"
-      sources."widest-line-1.0.0"
-      sources."win-release-1.1.1"
-      sources."window-size-0.1.4"
-      sources."wordwrap-0.0.2"
-      sources."wrap-ansi-2.1.0"
-      sources."wrappy-1.0.2"
-      sources."write-file-atomic-1.3.4"
-      sources."xdg-basedir-2.0.0"
-      sources."xml2js-0.4.19"
-      sources."xmlbuilder-9.0.7"
-      sources."y18n-3.2.1"
+      sources."widest-line-2.0.0"
+      sources."write-file-atomic-2.3.0"
+      sources."xdg-basedir-3.0.0"
       sources."yallist-2.1.2"
-      sources."yargs-3.15.0"
-      sources."yargs-parser-2.4.1"
-      sources."zip-1.2.0"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -37600,13 +38844,13 @@ in
     };
     dependencies = [
       sources."agent-base-4.2.0"
-      sources."ansi-escapes-3.0.0"
+      sources."ansi-escapes-3.1.0"
       sources."ansi-regex-2.1.1"
-      sources."ansi-styles-3.2.0"
+      sources."ansi-styles-3.2.1"
       sources."boom-5.2.0"
       sources."builtin-modules-1.1.1"
       sources."camelcase-4.1.0"
-      sources."chalk-2.3.1"
+      sources."chalk-2.4.1"
       sources."chardet-0.4.2"
       sources."cli-cursor-2.1.0"
       sources."cli-table2-0.2.0"
@@ -37619,7 +38863,7 @@ in
       sources."code-point-at-1.1.0"
       sources."color-convert-1.9.1"
       sources."color-name-1.1.3"
-      sources."colors-1.1.2"
+      sources."colors-1.2.4"
       sources."cross-spawn-5.1.0"
       sources."cvss-1.0.2"
       sources."debug-3.1.0"
@@ -37629,7 +38873,7 @@ in
       sources."es6-promisify-5.0.0"
       sources."escape-string-regexp-1.0.5"
       sources."execa-0.7.0"
-      sources."external-editor-2.1.0"
+      sources."external-editor-2.2.0"
       sources."figures-2.0.0"
       sources."find-up-2.1.0"
       sources."get-caller-file-1.0.2"
@@ -37637,14 +38881,14 @@ in
       sources."graceful-fs-4.1.11"
       sources."has-flag-3.0.0"
       sources."hoek-4.2.1"
-      sources."hosted-git-info-2.5.0"
-      sources."https-proxy-agent-2.1.1"
-      sources."iconv-lite-0.4.19"
+      sources."hosted-git-info-2.6.0"
+      sources."https-proxy-agent-2.2.1"
+      sources."iconv-lite-0.4.22"
       (sources."inquirer-3.3.0" // {
         dependencies = [
           sources."ansi-regex-3.0.0"
           sources."is-fullwidth-code-point-2.0.0"
-          sources."lodash-4.17.5"
+          sources."lodash-4.17.10"
           sources."string-width-2.1.1"
           sources."strip-ansi-4.0.0"
         ];
@@ -37660,7 +38904,7 @@ in
       sources."load-json-file-2.0.0"
       sources."locate-path-2.0.0"
       sources."lodash-3.10.1"
-      sources."lru-cache-4.1.1"
+      sources."lru-cache-4.1.2"
       sources."mem-1.1.0"
       sources."mimic-fn-1.2.0"
       sources."ms-2.0.0"
@@ -37690,6 +38934,7 @@ in
       sources."run-async-2.3.0"
       sources."rx-lite-4.0.8"
       sources."rx-lite-aggregates-4.0.8"
+      sources."safer-buffer-2.1.2"
       sources."semver-5.5.0"
       sources."set-blocking-2.0.0"
       sources."shebang-command-1.2.0"
@@ -37703,7 +38948,7 @@ in
       sources."strip-ansi-3.0.1"
       sources."strip-bom-3.0.0"
       sources."strip-eof-1.0.0"
-      sources."supports-color-5.2.0"
+      sources."supports-color-5.4.0"
       sources."through-2.3.8"
       sources."tmp-0.0.33"
       sources."validate-npm-package-license-3.0.3"
@@ -37735,33 +38980,33 @@ in
   ocaml-language-server = nodeEnv.buildNodePackage {
     name = "ocaml-language-server";
     packageName = "ocaml-language-server";
-    version = "1.0.27";
+    version = "1.0.34";
     src = fetchurl {
-      url = "https://registry.npmjs.org/ocaml-language-server/-/ocaml-language-server-1.0.27.tgz";
-      sha512 = "14fhxv57nybf56n1454ccmdn2sn41amzf4f6a1n70ha48ndrpcw14g6hvv91k5bj775pxh74aa8ncsc3f7bfgz0cg0nwg8ysv43dmqw";
+      url = "https://registry.npmjs.org/ocaml-language-server/-/ocaml-language-server-1.0.34.tgz";
+      sha512 = "216lq2hh4mmk0lzkn381p0l4lgr84xmv6jdjc42yry1yb695zy7bs36n40dmvc81afgsnc51b1rcbn51438ysk59w0drrxd8x43zykr";
     };
     dependencies = [
       sources."async-2.6.0"
       sources."balanced-match-1.0.0"
       sources."brace-expansion-1.1.11"
       sources."concat-map-0.0.1"
-      sources."deepmerge-2.0.1"
+      sources."deepmerge-2.1.0"
       sources."fs.realpath-1.0.0"
       sources."glob-7.1.2"
       sources."inflight-1.0.6"
       sources."inherits-2.0.3"
       sources."lodash-4.17.5"
-      sources."lokijs-1.5.2"
+      sources."lokijs-1.5.3"
       sources."minimatch-3.0.4"
       sources."once-1.4.0"
       sources."path-is-absolute-1.0.1"
       sources."pegjs-0.10.0"
-      sources."vscode-jsonrpc-3.5.0"
-      sources."vscode-languageclient-3.5.0"
-      sources."vscode-languageserver-3.5.0"
-      sources."vscode-languageserver-protocol-3.5.0"
-      sources."vscode-languageserver-types-3.5.0"
-      sources."vscode-uri-1.0.1"
+      sources."vscode-jsonrpc-3.6.0"
+      sources."vscode-languageclient-4.0.1"
+      sources."vscode-languageserver-4.0.0"
+      sources."vscode-languageserver-protocol-3.6.0"
+      sources."vscode-languageserver-types-3.7.1"
+      sources."vscode-uri-1.0.3"
       sources."wrappy-1.0.2"
     ];
     buildInputs = globalBuildInputs;
@@ -37773,16 +39018,17 @@ in
     production = true;
     bypassCache = false;
   };
-  parsoid = nodeEnv.buildNodePackage {
+  "parsoid-git://github.com/abbradar/parsoid#stable" = nodeEnv.buildNodePackage {
     name = "parsoid";
     packageName = "parsoid";
     version = "0.8.0";
-    src = fetchurl {
-      url = "https://registry.npmjs.org/parsoid/-/parsoid-0.8.0.tgz";
-      sha1 = "fbedac4c5c0b721f4c241287b81bdc3e4c7987c9";
+    src = fetchgit {
+      url = "git://github.com/abbradar/parsoid";
+      rev = "89958e4f9e5583e0fdc5447103392e3d749d500b";
+      sha256 = "1af850ced5bd8db64e20ad30bf59d99c14624efba3127759ca1c34088a0aadd7";
     };
     dependencies = [
-      sources."accepts-1.3.4"
+      sources."accepts-1.3.5"
       sources."ajv-5.5.2"
       sources."align-text-0.1.4"
       sources."amdefine-1.0.1"
@@ -37795,15 +39041,16 @@ in
       sources."async-0.9.2"
       sources."asynckit-0.4.0"
       sources."aws-sign2-0.7.0"
-      sources."aws4-1.6.0"
+      sources."aws4-1.7.0"
       sources."babybird-0.0.1"
       sources."balanced-match-1.0.0"
       sources."bcrypt-pbkdf-1.0.1"
-      sources."bl-1.2.1"
+      sources."bl-1.2.2"
       sources."bluebird-3.5.1"
       (sources."body-parser-1.18.2" // {
         dependencies = [
           sources."content-type-1.0.4"
+          sources."setprototypeof-1.0.3"
         ];
       })
       sources."boom-4.3.1"
@@ -37820,17 +39067,17 @@ in
       sources."cliui-2.1.0"
       sources."co-4.6.0"
       sources."code-point-at-1.1.0"
-      sources."colors-1.1.2"
+      sources."colors-1.2.4"
       sources."combined-stream-1.0.6"
       sources."compressible-2.0.13"
       sources."compression-1.7.2"
       sources."concat-map-0.0.1"
       sources."connect-busboy-0.0.2"
       sources."content-disposition-0.5.2"
-      sources."content-type-git+https://github.com/wikimedia/content-type.git#master"
+      sources."content-type-git+https://github.com/wikimedia/content-type#master"
       sources."cookie-0.3.1"
       sources."cookie-signature-1.0.6"
-      sources."core-js-2.5.3"
+      sources."core-js-2.5.5"
       sources."core-util-is-1.0.2"
       (sources."cryptiles-3.1.2" // {
         dependencies = [
@@ -37847,7 +39094,7 @@ in
       sources."dicer-0.2.5"
       sources."diff-1.4.0"
       sources."dnscache-1.0.1"
-      sources."dom-storage-2.0.2"
+      sources."dom-storage-2.1.0"
       sources."domino-1.0.30"
       sources."dtrace-provider-0.8.6"
       sources."ecc-jsbn-0.1.1"
@@ -37858,11 +39105,10 @@ in
       sources."escape-html-1.0.3"
       sources."esprima-4.0.0"
       sources."etag-1.8.1"
-      (sources."express-4.16.2" // {
+      (sources."express-4.16.3" // {
         dependencies = [
           sources."content-type-1.0.4"
-          sources."setprototypeof-1.1.0"
-          sources."statuses-1.3.1"
+          sources."statuses-1.4.0"
         ];
       })
       (sources."express-handlebars-3.0.0" // {
@@ -37876,9 +39122,9 @@ in
       sources."extsprintf-1.3.0"
       sources."fast-deep-equal-1.1.0"
       sources."fast-json-stable-stringify-2.0.0"
-      (sources."finalhandler-1.1.0" // {
+      (sources."finalhandler-1.1.1" // {
         dependencies = [
-          sources."statuses-1.3.1"
+          sources."statuses-1.4.0"
         ];
       })
       sources."find-up-1.1.2"
@@ -37901,13 +39147,9 @@ in
       sources."hat-0.0.3"
       sources."hawk-6.0.2"
       sources."hoek-4.2.1"
-      sources."hosted-git-info-2.5.0"
+      sources."hosted-git-info-2.6.0"
       sources."hot-shots-4.8.0"
-      (sources."http-errors-1.6.2" // {
-        dependencies = [
-          sources."depd-1.1.1"
-        ];
-      })
+      sources."http-errors-1.6.3"
       sources."http-signature-1.2.0"
       sources."iconv-lite-0.4.19"
       sources."inflight-1.0.6"
@@ -37923,7 +39165,7 @@ in
       sources."is-utf8-0.2.1"
       sources."isarray-0.0.1"
       sources."isstream-0.1.2"
-      sources."js-yaml-3.10.0"
+      sources."js-yaml-3.11.0"
       sources."jsbn-0.1.1"
       sources."json-schema-0.2.3"
       sources."json-schema-traverse-0.3.1"
@@ -37953,13 +39195,13 @@ in
       sources."minimatch-3.0.4"
       sources."minimist-0.0.10"
       sources."mkdirp-0.5.1"
-      sources."moment-2.20.1"
+      sources."moment-2.22.1"
       sources."ms-2.0.0"
       sources."msgpack5-3.6.0"
       sources."mv-2.1.1"
-      sources."nan-2.9.2"
+      sources."nan-2.10.0"
       sources."ncp-2.0.0"
-      sources."negotiator-git+https://github.com/arlolra/negotiator.git#full-parse-access"
+      sources."negotiator-git+https://github.com/arlolra/negotiator#full-parse-access"
       sources."normalize-package-data-2.4.0"
       sources."number-is-nan-1.0.1"
       sources."oauth-sign-0.8.2"
@@ -37976,7 +39218,7 @@ in
       sources."path-is-absolute-1.0.1"
       sources."path-to-regexp-0.1.7"
       sources."path-type-1.1.0"
-      sources."pegjs-git+https://github.com/tstarling/pegjs.git#fork"
+      sources."pegjs-git+https://github.com/tstarling/pegjs#fork"
       sources."performance-now-2.1.0"
       sources."pify-2.3.0"
       sources."pinkie-2.0.4"
@@ -37988,12 +39230,17 @@ in
       sources."punycode-1.4.1"
       sources."qs-6.5.1"
       sources."range-parser-1.2.0"
-      sources."raw-body-2.3.2"
+      (sources."raw-body-2.3.2" // {
+        dependencies = [
+          sources."depd-1.1.1"
+          sources."http-errors-1.6.2"
+        ];
+      })
       sources."read-pkg-1.1.0"
       sources."read-pkg-up-1.0.1"
       sources."readable-stream-1.1.14"
       sources."repeat-string-1.6.1"
-      sources."request-2.83.0"
+      sources."request-2.85.0"
       sources."require-directory-2.1.1"
       sources."require-main-filename-1.0.1"
       sources."right-align-0.1.3"
@@ -38001,20 +39248,24 @@ in
       sources."safe-buffer-5.1.1"
       sources."safe-json-stringify-1.1.0"
       sources."semver-5.5.0"
-      sources."send-0.16.1"
-      sources."serve-favicon-2.4.5"
-      sources."serve-static-1.13.1"
-      (sources."service-runner-2.5.1" // {
+      sources."send-0.16.2"
+      (sources."serve-favicon-2.5.0" // {
+        dependencies = [
+          sources."ms-2.1.1"
+        ];
+      })
+      sources."serve-static-1.13.2"
+      (sources."service-runner-2.3.0" // {
         dependencies = [
           sources."isarray-1.0.0"
           sources."minimist-0.0.8"
           sources."ms-0.7.3"
-          sources."readable-stream-2.3.4"
-          sources."string_decoder-1.0.3"
+          sources."readable-stream-2.3.6"
+          sources."string_decoder-1.1.1"
         ];
       })
       sources."set-blocking-2.0.0"
-      sources."setprototypeof-1.0.3"
+      sources."setprototypeof-1.1.0"
       sources."simplediff-0.1.1"
       sources."sntp-2.1.0"
       sources."source-map-0.4.4"
@@ -38023,8 +39274,8 @@ in
       sources."spdx-expression-parse-3.0.0"
       sources."spdx-license-ids-3.0.0"
       sources."sprintf-js-1.0.3"
-      sources."sshpk-1.13.1"
-      sources."statuses-1.4.0"
+      sources."sshpk-1.14.1"
+      sources."statuses-1.5.0"
       sources."streamsearch-0.1.2"
       sources."string-width-1.0.2"
       sources."string_decoder-0.10.31"
@@ -38065,7 +39316,6 @@ in
     buildInputs = globalBuildInputs;
     meta = {
       description = "Mediawiki parser for the VisualEditor.";
-      homepage = "https://github.com/wikimedia/parsoid#readme";
       license = "GPL-2.0+";
     };
     production = true;
@@ -38074,10 +39324,10 @@ in
   peerflix = nodeEnv.buildNodePackage {
     name = "peerflix";
     packageName = "peerflix";
-    version = "0.37.0";
+    version = "0.38.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/peerflix/-/peerflix-0.37.0.tgz";
-      sha512 = "0i2j5pgw72bkg5s5crh3p534sz6m6yvbyg174kkgyj1l0sgaqmzj22xmh0dvxqk7r3rp79w2vs27gdqzb8azmlr6ag13m17h20cyhhf";
+      url = "https://registry.npmjs.org/peerflix/-/peerflix-0.38.0.tgz";
+      sha512 = "0jy97ypdv4a36cdcszfcj0qmv1z1k896h17xb7n2jzj26r4bz8kpj0dcnx255mj5bpxv3074gmabdk2da9jmp2awryyxj7f6l31p2bi";
     };
     dependencies = [
       sources."addr-to-ip-port-1.4.3"
@@ -38091,8 +39341,8 @@ in
       sources."array-flatten-2.1.1"
       sources."balanced-match-1.0.0"
       sources."base64-js-0.0.8"
-      sources."bencode-1.0.0"
-      sources."big-integer-1.6.26"
+      sources."bencode-2.0.0"
+      sources."big-integer-1.6.28"
       sources."bitfield-0.1.0"
       sources."bittorrent-dht-6.4.2"
       sources."bittorrent-tracker-7.7.0"
@@ -38103,9 +39353,12 @@ in
       sources."bplist-creator-0.0.6"
       sources."bplist-parser-0.1.1"
       sources."brace-expansion-1.1.11"
-      sources."buffer-alloc-unsafe-1.0.0"
+      sources."buffer-alloc-1.1.0"
+      sources."buffer-alloc-unsafe-0.1.1"
       sources."buffer-equal-0.0.1"
       sources."buffer-equals-1.0.4"
+      sources."buffer-fill-0.1.1"
+      sources."buffer-from-1.0.0"
       sources."buffer-indexof-1.1.1"
       sources."builtin-modules-1.1.1"
       sources."camelcase-2.1.1"
@@ -38117,7 +39370,7 @@ in
       sources."code-point-at-1.1.0"
       sources."compact2string-1.4.0"
       sources."concat-map-0.0.1"
-      sources."concat-stream-1.6.0"
+      sources."concat-stream-1.6.2"
       sources."consume-http-header-1.0.0"
       sources."consume-until-1.0.0"
       sources."core-util-is-1.0.2"
@@ -38127,7 +39380,7 @@ in
       sources."decamelize-1.2.0"
       sources."decompress-response-3.3.0"
       sources."deep-equal-1.0.1"
-      sources."deep-extend-0.4.2"
+      sources."deep-extend-0.5.1"
       sources."dns-equal-1.0.0"
       sources."dns-packet-1.3.1"
       sources."dns-txt-2.0.2"
@@ -38141,7 +39394,7 @@ in
       sources."figures-1.7.0"
       sources."find-up-1.1.2"
       sources."flatten-0.0.1"
-      (sources."fs-chunk-store-1.6.5" // {
+      (sources."fs-chunk-store-1.7.0" // {
         dependencies = [
           sources."mkdirp-0.5.1"
         ];
@@ -38153,7 +39406,7 @@ in
       sources."graceful-fs-4.1.11"
       sources."has-ansi-2.0.0"
       sources."hat-0.0.3"
-      sources."hosted-git-info-2.5.0"
+      sources."hosted-git-info-2.6.0"
       sources."http-headers-3.0.2"
       sources."immediate-chunk-store-1.0.8"
       sources."indent-string-2.1.0"
@@ -38162,13 +39415,13 @@ in
       sources."ini-1.3.5"
       (sources."inquirer-1.2.3" // {
         dependencies = [
-          sources."lodash-4.17.5"
+          sources."lodash-4.17.10"
         ];
       })
       sources."internal-ip-1.2.0"
       sources."ip-1.1.5"
       sources."ip-set-1.0.1"
-      sources."ipaddr.js-1.6.0"
+      sources."ipaddr.js-1.7.0"
       sources."is-arrayish-0.2.1"
       sources."is-builtin-module-1.0.0"
       sources."is-finite-1.0.2"
@@ -38179,11 +39432,11 @@ in
       sources."k-bucket-0.6.0"
       (sources."k-rpc-3.7.0" // {
         dependencies = [
-          sources."bencode-1.0.0"
+          sources."bencode-2.0.0"
           sources."k-bucket-2.0.1"
         ];
       })
-      sources."k-rpc-socket-1.7.2"
+      sources."k-rpc-socket-1.8.0"
       sources."keypress-0.2.1"
       sources."load-json-file-1.1.0"
       sources."lodash-3.10.1"
@@ -38219,17 +39472,17 @@ in
       sources."os-shim-0.1.3"
       sources."os-tmpdir-1.0.2"
       sources."parse-json-2.2.0"
-      (sources."parse-torrent-5.8.3" // {
+      (sources."parse-torrent-5.9.1" // {
         dependencies = [
-          sources."get-stdin-5.0.1"
+          sources."get-stdin-6.0.0"
         ];
       })
-      sources."parse-torrent-file-4.0.3"
+      sources."parse-torrent-file-2.1.4"
       sources."path-exists-2.1.0"
       sources."path-is-absolute-1.0.1"
       sources."path-type-1.1.0"
-      sources."peer-wire-protocol-0.7.0"
-      (sources."peer-wire-swarm-0.12.1" // {
+      sources."peer-wire-protocol-0.7.1"
+      (sources."peer-wire-swarm-0.12.2" // {
         dependencies = [
           sources."bncode-0.2.3"
         ];
@@ -38240,31 +39493,32 @@ in
       sources."plist-1.2.0"
       sources."process-nextick-args-2.0.0"
       sources."pump-1.0.3"
-      sources."random-access-file-1.8.1"
+      sources."random-access-file-2.0.1"
+      sources."random-access-storage-1.2.0"
       sources."random-iterate-1.0.1"
       sources."randombytes-2.0.6"
       sources."range-parser-1.2.0"
-      sources."rc-1.2.5"
+      sources."rc-1.2.7"
       sources."re-emitter-1.1.3"
       sources."read-pkg-1.1.0"
       sources."read-pkg-up-1.0.1"
-      sources."readable-stream-2.3.4"
+      sources."readable-stream-2.3.6"
       sources."redent-1.0.0"
       sources."repeating-2.0.1"
       sources."restore-cursor-1.0.1"
       sources."reverse-http-1.3.0"
       sources."rimraf-2.6.2"
       sources."run-async-2.3.0"
-      sources."run-parallel-1.1.7"
-      sources."run-series-1.1.4"
+      sources."run-parallel-1.1.9"
+      sources."run-series-1.1.8"
       sources."rusha-0.8.13"
       sources."rx-4.1.0"
-      sources."safe-buffer-5.1.1"
+      sources."safe-buffer-5.1.2"
       sources."semver-5.5.0"
       sources."server-destroy-1.0.1"
       sources."signal-exit-3.0.2"
       sources."simple-concat-1.0.0"
-      sources."simple-get-2.7.0"
+      sources."simple-get-2.8.1"
       sources."simple-peer-6.4.4"
       sources."simple-sha1-2.1.0"
       (sources."simple-websocket-4.3.1" // {
@@ -38281,8 +39535,8 @@ in
       sources."speedometer-0.1.4"
       sources."stream-buffers-2.2.0"
       sources."string-width-1.0.2"
-      sources."string2compact-1.2.2"
-      sources."string_decoder-1.0.3"
+      sources."string2compact-1.2.3"
+      sources."string_decoder-1.1.1"
       sources."strip-ansi-3.0.1"
       sources."strip-bom-2.0.0"
       sources."strip-indent-1.0.1"
@@ -38297,12 +39551,12 @@ in
           sources."bencode-0.8.0"
           sources."isarray-1.0.0"
           sources."minimist-1.2.0"
-          sources."readable-stream-2.3.4"
-          sources."string_decoder-1.0.3"
+          sources."readable-stream-2.3.6"
+          sources."string_decoder-1.1.1"
         ];
       })
       sources."torrent-piece-1.1.1"
-      (sources."torrent-stream-1.0.3" // {
+      (sources."torrent-stream-1.0.4" // {
         dependencies = [
           sources."bencode-0.7.0"
           sources."end-of-stream-0.1.5"
@@ -38311,7 +39565,6 @@ in
           sources."minimist-0.0.8"
           sources."once-1.3.3"
           sources."parse-torrent-4.1.0"
-          sources."parse-torrent-file-2.1.4"
           sources."readable-stream-1.1.14"
           sources."safe-buffer-5.0.1"
           sources."string_decoder-0.10.31"
@@ -38377,9 +39630,12 @@ in
       sources."body-parser-1.13.3"
       sources."boom-0.3.8"
       sources."brace-expansion-1.1.11"
-      sources."buffer-alloc-unsafe-1.0.0"
+      sources."buffer-alloc-1.1.0"
+      sources."buffer-alloc-unsafe-0.1.1"
       sources."buffer-equal-0.0.1"
       sources."buffer-equals-1.0.4"
+      sources."buffer-fill-0.1.1"
+      sources."buffer-from-1.0.0"
       sources."bytes-2.1.0"
       sources."callsite-1.0.0"
       sources."combined-stream-0.0.7"
@@ -38434,7 +39690,7 @@ in
       sources."etag-1.7.0"
       (sources."express-3.21.2" // {
         dependencies = [
-          sources."accepts-1.3.4"
+          sources."accepts-1.3.5"
           sources."destroy-1.0.3"
           sources."ms-2.0.0"
           sources."multiparty-3.3.2"
@@ -38459,7 +39715,7 @@ in
       sources."form-data-0.0.10"
       sources."forwarded-0.1.2"
       sources."fresh-0.3.0"
-      (sources."fs-chunk-store-1.6.5" // {
+      (sources."fs-chunk-store-1.7.0" // {
         dependencies = [
           sources."mkdirp-0.5.1"
         ];
@@ -38488,11 +39744,11 @@ in
       sources."k-bucket-0.6.0"
       (sources."k-rpc-3.7.0" // {
         dependencies = [
-          sources."bencode-1.0.0"
+          sources."bencode-2.0.0"
           sources."k-bucket-2.0.1"
         ];
       })
-      sources."k-rpc-socket-1.7.2"
+      sources."k-rpc-socket-1.8.0"
       sources."lodash-2.4.2"
       sources."lru-2.0.1"
       sources."magnet-uri-2.0.1"
@@ -38535,8 +39791,8 @@ in
       sources."parseurl-1.3.2"
       sources."path-is-absolute-1.0.1"
       sources."pause-0.1.0"
-      sources."peer-wire-protocol-0.7.0"
-      (sources."peer-wire-swarm-0.12.1" // {
+      sources."peer-wire-protocol-0.7.1"
+      (sources."peer-wire-swarm-0.12.2" // {
         dependencies = [
           sources."bncode-0.2.3"
         ];
@@ -38545,8 +39801,9 @@ in
       sources."process-nextick-args-2.0.0"
       sources."proxy-addr-1.0.10"
       sources."pump-1.0.3"
-      sources."qs-6.5.1"
-      sources."random-access-file-1.8.1"
+      sources."qs-6.5.2"
+      sources."random-access-file-2.0.1"
+      sources."random-access-storage-1.2.0"
       sources."random-bytes-1.0.0"
       sources."random-iterate-1.0.1"
       sources."randombytes-2.0.6"
@@ -38573,10 +39830,10 @@ in
       })
       sources."rimraf-2.6.2"
       sources."rndm-1.2.0"
-      sources."run-parallel-1.1.7"
-      sources."run-series-1.1.4"
+      sources."run-parallel-1.1.9"
+      sources."run-series-1.1.8"
       sources."rusha-0.8.13"
-      sources."safe-buffer-5.1.1"
+      sources."safe-buffer-5.1.2"
       (sources."send-0.13.0" // {
         dependencies = [
           sources."ms-0.7.1"
@@ -38591,7 +39848,7 @@ in
         ];
       })
       sources."simple-concat-1.0.0"
-      sources."simple-get-2.7.0"
+      sources."simple-get-2.8.1"
       sources."simple-peer-6.4.4"
       sources."simple-sha1-2.1.0"
       (sources."simple-websocket-4.3.1" // {
@@ -38619,28 +39876,26 @@ in
         ];
       })
       sources."speedometer-0.1.4"
-      sources."statuses-1.4.0"
+      sources."statuses-1.5.0"
       sources."stream-counter-0.2.0"
-      sources."string2compact-1.2.2"
+      sources."string2compact-1.2.3"
       sources."string_decoder-0.10.31"
       sources."thirty-two-0.0.2"
       sources."thunky-1.0.2"
       sources."to-array-0.1.4"
       sources."torrent-discovery-5.4.0"
       sources."torrent-piece-1.1.1"
-      (sources."torrent-stream-1.0.3" // {
+      (sources."torrent-stream-1.0.4" // {
         dependencies = [
           sources."bencode-0.8.0"
-          sources."debug-2.6.9"
           sources."end-of-stream-0.1.5"
           sources."isarray-1.0.0"
           sources."minimist-1.2.0"
           sources."mkdirp-0.3.5"
-          sources."ms-2.0.0"
           sources."once-1.3.3"
-          sources."readable-stream-2.3.4"
+          sources."readable-stream-2.3.6"
           sources."safe-buffer-5.0.1"
-          sources."string_decoder-1.0.3"
+          sources."string_decoder-1.1.1"
           sources."ultron-1.1.1"
         ];
       })
@@ -38696,7 +39951,7 @@ in
       sources."caseless-0.11.0"
       sources."chalk-1.1.3"
       sources."combined-stream-1.0.6"
-      sources."commander-2.14.1"
+      sources."commander-2.15.1"
       sources."concat-map-0.0.1"
       sources."concat-stream-1.5.0"
       sources."core-util-is-1.0.2"
@@ -38747,7 +40002,7 @@ in
       })
       sources."kew-0.7.0"
       sources."klaw-1.3.1"
-      sources."lodash-4.17.5"
+      sources."lodash-4.17.10"
       sources."mime-db-1.33.0"
       sources."mime-types-2.1.18"
       sources."minimatch-3.0.4"
@@ -38768,7 +40023,7 @@ in
       sources."request-progress-2.0.1"
       sources."rimraf-2.6.2"
       sources."sntp-1.0.9"
-      (sources."sshpk-1.13.1" // {
+      (sources."sshpk-1.14.1" // {
         dependencies = [
           sources."assert-plus-1.0.0"
         ];
@@ -38801,10 +40056,10 @@ in
   prettier = nodeEnv.buildNodePackage {
     name = "prettier";
     packageName = "prettier";
-    version = "1.11.0";
+    version = "1.12.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/prettier/-/prettier-1.11.0.tgz";
-      sha512 = "3xk1i02slbak5bilsgbsi5qh2f68dn84s1as0h2bymmiwm3isnazndlvl74yjwlmqxkaw9sj45c402xhy5xk5h0nkbcv39gqwyyfg75";
+      url = "https://registry.npmjs.org/prettier/-/prettier-1.12.1.tgz";
+      sha1 = "c1ad20e803e7749faf905a409d2367e06bbe7325";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -38818,39 +40073,67 @@ in
   pulp = nodeEnv.buildNodePackage {
     name = "pulp";
     packageName = "pulp";
-    version = "12.0.1";
+    version = "12.2.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/pulp/-/pulp-12.0.1.tgz";
-      sha512 = "3n09lgnyd4p3h3jlhgcvbh6n6m9h89hwvbhli5ic32fkl5y4g7yi61m1vw483479jxkif2zyqs89l6j6hq4iy15jdknx1lcp9qbyvwy";
+      url = "https://registry.npmjs.org/pulp/-/pulp-12.2.0.tgz";
+      sha512 = "1kgjvji88fvdi6vazqq6gx32zqgkg9qp639952cz2v2g5izl7yblgawy1xra5dypv5c1a43wk4ch4iskr1kxxpfmn7pnql92q1nvxgg";
     };
     dependencies = [
       sources."JSONStream-1.3.2"
       sources."acorn-4.0.13"
       sources."acorn-node-1.3.0"
-      sources."anymatch-1.3.2"
-      sources."arr-diff-2.0.0"
+      (sources."anymatch-2.0.0" // {
+        dependencies = [
+          (sources."is-accessor-descriptor-0.1.6" // {
+            dependencies = [
+              sources."kind-of-3.2.2"
+            ];
+          })
+          (sources."is-data-descriptor-0.1.4" // {
+            dependencies = [
+              sources."kind-of-3.2.2"
+            ];
+          })
+          sources."is-descriptor-0.1.6"
+          sources."is-extendable-0.1.1"
+        ];
+      })
+      sources."arr-diff-4.0.0"
       sources."arr-flatten-1.1.0"
+      sources."arr-union-3.1.0"
       sources."array-filter-0.0.1"
       sources."array-map-0.0.0"
       sources."array-reduce-0.0.0"
-      sources."array-unique-0.2.1"
+      sources."array-unique-0.3.2"
       sources."asn1.js-4.10.1"
       sources."assert-1.4.1"
+      sources."assign-symbols-1.0.0"
       sources."astw-2.2.0"
       sources."async-1.5.2"
       sources."async-each-1.0.1"
+      sources."atob-2.1.1"
       sources."balanced-match-1.0.0"
-      sources."base64-js-1.2.3"
+      (sources."base-0.11.2" // {
+        dependencies = [
+          (sources."define-property-1.0.0" // {
+            dependencies = [
+              sources."kind-of-6.0.2"
+            ];
+          })
+          sources."kind-of-3.2.2"
+        ];
+      })
+      sources."base64-js-1.3.0"
       sources."binary-extensions-1.11.0"
       sources."bn.js-4.11.8"
       sources."brace-expansion-1.1.11"
-      (sources."braces-1.8.5" // {
+      (sources."braces-2.3.2" // {
         dependencies = [
-          sources."kind-of-4.0.0"
+          sources."is-extendable-0.1.1"
         ];
       })
       sources."brorand-1.1.0"
-      sources."browser-pack-6.0.4"
+      sources."browser-pack-6.1.0"
       (sources."browser-resolve-1.11.2" // {
         dependencies = [
           sources."resolve-1.1.7"
@@ -38858,22 +40141,20 @@ in
       })
       (sources."browserify-13.3.0" // {
         dependencies = [
-          sources."acorn-5.5.0"
-          sources."combine-source-map-0.7.2"
+          sources."acorn-5.5.3"
           (sources."concat-stream-1.5.2" // {
             dependencies = [
               sources."readable-stream-2.0.6"
             ];
           })
-          sources."hash-base-2.0.2"
-          sources."isarray-0.0.1"
+          sources."isarray-2.0.4"
           sources."process-nextick-args-2.0.0"
         ];
       })
-      sources."browserify-aes-1.1.1"
+      sources."browserify-aes-1.2.0"
       sources."browserify-cache-api-3.0.1"
-      sources."browserify-cipher-1.0.0"
-      sources."browserify-des-1.0.0"
+      sources."browserify-cipher-1.0.1"
+      sources."browserify-des-1.0.1"
       (sources."browserify-incremental-3.1.1" // {
         dependencies = [
           sources."JSONStream-0.10.0"
@@ -38884,92 +40165,146 @@ in
       sources."browserify-sign-4.0.4"
       sources."browserify-zlib-0.1.4"
       sources."buffer-4.9.1"
+      sources."buffer-crc32-0.2.13"
+      sources."buffer-from-1.0.0"
       sources."buffer-xor-1.0.3"
       sources."builtin-status-codes-3.0.0"
+      sources."cache-base-1.0.1"
       sources."cached-path-relative-1.0.1"
-      sources."chokidar-1.7.0"
+      (sources."chokidar-2.0.3" // {
+        dependencies = [
+          sources."is-accessor-descriptor-1.0.0"
+          sources."is-data-descriptor-1.0.0"
+          sources."is-descriptor-1.0.2"
+          sources."is-extendable-1.0.1"
+        ];
+      })
       sources."cipher-base-1.0.4"
-      sources."colors-1.1.2"
+      (sources."class-utils-0.3.6" // {
+        dependencies = [
+          sources."define-property-0.2.5"
+        ];
+      })
+      sources."collection-visit-1.0.0"
+      sources."colors-1.2.4"
       sources."combine-source-map-0.8.0"
+      sources."component-emitter-1.2.1"
       sources."concat-map-0.0.1"
-      sources."concat-stream-1.6.0"
+      sources."concat-stream-1.6.2"
       sources."console-browserify-1.1.0"
       sources."constants-browserify-1.0.0"
       sources."convert-source-map-1.1.3"
+      sources."copy-descriptor-0.1.1"
       sources."core-util-is-1.0.2"
-      sources."create-ecdh-4.0.0"
-      sources."create-hash-1.1.3"
-      sources."create-hmac-1.1.6"
+      sources."create-ecdh-4.0.1"
+      sources."create-hash-1.2.0"
+      sources."create-hmac-1.1.7"
       sources."crypto-browserify-3.12.0"
       sources."date-now-0.1.4"
+      sources."debug-2.6.9"
+      sources."decode-uri-component-0.2.0"
+      sources."define-property-2.0.2"
       sources."defined-1.0.0"
       sources."deps-sort-2.0.0"
       sources."des.js-1.0.0"
       sources."detective-4.7.1"
-      sources."diffie-hellman-5.0.2"
+      sources."diffie-hellman-5.0.3"
       sources."domain-browser-1.1.7"
       sources."duplexer2-0.1.4"
       sources."elliptic-6.4.0"
+      sources."es6-promise-3.3.1"
       sources."events-1.1.1"
       sources."evp_bytestokey-1.0.3"
-      sources."expand-brackets-0.1.5"
-      sources."expand-range-1.8.2"
-      sources."extglob-0.3.2"
-      sources."filename-regex-2.0.1"
-      sources."fill-range-2.2.3"
+      (sources."expand-brackets-2.1.4" // {
+        dependencies = [
+          sources."define-property-0.2.5"
+        ];
+      })
+      sources."extend-shallow-3.0.2"
+      (sources."extglob-2.0.4" // {
+        dependencies = [
+          sources."define-property-1.0.0"
+          sources."extend-shallow-2.0.1"
+          sources."kind-of-5.1.0"
+        ];
+      })
+      sources."fill-range-4.0.0"
       sources."for-in-1.0.2"
-      sources."for-own-0.1.5"
+      sources."fragment-cache-0.2.1"
       sources."fs.realpath-1.0.0"
-      sources."fsevents-1.1.3"
+      sources."fsevents-1.2.3"
       sources."function-bind-1.1.1"
+      sources."get-value-2.0.6"
       sources."glob-7.1.2"
-      sources."glob-base-0.3.0"
-      sources."glob-parent-2.0.0"
+      (sources."glob-parent-3.1.0" // {
+        dependencies = [
+          sources."is-glob-3.1.0"
+        ];
+      })
       sources."graceful-fs-4.1.11"
       sources."has-1.0.1"
+      sources."has-value-1.0.0"
+      sources."has-values-1.0.0"
       sources."hash-base-3.0.4"
       sources."hash.js-1.1.3"
       sources."hmac-drbg-1.0.1"
       sources."htmlescape-1.1.1"
       sources."https-browserify-0.0.1"
-      sources."ieee754-1.1.8"
+      sources."ieee754-1.1.11"
       sources."indexof-0.0.1"
       sources."inflight-1.0.6"
       sources."inherits-2.0.3"
       sources."inline-source-map-0.6.2"
-      sources."insert-module-globals-7.0.1"
+      (sources."insert-module-globals-7.0.6" // {
+        dependencies = [
+          sources."concat-stream-1.6.2"
+        ];
+      })
+      sources."is-accessor-descriptor-1.0.0"
       sources."is-binary-path-1.0.1"
       sources."is-buffer-1.1.6"
-      sources."is-dotfile-1.0.3"
-      sources."is-equal-shallow-0.1.3"
-      sources."is-extendable-0.1.1"
-      sources."is-extglob-1.0.0"
-      sources."is-glob-2.0.1"
-      sources."is-number-2.1.0"
-      sources."is-posix-bracket-0.1.1"
-      sources."is-primitive-2.0.0"
+      sources."is-data-descriptor-1.0.0"
+      sources."is-descriptor-1.0.2"
+      sources."is-extendable-1.0.1"
+      sources."is-extglob-2.1.1"
+      sources."is-glob-4.0.0"
+      sources."is-number-4.0.0"
+      sources."is-odd-2.0.0"
+      sources."is-plain-object-2.0.4"
+      sources."is-windows-1.0.2"
       sources."isarray-1.0.0"
       sources."isexe-2.0.0"
-      sources."isobject-2.1.0"
+      sources."isobject-3.0.1"
       sources."json-stable-stringify-0.0.1"
       sources."jsonify-0.0.0"
       sources."jsonparse-1.3.1"
-      sources."kind-of-3.2.2"
-      sources."labeled-stream-splicer-2.0.0"
+      sources."kind-of-6.0.2"
+      sources."labeled-stream-splicer-2.0.1"
       sources."lexical-scope-1.2.0"
-      sources."lodash-4.17.5"
       sources."lodash.memoize-3.0.4"
+      sources."map-cache-0.2.2"
+      sources."map-visit-1.0.0"
       sources."md5.js-1.3.4"
-      sources."micromatch-2.3.11"
+      sources."micromatch-3.1.10"
       sources."miller-rabin-4.0.1"
       sources."mime-1.6.0"
-      sources."minimalistic-assert-1.0.0"
+      sources."minimalistic-assert-1.0.1"
       sources."minimalistic-crypto-utils-1.0.1"
       sources."minimatch-3.0.4"
       sources."minimist-1.2.0"
+      sources."mixin-deep-1.3.1"
+      sources."mkdirp-0.5.1"
       sources."module-deps-4.1.1"
+      (sources."mold-source-map-0.4.0" // {
+        dependencies = [
+          sources."through-2.2.7"
+        ];
+      })
+      sources."ms-2.0.0"
       sources."mute-stream-0.0.7"
-      sources."nan-2.9.2"
+      sources."nan-2.10.0"
+      sources."nanomatch-1.2.9"
+      sources."neo-async-2.5.1"
       (sources."node-static-0.7.10" // {
         dependencies = [
           sources."minimist-0.0.10"
@@ -38977,82 +40312,137 @@ in
         ];
       })
       sources."normalize-path-2.1.1"
-      sources."object.omit-2.0.1"
+      sources."object-copy-0.1.0"
+      sources."object-visit-1.0.1"
+      sources."object.pick-1.3.0"
       sources."once-1.4.0"
       sources."optimist-0.6.1"
       sources."os-browserify-0.1.2"
       sources."os-tmpdir-1.0.2"
       sources."pako-0.2.9"
       sources."parents-1.0.1"
-      sources."parse-asn1-5.1.0"
-      sources."parse-glob-3.0.4"
+      sources."parse-asn1-5.1.1"
+      sources."pascalcase-0.1.1"
       sources."path-browserify-0.0.0"
+      sources."path-dirname-1.0.2"
       sources."path-is-absolute-1.0.1"
       sources."path-parse-1.0.5"
       sources."path-platform-0.11.15"
-      sources."pbkdf2-3.0.14"
-      sources."preserve-0.2.0"
+      sources."pbkdf2-3.0.16"
+      sources."posix-character-classes-0.1.1"
       sources."process-0.11.10"
       sources."process-nextick-args-1.0.7"
-      sources."public-encrypt-4.0.0"
+      sources."public-encrypt-4.0.2"
       sources."punycode-1.4.1"
       sources."querystring-0.2.0"
       sources."querystring-es3-0.2.1"
-      (sources."randomatic-1.1.7" // {
-        dependencies = [
-          (sources."is-number-3.0.0" // {
-            dependencies = [
-              sources."kind-of-3.2.2"
-            ];
-          })
-        ];
-      })
       sources."randombytes-2.0.6"
       sources."randomfill-1.0.4"
       sources."read-1.0.7"
       sources."read-only-stream-2.0.0"
-      (sources."readable-stream-2.3.4" // {
+      (sources."readable-stream-2.3.6" // {
         dependencies = [
           sources."isarray-1.0.0"
-          sources."string_decoder-1.0.3"
+          sources."string_decoder-1.1.1"
         ];
       })
       sources."readdirp-2.1.0"
-      sources."regex-cache-0.4.4"
+      sources."regex-not-1.0.2"
       sources."remove-trailing-separator-1.1.0"
       sources."repeat-element-1.1.2"
       sources."repeat-string-1.6.1"
-      sources."resolve-1.5.0"
-      sources."rimraf-2.2.8"
-      sources."ripemd160-2.0.1"
-      sources."safe-buffer-5.1.1"
+      sources."resolve-1.7.1"
+      sources."resolve-url-0.2.1"
+      sources."ret-0.1.15"
+      sources."rimraf-2.6.2"
+      sources."ripemd160-2.0.2"
+      sources."safe-buffer-5.1.2"
+      sources."safe-regex-1.1.0"
+      (sources."sander-0.5.1" // {
+        dependencies = [
+          sources."minimist-0.0.8"
+        ];
+      })
       sources."set-immediate-shim-1.0.1"
-      sources."sha.js-2.4.10"
+      sources."set-value-2.0.0"
+      sources."sha.js-2.4.11"
       sources."shasum-1.0.2"
       sources."shell-quote-1.6.1"
+      (sources."snapdragon-0.8.2" // {
+        dependencies = [
+          (sources."define-property-0.2.5" // {
+            dependencies = [
+              sources."kind-of-5.1.0"
+            ];
+          })
+          sources."extend-shallow-2.0.1"
+          sources."kind-of-4.0.0"
+        ];
+      })
+      sources."snapdragon-node-2.1.1"
+      sources."snapdragon-util-3.0.1"
+      sources."sorcery-0.10.0"
       sources."source-map-0.5.7"
+      sources."source-map-resolve-0.5.1"
+      sources."source-map-url-0.4.0"
+      sources."sourcemap-codec-1.4.1"
+      (sources."split-string-3.1.0" // {
+        dependencies = [
+          sources."extend-shallow-3.0.2"
+          sources."is-extendable-1.0.1"
+        ];
+      })
+      sources."static-extend-0.1.2"
       sources."stream-browserify-2.0.1"
       sources."stream-combiner2-1.1.1"
-      sources."stream-http-2.8.0"
+      sources."stream-http-2.8.1"
       sources."stream-splicer-2.0.0"
       sources."string-stream-0.0.7"
       sources."string_decoder-0.10.31"
       sources."subarg-1.0.0"
       sources."syntax-error-1.4.0"
-      sources."temp-0.8.3"
+      (sources."temp-0.8.3" // {
+        dependencies = [
+          sources."rimraf-2.2.8"
+        ];
+      })
       sources."through-2.3.8"
       sources."through2-2.0.3"
       sources."timers-browserify-1.4.2"
       sources."to-arraybuffer-1.0.1"
+      sources."to-object-path-0.3.0"
+      sources."to-regex-3.0.2"
+      sources."to-regex-range-2.1.1"
       sources."tree-kill-1.2.0"
       sources."tty-browserify-0.0.1"
       sources."typedarray-0.0.6"
-      sources."umd-3.0.1"
+      sources."umd-3.0.3"
+      (sources."union-value-1.0.0" // {
+        dependencies = [
+          sources."set-value-0.4.3"
+        ];
+      })
+      (sources."unset-value-1.0.0" // {
+        dependencies = [
+          (sources."has-value-0.3.1" // {
+            dependencies = [
+              sources."isobject-2.1.0"
+            ];
+          })
+        ];
+      })
+      sources."upath-1.0.5"
+      sources."urix-0.1.0"
       (sources."url-0.11.0" // {
         dependencies = [
           sources."punycode-1.3.2"
         ];
       })
+      (sources."use-3.1.0" // {
+        dependencies = [
+          sources."kind-of-6.0.2"
+        ];
+      })
       (sources."util-0.10.3" // {
         dependencies = [
           sources."inherits-2.0.1"
@@ -39060,9 +40450,29 @@ in
       })
       sources."util-deprecate-1.0.2"
       sources."vm-browserify-0.0.4"
-      (sources."watchpack-1.4.0" // {
+      (sources."watchpack-1.6.0" // {
         dependencies = [
-          sources."async-2.6.0"
+          sources."define-property-1.0.0"
+          sources."extend-shallow-2.0.1"
+          sources."has-values-0.1.4"
+          (sources."is-accessor-descriptor-0.1.6" // {
+            dependencies = [
+              sources."kind-of-3.2.2"
+            ];
+          })
+          (sources."is-data-descriptor-0.1.4" // {
+            dependencies = [
+              sources."kind-of-3.2.2"
+            ];
+          })
+          sources."is-descriptor-0.1.6"
+          sources."is-extendable-0.1.1"
+          (sources."is-number-3.0.0" // {
+            dependencies = [
+              sources."kind-of-3.2.2"
+            ];
+          })
+          sources."kind-of-3.2.2"
         ];
       })
       sources."which-1.3.0"
@@ -39090,7 +40500,7 @@ in
     dependencies = [
       sources."@types/babel-types-7.0.1"
       sources."@types/babylon-6.16.2"
-      sources."accepts-1.3.4"
+      sources."accepts-1.3.5"
       sources."acorn-3.3.0"
       (sources."acorn-globals-3.1.0" // {
         dependencies = [
@@ -39099,7 +40509,6 @@ in
       })
       sources."ajv-4.11.8"
       sources."align-text-0.1.4"
-      sources."amdefine-1.0.1"
       sources."ansi-regex-2.1.1"
       sources."aproba-1.2.0"
       sources."are-we-there-yet-1.1.4"
@@ -39109,16 +40518,23 @@ in
       sources."assert-plus-0.2.0"
       sources."asynckit-0.4.0"
       sources."aws-sign2-0.6.0"
-      sources."aws4-1.6.0"
+      sources."aws4-1.7.0"
       sources."babel-runtime-6.26.0"
       sources."babel-types-6.26.0"
       sources."babylon-6.18.0"
       sources."basic-auth-2.0.0"
       sources."bcrypt-pbkdf-1.0.1"
       sources."bindings-1.2.1"
-      sources."bl-1.2.1"
-      sources."body-parser-1.18.2"
+      sources."bl-1.2.2"
+      (sources."body-parser-1.18.2" // {
+        dependencies = [
+          sources."setprototypeof-1.0.3"
+        ];
+      })
       sources."boom-2.10.1"
+      sources."buffer-alloc-1.1.0"
+      sources."buffer-alloc-unsafe-0.1.1"
+      sources."buffer-fill-0.1.1"
       sources."bufferutil-2.0.1"
       sources."bytes-3.0.0"
       sources."camelcase-1.2.1"
@@ -39126,12 +40542,12 @@ in
       sources."center-align-0.1.3"
       sources."character-parser-2.2.0"
       sources."chownr-1.0.1"
-      sources."clean-css-3.4.28"
+      sources."clean-css-4.1.11"
       sources."cliui-2.1.0"
       sources."co-4.6.0"
       sources."code-point-at-1.1.0"
       sources."combined-stream-1.0.6"
-      sources."commander-2.14.1"
+      sources."commander-2.15.1"
       sources."console-control-strings-1.1.0"
       sources."constantinople-3.1.2"
       sources."content-disposition-0.5.2"
@@ -39139,13 +40555,13 @@ in
       sources."cookie-0.3.1"
       sources."cookie-parser-1.4.3"
       sources."cookie-signature-1.0.6"
-      sources."core-js-2.5.3"
+      sources."core-js-2.5.5"
       sources."core-util-is-1.0.2"
       sources."cryptiles-2.0.5"
       sources."dashdash-1.14.1"
       sources."debug-2.6.9"
       sources."decamelize-1.2.0"
-      sources."deep-extend-0.4.2"
+      sources."deep-extend-0.5.1"
       sources."delayed-stream-1.0.0"
       sources."delegates-1.0.0"
       sources."depd-1.1.2"
@@ -39161,36 +40577,31 @@ in
       sources."etag-1.8.1"
       sources."eventemitter2-3.0.2"
       sources."expand-template-1.1.0"
-      (sources."express-4.16.2" // {
+      (sources."express-4.16.3" // {
         dependencies = [
-          sources."setprototypeof-1.1.0"
-          sources."statuses-1.3.1"
+          sources."statuses-1.4.0"
         ];
       })
       sources."extend-3.0.1"
       sources."extsprintf-1.3.0"
-      sources."finalhandler-1.1.0"
+      sources."finalhandler-1.1.1"
       sources."forever-agent-0.6.1"
       sources."form-data-2.1.4"
       sources."forwarded-0.1.2"
       sources."fresh-0.5.2"
+      sources."fs-constants-1.0.0"
       sources."function-bind-1.1.1"
       sources."gauge-2.7.4"
       sources."getpass-0.1.7"
       sources."github-from-package-0.0.0"
       sources."graceful-fs-4.1.11"
-      sources."graceful-readlink-1.0.1"
       sources."har-schema-1.0.5"
       sources."har-validator-4.2.1"
       sources."has-1.0.1"
       sources."has-unicode-2.0.1"
       sources."hawk-3.1.3"
       sources."hoek-2.16.3"
-      (sources."http-errors-1.6.2" // {
-        dependencies = [
-          sources."depd-1.1.1"
-        ];
-      })
+      sources."http-errors-1.6.3"
       sources."http-signature-1.1.1"
       sources."httpolyglot-0.1.2"
       sources."iconv-lite-0.4.19"
@@ -39229,7 +40640,7 @@ in
       })
       sources."less-middleware-2.2.1"
       sources."libquassel-2.1.9"
-      sources."lodash-4.17.5"
+      sources."lodash-4.17.10"
       sources."longest-1.0.1"
       sources."media-typer-0.3.0"
       sources."merge-descriptors-1.0.1"
@@ -39250,7 +40661,7 @@ in
           sources."tunnel-agent-0.4.3"
         ];
       })
-      sources."node-abi-2.3.0"
+      sources."node-abi-2.4.1"
       sources."node.extend-2.0.0"
       sources."noop-logger-0.1.1"
       sources."npmlog-4.1.2"
@@ -39270,44 +40681,43 @@ in
       sources."promise-7.3.1"
       sources."proxy-addr-2.0.3"
       sources."prr-1.0.1"
-      (sources."pug-2.0.0-rc.4" // {
+      (sources."pug-2.0.3" // {
         dependencies = [
           sources."acorn-4.0.13"
-          sources."commander-2.8.1"
-          sources."source-map-0.4.4"
         ];
       })
-      sources."pug-attrs-2.0.2"
-      sources."pug-code-gen-2.0.0"
+      sources."pug-attrs-2.0.3"
+      sources."pug-code-gen-2.0.1"
       sources."pug-error-1.3.2"
-      (sources."pug-filters-2.1.5" // {
-        dependencies = [
-          sources."source-map-0.5.7"
-        ];
-      })
-      sources."pug-lexer-3.1.0"
-      sources."pug-linker-3.0.3"
-      sources."pug-load-2.0.9"
-      sources."pug-parser-4.0.0"
-      sources."pug-runtime-2.0.3"
-      sources."pug-strip-comments-1.0.2"
-      sources."pug-walk-1.1.5"
+      sources."pug-filters-3.1.0"
+      sources."pug-lexer-4.0.0"
+      sources."pug-linker-3.0.5"
+      sources."pug-load-2.0.11"
+      sources."pug-parser-5.0.0"
+      sources."pug-runtime-2.0.4"
+      sources."pug-strip-comments-1.0.3"
+      sources."pug-walk-1.1.7"
       sources."pump-1.0.3"
       sources."punycode-1.4.1"
       sources."qs-6.5.1"
       sources."qtdatastream-0.7.1"
       sources."range-parser-1.2.0"
-      sources."raw-body-2.3.2"
-      sources."rc-1.2.5"
-      sources."readable-stream-2.3.4"
+      (sources."raw-body-2.3.2" // {
+        dependencies = [
+          sources."depd-1.1.1"
+          sources."http-errors-1.6.2"
+        ];
+      })
+      sources."rc-1.2.7"
+      sources."readable-stream-2.3.6"
       sources."regenerator-runtime-0.11.1"
       sources."repeat-string-1.6.1"
       sources."request-2.81.0"
-      sources."resolve-1.5.0"
+      sources."resolve-1.7.1"
       sources."right-align-0.1.3"
       sources."safe-buffer-5.1.1"
       sources."semver-5.5.0"
-      sources."send-0.16.1"
+      sources."send-0.16.2"
       (sources."serve-favicon-2.3.2" // {
         dependencies = [
           sources."etag-1.7.0"
@@ -39315,26 +40725,27 @@ in
           sources."ms-0.7.2"
         ];
       })
-      sources."serve-static-1.13.1"
+      sources."serve-static-1.13.2"
       sources."set-blocking-2.0.0"
-      sources."setprototypeof-1.0.3"
+      sources."setprototypeof-1.1.0"
       sources."signal-exit-3.0.2"
       sources."simple-get-1.4.3"
       sources."sntp-1.0.9"
       sources."source-map-0.5.7"
-      (sources."sshpk-1.13.1" // {
+      (sources."sshpk-1.14.1" // {
         dependencies = [
           sources."assert-plus-1.0.0"
         ];
       })
-      sources."statuses-1.4.0"
+      sources."statuses-1.5.0"
       sources."string-width-1.0.2"
-      sources."string_decoder-1.0.3"
+      sources."string_decoder-1.1.1"
       sources."stringstream-0.0.5"
       sources."strip-ansi-3.0.1"
       sources."strip-json-comments-2.0.1"
-      sources."tar-fs-1.16.0"
-      sources."tar-stream-1.5.5"
+      sources."tar-fs-1.16.2"
+      sources."tar-stream-1.6.0"
+      sources."to-buffer-1.1.1"
       sources."to-fast-properties-1.0.3"
       sources."token-stream-0.0.1"
       sources."tough-cookie-2.3.4"
@@ -39379,13 +40790,13 @@ in
       sha1 = "da6ac7d4d7777a59a5e951cf46e72fd4b6b40a2c";
     };
     dependencies = [
-      sources."acorn-5.5.0"
+      sources."acorn-5.5.3"
       sources."amdefine-1.0.1"
       sources."ast-types-0.9.6"
       sources."balanced-match-1.0.0"
       sources."base62-0.1.1"
       sources."brace-expansion-1.1.11"
-      sources."commander-2.14.1"
+      sources."commander-2.15.1"
       sources."commoner-0.10.8"
       sources."concat-map-0.0.1"
       sources."defined-1.0.0"
@@ -39394,7 +40805,7 @@ in
       sources."esprima-fb-13001.1001.0-dev-harmony-fb"
       sources."glob-5.0.15"
       sources."graceful-fs-4.1.11"
-      sources."iconv-lite-0.4.19"
+      sources."iconv-lite-0.4.22"
       sources."inflight-1.0.6"
       sources."inherits-2.0.3"
       (sources."jstransform-10.1.0" // {
@@ -39410,6 +40821,7 @@ in
       sources."private-0.1.8"
       sources."q-1.5.1"
       sources."recast-0.11.23"
+      sources."safer-buffer-2.1.2"
       sources."source-map-0.5.7"
       sources."wrappy-1.0.2"
     ];
@@ -39502,7 +40914,7 @@ in
       sources."asynckit-0.4.0"
       sources."aws-sdk-1.18.0"
       sources."aws-sign2-0.7.0"
-      sources."aws4-1.6.0"
+      sources."aws4-1.7.0"
       sources."bcrypt-pbkdf-1.0.1"
       sources."boom-4.3.1"
       sources."buffer-crc32-0.2.1"
@@ -39589,8 +41001,8 @@ in
       sources."oauth-sign-0.8.2"
       (sources."openid-2.0.6" // {
         dependencies = [
-          sources."qs-6.5.1"
-          sources."request-2.83.0"
+          sources."qs-6.5.2"
+          sources."request-2.85.0"
         ];
       })
       sources."pause-0.0.1"
@@ -39601,11 +41013,11 @@ in
       sources."raw-body-0.0.3"
       sources."readable-stream-1.1.14"
       sources."request-2.9.203"
-      sources."safe-buffer-5.1.1"
+      sources."safe-buffer-5.1.2"
       sources."sax-1.2.4"
       sources."send-0.1.4"
       sources."sntp-2.1.0"
-      sources."sshpk-1.13.1"
+      sources."sshpk-1.14.1"
       sources."stream-counter-0.2.0"
       sources."string-1.6.1"
       sources."string_decoder-0.10.31"
@@ -39646,44 +41058,37 @@ in
   serve = nodeEnv.buildNodePackage {
     name = "serve";
     packageName = "serve";
-    version = "6.5.0";
+    version = "6.5.6";
     src = fetchurl {
-      url = "https://registry.npmjs.org/serve/-/serve-6.5.0.tgz";
-      sha512 = "3jvih9f09fhgz59n8j1nb607wvhwailsnw1x98zqrq8rig5rc2a6dc3v3r2mw4mnvbgg5jnpiss440jfm9gbrymf985hqw1wlngbyf2";
+      url = "https://registry.npmjs.org/serve/-/serve-6.5.6.tgz";
+      sha512 = "1gfw9s3jh8ymzv26733pp33xkvhihlb25w8aznc3yqcx7wg82k7fzz6f3w3aw758dy7cshb89ijliaqcf1p4bgrchfqbxv1613wgmmd";
     };
     dependencies = [
-      (sources."@zeit/check-updates-1.1.0" // {
-        dependencies = [
-          sources."chalk-2.3.0"
-        ];
-      })
-      sources."accepts-1.3.4"
+      sources."accepts-1.3.5"
       sources."address-1.0.3"
       sources."align-text-0.1.4"
       sources."amdefine-1.0.1"
       sources."ansi-align-2.0.0"
       sources."ansi-regex-3.0.0"
-      sources."ansi-styles-3.2.0"
+      sources."ansi-styles-3.2.1"
       sources."arch-2.1.0"
-      (sources."args-3.0.8" // {
+      (sources."args-4.0.0" // {
         dependencies = [
-          sources."chalk-2.1.0"
+          sources."chalk-2.3.2"
         ];
       })
       sources."async-1.5.2"
       sources."basic-auth-2.0.0"
       sources."bluebird-3.5.1"
-      sources."boxen-1.3.0"
-      sources."bytes-3.0.0"
-      sources."camelcase-4.1.0"
-      sources."capture-stack-trace-1.0.0"
-      sources."center-align-0.1.3"
-      (sources."chalk-2.3.1" // {
+      (sources."boxen-1.3.0" // {
         dependencies = [
-          sources."has-flag-3.0.0"
-          sources."supports-color-5.2.0"
+          sources."camelcase-4.1.0"
         ];
       })
+      sources."bytes-3.0.0"
+      sources."camelcase-5.0.0"
+      sources."center-align-0.1.3"
+      sources."chalk-2.4.0"
       sources."cli-boxes-1.0.0"
       (sources."clipboardy-1.2.3" // {
         dependencies = [
@@ -39695,111 +41100,83 @@ in
       sources."color-name-1.1.3"
       sources."compressible-2.0.13"
       sources."compression-1.7.2"
-      sources."configstore-3.1.1"
       sources."content-type-1.0.4"
-      sources."create-error-class-3.0.2"
       sources."cross-spawn-5.1.0"
-      sources."crypto-random-string-1.0.0"
       sources."dargs-5.1.0"
       sources."debug-2.6.9"
       sources."decamelize-1.2.0"
-      sources."deep-extend-0.4.2"
+      sources."deep-extend-0.5.1"
       sources."depd-1.1.1"
       sources."destroy-1.0.4"
-      (sources."detect-port-1.2.2" // {
-        dependencies = [
-          sources."ms-2.0.0"
-        ];
-      })
-      sources."dot-prop-4.2.0"
-      sources."duplexer3-0.1.4"
+      sources."detect-port-1.2.2"
       sources."ee-first-1.1.1"
       sources."encodeurl-1.0.2"
       sources."escape-html-1.0.3"
       sources."escape-string-regexp-1.0.5"
       sources."etag-1.8.1"
       sources."execa-0.7.0"
-      sources."filesize-3.6.0"
+      sources."filesize-3.6.1"
       sources."fresh-0.5.2"
       sources."fs-extra-5.0.0"
       sources."get-stream-3.0.0"
-      sources."global-dirs-0.1.1"
-      sources."got-6.7.1"
       sources."graceful-fs-4.1.11"
       (sources."handlebars-4.0.11" // {
         dependencies = [
           sources."camelcase-1.2.1"
-          sources."minimist-0.0.10"
           sources."wordwrap-0.0.2"
         ];
       })
-      sources."has-flag-2.0.0"
+      sources."has-flag-3.0.0"
       sources."http-errors-1.6.2"
       sources."iconv-lite-0.4.19"
-      sources."import-lazy-2.1.0"
-      sources."imurmurhash-0.1.4"
       sources."inherits-2.0.3"
       sources."ini-1.3.5"
       sources."ip-1.1.5"
       sources."is-buffer-1.1.6"
       sources."is-fullwidth-code-point-2.0.0"
-      sources."is-installed-globally-0.1.0"
-      sources."is-npm-1.0.0"
-      sources."is-obj-1.0.1"
-      sources."is-path-inside-1.0.1"
-      sources."is-redirect-1.0.0"
-      sources."is-retry-allowed-1.1.0"
       sources."is-stream-1.1.0"
       sources."is-wsl-1.1.0"
       sources."isexe-2.0.0"
       sources."jsonfile-4.0.0"
       sources."kind-of-3.2.2"
-      sources."latest-version-3.1.0"
       sources."lazy-cache-1.0.4"
-      sources."lodash-4.17.5"
+      sources."leven-2.1.0"
       sources."longest-1.0.1"
-      sources."lowercase-keys-1.0.0"
-      sources."lru-cache-4.1.1"
-      sources."make-dir-1.2.0"
-      sources."micro-9.1.0"
+      sources."lru-cache-4.1.2"
+      sources."micro-9.1.4"
       sources."micro-compress-1.0.0"
       sources."mime-1.4.1"
       sources."mime-db-1.33.0"
       sources."mime-types-2.1.18"
-      sources."minimist-1.2.0"
+      sources."minimist-0.0.10"
       sources."mri-1.1.0"
-      sources."ms-2.1.1"
+      sources."ms-2.0.0"
       sources."negotiator-0.6.1"
-      sources."node-version-1.1.0"
+      sources."node-version-1.1.3"
       sources."npm-run-path-2.0.2"
       sources."on-finished-2.3.0"
       sources."on-headers-1.0.1"
       sources."openssl-self-signed-certificate-1.1.6"
-      sources."opn-5.2.0"
+      sources."opn-5.3.0"
       sources."optimist-0.6.1"
       sources."p-finally-1.0.0"
-      sources."package-json-4.0.1"
       sources."path-is-inside-1.0.2"
       sources."path-key-2.0.1"
       sources."path-type-3.0.0"
       sources."pify-3.0.0"
-      sources."pkginfo-0.4.1"
-      sources."prepend-http-1.0.4"
       sources."pseudomap-1.0.2"
       sources."range-parser-1.2.0"
       sources."raw-body-2.3.2"
-      sources."rc-1.2.5"
+      sources."rc-1.2.7"
       sources."registry-auth-token-3.3.2"
       sources."registry-url-3.1.0"
       sources."repeat-string-1.6.1"
       sources."right-align-0.1.3"
       sources."safe-buffer-5.1.1"
-      sources."semver-5.5.0"
-      sources."semver-diff-2.1.0"
       (sources."send-0.16.2" // {
         dependencies = [
           sources."depd-1.1.2"
-          sources."ms-2.0.0"
+          sources."statuses-1.4.0"
         ];
       })
       sources."setprototypeof-1.0.3"
@@ -39807,34 +41184,31 @@ in
       sources."shebang-regex-1.0.0"
       sources."signal-exit-3.0.2"
       sources."source-map-0.4.4"
-      sources."statuses-1.4.0"
-      sources."string-similarity-1.2.0"
+      sources."statuses-1.5.0"
       sources."string-width-2.1.1"
       sources."strip-ansi-4.0.0"
       sources."strip-eof-1.0.0"
       sources."strip-json-comments-2.0.1"
-      sources."supports-color-4.5.0"
+      sources."supports-color-5.4.0"
       sources."term-size-1.2.0"
-      sources."timed-out-4.0.1"
       (sources."uglify-js-2.8.29" // {
         dependencies = [
           sources."source-map-0.5.7"
         ];
       })
       sources."uglify-to-browserify-1.0.2"
-      sources."unique-string-1.0.0"
       sources."universalify-0.1.1"
       sources."unpipe-1.0.0"
-      sources."unzip-response-2.0.1"
-      sources."update-notifier-2.3.0"
-      sources."url-parse-lax-1.0.0"
+      (sources."update-check-1.3.2" // {
+        dependencies = [
+          sources."minimist-1.2.0"
+        ];
+      })
       sources."vary-1.1.2"
       sources."which-1.3.0"
       sources."widest-line-2.0.0"
       sources."window-size-0.1.0"
       sources."wordwrap-0.0.3"
-      sources."write-file-atomic-2.3.0"
-      sources."xdg-basedir-3.0.0"
       sources."yallist-2.1.2"
       sources."yargs-3.10.0"
     ];
@@ -39858,7 +41232,7 @@ in
     dependencies = [
       sources."CSSselect-0.4.1"
       sources."CSSwhat-0.4.7"
-      sources."accepts-1.3.4"
+      sources."accepts-1.3.5"
       sources."after-0.8.1"
       sources."ajv-5.5.2"
       sources."array-flatten-1.1.1"
@@ -39867,7 +41241,7 @@ in
       sources."assert-plus-1.0.0"
       sources."asynckit-0.4.0"
       sources."aws-sign2-0.7.0"
-      sources."aws4-1.6.0"
+      sources."aws4-1.7.0"
       sources."base64-arraybuffer-0.1.2"
       sources."base64id-0.1.0"
       sources."bcrypt-nodejs-0.0.3"
@@ -39891,7 +41265,7 @@ in
       })
       sources."co-4.6.0"
       sources."combined-stream-1.0.6"
-      sources."commander-2.14.1"
+      sources."commander-2.15.1"
       sources."component-bind-1.0.0"
       sources."component-emitter-1.1.2"
       sources."component-inherit-0.0.3"
@@ -39930,12 +41304,12 @@ in
       sources."escape-html-1.0.3"
       sources."etag-1.8.1"
       sources."event-stream-3.3.4"
-      sources."express-4.16.2"
+      sources."express-4.16.3"
       sources."extend-3.0.1"
       sources."extsprintf-1.3.0"
       sources."fast-deep-equal-1.1.0"
       sources."fast-json-stable-stringify-2.0.0"
-      sources."finalhandler-1.1.0"
+      sources."finalhandler-1.1.1"
       sources."forever-agent-0.6.1"
       sources."form-data-2.3.2"
       sources."forwarded-0.1.2"
@@ -39954,11 +41328,7 @@ in
           sources."entities-1.0.0"
         ];
       })
-      (sources."http-errors-1.6.2" // {
-        dependencies = [
-          sources."depd-1.1.1"
-        ];
-      })
+      sources."http-errors-1.6.3"
       sources."http-signature-1.2.0"
       sources."iconv-lite-0.4.19"
       sources."indexof-0.0.1"
@@ -40005,13 +41375,18 @@ in
       sources."punycode-1.4.1"
       sources."qs-6.5.1"
       sources."range-parser-1.2.0"
-      sources."raw-body-2.3.2"
+      (sources."raw-body-2.3.2" // {
+        dependencies = [
+          sources."depd-1.1.1"
+          sources."http-errors-1.6.2"
+        ];
+      })
       sources."read-1.0.7"
       sources."readable-stream-1.1.14"
-      sources."request-2.83.0"
+      sources."request-2.85.0"
       sources."safe-buffer-5.1.1"
-      sources."send-0.16.1"
-      sources."serve-static-1.13.1"
+      sources."send-0.16.2"
+      sources."serve-static-1.13.2"
       sources."setprototypeof-1.1.0"
       sources."slate-irc-0.7.3"
       (sources."slate-irc-parser-0.0.2" // {
@@ -40035,8 +41410,8 @@ in
       sources."socket.io-client-1.0.6"
       sources."socket.io-parser-2.2.0"
       sources."split-0.3.3"
-      sources."sshpk-1.13.1"
-      sources."statuses-1.3.1"
+      sources."sshpk-1.14.1"
+      sources."statuses-1.4.0"
       sources."stream-combiner-0.0.4"
       sources."string_decoder-0.10.31"
       sources."stringstream-0.0.5"
@@ -40075,10 +41450,10 @@ in
     };
     dependencies = [
       sources."JSONStream-1.3.2"
-      sources."accepts-1.3.4"
+      sources."accepts-1.3.5"
       sources."ajv-5.5.2"
       sources."amdefine-1.0.1"
-      sources."ansi-styles-3.2.0"
+      sources."ansi-styles-3.2.1"
       sources."argparse-1.0.10"
       sources."array-flatten-2.1.1"
       sources."array-uniq-1.0.3"
@@ -40087,7 +41462,7 @@ in
       sources."async-0.9.2"
       sources."asynckit-0.4.0"
       sources."aws-sign2-0.7.0"
-      sources."aws4-1.6.0"
+      sources."aws4-1.7.0"
       sources."balanced-match-1.0.0"
       sources."bcrypt-pbkdf-1.0.1"
       (sources."body-parser-1.18.2" // {
@@ -40095,7 +41470,12 @@ in
           sources."bytes-3.0.0"
           sources."iconv-lite-0.4.19"
           sources."qs-6.5.1"
-          sources."raw-body-2.3.2"
+          (sources."raw-body-2.3.2" // {
+            dependencies = [
+              sources."depd-1.1.1"
+              sources."http-errors-1.6.2"
+            ];
+          })
         ];
       })
       sources."boom-4.3.1"
@@ -40107,12 +41487,12 @@ in
       })
       sources."bytes-1.0.0"
       sources."caseless-0.12.0"
-      sources."chalk-2.3.1"
+      sources."chalk-2.4.1"
       sources."co-4.6.0"
       sources."color-convert-1.9.1"
       sources."color-name-1.1.3"
       sources."combined-stream-1.0.6"
-      sources."commander-2.14.1"
+      sources."commander-2.15.1"
       sources."compressible-2.0.13"
       (sources."compression-1.7.2" // {
         dependencies = [
@@ -40181,9 +41561,10 @@ in
       sources."highlight.js-8.9.1"
       sources."hoek-4.2.1"
       sources."htmlparser2-3.9.2"
-      (sources."http-errors-1.6.2" // {
+      (sources."http-errors-1.6.3" // {
         dependencies = [
-          sources."depd-1.1.1"
+          sources."setprototypeof-1.1.0"
+          sources."statuses-1.5.0"
         ];
       })
       sources."http-signature-1.2.0"
@@ -40195,7 +41576,7 @@ in
       sources."isarray-1.0.0"
       sources."isstream-0.1.2"
       sources."jju-1.3.0"
-      sources."js-yaml-3.10.0"
+      sources."js-yaml-3.11.0"
       sources."jsbn-0.1.1"
       sources."json-schema-0.2.3"
       sources."json-schema-traverse-0.3.1"
@@ -40222,10 +41603,10 @@ in
       sources."minimatch-1.0.0"
       sources."minimist-0.0.8"
       sources."mkdirp-0.5.1"
-      sources."moment-2.20.1"
+      sources."moment-2.22.1"
       sources."ms-2.0.0"
       sources."mv-2.1.1"
-      sources."nan-2.9.2"
+      sources."nan-2.10.0"
       sources."ncp-2.0.0"
       sources."negotiator-0.6.1"
       sources."number-is-nan-1.0.1"
@@ -40238,7 +41619,7 @@ in
       sources."path-is-absolute-1.0.1"
       sources."path-to-regexp-0.1.7"
       sources."performance-now-2.1.0"
-      sources."postcss-6.0.19"
+      sources."postcss-6.0.22"
       sources."process-nextick-args-2.0.0"
       sources."proxy-addr-1.1.5"
       sources."punycode-1.4.1"
@@ -40253,13 +41634,13 @@ in
       })
       (sources."render-readme-1.3.1" // {
         dependencies = [
-          sources."readable-stream-2.3.4"
+          sources."readable-stream-2.3.6"
           sources."source-map-0.6.1"
         ];
       })
-      (sources."request-2.83.0" // {
+      (sources."request-2.85.0" // {
         dependencies = [
-          sources."qs-6.5.1"
+          sources."qs-6.5.2"
         ];
       })
       sources."rimraf-2.4.5"
@@ -40282,11 +41663,11 @@ in
       sources."source-map-0.1.43"
       sources."sprintf-js-1.0.3"
       sources."srcset-1.0.0"
-      sources."sshpk-1.13.1"
+      sources."sshpk-1.14.1"
       sources."statuses-1.3.1"
-      sources."string_decoder-1.0.3"
+      sources."string_decoder-1.1.1"
       sources."stringstream-0.0.5"
-      sources."supports-color-5.2.0"
+      sources."supports-color-5.4.0"
       sources."through-2.3.8"
       sources."tough-cookie-2.3.4"
       sources."tunnel-agent-0.6.0"
@@ -40337,14 +41718,14 @@ in
       sources."graceful-readlink-1.0.1"
       sources."inherits-2.0.3"
       sources."isarray-1.0.0"
-      sources."lodash-4.17.5"
+      sources."lodash-4.17.10"
       sources."minimatch-3.0.4"
       sources."process-nextick-args-2.0.0"
-      sources."readable-stream-2.3.4"
+      sources."readable-stream-2.3.6"
       sources."readdirp-2.1.0"
-      sources."safe-buffer-5.1.1"
+      sources."safe-buffer-5.1.2"
       sources."set-immediate-shim-1.0.1"
-      sources."string_decoder-1.0.3"
+      sources."string_decoder-1.1.1"
       sources."util-deprecate-1.0.2"
     ];
     buildInputs = globalBuildInputs;
@@ -40386,7 +41767,7 @@ in
       sources."ecc-jsbn-0.1.1"
       sources."escape-regexp-component-1.0.2"
       sources."extsprintf-1.2.0"
-      sources."formidable-1.1.1"
+      sources."formidable-1.2.1"
       sources."glob-6.0.4"
       sources."http-signature-0.11.0"
       sources."inflight-1.0.6"
@@ -40403,7 +41784,7 @@ in
       sources."minimist-0.0.8"
       sources."mkdirp-0.5.1"
       sources."mv-2.1.1"
-      sources."nan-2.9.2"
+      sources."nan-2.10.0"
       sources."ncp-2.0.0"
       sources."negotiator-0.5.3"
       sources."node-uuid-1.4.8"
@@ -40413,7 +41794,7 @@ in
       sources."precond-0.2.3"
       sources."process-nextick-args-2.0.0"
       sources."qs-3.1.0"
-      sources."readable-stream-2.3.4"
+      sources."readable-stream-2.3.6"
       (sources."restify-4.0.3" // {
         dependencies = [
           sources."lru-cache-2.7.3"
@@ -40425,7 +41806,7 @@ in
         ];
       })
       sources."rimraf-2.4.5"
-      sources."safe-buffer-5.1.1"
+      sources."safe-buffer-5.1.2"
       sources."safe-json-stringify-1.1.0"
       sources."semver-4.3.6"
       (sources."smartdc-auth-2.3.1" // {
@@ -40467,7 +41848,7 @@ in
         ];
       })
       sources."stream-transform-0.1.2"
-      sources."string_decoder-1.0.3"
+      sources."string_decoder-1.1.1"
       sources."tunnel-agent-0.4.3"
       sources."tweetnacl-0.14.5"
       sources."util-deprecate-1.0.2"
@@ -40495,13 +41876,13 @@ in
   "socket.io" = nodeEnv.buildNodePackage {
     name = "socket.io";
     packageName = "socket.io";
-    version = "2.0.4";
+    version = "2.1.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/socket.io/-/socket.io-2.0.4.tgz";
-      sha1 = "c1a4590ceff87ecf13c72652f046f716b29e6014";
+      url = "https://registry.npmjs.org/socket.io/-/socket.io-2.1.0.tgz";
+      sha512 = "2wkm6yqxvn8wk51rbakza3zxg3rknzfgmwqrbzvnlacf1yylplsr61i67m01sg8x7589ymj6x3z266ngvqd6qyyakdx4dlnsl4bfbr9";
     };
     dependencies = [
-      sources."accepts-1.3.4"
+      sources."accepts-1.3.5"
       sources."after-0.8.2"
       sources."arraybuffer.slice-0.0.7"
       sources."async-limiter-1.0.0"
@@ -40515,17 +41896,9 @@ in
       sources."component-emitter-1.2.1"
       sources."component-inherit-0.0.3"
       sources."cookie-0.3.1"
-      sources."debug-2.6.9"
-      (sources."engine.io-3.1.5" // {
-        dependencies = [
-          sources."debug-3.1.0"
-        ];
-      })
-      (sources."engine.io-client-3.1.5" // {
-        dependencies = [
-          sources."debug-3.1.0"
-        ];
-      })
+      sources."debug-3.1.0"
+      sources."engine.io-3.2.0"
+      sources."engine.io-client-3.2.1"
       sources."engine.io-parser-2.1.2"
       sources."has-binary2-1.0.2"
       sources."has-cors-1.1.0"
@@ -40538,17 +41911,12 @@ in
       sources."object-component-0.0.3"
       sources."parseqs-0.0.5"
       sources."parseuri-0.0.5"
-      sources."safe-buffer-5.1.1"
+      sources."safe-buffer-5.1.2"
       sources."socket.io-adapter-1.1.1"
-      sources."socket.io-client-2.0.4"
-      (sources."socket.io-parser-3.1.3" // {
-        dependencies = [
-          sources."debug-3.1.0"
-        ];
-      })
+      sources."socket.io-client-2.1.0"
+      sources."socket.io-parser-3.2.0"
       sources."to-array-0.1.4"
       sources."ultron-1.1.1"
-      sources."uws-9.14.0"
       sources."ws-3.3.3"
       sources."xmlhttprequest-ssl-1.5.5"
       sources."yeast-0.1.2"
@@ -40594,7 +41962,7 @@ in
       sources."hashring-3.2.0"
       sources."keypress-0.1.0"
       sources."modern-syslog-1.1.2"
-      sources."nan-2.9.2"
+      sources."nan-2.10.0"
       sources."sequence-2.2.1"
       sources."simple-lru-cache-0.0.2"
       sources."winser-0.1.6"
@@ -40715,7 +42083,7 @@ in
       sources."domelementtype-1.3.0"
       sources."domutils-1.5.1"
       sources."entities-1.1.1"
-      sources."es-abstract-1.10.0"
+      sources."es-abstract-1.11.0"
       sources."es-to-primitive-1.1.1"
       sources."esprima-4.0.0"
       sources."foreach-2.0.5"
@@ -40726,7 +42094,7 @@ in
       sources."is-regex-1.0.4"
       sources."is-symbol-1.0.1"
       sources."js-yaml-3.10.0"
-      sources."mdn-data-1.1.0"
+      sources."mdn-data-1.1.2"
       sources."minimist-0.0.8"
       sources."mkdirp-0.5.1"
       sources."nth-check-1.0.1"
@@ -40737,7 +42105,7 @@ in
       sources."sax-1.2.4"
       sources."source-map-0.5.7"
       sources."sprintf-js-1.0.3"
-      sources."stable-0.1.6"
+      sources."stable-0.1.8"
       sources."unquote-1.1.1"
       sources."util.promisify-1.0.0"
     ];
@@ -40779,10 +42147,10 @@ in
       sources."path-is-absolute-1.0.1"
       sources."process-nextick-args-2.0.0"
       sources."prr-1.0.1"
-      sources."readable-stream-2.3.4"
+      sources."readable-stream-2.3.6"
       sources."resolve-from-2.0.0"
-      sources."safe-buffer-5.1.1"
-      sources."string_decoder-1.0.3"
+      sources."safe-buffer-5.1.2"
+      sources."string_decoder-1.1.1"
       sources."tapable-0.2.8"
       sources."util-deprecate-1.0.2"
       sources."wrappy-1.0.2"
@@ -40799,13 +42167,14 @@ in
   titanium = nodeEnv.buildNodePackage {
     name = "titanium";
     packageName = "titanium";
-    version = "5.0.14";
+    version = "5.1.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/titanium/-/titanium-5.0.14.tgz";
-      sha1 = "140bd332624acae65113a3ffec10b8cbb940ad0b";
+      url = "https://registry.npmjs.org/titanium/-/titanium-5.1.0.tgz";
+      sha1 = "68597b6d324a65c7cf070c40a2a156b219ca06dd";
     };
     dependencies = [
       sources."adm-zip-0.4.7"
+      sources."ajv-4.11.8"
       sources."align-text-0.1.4"
       sources."amdefine-1.0.1"
       sources."ansi-regex-2.1.1"
@@ -40815,17 +42184,18 @@ in
       sources."async-2.1.2"
       sources."asynckit-0.4.0"
       sources."aws-sign2-0.6.0"
-      sources."aws4-1.6.0"
+      sources."aws4-1.7.0"
       sources."bcrypt-pbkdf-1.0.1"
       sources."boom-2.10.1"
       sources."camelcase-1.2.1"
-      sources."caseless-0.11.0"
+      sources."caseless-0.12.0"
       sources."center-align-0.1.3"
       sources."chalk-1.1.3"
       sources."cliui-2.1.0"
+      sources."co-4.6.0"
       sources."colors-1.1.2"
       sources."combined-stream-1.0.6"
-      sources."commander-2.14.1"
+      sources."commander-2.15.1"
       sources."core-util-is-1.0.2"
       sources."cryptiles-2.0.5"
       sources."cycle-1.0.3"
@@ -40850,7 +42220,8 @@ in
       sources."generate-object-property-1.2.0"
       sources."getpass-0.1.7"
       sources."graceful-fs-4.1.11"
-      sources."har-validator-2.0.6"
+      sources."har-schema-1.0.5"
+      sources."har-validator-4.2.1"
       sources."has-ansi-2.0.0"
       sources."hawk-3.1.3"
       sources."hoek-2.16.3"
@@ -40864,8 +42235,10 @@ in
       sources."isstream-0.1.2"
       sources."jsbn-0.1.1"
       sources."json-schema-0.2.3"
+      sources."json-stable-stringify-1.0.1"
       sources."json-stringify-safe-5.0.1"
       sources."jsonfile-2.4.0"
+      sources."jsonify-0.0.0"
       sources."jsonpointer-4.0.1"
       (sources."jsprim-1.4.1" // {
         dependencies = [
@@ -40875,39 +42248,49 @@ in
       sources."keypress-0.2.1"
       sources."kind-of-3.2.2"
       sources."lazy-cache-1.0.4"
-      sources."lodash-4.17.5"
+      sources."lodash-4.17.10"
       sources."longest-1.0.1"
       sources."longjohn-0.2.11"
       sources."mime-db-1.33.0"
       sources."mime-types-2.1.18"
       sources."minimist-0.0.10"
       sources."moment-2.16.0"
-      (sources."node-appc-0.2.41" // {
+      (sources."node-appc-0.2.44" // {
         dependencies = [
-          sources."async-2.1.4"
+          sources."async-2.3.0"
+          sources."fs-extra-2.0.0"
+          sources."request-2.81.0"
           sources."source-map-0.5.7"
           sources."wordwrap-0.0.2"
         ];
       })
-      sources."node-uuid-1.4.7"
       sources."oauth-sign-0.8.2"
       sources."optimist-0.6.1"
       sources."os-tmpdir-1.0.2"
+      sources."performance-now-0.2.0"
       sources."pinkie-2.0.4"
       sources."pinkie-promise-2.0.1"
       sources."pkginfo-0.3.1"
       sources."punycode-1.4.1"
-      sources."qs-6.3.2"
+      sources."qs-6.4.0"
       sources."repeat-string-1.6.1"
-      sources."request-2.79.0"
+      (sources."request-2.79.0" // {
+        dependencies = [
+          sources."caseless-0.11.0"
+          sources."har-validator-2.0.6"
+          sources."qs-6.3.2"
+          sources."tunnel-agent-0.4.3"
+        ];
+      })
       sources."right-align-0.1.3"
       sources."rimraf-2.2.8"
+      sources."safe-buffer-5.1.2"
       sources."semver-5.3.0"
       sources."sntp-1.0.9"
       sources."source-map-0.1.32"
       sources."source-map-support-0.3.2"
       sources."sprintf-0.1.5"
-      (sources."sshpk-1.13.1" // {
+      (sources."sshpk-1.14.1" // {
         dependencies = [
           sources."assert-plus-1.0.0"
         ];
@@ -40918,15 +42301,11 @@ in
       sources."supports-color-2.0.0"
       sources."temp-0.8.3"
       sources."tough-cookie-2.3.4"
-      sources."tunnel-agent-0.4.3"
+      sources."tunnel-agent-0.6.0"
       sources."tweetnacl-0.14.5"
-      (sources."uglify-js-2.7.5" // {
-        dependencies = [
-          sources."async-0.2.10"
-        ];
-      })
+      sources."uglify-js-2.8.21"
       sources."uglify-to-browserify-1.0.2"
-      sources."uuid-3.2.1"
+      sources."uuid-3.0.1"
       sources."verror-1.10.0"
       sources."window-size-0.1.0"
       (sources."winston-1.1.2" // {
@@ -40936,8 +42315,7 @@ in
         ];
       })
       sources."wordwrap-0.0.3"
-      sources."wrench-1.5.9"
-      sources."xmldom-0.1.27"
+      sources."xmldom-0.1.22"
       sources."xtend-4.0.1"
       sources."yargs-3.10.0"
     ];
@@ -40953,10 +42331,10 @@ in
   typescript = nodeEnv.buildNodePackage {
     name = "typescript";
     packageName = "typescript";
-    version = "2.7.2";
+    version = "2.8.3";
     src = fetchurl {
-      url = "https://registry.npmjs.org/typescript/-/typescript-2.7.2.tgz";
-      sha512 = "2gjv6xyp9rqfdfqadayc4b36b79sjdiwsxa38z43v01cdn3xbc06ax90mjv36hxj9j96nfbwr6w1wn7n0zq8f3y3fw4jfy0j1hw5557";
+      url = "https://registry.npmjs.org/typescript/-/typescript-2.8.3.tgz";
+      sha512 = "2vwhgmdrdw42wwaqbmrnz7zy197hrxl6smkmhrb3n93vsjmqg24a4r10czdralib6qpj82bx2gw97r3gxlspj7y54jswigs2vj3bf1b";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -40990,9 +42368,11 @@ in
       sources."bluebird-3.5.1"
       sources."boxen-1.3.0"
       sources."brace-expansion-1.1.11"
+      sources."buffer-from-1.0.0"
       sources."camelcase-4.1.0"
       sources."capture-stack-trace-1.0.0"
       sources."chalk-1.1.3"
+      sources."ci-info-1.1.3"
       sources."cli-boxes-1.0.0"
       sources."cli-cursor-1.0.2"
       (sources."cli-truncate-1.1.0" // {
@@ -41001,20 +42381,20 @@ in
           sources."strip-ansi-4.0.0"
         ];
       })
-      sources."clone-1.0.3"
+      sources."clone-1.0.4"
       sources."color-convert-1.9.1"
       sources."color-name-1.1.3"
       sources."columnify-1.5.4"
       sources."combined-stream-1.0.6"
       sources."concat-map-0.0.1"
-      sources."concat-stream-1.6.0"
-      sources."configstore-3.1.1"
+      sources."concat-stream-1.6.2"
+      sources."configstore-3.1.2"
       sources."core-util-is-1.0.2"
       sources."create-error-class-3.0.2"
       sources."cross-spawn-5.1.0"
       sources."crypto-random-string-1.0.0"
       sources."debug-2.6.9"
-      sources."deep-extend-0.4.2"
+      sources."deep-extend-0.5.1"
       sources."defaults-1.0.3"
       sources."delayed-stream-1.0.0"
       sources."detect-indent-5.0.0"
@@ -41045,9 +42425,10 @@ in
       sources."inflight-1.0.6"
       sources."inherits-2.0.3"
       sources."ini-1.3.5"
-      sources."invariant-2.2.3"
+      sources."invariant-2.2.4"
       sources."is-absolute-0.2.6"
       sources."is-arrayish-0.2.1"
+      sources."is-ci-1.1.0"
       sources."is-fullwidth-code-point-2.0.0"
       sources."is-installed-globally-0.1.0"
       sources."is-npm-1.0.0"
@@ -41067,11 +42448,11 @@ in
       sources."jspm-config-0.3.4"
       sources."latest-version-3.1.0"
       sources."listify-1.0.0"
-      sources."lockfile-1.0.3"
+      sources."lockfile-1.0.4"
       sources."log-update-1.0.2"
       sources."loose-envify-1.3.1"
-      sources."lowercase-keys-1.0.0"
-      sources."lru-cache-4.1.1"
+      sources."lowercase-keys-1.0.1"
+      sources."lru-cache-4.1.2"
       sources."make-dir-1.2.0"
       sources."make-error-1.3.4"
       sources."make-error-cause-1.2.2"
@@ -41103,17 +42484,17 @@ in
       sources."promise-finally-3.0.0"
       sources."pseudomap-1.0.2"
       sources."punycode-1.4.1"
-      (sources."rc-1.2.5" // {
+      (sources."rc-1.2.7" // {
         dependencies = [
           sources."minimist-1.2.0"
         ];
       })
-      sources."readable-stream-2.3.4"
+      sources."readable-stream-2.3.6"
       sources."registry-auth-token-3.3.2"
       sources."registry-url-3.1.0"
       sources."restore-cursor-1.0.1"
       sources."rimraf-2.6.2"
-      sources."safe-buffer-5.1.1"
+      sources."safe-buffer-5.1.2"
       sources."semver-5.0.3"
       sources."semver-diff-2.1.0"
       sources."shebang-command-1.2.0"
@@ -41123,7 +42504,7 @@ in
       sources."sort-keys-1.1.2"
       sources."string-template-1.0.0"
       sources."string-width-2.1.1"
-      sources."string_decoder-1.0.3"
+      sources."string_decoder-1.1.1"
       sources."strip-ansi-3.0.1"
       sources."strip-bom-3.0.0"
       sources."strip-eof-1.0.0"
@@ -41136,7 +42517,7 @@ in
       sources."touch-1.0.0"
       sources."tough-cookie-2.3.4"
       sources."typedarray-0.0.6"
-      sources."typescript-2.7.2"
+      sources."typescript-2.8.3"
       (sources."typings-core-2.3.3" // {
         dependencies = [
           sources."minimist-0.0.8"
@@ -41145,12 +42526,12 @@ in
       sources."unc-path-regex-0.1.2"
       sources."unique-string-1.0.0"
       sources."unzip-response-2.0.1"
-      (sources."update-notifier-2.3.0" // {
+      (sources."update-notifier-2.5.0" // {
         dependencies = [
-          sources."ansi-styles-3.2.0"
-          sources."chalk-2.3.1"
+          sources."ansi-styles-3.2.1"
+          sources."chalk-2.4.1"
           sources."semver-5.5.0"
-          sources."supports-color-5.2.0"
+          sources."supports-color-5.4.0"
         ];
       })
       sources."url-parse-lax-1.0.0"
@@ -41178,19 +42559,19 @@ in
   uglify-js = nodeEnv.buildNodePackage {
     name = "uglify-js";
     packageName = "uglify-js";
-    version = "3.3.12";
+    version = "3.3.23";
     src = fetchurl {
-      url = "https://registry.npmjs.org/uglify-js/-/uglify-js-3.3.12.tgz";
-      sha512 = "166ccv37fz5bsnwpp0n0xqxx63pdg8d4hxhac79k61n47l69mcw7sp5g3c68y98x867da1w1bnv5ryisvsjsj639sbpdl2mg56nng72";
+      url = "https://registry.npmjs.org/uglify-js/-/uglify-js-3.3.23.tgz";
+      sha512 = "2zylyzplicczqknizbm1mp7grxz6bi6vg03rsld8l18b2rahl9y7b1rj2c3sp75afmmyqlgg57v8c0b1adyqm7arzw8kcc3n6l8mkra";
     };
     dependencies = [
-      sources."commander-2.14.1"
+      sources."commander-2.15.1"
       sources."source-map-0.6.1"
     ];
     buildInputs = globalBuildInputs;
     meta = {
       description = "JavaScript parser, mangler/compressor and beautifier toolkit";
-      homepage = http://lisperator.net/uglifyjs;
+      homepage = "https://github.com/mishoo/UglifyJS2#readme";
       license = "BSD-2-Clause";
     };
     production = true;
@@ -41199,14 +42580,14 @@ in
   ungit = nodeEnv.buildNodePackage {
     name = "ungit";
     packageName = "ungit";
-    version = "1.4.10";
+    version = "1.4.22";
     src = fetchurl {
-      url = "https://registry.npmjs.org/ungit/-/ungit-1.4.10.tgz";
-      sha512 = "0l2pf7nl7pkc8kq77agwg5s5c21wd3rl10l42l6xk6s3bkdv8l0vhlrvzampasaraikblyjh0sq81rqym3whn2jfspqhivllpkb8iqp";
+      url = "https://registry.npmjs.org/ungit/-/ungit-1.4.22.tgz";
+      sha512 = "22lf4pk1mn1vn8rgakj6z2dllv4xr7nybymkgrpvkfkglrlh6s9ch5cbbqsdy7mgrhgkmqwrygyb5xypwil4rrfw4a2x1q15jpg229w";
     };
     dependencies = [
       sources."abbrev-1.1.1"
-      sources."accepts-1.3.4"
+      sources."accepts-1.3.5"
       sources."after-0.8.2"
       sources."ajv-5.5.2"
       sources."ansi-regex-2.1.1"
@@ -41216,11 +42597,11 @@ in
       sources."arraybuffer.slice-0.0.7"
       sources."asn1-0.2.3"
       sources."assert-plus-1.0.0"
-      sources."async-2.6.0"
+      sources."async-0.9.2"
       sources."async-limiter-1.0.0"
       sources."asynckit-0.4.0"
       sources."aws-sign2-0.7.0"
-      sources."aws4-1.6.0"
+      sources."aws4-1.7.0"
       sources."backo2-1.0.2"
       sources."balanced-match-1.0.0"
       sources."base64-arraybuffer-0.1.5"
@@ -41230,24 +42611,30 @@ in
       sources."blob-0.0.4"
       sources."bluebird-3.5.1"
       sources."blueimp-md5-2.10.0"
-      sources."body-parser-1.18.2"
+      (sources."body-parser-1.18.2" // {
+        dependencies = [
+          sources."setprototypeof-1.0.3"
+        ];
+      })
       sources."boom-4.3.1"
       sources."brace-expansion-1.1.11"
+      sources."buffer-from-1.0.0"
       sources."builtin-modules-1.1.1"
       sources."builtins-1.0.3"
       sources."bytes-3.0.0"
       sources."callsite-1.0.0"
       sources."camelcase-4.1.0"
       sources."caseless-0.12.0"
-      (sources."cliui-4.0.0" // {
+      sources."charenc-0.0.2"
+      (sources."cliui-4.1.0" // {
         dependencies = [
           sources."ansi-regex-2.1.1"
         ];
       })
-      sources."clone-2.1.1"
+      sources."clone-2.1.2"
       sources."co-4.6.0"
       sources."code-point-at-1.1.0"
-      sources."color-2.0.1"
+      sources."color-3.0.0"
       sources."color-convert-1.9.1"
       sources."color-name-1.1.3"
       sources."color-string-1.5.2"
@@ -41257,7 +42644,7 @@ in
       sources."component-emitter-1.1.2"
       sources."component-inherit-0.0.3"
       sources."concat-map-0.0.1"
-      sources."concat-stream-1.6.0"
+      sources."concat-stream-1.6.2"
       sources."console-control-strings-1.1.0"
       sources."content-disposition-0.5.2"
       sources."content-type-1.0.4"
@@ -41269,6 +42656,7 @@ in
       sources."crc-3.4.4"
       sources."cross-spawn-5.1.0"
       sources."crossroads-0.12.2"
+      sources."crypt-0.0.2"
       (sources."cryptiles-3.1.2" // {
         dependencies = [
           sources."boom-5.2.0"
@@ -41278,42 +42666,33 @@ in
       sources."dashdash-1.14.1"
       sources."debug-2.6.9"
       sources."decamelize-1.2.0"
-      sources."deep-extend-0.4.2"
+      sources."deep-extend-0.5.1"
       sources."delayed-stream-0.0.5"
       sources."delegates-1.0.0"
       sources."depd-1.1.2"
       sources."destroy-1.0.4"
-      sources."diff-3.4.0"
+      sources."diff-3.5.0"
       (sources."diff2html-2.3.3" // {
         dependencies = [
           sources."mkdirp-0.3.0"
         ];
       })
+      sources."dnd-page-scroll-0.0.4"
       sources."eachr-3.2.0"
       sources."ecc-jsbn-0.1.1"
       sources."editions-1.3.4"
       sources."ee-first-1.1.1"
       sources."encodeurl-1.0.2"
-      (sources."engine.io-3.1.5" // {
-        dependencies = [
-          sources."debug-3.1.0"
-        ];
-      })
-      (sources."engine.io-client-3.1.5" // {
-        dependencies = [
-          sources."debug-3.1.0"
-        ];
-      })
+      sources."engine.io-3.2.0"
+      sources."engine.io-client-3.2.1"
       sources."engine.io-parser-2.1.2"
       sources."escape-html-1.0.3"
       sources."etag-1.8.1"
       sources."eve-0.5.4"
       sources."execa-0.7.0"
-      (sources."express-4.16.2" // {
+      (sources."express-4.16.3" // {
         dependencies = [
-          sources."serve-static-1.13.1"
-          sources."setprototypeof-1.1.0"
-          sources."statuses-1.3.1"
+          sources."statuses-1.4.0"
         ];
       })
       sources."express-session-1.15.6"
@@ -41323,7 +42702,7 @@ in
       sources."eyes-0.1.8"
       sources."fast-deep-equal-1.1.0"
       sources."fast-json-stable-stringify-2.0.0"
-      sources."finalhandler-1.1.0"
+      sources."finalhandler-1.1.1"
       sources."find-up-2.1.0"
       sources."forever-agent-0.6.1"
       sources."form-data-0.1.3"
@@ -41334,7 +42713,7 @@ in
       sources."gauge-2.7.4"
       sources."get-caller-file-1.0.2"
       sources."get-stream-3.0.0"
-      sources."getmac-1.2.1"
+      sources."getmac-1.4.1"
       sources."getpass-0.1.7"
       sources."glob-7.1.2"
       sources."graceful-fs-4.1.11"
@@ -41347,15 +42726,11 @@ in
       sources."hawk-6.0.2"
       sources."hoek-4.2.1"
       sources."hogan.js-3.0.2"
-      sources."hosted-git-info-2.5.0"
-      (sources."http-errors-1.6.2" // {
-        dependencies = [
-          sources."depd-1.1.1"
-        ];
-      })
+      sources."hosted-git-info-2.6.0"
+      sources."http-errors-1.6.3"
       sources."http-signature-1.2.0"
       sources."iconv-lite-0.4.19"
-      sources."ignore-3.3.7"
+      sources."ignore-3.3.8"
       sources."indexof-0.0.1"
       sources."inflight-1.0.6"
       sources."inherits-2.0.3"
@@ -41363,6 +42738,7 @@ in
       sources."invert-kv-1.0.0"
       sources."ipaddr.js-1.6.0"
       sources."is-arrayish-0.3.1"
+      sources."is-buffer-1.1.6"
       sources."is-builtin-module-1.0.0"
       sources."is-fullwidth-code-point-1.0.0"
       sources."is-stream-1.1.0"
@@ -41370,6 +42746,8 @@ in
       sources."isarray-0.0.1"
       sources."isexe-2.0.0"
       sources."isstream-0.1.2"
+      sources."jquery-3.3.1"
+      sources."jquery-ui-1.12.1"
       sources."jsbn-0.1.1"
       sources."json-schema-0.2.3"
       sources."json-schema-traverse-0.3.1"
@@ -41378,19 +42756,19 @@ in
       sources."just-detect-adblock-1.0.0"
       (sources."keen.io-0.1.3" // {
         dependencies = [
-          sources."async-0.9.2"
           sources."methods-1.0.1"
           sources."mime-1.2.11"
           sources."qs-1.2.0"
           sources."superagent-0.21.0"
         ];
       })
-      sources."knockout-3.5.0-beta"
+      sources."knockout-3.5.0-rc"
       sources."lcid-1.0.0"
       sources."locate-path-2.0.0"
-      sources."lodash-4.17.5"
-      sources."lru-cache-4.1.1"
-      sources."lsmod-1.0.0"
+      sources."locks-0.2.2"
+      sources."lodash-4.17.10"
+      sources."lru-cache-4.1.2"
+      sources."md5-2.2.1"
       sources."media-typer-0.3.0"
       sources."mem-1.1.0"
       (sources."memorystore-1.6.0" // {
@@ -41407,23 +42785,23 @@ in
       sources."minimatch-3.0.4"
       sources."minimist-0.0.8"
       sources."mkdirp-0.5.1"
-      sources."moment-2.20.1"
+      sources."moment-2.22.1"
       sources."ms-2.0.0"
       sources."negotiator-0.6.1"
-      sources."node-cache-4.1.1"
+      sources."node-cache-4.2.0"
       sources."nopt-1.0.10"
       sources."normalize-package-data-2.4.0"
-      sources."npm-5.6.0"
-      sources."npm-package-arg-5.1.2"
-      (sources."npm-registry-client-8.5.0" // {
+      sources."npm-6.0.0"
+      sources."npm-package-arg-6.1.0"
+      (sources."npm-registry-client-8.5.1" // {
         dependencies = [
           sources."combined-stream-1.0.6"
           sources."delayed-stream-1.0.0"
           sources."extend-3.0.1"
           sources."form-data-2.3.2"
           sources."isarray-1.0.0"
-          sources."readable-stream-2.3.4"
-          sources."string_decoder-1.0.3"
+          sources."readable-stream-2.3.6"
+          sources."string_decoder-1.1.1"
         ];
       })
       sources."npm-run-path-2.0.2"
@@ -41465,34 +42843,35 @@ in
       sources."qs-6.5.1"
       sources."random-bytes-1.0.0"
       sources."range-parser-1.2.0"
-      (sources."raven-2.3.0" // {
+      (sources."raven-2.4.2" // {
         dependencies = [
           sources."uuid-3.0.0"
         ];
       })
-      sources."raw-body-2.3.2"
-      (sources."rc-1.2.5" // {
+      (sources."raw-body-2.3.2" // {
+        dependencies = [
+          sources."depd-1.1.1"
+          sources."http-errors-1.6.2"
+        ];
+      })
+      (sources."rc-1.2.7" // {
         dependencies = [
           sources."minimist-1.2.0"
         ];
       })
       sources."readable-stream-1.0.27-1"
       sources."reduce-component-1.0.1"
-      sources."request-2.83.0"
+      sources."request-2.85.0"
       sources."require-directory-2.1.1"
       sources."require-main-filename-1.0.1"
       sources."retry-0.10.1"
       sources."rimraf-2.6.2"
       sources."safe-buffer-5.1.1"
-      sources."semver-5.4.1"
-      sources."send-0.16.1"
-      (sources."serve-static-1.13.2" // {
-        dependencies = [
-          sources."send-0.16.2"
-        ];
-      })
+      sources."semver-5.5.0"
+      sources."send-0.16.2"
+      sources."serve-static-1.13.2"
       sources."set-blocking-2.0.0"
-      sources."setprototypeof-1.0.3"
+      sources."setprototypeof-1.1.0"
       sources."shebang-command-1.2.0"
       sources."shebang-regex-1.0.0"
       sources."signal-exit-3.0.2"
@@ -41501,34 +42880,31 @@ in
       sources."slide-1.1.6"
       sources."snapsvg-0.5.1"
       sources."sntp-2.1.0"
-      (sources."socket.io-2.0.4" // {
+      (sources."socket.io-2.1.0" // {
         dependencies = [
           sources."component-emitter-1.2.1"
+          sources."debug-3.1.0"
           sources."isarray-2.0.1"
         ];
       })
       sources."socket.io-adapter-1.1.1"
-      sources."socket.io-client-2.0.4"
-      (sources."socket.io-parser-3.1.3" // {
-        dependencies = [
-          sources."debug-3.1.0"
-        ];
-      })
+      sources."socket.io-client-2.1.0"
+      sources."socket.io-parser-3.2.0"
       sources."spdx-correct-3.0.0"
       sources."spdx-exceptions-2.1.0"
       sources."spdx-expression-parse-3.0.0"
       sources."spdx-license-ids-3.0.0"
-      sources."sshpk-1.13.1"
-      sources."ssri-4.1.6"
+      sources."sshpk-1.14.1"
+      sources."ssri-5.3.0"
       sources."stack-trace-0.0.9"
-      sources."statuses-1.4.0"
+      sources."statuses-1.5.0"
       sources."string-width-1.0.2"
       sources."string_decoder-0.10.31"
       sources."stringstream-0.0.5"
       sources."strip-ansi-3.0.1"
       sources."strip-eof-1.0.0"
       sources."strip-json-comments-2.0.1"
-      (sources."superagent-3.8.2" // {
+      (sources."superagent-3.8.3" // {
         dependencies = [
           sources."combined-stream-1.0.6"
           sources."component-emitter-1.2.1"
@@ -41537,10 +42913,10 @@ in
           sources."delayed-stream-1.0.0"
           sources."extend-3.0.1"
           sources."form-data-2.3.2"
-          sources."formidable-1.1.1"
+          sources."formidable-1.2.1"
           sources."isarray-1.0.0"
-          sources."readable-stream-2.3.4"
-          sources."string_decoder-1.0.3"
+          sources."readable-stream-2.3.6"
+          sources."string_decoder-1.1.1"
         ];
       })
       (sources."temp-0.8.3" // {
@@ -41563,16 +42939,15 @@ in
       sources."util-deprecate-1.0.2"
       sources."utils-merge-1.0.1"
       sources."uuid-3.2.1"
-      sources."uws-9.14.0"
       sources."validate-npm-package-license-3.0.3"
       sources."validate-npm-package-name-3.0.0"
       sources."vary-1.1.2"
       sources."verror-1.10.0"
-      sources."whatwg-fetch-2.0.3"
+      sources."whatwg-fetch-2.0.4"
       sources."which-1.3.0"
       sources."which-module-2.0.0"
       sources."wide-align-1.1.2"
-      (sources."winston-2.4.0" // {
+      (sources."winston-2.4.2" // {
         dependencies = [
           sources."async-1.0.0"
         ];
@@ -41588,7 +42963,7 @@ in
       sources."xmlhttprequest-ssl-1.5.5"
       sources."y18n-3.2.1"
       sources."yallist-2.1.2"
-      (sources."yargs-10.1.2" // {
+      (sources."yargs-11.1.0" // {
         dependencies = [
           sources."ansi-regex-3.0.0"
           sources."is-fullwidth-code-point-2.0.0"
@@ -41596,7 +42971,7 @@ in
           sources."strip-ansi-4.0.0"
         ];
       })
-      sources."yargs-parser-8.1.0"
+      sources."yargs-parser-9.0.2"
       sources."yeast-0.1.2"
     ];
     buildInputs = globalBuildInputs;
@@ -41608,6 +42983,313 @@ in
     production = true;
     bypassCache = false;
   };
+  vue-cli = nodeEnv.buildNodePackage {
+    name = "vue-cli";
+    packageName = "vue-cli";
+    version = "2.9.3";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/vue-cli/-/vue-cli-2.9.3.tgz";
+      sha512 = "1wljsr8srayqg7crbbczi00v31q3dxm3vz4fjcdqasdgsm1ajc9gham6sinsxlraniwg4dn5b1kmpw0nln63cy3v02vib07shyvq2ki";
+    };
+    dependencies = [
+      sources."absolute-0.0.1"
+      sources."ajv-5.5.2"
+      sources."align-text-0.1.4"
+      sources."amdefine-1.0.1"
+      sources."ansi-escapes-3.1.0"
+      sources."ansi-red-0.1.1"
+      sources."ansi-regex-3.0.0"
+      sources."ansi-styles-3.2.1"
+      sources."ansi-wrap-0.1.0"
+      sources."argparse-1.0.10"
+      sources."array-differ-1.0.0"
+      sources."array-union-1.0.2"
+      sources."array-uniq-1.0.3"
+      sources."arrify-1.0.1"
+      sources."asn1-0.2.3"
+      sources."assert-plus-1.0.0"
+      sources."async-2.6.0"
+      sources."asynckit-0.4.0"
+      sources."aws-sign2-0.7.0"
+      sources."aws4-1.7.0"
+      sources."balanced-match-1.0.0"
+      sources."base64-js-0.0.8"
+      sources."bcrypt-pbkdf-1.0.1"
+      sources."bl-1.2.2"
+      sources."bluebird-3.5.1"
+      sources."boom-4.3.1"
+      sources."brace-expansion-1.1.11"
+      sources."buffer-3.6.0"
+      sources."buffer-alloc-1.1.0"
+      sources."buffer-alloc-unsafe-0.1.1"
+      sources."buffer-crc32-0.2.13"
+      sources."buffer-fill-0.1.1"
+      sources."builtins-1.0.3"
+      sources."camelcase-1.2.1"
+      sources."capture-stack-trace-1.0.0"
+      sources."caseless-0.12.0"
+      (sources."caw-2.0.1" // {
+        dependencies = [
+          sources."pify-3.0.0"
+        ];
+      })
+      sources."center-align-0.1.3"
+      sources."chalk-2.4.1"
+      sources."chardet-0.4.2"
+      sources."cli-cursor-2.1.0"
+      sources."cli-spinners-1.3.1"
+      sources."cli-width-2.2.0"
+      sources."cliui-2.1.0"
+      sources."clone-1.0.4"
+      sources."co-3.1.0"
+      sources."co-from-stream-0.0.0"
+      sources."co-fs-extra-1.2.1"
+      sources."co-read-0.0.1"
+      sources."coffee-script-1.12.7"
+      sources."color-convert-1.9.1"
+      sources."color-name-1.1.3"
+      sources."combined-stream-1.0.6"
+      sources."commander-2.15.1"
+      sources."concat-map-0.0.1"
+      sources."config-chain-1.1.11"
+      sources."consolidate-0.14.5"
+      sources."core-util-is-1.0.2"
+      sources."create-error-class-3.0.2"
+      (sources."cryptiles-3.1.2" // {
+        dependencies = [
+          sources."boom-5.2.0"
+        ];
+      })
+      sources."dashdash-1.14.1"
+      sources."decamelize-1.2.0"
+      (sources."decompress-4.2.0" // {
+        dependencies = [
+          sources."file-type-3.9.0"
+          sources."get-stream-2.3.1"
+        ];
+      })
+      sources."decompress-tar-4.1.1"
+      sources."decompress-tarbz2-4.1.1"
+      sources."decompress-targz-4.1.1"
+      sources."decompress-unzip-4.0.1"
+      sources."delayed-stream-1.0.0"
+      (sources."download-5.0.3" // {
+        dependencies = [
+          sources."file-type-5.2.0"
+        ];
+      })
+      (sources."download-git-repo-1.0.2" // {
+        dependencies = [
+          sources."commander-2.8.1"
+          sources."file-type-6.2.0"
+        ];
+      })
+      sources."duplexer3-0.1.4"
+      sources."ecc-jsbn-0.1.1"
+      sources."enable-1.3.2"
+      sources."end-of-stream-1.4.1"
+      sources."escape-string-regexp-1.0.5"
+      sources."esprima-4.0.0"
+      sources."extend-3.0.1"
+      sources."extend-shallow-2.0.1"
+      sources."external-editor-2.2.0"
+      sources."extsprintf-1.3.0"
+      sources."fast-deep-equal-1.1.0"
+      sources."fast-json-stable-stringify-2.0.0"
+      sources."fd-slicer-1.0.1"
+      sources."figures-2.0.0"
+      sources."file-type-5.2.0"
+      sources."filename-reserved-regex-2.0.0"
+      sources."filenamify-2.0.0"
+      sources."forever-agent-0.6.1"
+      sources."form-data-2.3.2"
+      sources."fs-constants-1.0.0"
+      sources."fs-extra-0.26.7"
+      sources."fs.realpath-1.0.0"
+      sources."get-proxy-2.1.0"
+      sources."get-stream-3.0.0"
+      sources."getpass-0.1.7"
+      sources."git-clone-0.1.0"
+      sources."glob-7.1.2"
+      sources."got-6.7.1"
+      sources."graceful-fs-4.1.11"
+      sources."graceful-readlink-1.0.1"
+      sources."gray-matter-2.1.1"
+      (sources."handlebars-4.0.11" // {
+        dependencies = [
+          sources."async-1.5.2"
+          sources."wordwrap-0.0.2"
+        ];
+      })
+      sources."har-schema-2.0.0"
+      sources."har-validator-5.0.3"
+      sources."has-ansi-2.0.0"
+      sources."has-flag-3.0.0"
+      sources."has-generators-1.0.1"
+      sources."has-symbol-support-x-1.4.2"
+      sources."has-to-string-tag-x-1.4.1"
+      sources."hawk-6.0.2"
+      sources."hoek-4.2.1"
+      sources."http-signature-1.2.0"
+      sources."iconv-lite-0.4.22"
+      sources."ieee754-1.1.11"
+      sources."inflight-1.0.6"
+      sources."inherits-2.0.3"
+      sources."ini-1.3.5"
+      sources."inquirer-3.3.0"
+      sources."is-3.2.1"
+      sources."is-buffer-1.1.6"
+      sources."is-extendable-0.1.1"
+      sources."is-fullwidth-code-point-2.0.0"
+      sources."is-natural-number-4.0.1"
+      sources."is-object-1.0.1"
+      sources."is-promise-2.1.0"
+      sources."is-redirect-1.0.0"
+      sources."is-retry-allowed-1.1.0"
+      sources."is-stream-1.1.0"
+      sources."is-typedarray-1.0.0"
+      sources."is-utf8-0.2.1"
+      sources."isarray-1.0.0"
+      sources."isstream-0.1.2"
+      sources."isurl-1.0.0"
+      sources."js-yaml-3.11.0"
+      sources."jsbn-0.1.1"
+      sources."json-schema-0.2.3"
+      sources."json-schema-traverse-0.3.1"
+      sources."json-stringify-safe-5.0.1"
+      sources."jsonfile-2.4.0"
+      sources."jsprim-1.4.1"
+      sources."kind-of-3.2.2"
+      sources."klaw-1.3.1"
+      sources."lazy-cache-1.0.4"
+      sources."lodash-4.17.10"
+      sources."log-symbols-2.2.0"
+      sources."longest-1.0.1"
+      sources."lowercase-keys-1.0.1"
+      (sources."make-dir-1.2.0" // {
+        dependencies = [
+          sources."pify-3.0.0"
+        ];
+      })
+      (sources."metalsmith-2.3.0" // {
+        dependencies = [
+          sources."ansi-regex-2.1.1"
+          sources."ansi-styles-2.2.1"
+          sources."chalk-1.1.3"
+          sources."strip-ansi-3.0.1"
+          sources."supports-color-2.0.0"
+        ];
+      })
+      sources."mime-db-1.33.0"
+      sources."mime-types-2.1.18"
+      sources."mimic-fn-1.2.0"
+      sources."minimatch-3.0.4"
+      sources."minimist-0.0.8"
+      sources."mkdirp-0.5.1"
+      sources."multimatch-2.1.0"
+      sources."mute-stream-0.0.7"
+      sources."npm-conf-1.1.3"
+      sources."oauth-sign-0.8.2"
+      sources."object-assign-4.1.1"
+      sources."once-1.4.0"
+      sources."onetime-2.0.1"
+      sources."optimist-0.6.1"
+      sources."ora-1.4.0"
+      sources."os-homedir-1.0.2"
+      sources."os-tmpdir-1.0.2"
+      sources."path-is-absolute-1.0.1"
+      sources."pend-1.2.0"
+      sources."performance-now-2.1.0"
+      sources."pify-2.3.0"
+      sources."pinkie-2.0.4"
+      sources."pinkie-promise-2.0.1"
+      sources."prepend-http-1.0.4"
+      sources."process-nextick-args-2.0.0"
+      sources."proto-list-1.2.4"
+      sources."punycode-1.4.1"
+      sources."qs-6.5.2"
+      sources."read-metadata-1.0.0"
+      sources."readable-stream-2.3.6"
+      sources."recursive-readdir-2.2.2"
+      sources."repeat-string-1.6.1"
+      (sources."request-2.85.0" // {
+        dependencies = [
+          sources."co-4.6.0"
+        ];
+      })
+      sources."restore-cursor-2.0.0"
+      sources."right-align-0.1.3"
+      sources."rimraf-2.6.2"
+      sources."run-async-2.3.0"
+      sources."rx-lite-4.0.8"
+      sources."rx-lite-aggregates-4.0.8"
+      sources."safe-buffer-5.1.2"
+      sources."safer-buffer-2.1.2"
+      sources."seek-bzip-1.0.5"
+      sources."semver-5.5.0"
+      sources."signal-exit-3.0.2"
+      sources."sntp-2.1.0"
+      sources."source-map-0.4.4"
+      sources."sprintf-js-1.0.3"
+      sources."sshpk-1.14.1"
+      sources."stat-mode-0.2.2"
+      sources."string-width-2.1.1"
+      sources."string_decoder-1.1.1"
+      sources."stringstream-0.0.5"
+      sources."strip-ansi-4.0.0"
+      sources."strip-dirs-2.1.0"
+      sources."strip-outer-1.0.1"
+      sources."supports-color-5.4.0"
+      sources."tar-stream-1.6.0"
+      sources."through-2.3.8"
+      sources."thunkify-2.1.2"
+      sources."thunkify-wrap-1.0.4"
+      sources."tildify-1.2.0"
+      sources."timed-out-4.0.1"
+      sources."tmp-0.0.33"
+      sources."to-buffer-1.1.1"
+      sources."toml-2.3.3"
+      sources."tough-cookie-2.3.4"
+      sources."trim-repeated-1.0.0"
+      sources."tunnel-agent-0.6.0"
+      sources."tweetnacl-0.14.5"
+      (sources."uglify-js-2.8.29" // {
+        dependencies = [
+          sources."source-map-0.5.7"
+        ];
+      })
+      sources."uglify-to-browserify-1.0.2"
+      sources."uid-0.0.2"
+      sources."unbzip2-stream-1.2.5"
+      sources."unyield-0.0.1"
+      sources."unzip-response-2.0.1"
+      sources."url-parse-lax-1.0.0"
+      sources."url-to-options-1.0.1"
+      sources."user-home-2.0.0"
+      sources."util-deprecate-1.0.2"
+      sources."uuid-3.2.1"
+      sources."validate-npm-package-name-3.0.0"
+      sources."verror-1.10.0"
+      sources."ware-1.3.0"
+      sources."win-fork-1.1.1"
+      sources."window-size-0.1.0"
+      sources."wordwrap-0.0.3"
+      sources."wrap-fn-0.1.5"
+      sources."wrappy-1.0.2"
+      sources."xtend-4.0.1"
+      sources."yaml-js-0.0.8"
+      sources."yargs-3.10.0"
+      sources."yauzl-2.9.1"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "A simple CLI for scaffolding Vue.js projects.";
+      homepage = "https://github.com/vuejs/vue-cli#readme";
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = false;
+  };
   webdrvr = nodeEnv.buildNodePackage {
     name = "webdrvr";
     packageName = "webdrvr";
@@ -41618,7 +43300,7 @@ in
     };
     dependencies = [
       sources."abbrev-1.1.1"
-      sources."adm-zip-0.4.7"
+      sources."adm-zip-0.4.9"
       sources."ansi-regex-2.1.1"
       sources."ansi-styles-2.2.1"
       sources."asn1-0.2.3"
@@ -41633,7 +43315,7 @@ in
       sources."caseless-0.11.0"
       sources."chalk-1.1.3"
       sources."combined-stream-1.0.6"
-      sources."commander-2.14.1"
+      sources."commander-2.15.1"
       sources."concat-map-0.0.1"
       sources."concat-stream-1.5.0"
       (sources."config-chain-1.1.11" // {
@@ -41691,7 +43373,7 @@ in
       })
       sources."kew-0.1.7"
       sources."klaw-1.3.1"
-      sources."lodash-4.17.5"
+      sources."lodash-4.17.10"
       sources."mime-db-1.33.0"
       sources."mime-types-2.1.18"
       sources."minimatch-3.0.4"
@@ -41724,7 +43406,7 @@ in
       sources."rimraf-2.6.2"
       sources."semver-2.3.2"
       sources."sntp-1.0.9"
-      (sources."sshpk-1.13.1" // {
+      (sources."sshpk-1.14.1" // {
         dependencies = [
           sources."assert-plus-1.0.0"
         ];
@@ -41739,7 +43421,7 @@ in
       sources."tunnel-agent-0.4.3"
       sources."tweetnacl-0.14.5"
       sources."typedarray-0.0.6"
-      sources."underscore-1.8.3"
+      sources."underscore-1.9.0"
       sources."util-deprecate-1.0.2"
       sources."verror-1.10.0"
       sources."which-1.2.14"
@@ -41759,17 +43441,17 @@ in
   webpack = nodeEnv.buildNodePackage {
     name = "webpack";
     packageName = "webpack";
-    version = "4.0.1";
+    version = "4.7.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/webpack/-/webpack-4.0.1.tgz";
-      sha512 = "1hb2dyvj718ijrx00xnd3zbzqll3jqnij5rp5qp4pxx3vl9wxg7jsz8s703h3snxr73yi9a2xpfgwqxs8gcbhl277g5l4lgc8r0sx4c";
+      url = "https://registry.npmjs.org/webpack/-/webpack-4.7.0.tgz";
+      sha512 = "3qmpyw1gbcmwgc42iss0vqam6vgi5kqvzv5s4xba1ww50824vq5yb3p7zbh0is33q76axrkhj4d7p1cigp5w0jnhhd2v3v6ky580wrr";
     };
     dependencies = [
-      sources."acorn-5.5.0"
+      sources."acorn-5.5.3"
       sources."acorn-dynamic-import-3.0.0"
-      sources."ajv-6.2.0"
-      sources."ajv-keywords-3.1.0"
-      sources."anymatch-1.3.2"
+      sources."ajv-6.4.0"
+      sources."ajv-keywords-3.2.0"
+      sources."anymatch-2.0.0"
       sources."aproba-1.2.0"
       sources."arr-diff-4.0.0"
       sources."arr-flatten-1.1.0"
@@ -41778,9 +43460,8 @@ in
       sources."asn1.js-4.10.1"
       sources."assert-1.4.1"
       sources."assign-symbols-1.0.0"
-      sources."async-2.6.0"
       sources."async-each-1.0.1"
-      sources."atob-2.0.3"
+      sources."atob-2.1.1"
       sources."balanced-match-1.0.0"
       (sources."base-0.11.2" // {
         dependencies = [
@@ -41793,33 +43474,35 @@ in
           sources."kind-of-3.2.2"
         ];
       })
-      sources."base64-js-1.2.3"
+      sources."base64-js-1.3.0"
       sources."big.js-3.2.0"
       sources."binary-extensions-1.11.0"
       sources."bluebird-3.5.1"
       sources."bn.js-4.11.8"
       sources."brace-expansion-1.1.11"
-      (sources."braces-2.3.1" // {
+      (sources."braces-2.3.2" // {
         dependencies = [
           sources."define-property-1.0.0"
           sources."extend-shallow-2.0.1"
+          sources."kind-of-3.2.2"
         ];
       })
       sources."brorand-1.1.0"
-      sources."browserify-aes-1.1.1"
-      sources."browserify-cipher-1.0.0"
-      sources."browserify-des-1.0.0"
+      sources."browserify-aes-1.2.0"
+      sources."browserify-cipher-1.0.1"
+      sources."browserify-des-1.0.1"
       sources."browserify-rsa-4.0.1"
       sources."browserify-sign-4.0.4"
       sources."browserify-zlib-0.2.0"
       sources."buffer-4.9.1"
+      sources."buffer-from-1.0.0"
       sources."buffer-xor-1.0.3"
       sources."builtin-status-codes-3.0.0"
       sources."cacache-10.0.4"
       sources."cache-base-1.0.1"
-      sources."chokidar-1.7.0"
+      sources."chokidar-2.0.3"
       sources."chownr-1.0.1"
-      sources."chrome-trace-event-0.1.2"
+      sources."chrome-trace-event-0.1.3"
       sources."cipher-base-1.0.4"
       (sources."class-utils-0.3.6" // {
         dependencies = [
@@ -41831,15 +43514,15 @@ in
       sources."commondir-1.0.1"
       sources."component-emitter-1.2.1"
       sources."concat-map-0.0.1"
-      sources."concat-stream-1.6.0"
+      sources."concat-stream-1.6.2"
       sources."console-browserify-1.1.0"
       sources."constants-browserify-1.0.0"
       sources."copy-concurrently-1.0.5"
       sources."copy-descriptor-0.1.1"
       sources."core-util-is-1.0.2"
-      sources."create-ecdh-4.0.0"
-      sources."create-hash-1.1.3"
-      sources."create-hmac-1.1.6"
+      sources."create-ecdh-4.0.1"
+      sources."create-hash-1.2.0"
+      sources."create-hmac-1.1.7"
       sources."crypto-browserify-3.12.0"
       sources."cyclist-0.2.2"
       sources."date-now-0.1.4"
@@ -41847,9 +43530,9 @@ in
       sources."decode-uri-component-0.2.0"
       sources."define-property-2.0.2"
       sources."des.js-1.0.0"
-      sources."diffie-hellman-5.0.2"
+      sources."diffie-hellman-5.0.3"
       sources."domain-browser-1.2.0"
-      sources."duplexify-3.5.3"
+      sources."duplexify-3.6.0"
       sources."elliptic-6.4.0"
       sources."emojis-list-2.1.0"
       sources."end-of-stream-1.4.1"
@@ -41865,7 +43548,6 @@ in
           sources."define-property-0.2.5"
         ];
       })
-      sources."expand-range-1.8.2"
       sources."extend-shallow-3.0.2"
       (sources."extglob-2.0.4" // {
         dependencies = [
@@ -41877,26 +43559,23 @@ in
       })
       sources."fast-deep-equal-1.1.0"
       sources."fast-json-stable-stringify-2.0.0"
-      sources."filename-regex-2.0.1"
-      (sources."fill-range-4.0.0" // {
-        dependencies = [
-          sources."kind-of-3.2.2"
-        ];
-      })
+      sources."fill-range-4.0.0"
       sources."find-cache-dir-1.0.0"
       sources."find-up-2.1.0"
-      sources."flush-write-stream-1.0.2"
+      sources."flush-write-stream-1.0.3"
       sources."for-in-1.0.2"
-      sources."for-own-0.1.5"
       sources."fragment-cache-0.2.1"
       sources."from2-2.3.0"
       sources."fs-write-stream-atomic-1.0.10"
       sources."fs.realpath-1.0.0"
-      sources."fsevents-1.1.3"
+      sources."fsevents-1.2.3"
       sources."get-value-2.0.6"
       sources."glob-7.1.2"
-      sources."glob-base-0.3.0"
-      sources."glob-parent-2.0.0"
+      (sources."glob-parent-3.1.0" // {
+        dependencies = [
+          sources."is-glob-3.1.0"
+        ];
+      })
       sources."graceful-fs-4.1.11"
       sources."has-value-1.0.0"
       sources."has-values-1.0.0"
@@ -41904,7 +43583,7 @@ in
       sources."hash.js-1.1.3"
       sources."hmac-drbg-1.0.1"
       sources."https-browserify-1.0.0"
-      sources."ieee754-1.1.8"
+      sources."ieee754-1.1.11"
       sources."iferr-0.1.5"
       sources."imurmurhash-0.1.4"
       sources."indexof-0.0.1"
@@ -41915,34 +43594,28 @@ in
       sources."is-buffer-1.1.6"
       sources."is-data-descriptor-1.0.0"
       sources."is-descriptor-1.0.2"
-      sources."is-dotfile-1.0.3"
-      sources."is-equal-shallow-0.1.3"
       sources."is-extendable-0.1.1"
-      sources."is-extglob-1.0.0"
-      sources."is-glob-2.0.1"
+      sources."is-extglob-2.1.1"
+      sources."is-glob-4.0.0"
       sources."is-number-3.0.0"
       sources."is-odd-2.0.0"
       sources."is-plain-object-2.0.4"
-      sources."is-posix-bracket-0.1.1"
-      sources."is-primitive-2.0.0"
       sources."is-windows-1.0.2"
       sources."isarray-1.0.0"
       sources."isobject-3.0.1"
       sources."json-schema-traverse-0.3.1"
       sources."json5-0.5.1"
       sources."kind-of-6.0.2"
-      sources."lazy-cache-2.0.2"
       sources."loader-runner-2.3.0"
       sources."loader-utils-1.1.0"
       sources."locate-path-2.0.0"
-      sources."lodash-4.17.5"
-      sources."lru-cache-4.1.1"
+      sources."lru-cache-4.1.2"
       sources."make-dir-1.2.0"
       sources."map-cache-0.2.2"
       sources."map-visit-1.0.0"
       sources."md5.js-1.3.4"
       sources."memory-fs-0.4.1"
-      (sources."micromatch-3.1.9" // {
+      (sources."micromatch-3.1.10" // {
         dependencies = [
           sources."has-values-0.1.4"
           (sources."is-accessor-descriptor-0.1.6" // {
@@ -41961,7 +43634,7 @@ in
         ];
       })
       sources."miller-rabin-4.0.1"
-      sources."minimalistic-assert-1.0.0"
+      sources."minimalistic-assert-1.0.1"
       sources."minimalistic-crypto-utils-1.0.1"
       sources."minimatch-3.0.4"
       sources."minimist-0.0.8"
@@ -41970,19 +43643,18 @@ in
       sources."mkdirp-0.5.1"
       sources."move-concurrently-1.0.1"
       sources."ms-2.0.0"
-      sources."nan-2.9.2"
+      sources."nan-2.10.0"
       sources."nanomatch-1.2.9"
-      sources."neo-async-2.5.0"
+      sources."neo-async-2.5.1"
       (sources."node-libs-browser-2.1.0" // {
         dependencies = [
-          sources."hash-base-2.0.2"
           sources."inherits-2.0.1"
+          sources."punycode-1.4.1"
         ];
       })
       sources."normalize-path-2.1.1"
       sources."object-copy-0.1.0"
       sources."object-visit-1.0.1"
-      sources."object.omit-2.0.1"
       sources."object.pick-1.3.0"
       sources."once-1.4.0"
       sources."os-browserify-0.3.0"
@@ -41991,42 +43663,31 @@ in
       sources."p-try-1.0.0"
       sources."pako-1.0.6"
       sources."parallel-transform-1.1.0"
-      sources."parse-asn1-5.1.0"
-      sources."parse-glob-3.0.4"
+      sources."parse-asn1-5.1.1"
       sources."pascalcase-0.1.1"
       sources."path-browserify-0.0.0"
+      sources."path-dirname-1.0.2"
       sources."path-exists-3.0.0"
       sources."path-is-absolute-1.0.1"
-      sources."pbkdf2-3.0.14"
+      sources."pbkdf2-3.0.16"
       sources."pify-3.0.0"
       sources."pkg-dir-2.0.0"
       sources."posix-character-classes-0.1.1"
-      sources."preserve-0.2.0"
       sources."process-0.11.10"
       sources."process-nextick-args-2.0.0"
       sources."promise-inflight-1.0.1"
       sources."prr-1.0.1"
       sources."pseudomap-1.0.2"
-      sources."public-encrypt-4.0.0"
+      sources."public-encrypt-4.0.2"
       sources."pump-2.0.1"
-      sources."pumpify-1.4.0"
-      sources."punycode-1.4.1"
+      sources."pumpify-1.5.0"
+      sources."punycode-2.1.0"
       sources."querystring-0.2.0"
       sources."querystring-es3-0.2.1"
-      (sources."randomatic-1.1.7" // {
-        dependencies = [
-          (sources."is-number-3.0.0" // {
-            dependencies = [
-              sources."kind-of-3.2.2"
-            ];
-          })
-        ];
-      })
       sources."randombytes-2.0.6"
       sources."randomfill-1.0.4"
-      sources."readable-stream-2.3.4"
+      sources."readable-stream-2.3.6"
       sources."readdirp-2.1.0"
-      sources."regex-cache-0.4.4"
       sources."regex-not-1.0.2"
       sources."remove-trailing-separator-1.1.0"
       sources."repeat-element-1.1.2"
@@ -42034,18 +43695,17 @@ in
       sources."resolve-url-0.2.1"
       sources."ret-0.1.15"
       sources."rimraf-2.6.2"
-      sources."ripemd160-2.0.1"
+      sources."ripemd160-2.0.2"
       sources."run-queue-1.0.3"
-      sources."safe-buffer-5.1.1"
+      sources."safe-buffer-5.1.2"
       sources."safe-regex-1.1.0"
       sources."schema-utils-0.4.5"
-      sources."serialize-javascript-1.4.0"
-      sources."set-getter-0.1.0"
+      sources."serialize-javascript-1.5.0"
       sources."set-immediate-shim-1.0.1"
       sources."set-value-2.0.0"
       sources."setimmediate-1.0.5"
-      sources."sha.js-2.4.10"
-      (sources."snapdragon-0.8.1" // {
+      sources."sha.js-2.4.11"
+      (sources."snapdragon-0.8.2" // {
         dependencies = [
           (sources."define-property-0.2.5" // {
             dependencies = [
@@ -42078,10 +43738,14 @@ in
       })
       (sources."snapdragon-node-2.1.1" // {
         dependencies = [
+          sources."kind-of-6.0.2"
+        ];
+      })
+      (sources."snapdragon-util-3.0.1" // {
+        dependencies = [
           sources."kind-of-3.2.2"
         ];
       })
-      sources."snapdragon-util-3.0.1"
       sources."source-list-map-2.0.0"
       sources."source-map-0.5.7"
       sources."source-map-resolve-0.5.1"
@@ -42091,16 +43755,16 @@ in
           sources."extend-shallow-3.0.2"
         ];
       })
-      sources."ssri-5.2.4"
+      sources."ssri-5.3.0"
       sources."static-extend-0.1.2"
       sources."stream-browserify-2.0.1"
       sources."stream-each-1.2.2"
-      sources."stream-http-2.8.0"
+      sources."stream-http-2.8.1"
       sources."stream-shift-1.0.0"
-      sources."string_decoder-1.0.3"
+      sources."string_decoder-1.1.1"
       sources."tapable-1.0.0"
       sources."through2-2.0.3"
-      sources."timers-browserify-2.0.6"
+      sources."timers-browserify-2.0.10"
       sources."to-arraybuffer-1.0.1"
       sources."to-object-path-0.3.0"
       sources."to-regex-3.0.2"
@@ -42108,7 +43772,7 @@ in
       sources."tty-browserify-0.0.0"
       sources."typedarray-0.0.6"
       sources."uglify-es-3.3.10"
-      (sources."uglifyjs-webpack-plugin-1.2.2" // {
+      (sources."uglifyjs-webpack-plugin-1.2.5" // {
         dependencies = [
           sources."source-map-0.6.1"
         ];
@@ -42129,40 +43793,29 @@ in
           })
         ];
       })
+      sources."upath-1.0.5"
+      sources."uri-js-3.0.2"
       sources."urix-0.1.0"
       (sources."url-0.11.0" // {
         dependencies = [
           sources."punycode-1.3.2"
         ];
       })
-      sources."use-2.0.2"
-      sources."util-0.10.3"
-      sources."util-deprecate-1.0.2"
-      sources."vm-browserify-0.0.4"
-      (sources."watchpack-1.4.0" // {
+      (sources."use-3.1.0" // {
         dependencies = [
-          sources."arr-diff-2.0.0"
-          sources."array-unique-0.2.1"
-          (sources."braces-1.8.5" // {
-            dependencies = [
-              sources."kind-of-4.0.0"
-            ];
-          })
-          sources."expand-brackets-0.1.5"
-          sources."extglob-0.3.2"
-          sources."fill-range-2.2.3"
-          sources."is-number-2.1.0"
-          sources."isobject-2.1.0"
-          sources."kind-of-3.2.2"
-          sources."micromatch-2.3.11"
+          sources."kind-of-6.0.2"
         ];
       })
+      sources."util-0.10.3"
+      sources."util-deprecate-1.0.2"
+      sources."vm-browserify-0.0.4"
+      sources."watchpack-1.6.0"
       (sources."webpack-sources-1.1.0" // {
         dependencies = [
           sources."source-map-0.6.1"
         ];
       })
-      sources."worker-farm-1.5.4"
+      sources."worker-farm-1.6.0"
       sources."wrappy-1.0.2"
       sources."xtend-4.0.1"
       sources."y18n-4.0.0"
@@ -42177,23 +43830,301 @@ in
     production = true;
     bypassCache = false;
   };
+  webtorrent-cli = nodeEnv.buildNodePackage {
+    name = "webtorrent-cli";
+    packageName = "webtorrent-cli";
+    version = "1.12.1";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/webtorrent-cli/-/webtorrent-cli-1.12.1.tgz";
+      sha512 = "2hnm4r244as9zcld8hf884vwp4iwqvrnjc01c5037bpwa0zzc8y5zss9xc75ffbhw8dp54kbfzvlfwfn6q49hymbnsfj44ckqfalavr";
+    };
+    dependencies = [
+      sources."addr-to-ip-port-1.4.3"
+      (sources."airplay-js-0.3.0" // {
+        dependencies = [
+          sources."semver-5.1.1"
+          sources."xmlbuilder-0.4.3"
+        ];
+      })
+      sources."ansi-regex-2.1.1"
+      sources."aproba-1.2.0"
+      sources."are-we-there-yet-1.1.4"
+      sources."ascli-0.3.0"
+      sources."async-limiter-1.0.0"
+      sources."balanced-match-1.0.0"
+      sources."bencode-2.0.0"
+      sources."binary-search-1.3.3"
+      sources."bindings-1.3.0"
+      sources."bitfield-2.0.0"
+      sources."bittorrent-dht-8.3.0"
+      sources."bittorrent-peerid-1.2.0"
+      sources."bittorrent-protocol-2.4.1"
+      sources."bittorrent-tracker-9.9.1"
+      sources."bl-1.2.2"
+      sources."blob-to-buffer-1.2.7"
+      sources."block-stream2-1.1.0"
+      sources."bn.js-4.11.8"
+      sources."brace-expansion-1.1.11"
+      sources."browserify-package-json-1.0.1"
+      sources."buffer-alloc-1.1.0"
+      sources."buffer-alloc-unsafe-0.1.1"
+      sources."buffer-equals-1.0.4"
+      sources."buffer-fill-0.1.1"
+      sources."buffer-from-1.0.0"
+      sources."buffer-indexof-1.1.1"
+      (sources."bufferutil-3.0.5" // {
+        dependencies = [
+          sources."simple-get-2.8.1"
+        ];
+      })
+      sources."bufferview-1.0.1"
+      sources."bytebuffer-3.5.5"
+      sources."castv2-0.1.9"
+      sources."castv2-client-1.2.0"
+      sources."chownr-1.0.1"
+      (sources."chromecasts-1.9.1" // {
+        dependencies = [
+          sources."mime-1.6.0"
+        ];
+      })
+      sources."chunk-store-stream-2.1.0"
+      sources."clivas-0.2.0"
+      sources."closest-to-2.0.0"
+      sources."code-point-at-1.1.0"
+      sources."colour-0.7.1"
+      sources."compact2string-1.4.0"
+      sources."concat-map-0.0.1"
+      sources."concat-stream-1.6.2"
+      sources."console-control-strings-1.1.0"
+      sources."core-util-is-1.0.2"
+      sources."create-torrent-3.31.0"
+      sources."debug-2.6.9"
+      sources."decompress-response-3.3.0"
+      sources."deep-extend-0.5.1"
+      sources."defined-1.0.0"
+      sources."delegates-1.0.0"
+      sources."detect-libc-1.0.3"
+      (sources."dlnacasts-0.1.0" // {
+        dependencies = [
+          sources."mime-1.6.0"
+        ];
+      })
+      sources."dns-packet-1.3.1"
+      sources."dns-txt-2.0.2"
+      (sources."ecstatic-3.2.0" // {
+        dependencies = [
+          sources."mime-1.6.0"
+        ];
+      })
+      sources."elementtree-0.1.7"
+      sources."end-of-stream-1.4.1"
+      sources."executable-4.1.1"
+      sources."expand-template-1.1.0"
+      sources."filestream-4.1.3"
+      sources."flatten-1.0.2"
+      sources."fs-chunk-store-1.7.0"
+      sources."fs-constants-1.0.0"
+      sources."fs.realpath-1.0.0"
+      sources."gauge-2.7.4"
+      sources."get-browser-rtc-1.0.2"
+      sources."get-stdin-6.0.0"
+      sources."github-from-package-0.0.0"
+      sources."glob-7.1.2"
+      sources."has-unicode-2.0.1"
+      sources."he-1.1.1"
+      sources."immediate-chunk-store-1.0.8"
+      sources."inflight-1.0.6"
+      sources."inherits-2.0.3"
+      sources."ini-1.3.5"
+      sources."ip-1.1.5"
+      sources."ip-set-1.0.1"
+      sources."ipaddr.js-1.7.0"
+      sources."is-ascii-1.0.0"
+      sources."is-file-1.0.0"
+      sources."is-fullwidth-code-point-1.0.0"
+      sources."is-typedarray-1.0.0"
+      sources."isarray-1.0.0"
+      sources."junk-2.1.0"
+      sources."k-bucket-4.0.0"
+      sources."k-rpc-5.0.0"
+      sources."k-rpc-socket-1.8.0"
+      sources."last-one-wins-1.0.4"
+      (sources."load-ip-set-1.3.1" // {
+        dependencies = [
+          sources."simple-get-2.8.1"
+        ];
+      })
+      sources."long-2.4.0"
+      sources."lru-3.1.0"
+      sources."magnet-uri-5.1.7"
+      sources."mdns-js-0.5.0"
+      sources."mdns-js-packet-0.2.0"
+      sources."mediasource-2.2.0"
+      sources."memory-chunk-store-1.3.0"
+      sources."mime-2.3.1"
+      sources."mimic-response-1.0.0"
+      sources."minimatch-3.0.4"
+      sources."minimist-1.2.0"
+      sources."mkdirp-0.5.1"
+      sources."moment-2.22.1"
+      sources."mp4-box-encoding-1.1.4"
+      sources."mp4-stream-2.0.3"
+      sources."ms-2.0.0"
+      (sources."multicast-dns-6.2.3" // {
+        dependencies = [
+          sources."thunky-1.0.2"
+        ];
+      })
+      sources."multistream-2.1.0"
+      sources."nan-2.10.0"
+      sources."netmask-1.0.6"
+      sources."network-address-1.1.2"
+      sources."next-event-1.0.0"
+      sources."node-abi-2.4.1"
+      sources."node-ssdp-2.9.1"
+      sources."nodebmc-0.0.7"
+      sources."noop-logger-0.1.1"
+      sources."npmlog-4.1.2"
+      sources."number-is-nan-1.0.1"
+      sources."object-assign-4.1.1"
+      sources."once-1.4.0"
+      sources."open-0.0.5"
+      sources."optjs-3.2.2"
+      sources."os-homedir-1.0.2"
+      sources."package-json-versionify-1.0.4"
+      (sources."parse-torrent-6.0.0" // {
+        dependencies = [
+          sources."simple-get-3.0.2"
+        ];
+      })
+      sources."path-is-absolute-1.0.1"
+      sources."piece-length-1.0.0"
+      sources."pify-2.3.0"
+      sources."plist-with-patches-0.5.1"
+      sources."prebuild-install-4.0.0"
+      sources."prettier-bytes-1.0.4"
+      sources."process-nextick-args-2.0.0"
+      sources."protobufjs-3.8.2"
+      sources."pump-3.0.0"
+      sources."qap-3.3.1"
+      sources."random-access-file-2.0.1"
+      sources."random-access-storage-1.2.0"
+      sources."random-iterate-1.0.1"
+      sources."randombytes-2.0.6"
+      sources."range-parser-1.2.0"
+      sources."range-slice-stream-1.2.0"
+      sources."rc-1.2.7"
+      sources."readable-stream-2.3.6"
+      sources."record-cache-1.0.2"
+      (sources."render-media-3.0.0" // {
+        dependencies = [
+          sources."pump-1.0.3"
+        ];
+      })
+      sources."rimraf-2.6.2"
+      sources."run-parallel-1.1.9"
+      sources."run-parallel-limit-1.0.5"
+      sources."run-series-1.1.8"
+      sources."rusha-0.8.13"
+      sources."safe-buffer-5.1.2"
+      sources."sax-1.1.4"
+      sources."semver-5.5.0"
+      sources."set-blocking-2.0.0"
+      sources."signal-exit-3.0.2"
+      sources."simple-concat-1.0.0"
+      sources."simple-get-2.8.1"
+      sources."simple-peer-9.1.1"
+      sources."simple-sha1-2.1.0"
+      (sources."simple-websocket-7.0.2" // {
+        dependencies = [
+          sources."ws-4.1.0"
+        ];
+      })
+      sources."speedometer-1.0.0"
+      sources."split-1.0.1"
+      sources."stream-to-blob-1.0.0"
+      sources."stream-to-blob-url-2.1.0"
+      sources."stream-with-known-length-to-buffer-1.0.1"
+      sources."string-width-1.0.2"
+      sources."string2compact-1.2.3"
+      sources."string_decoder-1.1.1"
+      sources."strip-ansi-3.0.1"
+      sources."strip-json-comments-2.0.1"
+      (sources."tar-fs-1.16.2" // {
+        dependencies = [
+          sources."pump-1.0.3"
+        ];
+      })
+      sources."tar-stream-1.6.0"
+      sources."thirty-two-1.0.2"
+      sources."through-2.3.8"
+      sources."thunky-0.1.0"
+      sources."to-arraybuffer-1.0.1"
+      sources."to-buffer-1.1.1"
+      (sources."torrent-discovery-8.4.1" // {
+        dependencies = [
+          sources."minimist-1.2.0"
+          sources."pump-2.0.1"
+        ];
+      })
+      sources."torrent-piece-1.1.1"
+      sources."tunnel-agent-0.6.0"
+      sources."typedarray-0.0.6"
+      sources."typedarray-to-buffer-3.1.5"
+      sources."uint64be-1.0.1"
+      sources."uniq-1.0.1"
+      sources."unordered-array-remove-1.0.2"
+      sources."upnp-device-client-1.0.2"
+      sources."upnp-mediarenderer-client-1.2.4"
+      sources."url-join-2.0.5"
+      sources."ut_metadata-3.2.1"
+      sources."ut_pex-1.2.0"
+      sources."util-deprecate-1.0.2"
+      sources."videostream-2.4.2"
+      sources."vlc-command-1.1.1"
+      (sources."webtorrent-0.99.4" // {
+        dependencies = [
+          sources."debug-3.1.0"
+          sources."minimist-0.0.8"
+          sources."simple-get-3.0.2"
+          sources."thunky-1.0.2"
+        ];
+      })
+      sources."which-pm-runs-1.0.0"
+      sources."wide-align-1.1.2"
+      sources."winreg-1.2.4"
+      sources."wrappy-1.0.2"
+      sources."ws-5.1.1"
+      sources."xml2js-0.4.19"
+      sources."xmlbuilder-9.0.7"
+      sources."xmldom-0.1.27"
+      sources."xtend-4.0.1"
+      sources."zero-fill-2.2.3"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "WebTorrent, the streaming torrent client. For the command line.";
+      homepage = https://webtorrent.io/;
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = false;
+  };
   web-ext = nodeEnv.buildNodePackage {
     name = "web-ext";
     packageName = "web-ext";
-    version = "2.4.0";
+    version = "2.6.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/web-ext/-/web-ext-2.4.0.tgz";
-      sha1 = "4103e737196eb2a9fe83087752357d1dfe618294";
+      url = "https://registry.npmjs.org/web-ext/-/web-ext-2.6.0.tgz";
+      sha1 = "52c074123e6376a4fb673e565c33dd027714e9b0";
     };
     dependencies = [
-      sources."@types/node-9.4.6"
+      sources."@cliqz-oss/firefox-client-0.3.1"
+      sources."@cliqz-oss/node-firefox-connect-1.2.1"
+      sources."@types/node-10.0.4"
       sources."JSONSelect-0.2.1"
-      sources."acorn-5.5.0"
-      (sources."acorn-dynamic-import-2.0.2" // {
-        dependencies = [
-          sources."acorn-4.0.13"
-        ];
-      })
+      sources."abbrev-1.1.1"
+      sources."acorn-5.5.3"
       (sources."acorn-jsx-3.0.1" // {
         dependencies = [
           sources."acorn-3.3.0"
@@ -42202,32 +44133,30 @@ in
       sources."adbkit-2.11.0"
       sources."adbkit-logcat-1.1.0"
       sources."adbkit-monkey-1.0.1"
-      (sources."addons-linter-0.35.0" // {
+      (sources."addons-linter-0.41.0" // {
         dependencies = [
           sources."ajv-keywords-1.5.1"
           sources."ansi-escapes-1.4.0"
           sources."ansi-regex-3.0.0"
-          sources."ansi-styles-3.2.0"
+          sources."ansi-styles-3.2.1"
           sources."async-2.6.0"
-          sources."camelcase-1.2.1"
+          sources."camelcase-2.1.1"
           sources."cli-cursor-1.0.2"
-          (sources."cliui-3.2.0" // {
-            dependencies = [
-              sources."string-width-1.0.2"
-            ];
-          })
+          sources."cliui-4.1.0"
           sources."debug-3.1.0"
           sources."decamelize-1.2.0"
           sources."domelementtype-1.1.3"
+          sources."es6-promise-4.2.4"
           sources."figures-1.7.0"
-          sources."globals-11.3.0"
-          sources."hash-base-2.0.2"
-          sources."inherits-2.0.1"
+          sources."for-in-0.1.8"
+          sources."globals-11.5.0"
+          sources."iconv-lite-0.4.19"
           sources."inquirer-0.12.0"
           sources."is-fullwidth-code-point-1.0.0"
+          sources."isarray-0.0.1"
           sources."mute-stream-0.0.5"
           sources."onetime-1.1.0"
-          sources."parse-json-2.2.0"
+          sources."pify-3.0.0"
           sources."pluralize-1.2.1"
           sources."progress-1.1.8"
           sources."punycode-2.1.0"
@@ -42236,59 +44165,79 @@ in
           sources."rx-lite-3.1.2"
           sources."slice-ansi-0.0.4"
           sources."source-map-0.6.1"
-          sources."source-map-support-0.5.1"
+          sources."source-map-support-0.5.4"
           sources."string-width-1.0.2"
+          sources."string_decoder-0.10.31"
           sources."strip-ansi-4.0.0"
-          sources."supports-color-4.5.0"
+          sources."supports-color-5.4.0"
           sources."table-3.8.3"
+          sources."traverse-0.6.6"
           sources."underscore-1.6.0"
-          sources."wordwrap-0.0.2"
-          (sources."yargs-10.0.3" // {
+          (sources."yargs-11.0.0" // {
             dependencies = [
               sources."camelcase-4.1.0"
               sources."is-fullwidth-code-point-2.0.0"
               sources."string-width-2.1.1"
             ];
           })
-          sources."yargs-parser-8.1.0"
         ];
       })
-      sources."adm-zip-0.4.7"
-      sources."ajv-5.5.2"
-      sources."ajv-keywords-3.1.0"
+      sources."adm-zip-0.4.9"
+      sources."agent-base-4.2.0"
+      sources."ajv-6.3.0"
+      sources."ajv-keywords-2.1.1"
       sources."ajv-merge-patch-3.0.0"
-      sources."align-text-0.1.4"
       sources."anchor-markdown-header-0.5.7"
       sources."ansi-align-2.0.0"
-      sources."ansi-escapes-3.0.0"
+      sources."ansi-escapes-3.1.0"
       sources."ansi-regex-2.1.1"
       sources."ansi-styles-2.2.1"
+      sources."ansicolors-0.3.2"
       sources."any-promise-1.3.0"
-      sources."anymatch-1.3.2"
+      (sources."anymatch-2.0.0" // {
+        dependencies = [
+          (sources."is-accessor-descriptor-0.1.6" // {
+            dependencies = [
+              sources."kind-of-3.2.2"
+            ];
+          })
+          (sources."is-data-descriptor-0.1.4" // {
+            dependencies = [
+              sources."kind-of-3.2.2"
+            ];
+          })
+          sources."is-descriptor-0.1.6"
+          sources."is-extendable-1.0.1"
+        ];
+      })
       sources."archiver-2.1.1"
       sources."archiver-utils-1.3.0"
+      sources."archy-1.0.0"
       sources."argparse-1.0.10"
-      sources."arr-diff-2.0.0"
+      sources."arr-diff-4.0.0"
       sources."arr-flatten-1.1.0"
+      sources."arr-union-3.1.0"
       sources."array-filter-0.0.1"
       sources."array-from-2.1.1"
       sources."array-map-0.0.0"
       sources."array-reduce-0.0.0"
       sources."array-union-1.0.2"
       sources."array-uniq-1.0.3"
-      sources."array-unique-0.2.1"
+      sources."array-unique-0.3.2"
       sources."arrify-1.0.1"
+      sources."asap-2.0.6"
       sources."asn1-0.2.3"
-      sources."asn1.js-4.10.1"
-      sources."assert-1.4.1"
       sources."assert-plus-1.0.0"
+      sources."assign-symbols-1.0.0"
+      sources."ast-types-0.11.3"
       sources."async-0.2.10"
       sources."async-each-1.0.1"
       sources."asynckit-0.4.0"
+      sources."atob-2.1.1"
       sources."aws-sign2-0.7.0"
-      sources."aws4-1.6.0"
+      sources."aws4-1.7.0"
       sources."babel-code-frame-6.26.0"
-      sources."babel-core-6.26.0"
+      sources."babel-core-6.26.3"
       sources."babel-generator-6.26.1"
       sources."babel-helpers-6.24.1"
       sources."babel-messages-6.23.0"
@@ -42308,96 +44257,107 @@ in
       sources."babel-traverse-6.26.0"
       sources."babel-types-6.26.0"
       sources."babylon-6.18.0"
-      sources."bail-1.0.2"
+      sources."bail-1.0.3"
       sources."balanced-match-1.0.0"
-      sources."base64-js-1.2.3"
+      (sources."base-0.11.2" // {
+        dependencies = [
+          (sources."define-property-1.0.0" // {
+            dependencies = [
+              sources."kind-of-6.0.2"
+            ];
+          })
+          sources."kind-of-3.2.2"
+        ];
+      })
+      sources."base64-js-0.0.2"
       sources."base64url-2.0.0"
       sources."bcrypt-pbkdf-1.0.1"
-      sources."big.js-3.2.0"
       sources."binary-extensions-1.11.0"
-      sources."bl-1.2.1"
+      sources."bl-1.2.2"
       sources."bluebird-2.9.34"
-      sources."bn.js-4.11.8"
       sources."boolbase-1.0.0"
       sources."boom-4.3.1"
+      sources."bops-0.1.1"
       sources."boundary-1.0.1"
       sources."boxen-1.3.0"
       sources."brace-expansion-1.1.11"
-      (sources."braces-1.8.5" // {
-        dependencies = [
-          sources."kind-of-4.0.0"
-        ];
-      })
-      sources."brorand-1.1.0"
-      sources."browserify-aes-1.1.1"
-      sources."browserify-cipher-1.0.0"
-      sources."browserify-des-1.0.0"
-      sources."browserify-rsa-4.0.1"
-      sources."browserify-sign-4.0.4"
-      sources."browserify-zlib-0.2.0"
-      sources."buffer-4.9.1"
+      sources."braces-2.3.2"
+      sources."buffer-alloc-1.1.0"
+      sources."buffer-alloc-unsafe-0.1.1"
       sources."buffer-crc32-0.2.13"
       sources."buffer-equal-constant-time-1.0.1"
-      sources."buffer-xor-1.0.3"
+      sources."buffer-fill-0.1.1"
+      sources."buffer-from-1.0.0"
       sources."builtin-modules-1.1.1"
-      sources."builtin-status-codes-3.0.0"
       (sources."bunyan-1.8.12" // {
         dependencies = [
           sources."glob-6.0.4"
           sources."rimraf-2.4.5"
         ];
       })
+      sources."bytes-3.0.0"
+      sources."cache-base-1.0.1"
       sources."caller-path-0.1.0"
       sources."callsites-0.2.0"
       sources."camelcase-4.1.0"
       sources."capture-stack-trace-1.0.0"
       sources."caseless-0.12.0"
-      sources."ccount-1.0.2"
-      sources."center-align-0.1.3"
-      sources."chalk-2.3.0"
-      sources."character-entities-1.2.1"
-      sources."character-entities-html4-1.1.1"
-      sources."character-entities-legacy-1.1.1"
-      sources."character-reference-invalid-1.1.1"
+      sources."ccount-1.0.3"
+      sources."chalk-2.3.2"
+      sources."character-entities-1.2.2"
+      sources."character-entities-html4-1.1.2"
+      sources."character-entities-legacy-1.1.2"
+      sources."character-reference-invalid-1.1.2"
       sources."chardet-0.4.2"
       (sources."cheerio-1.0.0-rc.2" // {
         dependencies = [
           sources."domelementtype-1.3.0"
         ];
       })
-      sources."chokidar-1.7.0"
-      sources."cipher-base-1.0.4"
+      (sources."chokidar-2.0.3" // {
+        dependencies = [
+          sources."is-accessor-descriptor-1.0.0"
+          sources."is-data-descriptor-1.0.0"
+          sources."is-descriptor-1.0.2"
+          sources."is-extendable-0.1.1"
+          sources."kind-of-3.2.2"
+        ];
+      })
       sources."circular-json-0.3.3"
+      (sources."class-utils-0.3.6" // {
+        dependencies = [
+          sources."define-property-0.2.5"
+        ];
+      })
       sources."cli-boxes-1.0.0"
       sources."cli-cursor-2.1.0"
       sources."cli-width-2.2.0"
-      sources."cliui-2.1.0"
-      sources."clone-1.0.3"
+      sources."cliui-3.2.0"
+      sources."clone-1.0.4"
+      sources."clone-deep-0.3.0"
       sources."co-4.6.0"
       sources."code-point-at-1.1.0"
-      sources."collapse-white-space-1.0.3"
+      sources."collapse-white-space-1.0.4"
+      sources."collection-visit-1.0.0"
       sources."color-convert-1.9.1"
       sources."color-name-1.1.3"
       sources."colors-0.5.1"
       sources."columnify-1.5.4"
       sources."combined-stream-1.0.6"
-      sources."commander-2.14.1"
+      sources."commander-2.15.1"
       sources."common-tags-1.7.2"
+      sources."component-emitter-1.2.1"
       sources."compress-commons-1.2.2"
       sources."concat-map-0.0.1"
-      sources."concat-stream-1.6.0"
-      sources."configstore-3.1.1"
-      sources."console-browserify-1.1.0"
-      sources."constants-browserify-1.0.0"
+      sources."concat-stream-1.6.2"
+      sources."configstore-3.1.2"
       sources."convert-source-map-1.5.1"
-      sources."core-js-2.5.3"
+      sources."copy-descriptor-0.1.1"
+      sources."core-js-2.5.5"
       sources."core-util-is-1.0.2"
       sources."crc-3.5.0"
       sources."crc32-stream-2.0.0"
-      sources."create-ecdh-4.0.0"
       sources."create-error-class-3.0.2"
-      sources."create-hash-1.1.3"
-      sources."create-hmac-1.1.6"
       sources."cross-spawn-5.1.0"
       sources."crx-parser-0.1.2"
       (sources."cryptiles-3.1.2" // {
@@ -42405,37 +44365,40 @@ in
           sources."boom-5.2.0"
         ];
       })
-      sources."crypto-browserify-3.12.0"
       sources."crypto-random-string-1.0.0"
       sources."css-select-1.2.0"
       sources."css-what-2.1.0"
       sources."d-1.0.0"
       sources."dashdash-1.14.1"
-      sources."date-now-0.1.4"
+      sources."data-uri-to-buffer-1.2.0"
       sources."debounce-1.1.0"
       sources."debug-2.6.9"
-      sources."decamelize-2.0.0"
+      (sources."decamelize-2.0.0" // {
+        dependencies = [
+          sources."xregexp-4.0.0"
+        ];
+      })
+      sources."decode-uri-component-0.2.0"
       sources."deep-equal-1.0.1"
-      sources."deep-extend-0.4.2"
+      sources."deep-extend-0.5.1"
       sources."deep-is-0.1.3"
       sources."deepcopy-0.6.3"
-      sources."deepmerge-1.5.2"
+      sources."deepmerge-2.1.0"
       sources."defaults-1.0.3"
+      sources."define-property-2.0.2"
+      sources."degenerator-1.0.4"
       sources."del-2.2.2"
       sources."delayed-stream-1.0.0"
-      sources."des.js-1.0.0"
+      sources."depd-1.1.1"
       sources."detect-indent-4.0.0"
-      sources."diffie-hellman-5.0.2"
-      (sources."dispensary-0.12.0" // {
+      (sources."dispensary-0.16.0" // {
         dependencies = [
-          sources."semver-5.4.1"
-          sources."source-map-support-0.5.0"
+          sources."ajv-5.5.2"
         ];
       })
-      sources."doctoc-1.3.0"
+      sources."doctoc-1.3.1"
       sources."doctrine-2.1.0"
       sources."dom-serializer-0.1.0"
-      sources."domain-browser-1.2.0"
       sources."domelementtype-1.3.0"
       sources."domhandler-2.4.1"
       sources."domutils-1.5.1"
@@ -42444,28 +44407,31 @@ in
       sources."duplexer3-0.1.4"
       sources."ecc-jsbn-0.1.1"
       sources."ecdsa-sig-formatter-1.0.9"
-      sources."elliptic-6.4.0"
+      sources."email-validator-2.0.3"
       sources."emoji-regex-6.1.3"
-      sources."emojis-list-2.1.0"
       sources."encoding-0.1.12"
       sources."end-of-stream-1.4.1"
-      sources."enhanced-resolve-3.4.1"
       sources."entities-1.1.1"
-      sources."errno-0.1.7"
       sources."error-ex-1.3.1"
-      sources."es5-ext-0.10.39"
+      sources."es5-ext-0.10.42"
       sources."es6-error-4.1.1"
       sources."es6-iterator-2.0.3"
       sources."es6-map-0.1.5"
-      sources."es6-promise-4.2.4"
-      sources."es6-promisify-5.0.0"
+      sources."es6-promise-2.3.0"
+      (sources."es6-promisify-5.0.0" // {
+        dependencies = [
+          sources."es6-promise-4.2.4"
+        ];
+      })
       sources."es6-set-0.1.5"
       sources."es6-symbol-3.1.1"
       sources."es6-weak-map-2.0.2"
       sources."escape-string-regexp-1.0.5"
+      sources."escodegen-1.9.1"
       sources."escope-3.6.0"
-      (sources."eslint-4.15.0" // {
+      (sources."eslint-4.19.0" // {
         dependencies = [
+          sources."ajv-5.5.2"
           sources."esprima-4.0.0"
         ];
       })
@@ -42492,24 +44458,31 @@ in
       })
       sources."eslint-scope-3.7.1"
       sources."eslint-visitor-keys-1.0.0"
-      sources."espree-3.5.3"
+      sources."espree-3.5.4"
       sources."esprima-3.1.3"
-      sources."esquery-1.0.0"
+      sources."esquery-1.0.1"
       sources."esrecurse-4.2.1"
       sources."estraverse-4.2.0"
       sources."esutils-2.0.2"
       sources."event-emitter-0.3.5"
       sources."event-to-promise-0.8.0"
-      sources."events-1.1.1"
-      sources."evp_bytestokey-1.0.3"
       sources."execa-0.7.0"
       sources."exit-hook-1.1.1"
-      sources."expand-brackets-0.1.5"
-      sources."expand-range-1.8.2"
+      (sources."expand-brackets-2.1.4" // {
+        dependencies = [
+          sources."define-property-0.2.5"
+        ];
+      })
       sources."extend-3.0.1"
-      sources."external-editor-2.1.0"
-      sources."extglob-0.3.2"
-      sources."extract-text-webpack-plugin-3.0.2"
+      sources."extend-shallow-3.0.2"
+      sources."external-editor-2.2.0"
+      (sources."extglob-2.0.4" // {
+        dependencies = [
+          sources."define-property-1.0.0"
+          sources."extend-shallow-2.0.1"
+          sources."kind-of-5.1.0"
+        ];
+      })
       sources."extsprintf-1.3.0"
       sources."fast-deep-equal-1.1.0"
       sources."fast-json-parse-1.0.3"
@@ -42520,10 +44493,9 @@ in
       sources."fd-slicer-1.0.1"
       sources."figures-2.0.0"
       sources."file-entry-cache-2.0.0"
-      sources."filename-regex-2.0.1"
-      sources."fill-range-2.2.3"
+      sources."file-uri-to-path-1.0.0"
+      sources."fill-range-4.0.0"
       sources."find-up-2.1.0"
-      sources."firefox-client-0.3.0"
       (sources."firefox-profile-1.1.0" // {
         dependencies = [
           sources."async-2.5.0"
@@ -42532,14 +44504,21 @@ in
       sources."first-chunk-stream-2.0.0"
       sources."flat-cache-1.3.0"
       sources."flatstr-1.0.5"
-      sources."fluent-0.4.1"
+      sources."fluent-syntax-0.6.6"
       sources."for-in-1.0.2"
-      sources."for-own-0.1.5"
+      sources."for-own-1.0.0"
       sources."forever-agent-0.6.1"
       sources."form-data-2.3.2"
+      sources."fragment-cache-0.2.1"
+      sources."fs-constants-1.0.0"
       sources."fs-extra-4.0.3"
       sources."fs.realpath-1.0.0"
-      sources."fsevents-1.1.3"
+      sources."fsevents-1.2.3"
+      (sources."ftp-0.3.10" // {
+        dependencies = [
+          sources."readable-stream-1.1.14"
+        ];
+      })
       sources."function-bind-1.1.1"
       sources."functional-red-black-tree-1.0.1"
       (sources."fx-runner-1.0.8" // {
@@ -42554,6 +44533,12 @@ in
       sources."generate-object-property-1.2.0"
       sources."get-caller-file-1.0.2"
       sources."get-stream-3.0.0"
+      (sources."get-uri-2.0.1" // {
+        dependencies = [
+          sources."debug-2.6.9"
+        ];
+      })
+      sources."get-value-2.0.6"
       sources."getpass-0.1.7"
       sources."gettext-parser-1.1.0"
       (sources."git-rev-sync-1.9.1" // {
@@ -42562,71 +44547,78 @@ in
         ];
       })
       sources."glob-7.1.2"
-      sources."glob-base-0.3.0"
-      sources."glob-parent-2.0.0"
+      (sources."glob-parent-3.1.0" // {
+        dependencies = [
+          sources."is-glob-3.1.0"
+        ];
+      })
       sources."global-dirs-0.1.1"
       sources."globals-9.18.0"
       sources."globby-5.0.0"
       sources."got-6.7.1"
       sources."graceful-fs-4.1.11"
       sources."graceful-readlink-1.0.1"
+      sources."graphlib-2.1.5"
       sources."growly-1.3.0"
       sources."har-schema-2.0.0"
       sources."har-validator-5.0.3"
       sources."has-1.0.1"
       sources."has-ansi-2.0.0"
       sources."has-color-0.1.7"
-      sources."has-flag-2.0.0"
-      sources."hash-base-3.0.4"
-      sources."hash.js-1.1.3"
+      sources."has-flag-3.0.0"
+      sources."has-value-1.0.0"
+      sources."has-values-1.0.0"
+      sources."hasbin-1.2.3"
       sources."hawk-6.0.2"
-      sources."hmac-drbg-1.0.1"
       sources."hoek-4.2.1"
       sources."home-or-tmp-2.0.0"
-      sources."hosted-git-info-2.5.0"
+      sources."hosted-git-info-2.6.0"
       sources."htmlparser2-3.9.2"
+      sources."http-errors-1.6.2"
+      sources."http-proxy-agent-2.1.0"
       sources."http-signature-1.2.0"
-      sources."https-browserify-1.0.0"
-      sources."iconv-lite-0.4.19"
-      sources."ieee754-1.1.8"
-      sources."ignore-3.3.7"
+      sources."https-proxy-agent-2.2.1"
+      sources."iconv-lite-0.4.22"
+      sources."ignore-3.3.8"
       sources."import-lazy-2.1.0"
       sources."imurmurhash-0.1.4"
-      sources."indexof-0.0.1"
       sources."inflight-1.0.6"
       sources."inherits-2.0.3"
       sources."ini-1.3.5"
       sources."inquirer-3.3.0"
       sources."interpret-1.1.0"
-      sources."invariant-2.2.3"
+      sources."invariant-2.2.4"
       sources."invert-kv-1.0.0"
+      sources."ip-1.1.5"
       sources."is-absolute-0.1.7"
-      sources."is-alphabetical-1.0.1"
-      sources."is-alphanumerical-1.0.1"
+      sources."is-accessor-descriptor-1.0.0"
+      sources."is-alphabetical-1.0.2"
+      sources."is-alphanumerical-1.0.2"
       sources."is-arrayish-0.2.1"
       sources."is-binary-path-1.0.1"
       sources."is-buffer-1.1.6"
       sources."is-builtin-module-1.0.0"
-      sources."is-decimal-1.0.1"
-      sources."is-dotfile-1.0.3"
-      sources."is-equal-shallow-0.1.3"
+      sources."is-data-descriptor-1.0.0"
+      sources."is-decimal-1.0.2"
+      sources."is-descriptor-1.0.2"
       sources."is-extendable-0.1.1"
-      sources."is-extglob-1.0.0"
+      sources."is-extglob-2.1.1"
       sources."is-finite-1.0.2"
       sources."is-fullwidth-code-point-2.0.0"
-      sources."is-glob-2.0.1"
-      sources."is-hexadecimal-1.0.1"
+      sources."is-glob-4.0.0"
+      sources."is-hexadecimal-1.0.2"
       sources."is-installed-globally-0.1.0"
+      sources."is-mergeable-object-1.1.0"
       sources."is-my-ip-valid-1.0.0"
       sources."is-my-json-valid-2.17.2"
       sources."is-npm-1.0.0"
-      sources."is-number-2.1.0"
+      sources."is-number-4.0.0"
       sources."is-obj-1.0.1"
+      sources."is-odd-2.0.0"
       sources."is-path-cwd-1.0.0"
-      sources."is-path-in-cwd-1.0.0"
+      sources."is-path-in-cwd-1.0.1"
       sources."is-path-inside-1.0.1"
-      sources."is-posix-bracket-0.1.1"
-      sources."is-primitive-2.0.0"
+      sources."is-plain-object-2.0.4"
       sources."is-promise-2.1.0"
       sources."is-property-1.0.2"
       sources."is-redirect-1.0.0"
@@ -42636,22 +44628,23 @@ in
       sources."is-stream-1.1.0"
       sources."is-typedarray-1.0.0"
       sources."is-utf8-0.2.1"
+      sources."is-windows-1.0.2"
+      sources."is-wsl-1.1.0"
       sources."isarray-1.0.0"
       sources."isemail-1.2.0"
       sources."isexe-2.0.0"
-      sources."isobject-2.1.0"
+      sources."isobject-3.0.1"
       sources."isstream-0.1.2"
       sources."jed-1.1.1"
       sources."jetpack-id-1.0.0"
       sources."joi-6.10.1"
       sources."js-select-0.6.0"
       sources."js-tokens-3.0.2"
-      sources."js-yaml-3.10.0"
+      sources."js-yaml-3.11.0"
       sources."jsbn-0.1.1"
       sources."jsesc-1.3.0"
-      sources."json-loader-0.5.7"
       sources."json-merge-patch-0.2.3"
-      sources."json-parse-better-errors-1.0.1"
+      sources."json-parse-better-errors-1.0.2"
       sources."json-schema-0.2.3"
       sources."json-schema-traverse-0.3.1"
       sources."json-stable-stringify-1.0.1"
@@ -42668,64 +44661,69 @@ in
       sources."jws-3.1.4"
       sources."kind-of-3.2.2"
       sources."latest-version-3.1.0"
-      sources."lazy-cache-1.0.4"
+      sources."lazy-cache-0.2.7"
       sources."lazystream-1.0.0"
       sources."lcid-1.0.0"
       sources."levn-0.3.0"
-      sources."load-json-file-2.0.0"
-      sources."loader-runner-2.3.0"
-      sources."loader-utils-1.1.0"
+      sources."load-json-file-1.1.0"
       sources."locate-path-2.0.0"
-      sources."lodash-4.17.5"
-      sources."lodash.endswith-4.2.1"
-      sources."lodash.isfunction-3.0.9"
-      sources."lodash.isstring-4.0.1"
+      sources."lodash-4.17.10"
+      sources."lodash.assign-4.2.0"
+      sources."lodash.assignin-4.2.0"
+      sources."lodash.clonedeep-4.5.0"
+      sources."lodash.flatten-4.4.0"
+      sources."lodash.get-4.4.2"
       sources."lodash.once-4.1.1"
+      sources."lodash.set-4.3.2"
       sources."lodash.sortby-4.7.0"
-      sources."lodash.startswith-4.2.1"
-      sources."longest-1.0.1"
       sources."longest-streak-1.0.0"
       sources."loose-envify-1.3.1"
-      sources."lowercase-keys-1.0.0"
-      sources."lru-cache-4.1.1"
+      sources."lowercase-keys-1.0.1"
+      sources."lru-cache-4.1.2"
+      sources."macos-release-1.1.0"
       sources."make-dir-1.2.0"
+      sources."map-cache-0.2.2"
+      sources."map-visit-1.0.0"
       sources."markdown-table-0.4.0"
       sources."markdown-to-ast-3.4.0"
-      sources."md5.js-1.3.4"
       sources."mem-1.1.0"
-      sources."memory-fs-0.4.1"
-      sources."micromatch-2.3.11"
-      sources."miller-rabin-4.0.1"
+      (sources."micromatch-3.1.10" // {
+        dependencies = [
+          sources."is-extendable-0.1.1"
+        ];
+      })
       sources."mime-db-1.33.0"
       sources."mime-types-2.1.18"
       sources."mimic-fn-1.2.0"
-      sources."minimalistic-assert-1.0.0"
-      sources."minimalistic-crypto-utils-1.0.1"
       sources."minimatch-3.0.4"
       sources."minimist-1.2.0"
+      sources."mixin-deep-1.3.1"
+      sources."mixin-object-2.0.1"
       (sources."mkdirp-0.5.1" // {
         dependencies = [
           sources."minimist-0.0.8"
         ];
       })
-      sources."moment-2.20.1"
+      sources."moment-2.22.1"
       sources."ms-2.0.0"
       sources."mute-stream-0.0.7"
       sources."mv-2.1.1"
       sources."mz-2.7.0"
-      sources."nan-2.9.2"
+      sources."nan-2.10.0"
+      sources."nanomatch-1.2.9"
       sources."natural-compare-1.4.0"
       sources."natural-compare-lite-1.4.0"
+      sources."nconf-0.10.0"
       sources."ncp-2.0.0"
-      sources."next-tick-1.0.0"
-      (sources."node-firefox-connect-1.2.0" // {
+      (sources."needle-2.2.1" // {
         dependencies = [
-          sources."es6-promise-2.3.0"
-          sources."traverse-0.4.6"
+          sources."debug-2.6.9"
         ];
       })
-      sources."node-forge-0.7.2"
-      sources."node-libs-browser-2.1.0"
+      sources."neo-async-2.5.1"
+      sources."netmask-1.0.6"
+      sources."next-tick-1.0.0"
+      sources."node-forge-0.7.5"
       sources."node-notifier-5.2.1"
       sources."nomnom-1.8.1"
       sources."normalize-package-data-2.4.0"
@@ -42735,41 +44733,45 @@ in
       sources."number-is-nan-1.0.1"
       sources."oauth-sign-0.8.2"
       sources."object-assign-4.1.1"
-      sources."object.omit-2.0.1"
+      sources."object-copy-0.1.0"
+      sources."object-visit-1.0.1"
+      sources."object.pick-1.3.0"
       sources."once-1.4.0"
       sources."onetime-2.0.1"
       sources."open-0.0.5"
+      sources."opn-5.3.0"
       sources."optionator-0.8.2"
-      sources."os-browserify-0.3.0"
       sources."os-homedir-1.0.2"
       sources."os-locale-2.1.0"
+      sources."os-name-2.0.1"
       sources."os-shim-0.1.3"
       sources."os-tmpdir-1.0.2"
       sources."p-finally-1.0.0"
       sources."p-limit-1.2.0"
       sources."p-locate-2.0.0"
       sources."p-try-1.0.0"
+      sources."pac-proxy-agent-2.0.2"
+      sources."pac-resolver-3.0.0"
       sources."package-json-4.0.1"
       sources."pako-1.0.6"
-      sources."parse-asn1-5.1.0"
-      sources."parse-entities-1.1.1"
-      sources."parse-glob-3.0.4"
+      sources."parse-entities-1.1.2"
       sources."parse-json-4.0.0"
       sources."parse5-3.0.3"
-      sources."path-browserify-0.0.0"
+      sources."pascalcase-0.1.1"
+      sources."path-dirname-1.0.2"
       sources."path-exists-3.0.0"
       sources."path-is-absolute-1.0.1"
       sources."path-is-inside-1.0.2"
       sources."path-key-2.0.1"
       sources."path-parse-1.0.5"
-      sources."path-type-2.0.0"
-      sources."pbkdf2-3.0.14"
+      sources."path-type-1.1.0"
       sources."pend-1.2.0"
       sources."performance-now-2.1.0"
       sources."pify-2.3.0"
       sources."pinkie-2.0.4"
       sources."pinkie-promise-2.0.1"
-      sources."pino-4.10.3"
+      sources."pino-4.14.0"
+      sources."pino-std-serializers-1.2.0"
       sources."pluralize-7.0.0"
       (sources."po2json-0.4.5" // {
         dependencies = [
@@ -42778,48 +44780,38 @@ in
           sources."strip-ansi-0.1.1"
         ];
       })
-      sources."postcss-6.0.14"
+      sources."posix-character-classes-0.1.1"
+      sources."postcss-6.0.19"
       sources."prelude-ls-1.1.2"
       sources."prepend-http-1.0.4"
-      sources."preserve-0.2.0"
       sources."private-0.1.8"
-      (sources."probe-image-size-3.2.0" // {
+      (sources."probe-image-size-4.0.0" // {
         dependencies = [
           sources."debug-2.6.9"
         ];
       })
-      sources."process-0.11.10"
       sources."process-nextick-args-2.0.0"
       sources."progress-2.0.0"
-      sources."prr-1.0.1"
+      sources."promise-7.3.1"
+      sources."proxy-agent-3.0.0"
+      sources."proxy-from-env-1.0.0"
       sources."pseudomap-1.0.2"
-      sources."public-encrypt-4.0.0"
-      sources."pump-2.0.1"
+      sources."pump-3.0.0"
       sources."punycode-1.4.1"
-      sources."qs-6.5.1"
-      sources."querystring-0.2.0"
-      sources."querystring-es3-0.2.1"
+      sources."qs-6.5.2"
       sources."quick-format-unescaped-1.1.2"
-      (sources."randomatic-1.1.7" // {
-        dependencies = [
-          (sources."is-number-3.0.0" // {
-            dependencies = [
-              sources."kind-of-3.2.2"
-            ];
-          })
-        ];
-      })
-      sources."randombytes-2.0.6"
-      sources."randomfill-1.0.4"
-      sources."rc-1.2.5"
-      sources."read-pkg-2.0.0"
-      sources."read-pkg-up-2.0.0"
-      sources."readable-stream-2.3.4"
+      sources."raw-body-2.3.2"
+      sources."rc-1.2.7"
+      sources."read-pkg-1.1.0"
+      sources."read-pkg-up-1.0.1"
+      sources."readable-stream-2.3.6"
       sources."readdirp-2.1.0"
       sources."readline2-1.0.1"
       sources."rechoir-0.6.2"
+      sources."recursive-readdir-2.2.2"
       sources."regenerator-runtime-0.11.1"
-      sources."regex-cache-0.4.4"
+      sources."regex-not-1.0.2"
+      sources."regexpp-1.1.0"
       sources."registry-auth-token-3.3.2"
       sources."registry-url-3.1.0"
       (sources."relaxed-json-1.0.1" // {
@@ -42838,35 +44830,43 @@ in
       sources."repeat-element-1.1.2"
       sources."repeat-string-1.6.1"
       sources."repeating-2.0.1"
-      sources."request-2.83.0"
+      sources."request-2.85.0"
       sources."require-directory-2.1.1"
       sources."require-main-filename-1.0.1"
       sources."require-uncached-1.0.3"
-      sources."resolve-1.5.0"
+      sources."resolve-1.7.1"
       sources."resolve-from-1.0.1"
+      sources."resolve-url-0.2.1"
       sources."restore-cursor-2.0.0"
-      sources."right-align-0.1.3"
+      sources."ret-0.1.15"
       sources."rimraf-2.6.2"
-      sources."ripemd160-2.0.1"
       sources."run-async-2.3.0"
       sources."rx-lite-4.0.8"
       sources."rx-lite-aggregates-4.0.8"
-      sources."safe-buffer-5.1.1"
+      sources."safe-buffer-5.1.2"
       sources."safe-json-stringify-1.1.0"
+      sources."safe-regex-1.1.0"
+      sources."safer-buffer-2.1.2"
       sources."sax-1.2.4"
-      sources."schema-utils-0.3.0"
+      sources."secure-keys-1.0.0"
       sources."semver-5.5.0"
       sources."semver-diff-2.1.0"
       sources."set-blocking-2.0.0"
       sources."set-immediate-shim-1.0.1"
-      sources."setimmediate-1.0.5"
-      sources."sha.js-2.4.10"
+      sources."set-value-2.0.0"
+      sources."setprototypeof-1.0.3"
+      sources."sha.js-2.4.11"
+      (sources."shallow-clone-0.1.2" // {
+        dependencies = [
+          sources."kind-of-2.0.1"
+        ];
+      })
       sources."shebang-command-1.2.0"
       sources."shebang-regex-1.0.0"
       sources."shell-quote-1.6.1"
       sources."shelljs-0.8.1"
       sources."shellwords-0.1.1"
-      (sources."sign-addon-0.2.2" // {
+      (sources."sign-addon-0.3.0" // {
         dependencies = [
           sources."assert-plus-0.2.0"
           sources."aws-sign2-0.6.0"
@@ -42894,25 +44894,92 @@ in
       sources."signal-exit-3.0.2"
       sources."slash-1.0.0"
       sources."slice-ansi-1.0.0"
+      sources."smart-buffer-1.1.15"
+      (sources."snapdragon-0.8.2" // {
+        dependencies = [
+          (sources."define-property-0.2.5" // {
+            dependencies = [
+              sources."kind-of-5.1.0"
+            ];
+          })
+          sources."extend-shallow-2.0.1"
+          sources."kind-of-4.0.0"
+        ];
+      })
+      sources."snapdragon-node-2.1.1"
+      sources."snapdragon-util-3.0.1"
       sources."sntp-2.1.0"
-      sources."source-list-map-2.0.0"
+      (sources."snyk-1.78.1" // {
+        dependencies = [
+          sources."ansi-escapes-3.1.0"
+          sources."ansi-regex-2.1.1"
+          sources."async-1.5.2"
+          sources."chalk-2.4.1"
+          sources."cli-cursor-2.1.0"
+          sources."figures-2.0.0"
+          sources."inquirer-3.3.0"
+          sources."is-fullwidth-code-point-2.0.0"
+          sources."mute-stream-0.0.7"
+          sources."onetime-2.0.1"
+          sources."os-locale-1.4.0"
+          sources."restore-cursor-2.0.0"
+          sources."run-async-2.3.0"
+          sources."rx-lite-4.0.8"
+          sources."string-width-2.1.1"
+          sources."strip-ansi-3.0.1"
+          sources."yargs-3.32.0"
+        ];
+      })
+      (sources."snyk-config-2.1.0" // {
+        dependencies = [
+          sources."is-fullwidth-code-point-1.0.0"
+          sources."string-width-1.0.2"
+        ];
+      })
+      sources."snyk-go-plugin-1.5.0"
+      sources."snyk-gradle-plugin-1.3.0"
+      sources."snyk-module-1.8.2"
+      sources."snyk-mvn-plugin-1.2.0"
+      sources."snyk-nuget-plugin-1.4.0"
+      sources."snyk-php-plugin-1.5.0"
+      sources."snyk-policy-1.12.0"
+      sources."snyk-python-plugin-1.6.0"
+      sources."snyk-resolve-1.0.1"
+      sources."snyk-resolve-deps-3.1.0"
+      (sources."snyk-sbt-plugin-1.3.0" // {
+        dependencies = [
+          sources."debug-2.6.9"
+        ];
+      })
+      sources."snyk-tree-1.0.0"
+      sources."snyk-try-require-1.3.0"
+      sources."socks-1.1.10"
+      sources."socks-proxy-agent-3.0.1"
       sources."source-map-0.5.7"
+      sources."source-map-resolve-0.5.1"
       (sources."source-map-support-0.5.3" // {
         dependencies = [
           sources."source-map-0.6.1"
         ];
       })
+      sources."source-map-url-0.4.0"
       sources."spawn-sync-1.0.15"
       sources."spdx-correct-3.0.0"
       sources."spdx-exceptions-2.1.0"
       sources."spdx-expression-parse-3.0.0"
       sources."spdx-license-ids-3.0.0"
       sources."split-0.3.3"
+      (sources."split-string-3.1.0" // {
+        dependencies = [
+          sources."extend-shallow-3.0.2"
+          sources."is-extendable-1.0.1"
+        ];
+      })
       sources."split2-2.2.0"
       sources."sprintf-js-1.0.3"
-      sources."sshpk-1.13.1"
-      sources."stream-browserify-2.0.1"
-      sources."stream-http-2.8.0"
+      sources."sshpk-1.14.1"
+      sources."static-extend-0.1.2"
+      sources."statuses-1.5.0"
       sources."stream-parser-0.3.1"
       sources."stream-to-array-2.3.0"
       (sources."stream-to-promise-2.2.0" // {
@@ -42922,8 +44989,8 @@ in
         ];
       })
       sources."string-width-2.1.1"
-      sources."string_decoder-1.0.3"
-      sources."stringify-entities-1.3.1"
+      sources."string_decoder-1.1.1"
+      sources."stringify-entities-1.3.2"
       sources."stringstream-0.0.5"
       sources."strip-ansi-3.0.1"
       sources."strip-bom-3.0.0"
@@ -42933,107 +45000,120 @@ in
       sources."strip-json-comments-2.0.1"
       sources."structured-source-3.0.2"
       sources."supports-color-2.0.0"
-      (sources."table-4.0.3" // {
-        dependencies = [
-          sources."ajv-6.2.0"
-        ];
-      })
-      sources."tapable-0.2.8"
-      sources."tar-stream-1.5.5"
+      sources."table-4.0.2"
+      sources."tar-stream-1.6.0"
+      sources."temp-dir-1.0.0"
+      sources."tempfile-2.0.0"
       sources."term-size-1.2.0"
       sources."text-table-0.2.0"
+      sources."then-fs-2.0.0"
       sources."thenify-3.3.0"
       sources."thenify-all-1.6.0"
       sources."through-2.3.8"
       sources."through2-2.0.3"
+      sources."thunkify-2.1.2"
       sources."timed-out-4.0.1"
-      sources."timers-browserify-2.0.6"
       sources."tmp-0.0.33"
-      sources."to-arraybuffer-1.0.1"
+      sources."to-buffer-1.1.1"
       sources."to-fast-properties-1.0.3"
+      sources."to-object-path-0.3.0"
+      sources."to-regex-3.0.2"
+      sources."to-regex-range-2.1.1"
+      sources."to-utf8-0.0.1"
+      sources."toml-2.3.3"
       sources."topo-1.1.0"
       sources."tosource-1.0.0"
       sources."tough-cookie-2.3.4"
       sources."tr46-1.0.1"
-      sources."traverse-0.6.6"
+      sources."traverse-0.4.6"
       sources."trim-0.0.1"
       sources."trim-right-1.0.1"
-      sources."trim-trailing-lines-1.1.0"
-      sources."trough-1.0.1"
-      sources."tty-browserify-0.0.0"
+      sources."trim-trailing-lines-1.1.1"
+      sources."trough-1.0.2"
       sources."tunnel-agent-0.6.0"
       sources."tweetnacl-0.14.5"
       sources."type-check-0.3.2"
       sources."typedarray-0.0.6"
-      sources."uglify-js-2.8.29"
-      sources."uglify-to-browserify-1.0.2"
-      (sources."uglifyjs-webpack-plugin-0.4.6" // {
+      (sources."undefsafe-2.0.2" // {
         dependencies = [
-          sources."yargs-3.10.0"
+          sources."debug-2.6.9"
         ];
       })
       sources."underscore-1.8.3"
-      sources."unherit-1.1.0"
+      sources."unherit-1.1.1"
       sources."unified-4.2.1"
+      (sources."union-value-1.0.0" // {
+        dependencies = [
+          sources."set-value-0.4.3"
+        ];
+      })
       sources."unique-string-1.0.0"
-      sources."unist-util-is-2.1.1"
-      sources."unist-util-remove-position-1.1.1"
-      sources."unist-util-visit-1.3.0"
+      sources."unist-util-is-2.1.2"
+      sources."unist-util-remove-position-1.1.2"
+      sources."unist-util-visit-1.3.1"
       sources."universalify-0.1.1"
-      sources."unzip-response-2.0.1"
-      sources."upath-1.0.2"
-      (sources."update-notifier-2.3.0" // {
+      sources."unpipe-1.0.0"
+      (sources."unset-value-1.0.0" // {
         dependencies = [
-          sources."pify-3.0.0"
+          (sources."has-value-0.3.1" // {
+            dependencies = [
+              sources."isobject-2.1.0"
+            ];
+          })
         ];
       })
+      sources."unzip-response-2.0.1"
+      sources."upath-1.0.4"
+      sources."update-notifier-2.3.0"
       sources."update-section-0.3.3"
-      (sources."url-0.11.0" // {
+      sources."urix-0.1.0"
+      sources."url-parse-lax-1.0.0"
+      (sources."use-3.1.0" // {
         dependencies = [
-          sources."punycode-1.3.2"
+          sources."kind-of-6.0.2"
         ];
       })
-      sources."url-parse-lax-1.0.0"
       sources."user-home-2.0.0"
-      sources."util-0.10.3"
       sources."util-deprecate-1.0.2"
       sources."uuid-3.2.1"
       sources."validate-npm-package-license-3.0.3"
       sources."verror-1.10.0"
       sources."vfile-1.4.0"
-      sources."vfile-location-2.0.2"
-      sources."vm-browserify-0.0.4"
-      (sources."watchpack-1.4.0" // {
+      sources."vfile-location-2.0.3"
+      (sources."watchpack-1.5.0" // {
         dependencies = [
-          sources."async-2.6.0"
-        ];
-      })
-      sources."wcwidth-1.0.1"
-      sources."webidl-conversions-4.0.2"
-      (sources."webpack-3.10.0" // {
-        dependencies = [
-          sources."ajv-keywords-2.1.1"
-          sources."ansi-regex-2.1.1"
-          sources."camelcase-4.1.0"
-          sources."is-fullwidth-code-point-2.0.0"
-          sources."source-map-0.5.7"
-          sources."string-width-2.1.1"
-          sources."strip-ansi-3.0.1"
-          (sources."yargs-8.0.2" // {
+          sources."define-property-1.0.0"
+          sources."extend-shallow-2.0.1"
+          sources."has-values-0.1.4"
+          (sources."is-accessor-descriptor-0.1.6" // {
             dependencies = [
-              sources."ansi-regex-3.0.0"
-              sources."strip-ansi-4.0.0"
+              sources."kind-of-3.2.2"
+            ];
+          })
+          (sources."is-data-descriptor-0.1.4" // {
+            dependencies = [
+              sources."kind-of-3.2.2"
             ];
           })
+          sources."is-descriptor-0.1.6"
+          sources."is-extendable-1.0.1"
+          (sources."is-number-3.0.0" // {
+            dependencies = [
+              sources."kind-of-3.2.2"
+            ];
+          })
+          sources."kind-of-6.0.2"
         ];
       })
-      sources."webpack-sources-1.1.0"
+      sources."wcwidth-1.0.1"
+      sources."webidl-conversions-4.0.2"
       sources."whatwg-url-6.3.0"
       sources."when-3.7.7"
       sources."which-1.3.0"
       sources."which-module-2.0.0"
       sources."widest-line-2.0.0"
-      sources."window-size-0.1.0"
+      sources."win-release-1.1.1"
+      sources."window-size-0.1.4"
       sources."winreg-0.0.12"
       sources."wordwrap-1.0.0"
       sources."wrap-ansi-2.1.0"
@@ -43044,32 +45124,28 @@ in
       sources."xml2js-0.4.19"
       sources."xmlbuilder-9.0.7"
       sources."xmldom-0.1.27"
-      sources."xregexp-4.0.0"
+      sources."xregexp-2.0.0"
       sources."xtend-4.0.1"
       sources."y18n-3.2.1"
       sources."yallist-2.1.2"
       (sources."yargs-6.6.0" // {
         dependencies = [
           sources."camelcase-3.0.0"
-          sources."cliui-3.2.0"
           sources."decamelize-1.2.0"
           sources."find-up-1.1.2"
           sources."is-fullwidth-code-point-1.0.0"
-          sources."load-json-file-1.1.0"
           sources."os-locale-1.4.0"
           sources."parse-json-2.2.0"
           sources."path-exists-2.1.0"
-          sources."path-type-1.1.0"
-          sources."read-pkg-1.1.0"
-          sources."read-pkg-up-1.0.1"
           sources."string-width-1.0.2"
           sources."strip-bom-2.0.0"
           sources."which-module-1.0.0"
           sources."yargs-parser-4.2.1"
         ];
       })
-      sources."yargs-parser-7.0.0"
+      sources."yargs-parser-9.0.2"
       sources."yauzl-2.9.1"
+      sources."zip-1.2.0"
       (sources."zip-dir-1.0.2" // {
         dependencies = [
           sources."async-1.5.2"
@@ -43106,10 +45182,10 @@ in
   yarn = nodeEnv.buildNodePackage {
     name = "yarn";
     packageName = "yarn";
-    version = "1.5.1";
+    version = "1.6.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/yarn/-/yarn-1.5.1.tgz";
-      sha1 = "e8680360e832ac89521eb80dad3a7bc27a40bab4";
+      url = "https://registry.npmjs.org/yarn/-/yarn-1.6.0.tgz";
+      sha1 = "9cec6f7986dc237d39ec705ce74d95155fe55d4b";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -43123,10 +45199,10 @@ in
   yo = nodeEnv.buildNodePackage {
     name = "yo";
     packageName = "yo";
-    version = "2.0.1";
+    version = "2.0.2";
     src = fetchurl {
-      url = "https://registry.npmjs.org/yo/-/yo-2.0.1.tgz";
-      sha512 = "390n0gdbxr25mr804mrwfqw6r6srk4q9spnsnnlfvlsfvr6dwd93nrgh0l2sr76a9jdw2jiycwc0241h6zch6hi0jlhg3w8hk6i4hyy";
+      url = "https://registry.npmjs.org/yo/-/yo-2.0.2.tgz";
+      sha512 = "13z42dkmgbs67a3i6wfzf1h3lp54r6xj9p063kyx2nq0v132lqnkss2srl2kayfljcdprr7pw7dfm6h08kqnkhzrlzi1ls7h7cz2qgy";
     };
     dependencies = [
       sources."@sindresorhus/is-0.7.0"
@@ -43134,7 +45210,7 @@ in
       sources."ajv-5.5.2"
       sources."ansi-0.3.1"
       sources."ansi-align-2.0.0"
-      sources."ansi-escapes-3.0.0"
+      sources."ansi-escapes-3.1.0"
       sources."ansi-regex-2.1.1"
       sources."ansi-styles-2.2.1"
       sources."are-we-there-yet-1.1.4"
@@ -43147,7 +45223,7 @@ in
       sources."async-2.6.0"
       sources."asynckit-0.4.0"
       sources."aws-sign2-0.7.0"
-      sources."aws4-1.6.0"
+      sources."aws4-1.7.0"
       sources."balanced-match-1.0.0"
       sources."bcrypt-pbkdf-1.0.1"
       sources."bin-version-1.0.4"
@@ -43159,21 +45235,27 @@ in
       sources."boom-4.3.1"
       sources."boxen-1.3.0"
       sources."brace-expansion-1.1.11"
+      sources."buffer-from-1.0.0"
       sources."builtin-modules-1.1.1"
-      sources."cacheable-request-2.1.4"
+      (sources."cacheable-request-2.1.4" // {
+        dependencies = [
+          sources."lowercase-keys-1.0.0"
+        ];
+      })
       sources."camelcase-2.1.1"
       sources."camelcase-keys-2.1.0"
       sources."capture-stack-trace-1.0.0"
       sources."caseless-0.12.0"
       sources."chalk-1.1.3"
       sources."chardet-0.4.2"
+      sources."ci-info-1.1.3"
       sources."clean-stack-1.3.0"
       sources."cli-boxes-1.0.0"
       sources."cli-cursor-2.1.0"
       sources."cli-list-0.2.0"
       sources."cli-width-2.2.0"
-      sources."clone-1.0.3"
-      sources."clone-regexp-1.0.0"
+      sources."clone-1.0.4"
+      sources."clone-regexp-1.0.1"
       sources."clone-response-1.0.2"
       sources."clone-stats-0.0.1"
       sources."co-4.6.0"
@@ -43182,8 +45264,8 @@ in
       sources."color-name-1.1.3"
       sources."combined-stream-1.0.6"
       sources."concat-map-0.0.1"
-      sources."concat-stream-1.6.0"
-      sources."configstore-3.1.1"
+      sources."concat-stream-1.6.2"
+      sources."configstore-3.1.2"
       sources."core-util-is-1.0.2"
       sources."create-error-class-3.0.2"
       sources."cross-spawn-5.1.0"
@@ -43200,11 +45282,11 @@ in
       sources."decamelize-1.2.0"
       sources."decode-uri-component-0.2.0"
       sources."decompress-response-3.3.0"
-      sources."deep-extend-0.4.2"
+      sources."deep-extend-0.5.1"
       sources."default-uid-1.0.0"
       sources."delayed-stream-1.0.0"
       sources."delegates-1.0.0"
-      sources."diff-3.4.0"
+      sources."diff-3.5.0"
       sources."dot-prop-4.2.0"
       sources."downgrade-root-1.2.2"
       sources."duplexer3-0.1.4"
@@ -43216,7 +45298,7 @@ in
       sources."execall-1.0.0"
       sources."exit-hook-1.1.1"
       sources."extend-3.0.1"
-      sources."external-editor-2.1.0"
+      sources."external-editor-2.2.0"
       sources."extsprintf-1.3.0"
       sources."fast-deep-equal-1.1.0"
       sources."fast-json-stable-stringify-2.0.0"
@@ -43243,8 +45325,9 @@ in
       sources."getpass-0.1.7"
       sources."glob-7.1.2"
       sources."global-dirs-0.1.1"
+      sources."global-tunnel-ng-2.1.1"
       sources."globby-6.1.0"
-      sources."got-8.2.0"
+      sources."got-8.3.1"
       sources."graceful-fs-4.1.11"
       sources."grouped-queue-0.3.3"
       sources."har-schema-2.0.0"
@@ -43256,11 +45339,11 @@ in
       sources."has-unicode-2.0.1"
       sources."hawk-6.0.2"
       sources."hoek-4.2.1"
-      sources."hosted-git-info-2.5.0"
+      sources."hosted-git-info-2.6.0"
       sources."http-cache-semantics-3.8.1"
       sources."http-signature-1.2.0"
-      sources."humanize-string-1.0.1"
-      sources."iconv-lite-0.4.19"
+      sources."humanize-string-1.0.2"
+      sources."iconv-lite-0.4.22"
       sources."import-lazy-2.1.0"
       sources."imurmurhash-0.1.4"
       sources."indent-string-3.2.0"
@@ -43270,10 +45353,10 @@ in
       (sources."inquirer-3.3.0" // {
         dependencies = [
           sources."ansi-regex-3.0.0"
-          sources."ansi-styles-3.2.0"
-          sources."chalk-2.3.1"
+          sources."ansi-styles-3.2.1"
+          sources."chalk-2.4.1"
           sources."strip-ansi-4.0.0"
-          sources."supports-color-5.2.0"
+          sources."supports-color-5.4.0"
         ];
       })
       (sources."insight-0.8.4" // {
@@ -43304,6 +45387,7 @@ in
       sources."into-stream-3.1.0"
       sources."is-arrayish-0.2.1"
       sources."is-builtin-module-1.0.0"
+      sources."is-ci-1.1.0"
       sources."is-docker-1.1.0"
       sources."is-finite-1.0.2"
       sources."is-fullwidth-code-point-2.0.0"
@@ -43320,7 +45404,7 @@ in
       sources."is-root-1.0.0"
       sources."is-scoped-1.0.0"
       sources."is-stream-1.1.0"
-      sources."is-supported-regexp-flag-1.0.0"
+      sources."is-supported-regexp-flag-1.0.1"
       sources."is-typedarray-1.0.0"
       sources."is-utf8-0.2.1"
       sources."isarray-1.0.0"
@@ -43337,7 +45421,7 @@ in
       sources."latest-version-3.1.0"
       sources."load-json-file-1.1.0"
       sources."locate-path-2.0.0"
-      sources."lodash-4.17.5"
+      sources."lodash-4.17.10"
       sources."lodash._getnative-3.9.1"
       sources."lodash.debounce-3.1.1"
       sources."lodash.pad-4.5.1"
@@ -43345,8 +45429,8 @@ in
       sources."lodash.padstart-4.6.1"
       sources."log-symbols-1.0.2"
       sources."loud-rejection-1.6.0"
-      sources."lowercase-keys-1.0.0"
-      sources."lru-cache-4.1.1"
+      sources."lowercase-keys-1.0.1"
+      sources."lru-cache-4.1.2"
       sources."make-dir-1.2.0"
       sources."map-obj-1.0.1"
       sources."mem-1.1.0"
@@ -43372,6 +45456,7 @@ in
       (sources."npm-keyword-5.0.0" // {
         dependencies = [
           sources."got-7.1.0"
+          sources."p-cancelable-0.3.0"
           sources."p-timeout-1.2.1"
           sources."prepend-http-1.0.4"
           sources."url-parse-lax-1.0.0"
@@ -43397,7 +45482,7 @@ in
       sources."osenv-0.1.5"
       sources."osx-release-1.1.0"
       sources."p-any-1.1.0"
-      sources."p-cancelable-0.3.0"
+      sources."p-cancelable-0.4.1"
       sources."p-finally-1.0.0"
       sources."p-is-promise-1.1.0"
       sources."p-limit-1.2.0"
@@ -43433,9 +45518,9 @@ in
       sources."process-nextick-args-2.0.0"
       sources."pseudomap-1.0.2"
       sources."punycode-1.4.1"
-      sources."qs-6.5.1"
-      sources."query-string-5.1.0"
-      sources."rc-1.2.5"
+      sources."qs-6.5.2"
+      sources."query-string-5.1.1"
+      sources."rc-1.2.7"
       sources."read-pkg-1.1.0"
       (sources."read-pkg-up-2.0.0" // {
         dependencies = [
@@ -43448,14 +45533,14 @@ in
           sources."strip-bom-3.0.0"
         ];
       })
-      sources."readable-stream-2.3.4"
+      sources."readable-stream-2.3.6"
       sources."readline2-1.0.1"
       sources."redent-1.0.0"
       sources."registry-auth-token-3.3.2"
       sources."registry-url-3.1.0"
       sources."repeating-2.0.1"
       sources."replace-ext-0.0.1"
-      sources."request-2.83.0"
+      sources."request-2.85.0"
       sources."responselike-1.0.2"
       sources."restore-cursor-2.0.0"
       sources."root-check-1.0.0"
@@ -43463,7 +45548,8 @@ in
       sources."rx-4.1.0"
       sources."rx-lite-4.0.8"
       sources."rx-lite-aggregates-4.0.8"
-      sources."safe-buffer-5.1.1"
+      sources."safe-buffer-5.1.2"
+      sources."safer-buffer-2.1.2"
       sources."scoped-regex-1.0.0"
       sources."semver-5.5.0"
       sources."semver-diff-2.1.0"
@@ -43486,11 +45572,11 @@ in
       sources."spdx-exceptions-2.1.0"
       sources."spdx-expression-parse-3.0.0"
       sources."spdx-license-ids-3.0.0"
-      sources."sshpk-1.13.1"
+      sources."sshpk-1.14.1"
       sources."strict-uri-encode-1.1.0"
       sources."string-length-1.0.1"
       sources."string-width-2.1.1"
-      sources."string_decoder-1.0.3"
+      sources."string_decoder-1.1.1"
       sources."stringstream-0.0.5"
       sources."strip-ansi-3.0.1"
       sources."strip-bom-2.0.0"
@@ -43521,10 +45607,11 @@ in
       sources."through-2.3.8"
       sources."through2-2.0.3"
       sources."timed-out-4.0.1"
-      sources."titleize-1.0.0"
+      sources."titleize-1.0.1"
       sources."tmp-0.0.33"
       sources."tough-cookie-2.3.4"
       sources."trim-newlines-1.0.0"
+      sources."tunnel-0.0.4"
       sources."tunnel-agent-0.6.0"
       sources."tweetnacl-0.14.5"
       sources."twig-0.8.9"
@@ -43532,13 +45619,13 @@ in
       sources."unique-string-1.0.0"
       sources."untildify-3.0.2"
       sources."unzip-response-2.0.1"
-      (sources."update-notifier-2.3.0" // {
+      (sources."update-notifier-2.5.0" // {
         dependencies = [
-          sources."ansi-styles-3.2.0"
+          sources."ansi-styles-3.2.1"
           sources."camelcase-4.1.0"
-          sources."chalk-2.3.1"
+          sources."chalk-2.4.1"
           sources."execa-0.7.0"
-          sources."supports-color-5.2.0"
+          sources."supports-color-5.4.0"
         ];
       })
       sources."url-parse-lax-3.0.0"
@@ -43550,7 +45637,7 @@ in
       sources."verror-1.10.0"
       sources."vinyl-1.2.0"
       sources."vinyl-file-2.0.0"
-      sources."walk-2.3.9"
+      sources."walk-2.3.13"
       sources."which-1.3.0"
       sources."widest-line-2.0.0"
       sources."win-release-1.1.1"
@@ -43575,19 +45662,19 @@ in
           sources."onetime-1.1.0"
         ];
       })
-      (sources."yeoman-environment-2.0.5" // {
+      (sources."yeoman-environment-2.0.6" // {
         dependencies = [
-          sources."ansi-styles-3.2.0"
-          sources."chalk-2.3.1"
+          sources."ansi-styles-3.2.1"
+          sources."chalk-2.4.1"
           sources."debug-3.1.0"
           sources."log-symbols-2.2.0"
           sources."pify-2.3.0"
-          sources."supports-color-5.2.0"
+          sources."supports-color-5.4.0"
         ];
       })
-      (sources."yosay-2.0.1" // {
+      (sources."yosay-2.0.2" // {
         dependencies = [
-          sources."ansi-styles-3.2.0"
+          sources."ansi-styles-3.2.1"
           sources."is-fullwidth-code-point-1.0.0"
         ];
       })
diff --git a/pkgs/development/node-packages/node-packages-v8.json b/pkgs/development/node-packages/node-packages-v8.json
index 8abdc0e608c..4236064c754 100644
--- a/pkgs/development/node-packages/node-packages-v8.json
+++ b/pkgs/development/node-packages/node-packages-v8.json
@@ -1,6 +1,7 @@
 [
   "bower"
 , "coffee-script"
+, "create-cycle-app"
 , "dat"
 , "grunt-cli"
 , "mocha"
@@ -11,5 +12,9 @@
 , "pnpm"
 , "semver"
 , "sloc"
+, "vue-cli"
+, "swagger"
 , "npm"
+, "three"
+, "mathjax"
 ]
diff --git a/pkgs/development/node-packages/node-packages-v8.nix b/pkgs/development/node-packages/node-packages-v8.nix
index 61752e7598c..cfaa4f0634f 100644
--- a/pkgs/development/node-packages/node-packages-v8.nix
+++ b/pkgs/development/node-packages/node-packages-v8.nix
@@ -1,9 +1,81 @@
-# This file has been generated by node2nix 1.5.2. Do not edit!
+# This file has been generated by node2nix 1.5.3. Do not edit!
 
 {nodeEnv, fetchurl, fetchgit, globalBuildInputs ? []}:
 
 let
   sources = {
+    "@cycle/dom-18.3.0" = {
+      name = "_at_cycle_slash_dom";
+      packageName = "@cycle/dom";
+      version = "18.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@cycle/dom/-/dom-18.3.0.tgz";
+        sha1 = "37b9f55c6b0f629d1b689ece57637768fbeed2b0";
+      };
+    };
+    "@cycle/http-14.9.0" = {
+      name = "_at_cycle_slash_http";
+      packageName = "@cycle/http";
+      version = "14.9.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@cycle/http/-/http-14.9.0.tgz";
+        sha512 = "0ahsk9basb6qimsb40yr40vxxkmmfiqlig23brc5dymic61gfhzg2mzqz5cvkiz2y8g2rwnlwb619fkd3f4hw1yg8bkbczcaxzcrqn0";
+      };
+    };
+    "@cycle/isolate-3.3.0" = {
+      name = "_at_cycle_slash_isolate";
+      packageName = "@cycle/isolate";
+      version = "3.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@cycle/isolate/-/isolate-3.3.0.tgz";
+        sha512 = "0406glnab9c4579lfqikh8w67xjd7fvll3sysxy80sxjv3iaks6w08bgjl8418pk2x0iid8shd3ad7xqiw1lvdjarxnrydmnj3c8mjq";
+      };
+    };
+    "@cycle/run-3.4.0" = {
+      name = "_at_cycle_slash_run";
+      packageName = "@cycle/run";
+      version = "3.4.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@cycle/run/-/run-3.4.0.tgz";
+        sha512 = "2ir1dz9dh2ajf6yaks8nznfm89m0jh09hgadzwfml7xw3d49hks008sz3fq5rp9ax2d7r87y6hcq5hv9xz2qrkx1c1qc2r7xlz74ik1";
+      };
+    };
+    "@cycle/time-0.10.1" = {
+      name = "_at_cycle_slash_time";
+      packageName = "@cycle/time";
+      version = "0.10.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@cycle/time/-/time-0.10.1.tgz";
+        sha1 = "cbc4b9a68981bf0b501ccd06a9058acd65309bf7";
+      };
+    };
+    "@types/node-10.0.4" = {
+      name = "_at_types_slash_node";
+      packageName = "@types/node";
+      version = "10.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/node/-/node-10.0.4.tgz";
+        sha512 = "2zwjjfa4s706r0w45siwgzax5c8g5j3z79dkckwzgrzqxglj070ijv0m9g1ipc1y4kr7l0r9qia9yfxc9syw64hib8vh216cxk1las6";
+      };
+    };
+    "@types/superagent-3.5.6" = {
+      name = "_at_types_slash_superagent";
+      packageName = "@types/superagent";
+      version = "3.5.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/superagent/-/superagent-3.5.6.tgz";
+        sha512 = "31mxn8niw3v1nam9lh29lrq867gjkbv2q6fs0w07miff4mz73066cn5n24f1vmnqpvyv6hbh83b6xll66911a8hj54apmn12s8ras68";
+      };
+    };
+    "URIjs-1.16.1" = {
+      name = "URIjs";
+      packageName = "URIjs";
+      version = "1.16.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/URIjs/-/URIjs-1.16.1.tgz";
+        sha1 = "edebc678b8b74b26b05d2b481e12383f5ae04b8b";
+      };
+    };
     "abbrev-1.1.1" = {
       name = "abbrev";
       packageName = "abbrev";
@@ -13,6 +85,15 @@ let
         sha512 = "38s4f3id97wsb0rg9nm9zvxyq0nvwrmrpa5dzvrkp36mf5ibs98b4z6lvsbrwzzs0sbcank6c7gpp06vcwp9acfhp41rzlhi3ybsxwy";
       };
     };
+    "absolute-0.0.1" = {
+      name = "absolute";
+      packageName = "absolute";
+      version = "0.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/absolute/-/absolute-0.0.1.tgz";
+        sha1 = "c22822f87e1c939f579887504d9c109c4173829d";
+      };
+    };
     "abstract-random-access-1.1.2" = {
       name = "abstract-random-access";
       packageName = "abstract-random-access";
@@ -22,15 +103,6 @@ let
         sha1 = "9a8eac8ff79866f3f9b4bb1443ca778f1598aeda";
       };
     };
-    "ajv-4.11.8" = {
-      name = "ajv";
-      packageName = "ajv";
-      version = "4.11.8";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ajv/-/ajv-4.11.8.tgz";
-        sha1 = "82ffb02b29e662ae53bdc20af15947706739c536";
-      };
-    };
     "ajv-5.5.2" = {
       name = "ajv";
       packageName = "ajv";
@@ -40,13 +112,67 @@ let
         sha1 = "73b5eeca3fab653e3d3f9422b341ad42205dc965";
       };
     };
-    "ansi-diff-stream-1.2.0" = {
+    "align-text-0.1.4" = {
+      name = "align-text";
+      packageName = "align-text";
+      version = "0.1.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz";
+        sha1 = "0cd90a561093f35d0a99256c22b7069433fad117";
+      };
+    };
+    "amdefine-1.0.1" = {
+      name = "amdefine";
+      packageName = "amdefine";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz";
+        sha1 = "4a5282ac164729e93619bcfd3ad151f817ce91f5";
+      };
+    };
+    "ansi-align-2.0.0" = {
+      name = "ansi-align";
+      packageName = "ansi-align";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ansi-align/-/ansi-align-2.0.0.tgz";
+        sha1 = "c36aeccba563b89ceb556f3690f0b1d9e3547f7f";
+      };
+    };
+    "ansi-diff-stream-1.2.1" = {
       name = "ansi-diff-stream";
       packageName = "ansi-diff-stream";
-      version = "1.2.0";
+      version = "1.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ansi-diff-stream/-/ansi-diff-stream-1.2.1.tgz";
+        sha512 = "3lf59lflmnm783cbczclcms4qp42l79s7jbzx7xgz89rzk325nfj26bzd61g83lp250a3pjwh8q5w1khvfjkwn8rm9sm80dhbgsr8ix";
+      };
+    };
+    "ansi-escapes-1.4.0" = {
+      name = "ansi-escapes";
+      packageName = "ansi-escapes";
+      version = "1.4.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-1.4.0.tgz";
+        sha1 = "d3a8a83b319aa67793662b13e761c7911422306e";
+      };
+    };
+    "ansi-escapes-3.1.0" = {
+      name = "ansi-escapes";
+      packageName = "ansi-escapes";
+      version = "3.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.1.0.tgz";
+        sha512 = "1bm72rs09dwjhfif8kqjxnpb5fgmcdgkn5483f11j6791s5161f2kvxy69pkgcq0jdws6kqfmr1bx5189lnvkzgkq851qs3gzq1n02j";
+      };
+    };
+    "ansi-red-0.1.1" = {
+      name = "ansi-red";
+      packageName = "ansi-red";
+      version = "0.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ansi-diff-stream/-/ansi-diff-stream-1.2.0.tgz";
-        sha1 = "eb325c20ac3623ecd592011a9295d76d97de460e";
+        url = "https://registry.npmjs.org/ansi-red/-/ansi-red-0.1.1.tgz";
+        sha1 = "8c638f9d1080800a353c9c28c8a81ca4705d946c";
       };
     };
     "ansi-regex-2.1.1" = {
@@ -67,13 +193,31 @@ let
         sha1 = "ed0317c322064f79466c02966bddb605ab37d998";
       };
     };
-    "ansi-styles-3.2.0" = {
+    "ansi-styles-2.2.1" = {
       name = "ansi-styles";
       packageName = "ansi-styles";
-      version = "3.2.0";
+      version = "2.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz";
+        sha1 = "b432dd3358b634cf75e1e4664368240533c1ddbe";
+      };
+    };
+    "ansi-styles-3.2.1" = {
+      name = "ansi-styles";
+      packageName = "ansi-styles";
+      version = "3.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz";
-        sha512 = "2x19fs1qvg7ifsdvii4g8kqpa5hir1lm0k0y0fz6dhm5c8gh4z9il4wqczl078p2ikmrav23dmj86cxy8y1j22k4mv59d8qq6c8wx1n";
+        url = "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz";
+        sha512 = "2lgkskkj4c1fsnrksy0yffda0wss84p8lfiazdc7jli7iqnvrxkzbxjzpvx13lm28qw0zkawfxvz2bdiisc72ccy7hx8i8rm4iijgam";
+      };
+    };
+    "ansi-wrap-0.1.0" = {
+      name = "ansi-wrap";
+      packageName = "ansi-wrap";
+      version = "0.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ansi-wrap/-/ansi-wrap-0.1.0.tgz";
+        sha1 = "a82250ddb0015e9a27ca82e82ea603bbfa45efaf";
       };
     };
     "anymatch-1.3.2" = {
@@ -85,6 +229,15 @@ let
         sha512 = "269dbx666z4ws49vag1dma5kdpjlx83s74c1jlngrn2672rhvbc47i5ay5h40spmrzgvbvcm33i4yrp88rrc6lg70v78k155z45lwyi";
       };
     };
+    "anymatch-2.0.0" = {
+      name = "anymatch";
+      packageName = "anymatch";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz";
+        sha512 = "03mjsaw6xk4zhvl17fpqn59j4v2bafqs0yfw5y45hl8x97xlihwvjmcx3icnaamvipplnczymvzg4sb4ixwpzak0k3p21c00nqqxmz6";
+      };
+    };
     "ap-0.1.0" = {
       name = "ap";
       packageName = "ap";
@@ -94,6 +247,15 @@ let
         sha1 = "d8a3f26615379398a1b53ca6cc1a666a0fbfe150";
       };
     };
+    "append-field-0.1.0" = {
+      name = "append-field";
+      packageName = "append-field";
+      version = "0.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/append-field/-/append-field-0.1.0.tgz";
+        sha1 = "6ddc58fa083c7bc545d3c5995b2830cc2366d44a";
+      };
+    };
     "append-tree-2.4.1" = {
       name = "append-tree";
       packageName = "append-tree";
@@ -121,6 +283,15 @@ let
         sha1 = "bb5dca382bb94f05e15194373d16fd3ba1ca110d";
       };
     };
+    "argparse-1.0.10" = {
+      name = "argparse";
+      packageName = "argparse";
+      version = "1.0.10";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz";
+        sha512 = "17fhywmdjcp8g0ys089i5xg26yajkkg9zg8hyry3fghz75b2pq5vdx997dk5p2sc15r9nsj8rmf4f27g81hi92kzj5q86sdmg5ni553";
+      };
+    };
     "arr-diff-2.0.0" = {
       name = "arr-diff";
       packageName = "arr-diff";
@@ -130,6 +301,15 @@ let
         sha1 = "8f3b827f955a8bd669697e4a4256ac3ceae356cf";
       };
     };
+    "arr-diff-4.0.0" = {
+      name = "arr-diff";
+      packageName = "arr-diff";
+      version = "4.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz";
+        sha1 = "d6461074febfec71e7e15235761a329a5dc7c520";
+      };
+    };
     "arr-flatten-1.1.0" = {
       name = "arr-flatten";
       packageName = "arr-flatten";
@@ -139,6 +319,24 @@ let
         sha512 = "2vdly17xk5kw7bfzajrjdnw4ml3wrfblx8064n0i4fxlchcscx2mvnwkq2bnnqvbqvdy4vs9ad462lz0rid7khysly9m9vzjiblly1g";
       };
     };
+    "arr-union-3.1.0" = {
+      name = "arr-union";
+      packageName = "arr-union";
+      version = "3.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz";
+        sha1 = "e39b09aea9def866a8f206e288af63919bae39c4";
+      };
+    };
+    "array-differ-1.0.0" = {
+      name = "array-differ";
+      packageName = "array-differ";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/array-differ/-/array-differ-1.0.0.tgz";
+        sha1 = "eff52e3758249d33be402b8bb8e564bb2b5d4031";
+      };
+    };
     "array-lru-1.1.1" = {
       name = "array-lru";
       packageName = "array-lru";
@@ -148,6 +346,24 @@ let
         sha1 = "0c7e1b4e022ae166ff1e8448c595f3181fcd3337";
       };
     };
+    "array-union-1.0.2" = {
+      name = "array-union";
+      packageName = "array-union";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz";
+        sha1 = "9a34410e4f4e3da23dea375be5be70f24778ec39";
+      };
+    };
+    "array-uniq-1.0.3" = {
+      name = "array-uniq";
+      packageName = "array-uniq";
+      version = "1.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz";
+        sha1 = "af6ac877a25cc7f74e058894753858dfdb24fdb6";
+      };
+    };
     "array-unique-0.2.1" = {
       name = "array-unique";
       packageName = "array-unique";
@@ -157,6 +373,24 @@ let
         sha1 = "a1d97ccafcbc2625cc70fadceb36a50c58b01a53";
       };
     };
+    "array-unique-0.3.2" = {
+      name = "array-unique";
+      packageName = "array-unique";
+      version = "0.3.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz";
+        sha1 = "a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428";
+      };
+    };
+    "arrify-1.0.1" = {
+      name = "arrify";
+      packageName = "arrify";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz";
+        sha1 = "898508da2226f380df904728456849c1501a4b0d";
+      };
+    };
     "asn1-0.2.3" = {
       name = "asn1";
       packageName = "asn1";
@@ -166,15 +400,6 @@ let
         sha1 = "dac8787713c9966849fc8180777ebe9c1ddf3b86";
       };
     };
-    "assert-plus-0.2.0" = {
-      name = "assert-plus";
-      packageName = "assert-plus";
-      version = "0.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz";
-        sha1 = "d74e1b87e7affc0db8aadb7021f3fe48101ab234";
-      };
-    };
     "assert-plus-1.0.0" = {
       name = "assert-plus";
       packageName = "assert-plus";
@@ -184,6 +409,15 @@ let
         sha1 = "f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525";
       };
     };
+    "assign-symbols-1.0.0" = {
+      name = "assign-symbols";
+      packageName = "assign-symbols";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz";
+        sha1 = "59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367";
+      };
+    };
     "async-0.9.2" = {
       name = "async";
       packageName = "async";
@@ -202,6 +436,15 @@ let
         sha1 = "f8fc04ca3a13784ade9e1641af98578cfbd647a9";
       };
     };
+    "async-1.5.2" = {
+      name = "async";
+      packageName = "async";
+      version = "1.5.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/async/-/async-1.5.2.tgz";
+        sha1 = "ec6a61ae56480c0c3cb241c95618e20892f9672a";
+      };
+    };
     "async-2.1.5" = {
       name = "async";
       packageName = "async";
@@ -211,6 +454,24 @@ let
         sha1 = "e587c68580994ac67fc56ff86d3ac56bdbe810bc";
       };
     };
+    "async-2.6.0" = {
+      name = "async";
+      packageName = "async";
+      version = "2.6.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/async/-/async-2.6.0.tgz";
+        sha512 = "0zp4b5788400npi1ixjry5x3a4m21c8pnknk8v731rgnwnjbp5ijmfcf5ppmn1ap4a04md1s9dr8n9ygdvrmiai590v0k6dby1wc1y4";
+      };
+    };
+    "async-each-1.0.1" = {
+      name = "async-each";
+      packageName = "async-each";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/async-each/-/async-each-1.0.1.tgz";
+        sha1 = "19d386a1d9edc6e7c1c85d388aedbcc56d33602d";
+      };
+    };
     "asynckit-0.4.0" = {
       name = "asynckit";
       packageName = "asynckit";
@@ -220,6 +481,15 @@ let
         sha1 = "c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79";
       };
     };
+    "atob-2.1.1" = {
+      name = "atob";
+      packageName = "atob";
+      version = "2.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/atob/-/atob-2.1.1.tgz";
+        sha1 = "ae2d5a729477f289d60dd7f96a6314a22dd6c22a";
+      };
+    };
     "atomic-batcher-1.0.2" = {
       name = "atomic-batcher";
       packageName = "atomic-batcher";
@@ -229,15 +499,6 @@ let
         sha1 = "d16901d10ccec59516c197b9ccd8930689b813b4";
       };
     };
-    "aws-sign2-0.6.0" = {
-      name = "aws-sign2";
-      packageName = "aws-sign2";
-      version = "0.6.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz";
-        sha1 = "14342dd38dbcc94d0e5b87d763cd63612c0e794f";
-      };
-    };
     "aws-sign2-0.7.0" = {
       name = "aws-sign2";
       packageName = "aws-sign2";
@@ -247,13 +508,13 @@ let
         sha1 = "b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8";
       };
     };
-    "aws4-1.6.0" = {
+    "aws4-1.7.0" = {
       name = "aws4";
       packageName = "aws4";
-      version = "1.6.0";
+      version = "1.7.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/aws4/-/aws4-1.6.0.tgz";
-        sha1 = "83ef5ca860b2b32e4a0deedee8c771b9db57471e";
+        url = "https://registry.npmjs.org/aws4/-/aws4-1.7.0.tgz";
+        sha512 = "3rkdcpm3myysvq9nj6plgvpngzsbv7qk1wvb9f4m3gcsl23pf5x0hyph02svyl2v1lgjji8kl75ii7q04lhhhgjyw1irbinmxsl6qyz";
       };
     };
     "balanced-match-1.0.0" = {
@@ -265,6 +526,24 @@ let
         sha1 = "89b4d199ab2bee49de164ea02b89ce462d71b767";
       };
     };
+    "base-0.11.2" = {
+      name = "base";
+      packageName = "base";
+      version = "0.11.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/base/-/base-0.11.2.tgz";
+        sha512 = "11dwi4v72034dqafp0qxsg8h6cpn92vv4vf909a9fybd69yfg6gqn4hhav6x59r1wbi8h1qlgfh9np0340mpljv1hc9v9p02giqygp5";
+      };
+    };
+    "base64-js-0.0.8" = {
+      name = "base64-js";
+      packageName = "base64-js";
+      version = "0.0.8";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/base64-js/-/base64-js-0.0.8.tgz";
+        sha1 = "1101e9544f4a76b1bc3b26d452ca96d7a35e7978";
+      };
+    };
     "bcrypt-pbkdf-1.0.1" = {
       name = "bcrypt-pbkdf";
       packageName = "bcrypt-pbkdf";
@@ -292,6 +571,15 @@ let
         sha512 = "3rdjlprrhprwwygnw5aik9pgi1xyr09yvgq3rbr4g3pl1v70mcc1k903x3vh9z782jly6vmnvp44nrskl5rhcxgfdwz19fl1b1qggf2";
       };
     };
+    "binary-extensions-1.11.0" = {
+      name = "binary-extensions";
+      packageName = "binary-extensions";
+      version = "1.11.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.11.0.tgz";
+        sha1 = "46aa1751fb6a2f93ee5e689bb1087d4b14c6c205";
+      };
+    };
     "bitfield-rle-2.1.0" = {
       name = "bitfield-rle";
       packageName = "bitfield-rle";
@@ -310,6 +598,15 @@ let
         sha512 = "10md5792s6q3xwdrmwh1a8ax9w128g607b5qsbxzw8x0gl9184g754hprchl6mq8lmf4f8qylk2h8vavsnbn9yy9gzjnyh2kwrzmxky";
       };
     };
+    "bl-1.2.2" = {
+      name = "bl";
+      packageName = "bl";
+      version = "1.2.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/bl/-/bl-1.2.2.tgz";
+        sha512 = "0810nalazir8szyxvbg53d7416j4a7xy94sdri37mwmnax9s9hx88mzky882sr9dv0is7w9fqlp7ys6ijr1z1imc2dnfxk8fri51jvv";
+      };
+    };
     "blake2b-2.1.2" = {
       name = "blake2b";
       packageName = "blake2b";
@@ -337,6 +634,15 @@ let
         sha1 = "13ebfe778a03205cfe03751481ebb4b3300c126a";
       };
     };
+    "bluebird-3.5.1" = {
+      name = "bluebird";
+      packageName = "bluebird";
+      version = "3.5.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/bluebird/-/bluebird-3.5.1.tgz";
+        sha512 = "2631bhp784qng0ifbypsmvijn6kjfvkhq2335kdz8ix5qi3wb3lbpg94xjn1av2s6i95ygr5a4y9j1721dw6zdbywwh1m48by4qpa1h";
+      };
+    };
     "body-0.1.0" = {
       name = "body";
       packageName = "body";
@@ -346,13 +652,13 @@ let
         sha1 = "e714fe28cd8848aa34cdf2c9f242bbe2e15d1cd8";
       };
     };
-    "boom-2.10.1" = {
-      name = "boom";
-      packageName = "boom";
-      version = "2.10.1";
+    "body-parser-1.12.4" = {
+      name = "body-parser";
+      packageName = "body-parser";
+      version = "1.12.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz";
-        sha1 = "39c8918ceff5799f83f9492a848f625add0c766f";
+        url = "https://registry.npmjs.org/body-parser/-/body-parser-1.12.4.tgz";
+        sha1 = "090700c4ba28862a8520ef378395fdee5f61c229";
       };
     };
     "boom-4.3.1" = {
@@ -373,6 +679,15 @@ let
         sha512 = "19h20yqpvca08dns1rs4f057f10w63v0snxfml4h5khsk266x3x1im0w72bza4k2xn0kfz6jlv001dhcvxsjr09bmbqnysils9m7437";
       };
     };
+    "boxen-1.3.0" = {
+      name = "boxen";
+      packageName = "boxen";
+      version = "1.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/boxen/-/boxen-1.3.0.tgz";
+        sha512 = "0pmn5jcnph7yfgfhlncg1lys066cq44kavj4d9qhmyy9705w61pabpwlma09xg4xplzbxh78d3m4xwvjwk478r3xyqnmpzq79yy7lsc";
+      };
+    };
     "brace-expansion-1.1.11" = {
       name = "brace-expansion";
       packageName = "brace-expansion";
@@ -391,13 +706,67 @@ let
         sha1 = "ba77962e12dff969d6b76711e914b737857bf6a7";
       };
     };
-    "browser-stdout-1.3.0" = {
+    "braces-2.3.2" = {
+      name = "braces";
+      packageName = "braces";
+      version = "2.3.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz";
+        sha512 = "3gxrfbb03jf6nh75n99snhv4a9jni48hfc0gkj5yl1cginpqx3d73dnp8snph1fdkc804iz6zg0aqibifjnscjfbpfziw2g7yg5pmv8";
+      };
+    };
+    "browser-stdout-1.3.1" = {
       name = "browser-stdout";
       packageName = "browser-stdout";
-      version = "1.3.0";
+      version = "1.3.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz";
+        sha512 = "21jjhrf3wdmzsfqgva5s7shs1wdmcdxsjvi75p8z7i0q2i6n3654gpxjqlhbnpmzm25cpkshyi8swy13017qkp9m7xnbgw0bwiia45a";
+      };
+    };
+    "buffer-3.6.0" = {
+      name = "buffer";
+      packageName = "buffer";
+      version = "3.6.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.0.tgz";
-        sha1 = "f351d32969d32fa5d7a5567154263d928ae3bd1f";
+        url = "https://registry.npmjs.org/buffer/-/buffer-3.6.0.tgz";
+        sha1 = "a72c936f77b96bf52f5f7e7b467180628551defb";
+      };
+    };
+    "buffer-alloc-1.1.0" = {
+      name = "buffer-alloc";
+      packageName = "buffer-alloc";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.1.0.tgz";
+        sha1 = "05514d33bf1656d3540c684f65b1202e90eca303";
+      };
+    };
+    "buffer-alloc-unsafe-0.1.1" = {
+      name = "buffer-alloc-unsafe";
+      packageName = "buffer-alloc-unsafe";
+      version = "0.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-0.1.1.tgz";
+        sha1 = "ffe1f67551dd055737de253337bfe853dfab1a6a";
+      };
+    };
+    "buffer-alloc-unsafe-1.0.0" = {
+      name = "buffer-alloc-unsafe";
+      packageName = "buffer-alloc-unsafe";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.0.0.tgz";
+        sha1 = "474aa88f34e7bc75fa311d2e6457409c5846c3fe";
+      };
+    };
+    "buffer-crc32-0.2.13" = {
+      name = "buffer-crc32";
+      packageName = "buffer-crc32";
+      version = "0.2.13";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz";
+        sha1 = "0d333e3f00eac50aa1454abd30ef8c2a5d9a7242";
       };
     };
     "buffer-equals-1.0.4" = {
@@ -409,6 +778,24 @@ let
         sha1 = "0353b54fd07fd9564170671ae6f66b9cf10d27f5";
       };
     };
+    "buffer-fill-0.1.1" = {
+      name = "buffer-fill";
+      packageName = "buffer-fill";
+      version = "0.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/buffer-fill/-/buffer-fill-0.1.1.tgz";
+        sha512 = "3nny0zbpnaxp1544gp7lc53jvs1jgzpmp92cy939dik36bi8lvhrsh4g082lxdplwsma22cgg9q93dw5dnbn1ljqkh4fb2i6w3lq032";
+      };
+    };
+    "buffer-from-1.0.0" = {
+      name = "buffer-from";
+      packageName = "buffer-from";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/buffer-from/-/buffer-from-1.0.0.tgz";
+        sha512 = "3252laq8prm41lgzlhmc7rdj99gwcvpf7cn6j686g4qmspnl3haid5khv9pc9cfjja9wb64nwfvgdwi2kpdf125xfg48aqapwssjxpk";
+      };
+    };
     "buffer-indexof-1.1.1" = {
       name = "buffer-indexof";
       packageName = "buffer-indexof";
@@ -418,13 +805,49 @@ let
         sha512 = "3bgz1zhq9ng3gypq825f00p9qi9y6z7wvkkf28nhjlyifnb3lk1dkmbya84k0ja79zv8kmmhvalwcnnz92533ip7pnjp3is1w9cxyp3";
       };
     };
-    "bulk-write-stream-1.1.3" = {
+    "builtins-1.0.3" = {
+      name = "builtins";
+      packageName = "builtins";
+      version = "1.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/builtins/-/builtins-1.0.3.tgz";
+        sha1 = "cb94faeb61c8696451db36534e1422f94f0aee88";
+      };
+    };
+    "bulk-write-stream-1.1.4" = {
       name = "bulk-write-stream";
       packageName = "bulk-write-stream";
-      version = "1.1.3";
+      version = "1.1.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/bulk-write-stream/-/bulk-write-stream-1.1.4.tgz";
+        sha512 = "2g3ccqw8k5vhdhnks27i954xglllw5gay8nvy3zgm2c7jpwnjc2imarwshx53pz54br6q4i4x2va4s80ixavafphhsykdhyzrvv1lhs";
+      };
+    };
+    "busboy-0.2.14" = {
+      name = "busboy";
+      packageName = "busboy";
+      version = "0.2.14";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/busboy/-/busboy-0.2.14.tgz";
+        sha1 = "6c2a622efcf47c57bbbe1e2a9c37ad36c7925453";
+      };
+    };
+    "bytes-1.0.0" = {
+      name = "bytes";
+      packageName = "bytes";
+      version = "1.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/bulk-write-stream/-/bulk-write-stream-1.1.3.tgz";
-        sha1 = "d29ca385fbd53f357aee5bd3d3028732b62ae275";
+        url = "https://registry.npmjs.org/bytes/-/bytes-1.0.0.tgz";
+        sha1 = "3569ede8ba34315fab99c3e92cb04c7220de1fa8";
+      };
+    };
+    "bytes-2.1.0" = {
+      name = "bytes";
+      packageName = "bytes";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/bytes/-/bytes-2.1.0.tgz";
+        sha1 = "ac93c410e2ffc9cc7cf4b464b38289067f5e47b4";
       };
     };
     "bytes-3.0.0" = {
@@ -436,6 +859,15 @@ let
         sha1 = "d32815404d689699f85a4ea4fa8755dd13a96048";
       };
     };
+    "cache-base-1.0.1" = {
+      name = "cache-base";
+      packageName = "cache-base";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz";
+        sha512 = "36i943khi87af4gif9r6imjgybqxq9cbd69z2h8p2s2j6scfbhrv7j3n591xl982fmyq29rkwh70a6qdcf3v0piwzfh8n2jf571v9q0";
+      };
+    };
     "call-me-maybe-1.0.1" = {
       name = "call-me-maybe";
       packageName = "call-me-maybe";
@@ -445,6 +877,33 @@ let
         sha1 = "26d208ea89e37b5cbde60250a15f031c16a4d66b";
       };
     };
+    "camelcase-1.2.1" = {
+      name = "camelcase";
+      packageName = "camelcase";
+      version = "1.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz";
+        sha1 = "9bb5304d2e0b56698b2c758b08a3eaa9daa58a39";
+      };
+    };
+    "camelcase-4.1.0" = {
+      name = "camelcase";
+      packageName = "camelcase";
+      version = "4.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz";
+        sha1 = "d545635be1e33c542649c69173e5de6acfae34dd";
+      };
+    };
+    "capture-stack-trace-1.0.0" = {
+      name = "capture-stack-trace";
+      packageName = "capture-stack-trace";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/capture-stack-trace/-/capture-stack-trace-1.0.0.tgz";
+        sha1 = "4a6fa07399c26bba47f0b2496b4d0fb408c5550d";
+      };
+    };
     "caseless-0.12.0" = {
       name = "caseless";
       packageName = "caseless";
@@ -454,13 +913,139 @@ let
         sha1 = "1b681c21ff84033c826543090689420d187151dc";
       };
     };
-    "chalk-2.3.1" = {
+    "caw-2.0.1" = {
+      name = "caw";
+      packageName = "caw";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/caw/-/caw-2.0.1.tgz";
+        sha512 = "2wa0gi2wljxw00rvqz454sgdr8yy90z8lhprxjc1prwi695lnzrh6sk0qqhp63h9gmbldyvvzfvm8k1jk0sbv6icdawcss441jky3qa";
+      };
+    };
+    "center-align-0.1.3" = {
+      name = "center-align";
+      packageName = "center-align";
+      version = "0.1.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz";
+        sha1 = "aa0d32629b6ee972200411cbd4461c907bc2b7ad";
+      };
+    };
+    "chalk-1.1.3" = {
       name = "chalk";
       packageName = "chalk";
-      version = "2.3.1";
+      version = "1.1.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz";
+        sha1 = "a8115c55e4a702fe4d150abd3872822a7e09fc98";
+      };
+    };
+    "chalk-2.4.1" = {
+      name = "chalk";
+      packageName = "chalk";
+      version = "2.4.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/chalk/-/chalk-2.3.1.tgz";
-        sha512 = "3m0k6j50aridlrk1q8kf3cd1vcj6qcg2nx5yk8d0196hmw0c4a6y1h315p24l34yz0chfrcrkrsr12cixccfp5q7caw5803z6hkhia1";
+        url = "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz";
+        sha512 = "1yl5ffjp5w65b9ydnw4vp13n563121hs64xbnajif51grhpqmslaqllj24zm1pfaw9ywvdx69n8ppa3riwlps25k5934zgnbf3pmcrr";
+      };
+    };
+    "chardet-0.4.2" = {
+      name = "chardet";
+      packageName = "chardet";
+      version = "0.4.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/chardet/-/chardet-0.4.2.tgz";
+        sha1 = "b5473b33dc97c424e5d98dc87d55d4d8a29c8bf2";
+      };
+    };
+    "charenc-0.0.2" = {
+      name = "charenc";
+      packageName = "charenc";
+      version = "0.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/charenc/-/charenc-0.0.2.tgz";
+        sha1 = "c0a1d2f3a7092e03774bfa83f14c0fc5790a8667";
+      };
+    };
+    "chokidar-2.0.3" = {
+      name = "chokidar";
+      packageName = "chokidar";
+      version = "2.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/chokidar/-/chokidar-2.0.3.tgz";
+        sha512 = "0r9sfr7gz91aphg4vk476c4z07gqq6wdyhlhk3brazjwfvqz9jqccl19qyrwiwijx0aw85jw0zhnfayapk9wzzcj9wcqp3dhrfj4vyd";
+      };
+    };
+    "chownr-1.0.1" = {
+      name = "chownr";
+      packageName = "chownr";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/chownr/-/chownr-1.0.1.tgz";
+        sha1 = "e2a75042a9551908bebd25b8523d5f9769d79181";
+      };
+    };
+    "ci-info-1.1.3" = {
+      name = "ci-info";
+      packageName = "ci-info";
+      version = "1.1.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ci-info/-/ci-info-1.1.3.tgz";
+        sha512 = "0p634fyx3kkll2blj5f5bjmz273d7ba201yi3jlrvy7p7lnmmi479d6s3khwmp9lnfrb314l4kw5dq40q60hzfnmfycqibzm3izrbs8";
+      };
+    };
+    "circular-append-file-1.0.1" = {
+      name = "circular-append-file";
+      packageName = "circular-append-file";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/circular-append-file/-/circular-append-file-1.0.1.tgz";
+        sha512 = "294ys13wj7mq7c2sb6h20a25z98wv9mar62nliikcsnb55xyqqwy3hj2ghcmc71yrx61i9s15x0qy71sy9x6i0ghsaxf2akn2zcah05";
+      };
+    };
+    "class-utils-0.3.6" = {
+      name = "class-utils";
+      packageName = "class-utils";
+      version = "0.3.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz";
+        sha512 = "1xcqwmfmsbrm2ck76brwiqjmcza655khgh5szh6wngk357i37sgwsga1pbarwzaz9hvzkriqhq6j0z5mv0pmz61cf9wxvk3y5mlzs58";
+      };
+    };
+    "cli-boxes-1.0.0" = {
+      name = "cli-boxes";
+      packageName = "cli-boxes";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cli-boxes/-/cli-boxes-1.0.0.tgz";
+        sha1 = "4fa917c3e59c94a004cd61f8ee509da651687143";
+      };
+    };
+    "cli-cursor-1.0.2" = {
+      name = "cli-cursor";
+      packageName = "cli-cursor";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cli-cursor/-/cli-cursor-1.0.2.tgz";
+        sha1 = "64da3f7d56a54412e59794bd62dc35295e8f2987";
+      };
+    };
+    "cli-cursor-2.1.0" = {
+      name = "cli-cursor";
+      packageName = "cli-cursor";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz";
+        sha1 = "b35dac376479facc3e94747d41d0d0f5238ffcb5";
+      };
+    };
+    "cli-spinners-1.3.1" = {
+      name = "cli-spinners";
+      packageName = "cli-spinners";
+      version = "1.3.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cli-spinners/-/cli-spinners-1.3.1.tgz";
+        sha512 = "1vad3gya61nh9npwcrcrq0d7sq9v0a2zaqvvnhbzpqxfp24qkh3xb8372fk9yx7l1nm9gz2gvzjysksh9ggwlvzah1lp816ivkzh0nm";
       };
     };
     "cli-table-0.3.1" = {
@@ -481,6 +1066,24 @@ let
         sha512 = "1h48346i2bsfvj3h0qfxmyh1770cxb3d9ibk75yjag1xgzk021yqbmkiv30k5c0qgyb0sxkvjc3sckmakf4i7q1d2gh1nmw9fimj2vc";
       };
     };
+    "cli-width-1.1.1" = {
+      name = "cli-width";
+      packageName = "cli-width";
+      version = "1.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cli-width/-/cli-width-1.1.1.tgz";
+        sha1 = "a4d293ef67ebb7b88d4a4d42c0ccf00c4d1e366d";
+      };
+    };
+    "cli-width-2.2.0" = {
+      name = "cli-width";
+      packageName = "cli-width";
+      version = "2.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz";
+        sha1 = "ff19ede8a9a5e579324147b0c11f0fbcbabed639";
+      };
+    };
     "cliclopts-1.1.1" = {
       name = "cliclopts";
       packageName = "cliclopts";
@@ -490,6 +1093,42 @@ let
         sha1 = "69431c7cb5af723774b0d3911b4c37512431910f";
       };
     };
+    "cliui-2.1.0" = {
+      name = "cliui";
+      packageName = "cliui";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz";
+        sha1 = "4b475760ff80264c762c3a1719032e91c7fea0d1";
+      };
+    };
+    "clone-1.0.4" = {
+      name = "clone";
+      packageName = "clone";
+      version = "1.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz";
+        sha1 = "da309cc263df15994c688ca902179ca3c7cd7c7e";
+      };
+    };
+    "clone-2.0.0" = {
+      name = "clone";
+      packageName = "clone";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/clone/-/clone-2.0.0.tgz";
+        sha1 = "df65d3ca142e4a4a47db33da3468d088a16fc76e";
+      };
+    };
+    "co-3.1.0" = {
+      name = "co";
+      packageName = "co";
+      version = "3.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/co/-/co-3.1.0.tgz";
+        sha1 = "4ea54ea5a08938153185e15210c68d9092bc1b78";
+      };
+    };
     "co-4.6.0" = {
       name = "co";
       packageName = "co";
@@ -499,6 +1138,33 @@ let
         sha1 = "6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184";
       };
     };
+    "co-from-stream-0.0.0" = {
+      name = "co-from-stream";
+      packageName = "co-from-stream";
+      version = "0.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/co-from-stream/-/co-from-stream-0.0.0.tgz";
+        sha1 = "1a5cd8ced77263946094fa39f2499a63297bcaf9";
+      };
+    };
+    "co-fs-extra-1.2.1" = {
+      name = "co-fs-extra";
+      packageName = "co-fs-extra";
+      version = "1.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/co-fs-extra/-/co-fs-extra-1.2.1.tgz";
+        sha1 = "3b6ad77cf2614530f677b1cf62664f5ba756b722";
+      };
+    };
+    "co-read-0.0.1" = {
+      name = "co-read";
+      packageName = "co-read";
+      version = "0.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/co-read/-/co-read-0.0.1.tgz";
+        sha1 = "f81b3eb8a86675fec51e3d883a7f564e873c9389";
+      };
+    };
     "code-point-at-1.1.0" = {
       name = "code-point-at";
       packageName = "code-point-at";
@@ -508,13 +1174,31 @@ let
         sha1 = "0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77";
       };
     };
-    "codecs-1.2.0" = {
+    "codecs-1.2.1" = {
       name = "codecs";
       packageName = "codecs";
-      version = "1.2.0";
+      version = "1.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/codecs/-/codecs-1.2.0.tgz";
-        sha1 = "5148549e3d156c5fa053d7cbb419715a0cf43d16";
+        url = "https://registry.npmjs.org/codecs/-/codecs-1.2.1.tgz";
+        sha512 = "16fzwl2fvacbii9fby6i5cm2bz4ajaf4jdyffq1ggwnjbzjim0cbspymc9x9sf5whlzmknj7cybqaxvy5lmxlc99hm9sm6pj7wz3ya8";
+      };
+    };
+    "coffee-script-1.12.7" = {
+      name = "coffee-script";
+      packageName = "coffee-script";
+      version = "1.12.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/coffee-script/-/coffee-script-1.12.7.tgz";
+        sha512 = "29mq40padyvizg4f141b00p0p74hx9v06d7gxk84ggsiyw6rf5bb65gnfwk1i02r276jwqybmi5hx98s943slyazjnqd69jmj389dvw";
+      };
+    };
+    "collection-visit-1.0.0" = {
+      name = "collection-visit";
+      packageName = "collection-visit";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz";
+        sha1 = "4bc0373c164bc3291b4d368c829cf1a80a59dca0";
       };
     };
     "color-convert-1.9.1" = {
@@ -544,13 +1228,22 @@ let
         sha1 = "0433f44d809680fdeb60ed260f1b0c262e82a40b";
       };
     };
-    "colors-1.1.2" = {
+    "colors-1.2.4" = {
       name = "colors";
       packageName = "colors";
-      version = "1.1.2";
+      version = "1.2.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz";
-        sha1 = "168a4701756b6a7f51a12ce0c97bfa28c084ed63";
+        url = "https://registry.npmjs.org/colors/-/colors-1.2.4.tgz";
+        sha512 = "1ch53w9md043zff52vsmh89qirws3x7n4zw88xxw0h98fjg71dsll3gh1b598a48xq98d15qpjb07g9ddjsfknrba0byp56fl3a53z9";
+      };
+    };
+    "combine-errors-3.0.3" = {
+      name = "combine-errors";
+      packageName = "combine-errors";
+      version = "3.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/combine-errors/-/combine-errors-3.0.3.tgz";
+        sha1 = "f4df6740083e5703a3181110c2b10551f003da86";
       };
     };
     "combined-stream-1.0.6" = {
@@ -562,6 +1255,15 @@ let
         sha1 = "723e7df6e801ac5613113a7e445a9b69cb632818";
       };
     };
+    "commander-0.6.1" = {
+      name = "commander";
+      packageName = "commander";
+      version = "0.6.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/commander/-/commander-0.6.1.tgz";
+        sha1 = "fa68a14f6a945d54dbbe50d8cdb3320e9e3b1a06";
+      };
+    };
     "commander-2.11.0" = {
       name = "commander";
       packageName = "commander";
@@ -571,6 +1273,33 @@ let
         sha512 = "2yi2hwf0bghfnv1fdgd4wvh7s0acjrgqbgww97ncm6i6s6ffs1zahnj48f6gqpqj6fsf0jigvnr0civ25k2160c38281r80wvg7jkkg";
       };
     };
+    "commander-2.15.1" = {
+      name = "commander";
+      packageName = "commander";
+      version = "2.15.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/commander/-/commander-2.15.1.tgz";
+        sha512 = "1mb8z6hhy74rfdgj3spmk52sdqa5bb2w5wp28z3md1daqcca4vbbsg66wz8hdhrv0fnnmf8yzdkmnw3c373vcccmyizzlnmbpsd6msn";
+      };
+    };
+    "commander-2.3.0" = {
+      name = "commander";
+      packageName = "commander";
+      version = "2.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/commander/-/commander-2.3.0.tgz";
+        sha1 = "fd430e889832ec353b9acd1de217c11cb3eef873";
+      };
+    };
+    "commander-2.8.1" = {
+      name = "commander";
+      packageName = "commander";
+      version = "2.8.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/commander/-/commander-2.8.1.tgz";
+        sha1 = "06be367febfda0c330aa1e2a072d3dc9762425d4";
+      };
+    };
     "commander-2.9.0" = {
       name = "commander";
       packageName = "commander";
@@ -580,6 +1309,15 @@ let
         sha1 = "9c99094176e12240cb22d6c5146098400fe0f7d4";
       };
     };
+    "component-emitter-1.2.1" = {
+      name = "component-emitter";
+      packageName = "component-emitter";
+      version = "1.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz";
+        sha1 = "137918d6d78283f7df7a6b7c5a63e140e69425e6";
+      };
+    };
     "concat-map-0.0.1" = {
       name = "concat-map";
       packageName = "concat-map";
@@ -589,13 +1327,40 @@ let
         sha1 = "d8a96bd77fd68df7793a73036a3ba0d5405d477b";
       };
     };
-    "concat-stream-1.6.0" = {
+    "concat-stream-1.6.2" = {
       name = "concat-stream";
       packageName = "concat-stream";
-      version = "1.6.0";
+      version = "1.6.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz";
+        sha512 = "05nnf80j9ls12y3cw2dfnc6rmand3ya5sx9cqn9dgg19ljzdnyfjjv8ig79xi73gr2y4rkfzn9wjip2zzwp5n2d49njd3ki2a1c3cfv";
+      };
+    };
+    "config-chain-1.1.11" = {
+      name = "config-chain";
+      packageName = "config-chain";
+      version = "1.1.11";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/config-chain/-/config-chain-1.1.11.tgz";
+        sha1 = "aba09747dfbe4c3e70e766a6e41586e1859fc6f2";
+      };
+    };
+    "configstore-3.1.2" = {
+      name = "configstore";
+      packageName = "configstore";
+      version = "3.1.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.0.tgz";
-        sha1 = "0aac662fd52be78964d5532f694784e70110acf7";
+        url = "https://registry.npmjs.org/configstore/-/configstore-3.1.2.tgz";
+        sha512 = "2difdg3f56d584kfxl1zvm4ik5m3ln949m0q9sxq6ranzx2iwqa9zxqxy2l5i2lsm8jwmaiqkf7rc73gfnfip5m2qh8awd3s4ggknxy";
+      };
+    };
+    "connect-3.6.6" = {
+      name = "connect";
+      packageName = "connect";
+      version = "3.6.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/connect/-/connect-3.6.6.tgz";
+        sha1 = "09eff6c55af7236e137135a72574858b6786f524";
       };
     };
     "connections-1.4.2" = {
@@ -616,6 +1381,24 @@ let
         sha1 = "3d7cf4464db6446ea644bf4b39507f9851008e8e";
       };
     };
+    "consolidate-0.14.5" = {
+      name = "consolidate";
+      packageName = "consolidate";
+      version = "0.14.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/consolidate/-/consolidate-0.14.5.tgz";
+        sha1 = "5a25047bc76f73072667c8cb52c989888f494c63";
+      };
+    };
+    "content-type-1.0.4" = {
+      name = "content-type";
+      packageName = "content-type";
+      version = "1.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz";
+        sha512 = "1f4y61wc913jrnga7nny83gzf9l2488q6sl1ry9lbwgh5x5d3va0xcc0xrmjk6gdxl6d4r6rsk800xp5bazhjrx05yx1wpc8c8gg0w4";
+      };
+    };
     "content-types-0.1.0" = {
       name = "content-types";
       packageName = "content-types";
@@ -625,6 +1408,33 @@ let
         sha1 = "0e790b3abfef90f6ecb77ae8585db9099caf7578";
       };
     };
+    "cookiejar-2.0.6" = {
+      name = "cookiejar";
+      packageName = "cookiejar";
+      version = "2.0.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cookiejar/-/cookiejar-2.0.6.tgz";
+        sha1 = "0abf356ad00d1c5a219d88d44518046dd026acfe";
+      };
+    };
+    "cookiejar-2.1.1" = {
+      name = "cookiejar";
+      packageName = "cookiejar";
+      version = "2.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cookiejar/-/cookiejar-2.1.1.tgz";
+        sha1 = "41ad57b1b555951ec171412a81942b1e8200d34a";
+      };
+    };
+    "copy-descriptor-0.1.1" = {
+      name = "copy-descriptor";
+      packageName = "copy-descriptor";
+      version = "0.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz";
+        sha1 = "676f6eb3c39997c2ee1ac3a924fd6124748f578d";
+      };
+    };
     "core-util-is-1.0.2" = {
       name = "core-util-is";
       packageName = "core-util-is";
@@ -643,13 +1453,31 @@ let
         sha1 = "11a45bc47ab30c54d00bb869ea1802fbcd9a09d0";
       };
     };
-    "cryptiles-2.0.5" = {
-      name = "cryptiles";
-      packageName = "cryptiles";
-      version = "2.0.5";
+    "create-error-class-3.0.2" = {
+      name = "create-error-class";
+      packageName = "create-error-class";
+      version = "3.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz";
-        sha1 = "3bdfecdc608147c1c67202fa291e7dca59eaa3b8";
+        url = "https://registry.npmjs.org/create-error-class/-/create-error-class-3.0.2.tgz";
+        sha1 = "06be7abef947a3f14a30fd610671d401bca8b7b6";
+      };
+    };
+    "cross-spawn-5.1.0" = {
+      name = "cross-spawn";
+      packageName = "cross-spawn";
+      version = "5.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz";
+        sha1 = "e8bd0efee58fcff6f8f94510a0a554bbfa235449";
+      };
+    };
+    "crypt-0.0.2" = {
+      name = "crypt";
+      packageName = "crypt";
+      version = "0.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/crypt/-/crypt-0.0.2.tgz";
+        sha1 = "88d7ff7ec0dfb86f713dc87bbb42d044d3e6c41b";
       };
     };
     "cryptiles-3.1.2" = {
@@ -661,6 +1489,33 @@ let
         sha1 = "a89fbb220f5ce25ec56e8c4aa8a4fd7b5b0d29fe";
       };
     };
+    "crypto-random-string-1.0.0" = {
+      name = "crypto-random-string";
+      packageName = "crypto-random-string";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-1.0.0.tgz";
+        sha1 = "a230f64f568310e1498009940790ec99545bca7e";
+      };
+    };
+    "cssauron-1.4.0" = {
+      name = "cssauron";
+      packageName = "cssauron";
+      version = "1.4.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cssauron/-/cssauron-1.4.0.tgz";
+        sha1 = "a6602dff7e04a8306dc0db9a551e92e8b5662ad8";
+      };
+    };
+    "custom-error-instance-2.1.1" = {
+      name = "custom-error-instance";
+      packageName = "custom-error-instance";
+      version = "2.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/custom-error-instance/-/custom-error-instance-2.1.1.tgz";
+        sha1 = "3cf6391487a6629a6247eb0ca0ce00081b7e361a";
+      };
+    };
     "cycle-1.0.3" = {
       name = "cycle";
       packageName = "cycle";
@@ -670,6 +1525,33 @@ let
         sha1 = "21e80b2be8580f98b468f379430662b046c34ad2";
       };
     };
+    "cycle-onionify-4.0.0" = {
+      name = "cycle-onionify";
+      packageName = "cycle-onionify";
+      version = "4.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cycle-onionify/-/cycle-onionify-4.0.0.tgz";
+        sha1 = "9aeddd88dedf6fda9fbb98b1e79ab38810b7ddda";
+      };
+    };
+    "d-1.0.0" = {
+      name = "d";
+      packageName = "d";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/d/-/d-1.0.0.tgz";
+        sha1 = "754bb5bfe55451da69a58b94d45f4c5b0462d58f";
+      };
+    };
+    "dag-map-1.0.2" = {
+      name = "dag-map";
+      packageName = "dag-map";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/dag-map/-/dag-map-1.0.2.tgz";
+        sha1 = "e8379f041000ed561fc515475c1ed2c85eece8d7";
+      };
+    };
     "dashdash-1.14.1" = {
       name = "dashdash";
       packageName = "dashdash";
@@ -688,13 +1570,13 @@ let
         sha512 = "0yyadc98mdpvqdszc1v26zcgd6zqxink2wrhxw9ax60wk0sxqw6mm3m2jbqvibj54p1gjsmgsf1yhv20xsm77kkb7qwj79jlx8kvfad";
       };
     };
-    "dat-doctor-1.3.1" = {
+    "dat-doctor-1.4.0" = {
       name = "dat-doctor";
       packageName = "dat-doctor";
-      version = "1.3.1";
+      version = "1.4.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/dat-doctor/-/dat-doctor-1.3.1.tgz";
-        sha512 = "19cfxdik2pv94dbfsz4nm6a0v6vfx5s1isaagmsjrb44czbcl55sjj9nf1302hqc8ckijsdmlsrna02hb0mjzzhsy0m6c8r3cv0wabk";
+        url = "https://registry.npmjs.org/dat-doctor/-/dat-doctor-1.4.0.tgz";
+        sha512 = "3ysgc2z0pjbka9617lqykw8c0bqbacgixd6j8nlcdi7sz7j94w2sl17mq3xaq7b6kr5wdngi64y584hj8baqgxw2aaavgvk96kff3fl";
       };
     };
     "dat-encoding-4.0.2" = {
@@ -715,22 +1597,22 @@ let
         sha512 = "2lc9p062gaa2xrf07z14xqgid3rw5fg05ak3s13g3mrr5hf8zxmdvp3lq4wggj7k5pc2c43r3d4yyy7rfrqafsdm7hfisdda4zgsi1w";
       };
     };
-    "dat-ignore-2.0.0" = {
+    "dat-ignore-2.1.1" = {
       name = "dat-ignore";
       packageName = "dat-ignore";
-      version = "2.0.0";
+      version = "2.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/dat-ignore/-/dat-ignore-2.0.0.tgz";
-        sha512 = "1s78mv3ngs1v1cgpcp97y1xmns97m2r6gjkkrksl63j5d870vpsmmrhsfm1vw4q0dz4c1yfnfcpijlgbqai9c5d2zj1lz56rih0kxk8";
+        url = "https://registry.npmjs.org/dat-ignore/-/dat-ignore-2.1.1.tgz";
+        sha512 = "3ars15n4l3fgvnzah15zpfzirg66clg2a72d2qawg340ad1f0xbahxgzfj52q3ib48s6k7m4a8zcpv5n3pq2blkm1dhpyz1s9d9y44d";
       };
     };
-    "dat-json-1.0.1" = {
+    "dat-json-1.0.2" = {
       name = "dat-json";
       packageName = "dat-json";
-      version = "1.0.1";
+      version = "1.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/dat-json/-/dat-json-1.0.1.tgz";
-        sha512 = "13nn20vg6jx1h8ypazv9zn236hvv29wwq52mdbbfl77zrg8d7syni933v2mm3y1jsk25c7dc2gs1876fz0yblniryncnbjxrf0aq0nq";
+        url = "https://registry.npmjs.org/dat-json/-/dat-json-1.0.2.tgz";
+        sha512 = "0i32dn4p0dmjbljm9csnrfibnrgljbqcqkiy5n2wn0mdqpklnv6k9imrv93c0j6p5hsrpnnpjdibhw6fyf5a3183g2wxd1zw5avx6hi";
       };
     };
     "dat-link-resolve-2.1.0" = {
@@ -787,22 +1669,22 @@ let
         sha512 = "13cbr004milnmjisg774rqqw82vyjg1p1d6gvm3xji516rq7zzc1x7da397njig5s2rg2qmw1dixdn4cpkmvc8irq4y1dzb3h46sz2c";
       };
     };
-    "dat-swarm-defaults-1.0.0" = {
+    "dat-swarm-defaults-1.0.1" = {
       name = "dat-swarm-defaults";
       packageName = "dat-swarm-defaults";
-      version = "1.0.0";
+      version = "1.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/dat-swarm-defaults/-/dat-swarm-defaults-1.0.0.tgz";
-        sha1 = "ba7d58c309cf60c3924afad869b75192b61fe354";
+        url = "https://registry.npmjs.org/dat-swarm-defaults/-/dat-swarm-defaults-1.0.1.tgz";
+        sha512 = "0kgq4nz4axx3kpfam6lxid88x5gx39gbk3kzcgmbhxld9vwl3469q58hkd2zjripg3955483j450yvszk1pwpn895adz62mn0xsarag";
       };
     };
-    "datland-swarm-defaults-1.0.2" = {
-      name = "datland-swarm-defaults";
-      packageName = "datland-swarm-defaults";
-      version = "1.0.2";
+    "debug-2.2.0" = {
+      name = "debug";
+      packageName = "debug";
+      version = "2.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/datland-swarm-defaults/-/datland-swarm-defaults-1.0.2.tgz";
-        sha1 = "277b895a39f1aa7f96a495a02fb3662a5ed9f2e0";
+        url = "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz";
+        sha1 = "f87057e995b1a1f6ae6a4960664137bc56f039da";
       };
     };
     "debug-2.6.9" = {
@@ -823,6 +1705,69 @@ let
         sha512 = "3g1hqsahr1ks2kpvdxrwzr57fj90nnr0hvwwrw8yyyzcv3i11sym8zwibxx67bl1mln0acddrzpkkdjjxnc6n2cm9fazmgzzsl1fzrr";
       };
     };
+    "decamelize-1.2.0" = {
+      name = "decamelize";
+      packageName = "decamelize";
+      version = "1.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz";
+        sha1 = "f6534d15148269b20352e7bee26f501f9a191290";
+      };
+    };
+    "decode-uri-component-0.2.0" = {
+      name = "decode-uri-component";
+      packageName = "decode-uri-component";
+      version = "0.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz";
+        sha1 = "eb3913333458775cb84cd1a1fae062106bb87545";
+      };
+    };
+    "decompress-4.2.0" = {
+      name = "decompress";
+      packageName = "decompress";
+      version = "4.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/decompress/-/decompress-4.2.0.tgz";
+        sha1 = "7aedd85427e5a92dacfe55674a7c505e96d01f9d";
+      };
+    };
+    "decompress-tar-4.1.1" = {
+      name = "decompress-tar";
+      packageName = "decompress-tar";
+      version = "4.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/decompress-tar/-/decompress-tar-4.1.1.tgz";
+        sha512 = "18rwwdac0961cs2xpagx8sfqysxzcvvna1bfhjd8aamgm5k6mbcr88k0qp46z1fvypvk00sc27mv0n7885cfwi525gix96659l4rli5";
+      };
+    };
+    "decompress-tarbz2-4.1.1" = {
+      name = "decompress-tarbz2";
+      packageName = "decompress-tarbz2";
+      version = "4.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/decompress-tarbz2/-/decompress-tarbz2-4.1.1.tgz";
+        sha512 = "3s2l466xc70zvxrwsr1xr7x5sg9g9wh2wsvk81pxmhc0m73hwhfhhn63c53n6vkv8rlxs80gscrkpk8fc2mbh3j154cvbzm6wpk3kxk";
+      };
+    };
+    "decompress-targz-4.1.1" = {
+      name = "decompress-targz";
+      packageName = "decompress-targz";
+      version = "4.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/decompress-targz/-/decompress-targz-4.1.1.tgz";
+        sha512 = "3gig705jrzdsihjnfij52kj17mgsclfn5vbzswqqdjd0ac4f0dy0afds02m4zm5jacnppavhydyy0rgd99prk8hkmbcisgbfxk3agz3";
+      };
+    };
+    "decompress-unzip-4.0.1" = {
+      name = "decompress-unzip";
+      packageName = "decompress-unzip";
+      version = "4.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/decompress-unzip/-/decompress-unzip-4.0.1.tgz";
+        sha1 = "deaaccdfd14aeaf85578f733ae8210f9b4848f69";
+      };
+    };
     "deep-equal-0.2.2" = {
       name = "deep-equal";
       packageName = "deep-equal";
@@ -832,13 +1777,40 @@ let
         sha1 = "84b745896f34c684e98f2ce0e42abaf43bba017d";
       };
     };
-    "deep-extend-0.4.2" = {
+    "deep-extend-0.5.1" = {
       name = "deep-extend";
       packageName = "deep-extend";
-      version = "0.4.2";
+      version = "0.5.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/deep-extend/-/deep-extend-0.4.2.tgz";
-        sha1 = "48b699c27e334bf89f10892be432f6e4c7d34a7f";
+        url = "https://registry.npmjs.org/deep-extend/-/deep-extend-0.5.1.tgz";
+        sha512 = "3bzqm7nqgh7m8xjhl0q8jc0ccm9riymsfmy0144x6n2qy9v1gin2ww8s9wjlayk0xyzq9cz9pyar02yiv30mhqsj7rmw35ywrsc3jrp";
+      };
+    };
+    "define-property-0.2.5" = {
+      name = "define-property";
+      packageName = "define-property";
+      version = "0.2.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz";
+        sha1 = "c35b1ef918ec3c990f9a5bc57be04aacec5c8116";
+      };
+    };
+    "define-property-1.0.0" = {
+      name = "define-property";
+      packageName = "define-property";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz";
+        sha1 = "769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6";
+      };
+    };
+    "define-property-2.0.2" = {
+      name = "define-property";
+      packageName = "define-property";
+      version = "2.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz";
+        sha512 = "1hrk3pzr4hyhfnrjy1msrlj2zh769x4l35q9fq0a2cy2glq3h1iwjkpmvz39y9idwy71h9hd98lydi92485bzkff1dzm70wbr8vc0lg";
       };
     };
     "delayed-stream-1.0.0" = {
@@ -859,6 +1831,33 @@ let
         sha1 = "84c6e159b81904fdca59a0ef44cd870d31250f9a";
       };
     };
+    "depd-1.0.1" = {
+      name = "depd";
+      packageName = "depd";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/depd/-/depd-1.0.1.tgz";
+        sha1 = "80aec64c9d6d97e65cc2a9caa93c0aa6abf73aaa";
+      };
+    };
+    "depd-1.1.2" = {
+      name = "depd";
+      packageName = "depd";
+      version = "1.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz";
+        sha1 = "9bcd52e14c097763e749b274c4346ed2e560b5a9";
+      };
+    };
+    "destroy-1.0.4" = {
+      name = "destroy";
+      packageName = "destroy";
+      version = "1.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz";
+        sha1 = "978857442c44749e4206613e37946205826abd80";
+      };
+    };
     "detect-libc-1.0.3" = {
       name = "detect-libc";
       packageName = "detect-libc";
@@ -868,13 +1867,31 @@ let
         sha1 = "fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b";
       };
     };
-    "diff-3.3.1" = {
+    "dicer-0.2.5" = {
+      name = "dicer";
+      packageName = "dicer";
+      version = "0.2.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/dicer/-/dicer-0.2.5.tgz";
+        sha1 = "5996c086bb33218c812c090bddc09cd12facb70f";
+      };
+    };
+    "diff-1.4.0" = {
       name = "diff";
       packageName = "diff";
-      version = "3.3.1";
+      version = "1.4.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/diff/-/diff-3.3.1.tgz";
-        sha512 = "31pj7v5gg5igmvwzk6zxw1wbvwjg6m9sfl0h3bs1x4q6idcw98vr8z8wcqk2603q0blpqkmkxp659kjj91wksr03yr8xlh16djcg8rh";
+        url = "https://registry.npmjs.org/diff/-/diff-1.4.0.tgz";
+        sha1 = "7f28d2eb9ee7b15a97efd89ce63dcfdaa3ccbabf";
+      };
+    };
+    "diff-3.5.0" = {
+      name = "diff";
+      packageName = "diff";
+      version = "3.5.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz";
+        sha512 = "32bkv3cfhax4x5zhiyfn63wjhqwkzsjiql3my8p3d9hvv020p8f9hdi7mpqixrkpgs0g9k15mn736s449yad9wq1plhxyhxb2sam3h3";
       };
     };
     "directory-index-html-2.1.0" = {
@@ -886,13 +1903,13 @@ let
         sha1 = "4d5afc5187edba67ec6ab0e55f6422a0e2cb7338";
       };
     };
-    "discovery-channel-5.4.7" = {
+    "discovery-channel-5.5.1" = {
       name = "discovery-channel";
       packageName = "discovery-channel";
-      version = "5.4.7";
+      version = "5.5.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/discovery-channel/-/discovery-channel-5.4.7.tgz";
-        sha512 = "3c8npbdr7r6725kkj76h5zy72l3gd8ndb3dy4dwbapxapfzccl9f6iy0zdy3wxywcfb6cc64w4mf089v00rcr1aqcjdlvn483pnzs78";
+        url = "https://registry.npmjs.org/discovery-channel/-/discovery-channel-5.5.1.tgz";
+        sha512 = "2zzy8n58w43cvmnascylmw3nppynm334nsjd85w329k8461lwif8xz8b5xqhx8grhpiawhhrri9nlf08ajxriiy4sn26gila509jj8h";
       };
     };
     "discovery-swarm-4.4.2" = {
@@ -913,6 +1930,15 @@ let
         sha512 = "2hda8mbvxc2r10g5p9dsrjk3qdrp7gpk66ps0dikwzcdgn9bvsf8ih9k19kxw7wr299cm7hav2q6rjp5m76zyb6mb19bfa3g6zxyvmg";
       };
     };
+    "dns-discovery-6.1.0" = {
+      name = "dns-discovery";
+      packageName = "dns-discovery";
+      version = "6.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/dns-discovery/-/dns-discovery-6.1.0.tgz";
+        sha512 = "2qyx3fzq9h9x0m2l5b9226hx2vxpl7w3sgh352qfpa683zmjbzsm8x984jvfmrl3yzzipwg07p6dqdcm8ba3v19x5q1sdgfdhpssp9a";
+      };
+    };
     "dns-packet-1.3.1" = {
       name = "dns-packet";
       packageName = "dns-packet";
@@ -922,6 +1948,15 @@ let
         sha512 = "19g682cvkba33mwrism28hibd2nv9xd16k5bj807jx3ih1cc7ff9dn8chmfjnqgglzl6lq3m3jarxng9vbarccgchd0aq118d15yk6i";
       };
     };
+    "dns-packet-4.2.0" = {
+      name = "dns-packet";
+      packageName = "dns-packet";
+      version = "4.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/dns-packet/-/dns-packet-4.2.0.tgz";
+        sha512 = "05pqsdg5q8r1i9z4dnii6sr7i3b6ir4gay5h3xk18jraa2w3201wfw6mz53dn494dqd19djdfbp78p6v70kia4862sbj5g4jwm40zbf";
+      };
+    };
     "dns-socket-1.6.3" = {
       name = "dns-socket";
       packageName = "dns-socket";
@@ -931,6 +1966,15 @@ let
         sha512 = "2g9g9jqx44qpiawlxfn1g647dqwwz2djjpy350c83d1z79d5wa21cknh1jz4wrwsjkvgn14vhmjjxqxf5n8fqq6fjyzw85aa7fk4rgy";
       };
     };
+    "dns-socket-3.0.0" = {
+      name = "dns-socket";
+      packageName = "dns-socket";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/dns-socket/-/dns-socket-3.0.0.tgz";
+        sha512 = "3yrr8f842jzbhkhbi8a5pgqasyqn03n74gq9l43qmr33ih6ms57kdl5ffkb6zpaaicgj2w8w7kdx4s4xh10aw3vz3k69zh9583s8i9k";
+      };
+    };
     "dns-txt-2.0.2" = {
       name = "dns-txt";
       packageName = "dns-txt";
@@ -949,13 +1993,58 @@ let
         sha1 = "672226dc74c8f799ad35307df936aba11acd6018";
       };
     };
-    "duplexify-3.5.3" = {
+    "dot-prop-4.2.0" = {
+      name = "dot-prop";
+      packageName = "dot-prop";
+      version = "4.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/dot-prop/-/dot-prop-4.2.0.tgz";
+        sha512 = "2wyv9brsq3dzp724y1q5z5j5ja83y834hgc193lnarfdycwz1ii3xg02qxx3dg05x3skwjm1di5s5a8hqi8l5v1afx2bia436pifhxm";
+      };
+    };
+    "download-5.0.3" = {
+      name = "download";
+      packageName = "download";
+      version = "5.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/download/-/download-5.0.3.tgz";
+        sha1 = "63537f977f99266a30eb8a2a2fbd1f20b8000f7a";
+      };
+    };
+    "download-git-repo-1.0.2" = {
+      name = "download-git-repo";
+      packageName = "download-git-repo";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/download-git-repo/-/download-git-repo-1.0.2.tgz";
+        sha512 = "21sjxnakbaz6gkw8lrk0dizw893hwawsrhaypkxph8cdf6v7gyxl8b4n82qh99v4zvzcbbxbc7ff8jzkkn91vmn0w381vzh9ypi801z";
+      };
+    };
+    "duplexer-0.1.1" = {
+      name = "duplexer";
+      packageName = "duplexer";
+      version = "0.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz";
+        sha1 = "ace6ff808c1ce66b57d1ebf97977acb02334cfc1";
+      };
+    };
+    "duplexer3-0.1.4" = {
+      name = "duplexer3";
+      packageName = "duplexer3";
+      version = "0.1.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz";
+        sha1 = "ee01dd1cac0ed3cbc7fdbea37dc0a8f1ce002ce2";
+      };
+    };
+    "duplexify-3.6.0" = {
       name = "duplexify";
       packageName = "duplexify";
-      version = "3.5.3";
+      version = "3.6.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/duplexify/-/duplexify-3.5.3.tgz";
-        sha512 = "0c611ik2kv5wiqwfi5zjyx70dnw117lbr0wwqxqxc0hldnnfigiqyh5xr7x6267vs63jgvqkzvvwb3b1g37zkk3nx5dh5z8xbs07hl3";
+        url = "https://registry.npmjs.org/duplexify/-/duplexify-3.6.0.tgz";
+        sha512 = "12hhn0igd7y8nmni0qd63wpc9w1fl5rgdh4d1mq65n6r00l7byh7fs5v6m6pd8xzwmnxhrxqrc1y5yh6hswbh2i9ic9la21if5w7vbw";
       };
     };
     "ecc-jsbn-0.1.1" = {
@@ -967,6 +2056,42 @@ let
         sha1 = "0fc73a9ed5f0d53c38193398523ef7e543777505";
       };
     };
+    "ee-first-1.1.0" = {
+      name = "ee-first";
+      packageName = "ee-first";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ee-first/-/ee-first-1.1.0.tgz";
+        sha1 = "6a0d7c6221e490feefd92ec3f441c9ce8cd097f4";
+      };
+    };
+    "ee-first-1.1.1" = {
+      name = "ee-first";
+      packageName = "ee-first";
+      version = "1.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz";
+        sha1 = "590c61156b0ae2f4f0255732a158b266bc56b21d";
+      };
+    };
+    "enable-1.3.2" = {
+      name = "enable";
+      packageName = "enable";
+      version = "1.3.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/enable/-/enable-1.3.2.tgz";
+        sha1 = "9eba6837d16d0982b59f87d889bf754443d52931";
+      };
+    };
+    "encodeurl-1.0.2" = {
+      name = "encodeurl";
+      packageName = "encodeurl";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz";
+        sha1 = "ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59";
+      };
+    };
     "end-of-stream-1.4.1" = {
       name = "end-of-stream";
       packageName = "end-of-stream";
@@ -976,6 +2101,69 @@ let
         sha512 = "3cjrpi6n5i6gf8jaiwg31y2xkgx59szhhcj9myqwmdw16s9r6yvwznxd2lhqf96mpm6knyb3w2bcnksg5nzkrq6iada0k6nvdj2pjfl";
       };
     };
+    "es5-ext-0.10.42" = {
+      name = "es5-ext";
+      packageName = "es5-ext";
+      version = "0.10.42";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.42.tgz";
+        sha512 = "1412ssfrx1kvraz8kp4x9lc1jzcdh2952vbmlimrfalmbjv44rh504ihb4fg5mjwx8ix1f1wii0a0qngwrfk4gl271mcywgp7b4x700";
+      };
+    };
+    "es6-iterator-2.0.3" = {
+      name = "es6-iterator";
+      packageName = "es6-iterator";
+      version = "2.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz";
+        sha1 = "a7de889141a05a94b0854403b2d0a0fbfa98f3b7";
+      };
+    };
+    "es6-map-0.1.5" = {
+      name = "es6-map";
+      packageName = "es6-map";
+      version = "0.1.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/es6-map/-/es6-map-0.1.5.tgz";
+        sha1 = "9136e0503dcc06a301690f0bb14ff4e364e949f0";
+      };
+    };
+    "es6-set-0.1.5" = {
+      name = "es6-set";
+      packageName = "es6-set";
+      version = "0.1.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/es6-set/-/es6-set-0.1.5.tgz";
+        sha1 = "d2b3ec5d4d800ced818db538d28974db0a73ccb1";
+      };
+    };
+    "es6-symbol-3.1.1" = {
+      name = "es6-symbol";
+      packageName = "es6-symbol";
+      version = "3.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.1.tgz";
+        sha1 = "bf00ef4fdab6ba1b46ecb7b629b4c7ed5715cc77";
+      };
+    };
+    "escape-html-1.0.3" = {
+      name = "escape-html";
+      packageName = "escape-html";
+      version = "1.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz";
+        sha1 = "0258eae4d3d0c0974de1c169188ef0051d1d1988";
+      };
+    };
+    "escape-string-regexp-1.0.2" = {
+      name = "escape-string-regexp";
+      packageName = "escape-string-regexp";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.2.tgz";
+        sha1 = "4dbc2fe674e71949caf3fb2695ce7f2dc1d9a8d1";
+      };
+    };
     "escape-string-regexp-1.0.5" = {
       name = "escape-string-regexp";
       packageName = "escape-string-regexp";
@@ -985,6 +2173,60 @@ let
         sha1 = "1b61c0562190a8dff6ae3bb2cf0200ca130b86d4";
       };
     };
+    "esprima-4.0.0" = {
+      name = "esprima";
+      packageName = "esprima";
+      version = "4.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/esprima/-/esprima-4.0.0.tgz";
+        sha512 = "27mkhd94y9vrr8pb97br0ym5h85rawwb0biswgwdfp31x0387y12k9p9598bi4fc83fif6crfzqiqmmjs4x7gcb22ml3z1fldqm7yx1";
+      };
+    };
+    "etag-1.8.1" = {
+      name = "etag";
+      packageName = "etag";
+      version = "1.8.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz";
+        sha1 = "41ae2eeb65efa62268aebfea83ac7d79299b0887";
+      };
+    };
+    "event-emitter-0.3.5" = {
+      name = "event-emitter";
+      packageName = "event-emitter";
+      version = "0.3.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz";
+        sha1 = "df8c69eef1647923c7157b9ce83840610b02cc39";
+      };
+    };
+    "event-stream-3.3.4" = {
+      name = "event-stream";
+      packageName = "event-stream";
+      version = "3.3.4";
+      src = fetchurl {
+        url = "http://registry.npmjs.org/event-stream/-/event-stream-3.3.4.tgz";
+        sha1 = "4ab4c9a0f5a54db9338b4c34d86bfce8f4b35571";
+      };
+    };
+    "execa-0.7.0" = {
+      name = "execa";
+      packageName = "execa";
+      version = "0.7.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz";
+        sha1 = "944becd34cc41ee32a63a9faf27ad5a65fc59777";
+      };
+    };
+    "exit-hook-1.1.1" = {
+      name = "exit-hook";
+      packageName = "exit-hook";
+      version = "1.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/exit-hook/-/exit-hook-1.1.1.tgz";
+        sha1 = "f05ca233b48c05d54fff07765df8507e95c02ff8";
+      };
+    };
     "expand-brackets-0.1.5" = {
       name = "expand-brackets";
       packageName = "expand-brackets";
@@ -994,6 +2236,15 @@ let
         sha1 = "df07284e342a807cd733ac5af72411e581d1177b";
       };
     };
+    "expand-brackets-2.1.4" = {
+      name = "expand-brackets";
+      packageName = "expand-brackets";
+      version = "2.1.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz";
+        sha1 = "b77735e315ce30f6b6eff0f83b04151a22449622";
+      };
+    };
     "expand-range-1.8.2" = {
       name = "expand-range";
       packageName = "expand-range";
@@ -1003,6 +2254,15 @@ let
         sha1 = "a299effd335fe2721ebae8e257ec79644fc85337";
       };
     };
+    "extend-3.0.0" = {
+      name = "extend";
+      packageName = "extend";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/extend/-/extend-3.0.0.tgz";
+        sha1 = "5a474353b9f3353ddd8176dfd37b91c83a46f1d4";
+      };
+    };
     "extend-3.0.1" = {
       name = "extend";
       packageName = "extend";
@@ -1012,6 +2272,33 @@ let
         sha1 = "a755ea7bc1adfcc5a31ce7e762dbaadc5e636444";
       };
     };
+    "extend-shallow-2.0.1" = {
+      name = "extend-shallow";
+      packageName = "extend-shallow";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz";
+        sha1 = "51af7d614ad9a9f610ea1bafbb989d6b1c56890f";
+      };
+    };
+    "extend-shallow-3.0.2" = {
+      name = "extend-shallow";
+      packageName = "extend-shallow";
+      version = "3.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz";
+        sha1 = "26a71aaf073b39fb2127172746131c2704028db8";
+      };
+    };
+    "external-editor-2.2.0" = {
+      name = "external-editor";
+      packageName = "external-editor";
+      version = "2.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/external-editor/-/external-editor-2.2.0.tgz";
+        sha512 = "3sf897ajmkcp0j6rgd0jy6k95s9ck3j305yrr00kmckl8qdhswhbdd5g4m2fai03x8phs1vw2ahf9v7ym5ji4zfxydxyamiy61glabd";
+      };
+    };
     "extglob-0.3.2" = {
       name = "extglob";
       packageName = "extglob";
@@ -1021,6 +2308,15 @@ let
         sha1 = "2e18ff3d2f49ab2765cec9023f011daa8d8349a1";
       };
     };
+    "extglob-2.0.4" = {
+      name = "extglob";
+      packageName = "extglob";
+      version = "2.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz";
+        sha512 = "2klp0045k4wnaspb9khqx90ddv7rjg997mlyp5qz41sl2yqdrpw8g8wji77qq16aawl4yhvg0f993ln48lja0kfmy0wnbh4g50zlrin";
+      };
+    };
     "extsprintf-1.3.0" = {
       name = "extsprintf";
       packageName = "extsprintf";
@@ -1066,6 +2362,60 @@ let
         sha1 = "d303ccbfee02a9a56a3493fb08bcb59691aa53b1";
       };
     };
+    "fd-slicer-1.0.1" = {
+      name = "fd-slicer";
+      packageName = "fd-slicer";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.0.1.tgz";
+        sha1 = "8b5bcbd9ec327c5041bf9ab023fd6750f1177e65";
+      };
+    };
+    "figures-1.7.0" = {
+      name = "figures";
+      packageName = "figures";
+      version = "1.7.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz";
+        sha1 = "cbe1e3affcf1cd44b80cadfed28dc793a9701d2e";
+      };
+    };
+    "figures-2.0.0" = {
+      name = "figures";
+      packageName = "figures";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz";
+        sha1 = "3ab1a2d2a62c8bfb431a0c94cb797a2fce27c962";
+      };
+    };
+    "file-type-3.9.0" = {
+      name = "file-type";
+      packageName = "file-type";
+      version = "3.9.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/file-type/-/file-type-3.9.0.tgz";
+        sha1 = "257a078384d1db8087bc449d107d52a52672b9e9";
+      };
+    };
+    "file-type-5.2.0" = {
+      name = "file-type";
+      packageName = "file-type";
+      version = "5.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/file-type/-/file-type-5.2.0.tgz";
+        sha1 = "2ddbea7c73ffe36368dfae49dc338c058c2b8ad6";
+      };
+    };
+    "file-type-6.2.0" = {
+      name = "file-type";
+      packageName = "file-type";
+      version = "6.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/file-type/-/file-type-6.2.0.tgz";
+        sha512 = "0xf8ry7jj1c5mvvp5qxidq3qcqxzdngx1q9r981ddq3wfcidwqd4h52hplv462hvm9frdl086advhfqfxbnvwm8ass3knby6l217xv0";
+      };
+    };
     "filename-regex-2.0.1" = {
       name = "filename-regex";
       packageName = "filename-regex";
@@ -1075,6 +2425,24 @@ let
         sha1 = "c1c4b9bee3e09725ddb106b75c1e301fe2f18b26";
       };
     };
+    "filename-reserved-regex-2.0.0" = {
+      name = "filename-reserved-regex";
+      packageName = "filename-reserved-regex";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/filename-reserved-regex/-/filename-reserved-regex-2.0.0.tgz";
+        sha1 = "abf73dfab735d045440abfea2d91f389ebbfa229";
+      };
+    };
+    "filenamify-2.0.0" = {
+      name = "filenamify";
+      packageName = "filenamify";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/filenamify/-/filenamify-2.0.0.tgz";
+        sha1 = "bd162262c0b6e94bfbcdcf19a3bbb3764f785695";
+      };
+    };
     "fill-range-2.2.3" = {
       name = "fill-range";
       packageName = "fill-range";
@@ -1084,6 +2452,24 @@ let
         sha1 = "50b77dfd7e469bc7492470963699fe7a8485a723";
       };
     };
+    "fill-range-4.0.0" = {
+      name = "fill-range";
+      packageName = "fill-range";
+      version = "4.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz";
+        sha1 = "d544811d428f98eb06a63dc402d2403c328c38f7";
+      };
+    };
+    "finalhandler-1.1.0" = {
+      name = "finalhandler";
+      packageName = "finalhandler";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.0.tgz";
+        sha1 = "ce0b6855b45853e791b2fcc680046d88253dd7f5";
+      };
+    };
     "findup-sync-0.3.0" = {
       name = "findup-sync";
       packageName = "findup-sync";
@@ -1138,13 +2524,13 @@ let
         sha1 = "fbc71f0c41adeb37f96c577ad1ed42d8fdacca91";
       };
     };
-    "form-data-2.1.4" = {
+    "form-data-1.0.0-rc3" = {
       name = "form-data";
       packageName = "form-data";
-      version = "2.1.4";
+      version = "1.0.0-rc3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/form-data/-/form-data-2.1.4.tgz";
-        sha1 = "33c183acf193276ecaa98143a69e94bfee1750d1";
+        url = "https://registry.npmjs.org/form-data/-/form-data-1.0.0-rc3.tgz";
+        sha1 = "d35bc62e7fbc2937ae78f948aaa0d38d90607577";
       };
     };
     "form-data-2.3.2" = {
@@ -1156,6 +2542,51 @@ let
         sha1 = "4970498be604c20c005d4f5c23aecd21d6b49099";
       };
     };
+    "formidable-1.0.17" = {
+      name = "formidable";
+      packageName = "formidable";
+      version = "1.0.17";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/formidable/-/formidable-1.0.17.tgz";
+        sha1 = "ef5491490f9433b705faa77249c99029ae348559";
+      };
+    };
+    "formidable-1.2.1" = {
+      name = "formidable";
+      packageName = "formidable";
+      version = "1.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/formidable/-/formidable-1.2.1.tgz";
+        sha512 = "1x0n2rfaiasdjbw1mm7s29z84f68c7iji7lb1gkxvpknvv6q7bwns7z55ijcf4vkh4kvis12rbgaaih49jf9lj53s30mllb1d35bkqn";
+      };
+    };
+    "fragment-cache-0.2.1" = {
+      name = "fragment-cache";
+      packageName = "fragment-cache";
+      version = "0.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz";
+        sha1 = "4290fad27f13e89be7f33799c6bc5a0abfff0d19";
+      };
+    };
+    "fresh-0.5.2" = {
+      name = "fresh";
+      packageName = "fresh";
+      version = "0.5.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz";
+        sha1 = "3d8cadd90d976569fa835ab1f8e4b23a105605a7";
+      };
+    };
+    "from-0.1.7" = {
+      name = "from";
+      packageName = "from";
+      version = "0.1.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/from/-/from-0.1.7.tgz";
+        sha1 = "83c60afc58b9c56997007ed1a768b3ab303a44fe";
+      };
+    };
     "from2-2.3.0" = {
       name = "from2";
       packageName = "from2";
@@ -1165,6 +2596,42 @@ let
         sha1 = "8bfb5502bde4a4d36cfdeea007fcca21d7e382af";
       };
     };
+    "fs-constants-1.0.0" = {
+      name = "fs-constants";
+      packageName = "fs-constants";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz";
+        sha512 = "2iv1j05gzx1sgpckd597sdd2f5x54rgcib3rpwgf31050wqxn5h27map6cn9wk4vix393s4ws2xv6kgps5zfby2iirb2zw8hk1818yb";
+      };
+    };
+    "fs-extra-0.24.0" = {
+      name = "fs-extra";
+      packageName = "fs-extra";
+      version = "0.24.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/fs-extra/-/fs-extra-0.24.0.tgz";
+        sha1 = "d4e4342a96675cb7846633a6099249332b539952";
+      };
+    };
+    "fs-extra-0.26.7" = {
+      name = "fs-extra";
+      packageName = "fs-extra";
+      version = "0.26.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/fs-extra/-/fs-extra-0.26.7.tgz";
+        sha1 = "9ae1fdd94897798edab76d0918cf42d0c3184fa9";
+      };
+    };
+    "fs-minipass-1.2.5" = {
+      name = "fs-minipass";
+      packageName = "fs-minipass";
+      version = "1.2.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.5.tgz";
+        sha512 = "2hpc9wbzrndi5bswg9q9hwxmg4yd99zbvssxnz6g04clj68qhd8c83zn282v3q7f9h1xi7c4lmnn341nlgfpwby2k14738pr796a416";
+      };
+    };
     "fs.realpath-1.0.0" = {
       name = "fs.realpath";
       packageName = "fs.realpath";
@@ -1174,6 +2641,15 @@ let
         sha1 = "1504ad2523158caa40db4a2787cb01411994ea4f";
       };
     };
+    "fsevents-1.2.3" = {
+      name = "fsevents";
+      packageName = "fsevents";
+      version = "1.2.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/fsevents/-/fsevents-1.2.3.tgz";
+        sha512 = "3nsv4z5qk2hhcrp6bng9bzpj4nsk0b41i363phlqfp69dq1p2x6a1g3y86z2j7aj4mfj88y1i1agkb1y0pg5c388223h394jqxppvjz";
+      };
+    };
     "fstream-1.0.11" = {
       name = "fstream";
       packageName = "fstream";
@@ -1183,15 +2659,6 @@ let
         sha1 = "5c1fb1f117477114f0632a0eb4b71b3cb0fd3171";
       };
     };
-    "fstream-ignore-1.0.5" = {
-      name = "fstream-ignore";
-      packageName = "fstream-ignore";
-      version = "1.0.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/fstream-ignore/-/fstream-ignore-1.0.5.tgz";
-        sha1 = "9c31dae34767018fe1d249b24dada67d092da105";
-      };
-    };
     "gauge-2.7.4" = {
       name = "gauge";
       packageName = "gauge";
@@ -1201,6 +2668,42 @@ let
         sha1 = "2c03405c7538c39d7eb37b317022e325fb018bf7";
       };
     };
+    "get-proxy-2.1.0" = {
+      name = "get-proxy";
+      packageName = "get-proxy";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/get-proxy/-/get-proxy-2.1.0.tgz";
+        sha512 = "0kjf4p1krvzah7k5yngvvc39b7jnkzqlp3cdab8451zh1q4mxmav111dmycnadv28ja2wvcwvavjl7w550ja7qyw4dx976n0illhrnf";
+      };
+    };
+    "get-stream-2.3.1" = {
+      name = "get-stream";
+      packageName = "get-stream";
+      version = "2.3.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/get-stream/-/get-stream-2.3.1.tgz";
+        sha1 = "5f38f93f346009666ee0150a054167f91bdd95de";
+      };
+    };
+    "get-stream-3.0.0" = {
+      name = "get-stream";
+      packageName = "get-stream";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz";
+        sha1 = "8e943d1358dc37555054ecbe2edb05aa174ede14";
+      };
+    };
+    "get-value-2.0.6" = {
+      name = "get-value";
+      packageName = "get-value";
+      version = "2.0.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz";
+        sha1 = "dc15ca1c672387ca76bd37ac0a395ba2042a2c28";
+      };
+    };
     "getpass-0.1.7" = {
       name = "getpass";
       packageName = "getpass";
@@ -1210,6 +2713,24 @@ let
         sha1 = "5eff8e3e684d569ae4cb2b1282604e8ba62149fa";
       };
     };
+    "git-clone-0.1.0" = {
+      name = "git-clone";
+      packageName = "git-clone";
+      version = "0.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/git-clone/-/git-clone-0.1.0.tgz";
+        sha1 = "0d76163778093aef7f1c30238f2a9ef3f07a2eb9";
+      };
+    };
+    "glob-3.2.11" = {
+      name = "glob";
+      packageName = "glob";
+      version = "3.2.11";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/glob/-/glob-3.2.11.tgz";
+        sha1 = "4a973f635b9190f715d10987d5c00fd2815ebe3d";
+      };
+    };
     "glob-5.0.15" = {
       name = "glob";
       packageName = "glob";
@@ -1246,6 +2767,15 @@ let
         sha1 = "81383d72db054fcccf5336daa902f182f6edbb28";
       };
     };
+    "glob-parent-3.1.0" = {
+      name = "glob-parent";
+      packageName = "glob-parent";
+      version = "3.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz";
+        sha1 = "9e6af6299d8d3bd2bd40430832bd113df906c5ae";
+      };
+    };
     "global-4.3.2" = {
       name = "global";
       packageName = "global";
@@ -1255,6 +2785,24 @@ let
         sha1 = "e76989268a6c74c38908b1305b10fc0e394e9d0f";
       };
     };
+    "global-dirs-0.1.1" = {
+      name = "global-dirs";
+      packageName = "global-dirs";
+      version = "0.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/global-dirs/-/global-dirs-0.1.1.tgz";
+        sha1 = "b319c0dd4607f353f3be9cca4c72fc148c49f445";
+      };
+    };
+    "got-6.7.1" = {
+      name = "got";
+      packageName = "got";
+      version = "6.7.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/got/-/got-6.7.1.tgz";
+        sha1 = "240cd05785a9a18e561dc1b44b41c763ef1e8db0";
+      };
+    };
     "graceful-fs-4.1.11" = {
       name = "graceful-fs";
       packageName = "graceful-fs";
@@ -1273,6 +2821,24 @@ let
         sha1 = "4cafad76bc62f02fa039b2f94e9a3dd3a391a725";
       };
     };
+    "graphlib-2.1.5" = {
+      name = "graphlib";
+      packageName = "graphlib";
+      version = "2.1.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/graphlib/-/graphlib-2.1.5.tgz";
+        sha512 = "0w1lx3hms5mx84mlxsgpvjr42qba17wwqhma0np67c9l8smkd2nwx7gr8724a2q1z7x0hjdjnwzx81893mj2ax498wl7y1h4yl5pysy";
+      };
+    };
+    "gray-matter-2.1.1" = {
+      name = "gray-matter";
+      packageName = "gray-matter";
+      version = "2.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/gray-matter/-/gray-matter-2.1.1.tgz";
+        sha1 = "3042d9adec2a1ded6a7707a9ed2380f8a17a430e";
+      };
+    };
     "growl-1.10.3" = {
       name = "growl";
       packageName = "growl";
@@ -1282,6 +2848,15 @@ let
         sha512 = "3aibvz85l13j140w4jjdk8939q6r7dnf8ay2licxgkaaldk7wbm093c1p5g7k5cg80rl0xslmczyraawfgdr82hhxn7rfsm1rn6rac4";
       };
     };
+    "growl-1.9.2" = {
+      name = "growl";
+      packageName = "growl";
+      version = "1.9.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/growl/-/growl-1.9.2.tgz";
+        sha1 = "0ea7743715db8d8de2c5ede1775e1b45ac85c02f";
+      };
+    };
     "grunt-known-options-1.1.0" = {
       name = "grunt-known-options";
       packageName = "grunt-known-options";
@@ -1291,13 +2866,13 @@ let
         sha1 = "a4274eeb32fa765da5a7a3b1712617ce3b144149";
       };
     };
-    "har-schema-1.0.5" = {
-      name = "har-schema";
-      packageName = "har-schema";
-      version = "1.0.5";
+    "handlebars-4.0.11" = {
+      name = "handlebars";
+      packageName = "handlebars";
+      version = "4.0.11";
       src = fetchurl {
-        url = "https://registry.npmjs.org/har-schema/-/har-schema-1.0.5.tgz";
-        sha1 = "d263135f43307c02c602afc8fe95970c0151369e";
+        url = "https://registry.npmjs.org/handlebars/-/handlebars-4.0.11.tgz";
+        sha1 = "630a35dfe0294bc281edae6ffc5d329fc7982dcc";
       };
     };
     "har-schema-2.0.0" = {
@@ -1309,15 +2884,6 @@ let
         sha1 = "a94c2224ebcac04782a0d9035521f24735b7ec92";
       };
     };
-    "har-validator-4.2.1" = {
-      name = "har-validator";
-      packageName = "har-validator";
-      version = "4.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/har-validator/-/har-validator-4.2.1.tgz";
-        sha1 = "33481d0f1bbff600dd203d75812a6a5fba002e2a";
-      };
-    };
     "har-validator-5.0.3" = {
       name = "har-validator";
       packageName = "har-validator";
@@ -1327,6 +2893,15 @@ let
         sha1 = "ba402c266194f15956ef15e0fcf242993f6a7dfd";
       };
     };
+    "has-ansi-2.0.0" = {
+      name = "has-ansi";
+      packageName = "has-ansi";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz";
+        sha1 = "34f5049ce1ecdf2b0649af3ef24e45ed35416d91";
+      };
+    };
     "has-flag-2.0.0" = {
       name = "has-flag";
       packageName = "has-flag";
@@ -1345,6 +2920,33 @@ let
         sha1 = "b5d454dc2199ae225699f3467e5a07f3b955bafd";
       };
     };
+    "has-generators-1.0.1" = {
+      name = "has-generators";
+      packageName = "has-generators";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/has-generators/-/has-generators-1.0.1.tgz";
+        sha1 = "a6a2e55486011940482e13e2c93791c449acf449";
+      };
+    };
+    "has-symbol-support-x-1.4.2" = {
+      name = "has-symbol-support-x";
+      packageName = "has-symbol-support-x";
+      version = "1.4.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/has-symbol-support-x/-/has-symbol-support-x-1.4.2.tgz";
+        sha512 = "0kljkjnsw7jnqm8dpf05rd7a59xjfwlbmp1qxs5kdda78zwwqfpkq5ryc2510iyam6v5vbyy0h7bpkwqadajq1ag2zaa7dymyyhwfnx";
+      };
+    };
+    "has-to-string-tag-x-1.4.1" = {
+      name = "has-to-string-tag-x";
+      packageName = "has-to-string-tag-x";
+      version = "1.4.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/has-to-string-tag-x/-/has-to-string-tag-x-1.4.1.tgz";
+        sha512 = "0bqvhd628h3lrsydbp1xllh7jp23c58j7d4z0x0v9ddffindkk1zfrqmzm28z47ipjp0zxlmzvmlzk98zf9mzjsc47bmp1ydizcmmmx";
+      };
+    };
     "has-unicode-2.0.1" = {
       name = "has-unicode";
       packageName = "has-unicode";
@@ -1354,13 +2956,40 @@ let
         sha1 = "e0e6fe6a28cf51138855e086d1691e771de2a8b9";
       };
     };
-    "hawk-3.1.3" = {
-      name = "hawk";
-      packageName = "hawk";
-      version = "3.1.3";
+    "has-value-0.3.1" = {
+      name = "has-value";
+      packageName = "has-value";
+      version = "0.3.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz";
-        sha1 = "078444bd7c1640b0fe540d2c9b73d59678e8e1c4";
+        url = "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz";
+        sha1 = "7b1f58bada62ca827ec0a2078025654845995e1f";
+      };
+    };
+    "has-value-1.0.0" = {
+      name = "has-value";
+      packageName = "has-value";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz";
+        sha1 = "18b281da585b1c5c51def24c930ed29a0be6b177";
+      };
+    };
+    "has-values-0.1.4" = {
+      name = "has-values";
+      packageName = "has-values";
+      version = "0.1.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz";
+        sha1 = "6d61de95d91dfca9b9a02089ad384bff8f62b771";
+      };
+    };
+    "has-values-1.0.0" = {
+      name = "has-values";
+      packageName = "has-values";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz";
+        sha1 = "95b0b63fec2146619a6fe57fe75628d5a39efe4f";
       };
     };
     "hawk-6.0.2" = {
@@ -1381,15 +3010,6 @@ let
         sha1 = "93410fd21b009735151f8868c2f271f3427e23fd";
       };
     };
-    "hoek-2.16.3" = {
-      name = "hoek";
-      packageName = "hoek";
-      version = "2.16.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz";
-        sha1 = "20bb7403d3cea398e91dc4710a8ff1b8274a25ed";
-      };
-    };
     "hoek-4.2.1" = {
       name = "hoek";
       packageName = "hoek";
@@ -1399,6 +3019,15 @@ let
         sha512 = "1y8kprb3qldxqj31zai5n8dvhydsl9nn5w4rskhnbzzhldn6pm6n5lcyam3sfkb61a62d5m58k8im7z6ngwbd9cw9zp4zm4y7ckrf20";
       };
     };
+    "http-errors-1.6.3" = {
+      name = "http-errors";
+      packageName = "http-errors";
+      version = "1.6.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz";
+        sha1 = "8b55680bb4be283a0b5bf4ea2e38580be1d9320d";
+      };
+    };
     "http-methods-0.1.0" = {
       name = "http-methods";
       packageName = "http-methods";
@@ -1408,15 +3037,6 @@ let
         sha1 = "29691b6fc58f4f7e81a3605dca82682b068e4430";
       };
     };
-    "http-signature-1.1.1" = {
-      name = "http-signature";
-      packageName = "http-signature";
-      version = "1.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz";
-        sha1 = "df72e267066cd0ac67fb76adf8e134a8fbcf91bf";
-      };
-    };
     "http-signature-1.2.0" = {
       name = "http-signature";
       packageName = "http-signature";
@@ -1426,22 +3046,22 @@ let
         sha1 = "9aecd925114772f3d95b65a60abb8f7c18fbace1";
       };
     };
-    "hypercore-6.12.2" = {
+    "hypercore-6.14.0" = {
       name = "hypercore";
       packageName = "hypercore";
-      version = "6.12.2";
+      version = "6.14.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/hypercore/-/hypercore-6.12.2.tgz";
-        sha512 = "1s7l8r5bpiialz194g5kryp5bpcg8n0x0l7jfgynjiimi3pyn0lkcijijk20g5ibagfzi3jnrlyh1jp9ywbrys5inbwl83ra7a6qbr6";
+        url = "https://registry.npmjs.org/hypercore/-/hypercore-6.14.0.tgz";
+        sha512 = "3liw77yhvn3nlrczf9s30vvn4bxrn3glh65a2psy1va9pvcnjwx6wfh52v5l9qbd7zyp4q4nb7qrq0n3am7jwmz3dkb5fzvdnlwikkh";
       };
     };
-    "hypercore-protocol-6.5.2" = {
+    "hypercore-protocol-6.6.4" = {
       name = "hypercore-protocol";
       packageName = "hypercore-protocol";
-      version = "6.5.2";
+      version = "6.6.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/hypercore-protocol/-/hypercore-protocol-6.5.2.tgz";
-        sha512 = "03l77nma8ga06ywa469jzqgc13hjk9bg3w2cv95g3fwnqy2fvz8qpczcih65jscvk0ira5kpm3sk2vqh2whzzvnm19jlqrzi78v80n3";
+        url = "https://registry.npmjs.org/hypercore-protocol/-/hypercore-protocol-6.6.4.tgz";
+        sha512 = "0rxj8d4lp45q7v3wwwv23m7qi84vw3wvyafqiy9x5f9lqkynq8v8yajpq9bcnc935927qjnxajn8n0cyhg0fqjnpywlfyxgxczkndgm";
       };
     };
     "hyperdrive-9.12.3" = {
@@ -1480,6 +3100,69 @@ let
         sha1 = "d96c92732076f072711b6b10fd7d4f65ad8ee23d";
       };
     };
+    "iconv-lite-0.4.22" = {
+      name = "iconv-lite";
+      packageName = "iconv-lite";
+      version = "0.4.22";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.22.tgz";
+        sha512 = "1fdqcacbfr3yxs5i2kj9kn06lgx2a9yfrdps0hsmw96p1slawiqp3qyfnqczp570wbbi5sr8valqyll05a5gzj3ahppnkl32waaf26l";
+      };
+    };
+    "iconv-lite-0.4.8" = {
+      name = "iconv-lite";
+      packageName = "iconv-lite";
+      version = "0.4.8";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.8.tgz";
+        sha1 = "c6019a7595f2cefca702eab694a010bcd9298d20";
+      };
+    };
+    "ieee754-1.1.11" = {
+      name = "ieee754";
+      packageName = "ieee754";
+      version = "1.1.11";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ieee754/-/ieee754-1.1.11.tgz";
+        sha512 = "0g5x1ijy37vzfz46pnh03mxkmdb9d2qd9f8ncy49xj4j9xkks9p0x8s5hnyc7grwh6sryk118rd7w7wz6w0hzyw9agwnavvlc4g642n";
+      };
+    };
+    "ignore-by-default-1.0.1" = {
+      name = "ignore-by-default";
+      packageName = "ignore-by-default";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ignore-by-default/-/ignore-by-default-1.0.1.tgz";
+        sha1 = "48ca6d72f6c6a3af00a9ad4ae6876be3889e2b09";
+      };
+    };
+    "ignore-walk-3.0.1" = {
+      name = "ignore-walk";
+      packageName = "ignore-walk";
+      version = "3.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.1.tgz";
+        sha512 = "2ajgs5klg786rkdxs37mbxn0p8ah2ai0nj0bjv5vbrfir4y0pvrhxxadv46s8g1hqkq5p3fjssys3n6qvz60p4jzjsgfq683lrnad8d";
+      };
+    };
+    "import-lazy-2.1.0" = {
+      name = "import-lazy";
+      packageName = "import-lazy";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/import-lazy/-/import-lazy-2.1.0.tgz";
+        sha1 = "05698e3d45c88e8d7e9d92cb0584e77f096f3e43";
+      };
+    };
+    "imurmurhash-0.1.4" = {
+      name = "imurmurhash";
+      packageName = "imurmurhash";
+      version = "0.1.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz";
+        sha1 = "9218b9b2b928a238b13dc4fb6b6d576f231453ea";
+      };
+    };
     "inflight-1.0.6" = {
       name = "inflight";
       packageName = "inflight";
@@ -1507,6 +3190,24 @@ let
         sha512 = "1rjbvf1rg5ywhnba08sgagn2qf23lab330qrqmh7d891zap3xpxcyfyj1cblpf0f0rypglcfacybzyrpd4996aa1mbc820awa33k5j5";
       };
     };
+    "inquirer-0.10.1" = {
+      name = "inquirer";
+      packageName = "inquirer";
+      version = "0.10.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/inquirer/-/inquirer-0.10.1.tgz";
+        sha1 = "ea25e4ce69ca145e05c99e46dcfec05e4012594a";
+      };
+    };
+    "inquirer-3.3.0" = {
+      name = "inquirer";
+      packageName = "inquirer";
+      version = "3.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/inquirer/-/inquirer-3.3.0.tgz";
+        sha512 = "1wsmzzva3rfjb4bfks7ba2nvha9ziwgq2kag6xxibc5cc6mz19xbgj4fm3a7ghvfbfx4am0x13ibc8j2s5m3sv12nph44rq56gnvv47";
+      };
+    };
     "ip-1.1.5" = {
       name = "ip";
       packageName = "ip";
@@ -1516,6 +3217,42 @@ let
         sha1 = "bdded70114290828c0a039e72ef25f5aaec4354a";
       };
     };
+    "is-3.2.1" = {
+      name = "is";
+      packageName = "is";
+      version = "3.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is/-/is-3.2.1.tgz";
+        sha1 = "d0ac2ad55eb7b0bec926a5266f6c662aaa83dca5";
+      };
+    };
+    "is-accessor-descriptor-0.1.6" = {
+      name = "is-accessor-descriptor";
+      packageName = "is-accessor-descriptor";
+      version = "0.1.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz";
+        sha1 = "a9e12cb3ae8d876727eeef3843f8a0897b5c98d6";
+      };
+    };
+    "is-accessor-descriptor-1.0.0" = {
+      name = "is-accessor-descriptor";
+      packageName = "is-accessor-descriptor";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz";
+        sha512 = "1qllik6fjwfq17ic0fxwqyll8mrhmcm36xfsq45xc57mq9ah4i4nn4f8fvgb0gx4kpl3jlpkzndp0xlmmf2mh0xmggw6mhw74fng64v";
+      };
+    };
+    "is-binary-path-1.0.1" = {
+      name = "is-binary-path";
+      packageName = "is-binary-path";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz";
+        sha1 = "75f16642b480f187a711c814161fd3a4a7655898";
+      };
+    };
     "is-buffer-1.1.6" = {
       name = "is-buffer";
       packageName = "is-buffer";
@@ -1525,6 +3262,51 @@ let
         sha512 = "3kr8dm9qyklmm2xyiz75s8db90bfilfals4x0g276kncihrrrz0ar4y6dqpvc7pwy7h43jay1bayi1r62x97nzvcswkk4ap18pl1irm";
       };
     };
+    "is-ci-1.1.0" = {
+      name = "is-ci";
+      packageName = "is-ci";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-ci/-/is-ci-1.1.0.tgz";
+        sha512 = "0m66alrh568wj40xwshf8q99gsjfk1jr0czp4jc2sm519wfzzzprkl5zjvw2r5h49p72d50ywj9qg67dnyazq0ijy4flgny2b1ygd3k";
+      };
+    };
+    "is-data-descriptor-0.1.4" = {
+      name = "is-data-descriptor";
+      packageName = "is-data-descriptor";
+      version = "0.1.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz";
+        sha1 = "0b5ee648388e2c860282e793f1856fec3f301b56";
+      };
+    };
+    "is-data-descriptor-1.0.0" = {
+      name = "is-data-descriptor";
+      packageName = "is-data-descriptor";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz";
+        sha512 = "0ny6kxc752fg3z6fmj8a7fw2lai2y17d9fx0028nvyv1qj0sa30rfryhv9xd7b7is1yfs0val6amsy2b22rh589il10md36a75mgd4d";
+      };
+    };
+    "is-descriptor-0.1.6" = {
+      name = "is-descriptor";
+      packageName = "is-descriptor";
+      version = "0.1.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz";
+        sha512 = "0gbflcxmd30gzj91y19fylsfalirl6qg71sxjximc8lc2vxkg5h9scnahvxsczymchlx742i8ai489843ys431vyw73rp418jpxiw3a";
+      };
+    };
+    "is-descriptor-1.0.2" = {
+      name = "is-descriptor";
+      packageName = "is-descriptor";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz";
+        sha512 = "2v1a9mn2rzz52v8vs3i7njk9pv95fh971yc81xr0zkaw3dff4gbv1zv048xyjysfgwpajbyryk2px8hinwwh0wagblmw6chdbjsrs6r";
+      };
+    };
     "is-dotfile-1.0.3" = {
       name = "is-dotfile";
       packageName = "is-dotfile";
@@ -1552,6 +3334,15 @@ let
         sha1 = "62b110e289a471418e3ec36a617d472e301dfc89";
       };
     };
+    "is-extendable-1.0.1" = {
+      name = "is-extendable";
+      packageName = "is-extendable";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz";
+        sha512 = "0w73qlx9ynmv2iznw1kll86yd04z4rsz3788nzgh7amcnpsbyxbrs734im9dibqgps6pjyz61s8kp4lcsbjsdfrlc51m1pm2hrxgfba";
+      };
+    };
     "is-extglob-1.0.0" = {
       name = "is-extglob";
       packageName = "is-extglob";
@@ -1561,6 +3352,15 @@ let
         sha1 = "ac468177c4943405a092fc8f29760c6ffc6206c0";
       };
     };
+    "is-extglob-2.1.1" = {
+      name = "is-extglob";
+      packageName = "is-extglob";
+      version = "2.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz";
+        sha1 = "a88c02535791f02ed37c76a1b9ea9773c833f8c2";
+      };
+    };
     "is-fullwidth-code-point-1.0.0" = {
       name = "is-fullwidth-code-point";
       packageName = "is-fullwidth-code-point";
@@ -1597,6 +3397,60 @@ let
         sha1 = "d096f926a3ded5600f3fdfd91198cb0888c2d863";
       };
     };
+    "is-glob-3.1.0" = {
+      name = "is-glob";
+      packageName = "is-glob";
+      version = "3.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz";
+        sha1 = "7ba5ae24217804ac70707b96922567486cc3e84a";
+      };
+    };
+    "is-glob-4.0.0" = {
+      name = "is-glob";
+      packageName = "is-glob";
+      version = "4.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-glob/-/is-glob-4.0.0.tgz";
+        sha1 = "9521c76845cc2610a85203ddf080a958c2ffabc0";
+      };
+    };
+    "is-installed-globally-0.1.0" = {
+      name = "is-installed-globally";
+      packageName = "is-installed-globally";
+      version = "0.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.1.0.tgz";
+        sha1 = "0dfd98f5a9111716dd535dda6492f67bf3d25a80";
+      };
+    };
+    "is-invalid-path-0.1.0" = {
+      name = "is-invalid-path";
+      packageName = "is-invalid-path";
+      version = "0.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-invalid-path/-/is-invalid-path-0.1.0.tgz";
+        sha1 = "307a855b3cf1a938b44ea70d2c61106053714f34";
+      };
+    };
+    "is-natural-number-4.0.1" = {
+      name = "is-natural-number";
+      packageName = "is-natural-number";
+      version = "4.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-natural-number/-/is-natural-number-4.0.1.tgz";
+        sha1 = "ab9d76e1db4ced51e35de0c72ebecf09f734cde8";
+      };
+    };
+    "is-npm-1.0.0" = {
+      name = "is-npm";
+      packageName = "is-npm";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-npm/-/is-npm-1.0.0.tgz";
+        sha1 = "f2fb63a65e4905b406c86072765a1a4dc793b9f4";
+      };
+    };
     "is-number-2.1.0" = {
       name = "is-number";
       packageName = "is-number";
@@ -1615,6 +3469,60 @@ let
         sha1 = "24fd6201a4782cf50561c810276afc7d12d71195";
       };
     };
+    "is-number-4.0.0" = {
+      name = "is-number";
+      packageName = "is-number";
+      version = "4.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz";
+        sha512 = "20ybhnkgsrcwv730ch8qvzayjwcvs83jk2w6iim7wv3h2nn4jz8hsldn0k6ggx4xgcypwirqjb5xdacsswsk06w2nk56zr509q2aadd";
+      };
+    };
+    "is-obj-1.0.1" = {
+      name = "is-obj";
+      packageName = "is-obj";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz";
+        sha1 = "3e4729ac1f5fde025cd7d83a896dab9f4f67db0f";
+      };
+    };
+    "is-object-1.0.1" = {
+      name = "is-object";
+      packageName = "is-object";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-object/-/is-object-1.0.1.tgz";
+        sha1 = "8952688c5ec2ffd6b03ecc85e769e02903083470";
+      };
+    };
+    "is-odd-2.0.0" = {
+      name = "is-odd";
+      packageName = "is-odd";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-odd/-/is-odd-2.0.0.tgz";
+        sha512 = "34m1wg28c9l1v9bqz2klwl4ybhyqkhk80d95664jmcbq1jjpg471nv96mqgqy4838xpa8wm7mbpynmq4294pq6iw163s0ar1b3a4f1r";
+      };
+    };
+    "is-path-inside-1.0.1" = {
+      name = "is-path-inside";
+      packageName = "is-path-inside";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.1.tgz";
+        sha1 = "8ef5b7de50437a3fdca6b4e865ef7aa55cb48036";
+      };
+    };
+    "is-plain-object-2.0.4" = {
+      name = "is-plain-object";
+      packageName = "is-plain-object";
+      version = "2.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz";
+        sha512 = "0xgsjz9m3kg5pm36lcchblxk53qay59ya7wi5jgdmz0dsl5b0j2j7wcd48yyfaip1m70mj9aqf8kib02fn62k0hy0vxg2hng60yk4w7";
+      };
+    };
     "is-posix-bracket-0.1.1" = {
       name = "is-posix-bracket";
       packageName = "is-posix-bracket";
@@ -1633,6 +3541,42 @@ let
         sha1 = "207bab91638499c07b2adf240a41a87210034575";
       };
     };
+    "is-promise-2.1.0" = {
+      name = "is-promise";
+      packageName = "is-promise";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz";
+        sha1 = "79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa";
+      };
+    };
+    "is-redirect-1.0.0" = {
+      name = "is-redirect";
+      packageName = "is-redirect";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-redirect/-/is-redirect-1.0.0.tgz";
+        sha1 = "1d03dded53bd8db0f30c26e4f95d36fc7c87dc24";
+      };
+    };
+    "is-retry-allowed-1.1.0" = {
+      name = "is-retry-allowed";
+      packageName = "is-retry-allowed";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.1.0.tgz";
+        sha1 = "11a060568b67339444033d0125a61a20d564fb34";
+      };
+    };
+    "is-stream-1.1.0" = {
+      name = "is-stream";
+      packageName = "is-stream";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz";
+        sha1 = "12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44";
+      };
+    };
     "is-string-1.0.4" = {
       name = "is-string";
       packageName = "is-string";
@@ -1651,6 +3595,42 @@ let
         sha1 = "e479c80858df0c1b11ddda6940f96011fcda4a9a";
       };
     };
+    "is-utf8-0.2.1" = {
+      name = "is-utf8";
+      packageName = "is-utf8";
+      version = "0.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz";
+        sha1 = "4b0da1442104d1b336340e80797e865cf39f7d72";
+      };
+    };
+    "is-valid-path-0.1.1" = {
+      name = "is-valid-path";
+      packageName = "is-valid-path";
+      version = "0.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-valid-path/-/is-valid-path-0.1.1.tgz";
+        sha1 = "110f9ff74c37f663e1ec7915eb451f2db93ac9df";
+      };
+    };
+    "is-windows-1.0.2" = {
+      name = "is-windows";
+      packageName = "is-windows";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz";
+        sha512 = "0h9a8zw2ddl25yryp7i376iqjdvlsx4gw93sxy4067dw2yi98m3krfwd9xgi9q5w0idw9rqnyhhncr38xsppyi5izkb7ngai58bawkr";
+      };
+    };
+    "isarray-0.0.1" = {
+      name = "isarray";
+      packageName = "isarray";
+      version = "0.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz";
+        sha1 = "8a18acfca9a8f4177e09abfc6038939b05d1eedf";
+      };
+    };
     "isarray-1.0.0" = {
       name = "isarray";
       packageName = "isarray";
@@ -1678,6 +3658,15 @@ let
         sha1 = "f065561096a3f1da2ef46272f815c840d87e0c89";
       };
     };
+    "isobject-3.0.1" = {
+      name = "isobject";
+      packageName = "isobject";
+      version = "3.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz";
+        sha1 = "4e431e92b11a9731636aa1f9c8d1ccbcfdab78df";
+      };
+    };
     "isstream-0.1.2" = {
       name = "isstream";
       packageName = "isstream";
@@ -1687,6 +3676,15 @@ let
         sha1 = "47e63f7af55afa6f92e1500e690eb8b8529c099a";
       };
     };
+    "isurl-1.0.0" = {
+      name = "isurl";
+      packageName = "isurl";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/isurl/-/isurl-1.0.0.tgz";
+        sha512 = "3vs53bpdrwiwwcql2xs20jmd8qha27k4iypdhr0b3isgdaj18vz80nhxwvvqxk6y3x5vj3slchxl0r91gjhz487xmkkp52gridg5zyl";
+      };
+    };
     "iterators-0.1.0" = {
       name = "iterators";
       packageName = "iterators";
@@ -1696,6 +3694,24 @@ let
         sha1 = "d03f666ca4e6130138565997cacea54164203156";
       };
     };
+    "jade-0.26.3" = {
+      name = "jade";
+      packageName = "jade";
+      version = "0.26.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/jade/-/jade-0.26.3.tgz";
+        sha1 = "8f10d7977d8d79f2f6ff862a81b0513ccb25686c";
+      };
+    };
+    "js-yaml-3.11.0" = {
+      name = "js-yaml";
+      packageName = "js-yaml";
+      version = "3.11.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/js-yaml/-/js-yaml-3.11.0.tgz";
+        sha512 = "0gka65n4d9gmcy0c8cy5h55r273dbxnw54gibp2nq5mmdmksjgb2nhcdfgfxs1wg3yayyrydn2v79fny7hdyq907dg87vmgjnsnr8mi";
+      };
+    };
     "jsbn-0.1.1" = {
       name = "jsbn";
       packageName = "jsbn";
@@ -1705,6 +3721,15 @@ let
         sha1 = "a5e654c2e5a2deb5f201d96cefbca80c0ef2f513";
       };
     };
+    "json-refs-2.1.7" = {
+      name = "json-refs";
+      packageName = "json-refs";
+      version = "2.1.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/json-refs/-/json-refs-2.1.7.tgz";
+        sha1 = "b9eb01fe29f5ea3e92878f15aea10ad38b5acf89";
+      };
+    };
     "json-schema-0.2.3" = {
       name = "json-schema";
       packageName = "json-schema";
@@ -1714,6 +3739,15 @@ let
         sha1 = "b480c892e59a2f05954ce727bd3f2a4e882f9e13";
       };
     };
+    "json-schema-deref-sync-0.3.4" = {
+      name = "json-schema-deref-sync";
+      packageName = "json-schema-deref-sync";
+      version = "0.3.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/json-schema-deref-sync/-/json-schema-deref-sync-0.3.4.tgz";
+        sha512 = "1q3093cgk00pbsrzpb8h1j8cxl21gmnw5xb7wd5i3f47yawm6qmbg5ls94d1h1nhay2vh5fcz0wgfzy2ra2ylw77hrr0306apxj6az1";
+      };
+    };
     "json-schema-traverse-0.3.1" = {
       name = "json-schema-traverse";
       packageName = "json-schema-traverse";
@@ -1723,15 +3757,6 @@ let
         sha1 = "349a6d44c53a51de89b40805c5d5e59b417d3340";
       };
     };
-    "json-stable-stringify-1.0.1" = {
-      name = "json-stable-stringify";
-      packageName = "json-stable-stringify";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz";
-        sha1 = "9a759d39c5f2ff503fd5300646ed445f88c4f9af";
-      };
-    };
     "json-stringify-safe-5.0.1" = {
       name = "json-stringify-safe";
       packageName = "json-stringify-safe";
@@ -1741,13 +3766,13 @@ let
         sha1 = "1296a2d58fd45f19a0f6ce01d65701e2c735b6eb";
       };
     };
-    "jsonify-0.0.0" = {
-      name = "jsonify";
-      packageName = "jsonify";
-      version = "0.0.0";
+    "jsonfile-2.4.0" = {
+      name = "jsonfile";
+      packageName = "jsonfile";
+      version = "2.4.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz";
-        sha1 = "2c74b6ee41d93ca51b7b5aaee8f503631d252a73";
+        url = "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz";
+        sha1 = "3736a2b428b87bbda0cc83b53fa3d633a35c2ae8";
       };
     };
     "jsprim-1.4.1" = {
@@ -1768,13 +3793,22 @@ let
         sha512 = "2dkl580azs1f5pj72mpygwdcc2mh4p355sxi84ki1w9c6k226nmjfglq5b7zgk5gmpfjammx5xliirzaf2nh9kyhqdb1xpvhjlic34j";
       };
     };
-    "k-rpc-4.2.1" = {
+    "k-bucket-4.0.0" = {
+      name = "k-bucket";
+      packageName = "k-bucket";
+      version = "4.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/k-bucket/-/k-bucket-4.0.0.tgz";
+        sha512 = "04i173zw3l2aagsnywafmgs87wzhhkakvnhcfvxbnbmn7rz37rkqkryc8d6x8dccqlmvgawb2vhd49ms8s2wkbg3dh3qlffamzcpshk";
+      };
+    };
+    "k-rpc-4.3.1" = {
       name = "k-rpc";
       packageName = "k-rpc";
-      version = "4.2.1";
+      version = "4.3.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/k-rpc/-/k-rpc-4.2.1.tgz";
-        sha512 = "2nbjxg0x7jsa14zhvx68w1vri68hsxzbxz7b7ap76fdp0jkrgna2rq636yxnax04f3f8i2ambj2fpan6qli6vixmfryz78vrapdip8n";
+        url = "https://registry.npmjs.org/k-rpc/-/k-rpc-4.3.1.tgz";
+        sha512 = "0a7k7qcmcik3dwcjd6f0ngq3i3pdz1cc7xz9ck30gd65nd0ylmgx0kf6b686qd1kk32v3rcila2hdj12cnrjwrjqzs96vjqw5jhj04s";
       };
     };
     "k-rpc-socket-1.8.0" = {
@@ -1804,6 +3838,33 @@ let
         sha1 = "20813df3d712928b207378691a45066fae72dd57";
       };
     };
+    "kind-of-5.1.0" = {
+      name = "kind-of";
+      packageName = "kind-of";
+      version = "5.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz";
+        sha512 = "0zk87sccrjx6pgf9n74v4msnqwq5siyhrkpaklx7yk85ygy5ypcgmyfhbd5mmcyd53x8zcw0gzvp9bhbglziqbhp7a6n5zsf6p08q9l";
+      };
+    };
+    "kind-of-6.0.2" = {
+      name = "kind-of";
+      packageName = "kind-of";
+      version = "6.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz";
+        sha512 = "2l91vcracq8y3nxacsssb4yhk0ww011gi5sn55wsb6bpnhyds2i1x98512f61r8awxmj602bxky6c7hsyibjvz17f1pmlf7r4whp6dk";
+      };
+    };
+    "klaw-1.3.1" = {
+      name = "klaw";
+      packageName = "klaw";
+      version = "1.3.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/klaw/-/klaw-1.3.1.tgz";
+        sha1 = "4088433b46b3b1ba259d78785d8e96f73ba02439";
+      };
+    };
     "last-one-wins-1.0.4" = {
       name = "last-one-wins";
       packageName = "last-one-wins";
@@ -1813,6 +3874,24 @@ let
         sha1 = "c1bfd0cbcb46790ec9156b8d1aee8fcb86cda22a";
       };
     };
+    "latest-version-3.1.0" = {
+      name = "latest-version";
+      packageName = "latest-version";
+      version = "3.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/latest-version/-/latest-version-3.1.0.tgz";
+        sha1 = "a205383fea322b33b5ae3b18abee0dc2f356ee15";
+      };
+    };
+    "lazy-cache-1.0.4" = {
+      name = "lazy-cache";
+      packageName = "lazy-cache";
+      version = "1.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz";
+        sha1 = "a1d78fc3a50474cb80845d3b3b6e1da49a446e8e";
+      };
+    };
     "length-prefixed-message-3.0.3" = {
       name = "length-prefixed-message";
       packageName = "length-prefixed-message";
@@ -1822,13 +3901,247 @@ let
         sha1 = "245474d69abc0614dca368dc35aa8074982a23ac";
       };
     };
-    "lodash-4.17.5" = {
+    "lodash-3.10.1" = {
       name = "lodash";
       packageName = "lodash";
-      version = "4.17.5";
+      version = "3.10.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz";
+        sha1 = "5bf45e8e49ba4189e17d482789dfd15bd140b7b6";
+      };
+    };
+    "lodash-4.17.10" = {
+      name = "lodash";
+      packageName = "lodash";
+      version = "4.17.10";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz";
+        sha512 = "1ba5b80jjzwrh9fbdk5ywv8sic0dynij21wgrfxsfjzwvwd7x1n6azdhdc0vjdxqmcpm0mhshd1k7n2ascxpz00z3p8a3k97mwg1s2i";
+      };
+    };
+    "lodash-compat-3.10.2" = {
+      name = "lodash-compat";
+      packageName = "lodash-compat";
+      version = "3.10.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lodash-compat/-/lodash-compat-3.10.2.tgz";
+        sha1 = "c6940128a9d30f8e902cd2cf99fd0cba4ecfc183";
+      };
+    };
+    "lodash._arraypool-2.4.1" = {
+      name = "lodash._arraypool";
+      packageName = "lodash._arraypool";
+      version = "2.4.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lodash._arraypool/-/lodash._arraypool-2.4.1.tgz";
+        sha1 = "e88eecb92e2bb84c9065612fd958a0719cd47f94";
+      };
+    };
+    "lodash._basebind-2.4.1" = {
+      name = "lodash._basebind";
+      packageName = "lodash._basebind";
+      version = "2.4.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lodash._basebind/-/lodash._basebind-2.4.1.tgz";
+        sha1 = "e940b9ebdd27c327e0a8dab1b55916c5341e9575";
+      };
+    };
+    "lodash._baseclone-2.4.1" = {
+      name = "lodash._baseclone";
+      packageName = "lodash._baseclone";
+      version = "2.4.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lodash._baseclone/-/lodash._baseclone-2.4.1.tgz";
+        sha1 = "30f823e57e17e3735d383bd62b60b387543b4186";
+      };
+    };
+    "lodash._basecreate-2.4.1" = {
+      name = "lodash._basecreate";
+      packageName = "lodash._basecreate";
+      version = "2.4.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lodash._basecreate/-/lodash._basecreate-2.4.1.tgz";
+        sha1 = "f8e6f5b578a9e34e541179b56b8eeebf4a287e08";
+      };
+    };
+    "lodash._basecreatecallback-2.4.1" = {
+      name = "lodash._basecreatecallback";
+      packageName = "lodash._basecreatecallback";
+      version = "2.4.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/lodash/-/lodash-4.17.5.tgz";
-        sha512 = "11hikgyas884mz8a58vyixaahxbpdwljdw4cb6qp15xa3sfqikp2mm6wgv41jsl34nzsv1hkx9kw3nwczvas5p73whirmaz4sxggwmj";
+        url = "https://registry.npmjs.org/lodash._basecreatecallback/-/lodash._basecreatecallback-2.4.1.tgz";
+        sha1 = "7d0b267649cb29e7a139d0103b7c11fae84e4851";
+      };
+    };
+    "lodash._basecreatewrapper-2.4.1" = {
+      name = "lodash._basecreatewrapper";
+      packageName = "lodash._basecreatewrapper";
+      version = "2.4.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lodash._basecreatewrapper/-/lodash._basecreatewrapper-2.4.1.tgz";
+        sha1 = "4d31f2e7de7e134fbf2803762b8150b32519666f";
+      };
+    };
+    "lodash._baseiteratee-4.7.0" = {
+      name = "lodash._baseiteratee";
+      packageName = "lodash._baseiteratee";
+      version = "4.7.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lodash._baseiteratee/-/lodash._baseiteratee-4.7.0.tgz";
+        sha1 = "34a9b5543572727c3db2e78edae3c0e9e66bd102";
+      };
+    };
+    "lodash._basetostring-4.12.0" = {
+      name = "lodash._basetostring";
+      packageName = "lodash._basetostring";
+      version = "4.12.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lodash._basetostring/-/lodash._basetostring-4.12.0.tgz";
+        sha1 = "9327c9dc5158866b7fa4b9d42f4638e5766dd9df";
+      };
+    };
+    "lodash._baseuniq-4.6.0" = {
+      name = "lodash._baseuniq";
+      packageName = "lodash._baseuniq";
+      version = "4.6.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lodash._baseuniq/-/lodash._baseuniq-4.6.0.tgz";
+        sha1 = "0ebb44e456814af7905c6212fa2c9b2d51b841e8";
+      };
+    };
+    "lodash._createset-4.0.3" = {
+      name = "lodash._createset";
+      packageName = "lodash._createset";
+      version = "4.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lodash._createset/-/lodash._createset-4.0.3.tgz";
+        sha1 = "0f4659fbb09d75194fa9e2b88a6644d363c9fe26";
+      };
+    };
+    "lodash._createwrapper-2.4.1" = {
+      name = "lodash._createwrapper";
+      packageName = "lodash._createwrapper";
+      version = "2.4.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lodash._createwrapper/-/lodash._createwrapper-2.4.1.tgz";
+        sha1 = "51d6957973da4ed556e37290d8c1a18c53de1607";
+      };
+    };
+    "lodash._getarray-2.4.1" = {
+      name = "lodash._getarray";
+      packageName = "lodash._getarray";
+      version = "2.4.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lodash._getarray/-/lodash._getarray-2.4.1.tgz";
+        sha1 = "faf1f7f810fa985a251c2187404481094839e5ee";
+      };
+    };
+    "lodash._isnative-2.4.1" = {
+      name = "lodash._isnative";
+      packageName = "lodash._isnative";
+      version = "2.4.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lodash._isnative/-/lodash._isnative-2.4.1.tgz";
+        sha1 = "3ea6404b784a7be836c7b57580e1cdf79b14832c";
+      };
+    };
+    "lodash._maxpoolsize-2.4.1" = {
+      name = "lodash._maxpoolsize";
+      packageName = "lodash._maxpoolsize";
+      version = "2.4.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lodash._maxpoolsize/-/lodash._maxpoolsize-2.4.1.tgz";
+        sha1 = "9d482f463b8e66afbe59c2c14edb117060172334";
+      };
+    };
+    "lodash._objecttypes-2.4.1" = {
+      name = "lodash._objecttypes";
+      packageName = "lodash._objecttypes";
+      version = "2.4.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lodash._objecttypes/-/lodash._objecttypes-2.4.1.tgz";
+        sha1 = "7c0b7f69d98a1f76529f890b0cdb1b4dfec11c11";
+      };
+    };
+    "lodash._releasearray-2.4.1" = {
+      name = "lodash._releasearray";
+      packageName = "lodash._releasearray";
+      version = "2.4.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lodash._releasearray/-/lodash._releasearray-2.4.1.tgz";
+        sha1 = "a6139630d76d1536b07ddc80962889b082f6a641";
+      };
+    };
+    "lodash._root-3.0.1" = {
+      name = "lodash._root";
+      packageName = "lodash._root";
+      version = "3.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lodash._root/-/lodash._root-3.0.1.tgz";
+        sha1 = "fba1c4524c19ee9a5f8136b4609f017cf4ded692";
+      };
+    };
+    "lodash._setbinddata-2.4.1" = {
+      name = "lodash._setbinddata";
+      packageName = "lodash._setbinddata";
+      version = "2.4.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lodash._setbinddata/-/lodash._setbinddata-2.4.1.tgz";
+        sha1 = "f7c200cd1b92ef236b399eecf73c648d17aa94d2";
+      };
+    };
+    "lodash._shimkeys-2.4.1" = {
+      name = "lodash._shimkeys";
+      packageName = "lodash._shimkeys";
+      version = "2.4.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lodash._shimkeys/-/lodash._shimkeys-2.4.1.tgz";
+        sha1 = "6e9cc9666ff081f0b5a6c978b83e242e6949d203";
+      };
+    };
+    "lodash._slice-2.4.1" = {
+      name = "lodash._slice";
+      packageName = "lodash._slice";
+      version = "2.4.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lodash._slice/-/lodash._slice-2.4.1.tgz";
+        sha1 = "745cf41a53597b18f688898544405efa2b06d90f";
+      };
+    };
+    "lodash._stringtopath-4.8.0" = {
+      name = "lodash._stringtopath";
+      packageName = "lodash._stringtopath";
+      version = "4.8.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lodash._stringtopath/-/lodash._stringtopath-4.8.0.tgz";
+        sha1 = "941bcf0e64266e5fc1d66fed0a6959544c576824";
+      };
+    };
+    "lodash.assign-2.4.1" = {
+      name = "lodash.assign";
+      packageName = "lodash.assign";
+      version = "2.4.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lodash.assign/-/lodash.assign-2.4.1.tgz";
+        sha1 = "84c39596dd71181a97b0652913a7c9675e49b1aa";
+      };
+    };
+    "lodash.bind-2.4.1" = {
+      name = "lodash.bind";
+      packageName = "lodash.bind";
+      version = "2.4.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lodash.bind/-/lodash.bind-2.4.1.tgz";
+        sha1 = "5d19fa005c8c4d236faf4742c7b7a1fcabe29267";
+      };
+    };
+    "lodash.clonedeep-2.4.1" = {
+      name = "lodash.clonedeep";
+      packageName = "lodash.clonedeep";
+      version = "2.4.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-2.4.1.tgz";
+        sha1 = "f29203b40b12fee0a45d3631648259bebabc7868";
       };
     };
     "lodash.flattendeep-4.4.0" = {
@@ -1840,6 +4153,105 @@ let
         sha1 = "fb030917f86a3134e5bc9bec0d69e0013ddfedb2";
       };
     };
+    "lodash.foreach-2.4.1" = {
+      name = "lodash.foreach";
+      packageName = "lodash.foreach";
+      version = "2.4.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lodash.foreach/-/lodash.foreach-2.4.1.tgz";
+        sha1 = "fe3fc3a34c86c94cab6f9522560282741e016309";
+      };
+    };
+    "lodash.forown-2.4.1" = {
+      name = "lodash.forown";
+      packageName = "lodash.forown";
+      version = "2.4.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lodash.forown/-/lodash.forown-2.4.1.tgz";
+        sha1 = "78b41eafe1405fa966459ea4193fd502d084524b";
+      };
+    };
+    "lodash.get-4.4.2" = {
+      name = "lodash.get";
+      packageName = "lodash.get";
+      version = "4.4.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz";
+        sha1 = "2d177f652fa31e939b4438d5341499dfa3825e99";
+      };
+    };
+    "lodash.identity-2.4.1" = {
+      name = "lodash.identity";
+      packageName = "lodash.identity";
+      version = "2.4.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lodash.identity/-/lodash.identity-2.4.1.tgz";
+        sha1 = "6694cffa65fef931f7c31ce86c74597cf560f4f1";
+      };
+    };
+    "lodash.isarray-2.4.1" = {
+      name = "lodash.isarray";
+      packageName = "lodash.isarray";
+      version = "2.4.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lodash.isarray/-/lodash.isarray-2.4.1.tgz";
+        sha1 = "b52a326c1f62f6d7da73a31d5401df6ef44f0fa1";
+      };
+    };
+    "lodash.isequal-4.5.0" = {
+      name = "lodash.isequal";
+      packageName = "lodash.isequal";
+      version = "4.5.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz";
+        sha1 = "415c4478f2bcc30120c22ce10ed3226f7d3e18e0";
+      };
+    };
+    "lodash.isfunction-2.4.1" = {
+      name = "lodash.isfunction";
+      packageName = "lodash.isfunction";
+      version = "2.4.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lodash.isfunction/-/lodash.isfunction-2.4.1.tgz";
+        sha1 = "2cfd575c73e498ab57e319b77fa02adef13a94d1";
+      };
+    };
+    "lodash.isobject-2.4.1" = {
+      name = "lodash.isobject";
+      packageName = "lodash.isobject";
+      version = "2.4.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lodash.isobject/-/lodash.isobject-2.4.1.tgz";
+        sha1 = "5a2e47fe69953f1ee631a7eba1fe64d2d06558f5";
+      };
+    };
+    "lodash.keys-2.4.1" = {
+      name = "lodash.keys";
+      packageName = "lodash.keys";
+      version = "2.4.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lodash.keys/-/lodash.keys-2.4.1.tgz";
+        sha1 = "48dea46df8ff7632b10d706b8acb26591e2b3727";
+      };
+    };
+    "lodash.noop-2.4.1" = {
+      name = "lodash.noop";
+      packageName = "lodash.noop";
+      version = "2.4.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lodash.noop/-/lodash.noop-2.4.1.tgz";
+        sha1 = "4fb54f816652e5ae10e8f72f717a388c7326538a";
+      };
+    };
+    "lodash.support-2.4.1" = {
+      name = "lodash.support";
+      packageName = "lodash.support";
+      version = "2.4.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lodash.support/-/lodash.support-2.4.1.tgz";
+        sha1 = "320e0b67031673c28d7a2bb5d9e0331a45240515";
+      };
+    };
     "lodash.throttle-4.1.1" = {
       name = "lodash.throttle";
       packageName = "lodash.throttle";
@@ -1849,6 +4261,42 @@ let
         sha1 = "c23e91b710242ac70c37f1e1cda9274cc39bf2f4";
       };
     };
+    "lodash.uniqby-4.5.0" = {
+      name = "lodash.uniqby";
+      packageName = "lodash.uniqby";
+      version = "4.5.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lodash.uniqby/-/lodash.uniqby-4.5.0.tgz";
+        sha1 = "a3a17bbf62eeb6240f491846e97c1c4e2a5e1e21";
+      };
+    };
+    "log-symbols-2.2.0" = {
+      name = "log-symbols";
+      packageName = "log-symbols";
+      version = "2.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz";
+        sha512 = "093j1mha2zwbfkb6cvxr94l1dsx44607vvyxadxki3j69s40n2f6x6iqs6f9rzpvvqd8anclsqdlrm3klkwxixm4k2fl8bjr4b01qjm";
+      };
+    };
+    "longest-1.0.1" = {
+      name = "longest";
+      packageName = "longest";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz";
+        sha1 = "30a0b2da38f73770e8294a0d22e6625ed77d0097";
+      };
+    };
+    "lowercase-keys-1.0.1" = {
+      name = "lowercase-keys";
+      packageName = "lowercase-keys";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz";
+        sha512 = "1a7qa1zn5zl1nf7i6w3299lc3biabfb0w2c30cl770l2dbldvi72nwvjdlinhx7j0ldip82sj710aprdjbmbg782i2pa3jpbgmy6qhv";
+      };
+    };
     "lru-2.0.1" = {
       name = "lru";
       packageName = "lru";
@@ -1867,6 +4315,87 @@ let
         sha1 = "ea7fb8546d83733396a13091d76cfeb4c06837d5";
       };
     };
+    "lru-cache-2.7.3" = {
+      name = "lru-cache";
+      packageName = "lru-cache";
+      version = "2.7.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lru-cache/-/lru-cache-2.7.3.tgz";
+        sha1 = "6d4524e8b955f95d4f5b58851ce21dd72fb4e952";
+      };
+    };
+    "lru-cache-4.1.2" = {
+      name = "lru-cache";
+      packageName = "lru-cache";
+      version = "4.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.2.tgz";
+        sha512 = "1whynbvy3pbwcpkxk6rqhsymj2h3bh7p13nfhs9ch6hfx96vrh86j7vd4lqcaqjy5dhsfjps6sh2wqndh269wjz42khbh6339g9a1y2";
+      };
+    };
+    "make-dir-1.2.0" = {
+      name = "make-dir";
+      packageName = "make-dir";
+      version = "1.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/make-dir/-/make-dir-1.2.0.tgz";
+        sha512 = "0ivb7kryzyklvicp8a0lsq56pzjmvycb6bs4d0239q9ygcrs8ylx94q57fgxq3vqvzzs9v3ldl5m1jkxfvfaxh5p8lgb0qchmmh1mb8";
+      };
+    };
+    "map-cache-0.2.2" = {
+      name = "map-cache";
+      packageName = "map-cache";
+      version = "0.2.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz";
+        sha1 = "c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf";
+      };
+    };
+    "map-stream-0.1.0" = {
+      name = "map-stream";
+      packageName = "map-stream";
+      version = "0.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/map-stream/-/map-stream-0.1.0.tgz";
+        sha1 = "e56aa94c4c8055a16404a0674b78f215f7c8e194";
+      };
+    };
+    "map-visit-1.0.0" = {
+      name = "map-visit";
+      packageName = "map-visit";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz";
+        sha1 = "ecdca8f13144e660f1b5bd41f12f3479d98dfb8f";
+      };
+    };
+    "md5-2.2.1" = {
+      name = "md5";
+      packageName = "md5";
+      version = "2.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/md5/-/md5-2.2.1.tgz";
+        sha1 = "53ab38d5fe3c8891ba465329ea23fac0540126f9";
+      };
+    };
+    "media-typer-0.3.0" = {
+      name = "media-typer";
+      packageName = "media-typer";
+      version = "0.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz";
+        sha1 = "8710d7af0aa626f8fffa1ce00168545263255748";
+      };
+    };
+    "memory-cache-0.1.6" = {
+      name = "memory-cache";
+      packageName = "memory-cache";
+      version = "0.1.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/memory-cache/-/memory-cache-0.1.6.tgz";
+        sha1 = "2ed9933ed7a8c718249be7366f7ca8749acf8a24";
+      };
+    };
     "memory-pager-1.1.0" = {
       name = "memory-pager";
       packageName = "memory-pager";
@@ -1885,6 +4414,24 @@ let
         sha1 = "f8a064760d37e7978ad5f9f6d3c119a494f57081";
       };
     };
+    "metalsmith-2.3.0" = {
+      name = "metalsmith";
+      packageName = "metalsmith";
+      version = "2.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/metalsmith/-/metalsmith-2.3.0.tgz";
+        sha1 = "833afbb5a2a6385e2d9ae3d935e39e33eaea5231";
+      };
+    };
+    "methods-1.1.2" = {
+      name = "methods";
+      packageName = "methods";
+      version = "1.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz";
+        sha1 = "5529a4d67654134edcc5266656835b0f851afcee";
+      };
+    };
     "micromatch-2.3.11" = {
       name = "micromatch";
       packageName = "micromatch";
@@ -1894,6 +4441,33 @@ let
         sha1 = "86677c97d1720b363431d04d0d15293bd38c1565";
       };
     };
+    "micromatch-3.1.10" = {
+      name = "micromatch";
+      packageName = "micromatch";
+      version = "3.1.10";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz";
+        sha512 = "1r9rsac8gdslsplya0cnzyk6q0bh7m0wnxccdisacr5327k5k0v6f48dzp0022z8qqpzpvxw7sv1gzhvrqn6v5sz7qcvx37by1a8s1i";
+      };
+    };
+    "mime-1.3.4" = {
+      name = "mime";
+      packageName = "mime";
+      version = "1.3.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mime/-/mime-1.3.4.tgz";
+        sha1 = "115f9e3b6b3daf2959983cb38f149a2d40eb5d53";
+      };
+    };
+    "mime-1.4.1" = {
+      name = "mime";
+      packageName = "mime";
+      version = "1.4.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mime/-/mime-1.4.1.tgz";
+        sha512 = "2sz22r1xrnyvq6jg0h6b6cab3s3xdsfqa0n6vl9xv9gq3ppcxrcpg2hqfc41xjwnfwfkr6240l5gys7nds61ch6xcb3gr3fwsl7x398";
+      };
+    };
     "mime-1.6.0" = {
       name = "mime";
       packageName = "mime";
@@ -1921,6 +4495,15 @@ let
         sha512 = "22krj1kw7n9z10zdyx7smcaim4bzwqsqzhspwha06q58gcrxfp93hw2cd0vk5crhq5p2dwzqlpacg32lrmp5sjzb798zdzy35mdmkwm";
       };
     };
+    "mimic-fn-1.2.0" = {
+      name = "mimic-fn";
+      packageName = "mimic-fn";
+      version = "1.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz";
+        sha512 = "1clrrqw75rmpkw0x53axy8va2hq2gzynz9zb58m0xv1nh3lg81cv4dfdy7pk9vrlb9ydwmj6klpicwkv2bjx3m8aj4fi2ph3jxkizwd";
+      };
+    };
     "min-document-2.19.0" = {
       name = "min-document";
       packageName = "min-document";
@@ -1930,6 +4513,15 @@ let
         sha1 = "7bd282e3f5842ed295bb748cdd9f1ffa2c824685";
       };
     };
+    "minimatch-0.3.0" = {
+      name = "minimatch";
+      packageName = "minimatch";
+      version = "0.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/minimatch/-/minimatch-0.3.0.tgz";
+        sha1 = "275d8edaac4f1bb3326472089e7949c8394699dd";
+      };
+    };
     "minimatch-3.0.4" = {
       name = "minimatch";
       packageName = "minimatch";
@@ -1957,13 +4549,49 @@ let
         sha1 = "a35008b20f41383eec1fb914f4cd5df79a264284";
       };
     };
-    "mirror-folder-2.1.1" = {
+    "minipass-2.3.0" = {
+      name = "minipass";
+      packageName = "minipass";
+      version = "2.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/minipass/-/minipass-2.3.0.tgz";
+        sha512 = "1p0pbj1iwnzb7kkqbh5h0vd6byh1l6na1yx69qmbb0wbmwm0qc5g4hn4z6lr8wkzb4kybvd1hjm4hxd93nrdr8ydbqqd9wd1w9bcq4d";
+      };
+    };
+    "minizlib-1.1.0" = {
+      name = "minizlib";
+      packageName = "minizlib";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/minizlib/-/minizlib-1.1.0.tgz";
+        sha512 = "2agpbdf9h90nhafdam3jwrw8gcz3jw1i40cx6bhwaw8qaf2s863gi2b77l73dc3hmf5dx491hv5km1rqzabgsbpkjxrvdcwy6pr8gp1";
+      };
+    };
+    "mirror-folder-2.2.0" = {
       name = "mirror-folder";
       packageName = "mirror-folder";
-      version = "2.1.1";
+      version = "2.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mirror-folder/-/mirror-folder-2.2.0.tgz";
+        sha512 = "3js8pwgmj4lzzi6nzl0wp021rhsnz31jpkkzdf35xzwm1l65m6ygjf4hz77vvy3dk2h5jb2d32nvzy26n3d5hswg3nb8s0rylvv510r";
+      };
+    };
+    "mixin-deep-1.3.1" = {
+      name = "mixin-deep";
+      packageName = "mixin-deep";
+      version = "1.3.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.1.tgz";
+        sha512 = "0swcxf279pl5jc4b3d4fm9whbi6sbv2xbcfm1fkxiz793qa2hl5wd1b8dw019dgyidx5nwpa141k0cvvwan0rfypn2am0c4fwn2v4pi";
+      };
+    };
+    "mkdirp-0.3.0" = {
+      name = "mkdirp";
+      packageName = "mkdirp";
+      version = "0.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mirror-folder/-/mirror-folder-2.1.1.tgz";
-        sha1 = "1ad3b777b39e403cc27bf52086c23e41ef4c9604";
+        url = "https://registry.npmjs.org/mkdirp/-/mkdirp-0.3.0.tgz";
+        sha1 = "1bbf5ab1ba827af23575143490426455f481fe1e";
       };
     };
     "mkdirp-0.5.1" = {
@@ -1975,6 +4603,33 @@ let
         sha1 = "30057438eac6cf7f8c4767f38648d6697d75c903";
       };
     };
+    "mocha-2.5.3" = {
+      name = "mocha";
+      packageName = "mocha";
+      version = "2.5.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mocha/-/mocha-2.5.3.tgz";
+        sha1 = "161be5bdeb496771eb9b35745050b622b5aefc58";
+      };
+    };
+    "mpath-0.2.1" = {
+      name = "mpath";
+      packageName = "mpath";
+      version = "0.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mpath/-/mpath-0.2.1.tgz";
+        sha1 = "3a4e829359801de96309c27a6b2e102e89f9e96e";
+      };
+    };
+    "ms-0.7.1" = {
+      name = "ms";
+      packageName = "ms";
+      version = "0.7.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz";
+        sha1 = "9cd13c03adbff25b65effde7ce864ee952017098";
+      };
+    };
     "ms-2.0.0" = {
       name = "ms";
       packageName = "ms";
@@ -1984,6 +4639,15 @@ let
         sha1 = "5608aeadfc00be6c2901df5f9861788de0d597c8";
       };
     };
+    "multer-1.3.0" = {
+      name = "multer";
+      packageName = "multer";
+      version = "1.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/multer/-/multer-1.3.0.tgz";
+        sha1 = "092b2670f6846fa4914965efc8cf94c20fec6cd2";
+      };
+    };
     "multi-random-access-2.1.1" = {
       name = "multi-random-access";
       packageName = "multi-random-access";
@@ -2002,6 +4666,15 @@ let
         sha512 = "3m42kr8y2s1krl4gzb5xsa9v3h01xalvrgdkj99gyfaq7761asmj5m6kzm70mxb22125gia12g7rmarnzmh09403j8j2cyvx7jqjblf";
       };
     };
+    "multicast-dns-7.0.0" = {
+      name = "multicast-dns";
+      packageName = "multicast-dns";
+      version = "7.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/multicast-dns/-/multicast-dns-7.0.0.tgz";
+        sha512 = "3z5r41v1y4fk8751g0s7ssgzpiaw7g3bwbnjk9gvdh5x3rijzpnlk03s0vlng9yx3f5j9h0zfy6rjfmh183gxyxh2y8y7hps977k806";
+      };
+    };
     "multicb-1.2.2" = {
       name = "multicb";
       packageName = "multicb";
@@ -2011,6 +4684,33 @@ let
         sha512 = "2liv9lhcxrlp21524jzp1hxzbd07xmb7qlzma5qfn98bgn63ga0i5jalrhlz6qc08fd4jxh3hj2mi9wm14s95lip5x236052rv3i4rx";
       };
     };
+    "multimatch-2.1.0" = {
+      name = "multimatch";
+      packageName = "multimatch";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/multimatch/-/multimatch-2.1.0.tgz";
+        sha1 = "9c7906a22fb4c02919e2f5f75161b4cdbd4b2a2b";
+      };
+    };
+    "multistream-2.1.0" = {
+      name = "multistream";
+      packageName = "multistream";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/multistream/-/multistream-2.1.0.tgz";
+        sha1 = "625c267d5c44424ad6294788b5bb4da3dcb32f1d";
+      };
+    };
+    "mute-stream-0.0.5" = {
+      name = "mute-stream";
+      packageName = "mute-stream";
+      version = "0.0.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.5.tgz";
+        sha1 = "8fbfabb0a98a253d3184331f9e8deb7372fac6c0";
+      };
+    };
     "mute-stream-0.0.7" = {
       name = "mute-stream";
       packageName = "mute-stream";
@@ -2029,13 +4729,13 @@ let
         sha512 = "2hha5ly9j3v9pqpfvkbq8spn9sz7qz5bv8p303zmdisskhcn6i7ia5dviv8xhs3xlwi9562i4r4rm6mkk5gg0abm34zm1dkvp2z76m2";
       };
     };
-    "nan-2.9.2" = {
+    "nan-2.10.0" = {
       name = "nan";
       packageName = "nan";
-      version = "2.9.2";
+      version = "2.10.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/nan/-/nan-2.9.2.tgz";
-        sha512 = "1iwlv98jbkr46c7hy28crk2m89jiskrp4qfa5ysyacyq8dkbk4hii3cc61irf39b7n6wd9cjlaasmakv9dsknqhb3876zrvrbjvmmcn";
+        url = "https://registry.npmjs.org/nan/-/nan-2.10.0.tgz";
+        sha512 = "349rr7x0djrlkav4gbhkg355852ingn965r0kkch8rr4cwp7qki9676zpq8cq988yszzd2hld6szsbbnd1v6rghzf11abn1nyzlj1vc";
       };
     };
     "nanoassert-1.1.0" = {
@@ -2056,6 +4756,15 @@ let
         sha1 = "bce5d5d435a5362c7dad7f9e90cd21959589be86";
       };
     };
+    "nanomatch-1.2.9" = {
+      name = "nanomatch";
+      packageName = "nanomatch";
+      version = "1.2.9";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.9.tgz";
+        sha512 = "1f2indb6hj1h79gxklk6ac2lhfjfydw5ak3v2nwilwir5hqvz9l9kxf63l8k1blsjq4v7r2pf0gqc1b55sqqym5bn9afhrj5xnpvi4z";
+      };
+    };
     "nanotiming-1.0.1" = {
       name = "nanotiming";
       packageName = "nanotiming";
@@ -2065,6 +4774,15 @@ let
         sha1 = "13e7a2e2767967974fedfff071edd39327f44ec3";
       };
     };
+    "native-promise-only-0.8.1" = {
+      name = "native-promise-only";
+      packageName = "native-promise-only";
+      version = "0.8.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/native-promise-only/-/native-promise-only-0.8.1.tgz";
+        sha1 = "20a318c30cb45f71fe7adfbf7b21c99c1472ef11";
+      };
+    };
     "ncp-1.0.1" = {
       name = "ncp";
       packageName = "ncp";
@@ -2083,6 +4801,15 @@ let
         sha512 = "15fbq2bchsjk85zklc34xl74skmdxbipsf0zjf1k6jfq1fr31h5bn7c6438ff55i9yzrhf11k85ahvahyb73khfjl4sj59zjrqksj9d";
       };
     };
+    "needle-2.2.1" = {
+      name = "needle";
+      packageName = "needle";
+      version = "2.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/needle/-/needle-2.2.1.tgz";
+        sha512 = "3wnlvqmkxw69bl3clghqpsl1kxqm7hkq4v4ab0rm6dx7xqyg3bn8q38i6hmxm47ccfn6bxcvl53c4madxdgblnm06ika99x4g06rxmp";
+      };
+    };
     "nets-3.2.0" = {
       name = "nets";
       packageName = "nets";
@@ -2101,13 +4828,40 @@ let
         sha1 = "4aa7bfd43f03f0b81c9702b13d6a858ddb326f3e";
       };
     };
-    "node-gyp-build-3.2.2" = {
+    "next-tick-1.0.0" = {
+      name = "next-tick";
+      packageName = "next-tick";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz";
+        sha1 = "ca86d1fe8828169b0120208e3dc8424b9db8342c";
+      };
+    };
+    "node-gyp-build-3.3.0" = {
       name = "node-gyp-build";
       packageName = "node-gyp-build";
-      version = "3.2.2";
+      version = "3.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-3.2.2.tgz";
-        sha512 = "34hwi28wvvh5nn8bv71n0fb83xjyk84jsn8j9zgkaqnfigpv2hk6fs9jaffsn7qi3yi4n7iwd9yjyagd1rh74ckzdf5s6l59b8vzidp";
+        url = "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-3.3.0.tgz";
+        sha512 = "0vkilw1ghsjca0lrj9gsdgsi8wj4bvpfr25q1qzx1kp5hhvjdhapmvpmrd2hikwq9dxydw6sdvv0730wwvmsg36xqf0hgp9777l3ns8";
+      };
+    };
+    "nodemon-1.17.4" = {
+      name = "nodemon";
+      packageName = "nodemon";
+      version = "1.17.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/nodemon/-/nodemon-1.17.4.tgz";
+        sha512 = "3bmxd7fd494gy4ddax3mihjz1iy484iakyssbhy87cc2kwbky9xkb8l47vphc3n858q9p9afxl57w0849i24amsdjhwbqh8vxhjy1v5";
+      };
+    };
+    "nopt-1.0.10" = {
+      name = "nopt";
+      packageName = "nopt";
+      version = "1.0.10";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz";
+        sha1 = "6ddd21bd2a31417b92727dd585f8a6f37608ebee";
       };
     };
     "nopt-3.0.6" = {
@@ -2137,6 +4891,42 @@ let
         sha1 = "1ab28b556e198363a8c1a6f7e6fa20137fe6aed9";
       };
     };
+    "npm-bundled-1.0.3" = {
+      name = "npm-bundled";
+      packageName = "npm-bundled";
+      version = "1.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.0.3.tgz";
+        sha512 = "0xk8ky1cjf8q2wkbgfzplpn04sm9xnl6i71dwnc29rfh8m2glan5nd6l4k3q7ikci7xpwfpcmyy3frr873zndjmhbr344grkyh3f907";
+      };
+    };
+    "npm-conf-1.1.3" = {
+      name = "npm-conf";
+      packageName = "npm-conf";
+      version = "1.1.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/npm-conf/-/npm-conf-1.1.3.tgz";
+        sha512 = "1rx44jzcf3byibrwmgyr0598hng4snjfj9bx29xm7bi5y1bqkbvb2krh8z0ccpzv3aps71qwrq55a56l1qkzlan118xyfn9j5nkh9v2";
+      };
+    };
+    "npm-packlist-1.1.10" = {
+      name = "npm-packlist";
+      packageName = "npm-packlist";
+      version = "1.1.10";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/npm-packlist/-/npm-packlist-1.1.10.tgz";
+        sha512 = "1c5z9bibdf07na26xffshagxk8gfnsbaav802dkvbrlgj4mixz4giji96yb1zs7p9yl9n28mlkhjp9jklq55j27c0i837vk507v8001";
+      };
+    };
+    "npm-run-path-2.0.2" = {
+      name = "npm-run-path";
+      packageName = "npm-run-path";
+      version = "2.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz";
+        sha1 = "35a9232dfa35d7067b4cb2ddf2357b1871536c5f";
+      };
+    };
     "npmlog-4.1.2" = {
       name = "npmlog";
       packageName = "npmlog";
@@ -2164,6 +4954,15 @@ let
         sha1 = "46a6ab7f0aead8deae9ec0565780b7d4efeb9d43";
       };
     };
+    "object-assign-3.0.0" = {
+      name = "object-assign";
+      packageName = "object-assign";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/object-assign/-/object-assign-3.0.0.tgz";
+        sha1 = "9bedd5ca0897949bca47e7ff408062d549f587f2";
+      };
+    };
     "object-assign-4.1.1" = {
       name = "object-assign";
       packageName = "object-assign";
@@ -2173,6 +4972,24 @@ let
         sha1 = "2109adc7965887cfc05cbbd442cac8bfbb360863";
       };
     };
+    "object-copy-0.1.0" = {
+      name = "object-copy";
+      packageName = "object-copy";
+      version = "0.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz";
+        sha1 = "7e7d858b781bd7c991a41ba975ed3812754e998c";
+      };
+    };
+    "object-visit-1.0.1" = {
+      name = "object-visit";
+      packageName = "object-visit";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz";
+        sha1 = "f79c4493af0c5377b59fe39d395e41042dd045bb";
+      };
+    };
     "object.omit-2.0.1" = {
       name = "object.omit";
       packageName = "object.omit";
@@ -2182,6 +4999,33 @@ let
         sha1 = "1a9c744829f39dbb858c76ca3579ae2a54ebd1fa";
       };
     };
+    "object.pick-1.3.0" = {
+      name = "object.pick";
+      packageName = "object.pick";
+      version = "1.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz";
+        sha1 = "87a10ac4c1694bd2e1cbf53591a66141fb5dd747";
+      };
+    };
+    "on-finished-2.2.1" = {
+      name = "on-finished";
+      packageName = "on-finished";
+      version = "2.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/on-finished/-/on-finished-2.2.1.tgz";
+        sha1 = "5c85c1cc36299f78029653f667f27b6b99ebc029";
+      };
+    };
+    "on-finished-2.3.0" = {
+      name = "on-finished";
+      packageName = "on-finished";
+      version = "2.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz";
+        sha1 = "20f1336481b083cd75337992a16971aa2d906947";
+      };
+    };
     "once-1.4.0" = {
       name = "once";
       packageName = "once";
@@ -2191,6 +5035,33 @@ let
         sha1 = "583b1aa775961d4b113ac17d9c50baef9dd76bd1";
       };
     };
+    "onetime-1.1.0" = {
+      name = "onetime";
+      packageName = "onetime";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "http://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz";
+        sha1 = "a1f7838f8314c516f05ecefcbc4ccfe04b4ed789";
+      };
+    };
+    "onetime-2.0.1" = {
+      name = "onetime";
+      packageName = "onetime";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz";
+        sha1 = "067428230fd67443b2794b22bba528b6867962d4";
+      };
+    };
+    "optimist-0.6.1" = {
+      name = "optimist";
+      packageName = "optimist";
+      version = "0.6.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz";
+        sha1 = "da3ea74686fa21a19a111c326e90eb15a0196686";
+      };
+    };
     "optparse-1.0.5" = {
       name = "optparse";
       packageName = "optparse";
@@ -2200,6 +5071,15 @@ let
         sha1 = "75e75a96506611eb1c65ba89018ff08a981e2c16";
       };
     };
+    "ora-1.4.0" = {
+      name = "ora";
+      packageName = "ora";
+      version = "1.4.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ora/-/ora-1.4.0.tgz";
+        sha512 = "2kz616isg6vqp95rsja7fc47k22qipv9b44dhsyxsl7x95ly9j17dwn8dxq8adyhw6ap1nlpfg2dk8v6r7b2m8r61v3ikriwh6bbhl8";
+      };
+    };
     "os-homedir-1.0.2" = {
       name = "os-homedir";
       packageName = "os-homedir";
@@ -2227,6 +5107,24 @@ let
         sha512 = "3ddw0y41pxv08ls5xhmq1bi81hppjbr45k78cjfx99vznh5znrj5g1b1wab9caj1mqlsvmfms0zm9cfb47ygm0d8wv5fccx8049q9fh";
       };
     };
+    "p-finally-1.0.0" = {
+      name = "p-finally";
+      packageName = "p-finally";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz";
+        sha1 = "3fbcfb15b899a44123b34b6dcc18b724336a2cae";
+      };
+    };
+    "package-json-4.0.1" = {
+      name = "package-json";
+      packageName = "package-json";
+      version = "4.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/package-json/-/package-json-4.0.1.tgz";
+        sha1 = "8869a0401253661c4c4ca3da6c2121ed555f5eed";
+      };
+    };
     "parse-glob-3.0.4" = {
       name = "parse-glob";
       packageName = "parse-glob";
@@ -2245,6 +5143,33 @@ let
         sha1 = "6ae83a7aa25a9d9b700acc28698cd1f1ed7e9536";
       };
     };
+    "parseurl-1.3.2" = {
+      name = "parseurl";
+      packageName = "parseurl";
+      version = "1.3.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/parseurl/-/parseurl-1.3.2.tgz";
+        sha1 = "fc289d4ed8993119460c156253262cdc8de65bf3";
+      };
+    };
+    "pascalcase-0.1.1" = {
+      name = "pascalcase";
+      packageName = "pascalcase";
+      version = "0.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz";
+        sha1 = "b363e55e8006ca6fe21784d2db22bd15d7917f14";
+      };
+    };
+    "path-dirname-1.0.2" = {
+      name = "path-dirname";
+      packageName = "path-dirname";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz";
+        sha1 = "cc33d24d525e099a5388c0336c6e32b9160609e0";
+      };
+    };
     "path-is-absolute-1.0.1" = {
       name = "path-is-absolute";
       packageName = "path-is-absolute";
@@ -2254,13 +5179,58 @@ let
         sha1 = "174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f";
       };
     };
-    "performance-now-0.2.0" = {
-      name = "performance-now";
-      packageName = "performance-now";
-      version = "0.2.0";
+    "path-is-inside-1.0.2" = {
+      name = "path-is-inside";
+      packageName = "path-is-inside";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz";
+        sha1 = "365417dede44430d1c11af61027facf074bdfc53";
+      };
+    };
+    "path-key-2.0.1" = {
+      name = "path-key";
+      packageName = "path-key";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz";
+        sha1 = "411cadb574c5a140d3a4b1910d40d80cc9f40b40";
+      };
+    };
+    "path-loader-1.0.4" = {
+      name = "path-loader";
+      packageName = "path-loader";
+      version = "1.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/path-loader/-/path-loader-1.0.4.tgz";
+        sha512 = "1ss8fmalfnf2hx07sbbf2nzcf1z85m7jksnaf18i5lp85mylav3wckypakqq7lb93nbrpsj50ajhx0wl63w0q7y9k08gjlnsfihzwlk";
+      };
+    };
+    "path-to-regexp-1.7.0" = {
+      name = "path-to-regexp";
+      packageName = "path-to-regexp";
+      version = "1.7.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.7.0.tgz";
+        sha1 = "59fde0f435badacba103a84e9d3bc64e96b9937d";
+      };
+    };
+    "pause-stream-0.0.11" = {
+      name = "pause-stream";
+      packageName = "pause-stream";
+      version = "0.0.11";
       src = fetchurl {
-        url = "https://registry.npmjs.org/performance-now/-/performance-now-0.2.0.tgz";
-        sha1 = "33ef30c5c77d4ea21c5a53869d91b56d8f2555e5";
+        url = "https://registry.npmjs.org/pause-stream/-/pause-stream-0.0.11.tgz";
+        sha1 = "fe5a34b0cbce12b5aa6a2b403ee2e73b602f1445";
+      };
+    };
+    "pend-1.2.0" = {
+      name = "pend";
+      packageName = "pend";
+      version = "1.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz";
+        sha1 = "7a57eb550a6783f9115331fcf4663d5c8e007a50";
       };
     };
     "performance-now-2.1.0" = {
@@ -2272,6 +5242,42 @@ let
         sha1 = "6309f4e0e5fa913ec1c69307ae364b4b377c9e7b";
       };
     };
+    "pify-2.3.0" = {
+      name = "pify";
+      packageName = "pify";
+      version = "2.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz";
+        sha1 = "ed141a6ac043a849ea588498e7dca8b15330e90c";
+      };
+    };
+    "pify-3.0.0" = {
+      name = "pify";
+      packageName = "pify";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz";
+        sha1 = "e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176";
+      };
+    };
+    "pinkie-2.0.4" = {
+      name = "pinkie";
+      packageName = "pinkie";
+      version = "2.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz";
+        sha1 = "72556b80cfa0d48a974e80e77248e80ed4f7f870";
+      };
+    };
+    "pinkie-promise-2.0.1" = {
+      name = "pinkie-promise";
+      packageName = "pinkie-promise";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz";
+        sha1 = "2135d6dfa7a358c069ac9b178776288228450ffa";
+      };
+    };
     "pkginfo-0.3.1" = {
       name = "pkginfo";
       packageName = "pkginfo";
@@ -2290,6 +5296,24 @@ let
         sha1 = "b5418ef0439de5425fc4995042dced14fb2a84ff";
       };
     };
+    "posix-character-classes-0.1.1" = {
+      name = "posix-character-classes";
+      packageName = "posix-character-classes";
+      version = "0.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz";
+        sha1 = "01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab";
+      };
+    };
+    "prepend-http-1.0.4" = {
+      name = "prepend-http";
+      packageName = "prepend-http";
+      version = "1.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz";
+        sha1 = "d4f4562b0ce3696e41ac52d0e002e57a635dc6dc";
+      };
+    };
     "preserve-0.2.0" = {
       name = "preserve";
       packageName = "preserve";
@@ -2362,6 +5386,15 @@ let
         sha1 = "8e57123c396ab988897fb327fd3aedc3e735e4fe";
       };
     };
+    "proto-list-1.2.4" = {
+      name = "proto-list";
+      packageName = "proto-list";
+      version = "1.2.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz";
+        sha1 = "212d5bfe1318306a420f6402b8e26ff39647a849";
+      };
+    };
     "protocol-buffers-encodings-1.1.0" = {
       name = "protocol-buffers-encodings";
       packageName = "protocol-buffers-encodings";
@@ -2371,6 +5404,33 @@ let
         sha512 = "28vhf9zv4h6gc3nia9pshzn16jm1h6r58nj2mwmkji35fjbscjwxrxigwy87j82y8wayn29qgc31939b1fyk6dmvvhwv1gp0ywc8s2a";
       };
     };
+    "ps-tree-1.1.0" = {
+      name = "ps-tree";
+      packageName = "ps-tree";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ps-tree/-/ps-tree-1.1.0.tgz";
+        sha1 = "b421b24140d6203f1ed3c76996b4427b08e8c014";
+      };
+    };
+    "pseudomap-1.0.2" = {
+      name = "pseudomap";
+      packageName = "pseudomap";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz";
+        sha1 = "f052a28da70e618917ef0a8ac34c1ae5a68286b3";
+      };
+    };
+    "pstree.remy-1.1.0" = {
+      name = "pstree.remy";
+      packageName = "pstree.remy";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pstree.remy/-/pstree.remy-1.1.0.tgz";
+        sha512 = "3jqj1qpjdy5lizvm5mir14vqzzqgaim2yl0iwa164ps6mlp20liyaid1mhr62k23dg0zbkk11zcnzk56d0xvzy9ddbdfmjcnjy3k4mb";
+      };
+    };
     "pump-1.0.3" = {
       name = "pump";
       packageName = "pump";
@@ -2389,6 +5449,15 @@ let
         sha512 = "288hcmlwdnqda84ylx9cv413ic0r59k0dp71hy7a200jsb7h1y63277jwdp1jdp13c1b3pl6g2gzr5gjv9p72f5sp7w3p0d34swrqxf";
       };
     };
+    "pump-3.0.0" = {
+      name = "pump";
+      packageName = "pump";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz";
+        sha512 = "31n24fqakqmhzk2ch644gziskmysmrgiwclsdsr0rwk9spgikqpwickbnayap0rynfjlq72s7iny2p35n3qszypr97ws5njkpx741ig";
+      };
+    };
     "punycode-1.4.1" = {
       name = "punycode";
       packageName = "punycode";
@@ -2398,22 +5467,58 @@ let
         sha1 = "c0d5a63b2718800ad8e1eb0fa5269c84dd41845e";
       };
     };
-    "qs-6.4.0" = {
+    "punycode-2.1.0" = {
+      name = "punycode";
+      packageName = "punycode";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/punycode/-/punycode-2.1.0.tgz";
+        sha1 = "5f863edc89b96db09074bad7947bf09056ca4e7d";
+      };
+    };
+    "qs-2.3.3" = {
+      name = "qs";
+      packageName = "qs";
+      version = "2.3.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/qs/-/qs-2.3.3.tgz";
+        sha1 = "e9e85adbe75da0bbe4c8e0476a086290f863b404";
+      };
+    };
+    "qs-2.4.2" = {
       name = "qs";
       packageName = "qs";
-      version = "6.4.0";
+      version = "2.4.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/qs/-/qs-6.4.0.tgz";
-        sha1 = "13e26d28ad6b0ffaa91312cd3bf708ed351e7233";
+        url = "https://registry.npmjs.org/qs/-/qs-2.4.2.tgz";
+        sha1 = "f7ce788e5777df0b5010da7f7c4e73ba32470f5a";
       };
     };
-    "qs-6.5.1" = {
+    "qs-4.0.0" = {
       name = "qs";
       packageName = "qs";
-      version = "6.5.1";
+      version = "4.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/qs/-/qs-6.5.1.tgz";
-        sha512 = "3waqapyj1k4g135sgj636rmswiaixq19is1rw0rpv4qp6k7dl0a9nwy06m7yl5lbdk9p6xpwwngnggbzlzaz6rh11c86j2nvnnf273r";
+        url = "https://registry.npmjs.org/qs/-/qs-4.0.0.tgz";
+        sha1 = "c31d9b74ec27df75e543a86c78728ed8d4623607";
+      };
+    };
+    "qs-6.5.2" = {
+      name = "qs";
+      packageName = "qs";
+      version = "6.5.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz";
+        sha512 = "0c46ws0x9g3mmkgfmvd78bzvnmv2b8ryg4ah6jvyyqgjv9v994z7xdyvsc4vg9sf98gg7phvy3q1ahgaj5fy3dwzf2rki6bixgl15ip";
+      };
+    };
+    "raf-3.3.2" = {
+      name = "raf";
+      packageName = "raf";
+      version = "3.3.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/raf/-/raf-3.3.2.tgz";
+        sha1 = "0c13be0b5b49b46f76d6669248d527cf2b02fe27";
       };
     };
     "random-access-file-2.0.1" = {
@@ -2434,13 +5539,13 @@ let
         sha1 = "72f3d865b4b55a259879473e2fb2de3569c69ee2";
       };
     };
-    "random-access-storage-1.1.1" = {
+    "random-access-storage-1.2.0" = {
       name = "random-access-storage";
       packageName = "random-access-storage";
-      version = "1.1.1";
+      version = "1.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/random-access-storage/-/random-access-storage-1.1.1.tgz";
-        sha512 = "1dswb4yr7m8350bx8z0z19iqgk2a43qbfc1qf8n3w483mqqg0f5gsykd5cg14yy8jik0n9ghy7j2f5kp1anzjna46ih9ncxpm0vq0k1";
+        url = "https://registry.npmjs.org/random-access-storage/-/random-access-storage-1.2.0.tgz";
+        sha512 = "3jz9jky55s8w0pd5q2v58fxdgca5ymbhlif0zn6jv55jr7bvp1xvn60bz4b2k6m399zzxzdk196385wl3gw6xasxzi3mq8xkp9al118";
       };
     };
     "randomatic-1.1.7" = {
@@ -2470,13 +5575,22 @@ let
         sha1 = "f49be6b487894ddc40dcc94a322f611092e00d5e";
       };
     };
-    "rc-1.2.5" = {
+    "raw-body-2.0.2" = {
+      name = "raw-body";
+      packageName = "raw-body";
+      version = "2.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/raw-body/-/raw-body-2.0.2.tgz";
+        sha1 = "a2c2f98c8531cee99c63d8d238b7de97bb659fca";
+      };
+    };
+    "rc-1.2.7" = {
       name = "rc";
       packageName = "rc";
-      version = "1.2.5";
+      version = "1.2.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/rc/-/rc-1.2.5.tgz";
-        sha1 = "275cd687f6e3b36cc756baa26dfee80a790301fd";
+        url = "https://registry.npmjs.org/rc/-/rc-1.2.7.tgz";
+        sha512 = "30b4pqzhk8f4ppzyk5diwxac7xpf4hd3rysyin012l59da9v5iaai4wd6yzlz3rjspfvvy191q6qcsw47mwlw9y07n35kzq23rw7lid";
       };
     };
     "read-1.0.7" = {
@@ -2488,13 +5602,40 @@ let
         sha1 = "b3da19bd052431a97671d44a42634adf710b40c4";
       };
     };
-    "readable-stream-2.3.4" = {
+    "read-metadata-1.0.0" = {
+      name = "read-metadata";
+      packageName = "read-metadata";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/read-metadata/-/read-metadata-1.0.0.tgz";
+        sha1 = "6df9cbe51184e8ceb7d0668b40ee5191e6f3dac6";
+      };
+    };
+    "readable-stream-1.0.27-1" = {
       name = "readable-stream";
       packageName = "readable-stream";
-      version = "2.3.4";
+      version = "1.0.27-1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.27-1.tgz";
+        sha1 = "6b67983c20357cefd07f0165001a16d710d91078";
+      };
+    };
+    "readable-stream-1.1.14" = {
+      name = "readable-stream";
+      packageName = "readable-stream";
+      version = "1.1.14";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz";
+        sha1 = "7cf4c54ef648e3813084c636dd2079e166c081d9";
+      };
+    };
+    "readable-stream-2.3.6" = {
+      name = "readable-stream";
+      packageName = "readable-stream";
+      version = "2.3.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.4.tgz";
-        sha512 = "1jpffi1v0l7pkzrhh8i9c6cbswa9npyx114cbfncfnzl9d7w9p08k9n703hq5xr2c3rg86qiq023sl1x8y6mawgsxgggy8ccrwk3rmy";
+        url = "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz";
+        sha512 = "0mj9b6190amln9rg89x5pq2n195s3v0gzicpdamv1kbabg69aw5m71l34jsjn7bqil7405l6l35x9ijnb3h4jz5vx2i00l8sl1ll2xm";
       };
     };
     "readdirp-2.1.0" = {
@@ -2506,13 +5647,40 @@ let
         sha1 = "4ed0ad060df3073300c48440373f72d1cc642d78";
       };
     };
-    "recursive-watch-1.1.3" = {
+    "readline2-1.0.1" = {
+      name = "readline2";
+      packageName = "readline2";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/readline2/-/readline2-1.0.1.tgz";
+        sha1 = "41059608ffc154757b715d9989d199ffbf372e35";
+      };
+    };
+    "recursive-readdir-2.2.2" = {
+      name = "recursive-readdir";
+      packageName = "recursive-readdir";
+      version = "2.2.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-2.2.2.tgz";
+        sha512 = "0bb5d70l5lg02x515r2klvjhhz6xcxdb4ykbx16wq45l822bbsdd8sbki7vb28j17xr7181fmwlzhx3bizvr5xdq6cxpv53sidrq44x";
+      };
+    };
+    "recursive-watch-1.1.4" = {
       name = "recursive-watch";
       packageName = "recursive-watch";
-      version = "1.1.3";
+      version = "1.1.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/recursive-watch/-/recursive-watch-1.1.4.tgz";
+        sha512 = "0yks7j98w5d3y375fb99kfbb8rz5qz72v6ld5i15h7fds1i02fq027w82ipanv3dkgvvrxyybw1v8lyrcs54h9airzv12sbcw1a6rvx";
+      };
+    };
+    "reduce-component-1.0.1" = {
+      name = "reduce-component";
+      packageName = "reduce-component";
+      version = "1.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/recursive-watch/-/recursive-watch-1.1.3.tgz";
-        sha512 = "3m0s8140jpamg1xxdlsslshx10qznb889s6yc8av6vvqbs56banhmjqy9lgl7g4ppsrsja0d2lhb5lacl3nxm8ggsrpdd7xqf53hvzx";
+        url = "https://registry.npmjs.org/reduce-component/-/reduce-component-1.0.1.tgz";
+        sha1 = "e0c93542c574521bea13df0f9488ed82ab77c5da";
       };
     };
     "regex-cache-0.4.4" = {
@@ -2524,6 +5692,33 @@ let
         sha512 = "1crfmf19zkv0imnbbkj7bwrcyin3zxa88cs86b6apkxj8qrsmkxnydhsy2ia75q4ld10rhi2s2c36h7g77a997mh9c2z453s311jllx";
       };
     };
+    "regex-not-1.0.2" = {
+      name = "regex-not";
+      packageName = "regex-not";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz";
+        sha512 = "3cggngaj8m70zdn8kghha4mhvavm7jfy5xm2iqi94w4gi5m5irs3nlrgg975w2231y49jnnw7zhsg648pbkl9zb6vwhii83926q7917";
+      };
+    };
+    "registry-auth-token-3.3.2" = {
+      name = "registry-auth-token";
+      packageName = "registry-auth-token";
+      version = "3.3.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-3.3.2.tgz";
+        sha512 = "2fv3fbyf4wv81famfkd3j8nld0fc4sfjfxfc91wwpqwgp00nl3727c9z4sdm4gicb4nxzmhkrphsnphpamgmknsh2ak15qpmmrzvg94";
+      };
+    };
+    "registry-url-3.1.0" = {
+      name = "registry-url";
+      packageName = "registry-url";
+      version = "3.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/registry-url/-/registry-url-3.1.0.tgz";
+        sha1 = "3d4ef870f73dde1d77f0cf9a381432444e174942";
+      };
+    };
     "remove-trailing-separator-1.1.0" = {
       name = "remove-trailing-separator";
       packageName = "remove-trailing-separator";
@@ -2551,22 +5746,13 @@ let
         sha1 = "8dcae470e1c88abc2d600fff4a776286da75e637";
       };
     };
-    "request-2.81.0" = {
-      name = "request";
-      packageName = "request";
-      version = "2.81.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/request/-/request-2.81.0.tgz";
-        sha1 = "c6928946a0e06c5f8d6f8a9333469ffda46298a0";
-      };
-    };
-    "request-2.83.0" = {
+    "request-2.85.0" = {
       name = "request";
       packageName = "request";
-      version = "2.83.0";
+      version = "2.85.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/request/-/request-2.83.0.tgz";
-        sha512 = "0by1djkn836sqd9pk2c777wcjvp34qbk1plx7s4lmykljrblpjc64dvn6ni2vyxsbyk33wnl6avym8vgw0ggr4226xakck8mw7y07cm";
+        url = "https://registry.npmjs.org/request/-/request-2.85.0.tgz";
+        sha512 = "2d3hg10zs5ycnr8prmiwdhacf88fl0x0bi6szs0z2r07zcbk419laixwpjp8sqapbc2ifyyih7p3r60wgr58bmcncz3pqnx523c8zph";
       };
     };
     "resolve-1.1.7" = {
@@ -2578,6 +5764,42 @@ let
         sha1 = "203114d82ad2c5ed9e8e0411b3932875e889e97b";
       };
     };
+    "resolve-url-0.2.1" = {
+      name = "resolve-url";
+      packageName = "resolve-url";
+      version = "0.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz";
+        sha1 = "2c637fe77c893afd2a663fe21aa9080068e2052a";
+      };
+    };
+    "restore-cursor-1.0.1" = {
+      name = "restore-cursor";
+      packageName = "restore-cursor";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/restore-cursor/-/restore-cursor-1.0.1.tgz";
+        sha1 = "34661f46886327fed2991479152252df92daa541";
+      };
+    };
+    "restore-cursor-2.0.0" = {
+      name = "restore-cursor";
+      packageName = "restore-cursor";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz";
+        sha1 = "9f7ee287f82fd326d4fd162923d62129eee0dfaf";
+      };
+    };
+    "ret-0.1.15" = {
+      name = "ret";
+      packageName = "ret";
+      version = "0.1.15";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz";
+        sha512 = "2d7igpgyzdlpx2ni0sql8gsnqk9qivfsw6bn1aklm19kbhgxjzmlazz8szfsbdpjka4gk6i3zf0jqa0llaf7dni636fnbwfmyjmhfad";
+      };
+    };
     "revalidator-0.1.8" = {
       name = "revalidator";
       packageName = "revalidator";
@@ -2587,6 +5809,15 @@ let
         sha1 = "fece61bfa0c1b52a206bd6b18198184bdd523a3b";
       };
     };
+    "right-align-0.1.3" = {
+      name = "right-align";
+      packageName = "right-align";
+      version = "0.1.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz";
+        sha1 = "61339b722fe6a3515689210d24e14c96148613ef";
+      };
+    };
     "rimraf-2.6.2" = {
       name = "rimraf";
       packageName = "rimraf";
@@ -2596,6 +5827,24 @@ let
         sha512 = "3kmrqh8xli7rzfm8wc6j9lp0c6vml172iv3z088an9xlwl1xvkvh3fn92za66ms4c9yww80qa5kan31k1z1ypqvkchmh1mznb09xdwn";
       };
     };
+    "run-async-0.1.0" = {
+      name = "run-async";
+      packageName = "run-async";
+      version = "0.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/run-async/-/run-async-0.1.0.tgz";
+        sha1 = "c8ad4a5e110661e402a7d21b530e009f25f8e389";
+      };
+    };
+    "run-async-2.3.0" = {
+      name = "run-async";
+      packageName = "run-async";
+      version = "2.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz";
+        sha1 = "0371ab4ae0bdd720d4166d7dfda64ff7a445a6c0";
+      };
+    };
     "rusha-0.8.13" = {
       name = "rusha";
       packageName = "rusha";
@@ -2605,13 +5854,85 @@ let
         sha1 = "9a084e7b860b17bff3015b92c67a6a336191513a";
       };
     };
-    "safe-buffer-5.1.1" = {
+    "rx-lite-3.1.2" = {
+      name = "rx-lite";
+      packageName = "rx-lite";
+      version = "3.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/rx-lite/-/rx-lite-3.1.2.tgz";
+        sha1 = "19ce502ca572665f3b647b10939f97fd1615f102";
+      };
+    };
+    "rx-lite-4.0.8" = {
+      name = "rx-lite";
+      packageName = "rx-lite";
+      version = "4.0.8";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/rx-lite/-/rx-lite-4.0.8.tgz";
+        sha1 = "0b1e11af8bc44836f04a6407e92da42467b79444";
+      };
+    };
+    "rx-lite-aggregates-4.0.8" = {
+      name = "rx-lite-aggregates";
+      packageName = "rx-lite-aggregates";
+      version = "4.0.8";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/rx-lite-aggregates/-/rx-lite-aggregates-4.0.8.tgz";
+        sha1 = "753b87a89a11c95467c4ac1626c4efc4e05c67be";
+      };
+    };
+    "safe-buffer-5.1.2" = {
       name = "safe-buffer";
       packageName = "safe-buffer";
-      version = "5.1.1";
+      version = "5.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz";
+        sha512 = "3xbm0dkya4bc3zwfwpdzbl8ngq0aai5ihlp2v3s39y7162c7wyvv9izj3g8hv6dy6vm2lq48lmfzygk0kxwbjb6xic7k4a329j99p8r";
+      };
+    };
+    "safe-regex-1.1.0" = {
+      name = "safe-regex";
+      packageName = "safe-regex";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz";
+        sha1 = "40a3669f3b077d1e943d44629e157dd48023bf2e";
+      };
+    };
+    "safer-buffer-2.1.2" = {
+      name = "safer-buffer";
+      packageName = "safer-buffer";
+      version = "2.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz";
+        sha512 = "2v99f22kh56y72d3s8wrgdvf5n10ry40dh3fwnsxr4d5rfvxdfxfmc3qyqkscnj4f8799jy9bpg6cm21x2d811dr9ib83wjrlmkg6k1";
+      };
+    };
+    "sanitize-filename-1.6.1" = {
+      name = "sanitize-filename";
+      packageName = "sanitize-filename";
+      version = "1.6.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/sanitize-filename/-/sanitize-filename-1.6.1.tgz";
+        sha1 = "612da1c96473fa02dccda92dcd5b4ab164a6772a";
+      };
+    };
+    "sax-1.2.4" = {
+      name = "sax";
+      packageName = "sax";
+      version = "1.2.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz";
+        sha512 = "1dn291mjsda42w8kldlbmngk6dhjxfbvvd5lckyqmwbjaj6069iq3wx0nvcfglwnpddz2qa93lzf4hv77iz43bd2qixa079sjzl799n";
+      };
+    };
+    "seek-bzip-1.0.5" = {
+      name = "seek-bzip";
+      packageName = "seek-bzip";
+      version = "1.0.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz";
-        sha512 = "1p28rllll1w65yzq5azi4izx962399xdsdlfbaynn7vmp981hiss05jhiy9hm7sbbfk3b4dhlcv0zy07fc59mnc07hdv6wcgqkcvawh";
+        url = "https://registry.npmjs.org/seek-bzip/-/seek-bzip-1.0.5.tgz";
+        sha1 = "cfe917cb3d274bcffac792758af53173eb1fabdc";
       };
     };
     "semver-5.3.0" = {
@@ -2632,6 +5953,33 @@ let
         sha512 = "0h32zh035y8m6dzcqhcymbhwgmc8839fa1hhj0jfh9ivp9kmqfj1sbwnsnkzcn9qm3sqn38sa8ys2g4c638lpnmzjr0a0qndmv7f8p1";
       };
     };
+    "semver-diff-2.1.0" = {
+      name = "semver-diff";
+      packageName = "semver-diff";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/semver-diff/-/semver-diff-2.1.0.tgz";
+        sha1 = "4bbb8437c8d37e4b0cf1a68fd726ec6d645d6d36";
+      };
+    };
+    "send-0.16.2" = {
+      name = "send";
+      packageName = "send";
+      version = "0.16.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/send/-/send-0.16.2.tgz";
+        sha512 = "1kh8iy2h9x6mqbb0kssb4d966irri0z8g2151jwx47q32dbmds01j9fs2c8hln68dqqh0ims8p450z3xfw6vs8v2k253c1cyla1ibhk";
+      };
+    };
+    "serve-static-1.13.2" = {
+      name = "serve-static";
+      packageName = "serve-static";
+      version = "1.13.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/serve-static/-/serve-static-1.13.2.tgz";
+        sha512 = "2gkkd7jlmrn2a8d736x3fcij9jj16aglbq6pcivb897g01k1dlrpvb565d3hq9zwafyr60zlcqr5flgd2yqs36s8wxpylxqnck5vyx7";
+      };
+    };
     "set-blocking-2.0.0" = {
       name = "set-blocking";
       packageName = "set-blocking";
@@ -2650,6 +5998,69 @@ let
         sha1 = "4b2b1b27eb808a9f8dcc481a58e5e56f599f3f61";
       };
     };
+    "set-value-0.4.3" = {
+      name = "set-value";
+      packageName = "set-value";
+      version = "0.4.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/set-value/-/set-value-0.4.3.tgz";
+        sha1 = "7db08f9d3d22dc7f78e53af3c3bf4666ecdfccf1";
+      };
+    };
+    "set-value-2.0.0" = {
+      name = "set-value";
+      packageName = "set-value";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/set-value/-/set-value-2.0.0.tgz";
+        sha512 = "1xdxg14zh452ih8f7826ki7xpq8wk8a831pm5zngqf8cbc4qv6mr9npks863bfqylfrhm161whf9199rmqn4i12wzmz2ks69z3343c7";
+      };
+    };
+    "setimmediate-1.0.5" = {
+      name = "setimmediate";
+      packageName = "setimmediate";
+      version = "1.0.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz";
+        sha1 = "290cbb232e306942d7d7ea9b83732ab7856f8285";
+      };
+    };
+    "setprototypeof-1.1.0" = {
+      name = "setprototypeof";
+      packageName = "setprototypeof";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz";
+        sha512 = "2jlhhawfqdiga1m6if01ks1q3yx56k5vj6wf372589vkswvdflw7224viivxali56b0jjsckpmjy10rj6fcakhw2dbq2psr197kzw86";
+      };
+    };
+    "shebang-command-1.2.0" = {
+      name = "shebang-command";
+      packageName = "shebang-command";
+      version = "1.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz";
+        sha1 = "44aac65b695b03398968c39f363fee5deafdf1ea";
+      };
+    };
+    "shebang-regex-1.0.0" = {
+      name = "shebang-regex";
+      packageName = "shebang-regex";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz";
+        sha1 = "da42f49740c0b42db2ca9728571cb190c98efea3";
+      };
+    };
+    "sigmund-1.0.1" = {
+      name = "sigmund";
+      packageName = "sigmund";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz";
+        sha1 = "3ff21f198cad2175f9f3b781853fd94d0d19b590";
+      };
+    };
     "signal-exit-3.0.2" = {
       name = "signal-exit";
       packageName = "signal-exit";
@@ -2686,6 +6097,15 @@ let
         sha512 = "17nq5vsq9227bsp0msljjp4lfra2d2f0338xk2z2m1523s3d990appvqrar9j9l3akw6bbjmbw92b9g386fggqiqz76xslvj88q8c4w";
       };
     };
+    "slash-1.0.0" = {
+      name = "slash";
+      packageName = "slash";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz";
+        sha1 = "c41f2f6c39fc16d1cd17ad4b5d896114ae470d55";
+      };
+    };
     "slasp-0.0.4" = {
       name = "slasp";
       packageName = "slasp";
@@ -2704,13 +6124,49 @@ let
         sha512 = "1xd3zsk02nck4y601rn98n8cicrphaw5bdix278mk1yizmjv9s0wpa6akcqggd7d99c55s3byf4ylqdxkshyfsfnfx7lvwbmq2b3siw";
       };
     };
-    "sntp-1.0.9" = {
-      name = "sntp";
-      packageName = "sntp";
-      version = "1.0.9";
+    "snabbdom-0.7.0" = {
+      name = "snabbdom";
+      packageName = "snabbdom";
+      version = "0.7.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/snabbdom/-/snabbdom-0.7.0.tgz";
+        sha512 = "3bh1m1ymhqqcm0mlxy5ja4xhcrryczvjda6jf8k6km9fx655x1wn7gx85i9rqds6wr1nwzccrdq72d5wn1274lxkzwy1n39gya3la1c";
+      };
+    };
+    "snabbdom-selector-1.2.1" = {
+      name = "snabbdom-selector";
+      packageName = "snabbdom-selector";
+      version = "1.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/snabbdom-selector/-/snabbdom-selector-1.2.1.tgz";
+        sha512 = "3d51vgryfsxmpva2m93ca6z130m6vh4aiii2r9w7wkibrqy6z5zjyr2p26lmghn8msdfi1yvg9hfjq573q45vazzy2my9hivqb3ck43";
+      };
+    };
+    "snapdragon-0.8.2" = {
+      name = "snapdragon";
+      packageName = "snapdragon";
+      version = "0.8.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz";
+        sha512 = "2b0sap2q0c6qbfkw6znql845b143frn5gkkz4gpirjhgwa2j3wy3jsvrfg51s5c1w1m4nkgis97x9yvmzsc533kap9j3h3zcffqxp0n";
+      };
+    };
+    "snapdragon-node-2.1.1" = {
+      name = "snapdragon-node";
+      packageName = "snapdragon-node";
+      version = "2.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz";
+        sha512 = "2gk18pdld8ij1bpa2mdwl8f7i4rl5d4ys3qw31hipj56wslnsfhp1vxp3q36kj1m4f34wzzlvj0282qx5xlflqf978xyqlc2viyaviv";
+      };
+    };
+    "snapdragon-util-3.0.1" = {
+      name = "snapdragon-util";
+      packageName = "snapdragon-util";
+      version = "3.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz";
-        sha1 = "6541184cc90aeea6c6e7b35e2659082443c66198";
+        url = "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz";
+        sha512 = "1jsaqma4ycl2iq0761i1w7758z1kq7gbsij4xfb7p5cnw0qa62pszv6pr3j856n3pbxww7wwxs5wvcg2cb6vy020kw3bchashqs9clr";
       };
     };
     "sntp-2.1.0" = {
@@ -2722,22 +6178,22 @@ let
         sha512 = "0k2smmr24w5hb1cpql6vcgh58vzp4pmh9anf0bgz3arlsgq1mapnlq9fjqr6xs10aq1cmxaw987fwknqi62frax0fvs9bj3q3kmpg8l";
       };
     };
-    "sodium-javascript-0.5.4" = {
+    "sodium-javascript-0.5.5" = {
       name = "sodium-javascript";
       packageName = "sodium-javascript";
-      version = "0.5.4";
+      version = "0.5.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/sodium-javascript/-/sodium-javascript-0.5.4.tgz";
-        sha512 = "1dqdzm0qjk1rwq62b010b649wdpvlzdxpmwc972p0dcwsc86wqfcm8lbdcxlrwypkn2jq5df1xpbxhxfphnpr993ac543p9s212si30";
+        url = "https://registry.npmjs.org/sodium-javascript/-/sodium-javascript-0.5.5.tgz";
+        sha512 = "3451wvpagbw2ib50galmlfrb5za3zh0ml1irbm2ijd0lbjblg9va4fnag6sfs7msb1m0i5zicz93jwp90c22v0n40qzpczhicg85jah";
       };
     };
-    "sodium-native-2.1.4" = {
+    "sodium-native-2.1.6" = {
       name = "sodium-native";
       packageName = "sodium-native";
-      version = "2.1.4";
+      version = "2.1.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/sodium-native/-/sodium-native-2.1.4.tgz";
-        sha512 = "3d3bbjycbpplxgjpfz78vqr8g8hp62j37hr4c3vym7ax36qzxqan73fmqw2i3wd8ix65ysdlzbnzhrs3634ngp840gfpmm9alarc80j";
+        url = "https://registry.npmjs.org/sodium-native/-/sodium-native-2.1.6.tgz";
+        sha512 = "3y0f008galwxign4qb49q2kfkhz68nfxazpcq5y63wahaqly89x640nnv8cv4rg9xn1vbp5wia76vkmh1ja13dp95vjzw2lv5q2zymx";
       };
     };
     "sodium-universal-2.0.0" = {
@@ -2758,6 +6214,15 @@ let
         sha512 = "209rl01n6lwbsxl40lmh1v38sad3d94s0mjb4mz6r3wwwhzcahibr8m2fhlqgsjgzf3dja9wyhz7qjkw39gxlwpapyid2whs4nrzbnf";
       };
     };
+    "sorted-immutable-list-1.1.0" = {
+      name = "sorted-immutable-list";
+      packageName = "sorted-immutable-list";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/sorted-immutable-list/-/sorted-immutable-list-1.1.0.tgz";
+        sha1 = "41a62c024bd755c4c57306e20eec92620dae5d97";
+      };
+    };
     "sorted-indexof-1.0.0" = {
       name = "sorted-indexof";
       packageName = "sorted-indexof";
@@ -2767,6 +6232,51 @@ let
         sha1 = "17c742ff7cf187e2f59a15df9b81f17a62ce0899";
       };
     };
+    "source-map-0.4.4" = {
+      name = "source-map";
+      packageName = "source-map";
+      version = "0.4.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz";
+        sha1 = "eba4f5da9c0dc999de68032d8b4f76173652036b";
+      };
+    };
+    "source-map-0.5.7" = {
+      name = "source-map";
+      packageName = "source-map";
+      version = "0.5.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz";
+        sha1 = "8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc";
+      };
+    };
+    "source-map-resolve-0.5.1" = {
+      name = "source-map-resolve";
+      packageName = "source-map-resolve";
+      version = "0.5.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.1.tgz";
+        sha512 = "3ccyfzn4imm9m891wy0bqh85lxrsf82snlh7dlgvjc28rpd2m6n95x8kjmm2crcpqv6234xc2lqzp1h1cyx7xrn146nzinzzk1bd9fh";
+      };
+    };
+    "source-map-url-0.4.0" = {
+      name = "source-map-url";
+      packageName = "source-map-url";
+      version = "0.4.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz";
+        sha1 = "3e935d7ddd73631b97659956d55128e87b5084a3";
+      };
+    };
+    "spark-md5-1.0.1" = {
+      name = "spark-md5";
+      packageName = "spark-md5";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/spark-md5/-/spark-md5-1.0.1.tgz";
+        sha1 = "c4b9a8d41cf7b0845423a821824f8dffa0f51b7c";
+      };
+    };
     "sparse-bitfield-3.0.3" = {
       name = "sparse-bitfield";
       packageName = "sparse-bitfield";
@@ -2785,13 +6295,40 @@ let
         sha1 = "cd671cb06752c22bca3370e2f334440be4fc62e2";
       };
     };
-    "sshpk-1.13.1" = {
+    "split-0.3.3" = {
+      name = "split";
+      packageName = "split";
+      version = "0.3.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/split/-/split-0.3.3.tgz";
+        sha1 = "cd0eea5e63a211dfff7eb0f091c4133e2d0dd28f";
+      };
+    };
+    "split-string-3.1.0" = {
+      name = "split-string";
+      packageName = "split-string";
+      version = "3.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz";
+        sha512 = "25ih1dx2qb3lawqjxj85znd4l3x8nnigrcdlpfw8064gh2mwxic9bgg5ylgxm9gjl3v8dmyc47rycp8xvqz78jqalg0g9yqj225acrp";
+      };
+    };
+    "sprintf-js-1.0.3" = {
+      name = "sprintf-js";
+      packageName = "sprintf-js";
+      version = "1.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz";
+        sha1 = "04e6926f662895354f3dd015203633b857297e2c";
+      };
+    };
+    "sshpk-1.14.1" = {
       name = "sshpk";
       packageName = "sshpk";
-      version = "1.13.1";
+      version = "1.14.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/sshpk/-/sshpk-1.13.1.tgz";
-        sha1 = "512df6da6287144316dc4c18fe1cf1d940739be3";
+        url = "https://registry.npmjs.org/sshpk/-/sshpk-1.14.1.tgz";
+        sha1 = "130f5975eddad963f1d56f92b9ac6c51fa9f83eb";
       };
     };
     "stack-trace-0.0.10" = {
@@ -2803,6 +6340,24 @@ let
         sha1 = "547c70b347e8d32b4e108ea1a2a159e5fdde19c0";
       };
     };
+    "stat-mode-0.2.2" = {
+      name = "stat-mode";
+      packageName = "stat-mode";
+      version = "0.2.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/stat-mode/-/stat-mode-0.2.2.tgz";
+        sha1 = "e6c80b623123d7d80cf132ce538f346289072502";
+      };
+    };
+    "static-extend-0.1.2" = {
+      name = "static-extend";
+      packageName = "static-extend";
+      version = "0.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz";
+        sha1 = "60809c39cbff55337226fd5e0b520f341f1fb5c6";
+      };
+    };
     "status-logger-3.1.1" = {
       name = "status-logger";
       packageName = "status-logger";
@@ -2812,6 +6367,24 @@ let
         sha512 = "005i18cgcklklz0gqd9gsck97zwf2zfr9wa26lr9djafcng34nbdlqmhwrm9ixf2qgjb9mm2k72ggscb7v3zvybbkys1xfkzv6immkl";
       };
     };
+    "statuses-1.3.1" = {
+      name = "statuses";
+      packageName = "statuses";
+      version = "1.3.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/statuses/-/statuses-1.3.1.tgz";
+        sha1 = "faf51b9eb74aaef3b3acf4ad5f61abf24cb7b93e";
+      };
+    };
+    "statuses-1.4.0" = {
+      name = "statuses";
+      packageName = "statuses";
+      version = "1.4.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz";
+        sha512 = "1xxwqpj713rq1idbmp7mj7cj9dl52lazgpd5x8a9g88jawbkn9xpwbgljl7cvnd0jqkll2zpdj5xy63dlis9l2k8vmx1n1gvyv8456f";
+      };
+    };
     "stream-collector-1.0.1" = {
       name = "stream-collector";
       packageName = "stream-collector";
@@ -2821,6 +6394,15 @@ let
         sha1 = "4d4e55f171356121b2c5f6559f944705ab28db15";
       };
     };
+    "stream-combiner-0.0.4" = {
+      name = "stream-combiner";
+      packageName = "stream-combiner";
+      version = "0.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/stream-combiner/-/stream-combiner-0.0.4.tgz";
+        sha1 = "4d5e433c185261dde623ca3f44c586bcf5c4ad14";
+      };
+    };
     "stream-each-1.2.2" = {
       name = "stream-each";
       packageName = "stream-each";
@@ -2848,6 +6430,24 @@ let
         sha1 = "d5c752825e5367e786f78e18e445ea223a155952";
       };
     };
+    "streamsearch-0.1.2" = {
+      name = "streamsearch";
+      packageName = "streamsearch";
+      version = "0.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/streamsearch/-/streamsearch-0.1.2.tgz";
+        sha1 = "808b9d0e56fc273d809ba57338e929919a1a9f1a";
+      };
+    };
+    "string-3.3.3" = {
+      name = "string";
+      packageName = "string";
+      version = "3.3.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/string/-/string-3.3.3.tgz";
+        sha1 = "5ea211cd92d228e184294990a6cc97b366a77cb0";
+      };
+    };
     "string-width-1.0.2" = {
       name = "string-width";
       packageName = "string-width";
@@ -2866,13 +6466,22 @@ let
         sha512 = "29s1fqgr4mnhfxwczgdghfmmc1f792m9hysvcjxw2h5lfj8ndf2b6gm02m96qk5m75g4aisijvng4pk618anwbr8i9ay2jyszkqgslw";
       };
     };
-    "string_decoder-1.0.3" = {
+    "string_decoder-0.10.31" = {
       name = "string_decoder";
       packageName = "string_decoder";
-      version = "1.0.3";
+      version = "0.10.31";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz";
+        sha1 = "62e203bc41766c6c28c9fc84301dab1c5310fa94";
+      };
+    };
+    "string_decoder-1.1.1" = {
+      name = "string_decoder";
+      packageName = "string_decoder";
+      version = "1.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz";
-        sha512 = "22vw5mmwlyblqc2zyqwl39wyhyahhpiyknim8iz5fk6xi002x777gkswiq8fh297djs5ii4pgrys57wq33hr5zf3xfd0d7kjxkzl0g0";
+        url = "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz";
+        sha512 = "315yd4vzwrwk3vwj1klf46y1cj2jbvf88066y2rnwhksb98phj46jkxixbwsp3h607w7czy7cby522s7sx8mvspdpdm3s72y2ga3x4z";
       };
     };
     "stringstream-0.0.5" = {
@@ -2902,6 +6511,24 @@ let
         sha1 = "a8479022eb1ac368a871389b635262c505ee368f";
       };
     };
+    "strip-dirs-2.1.0" = {
+      name = "strip-dirs";
+      packageName = "strip-dirs";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/strip-dirs/-/strip-dirs-2.1.0.tgz";
+        sha512 = "3gd7bh1h7xjvl8y6lj1mmsv4qpgbxd620fbp2cjlnc3b9gn7wnzbs1170gs7i6y5arm0dd09y8d74vr357gvwmx9f0616wbw8wv3q14";
+      };
+    };
+    "strip-eof-1.0.0" = {
+      name = "strip-eof";
+      packageName = "strip-eof";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz";
+        sha1 = "bb43ff5598a6eb05d89b59fcd129c983313606bf";
+      };
+    };
     "strip-json-comments-2.0.1" = {
       name = "strip-json-comments";
       packageName = "strip-json-comments";
@@ -2911,6 +6538,15 @@ let
         sha1 = "3c531942e908c2697c0ec344858c286c7ca0a60a";
       };
     };
+    "strip-outer-1.0.1" = {
+      name = "strip-outer";
+      packageName = "strip-outer";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/strip-outer/-/strip-outer-1.0.1.tgz";
+        sha512 = "31a8vlzg4gwak3cx7n0lask77xyqpf5mz4ckphc10ykmb9r2lais7v4w8a8xij9lv2115xjnl7avkwp2l7cw3kbc3lpjsghl72757lk";
+      };
+    };
     "subcommand-2.1.0" = {
       name = "subcommand";
       packageName = "subcommand";
@@ -2920,6 +6556,51 @@ let
         sha1 = "5e4ceca5a3779e3365b1511e05f866877302f760";
       };
     };
+    "superagent-1.8.5" = {
+      name = "superagent";
+      packageName = "superagent";
+      version = "1.8.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/superagent/-/superagent-1.8.5.tgz";
+        sha1 = "1c0ddc3af30e80eb84ebc05cb2122da8fe940b55";
+      };
+    };
+    "superagent-3.8.2" = {
+      name = "superagent";
+      packageName = "superagent";
+      version = "3.8.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/superagent/-/superagent-3.8.2.tgz";
+        sha512 = "0sxwwjllf26hx079lw1w3c1zywq2af9ssi7f0n334xzz1mgnfx2lr5l532a988zyi3bigzmfidqgdrfmwv6ghgzs77qsw87yr0zhlc1";
+      };
+    };
+    "superagent-3.8.3" = {
+      name = "superagent";
+      packageName = "superagent";
+      version = "3.8.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/superagent/-/superagent-3.8.3.tgz";
+        sha512 = "0a4ra91hgzbhnyccsx319r1xzaw4cb3k144g7xrp10y3wckzd98vxhf5vk34cfvvlrav8pyf2vqr11scimkiyivg2w84458q0n2vd0q";
+      };
+    };
+    "supports-color-1.2.0" = {
+      name = "supports-color";
+      packageName = "supports-color";
+      version = "1.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/supports-color/-/supports-color-1.2.0.tgz";
+        sha1 = "ff1ed1e61169d06b3cf2d588e188b18d8847e17e";
+      };
+    };
+    "supports-color-2.0.0" = {
+      name = "supports-color";
+      packageName = "supports-color";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz";
+        sha1 = "535d045ce6b6363fa40117084629995e9df324c7";
+      };
+    };
     "supports-color-4.4.0" = {
       name = "supports-color";
       packageName = "supports-color";
@@ -2929,13 +6610,67 @@ let
         sha512 = "1flwwfdd7gg94xrc0b2ard3qjx4cpy600q49gx43y8pzvs7j56q78bjhv8mk18vgbggr4fd11jda8ck5cdrkc5jcjs04nlp7kwbg85c";
       };
     };
-    "supports-color-5.2.0" = {
+    "supports-color-5.4.0" = {
       name = "supports-color";
       packageName = "supports-color";
-      version = "5.2.0";
+      version = "5.4.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz";
+        sha512 = "3ks7qkl6s064qcdc5qnpzcwzcrnlzccz9m3faw54fnmsm2k8fzb9saqr5nhx7w9lnd4nbp0zg047zz8mwsd4fxfnalpb7kra619fdnf";
+      };
+    };
+    "swagger-converter-0.1.7" = {
+      name = "swagger-converter";
+      packageName = "swagger-converter";
+      version = "0.1.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/swagger-converter/-/swagger-converter-0.1.7.tgz";
+        sha1 = "a097519c6f1ee4dd67e308d9b53ddc9c2b257f97";
+      };
+    };
+    "swagger-converter-0.2.0" = {
+      name = "swagger-converter";
+      packageName = "swagger-converter";
+      version = "0.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/swagger-converter/-/swagger-converter-0.2.0.tgz";
+        sha1 = "354023cfc5ed3d4ef6895c310189067bbe66d616";
+      };
+    };
+    "swagger-editor-2.10.5" = {
+      name = "swagger-editor";
+      packageName = "swagger-editor";
+      version = "2.10.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/swagger-editor/-/swagger-editor-2.10.5.tgz";
+        sha1 = "a4316ccb0d40a77d30dadf91f0f4db7e475f948a";
+      };
+    };
+    "swagger-test-templates-1.5.0" = {
+      name = "swagger-test-templates";
+      packageName = "swagger-test-templates";
+      version = "1.5.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/swagger-test-templates/-/swagger-test-templates-1.5.0.tgz";
+        sha512 = "0jmilcls10zf18f7nlcdn29qdf21bl4xsk1kzzayp5h92ljkwx3c9jyy3a3p2yrd6pjnzh0k5c4yih3kbv6nxcd2rpf5vlfm44lg06l";
+      };
+    };
+    "swagger-tools-0.9.16" = {
+      name = "swagger-tools";
+      packageName = "swagger-tools";
+      version = "0.9.16";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/swagger-tools/-/swagger-tools-0.9.16.tgz";
+        sha1 = "e39fae3d581d713682491e1926cd87bf2c209bfb";
+      };
+    };
+    "symbol-observable-1.2.0" = {
+      name = "symbol-observable";
+      packageName = "symbol-observable";
+      version = "1.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/supports-color/-/supports-color-5.2.0.tgz";
-        sha512 = "3jqwn02aw7bczn3f56mfbx3nvhrydwsc6g9vkp54794rfdg61vbp3qy4vdj1n8jvpahlcywpcv0afxjxbj5a3wm9lpqcsr5ix5nyzqp";
+        url = "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.2.0.tgz";
+        sha512 = "1fxqjwdn747lxzkxrwhbw8arc9czdig47izx5hnzk22z8k7rnw00q8vcpy8v7a3xyamavwgg4mvjkpn2ihjiyjxjnhx2ihiryf39pbv";
       };
     };
     "tar-2.2.1" = {
@@ -2947,13 +6682,31 @@ let
         sha1 = "8e4d2a256c0e2185c6b18ad694aec968b83cb1d1";
       };
     };
-    "tar-pack-3.4.1" = {
-      name = "tar-pack";
-      packageName = "tar-pack";
-      version = "3.4.1";
+    "tar-4.4.2" = {
+      name = "tar";
+      packageName = "tar";
+      version = "4.4.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/tar/-/tar-4.4.2.tgz";
+        sha512 = "25ypdsz6l4xmg1f89pjy8s773j3lzx855iiakbdknz115vxyg4p4z1j0i84iyjpzwgfjfs2l2njpd0y2hlr5sh4n01nh6124zs09y85";
+      };
+    };
+    "tar-stream-1.6.0" = {
+      name = "tar-stream";
+      packageName = "tar-stream";
+      version = "1.6.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/tar-pack/-/tar-pack-3.4.1.tgz";
-        sha512 = "0mgk8jd55vr7i3i29r1skhxwwbqkqfz6mbr32r5nn8h6v5xns8d2rc7835y7wj0zmppckxai7nm8r4s65kkg6yhirnwx33yixn75x1w";
+        url = "https://registry.npmjs.org/tar-stream/-/tar-stream-1.6.0.tgz";
+        sha512 = "2kw4php0986jgdzqvrih64plc8md1f1v3wfc8mz3y0lz95dmmvba1lpjmwp1v4crgfky63r8an3syfavn3gb0d56xk7615zy40a47cn";
+      };
+    };
+    "term-size-1.2.0" = {
+      name = "term-size";
+      packageName = "term-size";
+      version = "1.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/term-size/-/term-size-1.2.0.tgz";
+        sha1 = "458b83887f288fc56d6fffbfad262e26638efa69";
       };
     };
     "throttle-1.0.3" = {
@@ -2965,6 +6718,15 @@ let
         sha1 = "8a32e4a15f1763d997948317c5ebe3ad8a41e4b7";
       };
     };
+    "through-2.3.8" = {
+      name = "through";
+      packageName = "through";
+      version = "2.3.8";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/through/-/through-2.3.8.tgz";
+        sha1 = "0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5";
+      };
+    };
     "through2-2.0.3" = {
       name = "through2";
       packageName = "through2";
@@ -2974,6 +6736,24 @@ let
         sha1 = "0004569b37c7c74ba39c43f3ced78d1ad94140be";
       };
     };
+    "thunkify-2.1.2" = {
+      name = "thunkify";
+      packageName = "thunkify";
+      version = "2.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/thunkify/-/thunkify-2.1.2.tgz";
+        sha1 = "faa0e9d230c51acc95ca13a361ac05ca7e04553d";
+      };
+    };
+    "thunkify-wrap-1.0.4" = {
+      name = "thunkify-wrap";
+      packageName = "thunkify-wrap";
+      version = "1.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/thunkify-wrap/-/thunkify-wrap-1.0.4.tgz";
+        sha1 = "b52be548ddfefda20e00b58c6096762b43dd6880";
+      };
+    };
     "thunky-0.1.0" = {
       name = "thunky";
       packageName = "thunky";
@@ -2992,13 +6772,76 @@ let
         sha1 = "a862e018e3fb1ea2ec3fce5d55605cf57f247371";
       };
     };
-    "to-buffer-1.1.0" = {
+    "tildify-1.2.0" = {
+      name = "tildify";
+      packageName = "tildify";
+      version = "1.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/tildify/-/tildify-1.2.0.tgz";
+        sha1 = "dcec03f55dca9b7aa3e5b04f21817eb56e63588a";
+      };
+    };
+    "timed-out-4.0.1" = {
+      name = "timed-out";
+      packageName = "timed-out";
+      version = "4.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/timed-out/-/timed-out-4.0.1.tgz";
+        sha1 = "f32eacac5a175bea25d7fab565ab3ed8741ef56f";
+      };
+    };
+    "tmp-0.0.33" = {
+      name = "tmp";
+      packageName = "tmp";
+      version = "0.0.33";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz";
+        sha512 = "0drg2bck1cj8677rgs1l98v7vqaxawcqh6ja87qilwnd719l5y0lzv5ssn3pcwa37fdbg4188y6x15a90vkllyvfpd9v7fai2b8j44d";
+      };
+    };
+    "to-buffer-1.1.1" = {
       name = "to-buffer";
       packageName = "to-buffer";
-      version = "1.1.0";
+      version = "1.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/to-buffer/-/to-buffer-1.1.1.tgz";
+        sha512 = "1b8wsfz1rp8fsb2kz7isrsx292vl5w4cmx9qvivxqsj61avx9ph1azxa6zr3mc85cz8qddbkxm6ski8zvacmpadc22wp6pv5gk427wp";
+      };
+    };
+    "to-iso-string-0.0.2" = {
+      name = "to-iso-string";
+      packageName = "to-iso-string";
+      version = "0.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/to-iso-string/-/to-iso-string-0.0.2.tgz";
+        sha1 = "4dc19e664dfccbe25bd8db508b00c6da158255d1";
+      };
+    };
+    "to-object-path-0.3.0" = {
+      name = "to-object-path";
+      packageName = "to-object-path";
+      version = "0.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz";
+        sha1 = "297588b7b0e7e0ac08e04e672f85c1f4999e17af";
+      };
+    };
+    "to-regex-3.0.2" = {
+      name = "to-regex";
+      packageName = "to-regex";
+      version = "3.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/to-buffer/-/to-buffer-1.1.0.tgz";
-        sha1 = "375bc03edae5c35a8fa0b3fe95a1f3985db1dcfa";
+        url = "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz";
+        sha512 = "03lcq1y1ks55lss37m3cx52f8f4wj85rqsxfxrhi3y8rqa0iiny6df8ardg2f742z870v7xw749lcsxh8yplsmbvaig4rrds1w6asqm";
+      };
+    };
+    "to-regex-range-2.1.1" = {
+      name = "to-regex-range";
+      packageName = "to-regex-range";
+      version = "2.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz";
+        sha1 = "7c80c17b9dfebe599e27367e0d4dd5590141db38";
       };
     };
     "toiletdb-1.4.1" = {
@@ -3010,6 +6853,24 @@ let
         sha512 = "0c9ayp39hvxd1lzl6cxvsxcys0jzfb698i3as3xrw3n9zpxwmx4sqwisv63bfsmdl10c6v4inpj5kvckhlr3nd3ny1pj264r0qags0l";
       };
     };
+    "toml-2.3.3" = {
+      name = "toml";
+      packageName = "toml";
+      version = "2.3.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/toml/-/toml-2.3.3.tgz";
+        sha512 = "16a6xk2s4y4llqya2gjgwzlvb0512sw8ahxfd4b225j2sd9i52zca1w65d69wd7frzhcz2ak3gf3r3y9ws727b5gnp1n7wh2j3gkciv";
+      };
+    };
+    "touch-3.1.0" = {
+      name = "touch";
+      packageName = "touch";
+      version = "3.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/touch/-/touch-3.1.0.tgz";
+        sha512 = "2a3sk3562y1ihbl06r5g1pzs37mwhhnz8f8vvcc0k8bhykczzgv9dyw71kkz4mbf81iq7wbf2nq7hpy6z6zhanj8s9d6bjk5r9pq72q";
+      };
+    };
     "tough-cookie-2.3.4" = {
       name = "tough-cookie";
       packageName = "tough-cookie";
@@ -3028,6 +6889,15 @@ let
         sha512 = "3da1j7ba37apy5kqlv436dz265b8ni63ca069gy4wrj9krq236j7sp0r259ia6jk1a8d7qqg37kkk8kwmnaqwcy90wnwnjxxp8bnf78";
       };
     };
+    "traverse-0.6.6" = {
+      name = "traverse";
+      packageName = "traverse";
+      version = "0.6.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/traverse/-/traverse-0.6.6.tgz";
+        sha1 = "cbdf560fd7b9af632502fed40f918c157ea97137";
+      };
+    };
     "trim-0.0.1" = {
       name = "trim";
       packageName = "trim";
@@ -3037,6 +6907,24 @@ let
         sha1 = "5858547f6b290757ee95cccc666fb50084c460dd";
       };
     };
+    "trim-repeated-1.0.0" = {
+      name = "trim-repeated";
+      packageName = "trim-repeated";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/trim-repeated/-/trim-repeated-1.0.0.tgz";
+        sha1 = "e3646a2ea4e891312bf7eace6cfb05380bc01c21";
+      };
+    };
+    "truncate-utf8-bytes-1.0.2" = {
+      name = "truncate-utf8-bytes";
+      packageName = "truncate-utf8-bytes";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/truncate-utf8-bytes/-/truncate-utf8-bytes-1.0.2.tgz";
+        sha1 = "405923909592d56f78a5818434b0b78489ca5f2b";
+      };
+    };
     "ttl-1.3.1" = {
       name = "ttl";
       packageName = "ttl";
@@ -3064,6 +6952,15 @@ let
         sha1 = "5ae68177f192d4456269d108afa93ff8743f4f64";
       };
     };
+    "type-is-1.6.16" = {
+      name = "type-is";
+      packageName = "type-is";
+      version = "1.6.16";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/type-is/-/type-is-1.6.16.tgz";
+        sha512 = "3sqj799a59bbpyx9h2nhwjgi776w2jc2pp620b1rgk22fc3czfbxmav4m8kq0ilaqfxx6v1hww5pzgf13bnz6n84fx62qvazszia68x";
+      };
+    };
     "typedarray-0.0.6" = {
       name = "typedarray";
       packageName = "typedarray";
@@ -3073,22 +6970,76 @@ let
         sha1 = "867ac74e3864187b1d3d47d996a78ec5c8830777";
       };
     };
-    "uid-number-0.0.6" = {
-      name = "uid-number";
-      packageName = "uid-number";
-      version = "0.0.6";
+    "uglify-js-2.8.29" = {
+      name = "uglify-js";
+      packageName = "uglify-js";
+      version = "2.8.29";
       src = fetchurl {
-        url = "https://registry.npmjs.org/uid-number/-/uid-number-0.0.6.tgz";
-        sha1 = "0ea10e8035e8eb5b8e4449f06da1c730663baa81";
+        url = "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz";
+        sha1 = "29c5733148057bb4e1f75df35b7a9cb72e6a59dd";
       };
     };
-    "uint64be-2.0.1" = {
+    "uglify-to-browserify-1.0.2" = {
+      name = "uglify-to-browserify";
+      packageName = "uglify-to-browserify";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz";
+        sha1 = "6e0924d6bda6b5afe349e39a6d632850a0f882b7";
+      };
+    };
+    "uid-0.0.2" = {
+      name = "uid";
+      packageName = "uid";
+      version = "0.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/uid/-/uid-0.0.2.tgz";
+        sha1 = "5e4a5d4b78138b4f70f89fd3c76fc59aa9d2f103";
+      };
+    };
+    "uint64be-2.0.2" = {
       name = "uint64be";
       packageName = "uint64be";
-      version = "2.0.1";
+      version = "2.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/uint64be/-/uint64be-2.0.2.tgz";
+        sha512 = "34jzmdzz81fdi4s48rxr9dzs63iln7w6y9d44ckq6nvxd6v7y0wpc6x90zc2md21ddc1abfwk5h20py3s79bzhknqqphkchj6z9s2pm";
+      };
+    };
+    "unbzip2-stream-1.2.5" = {
+      name = "unbzip2-stream";
+      packageName = "unbzip2-stream";
+      version = "1.2.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.2.5.tgz";
+        sha512 = "0xgvidx384p6cc8zh4m0qq000cn140dsckkijf95ka6iqi9j5nsrjrrf3mr3gxnybcvf2l4hxkaf0j7cqxncm3lnpq4ripw2j7zfc4b";
+      };
+    };
+    "undefsafe-2.0.2" = {
+      name = "undefsafe";
+      packageName = "undefsafe";
+      version = "2.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/undefsafe/-/undefsafe-2.0.2.tgz";
+        sha1 = "225f6b9e0337663e0d8e7cfd686fc2836ccace76";
+      };
+    };
+    "union-value-1.0.0" = {
+      name = "union-value";
+      packageName = "union-value";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz";
+        sha1 = "5c71c34cb5bad5dcebe3ea0cd08207ba5aa1aea4";
+      };
+    };
+    "unique-string-1.0.0" = {
+      name = "unique-string";
+      packageName = "unique-string";
+      version = "1.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/uint64be/-/uint64be-2.0.1.tgz";
-        sha1 = "a310d94e4e5e0b02a95d678e33323f802bdc8428";
+        url = "https://registry.npmjs.org/unique-string/-/unique-string-1.0.0.tgz";
+        sha1 = "9e1057cca851abb93398f8b33ae187b99caec11a";
       };
     };
     "unixify-1.0.0" = {
@@ -3127,6 +7078,24 @@ let
         sha1 = "985a27e975baa20b8263aea7a791e9300941a9ec";
       };
     };
+    "unpipe-1.0.0" = {
+      name = "unpipe";
+      packageName = "unpipe";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz";
+        sha1 = "b2bf4ee8514aae6165b4817829d21b2ef49904ec";
+      };
+    };
+    "unset-value-1.0.0" = {
+      name = "unset-value";
+      packageName = "unset-value";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz";
+        sha1 = "8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559";
+      };
+    };
     "untildify-3.0.2" = {
       name = "untildify";
       packageName = "untildify";
@@ -3136,6 +7105,105 @@ let
         sha1 = "7f1f302055b3fea0f3e81dc78eb36766cb65e3f1";
       };
     };
+    "unyield-0.0.1" = {
+      name = "unyield";
+      packageName = "unyield";
+      version = "0.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/unyield/-/unyield-0.0.1.tgz";
+        sha1 = "150e65da42bf7742445b958a64eb9b85d1d2b180";
+      };
+    };
+    "unzip-response-2.0.1" = {
+      name = "unzip-response";
+      packageName = "unzip-response";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/unzip-response/-/unzip-response-2.0.1.tgz";
+        sha1 = "d2f0f737d16b0615e72a6935ed04214572d56f97";
+      };
+    };
+    "upath-1.0.5" = {
+      name = "upath";
+      packageName = "upath";
+      version = "1.0.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/upath/-/upath-1.0.5.tgz";
+        sha512 = "31m1lljcfngdnpyz67gpkwvb66gx6750si3jzmf1vg6kq420fq5lcd34cfgp6wz3manjpqbp9i98ax2yjl2xs7mq824chw38vvsgcm9";
+      };
+    };
+    "update-notifier-2.5.0" = {
+      name = "update-notifier";
+      packageName = "update-notifier";
+      version = "2.5.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/update-notifier/-/update-notifier-2.5.0.tgz";
+        sha512 = "07vkna9y5i0ak6rwcbinrrgpabrcmav91ys805c42jskyc6kfla3wd12klsr858vzv5civi7arh5xz8bv7jdj81zgzyh6j70a31s0w3";
+      };
+    };
+    "uri-js-3.0.2" = {
+      name = "uri-js";
+      packageName = "uri-js";
+      version = "3.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/uri-js/-/uri-js-3.0.2.tgz";
+        sha1 = "f90b858507f81dea4dcfbb3c4c3dbfa2b557faaa";
+      };
+    };
+    "urix-0.1.0" = {
+      name = "urix";
+      packageName = "urix";
+      version = "0.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz";
+        sha1 = "da937f7a62e21fec1fd18d49b35c2935067a6c72";
+      };
+    };
+    "url-parse-lax-1.0.0" = {
+      name = "url-parse-lax";
+      packageName = "url-parse-lax";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-1.0.0.tgz";
+        sha1 = "7af8f303645e9bd79a272e7a14ac68bc0609da73";
+      };
+    };
+    "url-to-options-1.0.1" = {
+      name = "url-to-options";
+      packageName = "url-to-options";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/url-to-options/-/url-to-options-1.0.1.tgz";
+        sha1 = "1505a03a289a48cbd7a434efbaeec5055f5633a9";
+      };
+    };
+    "use-3.1.0" = {
+      name = "use";
+      packageName = "use";
+      version = "3.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/use/-/use-3.1.0.tgz";
+        sha512 = "01m2fmv6pc6r5zgjxdb31sx9vhii5ahpwmdn89mpqcvh5f0kpjn6zpmh5qj8m2yhf8s3g6ygwnlccg0j2g36kcjvp16rynbrx048hp9";
+      };
+    };
+    "user-home-2.0.0" = {
+      name = "user-home";
+      packageName = "user-home";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/user-home/-/user-home-2.0.0.tgz";
+        sha1 = "9c70bfd8169bc1dcbf48604e0f04b8b49cde9e9f";
+      };
+    };
+    "utf8-byte-length-1.0.4" = {
+      name = "utf8-byte-length";
+      packageName = "utf8-byte-length";
+      version = "1.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/utf8-byte-length/-/utf8-byte-length-1.0.4.tgz";
+        sha1 = "f45f150c4c66eee968186505ab93fcbb8ad6bf61";
+      };
+    };
     "util-deprecate-1.0.2" = {
       name = "util-deprecate";
       packageName = "util-deprecate";
@@ -3154,13 +7222,22 @@ let
         sha1 = "1352c340eb820e4d8ddba039a4fbfaa32ed4ef3a";
       };
     };
-    "utp-native-1.6.2" = {
+    "utils-merge-1.0.1" = {
+      name = "utils-merge";
+      packageName = "utils-merge";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz";
+        sha1 = "9f95710f50a267947b2ccc124741c1028427e713";
+      };
+    };
+    "utp-native-1.7.1" = {
       name = "utp-native";
       packageName = "utp-native";
-      version = "1.6.2";
+      version = "1.7.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/utp-native/-/utp-native-1.6.2.tgz";
-        sha512 = "2mcnn6w5as2dvz6rj4fb33174z3a1rl9bm2cfazrr4084gq7aal0bkmkwr1cjpkvy1zgni3zdk0570fx7cmnd0k0hg18wfb2hvbigfg";
+        url = "https://registry.npmjs.org/utp-native/-/utp-native-1.7.1.tgz";
+        sha512 = "2mflgna04nng4cj8z4pr53pw0fm3z447mvbnvcahlvq8wpg46znrvg4fkgh18k14bkiq3gic5d2h975bgy7h7l64cfjpc8r2km3naqm";
       };
     };
     "uuid-3.2.1" = {
@@ -3172,6 +7249,42 @@ let
         sha512 = "0843vl1c974n8kw5kn0kvhvhwk8y8jydr0xkwwl2963xxmkw4ingk6xj9c8m48jw2i95giglxzq5aw5v5mij9kv7fzln8pxav1cr6cd";
       };
     };
+    "valid-url-1.0.9" = {
+      name = "valid-url";
+      packageName = "valid-url";
+      version = "1.0.9";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/valid-url/-/valid-url-1.0.9.tgz";
+        sha1 = "1c14479b40f1397a75782f115e4086447433a200";
+      };
+    };
+    "validate-npm-package-name-3.0.0" = {
+      name = "validate-npm-package-name";
+      packageName = "validate-npm-package-name";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-3.0.0.tgz";
+        sha1 = "5fa912d81eb7d0c74afc140de7317f0ca7df437e";
+      };
+    };
+    "validator-9.4.1" = {
+      name = "validator";
+      packageName = "validator";
+      version = "9.4.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/validator/-/validator-9.4.1.tgz";
+        sha512 = "2f2x8zxh7czpkf33h5x8fvj48rfszyhkar554x5c2hw7qlsbdqjqvv6nczzsfkw6z5rj6gqabxhcg8haip0xgz7sn4jr6fi7f7llpk1";
+      };
+    };
+    "variable-diff-1.1.0" = {
+      name = "variable-diff";
+      packageName = "variable-diff";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/variable-diff/-/variable-diff-1.1.0.tgz";
+        sha1 = "d2bd5c66db76c13879d96e6a306edc989df978da";
+      };
+    };
     "varint-3.0.1" = {
       name = "varint";
       packageName = "varint";
@@ -3208,6 +7321,15 @@ let
         sha1 = "3a105ca17053af55d6e270c1f8288682e18da400";
       };
     };
+    "ware-1.3.0" = {
+      name = "ware";
+      packageName = "ware";
+      version = "1.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ware/-/ware-1.3.0.tgz";
+        sha1 = "d1b14f39d2e2cb4ab8c4098f756fe4b164e473d4";
+      };
+    };
     "which-1.3.0" = {
       name = "which";
       packageName = "which";
@@ -3226,6 +7348,33 @@ let
         sha512 = "39m5b8qc31vxhh0bz14vh9a1kf9znarvlpkf0v6vv1f2dxi61gihav2djq2mn7ns1z3yq6l8pyydj52fyzbm2q04rssrcrv4jbwnc4a";
       };
     };
+    "widest-line-2.0.0" = {
+      name = "widest-line";
+      packageName = "widest-line";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/widest-line/-/widest-line-2.0.0.tgz";
+        sha1 = "0142a4e8a243f8882c0233aa0e0281aa76152273";
+      };
+    };
+    "win-fork-1.1.1" = {
+      name = "win-fork";
+      packageName = "win-fork";
+      version = "1.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/win-fork/-/win-fork-1.1.1.tgz";
+        sha1 = "8f58e0656fca00adc8c86a2b89e3cd2d6a2d5e5e";
+      };
+    };
+    "window-size-0.1.0" = {
+      name = "window-size";
+      packageName = "window-size";
+      version = "0.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz";
+        sha1 = "5438cd2ea93b202efa3a19fe8887aee7c94f9c9d";
+      };
+    };
     "winston-2.1.1" = {
       name = "winston";
       packageName = "winston";
@@ -3235,6 +7384,24 @@ let
         sha1 = "3c9349d196207fd1bdff9d4bc43ef72510e3a12e";
       };
     };
+    "wordwrap-0.0.2" = {
+      name = "wordwrap";
+      packageName = "wordwrap";
+      version = "0.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz";
+        sha1 = "b79669bb42ecb409f83d583cad52ca17eaa1643f";
+      };
+    };
+    "wordwrap-0.0.3" = {
+      name = "wordwrap";
+      packageName = "wordwrap";
+      version = "0.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz";
+        sha1 = "a3d5da6cd5c0bc0008d37234bbaf1bed63059107";
+      };
+    };
     "wrap-ansi-3.0.1" = {
       name = "wrap-ansi";
       packageName = "wrap-ansi";
@@ -3244,6 +7411,15 @@ let
         sha1 = "288a04d87eda5c286e060dfe8f135ce8d007f8ba";
       };
     };
+    "wrap-fn-0.1.5" = {
+      name = "wrap-fn";
+      packageName = "wrap-fn";
+      version = "0.1.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/wrap-fn/-/wrap-fn-0.1.5.tgz";
+        sha1 = "f21b6e41016ff4a7e31720dbc63a09016bdf9845";
+      };
+    };
     "wrappy-1.0.2" = {
       name = "wrappy";
       packageName = "wrappy";
@@ -3253,6 +7429,24 @@ let
         sha1 = "b5243d8f3ec1aa35f1364605bc0d1036e30ab69f";
       };
     };
+    "write-file-atomic-2.3.0" = {
+      name = "write-file-atomic";
+      packageName = "write-file-atomic";
+      version = "2.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.3.0.tgz";
+        sha512 = "2sgqxmcqzjd7nq9gjh6jz7vfb0gs0ag4jvqzdq93afq3bw3jrm88mhxql9sryyb04f3ipw5jkgjfiigsmdwlz9fgsnnm3cxhcmxxqy6";
+      };
+    };
+    "xdg-basedir-3.0.0" = {
+      name = "xdg-basedir";
+      packageName = "xdg-basedir";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-3.0.0.tgz";
+        sha1 = "496b2cc109eca8dbacfe2dc72b603c17c5870ad4";
+      };
+    };
     "xhr-2.4.1" = {
       name = "xhr";
       packageName = "xhr";
@@ -3271,6 +7465,15 @@ let
         sha512 = "35rg34yxk4ag0qclk7bqxirgr3dgypcvkisqqj2g3y0ma16pkfy81iv79pcwff5p4spygwjh2m9v37llq7367fypqrx89s9kscwal43";
       };
     };
+    "xstream-11.2.0" = {
+      name = "xstream";
+      packageName = "xstream";
+      version = "11.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/xstream/-/xstream-11.2.0.tgz";
+        sha512 = "2jnrf16561zx9hsvlb8d48ca9qwdh9wxcbkwhkjvp5r88b8pcfjlx2g58k9w5kjs0kw660rw6hj2zhvdsznyf0ic9mj682xz6hf7kfh";
+      };
+    };
     "xtend-4.0.1" = {
       name = "xtend";
       packageName = "xtend";
@@ -3280,16 +7483,70 @@ let
         sha1 = "a5c6d532be656e23db820efb943a1f04998d63af";
       };
     };
+    "yallist-2.1.2" = {
+      name = "yallist";
+      packageName = "yallist";
+      version = "2.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz";
+        sha1 = "1c11f9218f076089a47dd512f93c6699a6a81d52";
+      };
+    };
+    "yallist-3.0.2" = {
+      name = "yallist";
+      packageName = "yallist";
+      version = "3.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/yallist/-/yallist-3.0.2.tgz";
+        sha1 = "8452b4bb7e83c7c188d8041c1a837c773d6d8bb9";
+      };
+    };
+    "yaml-js-0.0.8" = {
+      name = "yaml-js";
+      packageName = "yaml-js";
+      version = "0.0.8";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/yaml-js/-/yaml-js-0.0.8.tgz";
+        sha1 = "87cfa5a9613f48e26005420d6a8ee0da6fe8daec";
+      };
+    };
+    "yargs-3.10.0" = {
+      name = "yargs";
+      packageName = "yargs";
+      version = "3.10.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz";
+        sha1 = "f7ee7bd857dd7c1d2d38c0e74efbd681d1431fd1";
+      };
+    };
+    "yauzl-2.9.1" = {
+      name = "yauzl";
+      packageName = "yauzl";
+      version = "2.9.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/yauzl/-/yauzl-2.9.1.tgz";
+        sha1 = "a81981ea70a57946133883f029c5821a89359a7f";
+      };
+    };
+    "z-schema-3.20.0" = {
+      name = "z-schema";
+      packageName = "z-schema";
+      version = "3.20.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/z-schema/-/z-schema-3.20.0.tgz";
+        sha512 = "2fmqk4rayvsp7kjhfmr7ldrwvfvg1aif9dwpsqbqvmsz8j18q5lxs1vm4frg7pla8fwj2xacjzy0fsm2xfqvwmsxa5yxvsb21y5v2pn";
+      };
+    };
   };
 in
 {
   bower = nodeEnv.buildNodePackage {
     name = "bower";
     packageName = "bower";
-    version = "1.8.2";
+    version = "1.8.4";
     src = fetchurl {
-      url = "https://registry.npmjs.org/bower/-/bower-1.8.2.tgz";
-      sha1 = "adf53529c8d4af02ef24fb8d5341c1419d33e2f7";
+      url = "https://registry.npmjs.org/bower/-/bower-1.8.4.tgz";
+      sha1 = "e7876a076deb8137f7d06525dc5e8c66db82f28a";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -3317,6 +7574,142 @@ in
     production = true;
     bypassCache = true;
   };
+  create-cycle-app = nodeEnv.buildNodePackage {
+    name = "create-cycle-app";
+    packageName = "create-cycle-app";
+    version = "4.0.0";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/create-cycle-app/-/create-cycle-app-4.0.0.tgz";
+      sha512 = "28v46s87z1qgi46mn0kdhw77dnra3pkhr7nlf4d6dxl46l9aba1hm1wqz2dxhr0g3pwqav8pg5c1qdxkr18ybvlkmhbkyyz0pp13y51";
+    };
+    dependencies = [
+      sources."@cycle/dom-18.3.0"
+      sources."@cycle/http-14.9.0"
+      sources."@cycle/isolate-3.3.0"
+      sources."@cycle/run-3.4.0"
+      (sources."@cycle/time-0.10.1" // {
+        dependencies = [
+          sources."chalk-1.1.3"
+        ];
+      })
+      sources."@types/node-10.0.4"
+      sources."@types/superagent-3.5.6"
+      sources."ansi-escapes-3.1.0"
+      sources."ansi-regex-2.1.1"
+      sources."ansi-styles-2.2.1"
+      sources."asynckit-0.4.0"
+      (sources."chalk-2.4.1" // {
+        dependencies = [
+          sources."ansi-styles-3.2.1"
+          sources."supports-color-5.4.0"
+        ];
+      })
+      sources."chardet-0.4.2"
+      sources."cli-cursor-2.1.0"
+      sources."cli-width-2.2.0"
+      sources."color-convert-1.9.1"
+      sources."color-name-1.1.3"
+      sources."combine-errors-3.0.3"
+      sources."combined-stream-1.0.6"
+      sources."component-emitter-1.2.1"
+      sources."cookiejar-2.1.1"
+      sources."core-util-is-1.0.2"
+      sources."cross-spawn-5.1.0"
+      sources."cssauron-1.4.0"
+      sources."custom-error-instance-2.1.1"
+      sources."cycle-onionify-4.0.0"
+      sources."d-1.0.0"
+      sources."debug-3.1.0"
+      sources."delayed-stream-1.0.0"
+      sources."es5-ext-0.10.42"
+      sources."es6-iterator-2.0.3"
+      sources."es6-map-0.1.5"
+      sources."es6-set-0.1.5"
+      sources."es6-symbol-3.1.1"
+      sources."escape-string-regexp-1.0.5"
+      sources."event-emitter-0.3.5"
+      sources."extend-3.0.1"
+      sources."external-editor-2.2.0"
+      sources."figures-2.0.0"
+      sources."form-data-2.3.2"
+      sources."formidable-1.2.1"
+      sources."has-ansi-2.0.0"
+      sources."has-flag-3.0.0"
+      sources."iconv-lite-0.4.22"
+      sources."inherits-2.0.3"
+      (sources."inquirer-3.3.0" // {
+        dependencies = [
+          sources."ansi-regex-3.0.0"
+          sources."strip-ansi-4.0.0"
+        ];
+      })
+      sources."is-fullwidth-code-point-2.0.0"
+      sources."is-promise-2.1.0"
+      sources."isarray-1.0.0"
+      sources."isexe-2.0.0"
+      sources."lodash-4.17.10"
+      sources."lodash._baseiteratee-4.7.0"
+      sources."lodash._basetostring-4.12.0"
+      sources."lodash._baseuniq-4.6.0"
+      sources."lodash._createset-4.0.3"
+      sources."lodash._root-3.0.1"
+      sources."lodash._stringtopath-4.8.0"
+      sources."lodash.uniqby-4.5.0"
+      sources."lru-cache-4.1.2"
+      sources."methods-1.1.2"
+      sources."mime-1.6.0"
+      sources."mime-db-1.33.0"
+      sources."mime-types-2.1.18"
+      sources."mimic-fn-1.2.0"
+      sources."minimist-1.2.0"
+      sources."ms-2.0.0"
+      sources."mute-stream-0.0.7"
+      sources."next-tick-1.0.0"
+      sources."object-assign-4.1.1"
+      sources."onetime-2.0.1"
+      sources."os-tmpdir-1.0.2"
+      sources."performance-now-2.1.0"
+      sources."process-nextick-args-2.0.0"
+      sources."pseudomap-1.0.2"
+      sources."qs-6.5.2"
+      sources."raf-3.3.2"
+      sources."readable-stream-2.3.6"
+      sources."restore-cursor-2.0.0"
+      sources."run-async-2.3.0"
+      sources."rx-lite-4.0.8"
+      sources."rx-lite-aggregates-4.0.8"
+      sources."safe-buffer-5.1.2"
+      sources."safer-buffer-2.1.2"
+      sources."setimmediate-1.0.5"
+      sources."shebang-command-1.2.0"
+      sources."shebang-regex-1.0.0"
+      sources."signal-exit-3.0.2"
+      sources."snabbdom-0.7.0"
+      sources."snabbdom-selector-1.2.1"
+      sources."sorted-immutable-list-1.1.0"
+      sources."string-width-2.1.1"
+      sources."string_decoder-1.1.1"
+      sources."strip-ansi-3.0.1"
+      sources."superagent-3.8.2"
+      sources."supports-color-2.0.0"
+      sources."symbol-observable-1.2.0"
+      sources."through-2.3.8"
+      sources."tmp-0.0.33"
+      sources."util-deprecate-1.0.2"
+      sources."variable-diff-1.1.0"
+      sources."which-1.3.0"
+      sources."xstream-11.2.0"
+      sources."yallist-2.1.2"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "Create Cycle.js with no build configuration.";
+      homepage = "https://github.com/cyclejs-community/create-cycle-app#readme";
+      license = "ISC";
+    };
+    production = true;
+    bypassCache = true;
+  };
   dat = nodeEnv.buildNodePackage {
     name = "dat";
     packageName = "dat";
@@ -3328,9 +7721,9 @@ in
     dependencies = [
       sources."abstract-random-access-1.1.2"
       sources."ajv-5.5.2"
-      sources."ansi-diff-stream-1.2.0"
+      sources."ansi-diff-stream-1.2.1"
       sources."ansi-regex-3.0.0"
-      sources."ansi-styles-3.2.0"
+      sources."ansi-styles-3.2.1"
       sources."anymatch-1.3.2"
       sources."ap-0.1.0"
       sources."append-tree-2.4.1"
@@ -3344,7 +7737,7 @@ in
       sources."asynckit-0.4.0"
       sources."atomic-batcher-1.0.2"
       sources."aws-sign2-0.7.0"
-      sources."aws4-1.6.0"
+      sources."aws4-1.7.0"
       sources."balanced-match-1.0.0"
       sources."bcrypt-pbkdf-1.0.1"
       sources."bencode-1.0.0"
@@ -3364,23 +7757,28 @@ in
           sources."kind-of-4.0.0"
         ];
       })
+      sources."buffer-alloc-1.1.0"
+      sources."buffer-alloc-unsafe-1.0.0"
       sources."buffer-equals-1.0.4"
+      sources."buffer-fill-0.1.1"
+      sources."buffer-from-1.0.0"
       sources."buffer-indexof-1.1.1"
-      sources."bulk-write-stream-1.1.3"
+      sources."bulk-write-stream-1.1.4"
       sources."bytes-3.0.0"
       sources."call-me-maybe-1.0.1"
       sources."caseless-0.12.0"
-      sources."chalk-2.3.1"
+      sources."chalk-2.4.1"
+      sources."circular-append-file-1.0.1"
       sources."cli-truncate-1.1.0"
       sources."cliclopts-1.1.1"
       sources."co-4.6.0"
-      sources."codecs-1.2.0"
+      sources."codecs-1.2.1"
       sources."color-convert-1.9.1"
       sources."color-name-1.1.3"
-      sources."colors-1.1.2"
+      sources."colors-1.2.4"
       sources."combined-stream-1.0.6"
       sources."concat-map-0.0.1"
-      sources."concat-stream-1.6.0"
+      sources."concat-stream-1.6.2"
       sources."connections-1.4.2"
       sources."content-types-0.1.0"
       sources."core-util-is-1.0.2"
@@ -3393,16 +7791,19 @@ in
       sources."cycle-1.0.3"
       sources."dashdash-1.14.1"
       sources."dat-dns-1.3.2"
-      (sources."dat-doctor-1.3.1" // {
+      (sources."dat-doctor-1.4.0" // {
         dependencies = [
           sources."debug-2.6.9"
+          sources."dns-packet-1.3.1"
+          sources."dns-socket-1.6.3"
           sources."lru-2.0.1"
+          sources."multicast-dns-6.2.3"
           sources."pump-1.0.3"
         ];
       })
       sources."dat-encoding-5.0.1"
-      sources."dat-ignore-2.0.0"
-      (sources."dat-json-1.0.1" // {
+      sources."dat-ignore-2.1.1"
+      (sources."dat-json-1.0.2" // {
         dependencies = [
           sources."dat-encoding-4.0.2"
           sources."debug-2.6.9"
@@ -3420,6 +7821,7 @@ in
       })
       (sources."dat-node-3.5.8" // {
         dependencies = [
+          sources."buffer-alloc-unsafe-0.1.1"
           sources."minimist-0.0.8"
           sources."process-nextick-args-1.0.7"
           sources."pump-1.0.3"
@@ -3430,24 +7832,32 @@ in
       sources."dat-registry-4.0.0"
       sources."dat-secret-storage-4.0.1"
       sources."dat-storage-1.0.4"
-      sources."dat-swarm-defaults-1.0.0"
-      sources."datland-swarm-defaults-1.0.2"
+      sources."dat-swarm-defaults-1.0.1"
       sources."debug-3.1.0"
       sources."deep-equal-0.2.2"
       sources."delayed-stream-1.0.0"
       sources."directory-index-html-2.1.0"
-      sources."discovery-channel-5.4.7"
+      (sources."discovery-channel-5.5.1" // {
+        dependencies = [
+          sources."pump-3.0.0"
+        ];
+      })
       (sources."discovery-swarm-4.4.2" // {
         dependencies = [
+          (sources."dns-discovery-6.1.0" // {
+            dependencies = [
+              sources."thunky-1.0.2"
+            ];
+          })
           sources."thunky-0.1.0"
         ];
       })
       sources."dns-discovery-5.6.1"
-      sources."dns-packet-1.3.1"
-      sources."dns-socket-1.6.3"
+      sources."dns-packet-4.2.0"
+      sources."dns-socket-3.0.0"
       sources."dns-txt-2.0.2"
       sources."dom-walk-0.1.1"
-      sources."duplexify-3.5.3"
+      sources."duplexify-3.6.0"
       sources."ecc-jsbn-0.1.1"
       sources."end-of-stream-1.4.1"
       sources."escape-string-regexp-1.0.5"
@@ -3482,12 +7892,12 @@ in
       sources."hoek-4.2.1"
       sources."http-methods-0.1.0"
       sources."http-signature-1.2.0"
-      (sources."hypercore-6.12.2" // {
+      (sources."hypercore-6.14.0" // {
         dependencies = [
           sources."varint-5.0.0"
         ];
       })
-      sources."hypercore-protocol-6.5.2"
+      sources."hypercore-protocol-6.6.4"
       (sources."hyperdrive-9.12.3" // {
         dependencies = [
           sources."varint-4.0.1"
@@ -3523,9 +7933,10 @@ in
       sources."json-stringify-safe-5.0.1"
       sources."jsprim-1.4.1"
       sources."k-bucket-3.3.1"
-      (sources."k-rpc-4.2.1" // {
+      (sources."k-rpc-4.3.1" // {
         dependencies = [
           sources."bencode-2.0.0"
+          sources."k-bucket-4.0.0"
         ];
       })
       sources."k-rpc-socket-1.8.0"
@@ -3544,15 +7955,16 @@ in
       sources."min-document-2.19.0"
       sources."minimatch-3.0.4"
       sources."minimist-1.2.0"
-      sources."mirror-folder-2.1.1"
+      sources."mirror-folder-2.2.0"
       sources."mkdirp-0.5.1"
       sources."ms-2.0.0"
       sources."multi-random-access-2.1.1"
-      sources."multicast-dns-6.2.3"
+      sources."multicast-dns-7.0.0"
       sources."multicb-1.2.2"
+      sources."multistream-2.1.0"
       sources."mute-stream-0.0.7"
       sources."mutexify-1.2.0"
-      sources."nan-2.9.2"
+      sources."nan-2.10.0"
       sources."nanoassert-1.1.0"
       sources."nanobus-3.3.0"
       sources."nanotiming-1.0.1"
@@ -3564,7 +7976,7 @@ in
       })
       sources."nets-3.2.0"
       sources."network-address-1.1.2"
-      sources."node-gyp-build-3.2.2"
+      sources."node-gyp-build-3.3.0"
       sources."normalize-path-2.1.1"
       sources."oauth-sign-0.8.2"
       sources."object.omit-2.0.1"
@@ -3589,10 +8001,10 @@ in
       sources."protocol-buffers-encodings-1.1.0"
       sources."pump-2.0.1"
       sources."punycode-1.4.1"
-      sources."qs-6.5.1"
+      sources."qs-6.5.2"
       sources."random-access-file-2.0.1"
       sources."random-access-memory-2.4.0"
-      sources."random-access-storage-1.1.1"
+      sources."random-access-storage-1.2.0"
       (sources."randomatic-1.1.7" // {
         dependencies = [
           (sources."is-number-3.0.0" // {
@@ -3605,30 +8017,30 @@ in
       sources."randombytes-2.0.6"
       sources."range-parser-1.2.0"
       sources."read-1.0.7"
-      sources."readable-stream-2.3.4"
-      sources."recursive-watch-1.1.3"
+      sources."readable-stream-2.3.6"
+      sources."recursive-watch-1.1.4"
       sources."regex-cache-0.4.4"
       sources."remove-trailing-separator-1.1.0"
       sources."repeat-element-1.1.2"
       sources."repeat-string-1.6.1"
-      sources."request-2.83.0"
+      sources."request-2.85.0"
       sources."revalidator-0.1.8"
       sources."rimraf-2.6.2"
       sources."rusha-0.8.13"
-      sources."safe-buffer-5.1.1"
+      sources."safe-buffer-5.1.2"
       sources."signed-varint-2.0.1"
       sources."simple-sha1-2.1.0"
       sources."siphash24-1.1.0"
       sources."slice-ansi-1.0.0"
       sources."sntp-2.1.0"
-      sources."sodium-javascript-0.5.4"
-      sources."sodium-native-2.1.4"
+      sources."sodium-javascript-0.5.5"
+      sources."sodium-native-2.1.6"
       sources."sodium-universal-2.0.0"
       sources."sorted-array-functions-1.1.0"
       sources."sorted-indexof-1.0.0"
       sources."sparse-bitfield-3.0.3"
       sources."speedometer-1.0.0"
-      sources."sshpk-1.13.1"
+      sources."sshpk-1.14.1"
       sources."stack-trace-0.0.10"
       sources."status-logger-3.1.1"
       sources."stream-collector-1.0.1"
@@ -3636,7 +8048,7 @@ in
       sources."stream-parser-0.3.1"
       sources."stream-shift-1.0.0"
       sources."string-width-2.1.1"
-      sources."string_decoder-1.0.3"
+      sources."string_decoder-1.1.1"
       sources."stringstream-0.0.5"
       sources."strip-ansi-4.0.0"
       (sources."subcommand-2.1.0" // {
@@ -3644,7 +8056,7 @@ in
           sources."debug-2.6.9"
         ];
       })
-      sources."supports-color-5.2.0"
+      sources."supports-color-5.4.0"
       (sources."throttle-1.0.3" // {
         dependencies = [
           sources."debug-2.6.9"
@@ -3652,7 +8064,7 @@ in
       })
       sources."through2-2.0.3"
       sources."thunky-1.0.2"
-      sources."to-buffer-1.1.0"
+      sources."to-buffer-1.1.1"
       sources."toiletdb-1.4.1"
       sources."tough-cookie-2.3.4"
       sources."township-client-1.3.2"
@@ -3661,14 +8073,14 @@ in
       sources."tunnel-agent-0.6.0"
       sources."tweetnacl-0.14.5"
       sources."typedarray-0.0.6"
-      sources."uint64be-2.0.1"
+      sources."uint64be-2.0.2"
       sources."unixify-1.0.0"
       sources."unordered-array-remove-1.0.2"
       sources."unordered-set-1.1.0"
       sources."untildify-3.0.2"
       sources."util-deprecate-1.0.2"
       sources."utile-0.3.0"
-      sources."utp-native-1.6.2"
+      sources."utp-native-1.7.1"
       sources."uuid-3.2.1"
       sources."varint-3.0.1"
       sources."verror-1.10.0"
@@ -3730,19 +8142,19 @@ in
   mocha = nodeEnv.buildNodePackage {
     name = "mocha";
     packageName = "mocha";
-    version = "5.0.1";
+    version = "5.1.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/mocha/-/mocha-5.0.1.tgz";
-      sha512 = "2975gb84ixyiin9mdahnmpxxqmn9zmc7d07hh6kv0bnl3mqf6slj83r1f44hvk9f5qk247ajfdmynbyinabrbfi0j8za4v776i3572a";
+      url = "https://registry.npmjs.org/mocha/-/mocha-5.1.1.tgz";
+      sha512 = "23wcnn35p90xhsc5z94w45s30j756s97acm313h6lacnbliqlaka3drq2xbsi4br8gdkld3r4dc33vglq8kf5jb408c7b2agpyar8lh";
     };
     dependencies = [
       sources."balanced-match-1.0.0"
       sources."brace-expansion-1.1.11"
-      sources."browser-stdout-1.3.0"
+      sources."browser-stdout-1.3.1"
       sources."commander-2.11.0"
       sources."concat-map-0.0.1"
       sources."debug-3.1.0"
-      sources."diff-3.3.1"
+      sources."diff-3.5.0"
       sources."escape-string-regexp-1.0.5"
       sources."fs.realpath-1.0.0"
       sources."glob-7.1.2"
@@ -3808,7 +8220,7 @@ in
       sources."assert-plus-1.0.0"
       sources."asynckit-0.4.0"
       sources."aws-sign2-0.7.0"
-      sources."aws4-1.6.0"
+      sources."aws4-1.7.0"
       sources."balanced-match-1.0.0"
       sources."bcrypt-pbkdf-1.0.1"
       sources."block-stream-0.0.9"
@@ -3878,18 +8290,18 @@ in
       sources."performance-now-2.1.0"
       sources."process-nextick-args-2.0.0"
       sources."punycode-1.4.1"
-      sources."qs-6.5.1"
-      sources."readable-stream-2.3.4"
-      sources."request-2.83.0"
+      sources."qs-6.5.2"
+      sources."readable-stream-2.3.6"
+      sources."request-2.85.0"
       sources."rimraf-2.6.2"
-      sources."safe-buffer-5.1.1"
+      sources."safe-buffer-5.1.2"
       sources."semver-5.3.0"
       sources."set-blocking-2.0.0"
       sources."signal-exit-3.0.2"
       sources."sntp-2.1.0"
-      sources."sshpk-1.13.1"
+      sources."sshpk-1.14.1"
       sources."string-width-1.0.2"
-      sources."string_decoder-1.0.3"
+      sources."string_decoder-1.1.1"
       sources."stringstream-0.0.5"
       sources."strip-ansi-3.0.1"
       sources."tar-2.2.1"
@@ -3915,10 +8327,10 @@ in
   node-gyp-build = nodeEnv.buildNodePackage {
     name = "node-gyp-build";
     packageName = "node-gyp-build";
-    version = "3.2.2";
+    version = "3.3.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-3.2.2.tgz";
-      sha512 = "34hwi28wvvh5nn8bv71n0fb83xjyk84jsn8j9zgkaqnfigpv2hk6fs9jaffsn7qi3yi4n7iwd9yjyagd1rh74ckzdf5s6l59b8vzidp";
+      url = "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-3.3.0.tgz";
+      sha512 = "0vkilw1ghsjca0lrj9gsdgsi8wj4bvpfr25q1qzx1kp5hhvjdhapmvpmrd2hikwq9dxydw6sdvv0730wwvmsg36xqf0hgp9777l3ns8";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -3932,130 +8344,80 @@ in
   node-pre-gyp = nodeEnv.buildNodePackage {
     name = "node-pre-gyp";
     packageName = "node-pre-gyp";
-    version = "0.6.39";
+    version = "0.10.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.6.39.tgz";
-      sha512 = "2cwrivwc0ha272cly9r61bbb14kkl1s1hsmn53yr88b6pfjqj512nac6c5rphc6ak88v8gpl1f879qdd3v7386103zzr7miibpmbhis";
+      url = "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.10.0.tgz";
+      sha512 = "10s7f95mxnxcwziwzx44l62zy3yjmhky942pw134dbd48wshl7abr1ja8qx1rfzz9vgygcx1vlz1jlldy61da33zq0bfi8bfji09f8v";
     };
     dependencies = [
       sources."abbrev-1.1.1"
-      sources."ajv-4.11.8"
       sources."ansi-regex-2.1.1"
       sources."aproba-1.2.0"
       sources."are-we-there-yet-1.1.4"
-      sources."asn1-0.2.3"
-      sources."assert-plus-0.2.0"
-      sources."asynckit-0.4.0"
-      sources."aws-sign2-0.6.0"
-      sources."aws4-1.6.0"
       sources."balanced-match-1.0.0"
-      sources."bcrypt-pbkdf-1.0.1"
-      sources."block-stream-0.0.9"
-      sources."boom-2.10.1"
       sources."brace-expansion-1.1.11"
-      sources."caseless-0.12.0"
-      sources."co-4.6.0"
+      sources."chownr-1.0.1"
       sources."code-point-at-1.1.0"
-      sources."combined-stream-1.0.6"
       sources."concat-map-0.0.1"
       sources."console-control-strings-1.1.0"
       sources."core-util-is-1.0.2"
-      sources."cryptiles-2.0.5"
-      sources."dashdash-1.14.1"
       sources."debug-2.6.9"
-      sources."deep-extend-0.4.2"
-      sources."delayed-stream-1.0.0"
+      sources."deep-extend-0.5.1"
       sources."delegates-1.0.0"
       sources."detect-libc-1.0.3"
-      sources."ecc-jsbn-0.1.1"
-      sources."extend-3.0.1"
-      sources."extsprintf-1.3.0"
-      sources."forever-agent-0.6.1"
-      sources."form-data-2.1.4"
+      sources."fs-minipass-1.2.5"
       sources."fs.realpath-1.0.0"
-      sources."fstream-1.0.11"
-      sources."fstream-ignore-1.0.5"
       sources."gauge-2.7.4"
-      sources."getpass-0.1.7"
       sources."glob-7.1.2"
-      sources."graceful-fs-4.1.11"
-      sources."har-schema-1.0.5"
-      sources."har-validator-4.2.1"
       sources."has-unicode-2.0.1"
-      sources."hawk-3.1.3"
-      sources."hoek-2.16.3"
-      sources."http-signature-1.1.1"
+      sources."iconv-lite-0.4.22"
+      sources."ignore-walk-3.0.1"
       sources."inflight-1.0.6"
       sources."inherits-2.0.3"
       sources."ini-1.3.5"
       sources."is-fullwidth-code-point-1.0.0"
-      sources."is-typedarray-1.0.0"
       sources."isarray-1.0.0"
-      sources."isstream-0.1.2"
-      sources."jsbn-0.1.1"
-      sources."json-schema-0.2.3"
-      sources."json-stable-stringify-1.0.1"
-      sources."json-stringify-safe-5.0.1"
-      sources."jsonify-0.0.0"
-      (sources."jsprim-1.4.1" // {
-        dependencies = [
-          sources."assert-plus-1.0.0"
-        ];
-      })
-      sources."mime-db-1.33.0"
-      sources."mime-types-2.1.18"
       sources."minimatch-3.0.4"
       sources."minimist-0.0.8"
+      sources."minipass-2.3.0"
+      sources."minizlib-1.1.0"
       sources."mkdirp-0.5.1"
       sources."ms-2.0.0"
+      sources."needle-2.2.1"
       sources."nopt-4.0.1"
+      sources."npm-bundled-1.0.3"
+      sources."npm-packlist-1.1.10"
       sources."npmlog-4.1.2"
       sources."number-is-nan-1.0.1"
-      sources."oauth-sign-0.8.2"
       sources."object-assign-4.1.1"
       sources."once-1.4.0"
       sources."os-homedir-1.0.2"
       sources."os-tmpdir-1.0.2"
       sources."osenv-0.1.5"
       sources."path-is-absolute-1.0.1"
-      sources."performance-now-0.2.0"
       sources."process-nextick-args-2.0.0"
-      sources."punycode-1.4.1"
-      sources."qs-6.4.0"
-      (sources."rc-1.2.5" // {
+      (sources."rc-1.2.7" // {
         dependencies = [
           sources."minimist-1.2.0"
         ];
       })
-      sources."readable-stream-2.3.4"
-      sources."request-2.81.0"
+      sources."readable-stream-2.3.6"
       sources."rimraf-2.6.2"
-      sources."safe-buffer-5.1.1"
+      sources."safe-buffer-5.1.2"
+      sources."safer-buffer-2.1.2"
+      sources."sax-1.2.4"
       sources."semver-5.5.0"
       sources."set-blocking-2.0.0"
       sources."signal-exit-3.0.2"
-      sources."sntp-1.0.9"
-      (sources."sshpk-1.13.1" // {
-        dependencies = [
-          sources."assert-plus-1.0.0"
-        ];
-      })
       sources."string-width-1.0.2"
-      sources."string_decoder-1.0.3"
-      sources."stringstream-0.0.5"
+      sources."string_decoder-1.1.1"
       sources."strip-ansi-3.0.1"
       sources."strip-json-comments-2.0.1"
-      sources."tar-2.2.1"
-      sources."tar-pack-3.4.1"
-      sources."tough-cookie-2.3.4"
-      sources."tunnel-agent-0.6.0"
-      sources."tweetnacl-0.14.5"
-      sources."uid-number-0.0.6"
+      sources."tar-4.4.2"
       sources."util-deprecate-1.0.2"
-      sources."uuid-3.2.1"
-      sources."verror-1.10.0"
       sources."wide-align-1.1.2"
       sources."wrappy-1.0.2"
+      sources."yallist-3.0.2"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -4069,10 +8431,10 @@ in
   pnpm = nodeEnv.buildNodePackage {
     name = "pnpm";
     packageName = "pnpm";
-    version = "1.35.1";
+    version = "1.41.3";
     src = fetchurl {
-      url = "https://registry.npmjs.org/pnpm/-/pnpm-1.35.1.tgz";
-      sha1 = "7eb1265daa9da18dab7a7b1645747cd046c42f33";
+      url = "https://registry.npmjs.org/pnpm/-/pnpm-1.41.3.tgz";
+      sha1 = "66b38792c8447702c47553a87dddc5748a3aefca";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -4121,14 +8483,14 @@ in
       sources."graceful-readlink-1.0.1"
       sources."inherits-2.0.3"
       sources."isarray-1.0.0"
-      sources."lodash-4.17.5"
+      sources."lodash-4.17.10"
       sources."minimatch-3.0.4"
       sources."process-nextick-args-2.0.0"
-      sources."readable-stream-2.3.4"
+      sources."readable-stream-2.3.6"
       sources."readdirp-2.1.0"
-      sources."safe-buffer-5.1.1"
+      sources."safe-buffer-5.1.2"
       sources."set-immediate-shim-1.0.1"
-      sources."string_decoder-1.0.3"
+      sources."string_decoder-1.1.1"
       sources."util-deprecate-1.0.2"
     ];
     buildInputs = globalBuildInputs;
@@ -4140,13 +8502,897 @@ in
     production = true;
     bypassCache = true;
   };
+  vue-cli = nodeEnv.buildNodePackage {
+    name = "vue-cli";
+    packageName = "vue-cli";
+    version = "2.9.3";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/vue-cli/-/vue-cli-2.9.3.tgz";
+      sha512 = "1wljsr8srayqg7crbbczi00v31q3dxm3vz4fjcdqasdgsm1ajc9gham6sinsxlraniwg4dn5b1kmpw0nln63cy3v02vib07shyvq2ki";
+    };
+    dependencies = [
+      sources."absolute-0.0.1"
+      sources."ajv-5.5.2"
+      sources."align-text-0.1.4"
+      sources."amdefine-1.0.1"
+      sources."ansi-escapes-3.1.0"
+      sources."ansi-red-0.1.1"
+      sources."ansi-regex-3.0.0"
+      sources."ansi-styles-3.2.1"
+      sources."ansi-wrap-0.1.0"
+      sources."argparse-1.0.10"
+      sources."array-differ-1.0.0"
+      sources."array-union-1.0.2"
+      sources."array-uniq-1.0.3"
+      sources."arrify-1.0.1"
+      sources."asn1-0.2.3"
+      sources."assert-plus-1.0.0"
+      sources."async-2.6.0"
+      sources."asynckit-0.4.0"
+      sources."aws-sign2-0.7.0"
+      sources."aws4-1.7.0"
+      sources."balanced-match-1.0.0"
+      sources."base64-js-0.0.8"
+      sources."bcrypt-pbkdf-1.0.1"
+      sources."bl-1.2.2"
+      sources."bluebird-3.5.1"
+      sources."boom-4.3.1"
+      sources."brace-expansion-1.1.11"
+      sources."buffer-3.6.0"
+      sources."buffer-alloc-1.1.0"
+      sources."buffer-alloc-unsafe-0.1.1"
+      sources."buffer-crc32-0.2.13"
+      sources."buffer-fill-0.1.1"
+      sources."builtins-1.0.3"
+      sources."camelcase-1.2.1"
+      sources."capture-stack-trace-1.0.0"
+      sources."caseless-0.12.0"
+      (sources."caw-2.0.1" // {
+        dependencies = [
+          sources."pify-3.0.0"
+        ];
+      })
+      sources."center-align-0.1.3"
+      sources."chalk-2.4.1"
+      sources."chardet-0.4.2"
+      sources."cli-cursor-2.1.0"
+      sources."cli-spinners-1.3.1"
+      sources."cli-width-2.2.0"
+      sources."cliui-2.1.0"
+      sources."clone-1.0.4"
+      sources."co-3.1.0"
+      sources."co-from-stream-0.0.0"
+      sources."co-fs-extra-1.2.1"
+      sources."co-read-0.0.1"
+      sources."coffee-script-1.12.7"
+      sources."color-convert-1.9.1"
+      sources."color-name-1.1.3"
+      sources."combined-stream-1.0.6"
+      sources."commander-2.15.1"
+      sources."concat-map-0.0.1"
+      sources."config-chain-1.1.11"
+      sources."consolidate-0.14.5"
+      sources."core-util-is-1.0.2"
+      sources."create-error-class-3.0.2"
+      (sources."cryptiles-3.1.2" // {
+        dependencies = [
+          sources."boom-5.2.0"
+        ];
+      })
+      sources."dashdash-1.14.1"
+      sources."decamelize-1.2.0"
+      (sources."decompress-4.2.0" // {
+        dependencies = [
+          sources."file-type-3.9.0"
+          sources."get-stream-2.3.1"
+        ];
+      })
+      sources."decompress-tar-4.1.1"
+      sources."decompress-tarbz2-4.1.1"
+      sources."decompress-targz-4.1.1"
+      sources."decompress-unzip-4.0.1"
+      sources."delayed-stream-1.0.0"
+      (sources."download-5.0.3" // {
+        dependencies = [
+          sources."file-type-5.2.0"
+        ];
+      })
+      (sources."download-git-repo-1.0.2" // {
+        dependencies = [
+          sources."commander-2.8.1"
+          sources."file-type-6.2.0"
+        ];
+      })
+      sources."duplexer3-0.1.4"
+      sources."ecc-jsbn-0.1.1"
+      sources."enable-1.3.2"
+      sources."end-of-stream-1.4.1"
+      sources."escape-string-regexp-1.0.5"
+      sources."esprima-4.0.0"
+      sources."extend-3.0.1"
+      sources."extend-shallow-2.0.1"
+      sources."external-editor-2.2.0"
+      sources."extsprintf-1.3.0"
+      sources."fast-deep-equal-1.1.0"
+      sources."fast-json-stable-stringify-2.0.0"
+      sources."fd-slicer-1.0.1"
+      sources."figures-2.0.0"
+      sources."file-type-5.2.0"
+      sources."filename-reserved-regex-2.0.0"
+      sources."filenamify-2.0.0"
+      sources."forever-agent-0.6.1"
+      sources."form-data-2.3.2"
+      sources."fs-constants-1.0.0"
+      sources."fs-extra-0.26.7"
+      sources."fs.realpath-1.0.0"
+      sources."get-proxy-2.1.0"
+      sources."get-stream-3.0.0"
+      sources."getpass-0.1.7"
+      sources."git-clone-0.1.0"
+      sources."glob-7.1.2"
+      sources."got-6.7.1"
+      sources."graceful-fs-4.1.11"
+      sources."graceful-readlink-1.0.1"
+      sources."gray-matter-2.1.1"
+      (sources."handlebars-4.0.11" // {
+        dependencies = [
+          sources."async-1.5.2"
+          sources."wordwrap-0.0.2"
+        ];
+      })
+      sources."har-schema-2.0.0"
+      sources."har-validator-5.0.3"
+      sources."has-ansi-2.0.0"
+      sources."has-flag-3.0.0"
+      sources."has-generators-1.0.1"
+      sources."has-symbol-support-x-1.4.2"
+      sources."has-to-string-tag-x-1.4.1"
+      sources."hawk-6.0.2"
+      sources."hoek-4.2.1"
+      sources."http-signature-1.2.0"
+      sources."iconv-lite-0.4.22"
+      sources."ieee754-1.1.11"
+      sources."inflight-1.0.6"
+      sources."inherits-2.0.3"
+      sources."ini-1.3.5"
+      sources."inquirer-3.3.0"
+      sources."is-3.2.1"
+      sources."is-buffer-1.1.6"
+      sources."is-extendable-0.1.1"
+      sources."is-fullwidth-code-point-2.0.0"
+      sources."is-natural-number-4.0.1"
+      sources."is-object-1.0.1"
+      sources."is-promise-2.1.0"
+      sources."is-redirect-1.0.0"
+      sources."is-retry-allowed-1.1.0"
+      sources."is-stream-1.1.0"
+      sources."is-typedarray-1.0.0"
+      sources."is-utf8-0.2.1"
+      sources."isarray-1.0.0"
+      sources."isstream-0.1.2"
+      sources."isurl-1.0.0"
+      sources."js-yaml-3.11.0"
+      sources."jsbn-0.1.1"
+      sources."json-schema-0.2.3"
+      sources."json-schema-traverse-0.3.1"
+      sources."json-stringify-safe-5.0.1"
+      sources."jsonfile-2.4.0"
+      sources."jsprim-1.4.1"
+      sources."kind-of-3.2.2"
+      sources."klaw-1.3.1"
+      sources."lazy-cache-1.0.4"
+      sources."lodash-4.17.10"
+      sources."log-symbols-2.2.0"
+      sources."longest-1.0.1"
+      sources."lowercase-keys-1.0.1"
+      (sources."make-dir-1.2.0" // {
+        dependencies = [
+          sources."pify-3.0.0"
+        ];
+      })
+      (sources."metalsmith-2.3.0" // {
+        dependencies = [
+          sources."ansi-regex-2.1.1"
+          sources."ansi-styles-2.2.1"
+          sources."chalk-1.1.3"
+          sources."strip-ansi-3.0.1"
+          sources."supports-color-2.0.0"
+        ];
+      })
+      sources."mime-db-1.33.0"
+      sources."mime-types-2.1.18"
+      sources."mimic-fn-1.2.0"
+      sources."minimatch-3.0.4"
+      sources."minimist-0.0.8"
+      sources."mkdirp-0.5.1"
+      sources."multimatch-2.1.0"
+      sources."mute-stream-0.0.7"
+      sources."npm-conf-1.1.3"
+      sources."oauth-sign-0.8.2"
+      sources."object-assign-4.1.1"
+      sources."once-1.4.0"
+      sources."onetime-2.0.1"
+      sources."optimist-0.6.1"
+      sources."ora-1.4.0"
+      sources."os-homedir-1.0.2"
+      sources."os-tmpdir-1.0.2"
+      sources."path-is-absolute-1.0.1"
+      sources."pend-1.2.0"
+      sources."performance-now-2.1.0"
+      sources."pify-2.3.0"
+      sources."pinkie-2.0.4"
+      sources."pinkie-promise-2.0.1"
+      sources."prepend-http-1.0.4"
+      sources."process-nextick-args-2.0.0"
+      sources."proto-list-1.2.4"
+      sources."punycode-1.4.1"
+      sources."qs-6.5.2"
+      sources."read-metadata-1.0.0"
+      sources."readable-stream-2.3.6"
+      sources."recursive-readdir-2.2.2"
+      sources."repeat-string-1.6.1"
+      (sources."request-2.85.0" // {
+        dependencies = [
+          sources."co-4.6.0"
+        ];
+      })
+      sources."restore-cursor-2.0.0"
+      sources."right-align-0.1.3"
+      sources."rimraf-2.6.2"
+      sources."run-async-2.3.0"
+      sources."rx-lite-4.0.8"
+      sources."rx-lite-aggregates-4.0.8"
+      sources."safe-buffer-5.1.2"
+      sources."safer-buffer-2.1.2"
+      sources."seek-bzip-1.0.5"
+      sources."semver-5.5.0"
+      sources."signal-exit-3.0.2"
+      sources."sntp-2.1.0"
+      sources."source-map-0.4.4"
+      sources."sprintf-js-1.0.3"
+      sources."sshpk-1.14.1"
+      sources."stat-mode-0.2.2"
+      sources."string-width-2.1.1"
+      sources."string_decoder-1.1.1"
+      sources."stringstream-0.0.5"
+      sources."strip-ansi-4.0.0"
+      sources."strip-dirs-2.1.0"
+      sources."strip-outer-1.0.1"
+      sources."supports-color-5.4.0"
+      sources."tar-stream-1.6.0"
+      sources."through-2.3.8"
+      sources."thunkify-2.1.2"
+      sources."thunkify-wrap-1.0.4"
+      sources."tildify-1.2.0"
+      sources."timed-out-4.0.1"
+      sources."tmp-0.0.33"
+      sources."to-buffer-1.1.1"
+      sources."toml-2.3.3"
+      sources."tough-cookie-2.3.4"
+      sources."trim-repeated-1.0.0"
+      sources."tunnel-agent-0.6.0"
+      sources."tweetnacl-0.14.5"
+      (sources."uglify-js-2.8.29" // {
+        dependencies = [
+          sources."source-map-0.5.7"
+        ];
+      })
+      sources."uglify-to-browserify-1.0.2"
+      sources."uid-0.0.2"
+      sources."unbzip2-stream-1.2.5"
+      sources."unyield-0.0.1"
+      sources."unzip-response-2.0.1"
+      sources."url-parse-lax-1.0.0"
+      sources."url-to-options-1.0.1"
+      sources."user-home-2.0.0"
+      sources."util-deprecate-1.0.2"
+      sources."uuid-3.2.1"
+      sources."validate-npm-package-name-3.0.0"
+      sources."verror-1.10.0"
+      sources."ware-1.3.0"
+      sources."win-fork-1.1.1"
+      sources."window-size-0.1.0"
+      sources."wordwrap-0.0.3"
+      sources."wrap-fn-0.1.5"
+      sources."wrappy-1.0.2"
+      sources."xtend-4.0.1"
+      sources."yaml-js-0.0.8"
+      sources."yargs-3.10.0"
+      sources."yauzl-2.9.1"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "A simple CLI for scaffolding Vue.js projects.";
+      homepage = "https://github.com/vuejs/vue-cli#readme";
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = true;
+  };
+  swagger = nodeEnv.buildNodePackage {
+    name = "swagger";
+    packageName = "swagger";
+    version = "0.7.5";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/swagger/-/swagger-0.7.5.tgz";
+      sha1 = "3be6ee3d392c3b006fc7a9b5b2d60c7e834860fd";
+    };
+    dependencies = [
+      sources."URIjs-1.16.1"
+      sources."abbrev-1.1.1"
+      sources."align-text-0.1.4"
+      sources."amdefine-1.0.1"
+      sources."ansi-align-2.0.0"
+      sources."ansi-escapes-1.4.0"
+      sources."ansi-regex-2.1.1"
+      sources."ansi-styles-2.2.1"
+      (sources."anymatch-2.0.0" // {
+        dependencies = [
+          (sources."is-accessor-descriptor-0.1.6" // {
+            dependencies = [
+              sources."kind-of-3.2.2"
+            ];
+          })
+          (sources."is-data-descriptor-0.1.4" // {
+            dependencies = [
+              sources."kind-of-3.2.2"
+            ];
+          })
+          sources."is-descriptor-0.1.6"
+          sources."is-extendable-0.1.1"
+        ];
+      })
+      sources."append-field-0.1.0"
+      sources."argparse-1.0.10"
+      sources."arr-diff-4.0.0"
+      sources."arr-flatten-1.1.0"
+      sources."arr-union-3.1.0"
+      sources."array-unique-0.3.2"
+      sources."assign-symbols-1.0.0"
+      sources."async-1.5.2"
+      sources."async-each-1.0.1"
+      sources."asynckit-0.4.0"
+      sources."atob-2.1.1"
+      sources."balanced-match-1.0.0"
+      (sources."base-0.11.2" // {
+        dependencies = [
+          (sources."define-property-1.0.0" // {
+            dependencies = [
+              sources."kind-of-6.0.2"
+            ];
+          })
+          sources."kind-of-3.2.2"
+        ];
+      })
+      sources."binary-extensions-1.11.0"
+      (sources."body-parser-1.12.4" // {
+        dependencies = [
+          sources."debug-2.2.0"
+          sources."qs-2.4.2"
+        ];
+      })
+      sources."boxen-1.3.0"
+      sources."brace-expansion-1.1.11"
+      (sources."braces-2.3.2" // {
+        dependencies = [
+          sources."is-extendable-0.1.1"
+        ];
+      })
+      sources."buffer-from-1.0.0"
+      sources."busboy-0.2.14"
+      sources."bytes-1.0.0"
+      sources."cache-base-1.0.1"
+      sources."camelcase-4.1.0"
+      sources."capture-stack-trace-1.0.0"
+      sources."center-align-0.1.3"
+      sources."chalk-1.1.3"
+      sources."charenc-0.0.2"
+      (sources."chokidar-2.0.3" // {
+        dependencies = [
+          sources."debug-2.6.9"
+          sources."is-accessor-descriptor-1.0.0"
+          sources."is-data-descriptor-1.0.0"
+          sources."is-descriptor-1.0.2"
+          sources."is-extendable-1.0.1"
+        ];
+      })
+      sources."ci-info-1.1.3"
+      (sources."class-utils-0.3.6" // {
+        dependencies = [
+          sources."define-property-0.2.5"
+        ];
+      })
+      sources."cli-boxes-1.0.0"
+      sources."cli-cursor-1.0.2"
+      sources."cli-width-1.1.1"
+      sources."cliui-2.1.0"
+      sources."clone-2.0.0"
+      sources."code-point-at-1.1.0"
+      sources."collection-visit-1.0.0"
+      sources."color-convert-1.9.1"
+      sources."color-name-1.1.3"
+      sources."combined-stream-1.0.6"
+      sources."commander-2.15.1"
+      sources."component-emitter-1.2.1"
+      sources."concat-map-0.0.1"
+      sources."concat-stream-1.6.2"
+      sources."configstore-3.1.2"
+      sources."connect-3.6.6"
+      sources."content-type-1.0.4"
+      sources."cookiejar-2.1.1"
+      sources."copy-descriptor-0.1.1"
+      sources."core-util-is-1.0.2"
+      sources."create-error-class-3.0.2"
+      sources."cross-spawn-5.1.0"
+      sources."crypt-0.0.2"
+      sources."crypto-random-string-1.0.0"
+      sources."dag-map-1.0.2"
+      sources."debug-2.6.9"
+      sources."decamelize-1.2.0"
+      sources."decode-uri-component-0.2.0"
+      sources."deep-extend-0.5.1"
+      sources."define-property-2.0.2"
+      sources."delayed-stream-1.0.0"
+      sources."depd-1.1.2"
+      sources."destroy-1.0.4"
+      sources."dicer-0.2.5"
+      sources."diff-1.4.0"
+      sources."dot-prop-4.2.0"
+      sources."duplexer-0.1.1"
+      sources."duplexer3-0.1.4"
+      sources."ee-first-1.1.1"
+      sources."encodeurl-1.0.2"
+      sources."escape-html-1.0.3"
+      sources."escape-string-regexp-1.0.5"
+      sources."esprima-4.0.0"
+      sources."etag-1.8.1"
+      sources."event-stream-3.3.4"
+      sources."execa-0.7.0"
+      sources."exit-hook-1.1.1"
+      (sources."expand-brackets-2.1.4" // {
+        dependencies = [
+          sources."define-property-0.2.5"
+        ];
+      })
+      sources."extend-3.0.1"
+      sources."extend-shallow-3.0.2"
+      (sources."extglob-2.0.4" // {
+        dependencies = [
+          sources."define-property-1.0.0"
+          sources."extend-shallow-2.0.1"
+          sources."kind-of-5.1.0"
+        ];
+      })
+      sources."figures-1.7.0"
+      sources."fill-range-4.0.0"
+      sources."finalhandler-1.1.0"
+      sources."for-in-1.0.2"
+      sources."form-data-2.3.2"
+      sources."formidable-1.2.1"
+      sources."fragment-cache-0.2.1"
+      sources."fresh-0.5.2"
+      sources."from-0.1.7"
+      sources."fs-extra-0.24.0"
+      sources."fs.realpath-1.0.0"
+      sources."fsevents-1.2.3"
+      sources."get-stream-3.0.0"
+      sources."get-value-2.0.6"
+      sources."glob-7.1.2"
+      (sources."glob-parent-3.1.0" // {
+        dependencies = [
+          sources."is-glob-3.1.0"
+        ];
+      })
+      sources."global-dirs-0.1.1"
+      sources."got-6.7.1"
+      sources."graceful-fs-4.1.11"
+      sources."graphlib-2.1.5"
+      sources."growl-1.9.2"
+      sources."handlebars-4.0.11"
+      sources."has-ansi-2.0.0"
+      sources."has-flag-3.0.0"
+      sources."has-value-1.0.0"
+      sources."has-values-1.0.0"
+      sources."http-errors-1.6.3"
+      sources."iconv-lite-0.4.8"
+      sources."ignore-by-default-1.0.1"
+      sources."import-lazy-2.1.0"
+      sources."imurmurhash-0.1.4"
+      sources."inflight-1.0.6"
+      sources."inherits-2.0.3"
+      sources."ini-1.3.5"
+      sources."inquirer-0.10.1"
+      sources."is-accessor-descriptor-1.0.0"
+      sources."is-binary-path-1.0.1"
+      sources."is-buffer-1.1.6"
+      sources."is-ci-1.1.0"
+      sources."is-data-descriptor-1.0.0"
+      sources."is-descriptor-1.0.2"
+      sources."is-extendable-1.0.1"
+      sources."is-extglob-2.1.1"
+      sources."is-fullwidth-code-point-1.0.0"
+      sources."is-glob-4.0.0"
+      sources."is-installed-globally-0.1.0"
+      sources."is-invalid-path-0.1.0"
+      sources."is-npm-1.0.0"
+      sources."is-number-4.0.0"
+      sources."is-obj-1.0.1"
+      sources."is-odd-2.0.0"
+      sources."is-path-inside-1.0.1"
+      sources."is-plain-object-2.0.4"
+      sources."is-redirect-1.0.0"
+      sources."is-retry-allowed-1.1.0"
+      sources."is-stream-1.1.0"
+      sources."is-valid-path-0.1.1"
+      sources."is-windows-1.0.2"
+      sources."isarray-1.0.0"
+      sources."isexe-2.0.0"
+      sources."isobject-3.0.1"
+      (sources."jade-0.26.3" // {
+        dependencies = [
+          sources."commander-0.6.1"
+          sources."mkdirp-0.3.0"
+        ];
+      })
+      sources."js-yaml-3.11.0"
+      (sources."json-refs-2.1.7" // {
+        dependencies = [
+          sources."debug-3.1.0"
+          sources."ms-2.0.0"
+          sources."qs-6.5.2"
+          sources."superagent-3.8.3"
+        ];
+      })
+      (sources."json-schema-deref-sync-0.3.4" // {
+        dependencies = [
+          sources."lodash-4.17.10"
+        ];
+      })
+      sources."jsonfile-2.4.0"
+      sources."kind-of-6.0.2"
+      sources."latest-version-3.1.0"
+      sources."lazy-cache-1.0.4"
+      sources."lodash-3.10.1"
+      sources."lodash-compat-3.10.2"
+      sources."lodash._arraypool-2.4.1"
+      sources."lodash._basebind-2.4.1"
+      sources."lodash._baseclone-2.4.1"
+      sources."lodash._basecreate-2.4.1"
+      sources."lodash._basecreatecallback-2.4.1"
+      sources."lodash._basecreatewrapper-2.4.1"
+      sources."lodash._createwrapper-2.4.1"
+      sources."lodash._getarray-2.4.1"
+      sources."lodash._isnative-2.4.1"
+      sources."lodash._maxpoolsize-2.4.1"
+      sources."lodash._objecttypes-2.4.1"
+      sources."lodash._releasearray-2.4.1"
+      sources."lodash._setbinddata-2.4.1"
+      sources."lodash._shimkeys-2.4.1"
+      sources."lodash._slice-2.4.1"
+      sources."lodash.assign-2.4.1"
+      sources."lodash.bind-2.4.1"
+      sources."lodash.clonedeep-2.4.1"
+      sources."lodash.foreach-2.4.1"
+      sources."lodash.forown-2.4.1"
+      sources."lodash.get-4.4.2"
+      sources."lodash.identity-2.4.1"
+      sources."lodash.isarray-2.4.1"
+      sources."lodash.isequal-4.5.0"
+      sources."lodash.isfunction-2.4.1"
+      sources."lodash.isobject-2.4.1"
+      sources."lodash.keys-2.4.1"
+      sources."lodash.noop-2.4.1"
+      sources."lodash.support-2.4.1"
+      sources."longest-1.0.1"
+      sources."lowercase-keys-1.0.1"
+      sources."lru-cache-2.7.3"
+      sources."make-dir-1.2.0"
+      sources."map-cache-0.2.2"
+      sources."map-stream-0.1.0"
+      sources."map-visit-1.0.0"
+      sources."md5-2.2.1"
+      sources."media-typer-0.3.0"
+      sources."memory-cache-0.1.6"
+      sources."methods-1.1.2"
+      sources."micromatch-3.1.10"
+      sources."mime-1.4.1"
+      sources."mime-db-1.33.0"
+      sources."mime-types-2.1.18"
+      sources."minimatch-3.0.4"
+      sources."minimist-0.0.8"
+      sources."mixin-deep-1.3.1"
+      sources."mkdirp-0.5.1"
+      (sources."mocha-2.5.3" // {
+        dependencies = [
+          sources."commander-2.3.0"
+          sources."debug-2.2.0"
+          sources."escape-string-regexp-1.0.2"
+          sources."glob-3.2.11"
+          sources."minimatch-0.3.0"
+          sources."ms-0.7.1"
+          sources."supports-color-1.2.0"
+        ];
+      })
+      sources."mpath-0.2.1"
+      sources."ms-2.0.0"
+      (sources."multer-1.3.0" // {
+        dependencies = [
+          sources."ee-first-1.1.1"
+          sources."isarray-1.0.0"
+          sources."on-finished-2.3.0"
+          sources."readable-stream-2.3.6"
+          sources."string_decoder-1.1.1"
+        ];
+      })
+      sources."mute-stream-0.0.5"
+      sources."nan-2.10.0"
+      sources."nanomatch-1.2.9"
+      sources."native-promise-only-0.8.1"
+      (sources."nodemon-1.17.4" // {
+        dependencies = [
+          sources."ansi-regex-3.0.0"
+          sources."ansi-styles-3.2.1"
+          sources."chalk-2.4.1"
+          sources."debug-3.1.0"
+          sources."define-property-1.0.0"
+          sources."extend-shallow-2.0.1"
+          sources."has-values-0.1.4"
+          (sources."is-accessor-descriptor-0.1.6" // {
+            dependencies = [
+              sources."kind-of-3.2.2"
+            ];
+          })
+          (sources."is-data-descriptor-0.1.4" // {
+            dependencies = [
+              sources."kind-of-3.2.2"
+            ];
+          })
+          sources."is-descriptor-0.1.6"
+          sources."is-extendable-0.1.1"
+          sources."is-fullwidth-code-point-2.0.0"
+          (sources."is-number-3.0.0" // {
+            dependencies = [
+              sources."kind-of-3.2.2"
+            ];
+          })
+          sources."kind-of-3.2.2"
+          sources."lru-cache-4.1.2"
+          sources."minimist-1.2.0"
+          sources."strip-ansi-4.0.0"
+          sources."supports-color-5.4.0"
+        ];
+      })
+      sources."nopt-1.0.10"
+      sources."normalize-path-2.1.1"
+      sources."npm-run-path-2.0.2"
+      sources."number-is-nan-1.0.1"
+      sources."object-assign-4.1.1"
+      sources."object-copy-0.1.0"
+      sources."object-visit-1.0.1"
+      sources."object.pick-1.3.0"
+      sources."on-finished-2.3.0"
+      sources."once-1.4.0"
+      sources."onetime-1.1.0"
+      sources."optimist-0.6.1"
+      sources."p-finally-1.0.0"
+      sources."package-json-4.0.1"
+      sources."parseurl-1.3.2"
+      sources."pascalcase-0.1.1"
+      sources."path-dirname-1.0.2"
+      sources."path-is-absolute-1.0.1"
+      sources."path-is-inside-1.0.2"
+      sources."path-key-2.0.1"
+      sources."path-loader-1.0.4"
+      sources."path-to-regexp-1.7.0"
+      sources."pause-stream-0.0.11"
+      sources."pify-3.0.0"
+      sources."posix-character-classes-0.1.1"
+      sources."prepend-http-1.0.4"
+      sources."process-nextick-args-2.0.0"
+      sources."ps-tree-1.1.0"
+      sources."pseudomap-1.0.2"
+      sources."pstree.remy-1.1.0"
+      sources."punycode-2.1.0"
+      sources."qs-4.0.0"
+      sources."range-parser-1.2.0"
+      (sources."raw-body-2.0.2" // {
+        dependencies = [
+          sources."bytes-2.1.0"
+        ];
+      })
+      sources."rc-1.2.7"
+      sources."readable-stream-2.3.6"
+      sources."readdirp-2.1.0"
+      sources."readline2-1.0.1"
+      sources."reduce-component-1.0.1"
+      sources."regex-not-1.0.2"
+      sources."registry-auth-token-3.3.2"
+      sources."registry-url-3.1.0"
+      sources."remove-trailing-separator-1.1.0"
+      sources."repeat-element-1.1.2"
+      sources."repeat-string-1.6.1"
+      sources."resolve-url-0.2.1"
+      sources."restore-cursor-1.0.1"
+      sources."ret-0.1.15"
+      sources."right-align-0.1.3"
+      sources."rimraf-2.6.2"
+      sources."run-async-0.1.0"
+      sources."rx-lite-3.1.2"
+      sources."safe-buffer-5.1.2"
+      sources."safe-regex-1.1.0"
+      sources."sanitize-filename-1.6.1"
+      sources."semver-5.5.0"
+      sources."semver-diff-2.1.0"
+      sources."send-0.16.2"
+      (sources."serve-static-1.13.2" // {
+        dependencies = [
+          sources."statuses-1.4.0"
+        ];
+      })
+      sources."set-immediate-shim-1.0.1"
+      sources."set-value-2.0.0"
+      sources."setprototypeof-1.1.0"
+      sources."shebang-command-1.2.0"
+      sources."shebang-regex-1.0.0"
+      sources."sigmund-1.0.1"
+      sources."signal-exit-3.0.2"
+      sources."slash-1.0.0"
+      (sources."snapdragon-0.8.2" // {
+        dependencies = [
+          (sources."define-property-0.2.5" // {
+            dependencies = [
+              sources."kind-of-5.1.0"
+            ];
+          })
+          sources."extend-shallow-2.0.1"
+          sources."kind-of-4.0.0"
+        ];
+      })
+      sources."snapdragon-node-2.1.1"
+      sources."snapdragon-util-3.0.1"
+      sources."source-map-0.5.7"
+      sources."source-map-resolve-0.5.1"
+      sources."source-map-url-0.4.0"
+      sources."spark-md5-1.0.1"
+      sources."split-0.3.3"
+      (sources."split-string-3.1.0" // {
+        dependencies = [
+          sources."extend-shallow-3.0.2"
+          sources."is-extendable-1.0.1"
+        ];
+      })
+      sources."sprintf-js-1.0.3"
+      sources."static-extend-0.1.2"
+      sources."statuses-1.3.1"
+      sources."stream-combiner-0.0.4"
+      sources."streamsearch-0.1.2"
+      sources."string-3.3.3"
+      sources."string-width-2.1.1"
+      sources."string_decoder-1.1.1"
+      sources."strip-ansi-3.0.1"
+      sources."strip-eof-1.0.0"
+      sources."strip-json-comments-2.0.1"
+      (sources."superagent-1.8.5" // {
+        dependencies = [
+          sources."qs-2.3.3"
+          sources."readable-stream-1.0.27-1"
+        ];
+      })
+      sources."supports-color-2.0.0"
+      sources."swagger-converter-0.2.0"
+      sources."swagger-editor-2.10.5"
+      (sources."swagger-test-templates-1.5.0" // {
+        dependencies = [
+          sources."camelcase-1.2.1"
+          sources."is-extglob-1.0.0"
+          sources."is-glob-2.0.1"
+          sources."kind-of-3.2.2"
+          sources."source-map-0.4.4"
+          sources."wordwrap-0.0.2"
+        ];
+      })
+      (sources."swagger-tools-0.9.16" // {
+        dependencies = [
+          sources."cookiejar-2.0.6"
+          sources."depd-1.0.1"
+          sources."ee-first-1.1.0"
+          sources."extend-3.0.0"
+          sources."form-data-1.0.0-rc3"
+          sources."formidable-1.0.17"
+          sources."isarray-0.0.1"
+          sources."lodash-4.17.10"
+          sources."mime-1.3.4"
+          sources."ms-0.7.1"
+          sources."object-assign-3.0.0"
+          sources."on-finished-2.2.1"
+          sources."readable-stream-1.1.14"
+          sources."string_decoder-0.10.31"
+          sources."swagger-converter-0.1.7"
+        ];
+      })
+      sources."term-size-1.2.0"
+      sources."through-2.3.8"
+      sources."timed-out-4.0.1"
+      sources."to-iso-string-0.0.2"
+      sources."to-object-path-0.3.0"
+      sources."to-regex-3.0.2"
+      sources."to-regex-range-2.1.1"
+      sources."touch-3.1.0"
+      sources."traverse-0.6.6"
+      sources."truncate-utf8-bytes-1.0.2"
+      sources."type-is-1.6.16"
+      sources."typedarray-0.0.6"
+      (sources."uglify-js-2.8.29" // {
+        dependencies = [
+          sources."source-map-0.5.7"
+        ];
+      })
+      sources."uglify-to-browserify-1.0.2"
+      (sources."undefsafe-2.0.2" // {
+        dependencies = [
+          sources."debug-2.6.9"
+        ];
+      })
+      (sources."union-value-1.0.0" // {
+        dependencies = [
+          sources."set-value-0.4.3"
+        ];
+      })
+      sources."unique-string-1.0.0"
+      sources."unpipe-1.0.0"
+      (sources."unset-value-1.0.0" // {
+        dependencies = [
+          (sources."has-value-0.3.1" // {
+            dependencies = [
+              sources."isobject-2.1.0"
+            ];
+          })
+        ];
+      })
+      sources."unzip-response-2.0.1"
+      sources."upath-1.0.5"
+      sources."update-notifier-2.5.0"
+      sources."uri-js-3.0.2"
+      sources."urix-0.1.0"
+      sources."url-parse-lax-1.0.0"
+      (sources."use-3.1.0" // {
+        dependencies = [
+          sources."kind-of-6.0.2"
+        ];
+      })
+      sources."utf8-byte-length-1.0.4"
+      sources."util-deprecate-1.0.2"
+      sources."utils-merge-1.0.1"
+      sources."valid-url-1.0.9"
+      sources."validator-9.4.1"
+      sources."which-1.3.0"
+      sources."widest-line-2.0.0"
+      sources."window-size-0.1.0"
+      sources."wordwrap-0.0.3"
+      sources."wrappy-1.0.2"
+      sources."write-file-atomic-2.3.0"
+      sources."xdg-basedir-3.0.0"
+      sources."xtend-4.0.1"
+      sources."yallist-2.1.2"
+      sources."yargs-3.10.0"
+      sources."z-schema-3.20.0"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "The Swagger command-line. Provides Swagger utilities and project lifecycle support.";
+      homepage = "https://github.com/swagger-api/swagger-node#readme";
+      license = "Apache 2.0";
+    };
+    production = true;
+    bypassCache = true;
+  };
   npm = nodeEnv.buildNodePackage {
     name = "npm";
     packageName = "npm";
-    version = "5.6.0";
+    version = "6.0.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/npm/-/npm-5.6.0.tgz";
-      sha512 = "0nnr796ik5h8bsd3k9ygivivr3na2ksnf5iipf8dsnn20j10i9sgmhmsnzbimd2pqgjbrpp8gbpl2q7j5c7yjqjfirrh8xcc3v3gpws";
+      url = "https://registry.npmjs.org/npm/-/npm-6.0.0.tgz";
+      sha512 = "1s1pq7rdh5xxd4phq7bf1fikbfwc9iiglgayiy0bf14skvivj96j7f5mzyh3631gzhm7vmpak0k523axik5n4hza8gd8c90s203plqj";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -4157,4 +9403,38 @@ in
     production = true;
     bypassCache = true;
   };
+  three = nodeEnv.buildNodePackage {
+    name = "three";
+    packageName = "three";
+    version = "0.92.0";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/three/-/three-0.92.0.tgz";
+      sha1 = "8d3d1f5af890e62da7f4cb45d20c09fa51057dcd";
+    };
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "JavaScript 3D library";
+      homepage = https://threejs.org/;
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = true;
+  };
+  mathjax = nodeEnv.buildNodePackage {
+    name = "mathjax";
+    packageName = "mathjax";
+    version = "2.7.4";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/mathjax/-/mathjax-2.7.4.tgz";
+      sha512 = "37hnj84ls531nqjxr4r6k4bjbqz4zqpb9adg7k6klah8dlj3rh38j4p8mbjh4h0v7r575kkc528rspincfabpm4j8y5v68kh6v8p907";
+    };
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "Beautiful math in all browsers. MathJax is an open-source JavaScript display engine for LaTeX, MathML, and AsciiMath notation that works in all browsers.";
+      homepage = "https://github.com/mathjax/MathJax#readme";
+      license = "Apache-2.0";
+    };
+    production = true;
+    bypassCache = true;
+  };
 }
\ No newline at end of file
diff --git a/pkgs/development/ocaml-modules/alcotest/default.nix b/pkgs/development/ocaml-modules/alcotest/default.nix
index 80e34ecd06a..000ff8285c5 100644
--- a/pkgs/development/ocaml-modules/alcotest/default.nix
+++ b/pkgs/development/ocaml-modules/alcotest/default.nix
@@ -4,8 +4,8 @@
 
 let param =
   if stdenv.lib.versionAtLeast ocaml.version "4.02" then {
-    version = "0.8.1";
-    sha256 = "1bjhgwmshlaz9xncrrkknys7prigf8vlg1kqvfx9l8kn92mlf10b";
+    version = "0.8.2";
+    sha256 = "1zpg079v89mz2dpnh59f9hk5r03wl26skfn43llrv3kg24abjfpf";
     buildInputs = [ jbuilder ];
     buildPhase = "jbuilder build -p alcotest";
     inherit (jbuilder) installPhase;
diff --git a/pkgs/development/ocaml-modules/bitstring/camlp4-git.patch b/pkgs/development/ocaml-modules/bitstring/camlp4-git.patch
deleted file mode 100644
index 24d2e362dfa..00000000000
--- a/pkgs/development/ocaml-modules/bitstring/camlp4-git.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-diff --git a/Makefile.in b/Makefile.in
-index d040f4c..cc1a8f5 100644
---- a/Makefile.in
-+++ b/Makefile.in
-@@ -40,7 +40,7 @@ pkg_extlib	= @OCAML_PKG_extlib@
- enable_coverage = @enable_coverage@
- 
- OCAMLCFLAGS	= -g
--OCAMLCPACKAGES	=
-+OCAMLCPACKAGES	= -package camlp4
- OCAMLCLIBS	= -linkpkg
- OCAMLOPTFLAGS	= $(OCAMLCFLAGS)
- OCAMLOPTPACKAGES = $(OCAMLCPACKAGES)
-@@ -110,12 +110,13 @@ bitstring_persistent.cmi: bitstring_persistent.mli
- 	  -I +camlp4 -pp camlp4of -c $<
- 
- pa_bitstring.cmo: pa_bitstring.ml bitstring.cma bitstring_persistent.cma
--	$(OCAMLFIND) ocamlc bitstring.cma -I +camlp4 dynlink.cma camlp4lib.cma \
-+	$(OCAMLFIND) ocamlc $(OCAMLCPACKAGES) \
-+          bitstring.cma -I +camlp4 dynlink.cma camlp4lib.cma \
- 	  -pp camlp4of -c $< -o $@
- 
- bitstring-objinfo: bitstring_objinfo.cmo bitstring.cma bitstring_persistent.cma
- 	$(OCAMLFIND) ocamlc -I +camlp4 unix.cma dynlink.cma camlp4lib.cma \
--	  $(OCAMLCFLAGS) $(OCAMLCLIBS) \
-+	  $(OCAMLCFLAGS) $(OCAMLCLIBS) $(OCAMLCPACKAGES) \
- 	  bitstring.cma bitstring_persistent.cma \
- 	  $< -o $@
- 
-@@ -158,12 +159,13 @@ tests/test.bmpp: create_test_pattern
- 
- create_test_pattern: create_test_pattern.cmo
- 	$(OCAMLFIND) ocamlc $(OCAMLCFLAGS) -pp camlp4of \
--	  unix.cma -I +camlp4 dynlink.cma camlp4lib.cma \
-+	  unix.cma -I `ocamlfind query camlp4` dynlink.cma camlp4lib.cma \
- 	  $(OCAMLCLIBS) \
- 	  -I . bitstring.cma bitstring_persistent.cma $< -o $@
- 
- create_test_pattern.cmo: create_test_pattern.ml
- 	$(OCAMLFIND) ocamlc $(OCAMLCFLAGS) -pp camlp4of \
-+	  $(OCAMLCPACKAGES) \
- 	  unix.cma -I +camlp4 \
- 	  -I . -c $< -o $@
- 
diff --git a/pkgs/development/ocaml-modules/bitstring/default.nix b/pkgs/development/ocaml-modules/bitstring/default.nix
index 7e9ba518251..13424272bcf 100644
--- a/pkgs/development/ocaml-modules/bitstring/default.nix
+++ b/pkgs/development/ocaml-modules/bitstring/default.nix
@@ -1,26 +1,31 @@
-{ stdenv, fetchurl, buildOcaml, time, autoconf, automake }:
+{ stdenv, fetchFromGitHub, ocaml, findlib, jbuilder
+, ppx_tools_versioned
+, ounit
+}:
 
-buildOcaml rec {
-  name = "bitstring";
-  version = "2.1.0";
-  src = fetchurl {
-    url = http://github.com/xguerin/bitstring/archive/v2.1.0.tar.gz;
-    sha256 = "0miw4banfpmx4kxrckpqr57b1fcmsqdmspyjx6gqjd4kghm4l7xj";
+stdenv.mkDerivation rec {
+  name = "ocaml${ocaml.version}-bitstring-${version}";
+  version = "3.0.0";
+  src = fetchFromGitHub {
+    owner = "xguerin";
+    repo = "bitstring";
+    rev = "v${version}";
+    sha256 = "0r49qax7as48jgknzaq6p9rbpmrvnmlic713wzz5bj60j5h0396f";
   };
 
-  patches = [ ./camlp4-git.patch ./srcdir.patch ];
+  buildInputs = [ ocaml findlib jbuilder ppx_tools_versioned ounit ];
 
-  buildInputs = [time autoconf automake];
-  doCheck = true;
+  buildPhase = "jbuilder build";
 
-  createFindlibDestdir = true;
-  hasSharedObjects = true;
+  doCheck = true;
+  checkPhase = "jbuilder runtest";
 
-  preConfigure = "./bootstrap";
+  inherit (jbuilder) installPhase;
 
   meta = with stdenv.lib; {
     description = "This library adds Erlang-style bitstrings and matching over bitstrings as a syntax extension and library for OCaml";
     homepage = https://github.com/xguerin/bitstring;
+    inherit (ocaml.meta) platforms;
     license = licenses.lgpl21Plus;
     maintainers = [ maintainers.maurer ];
   };
diff --git a/pkgs/development/ocaml-modules/bitstring/srcdir.patch b/pkgs/development/ocaml-modules/bitstring/srcdir.patch
deleted file mode 100644
index d53760f1d6f..00000000000
--- a/pkgs/development/ocaml-modules/bitstring/srcdir.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/Makefile.in	2015-09-01 06:32:15.111441188 +0200
-+++ b/Makefile.in	2015-09-01 06:32:56.001084480 +0200
-@@ -125,7 +125,7 @@
- 
- byteswap.h: byteswap.in.h
- 	{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
--	  cat $(srcdir)/byteswap.in.h; \
-+	  cat $(top_srcdir)/byteswap.in.h; \
- 	} > $@-t
- 	mv -f $@-t $@
- 
diff --git a/pkgs/development/ocaml-modules/camlimages/default.nix b/pkgs/development/ocaml-modules/camlimages/default.nix
new file mode 100644
index 00000000000..def710f3f1b
--- /dev/null
+++ b/pkgs/development/ocaml-modules/camlimages/default.nix
@@ -0,0 +1,20 @@
+{ stdenv, fetchzip, findlib, jbuilder, ocaml, configurator, cppo, lablgtk }:
+stdenv.mkDerivation rec {
+  name = "camlimages-${version}";
+  version = "5.0.0";
+  src = fetchzip {
+    url = "https://bitbucket.org/camlspotter/camlimages/get/${version}.tar.gz";
+    sha256 = "00qvwxkfnhv93yi1iq7vy3p5lxyi9xigxcq464s4ii6bmp32d998";
+  };
+  buildInputs = [ findlib jbuilder ocaml configurator cppo lablgtk ];
+  buildPhase = "jbuilder build -p camlimages";
+  inherit (jbuilder) installPhase;
+  
+  meta = with stdenv.lib; {
+    branch = "5.0";
+    homepage = https://bitbucket.org/camlspotter/camlimages;
+    description = "OCaml image processing library";
+    license = licenses.gpl2;
+    maintainers = [ maintainers.vbgl maintainers.mt-caret ];
+  };
+}
diff --git a/pkgs/development/ocaml-modules/comparelib/default.nix b/pkgs/development/ocaml-modules/comparelib/default.nix
index 95001215814..8192fced97b 100644
--- a/pkgs/development/ocaml-modules/comparelib/default.nix
+++ b/pkgs/development/ocaml-modules/comparelib/default.nix
@@ -2,13 +2,13 @@
 
 buildOcaml rec {
   name = "comparelib";
-  version = "109.60.00";
+  version = "113.00.00";
 
   minimumSupportedOcamlVersion = "4.00";
 
   src = fetchurl {
     url = "https://github.com/janestreet/comparelib/archive/${version}.tar.gz";
-    sha256 = "1075fb05e0d1e290f71ad0f6163f32b2cb4cebdc77568491c7eb38ba91f5db7e";
+    sha256 = "02l343drgi4200flfx73nzdk61zajwidsqjk9n80b2d37lvhazlf";
   };
 
   propagatedBuildInputs = [ type_conv ];
diff --git a/pkgs/development/ocaml-modules/containers/default.nix b/pkgs/development/ocaml-modules/containers/default.nix
index ef930007aff..214721fa090 100644
--- a/pkgs/development/ocaml-modules/containers/default.nix
+++ b/pkgs/development/ocaml-modules/containers/default.nix
@@ -6,7 +6,7 @@ let
   mkpath = p:
       "${p}/lib/ocaml/${ocaml.version}/site-lib";
 
-  version = "1.3";
+  version = "1.4";
 
 in
 
@@ -17,7 +17,7 @@ stdenv.mkDerivation {
     owner = "c-cube";
     repo = "ocaml-containers";
     rev = "${version}";
-    sha256 = "1gjs9d6759zpgp68djv296zwmvhdc6dqfb27aip7dhj6ic2bwgil";
+    sha256 = "1wbarxphdrxvy7qsdp4p837h1zrv0z83pgs5lbz2h3kdnyvz2f1i";
   };
 
   buildInputs = [ ocaml findlib ocamlbuild cppo gen sequence qtest ounit qcheck ];
diff --git a/pkgs/development/ocaml-modules/cstruct/default.nix b/pkgs/development/ocaml-modules/cstruct/default.nix
index 976ff697c98..0f5380f9a41 100644
--- a/pkgs/development/ocaml-modules/cstruct/default.nix
+++ b/pkgs/development/ocaml-modules/cstruct/default.nix
@@ -2,10 +2,10 @@
 
 stdenv.mkDerivation rec {
   name = "ocaml${ocaml.version}-cstruct-${version}";
-  version = "3.0.2";
+  version = "3.1.1";
   src = fetchurl {
     url = "https://github.com/mirage/ocaml-cstruct/releases/download/v${version}/cstruct-${version}.tbz";
-    sha256 = "03caxcyzfjmbnnwa15zy9s1ckkl4sc834d1qkgi4jcs3zqchvd8z";
+    sha256 = "1x4jxsvd1lrfibnjdjrkfl7hqsc48rljnwbap6faanj9qhwwa6v2";
   };
 
   unpackCmd = "tar -xjf $curSrc";
diff --git a/pkgs/development/ocaml-modules/eliom/default.nix b/pkgs/development/ocaml-modules/eliom/default.nix
index 42afec7e439..da9383c4e95 100644
--- a/pkgs/development/ocaml-modules/eliom/default.nix
+++ b/pkgs/development/ocaml-modules/eliom/default.nix
@@ -1,35 +1,47 @@
-{ stdenv, fetchurl, which, ocsigen_server, ocsigen_deriving, ocaml,
-  js_of_ocaml, react, lwt, calendar, cryptokit, tyxml,
-  ipaddr, ocamlnet, ssl, ocaml_pcre, ocaml_optcomp,
-  reactivedata, opam, ppx_tools, ppx_deriving, findlib
-, ocamlbuild
+{ stdenv, fetchurl, which, ocsigen_server, ocsigen_deriving, ocaml, camlp4,
+  js_of_ocaml, lwt_react, cryptokit,
+  ipaddr, ocamlnet, lwt_ssl, ocaml_pcre,
+  opam, ppx_tools, ppx_deriving, findlib
+, js_of_ocaml-ocamlbuild, js_of_ocaml-ppx, js_of_ocaml-ppx_deriving_json
+, js_of_ocaml-lwt
+, js_of_ocaml-tyxml
 }:
 
-assert stdenv.lib.versionAtLeast ocaml.version "4.02";
+assert stdenv.lib.versionAtLeast ocaml.version "4.03";
 
 stdenv.mkDerivation rec
 {
   pname = "eliom";
-  version = "6.2.0";
+  version = "6.3.0";
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "https://github.com/ocsigen/eliom/archive/${version}.tar.gz";
-    sha256 = "01c4l982ld6d1ndhb6f15ldb2li7mv0bs279d5gs99mpiwsapadx";
+    sha256 = "137hgdzv9fwkzf6xdksqy437lrf8xvrycf5jwc3z4cmpsigs6x7v";
   };
 
   patches = [ ./camlp4.patch ];
 
-  buildInputs = [ ocaml which findlib ocamlbuild ocaml_optcomp opam ppx_tools ];
+  buildInputs = [ ocaml which findlib js_of_ocaml-ocamlbuild js_of_ocaml-ppx_deriving_json opam ppx_tools
+    ocsigen_deriving
+  ];
 
-  propagatedBuildInputs = [ lwt reactivedata tyxml ipaddr ocsigen_server ppx_deriving
-                            ocsigen_deriving js_of_ocaml
-                            calendar cryptokit ocamlnet react ssl ocaml_pcre ];
+  propagatedBuildInputs = [
+    camlp4
+    cryptokit
+    ipaddr
+    js_of_ocaml-lwt
+    js_of_ocaml-ppx
+    js_of_ocaml-tyxml
+    lwt_react
+    lwt_ssl
+    ocamlnet ocaml_pcre
+    ocsigen_server
+    ppx_deriving
+  ];
 
   installPhase = "opam-installer -i --prefix=$out --libdir=$OCAMLFIND_DESTDIR";
 
-  createFindlibDestdir = true;
-
   setupHook = [ ./setup-hook.sh ];
 
   meta = {
diff --git a/pkgs/development/ocaml-modules/expat/default.nix b/pkgs/development/ocaml-modules/expat/default.nix
index 575ca45624f..6058c87e7bd 100644
--- a/pkgs/development/ocaml-modules/expat/default.nix
+++ b/pkgs/development/ocaml-modules/expat/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
 	name = "ocaml${ocaml.version}-expat-${version}";
-	version = "1.0.0";
+	version = "1.1.0";
 
 	src = fetchFromGitHub {
 		owner = "whitequark";
 		repo = "ocaml-expat";
 		rev = "v${version}";
-		sha256 = "0rb47v08ra2hhh73p3d8sl4sizqwiwc37gnkl22b23sbwbjrpbz0";
+		sha256 = "07wm9663z744ya6z2lhiz5hbmc76kkipg04j9vw9dqpd1y1f2x3q";
 	};
 
 	prePatch = ''
diff --git a/pkgs/development/ocaml-modules/extlib/default.nix b/pkgs/development/ocaml-modules/extlib/default.nix
index 6c2cb894b54..e1c56bf7ebe 100644
--- a/pkgs/development/ocaml-modules/extlib/default.nix
+++ b/pkgs/development/ocaml-modules/extlib/default.nix
@@ -3,11 +3,11 @@
 assert stdenv.lib.versionAtLeast (stdenv.lib.getVersion ocaml) "3.11";
 
 stdenv.mkDerivation {
-  name = "ocaml-extlib-1.7.2";
+  name = "ocaml-extlib-1.7.4";
 
   src = fetchurl {
-    url = http://ygrek.org.ua/p/release/ocaml-extlib/extlib-1.7.2.tar.gz;
-    sha256 = "0r7mhfgh6n5chj9r12s2x1fxrzvh6nm8h80ykl1mr75j86za41bm";
+    url = http://ygrek.org.ua/p/release/ocaml-extlib/extlib-1.7.4.tar.gz;
+    sha256 = "18jb4rvkk6p3mqnkamwb41x8q49shgn43h020bs4cp4vac7nrhnr";
   };
 
   buildInputs = [ ocaml findlib cppo ];
diff --git a/pkgs/development/ocaml-modules/gapi-ocaml/default.nix b/pkgs/development/ocaml-modules/gapi-ocaml/default.nix
index a993a64a49a..a7c32a069fc 100644
--- a/pkgs/development/ocaml-modules/gapi-ocaml/default.nix
+++ b/pkgs/development/ocaml-modules/gapi-ocaml/default.nix
@@ -1,20 +1,23 @@
-{ stdenv, fetchFromGitHub, ocaml, findlib, ocamlbuild, ocurl, cryptokit, ocaml_extlib, yojson, ocamlnet, xmlm }:
+{ stdenv, fetchFromGitHub, ocaml, findlib, jbuilder, opam, ocurl, cryptokit, ocaml_extlib, yojson, ocamlnet, xmlm }:
+
+if !stdenv.lib.versionAtLeast ocaml.version "4.02"
+then throw "gapi-ocaml is not available for OCaml ${ocaml.version}"
+else
 
 stdenv.mkDerivation rec {
   name = "gapi-ocaml-${version}";
-  version = "0.3.4";
+  version = "0.3.6";
   src = fetchFromGitHub {
     owner = "astrada";
     repo = "gapi-ocaml";
     rev = "v${version}";
-    sha256 = "07p6p108fyf9xz54jbcld40k3r9zyybxmr5i3rrkhgwm8gb6sbhv";
+    sha256 = "0qgsy51bhkpfgl5rdnjw4bqs5fbh2w4vwrfbl8y3lh1wrqmnwci4";
   };
-  buildInputs = [ ocaml findlib ocamlbuild ];
+  buildInputs = [ ocaml jbuilder findlib ];
   propagatedBuildInputs = [ ocurl cryptokit ocaml_extlib yojson ocamlnet xmlm ];
 
-  configurePhase = "ocaml setup.ml -configure --prefix $out";
-  buildPhase = "ocaml setup.ml -build";
-  installPhase = "ocaml setup.ml -install";
+  installPhase = "${opam}/bin/opam-installer -i --prefix=$out --libdir=$OCAMLFIND_DESTDIR";
+
   createFindlibDestdir = true;
 
   meta = {
diff --git a/pkgs/development/ocaml-modules/git-http/default.nix b/pkgs/development/ocaml-modules/git-http/default.nix
index 5b93b960765..5e757b5b672 100644
--- a/pkgs/development/ocaml-modules/git-http/default.nix
+++ b/pkgs/development/ocaml-modules/git-http/default.nix
@@ -1,10 +1,12 @@
-{ stdenv, ocaml, findlib, jbuilder, git, cohttp-lwt }:
+{ stdenv, ocaml, findlib, jbuilder, git, cohttp-lwt
+, alcotest, mtime, nocrypto
+}:
 
 stdenv.mkDerivation rec {
 	name = "ocaml${ocaml.version}-git-http-${version}";
 	inherit (git) version src;
 
-	buildInputs = [ ocaml findlib jbuilder ];
+	buildInputs = [ ocaml findlib jbuilder alcotest mtime nocrypto ];
 
 	propagatedBuildInputs = [ git cohttp-lwt ];
 
@@ -12,6 +14,9 @@ stdenv.mkDerivation rec {
 
 	inherit (jbuilder) installPhase;
 
+	doCheck = true;
+	checkPhase = "jbuilder runtest -p git-http";
+
 	meta = {
 		description = "Client implementation of the “Smart” HTTP Git protocol in pure OCaml";
 		inherit (git.meta) homepage license maintainers platforms;
diff --git a/pkgs/development/ocaml-modules/git/default.nix b/pkgs/development/ocaml-modules/git/default.nix
index 9347c6ad00c..6f0f0d0b120 100644
--- a/pkgs/development/ocaml-modules/git/default.nix
+++ b/pkgs/development/ocaml-modules/git/default.nix
@@ -1,19 +1,20 @@
 { stdenv, fetchFromGitHub, ocaml, findlib, jbuilder, opam
 , astring, decompress, fmt, hex, logs, mstruct, ocaml_lwt, ocamlgraph, uri
+, alcotest, mtime, nocrypto
 }:
 
 stdenv.mkDerivation rec {
-	version = "1.11.4";
+	version = "1.11.5";
 	name = "ocaml${ocaml.version}-git-${version}";
 
 	src = fetchFromGitHub {
 		owner = "mirage";
 		repo = "ocaml-git";
 		rev = version;
-		sha256 = "182b6shcfcq50r5snm01hwalnmck43x1xgdd4fvjb6q78pbwag2x";
+		sha256 = "0r1bxpxjjnl9hh8xbabsxl7svzvd19hfy73a2y1m4kljmw64dpfh";
 	};
 
-	buildInputs = [ ocaml findlib jbuilder ];
+	buildInputs = [ ocaml findlib jbuilder alcotest mtime nocrypto ];
 
 	propagatedBuildInputs = [ astring decompress fmt hex logs mstruct ocaml_lwt ocamlgraph uri ];
 
@@ -21,6 +22,9 @@ stdenv.mkDerivation rec {
 
 	inherit (jbuilder) installPhase;
 
+	doCheck = true;
+	checkPhase = "jbuilder runtest -p git";
+
 	meta = {
 		description = "Git format and protocol in pure OCaml";
 		license = stdenv.lib.licenses.isc;
diff --git a/pkgs/development/ocaml-modules/herelib/default.nix b/pkgs/development/ocaml-modules/herelib/default.nix
index 716e31b2bfe..c9a40b61437 100644
--- a/pkgs/development/ocaml-modules/herelib/default.nix
+++ b/pkgs/development/ocaml-modules/herelib/default.nix
@@ -1,14 +1,14 @@
 {stdenv, buildOcaml, fetchurl}:
 
 buildOcaml rec {
-  version = "109.35.02";
+  version = "112.35.00";
   name = "herelib";
 
   minimumSupportedOcamlVersion = "4.00";
 
   src = fetchurl {
     url = "https://github.com/janestreet/herelib/archive/${version}.tar.gz";
-    sha256 = "7f8394169cb63f6d41e91c9affa1b8ec240d5f6e9dfeda3fbb611df521d4b05a";
+    sha256 = "03rrlpjmnd8d1rzzmd112355m7a5bwn3vf90xkbc6gkxlad9cxbs";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/ocaml-modules/http/default.nix b/pkgs/development/ocaml-modules/http/default.nix
index f25a6f97b39..b9b530ac599 100644
--- a/pkgs/development/ocaml-modules/http/default.nix
+++ b/pkgs/development/ocaml-modules/http/default.nix
@@ -1,5 +1,9 @@
 {stdenv, fetchurl, ocaml_pcre, ocamlnet, ocaml, findlib, camlp4}:
 
+if stdenv.lib.versionAtLeast ocaml.version "4.06"
+then throw "ocaml-http is not available for OCaml ${ocaml.version}"
+else
+
 stdenv.mkDerivation {
   name = "ocaml-http-0.1.5";
 
diff --git a/pkgs/development/ocaml-modules/janestreet/default.nix b/pkgs/development/ocaml-modules/janestreet/default.nix
index 27a65c50275..9e3c6622e87 100644
--- a/pkgs/development/ocaml-modules/janestreet/default.nix
+++ b/pkgs/development/ocaml-modules/janestreet/default.nix
@@ -1,6 +1,6 @@
-{ stdenv, lib, janePackage, ocaml, ocamlbuild, cryptokit, ctypes, magic-mime,
-  ocaml-migrate-parsetree, octavius, ounit, ppx_deriving, re, zarith, num,
-  openssl }:
+{ stdenv, lib, janePackage, ocaml, ocamlbuild, angstrom, cryptokit, ctypes,
+  magic-mime, ocaml-migrate-parsetree, octavius, ounit, ppx_deriving, re,
+  zarith, num, openssl }:
 
 rec {
 
@@ -9,56 +9,46 @@ rec {
   sexplib = janePackage {
     name = "sexplib";
     meta.description = "Automated S-expression conversion";
-    version = "0.10.0";
     hash = "1agw649n0rnf6h4y2dr1zs1970nncxgjmf90848vbxv8y9im4yy2";
-    buildInputs = [ num ];
+    propagatedBuildInputs = [ num ];
   };
 
   base = janePackage {
     name = "base";
-    version = "0.9.4";
-    hash = "0x85xi66b4zwlbdwmyc99zcmawgpp75gxqbl55rr67awavw162rw";
+    hash = "13brvkkj76syh8ws1k3lnvk88jvc6jxx16nsq5ysh558db91v5x7";
     propagatedBuildInputs = [ sexplib ];
     meta.description = "Full standard library replacement for OCaml";
   };
 
   ocaml-compiler-libs = janePackage {
     name = "ocaml-compiler-libs";
-    hash = "1jz3nfrb6295sj4xj1j0zld8mhfj0xy2k4vlp9yf9sh3748n090l";
+    hash = "0dg9jgwwir99y28bki17cqf3v30apd7cf0qdi8hfwb5pkgp9zdng";
     meta.description = "OCaml compiler libraries repackaged";
   };
 
-  ppx_ast = janePackage ({
+  ppx_ast = janePackage {
     name = "ppx_ast";
+    hash = "02jsi9b200071i4x0w358by09xabw9v13q7xrx6cdshqxw0q97kf";
     propagatedBuildInputs = [ ocaml-compiler-libs ocaml-migrate-parsetree ];
     meta.description = "OCaml AST used by Jane Street ppx rewriters";
-  } // (if lib.versionAtLeast ocaml.version "4.06"
-    then {
-      version = "0.9.2";
-      hash = "1h4qf26rg23z21rrw83fakiavw9km7174p3830pg0gg4bwakvba0";
-    } else {
-      version = "0.9.1";
-      hash = "0a9rxwavy2748k0yd4db3hg1ypq7mpqnwq9si5a5qdiclgkhcggw";
-    }
-  ));
+  };
 
   ppx_traverse_builtins = janePackage {
     name = "ppx_traverse_builtins";
-    hash = "10ajvz02ka6qimlfrq7py4ljhk8awqkga6240kn8j046b4xfyxzi";
+    hash = "0hhw565cwjlr1cwpgkfj0v2kc0lqxyjcrmi9q3hx3344biql8q17";
     meta.description = "Builtins for Ppx_traverse";
   };
 
   stdio = janePackage {
     name = "stdio";
-    version = "0.9.1";
-    hash = "13rj3ii0rvmklfim9ild0ib44ssdadig7a9ccjbz22m0pw84a1sx";
-    propagatedBuildInputs = [ base ];
+    hash = "0ydhy4f89f00n0pfgk8fanj6chzx433qnlcrxnddzg4d3dhb4254";
+    propagatedBuildInputs = [ base sexplib ];
     meta.description = "Standard IO library for OCaml";
   };
 
   ppx_core = janePackage {
     name = "ppx_core";
-    hash = "15400zxxkqdimmjpdjcs36gcbxbrhylmaczlzwd6x65v1h9aydz3";
+    hash = "0fm26bgf10gk8xl6j4xvwa5s7nmns8rlx7iblb7haj4dxc0qsjhd";
     propagatedBuildInputs = [ ppx_ast ppx_traverse_builtins stdio ];
     meta.description = "Jane Street's standard library for ppx rewriters";
   };
@@ -67,15 +57,14 @@ rec {
 
   ppx_optcomp = janePackage {
     name = "ppx_optcomp";
-    hash = "1wfj6fnh92s81yncq7yyhmax7j6zpjj1sg1f3qa1f9c5kf4kkzrd";
+    hash = "134anhlh32s5yjjbiqsrmjw51i08pyghzccmrwg1bipl64q55m6n";
     propagatedBuildInputs = [ ppx_core ];
     meta.description = "Optional compilation for OCaml";
   };
 
   ppx_driver = janePackage {
     name = "ppx_driver";
-    version = "0.9.1";
-    hash = "1amz49x6v4sh1v2my6618cah0zv5i7jmsapbk9ydps6419g5asay";
+    hash = "0kzijcsq32wf33f4spgja3w5jb9s8wnzmr6lpm8lahw05g80q8nj";
     buildInputs = [ ocamlbuild ];
     propagatedBuildInputs = [ ppx_optcomp ];
     meta.description = "Feature-full driver for OCaml AST transformers";
@@ -83,56 +72,56 @@ rec {
 
   ppx_metaquot = janePackage {
     name = "ppx_metaquot";
-    hash = "15qfd3s4x2pz006nx5316laxd3gqqi472x432qg4rfx4yh3vn31k";
+    hash = "1wb8pl5v57yy1g0g61mvgnxgn2ix2r5skiz33g8hdjvx91pbgmv4";
     propagatedBuildInputs = [ ppx_driver ];
     meta.description = "Metaquotations for ppx_ast";
   };
 
   ppx_type_conv = janePackage {
     name = "ppx_type_conv";
-    hash = "0a0gxjvjiql9vg37k0akn8xr5724nv3xb7v37xpidv7ld927ks7p";
+    hash = "0xvn00fzj8lb41slkl91p9z62byg0rlnygdxf4xvrqglg04wa9cz";
     propagatedBuildInputs = [ ppx_metaquot ppx_deriving ];
     meta.description = "Support Library for type-driven code generators";
   };
 
   ppx_sexp_conv = janePackage {
     name = "ppx_sexp_conv";
-    hash = "03cg2sym0wvpd5l7q4w9bclp589z5byygwsmnnq9h1ih56cmd55l";
+    hash = "0kvbm34wbxrcpvrrbh5wq4kzx4yb67iidzcq5x1d4bygvp8x2lzd";
     propagatedBuildInputs = [ ppx_type_conv sexplib ];
     meta.description = "Generation of S-expression conversion functions from type definitions";
   };
 
   ppx_compare = janePackage {
     name = "ppx_compare";
-    hash = "0wrszpvn1nms5sb5rb29p7z1wmqyd15gfzdj4ax8f843p5ywx3w9";
+    hash = "1fjrb7bz7wrykf4pm7s4s32030jdw65hi7kzd22ibd1afnkz3xw1";
     propagatedBuildInputs = [ ppx_type_conv ];
     meta.description = "Generation of comparison functions from types";
   };
 
   ppx_enumerate = janePackage {
     name = "ppx_enumerate";
-    hash = "1dfy86j2z12p5n9yrwaakx1ngphs5246vxy279kz6i6j34cwxm46";
+    hash = "1b4q1h19bh2xdxgqwdmn5kv95lyvpyf6mfh2fswagf2ajyfshksx";
     propagatedBuildInputs = [ ppx_type_conv ];
     meta.description = "Generate a list containing all values of a finite type";
   };
 
   ppx_hash = janePackage {
     name = "ppx_hash";
-    hash = "1w1riy2sqd9i611sc5f5z2rqqgjl2gvvkzi5xibpv309nacnl01d";
+    hash = "12yln0gpf21ifr205qxk7dn83bsj07zhmak2xsjap7xkq4k8g9gc";
     propagatedBuildInputs = [ ppx_compare ppx_sexp_conv ];
     meta.description = "A ppx rewriter that generates hash functions from type expressions and definitions";
   };
 
   ppx_js_style = janePackage {
     name = "ppx_js_style";
-    hash = "09k02b1l2r7svf9l3ls69h8xydsyiang2ziigxnny2i7gy7b0w59";
+    hash = "11i2cwavbbplhsl5n4zmgpr8gjc4ixa5016vc72y8h78g71jj18n";
     propagatedBuildInputs = [ ppx_metaquot octavius ];
     meta.description = "Code style checker for Jane Street Packages";
   };
 
   ppx_base = janePackage {
     name = "ppx_base";
-    hash = "0qikfzbkd2wyxfrvizz6rgi6vg4ykvxkivacj4gr178dbgfl5if3";
+    hash = "1rk7dlnhl30prda9q34ic0xv375i52j47bkr664ry3ghklxx6d8y";
     propagatedBuildInputs = [ ppx_enumerate ppx_hash ppx_js_style ];
     meta.description = "Base set of ppx rewriters";
   };
@@ -141,64 +130,63 @@ rec {
 
   fieldslib = janePackage {
     name = "fieldslib";
-    hash = "1wxh59888l1bfz9ipnbcas58gwg744icaixzdbsg4v8f7wymc501";
+    hash = "19l05d7hhc74zg48hj0m7sips8z3vpara1f0lvd8h7n46wpbs608";
     propagatedBuildInputs = [ ppx_driver ];
     meta.description = "OCaml record fields as first class values";
   };
 
   variantslib = janePackage {
     name = "variantslib";
-    hash = "0kj53n62193j58q9vip8lfhhyf6w9d25wyvxzc163hx5m68yw0fz";
+    hash = "0j1qlz7g8ny1qf3a7d38v2a7sxiis1nwcxkvz0myfsc3dkn716an";
     propagatedBuildInputs = [ ppx_driver ];
     meta.description = "OCaml variants as first class values";
   };
 
   ppx_traverse = janePackage {
     name = "ppx_traverse";
-    hash = "1sdqgwyq0w71i03vhc5jq4jk6rsbgwhvain48fnrllpkb5kj2la2";
+    hash = "1ps7s4vwvzik9wvmwd0i3a1sjgm0xx32yivc2r8ix9qqwylvjllq";
     propagatedBuildInputs = [ ppx_type_conv ];
     meta.description = "Automatic generation of open recursion classes";
   };
 
   ppx_custom_printf = janePackage {
     name = "ppx_custom_printf";
-    hash = "0cjy2c2c5g3qxqvwx1yb6p7kbmmpnpb1hll55f7a44x215lg8x19";
+    hash = "113dvmiy07lb6mf0f88avf4cfkix4q029xqi2w0h26xngp88s31p";
     propagatedBuildInputs = [ ppx_sexp_conv ppx_traverse ];
     meta.description = "Printf-style format-strings for user-defined string conversion";
   };
 
   ppx_fields_conv = janePackage {
     name = "ppx_fields_conv";
-    hash = "0qp8zgmk58iskzrkf4g06i471kg6lrh3wqpy9klrb8pp9mg0xr9z";
+    hash = "1df095qczkzclmdcs1nrm89wswnxivn9kvn6sw65jpvryfkf5v5k";
     propagatedBuildInputs = [ fieldslib ppx_type_conv ];
     meta.description = "Generation of accessor and iteration functions for OCaml records";
   };
 
   ppx_variants_conv = janePackage {
     name = "ppx_variants_conv";
-    hash = "1xayhyglgbdjqvb9123kjbwjcv0a3n3302nb0j7g8gmja8w5y834";
+    hash = "1l19rkclf65f8snw2v0yibkvk28by241dkp6jb0076dyghbln451";
     propagatedBuildInputs = [ ppx_type_conv variantslib ];
     meta.description = "Generation of accessor and iteration functions for OCaml variant types";
   };
 
   bin_prot = janePackage {
     name = "bin_prot";
-    version = "0.9.1";
-    hash = "1bgcmkgz6b5i522996x589zsaiy5b3h37887lwbqvpps8by2ayvk";
+    hash = "1yyjpwr2s5l8sm9j77a4cmr92rdx73iy3fwqyxf7dr8hfrmd938v";
     propagatedBuildInputs = [ ppx_compare ppx_custom_printf ppx_fields_conv ppx_variants_conv ];
     meta.description = "Binary protocol generator";
   };
 
   ppx_here = janePackage {
     name = "ppx_here";
-    hash = "0pjscw5ydxgy4fcxakgsazpp09ka057w5n2fp2dpkv2k5gil6rzh";
+    hash = "0ysx25ai7mpzxfpbswd9k38hpxhjm12bj0iw5ghvhdjnnn07kwcv";
     propagatedBuildInputs = [ ppx_driver ];
     meta.description = "Expands [%here] into its location";
   };
 
   ppx_bin_prot = janePackage {
     name = "ppx_bin_prot";
-    hash = "0qw9zqrc5yngzrzpk9awnlnd68xrb7wz5lq807c80ibxk0xvnqn3";
+    hash = "06n7gs51847p75baay9ar8n15ynqzhdbnwd8xvp8vxs6krr6wpfd";
     propagatedBuildInputs = [ ppx_here bin_prot ];
     meta.description = "Generation of bin_prot readers and writers from types";
   };
@@ -207,92 +195,91 @@ rec {
 
   ppx_assert = janePackage {
     name = "ppx_assert";
-    hash = "1s5c75wkc46nlcwmgic5h7f439s26ssrzrcil501c5kpib2hlv6z";
+    hash = "09xrcs2sk1a9vjn16bd1cpz3b52kbck7fhc7zrz24lv121wspiaj";
     propagatedBuildInputs = [ ppx_sexp_conv ppx_here ppx_compare ];
     meta.description = "Assert-like extension nodes that raise useful errors on failure";
   };
 
   ppx_inline_test = janePackage {
     name = "ppx_inline_test";
-    version = "0.9.2";
-    hash = "17j36ihiqprbpa2bk02449k93vaidid2sly5djrk848ccjq8n5aa";
+    hash = "0ar4lpl3zwb7k1f4clqsw1hyzwa104gf118a2i89c4hvj2721jwf";
     propagatedBuildInputs = [ ppx_metaquot ];
     meta.description = "Syntax extension for writing in-line tests in OCaml code";
   };
 
   typerep = janePackage {
     name = "typerep";
-    hash = "0hlc0xiznli1k6azv2mhm1s4xghhxqqd957np7828bfp7r8n2jy3";
+    hash = "11na0kag6aggckx7326zq8hh9pzymkwqfxsd25fswskk5lpnvwqv";
     propagatedBuildInputs = [ base ];
     meta.description = "Runtime types for OCaml";
   };
 
   ppx_bench = janePackage {
     name = "ppx_bench";
-    hash = "1qk4y6c2mpw7bqjppi2nam74vs2sc89wzq162j92wsqxyqsv4p93";
+    hash = "17l5shhi613l02yfipyr4hna3lj94kn6zy746rvsgcibyc7nybq6";
     propagatedBuildInputs = [ ppx_inline_test ];
     meta.description = "Syntax extension for writing in-line benchmarks in OCaml code";
   };
 
   ppx_expect = janePackage {
     name = "ppx_expect";
-    hash = "1bik53k51wcqv088f0h10n3ms9h51yvg6ha3g1s903i2bxr3xs6b";
+    hash = "0qq07iqfsbksklwn7rr1wdz79kji0iyq5qkyfwxrxm0ci9fz0h1w";
     propagatedBuildInputs = [ ppx_inline_test ppx_fields_conv ppx_custom_printf ppx_assert ppx_variants_conv re ];
     meta.description = "Cram like framework for OCaml";
   };
 
   ppx_fail = janePackage {
     name = "ppx_fail";
-    hash = "0qz0vlazasjyg7cv3iwpzxlvsah3zmn9dzd029xxqr1bji067s32";
+    hash = "0cwz16xy5s0ijm9y98lh9089ic7wd161njpdncgsxy6lgsjawap2";
     propagatedBuildInputs = [ ppx_here ppx_metaquot ];
     meta.description = "Add location to calls to failwiths";
   };
 
   ppx_let = janePackage {
     name = "ppx_let";
-    hash = "1b914a5nynwxjvfx42v61yigvjhnd548m4yqjfchf38dmqi1f4nr";
+    hash = "0smdxkjh4nxrf3mwzfvkjbymvwbz04v70k2gwxsaz5f6wvnhyvmm";
     propagatedBuildInputs = [ ppx_driver ];
     meta.description = "Monadic let-bindings";
   };
 
   ppx_optional = janePackage {
     name = "ppx_optional";
-    hash = "1vknsarxba0zcp5k2jb31wfpvqrv3bpanxbahfl5s2fwspsfdc82";
+    hash = "1qmc0yzp9jab8yndxs0ca3qx35wyhfwiknqk0gfjmar2ji87zlzn";
     propagatedBuildInputs = [ ppx_metaquot ];
     meta.description = "Pattern matching on flat options";
   };
 
   ppx_pipebang = janePackage {
     name = "ppx_pipebang";
-    hash = "1wyfyyjvyi94ds1p90l60wdr85q2v3fq1qdf3gnv9zjfy6sb0g9h";
+    hash = "0lzw6qc9f9g7zkbhhp4603b3mj3jvca4phx40f95d49y370325qx";
     propagatedBuildInputs = [ ppx_metaquot ];
     meta.description = "A ppx rewriter that inlines reverse application operators |> and |!";
   };
 
   ppx_sexp_message = janePackage {
     name = "ppx_sexp_message";
-    hash = "0r0skyr1zf2jh48xrxbs45gzywynhlivkq24xwc0qq435fmc2jqv";
+    hash = "1gddia4ry2pmnh4qj5855a044lqs23g5h038bkny73xg7w06jhrk";
     propagatedBuildInputs = [ ppx_sexp_conv ppx_here ];
     meta.description = "A ppx rewriter for easy construction of s-expressions";
   };
 
   ppx_sexp_value = janePackage {
     name = "ppx_sexp_value";
-    hash = "0hha5mmx700m8fy9g4znb8278l09chgwlpshny83vsmmzgq2jhah";
+    hash = "1xd5ln997wka8x4dba58yh525a5f36sklngg2z7iyiss7xi4yg7i";
     propagatedBuildInputs = [ ppx_sexp_conv ppx_here ];
     meta.description = "A ppx rewriter that simplifies building s-expressions from OCaml values";
   };
 
   ppx_typerep_conv = janePackage {
     name = "ppx_typerep_conv";
-    hash = "0bzgfpbqijwxm8x9jq1zb4xi5sbzymk17lw5rylri3hf84p60aq1";
+    hash = "1bk8zgagf6q5lb7icsrbzs05c8dz1gij0clzk39am40l83zs3ain";
     propagatedBuildInputs = [ ppx_type_conv typerep ];
     meta.description = "Generation of runtime types from type declarations";
   };
 
   ppx_jane = janePackage {
     name = "ppx_jane";
-    hash = "16m5iw0qyp452nqj83kd0g0x3rw40lrz7392hwpd4di1wi6v2qzc";
+    hash = "1lhzcfh129dc54bkg16rnldi97682nlzdr8a47ham3hg2kkab8kr";
     propagatedBuildInputs = [ ppx_base ppx_bench ppx_bin_prot ppx_expect ppx_fail ppx_let ppx_optional ppx_pipebang ppx_sexp_message ppx_sexp_value ppx_typerep_conv ];
     meta.description = "Standard Jane Street ppx rewriters";
   };
@@ -301,35 +288,33 @@ rec {
 
   configurator = janePackage {
     name = "configurator";
-    version = "0.9.1";
-    hash = "1q0s0ghcrcrxdj6zr9zr27g7sr4qr9l14kizjphwqwwvgbzawdix";
-    propagatedBuildInputs = [ ppx_base ];
+    hash = "0lydjj4r21ipmc91hyf91mjjvcibk4r7ipan8bqfzb5l490r95rp";
+    propagatedBuildInputs = [ base stdio ];
     meta.description = "Helper library for gathering system configuration";
   };
 
   jane-street-headers = janePackage {
     name = "jane-street-headers";
-    hash = "0cdab6sblsidjbwvyvmspykyhqh44rpsjzi2djbfd5m4vh2h14gy";
+    hash = "1sqyqzhgi52vq33i8ha2pmjg026qiqmpaqmibs3pfj4jsscwl842";
     meta.description = "Jane Street header files";
   };
 
   core_kernel = janePackage {
     name = "core_kernel";
-    hash = "05iwvggx9m81x7ijgv9gcv5znf5rmsmb76dg909bm9gkr3hbh7wh";
+    hash = "00iqd9wcana2blgdih1lq9zqd31agr6az912bhsklyarvvcn9hcb";
     propagatedBuildInputs = [ configurator jane-street-headers ppx_jane ];
     meta.description = "Jane Street's standard library overlay (kernel)";
   };
 
   spawn = janePackage {
     name = "spawn";
-    hash = "1w53b8ni06ajj62yaqjy0pkbm952l0m5fzr088yk15078qaxsnb5";
+    hash = "1av1pjkiqq3nz0rjmykiylhf0iv6d1ssvqqj6wcc3c0bzvgyih0p";
     meta.description = "Spawning sub-processes";
   };
 
   core = janePackage {
     name = "core";
-    version = "0.9.1";
-    hash = "1643r0namsgj8xwfr9niimcdwyyq4ddiwd02d73ipb4a8710aqi8";
+    hash = "06cra34rlqpmxh4f3v1vps9fs7hy90jjnipdvcf9z8cn925mdj46";
     propagatedBuildInputs = [ core_kernel spawn ];
     meta.description = "Jane Street's standard library overlay";
   };
@@ -338,7 +323,8 @@ rec {
 
   re2 = janePackage {
     name = "re2";
-    hash = "1qmhl3yd6y0lq401rz72b1bsbpglb0wighpxn3x8y1ixq415p4xi";
+    version = "0.10.1";
+    hash = "1d39brryfaj5fqp1kzw67n1bvfxv28xi058mk5il14wj40y5ldh1";
     propagatedBuildInputs = [ core_kernel ];
     meta = {
       description = "OCaml bindings for RE2";
@@ -348,14 +334,21 @@ rec {
 
   textutils = janePackage {
     name = "textutils";
-    hash = "1y6j2qw7rc8d80343lfv1dygnfrhn2qllz57mx28pl5kan743f6d";
-    propagatedBuildInputs = [ core ];
+    hash = "0mnmrp8kd443qx9gahrwr04a8q4hskcad2i1k9amiypbwy566s37";
+    propagatedBuildInputs = [ core textutils_kernel ];
     meta.description = "Text output utilities";
   };
 
+  textutils_kernel = janePackage {
+    name = "textutils_kernel";
+    hash = "0w7nf7sycffff318fxr42ss1fxa3bsy9kj7y27dl1whrajip9mb7";
+    propagatedBuildInputs = [ core_kernel ocaml-migrate-parsetree ];
+    meta.description = "The subset of textutils using only core_kernel and working in javascript";
+  };
+
   core_extended = janePackage {
     name = "core_extended";
-    hash = "05cnzzj0kigz9c9gsmd6mfar82wmkbqm9qzrydb80sy2fz5b30rk";
+    hash = "0g9adnr68l4ggayilmvz9nnf2slvnp0jzknjrxk10cab72l97rv4";
     propagatedBuildInputs = [ core re2 textutils ];
     postPatch = ''
       patchShebangs src/discover.sh
@@ -369,63 +362,63 @@ rec {
 
   async_kernel = janePackage {
     name = "async_kernel";
-    hash = "1zwxhzy7f9900rcjls2fql9cpfmwrcah3fazzdz4h2i51f41w62x";
+    hash = "09dzfyfmjf9894yimf1fpnc2l1v342f51a2wjr3d23pw6xnbcrl0";
     propagatedBuildInputs = [ core_kernel ];
     meta.description = "Jane Street Capital's asynchronous execution library (core)";
   };
 
   async_rpc_kernel = janePackage {
     name = "async_rpc_kernel";
-    hash = "1xk3s6s3xkj182p10kig2cqy8md6znif3v661h9cd02n8s57c40b";
-    propagatedBuildInputs = [ core_kernel async_kernel ];
+    hash = "1ardfr4vwbzc41qa2ccmzp15m9w3nbdl9cy4crvm87fi0ngkhixy";
+    propagatedBuildInputs = [ core_kernel async_kernel protocol_version_header ];
     meta.description = "Platform-independent core of Async RPC library";
   };
 
   async_unix = janePackage {
     name = "async_unix";
-    hash = "0yd4z28j5vdj2zxqi0fkgh2ic1s9h740is2dk0raga0zr5a1z03d";
+    hash = "151pn0543fwvi5gkdkbd05v8y9gjbxi1n69r4jxzc0bh842xx4xz";
     propagatedBuildInputs = [ core async_kernel ];
     meta.description = "Jane Street Capital's asynchronous execution library (unix)";
   };
 
   async_extra = janePackage {
     name = "async_extra";
-    hash = "0rpy5lc5dh5mir7flq1jrppd8imby8wyw191yg4nmklg28xp5sx0";
+    hash = "0vf3nfj8h7vnigs8l8m1bsg6w3szgaylaps6mbl4dsaihxdc732n";
     propagatedBuildInputs = [ async_rpc_kernel async_unix ];
     meta.description = "Jane Street's asynchronous execution library (extra)";
   };
 
   async = janePackage {
     name = "async";
-    hash = "10ykzym19srgdiikj0s74dndx5nk15hjq1r2hc61iz48f6caxkb1";
+    hash = "05ldvyw75648qrjx7q794m9llmlnqklh97lc09fv8biw515dby3d";
     propagatedBuildInputs = [ async_extra ];
     meta.description = "Jane Street Capital's asynchronous execution library";
   };
 
   async_find = janePackage {
     name = "async_find";
-    hash = "11dmhdzgf5kn4m0cm6zr28wpwhi2kr4lak9nmgxbrxsq28bcncxq";
+    hash = "05cpnz1m09h276cq6v3bh7da4iai14gmlh4cnh64v41f8hssw63s";
     propagatedBuildInputs = [ async ];
     meta.description = "Directory traversal with Async";
   };
 
   async_interactive = janePackage {
     name = "async_interactive";
-    hash = "1mmqqp6bi2wg7bmgf0sw34jn3iyl5kbm200dax8yqq6rfprcs49j";
+    hash = "1h2419l6nlqph3ipp5zdwyq55d3s602i4bv4jhsridmzy6cxxdxs";
     propagatedBuildInputs = [ async ];
     meta.description = "Utilities for building simple command-line based user interfaces";
   };
 
   async_parallel = janePackage {
     name = "async_parallel";
-    hash = "0mdprhr1pv4g65g10gr3gaifrzknsdgarwfdbjlvhzfs86075kyn";
+    hash = "0r8q73v26w3grj9n9wyrf65cq9w6pfzrmg9iswsy4jjb5r02bpr5";
     propagatedBuildInputs = [ async ];
     meta.description = "Distributed computing library";
   };
 
   async_shell = janePackage {
     name = "async_shell";
-    hash = "02clpz3xv3i5avzifwalylb9gfxzpgnr8bnlfsjixxfk2m7kvsj2";
+    hash = "1snkr944l3a627k23yh8f0lr900dpg2aym2l59fpp75s29pyk5md";
     propagatedBuildInputs = [ core_extended async ];
     meta = {
       description = "Shell helpers for Async";
@@ -434,7 +427,7 @@ rec {
 
   async_ssl = janePackage {
     name = "async_ssl";
-    hash = "01w3bg38q61lc3hfh8jsr0sy1ylyv0m6g6h9yvsk8ngj6qk70nss";
+    hash = "1cb9wpmgifa5vj9gadbav6bq6vxcm3g0jc6wxnkj3hgvnj35j2vy";
     propagatedBuildInputs = [ async ctypes openssl ];
     meta.description = "Async wrappers for SSL";
   };
@@ -443,21 +436,21 @@ rec {
 
   sexp_pretty = janePackage {
     name = "sexp_pretty";
-    hash = "1bx8va468j5b813m0vsh1jzgb6h2qnnjfmjlf2hb82sarv8lllfx";
+    hash = "106r91ahzdr8yvphs1s3ck8r89c4qhpcl9q6j5rbxrbihgb71i8d";
     propagatedBuildInputs = [ ppx_base re ];
     meta.description = "S-expression pretty-printer";
   };
 
   expect_test_helpers_kernel = janePackage {
     name = "expect_test_helpers_kernel";
-    hash = "1ycqir8sqgq5nialnrfg29nqn0cqg6jjpgv24drdycdhqf5r2zg6";
+    hash = "027pwfkdnz8rzgg9dqa4x2ir0zn8lav7gh64cih35r455xbfnvpr";
     propagatedBuildInputs = [ core_kernel sexp_pretty ];
     meta.description = "Helpers for writing expectation tests";
   };
 
   expect_test_helpers = janePackage {
     name = "expect_test_helpers";
-    hash = "0rsh6rwbqfcrqisk8jp7srlnicsadbzrs02ri6zyx0p3lmznw5r2";
+    hash = "0rzsgj8h73gx18sz1a1d3pbrjkb0vd6shl1h71n4xl05njcfb73r";
     propagatedBuildInputs = [ async expect_test_helpers_kernel ];
     meta.description = "Async helpers for writing expectation tests";
   };
@@ -466,28 +459,28 @@ rec {
 
   bignum = janePackage {
     name = "bignum";
-    hash = "0g80mzsi7vc1kq4mzha8y9nl95h6cd041vix3wjrqgkdvb1qd4f3";
-    propagatedBuildInputs = [ core_kernel zarith ];
+    hash = "0vs52aqq7pwazgv35zdd66c5v5ha1wrgrcmzc17c2qbswy8wcc37";
+    propagatedBuildInputs = [ core_kernel zarith num ];
     meta.description = "Core-flavoured wrapper around zarith's arbitrary-precision rationals";
   };
 
   cinaps = janePackage {
     name = "cinaps";
-    hash = "02fpjiwrygkpx2q4jfldhbqh0mqxmf955wizr8k4vmsq4wsis0p5";
+    hash = "1mwllcakvsirxpbwcqlglwqkiz8cks7vbjf1jvngs9703mx1xdcy";
     propagatedBuildInputs = [ re ];
     meta.description = "Trivial Metaprogramming tool using the OCaml toplevel";
   };
 
   command_rpc = janePackage {
     name = "command_rpc";
-    hash = "0w58z9jkz5qzbvf33wrzhfshzdvnrphj6dq8dmi52ykhfvxm7824";
+    hash = "0lq1vcz8qyyqabrz9isw2pw50663lwmq4w3187jp99ygar9lk5n2";
     propagatedBuildInputs = [ async ];
     meta.description = "Utilities for Versioned RPC communication with a child process over stdin and stdout";
   };
 
   core_bench = janePackage {
     name = "core_bench";
-    hash = "1m2q7217nmcsck29i59djkm0h6z3aj0i01niijzr5f6ilbnmyd3h";
+    hash = "1py68z848gj5wdmknqmzdb6zg65k5zchv6i6vzygi5nszn3zzwgc";
     propagatedBuildInputs = [ core_extended ];
     meta = {
       description = "Micro-benchmarking library for OCaml";
@@ -496,7 +489,7 @@ rec {
 
   core_profiler = janePackage {
     name = "core_profiler";
-    hash = "1ir2v3wdfbf5xzqcma16asc73mkx2q6dzq5y1bx6q1rpa7iznx44";
+    hash = "1vqkb8fzhs0k94k78whjnsznj85qa18kp0bq73mdkffz9562hdyr";
     propagatedBuildInputs = [ core_extended ];
     meta = {
       description = "Profiling library";
@@ -505,22 +498,22 @@ rec {
 
   csvfields = janePackage {
     name = "csvfields";
-    hash = "0lbvs1kwl22ryxhw6s089f6683hj2920bn518mvr22rnv7qijy0v";
-    propagatedBuildInputs = [ core ];
+    hash = "1qvcm2xkpw5ca5za2dfvz154h6kzm565wvynh7fffvrj2q719flm";
+    propagatedBuildInputs = [ core expect_test_helpers ];
     meta.description = "Runtime support for ppx_xml_conv and ppx_csv_conv";
   };
 
   ecaml = janePackage {
     name = "ecaml";
-    hash = "1a2534bzbwgpm71aj3sm71sm0lkcjdfjj1mk91p1pg9kxn8c5x4i";
-    propagatedBuildInputs = [ async ];
+    hash = "1h8m8nznsyc8md8f5rx3845lpl37ijqpxkpd52w92xy5hlc9bk1k";
+    propagatedBuildInputs = [ async expect_test_helpers_kernel ];
     meta.description = "Writing Emacs plugin in OCaml";
   };
 
   email_message = janePackage {
     name = "email_message";
-    hash = "0cpaf6wn5g883bxdz029bksvrfzih99m7hzbb30fhqglmpmmkniz";
-    propagatedBuildInputs = [ async core_extended cryptokit magic-mime ounit ];
+    hash = "0p56lak1ynqmimapsz529ankgdyd5yk90c0193q8fzv7fvvrzkzd";
+    propagatedBuildInputs = [ async angstrom core_extended cryptokit magic-mime ounit ];
     meta = {
       description = "E-mail message parser";
     };
@@ -528,28 +521,28 @@ rec {
 
   incremental_kernel = janePackage {
     name = "incremental_kernel";
-    hash = "0zq48wbgqcflh84n10iygi8aa3f0zzmgc7r0jwvsyg7i8zccgvf5";
+    hash = "15xw3l07fdqk5sla37fdvfnwykvq6fyrj9b2lwhc29rq0444m1yz";
     propagatedBuildInputs = [ core_kernel ];
     meta.description = "Library for incremental computations depending only on core_kernel";
   };
 
   incremental = janePackage {
     name = "incremental";
-    hash = "05sx8ia46v4dlvzcn7xgjcwxvbd0wmvv9r2bpvniapjnwr1nvcfh";
+    hash = "14hh7kxj70bpgylnx1fj3s5c40d12sgcb11cnh1xh7nwm190a9c2";
     propagatedBuildInputs = [ core incremental_kernel ];
     meta.description = "Library for incremental computations";
   };
 
   incr_map = janePackage {
     name = "incr_map";
-    hash = "0358qg9irxbbhn18laqww3mn43mdwvlbr0h2mvg3vdbb2c5jp4fv";
+    hash = "0s6c7f8a80s7bnjxcs7mdgm45i24d1j0vw4i2j884z1ssjrk33hw";
     propagatedBuildInputs = [ incremental_kernel ];
     meta.description = "Helpers for incremental operations on map like data structures";
   };
 
   ocaml_plugin = janePackage {
     name = "ocaml_plugin";
-    hash = "0q33swnlx9p1gcn1aj95501kapb7cnbzbsavid69csczwmzcxr14";
+    hash = "0b63ciajc9hcjs3pl0chlj475y60i3l5mjzaiqmyz1pryfqpri7r";
     buildInputs = [ ocamlbuild ];
     propagatedBuildInputs = [ async ];
     meta.description = "Automatically build and dynlink ocaml source files";
@@ -557,59 +550,57 @@ rec {
 
   parsexp = janePackage {
     name = "parsexp";
-    hash = "0brrifvnfqbfk873v6y5b2jixs2d73hpispj9r440kca5cfsv23b";
+    hash = "1k1z6kyp7c53l0wspz6qpvbb46bbr6aimnr06y6y1prxrpazm62w";
     propagatedBuildInputs = [ ppx_compare ppx_fields_conv ppx_js_style ppx_sexp_value ];
     meta.description = "S-expression parsing library";
   };
 
   parsexp_io = janePackage {
     name = "parsexp_io";
-    hash = "0gcmh4dg48xgszladq92yhk1hf492zf0smz462xrwknzlfdkz6a5";
+    hash = "0l9jrfm1zz0y6bfxla2s0fwjlvs9361ky83z3xwdlc48fgzks3a5";
     propagatedBuildInputs = [ parsexp ];
     meta.description = "S-expression parsing library (IO functions)";
   };
 
   patience_diff = janePackage {
     name = "patience_diff";
-    hash = "0vpx9xj1ich5qmj3m26vlmix3nsdj7pd1xzhqwbc7ad2kqwy3grg";
+    hash = "11ws6hsalmq7zc7wp37mj7zs3qaqkq4zlnwr06ybryv6vz62xj1l";
     propagatedBuildInputs = [ core_kernel ];
     meta.description = "Tool and library implementing patience diff";
   };
 
   posixat = janePackage {
     name = "posixat";
-    hash = "0ak93dyzi6sc6gb0j07fj85b24d8bv6g2hm7jj5xwb39kjwh51jl";
+    hash = "0dmjzbpbmzl94h4c1gk6k75wglnvk1kqcm4zs4nb9hy2ja8ldl9x";
     propagatedBuildInputs = [ ppx_sexp_conv ];
     meta.description = "Binding to the posix *at functions";
-    meta.broken = lib.versionAtLeast ocaml.version "4.05";
+  };
+
+  protocol_version_header = janePackage {
+    name = "protocol_version_header";
+    hash = "1vl1kfn8n1zdm3vh7228c58vprac4v7mpqks60k8rnzjj4w2mj1n";
+    propagatedBuildInputs = [ core_kernel ocaml-migrate-parsetree ];
+    meta.description = "Protocol aware version negotiation";
   };
 
   rpc_parallel = janePackage {
     name = "rpc_parallel";
-    hash = "0s72msl2p27bz0knjlpgy5qwp0w4z76cq801ps0sab35f8jjfs38";
+    hash = "01nyjqgdj351ykdaqqpaljwzac48x824lzfpma64lbp6plqmjlbf";
     propagatedBuildInputs = [ async ];
     meta.description = "Type-safe library for building parallel applications";
   };
 
   shexp = janePackage {
     name = "shexp";
-    hash = "1fkz4l9z4i0fz2kccd5blm2j9x2x4z6y1cn29wjmc3spqfxbq37y";
+    hash = "1ck5gcsdp93194bw6d1i116zplyaqrz1r36h6mvrw5x7i2549n9p";
     propagatedBuildInputs = [ posixat spawn ];
     meta.description = "Process library and s-expression based shell";
   };
 
   topological_sort = janePackage {
     name = "topological_sort";
-    hash = "1d64fyq0clsgham9p1f5rk01z8pxalglp92xmqw2iznyw0vxhvsy";
+    hash = "08w1dx30frj2bxxk8djl23cd43sassjkrmissyhagn9fmq2l904m";
     propagatedBuildInputs = [ core_kernel ];
     meta.description = "Topological sort algorithm";
   };
-
-  typerep_extended = janePackage {
-    name = "typerep_extended";
-    hash = "15gq8mrvlipd616rffr3f0wqw5d0ijnnizix610g2d5viirh0j9p";
-    propagatedBuildInputs = [ core_kernel ];
-    meta.description = "Runtime types for OCaml (Extended)";
-  };
-
 }
diff --git a/pkgs/development/ocaml-modules/janestreet/janePackage.nix b/pkgs/development/ocaml-modules/janestreet/janePackage.nix
index 6d6a4d71442..5cf22341b88 100644
--- a/pkgs/development/ocaml-modules/janestreet/janePackage.nix
+++ b/pkgs/development/ocaml-modules/janestreet/janePackage.nix
@@ -1,8 +1,8 @@
-{ stdenv, fetchFromGitHub, ocaml, jbuilder, findlib }:
+{ stdenv, fetchFromGitHub, ocaml, jbuilder, findlib, defaultVersion ? "0.10.0" }:
 
-{ name, version ? "0.9.0", buildInputs ? [], hash, meta, ...}@args:
+{ name, version ? defaultVersion, buildInputs ? [], hash, meta, ...}@args:
 
-if !stdenv.lib.versionAtLeast ocaml.version "4.03"
+if !stdenv.lib.versionAtLeast ocaml.version "4.04"
 then throw "${name}-${version} is not available for OCaml ${ocaml.version}" else
 
 stdenv.mkDerivation (args // {
diff --git a/pkgs/development/ocaml-modules/janestreet/old.nix b/pkgs/development/ocaml-modules/janestreet/old.nix
new file mode 100644
index 00000000000..27a65c50275
--- /dev/null
+++ b/pkgs/development/ocaml-modules/janestreet/old.nix
@@ -0,0 +1,615 @@
+{ stdenv, lib, janePackage, ocaml, ocamlbuild, cryptokit, ctypes, magic-mime,
+  ocaml-migrate-parsetree, octavius, ounit, ppx_deriving, re, zarith, num,
+  openssl }:
+
+rec {
+
+  # Jane Street packages, up to ppx_core
+
+  sexplib = janePackage {
+    name = "sexplib";
+    meta.description = "Automated S-expression conversion";
+    version = "0.10.0";
+    hash = "1agw649n0rnf6h4y2dr1zs1970nncxgjmf90848vbxv8y9im4yy2";
+    buildInputs = [ num ];
+  };
+
+  base = janePackage {
+    name = "base";
+    version = "0.9.4";
+    hash = "0x85xi66b4zwlbdwmyc99zcmawgpp75gxqbl55rr67awavw162rw";
+    propagatedBuildInputs = [ sexplib ];
+    meta.description = "Full standard library replacement for OCaml";
+  };
+
+  ocaml-compiler-libs = janePackage {
+    name = "ocaml-compiler-libs";
+    hash = "1jz3nfrb6295sj4xj1j0zld8mhfj0xy2k4vlp9yf9sh3748n090l";
+    meta.description = "OCaml compiler libraries repackaged";
+  };
+
+  ppx_ast = janePackage ({
+    name = "ppx_ast";
+    propagatedBuildInputs = [ ocaml-compiler-libs ocaml-migrate-parsetree ];
+    meta.description = "OCaml AST used by Jane Street ppx rewriters";
+  } // (if lib.versionAtLeast ocaml.version "4.06"
+    then {
+      version = "0.9.2";
+      hash = "1h4qf26rg23z21rrw83fakiavw9km7174p3830pg0gg4bwakvba0";
+    } else {
+      version = "0.9.1";
+      hash = "0a9rxwavy2748k0yd4db3hg1ypq7mpqnwq9si5a5qdiclgkhcggw";
+    }
+  ));
+
+  ppx_traverse_builtins = janePackage {
+    name = "ppx_traverse_builtins";
+    hash = "10ajvz02ka6qimlfrq7py4ljhk8awqkga6240kn8j046b4xfyxzi";
+    meta.description = "Builtins for Ppx_traverse";
+  };
+
+  stdio = janePackage {
+    name = "stdio";
+    version = "0.9.1";
+    hash = "13rj3ii0rvmklfim9ild0ib44ssdadig7a9ccjbz22m0pw84a1sx";
+    propagatedBuildInputs = [ base ];
+    meta.description = "Standard IO library for OCaml";
+  };
+
+  ppx_core = janePackage {
+    name = "ppx_core";
+    hash = "15400zxxkqdimmjpdjcs36gcbxbrhylmaczlzwd6x65v1h9aydz3";
+    propagatedBuildInputs = [ ppx_ast ppx_traverse_builtins stdio ];
+    meta.description = "Jane Street's standard library for ppx rewriters";
+  };
+
+  # Jane Street packages, up to ppx_base
+
+  ppx_optcomp = janePackage {
+    name = "ppx_optcomp";
+    hash = "1wfj6fnh92s81yncq7yyhmax7j6zpjj1sg1f3qa1f9c5kf4kkzrd";
+    propagatedBuildInputs = [ ppx_core ];
+    meta.description = "Optional compilation for OCaml";
+  };
+
+  ppx_driver = janePackage {
+    name = "ppx_driver";
+    version = "0.9.1";
+    hash = "1amz49x6v4sh1v2my6618cah0zv5i7jmsapbk9ydps6419g5asay";
+    buildInputs = [ ocamlbuild ];
+    propagatedBuildInputs = [ ppx_optcomp ];
+    meta.description = "Feature-full driver for OCaml AST transformers";
+  };
+
+  ppx_metaquot = janePackage {
+    name = "ppx_metaquot";
+    hash = "15qfd3s4x2pz006nx5316laxd3gqqi472x432qg4rfx4yh3vn31k";
+    propagatedBuildInputs = [ ppx_driver ];
+    meta.description = "Metaquotations for ppx_ast";
+  };
+
+  ppx_type_conv = janePackage {
+    name = "ppx_type_conv";
+    hash = "0a0gxjvjiql9vg37k0akn8xr5724nv3xb7v37xpidv7ld927ks7p";
+    propagatedBuildInputs = [ ppx_metaquot ppx_deriving ];
+    meta.description = "Support Library for type-driven code generators";
+  };
+
+  ppx_sexp_conv = janePackage {
+    name = "ppx_sexp_conv";
+    hash = "03cg2sym0wvpd5l7q4w9bclp589z5byygwsmnnq9h1ih56cmd55l";
+    propagatedBuildInputs = [ ppx_type_conv sexplib ];
+    meta.description = "Generation of S-expression conversion functions from type definitions";
+  };
+
+  ppx_compare = janePackage {
+    name = "ppx_compare";
+    hash = "0wrszpvn1nms5sb5rb29p7z1wmqyd15gfzdj4ax8f843p5ywx3w9";
+    propagatedBuildInputs = [ ppx_type_conv ];
+    meta.description = "Generation of comparison functions from types";
+  };
+
+  ppx_enumerate = janePackage {
+    name = "ppx_enumerate";
+    hash = "1dfy86j2z12p5n9yrwaakx1ngphs5246vxy279kz6i6j34cwxm46";
+    propagatedBuildInputs = [ ppx_type_conv ];
+    meta.description = "Generate a list containing all values of a finite type";
+  };
+
+  ppx_hash = janePackage {
+    name = "ppx_hash";
+    hash = "1w1riy2sqd9i611sc5f5z2rqqgjl2gvvkzi5xibpv309nacnl01d";
+    propagatedBuildInputs = [ ppx_compare ppx_sexp_conv ];
+    meta.description = "A ppx rewriter that generates hash functions from type expressions and definitions";
+  };
+
+  ppx_js_style = janePackage {
+    name = "ppx_js_style";
+    hash = "09k02b1l2r7svf9l3ls69h8xydsyiang2ziigxnny2i7gy7b0w59";
+    propagatedBuildInputs = [ ppx_metaquot octavius ];
+    meta.description = "Code style checker for Jane Street Packages";
+  };
+
+  ppx_base = janePackage {
+    name = "ppx_base";
+    hash = "0qikfzbkd2wyxfrvizz6rgi6vg4ykvxkivacj4gr178dbgfl5if3";
+    propagatedBuildInputs = [ ppx_enumerate ppx_hash ppx_js_style ];
+    meta.description = "Base set of ppx rewriters";
+  };
+
+  # Jane Street packages, up to ppx_bin_prot
+
+  fieldslib = janePackage {
+    name = "fieldslib";
+    hash = "1wxh59888l1bfz9ipnbcas58gwg744icaixzdbsg4v8f7wymc501";
+    propagatedBuildInputs = [ ppx_driver ];
+    meta.description = "OCaml record fields as first class values";
+  };
+
+  variantslib = janePackage {
+    name = "variantslib";
+    hash = "0kj53n62193j58q9vip8lfhhyf6w9d25wyvxzc163hx5m68yw0fz";
+    propagatedBuildInputs = [ ppx_driver ];
+    meta.description = "OCaml variants as first class values";
+  };
+
+  ppx_traverse = janePackage {
+    name = "ppx_traverse";
+    hash = "1sdqgwyq0w71i03vhc5jq4jk6rsbgwhvain48fnrllpkb5kj2la2";
+    propagatedBuildInputs = [ ppx_type_conv ];
+    meta.description = "Automatic generation of open recursion classes";
+  };
+
+  ppx_custom_printf = janePackage {
+    name = "ppx_custom_printf";
+    hash = "0cjy2c2c5g3qxqvwx1yb6p7kbmmpnpb1hll55f7a44x215lg8x19";
+    propagatedBuildInputs = [ ppx_sexp_conv ppx_traverse ];
+    meta.description = "Printf-style format-strings for user-defined string conversion";
+  };
+
+  ppx_fields_conv = janePackage {
+    name = "ppx_fields_conv";
+    hash = "0qp8zgmk58iskzrkf4g06i471kg6lrh3wqpy9klrb8pp9mg0xr9z";
+    propagatedBuildInputs = [ fieldslib ppx_type_conv ];
+    meta.description = "Generation of accessor and iteration functions for OCaml records";
+  };
+
+  ppx_variants_conv = janePackage {
+    name = "ppx_variants_conv";
+    hash = "1xayhyglgbdjqvb9123kjbwjcv0a3n3302nb0j7g8gmja8w5y834";
+    propagatedBuildInputs = [ ppx_type_conv variantslib ];
+    meta.description = "Generation of accessor and iteration functions for OCaml variant types";
+  };
+
+  bin_prot = janePackage {
+    name = "bin_prot";
+    version = "0.9.1";
+    hash = "1bgcmkgz6b5i522996x589zsaiy5b3h37887lwbqvpps8by2ayvk";
+    propagatedBuildInputs = [ ppx_compare ppx_custom_printf ppx_fields_conv ppx_variants_conv ];
+    meta.description = "Binary protocol generator";
+  };
+
+  ppx_here = janePackage {
+    name = "ppx_here";
+    hash = "0pjscw5ydxgy4fcxakgsazpp09ka057w5n2fp2dpkv2k5gil6rzh";
+    propagatedBuildInputs = [ ppx_driver ];
+    meta.description = "Expands [%here] into its location";
+  };
+
+  ppx_bin_prot = janePackage {
+    name = "ppx_bin_prot";
+    hash = "0qw9zqrc5yngzrzpk9awnlnd68xrb7wz5lq807c80ibxk0xvnqn3";
+    propagatedBuildInputs = [ ppx_here bin_prot ];
+    meta.description = "Generation of bin_prot readers and writers from types";
+  };
+
+  # Jane Street packages, up to ppx_jane
+
+  ppx_assert = janePackage {
+    name = "ppx_assert";
+    hash = "1s5c75wkc46nlcwmgic5h7f439s26ssrzrcil501c5kpib2hlv6z";
+    propagatedBuildInputs = [ ppx_sexp_conv ppx_here ppx_compare ];
+    meta.description = "Assert-like extension nodes that raise useful errors on failure";
+  };
+
+  ppx_inline_test = janePackage {
+    name = "ppx_inline_test";
+    version = "0.9.2";
+    hash = "17j36ihiqprbpa2bk02449k93vaidid2sly5djrk848ccjq8n5aa";
+    propagatedBuildInputs = [ ppx_metaquot ];
+    meta.description = "Syntax extension for writing in-line tests in OCaml code";
+  };
+
+  typerep = janePackage {
+    name = "typerep";
+    hash = "0hlc0xiznli1k6azv2mhm1s4xghhxqqd957np7828bfp7r8n2jy3";
+    propagatedBuildInputs = [ base ];
+    meta.description = "Runtime types for OCaml";
+  };
+
+  ppx_bench = janePackage {
+    name = "ppx_bench";
+    hash = "1qk4y6c2mpw7bqjppi2nam74vs2sc89wzq162j92wsqxyqsv4p93";
+    propagatedBuildInputs = [ ppx_inline_test ];
+    meta.description = "Syntax extension for writing in-line benchmarks in OCaml code";
+  };
+
+  ppx_expect = janePackage {
+    name = "ppx_expect";
+    hash = "1bik53k51wcqv088f0h10n3ms9h51yvg6ha3g1s903i2bxr3xs6b";
+    propagatedBuildInputs = [ ppx_inline_test ppx_fields_conv ppx_custom_printf ppx_assert ppx_variants_conv re ];
+    meta.description = "Cram like framework for OCaml";
+  };
+
+  ppx_fail = janePackage {
+    name = "ppx_fail";
+    hash = "0qz0vlazasjyg7cv3iwpzxlvsah3zmn9dzd029xxqr1bji067s32";
+    propagatedBuildInputs = [ ppx_here ppx_metaquot ];
+    meta.description = "Add location to calls to failwiths";
+  };
+
+  ppx_let = janePackage {
+    name = "ppx_let";
+    hash = "1b914a5nynwxjvfx42v61yigvjhnd548m4yqjfchf38dmqi1f4nr";
+    propagatedBuildInputs = [ ppx_driver ];
+    meta.description = "Monadic let-bindings";
+  };
+
+  ppx_optional = janePackage {
+    name = "ppx_optional";
+    hash = "1vknsarxba0zcp5k2jb31wfpvqrv3bpanxbahfl5s2fwspsfdc82";
+    propagatedBuildInputs = [ ppx_metaquot ];
+    meta.description = "Pattern matching on flat options";
+  };
+
+  ppx_pipebang = janePackage {
+    name = "ppx_pipebang";
+    hash = "1wyfyyjvyi94ds1p90l60wdr85q2v3fq1qdf3gnv9zjfy6sb0g9h";
+    propagatedBuildInputs = [ ppx_metaquot ];
+    meta.description = "A ppx rewriter that inlines reverse application operators |> and |!";
+  };
+
+  ppx_sexp_message = janePackage {
+    name = "ppx_sexp_message";
+    hash = "0r0skyr1zf2jh48xrxbs45gzywynhlivkq24xwc0qq435fmc2jqv";
+    propagatedBuildInputs = [ ppx_sexp_conv ppx_here ];
+    meta.description = "A ppx rewriter for easy construction of s-expressions";
+  };
+
+  ppx_sexp_value = janePackage {
+    name = "ppx_sexp_value";
+    hash = "0hha5mmx700m8fy9g4znb8278l09chgwlpshny83vsmmzgq2jhah";
+    propagatedBuildInputs = [ ppx_sexp_conv ppx_here ];
+    meta.description = "A ppx rewriter that simplifies building s-expressions from OCaml values";
+  };
+
+  ppx_typerep_conv = janePackage {
+    name = "ppx_typerep_conv";
+    hash = "0bzgfpbqijwxm8x9jq1zb4xi5sbzymk17lw5rylri3hf84p60aq1";
+    propagatedBuildInputs = [ ppx_type_conv typerep ];
+    meta.description = "Generation of runtime types from type declarations";
+  };
+
+  ppx_jane = janePackage {
+    name = "ppx_jane";
+    hash = "16m5iw0qyp452nqj83kd0g0x3rw40lrz7392hwpd4di1wi6v2qzc";
+    propagatedBuildInputs = [ ppx_base ppx_bench ppx_bin_prot ppx_expect ppx_fail ppx_let ppx_optional ppx_pipebang ppx_sexp_message ppx_sexp_value ppx_typerep_conv ];
+    meta.description = "Standard Jane Street ppx rewriters";
+  };
+
+  # Jane Street packages, up to core
+
+  configurator = janePackage {
+    name = "configurator";
+    version = "0.9.1";
+    hash = "1q0s0ghcrcrxdj6zr9zr27g7sr4qr9l14kizjphwqwwvgbzawdix";
+    propagatedBuildInputs = [ ppx_base ];
+    meta.description = "Helper library for gathering system configuration";
+  };
+
+  jane-street-headers = janePackage {
+    name = "jane-street-headers";
+    hash = "0cdab6sblsidjbwvyvmspykyhqh44rpsjzi2djbfd5m4vh2h14gy";
+    meta.description = "Jane Street header files";
+  };
+
+  core_kernel = janePackage {
+    name = "core_kernel";
+    hash = "05iwvggx9m81x7ijgv9gcv5znf5rmsmb76dg909bm9gkr3hbh7wh";
+    propagatedBuildInputs = [ configurator jane-street-headers ppx_jane ];
+    meta.description = "Jane Street's standard library overlay (kernel)";
+  };
+
+  spawn = janePackage {
+    name = "spawn";
+    hash = "1w53b8ni06ajj62yaqjy0pkbm952l0m5fzr088yk15078qaxsnb5";
+    meta.description = "Spawning sub-processes";
+  };
+
+  core = janePackage {
+    name = "core";
+    version = "0.9.1";
+    hash = "1643r0namsgj8xwfr9niimcdwyyq4ddiwd02d73ipb4a8710aqi8";
+    propagatedBuildInputs = [ core_kernel spawn ];
+    meta.description = "Jane Street's standard library overlay";
+  };
+
+  # Jane Street packages, up to core_extended
+
+  re2 = janePackage {
+    name = "re2";
+    hash = "1qmhl3yd6y0lq401rz72b1bsbpglb0wighpxn3x8y1ixq415p4xi";
+    propagatedBuildInputs = [ core_kernel ];
+    meta = {
+      description = "OCaml bindings for RE2";
+      broken = stdenv.isDarwin;
+    };
+  };
+
+  textutils = janePackage {
+    name = "textutils";
+    hash = "1y6j2qw7rc8d80343lfv1dygnfrhn2qllz57mx28pl5kan743f6d";
+    propagatedBuildInputs = [ core ];
+    meta.description = "Text output utilities";
+  };
+
+  core_extended = janePackage {
+    name = "core_extended";
+    hash = "05cnzzj0kigz9c9gsmd6mfar82wmkbqm9qzrydb80sy2fz5b30rk";
+    propagatedBuildInputs = [ core re2 textutils ];
+    postPatch = ''
+      patchShebangs src/discover.sh
+    '';
+    meta = {
+      description = "Jane Street Capital's standard library overlay";
+    };
+  };
+
+  # Jane Street async packages
+
+  async_kernel = janePackage {
+    name = "async_kernel";
+    hash = "1zwxhzy7f9900rcjls2fql9cpfmwrcah3fazzdz4h2i51f41w62x";
+    propagatedBuildInputs = [ core_kernel ];
+    meta.description = "Jane Street Capital's asynchronous execution library (core)";
+  };
+
+  async_rpc_kernel = janePackage {
+    name = "async_rpc_kernel";
+    hash = "1xk3s6s3xkj182p10kig2cqy8md6znif3v661h9cd02n8s57c40b";
+    propagatedBuildInputs = [ core_kernel async_kernel ];
+    meta.description = "Platform-independent core of Async RPC library";
+  };
+
+  async_unix = janePackage {
+    name = "async_unix";
+    hash = "0yd4z28j5vdj2zxqi0fkgh2ic1s9h740is2dk0raga0zr5a1z03d";
+    propagatedBuildInputs = [ core async_kernel ];
+    meta.description = "Jane Street Capital's asynchronous execution library (unix)";
+  };
+
+  async_extra = janePackage {
+    name = "async_extra";
+    hash = "0rpy5lc5dh5mir7flq1jrppd8imby8wyw191yg4nmklg28xp5sx0";
+    propagatedBuildInputs = [ async_rpc_kernel async_unix ];
+    meta.description = "Jane Street's asynchronous execution library (extra)";
+  };
+
+  async = janePackage {
+    name = "async";
+    hash = "10ykzym19srgdiikj0s74dndx5nk15hjq1r2hc61iz48f6caxkb1";
+    propagatedBuildInputs = [ async_extra ];
+    meta.description = "Jane Street Capital's asynchronous execution library";
+  };
+
+  async_find = janePackage {
+    name = "async_find";
+    hash = "11dmhdzgf5kn4m0cm6zr28wpwhi2kr4lak9nmgxbrxsq28bcncxq";
+    propagatedBuildInputs = [ async ];
+    meta.description = "Directory traversal with Async";
+  };
+
+  async_interactive = janePackage {
+    name = "async_interactive";
+    hash = "1mmqqp6bi2wg7bmgf0sw34jn3iyl5kbm200dax8yqq6rfprcs49j";
+    propagatedBuildInputs = [ async ];
+    meta.description = "Utilities for building simple command-line based user interfaces";
+  };
+
+  async_parallel = janePackage {
+    name = "async_parallel";
+    hash = "0mdprhr1pv4g65g10gr3gaifrzknsdgarwfdbjlvhzfs86075kyn";
+    propagatedBuildInputs = [ async ];
+    meta.description = "Distributed computing library";
+  };
+
+  async_shell = janePackage {
+    name = "async_shell";
+    hash = "02clpz3xv3i5avzifwalylb9gfxzpgnr8bnlfsjixxfk2m7kvsj2";
+    propagatedBuildInputs = [ core_extended async ];
+    meta = {
+      description = "Shell helpers for Async";
+    };
+  };
+
+  async_ssl = janePackage {
+    name = "async_ssl";
+    hash = "01w3bg38q61lc3hfh8jsr0sy1ylyv0m6g6h9yvsk8ngj6qk70nss";
+    propagatedBuildInputs = [ async ctypes openssl ];
+    meta.description = "Async wrappers for SSL";
+  };
+
+  # Jane Street packages, up to expect_test_helpers
+
+  sexp_pretty = janePackage {
+    name = "sexp_pretty";
+    hash = "1bx8va468j5b813m0vsh1jzgb6h2qnnjfmjlf2hb82sarv8lllfx";
+    propagatedBuildInputs = [ ppx_base re ];
+    meta.description = "S-expression pretty-printer";
+  };
+
+  expect_test_helpers_kernel = janePackage {
+    name = "expect_test_helpers_kernel";
+    hash = "1ycqir8sqgq5nialnrfg29nqn0cqg6jjpgv24drdycdhqf5r2zg6";
+    propagatedBuildInputs = [ core_kernel sexp_pretty ];
+    meta.description = "Helpers for writing expectation tests";
+  };
+
+  expect_test_helpers = janePackage {
+    name = "expect_test_helpers";
+    hash = "0rsh6rwbqfcrqisk8jp7srlnicsadbzrs02ri6zyx0p3lmznw5r2";
+    propagatedBuildInputs = [ async expect_test_helpers_kernel ];
+    meta.description = "Async helpers for writing expectation tests";
+  };
+
+  # Miscellaneous Jane Street packages
+
+  bignum = janePackage {
+    name = "bignum";
+    hash = "0g80mzsi7vc1kq4mzha8y9nl95h6cd041vix3wjrqgkdvb1qd4f3";
+    propagatedBuildInputs = [ core_kernel zarith ];
+    meta.description = "Core-flavoured wrapper around zarith's arbitrary-precision rationals";
+  };
+
+  cinaps = janePackage {
+    name = "cinaps";
+    hash = "02fpjiwrygkpx2q4jfldhbqh0mqxmf955wizr8k4vmsq4wsis0p5";
+    propagatedBuildInputs = [ re ];
+    meta.description = "Trivial Metaprogramming tool using the OCaml toplevel";
+  };
+
+  command_rpc = janePackage {
+    name = "command_rpc";
+    hash = "0w58z9jkz5qzbvf33wrzhfshzdvnrphj6dq8dmi52ykhfvxm7824";
+    propagatedBuildInputs = [ async ];
+    meta.description = "Utilities for Versioned RPC communication with a child process over stdin and stdout";
+  };
+
+  core_bench = janePackage {
+    name = "core_bench";
+    hash = "1m2q7217nmcsck29i59djkm0h6z3aj0i01niijzr5f6ilbnmyd3h";
+    propagatedBuildInputs = [ core_extended ];
+    meta = {
+      description = "Micro-benchmarking library for OCaml";
+    };
+  };
+
+  core_profiler = janePackage {
+    name = "core_profiler";
+    hash = "1ir2v3wdfbf5xzqcma16asc73mkx2q6dzq5y1bx6q1rpa7iznx44";
+    propagatedBuildInputs = [ core_extended ];
+    meta = {
+      description = "Profiling library";
+    };
+  };
+
+  csvfields = janePackage {
+    name = "csvfields";
+    hash = "0lbvs1kwl22ryxhw6s089f6683hj2920bn518mvr22rnv7qijy0v";
+    propagatedBuildInputs = [ core ];
+    meta.description = "Runtime support for ppx_xml_conv and ppx_csv_conv";
+  };
+
+  ecaml = janePackage {
+    name = "ecaml";
+    hash = "1a2534bzbwgpm71aj3sm71sm0lkcjdfjj1mk91p1pg9kxn8c5x4i";
+    propagatedBuildInputs = [ async ];
+    meta.description = "Writing Emacs plugin in OCaml";
+  };
+
+  email_message = janePackage {
+    name = "email_message";
+    hash = "0cpaf6wn5g883bxdz029bksvrfzih99m7hzbb30fhqglmpmmkniz";
+    propagatedBuildInputs = [ async core_extended cryptokit magic-mime ounit ];
+    meta = {
+      description = "E-mail message parser";
+    };
+  };
+
+  incremental_kernel = janePackage {
+    name = "incremental_kernel";
+    hash = "0zq48wbgqcflh84n10iygi8aa3f0zzmgc7r0jwvsyg7i8zccgvf5";
+    propagatedBuildInputs = [ core_kernel ];
+    meta.description = "Library for incremental computations depending only on core_kernel";
+  };
+
+  incremental = janePackage {
+    name = "incremental";
+    hash = "05sx8ia46v4dlvzcn7xgjcwxvbd0wmvv9r2bpvniapjnwr1nvcfh";
+    propagatedBuildInputs = [ core incremental_kernel ];
+    meta.description = "Library for incremental computations";
+  };
+
+  incr_map = janePackage {
+    name = "incr_map";
+    hash = "0358qg9irxbbhn18laqww3mn43mdwvlbr0h2mvg3vdbb2c5jp4fv";
+    propagatedBuildInputs = [ incremental_kernel ];
+    meta.description = "Helpers for incremental operations on map like data structures";
+  };
+
+  ocaml_plugin = janePackage {
+    name = "ocaml_plugin";
+    hash = "0q33swnlx9p1gcn1aj95501kapb7cnbzbsavid69csczwmzcxr14";
+    buildInputs = [ ocamlbuild ];
+    propagatedBuildInputs = [ async ];
+    meta.description = "Automatically build and dynlink ocaml source files";
+  };
+
+  parsexp = janePackage {
+    name = "parsexp";
+    hash = "0brrifvnfqbfk873v6y5b2jixs2d73hpispj9r440kca5cfsv23b";
+    propagatedBuildInputs = [ ppx_compare ppx_fields_conv ppx_js_style ppx_sexp_value ];
+    meta.description = "S-expression parsing library";
+  };
+
+  parsexp_io = janePackage {
+    name = "parsexp_io";
+    hash = "0gcmh4dg48xgszladq92yhk1hf492zf0smz462xrwknzlfdkz6a5";
+    propagatedBuildInputs = [ parsexp ];
+    meta.description = "S-expression parsing library (IO functions)";
+  };
+
+  patience_diff = janePackage {
+    name = "patience_diff";
+    hash = "0vpx9xj1ich5qmj3m26vlmix3nsdj7pd1xzhqwbc7ad2kqwy3grg";
+    propagatedBuildInputs = [ core_kernel ];
+    meta.description = "Tool and library implementing patience diff";
+  };
+
+  posixat = janePackage {
+    name = "posixat";
+    hash = "0ak93dyzi6sc6gb0j07fj85b24d8bv6g2hm7jj5xwb39kjwh51jl";
+    propagatedBuildInputs = [ ppx_sexp_conv ];
+    meta.description = "Binding to the posix *at functions";
+    meta.broken = lib.versionAtLeast ocaml.version "4.05";
+  };
+
+  rpc_parallel = janePackage {
+    name = "rpc_parallel";
+    hash = "0s72msl2p27bz0knjlpgy5qwp0w4z76cq801ps0sab35f8jjfs38";
+    propagatedBuildInputs = [ async ];
+    meta.description = "Type-safe library for building parallel applications";
+  };
+
+  shexp = janePackage {
+    name = "shexp";
+    hash = "1fkz4l9z4i0fz2kccd5blm2j9x2x4z6y1cn29wjmc3spqfxbq37y";
+    propagatedBuildInputs = [ posixat spawn ];
+    meta.description = "Process library and s-expression based shell";
+  };
+
+  topological_sort = janePackage {
+    name = "topological_sort";
+    hash = "1d64fyq0clsgham9p1f5rk01z8pxalglp92xmqw2iznyw0vxhvsy";
+    propagatedBuildInputs = [ core_kernel ];
+    meta.description = "Topological sort algorithm";
+  };
+
+  typerep_extended = janePackage {
+    name = "typerep_extended";
+    hash = "15gq8mrvlipd616rffr3f0wqw5d0ijnnizix610g2d5viirh0j9p";
+    propagatedBuildInputs = [ core_kernel ];
+    meta.description = "Runtime types for OCaml (Extended)";
+  };
+
+}
diff --git a/pkgs/development/ocaml-modules/lwt/default.nix b/pkgs/development/ocaml-modules/lwt/default.nix
index 53ba904f628..37bcff375ea 100644
--- a/pkgs/development/ocaml-modules/lwt/default.nix
+++ b/pkgs/development/ocaml-modules/lwt/default.nix
@@ -1,57 +1,36 @@
-{ stdenv, buildOcaml, fetchzip, which, cryptopp, ocaml, findlib, ocamlbuild, camlp4
-, react, ssl, libev, pkgconfig, ncurses, glib
-, ppx_tools, result, cppo
-, ppxSupport ? stdenv.lib.versionAtLeast ocaml.version "4.02"
-, version ? if stdenv.lib.versionAtLeast ocaml.version "4.02" then "2.7.1" else "2.6.0"
+{ stdenv, fetchzip, pkgconfig, ncurses, libev, jbuilder
+, ocaml, findlib, camlp4, cppo
+, ocaml-migrate-parsetree, ppx_tools_versioned, result
 }:
 
-if !stdenv.lib.versionAtLeast ocaml.version "4"
-then throw "lwt is not available for OCaml ${ocaml.version}"
-else
-
-let sha256 = {
-  "3.0.0" = "0wwhnl9hppixcsdisinj1wmffx0nv6hkpm01z9qvkngkrazi3i88";
-  "2.7.1" = "0w7f59havrl2fsnvs84lm7wlqpsrldg80gy5afpnpr21zkw22g8w";
-  "2.6.0" = "0f1h83zh60rspm4fxd96z9h5bkhq1n1q968hgq92sq4a6bfi1c2w";
-}."${version}"; in
-
-let optionals = stdenv.lib.optionals (!stdenv.lib.versionAtLeast version "3"); in
-
-buildOcaml rec {
-  name = "lwt";
-  inherit version;
+stdenv.mkDerivation rec {
+  version = "3.3.0";
+  name = "ocaml${ocaml.version}-lwt-${version}";
 
   src = fetchzip {
     url = "https://github.com/ocsigen/lwt/archive/${version}.tar.gz";
-    inherit sha256;
+    sha256 = "0n87hcyl4svy0risj439wyfq6bl77qxq3nraqgdr1qbz5lskbq2j";
   };
 
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ which cryptopp ocaml findlib ocamlbuild glib ncurses camlp4 cppo ]
-  ++ stdenv.lib.optional ppxSupport ppx_tools;
-
-  propagatedBuildInputs = [ result ]
-  ++ optionals [ react ssl ]
-  ++ [ libev ];
+  preConfigure = ''
+    ocaml src/util/configure.ml -use-libev true -use-camlp4 true
+  '';
 
-  configureScript = "ocaml setup.ml -configure";
-  prefixKey = "--prefix ";
-  configureFlags =
-  optionals [ "--enable-glib" "--enable-ssl" "--enable-react" ]
-  ++ [ "--enable-camlp4" ]
-  ++ [ (if ppxSupport then "--enable-ppx" else "--disable-ppx") ];
-
-  createFindlibDestdir = true;
-
-  hasSharedObjects = true;
-
-  meta = with stdenv.lib; {
-    homepage = http://ocsigen.org/lwt;
-    description = "Lightweight thread library for Objective Caml";
-    license = licenses.lgpl21;
-    platforms = ocaml.meta.platforms or [];
-    maintainers = with maintainers; [
-      z77z vbgl gal_bolle
-    ];
+  nativeBuildInputs = [ pkgconfig ];
+  buildInputs = [ ncurses ocaml findlib jbuilder camlp4 cppo
+    ocaml-migrate-parsetree ppx_tools_versioned ];
+  propagatedBuildInputs = [ libev result ];
+
+  installPhase = ''
+    ocaml src/util/install_filter.ml
+    ${jbuilder.installPhase}
+  '';
+
+  meta = {
+    homepage = "https://ocsigen.org/lwt/";
+    description = "A cooperative threads library for OCaml";
+    maintainers = [ stdenv.lib.maintainers.vbgl ];
+    license = stdenv.lib.licenses.lgpl21;
+    inherit (ocaml.meta) platforms;
   };
 }
diff --git a/pkgs/development/ocaml-modules/lwt/legacy.nix b/pkgs/development/ocaml-modules/lwt/legacy.nix
new file mode 100644
index 00000000000..53ba904f628
--- /dev/null
+++ b/pkgs/development/ocaml-modules/lwt/legacy.nix
@@ -0,0 +1,57 @@
+{ stdenv, buildOcaml, fetchzip, which, cryptopp, ocaml, findlib, ocamlbuild, camlp4
+, react, ssl, libev, pkgconfig, ncurses, glib
+, ppx_tools, result, cppo
+, ppxSupport ? stdenv.lib.versionAtLeast ocaml.version "4.02"
+, version ? if stdenv.lib.versionAtLeast ocaml.version "4.02" then "2.7.1" else "2.6.0"
+}:
+
+if !stdenv.lib.versionAtLeast ocaml.version "4"
+then throw "lwt is not available for OCaml ${ocaml.version}"
+else
+
+let sha256 = {
+  "3.0.0" = "0wwhnl9hppixcsdisinj1wmffx0nv6hkpm01z9qvkngkrazi3i88";
+  "2.7.1" = "0w7f59havrl2fsnvs84lm7wlqpsrldg80gy5afpnpr21zkw22g8w";
+  "2.6.0" = "0f1h83zh60rspm4fxd96z9h5bkhq1n1q968hgq92sq4a6bfi1c2w";
+}."${version}"; in
+
+let optionals = stdenv.lib.optionals (!stdenv.lib.versionAtLeast version "3"); in
+
+buildOcaml rec {
+  name = "lwt";
+  inherit version;
+
+  src = fetchzip {
+    url = "https://github.com/ocsigen/lwt/archive/${version}.tar.gz";
+    inherit sha256;
+  };
+
+  nativeBuildInputs = [ pkgconfig ];
+  buildInputs = [ which cryptopp ocaml findlib ocamlbuild glib ncurses camlp4 cppo ]
+  ++ stdenv.lib.optional ppxSupport ppx_tools;
+
+  propagatedBuildInputs = [ result ]
+  ++ optionals [ react ssl ]
+  ++ [ libev ];
+
+  configureScript = "ocaml setup.ml -configure";
+  prefixKey = "--prefix ";
+  configureFlags =
+  optionals [ "--enable-glib" "--enable-ssl" "--enable-react" ]
+  ++ [ "--enable-camlp4" ]
+  ++ [ (if ppxSupport then "--enable-ppx" else "--disable-ppx") ];
+
+  createFindlibDestdir = true;
+
+  hasSharedObjects = true;
+
+  meta = with stdenv.lib; {
+    homepage = http://ocsigen.org/lwt;
+    description = "Lightweight thread library for Objective Caml";
+    license = licenses.lgpl21;
+    platforms = ocaml.meta.platforms or [];
+    maintainers = with maintainers; [
+      z77z vbgl gal_bolle
+    ];
+  };
+}
diff --git a/pkgs/development/ocaml-modules/lwt/ppx.nix b/pkgs/development/ocaml-modules/lwt/ppx.nix
new file mode 100644
index 00000000000..3cf08d06f1e
--- /dev/null
+++ b/pkgs/development/ocaml-modules/lwt/ppx.nix
@@ -0,0 +1,19 @@
+{ stdenv, jbuilder, ocaml, findlib, lwt, ppx_tools_versioned }:
+
+stdenv.mkDerivation {
+  name = "ocaml${ocaml.version}-lwt_ppx-${lwt.version}";
+
+  inherit (lwt) src;
+
+  buildInputs = [ jbuilder ocaml findlib ppx_tools_versioned ];
+
+  propagatedBuildInputs = [ lwt ];
+
+  buildPhase = "jbuilder build -p lwt_ppx";
+  installPhase = "${jbuilder.installPhase} lwt_ppx.install";
+
+  meta = {
+    description = "Ppx syntax extension for Lwt";
+    inherit (lwt.meta) license platforms homepage maintainers;
+  };
+}
diff --git a/pkgs/development/ocaml-modules/ocaml-libvirt/default.nix b/pkgs/development/ocaml-modules/ocaml-libvirt/default.nix
index 0ad5d09d687..b789b133aaf 100644
--- a/pkgs/development/ocaml-modules/ocaml-libvirt/default.nix
+++ b/pkgs/development/ocaml-modules/ocaml-libvirt/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "ocaml-libvirt-${version}";
-  rev = "3169af3";
-  version = "0.6.1.4-rev.${rev}"; # libguestfs-1.34 needs ocaml-libvirt newer than the latest release 0.6.1.4
+  rev = "bab7f84ade84ceaddb08b6948792d49b3d04b897";
+  version = "0.6.1.4.2017-11-08-unstable"; # libguestfs-1.34+ needs ocaml-libvirt newer than the latest release 0.6.1.4
 
   src = fetchgit {
     url = "git://git.annexia.org/git/ocaml-libvirt.git";
     rev = rev;
-    sha256 = "0z8p6q6k42rdrvy248siq922m1yszny1hfklf6djynvk2viyqdbg";
+    sha256 = "0vxgx1n58fp4qmly6i5zxiacr7303127d6j78a295xin1p3a8xcw";
   };
 
   propagatedBuildInputs = [ libvirt ];
diff --git a/pkgs/development/ocaml-modules/ocamlnet/default.nix b/pkgs/development/ocaml-modules/ocamlnet/default.nix
index 573de26096c..33f32879211 100644
--- a/pkgs/development/ocaml-modules/ocamlnet/default.nix
+++ b/pkgs/development/ocaml-modules/ocamlnet/default.nix
@@ -1,14 +1,15 @@
 { stdenv, fetchurl, pkgconfig, ncurses, ocaml, findlib, ocaml_pcre, camlzip
-, gnutls, nettle }:
+, gnutls, nettle
+}:
 
-let version = "4.1.5"; in
+let version = "4.1.6"; in
 
 stdenv.mkDerivation {
   name = "ocaml${ocaml.version}-ocamlnet-${version}";
 
   src = fetchurl {
     url = "http://download.camlcity.org/download/ocamlnet-${version}.tar.gz";
-    sha256 = "1ppcd2zjhj6s3ib9q8dngnr53qlmkhvv7a8hzp88r79k6jygn4cm";
+    sha256 = "1j0k0drybcjpysvs8xpq3cnpg3wqk6d5sy7y1h5rq8jk7hrirf0k";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/development/ocaml-modules/ocp-ocamlres/default.nix b/pkgs/development/ocaml-modules/ocp-ocamlres/default.nix
index bf0e98ec195..6410eb29628 100644
--- a/pkgs/development/ocaml-modules/ocp-ocamlres/default.nix
+++ b/pkgs/development/ocaml-modules/ocp-ocamlres/default.nix
@@ -1,16 +1,20 @@
-{ stdenv, fetchFromGitHub, ocaml, findlib, pprint }:
+{ stdenv, fetchFromGitHub, ocaml, findlib, astring, pprint }:
+
+if !stdenv.lib.versionAtLeast ocaml.version "4.02"
+then throw "ocp-ocamlres is not available for OCaml ${ocaml.version}"
+else
 
 stdenv.mkDerivation rec {
 	name = "ocaml${ocaml.version}-ocp-ocamlres-${version}";
-	version = "0.3";
+	version = "0.4";
 	src = fetchFromGitHub {
 		owner = "OCamlPro";
 		repo = "ocp-ocamlres";
 		rev = "v${version}";
-		sha256 = "0pm1g38f6pmch1x4pcc09ky587x5g7p7n9dfbbif8zkjqr603ixg";
+		sha256 = "0smfwrj8qhzknhzawygxi0vgl2af4vyi652fkma59rzjpvscqrnn";
 	};
 
-	buildInputs = [ ocaml findlib pprint ];
+	buildInputs = [ ocaml findlib astring pprint ];
 	createFindlibDestdir = true;
 
 	installFlags = [ "BINDIR=$(out)/bin" ];
diff --git a/pkgs/development/ocaml-modules/ocsigen-deriving/default.nix b/pkgs/development/ocaml-modules/ocsigen-deriving/default.nix
index 65344561795..569f5081355 100644
--- a/pkgs/development/ocaml-modules/ocsigen-deriving/default.nix
+++ b/pkgs/development/ocaml-modules/ocsigen-deriving/default.nix
@@ -1,15 +1,30 @@
-{ stdenv, fetchzip, ocaml, findlib, ocamlbuild, oasis, ocaml_optcomp, camlp4 }:
+{ stdenv, fetchzip, ocaml, findlib, ocamlbuild, oasis, ocaml_optcomp, camlp4
+, num
+}:
 
-let version = "0.7.1"; in
+let param =
+  if stdenv.lib.versionAtLeast ocaml.version "4.03"
+  then {
+    version = "0.8.1";
+    sha256 = "03vzrybdpjydbpil97zmir71kpsn2yxkjnzysma7fvybk8ll4zh9";
+    buildInputs = [ num ];
+  } else {
+    version = "0.7.1";
+    sha256 = "0gg3nr3iic4rwqrcc0qvfm9x0x57zclvdsnpy0z8rv2fl5isbzms";
+  };
+in
+
+let inherit (param) version; in
 
 stdenv.mkDerivation {
   name = "ocsigen-deriving-${version}";
   src = fetchzip {
     url = "https://github.com/ocsigen/deriving/archive/${version}.tar.gz";
-    sha256 = "0gg3nr3iic4rwqrcc0qvfm9x0x57zclvdsnpy0z8rv2fl5isbzms";
-    };
+    inherit (param) sha256;
+  };
 
-  buildInputs = [ ocaml findlib ocamlbuild oasis ocaml_optcomp camlp4 ];
+  buildInputs = [ ocaml findlib ocamlbuild oasis ocaml_optcomp camlp4 ]
+  ++ (param.buildInputs or []);
 
   createFindlibDestdir = true;
 
diff --git a/pkgs/development/ocaml-modules/ocsigen-server/default.nix b/pkgs/development/ocaml-modules/ocsigen-server/default.nix
index 081f9edbecf..efbb1230497 100644
--- a/pkgs/development/ocaml-modules/ocsigen-server/default.nix
+++ b/pkgs/development/ocaml-modules/ocsigen-server/default.nix
@@ -1,7 +1,7 @@
-{ stdenv, fetchurl, ocaml, findlib, which, react, ssl,
-lwt, ocamlnet, ocaml_pcre, cryptokit, tyxml, ipaddr, zlib,
+{ stdenv, fetchurl, ocaml, findlib, which, react, ssl
+, ocamlnet, ocaml_pcre, cryptokit, tyxml, ipaddr, zlib,
 libev, openssl, ocaml_sqlite3, tree, uutf, makeWrapper, camlp4
-, camlzip, pgocaml
+, camlzip, pgocaml, lwt2, lwt_react, lwt_ssl
 }:
 
 let mkpath = p: n:
@@ -9,17 +9,32 @@ let mkpath = p: n:
   "${p}/lib/ocaml/${v}/site-lib/${n}";
 in
 
+let param =
+  if stdenv.lib.versionAtLeast ocaml.version "4.03" then {
+    version = "2.9";
+    sha256 = "0na3qa4h89f2wv31li63nfpg4151d0g8fply0bq59j3bhpyc85nd";
+    buildInputs = [ lwt_react lwt_ssl ];
+    ldpath = "";
+  } else {
+    version = "2.8";
+    sha256 = "1v44qv2ixd7i1qinyhlzzqiffawsdl7xhhh6ysd7lf93kh46d5sy";
+    buildInputs = [ lwt2 ];
+    ldpath = "${mkpath lwt2 "lwt"}";
+  }
+; in
+
 stdenv.mkDerivation {
-  name = "ocsigenserver-2.8";
+  name = "ocsigenserver-${param.version}";
 
   src = fetchurl {
-    url = https://github.com/ocsigen/ocsigenserver/archive/2.8.tar.gz;
-    sha256 = "1v44qv2ixd7i1qinyhlzzqiffawsdl7xhhh6ysd7lf93kh46d5sy";
+    url = "https://github.com/ocsigen/ocsigenserver/archive/${param.version}.tar.gz";
+    inherit (param) sha256;
   };
 
-  buildInputs = [ocaml which findlib react ssl lwt
+  buildInputs = [ocaml which findlib react ssl
   ocamlnet ocaml_pcre cryptokit tyxml ipaddr zlib libev openssl
-  ocaml_sqlite3 tree uutf makeWrapper camlp4 pgocaml camlzip ];
+  ocaml_sqlite3 tree uutf makeWrapper camlp4 pgocaml camlzip ]
+  ++ (param.buildInputs or []);
 
   configureFlags = "--root $(out) --prefix /";
 
@@ -31,7 +46,7 @@ stdenv.mkDerivation {
   ''
   rm -rf $out/var/run
   wrapProgram $out/bin/ocsigenserver \
-    --prefix CAML_LD_LIBRARY_PATH : "${mkpath ssl "ssl"}:${mkpath lwt "lwt"}:${mkpath ocamlnet "netsys"}:${mkpath ocamlnet "netstring"}:${mkpath ocaml_pcre "pcre"}:${mkpath cryptokit "cryptokit"}:${mkpath ocaml_sqlite3 "sqlite3"}"
+    --prefix CAML_LD_LIBRARY_PATH : "${mkpath ssl "ssl"}:${param.ldpath}:${mkpath ocamlnet "netsys"}:${mkpath ocamlnet "netstring"}:${mkpath ocaml_pcre "pcre"}:${mkpath cryptokit "cryptokit"}:${mkpath ocaml_sqlite3 "sqlite3"}"
   '';
 
   dontPatchShebangs = true;
diff --git a/pkgs/development/ocaml-modules/ocsigen-start/default.nix b/pkgs/development/ocaml-modules/ocsigen-start/default.nix
index 13794602af4..ba7e3e93c98 100644
--- a/pkgs/development/ocaml-modules/ocsigen-start/default.nix
+++ b/pkgs/development/ocaml-modules/ocsigen-start/default.nix
@@ -1,12 +1,14 @@
-{ stdenv, fetchurl, buildOcaml, ocsigen-toolkit, eliom, ocaml_pcre, pgocaml, macaque, safepass, yojson, ojquery, magick, ocsigen_deriving, ocsigen_server }:
+{ stdenv, fetchurl, buildOcaml, ocsigen-toolkit, eliom, ocaml_pcre, pgocaml, macaque, safepass, yojson, ocsigen_deriving, ocsigen_server
+, js_of_ocaml-camlp4
+}:
 
 buildOcaml rec
 {
   name = "ocsigen-start";
-  version = "1.0.0";
+  version = "1.1.0";
 
-  buildInputs = [ eliom ];
-  propagatedBuildInputs = [ pgocaml macaque safepass ocaml_pcre ocsigen-toolkit yojson ojquery ocsigen_deriving ocsigen_server magick ];
+  buildInputs = [ eliom js_of_ocaml-camlp4 ];
+  propagatedBuildInputs = [ pgocaml macaque safepass ocaml_pcre ocsigen-toolkit yojson ocsigen_deriving ocsigen_server ];
 
   patches = [ ./templates-dir.patch ];
 
@@ -16,7 +18,7 @@ buildOcaml rec
   
   src = fetchurl {
     url = "https://github.com/ocsigen/${name}/archive/${version}.tar.gz";
-    sha256 = "0npc2iq39ixci6ly0fssklv07zqi5cfa1adad4hm8dbzjawkqqll";
+    sha256 = "09cw6qzcld0m1qm66mbjg9gw8l6dynpw3fzhm3kfx5ldh0afgvjq";
   };
 
   createFindlibDestdir = true;
diff --git a/pkgs/development/ocaml-modules/ocsigen-toolkit/default.nix b/pkgs/development/ocaml-modules/ocsigen-toolkit/default.nix
index 00416c92bb9..556c343241c 100644
--- a/pkgs/development/ocaml-modules/ocsigen-toolkit/default.nix
+++ b/pkgs/development/ocaml-modules/ocsigen-toolkit/default.nix
@@ -1,15 +1,15 @@
-{ stdenv, fetchurl, buildOcaml, ocaml, eliom, opam }:
+{ stdenv, fetchurl, buildOcaml, ocaml, opam
+, calendar, eliom, js_of_ocaml-ppx_deriving_json
+}:
 
 buildOcaml rec
 {
  name = "ocsigen-toolkit";
- version = "1.0.0";
+ version = "1.1.0";
 
- propagatedBuildInputs = [ eliom ];
+ propagatedBuildInputs = [ calendar eliom js_of_ocaml-ppx_deriving_json ];
  buildInputs = [ opam ];
 
- createFindlibDestdir = true;
-
  installPhase =
   ''
     export OCAMLPATH=$out/lib/ocaml/${ocaml.version}/site-lib/:$OCAMLPATH
@@ -18,7 +18,7 @@ buildOcaml rec
   '';
 
   src = fetchurl {
-    sha256 = "0wm4fnss7vlkd03ybgfrk63kpip6m6p6kdqjn3f64n11256mwzj2";
+    sha256 = "1i5806gaqqllgsgjz3lf9fwlffqg3vfl49msmhy7xvq2sncbxp8a";
     url = "https://github.com/ocsigen/${name}/archive/${version}.tar.gz";
   };
 
diff --git a/pkgs/development/ocaml-modules/optcomp/META b/pkgs/development/ocaml-modules/optcomp/META
new file mode 100644
index 00000000000..8a942288f75
--- /dev/null
+++ b/pkgs/development/ocaml-modules/optcomp/META
@@ -0,0 +1,12 @@
+# OASIS_START
+# DO NOT EDIT (digest: ec844fa3189acb2a866b89a69d111ba4)
+version = "1.6"
+description = "Optional compilation with cpp-like directives"
+requires = "camlp4"
+archive(syntax, preprocessor) = "optcomp.cma"
+archive(syntax, toploop) = "optcomp.cma"
+archive(syntax, preprocessor, native) = "optcomp.cmxa"
+archive(syntax, preprocessor, native, plugin) = "optcomp.cmxs"
+exists_if = "optcomp.cma"
+# OASIS_STOP
+
diff --git a/pkgs/development/ocaml-modules/optcomp/default.nix b/pkgs/development/ocaml-modules/optcomp/default.nix
index 8953373954a..5b566137747 100644
--- a/pkgs/development/ocaml-modules/optcomp/default.nix
+++ b/pkgs/development/ocaml-modules/optcomp/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, camlp4 }:
+{ stdenv, fetchurl, fetchpatch, ocaml, findlib, ocamlbuild, camlp4 }:
 
 stdenv.mkDerivation {
   name = "ocaml-optcomp-1.6";
@@ -6,11 +6,33 @@ stdenv.mkDerivation {
     url = https://github.com/diml/optcomp/archive/1.6.tar.gz;
     sha256 = "0hhhb2gisah1h22zlg5iszbgqxdd7x85cwd57bd4mfkx9l7dh8jh";
   };
+
+  patches =
+    let inherit (stdenv.lib) optional versionAtLeast; in
+    optional (versionAtLeast ocaml.version "4.02") (fetchpatch {
+      url = "https://github.com/diml/optcomp/commit/b7f809360c9794b383a4bc0492f6df381276b429.patch";
+      sha256 = "1n095lk94jq1rwi0l24g2wbgms7249wdd31n0ji895dr6755s93y";
+    })
+  ;
   
   createFindlibDestdir = true;
 
   buildInputs = [ ocaml findlib ocamlbuild camlp4 ];
 
+  configurePhase = ''
+    cp ${./META} META
+  '';
+
+  buildPhase = ''
+    ocamlbuild src/optcomp.cmxs src/optcomp.cma src/optcomp_o.native src/optcomp_r.native
+  '';
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cp _build/src/optcomp_o.native $out/bin/optcomp-o
+    cp _build/src/optcomp_r.native $out/bin/optcomp-r
+    ocamlfind install optcomp META _build/src/optcomp.{a,cma,cmxa,cmxs} _build/src/pa_optcomp.{cmi,cmx,mli}
+  '';
 
   meta =  {
     homepage = https://github.com/diml/optcomp;
diff --git a/pkgs/development/ocaml-modules/pa_bench/default.nix b/pkgs/development/ocaml-modules/pa_bench/default.nix
index d8ce0dbc7ea..2b821cd6dd6 100644
--- a/pkgs/development/ocaml-modules/pa_bench/default.nix
+++ b/pkgs/development/ocaml-modules/pa_bench/default.nix
@@ -2,13 +2,13 @@
 
 buildOcaml rec {
   name = "pa_bench";
-  version = "112.06.00";
+  version = "113.00.00";
 
   minimumSupportedOcamlVersion = "4.00";
 
   src = fetchurl {
     url = "https://github.com/janestreet/pa_bench/archive/${version}.tar.gz";
-    sha256 = "e3401e37f1d3d4acb957fd46a192d0ffcefeb0bedee63bbeb26969af1d540870";
+    sha256 = "1cd6291gdnk6h8ziclg6x3if8z5xy67nfz9gx8sx4k2cwv0j29k5";
   };
 
   buildInputs = [ pa_ounit ];
diff --git a/pkgs/development/ocaml-modules/pa_ounit/default.nix b/pkgs/development/ocaml-modules/pa_ounit/default.nix
index 5970aba1e50..fa4ecfcc28b 100644
--- a/pkgs/development/ocaml-modules/pa_ounit/default.nix
+++ b/pkgs/development/ocaml-modules/pa_ounit/default.nix
@@ -2,11 +2,11 @@
 
 buildOcaml rec {
   name = "pa_ounit";
-  version = "112.24.00";
+  version = "113.00.00";
 
   src = fetchurl {
     url = "https://github.com/janestreet/pa_ounit/archive/${version}.tar.gz";
-    sha256 = "fa04e72fe1db41e6dc64f9707cf5705cb9b957aa93265120c875c808eb9b9b96";
+    sha256 = "0vi0p2hxcrdsl0319c9s8mh9hmk2i4ir6c6vrj8axkc37zkgc437";
   };
 
   propagatedBuildInputs = [ ounit ];
diff --git a/pkgs/development/ocaml-modules/pcre/default.nix b/pkgs/development/ocaml-modules/pcre/default.nix
index e5533d3ad4b..fb3b67b03b7 100644
--- a/pkgs/development/ocaml-modules/pcre/default.nix
+++ b/pkgs/development/ocaml-modules/pcre/default.nix
@@ -1,21 +1,19 @@
-{stdenv, buildOcaml, fetchurl, pcre, ocaml, findlib}:
+{ stdenv, fetchurl, pcre, ocaml, findlib, ocamlbuild }:
 
-buildOcaml {
-  name = "pcre";
+stdenv.mkDerivation rec {
+  name = "ocaml${ocaml.version}-pcre-${version}";
   version = "7.2.3";
 
   src = fetchurl {
-    url = "https://github.com/mmottl/pcre-ocaml/releases/download/v7.2.3/pcre-ocaml-7.2.3.tar.gz";
+    url = "https://github.com/mmottl/pcre-ocaml/releases/download/v${version}/pcre-ocaml-${version}.tar.gz";
     sha256 = "0rj6dw79px4sj2kq0iss2nzq3rnsn9wivvc0f44wa1mppr6njfb3";
   };
 
-  buildInputs = [ocaml findlib];
+  buildInputs = [ ocaml findlib ocamlbuild ];
   propagatedBuildInputs = [pcre];
 
   createFindlibDestdir = true;
 
-  hasSharedObjects = true;
-
   configurePhase = "true";	# Skip configure phase
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/ocaml-modules/pipebang/default.nix b/pkgs/development/ocaml-modules/pipebang/default.nix
index fa9a9f8f86a..1ab1c5fa7bc 100644
--- a/pkgs/development/ocaml-modules/pipebang/default.nix
+++ b/pkgs/development/ocaml-modules/pipebang/default.nix
@@ -2,13 +2,13 @@
 
 buildOcaml rec {
   name = "pipebang";
-  version = "110.01.00";
+  version = "113.00.00";
 
   minimumSupportedOcamlVersion = "4.00";
 
   src = fetchurl {
     url = "https://github.com/janestreet/pipebang/archive/${version}.tar.gz";
-    sha256 = "a8858d9607c15cdf0a775196be060c8d91de724fc80a347d7a76ef1d38329096";
+    sha256 = "0acm2y8wxvnapa248lkgm0vcc44hlwhrjxqkx1awjxzcmarnxhfk";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/ocaml-modules/ppx_derivers/default.nix b/pkgs/development/ocaml-modules/ppx_derivers/default.nix
index 52c28efcb49..2dc7ef2b13e 100644
--- a/pkgs/development/ocaml-modules/ppx_derivers/default.nix
+++ b/pkgs/development/ocaml-modules/ppx_derivers/default.nix
@@ -6,13 +6,13 @@ else
 
 stdenv.mkDerivation rec {
 	name = "ocaml${ocaml.version}-ppx_derivers-${version}";
-	version = "1.0";
+	version = "1.2";
 
 	src = fetchFromGitHub {
 		owner = "diml";
 		repo = "ppx_derivers";
 		rev = version;
-		sha256 = "049yy9706lv1li6a1bibkz1qq2ixxbdyhf4f5w9pv71jc3dlpfy8";
+		sha256 = "0bnhihl1w31as5w2czly1v3d6pbir9inmgsjg2cj6aaj9v1dzd85";
 	};
 
 	buildInputs = [ ocaml findlib jbuilder ];
diff --git a/pkgs/development/ocaml-modules/ppx_tools_versioned/default.nix b/pkgs/development/ocaml-modules/ppx_tools_versioned/default.nix
index b680bcdd48c..5d27dc35396 100644
--- a/pkgs/development/ocaml-modules/ppx_tools_versioned/default.nix
+++ b/pkgs/development/ocaml-modules/ppx_tools_versioned/default.nix
@@ -2,7 +2,7 @@
 
 buildOcaml rec {
   name = "ppx_tools_versioned";
-  version = "5.0.1";
+  version = "5.1";
 
   minimumSupportedOcamlVersion = "4.02";
 
@@ -10,7 +10,7 @@ buildOcaml rec {
     owner = "let-def";
     repo = "ppx_tools_versioned";
     rev = version;
-    sha256 = "1rpbxbhk3k7f61h7lr4qkllkc12gjpq0rg52q7i6hcrg2dxkhwh6";
+    sha256 = "1c7kvca67qpyr4hiy492yik5x31lmkhyhy5wpl0l0fbx7fr7l624";
   };
 
   propagatedBuildInputs = [ ocaml-migrate-parsetree ];
diff --git a/pkgs/development/ocaml-modules/sawja/default.nix b/pkgs/development/ocaml-modules/sawja/default.nix
index b6c66c82811..92d9cef351b 100644
--- a/pkgs/development/ocaml-modules/sawja/default.nix
+++ b/pkgs/development/ocaml-modules/sawja/default.nix
@@ -4,7 +4,7 @@ assert stdenv.lib.versionAtLeast (stdenv.lib.getVersion ocaml) "3.12";
 
 let
   pname = "sawja";
-  version = "1.5.2";
+  version = "1.5.3";
   webpage = "http://sawja.inria.fr/";
 in
 stdenv.mkDerivation rec {
@@ -12,8 +12,8 @@ stdenv.mkDerivation rec {
   name = "ocaml${ocaml.version}-${pname}-${version}";
 
   src = fetchurl {
-    url = https://gforge.inria.fr/frs/download.php/file/36093/sawja-1.5.2.tar.bz2;
-    sha256 = "12046arkxiy4gf1s17hyc0yzydjzpzwqxn13sbkbxl8xzvmankx4";
+    url = https://gforge.inria.fr/frs/download.php/file/37403/sawja-1.5.3.tar.bz2;
+    sha256 = "17vfknr126vfhpmr14j75sg8r47xz7pw7fba4nsdw3k7rq43vcn2";
   };
 
   buildInputs = [ which perl ocaml findlib camlp4 ];
diff --git a/pkgs/development/ocaml-modules/ssl/default.nix b/pkgs/development/ocaml-modules/ssl/default.nix
index 3886af37512..b24d799cf28 100644
--- a/pkgs/development/ocaml-modules/ssl/default.nix
+++ b/pkgs/development/ocaml-modules/ssl/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "ocaml${ocaml.version}-ssl-${version}";
-  version = "0.5.4";
+  version = "0.5.5";
 
   src = fetchzip {
     url = "https://github.com/savonet/ocaml-ssl/releases/download/${version}/ocaml-ssl-${version}.tar.gz";
-    sha256 = "01sy3f94b463ff7dmkfsv67jh8g8h20wh7npjwqilniif7lgf4l3";
+    sha256 = "0j5zvsx51dg5r7sli7bakv7gfd29z890h0xzi876pg9vywwz9w7l";
   };
 
   buildInputs = [which ocaml findlib];
diff --git a/pkgs/development/ocaml-modules/stdint/default.nix b/pkgs/development/ocaml-modules/stdint/default.nix
index 42771d1e35f..129f9dd7289 100644
--- a/pkgs/development/ocaml-modules/stdint/default.nix
+++ b/pkgs/development/ocaml-modules/stdint/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   name = "ocaml${ocaml.version}-stdint-${version}";
-  version = "0.3.0";
+  version = "0.5.0";
   src = fetchFromGitHub {
     owner = "andrenth";
     repo = "ocaml-stdint";
     rev = version;
-    sha256 = "18nh23yx4ghgq7mjf4mdyq8kj1fdw5d0abw919s8n4mv21cmpwia";
+    sha256 = "1xjzqq13m7cqrfwa6vcwxirm17w8bx025dgnjqjgd3k2lxfgd1j7";
   };
 
   buildInputs = [ ocaml findlib ocamlbuild ];
diff --git a/pkgs/development/ocaml-modules/type_conv/112.01.01.nix b/pkgs/development/ocaml-modules/type_conv/112.01.01.nix
index f10884d7203..c50d08dd144 100644
--- a/pkgs/development/ocaml-modules/type_conv/112.01.01.nix
+++ b/pkgs/development/ocaml-modules/type_conv/112.01.01.nix
@@ -4,11 +4,11 @@ buildOcaml rec {
   minimumSupportedOcamlVersion = "4.02";
 
   name = "type_conv";
-  version = "112.01.01";
+  version = "113.00.02";
 
   src = fetchurl {
     url = "https://github.com/janestreet/type_conv/archive/${version}.tar.gz";
-    sha256 = "dbbc33b7ab420e8442d79ba4308ea6c0c16903b310d33525be18841159aa8855";
+    sha256 = "1718yl2q8zandrs4xqffkfmssfld1iz62dzcqdm925735c1x01fk";
   };
 
   meta = {
diff --git a/pkgs/development/ocaml-modules/uchar/default.nix b/pkgs/development/ocaml-modules/uchar/default.nix
index c2e5a1fc929..6b27f00fb15 100644
--- a/pkgs/development/ocaml-modules/uchar/default.nix
+++ b/pkgs/development/ocaml-modules/uchar/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, ocaml, ocamlbuild, opam }:
 
 stdenv.mkDerivation {
-  name = "ocaml${ocaml.version}-uchar-0.0.1";
+  name = "ocaml${ocaml.version}-uchar-0.0.2";
 
   src = fetchurl {
-    url = https://github.com/ocaml/uchar/releases/download/v0.0.1/uchar-0.0.1.tbz;
-    sha256 = "0ficw1x7ymbd6m8hqw3w1aycwm1hbwd6bad3c5pspwnzh3qlikhi";
+    url = https://github.com/ocaml/uchar/releases/download/v0.0.2/uchar-0.0.2.tbz;
+    sha256 = "1w2saw7zanf9m9ffvz2lvcxvlm118pws2x1wym526xmydhqpyfa7";
   };
 
   unpackCmd = "tar xjf $src";
diff --git a/pkgs/development/ocaml-modules/yojson/default.nix b/pkgs/development/ocaml-modules/yojson/default.nix
index 5d751d3dc99..f494a8cf17c 100644
--- a/pkgs/development/ocaml-modules/yojson/default.nix
+++ b/pkgs/development/ocaml-modules/yojson/default.nix
@@ -3,8 +3,8 @@ let
   pname = "yojson";
   param =
   if stdenv.lib.versionAtLeast ocaml.version "4.02" then {
-    version = "1.4.0";
-    sha256 = "0rzn4yihfi0psd2qmgrx5fvwpby87sqx4zws3ijf49f7wbpycccv";
+    version = "1.4.1";
+    sha256 = "0nwsfkmqpyfab4rxq76q8ff7giyanghw08094jyrp275v99zdjr9";
     buildInputs = [ jbuilder ];
     extra = { inherit (jbuilder) installPhase; };
   } else {
diff --git a/pkgs/development/perl-modules/DB_File/default.nix b/pkgs/development/perl-modules/DB_File/default.nix
index 7dd04463d18..b6158a61da5 100644
--- a/pkgs/development/perl-modules/DB_File/default.nix
+++ b/pkgs/development/perl-modules/DB_File/default.nix
@@ -12,7 +12,7 @@ buildPerlPackage rec {
     cat > config.in <<EOF
     PREFIX = size_t
     HASH = u_int32_t
-    LIB = ${db}/lib
+    LIB = ${db.lib}/lib
     INCLUDE = ${db}/include
     EOF
   '';
diff --git a/pkgs/development/perl-modules/MNI/default.nix b/pkgs/development/perl-modules/MNI/default.nix
new file mode 100644
index 00000000000..176cd06a9cc
--- /dev/null
+++ b/pkgs/development/perl-modules/MNI/default.nix
@@ -0,0 +1,21 @@
+{ fetchFromGitHub, buildPerlPackage, stdenv, perl }:
+
+buildPerlPackage rec {
+  name = "MNI-Perllib-2012-04-13";
+
+  src = fetchFromGitHub {
+    owner  = "BIC-MNI";
+    repo   = "mni-perllib";
+    rev    = "b908472b4390180ea5d19a121ac5edad6ed88d83";
+    sha256 = "0vk99pwgbard62k63386r7dpnm3h435jdqywr4xqfq7p04dz6kyb";
+  };
+
+  patches = [ ./no-stdin.patch ];
+
+  doCheck = false;  # TODO: almost all tests fail ... is this a real problem?
+
+  meta = with stdenv.lib; {
+    license = with licenses; [ artistic1 gpl1Plus ];
+    maintainers = with maintainers; [ bcdarwin ];
+  };
+}
diff --git a/pkgs/development/perl-modules/MNI/no-stdin.patch b/pkgs/development/perl-modules/MNI/no-stdin.patch
new file mode 100644
index 00000000000..1e9e791257e
--- /dev/null
+++ b/pkgs/development/perl-modules/MNI/no-stdin.patch
@@ -0,0 +1,13 @@
+diff --git a/Makefile.PL b/Makefile.PL
+index 9f2039a..12d699c 100644
+--- a/Makefile.PL
++++ b/Makefile.PL
+@@ -213,7 +213,7 @@ TEXT
+ }  # &MY::postamble
+ 
+ 
+-query_subs;
++#query_subs;
+ 
+ my $f;
+ WriteMakefile 
diff --git a/pkgs/development/perl-modules/Paranoid-blessed-path.patch b/pkgs/development/perl-modules/Paranoid-blessed-path.patch
new file mode 100644
index 00000000000..5e800250110
--- /dev/null
+++ b/pkgs/development/perl-modules/Paranoid-blessed-path.patch
@@ -0,0 +1,23 @@
+diff -ru Paranoid-2.05/lib/Paranoid.pm /tmp/Paranoid-2.05/lib/Paranoid.pm
+--- Paranoid-2.05/lib/Paranoid.pm	2017-02-06 05:48:57.000000000 -0500
++++ /tmp/Paranoid-2.05/lib/Paranoid.pm	2018-05-10 06:40:35.286313299 -0400
+@@ -61,7 +61,7 @@
+ 
+     my $path = shift;
+ 
+-    $path = '/bin:/usr/bin' unless defined $path;
++    $path = '__BLESSED_PATH__' unless defined $path;
+ 
+     delete @ENV{qw(IFS CDPATH ENV BASH_ENV)};
+     $ENV{PATH} = $path;
+Binary files Paranoid-2.05/lib/.Paranoid.pm.swp and /tmp/Paranoid-2.05/lib/.Paranoid.pm.swp differ
+diff -ru Paranoid-2.05/t/01_init_core.t /tmp/Paranoid-2.05/t/01_init_core.t
+--- Paranoid-2.05/t/01_init_core.t	2016-07-12 04:49:33.000000000 -0400
++++ /tmp/Paranoid-2.05/t/01_init_core.t	2018-05-10 06:43:41.323183381 -0400
+@@ -35,5 +35,5 @@
+ ok( psecureEnv('/bin:/sbin'), 'psecureEnv 1' );
+ is( $ENV{PATH}, '/bin:/sbin', 'Validated PATH' );
+ ok( psecureEnv(), 'psecureEnv 2' );
+-is( $ENV{PATH}, '/bin:/usr/bin', 'Validated PATH' );
++is( $ENV{PATH}, '__BLESSED_PATH__', 'Validated PATH' );
+ 
diff --git a/pkgs/development/perl-modules/Socket6-sv_undef.patch b/pkgs/development/perl-modules/Socket6-sv_undef.patch
new file mode 100644
index 00000000000..3ed4b61b6d3
--- /dev/null
+++ b/pkgs/development/perl-modules/Socket6-sv_undef.patch
@@ -0,0 +1,18 @@
+diff --git a/Socket6.xs b/Socket6.xs
+index 05c791c..058e9d9 100644
+--- a/Socket6.xs
++++ b/Socket6.xs
+@@ -105,10 +105,6 @@ const struct in6_addr in6addr_loopback = IN6ADDR_LOOPBACK_INIT;
+ #define	HAVE_INET_PTON		1
+ #endif
+ 
+-#ifndef HAVE_PL_SV_UNDEF
+-#define	PL_sv_undef		sv_undef
+-#endif
+-
+ static int
+ not_here(char *s)
+ {
+-- 
+2.16.3
+
diff --git a/pkgs/development/perl-modules/generic/builder.sh b/pkgs/development/perl-modules/generic/builder.sh
index 1b8888dd3ce..b833ceb3cab 100644
--- a/pkgs/development/perl-modules/generic/builder.sh
+++ b/pkgs/development/perl-modules/generic/builder.sh
@@ -22,7 +22,7 @@ preConfigure() {
         fi
     done
 
-    perl Makefile.PL PREFIX=$out INSTALLDIRS=site $makeMakerFlags
+    perl Makefile.PL PREFIX=$out INSTALLDIRS=site $makeMakerFlags PERL=$(type -P perl) FULLPERL=\"$perl/bin/perl\"
 }
 
 
diff --git a/pkgs/development/perl-modules/generic/default.nix b/pkgs/development/perl-modules/generic/default.nix
index 9e21a141c72..b33861d83ee 100644
--- a/pkgs/development/perl-modules/generic/default.nix
+++ b/pkgs/development/perl-modules/generic/default.nix
@@ -1,6 +1,6 @@
 perl:
 
-{ buildInputs ? [], name, ... } @ attrs:
+{ nativeBuildInputs ? [], name, ... } @ attrs:
 
 perl.stdenv.mkDerivation (
   {
@@ -27,6 +27,7 @@ perl.stdenv.mkDerivation (
   {
     name = "perl-" + name;
     builder = ./builder.sh;
-    buildInputs = buildInputs ++ [ perl ];
+    nativeBuildInputs = nativeBuildInputs ++ [ (perl.dev or perl) ];
+    inherit perl;
   }
 )
diff --git a/pkgs/development/perl-modules/perl-POE-1.367-pod_linkcheck.patch b/pkgs/development/perl-modules/perl-POE-1.367-pod_linkcheck.patch
new file mode 100644
index 00000000000..e2f604985be
--- /dev/null
+++ b/pkgs/development/perl-modules/perl-POE-1.367-pod_linkcheck.patch
@@ -0,0 +1,40 @@
+commit 6d985026
+Author: Michael Brantley <limeytexan@gmail.com>
+Date:   Tue Feb 20 07:12:06 2018 -0500
+
+    Update broken Pod links in lib/POE/Filter/HTTPD.pm
+    
+    Update Pod links to refer only to the utf8 module and not its methods,
+    fix a mis-capitalized internal reference, and convert the dangling
+    "MaxContent" link into a code reference.
+    
+    Resolves bug: https://rt.cpan.org/Public/Bug/Display.html?id=124496
+
+diff --git a/lib/POE/Filter/HTTPD.pm b/lib/POE/Filter/HTTPD.pm
+index 9d4898e3..517be691 100644
+--- a/lib/POE/Filter/HTTPD.pm
++++ b/lib/POE/Filter/HTTPD.pm
+@@ -621,10 +621,10 @@ how to use these objects.
+ 
+ HTTP headers are not allowed to have UTF-8 characters; they must be
+ ISO-8859-1.  POE::Filter::HTTPD will convert all UTF-8 into the MIME encoded
+-equivalent.  It uses L<utf8::is_utf8> for detection-8 and
++equivalent.  It uses C<utf8::is_utf8> for detection-8 and
+ L<Email::MIME::RFC2047::Encoder> for convertion.  If L<utf8> is not
+ installed, no conversion happens.  If L<Email::MIME::RFC2047::Encoder> is
+-not installed, L<utf8::downgrade> is used instead.  In this last case, you will
++not installed, C<utf8::downgrade> is used instead.  In this last case, you will
+ see a warning if you try to send UTF-8 headers.
+ 
+ 
+@@ -651,8 +651,8 @@ streaming mode this filter will return either an HTTP::Request object or a
+ block of content.  The HTTP::Request object's content will return empty. 
+ The blocks of content will be parts of the request's body, up to
+ Content-Length in size.  You distinguish between request objects and content
+-blocks using C<Scalar::Util/bless> (See L</Streaming request> below).  This
+-option supersedes L</MaxContent>.
++blocks using C<Scalar::Util/bless> (See L</Streaming Request> below).  This
++option supersedes C<MaxContent>.
+ 
+ =head1 CAVEATS
+ 
diff --git a/pkgs/development/perl-modules/perl-POE-1.367-pod_no404s.patch b/pkgs/development/perl-modules/perl-POE-1.367-pod_no404s.patch
new file mode 100644
index 00000000000..097a7677e51
--- /dev/null
+++ b/pkgs/development/perl-modules/perl-POE-1.367-pod_no404s.patch
@@ -0,0 +1,46 @@
+commit 32571a21
+Author: Michael Brantley <limeytexan@gmail.com>
+Date:   Tue Feb 20 07:07:22 2018 -0500
+
+    Update old URLs referenced in Pod
+    
+    Remove mention of old URLs, replace mention of canonical SVN repo with
+    the new git-based one at github.com.
+    
+    Resolves bug: https://rt.cpan.org/Public/Bug/Display.html?id=124495
+
+diff --git a/lib/POE.pm b/lib/POE.pm
+index 80e7feac..0554ff70 100644
+--- a/lib/POE.pm
++++ b/lib/POE.pm
+@@ -465,7 +465,7 @@ code snippets there as well.
+ The following command will fetch the most current version of POE into
+ the "poe" subdirectory:
+ 
+-  svn co https://poe.svn.sourceforge.net/svnroot/poe poe
++  git clone https://github.com/rcaputo/poe.git
+ 
+ =head2 SourceForge
+ 
+@@ -535,18 +535,9 @@ https://rt.cpan.org/Dist/Display.html?Status=Active&Queue=POE
+ 
+ =head2 Repositories and Changes
+ 
+-Thanks to the magic of distributed version control, POE is hosted at
+-three locations for redundancy.  You can browse the source at any one
+-of:
+-
+-https://github.com/rcaputo/poe
+-
+-https://gitorious.org/poe
+-
+-http://poe.git.sourceforge.net/git/gitweb-index.cgi
+-
+-Complete change logs can also be browsed at those sites.  They all
+-provide RSS news feeds for those who want to follow development in
++You can browse the POE source and complete change logs at
++https://github.com/rcaputo/poe. It also provides an RSS
++news feed for those who want to follow development in
+ near-realtime.
+ 
+ =head2 Other Resources
diff --git a/pkgs/development/python-modules/Babel/default.nix b/pkgs/development/python-modules/Babel/default.nix
new file mode 100644
index 00000000000..e9dda44997f
--- /dev/null
+++ b/pkgs/development/python-modules/Babel/default.nix
@@ -0,0 +1,22 @@
+{ lib, buildPythonPackage, fetchPypi, pytz, pytest, freezegun }:
+
+buildPythonPackage rec {
+  pname = "Babel";
+  version = "2.5.3";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "8ce4cb6fdd4393edd323227cba3a077bceb2a6ce5201c902c65e730046f41f14";
+  };
+
+  propagatedBuildInputs = [ pytz ];
+
+  checkInputs = [ pytest freezegun ];
+
+  meta = with lib; {
+    homepage = http://babel.edgewall.org;
+    description = "A collection of tools for internationalizing Python applications";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ garbas ];
+  };
+}
diff --git a/pkgs/development/python-modules/Cython/default.nix b/pkgs/development/python-modules/Cython/default.nix
index ce63970495b..a9488b540e2 100644
--- a/pkgs/development/python-modules/Cython/default.nix
+++ b/pkgs/development/python-modules/Cython/default.nix
@@ -13,26 +13,17 @@
 
 buildPythonPackage rec {
   pname = "Cython";
-  name = "${pname}-${version}";
-  version = "0.27.3";
+  version = "0.28.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "6a00512de1f2e3ce66ba35c5420babaef1fe2d9c43a8faab4080b0dbcc26bc64";
+    sha256 = "634e2f10fc8d026c633cffacb45cd8f4582149fa68e1428124e762dbc566e68a";
   };
 
-  # With Python 2.x on i686-linux or 32-bit ARM this test fails because the
-  # result is "3L" instead of "3", so let's fix it in-place.
-  #
-  # Upstream issue: https://github.com/cython/cython/issues/1548
-  postPatch = lib.optionalString ((stdenv.isi686 || stdenv.isAarch32) && !isPy3k) ''
-    sed -i -e 's/\(>>> *\)\(verify_resolution_GH1533()\)/\1int(\2)/' \
-      tests/run/cpdef_enums.pyx
-  '';
-
   nativeBuildInputs = [
     pkgconfig
-    # For testing
+  ];
+  checkInputs = [
     numpy ncurses
   ];
   buildInputs = [ glibcLocales gdb ];
@@ -46,10 +37,6 @@ buildPythonPackage rec {
       ${if stdenv.cc.isClang or false then ''--exclude="(cpdef_extern_func|libcpp_algo)"'' else ""}
   '';
 
-  # Disable tests temporarily
-  # https://github.com/cython/cython/issues/1676
-  doCheck = false;
-
   meta = {
     description = "An optimising static compiler for both the Python programming language and the extended Cython programming language";
     homepage = http://cython.org;
diff --git a/pkgs/development/python-modules/GeoIP/default.nix b/pkgs/development/python-modules/GeoIP/default.nix
index 6c4453774ce..0bacd8edb31 100644
--- a/pkgs/development/python-modules/GeoIP/default.nix
+++ b/pkgs/development/python-modules/GeoIP/default.nix
@@ -23,7 +23,7 @@ buildPythonPackage rec {
 
   meta = {
     description = "MaxMind GeoIP Legacy Database - Python API";
-    homepage = http://www.maxmind.com/;
+    homepage = https://www.maxmind.com/;
     maintainers = with lib.maintainers; [ jluttine ];
     license = lib.licenses.lgpl21Plus;
   };
diff --git a/pkgs/development/python-modules/GitPython/default.nix b/pkgs/development/python-modules/GitPython/default.nix
new file mode 100644
index 00000000000..c2f3706923a
--- /dev/null
+++ b/pkgs/development/python-modules/GitPython/default.nix
@@ -0,0 +1,24 @@
+{ lib, buildPythonPackage, fetchPypi, gitdb2, mock, nose, ddt }:
+
+buildPythonPackage rec {
+  version = "2.1.9";
+  pname = "GitPython";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0a9in1jfv9ssxhckl6sasw45bhm762y2r5ikgb2pk2g8yqdc6z64";
+  };
+
+  checkInputs = [ mock nose ddt ];
+  propagatedBuildInputs = [ gitdb2 ];
+
+  # Tests require a git repo
+  doCheck = false;
+
+  meta = {
+    description = "Python Git Library";
+    maintainers = [ ];
+    homepage = https://github.com/gitpython-developers/GitPython;
+    license = lib.licenses.bsd3;
+  };
+}
diff --git a/pkgs/development/python-modules/IPy/default.nix b/pkgs/development/python-modules/IPy/default.nix
new file mode 100644
index 00000000000..eacfe8dda5b
--- /dev/null
+++ b/pkgs/development/python-modules/IPy/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, buildPythonPackage, fetchPypi, nose }:
+
+buildPythonPackage rec {
+  pname = "IPy";
+  version = "0.83";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "61da5a532b159b387176f6eabf11946e7458b6df8fb8b91ff1d345ca7a6edab8";
+  };
+
+  checkInputs = [ nose ];
+
+  checkPhase = ''
+    nosetests -e fuzz
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Class and tools for handling of IPv4 and IPv6 addresses and networks";
+    homepage = "https://github.com/autocracy/python-ipy";
+    license = licenses.bsdOriginal;
+    maintainers = with maintainers; [ y0no ];
+  };
+}
diff --git a/pkgs/development/python-modules/JPype1/default.nix b/pkgs/development/python-modules/JPype1/default.nix
index b52871793be..13bddd3ffb8 100644
--- a/pkgs/development/python-modules/JPype1/default.nix
+++ b/pkgs/development/python-modules/JPype1/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "JPype1";
-  version = "0.6.2";
+  version = "0.6.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "09bzmnzkjbrf60h39wapxc1l8mb3r9km486cly0mm78bv096884r";
+    sha256 = "6841523631874a731e1f94e1b1f130686ad3772030eaa3b6946256eeb1d10dd1";
   };
 
   patches = [ ./set-compiler-language.patch ];
diff --git a/pkgs/development/python-modules/MechanicalSoup/default.nix b/pkgs/development/python-modules/MechanicalSoup/default.nix
index b5d202af50a..63eb93a207c 100644
--- a/pkgs/development/python-modules/MechanicalSoup/default.nix
+++ b/pkgs/development/python-modules/MechanicalSoup/default.nix
@@ -3,15 +3,13 @@
 , pytestrunner, requests-mock, pytestcov, pytest
 }:
 
-
 buildPythonPackage rec {
-  name = "${pname}-${version}";
   pname = "MechanicalSoup";
-  version = "0.9.0.post4";
+  version = "0.10.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "ce8f822afbc9bef1499be417e8d5deecd0cd32606420165700e89477955f03ab";
+    sha256 = "22423efd025c3eedb06f41d3ff1127174a59f40dc560e82dce143956976195bf";
   };
 
   checkInputs = [ pytest pytestrunner requests-mock pytestcov ];
diff --git a/pkgs/development/python-modules/Nikola/default.nix b/pkgs/development/python-modules/Nikola/default.nix
index 99cc4c3eab8..d0045c9fb7f 100644
--- a/pkgs/development/python-modules/Nikola/default.nix
+++ b/pkgs/development/python-modules/Nikola/default.nix
@@ -29,7 +29,7 @@
 
 buildPythonPackage rec {
   pname = "Nikola";
-  version = "7.8.11";
+  version = "7.8.15";
 
   # Nix contains only Python 3 supported version of doit, which is a dependency
   # of Nikola. Python 2 support would require older doit 0.29.0 (which on the
@@ -46,7 +46,7 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "10d95b3af84e61496ef729665eafa2235fd0fd4cc6c57644dd0f2c19a968dd0f";
+    sha256 = "182b4b9254f0d710603ba491853429ad6ef3f955f3e718191336b44cfd649000";
   };
 
   meta = {
diff --git a/pkgs/development/python-modules/Rtree/default.nix b/pkgs/development/python-modules/Rtree/default.nix
new file mode 100644
index 00000000000..7953829465b
--- /dev/null
+++ b/pkgs/development/python-modules/Rtree/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, buildPythonPackage, fetchPypi, libspatialindex, numpy }:
+
+buildPythonPackage rec {
+  pname = "Rtree";
+  version = "0.8.3";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0jc62jbcqqpjcwcly7l9zk25bg72mrxmjykpvfiscgln00qczfbc";
+  };
+
+  propagatedBuildInputs = [ libspatialindex ];
+
+  patchPhase = ''
+    substituteInPlace rtree/core.py --replace \
+      "find_library('spatialindex_c')" "'${libspatialindex}/lib/libspatialindex_c${stdenv.hostPlatform.extensions.sharedLibrary}'"
+  '';
+
+  # Tests appear to be broken due to mysterious memory unsafe issues. See #36760
+  doCheck = false;
+  checkInputs = [ numpy ];
+
+  meta = with stdenv.lib; {
+    description = "R-Tree spatial index for Python GIS";
+    homepage = https://toblerity.org/rtree/;
+    license = licenses.lgpl21;
+    maintainers = with maintainers; [ bgamari ];
+  };
+}
diff --git a/pkgs/development/python-modules/Theano/default.nix b/pkgs/development/python-modules/Theano/default.nix
index 03dc825218e..9eb04782d6f 100644
--- a/pkgs/development/python-modules/Theano/default.nix
+++ b/pkgs/development/python-modules/Theano/default.nix
@@ -15,17 +15,24 @@
 , libgpuarray
 , cudaSupport ? false, cudatoolkit
 , cudnnSupport ? false, cudnn
+, nvidia_x11
 }:
 
 assert cudnnSupport -> cudaSupport;
 
+assert cudaSupport -> nvidia_x11 != null
+                   && cudatoolkit != null
+                   && cudnn != null;
+
 let
   extraFlags =
     lib.optionals cudaSupport [ "-I ${cudatoolkit}/include" "-L ${cudatoolkit}/lib" ]
-    ++ lib.optionals cudnnSupport [ "-I ${cudnn}/include" "-L ${cudnn}/lib" ];
+    ++ lib.optionals cudnnSupport [ "-I ${cudnn}/include" "-L ${cudnn}/lib" ]
+    ++ lib.optionals cudaSupport [ "-I ${libgpuarray}/include" "-L ${libgpuarray}/lib" ];
 
   gcc_ = writeScriptBin "g++" ''
     #!${stdenv.shell}
+    export NIX_CC_WRAPPER_${stdenv.cc.infixSalt}_TARGET_HOST=1
     export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE ${toString extraFlags}"
     exec ${gcc}/bin/g++ "$@"
   '';
diff --git a/pkgs/development/python-modules/WSME/default.nix b/pkgs/development/python-modules/WSME/default.nix
new file mode 100644
index 00000000000..8cbbd2c767f
--- /dev/null
+++ b/pkgs/development/python-modules/WSME/default.nix
@@ -0,0 +1,49 @@
+{ lib, buildPythonPackage, fetchPypi, isPy3k
+, pbr, six, simplegeneric, netaddr, pytz, webob
+, cornice, nose, webtest, pecan, transaction, cherrypy, sphinx
+, flask, flask-restful, suds-jurko, glibcLocales }:
+
+buildPythonPackage rec {
+  pname = "WSME";
+  version = "0.9.2";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "e790ac755a7e36eaa796d3966d3878677896dbc7d1c2685cb85c06b744c21976";
+  };
+
+  postPatch = ''
+    # remove turbogears tests as we don't have it packaged
+    rm tests/test_tg*
+    # WSME seems incompatible with recent SQLAlchemy version
+    rm wsmeext/tests/test_sqlalchemy*
+    # https://bugs.launchpad.net/wsme/+bug/1510823
+    ${if isPy3k then "rm tests/test_cornice.py" else ""}
+  '';
+
+  checkPhae = ''
+    nosetests --exclude test_buildhtml \
+              --exlcude test_custom_clientside_error \
+              --exclude test_custom_non_http_clientside_error
+  '';
+
+  # UnicodeEncodeError, ImportError, ...
+  doCheck = !isPy3k;
+
+  nativeBuildInputs = [ pbr ];
+
+  propagatedBuildInputs = [
+    six simplegeneric netaddr pytz webob
+  ];
+
+  checkInputs = [
+    cornice nose webtest pecan transaction cherrypy sphinx
+    flask flask-restful suds-jurko glibcLocales
+  ];
+
+  meta = with lib; {
+    description = "Simplify the writing of REST APIs, and extend them with additional protocols";
+    homepage = http://git.openstack.org/cgit/openstack/wsme;
+    license = licenses.mit;
+  };
+}
diff --git a/pkgs/development/python-modules/XlsxWriter/default.nix b/pkgs/development/python-modules/XlsxWriter/default.nix
index c512b17332f..d8209b23397 100644
--- a/pkgs/development/python-modules/XlsxWriter/default.nix
+++ b/pkgs/development/python-modules/XlsxWriter/default.nix
@@ -3,11 +3,11 @@
 buildPythonPackage rec {
   name = "${pname}-${version}";
   pname = "XlsxWriter";
-  version = "1.0.2";
+  version = "1.0.4";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0mpq4l1jfghdqx2vzbzl9v28vw69lkx5vz9gb77gzaw8zypvnsx2";
+    sha256 = "ad947fd9e8edfb64f25e0ccfb161e109f279e5a5520b3dd22ddc03b7f8220887";
   };
 
   meta = {
diff --git a/pkgs/development/python-modules/absl-py/default.nix b/pkgs/development/python-modules/absl-py/default.nix
index 5e295bb9516..8e3f3939b36 100644
--- a/pkgs/development/python-modules/absl-py/default.nix
+++ b/pkgs/development/python-modules/absl-py/default.nix
@@ -6,12 +6,11 @@
 
 buildPythonPackage rec {
   pname = "absl-py";
-  version = "0.1.9";
-  name = "${pname}-${version}";
+  version = "0.1.13";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1c787e3bc7ef8fea7a8a79cf36b0c550b4bd66e13c05d1352fbc5786488befb0";
+    sha256 = "d160f7dc39f2f05ddc0bbf3a7bea4cc659fedc45fd9042e87346b24fe1cd00bb";
   };
 
   propagatedBuildInputs = [ six ];
diff --git a/pkgs/development/python-modules/acme/default.nix b/pkgs/development/python-modules/acme/default.nix
index 71357e5bef2..ccf56c208f2 100644
--- a/pkgs/development/python-modules/acme/default.nix
+++ b/pkgs/development/python-modules/acme/default.nix
@@ -1,6 +1,18 @@
 { stdenv, buildPythonPackage, fetchPypi
-, certbot, nose, cryptography, pyasn1, pyopenssl, pyRFC3339
-, pytz, requests, six, werkzeug, mock, ndg-httpsclient }:
+, certbot
+, nose
+, cryptography
+, pyasn1
+, pyopenssl
+, pyRFC3339
+, josepy
+, pytz
+, requests
+, six
+, werkzeug
+, mock
+, ndg-httpsclient
+}:
 
 buildPythonPackage rec {
   inherit (certbot) src version;
@@ -10,10 +22,10 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [
     cryptography pyasn1 pyopenssl pyRFC3339 pytz requests six werkzeug mock
-    ndg-httpsclient
+    ndg-httpsclient josepy
   ];
 
-  buildInputs = [ nose ];
+  checkInputs = [ nose ];
 
   postUnpack = "sourceRoot=\${sourceRoot}/acme";
 }
diff --git a/pkgs/development/python-modules/adal/default.nix b/pkgs/development/python-modules/adal/default.nix
index bfd23ab584f..0ba846bb0f6 100644
--- a/pkgs/development/python-modules/adal/default.nix
+++ b/pkgs/development/python-modules/adal/default.nix
@@ -3,12 +3,12 @@
 
 buildPythonPackage rec {
   pname = "adal";
-  version = "0.5.0";
+  version = "0.5.1";
   name = "${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "120821f72ca9d59a7c7197fc14d0e27448ff8d331fae230f92d713b9b5c721f7";
+    sha256 = "dd3ecb2dfb2de9393320d0ed4e6115ed07a6984a28e18adf46499b91d3c3a494";
   };
 
   propagatedBuildInputs =  [ requests pyjwt dateutil ];
diff --git a/pkgs/development/python-modules/aenum/default.nix b/pkgs/development/python-modules/aenum/default.nix
index facf86c5898..63db18e844e 100644
--- a/pkgs/development/python-modules/aenum/default.nix
+++ b/pkgs/development/python-modules/aenum/default.nix
@@ -2,12 +2,12 @@
 
 buildPythonPackage rec {
   pname = "aenum";
-  version = "2.1.0";
+  version = "2.1.2";
   name = "${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "9eb1c8f48ae13c56d22a7227db0e4b1717131b284c6c0db6e4ccca6f5894df95";
+    sha256 = "a3208e4b28db3a7b232ff69b934aef2ea1bf27286d9978e1e597d46f490e4687";
   };
 
   # For Python 3, locale has to be set to en_US.UTF-8 for
diff --git a/pkgs/development/python-modules/affinity/default.nix b/pkgs/development/python-modules/affinity/default.nix
index f2cb2ef6445..4eaaf56b441 100644
--- a/pkgs/development/python-modules/affinity/default.nix
+++ b/pkgs/development/python-modules/affinity/default.nix
@@ -1,13 +1,17 @@
-{ lib, buildPythonPackage, fetchPypi }:
+{ lib, buildPythonPackage, fetchPypi, isPy3k }:
 
 buildPythonPackage rec {
-  name = "${pname}-${version}";
   pname = "affinity";
   version = "0.1.0";
+
+  # syntax error
+  disabled = isPy3k;
+
   src = fetchPypi {
     inherit pname version;
     sha256 = "1i6j7kszvnzh5vh9k48cqwx2kzf73a6abgv9s6bf0j2zmfjl2wb6";
   };
+
   meta = {
     description = "control processor affinity on windows and linux";
     homepage    = http://cheeseshop.python.org/pypi/affinity;
diff --git a/pkgs/development/python-modules/agate/default.nix b/pkgs/development/python-modules/agate/default.nix
index 3ff097a78cf..8e480d4a3df 100644
--- a/pkgs/development/python-modules/agate/default.nix
+++ b/pkgs/development/python-modules/agate/default.nix
@@ -5,11 +5,11 @@
 buildPythonPackage rec {
     name = "${pname}-${version}";
     pname = "agate";
-    version = "1.6.0";
+    version = "1.6.1";
 
     src = fetchPypi {
       inherit pname version;
-      sha256 = "02pb5jjvzjqfpsa7q12afbk9nqj06xdpw1s7qa6a1bnalikfniqm";
+      sha256 = "c93aaa500b439d71e4a5cf088d0006d2ce2c76f1950960c8843114e5f361dfd3";
     };
 
     propagatedBuildInputs = [ discid six parsedatetime
diff --git a/pkgs/development/python-modules/aiohttp-jinja2/default.nix b/pkgs/development/python-modules/aiohttp-jinja2/default.nix
new file mode 100644
index 00000000000..4865901713a
--- /dev/null
+++ b/pkgs/development/python-modules/aiohttp-jinja2/default.nix
@@ -0,0 +1,26 @@
+{ lib, stdenv, buildPythonPackage, fetchPypi, aiohttp, jinja2, pytest, pytest-aiohttp }:
+
+buildPythonPackage rec {
+  pname = "aiohttp-jinja2";
+  version = "0.17.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "8139c63fe989e140dceae378440680258dfb72f3301c79173945245299d795e6";
+  };
+
+  propagatedBuildInputs = [ aiohttp jinja2 ];
+
+  checkInputs = [ pytest pytest-aiohttp ];
+
+  checkPhase = ''
+    py.test
+  '';
+
+  meta = with lib; {
+    description = "Jinja2 support for aiohttp";
+    homepage = https://github.com/aio-libs/aiohttp_jinja2;
+    license = licenses.asl20;
+    maintainers = with maintainers; [ peterhoeg ];
+  };
+}
diff --git a/pkgs/development/python-modules/aiohttp/cors.nix b/pkgs/development/python-modules/aiohttp/cors.nix
index 9da239b524a..3065bb17c05 100644
--- a/pkgs/development/python-modules/aiohttp/cors.nix
+++ b/pkgs/development/python-modules/aiohttp/cors.nix
@@ -1,20 +1,24 @@
-{lib, stdenv, buildPythonPackage, fetchPypi, pythonOlder, typing, aiohttp }:
+{ lib, stdenv, buildPythonPackage, fetchPypi, pythonOlder
+, typing, aiohttp
+}:
 
 buildPythonPackage rec {
   pname = "aiohttp-cors";
-  version = "0.6.0";
+  version = "0.7.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1r0mb4dw0dc1lpi54dk5vxqs06nyhvagp76lyrvk7rd94z5mjkd4";
+    sha256 = "0pczn54bqd32v8zhfbjfybiza6xh1szwxy6as577dn8g23bwcfad";
   };
 
-  # Requires network access
-  doCheck = false;
+  disabled = pythonOlder "3.5";
 
   propagatedBuildInputs = [ aiohttp ]
   ++ lib.optional (pythonOlder "3.5") typing;
 
+  # Requires network access
+  doCheck = false;
+
   meta = with lib; {
     description = "CORS support for aiohttp";
     homepage = "https://github.com/aio-libs/aiohttp-cors";
diff --git a/pkgs/development/python-modules/aiohttp/default.nix b/pkgs/development/python-modules/aiohttp/default.nix
index 19ad64e7472..947f4341e6d 100644
--- a/pkgs/development/python-modules/aiohttp/default.nix
+++ b/pkgs/development/python-modules/aiohttp/default.nix
@@ -11,20 +11,21 @@
 , pytest
 , gunicorn
 , pytest-mock
+, async_generator
 }:
 
 buildPythonPackage rec {
   pname = "aiohttp";
-  version = "3.0.1";
+  version = "3.1.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "7aee5c0750584946fde40da70f0b28fe769f85182f1171acef18a35fd8ecd221";
+    sha256 = "9fcef0489e3335b200d31a9c1fb6ba80fdafe14cd82b971168c2f9fa1e4508ad";
   };
 
-  disabled = pythonOlder "3.4";
+  disabled = pythonOlder "3.5";
 
-  checkInputs = [ pytest gunicorn pytest-mock ];
+  checkInputs = [ pytest gunicorn pytest-mock async_generator ];
 
   propagatedBuildInputs = [ attrs chardet multidict async-timeout yarl ]
     ++ lib.optional (pythonOlder "3.7") idna-ssl;
diff --git a/pkgs/development/python-modules/aiohue/default.nix b/pkgs/development/python-modules/aiohue/default.nix
new file mode 100644
index 00000000000..0211fef1606
--- /dev/null
+++ b/pkgs/development/python-modules/aiohue/default.nix
@@ -0,0 +1,19 @@
+{ lib, stdenv, buildPythonPackage, fetchPypi, aiohttp }:
+
+buildPythonPackage rec {
+  pname = "aiohue";
+  version = "1.3.1";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "05b2fj8pzbij8hglx6p5ckfx0h1b7wcfpys306l853vp56d882yh";
+  };
+
+  propagatedBuildInputs = [ aiohttp ];
+
+  meta = with lib; {
+    description = "asyncio package to talk to Philips Hue";
+    homepage = https://github.com/balloob/aiohue;
+    license = licenses.asl20;
+  };
+}
diff --git a/pkgs/development/python-modules/ajpy/default.nix b/pkgs/development/python-modules/ajpy/default.nix
new file mode 100644
index 00000000000..373c3544062
--- /dev/null
+++ b/pkgs/development/python-modules/ajpy/default.nix
@@ -0,0 +1,21 @@
+{ stdenv, buildPythonPackage, fetchPypi }:
+
+buildPythonPackage rec {
+  pname = "ajpy";
+  version = "0.0.4";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0a5f62b765f59ffc37e759d3f343de16cd782cc4e9e8be09c73b71dfbe383d9b";
+  };
+
+  # ajpy doesn't have tests
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    description = "AJP package crafting library";
+    homepage = "https://github.com/hypn0s/AJPy/";
+    license = licenses.lgpl2;
+    maintainers = with maintainers; [ y0no ];
+  };
+}
diff --git a/pkgs/development/python-modules/alembic/default.nix b/pkgs/development/python-modules/alembic/default.nix
index 176805e57e5..503ce5da4b5 100644
--- a/pkgs/development/python-modules/alembic/default.nix
+++ b/pkgs/development/python-modules/alembic/default.nix
@@ -6,11 +6,11 @@
 buildPythonPackage rec {
   name = "${pname}-${version}";
   pname = "alembic";
-  version = "0.9.8";
+  version = "0.9.9";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "13b8611788acf0d7b617775db5c2ae26554a6d4263c590ef628d448fd05aef56";
+    sha256 = "85bd3ea7633024e4930900bc64fb58f9742dedbc6ebb6ecf25be2ea9a3c1b32e";
   };
 
   buildInputs = [ pytest pytestcov mock coverage ];
diff --git a/pkgs/development/python-modules/allpairspy/default.nix b/pkgs/development/python-modules/allpairspy/default.nix
new file mode 100644
index 00000000000..e21b43c60e0
--- /dev/null
+++ b/pkgs/development/python-modules/allpairspy/default.nix
@@ -0,0 +1,25 @@
+{ lib, buildPythonPackage, fetchPypi, six, pytest }:
+
+buildPythonPackage rec {
+  pname = "allpairspy";
+  version = "2.4.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "9fb7962ee523bd96c5098cd3c97ac1b8eb73021d3df9314657ee9de00f52e034";
+  };
+
+  propagatedBuildInputs = [ six ];
+
+  checkInputs = [ pytest ];
+
+  checkPhase = ''
+    py.test
+  '';
+
+  meta = with lib; {
+    description = "Pairwise test combinations generator";
+    homepage = https://github.com/thombashi/allpairspy;
+    license = licenses.mit;
+  };
+}
diff --git a/pkgs/development/python-modules/alot/default.nix b/pkgs/development/python-modules/alot/default.nix
new file mode 100644
index 00000000000..dd06d4dde7a
--- /dev/null
+++ b/pkgs/development/python-modules/alot/default.nix
@@ -0,0 +1,60 @@
+{ stdenv, lib, buildPythonPackage, fetchFromGitHub, isPy3k
+, notmuch, urwid, urwidtrees, twisted, python_magic, configobj, mock, file, gpgme
+, service-identity
+, gnupg ? null, sphinx, awk ? null, procps ? null, future ? null
+, withManpage ? false }:
+
+
+buildPythonPackage rec {
+  pname = "alot";
+  version = "0.7";
+  outputs = [ "out" ] ++ lib.optional withManpage "man";
+
+  disabled = isPy3k;
+
+  src = fetchFromGitHub {
+    owner = "pazz";
+    repo = "alot";
+    rev = "${version}";
+    sha256 = "1y932smng7qx7ybmqw4qh75b0lv9imfs5ak9fd0qhysij8kpmdhi";
+  };
+
+  nativeBuildInputs = lib.optional withManpage sphinx;
+
+  propagatedBuildInputs = [
+    notmuch
+    urwid
+    urwidtrees
+    twisted
+    python_magic
+    configobj
+    service-identity
+    file
+    gpgme
+  ];
+
+  # some twisted tests need the network (test_env_set... )
+  doCheck = false;
+  postBuild = lib.optionalString withManpage "make -C docs man";
+
+  checkInputs =  [ awk future mock gnupg procps ];
+
+  postInstall = lib.optionalString withManpage ''
+    mkdir -p $out/man
+    cp -r docs/build/man $out/man
+  ''
+  + ''
+    mkdir -p $out/share/{applications,alot}
+    cp -r extra/themes $out/share/alot
+
+    sed "s,/usr/bin,$out/bin,g" extra/alot.desktop > $out/share/applications/alot.desktop
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/pazz/alot;
+    description = "Terminal MUA using notmuch mail";
+    license = licenses.gpl3;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ garbas ];
+  };
+}
diff --git a/pkgs/development/python-modules/altair/default.nix b/pkgs/development/python-modules/altair/default.nix
index d3cdc0f43f2..d98eba693d2 100644
--- a/pkgs/development/python-modules/altair/default.nix
+++ b/pkgs/development/python-modules/altair/default.nix
@@ -1,17 +1,20 @@
 { stdenv, buildPythonPackage, fetchPypi
-, pytest, vega, pandas, ipython, traitlets }:
+, pytest, glibcLocales, vega, pandas, ipython, traitlets }:
 
 buildPythonPackage rec {
   pname = "altair";
   version = "1.2.1";
-  name = "${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
     sha256 = "c1303f77f1ba4d632f2958c83c0f457b2b969860b1ac9adfb872aefa1780baa7";
   };
 
-  buildInputs = [ pytest ];
+  postPatch = ''
+    sed -i "s/vega==/vega>=/g" setup.py
+  '';
+
+  checkInputs = [ pytest glibcLocales ];
 
   checkPhase = ''
     export LANG=en_US.UTF-8
@@ -19,8 +22,6 @@ buildPythonPackage rec {
   '';
 
   propagatedBuildInputs = [ vega pandas ipython traitlets ];
-  # Disabling checks, MockRequest object has no method send()
-  doCheck = false;
 
   meta = with stdenv.lib; {
     description = "A declarative statistical visualization library for Python.";
diff --git a/pkgs/development/python-modules/amqp/default.nix b/pkgs/development/python-modules/amqp/default.nix
new file mode 100644
index 00000000000..fa5b27a4ced
--- /dev/null
+++ b/pkgs/development/python-modules/amqp/default.nix
@@ -0,0 +1,20 @@
+{ stdenv, buildPythonPackage, fetchPypi, pytest, case, vine }:
+
+buildPythonPackage rec {
+  pname = "amqp";
+  version = "2.2.2";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "cba1ace9d4ff6049b190d8b7991f9c1006b443a5238021aca96dd6ad2ac9da22";
+  };
+
+  buildInputs = [ pytest case ];
+  propagatedBuildInputs = [ vine ];
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/celery/py-amqp;
+    description = "Python client for the Advanced Message Queuing Procotol (AMQP). This is a fork of amqplib which is maintained by the Celery project";
+    license = licenses.lgpl21;
+  };
+}
diff --git a/pkgs/development/python-modules/aniso8601/default.nix b/pkgs/development/python-modules/aniso8601/default.nix
index ba60922856e..6e596172d9e 100644
--- a/pkgs/development/python-modules/aniso8601/default.nix
+++ b/pkgs/development/python-modules/aniso8601/default.nix
@@ -3,7 +3,7 @@
 
 buildPythonPackage rec {
   pname = "aniso8601";
-  version = "2.0.0";
+  version = "3.0.0";
   name = "${pname}-${version}";
 
   meta = with stdenv.lib; {
@@ -16,6 +16,6 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "085786415d3550e89785ffbedaa9bb37d41de0707a1268bdbba11249064b71d1";
+    sha256 = "7cf068e7aec00edeb21879c2bbda048656c34d281e133a77425be03b352122d8";
   };
 }
diff --git a/pkgs/development/python-modules/antlr4-python3-runtime/default.nix b/pkgs/development/python-modules/antlr4-python3-runtime/default.nix
new file mode 100644
index 00000000000..84f2859d50c
--- /dev/null
+++ b/pkgs/development/python-modules/antlr4-python3-runtime/default.nix
@@ -0,0 +1,18 @@
+{ stdenv, fetchurl, buildPythonPackage, isPy3k }:
+
+buildPythonPackage rec {
+  version = "4.7.1";
+  name = "antlr4-python3-runtime-${version}";
+  disabled = !isPy3k;
+
+  src = fetchurl {
+    url = "mirror://pypi/a/antlr4-python3-runtime/${name}.tar.gz";
+    sha256 = "1lrzmagawmavyw1n1z0qarvs2jmbnbv0p89dah8g7klj8hnbf9hv";
+  };
+
+  meta = {
+    description = "Runtime for ANTLR";
+    homepage = "http://www.antlr.org/";
+    license = stdenv.lib.licenses.bsd3;
+  };
+}
diff --git a/pkgs/development/python-modules/anyjson/default.nix b/pkgs/development/python-modules/anyjson/default.nix
new file mode 100644
index 00000000000..ba32cf7ea69
--- /dev/null
+++ b/pkgs/development/python-modules/anyjson/default.nix
@@ -0,0 +1,21 @@
+{ stdenv, buildPythonPackage, fetchPypi, isPy3k, nose }:
+
+buildPythonPackage rec {
+  pname = "anyjson";
+  version = "0.3.3";
+
+  # The tests are written in a python2 syntax but anyjson is python3 valid
+  doCheck = !isPy3k;
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "37812d863c9ad3e35c0734c42e0bf0320ce8c3bed82cd20ad54cb34d158157ba";
+  };
+
+  buildInputs = [ nose ];
+
+  meta = {
+    homepage = https://pypi.python.org/pypi/anyjson/;
+    description = "Wrapper that selects the best available JSON implementation";
+  };
+}
diff --git a/pkgs/development/python-modules/application/default.nix b/pkgs/development/python-modules/application/default.nix
new file mode 100644
index 00000000000..32314b81edc
--- /dev/null
+++ b/pkgs/development/python-modules/application/default.nix
@@ -0,0 +1,15 @@
+{ stdenv, buildPythonPackage, fetchdarcs, zope_interface, isPy3k }:
+
+buildPythonPackage rec {
+  pname = "python-application";
+  version = "2.0.2";
+  disabled = isPy3k;
+
+  src = fetchdarcs {
+    url = "http://devel.ag-projects.com/repositories/${pname}";
+    rev = "release-${version}";
+    sha256 = "19dszv44py8qrq0jcjdycxpa7z2p8hi3ijq9gnqdsazbbjzf9svn";
+  };
+
+  buildInputs = [ zope_interface ];
+}
diff --git a/pkgs/development/python-modules/apsw/default.nix b/pkgs/development/python-modules/apsw/default.nix
index 3e7e970da6c..fb22128b928 100644
--- a/pkgs/development/python-modules/apsw/default.nix
+++ b/pkgs/development/python-modules/apsw/default.nix
@@ -1,25 +1,24 @@
-{ stdenv, buildPythonPackage, fetchurl
+{ stdenv, buildPythonPackage, fetchFromGitHub
 , sqlite, isPyPy }:
 
 buildPythonPackage rec {
   pname = "apsw";
-  version = "3.7.6.2-r1";
-  name = "${pname}-${version}";
+  version = "3.22.0-r1";
 
   disabled = isPyPy;
 
-  src = fetchurl {
-    url = "http://apsw.googlecode.com/files/${name}.zip";
-    sha256 = "cb121b2bce052609570a2f6def914c0aa526ede07b7096dddb78624d77f013eb";
+  src = fetchFromGitHub {
+    owner = "rogerbinns";
+    repo = "apsw";
+    rev = version;
+    sha256 = "02ldvshcgr4c7c8anp4flfnw8g8ys5bflkb8b51rb618qxhhwyak";
   };
 
   buildInputs = [ sqlite ];
 
-  # python: double free or corruption (fasttop): 0x0000000002fd4660 ***
-  doCheck = false;
-
   meta = with stdenv.lib; {
     description = "A Python wrapper for the SQLite embedded relational database engine";
-    homepage = http://code.google.com/p/apsw/;
+    homepage = https://github.com/rogerbinns/apsw;
+    license = licenses.zlib;
   };
 }
diff --git a/pkgs/development/python-modules/asana/default.nix b/pkgs/development/python-modules/asana/default.nix
index 91664f76ad1..62b176fb59c 100644
--- a/pkgs/development/python-modules/asana/default.nix
+++ b/pkgs/development/python-modules/asana/default.nix
@@ -1,5 +1,5 @@
-{ lib, buildPythonPackage, fetchPypi,
-  pytest, requests, requests_oauthlib, six
+{ lib, buildPythonPackage, pytest, requests, requests_oauthlib, six
+, fetchFromGitHub, responses, stdenv
 }:
 
 buildPythonPackage rec {
@@ -7,18 +7,14 @@ buildPythonPackage rec {
   version = "0.7.0";
   name = "${pname}-${version}";
 
-  meta = {
-    description = "Python client library for Asana";
-    homepage = https://github.com/asana/python-asana;
-    license = lib.licenses.mit;
-  };
-
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "a7ff4a78529257a5412e78cafd6b3025523364c0ab628d579f2771dd66b254bc";
+  src = fetchFromGitHub {
+    owner = "asana";
+    repo = "python-asana";
+    rev = "v${version}";
+    sha256 = "0786y3wxqxxhsb0kkpx4bfzif3dhvv3dmm6vnq58iyj94862kpxf";
   };
 
-  checkInputs = [ pytest ];
+  checkInputs = [ pytest responses ];
   propagatedBuildInputs = [ requests requests_oauthlib six ];
 
   patchPhase = ''
@@ -27,11 +23,13 @@ buildPythonPackage rec {
     sed -i "s/requests_oauthlib~=0.6.1/requests_oauthlib >=0.6.1/" setup.py
   '';
 
-  # ERROR: file not found: tests
-  doCheck = false; 
-
   checkPhase = ''
     py.test tests
   '';
 
+  meta = with stdenv.lib; {
+    description = "Python client library for Asana";
+    homepage = https://github.com/asana/python-asana;
+    license = licenses.mit;
+  };
 }
diff --git a/pkgs/development/python-modules/asgi_ipc/default.nix b/pkgs/development/python-modules/asgi_ipc/default.nix
deleted file mode 100644
index bdb12203de6..00000000000
--- a/pkgs/development/python-modules/asgi_ipc/default.nix
+++ /dev/null
@@ -1,21 +0,0 @@
-{ stdenv, buildPythonPackage, fetchurl,
-  asgiref, msgpack, posix_ipc
-}:
-buildPythonPackage rec {
-  version = "1.4.2";
-  pname = "asgi_ipc";
-  name = "${pname}-${version}";
-
-  src = fetchurl {
-    url = "mirror://pypi/a/asgi_ipc/${name}.tar.gz";
-    sha256 = "2403f41184405791b05e7aee570bd6ccd47e2d91845d78fe17adcf58ef48c037";
-  };
-
-  propagatedBuildInputs = [ asgiref msgpack posix_ipc ];
-
-  meta = with stdenv.lib; {
-    description = "Posix IPC-backed ASGI channel layer implementation";
-    license = licenses.bsd3;
-    homepage = https://github.com/django/asgi_ipc/;
-  };
-}
diff --git a/pkgs/development/python-modules/asgi_redis/default.nix b/pkgs/development/python-modules/asgi_redis/default.nix
deleted file mode 100644
index d4c9388f1a7..00000000000
--- a/pkgs/development/python-modules/asgi_redis/default.nix
+++ /dev/null
@@ -1,24 +0,0 @@
-{ stdenv, buildPythonPackage, fetchPypi,
-  asgiref, asgi_ipc, msgpack, six, redis, cryptography
-}:
-buildPythonPackage rec {
-  version = "1.4.3";
-  pname = "asgi_redis";
-  name = "${pname}-${version}";
-
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "10xk7k7mcd28nb3v93mc8xa7sa6p02jnbl8idk6scr6p75jaixzi";
-  };
-
-  # Requires a redis server available
-  doCheck = false;
-
-  propagatedBuildInputs = [ asgiref asgi_ipc msgpack six redis cryptography ];
-
-  meta = with stdenv.lib; {
-    description = "Redis-backed ASGI channel layer implementation";
-    license = licenses.bsd3;
-    homepage = https://github.com/django/asgi_redis/;
-  };
-}
diff --git a/pkgs/development/python-modules/asgiref/default.nix b/pkgs/development/python-modules/asgiref/default.nix
index 223f53698e9..a556cd3c87f 100644
--- a/pkgs/development/python-modules/asgiref/default.nix
+++ b/pkgs/development/python-modules/asgiref/default.nix
@@ -1,15 +1,23 @@
-{ stdenv, buildPythonPackage, fetchurl, six }:
+{ stdenv, buildPythonPackage, fetchFromGitHub, async-timeout, pytest, pytest-asyncio }:
 buildPythonPackage rec {
-  version = "2.1.5";
+  version = "2.2.0";
   pname = "asgiref";
-  name = "${pname}-${version}";
 
-  src = fetchurl {
-    url = "mirror://pypi/a/asgiref/${name}.tar.gz";
-    sha256 = "1a46196df28c67e046a54cc537ce5a8f6a59eb68649f54680d7e4fc3b113ab1b";
+  # PyPI tarball doesn't include tests directory
+  src = fetchFromGitHub {
+    owner = "django";
+    repo = pname;
+    rev = version;
+    sha256 = "0jsdkgwzswm1jbfm6d100yfvfzpic8v6ysydcnn798bbpwclj8ip";
   };
 
-  propagatedBuildInputs = [ six ];
+  propagatedBuildInputs = [ async-timeout ];
+
+  checkInputs = [ pytest pytest-asyncio ];
+
+  checkPhase = ''
+    py.test
+  '';
 
   meta = with stdenv.lib; {
     description = "Reference ASGI adapters and channel layers";
diff --git a/pkgs/development/python-modules/astral/default.nix b/pkgs/development/python-modules/astral/default.nix
index c6a3ac47aa7..1be99b5d4dd 100644
--- a/pkgs/development/python-modules/astral/default.nix
+++ b/pkgs/development/python-modules/astral/default.nix
@@ -1,19 +1,21 @@
-{ stdenv, buildPythonPackage, fetchPypi, pytz, pytest }:
+{ stdenv, buildPythonPackage, fetchPypi, pytz, requests, pytest }:
 
 buildPythonPackage rec {
   pname = "astral";
-  version = "1.5";
+  version = "1.6.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "527628fbfe90c1596c3950ff84ebd07ecc10c8fb1044c903a0519b5057700cb6";
+    sha256 = "ab0c08f2467d35fcaeb7bad15274743d3ac1ad18b5391f64a0058a9cd192d37d";
   };
 
-  propagatedBuildInputs = [ pytz ];
+  propagatedBuildInputs = [ pytz requests ];
 
   checkInputs = [ pytest ];
   checkPhase = ''
-    py.test -k "not test_GoogleLocator"
+    # https://github.com/sffjunkie/astral/pull/13
+    touch src/test/.api_key
+    py.test -m "not webtest"
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/python-modules/astroid/default.nix b/pkgs/development/python-modules/astroid/default.nix
index d22a10ec150..91b98d8b6ac 100644
--- a/pkgs/development/python-modules/astroid/default.nix
+++ b/pkgs/development/python-modules/astroid/default.nix
@@ -6,11 +6,11 @@
 buildPythonPackage rec {
   name = "${pname}-${version}";
   pname = "astroid";
-  version = "1.6.1";
+  version = "1.6.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "f0a0e386dbca9f93ea9f3ea6f32b37a24720502b7baa9cb17c3976a680d43a06";
+    sha256 = "35cfae47aac19c7b407b7095410e895e836f2285ccf1220336afba744cc4c5f2";
   };
 
   propagatedBuildInputs = [ logilab_common six lazy-object-proxy wrapt ]
diff --git a/pkgs/development/python-modules/astropy/default.nix b/pkgs/development/python-modules/astropy/default.nix
index ccf988fc56d..0dcd5dfca36 100644
--- a/pkgs/development/python-modules/astropy/default.nix
+++ b/pkgs/development/python-modules/astropy/default.nix
@@ -1,24 +1,25 @@
 { lib
 , fetchPypi
 , buildPythonPackage
+, isPy3k
 , numpy
 , pytest }:
 
 buildPythonPackage rec {
-  
   pname = "astropy";
-  version = "3.0";
+  version = "3.0.2";
+
+  disabled = !isPy3k; # according to setup.py
 
-  name = "${pname}-${version}";
   doCheck = false; #Some tests are failing. More importantly setup.py hangs on completion. Needs fixing with a proper shellhook.
+
   src = fetchPypi {
     inherit pname version;
-    sha256 = "9e0ad19b9d6d227bdf0932bbe64a8c5dd4a47d4ec078586cf24bf9f0c61d9ecf";
+    sha256 = "22e682904a3b8884595addfb743cf1a3ecf2b539c6616d98f8426208d822d84a";
   };
 
   propagatedBuildInputs = [ pytest numpy ]; # yes it really has pytest in install_requires
 
-
   meta = {
     description = "Astronomy/Astrophysics library for Python";
     homepage = http://www.astropy.org;
diff --git a/pkgs/development/python-modules/async_generator/default.nix b/pkgs/development/python-modules/async_generator/default.nix
new file mode 100644
index 00000000000..4f46376b62d
--- /dev/null
+++ b/pkgs/development/python-modules/async_generator/default.nix
@@ -0,0 +1,25 @@
+{ lib, buildPythonPackage, fetchPypi, pythonOlder, pytest, pytest-asyncio }:
+
+buildPythonPackage rec {
+  pname = "async_generator";
+  version = "1.9";
+
+  disabled = pythonOlder "3.5";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "b7d5465c6174fe86dba498ececb175f93a6097ffb7cc91946405e1f05b848371";
+  };
+
+  checkInputs = [ pytest pytest-asyncio ];
+
+  checkPhase = ''
+    pytest -W error -ra -v --pyargs async_generator
+  '';
+
+  meta = with lib; {
+    description = "Async generators and context managers for Python 3.5+";
+    homepage = https://github.com/python-trio/async_generator;
+    license = with licenses; [ mit asl20 ];
+  };
+}
diff --git a/pkgs/development/python-modules/async_timeout/default.nix b/pkgs/development/python-modules/async_timeout/default.nix
index 53010a2a031..5f9318aa5c2 100644
--- a/pkgs/development/python-modules/async_timeout/default.nix
+++ b/pkgs/development/python-modules/async_timeout/default.nix
@@ -7,11 +7,11 @@
 
 buildPythonPackage rec {
   pname = "async-timeout";
-  version = "2.0.0";
+  version = "2.0.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "c17d8ac2d735d59aa62737d76f2787a6c938f5a944ecf768a8c0ab70b0dea566";
+    sha256 = "00cff4d2dce744607335cba84e9929c3165632da2d27970dbc55802a0c7873d0";
   };
 
   # Circular dependency on aiohttp
diff --git a/pkgs/development/python-modules/asyncio/default.nix b/pkgs/development/python-modules/asyncio/default.nix
new file mode 100644
index 00000000000..c3ed7bed742
--- /dev/null
+++ b/pkgs/development/python-modules/asyncio/default.nix
@@ -0,0 +1,18 @@
+{ stdenv, buildPythonPackage, fetchPypi, isPy33, pythonOlder }:
+
+buildPythonPackage rec {
+  pname = "asyncio";
+  version = "3.4.3";
+  disabled = pythonOlder "3.3";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0hfbqwk9y0bbfgxzg93s2wyk6gcjsdxlr5jwy97hx64ppkw0ydl3";
+  };
+
+  meta = with stdenv.lib; {
+    description = "Reference implementation of PEP 3156";
+    homepage = http://www.python.org/dev/peps/pep-3156;
+    license = licenses.free;
+  };
+}
diff --git a/pkgs/development/python-modules/asynctest/default.nix b/pkgs/development/python-modules/asynctest/default.nix
index 2b0348a8758..a0f408764a0 100644
--- a/pkgs/development/python-modules/asynctest/default.nix
+++ b/pkgs/development/python-modules/asynctest/default.nix
@@ -2,7 +2,7 @@
 
 buildPythonPackage rec {
   pname = "asynctest";
-  version = "0.11.1";
+  version = "0.12.0";
 
   disabled = pythonOlder "3.4";
 
@@ -11,7 +11,7 @@ buildPythonPackage rec {
     owner = "Martiusweb";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1vvh5vbq2fbz6426figs85z8779r7svb4dp2v3xynhhv05nh2y6v";
+    sha256 = "0rcb3kz2m0iwvgxpx2avfz9cqsd9xbaq93zykr2fki3ikmnp3vyg";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/atomiclong/default.nix b/pkgs/development/python-modules/atomiclong/default.nix
new file mode 100644
index 00000000000..8f3aae7b19d
--- /dev/null
+++ b/pkgs/development/python-modules/atomiclong/default.nix
@@ -0,0 +1,21 @@
+{ stdenv, buildPythonPackage, fetchPypi, pytest, cffi }:
+
+buildPythonPackage rec {
+  pname = "atomiclong";
+  version = "0.1.1";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1gjbc9lvpkgg8vj7dspif1gz9aq4flkhxia16qj6yvb7rp27h4yb";
+  };
+
+  buildInputs = [ pytest ];
+  propagatedBuildInputs = [ cffi ];
+
+  meta = with stdenv.lib; {
+    description = "Long data type with atomic operations using CFFI";
+    homepage = https://github.com/dreid/atomiclong;
+    license = licenses.mit;
+    maintainers = with maintainers; [ robbinch ];
+  };
+}
diff --git a/pkgs/development/python-modules/atomicwrites/default.nix b/pkgs/development/python-modules/atomicwrites/default.nix
new file mode 100644
index 00000000000..b93ff7825fc
--- /dev/null
+++ b/pkgs/development/python-modules/atomicwrites/default.nix
@@ -0,0 +1,17 @@
+{ stdenv, buildPythonPackage, fetchPypi }:
+
+buildPythonPackage rec {
+  pname = "atomicwrites";
+  version = "1.1.5";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "240831ea22da9ab882b551b31d4225591e5e447a68c5e188db5b89ca1d487585";
+  };
+
+  meta = with stdenv.lib; {
+    description = "Atomic file writes on POSIX";
+    homepage = https://pypi.python.org/pypi/atomicwrites;
+    maintainers = with maintainers; [ matthiasbeyer ];
+  };
+}
diff --git a/pkgs/development/python-modules/attrdict/default.nix b/pkgs/development/python-modules/attrdict/default.nix
new file mode 100644
index 00000000000..c6a9151d911
--- /dev/null
+++ b/pkgs/development/python-modules/attrdict/default.nix
@@ -0,0 +1,19 @@
+{ stdenv, buildPythonPackage, fetchPypi, coverage, nose, six }:
+
+buildPythonPackage rec {
+  pname = "attrdict";
+  version = "2.0.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1lrailzxy40dx6sn1hbpnpqfbg7ar75dfj41kx0480wyh39vdbl6";
+  };
+
+  propagatedBuildInputs = [ coverage nose six ];
+
+  meta = with stdenv.lib; {
+    description = "A dict with attribute-style access";
+    homepage = https://github.com/bcj/AttrDict;
+    license = licenses.mit;
+  };
+}
diff --git a/pkgs/development/python-modules/autobahn/default.nix b/pkgs/development/python-modules/autobahn/default.nix
index 5a6121aaf7f..a48ab10474e 100644
--- a/pkgs/development/python-modules/autobahn/default.nix
+++ b/pkgs/development/python-modules/autobahn/default.nix
@@ -6,11 +6,11 @@
 buildPythonPackage rec {
   name = "${pname}-${version}";
   pname = "autobahn";
-  version = "17.9.3";
+  version = "18.3.1";
 
   src = fetchurl {
     url = "mirror://pypi/a/${pname}/${name}.tar.gz";
-    sha256 = "206a3a579a580ca3ce2532ac12ec52d447135c9ace7c4bf6065b832a7cff25ba";
+    sha256 = "fc1d38227bb44a453b54cffa48de8b2e6ce48ddc5e97fb5950b0faa27576f385";
   };
 
   # Upstream claim python2 support, but tests require pytest-asyncio which
@@ -27,7 +27,7 @@ buildPythonPackage rec {
 
   meta = with stdenv.lib; {
     description = "WebSocket and WAMP in Python for Twisted and asyncio.";
-    homepage    = "http://crossbar.io/autobahn";
+    homepage    = "https://crossbar.io/autobahn";
     license     = licenses.mit;
     maintainers = with maintainers; [ nand0p ];
     platforms   = platforms.all;
diff --git a/pkgs/development/python-modules/autopep8/default.nix b/pkgs/development/python-modules/autopep8/default.nix
index 6e58e3485ab..90d57b6c89d 100644
--- a/pkgs/development/python-modules/autopep8/default.nix
+++ b/pkgs/development/python-modules/autopep8/default.nix
@@ -2,12 +2,12 @@
 
 buildPythonPackage rec {
   pname = "autopep8";
-  version = "1.3.4";
+  version = "1.3.5";
   name = "${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "c7be71ab0cb2f50c9c22c82f0c9acaafc6f57492c3fbfee9790c415005c2b9a5";
+    sha256 = "192bvhzi4d0claqxgzymvv7k3qnj627742bc8sgxpzjj42pd9112";
   };
 
   propagatedBuildInputs = [ pycodestyle ];
diff --git a/pkgs/development/python-modules/avro/default.nix b/pkgs/development/python-modules/avro/default.nix
new file mode 100644
index 00000000000..045790b9bc2
--- /dev/null
+++ b/pkgs/development/python-modules/avro/default.nix
@@ -0,0 +1,17 @@
+{ stdenv, buildPythonPackage, fetchPypi, isPy3k }:
+
+buildPythonPackage rec {
+  pname = "avro";
+  version = "1.8.2";
+  disabled = isPy3k;
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "8f9ee40830b70b5fb52a419711c9c4ad0336443a6fba7335060805f961b04b59";
+  };
+
+  meta = with stdenv.lib; {
+    description = "A serialization and RPC framework";
+    homepage = https://pypi.python.org/pypi/avro/;
+  };
+}
diff --git a/pkgs/development/python-modules/avro3k/default.nix b/pkgs/development/python-modules/avro3k/default.nix
new file mode 100644
index 00000000000..3a5b34ebb85
--- /dev/null
+++ b/pkgs/development/python-modules/avro3k/default.nix
@@ -0,0 +1,19 @@
+{ stdenv, buildPythonPackage, fetchPypi, isPy3k }:
+
+buildPythonPackage rec {
+  pname = "avro3k";
+  version = "1.7.7-SNAPSHOT";
+  disabled = !isPy3k;
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "15ahl0irwwj558s964abdxg4vp6iwlabri7klsm2am6q5r0ngsky";
+  };
+
+  doCheck = false;        # No such file or directory: './run_tests.py
+
+  meta = with stdenv.lib; {
+    description = "A serialization and RPC framework";
+    homepage = https://pypi.python.org/pypi/avro3k/;
+  };
+}
diff --git a/pkgs/development/python-modules/aws-xray-sdk/default.nix b/pkgs/development/python-modules/aws-xray-sdk/default.nix
index dae88b34900..972b8f847bf 100644
--- a/pkgs/development/python-modules/aws-xray-sdk/default.nix
+++ b/pkgs/development/python-modules/aws-xray-sdk/default.nix
@@ -4,19 +4,20 @@
 , jsonpickle
 , wrapt
 , requests
+, future
 }:
 
 buildPythonPackage rec {
   pname = "aws-xray-sdk";
-  version = "0.95";
+  version = "0.97";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "9e7ba8dd08fd2939376c21423376206bff01d0deaea7d7721c6b35921fed1943";
+    sha256 = "43eca57bb48b718ea58968608cfd22f4b9c62c2d904bb08aa2f8afe56eeb9de4";
   };
 
   propagatedBuildInputs = [
-    jsonpickle wrapt requests
+    jsonpickle wrapt requests future
   ];
 
   meta = {
diff --git a/pkgs/development/python-modules/babelfish/default.nix b/pkgs/development/python-modules/babelfish/default.nix
new file mode 100644
index 00000000000..003f996d29a
--- /dev/null
+++ b/pkgs/development/python-modules/babelfish/default.nix
@@ -0,0 +1,17 @@
+{ stdenv, buildPythonPackage, fetchPypi }:
+
+buildPythonPackage rec {
+  pname = "babelfish";
+  version = "0.5.5";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "8380879fa51164ac54a3e393f83c4551a275f03617f54a99d70151358e444104";
+  };
+
+  meta = with stdenv.lib; {
+    homepage = https://pypi.python.org/pypi/babelfish;
+    description = "A module to work with countries and languages";
+    license = licenses.bsd3;
+  };
+}
diff --git a/pkgs/development/python-modules/backcall/default.nix b/pkgs/development/python-modules/backcall/default.nix
new file mode 100644
index 00000000000..2eb44cb3624
--- /dev/null
+++ b/pkgs/development/python-modules/backcall/default.nix
@@ -0,0 +1,28 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pytest
+}:
+
+buildPythonPackage rec {
+  pname = "backcall";
+  version = "0.1.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "38ecd85be2c1e78f77fd91700c76e14667dc21e2713b63876c0eb901196e01e4";
+  };
+
+  checkInputs = [ pytest ];
+
+  checkPhase = ''
+    py.test
+  '';
+
+  meta = {
+    description = "Specifications for callback functions passed in to an API";
+    homepage = https://github.com/takluyver/backcall;
+    license = lib.licenses.bsd3;
+  };
+
+}
\ No newline at end of file
diff --git a/pkgs/development/python-modules/batinfo/default.nix b/pkgs/development/python-modules/batinfo/default.nix
new file mode 100644
index 00000000000..3e21fae1de6
--- /dev/null
+++ b/pkgs/development/python-modules/batinfo/default.nix
@@ -0,0 +1,22 @@
+{ stdenv, buildPythonPackage, fetchPypi }:
+
+buildPythonPackage rec {
+  pname = "batinfo";
+  version = "0.4.2";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "497e29efc9353ec52e71d43bd040bdfb6d685137ddc2b9143cded4583af572f5";
+  };
+
+  # No tests included
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/nicolargo/batinfo;
+    description = "A simple Python lib to retrieve battery information";
+    license = licenses.lgpl3;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ koral ];
+  };
+}
diff --git a/pkgs/development/python-modules/bayespy/default.nix b/pkgs/development/python-modules/bayespy/default.nix
index a1b49da34a4..83bb1063195 100644
--- a/pkgs/development/python-modules/bayespy/default.nix
+++ b/pkgs/development/python-modules/bayespy/default.nix
@@ -4,7 +4,7 @@
 
 buildPythonPackage rec {
   pname = "bayespy";
-  version = "0.5.12";
+  version = "0.5.17";
   name = "${pname}-${version}";
 
   # Python 2 not supported and not some old Python 3 because MPL doesn't support
@@ -13,7 +13,7 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "9609a3e85f88434a47c8263f40567cd24363d0e10d236354630b670fca313c00";
+    sha256 = "2e04cd9873eea6891ea8dfd5fc6d718727ea7cc416bc2ced50e00a741386925f";
   };
 
   checkInputs = [ pytest glibcLocales ];
diff --git a/pkgs/development/python-modules/bcdoc/default.nix b/pkgs/development/python-modules/bcdoc/default.nix
new file mode 100644
index 00000000000..b4db16476d1
--- /dev/null
+++ b/pkgs/development/python-modules/bcdoc/default.nix
@@ -0,0 +1,22 @@
+{ stdenv, buildPythonPackage, fetchPypi, docutils, six }:
+
+buildPythonPackage rec {
+  pname = "bcdoc";
+  version = "0.16.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "f568c182e06883becf7196f227052435cffd45604700c82362ca77d3427b6202";
+  };
+
+  buildInputs = [ docutils six ];
+
+  # Tests fail due to nix file timestamp normalization.
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/botocore/bcdoc;
+    license = licenses.asl20;
+    description = "ReST document generation tools for botocore";
+  };
+}
diff --git a/pkgs/applications/office/beancount/default.nix b/pkgs/development/python-modules/beancount/default.nix
index efc61dba7a4..2991ae9be82 100644
--- a/pkgs/applications/office/beancount/default.nix
+++ b/pkgs/development/python-modules/beancount/default.nix
@@ -1,16 +1,20 @@
-{ stdenv, fetchhg, pkgs, pythonPackages }:
+{ stdenv, buildPythonPackage, fetchPypi, isPy3k
+, beautifulsoup4, bottle, chardet, dateutil
+, google_api_python_client, lxml, ply, python_magic
+, nose }:
 
-pythonPackages.buildPythonApplication rec {
-  version = "2.0rc1";
-  name = "beancount-${version}";
-  namePrefix = "";
+buildPythonPackage rec {
+  version = "2.0.0";
+  pname = "beancount";
 
-  src = pkgs.fetchurl {
-    url = "mirror://pypi/b/beancount/${name}.tar.gz";
-    sha256 = "12vlkck4q3dax9866krp6963c6d845b7inkkwrlkk4njh84n71wf";
+  disabled = !isPy3k;
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0wxwf02d3raglwqsxdsgf89fniakv1m19q825w76k5z004g18y42";
   };
 
-  buildInputs = with pythonPackages; [ nose ];
+  checkInputs = [ nose ];
 
   # Automatic tests cannot be run because it needs to import some local modules for tests.
   doCheck = false;
@@ -18,7 +22,7 @@ pythonPackages.buildPythonApplication rec {
     nosetests
   '';
 
-  propagatedBuildInputs = with pythonPackages; [
+  propagatedBuildInputs = [
     beautifulsoup4
     bottle
     chardet
@@ -38,7 +42,7 @@ pythonPackages.buildPythonApplication rec {
         generate a variety of reports from them, and provides a web interface.
     '';
     license = stdenv.lib.licenses.gpl2;
-    maintainers = with stdenv.lib.maintainers; [ matthiasbeyer ];
+    maintainers = with stdenv.lib.maintainers; [ ];
   };
 }
 
diff --git a/pkgs/development/python-modules/behave/default.nix b/pkgs/development/python-modules/behave/default.nix
index 80acc58f654..722117ba6e8 100644
--- a/pkgs/development/python-modules/behave/default.nix
+++ b/pkgs/development/python-modules/behave/default.nix
@@ -1,23 +1,22 @@
 { stdenv, fetchPypi
-, buildPythonApplication, python, pythonAtLeast
-, mock, nose, pyhamcrest
+, buildPythonApplication, isPy27, python, pythonOlder
+, mock, nose, pathpy, pyhamcrest, pytest
 , glibcLocales, parse, parse-type, six
+, traceback2
 }:
 buildPythonApplication rec {
   pname = "behave";
-  version = "1.2.5";
+  version = "1.2.6";
   name = "${pname}-${version}";
 
-  disabled = pythonAtLeast "3.6";
-
   src = fetchPypi {
     inherit pname version;
-    sha256 = "81b731ac5187e31e4aad2594944fa914943683a9818320846d037c5ebd6d5d0b";
+    sha256 = "11hsz365qglvpp1m1w16239c3kiw15lw7adha49lqaakm8kj6rmr";
   };
 
-  checkInputs = [ mock nose pyhamcrest ];
+  checkInputs = [ mock nose pathpy pyhamcrest pytest ];
   buildInputs = [ glibcLocales ];
-  propagatedBuildInputs = [ parse parse-type six ];
+  propagatedBuildInputs = [ parse parse-type six ] ++ stdenv.lib.optional (pythonOlder "3.0") traceback2;
 
   postPatch = ''
     patchShebangs bin
@@ -29,7 +28,7 @@ buildPythonApplication rec {
     export LANG="en_US.UTF-8"
     export LC_ALL="en_US.UTF-8"
 
-    nosetests -x
+    pytest test tests
 
     ${python.interpreter} bin/behave -f progress3 --stop --tags='~@xfail' features/
     ${python.interpreter} bin/behave -f progress3 --stop --tags='~@xfail' tools/test-features/
diff --git a/pkgs/development/python-modules/betamax/default.nix b/pkgs/development/python-modules/betamax/default.nix
new file mode 100644
index 00000000000..8051ed0beff
--- /dev/null
+++ b/pkgs/development/python-modules/betamax/default.nix
@@ -0,0 +1,22 @@
+{ stdenv, buildPythonPackage, fetchPypi, requests }:
+
+buildPythonPackage rec {
+  pname = "betamax";
+  version = "0.8.1";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1hki1c2vs7adq7zr56wi6i5bhrkia4s2ywpv2c98ibnczz709w2v";
+  };
+
+  propagatedBuildInputs = [ requests ];
+
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    homepage = https://betamax.readthedocs.org/en/latest/;
+    description = "A VCR imitation for requests";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ pSub ];
+  };
+}
diff --git a/pkgs/development/python-modules/bibtexparser/default.nix b/pkgs/development/python-modules/bibtexparser/default.nix
index 50e389a9e14..05ee0ea9553 100644
--- a/pkgs/development/python-modules/bibtexparser/default.nix
+++ b/pkgs/development/python-modules/bibtexparser/default.nix
@@ -1,20 +1,28 @@
 { lib
-, buildPythonPackage
-, fetchPypi
+, buildPythonPackage, fetchFromGitHub
+, future, pyparsing
+, glibcLocales, nose
 }:
 
 buildPythonPackage rec {
   pname = "bibtexparser";
   version = "1.0.1";
-  name = "${pname}-${version}";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "cc41cdd8332c2bf44b97daf1f135f4f267c3b744c33976655cd270b66f964c0a";
+  # PyPI tarball does not ship tests
+  src = fetchFromGitHub {
+    owner = "sciunto-org";
+    repo = "python-${pname}";
+    rev = "v${version}";
+    sha256 = "0lmlarkfbq2hp1wa04a62245jr2mqizqsdlgilj5aq6vy92gr6ai";
   };
 
-  # No tests in archive
-  doCheck = false;
+  propagatedBuildInputs = [ future pyparsing ];
+
+  checkInputs = [ nose glibcLocales ];
+
+  checkPhase = ''
+    LC_ALL="en_US.UTF-8" nosetests
+  '';
 
   meta = {
     description = "Bibtex parser for python 2.7 and 3.3 and newer";
diff --git a/pkgs/development/python-modules/billiard/default.nix b/pkgs/development/python-modules/billiard/default.nix
new file mode 100644
index 00000000000..6b21a1492bd
--- /dev/null
+++ b/pkgs/development/python-modules/billiard/default.nix
@@ -0,0 +1,20 @@
+{ stdenv, buildPythonPackage, fetchPypi, isPyPy, pytest, case }:
+
+buildPythonPackage rec {
+  pname = "billiard";
+  version = "3.5.0.3";
+  disabled = isPyPy;
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1d7b22bdc47aa52841120fcd22a74ae4fc8c13e9d3935643098184f5788c3ce6";
+  };
+
+  buildInputs = [ pytest case ];
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/celery/billiard;
+    description = "Python multiprocessing fork with improvements and bugfixes";
+    license = licenses.bsd3;
+  };
+}
diff --git a/pkgs/development/python-modules/binaryornot/default.nix b/pkgs/development/python-modules/binaryornot/default.nix
new file mode 100644
index 00000000000..2f0b01a5c23
--- /dev/null
+++ b/pkgs/development/python-modules/binaryornot/default.nix
@@ -0,0 +1,27 @@
+{ lib, buildPythonPackage, fetchPypi, chardet, hypothesis }:
+
+buildPythonPackage rec {
+  pname = "binaryornot";
+  version = "0.4.4";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "359501dfc9d40632edc9fac890e19542db1a287bbcfa58175b66658392018061";
+  };
+
+  prePatch = ''
+    # See https://github.com/audreyr/binaryornot/issues/40
+    substituteInPlace tests/test_check.py \
+      --replace "average_size=512" "average_size=128"
+  '';
+
+  propagatedBuildInputs = [ chardet ];
+
+  checkInputs = [ hypothesis ];
+
+  meta = with lib; {
+    homepage = https://github.com/audreyr/binaryornot;
+    description = "Ultra-lightweight pure Python package to check if a file is binary or text";
+    license = licenses.bsd3;
+  };
+}
diff --git a/pkgs/development/python-modules/biopython/default.nix b/pkgs/development/python-modules/biopython/default.nix
index ea09a003c66..8f99c0d75d3 100644
--- a/pkgs/development/python-modules/biopython/default.nix
+++ b/pkgs/development/python-modules/biopython/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "biopython";
-  version = "1.70";
+  version = "1.71";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "4a7c5298f03d1a45523f32bae1fffcff323ea9dce007fb1241af092f5ab2e45b";
+    sha256 = "4f1770a29a5b18fcaca759bbc888083cdde2b301f073439ff640570d4a93e033";
   };
 
   propagatedBuildInputs = [ numpy ];
diff --git a/pkgs/development/python-modules/bitbucket-api/default.nix b/pkgs/development/python-modules/bitbucket-api/default.nix
new file mode 100644
index 00000000000..0d1ac109179
--- /dev/null
+++ b/pkgs/development/python-modules/bitbucket-api/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, buildPythonPackage, fetchPypi, isPy3k
+, requests_oauthlib, nose, sh }:
+
+buildPythonPackage rec {
+  pname = "bitbucket-api";
+  version = "0.5.0";
+  disabled = isPy3k;
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "b541d9d7f234074a74214505aff1846eb21e5dd6d3915139e817d4675d34f4e3";
+  };
+
+  propagatedBuildInputs = [ requests_oauthlib nose sh ];
+
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/Sheeprider/BitBucket-api;
+    description = "Python library to interact with BitBucket REST API";
+    license = licenses.mit;
+  };
+}
diff --git a/pkgs/development/python-modules/bitbucket-cli/default.nix b/pkgs/development/python-modules/bitbucket-cli/default.nix
new file mode 100644
index 00000000000..b5d115f4d0b
--- /dev/null
+++ b/pkgs/development/python-modules/bitbucket-cli/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, buildPythonPackage, fetchPypi, isPy3k, requests }:
+
+buildPythonPackage rec {
+  pname = "bitbucket-cli";
+  version = "0.5.1";
+  disabled = isPy3k;
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1xmn73x6jirnwfwcdy380ncmkai9f9dhmld6zin01ypbqwgf50fq";
+  };
+
+  propagatedBuildInputs = [ requests ];
+
+  # No tests
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    description = "Bitbucket command line interface";
+    homepage = https://bitbucket.org/zhemao/bitbucket-cli;
+    maintainers = with maintainers; [ refnil ];
+  };
+}
diff --git a/pkgs/development/python-modules/bitmath/default.nix b/pkgs/development/python-modules/bitmath/default.nix
new file mode 100644
index 00000000000..bb2e6046886
--- /dev/null
+++ b/pkgs/development/python-modules/bitmath/default.nix
@@ -0,0 +1,20 @@
+{ stdenv, buildPythonPackage, fetchPypi, isPy3k, progressbar231, progressbar33, mock }:
+
+buildPythonPackage rec {
+  pname = "bitmath";
+  version = "1.3.1.2";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1k8d1wmxqjc8cqzaixpxf45k6dl1kqhblr0g4wyjl0qa18q8wasd";
+  };
+
+  checkInputs = [ (if isPy3k then progressbar33 else progressbar231) mock ];
+
+  meta = with stdenv.lib; {
+    description = "Module for representing and manipulating file sizes with different prefix";
+    homepage = https://github.com/tbielawa/bitmath;
+    license = licenses.mit;
+    maintainers = with maintainers; [ twey ];
+  };
+}
diff --git a/pkgs/development/python-modules/black/default.nix b/pkgs/development/python-modules/black/default.nix
new file mode 100644
index 00000000000..f48310ceebc
--- /dev/null
+++ b/pkgs/development/python-modules/black/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, buildPythonPackage, fetchPypi, pythonOlder, attrs, click }:
+
+buildPythonPackage rec {
+  pname = "black";
+  version = "18.4a0";
+
+  disabled = pythonOlder "3.6";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "04dffr4wmzs4vf2xj0cxp03hv04x0kk06qyzx6jjrp1mq0z3n2rr";
+  };
+
+  propagatedBuildInputs = [ attrs click ];
+
+  meta = with stdenv.lib; {
+    description = "The uncompromising Python code formatter";
+    homepage    = https://github.com/ambv/black;
+    license     = licenses.mit;
+    maintainers = with maintainers; [ sveitser ];
+  };
+
+}
diff --git a/pkgs/development/python-modules/blaze/default.nix b/pkgs/development/python-modules/blaze/default.nix
index 74e327fd342..b3c56a618e8 100644
--- a/pkgs/development/python-modules/blaze/default.nix
+++ b/pkgs/development/python-modules/blaze/default.nix
@@ -1,6 +1,6 @@
 { lib
 , buildPythonPackage
-, fetchurl
+, fetchFromGitHub
 , pytest
 , contextlib2
 , cytoolz
@@ -27,9 +27,11 @@ buildPythonPackage rec {
   pname = "blaze";
   version = "0.11.3";
 
-  src = fetchurl {
-    url = "https://github.com/blaze/blaze/archive/${version}.tar.gz";
-    sha256 = "075gqc9d7g284z4nfwv5zbq99ln22w25l4lcndjg3v10kmsjadww";
+  src = fetchFromGitHub {
+    owner = pname;
+    repo = pname;
+    rev = version;
+    sha256 = "0w916k125058p40cf7i090f75pgv3cqdb8vwjzqhb9r482fa6717";
   };
 
   checkInputs = [ pytest ];
diff --git a/pkgs/development/python-modules/bleach/default.nix b/pkgs/development/python-modules/bleach/default.nix
index e4ccb0c92d6..786564b92e0 100644
--- a/pkgs/development/python-modules/bleach/default.nix
+++ b/pkgs/development/python-modules/bleach/default.nix
@@ -9,11 +9,11 @@
 
 buildPythonPackage rec {
   pname = "bleach";
-  version = "2.1.2";
+  version = "2.1.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "38fc8cbebea4e787d8db55d6f324820c7f74362b70db9142c1ac7920452d1a19";
+    sha256 = "eb7386f632349d10d9ce9d4a838b134d4731571851149f9cc2c05a9a837a9a44";
   };
 
   checkInputs = [ pytest pytestrunner ];
@@ -41,4 +41,4 @@ buildPythonPackage rec {
     license = lib.licenses.asl20;
     maintainers = with lib.maintainers; [ prikhi ];
   };
-}
\ No newline at end of file
+}
diff --git a/pkgs/development/python-modules/blinker/default.nix b/pkgs/development/python-modules/blinker/default.nix
new file mode 100644
index 00000000000..5dd9d10961b
--- /dev/null
+++ b/pkgs/development/python-modules/blinker/default.nix
@@ -0,0 +1,18 @@
+{ stdenv, buildPythonPackage, fetchPypi }:
+
+buildPythonPackage rec {
+  pname = "blinker";
+  version = "1.4";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1dpq0vb01p36jjwbhhd08ylvrnyvcc82yxx3mwjx6awrycjyw6j7";
+  };
+
+  meta = with stdenv.lib; {
+    homepage = http://pythonhosted.org/blinker/;
+    description = "Fast, simple object-to-object and broadcast signaling";
+    license = licenses.mit;
+    maintainers = with maintainers; [ garbas ];
+  };
+}
diff --git a/pkgs/development/python-modules/blinkstick/default.nix b/pkgs/development/python-modules/blinkstick/default.nix
new file mode 100644
index 00000000000..96f7bfebdeb
--- /dev/null
+++ b/pkgs/development/python-modules/blinkstick/default.nix
@@ -0,0 +1,31 @@
+{ lib, buildPythonPackage, fetchPypi, fetchpatch, pyusb }:
+
+buildPythonPackage rec {
+  pname = "BlinkStick";
+  version = "1.1.8";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "3edf4b83a3fa1a7bd953b452b76542d54285ff6f1145b6e19f9b5438120fa408";
+  };
+
+  patches = [
+    (fetchpatch {
+      url = https://github.com/arvydas/blinkstick-python/commit/a9227d0.patch;
+      sha256 = "1mcmxlnkbfxwp84qz32l5rlc7r9anh9yhnqaj1y8rny5s13jb01f";
+    })
+    (fetchpatch {
+      url = https://github.com/arvydas/blinkstick-python/pull/54.patch;
+      sha256 = "1gjq6xbai794bbdyrv82i96l1a7qkwvlhzd6sa937dy5ivv6s6hl";
+    })
+  ];
+
+  propagatedBuildInputs = [ pyusb ];
+
+  meta = with lib; {
+    description = "Python package to control BlinkStick USB devices";
+    homepage = https://pypi.python.org/pypi/BlinkStick/;
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ np ];
+  };
+}
diff --git a/pkgs/development/python-modules/bokeh/default.nix b/pkgs/development/python-modules/bokeh/default.nix
index 66a5a542bf1..1d2ccc2d510 100644
--- a/pkgs/development/python-modules/bokeh/default.nix
+++ b/pkgs/development/python-modules/bokeh/default.nix
@@ -34,11 +34,11 @@
 buildPythonPackage rec {
   pname = "bokeh";
   name = "${pname}${version}";
-  version = "0.12.14";
+  version = "0.12.15";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "42abada2e484d2d5b290d14a943e1c3cd7adabd39933b5f074f57b6cf7920a87";
+    sha256 = "2891b883b30107dc610a7e963a21222f1fd096844d157c09db115179cfab6513";
   };
 
   disabled = isPyPy;
diff --git a/pkgs/development/python-modules/bootstrapped-pip/default.nix b/pkgs/development/python-modules/bootstrapped-pip/default.nix
index 37c3ea5d72a..250703cbc53 100644
--- a/pkgs/development/python-modules/bootstrapped-pip/default.nix
+++ b/pkgs/development/python-modules/bootstrapped-pip/default.nix
@@ -3,34 +3,26 @@
 let
   wheel_source = fetchPypi {
     pname = "wheel";
-    version = "0.30.0";
+    version = "0.31.0";
     format = "wheel";
-    sha256 = "e721e53864f084f956f40f96124a74da0631ac13fbbd1ba99e8e2b5e9cafdf64";
+    sha256 = "9cdc8ab2cc9c3c2e2727a4b67c22881dbb0e1c503d592992594c5e131c867107";
   };
   setuptools_source = fetchPypi {
     pname = "setuptools";
-    version = "38.4.0";
+    version = "39.0.1";
     format = "wheel";
-    sha256 = "155c2ec9fdcc00c3973d966b416e1cf3a1e7ce75f4c09fb760b23f94b935926e";
-  };
-
-  # TODO: Shouldn't be necessary anymore for pip > 9.0.1!
-  # https://github.com/NixOS/nixpkgs/issues/26392
-  # https://github.com/pypa/setuptools/issues/885
-  pkg_resources = fetchurl {
-    url = "https://raw.githubusercontent.com/pypa/setuptools/v36.0.1/pkg_resources/__init__.py";
-    sha256 = "1wdnq3mammk75mifkdmmjx7yhnpydvnvi804na8ym4mj934l2jkv";
+    sha256 = "8010754433e3211b9cdbbf784b50f30e80bf40fc6b05eb5f865fab83300599b8";
   };
 
 in stdenv.mkDerivation rec {
   pname = "pip";
-  version = "9.0.1";
+  version = "10.0.1";
   name = "${python.libPrefix}-bootstrapped-${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
     format = "wheel";
-    sha256 = "690b762c0a8460c303c089d5d0be034fb15a5ea2b75bdf565f40421f542fefb0";
+    sha256 = "717cdffb2833be8409433a93746744b59505f42146e8d37de6c62b430e25d6d7";
   };
 
   unpackPhase = ''
@@ -38,8 +30,6 @@ in stdenv.mkDerivation rec {
     unzip -d $out/${python.sitePackages} $src
     unzip -d $out/${python.sitePackages} ${setuptools_source}
     unzip -d $out/${python.sitePackages} ${wheel_source}
-    # TODO: Shouldn't be necessary anymore for pip > 9.0.1!
-    cp ${pkg_resources} $out/${python.sitePackages}/pip/_vendor/pkg_resources/__init__.py
   '';
 
   patchPhase = ''
@@ -53,7 +43,7 @@ in stdenv.mkDerivation rec {
 
     # install pip binary
     echo '#!${python.interpreter}' > $out/bin/pip
-    echo 'import sys;from pip import main' >> $out/bin/pip
+    echo 'import sys;from pip._internal import main' >> $out/bin/pip
     echo 'sys.exit(main())' >> $out/bin/pip
     chmod +x $out/bin/pip
 
diff --git a/pkgs/development/python-modules/boto3/default.nix b/pkgs/development/python-modules/boto3/default.nix
index eaab0031205..042ad9cf793 100644
--- a/pkgs/development/python-modules/boto3/default.nix
+++ b/pkgs/development/python-modules/boto3/default.nix
@@ -13,13 +13,13 @@
 
 buildPythonPackage rec {
   pname =  "boto3";
-  version = "1.4.8";
+  version = "1.7.9";
 
   src = fetchFromGitHub {
     owner = "boto";
     repo  = "boto3";
     rev   = version;
-    sha256 = "11ysd7a9l5y98q7b7az56phsj2m7w90abf4jabwrknp2c43sq9bi";
+    sha256 = "0yqym19nlayjm1qlh6vvinmk5xw0zskil971n2v9s65ray7sn5lv";
   };
 
   propagatedBuildInputs = [ botocore jmespath s3transfer ] ++ lib.optionals (!isPy3k) [ futures ];
diff --git a/pkgs/development/python-modules/botocore/default.nix b/pkgs/development/python-modules/botocore/default.nix
index e363136615e..cd9c5729611 100644
--- a/pkgs/development/python-modules/botocore/default.nix
+++ b/pkgs/development/python-modules/botocore/default.nix
@@ -12,11 +12,11 @@
 buildPythonPackage rec {
   name = "${pname}-${version}";
   pname = "botocore";
-  version = "1.8.45";
+  version = "1.10.9";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "8f91b648a216dc945783d1539c013fc08a9e65ecc4fc5aae017bdd5961fd3468";
+    sha256 = "19vlf2w05h9818hrhx8al4r9ngfhvhf2pxcwka9s7bc51qnhx4xh";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/bottle/default.nix b/pkgs/development/python-modules/bottle/default.nix
new file mode 100644
index 00000000000..50df0d5842c
--- /dev/null
+++ b/pkgs/development/python-modules/bottle/default.nix
@@ -0,0 +1,21 @@
+{ stdenv, buildPythonPackage, fetchPypi, setuptools }:
+
+buildPythonPackage rec {
+  pname = "bottle";
+  version = "0.12.13";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "39b751aee0b167be8dffb63ca81b735bbf1dd0905b3bc42761efedee8f123355";
+  };
+
+  propagatedBuildInputs = [ setuptools ];
+
+  meta = with stdenv.lib; {
+    homepage = http://bottlepy.org;
+    description = "A fast and simple micro-framework for small web-applications";
+    license = licenses.mit;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ koral ];
+  };
+}
diff --git a/pkgs/development/python-modules/bugwarrior/default.nix b/pkgs/development/python-modules/bugwarrior/default.nix
new file mode 100644
index 00000000000..ada8397f975
--- /dev/null
+++ b/pkgs/development/python-modules/bugwarrior/default.nix
@@ -0,0 +1,31 @@
+{ stdenv, buildPythonPackage, fetchPypi
+, mock, unittest2, nose
+, twiggy, requests, offtrac, bugzilla, taskw, dateutil, pytz, keyring, six
+, jinja2, pycurl, dogpile_cache, lockfile, click, pyxdg, future15 }:
+
+buildPythonPackage rec {
+  pname = "bugwarrior";
+  version = "1.5.1";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0kxknjbw5kchd88i577vlzibg8j60r7zzdhbnragj9wg5s3w60xb";
+  };
+
+  buildInputs = [ mock unittest2 nose /* jira megaplan */ ];
+  propagatedBuildInputs = [
+    twiggy requests offtrac bugzilla taskw dateutil pytz keyring six
+    jinja2 pycurl dogpile_cache lockfile click pyxdg future15
+  ];
+
+  # for the moment jira>=0.22 and megaplan>=1.4 are missing for running the test suite.
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    homepage =  https://github.com/ralphbean/bugwarrior;
+    description = "Sync github, bitbucket, bugzilla, and trac issues with taskwarrior";
+    license = licenses.gpl3Plus;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ pierron ];
+  };
+}
diff --git a/pkgs/development/python-modules/bugzilla/default.nix b/pkgs/development/python-modules/bugzilla/default.nix
new file mode 100644
index 00000000000..b57fdd5625b
--- /dev/null
+++ b/pkgs/development/python-modules/bugzilla/default.nix
@@ -0,0 +1,30 @@
+{ stdenv, buildPythonPackage, fetchPypi
+, pep8, coverage, logilab_common, requests }:
+
+buildPythonPackage rec {
+  pname = "bugzilla";
+  version = "1.1.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0ikx21nm7cch4lz9agv5h1hx6zvg2alkpfdrl01khqgilhsicdhi";
+  };
+
+  patches = [ ./checkPhase-fix-cookie-compare.patch ];
+
+  buildInputs = [ pep8 coverage logilab_common ];
+  propagatedBuildInputs = [ requests ];
+
+  preCheck = ''
+    mkdir -p check-phase
+    export HOME=$(pwd)/check-phase
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = https://fedorahosted.org/python-bugzilla/;
+    description = "Bugzilla XMLRPC access module";
+    license = licenses.gpl2;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ pierron ];
+  };
+}
diff --git a/pkgs/development/python-modules/buildout-nix/default.nix b/pkgs/development/python-modules/buildout-nix/default.nix
index c4cde583f05..95b0f8dddc5 100644
--- a/pkgs/development/python-modules/buildout-nix/default.nix
+++ b/pkgs/development/python-modules/buildout-nix/default.nix
@@ -2,12 +2,12 @@
 
 buildPythonPackage rec {
   pname = "zc.buildout";
-  version = "2.11.0";
+  version = "2.11.3";
   name = "${pname}-nix-${version}";
 
   src = fetchurl {
     url = "mirror://pypi/${builtins.substring 0 1 pname}/${pname}/${pname}-${version}.tar.gz";
-    sha256 = "092b0a147d5fb4e79ee0afde665570f85738e714463854f9e4f7f38d0b27ea82";
+    sha256 = "f7fde2cde7b937f67e52a3e94b76f9294b73c1e9bb698430e96778f3f735544c";
   };
 
   patches = [ ./nix.patch ];
diff --git a/pkgs/development/python-modules/buildout/default.nix b/pkgs/development/python-modules/buildout/default.nix
new file mode 100644
index 00000000000..9efc53ebe6d
--- /dev/null
+++ b/pkgs/development/python-modules/buildout/default.nix
@@ -0,0 +1,18 @@
+{ stdenv, buildPythonPackage, fetchPypi }:
+
+buildPythonPackage rec {
+  pname = "zc.buildout";
+  version = "2.2.5";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "fb08f24f9e51e647e29d714f6e9ad51a4ea28673dddeed831315617bb5a805d0";
+  };
+
+  meta = with stdenv.lib; {
+    homepage = http://www.buildout.org;
+    description = "A software build and configuration system";
+    license = licenses.zpl21;
+    maintainers = with maintainers; [ garbas ];
+  };
+}
diff --git a/pkgs/development/python-modules/bumps/default.nix b/pkgs/development/python-modules/bumps/default.nix
new file mode 100644
index 00000000000..51d3d9e6833
--- /dev/null
+++ b/pkgs/development/python-modules/bumps/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, buildPythonPackage, fetchPypi, six}:
+
+buildPythonPackage rec {
+  pname = "bumps";
+  version = "0.7.6";
+
+  propagatedBuildInputs = [six];
+
+  # Bumps does not provide its own tests.py, so the test
+  # always fails
+  doCheck = false;
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1ahzw8ls9wsz2ks668s15zskyykib52fhi07mg50hp7lw9avqb5k";
+  };
+
+  meta = with stdenv.lib; {
+    homepage = http://www.reflectometry.org/danse/software.html;
+    description = "Data fitting with bayesian uncertainty analysis";
+    maintainers = with maintainers; [ rprospero ];
+    license = licenses.publicDomain;
+  };
+}
diff --git a/pkgs/development/python-modules/bunch/default.nix b/pkgs/development/python-modules/bunch/default.nix
new file mode 100644
index 00000000000..42918f02339
--- /dev/null
+++ b/pkgs/development/python-modules/bunch/default.nix
@@ -0,0 +1,17 @@
+{ stdenv, buildPythonPackage, fetchPypi }:
+
+buildPythonPackage rec {
+  pname = "bunch";
+  version = "1.0.1";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1akalx2pd1fjlvrq69plvcx783ppslvikqdm93z2sdybq07pmish";
+  };
+
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    maintainers = with maintainers; [ ];
+  };
+}
diff --git a/pkgs/development/python-modules/buttersink/default.nix b/pkgs/development/python-modules/buttersink/default.nix
new file mode 100644
index 00000000000..29f5ff5dccd
--- /dev/null
+++ b/pkgs/development/python-modules/buttersink/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, buildPythonPackage, fetchPypi, isPy3k, boto, crcmod, psutil }:
+
+buildPythonPackage rec {
+  pname = "buttersink";
+  version = "0.6.8";
+  disabled = isPy3k;
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "04gc63kfcqkw4qba5rijqk01xiphf04yk7hky9180ii64v2ip0j3";
+  };
+
+  propagatedBuildInputs = [ boto crcmod psutil ];
+
+  meta = with stdenv.lib; {
+    description = "Synchronise btrfs snapshots";
+    longDescription = ''
+      ButterSink is like rsync, but for btrfs subvolumes instead of files,
+      which makes it much more efficient for things like archiving backup
+      snapshots. It is built on top of btrfs send and receive capabilities.
+      Sources and destinations can be local btrfs file systems, remote btrfs
+      file systems over SSH, or S3 buckets.
+    '';
+    homepage = https://github.com/AmesCornish/buttersink/wiki;
+    license = licenses.gpl3;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/python-modules/cached-property/default.nix b/pkgs/development/python-modules/cached-property/default.nix
index 6ab5015a1e7..924ce07c8e7 100644
--- a/pkgs/development/python-modules/cached-property/default.nix
+++ b/pkgs/development/python-modules/cached-property/default.nix
@@ -1,19 +1,27 @@
 { lib
 , buildPythonPackage
-, fetchPypi
+, fetchFromGitHub
+, pytest
 , freezegun
 }:
 
 buildPythonPackage rec {
   pname = "cached-property";
-  version = "1.3.1";
+  version = "1.4.2";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "6562f0be134957547421dda11640e8cadfa7c23238fc4e0821ab69efdb1095f3";
+  # conftest.py is missing in PyPI tarball
+  src = fetchFromGitHub {
+    owner = "pydanny";
+    repo = pname;
+    rev = version;
+    sha256 = "0gjmgfilhljkx2b60cjikwh55jg2jwxhwi8hgkrzdnzk465ywhrw";
   };
 
-  checkInputs = [ freezegun ];
+  checkInputs = [ pytest freezegun ];
+
+  checkPhase = ''
+    py.test
+  '';
 
   meta = {
     description = "A decorator for caching properties in classes";
@@ -22,4 +30,4 @@ buildPythonPackage rec {
     platforms = lib.platforms.unix;
     maintainers = with lib.maintainers; [ ericsagnes ];
   };
-}
\ No newline at end of file
+}
diff --git a/pkgs/development/python-modules/cachetools/1.nix b/pkgs/development/python-modules/cachetools/1.nix
index edfe965fa80..6daa735cfae 100644
--- a/pkgs/development/python-modules/cachetools/1.nix
+++ b/pkgs/development/python-modules/cachetools/1.nix
@@ -3,12 +3,12 @@
 buildPythonPackage rec {
   name = "${pname}-${version}";
   pname = "cachetools";
-  version = "1.1.3";
+  version = "2.0.1";
   disabled = isPyPy;  # a test fails
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0js7qx5pa8ibr8487lcf0x3a7w0xml0wa17snd6hjs0857kqhn20";
+    sha256 = "ede01f2d3cbd6ddc9e35e16c2b0ce011d8bb70ce0dbaf282f5b4df24b213bc5d";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/python-modules/cairosvg/default.nix b/pkgs/development/python-modules/cairosvg/default.nix
new file mode 100644
index 00000000000..68b1924e5a8
--- /dev/null
+++ b/pkgs/development/python-modules/cairosvg/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, buildPythonPackage, fetchPypi, isPy3k
+, cairocffi, cssselect2, defusedxml, pillow, tinycss2
+, pytestrunner, pytestcov, pytest-flake8, pytest-isort }:
+
+buildPythonPackage rec {
+  pname = "CairoSVG";
+  version = "2.1.3";
+
+  disabled = !isPy3k;
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "e512f555f576b6462b04b585c4ba4c09a43f3a8fec907b60ead21d7d00c550e9";
+  };
+
+  propagatedBuildInputs = [ cairocffi cssselect2 defusedxml pillow tinycss2 ];
+
+  checkInputs = [ pytestrunner pytestcov pytest-flake8 pytest-isort ];
+
+  meta = with stdenv.lib; {
+    homepage = https://cairosvg.org;
+    license = licenses.lgpl3;
+    description = "SVG converter based on Cairo";
+  };
+}
diff --git a/pkgs/development/python-modules/can/default.nix b/pkgs/development/python-modules/can/default.nix
index fbb53828d2a..395122b4da9 100644
--- a/pkgs/development/python-modules/can/default.nix
+++ b/pkgs/development/python-modules/can/default.nix
@@ -8,11 +8,11 @@
 
 buildPythonPackage rec {
   pname = "python-can";
-  version = "2.0.0";
+  version = "2.1.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1c6zfd29ck9ffdklfb5xgxvfl52xdaqd89isykkypm1ll97yk2fs";
+    sha256 = "4a5c01dd67feeda35f88e6c12ea14ac8cabd426b9be0cc5f9fd083fe90a9dbfc";
   };
 
   propagatedBuildInputs = [ pyserial ];
diff --git a/pkgs/development/python-modules/canonicaljson/default.nix b/pkgs/development/python-modules/canonicaljson/default.nix
new file mode 100644
index 00000000000..b7fd01472aa
--- /dev/null
+++ b/pkgs/development/python-modules/canonicaljson/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, buildPythonPackage, fetchPypi
+, frozendict, simplejson, six
+}:
+
+buildPythonPackage rec {
+  pname = "canonicaljson";
+  version = "1.1.3";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1q50zk9a0r7kd56rdf9cgyxxj7vy54j96sgh8vc8jhmsvdv8dzh6";
+  };
+
+  propagatedBuildInputs = [
+    frozendict simplejson six
+  ];
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/matrix-org/python-canonicaljson;
+    description = "Encodes objects and arrays as RFC 7159 JSON.";
+    license = licenses.asl20;
+  };
+}
diff --git a/pkgs/development/python-modules/carrot/default.nix b/pkgs/development/python-modules/carrot/default.nix
new file mode 100644
index 00000000000..3b976fb7ad9
--- /dev/null
+++ b/pkgs/development/python-modules/carrot/default.nix
@@ -0,0 +1,22 @@
+{ stdenv, buildPythonPackage, fetchPypi
+, nose, amqplib, anyjson }:
+
+buildPythonPackage rec {
+  pname = "carrot";
+  version = "0.10.7";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0s14rs2fgp1s2qa0avn8gj33lwc3k1hd4y9a2h6mhg487i7kfinb";
+  };
+
+  buildInputs = [ nose ];
+  propagatedBuildInputs = [ amqplib anyjson ];
+
+  doCheck = false; # depends on the network
+
+  meta = with stdenv.lib; {
+    homepage = https://pypi.python.org/pypi/carrot;
+    description = "AMQP Messaging Framework for Python";
+  };
+}
diff --git a/pkgs/development/python-modules/case/default.nix b/pkgs/development/python-modules/case/default.nix
new file mode 100644
index 00000000000..0f1bba36def
--- /dev/null
+++ b/pkgs/development/python-modules/case/default.nix
@@ -0,0 +1,20 @@
+{ stdenv, buildPythonPackage, fetchPypi
+, six, nose, unittest2, mock }:
+
+buildPythonPackage rec {
+  pname = "case";
+  version = "1.5.3";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "48432b01d91913451c3512c5b90e31b0f348f1074b166a3431085eb70d784fb1";
+  };
+
+  propagatedBuildInputs = [ six nose unittest2 mock ];
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/celery/case;
+    description = "unittests utilities";
+    license = licenses.bsd3;
+  };
+}
diff --git a/pkgs/development/python-modules/celery/default.nix b/pkgs/development/python-modules/celery/default.nix
index 44613dd4e5b..7f3fb46d1e1 100644
--- a/pkgs/development/python-modules/celery/default.nix
+++ b/pkgs/development/python-modules/celery/default.nix
@@ -1,6 +1,7 @@
 { stdenv, buildPythonPackage, fetchPypi, iana-etc, libredirect,
   pytest, case, kombu, billiard, pytz, anyjson, amqp, eventlet
-}: 
+}:
+
 buildPythonPackage rec {
   pname = "celery";
   version = "4.1.0";
@@ -11,11 +12,11 @@ buildPythonPackage rec {
   };
 
   # make /etc/protocols accessible to fix socket.getprotobyname('tcp') in sandbox
-  preCheck = ''
+  preCheck = stdenv.lib.optionalString stdenv.isLinux ''
     export NIX_REDIRECTS=/etc/protocols=${iana-etc}/etc/protocols \
       LD_PRELOAD=${libredirect}/lib/libredirect.so
   '';
-  postCheck = ''
+  postCheck = stdenv.lib.optionalString stdenv.isLinux ''
     unset NIX_REDIRECTS LD_PRELOAD
   '';
 
diff --git a/pkgs/development/python-modules/cerberus/default.nix b/pkgs/development/python-modules/cerberus/default.nix
new file mode 100644
index 00000000000..12536584f05
--- /dev/null
+++ b/pkgs/development/python-modules/cerberus/default.nix
@@ -0,0 +1,19 @@
+{ stdenv, buildPythonPackage, fetchPypi, pytestrunner, pytest }:
+
+buildPythonPackage rec {
+  pname = "Cerberus";
+  version = "1.1";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "a5b39090fde3ec3294c9d7030b8eda935b42222160a66a922e0c8aea34cabfdf";
+  };
+
+  checkInputs = [ pytestrunner pytest ];
+
+  meta = with stdenv.lib; {
+    homepage = http://python-cerberus.org/;
+    description = "Lightweight, extensible schema and data validation tool for Python dictionaries";
+    license = licenses.mit;
+  };
+}
diff --git a/pkgs/development/python-modules/cffi/default.nix b/pkgs/development/python-modules/cffi/default.nix
index 5e186a8f2f8..cd643806c3a 100644
--- a/pkgs/development/python-modules/cffi/default.nix
+++ b/pkgs/development/python-modules/cffi/default.nix
@@ -2,12 +2,12 @@
 
 if isPyPy then null else buildPythonPackage rec {
   pname = "cffi";
-  version = "1.11.4";
+  version = "1.11.5";
   name = "${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "df9083a992b17a28cd4251a3f5c879e0198bb26c9e808c4647e0a18739f1d11d";
+    sha256 = "e90f17980e6ab0f3c2f3730e56d1fe9bcba1891eeea58966e89d352492cc74f4";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/pkgs/development/python-modules/chainer/default.nix b/pkgs/development/python-modules/chainer/default.nix
index b7a58f11a15..fe1f84aa1bb 100644
--- a/pkgs/development/python-modules/chainer/default.nix
+++ b/pkgs/development/python-modules/chainer/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "chainer";
-  version = "3.3.0";
+  version = "3.5.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0669375e5b09d687781a37d6c025ee0a6015f575b4d2c70a2ad09c33b8228f86";
+    sha256 = "d72c1f5ff5f4743b141900d5e50aeb8337a213e553a28012dad4a4d2335bbabb";
   };
 
   checkInputs = [
diff --git a/pkgs/development/python-modules/check-manifest/default.nix b/pkgs/development/python-modules/check-manifest/default.nix
new file mode 100644
index 00000000000..56c6c551ee7
--- /dev/null
+++ b/pkgs/development/python-modules/check-manifest/default.nix
@@ -0,0 +1,20 @@
+{ stdenv, buildPythonPackage, fetchPypi }:
+
+buildPythonPackage rec {
+  pname = "check-manifest";
+  version = "0.36";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "2bb906a736a0f026cc5fd6c0dab5a481793b3d7a7d70106cca6e238da5f52d84";
+  };
+
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/mgedmin/check-manifest;
+    description = "Check MANIFEST.in in a Python source package for completeness";
+    license = licenses.mit;
+    maintainers = with maintainers; [ lewo ];
+  };
+}
diff --git a/pkgs/development/python-modules/cheroot/default.nix b/pkgs/development/python-modules/cheroot/default.nix
index d1ecfcc5c89..7aa01623b08 100644
--- a/pkgs/development/python-modules/cheroot/default.nix
+++ b/pkgs/development/python-modules/cheroot/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchPypi, buildPythonPackage
 , more-itertools, six
-, coverage, codecov, pytest, pytestcov, pytest-sugar, portend
+, pytest, pytestcov, portend
 , backports_unittest-mock, setuptools_scm }:
 
 buildPythonPackage rec {
@@ -16,7 +16,7 @@ buildPythonPackage rec {
 
   buildInputs = [ setuptools_scm ];
 
-  checkInputs = [ coverage codecov pytest pytestcov pytest-sugar portend backports_unittest-mock  ];
+  checkInputs = [ pytest pytestcov portend backports_unittest-mock ];
 
   checkPhase = ''
     py.test cheroot
diff --git a/pkgs/development/python-modules/cherrypy/default.nix b/pkgs/development/python-modules/cherrypy/default.nix
index 5167cc44319..bb97a3a7e67 100644
--- a/pkgs/development/python-modules/cherrypy/default.nix
+++ b/pkgs/development/python-modules/cherrypy/default.nix
@@ -1,24 +1,23 @@
 { lib, buildPythonPackage, fetchPypi
 , cheroot, portend, routes, six
 , setuptools_scm
-, backports_unittest-mock, codecov, coverage, objgraph, pathpy, pytest, pytest-sugar, pytestcov
+, backports_unittest-mock, objgraph, pathpy, pytest, pytestcov
 }:
 
 buildPythonPackage rec {
-  name = "${pname}-${version}";
   pname = "CherryPy";
-  version = "14.0.0";
+  version = "14.0.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "5f5ee020d6547a8d452b3560775ca2374ffe2ff8c0aec1b272e93b6af80d850e";
+    sha256 = "721d09bbeedaf5b3493e9e644ae9285d776ea7f16b1d4a0a5aaec7c0d22e5074";
   };
 
   propagatedBuildInputs = [ cheroot portend routes six ];
 
   buildInputs = [ setuptools_scm ];
 
-  checkInputs = [ backports_unittest-mock codecov coverage objgraph pathpy pytest pytest-sugar pytestcov ];
+  checkInputs = [ backports_unittest-mock objgraph pathpy pytest pytestcov ];
 
   checkPhase = ''
     LANG=en_US.UTF-8 pytest
diff --git a/pkgs/development/python-modules/circus/default.nix b/pkgs/development/python-modules/circus/default.nix
new file mode 100644
index 00000000000..b703bce2cc7
--- /dev/null
+++ b/pkgs/development/python-modules/circus/default.nix
@@ -0,0 +1,16 @@
+{ stdenv, buildPythonPackage, fetchPypi
+, iowait, psutil, pyzmq, tornado, mock }:
+
+buildPythonPackage rec {
+  pname = "circus";
+  version = "0.14.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "b8ca91d8bd87b350fda199488ac9ddff91a546b0c6214a28a2f13393713cf062";
+  };
+
+  doCheck = false; # weird error
+
+  propagatedBuildInputs = [ iowait psutil pyzmq tornado mock ];
+}
diff --git a/pkgs/development/python-modules/cjson/default.nix b/pkgs/development/python-modules/cjson/default.nix
new file mode 100644
index 00000000000..2042a2d629b
--- /dev/null
+++ b/pkgs/development/python-modules/cjson/default.nix
@@ -0,0 +1,18 @@
+{ stdenv, buildPythonPackage, fetchPypi, isPy3k, isPyPy }:
+
+buildPythonPackage rec {
+  pname = "python-cjson";
+  version = "1.2.1";
+  disabled = isPy3k || isPyPy;
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "52db2745264624768bfd9b604acb38f631bde5c2ec9b23861677d747e4558626";
+  };
+
+  meta = with stdenv.lib; {
+    description = "A very fast JSON encoder/decoder for Python";
+    homepage = http://ag-projects.com/;
+    license = licenses.lgpl2;
+  };
+}
diff --git a/pkgs/development/python-modules/clf/default.nix b/pkgs/development/python-modules/clf/default.nix
new file mode 100644
index 00000000000..9303f90141d
--- /dev/null
+++ b/pkgs/development/python-modules/clf/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, buildPythonPackage, fetchPypi
+, docopt, requests, pygments }:
+
+buildPythonPackage rec {
+  pname = "clf";
+  version = "0.5.7";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "abc919a1e99667f32fdde15dfb4bc527dbe22cf86a17acb78a449d7f2dfe937e";
+  };
+
+  patchPhase = ''
+    sed -i 's/==/>=/' requirements.txt
+  '';
+
+  propagatedBuildInputs = [ docopt requests pygments ];
+
+  # Error when running tests:
+  # No local packages or download links found for requests
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/ncrocfer/clf;
+    description = "Command line tool to search snippets on Commandlinefu.com";
+    license = licenses.mit;
+    maintainers = with maintainers; [ koral ];
+  };
+}
diff --git a/pkgs/development/python-modules/click-log/default.nix b/pkgs/development/python-modules/click-log/default.nix
new file mode 100644
index 00000000000..7229488a700
--- /dev/null
+++ b/pkgs/development/python-modules/click-log/default.nix
@@ -0,0 +1,20 @@
+{ stdenv, buildPythonPackage, fetchPypi, click }:
+
+buildPythonPackage rec {
+  pname = "click-log";
+  version = "0.2.1";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1r1x85023cslb2pwldd089jjk573mk3w78cnashs77wrx7yz8fj9";
+  };
+
+  propagatedBuildInputs = [ click ];
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/click-contrib/click-log/;
+    description = "Logging integration for Click";
+    license = licenses.mit;
+    maintainers = with maintainers; [ ];
+  };
+}
diff --git a/pkgs/development/python-modules/click/default.nix b/pkgs/development/python-modules/click/default.nix
new file mode 100644
index 00000000000..d5dfba61010
--- /dev/null
+++ b/pkgs/development/python-modules/click/default.nix
@@ -0,0 +1,30 @@
+{ stdenv, buildPythonPackage, fetchPypi, pytest }:
+
+buildPythonPackage rec {
+  pname = "click";
+  version = "6.7";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "02qkfpykbq35id8glfgwc38yc430427yd05z1wc5cnld8zgicmgi";
+  };
+
+  buildInputs = [ pytest ];
+
+  checkPhase = ''
+    py.test tests
+  '';
+
+  # https://github.com/pallets/click/issues/823
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    homepage = http://click.pocoo.org/;
+    description = "Create beautiful command line interfaces in Python";
+    longDescription = ''
+      A Python package for creating beautiful command line interfaces in a
+      composable way, with as little code as necessary.
+    '';
+    license = licenses.bsd3;
+  };
+}
diff --git a/pkgs/development/python-modules/cloudpickle/default.nix b/pkgs/development/python-modules/cloudpickle/default.nix
new file mode 100644
index 00000000000..ec5f8bcba3b
--- /dev/null
+++ b/pkgs/development/python-modules/cloudpickle/default.nix
@@ -0,0 +1,27 @@
+{ stdenv, buildPythonPackage, fetchPypi, pytest, mock }:
+
+buildPythonPackage rec {
+  pname = "cloudpickle";
+  version = "0.5.2";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "b0e63dd89ed5285171a570186751bc9b84493675e99e12789e9a5dc5490ef554";
+  };
+
+  buildInputs = [ pytest mock ];
+
+  # See README for tests invocation
+  checkPhase = ''
+    PYTHONPATH=$PYTHONPATH:'.:tests' py.test
+  '';
+
+  # TypeError: cannot serialize '_io.FileIO' object
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    description = "Extended pickling support for Python objects";
+    homepage = https://github.com/cloudpipe/cloudpickle;
+    license = with licenses; [ bsd3 ];
+  };
+}
diff --git a/pkgs/development/python-modules/cmarkgfm/default.nix b/pkgs/development/python-modules/cmarkgfm/default.nix
new file mode 100644
index 00000000000..b2f58887ffb
--- /dev/null
+++ b/pkgs/development/python-modules/cmarkgfm/default.nix
@@ -0,0 +1,25 @@
+{ lib, buildPythonPackage, fetchPypi, cffi, pytest }:
+
+buildPythonPackage rec {
+  pname = "cmarkgfm";
+  version = "0.4.2";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "f20900f16377f2109783ae9348d34bc80530808439591c3d3df73d5c7ef1a00c";
+  };
+
+  propagatedBuildInputs = [ cffi ];
+
+  checkInputs = [ pytest ];
+
+  checkPhase = ''
+    py.test
+  '';
+
+  meta = with lib; {
+    description = "Minimal bindings to GitHub's fork of cmark";
+    homepage = https://github.com/jonparrott/cmarkgfm;
+    license = licenses.mit;
+  };
+}
diff --git a/pkgs/development/python-modules/cmdline/default.nix b/pkgs/development/python-modules/cmdline/default.nix
new file mode 100644
index 00000000000..1f8d913aa2a
--- /dev/null
+++ b/pkgs/development/python-modules/cmdline/default.nix
@@ -0,0 +1,21 @@
+{ stdenv, buildPythonPackage, fetchPypi, pyyaml }:
+
+buildPythonPackage rec {
+  pname = "cmdline";
+  version = "0.1.8";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "324cc8fc6580f221824821c47232c297ed1f7cc737186a57305a8c08fc902dd7";
+  };
+
+  # No tests, https://github.com/rca/cmdline/issues/1
+  doCheck = false;
+  propagatedBuildInputs = [ pyyaml ];
+
+  meta = with stdenv.lib; {
+    description = "Utilities for consistent command line tools";
+    homepage = https://github.com/rca/cmdline;
+    license = licenses.asl20;
+  };
+}
diff --git a/pkgs/development/python-modules/codecov/default.nix b/pkgs/development/python-modules/codecov/default.nix
index 93620098446..6b2063f4992 100644
--- a/pkgs/development/python-modules/codecov/default.nix
+++ b/pkgs/development/python-modules/codecov/default.nix
@@ -2,15 +2,14 @@
 
 buildPythonPackage rec {
   pname = "codecov";
-  version = "2.0.9";
-  name = "${pname}-${version}";
+  version = "2.0.15";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "037h4dcl8xshlq3rj8409p11rpgnyqrhlhfq8j34s94nm0n1h76v";
+    sha256 = "8ed8b7c6791010d359baed66f84f061bba5bd41174bf324c31311e8737602788";
   };
 
-  buildInputs = [ unittest2 ]; # Tests only
+  checkInputs = [ unittest2 ]; # Tests only
 
   propagatedBuildInputs = [ requests coverage ];
 
@@ -18,6 +17,9 @@ buildPythonPackage rec {
     sed -i 's/, "argparse"//' setup.py
   '';
 
+  # No tests in archive
+  doCheck = false;
+
   meta = {
     description = "Python report uploader for Codecov";
     homepage = https://codecov.io/;
diff --git a/pkgs/development/python-modules/cogapp/default.nix b/pkgs/development/python-modules/cogapp/default.nix
new file mode 100644
index 00000000000..b660ed02257
--- /dev/null
+++ b/pkgs/development/python-modules/cogapp/default.nix
@@ -0,0 +1,21 @@
+{ stdenv, buildPythonPackage, fetchPypi }:
+
+buildPythonPackage rec {
+  pname = "cogapp";
+  version = "2.5.1";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "f8cf2288fb5a2087eb4a00d8b347ddc86e9058d4ab26b8c868433eb401adfe1c";
+  };
+
+  # there are no tests
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    description = "A code generator for executing Python snippets in source files";
+    homepage = http://nedbatchelder.com/code/cog;
+    license = licenses.mit;
+    maintainers = with maintainers; [ lovek323 ];
+  };
+}
diff --git a/pkgs/development/python-modules/coilmq/default.nix b/pkgs/development/python-modules/coilmq/default.nix
new file mode 100644
index 00000000000..11d39e411ce
--- /dev/null
+++ b/pkgs/development/python-modules/coilmq/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, buildPythonPackage, fetchPypi
+, stompclient, pythondaemon, redis, pid, pytest, six, click, coverage
+, sqlalchemy }:
+
+buildPythonPackage rec {
+  pname = "CoilMQ";
+  version = "1.0.1";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "4cbfeb5ed2459df14902c1380157be6267702b1271682924cd316ccad8a29d1d";
+  };
+
+  propagatedBuildInputs = [ stompclient pythondaemon redis pid ];
+  buildInputs = [ pytest six click coverage sqlalchemy ];
+
+  # The teste data is not included in the distribution
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    description = "Simple, lightweight, and easily extensible STOMP message broker";
+    homepage = http://code.google.com/p/coilmq/;
+    license = licenses.asl20;
+  };
+}
diff --git a/pkgs/development/python-modules/coinmarketcap/default.nix b/pkgs/development/python-modules/coinmarketcap/default.nix
new file mode 100644
index 00000000000..52afdee46ab
--- /dev/null
+++ b/pkgs/development/python-modules/coinmarketcap/default.nix
@@ -0,0 +1,19 @@
+{ lib, stdenv, buildPythonPackage, fetchPypi, requests-cache }:
+
+buildPythonPackage rec {
+  pname = "coinmarketcap";
+  version = "4.2.1";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0bk530cmfqri84m9386ydn3f89gq23nxylvnl523gr5589vw54bj";
+  };
+
+  propagatedBuildInputs = [ requests-cache ];
+
+  meta = with lib; {
+    description = "A python wrapper around the https://coinmarketcap.com API.";
+    homepage = https://github.com/barnumbirr/coinmarketcap;
+    license = licenses.asl20;
+  };
+}
diff --git a/pkgs/development/python-modules/colander/default.nix b/pkgs/development/python-modules/colander/default.nix
new file mode 100644
index 00000000000..ed27464d1fe
--- /dev/null
+++ b/pkgs/development/python-modules/colander/default.nix
@@ -0,0 +1,21 @@
+{ lib, buildPythonPackage, fetchPypi
+, translationstring, iso8601 }:
+
+buildPythonPackage rec {
+  pname = "colander";
+  version = "1.4";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "e20e9acf190e5711cf96aa65a5405dac04b6e841028fc361d953a9923dbc4e72";
+  };
+
+  propagatedBuildInputs = [ translationstring iso8601 ];
+
+  meta = with lib; {
+    description = "A simple schema-based serialization and deserialization library";
+    homepage = https://docs.pylonsproject.org/projects/colander/en/latest/;
+    license = licenses.free; # http://repoze.org/LICENSE.txt
+    maintainers = with maintainers; [ garbas domenkozar ];
+  };
+}
diff --git a/pkgs/development/python-modules/colorclass/default.nix b/pkgs/development/python-modules/colorclass/default.nix
new file mode 100644
index 00000000000..b035bb9b57c
--- /dev/null
+++ b/pkgs/development/python-modules/colorclass/default.nix
@@ -0,0 +1,20 @@
+{ stdenv, buildPythonPackage, fetchPypi }:
+
+buildPythonPackage rec {
+  pname = "colorclass";
+  version = "2.2.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "b05c2a348dfc1aff2d502527d78a5b7b7e2f85da94a96c5081210d8e9ee8e18b";
+  };
+
+  # No tests in archive
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/Robpol86/colorclass;
+    license = licenses.mit;
+    description = "Automatic support for console colors";
+  };
+}
diff --git a/pkgs/development/python-modules/colorlog/default.nix b/pkgs/development/python-modules/colorlog/default.nix
index e737b884897..3045e61db60 100644
--- a/pkgs/development/python-modules/colorlog/default.nix
+++ b/pkgs/development/python-modules/colorlog/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "colorlog";
-  version = "3.1.2";
+  version = "3.1.4";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0i21sd6pggr2gqza41vyq2rqyb552wf5iwl4bc16i7kqislbd53z";
+    sha256 = "418db638c9577f37f0fae4914074f395847a728158a011be2a193ac491b9779d";
   };
 
   checkInputs = [ pytest ];
diff --git a/pkgs/development/python-modules/colour/default.nix b/pkgs/development/python-modules/colour/default.nix
new file mode 100644
index 00000000000..a162b21b083
--- /dev/null
+++ b/pkgs/development/python-modules/colour/default.nix
@@ -0,0 +1,19 @@
+{ stdenv, buildPythonPackage, fetchPypi, d2to1 }:
+
+buildPythonPackage rec {
+  pname = "colour";
+  version = "0.1.5";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "af20120fefd2afede8b001fbef2ea9da70ad7d49fafdb6489025dae8745c3aee";
+  };
+
+  buildInputs = [ d2to1 ];
+
+  meta = with stdenv.lib; {
+    description = "Converts and manipulates common color representation (RGB, HSV, web, ...)";
+    homepage = https://github.com/vaab/colour;
+    license = licenses.bsd2;
+  };
+}
diff --git a/pkgs/development/python-modules/commonmark/default.nix b/pkgs/development/python-modules/commonmark/default.nix
new file mode 100644
index 00000000000..d6cd69f6c8a
--- /dev/null
+++ b/pkgs/development/python-modules/commonmark/default.nix
@@ -0,0 +1,27 @@
+{ lib, buildPythonPackage, fetchPypi, isPy3k, glibcLocales, future }:
+
+buildPythonPackage rec {
+  pname = "CommonMark";
+  version = "0.7.5";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "4dfbbd1dbc669a9b71a015032b2bbe5c4b019ca8b6ca410d89cf7020de46d2c0";
+  };
+
+  preCheck = ''
+    export LC_ALL="en_US.UTF-8"
+  '';
+
+  # UnicodeEncodeError on Python 2
+  doCheck = isPy3k;
+
+  checkInputs = [  glibcLocales ];
+  propagatedBuildInputs = [ future ];
+
+  meta = with lib; {
+    description = "Python parser for the CommonMark Markdown spec";
+    homepage = https://github.com/rolandshoemaker/CommonMark-py;
+    license = licenses.bsd3;
+  };
+}
diff --git a/pkgs/development/python-modules/configobj/default.nix b/pkgs/development/python-modules/configobj/default.nix
new file mode 100644
index 00000000000..dd2b26e0f59
--- /dev/null
+++ b/pkgs/development/python-modules/configobj/default.nix
@@ -0,0 +1,34 @@
+{ stdenv, buildPythonPackage
+, fetchFromGitHub
+, six
+, mock, pytest
+}:
+
+buildPythonPackage rec {
+  pname = "configobj";
+  version = "5.0.6";
+
+  # Pypi archives don't contain the tests
+  src = fetchFromGitHub {
+    owner = "DiffSK";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0x97794nk3dfn0i3si9fv7y19jnpnarb34bkdwlz7ii7ag6xihhw";
+  };
+
+
+  propagatedBuildInputs = [ six ];
+
+  checkPhase = ''
+    pytest --deselect=tests/test_configobj.py::test_options_deprecation
+  '';
+
+  checkInputs = [ mock pytest ];
+
+  meta = with stdenv.lib; {
+    description = "Config file reading, writing and validation";
+    homepage = https://pypi.python.org/pypi/configobj;
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ garbas ];
+  };
+}
diff --git a/pkgs/development/python-modules/configparser/default.nix b/pkgs/development/python-modules/configparser/default.nix
new file mode 100644
index 00000000000..8e770c504c3
--- /dev/null
+++ b/pkgs/development/python-modules/configparser/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, buildPythonPackage, fetchPypi, isPy3k }:
+
+buildPythonPackage rec {
+  pname = "configparser";
+  version = "3.5.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0fi7vf09vi1588jd8f16a021m5y6ih2hy7rpbjb408xw45qb822k";
+  };
+
+  # No tests available
+  doCheck = false;
+
+  # Fix issue when used together with other namespace packages
+  # https://github.com/NixOS/nixpkgs/issues/23855
+  patches = [
+    ./0001-namespace-fix.patch
+  ];
+
+  meta = with stdenv.lib; {
+  };
+}
diff --git a/pkgs/development/python-modules/confluent-kafka/default.nix b/pkgs/development/python-modules/confluent-kafka/default.nix
index c8cbfe9d9be..c8ef038ec50 100644
--- a/pkgs/development/python-modules/confluent-kafka/default.nix
+++ b/pkgs/development/python-modules/confluent-kafka/default.nix
@@ -2,12 +2,12 @@
 
 buildPythonPackage rec {
   name = "${pname}-${version}";
-  version = "0.11.0";
+  version = "0.11.4";
   pname = "confluent-kafka";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "4c34bfe8f823ee3777d93820ec6578365d2bde3cd1302cbd0e44c86b68643667";
+    sha256 = "8cf480199685127c9692b0bf1e15eac82e71ae34b7967a016ab31a318741abb1";
   };
 
   buildInputs = [ rdkafka requests ] ++ (if isPy3k then [ avro3k ] else [ avro ]) ;
diff --git a/pkgs/development/python-modules/construct/default.nix b/pkgs/development/python-modules/construct/default.nix
index 78aa0aab5c0..afba2e17bf6 100644
--- a/pkgs/development/python-modules/construct/default.nix
+++ b/pkgs/development/python-modules/construct/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, buildPythonPackage, fetchFromGitHub, six, pythonOlder }:
+{ stdenv, buildPythonPackage, fetchFromGitHub, six, pytest, pythonOlder }:
 
 buildPythonPackage rec {
   pname = "construct";
@@ -14,15 +14,16 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [ six ];
 
-  # Tests fail with the following error on Python 3.5+
-  # TypeError: not all arguments converted during string formatting
-  doCheck = pythonOlder "3.5";
+  checkInputs = [ pytest ];
+
+  checkPhase = ''
+    py.test -k 'not test_numpy' tests
+  '';
 
   meta = with stdenv.lib; {
     description = "Powerful declarative parser (and builder) for binary data";
     homepage = http://construct.readthedocs.org/;
     license = licenses.mit;
-    platforms = platforms.linux;
     maintainers = with maintainers; [ bjornfor ];
   };
 }
diff --git a/pkgs/development/python-modules/consul/default.nix b/pkgs/development/python-modules/consul/default.nix
new file mode 100644
index 00000000000..5722893a853
--- /dev/null
+++ b/pkgs/development/python-modules/consul/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, buildPythonPackage, fetchPypi
+, requests, six, pytest }:
+
+buildPythonPackage rec {
+  pname = "python-consul";
+  version = "0.7.2";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "ef0b7c8a2d8efba5f9602f45aadbe5035e22a511d245624ed732af81223a6571";
+  };
+
+  buildInputs = [ requests six pytest ];
+
+  # No tests distributed. https://github.com/cablehead/python-consul/issues/133
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    description = "Python client for Consul (https://www.consul.io/)";
+    homepage = https://github.com/cablehead/python-consul;
+    license = licenses.mit;
+    maintainers = with maintainers; [ desiderius ];
+  };
+}
diff --git a/pkgs/development/python-modules/contexter/default.nix b/pkgs/development/python-modules/contexter/default.nix
new file mode 100644
index 00000000000..0fa72dfa687
--- /dev/null
+++ b/pkgs/development/python-modules/contexter/default.nix
@@ -0,0 +1,14 @@
+{ stdenv, buildPythonPackage, fetchPypi }:
+
+buildPythonPackage rec {
+  pname = "contexter";
+  version = "0.1.4";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "c730890b1a915051414a6350d8ea1cddca7d01d8f756badedb30b9bf305ea0a8";
+  };
+
+  meta = with stdenv.lib; {
+  };
+}
diff --git a/pkgs/development/python-modules/contextvars/default.nix b/pkgs/development/python-modules/contextvars/default.nix
new file mode 100644
index 00000000000..d8ee3b1ca9e
--- /dev/null
+++ b/pkgs/development/python-modules/contextvars/default.nix
@@ -0,0 +1,21 @@
+{ lib, buildPythonPackage, fetchPypi, isPy36, immutables }:
+
+buildPythonPackage rec {
+  pname = "contextvars";
+  version = "2.2";
+  disabled = !isPy36;
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "046b385nfzkjh0wqmd268p2jkgn9fg6hz40npq7j1w3c8aqzhwvx";
+  };
+
+  propagatedBuildInputs = [ immutables ];
+
+  meta = {
+    description = "A backport of the Python 3.7 contextvars module for Python 3.6";
+    homepage = https://github.com/MagicStack/contextvars;
+    license = with lib.licenses; [ asl20 ];
+    maintainers = with lib.maintainers; [ catern ];
+  };
+}
diff --git a/pkgs/development/python-modules/cookiecutter/default.nix b/pkgs/development/python-modules/cookiecutter/default.nix
new file mode 100644
index 00000000000..abccd1e136d
--- /dev/null
+++ b/pkgs/development/python-modules/cookiecutter/default.nix
@@ -0,0 +1,34 @@
+{ stdenv, buildPythonPackage, fetchPypi, isPyPy
+, pytest, pytestcov, pytest-mock, freezegun
+, jinja2, future, binaryornot, click, whichcraft, poyo, jinja2_time, requests }:
+
+buildPythonPackage rec {
+  pname = "cookiecutter";
+  version = "1.6.0";
+
+  # not sure why this is broken
+  disabled = isPyPy;
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1316a52e1c1f08db0c9efbf7d876dbc01463a74b155a0d83e722be88beda9a3e";
+  };
+
+  checkInputs = [ pytest pytestcov pytest-mock freezegun ];
+  propagatedBuildInputs = [
+    jinja2 future binaryornot click whichcraft poyo jinja2_time requests
+  ];
+  
+  # requires network access for cloning git repos
+  doCheck = false;
+  checkPhase = ''
+    pytest
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/audreyr/cookiecutter;
+    description = "A command-line utility that creates projects from project templates";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ kragniz ];
+  };
+}
diff --git a/pkgs/development/python-modules/cookies/default.nix b/pkgs/development/python-modules/cookies/default.nix
new file mode 100644
index 00000000000..1b8e5b6061d
--- /dev/null
+++ b/pkgs/development/python-modules/cookies/default.nix
@@ -0,0 +1,19 @@
+{ stdenv, buildPythonPackage, fetchPypi }:
+
+buildPythonPackage rec {
+  pname = "cookies";
+  version = "2.2.1";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "13pfndz8vbk4p2a44cfbjsypjarkrall71pgc97glk5fiiw9idnn";
+  };
+
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    description = "Friendlier RFC 6265-compliant cookie parser/renderer";
+    homepage = https://github.com/sashahart/cookies;
+    license = licenses.mit;
+  };
+}
diff --git a/pkgs/development/python-modules/cov-core/default.nix b/pkgs/development/python-modules/cov-core/default.nix
new file mode 100644
index 00000000000..ad85218709e
--- /dev/null
+++ b/pkgs/development/python-modules/cov-core/default.nix
@@ -0,0 +1,17 @@
+{ stdenv, buildPythonPackage, fetchPypi, coverage }:
+
+buildPythonPackage rec {
+  pname = "cov-core";
+  version = "1.15.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0k3np9ymh06yv1ib96sb6wfsxjkqhmik8qfsn119vnhga9ywc52a";
+  };
+
+  propagatedBuildInputs = [ coverage ];
+
+  meta = with stdenv.lib; {
+    description = "Plugin core for use by pytest-cov, nose-cov and nose2-cov";
+  };
+}
diff --git a/pkgs/development/python-modules/coveralls/default.nix b/pkgs/development/python-modules/coveralls/default.nix
index 4d11354df0a..f57e0fe8609 100644
--- a/pkgs/development/python-modules/coveralls/default.nix
+++ b/pkgs/development/python-modules/coveralls/default.nix
@@ -16,12 +16,12 @@
 buildPythonPackage rec {
   pname = "coveralls";
   name = "${pname}-python-${version}";
-  version = "1.2.0";
+  version = "1.3.0";
 
   # wanted by tests
   src = fetchPypi {
     inherit pname version;
-    sha256 = "510682001517bcca1def9f6252df6ce730fcb9831c62d9fff7c7d55b6fdabdf3";
+    sha256 = "664794748d2e5673e347ec476159a9d87f43e0d2d44950e98ed0e27b98da8346";
   };
 
   checkInputs = [
diff --git a/pkgs/development/python-modules/cram/default.nix b/pkgs/development/python-modules/cram/default.nix
index c0fc5b177e0..232a4a19fd8 100644
--- a/pkgs/development/python-modules/cram/default.nix
+++ b/pkgs/development/python-modules/cram/default.nix
@@ -1,11 +1,10 @@
-{stdenv, lib, buildPythonPackage, fetchPypi, coverage, bash, which, writeText}:
+{stdenv, lib, buildPythonPackage, fetchPypi, bash, which, writeText}:
 
 buildPythonPackage rec {
-  name = "${pname}-${version}";
   version = "0.7";
   pname = "cram";
 
-  buildInputs = [ coverage which ];
+  checkInputs = [ which ];
 
   src = fetchPypi {
     inherit pname version;
@@ -13,20 +12,13 @@ buildPythonPackage rec {
   };
 
   postPatch = ''
+    patchShebangs scripts/cram
     substituteInPlace tests/test.t \
       --replace "/bin/bash" "${bash}/bin/bash"
   '';
 
-  # This testing is copied from Makefile. Simply using `make test` doesn't work
-  # because it uses the unpatched `scripts/cram` executable which has a bad
-  # shebang. Also, for some reason, coverage fails on one file so let's just
-  # ignore that one.
   checkPhase = ''
-    # scripts/cram tests
-    #COVERAGE=${coverage}/bin/coverage $out/bin/cram tests
-    #${coverage}/bin/coverage report --fail-under=100
-    COVERAGE=coverage $out/bin/cram tests
-    coverage report --fail-under=100 --omit="*/_encoding.py,*/__main__.py"
+    scripts/cram tests
   '';
 
   meta = {
diff --git a/pkgs/development/python-modules/crcmod/default.nix b/pkgs/development/python-modules/crcmod/default.nix
new file mode 100644
index 00000000000..f85e045d525
--- /dev/null
+++ b/pkgs/development/python-modules/crcmod/default.nix
@@ -0,0 +1,17 @@
+{ stdenv, buildPythonPackage, fetchPypi }:
+
+buildPythonPackage rec {
+  pname = "crcmod";
+  version = "1.7";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "07k0hgr42vw2j92cln3klxka81f33knd7459cn3d8aszvfh52w6w";
+  };
+
+  meta = with stdenv.lib; {
+    description = "Python module for generating objects that compute the Cyclic Redundancy Check (CRC)";
+    homepage = http://crcmod.sourceforge.net/;
+    license = licenses.mit;
+  };
+}
diff --git a/pkgs/development/python-modules/credstash/default.nix b/pkgs/development/python-modules/credstash/default.nix
index 6a9e1240b86..8be1780aa99 100644
--- a/pkgs/development/python-modules/credstash/default.nix
+++ b/pkgs/development/python-modules/credstash/default.nix
@@ -1,15 +1,20 @@
-{ stdenv, buildPythonPackage, fetchPypi, cryptography, boto3, pyyaml, docutils }:
+{ stdenv, buildPythonPackage, fetchPypi, fetchpatch, cryptography, boto3, pyyaml, docutils }:
 
 buildPythonPackage rec {
-  pname    = "credstash";
+  pname = "credstash";
   version = "1.14.0";
-  name = "${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
     sha256 = "718b337f7a6fa001e014386071f05c59900525d0507009126d2fe8d75fe0761d";
   };
 
+  patches = fetchpatch {
+    url = https://github.com/fugue/credstash/pull/178.patch;
+    sha256 = "15ih4h5v63g7qfmqdl4zca147wkcrx8vnsh4ns33001dipcfb5sc";
+    excludes = [ ".travis.yml" ];
+  };
+
   propagatedBuildInputs = [ cryptography boto3 pyyaml docutils ];
 
   # No tests in archive
diff --git a/pkgs/development/python-modules/cryptacular/default.nix b/pkgs/development/python-modules/cryptacular/default.nix
new file mode 100644
index 00000000000..e81426a892d
--- /dev/null
+++ b/pkgs/development/python-modules/cryptacular/default.nix
@@ -0,0 +1,22 @@
+{ stdenv, buildPythonPackage, fetchPypi
+, coverage, nose, pbkdf2 }:
+
+buildPythonPackage rec {
+  pname = "cryptacular";
+  version = "1.4.1";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "18fl7phl6r9xiwz8f1jpkahkv21wimmiq72gmrqncccv7z806gr7";
+  };
+
+  buildInputs = [ coverage nose ];
+  propagatedBuildInputs = [ pbkdf2 ];
+
+  # TODO: tests fail: TypeError: object of type 'NoneType' has no len()
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    maintainers = with maintainers; [ domenkozar ];
+  };
+}
diff --git a/pkgs/development/python-modules/cryptography/default.nix b/pkgs/development/python-modules/cryptography/default.nix
index 606b174a514..8fe8ccc31a9 100644
--- a/pkgs/development/python-modules/cryptography/default.nix
+++ b/pkgs/development/python-modules/cryptography/default.nix
@@ -21,7 +21,7 @@
 }:
 
 let
-  version = "2.1.4";
+  version = "2.2.2";
 in assert version == cryptography_vectors.version; buildPythonPackage rec {
   # also bump cryptography_vectors
   pname = "cryptography";
@@ -29,7 +29,7 @@ in assert version == cryptography_vectors.version; buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "e4d967371c5b6b2e67855066471d844c5d52d210c36c28d49a8507b96e2c5291";
+    sha256 = "9fc295bf69130a342e7a19a39d7bbeb15c0bcaabc7382ec33ef3b2b7d18d2f63";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/pkgs/development/python-modules/cryptography_vectors/default.nix b/pkgs/development/python-modules/cryptography_vectors/default.nix
index ce272d29ca1..bcab5c43475 100644
--- a/pkgs/development/python-modules/cryptography_vectors/default.nix
+++ b/pkgs/development/python-modules/cryptography_vectors/default.nix
@@ -6,11 +6,11 @@
 buildPythonPackage rec {
   # also bump cryptography
   pname = "cryptography_vectors";
-  version = "2.1.4";
+  version = "2.2.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "78c4b4f3f84853ea5d038e2f53d355229dd8119fe9cf949c3e497c85c760a5ca";
+    sha256 = "28b52c84bae3a564ce51bfb0753cbe360218bd648c64efa2808c886c18505688";
   };
 
   # No tests included
diff --git a/pkgs/development/python-modules/cssselect/default.nix b/pkgs/development/python-modules/cssselect/default.nix
new file mode 100644
index 00000000000..d086360b7d7
--- /dev/null
+++ b/pkgs/development/python-modules/cssselect/default.nix
@@ -0,0 +1,17 @@
+{ stdenv, buildPythonPackage, fetchPypi }:
+
+buildPythonPackage rec {
+  pname = "cssselect";
+  version = "1.0.3";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "066d8bc5229af09617e24b3ca4d52f1f9092d9e061931f4184cd572885c23204";
+  };
+
+  # AttributeError: 'module' object has no attribute 'tests'
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+  };
+}
diff --git a/pkgs/development/python-modules/cssselect2/default.nix b/pkgs/development/python-modules/cssselect2/default.nix
new file mode 100644
index 00000000000..5fe0f792856
--- /dev/null
+++ b/pkgs/development/python-modules/cssselect2/default.nix
@@ -0,0 +1,23 @@
+{ lib, buildPythonPackage, fetchPypi, tinycss2, pytestrunner, pytestcov, pytest-flake8, pytest-isort, glibcLocales }:
+
+buildPythonPackage rec {
+  pname = "cssselect2";
+  version = "0.2.1";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "505d2ce3d3a1d390ddb52f7d0864b7efeb115a5b852a91861b498b92424503ab";
+  };
+
+  propagatedBuildInputs = [ tinycss2 ];
+
+  checkInputs = [ pytestrunner pytestcov pytest-flake8 pytest-isort glibcLocales ];
+
+  LC_ALL = "en_US.UTF-8";
+
+  meta = with lib; {
+    description = "CSS selectors for Python ElementTree";
+    homepage = https://github.com/Kozea/cssselect2;
+    license = licenses.bsd3;
+  };
+}
diff --git a/pkgs/development/python-modules/cssutils/default.nix b/pkgs/development/python-modules/cssutils/default.nix
new file mode 100644
index 00000000000..6dd680fe11f
--- /dev/null
+++ b/pkgs/development/python-modules/cssutils/default.nix
@@ -0,0 +1,22 @@
+{ stdenv, buildPythonPackage, fetchPypi, mock }:
+
+buildPythonPackage rec {
+  pname = "cssutils";
+  version = "1.0.2";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "a2fcf06467553038e98fea9cfe36af2bf14063eb147a70958cfcaa8f5786acaf";
+  };
+
+  buildInputs = [ mock ];
+
+  # couple of failing tests
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    description = "A Python package to parse and build CSS";
+    homepage = http://code.google.com/p/cssutils/;
+    license = licenses.lgpl3Plus;
+  };
+}
diff --git a/pkgs/development/python-modules/csvkit/default.nix b/pkgs/development/python-modules/csvkit/default.nix
index bfabf4376e7..7fbdaa8909d 100644
--- a/pkgs/development/python-modules/csvkit/default.nix
+++ b/pkgs/development/python-modules/csvkit/default.nix
@@ -1,28 +1,38 @@
-{ stdenv, fetchPypi, buildPythonPackage,
-  dateutil, dbf, xlrd, sqlalchemy, openpyxl,
- agate-excel, agate-dbf, agate-sql, isPy3k }:
+{ lib, fetchPypi, buildPythonPackage, isPy3k
+, agate, agate-excel, agate-dbf, agate-sql, six
+, argparse, ordereddict, simplejson
+, glibcLocales, nose, mock, unittest2
+}:
 
 buildPythonPackage rec {
-    name = "${pname}-${version}";
-    pname = "csvkit";
-    version = "1.0.2";
+  pname = "csvkit";
+  version = "1.0.3";
 
-    src = fetchPypi {
-      inherit pname version;
-      sha256 = "05vfsba9nwh4islszgs18rq8sjkpzqni0cdwvvkw7pi0r63pz2as";
-    };
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "a6c859c1321d4697dc41252877249091681297f093e08d9c1e1828a6d52c260c";
+  };
 
-    propagatedBuildInputs = [ dateutil dbf xlrd sqlalchemy openpyxl
-      agate-excel agate-dbf agate-sql ];
+  propagatedBuildInputs = [
+    agate agate-excel agate-dbf agate-sql six
+  ] ++ lib.optionals (!isPy3k) [
+    argparse ordereddict simplejson
+  ];
 
-    doCheck = !isPy3k;
-    # (only) python 3 we had 9 failures and 57 errors out of a much larger
-    # number of tests.
+  checkInputs = [
+    glibcLocales nose
+  ] ++ lib.optionals (!isPy3k) [
+    mock unittest2
+  ];
 
-    meta = with stdenv.lib; {
-      description = "A library of utilities for working with CSV, the king of tabular file formats";
-      maintainers = with maintainers; [ vrthra ];
-      license = with licenses; [ mit ];
-      homepage = https://github.com/wireservice/csvkit;
-    };
+  checkPhase = ''
+    LC_ALL="en_US.UTF-8" nosetests -e test_csvsql
+  '';
+
+  meta = with lib; {
+    description = "A library of utilities for working with CSV, the king of tabular file formats";
+    maintainers = with maintainers; [ vrthra ];
+    license = with licenses; [ mit ];
+    homepage = https://github.com/wireservice/csvkit;
+  };
 }
diff --git a/pkgs/development/python-modules/cupy/default.nix b/pkgs/development/python-modules/cupy/default.nix
index e020eafc04c..44d258a3de5 100644
--- a/pkgs/development/python-modules/cupy/default.nix
+++ b/pkgs/development/python-modules/cupy/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "cupy";
-  version = "2.3.0";
+  version = "2.5.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "7426f6332cb01513d2a6a687792dfa17c678ff64dd1b19b04559ddd5672c833f";
+    sha256 = "60e36add95b0bc15f0863e7b4a425c00111dab0985075a96ede689510a9c56be";
   };
 
   checkInputs = [
diff --git a/pkgs/development/python-modules/curtsies/default.nix b/pkgs/development/python-modules/curtsies/default.nix
index 8d6052c5299..d29ad1d6474 100644
--- a/pkgs/development/python-modules/curtsies/default.nix
+++ b/pkgs/development/python-modules/curtsies/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, buildPythonPackage, fetchPypi, blessings, mock, nose, pyte, pytest, wcwidth }:
+{ stdenv, buildPythonPackage, fetchPypi, blessings, mock, nose, pyte, wcwidth, typing }:
 
 buildPythonPackage rec {
   pname = "curtsies";
@@ -8,12 +8,12 @@ buildPythonPackage rec {
     sha256 = "89c802ec051d01dec6fc983e9856a3706e4ea8265d2940b1f6d504a9e26ed3a9";
   };
 
-  propagatedBuildInputs = [ blessings wcwidth pyte ];
+  propagatedBuildInputs = [ blessings wcwidth typing ];
 
-  checkInputs = [ nose mock pytest ];
+  checkInputs = [ mock pyte nose ];
 
   checkPhase = ''
-    py.test
+    nosetests tests
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/python-modules/cvxopt/default.nix b/pkgs/development/python-modules/cvxopt/default.nix
new file mode 100644
index 00000000000..be6f688f503
--- /dev/null
+++ b/pkgs/development/python-modules/cvxopt/default.nix
@@ -0,0 +1,69 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, isPyPy
+, python
+, openblasCompat # build segfaults with regular openblas
+, suitesparse
+, glpk ? null
+, gsl ? null
+, fftw ? null
+, withGlpk ? true
+, withGsl ? true
+, withFftw ? true
+}:
+
+buildPythonPackage rec {
+  pname = "cvxopt";
+  version = "1.1.9";
+
+  disabled = isPyPy; # hangs at [translation:info]
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0gcqq8ymjxv8qa5ss2pdhsj5bahvdxa6h2rlpp51520mjxrpw5cg";
+  };
+
+  # similar to Gsl, glpk, fftw there is also a dsdp interface
+  # but dsdp is not yet packaged in nixpkgs
+  preConfigure = ''
+    export CVXOPT_BLAS_LIB_DIR=${openblasCompat}/lib
+    export CVXOPT_BLAS_LIB=openblas
+    export CVXOPT_LAPACK_LIB=openblas
+    export CVXOPT_SUITESPARSE_LIB_DIR=${suitesparse}/lib
+    export CVXOPT_SUITESPARSE_INC_DIR=${suitesparse}/include
+  '' + lib.optionalString withGsl ''
+    export CVXOPT_BUILD_GSL=1
+    export CVXOPT_GSL_LIB_DIR=${gsl}/lib
+    export CVXOPT_GSL_INC_DIR=${gsl}/include
+  '' + lib.optionalString withGlpk ''
+    export CVXOPT_BUILD_GLPK=1
+    export CVXOPT_GLPK_LIB_DIR=${glpk}/lib
+    export CVXOPT_GLPK_INC_DIR=${glpk}/include
+  '' + lib.optionalString withFftw ''
+    export CVXOPT_BUILD_FFTW=1
+    export CVXOPT_FFTW_LIB_DIR=${fftw}/lib
+    export CVXOPT_FFTW_INC_DIR=${fftw.dev}/include
+  '';
+
+  checkPhase = ''
+    ${python.interpreter} -m unittest discover -s tests
+  '';
+
+  meta = {
+    homepage = http://cvxopt.org/;
+    description = "Python Software for Convex Optimization";
+    longDescription = ''
+      CVXOPT is a free software package for convex optimization based on the
+      Python programming language. It can be used with the interactive
+      Python interpreter, on the command line by executing Python scripts,
+      or integrated in other software via Python extension modules. Its main
+      purpose is to make the development of software for convex optimization
+      applications straightforward by building on Python's extensive
+      standard library and on the strengths of Python as a high-level
+      programming language.
+    '';
+    maintainers = with lib.maintainers; [ edwtjo ];
+    license = lib.licenses.gpl3Plus;
+  };
+}
diff --git a/pkgs/development/python-modules/cx_oracle/default.nix b/pkgs/development/python-modules/cx_oracle/default.nix
new file mode 100644
index 00000000000..f2e10caad72
--- /dev/null
+++ b/pkgs/development/python-modules/cx_oracle/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, buildPythonPackage, fetchPypi, oracle-instantclient }:
+
+buildPythonPackage rec {
+  pname = "cx_Oracle";
+  version = "6.2.1";
+
+  buildInputs = [
+    oracle-instantclient
+  ];
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "01970bc843b3c699a7fd98af19e0401fe69abfbd2acdf464e0bf2ae06ea372b9";
+  };
+
+  # Check need an Oracle database to run  
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    description = "Python interface to Oracle";
+    homepage = "https://oracle.github.io/python-cx_Oracle";
+    license = licenses.bsdOriginal;
+    maintainers = with maintainers; [ y0no ];
+  };
+}
diff --git a/pkgs/development/python-modules/cypari2/default.nix b/pkgs/development/python-modules/cypari2/default.nix
new file mode 100644
index 00000000000..fc3c311a506
--- /dev/null
+++ b/pkgs/development/python-modules/cypari2/default.nix
@@ -0,0 +1,55 @@
+{ stdenv
+, bootstrapped-pip
+, buildPythonPackage
+, python
+, fetchPypi
+, pari
+, gmp
+, cython
+, cysignals
+, six
+}:
+
+buildPythonPackage rec {
+  pname = "cypari2";
+  version = "1.1.4"; # remove six dependency on upgrade to >1.1.4
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0n0mp8qmvvzmfaawg39d3mkyzf65q2zkz7bnqyk4sfjbz4xwc6mb";
+  };
+
+  # This differs slightly from the default python installPhase in that it pip-installs
+  # "." instead of "*.whl".
+  # That is because while the default install phase succeeds to build the package,
+  # it fails to generate the file "auto_paridecl.pxd".
+  installPhase = ''
+    mkdir -p "$out/lib/${python.libPrefix}/site-packages"
+    export PYTHONPATH="$out/lib/${python.libPrefix}/site-packages:$PYTHONPATH"
+
+    # install "." instead of "*.whl"
+    ${bootstrapped-pip}/bin/pip install --no-index --prefix=$out --no-cache --build=tmpdir .
+  '';
+
+  buildInputs = [
+    pari
+    gmp
+  ];
+
+  propagatedBuildInputs = [
+    cysignals
+    cython
+    six # after 1.1.4: will not be needed
+  ];
+
+  checkPhase = ''
+    make check
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Cython bindings for PARI";
+    license = licenses.gpl2;
+    maintainers = with maintainers; [ timokau ];
+    homepage = https://github.com/defeo/cypari2;
+  };
+}
diff --git a/pkgs/development/python-modules/cysignals/default.nix b/pkgs/development/python-modules/cysignals/default.nix
new file mode 100644
index 00000000000..56d997c6b32
--- /dev/null
+++ b/pkgs/development/python-modules/cysignals/default.nix
@@ -0,0 +1,41 @@
+{ lib
+, fetchPypi
+, buildPythonPackage
+, cython
+, sphinx
+}:
+
+buildPythonPackage rec {
+  pname = "cysignals";
+  version = "1.7.1";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "15nky8siwlc7s8v23vv4m0mnxa1z6jcs2qfr26m2mkw9j9g2na2j";
+  };
+
+  hardeningDisable = [
+    "fortify"
+  ];
+
+  # currently fails, probably because of formatting changes in gdb 8.0
+  doCheck = false;
+
+  preCheck = ''
+    # Make sure cysignals-CSI is in PATH
+    export PATH="$out/bin:$PATH"
+  '';
+
+  propagatedBuildInputs = [
+    cython
+  ];
+
+  enableParallelBuilding = true;
+
+  meta = {
+    description = "Interrupt and signal handling for Cython";
+    homepage = https://github.com/sagemath/cysignals/;
+    maintainers = with lib.maintainers; [ timokau ];
+    license = lib.licenses.lgpl3Plus;
+  };
+}
diff --git a/pkgs/development/python-modules/cytoolz/default.nix b/pkgs/development/python-modules/cytoolz/default.nix
index 9c5a2b2110c..aefe250effe 100644
--- a/pkgs/development/python-modules/cytoolz/default.nix
+++ b/pkgs/development/python-modules/cytoolz/default.nix
@@ -9,12 +9,11 @@
 
 buildPythonPackage rec {
   pname = "cytoolz";
-  version = "0.9.0";
-  name = "${pname}-${version}";
+  version = "0.9.0.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "5ebb55855a8bb7800afa58e52408763935527e0305f35600c71b43c86013dec2";
+    sha256 = "84cc06fa40aa310f2df79dd440fc5f84c3e20f01f9f7783fc9c38d0a11ba00e5";
   };
 
   # Extension types
@@ -23,19 +22,13 @@ buildPythonPackage rec {
   checkInputs = [ nose ];
   propagatedBuildInputs = [ toolz ];
 
-  # File as accidentally included in release
-  # See https://github.com/pytoolz/cytoolz/issues/116#issuecomment-355770073
-  postPatch = ''
-    rm cytoolz/tests/test_curried_doctests.py
-  '';
-
   # Disable failing test https://github.com/pytoolz/cytoolz/issues/97
   checkPhase = ''
     NOSE_EXCLUDE=test_curried_exceptions nosetests -v $out/${python.sitePackages}
   '';
 
   meta = {
-    homepage = "http://github.com/pytoolz/cytoolz/";
+    homepage = "https://github.com/pytoolz/cytoolz/";
     description = "Cython implementation of Toolz: High performance functional utilities";
     license = "licenses.bsd3";
     maintainers = with lib.maintainers; [ fridh ];
diff --git a/pkgs/development/python-modules/daphne/default.nix b/pkgs/development/python-modules/daphne/default.nix
index 86b00ca7408..7ead1cacfa6 100644
--- a/pkgs/development/python-modules/daphne/default.nix
+++ b/pkgs/development/python-modules/daphne/default.nix
@@ -1,19 +1,31 @@
-{ stdenv, buildPythonPackage, fetchPypi,
-  asgiref, autobahn, twisted, hypothesis
+{ stdenv, buildPythonPackage, isPy3k, fetchFromGitHub
+, asgiref, autobahn, twisted, pytestrunner
+, hypothesis, pytest, pytest-asyncio
 }:
 buildPythonPackage rec {
   pname = "daphne";
-  name = "${pname}-${version}";
-  version = "2.0.3";
+  version = "2.1.0";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "bb2075ce35ca00f2e5440cc034dfebd5c00d346de62ea45f099db089b868c31f";
+  disabled = !isPy3k;
+
+  src = fetchFromGitHub {
+    owner = "django";
+    repo = pname;
+    rev = version;
+    sha256 = "1lbpn0l796ar77amqy8dap30zxmsn6as8y2lbmp4lk8m9awscwi8";
   };
 
-  buildInputs = [ hypothesis ];
+  nativeBuildInputs = [ pytestrunner ];
+
   propagatedBuildInputs = [ asgiref autobahn twisted ];
 
+  checkInputs = [ hypothesis pytest pytest-asyncio ];
+
+  checkPhase = ''
+    # Other tests fail, seems to be due to filesystem access
+    py.test -k "test_cli or test_utils"
+  '';
+
   meta = with stdenv.lib; {
     description = "Django ASGI (HTTP/WebSocket) server";
     license = licenses.bsd3;
diff --git a/pkgs/development/python-modules/darcsver/default.nix b/pkgs/development/python-modules/darcsver/default.nix
new file mode 100644
index 00000000000..753b592a4c5
--- /dev/null
+++ b/pkgs/development/python-modules/darcsver/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, buildPythonPackage, fetchPypi, isPy3k, mock }:
+
+buildPythonPackage rec {
+  pname = "darcsver";
+  version = "1.7.4";
+
+  disabled = isPy3k;
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1yb1c3jxqvy4r3qiwvnb86qi5plw6018h15r3yk5ji3nk54qdcb6";
+  };
+
+  buildInputs = [ mock ];
+
+  # Note: We don't actually need to provide Darcs as a build input.
+  # Darcsver will DTRT when Darcs isn't available.  See news.gmane.org
+  # http://thread.gmane.org/gmane.comp.file-systems.tahoe.devel/3200 for a
+  # discussion.
+
+  # AttributeError: 'module' object has no attribute 'test_darcsver'
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    description = "Darcsver, generate a version number from Darcs history";
+    homepage = https://pypi.python.org/pypi/darcsver;
+    license = "BSD-style";
+  };
+}
diff --git a/pkgs/development/python-modules/dask/default.nix b/pkgs/development/python-modules/dask/default.nix
index 8a8437767d8..9bbf1da7a65 100644
--- a/pkgs/development/python-modules/dask/default.nix
+++ b/pkgs/development/python-modules/dask/default.nix
@@ -12,12 +12,12 @@
 
 buildPythonPackage rec {
   pname = "dask";
-  version = "0.17.0";
+  version = "0.17.4";
   name = "${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "4d2b0754d16ddc3f87026c1fc4fa3b589d7604a41d3f6510268f172abc1d0a5e";
+    sha256 = "c111475a3d1f8cba41c8094e1fb1831c65015390dcef0308042a11a9606a2f6d";
   };
 
   checkInputs = [ pytest ];
diff --git a/pkgs/development/python-modules/dataclasses/default.nix b/pkgs/development/python-modules/dataclasses/default.nix
new file mode 100644
index 00000000000..083ea6d6347
--- /dev/null
+++ b/pkgs/development/python-modules/dataclasses/default.nix
@@ -0,0 +1,21 @@
+{ stdenv, buildPythonPackage, fetchPypi, isPy36 }:
+
+buildPythonPackage rec {
+  pname = "dataclasses";
+  version = "0.5";
+
+  # backport only works on Python 3.6, and is in the standard library in Python 3.7
+  disabled = !isPy36;
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "07lgn1k56sqpw7yfzv5a6mwshsgaipjawflgyr6lrkryjl64481z";
+  };
+
+  meta = with stdenv.lib; {
+    description = "An implementation of PEP 557: Data Classes";
+    homepage = "https://github.com/ericvsmith/dataclasses";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ catern ];
+  };
+}
diff --git a/pkgs/development/python-modules/datadog/default.nix b/pkgs/development/python-modules/datadog/default.nix
new file mode 100644
index 00000000000..35d830f81b5
--- /dev/null
+++ b/pkgs/development/python-modules/datadog/default.nix
@@ -0,0 +1,27 @@
+{ lib, buildPythonPackage, fetchFromGitHub, isPy3k
+, decorator, requests, simplejson
+, nose, mock }:
+
+buildPythonPackage rec {
+  pname = "datadog";
+  version = "0.20.0";
+
+  # no tests in PyPI tarball
+  # https://github.com/DataDog/datadogpy/pull/259
+  src = fetchFromGitHub {
+    owner = "DataDog";
+    repo = "datadogpy";
+    rev = "v${version}";
+    sha256 = "1p4p14853yrsl8py4ca7za7a12qzw0xwgz64f5kzx8a6vpv3p3md";
+  };
+
+  propagatedBuildInputs = [ decorator requests simplejson ];
+
+  checkInputs = [ nose mock ];
+
+  meta = with lib; {
+    description = "The Datadog Python library";
+    license = licenses.bsd3;
+    homepage = https://github.com/DataDog/datadogpy;
+  };
+}
diff --git a/pkgs/development/python-modules/datashape/default.nix b/pkgs/development/python-modules/datashape/default.nix
index 9177e9f0ff4..4fcb38e7b36 100644
--- a/pkgs/development/python-modules/datashape/default.nix
+++ b/pkgs/development/python-modules/datashape/default.nix
@@ -31,8 +31,10 @@ in buildPythonPackage rec {
   checkInputs = [ pytest mock ];
   propagatedBuildInputs = [ numpy multipledispatch dateutil ];
 
+  # Disable several tests
+  # https://github.com/blaze/datashape/issues/232
   checkPhase = ''
-    py.test datashape/tests
+    py.test -k "not test_validate and not test_nested_iteratables and not test_validate_dicts and not test_tuples_can_be_records_too" datashape/tests
   '';
 
   meta = {
diff --git a/pkgs/development/python-modules/dateutil/1_5.nix b/pkgs/development/python-modules/dateutil/1_5.nix
new file mode 100644
index 00000000000..6580b0e1007
--- /dev/null
+++ b/pkgs/development/python-modules/dateutil/1_5.nix
@@ -0,0 +1,20 @@
+{ stdenv, buildPythonPackage, fetchPypi, isPy3k, six }:
+
+buildPythonPackage rec {
+  pname = "python-dateutil";
+  version = "1.5";
+  disabled = isPy3k;
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "02dhw57jf5kjcp7ng1if7vdrbnlpb9yjmz7wygwwvf3gni4766bg";
+  };
+
+  propagatedBuildInputs = [ six ];
+
+  meta = with stdenv.lib; {
+    description = "Powerful extensions to the standard datetime module";
+    homepage = https://pypi.python.org/pypi/python-dateutil;
+    license = "BSD-style";
+  };
+}
diff --git a/pkgs/development/python-modules/datrie/default.nix b/pkgs/development/python-modules/datrie/default.nix
new file mode 100644
index 00000000000..f9ac491dc81
--- /dev/null
+++ b/pkgs/development/python-modules/datrie/default.nix
@@ -0,0 +1,21 @@
+{ stdenv, buildPythonPackage, fetchPypi
+, pytest, pytestrunner, hypothesis}:
+
+buildPythonPackage rec {
+  pname = "datrie";
+  version = "0.7.1";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "08r0if7dry2q7p34gf7ffyrlnf4bdvnprxgydlfxgfnvq8f3f4bs";
+  };
+
+  buildInputs = [ pytest pytestrunner hypothesis ];
+
+  meta = with stdenv.lib; {
+    description = "Super-fast, efficiently stored Trie for Python";
+    homepage = "https://github.com/kmike/datrie";
+    license = licenses.lgpl2;
+    maintainers = with maintainers; [ lewo ];
+  };
+}
diff --git a/pkgs/development/python-modules/dbf/default.nix b/pkgs/development/python-modules/dbf/default.nix
index 2343ea2918b..cdcc313ed82 100644
--- a/pkgs/development/python-modules/dbf/default.nix
+++ b/pkgs/development/python-modules/dbf/default.nix
@@ -1,21 +1,24 @@
-{ stdenv, fetchPypi, buildPythonPackage, aenum, isPy3k }:
+{ stdenv, fetchPypi, buildPythonPackage, aenum, isPy3k, pythonOlder, enum34, python }:
 
 buildPythonPackage rec {
     pname = "dbf";
-    version = "0.96.8";
-    name = "${pname}-${version}";
+    version = "0.97.2";
 
     src = fetchPypi {
       inherit pname version;
-      sha256 = "1z8n7s4cka6x9ybh4qpfhj51v2qrk38h2f06npizzhm0hmn6r3v1";
+      sha256 = "b4c5165d29f6ca893797974aa9f228d2ad39aa864c166ce5bcb89c636489c8e6";
     };
 
-    propagatedBuildInputs = [ aenum ];
+    propagatedBuildInputs = [ aenum ] ++ stdenv.lib.optional (pythonOlder "3.4") [ enum34 ];
 
     doCheck = !isPy3k;
     # tests are not yet ported.
     # https://groups.google.com/forum/#!topic/python-dbase/96rx2xmCG4w
 
+    checkPhase = ''
+      ${python.interpreter} dbf/test.py
+    '';
+
     meta = with stdenv.lib; {
       description = "Pure python package for reading/writing dBase, FoxPro, and Visual FoxPro .dbf files";
       homepage    = "https://pypi.python.org/pypi/dbf";
diff --git a/pkgs/development/python-modules/debian/default.nix b/pkgs/development/python-modules/debian/default.nix
new file mode 100644
index 00000000000..937b6df4229
--- /dev/null
+++ b/pkgs/development/python-modules/debian/default.nix
@@ -0,0 +1,14 @@
+{ stdenv, buildPythonPackage, fetchPypi
+, chardet, six}:
+
+buildPythonPackage rec {
+  pname = "python-debian";
+  version = "0.1.32";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "143887ac647ad30819f289f5a4ca13b77e56df27b686b84c34669447f7591280";
+  };
+
+  propagatedBuildInputs = [ chardet six ];
+}
diff --git a/pkgs/development/python-modules/deform/default.nix b/pkgs/development/python-modules/deform/default.nix
new file mode 100644
index 00000000000..53286b38722
--- /dev/null
+++ b/pkgs/development/python-modules/deform/default.nix
@@ -0,0 +1,41 @@
+{ lib, buildPythonPackage, fetchPypi
+, chameleon, colander, iso8601, peppercorn, translationstring, zope_deprecation
+, nose, coverage, beautifulsoup4, flaky }:
+
+buildPythonPackage rec {
+  pname = "deform";
+  version = "2.0.5";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "874d3346a02c500432efdcc73b1a7174aa0ea69cd52a99bb9a812967f54f6f79";
+  };
+
+  postPatch = ''
+    substituteInPlace setup.py \
+      --replace "iso8601<=0.1.11" iso8601
+  '';
+
+  propagatedBuildInputs = [
+    chameleon
+    colander
+    iso8601
+    peppercorn
+    translationstring
+    zope_deprecation
+  ];
+
+  checkInputs = [
+    nose
+    coverage
+    beautifulsoup4
+    flaky
+  ];
+
+  meta = with lib; {
+    description = "Form library with advanced features like nested forms";
+    homepage = https://docs.pylonsproject.org/projects/deform/en/latest/;
+    license = licenses.free; # http://www.repoze.org/LICENSE.txt
+    maintainers = with maintainers; [ garbas domenkozar ];
+  };
+}
diff --git a/pkgs/development/python-modules/defusedxml/default.nix b/pkgs/development/python-modules/defusedxml/default.nix
new file mode 100644
index 00000000000..6426333ed26
--- /dev/null
+++ b/pkgs/development/python-modules/defusedxml/default.nix
@@ -0,0 +1,11 @@
+{ stdenv, buildPythonPackage, fetchPypi }:
+
+buildPythonPackage rec {
+  pname = "defusedxml";
+  version = "0.5.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1x54n0h8hl92vvwyymx883fbqpqjwn2mc8fb383bcg3z9zwz5mr4";
+  };
+}
diff --git a/pkgs/development/python-modules/deluge-client/default.nix b/pkgs/development/python-modules/deluge-client/default.nix
new file mode 100644
index 00000000000..cc991c7aeb4
--- /dev/null
+++ b/pkgs/development/python-modules/deluge-client/default.nix
@@ -0,0 +1,21 @@
+{ stdenv, buildPythonPackage, fetchPypi }:
+
+buildPythonPackage rec {
+  pname = "deluge-client";
+  version = "1.4.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "86979ebcb9f1f991554308e88c7a57469cbf339958b44c71cbdcba128291b043";
+  };
+
+  # it will try to connect to a running instance
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    description = "Lightweight pure-python rpc client for deluge";
+    homepage = https://github.com/JohnDoee/deluge-client;
+    license = licenses.mit;
+    maintainers = with maintainers; [ peterhoeg ];
+  };
+}
diff --git a/pkgs/development/python-modules/deprecation/default.nix b/pkgs/development/python-modules/deprecation/default.nix
new file mode 100644
index 00000000000..63c3fcd74ca
--- /dev/null
+++ b/pkgs/development/python-modules/deprecation/default.nix
@@ -0,0 +1,25 @@
+{ lib, buildPythonPackage, fetchPypi, python, packaging, unittest2 }:
+
+buildPythonPackage rec {
+  pname = "deprecation";
+  version = "2.0.2";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "e8d0dc5a17d7d551730e5f23ff3a53fc9e438364b9efb47d41c3e9b05522eabe";
+  };
+
+  propagatedBuildInputs = [ packaging ];
+
+  checkInputs = [ unittest2 ];
+
+  checkPhase = ''
+    ${python.interpreter} -m unittest discover
+  '';
+
+  meta = with lib; {
+    description = "A library to handle automated deprecations";
+    homepage = https://deprecation.readthedocs.io/;
+    license = licenses.asl20;
+  };
+}
diff --git a/pkgs/development/python-modules/derpconf/default.nix b/pkgs/development/python-modules/derpconf/default.nix
new file mode 100644
index 00000000000..3a0ecffe526
--- /dev/null
+++ b/pkgs/development/python-modules/derpconf/default.nix
@@ -0,0 +1,19 @@
+{ stdenv, buildPythonPackage, fetchPypi, six }:
+
+buildPythonPackage rec {
+  pname = "derpconf";
+  version = "0.8.2";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "ce4f0cd55d367a3357538a18422c916dced0617a00056b4ebabe775059eace4f";
+  };
+
+  propagatedBuildInputs = [ six ];
+
+  meta = with stdenv.lib; {
+    description = "derpconf abstracts loading configuration files for your app";
+    homepage = https://github.com/globocom/derpconf;
+    license = licenses.mit;
+  };
+}
diff --git a/pkgs/development/python-modules/detox/default.nix b/pkgs/development/python-modules/detox/default.nix
new file mode 100644
index 00000000000..ea50eebb38c
--- /dev/null
+++ b/pkgs/development/python-modules/detox/default.nix
@@ -0,0 +1,27 @@
+{ stdenv, buildPythonPackage, fetchPypi
+, pytest, tox, py, eventlet }:
+
+buildPythonPackage rec {
+  pname = "detox";
+  version = "0.11";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "4719ca48c4ea5ffd908b1bc3d5d1b593b41e71dee17180d58d8a3e7e8f588d45";
+  };
+
+  buildInputs = [ pytest ];
+  propagatedBuildInputs = [ tox py eventlet ];
+
+  checkPhase = ''
+    py.test
+  '';
+
+  # eventlet timeout, and broken invokation 3.5
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    description = "What is detox?";
+    homepage = https://bitbucket.org/hpk42/detox;
+  };
+}
diff --git a/pkgs/development/python-modules/devpi-common/default.nix b/pkgs/development/python-modules/devpi-common/default.nix
index c43d34a9b55..bf2808745ec 100644
--- a/pkgs/development/python-modules/devpi-common/default.nix
+++ b/pkgs/development/python-modules/devpi-common/default.nix
@@ -2,12 +2,12 @@
 
 with pythonPackages;buildPythonPackage rec {
   pname = "devpi-common";
-  version = "3.2.1";
+  version = "3.2.3";
   name = "${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "e9afa277a9b227d92335c49fab40be2e9bb112c0f4dda84906c14addb1ded2f7";
+    sha256 = "d2ecae3a92b2da62ecc6586d1c40d265e61bce70d7f1be2327e8b98598ba2687";
   };
 
   propagatedBuildInputs = [ requests py ];
diff --git a/pkgs/development/python-modules/diff_cover/default.nix b/pkgs/development/python-modules/diff_cover/default.nix
index b8286e7d6b1..57f0a1ef238 100644
--- a/pkgs/development/python-modules/diff_cover/default.nix
+++ b/pkgs/development/python-modules/diff_cover/default.nix
@@ -1,6 +1,6 @@
 { stdenv, buildPythonPackage, fetchPypi, jinja2, jinja2_pluralize, pygments,
   six, inflect, mock, nose, coverage, pycodestyle, flake8, pyflakes, git,
-  pylint, pydocstyle, fetchpatch }:
+  pylint, pydocstyle, fetchpatch, glibcLocales }:
 
 buildPythonPackage rec {
   pname = "diff_cover";
@@ -25,7 +25,7 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [ jinja2 jinja2_pluralize pygments six inflect ];
 
-  checkInputs = [ mock nose coverage pycodestyle flake8 pyflakes pylint pydocstyle git ];
+  checkInputs = [ mock nose coverage pycodestyle flake8 pyflakes pylint pydocstyle git glibcLocales ];
 
   meta = with stdenv.lib; {
     description = "Automatically find diff lines that need test coverage";
diff --git a/pkgs/development/python-modules/digitalocean/default.nix b/pkgs/development/python-modules/digitalocean/default.nix
new file mode 100644
index 00000000000..e81caa66e5f
--- /dev/null
+++ b/pkgs/development/python-modules/digitalocean/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, buildPythonPackage, fetchPypi, requests, jsonpickle }:
+
+buildPythonPackage rec {
+  pname = "python-digitalocean";
+  version = "1.13.2";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0h4drpdsmk0b3rlvg6q6cz11k23w0swj1iddk7xdcw4m7r7c52kw";
+  };
+
+  propagatedBuildInputs = [ requests jsonpickle ];
+
+  # Package doesn't distribute tests.
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    description = "digitalocean.com API to manage Droplets and Images";
+    homepage = https://pypi.python.org/pypi/python-digitalocean;
+    license = licenses.lgpl3;
+    maintainers = with maintainers; [ teh ];
+  };
+}
diff --git a/pkgs/development/python-modules/discid/default.nix b/pkgs/development/python-modules/discid/default.nix
index d237f366fdf..f3d403d9f2c 100644
--- a/pkgs/development/python-modules/discid/default.nix
+++ b/pkgs/development/python-modules/discid/default.nix
@@ -10,15 +10,17 @@ buildPythonPackage rec {
     sha256 = "78a3bf6c8377fdbe3d85e914a209ff97aa43e35605779639847b510ced31f7b9";
   };
 
-  patchPhase = ''
-    substituteInPlace discid/libdiscid.py \
-      --replace '_open_library(_LIB_NAME)' "_open_library('${libdiscid}/lib/libdiscid.so.0')"
-  '';
+  patchPhase =
+    let extension = stdenv.hostPlatform.extensions.sharedLibrary; in
+    ''
+      substituteInPlace discid/libdiscid.py \
+        --replace "_open_library(_LIB_NAME)" \
+                  "_open_library('${libdiscid}/lib/libdiscid${extension}')"
+    '';
 
   meta = with stdenv.lib; {
     description = "Python binding of libdiscid";
     homepage    = "https://python-discid.readthedocs.org/";
     license     = licenses.lgpl3Plus;
-    platforms   = platforms.linux;
   };
 }
diff --git a/pkgs/development/python-modules/distro/default.nix b/pkgs/development/python-modules/distro/default.nix
index 36264921f64..da6984c9be9 100644
--- a/pkgs/development/python-modules/distro/default.nix
+++ b/pkgs/development/python-modules/distro/default.nix
@@ -1,7 +1,6 @@
 { stdenv, fetchPypi, buildPythonPackage, pytest, pytestcov, tox }:
 
 buildPythonPackage rec {
-  name = "${pname}-${version}";
   pname = "distro";
   version = "1.2.0";
 
diff --git a/pkgs/development/python-modules/dj-database-url/default.nix b/pkgs/development/python-modules/dj-database-url/default.nix
new file mode 100644
index 00000000000..f334b7efeac
--- /dev/null
+++ b/pkgs/development/python-modules/dj-database-url/default.nix
@@ -0,0 +1,20 @@
+{ lib, buildPythonPackage, fetchPypi }:
+
+buildPythonPackage rec {
+  pname = "dj-database-url";
+  version = "0.5.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "4aeaeb1f573c74835b0686a2b46b85990571159ffc21aa57ecd4d1e1cb334163";
+  };
+
+  # Tests access a DB via network
+  doCheck = false;
+
+  meta = with lib; {
+    description = "Use Database URLs in your Django Application";
+    homepage = https://github.com/kennethreitz/dj-database-url;
+    license = licenses.bsd2;
+  };
+}
diff --git a/pkgs/development/python-modules/django-ipware/default.nix b/pkgs/development/python-modules/django-ipware/default.nix
index 1f3aedab810..5deccb34d89 100644
--- a/pkgs/development/python-modules/django-ipware/default.nix
+++ b/pkgs/development/python-modules/django-ipware/default.nix
@@ -3,7 +3,7 @@
 buildPythonPackage rec {
   pname = "django-ipware";
   name = "${pname}-${version}";
-  version = "2.0.1";
+  version = "2.0.2";
 
   meta = {
     description = "A Django application to retrieve user's IP address";
@@ -13,7 +13,7 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "3fba8821298c8533ce5609debf31dc8a22f228c50e100f42d97637a9f9357d43";
+    sha256 = "abf2bfbf0ec6c04679372a55c25889c9b08f55ec404bca3dfc08f3cf6c832a11";
   };
 
   propagatedBuildInputs = [ django ];
diff --git a/pkgs/development/python-modules/django-pipeline/default.nix b/pkgs/development/python-modules/django-pipeline/default.nix
new file mode 100644
index 00000000000..58e9d746b97
--- /dev/null
+++ b/pkgs/development/python-modules/django-pipeline/default.nix
@@ -0,0 +1,36 @@
+{ lib, buildPythonPackage, fetchFromGitHub, isPy3k
+, django, futures, mock, jinja2, jsmin, slimit }:
+
+buildPythonPackage rec {
+  pname = "django-pipeline";
+  version = "1.6.14";
+
+  # no tests on PyPI
+  src = fetchFromGitHub {
+    owner = "jazzband";
+    repo = pname;
+    rev = version;
+    sha256 = "1xf732bd17mgha75jfhlnms46ib2pffhpfa0ca7bmng9jhbvsl9j";
+  };
+
+  postPatch = ''
+    substituteInPlace tests/tests/test_compiler.py \
+      --replace "/usr/bin/env" ""
+  '';
+
+  propagatedBuildInputs = [ django ] ++ lib.optional (!isPy3k) futures;
+
+  checkInputs = [ jinja2 jsmin slimit ] ++ lib.optional (!isPy3k) mock;
+
+  checkPhase = ''
+    export PYTHONPATH=.:$PYTHONPATH
+    export DJANGO_SETTINGS_MODULE=tests.settings
+    ${django}/bin/django-admin.py test tests
+  '';
+
+  meta = with lib; {
+    description = "Pipeline is an asset packaging library for Django";
+    homepage = https://github.com/cyberdelia/django-pipeline;
+    license = licenses.mit;
+  };
+}
diff --git a/pkgs/development/python-modules/django-polymorphic/default.nix b/pkgs/development/python-modules/django-polymorphic/default.nix
index 8cb68ed1e7d..2cd112d8150 100644
--- a/pkgs/development/python-modules/django-polymorphic/default.nix
+++ b/pkgs/development/python-modules/django-polymorphic/default.nix
@@ -1,18 +1,24 @@
-{ stdenv, buildPythonPackage, fetchPypi, django }:
+{ stdenv, buildPythonPackage, fetchFromGitHub, python, django, dj-database-url }:
 
 buildPythonPackage rec {
   pname = "django-polymorphic";
   version = "2.0.2";
-  name = "${pname}-${version}";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "e1821d7b5874509a158a0f22bebf544330e0944c481c5a3e6da6cac8887e4e88";
+  # PyPI tarball is missing some test files
+  src = fetchFromGitHub {
+    owner = pname;
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "18p84kdwpfp423vb2n38h840mj3bq0j57jx3cry7c8dznpi0vfi2";
   };
 
-  checkInputs = [ django ];
+  checkInputs = [ dj-database-url ];
   propagatedBuildInputs = [ django ];
 
+  checkPhase = ''
+    ${python.interpreter} runtests.py
+  '';
+
   meta = {
     homepage = https://github.com/django-polymorphic/django-polymorphic;
     description = "Improved Django model inheritance with automatic downcasting";
diff --git a/pkgs/development/python-modules/django/1_11.nix b/pkgs/development/python-modules/django/1_11.nix
index ca0322cf607..8dead564485 100644
--- a/pkgs/development/python-modules/django/1_11.nix
+++ b/pkgs/development/python-modules/django/1_11.nix
@@ -6,14 +6,13 @@
 
 buildPythonPackage rec {
   pname = "Django";
-  name = "${pname}-${version}";
-  version = "1.11.9";
+  version = "1.11.12";
 
   disabled = pythonOlder "2.7";
 
   src = fetchurl {
-    url = "http://www.djangoproject.com/m/releases/1.11/${name}.tar.gz";
-    sha256 = "0d0hh9sh2rwazi7z2lnqvz1424bq6ps6c5h6ss04klp14agi4g9m";
+    url = "http://www.djangoproject.com/m/releases/1.11/${pname}-${version}.tar.gz";
+    sha256 = "1szjha338grhf9dq0wpbrqwvak597shsx474pm5j67kn09xqqfad";
   };
 
   patches = stdenv.lib.optionals withGdal [
diff --git a/pkgs/development/python-modules/django/2_0.nix b/pkgs/development/python-modules/django/2_0.nix
index c1f935e51c6..9c8cde3a0d8 100644
--- a/pkgs/development/python-modules/django/2_0.nix
+++ b/pkgs/development/python-modules/django/2_0.nix
@@ -7,13 +7,13 @@
 buildPythonPackage rec {
   pname = "Django";
   name = "${pname}-${version}";
-  version = "2.0.1";
+  version = "2.0.5";
 
   disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0by1gswkrzxn594fa26llkzsc410999fq8s0b5d1598jwi5q0syr";
+    sha256 = "71d1a584bb4ad2b4f933d07d02c716755c1394feaac1ce61ce37843ac5401092";
   };
 
   patches = stdenv.lib.optionals withGdal [
diff --git a/pkgs/development/python-modules/django_redis/default.nix b/pkgs/development/python-modules/django_redis/default.nix
index 5c00ef60417..3cbf6d2ce71 100644
--- a/pkgs/development/python-modules/django_redis/default.nix
+++ b/pkgs/development/python-modules/django_redis/default.nix
@@ -2,12 +2,12 @@
   mock, django, redis, msgpack }:
 buildPythonPackage rec {
   pname = "django-redis";
-  version = "4.8.0";
+  version = "4.9.0";
   name = "${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "5229da5b07ccb8d3e3e9ee098c0b7c03e20eba48634bc456697dd73d62c68b19";
+    sha256 = "15b47faef6aefaa3f47135a2aeb67372da300e4a4cf06809c66ab392686a2155";
   };
 
   doCheck = false;
diff --git a/pkgs/development/python-modules/djangorestframework/default.nix b/pkgs/development/python-modules/djangorestframework/default.nix
index b11847beaa9..81f406c9ef2 100644
--- a/pkgs/development/python-modules/djangorestframework/default.nix
+++ b/pkgs/development/python-modules/djangorestframework/default.nix
@@ -1,12 +1,12 @@
 { stdenv, buildPythonPackage, fetchurl, django }:
 buildPythonPackage rec {
-  version = "3.7.7";
+  version = "3.8.2";
   pname = "djangorestframework";
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://pypi/d/djangorestframework/${name}.tar.gz";
-    sha256 = "9f9e94e8d22b100ed3a43cee8c47a7ff7b185e778a1f2da9ec5c73fc4e081b87";
+    sha256 = "b6714c3e4b0f8d524f193c91ecf5f5450092c2145439ac2769711f7eba89a9d9";
   };
 
   # Test settings are missing
diff --git a/pkgs/development/python-modules/docker-pycreds/default.nix b/pkgs/development/python-modules/docker-pycreds/default.nix
new file mode 100644
index 00000000000..dd20400ea4f
--- /dev/null
+++ b/pkgs/development/python-modules/docker-pycreds/default.nix
@@ -0,0 +1,22 @@
+{ stdenv, buildPythonPackage, fetchPypi, six }:
+
+buildPythonPackage rec {
+  pname = "docker-pycreds";
+  version = "0.2.3";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "e3732a03610a00461a716997670c7010bf1c214a3edc440f7d6a2a3a830ecd9d";
+  };
+
+  # require docker-credential-helpers binaries
+  doCheck = false;
+
+  propagatedBuildInputs = [ six ];
+
+  meta = with stdenv.lib; {
+    description = "Python bindings for the docker credentials store API.";
+    homepage = https://github.com/shin-/dockerpy-creds;
+    license = licenses.asl20;
+  };
+}
diff --git a/pkgs/development/python-modules/docker-registry-core/default.nix b/pkgs/development/python-modules/docker-registry-core/default.nix
new file mode 100644
index 00000000000..ad9968af173
--- /dev/null
+++ b/pkgs/development/python-modules/docker-registry-core/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, buildPythonPackage, fetchPypi, isPy3k
+, boto, redis, setuptools, simplejson }:
+
+buildPythonPackage rec {
+  pname = "docker-registry-core";
+  version = "2.0.3";
+  disabled = isPy3k;
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0q036rr0b5734szkj883hkb2kjhgcc5pm3dz4yz8vcim3x7q0zil";
+  };
+
+  DEPS = "loose";
+
+  doCheck = false;
+  propagatedBuildInputs = [ boto redis setuptools simplejson ];
+
+  patchPhase = "> requirements/main.txt";
+
+  meta = with stdenv.lib; {
+    description = "Docker registry core package";
+    homepage = https://github.com/docker/docker-registry;
+    license = licenses.asl20;
+  };
+}
diff --git a/pkgs/development/python-modules/docker/default.nix b/pkgs/development/python-modules/docker/default.nix
index bb39ccd7cf6..2ae56b7dc5a 100644
--- a/pkgs/development/python-modules/docker/default.nix
+++ b/pkgs/development/python-modules/docker/default.nix
@@ -3,12 +3,12 @@
 , ipaddress, backports_ssl_match_hostname, docker_pycreds
 }:
 buildPythonPackage rec {
-  version = "2.7.0";
+  version = "3.3.0";
   pname = "docker";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "144248308e8ea31c4863c6d74e1b55daf97cc190b61d0fe7b7313ab920d6a76c";
+    sha256 = "dc5cc0971a0d36fe94c5ce89bd4adb6c892713500af7b0818708229c3199911a";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/docker_compose/default.nix b/pkgs/development/python-modules/docker_compose/default.nix
index 711babe9518..a739c341b62 100644
--- a/pkgs/development/python-modules/docker_compose/default.nix
+++ b/pkgs/development/python-modules/docker_compose/default.nix
@@ -6,12 +6,12 @@
 , enum34, functools32,
 }:
 buildPythonApplication rec {
-  version = "1.19.0";
+  version = "1.20.1";
   pname = "docker-compose";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "f227e0e4b7d88aaf8f892b03a2068942c56ea16bcf2a0fb9fe2a3a071c5fef0b";
+    sha256 = "34c043ebd4c23e4b864812c16b41dad25cec6b675557b180ced52d372e1a9e66";
   };
 
   # lots of networking and other fails
diff --git a/pkgs/development/python-modules/dockerpty/default.nix b/pkgs/development/python-modules/dockerpty/default.nix
new file mode 100644
index 00000000000..f7a64481c66
--- /dev/null
+++ b/pkgs/development/python-modules/dockerpty/default.nix
@@ -0,0 +1,19 @@
+{ stdenv, buildPythonPackage, fetchPypi, six }:
+
+buildPythonPackage rec {
+  pname = "dockerpty";
+  version = "0.4.1";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1kjn64wx23jmr8dcc6g7bwlmrhfmxr77gh6iphqsl39sayfxdab9";
+  };
+
+  propagatedBuildInputs = [ six ];
+
+  meta = with stdenv.lib; {
+    description = "Functionality needed to operate the pseudo-tty (PTY) allocated to a docker container";
+    homepage = https://github.com/d11wtq/dockerpty;
+    license = licenses.asl20;
+  };
+}
diff --git a/pkgs/development/python-modules/docopt/default.nix b/pkgs/development/python-modules/docopt/default.nix
new file mode 100644
index 00000000000..61c71d87c53
--- /dev/null
+++ b/pkgs/development/python-modules/docopt/default.nix
@@ -0,0 +1,17 @@
+{ stdenv, buildPythonPackage, fetchPypi }:
+
+buildPythonPackage rec {
+  pname = "docopt";
+  version = "0.6.2";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "14f4hn6d1j4b99svwbaji8n2zj58qicyz19mm0x6pmhb50jsics9";
+  };
+
+  meta = with stdenv.lib; {
+    description = "Pythonic argument parser, that will make you smile";
+    homepage = http://docopt.org/;
+    license = licenses.mit;
+  };
+}
diff --git a/pkgs/development/python-modules/doctest-ignore-unicode/default.nix b/pkgs/development/python-modules/doctest-ignore-unicode/default.nix
new file mode 100644
index 00000000000..f3be8898760
--- /dev/null
+++ b/pkgs/development/python-modules/doctest-ignore-unicode/default.nix
@@ -0,0 +1,19 @@
+{ stdenv, buildPythonPackage, fetchPypi, nose }:
+
+buildPythonPackage rec {
+  pname = "doctest-ignore-unicode";
+  version = "0.1.2";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1m9aa4qnyj21lbq4sbvmv1vcz7zksss4rz37ddf2hxv4hk8b547w";
+  };
+
+  propagatedBuildInputs = [ nose ];
+
+  meta = with stdenv.lib; {
+    description = "Add flag to ignore unicode literal prefixes in doctests";
+    license = with licenses; [ asl20 ];
+    homepage = https://github.com/gnublade/doctest-ignore-unicode;
+  };
+}
diff --git a/pkgs/development/python-modules/dogpile.cache/default.nix b/pkgs/development/python-modules/dogpile.cache/default.nix
index 657a4db4115..bb9bc62d940 100644
--- a/pkgs/development/python-modules/dogpile.cache/default.nix
+++ b/pkgs/development/python-modules/dogpile.cache/default.nix
@@ -4,12 +4,12 @@
 
 buildPythonPackage rec {
   pname = "dogpile.cache";
-  version = "0.6.4";
+  version = "0.6.5";
   name = "${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "a73aa3049cd88d7ec57a1c2e8946abdf4f14188d429c1023943fcc55c4568da1";
+    sha256 = "631197e78b4471bb0e93d0a86264c45736bc9ae43b4205d581dcc34fbe9b5f31";
   };
 
   # Disable concurrency tests that often fail,
diff --git a/pkgs/development/python-modules/dogpile.core/default.nix b/pkgs/development/python-modules/dogpile.core/default.nix
new file mode 100644
index 00000000000..622954f6144
--- /dev/null
+++ b/pkgs/development/python-modules/dogpile.core/default.nix
@@ -0,0 +1,19 @@
+{ stdenv, buildPythonPackage, fetchPypi }:
+
+buildPythonPackage rec {
+  pname = "dogpile.core";
+  version = "0.4.1";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0xpdvg4kr1isfkrh1rfsh7za4q5a5s6l2kf9wpvndbwf3aqjyrdy";
+  };
+
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    description = "A 'dogpile' lock, typically used as a component of a larger caching solution";
+    homepage = https://bitbucket.org/zzzeek/dogpile.core;
+    license = licenses.bsd3;
+  };
+}
diff --git a/pkgs/development/python-modules/dropbox/default.nix b/pkgs/development/python-modules/dropbox/default.nix
new file mode 100644
index 00000000000..1be9e34ec18
--- /dev/null
+++ b/pkgs/development/python-modules/dropbox/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, buildPythonPackage, fetchPypi
+, pytestrunner, requests, urllib3, mock, setuptools }:
+
+buildPythonPackage rec {
+  pname = "dropbox";
+  version = "8.7.1";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "019f1529631d335f2b57ffd65a4545406bd3d139d0a9611cb6ca8c66c4ae7309";
+  };
+
+  # Set DROPBOX_TOKEN environment variable to a valid token.
+  doCheck = false;
+
+  buildInputs = [ pytestrunner ];
+  propagatedBuildInputs = [ requests urllib3 mock setuptools ];
+
+  meta = with stdenv.lib; {
+    description = "A Python library for Dropbox's HTTP-based Core and Datastore APIs";
+    homepage = https://www.dropbox.com/developers/core/docs;
+    license = licenses.mit;
+  };
+}
diff --git a/pkgs/development/python-modules/dugong/default.nix b/pkgs/development/python-modules/dugong/default.nix
new file mode 100644
index 00000000000..27b1a3e6122
--- /dev/null
+++ b/pkgs/development/python-modules/dugong/default.nix
@@ -0,0 +1,13 @@
+{ stdenv, buildPythonPackage, fetchPypi, pythonOlder }:
+
+buildPythonPackage rec {
+  pname = "dugong";
+  version = "3.5";
+
+  disabled = pythonOlder "3.3"; # Library does not support versions older than 3.3
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0y0rdxbiwm03zv6vpvapqilrird3h8ijz7xmb0j7ds5j4p6q3g24";
+  };
+}
diff --git a/pkgs/development/python-modules/dulwich/default.nix b/pkgs/development/python-modules/dulwich/default.nix
index 13bcb647186..80a42ac30fd 100644
--- a/pkgs/development/python-modules/dulwich/default.nix
+++ b/pkgs/development/python-modules/dulwich/default.nix
@@ -1,21 +1,23 @@
-{ stdenv, buildPythonPackage, fetchurl
+{ stdenv, buildPythonPackage, fetchPypi
+, urllib3, certifi
 , gevent, geventhttpclient, mock, fastimport
 , git, glibcLocales }:
 
 buildPythonPackage rec {
-  version = "0.18.6";
+  version = "0.19.2";
   pname = "dulwich";
-  name = "${pname}-${version}";
 
-  src = fetchurl {
-    url = "mirror://pypi/d/dulwich/${name}.tar.gz";
-    sha256 = "38a04406bc68315794c3bab37c7d4ed137fb8a839482d8894e72b0d9b3eb41a9";
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "c51e10c260543240e0806052af046e1a78b98cbe1ac1ef3880a78d2269e09da4";
   };
 
   LC_ALL = "en_US.UTF-8";
 
+  propagatedBuildInputs = [ urllib3 certifi ];
+
   # Only test dependencies
-  buildInputs = [ git glibcLocales gevent geventhttpclient mock fastimport ];
+  checkInputs = [ git glibcLocales gevent geventhttpclient mock fastimport ];
 
   doCheck = !stdenv.isDarwin;
 
diff --git a/pkgs/development/python-modules/easyprocess/default.nix b/pkgs/development/python-modules/easyprocess/default.nix
new file mode 100644
index 00000000000..dc5784aafb7
--- /dev/null
+++ b/pkgs/development/python-modules/easyprocess/default.nix
@@ -0,0 +1,21 @@
+{ stdenv, buildPythonPackage, fetchPypi }:
+
+buildPythonPackage rec {
+  pname = "EasyProcess";
+  version = "0.2.3";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "07z6485bjxkmx26mp1p1ww19d10qavw0s006bidzailsvk543qll";
+  };
+
+  # No tests
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    description = "Easy to use python subprocess interface";
+    homepage = https://github.com/ponty/EasyProcess;
+    license = licenses.bsdOriginal;
+    maintainers = with maintainers; [ layus ];
+  };
+}
diff --git a/pkgs/development/python-modules/ecpy/default.nix b/pkgs/development/python-modules/ecpy/default.nix
index 84830e7f2b8..334778c93aa 100644
--- a/pkgs/development/python-modules/ecpy/default.nix
+++ b/pkgs/development/python-modules/ecpy/default.nix
@@ -1,15 +1,16 @@
-{ stdenv, fetchPypi, buildPythonPackage, hidapi
+{ stdenv, fetchPypi, buildPythonPackage, isPy3k, hidapi
 , pycrypto, pillow, protobuf, future, ecpy
 }:
 
 buildPythonPackage rec {
-  name = "${pname}-${version}";
   pname = "ECPy";
-  version = "0.8.3";
+  version = "0.9.0";
+
+  disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "ef3d95419d53368f52fb7d4b883b8df0dfc2dd19a76243422d24981c3e5f27bd";
+    sha256 = "ef41346ae24789699f3bc3ddefbfac03ad6b73b7d3d19b998ba9ce47b67c7277";
   };
 
   buildInputs = [ hidapi pycrypto pillow protobuf future ];
diff --git a/pkgs/development/python-modules/elasticsearch-curator/default.nix b/pkgs/development/python-modules/elasticsearch-curator/default.nix
index bdace922084..cf87bc66885 100644
--- a/pkgs/development/python-modules/elasticsearch-curator/default.nix
+++ b/pkgs/development/python-modules/elasticsearch-curator/default.nix
@@ -15,11 +15,11 @@
 
 buildPythonPackage rec {
   pname   = "elasticsearch-curator";
-  version = "5.4.1";
+  version = "5.5.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1bhiqa61h6bbrfp0aygwwchr785x281hnwk8qgnjhb8g4r8ppr3s";
+    sha256 = "2d2762fa55613855b0a04f22e1c6c2c5b53d60301b437205d0e2533e4185671a";
   };
 
   # The integration tests require a running elasticsearch cluster.
diff --git a/pkgs/development/python-modules/elasticsearch/default.nix b/pkgs/development/python-modules/elasticsearch/default.nix
index 88399d31697..502da4b1b60 100644
--- a/pkgs/development/python-modules/elasticsearch/default.nix
+++ b/pkgs/development/python-modules/elasticsearch/default.nix
@@ -7,11 +7,11 @@
 
 buildPythonPackage (rec {
   pname = "elasticsearch";
-  version = "6.1.1";
+  version = "6.2.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "8d91a3fce12123a187b673f18c23bcffa6e7b49ba057555d59eeeded0ba15dce";
+    sha256 = "b106fa3e01750376a42f8a9882bd84d630fda58c7aba38b4fec797d11c0bd0a2";
   };
 
   # Check is disabled because running them destroy the content of the local cluster!
diff --git a/pkgs/development/python-modules/emoji/default.nix b/pkgs/development/python-modules/emoji/default.nix
index 321259d9939..d7cce7b906b 100644
--- a/pkgs/development/python-modules/emoji/default.nix
+++ b/pkgs/development/python-modules/emoji/default.nix
@@ -3,11 +3,11 @@
 buildPythonPackage rec {
   pname = "emoji";
   name = "${pname}-${version}";
-  version = "0.4.5";
+  version = "0.5.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "13i9mgkpll8m92b8mgm5yab4i78nwsl9h38nriavg105id94mg6q";
+    sha256 = "001b92b9c8a157e1ca49187745fa450513bc8b31c87328dfd83d674b9d7dfa63";
   };
 
   checkInputs = [ nose ];
diff --git a/pkgs/development/python-modules/entrypoints/default.nix b/pkgs/development/python-modules/entrypoints/default.nix
index d812fd55a88..9ee0810571a 100644
--- a/pkgs/development/python-modules/entrypoints/default.nix
+++ b/pkgs/development/python-modules/entrypoints/default.nix
@@ -3,21 +3,21 @@
 , fetchPypi
 , configparser
 , pytest
+, isPy3k
 }:
 
 buildPythonPackage rec {
   pname = "entrypoints";
   version = "0.2.3";
-  name = "${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
     sha256 = "d2d587dde06f99545fb13a383d2cd336a8ff1f359c5839ce3a64c917d10c029f";
   };
 
-  checkInputs = [ pytest];
+  checkInputs = [ pytest ];
 
-  propagatedBuildInputs = [ configparser ];
+  propagatedBuildInputs = lib.optional (!isPy3k) configparser;
 
   checkPhase = ''
     py.test tests
@@ -28,4 +28,4 @@ buildPythonPackage rec {
     homepage = https://github.com/takluyver/entrypoints;
     license = lib.licenses.mit;
   };
-}
\ No newline at end of file
+}
diff --git a/pkgs/development/python-modules/envs/default.nix b/pkgs/development/python-modules/envs/default.nix
new file mode 100644
index 00000000000..7b6159d0e61
--- /dev/null
+++ b/pkgs/development/python-modules/envs/default.nix
@@ -0,0 +1,24 @@
+{ lib, buildPythonPackage, fetchFromGitHub
+, click, jinja2, terminaltables }:
+
+buildPythonPackage rec {
+  pname = "envs";
+  version = "1.2.4";
+
+  # move to fetchPyPi when https://github.com/capless/envs/issues/8 is fixed
+  src = fetchFromGitHub {
+    owner  = "capless";
+    repo   = "envs";
+    rev    = "e1f6cbad7f20316fc44324d2c50826d57c2817a8";
+    sha256 = "0p88a79amj0jxll3ssq1dzg78y7zwgc8yqyr7cf53nv2i7kmpakv";
+  };
+
+  checkInputs = [ click jinja2 terminaltables ];
+
+  meta = with lib; {
+    description = "Easy access to environment variables from Python";
+    homepage = https://github.com/capless/envs;
+    license = licenses.asl20;
+    maintainers = with maintainers; [ peterhoeg ];
+  };
+}
diff --git a/pkgs/development/python-modules/evdev/default.nix b/pkgs/development/python-modules/evdev/default.nix
index 250a2f55932..472a630549b 100644
--- a/pkgs/development/python-modules/evdev/default.nix
+++ b/pkgs/development/python-modules/evdev/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "evdev";
-  version = "0.7.0";
+  version = "0.8.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "188ahmqnh5y1f46m7pyjdmi9zfxswaggn6xga65za554d72azvap";
+    sha256 = "3f10c22f15ffedb34519e4af2201f1a088a958efedfd50da0da1aa3887283dff";
   };
 
   buildInputs = [ linuxHeaders ];
diff --git a/pkgs/development/python-modules/ewmh/default.nix b/pkgs/development/python-modules/ewmh/default.nix
new file mode 100644
index 00000000000..a24d049fc22
--- /dev/null
+++ b/pkgs/development/python-modules/ewmh/default.nix
@@ -0,0 +1,23 @@
+{ lib, buildPythonPackage, fetchPypi, xlib }:
+
+buildPythonPackage rec {
+  pname = "ewmh";
+  version = "0.1.6";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0g9l14my3v8zlgq1yd8wh5gpara0qcapsfmvg7lq2lapglzhjsy5";
+  };
+
+  propagatedBuildInputs = [ xlib ];
+
+  # No tests included
+  doCheck = false;
+
+  meta = {
+    homepage = https://github.com/parkouss/pyewmh;
+    description = "An implementation of EWMH (Extended Window Manager Hints), based on Xlib";
+    license = lib.licenses.lgpl3Plus;
+    maintainers = with lib.maintainers; [ bandresen ];
+  };
+}
diff --git a/pkgs/development/python-modules/face_recognition/default.nix b/pkgs/development/python-modules/face_recognition/default.nix
new file mode 100644
index 00000000000..d1d8e8535a4
--- /dev/null
+++ b/pkgs/development/python-modules/face_recognition/default.nix
@@ -0,0 +1,33 @@
+{ buildPythonPackage, fetchFromGitHub, pillow, click, dlib, numpy
+, face_recognition_models, stdenv, flake8, tox, pytest, glibcLocales
+}:
+
+buildPythonPackage rec {
+  pname = "face_recognition";
+  version = "1.2.2";
+
+  src = fetchFromGitHub {
+    repo = pname;
+    owner = "ageitgey";
+    rev = "v${version}";
+    sha256 = "17jnyr80j1p74gyvh1jabvwd3zsxvip2y7cjhh2g6gsjv2dpvrjv";
+  };
+
+  postPatch = ''
+    substituteInPlace setup.py --replace "flake8==2.6.0" "flake8"
+  '';
+
+  propagatedBuildInputs = [ pillow click dlib numpy face_recognition_models ];
+
+  checkInputs = [ flake8 tox pytest glibcLocales ];
+  checkPhase = ''
+    LC_ALL="en_US.UTF-8" py.test
+  '';
+
+  meta = with stdenv.lib; {
+    license = licenses.mit;
+    homepage = https://github.com/ageitgey/face_recognition;
+    maintainers = with maintainers; [ ma27 ];
+    description = "The world's simplest facial recognition api for Python and the command line";
+  };
+}
diff --git a/pkgs/development/python-modules/face_recognition_models/default.nix b/pkgs/development/python-modules/face_recognition_models/default.nix
new file mode 100644
index 00000000000..960bffb903d
--- /dev/null
+++ b/pkgs/development/python-modules/face_recognition_models/default.nix
@@ -0,0 +1,21 @@
+{ buildPythonPackage, stdenv, fetchPypi }:
+
+buildPythonPackage rec {
+  pname = "face_recognition_models";
+  version = "0.3.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1kwnv3qpy5bhspk780bkyg8jd9n5f6p91ja6sjlwk1wcm00d56xp";
+  };
+
+  # no module named `tests` as no tests are available
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/ageitgey/face_recognition_models;
+    license = licenses.cc0;
+    maintainers = with maintainers; [ ma27 ];
+    description = "Trained models for the face_recognition python library";
+  };
+}
diff --git a/pkgs/development/python-modules/faker/default.nix b/pkgs/development/python-modules/faker/default.nix
index 2d459d625d0..9fd37f86f74 100644
--- a/pkgs/development/python-modules/faker/default.nix
+++ b/pkgs/development/python-modules/faker/default.nix
@@ -1,6 +1,6 @@
 { lib, buildPythonPackage, fetchPypi, pythonOlder,
   # Build inputs
-  dateutil, six, ipaddress ? null,
+  dateutil, six, text-unidecode, ipaddress ? null,
   # Test inputs
   email_validator, nose, mock, ukpostcodeparser }:
 
@@ -8,12 +8,11 @@ assert pythonOlder "3.3" -> ipaddress != null;
 
 buildPythonPackage rec {
   pname = "Faker";
-  version = "0.8.8";
-  name = "${pname}-${version}";
+  version = "0.8.13";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "e928cf853ef69d7471421f2a3716a1239e43de0fa9855f4016ee0c9f1057328a";
+    sha256 = "48fed4b4a191e2b42ad20c14115f1c6d36d338b80192075d7573f0f42d7fb321";
   };
 
   checkInputs = [
@@ -26,6 +25,7 @@ buildPythonPackage rec {
   propagatedBuildInputs = [
     dateutil
     six
+    text-unidecode
   ] ++ lib.optional (pythonOlder "3.3") ipaddress;
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/fastimport/default.nix b/pkgs/development/python-modules/fastimport/default.nix
index 44f7bcdab06..02c1ea60e61 100644
--- a/pkgs/development/python-modules/fastimport/default.nix
+++ b/pkgs/development/python-modules/fastimport/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "fastimport";
-  version = "0.9.6";
+  version = "0.9.8";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1aqjsin4rmqm7ln4j0p73fzxifws6c6ikgyhav7r137m2ixsxl43";
+    sha256 = "b2f2e8eb97000256e1aab83d2a0a053fc7b93c3aa4f7e9b971a5703dfc5963b9";
   };
 
   checkPhase = ''
diff --git a/pkgs/development/python-modules/faulthandler/default.nix b/pkgs/development/python-modules/faulthandler/default.nix
index 1fc1aea94d5..a05ac1ba679 100644
--- a/pkgs/development/python-modules/faulthandler/default.nix
+++ b/pkgs/development/python-modules/faulthandler/default.nix
@@ -2,24 +2,13 @@
 
 buildPythonPackage rec {
   pname = "faulthandler";
-  version = "3.0";
+  version = "3.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "acc10e10909f0f956ba1b42b6c450ea0bdaaa27b3942899f65931396cfcdd36a";
+    sha256 = "83301ffab03c86b291677b64b5cec7026f412cbda5ebd27e4cb3338452c40021";
   };
 
-  patches = [
-    (fetchpatch {
-      url = https://github.com/vstinner/faulthandler/commit/67b661e.patch;
-      sha256 = "1nn8c9nq5qypja949hzz0n4yprsyr63wihf5g3gwrinm2nkjnnv7";
-    })
-    (fetchpatch {
-      url = https://github.com/vstinner/faulthandler/commit/07cbb7b.patch;
-      sha256 = "0fh6rjyjw7z1hsiy3sgdc8j9mncg1vlv3y0h4bplqyw18vq3srb3";
-    })
-  ];
-
   meta = {
     description = "Dump the Python traceback";
     license = stdenv.lib.licenses.bsd2;
diff --git a/pkgs/development/python-modules/fiona/default.nix b/pkgs/development/python-modules/fiona/default.nix
index bd249dea5d2..7e9e2e1da64 100644
--- a/pkgs/development/python-modules/fiona/default.nix
+++ b/pkgs/development/python-modules/fiona/default.nix
@@ -5,12 +5,12 @@
 
 buildPythonPackage rec {
   pname = "Fiona";
-  version = "1.7.11.post1";
+  version = "1.7.11.post2";
   name = "${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "35df044fa805e6b420450f5d4281fc0edf96e1da0545c31032045cd3cfad3abf";
+    sha256 = "5804c6f5f7e02cf1f95ca404c22653dd47d64e4496a0ba7af5a2d6b2051b872a";
   };
 
   buildInputs = [
diff --git a/pkgs/development/python-modules/flake8-debugger/default.nix b/pkgs/development/python-modules/flake8-debugger/default.nix
index 9d69c0389b6..32e9a08b741 100644
--- a/pkgs/development/python-modules/flake8-debugger/default.nix
+++ b/pkgs/development/python-modules/flake8-debugger/default.nix
@@ -1,15 +1,24 @@
-{ lib, fetchurl, buildPythonPackage, flake8, nose }:
+{ lib, fetchPypi, buildPythonPackage, flake8, pycodestyle, pytestrunner, pytest }:
 
 buildPythonPackage rec {
   pname = "flake8-debugger";
-  name = "${pname}-${version}";
   version = "3.1.0";
-  src = fetchurl {
-    url = "mirror://pypi/f/flake8-debugger/${name}.tar.gz";
+
+  src = fetchPypi {
+    inherit pname version;
     sha256 = "be4fb88de3ee8f6dd5053a2d347e2c0a2b54bab6733a2280bb20ebd3c4ca1d97";
   };
-  buildInputs = [ nose ];
-  propagatedBuildInputs = [ flake8 ];
+
+  nativeBuildInputs = [ pytestrunner ];
+
+  propagatedBuildInputs = [ flake8 pycodestyle ];
+
+  checkInputs = [ pytest ];
+
+  # Tests not included in PyPI tarball
+  # FIXME: Remove when https://github.com/JBKahn/flake8-debugger/pull/15 is merged
+  doCheck = false;
+
   meta = {
     homepage = https://github.com/jbkahn/flake8-debugger;
     description = "ipdb/pdb statement checker plugin for flake8";
diff --git a/pkgs/development/python-modules/flake8-future-import/default.nix b/pkgs/development/python-modules/flake8-future-import/default.nix
index 2ece8ba85ab..2612cfde1f5 100644
--- a/pkgs/development/python-modules/flake8-future-import/default.nix
+++ b/pkgs/development/python-modules/flake8-future-import/default.nix
@@ -3,27 +3,18 @@
 
 buildPythonPackage rec {
   pname = "flake8-future-import";
-  name = "${pname}-${version}";
-  version = "0.4.3";
+  version = "0.4.5";
+
   # PyPI tarball doesn't include the test suite
   src = fetchFromGitHub {
     owner = "xZise";
     repo = "flake8-future-import";
     rev = version;
-    sha256 = "0622bdcfa588m7g8igag6hf4rhjdwh74yfnrjwlxw4vlqhg344k4";
+    sha256 = "00fpxa6g8cabybnciwnpsbg60zhgydc966jgwyyggw1pcg0frdqr";
   };
 
-  patches = [
-    # Tests in 0.4.3 are broken. We can remove this patch after
-    # the next release.
-    (fetchurl {
-      url = "https://github.com/xZise/flake8-future-import/commit/b4f5a06b22c574fb5270574d1420715667768d5c.patch";
-      sha256 = "06n9ggz9p9kiwjb3vmaj44pm5vi4nhgzjfn7i730m85xn67xzmyn";
-    })
-  ];
-
-
   propagatedBuildInputs = [ flake8 six ];
+
   meta = {
     homepage = https://github.com/xZise/flake8-future-import;
     description = "A flake8 extension to check for the imported __future__ modules to make it easier to have a consistent code base";
diff --git a/pkgs/development/python-modules/flake8-import-order/default.nix b/pkgs/development/python-modules/flake8-import-order/default.nix
index 128a8d18d81..79ad50a63ff 100644
--- a/pkgs/development/python-modules/flake8-import-order/default.nix
+++ b/pkgs/development/python-modules/flake8-import-order/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "flake8-import-order";
-  version = "0.17";
+  version = "0.17.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "60ea6674c77e4d916071beabf2b31b9b45e2f5b3bbda48a34db65766a5b25678";
+    sha256 = "68d430781a9ef15c85a0121500cf8462f1a4bc7672acb2a32bfdbcab044ae0b7";
   };
 
   propagatedBuildInputs = [ pycodestyle ] ++ lib.optional (!isPy3k) enum34;
diff --git a/pkgs/development/python-modules/flask-assets/default.nix b/pkgs/development/python-modules/flask-assets/default.nix
index 53307333048..27d8f9c40c6 100644
--- a/pkgs/development/python-modules/flask-assets/default.nix
+++ b/pkgs/development/python-modules/flask-assets/default.nix
@@ -12,7 +12,7 @@ buildPythonPackage rec {
   propagatedBuildInputs = [ flask webassets flask_script nose ];
 
   meta = with lib; {
-    homepage = http://github.com/miracle2k/flask-assets;
+    homepage = https://github.com/miracle2k/flask-assets;
     description = "Asset management for Flask, to compress and merge CSS and Javascript files";
     license = licenses.bsd2;
     maintainers = with maintainers; [ abbradar ];
diff --git a/pkgs/development/python-modules/flask-autoindex/default.nix b/pkgs/development/python-modules/flask-autoindex/default.nix
new file mode 100644
index 00000000000..397d1e03ee8
--- /dev/null
+++ b/pkgs/development/python-modules/flask-autoindex/default.nix
@@ -0,0 +1,44 @@
+{ stdenv
+, buildPythonPackage
+, fetchpatch
+, fetchPypi
+, flask
+, flask-silk
+, future
+}:
+
+buildPythonPackage rec {
+  pname = "Flask-AutoIndex";
+  version = "0.6";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "19b10mb1nrqfjyafki6wnrbn8mqi30bbyyiyvp5xssc74pciyfqs";
+  };
+
+  propagatedBuildInputs = [
+    flask
+    flask-silk
+    future
+  ];
+
+  patches = [
+    # fix generated binary, see https://github.com/sublee/flask-autoindex/pull/32
+    (fetchpatch {
+      name = "fix_binary.patch";
+      url = "https://github.com/sublee/flask-autoindex/pull/32.patch";
+      sha256 = "1v2r0wvi7prhipjq89774svv6aqj0a13mdfj07pdlkpzfbf029dn";
+    })
+  ];
+
+  meta = with stdenv.lib; {
+    description = "The mod_autoindex for Flask";
+    longDescription = ''
+      Flask-AutoIndex generates an index page for your Flask application automatically.
+      The result is just like mod_autoindex, but the look is more awesome!
+    '';
+    license = licenses.bsd2;
+    maintainers = with maintainers; [ timokau ];
+    homepage = http://pythonhosted.org/Flask-AutoIndex/;
+  };
+}
diff --git a/pkgs/development/python-modules/flask-babel/default.nix b/pkgs/development/python-modules/flask-babel/default.nix
new file mode 100644
index 00000000000..1f4f914968f
--- /dev/null
+++ b/pkgs/development/python-modules/flask-babel/default.nix
@@ -0,0 +1,44 @@
+{ stdenv
+, buildPythonPackage
+, python
+, fetchPypi
+, flask
+, Babel
+, jinja2
+, pytz
+, speaklater
+}:
+
+buildPythonPackage rec {
+  pname = "Flask-Babel";
+  version = "0.11.2";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0ff9n165vhf1nhv6807ckhpp224jw7k7sd7jz5kfh3sbpl85gmy0";
+  };
+
+  propagatedBuildInputs = [
+    flask
+    Babel
+    jinja2
+    pytz
+    speaklater
+  ];
+
+  checkPhase = ''
+    ${python.interpreter} -m unittest discover -s tests
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Adds i18n/l10n support to Flask applications";
+    longDescription = ''
+      Implements i18n and l10n support for Flask.
+      This is based on the Python babel module as well as pytz both of which are
+      installed automatically for you if you install this library.
+    '';
+    license = licenses.bsd2;
+    maintainers = with maintainers; [ timokau ];
+    homepage = https://github.com/python-babel/flask-babel;
+  };
+}
diff --git a/pkgs/development/python-modules/flask-cors/default.nix b/pkgs/development/python-modules/flask-cors/default.nix
index acd9430316b..491ee22b021 100644
--- a/pkgs/development/python-modules/flask-cors/default.nix
+++ b/pkgs/development/python-modules/flask-cors/default.nix
@@ -4,11 +4,11 @@
 buildPythonPackage rec {
   name = "${pname}-${version}";
   pname = "Flask-Cors";
-  version = "3.0.3";
+  version = "3.0.4";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "62ebc5ad80dc21ca0ea9f57466c2c74e24a62274af890b391790c260eb7b754b";
+    sha256 = "bec996f0603a0693c0ea63c8126e5f8e966bb679cf82e6104b254e9c7f3a7d08";
   };
 
   buildInputs = [ nose ];
diff --git a/pkgs/development/python-modules/flask-script/default.nix b/pkgs/development/python-modules/flask-script/default.nix
index ace3cee2d22..72a3fb0c6f8 100644
--- a/pkgs/development/python-modules/flask-script/default.nix
+++ b/pkgs/development/python-modules/flask-script/default.nix
@@ -1,19 +1,22 @@
-{ lib, buildPythonPackage, fetchurl, flask, pytest }:
+{ lib, buildPythonPackage, fetchPypi, flask, pytest }:
 
 buildPythonPackage rec {
-  name = "Flask-Script-${version}";
+  pname = "Flask-Script";
   version = "2.0.6";
 
-  src = fetchurl {
-    url = "mirror://pypi/F/Flask-Script/${name}.tar.gz";
+  src = fetchPypi {
+    inherit pname version;
     sha256 = "0zqh2yq8zk7m9b4xw1ryqmrljkdigfb3hk5155a3b5hkfnn6xxyf";
   };
 
   propagatedBuildInputs = [ flask ];
   checkInputs = [ pytest ];
 
+  # No tests in archive
+  doCheck = false;
+
   meta = with lib; {
-    homepage = http://github.com/smurfix/flask-script;
+    homepage = https://github.com/smurfix/flask-script;
     description = "Scripting support for Flask";
     license = licenses.bsd3;
     maintainers = with maintainers; [ abbradar ];
diff --git a/pkgs/development/python-modules/flask-silk/default.nix b/pkgs/development/python-modules/flask-silk/default.nix
new file mode 100644
index 00000000000..e494f22a476
--- /dev/null
+++ b/pkgs/development/python-modules/flask-silk/default.nix
@@ -0,0 +1,26 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, flask
+}:
+
+buildPythonPackage rec {
+  pname = "Flask-Silk";
+  version = "0.2";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1gjzighx4f0w39sq9xvzr1kwb4y7yv9qrgzvli1p89gy16piz8l0";
+  };
+
+  propagatedBuildInputs = [
+    flask
+  ];
+
+  meta = with stdenv.lib; {
+    description = "Adds silk icons to your Flask application or module, or extension";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ timokau ];
+    homepage = https://github.com/sublee/flask-silk;
+  };
+}
diff --git a/pkgs/development/python-modules/flask/default.nix b/pkgs/development/python-modules/flask/default.nix
index 5e77de84fed..1a2c6417167 100644
--- a/pkgs/development/python-modules/flask/default.nix
+++ b/pkgs/development/python-modules/flask/default.nix
@@ -3,12 +3,12 @@
 
 buildPythonPackage rec {
   name = "${pname}-${version}";
-  version = "0.12.2";
+  version = "0.12.4";
   pname = "Flask";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1hfs2jr2m5lr51xd4gblb28rncd0xrpycz6c07cyqsbv4dhl9x29";
+    sha256 = "2ea22336f6d388b4b242bc3abf8a01244a8aa3e236e7407469ef78c16ba355dd";
   };
 
   checkInputs = [ pytest ];
diff --git a/pkgs/development/python-modules/flit/default.nix b/pkgs/development/python-modules/flit/default.nix
index 3a73b464a46..17b9d018c39 100644
--- a/pkgs/development/python-modules/flit/default.nix
+++ b/pkgs/development/python-modules/flit/default.nix
@@ -21,11 +21,11 @@
 
 buildPythonPackage rec {
   pname = "flit";
-  version = "0.13";
+  version = "1.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "8f558351bf4bb82b872d3bdbea7055cbb2e33ed2bdf809284bf927d4c78bf0ee";
+    sha256 = "95b8577b2232da39ee14ae237575b7a85afeeabc1e87f4a19485fac34f85aa89";
   };
 
   disabled = !isPy3k;
diff --git a/pkgs/development/python-modules/fonttools/default.nix b/pkgs/development/python-modules/fonttools/default.nix
index a8a89f0e8ca..1381fc45c22 100644
--- a/pkgs/development/python-modules/fonttools/default.nix
+++ b/pkgs/development/python-modules/fonttools/default.nix
@@ -3,16 +3,16 @@
 , numpy
 , pytest
 , pytestrunner
+, glibcLocales
 }:
 
 buildPythonPackage rec {
   pname = "fonttools";
-  version = "3.22.0";
-  name = "${pname}-${version}";
+  version = "3.25.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "01640dfbc0ba752181b21fe74240b8a7bbf7af75581737245836ada5565bd549";
+    sha256 = "c1b7eb0469d4e684bb8995906c327109beac870a33900090d64f85d79d646360";
     extension = "zip";
   };
 
@@ -23,8 +23,13 @@ buildPythonPackage rec {
   checkInputs = [
     pytest
     pytestrunner
+    glibcLocales
   ];
 
+  preCheck = ''
+    export LC_ALL="en_US.UTF-8"
+  '';
+
   meta = {
     homepage = https://github.com/fonttools/fonttools;
     description = "A library to manipulate font files from Python";
diff --git a/pkgs/development/python-modules/fpylll/default.nix b/pkgs/development/python-modules/fpylll/default.nix
new file mode 100644
index 00000000000..6ce069b3191
--- /dev/null
+++ b/pkgs/development/python-modules/fpylll/default.nix
@@ -0,0 +1,55 @@
+{ lib
+, fetchPypi
+, buildPythonPackage
+, pkgconfig
+, gmp
+, pari
+, mpfr
+, fplll
+, cython
+, cysignals
+, numpy
+, pytest
+}:
+
+buildPythonPackage rec {
+  pname = "fpylll";
+  version = "0.3.0dev";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0bjkh02fnxsrxwjzai8ij12zl2wq319z8y25sn9pvvzla5izgnp9";
+  };
+
+  buildInputs = [
+    gmp
+    pari
+    mpfr
+    fplll
+  ];
+
+  propagatedBuildInputs = [
+    cython
+    cysignals
+    numpy
+  ];
+
+  nativeBuildInputs = [
+    pkgconfig
+  ];
+
+  checkInputs = [
+    pytest
+  ];
+
+  checkPhase = ''
+    py.test
+  '';
+
+  meta = {
+    description = "A Python interface for fplll";
+    homepage = https://github.com/fplll/fpylll;
+    maintainers = with lib.maintainers; [ timokau ];
+    license = lib.licenses.gpl2Plus;
+  };
+}
diff --git a/pkgs/development/python-modules/frozendict/default.nix b/pkgs/development/python-modules/frozendict/default.nix
new file mode 100644
index 00000000000..94d42206d63
--- /dev/null
+++ b/pkgs/development/python-modules/frozendict/default.nix
@@ -0,0 +1,20 @@
+{ stdenv, buildPythonPackage, fetchPypi }:
+
+buildPythonPackage rec {
+  pname = "frozendict";
+  version = "1.2";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0ibf1wipidz57giy53dh7mh68f2hz38x8f4wdq88mvxj5pr7jhbp";
+  };
+
+  # frozendict does not come with tests
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/slezica/python-frozendict;
+    description = "An immutable dictionary";
+    license = licenses.mit;
+  };
+}
diff --git a/pkgs/development/python-modules/ftfy/default.nix b/pkgs/development/python-modules/ftfy/default.nix
index d88c894009c..ca1c9a09e4e 100644
--- a/pkgs/development/python-modules/ftfy/default.nix
+++ b/pkgs/development/python-modules/ftfy/default.nix
@@ -7,18 +7,23 @@
 , python
 , isPy3k
 }:
+
 buildPythonPackage rec {
-  name = "${pname}-${version}";
   pname = "ftfy";
-  # latest is 5.1.1, buy spaCy requires 4.4.3
-  version = "5.3.0";
+
+  version = "4.4.3";
+  # ftfy v5 only supports python3. Since at the moment the only
+  # packages that use ftfy are spacy and textacy which both support
+  # python 2 and 3, they have pinned ftfy to the v4 branch.
+  # I propose to stick to v4 until another package requires v5.
+  # At that point we can make a ftfy_v4 package.
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0ba702d5138f9b35df32b55920c9466208608108f1f3d5de1a68c17e3d68cb7f";
+    sha256 = "152xdb56rhs1q4r0ck1n557sbphw7zq18r75a7kkd159ckdnc01w";
   };
 
-  propagatedBuildInputs = [ html5lib wcwidth];
+  propagatedBuildInputs = [ html5lib wcwidth ];
 
   checkInputs = [
     nose
@@ -32,13 +37,10 @@ buildPythonPackage rec {
   # FileNotFoundError: [Errno 2] No such file or directory: 'ftfy'
   doCheck = false;
 
-  # "this version of ftfy is no longer written for Python 2"
-  disabled = !isPy3k;
-
   meta = with stdenv.lib; {
     description = "Given Unicode text, make its representation consistent and possibly less broken.";
     homepage = https://github.com/LuminosoInsight/python-ftfy/tree/master/tests;
     license = licenses.mit;
-    maintainers = with maintainers; [ sdll ];
-    };
+    maintainers = with maintainers; [ sdll aborsu ];
+  };
 }
diff --git a/pkgs/development/python-modules/ftputil/default.nix b/pkgs/development/python-modules/ftputil/default.nix
new file mode 100644
index 00000000000..d3d338a2c8d
--- /dev/null
+++ b/pkgs/development/python-modules/ftputil/default.nix
@@ -0,0 +1,27 @@
+{ lib, buildPythonPackage, fetchPypi, pytest }:
+
+buildPythonPackage rec {
+  version = "3.4";
+  pname = "ftputil";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "374b01e174079e91babe2a462fbd6f6c00dbfbfa299dec04239ca4229fbf8762";
+  };
+
+  checkInputs = [ pytest ];
+
+  checkPhase = ''
+    touch Makefile
+    # Disable tests that require network access or access /home
+    py.test test \
+      -k "not test_public_servers and not test_real_ftp \
+          and not test_set_parser and not test_repr"
+  '';
+
+  meta = with lib; {
+    description = "High-level FTP client library (virtual file system and more)";
+    homepage    = http://ftputil.sschwarzer.net/;
+    license     = licenses.bsd2; # "Modified BSD license, says pypi"
+  };
+}
diff --git a/pkgs/development/python-modules/futures/default.nix b/pkgs/development/python-modules/futures/default.nix
new file mode 100644
index 00000000000..5a774b6fa3d
--- /dev/null
+++ b/pkgs/development/python-modules/futures/default.nix
@@ -0,0 +1,25 @@
+{ lib, buildPythonPackage, fetchPypi, isPy3k, python }:
+
+buildPythonPackage rec {
+  pname = "futures";
+  version = "3.2.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "9ec02aa7d674acb8618afb127e27fde7fc68994c0437ad759fa094a574adb265";
+  };
+
+  # This module is for backporting functionality to Python 2.x, it's builtin in py3k
+  disabled = isPy3k;
+
+  checkPhase = ''
+    ${python.interpreter} test_futures.py
+  '';
+
+  meta = with lib; {
+    description = "Backport of the concurrent.futures package from Python 3.2";
+    homepage = "https://github.com/agronholm/pythonfutures";
+    license = licenses.bsd2;
+    maintainers = with maintainers; [ garbas ];
+  };
+}
diff --git a/pkgs/development/python-modules/gensim/default.nix b/pkgs/development/python-modules/gensim/default.nix
index 0c1ffacd827..5186f7b25ea 100644
--- a/pkgs/development/python-modules/gensim/default.nix
+++ b/pkgs/development/python-modules/gensim/default.nix
@@ -13,10 +13,10 @@
 buildPythonPackage rec {
   pname = "gensim";
   name = "${pname}-${version}";
-  version = "3.3.0";
+  version = "3.4.0";
   src = fetchPypi {
     inherit pname version;
-    sha256 = "6b2a813887583e63c8cedd26a91782e5f1e416a11f85394a92ae3ff908e0be03";
+    sha256 = "05844c82c7c176449218fd3fc31e55e5d8b3fae460f261b11231f4c8ef2ed5e0";
   };
 
   propagatedBuildInputs = [ smart_open numpy six scipy
diff --git a/pkgs/development/python-modules/git-annex-adapter/default.nix b/pkgs/development/python-modules/git-annex-adapter/default.nix
index f99acb8db5d..04fae0db1b7 100644
--- a/pkgs/development/python-modules/git-annex-adapter/default.nix
+++ b/pkgs/development/python-modules/git-annex-adapter/default.nix
@@ -1,12 +1,11 @@
 { stdenv, buildPythonPackage, isPy3k, fetchFromGitHub, fetchurl
-, eject, pygit2, gitMinimal, git-annex }:
+, utillinux, pygit2, gitMinimal, git-annex }:
 
 buildPythonPackage rec {
   pname = "git-annex-adapter";
   version = "0.2.0";
-  name = "${pname}-${version}";
 
-  disabled = (!isPy3k);
+  disabled = !isPy3k;
 
   # There is only a wheel on PyPI - build from source instead
   src = fetchFromGitHub {
@@ -28,8 +27,8 @@ buildPythonPackage rec {
     sha256 = "1hbw8651amjskakvs1wv2msd1wryrq0vpryvbispg5267rs8q7hp";
   };
 
-  nativeBuildInputs = [
-    eject # `rev` is needed in tests/test_process.py
+  checkInputs = [
+    utillinux # `rev` is needed in tests/test_process.py
   ];
 
   propagatedBuildInputs = [ pygit2 gitMinimal ];
diff --git a/pkgs/development/python-modules/gitdb/default.nix b/pkgs/development/python-modules/gitdb/default.nix
new file mode 100644
index 00000000000..ceca6e3719b
--- /dev/null
+++ b/pkgs/development/python-modules/gitdb/default.nix
@@ -0,0 +1,23 @@
+{ lib, buildPythonPackage, fetchPypi, smmap }:
+
+buildPythonPackage rec {
+  pname = "gitdb";
+  version = "0.6.4";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0n4n2c7rxph9vs2l6xlafyda5x1mdr8xy16r9s3jwnh3pqkvrsx3";
+  };
+
+  propagatedBuildInputs = [ smmap ];
+
+  # Bunch of tests fail because they need an actual git repo
+  doCheck = false;
+
+  meta = {
+    description = "Git Object Database";
+    maintainers = [ ];
+    homepage = https://github.com/gitpython-developers/gitdb;
+    license = lib.licenses.bsd3;
+  };
+}
diff --git a/pkgs/development/python-modules/gitdb2/default.nix b/pkgs/development/python-modules/gitdb2/default.nix
new file mode 100644
index 00000000000..1ebbd3de785
--- /dev/null
+++ b/pkgs/development/python-modules/gitdb2/default.nix
@@ -0,0 +1,23 @@
+{ lib, buildPythonPackage, fetchPypi, smmap2 }:
+
+buildPythonPackage rec {
+  pname = "gitdb2";
+  version = "2.0.3";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "02azg62mr99b7cllyjrly77np3vw32y8nrxpa2xjapiyaga2j3mn";
+  };
+
+  propagatedBuildInputs = [ smmap2 ];
+
+  # Bunch of tests fail because they need an actual git repo
+  doCheck = false;
+
+  meta = {
+    description = "Git Object Database";
+    maintainers = [ ];
+    homepage = https://github.com/gitpython-developers/gitdb;
+    license = lib.licenses.bsd3;
+  };
+}
diff --git a/pkgs/development/python-modules/google-api-python-client/default.nix b/pkgs/development/python-modules/google-api-python-client/default.nix
new file mode 100644
index 00000000000..74fe88be447
--- /dev/null
+++ b/pkgs/development/python-modules/google-api-python-client/default.nix
@@ -0,0 +1,23 @@
+{ lib, buildPythonPackage, fetchPypi
+, httplib2, six, oauth2client, uritemplate }:
+
+buildPythonPackage rec {
+  pname = "google-api-python-client";
+  version = "1.6.7";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "05583a386e323f428552419253765314a4b29828c3cee15be735f9ebfa5aebf2";
+  };
+
+  # No tests included in archive
+  doCheck = false;
+
+  propagatedBuildInputs = [ httplib2 six oauth2client uritemplate ];
+
+  meta = with lib; {
+    description = "The core Python library for accessing Google APIs";
+    homepage = https://github.com/google/google-api-python-client;
+    license = licenses.asl20;
+  };
+}
diff --git a/pkgs/development/python-modules/google_api_core/default.nix b/pkgs/development/python-modules/google_api_core/default.nix
index 2899eeb4a8a..9e1a0c30804 100644
--- a/pkgs/development/python-modules/google_api_core/default.nix
+++ b/pkgs/development/python-modules/google_api_core/default.nix
@@ -1,23 +1,26 @@
-{ stdenv, buildPythonPackage, fetchPypi
-, google_auth, protobuf, googleapis_common_protos, requests, grpcio, setuptools, mock, pytest }:
+{ lib, buildPythonPackage, fetchPypi, pythonOlder
+, google_auth, protobuf, googleapis_common_protos, requests, grpcio, futures, mock, pytest }:
 
 buildPythonPackage rec {
   pname = "google-api-core";
-  version = "0.1.4";
+  version = "1.1.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0144d467083ed54d2e8ccb4212d42c3724fe0b844b7d3a0ff85aea54b7ae8347";
+    sha256 = "2000963305e95410a66e6ef6cfcc9f4627a4a95cb1c10abc98268814f2a6cd80";
   };
 
-  propagatedBuildInputs = [ google_auth protobuf googleapis_common_protos requests grpcio ];
-  checkInputs = [ setuptools mock pytest ];
+  propagatedBuildInputs = [
+    googleapis_common_protos protobuf
+    google_auth requests grpcio
+  ] ++ lib.optional (pythonOlder "3.2") futures;
+  checkInputs = [ mock pytest ];
 
   checkPhase = ''
     py.test
   '';
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "This library is not meant to stand-alone. Instead it defines common helpers used by all Google API clients.";
     homepage = "https://github.com/GoogleCloudPlatform/google-cloud-python";
     license = licenses.asl20;
diff --git a/pkgs/development/python-modules/google_cloud_core/default.nix b/pkgs/development/python-modules/google_cloud_core/default.nix
index c0ccef3c959..d9111ac8915 100644
--- a/pkgs/development/python-modules/google_cloud_core/default.nix
+++ b/pkgs/development/python-modules/google_cloud_core/default.nix
@@ -3,11 +3,11 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-core";
-  version = "0.28.0";
+  version = "0.28.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1h8bx99ksla48zkb7bhkqy66b8prg49dp15alh851vzi9ii2zii7";
+    sha256 = "89e8140a288acec20c5e56159461d3afa4073570c9758c05d4e6cb7f2f8cc440";
   };
 
   propagatedBuildInputs = [ google_api_core grpcio ];
diff --git a/pkgs/development/python-modules/google_cloud_speech/default.nix b/pkgs/development/python-modules/google_cloud_speech/default.nix
index c24e0d88067..75c14ff62eb 100644
--- a/pkgs/development/python-modules/google_cloud_speech/default.nix
+++ b/pkgs/development/python-modules/google_cloud_speech/default.nix
@@ -3,19 +3,18 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-speech";
-  version = "0.32.0";
+  version = "0.32.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "2513725e693c3a2fdf22cb3065f3fcb39de2ab962a0cbc5de11a3889834189e1";
+    sha256 = "4f9a8ab3eb6630d0c0ca6ac15230dceba7d55d6707d162a84f255139ff780ee9";
   };
 
   propagatedBuildInputs = [ setuptools google_api_core google_gax google_cloud_core ];
   checkInputs = [ pytest mock ];
 
-  checkPhase = ''
-    py.test
-  '';
+  # needs credentials
+  doCheck = false;
 
   meta = with stdenv.lib; {
     description = "Cloud Speech API enables integration of Google speech recognition into applications.";
diff --git a/pkgs/development/python-modules/google_gax/default.nix b/pkgs/development/python-modules/google_gax/default.nix
index 24000161338..daabba6c390 100644
--- a/pkgs/development/python-modules/google_gax/default.nix
+++ b/pkgs/development/python-modules/google_gax/default.nix
@@ -1,13 +1,14 @@
 { stdenv, buildPythonPackage, fetchPypi
-, google_auth, ply, protobuf, grpcio, requests, googleapis_common_protos,  dill,  future,  pytest,  mock,  unittest2 }:
+, google_auth, ply, protobuf, grpcio, requests
+, googleapis_common_protos, dill, future, pytest, mock, unittest2 }:
 
 buildPythonPackage rec {
   pname = "google-gax";
-  version = "0.15.16";
+  version = "0.16.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0p1ribd2xy7a04wnjv12agkcdi6f9cpj838884hayx07p5g8v3ji";
+    sha256 = "1d844c56f942d98f12a1b0ecabe8a17d69bef41ff513edd97253bcde02ffd929";
   };
 
   propagatedBuildInputs = [ google_auth ply protobuf grpcio requests googleapis_common_protos dill future ];
diff --git a/pkgs/development/python-modules/gpapi/default.nix b/pkgs/development/python-modules/gpapi/default.nix
new file mode 100644
index 00000000000..da3bbcf28db
--- /dev/null
+++ b/pkgs/development/python-modules/gpapi/default.nix
@@ -0,0 +1,20 @@
+{ stdenv, buildPythonPackage, fetchPypi, requests, protobuf, pycryptodome }:
+
+buildPythonPackage rec {
+  version = "0.4.2";
+  pname = "gpapi";
+
+  src = fetchPypi {
+    inherit version pname;
+    sha256 = "1fv2y3xbwn512fjxrdwgq6cz0xjd7mh54nq1f18wyz8w40vcznns";
+  };
+
+  propagatedBuildInputs = [ requests protobuf pycryptodome ];
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/NoMore201/googleplay-api;
+    license = licenses.gpl3;
+    description = "Google Play Unofficial Python API";
+    maintainers = with maintainers; [ ma27 ];
+  };
+}
diff --git a/pkgs/development/python-modules/gplaycli/default.nix b/pkgs/development/python-modules/gplaycli/default.nix
new file mode 100644
index 00000000000..01827fc87f5
--- /dev/null
+++ b/pkgs/development/python-modules/gplaycli/default.nix
@@ -0,0 +1,26 @@
+{ buildPythonPackage, stdenv, libffi, isPy3k, pyasn1, clint, ndg-httpsclient
+, protobuf, requests, args, gpapi, pyaxmlparser, fetchFromGitHub
+}:
+
+buildPythonPackage rec {
+  version = "3.21";
+  name = "gplaycli-${version}";
+
+  src = fetchFromGitHub {
+    owner = "matlink";
+    repo = "gplaycli";
+    rev = version;
+    sha256 = "1r5nzi9yzswam0866gypjcvv3f1rw13jwx9s49chp8byxy1dyrs2";
+  };
+
+ disabled = !isPy3k;
+
+ propagatedBuildInputs = [ libffi pyasn1 clint ndg-httpsclient protobuf requests args gpapi pyaxmlparser ];
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/matlink/gplaycli;
+    description = "Google Play Downloader via Command line";
+    license = licenses.agpl3Plus;
+    maintainers = with maintainers; [ ma27 ];
+  };
+}
diff --git a/pkgs/development/python-modules/gpy/default.nix b/pkgs/development/python-modules/gpy/default.nix
index bb39746d296..72415879b41 100644
--- a/pkgs/development/python-modules/gpy/default.nix
+++ b/pkgs/development/python-modules/gpy/default.nix
@@ -3,12 +3,12 @@
 
 buildPythonPackage rec {
   pname = "GPy";
-  version = "1.8.5";
+  version = "1.9.2";
   name  = "${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1562e34629192f209273f454e41614a127c6ef04144cd0eb5992d484721d55d3";
+    sha256 = "372e43d41df5c90e0958d3073070994b351a7409c2e5fbd349cffe13bc24c10a";
   };
 
   # running tests produces "ImportError: cannot import name 'linalg_cython'"
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 99fe4b73cb9..57567a203ea 100644
--- a/pkgs/development/python-modules/graph-tool/2.x.x.nix
+++ b/pkgs/development/python-modules/graph-tool/2.x.x.nix
@@ -1,14 +1,16 @@
 { stdenv, fetchurl, python, cairomm, sparsehash, pycairo, autoreconfHook,
 pkgconfig, boost, expat, scipy, numpy, cgal, gmp, mpfr, lndir,
-gobjectIntrospection, pygobject3, gtk3, matplotlib }:
+gobjectIntrospection, pygobject3, gtk3, matplotlib, ncurses,
+buildPythonPackage }:
 
-stdenv.mkDerivation rec {
-  version = "2.16";
+buildPythonPackage rec {
+  format = "other";
+  version = "2.26";
   name = "${python.libPrefix}-graph-tool-${version}";
 
   meta = with stdenv.lib; {
     description = "Python module for manipulation and statistical analysis of graphs";
-    homepage    = http://graph-tool.skewed.de/;
+    homepage    = https://graph-tool.skewed.de/;
     license     = licenses.gpl3;
     platforms   = platforms.all;
     maintainers = [ stdenv.lib.maintainers.joelmo ];
@@ -16,16 +18,19 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "https://downloads.skewed.de/graph-tool/graph-tool-${version}.tar.bz2";
-    sha256 = "03b1pmh2gvsgyq491gvskx8fwgqy9k942faymdnhwpbbbfhx911p";
+    sha256 = "0w7pd2h8ayr88kjl82c8fdshnk6f3xslc77gy7ma09zkbvf76qnz";
   };
 
   configureFlags = [
     "--with-python-module-path=$(out)/${python.sitePackages}"
+    "--with-boost-libdir=${boost}/lib"
+    "--with-expat=${expat}"
+    "--with-cgal=${cgal}"
     "--enable-openmp"
   ];
 
   nativeBuildInputs = [ autoreconfHook pkgconfig ];
-  buildInputs = [ ];
+  buildInputs = [ ncurses ];
 
   propagatedBuildInputs = [
     boost
diff --git a/pkgs/development/python-modules/green/default.nix b/pkgs/development/python-modules/green/default.nix
new file mode 100644
index 00000000000..81d2a7e204c
--- /dev/null
+++ b/pkgs/development/python-modules/green/default.nix
@@ -0,0 +1,21 @@
+{ lib, buildPythonPackage, fetchPypi, isPy3k, colorama, coverage, termstyle, unidecode, mock, backports_shutil_get_terminal_size }:
+
+buildPythonPackage rec {
+  pname = "green";
+  version = "2.12.1";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "4c0c163bd2ce2da1f201eb69fd92fc24aaeab884f9e5c5a8c23d507a53336fa8";
+  };
+
+  propagatedBuildInputs = [
+    colorama coverage termstyle unidecode
+  ] ++ lib.optionals (!isPy3k) [ mock backports_shutil_get_terminal_size ];
+
+  meta = with lib; {
+    description = "Python test runner";
+    homepage = https://github.com/CleanCut/green;
+    license = licenses.mit;
+  };
+}
diff --git a/pkgs/development/python-modules/gst-python/default.nix b/pkgs/development/python-modules/gst-python/default.nix
index 393d00a8176..b1d19e9f509 100644
--- a/pkgs/development/python-modules/gst-python/default.nix
+++ b/pkgs/development/python-modules/gst-python/default.nix
@@ -1,10 +1,10 @@
-{ fetchurl, stdenv, pkgconfig, python, pygobject3
+{ fetchurl, stdenv, meson, ninja, pkgconfig, python, pygobject3
 , gst-plugins-base, ncurses
 }:
 
 stdenv.mkDerivation rec {
   pname = "gst-python";
-  version = "1.12.3";
+  version = "1.14.0";
   name = "${pname}-${version}";
 
   src = fetchurl {
@@ -12,22 +12,25 @@ stdenv.mkDerivation rec {
       "${meta.homepage}/src/gst-python/${name}.tar.xz"
       "mirror://gentoo/distfiles/${name}.tar.xz"
       ];
-    sha256 = "19rb06x2m7103zwfm0plxx95gb8bp01ng04h4q9k6ii9q7g2kxf3";
+    sha256 = "1rlr6gl4lg97ng4jxh3gb2ldmywm15vwsa72nvggr8qa2l8q3fg0";
   };
 
-  patches = [ ./different-path-with-pygobject.patch ];
-
   outputs = [ "out" "dev" ];
 
-  nativeBuildInputs = [ pkgconfig python ];
+  nativeBuildInputs = [ meson ninja pkgconfig python ];
 
   # XXX: in the Libs.private field of python3.pc
   buildInputs = [ ncurses ];
 
-  configureFlags = [
-    "--with-pygi-overrides-dir=$(out)/${python.sitePackages}/gi/overrides"
+  mesonFlags = [
+    "-Dpygi-overrides-dir=${python.sitePackages}/gi/overrides"
   ];
 
+  postPatch = ''
+    chmod +x scripts/pythondetector # patchShebangs requires executable file
+    patchShebangs scripts/pythondetector
+  '';
+
   propagatedBuildInputs = [ gst-plugins-base pygobject3 ];
 
   # Needed for python.buildEnv
diff --git a/pkgs/development/python-modules/guessit/2.0.nix b/pkgs/development/python-modules/guessit/2.0.nix
index 59fb650c883..c8f30746310 100644
--- a/pkgs/development/python-modules/guessit/2.0.nix
+++ b/pkgs/development/python-modules/guessit/2.0.nix
@@ -9,12 +9,12 @@
 
 buildPythonPackage rec {
   pname = "guessit";
-  version = "2.0.4";
+  version = "2.1.4";
   name = "${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1cfcgb0px6i9jl8nwkx8j06j4y6p5975a9pfmd8lcacwr8gy4wjg";
+    sha256 = "90e6f9fb49246ad27f34f8b9984357e22562ccc3059241cbc08b4fac1d401c56";
   };
 
   # Tests require more packages.
diff --git a/pkgs/development/python-modules/ha-ffmpeg/default.nix b/pkgs/development/python-modules/ha-ffmpeg/default.nix
new file mode 100644
index 00000000000..4259b7ad053
--- /dev/null
+++ b/pkgs/development/python-modules/ha-ffmpeg/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, buildPythonPackage, fetchPypi, isPy3k
+, ffmpeg, async-timeout }:
+
+buildPythonPackage rec {
+  pname = "ha-ffmpeg";
+  version = "1.9";
+
+  disabled = !isPy3k;
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0644j5fqw8p6li6nrnm1rw7nhvsixq1c7gik3f1yx50776yg05i8";
+  };
+
+  buildInputs = [ ffmpeg ];
+
+  propagatedBuildInputs = [ async-timeout ];
+
+  # only manual tests
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/pvizeli/ha-ffmpeg;
+    description = "Library for home-assistant to handle ffmpeg";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ peterhoeg ];
+  };
+}
diff --git a/pkgs/development/python-modules/hbmqtt/default.nix b/pkgs/development/python-modules/hbmqtt/default.nix
index 379aa1c3cf4..ade4111c5a3 100644
--- a/pkgs/development/python-modules/hbmqtt/default.nix
+++ b/pkgs/development/python-modules/hbmqtt/default.nix
@@ -3,13 +3,13 @@
 
 buildPythonPackage rec {
   pname = "hbmqtt";
-  version = "0.9.1";
+  version = "0.9.2";
 
   disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "04lqqcy84f9gcwqhrlvzp689r3mkdd8ipsnfzw8gryfny4lh8wrx";
+    sha256 = "6f61e05007648a4f33e300fafcf42776ca95508ba1141799f94169427ce5018c";
   };
 
   propagatedBuildInputs = [ transitions websockets passlib docopt pyyaml ];
diff --git a/pkgs/development/python-modules/hdbscan/default.nix b/pkgs/development/python-modules/hdbscan/default.nix
new file mode 100644
index 00000000000..e75b04e9792
--- /dev/null
+++ b/pkgs/development/python-modules/hdbscan/default.nix
@@ -0,0 +1,30 @@
+{ lib
+, buildPythonPackage
+, cython
+, numpy
+, nose
+, scipy
+, scikitlearn
+, fetchPypi
+}:
+
+buildPythonPackage rec {
+  pname = "hdbscan";
+  version = "0.8.13";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "31874db29375816688b5541287a051c9bd768f2499ccf1f6a4d88d266530e2a6";
+  };
+
+  checkInputs = [ nose ];
+
+  propagatedBuildInputs = [ cython numpy scipy scikitlearn ];
+
+  meta = with lib; {
+    description = "Hierarchical Density-Based Spatial Clustering of Applications with Noise, a clustering algorithm with a scikit-learn compatible API";
+    homepage =  http://github.com/scikit-learn-contrib/hdbscan;
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ ixxie ];
+  };
+}
diff --git a/pkgs/development/python-modules/heapdict/default.nix b/pkgs/development/python-modules/heapdict/default.nix
new file mode 100644
index 00000000000..34c01091ddf
--- /dev/null
+++ b/pkgs/development/python-modules/heapdict/default.nix
@@ -0,0 +1,20 @@
+{ stdenv, buildPythonPackage, fetchPypi, isPy3k }:
+
+buildPythonPackage rec {
+  pname = "HeapDict";
+  version = "1.0.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0nhvxyjq6fp6zd7jzmk5x4fg6xhakqx9lhkp5yadzkqn0rlf7ja0";
+  };
+
+  doCheck = !isPy3k;
+
+  meta = with stdenv.lib; {
+    description = "a heap with decrease-key and increase-key operations.";
+    homepage = http://stutzbachenterprises.com;
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ teh ];
+  };
+}
diff --git a/pkgs/development/python-modules/howdoi/default.nix b/pkgs/development/python-modules/howdoi/default.nix
new file mode 100644
index 00000000000..a72338143a1
--- /dev/null
+++ b/pkgs/development/python-modules/howdoi/default.nix
@@ -0,0 +1,20 @@
+{ stdenv, buildPythonPackage, fetchPypi
+, six, requests-cache, pygments, pyquery }:
+
+buildPythonPackage rec {
+  pname = "howdoi";
+  version = "1.1.7";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1dx9ms0b3z3bx02paj78cyi788d8l6cpd3jqbn3j88w736i4jknz";
+  };
+
+  propagatedBuildInputs = [ six requests-cache pygments pyquery ];
+
+  meta = with stdenv.lib; {
+    description = "Instant coding answers via the command line";
+    homepage = https://pypi.python.org/pypi/howdoi;
+    license = licenses.mit;
+  };
+}
diff --git a/pkgs/development/python-modules/html5-parser/default.nix b/pkgs/development/python-modules/html5-parser/default.nix
index faddfe2bfdd..ae036d33f9e 100644
--- a/pkgs/development/python-modules/html5-parser/default.nix
+++ b/pkgs/development/python-modules/html5-parser/default.nix
@@ -2,12 +2,12 @@
 
 buildPythonPackage rec {
   pname = "html5-parser";
-  version = "0.4.4";
+  version = "0.4.5";
   name = "${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "b9f3a1d4cdb8742e8e4ecafab04bff541bde4ff09af233293ed0b94028ec1ab5";
+    sha256 = "01mx33sx4dhl4kj6wc48nj6jz7ry60rkhjv0s6k8h5xmjf5yy0x9";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/development/python-modules/htmltreediff/default.nix b/pkgs/development/python-modules/htmltreediff/default.nix
new file mode 100644
index 00000000000..5e839e4ada9
--- /dev/null
+++ b/pkgs/development/python-modules/htmltreediff/default.nix
@@ -0,0 +1,26 @@
+{ buildPythonPackage, fetchFromGitHub, isPy3k, lxml, html5lib, nose, stdenv }:
+
+buildPythonPackage rec {
+  version = "v0.1.2";
+  pname = "htmltreediff";
+
+  disabled = isPy3k;
+
+  src = fetchFromGitHub {
+    owner = "christian-oudard";
+    repo = pname;
+    rev = version;
+    sha256 = "16mqp2jyznrw1mgd3qzybq28h2k5wz7vmmz1m6xpgscazyjhvvd1";
+  };
+
+  propagatedBuildInputs = [ lxml html5lib ];
+
+  checkInputs = [ nose ];
+
+  meta = with stdenv.lib; {
+    description = " Structure-aware diff for html and xml documents";
+    homepage = https://github.com/christian-oudard/htmltreediff;
+    license = licenses.bsdOriginal;
+    maintainers = with maintainers; [ ma27 ];
+  };
+}
diff --git a/pkgs/development/python-modules/httplib2/default.nix b/pkgs/development/python-modules/httplib2/default.nix
new file mode 100644
index 00000000000..197e646027c
--- /dev/null
+++ b/pkgs/development/python-modules/httplib2/default.nix
@@ -0,0 +1,18 @@
+{ lib, buildPythonPackage, fetchPypi }:
+
+buildPythonPackage rec {
+  pname = "httplib2";
+  version = "0.11.3";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1pyb0hmc0j0kcy27yiw38gq9pk7f1fkny5k1vd13cdz6l3csw7g7";
+  };
+
+  meta = with lib; {
+    homepage = http://code.google.com/p/httplib2;
+    description = "A comprehensive HTTP client library";
+    license = licenses.mit;
+    maintainers = with maintainers; [ garbas ];
+  };
+}
diff --git a/pkgs/development/python-modules/hupper/default.nix b/pkgs/development/python-modules/hupper/default.nix
index 8002ae478cb..9bcb61751de 100644
--- a/pkgs/development/python-modules/hupper/default.nix
+++ b/pkgs/development/python-modules/hupper/default.nix
@@ -4,12 +4,12 @@
 
 buildPythonPackage rec {
   pname = "hupper";
-  version = "1.0";
+  version = "1.1";
   name = "${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "02lj6kgaf9xpr0binxwac3gpdhljglyj9fr78s165jc7qd7mifdg";
+    sha256 = "e18037fa43fb4af7c00bd262ca6f5d7bcd22debd5d71e43b0fb1437f56e78035";
   };
 
   checkPhase = ''
diff --git a/pkgs/development/python-modules/hvac/default.nix b/pkgs/development/python-modules/hvac/default.nix
new file mode 100644
index 00000000000..8bc54e9226c
--- /dev/null
+++ b/pkgs/development/python-modules/hvac/default.nix
@@ -0,0 +1,22 @@
+{ lib, buildPythonPackage, fetchPypi, requests }:
+
+buildPythonPackage rec {
+  pname = "hvac";
+  version = "0.5.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "2c9308334301daee3b5c6d56a032ca2c81eeb97d2777b73d795e201e8d037687";
+  };
+
+  propagatedBuildInputs = [ requests ];
+
+  # Requires running a Vault server
+  doCheck = false;
+
+  meta = with lib; {
+    description = "HashiCorp Vault API client";
+    homepage = https://github.com/ianunruh/hvac;
+    license = licenses.asl20;
+  };
+}
diff --git a/pkgs/development/python-modules/hyperlink/default.nix b/pkgs/development/python-modules/hyperlink/default.nix
index 9886f705d54..53a245c45dc 100644
--- a/pkgs/development/python-modules/hyperlink/default.nix
+++ b/pkgs/development/python-modules/hyperlink/default.nix
@@ -1,15 +1,16 @@
-{ stdenv, buildPythonPackage, fetchurl, pytest }:
+{ stdenv, buildPythonPackage, fetchPypi, idna, pytest }:
 
 buildPythonPackage rec {
   pname = "hyperlink";
-  version = "17.3.1";
-  name = pname + "-" + version;
+  version = "18.0.0";
 
-  src = fetchurl {
-    url = "mirror://pypi/h/hyperlink/${name}.tar.gz";
-    sha256 = "bc4ffdbde9bdad204d507bd8f554f16bba82dd356f6130cb16f41422909c33bc";
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "f01b4ff744f14bc5d0a22a6b9f1525ab7d6312cb0ff967f59414bbac52f0a306";
   };
 
+  propagatedBuildInputs = [ idna ];
+
   checkInputs = [ pytest ];
 
   checkPhase = ''
diff --git a/pkgs/development/python-modules/idna-ssl/default.nix b/pkgs/development/python-modules/idna-ssl/default.nix
index 177e68f6295..b324705a152 100644
--- a/pkgs/development/python-modules/idna-ssl/default.nix
+++ b/pkgs/development/python-modules/idna-ssl/default.nix
@@ -1,12 +1,12 @@
 { lib, buildPythonPackage, fetchPypi, idna }:
 
 buildPythonPackage rec {
-  pname = "idna_ssl";
-  version = "1.0.0";
+  pname = "idna-ssl";
+  version = "1.0.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1227e44039bd31e02adaeafdbba61281596d623d222643fb021f87f2144ea147";
+    sha256 = "1293f030bc608e9aa9cdee72aa93c1521bbb9c7698068c61c9ada6772162b979";
   };
 
   propagatedBuildInputs = [ idna ];
diff --git a/pkgs/development/python-modules/idna/default.nix b/pkgs/development/python-modules/idna/default.nix
index 635f8b33d3c..e66700d87ee 100644
--- a/pkgs/development/python-modules/idna/default.nix
+++ b/pkgs/development/python-modules/idna/default.nix
@@ -13,7 +13,7 @@ buildPythonPackage rec {
   };
 
   meta = {
-    homepage = "http://github.com/kjd/idna/";
+    homepage = "https://github.com/kjd/idna/";
     description = "Internationalized Domain Names in Applications (IDNA)";
     license = lib.licenses.bsd3;
   };
diff --git a/pkgs/development/python-modules/imbalanced-learn/default.nix b/pkgs/development/python-modules/imbalanced-learn/default.nix
new file mode 100644
index 00000000000..65afe116510
--- /dev/null
+++ b/pkgs/development/python-modules/imbalanced-learn/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, buildPythonPackage, fetchPypi, scikitlearn, pandas, nose, pytest }:
+
+buildPythonPackage rec {
+  pname = "imbalanced-learn";
+  version = "0.3.3";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1r5js9kw6rvmfvxxkfjlcxv5xn5h19qvg7d41byilxwq9kd515g4";
+  };
+
+  propagatedBuildInputs = [ scikitlearn ];
+  checkInputs = [ nose pytest pandas ];
+  checkPhase = ''
+    export HOME=$PWD
+    # skip some tests that fail because of minimal rounding errors
+    py.test imblearn --ignore=imblearn/metrics/classification.py
+    py.test doc/*.rst
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Library offering a number of re-sampling techniques commonly used in datasets showing strong between-class imbalance";
+    homepage = https://github.com/scikit-learn-contrib/imbalanced-learn;
+    license = licenses.mit;
+  };
+}
diff --git a/pkgs/development/python-modules/immutables/default.nix b/pkgs/development/python-modules/immutables/default.nix
new file mode 100644
index 00000000000..975353406ca
--- /dev/null
+++ b/pkgs/development/python-modules/immutables/default.nix
@@ -0,0 +1,19 @@
+{ lib, buildPythonPackage, fetchPypi, pythonOlder }:
+
+buildPythonPackage rec {
+  pname = "immutables";
+  version = "0.5";
+  disabled = pythonOlder "3.5";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1hba0vkqanwfnb5b3rs14bs7schsmczhan5nd93c1i6fzi17glap";
+  };
+
+  meta = {
+    description = "An immutable mapping type for Python";
+    homepage = https://github.com/MagicStack/immutables;
+    license = with lib.licenses; [ asl20 ];
+    maintainers = with lib.maintainers; [ catern ];
+  };
+}
diff --git a/pkgs/development/python-modules/interruptingcow/default.nix b/pkgs/development/python-modules/interruptingcow/default.nix
index 24a9abb625f..5cf3c9e9db0 100644
--- a/pkgs/development/python-modules/interruptingcow/default.nix
+++ b/pkgs/development/python-modules/interruptingcow/default.nix
@@ -1,12 +1,12 @@
 { stdenv, buildPythonPackage, fetchPypi }:
 buildPythonPackage rec {
   pname = "interruptingcow";
-  version = "0.7";
+  version = "0.8";
   name = "${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0j6d0rbh8xjfw7bf8vcjld6q45i7vr9xsw5b9q6j87nhf4qhzx53";
+    sha256 = "3e8cd5058b651e625702cba53e3b1fb76d7a5ec07ab69c52a167a9f784e3306c";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/python-modules/iowait/default.nix b/pkgs/development/python-modules/iowait/default.nix
new file mode 100644
index 00000000000..ef2444c0d2f
--- /dev/null
+++ b/pkgs/development/python-modules/iowait/default.nix
@@ -0,0 +1,16 @@
+{ stdenv, buildPythonPackage, fetchPypi }:
+
+buildPythonPackage rec {
+  pname = "iowait";
+  version = "0.2";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "16djvxd9sxm7cr57clhqkyrq3xvdzgwj803sy5hwyb62hkmw46xb";
+  };
+
+  meta = {
+    description = "Platform-independent module for I/O completion events";
+    homepage = https://launchpad.net/python-iowait;
+  };
+}
diff --git a/pkgs/development/python-modules/ipykernel/default.nix b/pkgs/development/python-modules/ipykernel/default.nix
index 018a522a591..3f09975d66b 100644
--- a/pkgs/development/python-modules/ipykernel/default.nix
+++ b/pkgs/development/python-modules/ipykernel/default.nix
@@ -13,12 +13,12 @@
 
 buildPythonPackage rec {
   pname = "ipykernel";
-  version = "4.8.1";
+  version = "4.8.2";
   name = "${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "fe2837622a4121cbe42b354db1e2ab46c91e807ffcb92f4c2cfd323a75f8737f";
+    sha256 = "c091449dd0fad7710ddd9c4a06e8b9e15277da306590bc07a3a1afa6b4453c8f";
   };
 
   buildInputs = [ nose ] ++ lib.optional isPy27 mock;
diff --git a/pkgs/development/python-modules/ipython/5.nix b/pkgs/development/python-modules/ipython/5.nix
index 808853891e9..083c1f3b08d 100644
--- a/pkgs/development/python-modules/ipython/5.nix
+++ b/pkgs/development/python-modules/ipython/5.nix
@@ -27,12 +27,11 @@
 
 buildPythonPackage rec {
   pname = "ipython";
-  version = "5.5.0";
-  name = "${pname}-${version}";
+  version = "5.6.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "66469e894d1f09d14a1f23b971a410af131daa9ad2a19922082e02e0ddfd150f";
+    sha256 = "00g696r9rk1c4p3sycnv7by55cp9mm7r6zkkdqbiw9l0mk8k58wb";
   };
 
   prePatch = stdenv.lib.optionalString stdenv.isDarwin ''
diff --git a/pkgs/development/python-modules/ipython/default.nix b/pkgs/development/python-modules/ipython/default.nix
index 64139f5d905..d44a708befb 100644
--- a/pkgs/development/python-modules/ipython/default.nix
+++ b/pkgs/development/python-modules/ipython/default.nix
@@ -18,16 +18,16 @@
 , pexpect
 , appnope
 , typing
+, backcall
 }:
 
 buildPythonPackage rec {
   pname = "ipython";
-  version = "6.2.1";
-  name = "${pname}-${version}";
+  version = "6.3.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "51c158a6c8b899898d1c91c6b51a34110196815cc905f9be0fa5878e19355608";
+    sha256 = "a6ac981381b3f5f604b37a293369963485200e3639fb0404fa76092383c10c41";
   };
 
   prePatch = lib.optionalString stdenv.isDarwin ''
@@ -46,6 +46,7 @@ buildPythonPackage rec {
     traitlets
     prompt_toolkit
     pexpect
+    backcall
   ] ++ lib.optionals stdenv.isDarwin [appnope]
     ++ lib.optionals (pythonOlder "3.5") [ typing ];
 
diff --git a/pkgs/development/python-modules/ipywidgets/default.nix b/pkgs/development/python-modules/ipywidgets/default.nix
index c504062cba6..67d7d551522 100644
--- a/pkgs/development/python-modules/ipywidgets/default.nix
+++ b/pkgs/development/python-modules/ipywidgets/default.nix
@@ -14,12 +14,12 @@
 
 buildPythonPackage rec {
   pname = "ipywidgets";
-  version = "7.1.2";
+  version = "7.2.1";
   name = "${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "4263ce721a1e5b53a84c4595a5e296d270ae0dc534401b536f4dda64e0b0ca02";
+    sha256 = "ab9869cda5af7ba449d8f707b29b7e97a7db97d6366805d6b733338f51096f54";
   };
 
   # Tests are not distributed
diff --git a/pkgs/development/python-modules/isort/default.nix b/pkgs/development/python-modules/isort/default.nix
new file mode 100644
index 00000000000..5a7e50d4332
--- /dev/null
+++ b/pkgs/development/python-modules/isort/default.nix
@@ -0,0 +1,28 @@
+{ lib, buildPythonPackage, fetchPypi, isPy27, futures, mock, pytest }:
+
+buildPythonPackage rec {
+  pname = "isort";
+  version = "4.3.4";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1y0yfv56cqyh9wyg7kxxv9y5wmfgcq18n7a49mp7xmzka2bhxi5r";
+  };
+
+  propagatedBuildInputs = lib.optional isPy27 futures;
+
+  checkInputs = [ mock pytest ];
+
+  checkPhase = ''
+    py.test test_isort.py -k "not test_long_line_comments \
+                          and not test_import_case_produces_inconsistent_results_issue_472 \
+                          and not test_no_extra_lines_issue_557"
+  '';
+
+  meta = with lib; {
+    description = "A Python utility / library to sort Python imports";
+    homepage = https://github.com/timothycrosley/isort;
+    license = licenses.mit;
+    maintainers = with maintainers; [ couchemar nand0p ];
+  };
+}
diff --git a/pkgs/development/python-modules/jdatetime/default.nix b/pkgs/development/python-modules/jdatetime/default.nix
new file mode 100644
index 00000000000..a43dbf73716
--- /dev/null
+++ b/pkgs/development/python-modules/jdatetime/default.nix
@@ -0,0 +1,19 @@
+{ stdenv, buildPythonPackage, fetchPypi, six }:
+
+buildPythonPackage rec {
+  pname = "jdatetime";
+  version = "2.0.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "7facd437d27365e217787e1013ecdc402aa77af7248e16128f6a753920000905";
+  };
+
+  propagatedBuildInputs = [ six ];
+
+  meta = with stdenv.lib; {
+    description = "Jalali datetime binding for python";
+    homepage = https://pypi.python.org/pypi/jdatetime;
+    license = licenses.psfl;
+  };
+}
diff --git a/pkgs/development/python-modules/jieba/default.nix b/pkgs/development/python-modules/jieba/default.nix
new file mode 100644
index 00000000000..df21c0f4186
--- /dev/null
+++ b/pkgs/development/python-modules/jieba/default.nix
@@ -0,0 +1,33 @@
+{ lib, buildPythonPackage, fetchFromGitHub, glibcLocales, python, isPy3k }:
+
+buildPythonPackage rec {
+  pname = "jieba";
+  version = "0.39";
+
+  # no tests in PyPI tarball
+  src = fetchFromGitHub {
+    owner = "fxsjy";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0hbq0l1jbgcvm58qg4p37im4jl5a9igvq3wlhlk22pmbkbvqqgzs";
+  };
+
+  checkInputs = [ glibcLocales ];
+
+  # UnicodeEncodeError
+  doCheck = isPy3k;
+
+  # Citing https://github.com/fxsjy/jieba/issues/384: "testcases is in a mess"
+  # So just picking random ones that currently work
+  checkPhase = ''
+    export LC_ALL=en_US.UTF-8
+    ${python.interpreter} test/test.py
+    ${python.interpreter} test/test_tokenize.py
+  '';
+
+  meta = with lib; {
+    description = "Chinese Words Segementation Utilities";
+    homepage = https://github.com/fxsjy/jieba;
+    license = licenses.mit;
+  };
+}
diff --git a/pkgs/development/python-modules/jira/default.nix b/pkgs/development/python-modules/jira/default.nix
new file mode 100644
index 00000000000..2a1abe7b59c
--- /dev/null
+++ b/pkgs/development/python-modules/jira/default.nix
@@ -0,0 +1,29 @@
+{ lib, buildPythonPackage, fetchPypi, isPy3k
+, pytest, pytestrunner, pbr, glibcLocales , pytestcov
+, requests, requests_oauthlib, requests_toolbelt, defusedxml }:
+
+buildPythonPackage rec {
+  pname = "jira";
+  version = "1.0.15";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "20108a1d5b0dd058d5d4e0047f2d09ee06aaa413b22ca4d5c249e86167417fe8";
+  };
+
+  buildInputs = [ glibcLocales pytest pytestcov pytestrunner pbr ];
+  propagatedBuildInputs = [ requests requests_oauthlib requests_toolbelt defusedxml ];
+
+  LC_ALL = "en_US.utf8";
+
+  disabled = !isPy3k;
+
+  # no tests in release tarball
+  doCheck = false;
+
+  meta = with lib; {
+    description = "This library eases the use of the JIRA REST API from Python.";
+    license = licenses.bsd2;
+    maintainers = with maintainers; [ globin ];
+  };
+}
diff --git a/pkgs/development/python-modules/josepy/default.nix b/pkgs/development/python-modules/josepy/default.nix
new file mode 100644
index 00000000000..541455642ef
--- /dev/null
+++ b/pkgs/development/python-modules/josepy/default.nix
@@ -0,0 +1,35 @@
+{ lib, fetchPypi, buildPythonPackage
+# buildInputs
+, six
+, setuptools
+, pyopenssl
+, cryptography
+}:
+
+buildPythonPackage rec {
+  pname = "josepy";
+  version = "1.0.1";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1k0ahzzaq2rrjiifwbhbp7vm8z4zk0ipgiqwicil80kzlf6bhj4z";
+  };
+
+  propagatedBuildInputs = [
+    pyopenssl
+    cryptography
+    six
+    setuptools
+  ];
+
+  # too many unpackaged check requirements
+  doCheck = false;
+
+  meta = with lib; {
+    description = "JOSE protocol implementation in Python";
+    homepage = https://github.com/jezdez/josepy;
+    license = licenses.asl20;
+    maintainers = with maintainers; [  ];
+  };
+}
+
diff --git a/pkgs/development/python-modules/jsonpatch/default.nix b/pkgs/development/python-modules/jsonpatch/default.nix
index 8d238b4746d..ceb697adcaf 100644
--- a/pkgs/development/python-modules/jsonpatch/default.nix
+++ b/pkgs/development/python-modules/jsonpatch/default.nix
@@ -6,12 +6,12 @@
 
 buildPythonPackage rec {
   pname = "jsonpatch";
-  version = "1.21";
+  version = "1.23";
   name = "${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "11f5ffdf543a83047a2f54ac28f8caad7f34724cb1ea26b27547fd974f1a2153";
+    sha256 = "49f29cab70e9068db3b1dc6b656cbe2ee4edf7dfe9bf5a0055f17a4b6804a4b9";
   };
 
   # test files are missing
diff --git a/pkgs/development/python-modules/jsonref/default.nix b/pkgs/development/python-modules/jsonref/default.nix
index ca9549b677b..6209c2593a7 100644
--- a/pkgs/development/python-modules/jsonref/default.nix
+++ b/pkgs/development/python-modules/jsonref/default.nix
@@ -19,7 +19,7 @@ buildPythonPackage rec {
 
   meta = with stdenv.lib; {
     description = "An implementation of JSON Reference for Python";
-    homepage    = "http://github.com/gazpachoking/jsonref";
+    homepage    = "https://github.com/gazpachoking/jsonref";
     license     = licenses.mit;
     maintainers = with maintainers; [ nand0p ];
     platforms   = platforms.all;
diff --git a/pkgs/development/python-modules/jsonrpc-async/default.nix b/pkgs/development/python-modules/jsonrpc-async/default.nix
index 1018c536ff7..2bdb93dfdf2 100644
--- a/pkgs/development/python-modules/jsonrpc-async/default.nix
+++ b/pkgs/development/python-modules/jsonrpc-async/default.nix
@@ -14,7 +14,7 @@ buildPythonPackage rec {
 
   meta = with stdenv.lib; {
     description = "A JSON-RPC client library for asyncio";
-    homepage = http://github.com/armills/jsonrpc-async;
+    homepage = https://github.com/armills/jsonrpc-async;
     license = licenses.bsd3;
     maintainers = with maintainers; [ peterhoeg ];
   };
diff --git a/pkgs/development/python-modules/jsonrpc-websocket/default.nix b/pkgs/development/python-modules/jsonrpc-websocket/default.nix
index b8a0c07d5a5..0914100b5aa 100644
--- a/pkgs/development/python-modules/jsonrpc-websocket/default.nix
+++ b/pkgs/development/python-modules/jsonrpc-websocket/default.nix
@@ -3,11 +3,11 @@
 
 buildPythonPackage rec {
   pname = "jsonrpc-websocket";
-  version = "0.5";
+  version = "0.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0cijqb8fvv9iq5ds9y5sj0gd6lapi90mgqvpkczp28fxz440ihq4";
+    sha256 = "cf349bee4ab96db2e457b6a71a45380e1a9cf3e1ceb08260ecfd9928040ebe71";
   };
 
   propagatedBuildInputs = [ aiohttp jsonrpc-base ];
diff --git a/pkgs/development/python-modules/jug/default.nix b/pkgs/development/python-modules/jug/default.nix
index 7a6104aacf3..4b0444e40d4 100644
--- a/pkgs/development/python-modules/jug/default.nix
+++ b/pkgs/development/python-modules/jug/default.nix
@@ -6,7 +6,7 @@
 buildPythonPackage rec {
   name = "${pname}-${version}";
   pname = "Jug";
-  version = "1.6.4";
+  version = "1.6.7";
   buildInputs = [ nose numpy ];
   propagatedBuildInputs = [
     bottle
@@ -19,7 +19,7 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "e739b20e7fe53ac50f5954b9e32568bdd92012dd4bd199d13e2a675ccd69d97d";
+    sha256 = "a7faba838f3437163ae8459bff96e2c6ca1298312bdb9104c702685178d17269";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/python-modules/jupyter_client/default.nix b/pkgs/development/python-modules/jupyter_client/default.nix
index d94842ade12..5ee99d5071f 100644
--- a/pkgs/development/python-modules/jupyter_client/default.nix
+++ b/pkgs/development/python-modules/jupyter_client/default.nix
@@ -16,11 +16,11 @@
 
 buildPythonPackage rec {
   pname = "jupyter_client";
-  version = "5.2.2";
+  version = "5.2.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "83d5e23132f0d8f79ccd3939f53fb9fa97f88a896a85114dc48d0e86909b06c4";
+    sha256 = "27befcf0446b01e29853014d6a902dd101ad7d7f94e2252b1adca17c3466b761";
   };
 
   checkInputs = [ ipykernel ipython mock pytest ];
diff --git a/pkgs/development/python-modules/jupyterlab/default.nix b/pkgs/development/python-modules/jupyterlab/default.nix
new file mode 100644
index 00000000000..4cf69a1114e
--- /dev/null
+++ b/pkgs/development/python-modules/jupyterlab/default.nix
@@ -0,0 +1,31 @@
+{ lib, buildPythonPackage, isPy3k, fetchPypi, ipython_genutils, jupyterlab_launcher, notebook }:
+buildPythonPackage rec {
+  pname = "jupyterlab";
+  version = "0.31.12";
+  disabled = !isPy3k;
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1hp6p9bsr863glildgs2iy1a4l99m7rxj2sy9fmkxp5zhyhqvsrz";
+  };
+
+  propagatedBuildInputs = [
+    ipython_genutils
+    jupyterlab_launcher
+    notebook
+  ];
+
+  makeWrapperArgs = [
+    "--set" "JUPYTERLAB_DIR" "$out/share/jupyter/lab"
+  ];
+
+  # Depends on npm
+  doCheck = false;
+
+  meta = with lib; {
+    description = "Jupyter lab environment notebook server extension.";
+    license = with licenses; [ bsd3 ];
+    homepage = "http://jupyter.org/";
+    maintainers = with maintainers; [ zimbatm ];
+  };
+}
diff --git a/pkgs/development/python-modules/jupyterlab_launcher/default.nix b/pkgs/development/python-modules/jupyterlab_launcher/default.nix
new file mode 100644
index 00000000000..f316fe10563
--- /dev/null
+++ b/pkgs/development/python-modules/jupyterlab_launcher/default.nix
@@ -0,0 +1,25 @@
+{ lib, buildPythonPackage, fetchPypi, jsonschema, notebook }:
+buildPythonPackage rec {
+  pname = "jupyterlab_launcher";
+  version = "0.10.5";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1v1ir182zm2dl14lqvqjhx2x40wnp0i32n6rldxnm1allfpld1n7";
+  };
+
+  propagatedBuildInputs = [
+    jsonschema
+    notebook
+  ];
+
+  # depends on requests and a bunch of other libraries
+  doCheck = false;
+
+  meta = with lib; {
+    description = "This package is used to launch an application built using JupyterLab";
+    license = with licenses; [ bsd3 ];
+    homepage = "http://jupyter.org/";
+    maintainers = with maintainers; [ zimbatm ];
+  };
+}
diff --git a/pkgs/development/python-modules/kafka-python/default.nix b/pkgs/development/python-modules/kafka-python/default.nix
index f5392202d4d..eef9dc493f6 100644
--- a/pkgs/development/python-modules/kafka-python/default.nix
+++ b/pkgs/development/python-modules/kafka-python/default.nix
@@ -2,12 +2,12 @@
 
 buildPythonPackage rec {
   name = "${pname}-${version}";
-  version = "1.3.5";
+  version = "1.4.2";
   pname = "kafka-python";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "19m9fdckxqngrgh0www7g8rgi7z0kq13wkhcqy1r8aa4sxad0f5j";
+    sha256 = "6a5c516f540f4b13b78c64a85dd42dc38fe29257e2fae6393fc5daff9106389b";
   };
 
   checkInputs = [ pytest six mock ];
diff --git a/pkgs/development/python-modules/keras/default.nix b/pkgs/development/python-modules/keras/default.nix
index 4c42a4ebafe..f5590e11120 100644
--- a/pkgs/development/python-modules/keras/default.nix
+++ b/pkgs/development/python-modules/keras/default.nix
@@ -1,16 +1,15 @@
 { stdenv, lib, buildPythonPackage, fetchPypi
 , pytest, pytestcov, pytestpep8, pytest_xdist
-, six, numpy, scipy, pyyaml
+, six, numpy, scipy, pyyaml, h5py
 }:
 
 buildPythonPackage rec {
   pname = "Keras";
-  version = "2.1.4";
-  name = "${pname}-${version}";
+  version = "2.1.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "7ee1fcc79072ac904a4f008d715bcb78c60250ae3cd41d99e268c60ade8d0d3a";
+    sha256 = "c14af1081242c25617ade7eb62121d58d01f16e1e744bae9fc4f1f95a417716e";
   };
 
   checkInputs = [
@@ -21,7 +20,7 @@ buildPythonPackage rec {
   ];
 
   propagatedBuildInputs = [
-    six pyyaml numpy scipy
+    six pyyaml numpy scipy h5py
   ];
 
   # Couldn't get tests working
diff --git a/pkgs/development/python-modules/keyring/default.nix b/pkgs/development/python-modules/keyring/default.nix
index 8c97b18e9b6..98295ff802f 100644
--- a/pkgs/development/python-modules/keyring/default.nix
+++ b/pkgs/development/python-modules/keyring/default.nix
@@ -1,30 +1,26 @@
 { stdenv, buildPythonPackage, fetchPypi
-, secretstorage
-, fs, gdata, python_keyczar, pyasn1, pycrypto, six, setuptools_scm
-, mock, pytest, pytestrunner }:
+, setuptools_scm, entrypoints, secretstorage
+, pytest, pytest-flake8 }:
 
 buildPythonPackage rec {
-  name = "${pname}-${version}";
   pname = "keyring";
-  version = "11.0.0";
+  version = "12.0.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "b4607520a7c97be96be4ddc00f4b9dac65f47a45af4b4cd13ed5a8879641d646";
+    sha256 = "445d9521b4fcf900e51c075112e25ddcf8af1db7d1d717380b64eda2cda84abc";
   };
 
-  buildInputs = [
-    fs gdata python_keyczar pyasn1 pycrypto six setuptools_scm
-  ];
+  nativeBuildInputs = [ setuptools_scm ];
 
-  checkInputs = [ mock pytest pytestrunner ];
+  checkInputs = [ pytest pytest-flake8 ];
 
-  propagatedBuildInputs = [ secretstorage ];
+  propagatedBuildInputs = [ entrypoints ] ++ stdenv.lib.optional stdenv.isLinux secretstorage;
 
   doCheck = !stdenv.isDarwin;
 
   checkPhase = ''
-    py.test $out
+    py.test
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/python-modules/kiwisolver/default.nix b/pkgs/development/python-modules/kiwisolver/default.nix
new file mode 100644
index 00000000000..6ee732a06cb
--- /dev/null
+++ b/pkgs/development/python-modules/kiwisolver/default.nix
@@ -0,0 +1,24 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+}:
+
+buildPythonPackage rec {
+  pname = "kiwisolver";
+  version = "1.0.1";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "ce3be5d520b4d2c3e5eeb4cd2ef62b9b9ab8ac6b6fedbaa0e39cdb6f50644278";
+  };
+
+  # Does not include tests
+  doCheck = false;
+
+  meta = {
+    description = "A fast implementation of the Cassowary constraint solver";
+    homepage = https://github.com/nucleic/kiwi;
+    license = lib.licenses.bsd3;
+  };
+
+}
\ No newline at end of file
diff --git a/pkgs/development/python-modules/klein/default.nix b/pkgs/development/python-modules/klein/default.nix
new file mode 100644
index 00000000000..3dfbb4e17db
--- /dev/null
+++ b/pkgs/development/python-modules/klein/default.nix
@@ -0,0 +1,27 @@
+{ lib, buildPythonPackage, fetchPypi
+, six, twisted, werkzeug, incremental
+, mock }:
+
+buildPythonPackage rec {
+  pname = "klein";
+  version = "17.10.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "30aaf0d78a987d5dbfe0968a07367ad0c73e02823cc8eef4c54f80ab848370d0";
+  };
+
+  propagatedBuildInputs = [ six twisted werkzeug incremental ];
+
+  checkInputs = [ mock ];
+
+  checkPhase = ''
+    trial klein
+  '';
+
+  meta = with lib; {
+    description = "Klein Web Micro-Framework";
+    homepage    = "https://github.com/twisted/klein";
+    license     = licenses.mit;
+  };
+}
diff --git a/pkgs/development/python-modules/konfig/default.nix b/pkgs/development/python-modules/konfig/default.nix
new file mode 100644
index 00000000000..e7062bad5ee
--- /dev/null
+++ b/pkgs/development/python-modules/konfig/default.nix
@@ -0,0 +1,48 @@
+{ lib, buildPythonPackage, fetchFromGitHub, isPy3k, writeText, configparser, six, pytest, glibcLocales }:
+
+buildPythonPackage rec {
+  pname = "konfig";
+  version = "1.1";
+
+  # konfig unconditionaly depend on configparser, even if it is part of
+  # the standard library in python 3.2 or above.
+  disabled = isPy3k;
+
+  # PyPI tarball is missing utf8.ini, required for tests
+  src = fetchFromGitHub {
+    owner = "mozilla-services";
+    repo = pname;
+    rev = version;
+    sha256 = "1h780fbrv275dcik4cs3rincza805z6q726b48r4a0qmh5d8160c";
+  };
+
+  propagatedBuildInputs = [ configparser six ];
+
+  patches = [ (writeText "konfig.patch" ''
+    diff --git a/setup.py b/setup.py
+    index 96fd858..bb4db06 100644
+    --- a/setup.py
+    +++ b/setup.py
+    @@ -20,7 +20,7 @@ setup(name='konfig',
+           author_email="tarek@mozilla.com",
+           include_package_data=True,
+           install_requires = [
+    -        'configparser', 'argparse', 'six'
+    +        'configparser', 'six'
+           ],
+           zip_safe=False,
+           classifiers=classifiers,
+  '') ];
+
+  checkInputs = [ pytest glibcLocales ];
+
+  checkPhase = ''
+    LC_ALL=en_US.utf8 pytest -v konfig/tests
+  '';
+
+  meta = with lib; {
+    description = "Yet Another Config Parser";
+    homepage    = "https://github.com/mozilla-services/konfig";
+    license     = licenses.mpl20;
+  };
+}
diff --git a/pkgs/development/python-modules/langcodes/default.nix b/pkgs/development/python-modules/langcodes/default.nix
new file mode 100644
index 00000000000..d1d25f5407c
--- /dev/null
+++ b/pkgs/development/python-modules/langcodes/default.nix
@@ -0,0 +1,34 @@
+{ lib
+, buildPythonPackage
+, marisa-trie
+, pythonOlder
+, fetchPypi
+, nose
+}:
+
+buildPythonPackage rec {
+  pname = "langcodes";
+  version = "1.4.1";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1axdiva2qglsjmnx2ak7i6hm0yhp6kbc4lcsgn8ckwy0nq1z3kr2";
+  };
+
+  propagatedBuildInputs = [ marisa-trie ];
+
+  disabled = pythonOlder "3.3";
+
+  checkInputs = [ nose ];
+
+  checkPhase = ''
+    nosetests
+  '';
+
+  meta = with lib; {
+    description = "A toolkit for working with and comparing the standardized codes for languages, such as ‘en’ for English or ‘es’ for Spanish";
+    homepage =  http://github.com/LuminosoInsight/langcodes;
+    license = licenses.mit;
+    maintainers = with maintainers; [ ixxie ];
+  };
+}
diff --git a/pkgs/development/python-modules/latexcodec/default.nix b/pkgs/development/python-modules/latexcodec/default.nix
new file mode 100644
index 00000000000..3b639ee2afb
--- /dev/null
+++ b/pkgs/development/python-modules/latexcodec/default.nix
@@ -0,0 +1,20 @@
+{ stdenv, buildPythonPackage, fetchPypi, six }:
+
+buildPythonPackage rec {
+  pname = "latexcodec";
+  version = "1.0.5";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0zdd1gf24i83ykadx0y30n3001j43scqr2saql3vckk5c39dj1wn";
+  };
+
+  propagatedBuildInputs = [ six ];
+
+  meta = {
+    homepage = "https://github.com/mcmtroffaes/latexcodec";
+    description = "Lexer and codec to work with LaTeX code in Python";
+    license = stdenv.lib.licenses.mit;
+  };
+
+}
diff --git a/pkgs/development/python-modules/ldap/default.nix b/pkgs/development/python-modules/ldap/default.nix
index 32f25eeda42..c039bcc043a 100644
--- a/pkgs/development/python-modules/ldap/default.nix
+++ b/pkgs/development/python-modules/ldap/default.nix
@@ -1,18 +1,21 @@
-{ lib, writeText, buildPythonPackage, isPy3k, fetchPypi
-, openldap, cyrus_sasl, openssl, pytest, pyasn1 }:
+{ lib, buildPythonPackage, fetchPypi
+, pyasn1, pyasn1-modules, pytest
+, openldap, cyrus_sasl }:
 
 buildPythonPackage rec {
   pname = "python-ldap";
-  version = "2.5.2";
-  name = "${pname}-${version}";
-  disabled = isPy3k;
+  version = "3.0.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "b8c134dfedaef0e6ff4a4b94277708dcadb758b448905a83b8946df077356ed2";
+    sha256 = "86746b912a2cd37a54b06c694f021b0c8556d4caeab75ef50435ada152e2fbe1";
   };
 
-  checkInputs = [ pytest pyasn1 ];
+  propagatedBuildInputs = [ pyasn1 pyasn1-modules ];
+
+  buildInputs = [ openldap cyrus_sasl ];
+
+  checkInputs = [ pytest ];
 
   checkPhase = ''
     # Needed by tests to setup a mockup ldap server.
@@ -21,28 +24,6 @@ buildPythonPackage rec {
     export SLAPD="${openldap}/libexec/slapd"
     export SCHEMA="${openldap}/etc/schema"
 
-    # AssertionError: expected errno=107, got 57 -> nix sandbox related ?
-    py.test -k 'not TestLdapCExtension and \
-                not Test01_SimpleLDAPObject and \
-                not Test02_ReconnectLDAPObject' Tests/*.py
+    py.test
   '';
-
-  patches = lib.singleton (writeText "avoid-syslog.diff" ''
-    diff a/Lib/slapdtest.py b/Lib/slapdtest.py
-    --- a/Lib/slapdtest.py
-    +++ b/Lib/slapdtest.py
-    @@ -60,7 +60,8 @@ def combined_logger(
-                 pass
-         # for writing to syslog
-         new_logger = logging.getLogger(log_name)
-    -    if sys_log_format:
-    +    # /dev/log does not exist in nix build environment.
-    +    if False:
-             my_syslog_formatter = logging.Formatter(
-                 fmt=' '.join((log_name, sys_log_format)))
-             my_syslog_handler = logging.handlers.SysLogHandler(
-  '');
-
-  NIX_CFLAGS_COMPILE = "-I${cyrus_sasl.dev}/include/sasl";
-  propagatedBuildInputs = [openldap cyrus_sasl openssl];
 }
diff --git a/pkgs/development/python-modules/ldappool/default.nix b/pkgs/development/python-modules/ldappool/default.nix
new file mode 100644
index 00000000000..58ca72a3dc9
--- /dev/null
+++ b/pkgs/development/python-modules/ldappool/default.nix
@@ -0,0 +1,25 @@
+{ lib, buildPythonPackage, fetchPypi, isPy3k
+, pbr, ldap, fixtures, testresources, testtools }:
+
+buildPythonPackage rec {
+  name = "ldappool-${version}";
+  version = "2.2.0";
+
+  src = fetchPypi {
+    pname = "ldappool";
+    inherit version;
+    sha256 = "1akmzf51cjfvmd0nvvm562z1w9vq45zsx6fa72kraqgsgxhnrhqz";
+  };
+
+  nativeBuildInputs = [ pbr ];
+
+  propagatedBuildInputs = [ ldap ];
+
+  checkInputs = [ fixtures testresources testtools ];
+
+  meta = with lib; {
+    description = "A simple connector pool for python-ldap";
+    homepage = https://git.openstack.org/cgit/openstack/ldappool;
+    license = licenses.mpl20;
+  };
+}
diff --git a/pkgs/development/python-modules/ledgerblue/default.nix b/pkgs/development/python-modules/ledgerblue/default.nix
index 9b2499cd5b2..dfd5d5dfde9 100644
--- a/pkgs/development/python-modules/ledgerblue/default.nix
+++ b/pkgs/development/python-modules/ledgerblue/default.nix
@@ -5,11 +5,11 @@
 buildPythonPackage rec {
   name = "${pname}-${version}";
   pname = "ledgerblue";
-  version = "0.1.16";
+  version = "0.1.17";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "eba56b887339fb5f8582771e4e398df4fa5a017183b908d4f8950588157c1504";
+    sha256 = "ac403b074337b9b58cae97ea00b3d94fc8efeea1717a80c49e79dc8aad6fc58f";
   };
 
   buildInputs = [ hidapi pycrypto pillow protobuf future ecpy ];
diff --git a/pkgs/development/python-modules/libais/default.nix b/pkgs/development/python-modules/libais/default.nix
index 5d8c886e00b..5261a7b6564 100644
--- a/pkgs/development/python-modules/libais/default.nix
+++ b/pkgs/development/python-modules/libais/default.nix
@@ -1,20 +1,19 @@
-{ stdenv, buildPythonPackage, fetchurl,
+{ stdenv, buildPythonPackage, fetchPypi,
   six, pytest, pytestrunner, pytestcov, coverage
 }:
 buildPythonPackage rec {
   pname = "libais";
-  name = "${pname}-${version}";
-  version = "0.16";
+  version = "0.17";
 
-  src = fetchurl {
-    url = "mirror://pypi/l/libais/${name}.tar.bz2";
-    sha256 = "14dsh5k32ryszwdn6p45wrqp4ska6cc9qpm6lk5c5d1p4rc7wnhq";
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0pyka09h8nb0vlzh14npq4nxmzg1046lr3klgn97dsf5k0iflapb";
   };
 
   # data files missing
   doCheck = false;
 
-  buildInputs = [ pytest pytestrunner pytestcov coverage ];
+  checkInputs = [ pytest pytestrunner pytestcov coverage ];
   propagatedBuildInputs = [ six ];
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/python-modules/libgpuarray/default.nix b/pkgs/development/python-modules/libgpuarray/default.nix
index c0c2b205f58..14e83584678 100644
--- a/pkgs/development/python-modules/libgpuarray/default.nix
+++ b/pkgs/development/python-modules/libgpuarray/default.nix
@@ -9,10 +9,13 @@
 , nose
 , Mako
 , python
-, cudaSupport ? false, cudatoolkit
+, cudaSupport ? false, cudatoolkit , nvidia_x11
 , openclSupport ? true, ocl-icd, clblas
 }:
 
+assert cudaSupport -> nvidia_x11 != null
+                   && cudatoolkit != null;
+
 buildPythonPackage rec {
   pname = "libgpuarray";
   version = "0.7.5";
@@ -32,8 +35,8 @@ buildPythonPackage rec {
 
   libraryPath = lib.makeLibraryPath (
     []
-    ++ lib.optionals cudaSupport [ cudatoolkit.lib cudatoolkit.out ]
-    ++ lib.optionals openclSupport [ ocl-icd clblas ]
+    ++ lib.optionals cudaSupport [ cudatoolkit.lib cudatoolkit.out nvidia_x11 ]
+    ++ lib.optionals openclSupport ([ clblas ] ++ lib.optional (!stdenv.isDarwin) ocl-icd)
   );
 
   preBuild = ''
@@ -47,7 +50,7 @@ buildPythonPackage rec {
 
   postFixup = ''
     rm $out/lib/libgpuarray-static.a
-
+  '' + stdenv.lib.optionalString (!stdenv.isDarwin) ''
     function fixRunPath {
       p=$(patchelf --print-rpath $1)
       patchelf --set-rpath "$p:$libraryPath" $1
@@ -75,7 +78,7 @@ buildPythonPackage rec {
     description = "Library to manipulate tensors on GPU.";
     license = licenses.free;
     maintainers = with maintainers; [ artuuge ];
-    platforms = platforms.linux;
+    platforms = platforms.unix;
   };
 
 }
diff --git a/pkgs/development/python-modules/libtmux/default.nix b/pkgs/development/python-modules/libtmux/default.nix
index 3fe0b3911c2..417baed9560 100644
--- a/pkgs/development/python-modules/libtmux/default.nix
+++ b/pkgs/development/python-modules/libtmux/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "libtmux";
-  version = "0.7.7";
+  version = "0.8.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "5670c8da8d0192d932ac1e34f010e0eeb098cdb2af6daad0307b5418e7a37733";
+    sha256 = "2b969b507c26d9db08b85be4808d75774b6418ecf5a0f61956f7a1da44519585";
   };
 
   checkInputs = [ pytest ];
diff --git a/pkgs/development/python-modules/libvirt/default.nix b/pkgs/development/python-modules/libvirt/default.nix
index 5dc33d2d93e..d120c38b02c 100644
--- a/pkgs/development/python-modules/libvirt/default.nix
+++ b/pkgs/development/python-modules/libvirt/default.nix
@@ -1,12 +1,13 @@
-{ stdenv, buildPythonPackage, fetchurl, python, pkgconfig, lxml, libvirt, nose }:
+{ stdenv, buildPythonPackage, fetchgit, python, pkgconfig, lxml, libvirt, nose }:
 
 buildPythonPackage rec {
   pname = "libvirt";
-  version = "3.10.0";
+  version = "4.1.0";
 
-  src = assert version == libvirt.version; fetchurl {
-    url = "http://libvirt.org/sources/python/${pname}-python-${version}.tar.gz";
-    sha256 = "1l0fgqjnx76pzkhq540x9sf5fgzlrn0dpay90j2m4iq8nkclcbpw";
+  src = assert version == libvirt.version; fetchgit {
+    url = git://libvirt.org/libvirt-python.git;
+    rev = "v${version}";
+    sha256 = "0z87y6qr0ypdxfanphxl7yanisd7a0b0bwhg97kii68mig5dlw9r";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/development/python-modules/linode-api/default.nix b/pkgs/development/python-modules/linode-api/default.nix
index 45c33f94b28..ad6b938c988 100644
--- a/pkgs/development/python-modules/linode-api/default.nix
+++ b/pkgs/development/python-modules/linode-api/default.nix
@@ -1,17 +1,17 @@
 { stdenv,
   buildPythonPackage,
-  fetchPypi,
+  fetchFromGitHub,
   isPy3k,
   pythonOlder,
   lib,
   requests,
   future,
-  enum34 }:
+  enum34,
+  mock }:
 
 buildPythonPackage rec {
   pname = "linode-api";
-  version = "4.1.2b0"; # NOTE: this is a beta, and the API may change in future versions.
-  name = "${pname}-${version}";
+  version = "4.1.8b1"; # NOTE: this is a beta, and the API may change in future versions.
 
   disabled = (pythonOlder "2.7");
 
@@ -22,11 +22,15 @@ buildPythonPackage rec {
     sed -i -e '/"enum34",/d' setup.py
   '');
 
-  doCheck = false; # This library does not have any tests at this point.
+  doCheck = true;
+  checkInputs = [ mock ];
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "19yzyb4sbxib8yxmrqm6d8i0fm8cims56q7kiq2ana26nbcm0gr4";
+  # Sources from Pypi exclude test fixtures
+  src = fetchFromGitHub {
+    rev = "v${version}";
+    owner = "linode";
+    repo = "python-linode-api";
+    sha256 = "0qfqn92fr876dncwbkf2vhm90hnf7lwpg80hzwyzyzwz1hcngvjg";
   };
 
   meta = {
diff --git a/pkgs/development/python-modules/llfuse/default.nix b/pkgs/development/python-modules/llfuse/default.nix
index ef4d9fb5d02..7eac54d84d8 100644
--- a/pkgs/development/python-modules/llfuse/default.nix
+++ b/pkgs/development/python-modules/llfuse/default.nix
@@ -4,12 +4,12 @@
 
 buildPythonPackage rec {
   pname = "llfuse";
-  version = "1.3.2";
+  version = "1.3.4";
   name = pname + "-" + version;
 
   src = fetchurl {
     url = "mirror://pypi/l/llfuse/${name}.tar.bz2";
-    sha256 = "96252a286a2be25810904d969b330ef2a57c2b9c18c5b503bbfbae40feb2bb63";
+    sha256 = "50396c5f3c49c3145e696e5b62df4fcca8b66634788020fba7b6932a858c78c2";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/development/python-modules/llvmlite/default.nix b/pkgs/development/python-modules/llvmlite/default.nix
index d702d8f95b0..b420e7149d7 100644
--- a/pkgs/development/python-modules/llvmlite/default.nix
+++ b/pkgs/development/python-modules/llvmlite/default.nix
@@ -10,13 +10,13 @@
 
 buildPythonPackage rec {
   pname = "llvmlite";
-  version = "0.21.0";
+  version = "0.22.0";
 
   disabled = isPyPy;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "3a5dd0695fdfb9fd47464cd71791b84935bf9642e11f4811d57aa1f2da8cdaa8";
+    sha256 = "a0a875f3d502f41f4a24444aa98fbf076a6bf36e2a0b3b4481b22e1c4a3acdc2";
   };
 
   propagatedBuildInputs = [ llvm ] ++ stdenv.lib.optional (pythonOlder "3.4") enum34;
diff --git a/pkgs/development/python-modules/locket/default.nix b/pkgs/development/python-modules/locket/default.nix
new file mode 100644
index 00000000000..a4d7a8ce706
--- /dev/null
+++ b/pkgs/development/python-modules/locket/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, buildPythonPackage, fetchPypi, pytest }:
+
+buildPythonPackage rec {
+  pname = "locket";
+  version = "0.2.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1d4z2zngrpqkrfhnd4yhysh66kjn4mblys2l06sh5dix2p0n7vhz";
+  };
+
+  buildInputs = [ pytest ];
+
+  # weird test requirements (spur.local>=0.3.7,<0.4)
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    description = "Locket implements a lock that can be used by multiple processes provided they use the same path.";
+    homepage = https://github.com/mwilliamson/locket.py;
+    license = licenses.bsd2;
+    maintainers = with maintainers; [ teh ];
+  };
+}
diff --git a/pkgs/development/python-modules/locustio/default.nix b/pkgs/development/python-modules/locustio/default.nix
index 4bc48810e71..c3e27c8b36a 100644
--- a/pkgs/development/python-modules/locustio/default.nix
+++ b/pkgs/development/python-modules/locustio/default.nix
@@ -26,7 +26,7 @@ buildPythonPackage rec {
   buildInputs = [ mock unittest2 ];
 
   meta = {
-    homepage = http://locust.io/;
+    homepage = https://locust.io/;
     description = "A load testing tool";
   };
 }
diff --git a/pkgs/development/python-modules/logilab/constraint.nix b/pkgs/development/python-modules/logilab/constraint.nix
index 952cc03e454..8f7229a4c0f 100644
--- a/pkgs/development/python-modules/logilab/constraint.nix
+++ b/pkgs/development/python-modules/logilab/constraint.nix
@@ -17,7 +17,7 @@ buildPythonPackage rec {
 
   meta = with stdenv.lib; {
     description = "logilab-database provides some classes to make unified access to different";
-    homepage = "http://www.logilab.org/project/logilab-database";
+    homepage = "https://www.logilab.org/project/logilab-database";
   };
 }
 
diff --git a/pkgs/development/python-modules/logster/default.nix b/pkgs/development/python-modules/logster/default.nix
new file mode 100644
index 00000000000..e4b57e4ce40
--- /dev/null
+++ b/pkgs/development/python-modules/logster/default.nix
@@ -0,0 +1,21 @@
+{ lib, buildPythonPackage, fetchFromGitHub, pygtail }:
+
+buildPythonPackage rec {
+  pname = "logster";
+  version = "1.0.1";
+
+  src = fetchFromGitHub {
+    owner = "etsy";
+    repo = pname;
+    rev = version;
+    sha256 = "06ac5hydas24h2cn8l5i69v1z0min5hwh6a1lcm1b08xnvpsi85q";
+  };
+
+  propagatedBuildInputs = [ pygtail ];
+
+  meta = with lib; {
+    description = "Parses log files, generates metrics for Graphite and Ganglia";
+    license = licenses.gpl3Plus;
+    homepage = https://github.com/etsy/logster;
+  };
+}
diff --git a/pkgs/development/python-modules/lxml/default.nix b/pkgs/development/python-modules/lxml/default.nix
index bfd0c8227ee..9fd050ac35e 100644
--- a/pkgs/development/python-modules/lxml/default.nix
+++ b/pkgs/development/python-modules/lxml/default.nix
@@ -7,11 +7,11 @@
 
 buildPythonPackage rec {
   pname = "lxml";
-  version = "4.1.1";
+  version = "4.2.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "940caef1ec7c78e0c34b0f6b94fe42d0f2022915ffc78643d28538a5cfd0f40e";
+    sha256 = "e2629cdbcad82b83922a3488937632a4983ecc0fed3e5cfbf430d069382eeb9b";
   };
 
   buildInputs = [ libxml2 libxslt ];
diff --git a/pkgs/development/python-modules/m2r/default.nix b/pkgs/development/python-modules/m2r/default.nix
index c1a6721bb80..9ec291439ce 100644
--- a/pkgs/development/python-modules/m2r/default.nix
+++ b/pkgs/development/python-modules/m2r/default.nix
@@ -3,11 +3,11 @@
 buildPythonPackage rec {
   pname = "m2r";
   name = "${pname}-${version}";
-  version = "0.1.13";
+  version = "0.1.14";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "b19e3703a3a897859f01ff6a068ee9a0eea8e8fdf75e896e00e88b3476a12f87";
+    sha256 = "a14635cdeedb125f0f85e014eb5898fd634e2da358a160c124818e9c9f851add";
   };
 
   propagatedBuildInputs = [ mistune docutils ];
diff --git a/pkgs/development/python-modules/magic-wormhole-transit-relay/default.nix b/pkgs/development/python-modules/magic-wormhole-transit-relay/default.nix
index e6be19198ef..a553a3bf433 100644
--- a/pkgs/development/python-modules/magic-wormhole-transit-relay/default.nix
+++ b/pkgs/development/python-modules/magic-wormhole-transit-relay/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "magic-wormhole-transit-relay";
-  version = "0.1.1";
+  version = "0.1.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "faac36266c72745102a1a8b93abc5b25feed1be5bca7b29968a156966c312567";
+    sha256 = "b13f1bfab295150b25958014d93fcd9f744d92011d186d7381575465587b8587";
   };
 
   propagatedBuildInputs = [ twisted ];
diff --git a/pkgs/development/python-modules/marionette-harness/mozdevice.nix b/pkgs/development/python-modules/marionette-harness/mozdevice.nix
index 00329aa1d3f..af26c8d071d 100644
--- a/pkgs/development/python-modules/marionette-harness/mozdevice.nix
+++ b/pkgs/development/python-modules/marionette-harness/mozdevice.nix
@@ -8,12 +8,12 @@
 
 buildPythonPackage rec {
   pname = "mozdevice";
-  version = "0.50";
+  version = "0.52";
   name = "${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0cfxzhfxdphlzj80vkd3h7m0mg5w7zhb8h6f5lmybliqdiv9vz20";
+    sha256 = "5b6fcbc7179c0f09bd99f7f7c42b614bce5f39543fb18b190e408488f987d6b5";
   };
 
   propagatedBuildInputs = [ moznetwork mozprocess ];
diff --git a/pkgs/development/python-modules/marionette-harness/mozlog.nix b/pkgs/development/python-modules/marionette-harness/mozlog.nix
index 5960848ff63..dfe91309ea4 100644
--- a/pkgs/development/python-modules/marionette-harness/mozlog.nix
+++ b/pkgs/development/python-modules/marionette-harness/mozlog.nix
@@ -4,22 +4,25 @@
 , fetchPypi
 , isPy3k
 , blessings
+, mozterm
+, six
 , mozfile
 }:
 
 buildPythonPackage rec {
   pname = "mozlog";
-  version = "3.4";
-  name = "${pname}-${version}";
+  version = "3.7";
 
   disabled = isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1m4d9i1kzcmkhipfd5czv05f2s84j1byx3cv4y2irjmwq5v6cyiq";
+    sha256 = "414141131c4f5e7242e69a939d2b74f4ed8dbac12bef93eee4e7125cd1a131e9";
   };
 
-  propagatedBuildInputs = [ blessings mozfile ];
+  propagatedBuildInputs = [ blessings mozterm six ];
+
+  checkInputs = [ mozfile ];
 
   meta = {
     description = "Mozilla logging library";
diff --git a/pkgs/development/python-modules/marionette-harness/mozprocess.nix b/pkgs/development/python-modules/marionette-harness/mozprocess.nix
index b6bea84aa23..80b13d94a2d 100644
--- a/pkgs/development/python-modules/marionette-harness/mozprocess.nix
+++ b/pkgs/development/python-modules/marionette-harness/mozprocess.nix
@@ -7,12 +7,12 @@
 
 buildPythonPackage rec {
   pname = "mozprocess";
-  version = "0.25";
+  version = "0.26";
   name = "${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0lfflwjkwvc8bqvsgdib3b78w2pms8nharh3sc3zgsrmqb1mbzks";
+    sha256 = "9f471c45bee9ff14e936c6ee216a6cc4941223659c01fa626bce628001d8485c";
   };
 
   propagatedBuildInputs = [ mozinfo ];
diff --git a/pkgs/development/python-modules/marionette-harness/mozprofile.nix b/pkgs/development/python-modules/marionette-harness/mozprofile.nix
index 5e939d4f333..a783c125af3 100644
--- a/pkgs/development/python-modules/marionette-harness/mozprofile.nix
+++ b/pkgs/development/python-modules/marionette-harness/mozprofile.nix
@@ -9,12 +9,12 @@
 
 buildPythonPackage rec {
   pname = "mozprofile";
-  version = "0.28";
+  version = "0.29";
   name = "${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "15xsdhrpbg7hlr6nvb3k3ci33h786hrv12az8j2k7aa9gzjcf8nh";
+    sha256 = "92af4b9f527a18997dccb60e846e1844b2428668dadf3ccb1a8cd30c706b25c1";
   };
 
   propagatedBuildInputs = [ mozlog mozfile mozhttpd ]; 
diff --git a/pkgs/development/python-modules/marionette-harness/mozrunner.nix b/pkgs/development/python-modules/marionette-harness/mozrunner.nix
index b0c3f6d8bcf..51344a8a95a 100644
--- a/pkgs/development/python-modules/marionette-harness/mozrunner.nix
+++ b/pkgs/development/python-modules/marionette-harness/mozrunner.nix
@@ -13,12 +13,12 @@
 
 buildPythonPackage rec {
   pname = "mozrunner";
-  version = "6.13";
+  version = "6.15";
   name = "${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1d5k3a0w1iyyk6l28l65j47grq87zd207h369x4vahq02nrx2g6l";
+    sha256 = "985d4d4cf7597f09ed1b42165997d966fa35b0130a7a6bbcb2c71ecd5f4c453f";
   };
 
   propagatedBuildInputs = [ mozdevice mozfile mozinfo mozlog mozprocess
diff --git a/pkgs/development/python-modules/marionette-harness/mozversion.nix b/pkgs/development/python-modules/marionette-harness/mozversion.nix
index 62605a1d21d..729f110858c 100644
--- a/pkgs/development/python-modules/marionette-harness/mozversion.nix
+++ b/pkgs/development/python-modules/marionette-harness/mozversion.nix
@@ -8,12 +8,12 @@
 
 buildPythonPackage rec {
   pname = "mozversion";
-  version = "1.4";
+  version = "1.5";
   name = "${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "15ipddn6bpqxl590cy37fj52vgpa4faw2dax1mwvdxj7b18s3pwh";
+    sha256 = "e9b11e4a46bf7a4a11469ea4589c75f3ba50b34b7801e7edf1a09147af8bf70f";
   };
 
   propagatedBuildInputs = [ mozlog mozdevice ];
diff --git a/pkgs/development/python-modules/marisa-trie/default.nix b/pkgs/development/python-modules/marisa-trie/default.nix
new file mode 100644
index 00000000000..71be4f5726d
--- /dev/null
+++ b/pkgs/development/python-modules/marisa-trie/default.nix
@@ -0,0 +1,34 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pytestrunner
+, pytest
+, hypothesis
+}:
+
+buildPythonPackage rec {
+  pname = "marisa-trie";
+  version = "0.7.5";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "c73bc25d868e8c4ea7aa7f1e19892db07bba2463351269b05340ccfa06eb2baf";
+  };
+
+  postPatch = ''
+    substituteInPlace setup.py \
+      --replace "hypothesis==" "hypothesis>="
+  '';
+
+  nativeBuildInputs = [ pytestrunner ];
+
+  checkInputs = [ pytest hypothesis ];
+
+  meta = with lib; {
+    description = "Static memory-efficient Trie-like structures for Python (2.x and 3.x) based on marisa-trie C++ library";
+    longDescription = "There are official SWIG-based Python bindings included in C++ library distribution; this package provides alternative Cython-based pip-installable Python bindings.";
+    homepage =  https://github.com/kmike/marisa-trie;
+    license = licenses.mit;
+    maintainers = with maintainers; [ ixxie ];
+  };
+}
diff --git a/pkgs/development/python-modules/marisa/default.nix b/pkgs/development/python-modules/marisa/default.nix
new file mode 100644
index 00000000000..1117ba958fa
--- /dev/null
+++ b/pkgs/development/python-modules/marisa/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, buildPythonPackage, fetchFromGitHub, marisa, swig }:
+
+buildPythonPackage rec {
+  pname = "marisa";
+  version = "1.3.40";
+
+  src = fetchFromGitHub {
+    owner = "s-yata";
+    repo  = "marisa-trie";
+    rev   = "59e410597981475bae94d9d9eb252c1d9790dc2f";
+    sha256 = "0z4bf55np08q3cbi6gvj3cpw3zp8kf2d0jq6k74pjk066m7rapbb";
+  };
+
+  nativeBuildInputs = [ swig marisa ];
+  buildinputs = [ marisa ];
+
+  sourceRoot = "${src.name}/bindings/python";
+
+  meta = with stdenv.lib; {
+    description = "Python binding for marisa package (do not confuse with marisa-trie python bindings)";
+    homepage    = https://github.com/s-yata/marisa-trie;
+    license     = with licenses; [ bsd2 lgpl2 ];
+    maintainers = with maintainers; [ vanzef ];
+  };
+}
diff --git a/pkgs/development/python-modules/marshmallow/default.nix b/pkgs/development/python-modules/marshmallow/default.nix
index a9db6ef1e84..71cc0cddf1b 100644
--- a/pkgs/development/python-modules/marshmallow/default.nix
+++ b/pkgs/development/python-modules/marshmallow/default.nix
@@ -5,7 +5,7 @@
 buildPythonPackage rec {
   pname = "marshmallow";
   name = "${pname}-${version}";
-  version = "2.15.0";
+  version = "2.15.1";
 
   meta = {
     homepage = "https://github.com/marshmallow-code/marshmallow";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "d3f31fe7be2106b1d783cbd0765ef4e1c6615505514695f33082805f929dd584";
+    sha256 = "b73361eab812af97eaf8e8691333a1096787968450051d132c8b9fb90aa1db5a";
   };
 
   propagatedBuildInputs = [ dateutil simplejson ];
diff --git a/pkgs/development/python-modules/matplotlib/default.nix b/pkgs/development/python-modules/matplotlib/default.nix
index 3579c22e92b..46f85b654c7 100644
--- a/pkgs/development/python-modules/matplotlib/default.nix
+++ b/pkgs/development/python-modules/matplotlib/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, python, buildPythonPackage, pycairo, backports_functools_lru_cache
-, which, cycler, dateutil, nose, numpy, pyparsing, sphinx, tornado
+, 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
@@ -21,13 +21,13 @@ assert enableTk -> (tcl != null)
 assert enableQt -> pyqt4 != null;
 
 buildPythonPackage rec {
-  version = "2.1.2";
+  version = "2.2.2";
   pname = "matplotlib";
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://pypi/m/matplotlib/${name}.tar.gz";
-    sha256 = "725a3f12739d133adfa381e1b33bd70c6f64db453bfc536e148824816e568894";
+    sha256 = "4dc7ef528aad21f22be85e95725234c5178c0f938e2228ca76640e5e84d8cde8";
   };
 
   NIX_CFLAGS_COMPILE = stdenv.lib.optionalString stdenv.isDarwin "-I${libcxx}/include/c++/v1";
@@ -39,7 +39,7 @@ buildPythonPackage rec {
     ++ stdenv.lib.optional stdenv.isDarwin [ Cocoa ];
 
   propagatedBuildInputs =
-    [ cycler dateutil nose numpy pyparsing tornado freetype
+    [ cycler dateutil nose numpy pyparsing tornado freetype kiwisolver
       libpng pkgconfig mock pytz ]
     ++ stdenv.lib.optional (pythonOlder "3.3") backports_functools_lru_cache
     ++ stdenv.lib.optional enableGtk2 pygtk
diff --git a/pkgs/development/python-modules/mecab-python3/default.nix b/pkgs/development/python-modules/mecab-python3/default.nix
new file mode 100644
index 00000000000..110d1a57c82
--- /dev/null
+++ b/pkgs/development/python-modules/mecab-python3/default.nix
@@ -0,0 +1,24 @@
+{ lib
+, buildPythonPackage
+, mecab
+, fetchPypi
+}:
+
+buildPythonPackage rec {
+  pname = "mecab-python3";
+  version = "0.7";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "007dg4f5fby2yl7cc44x6xwvcrf2w2ifmn0rmk56ss33mhs8l6qy";
+  };
+
+  propagatedBuildInputs = [ mecab ];
+
+  meta = with lib; {
+    description = "A python wrapper for mecab: Morphological Analysis engine";
+    homepage =  https://github.com/LuminosoInsight/wordfreq/;
+    license = licenses.bsd0;
+    maintainers = with maintainers; [ ixxie ];
+  };
+}
diff --git a/pkgs/development/python-modules/meliae/default.nix b/pkgs/development/python-modules/meliae/default.nix
index ec6c15b2501..5a348e5288c 100644
--- a/pkgs/development/python-modules/meliae/default.nix
+++ b/pkgs/development/python-modules/meliae/default.nix
@@ -35,7 +35,7 @@ buildPythonPackage rec {
 
   meta = with stdenv.lib; {
     description = "Python Memory Usage Analyzer";
-    homepage = http://launchpad.net/meliae;
+    homepage = https://launchpad.net/meliae;
     license = licenses.gpl3;
     maintainers = with maintainers; [ xvapx ];
   };
diff --git a/pkgs/development/python-modules/milksnake/default.nix b/pkgs/development/python-modules/milksnake/default.nix
new file mode 100644
index 00000000000..014bb223225
--- /dev/null
+++ b/pkgs/development/python-modules/milksnake/default.nix
@@ -0,0 +1,26 @@
+{ lib, buildPythonPackage, fetchPypi, cffi }:
+
+buildPythonPackage rec {
+  pname = "milksnake";
+  version = "0.1.5";
+
+  src = fetchPypi {
+    inherit pname version;
+    extension = "zip";
+    sha256 = "120nprd8lqis7x7zy72536gk2j68f7gxm8gffmx8k4ygifvl7kfz";
+  };
+
+  propagatedBuildInputs = [
+   cffi
+  ];
+
+  # tests rely on pip/venv
+  doCheck = false;
+
+  meta = with lib; {
+    description = "A python library that extends setuptools for binary extensions";
+    homepage = https://github.com/getsentry/milksnake;
+    license = licenses.asl20;
+    maintainers = with maintainers; [ matthiasbeyer ];
+  };
+}
diff --git a/pkgs/development/python-modules/miniupnpc/default.nix b/pkgs/development/python-modules/miniupnpc/default.nix
new file mode 100644
index 00000000000..d267cb6a976
--- /dev/null
+++ b/pkgs/development/python-modules/miniupnpc/default.nix
@@ -0,0 +1,18 @@
+{ stdenv, buildPythonPackage, fetchPypi }:
+
+buildPythonPackage rec {
+  pname = "miniupnpc";
+  version = "2.0.2";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0ca94zz7sr2x57j218aypxqcwkr23n8js30f3yrvvqbg929nr93y";
+  };
+
+  meta = with stdenv.lib; {
+    description = "miniUPnP client";
+    homepage = http://miniupnp.free.fr/;
+    license = licenses.mit;
+    maintainers = with maintainers; [ peterhoeg ];
+  };
+}
diff --git a/pkgs/development/python-modules/misaka/default.nix b/pkgs/development/python-modules/misaka/default.nix
new file mode 100644
index 00000000000..b40aead3909
--- /dev/null
+++ b/pkgs/development/python-modules/misaka/default.nix
@@ -0,0 +1,22 @@
+{ lib, fetchPypi, buildPythonPackage, cffi }:
+buildPythonPackage rec {
+  pname = "misaka";
+  version = "2.1.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1yqrq3a5rracirmvk52n28nn6ckdaz897gnigv89a9gmyn87sqw7";
+  };
+
+  propagatedBuildInputs = [ cffi ];
+
+  # The tests require write access to $out
+  doCheck = false;
+
+  meta = with lib; {
+    description = "A CFFI binding for Hoedown, a markdown parsing library";
+    homepage = "http://misaka.61924.nl/";
+    license = licenses.mit;
+    maintainers = with maintainers; [ fgaz ];
+  };
+}
diff --git a/pkgs/development/python-modules/mock-open/default.nix b/pkgs/development/python-modules/mock-open/default.nix
new file mode 100644
index 00000000000..edb3407270f
--- /dev/null
+++ b/pkgs/development/python-modules/mock-open/default.nix
@@ -0,0 +1,22 @@
+{ lib, buildPythonPackage, fetchFromGitHub, pythonOlder, mock }:
+
+buildPythonPackage rec {
+  pname = "mock-open";
+  version = "1.3.1";
+
+  # no tests in PyPI tarball
+  src = fetchFromGitHub {
+    owner = "nivbend";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0ikhrhlkl5c7qbigpsv44jw89ws1z7j06gzyg5dh1ki533ifbjm2";
+  };
+
+  propagatedBuildInputs = lib.optional (pythonOlder "3.3") mock;
+
+  meta = with lib; {
+    homepage = https://github.com/nivbend/mock-open;
+    description = "A better mock for file I/O";
+    license = licenses.mit;
+  };
+}
diff --git a/pkgs/development/python-modules/moinmoin/default.nix b/pkgs/development/python-modules/moinmoin/default.nix
index cedd45f2f22..2097470d4e4 100644
--- a/pkgs/development/python-modules/moinmoin/default.nix
+++ b/pkgs/development/python-modules/moinmoin/default.nix
@@ -1,13 +1,16 @@
-{ lib, buildPythonPackage, fetchurl, fetchpatch
+{ lib, buildPythonPackage, fetchurl, fetchpatch, isPy3k
 , pytest, werkzeug, pygments
 }:
 
 buildPythonPackage rec {
-  name = "moinmoin-${ver}";
-  ver = "1.9.9";
+  name = "moinmoin";
+  version = "1.9.9";
+
+  # SyntaxError in setup.py
+  disabled = isPy3k;
 
   src = fetchurl {
-    url = "http://static.moinmo.in/files/moin-${ver}.tar.gz";
+    url = "http://static.moinmo.in/files/moin-${version}.tar.gz";
     sha256 = "197ga41qghykmir80ik17f9hjpmixslv3zjgj7bj9qvs1dvdg5s3";
   };
 
@@ -25,7 +28,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Advanced, easy to use and extensible WikiEngine";
 
-    homepage = "http://moinmo.in/";
+    homepage = "https://moinmo.in/";
 
     license = licenses.gpl2Plus;
   };
diff --git a/pkgs/development/python-modules/more-itertools/default.nix b/pkgs/development/python-modules/more-itertools/default.nix
new file mode 100644
index 00000000000..e618f039ebd
--- /dev/null
+++ b/pkgs/development/python-modules/more-itertools/default.nix
@@ -0,0 +1,26 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, nose
+, six
+}:
+
+
+buildPythonPackage rec {
+  pname = "more-itertools";
+  version = "4.0.1";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0cadwsr97c80k18if7qy5d8j8l1zj3yhnkm6kbngk0lpl7pxq8ax";
+  };
+
+  checkInputs = [ nose ];
+  propagatedBuildInputs = [ six ];
+
+  meta = {
+    homepage = https://more-itertools.readthedocs.org;
+    description = "Expansion of the itertools module";
+    license = lib.licenses.mit;
+  };
+}
\ No newline at end of file
diff --git a/pkgs/development/python-modules/moto/default.nix b/pkgs/development/python-modules/moto/default.nix
index 84096d8aa92..a0269e92d08 100644
--- a/pkgs/development/python-modules/moto/default.nix
+++ b/pkgs/development/python-modules/moto/default.nix
@@ -4,13 +4,22 @@
 
 buildPythonPackage rec {
   pname = "moto";
-  version = "1.2.0";
+  version = "1.3.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "c42b894cdf35412c95f0c6b40309cf802436e049cd172dc5db7516c7b845191b";
+    sha256 = "45d14aca2b06b0083d5e82cfd770ebca0ba77b5070aec6928670240939a78681";
   };
 
+  postPatch = ''
+    # dateutil upper bound was just to keep compatibility with Python 2.6
+    # see https://github.com/spulec/moto/pull/1519 and https://github.com/boto/botocore/pull/1402
+    # regarding aws-xray-sdk: https://github.com/spulec/moto/commit/31eac49e1555c5345021a252cb0c95043197ea16
+    substituteInPlace setup.py \
+      --replace "python-dateutil<2.7.0" "python-dateutil<3.0.0" \
+      --replace "aws-xray-sdk<0.96," "aws-xray-sdk"
+  '';
+
   propagatedBuildInputs = [
     aws-xray-sdk
     boto
diff --git a/pkgs/development/python-modules/mozterm/default.nix b/pkgs/development/python-modules/mozterm/default.nix
new file mode 100644
index 00000000000..98e8d5b4078
--- /dev/null
+++ b/pkgs/development/python-modules/mozterm/default.nix
@@ -0,0 +1,19 @@
+{ lib, buildPythonPackage, fetchPypi, isPy3k }:
+
+buildPythonPackage rec {
+  pname = "mozterm";
+  version = "0.1.0";
+
+  # name 'unicode' is not defined
+  disabled = isPy3k;
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "4ebf8bd772d97c0f557184173f0f96cfca0abfc07e1ae975fbcfa76be50b5561";
+  };
+
+  meta = with lib; {
+    description = "Terminal abstractions built around the blessings module";
+    license = licenses.mpl20;
+  };
+}
diff --git a/pkgs/development/python-modules/mrbob/default.nix b/pkgs/development/python-modules/mrbob/default.nix
new file mode 100644
index 00000000000..3f974872b95
--- /dev/null
+++ b/pkgs/development/python-modules/mrbob/default.nix
@@ -0,0 +1,28 @@
+{ buildPythonPackage, stdenv, glibcLocales, mock, nose, isPy3k, argparse, jinja2, six
+, fetchPypi, lib
+}:
+
+buildPythonPackage rec {
+  pname = "mrbob";
+  version = "0.1.2";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "6737eaf98aaeae85e07ebef844ee5156df2f06a8b28d7c3dcb056f811c588121";
+  };
+
+  disabled = isPy3k;
+
+  checkInputs = [ nose glibcLocales mock ];
+  checkPhase = ''
+    LC_ALL="en_US.UTF-8" nosetests
+  '';
+
+  propagatedBuildInputs = [ argparse jinja2 six ];
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/domenkozar/mr.bob;
+    description = "A tool to generate code skeletons from templates";
+    license = licenses.bsd3;
+  };
+}
diff --git a/pkgs/development/python-modules/msgpack-numpy/default.nix b/pkgs/development/python-modules/msgpack-numpy/default.nix
new file mode 100644
index 00000000000..cae571fe2f5
--- /dev/null
+++ b/pkgs/development/python-modules/msgpack-numpy/default.nix
@@ -0,0 +1,38 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, cython
+, msgpack
+, numpy
+, python
+}:
+
+buildPythonPackage rec {
+  pname = "msgpack-numpy";
+  version = "0.4.3";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "9d6da0bbb04d7cab2bf9f08f78232c954f00ac95cf2384149e779a31ce859126";
+  };
+
+  buildInputs = [
+    cython
+  ];
+
+  propagatedBuildInputs = [
+   msgpack
+   numpy
+  ];
+
+  checkPhase = ''
+    ${python.interpreter} msgpack_numpy.py
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Practical Machine Learning for NLP in Python";
+    homepage = https://github.com/lebedov/msgpack-numpy;
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ aborsu ];
+  };
+}
diff --git a/pkgs/development/python-modules/msgpack/default.nix b/pkgs/development/python-modules/msgpack/default.nix
index 2400a76bd6e..3068a31f1e2 100644
--- a/pkgs/development/python-modules/msgpack/default.nix
+++ b/pkgs/development/python-modules/msgpack/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "msgpack";
-  version = "0.5.4";
+  version = "0.5.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "13ckbs2qc4dww7fddnm9cw116j4spgxqab49ijmj6jr178ypwl80";
+    sha256 = "0ee8c8c85aa651be3aa0cd005b5931769eaa658c948ce79428766f1bd46ae2c3";
   };
 
   checkPhase = ''
diff --git a/pkgs/development/python-modules/mt-940/default.nix b/pkgs/development/python-modules/mt-940/default.nix
new file mode 100644
index 00000000000..5e2ad1d5aa2
--- /dev/null
+++ b/pkgs/development/python-modules/mt-940/default.nix
@@ -0,0 +1,35 @@
+{ buildPythonPackage, stdenv, pytestrunner, pyyaml, pytest, enum34
+, pytestpep8, pytestflakes,fetchFromGitHub, isPy3k, lib, glibcLocales
+}:
+
+buildPythonPackage rec {
+  version = "v4.10.0";
+  pname = "mt940";
+
+  src = fetchFromGitHub {
+    owner = "WoLpH";
+    repo = pname;
+    rev = version;
+    sha256 = "1dsf2di8rr0iw2vaz6dppalby3y7i8x2bl0qjqvaiqacjxxvwj65";
+  };
+
+  patches = [
+    ./no-coverage.patch
+  ];
+
+  propagatedBuildInputs = [ pyyaml pytestrunner ]
+    ++ lib.optional (!isPy3k) enum34;
+
+  LC_ALL="en_US.UTF-8";
+
+  checkInputs = [ pytestpep8 pytestflakes pytest glibcLocales ];
+  checkPhase = ''
+    py.test
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A library to parse MT940 files and returns smart Python collections for statistics and manipulation";
+    homepage = "http://pythonhosted.org/mt-940/";
+    license = licenses.bsd3;
+  };
+}
diff --git a/pkgs/development/python-modules/mt-940/no-coverage.patch b/pkgs/development/python-modules/mt-940/no-coverage.patch
new file mode 100644
index 00000000000..1617e6dd394
--- /dev/null
+++ b/pkgs/development/python-modules/mt-940/no-coverage.patch
@@ -0,0 +1,26 @@
+diff --git a/pytest.ini b/pytest.ini
+index fef28f5..f366331 100644
+--- a/pytest.ini
++++ b/pytest.ini
+@@ -4,10 +4,6 @@ python_files =
+     tests/*.py
+ 
+ addopts =
+-    --cov mt940
+-    --cov-report term-missing
+-    --cov-report html
+-    --no-cov-on-fail
+     --doctest-modules
+     --pep8
+     --flakes
+diff --git a/tests/requirements.txt b/tests/requirements.txt
+index fc55572..e52cc28 100644
+--- a/tests/requirements.txt
++++ b/tests/requirements.txt
+@@ -3,6 +3,5 @@
+ -r ../docs/requirements.txt
+ pytest
+ pytest-cache
+-pytest-cover
+ pytest-flakes
+ pytest-pep8
diff --git a/pkgs/development/python-modules/multipledispatch/default.nix b/pkgs/development/python-modules/multipledispatch/default.nix
index 73d0f5a2dbe..8edd8429d0d 100644
--- a/pkgs/development/python-modules/multipledispatch/default.nix
+++ b/pkgs/development/python-modules/multipledispatch/default.nix
@@ -5,12 +5,12 @@
 
 buildPythonPackage rec {
   pname = "multipledispatch";
-  version = "0.4.9";
+  version = "0.5.0";
   name = "${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "bda6abb8188d9abb429bd17ed15bc7433f77f1b05a78cfff761711ed81daa7a2";
+    sha256 = "9e92d63efad2c9b68562175d9148d8cb32d04bf5557991190e643749bf4ed954";
   };
 
   # No tests in archive
diff --git a/pkgs/development/python-modules/murmurhash/default.nix b/pkgs/development/python-modules/murmurhash/default.nix
index 023c94cdc8e..f689bc2ff49 100644
--- a/pkgs/development/python-modules/murmurhash/default.nix
+++ b/pkgs/development/python-modules/murmurhash/default.nix
@@ -1,35 +1,34 @@
 { stdenv
 , buildPythonPackage
-, fetchFromGitHub
+, fetchPypi
 , cython
 , python
 }:
 
 buildPythonPackage rec {
   pname = "murmurhash";
-  version = "0.26.4";
-  name = pname + "-" + version;
+  version = "0.28.0";
 
-  src = fetchFromGitHub {
-    owner = "explosion";
-    repo = "murmurhash";
-    rev = "0.26.4";
-    sha256 = "0n2j0glhlv2yh3fjgbg4d79j1c1fpchgjd4vnpw908l9mzchhmdv";
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "16id8jppw8r54wisrlaaiprcszzb7d7lbpnskqn38s8i7vnkf4b5";
   };
 
   buildInputs = [
    cython
   ];
 
+  # No test
+  doCheck = false;
+
   checkPhase = ''
-    cd murmurhash/tests
-    ${python.interpreter} -m unittest discover -p "*test*"
+    pytest murmurhash
   '';
 
   meta = with stdenv.lib; {
     description = "Cython bindings for MurmurHash2";
     homepage = https://github.com/explosion/murmurhash;
     license = licenses.mit;
-    maintainers = with maintainers; [ sdll ];
-    };
+    maintainers = with maintainers; [ aborsu sdll ];
+  };
 }
diff --git a/pkgs/development/python-modules/mutagen/default.nix b/pkgs/development/python-modules/mutagen/default.nix
new file mode 100644
index 00000000000..46658520cb5
--- /dev/null
+++ b/pkgs/development/python-modules/mutagen/default.nix
@@ -0,0 +1,31 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, hypothesis
+, pycodestyle
+, pyflakes
+, pytest
+, pkgs
+}:
+
+buildPythonPackage rec {
+  pname = "mutagen";
+  version = "1.40.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0ppfmpf60c78p4yp7in3f8y1l1fd34a38vw9swpg2fl6hz7c58mj";
+  };
+
+  checkInputs = [
+    pkgs.faad2 pkgs.flac pkgs.vorbis-tools pkgs.liboggz
+    pkgs.glibcLocales pycodestyle pyflakes pytest hypothesis
+  ];
+  LC_ALL = "en_US.UTF-8";
+
+  meta = with lib; {
+    description = "Python multimedia tagging library";
+    homepage = https://mutagen.readthedocs.io/;
+    license = licenses.lgpl2Plus;
+  };
+}
diff --git a/pkgs/development/python-modules/mysql-connector/default.nix b/pkgs/development/python-modules/mysql-connector/default.nix
index 6a2b3de0016..78069d49246 100644
--- a/pkgs/development/python-modules/mysql-connector/default.nix
+++ b/pkgs/development/python-modules/mysql-connector/default.nix
@@ -4,17 +4,20 @@
 
 buildPythonPackage rec {
   pname = "mysql-connector";
-  version = "8.0.6";
+  version = "8.0.11";
 
   src = fetchFromGitHub {
     owner = "mysql";
     repo = "mysql-connector-python";
     rev = version;
-    sha256 = "1ygr7va56da12yp3gr7kzss9zgbs28q2lmdkw16rpxj108id4rkp";
+    sha256 = "0w5sxy0zdkdj5cj35wwfjy9y8yn5yzk9biwwsglvhkqlkrms8fw1";
   };
 
   propagatedBuildInputs = [ protobuf ];
 
+  # Tests are failing (TODO: unknown reason)
+  # TypeError: __init__() missing 1 required positional argument: 'string'
+  # But the library should be working as expected.
   doCheck = false;
 
   meta = {
diff --git a/pkgs/development/python-modules/mysqlclient/default.nix b/pkgs/development/python-modules/mysqlclient/default.nix
new file mode 100644
index 00000000000..0be0f892d73
--- /dev/null
+++ b/pkgs/development/python-modules/mysqlclient/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, buildPythonPackage, fetchPypi, libmysql }:
+
+buildPythonPackage rec {
+  pname = "mysqlclient";
+  version = "1.3.12";
+
+  buildInputs = [
+    libmysql
+  ];
+
+  # Tests need a MySQL database
+  doCheck = false;
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "2d9ec33de39f4d9c64ad7322ede0521d85829ce36a76f9dd3d6ab76a9c8648e5";
+  };
+
+  meta = with stdenv.lib; {
+    description = "Python interface to MySQL";
+    homepage = "https://github.com/PyMySQL/mysqlclient-python";
+    license = licenses.gpl1;
+    maintainers = with maintainers; [ y0no ];
+  };
+}
diff --git a/pkgs/development/python-modules/nbxmpp/default.nix b/pkgs/development/python-modules/nbxmpp/default.nix
index 295354003ba..cb763552262 100644
--- a/pkgs/development/python-modules/nbxmpp/default.nix
+++ b/pkgs/development/python-modules/nbxmpp/default.nix
@@ -1,17 +1,30 @@
-{ stdenv, buildPythonPackage, fetchPypi }:
+{ stdenv, buildPythonPackage, fetchzip, pyopenssl }:
 
 buildPythonPackage rec {
   pname = "nbxmpp";
-  version = "0.6.3";
+  version = "0.6.5";
+  name = "${pname}-${version}";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "dd66e701a4856e3cace8f4865837ccc9bcfcdb286df01f01aa19531f5d834a83";
+  # Tests aren't included in PyPI tarball.
+  src = fetchzip {
+    name = "${name}.tar.bz2";
+    url = "https://dev.gajim.org/gajim/python-nbxmpp/repository/archive.tar.bz2?"
+        + "ref=${name}";
+    sha256 = "0b7jw07s4mnp20gcg8raw4bhw2h1hxf75cbn4f2ynj69fbpfr38h";
   };
 
+  propagatedBuildInputs = [ pyopenssl ];
+
+  checkPhase = ''
+    # Disable tests requiring networking
+    echo "" > test/unit/test_xmpp_transports_nb2.py
+    python test/runtests.py
+  '';
+
   meta = with stdenv.lib; {
     homepage = "https://dev.gajim.org/gajim/python-nbxmpp";
     description = "Non-blocking Jabber/XMPP module";
     license = licenses.gpl3;
+    maintainers = with maintainers; [ abbradar ];
   };
 }
diff --git a/pkgs/development/python-modules/neovim/default.nix b/pkgs/development/python-modules/neovim/default.nix
index 6fcd82aca9e..6d96732cbb0 100644
--- a/pkgs/development/python-modules/neovim/default.nix
+++ b/pkgs/development/python-modules/neovim/default.nix
@@ -11,11 +11,11 @@
 
 buildPythonPackage rec {
   pname = "neovim";
-  version = "0.2.1";
+  version = "0.2.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "16vzxmp7f6dl20n30j5cwwvrjj5h3c2ch8ldbss31anf36nirsdp";
+    sha256 = "0xlj54w9bnmq4vidk6r08hwa6az7drahi08w1qf4j9q45rs8mrbc";
   };
 
   checkInputs = [ nose ];
diff --git a/pkgs/development/python-modules/netdisco/default.nix b/pkgs/development/python-modules/netdisco/default.nix
index 96de3ee2836..412d42bafdd 100644
--- a/pkgs/development/python-modules/netdisco/default.nix
+++ b/pkgs/development/python-modules/netdisco/default.nix
@@ -1,8 +1,8 @@
-{ stdenv, buildPythonPackage, isPy3k, fetchFromGitHub, requests, zeroconf, netifaces, pytest }:
+{ stdenv, buildPythonPackage, isPy3k, fetchFromGitHub, fetchpatch, requests, zeroconf, netifaces, pytest }:
 
 buildPythonPackage rec {
   pname = "netdisco";
-  version = "1.2.4";
+  version = "1.4.0";
 
   disabled = !isPy3k;
 
@@ -11,7 +11,7 @@ buildPythonPackage rec {
     owner = "home-assistant";
     repo = pname;
     rev = version;
-    sha256 = "170s9py8rw07cfgwvv7mf69g8jjg32m2rgw8x3kbvjqlmrdijxmm";
+    sha256 = "0q1cl76a0fwxm80lkk7cpd4p23r2bvf1a45nb7n61cgzrqcv43q1";
   };
 
   propagatedBuildInputs = [ requests zeroconf netifaces ];
@@ -24,7 +24,7 @@ buildPythonPackage rec {
 
   meta = with stdenv.lib; {
     description = "Python library to scan local network for services and devices";
-    homepage = https://github.com/home-assistant/netdisco/;
+    homepage = https://github.com/home-assistant/netdisco;
     license = licenses.asl20;
     platforms = platforms.unix;
     maintainers = with maintainers; [ dotlambda ];
diff --git a/pkgs/development/python-modules/networkx/default.nix b/pkgs/development/python-modules/networkx/default.nix
index f6fc4139c85..3388aef9cef 100644
--- a/pkgs/development/python-modules/networkx/default.nix
+++ b/pkgs/development/python-modules/networkx/default.nix
@@ -3,32 +3,24 @@
 , fetchPypi
 , nose
 , decorator
-, isPy36
-, isPyPy
 }:
 
 buildPythonPackage rec {
   pname = "networkx";
-  version = "1.11";
-
-  # Currently broken on PyPy.
-  # https://github.com/networkx/networkx/pull/1361
-  disabled = isPyPy;
+  version = "2.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1f74s56xb4ggixiq0vxyfxsfk8p20c7a099lpcf60izv1php03hd";
+    extension = "zip";
+    sha256 = "64272ca418972b70a196cb15d9c85a5a6041f09a2f32e0d30c0255f25d458bb1";
   };
 
   checkInputs = [ nose ];
   propagatedBuildInputs = [ decorator ];
 
-  # 17 failures with 3.6 https://github.com/networkx/networkx/issues/2396#issuecomment-304437299
-  doCheck = !(isPy36);
-
   meta = {
     homepage = "https://networkx.github.io/";
     description = "Library for the creation, manipulation, and study of the structure, dynamics, and functions of complex networks";
     license = lib.licenses.bsd3;
   };
-}
\ No newline at end of file
+}
diff --git a/pkgs/development/python-modules/neurotools/default.nix b/pkgs/development/python-modules/neurotools/default.nix
new file mode 100644
index 00000000000..b117d7a79a3
--- /dev/null
+++ b/pkgs/development/python-modules/neurotools/default.nix
@@ -0,0 +1,35 @@
+{ stdenv, buildPythonPackage, fetchPypi, isPy3k
+, scipy, numpy, matplotlib, tables, pyaml, urllib3, rpy2, mpi4py }:
+
+buildPythonPackage rec {
+  pname = "NeuroTools";
+  version = "0.3.1";
+  disabled = isPy3k;
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0ly6qa87l3afhksab06vp1iimlbm1kdnsw98mxcnpzz9q07l4nd4";
+  };
+
+  # Tests are not automatically run
+  # Many tests fail (using py.test), and some need R
+  doCheck = false;
+
+  propagatedBuildInputs = [
+    scipy
+    numpy
+    matplotlib
+    tables
+    pyaml
+    urllib3
+    rpy2
+    mpi4py
+  ];
+
+  meta = with stdenv.lib; {
+    description = "Collection of tools to support analysis of neural activity";
+    homepage = https://pypi.python.org/pypi/NeuroTools;
+    license = licenses.gpl2;
+    maintainers = with maintainers; [ nico202 ];
+  };
+}
diff --git a/pkgs/development/python-modules/nevow/default.nix b/pkgs/development/python-modules/nevow/default.nix
new file mode 100644
index 00000000000..ccbb59c44dc
--- /dev/null
+++ b/pkgs/development/python-modules/nevow/default.nix
@@ -0,0 +1,41 @@
+{ stdenv, buildPythonPackage, fetchPypi, isPy3k, twisted }:
+
+buildPythonPackage rec {
+  pname = "Nevow";
+  version = "0.14.3";
+  disabled = isPy3k;
+
+  src = fetchPypi {
+    inherit version pname;
+    sha256 = "0pid8dj3p8ai715n9a59cryfxrrbxidpda3f8hvgmfpcrjdmnmmb";
+  };
+
+  propagatedBuildInputs = [ twisted ];
+
+  checkPhase = ''
+    trial formless nevow
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Nevow, a web application construction kit for Python";
+    longDescription = ''
+      Nevow - Pronounced as the French "nouveau", or "noo-voh", Nevow
+      is a web application construction kit written in Python.  It is
+      designed to allow the programmer to express as much of the view
+      logic as desired in Python, and includes a pure Python XML
+      expression syntax named stan to facilitate this.  However it
+      also provides rich support for designer-edited templates, using
+      a very small XML attribute language to provide bi-directional
+      template manipulation capability.
+
+      Nevow also includes formless, a declarative syntax for
+      specifying the types of method parameters and exposing these
+      methods to the web.  Forms can be rendered automatically, and
+      form posts will be validated and input coerced, rendering error
+      pages if appropriate.  Once a form post has validated
+      successfully, the method will be called with the coerced values.
+    '';
+    homepage = https://github.com/twisted/nevow;
+    license = licenses.mit;
+  };
+}
diff --git a/pkgs/development/python-modules/nilearn/default.nix b/pkgs/development/python-modules/nilearn/default.nix
index 6133abac705..ef4473e4066 100644
--- a/pkgs/development/python-modules/nilearn/default.nix
+++ b/pkgs/development/python-modules/nilearn/default.nix
@@ -3,12 +3,12 @@
 
 buildPythonPackage rec {
   pname = "nilearn";
-  version = "0.4.0";
+  version = "0.4.1";
   name = pname + "-" + version;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "bb692254bde35d7e1d3d1534d9b3117810b35a744724625f150fbbc64d519c02";
+    sha256 = "c2ef16d357d24699abced07e89a50d465c8fbaa8537f1a9d4d5cb8a612926dbc";
   };
 
   checkPhase = "nosetests --exclude with_expand_user nilearn/tests";
diff --git a/pkgs/development/python-modules/nipype/default.nix b/pkgs/development/python-modules/nipype/default.nix
index a38f23d5536..372eeeec94a 100644
--- a/pkgs/development/python-modules/nipype/default.nix
+++ b/pkgs/development/python-modules/nipype/default.nix
@@ -21,24 +21,33 @@
 , simplejson
 , traits
 , xvfbwrapper
+, pytestcov
+, codecov
 # other dependencies
 , which
+, bash
+, glibcLocales
 }:
 
 assert !isPy3k -> configparser != null;
 
 buildPythonPackage rec {
   pname = "nipype";
-  version = "1.0.0";
+  version = "1.0.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "4c14c6cae1f530f89d76fa8136d52488b1daf3a02179da65121b76eaf4a6f0ea";
+    sha256 = "17850c2a34f10f93d12c994101ce86b5a0b7e939e5b854e9f9920c9513cc8e76";
   };
 
-  doCheck = false;  # fails with TypeError: None is not callable
-  checkInputs = [ which ];
-  buildInputs = [ pytest mock ];  # required in installPhase
+  # see https://github.com/nipy/nipype/issues/2240
+  patches = [ ./prov-version.patch ];
+
+  postPatch = ''
+    substituteInPlace nipype/interfaces/base/tests/test_core.py \
+      --replace "/usr/bin/env bash" "${bash}/bin/bash"
+  '';
+
   propagatedBuildInputs = [
     click
     dateutil
@@ -59,6 +68,12 @@ buildPythonPackage rec {
     configparser
   ];
 
+  checkInputs = [ pytest mock pytestcov codecov which glibcLocales ];
+
+  checkPhase = ''
+    LC_ALL="en_US.UTF-8" py.test -v --doctest-modules nipype
+  '';
+
   meta = with stdenv.lib; {
     homepage = http://nipy.org/nipype/;
     description = "Neuroimaging in Python: Pipelines and Interfaces";
diff --git a/pkgs/development/python-modules/nipype/prov-version.patch b/pkgs/development/python-modules/nipype/prov-version.patch
new file mode 100644
index 00000000000..133295d0560
--- /dev/null
+++ b/pkgs/development/python-modules/nipype/prov-version.patch
@@ -0,0 +1,21 @@
+diff --git a/nipype/info.py b/nipype/info.py
+index 1daa382e2..da338d0ea 100644
+--- a/nipype/info.py
++++ b/nipype/info.py
+@@ -108,7 +108,6 @@ DATEUTIL_MIN_VERSION = '2.2'
+ PYTEST_MIN_VERSION = '3.0'
+ FUTURE_MIN_VERSION = '0.16.0'
+ SIMPLEJSON_MIN_VERSION = '3.8.0'
+-PROV_VERSION = '1.5.0'
+ CLICK_MIN_VERSION = '6.6.0'
+ PYDOT_MIN_VERSION = '1.2.3'
+ 
+@@ -140,7 +139,7 @@ REQUIRES = [
+     'traits>=%s' % TRAITS_MIN_VERSION,
+     'future>=%s' % FUTURE_MIN_VERSION,
+     'simplejson>=%s' % SIMPLEJSON_MIN_VERSION,
+-    'prov==%s' % PROV_VERSION,
++    'prov<2',
+     'click>=%s' % CLICK_MIN_VERSION,
+     'funcsigs',
+     'pytest>=%s' % PYTEST_MIN_VERSION,
diff --git a/pkgs/development/python-modules/node-semver/default.nix b/pkgs/development/python-modules/node-semver/default.nix
index 7351d2edfd3..9e4ba35680a 100644
--- a/pkgs/development/python-modules/node-semver/default.nix
+++ b/pkgs/development/python-modules/node-semver/default.nix
@@ -1,7 +1,6 @@
 { stdenv, fetchPypi, buildPythonPackage, pytest, tox }:
 
 buildPythonPackage rec {
-  name = "${pname}-${version}";
   version = "0.3.0";
   pname = "node-semver";
 
diff --git a/pkgs/development/python-modules/noise/default.nix b/pkgs/development/python-modules/noise/default.nix
new file mode 100644
index 00000000000..d136c41aa37
--- /dev/null
+++ b/pkgs/development/python-modules/noise/default.nix
@@ -0,0 +1,18 @@
+{ stdenv, buildPythonPackage, fetchPypi }:
+
+buildPythonPackage rec {
+  pname = "noise";
+  version = "1.2.2";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0rcv40dcshqpchwkdlhsv3n68h9swm9fh4d1cgzr2hsp6rs7k8jp";
+  };
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/caseman/noise;
+    description = "Native-code and shader implementations of Perlin noise";
+    license = licenses.mit;
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/development/python-modules/notebook/default.nix b/pkgs/development/python-modules/notebook/default.nix
index be5a798b6c6..37c5774bba2 100644
--- a/pkgs/development/python-modules/notebook/default.nix
+++ b/pkgs/development/python-modules/notebook/default.nix
@@ -1,4 +1,5 @@
-{ lib
+{ stdenv
+, lib
 , buildPythonPackage
 , fetchPypi
 , nose
@@ -23,16 +24,16 @@
 
 buildPythonPackage rec {
   pname = "notebook";
-  version = "5.4.0";
+  version = "5.4.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "dd431fad9bdd25aa9ff8265da096ef770475e21bf1d327982611a7de5cd904ca";
+    sha256 = "01l6yp78sp27vns4cxh8ybr7x0pixxn97cp0i3w6s0lv1v8l6qbx";
   };
 
   LC_ALL = "en_US.utf8";
 
-  buildInputs = [ nose glibcLocales ]
+  checkInputs = [ nose glibcLocales ]
     ++ (if isPy3k then [ nose_warnings_filters ] else [ mock ]);
 
   propagatedBuildInputs = [
@@ -43,12 +44,16 @@ buildPythonPackage rec {
   # disable warning_filters
   preCheck = lib.optionalString (!isPy3k) ''
     echo "" > setup.cfg
-    cat setup.cfg
   '';
+
   checkPhase = ''
     runHook preCheck
     mkdir tmp
-    HOME=tmp nosetests -v
+    HOME=tmp nosetests -v ${if (stdenv.isDarwin) then ''
+      --exclude test_delete \
+      --exclude test_checkpoints_follow_file
+    ''
+    else ""}
   '';
 
   meta = {
diff --git a/pkgs/development/python-modules/numba/default.nix b/pkgs/development/python-modules/numba/default.nix
index 97aad8c0928..e62fff7bca3 100644
--- a/pkgs/development/python-modules/numba/default.nix
+++ b/pkgs/development/python-modules/numba/default.nix
@@ -14,12 +14,12 @@
 }:
 
 buildPythonPackage rec {
-  version = "0.36.2";
+  version = "0.37.0";
   pname = "numba";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "d61597808ce511e81b64e32da664f52beb7d947bf834dde8b8b60b29d205e5c2";
+    sha256 = "c62121b2d384d8b4d244ef26c1cf8bb5cb819278a80b893bf41918ad6d391258";
   };
 
   NIX_CFLAGS_COMPILE = stdenv.lib.optionalString stdenv.isDarwin "-I${libcxx}/include/c++/v1";
diff --git a/pkgs/development/python-modules/numexpr/default.nix b/pkgs/development/python-modules/numexpr/default.nix
index e6fc5888fea..8ba4e0061fa 100644
--- a/pkgs/development/python-modules/numexpr/default.nix
+++ b/pkgs/development/python-modules/numexpr/default.nix
@@ -7,11 +7,11 @@
 
 buildPythonPackage rec {
   pname = "numexpr";
-  version = "2.6.4";
+  version = "2.6.5";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "f0bef9a3a5407fb8d6344cf91b658bef7c13ec8a8eb13f423822d9d2ca5af6ce";
+    sha256 = "f8ad8014085628eab91bc82fb9d10cf9ab8e04ede4884e4a1061445d395b36bb";
   };
 
   propagatedBuildInputs = [ numpy ];
diff --git a/pkgs/development/python-modules/numpy-stl/default.nix b/pkgs/development/python-modules/numpy-stl/default.nix
index 835e39cc43e..d05284b62dd 100644
--- a/pkgs/development/python-modules/numpy-stl/default.nix
+++ b/pkgs/development/python-modules/numpy-stl/default.nix
@@ -3,11 +3,11 @@
 buildPythonPackage rec {
   pname = "numpy-stl";
   name = "${pname}-${version}";
-  version = "2.3.2";
+  version = "2.4.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0w3f9yhw4mg88drqnn17gaqxbx941p3hg0rn8fsqrf5ry56h93k2";
+    sha256 = "33e88013ed2f4f9ec45598f0e0930a0d602ab3c49aa19e92703a867f37ffe520";
   };
 
   checkInputs = [ pytest pytestrunner ];
diff --git a/pkgs/development/python-modules/numpy/default.nix b/pkgs/development/python-modules/numpy/default.nix
index f32f417c391..3d64863c30d 100644
--- a/pkgs/development/python-modules/numpy/default.nix
+++ b/pkgs/development/python-modules/numpy/default.nix
@@ -1,25 +1,37 @@
-{lib, fetchPypi, python, buildPythonPackage, isPy27, isPyPy, gfortran, nose, blas}:
+{lib, fetchPypi, python, buildPythonPackage, isPy27, isPyPy, gfortran, nose, blas, hostPlatform }:
 
 buildPythonPackage rec {
   pname = "numpy";
-  version = "1.14.0";
-  name = "${pname}-${version}";
+  version = "1.14.3";
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "3de643935b212307b420248018323a44ec51987a336d1d747c1322afc3c099fb";
+    sha256 = "9016692c7d390f9d378fc88b7a799dc9caa7eb938163dda5276d3f3d6f75debf";
   };
 
   disabled = isPyPy;
   buildInputs = [ gfortran nose blas ];
 
   patches = lib.optionals (python.hasDistutilsCxxPatch or false) [
-    # See cpython 2.7 patches.
-    # numpy.distutils is used by cython during it's check phase
+    # We patch cpython/distutils to fix https://bugs.python.org/issue1222585
+    # Patching of numpy.distutils is needed to prevent it from undoing the
+    # patch to distutils.
     ./numpy-distutils-C++.patch
   ];
 
+  postPatch = lib.optionalString hostPlatform.isMusl ''
+    # Use fenv.h
+    sed -i \
+      numpy/core/src/npymath/ieee754.c.src \
+      numpy/core/include/numpy/ufuncobject.h \
+      -e 's/__GLIBC__/__linux__/'
+    # Don't use various complex trig functions
+    substituteInPlace numpy/core/src/private/npy_config.h \
+      --replace '#if defined(__GLIBC__)' "#if 1" \
+      --replace '#if !__GLIBC_PREREQ(2, 18)' "#if 1"
+  '';
+
   preConfigure = ''
     sed -i 's/-faltivec//' numpy/distutils/system_info.py
     export NPY_NUM_BUILD_JOBS=$NIX_BUILD_CORES
diff --git a/pkgs/development/python-modules/numpydoc/default.nix b/pkgs/development/python-modules/numpydoc/default.nix
index 3af324c8765..0e6fa25bd53 100644
--- a/pkgs/development/python-modules/numpydoc/default.nix
+++ b/pkgs/development/python-modules/numpydoc/default.nix
@@ -8,12 +8,12 @@
 
 buildPythonPackage rec {
   pname = "numpydoc";
-  version = "0.7.0";
+  version = "0.8.0";
 
   src = fetchPypi {
     inherit pname;
     inherit version;
-    sha256 = "2dc7b2c4e3914745e38e370946fa4c109817331e6d450806285c08bce5cd575a";
+    sha256 = "61f4bf030937b60daa3262e421775838c945dcdd671f37b69e8e4854c7eb5ffd";
   };
 
   checkInputs = [ nose ];
diff --git a/pkgs/development/python-modules/oauth2client/default.nix b/pkgs/development/python-modules/oauth2client/default.nix
new file mode 100644
index 00000000000..81742a99da8
--- /dev/null
+++ b/pkgs/development/python-modules/oauth2client/default.nix
@@ -0,0 +1,21 @@
+{ lib, buildPythonPackage, fetchPypi
+, six, httplib2, pyasn1-modules, rsa }:
+
+buildPythonPackage rec {
+  pname = "oauth2client";
+  version = "4.1.2";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "bd3062c06f8b10c6ef7a890b22c2740e5f87d61b6e1f4b1c90d069cdfc9dadb5";
+  };
+
+  propagatedBuildInputs = [ six httplib2 pyasn1-modules rsa ];
+  doCheck = false;
+
+  meta = with lib; {
+    description = "A client library for OAuth 2.0";
+    homepage = https://github.com/google/oauth2client/;
+    license = licenses.bsd2;
+  };
+}
diff --git a/pkgs/development/python-modules/odo/default.nix b/pkgs/development/python-modules/odo/default.nix
index 73b3f0be150..f18420b676b 100644
--- a/pkgs/development/python-modules/odo/default.nix
+++ b/pkgs/development/python-modules/odo/default.nix
@@ -1,6 +1,6 @@
 { lib
 , buildPythonPackage
-, fetchPypi
+, fetchFromGitHub
 , pytest
 , datashape
 , numpy
@@ -8,23 +8,28 @@
 , toolz
 , multipledispatch
 , networkx
+, dask
 }:
 
 buildPythonPackage rec {
   pname = "odo";
-  version= "0.5.0";
-  name = "${pname}-${version}";
+  version= "0.5.1";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "1mh5k69d9ph9jd07jl9yqh78rbnh5cjspi1q530v3ml7ivjzz4p8";
+
+  src = fetchFromGitHub {
+    owner = "blaze";
+    repo = pname;
+    rev = version;
+    sha256 = "142f4jvaqjn0dq6rvlk7d7mzcmc255a9z4nxc1b3a862hp4gvijs";
   };
 
-  checkInputs = [ pytest ];
+  checkInputs = [ pytest dask ];
   propagatedBuildInputs = [ datashape numpy pandas toolz multipledispatch networkx ];
 
+  # Disable failing tests
+  # https://github.com/blaze/odo/issues/609
   checkPhase = ''
-    py.test odo/tests
+    py.test -k "not test_numpy_asserts_type_after_dataframe" odo/tests
   '';
 
   meta = {
@@ -32,5 +37,8 @@ buildPythonPackage rec {
     description = "Data migration utilities";
     license = lib.licenses.bsdOriginal;
     maintainers = with lib.maintainers; [ fridh ];
+    # incomaptible with Networkx 2
+    # see https://github.com/blaze/odo/pull/601
+    broken = true;
   };
-}
\ No newline at end of file
+}
diff --git a/pkgs/development/python-modules/ofxhome/default.nix b/pkgs/development/python-modules/ofxhome/default.nix
new file mode 100644
index 00000000000..3d412e1409c
--- /dev/null
+++ b/pkgs/development/python-modules/ofxhome/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, buildPythonPackage, fetchPypi, nose }:
+
+buildPythonPackage rec {
+  name = "${pname}-${version}";
+  version = "0.3.3";
+  pname = "ofxhome";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1rpyfqr2q9pnin47rjd4qapl8ngk1m9jx36iqckhdhr8s8gla445";
+  };
+
+  buildInputs = [ nose ];
+
+  # ImportError: No module named tests
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    homepage = "https://github.com/captin411/ofxhome";
+    description = "ofxhome.com financial institution lookup REST client";
+    license = licenses.mit;
+  };
+}
diff --git a/pkgs/development/python-modules/onkyo-eiscp/default.nix b/pkgs/development/python-modules/onkyo-eiscp/default.nix
index c0a1e39b384..a4adc1f2a6f 100644
--- a/pkgs/development/python-modules/onkyo-eiscp/default.nix
+++ b/pkgs/development/python-modules/onkyo-eiscp/default.nix
@@ -3,12 +3,12 @@
 
 buildPythonPackage rec {
   pname = "onkyo-eiscp";
-  version = "1.2.4";
+  version = "1.2.5";
   name = "${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0qb5w2g2cnckq7psh92g1w3gf76437x1vwfhwnd247wshs5h7hxj";
+    sha256 = "cfcca6bc6c36992095f5aa4a15870a3ef89b9a26d991da2333891c2675d4ef1b";
   };
 
   propagatedBuildInputs = [ docopt netifaces ];
diff --git a/pkgs/development/python-modules/openidc-client/default.nix b/pkgs/development/python-modules/openidc-client/default.nix
index 9380654f472..d1aaebee5c0 100644
--- a/pkgs/development/python-modules/openidc-client/default.nix
+++ b/pkgs/development/python-modules/openidc-client/default.nix
@@ -2,12 +2,12 @@
 
 buildPythonPackage rec {
   pname = "openidc-client";
-  version = "0.2.0";
+  version = "0.5.0";
   name = "${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1fca4bpnswyji5nivsrbak5vsfphl4njyfrb8rm2034nq6mzb8ah";
+    sha256 = "59d59d6fbfd26c5b57c53e582bdf2379274602f96133a163e7ff1ef39c363353";
   };
   propagatedBuildInputs = [ requests ];
 
diff --git a/pkgs/development/python-modules/openpyxl/default.nix b/pkgs/development/python-modules/openpyxl/default.nix
index fe13b575afc..09e3bde6f8a 100644
--- a/pkgs/development/python-modules/openpyxl/default.nix
+++ b/pkgs/development/python-modules/openpyxl/default.nix
@@ -9,12 +9,12 @@
 
 buildPythonPackage rec {
   pname = "openpyxl";
-  version = "2.5.0";
+  version = "2.5.3";
   name = "${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0ff2e0c2c85cbf42e82dd223e7f2401a62dc73c18cd9e5dd7763dc6c8014ebde";
+    sha256 = "0046fca88d6731875a385bf7edd689d7c4133f829203ea615a81291de3fa48b6";
   };
 
   checkInputs = [ pytest ];
diff --git a/pkgs/development/python-modules/opentimestamps/default.nix b/pkgs/development/python-modules/opentimestamps/default.nix
new file mode 100644
index 00000000000..370378f097a
--- /dev/null
+++ b/pkgs/development/python-modules/opentimestamps/default.nix
@@ -0,0 +1,31 @@
+{ lib, buildPythonPackage, fetchFromGitHub, isPy3k
+, bitcoinlib, GitPython, pysha3 }:
+
+buildPythonPackage rec {
+  pname = "opentimestamps";
+  version = "0.3.0";
+  disabled = (!isPy3k);
+
+  # We can't use the pypi source because it doesn't include README.md which is
+  # needed in setup.py
+  src = fetchFromGitHub {
+    owner = "opentimestamps";
+    repo = "python-opentimestamps";
+    rev = "python-opentimestamps-v${version}";
+    sha256 = "1i843mbz4h9vqc3y2x09ix6bv9wc0gzq36zhbnmf5by08iaiydks";
+  };
+
+  # Remove a failing test which expects the test source file to reside in the
+  # project's Git repo
+  patchPhase = ''
+    rm opentimestamps/tests/core/test_git.py
+  '';
+
+  propagatedBuildInputs = [ bitcoinlib GitPython pysha3 ];
+
+  meta = {
+    description = "Create and verify OpenTimestamps proofs";
+    homepage = https://github.com/opentimestamps/python-opentimestamps;
+    license = lib.licenses.lgpl3;
+  };
+}
diff --git a/pkgs/development/python-modules/oset/default.nix b/pkgs/development/python-modules/oset/default.nix
new file mode 100644
index 00000000000..aa435b403e8
--- /dev/null
+++ b/pkgs/development/python-modules/oset/default.nix
@@ -0,0 +1,19 @@
+{ stdenv, buildPythonPackage, fetchPypi }:
+
+buildPythonPackage rec {
+  pname = "oset";
+  version = "0.1.3";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "017rr1m72s2fh9bmz5vrvc5mshczgzisi5894v9zkvvfr7gdf7sc";
+  };
+
+  doCheck = false;
+
+  meta = {
+    description = "Ordered set";
+    license = stdenv.lib.licenses.psfl;
+  };
+
+}
diff --git a/pkgs/development/python-modules/outcome/default.nix b/pkgs/development/python-modules/outcome/default.nix
new file mode 100644
index 00000000000..e91925c75d5
--- /dev/null
+++ b/pkgs/development/python-modules/outcome/default.nix
@@ -0,0 +1,27 @@
+{ lib, buildPythonPackage, fetchPypi, pythonOlder
+, attrs
+, pytest
+}:
+
+buildPythonPackage rec {
+  pname = "outcome";
+  version = "0.1.0a0";
+  disabled = pythonOlder "3.4";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0cqwakzigw0602dxlb7c1882jwr8hn5nrxk1l8iwlmzc9whh48wn";
+  };
+
+  checkInputs = [ pytest ];
+  propagatedBuildInputs = [ attrs ];
+  # Has a test dependency on trio, which depends on outcome.
+  doCheck = false;
+
+  meta = {
+    description = "Capture the outcome of Python function calls.";
+    homepage = https://github.com/python-trio/outcome;
+    license = with lib.licenses; [ mit asl20 ];
+    maintainers = with lib.maintainers; [ catern ];
+  };
+}
diff --git a/pkgs/development/python-modules/packaging/default.nix b/pkgs/development/python-modules/packaging/default.nix
index f335bfa135f..6c72947fff6 100644
--- a/pkgs/development/python-modules/packaging/default.nix
+++ b/pkgs/development/python-modules/packaging/default.nix
@@ -3,11 +3,11 @@
 
 buildPythonPackage rec {
   pname = "packaging";
-  version = "16.8";
+  version = "17.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "5d50835fdf0a7edf0b55e311b7c887786504efea1177abd7e69329a8e5ea619e";
+    sha256 = "f019b770dd64e585a99714f1fd5e01c7a8f11b45635aa953fd41c689a657375b";
   };
 
   propagatedBuildInputs = [ pyparsing six ];
diff --git a/pkgs/development/python-modules/pandas/0.17.1.nix b/pkgs/development/python-modules/pandas/0.17.1.nix
index 02b8211a256..274cf1b2834 100644
--- a/pkgs/development/python-modules/pandas/0.17.1.nix
+++ b/pkgs/development/python-modules/pandas/0.17.1.nix
@@ -27,12 +27,12 @@ let
   inherit (stdenv) isDarwin;
 in buildPythonPackage rec {
   pname = "pandas";
-  version = "0.17.1";
+  version = "0.22.0";
   name = "${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "cfd7214a7223703fe6999fbe34837749540efee1c985e6aee9933f30e3f72837";
+    sha256 = "44a94091dd71f05922eec661638ec1a35f26d573c119aa2fad964f10a2880e6c";
   };
 
   LC_ALL = "en_US.UTF-8";
diff --git a/pkgs/development/python-modules/paramz/default.nix b/pkgs/development/python-modules/paramz/default.nix
index 3d9fd2afaca..daca12f66c0 100644
--- a/pkgs/development/python-modules/paramz/default.nix
+++ b/pkgs/development/python-modules/paramz/default.nix
@@ -2,12 +2,12 @@
 
 buildPythonPackage rec {
   pname = "paramz";
-  version = "0.8.5";
+  version = "0.9.1";
   name  = "${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "297e59b48e57e78e15f547b1af8b21ddfd19a6312d70b9dc07c7262711adfed9";
+    sha256 = "8a5a2fe5cdb033eb869c49e81fde2a9d0055fadb53a8af1665a7f48f320179cf";
   };
 
   propagatedBuildInputs = [ numpy scipy six decorator ];
diff --git a/pkgs/development/python-modules/parse-type/default.nix b/pkgs/development/python-modules/parse-type/default.nix
index 8c927e4aed0..ac150af4b78 100644
--- a/pkgs/development/python-modules/parse-type/default.nix
+++ b/pkgs/development/python-modules/parse-type/default.nix
@@ -6,21 +6,13 @@
 
 buildPythonPackage rec {
   pname = "parse_type";
-  version = "0.3.4";
+  version = "0.4.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "3dd0b323bafcb8c25e000ce5589042a1c99cba9c3bec77b9f591e46bc9606147";
+    sha256 = "0g3b6gsdwnm8dpkh2vn34q6dzxm9gl908ggyzcv31n9xbp3vv5pm";
   };
 
-  patches = [
-    (fetchpatch {
-      name = "python-3.5-tests-compat.patch";
-      url = "https://github.com/jenisys/parse_type/pull/4.patch";
-      sha256 = "1mmn2fxss6q3qhaydd4s4v8vjgvgkg41v1vcivrzdsvgsc3npg7m";
-    })
-  ];
-
   checkInputs = [ pytest pytestrunner ];
   propagatedBuildInputs = [ parse six ] ++ stdenv.lib.optional (pythonOlder "3.4") enum34;
 
diff --git a/pkgs/development/python-modules/parse/default.nix b/pkgs/development/python-modules/parse/default.nix
index eaca200e2bf..36153c10229 100644
--- a/pkgs/development/python-modules/parse/default.nix
+++ b/pkgs/development/python-modules/parse/default.nix
@@ -3,22 +3,14 @@
 }:
 buildPythonPackage rec {
   pname = "parse";
-  version = "1.6.6";
+  version = "1.8.2";
   name = "${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "71435aaac494e08cec76de646de2aab8392c114e56fe3f81c565ecc7eb886178";
+    sha256 = "1lj9v1q4imszyhvipb6drsm3xdl35nan011mqxxas1yaypixsj40";
   };
 
-  patches = [
-    (fetchpatch {
-      name = "python-3.5-tests-compat.patch";
-      url = "https://github.com/r1chardj0n3s/parse/pull/34.patch";
-      sha256 = "16iicgkf3lwivmdnp3xkq4n87wjmr3nb77z8mwz67b7by9nnp3jg";
-    })
-  ];
-
   checkPhase = ''
     ${python.interpreter} test_parse.py
   '';
diff --git a/pkgs/development/python-modules/patator/default.nix b/pkgs/development/python-modules/patator/default.nix
new file mode 100644
index 00000000000..46601c16755
--- /dev/null
+++ b/pkgs/development/python-modules/patator/default.nix
@@ -0,0 +1,40 @@
+{ stdenv, buildPythonPackage, isPy3k, fetchPypi,
+  paramiko, pycurl, ajpy, pyopenssl, cx_oracle, mysqlclient,
+  psycopg2, pycrypto, dnspython, ipy, pysnmp, pyasn1 }:
+
+
+buildPythonPackage rec {
+  pname = "patator";
+  version = "0.7";
+  disabled = !(isPy3k);
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "335e432e6cc591437e316ba8c1da935484ca39fc79e595ccf60ccd9166e965f1";
+  };
+
+  propagatedBuildInputs = [
+    paramiko
+    pycurl
+    ajpy
+    pyopenssl
+    cx_oracle
+    mysqlclient
+    psycopg2
+    pycrypto
+    dnspython
+    ipy
+    pysnmp
+    pyasn1
+  ];
+
+  # No tests provided by patator
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    description = "multi-purpose brute-forcer";
+    homepage = "https://github.com/lanjelot/patator";
+    license = licenses.gpl2;
+    maintainers = with maintainers; [ y0no ];
+  };
+}
diff --git a/pkgs/development/python-modules/path.py/default.nix b/pkgs/development/python-modules/path.py/default.nix
index 53754fd3dc2..ea780f964f4 100644
--- a/pkgs/development/python-modules/path.py/default.nix
+++ b/pkgs/development/python-modules/path.py/default.nix
@@ -10,12 +10,12 @@
 
 buildPythonPackage rec {
   pname = "path.py";
-  version = "11.0";
+  version = "11.0.1";
   name = pname + "-" + version;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "16134e5b287aba4a4125a6722e7837cf2a149fccc5000c500ae6c71a5525488b";
+    sha256 = "e7eb9d0ca4110d9b4d7c9baa0696d8c94f837d622409cefc5ec9e7c3d02ea11f";
   };
 
   checkInputs = [ pytest pytestrunner glibcLocales packaging ];
@@ -30,6 +30,8 @@ buildPythonPackage rec {
   };
 
   checkPhase = ''
+    # Ignore pytest configuration
+    rm pytest.ini
     py.test test_path.py
   '';
 }
diff --git a/pkgs/development/python-modules/pathlib2/default.nix b/pkgs/development/python-modules/pathlib2/default.nix
index 09d759c97ee..7ba0966de02 100644
--- a/pkgs/development/python-modules/pathlib2/default.nix
+++ b/pkgs/development/python-modules/pathlib2/default.nix
@@ -10,11 +10,11 @@
 
 if !(pythonOlder "3.4") then null else buildPythonPackage rec {
   pname = "pathlib2";
-  version = "2.3.0";
+  version = "2.3.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "d32550b75a818b289bd4c1f96b60c89957811da205afcceab75bc8b4857ea5b3";
+    sha256 = "8eb170f8d0d61825e09a95b38be068299ddeda82f35e96c3301a8a5e7604cb83";
   };
 
   propagatedBuildInputs = [ six ] ++ lib.optional (pythonOlder "3.5") scandir;
diff --git a/pkgs/development/python-modules/pathspec/default.nix b/pkgs/development/python-modules/pathspec/default.nix
index bf74906d9e5..4d812ec3b4f 100644
--- a/pkgs/development/python-modules/pathspec/default.nix
+++ b/pkgs/development/python-modules/pathspec/default.nix
@@ -5,12 +5,12 @@
 
 buildPythonPackage rec {
   pname   = "pathspec";
-  version = "0.5.5";
+  version = "0.5.6";
   name    = "${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "72c495d1bbe76674219e307f6d1c6062f2e1b0b483a5e4886435127d0df3d0d3";
+    sha256 = "be664567cf96a718a68b33329862d1e6f6803ef9c48a6e2636265806cfceb29d";
   };
 
   meta = {
diff --git a/pkgs/development/python-modules/patsy/default.nix b/pkgs/development/python-modules/patsy/default.nix
new file mode 100644
index 00000000000..9efa3126ce3
--- /dev/null
+++ b/pkgs/development/python-modules/patsy/default.nix
@@ -0,0 +1,36 @@
+{ lib
+, fetchPypi
+, buildPythonPackage
+, nose
+, six
+, numpy
+, scipy # optional, allows spline-related features (see patsy's docs)
+, parameterized
+}:
+
+buildPythonPackage rec {
+  pname = "patsy";
+  version = "0.5.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0fw888zd2s7f5zxm9f98ss93qhwv0sqnbdy21ipj33ccqgakhpz0";
+  };
+
+  checkInputs = [ nose parameterized ];
+  checkPhase = "nosetests -v";
+
+  propagatedBuildInputs = [
+    six
+    numpy
+    scipy
+  ];
+
+  meta = {
+    description = "A Python package for describing statistical models";
+    homepage = https://github.com/pydata/patsy;
+    license = lib.licenses.bsd2;
+    maintainers = with lib.maintainers; [ ilya-kolpakov ];
+  };
+}
+
diff --git a/pkgs/development/python-modules/paypalrestsdk/default.nix b/pkgs/development/python-modules/paypalrestsdk/default.nix
new file mode 100644
index 00000000000..dbc918e6c0d
--- /dev/null
+++ b/pkgs/development/python-modules/paypalrestsdk/default.nix
@@ -0,0 +1,20 @@
+{ buildPythonPackage, fetchPypi
+, requests, six, pyopenssl }:
+
+buildPythonPackage rec {
+  pname = "paypalrestsdk";
+  version = "1.13.1";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "238713208031e8981bf70b3350b3d7f85ed64d34e0f21e4c1184444a546fee7f";
+  };
+
+  propagatedBuildInputs = [ requests six pyopenssl ];
+
+  meta = {
+    homepage = https://developer.paypal.com/;
+    description = "Python APIs to create, process and manage payment";
+    license = "PayPal SDK License";
+  };
+}
diff --git a/pkgs/development/python-modules/pbkdf2/default.nix b/pkgs/development/python-modules/pbkdf2/default.nix
new file mode 100644
index 00000000000..c83cada08f2
--- /dev/null
+++ b/pkgs/development/python-modules/pbkdf2/default.nix
@@ -0,0 +1,18 @@
+{ stdenv, buildPythonPackage, fetchPypi }:
+
+buildPythonPackage rec {
+  pname = "pbkdf2";
+  version = "1.3";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0yb99rl2mbsaamj571s1mf6vgniqh23v98k4632150hjkwv9fqxc";
+  };
+
+  # ImportError: No module named test
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    maintainers = with maintainers; [ domenkozar ];
+  };
+}
diff --git a/pkgs/development/python-modules/pbr/default.nix b/pkgs/development/python-modules/pbr/default.nix
index 75052f27151..9b249f0a2b6 100644
--- a/pkgs/development/python-modules/pbr/default.nix
+++ b/pkgs/development/python-modules/pbr/default.nix
@@ -2,12 +2,12 @@
 
 buildPythonPackage rec {
   pname = "pbr";
-  version = "3.1.1";
+  version = "4.0.2";
   name = "${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "05f61c71aaefc02d8e37c0a3eeb9815ff526ea28b3b76324769e6158d7f95be1";
+    sha256 = "dae4aaa78eafcad10ce2581fc34d694faa616727837fd8e55c1a00951ad6744f";
   };
 
   # circular dependencies with fixtures
diff --git a/pkgs/development/python-modules/pecan/default.nix b/pkgs/development/python-modules/pecan/default.nix
index 3a49a32a8a0..c6c5b99d980 100644
--- a/pkgs/development/python-modules/pecan/default.nix
+++ b/pkgs/development/python-modules/pecan/default.nix
@@ -30,6 +30,6 @@ buildPythonPackage rec {
 
   meta = with stdenv.lib; {
     description = "Pecan";
-    homepage = "http://github.com/pecan/pecan";
+    homepage = "https://github.com/pecan/pecan";
   };
 }
diff --git a/pkgs/development/python-modules/pendulum/default.nix b/pkgs/development/python-modules/pendulum/default.nix
index 12d5c82d511..f603c98e6d8 100644
--- a/pkgs/development/python-modules/pendulum/default.nix
+++ b/pkgs/development/python-modules/pendulum/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "pendulum";
-  version = "1.4.1";
+  version = "1.4.4";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "3f16fb759e6126dd89d49886f8100caa72e5ab36563bc148b4f7eddfa0099c0f";
+    sha256 = "601e52cb0425e94b1784b6613a9085e0066ae1fa1915d18771884b67e93cac5c";
   };
 
   propagatedBuildInputs = [ dateutil pytzdata tzlocal ];
diff --git a/pkgs/development/python-modules/periodictable/default.nix b/pkgs/development/python-modules/periodictable/default.nix
new file mode 100644
index 00000000000..e77c281e2c4
--- /dev/null
+++ b/pkgs/development/python-modules/periodictable/default.nix
@@ -0,0 +1,20 @@
+{lib, fetchPypi, buildPythonPackage, numpy, pyparsing}:
+
+buildPythonPackage rec{
+  pname = "periodictable";
+  version = "1.5.0";
+
+  propagatedBuildInputs = [numpy pyparsing];
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1cjk6aqcz41nxm4fpriz01vqdafd6g57cjk0wh1iklk5cx6c085h";
+  };
+
+  meta = {
+    homepage = http://www.reflectometry.org/danse/software.html;
+    description = "an extensible periodic table of the elements prepopulated with data important to neutron and x-ray scattering experiments";
+    license = lib.licenses.publicDomain;
+    maintainers = with lib.maintainers; [ rprospero ];
+  };
+}
diff --git a/pkgs/development/python-modules/phonenumbers/default.nix b/pkgs/development/python-modules/phonenumbers/default.nix
index 14e59ce3a95..5f1c1b76704 100644
--- a/pkgs/development/python-modules/phonenumbers/default.nix
+++ b/pkgs/development/python-modules/phonenumbers/default.nix
@@ -2,12 +2,12 @@
 
 buildPythonPackage rec {
   pname = "phonenumbers";
-  version = "8.8.9";
+  version = "8.9.5";
   name = "${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "d819299c3aa8f85f248295ab8559e202af429b4017301b122a0b4c387aed10d2";
+    sha256 = "09swdf3f9sdvqyyzkap93012m9fnhamizf42d5kzpdjwikvsfx8x";
   };
 
   meta = {
diff --git a/pkgs/development/python-modules/pillow/default.nix b/pkgs/development/python-modules/pillow/default.nix
index 03474825527..e9a0acac1cb 100644
--- a/pkgs/development/python-modules/pillow/default.nix
+++ b/pkgs/development/python-modules/pillow/default.nix
@@ -6,12 +6,12 @@
 }:
 buildPythonPackage rec {
   pname = "Pillow";
-  version = "5.0.0";
+  version = "5.1.0";
   name = "${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "12f29d6c23424f704c66b5b68c02fe0b571504459605cfe36ab8158359b0e1bb";
+    sha256 = "cee9bc75bff455d317b6947081df0824a8f118de2786dc3d74a3503fd631f4ef";
   };
 
   doCheck = !stdenv.isDarwin && !isPyPy;
@@ -31,6 +31,14 @@ buildPythonPackage rec {
     ++ stdenv.lib.optionals (isPyPy) [ tk libX11 ];
 
   # NOTE: we use LCMS_ROOT as WEBP root since there is not other setting for webp.
+  # NOTE: The Pillow install script will, by default, add paths like /usr/lib
+  # and /usr/include to the search paths. This can break things when building
+  # on a non-NixOS system that has some libraries installed that are not
+  # installed in Nix (for example, Arch Linux has jpeg2000 but Nix doesn't
+  # build Pillow with this support). We patch the `disable_platform_guessing`
+  # setting here, instead of passing the `--disable-platform-guessing`
+  # command-line option, since the command-line option doesn't work when we run
+  # tests.
   preConfigure = let
     libinclude' = pkg: ''"${pkg.out}/lib", "${pkg.out}/include"'';
     libinclude = pkg: ''"${pkg.out}/lib", "${pkg.dev}/include"'';
@@ -41,7 +49,8 @@ buildPythonPackage rec {
             s|^ZLIB_ROOT =.*$|ZLIB_ROOT = ${libinclude zlib}|g ;
             s|^LCMS_ROOT =.*$|LCMS_ROOT = ${libinclude lcms2}|g ;
             s|^TIFF_ROOT =.*$|TIFF_ROOT = ${libinclude libtiff}|g ;
-            s|^TCL_ROOT=.*$|TCL_ROOT = ${libinclude' tcl}|g ;'
+            s|^TCL_ROOT=.*$|TCL_ROOT = ${libinclude' tcl}|g ;
+            s|self\.disable_platform_guessing = None|self.disable_platform_guessing = True|g ;'
     export LDFLAGS="-L${libwebp}/lib"
     export CFLAGS="-I${libwebp}/include"
   ''
diff --git a/pkgs/development/python-modules/pip-tools/default.nix b/pkgs/development/python-modules/pip-tools/default.nix
index 752047d04f7..926b625f700 100644
--- a/pkgs/development/python-modules/pip-tools/default.nix
+++ b/pkgs/development/python-modules/pip-tools/default.nix
@@ -3,12 +3,12 @@
 
 buildPythonPackage rec {
   pname = "pip-tools";
-  version = "1.11.0";
+  version = "2.0.2";
   name = pname + "-" + version;
 
   src = fetchurl {
     url = "mirror://pypi/p/pip-tools/${name}.tar.gz";
-    sha256 = "ba427b68443466c389e3b0b0ef55f537ab39344190ea980dfebb333d0e6a50a3";
+    sha256 = "f11fc3bf1d87a0b4a68d4d595f619814e2396e92d75d7bdd2500edbf002ea6de";
   };
 
   LC_ALL = "en_US.UTF-8";
@@ -22,6 +22,8 @@ buildPythonPackage rec {
     "test_generate_hashes_without_interfering_with_each_other"
     "test_realistic_complex_sub_dependencies"
     "test_generate_hashes_with_editable"
+    "test_filter_pip_markes"
+    "test_get_hashes_local_repository_cache_miss"
     # Expect specific version of "six":
     "test_editable_package"
     "test_input_file_without_extension"
diff --git a/pkgs/development/python-modules/pip/default.nix b/pkgs/development/python-modules/pip/default.nix
new file mode 100644
index 00000000000..20558312f29
--- /dev/null
+++ b/pkgs/development/python-modules/pip/default.nix
@@ -0,0 +1,34 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, mock
+, scripttest
+, virtualenv
+, pretend
+, pytest
+}:
+
+buildPythonPackage rec {
+  pname = "pip";
+  version = "10.0.1";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "f2bd08e0cd1b06e10218feaf6fef299f473ba706582eb3bd9d52203fdbd7ee68";
+  };
+
+  # pip detects that we already have bootstrapped_pip "installed", so we need
+  # to force it a little.
+  installFlags = [ "--ignore-installed" ];
+
+  checkInputs = [ mock scripttest virtualenv pretend pytest ];
+  # Pip wants pytest, but tests are not distributed
+  doCheck = false;
+
+  meta = {
+    description = "The PyPA recommended tool for installing Python packages";
+    license = lib.licenses.mit;
+    homepage = https://pip.pypa.io/;
+    priority = 10;
+  };
+}
diff --git a/pkgs/development/python-modules/pkginfo/default.nix b/pkgs/development/python-modules/pkginfo/default.nix
new file mode 100644
index 00000000000..db323e671d4
--- /dev/null
+++ b/pkgs/development/python-modules/pkginfo/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, buildPythonPackage, fetchPypi }:
+
+buildPythonPackage rec {
+  pname = "pkginfo";
+  version = "1.4.2";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "5878d542a4b3f237e359926384f1dde4e099c9f5525d236b1840cf704fa8d474";
+  };
+
+  doCheck = false; # I don't know why, but with doCheck = true it fails.
+
+  meta = with stdenv.lib; {
+    homepage = https://pypi.python.org/pypi/pkginfo;
+    license = licenses.mit;
+    description = "Query metadatdata from sdists / bdists / installed packages";
+
+    longDescription = ''
+      This package provides an API for querying the distutils metadata
+      written in the PKG-INFO file inside a source distriubtion (an sdist)
+      or a binary distribution (e.g., created by running bdist_egg). It can
+      also query the EGG-INFO directory of an installed distribution, and the
+      *.egg-info stored in a “development checkout” (e.g, created by running
+      setup.py develop).
+    '';
+  };
+}
diff --git a/pkgs/development/python-modules/plaster-pastedeploy/default.nix b/pkgs/development/python-modules/plaster-pastedeploy/default.nix
index 03182c90265..336a098c3a3 100644
--- a/pkgs/development/python-modules/plaster-pastedeploy/default.nix
+++ b/pkgs/development/python-modules/plaster-pastedeploy/default.nix
@@ -5,12 +5,12 @@
 
 buildPythonPackage rec {
   pname = "plaster_pastedeploy";
-  version = "0.4.2";
+  version = "0.5";
   name = "${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "2a401228c7cfbe38f728249e75af7a666f91c61d642cbb8fcb78a71df69d2754";
+    sha256 = "70a3185b2a3336996a26e9987968cf35e84cf13390b7e8a0a9a91eb8f6f85ba9";
   };
 
   checkPhase = ''
diff --git a/pkgs/development/python-modules/plotly/default.nix b/pkgs/development/python-modules/plotly/default.nix
index a202ef8b85a..09a465b96d7 100644
--- a/pkgs/development/python-modules/plotly/default.nix
+++ b/pkgs/development/python-modules/plotly/default.nix
@@ -10,12 +10,12 @@
 
 buildPythonPackage rec {
   pname = "plotly";
-  version = "2.4.0";
+  version = "2.5.1";
   name = "${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "8e7ee039231fec52b0b38d45e7470f70b117f6527b08cc922d74992f4d082858";
+    sha256 = "9dd816c36271cf81d82c854fba866c743cbd8cc71f1c95384195307def859a69";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/ply/default.nix b/pkgs/development/python-modules/ply/default.nix
new file mode 100644
index 00000000000..ae55cac642f
--- /dev/null
+++ b/pkgs/development/python-modules/ply/default.nix
@@ -0,0 +1,42 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, python
+}:
+
+buildPythonPackage rec {
+  pname = "ply";
+  version = "3.11";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "00c7c1aaa88358b9c765b6d3000c6eec0ba42abca5351b095321aef446081da3";
+  };
+
+  checkPhase = ''
+    ${python.interpreter} test/testlex.py
+    ${python.interpreter} test/testyacc.py
+  '';
+
+  # Test suite appears broken
+  doCheck = false;
+
+  meta = {
+    homepage = http://www.dabeaz.com/ply/;
+    description = "PLY (Python Lex-Yacc), an implementation of the lex and yacc parsing tools for Python";
+    longDescription = ''
+      PLY is an implementation of lex and yacc parsing tools for Python.
+      In a nutshell, PLY is nothing more than a straightforward lex/yacc
+      implementation.  Here is a list of its essential features: It's
+      implemented entirely in Python; It uses LR-parsing which is
+      reasonably efficient and well suited for larger grammars; PLY
+      provides most of the standard lex/yacc features including support for
+      empty productions, precedence rules, error recovery, and support for
+      ambiguous grammars; PLY is straightforward to use and provides very
+      extensive error checking; PLY doesn't try to do anything more or less
+      than provide the basic lex/yacc functionality.  In other words, it's
+      not a large parsing framework or a component of some larger system.
+    '';
+    license = lib.licenses.bsd3;
+  };
+}
\ No newline at end of file
diff --git a/pkgs/development/python-modules/polib/default.nix b/pkgs/development/python-modules/polib/default.nix
new file mode 100644
index 00000000000..2e3928b742c
--- /dev/null
+++ b/pkgs/development/python-modules/polib/default.nix
@@ -0,0 +1,20 @@
+{ stdenv, buildPythonPackage, fetchPypi }:
+
+buildPythonPackage rec {
+  pname = "polib";
+  version = "1.1.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "fad87d13696127ffb27ea0882d6182f1a9cf8a5e2b37a587751166c51e5a332a";
+  };
+
+  # error: invalid command 'test'
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    description = "A library to manipulate gettext files (po and mo files)";
+    homepage = https://bitbucket.org/izi/polib/;
+    license = licenses.mit;
+  };
+}
diff --git a/pkgs/development/python-modules/pomegranate/default.nix b/pkgs/development/python-modules/pomegranate/default.nix
index 77b373de259..e611e2ea5b1 100644
--- a/pkgs/development/python-modules/pomegranate/default.nix
+++ b/pkgs/development/python-modules/pomegranate/default.nix
@@ -3,7 +3,6 @@
 buildPythonPackage rec {
   pname = "pomegranate";
   version = "0.8.1";
-  name  = "${pname}-${version}";
   
   src = fetchFromGitHub {
     repo = pname;
@@ -21,5 +20,9 @@ buildPythonPackage rec {
     homepage = https://github.com/jmschrei/pomegranate;
     license = licenses.mit;
     maintainers = with maintainers; [ rybern ];
+
+    # "pomegranate does not yet work with networkx 2.0"
+    # see https://github.com/jmschrei/pomegranate/issues/209
+    broken = true; 
   };
 }
diff --git a/pkgs/development/python-modules/poppler-qt5/default.nix b/pkgs/development/python-modules/poppler-qt5/default.nix
new file mode 100644
index 00000000000..0ae689034a3
--- /dev/null
+++ b/pkgs/development/python-modules/poppler-qt5/default.nix
@@ -0,0 +1,42 @@
+{ buildPythonPackage, fetchPypi, stdenv, sip, qtbase, pyqt5, poppler, pkgconfig, fetchpatch
+, python, substituteAll
+}:
+
+buildPythonPackage rec {
+  pname = "python-poppler-qt5";
+  version = "0.24.2";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0l69llw1fzwz8y90q0qp9q5pifbrqjjbwii7di54dwghw5fc6w1r";
+  };
+
+  patches = [
+    (substituteAll {
+      src = ./poppler-include-dir.patch;
+      poppler_include_dir = "${poppler.dev}/include/poppler";
+    })
+    (fetchpatch {
+      url = "https://github.com/wbsoft/python-poppler-qt5/commit/faf4d1308f89560b0d849671226e3080dfc72e79.patch";
+      sha256 = "18krhh6wzsnpxzlzv02nginb1vralla8ai24zqk10nc4mj6fkj86";
+    })
+  ];
+
+  setupPyBuildFlags = [
+    "--pyqt-sip-dir ${pyqt5}/share/sip/PyQt5"
+    "--qt-include-dir ${qtbase.dev}/include"
+  ];
+
+  buildInputs = [ qtbase.dev poppler ];
+  nativeBuildInputs = [ pkgconfig ];
+  propagatedBuildInputs = [ sip pyqt5.dev ];
+
+  # no tests, just bindings for `poppler_qt5`
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/wbsoft/python-poppler-qt5;
+    license = licenses.gpl2;
+    maintainers = with maintainers; [ ma27 ];
+  };
+}
diff --git a/pkgs/development/python-modules/poppler-qt5/poppler-include-dir.patch b/pkgs/development/python-modules/poppler-qt5/poppler-include-dir.patch
new file mode 100644
index 00000000000..7106c1d6352
--- /dev/null
+++ b/pkgs/development/python-modules/poppler-qt5/poppler-include-dir.patch
@@ -0,0 +1,12 @@
+diff --git a/setup.py b/setup.py
+index 59a75b0..0a73268 100644
+--- a/setup.py
++++ b/setup.py
+@@ -169,6 +169,7 @@ class build_ext(build_ext_base):
+                              'Please specify via --pyqt-sip-flags=')
+ 
+         self.include_dirs += (self.qt_include_dir,
++                              '@poppler_include_dir@',
+                               os.path.join(self.qt_include_dir, 'QtCore'),
+                               os.path.join(self.qt_include_dir, 'QtGui'),
+                               os.path.join(self.qt_include_dir, 'QtXml'))
diff --git a/pkgs/development/python-modules/portend/default.nix b/pkgs/development/python-modules/portend/default.nix
index bd13c63c404..3559053481e 100644
--- a/pkgs/development/python-modules/portend/default.nix
+++ b/pkgs/development/python-modules/portend/default.nix
@@ -1,20 +1,25 @@
 { stdenv, buildPythonPackage, fetchPypi
-, pytest, pytest-sugar, pytest-warnings, setuptools_scm
-, tempora }:
+, pytest, setuptools_scm, tempora }:
 
 buildPythonPackage rec {
-  name = "${pname}-${version}";
   pname = "portend";
   version = "2.2";
 
-  buildInputs = [ pytest pytest-sugar pytest-warnings setuptools_scm ];
-  propagatedBuildInputs = [ tempora ];
-
   src = fetchPypi {
     inherit pname version;
     sha256 = "bc48d3d99e1eaf2e9406c729f8848bfdaf87876cd3560dc3ec6c16714f529586";
   };
 
+  nativeBuildInputs = [ setuptools_scm ];
+
+  propagatedBuildInputs = [ tempora ];
+
+  checkInputs = [ pytest ];
+
+  checkPhase = ''
+    py.test
+  '';
+
   meta = with stdenv.lib; {
     description = "Monitor TCP ports for bound or unbound states";
     homepage = https://github.com/jaraco/portend;
diff --git a/pkgs/development/python-modules/praw/default.nix b/pkgs/development/python-modules/praw/default.nix
index c0be1009b06..8f43cbfb4a8 100644
--- a/pkgs/development/python-modules/praw/default.nix
+++ b/pkgs/development/python-modules/praw/default.nix
@@ -5,15 +5,20 @@
 
 buildPythonPackage rec {
   pname = "praw";
-  version = "5.2.0";
+  version = "5.4.0";
 
   src = fetchFromGitHub {
     owner = "praw-dev";
     repo = "praw";
     rev = "v${version}";
-    sha256 = "0nwfadczxa1fyq65zc3sfv8g2r4w3xrx3bdi5fv9xpn97wh2ifgw";
+    sha256 = "13vbh2r952ai2m6sc79psfwaj5fc8cssdg2pqpizg2mwd0l1s6lb";
   };
 
+  postPatch = ''
+    # drop upper bound of prawcore requirement
+    sed -ri "s/'(prawcore >=.+), <.+'/'\1'/" setup.py
+  '';
+
   propagatedBuildInputs = [
     requests
     decorator
diff --git a/pkgs/development/python-modules/prawcore/default.nix b/pkgs/development/python-modules/prawcore/default.nix
index eb3fb784dc9..b59327cd059 100644
--- a/pkgs/development/python-modules/prawcore/default.nix
+++ b/pkgs/development/python-modules/prawcore/default.nix
@@ -6,15 +6,19 @@
 
 buildPythonPackage rec {
   pname = "prawcore";
-  version = "0.12.0";
+  version = "0.15.0";
 
   src = fetchFromGitHub {
     owner = "praw-dev";
     repo = "prawcore";
     rev = "v${version}";
-    sha256 = "1z5fz6v4bv6xw84l4q3rpw3j63bb2dldl0fd6ckz8wqlpb2l45br";
+    sha256 = "0v16n6bzf483i00bn0qykrg3wvw9dbnfdl512pw8n635ld1g7cb8";
   };
 
+  postPatch = ''
+    sed -i "s/'testfixtures >4.13.2, <6'/'testfixtures >4.13.2'/g" setup.py
+  '';
+
   propagatedBuildInputs = [
     requests
   ];
diff --git a/pkgs/development/python-modules/pretend/default.nix b/pkgs/development/python-modules/pretend/default.nix
new file mode 100644
index 00000000000..fed0499624a
--- /dev/null
+++ b/pkgs/development/python-modules/pretend/default.nix
@@ -0,0 +1,19 @@
+{ stdenv, buildPythonPackage, fetchPypi }:
+
+buildPythonPackage rec {
+  pname = "pretend";
+  version = "1.0.9";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "c90eb810cde8ebb06dafcb8796f9a95228ce796531bc806e794c2f4649aa1b10";
+  };
+
+  # No tests in archive
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/alex/pretend;
+    license = licenses.bsd3;
+  };
+}
diff --git a/pkgs/development/python-modules/proboscis/default.nix b/pkgs/development/python-modules/proboscis/default.nix
new file mode 100644
index 00000000000..f2373e4702f
--- /dev/null
+++ b/pkgs/development/python-modules/proboscis/default.nix
@@ -0,0 +1,21 @@
+{ stdenv, buildPythonPackage, fetchPypi, nose }:
+
+buildPythonPackage rec {
+  pname = "proboscis";
+  version = "1.2.6.0";
+  name = "${pname}-${version}";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "b822b243a7c82030fce0de97bdc432345941306d2c24ef227ca561dd019cd238";
+  };
+
+  propagatedBuildInputs = [ nose ];
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    description = "A Python test framework that extends Python's built-in unittest module and Nose with features from TestNG";
+    homepage = https://pypi.python.org/pypi/proboscis;
+    license = licenses.asl20;
+  };
+}
diff --git a/pkgs/development/python-modules/progressbar/default.nix b/pkgs/development/python-modules/progressbar/default.nix
new file mode 100644
index 00000000000..59ef547dba3
--- /dev/null
+++ b/pkgs/development/python-modules/progressbar/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, buildPythonPackage, fetchPypi, isPy3k }:
+
+buildPythonPackage rec {
+  pname = "progressbar";
+  version = "2.3";
+
+  # https://github.com/niltonvolpato/python-progressbar/issues/54
+  disabled = isPy3k;
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "b2d38a729785149e65323381d2e6fca0a5e9615a6d8bcf10bfa8adedfc481254";
+  };
+
+  # invalid command 'test'
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    homepage = https://pypi.python.org/pypi/progressbar;
+    description = "Text progressbar library for python";
+    license = licenses.lgpl3Plus;
+    maintainers = with maintainers; [ domenkozar ];
+  };
+}
diff --git a/pkgs/development/python-modules/progressbar231/default.nix b/pkgs/development/python-modules/progressbar231/default.nix
new file mode 100644
index 00000000000..f9825961754
--- /dev/null
+++ b/pkgs/development/python-modules/progressbar231/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, buildPythonPackage, fetchPypi, isPy3k }:
+
+buildPythonPackage rec {
+  pname = "progressbar231";
+  version = "2.3.1";
+
+  disabled = isPy3k;
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0j0ifxk87xz3wkyacxaiqygghn27wwz6y5pj9k8j2yq7n33fbdam";
+  };
+
+  # no tests implemented
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    homepage = https://pypi.python.org/pypi/progressbar231;
+    description = "Text progressbar library for python";
+    license = licenses.lgpl3Plus;
+    maintainers = with maintainers; [ twey ];
+  };
+}
diff --git a/pkgs/development/python-modules/progressbar33/default.nix b/pkgs/development/python-modules/progressbar33/default.nix
new file mode 100644
index 00000000000..f3b94436d45
--- /dev/null
+++ b/pkgs/development/python-modules/progressbar33/default.nix
@@ -0,0 +1,21 @@
+{ stdenv, buildPythonPackage, fetchPypi }:
+
+buildPythonPackage rec {
+  pname = "progressbar33";
+  version = "2.4";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1zvf6zs5hzrc03p9nfs4p16vhilqikycvv1yk0pxn8s07fdhvzji";
+  };
+
+  # no tests implemented
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    homepage = https://pypi.python.org/pypi/progressbar33;
+    description = "Text progressbar library for python";
+    license = licenses.lgpl3Plus;
+    maintainers = with maintainers; [ twey ];
+  };
+}
diff --git a/pkgs/development/python-modules/prometheus_client/default.nix b/pkgs/development/python-modules/prometheus_client/default.nix
new file mode 100644
index 00000000000..eaf353af082
--- /dev/null
+++ b/pkgs/development/python-modules/prometheus_client/default.nix
@@ -0,0 +1,19 @@
+{ lib, stdenv, buildPythonPackage, fetchPypi, pytest }:
+
+buildPythonPackage rec {
+  pname = "prometheus_client";
+  version = "0.2.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1r3510jq6iryd2a8jln2qpvqy112y5502ncbfkn116xl7gj74r6r";
+  };
+
+  doCheck = false;
+
+  meta = with lib; {
+    description = "Prometheus instrumentation library for Python applications";
+    homepage = https://github.com/prometheus/client_python;
+    license = licenses.asl20;
+  };
+}
diff --git a/pkgs/development/python-modules/prov/default.nix b/pkgs/development/python-modules/prov/default.nix
index 8866382ea8f..f5f5b719b06 100644
--- a/pkgs/development/python-modules/prov/default.nix
+++ b/pkgs/development/python-modules/prov/default.nix
@@ -7,6 +7,8 @@
 , six
 , pydotplus
 , rdflib
+, pydot
+, glibcLocales
 }:
 
 buildPythonPackage rec {
@@ -18,6 +20,10 @@ buildPythonPackage rec {
     sha256 = "640dc158d931403bc6c1a0ad80702caae71f810bac21f90ec605865c8444b7bb";
   };
 
+  prePatch = ''
+    substituteInPlace setup.py --replace "six==1.10.0" "six>=1.10.0"
+  '';
+
   propagatedBuildInputs = [
     lxml
     networkx
@@ -26,7 +32,15 @@ buildPythonPackage rec {
     pydotplus
     rdflib
   ];
-  doCheck = false; # takes ~60 mins
+
+  checkInputs = [
+    pydot
+    glibcLocales
+  ];
+
+  preCheck = ''
+    export LC_ALL="en_US.utf-8"
+  '';
 
   meta = with stdenv.lib; {
     description = "A Python library for W3C Provenance Data Model (PROV)";
diff --git a/pkgs/development/python-modules/psutil/default.nix b/pkgs/development/python-modules/psutil/default.nix
index 6221e08ae57..f357aec914a 100644
--- a/pkgs/development/python-modules/psutil/default.nix
+++ b/pkgs/development/python-modules/psutil/default.nix
@@ -7,12 +7,12 @@
 
 buildPythonPackage rec {
   pname = "psutil";
-  version = "5.4.3";
+  version = "5.4.5";
   name = "${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "e2467e9312c2fa191687b89ff4bc2ad8843be4af6fb4dc95a7cc5f7d7a327b18";
+    sha256 = "ebe293be36bb24b95cdefc5131635496e88b17fabbcf1e4bc9b5c01f5e489cfe";
   };
 
   # No tests in archive
diff --git a/pkgs/development/python-modules/publicsuffix/default.nix b/pkgs/development/python-modules/publicsuffix/default.nix
new file mode 100644
index 00000000000..9c90161c6ea
--- /dev/null
+++ b/pkgs/development/python-modules/publicsuffix/default.nix
@@ -0,0 +1,27 @@
+{ stdenv, buildPythonPackage, fetchPypi, isPy3k }:
+
+buildPythonPackage rec {
+  pname = "publicsuffix";
+  version = "1.1.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1adx520249z2cy7ykwjr1k190mn2888wqn9jf8qm27ly4qymjxxf";
+  };
+
+
+  # fix the ASCII-mode LICENSE file read
+  # disable test_fetch and the doctests (which also invoke fetch)
+  patchPhase = stdenv.lib.optionalString isPy3k ''
+    sed -i "s/)\.read(/,encoding='utf-8'\0/" setup.py
+  '' + ''
+    sed -i -e "/def test_fetch/i\\
+    \\t@unittest.skip('requires internet')" -e "/def additional_tests():/,+1d" tests.py
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Allows to get the public suffix of a domain name";
+    homepage = "https://pypi.python.org/pypi/publicsuffix/";
+    license = licenses.mit;
+  };
+}
diff --git a/pkgs/development/python-modules/pushbullet/default.nix b/pkgs/development/python-modules/pushbullet/default.nix
new file mode 100644
index 00000000000..74c0f66b91e
--- /dev/null
+++ b/pkgs/development/python-modules/pushbullet/default.nix
@@ -0,0 +1,27 @@
+{ lib, buildPythonPackage, fetchPypi
+, requests, websocket_client, python_magic
+, pytest, mock }:
+
+buildPythonPackage rec {
+  pname = "pushbullet.py";
+  version = "0.11.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "aa9dc7bb46e083e3497d46241154f12944a8f540e29d150330ca94db0b453b8d";
+  };
+
+  propagatedBuildInputs = [ requests websocket_client python_magic ];
+
+  checkInputs = [ pytest mock ];
+
+  checkPhase = ''
+    PUSHBULLET_API_KEY="" py.test -k "not test_e2e and not test_auth"
+  '';
+
+  meta = with lib; {
+    description = "A simple python client for pushbullet.com";
+    homepage = https://github.com/randomchars/pushbullet.py;
+    license = licenses.mit;
+  };
+}
diff --git a/pkgs/development/python-modules/pushover/default.nix b/pkgs/development/python-modules/pushover/default.nix
new file mode 100644
index 00000000000..f5d1a9568c3
--- /dev/null
+++ b/pkgs/development/python-modules/pushover/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, buildPythonPackage, fetchPypi
+, requests }:
+
+buildPythonPackage rec {
+  pname = "python-pushover";
+  version = "0.3";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0xlghiqd9rsgn7jdhc8v1xh3xspssihrw1vyy85gvjzxa1ah19sk";
+  };
+
+  propagatedBuildInputs = [ requests ];
+
+  # tests require network
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    description = "Bindings and command line utility for the Pushover notification service";
+    homepage = https://github.com/Thibauth/python-pushover;
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ peterhoeg ];
+  };
+}
diff --git a/pkgs/development/python-modules/py/default.nix b/pkgs/development/python-modules/py/default.nix
index cd945f7bfc6..efe4e9df672 100644
--- a/pkgs/development/python-modules/py/default.nix
+++ b/pkgs/development/python-modules/py/default.nix
@@ -1,12 +1,12 @@
 { stdenv, buildPythonPackage, fetchPypi }:
 buildPythonPackage rec {
   pname = "py";
-  version = "1.5.2";
+  version = "1.5.3";
   name = "${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "ca18943e28235417756316bfada6cd96b23ce60dd532642690dcfdaba988a76d";
+    sha256 = "29c9fab495d7528e80ba1e343b958684f4ace687327e6f789a94bf3d1915f881";
   };
 
   # Circular dependency on pytest
diff --git a/pkgs/development/python-modules/py3status/default.nix b/pkgs/development/python-modules/py3status/default.nix
new file mode 100644
index 00000000000..b5ac0f7b7b1
--- /dev/null
+++ b/pkgs/development/python-modules/py3status/default.nix
@@ -0,0 +1,48 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, requests
+, pytz
+, tzlocal
+
+, file
+, acpi
+, coreutils
+, alsaUtils
+, i3
+, procps
+, lm_sensors
+, libnotify
+, xorg
+}:
+
+buildPythonPackage rec {
+  pname = "py3status";
+  version = "3.8";
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1izjpf9q768m3j95y328vbdh7rycglqlslyd777b12c13i6zs6cb";
+  };
+  doCheck = false;
+  propagatedBuildInputs = [ pytz requests tzlocal ];
+  buildInputs = [ file ];
+  prePatch = ''
+    sed -i -e "s|'file|'${file}/bin/file|" py3status/parse_config.py
+    sed -i -e "s|\[\"acpi\"|\[\"${acpi}/bin/acpi\"|" py3status/modules/battery_level.py
+    sed -i -e "s|notify-send|${libnotify}/bin/notify-send|" py3status/modules/battery_level.py
+    sed -i -e "s|/usr/bin/whoami|${coreutils}/bin/whoami|" py3status/modules/external_script.py
+    sed -i -e "s|'amixer|'${alsaUtils}/bin/amixer|" py3status/modules/volume_status.py
+    sed -i -e "s|'i3-nagbar|'${i3}/bin/i3-nagbar|" py3status/modules/pomodoro.py
+    sed -i -e "s|'free|'${procps}/bin/free|" py3status/modules/sysdata.py
+    sed -i -e "s|'sensors|'${lm_sensors}/bin/sensors|" py3status/modules/sysdata.py
+    sed -i -e "s|'setxkbmap|'${xorg.setxkbmap}/bin/setxkbmap|" py3status/modules/keyboard_layout.py
+    sed -i -e "s|'xset|'${xorg.xset}/bin/xset|" py3status/modules/keyboard_layout.py
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Extensible i3status wrapper";
+    license = licenses.bsd3;
+    homepage = https://github.com/ultrabug/py3status;
+    maintainers = with maintainers; [ garbas ];
+  };
+}
diff --git a/pkgs/development/python-modules/py4j/default.nix b/pkgs/development/python-modules/py4j/default.nix
new file mode 100644
index 00000000000..9cf9828635f
--- /dev/null
+++ b/pkgs/development/python-modules/py4j/default.nix
@@ -0,0 +1,22 @@
+{ buildPythonPackage, fetchPypi, stdenv }:
+
+buildPythonPackage rec {
+  pname = "py4j";
+
+  version = "0.10.6";
+
+  src = fetchPypi {
+    inherit pname version;
+    extension= "zip";
+    sha256 = "10shayghsmcdr03w12a7sdm6vsxpjm8alw3ym3mr1hki45yarryk";
+  };
+
+  propagatedBuildInputs = [  ];
+
+  meta = with stdenv.lib; {
+    description = "Py4J enables Python programs running in a Python interpreter to dynamically access Java objects in a Java Virtual Machine. Methods are called as if the Java objects resided in the Python interpreter and Java collections can be accessed through standard Python collection methods. Py4J also enables Java programs to call back Python objects.";
+    homepage = https://www.py4j.org/;
+    license = licenses.bsd3;
+    maintainers = [ maintainers.shlevy ];
+  };
+}
diff --git a/pkgs/development/python-modules/pyamf/default.nix b/pkgs/development/python-modules/pyamf/default.nix
index 59acacd5051..5ac6ef82964 100644
--- a/pkgs/development/python-modules/pyamf/default.nix
+++ b/pkgs/development/python-modules/pyamf/default.nix
@@ -1,10 +1,12 @@
-{ stdenv, fetchPypi, buildPythonPackage, defusedxml }:
+{ stdenv, fetchPypi, buildPythonPackage, isPy3k, defusedxml }:
 
 buildPythonPackage rec {
-  name = "${pname}-${version}";
   pname = "PyAMF";
   version = "0.8.0";
 
+  # according to setup.py
+  disabled = isPy3k;
+
   src = fetchPypi {
     inherit pname version;
     sha256 = "1r3lp9gkph48g9lijby5rs5daa3lhxs204r14zw4kvp3hf4xcm84";
diff --git a/pkgs/development/python-modules/pyarrow/default.nix b/pkgs/development/python-modules/pyarrow/default.nix
new file mode 100644
index 00000000000..1c2cb4a7643
--- /dev/null
+++ b/pkgs/development/python-modules/pyarrow/default.nix
@@ -0,0 +1,65 @@
+{ lib, buildPythonPackage, python, isPy3k, fetchurl, arrow-cpp, cmake, cython, futures, numpy, pandas, pytest, pytestrunner, parquet-cpp, pkgconfig, setuptools_scm, six }:
+
+let
+  _arrow-cpp = arrow-cpp.override { inherit python;};
+  _parquet-cpp = parquet-cpp.override { arrow-cpp = _arrow-cpp; };
+in
+
+buildPythonPackage rec {
+  pname = "pyarrow";
+  version = "0.9.0";
+
+  src = fetchurl {
+    url = "mirror://apache/arrow/arrow-${version}/apache-arrow-${version}.tar.gz";
+    sha256 = "16l91fixb5dgx3v6xc73ipn1w1hjgbmijyvs81j7ywzpna2cdcdy";
+  };
+
+  sourceRoot = "apache-arrow-${version}/python";
+
+  nativeBuildInputs = [ cmake cython pkgconfig setuptools_scm ];
+  propagatedBuildInputs = [ numpy six ] ++ lib.optionals (!isPy3k) [ futures ];
+  checkInputs = [ pandas pytest pytestrunner ];
+
+  PYARROW_BUILD_TYPE = "release";
+  PYARROW_CMAKE_OPTIONS = "-DCMAKE_INSTALL_RPATH=${ARROW_HOME}/lib;${PARQUET_HOME}/lib";
+
+  preBuild = ''
+    substituteInPlace CMakeLists.txt --replace "\''${ARROW_ABI_VERSION}" '"0.0.0"'
+    substituteInPlace CMakeLists.txt --replace "\''${ARROW_SO_VERSION}" '"0"'
+
+    # fix the hardcoded value
+    substituteInPlace cmake_modules/FindParquet.cmake --replace 'set(PARQUET_ABI_VERSION "1.0.0")' 'set(PARQUET_ABI_VERSION "${_parquet-cpp.version}")'
+  '';
+
+  preCheck = ''
+    rm pyarrow/tests/test_hdfs.py
+
+    # fails: "ArrowNotImplementedError: Unsupported numpy type 22"
+    substituteInPlace pyarrow/tests/test_feather.py --replace "test_timedelta_with_nulls" "_disabled"
+
+    # runs out of memory on @grahamcofborg linux box
+    substituteInPlace pyarrow/tests/test_feather.py --replace "test_large_dataframe" "_disabled"
+
+    # probably broken on python2
+    substituteInPlace pyarrow/tests/test_feather.py --replace "test_unicode_filename" "_disabled"
+
+    # fails "error: [Errno 2] No such file or directory: 'test'" because
+    # nix_run_setup invocation somehow manages to import deserialize_buffer.py
+    # when it is not intended to be imported at all
+    rm pyarrow/tests/deserialize_buffer.py
+    substituteInPlace pyarrow/tests/test_feather.py --replace "test_deserialize_buffer_in_different_process" "_disabled"
+  '';
+
+  ARROW_HOME = _arrow-cpp;
+  PARQUET_HOME = _parquet-cpp;
+
+  setupPyBuildFlags = ["--with-parquet" ];
+
+  meta = with lib; {
+    description = "A cross-language development platform for in-memory data";
+    homepage = https://arrow.apache.org/;
+    license = lib.licenses.asl20;
+    platforms = platforms.unix;
+    maintainers = with lib.maintainers; [ veprbl ];
+  };
+}
diff --git a/pkgs/development/python-modules/pyatspi/default.nix b/pkgs/development/python-modules/pyatspi/default.nix
index 6192f94445f..5960551abc7 100644
--- a/pkgs/development/python-modules/pyatspi/default.nix
+++ b/pkgs/development/python-modules/pyatspi/default.nix
@@ -1,29 +1,35 @@
-{ stdenv, fetchurl, pkgconfig, at-spi2-core, pythonPackages }:
+{ stdenv, fetchurl, pkgconfig, buildPythonPackage, isPy3k, at-spi2-core, pygobject3, gnome3 }:
 
-stdenv.mkDerivation rec {
+buildPythonPackage rec {
   pname = "pyatspi";
-  version = "2.18.0";
-  name = "${pname}-${version}";
+  version = "2.26.0";
+  format = "other";
 
   src = fetchurl {
-    url = "mirror://gnome/sources/pyatspi/2.18/${name}.tar.xz";
-    sha256 = "0imbyk2v6c11da7pkwz91313pkkldxs8zfg81zb2ql6h0nnh6vzq";
+    url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
+    sha256 = "0xdnix7gxzgf75xy9ris4dd6b05mqwicw190b98xqmypydyf95n6";
   };
 
-  broken = true;
-
   buildInputs = [
     at-spi2-core
     pkgconfig
-    pythonPackages.python
-    pythonPackages.pygobject3
+    pygobject3
   ];
 
+  disabled = !isPy3k;
+
+  passthru = {
+    updateScript = gnome3.updateScript {
+      packageName = pname;
+      attrPath = "python3.pkgs.${pname}";
+    };
+  };
+
   meta = with stdenv.lib; {
-    description = "Python 3 bindings for at-spi";
-    homepage = http://www.linuxfoundation.org/en/AT-SPI_on_D-Bus;
+    description = "Python client bindings for D-Bus AT-SPI";
+    homepage = https://wiki.linuxfoundation.org/accessibility/d-bus;
     license = licenses.gpl2;
-    maintainers = with maintainers; [ jgeerds ];
+    maintainers = with maintainers; [ jgeerds jtojnar ];
     platforms = with platforms; unix;
   };
 }
diff --git a/pkgs/development/python-modules/pyaxmlparser/default.nix b/pkgs/development/python-modules/pyaxmlparser/default.nix
new file mode 100644
index 00000000000..be82cc7bf02
--- /dev/null
+++ b/pkgs/development/python-modules/pyaxmlparser/default.nix
@@ -0,0 +1,20 @@
+{ buildPythonPackage, stdenv, lxml, click, fetchPypi }:
+
+buildPythonPackage rec {
+  version = "0.3.7";
+  pname = "pyaxmlparser";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1spwr28sc6fc3cqdx2j2zq38qx889hixl4ahhf1nphpmrl39ypxr";
+  };
+
+  propagatedBuildInputs = [ lxml click ];
+
+  meta = with stdenv.lib; {
+    description = "Python3 Parser for Android XML file and get Application Name without using Androguard";
+    homepage = https://github.com/appknox/pyaxmlparser;
+    license = licenses.mit;
+    maintainers = with maintainers; [ ma27 ];
+  };
+}
diff --git a/pkgs/development/python-modules/pybase64/default.nix b/pkgs/development/python-modules/pybase64/default.nix
index c81d60ced4d..0547a5d3ba0 100644
--- a/pkgs/development/python-modules/pybase64/default.nix
+++ b/pkgs/development/python-modules/pybase64/default.nix
@@ -1,19 +1,19 @@
-{ buildPythonPackage, stdenv, fetchPypi, parameterized, six, nose }:
+{ buildPythonPackage, stdenv, fetchPypi, six, pytest }:
 
 buildPythonPackage rec {
   pname = "pybase64";
-  version = "0.2.1";
+  version = "0.3.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1hggg69s5r8jyqdwyzri5sn3f19p7ayl0fjhjma0qzgfp7bk6zjc";
+    sha256 = "c974bff394e16817596fab686a0c7deb4995a468b035b02a788b6dbfd1e6bdeb";
   };
 
   propagatedBuildInputs = [ six ];
-  checkInputs = [ parameterized nose ];
+  checkInputs = [ pytest ];
 
   checkPhase = ''
-    nosetests
+    py.test
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/python-modules/pybfd/default.nix b/pkgs/development/python-modules/pybfd/default.nix
index 0ac437bfb29..8f074943dd3 100644
--- a/pkgs/development/python-modules/pybfd/default.nix
+++ b/pkgs/development/python-modules/pybfd/default.nix
@@ -1,7 +1,8 @@
 { lib, fetchFromGitHub, buildPythonPackage, isPyPy, isPy3k, libbfd, libopcodes }:
 
 buildPythonPackage rec {
-  name = "pybfd-0.1.1.2017-12-31";
+  pname = "pybfd";
+  version = "-0.1.1.2017-12-31";
 
   disabled = isPyPy || isPy3k;
 
diff --git a/pkgs/development/python-modules/pybindgen/default.nix b/pkgs/development/python-modules/pybindgen/default.nix
new file mode 100644
index 00000000000..09cb4c2cdf9
--- /dev/null
+++ b/pkgs/development/python-modules/pybindgen/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchPypi, buildPythonPackage, setuptools_scm, pygccxml }:
+buildPythonPackage rec {
+  pname = "PyBindGen";
+  version = "0.18.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1sl4jn8rildv6f62cab66w791cixhaaxl7gwg9labs099rl74yl6";
+  };
+
+  buildInputs = [ setuptools_scm ];
+
+  checkInputs = [ pygccxml ];
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/gjcarneiro/pybindgen;
+    description = "Python Bindings Generator";
+    license = licenses.lgpl2;
+    maintainers = with maintainers; [ teto ];
+  };
+}
+
+
diff --git a/pkgs/development/python-modules/pyblake2/default.nix b/pkgs/development/python-modules/pyblake2/default.nix
index c2f4e7db43f..2de46c0d1ed 100644
--- a/pkgs/development/python-modules/pyblake2/default.nix
+++ b/pkgs/development/python-modules/pyblake2/default.nix
@@ -5,12 +5,12 @@
 
 buildPythonPackage rec {
   pname = "pyblake2";
-  version = "1.1.0";
+  version = "1.1.2";
   name = "${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "3a850036bf42053c74bfc52c063323ca78e40ba1f326b01777da5750a143631a";
+    sha256 = "5ccc7eb02edb82fafb8adbb90746af71460fbc29aa0f822526fc976dff83e93f";
   };
 
   # requires setting up sphinx doctest
diff --git a/pkgs/development/python-modules/pybtex-docutils/default.nix b/pkgs/development/python-modules/pybtex-docutils/default.nix
new file mode 100644
index 00000000000..45d907df223
--- /dev/null
+++ b/pkgs/development/python-modules/pybtex-docutils/default.nix
@@ -0,0 +1,20 @@
+{ stdenv, buildPythonPackage, fetchPypi, docutils, pybtex, six }:
+
+buildPythonPackage rec {
+  version = "0.2.1";
+  pname = "pybtex-docutils";
+
+  doCheck = false;
+  buildInputs = [ docutils pybtex six ];
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0dqk4lplij7rbqqi4dbpw3wzr4wj08ysswvdibls6s0x3ij7bc74";
+  };
+
+  meta = {
+    description = "A docutils backend for pybtex";
+    homepage = "https://github.com/mcmtroffaes/pybtex-docutils";
+    license = stdenv.lib.licenses.mit;
+  };
+}
diff --git a/pkgs/development/python-modules/pybtex/default.nix b/pkgs/development/python-modules/pybtex/default.nix
new file mode 100644
index 00000000000..20689255435
--- /dev/null
+++ b/pkgs/development/python-modules/pybtex/default.nix
@@ -0,0 +1,20 @@
+{ stdenv, buildPythonPackage, fetchPypi, latexcodec, pyyaml }:
+
+buildPythonPackage rec {
+  version = "0.21";
+  pname = "pybtex";
+
+  doCheck = false;
+  propagatedBuildInputs = [ latexcodec pyyaml ];
+
+  src = fetchPypi {
+    inherit version pname;
+    sha256 = "00300j8dn5pxq4ndxmfmbmycg2znawkqs49val2x6jlmfiy6r2mg";
+  };
+
+  meta = {
+    homepage = "https://pybtex.org/";
+    description = "A BibTeX-compatible bibliography processor written in Python";
+    license = stdenv.lib.licenses.mit;
+  };
+}
diff --git a/pkgs/development/python-modules/pycairo/default.nix b/pkgs/development/python-modules/pycairo/default.nix
index 39c06bff3bf..091ac809a9b 100644
--- a/pkgs/development/python-modules/pycairo/default.nix
+++ b/pkgs/development/python-modules/pycairo/default.nix
@@ -2,8 +2,7 @@
 
 buildPythonPackage rec {
   pname = "pycairo";
-  version = "1.15.4";
-  name = "${pname}-${version}";
+  version = "1.16.3";
 
   disabled = isPyPy;
 
@@ -11,13 +10,21 @@ buildPythonPackage rec {
     owner = "pygobject";
     repo = "pycairo";
     rev = "v${version}";
-    sha256 = "02vzmfxx8nl6dbwzc911wcj7hqspgqz6v9xmq6579vwfla0vaglv";
+    sha256 = "0clk6wrfls3fa1xrn844762qfaw6gs4ivwkrfysidbzmlbxhpngl";
   };
 
-  postPatch = ''
-    # we are unable to pass --prefix to bdist_wheel
-    # see https://github.com/NixOS/nixpkgs/pull/32034#discussion_r153285955
-    substituteInPlace setup.py --replace '"prefix": self.install_base' "'prefix': '$out'"
+  # We need to create the pkgconfig file but it cannot be installed as a wheel since wheels
+  # are supposed to be relocatable and do not support --prefix option
+  buildPhase = ''
+    ${python.interpreter} setup.py build
+  '';
+
+  installPhase = ''
+    ${python.interpreter} setup.py install --skip-build --prefix="$out" --optimize=1
+  '';
+
+  checkPhase = ''
+    ${python.interpreter} setup.py test
   '';
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/development/python-modules/pychart/default.nix b/pkgs/development/python-modules/pychart/default.nix
new file mode 100644
index 00000000000..259c87347d7
--- /dev/null
+++ b/pkgs/development/python-modules/pychart/default.nix
@@ -0,0 +1,19 @@
+{ stdenv, buildPythonPackage, fetchPypi, isPy27 }:
+
+buildPythonPackage rec {
+  pname = "pychart";
+  version = "1.39";
+
+  disabled = ! isPy27;
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "882650928776a7ca72e67054a9e0ac98f78645f279c0cfb5910db28f03f07c2e";
+  };
+
+  meta = with stdenv.lib; {
+    description = "Library for creating high quality encapsulated Postscript, PDF, PNG, or SVG charts";
+    homepage = https://pypi.python.org/pypi/PyChart;
+    license = licenses.gpl2;
+  };
+}
diff --git a/pkgs/development/python-modules/pychromecast/default.nix b/pkgs/development/python-modules/pychromecast/default.nix
index 0b41b6ef0b1..e90fc4b2636 100644
--- a/pkgs/development/python-modules/pychromecast/default.nix
+++ b/pkgs/development/python-modules/pychromecast/default.nix
@@ -2,12 +2,12 @@
 
 buildPythonPackage rec {
   pname = "PyChromecast";
-  version = "2.0.0";
+  version = "2.1.0";
   name = pname + "-" + version;
 
   src = fetchurl {
     url    = "mirror://pypi/p/pychromecast/${name}.tar.gz";
-    sha256 = "1cp1ssfb8zk4sz74nsnf72b7dd5fzkwc4qdgc7rq8nfr4v611w6c";
+    sha256 = "a18fee9bf32f62fcb539783c3888e811015c1f6377bcdb383b13d6537691f336";
   };
 
   propagatedBuildInputs = [ requests six zeroconf protobuf ];
diff --git a/pkgs/development/python-modules/pycontracts/default.nix b/pkgs/development/python-modules/pycontracts/default.nix
new file mode 100644
index 00000000000..23633ce248d
--- /dev/null
+++ b/pkgs/development/python-modules/pycontracts/default.nix
@@ -0,0 +1,21 @@
+{ stdenv, buildPythonPackage, fetchPypi
+, nose, pyparsing, decorator, six }:
+
+buildPythonPackage rec {
+  pname = "PyContracts";
+  version = "1.8.3";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "8e52c4ddbc015b56cc672b7c005c11f3df4fe407b832964099836fa3cccb8b9d";
+  };
+
+  buildInputs = [ nose ];
+  propagatedBuildInputs = [ pyparsing decorator six ];
+
+  meta = with stdenv.lib; {
+    description = "Allows to declare constraints on function parameters and return values";
+    homepage = https://pypi.python.org/pypi/PyContracts;
+    license = licenses.lgpl2;
+  };
+}
diff --git a/pkgs/development/python-modules/pycparser/default.nix b/pkgs/development/python-modules/pycparser/default.nix
new file mode 100644
index 00000000000..4a0dbe878f6
--- /dev/null
+++ b/pkgs/development/python-modules/pycparser/default.nix
@@ -0,0 +1,22 @@
+{ stdenv, buildPythonPackage, fetchPypi, python }:
+
+buildPythonPackage rec {
+  pname = "pycparser";
+  version = "2.18";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "99a8ca03e29851d96616ad0404b4aad7d9ee16f25c9f9708a11faf2810f7b226";
+  };
+
+  checkPhase = ''
+    ${python.interpreter} -m unittest discover -s tests
+  '';
+
+  meta = with stdenv.lib; {
+    description = "C parser in Python";
+    homepage = https://github.com/eliben/pycparser;
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ domenkozar ];
+  };
+}
diff --git a/pkgs/development/python-modules/pycryptodome/default.nix b/pkgs/development/python-modules/pycryptodome/default.nix
index a086658cd7b..85024baa26e 100644
--- a/pkgs/development/python-modules/pycryptodome/default.nix
+++ b/pkgs/development/python-modules/pycryptodome/default.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchurl, python, buildPythonPackage, gmp }:
 
 buildPythonPackage rec {
-  version = "3.4.9";
+  version = "3.5.1";
   pname = "pycryptodome";
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://pypi/p/pycryptodome/${name}.tar.gz";
-    sha256 = "00cc7767c7bbe91f15a65a1b2ebe7a08002b8ae8221c1dcecc5c5c9ab6f79753";
+    sha256 = "b7957736f5e868416b06ff033f8525e64630c99a8880b531836605190b0cac96";
   };
 
   meta = {
diff --git a/pkgs/development/python-modules/pycryptodomex/default.nix b/pkgs/development/python-modules/pycryptodomex/default.nix
index 8cc22c986e2..c5af0c91317 100644
--- a/pkgs/development/python-modules/pycryptodomex/default.nix
+++ b/pkgs/development/python-modules/pycryptodomex/default.nix
@@ -3,7 +3,7 @@
 buildPythonPackage rec {
   pname = "pycryptodomex";
   name = "${pname}-${version}";
-  version = "3.4.9";
+  version = "3.5.1";
 
   meta = {
     description = "A self-contained cryptographic library for Python";
@@ -13,6 +13,6 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "d078b67be76ccafa8b7cc391e87151b80b0ef9bfbeee8a95d286e522cc7537f7";
+    sha256 = "bb60d38111ebc383a5a1c909545562926c66c846d03fc65ba7b8a3487cb23078";
   };
 }
diff --git a/pkgs/development/python-modules/pycups/default.nix b/pkgs/development/python-modules/pycups/default.nix
new file mode 100644
index 00000000000..28dff352e38
--- /dev/null
+++ b/pkgs/development/python-modules/pycups/default.nix
@@ -0,0 +1,22 @@
+{ stdenv, lib, buildPythonPackage, fetchurl, cups, libiconv }:
+
+buildPythonPackage rec {
+  pname = "pycups";
+  version = "1.9.73";
+
+  src = fetchurl {
+    url = "http://cyberelk.net/tim/data/pycups/pycups-${version}.tar.bz2";
+    sha256 = "c381be011889ca6f728598578c89c8ac9f7ab1e95b614474df9f2fa831ae5335";
+  };
+
+  buildInputs = [ cups ] ++ lib.optional stdenv.isDarwin libiconv;
+
+  # Wants to connect to CUPS
+  doCheck = false;
+
+  meta = with lib; {
+    description = "Python bindings for libcups";
+    homepage = http://cyberelk.net/tim/software/pycups/;
+    license = with licenses; [ gpl2Plus ];
+  };
+}
diff --git a/pkgs/development/python-modules/pycurl/default.nix b/pkgs/development/python-modules/pycurl/default.nix
new file mode 100644
index 00000000000..27a9790dce0
--- /dev/null
+++ b/pkgs/development/python-modules/pycurl/default.nix
@@ -0,0 +1,45 @@
+{ buildPythonPackage
+, isPyPy
+, fetchPypi
+, curl
+, openssl
+, bottle
+, pytest
+, nose
+, flaky
+}:
+
+buildPythonPackage rec {
+  pname = "pycurl";
+  version = "7.43.0.1";
+  disabled = isPyPy; # https://github.com/pycurl/pycurl/issues/208
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1ali1gjs9iliwjra7w0y5hwg79a2fd0f4ydvv6k27sgxpbr1n8s3";
+  };
+
+  buildInputs = [ curl openssl.out ];
+
+  checkInputs = [ bottle pytest nose flaky ];
+
+  checkPhase = ''
+    py.test -k "not ssh_key_cb_test \
+                and not test_libcurl_ssl_gnutls \
+                and not test_libcurl_ssl_nss \
+                and not test_libcurl_ssl_openssl \
+                and not test_libcurl_ssl_unrecognized \
+                and not test_request_with_verifypeer \
+                and not test_ssl_in_static_libs" tests
+  '';
+
+  preConfigure = ''
+    substituteInPlace setup.py --replace '--static-libs' '--libs'
+    export PYCURL_SSL_LIBRARY=openssl
+  '';
+
+  meta = {
+    homepage = http://pycurl.sourceforge.net/;
+    description = "Python wrapper for libcurl";
+  };
+}
diff --git a/pkgs/development/python-modules/pydub/default.nix b/pkgs/development/python-modules/pydub/default.nix
index 819c6ffe489..6450cb7c70e 100644
--- a/pkgs/development/python-modules/pydub/default.nix
+++ b/pkgs/development/python-modules/pydub/default.nix
@@ -3,10 +3,10 @@
 buildPythonPackage rec {
   name = "${pname}-${version}";
   pname = "pydub";
-  version = "0.20.0";
+  version = "0.21.0";
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0hqsvvph6ks4kxj0m2q1xvl5bllqmpk78rlqpqhh79schl344xkv";
+    sha256 = "27acc5977b0f5220682175d44fda737bbf818143b0832c0c3863b5dde38e197a";
   };
 
   patches = [
diff --git a/pkgs/development/python-modules/pyechonest/default.nix b/pkgs/development/python-modules/pyechonest/default.nix
new file mode 100644
index 00000000000..33e8d9c3fa9
--- /dev/null
+++ b/pkgs/development/python-modules/pyechonest/default.nix
@@ -0,0 +1,17 @@
+{ stdenv, buildPythonPackage, fetchPypi, isPy3k }:
+
+buildPythonPackage rec {
+  pname = "pyechonest";
+  version = "9.0.0";
+  disabled = isPy3k;
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1da4b3b8b457232a7eb35b59a48390b3c208759b01d596acaa71e6a172b40495";
+  };
+
+  meta = with stdenv.lib; {
+    description = "Tap into The Echo Nest's Musical Brain for the best music search, information, recommendations and remix tools on the web";
+    homepage = https://github.com/echonest/pyechonest;
+  };
+}
diff --git a/pkgs/development/python-modules/pyfakefs/default.nix b/pkgs/development/python-modules/pyfakefs/default.nix
index 25c286414a3..cfb575c7675 100644
--- a/pkgs/development/python-modules/pyfakefs/default.nix
+++ b/pkgs/development/python-modules/pyfakefs/default.nix
@@ -1,21 +1,37 @@
-{ stdenv, buildPythonPackage, fetchPypi, pytest, unittest2 }:
+{ stdenv, buildPythonPackage, fetchFromGitHub, python, pytest, glibcLocales }:
 
 buildPythonPackage rec {
-  version = "3.3";
+  version = "3.4.1";
   pname = "pyfakefs";
-  name = "${pname}-${version}";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "19hj5wyi8wy8n8hdj5dwlryl3frrn783y4dsfdxn5mg0lpg9iqg3";
+  # no tests in PyPI tarball
+  # https://github.com/jmcgeheeiv/pyfakefs/pull/361
+  src = fetchFromGitHub {
+    owner = "jmcgeheeiv";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0i8kq7sl8bczr927hllgfhsmirjqjh89c9184kcqmprc13ac4kxy";
   };
 
-  propagatedBuildInputs = [ pytest unittest2 ];
+  postPatch = ''
+    # test doesn't work in sandbox
+    substituteInPlace tests/fake_filesystem_test.py \
+      --replace "test_expand_root" "notest_expand_root"
+    substituteInPlace tests/fake_os_test.py \
+      --replace "test_append_mode" "notest_append_mode"
+  '';
+
+  checkInputs = [ pytest glibcLocales ];
+
+  checkPhase = ''
+    LC_ALL=en_US.UTF-8 ${python.interpreter} -m tests.all_tests
+    py.test tests/pytest_plugin_test.py
+  '';
 
   meta = with stdenv.lib; {
     description = "Fake file system that mocks the Python file system modules";
     license     = licenses.asl20;
-    homepage    = "http://pyfakefs.org/";
+    homepage    = http://pyfakefs.org/;
     maintainers = with maintainers; [ gebner ];
   };
 }
diff --git a/pkgs/development/python-modules/pygame_sdl2/default.nix b/pkgs/development/python-modules/pygame_sdl2/default.nix
index eab56f9f7ac..08c266da696 100644
--- a/pkgs/development/python-modules/pygame_sdl2/default.nix
+++ b/pkgs/development/python-modules/pygame_sdl2/default.nix
@@ -1,18 +1,30 @@
-{ stdenv, pkgs, buildPythonPackage, fetchFromGitHub, isPy27
+{ stdenv, pkgs, buildPythonPackage, fetchurl, isPy27, fetchpatch
 , cython, SDL2, SDL2_image, SDL2_ttf, SDL2_mixer, libjpeg, libpng }:
 
 buildPythonPackage rec {
   pname = "pygame_sdl2";
-  version = "6.99.10.1227";
-  name = "${pname}-${version}";
-
-  src = fetchFromGitHub {
-    owner = "renpy";
-    repo = "${pname}";
-    rev = "renpy-${version}";
-    sha256 = "10n6janvqh5adn7pcijqwqfh234sybjz788kb8ac6b4l11hy2lx1";
+  version = "2.1.0";
+  renpy_version = "6.99.14";
+  name = "${pname}-${version}-${renpy_version}";
+
+  src = fetchurl {
+    url = "https://www.renpy.org/dl/${renpy_version}/pygame_sdl2-${version}-for-renpy-${renpy_version}.tar.gz";
+    sha256 = "1zsnb2bivbwysgxmfg9iv12arhpf3gqkmqinhciz955hlqv016b9";
   };
 
+  # force rebuild of headers needed for install
+  prePatch = ''
+    rm -rf gen gen3
+  '';
+
+  patches = [
+    # fix for recent sdl2
+    (fetchpatch {
+      url = "https://github.com/apoleon/pygame_sdl2/commit/ced6051f4a4559a725804cc58c079e1efea0a573.patch";
+      sha256 = "08rqjzvdlmmdf8kyd8ws5lzjy1mrwnds4fdy38inkyw7saydcxyr";
+    })
+  ];
+
   buildInputs = [
     SDL2 SDL2_image SDL2_ttf SDL2_mixer
     cython libjpeg libpng
diff --git a/pkgs/development/python-modules/pygccxml/default.nix b/pkgs/development/python-modules/pygccxml/default.nix
new file mode 100644
index 00000000000..5271677dc1e
--- /dev/null
+++ b/pkgs/development/python-modules/pygccxml/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, castxml, fetchFromGitHub, buildPythonPackage,
+llvmPackages, clang }:
+buildPythonPackage rec {
+  pname = "pygccxml";
+  version = "1.9.1";
+
+  src = fetchFromGitHub {
+    owner  = "gccxml";
+    repo   = "pygccxml";
+    rev    = "v${version}";
+    sha256 = "02ip03s0vmp7czzflbvf7qnybibfrd0rzqbc5zfmq3zmpnck3hvm";
+  };
+
+  buildInputs = [ castxml llvmPackages.libcxxStdenv];
+
+  # running the suite is hard, needs to generate xml_generator.cfg
+  # but the format doesn't accept -isystem directives
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/gccxml/pygccxml;
+    description = "Python package for easy C++ declarations navigation";
+    license = licenses.boost;
+    maintainers = with maintainers; [ teto ];
+  };
+}
diff --git a/pkgs/development/python-modules/pygit2/default.nix b/pkgs/development/python-modules/pygit2/default.nix
index d8eb05cf348..3f05aa7b789 100644
--- a/pkgs/development/python-modules/pygit2/default.nix
+++ b/pkgs/development/python-modules/pygit2/default.nix
@@ -3,11 +3,11 @@
 buildPythonPackage rec {
   name = "${pname}-${version}";
   pname = "pygit2";
-  version = "0.26.3";
+  version = "0.26.4";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "29baa530d6fcbf7cca6a75cf9c78fb88613ca81afb39c62fe492f226f6b61800";
+    sha256 = "a8a0ecce4aadac2675afa5bcda0f698bfe39ec61ac1e15b9264704d1b41bb390";
   };
 
   preConfigure = lib.optionalString stdenv.isDarwin ''
diff --git a/pkgs/development/python-modules/pyglet/default.nix b/pkgs/development/python-modules/pyglet/default.nix
index 3fc7f8ddb68..4bc1cd0608c 100644
--- a/pkgs/development/python-modules/pyglet/default.nix
+++ b/pkgs/development/python-modules/pyglet/default.nix
@@ -2,12 +2,12 @@
 , libGLU_combined, xorg, freetype, fontconfig, future}:
 
 buildPythonPackage rec {
-  version = "1.3.1";
+  version = "1.3.2";
   pname = "pyglet";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0a73280fa3949ea4890fee28f625c10b1e10a7cda390a08b6bce4740948167cd";
+    sha256 = "b00570e7cdf6971af8953b6ece50d83d13272afa5d1f1197c58c0f478dd17743";
   };
 
   postPatch = let
diff --git a/pkgs/development/python-modules/pygraphviz/default.nix b/pkgs/development/python-modules/pygraphviz/default.nix
index bed258c1673..e6ab3512797 100644
--- a/pkgs/development/python-modules/pygraphviz/default.nix
+++ b/pkgs/development/python-modules/pygraphviz/default.nix
@@ -22,6 +22,6 @@ buildPythonPackage rec {
     description = "Python interface to Graphviz graph drawing package";
     homepage = https://github.com/pygraphviz/pygraphviz;
     license = licenses.bsd3;
-    maintainers = with maintainers; [ matthiasbeyer ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/development/python-modules/pygtail/default.nix b/pkgs/development/python-modules/pygtail/default.nix
new file mode 100644
index 00000000000..503dad717c2
--- /dev/null
+++ b/pkgs/development/python-modules/pygtail/default.nix
@@ -0,0 +1,25 @@
+{ lib, buildPythonPackage, fetchFromGitHub }:
+
+buildPythonPackage rec {
+  pname = "pygtail";
+  version = "0.8.0";
+
+  src = fetchFromGitHub {
+    owner = "bgreenlee";
+    repo = pname;
+    rev = version;
+    sha256 = "1f8qlijiwn10jxg1bsi6q42fznbg8rw039yaxfh6rzbaj2gaxbz1";
+  };
+
+  # remove at next bump, tag is one commit early for 0.8.0
+  postPatch = ''
+    substituteInPlace pygtail/core.py \
+      --replace 0.7.0 0.8.0
+  '';
+
+  meta = with lib; {
+    description = "A library for reading log file lines that have not been read";
+    license = licenses.gpl2Plus;
+    homepage = https://github.com/bgreenlee/pygtail;
+  };
+}
diff --git a/pkgs/development/python-modules/pyhomematic/default.nix b/pkgs/development/python-modules/pyhomematic/default.nix
index 1191b09ec38..0967659a641 100644
--- a/pkgs/development/python-modules/pyhomematic/default.nix
+++ b/pkgs/development/python-modules/pyhomematic/default.nix
@@ -2,7 +2,7 @@
 
 buildPythonPackage rec {
   pname = "pyhomematic";
-  version = "0.1.39";
+  version = "0.1.42";
 
   disabled = !isPy3k;
 
@@ -11,9 +11,12 @@ buildPythonPackage rec {
     owner = "danielperna84";
     repo = pname;
     rev = version;
-    sha256 = "1g181x2mrhxcaswr6vi2m7if97wv4rf2g2pny60334sciga8njfz";
+    sha256 = "0h7bq66q22kzj1xwhxmr7knibsmb4csjwq3jr19fyl9sxxmgqwqy";
   };
 
+  # Unreliable timing: https://github.com/danielperna84/pyhomematic/issues/126
+  doCheck = false;
+
   meta = with stdenv.lib; {
     description = "Python 3 Interface to interact with Homematic devices";
     homepage = https://github.com/danielperna84/pyhomematic;
diff --git a/pkgs/development/python-modules/pyjade/default.nix b/pkgs/development/python-modules/pyjade/default.nix
new file mode 100644
index 00000000000..ad6742f5deb
--- /dev/null
+++ b/pkgs/development/python-modules/pyjade/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, buildPythonPackage, fetchPypi, pyramid_mako, nose, django, jinja2
+, tornado, pyramid, Mako, six }:
+
+buildPythonPackage rec {
+  pname = "pyjade";
+  version = "4.0.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1mycn5cc9cp4fb0i2vzgkkk6d0glnkbilggwb4i99i09vr0vg5cd";
+  };
+
+  buildInputs = [ pyramid_mako nose django jinja2 tornado pyramid Mako ];
+  propagatedBuildInputs = [ six ];
+  postPatch = ''
+    sed -i 's/1.4.99/1.99/' setup.py
+  '';
+  checkPhase = ''
+    nosetests pyjade
+  '';
+  # No tests distributed. https://github.com/syrusakbary/pyjade/issues/262
+  doCheck = false;
+  meta = with stdenv.lib; {
+    description = "Jade syntax template adapter for Django, Jinja2, Mako and Tornado templates";
+    homepage    = "https://github.com/syrusakbary/pyjade";
+    license     = licenses.mit;
+    maintainers = with maintainers; [ nand0p ];
+  };
+}
diff --git a/pkgs/development/python-modules/pylint/default.nix b/pkgs/development/python-modules/pylint/default.nix
index c38b71c7f47..5e053891164 100644
--- a/pkgs/development/python-modules/pylint/default.nix
+++ b/pkgs/development/python-modules/pylint/default.nix
@@ -4,11 +4,11 @@
 buildPythonPackage rec {
   name = "${pname}-${version}";
   pname = "pylint";
-  version = "1.8.2";
+  version = "1.8.4";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "4fe3b99da7e789545327b75548cee6b511e4faa98afe268130fea1af4b5ec022";
+    sha256 = "34738a82ab33cbd3bb6cd4cef823dbcabdd2b6b48a4e3a3054a2bbbf0c712be9";
   };
 
   buildInputs = [ pytest pytestrunner mccabe configparser backports_functools_lru_cache ];
diff --git a/pkgs/development/python-modules/pymc3/default.nix b/pkgs/development/python-modules/pymc3/default.nix
new file mode 100644
index 00000000000..308958abb6d
--- /dev/null
+++ b/pkgs/development/python-modules/pymc3/default.nix
@@ -0,0 +1,64 @@
+{ lib
+, fetchPypi
+, buildPythonPackage
+, pythonOlder
+, Theano
+, pandas
+, patsy
+, joblib
+, tqdm
+, six
+, h5py
+, pytest
+, nose
+, parameterized
+, matplotlib
+}:
+
+buildPythonPackage rec {
+  pname = "pymc3";
+  version = "3.2";
+  disabled = pythonOlder "3.5";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0hpzhkpv7sbwkcva7x914yvzcf1d1a952ynbcx6mvlgv5lqghc39";
+  };
+
+  # No need for coverage stats in Nix builds
+  postPatch = ''
+    substituteInPlace setup.py --replace ", 'pytest-cov'" ""
+  '';
+
+  propagatedBuildInputs = [
+    Theano
+    pandas
+    patsy
+    joblib
+    tqdm
+    six
+    h5py
+  ];
+
+  checkInputs = [
+    pytest
+    nose
+    parameterized
+  ];
+
+  # The test suite is computationally intensive and test failures are not
+  # indicative for package usability hence tests are disabled by default.
+  doCheck = false;
+
+  # For some reason tests are run as a part of the *install* phase if enabled.
+  # Theano writes compiled code to ~/.theano hence we set $HOME.
+  preInstall = "export HOME=$(mktemp -d)";
+  postInstall = "rm -rf $HOME";
+
+  meta = {
+    description = "Bayesian estimation, particularly using Markov chain Monte Carlo (MCMC)";
+    homepage = http://github.com/pymc-devs/pymc3;
+    license = lib.licenses.asl20;
+    maintainers = with lib.maintainers; [ ilya-kolpakov ];
+  };
+}
diff --git a/pkgs/development/python-modules/pymongo/default.nix b/pkgs/development/python-modules/pymongo/default.nix
index 577cd9142f9..038b12b3a9e 100644
--- a/pkgs/development/python-modules/pymongo/default.nix
+++ b/pkgs/development/python-modules/pymongo/default.nix
@@ -2,12 +2,12 @@
 
 buildPythonPackage rec {
   pname = "pymongo";
-  version = "3.6.0";
+  version = "3.6.1";
   name  = "${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "c6de26d1e171cdc449745b82f1addbc873d105b8e7335097da991c0fc664a4a8";
+    sha256 = "f7ebcb846962ee40374db2d9014a89bea9c983ae63c1877957c3a0a756974796";
   };
 
   doCheck = false;
diff --git a/pkgs/development/python-modules/pymvglive/default.nix b/pkgs/development/python-modules/pymvglive/default.nix
new file mode 100644
index 00000000000..1263c498a46
--- /dev/null
+++ b/pkgs/development/python-modules/pymvglive/default.nix
@@ -0,0 +1,19 @@
+{ lib, stdenv, buildPythonPackage, fetchPypi, requests }:
+
+buildPythonPackage rec {
+  pname = "PyMVGLive";
+  version = "1.1.4";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0sh4xm74im9qxzpbrlc5h1vnpgvpybnpvdcav1iws0b561zdr08c";
+  };
+
+  propagatedBuildInputs = [ requests ];
+
+  meta = with lib; {
+    description = "get live-data from mvg-live.de";
+    homepage = https://github.com/pc-coholic/PyMVGLive;
+    license = licenses.free;
+  };
+}
diff --git a/pkgs/development/python-modules/pyobjc/default.nix b/pkgs/development/python-modules/pyobjc/default.nix
index 874e0d47fc9..ea557938d20 100644
--- a/pkgs/development/python-modules/pyobjc/default.nix
+++ b/pkgs/development/python-modules/pyobjc/default.nix
@@ -3,7 +3,7 @@
 buildPythonPackage rec {
   name = "${pname}-${version}";
   pname = "pyobjc";
-  version = "4.1";
+  version = "4.2.1";
 
   # Gives "No matching distribution found for
   # pyobjc-framework-Collaboration==4.0b1 (from pyobjc==4.0b1)"
@@ -11,7 +11,7 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "287db11f912ac7d05c4907dbf6e74abaa475e36368f7c92e05aca2886a94562c";
+    sha256 = "b156abab60da3f3c4bc65a919eabb2c98539a94163a277efba5828358396d23e";
   };
 
   meta = {
diff --git a/pkgs/development/python-modules/pyocr/default.nix b/pkgs/development/python-modules/pyocr/default.nix
index e253e64a41c..c30d80a0015 100644
--- a/pkgs/development/python-modules/pyocr/default.nix
+++ b/pkgs/development/python-modules/pyocr/default.nix
@@ -1,11 +1,12 @@
 { lib, fetchFromGitHub, buildPythonPackage, pillow, six
-, tesseract, cuneiform
+, tesseract, cuneiform, isPy3k
 }:
 
 buildPythonPackage rec {
   pname = "pyocr";
   version = "0.4.7";
   name = pname + "-" + version;
+  disabled = !isPy3k;
 
   # Don't fetch from PYPI because it doesn't contain tests.
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/pyodbc/default.nix b/pkgs/development/python-modules/pyodbc/default.nix
index 0fab9979aac..d8d61c56c35 100644
--- a/pkgs/development/python-modules/pyodbc/default.nix
+++ b/pkgs/development/python-modules/pyodbc/default.nix
@@ -2,13 +2,13 @@
 
 buildPythonPackage rec {
   pname = "pyodbc";
-  version = "4.0.22";
+  version = "4.0.23";
   name = "${pname}-${version}";
   disabled = isPyPy;  # use pypypdbc instead
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "e2d742b42c8b92b10018c51d673fe72d925ab90d4dbaaccd4f209e10e228ba73";
+    sha256 = "bb33d032c1f25781db64e2e4fecf77047fab2ddde42a6cd9496e3c66fb8e9f66";
   };
 
   buildInputs = [ libiodbc ];
diff --git a/pkgs/development/python-modules/pyopencl/default.nix b/pkgs/development/python-modules/pyopencl/default.nix
index a2d019374c9..d90ff458107 100644
--- a/pkgs/development/python-modules/pyopencl/default.nix
+++ b/pkgs/development/python-modules/pyopencl/default.nix
@@ -15,7 +15,7 @@
 
 buildPythonPackage rec {
   pname = "pyopencl";
-  version = "2018.1";
+  version = "2018.1.1";
 
   checkInputs = [ pytest ];
   buildInputs = [ opencl-headers ocl-icd ];
@@ -24,7 +24,7 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "b692966bbaaa65ef8949ee25660d6b0cc7cbadc7f4a35eb9c5139dfa4dde6d4a";
+    sha256 = "29683b47ec729c77a1be4d6fae2bd3718ca4cfcbe14655261a3a14d5bf55530a";
   };
 
   # py.test is not needed during runtime, so remove it from `install_requires`
diff --git a/pkgs/development/python-modules/pyowm/default.nix b/pkgs/development/python-modules/pyowm/default.nix
new file mode 100644
index 00000000000..26606a580a4
--- /dev/null
+++ b/pkgs/development/python-modules/pyowm/default.nix
@@ -0,0 +1,19 @@
+{ lib, stdenv, buildPythonPackage, fetchPypi, requests }:
+
+buildPythonPackage rec {
+  pname = "pyowm";
+  version = "2.8.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0y2r322pcamabar70513pbyiq26x33l1aq9cim6k30lk9p4aq310";
+  };
+
+  propagatedBuildInputs = [ requests ];
+
+  meta = with lib; {
+    description = "A Python wrapper around the OpenWeatherMap web API";
+    homepage = https://pyowm.readthedocs.io/;
+    license = licenses.mit;
+  };
+}
diff --git a/pkgs/development/python-modules/pypcap/default.nix b/pkgs/development/python-modules/pypcap/default.nix
index e2d4e1efe28..ead63c2c1b3 100644
--- a/pkgs/development/python-modules/pypcap/default.nix
+++ b/pkgs/development/python-modules/pypcap/default.nix
@@ -2,12 +2,12 @@
 
 buildPythonPackage rec {
   pname = "pypcap";
-  version = "1.2.0";
+  version = "1.2.1";
   name = "${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0n01xjgg8n5mf1cs9yg9ljsx1kvir8cm6wwrd2069fawjxdbk0b9";
+    sha256 = "9ca9f79ca839fdc8fd37393509e2cb06be70f8db03f8cfe1857ca40cac1149f0";
   };
 
   patches = [
diff --git a/pkgs/development/python-modules/pyperclip/default.nix b/pkgs/development/python-modules/pyperclip/default.nix
new file mode 100644
index 00000000000..282f9b65cb6
--- /dev/null
+++ b/pkgs/development/python-modules/pyperclip/default.nix
@@ -0,0 +1,19 @@
+{ lib, buildPythonPackage, fetchPypi }:
+
+buildPythonPackage rec {
+  version = "1.6.0";
+  pname = "pyperclip";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "ce829433a9af640e08ee89b20f7c62132714bcc5d77df114044d0fccb8c3b3b8";
+  };
+
+  doCheck = false;
+
+  meta = with lib; {
+    homepage = "https://github.com/asweigart/pyperclip";
+    license = licenses.bsdOriginal;
+    description = "Cross-platform clipboard module";
+  };
+}
diff --git a/pkgs/development/python-modules/pyqt/5.x.nix b/pkgs/development/python-modules/pyqt/5.x.nix
index 225da204e21..331366e379d 100644
--- a/pkgs/development/python-modules/pyqt/5.x.nix
+++ b/pkgs/development/python-modules/pyqt/5.x.nix
@@ -6,9 +6,10 @@
 
 let
   pname = "PyQt";
-  version = "5.10";
+  version = "5.10.1";
 
   inherit (pythonPackages) buildPythonPackage python dbus-python sip;
+
 in buildPythonPackage {
   pname = pname;
   version = version;
@@ -24,16 +25,18 @@ in buildPythonPackage {
 
   src = fetchurl {
     url = "mirror://sourceforge/pyqt/PyQt5/PyQt-${version}/PyQt5_gpl-${version}.tar.gz";
-    sha256 = "0l2zy6b7bfjxmg4bb8yikg6i8iy2xdwmvk7knfmrzfpqbmkycbrl";
+    sha256 = "1vz9c4v0k8azk2b08swwybrshzw32x8djjpq13mf9v15x1qyjclr";
   };
 
-  nativeBuildInputs = [ pkgconfig qmake ];
+  outputs = [ "out" "dev" ];
 
-  buildInputs = [
-    lndir qtbase qtsvg qtwebkit qtwebengine dbus_libs
-  ] ++ lib.optional withWebSockets qtwebsockets ++ lib.optional withConnectivity qtconnectivity;
+  nativeBuildInputs = [ pkgconfig qmake lndir ];
 
-  propagatedBuildInputs = [ sip ];
+  buildInputs = [ dbus_libs ];
+
+  propagatedBuildInputs = [
+    sip qtbase qtsvg qtwebkit qtwebengine
+  ] ++ lib.optional withWebSockets qtwebsockets ++ lib.optional withConnectivity qtconnectivity;
 
   configurePhase = ''
     runHook preConfigure
diff --git a/pkgs/development/python-modules/pyroute2/default.nix b/pkgs/development/python-modules/pyroute2/default.nix
index 7a59690e5b0..6e2d923f80c 100644
--- a/pkgs/development/python-modules/pyroute2/default.nix
+++ b/pkgs/development/python-modules/pyroute2/default.nix
@@ -2,12 +2,12 @@
 
 buildPythonPackage rec {
   pname = "pyroute2";
-  version = "0.4.21";
+  version = "0.5.0";
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://pypi/p/pyroute2/${name}.tar.gz";
-    sha256 = "7afad28ee0a0f3e7c34adaa9f953d00560ed9910203e93f107833b6e8d151171";
+    sha256 = "bb02fe5a02fb4e8baad4d7ccf7ba5e748044ee0a1ad7d2fa4927f68f396863c4";
   };
 
   # requires root priviledges
diff --git a/pkgs/development/python-modules/pysensors/default.nix b/pkgs/development/python-modules/pysensors/default.nix
new file mode 100644
index 00000000000..c891140827e
--- /dev/null
+++ b/pkgs/development/python-modules/pysensors/default.nix
@@ -0,0 +1,32 @@
+{ stdenv, buildPythonPackage, python, fetchFromGitHub, lm_sensors }:
+buildPythonPackage rec {
+  version = "2017-07-13";
+  pname = "pysensors";
+
+  # note that https://pypi.org/project/PySensors/ is a different project
+  src = fetchFromGitHub {
+    owner = "bastienleonard";
+    repo = "pysensors";
+    rev = "ef46fc8eb181ecb8ad09b3d80bc002d23d9e26b3";
+    sha256 = "1xvbxnkz55fk5fpr514263c7s7s9r8hgrw4ybfaj5a0mligmmrfm";
+  };
+
+  buildInputs = [ lm_sensors ];
+
+  # Tests are disable because they fail on `aarch64-linux`, probably
+  # due to sandboxing
+  doCheck = false;
+
+  checkPhase = ''
+    cd tests
+    ${python.interpreter} -m unittest discover
+  '';
+
+  meta = with stdenv.lib; {
+    maintainers = with maintainers; [ guibou ];
+    description = "Easy hardware health monitoring in Python for Linux systems";
+    homepage = http://pysensors.readthedocs.org;
+    license = licenses.bsd2;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/python-modules/pysha3/default.nix b/pkgs/development/python-modules/pysha3/default.nix
new file mode 100644
index 00000000000..4df98623e11
--- /dev/null
+++ b/pkgs/development/python-modules/pysha3/default.nix
@@ -0,0 +1,19 @@
+{ lib, buildPythonPackage, fetchPypi, pythonOlder }:
+
+buildPythonPackage rec {
+  pname = "pysha3";
+  version = "1.0.2";
+  name = "${pname}-${version}";
+  disabled = pythonOlder "2.7";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "17kkjapv6sr906ib0r5wpldmzw7scza08kv241r98vffy9rqx67y";
+  };
+
+  meta = {
+    description = "Backport of hashlib.sha3 for 2.7 to 3.5";
+    homepage = https://github.com/tiran/pysha3;
+    license = lib.licenses.psfl;
+  };
+}
diff --git a/pkgs/development/python-modules/pyslurm/default.nix b/pkgs/development/python-modules/pyslurm/default.nix
index 41b42bb63ec..1bc08d63418 100644
--- a/pkgs/development/python-modules/pyslurm/default.nix
+++ b/pkgs/development/python-modules/pyslurm/default.nix
@@ -2,14 +2,13 @@
 
 buildPythonPackage rec {
   pname = "pyslurm";
-  version = "20171102";
-  name = pname + "-" + version;
+  version = "20180427";
 
   src = fetchFromGitHub {
     repo = "pyslurm";
     owner = "PySlurm";
-    rev = "a2acbc820da419e308c5817998d2abe78a7b75e6";
-    sha256 = "1wmlx5fh1xzjyksvmq7i083hmyvs7id61ysk2d9hbmf8rza498as";
+    rev = "3900e1afac9ffd13c80c57d8c39933d42eb7bad7";
+    sha256 = "1a183ig4sdbc70rx2yyaslyq61wkbsf8cbim1jj0kzrp65nf0vls";
   };
 
   buildInputs = [ cython slurm ];
diff --git a/pkgs/development/python-modules/pyspark/default.nix b/pkgs/development/python-modules/pyspark/default.nix
new file mode 100644
index 00000000000..3447c64cf6b
--- /dev/null
+++ b/pkgs/development/python-modules/pyspark/default.nix
@@ -0,0 +1,28 @@
+{ buildPythonPackage, fetchPypi, stdenv, py4j }:
+
+buildPythonPackage rec {
+  pname = "pyspark";
+  version = "2.3.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0vlq07yqy6c7ayg401i0qynnliqz405bmw1r8alkck0m1s8kcd8b";
+  };
+
+  # pypandoc is broken with pandoc2, so we just lose docs.
+  postPatch = ''
+    sed -i "s/'pypandoc'//" setup.py
+  '';
+
+  propagatedBuildInputs = [ py4j ];
+
+  # Tests assume running spark...
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    description = "Apache Spark";
+    homepage = https://github.com/apache/spark/tree/master/python;
+    license = licenses.asl20;
+    maintainers = [ maintainers.shlevy ];
+  };
+}
diff --git a/pkgs/development/python-modules/pytaglib/default.nix b/pkgs/development/python-modules/pytaglib/default.nix
new file mode 100644
index 00000000000..6674a89180a
--- /dev/null
+++ b/pkgs/development/python-modules/pytaglib/default.nix
@@ -0,0 +1,33 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, taglib
+, cython
+, pytest
+, glibcLocales
+}:
+
+buildPythonPackage rec {
+  pname   = "pytaglib";
+  version = "1.4.3";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "44ab26dc4b33962b8db0bb8856e7b166539c0c555bc933a6bbbc96f4ec51c7a2";
+  };
+
+  buildInputs = [ taglib cython ];
+
+  checkInputs = [ pytest glibcLocales ];
+
+  checkPhase = ''
+    LC_ALL=en_US.utf-8 pytest .
+  '';
+
+  meta = {
+    homepage = https://github.com/supermihi/pytaglib;
+    description = "Python 2.x/3.x bindings for the Taglib audio metadata library";
+    license = lib.licenses.gpl3;
+    maintainers = [ lib.maintainers.mrkkrp ];
+  };
+}
diff --git a/pkgs/development/python-modules/pytest-catchlog/default.nix b/pkgs/development/python-modules/pytest-catchlog/default.nix
new file mode 100644
index 00000000000..fb020ba471f
--- /dev/null
+++ b/pkgs/development/python-modules/pytest-catchlog/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, buildPythonPackage, fetchPypi, pytest, unzip }:
+
+buildPythonPackage rec {
+  pname = "pytest-catchlog";
+  version = "1.2.2";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1w7wxh27sbqwm4jgwrjr9c2gy384aca5jzw9c0wzhl0pmk2mvqab";
+    extension = "zip";
+  };
+
+  buildInputs = [ pytest unzip ];
+  checkPhase = "make test";
+
+  # Requires pytest < 3.1
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    license = licenses.mit;
+    homepage = https://pypi.python.org/pypi/pytest-catchlog/;
+    description = "py.test plugin to catch log messages. This is a fork of pytest-capturelog.";
+  };
+}
diff --git a/pkgs/development/python-modules/pytest-cov/default.nix b/pkgs/development/python-modules/pytest-cov/default.nix
new file mode 100644
index 00000000000..915884b5dd4
--- /dev/null
+++ b/pkgs/development/python-modules/pytest-cov/default.nix
@@ -0,0 +1,30 @@
+{ stdenv, buildPythonPackage, fetchPypi
+, pytest, pytest_xdist, virtualenv, process-tests, coverage }:
+
+buildPythonPackage rec {
+  pname = "pytest-cov";
+  version = "2.5.1";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "03aa752cf11db41d281ea1d807d954c4eda35cfa1b21d6971966cc041bbf6e2d";
+  };
+
+  buildInputs = [ pytest pytest_xdist virtualenv process-tests ];
+  propagatedBuildInputs = [ coverage ];
+
+  # xdist related tests fail with the following error
+  # OSError: [Errno 13] Permission denied: 'py/_code'
+  doCheck = false;
+  checkPhase = ''
+    # allow to find the module helper during the test run
+    export PYTHONPATH=$PYTHONPATH:$PWD/tests
+    py.test tests
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Plugin for coverage reporting with support for both centralised and distributed testing, including subprocesses and multiprocessing";
+    homepage = https://github.com/pytest-dev/pytest-cov;
+    license = licenses.mit;
+  };
+}
diff --git a/pkgs/development/python-modules/pytest-fixture-config/default.nix b/pkgs/development/python-modules/pytest-fixture-config/default.nix
new file mode 100644
index 00000000000..df700526d1b
--- /dev/null
+++ b/pkgs/development/python-modules/pytest-fixture-config/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, buildPythonPackage, fetchPypi
+, setuptools-git, pytest, six }:
+
+buildPythonPackage rec {
+  pname = "pytest-fixture-config";
+  version = "1.3.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1717cd7d2233943cae9af419c6e31dca5e40d5de01ef0bcfd5cd06f37548db08";
+  };
+
+  nativeBuildInputs = [ setuptools-git ];
+
+  buildInputs = [ pytest ];
+
+  checkInputs = [ six ];
+
+  checkPhase = ''
+    py.test
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Simple configuration objects for Py.test fixtures. Allows you to skip tests when their required config variables aren’t set.";
+    homepage = https://github.com/manahl/pytest-plugins;
+    license = licenses.mit;
+    maintainers = with maintainers; [ ryansydnor ];
+  };
+}
diff --git a/pkgs/development/python-modules/pytest-flake8/default.nix b/pkgs/development/python-modules/pytest-flake8/default.nix
index d79f32a6766..c2d205f2833 100644
--- a/pkgs/development/python-modules/pytest-flake8/default.nix
+++ b/pkgs/development/python-modules/pytest-flake8/default.nix
@@ -1,9 +1,8 @@
 {lib, buildPythonPackage, fetchPypi, fetchpatch, pytest, flake8}:
 
 buildPythonPackage rec {
-  name = "${pname}-${version}";
   pname = "pytest-flake8";
-  version = "0.9.1";
+  version = "1.0.1";
 
   # although pytest is a runtime dependency, do not add it as
   # propagatedBuildInputs in order to allow packages depend on another version
@@ -13,7 +12,7 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0032l4x2i5qn7ikaaw0kjs9f4ccpas21j564spyxwmx50wnhf5p7";
+    sha256 = "0s5fdivrmhjf6ybr6m2qb1h8hndv2jh2ir29qv36lhy9b7sc9kg5";
   };
 
   checkPhase = ''
diff --git a/pkgs/development/python-modules/pytest-flakes/default.nix b/pkgs/development/python-modules/pytest-flakes/default.nix
new file mode 100644
index 00000000000..83fcdaf1b77
--- /dev/null
+++ b/pkgs/development/python-modules/pytest-flakes/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, buildPythonPackage, fetchPypi
+, pytestpep8, pytest, pyflakes, pytestcache }:
+
+buildPythonPackage rec {
+  pname = "pytest-flakes";
+  version = "2.0.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "3e880927fd2a77d31715eaab3876196e76d779726c9c24fe32ee5bab23281f82";
+  };
+
+  buildInputs = [ pytestpep8 pytest ];
+  propagatedBuildInputs = [ pyflakes pytestcache ];
+
+  checkPhase = ''
+    py.test test_flakes.py
+  '';
+
+  meta = with stdenv.lib; {
+    license = licenses.mit;
+    homepage = https://pypi.python.org/pypi/pytest-flakes;
+    description = "pytest plugin to check source code with pyflakes";
+  };
+}
diff --git a/pkgs/development/python-modules/pytest-isort/default.nix b/pkgs/development/python-modules/pytest-isort/default.nix
new file mode 100644
index 00000000000..c1866f174ea
--- /dev/null
+++ b/pkgs/development/python-modules/pytest-isort/default.nix
@@ -0,0 +1,23 @@
+{ lib, buildPythonPackage, fetchPypi, pytestcache, pytest, isort }:
+
+buildPythonPackage rec {
+  pname = "pytest-isort";
+  version = "0.1.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "e92798127e21d22513c62070989f0fb3b712650e48a4db13e5b8e8034d367cfe";
+  };
+
+  propagatedBuildInputs = [ pytestcache pytest isort ];
+
+  # no tests in PyPI tarball, no tags on GitHub
+  # https://github.com/moccu/pytest-isort/pull/8
+  doCheck = false;
+
+  meta = with lib; {
+    description = "Pytest plugin to perform isort checks (import ordering)";
+    homepage = https://github.com/moccu/pytest-isort/;
+    license = licenses.bsd3;
+  };
+}
diff --git a/pkgs/development/python-modules/pytest-mock/default.nix b/pkgs/development/python-modules/pytest-mock/default.nix
index 2694e9c1ea0..88b6a662d47 100644
--- a/pkgs/development/python-modules/pytest-mock/default.nix
+++ b/pkgs/development/python-modules/pytest-mock/default.nix
@@ -1,12 +1,12 @@
-{ lib, buildPythonPackage, fetchPypi, isPy3k, pytest, mock, setuptools_scm }:
+{ lib, buildPythonPackage, fetchPypi, fetchpatch, isPy3k, pytest, mock, setuptools_scm }:
 
 buildPythonPackage rec {
   pname = "pytest-mock";
-  version = "1.7.1";
+  version = "1.8.0";
  
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0jgr1h1f0m9dl3alxiiw55as28pj2lpihz12gird9z1i3vvdyydq";
+    sha256 = "2dd545496af6a0559432b11de79f1fd4fa4a541ae2e01892d5ba6041f85f0994";
   };
 
   propagatedBuildInputs = [ pytest ] ++ lib.optional (!isPy3k) mock;
diff --git a/pkgs/development/python-modules/pytest-pep8/default.nix b/pkgs/development/python-modules/pytest-pep8/default.nix
new file mode 100644
index 00000000000..1fcb99574b2
--- /dev/null
+++ b/pkgs/development/python-modules/pytest-pep8/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, buildPythonPackage, fetchPypi
+, pytest, pytestcache, pep8 }:
+
+buildPythonPackage rec {
+  pname = "pytest-pep8";
+  version = "1.0.6";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "06032agzhw1i9d9qlhfblnl3dw5hcyxhagn7b120zhrszbjzfbh3";
+  };
+
+  buildInputs = [ pytest ];
+  propagatedBuildInputs = [ pytestcache pep8 ];
+
+  checkPhase = ''
+    py.test
+  '';
+
+  # Fails
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    license = licenses.mit;
+    homepage = https://pypi.python.org/pypi/pytest-pep8;
+    description = "pytest plugin to check PEP8 requirements";
+  };
+}
diff --git a/pkgs/development/python-modules/pytest-raisesregexp/default.nix b/pkgs/development/python-modules/pytest-raisesregexp/default.nix
new file mode 100644
index 00000000000..bc7d1413200
--- /dev/null
+++ b/pkgs/development/python-modules/pytest-raisesregexp/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, buildPythonPackage, fetchPypi
+, py, pytest }:
+
+buildPythonPackage rec {
+  pname = "pytest-raisesregexp";
+  version = "2.1";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "b54372494fc1f11388b1b9348aeb36b69609699eb8f46e0e010afc733d78236a";
+  };
+
+  buildInputs = [ py pytest ];
+
+  # https://github.com/kissgyorgy/pytest-raisesregexp/pull/3
+  prePatch = ''
+    sed -i '3i\import io' setup.py
+    substituteInPlace setup.py --replace "long_description=open('README.rst').read()," "long_description=io.open('README.rst', encoding='utf-8').read(),"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Simple pytest plugin to look for regex in Exceptions";
+    homepage = https://github.com/Walkman/pytest_raisesregexp;
+    license = with licenses; [ mit ];
+  };
+}
diff --git a/pkgs/development/python-modules/pytest-server-fixtures/default.nix b/pkgs/development/python-modules/pytest-server-fixtures/default.nix
new file mode 100644
index 00000000000..c50795a6669
--- /dev/null
+++ b/pkgs/development/python-modules/pytest-server-fixtures/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, buildPythonPackage, fetchPypi
+, pytest, setuptools-git, pytest-shutil, pytest-fixture-config, psutil
+, requests, future }:
+
+buildPythonPackage rec {
+  pname = "pytest-server-fixtures";
+  version = "1.3.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "21eef04612ed42f73534c45ddbaef8458c800809354a5f5a96a8fde88b2a97e7";
+  };
+
+  buildInputs = [ pytest ];
+  propagatedBuildInputs = [ setuptools-git pytest-shutil pytest-fixture-config psutil requests future ];
+
+  # RuntimeError: Unable to find a free server number to start Xvfb
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    description = "Extensible server fixures for py.test";
+    homepage  = "https://github.com/manahl/pytest-plugins";
+    license = licenses.mit;
+    maintainers = with maintainers; [ nand0p ];
+  };
+}
diff --git a/pkgs/development/python-modules/pytest-shutil/default.nix b/pkgs/development/python-modules/pytest-shutil/default.nix
new file mode 100644
index 00000000000..4fa11dbd7d1
--- /dev/null
+++ b/pkgs/development/python-modules/pytest-shutil/default.nix
@@ -0,0 +1,27 @@
+{ stdenv, buildPythonPackage, fetchPypi
+, pytest, cmdline, pytestcov, coverage, setuptools-git, mock, pathpy, execnet
+, contextlib2, termcolor }:
+
+buildPythonPackage rec {
+  pname = "pytest-shutil";
+  version = "1.3.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "2cfe4d3f5f25ad2b19e64847d62563f5494b2e0450ca1cfc5940974029b2cbd1";
+  };
+
+  buildInputs = [ cmdline pytest ];
+  propagatedBuildInputs = [ pytestcov coverage setuptools-git mock pathpy execnet contextlib2 termcolor ];
+
+  checkPhase = ''
+    py.test
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A goodie-bag of unix shell and environment tools for py.test";
+    homepage = https://github.com/manahl/pytest-plugins;
+    maintainers = with maintainers; [ ryansydnor ];
+    license = licenses.mit;
+  };
+}
diff --git a/pkgs/development/python-modules/pytest-subtesthack/default.nix b/pkgs/development/python-modules/pytest-subtesthack/default.nix
new file mode 100644
index 00000000000..b639b61ad4d
--- /dev/null
+++ b/pkgs/development/python-modules/pytest-subtesthack/default.nix
@@ -0,0 +1,22 @@
+{ stdenv, buildPythonPackage, fetchPypi, pytest }:
+
+buildPythonPackage rec {
+  pname = "pytest-subtesthack";
+  version = "0.1.1";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "15kzcr5pchf3id4ikdvlv752rc0j4d912n589l4rifp8qsj19l1x";
+  };
+
+  buildInputs = [ pytest ];
+
+  # no upstream test
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    description = "Terrible plugin to set up and tear down fixtures within the test function itself";
+    homepage = https://github.com/untitaker/pytest-subtesthack;
+    license = licenses.publicDomain;
+  };
+}
diff --git a/pkgs/development/python-modules/pytest-sugar/default.nix b/pkgs/development/python-modules/pytest-sugar/default.nix
index a266b461749..16cd9aa966a 100644
--- a/pkgs/development/python-modules/pytest-sugar/default.nix
+++ b/pkgs/development/python-modules/pytest-sugar/default.nix
@@ -19,5 +19,9 @@ buildPythonPackage rec {
     description = "A plugin that changes the default look and feel of py.test";
     homepage = https://github.com/Frozenball/pytest-sugar;
     license = licenses.bsd3;
+
+    # incompatible with pytest 3.5
+    # https://github.com/Frozenball/pytest-sugar/issues/134
+    broken = true; # 2018-04-20
   };
 }
diff --git a/pkgs/development/python-modules/pytest-virtualenv/default.nix b/pkgs/development/python-modules/pytest-virtualenv/default.nix
new file mode 100644
index 00000000000..413d090bbcc
--- /dev/null
+++ b/pkgs/development/python-modules/pytest-virtualenv/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, buildPythonPackage, fetchPypi
+, pytest, pytestcov, mock, cmdline, pytest-fixture-config, pytest-shutil }:
+
+buildPythonPackage rec {
+  pname = "pytest-virtualenv";
+  version = "1.3.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "8d8a0b9b57f5efb7db6457c1f57347e35fe332979ecefe592d5324430ae3ed7f";
+  };
+
+  buildInputs = [ pytest pytestcov mock cmdline ];
+  propagatedBuildInputs = [ pytest-fixture-config pytest-shutil ];
+  checkPhase = '' py.test tests/unit '';
+
+  meta = with stdenv.lib; {
+    description = "Create a Python virtual environment in your test that cleans up on teardown. The fixture has utility methods to install packages and list what’s installed.";
+    homepage = https://github.com/manahl/pytest-plugins;
+    license = licenses.mit;
+    maintainers = with maintainers; [ ryansydnor ];
+  };
+}
diff --git a/pkgs/development/python-modules/pytest-xdist/default.nix b/pkgs/development/python-modules/pytest-xdist/default.nix
index 596ce38ed0a..38d34a95854 100644
--- a/pkgs/development/python-modules/pytest-xdist/default.nix
+++ b/pkgs/development/python-modules/pytest-xdist/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "pytest-xdist";
-  version = "1.22.0";
+  version = "1.22.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "65228a859191f2c74ee68c127317eefe35eedd3d43fc1431f19240663b0cafcd";
+    sha256 = "e8f5744acc270b3e7d915bdb4d5f471670f049b6fbd163d4cbd52203b075d30f";
   };
 
   nativeBuildInputs = [ setuptools_scm ];
diff --git a/pkgs/development/python-modules/pytest/default.nix b/pkgs/development/python-modules/pytest/default.nix
index 9b7f5cc12de..8e6b73b9c5e 100644
--- a/pkgs/development/python-modules/pytest/default.nix
+++ b/pkgs/development/python-modules/pytest/default.nix
@@ -1,8 +1,8 @@
 { stdenv, buildPythonPackage, fetchPypi, isPy26, argparse, attrs, hypothesis, py
-, setuptools_scm, setuptools, six, pluggy, funcsigs, isPy3k
+, setuptools_scm, setuptools, six, pluggy, funcsigs, isPy3k, more-itertools
 }:
 buildPythonPackage rec {
-  version = "3.4.0";
+  version = "3.5.1";
   pname = "pytest";
 
   preCheck = ''
@@ -12,12 +12,12 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "6074ea3b9c999bd6d0df5fa9d12dd95ccd23550df2a582f5f5b848331d2e82ca";
+    sha256 = "54713b26c97538db6ff0703a12b19aeaeb60b5e599de542e7fca0ec83b9038e8";
   };
 
   checkInputs = [ hypothesis ];
   buildInputs = [ setuptools_scm ];
-  propagatedBuildInputs = [ attrs py setuptools six pluggy ]
+  propagatedBuildInputs = [ attrs py setuptools six pluggy more-itertools ]
     ++ (stdenv.lib.optional (!isPy3k) funcsigs)
     ++ (stdenv.lib.optional isPy26 argparse);
 
diff --git a/pkgs/development/python-modules/pytestcache/default.nix b/pkgs/development/python-modules/pytestcache/default.nix
new file mode 100644
index 00000000000..2875bf88340
--- /dev/null
+++ b/pkgs/development/python-modules/pytestcache/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, buildPythonPackage, fetchPypi
+, pytest, execnet }:
+
+buildPythonPackage rec {
+  pname = "pytest-cache";
+  version = "1.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1a873fihw4rhshc722j4h6j7g3nj7xpgsna9hhg3zn6ksknnhx5y";
+  };
+
+  buildInputs = [ pytest ];
+  propagatedBuildInputs = [ execnet ];
+
+  checkPhase = ''
+    py.test
+  '';
+
+  # Too many failing tests. Are they maintained?
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    license = licenses.mit;
+    homepage = https://pypi.python.org/pypi/pytest-cache/;
+    description = "pytest plugin with mechanisms for caching across test runs";
+  };
+}
diff --git a/pkgs/development/python-modules/pytestrunner/default.nix b/pkgs/development/python-modules/pytestrunner/default.nix
index 4f15adcd90e..71b1260a540 100644
--- a/pkgs/development/python-modules/pytestrunner/default.nix
+++ b/pkgs/development/python-modules/pytestrunner/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "pytest-runner";
-  version = "4.0";
+  version = "4.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "183f3745561b1e00ea51cd97634ba5c540848ab4aa8016a81faba7fb7f33ec76";
+    sha256 = "d23f117be39919f00dd91bffeb4f15e031ec797501b717a245e377aee0f577be";
   };
 
   buildInputs = [ setuptools_scm pytest ];
diff --git a/pkgs/development/python-modules/python-ctags3/default.nix b/pkgs/development/python-modules/python-ctags3/default.nix
new file mode 100644
index 00000000000..ba29154df3a
--- /dev/null
+++ b/pkgs/development/python-modules/python-ctags3/default.nix
@@ -0,0 +1,17 @@
+{ lib, buildPythonPackage, fetchPypi }:
+
+buildPythonPackage rec {
+  pname = "python-ctags3";
+  version = "1.2.4";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "62e1d48a8cd88756767f3f5e3f1b1a81bc84deeb736f0c9480a5b5d066f63c3e";
+  };
+
+  meta = with lib; {
+    description = "Ctags indexing python bindings";
+    homepage = https://github.com/jonashaag/python-ctags3;
+    license = licenses.lgpl3Plus;
+  };
+}
diff --git a/pkgs/development/python-modules/python-daemon/default.nix b/pkgs/development/python-modules/python-daemon/default.nix
new file mode 100644
index 00000000000..c44af185a10
--- /dev/null
+++ b/pkgs/development/python-modules/python-daemon/default.nix
@@ -0,0 +1,23 @@
+{ lib, buildPythonPackage, fetchPypi, mock, testscenarios, docutils, lockfile }:
+
+buildPythonPackage rec {
+  pname = "python-daemon";
+  version = "2.1.2";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "261c859be5c12ae7d4286dc6951e87e9e1a70a882a8b41fd926efc1ec4214f73";
+  };
+
+  # A test fail within chroot builds.
+  doCheck = false;
+
+  buildInputs = [ mock testscenarios ];
+  propagatedBuildInputs = [ docutils lockfile ];
+
+  meta = with lib; {
+    description = "Library to implement a well-behaved Unix daemon process";
+    homepage = https://alioth.debian.org/projects/python-daemon/;
+    license = [ licenses.gpl3Plus licenses.asl20 ];
+  };
+}
diff --git a/pkgs/development/python-modules/python-docx/default.nix b/pkgs/development/python-modules/python-docx/default.nix
new file mode 100644
index 00000000000..11ade481df5
--- /dev/null
+++ b/pkgs/development/python-modules/python-docx/default.nix
@@ -0,0 +1,33 @@
+{ lib
+, behave
+, buildPythonPackage
+, fetchPypi
+, lxml
+, pytest
+, pyparsing
+, mock
+}:
+
+buildPythonPackage rec {
+  pname = "python-docx";
+  version = "0.8.6";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "117i84s6fcdsrfckbvznnqgqwhnf1x0523ps16cki8sg9byydv2m";
+  };
+
+  checkInputs = [ behave mock pyparsing pytest ];
+  propagatedBuildInputs = [ lxml ];
+
+  checkPhase = ''
+    py.test tests
+  '';
+
+  meta = {
+    description = "Create and update Microsoft Word .docx files";
+    homepage = https://python-docx.readthedocs.io/en/latest/;
+    license = lib.licenses.mit;
+    maintainers = [ lib.maintainers.alexchapman ];
+  };
+}
diff --git a/pkgs/development/python-modules/python-gnupg/default.nix b/pkgs/development/python-modules/python-gnupg/default.nix
index 9d29e109db4..12b6bf92918 100644
--- a/pkgs/development/python-modules/python-gnupg/default.nix
+++ b/pkgs/development/python-modules/python-gnupg/default.nix
@@ -3,11 +3,11 @@
 buildPythonPackage rec {
   name    = "${pname}-${version}";
   pname   = "python-gnupg";
-  version = "0.4.1";
+  version = "0.4.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "06hfw9cmiw5306fyisp3kzg1hww260qzip829g7y7pj1mwpb0izg";
+    sha256 = "0wzvx8y4ii1y1vch28a0m6f2y4px9r7qd8fpimsx6y5z4pfscm2s";
   };
 
   propagatedBuildInputs = [ gnupg1 ];
diff --git a/pkgs/development/python-modules/python-jose/default.nix b/pkgs/development/python-modules/python-jose/default.nix
index 8c78cfeacbd..68b46743d35 100644
--- a/pkgs/development/python-modules/python-jose/default.nix
+++ b/pkgs/development/python-modules/python-jose/default.nix
@@ -1,29 +1,34 @@
 { stdenv, buildPythonPackage, fetchFromGitHub
-, future, six, ecdsa, pycryptodome, pytest
+, future, six, ecdsa, pycryptodome, pytest, cryptography
 }:
 
 buildPythonPackage rec {
   pname = "python-jose";
-  name = "${pname}-${version}";
-  version = "1.3.2";
+  version = "2.0.2";
+
+  # no tests in PyPI tarball
   src = fetchFromGitHub {
     owner = "mpdavis";
     repo = "python-jose";
-    rev = version;
-    sha256 = "0933pbflv2pvws5m0ksz8y1fqr8m123smmrbr5k9a71nssd502sv";
+    # 2.0.2 not tagged on GitHub
+    # see https://github.com/mpdavis/python-jose/issues/86
+    rev = "28cc6719eceb89129eed59c25f7bdac015665bdd";
+    sha256 = "03wkq2rszy0rzy5gygsh4s7i6ls8zflgbcvxnflvmh7nis7002fp";
   };
 
-  buildInputs = [ pytest ];
-  checkPhase = "py.test .";
-  patches = [
-    # to use pycryptodme instead of pycrypto
-    ./pycryptodome.patch
+  checkInputs = [
+    pytest
+    cryptography # optional dependency, but needed in tests
   ];
+  checkPhase = ''
+    py.test
+  '';
+
   propagatedBuildInputs = [ future six ecdsa pycryptodome ];
+
   meta = with stdenv.lib; {
     homepage = https://github.com/mpdavis/python-jose;
     description = "A JOSE implementation in Python";
-    platforms = platforms.all;
     license = licenses.mit;
     maintainers = [ maintainers.jhhuh ];
   };
diff --git a/pkgs/development/python-modules/python-jose/pycryptodome.patch b/pkgs/development/python-modules/python-jose/pycryptodome.patch
deleted file mode 100644
index 665ad598034..00000000000
--- a/pkgs/development/python-modules/python-jose/pycryptodome.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-diff -ru python-jose-1.3.2/requirements.txt python-jose-1.3.2.new/requirements.txt
---- python-jose-1.3.2/requirements.txt	2016-09-05 15:13:49.000000000 +0200
-+++ python-jose-1.3.2.new/requirements.txt	2017-03-15 11:35:47.118001810 +0100
-@@ -1,3 +1,3 @@
--pycrypto
-+pycryptodome
- six
- future
-diff -ru python-jose-1.3.2/setup.py python-jose-1.3.2.new/setup.py
---- python-jose-1.3.2/setup.py	2016-09-05 15:13:49.000000000 +0200
-+++ python-jose-1.3.2.new/setup.py	2017-03-15 11:37:15.725077184 +0100
-@@ -25,12 +25,8 @@
- 
- 
- def get_install_requires():
--    if platform.python_implementation() == 'PyPy':
--        crypto_lib = 'pycryptodome >=3.3.1, <3.4.0'
--    else:
--        crypto_lib = 'pycrypto >=2.6.0, <2.7.0'
-     return [
--        crypto_lib,
-+        'pycryptodome >=3.3.1, <3.5.0',
-         'six <2.0',
-         'ecdsa <1.0',
-         'future <1.0',
-diff -ru python-jose-1.3.2/tox.ini python-jose-1.3.2.new/tox.ini
---- python-jose-1.3.2/tox.ini	2016-09-05 15:13:49.000000000 +0200
-+++ python-jose-1.3.2.new/tox.ini	2017-03-15 11:36:50.423055657 +0100
-@@ -6,7 +6,7 @@
-     py.test --cov-report term-missing --cov jose
- deps =
-     future
--    pycrypto
-+    pycryptodome
-     ecdsa
-     pytest
-     pytest-cov
diff --git a/pkgs/development/python-modules/python-ly/default.nix b/pkgs/development/python-modules/python-ly/default.nix
new file mode 100644
index 00000000000..4c1bd05f4a0
--- /dev/null
+++ b/pkgs/development/python-modules/python-ly/default.nix
@@ -0,0 +1,21 @@
+{ buildPythonPackage, fetchPypi, stdenv }:
+
+buildPythonPackage rec {
+  pname = "python-ly";
+  version = "0.9.5";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0x98dv7p8mg26p4816yy8hz4f34zf6hpnnfmr56msgh9jnsm2qfl";
+  };
+
+  # tests not shipped on `pypi` and
+  # seem to be broken ATM: https://github.com/wbsoft/python-ly/issues/70
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    description = "Tool and library for manipulating LilyPond files";
+    license = licenses.gpl2;
+    maintainers = with maintainers; [ ma27 ];
+  };
+}
diff --git a/pkgs/development/python-modules/python-oauth2/default.nix b/pkgs/development/python-modules/python-oauth2/default.nix
index 38649ca1985..f4d87dc035c 100644
--- a/pkgs/development/python-modules/python-oauth2/default.nix
+++ b/pkgs/development/python-modules/python-oauth2/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "python-oauth2";
-  version = "1.0.1";
+  version = "1.1.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0a1d0qnlgm07wq9r9bbm5jqkqry73w34m87p0141bk76lg7bb0sm";
+    sha256 = "b24da812837c19183df1924e80a22ba0a1869582dea8b04a9ecd807b04dbc525";
   };
   # attempts to run mysql
   doCheck = false;
diff --git a/pkgs/development/python-modules/python-slugify/default.nix b/pkgs/development/python-modules/python-slugify/default.nix
index 03c37f7a6c4..c0a398a3399 100644
--- a/pkgs/development/python-modules/python-slugify/default.nix
+++ b/pkgs/development/python-modules/python-slugify/default.nix
@@ -3,11 +3,11 @@
 buildPythonPackage rec {
     name = "${pname}-${version}";
     pname = "python-slugify";
-    version = "1.2.4";
+    version = "1.2.5";
 
     src = fetchPypi {
       inherit pname version;
-      sha256 = "097qllxys22kghcv2a5jcc1zdlr9zzqayvk6ywavsv8wgbgqb8sp";
+      sha256 = "5dbb360b882b2dabe0471a1a92f604504d83c2a73c71f2098d004ab62e695534";
     };
     doCheck = !isPy3k;
     # (only) on python3 unittest loader (loadTestsFromModule) fails
diff --git a/pkgs/development/python-modules/python_openzwave/default.nix b/pkgs/development/python-modules/python_openzwave/default.nix
new file mode 100644
index 00000000000..d5cf709104f
--- /dev/null
+++ b/pkgs/development/python-modules/python_openzwave/default.nix
@@ -0,0 +1,40 @@
+{ stdenv, buildPythonPackage, fetchPypi, isPy3k
+, pkgconfig
+, systemd, libyaml, openzwave, cython
+, six, pydispatcher, urwid }:
+
+buildPythonPackage rec {
+  pname = "python_openzwave";
+  version = "0.4.4";
+
+  disabled = !isPy3k;
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "17wdgwg212agj1gxb2kih4cvhjb5bprir4x446s8qwx0mz03azk2";
+    extension = "zip";
+  };
+
+  nativeBuildInputs = [ pkgconfig ];
+  buildInputs = [ systemd libyaml openzwave cython ];
+  propagatedBuildInputs = [ six urwid pydispatcher ];
+
+  # primary location for the .xml files is in /etc/openzwave so we override the
+  # /usr/local/etc lookup instead as that allows us to dump new .xml files into
+  # /etc/openzwave if needed
+  postPatch = ''
+    substituteInPlace src-lib/libopenzwave/libopenzwave.pyx \
+      --replace /usr/local/etc/openzwave ${openzwave}/etc/openzwave
+  '';
+
+  # no tests available
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    description = "Python wrapper for the OpenZWave C++ library";
+    homepage = https://github.com/OpenZWave/python-openzwave;
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ etu ];
+    inherit (openzwave.meta) platforms;
+  };
+}
diff --git a/pkgs/development/python-modules/pytools/default.nix b/pkgs/development/python-modules/pytools/default.nix
index 2bf7413c600..a3492437481 100644
--- a/pkgs/development/python-modules/pytools/default.nix
+++ b/pkgs/development/python-modules/pytools/default.nix
@@ -10,11 +10,11 @@
 
 buildPythonPackage rec {
   pname = "pytools";
-  version = "2017.6";
+  version = "2018.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "80f1bba4469d473c1b3969bc8e188c03bcc94d35807a889ceebbfc78e3208115";
+    sha256 = "26143e4ce415919272a5a8d05727bf5e026faa6536fe0ba85302e5b88ebae9f5";
   };
 
   checkInputs = [ pytest ];
diff --git a/pkgs/development/python-modules/pytorch/default.nix b/pkgs/development/python-modules/pytorch/default.nix
index a510eedee4f..c8376196d3a 100644
--- a/pkgs/development/python-modules/pytorch/default.nix
+++ b/pkgs/development/python-modules/pytorch/default.nix
@@ -1,8 +1,31 @@
-{ buildPythonPackage, fetchFromGitHub, lib, numpy, pyyaml, cffi, cmake,
-  git, stdenv }:
+{ buildPythonPackage,
+  cudaSupport ? false, cudatoolkit ? null, cudnn ? null,
+  fetchFromGitHub, fetchpatch, lib, numpy, pyyaml, cffi, cmake,
+  git, stdenv, linkFarm, symlinkJoin,
+  utillinux, which }:
 
-buildPythonPackage rec {
-  version = "0.2.0";
+assert cudnn == null || cudatoolkit != null;
+assert !cudaSupport || cudatoolkit != null;
+
+let
+  cudatoolkit_joined = symlinkJoin {
+    name = "${cudatoolkit.name}-unsplit";
+    paths = [ cudatoolkit.out cudatoolkit.lib ];
+  };
+
+  # Normally libcuda.so.1 is provided at runtime by nvidia-x11 via
+  # LD_LIBRARY_PATH=/run/opengl-driver/lib.  We only use the stub
+  # libcuda.so from cudatoolkit for running tests, so that we don’t have
+  # to recompile pytorch on every update to nvidia-x11 or the kernel.
+  cudaStub = linkFarm "cuda-stub" [{
+    name = "libcuda.so.1";
+    path = "${cudatoolkit}/lib/stubs/libcuda.so";
+  }];
+  cudaStubEnv = lib.optionalString cudaSupport
+    "LD_LIBRARY_PATH=${cudaStub}\${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH} ";
+
+in buildPythonPackage rec {
+  version = "0.3.1";
   pname = "pytorch";
   name = "${pname}-${version}";
 
@@ -10,18 +33,41 @@ buildPythonPackage rec {
     owner  = "pytorch";
     repo   = "pytorch";
     rev    = "v${version}";
-    sha256 = "1s3f46ga1f4lfrcj3lpvvhgkdr1pi8i2hjd9xj9qiz3a9vh2sj4n";
+    fetchSubmodules = true;
+    sha256 = "1k8fr97v5pf7rni5cr2pi21ixc3pdj3h3lkz28njbjbgkndh7mr3";
   };
 
-  checkPhase = ''
-    ${stdenv.shell} test/run_test.sh
+  patches = [
+    (fetchpatch {
+      # make sure stdatomic.h is included when checking for ATOMIC_INT_LOCK_FREE
+      # Fixes this test failure:
+      # RuntimeError: refcounted file mapping not supported on your system at /tmp/nix-build-python3.6-pytorch-0.3.0.drv-0/source/torch/lib/TH/THAllocator.c:525
+      url = "https://github.com/pytorch/pytorch/commit/502aaf39cf4a878f9e4f849e5f409573aa598aa9.patch";
+      stripLen = 3;
+      extraPrefix = "torch/lib/";
+      sha256 = "1miz4lhy3razjwcmhxqa4xmlcmhm65lqyin1czqczj8g16d3f62f";
+    })
+  ];
+
+  postPatch = ''
+    substituteInPlace test/run_test.sh --replace \
+      "INIT_METHOD='file://'\$TEMP_DIR'/shared_init_file' \$PYCMD ./test_distributed.py" \
+      "echo Skipped for Nix package"
+  '';
+
+  preConfigure = lib.optionalString cudaSupport ''
+    export CC=${cudatoolkit.cc}/bin/gcc
+  '' + lib.optionalString (cudaSupport && cudnn != null) ''
+    export CUDNN_INCLUDE_DIR=${cudnn}/include
   '';
 
   buildInputs = [
      cmake
      git
      numpy.blas
-  ];
+     utillinux
+     which
+  ] ++ lib.optionals cudaSupport [cudatoolkit_joined cudnn];
 
   propagatedBuildInputs = [
     cffi
@@ -29,8 +75,8 @@ buildPythonPackage rec {
     pyyaml
   ];
 
-  preConfigure = ''
-    export NO_CUDA=1
+  checkPhase = ''
+    ${cudaStubEnv}${stdenv.shell} test/run_test.sh
   '';
 
   meta = {
diff --git a/pkgs/development/python-modules/pyzmq/default.nix b/pkgs/development/python-modules/pyzmq/default.nix
new file mode 100644
index 00000000000..26107ea3c4a
--- /dev/null
+++ b/pkgs/development/python-modules/pyzmq/default.nix
@@ -0,0 +1,34 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pytest
+, tornado
+, zeromq3
+, py
+, python
+}:
+
+buildPythonPackage rec {
+  pname = "pyzmq";
+  version = "17.0.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0145ae59139b41f65e047a3a9ed11bbc36e37d5e96c64382fcdff911c4d8c3f0";
+  };
+
+  checkInputs = [  pytest tornado ];
+  buildInputs = [ zeromq3];
+  propagatedBuildInputs = [ py ];
+
+  # test_socket.py seems to be hanging
+  # others fail
+  checkPhase = ''
+    py.test $out/${python.sitePackages}/zmq/ -k "not test_socket \
+      and not test_current \
+      and not test_instance \
+      and not test_callable_check \
+      and not test_on_recv_basic \
+      and not test_on_recv_wake"
+  '';
+}
diff --git a/pkgs/development/python-modules/qtpy/default.nix b/pkgs/development/python-modules/qtpy/default.nix
index 035ea32b398..e433d922e10 100644
--- a/pkgs/development/python-modules/qtpy/default.nix
+++ b/pkgs/development/python-modules/qtpy/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "QtPy";
-  version = "1.3.1";
+  version = "1.4.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "04skhjb2dbbhvpq0x71nnz2h68805fkxfpkdjhwvd7lzsljjbbq8";
+    sha256 = "1d1a4343540433a203280f162d43226e4c87489155fe4a9a6f1923ba11362bf9";
   };
 
   # no concrete propagatedBuildInputs as multiple backends are supposed
diff --git a/pkgs/development/python-modules/raven/default.nix b/pkgs/development/python-modules/raven/default.nix
index 33d199ad274..2052d4421e5 100644
--- a/pkgs/development/python-modules/raven/default.nix
+++ b/pkgs/development/python-modules/raven/default.nix
@@ -4,13 +4,13 @@
 
 buildPythonPackage rec {
   pname = "raven";
-  version = "6.6.0";
+  version = "6.7.0";
 
   src = fetchFromGitHub {
     owner = "getsentry";
     repo = "raven-python";
     rev = version;
-    sha256 = "184wpr0zdcm260pxqll9kpmp2ywisn75k8pdm8gc6xmk740in1hj";
+    sha256 = "0vb6zczfgrrh0qw5wlbvk703r11y091k6r53fbbhpbwh4hva30nx";
   };
 
   # way too many dependencies to run tests
diff --git a/pkgs/development/python-modules/readme_renderer/default.nix b/pkgs/development/python-modules/readme_renderer/default.nix
index af0b64fc340..aa3928db891 100644
--- a/pkgs/development/python-modules/readme_renderer/default.nix
+++ b/pkgs/development/python-modules/readme_renderer/default.nix
@@ -2,26 +2,28 @@
 , buildPythonPackage
 , fetchPypi
 , pytest
+, mock
+, cmarkgfm
 , bleach
 , docutils
+, future
 , pygments
 , six
 }:
 
 buildPythonPackage rec {
   pname = "readme_renderer";
-  version = "17.2";
-  name = "${pname}-${version}";
+  version = "18.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "9deab442963a63a71ab494bf581b1c844473995a2357f4b3228a1df1c8cba8da";
+    sha256 = "e18cab7f1b07412990df1b59e1be04e1538f514a5bba53ec8777bfc5aac27563";
   };
 
-  checkInputs = [ pytest ];
+  checkInputs = [ pytest mock ];
 
   propagatedBuildInputs = [
-    bleach docutils pygments six
+    bleach cmarkgfm docutils future pygments six
   ];
 
   checkPhase = ''
@@ -33,4 +35,4 @@ buildPythonPackage rec {
     homepage = https://github.com/pypa/readme_renderer;
     license = lib.licenses.asl20;
   };
-}
\ No newline at end of file
+}
diff --git a/pkgs/development/python-modules/rednose/default.nix b/pkgs/development/python-modules/rednose/default.nix
new file mode 100644
index 00000000000..d9736dcb6f3
--- /dev/null
+++ b/pkgs/development/python-modules/rednose/default.nix
@@ -0,0 +1,24 @@
+{ lib, buildPythonPackage, fetchPypi, nose, six, colorama, termstyle }:
+
+buildPythonPackage rec {
+  pname = "rednose";
+  version = "1.3.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "6da77917788be277b70259edc0bb92fc6f28fe268b765b4ea88206cc3543a3e1";
+  };
+
+  prePatch = ''
+    substituteInPlace setup.py --replace "six==1.10.0" "six>=1.10.0"
+  '';
+
+  checkInputs = [ six ];
+  propagatedBuildInputs = [ nose colorama termstyle ];
+
+  meta = with lib; {
+    description = "A python nose plugin adding color to console results";
+    homepage = https://github.com/JBKahn/rednose;
+    license = licenses.mit;
+  };
+}
diff --git a/pkgs/development/python-modules/regex/default.nix b/pkgs/development/python-modules/regex/default.nix
index 44650618f5f..234088d1f51 100644
--- a/pkgs/development/python-modules/regex/default.nix
+++ b/pkgs/development/python-modules/regex/default.nix
@@ -1,23 +1,28 @@
 { lib
 , buildPythonPackage
 , fetchPypi
+, python
 }:
 
 
 buildPythonPackage rec {
   pname = "regex";
-  version = "2018.02.08";
+  version = "2018.02.21";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "2353c0e983c4029caf32016f1dddef623c3117ac282a818468c6d2f5d541698d";
+    sha256 = "b44624a38d07d3c954c84ad302c29f7930f4bf01443beef5589e9157b14e2a29";
   };
 
+  postCheck = ''
+    echo "We now run tests ourselves, since the setuptools installer doesn't."
+    ${python.interpreter} -c 'import test_regex; test_regex.test_main();'
+  '';
+
   meta = {
     description = "Alternative regular expression module, to replace re";
     homepage = https://bitbucket.org/mrabarnett/mrab-regex;
     license = lib.licenses.psfl;
-    platforms = lib.platforms.linux;
     maintainers = with lib.maintainers; [ abbradar ];
   };
 }
diff --git a/pkgs/development/python-modules/requests-cache/default.nix b/pkgs/development/python-modules/requests-cache/default.nix
new file mode 100644
index 00000000000..c8886b75d64
--- /dev/null
+++ b/pkgs/development/python-modules/requests-cache/default.nix
@@ -0,0 +1,21 @@
+{ stdenv, buildPythonPackage, fetchPypi
+, mock, requests, six, urllib3 }:
+
+buildPythonPackage rec {
+  pname = "requests-cache";
+  version = "0.4.13";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "18jpyivnq5pjbkymk3i473rihpj2bgikafpha7xvr6w736hiqmpy";
+  };
+
+  buildInputs = [ mock ];
+  propagatedBuildInputs = [ requests six urllib3 ];
+
+  meta = with stdenv.lib; {
+    description = "Persistent cache for requests library";
+    homepage = https://pypi.python.org/pypi/requests-cache;
+    license = licenses.bsd3;
+  };
+}
diff --git a/pkgs/development/python-modules/requests-mock/default.nix b/pkgs/development/python-modules/requests-mock/default.nix
new file mode 100644
index 00000000000..ef87c4f1019
--- /dev/null
+++ b/pkgs/development/python-modules/requests-mock/default.nix
@@ -0,0 +1,21 @@
+{ lib, buildPythonPackage, fetchPypi, python
+, mock, testrepository, testtools
+, requests, six }:
+
+buildPythonPackage rec {
+  pname = "requests-mock";
+  version = "1.4.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "2931887853c42e1d73879983d5bf03041109472991c5b4b8dba5d11ed23b9d0b";
+  };
+
+  patchPhase = ''
+    sed -i 's@python@${python.interpreter}@' .testr.conf
+  '';
+
+  checkInputs = [ mock testrepository testtools ];
+
+  propagatedBuildInputs = [ requests six ];
+}
diff --git a/pkgs/development/python-modules/requests-toolbelt/default.nix b/pkgs/development/python-modules/requests-toolbelt/default.nix
index e7834e62b82..809c8d3c96d 100644
--- a/pkgs/development/python-modules/requests-toolbelt/default.nix
+++ b/pkgs/development/python-modules/requests-toolbelt/default.nix
@@ -27,6 +27,6 @@ buildPythonPackage rec {
   meta = {
     description = "A toolbelt of useful classes and functions to be used with python-requests";
     homepage = http://toolbelt.rtfd.org;
-    maintainers = with lib.maintainers; [ matthiasbeyer jgeerds ];
+    maintainers = with lib.maintainers; [ jgeerds ];
   };
-}
\ No newline at end of file
+}
diff --git a/pkgs/development/python-modules/requests-unixsocket/default.nix b/pkgs/development/python-modules/requests-unixsocket/default.nix
new file mode 100644
index 00000000000..4eb3a33926f
--- /dev/null
+++ b/pkgs/development/python-modules/requests-unixsocket/default.nix
@@ -0,0 +1,28 @@
+{ lib, buildPythonPackage, fetchPypi
+, pbr, requests
+, pytest, pytestpep8, waitress }:
+
+buildPythonPackage rec {
+  pname = "requests-unixsocket";
+  version = "0.1.5";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0k19knydh0fzd7w12lfy18arl1ndwa0zln33vsb37yv1iw9w06x9";
+  };
+
+  nativeBuildInputs = [ pbr ];
+  propagatedBuildInputs = [ requests ];
+
+  checkInputs = [ pytest pytestpep8 waitress ];
+  checkPhase = ''
+    py.test
+  '';
+
+  meta = with lib; {
+    description = "Use requests to talk HTTP via a UNIX domain socket";
+    homepage = https://github.com/msabramo/requests-unixsocket;
+    license = licenses.asl20;
+    maintainers = [ maintainers.catern ];
+  };
+}
diff --git a/pkgs/development/python-modules/responses/default.nix b/pkgs/development/python-modules/responses/default.nix
new file mode 100644
index 00000000000..4cc74431fc8
--- /dev/null
+++ b/pkgs/development/python-modules/responses/default.nix
@@ -0,0 +1,16 @@
+{ stdenv, buildPythonPackage, fetchPypi
+, cookies, mock, requests, six }:
+
+buildPythonPackage rec {
+  pname = "responses";
+  version = "0.9.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "c6082710f4abfb60793899ca5f21e7ceb25aabf321560cc0726f8b59006811c9";
+  };
+
+  propagatedBuildInputs = [ cookies mock requests six ];
+
+  doCheck = false;
+}
diff --git a/pkgs/development/python-modules/restructuredtext_lint/default.nix b/pkgs/development/python-modules/restructuredtext_lint/default.nix
index e58066cbef4..af1f28d6d72 100644
--- a/pkgs/development/python-modules/restructuredtext_lint/default.nix
+++ b/pkgs/development/python-modules/restructuredtext_lint/default.nix
@@ -11,12 +11,12 @@
 
 buildPythonPackage rec {
   pname = "restructuredtext_lint";
-  version = "1.1.2";
+  version = "1.1.3";
   name = "${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "9201d354e22c27be61cf6d8212da6e10c875eec7ec8d1bdb1067b2a5ba931637";
+    sha256 = "c48ca9a84c312b262809f041fe47dcfaedc9ee4879b3e1f9532f745c182b4037";
   };
 
   checkInputs = [ nose flake8 pyyaml testtools ];
diff --git a/pkgs/development/python-modules/rlp/default.nix b/pkgs/development/python-modules/rlp/default.nix
new file mode 100644
index 00000000000..6443a4e2bbf
--- /dev/null
+++ b/pkgs/development/python-modules/rlp/default.nix
@@ -0,0 +1,21 @@
+{ lib, fetchPypi, buildPythonPackage, pytest }:
+
+buildPythonPackage rec {
+  name = "${pname}-${version}";
+  pname = "rlp";
+  version = "0.6.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0d3gx4mp8q4z369s5yk1n9c55sgfw9fidbwqxq67d6s7l45rm1w7";
+  };
+
+  buildInputs = [ pytest ];
+
+  meta = {
+    description = "A package for encoding and decoding data in and from Recursive Length Prefix notation";
+    homepage = "https://github.com/ethereum/pyrlp";
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ gebner ];
+  };
+}
diff --git a/pkgs/development/python-modules/robomachine/default.nix b/pkgs/development/python-modules/robomachine/default.nix
index 72407131cb1..f29cafb7aee 100644
--- a/pkgs/development/python-modules/robomachine/default.nix
+++ b/pkgs/development/python-modules/robomachine/default.nix
@@ -1,16 +1,15 @@
-{ stdenv, fetchurl, buildPythonPackage, pyparsing, argparse, robotframework }:
+{ stdenv, fetchPypi, buildPythonPackage, pyparsing, argparse, robotframework, allpairspy }:
 
 buildPythonPackage rec {
-  pname = "robomachine";
+  pname = "RoboMachine";
   version = "0.8.0";
-  name = pname + "-" + version;
 
-  src = fetchurl {
-    url = "mirror://pypi/R/RoboMachine/RoboMachine-0.6.tar.gz";
+  src = fetchPypi {
+    inherit pname version;
     sha256 = "242cfd9be0f7591138eaeba03c9c190f894ce045e1767ab7b90eca330259fc45";
   };
 
-  propagatedBuildInputs = [ pyparsing argparse robotframework ];
+  propagatedBuildInputs = [ pyparsing argparse robotframework allpairspy ];
 
   # Remove Windows .bat files
   postInstall = ''
diff --git a/pkgs/development/python-modules/robotframework/default.nix b/pkgs/development/python-modules/robotframework/default.nix
index 6a4a8867025..f07d0208167 100644
--- a/pkgs/development/python-modules/robotframework/default.nix
+++ b/pkgs/development/python-modules/robotframework/default.nix
@@ -1,21 +1,20 @@
 { stdenv, fetchurl, buildPythonPackage, isPy3k }:
 
 buildPythonPackage rec {
-  version = "3.0.2";
+  version = "3.0.4";
   pname = "robotframework";
   disabled = isPy3k;
   name = pname + "-" + version;
 
   src = fetchurl {
     url = "mirror://pypi/r/robotframework/${name}.tar.gz";
-    sha256 = "1xqzxv00lxf9xi4vdxdsyd1bfmx18gi96vrnijpzj9w2aqrz4610";
+    sha256 = "ab94257cbd848dfca7148e092d233a12853cc7e840ce8231af9cbb5e7f51aa47";
   };
 
   meta = with stdenv.lib; {
     description = "Generic test automation framework";
     homepage = http://robotframework.org/;
     license = licenses.asl20;
-    platforms = platforms.linux;
     maintainers = with maintainers; [ bjornfor ];
   };
 }
diff --git a/pkgs/development/python-modules/rocket-errbot/default.nix b/pkgs/development/python-modules/rocket-errbot/default.nix
new file mode 100644
index 00000000000..fac0780982d
--- /dev/null
+++ b/pkgs/development/python-modules/rocket-errbot/default.nix
@@ -0,0 +1,24 @@
+{ lib, fetchurl, fetchpatch, buildPythonPackage }:
+
+buildPythonPackage rec {
+  name = "rocket-errbot-${version}";
+  version = "1.2.5";
+
+  src = fetchurl {
+    url = "mirror://pypi/r/rocket-errbot/${name}.tar.gz";
+    sha256 = "181y1wqjvlry5xdzbliajvrxvswzh3myh795jnj1pm92r5grqzda";
+  };
+
+  # remove with 1.2.6
+  patches = [ (fetchpatch {
+    url = "https://github.com/errbotio/rocket/pull/1.patch";
+    sha256 = "1s668yv5b86b78vbqwhcl44k2l16c9bhk3199yy9hayf0vkxnwif";
+  }) ];
+
+  meta = {
+    homepage = https://github.com/errbotio/rocket;
+    description = "Modern, multi-threaded and extensible web server";
+    license = lib.licenses.mit;
+  };
+}
+
diff --git a/pkgs/development/python-modules/root_numpy/default.nix b/pkgs/development/python-modules/root_numpy/default.nix
index 008bafae9d7..10511952228 100644
--- a/pkgs/development/python-modules/root_numpy/default.nix
+++ b/pkgs/development/python-modules/root_numpy/default.nix
@@ -1,4 +1,4 @@
-{ lib, fetchPypi, isPy3k, buildPythonPackage, numpy, root }:
+{ lib, fetchPypi, isPy3k, buildPythonPackage, numpy, root, nose }:
 
 buildPythonPackage rec {
   pname = "root_numpy";
@@ -11,6 +11,11 @@ buildPythonPackage rec {
   };
 
   disabled = isPy3k; # blocked by #27649
+  checkInputs = [ nose ];
+  checkPhase = ''
+    python setup.py install_lib -d .
+    nosetests -s -v root_numpy
+  '';
 
   propagatedBuildInputs = [ numpy root ];
 
diff --git a/pkgs/development/python-modules/rootpy/default.nix b/pkgs/development/python-modules/rootpy/default.nix
index 0827786acfc..e9061b0a6a3 100644
--- a/pkgs/development/python-modules/rootpy/default.nix
+++ b/pkgs/development/python-modules/rootpy/default.nix
@@ -1,4 +1,4 @@
-{ lib, fetchPypi, isPy3k, buildPythonPackage, numpy, matplotlib, root, root_numpy, tables }:
+{ lib, fetchPypi, isPy3k, buildPythonPackage, numpy, matplotlib, root, root_numpy, tables, pytest }:
 
 buildPythonPackage rec {
   pname = "rootpy";
@@ -14,6 +14,14 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [ matplotlib numpy root root_numpy tables ];
 
+  checkInputs = [ pytest ];
+  checkPhase = ''
+    # tests fail with /homeless-shelter
+    export HOME=$PWD
+    # skip problematic tests
+    py.test rootpy -k "not test_stl and not test_cpp and not test_xrootd_glob_single and not test_xrootd_glob_multiple"
+  '';
+
   meta = with lib; {
     homepage = http://www.rootpy.org;
     license = licenses.bsd3;
diff --git a/pkgs/development/python-modules/rpy2/default.nix b/pkgs/development/python-modules/rpy2/default.nix
new file mode 100644
index 00000000000..c689bd48240
--- /dev/null
+++ b/pkgs/development/python-modules/rpy2/default.nix
@@ -0,0 +1,54 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, isPyPy
+, readline
+, R
+, pcre
+, lzma
+, bzip2
+, zlib
+, icu
+, singledispatch
+, six
+, jinja2
+, pytest
+}:
+
+buildPythonPackage rec {
+    version = "2.8.6";
+    pname = "rpy2";
+    disabled = isPyPy;
+    src = fetchPypi {
+      inherit version pname;
+      sha256 = "004d13734a7b9a85cbc1e7a93ec87df741e28db1273ab5b0d9efaac04a9c5f98";
+    };
+    buildInputs = [
+      readline
+      R
+      pcre
+      lzma
+      bzip2
+      zlib
+      icu
+    ];
+    propagatedBuildInputs = [
+      singledispatch
+      six
+      jinja2
+    ];
+    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.
+    doCheck = false;
+    # without this tests fail when looking for libreadline.so
+    LD_LIBRARY_PATH = lib.makeLibraryPath buildInputs;
+
+    meta = {
+      homepage = http://rpy.sourceforge.net/rpy2;
+      description = "Python interface to R";
+      license = lib.licenses.gpl2Plus;
+      platforms = lib.platforms.linux;
+      maintainers = with lib.maintainers; [ joelmo ];
+    };
+  }
diff --git a/pkgs/development/python-modules/s3fs/default.nix b/pkgs/development/python-modules/s3fs/default.nix
new file mode 100644
index 00000000000..c605d43888c
--- /dev/null
+++ b/pkgs/development/python-modules/s3fs/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, buildPythonPackage, fetchPypi, docutils, boto3 }:
+
+buildPythonPackage rec {
+  pname = "s3fs";
+  version = "0.1.5";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "4fbab74d72ceeb1a6f249165bde7b1d1c4dd758390339f52c84f0832bc5117a7";
+  };
+
+  buildInputs = [ docutils ];
+  propagatedBuildInputs = [ boto3 ];
+
+  # Depends on `moto` which has a long dependency chain with exact
+  # version requirements that can't be made to work with current
+  # pythonPackages.
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    description = "S3FS builds on boto3 to provide a convenient Python filesystem interface for S3.";
+    homepage = http://github.com/dask/s3fs/;
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ teh ];
+  };
+}
diff --git a/pkgs/development/python-modules/sasmodels/default.nix b/pkgs/development/python-modules/sasmodels/default.nix
new file mode 100644
index 00000000000..d84e8329903
--- /dev/null
+++ b/pkgs/development/python-modules/sasmodels/default.nix
@@ -0,0 +1,30 @@
+{ lib, fetchFromGitHub, buildPythonPackage, pytest, numpy, scipy, matplotlib, docutils
+, pyopencl, opencl-headers
+}:
+
+buildPythonPackage rec {
+  pname = "sasmodels-unstable";
+  version = "2018-04-27";
+
+  src = fetchFromGitHub {
+    owner = "SasView";
+    repo = "sasmodels";
+    rev = "33969b656596e8b6cc8ce934cd1f8062f7b11cf2";
+    sha256 = "00rvhafg08qvx0k9mzn1ppdkc9i5yfn2gr3hidrf416srf8zgb85";
+  };
+
+  buildInputs = [ opencl-headers ];
+  checkInputs = [ pytest ];
+  propagatedBuildInputs = [ docutils matplotlib numpy scipy pyopencl ];
+
+  checkPhase = ''
+    HOME=$(mktemp -d) py.test -c ./pytest.ini
+  '';
+
+  meta = {
+    description = "Library of small angle scattering models";
+    homepage = http://sasview.org;
+    license = lib.licenses.bsd3;
+    maintainers = with lib.maintainers; [ rprospero ];
+  };
+}
diff --git a/pkgs/development/python-modules/scapy/default.nix b/pkgs/development/python-modules/scapy/default.nix
index 1f4a34d18a3..c24592ef965 100644
--- a/pkgs/development/python-modules/scapy/default.nix
+++ b/pkgs/development/python-modules/scapy/default.nix
@@ -1,30 +1,35 @@
-{ stdenv, buildPythonPackage, fetchFromGitHub, isPy3k, isPyPy
+{ stdenv, lib, buildPythonPackage, fetchFromGitHub, isPyPy, isPy3k, pythonOlder
 , matplotlib, pycrypto, ecdsa
-# Python3: pyx
+, enum34, mock
 }:
 
 buildPythonPackage rec {
   pname = "scapy";
-  version = "2.3.3";
-  name = pname + "-" + version;
+  version = "2.4.0";
 
-  disabled = isPy3k || isPyPy;
+  disabled = isPyPy;
 
   src = fetchFromGitHub {
     owner = "secdev";
     repo = "scapy";
     rev = "v${version}";
-    sha256 = "1c22407vhksnhc0rwrslnp9zy05qmk2zmdm2imm3iw7g6kx7gak1";
+    sha256 = "0dw6kl1qi9bf3rbm79gb1h40ms8y0b5dbmpip841p2905d5r2isj";
   };
 
-  # Temporary workaround, only needed for 2.3.3
+  # TODO: Temporary workaround
   patches = [ ./fix-version-1.patch ./fix-version-2.patch ];
 
-  propagatedBuildInputs = [ matplotlib pycrypto ecdsa ];
+  propagatedBuildInputs =
+    [ matplotlib pycrypto ecdsa ]
+    ++ lib.optional (isPy3k && pythonOlder "3.4") [ enum34 ]
+    ++ lib.optional doCheck [ mock ];
+
+  # Tests fail with Python 3.6 (seems to be an upstream bug, I'll investigate)
+  doCheck = if isPy3k then false else true;
 
   meta = with stdenv.lib; {
     description = "Powerful interactive network packet manipulation program";
-    homepage = http://www.secdev.org/projects/scapy/;
+    homepage = https://scapy.net/;
     license = licenses.gpl2;
     platforms = platforms.linux;
     maintainers = with maintainers; [ primeos bjornfor ];
diff --git a/pkgs/development/python-modules/scapy/fix-version-1.patch b/pkgs/development/python-modules/scapy/fix-version-1.patch
index 3864a41964e..33d099e7a64 100644
--- a/pkgs/development/python-modules/scapy/fix-version-1.patch
+++ b/pkgs/development/python-modules/scapy/fix-version-1.patch
@@ -1,11 +1,11 @@
 --- a/setup.py	2018-02-15 22:14:08.531591678 +0100
-+++ b/setup.py	2018-02-15 22:14:57.947703737 +0100
++++ b/setup.py	2018-03-27 17:15:38.617315539 +0200
 @@ -47,7 +47,7 @@
  
  setup(
      name='scapy',
 -    version=__import__('scapy').VERSION,
-+    version='2.3.3',
++    version='2.4.0',
      packages=[
          'scapy',
          'scapy/arch',
diff --git a/pkgs/development/python-modules/scapy/fix-version-2.patch b/pkgs/development/python-modules/scapy/fix-version-2.patch
index 62d43b51fbb..41a195fb722 100644
--- a/pkgs/development/python-modules/scapy/fix-version-2.patch
+++ b/pkgs/development/python-modules/scapy/fix-version-2.patch
@@ -1,11 +1,15 @@
---- a/scapy/__init__.py	2017-12-29 18:57:35.315472160 +0100
-+++ b/scapy/__init__.py	2018-02-15 22:36:43.102132489 +0100
-@@ -73,7 +73,7 @@
-                 tag = f.read()
-             return tag
-         except:
--            return 'unknown.version'
-+            return '2.3.3'
+--- a/scapy/__init__.py	2018-03-27 17:38:52.706481269 +0200
++++ b/scapy/__init__.py	2018-03-27 17:39:56.576688890 +0200
+@@ -82,9 +82,10 @@
+             if match:
+                 return "git-archive.dev" + match.group(1)
+             elif sha1:
+-                return "git-archive.dev" + sha1
++                return '2.4.0'
+             else:
+-                return 'unknown.version'
++                return '2.4.0'
++
  
  VERSION = _version()
  
diff --git a/pkgs/development/python-modules/scikitlearn/default.nix b/pkgs/development/python-modules/scikitlearn/default.nix
index 6d32b056a0a..00bdcae1b9a 100644
--- a/pkgs/development/python-modules/scikitlearn/default.nix
+++ b/pkgs/development/python-modules/scikitlearn/default.nix
@@ -21,8 +21,9 @@ buildPythonPackage rec {
   LC_ALL="en_US.UTF-8";
 
   # Disable doctests on OSX: https://github.com/scikit-learn/scikit-learn/issues/10213
+  # Disable doctests everywhere: https://github.com/NixOS/nixpkgs/issues/35436
   checkPhase = ''
-    HOME=$TMPDIR OMP_NUM_THREADS=1 nosetests ${stdenv.lib.optionalString stdenv.isDarwin "--doctest-options=+SKIP"} $out/${python.sitePackages}/sklearn/
+    HOME=$TMPDIR OMP_NUM_THREADS=1 nosetests --doctest-options=+SKIP $out/${python.sitePackages}/sklearn/
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/python-modules/scipy/default.nix b/pkgs/development/python-modules/scipy/default.nix
index df2e569076a..9adac49bdcc 100644
--- a/pkgs/development/python-modules/scipy/default.nix
+++ b/pkgs/development/python-modules/scipy/default.nix
@@ -1,13 +1,12 @@
-{lib, fetchurl, python, buildPythonPackage, isPyPy, gfortran, nose, pytest, numpy}:
+{lib, fetchPypi, python, buildPythonPackage, isPyPy, gfortran, nose, pytest, numpy}:
 
 buildPythonPackage rec {
   pname = "scipy";
-  version = "1.0.0";
-  name = "${pname}-${version}";
+  version = "1.0.1";
 
-  src = fetchurl {
-    url = "mirror://pypi/s/scipy/scipy-${version}.tar.gz";
-    sha256 = "87ea1f11a0e9ec08c264dc64551d501fa307289460705f6fccd84cbfc7926d10";
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "8739c67842ed9a1c34c62d6cca6301d0ade40d50ef14ba292bd331f0d6c940ba";
   };
 
   checkInputs = [ nose pytest ];
diff --git a/pkgs/development/python-modules/scrapy/default.nix b/pkgs/development/python-modules/scrapy/default.nix
index 005d02e6047..f33acc79a2b 100644
--- a/pkgs/development/python-modules/scrapy/default.nix
+++ b/pkgs/development/python-modules/scrapy/default.nix
@@ -1,4 +1,4 @@
-{ buildPythonPackage, fetchurl, glibcLocales, mock, pytest, botocore,
+{ stdenv, buildPythonPackage, fetchurl, glibcLocales, mock, pytest, botocore,
   testfixtures, pillow, six, twisted, w3lib, lxml, queuelib, pyopenssl,
   service-identity, parsel, pydispatcher, cssselect, lib }:
 buildPythonPackage rec {
@@ -20,8 +20,9 @@ buildPythonPackage rec {
     LC_ALL="en_US.UTF-8";
 
     checkPhase = ''
-      py.test --ignore=tests/test_linkextractors_deprecated.py --ignore=tests/test_proxy_connect.py
+      py.test --ignore=tests/test_linkextractors_deprecated.py --ignore=tests/test_proxy_connect.py ${lib.optionalString stdenv.isDarwin "--ignore=tests/test_utils_iterators.py"}
       # The ignored tests require mitmproxy, which depends on protobuf, but it's disabled on Python3
+      # Ignore iteration test, because lxml can't find encodings on darwin https://bugs.launchpad.net/lxml/+bug/707396
     '';
 
     src = fetchurl {
@@ -34,6 +35,6 @@ buildPythonPackage rec {
       homepage = http://scrapy.org/;
       license = licenses.bsd3;
       maintainers = with maintainers; [ drewkett ];
-      platforms = platforms.linux;
+      platforms = platforms.unix;
     };
 }
diff --git a/pkgs/development/python-modules/selenium/default.nix b/pkgs/development/python-modules/selenium/default.nix
index 6b64cd18b4f..1661dd2cf3a 100644
--- a/pkgs/development/python-modules/selenium/default.nix
+++ b/pkgs/development/python-modules/selenium/default.nix
@@ -7,6 +7,19 @@
 , xorg
 }:
 
+
+let
+  # Recompiling x_ignore_nofocus.so as the original one dlopen's libX11.so.6 by some
+  # absolute paths. Replaced by relative path so it is found when used in nix.
+  x_ignore_nofocus =
+    fetchFromGitHub {
+      owner = "SeleniumHQ";
+      repo = "selenium";
+      rev = "selenium-3.6.0";
+      sha256 = "13wf4hx4i7nhl4s8xkziwxl0km1j873syrj4amragj6mpip2wn8v";
+    };
+in
+
 buildPythonPackage rec {
   pname = "selenium";
   version = "3.6.0";
@@ -23,21 +36,11 @@ buildPythonPackage rec {
     geckodriver
   ];
 
-  # Recompiling x_ignore_nofocus.so as the original one dlopen's libX11.so.6 by some
-  # absolute paths. Replaced by relative path so it is found when used in nix.
-  x_ignore_nofocus =
-    fetchFromGitHub {
-      owner = "SeleniumHQ";
-      repo = "selenium";
-      rev = "selenium-3.6.0";
-      sha256 = "13wf4hx4i7nhl4s8xkziwxl0km1j873syrj4amragj6mpip2wn8v";
-    };
-
-  patchPhase = ''
+  patchPhase = stdenv.lib.optionalString stdenv.isLinux ''
     cp "${x_ignore_nofocus}/cpp/linux-specific/"* .
     substituteInPlace x_ignore_nofocus.c --replace "/usr/lib/libX11.so.6" "${xorg.libX11.out}/lib/libX11.so.6"
-    gcc -c -fPIC x_ignore_nofocus.c -o x_ignore_nofocus.o
-    gcc -shared \
+    cc -c -fPIC x_ignore_nofocus.c -o x_ignore_nofocus.o
+    cc -shared \
       -Wl,${if stdenv.isDarwin then "-install_name" else "-soname"},x_ignore_nofocus.so \
       -o x_ignore_nofocus.so \
       x_ignore_nofocus.o
diff --git a/pkgs/development/python-modules/send2trash/default.nix b/pkgs/development/python-modules/send2trash/default.nix
index 7ea0705f815..35115a45716 100644
--- a/pkgs/development/python-modules/send2trash/default.nix
+++ b/pkgs/development/python-modules/send2trash/default.nix
@@ -4,6 +4,7 @@
 , fetchFromGitHub
 , pytest
 , configparser
+, isPy3k
 }:
 
 buildPythonPackage rec {
@@ -19,7 +20,7 @@ buildPythonPackage rec {
 
   doCheck = !stdenv.isDarwin;
   checkPhase = "HOME=. py.test";
-  checkInputs = [ pytest configparser ];
+  checkInputs = [ pytest ] ++ lib.optional (!isPy3k) configparser;
 
   meta = with lib; {
     description = "Send file to trash natively under macOS, Windows and Linux";
diff --git a/pkgs/development/python-modules/serversyncstorage/default.nix b/pkgs/development/python-modules/serversyncstorage/default.nix
index 40a580877af..1d9274610da 100644
--- a/pkgs/development/python-modules/serversyncstorage/default.nix
+++ b/pkgs/development/python-modules/serversyncstorage/default.nix
@@ -35,4 +35,8 @@ buildPythonPackage rec {
     pyramid sqlalchemy simplejson mozsvc cornice pyramid_hawkauth pymysql
     pymysqlsa umemcache WSGIProxy requests pybrowserid
   ];
+
+  meta = {
+    broken = true; # 2018-11-04
+  };
 }
diff --git a/pkgs/development/python-modules/service_identity/default.nix b/pkgs/development/python-modules/service_identity/default.nix
index 779e974f15e..93e172a4f60 100644
--- a/pkgs/development/python-modules/service_identity/default.nix
+++ b/pkgs/development/python-modules/service_identity/default.nix
@@ -13,8 +13,6 @@
 buildPythonPackage rec {
   pname = "service_identity";
   version = "17.0.0";
-  name = "${pname}-${version}";
-
 
   src = fetchFromGitHub {
     owner = "pyca";
@@ -33,6 +31,6 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Service identity verification for pyOpenSSL";
     license = licenses.mit;
-    homepage = "https://service-identity.readthedocs.io";
+    homepage = https://service-identity.readthedocs.io;
   };
 }
diff --git a/pkgs/development/python-modules/setuptools/default.nix b/pkgs/development/python-modules/setuptools/default.nix
index b8fd011c4ea..972d8e90bf6 100644
--- a/pkgs/development/python-modules/setuptools/default.nix
+++ b/pkgs/development/python-modules/setuptools/default.nix
@@ -8,13 +8,13 @@
 # Should use buildPythonPackage here somehow
 stdenv.mkDerivation rec {
   pname = "setuptools";
-  version = "38.4.0";
+  version = "39.0.1";
   name = "${python.libPrefix}-${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "6501fc32f505ec5b3ed36ec65ba48f1b975f52cf2ea101c7b73a08583fd12f75";
+    sha256 = "bec7badf0f60e7fc8153fac47836edc41b74e5d541d7692e614e635720d6a7c7";
   };
 
   nativeBuildInputs = [ unzip wrapPython ];
diff --git a/pkgs/development/python-modules/setuptools_scm/default.nix b/pkgs/development/python-modules/setuptools_scm/default.nix
index 260f899f56d..3e78c9b45bf 100644
--- a/pkgs/development/python-modules/setuptools_scm/default.nix
+++ b/pkgs/development/python-modules/setuptools_scm/default.nix
@@ -2,11 +2,11 @@
 buildPythonPackage rec {
   pname = "setuptools_scm";
   name = "${pname}-${version}";
-  version = "1.15.6";
+  version = "1.17.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0pzvfmx8s20yrgkgwfbxaspz2x1g38qv61jpm0ns91lrb22ldas9";
+    sha256 = "70a4cf5584e966ae92f54a764e6437af992ba42ac4bca7eb37cc5d02b98ec40a";
   };
 
   buildInputs = [ pip ];
diff --git a/pkgs/development/python-modules/shapely/default.nix b/pkgs/development/python-modules/shapely/default.nix
index 7246205619f..6f10cfdf3ba 100644
--- a/pkgs/development/python-modules/shapely/default.nix
+++ b/pkgs/development/python-modules/shapely/default.nix
@@ -30,10 +30,9 @@ buildPythonPackage rec {
     sed -i "s|free = load_dll('c').free|free = load_dll('c', fallbacks=['${stdenv.cc.libc}/lib/${libc}']).free|" shapely/geos.py
   '';
 
-  # tests/test_voctorized fails because the vectorized extension is not
-  # available in when running tests
+  # Disable the tests that improperly try to use the built extensions
   checkPhase = ''
-    py.test --ignore tests/test_vectorized.py
+    py.test -k 'not test_vectorized and not test_fallbacks' tests
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/python-modules/sleekxmpp/default.nix b/pkgs/development/python-modules/sleekxmpp/default.nix
new file mode 100644
index 00000000000..c6444224104
--- /dev/null
+++ b/pkgs/development/python-modules/sleekxmpp/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchurl, buildPythonPackage, dns, pyasn1 }:
+
+buildPythonPackage rec {
+  name = "sleekxmpp-${version}";
+  version = "1.3.1";
+
+  propagatedBuildInputs = [ dns pyasn1 ];
+
+  patches = [
+    ./dnspython-ip6.patch
+  ];
+
+  src = fetchurl {
+    url = "mirror://pypi/s/sleekxmpp/${name}.tar.gz";
+    sha256 = "1krkhkvj8xw5a6c2xlf7h1rg9xdcm9d8x2niivwjahahpvbl6krr";
+  };
+
+  meta = with stdenv.lib; {
+    description = "XMPP library for Python";
+    license = licenses.mit;
+    homepage = "http://sleekxmpp.com/";
+  };
+}
diff --git a/pkgs/development/python-modules/sleekxmpp/dnspython-ip6.patch b/pkgs/development/python-modules/sleekxmpp/dnspython-ip6.patch
new file mode 100644
index 00000000000..d8d6eb10683
--- /dev/null
+++ b/pkgs/development/python-modules/sleekxmpp/dnspython-ip6.patch
@@ -0,0 +1,55 @@
+--- a/sleekxmpp/xmlstream/resolver.py
++++ b/sleekxmpp/xmlstream/resolver.py
+@@ -175,6 +175,9 @@ def get_A(host, resolver=None, use_dnspy
+     """
+     log.debug("DNS: Querying %s for A records." % host)
+
++    if isinstance(host, bytes):
++        host = host.decode("utf-8")
++
+     # If not using dnspython, attempt lookup using the OS level
+     # getaddrinfo() method.
+     if resolver is None or not use_dnspython:
+@@ -189,7 +192,10 @@ def get_A(host, resolver=None, use_dnspy
+     # Using dnspython:
+     try:
+         recs = resolver.query(host, dns.rdatatype.A)
+-        return [rec.to_text() for rec in recs]
++        if isinstance(recs[0].to_text(), bytes):
++            return [rec.to_text().decode("utf-8") for rec in recs]
++        else:
++            return [rec.to_text() for rec in recs]
+     except (dns.resolver.NXDOMAIN, dns.resolver.NoAnswer):
+         log.debug("DNS: No A records for %s" % host)
+         return []
+@@ -222,6 +228,9 @@ def get_AAAA(host, resolver=None, use_dn
+     """
+     log.debug("DNS: Querying %s for AAAA records." % host)
+
++    if isinstance(host, bytes):
++        host = host.decode("utf-8")
++
+     # If not using dnspython, attempt lookup using the OS level
+     # getaddrinfo() method.
+     if resolver is None or not use_dnspython:
+@@ -240,7 +249,10 @@ def get_AAAA(host, resolver=None, use_dn
+     # Using dnspython:
+     try:
+         recs = resolver.query(host, dns.rdatatype.AAAA)
+-        return [rec.to_text() for rec in recs]
++        if isinstance(recs[0].to_text(), bytes):
++            return [rec.to_text().decode("utf-8") for rec in recs]
++        else:
++            return [rec.to_text() for rec in recs]
+     except (dns.resolver.NXDOMAIN, dns.resolver.NoAnswer):
+         log.debug("DNS: No AAAA records for %s" % host)
+         return []
+@@ -324,6 +336,8 @@ def get_SRV(host, port, service, proto='
+                 if running_sum >= selected:
+                     rec = sums[running_sum]
+                     host = rec.target.to_text()
++                    if isinstance(host, bytes):
++                        host = host.decode("utf-8")
+                     if host.endswith('.'):
+                         host = host[:-1]
+                     sorted_recs.append((host, rec.port))
diff --git a/pkgs/development/python-modules/slimit/default.nix b/pkgs/development/python-modules/slimit/default.nix
new file mode 100644
index 00000000000..ff4c63891e5
--- /dev/null
+++ b/pkgs/development/python-modules/slimit/default.nix
@@ -0,0 +1,36 @@
+{ lib, buildPythonPackage, fetchPypi, isPy3k, fetchpatch, python, ply }:
+
+buildPythonPackage rec {
+  pname = "slimit";
+  version = "0.8.1";
+
+  src = fetchPypi {
+    inherit pname version;
+    extension = "zip";
+    sha256 = "f433dcef899f166b207b67d91d3f7344659cb33b8259818f084167244e17720b";
+  };
+
+  # Some patches from https://github.com/rspivak/slimit/pull/65
+  patches = lib.optionals isPy3k [
+    (fetchpatch {
+      url = https://github.com/lelit/slimit/commit/a61e12d88cc123c4b7af2abef21d06fd182e561a.patch;
+      sha256 = "0lbhvkgn4l8g9fwvb81rfwjx7hsaq2pid8a5gczdk1ba65wfvdq5";
+    })
+    (fetchpatch {
+      url = https://github.com/lelit/slimit/commit/e8331659fb89e8a4613c5e4e338c877fead9c551.patch;
+      sha256 = "1hv4ysn09c9bfd5bxhhrp51hsi81hdidmx0y7zcrjjiich9ayrni";
+    })
+  ];
+
+  propagatedBuildInputs = [ ply ];
+
+  checkPhase = ''
+    ${python.interpreter} -m unittest discover -s src/slimit
+  '';
+
+  meta = with lib; {
+    description = "JavaScript minifier";
+    homepage = http://slimit.readthedocs.org/;
+    license = licenses.mit;
+  };
+}
diff --git a/pkgs/development/python-modules/smart_open/default.nix b/pkgs/development/python-modules/smart_open/default.nix
index 2e2020f61f0..c4992eb9d9b 100644
--- a/pkgs/development/python-modules/smart_open/default.nix
+++ b/pkgs/development/python-modules/smart_open/default.nix
@@ -3,7 +3,9 @@
 , isPy3k
 , fetchPypi
 , boto
+, boto3
 , bz2file
+, mock
 , moto
 , requests
 , responses
@@ -12,14 +14,26 @@
 buildPythonPackage rec {
   pname = "smart_open";
   name = "${pname}-${version}";
-  version = "1.5.6";
+  version = "1.5.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "8fd2de1c359bd0074bd6d334a5b9820ae1c5b6ba563970b95052bace4b71baeb";
+    sha256 = "0y1c29pdxxgxkymr7g2n59siqqaq351zbx9vz8433dxvzy4qgd7p";
   };
 
-  propagatedBuildInputs = [ boto bz2file requests responses moto ];
+  # nixpkgs version of moto is >=1.2.0, remove version pin to fix build
+  postPatch = ''
+    substituteInPlace ./setup.py --replace "moto==0.4.31" "moto"
+  '';
+
+  # moto>=1.0.0 is backwards-incompatible and some tests fail with it,
+  # so disable tests for now
+  doCheck = false;
+
+  checkInputs = [ mock moto responses ];
+
+  # upstream code requires both boto and boto3
+  propagatedBuildInputs = [ boto boto3 bz2file requests ];
   meta = {
     license = lib.licenses.mit;
     description = "smart_open is a Python 2 & Python 3 library for efficient streaming of very large file";
diff --git a/pkgs/development/python-modules/smmap/default.nix b/pkgs/development/python-modules/smmap/default.nix
new file mode 100644
index 00000000000..366897d3e19
--- /dev/null
+++ b/pkgs/development/python-modules/smmap/default.nix
@@ -0,0 +1,19 @@
+{ lib, fetchPypi, buildPythonPackage, nosexcover }:
+
+buildPythonPackage rec {
+  pname = "smmap";
+  version = "0.9.0";
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0qlx25f6n2n9ff37w9gg62f217fzj16xlbh0pkz0lpxxjys64aqf";
+  };
+
+  checkInputs = [ nosexcover ];
+
+  meta = {
+    description = "A pure python implementation of a sliding window memory map manager";
+    homepage = https://github.com/gitpython-developers/smmap;
+    maintainers = [ ];
+    license = lib.licenses.bsd3;
+  };
+}
diff --git a/pkgs/development/python-modules/smmap2/default.nix b/pkgs/development/python-modules/smmap2/default.nix
new file mode 100644
index 00000000000..ea0f0859bbd
--- /dev/null
+++ b/pkgs/development/python-modules/smmap2/default.nix
@@ -0,0 +1,20 @@
+{ lib, fetchPypi, buildPythonPackage, nosexcover }:
+
+buildPythonPackage rec {
+  pname = "smmap2";
+  version = "2.0.3";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1hvn28p3zvxa98sbi9lrqvv2ps4q284j4jq9a619zw0m7yv0sly7";
+  };
+
+  checkInputs = [ nosexcover ];
+
+  meta = {
+    description = "A pure python implementation of a sliding window memory map manager";
+    homepage = https://pypi.org/project/smmap2;
+    maintainers = [ ];
+    license = lib.licenses.bsd3;
+  };
+}
diff --git a/pkgs/development/python-modules/spacy/default.nix b/pkgs/development/python-modules/spacy/default.nix
index 6c7c3c8400c..16c1841a3d6 100644
--- a/pkgs/development/python-modules/spacy/default.nix
+++ b/pkgs/development/python-modules/spacy/default.nix
@@ -1,14 +1,13 @@
-{ stdenv
+{ lib
 , pkgs
 , buildPythonPackage
 , python
 , fetchPypi
-, fetchFromGitHub
+, pythonOlder
+, html5lib
 , pytest
-, cython
-, cymem
 , preshed
-, pathlib2
+, ftfy
 , numpy
 , murmurhash
 , plac
@@ -16,40 +15,53 @@
 , ujson
 , dill
 , requests
-, ftfy
 , thinc
-, pip
 , regex
+, cymem
+, pathlib
+, msgpack-python
+, msgpack-numpy
 }:
 
 buildPythonPackage rec {
   pname = "spacy";
-  version = "1.8.2";
+  version = "2.0.9";
 
-  src = fetchFromGitHub {
-    owner = "explosion";
-    repo = "spaCy";
-    rev = "v${version}";
-    sha256 = "0v3bmmar31a6968y4wl0lmgnc3829l2mnwd8s959m4pqw1y1w648";
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1ihkhflhyz67bp73kfjqfrbcgdxi2msz5asbrh0pkk590c4vmms5";
   };
 
+  prePatch = ''
+    substituteInPlace setup.py \
+      --replace "html5lib==" "html5lib>=" \
+      --replace "regex==" "regex>=" \
+      --replace "ftfy==" "ftfy>=" \
+      --replace "msgpack-python==" "msgpack-python>=" \
+      --replace "msgpack-numpy==" "msgpack-numpy>=" \
+      --replace "pathlib" "pathlib; python_version<\"3.4\""
+  '';
+
   propagatedBuildInputs = [
-   cython
-   cymem
-   pathlib2
-   preshed
    numpy
    murmurhash
+   cymem
+   preshed
+   thinc
    plac
    six
+   html5lib
    ujson
    dill
    requests
    regex
    ftfy
-   thinc
-   pytest
-   pip
+   msgpack-python
+   msgpack-numpy
+  ] ++ lib.optional (pythonOlder "3.4") pathlib;
+
+  checkInputs = [
+    pytest
   ];
 
   doCheck = false;
@@ -57,7 +69,7 @@ buildPythonPackage rec {
   #   ${python.interpreter} -m pytest spacy/tests --vectors --models --slow
   # '';
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "Industrial-strength Natural Language Processing (NLP) with Python and Cython";
     homepage = https://github.com/explosion/spaCy;
     license = licenses.mit;
diff --git a/pkgs/development/python-modules/sphinx-navtree/default.nix b/pkgs/development/python-modules/sphinx-navtree/default.nix
new file mode 100644
index 00000000000..02e5711e888
--- /dev/null
+++ b/pkgs/development/python-modules/sphinx-navtree/default.nix
@@ -0,0 +1,18 @@
+{ lib, fetchPypi, buildPythonPackage, sphinx }:
+
+buildPythonPackage rec {
+  version = "0.3.0";
+  pname = "sphinx-navtree";
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1nqcsbqwr8ihk1fv534i0naag1qw04f7ibcgl2j8csvkh8q90b4p";
+  };
+
+  propagatedBuildInputs = [ sphinx ];
+
+  meta = {
+    description = "Navigation tree customization for Sphinx";
+    homepage = "https://github.com/bintoro/sphinx-navtree";
+    license = lib.licenses.mit;
+  };
+}
diff --git a/pkgs/development/python-modules/sphinx/default.nix b/pkgs/development/python-modules/sphinx/default.nix
index 2256bcc7310..3ccccdbf77d 100644
--- a/pkgs/development/python-modules/sphinx/default.nix
+++ b/pkgs/development/python-modules/sphinx/default.nix
@@ -27,10 +27,10 @@
 buildPythonPackage rec {
   name = "${pname}-${version}";
   pname = "Sphinx";
-  version = "1.7.0";
+  version = "1.7.4";
   src = fetchPypi {
     inherit pname version;
-    sha256 = "278b7923f3f4ed2a1d1359f0ae94d89ac90ddd4189e8362f4b4d3baa2afe6b4a";
+    sha256 = "e9b1a75a3eae05dded19c80eb17325be675e0698975baae976df603b6ed1eb10";
   };
   LC_ALL = "en_US.UTF-8";
 
diff --git a/pkgs/development/python-modules/sphinxcontrib-bibtex/default.nix b/pkgs/development/python-modules/sphinxcontrib-bibtex/default.nix
new file mode 100644
index 00000000000..4911c982cd0
--- /dev/null
+++ b/pkgs/development/python-modules/sphinxcontrib-bibtex/default.nix
@@ -0,0 +1,22 @@
+{ stdenv, buildPythonPackage, fetchPypi
+, oset, pybtex, pybtex-docutils, sphinx
+}:
+
+buildPythonPackage rec {
+  version = "0.3.6";
+  pname = "sphinxcontrib-bibtex";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1mfl3k6axq6rzqwq62fj8y9gabim2zcvydjpqmjj27f8v1qw0kpc";
+  };
+
+  propagatedBuildInputs = [ oset pybtex pybtex-docutils sphinx ];
+
+  meta = {
+    description = "A Sphinx extension for BibTeX style citations";
+    homepage = "https://github.com/mcmtroffaes/sphinxcontrib-bibtex";
+    license = stdenv.lib.licenses.bsd2;
+  };
+
+}
diff --git a/pkgs/development/python-modules/sqlalchemy/default.nix b/pkgs/development/python-modules/sqlalchemy/default.nix
index 18540cb63f8..882574aa675 100644
--- a/pkgs/development/python-modules/sqlalchemy/default.nix
+++ b/pkgs/development/python-modules/sqlalchemy/default.nix
@@ -11,11 +11,11 @@
 buildPythonPackage rec {
   pname = "SQLAlchemy";
   name = "${pname}-${version}";
-  version = "1.2.3";
+  version = "1.2.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "9e9ec143e2e246f385cfb2de8daa89d2fa466279addcb7be9e102988fdf33d24";
+    sha256 = "d6cda03b0187d6ed796ff70e87c9a7dce2c2c9650a7bc3c022cd331416853c31";
   };
 
   checkInputs = [
diff --git a/pkgs/development/python-modules/sqlmap/default.nix b/pkgs/development/python-modules/sqlmap/default.nix
index 0fa889b88f2..9a2aaeaa553 100644
--- a/pkgs/development/python-modules/sqlmap/default.nix
+++ b/pkgs/development/python-modules/sqlmap/default.nix
@@ -5,12 +5,12 @@
 
 buildPythonPackage rec {
   pname = "sqlmap";
-  version = "1.2.2";
+  version = "1.2.5";
   name = "${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "6256e0d5ab6d465152c8a8a21bdb97b50e155255d6bedd586ce214ed7a1fb9d7";
+    sha256 = "93fe37e535f4aabd05a7456295f39c0af73cbcd0511750663fc7a718c5915919";
   };
 
   # No tests in archive
diff --git a/pkgs/development/python-modules/sseclient/default.nix b/pkgs/development/python-modules/sseclient/default.nix
new file mode 100644
index 00000000000..9ac04e18e4f
--- /dev/null
+++ b/pkgs/development/python-modules/sseclient/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, buildPythonPackage, fetchPypi
+, requests, six
+, backports_unittest-mock, pluggy, pytest, pytestrunner }:
+
+buildPythonPackage rec {
+  pname = "sseclient";
+  version = "0.0.19";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "7a2ea3f4c8525ae9a677bc8193df5db88e23bcaafcc34938a1ee665975703a9f";
+  };
+
+  propagatedBuildInputs = [ requests six ];
+
+  checkInputs = [ backports_unittest-mock pytest pytestrunner ];
+
+  meta = with stdenv.lib; {
+    description = "Client library for reading Server Sent Event streams";
+    homepage = https://github.com/btubbs/sseclient;
+    license = licenses.mit;
+    maintainers = with maintainers; [ peterhoeg ];
+  };
+}
diff --git a/pkgs/development/python-modules/stem/default.nix b/pkgs/development/python-modules/stem/default.nix
new file mode 100644
index 00000000000..1df139ab29c
--- /dev/null
+++ b/pkgs/development/python-modules/stem/default.nix
@@ -0,0 +1,30 @@
+{ lib, buildPythonPackage, fetchPypi, python, mock }:
+
+buildPythonPackage rec {
+  pname = "stem";
+  version = "1.6.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1va9p3ij7lxg6ixfsvaql06dn11l3fgpxmss1dhlvafm7sqizznp";
+  };
+
+  postPatch = ''
+    rm test/unit/installation.py
+    sed -i "/test.unit.installation/d" test/settings.cfg
+  '';
+
+  checkInputs = [ mock ];
+
+  checkPhase = ''
+    touch .gitignore
+    ${python.interpreter} run_tests.py -u
+  '';
+
+  meta = with lib; {
+    description = "Controller library that allows applications to interact with Tor";
+    homepage = https://stem.torproject.org/;
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ phreedom ];
+  };
+}
diff --git a/pkgs/development/python-modules/stripe/default.nix b/pkgs/development/python-modules/stripe/default.nix
index 7e7aa4756bb..95da0ec9b4f 100644
--- a/pkgs/development/python-modules/stripe/default.nix
+++ b/pkgs/development/python-modules/stripe/default.nix
@@ -1,10 +1,9 @@
-{ stdenv, buildPythonPackage, fetchPypi
-, unittest2, mock, requests }:
+{ lib, buildPythonPackage, fetchPypi, isPy3k
+, unittest2, mock, requests, simplejson }:
 
 buildPythonPackage rec {
   pname = "stripe";
-  version = "1.77.2";
-  name = "${pname}-${version}";
+  version = "1.79.1";
 
   # Tests require network connectivity and there's no easy way to disable
   # them. ~ C.
@@ -12,14 +11,14 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "3bcd55108dd2c0e853a91147ee843bc375f35767e64d0f7680e5bd82ddb7fbf1";
+    sha256 = "2ec19bf8ad588ec04b36c35f359196fa1991f9ad911b1686ac2a12651a154947";
   };
 
-  buildInputs = [ unittest2 mock ];
+  checkInputs = [ unittest2 mock ];
 
-  propagatedBuildInputs = [ requests ];
+  propagatedBuildInputs = [ requests ] ++ lib.optional (!isPy3k) simplejson;
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "Stripe Python bindings";
     homepage = https://github.com/stripe/stripe-python;
     license = licenses.mit;
diff --git a/pkgs/development/python-modules/supervise_api/default.nix b/pkgs/development/python-modules/supervise_api/default.nix
index f73aba0a5f9..35600357d2c 100644
--- a/pkgs/development/python-modules/supervise_api/default.nix
+++ b/pkgs/development/python-modules/supervise_api/default.nix
@@ -4,17 +4,16 @@
 , supervise
 , isPy3k
 , whichcraft
+, utillinux
 }:
 
 buildPythonPackage rec {
   pname = "supervise_api";
-  version = "0.4.0";
-
-  name = "${pname}-${version}";
+  version = "0.5.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "029h1mlfhkm9lw043rawh24ld8md620y94k6c1l9hs5vvyq4fs84";
+    sha256 = "0dakc1h2ih1bw67y137wp0vph8d3y2lx5d70b8dgggy1zbpqxl1m";
   };
 
   propagatedBuildInputs = [
@@ -22,9 +21,7 @@ buildPythonPackage rec {
   ] ++ lib.optionals ( !isPy3k ) [
     whichcraft
   ];
-
-  # no tests
-  doCheck = false;
+  checkInputs = [ utillinux ];
 
   meta = {
     description = "An API for running processes safely and securely";
diff --git a/pkgs/development/python-modules/svg-path/default.nix b/pkgs/development/python-modules/svg-path/default.nix
new file mode 100644
index 00000000000..04031fcbc10
--- /dev/null
+++ b/pkgs/development/python-modules/svg-path/default.nix
@@ -0,0 +1,17 @@
+{ stdenv, buildPythonPackage, fetchPypi }:
+buildPythonPackage rec {
+  pname = "svg.path";
+  version = "2.2";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "08kp03i4yiqdkz7a7l7d7kzszahmhigrml2502zi1ybndrh7ayxw";
+  };
+
+  meta = with stdenv.lib; {
+    description = "SVG path objects and parser";
+    homepage = https://github.com/regebro/svg.path;
+    license = licenses.mit;
+    maintainers = with maintainers; [ goibhniu ];
+  };
+}
diff --git a/pkgs/development/python-modules/sybil/default.nix b/pkgs/development/python-modules/sybil/default.nix
index 31fd0977c14..6930cb2a559 100644
--- a/pkgs/development/python-modules/sybil/default.nix
+++ b/pkgs/development/python-modules/sybil/default.nix
@@ -3,11 +3,11 @@
 
 buildPythonApplication rec {
   pname   = "sybil";
-  version = "1.0.7";
+  version = "1.0.8";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "86332553392f865403883e44695bd8d9d47fe3887c01e17591955237b8fd2d8f";
+    sha256 = "1e17e10bac4c56ef5b6752866a7d100f5ae856ff97d805c4d6cac73be80863d3";
   };
 
   checkInputs = [ pytest nose ];
diff --git a/pkgs/development/python-modules/tables/default.nix b/pkgs/development/python-modules/tables/default.nix
index 2ae41832569..d2346b7addb 100644
--- a/pkgs/development/python-modules/tables/default.nix
+++ b/pkgs/development/python-modules/tables/default.nix
@@ -2,13 +2,13 @@
 , cython, bzip2, lzo, numpy, numexpr, hdf5, six, c-blosc }:
 
 buildPythonPackage rec {
-  version = "3.4.2";
+  version = "3.4.3";
   pname = "tables";
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://pypi/t/tables/${name}.tar.gz";
-    sha256 = "fdbbea4edb6bad0ac0e53fc7bc6970e78e12eef4944aa4146bcdcb573201676c";
+    sha256 = "b6aafe47154e2140c0a91bb38ebdb6ba67a24dd86263f1c294af8c11cb7deed4";
   };
 
   buildInputs = [ hdf5 cython bzip2 lzo c-blosc ];
diff --git a/pkgs/development/python-modules/tablib/default.nix b/pkgs/development/python-modules/tablib/default.nix
new file mode 100644
index 00000000000..9f1bf2390b6
--- /dev/null
+++ b/pkgs/development/python-modules/tablib/default.nix
@@ -0,0 +1,29 @@
+{ buildPythonPackage, stdenv, fetchPypi, pytest, unicodecsv, pandas
+, xlwt, openpyxl, pyyaml, xlrd, odfpy, fetchpatch
+}:
+
+buildPythonPackage rec {
+  pname = "tablib";
+  version = "0.12.1";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "11wxchj0qz77dn79yiq30k4b4gsm429f4bizk4lm4rb63nk51kxq";
+  };
+
+  checkInputs = [ pytest unicodecsv pandas ];
+  propagatedBuildInputs = [ xlwt openpyxl pyyaml xlrd odfpy ];
+
+  patches = [
+    (fetchpatch {
+      url = "https://github.com/kennethreitz/tablib/commit/0e51a2d0944022af186d2dcd34c0ab3c47141ba5.patch";
+      sha256 = "0lbbl871zdn5vpgqyjkil0c2ap3b5hz19rmihhyvrx7m4mlh1aij";
+    })
+  ];
+
+  meta = with stdenv.lib; {
+    description = "Tablib: format-agnostic tabular dataset library";
+    homepage = http://python-tablib.org;
+    license = licenses.mit;
+  };
+}
diff --git a/pkgs/development/python-modules/tblib/default.nix b/pkgs/development/python-modules/tblib/default.nix
new file mode 100644
index 00000000000..37091da1b49
--- /dev/null
+++ b/pkgs/development/python-modules/tblib/default.nix
@@ -0,0 +1,18 @@
+{ stdenv, buildPythonPackage, fetchPypi }:
+
+buildPythonPackage rec {
+  pname = "tblib";
+  version = "1.3.2";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "436e4200e63d92316551179dc540906652878df4ff39b43db30fcf6400444fe7";
+  };
+
+  meta = with stdenv.lib; {
+    description = "Traceback fiddling library. Allows you to pickle tracebacks.";
+    homepage = https://github.com/ionelmc/python-tblib;
+    license = licenses.bsd2;
+    maintainers = with maintainers; [ teh ];
+  };
+}
diff --git a/pkgs/development/python-modules/tensorflow/bin.nix b/pkgs/development/python-modules/tensorflow/bin.nix
new file mode 100644
index 00000000000..c9b89ff7616
--- /dev/null
+++ b/pkgs/development/python-modules/tensorflow/bin.nix
@@ -0,0 +1,51 @@
+{ stdenv
+, lib
+, fetchurl
+, buildPythonPackage
+, isPy3k, isPy36, pythonOlder
+, numpy
+, six
+, protobuf
+, absl-py
+, mock
+, backports_weakref
+, enum34
+, tensorflow-tensorboard
+, cudaSupport ? false
+}:
+
+# tensorflow is built from a downloaded wheel because the source
+# build doesn't yet work on Darwin.
+
+buildPythonPackage rec {
+  pname = "tensorflow";
+  version = "1.5.0";
+  format = "wheel";
+
+  src = fetchurl {
+    url = "https://storage.googleapis.com/tensorflow/mac/cpu/tensorflow-${version}-py3-none-any.whl";
+    sha256 = "1mapv45n9wmgcq3i3im0pv0gmhwkxw5z69nsnxb1gfxbj1mz5h9m";
+  };
+
+  propagatedBuildInputs = [ numpy six protobuf absl-py ]
+                 ++ lib.optional (!isPy3k) mock
+                 ++ lib.optionals (pythonOlder "3.4") [ backports_weakref enum34 ]
+                 ++ lib.optional (pythonOlder "3.6") tensorflow-tensorboard;
+
+  # tensorflow depends on tensorflow_tensorboard, which cannot be
+  # built at the moment (some of its dependencies do not build
+  # [htlm5lib9999999 (seven nines) -> tensorboard], and it depends on an old version of
+  # bleach) Hence we disable dependency checking for now.
+  installFlags = lib.optional isPy36 "--no-dependencies";
+
+  meta = with stdenv.lib; {
+    description = "Computation using data flow graphs for scalable machine learning";
+    homepage = http://tensorflow.org;
+    license = licenses.asl20;
+    maintainers = with maintainers; [ jyp abbradar ];
+    platforms = platforms.darwin;
+    # Python 2.7 build uses different string encoding.
+    # See https://github.com/NixOS/nixpkgs/pull/37044#issuecomment-373452253
+    broken = cudaSupport || !isPy3k;
+  };
+}
diff --git a/pkgs/development/python-modules/tensorflow/default.nix b/pkgs/development/python-modules/tensorflow/default.nix
index 85dd30118cc..8d2d6fa9c14 100644
--- a/pkgs/development/python-modules/tensorflow/default.nix
+++ b/pkgs/development/python-modules/tensorflow/default.nix
@@ -149,7 +149,7 @@ in buildPythonPackage rec {
     homepage = http://tensorflow.org;
     license = licenses.asl20;
     maintainers = with maintainers; [ jyp abbradar ];
-    platforms = with platforms; if cudaSupport then linux else linux ++ darwin;
+    platforms = platforms.linux;
     broken = !(xlaSupport -> cudaSupport);
   };
 }
diff --git a/pkgs/development/python-modules/termstyle/default.nix b/pkgs/development/python-modules/termstyle/default.nix
new file mode 100644
index 00000000000..0a1c4e76412
--- /dev/null
+++ b/pkgs/development/python-modules/termstyle/default.nix
@@ -0,0 +1,20 @@
+{ lib, buildPythonPackage, fetchPypi }:
+
+buildPythonPackage rec {
+  pname = "termstyle";
+  version = "0.1.11";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "ef74b83698ea014112040cf32b1a093c1ab3d91c4dd18ecc03ec178fd99c9f9f";
+  };
+
+  # Only manual tests
+  doCheck = false;
+
+  meta = with lib; {
+    description = "Console colouring for python";
+    homepage = "https://pypi.python.org/pypi/python-termstyle/0.1.10";
+    license = licenses.bsdOriginal;
+  };
+}
diff --git a/pkgs/development/python-modules/testfixtures/default.nix b/pkgs/development/python-modules/testfixtures/default.nix
index 933b4be1caf..2b9ef2e24a1 100644
--- a/pkgs/development/python-modules/testfixtures/default.nix
+++ b/pkgs/development/python-modules/testfixtures/default.nix
@@ -3,11 +3,11 @@
 
 buildPythonPackage rec {
   pname = "testfixtures";
-  version = "5.4.0";
+  version = "6.0.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "338aed9695c432b7c9b8a271dabb521e3e7e2c96b11f7b4e60552f1c8408a8f0";
+    sha256 = "f8827cfc91e5cc9ac669727fdd48a85880f391b935a0a212b5cedb807879feec";
   };
 
   checkInputs = [ mock manuel pytest sybil zope_component ];
diff --git a/pkgs/development/python-modules/text-unidecode/default.nix b/pkgs/development/python-modules/text-unidecode/default.nix
new file mode 100644
index 00000000000..94aebc59512
--- /dev/null
+++ b/pkgs/development/python-modules/text-unidecode/default.nix
@@ -0,0 +1,23 @@
+{ lib, buildPythonPackage, fetchPypi, pytest }:
+
+buildPythonPackage rec {
+  pname = "text-unidecode";
+  version = "1.2";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "5a1375bb2ba7968740508ae38d92e1f889a0832913cb1c447d5e2046061a396d";
+  };
+
+  checkInputs = [ pytest ];
+
+  checkPhase = ''
+    py.test
+  '';
+
+  meta = with lib; {
+    description = "The most basic Text::Unidecode port";
+    homepage = https://github.com/kmike/text-unidecode;
+    license = licenses.artistic1;
+  };
+}
diff --git a/pkgs/development/python-modules/textacy/default.nix b/pkgs/development/python-modules/textacy/default.nix
index 333c4825f0f..4ffe8ec735c 100644
--- a/pkgs/development/python-modules/textacy/default.nix
+++ b/pkgs/development/python-modules/textacy/default.nix
@@ -25,11 +25,11 @@
 buildPythonPackage rec {
   name = "${pname}-${version}";
   pname = "textacy";
-  version = "0.5.0";
+  version = "0.6.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "6fc4603fd52c386081b063ef7aa15ca77e5e937a3064b197359659fccfdeb406";
+    sha256 = "32ffb796f2abf0577af480d482608cca2baf85d366a4e2981ffd3e632ebeb76c";
   };
 
   disabled = isPy27; # 2.7 requires backports.csv
diff --git a/pkgs/development/python-modules/thinc/default.nix b/pkgs/development/python-modules/thinc/default.nix
index 15794caf58b..62e0d28959a 100644
--- a/pkgs/development/python-modules/thinc/default.nix
+++ b/pkgs/development/python-modules/thinc/default.nix
@@ -1,15 +1,19 @@
 { stdenv
+, lib
 , pkgs
 , buildPythonPackage
 , fetchPypi
-, fetchFromGitHub
+, pythonOlder
 , pytest
 , cython
 , cymem
+, msgpack-numpy
+, msgpack-python
 , preshed
 , numpy
 , python
 , murmurhash
+, pathlib
 , hypothesis
 , tqdm
 , cytoolz
@@ -21,36 +25,26 @@
 , dill
 }:
 
-let
-  enableDebugging = true;
-
-  pathlibLocked = buildPythonPackage rec {
-    name = "${pname}-${version}";
-    pname = "pathlib";
-    version = "1.0.1";
-
-    src = fetchPypi {
-      inherit pname version;
-      sha256 = "17zajiw4mjbkkv6ahp3xf025qglkj0805m9s41c45zryzj6p2h39";
-    };
-
-    doCheck = false; # fails to import support from test
-  };
-in buildPythonPackage rec {
+buildPythonPackage rec {
   pname = "thinc";
-  version = "6.5.1";
-  name = pname + "-" + version;
+  version = "6.10.2";
 
-  src = fetchFromGitHub {
-    owner = "explosion";
-    repo = "thinc";
-    rev = "v${version}";
-    sha256 = "008kmjsvanh6qgnpvsn3qacfcyprxirxbw4yfd8flyg7mxw793ws";
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0xia81wvfrhyriywab184s49g8rpl42vcf5fy3x6xxw50a2yn7cs";
   };
 
+  postPatch = ''
+    substituteInPlace setup.py \
+      --replace "msgpack-python==" "msgpack-python>=" \
+      --replace "msgpack-numpy==" "msgpack-numpy>="
+  '';
+
   propagatedBuildInputs = [
    cython
    cymem
+   msgpack-numpy
+   msgpack-python
    preshed
    numpy
    murmurhash
@@ -64,22 +58,34 @@ in buildPythonPackage rec {
    termcolor
    wrapt
    dill
-   pathlibLocked
+  ] ++ lib.optional (pythonOlder "3.4") pathlib;
+
+
+  checkInputs = [
+    pytest
   ];
 
+  prePatch = ''
+    substituteInPlace setup.py --replace \
+      "'pathlib>=1.0.0,<2.0.0'," \
+      "\"pathlib>=1.0.0,<2.0.0; python_version<'3.4'\","
+
+    substituteInPlace setup.py --replace \
+      "'cytoolz>=0.8,<0.9'," \
+      "'cytoolz>=0.8',"
+  '';
+
+  # Cannot find cython modules.
   doCheck = false;
 
-  # fails to import some modules
-  # checkPhase = ''
-  #   ${python.interpreter} -m pytest thinc/tests
-  #   # cd thinc/tests
-  #   # ${python.interpreter} -m unittest discover -p "*test*"
-  # '';
+  checkPhase = ''
+    pytest thinc/tests
+  '';
 
   meta = with stdenv.lib; {
     description = "Practical Machine Learning for NLP in Python";
     homepage = https://github.com/explosion/thinc;
     license = licenses.mit;
-    maintainers = with maintainers; [ sdll ];
+    maintainers = with maintainers; [ aborsu sdll ];
     };
 }
diff --git a/pkgs/development/python-modules/thumbor/default.nix b/pkgs/development/python-modules/thumbor/default.nix
new file mode 100644
index 00000000000..94261b10e3d
--- /dev/null
+++ b/pkgs/development/python-modules/thumbor/default.nix
@@ -0,0 +1,56 @@
+{ buildPythonPackage, stdenv, tornado, pycrypto, pycurl, pytz
+, pillow, derpconf, python_magic, pexif, libthumbor, opencv, webcolors
+, piexif, futures, statsd, thumborPexif, fetchPypi, fetchpatch, isPy3k, lib
+}:
+
+buildPythonPackage rec {
+  pname = "thumbor";
+  version = "6.4.2";
+
+  disabled = isPy3k; # see https://github.com/thumbor/thumbor/issues/1004
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0y9mf78j80vjh4y0xvgnybc1wqfcwm5s19xhsfgkn12hh8pmh14d";
+  };
+
+  patches = [
+    (fetchpatch {
+      url = "https://github.com/thumbor/thumbor/commit/4f2bc99451409e404f7fa0f3e4a3bdaea7b49869.patch";
+      sha256 = "0qqw1n1pfd8f8cn168718gzwf4b35j2j9ajyw643xpf92s0iq2cc";
+    })
+  ];
+
+  postPatch = ''
+    substituteInPlace "setup.py" \
+      --replace '"argparse",' "" ${lib.optionalString isPy3k ''--replace '"futures",' ""''}
+  '';
+
+  propagatedBuildInputs = [
+    tornado
+    pycrypto
+    pycurl
+    pytz
+    pillow
+    derpconf
+    python_magic
+    pexif
+    libthumbor
+    opencv
+    webcolors
+    piexif
+    statsd
+  ] ++ 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;
+
+  meta = with stdenv.lib; {
+    description = "A smart imaging service";
+    homepage = https://github.com/thumbor/thumbor/wiki;
+    license = licenses.mit;
+    maintainers = with maintainers; [ ma27 ];
+  };
+}
diff --git a/pkgs/development/python-modules/tifffile/default.nix b/pkgs/development/python-modules/tifffile/default.nix
index 12edef190dc..6e1baf2f2e9 100644
--- a/pkgs/development/python-modules/tifffile/default.nix
+++ b/pkgs/development/python-modules/tifffile/default.nix
@@ -3,11 +3,11 @@
 
 buildPythonPackage rec {
   pname = "tifffile";
-  version = "0.13.5";
+  version = "0.14.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "bca0fc9eaf609a27ebd99d8466e05d5a6e79389957f17582b70643dbca65e3d8";
+    sha256 = "eff44f71782dce38c604921a1b29ddad0d007ac9871d66e9c872fd6fc311334e";
   };
 
   checkInputs = [ nose ];
diff --git a/pkgs/development/python-modules/tinycss2/default.nix b/pkgs/development/python-modules/tinycss2/default.nix
new file mode 100644
index 00000000000..6d0ee30bbb4
--- /dev/null
+++ b/pkgs/development/python-modules/tinycss2/default.nix
@@ -0,0 +1,23 @@
+{ lib, buildPythonPackage, fetchPypi, webencodings, pytestrunner, pytestcov, pytest-flake8, pytest-isort, glibcLocales }:
+
+buildPythonPackage rec {
+  pname = "tinycss2";
+  version = "0.6.1";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "7c53c2c0e914c7711c295b3101bcc78e0b7eda23ff20228a936efe11cdcc7136";
+  };
+
+  propagatedBuildInputs = [ webencodings ];
+
+  checkInputs = [ pytestrunner pytestcov pytest-flake8 pytest-isort glibcLocales ];
+
+  LC_ALL = "en_US.UTF-8";
+
+  meta = with lib; {
+    description = "Low-level CSS parser for Python";
+    homepage = https://github.com/Kozea/tinycss2;
+    license = licenses.bsd3;
+  };
+}
diff --git a/pkgs/development/python-modules/tiros/default.nix b/pkgs/development/python-modules/tiros/default.nix
index 7bf21b02521..6161b0492be 100644
--- a/pkgs/development/python-modules/tiros/default.nix
+++ b/pkgs/development/python-modules/tiros/default.nix
@@ -5,11 +5,11 @@
 buildPythonPackage rec {
   pname = "tiros";
   name = "${pname}-${version}";
-  version = "1.0.42";
+  version = "1.0.44";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "d0f9bc6d463654c971a78e02a3159ec62a2db684a217a7e940e66d4a381bdd52";
+    sha256 = "d6bf7410967554ec283f9d4eabc0ce6821d6e6d36001afbdb7fe0826423d4f37";
   };
 
   patchPhase = ''
diff --git a/pkgs/development/python-modules/tmdb3/default.nix b/pkgs/development/python-modules/tmdb3/default.nix
new file mode 100644
index 00000000000..87b62cd78ac
--- /dev/null
+++ b/pkgs/development/python-modules/tmdb3/default.nix
@@ -0,0 +1,20 @@
+{ lib, buildPythonPackage, fetchPypi }:
+
+buildPythonPackage rec {
+  pname = "tmdb3";
+  version = "0.7.2";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "9b6e043b8a65d159e7fc8f720badc7ffee5109296e38676c107454e03a895983";
+  };
+
+  # no tests implemented
+  doCheck = false;
+
+  meta = with lib; {
+    description = "Python implementation of the v3 API for TheMovieDB.org, allowing access to movie and cast information";
+    homepage = https://pypi.python.org/pypi/tmdb3;
+    license = licenses.bsd3;
+  };
+}
diff --git a/pkgs/development/python-modules/toml/default.nix b/pkgs/development/python-modules/toml/default.nix
new file mode 100644
index 00000000000..a80657dc4b4
--- /dev/null
+++ b/pkgs/development/python-modules/toml/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, buildPythonPackage, fetchPypi }:
+
+buildPythonPackage rec {
+  pname = "toml";
+  version = "0.9.4";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0bdbpbip67wdm6c7xwc6mmbmskyradj4cdxn1iibj4fcx1nbv1lf";
+  };
+
+  # This package has a test script (built for Travis) that involves a)
+  # looking in the home directory for a binary test runner and b) using
+  # git to download a test suite.
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    description = "a Python library for parsing and creating TOML";
+    homepage = "https://github.com/uiri/toml";
+    license = licenses.mit;
+    maintainers = with maintainers; [ twey ];
+  };
+}
diff --git a/pkgs/development/python-modules/tornado/default.nix b/pkgs/development/python-modules/tornado/default.nix
index ec431a6e85b..37b1c7bcf5c 100644
--- a/pkgs/development/python-modules/tornado/default.nix
+++ b/pkgs/development/python-modules/tornado/default.nix
@@ -7,15 +7,17 @@
 , certifi
 , singledispatch
 , pythonOlder
+, futures
 }:
 
 buildPythonPackage rec {
   pname = "tornado";
-  version = "4.5.3";
-  name = "${pname}-${version}";
+  version = "5.0.2";
+
 
   propagatedBuildInputs = [ backports_abc  certifi singledispatch ]
-    ++ lib.optional (pythonOlder "3.5") backports_ssl_match_hostname;
+    ++ lib.optional (pythonOlder "3.5") backports_ssl_match_hostname
+    ++ lib.optional (pythonOlder "3.2") futures;
 
   # We specify the name of the test files to prevent
   # https://github.com/NixOS/nixpkgs/issues/14634
@@ -25,6 +27,12 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "6d14e47eab0e15799cf3cdcc86b0b98279da68522caace2bd7ce644287685f0a";
+    sha256 = "1b83d5c10550f2653380b4c77331d6f8850f287c4f67d7ce1e1c639d9222fbc7";
+  };
+
+  meta = {
+    description = "A web framework and asynchronous networking library";
+    homepage = http://www.tornadoweb.org/;
+    license = lib.licenses.asl20;
   };
 }
diff --git a/pkgs/development/python-modules/tox/default.nix b/pkgs/development/python-modules/tox/default.nix
index bc70d65cc1f..359f13e2a00 100644
--- a/pkgs/development/python-modules/tox/default.nix
+++ b/pkgs/development/python-modules/tox/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "tox";
-  version = "2.9.1";
+  version = "3.0.0";
 
   buildInputs = [ setuptools_scm ];
   propagatedBuildInputs = [ py virtualenv pluggy six ];
@@ -19,6 +19,6 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "752f5ec561c6c08c5ecb167d3b20f4f4ffc158c0ab78855701a75f5cef05f4b8";
+    sha256 = "96efa09710a3daeeb845561ebbe1497641d9cef2ee0aea30db6969058b2bda2f";
   };
 }
\ No newline at end of file
diff --git a/pkgs/development/python-modules/tqdm/default.nix b/pkgs/development/python-modules/tqdm/default.nix
index 209ee8ccd6b..23ad1bc2624 100644
--- a/pkgs/development/python-modules/tqdm/default.nix
+++ b/pkgs/development/python-modules/tqdm/default.nix
@@ -11,12 +11,12 @@
 
 buildPythonPackage rec {
   pname = "tqdm";
-  version = "4.19.5";
+  version = "4.21.0";
   name = "${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "df32e6f127dc0ccbc675eadb33f749abbcb8f174c5cb9ec49c0cdb73aa737377";
+    sha256 = "b94af236084ceaad93a6ada00bd9976900b172ec9b821828ed0d4b53f7431170";
   };
 
   buildInputs = [ nose coverage glibcLocales flake8 ];
diff --git a/pkgs/development/python-modules/traitlets/default.nix b/pkgs/development/python-modules/traitlets/default.nix
index c34bb09b794..8cc1332b473 100644
--- a/pkgs/development/python-modules/traitlets/default.nix
+++ b/pkgs/development/python-modules/traitlets/default.nix
@@ -7,6 +7,8 @@
 , ipython_genutils
 , decorator
 , enum34
+, pythonOlder
+, six
 }:
 
 buildPythonPackage rec {
@@ -20,12 +22,14 @@ buildPythonPackage rec {
   };
 
   checkInputs = [ glibcLocales pytest mock ];
-  propagatedBuildInputs = [ ipython_genutils decorator enum34 ];
+  propagatedBuildInputs = [ ipython_genutils decorator six ] ++ lib.optional (pythonOlder "3.4") enum34;
 
   checkPhase = ''
-    LC_ALL="en_US.UTF-8" py.test $out
+    LC_ALL="en_US.UTF-8" py.test
   '';
 
+#   doCheck = false;
+
   meta = {
     description = "Traitlets Python config system";
     homepage = http://ipython.org/;
diff --git a/pkgs/development/python-modules/transaction/default.nix b/pkgs/development/python-modules/transaction/default.nix
index 34c22132428..afb35b57973 100644
--- a/pkgs/development/python-modules/transaction/default.nix
+++ b/pkgs/development/python-modules/transaction/default.nix
@@ -9,11 +9,11 @@
 buildPythonPackage rec {
   name = "${pname}-${version}";
   pname = "transaction";
-  version = "2.1.2";
+  version = "2.2.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1mab0r3grmgz9d97y8pynhg0r34v0am35vpxyvh7ff5sgmg3dg5r";
+    sha256 = "f2242070e437e5d555ea3df809cb517860513254c828f33847df1c5e4b776c7a";
   };
 
   propagatedBuildInputs = [ zope_interface mock ];
diff --git a/pkgs/development/python-modules/transitions/default.nix b/pkgs/development/python-modules/transitions/default.nix
index edf13782b07..4bda41dd66b 100644
--- a/pkgs/development/python-modules/transitions/default.nix
+++ b/pkgs/development/python-modules/transitions/default.nix
@@ -3,11 +3,11 @@
 
 buildPythonPackage rec {
   pname = "transitions";
-  version = "0.6.4";
+  version = "0.6.5";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1ikxsjg7vil0yhiwhiimnjzcb1ig6g6g79sdhs9v8rnrszk1mi2n";
+    sha256 = "f72b6c5fcac3d1345bbf829e1a48a810255bcb4fc2c11a634af68107c378c1be";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/trezor/default.nix b/pkgs/development/python-modules/trezor/default.nix
index 16fc8530a0d..3a6b5f62e4f 100644
--- a/pkgs/development/python-modules/trezor/default.nix
+++ b/pkgs/development/python-modules/trezor/default.nix
@@ -1,18 +1,18 @@
 { lib, fetchPypi, buildPythonPackage,
-  protobuf, hidapi, ecdsa, mnemonic, requests, pyblake2, click, libusb1
+  protobuf, hidapi, ecdsa, mnemonic, requests, pyblake2, click, libusb1, rlp
 }:
 
 buildPythonPackage rec {
   name = "${pname}-${version}";
   pname = "trezor";
-  version = "0.9.0";
+  version = "0.9.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "2dd01e11d669cb8f5e40fcf1748bcabc41fb5f41edb010fc807dc3088f9bd7de";
+    sha256 = "a481191011bade98f1e9f1201e7c72a83945050657bbc90dc4ac32dc8b8b46a4";
   };
 
-  propagatedBuildInputs = [ protobuf hidapi ecdsa mnemonic requests pyblake2 click libusb1 ];
+  propagatedBuildInputs = [ protobuf hidapi ecdsa mnemonic requests pyblake2 click libusb1 rlp ];
 
   # There are no actual tests: "ImportError: No module named tests"
   doCheck = false;
diff --git a/pkgs/development/python-modules/trio/default.nix b/pkgs/development/python-modules/trio/default.nix
new file mode 100644
index 00000000000..2bd607170fd
--- /dev/null
+++ b/pkgs/development/python-modules/trio/default.nix
@@ -0,0 +1,42 @@
+{ lib, buildPythonPackage, fetchPypi, pythonOlder
+, attrs
+, sortedcontainers
+, async_generator
+, idna
+, outcome
+, contextvars
+, pytest
+, pyopenssl
+, trustme
+}:
+
+buildPythonPackage rec {
+  pname = "trio";
+  version = "0.4.0";
+  disabled = pythonOlder "3.5";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0ib1x47knlad9pljb64ywfiv6m3dfrqqjwka6j1b73hixmszb5h4";
+  };
+
+  checkInputs = [ pytest pyopenssl trustme ];
+  # It appears that the build sandbox doesn't include /etc/services, and these tests try to use it.
+  checkPhase = ''
+    py.test -k 'not test_getnameinfo and not test_SocketType_resolve and not test_getprotobyname'
+  '';
+  propagatedBuildInputs = [
+    attrs
+    sortedcontainers
+    async_generator
+    idna
+    outcome
+  ] ++ lib.optionals (pythonOlder "3.7") [ contextvars ];
+
+  meta = {
+    description = "An async/await-native I/O library for humans and snake people";
+    homepage = https://github.com/python-trio/trio;
+    license = with lib.licenses; [ mit asl20 ];
+    maintainers = with lib.maintainers; [ catern ];
+  };
+}
diff --git a/pkgs/development/python-modules/trustme/default.nix b/pkgs/development/python-modules/trustme/default.nix
new file mode 100644
index 00000000000..0c3ccb5258e
--- /dev/null
+++ b/pkgs/development/python-modules/trustme/default.nix
@@ -0,0 +1,26 @@
+{ lib, buildPythonPackage, fetchPypi, cryptography, pytest, pyopenssl, service-identity }:
+
+buildPythonPackage rec {
+  pname = "trustme";
+  version = "0.4.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1215vr6l6c0fzsv5gyay82fxd4fidvq2rd94wvjrljs6h2wajazk";
+  };
+
+  checkInputs = [ pytest pyopenssl service-identity ];
+  checkPhase = ''
+    py.test
+  '';
+  propagatedBuildInputs = [
+    cryptography
+  ];
+
+  meta = {
+    description = "#1 quality TLS certs while you wait, for the discerning tester";
+    homepage = https://github.com/python-trio/trustme;
+    license = with lib.licenses; [ mit asl20 ];
+    maintainers = with lib.maintainers; [ catern ];
+  };
+}
diff --git a/pkgs/development/python-modules/tunigo/default.nix b/pkgs/development/python-modules/tunigo/default.nix
new file mode 100644
index 00000000000..767bb21f0fd
--- /dev/null
+++ b/pkgs/development/python-modules/tunigo/default.nix
@@ -0,0 +1,27 @@
+{ lib, buildPythonPackage, fetchFromGitHub, requests, mock, responses, pytest }:
+
+buildPythonPackage rec {
+  pname = "tunigo";
+  version = "1.0.0";
+
+  propagatedBuildInputs = [ requests ];
+
+  src = fetchFromGitHub {
+    owner = "trygveaa";
+    repo = "python-tunigo";
+    rev = "v${version}";
+    sha256 = "07q9girrjjffzkn8xj4l3ynf9m4psi809zf6f81f54jdb330p2fs";
+  };
+
+  checkInputs = [ mock responses pytest ];
+
+  checkPhase = ''
+    py.test
+  '';
+
+  meta = with lib; {
+    description = "Python API for the browse feature of Spotify";
+    homepage = https://github.com/trygveaa/python-tunigo;
+    license = licenses.asl20;
+  };
+}
diff --git a/pkgs/development/python-modules/tweepy/default.nix b/pkgs/development/python-modules/tweepy/default.nix
new file mode 100644
index 00000000000..c0c74743044
--- /dev/null
+++ b/pkgs/development/python-modules/tweepy/default.nix
@@ -0,0 +1,28 @@
+{ lib, buildPythonPackage, fetchPypi, fetchpatch, requests, six, requests_oauthlib }:
+
+buildPythonPackage rec {
+  pname = "tweepy";
+  version = "3.6.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "901500666de5e265d93e611dc05066bb020481c85550d6bcbf8030212938902c";
+  };
+
+  # Fix build with pip 10
+  # https://github.com/tweepy/tweepy/pull/1030
+  patches = fetchpatch {
+    url = "${meta.homepage}/commit/778bd7a31d2f5fae98652735e7844533589ca221.patch";
+    sha256 = "1sqmjn0ngiynhfkdkcs33qmvl49ysfp8522hvxjk8bx252y9qw2h";
+  };
+
+  doCheck = false;
+  propagatedBuildInputs = [ requests six requests_oauthlib ];
+
+  meta = with lib; {
+    homepage = https://github.com/tweepy/tweepy;
+    description = "Twitter library for python";
+    license = licenses.mit;
+    maintainers = with maintainers; [ garbas ];
+  };
+}
diff --git a/pkgs/development/python-modules/twine/default.nix b/pkgs/development/python-modules/twine/default.nix
index 63f8c3b9055..9cb3a09d363 100644
--- a/pkgs/development/python-modules/twine/default.nix
+++ b/pkgs/development/python-modules/twine/default.nix
@@ -10,12 +10,12 @@
 
 buildPythonPackage rec {
   pname = "twine";
-  version = "1.9.1";
+  version = "1.11.0";
   name = "${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "caa45b7987fc96321258cd7668e3be2ff34064f5c66d2d975b641adca659c1ab";
+    sha256 = "09cz9v63f8mrs4znbjapjj2z3wdfryq8q364zm0wzjhbzzcs9n9g";
   };
 
   propagatedBuildInputs = [ pkginfo requests requests_toolbelt tqdm pyblake2 ];
diff --git a/pkgs/development/python-modules/txaio/default.nix b/pkgs/development/python-modules/txaio/default.nix
index b4662c640a3..4abd97d2436 100644
--- a/pkgs/development/python-modules/txaio/default.nix
+++ b/pkgs/development/python-modules/txaio/default.nix
@@ -1,27 +1,20 @@
 { stdenv, buildPythonPackage, fetchPypi, pytest, mock, six, twisted }:
 
 buildPythonPackage rec {
-  name = "${pname}-${version}";
   pname = "txaio";
-  version = "2.8.2";
+  version = "2.9.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "484cd6c4cdd3f6081b87188f3b2b9a36e02fba6816e8256917c4f6571b567571";
+    sha256 = "dfc3a7d04b4b484ae5ff241affab5bb01306b1e950dd6f54fd036cfca94345d0";
   };
 
-  buildInputs = [ pytest mock ];
+  checkInputs = [ pytest mock ];
 
   propagatedBuildInputs = [ six twisted ];
 
-  patchPhase = ''
-    sed -i '152d' test/test_logging.py
-  '';
-
-  # test_chained_callback has been removed just post-2.7.1 because the functionality was decided against and the test
-  # breaks on python 3.6 https://github.com/crossbario/txaio/pull/104
   checkPhase = ''
-    py.test -k "not (test_sdist or test_chained_callback)"
+    py.test -k "not test_sdist"
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/python-modules/txtorcon/default.nix b/pkgs/development/python-modules/txtorcon/default.nix
index cd2d6c9a365..09004e9337a 100644
--- a/pkgs/development/python-modules/txtorcon/default.nix
+++ b/pkgs/development/python-modules/txtorcon/default.nix
@@ -3,9 +3,8 @@
 , GeoIP}:
 
 buildPythonPackage rec {
-  name = "${pname}-${version}";
   pname = "txtorcon";
-  version = "0.19.3";
+  version = "0.20.0";
 
   checkInputs = [ pytest mock lsof GeoIP ];
   propagatedBuildInputs = [
@@ -16,16 +15,9 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1za4qag4g2lbw695v4ssxqc2aspdyknnbn2diylwg8q9g5k9cczp";
+    sha256 = "dc80cb76b3ddacef6d671c0a088cb1a45274c0858554c32ce55d0f41421c740e";
   };
 
-  # ipaddress isn't required for Python 3 although it's in requirements.txt.
-  # Because ipaddress doesn't install on Python 3, remove the requirement so the
-  # installation of this package doesn't fail on Python 3.
-  postPatch = "" + lib.optionalString isPy3k ''
-    substituteInPlace requirements.txt --replace "ipaddress>=1.0.16" ""
-  '';
-
   # Skip a failing test until fixed upstream:
   # https://github.com/meejah/txtorcon/issues/250
   checkPhase = ''
diff --git a/pkgs/development/python-modules/u-msgpack-python/default.nix b/pkgs/development/python-modules/u-msgpack-python/default.nix
index bab0bc28850..cbb3f9bfa8f 100644
--- a/pkgs/development/python-modules/u-msgpack-python/default.nix
+++ b/pkgs/development/python-modules/u-msgpack-python/default.nix
@@ -7,12 +7,12 @@
 
 buildPythonPackage rec {
   pname = "u-msgpack-python";
-  version = "2.4.1";
+  version = "2.5.0";
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://pypi/${builtins.substring 0 1 pname}/${pname}/${name}.tar.gz";
-    sha256 = "2f31fc1b6dd8632c230ea7012470e40f77119f20999274dda6f1afa9c305e590";
+    sha256 = "7ff18ae3721fa75571f9329c08f7c0120416a6ae36194bd8674f65b3b78d0702";
   };
 
   LC_ALL="en_US.UTF-8";
diff --git a/pkgs/development/python-modules/unittest-xml-reporting/default.nix b/pkgs/development/python-modules/unittest-xml-reporting/default.nix
new file mode 100644
index 00000000000..129ad0ded6c
--- /dev/null
+++ b/pkgs/development/python-modules/unittest-xml-reporting/default.nix
@@ -0,0 +1,23 @@
+{lib, fetchPypi, buildPythonPackage, six}:
+
+buildPythonPackage rec {
+  name = "${pname}-${version}";
+  pname = "unittest-xml-reporting";
+  version = "2.1.1";
+
+  propagatedBuildInputs = [six];
+
+  # The tarball from Pypi doesn't actually contain the unit tests
+  doCheck = false;
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1jwkqx5gfphkymp3xwqvlb94ng22gpbqh36vbbnsrpk1a0mammm6";
+  };
+  meta = with lib; {
+    homepage = https://github.com/xmlrunner/unittest-xml-reporting/tree/master/;
+    description = "A unittest runner that can save test results to XML files";
+    license = lib.licenses.bsd2;
+    maintainers = with lib.maintainers; [ rprospero ];
+  };
+}
diff --git a/pkgs/development/python-modules/uritemplate/default.nix b/pkgs/development/python-modules/uritemplate/default.nix
new file mode 100644
index 00000000000..c469fd8dd1c
--- /dev/null
+++ b/pkgs/development/python-modules/uritemplate/default.nix
@@ -0,0 +1,26 @@
+{ lib, buildPythonPackage, fetchPypi, simplejson, pytest, glibcLocales }:
+
+buildPythonPackage rec {
+  pname = "uritemplate";
+  version = "3.0.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "c02643cebe23fc8adb5e6becffe201185bf06c40bda5c0b4028a93f1527d011d";
+  };
+
+  propagatedBuildInputs = [ simplejson ];
+
+  checkInputs = [ pytest glibcLocales ];
+
+  checkPhase = ''
+    LC_ALL=en_US.UTF-8 py.test
+  '';
+
+  meta = with lib; {
+    homepage = https://github.com/python-hyper/uritemplate;
+    description = "URI template parsing for Humans";
+    license = with licenses; [ asl20 bsd3 ];
+    maintainers = with maintainers; [ matthiasbeyer ];
+  };
+}
diff --git a/pkgs/development/python-modules/virtual-display/default.nix b/pkgs/development/python-modules/virtual-display/default.nix
new file mode 100644
index 00000000000..262d2a5d33a
--- /dev/null
+++ b/pkgs/development/python-modules/virtual-display/default.nix
@@ -0,0 +1,23 @@
+{ lib, buildPythonPackage, fetchPypi, EasyProcess }:
+
+buildPythonPackage rec {
+  pname = "PyVirtualDisplay";
+  version = "0.2.1";
+
+  propagatedBuildInputs = [ EasyProcess ];
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "012883851a992f9c53f0dc6a512765a95cf241bdb734af79e6bdfef95c6e9982";
+  };
+
+  # requires X server
+  doCheck = false;
+
+  meta = with lib; {
+    description = "Python wrapper for Xvfb, Xephyr and Xvnc";
+    homepage = "https://github.com/ponty/pyvirtualdisplay";
+    license = licenses.bsdOriginal;
+    maintainers = with maintainers; [ layus ];
+  };
+}
diff --git a/pkgs/development/python-modules/virtualenv/default.nix b/pkgs/development/python-modules/virtualenv/default.nix
index df0c83605f7..ffb2bb76190 100644
--- a/pkgs/development/python-modules/virtualenv/default.nix
+++ b/pkgs/development/python-modules/virtualenv/default.nix
@@ -6,12 +6,12 @@
 
 buildPythonPackage rec {
   pname = "virtualenv";
-  version = "15.1.0";
+  version = "15.2.0";
   name = "${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "02f8102c2436bb03b3ee6dede1919d1dac8a427541652e5ec95171ec8adbc93a";
+    sha256 = "1d7e241b431e7afce47e77f8843a276f652699d1fa4f93b9d8ce0076fd7b0b54";
   };
 
   # Doubt this is needed - FRidh 2017-07-07
diff --git a/pkgs/development/python-modules/vobject/default.nix b/pkgs/development/python-modules/vobject/default.nix
new file mode 100644
index 00000000000..8d52f65d498
--- /dev/null
+++ b/pkgs/development/python-modules/vobject/default.nix
@@ -0,0 +1,24 @@
+{ lib, buildPythonPackage, fetchPypi, isPyPy, python, dateutil }:
+
+buildPythonPackage rec {
+  version = "0.9.5";
+  pname = "vobject";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0f56cae196303d875682b9648b4bb43ffc769d2f0f800958e0a506af867b1243";
+  };
+
+  disabled = isPyPy;
+
+  propagatedBuildInputs = [ dateutil ];
+
+  checkPhase = "${python.interpreter} tests.py";
+
+  meta = with lib; {
+    description = "Module for reading vCard and vCalendar files";
+    homepage = http://eventable.github.io/vobject/;
+    license = licenses.asl20;
+    maintainers = with maintainers; [ ];
+  };
+}
diff --git a/pkgs/development/python-modules/vowpalwabbit/default.nix b/pkgs/development/python-modules/vowpalwabbit/default.nix
index f2b5e06baaa..589f8de99ee 100644
--- a/pkgs/development/python-modules/vowpalwabbit/default.nix
+++ b/pkgs/development/python-modules/vowpalwabbit/default.nix
@@ -3,11 +3,11 @@
 pythonPackages.buildPythonPackage rec {
   pname = "vowpalwabbit";
   name = "${pname}-${version}";
-  version = "8.4.0";
+  version = "8.5.0";
 
   src = fetchurl{
     url = "mirror://pypi/v/vowpalwabbit/${name}.tar.gz";
-    sha256 = "abd22bfae99fb102cf8a6aec49e8c278cb7317d3a7eb60f70cd102be9c336fd5";
+    sha256 = "0b517371fc64f1c728a0af42a31fa93def27306e9b4d25d6e5fd01bcff1b7304";
   };
   # vw tries to write some explicit things to home
   # python installed: The directory '/homeless-shelter/.cache/pip/http'
diff --git a/pkgs/development/python-modules/vxi11/default.nix b/pkgs/development/python-modules/vxi11/default.nix
new file mode 100644
index 00000000000..7bae1e9860b
--- /dev/null
+++ b/pkgs/development/python-modules/vxi11/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, buildPythonPackage, fetchFromGitHub, nose }:
+
+buildPythonPackage rec {
+  pname = "python-vxi11";
+  version = "0.9";
+
+  # no tests in PyPI tarball
+  src = fetchFromGitHub {
+    owner = "python-ivi";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1xv7chp7rm0vrvbz6q57fpwhlgjz461h08q9zgmkcl2l0w96hmsn";
+  };
+
+  checkInputs = [ nose ];
+  checkPhase = ''
+    nosetests
+  '';
+
+  meta = with stdenv.lib; {
+    description = "VXI-11 driver for controlling instruments over Ethernet";
+    homepage = https://github.com/python-ivi/python-vxi11;
+    license = licenses.mit;
+    maintainers = with maintainers; [ bgamari ];
+  };
+}
diff --git a/pkgs/development/python-modules/wakeonlan/default.nix b/pkgs/development/python-modules/wakeonlan/default.nix
index d4a47138d4a..b5c9e14da35 100644
--- a/pkgs/development/python-modules/wakeonlan/default.nix
+++ b/pkgs/development/python-modules/wakeonlan/default.nix
@@ -1,14 +1,27 @@
-{ stdenv, fetchPypi, buildPythonPackage }:
+{ stdenv, fetchPypi, buildPythonPackage, setuptools_scm, pytest, mock }:
 
 buildPythonPackage rec {
   pname = "wakeonlan";
-  version = "1.0.0";
+  version = "1.1.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1snkyc6ph0bnypqs5yjw35mx3f9ij4808r5i06gl2vhn1rfzgyh1";
+    sha256 = "5e6013a17004809e676c150689abd94bcc0f12a37ad3fbce1f6270968f95ffa9";
   };
 
+  postPatch = ''
+    substituteInPlace setup.py \
+      --replace "setuptools-scm ~= 1.15.7" "setuptools-scm"
+  '';
+
+  checkInputs = [ pytest mock ];
+
+  nativeBuildInputs = [ setuptools_scm ];
+
+  checkPhase = ''
+    py.test
+  '';
+
   meta = with stdenv.lib; {
     description = "A small python module for wake on lan";
     homepage = https://github.com/remcohaszing/pywakeonlan;
diff --git a/pkgs/development/python-modules/warrant/default.nix b/pkgs/development/python-modules/warrant/default.nix
new file mode 100644
index 00000000000..ac83430fbae
--- /dev/null
+++ b/pkgs/development/python-modules/warrant/default.nix
@@ -0,0 +1,36 @@
+{ lib, buildPythonPackage, fetchFromGitHub, fetchPypi
+, mock
+, boto3, envs, python-jose, requests }:
+
+buildPythonPackage rec {
+  pname = "warrant";
+  version = "0.6.1";
+
+  # move to fetchPyPi when https://github.com/capless/warrant/issues/97 is fixed
+  src = fetchFromGitHub {
+    owner  = "capless";
+    repo   = "warrant";
+    rev    = "ff2e4793d8479e770f2461ef7cbc0c15ee784395";
+    sha256 = "0gw3crg64p1zx3k5js0wh0x5bldgs7viy4g8hld9xbka8q0374hi";
+  };
+
+  # this needs to go when 0.6.2 or later is released
+  postPatch = ''
+    substituteInPlace requirements.txt \
+      --replace "python-jose-cryptodome>=1.3.2" "python-jose>=2.0.0"
+  '';
+
+  checkInputs = [ mock ];
+
+  propagatedBuildInputs = [ boto3 envs python-jose requests ];
+
+  # all the checks are failing
+  doCheck = false;
+
+  meta = with lib; {
+    description = "Python library for using AWS Cognito with support for SRP";
+    homepage = https://github.com/capless/warrant;
+    license = lib.licenses.asl20;
+    maintainers = with lib.maintainers; [ peterhoeg ];
+  };
+}
diff --git a/pkgs/development/python-modules/weboob/default.nix b/pkgs/development/python-modules/weboob/default.nix
index b71e4d3a4ff..73a70a65c38 100644
--- a/pkgs/development/python-modules/weboob/default.nix
+++ b/pkgs/development/python-modules/weboob/default.nix
@@ -16,6 +16,19 @@ buildPythonPackage rec {
     sha256 = "0m5yh49lplvb57dfilczh65ky35fshp3g7ni31pwfxwqi1f7i4f9";
   };
 
+  postPatch = ''
+    # Disable doctests that require networking:
+    sed -i -n -e '/^ *def \+pagination *(.*: *$/ {
+      p; n; p; /"""\|'\'\'\'''/!b
+
+      :loop
+      n; /^ *\(>>>\|\.\.\.\)/ { h; bloop }
+      x; /^ *\(>>>\|\.\.\.\)/bloop; x
+      p; /"""\|'\'\'\'''/b
+      bloop
+    }; p' weboob/browser/browsers.py weboob/browser/pages.py
+  '';
+
   setupPyBuildFlags = ["--qt" "--xdg"];
 
   checkInputs = [ nose ];
diff --git a/pkgs/development/python-modules/wheel/default.nix b/pkgs/development/python-modules/wheel/default.nix
index c77d8a3859e..6db21baf750 100644
--- a/pkgs/development/python-modules/wheel/default.nix
+++ b/pkgs/development/python-modules/wheel/default.nix
@@ -9,12 +9,12 @@
 
 buildPythonPackage rec {
   pname = "wheel";
-  version = "0.30.0";
+  version = "0.31.0";
   name = "${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "9515fe0a94e823fd90b08d22de45d7bde57c90edce705b22f5e1ecf7e1b653c8";
+    sha256 = "1ae8153bed701cb062913b72429bcf854ba824f973735427681882a688cb55ce";
   };
 
   checkInputs = [ pytest pytestcov coverage ];
diff --git a/pkgs/development/python-modules/whichcraft/default.nix b/pkgs/development/python-modules/whichcraft/default.nix
new file mode 100644
index 00000000000..89be87e1849
--- /dev/null
+++ b/pkgs/development/python-modules/whichcraft/default.nix
@@ -0,0 +1,23 @@
+{ lib, buildPythonPackage, fetchPypi, pytest }:
+
+buildPythonPackage rec {
+  pname = "whichcraft";
+  version = "0.4.1";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "9e0d51c9387cb7e9f28b7edb549e6a03da758f7784f991eb4397d7f7808c57fd";
+  };
+
+  checkInputs = [ pytest ];
+
+  checkPhase = ''
+    py.test
+  '';
+
+  meta = with lib; {
+    homepage = https://github.com/pydanny/whichcraft;
+    description = "Cross-platform cross-python shutil.which functionality";
+    license = licenses.bsd3;
+  };
+}
diff --git a/pkgs/development/python-modules/widgetsnbextension/default.nix b/pkgs/development/python-modules/widgetsnbextension/default.nix
index 3228e928e19..cae05c74268 100644
--- a/pkgs/development/python-modules/widgetsnbextension/default.nix
+++ b/pkgs/development/python-modules/widgetsnbextension/default.nix
@@ -8,11 +8,11 @@
 buildPythonPackage rec {
   pname = "widgetsnbextension";
   name = "${pname}-${version}";
-  version = "3.1.4";
+  version = "3.2.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "79f164a644620abbe351440a70468ac3a5b22b392afa4577c8d5f91577a2669b";
+    sha256 = "5417789ee6064ff515fd10be24870660af3561c02d3d48b26f6f44285d0f70cc";
   };
 
   propagatedBuildInputs = [ notebook ];
diff --git a/pkgs/development/python-modules/wordfreq/default.nix b/pkgs/development/python-modules/wordfreq/default.nix
new file mode 100644
index 00000000000..9de1fd5b392
--- /dev/null
+++ b/pkgs/development/python-modules/wordfreq/default.nix
@@ -0,0 +1,48 @@
+{ lib
+, buildPythonPackage
+, regex
+, langcodes
+, ftfy
+, msgpack
+, mecab-python3
+, jieba
+, nose
+, pythonOlder
+, fetchFromGitHub
+}:
+
+buildPythonPackage rec {
+  pname = "wordfreq";
+  version = "2.0";
+
+   src = fetchFromGitHub {
+    owner = "LuminosoInsight";
+    repo = "wordfreq";
+    rev = "e3a1b470d9f8e0d82e9f179ffc41abba434b823b";
+    sha256 = "1wjkhhj7nxfnrghwvmvwc672s30lp4b7yr98gxdxgqcq6wdshxwv";
+   };
+
+  checkInputs = [ nose ];
+
+  checkPhase = ''
+    # These languages require additional dictionaries
+    nosetests -e test_japanese -e test_korean -e test_languages
+  '';
+   
+  propagatedBuildInputs = [ regex langcodes ftfy msgpack mecab-python3 jieba ];
+  
+  # patch to relax version requirements for regex
+  # dependency to prevent break in upgrade
+  postPatch = ''
+    substituteInPlace setup.py --replace "regex ==" "regex >="
+  '';
+    
+  disabled = pythonOlder "3";
+
+  meta = with lib; {
+    description = "A library for looking up the frequencies of words in many languages, based on many sources of data";
+    homepage =  https://github.com/LuminosoInsight/wordfreq/;
+    license = licenses.mit;
+    maintainers = with maintainers; [ ixxie ];
+  };
+}
diff --git a/pkgs/development/python-modules/wrapt/default.nix b/pkgs/development/python-modules/wrapt/default.nix
new file mode 100644
index 00000000000..badecc776d7
--- /dev/null
+++ b/pkgs/development/python-modules/wrapt/default.nix
@@ -0,0 +1,23 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+}:
+
+buildPythonPackage rec {
+  pname = "wrapt";
+  version = "1.10.11";
+
+  # No tests in archive
+  doCheck = false;
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "d4d560d479f2c21e1b5443bbd15fe7ec4b37fe7e53d335d3b9b0a7b1226fe3c6";
+  };
+
+  meta = {
+    description = "Module for decorators, wrappers and monkey patching";
+    license = lib.licenses.bsd2;
+    homepage = https://github.com/GrahamDumpleton/wrapt;
+  };
+}
\ No newline at end of file
diff --git a/pkgs/development/python-modules/ws4py/default.nix b/pkgs/development/python-modules/ws4py/default.nix
index 5e65940e846..f5a83a7bc02 100644
--- a/pkgs/development/python-modules/ws4py/default.nix
+++ b/pkgs/development/python-modules/ws4py/default.nix
@@ -4,11 +4,11 @@
 buildPythonPackage rec {
   name = "${pname}-${version}";
   pname = "ws4py";
-  version = "0.4.3";
+  version = "0.5.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "ee12b58384bab8bfdcd1c76dcd6852047aec163af17175fc0f73e255d107dd7a";
+    sha256 = "29d073d7f2e006373e6a848b1d00951a1107eb81f3742952be905429dc5a5483";
   };
 
   checkInputs = [ pytest mock git ];
diff --git a/pkgs/development/python-modules/xarray/default.nix b/pkgs/development/python-modules/xarray/default.nix
index afde3f3b45b..4035575915f 100644
--- a/pkgs/development/python-modules/xarray/default.nix
+++ b/pkgs/development/python-modules/xarray/default.nix
@@ -10,11 +10,11 @@
 
 buildPythonPackage rec {
   pname = "xarray";
-  version = "0.10.0";
+  version = "0.10.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "af1449e8df84a6eb09eb1d56c1dc5ac7f24a9563d4f2b9391ff364dc0c62344c";
+    sha256 = "72fafe29ba00633483aed39e405442226ef66d2ddc1021a39527ae1522b7067a";
   };
 
   checkInputs = [ pytest ];
diff --git a/pkgs/development/python-modules/xcffib/default.nix b/pkgs/development/python-modules/xcffib/default.nix
index 9b136531a4b..0f4c081e626 100644
--- a/pkgs/development/python-modules/xcffib/default.nix
+++ b/pkgs/development/python-modules/xcffib/default.nix
@@ -7,12 +7,12 @@
 }:
 
 buildPythonPackage rec {
-  version = "0.5.1";
+  version = "0.6.0";
   pname = "xcffib";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "09gbnmr5vn58mm8xi3fmd7fz6743cks6c46dphnxzwax6zsxmy60";
+    sha256 = "36142cb72535933e8e1ed39ff2c45559fa7038823bd6be6961ef8ee5bb0f6912";
   };
 
   patchPhase = ''
diff --git a/pkgs/development/python-modules/xdot/default.nix b/pkgs/development/python-modules/xdot/default.nix
new file mode 100644
index 00000000000..f9a735c97ab
--- /dev/null
+++ b/pkgs/development/python-modules/xdot/default.nix
@@ -0,0 +1,23 @@
+{ lib, buildPythonPackage, fetchPypi, isPy3k
+, wrapGAppsHook, gobjectIntrospection, pygobject3, graphviz, gnome3 }:
+
+buildPythonPackage rec {
+  pname = "xdot";
+  version = "0.9";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "01v9vmgdxz1q2m2vq2b4aqx4ycw7grc0l4is673ygvyg9rk02dx3";
+  };
+
+  disabled = !isPy3k;
+
+  nativeBuildInputs = [ wrapGAppsHook ];
+  propagatedBuildInputs = [ gobjectIntrospection pygobject3 graphviz gnome3.gtk ];
+
+  meta = with lib; {
+    description = "xdot.py is an interactive viewer for graphs written in Graphviz's dot";
+    homepage = https://github.com/jrfonseca/xdot.py;
+    license = licenses.lgpl3Plus;
+  };
+}
diff --git a/pkgs/development/python-modules/xgboost/default.nix b/pkgs/development/python-modules/xgboost/default.nix
new file mode 100644
index 00000000000..217c823afe5
--- /dev/null
+++ b/pkgs/development/python-modules/xgboost/default.nix
@@ -0,0 +1,35 @@
+{ stdenv
+, lib
+, pkgs
+, buildPythonPackage
+, nose
+, scipy
+, xgboost
+}:
+
+buildPythonPackage rec {
+  name = "xgboost-${version}";
+
+  inherit (xgboost) version src meta;
+
+  propagatedBuildInputs = [ scipy ];
+  checkInputs = [ nose ];
+
+  postPatch = let
+    libname = if stdenv.isDarwin then "libxgboost.dylib" else "libxgboost.so";
+
+  in ''
+    cd python-package
+
+    sed "s/CURRENT_DIR = os.path.dirname(__file__)/CURRENT_DIR = os.path.abspath(os.path.dirname(__file__))/g" -i setup.py
+    sed "/^LIB_PATH.*/a LIB_PATH = [os.path.relpath(LIB_PATH[0], CURRENT_DIR)]" -i setup.py
+    cat <<EOF >xgboost/libpath.py
+    def find_lib_path():
+      return ["${xgboost}/lib/${libname}"]
+    EOF
+  '';
+
+  postInstall = ''
+    rm -rf $out/xgboost
+  '';
+}
diff --git a/pkgs/development/python-modules/yahooweather/default.nix b/pkgs/development/python-modules/yahooweather/default.nix
new file mode 100644
index 00000000000..38c060aa8e8
--- /dev/null
+++ b/pkgs/development/python-modules/yahooweather/default.nix
@@ -0,0 +1,23 @@
+{ lib, buildPythonPackage, fetchPypi, isPy3k }:
+
+buildPythonPackage rec {
+  pname = "yahooweather";
+  version = "0.10";
+
+  disabled = !isPy3k;
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0bsxmngkpzvqm50i2cnxjzhpbdhb8s10ly8h5q08696cjihqdkpa";
+  };
+
+  # Tests require network access
+  doCheck = false;
+
+  meta = with lib; {
+    description = "Provide an interface to the Yahoo! Weather RSS feed";
+    homepage = https://github.com/pvizeli/yahooweather;
+    license = licenses.bsd2;
+    maintainers = with maintainers; [ peterhoeg ];
+  };
+}
diff --git a/pkgs/development/python-modules/yapf/default.nix b/pkgs/development/python-modules/yapf/default.nix
index d257db70445..c1914a03458 100644
--- a/pkgs/development/python-modules/yapf/default.nix
+++ b/pkgs/development/python-modules/yapf/default.nix
@@ -2,12 +2,12 @@
 
 buildPythonPackage rec {
   pname = "yapf";
-  version = "0.20.2";
+  version = "0.21.0";
   name = "${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "7f5efdb7edf0318b91e53721d934580a77153e24a222f52f6e1c3b7629aead43";
+    sha256 = "7d8ae3567f3fb2d288f127d35e4decb3348c96cd091001e02e818465da618f90";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/python-modules/yolk/default.nix b/pkgs/development/python-modules/yolk/default.nix
index 958fcd72f84..6e05b6ced04 100644
--- a/pkgs/development/python-modules/yolk/default.nix
+++ b/pkgs/development/python-modules/yolk/default.nix
@@ -17,7 +17,7 @@ buildPythonApplication rec {
   meta = {
     description = "Command-line tool for querying PyPI and Python packages installed on your system";
     homepage = https://github.com/cakebread/yolk;
-    maintainer = with maintainers; [];
+    maintainers = with maintainers; [];
     license = licenses.bsd3;
   };
 }
diff --git a/pkgs/development/python-modules/yowsup/argparse-dependency.patch b/pkgs/development/python-modules/yowsup/argparse-dependency.patch
index 364f0054fe7..e2b9f0c9a74 100644
--- a/pkgs/development/python-modules/yowsup/argparse-dependency.patch
+++ b/pkgs/development/python-modules/yowsup/argparse-dependency.patch
@@ -1,13 +1,13 @@
 diff --git a/setup.py b/setup.py
-index 053ed07..60f0d9a 100755
+index 991e89c..7a96ccf 100755
 --- a/setup.py
 +++ b/setup.py
 @@ -5,7 +5,7 @@ import yowsup
  import platform
  import sys
  
--deps = ['python-dateutil', 'argparse', 'python-axolotl>=0.1.39', 'six']
+-deps = ['python-dateutil', 'argparse', 'python-axolotl>=0.1.39', 'six==1.10']
 +deps = ['python-dateutil', 'python-axolotl>=0.1.39', 'six']
  
  if sys.version_info < (2,7):
-     deps += ['importlib']
+     deps += ['importlib', "protobuf==3.4.0"]
diff --git a/pkgs/development/python-modules/yowsup/default.nix b/pkgs/development/python-modules/yowsup/default.nix
index f7ee986aebb..5fa4af18c08 100644
--- a/pkgs/development/python-modules/yowsup/default.nix
+++ b/pkgs/development/python-modules/yowsup/default.nix
@@ -3,19 +3,18 @@
 }:
 
 buildPythonPackage rec {
-  name = "${pname}-${version}";
   pname = "yowsup";
-  version = "2.5.2";
+  version = "2.5.7";
 
-  # python2 is currently incompatible with yowsup:
-  # https://github.com/tgalal/yowsup/issues/2325#issuecomment-343516519
+  # The Python 2.x support of this package is incompatible with `six==1.11`:
+  # https://github.com/tgalal/yowsup/issues/2416#issuecomment-365113486
   disabled = !isPy3k;
 
   src = fetchFromGitHub {
     owner = "tgalal";
     repo = "yowsup";
     rev = "v${version}";
-    sha256 = "16l8jmr32wwvl11m0a4r4id3dkfqj2n7dn6gky1077xwmj2da4fl";
+    sha256 = "1p0hdj5x38v2cxjnhdnqcnp5g7la57mbi365m0z83wa01x2n73w6";
   };
 
   checkInputs = [ pytest ];
diff --git a/pkgs/development/python-modules/zeroconf/default.nix b/pkgs/development/python-modules/zeroconf/default.nix
index 5502a8236da..f3dbf70eecf 100644
--- a/pkgs/development/python-modules/zeroconf/default.nix
+++ b/pkgs/development/python-modules/zeroconf/default.nix
@@ -3,12 +3,12 @@
 
 buildPythonPackage rec {
   pname = "zeroconf";
-  version = "0.19.1";
+  version = "0.20.0";
   name = "${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0ykzg730n915qbrq9bn5pn06bv6rb5zawal4sqjyfnjjm66snkj3";
+    sha256 = "6e3f1e7b5871e3d1410ac29b9fb85aafc1e2d661ed596b07a6f84559a475efcb";
   };
 
   propagatedBuildInputs = [ netifaces six enum-compat ];
diff --git a/pkgs/development/python-modules/zetup/default.nix b/pkgs/development/python-modules/zetup/default.nix
index c6b5900c627..d72752a5988 100644
--- a/pkgs/development/python-modules/zetup/default.nix
+++ b/pkgs/development/python-modules/zetup/default.nix
@@ -5,11 +5,11 @@
 buildPythonPackage rec {
   name = "${pname}-${version}";
   pname = "zetup";
-  version = "0.2.42";
+  version = "0.2.43";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "6c9e25249f3014ed2162398772ccf1a5e8a4e9e66c74e3c7f6683945a6a3d84c";
+    sha256 = "ee92ba93a03336962525536f237ae0decf99a9b5d484ba34a3cf06ef017dae8e";
   };
 
   checkPhase = ''
diff --git a/pkgs/development/python-modules/zict/default.nix b/pkgs/development/python-modules/zict/default.nix
new file mode 100644
index 00000000000..bfc5caea4d0
--- /dev/null
+++ b/pkgs/development/python-modules/zict/default.nix
@@ -0,0 +1,22 @@
+{ stdenv, buildPythonPackage, fetchPypi
+, pytest, heapdict }:
+
+buildPythonPackage rec {
+  pname = "zict";
+  version = "0.1.3";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "63377f063086fc92e5c16e4d02162c571f6470b9e796cf3411ef9e815c96b799";
+  };
+
+  buildInputs = [ pytest ];
+  propagatedBuildInputs = [ heapdict ];
+
+  meta = with stdenv.lib; {
+    description = "Mutable mapping tools.";
+    homepage = https://github.com/dask/zict;
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ teh ];
+  };
+}
diff --git a/pkgs/development/python-modules/zipfile36/default.nix b/pkgs/development/python-modules/zipfile36/default.nix
index 0915eb002b7..2929afed1cd 100644
--- a/pkgs/development/python-modules/zipfile36/default.nix
+++ b/pkgs/development/python-modules/zipfile36/default.nix
@@ -28,6 +28,6 @@ buildPythonPackage rec {
     description = "Read and write ZIP files - backport of the zipfile module from Python 3.6";
     homepage = https://gitlab.com/takluyver/zipfile36;
     license = lib.licenses.psfl;
-    maintainer = lib.maintainers.fridh;
+    maintainers = lib.maintainers.fridh;
   };
-}
\ No newline at end of file
+}
diff --git a/pkgs/development/python-modules/zodb/default.nix b/pkgs/development/python-modules/zodb/default.nix
index f704f305278..25ab7dcd31a 100644
--- a/pkgs/development/python-modules/zodb/default.nix
+++ b/pkgs/development/python-modules/zodb/default.nix
@@ -17,12 +17,12 @@
 
 buildPythonPackage rec {
     pname = "ZODB";
-    version = "5.3.0";
+    version = "5.4.0";
     name = "${pname}-${version}";
 
     src = fetchPypi {
       inherit pname version;
-      sha256 = "633c2f89481d8ebc55639b59216f7d16d07b44a94758850c0b887006967214f3";
+      sha256 = "0b306042f4f0d558a477d65c34b0dd6e7604c6e583f55dfda52befa2fa13e076";
     };
 
     patches = [
diff --git a/pkgs/development/python-modules/zope_copy/default.nix b/pkgs/development/python-modules/zope_copy/default.nix
index 305928c1846..6bd7ae33fb9 100644
--- a/pkgs/development/python-modules/zope_copy/default.nix
+++ b/pkgs/development/python-modules/zope_copy/default.nix
@@ -8,20 +8,23 @@
 
 
 buildPythonPackage rec {
-  pname = "zope_copy";
-  version = "4.0.2";
+  pname = "zope.copy";
+  version = "4.1.0";
 
   src = fetchPypi {
     inherit pname version;
-    extension = "zip";
-    sha256 = "eb2a95866df1377741876a3ee62d8600e80089e6246e1a235e86791b29534457";
+    sha256 = "702dbb52e2427a1cc2e2b4b3f5a40c64dcbf9ebed85888ae8fa67172263a6994";
   };
 
   propagatedBuildInputs = [ zope_interface ];
 
   checkInputs = [ zope_location zope_schema ];
 
+  checkPhase = ''
+    python -m unittest discover -s src/zope/copy
+  '';
+
   meta = {
     maintainers = with lib.maintainers; [ domenkozar ];
   };
-}
\ No newline at end of file
+}
diff --git a/pkgs/development/python-modules/zxcvbn-python/default.nix b/pkgs/development/python-modules/zxcvbn-python/default.nix
index 49ff6e505f4..4f34d7d0288 100644
--- a/pkgs/development/python-modules/zxcvbn-python/default.nix
+++ b/pkgs/development/python-modules/zxcvbn-python/default.nix
@@ -5,13 +5,13 @@
 
 buildPythonPackage rec {
   pname = "zxcvbn-python";
-  version = "4.4.16";
+  version = "4.4.24";
 
   name = "${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "63cc481bfb8950c43d4a87926be22cf8c4bb281ef7f818a8ef2d30b55a97c3e0";
+    sha256 = "900b28cc5e96be4091d8778f19f222832890264e338765a1c1c09fca2db64b2d";
   };
 
   # No tests in archive
diff --git a/pkgs/development/r-modules/README.md b/pkgs/development/r-modules/README.md
index c8f02bd1478..e6fd09d7647 100644
--- a/pkgs/development/r-modules/README.md
+++ b/pkgs/development/r-modules/README.md
@@ -1,120 +1 @@
-R packages
-==========
-
-## Installation
-
-Define an environment for R that contains all the libraries that you'd like to
-use by adding the following snippet to your $HOME/.config/nixpkgs/config.nix file:
-
-```nix
-{
-    packageOverrides = super: let self = super.pkgs; in
-    {
-
-        rEnv = super.rWrapper.override {
-            packages = with self.rPackages; [
-                devtools
-                ggplot2
-                reshape2
-                yaml
-                optparse
-                ];
-        };
-    };
-}
-```
-
-Then you can use `nix-env -f "<nixpkgs>" -iA rEnv` to install it into your user
-profile. The set of available libraries can be discovered by running the
-command `nix-env -f "<nixpkgs>" -qaP -A rPackages`. The first column from that
-output is the name that has to be passed to rWrapper in the code snipped above.
-
-However, if you'd like to add a file to your project source to make the
-environment available for other contributors, you can create a `default.nix`
-file like so:
-```nix
-let
-  pkgs = import <nixpkgs> {};
-  stdenv = pkgs.stdenv;
-in with pkgs; {
-  myProject = stdenv.mkDerivation {
-    name = "myProject";
-    version = "1";
-    src = if pkgs.lib.inNixShell then null else nix;
-
-    buildInputs = with rPackages; [
-      R
-      ggplot2
-      knitr
-    ];
-  };
-}
-```
-and then run `nix-shell .` to be dropped into a shell with those packages
-available.
-
-## RStudio
-
-RStudio uses a standard set of packages and ignores any custom R
-environments or installed packages you may have.  To create a custom
-environment, see `rstudioWrapper`, which functions similarly to
-`rWrapper`:
-
-```nix
-{
-    packageOverrides = super: let self = super.pkgs; in
-    {
-
-        rstudioEnv = super.rstudioWrapper.override {
-            packages = with self.rPackages; [
-                dplyr
-                ggplot2
-                reshape2
-                ];
-        };
-    };
-}
-```
-
-Then like above, `nix-env -f "<nixpkgs>" -iA rstudioEnv` will install
-this into your user profile.
-
-Alternatively, you can create a self-contained `shell.nix` without the need to
-modify any configuration files:
-
-```nix
-{ pkgs ? import <nixpkgs> {}
-}:
-
-pkgs.rstudioWrapper.override {
-  packages = with pkgs.rPackages; [ dplyr ggplot2 reshape2 ];
-}
-
-```
-
-Executing `nix-shell` will then drop you into an environment equivalent to the
-one above. If you need additional packages just add them to the list and
-re-enter the shell.
-
-## Updating the package set
-
-```bash
-nix-shell generate-shell.nix
-
-Rscript generate-r-packages.R cran  > cran-packages.nix.new
-mv cran-packages.nix.new cran-packages.nix
-
-Rscript generate-r-packages.R bioc  > bioc-packages.nix.new
-mv bioc-packages.nix.new bioc-packages.nix
-```
-
-`generate-r-packages.R <repo>` reads  `<repo>-packages.nix`, therefor the renaming.
-
-
-## Testing if the Nix-expression could be evaluated
-
-```bash
-nix-build test-evaluation.nix --dry-run
-```
-
-If this exits fine, the expression is ok. If not, you have to edit `default.nix`
+Moved to [/doc/languages-frameworks/r.section.md](/doc/languages-frameworks/r.section.md)
diff --git a/pkgs/development/r-modules/bioc-annotation-packages.nix b/pkgs/development/r-modules/bioc-annotation-packages.nix
index 6707dd1e3c7..c4d6897b998 100644
--- a/pkgs/development/r-modules/bioc-annotation-packages.nix
+++ b/pkgs/development/r-modules/bioc-annotation-packages.nix
@@ -131,6 +131,7 @@ in with self; {
   IlluminaHumanMethylationEPICanno_ilm10b3_hg19 = derive2 { name="IlluminaHumanMethylationEPICanno.ilm10b3.hg19"; version="0.6.0"; sha256="1rdkvbpbz8a8bd9ipycfmgn8a3x519abhwywka21ii9ziv3s6ah6"; depends=[minfi]; };
   IlluminaHumanMethylationEPICanno_ilm10b4_hg19 = derive2 { name="IlluminaHumanMethylationEPICanno.ilm10b4.hg19"; version="0.6.0"; sha256="0687b4k8hwfc18qgdd9ypv1skp37jd204fszba0gmrv3dc92i09c"; depends=[minfi]; };
   IlluminaHumanMethylationEPICmanifest = derive2 { name="IlluminaHumanMethylationEPICmanifest"; version="0.3.0"; sha256="0alhjda5g186z8b1nsmnpfswrlj7prdz8mkwx60wkkl6hkcnk6p3"; depends=[minfi]; };
+  JASPAR2018 = derive2 { name="JASPAR2018"; version="1.0.0"; sha256="1j82wsayzn6zn7irihpc8jivvwfsdrckik0ypajsv3pgrb5b3naa"; depends=[]; };
   JazaeriMetaData_db = derive2 { name="JazaeriMetaData.db"; version="3.2.3"; sha256="04lvcmm4ybxkfwgbiwcnpyj6kpbd0gd7jz6ijlbbvv6zdgdmvykb"; depends=[AnnotationDbi org_Hs_eg_db]; };
   KEGG_db = derive2 { name="KEGG.db"; version="3.2.3"; sha256="0qv9in1nmnqcbjxh0y45x33xyw9zdp4jf5hmlvcsh1pclcq4dsh2"; depends=[AnnotationDbi]; };
   LAPOINTE_db = derive2 { name="LAPOINTE.db"; version="3.2.3"; sha256="0960gy5p4ybs5zs6251cgc3nk5a9gsh1nh23gkbkr3gc8jddinfm"; depends=[AnnotationDbi org_Hs_eg_db]; };
diff --git a/pkgs/development/r-modules/bioc-experiment-packages.nix b/pkgs/development/r-modules/bioc-experiment-packages.nix
index 220ac60486b..f323532ad7d 100644
--- a/pkgs/development/r-modules/bioc-experiment-packages.nix
+++ b/pkgs/development/r-modules/bioc-experiment-packages.nix
@@ -70,7 +70,7 @@ in with self; {
   HelloRangesData = derive2 { name="HelloRangesData"; version="1.4.0"; sha256="1c7gfhwr9g6hv0p3s4yd8v9rhjp3jmrnzsqsqq4ysc2i24nf7drr"; depends=[]; };
   HiCDataHumanIMR90 = derive2 { name="HiCDataHumanIMR90"; version="0.112.0"; sha256="1qxg7650lbfbjl9p75clrybsdbzd0yzpi8pi2biv83jgqkkjrd0b"; depends=[]; };
   HiCDataLymphoblast = derive2 { name="HiCDataLymphoblast"; version="1.14.0"; sha256="0708xgm495a330h70yi2qd494h6gf0n46j016mw9bc4gzbb7aq9p"; depends=[]; };
-  Hiiragi2013 = derive2 { name="Hiiragi2013"; version="1.14.0"; sha256="0lah9l8gd5gs1wj68l9hqakcwha0rl88dg2p0zk92nff64jxn3pj"; depends=[affy Biobase boot clue cluster genefilter geneplotter gplots gtools KEGGREST lattice latticeExtra MASS mouse4302_db RColorBrewer xtable]; };
+  Hiiragi2013 = derive2 { name="Hiiragi2013"; version="1.14.1"; sha256="0b47hi6di0gy4f8bzhsjm5ag5jhqqsgh5h19h4lwr5jcg2710ang"; depends=[affy Biobase boot clue cluster genefilter geneplotter gplots gtools KEGGREST lattice latticeExtra MASS mouse4302_db RColorBrewer xtable]; };
   HumanAffyData = derive2 { name="HumanAffyData"; version="1.4.0"; sha256="0xgb3rrvgrx6sdwbb8gb1q8mgf0s2giih8l8d3hzvnxazh80qs8b"; depends=[Biobase ExperimentHub]; };
   IHWpaper = derive2 { name="IHWpaper"; version="1.6.0"; sha256="08gkdi1lra9mn1cbsqddqn3pwj3pfy2yfgzay5igr7n1akfmgh7k"; depends=[Biobase BiocGenerics BiocParallel cowplot DESeq2 dplyr fdrtool genefilter ggplot2 IHW qvalue Rcpp SummarizedExperiment]; };
   ITALICSData = derive2 { name="ITALICSData"; version="2.16.0"; sha256="1rrfxc3hzlq2i0z5j432w3s33ln56i91a06q49piisz06vviz6yv"; depends=[]; };
@@ -260,7 +260,7 @@ in with self; {
   lungExpression = derive2 { name="lungExpression"; version="0.16.0"; sha256="09v9r6rmfcqprqd1rx53sa4dhjjmg6d9649vlhfhzkyc73yknwmb"; depends=[Biobase]; };
   lydata = derive2 { name="lydata"; version="1.4.0"; sha256="0dflfp14gdjgy7qf3my0vas5zbg77l16li7xgv1924cry11w2dxx"; depends=[]; };
   mAPKLData = derive2 { name="mAPKLData"; version="1.10.0"; sha256="1bfx4imb5yg17n0g1ag436zlks4jcp8ga0xj9wyh9bhx4miwyay4"; depends=[]; };
-  mammaPrintData = derive2 { name="mammaPrintData"; version="1.14.0"; sha256="0ks72wnagdvnbilqcsvl5lbhgh64fhbfys0da03336f1z16f5lv9"; depends=[]; };
+  mammaPrintData = derive2 { name="mammaPrintData"; version="1.14.2"; sha256="04ymimgj8ng5qgvq0cglmhcxv7a3jqx9a2zyg8lwiwzpyip18inx"; depends=[]; };
   maqcExpression4plex = derive2 { name="maqcExpression4plex"; version="1.22.0"; sha256="0hn20i11vl9x23mx283aki097r1a8rspagac821kmlwghyab1mxq"; depends=[]; };
   metaMSdata = derive2 { name="metaMSdata"; version="1.14.0"; sha256="1iygqxymvb98cm325bmdqb34n9b4k1vdzdyzcq8a0gh1dvs2m0iw"; depends=[]; };
   methyvimData = derive2 { name="methyvimData"; version="1.0.0"; sha256="1b2mvcawafkr15py8h9j10w5givifi99h9clbdmkgfyixbbh0m94"; depends=[minfi]; };
@@ -287,7 +287,7 @@ in with self; {
   pcaGoPromoter_Hs_hg19 = derive2 { name="pcaGoPromoter.Hs.hg19"; version="1.14.0"; sha256="137lj4j0hlz3mkwyf334xr3bpm9j2jg1cd2sw9203kx6hvk92i2z"; depends=[]; };
   pcaGoPromoter_Mm_mm9 = derive2 { name="pcaGoPromoter.Mm.mm9"; version="1.14.0"; sha256="0kb62bm1a8m88g59v6553qg69rmv0gh0wy4yfkqvn2sgz51zk4r4"; depends=[]; };
   pcaGoPromoter_Rn_rn4 = derive2 { name="pcaGoPromoter.Rn.rn4"; version="1.14.0"; sha256="0b3cak7nzd6qxr7gnly4246gjdhxyp8h0w5dr1xsgwd9zy1k0psw"; depends=[]; };
-  pcxnData = derive2 { name="pcxnData"; version="1.0.0"; sha256="0bkzqac0b2x1f398bflv077dp6nb3ysdf75jcwxpj4nwyhcb7n4f"; depends=[]; };
+  pcxnData = derive2 { name="pcxnData"; version="2.0.0"; sha256="10qhw7v1nzf4y9xhd34jiimcyi6lgjy6y9zc6kzk80hm6qiry8j2"; depends=[]; };
   pd_atdschip_tiling = derive2 { name="pd.atdschip.tiling"; version="0.16.0"; sha256="1ilwm4nx232dll01xqqvagq3qi6qa060v84y20ihxhfwdm46z0ci"; depends=[Biostrings DBI IRanges oligo oligoClasses RSQLite S4Vectors]; };
   pepDat = derive2 { name="pepDat"; version="0.112.0"; sha256="15v4yk9cpnz2k16ka4iyc61ji5ck9mlkabgzxalwfnz77ri23mk0"; depends=[GenomicRanges]; };
   plasFIA = derive2 { name="plasFIA"; version="1.6.0"; sha256="0p3pbjm5ww24ax7h72m38l0rcm01w5a4h8j5rsgynczvfv9jlwjq"; depends=[proFIA]; };
diff --git a/pkgs/development/r-modules/bioc-packages.nix b/pkgs/development/r-modules/bioc-packages.nix
index 06f1d81d8a9..efb91b43bb0 100644
--- a/pkgs/development/r-modules/bioc-packages.nix
+++ b/pkgs/development/r-modules/bioc-packages.nix
@@ -23,7 +23,7 @@ in with self; {
   ASSET = derive2 { name="ASSET"; version="1.16.0"; sha256="12863h5f7ib3p26ghim2h0l7zn51y3624rihsybj5lpycnxkam9q"; depends=[MASS msm mvtnorm rmeta tmvnsim]; };
   ASSIGN = derive2 { name="ASSIGN"; version="1.14.0"; sha256="12g1dh35azv1z5bc7n7gyr0vnyyi2r2jrvi6x0gyikbdszxwfysx"; depends=[ggplot2 gplots msm Rlab sva]; };
   ASpli = derive2 { name="ASpli"; version="1.4.0"; sha256="19v9p4brgrzijin759n1q8zjrlksrzhmczi1nwhsjgbg47f35vs7"; depends=[AnnotationDbi BiocGenerics BiocStyle edgeR GenomicAlignments GenomicFeatures GenomicRanges Gviz IRanges Rsamtools S4Vectors]; };
-  ATACseqQC = derive2 { name="ATACseqQC"; version="1.2.8"; sha256="11l1cpfcadhdrcy5qdmq9gd18if8rs5xw4b5m0ky8gxgxmfpd2wq"; depends=[BiocGenerics Biostrings BSgenome ChIPpeakAnno GenomeInfoDb GenomicAlignments GenomicRanges GenomicScores IRanges limma motifStack randomForest Rsamtools rtracklayer S4Vectors]; };
+  ATACseqQC = derive2 { name="ATACseqQC"; version="1.2.10"; sha256="0f1j89an2rckjrmvvmy6crmrgz2jxgmmajhx333crl8jjqi1aqm8"; depends=[BiocGenerics Biostrings BSgenome ChIPpeakAnno GenomeInfoDb GenomicAlignments GenomicRanges GenomicScores IRanges limma motifStack randomForest Rsamtools rtracklayer S4Vectors]; };
   AUCell = derive2 { name="AUCell"; version="1.0.0"; sha256="0b6az665vpdkp82xcr4xgric3nw9204g47rj4316s30l5w5l1j2v"; depends=[data_table GSEABase mixtools R_utils SummarizedExperiment]; };
   AffyCompatible = derive2 { name="AffyCompatible"; version="1.38.0"; sha256="1lxxpldgrsl0nf63cfhbqpraylfb3118y4j8q4xknr7x8pj95gns"; depends=[Biostrings RCurl XML]; };
   AffyExpress = derive2 { name="AffyExpress"; version="1.44.0"; sha256="0nwvgkh9nc9gag9dh85g3x4d5125p00c9jc55knpr11jraj2xifw"; depends=[affy limma]; };
@@ -38,7 +38,7 @@ in with self; {
   AnnotationForge = derive2 { name="AnnotationForge"; version="1.20.0"; sha256="01vbrf76vqfvxh6vpfxkjwccxggnha3byqzj333glqz2b6kwx5q1"; depends=[AnnotationDbi Biobase BiocGenerics DBI RCurl RSQLite S4Vectors XML]; };
   AnnotationFuncs = derive2 { name="AnnotationFuncs"; version="1.28.0"; sha256="1g6y7bwk573yaays0fmlicxq2452sli0kv41bq8sh4ja2l5jh5i6"; depends=[AnnotationDbi DBI]; };
   AnnotationHub = derive2 { name="AnnotationHub"; version="2.10.1"; sha256="14v8g44a6zg9j2rwn9x9y8509k0wr2cw8yccliz24glplb40wva4"; depends=[AnnotationDbi BiocGenerics BiocInstaller curl httr interactiveDisplayBase RSQLite S4Vectors yaml]; };
-  AnnotationHubData = derive2 { name="AnnotationHubData"; version="1.8.0"; sha256="1nsai8a2vf5jwczd4k3vbdd9xbn6dfg6dydvf4byklxj6pk6vi97"; depends=[AnnotationDbi AnnotationForge AnnotationHub Biobase BiocGenerics BiocInstaller biocViews Biostrings DBI futile_logger GenomeInfoDb GenomicFeatures GenomicRanges GEOquery IRanges jsonlite OrganismDbi rBiopaxParser RCurl Rsamtools RSQLite rtracklayer S4Vectors XML]; };
+  AnnotationHubData = derive2 { name="AnnotationHubData"; version="1.8.1"; sha256="08pvswszxnbr6b3amg2g2353iil2bm9bs571c6lf4v8z0z1by8g5"; depends=[AnnotationDbi AnnotationForge AnnotationHub Biobase BiocGenerics BiocInstaller biocViews Biostrings DBI futile_logger GenomeInfoDb GenomicFeatures GenomicRanges GEOquery IRanges jsonlite OrganismDbi rBiopaxParser RCurl Rsamtools RSQLite rtracklayer S4Vectors XML]; };
   ArrayExpress = derive2 { name="ArrayExpress"; version="1.38.0"; sha256="01kb4322pfl9w6za6glb777hdyc8j36xs6flz3b11n1mjryipz7c"; depends=[Biobase limma oligo XML]; };
   ArrayExpressHTS = derive2 { name="ArrayExpressHTS"; version="1.28.0"; sha256="04qnxgywyxww8xd6r8vgy8sglbixd25749dmbsw0wgqk6zcgysim"; depends=[Biobase BiocGenerics biomaRt Biostrings bitops DESeq edgeR GenomicRanges Hmisc IRanges R2HTML RColorBrewer rJava Rsamtools sampling sendmailR ShortRead snow svMisc XML]; };
   ArrayTV = derive2 { name="ArrayTV"; version="1.16.0"; sha256="1hn5dngk4civwzx1w2py1n9g1k1jv3kwrj6z6ysvfsfi4q668341"; depends=[DNAcopy foreach oligoClasses S4Vectors]; };
@@ -47,14 +47,14 @@ in with self; {
   BAC = derive2 { name="BAC"; version="1.38.0"; sha256="04s7fbb8b4is97alj64p86jnh1lgf4a0n02wg3g9rvd75jxmzbai"; depends=[]; };
   BADER = derive2 { name="BADER"; version="1.16.0"; sha256="05p006rqydnvz5a8gdbara9fsyn51b5flc05j593bvvlmkc6anl5"; depends=[]; };
   BAGS = derive2 { name="BAGS"; version="2.18.0"; sha256="1qhmrz6ffhhsbnmcc0xmb64psv50b1jd1gxkjhhv479mcfl6mk06"; depends=[Biobase breastCancerVDX]; };
-  BASiCS = derive2 { name="BASiCS"; version="1.0.0"; sha256="15yby5dz0hizr76bpa5clrpfh1ycvpkk11i7y7ak164ikzxvvmd9"; depends=[BiocGenerics coda data_table KernSmooth matrixStats Rcpp RcppArmadillo S4Vectors scran SingleCellExperiment SummarizedExperiment testthat]; };
+  BASiCS = derive2 { name="BASiCS"; version="1.0.1"; sha256="02acpq0mrdr8l3xa3k32k2mq8k96c95gm9603m5z5z3x3npjdzq7"; depends=[BiocGenerics coda data_table KernSmooth matrixStats Rcpp RcppArmadillo S4Vectors scran SingleCellExperiment SummarizedExperiment testthat]; };
   BBCAnalyzer = derive2 { name="BBCAnalyzer"; version="1.8.0"; sha256="0fv5gyzfv0093dlyrlci9d88fcb0ifgljxwivrxpkbbsll5vrpxh"; depends=[Biostrings GenomicRanges IRanges Rsamtools SummarizedExperiment VariantAnnotation]; };
   BCRANK = derive2 { name="BCRANK"; version="1.40.0"; sha256="0vbjskazhm5v4lmwdc456r5vl2v848ldqrzbdjrdxjlvd72wfprw"; depends=[Biostrings]; };
   BEAT = derive2 { name="BEAT"; version="1.16.0"; sha256="0x4k45qgzwv6m00zq1jhbhc2aa5slgg5p4g8g909vajc75fpp6g7"; depends=[Biostrings BSgenome GenomicRanges ShortRead]; };
   BEclear = derive2 { name="BEclear"; version="1.10.0"; sha256="1skkqzph89lx9cwlgyd2xmn1808sn5byfa8mqdq6w60j6vwplpzn"; depends=[Matrix snowfall]; };
   BGmix = derive2 { name="BGmix"; version="1.38.0"; sha256="1778bm1hx8bw00n0l3d5jvfldc7hqmpg2w1nbsc3c017rd1l2ryk"; depends=[KernSmooth]; };
   BHC = derive2 { name="BHC"; version="1.30.0"; sha256="0j8sb6ifq2nxvlarm1zqa89yzfs3si4w43ily9nnbmlnhngr6d0m"; depends=[]; };
-  BLMA = derive2 { name="BLMA"; version="1.3.2"; sha256="1dwhhqsvah7ds7v2jd2khkabcg7222g2bfi0q5dd1xqkd15mq0j3"; depends=[Biobase graph GSA limma PADOG ROntoTools]; };
+  BLMA = derive2 { name="BLMA"; version="1.3.3"; sha256="1qxj3izpv4pphq515kqq5qcsg1p847knpm961pcipmikbzxrvfqw"; depends=[Biobase graph GSA limma PADOG ROntoTools]; };
   BPRMeth = derive2 { name="BPRMeth"; version="1.4.0"; sha256="0b7p2z69zjxrza2qfgpg6dfk96r9gfjm3v4qzafjy0hrbcfi2d74"; depends=[assertthat data_table doParallel e1071 earth foreach GenomicRanges IRanges MASS randomForest S4Vectors]; };
   BRAIN = derive2 { name="BRAIN"; version="1.24.0"; sha256="0cxci3clyz98r8vx6cq49ypc3s3bkhx8rx0h60r54va6gbp1j2lm"; depends=[Biostrings lattice PolynomF]; };
   BSgenome = derive2 { name="BSgenome"; version="1.46.0"; sha256="1jbzq7lm2iajajn2bifxnkss0k9fdvgqr30mral17cbhp5f6w4lq"; depends=[BiocGenerics Biostrings GenomeInfoDb GenomicRanges IRanges Rsamtools rtracklayer S4Vectors XVector]; };
@@ -69,7 +69,7 @@ in with self; {
   BayesKnockdown = derive2 { name="BayesKnockdown"; version="1.4.0"; sha256="1dkch2md8fi23i3pg90rzxy185v6953jhz4l2icgglxhp15ydmfp"; depends=[Biobase]; };
   BayesPeak = derive2 { name="BayesPeak"; version="1.30.0"; sha256="1f8r1z7mmh40nrfqj1b3drjli6zb6hm645a9xi39claid2kvfh9z"; depends=[IRanges]; };
   BeadDataPackR = derive2 { name="BeadDataPackR"; version="1.30.0"; sha256="153ks6bbhqzdkl88wvszjg5f67hr0gnf1mnhn6crq7i3pjy1jw0m"; depends=[]; };
-  BgeeDB = derive2 { name="BgeeDB"; version="2.4.0"; sha256="1jha16jqbj5jzanky16ihn0sqvx0k50hh1p5xw1m4ssi86dnx42x"; depends=[Biobase data_table digest dplyr graph RCurl tidyr topGO]; };
+  BgeeDB = derive2 { name="BgeeDB"; version="2.5.0"; sha256="08q93yk0hb4sbavk7i1z2qdklhl87f70ywr7xnq26r5frxcpcxm6"; depends=[Biobase data_table digest dplyr graph RCurl tidyr topGO]; };
   BiGGR = derive2 { name="BiGGR"; version="1.14.0"; sha256="1frxzj99qh94ll1xsvvnmgnfai7wfzchsqdrk2s0cp7z40yng13b"; depends=[hyperdraw hypergraph LIM limSolve rsbml stringr]; };
   BiRewire = derive2 { name="BiRewire"; version="3.10.0"; sha256="08z2h5fq1nm192s2vwzv1q6sp82axkk81p05bib71wl5vg0j5fpk"; depends=[igraph Matrix slam tsne]; };
   BiSeq = derive2 { name="BiSeq"; version="1.18.0"; sha256="0277lknj60gniwx4vr3ffd46gldzgjr7lbw8xy5xzdd0wa45wanz"; depends=[betareg Biobase BiocGenerics Formula GenomeInfoDb GenomicRanges globaltest IRanges lokern rtracklayer S4Vectors SummarizedExperiment]; };
@@ -83,13 +83,13 @@ in with self; {
   Biobase = derive2 { name="Biobase"; version="2.38.0"; sha256="1cgm1ja1kp56zdlzyy9ggbkfn8r2vbsd4hncmz8g4hjd47fg18kg"; depends=[BiocGenerics]; };
   BiocCaseStudies = derive2 { name="BiocCaseStudies"; version="1.40.0"; sha256="0hwmqv8nimc8gl1c5a72ckmgag5j8886ab62i1irlkfis5x2rj8m"; depends=[Biobase]; };
   BiocCheck = derive2 { name="BiocCheck"; version="1.14.0"; sha256="1nzp8kgw13z9pgf885rplj6k37jcldfhbz0adqclxr2gq0yalmyx"; depends=[BiocInstaller biocViews codetools graph httr optparse stringdist]; };
-  BiocFileCache = derive2 { name="BiocFileCache"; version="1.2.2"; sha256="111rrzz366kmqs1v8jx5ck0kb0xs42f250m5i0sn65ypvg9ag504"; depends=[DBI dbplyr dplyr httr rappdirs RSQLite]; };
+  BiocFileCache = derive2 { name="BiocFileCache"; version="1.2.3"; sha256="0fam0j8kwf9kfbvh4h7q4m53via75c5wnbn2g55cv3d37hikbpsm"; depends=[DBI dbplyr dplyr httr rappdirs RSQLite]; };
   BiocGenerics = derive2 { name="BiocGenerics"; version="0.24.0"; sha256="03wxvhxyrhipbgcg83lqlfn7p9gbzzrnl48y0dq7303xgp232zai"; depends=[]; };
   BiocInstaller = derive2 { name="BiocInstaller"; version="1.28.0"; sha256="19fga27bv6q9v5mpil74y76lahmnwvpg2h33rdx1r79nvljkd19d"; depends=[]; };
   BiocParallel = derive2 { name="BiocParallel"; version="1.12.0"; sha256="13ng3n2wsgl3fh0v6jnz3vg51k5c1sh44pqdvblcrcd1qyjmmqhd"; depends=[BH futile_logger snow]; };
   BiocSklearn = derive2 { name="BiocSklearn"; version="1.0.2"; sha256="1zpfb7g353c01ffldrx7251919r6giy58s19w78jf0bslagblv4y"; depends=[BBmisc knitr reticulate SummarizedExperiment]; };
   BiocStyle = derive2 { name="BiocStyle"; version="2.6.1"; sha256="03pp04pkcq99kdv2spzr995h2cxsza7l6w3d4gp4112m06prcybm"; depends=[bookdown knitr rmarkdown yaml]; };
-  BiocWorkflowTools = derive2 { name="BiocWorkflowTools"; version="1.4.1"; sha256="13xcsd4c2l9jrcbl8axrragk4g2x6sp6xrk5r4gcligdicgxpq9l"; depends=[BiocStyle bookdown git2r httr knitr rmarkdown stringr]; };
+  BiocWorkflowTools = derive2 { name="BiocWorkflowTools"; version="1.4.2"; sha256="1nfph17y36vkji7yyvmkry134s4naml256p6687ag53klqxvvz7x"; depends=[BiocStyle bookdown git2r httr knitr rmarkdown stringr]; };
   Biostrings = derive2 { name="Biostrings"; version="2.46.0"; sha256="0vg50qdlxqcm2d6axjnzg8wh8pr4c5gz03l8bdl0llmwzp0zclzk"; depends=[BiocGenerics IRanges S4Vectors XVector]; };
   BitSeq = derive2 { name="BitSeq"; version="1.22.0"; sha256="1xkmvzv2kdla3mrarlw21w1hz788w71443jbn36a8dc4p6wrnxhy"; depends=[IRanges Rsamtools S4Vectors zlibbioc]; };
   BrainStars = derive2 { name="BrainStars"; version="1.22.0"; sha256="0fipnpjpsp462dsfsvcrnysca4vsq2k6z15a6mxfxvqs1gybhvvj"; depends=[Biobase RCurl RJSONIO]; };
@@ -106,7 +106,7 @@ in with self; {
   CATALYST = derive2 { name="CATALYST"; version="1.2.0"; sha256="1q31zzi15q2z46wsk3p4fvq8imxjkyywi849h5jyrvnxhca28mbz"; depends=[drc flowCore ggplot2 gridExtra matrixStats plotly RColorBrewer reshape2]; };
   CAnD = derive2 { name="CAnD"; version="1.10.0"; sha256="17nzlplz9d8dhzm546bznwmz20p7lxnsvq35qd09a3rdcf1abz77"; depends=[ggplot2 reshape]; };
   CCPROMISE = derive2 { name="CCPROMISE"; version="1.4.0"; sha256="0r0aardhmz76zd5lj1qzwyva8la0jv9wczfmak3r0pp2axaw13yr"; depends=[Biobase CCP GSEABase PROMISE]; };
-  CEMiTool = derive2 { name="CEMiTool"; version="1.0.1"; sha256="1pqdnyxmpcp5gjf2w00cf1msbc96d8q9vdqbafg4x2fv83m9ivbq"; depends=[clusterProfiler data_table DT fgsea ggdendro ggplot2 ggpmisc ggrepel ggthemes gRbase gridExtra gtable htmltools igraph intergraph knitr matrixStats network pracma rmarkdown scales sna stringr WGCNA]; };
+  CEMiTool = derive2 { name="CEMiTool"; version="1.0.3"; sha256="07ighg7y1rpx00xylg1yhd03fvs2yi215rfyii8ckzwf8l9829l4"; depends=[clusterProfiler data_table DT fgsea ggdendro ggplot2 ggpmisc ggrepel ggthemes gRbase gridExtra gtable htmltools igraph intergraph knitr matrixStats network pracma rmarkdown scales sna stringr WGCNA]; };
   CFAssay = derive2 { name="CFAssay"; version="1.12.0"; sha256="01yakrkpbs43013936rh8qd4giiz7y7cp9jrdx9i4p6h5h8jzj28"; depends=[]; };
   CGEN = derive2 { name="CGEN"; version="3.14.0"; sha256="14s1j2h5cb2gfgn73yvb933ng63cr9i8lx8hisd0g8lcfi2b5rxw"; depends=[mvtnorm survival]; };
   CGHbase = derive2 { name="CGHbase"; version="1.38.0"; sha256="0fynvcsjdbgp69i0nxrc8ni58rhb1kx9k5r3nb91n9i8s43gjqlm"; depends=[Biobase marray]; };
@@ -129,7 +129,7 @@ in with self; {
   CNVtools = derive2 { name="CNVtools"; version="1.72.0"; sha256="0ihmgg5f0p7yhg0273jb785fcrhcw704vz8r6ban8c63wk0qbqb5"; depends=[survival]; };
   CODEX = derive2 { name="CODEX"; version="1.10.0"; sha256="1knfgii0n8grn4436aksk7f2xkk93ih2snvrp7p8pkr206kqadnq"; depends=[Biostrings BSgenome_Hsapiens_UCSC_hg19 GenomeInfoDb IRanges Rsamtools S4Vectors]; };
   COHCAP = derive2 { name="COHCAP"; version="1.24.0"; sha256="1ggxn35hif4x4k1rbnxinf0pdqbg1n53wym9rm5zs6cnya4aimgj"; depends=[COHCAPanno gplots RColorBrewer WriteXLS]; };
-  COMPASS = derive2 { name="COMPASS"; version="1.16.0"; sha256="1x1vcn37nr4mcx5q8zahyg654gbx0srxckxvz6shvprpdvgs83sn"; depends=[abind clue data_table dplyr knitr magrittr pdist plyr RColorBrewer Rcpp reshape2 rlang scales tidyr]; };
+  COMPASS = derive2 { name="COMPASS"; version="1.16.2"; sha256="1g9y5gryy1r8sg75008v3b2a1l2wkxvf8h5bnljnkc0wsd4f4nvb"; depends=[abind clue data_table dplyr knitr magrittr pdist plyr RColorBrewer Rcpp reshape2 rlang scales tidyr]; };
   CONFESS = derive2 { name="CONFESS"; version="1.6.0"; sha256="0kmvhwyzxz9ahvvzicigxal3r4ya8y5i090m7pi7d1p5arir7djl"; depends=[changepoint cluster contrast data_table EBImage ecp flexmix flowClust flowCore flowMeans flowMerge flowPeaks foreach ggplot2 limma MASS moments outliers plotrix raster readbitmap reshape2 SamSPECTRAL waveslim wavethresh zoo]; };
   CORREP = derive2 { name="CORREP"; version="1.44.0"; sha256="10bjv02x2xzanajfbsvbxd7s2s07z0gydx1ypmbfym41jjwac9ra"; depends=[e1071]; };
   COSNet = derive2 { name="COSNet"; version="1.12.0"; sha256="0x5kg4c5ml7ndqq81k5jy07fyra4q6nhhly6v7qd98gpmvrj6gnk"; depends=[]; };
@@ -152,9 +152,9 @@ in with self; {
   ChIPQC = derive2 { name="ChIPQC"; version="1.14.0"; sha256="1nnmgzad7kzydrmz374f9xvf8s13q6vhanz93v6d9jqh6jnd5di0"; depends=[Biobase BiocGenerics BiocParallel chipseq DiffBind GenomicAlignments GenomicFeatures GenomicRanges ggplot2 gtools IRanges Nozzle_R1 reshape2 Rsamtools S4Vectors TxDb_Celegans_UCSC_ce6_ensGene TxDb_Dmelanogaster_UCSC_dm3_ensGene TxDb_Hsapiens_UCSC_hg18_knownGene TxDb_Hsapiens_UCSC_hg19_knownGene TxDb_Mmusculus_UCSC_mm10_knownGene TxDb_Mmusculus_UCSC_mm9_knownGene TxDb_Rnorvegicus_UCSC_rn4_ensGene]; };
   ChIPXpress = derive2 { name="ChIPXpress"; version="1.22.0"; sha256="0wcs7gw0kgvbk1f4i8j9cr8kwv1lj45zv9q069cify78rdb106rb"; depends=[affy biganalytics bigmemory Biobase ChIPXpressData frma GEOquery]; };
   ChIPanalyser = derive2 { name="ChIPanalyser"; version="1.0.0"; sha256="02w4k41wx9cqfk0zjzcv8vdfgwv9rswijmdrsbmcpbrmbwn2jlxi"; depends=[Biostrings BSgenome GenomicRanges IRanges RcppRoll S4Vectors]; };
-  ChIPexoQual = derive2 { name="ChIPexoQual"; version="1.2.0"; sha256="0n0bpwiff3lbirvmzbamjvxa2957wsl0kixfh1hnsr0hqgs3swqf"; depends=[BiocParallel biovizBase broom data_table dplyr GenomeInfoDb GenomicAlignments GenomicRanges ggplot2 hexbin IRanges RColorBrewer rmarkdown Rsamtools S4Vectors scales viridis]; };
+  ChIPexoQual = derive2 { name="ChIPexoQual"; version="1.3.2"; sha256="0hh7ppc4fsil7vczng897dkzz2a1x0s2j2qvw1v2g8hm82mv070k"; depends=[BiocParallel biovizBase broom data_table dplyr GenomeInfoDb GenomicAlignments GenomicRanges ggplot2 hexbin IRanges RColorBrewer rmarkdown Rsamtools S4Vectors scales viridis]; };
   ChIPpeakAnno = derive2 { name="ChIPpeakAnno"; version="3.12.7"; sha256="1zab489d7a6bh6ylc68x6yn47gdkmr7p3677grx9l2qafrryjr04"; depends=[AnnotationDbi Biobase BiocGenerics BiocInstaller biomaRt Biostrings BSgenome DBI DelayedArray ensembldb GenomeInfoDb GenomicAlignments GenomicFeatures GenomicRanges GO_db graph idr IRanges limma matrixStats multtest RBGL regioneR Rsamtools S4Vectors seqinr SummarizedExperiment VennDiagram]; };
-  ChIPseeker = derive2 { name="ChIPseeker"; version="1.14.1"; sha256="1819hny2azpj3wpp09yyqllx668p98ja3ds5a65c0hxy8vbmjxpz"; depends=[AnnotationDbi BiocGenerics boot DOSE dplyr GenomeInfoDb GenomicFeatures GenomicRanges ggplot2 gplots gridBase gtools IRanges magrittr plotrix RColorBrewer rtracklayer S4Vectors TxDb_Hsapiens_UCSC_hg19_knownGene UpSetR]; };
+  ChIPseeker = derive2 { name="ChIPseeker"; version="1.14.2"; sha256="1db2k7j0rr9q8jlfxlji62zyhzfh7yhsacyg1dj5sgwbhhn0xliy"; depends=[AnnotationDbi BiocGenerics boot DOSE dplyr GenomeInfoDb GenomicFeatures GenomicRanges ggplot2 gplots gridBase gtools IRanges magrittr plotrix RColorBrewer rtracklayer S4Vectors TxDb_Hsapiens_UCSC_hg19_knownGene UpSetR]; };
   ChIPseqR = derive2 { name="ChIPseqR"; version="1.32.0"; sha256="0igqlfr5grhkr7dsdyg3c31d3r1wpn413vxmzlckiimfwdi35rqv"; depends=[BiocGenerics Biostrings fBasics GenomicRanges HilbertVis IRanges S4Vectors ShortRead timsac]; };
   ChIPsim = derive2 { name="ChIPsim"; version="1.32.0"; sha256="01kmhzyvnp03v9xydm9xrrkdmlf5dpsnzzcf13i9r03x3m44r4ga"; depends=[Biostrings IRanges ShortRead XVector]; };
   ChemmineOB = derive2 { name="ChemmineOB"; version="1.16.2"; sha256="0zrg6f5cg54f1bpwjhx2h97w267jr2gyncgfyjs7njkjwwrl9ads"; depends=[BH BiocGenerics Rcpp zlibbioc]; };
@@ -179,7 +179,7 @@ in with self; {
   CoverageView = derive2 { name="CoverageView"; version="1.16.0"; sha256="1091mxiclb3zhr48bdj7z8gi3v69l4w25cfpfbxhhp70rffn9xfr"; depends=[GenomicAlignments GenomicRanges IRanges Rsamtools rtracklayer S4Vectors]; };
   CrispRVariants = derive2 { name="CrispRVariants"; version="1.6.0"; sha256="15za6ysnnjfwmiq2dhbpr3kww6c2jvc2y1mf8rfpqx56bd1dh3cb"; depends=[AnnotationDbi BiocParallel Biostrings GenomeInfoDb GenomicAlignments GenomicRanges ggplot2 gridExtra IRanges reshape2 Rsamtools S4Vectors]; };
   CytoML = derive2 { name="CytoML"; version="1.4.1"; sha256="1jj79adwrzwx012xvw3czv0m94jc3j2ibpijdfbz8fpjhynrzwqb"; depends=[base64enc Biobase data_table flowCore flowUtils flowWorkspace ggcyto graph jsonlite ncdfFlow openCyto plyr RBGL Rgraphviz XML]; };
-  DAPAR = derive2 { name="DAPAR"; version="1.10.3"; sha256="1xkfw2zjy8wj8x5mddyzw1632zhb2dvdnqp5ikmf1n1bi1mq0ya4"; depends=[AnnotationDbi Cairo clusterProfiler cp4p DAPARdata doParallel dplyr foreach ggplot2 gplots graph highcharter imp4p impute imputeLCMD knitr lattice limma lme4 Matrix MSnbase norm openxlsx pcaMethods png preprocessCore RColorBrewer readxl reshape2 scales siggenes tidyr tmvtnorm vioplot]; };
+  DAPAR = derive2 { name="DAPAR"; version="1.10.4"; sha256="15ghdx2yccsk98bmynljiwdfkjjfqafq62wc87zsgydql59c10kh"; depends=[AnnotationDbi Cairo clusterProfiler cp4p DAPARdata doParallel dplyr foreach ggplot2 gplots graph highcharter imp4p impute imputeLCMD knitr lattice limma lme4 Matrix MSnbase norm openxlsx pcaMethods png preprocessCore RColorBrewer readxl reshape2 scales siggenes tidyr tmvtnorm vioplot]; };
   DART = derive2 { name="DART"; version="1.26.0"; sha256="15hqsdi7pa1qn5c5af2izhf609c7lmb0zsv2qwyc9xbf7dn42qmf"; depends=[igraph]; };
   DASC = derive2 { name="DASC"; version="0.99.11"; sha256="1wm43kgvq3wkwp8hmz70m9c7yxxjsanpqxvcm6x63bna02ysb90y"; depends=[Biobase cvxclustr NMF]; };
   DBChIP = derive2 { name="DBChIP"; version="1.22.0"; sha256="07psmmvcdl4r5m71kccd9rd3vk521ilhwmcll37pfrmb16s1856x"; depends=[DESeq edgeR]; };
@@ -193,7 +193,7 @@ in with self; {
   DEP = derive2 { name="DEP"; version="1.0.1"; sha256="0glkq6xlhcsr364zl4nkc7g3gnscv0yb3kcyvhzgm3bbfvd9q7ac"; depends=[assertthat Biobase broom circlize ComplexHeatmap dplyr DT fdrtool ggplot2 ggrepel gridExtra imputeLCMD limma MSnbase purrr RColorBrewer readr rmarkdown shiny shinydashboard SummarizedExperiment tibble tidyr vsn]; };
   DESeq = derive2 { name="DESeq"; version="1.30.0"; sha256="0mn5w3cy16iwwk8zxs7za6aa6cnrca75z0g45zd5zh1py5d7nfv9"; depends=[Biobase BiocGenerics genefilter geneplotter lattice locfit MASS RColorBrewer]; };
   DESeq2 = derive2 { name="DESeq2"; version="1.18.1"; sha256="1iyimg1s0x5pdmvl8x08s8h0v019y0nhjzs50chagbpk2x91fsmv"; depends=[Biobase BiocGenerics BiocParallel genefilter geneplotter GenomicRanges ggplot2 Hmisc IRanges locfit Rcpp RcppArmadillo S4Vectors SummarizedExperiment]; };
-  DEXSeq = derive2 { name="DEXSeq"; version="1.24.2"; sha256="18nh8ynxirfwkmc4sawdxgl7w1sl9ny5zpv8zbhv9vi5vgb8pxmj"; depends=[AnnotationDbi Biobase BiocGenerics BiocParallel biomaRt DESeq2 genefilter geneplotter GenomicRanges hwriter IRanges RColorBrewer Rsamtools S4Vectors statmod stringr SummarizedExperiment]; };
+  DEXSeq = derive2 { name="DEXSeq"; version="1.24.4"; sha256="1a80yv742fx5c7qav7imsdybphf0d5bixsqyf8w5zng7fk8j16d5"; depends=[AnnotationDbi Biobase BiocGenerics BiocParallel biomaRt DESeq2 genefilter geneplotter GenomicRanges hwriter IRanges RColorBrewer Rsamtools S4Vectors statmod stringr SummarizedExperiment]; };
   DEsubs = derive2 { name="DEsubs"; version="1.4.0"; sha256="1i9blymzj18r9646vac9grrjxw6xar8m6chn1dgdila17jag1wlp"; depends=[circlize DESeq DESeq2 EBSeq edgeR ggplot2 graph igraph jsonlite limma locfit Matrix NBPSeq pheatmap RBGL samr]; };
   DFP = derive2 { name="DFP"; version="1.36.0"; sha256="117gmzcgr9wr9wb7g0rm7wlrakd76ys1frhmhx1k6ps97ibxlz1k"; depends=[Biobase]; };
   DMCHMM = derive2 { name="DMCHMM"; version="1.0.0"; sha256="1y0wmxks51h0d21v8g4mryq7kzq49khhpa88fbhza9xp2bmwk358"; depends=[BiocParallel calibrate fdrtool GenomicRanges IRanges multcomp rtracklayer S4Vectors SummarizedExperiment]; };
@@ -242,8 +242,8 @@ in with self; {
   ENmix = derive2 { name="ENmix"; version="1.14.0"; sha256="117jp47hpm276x4q25jwqfagymvay0qk3ji5l9xvrj74piwqpgwh"; depends=[doParallel foreach geneplotter impute MASS minfi preprocessCore SummarizedExperiment sva wateRmelon]; };
   EasyqpcR = derive2 { name="EasyqpcR"; version="1.20.0"; sha256="06lmq3pp0j86rv9bgs809r30qscgpxv5vjbkccf32q9wv82vd7hw"; depends=[gWidgetsRGtk2 matrixStats plotrix plyr]; };
   EmpiricalBrownsMethod = derive2 { name="EmpiricalBrownsMethod"; version="1.6.0"; sha256="1wv1anm4bwm2kqi9lqn06bl1w17q6wvc1v2amrifbqjbmi5k7g8y"; depends=[]; };
-  EnrichedHeatmap = derive2 { name="EnrichedHeatmap"; version="1.9.2"; sha256="0ffyb40qcvpjqval78146w8wvk3ng7v1ipdwnqkzj705gqkwbw9y"; depends=[ComplexHeatmap GenomicRanges GetoptLong IRanges locfit matrixStats Rcpp]; };
-  EnrichmentBrowser = derive2 { name="EnrichmentBrowser"; version="2.8.6"; sha256="1vxnl0n34ygl4fx28s8zmp71b8hidlp4sn34k1cfkw7hiaf2gg9n"; depends=[AnnotationDbi BiocFileCache biocGraph ComplexHeatmap DESeq2 EDASeq edgeR geneplotter GO_db graph GSEABase hwriter KEGGgraph KEGGREST limma MASS pathview rappdirs ReportingTools Rgraphviz S4Vectors safe SPIA SummarizedExperiment topGO]; };
+  EnrichedHeatmap = derive2 { name="EnrichedHeatmap"; version="1.9.4"; sha256="03n7w56r14y3jrrsdl2awcan5d0hsn3kd8900lrj015pmgf2r9d0"; depends=[circlize ComplexHeatmap GenomicRanges GetoptLong IRanges locfit matrixStats Rcpp]; };
+  EnrichmentBrowser = derive2 { name="EnrichmentBrowser"; version="2.8.7"; sha256="12wrxbp14ahjjph85g040f72yk4j47svsyyv7b9s56mkc513vd6v"; depends=[AnnotationDbi BiocFileCache biocGraph ComplexHeatmap DESeq2 EDASeq edgeR geneplotter GO_db graph GSEABase hwriter KEGGgraph KEGGREST limma MASS pathview rappdirs ReportingTools Rgraphviz S4Vectors safe SPIA SummarizedExperiment topGO]; };
   EpiDISH = derive2 { name="EpiDISH"; version="1.0.0"; sha256="065bvrfsssf5y4j9axqdcybqb5i8y2hnl09f9jr44bpbay34ay5f"; depends=[e1071 MASS quadprog]; };
   EventPointer = derive2 { name="EventPointer"; version="1.2.0"; sha256="1yh6yhaf8c2rp8f4ipsk014552pplb28cl5z7wjwvarjb21waj05"; depends=[affxparser doParallel foreach GenomeInfoDb GenomicFeatures GenomicRanges graph igraph limma MASS Matrix matrixStats nnls prodlim RBGL S4Vectors SGSeq stringr SummarizedExperiment]; };
   ExiMiR = derive2 { name="ExiMiR"; version="2.20.0"; sha256="0saxway680972dmn6q1gbbmkxcwv08hl2bq973qbyrv5drg6g4vv"; depends=[affy affyio Biobase limma preprocessCore]; };
@@ -255,7 +255,7 @@ in with self; {
   FGNet = derive2 { name="FGNet"; version="3.12.0"; sha256="1f33k7dx7f97kzjpq1jvs614vjsyg3yd03s2y7xxwhydmx02n7vs"; depends=[hwriter igraph plotrix png R_utils RColorBrewer reshape2 XML]; };
   FISHalyseR = derive2 { name="FISHalyseR"; version="1.12.0"; sha256="07q5paypybw8qq17wyl7qqlrdy5kfg2k24rj2ic4gjgb6qiic38b"; depends=[abind EBImage]; };
   FRGEpistasis = derive2 { name="FRGEpistasis"; version="1.14.0"; sha256="1nyw8h4kjddn75878adhlilwjnm4wlyhksyp2ygx6cm35fbqa2v3"; depends=[fda MASS]; };
-  FamAgg = derive2 { name="FamAgg"; version="1.6.0"; sha256="0p87aidqbzdwhihsnaammv1i5yb0rvhs0xrjlmq64z6q9ffj7k32"; depends=[BiocGenerics gap igraph kinship2 Matrix survey]; };
+  FamAgg = derive2 { name="FamAgg"; version="1.6.1"; sha256="02fy27g8vi9byhnfav0121291jbwiypnj1r9i56hbgwwzplqbr5z"; depends=[BiocGenerics gap igraph kinship2 Matrix survey]; };
   FindMyFriends = derive2 { name="FindMyFriends"; version="1.8.0"; sha256="13f6hdjn4l5xfrdskq2abpzczxcm8sy71fqpfj6hsxzj06fz9a36"; depends=[Biobase BiocGenerics BiocParallel Biostrings digest dplyr filehash ggdendro ggplot2 gtable igraph IRanges kebabs Matrix Rcpp reshape2 S4Vectors]; };
   FitHiC = derive2 { name="FitHiC"; version="1.4.0"; sha256="12ylhrppi051m7nqsgq95kzd9g9wmp34i0zzfi55cjqawlpx7c6n"; depends=[data_table fdrtool Rcpp]; };
   FlowRepositoryR = derive2 { name="FlowRepositoryR"; version="1.10.0"; sha256="0mgqnmznqpy8ikzg1829bjgxnznm43wkgirhpgfskdxfzr4zqs3a"; depends=[jsonlite RCurl XML]; };
@@ -270,7 +270,7 @@ in with self; {
   GENESIS = derive2 { name="GENESIS"; version="2.8.1"; sha256="0w3xrw6a1fkcp49nyarkp4yykjk79gqq7rzwixdk4363d5pnm7gp"; depends=[Biobase BiocGenerics gdsfmt GenomicRanges graph GWASTools IRanges S4Vectors SeqArray SeqVarTools]; };
   GENIE3 = derive2 { name="GENIE3"; version="1.0.0"; sha256="1lxbkhlvb082nrmlq2b57chi0vpyaqwj56ngbzli8qdmp1gz4qd3"; depends=[reshape2]; };
   GEOmetadb = derive2 { name="GEOmetadb"; version="1.40.0"; sha256="003inwm8qkjdaihlx4009nwj3rgjn3xdk0m8k696qhniq99gcd0a"; depends=[GEOquery RSQLite]; };
-  GEOquery = derive2 { name="GEOquery"; version="2.46.14"; sha256="12m6l95qjip33rw97qymc2i0wpmdmsvswlcp93b3gssxslpzkqzi"; depends=[Biobase dplyr httr limma magrittr readr tidyr xml2]; };
+  GEOquery = derive2 { name="GEOquery"; version="2.46.15"; sha256="1l5vcksida44zkrqvrp9krqd4yhn6xh24y9jfvkyjvhq4x8fl18z"; depends=[Biobase dplyr httr limma magrittr readr tidyr xml2]; };
   GEOsearch = derive2 { name="GEOsearch"; version="1.1.4"; sha256="0k0vn99rz2821gswb834nn9ib099a152y2828ka7qvhag4shzdy9"; depends=[org_Hs_eg_db org_Mm_eg_db RCurl]; };
   GEOsubmission = derive2 { name="GEOsubmission"; version="1.30.0"; sha256="0sl9m7lk7jczpcfhn50yn322v1s65d9swjidcnzk3ydv47z419p8"; depends=[affy Biobase]; };
   GEWIST = derive2 { name="GEWIST"; version="1.22.0"; sha256="0lfm19s4z5j7zhpzhfa7rqdz09ip05cf2zbnsqv9widdmkcw2wnk"; depends=[car]; };
@@ -298,10 +298,10 @@ in with self; {
   GSRI = derive2 { name="GSRI"; version="2.26.0"; sha256="12silcf67r3ni40g7vsc7iv15arzy7w12abpj2xcjfd9nr4d84js"; depends=[Biobase fdrtool genefilter GSEABase les]; };
   GSReg = derive2 { name="GSReg"; version="1.12.0"; sha256="1rdzkv6kf14shfddvrz3pssjgr6pvg6is4lzcvjzrxai4y34n0y6"; depends=[AnnotationDbi GenomicFeatures Homo_sapiens org_Hs_eg_db]; };
   GSVA = derive2 { name="GSVA"; version="1.26.0"; sha256="1zvi0w7clm5qg6fv6akqw4cx84kswcgzfzjdkhxsrid0l4hwmw09"; depends=[Biobase BiocGenerics geneplotter GSEABase shiny shinythemes]; };
-  GUIDEseq = derive2 { name="GUIDEseq"; version="1.8.0"; sha256="1xsjz3mq6iawspdz1rif3fb8j2h92ykfrjj3lzlcsnvg92bnlczq"; depends=[BiocGenerics BiocParallel Biostrings BSgenome ChIPpeakAnno CRISPRseek data_table GenomeInfoDb GenomicAlignments GenomicRanges hash IRanges limma matrixStats Rsamtools S4Vectors]; };
+  GUIDEseq = derive2 { name="GUIDEseq"; version="1.8.1"; sha256="1vx24scbwr4xqhza4q90jpw3xv1pyd7afbqlxijy2fv4p1fzwi4h"; depends=[BiocGenerics BiocParallel Biostrings BSgenome ChIPpeakAnno CRISPRseek data_table GenomeInfoDb GenomicAlignments GenomicRanges hash IRanges limma matrixStats Rsamtools S4Vectors]; };
   GWASTools = derive2 { name="GWASTools"; version="1.24.1"; sha256="1x8p32f47fki2kl0pkjv4v7az8s1b6zwqjnxywfxy0drs9g6lky4"; depends=[Biobase DBI DNAcopy gdsfmt GWASExactHW lmtest logistf quantsmooth RSQLite sandwich survival]; };
   GenRank = derive2 { name="GenRank"; version="1.6.0"; sha256="071k23qknpd46x22bj2cmp07mmxj22higw8ma4b0a8w0wmd05bwz"; depends=[matrixStats reshape2 survcomp]; };
-  GenVisR = derive2 { name="GenVisR"; version="1.8.0"; sha256="03jc5qz1xfqpbll8qbs5ib7g70s21crmggc9a6xi9nvjq8ky05r6"; depends=[AnnotationDbi BiocGenerics biomaRt Biostrings DBI FField GenomicFeatures GenomicRanges ggplot2 gridExtra gtable gtools IRanges plyr reshape2 Rsamtools scales viridis]; };
+  GenVisR = derive2 { name="GenVisR"; version="1.8.1"; sha256="0c8dm4k2fn4g7vpjvd452vx0a1xb4rp5w1ii1h4q96957s8s52hj"; depends=[AnnotationDbi BiocGenerics biomaRt Biostrings DBI FField GenomicFeatures GenomicRanges ggplot2 gridExtra gtable gtools IRanges plyr reshape2 Rsamtools scales viridis]; };
   GeneAnswers = derive2 { name="GeneAnswers"; version="2.20.0"; sha256="11bdc59ybi1kck3jkzilf0vmql6a3k97b1f9h940h28mhgn5x9w6"; depends=[annotate Biobase downloader Heatplus igraph MASS RBGL RColorBrewer RCurl RSQLite XML]; };
   GeneBreak = derive2 { name="GeneBreak"; version="1.8.0"; sha256="1157crj12c3girr6973a24ph15rfjw0vcakr42fpx7yhhirs89lb"; depends=[CGHbase CGHcall GenomicRanges QDNAseq]; };
   GeneExpressionSignature = derive2 { name="GeneExpressionSignature"; version="1.24.0"; sha256="1l8829axy6fp29bkqlwbjcsajq99yb86yp5cc8211zprlhlxb30i"; depends=[Biobase PGSEA]; };
@@ -318,12 +318,12 @@ in with self; {
   GenoGAM = derive2 { name="GenoGAM"; version="1.6.0"; sha256="1dvaapinarpgn3i63iqhdbjh9mc5h7sgdxwlv9d55l42d1jyj6h3"; depends=[BiocParallel Biostrings data_table DESeq2 futile_logger GenomeInfoDb GenomicAlignments GenomicRanges IRanges mgcv reshape2 Rsamtools S4Vectors SummarizedExperiment]; };
   GenomeGraphs = derive2 { name="GenomeGraphs"; version="1.38.0"; sha256="15p75cbbgwgcc3awyvawkah491yim0rp73af815pfiai11a51i4m"; depends=[biomaRt]; };
   GenomeInfoDb = derive2 { name="GenomeInfoDb"; version="1.14.0"; sha256="1jhm0imkac4gvchbjxj408aakk39xdv2fyh818d3lk295bz6bnyp"; depends=[BiocGenerics GenomeInfoDbData IRanges RCurl S4Vectors]; };
-  GenomicAlignments = derive2 { name="GenomicAlignments"; version="1.14.1"; sha256="033p6fw46sn7w2yyn14nb9qcnkf30cl0nv6zh014ixflm3iifz39"; depends=[BiocGenerics BiocParallel Biostrings GenomeInfoDb GenomicRanges IRanges Rsamtools S4Vectors SummarizedExperiment]; };
+  GenomicAlignments = derive2 { name="GenomicAlignments"; version="1.14.2"; sha256="1659nj1xps7vliy5955i51x6hvrf16n1z0dfh10mmpaaswn2d2mv"; depends=[BiocGenerics BiocParallel Biostrings GenomeInfoDb GenomicRanges IRanges Rsamtools S4Vectors SummarizedExperiment]; };
   GenomicDataCommons = derive2 { name="GenomicDataCommons"; version="1.2.0"; sha256="0ndzpzripibx38nk40xpz4xkghhr4an3skqdhfh8479jk2fnfwjd"; depends=[data_table GenomicRanges httr IRanges jsonlite lazyeval magrittr readr xml2]; };
   GenomicFeatures = derive2 { name="GenomicFeatures"; version="1.30.3"; sha256="010vn8hlwbnw12pd1d8pv6m12yp3xwx557gba5rbjq9p4qypnn3z"; depends=[AnnotationDbi Biobase BiocGenerics biomaRt Biostrings DBI GenomeInfoDb GenomicRanges IRanges RCurl RMySQL RSQLite rtracklayer S4Vectors XVector]; };
   GenomicFiles = derive2 { name="GenomicFiles"; version="1.14.0"; sha256="0r0wmrs5jycf1kckhnc2sgjmp336srlcjdkpbb1ymm7kazdd0s9n"; depends=[BiocGenerics BiocParallel GenomeInfoDb GenomicAlignments GenomicRanges IRanges Rsamtools rtracklayer S4Vectors SummarizedExperiment VariantAnnotation]; };
   GenomicInteractions = derive2 { name="GenomicInteractions"; version="1.12.0"; sha256="0f0ki2zsaxg6f4qr47xgyhxm6jvms0s1zab7f0vcnw8jd7vhmnzn"; depends=[Biobase BiocGenerics data_table dplyr GenomeInfoDb GenomicRanges ggplot2 gridExtra Gviz igraph InteractionSet IRanges Rsamtools rtracklayer S4Vectors stringr]; };
-  GenomicRanges = derive2 { name="GenomicRanges"; version="1.30.2"; sha256="0c3r155603vb4zjs3adqa72770bh8karc11y8gl62l1m24jrkbnj"; depends=[BiocGenerics GenomeInfoDb IRanges S4Vectors XVector]; };
+  GenomicRanges = derive2 { name="GenomicRanges"; version="1.30.3"; sha256="07cszc9ri94nzk4dffwnsj247ih6pchnrzrvnb0q4dkk33gwy8n1"; depends=[BiocGenerics GenomeInfoDb IRanges S4Vectors XVector]; };
   GenomicScores = derive2 { name="GenomicScores"; version="1.2.2"; sha256="0g6i90vn29pasiqbq0088bgdisr356539z94scv7cila968inh7n"; depends=[AnnotationHub Biobase BiocGenerics Biostrings BSgenome GenomeInfoDb GenomicRanges IRanges S4Vectors XML]; };
   GenomicTuples = derive2 { name="GenomicTuples"; version="1.12.0"; sha256="0962l9204vm5x7vcqzlvlgblhdczwp4zbq4i262gqh79lnx4yq1y"; depends=[BiocGenerics data_table GenomeInfoDb GenomicRanges IRanges Rcpp S4Vectors]; };
   Genominator = derive2 { name="Genominator"; version="1.32.0"; sha256="1gh56xyfgx5f8rb0wbpvkg8h2q1ci2qf3ngkg3sficn65pbj9iha"; depends=[BiocGenerics DBI GenomeGraphs IRanges RSQLite]; };
@@ -352,7 +352,7 @@ in with self; {
   Heatplus = derive2 { name="Heatplus"; version="2.24.0"; sha256="0lil1yfqqga9l6qrgismngvary4495zmi4yk01izpcx29pk8zn6n"; depends=[RColorBrewer]; };
   HelloRanges = derive2 { name="HelloRanges"; version="1.4.0"; sha256="0pbikr79lh6iij044sy6fw6i2bqigmna4hb806kyihclpm0rs3y2"; depends=[BiocGenerics Biostrings BSgenome docopt GenomeInfoDb GenomicAlignments GenomicFeatures GenomicRanges IRanges Rsamtools rtracklayer S4Vectors SummarizedExperiment VariantAnnotation]; };
   HiCcompare = derive2 { name="HiCcompare"; version="1.0.0"; sha256="1r25l4q7rpzjhz02ys78a4p8ga3wrd231znk84pp7xgka3xpprv0"; depends=[BiocParallel data_table dplyr GenomicRanges ggplot2 gridExtra gtools InteractionSet IRanges KernSmooth mgcv pheatmap QDNAseq S4Vectors]; };
-  HiTC = derive2 { name="HiTC"; version="1.22.0"; sha256="0288xa1jy6nzvz2ha07csmp6dirjw5r7p9vy69q2wsbyzr02ymkp"; depends=[Biostrings GenomeInfoDb GenomicRanges IRanges Matrix RColorBrewer rtracklayer]; };
+  HiTC = derive2 { name="HiTC"; version="1.22.1"; sha256="0da1jw9my2n2gihs31zyn14wwr23d8v2vij39ll7rm6fma3ydfbl"; depends=[Biostrings GenomeInfoDb GenomicRanges IRanges Matrix RColorBrewer rtracklayer]; };
   HilbertCurve = derive2 { name="HilbertCurve"; version="1.9.1"; sha256="1k3l3i8fpfhzsdwrlkyp7k8rpkyg51lx6c776vd8nm4f2nqn7z36"; depends=[circlize GenomicRanges HilbertVis IRanges png]; };
   HilbertVis = derive2 { name="HilbertVis"; version="1.36.0"; sha256="1yilvi5pcr0z5h0n0mf7hfrjc7cl44vn6svczlmw57n8pxf8p35g"; depends=[lattice]; };
   HilbertVisGUI = derive2 { name="HilbertVisGUI"; version="1.36.0"; sha256="12bwk0lj2s6jgrpwigc4jd80irzxqjwc8smq1dhsm6pj62v0gvlk"; depends=[HilbertVis]; };
@@ -420,7 +420,7 @@ in with self; {
   MBCB = derive2 { name="MBCB"; version="1.32.0"; sha256="0amqmzi54dvkgzylavy0dbv973s2p02jppd5vzqzkrqs8amb3r4c"; depends=[preprocessCore tcltk2]; };
   MBttest = derive2 { name="MBttest"; version="1.5.0"; sha256="0gswdh61mmqn7h4d6vwvis08lxx383ynj6pk2va3z8bn25qki5lz"; depends=[gplots gtools]; };
   MCRestimate = derive2 { name="MCRestimate"; version="2.34.0"; sha256="1n4abpm6ld4ap87pgrv3mfr1aycdjb4hjg3fm699rckyl9qynjr3"; depends=[Biobase e1071 golubEsets pamr randomForest RColorBrewer]; };
-  MCbiclust = derive2 { name="MCbiclust"; version="1.2.1"; sha256="1yqm6fwap4553nmh1dl3vg87hixljzm097wcv4l6sd5sd0sg63c7"; depends=[AnnotationDbi BiocParallel cluster GGally ggplot2 GO_db org_Hs_eg_db scales WGCNA]; };
+  MCbiclust = derive2 { name="MCbiclust"; version="1.2.2"; sha256="0xll7qdg8cf854yzwxmzvd8xh0pjzkq9x9fskcsv7brm25ar6ghv"; depends=[AnnotationDbi BiocParallel cluster GGally ggplot2 GO_db org_Hs_eg_db scales WGCNA]; };
   MEAL = derive2 { name="MEAL"; version="1.8.0"; sha256="0mccjr21jvmwlszhb9qixm7dr83gkhm2hjh9yrn11d22cm9r6g1q"; depends=[Biobase BiocGenerics DMRcate doParallel GenomicRanges ggplot2 Gviz IRanges isva limma matrixStats minfi missMethyl MultiDataSet permute S4Vectors SmartSVA SNPassoc snpStats SummarizedExperiment vegan]; };
   MEDIPS = derive2 { name="MEDIPS"; version="1.30.0"; sha256="06mm424g3rc8j64wfyv6w40m106wifzhi91nsbpi317fg98qfd3d"; depends=[biomaRt Biostrings BSgenome DNAcopy edgeR GenomicRanges gtools IRanges preprocessCore Rsamtools rtracklayer]; };
   MEDME = derive2 { name="MEDME"; version="1.38.0"; sha256="137p9z1g3z4r7q3nsrpsp2gbm657nrbrrq96ph1mykvv41ylq59p"; depends=[Biostrings drc MASS]; };
@@ -428,9 +428,9 @@ in with self; {
   MGFM = derive2 { name="MGFM"; version="1.12.0"; sha256="0yjr14anr5rny6g1508nrw905d4b01jh34vpwi8737p1q4d9bzis"; depends=[annotate AnnotationDbi]; };
   MGFR = derive2 { name="MGFR"; version="1.4.0"; sha256="04nxg65m1s8qyq8sbs8733d541r0vcmabz27w03vs87f0dbxhg11"; depends=[annotate biomaRt]; };
   MIGSA = derive2 { name="MIGSA"; version="1.2.0"; sha256="0ih5i1acb7igbcqk7wykxhncvl5vbgx34gl5nqc65adpqb0199fl"; depends=[AnnotationDbi Biobase BiocGenerics BiocParallel data_table edgeR futile_logger ggdendro ggplot2 GO_db GOstats graph GSEABase limma matrixStats mGSZ org_Hs_eg_db RBGL reshape2 Rgraphviz RJSONIO vegan]; };
-  MIMOSA = derive2 { name="MIMOSA"; version="1.16.0"; sha256="0rnxr7gxcps2raxka8c2x58liwwc75acwpahi2xc1dl8c2z4jpvx"; depends=[Biobase coda data_table Formula ggplot2 MASS MCMCpack modeest plyr pracma Rcpp RcppArmadillo reshape scales testthat]; };
+  MIMOSA = derive2 { name="MIMOSA"; version="1.16.1"; sha256="1fsjpqpv32ps8pyj1mjkhrpikchhmm3l06yyjqy3bgrfa1ch36vx"; depends=[Biobase coda data_table Formula ggplot2 MASS MCMCpack modeest plyr pracma Rcpp RcppArmadillo reshape scales testthat]; };
   MIRA = derive2 { name="MIRA"; version="1.0.1"; sha256="0dapp1q6vrdixz8n2g6ivav4d4si3wg1na7cg5jirb22mwi2rrpk"; depends=[Biobase BiocGenerics bsseq data_table GenomicRanges ggplot2 IRanges S4Vectors]; };
-  MLInterfaces = derive2 { name="MLInterfaces"; version="1.58.0"; sha256="1py603bykvnzyq15rcqvq1nly3l6chh5zh6x4biwdn0smyjlnkns"; depends=[annotate Biobase BiocGenerics cluster fpc gbm gdata genefilter ggvis hwriter MASS mlbench pls RColorBrewer rda rpart sfsmisc shiny threejs]; };
+  MLInterfaces = derive2 { name="MLInterfaces"; version="1.58.1"; sha256="0hran4cavh1zlzwjwpmmd13qsx95z7kf8pqmh7w1pb36isj2z3hy"; depends=[annotate Biobase BiocGenerics cluster fpc gbm gdata genefilter ggvis hwriter MASS mlbench pls RColorBrewer rda rpart sfsmisc shiny threejs]; };
   MLP = derive2 { name="MLP"; version="1.26.0"; sha256="0mhaw39rbzrnrminvsiq6vrdrmf3zm2zqg3ilnsq1zw8bm2bsbh7"; depends=[affy AnnotationDbi gdata gmodels gplots gtools plotrix]; };
   MLSeq = derive2 { name="MLSeq"; version="1.18.0"; sha256="1r6b33ic2lnj3v2qzs7r904rfyibz96yr35mgpiz4zzsax4ar6v4"; depends=[Biobase caret DESeq2 edgeR limma randomForest]; };
   MMDiff2 = derive2 { name="MMDiff2"; version="1.6.0"; sha256="13f96dw630hadqa0z83ispdni728g7zl12xj8zxrf5hvw1c1hs2h"; depends=[Biobase Biostrings BSgenome GenomicRanges ggplot2 locfit RColorBrewer Rsamtools S4Vectors shiny]; };
@@ -468,7 +468,7 @@ in with self; {
   MiRaGE = derive2 { name="MiRaGE"; version="1.20.0"; sha256="1jbs427vpld18l83s5dngijc8rgllqvrili8gv4in20nr6dyk9hi"; depends=[AnnotationDbi Biobase BiocGenerics S4Vectors]; };
   MineICA = derive2 { name="MineICA"; version="1.18.0"; sha256="1zdq5i14ksm8rirbry6j1dh56r1bhy5yvfzrxfjkm94lynqcdpdy"; depends=[annotate AnnotationDbi Biobase BiocGenerics biomaRt cluster colorspace fastICA foreach fpc ggplot2 GOstats graph gtools Hmisc igraph JADE lumi lumiHumanAll_db marray mclust plyr RColorBrewer Rgraphviz scales xtable]; };
   MinimumDistance = derive2 { name="MinimumDistance"; version="1.22.0"; sha256="1j2g0ji1ac9608b965rr9vvbhlcbvirqypngh11havh3vn54m9rf"; depends=[Biobase BiocGenerics data_table DNAcopy ff foreach GenomeInfoDb GenomicRanges IRanges lattice matrixStats oligoClasses S4Vectors SummarizedExperiment VanillaICE]; };
-  Mirsynergy = derive2 { name="Mirsynergy"; version="1.14.0"; sha256="1mwcv1fb3vda4ilmvwjrwb2qg65bgdxsvd2jd9ndaccxb7m3c2lk"; depends=[ggplot2 gridExtra igraph Matrix RColorBrewer reshape scales]; };
+  Mirsynergy = derive2 { name="Mirsynergy"; version="1.14.1"; sha256="09hg5mak0ba0vifix5s0nq7md4hjldmar23jyxz5da1lp22cza9i"; depends=[ggplot2 gridExtra igraph Matrix RColorBrewer reshape scales]; };
   MmPalateMiRNA = derive2 { name="MmPalateMiRNA"; version="1.28.0"; sha256="058nvymnnzd61a7x2vpzic1s2nm3q520cnfdhd6i09isg6kqr6c8"; depends=[Biobase lattice limma statmod vsn xtable]; };
   MoPS = derive2 { name="MoPS"; version="1.12.0"; sha256="0g4awrm90kjnk66b291y2n5vwwwzpdb3kaq96sxfc5a1af8q5q81"; depends=[Biobase]; };
   MoonlightR = derive2 { name="MoonlightR"; version="1.4.0"; sha256="0kisic6bzp2gy1yjg717izbkirlvrwb1wndckd2yvncrjzpidcq6"; depends=[Biobase circlize clusterProfiler doParallel DOSE foreach GEOquery gplots HiveR limma parmigene randomForest RColorBrewer RISmed SummarizedExperiment TCGAbiolinks]; };
@@ -478,7 +478,7 @@ in with self; {
   MultiAssayExperiment = derive2 { name="MultiAssayExperiment"; version="1.4.9"; sha256="0kbr2nfxkny9y6hgijr2xpzczs0ijv0g7nh37yrzgkh10rwjsflq"; depends=[Biobase BiocGenerics GenomicRanges IRanges reshape2 S4Vectors shiny shinydashboard SummarizedExperiment tidyr]; };
   MultiDataSet = derive2 { name="MultiDataSet"; version="1.6.0"; sha256="0h187dkqn63m6askai30x31va24hiv4ig0kxvp9xraz7n9zfr24g"; depends=[Biobase BiocGenerics GenomicRanges ggplot2 ggrepel IRanges limma qqman S4Vectors SummarizedExperiment]; };
   MultiMed = derive2 { name="MultiMed"; version="1.12.0"; sha256="1b48iv34bnsbyg7j70kwi8iyikc1hxlcfmaxsc97249dfq71rfab"; depends=[]; };
-  MutationalPatterns = derive2 { name="MutationalPatterns"; version="1.4.2"; sha256="08ay9h5cqsi8ypb6r0g4rfa5l1g06jgfzl64wmhgz134yqbl7vfv"; depends=[BiocGenerics Biostrings cowplot GenomeInfoDb GenomicRanges ggdendro ggplot2 gridExtra IRanges NMF plyr pracma reshape2 S4Vectors SummarizedExperiment VariantAnnotation]; };
+  MutationalPatterns = derive2 { name="MutationalPatterns"; version="1.4.3"; sha256="0ml4gsp5dfv23xqrknxh25q8q65hly1xb1215lcwyc8hj9z8f941"; depends=[BiocGenerics Biostrings cowplot GenomeInfoDb GenomicRanges ggdendro ggplot2 IRanges NMF plyr pracma reshape2 S4Vectors SummarizedExperiment VariantAnnotation]; };
   NADfinder = derive2 { name="NADfinder"; version="1.2.0"; sha256="0npzbgbpwir4jv8h4giar9w8vjy3rivk55bimqd9bq7m83iwqapq"; depends=[baseline BiocGenerics GenomeInfoDb GenomicAlignments GenomicRanges IRanges limma rtracklayer S4Vectors signal SummarizedExperiment trackViewer]; };
   NCIgraph = derive2 { name="NCIgraph"; version="1.26.0"; sha256="094dnqj1gss4dh8hsc8y9k98b0g33n7yy714kjavcd16glp4w7i0"; depends=[graph KEGGgraph R_methodsS3 RBGL RCy3]; };
   NGScopy = derive2 { name="NGScopy"; version="1.12.0"; sha256="1aibq3rbs52vyhcx388p7szax7v8ac023pxayqmn2xq3kzj172ah"; depends=[changepoint rbamtools Xmisc]; };
@@ -501,7 +501,7 @@ in with self; {
   OmicCircos = derive2 { name="OmicCircos"; version="1.16.0"; sha256="13dw36n0lg5cafsrgkgr65al6y7jij2clyf1wzidn05p508i02m3"; depends=[GenomicRanges]; };
   OmicsMarkeR = derive2 { name="OmicsMarkeR"; version="1.10.0"; sha256="0s7zyj3xkr74w0jw604hv3v775kqjpdgks4gkkrkfa3a1xj7xa5b"; depends=[assertive assertive_base caret caTools data_table DiscriMiner e1071 foreach gbm glmnet pamr permute plyr randomForest]; };
   Onassis = derive2 { name="Onassis"; version="1.0.1"; sha256="11sq6f3qcq37i4blml024kb24ifcq1xplklv2i9c55wg299ni620"; depends=[AnnotationDbi data_table GEOmetadb OnassisJavaLibs rJava RSQLite SRAdb]; };
-  OncoScore = derive2 { name="OncoScore"; version="1.6.0"; sha256="02vzvvdnisx3xhr7428xdclgx90apa49h64bvp2h3nsa0vnhnj9l"; depends=[biomaRt]; };
+  OncoScore = derive2 { name="OncoScore"; version="1.6.2"; sha256="0lv3rx92fslikv79cpib839wbhj7v3ad869n50frqylyp6kn5nyg"; depends=[biomaRt]; };
   OncoSimulR = derive2 { name="OncoSimulR"; version="2.8.0"; sha256="1b0myymp38j6fbd4y8ppwmsj8v9w96g8wayc20bcygm16i1zjm5k"; depends=[car data_table dplyr ggplot2 ggrepel graph gtools igraph nem RColorBrewer Rcpp Rgraphviz smatr]; };
   OperaMate = derive2 { name="OperaMate"; version="1.9.0"; sha256="11ah55sl04gm8hq3gkcz3b4shq4dxdpwlwl0wn4j82ciai0k6wsm"; depends=[fBasics ggplot2 gProfileR gridExtra pheatmap reshape2 stabledist]; };
   OrderedList = derive2 { name="OrderedList"; version="1.50.0"; sha256="1sk9ni3vyixb3vwn86vz174lfd7n7rnc8jmm1fx94pjsp9r6sbgr"; depends=[Biobase twilight]; };
@@ -517,7 +517,7 @@ in with self; {
   PCAN = derive2 { name="PCAN"; version="1.6.0"; sha256="0inm1kfi9xvd3jhqivxh4vzc6vsijh1z7fwzsqb35rlbi2cl7snd"; depends=[BiocParallel]; };
   PCpheno = derive2 { name="PCpheno"; version="1.40.0"; sha256="1sgw116qif7w52va7qg8n51a40nvmhybvgr5nxlvgvrwylkhqfai"; depends=[annotate AnnotationDbi Biobase Category GO_db graph GSEABase KEGG_db ppiData ppiStats ScISI SLGI]; };
   PECA = derive2 { name="PECA"; version="1.14.0"; sha256="1c3nbsvng951fsg9vk3yki215f3abgsxqhd025gyvs120nw4c9kv"; depends=[affy aroma_affymetrix aroma_core genefilter limma preprocessCore ROTS]; };
-  PGA = derive2 { name="PGA"; version="1.8.0"; sha256="0x410vnwgdzdkx2i9pqj22mv8jzflswl35a6xkhkr0in47hgz806"; depends=[AnnotationDbi biomaRt Biostrings customProDB data_table GenomicFeatures GenomicRanges ggplot2 IRanges Nozzle_R1 pheatmap RCurl Rsamtools RSQLite rTANDEM rtracklayer S4Vectors stringr VariantAnnotation]; };
+  PGA = derive2 { name="PGA"; version="1.8.1"; sha256="14lm4ab7lib80wmkim4j72n4msmbx7nhlbv349cxrpc9k0dxmycm"; depends=[AnnotationDbi biomaRt Biostrings customProDB data_table GenomicFeatures GenomicRanges ggplot2 IRanges Nozzle_R1 pheatmap RCurl Rsamtools RSQLite rTANDEM rtracklayer S4Vectors stringr VariantAnnotation]; };
   PGSEA = derive2 { name="PGSEA"; version="1.52.0"; sha256="1g0kfhrvq8hv4lpwq3p3p6fkm2bmfjmkfw9312jrwnbjj0hfwd34"; depends=[annaffy AnnotationDbi Biobase GO_db KEGG_db]; };
   PICS = derive2 { name="PICS"; version="2.22.0"; sha256="0jb4hzswiyrqpnazfpd6wd11gdlmv18za7fyr4slxv0rc9rkf8qm"; depends=[BiocGenerics GenomicAlignments GenomicRanges IRanges Rsamtools S4Vectors]; };
   PING = derive2 { name="PING"; version="2.22.0"; sha256="1lvbl3g2m643nypc0nfmhjpfv4zl7qk457kg9i7y7l1lzqwqsk0s"; depends=[BiocGenerics BSgenome chipseq fda GenomicRanges Gviz IRanges PICS S4Vectors]; };
@@ -538,14 +538,14 @@ in with self; {
   PathoStat = derive2 { name="PathoStat"; version="1.4.1"; sha256="1al0h4mw5lsmn4n3d76d8p9px62l4y5c5z78md2zchnam3x9ii78"; depends=[alluvial ape BatchQC BiocStyle corpcor DESeq2 dplyr DT edgeR ggplot2 gtools knitr limma matrixStats MCMCpack pander phyloseq plyr preprocessCore rentrez reshape2 rmarkdown scales shiny tidyr XML]; };
   PathwaySplice = derive2 { name="PathwaySplice"; version="1.0.0"; sha256="1yi302xjf355xi14vx5rl6qyrm35qz9llf48fwrj7ycb41vla0fj"; depends=[AnnotationDbi AnnotationHub BiasedUrn Biobase BiocGenerics DOSE dplyr ensembldb gdata geneLenDataBase GO_db goseq gplots gridExtra htmlwidgets igraph JunctionSeq mgcv org_Hs_eg_db org_Mm_eg_db plotly RColorBrewer reshape2 S4Vectors tibble VennDiagram webshot]; };
   Pbase = derive2 { name="Pbase"; version="0.18.0"; sha256="17ya1mmz8dqrr81vcfy3ygw490bwg26xkj72mcmba17cyy0nv11x"; depends=[AnnotationFilter Biobase BiocGenerics BiocParallel biomaRt Biostrings cleaver ensembldb GenomicRanges Gviz IRanges MSnbase mzID mzR Pviz Rcpp rtracklayer S4Vectors]; };
-  PharmacoGx = derive2 { name="PharmacoGx"; version="1.8.2"; sha256="0w77wpvi4qs8ngf5404m2cgac9zfj4jvkh88xcrz7zmmjmg2wvb9"; depends=[Biobase caTools downloader lsa magicaxis piano RColorBrewer reshape2]; };
+  PharmacoGx = derive2 { name="PharmacoGx"; version="1.8.3"; sha256="1lax2naj6qcjp4fy640m9pflvi2y1aqbsh5m9j2mpphy6a1dlvmh"; depends=[Biobase caTools downloader lsa magicaxis piano RColorBrewer reshape2]; };
   PhenStat = derive2 { name="PhenStat"; version="2.14.0"; sha256="1hjj1i083ihi7c1lc1rrh3k7513xcqpybn3aaivdjw66pi1bg7vp"; depends=[car corrplot ggplot2 graph knitr lme4 logistf MASS msgps nlme nortest pingr reshape SmoothWin]; };
   Pi = derive2 { name="Pi"; version="1.6.2"; sha256="0x3b5cs7r4cjvjjc2gx7xapzlkvg56784aj04zg6271hldpcd84j"; depends=[caret dnet GenomeInfoDb GenomicRanges ggbio ggplot2 ggrepel glmnet Gviz igraph lattice MASS Matrix plot3D randomForest ROCR scales supraHex XGR]; };
-  Pigengene = derive2 { name="Pigengene"; version="1.4.2"; sha256="15wnq91k360jblns36dgx4a24jk6a7rwkj342ja0sgfc6kvwvvqb"; depends=[bnlearn C50 GO_db graph impute MASS matrixStats partykit pheatmap preprocessCore Rgraphviz WGCNA]; };
+  Pigengene = derive2 { name="Pigengene"; version="1.4.20"; sha256="13pzgzls2k48h31h25n2rw028n97xaxfxlb4dq49ndwy5874cbzb"; depends=[bnlearn C50 GO_db graph impute MASS matrixStats partykit pheatmap preprocessCore Rgraphviz WGCNA]; };
   Polyfit = derive2 { name="Polyfit"; version="1.12.0"; sha256="1gkn6g5hwa8ss156armxam9ky5fd7dj0k3gh1b0gy5plpzzyzv1h"; depends=[DESeq]; };
   Prize = derive2 { name="Prize"; version="1.8.0"; sha256="1vaf4n69pb2sa6fd79988picz08d3c46cjmxfr5qf7hxay9lbwc6"; depends=[diagram ggplot2 gplots matrixcalc reshape2 stringr]; };
   ProCoNA = derive2 { name="ProCoNA"; version="1.16.0"; sha256="06jlzcr9b6nfrlgb1wqxp7r2z8042ygjx4d2z7jzg07hqn3gymjz"; depends=[BiocGenerics flashClust GOstats MSnbase WGCNA]; };
-  Prostar = derive2 { name="Prostar"; version="1.10.4"; sha256="12kdq40qnd7a1x0qcwfjiim03sh5hi9pix61mwdmmq0zc7pg54s3"; depends=[DAPAR DAPARdata data_table DT highcharter htmlwidgets rhandsontable shiny shinyAce shinyjs webshot]; };
+  Prostar = derive2 { name="Prostar"; version="1.10.5"; sha256="1z9qli85if894j6s4a21yq6990hamz3ql1399m2wjjzka3w8kd29"; depends=[DAPAR DAPARdata data_table DT highcharter htmlwidgets rhandsontable shiny shinyAce shinyjs webshot]; };
   ProtGenerics = derive2 { name="ProtGenerics"; version="1.10.0"; sha256="16ijp50448wnabp43klx943rhdvh7x45hvy7cnpq1s4dckxhhyni"; depends=[]; };
   ProteomicsAnnotationHubData = derive2 { name="ProteomicsAnnotationHubData"; version="1.8.0"; sha256="1myd5gqr3nmbp6f1n7ilp6qjcfgm401frm4ldvxbjyppxh6m1wh5"; depends=[AnnotationHub AnnotationHubData Biobase BiocInstaller Biostrings GenomeInfoDb MSnbase mzR RCurl]; };
   PureCN = derive2 { name="PureCN"; version="1.8.1"; sha256="12wpqwz771vzz5yad67d9j1jhgi5ccxngyqcjcddqwsiws65prwc"; depends=[BiocGenerics Biostrings data_table DNAcopy edgeR futile_logger GenomeInfoDb GenomicFeatures GenomicRanges ggplot2 IRanges limma RColorBrewer Rsamtools rtracklayer S4Vectors SummarizedExperiment VariantAnnotation VGAM]; };
@@ -562,7 +562,7 @@ in with self; {
   RBGL = derive2 { name="RBGL"; version="1.54.0"; sha256="18jad23i3899ypv4bg3l47cvvs3qnj1pqis2p9x0135yv5y6wnv7"; depends=[graph]; };
   RBM = derive2 { name="RBM"; version="1.10.0"; sha256="1nqmf9yiaam767f2wkwggnw6v0rymszx7chnkis0xbdsllzqb0j4"; depends=[limma marray]; };
   RBioinf = derive2 { name="RBioinf"; version="1.38.0"; sha256="01qk9ddk8bm9sl70rlwgmrkz2y7dnqzrhi13hhh0ii62s0z0gdwh"; depends=[graph]; };
-  RCAS = derive2 { name="RCAS"; version="1.4.2"; sha256="0d8mm3f0lxdvngldlazql2vcfv3w7172ari0g2lp3cj101d7pyd3"; depends=[AnnotationDbi BiocGenerics biomaRt Biostrings BSgenome_Hsapiens_UCSC_hg19 cowplot data_table DBI DT genomation GenomeInfoDb GenomicFeatures GenomicRanges ggplot2 ggseqlogo knitr motifRG org_Hs_eg_db pbapply pheatmap plotly plotrix proxy rmarkdown RSQLite rtracklayer S4Vectors topGO]; };
+  RCAS = derive2 { name="RCAS"; version="1.4.4"; sha256="0jnrikh0qhpxgjc6rdgfj9d57x4i5b40wxx7lfafrxdxg60qsy1g"; depends=[AnnotationDbi BiocGenerics biomaRt Biostrings BSgenome_Hsapiens_UCSC_hg19 cowplot data_table DBI DT genomation GenomeInfoDb GenomicFeatures GenomicRanges ggplot2 ggseqlogo knitr motifRG org_Hs_eg_db pbapply pheatmap plotly plotrix proxy rmarkdown RSQLite rtracklayer S4Vectors topGO]; };
   RCASPAR = derive2 { name="RCASPAR"; version="1.24.0"; sha256="1v19pv81q0g965mks88ablznzhcdk3kfd7j2dgxx4r12bl1afawg"; depends=[]; };
   RCy3 = derive2 { name="RCy3"; version="1.8.0"; sha256="09p66zxh82j5pcjz1zn3cg43rpsp0gnkwja836m6g1i450zrialv"; depends=[graph httr RCurl RJSONIO]; };
   RCyjs = derive2 { name="RCyjs"; version="1.10.0"; sha256="0vlyh32byw49j3vfw0avknixflpjs5h599xxlbf2zc6irvncg1wg"; depends=[base64enc BiocGenerics BrowserViz graph httpuv igraph jsonlite Rcpp]; };
@@ -577,19 +577,19 @@ in with self; {
   RIPSeeker = derive2 { name="RIPSeeker"; version="1.18.0"; sha256="0bqkzwrncww7il36273chkd3gfxmii7p566ycki9qij419pwr35y"; depends=[GenomicAlignments GenomicRanges IRanges Rsamtools rtracklayer S4Vectors SummarizedExperiment]; };
   RITAN = derive2 { name="RITAN"; version="1.2.0"; sha256="199kddc19fwkfgqnbhx7v4sl5h6lj6f3wqs5xy9f9n9bg09f5rrf"; depends=[BgeeDB dynamicTreeCut ggplot2 gplots gridExtra gsubfn hash igraph knitr linkcomm MCL plotrix png ProNet RColorBrewer reshape2 RITANdata sqldf STRINGdb]; };
   RIVER = derive2 { name="RIVER"; version="1.2.0"; sha256="00j9i0hrn0j2i5rxgsax3ixj8pwm2ks9fyvp657yd5amm1vackxq"; depends=[Biobase ggplot2 glmnet pROC]; };
-  RImmPort = derive2 { name="RImmPort"; version="1.6.0"; sha256="1fj69k1mb0gbajsiah23azp0ina3wvc43ghr6866glqcfh4xckj7"; depends=[data_table DBI dplyr plyr reshape2 RSQLite sqldf]; };
+  RImmPort = derive2 { name="RImmPort"; version="1.7.2"; sha256="0h3r7q7lfl4z7srmallaldljv2231j3zhxy0d4x9q7ghcfglfnbf"; depends=[data_table DBI dplyr plyr reshape2 RSQLite sqldf]; };
   RJMCMCNucleosomes = derive2 { name="RJMCMCNucleosomes"; version="1.2.0"; sha256="0xjscfbxrrfnd40dmzhrrly0v3pk1k33jdl4z19bslh89gmrmygr"; depends=[BiocGenerics BiocParallel consensusSeekeR GenomeInfoDb GenomicRanges IRanges Rcpp S4Vectors]; };
   RLMM = derive2 { name="RLMM"; version="1.40.0"; sha256="01mbk00fbhzldivxlr5jfy1fgfrdbd657lya3s3p7zxw7z0054a0"; depends=[MASS]; };
   RMassBank = derive2 { name="RMassBank"; version="2.6.0"; sha256="1yfnj64ybl95a7bc4980i5h6cvs2hq3nkmj9dklarcp9wfw5p59w"; depends=[Biobase digest MSnbase mzR rcdk Rcpp RCurl rjson S4Vectors XML yaml]; };
   RNASeqPower = derive2 { name="RNASeqPower"; version="1.18.0"; sha256="08x58sd6q5xm47ix2f1kkqpgyk10nnbf994i4m1wia8fjhx0hdkm"; depends=[]; };
   RNAinteract = derive2 { name="RNAinteract"; version="1.26.0"; sha256="1cscf2izpx924ai0vian9mm528mn1k618zqscss7mry13ik78p3c"; depends=[abind Biobase cellHTS2 geneplotter gplots hwriter ICS ICSNP lattice latticeExtra limma locfit RColorBrewer splots]; };
-  RNAither = derive2 { name="RNAither"; version="2.26.0"; sha256="1dyxmk0j319822qf0wwd41xw7v9qdahixkhmsbv3qp6203hp49w5"; depends=[biomaRt car geneplotter limma prada RankProd splots topGO]; };
+  RNAither = derive2 { name="RNAither"; version="2.26.1"; sha256="0fs3kab20h77d00kg48rdgslj3fsmnl73qi740sa7xmwx6ra5lc7"; depends=[biomaRt car geneplotter limma prada RankProd splots topGO]; };
   RNAprobR = derive2 { name="RNAprobR"; version="1.10.0"; sha256="0lq0cf5g004w2gi8rs29rhdy3p49njmwnw5jhfijfj4hgkgc6caf"; depends=[BiocGenerics Biostrings GenomicAlignments GenomicFeatures GenomicRanges IRanges plyr Rsamtools rtracklayer S4Vectors]; };
   ROC = derive2 { name="ROC"; version="1.54.0"; sha256="0a60k93q0zsmj2s4gy9wgzpd5yl9xdv2g62m18z4s4dmr3ykwsdv"; depends=[]; };
   ROTS = derive2 { name="ROTS"; version="1.6.0"; sha256="12dqbwqiiz21im45iqf41nm25anf0fffip86glpydwwc0km054jh"; depends=[Biobase Rcpp]; };
   ROntoTools = derive2 { name="ROntoTools"; version="2.6.0"; sha256="0lxxqa8syanb9v4nzc93arlwg65zyf4hkgxgw6q4h62mxkabdp0d"; depends=[boot graph KEGGgraph KEGGREST Rgraphviz]; };
   RPA = derive2 { name="RPA"; version="1.34.0"; sha256="1s5d8wpy3n69f9lnsi8avwalbzzvi7v8np6bv3vcnxy3nfx0iqx3"; depends=[affy BiocGenerics phyloseq]; };
-  RProtoBufLib = derive2 { name="RProtoBufLib"; version="1.0.1"; sha256="1a8psx12hwbzybkd92k9n3351g24fqqxrmq5x3sln62z2f0c7psw"; depends=[]; };
+  RProtoBufLib = derive2 { name="RProtoBufLib"; version="1.0.2"; sha256="14hs5mam4yjcm00zqz5fgmgxzwhw45fniaihch2mwrb6kbys2y68"; depends=[]; };
   RRHO = derive2 { name="RRHO"; version="1.18.0"; sha256="1nz643k6bahg1bizw5bgjkpv2hd7hpi87s4kh1z38jqfpfixw9lk"; depends=[VennDiagram]; };
   RSVSim = derive2 { name="RSVSim"; version="1.18.0"; sha256="0f2fv2cxwhsl6gvz3dpgk55faymdwxyry6lr3l6f2s8f6rqpnzgf"; depends=[Biostrings GenomicRanges IRanges ShortRead]; };
   RTCA = derive2 { name="RTCA"; version="1.30.0"; sha256="0y2vrqfr4qjgsq8f82a5xnfhm835wi5zqf1xlxrv4mpxm9f9jr38"; depends=[Biobase gtools RColorBrewer]; };
@@ -610,7 +610,7 @@ in with self; {
   Rariant = derive2 { name="Rariant"; version="1.14.0"; sha256="1kfw2gfvdgzi5ldarmmwnksgg256vfaripcridlsb2pgwzay52k4"; depends=[dplyr exomeCopy GenomeInfoDb GenomicRanges ggbio ggplot2 IRanges reshape2 Rsamtools S4Vectors shiny SomaticSignatures VariantAnnotation VGAM]; };
   RbcBook1 = derive2 { name="RbcBook1"; version="1.46.0"; sha256="0qj8zvhq9cq3akdl6zpspvvz9jlvc0lxrn4ap7qd984406jihyg4"; depends=[Biobase graph rpart]; };
   Rbowtie = derive2 { name="Rbowtie"; version="1.18.0"; sha256="0v3x9i6wmps7x0zpvgimzfwarg4246nbk4cpa1kim46r5jkl5m4v"; depends=[]; };
-  Rbowtie2 = derive2 { name="Rbowtie2"; version="1.0.1"; sha256="1xplrih6sijbwj24k4lb0cml5pmyszmw5jzkaii5m3vign6m7wmh"; depends=[]; };
+  Rbowtie2 = derive2 { name="Rbowtie2"; version="1.0.2"; sha256="1cc2z55qzp3psnhii0d71dmb71d0s3wzl8dsyxyxcr95clp4irsi"; depends=[]; };
   Rcade = derive2 { name="Rcade"; version="1.20.0"; sha256="0awsdg6wfm6hykj96s8cgz2mhn2i4jl1yabg7xfj0nmd776gv5fa"; depends=[baySeq GenomeInfoDb GenomicAlignments GenomicRanges IRanges plotrix rgl Rsamtools S4Vectors]; };
   Rchemcpp = derive2 { name="Rchemcpp"; version="2.16.0"; sha256="1k5rgk944x0xy0y7l4fba1gfbiq6vnpbgmwwm520vv061v9g72nz"; depends=[ChemmineR Rcpp]; };
   RchyOptimyx = derive2 { name="RchyOptimyx"; version="2.18.0"; sha256="0lghahggrh3142rn9f2rnh517740d62bh7rc97zd2sjk3rfdb761"; depends=[flowType graph Rgraphviz sfsmisc]; };
@@ -628,11 +628,11 @@ in with self; {
   Rhdf5lib = derive2 { name="Rhdf5lib"; version="1.0.0"; sha256="0kkc4rprjbqn2wvbx4d49kk9l91vihccxbl4843qr1wqk6v33r1w"; depends=[]; };
   Rhtslib = derive2 { name="Rhtslib"; version="1.10.0"; sha256="1dw3p44bfr0m7w39ckc2k37sjcp1zz0b9g12mr8am15jaj6v0q2j"; depends=[zlibbioc]; };
   RiboProfiling = derive2 { name="RiboProfiling"; version="1.7.2"; sha256="0yygf098phiakaj8c74c337gbwpd0dh4haabbg2qq1k0qjw4prmp"; depends=[BiocGenerics Biostrings data_table GenomeInfoDb GenomicAlignments GenomicFeatures GenomicRanges ggbio ggplot2 IRanges plyr reshape2 Rsamtools rtracklayer S4Vectors sqldf]; };
-  Ringo = derive2 { name="Ringo"; version="1.42.0"; sha256="174zcz86x43yrg9wl1wwdhammgyxhfc3aqas3yqgrdq7vdsnxzxq"; depends=[Biobase BiocGenerics genefilter lattice limma Matrix RColorBrewer vsn]; };
+  Ringo = derive2 { name="Ringo"; version="1.42.1"; sha256="12r4bcn2sivcp68rd7jr4w4a8yz7xdydwx6bv1mi2lp2s2mzf5c5"; depends=[Biobase BiocGenerics genefilter lattice limma Matrix RColorBrewer vsn]; };
   Risa = derive2 { name="Risa"; version="1.20.0"; sha256="10ypbd9qwh1rk27fwm8naf3gl05w9zlw79qyr55pk5m6x5lnn9cb"; depends=[affy Biobase biocViews Rcpp xcms]; };
   Rmagpie = derive2 { name="Rmagpie"; version="1.34.0"; sha256="1hvv8pps0q7xnsl33rammqvyj191j5gs78r2333jgscxnw4byqb7"; depends=[Biobase e1071 kernlab pamr]; };
   RmiR = derive2 { name="RmiR"; version="1.34.0"; sha256="10n8i7qirbd8xrb73ccxyj7c6bi1szx263nwjh8w2j9x4dgzx22x"; depends=[DBI RmiR_Hs_miRNA RSVGTipsDevice]; };
-  RnBeads = derive2 { name="RnBeads"; version="1.10.7"; sha256="1rlxa161sgbz7p59svihk2ym70d1c5yi02rcajgp0fraf8ln8xhc"; depends=[BiocGenerics cluster ff fields GenomicRanges ggplot2 gplots gridExtra illuminaio IRanges limma MASS matrixStats methylumi plyr S4Vectors]; };
+  RnBeads = derive2 { name="RnBeads"; version="1.10.8"; sha256="1kawb781y7pscbmll69pzk4gnb0xz3s8llj3icy3c8y0arkg98xz"; depends=[BiocGenerics cluster ff fields GenomicRanges ggplot2 gplots gridExtra illuminaio IRanges limma MASS matrixStats methylumi plyr S4Vectors]; };
   RnaSeqGeneEdgeRQL = derive2 { name="RnaSeqGeneEdgeRQL"; version="1.1.0"; sha256="06i2fy89wck0jhpc174d81ka7jim8gjamjk0ym1j0fh3ldiw9yvm"; depends=[edgeR GO_db gplots org_Mm_eg_db]; };
   RnaSeqSampleSize = derive2 { name="RnaSeqSampleSize"; version="1.10.0"; sha256="1r0bn121bf5fcp4im4hm2c6rccgf7fb1vvxj2iri8ippc2k60d2c"; depends=[biomaRt edgeR heatmap3 KEGGREST matlab Rcpp RnaSeqSampleSizeData]; };
   Rnits = derive2 { name="Rnits"; version="1.12.0"; sha256="00ddzbjms9wpiinc021s4b50wbzdafnml96ngsmi7rd8ipr3k3vp"; depends=[affy Biobase boot ggplot2 impute limma qvalue reshape2]; };
@@ -655,7 +655,7 @@ in with self; {
   SICtools = derive2 { name="SICtools"; version="1.8.0"; sha256="0n3m3435wa95mld4b57hr31rfhlk41yw1qqi1jdnybkqgdndpqf8"; depends=[Biostrings doParallel GenomicRanges IRanges matrixStats plyr Rsamtools stringr]; };
   SIM = derive2 { name="SIM"; version="1.48.0"; sha256="1n207w5idd2v515v8ppsfx7q1wvn2zxy6if7dp2hpr0x2qvxijnf"; depends=[globaltest quantreg quantsmooth]; };
   SIMAT = derive2 { name="SIMAT"; version="1.10.0"; sha256="0gd99p8kjf1wn0xygdyppxgddp9bnp3a3grg8za2mmm8xv5r990h"; depends=[ggplot2 mzR Rcpp reshape2]; };
-  SIMLR = derive2 { name="SIMLR"; version="1.4.0"; sha256="1sfd32qd39wy8a1206xkazbmvkqwhs09p7fhdn8n59xf56914pfa"; depends=[Matrix pracma Rcpp RcppAnnoy RSpectra]; };
+  SIMLR = derive2 { name="SIMLR"; version="1.4.1"; sha256="09siwqc57f0rfx0297hk2jbpvvayhk47wkvapz2ap621ya203b0z"; depends=[Matrix pracma Rcpp RcppAnnoy RSpectra]; };
   SISPA = derive2 { name="SISPA"; version="1.8.0"; sha256="18v8fw3l4pxh4fi18fhnqxbd1hlhp2w36s31vf58ffldq3bz1bpb"; depends=[changepoint data_table genefilter ggplot2 GSVA plyr]; };
   SLGI = derive2 { name="SLGI"; version="1.38.0"; sha256="1p0lwzmzz820npnsw9sk6x12innc39qv0ja0di7rplkmsi60z92j"; depends=[AnnotationDbi Biobase BiocGenerics GO_db lattice ScISI]; };
   SLqPCR = derive2 { name="SLqPCR"; version="1.44.0"; sha256="16kvssib1j4d5cn3b350ip2m9m7fcsgm1mgq13wbfnwcd6sx52kb"; depends=[]; };
@@ -669,7 +669,7 @@ in with self; {
   SPEM = derive2 { name="SPEM"; version="1.18.0"; sha256="05gpj1fykiw8xjcbd6splqkb8jsyksnhzl6g6pzinpbczhslq55a"; depends=[Biobase Rsolnp]; };
   SPIA = derive2 { name="SPIA"; version="2.30.0"; sha256="0m2vv6zj0vgd98w2jrlbwbyn998ml2i2wr9160gmq5h77rn91xq3"; depends=[KEGGgraph]; };
   SPLINTER = derive2 { name="SPLINTER"; version="1.4.0"; sha256="06xamivcwlpwj6n8c3wzgd5ykh21q2mrdl7zz1bnicq5npha99l9"; depends=[biomaRt Biostrings BSgenome_Mmusculus_UCSC_mm9 GenomeInfoDb GenomicAlignments GenomicFeatures GenomicRanges ggplot2 Gviz IRanges plyr S4Vectors seqLogo]; };
-  SPONGE = derive2 { name="SPONGE"; version="1.0.2"; sha256="100gbcysmf3fhn22zmvvx2sck6hhfgc7ar782l822vbsig1vnyk9"; depends=[bigmemory Biobase data_table doRNG expm foreach glmnet gRbase igraph iterators logging MASS ppcor]; };
+  SPONGE = derive2 { name="SPONGE"; version="1.0.3"; sha256="1jb7nwji4j9kvnx40hr26qhcn3pbmjaahl4cpvqbljs9pmi9lfdy"; depends=[bigmemory Biobase data_table doRNG expm foreach glmnet gRbase igraph iterators logging MASS ppcor]; };
   SQUADD = derive2 { name="SQUADD"; version="1.28.0"; sha256="1z139p0xbaq4gvd9acxnd8dlapdsiaab1fj10pc7wx2iz4dj9zd6"; depends=[RColorBrewer]; };
   SRAdb = derive2 { name="SRAdb"; version="1.40.0"; sha256="18aayqid2fhhkjf7anlk34qw3fj3byxsxcrw2lmq4s4mqq06k5vh"; depends=[GEOquery graph RCurl RSQLite]; };
   SRGnet = derive2 { name="SRGnet"; version="1.4.0"; sha256="1a2as38svd6vp6pdllir4gs6jqicg7n7ya42ffjgiy2rpnyijbci"; depends=[DMwR EBcoexpress gbm Hmisc igraph limma MASS matrixStats pvclust]; };
@@ -688,8 +688,8 @@ in with self; {
   SeqArray = derive2 { name="SeqArray"; version="1.18.2"; sha256="05w051i63af4akr6zna9w14bdyi06bpif0vab9yvf6iwq2ag72kz"; depends=[Biostrings gdsfmt GenomeInfoDb GenomicRanges IRanges S4Vectors]; };
   SeqGSEA = derive2 { name="SeqGSEA"; version="1.18.0"; sha256="1vaqa6jkvwxpbqnz9wz3i6p26mky6d7d704cjv5as67j04v99b2a"; depends=[Biobase biomaRt DESeq doParallel]; };
   SeqSQC = derive2 { name="SeqSQC"; version="1.0.0"; sha256="0qj1y9zsjxkh08jkw80hl62072viincq1pvcz9r3i0m28nhk7pg5"; depends=[e1071 ExperimentHub gdsfmt GenomicRanges GGally ggplot2 IRanges rbokeh RColorBrewer reshape2 rmarkdown S4Vectors SNPRelate]; };
-  SeqVarTools = derive2 { name="SeqVarTools"; version="1.16.0"; sha256="14n70xzj91f4rshl0kx549rqzy9rrv5mv0b0xvj891i8anxahb2n"; depends=[Biobase dplyr gdsfmt GenomicRanges GWASExactHW IRanges logistf S4Vectors SeqArray tidyr]; };
-  ShortRead = derive2 { name="ShortRead"; version="1.36.0"; sha256="06mknlsmd4hnaxzdjapgvp2kgdnf9w103y500dsac5jgsz4vwzcz"; depends=[Biobase BiocGenerics BiocParallel Biostrings GenomeInfoDb GenomicAlignments GenomicRanges hwriter IRanges lattice latticeExtra Rsamtools S4Vectors XVector zlibbioc]; };
+  SeqVarTools = derive2 { name="SeqVarTools"; version="1.16.1"; sha256="0vjgksqyapvkdbnl3af0sjbbraslyc6m7f63sl05m87zdkav8fzz"; depends=[Biobase dplyr gdsfmt GenomicRanges GWASExactHW IRanges logistf S4Vectors SeqArray tidyr]; };
+  ShortRead = derive2 { name="ShortRead"; version="1.36.1"; sha256="1cyv47632m9ljkxfsvnvmd19sb607ys5kz8fwh6v39dnw16g0a6m"; depends=[Biobase BiocGenerics BiocParallel Biostrings GenomeInfoDb GenomicAlignments GenomicRanges hwriter IRanges lattice latticeExtra Rsamtools S4Vectors XVector zlibbioc]; };
   SigCheck = derive2 { name="SigCheck"; version="2.10.0"; sha256="1k2xmb7jcjbdxafr8fspf9pbc0jwcll914lqc42gvhhjq6rnf8q4"; depends=[Biobase BiocParallel e1071 MLInterfaces survival]; };
   SigFuge = derive2 { name="SigFuge"; version="1.16.0"; sha256="0ddy6bayb05gsgh06p5awhjwyx57z0l8fb5x6p0dci2fgzy6gr4f"; depends=[GenomicRanges ggplot2 matlab reshape sigclust]; };
   SimBindProfiles = derive2 { name="SimBindProfiles"; version="1.16.0"; sha256="0jkd78wl5ksm05qjmsx7s8aznh3kfpi34yvxaxv763pqjqzkxa82"; depends=[Biobase limma mclust Ringo]; };
@@ -708,7 +708,7 @@ in with self; {
   SwimR = derive2 { name="SwimR"; version="1.16.0"; sha256="033hh3bpkn6qladvn7iz0fvrbphffzy1rkvmi0j32v9n9h88lizz"; depends=[gplots heatmap_plus R2HTML signal]; };
   TCC = derive2 { name="TCC"; version="1.18.0"; sha256="10nmha786k85jr93vbnlsxkrr2wiykxa5rl2z5ry49w14fis82m5"; depends=[baySeq DESeq DESeq2 edgeR ROC samr]; };
   TCGAbiolinks = derive2 { name="TCGAbiolinks"; version="2.6.12"; sha256="0pih8jpzffsjlhamfpvgcapa48dq2m86f4hxqr5m5z4vgjd7j1mv"; depends=[biomaRt circlize ComplexHeatmap ConsensusClusterPlus data_table doParallel downloader dplyr EDASeq edgeR genefilter GenomeInfoDb GenomicFeatures GenomicRanges ggplot2 ggrepel ggthemes gridExtra httr IRanges jsonlite knitr limma matlab plyr R_utils RColorBrewer readr rvest S4Vectors scales selectr stringr SummarizedExperiment survival survminer sva tibble XML xml2]; };
-  TCGAbiolinksGUI = derive2 { name="TCGAbiolinksGUI"; version="1.4.2"; sha256="1g81w346lvws8bcm8w94b1r3jjr1zfg5ln80p0rq69gzv9hkdjyw"; depends=[clusterProfiler colourpicker data_table downloader DT ELMER ggplot2 ggrepel maftools pathview plotly readr shiny shinyBS shinydashboard shinyFiles shinyjs stringr SummarizedExperiment TCGAbiolinks]; };
+  TCGAbiolinksGUI = derive2 { name="TCGAbiolinksGUI"; version="1.4.7"; sha256="1hwq13rsynxv18pzahq54107n2dm0wgbh7a5xizda4zqgf4s50gj"; depends=[clusterProfiler colourpicker data_table downloader DT ELMER ggplot2 ggrepel maftools pathview plotly readr shiny shinyBS shinydashboard shinyFiles shinyjs stringr SummarizedExperiment TCGAbiolinks]; };
   TCseq = derive2 { name="TCseq"; version="1.2.0"; sha256="07wbp4caw18g1mf5h40i1c1y7jadfqmx3p7a8zz5rjjibsfa2bw1"; depends=[BiocGenerics cluster e1071 edgeR GenomicAlignments GenomicRanges ggplot2 IRanges locfit reshape2 Rsamtools SummarizedExperiment]; };
   TDARACNE = derive2 { name="TDARACNE"; version="1.28.0"; sha256="0agzpgz39ya46kgnz95ff2h0hml2mb14fb3pdj218adas24zq9jf"; depends=[Biobase GenKern Rgraphviz]; };
   TEQC = derive2 { name="TEQC"; version="3.18.0"; sha256="0rnqlk677hcf2w3whc9gdqm21gjqf4rsanaw8a847jc7li8isnpj"; depends=[Biobase BiocGenerics hwriter IRanges Rsamtools]; };
@@ -718,7 +718,7 @@ in with self; {
   TIN = derive2 { name="TIN"; version="1.10.0"; sha256="16lv7k4js3zbak0b1m2mlimd1f56gif3vlm2hpc5vx1y315mz9gd"; depends=[aroma_affymetrix data_table impute squash stringr WGCNA]; };
   TMixClust = derive2 { name="TMixClust"; version="1.0.1"; sha256="1mv9hv5hjg55mwbp824n5b74w8zcb9sv8a1wa6hxmfb00n6wcr4h"; depends=[Biobase BiocParallel cluster flexclust gss mvtnorm SPEM zoo]; };
   TPP = derive2 { name="TPP"; version="3.6.0"; sha256="1gma7lfnq1ybcqnl9536wv22advjaqxmysfgamrgn38zwbcwhdi9"; depends=[Biobase biobroom broom data_table doParallel dplyr foreach futile_logger ggplot2 gridExtra knitr limma magrittr MASS mefa nls2 openxlsx plyr purrr RColorBrewer RCurl reshape2 rmarkdown sme stringr tidyr VennDiagram VGAM]; };
-  TRONCO = derive2 { name="TRONCO"; version="2.10.0"; sha256="1lvzfx75z50r8kd3yrcjwzvsg16yi5644rz90bm1l6hpkmw2wcpf"; depends=[bnlearn cgdsr circlize doParallel foreach gridExtra gtable gtools igraph iterators R_matlab RColorBrewer Rgraphviz scales xtable]; };
+  TRONCO = derive2 { name="TRONCO"; version="2.10.3"; sha256="1kw4j57wri0sm3piinq169pkljfb3ff4vcj1ify2il2pl7va94l4"; depends=[bnlearn cgdsr circlize doParallel foreach gridExtra gtable gtools igraph iterators R_matlab RColorBrewer Rgraphviz scales xtable]; };
   TReNA = derive2 { name="TReNA"; version="0.99.10"; sha256="1yiq953w6830v1fba4gglnf485m6lis11qlpp9g1jw0x4s0rpg70"; depends=[DBI doParallel flare foreach GenomicRanges glmnet lassopv randomForest RPostgreSQL RSQLite vbsr]; };
   TSCAN = derive2 { name="TSCAN"; version="1.16.0"; sha256="0m88r5yg46ra8k6ymzfrk68fqbg2y47kshzgj5flblbay079hnxg"; depends=[combinat fastICA ggplot2 gplots igraph mclust mgcv plyr shiny]; };
   TSRchitect = derive2 { name="TSRchitect"; version="1.4.0"; sha256="0qymyjmzpi1n5fpyzw8riz32kwsc2bi1cw3sx9sxvpvhjk45dmyx"; depends=[AnnotationHub BiocGenerics BiocParallel GenomeInfoDb GenomicAlignments GenomicRanges gtools IRanges Rsamtools rtracklayer S4Vectors SummarizedExperiment]; };
@@ -742,7 +742,7 @@ in with self; {
   VariantTools = derive2 { name="VariantTools"; version="1.20.0"; sha256="1ma1qs9n606a5gjcm8l9fna8vfg5f8ixdzriwaalhys22pyjgqsy"; depends=[Biobase BiocGenerics BiocParallel Biostrings BSgenome GenomeInfoDb GenomicFeatures GenomicRanges IRanges Matrix Rsamtools rtracklayer S4Vectors VariantAnnotation]; };
   Vega = derive2 { name="Vega"; version="1.26.0"; sha256="1kya7h7xa47d7l3svkpnkwjg49izpjfird5fjja6490ynr1a55yd"; depends=[]; };
   VegaMC = derive2 { name="VegaMC"; version="3.16.0"; sha256="1lmgmaf4andfxv2z4h2pahyggnic5wj61llzkm8q4k0q7i50l63i"; depends=[Biobase biomaRt genoset]; };
-  XBSeq = derive2 { name="XBSeq"; version="1.8.0"; sha256="07123c1wd3l7lj29kaa0d83dlv7zsrx8gk8aag7g0h8k9vlhcni4"; depends=[Biobase DESeq2 dplyr ggplot2 locfit magrittr matrixStats pracma roar]; };
+  XBSeq = derive2 { name="XBSeq"; version="1.10.0"; sha256="0p2f2wckndgrsf0jjcag22i6bgrn2ky78ngdk9c5cvqnxwjcfagz"; depends=[Biobase DESeq2 dplyr ggplot2 locfit magrittr matrixStats pracma roar]; };
   XDE = derive2 { name="XDE"; version="2.24.0"; sha256="11g74znfafp03q710mhmzgxap6f7j04b75jhm7x6lmd6cbwqh25p"; depends=[Biobase BiocGenerics genefilter GeneMeta gtools MergeMaid mvtnorm RColorBrewer siggenes]; };
   XVector = derive2 { name="XVector"; version="0.18.0"; sha256="1i4i3kdxr78lr1kcxq657p11ybi7kq10c8kyaqyh6gfc8i9rhvmk"; depends=[BiocGenerics IRanges S4Vectors zlibbioc]; };
   YAPSA = derive2 { name="YAPSA"; version="1.4.0"; sha256="0jv940xdqrbb8hw13nm6cky767zn9k8wh6sh5vz5b7hgh7c75kww"; depends=[circlize ComplexHeatmap corrplot dendextend GenomeInfoDb GenomicRanges GetoptLong ggplot2 gridExtra gtrellis KEGGREST lsei PMCMR reshape2 SomaticSignatures VariantAnnotation]; };
@@ -776,11 +776,11 @@ in with self; {
   anamiR = derive2 { name="anamiR"; version="1.6.1"; sha256="0mxpxangzbvx7rpzm4ak321pcgj6pa0nbslgvh8rplyz4sf6v0z6"; depends=[agricolae DBI DESeq2 gage gplots limma lumi RMySQL S4Vectors SummarizedExperiment]; };
   annaffy = derive2 { name="annaffy"; version="1.50.0"; sha256="0qprkcvq56h6dwcylqsa0dq0nmv5bk280j89cwa3brm4jfncs4hm"; depends=[AnnotationDbi Biobase DBI GO_db KEGG_db]; };
   annmap = derive2 { name="annmap"; version="1.20.0"; sha256="0q4lcx1j5av5jpn2wmarn7z32clzzdaprvpcagnvv453i11vp5bi"; depends=[Biobase BiocGenerics DBI digest genefilter GenomicRanges IRanges lattice RMySQL Rsamtools]; };
-  annotate = derive2 { name="annotate"; version="1.56.1"; sha256="14c5xd9kasvcwg5gbjys2c1vizxhlqlzxakqc2kml0kw97hmx0rq"; depends=[AnnotationDbi Biobase BiocGenerics DBI RCurl XML xtable]; };
+  annotate = derive2 { name="annotate"; version="1.56.2"; sha256="0ybg9k1s289h15nj1kp9821i1rsk1gkn8i8blplmk7gsgpbw1f42"; depends=[AnnotationDbi Biobase BiocGenerics DBI RCurl XML xtable]; };
   annotationTools = derive2 { name="annotationTools"; version="1.52.0"; sha256="1kmhgasb26dbq10d4r8wig5pjlbiqcqsa12zpgcsasj8kvpr2gpd"; depends=[Biobase]; };
   annotatr = derive2 { name="annotatr"; version="1.4.1"; sha256="10izqb0x92fjpsycsyppvz6yidg8ssix452jfni692na7ih564y9"; depends=[AnnotationDbi AnnotationHub dplyr GenomeInfoDb GenomicFeatures GenomicRanges ggplot2 IRanges org_Dm_eg_db org_Hs_eg_db org_Mm_eg_db org_Rn_eg_db readr regioneR reshape2 rtracklayer S4Vectors TxDb_Dmelanogaster_UCSC_dm3_ensGene TxDb_Dmelanogaster_UCSC_dm6_ensGene TxDb_Hsapiens_UCSC_hg19_knownGene TxDb_Hsapiens_UCSC_hg38_knownGene TxDb_Mmusculus_UCSC_mm10_knownGene TxDb_Mmusculus_UCSC_mm9_knownGene TxDb_Rnorvegicus_UCSC_rn4_ensGene TxDb_Rnorvegicus_UCSC_rn5_refGene TxDb_Rnorvegicus_UCSC_rn6_refGene]; };
   anota = derive2 { name="anota"; version="1.26.0"; sha256="1fvr9yvyf0m7m5dnfbzbm29kd1yqq78carv9v7xx60szi30w4lvq"; depends=[multtest qvalue]; };
-  anota2seq = derive2 { name="anota2seq"; version="1.0.0"; sha256="1pcmjlnvx3g2209l54jcbw044k6iz9zch3l01d1vr1cxiqag8smh"; depends=[DESeq2 edgeR limma multtest qvalue RColorBrewer SummarizedExperiment]; };
+  anota2seq = derive2 { name="anota2seq"; version="1.0.1"; sha256="0fya2plqvpmypm3jf6mwncpi1ngjsprbnadh7j33wdshr4znhyc3"; depends=[DESeq2 edgeR limma multtest qvalue RColorBrewer SummarizedExperiment]; };
   antiProfiles = derive2 { name="antiProfiles"; version="1.18.0"; sha256="03y6j3y0qvfzwbwzjgjsl5zlqayqj1400gj278m28l70l43ifnyg"; depends=[locfit matrixStats]; };
   apComplex = derive2 { name="apComplex"; version="2.44.0"; sha256="132j6gm70h8sma82jd566hrih7npa217h5r6kqx4lq5yw3dlqcs1"; depends=[graph org_Sc_sgd_db RBGL Rgraphviz]; };
   apeglm = derive2 { name="apeglm"; version="1.0.3"; sha256="06j68szmxdr9c8qmmlcx85rv1hjl2rk52lagack83cr3q1gd10bj"; depends=[emdbook GenomicRanges SummarizedExperiment]; };
@@ -840,14 +840,14 @@ in with self; {
   cghMCR = derive2 { name="cghMCR"; version="1.36.0"; sha256="10c6cnm2qbg0gb3klfv1xlwhbzj9x6aimxg7jnz29fgnn3xnd8cs"; depends=[BiocGenerics CNTools DNAcopy limma]; };
   charm = derive2 { name="charm"; version="2.24.0"; sha256="0zr96pwq7zd45lffl67fxvzrxhmjk8pmh8rfawhc7mmazds2ip9a"; depends=[Biobase Biostrings BSgenome ff fields genefilter gtools IRanges limma nor1mix oligo oligoClasses preprocessCore RColorBrewer siggenes SQN sva]; };
   chimera = derive2 { name="chimera"; version="1.20.0"; sha256="0z50pwynvyx2gc619b7w6chwdb7pxs2gf1ywh9vp7vzghkdv0wx4"; depends=[AnnotationDbi Biobase BSgenome_Hsapiens_UCSC_hg19 GenomicAlignments GenomicRanges Homo_sapiens Rsamtools TxDb_Hsapiens_UCSC_hg19_knownGene]; };
-  chimeraviz = derive2 { name="chimeraviz"; version="1.4.2"; sha256="1qqv2wzagq5kf4xijrvcm17bb1qgjjp2kx4fm2a8ky1rcwf50251"; depends=[AnnotationDbi AnnotationFilter ArgumentCheck BiocStyle Biostrings dplyr DT ensembldb GenomeInfoDb GenomicAlignments GenomicRanges graph Gviz IRanges org_Hs_eg_db plyr RCircos RColorBrewer readr Rgraphviz rmarkdown Rsamtools S4Vectors]; };
+  chimeraviz = derive2 { name="chimeraviz"; version="1.4.3"; sha256="1jwgra30lqi4zyyda2xcy7zkgnbidlxqfhh48bq8scfym0b34kjf"; depends=[AnnotationDbi AnnotationFilter ArgumentCheck BiocStyle Biostrings dplyr DT ensembldb GenomeInfoDb GenomicAlignments GenomicRanges graph Gviz IRanges org_Hs_eg_db plyr RCircos RColorBrewer readr Rgraphviz rmarkdown Rsamtools S4Vectors]; };
   chipenrich = derive2 { name="chipenrich"; version="2.2.0"; sha256="0q24il68grjqdxpy7qjk6lw6l5zlmw6yybrbrbb8l42gljyi6s74"; depends=[AnnotationDbi BiocGenerics chipenrich_data GenomeInfoDb GenomicRanges IRanges lattice latticeExtra mgcv org_Dm_eg_db org_Dr_eg_db org_Hs_eg_db org_Mm_eg_db org_Rn_eg_db plyr rms rtracklayer S4Vectors stringr]; };
   chipseq = derive2 { name="chipseq"; version="1.28.0"; sha256="1ymcq77krwjzrkzzcw7i9909cmkqa7c0675z9wzvrrk81hgdssfq"; depends=[BiocGenerics GenomicRanges IRanges lattice S4Vectors ShortRead]; };
   chopsticks = derive2 { name="chopsticks"; version="1.42.0"; sha256="0awwk8k7vnsc0c1ic17m2mhmpin0s0ijd2gn7my9yysqzld9sncd"; depends=[survival]; };
-  chroGPS = derive2 { name="chroGPS"; version="1.26.0"; sha256="1lx12mlrj1syl2qaibm08b4vq8h2xw609vr6vxynl1wvvf8wdarp"; depends=[Biobase changepoint cluster DPpackage GenomicRanges ICSNP MASS]; };
+  chroGPS = derive2 { name="chroGPS"; version="1.27.3"; sha256="0glqisz3nzlrcvjryxf406dkiq6sg9bg1g3bcqqnmayirm92w5qv"; depends=[Biobase changepoint cluster DPpackage GenomicRanges ICSNP MASS]; };
   chromDraw = derive2 { name="chromDraw"; version="2.8.0"; sha256="1lqrpbf322kxpx5068mw650ibzqksfmxc4j6q1fs4dv0ghpxdcsf"; depends=[GenomicRanges Rcpp]; };
   chromPlot = derive2 { name="chromPlot"; version="1.6.0"; sha256="16qy1zqwlxc2pdkdb1jf8rknvr5cz2k4vbg2jybr6ks73pzagb47"; depends=[biomaRt GenomicRanges]; };
-  chromVAR = derive2 { name="chromVAR"; version="1.0.1"; sha256="0a62gp47ymspn9pbdz7j2vjpd0g7bhl333dicbs468qjjfpm8fbw"; depends=[BiocGenerics BiocParallel Biostrings BSgenome DT GenomeInfoDb GenomicRanges ggplot2 IRanges Matrix miniUI nabor plotly RColorBrewer Rcpp RcppArmadillo Rsamtools Rtsne S4Vectors shiny SummarizedExperiment TFBSTools]; };
+  chromVAR = derive2 { name="chromVAR"; version="1.0.2"; sha256="08bp5wyxg5s9gjwnpymcahhy5rar64x385msczam62i1h1y95f8b"; depends=[BiocGenerics BiocParallel Biostrings BSgenome DT GenomeInfoDb GenomicRanges ggplot2 IRanges Matrix miniUI nabor plotly RColorBrewer Rcpp RcppArmadillo Rsamtools Rtsne S4Vectors shiny SummarizedExperiment TFBSTools]; };
   chromstaR = derive2 { name="chromstaR"; version="1.4.0"; sha256="1ky2z9v6gwwgzvd498ng9ac5s7x8nkgm5170gywr7bgw7lqrycjz"; depends=[bamsignals chromstaRData doParallel foreach GenomeInfoDb GenomicAlignments GenomicRanges ggplot2 IRanges mvtnorm reshape2 Rsamtools S4Vectors]; };
   chromswitch = derive2 { name="chromswitch"; version="1.0.0"; sha256="1ym7vdj6lfwi4nja38lixm3vsxp296dpb90zwnmabws3dhysxhfy"; depends=[Biobase BiocParallel cluster DescTools dplyr GenomicRanges gplots IRanges lazyeval magrittr matrixStats mclust NMF rtracklayer S4Vectors tidyr]; };
   cisPath = derive2 { name="cisPath"; version="1.18.0"; sha256="0ya1kkvghs23c4rqydkas68a7y6z16ihjnv8ljjy9h3i7pdani4h"; depends=[]; };
@@ -913,7 +913,7 @@ in with self; {
   derfinder = derive2 { name="derfinder"; version="1.12.6"; sha256="1bp8qw3m5crncwz586b4f4w1x0kcm6r39md3w8il2d9xlvjvmml0"; depends=[AnnotationDbi BiocParallel bumphunter derfinderHelper GenomeInfoDb GenomicAlignments GenomicFeatures GenomicFiles GenomicRanges Hmisc IRanges qvalue Rsamtools rtracklayer S4Vectors]; };
   derfinderHelper = derive2 { name="derfinderHelper"; version="1.12.0"; sha256="06aj2h98vm27pc1laxi7pjxhwxm756scl2r9d8f1x1gsg2aa0k1b"; depends=[IRanges Matrix S4Vectors]; };
   derfinderPlot = derive2 { name="derfinderPlot"; version="1.12.3"; sha256="1p0pqy2rdd4lmz91gyxwcm1gpnyb89qzy9j9fsm1jy84iaanan40"; depends=[derfinder GenomeInfoDb GenomicFeatures GenomicRanges ggbio ggplot2 IRanges limma plyr RColorBrewer reshape2 S4Vectors scales]; };
-  destiny = derive2 { name="destiny"; version="2.6.1"; sha256="1gyjh9lgqql67zsm4zz4lg77kdw5wbgkl9mraaww1aich167aqfl"; depends=[Biobase BiocGenerics ggplot2 Hmisc igraph Matrix proxy Rcpp RcppEigen scales scatterplot3d smoother VIM]; };
+  destiny = derive2 { name="destiny"; version="2.6.2"; sha256="18id35mjlwnavqi04lzr47vj6y3j8y8g1rxb6hdc6dklajnvyyln"; depends=[Biobase BiocGenerics ggplot2 Hmisc igraph Matrix proxy Rcpp RcppEigen scales scatterplot3d smoother VIM]; };
   dexus = derive2 { name="dexus"; version="1.18.0"; sha256="1l9x51w1q58zvh53slcmw8rbb2v1sii380acap1frp4idi56wmig"; depends=[BiocGenerics]; };
   diffGeneAnalysis = derive2 { name="diffGeneAnalysis"; version="1.60.0"; sha256="0bfs3n9crca46q0cgkpknl4xf5vc4dr5anly9kn77prb1zp9b0p3"; depends=[minpack_lm]; };
   diffHic = derive2 { name="diffHic"; version="1.10.0"; sha256="0j7vmgpxakzk3gazdy06xhpcqnb19pib0jxfz67nc7fgkyrmhzqi"; depends=[BiocGenerics Biostrings BSgenome csaw edgeR GenomeInfoDb GenomicRanges InteractionSet IRanges limma locfit Rcpp rhdf5 Rhtslib Rsamtools S4Vectors SummarizedExperiment zlibbioc]; };
@@ -930,11 +930,11 @@ in with self; {
   easyRNASeq = derive2 { name="easyRNASeq"; version="2.14.0"; sha256="11l0bj9wcp5k0a5nq0adn4w891cllfdn7qrqg76k7klx5h0p37bx"; depends=[Biobase BiocGenerics BiocParallel biomaRt Biostrings DESeq edgeR GenomeInfoDb genomeIntervals GenomicAlignments GenomicRanges IRanges locfit LSD Rsamtools S4Vectors ShortRead SummarizedExperiment]; };
   ecolitk = derive2 { name="ecolitk"; version="1.50.0"; sha256="0xagah7nrj6dghl2ib75l8wlwj7kzdssnlbpjdwhm67nsys3hvx4"; depends=[Biobase]; };
   edge = derive2 { name="edge"; version="2.10.0"; sha256="1knr03yiw0cq0kj9hklmkaap4qiphm2ph51bjn1m5cn7nyckramz"; depends=[Biobase jackstraw MASS qvalue snm sva]; };
-  edgeR = derive2 { name="edgeR"; version="3.20.8"; sha256="0g7bj6w61blw3m22hw9rc01n554k9qkjizh7njr3j4shmhads58d"; depends=[limma locfit Rcpp]; };
+  edgeR = derive2 { name="edgeR"; version="3.20.9"; sha256="0y52snwbz37xzdd7gihdkqczbndlfzmmypv6hri3ymjyfmlx6qaw"; depends=[limma locfit Rcpp]; };
   eegc = derive2 { name="eegc"; version="1.4.0"; sha256="1v3586qddx1l74ha083x36m3lqdblrhmwd63k22jzfpkh30adz09"; depends=[AnnotationDbi clusterProfiler DESeq2 DOSE edgeR ggplot2 gplots igraph limma org_Hs_eg_db org_Mm_eg_db pheatmap R_utils S4Vectors sna wordcloud]; };
   eiR = derive2 { name="eiR"; version="1.18.0"; sha256="1ypd7yq9c6mqp7nm984dm60qzvwy4qb81zrp2mvp7g87c5vdj2a3"; depends=[BiocGenerics ChemmineR DBI digest gespeR RcppAnnoy RCurl RUnit snow snowfall]; };
   eisa = derive2 { name="eisa"; version="1.30.0"; sha256="11ydmv5kddq75sknbax1aiyxq60rx146qa7pd3m09axjzvk83mq5"; depends=[AnnotationDbi Biobase BiocGenerics Category DBI genefilter isa2]; };
-  ensemblVEP = derive2 { name="ensemblVEP"; version="1.20.0"; sha256="1xza76fyqp8xikc98ipamsz6175nirdv7aisfvkb9nmzba4q0r62"; depends=[BiocGenerics Biostrings GenomeInfoDb GenomicRanges S4Vectors SummarizedExperiment VariantAnnotation]; };
+  ensemblVEP = derive2 { name="ensemblVEP"; version="1.20.1"; sha256="0785hhfsgmnkangcq6lg48kdr5pifxs6j9v6apv80457k70d7ybv"; depends=[BiocGenerics Biostrings GenomeInfoDb GenomicRanges S4Vectors SummarizedExperiment VariantAnnotation]; };
   ensembldb = derive2 { name="ensembldb"; version="2.2.2"; sha256="1yngndkf3588z91z0a2fvkg423p26ajm6xv1p27x0l9mzhhaqq3k"; depends=[AnnotationDbi AnnotationFilter AnnotationHub Biobase BiocGenerics Biostrings curl DBI GenomeInfoDb GenomicFeatures GenomicRanges IRanges ProtGenerics Rsamtools RSQLite rtracklayer S4Vectors]; };
   epiNEM = derive2 { name="epiNEM"; version="1.2.0"; sha256="0d3r4m0q3w2ljf4bm03z1dpiiih9cshzpbi4nnqq3jwls82f7nlq"; depends=[BoolNet e1071 graph gtools igraph lattice latticeExtra minet nem pcalg RColorBrewer]; };
   epigenomix = derive2 { name="epigenomix"; version="1.18.0"; sha256="0x567fxak38ngy5hs3x567381aigh1x1fb8ww8xvmpf2wlzrlfwp"; depends=[beadarray Biobase BiocGenerics GenomeInfoDb GenomicRanges IRanges MCMCpack Rsamtools S4Vectors SummarizedExperiment]; };
@@ -943,9 +943,9 @@ in with self; {
   epivizrData = derive2 { name="epivizrData"; version="1.6.0"; sha256="101ibx9nq17dnn5j8kjy31pm8ly4nyzs1rrlbsvk0140avjhz154"; depends=[Biobase ensembldb epivizrServer GenomeInfoDb GenomicFeatures GenomicRanges IRanges OrganismDbi S4Vectors SummarizedExperiment]; };
   epivizrServer = derive2 { name="epivizrServer"; version="1.6.0"; sha256="0qa13yvq9ywa3m1n2vmi60087cgg18rpnqbr1m7f137ivnxyb11b"; depends=[httpuv mime R6 rjson]; };
   epivizrStandalone = derive2 { name="epivizrStandalone"; version="1.6.0"; sha256="0rbd2kmdi0y97mx72gkg93s97slfig1k1bgcv5maknsqqqcwzz8j"; depends=[BiocGenerics epivizr epivizrServer GenomeInfoDb GenomicFeatures git2r S4Vectors]; };
-  erccdashboard = derive2 { name="erccdashboard"; version="1.12.0"; sha256="07dc80l8618rlv3sywr0gp9i49kq66i9glx3md2r0k5c4l67mw37"; depends=[edgeR ggplot2 gplots gridExtra gtools limma locfit MASS plyr qvalue reshape2 ROCR scales stringr]; };
-  erma = derive2 { name="erma"; version="0.10.0"; sha256="0gcfs9g8vvdv5vmq9b21kd8sq5mizjj49nfzd4in9zvp4b9v7x1g"; depends=[AnnotationDbi Biobase BiocGenerics foreach GenomicFiles GenomicRanges ggplot2 Homo_sapiens rtracklayer S4Vectors shiny SummarizedExperiment]; };
-  esATAC = derive2 { name="esATAC"; version="1.0.19"; sha256="1ikihh939c8iqm9w582s0kjmnh7yqgnj3dq8y8vfvpbill4f2zyd"; depends=[AnnotationDbi BiocGenerics BiocInstaller Biostrings BSgenome ChIPseeker clusterProfiler corrplot DiagrammeR digest GenomeInfoDb GenomicFeatures GenomicRanges ggplot2 igraph IRanges JASPAR2016 knitr magrittr R_utils Rbowtie2 Rcpp rJava rmarkdown Rsamtools rtracklayer S4Vectors ShortRead TFBSTools VennDiagram]; };
+  erccdashboard = derive2 { name="erccdashboard"; version="1.12.1"; sha256="19fg4n99w983wp6ffmzadzfp1bzmsn8papb5szbrxz102r2mq6df"; depends=[edgeR ggplot2 gplots gridExtra gtools limma locfit MASS plyr qvalue reshape2 ROCR scales stringr]; };
+  erma = derive2 { name="erma"; version="0.10.1"; sha256="1fi8nc6fbd7i4p9i9hli31xplmdpsxqcdrb8v3nf8fx9klllbdav"; depends=[AnnotationDbi Biobase BiocGenerics foreach GenomicFiles GenomicRanges ggplot2 Homo_sapiens rtracklayer S4Vectors shiny SummarizedExperiment]; };
+  esATAC = derive2 { name="esATAC"; version="1.0.23"; sha256="1g2pai0b98dfnng4h7w2xs73qp2dqacmx8x3ackqi6a515x0cyaf"; depends=[AnnotationDbi BiocGenerics BiocInstaller Biostrings BSgenome ChIPseeker clusterProfiler corrplot DiagrammeR digest GenomeInfoDb GenomicFeatures GenomicRanges ggplot2 igraph IRanges JASPAR2016 knitr magrittr R_utils Rbowtie2 Rcpp rJava rmarkdown Rsamtools rtracklayer S4Vectors ShortRead TFBSTools VennDiagram]; };
   esetVis = derive2 { name="esetVis"; version="1.4.0"; sha256="1yb238lxy8sqmxim3zd25rp642cpz8p25vdffjlija2wivq8phn1"; depends=[Biobase hexbin MASS MLP mpm Rtsne]; };
   eudysbiome = derive2 { name="eudysbiome"; version="1.8.0"; sha256="13ayrigzy55h6an3am9f77r6mzcvyfcpxpby71xilhaf6mjhyj39"; depends=[Biostrings plyr R_utils Rsamtools]; };
   exomeCopy = derive2 { name="exomeCopy"; version="1.24.0"; sha256="17rpa7mck2rrivrv5vqk4abb094v79v8dbzh6n5dj4hnw53b9wif"; depends=[GenomeInfoDb GenomicRanges IRanges Rsamtools]; };
@@ -971,7 +971,7 @@ in with self; {
   flowCL = derive2 { name="flowCL"; version="1.16.2"; sha256="1zaic9cf7xw4qmdcrhi9a9zcxvxlnn9iii0a6lnwwkpsspgn1bnj"; depends=[graph Rgraphviz SPARQL]; };
   flowClean = derive2 { name="flowClean"; version="1.16.0"; sha256="1crpgaw1bilvgcyr93c2qx6jbx18ca52dzr6r8cqznlfxdnz48jj"; depends=[bit changepoint flowCore sfsmisc]; };
   flowClust = derive2 { name="flowClust"; version="3.16.0"; sha256="1c8ppgy4i42l250m71ri3gbw8mw1yw2saplx9wrhnykvwxnsx210"; depends=[Biobase BiocGenerics clue ellipse flowCore flowViz graph MCMCpack mnormt RBGL]; };
-  flowCore = derive2 { name="flowCore"; version="1.44.1"; sha256="1ain06wjny8f5khpf6cmz683rzq1jfidk4p3mz1v5ybw54dxvl7z"; depends=[BH Biobase BiocGenerics corpcor graph matrixStats Rcpp rrcov]; };
+  flowCore = derive2 { name="flowCore"; version="1.44.2"; sha256="09vp822nrhyfxibwh22g2rdl4yv6n4w1rm7hy9hkz8rsbpbdbwv4"; depends=[BH Biobase BiocGenerics corpcor graph matrixStats Rcpp rrcov]; };
   flowCyBar = derive2 { name="flowCyBar"; version="1.14.0"; sha256="06wzxlw02x5nzn5qc91yjawrmimsns2kmw4rm3rgbh10d4qh8r09"; depends=[gplots vegan]; };
   flowDensity = derive2 { name="flowDensity"; version="1.12.0"; sha256="1df181ilq7mnwlfvyjjvgd262f2sq09c5wg5fpf531m5jiaj6qpk"; depends=[car flowCore flowWorkspace GEOmap gplots RFOC rgeos sp]; };
   flowFP = derive2 { name="flowFP"; version="1.36.0"; sha256="0kpw90pxappz3mbidfqjv8l6cpc4qg2hgi1wqh4rzx8b2bdl5a8f"; depends=[Biobase BiocGenerics flowCore flowViz]; };
@@ -981,7 +981,7 @@ in with self; {
   flowMeans = derive2 { name="flowMeans"; version="1.38.0"; sha256="0mqgblmfili3nxnfz5h0hrhdl6wz4ylnslyx17kw7pyd0wskd26v"; depends=[Biobase feature flowCore rrcov]; };
   flowMerge = derive2 { name="flowMerge"; version="2.26.0"; sha256="0lpgipgrirhc5i5qzby1krg7vbd4jg566y3i5k18lxsccws12zx6"; depends=[feature flowClust flowCore foreach graph Rgraphviz rrcov snow]; };
   flowPeaks = derive2 { name="flowPeaks"; version="1.22.0"; sha256="0cs0sbs9cx3syjv3dhl9b56s8ccpb00cwz9z18j31yaijl1h13vi"; depends=[]; };
-  flowPloidy = derive2 { name="flowPloidy"; version="1.4.1"; sha256="1iqyc6b8lp22lr4xik4ibixc4x6grxvmg18bp2dflp6xkyy7vrq5"; depends=[car caTools flowCore knitr minpack_lm rmarkdown shiny]; };
+  flowPloidy = derive2 { name="flowPloidy"; version="1.4.2"; sha256="15z3laz0g3agv9dhga29myhmri5w6ivj10rivq4r0kv7lql1wzlx"; depends=[car caTools flowCore knitr minpack_lm rmarkdown shiny]; };
   flowPlots = derive2 { name="flowPlots"; version="1.26.0"; sha256="0bg523vxnk3kjwwplqykamdfqmyr7b0laxkml06rfr0rbj5lcdc5"; depends=[]; };
   flowQ = derive2 { name="flowQ"; version="1.38.0"; sha256="1vxc7fn747x7i2v0nv821nx9z1d5d4dyd6fa0vbmn7smjkbdxbzd"; depends=[BiocGenerics bioDist flowCore flowViz geneplotter IRanges lattice latticeExtra mvoutlier outliers parody RColorBrewer]; };
   flowQB = derive2 { name="flowQB"; version="2.6.0"; sha256="04hjsswngbxi40rxcb13hzvzm8y7yzpr6qzwhnishp0a5614rzka"; depends=[extremevalues flowCore]; };
@@ -992,14 +992,14 @@ in with self; {
   flowUtils = derive2 { name="flowUtils"; version="1.42.0"; sha256="0d4ab30xp722h9avi785wj8z1qz7dy65z5faqf3jc6j6v40bzikq"; depends=[Biobase corpcor flowCore graph RUnit XML]; };
   flowVS = derive2 { name="flowVS"; version="1.10.0"; sha256="07vcqcxzd9cw4hvc1yld2v05zcxqs5p9spka2l80pmsjr0aij043"; depends=[flowCore flowStats flowViz]; };
   flowViz = derive2 { name="flowViz"; version="1.42.0"; sha256="1fbr0snid9vgb133sb5dwkk469n465p8r490r67vsmm8wqsf6iyl"; depends=[Biobase flowCore hexbin IDPmisc KernSmooth lattice latticeExtra MASS RColorBrewer]; };
-  flowWorkspace = derive2 { name="flowWorkspace"; version="3.26.5"; sha256="1j1gq3izyngjbspy6c8l8wjdhv3jm21i6aqv8sz262z2g9krqdyf"; depends=[BH Biobase BiocGenerics cytolib data_table dplyr flowCore flowViz graph gridExtra lattice latticeExtra ncdfFlow RBGL RColorBrewer Rcpp Rgraphviz RProtoBufLib scales stringr XML]; };
+  flowWorkspace = derive2 { name="flowWorkspace"; version="3.26.9"; sha256="04vs7knal0mrlj0rxpq5p3x1243ji0191zf0xmvk9689m94ib2za"; depends=[BH Biobase BiocGenerics cytolib data_table dplyr flowCore flowViz graph gridExtra lattice latticeExtra ncdfFlow RBGL RColorBrewer Rcpp Rgraphviz RProtoBufLib scales stringr XML]; };
   flowcatchR = derive2 { name="flowcatchR"; version="1.12.0"; sha256="0i6r86b1g98kaw8nhbnjjrw8gw6vvhfpr5r7dn4whl4hwlizc5qx"; depends=[abind BiocParallel colorRamps EBImage rgl]; };
   fmcsR = derive2 { name="fmcsR"; version="1.20.0"; sha256="0cbbil337zbb968zibkysrmpc8bwlpn7rl908zyvzvj8v11lxzcc"; depends=[BiocGenerics ChemmineR RUnit]; };
   focalCall = derive2 { name="focalCall"; version="1.12.0"; sha256="07lb0ijdsryd31dxp5fgp393p9f21b7in3rnf9j43qn8wmz48hnl"; depends=[CGHcall]; };
   frma = derive2 { name="frma"; version="1.30.1"; sha256="0319m8l7n2sfp4m6zipm7pkc57xikb735qk605m952m8ra08v8ml"; depends=[affy Biobase BiocGenerics DBI MASS oligo oligoClasses preprocessCore]; };
   frmaTools = derive2 { name="frmaTools"; version="1.30.0"; sha256="02z7igfcvhjg9f36snmmif8d7lsca9n9izg8zc543hcy7s704aa2"; depends=[affy Biobase DBI preprocessCore]; };
   funtooNorm = derive2 { name="funtooNorm"; version="1.2.0"; sha256="09n7vq5f26px57sy35s29b8pmb9wcx6kii0h0i354sr3yg21ccpc"; depends=[GenomeInfoDb IlluminaHumanMethylation450kanno_ilmn12_hg19 IlluminaHumanMethylation450kmanifest matrixStats minfi pls]; };
-  gCMAP = derive2 { name="gCMAP"; version="1.22.0"; sha256="1ghaidxm8wpg9jx8s9ymlkciwkxjnlr5g5yfjappj7mf4qaqxvil"; depends=[annotate AnnotationDbi bigmemory bigmemoryExtras Biobase Category DESeq genefilter GSEABase GSEAlm limma Matrix]; };
+  gCMAP = derive2 { name="gCMAP"; version="1.22.1"; sha256="0va9jixmp3v001gnym3clyjwarxs5d31vnyklzv31n5zffd7dm3l"; depends=[annotate AnnotationDbi bigmemory bigmemoryExtras Biobase Category DESeq genefilter GSEABase GSEAlm limma Matrix]; };
   gCMAPWeb = derive2 { name="gCMAPWeb"; version="1.18.0"; sha256="152nd7vxz3cja8xmg5rq4j08lvd7cw1y09a737bfdq1zwrxc22v8"; depends=[annotate AnnotationDbi Biobase BiocGenerics brew gCMAP GSEABase hwriter Rook yaml]; };
   gCrisprTools = derive2 { name="gCrisprTools"; version="1.6.0"; sha256="0x7bsnhs3qwimfkkxr8yslawdfy83x5ip8j2wlwq4m9hqwqk060g"; depends=[Biobase ggplot2 limma PANTHER_db rmarkdown RobustRankAggreg]; };
   gQTLBase = derive2 { name="gQTLBase"; version="1.10.0"; sha256="1756vfcj2dkkgcmfkkg7qdaig36dv9gfvpypn9rbrky56wm1p035"; depends=[BatchJobs BBmisc BiocGenerics bit doParallel ff ffbase foreach GenomicFiles GenomicRanges rtracklayer S4Vectors SummarizedExperiment]; };
@@ -1017,14 +1017,14 @@ in with self; {
   geNetClassifier = derive2 { name="geNetClassifier"; version="1.18.0"; sha256="14qvrjbcvkqp2azfqi33y7pwg4wlf1vabddbirinw73za5b4jf48"; depends=[Biobase e1071 EBarrays minet]; };
   geecc = derive2 { name="geecc"; version="1.12.0"; sha256="1njvcwfdbpvmvvx8lcfw0baigjldr0v0rkqbk2rhb0h6wsiljfm2"; depends=[gplots hypergea MASS Rcpp]; };
   genArise = derive2 { name="genArise"; version="1.54.0"; sha256="101dammhv29w78cm2xylln4s7rzcy6sqw44navzs260xccdipxab"; depends=[locfit tkrplot xtable]; };
-  genbankr = derive2 { name="genbankr"; version="1.6.0"; sha256="0yy9mjcd354g7gw73rx00q079xjaaka20imn3afmxv80gprhss5f"; depends=[Biobase BiocGenerics Biostrings GenomeInfoDb GenomicFeatures GenomicRanges IRanges rtracklayer S4Vectors VariantAnnotation]; };
+  genbankr = derive2 { name="genbankr"; version="1.6.1"; sha256="1f88ix4c4pfy5hhc2wlj2zrdz1jjfzzkrj4swk34ril24gf6av2z"; depends=[Biobase BiocGenerics Biostrings GenomeInfoDb GenomicFeatures GenomicRanges IRanges rtracklayer S4Vectors VariantAnnotation]; };
   geneAttribution = derive2 { name="geneAttribution"; version="1.4.0"; sha256="11p8zqmmcfccl0fnyjm5kv8rbasamj6mra3bvk5jxsi4cqmbx9wx"; depends=[BiocGenerics GenomeInfoDb GenomicFeatures GenomicRanges IRanges org_Hs_eg_db rtracklayer]; };
   geneClassifiers = derive2 { name="geneClassifiers"; version="1.2.0"; sha256="1canrqw0g6v32vy2p2xd4pz6kw5k2zyzgff5ii0p86w519dzg16v"; depends=[Biobase BiocGenerics]; };
   geneRecommender = derive2 { name="geneRecommender"; version="1.50.0"; sha256="16cf2zkjffmdr2lhm7b4ckcw6p0kx40whw36m6y9510i8pmzy3y9"; depends=[Biobase]; };
   geneRxCluster = derive2 { name="geneRxCluster"; version="1.14.0"; sha256="0r0lnhf19qw1d4p87632lz0rgx0d9q3cakpd6qh43b10fil7wjgp"; depends=[GenomicRanges IRanges]; };
   geneXtendeR = derive2 { name="geneXtendeR"; version="1.4.0"; sha256="02a3aqn115l85cnvxy16ppri4hwir6mcp1av6s00nj66afxxnzmv"; depends=[AnnotationDbi data_table dplyr GO_db networkD3 org_Ag_eg_db org_Bt_eg_db org_Ce_eg_db org_Cf_eg_db org_Dm_eg_db org_Dr_eg_db org_Gg_eg_db org_Hs_eg_db org_Mm_eg_db org_Mmu_eg_db org_Pt_eg_db org_Rn_eg_db org_Sc_sgd_db org_Ss_eg_db org_Xl_eg_db RColorBrewer rtracklayer SnowballC tm wordcloud]; };
   genefilter = derive2 { name="genefilter"; version="1.60.0"; sha256="173swlg6gj4kdllbqvyiw5dggbcxiwlwpqmllsv4dxzn7h25i3g7"; depends=[annotate AnnotationDbi Biobase S4Vectors survival]; };
-  genefu = derive2 { name="genefu"; version="2.10.0"; sha256="0pg9425z0inlbgvi15d050s6928xyqbxj36kk12z3dh3w2gwkycf"; depends=[AIMS amap biomaRt iC10 limma mclust survcomp]; };
+  genefu = derive2 { name="genefu"; version="2.11.2"; sha256="1z70pnzgci0sjpr8vsvyg93zrjim7jh9jmba0p3pgqp3qw4gbi34"; depends=[AIMS amap biomaRt iC10 limma mclust survcomp]; };
   geneplast = derive2 { name="geneplast"; version="1.4.0"; sha256="12ncf9rpnv1mwmdw4rbzzhggppcnzch764aiipy0jb21ix9xj61q"; depends=[ape snow]; };
   geneplotter = derive2 { name="geneplotter"; version="1.56.0"; sha256="1z3g7frc1iviwrsv2dlm4nqvkc0685h4va0388yfxn102ln8wwma"; depends=[annotate AnnotationDbi Biobase BiocGenerics lattice RColorBrewer]; };
   genoCN = derive2 { name="genoCN"; version="1.30.0"; sha256="0m4sj2w0zra67d939knzriwda0nwphzspsmnl9jakl0kq8dvhjki"; depends=[]; };
@@ -1034,10 +1034,10 @@ in with self; {
   genoset = derive2 { name="genoset"; version="1.34.0"; sha256="1cw6g8r3n33xlqmbjsfn6kkdzz19kh71ag529sjbk9wlxi69rrz0"; depends=[BiocGenerics GenomeInfoDb GenomicRanges IRanges S4Vectors SummarizedExperiment]; };
   genotypeeval = derive2 { name="genotypeeval"; version="1.10.0"; sha256="1pff2n1s350j6i7klsnwqlizkdvvfpyqqrvc7kq5gj7yh508dxy9"; depends=[BiocGenerics BiocParallel GenomeInfoDb GenomicRanges ggplot2 IRanges rtracklayer Rtsne VariantAnnotation]; };
   genphen = derive2 { name="genphen"; version="1.6.0"; sha256="0m1g1hfhhbq3xjdr2fjf3wbng6d953kci965h298c168dv3864k6"; depends=[Biostrings e1071 effsize ggplot2 randomForest rjags]; };
-  gespeR = derive2 { name="gespeR"; version="1.10.0"; sha256="09xd080b08bfpqqbha4rxn4vmglv7c5asd4gibfjgjkasd78g40m"; depends=[Biobase biomaRt cellHTS2 doParallel dplyr foreach ggplot2 glmnet Matrix reshape2]; };
-  ggbio = derive2 { name="ggbio"; version="1.26.0"; sha256="1bqxfqy0hff87ax92z4lfbjz01ndrz7x8pzm6dlkdmi52p30krm9"; depends=[AnnotationDbi AnnotationFilter Biobase BiocGenerics Biostrings biovizBase BSgenome ensembldb GenomeInfoDb GenomicAlignments GenomicFeatures GenomicRanges GGally ggplot2 gridExtra gtable Hmisc IRanges OrganismDbi reshape2 Rsamtools rtracklayer S4Vectors scales SummarizedExperiment VariantAnnotation]; };
-  ggcyto = derive2 { name="ggcyto"; version="1.6.1"; sha256="07rsg673hnrn1kf82nb59sxa925hjlb3qnjwlxvzlr2lzs958rcd"; depends=[data_table flowCore flowWorkspace ggplot2 gridExtra ncdfFlow plyr RColorBrewer scales]; };
-  ggtree = derive2 { name="ggtree"; version="1.10.4"; sha256="1ja6ynzhqyrf4gl0haf18h36zwrc0cj9969an94c23h4ksppw0m1"; depends=[ape ggplot2 magrittr rvcheck scales tidyr treeio]; };
+  gespeR = derive2 { name="gespeR"; version="1.10.1"; sha256="10aw6s5bn5jiw3qlqskcp2ngshgyykslsqlwrdpyahr4rh7z0zyl"; depends=[Biobase biomaRt cellHTS2 doParallel dplyr foreach ggplot2 glmnet Matrix reshape2]; };
+  ggbio = derive2 { name="ggbio"; version="1.26.1"; sha256="1xlmlngn27iwnr21s9di4059kav1a7c1sajx08wja8yn8f7j06hp"; depends=[AnnotationDbi AnnotationFilter Biobase BiocGenerics Biostrings biovizBase BSgenome ensembldb GenomeInfoDb GenomicAlignments GenomicFeatures GenomicRanges GGally ggplot2 gridExtra gtable Hmisc IRanges OrganismDbi reshape2 Rsamtools rtracklayer S4Vectors scales SummarizedExperiment VariantAnnotation]; };
+  ggcyto = derive2 { name="ggcyto"; version="1.6.2"; sha256="0qg9ivya9c2998hq40c0pvzfilb1q24h13fafymwa8p2lj59jyrg"; depends=[data_table flowCore flowWorkspace ggplot2 gridExtra ncdfFlow plyr RColorBrewer scales]; };
+  ggtree = derive2 { name="ggtree"; version="1.10.5"; sha256="1gkfjgihykkvqrhvzhr5brwzsgva0mxvfpa664k08jan9brjg22f"; depends=[ape ggplot2 magrittr rvcheck scales tidyr treeio]; };
   girafe = derive2 { name="girafe"; version="1.30.0"; sha256="0k8fjn7d1hxwin0vywly7vc570048i7nckhyw9j4cind6fi6f75v"; depends=[Biobase BiocGenerics Biostrings genomeIntervals intervals IRanges Rsamtools S4Vectors ShortRead]; };
   globalSeq = derive2 { name="globalSeq"; version="1.6.0"; sha256="19aws180r5gwxrz6xmfgic0mp8piki2qmzrxyy1f75866blk3r4f"; depends=[]; };
   globaltest = derive2 { name="globaltest"; version="5.32.0"; sha256="1fk9yk6n3aqigcly5zsb0jnb6jmdbn3jgbp1wyv6sby124sr4hmr"; depends=[annotate AnnotationDbi Biobase survival]; };
@@ -1095,15 +1095,15 @@ in with self; {
   iterativeBMAsurv = derive2 { name="iterativeBMAsurv"; version="1.36.0"; sha256="096qnp9wisc4hnpgy37a4h1xb1f01kqc9rhrhfkp25wkf1yxgwmi"; depends=[BMA leaps survival]; };
   ivygapSE = derive2 { name="ivygapSE"; version="1.0.0"; sha256="1y82cm0xmddhfz12iqqwpq9ifaml3r0yxs4c3cvp6k2c0wlhl173"; depends=[ggplot2 hwriter plotly S4Vectors shiny SummarizedExperiment survival survminer UpSetR]; };
   joda = derive2 { name="joda"; version="1.26.0"; sha256="0qwfkq40zl16lngrmhw8lxx1qn5lh076nl6bydrzksvh1bjs78b6"; depends=[bgmm RBGL]; };
-  karyoploteR = derive2 { name="karyoploteR"; version="1.4.1"; sha256="0sq6iinign7ndw2wg1gfz7chbalyqycb8j0cai6zakaxjxav2dsc"; depends=[bezier biovizBase digest GenomeInfoDb GenomicRanges IRanges memoise regioneR Rsamtools rtracklayer S4Vectors]; };
+  karyoploteR = derive2 { name="karyoploteR"; version="1.4.2"; sha256="18g6dm6bl5qyr50gydlvq948cmvg21iyb6l33cyh7p4haajf7xaa"; depends=[bezier biovizBase digest GenomeInfoDb GenomicRanges IRanges memoise regioneR Rsamtools rtracklayer S4Vectors]; };
   kebabs = derive2 { name="kebabs"; version="1.12.0"; sha256="1mbymzrbwzzfd5ygf8fk89igv7x0damgskri39fj913aqifgkf42"; depends=[apcluster Biostrings e1071 IRanges kernlab LiblineaR Matrix Rcpp S4Vectors XVector]; };
   keggorthology = derive2 { name="keggorthology"; version="2.30.0"; sha256="117s7b32nkv95adh2j91b87r90svhfb91ag28brsq3r333m2q8cn"; depends=[AnnotationDbi DBI graph hgu95av2_db]; };
   kimod = derive2 { name="kimod"; version="1.6.0"; sha256="0mb9bv6bz7k27vs8rl26kh2zm8mvpkgzqhgc471lp4qz8f4fsbxc"; depends=[Biobase cluster]; };
   lapmix = derive2 { name="lapmix"; version="1.44.0"; sha256="1b7daaqsq3bvb1wbhf99pk8kl4pm4kac7bnx211isr7ica34pxb5"; depends=[Biobase]; };
-  ldblock = derive2 { name="ldblock"; version="1.8.0"; sha256="18nfsixh6d2wfrb9laqsgly5w1frzihhak683k0p8fdf51h4aqba"; depends=[erma GenomeInfoDb GenomicFiles GO_db Homo_sapiens Matrix Rsamtools snpStats VariantAnnotation]; };
+  ldblock = derive2 { name="ldblock"; version="1.8.1"; sha256="1q8dz8wcq1r7kr635s9q21g36sxkdybk8khhpa4p57qv8r0gppl0"; depends=[erma GenomeInfoDb GenomicFiles GO_db Homo_sapiens Matrix Rsamtools snpStats VariantAnnotation]; };
   les = derive2 { name="les"; version="1.28.0"; sha256="0xy7ggc2b20i1c78mww84xvc0jhbinxn00nbfvnbw997vjqr7r79"; depends=[boot fdrtool gplots RColorBrewer]; };
   lfa = derive2 { name="lfa"; version="1.8.0"; sha256="06w0032wwqm2cxid7brb6iq6bkhqc5x3a08wwyjbib6lnj5n7rvh"; depends=[corpcor]; };
-  limma = derive2 { name="limma"; version="3.34.8"; sha256="0bmxsgz2yll83sd3wbxsrsfd35468igb0d8lldym0d0lqfz906bw"; depends=[]; };
+  limma = derive2 { name="limma"; version="3.34.9"; sha256="1y2fm61g5i0fn0j3l31xvwh9zww9bpkc4nwzb1d0yv1cag20jkdc"; depends=[]; };
   limmaGUI = derive2 { name="limmaGUI"; version="1.54.0"; sha256="1mhqxy4bfb38lp57wrm6jm57xbwhqz6z78cxjdjr8r9inysddjlp"; depends=[AnnotationDbi BiocInstaller gcrma limma R2HTML tkrplot xtable]; };
   lmdme = derive2 { name="lmdme"; version="1.20.0"; sha256="1742ffw592cpp0bxd38g4k51h28iaax995lzmgxb3di6kj6h8an3"; depends=[limma pls stemHypoxia]; };
   logicFS = derive2 { name="logicFS"; version="1.48.0"; sha256="1qkbc6xgmppicg30613ak0dy8fn1irq6n8kf2qvwd95y210zlcfv"; depends=[LogicReg mcbiopi]; };
@@ -1121,7 +1121,7 @@ in with self; {
   maanova = derive2 { name="maanova"; version="1.48.0"; sha256="1vvjk6y8mp5h7l8yk4f1y48jx5k9fl9s12x2mgsbap306paw860q"; depends=[Biobase]; };
   macat = derive2 { name="macat"; version="1.52.0"; sha256="168jw5bi1nbj2dfhipnvja7w0avmiw6vrvdany73d41fvigmagj5"; depends=[annotate Biobase]; };
   made4 = derive2 { name="made4"; version="1.52.0"; sha256="1ns7f47l7ig2fm95l67ppym5gbkbr8lp18vx51pqwjg8r5rvj9sc"; depends=[ade4 gplots RColorBrewer scatterplot3d]; };
-  maftools = derive2 { name="maftools"; version="1.4.21"; sha256="0xcqfnp7qx9gr5nr8bd00cqa7b1d32nb14cj0ymhazsyd2ja9wv5"; depends=[Biostrings changepoint cometExactTest ComplexHeatmap cowplot data_table ggplot2 ggrepel gridExtra mclust NMF RColorBrewer rjson Rsamtools survival VariantAnnotation wordcloud]; };
+  maftools = derive2 { name="maftools"; version="1.4.28"; sha256="17b3v1v9ipid8gqsq2gy0fpminc58f1mng9i2andswfr5ip38g7s"; depends=[Biostrings changepoint cometExactTest ComplexHeatmap cowplot data_table ggplot2 ggrepel gridExtra mclust NMF RColorBrewer rjson Rsamtools survival VariantAnnotation wordcloud]; };
   maigesPack = derive2 { name="maigesPack"; version="1.42.0"; sha256="1c92kkr2rmfydckmbvri8g0lzz1v3hx93zpmb1pwrnlfpm01j95j"; depends=[convert graph limma marray]; };
   makecdfenv = derive2 { name="makecdfenv"; version="1.54.0"; sha256="17fmzd12acdpq3vfnqrafmmg5jcmdgkf83mrqjpw92zah2w8490a"; depends=[affy affyio Biobase zlibbioc]; };
   manta = derive2 { name="manta"; version="1.24.0"; sha256="060x5rdzkx882pa8x9w7j3sgj0clar6w35yblbcggq579r9jpx06"; depends=[caroline edgeR Hmisc]; };
@@ -1160,7 +1160,7 @@ in with self; {
   methyvim = derive2 { name="methyvim"; version="1.0.0"; sha256="1hz6c4bdgslxrbkr0q9fx6ffrrilxcanm8f5alady5qndm4vmiw1"; depends=[BiocGenerics BiocParallel bumphunter cluster doFuture dplyr future GenomeInfoDb ggplot2 gridExtra gtools IRanges limma magrittr minfi SummarizedExperiment superheat tmle wesanderson]; };
   mfa = derive2 { name="mfa"; version="1.0.0"; sha256="17mwf4p4cr4xz1g32p4j0jaxvzfvjzilyrl9nv686nr7cplgkbgp"; depends=[Biobase coda dplyr ggmcmc ggplot2 magrittr MCMCglmm MCMCpack Rcpp tibble]; };
   mgsa = derive2 { name="mgsa"; version="1.26.0"; sha256="087hmvrrd5x1s6198g9q8nwrpd36zywg39dl4l6x8qkr7zgjzakb"; depends=[gplots]; };
-  miRBaseConverter = derive2 { name="miRBaseConverter"; version="1.0.0"; sha256="0nx31s6lq6270qj0lx0f8f14959vwhfcyzs1n9h3rs0jwagr41kx"; depends=[]; };
+  miRBaseConverter = derive2 { name="miRBaseConverter"; version="1.0.4"; sha256="1cjjikbw6anb1cgwl4718lv1k5acc2fhl6c0gmszdl16x8z2yyz1"; depends=[]; };
   miRLAB = derive2 { name="miRLAB"; version="1.8.0"; sha256="0fj96h1xan56sc71ycc4c5b2q7chncsknmdlj318lz95mydbiwdv"; depends=[energy entropy glmnet gplots Hmisc httr impute limma pcalg RCurl Roleswitch stringr]; };
   miRNAmeConverter = derive2 { name="miRNAmeConverter"; version="1.6.0"; sha256="1chsigqmfxajd8gll2rq7ccbrsgp9k0cddn4ds4zkiiz6a79iiww"; depends=[AnnotationDbi DBI miRBaseVersions_db]; };
   miRNApath = derive2 { name="miRNApath"; version="1.38.0"; sha256="11137kg0a1l8z2aiz6qisg1gq21rpgzhwr4z8dg0bkh9137jwnx8"; depends=[]; };
@@ -1169,7 +1169,7 @@ in with self; {
   miRmine = derive2 { name="miRmine"; version="1.0.0"; sha256="09sxjj2pj4s03dqqphywyhvmk3q2gvdn2nph5nplqwny6q9m2i1v"; depends=[SummarizedExperiment]; };
   miRsponge = derive2 { name="miRsponge"; version="1.2.0"; sha256="0c3213hpf78ynqlaj12p0j9172gvlrhrx4rn4kmr6g1ja9xk80k7"; depends=[clusterProfiler corpcor DOSE igraph ProNet ReactomePA survival varhandle]; };
   microRNA = derive2 { name="microRNA"; version="1.36.0"; sha256="0mc81fy9y3jgc3ll074ksmw72d8yp29pyaankn3na24r96lfcxnj"; depends=[Biostrings]; };
-  microbiome = derive2 { name="microbiome"; version="1.0.0"; sha256="13hfia6y1bnzx68gkbb9jhpg9m4mbjn6js69zmhg68c3s7l7s1lk"; depends=[dplyr ggplot2 phyloseq reshape2 tidyr vegan]; };
+  microbiome = derive2 { name="microbiome"; version="1.0.2"; sha256="185igm8dr5irc4bhgjflkxax0gk4lgm3zznqazv378j435194xgh"; depends=[dplyr ggplot2 phyloseq reshape2 tidyr vegan]; };
   mimager = derive2 { name="mimager"; version="1.2.0"; sha256="14r0h676nhsbg175hj7jmkp1ny5wfhykmy2jm2s9qgdsfrgacgv2"; depends=[affy affyPLM Biobase BiocGenerics DBI gtable oligo oligoClasses preprocessCore S4Vectors scales]; };
   minet = derive2 { name="minet"; version="3.36.0"; sha256="1ig9kwh7fvhpglxkda9l5nkaz3rmhl6bc006h6mrz9hl130vmnn8"; depends=[infotheo]; };
   minfi = derive2 { name="minfi"; version="1.24.0"; sha256="1pk5savz9ziarx2iajqnck4vjmh3bnrmzy5m06vx3vmcww46ddi7"; depends=[beanplot Biobase BiocGenerics Biostrings bumphunter data_table genefilter GenomeInfoDb GenomicRanges GEOquery illuminaio IRanges lattice limma MASS matrixStats mclust nlme nor1mix preprocessCore quadprog RColorBrewer reshape S4Vectors siggenes SummarizedExperiment]; };
@@ -1177,10 +1177,10 @@ in with self; {
   missMethyl = derive2 { name="missMethyl"; version="1.12.0"; sha256="1fvpny7x56l55zhgabm6al2i2n0hix7fp7d01bzirsn7chxpwny3"; depends=[AnnotationDbi BiasedUrn GO_db IlluminaHumanMethylation450kanno_ilmn12_hg19 IlluminaHumanMethylation450kmanifest IlluminaHumanMethylationEPICanno_ilm10b2_hg19 IlluminaHumanMethylationEPICmanifest limma methylumi minfi org_Hs_eg_db ruv statmod stringr]; };
   mitoODE = derive2 { name="mitoODE"; version="1.16.0"; sha256="11kyihynbl3kcrngv8dhiqn3ghpkvv0xi35pf8np2p41zdhbrpyv"; depends=[KernSmooth MASS minpack_lm mitoODEdata]; };
   mogsa = derive2 { name="mogsa"; version="1.12.2"; sha256="0a29q9jak4vr05ngh2pcsfifa9i6p086acjk2qrzwnc3lcfm00bm"; depends=[Biobase BiocGenerics cluster corpcor genefilter gplots graphite GSEABase svd]; };
-  monocle = derive2 { name="monocle"; version="2.6.1"; sha256="1s3g488jyb0lbdsx4jkpzfl47kpcrnmn2n3bi85if1jmgvlxahvv"; depends=[Biobase BiocGenerics biocViews cluster combinat DDRTree densityClust dplyr fastICA ggplot2 HSMMSingleCell igraph irlba limma MASS Matrix matrixStats pheatmap plyr proxy qlcMatrix RANN Rcpp reshape2 Rtsne slam stringr tibble VGAM viridis]; };
+  monocle = derive2 { name="monocle"; version="2.6.4"; sha256="1x4y02kn8spzz8y4hgmis9h2l494ys2j1vjs0axh32fp1rpc6d8c"; depends=[Biobase BiocGenerics biocViews cluster combinat DDRTree densityClust dplyr fastICA ggplot2 HSMMSingleCell igraph irlba limma MASS Matrix matrixStats pheatmap plyr proxy qlcMatrix RANN Rcpp reshape2 Rtsne slam stringr tibble VGAM viridis]; };
   mosaics = derive2 { name="mosaics"; version="2.16.0"; sha256="08q48zakyfydrj8vix3a5w0j4ix5h1hpqccv0jxgj55gpdc062kj"; depends=[GenomeInfoDb GenomicAlignments GenomicRanges IRanges lattice MASS Rcpp Rsamtools S4Vectors]; };
   motifRG = derive2 { name="motifRG"; version="1.22.0"; sha256="193zl2rlzwxv9p9q5i7rilj3w05ndqfyp9bdpvagp5s5cin4hf44"; depends=[Biostrings BSgenome BSgenome_Hsapiens_UCSC_hg19 IRanges seqLogo XVector]; };
-  motifStack = derive2 { name="motifStack"; version="1.22.2"; sha256="05kbp0j0hqpx22fn47r4fcws3hgv5j0496n5srwz1qdlm10igs23"; depends=[ade4 Biostrings grImport htmlwidgets MotIV scales XML]; };
+  motifStack = derive2 { name="motifStack"; version="1.22.4"; sha256="13wrpdgyhzrqdp7k0d7iym2pjjla46rh3i1qwm34j22n7j0pxs8x"; depends=[ade4 Biostrings grImport htmlwidgets MotIV scales XML]; };
   motifbreakR = derive2 { name="motifbreakR"; version="1.8.0"; sha256="1jfff6jgvrylhnpyc5zq1fah33xq8vf7hypv22vg7js6m8bmcx5j"; depends=[BiocGenerics BiocParallel Biostrings BSgenome GenomeInfoDb GenomicRanges grImport Gviz IRanges matrixStats MotifDb motifStack rtracklayer S4Vectors stringr TFMPvalue VariantAnnotation]; };
   motifcounter = derive2 { name="motifcounter"; version="1.2.1"; sha256="1k47yca1w59w0k7w4cxahhq4r2jyb8vflpzmrl7wnypb4lf9mbc0"; depends=[Biostrings]; };
   motifmatchr = derive2 { name="motifmatchr"; version="1.0.1"; sha256="0a7hg307f274n8vxknl0381xpvgphsim07pk7dnh0af3a63lh2ji"; depends=[Biostrings BSgenome GenomeInfoDb GenomicRanges IRanges Matrix Rcpp RcppArmadillo Rsamtools S4Vectors SummarizedExperiment TFBSTools]; };
@@ -1196,13 +1196,13 @@ in with self; {
   multiscan = derive2 { name="multiscan"; version="1.38.0"; sha256="07fb0a7kn8bjvq9cx4dvdjrf92830vwpz5n31mgk58aw3vg3mz66"; depends=[Biobase]; };
   multtest = derive2 { name="multtest"; version="2.34.0"; sha256="0n11rd49xl2vn3ldmfips7d3yb70l8npjcqsxyswr9ypjhgzkv9j"; depends=[Biobase BiocGenerics MASS survival]; };
   muscle = derive2 { name="muscle"; version="3.20.0"; sha256="16kawdvm08hag2kghdn438z0ysby67p989v3xlcf9r8f62isw6b7"; depends=[Biostrings]; };
-  mvGST = derive2 { name="mvGST"; version="1.12.0"; sha256="12fm1xgini0l5x2xbp9qkxigdvii7yjdwww420bn7ymz4z97865c"; depends=[annotate AnnotationDbi GO_db GOstats gProfileR graph Rgraphviz stringr topGO]; };
+  mvGST = derive2 { name="mvGST"; version="1.12.2"; sha256="132s30c116gmbimzf1jw70p0pz4fv6lbfqb90sxnzbqvb8alvs0h"; depends=[annotate AnnotationDbi GO_db GOstats gProfileR graph Rgraphviz stringr topGO]; };
   mygene = derive2 { name="mygene"; version="1.14.0"; sha256="0qqkpsqk99575rc49kj7s5yl22jb96gmk47i5lm700qi4v9fyim4"; depends=[GenomicFeatures Hmisc httr jsonlite plyr S4Vectors sqldf]; };
   myvariant = derive2 { name="myvariant"; version="1.8.0"; sha256="1r4hqy5jz4xqswj3pfzxmncjapjmcksbx428f7lfncj844198g1q"; depends=[GenomeInfoDb Hmisc httr jsonlite magrittr plyr S4Vectors VariantAnnotation]; };
   mzID = derive2 { name="mzID"; version="1.16.0"; sha256="0yk70dka56zd8w62f03ggx3mandj91gfa767h9ajj0sd3mjmfqb9"; depends=[doParallel foreach iterators plyr ProtGenerics XML]; };
   mzR = derive2 { name="mzR"; version="2.12.0"; sha256="1x3gp30sfxz2v3k3swih9kff9b2rvk7hzhnlkp6ywlnn2wgb0q8c"; depends=[Biobase BiocGenerics ProtGenerics Rcpp zlibbioc]; };
   ncdfFlow = derive2 { name="ncdfFlow"; version="2.24.0"; sha256="1rvqlfzdbqz7a035c2d0rfziail71pvyla6fi3mv1xzrm2vpw0b8"; depends=[BH Biobase BiocGenerics flowCore flowViz Rcpp RcppArmadillo Rhdf5lib zlibbioc]; };
-  ndexr = derive2 { name="ndexr"; version="1.0.3"; sha256="05wnjya61w0mbskrfs9k5w04pr3hcf4c8w15y85z7j1vxjhpgwjq"; depends=[httr igraph jsonlite plyr tidyr]; };
+  ndexr = derive2 { name="ndexr"; version="1.0.4"; sha256="1hr49a3svk65d585yix13ggd57zv5zzmavb81c452y2jpay0www0"; depends=[httr igraph jsonlite plyr tidyr]; };
   nem = derive2 { name="nem"; version="2.52.0"; sha256="0114b8nzv07gii87rdcvia6n7jn203f5whx6x6x54ijxq8m1fkk8"; depends=[boot e1071 graph limma plotrix RBGL RColorBrewer Rgraphviz statmod]; };
   netReg = derive2 { name="netReg"; version="1.2.0"; sha256="1cmh66m5zp1awrg79f8d09b48shq8hyjvkz6mfxrnvqbcj32v8ph"; depends=[Rcpp RcppArmadillo]; };
   netbenchmark = derive2 { name="netbenchmark"; version="1.10.0"; sha256="173jmvslg8vj078psnvk6s4sns8n9zv2z8hkq6iq64pavmn9cf91"; depends=[c3net corpcor fdrtool GeneNet grndata Matrix minet PCIT pracma randomForest Rcpp]; };
@@ -1231,7 +1231,7 @@ in with self; {
   ontoCAT = derive2 { name="ontoCAT"; version="1.29.0"; sha256="057sbc0s08i22gjg886ngz0k59r4v29ssh11qj0wyv4n5g3zs0hg"; depends=[rJava]; };
   ontoProc = derive2 { name="ontoProc"; version="1.0.0"; sha256="0la7lcynmdgavvzdz7b5g726pm4205r8194dnsmnhc5h3lryr36k"; depends=[AnnotationDbi Biobase ontologyIndex S4Vectors shiny]; };
   openCyto = derive2 { name="openCyto"; version="1.16.1"; sha256="1qzx0qq1d2hi5whqi0kbg8xmjbglv6j2fli3wcx932g66lxwg3sv"; depends=[Biobase clue data_table flowClust flowCore flowStats flowViz flowWorkspace graph gtools ks lattice MASS ncdfFlow plyr R_utils RBGL RColorBrewer Rcpp rrcov]; };
-  openPrimeR = derive2 { name="openPrimeR"; version="1.0.0"; sha256="0x4h7lcanzclcxnbrj2hii5mpv2b7rm5izm9p51drqylr69gvns2"; depends=[ape BiocGenerics Biostrings DECIPHER digest distr distrEx dplyr fitdistrplus foreach GenomicRanges ggplot2 Hmisc IRanges lpSolveAPI magrittr openxlsx plyr RColorBrewer reshape2 S4Vectors scales seqinr stringdist stringr uniqtag XML]; };
+  openPrimeR = derive2 { name="openPrimeR"; version="1.0.4"; sha256="1gw4b7df390q40zy0bnv0wlwr9dwji99rhgy678k32nm8r2cdc19"; depends=[ape BiocGenerics Biostrings DECIPHER digest distr distrEx dplyr fitdistrplus foreach GenomicRanges ggplot2 Hmisc IRanges lpSolveAPI magrittr openxlsx plyr RColorBrewer reshape2 S4Vectors scales seqinr stringdist stringr uniqtag XML]; };
   openPrimeRui = derive2 { name="openPrimeRui"; version="1.0.0"; sha256="1mchbalmq6mbxp9mdrmndz3pja7j1ffx5xglnzglfdqm2004gdlf"; depends=[DT openPrimeR rmarkdown shiny shinyBS shinyjs]; };
   oposSOM = derive2 { name="oposSOM"; version="1.16.0"; sha256="1855wrszaxwc8rghhn1hgj6hrp5mxsyffbs9ccjckq5jl3z7z1mj"; depends=[ape arules Biobase biomaRt fastICA fdrtool igraph pixmap scatterplot3d som tsne]; };
   oppar = derive2 { name="oppar"; version="1.6.0"; sha256="0h4wfgjq8xm5f6bcaj5vxy686ymr42r3ig9zw93ayycpfl81p275"; depends=[Biobase GSEABase GSVA]; };
@@ -1254,7 +1254,7 @@ in with self; {
   pcaGoPromoter = derive2 { name="pcaGoPromoter"; version="1.22.0"; sha256="0371ns6702nk5s3pj59z04i2sjf24sj0wm3m4rj67q4p5v7v1ksz"; depends=[AnnotationDbi Biostrings ellipse]; };
   pcaMethods = derive2 { name="pcaMethods"; version="1.70.0"; sha256="0ii235g0x0492kh8cfrf28ni0b6vd6fh7kizkqmczzqggd6b1bk8"; depends=[Biobase BiocGenerics MASS Rcpp]; };
   pcot2 = derive2 { name="pcot2"; version="1.46.0"; sha256="1pymhr9ypp5g27bbnayrz4ks8rg5j634bf4l596m2b6c4q9d9rc5"; depends=[amap Biobase]; };
-  pcxn = derive2 { name="pcxn"; version="1.0.0"; sha256="105mzgy6bcwmk1nsnlr44bik8pazyjc7zcqn56732g1dj5na5v5w"; depends=[pcxnData pheatmap]; };
+  pcxn = derive2 { name="pcxn"; version="2.0.0"; sha256="1iq3i3cj7zq7xyprgjv4v4whycm67lzcrsz9p08lxyzz7ci2y6xn"; depends=[pcxnData pheatmap]; };
   pdInfoBuilder = derive2 { name="pdInfoBuilder"; version="1.42.0"; sha256="0cs47qzkpphixcwn3fl9pfrw1qans8y51y8lb9phikh4s8cdq061"; depends=[affxparser Biobase BiocGenerics Biostrings DBI IRanges oligo oligoClasses RSQLite S4Vectors]; };
   pdmclass = derive2 { name="pdmclass"; version="1.47.0"; sha256="1grc1fyn8yhwixi7638bsyb3zc6zhzzrbfh4hcpqk6gf653dls63"; depends=[Biobase fibroEset mda]; };
   pepStat = derive2 { name="pepStat"; version="1.12.0"; sha256="0bnak90zfycd5a9qkz4lhwk4h61pr0pwn3hzaksxcv6c025h0mwm"; depends=[Biobase data_table fields GenomicRanges ggplot2 IRanges limma plyr]; };
@@ -1278,7 +1278,7 @@ in with self; {
   plw = derive2 { name="plw"; version="1.38.0"; sha256="1mys9rslhc3rb23wbvlnxwl4dcca2m395bxfg7i4217hvzai7b25"; depends=[affy MASS]; };
   pmm = derive2 { name="pmm"; version="1.10.0"; sha256="1bzmh0p0c649sqp1lhz8zdqh4k7b3n78akgn2wlhawjbx3lb5f6i"; depends=[lme4]; };
   podkat = derive2 { name="podkat"; version="1.10.0"; sha256="0c93gnrcw8rwq9r4f7kkpsdjflarwixjpadaa05w98vqa9x5ycc4"; depends=[Biobase BiocGenerics Biostrings BSgenome GenomeInfoDb GenomicRanges IRanges Matrix Rcpp Rsamtools]; };
-  polyester = derive2 { name="polyester"; version="1.14.0"; sha256="1pxlkncfnrd15l1n4j5mj04in9pr6fxmxcwlrsqrqn58x4hk4kxs"; depends=[Biostrings IRanges limma logspline S4Vectors zlibbioc]; };
+  polyester = derive2 { name="polyester"; version="1.14.1"; sha256="10dj2qy5b94qd0j0rm7a6j50zqaxdjjwy583cgci158cf8s8y915"; depends=[Biostrings IRanges limma logspline S4Vectors zlibbioc]; };
   ppiStats = derive2 { name="ppiStats"; version="1.44.0"; sha256="14xrvcfbp177mpdlzi2kxmv0v9j93i4r1xsw06fr3gw9a7l6zg3r"; depends=[Biobase Category graph lattice ppiData RColorBrewer ScISI]; };
   pqsfinder = derive2 { name="pqsfinder"; version="1.6.3"; sha256="0rf0sjd1gsdvn1qilckp5y9vb7j3wgs9h12gcxcjfrcaax8b3h6h"; depends=[BH Biostrings GenomicRanges IRanges Rcpp S4Vectors]; };
   prada = derive2 { name="prada"; version="1.54.0"; sha256="19f8h411mzbrim1wvncr7wa3ah0qc1vy9kzcbx64pcif2xfb5qin"; depends=[Biobase BiocGenerics MASS RColorBrewer rrcov]; };
@@ -1293,7 +1293,7 @@ in with self; {
   prot2D = derive2 { name="prot2D"; version="1.16.0"; sha256="1fp530fammi9xifx5g72jz8k7y3chjfg3mpybsbf5pzvva1429sj"; depends=[Biobase fdrtool impute limma MASS Mulcom qvalue samr st]; };
   proteinProfiles = derive2 { name="proteinProfiles"; version="1.18.0"; sha256="069ksj5md9m7zylqwy6pyj3p9pa4j04vn4ss4d2r8n7a5z8f7d1g"; depends=[]; };
   proteoQC = derive2 { name="proteoQC"; version="1.14.0"; sha256="1kv8ah7pbfl1gbb1pnjlmdw5bskfyh0hsn0nxraz0ybvwzn3kdsl"; depends=[dplyr ggplot2 MSnbase Nozzle_R1 plotly plyr reshape2 rmarkdown rpx rTANDEM seqinr tidyr VennDiagram XML]; };
-  psichomics = derive2 { name="psichomics"; version="1.4.4"; sha256="1h8vg90nlvjmpz8ific6n41xqc3fzs1133hvbyrjzqbwqy0cgqzp"; depends=[AnnotationHub cluster colourpicker data_table digest dplyr DT edgeR fastICA fastmatch ggplot2 ggrepel highcharter htmltools httr jsonlite limma miscTools pairsD3 plyr R_utils Rcpp shiny shinyBS shinyjs stringr survival XML xtable]; };
+  psichomics = derive2 { name="psichomics"; version="1.4.5"; sha256="0lvkbjkdg5m1ni6rrnzzq2d2p5j0156vp2q9i3c8ji40fp7rx0vv"; depends=[AnnotationHub cluster colourpicker data_table digest dplyr DT edgeR fastICA fastmatch ggplot2 ggrepel highcharter htmltools httr jsonlite limma miscTools pairsD3 plyr R_utils Rcpp shiny shinyBS shinyjs stringr survival XML xtable]; };
   psygenet2r = derive2 { name="psygenet2r"; version="1.10.0"; sha256="0xf03vjyjiz4093cqnvi3dm532scx3f17mcf0av96h052vy10qb7"; depends=[BgeeDB Biobase BiocInstaller biomaRt ggplot2 GO_db igraph labeling RCurl reshape2 stringr topGO]; };
   puma = derive2 { name="puma"; version="3.20.0"; sha256="0pcwppa2zlzpfl5fafl4h5xcf0pnyvz3hkykl192hzp26wcjsc1i"; depends=[affy affyio Biobase mclust oligo oligoClasses]; };
   pvac = derive2 { name="pvac"; version="1.26.0"; sha256="0lmwy5a74ikq0sl6zqw69kag6q3p092qwh1lzvv7rl2j9wm2yl46"; depends=[affy Biobase]; };
@@ -1329,7 +1329,7 @@ in with self; {
   rcellminer = derive2 { name="rcellminer"; version="2.0.0"; sha256="1y5rzv9ggfxgyy4z5hm7awd8zb8n57qr2954p2j4ikhj62b6h6z2"; depends=[Biobase fingerprint ggplot2 gplots rcdk rcellminerData shiny stringr]; };
   readat = derive2 { name="readat"; version="1.4.0"; sha256="10pib536kmkpi3ij8cccxyap7zw0q1jfd1bcv4c38vn04jm3smaa"; depends=[assertive_base assertive_files assertive_numbers assertive_properties assertive_sets assertive_types Biobase data_table dplyr magrittr openxlsx pathological reshape2 stringi SummarizedExperiment testthat tidyr]; };
   reb = derive2 { name="reb"; version="1.56.0"; sha256="0sh9r77r2s3fmkbkwrazl705dqwr2wh0mx34pxhjfvfic0jc1r5x"; depends=[Biobase idiogram]; };
-  recount = derive2 { name="recount"; version="1.4.4"; sha256="1pm7p4qfnqajmm8ym5bq71hi8bjrm6xjax838x79b67d825nhsw9"; depends=[BiocParallel derfinder downloader GenomeInfoDb GenomicRanges GEOquery IRanges RCurl rentrez rtracklayer S4Vectors SummarizedExperiment]; };
+  recount = derive2 { name="recount"; version="1.4.6"; sha256="0gqv59rm9k5kcfiq99vxz9g86p2vy7znq5cd84bc7hg6qkva1ah0"; depends=[BiocParallel derfinder downloader GenomeInfoDb GenomicRanges GEOquery IRanges RCurl rentrez rtracklayer S4Vectors SummarizedExperiment]; };
   recoup = derive2 { name="recoup"; version="1.6.0"; sha256="09i0c2wv9c6hqc4mq6kklp0maqskpfxj871j44256dxlfh81xm3b"; depends=[BiocGenerics biomaRt circlize ComplexHeatmap GenomicAlignments GenomicRanges ggplot2 plyr rtracklayer]; };
   regionReport = derive2 { name="regionReport"; version="1.12.2"; sha256="1fvkmd2yfkvkj44ldywr1z0l1cn7c64nq3920fhlarqygv92d7xx"; depends=[BiocStyle DEFormats derfinder DESeq2 GenomeInfoDb GenomicRanges knitcitations knitr knitrBootstrap RefManageR rmarkdown S4Vectors SummarizedExperiment]; };
   regioneR = derive2 { name="regioneR"; version="1.10.0"; sha256="1vprp3l929hwzmvgskbhawfgnrymwc9n2rxd16rgagnv1dxnjxfp"; depends=[BSgenome GenomeInfoDb GenomicRanges IRanges memoise rtracklayer S4Vectors]; };
@@ -1339,7 +1339,7 @@ in with self; {
   rfPred = derive2 { name="rfPred"; version="1.16.0"; sha256="1m79rykh534iss41nw62j0dyx6v0vqk543m7dlgl7zm2kpyzdpc3"; depends=[data_table GenomicRanges IRanges Rsamtools]; };
   rgsepd = derive2 { name="rgsepd"; version="1.10.0"; sha256="0r1adlc7dxwnm8h6nh4w05z3bffvr10cch7i68a7dli968yza2vj"; depends=[AnnotationDbi biomaRt DESeq2 GO_db goseq gplots hash org_Hs_eg_db SummarizedExperiment]; };
   rhdf5 = derive2 { name="rhdf5"; version="2.22.0"; sha256="145858qg1xan6imxcbprzq3yn3mdf532aahdr6cibvdjg47hs4c1"; depends=[zlibbioc]; };
-  rhdf5client = derive2 { name="rhdf5client"; version="1.0.6"; sha256="1h2dvz4rx11gsxj2fy61jwbkxgdx1jq0xahxyq7mclkbc4p8v4xy"; depends=[httr rjson S4Vectors]; };
+  rhdf5client = derive2 { name="rhdf5client"; version="1.0.7"; sha256="0hq812larfzim4cpq26mx6ckcrpz6p1m55xl2z9dk7zwqapnd2ri"; depends=[httr rjson S4Vectors]; };
   riboSeqR = derive2 { name="riboSeqR"; version="1.12.0"; sha256="0fg2zn5az1djdjnsrli26rl53ljrrjzmspx02dmgwf1a7nm7qmfz"; depends=[abind baySeq GenomeInfoDb GenomicRanges IRanges Rsamtools seqLogo]; };
   rnaSeqMap = derive2 { name="rnaSeqMap"; version="2.36.0"; sha256="0y0mxzs24jz9nxcvjxymj0zxjfn1rlx3d8dzvdmfn98lbgyzm4dv"; depends=[Biobase DBI DESeq edgeR GenomicAlignments GenomicRanges IRanges Rsamtools]; };
   rnaseqcomp = derive2 { name="rnaseqcomp"; version="1.8.0"; sha256="050dc6asknh8snk6xkvpp5ivyikalslsawadh11lnw5wb4fixmhm"; depends=[RColorBrewer]; };
@@ -1369,7 +1369,7 @@ in with self; {
   scmap = derive2 { name="scmap"; version="1.1.5"; sha256="0jqgk9sjb5bp5gbzq14vsif5gd5ry4213glvnpmhgqm23hmwbfhi"; depends=[Biobase BiocGenerics dplyr e1071 ggplot2 googleVis matrixStats proxy randomForest Rcpp RcppArmadillo reshape2 S4Vectors SingleCellExperiment SummarizedExperiment]; };
   scone = derive2 { name="scone"; version="1.2.0"; sha256="1xq48d3z78p54iclb1ii074i7f88qfzh5djfiyrwf3k6gsapadfi"; depends=[aroma_light BiocParallel boot class cluster compositions diptest edgeR fpc gplots hexbin limma matrixStats mixtools rARPACK RColorBrewer rhdf5 RUVSeq SummarizedExperiment]; };
   scoreInvHap = derive2 { name="scoreInvHap"; version="1.0.0"; sha256="04q2rs1gw7v97lwcialyswqzl0kd5c5298v60cm6wha25i6lwgbs"; depends=[BiocParallel Biostrings GenomicRanges snpStats SummarizedExperiment VariantAnnotation]; };
-  scran = derive2 { name="scran"; version="1.6.7"; sha256="0zfm5i8xrnzb3894xygqd6zkbwaa2x3z74wbxw39fcjhyhxv2hmb"; depends=[beachmat BiocGenerics BiocParallel DT dynamicTreeCut edgeR FNN ggplot2 igraph limma Matrix Rcpp Rhdf5lib S4Vectors scater shiny SingleCellExperiment statmod SummarizedExperiment viridis zoo]; };
+  scran = derive2 { name="scran"; version="1.6.9"; sha256="0cs64cnf0xjcgmawr210y99j3gxs6aqgh8081n9827kkqnx2y5dm"; depends=[beachmat BiocGenerics BiocParallel DT dynamicTreeCut edgeR FNN ggplot2 igraph limma Matrix Rcpp Rhdf5lib S4Vectors scater shiny SingleCellExperiment statmod SummarizedExperiment viridis zoo]; };
   scsR = derive2 { name="scsR"; version="1.14.0"; sha256="05xqrv1babqvlvr4m5k0r7yy4fbr0y46f3i4v4zcjilda1qf54pb"; depends=[BiocGenerics Biostrings ggplot2 hash IRanges plyr RColorBrewer sqldf STRINGdb]; };
   segmentSeq = derive2 { name="segmentSeq"; version="2.12.0"; sha256="0jqdddzrxahf6i7cmaay5v9ig9969avhv8ddh72v6ndfphlkfb64"; depends=[abind baySeq GenomeInfoDb GenomicRanges IRanges Rsamtools S4Vectors ShortRead]; };
   semisup = derive2 { name="semisup"; version="1.2.0"; sha256="14q2p38a8r4ry8swwi88k96rchmcnplknq1a62lvm98k09k1887r"; depends=[SummarizedExperiment VGAM]; };
@@ -1382,7 +1382,7 @@ in with self; {
   seqbias = derive2 { name="seqbias"; version="1.26.0"; sha256="1i1zqslv0qws12x45c37h7fkgpz5wv3v87h72n4pw8gh80bgcafl"; depends=[Biostrings GenomicRanges Rsamtools zlibbioc]; };
   seqcombo = derive2 { name="seqcombo"; version="1.0.0"; sha256="0bkap2c1061yg2ws2m1fafxi37pqzkg9mzim5sqiq8sgcfmk6na6"; depends=[Biostrings cowplot dplyr ggplot2 igraph magrittr rvcheck]; };
   seqplots = derive2 { name="seqplots"; version="1.16.0"; sha256="1plwmdq2hjcqs94l7s03h9amcxdimwdrmi11z03xn10dfn1xig70"; depends=[Biostrings BSgenome class DBI digest DT fields GenomeInfoDb GenomicAlignments GenomicRanges ggplot2 gridExtra IRanges jsonlite kohonen plotrix RColorBrewer reshape2 Rsamtools RSQLite rtracklayer S4Vectors shiny]; };
-  sevenbridges = derive2 { name="sevenbridges"; version="1.8.0"; sha256="1jlw69yxh697q3bwd54mvzfiqskg469jyyh97sqnlizjmm5hiw11"; depends=[curl docopt dplyr httr jsonlite liftr miniUI objectProperties rstudioapi S4Vectors shiny stringr uuid yaml]; };
+  sevenbridges = derive2 { name="sevenbridges"; version="1.8.1"; sha256="0v22pwyrgxh6mjqqcxz9ix7ripl5xds0l8p38w0w08ynbdns1w5b"; depends=[curl docopt dplyr httr jsonlite liftr miniUI objectProperties rstudioapi S4Vectors shiny stringr uuid yaml]; };
   shinyMethyl = derive2 { name="shinyMethyl"; version="1.14.0"; sha256="17w7shgr4s5w3y1ik8zgr9brv7q87dx9l6dfqywsyvfmmkddimwa"; depends=[BiocGenerics IlluminaHumanMethylation450kmanifest matrixStats minfi RColorBrewer shiny]; };
   shinyTANDEM = derive2 { name="shinyTANDEM"; version="1.16.0"; sha256="17x0bq1kzvmqqf30y0dmmp9777i62525mp4ysyv2m6vb9bgrbc4y"; depends=[mixtools rTANDEM shiny xtable]; };
   sigPathway = derive2 { name="sigPathway"; version="1.46.0"; sha256="18nn7rpg67dz30v1drm0lnsb1wnww7maxdg4gk960wayasp8hk2z"; depends=[]; };
@@ -1406,7 +1406,7 @@ in with self; {
   specL = derive2 { name="specL"; version="1.12.0"; sha256="03bkh0z3pd6jl47wq2h6zd73fvaggwnaj2b4ibijwkg1643mfiip"; depends=[DBI protViz Rcpp RSQLite seqinr]; };
   spikeLI = derive2 { name="spikeLI"; version="2.38.0"; sha256="00fixl9jpjfm0qgsg1lwi0315sa53j1j9fbrl69j8y2gbr8kgg28"; depends=[]; };
   spkTools = derive2 { name="spkTools"; version="1.34.0"; sha256="0vpyv78c6c58qrcz91mir7jh9gx2j2l48bclabvgi0k2156wpwn7"; depends=[Biobase gtools RColorBrewer]; };
-  splatter = derive2 { name="splatter"; version="1.2.1"; sha256="0iap91mmfan5p8wcpkxmqrrlk4zhgcigl08js5k1kcizmqkiar5g"; depends=[akima BiocGenerics BiocParallel checkmate edgeR fitdistrplus ggplot2 locfit matrixStats scales scater SingleCellExperiment SummarizedExperiment]; };
+  splatter = derive2 { name="splatter"; version="1.2.2"; sha256="05bqmck2hszxlvj0vb1j7fbyv4fp2q7bjv7ywlg6hs9bx7zk1iaj"; depends=[akima BiocGenerics BiocParallel checkmate edgeR fitdistrplus ggplot2 locfit matrixStats scales scater SingleCellExperiment SummarizedExperiment]; };
   spliceR = derive2 { name="spliceR"; version="1.20.0"; sha256="1skwj4cqf4s14df42jgy5b9fxrb5c5np9khc0wkg732qddbdlagd"; depends=[cummeRbund GenomicRanges IRanges plyr RColorBrewer rtracklayer VennDiagram]; };
   spliceSites = derive2 { name="spliceSites"; version="1.26.0"; sha256="19av0wkdvy4x4p0nkhy9ca450d6j0s68m2lp26116ydh4lzv4p8x"; depends=[Biobase BiocGenerics Biostrings doBy IRanges rbamtools refGenome seqLogo]; };
   splicegear = derive2 { name="splicegear"; version="1.50.0"; sha256="0i47l91p77s4acgrx9c8ll2va7amysw1g2acs36mn99hpz86v4m4"; depends=[annotate Biobase XML]; };
@@ -1423,7 +1423,7 @@ in with self; {
   stepNorm = derive2 { name="stepNorm"; version="1.50.0"; sha256="10fd623pqy944q9l913bv1a3dh7wk4i0r211hvvzdr39kfhjl6mf"; depends=[marray MASS]; };
   subSeq = derive2 { name="subSeq"; version="1.8.0"; sha256="1z9qwfclhnnvcp4r4zfi201rmgd0hj47rd77x958m1d6d3z65m34"; depends=[Biobase data_table digest dplyr ggplot2 magrittr qvalue tidyr]; };
   supraHex = derive2 { name="supraHex"; version="1.16.0"; sha256="10lhdhlb33p91np6ldmxc8yqgxwly7p37nlacm77q35dp05a453n"; depends=[ape hexbin MASS]; };
-  survcomp = derive2 { name="survcomp"; version="1.28.4"; sha256="185k9srpfzvr51xfbgq1xy39x40cxgcvvq772y9gdk1702fxvyw0"; depends=[bootstrap ipred KernSmooth prodlim rmeta SuppDists survival survivalROC]; };
+  survcomp = derive2 { name="survcomp"; version="1.28.5"; sha256="09winy33410hw6srybaw49m2nb5cyp3fx0ww9gyhhkh73cvb6xwb"; depends=[bootstrap ipred KernSmooth prodlim rmeta SuppDists survival survivalROC]; };
   sva = derive2 { name="sva"; version="3.26.0"; sha256="0q5xb68wfcnchy8rkv5ma67pmz1i91lsnvmwmj8f1c3w4xan3pgw"; depends=[BiocParallel genefilter limma matrixStats mgcv]; };
   swfdr = derive2 { name="swfdr"; version="1.4.0"; sha256="0ls0w09bkxxqv1y50d5c1s0qpxb1xdyall8ypvky8awi7v6jlrcg"; depends=[dplyr ggplot2 reshape2]; };
   switchBox = derive2 { name="switchBox"; version="1.14.0"; sha256="0mhkf4wwd3v3s1148nafbd6x6ys8j933glh4gp3wj24ddmmpxvb2"; depends=[gplots pROC]; };
@@ -1441,15 +1441,15 @@ in with self; {
   timescape = derive2 { name="timescape"; version="1.2.0"; sha256="0v3a7gn2d852h8m0053a57w153z4nlmp5mb5g96kjw06vvwr71jd"; depends=[dplyr gtools htmlwidgets jsonlite stringr]; };
   tkWidgets = derive2 { name="tkWidgets"; version="1.56.0"; sha256="0z1vd0nymyvvrn5jc97q33y9xl6w8pd4wzb6yyfjg8jy85kswfgf"; depends=[DynDoc widgetTools]; };
   tofsims = derive2 { name="tofsims"; version="1.6.0"; sha256="1zpq0c01fqm3yl2mkvx1yl2ajj2a933wa6h7hinrh3mdyix8pzrn"; depends=[ALS ChemometricsWithR KernSmooth ProtGenerics Rcpp RcppArmadillo signal]; };
-  topGO = derive2 { name="topGO"; version="2.30.0"; sha256="1hqffz5qp7glxdvjp37005g8qk5nam3f9wpf6d1wjnzpar04f3dz"; depends=[AnnotationDbi Biobase BiocGenerics DBI GO_db graph lattice matrixStats SparseM]; };
+  topGO = derive2 { name="topGO"; version="2.30.1"; sha256="1cgz4knxr328xfqlhl6ypxl6x86rfrlqz748kn94ainxjzz55i6x"; depends=[AnnotationDbi Biobase BiocGenerics DBI GO_db graph lattice matrixStats SparseM]; };
   topdownr = derive2 { name="topdownr"; version="1.0.0"; sha256="1yshm8a6dirnmda5ydx1ksndbbcrqlp25lrj1rqxnaclqb9xn0g2"; depends=[Biobase BiocGenerics Biostrings ggplot2 Matrix MSnbase mzR S4Vectors]; };
   trackViewer = derive2 { name="trackViewer"; version="1.14.1"; sha256="029yff299x23imqyk62cmxcsvdx34a6b4l9zp4p46iq3jb841h66"; depends=[AnnotationDbi GenomeInfoDb GenomicAlignments GenomicFeatures GenomicRanges grImport Gviz htmlwidgets IRanges pbapply Rsamtools rtracklayer S4Vectors scales]; };
   tracktables = derive2 { name="tracktables"; version="1.12.0"; sha256="02l5n4sbwzig5kdnjyhhqpiwskaf8f4pqkra3m511vrqfpmd39f3"; depends=[GenomicRanges IRanges RColorBrewer Rsamtools stringr tractor_base XML XVector]; };
   transcriptR = derive2 { name="transcriptR"; version="1.6.0"; sha256="0malha3w4vm21bmqdvn8y9q37m0ilghbyzmwgayvx9lvy3mfnk2s"; depends=[BiocGenerics caret chipseq e1071 GenomeInfoDb GenomicAlignments GenomicFeatures GenomicRanges ggplot2 IRanges pROC reshape2 Rsamtools rtracklayer S4Vectors]; };
   transcriptogramer = derive2 { name="transcriptogramer"; version="1.0.0"; sha256="08yab83dkwjwbbgf05k05c32yn74ls8xy7lm3yr39sb3nfqmra9n"; depends=[biomaRt data_table doSNOW foreach igraph limma progress RedeR snow topGO]; };
   traseR = derive2 { name="traseR"; version="1.8.0"; sha256="1zqcz7w8pwc2vzjr137iv1bpfddh17kvmqaz7hgs9z1962704l0y"; depends=[BSgenome_Hsapiens_UCSC_hg19 GenomicRanges IRanges]; };
-  treeio = derive2 { name="treeio"; version="1.2.1"; sha256="1m36jqdn9png95zy0n19x4p6ggc8f9sz9708l1kf8as8bhan9rlx"; depends=[ape ggplot2 jsonlite magrittr rvcheck]; };
-  trena = derive2 { name="trena"; version="1.0.0"; sha256="0b7bwm5xfav3m0gnz4mnc6959ha0larqpzlny3r8kxj4gx6cql4j"; depends=[AnnotationDbi BiocParallel biomaRt Biostrings BSgenome BSgenome_Hsapiens_UCSC_hg19 BSgenome_Hsapiens_UCSC_hg38 BSgenome_Mmusculus_UCSC_mm10 DBI flare GenomicRanges glmnet lassopv MotifDb org_Hs_eg_db randomForest RMySQL RPostgreSQL RSQLite SNPlocs_Hsapiens_dbSNP150_GRCh38 stringr vbsr]; };
+  treeio = derive2 { name="treeio"; version="1.2.2"; sha256="1m92hrfgy3lca7x674qp41j2x4gpanfvvc7gsmxw3d1q7fwqlvwl"; depends=[ape ggplot2 jsonlite magrittr rvcheck]; };
+  trena = derive2 { name="trena"; version="1.0.3"; sha256="1yk88mc3lcgm75wzqgl6xz4f1vk1i5q9qybr5m7s71m4dvwszgpb"; depends=[AnnotationDbi BiocParallel biomaRt Biostrings BSgenome BSgenome_Hsapiens_UCSC_hg19 BSgenome_Hsapiens_UCSC_hg38 BSgenome_Mmusculus_UCSC_mm10 DBI flare GenomicRanges glmnet lassopv MotifDb org_Hs_eg_db randomForest RMySQL RPostgreSQL RSQLite SNPlocs_Hsapiens_dbSNP150_GRCh38 stringr vbsr]; };
   triform = derive2 { name="triform"; version="1.20.0"; sha256="09hlnkrbzgk0vn1jcbja2i0hv54pfr2nzf33ik0rabrvv75zhb46"; depends=[BiocGenerics IRanges yaml]; };
   trigger = derive2 { name="trigger"; version="1.24.0"; sha256="16r7b0wy37pbylz9ch6516nygpxrb31qm42i8amh04jy60zw64rw"; depends=[corpcor qtl qvalue sva]; };
   trio = derive2 { name="trio"; version="3.16.0"; sha256="1bw0cy95qrzmg6qiy9j8n4ydi734z3q78l1pnaxagdk1ji5ab577"; depends=[]; };
@@ -1467,14 +1467,14 @@ in with self; {
   vsn = derive2 { name="vsn"; version="3.46.0"; sha256="18y62phzirj75gg6v5l41jwybmk23ia6w7qhch0kxc4bl2rysw6j"; depends=[affy Biobase ggplot2 lattice limma]; };
   vtpnet = derive2 { name="vtpnet"; version="0.18.0"; sha256="02nws97nmlrpzwb5jqm3fmg38mp1qdf41hzwmmprhfhsymnmc4ch"; depends=[doParallel foreach GenomicRanges graph gwascat]; };
   vulcan = derive2 { name="vulcan"; version="1.0.0"; sha256="1yxm6yg7d65wh9rl6k5b6831y4hr5l9nnmfi0azxz1h4x1ghqbdj"; depends=[Biobase caTools ChIPpeakAnno csaw DESeq DiffBind GenomicRanges gplots locfit S4Vectors TxDb_Hsapiens_UCSC_hg19_knownGene viper wordcloud zoo]; };
-  wateRmelon = derive2 { name="wateRmelon"; version="1.22.0"; sha256="1043wwkavdkdwlps5hcqn6hi2jk8w1m1lfb8fp6i4yp82r82zn5h"; depends=[Biobase IlluminaHumanMethylation450kanno_ilmn12_hg19 illuminaio limma lumi matrixStats methylumi ROC]; };
-  wavClusteR = derive2 { name="wavClusteR"; version="2.11.0"; sha256="0f1lk45a9yqr0ysjq8kjpqys8qln2b8ix03nywcqnkl1lk2b5ymi"; depends=[BiocGenerics Biostrings foreach GenomicFeatures GenomicRanges ggplot2 Hmisc IRanges mclust Rsamtools rtracklayer S4Vectors seqinr stringr wmtsa]; };
+  wateRmelon = derive2 { name="wateRmelon"; version="1.22.1"; sha256="08imbxhs4ikm6panz3y64b24d2ghy1s2ksgd8siff53hg2v59rqr"; depends=[Biobase IlluminaHumanMethylation450kanno_ilmn12_hg19 illuminaio limma lumi matrixStats methylumi ROC]; };
+  wavClusteR = derive2 { name="wavClusteR"; version="2.12.1"; sha256="01b8aqwi7nd8l7mkiqgg9skvl0r6y1vwslwchyk95a9l4hkhxrz9"; depends=[BiocGenerics Biostrings foreach GenomicFeatures GenomicRanges ggplot2 Hmisc IRanges mclust Rsamtools rtracklayer S4Vectors seqinr stringr wmtsa]; };
   waveTiling = derive2 { name="waveTiling"; version="1.20.0"; sha256="1dlz548vjnarz15mscmj56jp2hn810w0dy7xprxx22n51h7kb7jg"; depends=[affy Biobase Biostrings GenomeGraphs GenomicRanges IRanges oligo oligoClasses preprocessCore waveslim]; };
   weaver = derive2 { name="weaver"; version="1.44.0"; sha256="06fg8z4gp2mabiy9jrfwkrrz1r4qzzgjk3lxj6d53ii2xhq95vy6"; depends=[codetools digest]; };
   webbioc = derive2 { name="webbioc"; version="1.50.0"; sha256="1kg6apnhq97ypmpx6qm2f7wip81f910mjlg9kmd9zzmhnkrhqamd"; depends=[affy annaffy Biobase BiocInstaller gcrma multtest qvalue vsn]; };
   widgetTools = derive2 { name="widgetTools"; version="1.56.0"; sha256="0xkasd8z4sy9dsb2r7k3x2vhbqh9md39bz3qqwjsz8hgl6f0ggsr"; depends=[]; };
   wiggleplotr = derive2 { name="wiggleplotr"; version="1.2.0"; sha256="1scqvmh16y6c81qlvfa8y9z47p8wl4lccq0sm5wy4jay6zch8mn2"; depends=[assertthat cowplot dplyr GenomeInfoDb GenomicRanges ggplot2 IRanges purrr rtracklayer S4Vectors]; };
-  xcms = derive2 { name="xcms"; version="3.0.0"; sha256="0yy45y7shh70ql8wrpr8bjqsx7i30hjqdgvwaxv4kypf4pxy7rx0"; depends=[Biobase BiocGenerics BiocParallel lattice MassSpecWavelet MSnbase multtest mzR plyr ProtGenerics RANN RColorBrewer S4Vectors]; };
+  xcms = derive2 { name="xcms"; version="3.0.2"; sha256="0qk9mjg4qdv88vmcsdalf59za46ifikxp7snwf5a6n3jaykzx4xl"; depends=[Biobase BiocGenerics BiocParallel lattice MassSpecWavelet MSnbase multtest mzR plyr ProtGenerics RANN RColorBrewer S4Vectors]; };
   xmapbridge = derive2 { name="xmapbridge"; version="1.36.0"; sha256="0jv07kgjh3jkk61bw92kr3s10sai427f93r5j5hjzjhn6wzpahqy"; depends=[]; };
   xps = derive2 { name="xps"; version="1.38.0"; sha256="1xmsbjkcy04nz1npbr2bia1p4x4q6b55mmk0vqkphjl6x93dw6c8"; depends=[]; };
   yamss = derive2 { name="yamss"; version="1.4.0"; sha256="08mq0f27if86wacck1317fhm6gchxqzbj2vj9sxasr865jdzr1r9"; depends=[BiocGenerics data_table EBImage IRanges limma Matrix mzR S4Vectors SummarizedExperiment]; };
diff --git a/pkgs/development/r-modules/cran-packages.nix b/pkgs/development/r-modules/cran-packages.nix
index c91df83d229..ee3dcdef20c 100644
--- a/pkgs/development/r-modules/cran-packages.nix
+++ b/pkgs/development/r-modules/cran-packages.nix
@@ -4,7 +4,7 @@
 # Rscript generate-r-packages.R cran >new && mv new cran-packages.nix
 
 { self, derive }:
-let derive2 = derive { snapshot = "2018-02-20"; };
+let derive2 = derive { snapshot = "2018-04-20"; };
 in with self; {
   A3 = derive2 { name="A3"; version="1.0.0"; sha256="017hq9pjsv1h9i7cqk5cfx27as54shlhdsdvr6jkhb8jfkpdb6cw"; depends=[pbapply xtable]; };
   ABC_RAP = derive2 { name="ABC.RAP"; version="0.9.0"; sha256="1kdspln17v0krvahcd55vib4dv5azp60b3r1zf489x10qqbp1mxk"; depends=[]; };
@@ -18,7 +18,7 @@ in with self; {
   ACD = derive2 { name="ACD"; version="1.5.3"; sha256="1a67bi3hklq8nlc50r0qnyr4k7m9kpvijy8sqqpm54by5hsysfd6"; depends=[]; };
   ACDm = derive2 { name="ACDm"; version="1.0.4"; sha256="0b4f02ga5ra66mbrm79g0bnlzmii82rks9kmxixxqgf18yhlyjil"; depends=[dplyr ggplot2 plyr Rsolnp zoo]; };
   ACEt = derive2 { name="ACEt"; version="1.8.0"; sha256="0626d6kg485xjya164wagrr5z223jvi93ywbwpdns7fkm03c0dlq"; depends=[BH MASS Rcpp RcppArmadillo]; };
-  ACMEeqtl = derive2 { name="ACMEeqtl"; version="1.5"; sha256="0jcwpqr6snvzi55zn24aiqzbbjqpq0h6fiw8m0d01120pna21ks3"; depends=[filematrix]; };
+  ACMEeqtl = derive2 { name="ACMEeqtl"; version="1.6"; sha256="049xjv2ym35bbn43zwi68cq27fwdh404vp0r2ca5gxgmmx8kj1cz"; depends=[filematrix]; };
   ACNE = derive2 { name="ACNE"; version="0.8.1"; sha256="0kzapsalzw6jsi990qicp4glijh5ddnfimsg5pidgbwxg4i05grl"; depends=[aroma_affymetrix aroma_core MASS matrixStats R_filesets R_methodsS3 R_oo R_utils]; };
   ACSNMineR = derive2 { name="ACSNMineR"; version="0.16.8.25"; sha256="0gh604s8qall6zfjlwcg2ilxjvz08dplf9k5g47idhv43scm748l"; depends=[ggplot2 gridExtra scales]; };
   ACSWR = derive2 { name="ACSWR"; version="1.0"; sha256="195vjrkang5cl7gwsna0aq4p0h4jym9xg9yh94bnf8vq6wf8j83n"; depends=[MASS]; };
@@ -27,8 +27,9 @@ in with self; {
   ADDT = derive2 { name="ADDT"; version="2.0"; sha256="044bb1jw2m8vwk5q8l7rlz4kqphjvy8i9d59rjg0k5q5l9vczfrp"; depends=[coneproj Matrix nlme]; };
   ADGofTest = derive2 { name="ADGofTest"; version="0.3"; sha256="0ik817qzqp6kfbckjp1z7srlma0w6z2zcwykh0jdiv7nahwk3ncw"; depends=[]; };
   ADM3 = derive2 { name="ADM3"; version="1.3"; sha256="1hg9wjdhckilqd13dr4cim4j6jsh2sdwm18i3pfmfdj8cyswm3h0"; depends=[]; };
-  ADMM = derive2 { name="ADMM"; version="0.2.1"; sha256="1km9xqglx77nizix9cik7f4y3q0nybff3r6xw9pn1k1kcmm9qjhj"; depends=[Matrix Rcpp RcppArmadillo Rdpack]; };
+  ADMM = derive2 { name="ADMM"; version="0.2.2"; sha256="0rwszi152nm6rrmgh23js2cv0yfrsa6vky4gmrgszxgx8sw221v9"; depends=[Matrix Rcpp RcppArmadillo Rdpack]; };
   ADMMnet = derive2 { name="ADMMnet"; version="0.1"; sha256="15f1zhgv7xai954qz2ahj4kpxyvr2svxpmybz7j43bhjpkq72dmq"; depends=[Matrix Rcpp RcppEigen]; };
+  ADMMsigma = derive2 { name="ADMMsigma"; version="1.0"; sha256="141jzg7cvq1wlscrpb4hfkdshbm0vgzy4cas8vb6abh53j8h2g8q"; depends=[doParallel foreach ggplot2 Rcpp RcppArmadillo]; };
   ADPF = derive2 { name="ADPF"; version="0.0.1"; sha256="1n7302xx77ngvp9i2h582i1mqslzllcdr0bn3pl2zk9jd8k97p7n"; depends=[]; };
   ADPclust = derive2 { name="ADPclust"; version="0.7"; sha256="0s47cpsjykn7imsssa9w9b6g9d1sz2yah78yqzxmh0i3lqd757c1"; depends=[cluster dplyr fields knitr]; };
   AEDForecasting = derive2 { name="AEDForecasting"; version="0.20.0"; sha256="16q2sn5zzvysyy3r32jnr21pbdkkn0k0sbarni6fdkx7pj27yijn"; depends=[changepoint forecast signal]; };
@@ -38,6 +39,7 @@ in with self; {
   AFM = derive2 { name="AFM"; version="1.2.2"; sha256="132zbxim3cbyxhv27l9i3jyhf5c47ckzsg4qndpwbyjhd0p9x7qh"; depends=[data_table dbscan fftwtools fractaldim ggplot2 gridExtra gstat igraph moments plyr png pracma rgl scales shiny shinyjs sp stringr]; };
   AGD = derive2 { name="AGD"; version="0.35"; sha256="1dk8m3zqvapwhz0677d3b2cbrin14p9adn5annzgjrxgw7ms4mg0"; depends=[gamlss gamlss_dist]; };
   AGSDest = derive2 { name="AGSDest"; version="2.3.1"; sha256="10jakc2qs5gnbp0g4k05isy0ii73ric50gmwkbb1khf9x0b5v6dg"; depends=[ldbounds]; };
+  AGread = derive2 { name="AGread"; version="0.1.2"; sha256="17jj6g0df3cldaq4brn1abdivfg7w5bwycbrs70ynmy6iqib8piy"; depends=[data_table dplyr magrittr seewave]; };
   AHMbook = derive2 { name="AHMbook"; version="0.1.4"; sha256="1cxyk420pzhh1scagxjmpm328xrcc1mpdrrch92yfgbgx09zkr4c"; depends=[coda plotrix RandomFields raster sp unmarked]; };
   AHR = derive2 { name="AHR"; version="1.4.2"; sha256="15khncbbnpbvj6rcn6rklzhv5a0mmfyjljv77bsx96zfis7mk2d7"; depends=[etm MASS Rcpp RcppArmadillo survival]; };
   AICcmodavg = derive2 { name="AICcmodavg"; version="2.1-1"; sha256="0y2lgvy0a78wdx4xcq85fkhl4hyvjdljrj199mibisfgkh61amb1"; depends=[lattice MASS Matrix nlme survival unmarked VGAM xtable]; };
@@ -56,31 +58,34 @@ in with self; {
   AMCP = derive2 { name="AMCP"; version="0.0.4"; sha256="051xvnr4zc25w00kh4gkffgigmhmcbqpwh9654jv37glr8ip2v3l"; depends=[]; };
   AMCTestmakeR = derive2 { name="AMCTestmakeR"; version="0.1.0"; sha256="0wqz9akk5340k0z5791dh8zmh7bfrj7ln05xlw548dql47w0xnrk"; depends=[]; };
   AMGET = derive2 { name="AMGET"; version="1.0"; sha256="18wdzzg5wr7akbd1iasa4mvmy44fb2n5gpghwcrx80knnicy3dxq"; depends=[]; };
-  AMIAS = derive2 { name="AMIAS"; version="1.0.1"; sha256="17ay7dgi2c7ybps337ngyc1lg6fy84lxvkqfrr8nf5rjapw8mg6w"; depends=[limSolve Matrix zoo]; };
-  AMModels = derive2 { name="AMModels"; version="0.1.2"; sha256="0503vwagrlg14f8n15p7jsz25mvmjinr1cyns24hpp4y2fgbc56s"; depends=[unmarked]; };
+  AMIAS = derive2 { name="AMIAS"; version="1.0.2"; sha256="142bp8yaa87dpxkjrbcq57pr65x8q921hb5kxrcpghg157y5byn3"; depends=[limSolve Matrix zoo]; };
+  AMModels = derive2 { name="AMModels"; version="0.1.3"; sha256="1lhd15sh550z664qqxw6jpknnh628hm585d70ipx8s4mswi6g4hj"; depends=[unmarked]; };
   AMOEBA = derive2 { name="AMOEBA"; version="1.1"; sha256="1npzh3rpfnxd4r1pj1hm214sfgbw4wmq4ws093lnl7pvsl0q37xn"; depends=[rlecuyer snowfall spdep]; };
   AMORE = derive2 { name="AMORE"; version="0.2-15"; sha256="00zfqcsah2353mrhqkv8bbh24l8gaxk4y78icr9kxy4pqb2988yz"; depends=[]; };
+  AMR = derive2 { name="AMR"; version="0.1.1"; sha256="1kyy70g6nh37a1kfcc4p3d8yd61rhsk07rzh8hk0x5zyvc6gcs8l"; depends=[dplyr reshape2 rvest xml2]; };
   ANLP = derive2 { name="ANLP"; version="1.3"; sha256="1m1jnfaqny6qprgyk4f3naan5i5cildawv322h6mc25nypwl12m4"; depends=[dplyr qdap RWeka tm]; };
   ANN2 = derive2 { name="ANN2"; version="1.5"; sha256="17b0dv1dl4kni7yvrrwk65cadk6f7qk7505r27j9v530pffyv1k3"; depends=[Rcpp RcppArmadillo robustbase]; };
   ANOM = derive2 { name="ANOM"; version="0.5"; sha256="14nfy9xplbabfprwxz5fvx26nmqhp657vr6d90dc8vk8ds63ckiz"; depends=[ggplot2 MCPAN multcomp nparcomp SimComp]; };
+  ANOVA_TFNs = derive2 { name="ANOVA.TFNs"; version="1.0"; sha256="0dwspvxj2gzyvxsd9xyhv47n1hjlqa7z9qza4h3hn1xda12vkjly"; depends=[FuzzyNumbers]; };
   ANOVAreplication = derive2 { name="ANOVAreplication"; version="1.1.3"; sha256="1cmps21lrmk6lh6gx0q9fz2736q7cibfcisvir6hnik3ablv70bn"; depends=[quadprog shiny]; };
   APCanalysis = derive2 { name="APCanalysis"; version="1.0"; sha256="11snn5i8zyjpzf58ica762fpp14v7x5h8a8iwx4s4v81pgvlx862"; depends=[]; };
-  APML0 = derive2 { name="APML0"; version="0.7"; sha256="1ivlyljyllkd53y3ckar7mrdykmd8fz3sg8i1xgfygrcnq79qz0i"; depends=[Matrix Rcpp RcppEigen]; };
+  APML0 = derive2 { name="APML0"; version="0.8"; sha256="15qg0iapl2qh4llc8qazxc9qb4fi82snnw2agjgi29zcq7lzi2ww"; depends=[Matrix Rcpp RcppEigen]; };
   APPEstimation = derive2 { name="APPEstimation"; version="0.1.1"; sha256="1bg9ma4i3k3xdgyk2h4f368gqnczvlhvjw4114iznmrv1wl4g25c"; depends=[densratio]; };
   APSIM = derive2 { name="APSIM"; version="0.9.2"; sha256="0yyjz1kyvqpw9dh71ls2lf44gbb6r7bp9a22mr3z68k89azps5rc"; depends=[data_table lubridate plyr RSQLite sirad stringr]; };
   APSIMBatch = derive2 { name="APSIMBatch"; version="0.1.0.2374"; sha256="0j44ijq1v1k60lka9nmw8m1jfjw7pidny9bvswqy5v82gzmwl29d"; depends=[]; };
-  APfun = derive2 { name="APfun"; version="0.1.2"; sha256="0qw769ifcc7g9jq8ba2sxghcck52cspj3rpg8pkj2i185vg0lw77"; depends=[maptools raster rgdal sp yesno]; };
+  APfun = derive2 { name="APfun"; version="0.1.3"; sha256="02p40n4l66r63wq8x7ygchfhxmnpaa7vgy4bjhkqx5gfi2v4psxd"; depends=[maptools raster rgdal sp yesno]; };
   APtools = derive2 { name="APtools"; version="3.0"; sha256="0v5xgznc8hvw3gid8x5chksc62zpwbx34qsh64sv7d1kqmh5w26j"; depends=[survival]; };
   AR = derive2 { name="AR"; version="1.0"; sha256="1h9rzlwnfm646s7423pcxz0zqykyadiw4sbxlygy2382la81x69x"; depends=[DISTRIB]; };
   AR1seg = derive2 { name="AR1seg"; version="1.0"; sha256="0v9adx5wj9r4jwl3bqqmj0byiqfp585jz013qfqrq601wj8v4zi3"; depends=[Segmentor3IsBack]; };
   ARCensReg = derive2 { name="ARCensReg"; version="2.1"; sha256="05zjk1wxqfigzg80lvx1940a059jfdr9zbzgzmz2n01glj1lvj63"; depends=[msm mvtnorm numDeriv tmvtnorm]; };
+  ARHT = derive2 { name="ARHT"; version="0.1.0"; sha256="1fz81a202r8vk655dg6a03zfq3gfkimqjvmc95k3j02xz0iv58kn"; depends=[]; };
   ARPobservation = derive2 { name="ARPobservation"; version="1.1"; sha256="1cdhn11jf1nf03jyvs17ygmjq9pb5rvmyyrq9fp7ifmvcgbkwsms"; depends=[]; };
   ART = derive2 { name="ART"; version="1.0"; sha256="186w1ivj5v3h906crl953qxgai5wiznaih83dgvwgnmabs9p1wvk"; depends=[car]; };
   ARTIVA = derive2 { name="ARTIVA"; version="1.2.3"; sha256="1jdvsslc8parz7wibcv51fx62brl2mc6i482hz43j1npsms2z1hl"; depends=[gplots igraph MASS]; };
-  ARTP = derive2 { name="ARTP"; version="2.0.4"; sha256="1f6ay9lyaqsc33b0larb8v6imp5adaycya84wif2sg32rv4gx3yl"; depends=[]; };
+  ARTP = derive2 { name="ARTP"; version="2.0.5"; sha256="0lwvhf5lamw28sd41vrhyin8ab92rl93j1ahk0aacwvnikgmfkpj"; depends=[]; };
   ARTP2 = derive2 { name="ARTP2"; version="0.9.32"; sha256="12mrxssjcj08svdsrxv2nm53mzsgy1k0whd5zzy6fz327bjyqsrz"; depends=[data_table Formula]; };
   ARTool = derive2 { name="ARTool"; version="0.10.4"; sha256="1malrjv4myk9nj3dndgpzscfhky4y6lj8xbfg8h2b29g7s2k846q"; depends=[car dplyr lme4 magrittr plyr]; };
-  ASICS = derive2 { name="ASICS"; version="1.0.1"; sha256="0axjq2a99kl6qk05w5r9ddx3954m60739miarbwadlqwnsd5lkqk"; depends=[doParallel foreach ggplot2 plyr quadprog zoo]; };
+  ASGS_foyer = derive2 { name="ASGS.foyer"; version="0.1.0"; sha256="017m7cji04gbcn396jz428llik15zgdvbr6bf1c8scds692paz3n"; depends=[sp]; };
   ASIP = derive2 { name="ASIP"; version="0.3.2"; sha256="0zrn3hnn46zxmvchicyzy7zz2jnv8y1249a6sdi3w9rw2d8q025g"; depends=[gdalUtils raster rgdal]; };
   ASMap = derive2 { name="ASMap"; version="1.0-2"; sha256="0fhivq5i2py79jkwfms0my77p9x8lrkn5vn1lwbsawfkyar4dvkq"; depends=[fields gtools lattice qtl RColorBrewer]; };
   ASPBay = derive2 { name="ASPBay"; version="1.2"; sha256="0b1qpyvmj7z10ixrmdxp42bj9s72c1l9rihzmv9p58f12a5aznjz"; depends=[hexbin Rcpp RcppArmadillo]; };
@@ -97,6 +102,7 @@ in with self; {
   AWR_Kinesis = derive2 { name="AWR.Kinesis"; version="1.7.3"; sha256="1gfjzbb8xxfd2x5zabysqi0x10sb1c9826wqw8y555nsxgksqxz8"; depends=[AWR futile_logger jsonlite rJava]; };
   AbSim = derive2 { name="AbSim"; version="0.2.4"; sha256="0n90zbm5nsb9ric92p0mp3a4nzivdh8m8dls18051v2dbn5h4z1v"; depends=[ape poweRlaw]; };
   AbsFilterGSEA = derive2 { name="AbsFilterGSEA"; version="1.5.1"; sha256="15srxkxsvn38kd5frdrwfdf0ad8gskrd0h01wmdf9hglq8fjrp7w"; depends=[Biobase DESeq limma Rcpp RcppArmadillo]; };
+  Ac3net = derive2 { name="Ac3net"; version="1.2.2"; sha256="1ns4n0xxz6p34c11bj0k7nzgmyqr9mis2b0g5nfz37dbikndyqyz"; depends=[data_table]; };
   AcceptanceSampling = derive2 { name="AcceptanceSampling"; version="1.0-5"; sha256="18krmmyn8pn11aqd81kbvka68lnd36mnpdh7p3pz9r4m4vjj007x"; depends=[]; };
   AcousticNDLCodeR = derive2 { name="AcousticNDLCodeR"; version="1.0.1"; sha256="16rmwz51fy84w83vwnq2nv9mcrp4gi9ciirj5555gl1224b9i2am"; depends=[seewave tuneR zoo]; };
   AcrossTic = derive2 { name="AcrossTic"; version="1.0-3"; sha256="03180h79jhjd66ibrnsfp3yyp2jlfysp7cymw46phzj2palghsc0"; depends=[lpSolve treeClust]; };
@@ -105,7 +111,7 @@ in with self; {
   AcuityView = derive2 { name="AcuityView"; version="0.1"; sha256="0f0iclmnwdc8ixiiai4svk4x1g3pjy7dhm3cm58fv6ckx12d3d2l"; depends=[fftwtools imager plotrix]; };
   AdMit = derive2 { name="AdMit"; version="2.1.3"; sha256="150zjxl56axhpgm25hzyhwwc5g77pkgi291d2v56zbjjqycfz2v8"; depends=[mvtnorm]; };
   AdapEnetClass = derive2 { name="AdapEnetClass"; version="1.2"; sha256="01k3mj4g1ckbng7wkzzn9h0k9yf01cpnnkly0sjda574c5jhj0rc"; depends=[glmnet imputeYn lars quadprog]; };
-  AdapSamp = derive2 { name="AdapSamp"; version="1.0"; sha256="1nww2c3kz1a62ivkvlcvhgx68wdk9ka8jhw1k8pilbgairxsbxgn"; depends=[pracma]; };
+  AdapSamp = derive2 { name="AdapSamp"; version="1.1.1"; sha256="1jayjrsiib2ij4rxxj59g71r3xhzl5yqh0lhi8k6cfy03i7dkvis"; depends=[pracma]; };
   AdaptFit = derive2 { name="AdaptFit"; version="0.2-2"; sha256="124lj1sq5cbp35z4ybkc7ci3fi6pgf8pc5k9mpqmyb6dj870q836"; depends=[cluster MASS nlme SemiPar]; };
   AdaptFitOS = derive2 { name="AdaptFitOS"; version="0.65"; sha256="0f92dgfiglbklr4lv5kqxks8d04f675jlj2xjy9aqk4cgdj264xk"; depends=[MASS mgcv nlme SemiPar]; };
   AdaptGauss = derive2 { name="AdaptGauss"; version="1.3.3"; sha256="0f6wk9ds8ayzi0fj1dz1m3755d1sjv4v5vc1hjhfxaim127kmbqh"; depends=[caTools ggplot2 shiny]; };
@@ -127,6 +133,7 @@ in with self; {
   Amelia = derive2 { name="Amelia"; version="1.7.4"; sha256="0w6532s5xr7pw47zqhhymql7i68c4lralvw1gc26l9d4c7ib00fd"; depends=[foreign Rcpp RcppArmadillo]; };
   AmericanCallOpt = derive2 { name="AmericanCallOpt"; version="0.95"; sha256="1nhy44j5bmmjsp6g79nrn741rzzxikhdnxk4wwbdj9igcc1bs573"; depends=[]; };
   AmesHousing = derive2 { name="AmesHousing"; version="0.0.3"; sha256="1fr01ka8x8gdnky6cbd2bjlh1lx71gzq440zsknn9kxvf01s6pxm"; depends=[dplyr magrittr]; };
+  AmigaFFH = derive2 { name="AmigaFFH"; version="0.1.2"; sha256="0749j6m8pvdq4lm0n46bn052nxvplh3nvp2miz4hagw8q2p5fsyl"; depends=[adfExplorer ProTrackR tuneR]; };
   AmmoniaConcentration = derive2 { name="AmmoniaConcentration"; version="0.1"; sha256="05pnwfji9l9az4jvni6jy7cayzg5pbspz82a63kmj6rgibn4ywvn"; depends=[]; };
   AmostraBrasil = derive2 { name="AmostraBrasil"; version="1.2"; sha256="06y555gl9g89gygrv1rhg8j1bhb38m09mvvw67wvwhdl56j0fqbd"; depends=[foreign RCurl rgdal RJSONIO sp stringr]; };
   AmpliconDuo = derive2 { name="AmpliconDuo"; version="1.1"; sha256="1vqpahavsksphxjyhd94dghg9ddskbfbs5vl5qcwl3jkjfvl7lwy"; depends=[ggplot2 xtable]; };
@@ -136,14 +143,14 @@ in with self; {
   AnalyzeFMRI = derive2 { name="AnalyzeFMRI"; version="1.1-16"; sha256="1mbjb682ns5230jd3vcvd6x4gnn9hpbmjd7r8120y4sp2g733b0f"; depends=[fastICA R_matlab]; };
   AnalyzeTS = derive2 { name="AnalyzeTS"; version="2.2"; sha256="0ll4g8yzxhricz56vin8hhyplrmvjmkwfldya41vz6y6bwhywnmb"; depends=[MASS TSA tseries TTR urca]; };
   AncestryMapper = derive2 { name="AncestryMapper"; version="2.0"; sha256="1fr2y1a5rn7rq8aly94f618kywix32jwysi70nfhaqx8hf4zzprb"; depends=[svd]; };
-  AnglerCreelSurveySimulation = derive2 { name="AnglerCreelSurveySimulation"; version="1.0.0"; sha256="0vkb50v3by5z7qmaqpdb81zmbz23f315k09mpfy7qwsjfdgcpshv"; depends=[dplyr ggplot2]; };
+  AnglerCreelSurveySimulation = derive2 { name="AnglerCreelSurveySimulation"; version="1.0.2"; sha256="1nhd0i30g5wb5jh96gfaa0lgnbnj0m2vy4gz7v2c3142396zalnx"; depends=[dplyr ggplot2]; };
   AnnotLists = derive2 { name="AnnotLists"; version="1.2"; sha256="1g2khb2ggniwg2zcjamsm3bxyrl2zabvk540b5vyy9am9k83m1g9"; depends=[]; };
-  AnnotationBustR = derive2 { name="AnnotationBustR"; version="1.1"; sha256="1pdwb4zmvirbn3aikd66djhzwga18w50krgn43mlw5dpa9c7fvhv"; depends=[ape seqinr]; };
+  AnnotationBustR = derive2 { name="AnnotationBustR"; version="1.2"; sha256="1r52qry6xvn79b6qsbch35jhzg8y71kxqq9xm6gd302cv2xbwq7q"; depends=[ape seqinr]; };
   AnnuityRIR = derive2 { name="AnnuityRIR"; version="1.0-0"; sha256="0yvfqzwhm5nhywfhzkxkfm07c0qi6z21j1cdaypz89qn567aj1d9"; depends=[actuar EnvStats fitdistrplus mc2d tseries]; };
   AntAngioCOOL = derive2 { name="AntAngioCOOL"; version="1.2"; sha256="1krwms0y3xppc2y4m0az51wcbh4jq7mlr0jwinp66w8gh4k3qnp2"; depends=[caret rJava rpart RWeka]; };
   AntWeb = derive2 { name="AntWeb"; version="0.7"; sha256="1ykfg3zzjdvjppr2l4f26lx00cn5vaqhhz1j1b5yh113ggyl40qw"; depends=[assertthat httr leafletR plyr rjson]; };
-  AnthropMMD = derive2 { name="AnthropMMD"; version="2.3.3"; sha256="1q8pjxlrba7dna647pkzyj41scq8xghx5h7ac3jamhrkdppf5fdk"; depends=[MASS shiny]; };
-  Anthropometry = derive2 { name="Anthropometry"; version="1.9"; sha256="1d1grh952kfpanz4vpvdbnx4yn42kkc6z78cc601l70azar2p7zg"; depends=[archetypes biclust cluster depth FNN ICGE nnls rgl shapes]; };
+  AnthropMMD = derive2 { name="AnthropMMD"; version="2.5.0"; sha256="0pp9ihrkjwzp6zyglkp81ry4fzm1s26r687bhxswx5iz1brzmhdn"; depends=[scatterplot3d shiny smacof]; };
+  Anthropometry = derive2 { name="Anthropometry"; version="1.10"; sha256="1rny65070yrdxnny8frp5ryp811h59924z5pfwg0cmd2szxnxnz7"; depends=[archetypes biclust cluster depth FNN ICGE nnls rgl shapes]; };
   Aoptbdtvc = derive2 { name="Aoptbdtvc"; version="0.0.2"; sha256="1bygvf8vgzz3wa4485x2xxpk784zmw1nwsjjjysm12brrldh8zzh"; depends=[lpSolve MASS]; };
   ApacheLogProcessor = derive2 { name="ApacheLogProcessor"; version="0.2.2"; sha256="01h8hi76nlwn9hnfyvzyg2d25s2r0vgpl5rz37yqkhjs5xr3rpyi"; depends=[doParallel foreach stringr]; };
   AppliedPredictiveModeling = derive2 { name="AppliedPredictiveModeling"; version="1.1-6"; sha256="004d2k3mhl45inb7kx1ph8xc8h9bgm7f7l3prmvqrl5792400cn4"; depends=[CORElearn MASS plyr reshape2]; };
@@ -155,10 +162,11 @@ in with self; {
   ArchaeoPhases = derive2 { name="ArchaeoPhases"; version="1.3"; sha256="0012rjbk3bxf6j7p0skp02yrgqzl903dclnmm7c038f941krjcfq"; depends=[coda DT ggalt ggplot2 ggthemes hdrcde readr shiny shinythemes toOrdinal]; };
   ArfimaMLM = derive2 { name="ArfimaMLM"; version="1.3"; sha256="0s5igf703zzvagsbdxf5yv4gn0vdq51b7fvbc8xkgvlmv91yy372"; depends=[fracdiff fractal lme4]; };
   ArgumentCheck = derive2 { name="ArgumentCheck"; version="0.10.2"; sha256="0mgx7mzbg2wynixcf9hvs0i9p4zka7c3chrfvjmvvvwwgsy24hkc"; depends=[]; };
+  Arothron = derive2 { name="Arothron"; version="1.0.0"; sha256="0fwxrjkqq8dkh38s3dcky0d6nggnmvfik0w3c4mzslzipnm84sin"; depends=[compositions doParallel foreach geometry Morpho rgl Rvcg stringr vegan]; };
   ArrayBin = derive2 { name="ArrayBin"; version="0.2"; sha256="0jlhcv2d7pmqi32w71nz063ri1yj4i4isr3msnw7ckzvi9r42jwm"; depends=[SAGx]; };
   AsioHeaders = derive2 { name="AsioHeaders"; version="1.11.0-1"; sha256="1g226im9aakqdv5gynsl568w0mxcbfrny9lqid7pl984pq8xr8ks"; depends=[]; };
   AssayCorrector = derive2 { name="AssayCorrector"; version="2.0.0"; sha256="0d2444if5hyfbzyminnspw686r5l4pf9cdj9k48n2539vd61k452"; depends=[kSamples lattice latticeExtra RColorBrewer RVAideMemoire]; };
-  AssetPricing = derive2 { name="AssetPricing"; version="1.0-0"; sha256="12v8hmmknkp472x406zgzwjp7x8sc90byc3s3dvmwd5qhryxkkix"; depends=[deSolve polynom]; };
+  AssetPricing = derive2 { name="AssetPricing"; version="1.0-1"; sha256="0pbb1362dgdipbj3h50ykissl3gdqf1j1mpq53ixprvyc966c5h4"; depends=[deSolve polynom]; };
   AssocAFC = derive2 { name="AssocAFC"; version="1.0.1"; sha256="0fxqsj2a9wi5py4sw3mzf27zx82nbj1q294vj1n0jh9ryc68wyh3"; depends=[CompQuadForm]; };
   AssocTests = derive2 { name="AssocTests"; version="0.0-4"; sha256="1fhqzbj4aj4srkiba79w8wdyc7yy701izklxqqa7lsifnca6gn4j"; depends=[cluster combinat fExtremes mvtnorm]; };
   AssotesteR = derive2 { name="AssotesteR"; version="0.1-10"; sha256="0aysilg79vprcyjirqz6c5s1ry1ia92xik3l38qrw1gf3vfli9cw"; depends=[mvtnorm]; };
@@ -178,17 +186,17 @@ in with self; {
   BACCT = derive2 { name="BACCT"; version="1.0"; sha256="0bpm4l27vbblzi2hhfbjw2af3ic2jbnyghkvchpq8ww43k8068iv"; depends=[ggplot2 reshape2 rjags]; };
   BACprior = derive2 { name="BACprior"; version="2.0"; sha256="1z9dvjq4lr99yp6c99bcv6n5jiiwfddfz4izcpfnnyvagfgizr8p"; depends=[boot leaps mvtnorm]; };
   BAEssd = derive2 { name="BAEssd"; version="1.0.1"; sha256="04wkhcj4wm93hvmfnnzryswaylnxz5qsgnqky9lsx4jqhvg340l6"; depends=[mvtnorm]; };
-  BALCONY = derive2 { name="BALCONY"; version="0.1.8"; sha256="0bnhwz319dy1wc9g2sxb5w2hn8ypzxgaghrg4r82yjl5xig8qmd5"; depends=[Rpdb scales seqinr]; };
+  BALCONY = derive2 { name="BALCONY"; version="0.2.0"; sha256="0ddg5fy82yxnmh54dilpljwfziqpc8rjladmcdnn5p98n9a6ypvl"; depends=[Biostrings dplyr readr Rpdb scales seqinr]; };
   BAMBI = derive2 { name="BAMBI"; version="1.1.1"; sha256="1jzvsaf9cn28ny40vg0wlvdqz6f4i7n6iyym8s0aj58aiazwsmh5"; depends=[label_switching Rcpp RcppArmadillo]; };
   BAMMtools = derive2 { name="BAMMtools"; version="2.1.6"; sha256="01mb40w3g0xy93pl9064ky8kd46sa7qlz6by1r6kchcfhajx8plv"; depends=[ape gplots Rcpp]; };
   BANEScarparkinglite = derive2 { name="BANEScarparkinglite"; version="0.1.1"; sha256="1xs65drkpd1zmrvyrv0kndd5z5q4y425524w6mrh96qya9qjrmsx"; depends=[dplyr httr lubridate RCurl readr rvest XML xml2 zoo]; };
   BANFF = derive2 { name="BANFF"; version="2.0"; sha256="1c5wdwqqvkcm9910lhd387snd7myv9qzs9vfk87vzp3di7hdi4l6"; depends=[coda doParallel DPpackage flexmix foreach GGally igraph mclust network pscl truncnorm]; };
   BANOVA = derive2 { name="BANOVA"; version="1.1.1"; sha256="11cvf7wjip1vn5qn9hwxvdh98i8li9ijydfywf2ks2hls2430qbk"; depends=[coda rjags rstan runjags]; };
-  BART = derive2 { name="BART"; version="1.5"; sha256="0vhyxyp0bbbkyymkwhll8jck3n4mybglshmfs9bycn4xmmm5rq8j"; depends=[Rcpp survival]; };
-  BAS = derive2 { name="BAS"; version="1.4.7"; sha256="0rpgfzwc41clkdf20mh6wdd2fari84rfgfgzxw04lb3b3s7hz8y4"; depends=[]; };
+  BART = derive2 { name="BART"; version="1.6"; sha256="06a6bxrxspgjij8mgi1gzq7fbak9zqppprl55jbb91nkf13svbzq"; depends=[Rcpp survival]; };
+  BAS = derive2 { name="BAS"; version="1.4.9"; sha256="0c0mj7ijgghbjmyrwr6qp2a3iidsxli3a0wb4njjaj5n7b7yggby"; depends=[]; };
   BASIX = derive2 { name="BASIX"; version="1.1"; sha256="18dkvv1iwskfnlpl6xridcgqpalbbpm2616mvc3hfrc0b26v01id"; depends=[]; };
   BASS = derive2 { name="BASS"; version="0.2.2"; sha256="1q3sihp2iv1ikggzgd2k3vh2myz8bz31rzlaavw0n84d0h1zjxy2"; depends=[]; };
-  BASiNET = derive2 { name="BASiNET"; version="0.0.2"; sha256="1qik3r52hygxldw3sw0sln7yw7z0bmybavf0kf9fmpkyir0z0xvn"; depends=[Biostrings igraph randomForest rgl rmcfs RWeka]; };
+  BASiNET = derive2 { name="BASiNET"; version="0.0.3"; sha256="0kcmc4jpiwmdydbyjfm1jx4ravxkqzvqca3p5gp26nx14xglm9hi"; depends=[Biostrings igraph randomForest rJava rmcfs RWeka]; };
   BAT = derive2 { name="BAT"; version="1.5.6"; sha256="0m6yfxymhzi8n2l421ngy6cz3qa5v7yrd1jhpi8ymlnf8dysd57x"; depends=[nls2 raster spatstat vegan]; };
   BAYESDEF = derive2 { name="BAYESDEF"; version="0.1.0"; sha256="030xskgqqg0n85mphjv32ks4ysvxb36f6ayy0176gps14jhmhcp7"; depends=[glmnet gWidgets readxl REdaS]; };
   BAYSTAR = derive2 { name="BAYSTAR"; version="0.2-9"; sha256="0crillww1f1jvhjw639sf09lpc3wpzd69milah143gk9zlrkhmz2"; depends=[coda mvtnorm]; };
@@ -212,12 +220,13 @@ in with self; {
   BCgee = derive2 { name="BCgee"; version="0.1"; sha256="0ad0dj2ymgvkmcmq3jlpmn0pgigdql0xgvcwsbpdydv33a6snr04"; depends=[]; };
   BClustLonG = derive2 { name="BClustLonG"; version="0.1.2"; sha256="0w35pwv3y00pmi4qjnzii3q44k7lk13x0cmh1zq3cl42gpi31p7f"; depends=[lme4 MASS mcclust Rcpp RcppArmadillo]; };
   BDWreg = derive2 { name="BDWreg"; version="1.2.0"; sha256="07j6dy69q1as1nwgp2790wzpzmjich2256cddhl7n3h2rs1dja74"; depends=[coda doParallel DWreg foreach MASS]; };
-  BDgraph = derive2 { name="BDgraph"; version="2.44"; sha256="055pmjf8pgfqih6bxjj34gz7gj78y4z3kldy561z7mi443kwphq6"; depends=[igraph Matrix]; };
+  BDgraph = derive2 { name="BDgraph"; version="2.46"; sha256="1y3rcl0x1cvcsfp4p1v82v0i119izwa8hkvs5qang70slv973bbv"; depends=[igraph Matrix]; };
+  BEACH = derive2 { name="BEACH"; version="1.2.1"; sha256="0a6xwczw3d2jnksb5lpf7j859pnyfxcab4kfv4v7lmf9iasbyyf5"; depends=[devtools DT haven plyr readxl rJava rtf sas7bdat shiny WriteXLS xtable]; };
   BEDASSLE = derive2 { name="BEDASSLE"; version="1.5"; sha256="1bz3lr0waly9vj9adwhmgs3lq7zjdkcbvm3y9rnn72qlrwmv5fbn"; depends=[emdbook MASS matrixcalc]; };
   BEDMatrix = derive2 { name="BEDMatrix"; version="1.4.0"; sha256="0aha33skksh45fx248lx6v8cxwgkiripw3avspb8arbld9rmqwxn"; depends=[BH crochet Rcpp]; };
   BEQI2 = derive2 { name="BEQI2"; version="2.0-0"; sha256="19q29kkwww5hziffkm2yx7n4cpfcsyh0z4mljdcnjkwfp732sjig"; depends=[jsonlite knitr markdown plyr reshape2 xtable]; };
-  BEST = derive2 { name="BEST"; version="0.5.0"; sha256="178vn0ps6nr7qjayavnvmbyx6gq57dni5llsncl89kkz633mb2hg"; depends=[coda HDInterval rjags]; };
-  BETS = derive2 { name="BETS"; version="0.3.3"; sha256="09xgf356casig06q7jys5h55y8kj0ndnr7mkymgzcvni7djc5gq3"; depends=[DBI DT dygraphs forecast foreign ggplot2 grnn htmltools httr lubridate miniUI plotly rjson rmarkdown RMySQL rstudioapi rvest seasonal shiny stringr urca webshot xml2 zoo]; };
+  BEST = derive2 { name="BEST"; version="0.5.1"; sha256="0yx3bkaaly0lriyd5xr7aay4c381a5iwanfixz9v37cmvs64rs4s"; depends=[coda HDInterval rjags]; };
+  BETS = derive2 { name="BETS"; version="0.3.6"; sha256="0m32ad2ysb5dr4125fccrbi5cndal3qml0lflnp9kdbm6wwhqv85"; depends=[DBI DT dygraphs forecast foreign ggplot2 grnn htmltools httr lubridate miniUI plotly rjson rmarkdown RMySQL rstudioapi rvest seasonal shiny stringr urca webshot xml2 zoo]; };
   BGData = derive2 { name="BGData"; version="1.0.0"; sha256="0xd7xpnvhpyvv6caxyif7wa25llvrnyzmmk4z6rp7absjqbz2alc"; depends=[BEDMatrix bigmemory bit ff LinkedMatrix symDMatrix]; };
   BGGE = derive2 { name="BGGE"; version="0.6.1"; sha256="1ndn4cj9mrkx2mrlh2dgyy3lpx526fmg91zqgvdcbvn99r5sl17j"; depends=[]; };
   BGLR = derive2 { name="BGLR"; version="1.0.5"; sha256="14a979rnasaklkfafzpkhr6mqv0ga7fsfxq63scpnlwa2aasgn83"; depends=[]; };
@@ -227,30 +236,30 @@ in with self; {
   BHH2 = derive2 { name="BHH2"; version="2016.05.31"; sha256="1m4fcx979nbm97hi89vbjjix0sx6qhdzs486risck9bi7yzih5k4"; depends=[]; };
   BHMSMAfMRI = derive2 { name="BHMSMAfMRI"; version="1.1"; sha256="1qygizn2np9amkm1f1332zp9ab9ky423plr9lahgwzdxn1c2c5c2"; depends=[AnalyzeFMRI fmri wavethresh]; };
   BIEN = derive2 { name="BIEN"; version="1.2.2"; sha256="11bqbkw6v4yvlvpv0bhmn5q7ady12hmp9ziak5jzsc7p4d8azd5r"; depends=[ape DBI rgdal rgeos RPostgreSQL sp]; };
-  BIFIEsurvey = derive2 { name="BIFIEsurvey"; version="2.3-18"; sha256="0cf5nbqcfvx76v1iia2d48j6dg9sqscmjrl0r835xbssiv9xk5w4"; depends=[miceadds mitools Rcpp RcppArmadillo survey TAM]; };
+  BIFIEsurvey = derive2 { name="BIFIEsurvey"; version="2.4-9"; sha256="0v9q2gxb7i9zgkkf8ka85r3l3ypg21fzl48paliqi5ac144l177q"; depends=[miceadds mitools Rcpp RcppArmadillo survey TAM]; };
   BIGDAWG = derive2 { name="BIGDAWG"; version="2.1"; sha256="0zvy5sl94qi20gdrnxb2lmadfy7p0wqfngjsf6jc2cgwyzk4gnrj"; depends=[haplo_stats httr knitr rmarkdown XML]; };
   BIGL = derive2 { name="BIGL"; version="1.1.1"; sha256="008f3x0hkmifra1wcv56hxjjf2rqc9qxsbpi23aq4pgk7mxdaax7"; depends=[ggplot2 MASS minpack_lm numDeriv progress rgl robustbase scales]; };
+  BINCOR = derive2 { name="BINCOR"; version="0.1.0"; sha256="0fzynq85zbjybylxrpk89sq4l1ccm8k4z1bn25b6rgnz5m18r8hs"; depends=[pracma]; };
   BIOM_utils = derive2 { name="BIOM.utils"; version="0.9"; sha256="0xckhdvf15a62awfk9rjyqbi6rm7p4awxz7vg2m7bqiqzdll80p7"; depends=[]; };
-  BIOMASS = derive2 { name="BIOMASS"; version="1.1"; sha256="1qawp10hw7xhqyg9bdwvgxbksiwhga7h6vwp8m7q30ibwfv5kamg"; depends=[httr jsonlite minpack_lm msm raster]; };
+  BIOMASS = derive2 { name="BIOMASS"; version="1.2"; sha256="1d9rwgh0ws27yd0p2la7pn49sb71lh9bg4f42fpx448ah8dimw17"; depends=[httr jsonlite minpack_lm msm raster]; };
   BIOdry = derive2 { name="BIOdry"; version="0.5"; sha256="0isvqs2bgirxwb7b1dbn70zfx9b4mw7fp33fwmxq0dx6k1r4f87g"; depends=[ecodist nlme]; };
   BIPOD = derive2 { name="BIPOD"; version="0.2.1"; sha256="04r58gzk3hldbn115j9ik4bclzz5xb2i3x6b90m2w9sq7ymn3zg1"; depends=[Rcpp RcppArmadillo]; };
-  BIS = derive2 { name="BIS"; version="0.1.0"; sha256="0m9wvz4vg9vpw6dxjdxzi3vbkflvs4041xjrpic5jngw0jv8fjz0"; depends=[dplyr readr rvest tidyr xml2]; };
-  BKPC = derive2 { name="BKPC"; version="1.0"; sha256="1c5n2vdpsk00slqyxxq2c8d7ix8jdbyigrh23ykd4b95mynp9kdv"; depends=[kernlab]; };
+  BIS = derive2 { name="BIS"; version="0.2.0"; sha256="15wybfj03rzrxxdm19mm7b7c2l71lzs50n7vw8vnyx1n5w1k97jv"; depends=[dplyr readr rvest tidyr xml2]; };
+  BKPC = derive2 { name="BKPC"; version="1.0.1"; sha256="17gmhf6qq8jn2xzkqvjq60xzy0slz6kgfpd0d6hlpnf30ww7q923"; depends=[kernlab]; };
   BLCOP = derive2 { name="BLCOP"; version="0.3.1"; sha256="1qfkljw5b1k4b5jd08hw6dsmvgr7vg3kjyib5s13q0mkxvclasym"; depends=[fBasics fMultivar fPortfolio MASS quadprog RUnit timeSeries]; };
   BLModel = derive2 { name="BLModel"; version="1.0.2"; sha256="0l5f2v5ggadmrci3qhhmxm3j9i6jii0anq5rv5vk50y2qzii2q15"; depends=[]; };
   BLPestimatoR = derive2 { name="BLPestimatoR"; version="0.1.5"; sha256="0wnxfyl8hz1a0k33v5nc3j1ziwcv1fnw8639l0xv92p5rn7n5nc5"; depends=[mvQuad numDeriv randtoolbox Rcpp ucminf]; };
   BLR = derive2 { name="BLR"; version="1.4"; sha256="0wy3c8nnzkdhwb5s1ygdid47hpdx72ryim36mnicrydy0msjivja"; depends=[SuppDists]; };
   BLRPM = derive2 { name="BLRPM"; version="1.0"; sha256="15q0jkw4swz35c58nv23k8g1dy1kkbqh5aydjck7pd0fmppqrhpx"; depends=[R6]; };
-  BMA = derive2 { name="BMA"; version="3.18.7"; sha256="095iwlbjklg1pkp5jiw0srg7jh9cn50g8z4namrs4xsmlh7if65z"; depends=[inline leaps robustbase rrcov survival]; };
+  BMA = derive2 { name="BMA"; version="3.18.8"; sha256="1a32ghn17ymb3zdh9xv6zvqcxc81m4y478mk6z9bfndq7ihy1ih5"; depends=[inline leaps robustbase rrcov survival]; };
   BMAmevt = derive2 { name="BMAmevt"; version="1.0.1"; sha256="1krx8isj2wp3panjcbc2ysrc2pxz2casj12qq9p18imaa326l53y"; depends=[coda]; };
-  BMN = derive2 { name="BMN"; version="1.02"; sha256="12gyq01cn6a9ixqgki1ihx5jrp2gw6jdj7q210rb12xlvj3p6x7w"; depends=[]; };
   BMRBr = derive2 { name="BMRBr"; version="0.1.0"; sha256="1z54annplzydnxvwd0rkhcw5rmfx8r99k28ld5rgh22xq3zdq825"; depends=[rvest xml2]; };
   BMRV = derive2 { name="BMRV"; version="1.32"; sha256="1j1cwjk3l7f06nqdwrqdyhzm43bb8hj5wgdd14zc1grxyfc9ya95"; depends=[BH]; };
   BMS = derive2 { name="BMS"; version="0.3.4"; sha256="0z3mk1xd1fphf80kdbashkn04jwsr2bghms4d7nav3pw73q41wql"; depends=[]; };
   BMT = derive2 { name="BMT"; version="0.1.0.3"; sha256="1vdah5bsn41s2qriq15xi7dw9qzngaacmn5gk6yc7hi89dwyy3yj"; depends=[fitdistrplus partitions]; };
   BMhyb = derive2 { name="BMhyb"; version="1.5.2"; sha256="0sf12xibr22i3pqdb7zay1mmgfnvqxdlimsbd8y5pi4ybiqz8bl8"; depends=[ape corpcor DEoptim geiger lhs Matrix mvtnorm numDeriv phylobase phytools TreeSim viridis]; };
   BMhyd = derive2 { name="BMhyd"; version="1.2-8"; sha256="14pv5f621zq5x9i408zjm8k80hcsabkjpdf86gk3ylgw5yqcivrx"; depends=[ape corpcor geiger mvtnorm numDeriv phylobase phytools TreeSim]; };
-  BMisc = derive2 { name="BMisc"; version="1.1.1"; sha256="1ckliy7pnpx47dqmd6msd5496ddrj05j49al866av5zg9qsr7z4s"; depends=[formula_tools]; };
+  BMisc = derive2 { name="BMisc"; version="1.2.0"; sha256="0mfwa3614xgvlwl44r9p3ic34z9q9qilnhvb8p95s40xi622wphy"; depends=[formula_tools plm]; };
   BNDataGenerator = derive2 { name="BNDataGenerator"; version="1.0"; sha256="17zi83jhpn9ygavkpr9haffvd4622sca18jzzxxxmfq0ilrj201g"; depends=[]; };
   BNN = derive2 { name="BNN"; version="1.0.2"; sha256="13h9xqfdqnc9d8brx1xlmvb4nrkpwncwjz98y7i3wijih85wkikd"; depends=[mvtnorm]; };
   BNPMIXcluster = derive2 { name="BNPMIXcluster"; version="1.2.4"; sha256="06s0cs3anbby93n7pjcin9195agfzfq9im6f9k7ih3cbg8mzfaqy"; depends=[gplots MASS matrixcalc mvtnorm plyr Rcpp RcppArmadillo truncnorm]; };
@@ -260,12 +269,13 @@ in with self; {
   BNSL = derive2 { name="BNSL"; version="0.1.3"; sha256="1918dc73gasac45kzcf4pxvl8iaawzkqdi03ny0napbjr3z8rss2"; depends=[bnlearn igraph Rcpp]; };
   BNSP = derive2 { name="BNSP"; version="2.0.2"; sha256="0vapcf8qxcdmragbmwai4yddpmwwm79mksf4zcych0d4a0ij39h6"; depends=[coda ggplot2 gridExtra plot3D threejs]; };
   BOG = derive2 { name="BOG"; version="2.0"; sha256="0lz5af813b67hfl4hzcydn58sjhgn5706n2h44g488bks928k940"; depends=[DIME hash]; };
-  BOIN = derive2 { name="BOIN"; version="2.4"; sha256="0vb3bkaq9vl1yqm3dhdpd27nhv2095n3lp90fr961jpwj1xhjh5l"; depends=[Iso]; };
-  BPEC = derive2 { name="BPEC"; version="1.1"; sha256="14bkpmi1rmpl728nb7kmbmd687s5cvlzj181cxzwcaz3yb8x58nw"; depends=[ape coda fields ggmap ggplot2 igraph maptools mvtnorm OpenStreetMap phytools R2G2 sp]; };
+  BOIN = derive2 { name="BOIN"; version="2.6.3"; sha256="0hvx75zjb5bj005ggj9j67p9f8hpq8p6c0ihidf3avfrirl8g98p"; depends=[Iso]; };
+  BPEC = derive2 { name="BPEC"; version="1.2.1"; sha256="142x0iw3sanvqm0n2hfba8pwndfk8l5qzhgpca9gcya7wkcmmmf7"; depends=[ape coda fields ggmap ggplot2 igraph maptools mvtnorm OpenStreetMap phytools R2G2 sp]; };
   BRugs = derive2 { name="BRugs"; version="0.9-0"; sha256="0f0v30mvfw97vfwzkjpqzf2894b2yhksja0xhpranprk135srxp0"; depends=[coda]; };
   BSDA = derive2 { name="BSDA"; version="1.2.0"; sha256="0gs33yyca45jd4f5k5f7qid4ayw2rnl2wl7a6m7vf39dfx7ympm2"; depends=[e1071 lattice]; };
   BSGS = derive2 { name="BSGS"; version="2.0"; sha256="08m8g4zbsp55msqbic4f17lcry07mdn0f5a61zdcy2msn2ihzzf9"; depends=[batchmeans MASS plyr pscl]; };
   BSGW = derive2 { name="BSGW"; version="0.9.2"; sha256="1q6qvm9yxh35wywrzs3kr31jsa0bmbwrqh0r3qjc0dzi6q8n6pjy"; depends=[doParallel foreach MfUSampler survival]; };
+  BSL = derive2 { name="BSL"; version="0.1.1"; sha256="0g8nqsnhrghan2kx5iciv01drzn8kbx5klmrvcjz0ajfqjdm8kg4"; depends=[coda cvTools foreach ggplot2 glasso gridExtra MASS Rcpp RcppArmadillo]; };
   BSPADATA = derive2 { name="BSPADATA"; version="1.0"; sha256="1g709i0icxlxq2ljb2sm5iyc8ljqxadi62xc4mg702fsgl0x5ny9"; depends=[mvtnorm pscl spdep]; };
   BSSasymp = derive2 { name="BSSasymp"; version="1.2-1"; sha256="0w141yxqpck59n85rjc6d3qy6bwhk1z80zsm21hda0bgfwy9v6wy"; depends=[fICA JADE]; };
   BSagri = derive2 { name="BSagri"; version="0.1-8"; sha256="148pr4lkgdi4bwc9lavgj356nh240iazz28xklq14rw4gzhmz2k4"; depends=[boot gamlss MCPAN mratios multcomp mvtnorm]; };
@@ -277,7 +287,7 @@ in with self; {
   BTYDplus = derive2 { name="BTYDplus"; version="1.0.1"; sha256="0x8as4zskpbsvhh8gnvzgp833dkv01cs5fqfva9qri296343kppv"; depends=[bayesm BTYD coda data_table mvtnorm Rcpp]; };
   BUCSS = derive2 { name="BUCSS"; version="0.0.2"; sha256="188d9f0gdhym28xvvk5z10amdbg50w6ab4ik2r9qfc3p1v7k10q9"; depends=[]; };
   BVS = derive2 { name="BVS"; version="4.12.1"; sha256="111g61bpwh80v6gy44q087swcrnnnzdcibm22pzzi9jsfphy6l0c"; depends=[haplo_stats MASS msm]; };
-  BVSNLP = derive2 { name="BVSNLP"; version="0.9.10"; sha256="06q7pdv0jc7q9m5ahyxj5dqv8bjc2zva3gjy8ys139mmv7i37pjv"; depends=[doParallel foreach Rcpp RcppArmadillo RcppEigen RcppNumerical]; };
+  BVSNLP = derive2 { name="BVSNLP"; version="1.1.0"; sha256="09vffm27jwpfmil6dn7jbsrh9ys3199l0qpfqrjcvz21nsgd43hg"; depends=[doParallel foreach Rcpp RcppArmadillo RcppEigen RcppNumerical]; };
   BWStest = derive2 { name="BWStest"; version="0.2.1"; sha256="1kwd1s1dd21qca31np49aql839j8325y8bnxlcq84nw48vqv0jgc"; depends=[memoise Rcpp]; };
   BaBooN = derive2 { name="BaBooN"; version="0.2-0"; sha256="145q2kabjks2ql3m48sfjis5y35l8rcqnr5s176viv9yhfafn351"; depends=[coda Hmisc MASS nnet Rcpp RcppArmadillo]; };
   BaM = derive2 { name="BaM"; version="1.0.1"; sha256="0y8m6mhghlrp379swj9cfrzqcdr3a7y29mx4d6zld4is00wdw16b"; depends=[coda dlm MASS mice nnet]; };
@@ -292,7 +302,7 @@ in with self; {
   BarBorGradient = derive2 { name="BarBorGradient"; version="1.0.5"; sha256="0g2g7hrm23as1xbj79g48r8sj3gsj66fmi895jqlqfbqrl2fl7a5"; depends=[]; };
   BarcodingR = derive2 { name="BarcodingR"; version="1.0-2"; sha256="1mn5rdax8v1s2z3apk9z0kzy4hw19m8ql6j91l6wd29g2n2bjqxx"; depends=[ape class nnet sp]; };
   Barnard = derive2 { name="Barnard"; version="1.8"; sha256="1ki58hjs5kpmp76kwj1qi6hwmdvjphqb1lvrlhnmkgqxg4hw4vqg"; depends=[]; };
-  Barycenter = derive2 { name="Barycenter"; version="1.2"; sha256="077b66pj60sryjnd6zkwqdd5hvbqh4pj8r65k4jb2rjvlbqyxln8"; depends=[Rcpp RcppArmadillo]; };
+  Barycenter = derive2 { name="Barycenter"; version="1.3"; sha256="1xrcbr80az80h9hx1ik9cxi86j9j9663iv62kgkh6lknafl3mmh5"; depends=[Rcpp RcppArmadillo]; };
   BatchExperiments = derive2 { name="BatchExperiments"; version="1.4.2"; sha256="0zvcpgzhbna6p37jlf57j7mzrvh5xs5w17janmv9v4210cpbzi1q"; depends=[backports BatchJobs BBmisc checkmate data_table DBI RSQLite]; };
   BatchGetSymbols = derive2 { name="BatchGetSymbols"; version="2.0"; sha256="0jjw7iqlyasyivssmkwkn97al9k8l6bs57zkjwf7hjrj36jfa4x1"; depends=[curl dplyr quantmod rvest stringr tidyr XML]; };
   BatchJobs = derive2 { name="BatchJobs"; version="1.7"; sha256="035658marnw57p4f38g99rwmvmb6hpbq0fhlxp3qbw22zfnnkvs9"; depends=[backports BBmisc brew checkmate data_table DBI digest RSQLite sendmailR stringi]; };
@@ -308,10 +318,11 @@ in with self; {
   BayesCombo = derive2 { name="BayesCombo"; version="1.0"; sha256="01rzjja0xzvqyjivl8a9da13v13ylm4dwv4f27cmgz2znakfg5y8"; depends=[]; };
   BayesComm = derive2 { name="BayesComm"; version="0.1-2"; sha256="1rrbvwcfm93cw0m33g0zn6nyshfjc97kb3fby9cga0zaixc0a8rk"; depends=[abind coda mvtnorm Rcpp RcppArmadillo]; };
   BayesDA = derive2 { name="BayesDA"; version="2012.04-1"; sha256="0fp27cmhw8dsxr4mc1flm6qh907476kph8ch2889g9p31xm1psjc"; depends=[]; };
+  BayesESS = derive2 { name="BayesESS"; version="0.1.12"; sha256="18dhswny8idj2wqpa66amz1yqk8yhk1vwazj4p70pk8jnpg8cdfy"; depends=[dfcrm LaplacesDemon MASS MatrixModels MCMCpack Rcpp RcppArmadillo RcppEigen]; };
   BayesFM = derive2 { name="BayesFM"; version="0.1.2"; sha256="0fiw2x29cpv3prywsbvs1m8a588s2wpi3bwzzjisi2rafbl619xd"; depends=[checkmate coda ggplot2 gridExtra plyr]; };
   BayesFactor = derive2 { name="BayesFactor"; version="0.9.12-2"; sha256="17zfs8bmzp59zaxzcrzis2sxdnqxrv9h1kpb22112mp9l1alvwl4"; depends=[coda gtools Matrix MatrixModels mvtnorm pbapply Rcpp RcppEigen stringr]; };
   BayesGESM = derive2 { name="BayesGESM"; version="1.4"; sha256="0qw2byb48f67461m1k8a1rqh6a0c3zq1rc4ni9xzxv8dih4wkq0f"; depends=[Formula GIGrvg normalp]; };
-  BayesGOF = derive2 { name="BayesGOF"; version="2.1"; sha256="13frvpb3jl8vq1h545k2pbqdj7547k9zipxxiggryvk65l2p4v30"; depends=[orthopolynom VGAM]; };
+  BayesGOF = derive2 { name="BayesGOF"; version="3.0"; sha256="15699lms3g9j9fwc6lng0bg1yngz18pvmvxwaqg8258qjwc79xlx"; depends=[Bolstad2 nleqslv orthopolynom VGAM]; };
   BayesH = derive2 { name="BayesH"; version="1.0"; sha256="0mjd1i3rkhyq3qcalq0ing0ap0igbhyvczaihl4pcfidgs70bci3"; depends=[]; };
   BayesLCA = derive2 { name="BayesLCA"; version="1.7"; sha256="0lsqgjqal9092v1wr07p8g5cqm24k2d80sp7hlr7r1xknakmm1b6"; depends=[coda e1071 fields MCMCpack nlme]; };
   BayesMAMS = derive2 { name="BayesMAMS"; version="0.1"; sha256="1qq3j9nm0k58gpyfavz77v1dwghy8pmpk0v52cj7l8sb3a3aiinm"; depends=[mvtnorm]; };
@@ -321,7 +332,7 @@ in with self; {
   BayesNetBP = derive2 { name="BayesNetBP"; version="1.3.0"; sha256="01blqc48ssgr3dg5bk7yzwpa59n3ja1dggglwm2441dwjxf10vxx"; depends=[bnlearn doBy fields graph gRbase igraph qtl qtlnet RColorBrewer Rgraphviz]; };
   BayesPieceHazSelect = derive2 { name="BayesPieceHazSelect"; version="1.1.0"; sha256="0znbmv7crqycdx75jh02h6z8d6cifjszbrldv2yva4mkjxsydag5"; depends=[mvtnorm]; };
   BayesPiecewiseICAR = derive2 { name="BayesPiecewiseICAR"; version="0.2.1"; sha256="1qrmw7zmygdzz84p76hyh2d8dx88b8xhbbd7radqm39g35zq5wz6"; depends=[mvtnorm]; };
-  BayesRS = derive2 { name="BayesRS"; version="0.1.2"; sha256="11xpkq8x4xcpr4kmflr5blq0pn0ssfi9204bs5xfihn7q3d9bzwy"; depends=[coda ggplot2 metRology reshape rjags]; };
+  BayesRS = derive2 { name="BayesRS"; version="0.1.3"; sha256="0fhvnckabp0z1cdsbjgv3ijnzaxwhrk83fwcflgqbhvm3a9lzr77"; depends=[coda ggplot2 metRology reshape rjags]; };
   BayesS5 = derive2 { name="BayesS5"; version="1.30"; sha256="1nx61sq1d20238hbgr9p9hrmnxsxpsjhnb4sdhmqg1m7klq8qyrw"; depends=[abind Matrix snowfall]; };
   BayesSAE = derive2 { name="BayesSAE"; version="1.0-1"; sha256="09s7f472by689b2b0gahnkhyjriizpsx6r5qa95nf3f4bfqi2cpf"; depends=[coda Formula lattice]; };
   BayesSingleSub = derive2 { name="BayesSingleSub"; version="0.6.2"; sha256="0hgmyhg4mpxx7k91hbfa9h3533mqyn9rz4kl9kb30cc9g7g0m045"; depends=[coda MCMCpack mvtnorm]; };
@@ -333,7 +344,7 @@ in with self; {
   BayesValidate = derive2 { name="BayesValidate"; version="0.0"; sha256="1gli65avpkb90asx92l1yjbwaxcsyb920idyjwgd2sl2b3l657ly"; depends=[]; };
   BayesVarSel = derive2 { name="BayesVarSel"; version="1.8.0"; sha256="1sf18m4p8zaw2s5fv4p9s99n1n0cgzscgfhm5ngkzif43kwz1l6n"; depends=[MASS mvtnorm]; };
   BayesX = derive2 { name="BayesX"; version="0.2-9"; sha256="0p170m8zkaspiah1fdyql9lj9yqg6sl525blzq7wwgx5wx4rvncs"; depends=[coda colorspace maptools shapefiles sp]; };
-  BayesXsrc = derive2 { name="BayesXsrc"; version="2.1-2"; sha256="114804f6maak5dmwzw4cbigjcdw7c6sgx48af35yrvkspi1gsz3b"; depends=[]; };
+  BayesXsrc = derive2 { name="BayesXsrc"; version="3.0-0"; sha256="1w5v2z39wm04s1j0vjw7kvgnkgf423qk2yzxdkpf38x47za2wrfh"; depends=[]; };
   BayesianAnimalTracker = derive2 { name="BayesianAnimalTracker"; version="1.2"; sha256="1pgjijqznfdpvw296h5vksnxgspxs7qhy6s84ww7abnlhg59bz5s"; depends=[TrackReconstruction]; };
   BayesianGLasso = derive2 { name="BayesianGLasso"; version="0.2.0"; sha256="09yb1qqx6qlsspk3ndrcqxy0956iqznw0rmyvqxgxxp3zd3y21xp"; depends=[MASS statmod]; };
   BayesianNetwork = derive2 { name="BayesianNetwork"; version="0.1.3"; sha256="1lli3v922cvp1kwg4sllgvm4rnb972anlpl0lklqk3aqi7ff6flw"; depends=[bnlearn heatmaply lattice networkD3 plotly rintrojs shiny shinyAce shinydashboard]; };
@@ -342,7 +353,7 @@ in with self; {
   Bayesthresh = derive2 { name="Bayesthresh"; version="2.0.1"; sha256="0w26h1ragqcg1i4h7c2y6vd8fig2jb2zrnvvchgg5z2hg9qdplsf"; depends=[coda lme4 MASS matrixcalc mvtnorm VGAM]; };
   BaylorEdPsych = derive2 { name="BaylorEdPsych"; version="0.5"; sha256="1kq6nvzdqwawygp7k62lw5hyccsj81jg82hq60yidgxnmmnnf7y2"; depends=[]; };
   BcDiag = derive2 { name="BcDiag"; version="1.0.10"; sha256="1gyinmx5wn2kk70hiy28ghilkhfirfjbfqdrqq5h3wfb4khnq6pz"; depends=[fabia]; };
-  Bchron = derive2 { name="Bchron"; version="4.2.6"; sha256="0i77a72cq6ddpfgs2p0f3bskb03428jxxyq8chjyirsws1amzp92"; depends=[coda ellipse inline MASS mclust]; };
+  Bchron = derive2 { name="Bchron"; version="4.2.7"; sha256="13zqwl4a6wg0163c3qnfnxlljh6yndim0qcz617hxka5iib74afs"; depends=[coda ellipse inline MASS mclust]; };
   Bclim = derive2 { name="Bclim"; version="3.1.2"; sha256="0dd4fx3rlljj3zb1m8q1bam1bswg497l3y8k0h0mkvjn94b4jbag"; depends=[ggplot2 MASS mclust statmod]; };
   BeSS = derive2 { name="BeSS"; version="1.0.5"; sha256="1gq0zfrzkh2cndly7amhjy0qnfb60lsj7izmdlf2m8h7yrcicjzv"; depends=[glmnet Matrix Rcpp RcppEigen survival]; };
   Benchmarking = derive2 { name="Benchmarking"; version="0.26"; sha256="00w7a16lhra6rjylyj26q67mvgbc3wa27a2wmiwjz5yh7wdnh193"; depends=[lpSolveAPI ucminf]; };
@@ -353,7 +364,7 @@ in with self; {
   BeviMed = derive2 { name="BeviMed"; version="5.3"; sha256="01q5pr776ki973bcld20cqpsz9f10bb30vj95da9gbz5af6bvb14"; depends=[Rcpp]; };
   Bhat = derive2 { name="Bhat"; version="0.9-10"; sha256="1vg4pzrk3y0dk1kbf80mxsbz9ammkysh6bn26maiplmjagbj954v"; depends=[]; };
   BiBitR = derive2 { name="BiBitR"; version="0.3.1"; sha256="0wfwph6nw12hb43j14i9ycj8m2zn0m5ynp7afq9cray8rbgvxfv6"; depends=[biclust cluster dendextend foreign lattice randomcoloR viridis]; };
-  BiDAG = derive2 { name="BiDAG"; version="1.0.2"; sha256="1y91vb9g6642c0j7cr3g9fg999fxb7bhbfvm0bdlnaixpbnky6qa"; depends=[pcalg Rcpp]; };
+  BiDAG = derive2 { name="BiDAG"; version="1.1.1"; sha256="1rncjsdyam7dnhd6ccdlvc85nnc79nsifcm24spc05k8rvx1836x"; depends=[pcalg Rcpp]; };
   BiDimRegression = derive2 { name="BiDimRegression"; version="1.0.6"; sha256="1kgrk4xanvxqdq619ha08wwplmsn2xqygx4dziagx48iqfpp1lxj"; depends=[nlme]; };
   BiG = derive2 { name="BiG"; version="0.1.0"; sha256="1wi2lyj3q1x47cpf1mdm5kqvjlcvbrliym6j5jbmwz7npc910vrb"; depends=[truncnorm]; };
   BiSEp = derive2 { name="BiSEp"; version="2.2"; sha256="1ha7rc1q54dr2xl4bpkiwl703igmmi9qphsgv2h0flq7iz0gr351"; depends=[AnnotationDbi GOSemSim mclust]; };
@@ -368,6 +379,7 @@ in with self; {
   BinNonNor = derive2 { name="BinNonNor"; version="1.4"; sha256="00405ww9mh910jqww60w7cb8qbjql2jn13m60ly0bnxilg44r0bb"; depends=[BB corpcor Matrix mvtnorm]; };
   BinNor = derive2 { name="BinNor"; version="2.2"; sha256="03cggpk9fhndnk9vv5i6fzsq4wjxc5405xxlxg3l9gb618kj437f"; depends=[corpcor Matrix mvtnorm psych]; };
   BinOrdNonNor = derive2 { name="BinOrdNonNor"; version="1.4"; sha256="0qiy0wf9i9r44ycz1jl666nwpsv5yz7vzz1szdy22sk68lz984bv"; depends=[BB corpcor GenOrd Matrix mvtnorm OrdNor]; };
+  BinQuasi = derive2 { name="BinQuasi"; version="0.1-3"; sha256="0kxn71kfaldxji1a0zwnkalpjgrvw0jjfqm2f82gvj8cgcn69lgr"; depends=[BiocGenerics csaw edgeR GenomicAlignments GenomicRanges IRanges mgcv pracma quadprog Rsamtools S4Vectors SummarizedExperiment]; };
   Binarize = derive2 { name="Binarize"; version="1.2"; sha256="014iagr76y3v7ljn6zlbg1hxwbwdi889bqxa7hwmqrcybnla22ja"; depends=[diptest]; };
   BinaryEMVS = derive2 { name="BinaryEMVS"; version="0.1"; sha256="1ainp6pg481yqhjc4f1pkxzxczbi3qm0kgq280vndq859ldfkpnh"; depends=[]; };
   BinaryEPPM = derive2 { name="BinaryEPPM"; version="2.1"; sha256="1f4y1mrscy9z87yglbynnsis623ar0gqpda3dfm9isa2z10c24qr"; depends=[expm Formula lmtest numDeriv]; };
@@ -382,7 +394,7 @@ in with self; {
   BioStatR = derive2 { name="BioStatR"; version="2.0.0"; sha256="1k3z337lj8r06xgrqgi5h67hhkz2s5hggj6dhcciq26i1nzafsw6"; depends=[ggplot2]; };
   Biocomb = derive2 { name="Biocomb"; version="0.3"; sha256="0shhsljg0knfp83b3hrs2c674sqx2348h5m99jhf19jf1i98pf1k"; depends=[arules class e1071 FSelector gtools MASS nnet pamr pROC randomForest Rcpp rgl ROCR rpart RWeka]; };
   Biodem = derive2 { name="Biodem"; version="0.4"; sha256="0k0p4s21089wg3r3pvyy9cxsdf4ijdl598gmxynbzvwpr670qnsh"; depends=[]; };
-  BiodiversityR = derive2 { name="BiodiversityR"; version="2.9-1"; sha256="16v21svrkhpxd4qb1ayh29c0zrfqm4m4fzfsg1zaw07ham2x1y90"; depends=[Rcmdr vegan]; };
+  BiodiversityR = derive2 { name="BiodiversityR"; version="2.9-2"; sha256="15wa7la36mfr9fi8cahvrkcd5n5gjiar66mj1c1gsaazjwqsfw6n"; depends=[Rcmdr vegan]; };
   Biograph = derive2 { name="Biograph"; version="2.0.6"; sha256="0vklqwbifbac3v9ws9fs22yxpqqk5b3m96qzr8j0irnimb5kgh5p"; depends=[Epi etm ggplot2 lubridate msm mstate mvna plyr reshape survival]; };
   Bioi = derive2 { name="Bioi"; version="0.2.9"; sha256="0kvqvvaws1zc3npxvl3jqidak24n5y8n98ml44mkbh7c5n296z2p"; depends=[assertthat dplyr igraph Rcpp]; };
   Biolinv = derive2 { name="Biolinv"; version="0.1-2"; sha256="0g9vw1jcsjawmddkixssm5gbncy17fdd6a3c5b2qd4hx81kxz8q9"; depends=[classInt fields raster sp spatstat]; };
@@ -391,17 +403,19 @@ in with self; {
   BivRegBLS = derive2 { name="BivRegBLS"; version="1.0.0"; sha256="1fi399vv54dnfywxbc8yb1r58lrl7zpqkahvcx3f5svjy20dvvbw"; depends=[ellipse]; };
   BivUnifBin = derive2 { name="BivUnifBin"; version="1.2"; sha256="0m4a2m7lvlm02hqqigwg3cd6sjzxnxqw1mchxj5g19whk34vwkwi"; depends=[BinOrdNonNor rootSolve]; };
   BivarP = derive2 { name="BivarP"; version="1.0"; sha256="08f7sphylaj3kximy1avaf29hxj2n800adsnssh01p9bcxnzb2i4"; depends=[copula dfoptim survival]; };
-  Bivariate_Pareto = derive2 { name="Bivariate.Pareto"; version="1.0.0"; sha256="0m5a41q56z6v0681y9093n5rdd33mg4fc904wjkqznlb4kn1156x"; depends=[]; };
+  Bivariate_Pareto = derive2 { name="Bivariate.Pareto"; version="1.0.2"; sha256="1clfknv56zfi9wgzi5bricchvis83mc33i5d4qk3yzf2ryzxag7q"; depends=[compound_Cox]; };
   BlakerCI = derive2 { name="BlakerCI"; version="1.0-5"; sha256="16zj678qzwqih92q19dma7a602d0hif2dhii5hvxdgjymg7hg2bj"; depends=[]; };
   BlandAltmanLeh = derive2 { name="BlandAltmanLeh"; version="0.3.1"; sha256="11p30zqb3f9ifk3v18dspg18sclz5zxjygy7hw8ccb4bcqhx68lm"; depends=[]; };
   Blaunet = derive2 { name="Blaunet"; version="2.0.7"; sha256="19p2rqbg44pi0dz2iimjgr69zyrjf0dfsic6spph81dyrri1zyvh"; depends=[cairoDevice ergm foreign gWidgets gWidgetsRGtk2 haven network plot3D plot3Drgl rgl RGtk2 sna statnet_common]; };
+  Blendstat = derive2 { name="Blendstat"; version="1.0.1"; sha256="1riw2g114xar6ix1q97701lbbsgc55c1q73nrdvwm0raicjxhisi"; depends=[lattice MASS]; };
   BlockFeST = derive2 { name="BlockFeST"; version="1.3"; sha256="062x7lrcpkd15j3ar58j1gssbd0h66dym7c004jf0k040dkk0z43"; depends=[BASIX]; };
   BlockMessage = derive2 { name="BlockMessage"; version="1.0"; sha256="1jrcb9j1ikbpw098gqbcj29yhffa15xav90y6vpginmhbfpwlbf4"; depends=[]; };
   Bmix = derive2 { name="Bmix"; version="0.6"; sha256="17swhn2p7jv29fkspacg2v181lkc9yd3xww2fx31xs8hsndcm857"; depends=[mvtnorm]; };
-  BoSSA = derive2 { name="BoSSA"; version="3.1"; sha256="1d6g7rfmva09y0nzh99y7wwbk7kac50xvk6il65iwfln2427v9ns"; depends=[ape jsonlite phangorn plotrix RSQLite]; };
+  BoSSA = derive2 { name="BoSSA"; version="3.2"; sha256="03m4l77mq1h7vxfwkkp2r9acnbwd46mq85z27iizmwixnh81pgxy"; depends=[ape jsonlite phangorn plotrix RSQLite]; };
   BoardGames = derive2 { name="BoardGames"; version="1.0.0"; sha256="1w3ghs29qlnjrd46lvv055snclwwy6a22fgdqszqm377w4favnhm"; depends=[]; };
-  Bolstad = derive2 { name="Bolstad"; version="0.2-36"; sha256="0y33664wkl0z61v6k8j9ww4a8kb1mlaaq9ippp9qggdjgbqc8rqz"; depends=[mvtnorm]; };
+  Bolstad = derive2 { name="Bolstad"; version="0.2-38"; sha256="1535cfpn202vb037q027dy51kc4yg5g9mpn4l6x2q1pwrvnnx18f"; depends=[mvtnorm]; };
   Bolstad2 = derive2 { name="Bolstad2"; version="1.0-28"; sha256="08cfadvl9jl9278ilsf8cm2i2a3i8zsa2f3vjzw2nlv85fwi2c7v"; depends=[]; };
+  BoltzMM = derive2 { name="BoltzMM"; version="0.1.1"; sha256="0jb81wn8b5lhvlkpv4rs66qdmryf57n2xmxgwl1qk0n8bfzy8ayi"; depends=[BH Rcpp RcppArmadillo]; };
   BonEV = derive2 { name="BonEV"; version="1.0"; sha256="0lmgrg53b0abb5hidyjjmwn7lf2ani84k9fil7g6j6mdajjhh1b7"; depends=[qvalue]; };
   BoolFilter = derive2 { name="BoolFilter"; version="1.0.0"; sha256="14z4fzf8p4wgi939qs6v39a3xizccjcx7j4szsydllpkvxbwggbw"; depends=[BoolNet Rlab]; };
   BoolNet = derive2 { name="BoolNet"; version="2.1.3"; sha256="1s64a46wfp31jsyfdg2m8269qaq7x798y2bj0dyk69di1nxx2daa"; depends=[igraph XML]; };
@@ -411,13 +425,14 @@ in with self; {
   BootPR = derive2 { name="BootPR"; version="0.60"; sha256="03zw7hz4gyhp6iq3sb03pc5k2fhvrpkspzi22zks25s1l7mq51bi"; depends=[]; };
   BootValidation = derive2 { name="BootValidation"; version="0.1.3"; sha256="097s6yd2g6ahc7rrdpzjarmvqajvzfz2dzawm8gijiami0dkfm9m"; depends=[glmnet pbapply pROC]; };
   BootWPTOS = derive2 { name="BootWPTOS"; version="1.2"; sha256="1860l11xg7444l3x42rq3636csla23gg0mi5in1zibjwn1ddc202"; depends=[fractal wavethresh]; };
-  Boruta = derive2 { name="Boruta"; version="5.2.0"; sha256="111rp7lbq79p7c1w4dkzhb9wh32mns5p17xxq0qbjzaiv41377dy"; depends=[ranger]; };
+  Boruta = derive2 { name="Boruta"; version="5.3.0"; sha256="181ldma4rfd14bnq5prhhsjji1hpr4jmn69b017cs08w7k0nqdi9"; depends=[ranger]; };
   BosonSampling = derive2 { name="BosonSampling"; version="0.1.1"; sha256="0wxn12h903a0mlrkrr3w4qd9ld2a4bifs95i98cnl2dsb76rwf12"; depends=[Rcpp RcppArmadillo]; };
   BradleyTerry2 = derive2 { name="BradleyTerry2"; version="1.0-8"; sha256="09c6zdzf5k5x7zv5m6ygl4k5xbprlpb6s3lrq432mmv8rn2yi58z"; depends=[brglm gtools lme4 qvcalc]; };
   BradleyTerryScalable = derive2 { name="BradleyTerryScalable"; version="0.1.0"; sha256="0g12fkfs2sykyd6fzf924zv8gj2js452c4pf0pz2p6156chwrk8c"; depends=[dplyr igraph Matrix purrr Rcpp RcppArmadillo]; };
   BrailleR = derive2 { name="BrailleR"; version="0.26.0"; sha256="1grqs3sb1xk28vmpcbidb6s805wqzkrrx41qqz7jc5y8vpspba51"; depends=[devtools extrafont ggplot2 gridGraphics gridSVG hunspell knitr magrittr moments nortest pander rmarkdown XML xtable]; };
   Branching = derive2 { name="Branching"; version="0.9.4"; sha256="1c209gdasm7qipv2gg4d1hr0jmhnzz5rddgjxb7xacazc0c2mhff"; depends=[]; };
-  Brobdingnag = derive2 { name="Brobdingnag"; version="1.2-4"; sha256="1saxa492f32f511vw0ys55z3kgyzhswxkylw9k9ccl87zgbszf3a"; depends=[]; };
+  BreedingSchemeLanguage = derive2 { name="BreedingSchemeLanguage"; version="0.9.4"; sha256="0d51i3dpdfay3562b87la0731jfc5bq5d04mxs1qdrzw6p69ijvn"; depends=[ggplot2 lme4 Matrix Rcpp rrBLUP snowfall]; };
+  Brobdingnag = derive2 { name="Brobdingnag"; version="1.2-5"; sha256="1ly9fx6mmiwrni52li0c23amsh4k36zjv9h5432igf0fgldhr3pq"; depends=[]; };
   BrownDog = derive2 { name="BrownDog"; version="0.2.1"; sha256="0wnf1jcf4cakbvj9j1l7jk9mq7gd4j1il1ha2vglghqn04f27938"; depends=[httpuv jsonlite RCurl]; };
   Brq = derive2 { name="Brq"; version="2.0"; sha256="0j6d1m2drzy1wyr5y25qb8gs6555vh0lkyh415kw17x9dj4ks0zx"; depends=[]; };
   Brundle = derive2 { name="Brundle"; version="1.0.8"; sha256="1yj196x6xb75qgi16pgg3dyjmxmjklfjcpxymaki32drhmylf24z"; depends=[DESeq2 DiffBind lattice Rsamtools]; };
@@ -425,6 +440,7 @@ in with self; {
   BullsEyeR = derive2 { name="BullsEyeR"; version="0.2.0"; sha256="1p8b5w818zi7zs0n13cc3sw8z0z9mfr5cn5y5icsx1jam5amppci"; depends=[Matrix NLP slam tm topicmodels]; };
   BurStFin = derive2 { name="BurStFin"; version="1.02"; sha256="16w2s0bg73swdps9r0i8lwvf1najiqyx7w7f91xrsfhmnqkkjzka"; depends=[]; };
   BurStMisc = derive2 { name="BurStMisc"; version="1.1"; sha256="0cyi42zkn2dby162x9f95b3hpqxbzx25s7nahb4p86r60xj3a5c0"; depends=[]; };
+  BusinessDuration = derive2 { name="BusinessDuration"; version="0.1.0"; sha256="0bx147qcf44q2bpl4rcyps18vk2dawcgn7870j8ljc8d86lqnvqd"; depends=[chron]; };
   BuyseTest = derive2 { name="BuyseTest"; version="1.0"; sha256="1nfj2ajah2dg1p47g2z0zf9s24sxj4dfn3nny1h4qmqwcb4vs55g"; depends=[data_table lava Rcpp RcppArmadillo snowfall survival]; };
   C50 = derive2 { name="C50"; version="0.1.1"; sha256="1pq1plsh7kf45f0ghrja0xjikaxgvq14k8k80ml5rkabyv11zg03"; depends=[Cubist partykit]; };
   CADFtest = derive2 { name="CADFtest"; version="0.3-3"; sha256="06bwv728ckalzibxginzfica24w18m4g87i0i064m3q89ghmnlqm"; depends=[dynlm sandwich tseries urca]; };
@@ -436,10 +452,11 @@ in with self; {
   CAMAN = derive2 { name="CAMAN"; version="0.74"; sha256="0d932fbqzlxlhn7m8zfx7wr02pc7fm8398rym1jh2cdy2fk5im08"; depends=[mvtnorm sp]; };
   CANSIM2R = derive2 { name="CANSIM2R"; version="0.12"; sha256="1r8fln9rqjsqhbnxvng9wpdnp6mb1gxlq3qkff4q2wbhf18wwn7w"; depends=[Hmisc reshape2]; };
   CARBayes = derive2 { name="CARBayes"; version="5.0"; sha256="0kii28mf75m7ij1l0bz2w93h7m1wwq1xjvv3d3nf3ps9h8rxzi8d"; depends=[CARBayesdata coda MASS matrixcalc MCMCpack Rcpp sp spam spdep truncnorm]; };
-  CARBayesST = derive2 { name="CARBayesST"; version="2.5.1"; sha256="10mzjcybj549wp07sigr7m0r93gjskmwd8i6i1017wyh1vv5vlyc"; depends=[CARBayesdata coda dplyr MASS matrixcalc Rcpp sp spam spdep testthat truncdist truncnorm]; };
+  CARBayesST = derive2 { name="CARBayesST"; version="2.5.2"; sha256="0jww40ghcfiq7laprdicynn1m34ykz9l9navi9rdx8p8d7k76ykc"; depends=[CARBayesdata coda dplyr MASS matrixcalc Rcpp sp spam spdep testthat truncdist truncnorm]; };
   CARBayesdata = derive2 { name="CARBayesdata"; version="2.0"; sha256="0mlqlqm50k4lqyvbjva7vji9jqa3rwi5ky5521rp5l4nqlj53sfb"; depends=[shapefiles sp]; };
   CARE1 = derive2 { name="CARE1"; version="1.1.0"; sha256="1zwl4zv60mrzlzfgd7n37jjlr0j918a8ji36n94s5xw8wwipiznw"; depends=[]; };
   CARLIT = derive2 { name="CARLIT"; version="1.0"; sha256="04kpjfps4ydf8fj75isqp16g1asdsyf8nszhbfkpw1zxkrmiksyp"; depends=[]; };
+  CARRoT = derive2 { name="CARRoT"; version="0.1.0"; sha256="1zwc59pf0wpd9hy2apx723plag3dmas39sn7rf1cfkn7h9dm27iz"; depends=[doParallel foreach nnet Rdpack]; };
   CARS = derive2 { name="CARS"; version="0.2"; sha256="1n8p4n9fbl20jps9g9pbspw54hq9y6kqbggc8h0i9pbm1b25ngrg"; depends=[np]; };
   CARrampsOcl = derive2 { name="CARrampsOcl"; version="0.1.4"; sha256="1sdrir7h7xl1imipm9b71vca062dxqsqd8mg3w9f3s80x2aghxl8"; depends=[fields OpenCL]; };
   CAST = derive2 { name="CAST"; version="0.1.0"; sha256="0mihpcknwk86m41x14j2g3f2s2ya20sh99ng85rcph57a4v6ar05"; depends=[caret]; };
@@ -448,17 +465,20 @@ in with self; {
   CATkit = derive2 { name="CATkit"; version="3.2.3"; sha256="1vl60m6x3mqgghqzpxq8aalpjpcagamjk5zg62mqpwx0vgdwv2fy"; depends=[assertr magic MASS png rtf season signal]; };
   CAvariants = derive2 { name="CAvariants"; version="3.4"; sha256="1mrqvcgnxbzah7vhqqqdygds8plwswd2l8w0aq5132byhhc4kiax"; depends=[]; };
   CBCgrps = derive2 { name="CBCgrps"; version="2.1"; sha256="0cvgcpvdvpvjkzkwapx0y4a666xq54dwm00w4w9n8fhgp05mnkn8"; depends=[nortest]; };
+  CBDA = derive2 { name="CBDA"; version="1.0.0"; sha256="0qm77vvqjgi83i8izly995ziv9ski8kgzqyq4g81i2k7a5dp8vxv"; depends=[doParallel foreach prettydoc SuperLearner]; };
+  CBPS = derive2 { name="CBPS"; version="0.18"; sha256="0dd63s9nrgra51w005j35scbswbknqgv9ppawh0311hpr7anrir9"; depends=[glmnet MASS MatchIt nnet numDeriv]; };
   CCA = derive2 { name="CCA"; version="1.2"; sha256="00zy6bln22qshhlll0y0adnvb8wa1f7famqyws71b6pcnwxki5ha"; depends=[fda fields]; };
   CCAGFA = derive2 { name="CCAGFA"; version="1.0.8"; sha256="1jxb6d1h5p97wnr45s1fsspksqn771nib415ihxi4vj5w8s94j8b"; depends=[]; };
-  CCM = derive2 { name="CCM"; version="1.1"; sha256="0gya1109w61ia6cq3jg2z5gmvjkv9xg71l2rxhrrf6bx1c2nsrq6"; depends=[]; };
+  CCM = derive2 { name="CCM"; version="1.2"; sha256="1mhl7yppniybdffylddbbb65n7gmv029fb46wlsxm4yf2xkplmwy"; depends=[]; };
   CCMnet = derive2 { name="CCMnet"; version="0.0-3"; sha256="0mbw3yhlgnmq7q4wnwiff7rlmciq83cch7kkav3wll6nqvxcdiax"; depends=[ergm network sna]; };
   CCP = derive2 { name="CCP"; version="1.1"; sha256="07jxh33pb8llk1gx4rc80ppi35z8y1gwsf19zrca9w91aahcs8cx"; depends=[]; };
   CCTpack = derive2 { name="CCTpack"; version="1.5.2"; sha256="1kkxsk9x4jz2bvldmba7fsri3zc1cjz15z0xicjmfc7lj72ngdig"; depends=[MASS mvtnorm polycor psych R2jags rjags]; };
   CCpop = derive2 { name="CCpop"; version="1.0"; sha256="10kgw3b98r0kn74w89znq6skgk8b3ldil6yb0hn5rlcf6lazjzca"; depends=[nloptr]; };
+  CDECRetrieve = derive2 { name="CDECRetrieve"; version="0.1.0"; sha256="059pppiczvnfm4shyac6myzbq1vyz2pl7mxq225sy9ppdf813y61"; depends=[dplyr httr lazyeval lubridate magrittr purrr readr roxygen2 rvest stringr tibble tidyr xml2]; };
   CDF_PSIdekick = derive2 { name="CDF.PSIdekick"; version="1.2"; sha256="1h2d5xh7zj3d8r63qndvd5c8z52byn1852b51zmj6ypc90fil25x"; depends=[Rcpp]; };
   CDFt = derive2 { name="CDFt"; version="1.0.1"; sha256="0sc8ga48l3vvqfjq3ak5j1y27hgr5dw61wp0w5jpwzjz22jzqbap"; depends=[]; };
   CDLasso = derive2 { name="CDLasso"; version="1.1"; sha256="0n699y18ia2yqpk78mszgggy7jz5dybwsi2y56kdyblddcmz1yv7"; depends=[]; };
-  CDM = derive2 { name="CDM"; version="6.0-101"; sha256="0vybxqbbdxi9bvs8a1wmra6i468ivqmp5kwb5lz1qvlb41r1gc15"; depends=[MASS mvtnorm polycor Rcpp RcppArmadillo sfsmisc]; };
+  CDM = derive2 { name="CDM"; version="6.1-10"; sha256="00c25k4hliqc4w15njasp0azsyy1x13h7y3kh1b9dl3qkpqs5r2z"; depends=[MASS mvtnorm polycor Rcpp RcppArmadillo sfsmisc]; };
   CDNmoney = derive2 { name="CDNmoney"; version="2012.4-2"; sha256="1isbvfq0lygs75y1hn3klqms8q7g1xbkcr8fgj75h1c99d4khvm6"; depends=[]; };
   CDROM = derive2 { name="CDROM"; version="1.1"; sha256="0mvhqs4m8jp39x1rk31a1sqqmfq1avcnasgh8bizlyxx62igmi1b"; depends=[]; };
   CDVine = derive2 { name="CDVine"; version="1.4"; sha256="0cp78pb6yny4n5q2j9k6xdql588536572gbphnw8zkdmrg65qyz7"; depends=[igraph MASS mvtnorm]; };
@@ -469,6 +489,7 @@ in with self; {
   CEoptim = derive2 { name="CEoptim"; version="1.2"; sha256="0bbjrhl63cbx1rsr5gclbqhjpnjid8ynk2ygaf1chf8z381n7650"; depends=[MASS msm sna]; };
   CFC = derive2 { name="CFC"; version="1.1.0"; sha256="0yhb314qcdxig5vg0nbzvsqiddlsqlm50vzddhpp0z5n3xfa7h2c"; depends=[abind doParallel foreach Rcpp RcppArmadillo RcppProgress survival]; };
   CGP = derive2 { name="CGP"; version="2.0-2"; sha256="1mggv3c8525vbdfdc3yhpp4vm4zzdvbwyxim29zj0lzwjf9fkgqk"; depends=[]; };
+  CGPfunctions = derive2 { name="CGPfunctions"; version="0.1"; sha256="0zsvhhp5pgqrn518c1cmmxama1cadg7grscimz08cclzidcqq0w1"; depends=[car dplyr ggplot2 rlang tibble]; };
   CHAT = derive2 { name="CHAT"; version="1.1"; sha256="1hl4xr4lkvb7r36gcbgax6ipqc3rsvn1r03w7fk9gf9bbyg7bkhg"; depends=[DNAcopy DPpackage]; };
   CHCN = derive2 { name="CHCN"; version="1.5"; sha256="18n8f002w0p0l1s5mrrsyjddn10kdbb6b7jx1v9h1m81ifdbv0xb"; depends=[bitops RCurl]; };
   CHFF = derive2 { name="CHFF"; version="0.1.0"; sha256="0jv75p1bnwsad2vpxf1zwq97al9xxhk2hpnpsilf0jn0w7g9b2d3"; depends=[]; };
@@ -476,12 +497,12 @@ in with self; {
   CHNOSZ = derive2 { name="CHNOSZ"; version="1.1.3"; sha256="07j1xvv6rn57hirxw1dajnvk9hmj3r9bgk4fckzmmpclf22z4mwq"; depends=[]; };
   CHsharp = derive2 { name="CHsharp"; version="0.4"; sha256="19mb5zzi9x4pm2z9jbha5dz4k5f1iqjv31aisyv4qh14k5ysdz2i"; depends=[KernSmooth scatterplot3d]; };
   CIAAWconsensus = derive2 { name="CIAAWconsensus"; version="1.2"; sha256="0s3a9ay0l9n5kc6q0wb7f9625vba4giz1pdg3ikq4h4zhp1ldq62"; depends=[Matrix mvtnorm numDeriv stringr]; };
-  CIDnetworks = derive2 { name="CIDnetworks"; version="0.8.1"; sha256="0k75mdlvm0rccag42pnhsni1kihpqsnj5bsrwlj7hdf7n8k1xb77"; depends=[igraph MASS msm mvtnorm numDeriv pbivnorm Rcpp]; };
-  CIEE = derive2 { name="CIEE"; version="0.1.0"; sha256="1z4061rkryhnhf6qdxlna1w2dsy06pipx3sk1hswah4i2n7cc7sq"; depends=[survival]; };
+  CIEE = derive2 { name="CIEE"; version="0.1.1"; sha256="03kq9cp0v41y0r2l9j5imcrsail2xsvlzhhhsrw454d4s9gqdql9"; depends=[survival]; };
   CIFsmry = derive2 { name="CIFsmry"; version="1.0.1.1"; sha256="1m2m2zvg9ghy3bm2sll7jp4xm2vw58kc5xaxd2c9k82771m3a4j0"; depends=[]; };
   CINID = derive2 { name="CINID"; version="1.2"; sha256="0pkgzi2j0045p10kjvnq8f4j1agzrqfw0czvvfrzj9yjfpj8xc99"; depends=[]; };
-  CINNA = derive2 { name="CINNA"; version="1.1.3"; sha256="0y2xymk323xjkwpii1i13q38dsfi1ywlvw3ykq4928jb58f96121"; depends=[centiserve circlize corrplot dendextend factoextra FactoMineR GGally ggplot2 igraph network pheatmap plyr qdapTools Rtsne sna viridis]; };
+  CINNA = derive2 { name="CINNA"; version="1.1.4"; sha256="0wq7kiycx4ly6pm9f81g0wjzrhb123zzflsx7mnxs7lc77ga2h2b"; depends=[centiserve circlize corrplot dendextend factoextra FactoMineR GGally ggplot2 igraph network pheatmap plyr qdapTools Rtsne sna viridis]; };
   CINOEDV = derive2 { name="CINOEDV"; version="2.0"; sha256="0fjpxahc55zd972p3hlw9fk4dq8hpq715xff8p98kfh29dvw9mnz"; depends=[ggplot2 igraph R_matlab reshape2]; };
+  CISE = derive2 { name="CISE"; version="0.1.0"; sha256="10mbi4v8dfdc9ngnrrmxpng8fnig5m8nv7799jksbcf6pnj8yv51"; depends=[far gdata glmnet MASS Matrix rARPACK]; };
   CITAN = derive2 { name="CITAN"; version="2015.12-2"; sha256="08h91q7529q04izgqw3ahm4r0zjpwnwyc0vynykvv9fz2fkbk7wb"; depends=[agop DBI hash RGtk2 RSQLite stringi]; };
   CIplot = derive2 { name="CIplot"; version="1.0"; sha256="0hx3dn7d8hvsh75747d9046iqriy3bjnchph8xllnvlhkrm4di1f"; depends=[MASS multcomp]; };
   CLA = derive2 { name="CLA"; version="0.90-1"; sha256="1rpklm21i9rjw0vfhaz9brq9571yjynwfhpv6dp6fbl3cj7bwb8g"; depends=[]; };
@@ -495,7 +516,6 @@ in with self; {
   CNLTreg = derive2 { name="CNLTreg"; version="0.1"; sha256="1fjc45kv2nm902vpfynfxj0n7nm2prazm44nhg2m30vd6l1ijisv"; depends=[adlift miscTools nlt]; };
   CNLTtsa = derive2 { name="CNLTtsa"; version="0.1"; sha256="0s98ckg6ms3kh49b8la2d8rsdb0m4m0v8gdbj48nqxncdvg25qk4"; depends=[adlift CNLTreg fields nlt]; };
   CNOGpro = derive2 { name="CNOGpro"; version="1.1"; sha256="1frsmhfqrlg1vsa06cabqmrzngq4p5gqwyb9qgnsgg81a9ybm6l8"; depends=[seqinr]; };
-  CNVassoc = derive2 { name="CNVassoc"; version="2.2"; sha256="0rvb5sl7kfyb9jp07w4zk8817s9xld9b2cb0m33lrs4kbsv7rpnx"; depends=[CNVassocData mclust mixdist survival]; };
   CNVassocData = derive2 { name="CNVassocData"; version="1.0"; sha256="17r3b1w9i9v6llawnjnrjns6jkd82m2cn9c90aif8j0bf4dmgdli"; depends=[]; };
   CNprep = derive2 { name="CNprep"; version="2.0"; sha256="08dpjikx3ldqzw2kwb12q0kbw15qzl09srjdfs0sz9si0x6bfxs6"; depends=[mclust rlecuyer]; };
   CNull = derive2 { name="CNull"; version="1.0"; sha256="14hy86zg18hqxi63bfzrpkz70yrzfxp2v2pva5xnrvx9dmlyz820"; depends=[ape Matrix PhyloMeasures Rcpp]; };
@@ -507,13 +527,13 @@ in with self; {
   CONDOP = derive2 { name="CONDOP"; version="1.0"; sha256="0si9nm93wk9lif3r6jh2nxr4sjq1iqyfavbykja3zcy6yn05i19s"; depends=[earth GenomeInfoDb GenomicRanges IRanges mclust plyr randomForest rminer S4Vectors seqinr]; };
   CONS = derive2 { name="CONS"; version="0.1.1"; sha256="0w0rca4z3hij0lbabpdnhv2lb52gx574g7bqp6q16772pi4685hf"; depends=[FactoMineR gridExtra gWidgets pander raster readxl REdaS]; };
   CORE = derive2 { name="CORE"; version="3.0"; sha256="0wq9i7nscnzqiqz6zh6hglm7924261bw169q3x6l9i6jgqhvn32d"; depends=[]; };
-  CORElearn = derive2 { name="CORElearn"; version="1.52.0"; sha256="01kby6kddfbv6qhmsja1q4gyqq57f7n9kk4555g258f9a6900c2n"; depends=[cluster nnet rpart]; };
+  CORElearn = derive2 { name="CORElearn"; version="1.52.1"; sha256="0i37dpnphdq9pcb94rzpy80gw88zrfy8diiig94p1gdj0dk57b0f"; depends=[cluster nnet rpart]; };
   CORM = derive2 { name="CORM"; version="1.0.2"; sha256="0g5plafx2h1ija8jd6rxvy8qsrqprfbwbi1kq1p4jdr9miha20nv"; depends=[cluster limma]; };
   COSINE = derive2 { name="COSINE"; version="2.1"; sha256="10ypj849pmvhx117ph3k1jqa62nc4sdmv8665yahds7mh0ymhpjj"; depends=[genalg MASS]; };
   COUNT = derive2 { name="COUNT"; version="1.3.4"; sha256="02f7779fy0d2bql88x5v9csbxljhnyvl8wb8h83xrmwl7kaxsdpy"; depends=[MASS msme sandwich]; };
   COUSCOus = derive2 { name="COUSCOus"; version="1.0.0"; sha256="1ykqi72v8v1b3g9qy6h34dvk5fynzf1rl2mby65p08axmaba5798"; depends=[bio3d matrixcalc]; };
   CP = derive2 { name="CP"; version="1.6"; sha256="18zblf13riiz3mq3hkvg6vhiwjzpsn6mvgc2p0bqyldy98v4aisd"; depends=[survival]; };
-  CPBayes = derive2 { name="CPBayes"; version="0.2.0"; sha256="1h4mipvmcjhs1s1dqbibxz2sf73psbwplgc5ki65y5654yqc26pl"; depends=[forestplot MASS]; };
+  CPBayes = derive2 { name="CPBayes"; version="0.3.0"; sha256="1vzh9sgij194j7kiwjgba7xsqffiif9zamj9gdv2lk91wdcqaxid"; depends=[forestplot MASS]; };
   CPE = derive2 { name="CPE"; version="1.4.4"; sha256="09sqp2a0j43jr9ya9piv8575rwd5fdvwmiz4chv75r3mw8p128mn"; depends=[rms survival]; };
   CPHshape = derive2 { name="CPHshape"; version="1.0.1"; sha256="05krqcd4spgghp3ihv1zfql6ikd64vkqnrjghjvfki3hi3zi5k7h"; depends=[]; };
   CPMCGLM = derive2 { name="CPMCGLM"; version="1.2"; sha256="07hx2ik5zg05w1h6i94398mp54q958phws9ydgp6syjqlp9dpf1p"; depends=[abind mvtnorm plyr]; };
@@ -540,11 +560,12 @@ in with self; {
   CVST = derive2 { name="CVST"; version="0.2-1"; sha256="17xacyi8cf37rr2xswx96qy7pwkaqq394awdlswykz3qlyzx4zx2"; depends=[kernlab Matrix]; };
   CVThresh = derive2 { name="CVThresh"; version="1.1.1"; sha256="19d7pslzj8r3z5gn3cplpz2h2ayz6k1nrfx3s2b7a8w1il3vmi69"; depends=[EbayesThresh wavethresh]; };
   CVTuningCov = derive2 { name="CVTuningCov"; version="1.0"; sha256="1bwzis82lqwcqp2djy4bnd3vvjr47krlv3pdc5msh12wcs0xhs7n"; depends=[]; };
-  CVXR = derive2 { name="CVXR"; version="0.94-4"; sha256="0cnipvmrsikfy16sbnvypnhhpn4v8xczrnjnqgc3wkp454znqqhi"; depends=[bit64 ECOSolveR gmp Matrix R_utils R6 Rcpp RcppEigen Rmpfr scs]; };
+  CVXR = derive2 { name="CVXR"; version="0.95"; sha256="1sf8n27w7dlix55bc5rdrrn361yc6xslwykd1vj51zh908c5as1w"; depends=[bit64 ECOSolveR gmp Matrix R_utils R6 Rcpp RcppEigen Rmpfr scs]; };
   CVcalibration = derive2 { name="CVcalibration"; version="1.0-1"; sha256="0ca582fnysrldlzxc3pihsph9pvdgygdh7sfzgxvr5fc3z1jbjzb"; depends=[]; };
   CaDENCE = derive2 { name="CaDENCE"; version="1.2.5"; sha256="1z3p5y1l67r470x6wrhnyjvw1ndppcm08fpj99x122j7kn6byff2"; depends=[pso]; };
   Cairo = derive2 { name="Cairo"; version="1.5-9"; sha256="1x1q99r3r978rlkkm5gixkv03p0mcr6k7ydcqdmisrwnmrn7p1ia"; depends=[]; };
   Calculator_LR_FNs = derive2 { name="Calculator.LR.FNs"; version="1.2"; sha256="07g7ik3xb9ijghkz94qyk87c2d4q942h4d0yicwr1j1xzcv5qzsw"; depends=[]; };
+  CaliCo = derive2 { name="CaliCo"; version="0.1.0"; sha256="1fz4sx6wsrkmcfjjgjn7z26m266m844qz8ms4vk6bnhx0h1rp6qa"; depends=[coda DiceDesign DiceKriging FactoMineR ggplot2 MASS Matrix R6 Rcpp RcppArmadillo testthat]; };
   CalibrateSSB = derive2 { name="CalibrateSSB"; version="1.0"; sha256="1r3318rzh29cgq72gdp16z60xkan7hyh1vj4gjg3pzbxy8zawqxx"; depends=[survey]; };
   Canopy = derive2 { name="Canopy"; version="1.3.0"; sha256="0979hpphzhf4v71jx0shh3l8nffmpsn9l6f8ip2wxzcyx571i1wd"; depends=[ape fields pheatmap scatterplot3d]; };
   CarletonStats = derive2 { name="CarletonStats"; version="1.3"; sha256="1a8ic2ny2zkqy6xsnzhlc3hybhk200d8jbdbjfy7jav7n757kr0y"; depends=[]; };
@@ -558,7 +579,7 @@ in with self; {
   Causata = derive2 { name="Causata"; version="4.2-0"; sha256="04lndjy4rdf063z75zv42b000z06ffnr91pv2sql1ks6w60zmh1m"; depends=[boot data_table foreach ggplot2 glmnet R_utils RCurl rjson RMySQL stringr XML yaml]; };
   CePa = derive2 { name="CePa"; version="0.5"; sha256="1y2q72j8bqx509i62a2x9j40rj5bkpgx4z6fwj05ibazc1441asd"; depends=[igraph snow]; };
   CellularAutomaton = derive2 { name="CellularAutomaton"; version="1.1-1"; sha256="0kmw2ic161xwalqa63hznic4n4hdz20hsilf2awlcldg7m9si1zd"; depends=[R_methodsS3 R_oo]; };
-  CensMixReg = derive2 { name="CensMixReg"; version="3.0"; sha256="0ywqijwca4hkc0mz5gngqs9ivkvvjznrkflcv590diapxw52b2c5"; depends=[ClusterR mixsmsn mnormt mvtnorm trimcluster]; };
+  CensMixReg = derive2 { name="CensMixReg"; version="3.1"; sha256="1r7w84bjdxnkhiw7gh499scc6m3ba9b2a8cwayn6sg5a524yn9gs"; depends=[ClusterR mixsmsn mnormt mvtnorm trimcluster]; };
   CensRegMod = derive2 { name="CensRegMod"; version="1.0"; sha256="0qqwkxn8knhcjb6mph7mp7mma56zxslbvkfgfajq2lq4gbg901y4"; depends=[]; };
   CensSpatial = derive2 { name="CensSpatial"; version="1.3"; sha256="0gd1c5qlk71avv0s3jqwb00h9cm6djg9qwzc1znc3kh61wx9kvfi"; depends=[geoR lattice moments msm mvtnorm numDeriv optimx psych raster tmvtnorm]; };
   Census2016 = derive2 { name="Census2016"; version="0.2.0"; sha256="1c88jmd565v19w8dbvai10f9y5lyfmzsxsjblc3gdykf9kharvcq"; depends=[data_table]; };
@@ -580,8 +601,9 @@ in with self; {
   ChoR = derive2 { name="ChoR"; version="0.0-3"; sha256="085p604zbk4l88q4ig2fnfhadxvsssyjl2r48g8s99yx49cvd9sx"; depends=[commonsMath rJava]; };
   ChocoLattes = derive2 { name="ChocoLattes"; version="0.1.0"; sha256="0ircdar4fswaf34969gzgn83ia891jvwl29jn4s9a87cc4qagzgr"; depends=[ggplot2 knitr plotly R_utils rmarkdown WriteXLS XML]; };
   ChoiceModelR = derive2 { name="ChoiceModelR"; version="1.2"; sha256="0dkp3354gvrn44010s8fjbmkpgn1hpl4xbfs5xslql8sk8rw0n2c"; depends=[]; };
+  CholWishart = derive2 { name="CholWishart"; version="0.9.2"; sha256="1dlq6a9j3ifhmw94w158czc72f31rns0xfw4zbfx4zcah678raq6"; depends=[]; };
   CircE = derive2 { name="CircE"; version="1.1"; sha256="14bja3zv9wg389m6khmsy3q12hhnfcp49rvrmw47y6fh5m7ihrz2"; depends=[]; };
-  CircMLE = derive2 { name="CircMLE"; version="0.2.0"; sha256="1zqpn3viwb0364pcrc6nfjd25fvn3bmniqnkvqiccwdlfncqqsvq"; depends=[circular]; };
+  CircMLE = derive2 { name="CircMLE"; version="0.2.1"; sha256="031pmfyqwif16am7h1csk1dg9vhy0jgdc8w4z60kqqsgf3yk6il9"; depends=[circular]; };
   CircNNTSR = derive2 { name="CircNNTSR"; version="2.2"; sha256="0z29dsvcwpra1ny8kj486dpnrak272wmkfnaiyashzcqpnkmkg03"; depends=[]; };
   CircOutlier = derive2 { name="CircOutlier"; version="3.2.3"; sha256="1vyac4mjkn6p4p9n5finqqak6g7m3hj04a66v3w797jn1wbd1xly"; depends=[CircStats circular]; };
   CircStats = derive2 { name="CircStats"; version="0.2-4"; sha256="1f2pf1ppp843raa82s2qxm3xlcv6zpi578zc4pl0d7qyxqnh603s"; depends=[boot MASS]; };
@@ -599,14 +621,14 @@ in with self; {
   ClinicalTrialSummary = derive2 { name="ClinicalTrialSummary"; version="0.1.0"; sha256="1lqf2ksgchl1j5hfkz7r5yczvkjgi3238k8nkfkd70nyil9vjq06"; depends=[Rcpp]; };
   CluMix = derive2 { name="CluMix"; version="2.1"; sha256="080gd6v8yj83djmf4wg7cwk6q6w6gsg4xfsgw5qd6z8h3kpyn45m"; depends=[Biobase ClustOfVar DescTools extracat FD gplots Hmisc marray Matrix]; };
   ClueR = derive2 { name="ClueR"; version="1.2"; sha256="17phjzpdx11sw259xk16h2w28xdaxxpzbh0sxli61icnssw35n7z"; depends=[e1071]; };
-  ClusVis = derive2 { name="ClusVis"; version="1.0.0"; sha256="0d8s4gd5dl4mc1538rhy2pwk1xfgbq2ca76qaqrl2q3mswb1p6wp"; depends=[MASS mgcv mvtnorm Rcpp RcppArmadillo Rmixmod]; };
+  ClusVis = derive2 { name="ClusVis"; version="1.1.0"; sha256="17cn3hm37jv10aybaidy89kch6814hdi8g44s94xa9li7nixzass"; depends=[MASS mgcv mvtnorm Rcpp RcppArmadillo Rmixmod VarSelLCM]; };
   ClustGeo = derive2 { name="ClustGeo"; version="2.0"; sha256="1p5k2w1k7hnacbazzj2yhxh4z2jngnsl4v5a9b3c8z1dr4nhcwxc"; depends=[sp spdep]; };
   ClustMMDD = derive2 { name="ClustMMDD"; version="1.0.4"; sha256="0sblf3crpai53dflhyi27yn6mg0xyy9dxhwsk8j57sq5vr50x686"; depends=[Rcpp]; };
   ClustOfVar = derive2 { name="ClustOfVar"; version="1.1"; sha256="0grhkab7s58ji4cf7cxh7ahd2dxrj8aqfdf3119b40zxkxbwxcr0"; depends=[PCAmixdata]; };
   ClustVarLV = derive2 { name="ClustVarLV"; version="1.5.1"; sha256="11zydj3iq15sg84kny6nklpmh8wj9j9nklkknzfqnaagai8jgsmy"; depends=[Rcpp]; };
   Cluster_OBeu = derive2 { name="Cluster.OBeu"; version="1.2.1"; sha256="18is8aa496qr7afmyqy12s267ans0hhzy0xs8nzr3qp70mwrbbh1"; depends=[car cluster clValid data_tree dendextend jsonlite mclust RCurl reshape reshape2 stringr tibble]; };
-  ClusterBootstrap = derive2 { name="ClusterBootstrap"; version="0.9.3"; sha256="1znyj39mwdi02xhypvr2fsx2yp45w8br7r8qkn831d6fza5pkcyc"; depends=[]; };
-  ClusterR = derive2 { name="ClusterR"; version="1.1.0"; sha256="1bin170587cs8awpvjb8g2nvzqklscg8n39lhhayn33wshmbdd8s"; depends=[FD ggplot2 gmp gtools OpenImageR Rcpp RcppArmadillo]; };
+  ClusterBootstrap = derive2 { name="ClusterBootstrap"; version="0.9.9"; sha256="116rj2ynk37pc5ic6xlnh3gvzl6qasly8avchmwcdsg4w7i2z8l7"; depends=[]; };
+  ClusterR = derive2 { name="ClusterR"; version="1.1.1"; sha256="0b9x0a1s0d9nnkkcm417xsaciwb66771s14ir6n6mm7yq1g6x417"; depends=[FD ggplot2 gmp gtools OpenImageR Rcpp RcppArmadillo]; };
   ClusterRankTest = derive2 { name="ClusterRankTest"; version="1.0"; sha256="01gzalhibqcdx3a6yc2cm1v77rscva73v5m5m0qkrgqdp9c8ph2a"; depends=[]; };
   ClusterStability = derive2 { name="ClusterStability"; version="1.0.3"; sha256="1laa5m3y1rc7jr8q3i9qb3izs7qmadz169w9xm8q3mm3834ngn9b"; depends=[cluster clusterCrit copula Rcpp WeightedCluster]; };
   ClusteredMutations = derive2 { name="ClusteredMutations"; version="1.0.1"; sha256="1n31nnvpjh1faw751k8m3ga3wfl0yhdpnszwckqhfzlma1jr8z04"; depends=[seriation]; };
@@ -618,6 +640,7 @@ in with self; {
   CoinMinD = derive2 { name="CoinMinD"; version="1.1"; sha256="0invnbj5589wbs0k2w5aq9qak7axc3s0g9nw85c48lnl0v95s91i"; depends=[MCMCpack]; };
   CollapsABEL = derive2 { name="CollapsABEL"; version="0.10.11"; sha256="0libm1wv34av3vm2vvbqcnxjh4y1rwfi8qzjca8qdz9490vngags"; depends=[biganalytics bigmemory collUtils dplyr ggplot2 haplo_stats R_utils rJava RSQLite stringr]; };
   CollapseLevels = derive2 { name="CollapseLevels"; version="0.2.0"; sha256="1fn5k83lh0vw5j9vhq0x6ksbkrm25acpslav85wfyknsj9vzmzid"; depends=[dplyr ggplot2 lazyeval magrittr]; };
+  CollessLike = derive2 { name="CollessLike"; version="1.0"; sha256="080mrvszysdqvx03sd4aczvhs1zmhc6fx8zp5nwrh7mmyajslxkx"; depends=[ape igraph]; };
   CollocInfer = derive2 { name="CollocInfer"; version="1.0.4"; sha256="1iwf5g2y7i0j8dc19hdhya4m6g47jj968glnclj7a2yaq2yx37cj"; depends=[deSolve fda MASS Matrix spam]; };
   ColorPalette = derive2 { name="ColorPalette"; version="1.0-1"; sha256="1dsj5njikx3qm2lnamqqg4qgwwyr11fwx9s5sdi7dkfx3nmf6dac"; depends=[]; };
   ComICS = derive2 { name="ComICS"; version="1.0.3"; sha256="1jfs0ygr88532jjw2ablyn2r3sg3hfsv5yrm4gkdgzakychj3dy2"; depends=[glmnet]; };
@@ -638,17 +661,17 @@ in with self; {
   CompQuadForm = derive2 { name="CompQuadForm"; version="1.4.3"; sha256="1i30hrqdk64q17vsn918c3q79brchgx2wzh1gbsgbn0dh1ncabq4"; depends=[]; };
   CompR = derive2 { name="CompR"; version="1.0"; sha256="1k4q0yanvhdh3ksia7d42lxky19yci5vxhmi6h716g9sxzfsjk6b"; depends=[MASS]; };
   CompRandFld = derive2 { name="CompRandFld"; version="1.0.3-4"; sha256="1a3j5j50fz3f8vkvdmfccv5hn00spk08xanadqxpdy8pn925gqqb"; depends=[]; };
-  CompareCausalNetworks = derive2 { name="CompareCausalNetworks"; version="0.1.9"; sha256="086yacr5fgqzgl1hh0m6qpx59smk66bsxglaic3ynd9n9k1n9p6c"; depends=[data_table expm Matrix]; };
+  CompareCausalNetworks = derive2 { name="CompareCausalNetworks"; version="0.2.0"; sha256="13gwxnqa0r805i1b5z3ym4pp297305jwvdn7b35pf2v9zlcnyh7c"; depends=[data_table expm Matrix]; };
   CompareTests = derive2 { name="CompareTests"; version="1.2"; sha256="1z96kh851bpr2szgyjszkpv6m5ma6abz7hrm50fgvfpgxkj7f4yi"; depends=[]; };
   CompetingRisk = derive2 { name="CompetingRisk"; version="1.0"; sha256="0lfpqz3a8csgmv8cg4clc1dzsgxvssfr5cyn1mgyxfzssch85drm"; depends=[MASS Matrix reshape2 survival wesanderson]; };
   Compind = derive2 { name="Compind"; version="2.0"; sha256="1qadyl96c9cmk1i763gc055hgv414ha59418lqk183kwl5sgbqy5"; depends=[Benchmarking boot GPArotation Hmisc lpSolve MASS nonparaeff np psych smaa spdep]; };
-  Compositional = derive2 { name="Compositional"; version="2.8"; sha256="13658sa6x058ldvhawvwypi7pzija633bm3q6bb0pw7alirdabd1"; depends=[doParallel emplik fields foreach MASS mixture Rfast sn]; };
+  Compositional = derive2 { name="Compositional"; version="2.9"; sha256="1vmnckp17hl3yr4qfpisavmfcvvsnh3d6v721dgns9a93cqs30z0"; depends=[doParallel emplik fields foreach MASS mixture Rfast sn]; };
   Compounding = derive2 { name="Compounding"; version="1.0.2"; sha256="1xlb3ylwjv70850agir0mx79kcvs43h0n1sm22zcny3509s2r7lf"; depends=[hypergeo]; };
   ConConPiWiFun = derive2 { name="ConConPiWiFun"; version="0.4.6"; sha256="1kkc4xp5b6q54b76wk4ga28wl668psbpyivl6bnh3xm21276yx5k"; depends=[Rcpp]; };
   ConR = derive2 { name="ConR"; version="1.2.1"; sha256="0k6761x5dfibbbzfzmkc73ahfmw54d5rpj0rj32232qdlk48hqk5"; depends=[fields geosphere maptools raster rgdal rgeos sp spatstat spatstat_utils]; };
   ConSpline = derive2 { name="ConSpline"; version="1.2"; sha256="16r0v0llj0pri69jqxribp8dpzh6yn6acpq20aaky14fyh3i4q7x"; depends=[coneproj]; };
   Conake = derive2 { name="Conake"; version="1.0"; sha256="1rj1rv8r53516jqhwp9xqqwjxh4gx1w47c0bw59f87wiy5pbchpf"; depends=[]; };
-  CondIndTests = derive2 { name="CondIndTests"; version="0.1.1"; sha256="0n9ishrq9ilray5cq37q7fyizaffbwx36s5lf9z60mh6hn3dppha"; depends=[caTools kernlab lawstat MASS mgcv quantregForest randomForest RPtests]; };
+  CondIndTests = derive2 { name="CondIndTests"; version="0.1.3"; sha256="1lmys6a3cwk8c3d08lpb2dny9madsdf2fnslx6qjx27cg95bhdcb"; depends=[caTools kernlab lawstat MASS mgcv quantregForest randomForest RPtests]; };
   CondReg = derive2 { name="CondReg"; version="0.20"; sha256="1ffnrjfjcb66i9nyvidkcn4k9pcj4r7xanjwzcxcrj2qm39apkqx"; depends=[]; };
   ConfigParser = derive2 { name="ConfigParser"; version="1.0.0"; sha256="0jjh6gz5qcqhirzkmg7a4lnf8n3mjly15x2mvbvdpjkk7iv3w9m3"; depends=[ini R6]; };
   ConfoundedMeta = derive2 { name="ConfoundedMeta"; version="1.3.0"; sha256="17l6dfff2v0a4p022qclrmkzi78ga9adkgxgrgk9imz0n9m9424d"; depends=[ggplot2 metafor]; };
@@ -661,14 +684,14 @@ in with self; {
   ConvCalendar = derive2 { name="ConvCalendar"; version="1.2"; sha256="0yq9a42gw3pxxwvpbj6zz5a5zl7g5vkswq3mjjv5r28zwa3v05vc"; depends=[]; };
   ConvergenceClubs = derive2 { name="ConvergenceClubs"; version="1.0.0"; sha256="0ndb7k2lfv6014a7c61a2mmcsywpa478lk6fh7d0jkv55hmnzvs9"; depends=[lmtest sandwich]; };
   ConvergenceConcepts = derive2 { name="ConvergenceConcepts"; version="1.2.1"; sha256="0kl67ds6369mxl2i93h43r00ji12qkg0k9m4jhcxsb0ydd8rfqgp"; depends=[lattice tkrplot]; };
-  CoordinateCleaner = derive2 { name="CoordinateCleaner"; version="1.0-2"; sha256="18l25hllw4f8pgcj5vrqinjqs1qns74bnw7cnq24p9pcdp218zkg"; depends=[geosphere ggplot2 raster rgeos rnaturalearth sp]; };
+  CoordinateCleaner = derive2 { name="CoordinateCleaner"; version="1.0-7"; sha256="00x2ijyg1bj2xp679i453d4fd58qp7mfj3pvv3cddh0hl8yfns18"; depends=[geosphere ggplot2 raster rgeos rnaturalearth sp]; };
   Copula_Markov = derive2 { name="Copula.Markov"; version="1.1"; sha256="0pgzrgd9bzf2qh9b7h0y4mmszlxk1wxdwlid3xh7rk7pif3mw3qd"; depends=[]; };
   CopulaDTA = derive2 { name="CopulaDTA"; version="1.0.0"; sha256="1bx0jvlbhaxf4yhrfpd5l5zp7kmp6f17ckb1y9974sgc7s3hpqcd"; depends=[ggplot2 plyr reshape2 rstan]; };
   CopulaREMADA = derive2 { name="CopulaREMADA"; version="1.0"; sha256="021x40l5p6ip5br3qnca6nywkx9fpmgx5jm8i2dngj6yz6rc3hag"; depends=[matlab statmod tensor]; };
   CopulaRegression = derive2 { name="CopulaRegression"; version="0.1-5"; sha256="0dd1n7b23yww36718khi6a5kgy8qjpkrh0k433c265653mf1siq8"; depends=[MASS VineCopula]; };
   CopyDetect = derive2 { name="CopyDetect"; version="1.2"; sha256="1sahrlg1gk1q8ciq0a8hxrlyci5i8jxz8pjpy04alckxdrxfpqbi"; depends=[irtoys]; };
   CorReg = derive2 { name="CorReg"; version="1.2.1"; sha256="1c7vvlxza0r9r07rr464y3kfkrnzz15l4jc7s727wjrw2az8rnpy"; depends=[corrplot elasticnet glmnet lars MASS Matrix mclust mvtnorm Rcpp RcppEigen Rmixmod rpart]; };
-  CorShrink = derive2 { name="CorShrink"; version="0.1.1"; sha256="0jk9wwdb0i4swx269k1zp38lfzshy6r8js8np63b4r5zxxkaw5am"; depends=[ashr Matrix reshape2 SQUAREM]; };
+  CorShrink = derive2 { name="CorShrink"; version="0.1-5"; sha256="03g5njb191nqiy0lmk8jrwyrnl3w733b8h0krkbsjh2zravyw1xc"; depends=[ashr corpcor corrplot gridExtra Matrix reshape2]; };
   Corbi = derive2 { name="Corbi"; version="0.4-2"; sha256="0h088iplryaipnfp8svw3djh016z23lv66q51gfbqpvchvjdwypw"; depends=[CRF Matrix mpmi]; };
   CorporaCoCo = derive2 { name="CorporaCoCo"; version="1.1-0"; sha256="1s3wlcy6mnw9riivw5lc4gd6bjbsd77m15ipr95g46isdcrli8zb"; depends=[data_table RColorBrewer rlist]; };
   CorrBin = derive2 { name="CorrBin"; version="1.5"; sha256="1kg8kms76z127j2vmf7v162n0sh2jqylw4i7c35x5sig4q22m9gy"; depends=[boot combinat dirmult geepack mvtnorm]; };
@@ -686,9 +709,9 @@ in with self; {
   CovSelHigh = derive2 { name="CovSelHigh"; version="1.1.1"; sha256="0dvvpkqml2k00gicpgp475z1rjspq3s37ys1mam29k54qlshhny6"; depends=[bartMachine bindata bnlearn doParallel doRNG foreach glmnet MASS Matching randomForest tmle xtable]; };
   CovTools = derive2 { name="CovTools"; version="0.3.0"; sha256="0p5mfrdp4p5fz9ld0rqrd2kj73hi1dzx0iwl4rihhgfgdplzknhf"; depends=[doParallel expm foreach geigen Matrix mvtnorm pracma Rcpp RcppArmadillo Rdpack shapes]; };
   CoxBoost = derive2 { name="CoxBoost"; version="1.4"; sha256="1bxkanc8zr4g3abn4ds5wqibv65flvm4y648fs9s0l4vc9vmyshg"; depends=[Matrix prodlim survival]; };
+  CoxPhLb = derive2 { name="CoxPhLb"; version="1.0.0"; sha256="1j8dvbjv4h0zdjvwvpswdlsb9pf3gxixh2rhl0m1kxm6f6h5ig0z"; depends=[survival]; };
   CoxPlus = derive2 { name="CoxPlus"; version="1.1.1"; sha256="038wsz206bgc0pnzx403b5ihcwhxpkrpxmwvrvqcxf8333pb62l5"; depends=[Rcpp RcppArmadillo]; };
   CoxRidge = derive2 { name="CoxRidge"; version="0.9.2"; sha256="0p65mg4hzdgks03k1lj90yj6qbk50s94rwvcwzkb5xxxwrijd10r"; depends=[survival]; };
-  Coxnet = derive2 { name="Coxnet"; version="0.2"; sha256="023l1fcs0g5qqlslqfwb51nkmcqa0d5qp9bibhndd8gq7raz6ws6"; depends=[Matrix Rcpp RcppEigen]; };
   CpGFilter = derive2 { name="CpGFilter"; version="1.1"; sha256="0ccvk7lawmay0wqdyhs6ww7396dcfzazn72sq6zwyw7dl45k2j0i"; depends=[matrixStats]; };
   CpGassoc = derive2 { name="CpGassoc"; version="2.60"; sha256="1zx18x8pxjl2ajnj7a7lb8383m75ysg17f4mzz0vkgl5mnf617ny"; depends=[nlme]; };
   Cprob = derive2 { name="Cprob"; version="1.4"; sha256="1kjw5hhb3fy12xlyg01i8ynl78gx0r57kvmgafbqix1s3pg2hyw6"; depends=[geepack lattice lgtdl prodlim tpr]; };
@@ -704,6 +727,7 @@ in with self; {
   CsChange = derive2 { name="CsChange"; version="0.1.3"; sha256="08ss1dzwirmnlgw440g3k3vnrl1imhmd2gljnid8z2dzj5450alr"; depends=[boot Hmisc rms survival]; };
   CuCubes = derive2 { name="CuCubes"; version="0.1.0"; sha256="1cpazar85rp8xfjvy0vxivr61grzvxz7a9mirxvhynln964by6ns"; depends=[]; };
   Cubist = derive2 { name="Cubist"; version="0.2.1"; sha256="18w82l44b6jsmz19l34dmaqb22qvjcwhs4cddzhs6pzicvqw645k"; depends=[lattice reshape2]; };
+  CustomerScoringMetrics = derive2 { name="CustomerScoringMetrics"; version="1.0.0"; sha256="166v0hbxy4xgbfqh7sx6zsrv4pghqpimx5xry3h2qwynnvr4ng1a"; depends=[]; };
   Cyclops = derive2 { name="Cyclops"; version="1.3.0"; sha256="0sznzzz21qn1cxxfa3wiwvfza7lykzzf0xyqvawha9vzm8qzgqnq"; depends=[BH bit ff ffbase Matrix Rcpp RcppEigen RcppParallel survival]; };
   CytobankAPI = derive2 { name="CytobankAPI"; version="1.1.0"; sha256="1014r17krw74drykdlw24pgqylidp8yxa00zhf340ilcxfpacxyi"; depends=[curl httr jsonlite]; };
   CytobankAPIstats = derive2 { name="CytobankAPIstats"; version="1.0"; sha256="0hr74igy43d5ybzlgqpvx9ingw6h83w502b6k55cp6zqcv5rl8d5"; depends=[CytobankAPI]; };
@@ -719,13 +743,16 @@ in with self; {
   DAGGER = derive2 { name="DAGGER"; version="1.4"; sha256="0b2hzv001xhch7pqgb53lfpdcjwg5lj33i6pb884l1kx92svjfr7"; depends=[Matrix quadprog Rglpk]; };
   DAISIE = derive2 { name="DAISIE"; version="1.4"; sha256="16653wwz20lhf3bpzflpj5d1h7j3cqyfaqk5gn24aifga2jc0wbb"; depends=[DDD deSolve Matrix subplex tensor]; };
   DAKS = derive2 { name="DAKS"; version="2.1-3"; sha256="0vmpwxvksnmyq40faimbgpj0y3zbk519986n38ipwdfzllcg0zs4"; depends=[relations sets]; };
+  DALEX = derive2 { name="DALEX"; version="0.2.0"; sha256="0dls9v912bcww4csax35spxl9zx71g9ig9inzi9cr9ffinpw9rgk"; depends=[ALEPlot breakDown factorMerger ggplot2 ggpubr pdp]; };
   DALY = derive2 { name="DALY"; version="1.5.0"; sha256="1v7ld01xcn5jiygl1c3xhd5h71ip90lks87fs9gmpnivp8jz5cr5"; depends=[]; };
   DAMOCLES = derive2 { name="DAMOCLES"; version="1.1"; sha256="07z8mynhqnk1zcvm84w09xzkiy2dfxwhmnpi6gaddr3p0waql4gj"; depends=[ape caper deSolve expm geiger matrixStats picante]; };
   DAMisc = derive2 { name="DAMisc"; version="1.4-3"; sha256="1hic53vi7mj4fvggxjl4d3j4zw8wwczh6pldyi8idrhm45hw2nh4"; depends=[boot car effects gdata lattice MASS nnet pscl QRM sm VGAM xtable]; };
+  DAP = derive2 { name="DAP"; version="1.0"; sha256="0zzb05yxfaqp6qnr979q20rqy8sl5l825mxs0x9366qr7mz5k5ws"; depends=[MASS]; };
   DATforDCEMRI = derive2 { name="DATforDCEMRI"; version="0.55"; sha256="0v26a1gi8l21ga5nqcnyfaa7gc8zxq6wk95b96ajgpdybb0l9s53"; depends=[akima lattice locfit matlab R_methodsS3 R_oo xtable]; };
   DBEST = derive2 { name="DBEST"; version="1.8"; sha256="1a598g02hpfgv572gchllqkppynnsp4lx764jg0g66w3b66k0kdy"; depends=[zoo]; };
   DBGSA = derive2 { name="DBGSA"; version="1.2"; sha256="04zqh9y3nqcdzs5jn8aaq5idy9zl450ikvl788xs860wlg692qv2"; depends=[fdrtool]; };
-  DBI = derive2 { name="DBI"; version="0.7"; sha256="04fyrxdpqcygg5wviy637y6lgk64xqjjq31lvv4hwqj5kbaxamr5"; depends=[]; };
+  DBHC = derive2 { name="DBHC"; version="0.0.2"; sha256="08sl6gv1dw2kpk1zylvyqqga6xvhzhpp5zxa9ql1hyzc2i43jivq"; depends=[ggplot2 reshape2 seqHMM TraMineR]; };
+  DBI = derive2 { name="DBI"; version="0.8"; sha256="16nf8flxr5vdz8yrpprfbzydy3ajixkp9hc8ibd9n7r9nc29waym"; depends=[]; };
   DBItest = derive2 { name="DBItest"; version="1.5-2"; sha256="05wizjm2b97fsdha2i391h38xb0zrkhnd036qvdcm0r5l0y56sm8"; depends=[blob DBI desc hms R6 testthat withr]; };
   DBKGrad = derive2 { name="DBKGrad"; version="1.6"; sha256="0207zx0v1x3zhfbs0h1ssxc1b683k111f90k8ybhknb147104knr"; depends=[lattice minpack_lm SDD TSA]; };
   DCA = derive2 { name="DCA"; version="2.0"; sha256="1acy33vyf814kr0aj6kdvi9f1qzgynwwzv57ll01gd0iqq36374f"; depends=[coin elasticnet GPArotation locfdr modeest mvtnorm PMA]; };
@@ -737,7 +764,7 @@ in with self; {
   DCODE = derive2 { name="DCODE"; version="1.0"; sha256="19dwms88q0ylxd92l3ivig8p8jjyhk8mhgz0l36m9pcq11gyjc0n"; depends=[seqinr]; };
   DCchoice = derive2 { name="DCchoice"; version="0.0.15"; sha256="1qdqn45ipq0806r25ri4aygzq48k8j5k8rlhi1cafym421yq6bfg"; depends=[Formula interval MASS]; };
   DCluster = derive2 { name="DCluster"; version="0.2-7"; sha256="008nyry64s5g80narcc58273v0jhqzfgwynka6mh7jgi7qsqnxjd"; depends=[boot MASS spdep]; };
-  DClusterm = derive2 { name="DClusterm"; version="0.1"; sha256="0xkl4677vqy4sdkm0fczscqszjxk1kfmlbzdgm88shcnjzjg71d8"; depends=[DCluster gridExtra latticeExtra lme4 pscl RColorBrewer sp spacetime xts]; };
+  DClusterm = derive2 { name="DClusterm"; version="0.2"; sha256="0bnl9ic8q7mrb2508c5g2fkpp7wbhasivgvhldqnbqn2lyy8l76a"; depends=[DCluster gridExtra latticeExtra lme4 pscl RColorBrewer sp spacetime xts]; };
   DDD = derive2 { name="DDD"; version="3.6"; sha256="0lkij10z6bviay2dg6k5pmb9ddg4smcz96fkww0qx8h636zd2xlq"; depends=[ade4 ape deSolve expoRkit Matrix phytools pracma SparseM subplex]; };
   DDHFm = derive2 { name="DDHFm"; version="1.1.2"; sha256="0lgh6kcfas06p2yy7zy21r05k5521xbj5af3wwwssp5li1cia35g"; depends=[lokern wavethresh]; };
   DDIwR = derive2 { name="DDIwR"; version="0.2-0"; sha256="0dqbldl5c6b8i5q3yk0hwd12lp8z9j4ilnmsqrkj69fv7mys9q3k"; depends=[foreign XML]; };
@@ -754,20 +781,23 @@ in with self; {
   DEploid = derive2 { name="DEploid"; version="0.4.4"; sha256="1hcn54mn1kil6kg77j4aij15h69fnmp40d6xxfgijjcgydp211bf"; depends=[magrittr plotly Rcpp scales]; };
   DFIT = derive2 { name="DFIT"; version="1.0-3"; sha256="1h0wvcplb7j7dqz9hkaw30x92ngxzkdvkwpg0142hrqb201zfrac"; depends=[ggplot2 mvtnorm simex]; };
   DGCA = derive2 { name="DGCA"; version="1.0.1"; sha256="1lqqzrsidkli4bk4jikq5f75jzqyzhv94n882yic5ndxgv26p9ic"; depends=[matrixStats WGCNA]; };
-  DHARMa = derive2 { name="DHARMa"; version="0.1.5"; sha256="1mgvpyhllp7pqnas5sbn6393jkin205109g2b4pn3diyb20avqwp"; depends=[ape doParallel foreach gap lme4 lmtest MASS mgcv qrnn sfsmisc]; };
+  DGM = derive2 { name="DGM"; version="1.7.2"; sha256="0z0f8bazzsahvjkpfif50db700mqb7arcglwsfxcar9qdy082vsn"; depends=[data_table ggplot2 Rcpp RcppArmadillo reshape2]; };
+  DGVM3D = derive2 { name="DGVM3D"; version="1.0.0"; sha256="17cxv8rm7kmxms7v7hzbwbdwa3xl1hwgiljf97ppwswglqyik9iv"; depends=[rgl]; };
+  DHARMa = derive2 { name="DHARMa"; version="0.1.6"; sha256="1b7yqy4id6ydvyqrgpl5zkmch64rl2b0jcj6ww5rq6afzgkfbfay"; depends=[ape doParallel foreach gap lme4 lmtest MASS mgcv qrnn sfsmisc]; };
+  DHS_rates = derive2 { name="DHS.rates"; version="0.3.0"; sha256="039pa3pln7vj2md4kcv9070qbm8v7aknhhgh49hs5xiwa682g1f7"; depends=[haven matrixStats reshape survey]; };
   DIFboost = derive2 { name="DIFboost"; version="0.2"; sha256="0wyjk870n18lq0dwhm9ndsh5vv0d8wkrbcky68w454vzrrw1q9h8"; depends=[mboost penalized stabs]; };
   DIFlasso = derive2 { name="DIFlasso"; version="1.0-3"; sha256="195wiy0jjkq6bh2b6wrjmr5l34pzx0i2qqvwp4pzv77sx737ds0v"; depends=[grplasso miscTools penalized]; };
   DIFtree = derive2 { name="DIFtree"; version="2.1.4"; sha256="16cyd634jflaszpfq0ymwlbv57ci1iyffwai641jczn8cny504zl"; depends=[penalized plotrix]; };
   DIME = derive2 { name="DIME"; version="1.2"; sha256="11l6mk6i3kqphrnq4iwk4b0ridbbpg2pr4pyqaqbsb06ng899xw0"; depends=[]; };
   DIRECT = derive2 { name="DIRECT"; version="1.0.1"; sha256="00z4xlc9kxn19lw2b8xq6krsf5v3wfbr1ghl5ah5shr9dnv84lc1"; depends=[]; };
   DISTRIB = derive2 { name="DISTRIB"; version="1.0"; sha256="0whwmmdx2k2vrjjkz4ww9v7z9ad3835819pby91119lyic27w727"; depends=[]; };
-  DJL = derive2 { name="DJL"; version="2.6"; sha256="1vvfh9hpanac2g22k4hqy3y7j3mn34mvasw0rx3y4vjbv3h05yw6"; depends=[car lpSolveAPI]; };
+  DJL = derive2 { name="DJL"; version="2.7"; sha256="1p0jd2hn6an3kkc85xkkj36x7iwi43k1yrnmzy0mb5qrbvx07hlj"; depends=[car lpSolveAPI]; };
   DLASSO = derive2 { name="DLASSO"; version="2.0.2"; sha256="0xdygf6h89d9z4kqb46iqfxgdzq9dmkrxf9ypw78l4d8n9xx2gaa"; depends=[MASS]; };
-  DLMtool = derive2 { name="DLMtool"; version="5.0.2"; sha256="0fz8qy3328wmxqg5s13bl2qr4f54zc2bk4amb9kz490vf00by0iw"; depends=[abind coda devtools ggplot2 ggrepel gridExtra knitr LBSPR MASS mvtnorm openxlsx r4ss Rcpp RcppArmadillo readxl rmarkdown snowfall]; };
+  DLMtool = derive2 { name="DLMtool"; version="5.1.3"; sha256="0n7sx577fffxbxfbwy19py2hm00rb403n4fvn9j6pcdi433mfx59"; depends=[abind coda devtools ggplot2 ggrepel gridExtra knitr MASS mvtnorm openxlsx r4ss Rcpp RcppArmadillo readxl rmarkdown snowfall]; };
   DMMF = derive2 { name="DMMF"; version="0.4.0.1"; sha256="0fypj0a0kjzfghazs55mxkig9n3ngjmbi3xmdxkpa35jbn71bfdd"; depends=[raster rgdal sp]; };
   DMR = derive2 { name="DMR"; version="2.0"; sha256="1kal3bvhwqs00b6p6kl0ja35pcz9v9y569148qfhy94m319fcpzm"; depends=[magic]; };
   DMRMark = derive2 { name="DMRMark"; version="1.1.1"; sha256="15wr6j0v9kvbv8y6flkp4svfqy059ziv89nxv91vp0pjmavhpdlz"; depends=[ellipse MCMCpack mvtnorm]; };
-  DMRnet = derive2 { name="DMRnet"; version="0.1.0"; sha256="0p5iyj6zqrv1hsfdq7bp96ly8dkf2ky6gzilrha336lhm35ym7sr"; depends=[glmnet grpreg]; };
+  DMRnet = derive2 { name="DMRnet"; version="0.2.0"; sha256="1rbba8w4li240gw5z675d7skm72rh0zxzp4rhsn6ivj72jya7jw4"; depends=[glmnet grpreg]; };
   DMwR = derive2 { name="DMwR"; version="0.4.1"; sha256="1qrykl9zdvgm4c801iix5rxmhk9vbwnrq9cnc58ms5jf34hnmbcf"; depends=[abind class lattice quantmod ROCR rpart xts zoo]; };
   DMwR2 = derive2 { name="DMwR2"; version="0.0.2"; sha256="1vzfbz2k05j8r2hpig3d2grb99rnnh2s1sviii3prcyqicxfh0i9"; depends=[class DBI dplyr quantmod readr rpart xts zoo]; };
   DNAseqtest = derive2 { name="DNAseqtest"; version="1.0"; sha256="1mpmf40vrpw8m75rlqchsnyrz12pgg5bkz7wfca5yy5sbbiwk5pf"; depends=[]; };
@@ -780,6 +810,7 @@ in with self; {
   DOT = derive2 { name="DOT"; version="0.1"; sha256="0qh5n57cp9c2n5yn59q4wggz82943pwfanp3kx869aba2x3sj30i"; depends=[V8]; };
   DOvalidation = derive2 { name="DOvalidation"; version="1.1.0"; sha256="1mzws3w7djpxnfqxjcqwgia7p17kb0qlnzj6qcfg2m1vamb1cn2z"; depends=[]; };
   DPBBM = derive2 { name="DPBBM"; version="0.2.5"; sha256="1qypxrcm3sb727lqb09ssjf3hblixqayw3qsyql01imrxwm609i2"; depends=[CEoptim gplots tmvtnorm VGAM]; };
+  DPWeibull = derive2 { name="DPWeibull"; version="1.2"; sha256="0s1c3pn8pivg4227xhis5scmh9zc6fq36inphy6226hriny6q0v9"; depends=[DPpackage matrixStats Rcpp truncdist]; };
   DPpackage = derive2 { name="DPpackage"; version="1.1-7.4"; sha256="0lfw55kbjwr1dqkd98p6488p6c0nh5pkfkc9wpds8wsqm38siad6"; depends=[MASS nlme survival]; };
   DREGAR = derive2 { name="DREGAR"; version="0.1.3.0"; sha256="15cplshs85r0z659mc7xmj5db7vc95wxs01c34isc22p8z0a287i"; depends=[msgps]; };
   DRIP = derive2 { name="DRIP"; version="1.1"; sha256="050xfq30fp9m03ig938bci2haiglj6jj4k327fpz7r2y78cgcnn4"; depends=[caTools readbitmap]; };
@@ -795,10 +826,11 @@ in with self; {
   DT = derive2 { name="DT"; version="0.4"; sha256="06gsqz7p2fv6hc3fm3759gaa50krcfrqrmy7qbxyam6a36w9daix"; depends=[crosstalk htmltools htmlwidgets magrittr]; };
   DTComPair = derive2 { name="DTComPair"; version="1.0.3"; sha256="1af2293ckkpz0gjcibgzzvz37852cav4wa4girpc87yn3p4ajlri"; depends=[gee PropCIs]; };
   DTDA = derive2 { name="DTDA"; version="2.1-1"; sha256="0hi2qjcwd6zrzx87mdn1kns5f2h6jh7sz9jpgbi0p0i80xg8jnn3"; depends=[]; };
+  DTDA_ni = derive2 { name="DTDA.ni"; version="1.0"; sha256="0c45cz4y629bc0jnf3m35ywqkrnjcdqbssbb6m10j8b4gszdi35i"; depends=[]; };
   DTK = derive2 { name="DTK"; version="3.5"; sha256="0nxcvx25by2nfi47samzpfrd65qpgvcgd5hnq9psx83gv502g55l"; depends=[]; };
   DTMCPack = derive2 { name="DTMCPack"; version="0.1-2"; sha256="0bibas5cf06qq834x9q2l2fyh6q9wrg07k8cn6almcyirzax6811"; depends=[]; };
   DTR = derive2 { name="DTR"; version="1.7"; sha256="1lzvk9ar6xf3n2vvy8vb9mvrbx3nafzzhvz5g7vf79jd71yz54jd"; depends=[aod ggplot2 survival]; };
-  DTRlearn = derive2 { name="DTRlearn"; version="1.2"; sha256="1dakwlafs27nkjsiknnwxnb2hgc2xdpi5mb6dmzpjig7hg2f8d3f"; depends=[ggplot2 glmnet kernlab MASS]; };
+  DTRlearn = derive2 { name="DTRlearn"; version="1.3"; sha256="0ngzvjlzn20pff1ihw87nar7riiva4pnfih7hlsr0iszd3v3b1gq"; depends=[ggplot2 glmnet kernlab MASS]; };
   DTRreg = derive2 { name="DTRreg"; version="1.3"; sha256="1144kcqblyrpdqyj9as6y47iq3x99bf76hdw6j43cmgcs11gapc3"; depends=[]; };
   DVHmetrics = derive2 { name="DVHmetrics"; version="0.3.7"; sha256="1syxw49pzh36nfq0zfr83cwpac86fnj0b7nlqiin4jb00h8vrf6i"; depends=[ggplot2 KernSmooth markdown reshape2 shiny]; };
   DWDLargeR = derive2 { name="DWDLargeR"; version="0.1-0"; sha256="1bxdvgj38xv2xj98njpyhy12b54nccwnc3v92kkpd3i7nwbw48dy"; depends=[Matrix SparseM]; };
@@ -813,6 +845,7 @@ in with self; {
   Dasst = derive2 { name="Dasst"; version="0.3.3"; sha256="0nrcvcfzr2y1jc984rpi3fmggns65sphc6nqr9l91h5qvpdcw7cl"; depends=[]; };
   DatABEL = derive2 { name="DatABEL"; version="0.9-6"; sha256="1w0w3gwacqrbqjdcngdp44d2gb16pq9grq2f8j2bhbxc4nkx12n1"; depends=[]; };
   DatAssim = derive2 { name="DatAssim"; version="1.0"; sha256="120gazyyxda9faydv2lyqgvflhqi2fhih1szq0sy5v1gh4xb0hhy"; depends=[Rcpp RcppArmadillo]; };
+  Data2LD = derive2 { name="Data2LD"; version="0.1-1"; sha256="1klvp4zjbv4g07rahfmwxdms0bh7ca064iap681r1w5jbyq8pkzx"; depends=[fda Matrix R_cache]; };
   DataClean = derive2 { name="DataClean"; version="1.0"; sha256="0wkafjyp6c2mx7g1bpz2pbxyl5nm2wba2hly8miizv0fdc762za5"; depends=[xlsx XML]; };
   DataCombine = derive2 { name="DataCombine"; version="0.2.21"; sha256="0iwb4726bk0cjhay694dp43b1553yyk9lpxbncs85kz229b26arm"; depends=[data_table dplyr]; };
   DataEntry = derive2 { name="DataEntry"; version="0.9-3"; sha256="0gfsg7wfwy88x7y1dwpgwi6fkizjnhrzj0a5ij70y4a4sjmyiy55"; depends=[digest gWidgets2 gWidgets2RGtk2 RGtk2]; };
@@ -820,7 +853,7 @@ in with self; {
   DataGraph = derive2 { name="DataGraph"; version="1.0.1"; sha256="0rvysvkcs926jzhp7iz9d5np0pa31y825ajn9yyzhbdfk5dg2wry"; depends=[Rcpp]; };
   DataLoader = derive2 { name="DataLoader"; version="1.3"; sha256="18mih6mb95v5xjvmqwby2mma74fcxwyqdm5w8j3bhi4iwgfn6d7v"; depends=[plyr rChoiceDialogs readxl xlsx]; };
   DataVisualizations = derive2 { name="DataVisualizations"; version="0.9.2"; sha256="0np64vbk878i52gbh7gs1pklqy60zpa7n44ir7mxqyw3v50bvp8s"; depends=[AdaptGauss ggplot2 magrittr Rcpp RcppArmadillo]; };
-  DatabionicSwarm = derive2 { name="DatabionicSwarm"; version="1.0.0"; sha256="1xnqc0b3w8sqafbwmwd6pdm78p3ip1d3nfkp6jb081by49qjxiw6"; depends=[deldir GeneralizedUmatrix Rcpp RcppArmadillo]; };
+  DatabionicSwarm = derive2 { name="DatabionicSwarm"; version="1.0.1"; sha256="0j7l8jgm19gbi5xprhy1brqaghm4r1a7qy0wkcjb3i46as3v9dyj"; depends=[deldir GeneralizedUmatrix Rcpp RcppArmadillo]; };
   Datasmith = derive2 { name="Datasmith"; version="1.0-1"; sha256="1ba23b8a931pvml2dzw0zkm40akcl2lb6rps6bffrl7lvxiy35y1"; depends=[igraph lbfgs MASS Matrix nloptr truncnorm vegan]; };
   Davies = derive2 { name="Davies"; version="1.1-9"; sha256="19n2szki2dc8z01zh5a7bq4scgisnpd2qqbiimgrswjrykgh2fpm"; depends=[]; };
   DeLorean = derive2 { name="DeLorean"; version="1.3.0"; sha256="0bsmrpraaks4nsjdbhn1npvybb29pxiby8sdimv36nqpb1fyjgpk"; depends=[broom coda dplyr fastICA functional ggplot2 kernlab MASS memoise Rcpp reshape2 rstan seriation stringr]; };
@@ -843,8 +876,8 @@ in with self; {
   Density_T_HoldOut = derive2 { name="Density.T.HoldOut"; version="2.00"; sha256="0kh5nns1kqyiqqfsgvxhx774i2mf4gcim8fp5jjyq577x4679r31"; depends=[histogram]; };
   DepthProc = derive2 { name="DepthProc"; version="2.0.2"; sha256="0n9hs6fp047gnd8y87rzx5qcr3hqg3pdck97hcbzkd8jsi1b1daw"; depends=[colorspace geometry ggplot2 lattice MASS np Rcpp RcppArmadillo rrcov sm zoo]; };
   Deriv = derive2 { name="Deriv"; version="3.8.4"; sha256="1la2afxr9nilb32s3nc1j3spxzgcqn48aywq96pckpjk8vypsjyy"; depends=[]; };
-  DescTools = derive2 { name="DescTools"; version="0.99.23"; sha256="0y3br8s2kvvi552xv5ir2av810l8qknc06hw9x6bryjxj42ywa4i"; depends=[BH boot expm foreign manipulate MASS mvtnorm Rcpp]; };
-  DescToolsAddIns = derive2 { name="DescToolsAddIns"; version="0.9.2"; sha256="1bznlg7p1b7n510rg5rji6qmmpdwgh4nazh1mps7r9rjhjp4w0qq"; depends=[DescTools rstudioapi]; };
+  DescTools = derive2 { name="DescTools"; version="0.99.24"; sha256="1ns0vqpnfj995dq1l6pmah2wi6l8zacndha6brhy97hyn84mc83k"; depends=[BH boot expm foreign manipulate MASS mvtnorm Rcpp]; };
+  DescToolsAddIns = derive2 { name="DescToolsAddIns"; version="1.0"; sha256="1qyxbnmr2dycyfivdyvdqcbpk993q9glrixgp64pflx3sqz91yyk"; depends=[DescTools rstudioapi]; };
   DescribeDisplay = derive2 { name="DescribeDisplay"; version="0.2.5"; sha256="02b6yjgklsdjh3rikc8f5wfx08ymbygr3fyq1c134xhffhykrlgp"; depends=[GGally ggplot2 plyr reshape2 scales]; };
   DescriptiveStats_OBeu = derive2 { name="DescriptiveStats.OBeu"; version="1.2.1"; sha256="0mb33ihqr8jj1ispykvyc7jn1wyaagb535ya5jgwlqrians41ihc"; depends=[jsonlite RCurl reshape]; };
   DetMCD = derive2 { name="DetMCD"; version="0.0.4"; sha256="0jdwwx15k8g3f5izcswsj28nfdw3n50x710mc938031yn7hjmkhg"; depends=[pcaPP Rcpp RcppEigen robustbase]; };
@@ -852,7 +885,7 @@ in with self; {
   DetSel = derive2 { name="DetSel"; version="1.0.2"; sha256="0igkccclmjwzk7sl414zlhiykym0qwaz5p76wf4i7yrpjgk7mhl9"; depends=[ash]; };
   Devore7 = derive2 { name="Devore7"; version="0.7.6"; sha256="1m18p8h9vv4v0aq2fkjyj39vzb8a09azbbczhfiv4y88w540i8nw"; depends=[lattice MASS]; };
   Dforest = derive2 { name="Dforest"; version="0.4.2"; sha256="19jyph2zqfyq9vv22kb6fqy89l0vcviv19zgk10hbd7q850f6ryn"; depends=[ggplot2 rpart]; };
-  DiagrammeR = derive2 { name="DiagrammeR"; version="0.9.2"; sha256="0fz6d1j4jkymdz94rad96wsjzw653zz3hi6p3n6nhacv2b2j97fw"; depends=[downloader dplyr htmltools htmlwidgets igraph influenceR magrittr purrr RColorBrewer readr rgexf rlang rstudioapi scales stringr tibble tidyr viridis visNetwork]; };
+  DiagrammeR = derive2 { name="DiagrammeR"; version="1.0.0"; sha256="0zik8j50yfxgzdv2cf6q80kw8nb5y55l9sbrp60qc08r3fp6s61b"; depends=[downloader dplyr glue htmltools htmlwidgets igraph influenceR magrittr purrr RColorBrewer readr rgexf rlang rstudioapi scales stringr tibble tidyr viridis visNetwork]; };
   DiagrammeRsvg = derive2 { name="DiagrammeRsvg"; version="0.1"; sha256="0j2cm1mx3zrb2k3pcrb96z2z3kws61gyyjsjjv5rqcb5lzdgi65k"; depends=[V8]; };
   DiallelAnalysisR = derive2 { name="DiallelAnalysisR"; version="0.1.1"; sha256="1diwzckn0f2dv0vj2mdzy7k3md6j472xzj82ip23adwr27vlfsi3"; depends=[ggplot2]; };
   DiceDesign = derive2 { name="DiceDesign"; version="1.7"; sha256="05bmscy275077kmbmg75npnmw30kd5x5wmlizcfq771zixby3f7h"; depends=[]; };
@@ -868,11 +901,12 @@ in with self; {
   DiffusionRimp = derive2 { name="DiffusionRimp"; version="0.1.2"; sha256="1h7145ldlgwrrwj4l1wxdp2rbg2pm4v3pngiq0saz0xi3vpcxwl6"; depends=[colorspace Rcpp RcppArmadillo rgl]; };
   DiffusionRjgqd = derive2 { name="DiffusionRjgqd"; version="0.1.1"; sha256="1yb1jaq324qm2x8cl3bs2dflnsx8yfygpw2m3kk5hzaai9gfkqjf"; depends=[colorspace Rcpp RcppArmadillo rgl]; };
   Digiroo2 = derive2 { name="Digiroo2"; version="0.6"; sha256="1b1ahhqz5largjadlk5n6nw2183c05k28mksb1wm26y0lps0vdgr"; depends=[maptools spatstat spdep]; };
+  DirectEffects = derive2 { name="DirectEffects"; version="0.1"; sha256="0c9inxn624c5rxa86d8r8jhsrm42rcsm4xxrwg7h3lvpairiyil2"; depends=[Formula]; };
   DirectStandardisation = derive2 { name="DirectStandardisation"; version="1.2"; sha256="060nscnn7wamnbb45a55wr6rirlbpwwjz0kxiw3aiqkm16ilzfbs"; depends=[]; };
   DirectedClustering = derive2 { name="DirectedClustering"; version="0.1.1"; sha256="1shdqz0c5bbgknvfqr3ais26cb5mpywnah3d3584w97sy8v7gxm2"; depends=[igraph]; };
-  Directional = derive2 { name="Directional"; version="3.0"; sha256="08m6yg2jpz8fcdw4dlbpb1679d72q059ab2sgc3wj53m7vqirm4a"; depends=[doParallel foreach MASS RcppZiggurat Rfast]; };
+  Directional = derive2 { name="Directional"; version="3.1"; sha256="0zx6wflc3hnal3n0ql427dsw8npd46sbz4v42lj53yax71cdg8lj"; depends=[doParallel foreach MASS RcppZiggurat Rfast]; };
   DirichletReg = derive2 { name="DirichletReg"; version="0.6-3"; sha256="0qvnsbyn3livp5jrnxskf5sf7f2svy5mqkmnhzncb9bwf3kxpyla"; depends=[Formula maxLik rgl]; };
-  DisHet = derive2 { name="DisHet"; version="0.2.1"; sha256="1w0fpc73pk1fs05j328aw368qcabxfxz97zfqr5mda7wcmkwwnj3"; depends=[gtools matrixStats]; };
+  DisHet = derive2 { name="DisHet"; version="0.2.2"; sha256="03jg7y8hd7c7bi9df37g1p7i28l7l2hyana4y2js7hgc88gv376l"; depends=[gtools matrixStats]; };
   Disake = derive2 { name="Disake"; version="1.5"; sha256="1fw45fmnir6h34jw8917mhyz6cgzbq4ywyyf51qxhm68wgzy9h17"; depends=[]; };
   DiscreteInverseWeibull = derive2 { name="DiscreteInverseWeibull"; version="1.0.2"; sha256="0vjsvl4m4zccfgizv7mzidbbpzqcm101x448vllcdcrn2xlnkmnq"; depends=[Rsolnp]; };
   DiscreteLaplace = derive2 { name="DiscreteLaplace"; version="1.1.1"; sha256="17w4vjvsm7jacvwckjczyah3hglq044r3m6vqdcrg8haz884rav2"; depends=[]; };
@@ -887,13 +921,13 @@ in with self; {
   DiversityOccupancy = derive2 { name="DiversityOccupancy"; version="1.0.6"; sha256="16x3fpchgd12mccvr1k11vjka97sy5vjvjcyd5y3pskgnpycc2sv"; depends=[dplyr ggplot2 glmulti MuMIn qpcR raster unmarked vegan]; };
   DiversitySampler = derive2 { name="DiversitySampler"; version="2.1"; sha256="1sfx7craykb82ncphvdj19mzc0kwzafhxlk9jcxkskygrlwsxfgg"; depends=[]; };
   DnE = derive2 { name="DnE"; version="2.1.0"; sha256="02cbfb3m9xf24wkgqc06k3k0rx7qlqh4ma43khg6fpvif6yyahrn"; depends=[]; };
-  DoE_MIParray = derive2 { name="DoE.MIParray"; version="0.10"; sha256="0823r0bdpiz8k8cma07si6knjk7d7yx3k2jr9g9lzvz6nzn4021h"; depends=[DoE_base]; };
-  DoE_base = derive2 { name="DoE.base"; version="0.31"; sha256="0kr9d8ga6dif02gzn6z72n46a85n2kx933m16ja6gpa3wmp3x2wh"; depends=[combinat conf_design lattice MASS numbers vcd]; };
+  DoE_MIParray = derive2 { name="DoE.MIParray"; version="0.11"; sha256="0plwvji2rrxmjnf61mj1ijglc9z62n26ijqsf65s35c19qv2g0y1"; depends=[DoE_base]; };
+  DoE_base = derive2 { name="DoE.base"; version="0.32"; sha256="1qy3n8m9y9h4cv3p6vdjifv7118rmqqxshk7sqls0m4xr3vyzwv5"; depends=[combinat conf_design lattice MASS numbers vcd]; };
   DoE_wrapper = derive2 { name="DoE.wrapper"; version="0.9"; sha256="0l4dxb0f4ql5k3x1avfzs1w54qwjxfp8rl9h9vg6p1zhbkz4qz06"; depends=[AlgDesign DiceDesign DoE_base FrF2 lhs rsm]; };
   DoEstRare = derive2 { name="DoEstRare"; version="0.2"; sha256="0y9ymw7114jk1rwiasq400bpgvkxv6rpc954c7v9mgxd3c2nfza7"; depends=[]; };
   DoTC = derive2 { name="DoTC"; version="0.2"; sha256="1hjjkmxrbiysy3xl6n4q7kxcygdq68jcsgki1p937zj9a17sa62j"; depends=[ggplot2 plyr]; };
   Dodge = derive2 { name="Dodge"; version="0.8"; sha256="1vnvqb2qvl6c13s48pyfn1g6yfhc60ql3vn7yh2zymxcsr1gxgcw"; depends=[]; };
-  Dominance = derive2 { name="Dominance"; version="1.0.17"; sha256="07xsyadmq47szvp1vnf53ijq43pwd9g7554fgl803fhkwq6b3jgh"; depends=[chron gdata igraph XLConnect]; };
+  Dominance = derive2 { name="Dominance"; version="1.1.0"; sha256="1dzfj79hv3ds72dy4fn14bp68fiw06vdxkp4dvyvj37yrrqpcxyz"; depends=[chron gdata igraph XLConnect]; };
   DoseFinding = derive2 { name="DoseFinding"; version="0.9-16"; sha256="0ncr95lf4mifmx6n2qkg8m3cn326zj9w4hr7afsdxg155l11w89z"; depends=[lattice mvtnorm]; };
   DoubleCone = derive2 { name="DoubleCone"; version="1.1"; sha256="1kbvsj93nn2306s6pgqiiznmlcn2nqsgcxinihl613ivczxhzpqg"; depends=[coneproj MASS Matrix]; };
   DoubleExpSeq = derive2 { name="DoubleExpSeq"; version="1.1"; sha256="00xpj5xmpgmvp6h76imkmghrnlfk6c50ydvv0jram6m6ix3z8323"; depends=[numDeriv]; };
@@ -901,6 +935,7 @@ in with self; {
   Dpit = derive2 { name="Dpit"; version="1.0"; sha256="02pnc00sk3bwxmxrg27638x0q62r7nsx2nr14zjjc5q880prdisv"; depends=[fitdistrplus gsl moments VGAM]; };
   DrBats = derive2 { name="DrBats"; version="0.1.4"; sha256="0jzl1jklxsbqf5hv3a71lckk51jxi1lnbk5zmvd4x3y9b9azl2cq"; depends=[ade4 coda MASS Matrix rstan sde]; };
   DrImpute = derive2 { name="DrImpute"; version="1.0"; sha256="1adzarrwqb282pqgx2yqswp9rpwd1naxsmar54kddr6qyd6b923b"; depends=[Rcpp RcppArmadillo]; };
+  DrInsight = derive2 { name="DrInsight"; version="0.1.1"; sha256="02lqf6bwbgcgyg5zx16nvnzpagmcmbsngnhmyv47256vsd9vppjd"; depends=[igraph qusage]; };
   DrillR = derive2 { name="DrillR"; version="0.1"; sha256="0n7pim5kk0wfdjcc67v4vvdb7wyhn5bcgi2a12nbyfyydss7pk1g"; depends=[httr]; };
   DrugClust = derive2 { name="DrugClust"; version="0.2"; sha256="0acvjqwzkbjmy101m501l7fkfxzkp6zflwvn56li5307xv9ggnfg"; depends=[cclust cluster e1071 MESS ROCR]; };
   DstarM = derive2 { name="DstarM"; version="0.2.2"; sha256="014xlj5kipl2jpcgcqs1ynw05x17wbsgc5mhfjn3p96bbp6pkzzy"; depends=[DEoptim ggplot2 rtdists RWiener]; };
@@ -911,6 +946,7 @@ in with self; {
   DynNom = derive2 { name="DynNom"; version="4.1.1"; sha256="1c4hykp8fwr6h5y09m4qs23bmbaj6im2c833mv2ymlhy5bwhmnfi"; depends=[BBmisc compare ggplot2 plotly rms shiny stargazer survival]; };
   DynTxRegime = derive2 { name="DynTxRegime"; version="3.2"; sha256="0a6s28vc7kf6r7qmy9xjmxm39fl0ijnbl01d8rzr4w9sbnr3n85l"; depends=[dfoptim kernlab modelObj rgenoud]; };
   DynamicDistribution = derive2 { name="DynamicDistribution"; version="1.1"; sha256="1s78hpj2pxjs4vixin1i816qjbn3wk7b8rd2zdjp4d4rbxifcqf5"; depends=[]; };
+  DynamicGP = derive2 { name="DynamicGP"; version="1.0-2"; sha256="1mgipnkf8mlxcr9b6naiy5nq90war1gdp2cm54681b4cx0fv62p2"; depends=[laGP lhs]; };
   EAinference = derive2 { name="EAinference"; version="0.2.3"; sha256="1kzcfya3z6rf1vqjn72yjymdhrn4dzgmwifh3w6k22cy5jxffzn4"; depends=[hdi limSolve MASS msm mvtnorm Rcpp RcppArmadillo]; };
   EBASS = derive2 { name="EBASS"; version="0.1"; sha256="14hxzj06wrc4ihflr7dqk28fsjwbcizr0jy54vhv0mk1y1gd4201"; depends=[]; };
   EBEN = derive2 { name="EBEN"; version="4.6"; sha256="0gcf5b2viiq69vs8bd8nhk65g9sbzgg212w7zpnz4y6cv9jkk5zz"; depends=[]; };
@@ -926,7 +962,7 @@ in with self; {
   EDA = derive2 { name="EDA"; version="1.0.1"; sha256="13qyi7yh1xqsyyvd51j5dl6dx4xh6kr97pz5v4wn46nbx6vna0dk"; depends=[ggplot2]; };
   EDFIR = derive2 { name="EDFIR"; version="1.0"; sha256="0nv1badyg1dri6z91fvs68a72g22vdg0rpi3fkpxw527r11fvrrv"; depends=[geometry lpSolve MASS vertexenum]; };
   EDISON = derive2 { name="EDISON"; version="1.1.1"; sha256="12cc13ng5fc4nm0nvqxqplpb2ycz4cln73xqkk85dka2fnpykjc7"; depends=[corpcor MASS]; };
-  EDMeasure = derive2 { name="EDMeasure"; version="1.1.0"; sha256="1q9k0wp3wi7sqgcn3j74r8q525q0kbcx4nlm8i0frzpb75yak7ab"; depends=[dHSIC energy rBayesianOptimization]; };
+  EDMeasure = derive2 { name="EDMeasure"; version="1.2.0"; sha256="1gyv86vip0a3939dbbwz29xkqzncw24r68fzykdjnv3b995510iv"; depends=[dHSIC energy rBayesianOptimization]; };
   EDR = derive2 { name="EDR"; version="0.6-6"; sha256="10m92p3fy5z2kca4h9awwmvs4pqri92habkvgjvjl5ira09yvyi7"; depends=[sm]; };
   EEM = derive2 { name="EEM"; version="1.1.1"; sha256="0w20kakgcpyhfi7fcrss4w67pbaj87hi2scy7g05q3sg2ygac7gj"; depends=[colorRamps ggplot2 R_utils reshape2 sp]; };
   EFAutilities = derive2 { name="EFAutilities"; version="1.2.1"; sha256="1hgmj9zk9mwqwmqila1ana6jzqg55aj535pkrzai2y6yq45dvfh9"; depends=[GPArotation mvtnorm plyr]; };
@@ -941,7 +977,6 @@ in with self; {
   EL = derive2 { name="EL"; version="1.0"; sha256="13r7vjy2608h8jph8kwy69rnkg98b2v69117nrl728r3ayc46a18"; depends=[]; };
   EL2Surv = derive2 { name="EL2Surv"; version="1.0"; sha256="1vrm0w9rmy4vfkpzq804p216cxw4vvp91g77k4vvzv4z87gkqfhq"; depends=[survival]; };
   ELMR = derive2 { name="ELMR"; version="1.0"; sha256="0pd3drv485xbdyfwm28kjpd0nd0zv1khfwzki1gh5p1gz9ndwr2x"; depends=[]; };
-  ELMSurv = derive2 { name="ELMSurv"; version="0.4"; sha256="0vziygjvs50wih318jvksj4z4mn1r35xx200p7ywf2a39xmr4490"; depends=[Rcpp RcppArmadillo survival]; };
   ELT = derive2 { name="ELT"; version="1.6"; sha256="0vbrf912m6f80sqyyrp0z4jhq38fnmcy6hgwy0qh8wgk3p1aqm7c"; depends=[lattice latticeExtra locfit xlsx]; };
   ELYP = derive2 { name="ELYP"; version="0.7-3"; sha256="1d91r59m85k91kcjjlvhvbsa9855fyd702bwj7drvk36ssfr8qb9"; depends=[survival]; };
   EMA = derive2 { name="EMA"; version="1.4.5"; sha256="16iq5a3yrilchqmkyb4g5bmmgpw6psm88n52gmlax75xbiwk8261"; depends=[affy AnnotationDbi Biobase biomaRt cluster FactoMineR gcrma GSA heatmap_plus MASS multtest siggenes survival xtable]; };
@@ -952,6 +987,7 @@ in with self; {
   EML = derive2 { name="EML"; version="1.0.3"; sha256="04qz4rwq0amy9lp6358qjjql46ky2slqrvipngym5klqvm9vi0zi"; depends=[uuid xml2]; };
   EMMAgeo = derive2 { name="EMMAgeo"; version="0.9.4"; sha256="1i36s8mzp04alff6lqkc798xjzgn61wdpl5i0awjdvg26ka8v7lj"; depends=[GPArotation limSolve shape shiny]; };
   EMMIXcskew = derive2 { name="EMMIXcskew"; version="0.9-5"; sha256="1ys5kvns6jlw2lk9m6xcy71wx1d581cmphiaxnp3hsqimc8wz7hq"; depends=[MASS mnormt rgl]; };
+  EMMIXgene = derive2 { name="EMMIXgene"; version="0.1.0"; sha256="1jadasvngxczyyc7gxpcw3jxhxai3p88l8lmj1jmdns5vdi2n4rl"; depends=[BH ggplot2 mclust Rcpp RcppArmadillo reshape scales]; };
   EMMIXskew = derive2 { name="EMMIXskew"; version="1.0.3"; sha256="05y1ivbzbsfab90925l3ahzd3b8y5kjfk3f0p2s9s3sfyxphqah7"; depends=[KernSmooth lattice mvtnorm]; };
   EMMIXuskew = derive2 { name="EMMIXuskew"; version="0.11-6"; sha256="0japf0l0sj84jna7b5kirp6pgqa4c923ldwphb16ch2xxrgk5n5k"; depends=[MASS]; };
   EMMLi = derive2 { name="EMMLi"; version="0.0.3"; sha256="1b36kyzvrdljmkysggv8jyaip78pj32ms0xhj2y568hd419lkh2p"; depends=[]; };
@@ -968,16 +1004,17 @@ in with self; {
   EQL = derive2 { name="EQL"; version="1.0-0"; sha256="0lxfiizkvsfls1km1zr9v980191af6qjrxwcqsa2n6ygzcb17dp5"; depends=[lattice ttutils]; };
   EQUIVNONINF = derive2 { name="EQUIVNONINF"; version="1.0"; sha256="103wrry0cmikprihmgx8y4kk1pnbjis7rs1xw13w14v902xkr2rq"; depends=[BiasedUrn]; };
   ERP = derive2 { name="ERP"; version="1.1"; sha256="00w9zz5rp1asvk13sj9gkd14n2akbclsyz26jp5a3r85fh6chdm0"; depends=[fdrtool mnormt]; };
+  ERSA = derive2 { name="ERSA"; version="0.1.0"; sha256="063i9fmdccyrbap7fgas9371zv13gpcgzhlsphsn8jw9nmzpdii4"; depends=[broom car combinat dplyr ggplot2 leaps modelr purrr RColorBrewer shiny tidyr]; };
   ES = derive2 { name="ES"; version="1.0"; sha256="1rapwf6kryr6allzbjk6wmxpj9idd3xlnh87rwbh6196xb7rp8lv"; depends=[]; };
   ESEA = derive2 { name="ESEA"; version="1.0"; sha256="06r5lki32mxkznj6yxvlz0ikqcxm3jbaralv4qp9xrw6dy6yyg27"; depends=[igraph parmigene XML]; };
   ESG = derive2 { name="ESG"; version="0.1"; sha256="1jw6239asv6lwxrz5v0r5pzg6v500bqxg8361sh4jj67rsrc7g9m"; depends=[]; };
   ESGtoolkit = derive2 { name="ESGtoolkit"; version="0.1"; sha256="0r09arhsvamdyahini5yhgc43msdxwvn45l57xbfszahsnr3b3aq"; depends=[CDVine ggplot2 gridExtra Rcpp reshape2 ycinterextra]; };
   ESKNN = derive2 { name="ESKNN"; version="1.0"; sha256="1w43v3q9i7dkx1qwcl5cgh9wdgg5r4s7vfbkk0vcsq9qd8nbcvfy"; depends=[caret]; };
   ESTER = derive2 { name="ESTER"; version="0.2.0"; sha256="1jiyqq5hgqc754r434sik9jnlpw66xz56cjdf5ig95qkffzsg224"; depends=[brms cowplot doParallel dplyr foreach ggplot2 lme4 magrittr rlang tidyr]; };
-  ETAS = derive2 { name="ETAS"; version="0.4.3"; sha256="08i8i3az5f4nb6cwfyilc0dk84j6i3f3k6bxr2k1lrds1rqx0fla"; depends=[fields lattice maps Rcpp spatstat]; };
+  ETAS = derive2 { name="ETAS"; version="0.4.4"; sha256="0s0j7r1nyf82qz3lavsvyd11hl0jkq69c70wh00nfy93n2ygp376"; depends=[fields goftest lattice maps Rcpp spatstat]; };
   ETC = derive2 { name="ETC"; version="1.3"; sha256="1nvb9n0my7h1kq996mk91canxi6vxy3mzhrshrvm13ixvl48lkkh"; depends=[mvtnorm]; };
   ETLUtils = derive2 { name="ETLUtils"; version="1.4.1"; sha256="07wqrg7mnxmbdf2ibxj5kppl4sd3l608yfhbbsngkhpsrm203qva"; depends=[bit ff]; };
-  EValue = derive2 { name="EValue"; version="1.1.1"; sha256="0fdihngqgl2m7385ih08zzh9y38aal1d9lv7358qf0z68i9bgfa2"; depends=[ggplot2 metafor]; };
+  EValue = derive2 { name="EValue"; version="1.1.3"; sha256="0c3fsb3p277533gn6yw8ml7d6za211j8k46ga88fsh4mlg28hb6p"; depends=[ggplot2 metafor]; };
   EW = derive2 { name="EW"; version="1.1"; sha256="0wc3v9qisiikvlp28xhlgsxb92fhkm6vslia6d0vpihyai0p1h1g"; depends=[]; };
   EWGoF = derive2 { name="EWGoF"; version="2.2.1"; sha256="0n1fx6k9ndb2s9ybzizbqz662c9s1f48q6v697pqhnfy9si1nplz"; depends=[Rcpp]; };
   EXRQ = derive2 { name="EXRQ"; version="1.0"; sha256="1iqsr52sl2j5q03122a7rsp6n6a2bkysk2r908c89l36gk4sj2i5"; depends=[mnormt quantreg]; };
@@ -993,6 +1030,7 @@ in with self; {
   EcoGenetics = derive2 { name="EcoGenetics"; version="1.2.1-4"; sha256="18l5v7zsmz35brnf6b8qfxbs8906rmyc2kkh9bm96x01m3vx8pkh"; depends=[d3heatmap edgebundleR ggplot2 htmlwidgets igraph jsonlite magrittr networkD3 party pheatmap plotly raster reshape2 rgdal rkt SoDA sp]; };
   EcoHydRology = derive2 { name="EcoHydRology"; version="0.4.12"; sha256="03dzdw79s0cnnd7mv6wfxw374yf66dlcmj10xh6sh5i352697xp1"; depends=[DEoptim operators topmodel XML]; };
   EcoIndR = derive2 { name="EcoIndR"; version="1.2"; sha256="1p2m4kramcf71xlm9hbk5l5mb8nmjfac1p3csai7m2gmikf559yj"; depends=[]; };
+  EcoNetGen = derive2 { name="EcoNetGen"; version="0.1.1"; sha256="004y0l8hdl1kmph7y954m8k3rrqfgi6krdwywww136q0yfjdw27v"; depends=[ggplot2 igraph]; };
   EcoSimR = derive2 { name="EcoSimR"; version="0.1.0"; sha256="13ni3vdfahqjyb9xrv7fmnbj5m5n3jwfh1bl9r0bvhi5w72kb7rj"; depends=[MASS]; };
   EcoTroph = derive2 { name="EcoTroph"; version="1.6"; sha256="0zi6g0ra107s47r32mm9h6r1wll3avi0mpjmhcr0nj9y48nv14w3"; depends=[XML]; };
   EcoVirtual = derive2 { name="EcoVirtual"; version="1.0"; sha256="1adhxwi22psr81xh1szjvn6ycv4zw31xjnswk65iazk3sc4vz7wc"; depends=[]; };
@@ -1001,8 +1039,8 @@ in with self; {
   EdSurvey = derive2 { name="EdSurvey"; version="1.0.6"; sha256="1p8cxr69ckz6py0hmagm9aq7kp1q48ymffmnpwsvwh2yfkzl90yq"; depends=[data_table LaF lfactors Matrix NAEPprimer wCorr]; };
   EditImputeCont = derive2 { name="EditImputeCont"; version="1.1.0"; sha256="1pbpknz1v5k7fgwvzv5ldyxxshys4sx7d17hbwzph1z68jcmixzg"; depends=[editrules igraph Rcpp]; };
   EffectLiteR = derive2 { name="EffectLiteR"; version="0.4-2"; sha256="1vkg5gi0gysnw0gz9ah8pdnnlkdfsz0jy53ps2jnnpy8lbr45zc9"; depends=[car foreign ggplot2 lavaan lavaan_survey nnet shiny survey]; };
-  EffectStars = derive2 { name="EffectStars"; version="1.8"; sha256="0gcgwlywx7slbk8nyzv47r4wx837gimmshrb1kl2m4cl4xbm84jh"; depends=[VGAM]; };
-  EffectStars2 = derive2 { name="EffectStars2"; version="0.1-1"; sha256="1yffwnr563vzdq0ph9xs3w0zg5c7l3ima6skn8cqiafr21w332ss"; depends=[miscTools VGAM]; };
+  EffectStars = derive2 { name="EffectStars"; version="1.9"; sha256="15n5mrba2s0qxcg3zikfwpxqwv38h39zmvj8sz62ni4pdhrhhjh3"; depends=[VGAM]; };
+  EffectStars2 = derive2 { name="EffectStars2"; version="0.1-2"; sha256="0121zb627zwkgbb84sn2dclph56dc5rkfjpci5xwd0w99vh3q66l"; depends=[miscTools VGAM]; };
   EffectTreat = derive2 { name="EffectTreat"; version="0.3"; sha256="1y8b1867idjbd7i39hhryg4nyijlv6d828z0jspp80fka3sp8xpw"; depends=[]; };
   EffectsRelBaseline = derive2 { name="EffectsRelBaseline"; version="0.5"; sha256="1dsnakcrgmlx44599ii92wvhxbxrh0hij59709wsskx1x1152zvh"; depends=[]; };
   EfficientMaxEigenpair = derive2 { name="EfficientMaxEigenpair"; version="0.1.4"; sha256="1s0i9a2vk2g4f5gadsvzjfkw91hcjsrbyjg2vgnj1v17xrwgp40w"; depends=[]; };
@@ -1014,7 +1052,6 @@ in with self; {
   Emcdf = derive2 { name="Emcdf"; version="0.1.2"; sha256="0jb59jp1drcwipmk6yzg0cl366i8nhffa13c3x3fmhaj7ifv77vv"; depends=[lattice Rcpp]; };
   EmiStatR = derive2 { name="EmiStatR"; version="1.2.0.6"; sha256="1ygi3rz4xc7y0m1jd23g3li62br7fs0dcm6fj8kha5q93xn6yvrx"; depends=[doParallel foreach lattice shiny xts zoo]; };
   EmpiricalCalibration = derive2 { name="EmpiricalCalibration"; version="1.3.6"; sha256="0fiwvdzcyz6ayzqfa6j2ygpab1cwbi04gd2c2g1j9qbdq95myipa"; depends=[ggplot2 gridExtra]; };
-  EnQuireR = derive2 { name="EnQuireR"; version="0.10"; sha256="00kyclcr8da79lwpqa1vzkwn6pgf197h2biackwgphb0byhi8ssx"; depends=[FactoMineR MASS Rcmdr SensoMineR]; };
   EnergyOnlineCPM = derive2 { name="EnergyOnlineCPM"; version="1.0"; sha256="1a3wvclqdwcvq5inhliwjnd7xzqbjvzs8h8ncy6qlhjq6s5n7nm8"; depends=[energy MASS]; };
   EngrExpt = derive2 { name="EngrExpt"; version="0.1-8"; sha256="0zclvckj2i7j4kfs58hcjcl722vl2y6dcnjz238cjfgwv279gqhp"; depends=[lattice]; };
   EnsCat = derive2 { name="EnsCat"; version="1.1"; sha256="1rp354fqq2ihjrmqw9j1qdy86md80xml5sgh2zbyabw3zddmgyn2"; depends=[dendextend ggdendro ggplot2 seqinr]; };
@@ -1029,15 +1066,15 @@ in with self; {
   EnvStats = derive2 { name="EnvStats"; version="2.3.0"; sha256="0f0sda26in2a25vq8xr6pkskjk10q2pg463h9c1xap3bghq4xgc3"; depends=[ggplot2 MASS nortest]; };
   EnviroPRA = derive2 { name="EnviroPRA"; version="1.0"; sha256="0yirh3vy7wap0qmm3kvjz9y68gcvp9i8qshv80wh8aijxwklpr8n"; depends=[fitdistrplus kSamples MASS truncdist]; };
   EnviroStat = derive2 { name="EnviroStat"; version="0.4-2"; sha256="0ckax6vkx0vwczn21nm1dr8skvpm59xs3dgsa5bs54a3xhn5z9hs"; depends=[MASS]; };
-  Epi = derive2 { name="Epi"; version="2.24"; sha256="0vrcp7i5mhxfx1401zpzjbkbbyqd873mzjcvfz0bwcxrk4a5gld7"; depends=[cmprsk data_table etm MASS Matrix numDeriv plyr survival zoo]; };
+  Epi = derive2 { name="Epi"; version="2.26"; sha256="0c54nvcyjvsmzmk326avbi69vbpw9vlvcqh8c6j32byiwj251ans"; depends=[cmprsk data_table etm MASS Matrix numDeriv plyr survival zoo]; };
   EpiBayes = derive2 { name="EpiBayes"; version="0.1.2"; sha256="1qfir0dl085c9ib1acsygmj7gihc4ar98k5niqdsgnmji88h17y2"; depends=[coda epiR scales shape]; };
   EpiContactTrace = derive2 { name="EpiContactTrace"; version="0.12.0"; sha256="1i84fslz8sdngvkv34zhzjwzrzzxx6f4s31p8f5smmf028jlpyys"; depends=[]; };
   EpiCurve = derive2 { name="EpiCurve"; version="2.0-1"; sha256="15y6nlinw3ppi4bn8xpsrch1avn7642f06lcsv2bjyi1carhfqkw"; depends=[dplyr ggplot2 ISOweek RColorBrewer scales timeDate]; };
   EpiDynamics = derive2 { name="EpiDynamics"; version="0.3.0"; sha256="0hpysjl8wfgylbp4ddxmi5msvlp1w70c6pxggc2bwdgap3s127f3"; depends=[deSolve ggplot2 reshape2]; };
   EpiEstim = derive2 { name="EpiEstim"; version="1.1-2"; sha256="0r56iglhkrqvlsf3gbahd544h944fmbyn6jdc113rhjscf6dl605"; depends=[]; };
-  EpiILM = derive2 { name="EpiILM"; version="1.4.1"; sha256="01cp02c6ylx17cwvzs22zh7p18ggyqzrky5393xbjxqlwraf970n"; depends=[coda]; };
-  EpiILMCT = derive2 { name="EpiILMCT"; version="1.0"; sha256="1s7f4g1d44mqp475z5cn97dqv6b1caxmfq1p6gr1w7jvgq0dfqp5"; depends=[]; };
-  EpiModel = derive2 { name="EpiModel"; version="1.6.1"; sha256="0jmwrpcfrfwrw5zwvwl0cv961nvqfvxjggx93iyc8z8bd6mf1wba"; depends=[ape deSolve doParallel ergm foreach ggplot2 lazyeval network networkDynamic RColorBrewer tergm]; };
+  EpiILM = derive2 { name="EpiILM"; version="1.4.2"; sha256="16vml2p7c4nv0lfis661x7b9wimrni1ncpa256dh99cps9508j28"; depends=[coda]; };
+  EpiILMCT = derive2 { name="EpiILMCT"; version="1.1.2"; sha256="1rxq9z5lhcgzn02d9k6vgl2cb5x0s9gsly63byx4gg1h91bsvmp6"; depends=[coda]; };
+  EpiModel = derive2 { name="EpiModel"; version="1.6.5"; sha256="1h9490x7vna8z2dib6vgkxhpqvbybg655k88jn48i6qkda8dzv54"; depends=[ape deSolve doParallel ergm foreach ggplot2 lazyeval network networkDynamic RColorBrewer tergm]; };
   EpiStats = derive2 { name="EpiStats"; version="1.0"; sha256="17i8i3v8qpwas4h6g8sbdl42syg20fm22c7p1bnv4nzx28p9yzhy"; depends=[dplyr epiR]; };
   EpiWeek = derive2 { name="EpiWeek"; version="1.1"; sha256="19bvjiiz8qn9nlvf3nq238qi1hszlm6asrc03p8ykp6gpl2pi6js"; depends=[]; };
   EpistemicGameTheory = derive2 { name="EpistemicGameTheory"; version="0.1.2"; sha256="0b2gnrvhlsw85qv63ib32pj55l7w63wgvbrj5rb209g6h46fby8m"; depends=[lpSolve]; };
@@ -1046,7 +1083,7 @@ in with self; {
   EstHer = derive2 { name="EstHer"; version="1.0"; sha256="1j8sczwfzil16j85mw5d1c7cxy7wimh0qq7zhmkh7mfnr36m9phr"; depends=[glmnet MASS Rcpp RcppArmadillo]; };
   EstSimPDMP = derive2 { name="EstSimPDMP"; version="1.2"; sha256="05gp0gdix4d98111sky8y88p33qr5w4vffkp6mg9klggn37kdj8j"; depends=[]; };
   EstimateGroupNetwork = derive2 { name="EstimateGroupNetwork"; version="0.1.2"; sha256="148srhlpzh0scvnkjbkyia1pr8a2ridabm3dahw4zn7p3cryiyb1"; depends=[igraph qgraph]; };
-  EthSEQ = derive2 { name="EthSEQ"; version="2.1.1"; sha256="10i2cwrsgi6q5fq9ksjrhrdwg6hjjd284xsjdiwlfcbfa59390dc"; depends=[data_table gdsfmt geometry MASS plot3D SNPRelate]; };
+  EthSEQ = derive2 { name="EthSEQ"; version="2.1.2"; sha256="0w75d8kw1bf4mfgk8rrx6vzq002z2588kxgadyfag0vk9s4akxi3"; depends=[data_table gdsfmt geometry MASS plot3D SNPRelate]; };
   EurosarcBayes = derive2 { name="EurosarcBayes"; version="1.1"; sha256="12311s6ibw9q6kykhh689r93r7mwjhwrhkzdpc75grvw6ilgjmpm"; depends=[clinfun data_table plyr shiny VGAM]; };
   EvCombR = derive2 { name="EvCombR"; version="0.1-2"; sha256="1f5idjaza91npf64hvcnpgnr72mpb7y6kf91dp57xy9m14k7jx5g"; depends=[]; };
   EvalEst = derive2 { name="EvalEst"; version="2015.4-2"; sha256="1jkis39iz3zvi5yfd0arvw7bym6naq45f5cravywg8c37n9v967x"; depends=[dse setRNG tfplot tframe]; };
@@ -1075,6 +1112,7 @@ in with self; {
   FAMILY = derive2 { name="FAMILY"; version="0.1.19"; sha256="1912l2zj2cmh8yx8lkg8fpgvfddn6wbi1vrr4yx04mh73gk1s5mk"; depends=[pheatmap pROC]; };
   FAMT = derive2 { name="FAMT"; version="2.5"; sha256="0mn85yy9zmiklfwqjbhbhzbawwp2yqrm9pvm8jhasn9c3kw1pcp2"; depends=[impute mnormt]; };
   FAOSTAT = derive2 { name="FAOSTAT"; version="2.0"; sha256="06z8c964sf73ld4v9vybqjsdxskxp3ssyv0a3mpcs9la5y7n9jaz"; depends=[classInt data_table ggplot2 labeling MASS plyr RJSONIO scales]; };
+  FASeg = derive2 { name="FASeg"; version="0.1.9"; sha256="0lazx8dyycyycr8467m9rkxkxhp4r2w737kpkb40y59wncmbvkik"; depends=[]; };
   FAdist = derive2 { name="FAdist"; version="2.2"; sha256="0nw3w4g7y846bm57xyjnb13g7z746kxf8mb2hnljwwsypcg6i2n8"; depends=[]; };
   FAmle = derive2 { name="FAmle"; version="1.3.5"; sha256="1j6x5bbxnrwp9d6xlxc861xslawzfqhi3d11nphyc97afsz0ymnr"; depends=[mvtnorm]; };
   FAwR = derive2 { name="FAwR"; version="1.1.1"; sha256="1hzgaxinq81v4f9743lnlj3bkby8pwmaw1gq0fb4yxazav8y7ihy"; depends=[glpkAPI lattice MASS]; };
@@ -1096,12 +1134,11 @@ in with self; {
   FGN = derive2 { name="FGN"; version="2.0-12"; sha256="0jxawb4wm1vcp0131mdnc0r24dw8sd29ih0fc2wh6ahy7mxzajqn"; depends=[akima ltsa]; };
   FGSG = derive2 { name="FGSG"; version="1.0.2"; sha256="1r3sjhzf9gcnbcx6rqr1s555z8lcwm3fxl096md2jji336ijlk79"; depends=[]; };
   FGalgorithm = derive2 { name="FGalgorithm"; version="1.0"; sha256="1dq6yyb3l6c9fzvk9gs6pb240xb5hvc6fh8p3qd3c91b3m289mcc"; depends=[]; };
-  FHDI = derive2 { name="FHDI"; version="1.2.1"; sha256="12vw8l0jk2z3i9gz108l2wrha6psqrg508rv1d44r4fss3xa233l"; depends=[]; };
+  FHDI = derive2 { name="FHDI"; version="1.2.3"; sha256="19480lp2hp0ss2mij1z2ikhdqlkxrfpyy66sz5i0jab48675l9v5"; depends=[]; };
   FHtest = derive2 { name="FHtest"; version="1.4"; sha256="1wsn0j9ydpp9nfswiqg21p09kgkvaq8fh0y0h8syqgizah7i8vs2"; depends=[interval KMsurv MASS perm survival]; };
   FI = derive2 { name="FI"; version="1.0"; sha256="17qzl8qvxklpqrzsmvw4wq3lyqz3zkidr7ihxc4vdzmmz69pyh2f"; depends=[]; };
   FIACH = derive2 { name="FIACH"; version="0.1.2"; sha256="151lc5m8pb7l07kxljm32zy5kd7a4zr5vgsgwsx7ywhijh0r0585"; depends=[Rcpp RcppArmadillo RNiftyReg tkrplot]; };
   FITSio = derive2 { name="FITSio"; version="2.1-0"; sha256="021xmbavigg70m96xw1bvsdasi5yj2wmafgb6xw4b09fmyv9hvjp"; depends=[]; };
-  FKF = derive2 { name="FKF"; version="0.1.3"; sha256="01ibihca39zng4wrvhq8h28bmb2rnsjm21xy22b85kpn3mbnh7f1"; depends=[RUnit]; };
   FLIM = derive2 { name="FLIM"; version="1.2"; sha256="180az4zwmfcglmvismyacmh7ri4qg8jvhlisqpway0z5z6fsda6r"; depends=[MASS zoo]; };
   FLLat = derive2 { name="FLLat"; version="1.2-1"; sha256="0306bpwp2az4x4m5sv88hlh7vs0y5isfby7lxrn2gjnk76gg6mw1"; depends=[gplots]; };
   FLR = derive2 { name="FLR"; version="1.0"; sha256="0k50vi73qj7sjps0s6b2hq1cmpa4qr2vwkpd2wv2w1hhhrj8lm0n"; depends=[combinat]; };
@@ -1124,9 +1161,9 @@ in with self; {
   FREQ = derive2 { name="FREQ"; version="1.0"; sha256="01nra30pbnqdd63pa87lcws3hnhhzybcjvx2jqyxjghn6khz47j0"; depends=[]; };
   FRESA_CAD = derive2 { name="FRESA.CAD"; version="3.0.1"; sha256="05hcds1g1hkpr3fww1i462p633xlhwv594fpbphvw8fm10mc0hns"; depends=[Hmisc miscTools pROC Rcpp RcppArmadillo stringr]; };
   FREddyPro = derive2 { name="FREddyPro"; version="1.0"; sha256="0h2rdydcx9pwjl1zxghzb5vqynrwdkscyq6c9adjgz4dngfwyzsw"; depends=[dismo ggplot2 lubridate raster RColorBrewer sp]; };
-  FRK = derive2 { name="FRK"; version="0.1.8"; sha256="037rk9l9bl65wskrii07x4z0g0ic92fx7i0p522bgy53qxa3sbq0"; depends=[digest dplyr ggplot2 Hmisc Matrix plyr Rcpp sp spacetime]; };
+  FRK = derive2 { name="FRK"; version="0.2.1"; sha256="042j6n3yx46123d0qsghbynjf1h0iri4kfd92z5nbcgv7wggk4d3"; depends=[digest dplyr ggplot2 Hmisc Matrix plyr Rcpp sp spacetime sparseinv]; };
   FRegSigCom = derive2 { name="FRegSigCom"; version="0.1.0"; sha256="02lvgxxr12rfs4k7dg3rl249nbvfkqaywas3k6jhm378j3j8yaaf"; depends=[fda]; };
-  FSA = derive2 { name="FSA"; version="0.8.17"; sha256="1mpkbz5q4xbncmwqrylww679ghz52fsr81flavkksb8ljr4z6f7p"; depends=[car dplyr dunn_test epitools gplots lmtest plotrix plyr sciplot]; };
+  FSA = derive2 { name="FSA"; version="0.8.19"; sha256="0sj928r3dx320q3684ckw8yny6s209n57j0sxdzk7bwl9syyp6ma"; depends=[car dplyr dunn_test epitools gplots lmtest plotrix plyr sciplot]; };
   FSAdata = derive2 { name="FSAdata"; version="0.3.6"; sha256="0r4g3s4a7hizxj7zlp8wb5sldnx6kc99vak8ww715bhzpzq40qf8"; depends=[]; };
   FSInteract = derive2 { name="FSInteract"; version="0.1.2"; sha256="1aci1398aaz0nrl5jy6yh7xik355wf7pwngrsak4qsi94vdj05iy"; depends=[Matrix Rcpp]; };
   FSTpackage = derive2 { name="FSTpackage"; version="0.1"; sha256="1fjqsl59fg4x9vkbv4b0qmfxlaa2q3rzpl40grv24yg6ixfagmdb"; depends=[CompQuadForm MASS Matrix mvtnorm SKAT]; };
@@ -1139,16 +1176,16 @@ in with self; {
   FWDselect = derive2 { name="FWDselect"; version="2.1.0"; sha256="0w0hkmhcz7h1lixk7p3yffbbalgxwh2lv463vqz361k80sri6wz7"; depends=[cvTools mgcv]; };
   FacPad = derive2 { name="FacPad"; version="3.0"; sha256="0h7knzin0rfk25li127zwjsyz223w7nx959cs328p6b2azhgn59b"; depends=[MASS Rlab]; };
   FactMixtAnalysis = derive2 { name="FactMixtAnalysis"; version="1.0"; sha256="1l4wfp39b7g38vdk6jpd5zq08sjhsg0s71f662aca2rj6l3a2x3r"; depends=[MASS mvtnorm]; };
-  FactoClass = derive2 { name="FactoClass"; version="1.1.6"; sha256="0wkz1kvpsl4z688y9qwp3hlycn66vbsl85s70wwv8ww12z3dwpcd"; depends=[ade4 KernSmooth scatterplot3d xtable]; };
+  FactoClass = derive2 { name="FactoClass"; version="1.2.4"; sha256="0rzbzl32hk4mrs6njm4cnj84ifsf52ms5khy43m9bfmwwmadbilr"; depends=[ade4 ggplot2 ggrepel KernSmooth scatterplot3d xtable]; };
   FactoInvestigate = derive2 { name="FactoInvestigate"; version="1.1"; sha256="09fnlqwnijg94yfm3q41pdck9yxaq037m7421g4hdxaigljjb6ml"; depends=[FactoMineR rmarkdown rrcov]; };
-  FactoMineR = derive2 { name="FactoMineR"; version="1.39"; sha256="12m0yi4w3iw07gx8viwvy8v8l1qh3qr7ghv39cdb2g0zgmnivfxh"; depends=[car cluster ellipse flashClust lattice leaps MASS scatterplot3d]; };
+  FactoMineR = derive2 { name="FactoMineR"; version="1.40"; sha256="1s4mdmxp66ipnbqwzs1s2fyyr8vzbrxamr2sd9k5a6sqwy7pgjv8"; depends=[car cluster ellipse flashClust lattice leaps MASS scatterplot3d]; };
   FactorsR = derive2 { name="FactorsR"; version="1.2"; sha256="0y6r5ch0h0sag1xinvnjr7q4495naygvi5iiqq9bc51ijv228c0m"; depends=[]; };
   Factoshiny = derive2 { name="Factoshiny"; version="1.0.6"; sha256="1rb16g4gqq9mmwgpp94j9g5iv5p1psjqllsp9qn7ccccmgn6nnw9"; depends=[colourpicker FactoMineR shiny]; };
   Fahrmeir = derive2 { name="Fahrmeir"; version="2016.5.31"; sha256="16fbc1zb9x9p04bl7y5nd375pha6bd3hfqqchlk1bqxrj4879y5g"; depends=[]; };
   FamEvent = derive2 { name="FamEvent"; version="1.3"; sha256="0jf4ph9mskycyckyg9biy0h1zk5q6nvj8669zfh8nfnnn2yh3s48"; depends=[kinship2 MASS survival truncnorm]; };
   Familias = derive2 { name="Familias"; version="2.4"; sha256="1k6ig2zfkr1a4s3s85ygixmmsrb5m8vqqab8l5ffkspgjvh4dfz2"; depends=[kinship2 paramlink Rsolnp]; };
-  FarmSelect = derive2 { name="FarmSelect"; version="1.0.1"; sha256="1qpa46igan3dqgn4ny2lmj08y6jk7krp7pb27afi694nw5l3l97h"; depends=[glmnet ncvreg Rcpp RcppArmadillo]; };
-  FarmTest = derive2 { name="FarmTest"; version="1.0.1"; sha256="0h829706ilq2czjnn48wpwb09ryx0nwbl953m6p6z1wp4a3dzcv4"; depends=[Rcpp RcppArmadillo]; };
+  FarmSelect = derive2 { name="FarmSelect"; version="1.0.2"; sha256="174rzv9k0hdcfdkv7bisy70rip2iy0bnj3qa54i00wqwjdglgjdn"; depends=[fBasics ncvreg Rcpp RcppArmadillo]; };
+  FarmTest = derive2 { name="FarmTest"; version="1.0.2"; sha256="1khf2l1rza1kayqrfxf17l365x1ckqs8wnqihqdq9l1jz77p7a7n"; depends=[Rcpp RcppArmadillo]; };
   FastBandChol = derive2 { name="FastBandChol"; version="0.1.1"; sha256="1hlgipn792vaylvc0r44clkjcnkns6p241a1fs8sb3gpq81naazk"; depends=[Rcpp RcppArmadillo]; };
   FastGP = derive2 { name="FastGP"; version="1.2"; sha256="120qai1yw3yhwm762zridk78n4qclpivwm9f2hkij4bz851qibqv"; depends=[MASS mvtnorm rbenchmark Rcpp RcppEigen]; };
   FastHCS = derive2 { name="FastHCS"; version="0.0.5"; sha256="02ds9syqh8wpjrqibdv3kqxcyijclm572daqrj262b4b6211v46x"; depends=[matrixStats Rcpp RcppEigen robustbase]; };
@@ -1160,10 +1197,10 @@ in with self; {
   FastRWeb = derive2 { name="FastRWeb"; version="1.1-1"; sha256="0xh3710kvnc60pz9rl5m3ym2cxf0mag9gi29y7j3fl4dh2k7zf74"; depends=[base64enc Cairo]; };
   FastSF = derive2 { name="FastSF"; version="0.1.1"; sha256="1xajav45h57hchzkvl2pb4mz9xy433lq74jnry0icid8dai5xhwb"; depends=[limSolve Rcpp RcppArmadillo]; };
   FatTailsR = derive2 { name="FatTailsR"; version="1.7-5"; sha256="1l2anaf4kixidmvya64ni5b78bl9w2n6xf1lnf297lkdka8gxigw"; depends=[minpack_lm timeSeries]; };
-  FateID = derive2 { name="FateID"; version="0.1.0"; sha256="0q2pq5w93n2zh0qz96b33pc9bbjfp1dqzsi1kcizi468a7jgkfmx"; depends=[caTools DESeq2 destiny lle locfit pheatmap princurve randomForest RColorBrewer rgl Rtsne som]; };
+  FateID = derive2 { name="FateID"; version="0.1.1"; sha256="1v861cfzbrva43b9w2qa9pb9xbrjj91wqcf4m5nvq5via55i14b4"; depends=[caTools DESeq2 destiny lle locfit pheatmap princurve randomForest RColorBrewer rgl Rtsne som]; };
   FeaLect = derive2 { name="FeaLect"; version="1.10"; sha256="1r7rgcadrqjhxn2g2w16axygsck82fprxg7l14ai11bn4b7h4pmb"; depends=[lars rms]; };
-  FeatureHashing = derive2 { name="FeatureHashing"; version="0.9.1.1"; sha256="1y46bk2yddq0n8p1kj6fwi9q23lsblsrlgf7b630vcbvv8mpz5x2"; depends=[BH digest magrittr Matrix Rcpp]; };
-  FedData = derive2 { name="FedData"; version="2.5.1"; sha256="1yvmy7y26rqrxqap8nicdfrh3s66nyrcn5lvasnairaz1fvx5qxs"; depends=[curl data_table devtools dplyr foreach Hmisc igraph lubridate magrittr ncdf4 raster readr rgdal rgeos soilDB sp stringr]; };
+  FeatureHashing = derive2 { name="FeatureHashing"; version="0.9.1.3"; sha256="0k8n3c0yiz6bb9rq6ra8z2hypb4hw4qcsdfbrgrw74kqivscs62i"; depends=[BH digest magrittr Matrix Rcpp]; };
+  FedData = derive2 { name="FedData"; version="2.5.2"; sha256="0lr6q9j8rnjkn5vvk7z4irsxfhkzhi1s36pp5j8175dak240415h"; depends=[curl data_table devtools dplyr foreach Hmisc igraph lubridate magrittr ncdf4 raster readr rgdal rgeos sf soilDB sp stringr]; };
   FeedbackTS = derive2 { name="FeedbackTS"; version="1.4"; sha256="1mcsr48hvrpfnk2f0z1bc8556jf848bpd8prm3y46gqdj452wpmm"; depends=[geoR mapdata maps proj4 sp]; };
   Fgmutils = derive2 { name="Fgmutils"; version="0.9.4"; sha256="0k5pafgrcb7smklgzgw2mf6npj55nm5fsr6k0xp6ji380rvdxc0y"; depends=[data_table devEMF ggplot2 gridExtra plyr png ReporteRs sqldf stringr]; };
   FieldSim = derive2 { name="FieldSim"; version="3.2.1"; sha256="1snz2wja3lsgxys0mdlrjjvk5575cyd64mjipafibwcs97bva5x1"; depends=[RColorBrewer rgl]; };
@@ -1174,7 +1211,7 @@ in with self; {
   FinancialInstrument = derive2 { name="FinancialInstrument"; version="1.3.1"; sha256="0f1zaclrcmpkdhcfc8a09f7lsf2b7gfyd7js3173qckn84a01f3w"; depends=[quantmod TTR xts zoo]; };
   FinancialMath = derive2 { name="FinancialMath"; version="0.1.1"; sha256="11nhphvd7bvbc7xfs85rib763r1mpvxmsj6hgzfib5aifib5k5js"; depends=[]; };
   FindAllRoots = derive2 { name="FindAllRoots"; version="1.0"; sha256="0n4wfm21qj5zn06jqnzxa0w9mfn18dqi6hk1jjqa56dxqw1k7vw0"; depends=[]; };
-  FindIt = derive2 { name="FindIt"; version="1.1.3"; sha256="1d4cvd4651fdbwmj83q2x9vwvg92fbmq8112z7ian8n96n30rchd"; depends=[arm ggplot2 glinternet glmnet igraph lars lmtest Matrix quadprog sandwich]; };
+  FindIt = derive2 { name="FindIt"; version="1.1.4"; sha256="1rnkxngkqsmqs0d0m8ihscpsigxbjgl5ga5nyfwf97b1hrbv4j37"; depends=[arm ggplot2 glinternet glmnet igraph lars lmtest Matrix quadprog sandwich]; };
   FindMinIC = derive2 { name="FindMinIC"; version="1.6"; sha256="0vlr56nw32msvz8bljrw82nzrnazncs6nz7zisidffm2v3najkar"; depends=[nlme sets]; };
   FinePop = derive2 { name="FinePop"; version="1.4.1"; sha256="06wabgrxfq11ncbll5d0f07kkh23w2hrvjx8k1vy55q9f1dwd3sb"; depends=[]; };
   FisHiCal = derive2 { name="FisHiCal"; version="1.1"; sha256="1dds629jlja3vw2l010n1334yh3z10nijqksr0q98ckd2yrwg2rf"; depends=[igraph Rcpp RcppArmadillo]; };
@@ -1183,8 +1220,9 @@ in with self; {
   FitAR = derive2 { name="FitAR"; version="1.94"; sha256="1mkk3kvfq4v0pdabnhbwrk31ji2mv2v6ns16xsvvr1qyg2fnx6hq"; depends=[bestglm lattice leaps ltsa]; };
   FitARMA = derive2 { name="FitARMA"; version="1.6"; sha256="1r9mqrqkm4wh3nd6v9wmpj23gw21i4p89p6z4c7639kn4f590ldk"; depends=[FitAR]; };
   FixSeqMTP = derive2 { name="FixSeqMTP"; version="0.1.2"; sha256="0v1cwq8gapgandm7wiw8p6av6qigydlpmwi6w02p1y7f0hf5ifnp"; depends=[]; };
-  FixedPoint = derive2 { name="FixedPoint"; version="0.2"; sha256="1gmh9ipv010q4lgpnka1rwfza5c7llgjpn7yvcsvlxglmplh8969"; depends=[MASS]; };
+  FixedPoint = derive2 { name="FixedPoint"; version="0.4"; sha256="07qhvaw4abd039dxlcfm5126lv6p5ybbw78qcmi4x51hvq6icals"; depends=[MASS]; };
   FlexDir = derive2 { name="FlexDir"; version="1.0"; sha256="1gb5alv9jsnw0135g63cy757pxhdw6cgwfm8dpcm8dj9zqg10dkm"; depends=[]; };
+  FlexGAM = derive2 { name="FlexGAM"; version="0.7.0"; sha256="1pjlsi747j347vwn94391xr3aknnspgw7rc1jnin7g0n1fgkcww4"; depends=[MASS Matrix mgcv scam]; };
   FlexParamCurve = derive2 { name="FlexParamCurve"; version="1.5-3"; sha256="0766ghwbdd7r4yj5xf31hnknn775ziw1hhrn13wf8bibyd8blz70"; depends=[nlme]; };
   FlowRegEnvCost = derive2 { name="FlowRegEnvCost"; version="0.1.1"; sha256="0lw4kv4z0s23jy11y53rxxh7zxa7vajxrcnjgxd74xxs64vjlj88"; depends=[zoo]; };
   FlowScreen = derive2 { name="FlowScreen"; version="1.2.4"; sha256="0lp5andxzcs2wyhgwp44ss6b3jjqzf7qy0w9a0yiqxby3h58szwd"; depends=[changepoint evir zyp]; };
@@ -1195,7 +1233,7 @@ in with self; {
   ForecastComb = derive2 { name="ForecastComb"; version="1.1"; sha256="1ki769m3cw3kb8jhbrgiwssspszsipmg2hlbk4ifldi8s19l9m12"; depends=[forecast ggplot2 Matrix mtsdi psych quadprog quantreg]; };
   ForecastCombinations = derive2 { name="ForecastCombinations"; version="1.1"; sha256="07vzgm2jy992p1l9b8rsv2lbc8cbfzvql85n5ah4p4l3zjxdxgk9"; depends=[quadprog quantreg]; };
   ForecastFramework = derive2 { name="ForecastFramework"; version="0.9.0"; sha256="131h9f148wn89znzsnym43amlvf4s7jzg4f2p7ld9ns7727sf56q"; depends=[abind dplyr lubridate magrittr R6 reshape2]; };
-  ForestTools = derive2 { name="ForestTools"; version="0.1.5"; sha256="0yjyc5i2jhagvwpzg420zhhygs966ncjn9aggh4gd4zdsi0nzqcx"; depends=[APfun imager raster rgeos sp TileManager]; };
+  ForestTools = derive2 { name="ForestTools"; version="0.2.0"; sha256="0q9nk9n001bnz5hd8cxj6wmaf8c7g0kwfkpa0hk6ap42666rrrah"; depends=[APfun imager raster rgeos sp]; };
   FormalSeries = derive2 { name="FormalSeries"; version="1.0"; sha256="09m4ifinasww0xfprs29xsrqhxxkw9zffb3919xnkkjkwp0nax4v"; depends=[]; };
   Formula = derive2 { name="Formula"; version="1.2-2"; sha256="0ad49bzip1zqmpj1d8jajwl4bd81fm3k6dq8p26x6mvlzc04dvwd"; depends=[]; };
   ForwardSearch = derive2 { name="ForwardSearch"; version="1.0"; sha256="0yd47832piqxzjxgl7bc8pn0c8f7vbgsm9z6894rzyi615kjl70b"; depends=[robustbase]; };
@@ -1207,12 +1245,13 @@ in with self; {
   Frames2 = derive2 { name="Frames2"; version="0.2.1"; sha256="0xbz19v5r1h15p8mf94vacw04h3kvmm88ayy4b1aqxrd925n63mw"; depends=[MASS nnet sampling]; };
   FreeSortR = derive2 { name="FreeSortR"; version="1.3"; sha256="1m6ahhixbbizzn09pz71zvinrdshn3j6gmy05jdxa9d932agqk0w"; depends=[ellipse smacof vegan]; };
   FreqProf = derive2 { name="FreqProf"; version="0.0.1"; sha256="1yqn2435l2sghfcv5mma0rv9yqvpa69z8cqqsjlrlbih9gib82d4"; depends=[ggplot2 reshape2 shiny]; };
-  FunChisq = derive2 { name="FunChisq"; version="2.4.4"; sha256="0wcxs70xkp2dlk3vrp4jw1vvjivdyv1q4iinmavvzhxhf3qpv1am"; depends=[BH Rcpp]; };
+  FunChisq = derive2 { name="FunChisq"; version="2.4.5"; sha256="0m9w5v9pdi84r5z2rzcr0v1fn3ycx5d344ab67c9984j55p8pqpj"; depends=[BH Rcpp]; };
   FunCluster = derive2 { name="FunCluster"; version="1.09"; sha256="0i73asn1w4s6ydf2ddn5wpr0mwbbxzgmaly1pslarzkx71wk03fz"; depends=[cluster Hmisc]; };
   FuncMap = derive2 { name="FuncMap"; version="1.0.8"; sha256="04rfmdy1hzxqy16csj6cf3x2kj9lg1xxvvnn494xjdwjdkfkyl09"; depends=[mvbutils]; };
   Funclustering = derive2 { name="Funclustering"; version="1.0.1"; sha256="0i6g98mfgdyc9hdzvviynrgqhkzicp8y6s0scqy3ifgk9h1k79dw"; depends=[fda Rcpp RcppEigen]; };
   FunctionalNetworks = derive2 { name="FunctionalNetworks"; version="1.0.0"; sha256="071hjgiccbrf1gxrh7niw2w1p6vgc77qvrildi59xhk53qcwzqdp"; depends=[Biobase breastCancerVDX]; };
   FusedPCA = derive2 { name="FusedPCA"; version="0.2"; sha256="0z4kvm6mn11fmc8w62aky2binjdcgrw4ij5vg65sb55da9s8d2kd"; depends=[genlasso]; };
+  FusionLearn = derive2 { name="FusionLearn"; version="0.1.0"; sha256="03x21dpl72dkd4cmmaqdh42hwbdpp5c5ib79ig8pkv196231r5dn"; depends=[]; };
   Fuzzy_p_value = derive2 { name="Fuzzy.p.value"; version="1.1"; sha256="13h6armh9g57zqxyjqk6mq81jlfqxqrg2sb5p9rrhslka5m01zis"; depends=[FuzzyNumbers]; };
   FuzzyAHP = derive2 { name="FuzzyAHP"; version="0.9.0"; sha256="02c08rzmmdd2l84jlzb0vck9m08afm7j599n0g09hffflcrb3fz7"; depends=[MASS]; };
   FuzzyLP = derive2 { name="FuzzyLP"; version="0.1-5"; sha256="1achmsc107b26d266q0vmip8vi3qaa5z0p183z2fjdm7zh9ch6ag"; depends=[FuzzyNumbers ROI ROI_plugin_glpk]; };
@@ -1232,7 +1271,7 @@ in with self; {
   GADMTools = derive2 { name="GADMTools"; version="2.1-1"; sha256="1xlr3qa6li3izms51mf3g35hj0gximvgibx6d821ikxzp6892mha"; depends=[classInt dplyr ggmap ggplot2 gridExtra jsonlite lattice maptools RColorBrewer rgdal rgeos scales sp stringr]; };
   GAIPE = derive2 { name="GAIPE"; version="1.0"; sha256="04iarbwxrhn48bk329wxis7ifzndi67kpjx6dcakawkh3g2mzsfz"; depends=[]; };
   GAMBoost = derive2 { name="GAMBoost"; version="1.2-3"; sha256="0450h9zf12r524lxk1lrv9imvvkk6fmyd3chnxp18nnvys7215pv"; depends=[Matrix]; };
-  GAMens = derive2 { name="GAMens"; version="1.2"; sha256="1x1q6a5p2lsx0gbfm976ps4braqaxa26ii6g3iag9ssafyhb0r1f"; depends=[caTools gam mlbench]; };
+  GAMens = derive2 { name="GAMens"; version="1.2.1"; sha256="1z10wxcg277fra2lch464l0kb02lspw9qr1i2wmq11wcz0k9qnl8"; depends=[caTools gam mlbench]; };
   GANPA = derive2 { name="GANPA"; version="1.0"; sha256="0ia8djv46jm397nxjrm9yc5gacf1r4z0ckiliz57cbrqwh7z2wpa"; depends=[GANPAdata]; };
   GANPAdata = derive2 { name="GANPAdata"; version="1.0"; sha256="0mhdadl7zgsacn59ym42magg3214k1xhabwn78fv7kgccszcgc86"; depends=[]; };
   GAR = derive2 { name="GAR"; version="1.1"; sha256="12xgk87bndinx7ibaasn51a9fad3ymvpjmixa7l18pfy99l3pcll"; depends=[httr jsonlite]; };
@@ -1242,17 +1281,17 @@ in with self; {
   GB2 = derive2 { name="GB2"; version="2.1"; sha256="06rcck97pdm1rsb02cy0jd9fknv0mz5jwk364gsaahdk56ddk18a"; depends=[cubature hypergeo laeken numDeriv survey]; };
   GBJ = derive2 { name="GBJ"; version="0.5.0"; sha256="07wrydd2vlvwc56hgcrqbass0d0qamn3rg5vsf9bamxa6pcg9s53"; depends=[BH mvtnorm Rcpp SKAT]; };
   GCAI_bias = derive2 { name="GCAI.bias"; version="1.0"; sha256="10092mwpmfbcga0n39a0i6g8xxch8xiwg15cckipw6yxjyx0sivc"; depends=[]; };
-  GCD = derive2 { name="GCD"; version="3.0.5"; sha256="1ami5xw5xx464pxr9y1z9bb3dvj46vx3wrbh19w4g7sk8yjvh5nl"; depends=[]; };
+  GCD = derive2 { name="GCD"; version="4.0.1"; sha256="00rbj57km104yi39rid922qvw1xdavs4f82cnrsv1gnn9ic7fv3q"; depends=[]; };
   GCPM = derive2 { name="GCPM"; version="1.2.2"; sha256="0k2ng78bk3bxpj6nz80j5cvjd56zjz328ga68vyyc3hvdjgpspqj"; depends=[Rcpp RcppProgress]; };
   GCalignR = derive2 { name="GCalignR"; version="1.0.1"; sha256="1p1zxf5s75ckyj7a61n43ix314p3b99knyg6z5d4sn5n417h2m42"; depends=[ggplot2 pbapply readr reshape2 stringr]; };
-  GD = derive2 { name="GD"; version="1.1"; sha256="1gl2d04xlpn31940z75zbcnv6a3bdcc37bl4yq6hqph4snxbnbgk"; depends=[BAMMtools ggplot2]; };
+  GD = derive2 { name="GD"; version="1.3"; sha256="1bpcp048hphxjas3dhqyyvs1xbv0356495zhl4r0mgrk9969qkh2"; depends=[BAMMtools ggplot2 reshape2]; };
   GDAdata = derive2 { name="GDAdata"; version="0.93"; sha256="13ks97i289rc4i7gpqrifwbj0m9rx8csjhnfg8mad10qmjwz7p8b"; depends=[]; };
   GDAtools = derive2 { name="GDAtools"; version="1.4"; sha256="1i5g7gzl3fkhwxqizqwrn8098s5lrr0mk17wmpyf92s1sy315cpv"; depends=[FactoMineR nleqslv nnet]; };
   GDELTtools = derive2 { name="GDELTtools"; version="1.2"; sha256="1rx6kjh7kmyycqapvbizcxkcfp09qvqv7k8f25v333sxkacpz6p5"; depends=[plyr TimeWarp]; };
-  GDINA = derive2 { name="GDINA"; version="1.4.2"; sha256="14686mkyxk7gjp0ivz1wkmry15qrf50fcwwza1j98791yjkqsbyf"; depends=[alabama data_table ggplot2 MASS nloptr numDeriv Rcpp RcppArmadillo Rsolnp]; };
+  GDINA = derive2 { name="GDINA"; version="2.0.8"; sha256="0mzs49hvns7bzs78ccdj6nzji0ci990sa2znsfnaqly6b38b7qaj"; depends=[alabama ggplot2 MASS nloptr numDeriv Rcpp RcppArmadillo Rsolnp shiny shinydashboard]; };
   GEEaSPU = derive2 { name="GEEaSPU"; version="1.0.2"; sha256="02pwjqd94kranc1f69bx9rzk27kchavhvhl9fygjhrr40nwq3pbg"; depends=[gee Rcpp RcppArmadillo]; };
   GEEmediate = derive2 { name="GEEmediate"; version="1.1.1"; sha256="1akgl4j38x4qf3z9d6z7cgjd7x9f0k3lrzyrzgykqhrzmbh68z2m"; depends=[gee]; };
-  GENEAclassify = derive2 { name="GENEAclassify"; version="1.4.9"; sha256="1imq71nhr0bc08w8jvw57fvghczn1p3vb1n7xnk7i7n6aq23dzsx"; depends=[changepoint GENEAread MASS rpart signal]; };
+  GENEAclassify = derive2 { name="GENEAclassify"; version="1.4.11"; sha256="0xb9fvd7vyfdpshx1y7jcwrm9fbb4mlkvw2f7qk7isgz8dvyhzdn"; depends=[changepoint GENEAread MASS rpart signal]; };
   GENEAread = derive2 { name="GENEAread"; version="1.1.1"; sha256="0c3d76yl8dqclk8zhhgrd6bv6b599vkpbyg3hjspb6npdw6zs6k8"; depends=[bitops]; };
   GENEAsphere = derive2 { name="GENEAsphere"; version="1.4"; sha256="0z6qazcgjcs03zz26167dxg6mgjaq1z0qdsa4ggh32813l4k0ijw"; depends=[GENEAread ggplot2 MASS misc3d rgl]; };
   GENLIB = derive2 { name="GENLIB"; version="1.0.4"; sha256="1gl8qsgm9iy57rlajgc47lfxah52jsg7lpj131a6813kj0c639l7"; depends=[bootstrap doParallel foreach kinship2 lattice Matrix quadprog Rcpp]; };
@@ -1266,10 +1305,10 @@ in with self; {
   GExMap = derive2 { name="GExMap"; version="1.1.3"; sha256="1a6i2z9ndgia4v96nkr77cjqnbgxigqbqlibg82gwa0a6pl7r7nz"; depends=[Biobase multtest]; };
   GFA = derive2 { name="GFA"; version="1.0.3"; sha256="10sivsqxliwcrp0ay3n2my28zki6f8vpv8i9lbld8qinx1iv2mq3"; depends=[]; };
   GFD = derive2 { name="GFD"; version="0.2.5"; sha256="14bhqk5hi9w2078nn382ksgw37bx5r1jadizcrwbisglccxa0ncd"; depends=[magic MASS Matrix plotrix plyr]; };
-  GFGM_copula = derive2 { name="GFGM.copula"; version="1.0.1"; sha256="1p7nklc9n5g7qbms8kbg08mp7zvgd4f58h7sa13571mmwbw3xmwd"; depends=[cmprsk joint_Cox]; };
+  GFGM_copula = derive2 { name="GFGM.copula"; version="1.0.3"; sha256="0pqx5fr039izhwi2kdzq9v6nlviyjclzddd092g8mkadj36diwk5"; depends=[cmprsk compound_Cox joint_Cox]; };
   GGEBiplotGUI = derive2 { name="GGEBiplotGUI"; version="1.0-9"; sha256="0nd0ky3m1avy82z48g7hcysq0y0agxjxdn0g624dkm2w99avxw3j"; depends=[rgl tkrplot]; };
   GGEBiplots = derive2 { name="GGEBiplots"; version="0.1.1"; sha256="1xnxaylikjd378flw3rqw36z27b2limkmyad97zhf1cbva317d1b"; depends=[gge GGEBiplotGUI ggforce ggplot2 scales]; };
-  GGIR = derive2 { name="GGIR"; version="1.5-17"; sha256="0p452p9xcbd0r9w2aqdiw4i740xxxbgi9hk4k5xqifdlkfg4gvmb"; depends=[data_table Rcpp]; };
+  GGIR = derive2 { name="GGIR"; version="1.5-18"; sha256="0v8i3rw5wxmzhfb3dawyykabypvfjskbsmr0phky994kx93zm604"; depends=[data_table Rcpp]; };
   GGMridge = derive2 { name="GGMridge"; version="1.1"; sha256="0zbfvvp7l836m118m8nmdvw1w7xq6d3b7qirskjsq1dkk23j41hs"; depends=[MASS mvtnorm]; };
   GGMselect = derive2 { name="GGMselect"; version="0.1-12.1"; sha256="0nrkbai9jps54ldx3cvwd4x4wingfj73najwx4bv98z8zxpbnky5"; depends=[gtools lars mvtnorm]; };
   GGUM = derive2 { name="GGUM"; version="0.3.1"; sha256="1dgnhg0ggnp3f8qwzrcnapwzaraddnk2xsksin6pzybz21hfdvxd"; depends=[abind psych Rdpack viridis xlsx]; };
@@ -1285,11 +1324,13 @@ in with self; {
   GLIDE = derive2 { name="GLIDE"; version="1.0.1"; sha256="02pmn0ydrmblgchz189avlrz3zaz0qfhy75d945yphpmvjf9f9m5"; depends=[doParallel foreach MASS]; };
   GLMMRR = derive2 { name="GLMMRR"; version="0.2.0"; sha256="0s3jfh720acfmbadilq2c6gql3yifsbijpmw1jkzbsdc87pqi1db"; depends=[lattice lme4]; };
   GLMaSPU = derive2 { name="GLMaSPU"; version="1.0"; sha256="0zx2bza5v5cfp9v7hf42s57522b6prawcwl77aa3kvjcnb0ish6g"; depends=[MASS mnormt mvtnorm Rcpp RcppArmadillo]; };
+  GLMsData = derive2 { name="GLMsData"; version="1.0.0"; sha256="12q41zxniblzys20vjrf5skj8cbzlwb92mwk6jvnyd86lc70bsh1"; depends=[]; };
   GLSME = derive2 { name="GLSME"; version="1.0.3"; sha256="0flja5gk25k4z9hwskvdw4c1f88scc47xvc1l3d2447fkfrb0bwc"; depends=[corpcor mvtnorm]; };
   GMAC = derive2 { name="GMAC"; version="3.0"; sha256="0c2cfpr8dik7j5br87hkvswrhqzj5vcna54gw6ffdf1rk9rz9j22"; depends=[]; };
   GMCM = derive2 { name="GMCM"; version="1.2.4"; sha256="1y0yr6i4l28qw22drca7r4mzqjfbpm3jdssfb7p8pc664g6vmm81"; depends=[Rcpp RcppArmadillo]; };
   GMD = derive2 { name="GMD"; version="0.3.3"; sha256="0hdya8ai210wxnkfra9bzyswk3gib5fm53fs61rh0nsmg3ysdga6"; depends=[gplots]; };
   GMDH = derive2 { name="GMDH"; version="1.6"; sha256="093glyz73246m5f2xb2xgbgi80haj4fanmr325byr99dnf4x35yn"; depends=[MASS]; };
+  GMDH2 = derive2 { name="GMDH2"; version="1.1"; sha256="16jnpwr7sbfai0h5prr7768nsxz65qfds46gphdryi5nd65dbv60"; depends=[e1071 glmnet magrittr MASS nnet plotly randomForest xtable]; };
   GMMBoost = derive2 { name="GMMBoost"; version="1.1.2"; sha256="01q165vkdiv4qh96lha0g2g94jpnzdclbby6q43ghh9j1yrd4qzj"; depends=[magic minqa]; };
   GMSE = derive2 { name="GMSE"; version="0.3.1.9"; sha256="02qzz4w99qissb3b95p7y5bk2wn43k01802vwnzxlq27swhkg17i"; depends=[shiny shinydashboard shinyjs]; };
   GNE = derive2 { name="GNE"; version="0.99-1"; sha256="1avsl54xdlqq8pw16g84igcwms7if7lvdblqvfc2cn3sk8qi5xdv"; depends=[alabama BB nleqslv SQUAREM]; };
@@ -1302,7 +1343,7 @@ in with self; {
   GPCMlasso = derive2 { name="GPCMlasso"; version="0.1-1"; sha256="1qlbs9xxdn7q90afh5zc6fgp213fxyh3xmmhz5dm6azbwx92x3la"; depends=[car caret cubature ltm mirt mvtnorm Rcpp RcppArmadillo statmod TeachingDemos wordcloud]; };
   GPCSIV = derive2 { name="GPCSIV"; version="0.1.0"; sha256="118l792mwd54xsi3g8afg3vc6wds8j6fyaz3mwmq04mlcyblym4l"; depends=[scatterplot3d sqldf]; };
   GPFDA = derive2 { name="GPFDA"; version="2.2"; sha256="1xqk03g8b8hi1vdqh6a9wml8ln0ad6lmy14z8k8c4wdc5kbzdr0b"; depends=[fda fda_usc MASS spam]; };
-  GPGame = derive2 { name="GPGame"; version="1.0.0"; sha256="1ln3smlhr0hz5nkbdfhrpvz6cn0jz21w8p0d3xlcv4szlmkx8lx6"; depends=[DiceDesign DiceKriging emoa GPareto KrigInv MASS mnormt mvtnorm Rcpp]; };
+  GPGame = derive2 { name="GPGame"; version="1.1.0"; sha256="00qiqd7p84k22wbmlmj8a81fy5m5rl6afhj2q61j0akicnbzjfw9"; depends=[DiceDesign DiceKriging GPareto KrigInv MASS mnormt mvtnorm Rcpp]; };
   GPLTR = derive2 { name="GPLTR"; version="1.2"; sha256="0b4s090jlp2qpqqr0b1ifwyf2fal156y7vg9mjkw53y623ms5pix"; depends=[rpart]; };
   GPM = derive2 { name="GPM"; version="1.0"; sha256="0k2mglgmq1hb0x9gdypvzgi7s3vkdpf6qcvgyd4qc3mfg3avbnmk"; depends=[lattice lhs randtoolbox]; };
   GPPFourier = derive2 { name="GPPFourier"; version="2.1"; sha256="1wlzpiqlg5zx3rv29l1ql3apcaykvk72zc0anwxr152qlk910l2q"; depends=[mFilter Tides]; };
@@ -1311,8 +1352,8 @@ in with self; {
   GPoM = derive2 { name="GPoM"; version="1.1"; sha256="0n1fnmwiygispihqgcx762wkvp28pnm8kcwlx9vxhpafswsp112q"; depends=[deSolve rgl]; };
   GPrank = derive2 { name="GPrank"; version="0.1.2"; sha256="0z9xhydnq04p872zl7glxhndmijjihfgffl6bijc9a0rs95zaacd"; depends=[gptk matrixStats RColorBrewer tigreBrowserWriter]; };
   GPseq = derive2 { name="GPseq"; version="0.5"; sha256="0k5xif44qk2ppvcyja16xshmfciq1h84l1w6d8dfkyryfajbc8ai"; depends=[]; };
-  GPvam = derive2 { name="GPvam"; version="3.0-4"; sha256="1vqvm9647jnw91vpf4dhjjp9rc05n5k6qgzilfpmcg4a7zzi917k"; depends=[Matrix numDeriv Rcpp RcppArmadillo]; };
-  GRANBase = derive2 { name="GRANBase"; version="1.6.5"; sha256="05alk1mcpwxd3p50mpl5q40ddy86a5fi8x02n31im1bpgfg21ypc"; depends=[covr dplyr hexSticker htmlTable jsonlite RCurl sendmailR stringi switchr]; };
+  GPvam = derive2 { name="GPvam"; version="3.0-5"; sha256="0inhhx5ll4ybkwp71ijigxlyxsa0rdyxb38kgfgxb588dsk4scjz"; depends=[Matrix numDeriv Rcpp RcppArmadillo]; };
+  GRANBase = derive2 { name="GRANBase"; version="1.6.8"; sha256="1pcm0fy3jwwaifd4m7qyil1miaxmi6v7glp2krbkngp6f8qb0bph"; depends=[covr dplyr hexSticker htmlTable jsonlite RCurl sendmailR stringi switchr]; };
   GRAPE = derive2 { name="GRAPE"; version="0.1.0"; sha256="0kcyz8x6yzq83hcwdlx7yw5jpww819f9d1hax19vn31ccq71xkyw"; depends=[]; };
   GRCdata = derive2 { name="GRCdata"; version="1.0"; sha256="0nshii6kfvffncgcrmm7wvniq94j9djj84jikcb6ck49viikkrky"; depends=[cubature nloptr]; };
   GROAN = derive2 { name="GROAN"; version="1.1.0"; sha256="06xcbdcg3rmb9939d9ansy75jn0axy0c36rmgjhcji8gf959kmyz"; depends=[plyr rrBLUP]; };
@@ -1324,11 +1365,11 @@ in with self; {
   GSAgm = derive2 { name="GSAgm"; version="1.0"; sha256="18bhk67rpss6gg1ncaj0nrz0wbfxv7kvy1cxria083vi60z0vwbb"; depends=[edgeR survival]; };
   GSCAD = derive2 { name="GSCAD"; version="0.1.0"; sha256="0a5smd1prfi6n58ghhz5v81p88v3cnmk2v6r0nn9gy7sa1r2z8xc"; depends=[fields Matrix Rcpp RcppArmadillo]; };
   GSE = derive2 { name="GSE"; version="4.1"; sha256="00pvpramk7n3195i3vkmp982igyc1b0xzjqs7xdsvzsnfv7kpcbh"; depends=[cellWise ggplot2 MASS Rcpp RcppArmadillo robustbase rrcov]; };
-  GSED = derive2 { name="GSED"; version="1.5"; sha256="0r1fgwk1v11bwq83a64cgmxh5snw3mnaq4mlgi0h4n5f1yjgg5wj"; depends=[memoise rootSolve survival]; };
+  GSED = derive2 { name="GSED"; version="1.6"; sha256="0zvj91a3sbpgy4988xzmz6xa73rn8b2hkh67jryahm2l5azigsng"; depends=[coin memoise rootSolve survival]; };
   GSIF = derive2 { name="GSIF"; version="0.5-4"; sha256="1vh3dffi5hakk32rwaabw9k34wigd0n5bhzcyqhadl6fxjsaz6b6"; depends=[aqp dismo gstat plotKML plyr raster rgdal RSAGA scales sp]; };
   GSM = derive2 { name="GSM"; version="1.3.2"; sha256="04xjs9w4gaszwzxmsr7657ry2ywa9pvpwpczpvinxi8vpj347jbb"; depends=[gtools]; };
   GSMX = derive2 { name="GSMX"; version="1.3"; sha256="1n1d7rixj14ari46snsmi48qfmy00ihmzvayk3hkrp2d2d0xi2gh"; depends=[MASS]; };
-  GSODR = derive2 { name="GSODR"; version="1.1.2"; sha256="1zr19zik2ic38wg71gk9iapzmdh4z426djy8w4z25v148940liss"; depends=[curl dplyr magrittr purrr R_utils readr rgdal rlang sp tibble]; };
+  GSODR = derive2 { name="GSODR"; version="1.2.0"; sha256="0zhj2c51mxkdy2z7bllas1qb5jg83263w9vv6iksy5j47vxm2py8"; depends=[curl dplyr magrittr purrr R_utils readr rlang tibble]; };
   GSSE = derive2 { name="GSSE"; version="0.1"; sha256="034mmxa6kjq5kgikhb5q75viagz5ck9irrjbxm26zq9099qxm13b"; depends=[Iso zoo]; };
   GSparO = derive2 { name="GSparO"; version="1.0"; sha256="0xna2crxqwy8fj0s79rxbdcaz9x912rp1vdwqv1557fsnmfv2yf0"; depends=[ggplot2 ThreeWay]; };
   GUIDE = derive2 { name="GUIDE"; version="1.2.3.1"; sha256="02chn2mzh6smmiv8rp00cq5rff18bqszazbk8svmvvlgn0a25pj4"; depends=[rpanel tkrplot]; };
@@ -1357,7 +1398,6 @@ in with self; {
   GenABEL_data = derive2 { name="GenABEL.data"; version="1.0.0"; sha256="0p66fb0gynjx3mnfvnlz45cbn6xf49gwx9mfyxf584xfcggxaa1c"; depends=[]; };
   GenAlgo = derive2 { name="GenAlgo"; version="2.1.3"; sha256="00lr13kvkmw7zgg6b67yba0qym24vqb09xm94rwh2wd5mbh2fh2v"; depends=[ClassDiscovery MASS oompaBase]; };
   GenBinomApps = derive2 { name="GenBinomApps"; version="1.0-2"; sha256="1ps1rq8cjlwh658mysdh3xbn5fihanzcwxb38xvg4031vnwv80in"; depends=[]; };
-  GenCAT = derive2 { name="GenCAT"; version="1.0.3"; sha256="1rzhp4aypdryr7hrqazax3lzfkxqhls5cf8zsjjip8jb701x46hf"; depends=[doParallel dplyr foreach ggplot2]; };
   GenForImp = derive2 { name="GenForImp"; version="1.0"; sha256="1wcvi52fclcm6kknbjh4r9bpkc2rg8nk6cddnf5j8zqbvrwf4k5x"; depends=[mvtnorm sn]; };
   GenKern = derive2 { name="GenKern"; version="1.2-60"; sha256="12qmd9ydizl7h178ndn25i4xscjnrssl5k7bifwv94m0wrgj4x6c"; depends=[KernSmooth]; };
   GenOrd = derive2 { name="GenOrd"; version="1.4.0"; sha256="17mfrj1fwj8mri1w0bl2pw1rqriidmd67i7gpn9v56g9dzw5rzms"; depends=[MASS Matrix mvtnorm]; };
@@ -1366,7 +1406,6 @@ in with self; {
   GeneClusterNet = derive2 { name="GeneClusterNet"; version="1.0.1"; sha256="1xi4c041c4m39f9wb5fklgmhi6ng78iwzzqch5xk9hx5blq6zd4m"; depends=[G1DBN igraph MASS]; };
   GeneCycle = derive2 { name="GeneCycle"; version="1.1.2"; sha256="1ghdzdddbv6cnxqd08amy4c4s5jsxa637r828ygffk6z76xjr6b6"; depends=[fdrtool longitudinal MASS]; };
   GeneF = derive2 { name="GeneF"; version="1.0"; sha256="0bizf47944b2zv9ayxb9rhrqx0ilz2xlvkw7x5vbg7l67y2g2l4d"; depends=[]; };
-  GeneFeST = derive2 { name="GeneFeST"; version="1.0.1"; sha256="0qgzjzhwf3nigfi09maywg9zkjxiicwiwiyqfcdk9gsvmp6mr4qn"; depends=[BASIX]; };
   GeneNet = derive2 { name="GeneNet"; version="1.2.13"; sha256="0w52apk0nnr8nsskf26ff7ana8xiksr8wqmkjxzwhzgg7fncm61p"; depends=[corpcor fdrtool longitudinal]; };
   GeneReg = derive2 { name="GeneReg"; version="1.1.2"; sha256="081qc66mb17dwk886x9l2z4imklxnfs02yqql0ri9c47bpsga7wp"; depends=[igraph]; };
   GeneralOaxaca = derive2 { name="GeneralOaxaca"; version="1.0"; sha256="19j5c5xr6mdb6pmih94wbjas4yh0dmsqfggg8clvdxkpwk0h338v"; depends=[boot]; };
@@ -1385,12 +1424,11 @@ in with self; {
   GerminaR = derive2 { name="GerminaR"; version="1.2"; sha256="10x22xl3r93i5mc6w7m5mqm3z386dsffwrb8h9c1bznrnynnsy63"; depends=[agricolae assertthat dplyr DT ggplot2 gsheet gtools magrittr readxl shiny shinydashboard tibble tidyr]; };
   GetDFPData = derive2 { name="GetDFPData"; version="0.6"; sha256="19srfls3fmxbjhwhsc3r76n34ls8s5940d831j4n93f4lzq33wyp"; depends=[curl dplyr readr reshape2 stringr tibble xlsx XML]; };
   GetHFData = derive2 { name="GetHFData"; version="1.5"; sha256="1lm2k37y86fn45hhvyswj60dql0m33kia0wirs3zc981s4nsxp0i"; depends=[curl dplyr lubridate RCurl readr stringr]; };
-  GetITRData = derive2 { name="GetITRData"; version="0.6"; sha256="0llsx4x6h2a89ka8q7jf8cx77f6v2knjm7sr16dqwsm91rzg3yc2"; depends=[BETS curl dplyr readr reshape2 stringr tibble xlsx XML]; };
+  GetITRData = derive2 { name="GetITRData"; version="0.7"; sha256="0cmqbncd5bjxgb1r9yvdv2hkx4qdmnpn2a62bgndnaya1yk5050l"; depends=[curl dplyr readr reshape2 stringr tibble xlsx XML]; };
   GetLattesData = derive2 { name="GetLattesData"; version="0.9"; sha256="1rqhs8039m3ar76nail7gavw6678zs20r9dg98rp5igqx5jjys73"; depends=[curl dplyr readr stringdist stringr XML]; };
   GetR = derive2 { name="GetR"; version="0.1"; sha256="1b2wirhz4nhvmf863czwb8z8b42ilsyjjrg9rc4nd9b7nz50bmjg"; depends=[party]; };
   GetTDData = derive2 { name="GetTDData"; version="1.3.1"; sha256="1a8f22nxs85g2zznh1ma37lmycypg8f7d5kdhyb5vrirvrpi5p05"; depends=[bizdays curl RCurl readxl stringi stringr tidyr XML]; };
   GetoptLong = derive2 { name="GetoptLong"; version="0.1.6"; sha256="1d98gcvlvp9nz5lbnzr0kkpc2hbkx74hlhrnybqhg1gdwc3g09pm"; depends=[GlobalOptions rjson]; };
-  GiANT = derive2 { name="GiANT"; version="1.2"; sha256="0h9jx2vpgpzlinf6v9mxj260r22nlqml8xnd2jknw36j5imim57w"; depends=[]; };
   GiNA = derive2 { name="GiNA"; version="1.0.1"; sha256="0his7wsgnggyv9526blxzxa1ni8hwq2ws64wkmha45nvvnm3dsiw"; depends=[doParallel EBImage foreach png]; };
   GiRaF = derive2 { name="GiRaF"; version="1.0"; sha256="02356cq0g6v5m72fy5z83bw3nsb7kpc9sy7sykk97735n928z92n"; depends=[BH Rcpp RcppArmadillo]; };
   GibbsACOV = derive2 { name="GibbsACOV"; version="1.1"; sha256="1ikcdsf72sn1zgk527zmxw3zjhx0yvkal6dv001cgkv202842kll"; depends=[MASS]; };
@@ -1399,7 +1437,7 @@ in with self; {
   Giza = derive2 { name="Giza"; version="1.0"; sha256="13nkm8mk1v7s85kmp6psvnr1v97vi0gid8rsqyq3x6046pyl5z6v"; depends=[lattice reshape]; };
   GlobalDeviance = derive2 { name="GlobalDeviance"; version="0.4"; sha256="0s318arq2kmn8fh0rd5hd1h9wmadr9q8yw8ramsjzvdc41bxqq1a"; depends=[snowfall]; };
   GlobalFit = derive2 { name="GlobalFit"; version="1.2"; sha256="01s51nxcsl8xxn6khbv5jsvpwblwf0iamvr477a1rraqqqj94zx0"; depends=[sybil]; };
-  GlobalOptions = derive2 { name="GlobalOptions"; version="0.0.12"; sha256="1abpc03cfvazbwj2sx6qgngs5pgpzysvxkana20hyvb4n7ws77f0"; depends=[]; };
+  GlobalOptions = derive2 { name="GlobalOptions"; version="0.0.13"; sha256="04jvha0mafslqz5nr99xjylg9n2x31gj9v4mgyg7qcmfwpqyw3ch"; depends=[]; };
   Gmedian = derive2 { name="Gmedian"; version="1.2.4"; sha256="0lr1hwprqy9mq5qyp83qqxj8dh5sy487xkqbv2y1qdinzj62pvcn"; depends=[Rcpp RcppArmadillo robustbase RSpectra]; };
   Gmisc = derive2 { name="Gmisc"; version="1.5"; sha256="0jiyqi0mmwbb7v8jqksvm42r4sq1d5najqkapnpj5jzn6izq6vh5"; depends=[abind checkmate forestplot Hmisc htmlTable knitr lattice magrittr Rcpp rmarkdown XML]; };
   GoFKernel = derive2 { name="GoFKernel"; version="2.1-0"; sha256="17jd1dqwpki4mmzk695g25vvfwvkp4k7jhvw06dmdmn5j09hw373"; depends=[KernSmooth]; };
@@ -1411,15 +1449,16 @@ in with self; {
   GrammR = derive2 { name="GrammR"; version="1.1.0"; sha256="1rwvgznfxp7d3rzymyljj3pn3z3ggia1bhi4nvpgd79qd4cifi2g"; depends=[ape cluster GUniFrac gWidgets gWidgetsRGtk2 MASS rgl RGtk2]; };
   GraphFactor = derive2 { name="GraphFactor"; version="1.1"; sha256="1jxibd2d5b6vlq27m9ppmm96wsnkqn4pz66n9pwdl8wg2v85npw5"; depends=[igraph]; };
   GraphKit = derive2 { name="GraphKit"; version="0.5"; sha256="1ip0rkrwxpjcd9mhz2z8n7lwdrjj1idymsafm8aac1hfbxr6c0xz"; depends=[Rcpp RcppArmadillo]; };
+  GraphPCA = derive2 { name="GraphPCA"; version="1.1"; sha256="0x6j3lyd70zc0c1al1407ma8crzi174d5dqkz6lx4vx24knrlhbs"; depends=[FactoMineR ggplot2 ggplot2movies scatterplot3d]; };
   GrapheR = derive2 { name="GrapheR"; version="1.9-86"; sha256="1iizknyrpgiz1fh1fjls58n5v5fpki25j7kfbwfkp5ijf1q54ml6"; depends=[]; };
   GrassmannOptim = derive2 { name="GrassmannOptim"; version="2.0"; sha256="05r5zg4kf3xd6pp56bl8ldchdxvspxkdfd33b623hndjhn4lj2lq"; depends=[Matrix]; };
   GreedyEPL = derive2 { name="GreedyEPL"; version="1.0"; sha256="19b8fwxsjd6shwjxhpawa8pmlj6yn0j4577g6b93xbcs76wgrvd1"; depends=[Rcpp RcppArmadillo]; };
-  GreedyExperimentalDesign = derive2 { name="GreedyExperimentalDesign"; version="1.0"; sha256="00a2lcqrj17ckw4npkvm3sxydfn2lyvs7pzpccy3xnzrr006ibsx"; depends=[rJava]; };
+  GreedyExperimentalDesign = derive2 { name="GreedyExperimentalDesign"; version="1.1"; sha256="0r6b8hzzx0ja0skp4w4s49jpkkjbb3an62vp74qh5sf2wi1hx9x6"; depends=[rJava]; };
   GreedySBTM = derive2 { name="GreedySBTM"; version="1.0"; sha256="1r29cd8nxpyc82rz2xb9mk9wc17gcdlcl9lw1j3y4npr2z0qhf13"; depends=[Rcpp RcppArmadillo]; };
-  Greg = derive2 { name="Greg"; version="1.2"; sha256="19bzv2nknahzbdnl7n0pcnavsdlwgkprc0yk3ksqllfawnvi39f9"; depends=[Epi forestplot Gmisc Hmisc htmlTable knitr magrittr nlme rms sandwich stringr]; };
+  Greg = derive2 { name="Greg"; version="1.2.1"; sha256="0li05w2nbqvabhwwmhxiwjalr1q79xad9yd2vycpz198c048kiqf"; depends=[Epi forestplot Gmisc Hmisc htmlTable knitr magrittr nlme rms sandwich stringr]; };
   Grid2Polygons = derive2 { name="Grid2Polygons"; version="0.2.1"; sha256="0db5kv0rbsg077h2badw28x9363ymqkr52sw5wlg9x1bk9cczhi7"; depends=[inlmisc raster rgeos sp]; };
   GriegSmith = derive2 { name="GriegSmith"; version="1.0"; sha256="1a7gnaig1wvxpph7d8c37kx51dznzk0457fzf7alw95iwpyb4z7j"; depends=[spatstat]; };
-  GroupSeq = derive2 { name="GroupSeq"; version="1.3.4"; sha256="0m127793gh00spj2ghapmysvf3dbxhpf2jlms3xxrflh7ajrmy5m"; depends=[]; };
+  GroupSeq = derive2 { name="GroupSeq"; version="1.3.5"; sha256="0c74nlsqa5ly0kf6p4n7gfvd0ygkq78bx851ryniwpnnalvsq8l7"; depends=[]; };
   GroupTest = derive2 { name="GroupTest"; version="1.0.1"; sha256="1v2230mw0irsr5y8n45g8sd362jp7f6dy2r532mhflfdqy6i2khs"; depends=[]; };
   GrpString = derive2 { name="GrpString"; version="0.3.2"; sha256="14ss6assqk6s9kv4bvzlydm8qrbnslm4vj876q5dn2dw4k50dai1"; depends=[cluster plyr Rcpp]; };
   GsymPoint = derive2 { name="GsymPoint"; version="1.1.1"; sha256="1fg8vqd86kcpciphmlcxlm0rk01iza7md5y8kcxp9i732n4zn7r8"; depends=[ROCR Rsolnp truncnorm]; };
@@ -1449,8 +1488,8 @@ in with self; {
   HH = derive2 { name="HH"; version="3.1-34"; sha256="1srr195ha8n4va30impm12p2kamkl36whl8g10pl80hwgg20pbqk"; depends=[abind colorspace gridExtra Hmisc lattice latticeExtra leaps multcomp RColorBrewer reshape2 Rmpfr shiny vcd]; };
   HHG = derive2 { name="HHG"; version="2.2"; sha256="114nfpdjdisryil9l8cws885qdskgrjm2cclx543hh4cdhpnkxnp"; depends=[Rcpp]; };
   HI = derive2 { name="HI"; version="0.4"; sha256="0i7y4zcdr6wcjy43lz9h8glzpdv0pz7livr95xb1j4p8zafykday"; depends=[]; };
-  HIBPwned = derive2 { name="HIBPwned"; version="0.1.6"; sha256="0ym62n1rmi8pjj37cxbrdmih7530nhmy77gxb8yylppjf3rikci4"; depends=[httr jsonlite ratelimitr urltools]; };
-  HIMA = derive2 { name="HIMA"; version="1.0.5"; sha256="00wf7qblc5f0qp84zc6b25hn0bnbhj6a57h5h6hz1wadqyhnyzjz"; depends=[doParallel foreach iterators ncvreg]; };
+  HIBPwned = derive2 { name="HIBPwned"; version="0.1.7"; sha256="04l9309lmgn33gdwm162g6vywz8p9sdgmy2baxj98jv7x791wj3r"; depends=[crul jsonlite memoise ratelimitr urltools]; };
+  HIMA = derive2 { name="HIMA"; version="1.0.7"; sha256="0mvphwmm8gmin933bji2l2gbpjzm42vyc7sdka4xpjfsaal9pp9i"; depends=[doParallel foreach iterators ncvreg]; };
   HIV_LifeTables = derive2 { name="HIV.LifeTables"; version="0.1"; sha256="0qa5n9w5d5l1kr4827a34581q380xmpyzmmhhl300z1jwr0j94df"; depends=[]; };
   HIest = derive2 { name="HIest"; version="2.0"; sha256="0ik55kxhzjyg6z6072iz9nfaj7x1nvf91l1kysgvkjccr6jf3y86"; depends=[nnet]; };
   HK80 = derive2 { name="HK80"; version="0.0.2"; sha256="0c8scpzl5xgqm9rlsvh5nl3bz42i5pzvb873j9bn3bi15gcknbny"; depends=[]; };
@@ -1496,19 +1535,18 @@ in with self; {
   Harvest_Tree = derive2 { name="Harvest.Tree"; version="1.1"; sha256="021zmppy7p2iakaxirfjdb5jzakg1ijma9d25ly2ni0nx0p1mh6z"; depends=[rpart]; };
   HelpersMG = derive2 { name="HelpersMG"; version="3.0.0"; sha256="1y5q4z9yxap16bkcjsybm2754wm0x31hfqdnp2bb4gbvhz1jhas6"; depends=[coda]; };
   HeritSeq = derive2 { name="HeritSeq"; version="1.0.0"; sha256="0ibb2nkjk1d59gc1ljihihsjai3jp4jsbbariv05h1z26pgpc9p3"; depends=[cplm DESeq2 lme4 MASS pbapply SummarizedExperiment tweedie]; };
-  HiCblock = derive2 { name="HiCblock"; version="1.2"; sha256="17d5jzswzjy7hwr9lyfd273xqa5ssm715wybk0zxd4gsnipvnbsk"; depends=[GenomeInfoDb GenomicRanges glmnet HiTC IRanges MASS Matrix rtracklayer S4Vectors]; };
-  HiCfeat = derive2 { name="HiCfeat"; version="1.2"; sha256="01b8isvn4my41n3608k80d38vgd3waq7rxsx1v4p0rl1f3pxn7dn"; depends=[GenomeInfoDb GenomicRanges glmnet IRanges Matrix rtracklayer]; };
-  HiCglmi = derive2 { name="HiCglmi"; version="1.1"; sha256="1q47kayga6g4vczh92a63a4ni5hvmrc7477wsjkhp846j3wswm5j"; depends=[GenomeInfoDb GenomicRanges glmnet HiTC IRanges MASS Matrix rtracklayer S4Vectors]; };
+  HiCblock = derive2 { name="HiCblock"; version="1.4"; sha256="07f94j9y5g6f09yi7iwag020ddfhpvrj5idfxwbr900hj3vgm1gm"; depends=[GenomeInfoDb GenomicRanges glmnet HiTC IRanges MASS Matrix rtracklayer S4Vectors]; };
+  HiCfeat = derive2 { name="HiCfeat"; version="1.3"; sha256="1hf24g4cph13s0cbicll3dxvxycdzwbsy6cv297vlkw4sc574ixw"; depends=[GenomeInfoDb GenomicRanges glmnet IRanges Matrix rtracklayer]; };
+  HiCglmi = derive2 { name="HiCglmi"; version="1.3"; sha256="17vwdhnf36cg56vidq7d85s4vgk2pnn5py1y2wsl2dm41vdl0847"; depends=[GenomeInfoDb GenomicRanges glmnet HiTC IRanges MASS Matrix rtracklayer S4Vectors]; };
   HiClimR = derive2 { name="HiClimR"; version="1.2.3"; sha256="1yv01pyfmgq306f3yravwf6sm79m0m93gpya95k85rxqdjl3c2hx"; depends=[]; };
   HiCseg = derive2 { name="HiCseg"; version="1.1"; sha256="19581k3g71wrznyqrp4hmspqyzcbcfbc48xgjlq13zmqii45hcn6"; depends=[]; };
   HiDimDA = derive2 { name="HiDimDA"; version="0.2-4"; sha256="0gxkxzys9mcy33xvsim8klaqmb2xwvy5bvgkn9r400j4qfjd3cgg"; depends=[]; };
-  HiDimMaxStable = derive2 { name="HiDimMaxStable"; version="0.1.1"; sha256="0gscdjm48yyf8h3bn6xjbjlfc1hwbbh5j6v64c0z3d04h9q35c24"; depends=[copula maxLik mnormpow mnormt partitions VGAM]; };
   HiLMM = derive2 { name="HiLMM"; version="1.1"; sha256="09135cwi6kqrvzdlivm86q1dqn6cbbi6nspdm0c2s700jl49pl5z"; depends=[]; };
   HiddenMarkov = derive2 { name="HiddenMarkov"; version="1.8-11"; sha256="1yh85pdb9r90qxcl5gxslyplxzrx8knrrsl2q65l57zfkqj185ja"; depends=[]; };
   HierO = derive2 { name="HierO"; version="0.2"; sha256="1lqj5grjly4kzxl7wb192aagz2kdvpnjdan2kcg5yxwvg1xcvwv1"; depends=[bitops RCurl rneos tcltk2 XML]; };
   HighDimOut = derive2 { name="HighDimOut"; version="1.0.0"; sha256="0r7mazwq4fsz547d3nyavmqya7144lg3fkl5f7amrp48l9h85vx2"; depends=[DMwR FNN foreach ggplot2 plyr proxy]; };
-  HistDAWass = derive2 { name="HistDAWass"; version="1.0.0"; sha256="0si57vmgnkrhyilk3vv4189c093n6if6i5nv3jylvhpmbf5nvm7p"; depends=[class FactoMineR ggplot2 ggridges histogram Rcpp RcppArmadillo]; };
-  HistData = derive2 { name="HistData"; version="0.8-2"; sha256="0qd3a1v3xg39nwqfw63k6210vqkpknq0j3r36sy1910hn0nr83fa"; depends=[]; };
+  HistDAWass = derive2 { name="HistDAWass"; version="1.0.1"; sha256="1lc9pz3f6akzyisgwzfl4m5z400bailv1bmsb3snha8nhpqdk3nk"; depends=[class FactoMineR ggplot2 ggridges histogram Rcpp RcppArmadillo]; };
+  HistData = derive2 { name="HistData"; version="0.8-4"; sha256="0qw8jrh7g9w49k6f8hsg9wvy8ms2pcsmiv2ysxfcr89v60q084rb"; depends=[]; };
   HistogramTools = derive2 { name="HistogramTools"; version="0.3.2"; sha256="1wkv6ypn006d8j6bpbhc1knw0bky4y8r7jp87482yd19q5ljsgv0"; depends=[ash Hmisc stringr]; };
   HiveR = derive2 { name="HiveR"; version="0.3.42"; sha256="09h061511pk7iy1k9gb3ifa5q6gd17ix9sn2fshl6gp5sxnysn4f"; depends=[jpeg plyr png RColorBrewer rgl tkrgl]; };
   Hmisc = derive2 { name="Hmisc"; version="4.1-1"; sha256="160l50ppjs69ipcaya1mlcz29zbn5rmqg91r09dvzzvkvwfb47cr"; depends=[acepack base64enc cluster data_table foreign Formula ggplot2 gridExtra gtable htmlTable htmltools lattice latticeExtra nnet rpart survival viridis]; };
@@ -1530,7 +1568,7 @@ in with self; {
   IATScore = derive2 { name="IATScore"; version="0.1.1"; sha256="0sg4apj1sp0xc311cbkvflhv9kw1jxvjhdr0xjw79s662mnhkhgz"; depends=[]; };
   IATscores = derive2 { name="IATscores"; version="0.2.1"; sha256="1nm07wlrnjx36wr3jbv2faayh1vrlfid124b27w9v0x0dk145i82"; depends=[dplyr qgraph reshape2 stringr]; };
   IAbin = derive2 { name="IAbin"; version="1.0"; sha256="1cpj2mx72n4v0yd8jbbnhj2w5d0sc8pw7rc8ahnn1hfa38pwwsyx"; depends=[]; };
-  IBCF_MTME = derive2 { name="IBCF.MTME"; version="1.1-2"; sha256="1vb8i1xck65135pnlqbyh6y2a5w9n7spvxzyzb7323x1mv161157"; depends=[lsa tidyr]; };
+  IBCF_MTME = derive2 { name="IBCF.MTME"; version="1.2-5"; sha256="1b5fsrbqycz8zgpxk3vc48cba7vb818rw5hgmf92q11azm4n1q5s"; depends=[lsa tidyr]; };
   IBDLabels = derive2 { name="IBDLabels"; version="1.1"; sha256="1m9fd058yjxva6hin7i72i2nl285wfm0jkdn5xcng27yqlijyrm9"; depends=[]; };
   IBDhaploRtools = derive2 { name="IBDhaploRtools"; version="1.8"; sha256="1754239pdil6b383mpzyi8zb9l9hzg15dwgn5246v97g1y3mlp5r"; depends=[]; };
   IBDsim = derive2 { name="IBDsim"; version="0.9-7"; sha256="1wq0w9d4kwvq1hc5l0m8wrqfhnncapmnrh29x9vvafv50ym7yb3l"; depends=[paramlink]; };
@@ -1545,14 +1583,14 @@ in with self; {
   ICCbin = derive2 { name="ICCbin"; version="1.1.1"; sha256="1pzlaj7w98pgrlg3zvpmdv0dpgi5gih0j73qv86ak75fkxvrnzzw"; depends=[]; };
   ICE = derive2 { name="ICE"; version="0.69"; sha256="04p8lakaha28mdh965w0ppyxfrz5ssi1n9xifvsbn3ihdra67rip"; depends=[KernSmooth]; };
   ICEbox = derive2 { name="ICEbox"; version="1.1.2"; sha256="170gg2fg9307yc2b25lsj8d1zla0frjxl47qh0njlqlrpi8jmm7i"; depends=[sfsmisc]; };
-  ICEinfer = derive2 { name="ICEinfer"; version="1.0-1"; sha256="0gjgr1r33w6d5ra0njh15lj46lw6v751yl8iqrdf4a5pazs7w3lm"; depends=[lattice]; };
+  ICEinfer = derive2 { name="ICEinfer"; version="1.0-4"; sha256="0fa5mxj224jgppp09bblyi9w9racz5lb1i20npvnccafcm36f7y1"; depends=[lattice]; };
   ICGE = derive2 { name="ICGE"; version="0.3"; sha256="0xin7zml1nbygyi08hhg3wwr2jr1zcsvrlgia89zp4xanxlzgaqa"; depends=[cluster MASS]; };
   ICGOR = derive2 { name="ICGOR"; version="2.0"; sha256="18fn10f5nqqbrfibqmp602nqpx794fy3gpxp1bd10xn48llhqfc4"; depends=[ICsurv MASS pracma survival]; };
   ICRanks = derive2 { name="ICRanks"; version="1.3"; sha256="0n8gyqlwx38v2lfx7r49h43k2f4z4ml78x3lq0sc952n4rckzgiv"; depends=[multcomp Rcpp]; };
-  ICS = derive2 { name="ICS"; version="1.3-0"; sha256="0r5lf8km77h29lcpi7z0hkmy4vh0p5m7p2xbxsxj6w9hsgyanv72"; depends=[mvtnorm survey]; };
-  ICSNP = derive2 { name="ICSNP"; version="1.1-0"; sha256="1g7n8jlilg36hm989s5x18kf8jqn5wy98xi9jmnqkqpds4ff217y"; depends=[ICS mvtnorm]; };
+  ICS = derive2 { name="ICS"; version="1.3-1"; sha256="0x3cwhvzcibgyb8gqy6dc6lgnvbf6x8425zai57g8yn5i6zzc1li"; depends=[mvtnorm survey]; };
+  ICSNP = derive2 { name="ICSNP"; version="1.1-1"; sha256="1zf0k1kwdmjjqsbiiy3r2l47vjsrg09fj65p6zfld3j4gjbp17fd"; depends=[ICS mvtnorm]; };
   ICSOutlier = derive2 { name="ICSOutlier"; version="0.3-0"; sha256="1vj1y4zw8pkghkg4qnmx0yk1yw4zzl9075n5czrna9ckk2p29fmh"; depends=[ICS moments mvtnorm]; };
-  ICSShiny = derive2 { name="ICSShiny"; version="0.4"; sha256="02qcph5ax4gwz44zq8riv4yl4h0wdiwgxv7m96cpdh7gwfhwzgzr"; depends=[DT ICS ICSNP ICSOutlier rrcov shiny simsalapar]; };
+  ICSShiny = derive2 { name="ICSShiny"; version="0.5"; sha256="0a13vps0mkv5qs6qnl7ar0mdbkbd7i1c6kgwahmkb3id3n9bw0cl"; depends=[DT ICS ICSNP ICSOutlier rrcov shiny simsalapar]; };
   ICV = derive2 { name="ICV"; version="1.0"; sha256="1na87i39jy5d8ibldqcqz3a072ihkgcl0k629sxch9hk6v6j5lly"; depends=[]; };
   ICcalib = derive2 { name="ICcalib"; version="1.0.7"; sha256="1p224srs1jakl7iyybcn9f6r9kcwxyrikdrfa9wjgkhz60pv88fs"; depends=[fitdistrplus icenReg ICsurv MASS msm numDeriv Rcpp RcppArmadillo survival]; };
   ICsurv = derive2 { name="ICsurv"; version="1.0"; sha256="1mbndpy3x5731c9y955wscy76jrxlgv33bf6ldqp65cwyvdgxl86"; depends=[MASS matrixcalc]; };
@@ -1563,13 +1601,15 @@ in with self; {
   IDPmisc = derive2 { name="IDPmisc"; version="1.1.17"; sha256="0nbwdyg9javjjfvljwbp2jl0c6414c11zb2pirmm5pmimaq9vv0q"; depends=[lattice]; };
   IDSpatialStats = derive2 { name="IDSpatialStats"; version="0.2.2"; sha256="0pfvdy82i5w6zrda2022m1v22dv2qsgcj1y7f8hqmaqvqgczizfk"; depends=[]; };
   IDTurtle = derive2 { name="IDTurtle"; version="1.2"; sha256="15r806vk5lmvyclsynzq9qr8pgwwkxal1j6xcq6408i8kq1hk3fb"; depends=[]; };
-  IDmining = derive2 { name="IDmining"; version="1.0.3"; sha256="1kvnp0y0837cgvjjwv2rmh64vksa7c6ififs60w7g05l690fkb9v"; depends=[data_table doParallel foreach]; };
+  IDetect = derive2 { name="IDetect"; version="0.1.0"; sha256="1q1jwgildhx6sp883ni7vcsa3gj997855v5ky41dyf34kv7hvdl1"; depends=[]; };
+  IDmining = derive2 { name="IDmining"; version="1.0.4"; sha256="1jjxw9pdhd3wx5qnjnssf0j3bg91li1ar5ps02dhv0c49hslg0x0"; depends=[data_table doParallel foreach]; };
   IFP = derive2 { name="IFP"; version="0.2.1"; sha256="06zyadcr8p6q0c5h9n29yl02ixysdj6lfbn9hfir0bk9hyv9yfyr"; depends=[coda haplo_stats]; };
+  IGG = derive2 { name="IGG"; version="1.0"; sha256="1cibb9z18xc1zx1813lk14n6p5am84hm7w0hkrsif4j3p89lrwif"; depends=[GIGrvg glmnet MASS Matrix pscl]; };
   IGM_MEA = derive2 { name="IGM.MEA"; version="0.3.5"; sha256="09k5di7bqlqi2m3jn39ahnf7x96wx1h06bw0ah6pdszwd97yy33i"; depends=[emdist ggplot2 gridExtra gtools lattice plyr reshape2]; };
   IGP = derive2 { name="IGP"; version="0.1.0"; sha256="0xv89gmyfgnq5kzcmjbp5nx9zbr3gbdzkvffp99bxbkvf759m255"; depends=[PythonInR R6]; };
   IHSEP = derive2 { name="IHSEP"; version="0.1"; sha256="1djc5509b5iyi6y0i36h77l6sq1h0w721v2isxqldcqk3gb0bx11"; depends=[lpint Rcpp]; };
   IIS = derive2 { name="IIS"; version="1.0"; sha256="01h7nncxn1drnqf1h7snw0pvkgkn8dxq53k2sqcw3kdjlk5mj2l6"; depends=[asbio BSDA Hmisc NSM3 Rfit]; };
-  ILS = derive2 { name="ILS"; version="0.1.0"; sha256="18phs1q28mpwvwnzn0hgjxy978f7n4c3p94jxjp0sy3as67hqphp"; depends=[depthTools fda_usc MASS multcomp]; };
+  ILS = derive2 { name="ILS"; version="0.2"; sha256="0lj3ripkaq6jn00lpxjihjhm8g1gbkppmb1y9kkrymphg80k1by7"; depends=[depthTools fda_usc lattice MASS multcomp]; };
   IM = derive2 { name="IM"; version="1.0"; sha256="1f1vr5zfqnanc5xmmlfkjkvxwbyyysi3mcvkg95p8r687a7zl0cx"; depends=[bmp jpeg png]; };
   IMFData = derive2 { name="IMFData"; version="0.2.0"; sha256="1mlxpsbyvh1zi8ivdblbd58zfv5hflnknbasz5z8xk9911czrn6p"; depends=[httr jsonlite plyr]; };
   IMIFA = derive2 { name="IMIFA"; version="1.3.1"; sha256="1xk2l1zk7arrbb8lxs5s03pjapks98xx8dfpic8qmha3qjlav90c"; depends=[abind e1071 matrixStats mclust mvnfast plotrix Rfast slam viridis]; };
@@ -1588,7 +1628,7 @@ in with self; {
   IPtoCountry = derive2 { name="IPtoCountry"; version="0.0.1"; sha256="1b10z93mc31cr1c5wxp9xz9cr3jm4n4g5kav09dyallpgw60rskp"; depends=[data_table devtools dtables ggplot2 install_load maps scales]; };
   IQCC = derive2 { name="IQCC"; version="0.7"; sha256="1zalpmyywkrnci0jd8irakjhiqmr52zhj1sbxf9pz5c7wks2rdbc"; depends=[MASS miscTools qcc]; };
   IRATER = derive2 { name="IRATER"; version="0.0.1"; sha256="0jxdvjmnmangbqy3ibb5qrj9jz3wrzs0wa1r2gjk4v8vsbk0ipcf"; depends=[coda lattice plyr R2admb]; };
-  IRISMustangMetrics = derive2 { name="IRISMustangMetrics"; version="2.0.8"; sha256="0imsssija6v91il3dw5ibzm09xyjbabp2xy9jp4ixj6x8295i5xg"; depends=[dplyr IRISSeismic pracma RCurl seismicRoll signal stringr XML]; };
+  IRISMustangMetrics = derive2 { name="IRISMustangMetrics"; version="2.1.0"; sha256="033j0dba1bzbbjn7q827h4d1rw91z8gbr2bb119lds4v8zkkfpxx"; depends=[dplyr IRISSeismic RCurl seismicRoll signal stringr XML]; };
   IRISSeismic = derive2 { name="IRISSeismic"; version="1.4.6"; sha256="1kccc4rbnyczdif7plvl3jfa3nfqfasybbbqmdkfiz0mhgvn1z4r"; depends=[pracma RCurl seismicRoll signal stringr XML]; };
   IROmiss = derive2 { name="IROmiss"; version="1.0.1"; sha256="01l08s1g7h8cki372daa61pw3wac3pbv5d4yqnphg5p8ihsmrc5d"; depends=[equSA huge mvtnorm ncvreg]; };
   IRTShiny = derive2 { name="IRTShiny"; version="1.2"; sha256="094ax94y6k5z4vlxfla2w19f57q0z32nwwd5npjbgmnkhvfhhl9v"; depends=[beeswarm CTT ltm psych shiny shinyAce]; };
@@ -1632,16 +1672,16 @@ in with self; {
   Information = derive2 { name="Information"; version="0.0.9"; sha256="0pszwzj3r7vdvdsy9w1qz95zxp7y2bsyg36b58mm4qcvcvymd4kn"; depends=[data_table doParallel foreach ggplot2 iterators plyr]; };
   InformationValue = derive2 { name="InformationValue"; version="1.2.3"; sha256="1b5g2wyp7x5cdhmf4325n3q7afa6i352lh80j28c8s4356pr3w9j"; depends=[data_table ggplot2]; };
   InformativeCensoring = derive2 { name="InformativeCensoring"; version="0.3.4"; sha256="145k4hggymra2jnxkcck795xk280yyldfzh9ls2irnsxmxfszr52"; depends=[boot dplyr survival]; };
-  Infusion = derive2 { name="Infusion"; version="1.1.8"; sha256="084k36d9bgwmcnrp1bw2vvby9j14qmw2c99pzaps0nlg10j8k4hg"; depends=[blackbox Matrix mvtnorm numDeriv proxy rcdd Rmixmod spaMM viridis]; };
+  Infusion = derive2 { name="Infusion"; version="1.2.0"; sha256="00l12balvdypcypqj8b61lfbksh6jnayai4bxchnxv99h3jq4l24"; depends=[blackbox mvtnorm numDeriv pbapply proxy spaMM viridis]; };
+  InjurySeverityScore = derive2 { name="InjurySeverityScore"; version="0.0.0.1"; sha256="13h2a95bzibszpbr6sjhm3hj03b4znrrczm8pvni70ln2lcskri0"; depends=[dplyr rlang tidyr]; };
   InspectChangepoint = derive2 { name="InspectChangepoint"; version="1.0.1"; sha256="1wirdbz4v7hk7znpjhw9j3l596lmfcrlr4wxayw7klbbdhcwq5qs"; depends=[MASS]; };
   IntClust = derive2 { name="IntClust"; version="0.0.2"; sha256="1n0ywickky1w5m8swfidiprdnkrv0mrh9z5294bimxj5ppi1yl8v"; depends=[a4Core ade4 analogue Biobase cluster e1071 FactoMineR ggplot2 gplots gridExtra gtools limma lsa plotrix pls plyr prodlim SNFtool]; };
   IntLik = derive2 { name="IntLik"; version="1.0"; sha256="13ww5bsbf1vnpaip0w53rw99a8hxzziibj7j66cm31jmi8l6fznf"; depends=[maxLik]; };
-  IntNMF = derive2 { name="IntNMF"; version="1.1"; sha256="0bw6ycf7zrbfh8dfpgva1a51nazkvwlq7pxdhpp1j1mhabwm2nq2"; depends=[cluster InterSIM MASS mclust NMF]; };
   IntegrateBs = derive2 { name="IntegrateBs"; version="0.1.0"; sha256="1pkx4wpahd1sabzx55law3710x3vbh9yi6kii8gs2xfq3cb1llmq"; depends=[]; };
   IntegratedJM = derive2 { name="IntegratedJM"; version="1.6"; sha256="0fv24z7vidhn09ljk09pjzkrlg2rlwxcrhfjc53ybjjgsgay99z6"; depends=[Biobase ggplot2 nlme]; };
   IntegratedMRF = derive2 { name="IntegratedMRF"; version="1.1.8"; sha256="0y3hagjx3pzhqyqm3pydl3s3f1g9d5yb2w3ybxll11913p3gll3i"; depends=[bootstrap caTools ggplot2 limSolve MultivariateRandomForest Rcpp]; };
-  InterSIM = derive2 { name="InterSIM"; version="2.1"; sha256="092fw918qq8pahyxxznabkdfrb8700bpkkq96zj8ihpkx2ngkxln"; depends=[MASS NMF]; };
-  InterVA4 = derive2 { name="InterVA4"; version="1.7.4"; sha256="0mlcn8mlrwgb54iclvadjwgpgav3zfm1y513bn2gypafq7x3bk81"; depends=[]; };
+  InterVA4 = derive2 { name="InterVA4"; version="1.7.5"; sha256="0la99ylx8fnn4kpqa364nhs12y2hzp3sm0awsx5sfdv6n7m9js33"; depends=[]; };
+  InterVA5 = derive2 { name="InterVA5"; version="1.0"; sha256="0lp75yinm1ph648s0jxgjixmn4q9g1rbky6hnppicpan2mk6d7ls"; depends=[]; };
   Interact = derive2 { name="Interact"; version="1.1"; sha256="1g9zhafdpr7j410bi8p03d8x9f8m3n329x8v01yk15f65fp7pl1d"; depends=[]; };
   InteractiveIGraph = derive2 { name="InteractiveIGraph"; version="1.0.6.1"; sha256="0srxlp77xqq0vw2phfv7zcnqswi2i5nzkpqbpa5limqx00jd12zy"; depends=[igraph]; };
   Interatrix = derive2 { name="Interatrix"; version="1.1.1"; sha256="1ljxgiia0y8wv1rlm5brd0yvs1r7r5wyrs6nykmwrwwya4k34mpz"; depends=[MASS tkrplot]; };
@@ -1659,19 +1699,19 @@ in with self; {
   IsoCI = derive2 { name="IsoCI"; version="1.1"; sha256="0r7ksfic6p2v95c953s4gbzzclk4ldxysm8szb8xba1w0nx2izil"; depends=[KernSmooth]; };
   IsoGene = derive2 { name="IsoGene"; version="1.0-24"; sha256="0flm0mszankvl3aizwsazyhvz2xkr4gfqiqywpc0r1swqj19610r"; depends=[affy Biobase ff Iso xtable]; };
   IsoSpecR = derive2 { name="IsoSpecR"; version="1.0.3"; sha256="1cnkzc29k0inz6kdn77l0ymzjgf1hid8jza7nla4ym2s0gidgdyf"; depends=[Rcpp]; };
-  IsoplotR = derive2 { name="IsoplotR"; version="1.0"; sha256="0cf2y81s2sc2jqbr431hjv5i347m1q5c5dxrak7ns7s8d902729y"; depends=[MASS]; };
-  IsoriX = derive2 { name="IsoriX"; version="0.7"; sha256="0b94s94axrqgv3dm9dbkdnh6imlzn245f2pi7wbj99nqhwa47ynb"; depends=[latticeExtra numDeriv raster rasterVis sp spaMM viridisLite]; };
+  IsoplotR = derive2 { name="IsoplotR"; version="1.1"; sha256="0w1zsb6qjcgyig8mahmpw0plxzqm2yqvg7gnqf50q1mpvdani2f4"; depends=[MASS]; };
+  IsoriX = derive2 { name="IsoriX"; version="0.7.1"; sha256="1x2vdgvnfkrgcrm7pdrdvr7m72y0274dab5cyhz31j8l2gqxw9la"; depends=[latticeExtra numDeriv raster rasterVis sp spaMM viridisLite]; };
   IsotopeR = derive2 { name="IsotopeR"; version="0.5.4"; sha256="0xgha5alh5y5qfz00rl73q4xlamnmrwij7kckljmy6zgrlrdnl6x"; depends=[colorspace ellipse fgui plotrix runjags]; };
-  JADE = derive2 { name="JADE"; version="2.0-0"; sha256="15bcq6r2iargxkb0pdbqkwrrn2rs7hc3y5fxjm5mb377513sdz5j"; depends=[clue]; };
+  JADE = derive2 { name="JADE"; version="2.0-1"; sha256="0s7cdvhjcdxdqv4mgjd07xi3s0ngjvpxsmy0ary735rs5y6198mm"; depends=[clue]; };
   JAGUAR = derive2 { name="JAGUAR"; version="3.0.1"; sha256="0lyc8biwj9yir1i06klp2jkb31mnzwp226aw7pwabkprfhqgfmqd"; depends=[lme4 plyr Rcpp RcppArmadillo RcppProgress reshape2]; };
   JASPAR = derive2 { name="JASPAR"; version="0.0.1"; sha256="0wiyn7cz45hwy9zkvacx28zdrg78q6715cg4r9xgcb39q25s0dcy"; depends=[gtools]; };
   JBTools = derive2 { name="JBTools"; version="0.7.2.9"; sha256="0bynqn3daqgmi3l9asy34mfwyfjkn35k465dfqqi3xwx6cbzlg5k"; depends=[colorspace foreach gplots plotrix]; };
-  JFE = derive2 { name="JFE"; version="1.0"; sha256="18hp457m0ylk19rj3kamb1j8nn09i6i8ybk4hma7gaahy4vp9vy2"; depends=[BurStFin fAssets fBasics fPortfolio iClick MASS PerformanceAnalytics quantmod tcltk2 timeDate timeSeries xts zoo]; };
+  JFE = derive2 { name="JFE"; version="1.2"; sha256="1jfdphn9435f9nmwnb4x2wj8fv7c2i432n9wyvrlqcm424ql0cml"; depends=[BurStFin fAssets fBasics fPortfolio iClick MASS PerformanceAnalytics quantmod rugarch tcltk2 timeDate timeSeries xts zoo]; };
   JGEE = derive2 { name="JGEE"; version="1.1"; sha256="078348n623hlyc3n9yh67vv5acsnxapmbwybvrb1i7kawmqw5msi"; depends=[gee MASS]; };
   JGL = derive2 { name="JGL"; version="2.3"; sha256="1351iq547ln06nklrgx192dqlfnn03hkwj3hrliqzfbmsls098qc"; depends=[igraph]; };
   JGR = derive2 { name="JGR"; version="1.8-4"; sha256="0zfjfqlfrsz4wjdq78zasvgd3ldgcx20h16bbar1l7wv843j71ym"; depends=[JavaGD rJava]; };
-  JM = derive2 { name="JM"; version="1.4-7"; sha256="1ajdmabifzg4jp74ghas5wf3vp4x2vnc6sh811n44a1ni727sb2n"; depends=[MASS nlme survival]; };
-  JMbayes = derive2 { name="JMbayes"; version="0.8-70"; sha256="1xvzyy2h3p30wxvgrm6d4dmxwiqs4l7dafpanlnykgih9wmh7xsf"; depends=[doParallel foreach Hmisc jagsUI MASS nlme Rcpp RcppArmadillo rstan shiny survival xtable]; };
+  JM = derive2 { name="JM"; version="1.4-8"; sha256="1nq07hw30fqnag1h08b7crl2yfs85gyrn70aaw11bdbjv06r2x55"; depends=[MASS nlme survival]; };
+  JMbayes = derive2 { name="JMbayes"; version="0.8-71"; sha256="0vbw3z1njl3jm4qixzh5fs3gmiqz7n3kz3a4a9sdxj498z063svj"; depends=[doParallel foreach Hmisc jagsUI MASS nlme Rcpp RcppArmadillo rstan shiny survival xtable]; };
   JMcmprsk = derive2 { name="JMcmprsk"; version="0.9.3"; sha256="0bjaiygn2sq40f2cwa1c6j73748j2cx5q69pd4jgfgbpm9r25r4f"; depends=[MASS Rcpp]; };
   JMdesign = derive2 { name="JMdesign"; version="1.1"; sha256="0w5nzhp82g0k7j5704fif16sf95rpckd76jjz9fbd71pp2d80vlh"; depends=[]; };
   JOP = derive2 { name="JOP"; version="3.6"; sha256="1kpb1dy2vm4jgzd3h0qgdw53nfp2qi74hgq5l5inxx4aayncclk7"; depends=[dglm Rsolnp]; };
@@ -1686,10 +1726,11 @@ in with self; {
   Jmisc = derive2 { name="Jmisc"; version="0.3.1"; sha256="1szn29dng54l2xmrm6pg3d5rmwdc1ks23vsnsmplnr5rx7yj002s"; depends=[]; };
   JoSAE = derive2 { name="JoSAE"; version="0.2.3"; sha256="0b1jwplds5b7z15v6bvqj1rbn7zxpgvh2ykhqplxzv4mlaw6i0li"; depends=[nlme]; };
   Johnson = derive2 { name="Johnson"; version="1.4"; sha256="12ajcfz5mwxvimv8nq683a2x3590gz0gnyviviyzf5x066a4q0lj"; depends=[]; };
+  JointAI = derive2 { name="JointAI"; version="0.1.0"; sha256="0im17n3w6mhgd2lnjja0ca30b2yz06qn7frcsr9qbbhnc4p7pnv4"; depends=[coda MASS mcmcse rjags]; };
   JointModel = derive2 { name="JointModel"; version="1.0"; sha256="1zgs5c7saqyqxvxmhw5sxy5w67abq344aid6igw1da05bfy2az6h"; depends=[lme4 statmod survival]; };
   JointRegBC = derive2 { name="JointRegBC"; version="0.1.1"; sha256="0w7ygs3pvlqkkb2x20kv20kda3gz7cn6zgrkg30nhjxp318d76ab"; depends=[MASS nlme survival]; };
   Julia = derive2 { name="Julia"; version="1.1"; sha256="0i1n150d89pkds7qyr0xycz6h07zikb2y07d5fcpaqs4446a8prg"; depends=[]; };
-  JuliaCall = derive2 { name="JuliaCall"; version="0.11.1"; sha256="0i2kvqys7gwabvxk5p2n6n6fpbmbwqkli1p7lqmnkfxvm4x2ayyf"; depends=[inline R6]; };
+  JuliaCall = derive2 { name="JuliaCall"; version="0.12.2"; sha256="1408pzvnsxc1mq31b0nf61qc5rby7ymnz3vpkab4xds7kh0fcqh9"; depends=[R6 Rcpp]; };
   JumpTest = derive2 { name="JumpTest"; version="0.0.1"; sha256="1d5zmjwmajzdg5d1ws40zchx9wiaav01fby1v3irym2mx30jgbqn"; depends=[MASS Rcpp RcppEigen]; };
   JuniperKernel = derive2 { name="JuniperKernel"; version="1.2.3.0"; sha256="17r4ssjjayvnp9fp9jalklp3p8dadyx5hvi9z3bh3sw4b7kx4lyd"; depends=[data_table gdtools jsonlite pbdZMQ Rcpp repr]; };
   KANT = derive2 { name="KANT"; version="2.0"; sha256="169j72pmdkcj6hv8qgmc02aps0ppvvl1vnr1hzrb1gsf7zj7bs3y"; depends=[affy Biobase]; };
@@ -1697,7 +1738,7 @@ in with self; {
   KERE = derive2 { name="KERE"; version="1.0.0"; sha256="1b16cb3ihcsp9jffmd45sd7ia4pibikmj62ad344wmq22q4fpliy"; depends=[]; };
   KFAS = derive2 { name="KFAS"; version="1.3.1"; sha256="0hnf9ljy19hng7cvr0qixcf8h9z2spp5c9512gfm9c7zn6802k54"; depends=[]; };
   KFKSDS = derive2 { name="KFKSDS"; version="1.6"; sha256="1g11f936p554bfxlm4slxhfxki5vqkks1mrbqw4w83v2rcb50f8d"; depends=[]; };
-  KGode = derive2 { name="KGode"; version="1.0.0"; sha256="0ikcx43kw83ppbjdm6syhmx5fs5jsr4hyhjvilgqkyr0kx1h6wag"; depends=[mvtnorm pracma pspline R6]; };
+  KGode = derive2 { name="KGode"; version="1.0.1"; sha256="05g8zr3jm13cl6wk9m693gxa3fn5cjppm56j7ih4zzswzk9b67h9"; depends=[mvtnorm pracma pspline R6]; };
   KMDA = derive2 { name="KMDA"; version="1.0"; sha256="0x4kjjdd59wvgg699vrj99wqg3s1qbkbskis1c34xv9b8bzcv94j"; depends=[]; };
   KMgene = derive2 { name="KMgene"; version="1.2"; sha256="1yj9l1mqhvyhicyycnkd639q3zkrx15ba11z9911l4c0gql8syf1"; depends=[CompQuadForm coxme kinship2 MASS Matrix mgcv nlme survival]; };
   KMsurv = derive2 { name="KMsurv"; version="0.1-5"; sha256="0hi5vvk584rl70gbrr75w9hc775xmbxnaig0dd6hlpi4071pnqjm"; depends=[]; };
@@ -1708,12 +1749,12 @@ in with self; {
   KRMM = derive2 { name="KRMM"; version="1.0"; sha256="0wxzhrrc4lx20nxjny7rcfw3bya7drn88zbrlzx9f531298xwbrk"; depends=[cvTools kernlab MASS robustbase]; };
   KSD = derive2 { name="KSD"; version="1.0.0"; sha256="0wqmbr51yv7f87pnhph2nrj9y2d5jql2agizcaq6lax23lj6xfb7"; depends=[pryr]; };
   KSEAapp = derive2 { name="KSEAapp"; version="0.99.0"; sha256="1gfgpa2d32y6bzvf4ww70sm7niq34sqmyrhi0phlqxshqq9xviqc"; depends=[gplots]; };
-  KScorrect = derive2 { name="KScorrect"; version="1.2.0"; sha256="1rymzllm97z22xwsn5wbn02c0xp0kfdp73mk9jrk81hfdpd15p4i"; depends=[MASS mclust]; };
+  KScorrect = derive2 { name="KScorrect"; version="1.2.3"; sha256="1i69glkyi3ydzfgd8d6zrbgjq7gy9laq00jdppbqnl13i1n14sp7"; depends=[MASS mclust]; };
   KSgeneral = derive2 { name="KSgeneral"; version="0.1.0"; sha256="19rrm411c2fvx4bxi9qc6v9spqpf52k08i7gvhici9dx2hhm3134"; depends=[dgof MASS Rcpp]; };
   KTensorGraphs = derive2 { name="KTensorGraphs"; version="0.1"; sha256="1hsndxslqgca0ay4q277zjwnwz8bzwfkzz915dgqvjd2v4afrvzx"; depends=[]; };
-  KappaGUI = derive2 { name="KappaGUI"; version="2.0.1"; sha256="0l2kgh9bflag5s056ib8fkajl56yr8c0qsmd9ma56i9ay7i540da"; depends=[irr shiny]; };
+  KappaGUI = derive2 { name="KappaGUI"; version="2.0.2"; sha256="0vklny804xpd9r60j4a01j2gak8jizwjw0abf7yvbcalv3zbpb3k"; depends=[irr shiny]; };
   KappaV = derive2 { name="KappaV"; version="0.3"; sha256="13mmfb8ijpgvzfj20andqb662950lp9g25k5b26r5ba65p7nhva7"; depends=[maptools PresenceAbsence rgeos sp]; };
-  KarsTS = derive2 { name="KarsTS"; version="2.0"; sha256="0mha0q5zvijrhrl0nsq229ipf6k2mhw2yqc21vvv8sifh9b9qp4y"; depends=[BaylorEdPsych circular forecast infotheo mgcv missForest MVN nonlinearTseries plot3D rgl stinepack stlplus tcltk2 tkrplot tseries tseriesChaos zoo]; };
+  KarsTS = derive2 { name="KarsTS"; version="2.1"; sha256="1kpqp1icrinh8lr72ffcbnbgcxs8865nbmnjfcz5r7lyvhd4lbh9"; depends=[BaylorEdPsych circular forecast infotheo mgcv missForest MVN nonlinearTseries plot3D rgl stinepack stlplus tcltk2 tkrplot tseries tseriesChaos zoo]; };
   KenSyn = derive2 { name="KenSyn"; version="0.2"; sha256="19xbdgxafrgxwz7swg7gzrkxszxy7ksgnmz96sar8ysmwrp7dz9i"; depends=[lme4 metafor nlme]; };
   Kendall = derive2 { name="Kendall"; version="2.2"; sha256="0z2yr3x2nvdm81w2imb61hxwcbmg14kfb2bxgh3wmkmv3wfjwkwn"; depends=[boot]; };
   KernSmooth = derive2 { name="KernSmooth"; version="2.23-15"; sha256="1xhha8kw10jv8pv8b61hb5in9qiw3r2a9kdji3qlm991s4zd4wlb"; depends=[]; };
@@ -1722,15 +1763,15 @@ in with self; {
   Kernelheaping = derive2 { name="Kernelheaping"; version="2.1.8"; sha256="03m5dwgm98x6ncifyyp2yxln4bm87rkrx84bdihywjd0x73pbklv"; depends=[fastmatch ks magrittr MASS mvtnorm plyr sp sparr]; };
   KnapsackSampling = derive2 { name="KnapsackSampling"; version="0.1.0"; sha256="17yzmd11k1n5iy54vbcvpzvkm8ypbl6n1kfi931wwrrcq9y7hg22"; depends=[lpSolve]; };
   Knoema = derive2 { name="Knoema"; version="0.1.13"; sha256="10r7gpr39f32h4znmh8kywcs0l2g9ij75qqcyd3ai1fyif54wyqc"; depends=[base64enc digest httr jsonlite lubridate xts zoo]; };
-  KnowBR = derive2 { name="KnowBR"; version="1.5"; sha256="18xcdlzr8ipsv4zxmk3424apqrgzgf87h00lwjw5ll2y99vy2ds5"; depends=[fossil mgcv plotrix sp vegan]; };
+  KnowBR = derive2 { name="KnowBR"; version="1.7"; sha256="1h5xpj7cqj6130rwsd6bssvwmzc6ldb5wbjgqw7bc588ll1q5rsg"; depends=[fossil mgcv plotrix sp vegan]; };
   KoNLP = derive2 { name="KoNLP"; version="0.80.1"; sha256="1chj8kv1l405dm0jcsxjjjxx395z05sfxbcc5vxnpbydx7lxa6zy"; depends=[devtools hash rJava RSQLite Sejong stringr tau]; };
   KoulMde = derive2 { name="KoulMde"; version="3.0.0"; sha256="01mczlrdrfwdp2cj10kdqay3qpg8xf2v7vym62pll9l8n595snrl"; depends=[Rcpp]; };
   Kpart = derive2 { name="Kpart"; version="1.2.1"; sha256="0jx5rqiw0y9hc1czg75iy4jvd993d7dri90s4iiskbg6x6z65mi9"; depends=[leaps]; };
-  KraljicMatrix = derive2 { name="KraljicMatrix"; version="0.2.0"; sha256="0vw95py3pk2r9kxvf6v4fq8m5zm9fr83acwxg3m8x6bvq51layma"; depends=[dplyr ggplot2 magrittr tibble]; };
+  KraljicMatrix = derive2 { name="KraljicMatrix"; version="0.2.1"; sha256="0yzilmiiyzd2x3v0cnjphf0wdwiblh37kgrvmfrdy49qly48pvi2"; depends=[dplyr ggplot2 magrittr tibble]; };
   KrigInv = derive2 { name="KrigInv"; version="1.3.1"; sha256="0fcfv2vl572l8qp1ilhjai6zrw15bf1z41qm7xlfspfbj611ga7k"; depends=[DiceKriging pbivnorm randtoolbox rgenoud]; };
   L1pack = derive2 { name="L1pack"; version="0.38.19"; sha256="09n1045lsx1ap47mhzcqghmwwhj24kvpjjr3ysprj058jp5g7ri0"; depends=[]; };
   LAGOSNE = derive2 { name="LAGOSNE"; version="1.1.0"; sha256="08sf4mm40gv9mr57pxsl1b62s2dqvbvrhy2irzqspyqk5ai2aw0m"; depends=[curl dplyr lazyeval magrittr purrr rappdirs sf stringr]; };
-  LAM = derive2 { name="LAM"; version="0.1-22"; sha256="0gj4j5yqyllxbhz6iayh0w473hzq0xc1r9dlyxhh67k9mg951phb"; depends=[CDM coda Rcpp RcppArmadillo sirt]; };
+  LAM = derive2 { name="LAM"; version="0.2-9"; sha256="0znkh25aa2vv3h3rfqdaadk58c2p7rwfw8xx5i8fs6dzyvx6c99l"; depends=[CDM coda Rcpp RcppArmadillo sirt TAM]; };
   LANDD = derive2 { name="LANDD"; version="1.1.0"; sha256="13szkww9nw8zywfrqd8mwgj9csgragm0bx8ia52rcpakpc3hv3hx"; depends=[BH doParallel fdrtool foreach GGally ggplot2 GOSemSim GOstats igraph intergraph Matrix modeest mvtnorm pROC Rcpp]; };
   LARF = derive2 { name="LARF"; version="1.4"; sha256="1sqib7smgjacn07ishwls1nlbvcb6fpp1vhrjwf9g4xf9jk30i8h"; depends=[Formula]; };
   LBSPR = derive2 { name="LBSPR"; version="0.1.2"; sha256="09jvdjagf4icnigbfw18z36ya4llg84fa6j2khd22cl60y81r5i3"; depends=[dplyr ggplot2 gridExtra plotrix RColorBrewer Rcpp shiny tidyr]; };
@@ -1744,9 +1785,9 @@ in with self; {
   LDAvis = derive2 { name="LDAvis"; version="0.3.2"; sha256="1y9wd379rfv3rd3f65ll21nvh6i8yafvv11f8gw8nn06194dgfzg"; depends=[proxy RJSONIO]; };
   LDOD = derive2 { name="LDOD"; version="1.0"; sha256="0mf2sy01yv57mqicrz08a17m6crigklx6fmw9zpxv7g85qw1iq4v"; depends=[Rmpfr Rsolnp]; };
   LDPD = derive2 { name="LDPD"; version="1.1.2"; sha256="1khdx8vwlpliyjc4sxcdiywbxl8lc9f5s3457vcip1j8dv537lbm"; depends=[MASS nleqslv]; };
-  LDRTools = derive2 { name="LDRTools"; version="0.2"; sha256="0k4j3l21n8b3nvhmfjhwhs3klw09a0dz6cl6gmi2yx7jr21ar6xc"; depends=[]; };
+  LDRTools = derive2 { name="LDRTools"; version="0.2-1"; sha256="05srfyplsypi3whfa71lx7pnad23irpf0p7rxmrpv28jgdmrz6wf"; depends=[]; };
   LDcorSV = derive2 { name="LDcorSV"; version="1.3.2"; sha256="0lvk3xz400yd3w0cjdfi6hir1ym1mffd504vycwgck5fkzljpcvx"; depends=[]; };
-  LDheatmap = derive2 { name="LDheatmap"; version="0.99-2"; sha256="0n80l4wl9rs4ps8h2bjpar5nidq7bg05d6675wiwanx24q6fc0bs"; depends=[chopsticks genetics]; };
+  LDheatmap = derive2 { name="LDheatmap"; version="0.99-4"; sha256="1xdvpydnrlzb6q4hm0rcflf0vysww1xszj6ynly6a32xqmhg0sbq"; depends=[genetics snpStats]; };
   LDtests = derive2 { name="LDtests"; version="1.0"; sha256="1jwqr7zlp9hv7vw8xp80xvrwbdv796wjgr914v393wfa07j5wbd1"; depends=[]; };
   LEANR = derive2 { name="LEANR"; version="1.4.9"; sha256="053xy13ys5hibafdnbkwqdk36hw7dhanp4frfacpfpn5f9nfh95r"; depends=[foreach igraph]; };
   LEAP = derive2 { name="LEAP"; version="0.2"; sha256="1yrhanxvr7krvllqzv17qkc4wvmd7mgl57am8sn53773dbfipfc4"; depends=[]; };
@@ -1762,28 +1803,31 @@ in with self; {
   LIM = derive2 { name="LIM"; version="1.4.6"; sha256="03x1gnm06bw1wrzc01110bjzd2mvjdzbc2mbrazh22jrmb32w5d8"; depends=[diagram limSolve]; };
   LINselect = derive2 { name="LINselect"; version="1.1"; sha256="1dx97pnfwlv6w00qp8b2ah8jl1arfh39x1vzry8zrxgxisq407wq"; depends=[elasticnet gtools MASS mvtnorm pls randomForest]; };
   LIStest = derive2 { name="LIStest"; version="2.1"; sha256="1gk253v3f1jcr4z5ps8nrqf1n7isjhbynxsi9jq729w7h725806a"; depends=[]; };
+  LLM = derive2 { name="LLM"; version="1.0.0"; sha256="0x4488mg8q4nhyjhqlzkwmh51frkkjn0gir22rk8rfzg4r6d18d6"; depends=[partykit RWeka stringr]; };
   LLSR = derive2 { name="LLSR"; version="0.0.2.0"; sha256="0nxp1sfnhgf0iqfhwqvr7a0mvs3swsj2l0shcyrb3zliyd23g5ax"; depends=[digest ggtern rootSolve svDialogs XLConnect]; };
   LMERConvenienceFunctions = derive2 { name="LMERConvenienceFunctions"; version="2.10"; sha256="08jz0i7sv7gn3bqckphbmnx0kc6yjnfvi06iyf7pcdzjaybxhj06"; depends=[fields LCFdata lme4 Matrix mgcv rgl]; };
-  LMest = derive2 { name="LMest"; version="2.4.1"; sha256="06ak1aqk2sg4brdb09g3x7gkjbb3p11fwwnin3h67j8wh510ihyi"; depends=[MASS MultiLCIRT]; };
+  LMest = derive2 { name="LMest"; version="2.4.2"; sha256="0a0azn3lyy0n1882c0zxf7f1b0h26rcck8mmsbh2wxg7r3nckkrd"; depends=[MASS MultiLCIRT]; };
   LMfilteR = derive2 { name="LMfilteR"; version="0.1.1"; sha256="0wjrnzki6mnar3lxfr2mcvk98b58qkqpbb9xx7vgrw567g1ga1ig"; depends=[MASS]; };
   LN0SCIs = derive2 { name="LN0SCIs"; version="0.1.5"; sha256="09zr6lrvv7lw9qp3vz4n2dv0v3q7wq06wwvwpb2pm0r335bnrf89"; depends=[]; };
-  LNIRT = derive2 { name="LNIRT"; version="0.2.0"; sha256="02gaqn2pixry6qgybwszsv60pk6hzdd51axchkq3ma3gb6biw4fv"; depends=[MASS]; };
+  LNIRT = derive2 { name="LNIRT"; version="0.3.0"; sha256="1xlfk3a0x8abs6xwsm9s50nvi53s1a7nhnskhvjbi3rdzkvkrwxl"; depends=[MASS]; };
   LOGICOIL = derive2 { name="LOGICOIL"; version="0.99.0"; sha256="1wgg7kigzzk5ghjn3hkjf1bb8d6mvjfmkwq64phri5jpxd742ps9"; depends=[nnet]; };
   LOGIT = derive2 { name="LOGIT"; version="1.3"; sha256="1nx9ycrys0p08xr1n7bqgn47k5wz1zbp6w5pwsqk5c6f6did2rs1"; depends=[caret e1071 ggplot2 MASS pROC reshape]; };
   LOST = derive2 { name="LOST"; version="1.3"; sha256="01ymnczsnfml04hb6hbi041khkz2aki78qr3hriw7n3bzs5i7xim"; depends=[e1071 gdata MASS miscTools pcaMethods rgl shapes]; };
   LPCM = derive2 { name="LPCM"; version="0.45-0"; sha256="15gpb59556s28npdsw1r821rld7b11y1m2m97m320n9k0z4vbk3i"; depends=[]; };
+  LPGraph = derive2 { name="LPGraph"; version="1.0"; sha256="0hbcllrvjsgkapkf28957y47jrhajrk7j67iw36bxpbb25xfvl7i"; depends=[car SDMTools]; };
   LPKsample = derive2 { name="LPKsample"; version="1.0"; sha256="0vxps8zd9zg1aw4p2qd8wamcjkbl68yvppnlvshm2ry5dahwz1wk"; depends=[apcluster igraph mclust]; };
   LPM = derive2 { name="LPM"; version="2.7"; sha256="1anjgflj1272xrghn3s9a21f2dfggppnzjqh3p8zaid91bzg0g34"; depends=[fracdiff MASS QRM]; };
   LPR = derive2 { name="LPR"; version="1.0"; sha256="16kmfm6p7cwnzpd054ik0cy0ipif6zssdfyxyfm0cijz8z4z40x7"; depends=[doParallel foreach glmnet iterators lattice Matrix slam]; };
   LPS = derive2 { name="LPS"; version="1.0.10"; sha256="0gf3jmhfki01z8fm5xdx59gxvhgzqd10x2iwa8369iz9dvwbjk8j"; depends=[]; };
   LPStimeSeries = derive2 { name="LPStimeSeries"; version="1.0-5"; sha256="0jmcy8076w4bzfnxaq2m3s60c1wdmywkwzfyrc19wdm8idf666wh"; depends=[RColorBrewer]; };
   LPTime = derive2 { name="LPTime"; version="1.0-2"; sha256="08lb6884kj9pg12mzx67fdnqb86x5s6yzb72hh3nrz50awj1f8nn"; depends=[orthopolynom]; };
+  LPWC = derive2 { name="LPWC"; version="0.99.2"; sha256="1cir7w4rrpw7iqc1waf5aijk41hl19mdg1q7ml7mi0js88xy0a0y"; depends=[]; };
   LPmerge = derive2 { name="LPmerge"; version="1.6"; sha256="0xc06s2p7n151lzrp0dcrrxk8zmd816dc7qbnbcail5c1bhvdqhd"; depends=[Matrix Rglpk]; };
   LRTH = derive2 { name="LRTH"; version="1.3"; sha256="08vakwb7ca7956gifynzijka441yyx0wd5bq5jfhz56lzcxgfb99"; depends=[]; };
   LRcontrast = derive2 { name="LRcontrast"; version="1.0"; sha256="0fs06p853r42nws2camvs87py39hb1ssxhfm6d5n9kkq81snfx4q"; depends=[DoseFinding]; };
   LS2W = derive2 { name="LS2W"; version="1.3-3"; sha256="0pdsv7ld0j116rh94m5y1i2mwrzc80fqxmc6ykc51i1sj6ws3i5k"; depends=[wavethresh]; };
   LS2Wstat = derive2 { name="LS2Wstat"; version="2.0-3"; sha256="0wkh1a6xbp3qg5favxsj166jcgdza16zki675gswxckana6s4is7"; depends=[geoR LS2W matrixStats RandomFields spdep]; };
-  LSAfun = derive2 { name="LSAfun"; version="0.5.1"; sha256="0wj2j53jizg014sppag9zbs5hzc3mvpg1fx1s7l4ff6rabhgvlff"; depends=[lsa rgl]; };
+  LSAfun = derive2 { name="LSAfun"; version="0.5.2"; sha256="114qhnx4dr7ywh3fzkjd35xygpnn74g5nv66ahj7hf5w0gg13ws9"; depends=[lsa rgl]; };
   LSAmitR = derive2 { name="LSAmitR"; version="1.0-1"; sha256="0p1j4q1b7488wbwl2c9py6ldq2j7ri1dvnmmknx5lwvzv0xsawsd"; depends=[Hmisc lme4]; };
   LSC = derive2 { name="LSC"; version="0.1.5"; sha256="1nlnwqb24sbgvl96azh8a833ij5xknjr2wr8shs59lm2n63a3ql9"; depends=[fields gam LICORS Matrix RColorBrewer]; };
   LSD = derive2 { name="LSD"; version="4.0-0"; sha256="0fsp3pwrnnic9mzkd6yxa4bnxbvg68712lb20vd42wf6jb39r2h3"; depends=[]; };
@@ -1791,11 +1835,11 @@ in with self; {
   LSDsensitivity = derive2 { name="LSDsensitivity"; version="0.1.4"; sha256="1gfd890vr31ab37xbx7yhwbqk6y659d0dqyir7vrgma48cd0nidv"; depends=[abind car DiceKriging kSamples LSDinterface randtoolbox rgenoud sensitivity tseries]; };
   LSMonteCarlo = derive2 { name="LSMonteCarlo"; version="1.0"; sha256="0w5042phkba5dw92r67ppp2s4khjpw5mm701dh9dya9lhj88bz6s"; depends=[fBasics mvtnorm]; };
   LSPFP = derive2 { name="LSPFP"; version="1.0.0"; sha256="074qd7zxa54cawipmba1khb6hyrkg553vc25gf2z0ydyv14shm0w"; depends=[bit64 data_table R_utils RCurl seqinr tcltk2]; };
-  LSRS = derive2 { name="LSRS"; version="0.1.0"; sha256="13xfh2v0xnsvvxayvl9mkhdzd5x3qqdlqsa109z3j9yrhs3615ha"; depends=[]; };
+  LSRS = derive2 { name="LSRS"; version="0.2.0"; sha256="0p70v5vbxi1rf055mqgsp8v0lxnaj53bmbghli1764yn3x1k3iw6"; depends=[]; };
   LSTS = derive2 { name="LSTS"; version="1.0"; sha256="1vgdqyj6k50gqfffqfb4n3sw27jrq21nl2h8sz8942w4a8fn7sgv"; depends=[]; };
   LTPDvar = derive2 { name="LTPDvar"; version="1.2"; sha256="0r9v5g5y9n85jdcvm7zpapm73ism48m3mmybpcmgcs028h2ndv7v"; depends=[]; };
   LTR = derive2 { name="LTR"; version="1.0.0"; sha256="15g5hbrwhab80sarbjgwzvsn6c4fl18h014kz5fpzf0n1rijybik"; depends=[]; };
-  LTRCtrees = derive2 { name="LTRCtrees"; version="1.0.0"; sha256="08wkhd7sqk0q9sahg6bd1m2xgl5yk9ldvripa6vyps0nni1h8lb6"; depends=[interval inum partykit rpart survival]; };
+  LTRCtrees = derive2 { name="LTRCtrees"; version="1.1.0"; sha256="07mvbk3hwl240r46ahha0a4fzq96awk963zl8dhky51b6abp83gz"; depends=[icenReg inum partykit rpart survival]; };
   LVMMCOR = derive2 { name="LVMMCOR"; version="0.01.1"; sha256="1lq4hqcg0qkywdr4a22m1fr3m97749mm6n2jzdj9i7jrf0agc1fs"; depends=[MASS nlme]; };
   LW1949 = derive2 { name="LW1949"; version="1.1.0"; sha256="147ymp7j98ihp1dcz3p5v9ar6h767phjdnga5q5vf1wwa2mxawg7"; depends=[MASS mgcv plotrix]; };
   LZeroSpikeInference = derive2 { name="LZeroSpikeInference"; version="1.0.3"; sha256="15x29afaq13iwlj66h97k3kczg9rfgp6i9d76rji58hfgh8i8by6"; depends=[]; };
@@ -1817,9 +1861,10 @@ in with self; {
   LeLogicielR = derive2 { name="LeLogicielR"; version="1.2"; sha256="0h52pzrksi1mn55mnxbfi61hl7x61cnkhp450slfrk68f6kp30x6"; depends=[gdata IndependenceTests RColorBrewer xtable]; };
   LeafAngle = derive2 { name="LeafAngle"; version="1.2-1"; sha256="0g3i5300f3rvjz7g7z8s5n8xdcsp41gf1vnr4g36m1likddfpxlx"; depends=[]; };
   LeafArea = derive2 { name="LeafArea"; version="0.1.7"; sha256="0pn6hh9ipr609pi49ls8wxnx7v8q1wyp84i22zzwxyzwaap5nmj2"; depends=[]; };
-  LearnBayes = derive2 { name="LearnBayes"; version="2.15"; sha256="0cz2rgqy1cmdz2h1qbdvfqxmmdzmg2z1scdlxr7k385anha13ja5"; depends=[]; };
+  LearnBayes = derive2 { name="LearnBayes"; version="2.15.1"; sha256="0ch54v2zz2yyyk0lvn5rfikdmyz1qh9j1wk3585wl8v58mc0h4cv"; depends=[]; };
   LearnGeom = derive2 { name="LearnGeom"; version="1.3"; sha256="0fqf5k3gsdxwyfcbkypqiq0ir8ay8r9bdy8iljhj308ammq0mxzk"; depends=[RgoogleMaps]; };
   LendingClub = derive2 { name="LendingClub"; version="1.0.4"; sha256="03pgarbraj6in7pk7zaci98aq6dh52vsqb64my5p0bczgl2cpzmm"; depends=[dplyr httr jsonlite plyr]; };
+  LexisNexisTools = derive2 { name="LexisNexisTools"; version="0.1.2"; sha256="0ziy86l6q01l471lmpldhs48xqlyw1va75np5hkzaq5wapr9pfk4"; depends=[data_table quanteda scales stringdist stringi]; };
   LexisPlotR = derive2 { name="LexisPlotR"; version="0.3"; sha256="1qdgs6p11j0ign27bbnn32g65sw42982ijrig5cwqsdvxpdabjl8"; depends=[ggplot2]; };
   LiblineaR = derive2 { name="LiblineaR"; version="2.10-8"; sha256="17ykazac7iv02bxl8xg948vhbdr32icdm1v4bk31zmslp4xsk08g"; depends=[]; };
   LiblineaR_ACF = derive2 { name="LiblineaR.ACF"; version="1.94-2"; sha256="1ldkb63yhm1ki8i585wp5byx6y0kvclwy3ncacgcdqqk0p41cyi6"; depends=[]; };
@@ -1843,9 +1888,8 @@ in with self; {
   LocalControl = derive2 { name="LocalControl"; version="1.1.0"; sha256="0hfm8lllsg5h95ib0h89hbhwcnk2959y9i3kllwmxhmqbirvlpx9"; depends=[cluster gss lattice Rcpp]; };
   Lock5Data = derive2 { name="Lock5Data"; version="2.8"; sha256="17awskq78h23z2dy96d7hziljhnkx5phpd48q7cppxidyvzfywim"; depends=[]; };
   Lock5withR = derive2 { name="Lock5withR"; version="1.2.2"; sha256="10x3i11pb4cig4pgfmw9984na5zjbg7d41y6crakiimf53ihx0c2"; depends=[]; };
-  LogConcDEAD = derive2 { name="LogConcDEAD"; version="1.5-9"; sha256="135vkp70q6gn75ds43aq08y13vrsgsgykssmnhrh6545i86vmhhi"; depends=[MASS mvtnorm]; };
+  LogConcDEAD = derive2 { name="LogConcDEAD"; version="1.6-1"; sha256="1hy7fnahncpsgqxfy352lxk298i69w7drlspsgdvpzdbghca3y3i"; depends=[MASS mclust mvtnorm rgl tkrplot]; };
   LogicForest = derive2 { name="LogicForest"; version="2.1.0"; sha256="0zdyyi6wka0568414f1kw91rx04y76n1k11wxd4r8svb5wybjhp5"; depends=[CircStats gtools LogicReg plotrix]; };
-  LogicOpt = derive2 { name="LogicOpt"; version="1.0.0"; sha256="15wcc2655vn1yz9gwxmqm9n1lmybk2gf4nlwz4i02kk4gabdazz0"; depends=[]; };
   LogicReg = derive2 { name="LogicReg"; version="1.5.9"; sha256="0rxzhbf51psdj7wb2dcah16y8f5q7y8p0yybz54rm00d1qagl6nq"; depends=[survival]; };
   LogisticDx = derive2 { name="LogisticDx"; version="0.2"; sha256="0ciygvynnyajpn1glxy6mwj9vbl7iv8a8dfsi6wxjxp2rac68rig"; depends=[aod data_table pROC RColorBrewer rms speedglm statmod]; };
   LogitNet = derive2 { name="LogitNet"; version="0.1-1"; sha256="08xi5rpbqkc1b3qj24blv3l0r68wcqbsbjcqxiypm75f3c2irc4i"; depends=[]; };
@@ -1856,10 +1900,10 @@ in with self; {
   LowWAFOMNX = derive2 { name="LowWAFOMNX"; version="1.1.1"; sha256="0f75qsv6pisgvk39yagzfxscnyfsgh63rmhp4gpybpl0pqmjp48x"; depends=[Rcpp RSQLite]; };
   LowWAFOMSobol = derive2 { name="LowWAFOMSobol"; version="1.1.1"; sha256="1ym3i2m1am356di9lcp5nfmxq0np3c4bwsv6bbmf7hg02j7dhwi4"; depends=[Rcpp RSQLite]; };
   LumReader = derive2 { name="LumReader"; version="0.1.0"; sha256="1h2r3c9xkwlnaicn65085bdx7y86ha2fpd5mxirqax5lm6d8lirc"; depends=[gridExtra lattice plotly shiny]; };
-  Luminescence = derive2 { name="Luminescence"; version="0.7.5"; sha256="07v78diyjvbymwidpa9f5bykaafczv0f88f6r926mk949sj1ici4"; depends=[bbmle data_table httr magrittr matrixStats minpack_lm raster Rcpp RcppArmadillo readxl shape XML zoo]; };
+  Luminescence = derive2 { name="Luminescence"; version="0.8.3"; sha256="0mrmxz5b1px44h50ai25lza67k2ji78sdi1b6nd373kpmix5kxa1"; depends=[bbmle data_table httr magrittr matrixStats minpack_lm plotrix raster Rcpp RcppArmadillo readxl shape XML zoo]; };
   M3 = derive2 { name="M3"; version="0.3"; sha256="1l40alk166lshckqp72k5zmsgm7s5mgyzxlp11l64mgncjwkw2r3"; depends=[mapdata maps ncdf4 rgdal]; };
   MADPop = derive2 { name="MADPop"; version="1.1"; sha256="1w2jbiki6d14y32p8a50b8g53m1iva2kgik14yg27z5hx1rwwq97"; depends=[BH Rcpp RcppEigen rstan StanHeaders]; };
-  MAGNAMWAR = derive2 { name="MAGNAMWAR"; version="2.0.2"; sha256="11031gmc6zrhn6vdzza4qqvwc48h09kbvkikqznqr9hhkysv7c11"; depends=[ape coxme doParallel dplyr foreach iterators lme4 multcomp plyr qqman seqinr survival]; };
+  MAGNAMWAR = derive2 { name="MAGNAMWAR"; version="2.0.3"; sha256="0xv4ldyjp6pa2jk81al5ldvm72ywzb9fmwim8l97xcbydm5wxjcx"; depends=[ape coxme doParallel dplyr foreach iterators lme4 multcomp plyr qqman seqinr survival]; };
   MAINT_Data = derive2 { name="MAINT.Data"; version="1.2.1"; sha256="0fmlmb88005diqwbxlgkzzb7bvxpdkiqiadp649id3mgcz100kcd"; depends=[MASS mclust miscTools pcaPP Rcpp RcppEigen robustbase rrcov sn]; };
   MALDIquant = derive2 { name="MALDIquant"; version="1.17"; sha256="047s6007ydc38x8wm027mlb4mngz15n0d4238fr8h43wyll5zy0z"; depends=[]; };
   MALDIquantForeign = derive2 { name="MALDIquantForeign"; version="0.11.1"; sha256="1aj6gakhbpis576b264s43w55dhmd5rszj54z910plybxq8hzmir"; depends=[base64enc digest MALDIquant readBrukerFlexData readMzXmlData XML]; };
@@ -1871,9 +1915,9 @@ in with self; {
   MAPA = derive2 { name="MAPA"; version="2.0.4"; sha256="02s223s58k2jk49m0xlz3q9m3nip3h4dl4v58j18z2vgi54dwnjr"; depends=[forecast RColorBrewer smooth]; };
   MAPLES = derive2 { name="MAPLES"; version="1.0"; sha256="0hzsh7z1k7qazpxjqbm9842zgdpl51irg7yfd119a7b2sd3a8li9"; depends=[mgcv]; };
   MAR1 = derive2 { name="MAR1"; version="1.0"; sha256="1r6j890icl5h3m2876sakmwr3c65513xnsj68sy0y0q7xj3a039l"; depends=[bestglm leaps]; };
-  MARSS = derive2 { name="MARSS"; version="3.9"; sha256="0vn8axzz0nqdcl3w00waghz68z8pvfm764w11kxxigvjpw2plj31"; depends=[KFAS mvtnorm nlme]; };
+  MARSS = derive2 { name="MARSS"; version="3.10.8"; sha256="1cmkish5rbv7lpm8fnv6d33plkfvxis4r4p48bx10fll1ba11m7h"; depends=[KFAS mvtnorm nlme]; };
   MARX = derive2 { name="MARX"; version="0.1"; sha256="1yanv7q5l8ybw3mh0rvhxyqi2sp8w4b9vnas7lpqflc06j4nnv4p"; depends=[fBasics matlab stabledist tseries]; };
-  MASS = derive2 { name="MASS"; version="7.3-48"; sha256="02q95ba909p2gxnzfp295ipxjnv14f7bm55nicxwn2kj8hizpzqd"; depends=[]; };
+  MASS = derive2 { name="MASS"; version="7.3-49"; sha256="1yjbnj1p4z0vw84wga8q5fyqiw4n6r7pc6rdwam7vsbiamyzfcqs"; depends=[]; };
   MASSTIMATE = derive2 { name="MASSTIMATE"; version="1.3"; sha256="0dsqinl6998jv63m6scljszpi0qb050gj5d4wnp0pcxfs9awi2gj"; depends=[]; };
   MAT = derive2 { name="MAT"; version="2.2"; sha256="093axw2zp4i3f6s9621zwibcxrracp77xrc0q5q0m4yv3m35x908"; depends=[Rcpp RcppArmadillo]; };
   MATA = derive2 { name="MATA"; version="0.3"; sha256="006mnc4wqh9vdigfzrzx4csgczi0idvlwb6r23w5mmsfbn0ysdm5"; depends=[]; };
@@ -1891,11 +1935,12 @@ in with self; {
   MBHdesign = derive2 { name="MBHdesign"; version="1.0.79"; sha256="1qz0igm8h3ij8yc9bg3vr3mkmf99h1kyxscdhkfphc66zaazhyw1"; depends=[class geometry mgcv mvtnorm randtoolbox]; };
   MBI = derive2 { name="MBI"; version="1.0"; sha256="1lb0sjwa6x360n9a9pagz6yhxh37gxq1fk0f5c3i2sd56ny9jpns"; depends=[]; };
   MBSGS = derive2 { name="MBSGS"; version="1.1.0"; sha256="1h5vhmpgrqza12j7ivhwgd5wyb7kkb8mjbxl5w756vyid8g03flz"; depends=[MASS MCMCpack mgcv mnormt truncnorm]; };
+  MBSP = derive2 { name="MBSP"; version="1.0"; sha256="0mds6jfqgmnm4saqqqqqfcg8zh4qsvd2503g3ij1sn70f0aakwaj"; depends=[coda GIGrvg MASS Matrix MCMCpack]; };
   MBTAr = derive2 { name="MBTAr"; version="1.0.1"; sha256="0zak19pdk0wwkhl4kj1jbwx0qmqcgpmmqv3vk0wg8nwgf1l65idy"; depends=[jsonlite]; };
   MBmca = derive2 { name="MBmca"; version="0.0.3-5"; sha256="0p7ddpsy4hwkfwyyszidi33qpdg4xllny7g9x24gk782p7kjfgq9"; depends=[chipPCR robustbase]; };
   MC2toPath = derive2 { name="MC2toPath"; version="0.0.16"; sha256="0jdn9wpxavn2wrml907v23mfxr62wwjdh7487ihjj59g434ry7wh"; depends=[RNetCDF]; };
   MCAvariants = derive2 { name="MCAvariants"; version="2.0"; sha256="0akff64v49d5r0wvspal0pz17jhz1ry4vdmj47m28gzjj69zcab0"; depends=[]; };
-  MCDA = derive2 { name="MCDA"; version="0.0.18"; sha256="1m8kf8xxli3dbbabrcanpsmsmywf21ma0nb9jq2phz7ifgladdyi"; depends=[combinat glpkAPI RColorBrewer Rglpk]; };
+  MCDA = derive2 { name="MCDA"; version="0.0.19"; sha256="0r8l6q5aisjfk0xpv4pyccnngjlkm3978lba62rspd9kyhjlz64n"; depends=[combinat glpkAPI RColorBrewer Rglpk]; };
   MCDM = derive2 { name="MCDM"; version="1.2"; sha256="0r27y9mqvfnv1m0yi2xdyjr4y1s43d5yav960kz2xa732hrrxw01"; depends=[RankAggreg]; };
   MCI = derive2 { name="MCI"; version="1.3.3"; sha256="1wn8lcr5sq3697nsmly6syb9jv7p99ks0fy933ff5rx54x3rf9hz"; depends=[]; };
   MCL = derive2 { name="MCL"; version="1.0"; sha256="1w36h4vhd525h57pz6ik3abbsrvxnkcqypl2aj1ijb6wm7nfp4ri"; depends=[expm]; };
@@ -1904,9 +1949,9 @@ in with self; {
   MCMC4Extremes = derive2 { name="MCMC4Extremes"; version="1.1"; sha256="06p6xdbja7vrdq4vnhybpkmyf4rkaihcmy9sc81sb0h2wa21vcq0"; depends=[evir]; };
   MCMCglmm = derive2 { name="MCMCglmm"; version="2.25"; sha256="0crici0g6x2471kk9092f72gc6ghbwwqid3w8jsnsvy6ymmk2wih"; depends=[ape coda corpcor cubature Matrix tensorA]; };
   MCMCpack = derive2 { name="MCMCpack"; version="1.4-2"; sha256="1nizmfxyyrp0sbmyprgm97xmi3amxwix1gj7p9v0sjjklv1djap4"; depends=[coda lattice MASS mcmc quantreg]; };
-  MCMCprecision = derive2 { name="MCMCprecision"; version="0.3.7"; sha256="0pbyg6v478di1w9cpp2rmhr4p5ncnwmks042981snqc5gnwysjx4"; depends=[combinat Matrix Rcpp RcppArmadillo RcppEigen RcppProgress]; };
-  MCMCvis = derive2 { name="MCMCvis"; version="0.9.4"; sha256="0pfj14pji0dqzlq6vy76prkh8m0hj784yjr5lz3p68kviwzrk9r6"; depends=[coda overlapping rstan]; };
-  MCPAN = derive2 { name="MCPAN"; version="1.1-20"; sha256="0j36dhi3bf3q14bbcmrmipz2fcn6g9gsqidzm43i8x5r7hcvv2lh"; depends=[magic MCMCpack multcomp mvtnorm plyr]; };
+  MCMCprecision = derive2 { name="MCMCprecision"; version="0.3.8"; sha256="1qyhxljfcnyj7450vik4j81qilvphwc1b2xv48fnx1pnapfl45wz"; depends=[combinat Matrix Rcpp RcppArmadillo RcppEigen RcppProgress]; };
+  MCMCvis = derive2 { name="MCMCvis"; version="0.10.0"; sha256="1yw4xrbkl2mdylvibnqy14v211a1h5knqgpp0syplvjaysjk9irm"; depends=[coda overlapping rstan]; };
+  MCPAN = derive2 { name="MCPAN"; version="1.1-21"; sha256="0q1m0xg8825q9zjwxcz2h2n0dyr21q5bk29qbqpdhirlwm6f1a51"; depends=[magic MCMCpack multcomp mvtnorm plyr]; };
   MCPMod = derive2 { name="MCPMod"; version="1.0-10"; sha256="0ns74qhm9bzi70m9bn61zs4mmqmmxxi77f49pdrcnr8wrrnn1kdn"; depends=[lattice mvtnorm]; };
   MCPerm = derive2 { name="MCPerm"; version="1.1.4"; sha256="0g65vzn43k6qrsglxd2kz245f662gl3c2gdz6qvvxa96v6q9lhh1"; depends=[metafor]; };
   MCS = derive2 { name="MCS"; version="0.1.3"; sha256="1kiz1jq1bm2n8f33nsybp5jfrzzl9xbsi3m9l8818ybmph99xms6"; depends=[]; };
@@ -1920,6 +1965,7 @@ in with self; {
   MDSMap = derive2 { name="MDSMap"; version="1.0"; sha256="15557ca83bvsqcmsa48vispagg9a05658i22cqk706shjsp782n5"; depends=[princurve reshape rgl smacof]; };
   MDimNormn = derive2 { name="MDimNormn"; version="0.8.0"; sha256="080m0irx5v8l45fg9ig5yzcj92s3ah8a9aha288byszli1cchgpn"; depends=[]; };
   MDplot = derive2 { name="MDplot"; version="1.0.1"; sha256="1xijh18hrkb807nfkdr7g642aspn5psc8nw29q387jl5hly2w8s9"; depends=[gplots gtools MASS RColorBrewer]; };
+  MED = derive2 { name="MED"; version="0.1.0"; sha256="0fy0qmxirkdz5kigy2r7l5czjzws0fhjxy13kv1kqh628ldrp109"; depends=[]; };
   MEET = derive2 { name="MEET"; version="5.1.1"; sha256="02xz2zkwqaf1wck9a3h1j6z8dasw4j0zqa88jg6h10wqzcrlp9ba"; depends=[Hmisc KernSmooth Matrix pcaMethods ROCR seqinr seqLogo]; };
   MEGENA = derive2 { name="MEGENA"; version="1.3.6"; sha256="0ylv7kbk0x3rm08aiwci4p3kma08qj4szlw2h1d6wcqmipy93v8s"; depends=[BH cluster doParallel foreach fpc ggplot2 ggrepel igraph Matrix Rcpp reshape]; };
   MEMSS = derive2 { name="MEMSS"; version="0.9-2"; sha256="0wyw8yjs4miwgwdfcnfbzvkxrgv5r3jlg3cg8q2vy7s69wvhksmy"; depends=[lme4]; };
@@ -1929,6 +1975,7 @@ in with self; {
   MExPosition = derive2 { name="MExPosition"; version="2.0.3"; sha256="1l27wp0psfvlkk79fhb8ypf8awardjljg1f37yj42friy9pdfksz"; depends=[ExPosition prettyGraphs]; };
   MF = derive2 { name="MF"; version="4.3.2"; sha256="1arnhyqf1cjvngygcpqk2g4d52949rhkjmclbaskyxcrvp62qln0"; depends=[]; };
   MFAg = derive2 { name="MFAg"; version="1.4"; sha256="092zbl2pxbsvfyf3qssbid14194p0ax2zrw0gzpyqwzdpx0brrlb"; depends=[]; };
+  MFDFA = derive2 { name="MFDFA"; version="1.0"; sha256="1gy1v49525i2bhr14nvpz8rqcz3lchfnvm0g53qlln55jdndgsx4"; depends=[]; };
   MFHD = derive2 { name="MFHD"; version="0.0.1"; sha256="0gb8y297y1x03wy46530psmlawyv4z5dydilk36qcmadlk1wx02k"; depends=[deldir depth depthTools fda_usc matrixStats]; };
   MFKnockoffs = derive2 { name="MFKnockoffs"; version="0.9.1"; sha256="1bcdqfzmllp3dri1phy365wgc9c37wlag65pzljn4p3mf43w10nq"; depends=[corpcor glmnet gtools Matrix Rdsdp RSpectra]; };
   MFT = derive2 { name="MFT"; version="1.3"; sha256="029apjg1fqrqfg98jczbxfy267m3f68qxvxqjzbsw1xisq4j7wc0"; depends=[]; };
@@ -1937,6 +1984,7 @@ in with self; {
   MGRASTer = derive2 { name="MGRASTer"; version="0.9"; sha256="0jmf2900r56v60981sabflkhid3yrqd9xd7crb56vgfl1qkva9zp"; depends=[]; };
   MGSDA = derive2 { name="MGSDA"; version="1.4"; sha256="0grwl740yvz2av5nkvmyyrr8ji5f39sjs1c5gxp6lp9p36i2wc32"; depends=[MASS]; };
   MHCtools = derive2 { name="MHCtools"; version="1.1.0"; sha256="03y6m3a46bzazxkrxdrii2p1fyc26il09z5676c63rk8wz9wcxa0"; depends=[rlist]; };
+  MHTcop = derive2 { name="MHTcop"; version="0.1.0"; sha256="1fhi7inv8zf3ygj4pf8am445ldq9qpwzi3ll4xqwz8d4s6ajx405"; depends=[copula matrixStats MCMCpack mvtnorm stabledist]; };
   MHTdiscrete = derive2 { name="MHTdiscrete"; version="1.0.0"; sha256="0w1hxa3qk8glijhc4h1wrl5xw54zflibgilhs1w872w9wrkxs5ih"; depends=[]; };
   MHTmult = derive2 { name="MHTmult"; version="0.1.0"; sha256="1y3vh2kab6nfkiz4nzdhrpy9h6drk1ibfd2h62hpr3y09z9a2yld"; depends=[]; };
   MHTrajectoryR = derive2 { name="MHTrajectoryR"; version="1.0.1"; sha256="13idcjx7pjpwvr4c52938yqhhaj1gprb8hjhaim3jx4062wf9pla"; depends=[mgcv]; };
@@ -1947,20 +1995,20 @@ in with self; {
   MIIVsem = derive2 { name="MIIVsem"; version="0.5.2"; sha256="0i144v2qjqb26vjym1lh3hbikm882hrwx6kz2ajrica59gyryr37"; depends=[boot car lavaan Matrix numDeriv]; };
   MILC = derive2 { name="MILC"; version="1.0"; sha256="14xsiw5al6kixwvf3ph0dlm8s13gsbqvzb92da6ng3x4iiyb1g0w"; depends=[]; };
   MIPHENO = derive2 { name="MIPHENO"; version="1.2"; sha256="0hcaq66biv4izszdhqkgxgz91mgkjk1yrwq27fx07a2zmzj44sfv"; depends=[doBy gdata]; };
+  MIRL = derive2 { name="MIRL"; version="1.0"; sha256="1l52zpd00rm77vlk4lgnlviz18f7079a4n1gvlmr5syib7cvhfxs"; depends=[boot glmnet MASS mice]; };
   MIXFIM = derive2 { name="MIXFIM"; version="1.0"; sha256="0m4fnmdd8lsdxq629f87lzz1cdc1q0j3q9hqna85ncpflyfwlvg9"; depends=[ggplot2 mvtnorm rstan]; };
   MImix = derive2 { name="MImix"; version="1.0"; sha256="033gxr0z2xba0pgckiigblb1xa94wrfmpgv3j122cdynjch44j4r"; depends=[]; };
   MInt = derive2 { name="MInt"; version="1.0.1"; sha256="1nk02baainxk7z083yyajxrnadg2y1dnhr51fianibvph1pjjkl6"; depends=[glasso MASS testthat trust]; };
   MKLE = derive2 { name="MKLE"; version="0.05"; sha256="00hcihjn3xfkzy0lvb70hl2acjkwk6s3y7l4gprix24shnblvxzi"; depends=[]; };
-  MKmisc = derive2 { name="MKmisc"; version="0.993"; sha256="0zhscicwcppwhpylax69ablkfllgf6f4fmp1gb7yi2cm59f94ny1"; depends=[RColorBrewer robustbase]; };
+  MKmisc = derive2 { name="MKmisc"; version="1.0"; sha256="1ykzj9flq1nx8k7aybd2sh5rd8a2hzk4gwz0iqqsl18k1khzbdla"; depends=[ggplot2 RColorBrewer robustbase]; };
   ML_MSBD = derive2 { name="ML.MSBD"; version="1.0.0"; sha256="1myr4pnznkypb7jjpyr5iv4yh29q9kv6g8gmfh9x3wy96xy15wmz"; depends=[ape]; };
   MLCIRTwithin = derive2 { name="MLCIRTwithin"; version="2.1"; sha256="07fhbhfnlmllxxdpdqiaz6d72y4pj3vrz6lw5rnlb2m7vknx51ik"; depends=[limSolve MASS MultiLCIRT]; };
   MLCM = derive2 { name="MLCM"; version="0.4.1"; sha256="1g6lmw75qdiq0fshxr3sqwm1a3y4928chxkggnfwwxp8hqw4r6px"; depends=[]; };
   MLDS = derive2 { name="MLDS"; version="0.4.5"; sha256="1a5y031kd6zx0zqlk6dvxzsv3isbvg9jap4gqad2jwryh0a9x3c1"; depends=[MASS]; };
   MLEcens = derive2 { name="MLEcens"; version="0.1-4"; sha256="0zlmrcjraypscgs2v0w4s4hm7qccsmaz4hjsgqpn0058vx622945"; depends=[]; };
   MLID = derive2 { name="MLID"; version="1.0.1"; sha256="0ygahmcfbydzic5q3h1ppv5b2ks4lh8mcyfqq27ssmn4g1n6hdvp"; depends=[lme4 nlme]; };
-  MLML2R = derive2 { name="MLML2R"; version="0.1.0"; sha256="11mnwmbfs3dmjcf2bmg04rivp26021gjd56rdkzgrv439p8aq8rs"; depends=[]; };
+  MLML2R = derive2 { name="MLML2R"; version="0.2.0"; sha256="1r8a2sbv7c0xhdacg3gm3x5iml713xbc54c26q5rqx7mdnhsjiqk"; depends=[]; };
   MLPUGS = derive2 { name="MLPUGS"; version="0.2.0"; sha256="1yda37073g640g1qrkjrwa8hbyq6bjlcw3wpznx0bk5h0639bc0s"; depends=[]; };
-  MLRMPA = derive2 { name="MLRMPA"; version="1.0"; sha256="0gfbi70b15ivv76l3i0zlm14cq398nlny40aci3vqxxd0m2lyyx5"; depends=[ClustOfVar]; };
   MLmetrics = derive2 { name="MLmetrics"; version="1.1.1"; sha256="061129b36h7xqw4zsznik694n8yy9qq6aaqfhdxkhdv8n5v1nzvp"; depends=[ROCR]; };
   MM = derive2 { name="MM"; version="1.6-2"; sha256="1z7i8ggd54qjmlxw9ks686hqgm272lwwhgw2s00d9946rxhb3ffi"; depends=[emulator magic Oarray partitions]; };
   MM2S = derive2 { name="MM2S"; version="1.0.5"; sha256="0h10cbsdnndllwq4cb4aamjy104ckvn01skh7rixa1iqdndac9fx"; depends=[GSVA kknn lattice pheatmap]; };
@@ -1969,7 +2017,7 @@ in with self; {
   MMMS = derive2 { name="MMMS"; version="0.1"; sha256="1a71vs3k16j14zgqfd4v92dq9swrb44n9zww8na6di82nla8afck"; depends=[glmnet survival]; };
   MMS = derive2 { name="MMS"; version="3.00"; sha256="06909912v2hr52s8k0a0830lbmdh05dcd7k47vydhbwq3rzf3ahg"; depends=[glmnet Matrix mht]; };
   MMWRweek = derive2 { name="MMWRweek"; version="0.1.1"; sha256="16dwmpj13rzxmd2x7xaakw2zq2aly7ajjbfnc39qvdzk6n2x37wn"; depends=[]; };
-  MNM = derive2 { name="MNM"; version="1.0-2"; sha256="10ikn53filbl5qnwp9d54ds2wmzjgxp5xkkp694q75r5crl4wv65"; depends=[ellipse ICS ICSNP SpatialNP]; };
+  MNM = derive2 { name="MNM"; version="1.0-3"; sha256="16b2yrm2kn943vzrr38qhk6qq20a842xv7iiln4is02csijxw2b3"; depends=[ellipse ICS ICSNP SpatialNP]; };
   MNP = derive2 { name="MNP"; version="3.1-0"; sha256="06qs2vsmjs6rcpqlwfc1n5y5hzxf7pngbdmiza1wijm9hh54ikh0"; depends=[MASS]; };
   MNS = derive2 { name="MNS"; version="1.0"; sha256="0if46a6rw0f2d72wnykkaa5z5b1p2c0r43il6cbwbcnnb3zd8acb"; depends=[doParallel glmnet igraph MASS mvtnorm]; };
   MOCCA = derive2 { name="MOCCA"; version="1.2"; sha256="04smpzn9x64w1vpw4szqa7dwnaak1ls6gpg7fgajs68mv5zivffa"; depends=[cclust clv]; };
@@ -1990,6 +2038,7 @@ in with self; {
   MPSEM = derive2 { name="MPSEM"; version="0.3-3"; sha256="0ir1zlg0vz0nfdair3apa737dw4078lbxyk932755d3rj0cm20c3"; depends=[ape MASS]; };
   MPTinR = derive2 { name="MPTinR"; version="1.10.3"; sha256="0281w5dhg8wmi1rz80xribq437shp4m890c504kggsacr28mbhkw"; depends=[Brobdingnag numDeriv Rcpp RcppEigen]; };
   MPV = derive2 { name="MPV"; version="1.38"; sha256="1w3b0lszqmsz0yqvaz56x08xmy1m5ngl9m6p2pg9pjv13k8dv190"; depends=[]; };
+  MPsychoR = derive2 { name="MPsychoR"; version="0.10-6"; sha256="0lxfsxcry5r619cw751m5wn8wgf08j41cgan67xswn42ir7prdpx"; depends=[]; };
   MRCE = derive2 { name="MRCE"; version="2.1"; sha256="12q7mqn2qkgv992df71k1xmli61khhbfm7lw0n7z2l7qqldpiw1n"; depends=[QUIC]; };
   MRCV = derive2 { name="MRCV"; version="0.3-3"; sha256="0m29mpsd3kackwrawvahi22j0aghfb12x9j18xk4x1w4bkpiscmf"; depends=[tables]; };
   MRFA = derive2 { name="MRFA"; version="0.2"; sha256="1ld9bchldx4y8g0zp2nr6r439f9vqy5xcr9bkv4g4vphm2c5zq72"; depends=[fields foreach glmnet grplasso plyr randtoolbox]; };
@@ -2004,12 +2053,12 @@ in with self; {
   MSBVAR = derive2 { name="MSBVAR"; version="0.9-3"; sha256="0ybkkl3hfff2jgz4a0z105bb0v6jl4dkkqmdg382and8w0mc496c"; depends=[bit coda KernSmooth lattice mvtnorm xtable]; };
   MSCMT = derive2 { name="MSCMT"; version="1.3.2"; sha256="00s4wwggc70w6cg94ff853jnw5hcln6i0719n4xr92cpxaa7irnw"; depends=[ggplot2 lpSolve lpSolveAPI Rdpack Rglpk]; };
   MSG = derive2 { name="MSG"; version="0.3"; sha256="181kzkbw69bs3vir6dzgq7jzp8xcpg1p4isfb660vgnd1flb03ix"; depends=[RColorBrewer]; };
-  MSGARCH = derive2 { name="MSGARCH"; version="2.0"; sha256="16mzsdb5dsbg5sjnmg1clqqy505wx87wgkwc3yzd0i6by681jwq6"; depends=[coda expm fanplot MASS numDeriv Rcpp RcppArmadillo zoo]; };
+  MSGARCH = derive2 { name="MSGARCH"; version="2.1"; sha256="0z4fp37x65ggbn8kx0xbdwq1x18z93azr36smpfqxaykiiwwfa22"; depends=[coda expm fanplot MASS numDeriv Rcpp RcppArmadillo zoo]; };
   MSGLasso = derive2 { name="MSGLasso"; version="2.1"; sha256="1k17vnvzr647pwfbdxrpqcsp34iygq86wf0ns4rq8cj6q5mik1bv"; depends=[]; };
   MSIseq = derive2 { name="MSIseq"; version="1.0.0"; sha256="1v2why1k6pjsc04044nr74571p7541nciq7xkzmya3jq6dw878j3"; depends=[IRanges R_utils rJava RWeka]; };
   MSQC = derive2 { name="MSQC"; version="1.0.2"; sha256="11wcy04cpjlnc71s2svs4lm1cp718dz1p4a1603x6zwpbf22bygn"; depends=[rgl]; };
   MST = derive2 { name="MST"; version="2.1"; sha256="16mnsn2an02k4jrqb6yj0n1i563zny5v10ngfq1y28fqaw6h8yyq"; depends=[Formula MASS partykit survival]; };
-  MSbox = derive2 { name="MSbox"; version="1.0"; sha256="0r6bvw7ddb8lvz5cjvcng9vkc6pn765xgd4bws594jyc0avm0jkx"; depends=[stringr]; };
+  MSbox = derive2 { name="MSbox"; version="1.1"; sha256="0hal7cqfmmcsckysxnwr2qsa2b61ck4zgbdl52w1iqkkvm8qq1x9"; depends=[stringr]; };
   MScombine = derive2 { name="MScombine"; version="1.1"; sha256="0kgz1l4jlhcada3fp02dscf4zx6a22cjxj251838lfz65f512hrn"; depends=[plyr]; };
   MSeasy = derive2 { name="MSeasy"; version="5.3.3"; sha256="191mvg1imxfjlnd808ypn4lsjx7n6ydf16flax79hv01z7rcjylh"; depends=[amap cluster clValid fpc mzR xcms]; };
   MSeasyTkGUI = derive2 { name="MSeasyTkGUI"; version="5.3.3"; sha256="0ihz8vr2wbgy88bzssilgvlhkbr13jznfjvnqy73wpchqgwy0wy6"; depends=[MSeasy]; };
@@ -2026,14 +2075,14 @@ in with self; {
   MVA = derive2 { name="MVA"; version="1.0-6"; sha256="09j9frr6jshs6mapqk28bd5jkxnr1ghmmbv6f4zz0lrg81zjizl3"; depends=[HSAUR2]; };
   MVB = derive2 { name="MVB"; version="1.1"; sha256="0an8b594rknlcz6zxjva6br8f34sgwdi2jil3xh1xzb5fa55dw0f"; depends=[Rcpp RcppArmadillo]; };
   MVLM = derive2 { name="MVLM"; version="0.1.4"; sha256="1zcj405dc4jbiqw6p0fcbam8yc9d6yjpmrx5wjw5zjvig3iqb91k"; depends=[CompQuadForm]; };
-  MVN = derive2 { name="MVN"; version="4.0.2"; sha256="0k8fbhnw2lbjgafab4m6j7nkzclj1226fdiv8bmv5vcm6g82nb19"; depends=[MASS moments mvoutlier nortest plyr psych robustbase]; };
-  MVR = derive2 { name="MVR"; version="1.32.0"; sha256="18arp9xh9dflbmc5zxafy132mnz5xwc6kb9hv51njz602kms70qg"; depends=[statmod]; };
+  MVN = derive2 { name="MVN"; version="5.1"; sha256="1w0q42yqh6c0yl2mkcpn28da59i5svrqg18z2dndnxhvyl46ij3d"; depends=[boot energy kableExtra magrittr MASS moments mvoutlier nortest plyr psych robustbase]; };
+  MVR = derive2 { name="MVR"; version="1.32.1"; sha256="03dbd5nib8cx0rwdi4g9fihbkdxazpvbdjh7sfnavsyyrgnqa31m"; depends=[statmod]; };
   MVT = derive2 { name="MVT"; version="0.3"; sha256="0vinlv3d5daf8q7pd9xgs51nxz2njgdba5750vygmv883srlzi9d"; depends=[]; };
   MVar_pt = derive2 { name="MVar.pt"; version="1.9.9"; sha256="1lhy66k9x9ymj03d4f7wi6rdx60bwgy6gfv49jq3vr4cj8dv22i9"; depends=[]; };
   MVisAGe = derive2 { name="MVisAGe"; version="0.2.0"; sha256="18w3qf85l81sbxhzxs61jbsng14lbd8vzvbprq0ywkxb2lsq16n2"; depends=[]; };
   MWLasso = derive2 { name="MWLasso"; version="1.3.1"; sha256="11lyk46lmjcd60q0mixi41b8ybjgyp1xi18g3ag4450xyhw3r17s"; depends=[]; };
   MWRidge = derive2 { name="MWRidge"; version="1.0.0"; sha256="17kvs9npr1ff24z3pv9x2qnfwyy6w3hc7hm60ynzbjlk2rr11xr9"; depends=[glmnet]; };
-  MXM = derive2 { name="MXM"; version="1.3.2"; sha256="0d3x773870ky6q36g6skcyfvywrwc264f5g55sh3229c6qpjgzq2"; depends=[doParallel energy foreach geepack hash lme4 MASS nnet ordinal quantreg relations Rfast survival visNetwork]; };
+  MXM = derive2 { name="MXM"; version="1.3.3"; sha256="1xzw7ad3kpd8chfksgfsv0wdy7h1kzw5n410ndfhd1mx1cdfghj9"; depends=[doParallel dplyr energy foreach geepack hash knitr lme4 MASS nnet ordinal quantreg relations Rfast survival visNetwork]; };
   MaXact = derive2 { name="MaXact"; version="0.2.1"; sha256="1n7af7kg54jbr09qk2a8gb9cjh25cnxzj2snscpn8sr8cmcrij0i"; depends=[mnormt]; };
   Maeswrap = derive2 { name="Maeswrap"; version="1.7"; sha256="0cnnr5zq7ax1j7dx7ira7iccqppc6qpdjghjarvdb2zj0lf69yyb"; depends=[geometry lattice rgl stringr]; };
   MagneticMap = derive2 { name="MagneticMap"; version="1.0"; sha256="1634bk6x92z01gyiy89c1g6z5cjsj8pf4f358y7rk2kppmfz4cf7"; depends=[scatterplot3d]; };
@@ -2043,8 +2092,10 @@ in with self; {
   ManlyMix = derive2 { name="ManlyMix"; version="0.1.11"; sha256="0vnx4cmx5vv8qh3pn75lz1mxap1ar4jnc5j15552vvi4i9pgmmar"; depends=[]; };
   ManyTests = derive2 { name="ManyTests"; version="1.2"; sha256="1mi7wvnkcd95126f1h8vl8skn397yd2zqvcswprqar54p161wgyi"; depends=[]; };
   Map2NCBI = derive2 { name="Map2NCBI"; version="1.1"; sha256="19gafyql767f1p4fxdw7d5a8z1b4vg7jfrvzaml5x16fj6c78fjm"; depends=[]; };
-  MapGAM = derive2 { name="MapGAM"; version="1.0"; sha256="1hzv3sy2szxl4fhnnzlwagh3qm4z22cbhiwi8whgn5ymwlnw0pca"; depends=[gam maptools sp survival]; };
+  MapGAM = derive2 { name="MapGAM"; version="1.1"; sha256="0sh7qnzzahaz09nmld5p8df93my6k5vpvgmvqdlz84vghcfbfpa2"; depends=[colorspace gam maptools sp survival]; };
   MareyMap = derive2 { name="MareyMap"; version="1.3.4"; sha256="1wap0syzgd0w3xla2x4bcasn8zzlj63r5yyf9r479nvifjxdqxzz"; depends=[tkrplot]; };
+  MargCond = derive2 { name="MargCond"; version="1.0.0"; sha256="07qh1lgy8ds11cwlb4rxkl6aiph91zq29sy27b8wwxalycdgjrg8"; depends=[gee lme4 MASS Matrix]; };
+  MarginalMediation = derive2 { name="MarginalMediation"; version="0.5.1"; sha256="1v7ly1yaglyh257b1q4vc7sfrk41lb4ar9dpwf5ppap581pgpz3f"; depends=[boot magrittr purrr]; };
   MarkowitzR = derive2 { name="MarkowitzR"; version="0.9900.0"; sha256="1wyqlgmb376dsvx7nixpbynjzp7xpmsh4fx9s7nai6fhjb50mxha"; depends=[gtools matrixcalc sandwich]; };
   Massign = derive2 { name="Massign"; version="1.1.0"; sha256="09i32lsrx40rxrnb9alfipfrkipy4mza5nr4gcpn2a5h86ak9290"; depends=[]; };
   MasterBayes = derive2 { name="MasterBayes"; version="2.55"; sha256="14532l41x5k3z2qg0vklafqyzmn45qny9hlrrgriykajv3xjf2lz"; depends=[coda genetics gtools kinship2]; };
@@ -2054,8 +2105,8 @@ in with self; {
   MatchLinReg = derive2 { name="MatchLinReg"; version="0.7.0"; sha256="015s3xdaj56prq8lsdry3ibjkrb6gg0fwgzjh496gdx5axvpbk8g"; depends=[Hmisc Matching]; };
   Matching = derive2 { name="Matching"; version="4.9-2"; sha256="0lv5b41l797c4bl2rzmdqzjnn47zpvvcv3md3xwxvvz5knxky5x4"; depends=[MASS]; };
   MatchingFrontier = derive2 { name="MatchingFrontier"; version="1.0.0"; sha256="1djlkx7ph8p60n2m191xq9i01c2by4vpmjj25mbxy5izxm5123aa"; depends=[igraph MASS segmented]; };
-  Matrix = derive2 { name="Matrix"; version="1.2-12"; sha256="1wm45hg4x5ay15y03k6rmgkd1n9r01da72mszk24vafwd7pimr8n"; depends=[lattice]; };
-  Matrix_utils = derive2 { name="Matrix.utils"; version="0.9.6"; sha256="0aa225y6vqm0dqjfppfrc43wbq3ks9aszhmy73xbai2v12sh439g"; depends=[grr Matrix]; };
+  Matrix = derive2 { name="Matrix"; version="1.2-14"; sha256="15hknim84nj3f54vkchca5ac0c3ip15v1by18k5parmn8wsl19j9"; depends=[lattice]; };
+  Matrix_utils = derive2 { name="Matrix.utils"; version="0.9.7"; sha256="1x64r4aj3gy1dzjjysyrk1j9jq3qsnyrqws8i6bs7q8pf6gvr7va"; depends=[grr Matrix]; };
   MatrixCorrelation = derive2 { name="MatrixCorrelation"; version="0.9.2"; sha256="0s4gxgl6fsy0fnjmsdz4k7p96vl6p00xl9w2fg7v0gikjpz6h5bg"; depends=[plotrix pracma progress Rcpp RcppArmadillo RSpectra]; };
   MatrixEQTL = derive2 { name="MatrixEQTL"; version="2.2"; sha256="1205jxx5aj783r2dmpawiq4rr30b60fq1qf053i7wylw07pz6vba"; depends=[]; };
   MatrixLDA = derive2 { name="MatrixLDA"; version="0.1"; sha256="19q6wl8fc6jzn7544qnlpzfh9v0xlg9cr78l6k8kx6kzjnbnyh9z"; depends=[glasso plyr Rcpp RcppArmadillo]; };
@@ -2072,8 +2123,8 @@ in with self; {
   MedOr = derive2 { name="MedOr"; version="0.1"; sha256="1rwc14s16lnzgb78ac2017hv9pss7zw7nw3y7vrvq1qx4fgiw6f8"; depends=[]; };
   MediaK = derive2 { name="MediaK"; version="1.0"; sha256="19cmxl2wksw9kvjsfn1m4nkr5gpcx6bk0sqrabj1n0dla1l32v2a"; depends=[Rcpp RcppEigen]; };
   Mediana = derive2 { name="Mediana"; version="1.0.6"; sha256="0cx2bkz5m96dirqknfsi9944rhnn14wwdimw1hq1p8c073z40i7a"; depends=[doParallel doRNG foreach MASS mvtnorm survival]; };
-  Mega2R = derive2 { name="Mega2R"; version="1.0.0"; sha256="1rprbn7pkp0haahf34d1w7pmzn6hv8ci93gfp68hpyxxi6qm61g0"; depends=[AnnotationDbi DBI GenABEL GenomeInfoDb pedgene Rcpp RSQLite SKAT]; };
-  MendelianRandomization = derive2 { name="MendelianRandomization"; version="0.2.2"; sha256="0hwmixcby68a6p6vrq0jy9g6ky26q94haz7m9drzf50zzkv5df0g"; depends=[ggplot2 knitr plotly rmarkdown robustbase stargazer]; };
+  Mega2R = derive2 { name="Mega2R"; version="1.0.2"; sha256="0v56sd0q8bxirjm851sjba52sb846ccqn7bihy0zm4fkqlfdm5m3"; depends=[AnnotationDbi DBI GenABEL GenomeInfoDb pedgene Rcpp RSQLite SKAT]; };
+  MendelianRandomization = derive2 { name="MendelianRandomization"; version="0.3.0"; sha256="1nnj4nmzrvdj2arq74bg5ckhmll2z9ydnd75ds48njbhxla2645l"; depends=[ggplot2 iterpc knitr Matrix plotly rmarkdown robustbase]; };
   MenuCollection = derive2 { name="MenuCollection"; version="1.2"; sha256="0v3flicfnln9qld150yk3rfldvsr4dllhq80l02n1lq6px38nf2s"; depends=[gplots RGtk2 RGtk2Extras]; };
   MergeGUI = derive2 { name="MergeGUI"; version="0.2-1"; sha256="1hx03qv5jyjjmqdvylc3kz5dl5qsdqwlirjbrnxrw7grkgkhygap"; depends=[cairoDevice ggplot2 gWidgetsRGtk2 rpart]; };
   MetABEL = derive2 { name="MetABEL"; version="0.2-0"; sha256="0rqjv85mgswrbbp8b8ip6cdmz0cvfy9lm5mcr8a7h38rzgx3g3i3"; depends=[]; };
@@ -2086,7 +2137,7 @@ in with self; {
   MetaComp = derive2 { name="MetaComp"; version="1.1.1"; sha256="0ndnjpg0c9k4171n190qwxmy79kw2ax4y5ap4xvaf0x561p072l6"; depends=[Cairo data_table dplyr ggplot2 plyr reshape2]; };
   MetaCycle = derive2 { name="MetaCycle"; version="1.1.0"; sha256="1kzdk21xpbvwibs8501zwdb9lzj7g5nv2zqaskg9x0szshhg8vpp"; depends=[gnm]; };
   MetaIntegrator = derive2 { name="MetaIntegrator"; version="1.0.3"; sha256="0611k497ixy0f51lmqzs08zqqq5krrxrm7m0xqdl18gkwrw3w656"; depends=[Biobase DBI GEOmetadb GEOquery ggplot2 gplots multtest preprocessCore reshape rmeta Rmisc RMySQL RSQLite stringr]; };
-  MetaLandSim = derive2 { name="MetaLandSim"; version="1.0.1"; sha256="1m7h1bdk172zjx7xxlh4lac17ndx28vjpvdkyb352j5f4r4aq09g"; depends=[coda e1071 fgui googleVis igraph knitr maptools minpack_lm raster rgeos rgrass7 sp spatstat zipfR]; };
+  MetaLandSim = derive2 { name="MetaLandSim"; version="1.0.3"; sha256="0zf45c6prr1g9xqsn4f5cxh30qvadbk0hzknz2hff6ljggjxxfia"; depends=[coda e1071 fgui googleVis igraph knitr maptools minpack_lm raster rgeos rgrass7 sp spatstat zipfR]; };
   MetaLonDA = derive2 { name="MetaLonDA"; version="1.0.9"; sha256="1iy7p91ln48fhym7gna8xmqrva6fcwxapqcyh1h6hqr0h3j392qd"; depends=[caTools DESeq2 doParallel edgeR ggplot2 gss metagenomeSeq plyr]; };
   MetaPCA = derive2 { name="MetaPCA"; version="0.1.4"; sha256="14g4v3hyxnds4l2q36mpz282yqg8ahgdw3b0qmj0xg17krrf5l2s"; depends=[foreach]; };
   MetaPath = derive2 { name="MetaPath"; version="1.0"; sha256="1vvpfv6yc4rd4apqfs2yzm97xxsv43ghwqnjq6w1xrc4pdx2p634"; depends=[Biobase genefilter GSEABase impute]; };
@@ -2096,6 +2147,7 @@ in with self; {
   MetaboList = derive2 { name="MetaboList"; version="1.2"; sha256="15wkj29s1mxi1wzqzlh8lkr5jkw15dbc37h3hzsc0r72a3ddzf38"; depends=[enviPick]; };
   MetaboQC = derive2 { name="MetaboQC"; version="1.0"; sha256="1hm0ndwda1ciyyg8igkpaalvvdyd7aq5wnl9gzza8fr1l9fxp4a2"; depends=[plyr]; };
   MetabolAnalyze = derive2 { name="MetabolAnalyze"; version="1.3"; sha256="0cl76x6imx4a95wd74xx5s8i2vg8wq3inqgakvgzmkwxad6qhrqp"; depends=[ellipse gplots gtools mclust mvtnorm]; };
+  MetabolomicsBasics = derive2 { name="MetabolomicsBasics"; version="1.0"; sha256="0crgdi7h8gl219lrb7i4f9jisgs7mkz45imwzh69acly4d2332ni"; depends=[C50 caret e1071 mixOmics pcaMethods plyr rattle rpart]; };
   MetaheuristicFPA = derive2 { name="MetaheuristicFPA"; version="1.0"; sha256="096k866mgrdgj55rzvdj080z80hzlj0667mydpz7gjaqdfriw8jg"; depends=[Rcpp RcppArmadillo]; };
   MetamapsDB = derive2 { name="MetamapsDB"; version="0.0.2"; sha256="0y5szb52karxcqr1f9mb050awprbk1ynckr987aw3d4ia6i9gcif"; depends=[base64enc cluster data_table DBI dplyr forcats future GenomicRanges ggplot2 gridExtra httr igraph IRanges lubridate magrittr Matrix purrr RCurl rgexf RJSONIO RSQLite shiny ShortRead stringr tidyr zoo]; };
   Metatron = derive2 { name="Metatron"; version="0.1-1"; sha256="0apz2k3za19px1bcg4ls0axaljrpxnqhs86b6s862c370sspc1x8"; depends=[lme4 Matrix mpt]; };
@@ -2123,10 +2175,11 @@ in with self; {
   MissingDataGUI = derive2 { name="MissingDataGUI"; version="0.2-5"; sha256="0drbm87ka17avg6fmswjilgnz9c3azwd0236s8yfms24k9k77vnd"; depends=[cairoDevice GGally ggplot2 gWidgetsRGtk2 reshape]; };
   MitISEM = derive2 { name="MitISEM"; version="1.2"; sha256="0dn398vrxh16gmy7ghh5000dgk7cbhb3gi3myrxp5dfri3ysjxcj"; depends=[mvtnorm]; };
   MittagLeffleR = derive2 { name="MittagLeffleR"; version="0.2.0"; sha256="1r6hamc4vanxdbmp37ib20drw49c4vxkskqb93qlagaqxgr9xch0"; depends=[stabledist]; };
+  MixAll = derive2 { name="MixAll"; version="1.4.2"; sha256="1m3jkavamx1c2zzalh9j8psk69jmbh4lyl0sxn4x30whv0km5mvp"; depends=[Rcpp rtkore]; };
   MixGHD = derive2 { name="MixGHD"; version="2.2"; sha256="1cq6mar6h56nscnd7xs6spf45mlqp48lssw2i57zfvi75f6s70p4"; depends=[Bessel cluster e1071 ghyp MASS mixture mvtnorm numDeriv]; };
   MixMAP = derive2 { name="MixMAP"; version="1.3.4"; sha256="0gxghym5ghbyxf589hda2fhv5l3x5jvm6i40x5xdwx4hadcn8k9a"; depends=[lme4]; };
   MixRF = derive2 { name="MixRF"; version="1.0"; sha256="1av1wx7wmfc3z8a4bc6g3i3b807nc28n3s2rs3yh0rcwq1pfl0ir"; depends=[doParallel foreach lme4 randomForest]; };
-  MixSIAR = derive2 { name="MixSIAR"; version="3.1.7"; sha256="0myn50sdmp83bhzm66sa61xwxv3lka427mv1ynhqshaqrb5flj35"; depends=[coda compositions ggmcmc ggplot2 lattice MASS R2jags RColorBrewer reshape reshape2 rjags]; };
+  MixSIAR = derive2 { name="MixSIAR"; version="3.1.10"; sha256="0kc0apzl6aq9qjgrnnad78k71g91hzc1d7f3j0s1kpwzax2q6l2l"; depends=[bayesplot coda ggmcmc ggplot2 lattice loo MASS MCMCpack R2jags RColorBrewer reshape reshape2 rjags]; };
   MixSim = derive2 { name="MixSim"; version="1.1-3"; sha256="1mrzbax2inpmhxz26zlybci6ks5q780f10vcy1za638dmkz16fnv"; depends=[MASS]; };
   MixedDataImpute = derive2 { name="MixedDataImpute"; version="0.1"; sha256="123c9i3znv53ikfnga1z9gq5bdl4vyww89967255wg5dzb7w00cn"; depends=[BH gdata Rcpp RcppArmadillo]; };
   MixedPoisson = derive2 { name="MixedPoisson"; version="2.0"; sha256="0g5mpzj0wda6g46q3cg5mm3x4dvpz9gdclzn2m17l62lzny2i10p"; depends=[gaussquad MASS Rmpfr]; };
@@ -2143,24 +2196,26 @@ in with self; {
   ModelGood = derive2 { name="ModelGood"; version="1.0.9"; sha256="1y99a7bgwx167pncxj00lbw3cdjj23fhhzl8r24hwnhxr984kvzl"; depends=[prodlim]; };
   ModelMap = derive2 { name="ModelMap"; version="3.3.5"; sha256="1rmm1a2nw91kzvxpvq9qhlag0dhihis7mgscgslqia6z8fr86qvs"; depends=[corrplot fields HandTill2001 mgcv PresenceAbsence randomForest raster rgdal]; };
   ModelMetrics = derive2 { name="ModelMetrics"; version="1.1.0"; sha256="119xxmzb5biq7k1yxqsf0jmmarmfn6lds9x9hfgv593xlpym6za8"; depends=[Rcpp]; };
+  Modelcharts = derive2 { name="Modelcharts"; version="0.1.0"; sha256="1jy78kyyh4r13px2d5bm7fra5bkcpimzfji0hmydspkfi3qla37x"; depends=[dplyr plotly]; };
   Modeler = derive2 { name="Modeler"; version="3.4.2"; sha256="0zf3z3y4w1jixmcbhkgrjh4dx7x3bfi66hrbzsxyfp7abk0p2d6l"; depends=[class ClassComparison ClassDiscovery e1071 neuralnet nnet oompaBase randomForest rpart TailRank]; };
   MomTrunc = derive2 { name="MomTrunc"; version="1.41"; sha256="0az499xzvnczqnbh4g3h5jyz8isq0zdw0x654haac6v6045f5xav"; depends=[matrixcalc mvtnorm]; };
-  Momocs = derive2 { name="Momocs"; version="1.2.2"; sha256="1a4y4zg9zd0pmhcjwvi5k1x36lyl1cw5i6bfm9qphd5bm438n70y"; depends=[ape dplyr geometry geomorph ggplot2 jpeg magrittr MASS plyr reshape2 sp]; };
+  Momocs = derive2 { name="Momocs"; version="1.2.9"; sha256="13pgn31hv529z33mi020w8wm8ya7hyi5yfsp45a78wdhinqas9mm"; depends=[ape dplyr geometry geomorph ggplot2 jpeg magrittr MASS progress RColorBrewer rgeos sp]; };
   Mondrian = derive2 { name="Mondrian"; version="1.0-0"; sha256="07r64q518diphai951pw4vfaw4sd6bqwhi6q5cp4pcl3aqjynkmj"; depends=[RColorBrewer]; };
   MonetDB_R = derive2 { name="MonetDB.R"; version="1.0.1"; sha256="1r7vki0rrzwcrfg4f2lfx30g614vf2xi62qb1rs21a9j5741lxlx"; depends=[codetools DBI digest]; };
   MonetDBLite = derive2 { name="MonetDBLite"; version="0.5.1"; sha256="01gcwr5r47dkmr1y2q387xv1qr2fryq9574aijx1a39ywhvcm8pq"; depends=[codetools DBI digest]; };
   MonoInc = derive2 { name="MonoInc"; version="1.1"; sha256="14rykw3bfj0vznz0rw4vsg1k4vanfv9cy867vspw966ncl4bw70h"; depends=[compare doParallel foreach iterators sitar]; };
   MonoPhy = derive2 { name="MonoPhy"; version="1.2"; sha256="0997kg8hfwgsc9s155z0wrf7rrhn3vf6681j9psjl3hsspg08z2r"; depends=[ape phangorn phytools RColorBrewer taxize]; };
   MonoPoly = derive2 { name="MonoPoly"; version="0.3-9"; sha256="130hv05fwsskk1bvr7fk8bmafq26vimkfgssjdk3zaz0hm3pxrp4"; depends=[quadprog]; };
-  MonteCarlo = derive2 { name="MonteCarlo"; version="1.0.2"; sha256="1lb5cvly7v45kn24m8pyfw036b8j7lq4my0igaj859r74ky3knw9"; depends=[abind codetools rlecuyer snow snowfall]; };
+  MonteCarlo = derive2 { name="MonteCarlo"; version="1.0.5"; sha256="0a62wq448kq10mf1nhdr0nybzzz7d63nxakggpzmkzz4fz0l67bd"; depends=[abind codetools reshape rlecuyer snow snowfall]; };
   Morpho = derive2 { name="Morpho"; version="2.5.1"; sha256="1cxxsg7j0fq9drxkl6xlaw7j2cajzx9khcs9f3mb9l2ixd42hqnp"; depends=[colorRamps doParallel foreach MASS Matrix Rcpp RcppArmadillo rgl Rvcg]; };
   MorseGen = derive2 { name="MorseGen"; version="1.2"; sha256="1kq35n00ky70zmxb20g4mwx0hn8c5g1hw3csmd5n6892mbrri8s9"; depends=[]; };
   MortCast = derive2 { name="MortCast"; version="1.1-1"; sha256="077kk08pckm07rh7vxiw8whiyc4fbsj3qihih6mg09slaq8zr825"; depends=[wpp2017]; };
   MortHump = derive2 { name="MortHump"; version="0.2"; sha256="1yhrdcwqf27v22mrysh51m3jcrnf74x21x7db25nic8q8fdmchj2"; depends=[demography HMDHFDplus Matrix minpack_lm MortalitySmooth RColorBrewer svcm WeightedCluster]; };
   MortalityLaws = derive2 { name="MortalityLaws"; version="1.3.0"; sha256="1db4p7kl3kh3kdzqbbvyj3zxv6pz0jnc9fl7j2590ajwd5m9crg4"; depends=[minpack_lm pbapply RCurl]; };
   MortalitySmooth = derive2 { name="MortalitySmooth"; version="2.3.4"; sha256="1clx8gb8jqvxcmfgv0b8jyvh39yrmcmwr472j9g3ymm95m4hr8fq"; depends=[lattice svcm]; };
+  MortalityTables = derive2 { name="MortalityTables"; version="1.0"; sha256="07pbjgc4qvznw1rfvmz6ndg0gzj0k61iajwn51ijpb7hscwi8937"; depends=[ggplot2 scales]; };
   MotilityLab = derive2 { name="MotilityLab"; version="0.2-5"; sha256="080j548sp1c4yqqd7p7zgr70j1xyrw3fgjj1f521sgh84x5h2hbc"; depends=[ellipse]; };
-  MplusAutomation = derive2 { name="MplusAutomation"; version="0.7-1"; sha256="1f6gd227pkcs0sa9bwng0m617pjv3b0dm6rsij06a4n2gp50aysw"; depends=[boot coda digest gsubfn lattice pander plyr texreg xtable]; };
+  MplusAutomation = derive2 { name="MplusAutomation"; version="0.7-2"; sha256="0hy6g0fgidjpz7mn1qwwdnhyxjm0v2g9r3fl32zmkvix3852qx1r"; depends=[boot coda digest ggplot2 gsubfn lattice pander plyr texreg xtable]; };
   Mposterior = derive2 { name="Mposterior"; version="0.1.2"; sha256="16a7wvg41ld2bhbss480js5h12r41nl7jmc3y4jsbv1lr5py4ymy"; depends=[Rcpp RcppArmadillo]; };
   MsdeParEst = derive2 { name="MsdeParEst"; version="1.7"; sha256="1zhi1jr30sl7jpsw37lc3akfzixlhm9k2hjkha1pjy5fmd5lddlx"; depends=[MASS moments mvtnorm sde]; };
   MuFiCokriging = derive2 { name="MuFiCokriging"; version="1.2"; sha256="09p8wdmlsf21ibqyjigwdipcin3ij0naxcd035hqgfj76v20wiyv"; depends=[DiceKriging]; };
@@ -2182,7 +2237,8 @@ in with self; {
   MultiRR = derive2 { name="MultiRR"; version="1.1"; sha256="1jrhx3nlqwsv3i6r8fs142llw88qad41rsh0sj1pv1gb928zpvl3"; depends=[lme4 MASS]; };
   MultiSV = derive2 { name="MultiSV"; version="0.0-67"; sha256="0924lvkx12aqjxxz8bwqdi4h9xc2acf8aynllx0m45ip5r4gh1g2"; depends=[nlme reshape]; };
   MultiSkew = derive2 { name="MultiSkew"; version="1.1.1"; sha256="1s0k3z1vgdz1cxad007p246ghwx282w06inhrjjscbwliz1vg5ib"; depends=[MaxSkew]; };
-  MultiVarSel = derive2 { name="MultiVarSel"; version="1.0"; sha256="0r1l7h2rm7vlvnrsq0khjdd5cb236g9xq1fb1vr15038kf0lmkij"; depends=[ggplot2 glmnet Matrix]; };
+  MultiVarMI = derive2 { name="MultiVarMI"; version="1.0"; sha256="1mlaprg3cfmfwrq7wh64fmyv1wpdnil7wpcrcg3921qydk65py6z"; depends=[BinOrdNonNor corpcor CorrToolBox Matrix moments norm PoisNonNor]; };
+  MultiVarSel = derive2 { name="MultiVarSel"; version="1.1.2"; sha256="07qdi43bg03xyr99361c0565m1i5kzqjbvlc2npnyjyc2ygr386d"; depends=[glmnet Matrix tidyverse]; };
   MultinomialCI = derive2 { name="MultinomialCI"; version="1.0"; sha256="0ryi14d102kvxawls04hcw50n79jkcn29ill77lkfvj6nlzj8i5q"; depends=[]; };
   MultipleBubbles = derive2 { name="MultipleBubbles"; version="0.1.0"; sha256="1g6yqp53dbd96jcjgmif39zb3a7f9zil10dhqi3vz3qv6r2vsnkj"; depends=[foreach MASS]; };
   MultiplierDEA = derive2 { name="MultiplierDEA"; version="0.1.17"; sha256="0s67w8ifd7g231aqq0qdia13kyb1cczhxrigsgrw48pqcfkv9208"; depends=[lpSolveAPI]; };
@@ -2204,7 +2260,7 @@ in with self; {
   NCSampling = derive2 { name="NCSampling"; version="1.0"; sha256="0bv93xffnzvbip86b3pg7apxzh3410mxff77q119m0z7f6vm3fam"; depends=[lattice randomForest yaImpute]; };
   NCmisc = derive2 { name="NCmisc"; version="1.1.5"; sha256="1dq38ac97l8b6ys3yxqnndbrp8fa8zfw0lr4nq2421sn91769w22"; depends=[proftools]; };
   NCutYX = derive2 { name="NCutYX"; version="0.1.0"; sha256="0r2ghnvrbya3p1d8rb5bsnz5v852vvc6rq65yafn2xzr7886wrg2"; depends=[fields glmnet MASS mvtnorm Rcpp RcppEigen]; };
-  NEArender = derive2 { name="NEArender"; version="1.4"; sha256="1zdqil28j6jc6317dkpz5i1qj7b4i3lin4800n1kf14zg9nxjdyg"; depends=[MASS RColorBrewer ROCR]; };
+  NEArender = derive2 { name="NEArender"; version="1.5"; sha256="006128psqxbyw3z4wqflc4xsir3d641r4flwkxmv836lp7fc2d9a"; depends=[hexbin MASS RColorBrewer ROCR]; };
   NEff = derive2 { name="NEff"; version="1.1"; sha256="16ys1fi28kbzg3am9vz1c5pc9x0ac47pl6za04h63lspk99yplzk"; depends=[bit msm]; };
   NEpiC = derive2 { name="NEpiC"; version="1.0.1"; sha256="11zf112xcsg3k93vks2fnsflw2v2d56a0bsjpd460d21k3gipfz8"; depends=[igraph PairedData]; };
   NFP = derive2 { name="NFP"; version="0.99.2"; sha256="1wnllzlww8257sbrgvfyvd21qvhf7j17mcpf6d4p6binaw8svnsb"; depends=[apcluster dplyr ggplot2 graph igraph KEGGgraph magrittr plyr stringr tidyr]; };
@@ -2217,18 +2273,19 @@ in with self; {
   NIRStat = derive2 { name="NIRStat"; version="1.0"; sha256="1hi8201zslp1f7m3jci8q03y3f1zlcck2x3i793l7lsyl7qbzd1z"; depends=[ggplot2 gridExtra mgcv]; };
   NISTnls = derive2 { name="NISTnls"; version="0.9-13"; sha256="03a1c8a5dr5l5x4wbclnsh3vmx3dy7migfdzdx7d7p3s7hj3ibif"; depends=[]; };
   NISTunits = derive2 { name="NISTunits"; version="1.0.1"; sha256="0km9l3k9p35sb1qrhrz4ijjsdihvsp6j7cz5kh46lgf7nn6xdk7a"; depends=[]; };
-  NLMR = derive2 { name="NLMR"; version="0.2.1"; sha256="0vyha5sx0mz2kky8qwylamqc6k0gnmbkyanapy3dqav66l98ki8b"; depends=[checkmate dismo dplyr extrafont ggplot2 igraph magrittr purrr RandomFields raster rasterVis sp spatstat tibble tidyr viridis]; };
+  NLMR = derive2 { name="NLMR"; version="0.3.0"; sha256="0cqs48jy9ydivjpmx76dyxxdhh3lww7qrmx5s8jcsxxxnn93lq8m"; depends=[checkmate dplyr fasterize purrr RandomFields raster sf spatstat tibble]; };
   NLP = derive2 { name="NLP"; version="0.1-11"; sha256="15v50gxzmpqx49wzkwxfpb5xjpg9y829a0ifys372kf1cfj521aq"; depends=[]; };
   NLPutils = derive2 { name="NLPutils"; version="0.0-4"; sha256="1dqbf8xmrzx81ybmp5qkd5a5rw3c19l2wxfnpddij4a1n074bwym"; depends=[NLP qdap SnowballC]; };
   NLRoot = derive2 { name="NLRoot"; version="1.0"; sha256="1x8mcdgqqrhyykr12bv4hl4wbh1zw2qgpnd2yrm68kb92iy95rh4"; depends=[]; };
-  NMF = derive2 { name="NMF"; version="0.20.6"; sha256="0mmh9bz0zjwd8h9jplz4rq3g94npaqj8s4px51vcv47csssd9k6z"; depends=[cluster colorspace digest doParallel foreach ggplot2 gridBase pkgmaker RColorBrewer registry reshape2 rngtools stringr]; };
+  NMF = derive2 { name="NMF"; version="0.21.0"; sha256="1qq25n3k5sgh3srlshb3ic6q92s12c1ilqf5cd5anvq6cqfchc1v"; depends=[cluster colorspace digest doParallel foreach ggplot2 gridBase pkgmaker RColorBrewer registry reshape2 rngtools stringr]; };
   NMFN = derive2 { name="NMFN"; version="2.0"; sha256="0n5fxqwyvy4c1lr0glilcz1nmwqdc9krkqgqh3nlyv23djby9np5"; depends=[]; };
   NMI = derive2 { name="NMI"; version="2.0"; sha256="1rxphy9rhy9zhdiz48dvl9m26x6k681lnyn39lqxs0a6jhrxg7y3"; depends=[]; };
   NMOF = derive2 { name="NMOF"; version="1.2-2"; sha256="03286pp57m7imbgw334r34yg7c5zbaw3d1qxr0sbhmc2jxvv1arm"; depends=[]; };
   NNLM = derive2 { name="NNLM"; version="0.4.1"; sha256="1wi2rbj56v49hsnhwdyyjwfk4hb84sagfq6mpjis4ccq65hxkvfv"; depends=[Rcpp RcppArmadillo RcppProgress]; };
   NNMIS = derive2 { name="NNMIS"; version="1.0.0"; sha256="02k766klw2fssiii5f4291qvs144ab9i5b6pmqvhyr87zdb87nf9"; depends=[survival]; };
-  NNS = derive2 { name="NNS"; version="0.3.8.3"; sha256="0qyb8y54hxy5ac6m0mqyqbfjc4r3m4qvb83nw2vp4mb49fiinwxx"; depends=[data_table rgl stringr]; };
+  NNS = derive2 { name="NNS"; version="0.3.8.6"; sha256="0dfnqy2i306vvqah40p3mj7yyxr9gxrgw8555p6shjiwhqp8rdaq"; depends=[data_table rgl stringr]; };
   NNTbiomarker = derive2 { name="NNTbiomarker"; version="0.29.11"; sha256="0sqlf7vzhpmq2g98c2qlrcqn3ba4ycfxbczgcjiqqhqsvgkpacc1"; depends=[magrittr mvbutils shiny stringr xtable]; };
+  NOAAWeather = derive2 { name="NOAAWeather"; version="0.1.0"; sha256="077c7z13y2lhjzk2fbb9yfa1ay31dfryxmyg76z7l1a03h20xrvb"; depends=[dplyr ggExtra ggmap ggplot2 gridExtra jsonlite lubridate RCurl scales tcR tidyr]; };
   NORMA = derive2 { name="NORMA"; version="0.1"; sha256="193q6dwn8v7k8xq0amjpvb3v6mn7c6agqa487gvjj78dy1qz720a"; depends=[rootSolve]; };
   NORMT3 = derive2 { name="NORMT3"; version="1.0-3"; sha256="041s0qwmksy3c7j45n4hhqhq3rv2hncm2fi5srjpwf9fcj5wxypg"; depends=[]; };
   NORRRM = derive2 { name="NORRRM"; version="1.0.0"; sha256="06bdd5m46c8bbgmr1xkqfw72mm38pafxsvwi9p8y7znzyd0i6ag3"; depends=[ggplot2 SDMTools]; };
@@ -2246,9 +2303,9 @@ in with self; {
   NPflow = derive2 { name="NPflow"; version="0.13.1"; sha256="0sq47frh665m8mibif1w3i2z5pb577v1ngdjirbya0a9chpmwc3s"; depends=[ellipse fastcluster ggplot2 gplots pheatmap Rcpp RcppArmadillo reshape2 truncnorm]; };
   NPsimex = derive2 { name="NPsimex"; version="0.2-1"; sha256="1k9i1f5ckvzdns8f5qnm2zq7qs3wsgzsnfwdz21zmhmi6d0pwchm"; depends=[]; };
   NSA = derive2 { name="NSA"; version="0.0.32"; sha256="0lnimyx3fpnw9zfhqm7y3ssvbpmvbmhcqy6fp83862imiwpl8i5r"; depends=[aroma_affymetrix aroma_core DNAcopy MASS matrixStats R_methodsS3 R_oo R_utils]; };
-  NSM3 = derive2 { name="NSM3"; version="1.10"; sha256="118pp3a11w4wyjq18jm3f7xy79l5jyjsyxgkyxbwsrr7lvplqzb2"; depends=[agricolae ash binom BSDA coin combinat epitools fANCOVA gtools Hmisc km_ci MASS metafor nortest np partitions quantreg Rfit SemiPar SuppDists survival waveslim]; };
+  NSM3 = derive2 { name="NSM3"; version="1.11"; sha256="0lnmzpmh3i4lh5lfba6rhacf4zadbcrs7ify354h5245j0gxp1bv"; depends=[agricolae ash binom BSDA coin combinat epitools fANCOVA gtools Hmisc km_ci MASS metafor nortest np partitions quantreg Rfit SemiPar SuppDists survival waveslim]; };
   NSUM = derive2 { name="NSUM"; version="1.0"; sha256="1as4g3v7qlk9wxlpwhg293980jq9gy6qay77bbcrjf481gvkkbp6"; depends=[MASS MCMCpack]; };
-  NScluster = derive2 { name="NScluster"; version="1.1.1"; sha256="1w63abh4q0wgv3x7inl2xyp9qgr9m223r2p7nfiqnxk9y259kh04"; depends=[]; };
+  NScluster = derive2 { name="NScluster"; version="1.2.0"; sha256="04mn9lh4cl1hkz27z7ldqnfwmrvqi7m1zrvscpywdcilpjmcryv0"; depends=[]; };
   NUCOMBog = derive2 { name="NUCOMBog"; version="1.0.4.1"; sha256="1grz2yxrklqglw9027c8k01jnb42p453fcd38arw4wd85y5hbam4"; depends=[snowfall]; };
   NameNeedle = derive2 { name="NameNeedle"; version="1.2.4"; sha256="1f8hmabwafjmgx2z381a3m84zfrd0s9x51haa4c1phq41yfq2lm5"; depends=[]; };
   NanoStringNorm = derive2 { name="NanoStringNorm"; version="1.2.1"; sha256="05r1hvrxwi2mcq3pv6b699291qg120ijad96s5dah2f6cwx7gm7j"; depends=[gdata vsn XML]; };
@@ -2272,25 +2329,28 @@ in with self; {
   NetworkChange = derive2 { name="NetworkChange"; version="0.3"; sha256="1brpa6fhmrgafmk1iw19g0pppwxi0ld0nyhx9c0fgnkn9m82isjk"; depends=[abind ggplot2 ggvis LaplacesDemon MASS MCMCpack mvtnorm RColorBrewer Rmpfr]; };
   NetworkComparisonTest = derive2 { name="NetworkComparisonTest"; version="2.0.1"; sha256="09fqlnpdibf9jr5mw2pzmwi66f6cjz8rmm8jay0cv2bami7jhy2a"; depends=[IsingFit IsingSampler qgraph reshape2]; };
   NetworkDistance = derive2 { name="NetworkDistance"; version="0.1.0"; sha256="0k11crn1wiisw4qrc2yidrhdvscx59skqy4ckxdiykpb1jh5a7s4"; depends=[doParallel foreach igraph Matrix network Rcpp RcppArmadillo Rdpack RSpectra]; };
+  NetworkExtinction = derive2 { name="NetworkExtinction"; version="0.1.0"; sha256="1scza639kf3zzz2yd9q31wsvxpvpq8hbx82a206jkxlxb4dq6vxr"; depends=[broom dplyr ggplot2 magrittr network scales sna tidyr]; };
   NetworkInference = derive2 { name="NetworkInference"; version="1.1.2"; sha256="0lydfkpgsi842fbapnggpngarvqc8arhy4qn13x47myk1mmkkisj"; depends=[assertthat checkmate ggplot2 ggrepel Rcpp RcppProgress]; };
   NetworkRiskMeasures = derive2 { name="NetworkRiskMeasures"; version="0.1.2"; sha256="0c10nahybjd1n0yr78ynbsdnkfa0p7kz6dx3rbwxwsp3x4mrcd6y"; depends=[dplyr expm ggplot2 Matrix]; };
-  NetworkToolbox = derive2 { name="NetworkToolbox"; version="1.0.0"; sha256="1z0l8fdxvyxgajq0j6sx6mvr15sxd45kavy8ywk3hnlwcz1xy7m8"; depends=[corrplot devtools fdrtool graph hypergeo igraph MASS Matrix psych pwr qgraph R_matlab RBGL RColorBrewer]; };
+  NetworkToolbox = derive2 { name="NetworkToolbox"; version="1.1.1"; sha256="19gn50f96nnccgv68vp6850pjdcl433lmppshc2imcjw4hn45fra"; depends=[corpcor corrplot doSNOW fdrtool foreach graph hypergeo igraph MASS Matrix ppcor psych pwr qgraph R_matlab RBGL RColorBrewer]; };
   NeuralNetTools = derive2 { name="NeuralNetTools"; version="1.5.1"; sha256="1dsjv0vm45skw74x1fz3gd7g6p52ayfwz85bh92j29mfxbnacbnn"; depends=[ggplot2 nnet reshape2 scales tidyr]; };
   Newdistns = derive2 { name="Newdistns"; version="2.1"; sha256="1b5njkzj8b0wrvvfv904di0933k9d320gadmfm5zl6pzdp34bh1i"; depends=[AdequacyModel]; };
-  NightDay = derive2 { name="NightDay"; version="1.0.1"; sha256="0vkpr2jwhgghiiiaiglaj1b9pz25fcsl628c9nsp9zyl67982wz1"; depends=[maps]; };
+  NightDay = derive2 { name="NightDay"; version="1.0.1.1"; sha256="1gwwxk428gkvci4dhfb3zikvidalpqkl0q2r6qpm58c12j14jk1h"; depends=[maps]; };
   Nippon = derive2 { name="Nippon"; version="0.6.5"; sha256="187jzqsabg0vfvipbaig6nsdwclk5p3hgkvg0yid2ip8qc5qcmdw"; depends=[maptools sf sp stringr]; };
   NipponMap = derive2 { name="NipponMap"; version="0.1"; sha256="09cvzw32f0kwlwvrv7r6cx2x2jkc2wv843aip8r3iziixmcy7vxq"; depends=[sf tibble]; };
   NlcOptim = derive2 { name="NlcOptim"; version="0.5"; sha256="0chrf9ac3x1a0b86lf6wjzdsjcv5n08rav88b7xf4c31lflf1rd1"; depends=[MASS quadprog]; };
+  NlinTS = derive2 { name="NlinTS"; version="1.3.2"; sha256="1isr6ci6dsbbx804y3hc8aqvhggfs7ix5yiz32dby69i85b6lj5a"; depends=[Rcpp Rdpack timeSeries]; };
   NlsyLinks = derive2 { name="NlsyLinks"; version="2.0.6"; sha256="1kdqifwjkkk4x1ixg3ca6lbqx79ab907nnzwxca5iw721mbk5njg"; depends=[lavaan]; };
   NoiseFiltersR = derive2 { name="NoiseFiltersR"; version="0.1.0"; sha256="0y90si8f5hsi273g10hw700r72la30hwqlwg59gaq76wqlkm8j0p"; depends=[caret e1071 kknn MASS nnet randomForest rJava rpart RWeka]; };
   NominalLogisticBiplot = derive2 { name="NominalLogisticBiplot"; version="0.2"; sha256="0m9442d9i78x57gdwyl3ckwp1m6j27cam774zkb358dw5nmwxbmz"; depends=[gmodels MASS mirt]; };
-  NonCompart = derive2 { name="NonCompart"; version="0.3.3"; sha256="0f66p122rdibn8k79wjhvslgankhxk4dq9sfvq0gcabmi1skfqgq"; depends=[]; };
+  NonCompart = derive2 { name="NonCompart"; version="0.4.1"; sha256="0a701lx83vf79pvym2igg2wbkhnx0jykfiglwhic4hvl1lw0f4g2"; depends=[]; };
   NonpModelCheck = derive2 { name="NonpModelCheck"; version="3.0"; sha256="13qk2wbgpdf763q5xg29p2hxwqpml23pcgxrzmx12vnapnqfh71k"; depends=[dr]; };
-  Nonpareil = derive2 { name="Nonpareil"; version="3.3"; sha256="0bli88salj7mxmnh3b8wims1jlfzlq2lxd4kn2bp2vi58ij9v9pm"; depends=[]; };
-  NormPsy = derive2 { name="NormPsy"; version="1.0.5"; sha256="0zhv6p9ffm2g02nr302j3qc6mrk5n4xxznircgbp4jx7hcj7cf1m"; depends=[lcmm]; };
+  Nonpareil = derive2 { name="Nonpareil"; version="3.3.1"; sha256="0ldl90h499wwm992cj71phf3ryqvjnq0ygarcxf7h85krr4j3sx2"; depends=[]; };
+  NormExpression = derive2 { name="NormExpression"; version="0.1.0"; sha256="1j4q8mb70ig40acfd9kfy12vxdvq3qpf53rxh47kkw8mywnd0449"; depends=[]; };
+  NormPsy = derive2 { name="NormPsy"; version="1.0.7"; sha256="1v6jlbxiapkygivx5vv4ravs86n94qxlmj4q940jjfbbk24bssdc"; depends=[lcmm]; };
   NormalGamma = derive2 { name="NormalGamma"; version="1.1"; sha256="0r3hhfscif0sx9v8f450yf119gpvf3ilpb8n3ziy4v4qf2jlcfnk"; depends=[histogram optimx]; };
   NormalLaplace = derive2 { name="NormalLaplace"; version="0.2-0"; sha256="11z568zhb7jw9ghp6wlyf26ijm25crc5pqhzw71qgvva42nsmmwn"; depends=[DistributionUtils GeneralizedHyperbolic]; };
-  NormalizeMets = derive2 { name="NormalizeMets"; version="0.22"; sha256="1vhmdr3rbqxhp28zv7r8hzvmrrxq58rpj5n1az9pqmh6a9si678s"; depends=[AUC Biobase crmn DiffCorr e1071 GGally ggplot2 gplots htmlwidgets impute limma metabolomics MetNorm plotly RGtk2 statTarget]; };
+  NormalizeMets = derive2 { name="NormalizeMets"; version="0.25"; sha256="0hnyr2aklibbvs6b6q4l0zbb9g8qmp2ds4lqic8a9alqn66sfnf2"; depends=[AUC crmn e1071 GGally ggplot2 htmlwidgets impute knitr limma plotly rmarkdown]; };
   NostalgiR = derive2 { name="NostalgiR"; version="1.0.2"; sha256="0rpvwi815sdhaxqpji1y6g0vy8mkn5k6wci0a4jf54pkywwkwrwp"; depends=[txtplot]; };
   Nozzle_R1 = derive2 { name="Nozzle.R1"; version="1.1-1"; sha256="05sjip4sz12mwd3jcbvk342p83kdmrd4l2jrh17p18w4l7w4nn0z"; depends=[]; };
   Numero = derive2 { name="Numero"; version="1.0.3"; sha256="1jj269b5cw7w4bgp6qvh0b3kpj32fjpsb2nbhyhjlkf7m03gnwwv"; depends=[Rcpp]; };
@@ -2311,7 +2371,7 @@ in with self; {
   OOBCurve = derive2 { name="OOBCurve"; version="0.2"; sha256="1dr2mp2wi2dir1h5w3rw17154byfy3gx02x2kz1r67l9dfgrr505"; depends=[mlr randomForest ranger]; };
   OOR = derive2 { name="OOR"; version="0.1.2"; sha256="1zw7g0365znyn828qqsn83l2a837wwj9cx7dzcbns28vhqmsn6hm"; depends=[]; };
   OOmisc = derive2 { name="OOmisc"; version="1.2"; sha256="09vaxn5czsgn6wpr27lka40kzd76jzqgqxavf26ms3m9kkdf83g4"; depends=[]; };
-  OPDOE = derive2 { name="OPDOE"; version="1.0-9"; sha256="0pf8rv5wydc8pl4x57g7bk2swjabaxdgijgsigjy5wihfcb48654"; depends=[crossdes gmp mvtnorm nlme orthopolynom polynom]; };
+  OPDOE = derive2 { name="OPDOE"; version="1.0-10"; sha256="04z944i4f3i0cjnxh32wf7n2dfyynnvkz4lxdkn90flam2np58yv"; depends=[crossdes gmp mvtnorm nlme orthopolynom polynom]; };
   OPI = derive2 { name="OPI"; version="2.7"; sha256="0mmk8alpwm4vmq2yr4qkri2zkh4lxfvrp70j0zljinxcynaraqzn"; depends=[]; };
   ORCI = derive2 { name="ORCI"; version="1.1"; sha256="0xy5lvz2scz06fphjyhqbdhp4bizmv87a8xykp9dbgx8b4ssnqgz"; depends=[BiasedUrn BlakerCI PropCIs]; };
   ORCME = derive2 { name="ORCME"; version="2.0.2"; sha256="1pm8ajj24qqj2fir0gjzq5f4mfpl1cnj6fm2z5qg6g3sbnm57ayk"; depends=[Iso]; };
@@ -2325,7 +2385,7 @@ in with self; {
   OTRselect = derive2 { name="OTRselect"; version="1.0"; sha256="1bh14228yz552ngywjf1qyh1isqj4cgiy7n7d4zg8dpqwxr04ykp"; depends=[lars survival]; };
   OTUtable = derive2 { name="OTUtable"; version="1.1.1"; sha256="0mjjfndc67gzkqskcq4sxpr8fwx3lm3wjgapgg64rbj5x4i1w4rp"; depends=[]; };
   OUwie = derive2 { name="OUwie"; version="1.50"; sha256="1gzgwax9kmcr6rl6nv10xn536nbkjhmg6sqax58xxinc00ykdx75"; depends=[ape corHMM corpcor expm lattice nloptr numDeriv paleotree phangorn phytools Rmpfr]; };
-  Oarray = derive2 { name="Oarray"; version="1.4-5"; sha256="1w66vqxvqyrp2h6acnbg3xy7cp6j2dgvzmqqk564kvivbn40vyy4"; depends=[]; };
+  Oarray = derive2 { name="Oarray"; version="1.4-9"; sha256="04jng89s19rd8lbjm76wm4p4ggkffwnsa5qa60c4lwn2rj89a8a1"; depends=[]; };
   OasisR = derive2 { name="OasisR"; version="3.0.0"; sha256="0dk8asv5v0qiqqf45r3hhh67sa03qdkpgsss649mp2pxzm8chv1y"; depends=[measurements outliers rgdal rgeos seg spdep]; };
   OceanView = derive2 { name="OceanView"; version="1.0.4"; sha256="072gjbka7ncp5sa463kbi06fjx7nm1ljgzpx4b7ybq9pcwvnyzz6"; depends=[plot3D plot3Drgl rgl shape]; };
   Ohit = derive2 { name="Ohit"; version="1.0.0"; sha256="132d4drc2phw9ppxnczb1ycdg3dv085k8p6bcaj3v866j0hfxjgb"; depends=[]; };
@@ -2343,9 +2403,9 @@ in with self; {
   OpasnetUtils = derive2 { name="OpasnetUtils"; version="1.3"; sha256="0mmn4dpk1wl8slg55xzhpk7jdwhkrka53rwmrsr73sikkh3mcyfn"; depends=[digest ggplot2 httpRequest igraph plyr RCurl reshape2 rgdal rjson sp triangle xtable]; };
   OpenCL = derive2 { name="OpenCL"; version="0.1-3"; sha256="0f7vis0jcp0nh808xbzc73vj7kdcjb0qqzzsh3gvgamzbjfslch8"; depends=[]; };
   OpenImageR = derive2 { name="OpenImageR"; version="1.0.8"; sha256="1j7p1wrzznrisbzw8j1qsxyyv3zr5hk6q9yxw97y6lrfh3c26ig1"; depends=[jpeg png Rcpp RcppArmadillo shiny tiff]; };
-  OpenML = derive2 { name="OpenML"; version="1.7"; sha256="052pm43pnjil3v8wx429bz13xc90hyqx2hz33zrq0sjdsx9zpi6k"; depends=[backports BBmisc checkmate curl data_table digest httr jsonlite memoise mlr ParamHelpers stringi XML]; };
+  OpenML = derive2 { name="OpenML"; version="1.8"; sha256="04m2gi35hykqs4iy3ipvi41cmkv8vg145cpafjrsf98kj7jg4pmv"; depends=[backports BBmisc checkmate curl data_table digest httr jsonlite memoise mlr ParamHelpers stringi XML]; };
   OpenMPController = derive2 { name="OpenMPController"; version="0.2-5"; sha256="00hs8v47pr2d726z8izkfrgmayw147hdm16rr9rw1zs3ad216zjj"; depends=[]; };
-  OpenMx = derive2 { name="OpenMx"; version="2.8.3"; sha256="0kz1x3x43jf326x7l8lb7rlnng4r5cp11vrs1pnnxkmbhqzbbwy8"; depends=[BH digest MASS Matrix Rcpp RcppEigen rpf StanHeaders]; };
+  OpenMx = derive2 { name="OpenMx"; version="2.9.6"; sha256="0141q6rwppwab426fn65vcnj06nivibl11aqi8dp32rcxgi5s9y8"; depends=[BH digest MASS Matrix Rcpp RcppEigen rpf StanHeaders]; };
   OpenRepGrid = derive2 { name="OpenRepGrid"; version="0.1.10"; sha256="0ikw8l9hffcaa094y6pnvyc3ly5jb02djaakz668ba15a0yw0wmb"; depends=[abind colorspace GPArotation plyr psych pvclust rgl stringr XML]; };
   OpenStreetMap = derive2 { name="OpenStreetMap"; version="0.3.3"; sha256="099vdyq0vw9xl5v7zggdb8yd4zl7x8imvvbj5j2f5hrspgg131pz"; depends=[ggplot2 raster rgdal rJava sp]; };
   Opportunistic = derive2 { name="Opportunistic"; version="1.2"; sha256="0kaj11ziij1v65l972x4kbr7vzkx4dwa27ymabiip4dg57a976wr"; depends=[]; };
@@ -2353,6 +2413,7 @@ in with self; {
   OptHedging = derive2 { name="OptHedging"; version="1.0"; sha256="0g7qaf5abvbcqv2h1dciwn3gwpz084ryqjjk0yabdm4ym0y38ddm"; depends=[]; };
   OptInterim = derive2 { name="OptInterim"; version="3.0.1"; sha256="1ks24yv5jjhlvscwjppad27iass59da1mls99hlif0li9mvkbvyk"; depends=[clinfun mvtnorm]; };
   OptSig = derive2 { name="OptSig"; version="1.0"; sha256="1jmnxwci4rzlwgnq4zxhkii9j7ch1bymx44hk3qv7ws24k7g87nn"; depends=[pwr]; };
+  OptimClassifier = derive2 { name="OptimClassifier"; version="0.1.4"; sha256="0f1szin0isji60gvb0zi240gri6fc4y1s71n96dn5wacdx5b8mhb"; depends=[clisymbols crayon dplyr e1071 ggplot2 lme4 lmtest MASS nnet nortest rpart]; };
   OptimaRegion = derive2 { name="OptimaRegion"; version="0.2"; sha256="0xhl7jp2429007jzx305ggfwyx0vh2vxw7l2a7f3c0prklhyqpqc"; depends=[boot DepthProc fields nloptr rsm spam]; };
   OptimalCutpoints = derive2 { name="OptimalCutpoints"; version="1.1-3"; sha256="1vrbx62080r9sgk9ipjvdrqvikp4gwidp5gi5j92hspk7cp10amg"; depends=[]; };
   OptimalDesign = derive2 { name="OptimalDesign"; version="0.2"; sha256="1gpcasdbcgqqr1l6f63q4jqva28rpz0cbgs1f4l3bizldd9kf4kh"; depends=[]; };
@@ -2373,7 +2434,7 @@ in with self; {
   OutrankingTools = derive2 { name="OutrankingTools"; version="1.0"; sha256="0z7pslkkinn7flc4xwjg0bsfswf8ad4jv9rmglaj3fmjcx9b6wgj"; depends=[igraph]; };
   OxyBS = derive2 { name="OxyBS"; version="1.5"; sha256="11l3gm0jvw993jb13f6kpv77m6z0d1jswscma2v28qzkw053r3dc"; depends=[]; };
   P2C2M = derive2 { name="P2C2M"; version="0.7.6"; sha256="07ycl22v03b2xdaw4v0l6layqhab431ma38qywzm96hkl3ywvl49"; depends=[ape ggplot2 rPython stringr]; };
-  PAC = derive2 { name="PAC"; version="1.0.9"; sha256="1757wpy92hhk1gpzm719kkhh31qkn0a2cbagyn3pnx5vklywfzz1"; depends=[dplyr ggplot2 ggrepel igraph infotheo parmigene Rcpp Rtsne]; };
+  PAC = derive2 { name="PAC"; version="1.0.10"; sha256="0cr34vjd6dr5jkbv1hhd7ln35ih8h62fmz2q8h2plbxaww88zcjf"; depends=[dplyr ggplot2 ggrepel igraph infotheo parmigene Rcpp Rtsne]; };
   PACBO = derive2 { name="PACBO"; version="0.1.0"; sha256="1v3j5bgvf0wh8s4d2yyz0fkc3acdwjlicwnbh1r241b1742x79cb"; depends=[mnormt]; };
   PAFit = derive2 { name="PAFit"; version="1.0.0.3"; sha256="0s9zxr9368cf6skskqb2q67jkynzm4s3qp07i0m1zrmn9142hw9z"; depends=[igraph magicaxis mapproj MASS network networkDynamic plyr RColorBrewer Rcpp VGAM]; };
   PAGI = derive2 { name="PAGI"; version="1.0"; sha256="01j1dz5ihqslpwp9yidmhw86l112l7rfkswmf03vss872mpvyp3f"; depends=[igraph]; };
@@ -2405,10 +2466,10 @@ in with self; {
   PCDimension = derive2 { name="PCDimension"; version="1.1.8"; sha256="1359cmswynv9xqbfb60kh32ifm9wgm20iplkdfzf5v2c4vxd0rmf"; depends=[changepoint ClassDiscovery cpm kernlab oompaBase]; };
   PCFAM = derive2 { name="PCFAM"; version="1.0"; sha256="196jzv0f6j60zkyagm9n98339ipn8mrhmhl3q4g053z8f6mm9zmv"; depends=[]; };
   PCGSE = derive2 { name="PCGSE"; version="0.4"; sha256="0ky1nzhz6v9n34kas9nw2scc6ip7av19g09zcsxaa9436nhip4f6"; depends=[MASS RMTstat safe]; };
-  PCICt = derive2 { name="PCICt"; version="0.5-4"; sha256="1g17hxs00dlnb6p0av6l7j99qy00555f80nk1i1i1x87fszp3axa"; depends=[]; };
+  PCICt = derive2 { name="PCICt"; version="0.5-4.1"; sha256="17ipmv6ps7c9dv4k9kxjjynnlgr63baz9z9ndwfg0lckc3vw81ya"; depends=[]; };
   PCIT = derive2 { name="PCIT"; version="1.5-3"; sha256="0gi28i2qd09pkaja4w7abcl7sz43jnk98897vc2905fnk9nks65j"; depends=[]; };
   PCMRS = derive2 { name="PCMRS"; version="0.1-1"; sha256="10n4am4qm23aaghf8awv2llcq7392s62yr6mf5h8nf18hfz29wrn"; depends=[cubature ltm mvtnorm Rcpp RcppArmadillo statmod]; };
-  PCPS = derive2 { name="PCPS"; version="1.0.3"; sha256="1ys3xp1nripy5zkq25byak9k6yf5rdbfnww8j13yc469428ip8q0"; depends=[ape phylobase picante SYNCSA vegan]; };
+  PCPS = derive2 { name="PCPS"; version="1.0.5"; sha256="1v5173zskkyc79b68a3x0b1harq5xp4igisf94ajgqqmkpf61qcp"; depends=[ape phylobase picante RcppArmadillo SYNCSA vegan]; };
   PCRedux = derive2 { name="PCRedux"; version="0.2.5-1"; sha256="1p5qmz09ajbm1iypyz5rn9bwzbbx57gc6a0xzrm900dw2r2cf7ph"; depends=[bcp changepoint chipPCR ecp fda_usc FFTrees magrittr MBmca pbapply plotly pracma qpcR robustbase testthat visdat zoo]; };
   PCS = derive2 { name="PCS"; version="1.2"; sha256="0488h6s1yz6fwiqf88z2vgckn6i0kwls8cazmpw3wspnaqvl2n4s"; depends=[multtest statmod]; };
   PCSinR = derive2 { name="PCSinR"; version="0.1.0"; sha256="1z8yjryw3c43vc6fxcwiindmyq6r63pc1zr3aybwmys6mv697bb4"; depends=[]; };
@@ -2425,12 +2486,13 @@ in with self; {
   PGM2 = derive2 { name="PGM2"; version="1.0-1"; sha256="03282pcq7gw47awc2mxjsbz6w3zpqjhqd7fzg8la4p00cd0vvmr4"; depends=[]; };
   PGRdup = derive2 { name="PGRdup"; version="0.2.3.3"; sha256="1s0v44922zpxl3w9kzn9xzvs5jldg35gjrnlf89f89i3rs59gg98"; depends=[data_table ggplot2 gridExtra igraph stringdist stringi]; };
   PHENIX = derive2 { name="PHENIX"; version="1.3.1"; sha256="1gd9ycrwawi81al4f5v559km1112giwqnwvvk8ynj4kdb5bqpyq4"; depends=[ppcor SuppDists]; };
-  PHYLOGR = derive2 { name="PHYLOGR"; version="1.0.8"; sha256="17lmjfbwf8j68zzzhdvppyjacdsmy4zmcfj0pcjsw5j6m361hvh6"; depends=[]; };
+  PHYLOGR = derive2 { name="PHYLOGR"; version="1.0.10"; sha256="17q760k5519alr2skvpnghz3c9jgw07lh5fpw4xf6hjk3qlqq82c"; depends=[]; };
   PHeval = derive2 { name="PHeval"; version="0.5.3"; sha256="1zq4ks6w5vrhy1f170fv16zgrgi1lfxmkpfkg75sjin7asw4i7a9"; depends=[survival]; };
   PIGE = derive2 { name="PIGE"; version="1.1"; sha256="0pc24rvvxzpgrsx7xsj98n5vd462hjggakzwp36qdkib69yyr4bn"; depends=[ARTP snowfall survival xtable]; };
   PIGShift = derive2 { name="PIGShift"; version="1.0.1"; sha256="115dnsh4b1rxx1d2kc8x3vl5366h5f0i6gg8l1w3v0f8309qigis"; depends=[ape mvtnorm]; };
+  PINSPlus = derive2 { name="PINSPlus"; version="1.0.0"; sha256="1vyn6hz4b0gzpvs6m0lbs09vv8531z74vkm2ss1244gn991p7iif"; depends=[cluster doParallel entropy foreach pbmcapply]; };
   PIPS = derive2 { name="PIPS"; version="1.0.1"; sha256="1c5v3s6xys9p1q32k6mpsffhi9gwsq951rh12hs76dmak862yspc"; depends=[]; };
-  PK = derive2 { name="PK"; version="1.3-3"; sha256="07qxyszj0f7qwrg5ixvciy33mjsfxxi9rk32a1fz46z8wiwfil9i"; depends=[]; };
+  PK = derive2 { name="PK"; version="1.3-4"; sha256="1zkjq64p34gzbsbmbdqphssnplzz65wpl486qf4yhawnb4wnkj1v"; depends=[]; };
   PKI = derive2 { name="PKI"; version="0.1-5.1"; sha256="1xs3jxbczhkxnp7cyw2yh1jcwha92y9pdsbka1ligbla70bnvxyj"; depends=[base64enc]; };
   PKNCA = derive2 { name="PKNCA"; version="0.8.4"; sha256="013b4d74virwjpxq20m566ya85q31aq6bdgk5fpjrwh5ja6805ka"; depends=[digest dplyr lattice nlme plyr rlang tidyr]; };
   PKPDmisc = derive2 { name="PKPDmisc"; version="2.1.1"; sha256="1p47zdhilprzcwarfmisq7g7znr73wgxns43mn3d7w5sv671mygv"; depends=[BH data_table dplyr ggplot2 lazyeval magrittr purrr Rcpp readr rlang stringr tibble]; };
@@ -2446,13 +2508,15 @@ in with self; {
   PMA = derive2 { name="PMA"; version="1.0.9"; sha256="11qwgw4sgzl3xhrm468bsza83h3mfn89157nfwnrassl7qr42xkq"; depends=[impute plyr]; };
   PMCMR = derive2 { name="PMCMR"; version="4.2"; sha256="1dqfn68034xkik4xfl8mlqsh7x427f7cwna5axj8gvjcj9l48x8c"; depends=[]; };
   PMCMRplus = derive2 { name="PMCMRplus"; version="1.0.0"; sha256="11sliznixsrrlr0y365hxpg64jfva8l1ilrnkdd32ddy8713sin7"; depends=[BWStest gmp kSamples MASS multcompView mvtnorm Rmpfr SuppDists]; };
-  PNADcIBGE = derive2 { name="PNADcIBGE"; version="0.4.0"; sha256="1lr7ycsjp9dimkbxfapl1qpvlvl0771rdipaf26sgi7iabqpz5b4"; depends=[dplyr magrittr RCurl readr readxl survey timeDate]; };
+  PNADcIBGE = derive2 { name="PNADcIBGE"; version="0.4.1.1"; sha256="038xylgq3mp1nl5rf11swprv08khvzfw0jg5bmd0yvqmygr082jq"; depends=[dplyr magrittr RCurl readr readxl survey timeDate]; };
   POET = derive2 { name="POET"; version="2.0"; sha256="0w3jhj45sxisyrpcsazbrbcsz7rmraw71jjm0zixbcgc4klb98ar"; depends=[]; };
   POMaSPU = derive2 { name="POMaSPU"; version="1.0.0"; sha256="0jz3jgzdykv0xvfw3ix0hbs32as6dp7p5v8bj5nddknx10d0siya"; depends=[MASS matrixStats Rcpp RcppArmadillo]; };
   POPdemog = derive2 { name="POPdemog"; version="1.0.3"; sha256="0j83c853ligmw8ag4pb0vj46sfn2w2ynh4wvgkabzs688hxxni8r"; depends=[]; };
   POT = derive2 { name="POT"; version="1.1-6"; sha256="08av53rnishk3mhwrb6ydbgc3n9nwi87jlx5vmag3vpiidhn1laj"; depends=[]; };
   PP = derive2 { name="PP"; version="0.6.1"; sha256="10innn1nhc4zqimd0gww7k3k30jkfkkj89zkddcjqa2sqq5gs3xr"; depends=[Rcpp]; };
-  PPCI = derive2 { name="PPCI"; version="0.1.1"; sha256="1f3jmrkszjq6ajbl0kjf5rghiliim96wz53mfrjjvpc6piajs5ym"; depends=[rARPACK]; };
+  PP3 = derive2 { name="PP3"; version="1.2"; sha256="1g36al9w1rxyhfzbvpw9siqq57h2xl0zr94wysz8i0jzqkkqkrvf"; depends=[]; };
+  PPCI = derive2 { name="PPCI"; version="0.1.2"; sha256="1k6kbln0h1wkzg594k1db6r3nk5dqwhg8gm1hgval05dsdhp8j8b"; depends=[rARPACK]; };
+  PPRL = derive2 { name="PPRL"; version="0.3.5"; sha256="1j8qfa6ipk9x6w7g5y0lz14cf72s2zpkrp5gk2qbvx1pm3w1zyh6"; depends=[Rcpp settings]; };
   PPforest = derive2 { name="PPforest"; version="0.1.0"; sha256="1s0g8icyx30sih2xbdihp9xbmygfgd1hs642qdl5559fqshylbzs"; depends=[doParallel dplyr magrittr plyr Rcpp RcppArmadillo tidyr]; };
   PPtree = derive2 { name="PPtree"; version="2.3.0"; sha256="002qjdx52r2h90wzrf2r3kz8fv3nwx08qbp909whn6r4pbdl532v"; depends=[MASS penalizedLDA]; };
   PPtreeViz = derive2 { name="PPtreeViz"; version="2.0.3"; sha256="1x5rcls49jz19y3h98n2k4kypm8mv8p586clhdj62bvp2nl8wg3x"; depends=[ggplot2 gridExtra partykit Rcpp RcppArmadillo]; };
@@ -2466,9 +2530,8 @@ in with self; {
   PROscorer = derive2 { name="PROscorer"; version="0.0.1"; sha256="0mgj0mi0vzdk0agimsx4k9i4bss0j5lqiayzhldr1hrqrx2a4f3d"; depends=[PROscorerTools]; };
   PROscorerTools = derive2 { name="PROscorerTools"; version="0.0.1"; sha256="1vliffkfqdn5l96bncfgayv19i20kmawlxi8q853wamj6npdpv5r"; depends=[]; };
   PRROC = derive2 { name="PRROC"; version="1.3"; sha256="03hvh92lq4i4w4mla9bvwrwb4626f4hvlxgdn57hamp70960vjyc"; depends=[]; };
-  PReMiuM = derive2 { name="PReMiuM"; version="3.1.6"; sha256="14y3c5l050szdm2zh88byzawrfc224j4dr4msc5a5vh10bsa1wd9"; depends=[ald BH cluster gamlss_dist ggplot2 plotrix Rcpp RcppEigen]; };
+  PReMiuM = derive2 { name="PReMiuM"; version="3.1.7"; sha256="1l2ibwn5z647dwhrjzgrz3qqzdbkqk3zrpn95hy4ysa32pdz300n"; depends=[ald BH cluster gamlss_dist ggplot2 plotrix Rcpp RcppEigen]; };
   PResiduals = derive2 { name="PResiduals"; version="0.2-5"; sha256="05jk543lv8isbxv24cbzqh80l6xs05lx2k9xzz7s0121vb2yd3v4"; depends=[Formula MASS rms SparseM]; };
-  PSAboot = derive2 { name="PSAboot"; version="1.1.4"; sha256="1zfqpq0ibgazwppbxbmqvkvh9j5421xmj9132zghxki0xdy655ss"; depends=[ggplot2 ggthemes Matching MatchIt modeltools party PSAgraphics psych reshape2 rpart TriMatch]; };
   PSAgraphics = derive2 { name="PSAgraphics"; version="2.1.1"; sha256="05c0k94dxddyrhsnhnd4jcv6fxbbv9vdkss2hvlf3m3xc6jbwvh9"; depends=[rpart]; };
   PSCBS = derive2 { name="PSCBS"; version="0.63.0"; sha256="0pgha1rvb9nfxkr8fxc17zgws781qwmrl01rss7bd0sf2n2lw2k2"; depends=[aroma_light DNAcopy future listenv matrixStats R_cache R_methodsS3 R_oo R_utils]; };
   PSF = derive2 { name="PSF"; version="0.4"; sha256="1hjry8vjqr6zk2i2ppf3fcpsr4v4jm1705qv6i1iz2agl6g2rcnp"; depends=[cluster data_table forecast knitr]; };
@@ -2482,11 +2545,11 @@ in with self; {
   PTAk = derive2 { name="PTAk"; version="1.2-12"; sha256="1phxh2qbzsj2ia2dr6z30lhi765lk1m8lbk57sdgvm14fmi9v5nk"; depends=[tensor]; };
   PTE = derive2 { name="PTE"; version="1.6"; sha256="0y2zqvm2d9minpc22ndq6mar3brbv9k6s1apl19zwpc8h5g3jx5l"; depends=[doParallel foreach survival]; };
   PTXQC = derive2 { name="PTXQC"; version="0.92.3"; sha256="1spkbjji36s2dlhm5b8svpnjmana2jy1ppa0pfgjg7rpsp3369xq"; depends=[data_table ggdendro ggplot2 gridExtra gtable kableExtra knitr plyr proto RColorBrewer reshape2 rmarkdown seqinr yaml]; };
-  PUlasso = derive2 { name="PUlasso"; version="2.2"; sha256="0chk26ll134fqvaqdwdnm49vbvklbrxm0j0qkcydm166p24k8n2z"; depends=[BH Matrix Rcpp RcppEigen]; };
+  PUlasso = derive2 { name="PUlasso"; version="3.1"; sha256="0cnnv9laga24h01aqkk7kzmmv2x5cgcq5l45w8vj5pvfyhvm4067"; depends=[BH doParallel foreach Matrix Rcpp RcppEigen]; };
   PVAClone = derive2 { name="PVAClone"; version="0.1-6"; sha256="0fj5p3z2cwnyshrr4rq88wpij2xax5p4aq0x4p342kadx9d6x2ga"; depends=[coda dclone dcmle]; };
   PWD = derive2 { name="PWD"; version="1.0"; sha256="0ksr3biaqd4p5a4lv28i4cwk1fn9822ndq2161mgvc1c344p06fj"; depends=[Rcpp RcppArmadillo]; };
-  PWEALL = derive2 { name="PWEALL"; version="1.2.0"; sha256="0h7azgns88qwgdp41v35v6293xqs2hksbr82p15n754ci2hsvzja"; depends=[survival]; };
-  PWFSLSmoke = derive2 { name="PWFSLSmoke"; version="1.0.10"; sha256="1c32bf7wlsmj0wqwcd6v4ghfrj6snaqa6q3a09p1gbvxd7mzs731"; depends=[cluster dplyr dygraphs futile_logger ggmap httr jsonlite leaflet lubridate magrittr mapproj maps maptools MazamaSpatialUtils openair png raster RColorBrewer readr reshape2 rgdal RgoogleMaps sp stringr xts zoo]; };
+  PWEALL = derive2 { name="PWEALL"; version="1.2.1"; sha256="08a7ih9yyp0dqw89n1qhwbxhgiks91c3wjbaz08b6ck6cv6gzy6k"; depends=[survival]; };
+  PWFSLSmoke = derive2 { name="PWFSLSmoke"; version="1.0.16"; sha256="015zqbq9wsg0wc1y5s4x8vc7klkfa928xcl23v732vy28j0jf20h"; depends=[cluster dplyr dygraphs futile_logger ggmap httr jsonlite leaflet lubridate magrittr mapproj maps maptools MazamaSpatialUtils openair png raster RColorBrewer readr reshape2 rgdal RgoogleMaps sp stringr xts zoo]; };
   PabonLasso = derive2 { name="PabonLasso"; version="1.0"; sha256="158xg9i13nqy1bnpch8r6a7yas01hsdidmcypgccmyh7d7l52mr1"; depends=[]; };
   Pade = derive2 { name="Pade"; version="0.1-4"; sha256="1kx5qpxd3x43bmyhk8g2af44hz3prhnrzrm571kfjmak63kym741"; depends=[]; };
   PairViz = derive2 { name="PairViz"; version="1.2.1"; sha256="0mjp5p6n5azbhrm2hvb9xyqjfhd49pw9ia8k70749yc96ws1qqc7"; depends=[graph gtools TSP]; };
@@ -2507,7 +2570,7 @@ in with self; {
   ParamHelpers = derive2 { name="ParamHelpers"; version="1.10"; sha256="0nzsl3hby4dhnp7rw47zjmdrrfsgp5w1ai9fpw3bgc4k5sk9nql0"; depends=[BBmisc checkmate]; };
   ParentOffspring = derive2 { name="ParentOffspring"; version="1.0"; sha256="117g8h0k65f2cjffigl8n4x37y41rr2kz33qn2awyi876nd3mh93"; depends=[]; };
   ParetoPosStable = derive2 { name="ParetoPosStable"; version="1.1"; sha256="1fwji5wrhbxr089dll812csamvb5q2pxn1607rpirarifgfbj28m"; depends=[ADGofTest doParallel foreach lmom]; };
-  PartCensReg = derive2 { name="PartCensReg"; version="1.38"; sha256="16f64w7ngaj37n8imqqh50w15lrknr0w45ns7bg75lnap9y2qhml"; depends=[Matrix optimx ssym]; };
+  PartCensReg = derive2 { name="PartCensReg"; version="1.39"; sha256="0blzv57cbxqghkz4fc3plvrcw80g0kx17dzmajkfv598m1wm6hc8"; depends=[Matrix optimx ssym]; };
   Partiallyoverlapping = derive2 { name="Partiallyoverlapping"; version="1.0"; sha256="1wwfq0zwf2b2wlq4pwhw92d02f715l7bkc0si7gndk0mp2pibcrx"; depends=[]; };
   PathSelectMP = derive2 { name="PathSelectMP"; version="1.1"; sha256="036b70bpylmibny6dny79f7gdzn78arqgl2hfs031vygw63yyh9b"; depends=[mice MplusAutomation]; };
   PatternClass = derive2 { name="PatternClass"; version="1.7.1"; sha256="11r4p4s2pm0c4fmnpijzz5srhpai444mbx5nszhkssfsp9rh7cm9"; depends=[SDMTools]; };
@@ -2525,18 +2588,18 @@ in with self; {
   PenCoxFrail = derive2 { name="PenCoxFrail"; version="1.0.1"; sha256="0snjf8jxzyf30xj3wx9p6g073dqw592l1j1c6yxfg8y4kgzhzwq7"; depends=[Matrix Rcpp RcppArmadillo survival]; };
   PepPrep = derive2 { name="PepPrep"; version="1.1.0"; sha256="1s2xn05xry50l9kf1mj6yd1dpc7yp6g3d00960hswvhznb0a4l84"; depends=[biomaRt stringr]; };
   PepSAVIms = derive2 { name="PepSAVIms"; version="0.9.1"; sha256="0m4jrq6wcjy0k80gvrnm9f7kvi1ifx9182xfq0psyaxpj0ggvzij"; depends=[elasticnet]; };
-  Peptides = derive2 { name="Peptides"; version="2.2"; sha256="0fdc8xd0c6x1m1r3bj9098m6g5ay15ig53z0wib2lvxlcnh2xpjs"; depends=[Rcpp]; };
+  Peptides = derive2 { name="Peptides"; version="2.3"; sha256="17nbjh06vi4syb0hlg7y646xik4csp3fs6r6z0c676k5sxs33mrd"; depends=[Rcpp]; };
   PerFit = derive2 { name="PerFit"; version="1.4.1"; sha256="0mzd9yrgsswxlhljlk8nxi0dhy3k4a9jax9w9c9s29j4m7z9jf01"; depends=[fda Hmisc irtoys ltm MASS Matrix mirt]; };
   PerMallows = derive2 { name="PerMallows"; version="1.13"; sha256="0ny2vc8f0npixaw1kp2d93xr4g46nsg8jjwvi6afv9xjvaz0i6wy"; depends=[Rcpp]; };
   Perc = derive2 { name="Perc"; version="0.1.2"; sha256="0p6l4b536jjz4lmgsdrxqsh77lx4vkb6hbyd6vhbc102m5x3b1yc"; depends=[]; };
   PerfMeas = derive2 { name="PerfMeas"; version="1.2.1"; sha256="1x7ancmb41zd1js24rx94plgbssyc71z2bvpic6mg34xjkwdjw93"; depends=[graph limma RBGL]; };
-  PerformanceAnalytics = derive2 { name="PerformanceAnalytics"; version="1.4.3541"; sha256="1czchsccsbdfjw743j6rm101q2q01pggyl8zmlva213pwm86zb3v"; depends=[xts zoo]; };
+  PerformanceAnalytics = derive2 { name="PerformanceAnalytics"; version="1.5.2"; sha256="01bgm57z079g6r505w3bj293zkbd49fwa8sg55z87vizwavipml6"; depends=[quadprog xts zoo]; };
   PeriodicTable = derive2 { name="PeriodicTable"; version="0.1.2"; sha256="133rwbvapk99dmh3vi8p7sa81d7hjmy0g4a5hcmwr3mdq8jzgwrj"; depends=[]; };
   PermAlgo = derive2 { name="PermAlgo"; version="1.1"; sha256="16fhdgr4nza9yknsbwiv8pgljfwp8hhva0crs4dbfd0w4j97n5fp"; depends=[]; };
   PersomicsArray = derive2 { name="PersomicsArray"; version="1.0"; sha256="1d5gxd65b01m13rgbdhk6w3l43vqcbdk0s1pbgc8h6cnipj55z0i"; depends=[jpeg raster stringr tiff]; };
   PhViD = derive2 { name="PhViD"; version="1.0.8"; sha256="038pw24sb8ja8pbbmj05rww6413i2ljybb2dxwgrpffv22aqawmc"; depends=[LBE MCMCpack]; };
   PharmPow = derive2 { name="PharmPow"; version="1.0"; sha256="0gabkd8p4zsig9p697lyk8m2jxb5abjk81rpzd5ih1yk1qanhsn5"; depends=[scatterplot3d]; };
-  Phase123 = derive2 { name="Phase123"; version="1.4"; sha256="1iw0xgfsvfzrhcnfxvq6rcwfcycyvc2bbg8d7g2spvvjk7aa4bwd"; depends=[Rcpp RcppArmadillo survival]; };
+  Phase123 = derive2 { name="Phase123"; version="1.5"; sha256="05yvzx0sf6dq47nr5bk1kd2icndf20z39y9fj90zqdm3ay2hi586"; depends=[Rcpp RcppArmadillo survival]; };
   PhaseType = derive2 { name="PhaseType"; version="0.1.3"; sha256="092dqyqfaxj8qpwxcjb5cayhnq597rfjz1xb93ps4nrczycqs0l6"; depends=[coda ggplot2 reshape]; };
   PhenotypeSimulator = derive2 { name="PhenotypeSimulator"; version="0.2.0"; sha256="1vnissx2p10w2w435vr2jqw50cs5518l1gpq4pkyyxckcrd300w9"; depends=[data_table dplyr ggplot2 mvtnorm optparse R_utils Rcpp reshape2 snpStats zoo]; };
   Phxnlme = derive2 { name="Phxnlme"; version="1.0.0"; sha256="0h9mi8p95rp1s8xsdv38j9fpy2cy9zvjnldjmnj0n469kimp2782"; depends=[ggplot2 gridExtra lattice manipulate testthat]; };
@@ -2546,10 +2609,10 @@ in with self; {
   PhylogeneticEM = derive2 { name="PhylogeneticEM"; version="1.1.0"; sha256="0ji78zx0gp1nd5assrmwxdkxryfjijnn9g34w2g2qv32s1fdj6ak"; depends=[ape capushe foreach glmnet grplasso LINselect MASS Matrix plyr Rcpp RcppArmadillo robustbase]; };
   PhysActBedRest = derive2 { name="PhysActBedRest"; version="1.0"; sha256="0gmqh700cf6aiagb45iyyf85pgp3b86fx7fbv9lrsm4mda0r8h75"; depends=[chron lubridate stringr]; };
   PhysicalActivity = derive2 { name="PhysicalActivity"; version="0.1-1"; sha256="1aqyip7psf3pdrxkpidfldkk9naihvnc7s3n6w6vvr9h1l5mpmvc"; depends=[]; };
-  PieceExpIntensity = derive2 { name="PieceExpIntensity"; version="1.0.1"; sha256="0agy9jp5vbh6cj5mipbmn11m69w4ydz91nprph0jyf1drl92730h"; depends=[Rcpp RcppArmadillo]; };
+  PieceExpIntensity = derive2 { name="PieceExpIntensity"; version="1.0.2"; sha256="04l1id872mlgpid746l8dz2wdcjxh79cqw835gsph6ngxg0g8qp6"; depends=[Rcpp RcppArmadillo]; };
   Pijavski = derive2 { name="Pijavski"; version="1.0"; sha256="1027lmmk17br9zxah980j6l3k2p92065bwigw6gpy9g0g5jjl4f1"; depends=[Rcpp]; };
   PivotalR = derive2 { name="PivotalR"; version="0.1.18.3"; sha256="14l7y57zmfr7h4bq01j83am2plxx320kkhbsh0x2ypif9dni4rf2"; depends=[Matrix]; };
-  PlackettLuce = derive2 { name="PlackettLuce"; version="0.2-2"; sha256="0lzgffw5kbx9psd68r7yigqv8dszjb2xkayxm3rhfs8jv9309yr0"; depends=[igraph MASS Matrix partykit psychotools qvcalc rARPACK sandwich]; };
+  PlackettLuce = derive2 { name="PlackettLuce"; version="0.2-3"; sha256="1w2ihclnh3x83ip4hh95bchv5j832cqy6n140q5q1dbfz6fy1bxv"; depends=[igraph MASS Matrix partykit psychotools psychotree qvcalc rARPACK sandwich]; };
   Planesmuestra = derive2 { name="Planesmuestra"; version="0.1"; sha256="0v7l4hrfckcf7zmk0ihq2ij0qli7x12j17vd6752d1yjk27fgk57"; depends=[]; };
   PlasmaMutationDetector = derive2 { name="PlasmaMutationDetector"; version="1.6.10"; sha256="1dqc6k7mq9k6g9gndgjm6cf61mgl0liy4qwpzragbhq6lym8hw6w"; depends=[GenomicRanges ggplot2 robustbase Rsamtools rtracklayer S4Vectors SummarizedExperiment VariantAnnotation]; };
   Plasmidprofiler = derive2 { name="Plasmidprofiler"; version="0.1.6"; sha256="10m3knmz0596rm30ncyfprar6l42bjm7r34n4pjz1biqmiz6yz6k"; depends=[ape dplyr gdata ggdendro ggplot2 gridExtra gtable htmlwidgets magrittr plotly plyr RColorBrewer reshape2 stringr]; };
@@ -2564,13 +2627,13 @@ in with self; {
   PoisBinOrd = derive2 { name="PoisBinOrd"; version="1.3"; sha256="122z4mqig8hrqlislmazcpjg6q47pmi1pmpw93kyg81016p2gmxi"; depends=[corpcor GenOrd Matrix mvtnorm]; };
   PoisBinOrdNonNor = derive2 { name="PoisBinOrdNonNor"; version="1.4"; sha256="14xmq1rcx901fd96aivq6m2vrcj8h1p1pxwkfjpn5dh4kqfy7921"; depends=[BB corpcor GenOrd MASS Matrix]; };
   PoisBinOrdNor = derive2 { name="PoisBinOrdNor"; version="1.5"; sha256="03jgd2f7wvk7nhpkzrbjx8y4ymwgf53hxbz89ydmjk039flsp6x6"; depends=[corpcor GenOrd Matrix mvtnorm psych]; };
-  PoisNonNor = derive2 { name="PoisNonNor"; version="1.4"; sha256="1hmgwk6lr9pm06qp2n27n6j3i8q4m8zrc1hy061pix13k4idagz1"; depends=[BB corpcor MASS Matrix]; };
+  PoisNonNor = derive2 { name="PoisNonNor"; version="1.5"; sha256="1078lfq8y5gsklmgj0jharqpgw7w0yqhc0l4xvkjhr0ifvigmd0h"; depends=[BB corpcor MASS Matrix]; };
   PoisNor = derive2 { name="PoisNor"; version="1.2"; sha256="0jpndpxajv598lpk2bx0np0yzfh1k903hpdadr4labpbjmr4pfrr"; depends=[corpcor Matrix mvtnorm]; };
   PoissonSeq = derive2 { name="PoissonSeq"; version="1.1.2"; sha256="1hhx0gv06cp6hm6h36mqy411qn9x15y45crpzbyf8crfs85c6gbg"; depends=[combinat]; };
   PoloniexR = derive2 { name="PoloniexR"; version="0.0.1"; sha256="1qik272z5lmzv9k1kfr5v0m8sydbdhbrc732n1zpwnqc1spfqb20"; depends=[anytime digest httr jsonlite RApiDatetime xts zoo]; };
   PolyPatEx = derive2 { name="PolyPatEx"; version="0.9.2"; sha256="1z1hwvsw7b6cz5xfy35a5ldrzb3fhp3swiyz56v1zqblpsaz8n9g"; depends=[gtools]; };
   PolyTrend = derive2 { name="PolyTrend"; version="1.2"; sha256="17n6phkzgaqrlzs8x1l5smnij1gxfklr0zj9pqfy5n8xqnpwssm5"; depends=[]; };
-  Polychrome = derive2 { name="Polychrome"; version="1.0.0"; sha256="09yxrwh7a5hgq52jv2d0b0jvwbgm1f1dg6w4vziwdx5cwyny9psl"; depends=[colorspace rgl]; };
+  Polychrome = derive2 { name="Polychrome"; version="1.1.0"; sha256="1a0ifbvkw85sxwc8zjj8hy88avmqyjsfxk2cd16qsp0p9wfn872y"; depends=[colorspace scatterplot3d]; };
   PolynomF = derive2 { name="PolynomF"; version="1.0-1"; sha256="0sr5v43hp1ydy2230vm3mrg4pnnv7nivhnp3zni9svc8g0bd8z8p"; depends=[]; };
   Pomic = derive2 { name="Pomic"; version="1.0.4"; sha256="0xy5fgimbgqqac3n7akhwyvnrvd9fpvx9h8nk4spxrxc8x0km1w7"; depends=[]; };
   PooledMeanGroup = derive2 { name="PooledMeanGroup"; version="1.0"; sha256="0i9s7qskjnji3mf6clsi69rnni57v8cysgr9gh3hvxjzlf1sq8y7"; depends=[]; };
@@ -2586,24 +2649,23 @@ in with self; {
   PortfolioOptim = derive2 { name="PortfolioOptim"; version="1.0.3"; sha256="1s9msqjxqxqafhncc3hi5prhzl5cj0incd5rc9fxc23l5l4n9xjx"; depends=[Rglpk]; };
   PottsUtils = derive2 { name="PottsUtils"; version="0.3-3"; sha256="165k4sjh3kqkb8bzi68wx00yl77yfbgs70fcbpzmsmcw4g4hdpzn"; depends=[miscF]; };
   PoweR = derive2 { name="PoweR"; version="1.0.6"; sha256="0p2v07wp1hqmmbf7b3mh0v4n5hbbcms9xkdhjzdfxkkbafxybc24"; depends=[Rcpp RcppArmadillo]; };
-  Power2Stage = derive2 { name="Power2Stage"; version="0.4-6"; sha256="1fzzvv3c7z9fb63l0wz9i0vd413mfn1dzw19kw7rnldv773lwir1"; depends=[mvtnorm PowerTOST]; };
+  Power2Stage = derive2 { name="Power2Stage"; version="0.5-1"; sha256="155w5yp0pdq4g3638m0c54i81lfk0g0f339hzbxpkxhs8ds7g2zv"; depends=[cubature mvtnorm PowerTOST]; };
   PowerNormal = derive2 { name="PowerNormal"; version="1.2.0"; sha256="1kryqcjvgwk0l4z3gqxdiz47mha3jw5583jlb9z7ml6v7cam06sm"; depends=[]; };
-  PowerTOST = derive2 { name="PowerTOST"; version="1.4-6"; sha256="0fy9g1zkkxx45pz7axyhv9v9yajfwi19pxcr2bc9dih3j41kazjr"; depends=[cubature mvtnorm TeachingDemos]; };
+  PowerTOST = derive2 { name="PowerTOST"; version="1.4-7"; sha256="02k6jn5dw70518g55bchax0l5gkci827lqwwyxwnn6rzs3mx4ybs"; depends=[cubature mvtnorm TeachingDemos]; };
   PowerUpR = derive2 { name="PowerUpR"; version="0.2.3"; sha256="046p4mrw50k1a0m672i2zx5vxfpyggiazp95qz8kx6bnq472ixp2"; depends=[]; };
   PracTools = derive2 { name="PracTools"; version="0.8"; sha256="0hmdsm1ya6fw0f2fv4b85bkr35vlqmjf1sd9jmw1d4izpifv187h"; depends=[]; };
   PreKnitPostHTMLRender = derive2 { name="PreKnitPostHTMLRender"; version="0.1.0"; sha256="1749cd734f4bf0n4068s2m617k6as8h9bwp44mm3la2xy3vjf5g1"; depends=[knitr rmarkdown XML]; };
   PreProcess = derive2 { name="PreProcess"; version="3.1.4"; sha256="0zvy7wx9wfsdcvnjdr1angh0shqwhlm48byc0ymciqlx6xagaw0b"; depends=[oompaBase]; };
-  PreciseSums = derive2 { name="PreciseSums"; version="0.1"; sha256="14d42n1wby1srrjyi0yc565g2ldmxy3r3z5bf7ki2x6snj569n0g"; depends=[]; };
+  PreciseSums = derive2 { name="PreciseSums"; version="0.3"; sha256="02w0pa9dd196sg6zg9w2fp4b0k6wibbw9rbvasr3aphh98kbd6ch"; depends=[]; };
   PredPsych = derive2 { name="PredPsych"; version="0.3"; sha256="0bqc2vl32z9wzby7ncrab742cajy4w5kq7wv2gh2jjqdnv9nkia7"; depends=[caret e1071 ggplot2 MASS mclust party plyr randomForest rpart statmod]; };
   PredictABEL = derive2 { name="PredictABEL"; version="1.2-2"; sha256="08c7j2in1wlas6nmy44s08cq86h5fizqbhsnq312dllqdzmb2h9s"; depends=[epitools Hmisc PBSmodelling ROCR]; };
-  PredictTestbench = derive2 { name="PredictTestbench"; version="1.1.3"; sha256="14np4zvr0labhqxzsv07iqzldfxmnsfk91qpfqz7vyiq0vwcymp4"; depends=[forecast ggplot2 imputeTestbench PSF reshape2]; };
   PredictiveRegression = derive2 { name="PredictiveRegression"; version="0.1-4"; sha256="15vkisj3q4hinc3d537s8inhj3wk62q67qhy050xmp9j563ainmd"; depends=[]; };
   PresenceAbsence = derive2 { name="PresenceAbsence"; version="1.1.9"; sha256="17qn4ggkr5aqml45nkihj1j35y479ywkm1xcfkb2g8ky66jb0c0s"; depends=[]; };
   PrevMap = derive2 { name="PrevMap"; version="1.4.1"; sha256="1hmvfk5zpflwncaiy2rr0jr2gr2gk66na6ks82b6dfgk8xdc8xmk"; depends=[geoR Matrix maxLik numDeriv pdist raster splancs truncnorm]; };
-  PrivateLR = derive2 { name="PrivateLR"; version="1.2-21"; sha256="1jwq8f0dnngj8sfbmcmxy34nkkq6yjw0mq3w1f8rasz67v3bwzp3"; depends=[]; };
+  PrivateLR = derive2 { name="PrivateLR"; version="1.2-22"; sha256="0d142fa3wk7yadvs8jszajs6hq9m03p0j6h5r4pbw7j0d1l72hgc"; depends=[]; };
   ProDenICA = derive2 { name="ProDenICA"; version="1.0"; sha256="04gnsnd0xzw3bfbssdp06bar0lk305ry2c97pmwxgiz3ay88dfsj"; depends=[gam]; };
-  ProFit = derive2 { name="ProFit"; version="1.1.0"; sha256="1r6afjz4ynds5aykn3vzg7k5pqqnsfbki8s4z49fv1y0gnr77zac"; depends=[celestial fftw FITSio LaplacesDemon magicaxis R2Cuba RColorBrewer Rcpp]; };
-  ProFound = derive2 { name="ProFound"; version="1.0.0"; sha256="1qv6bzd800xs26j49hsqv324nz2981imf2hnllf0rgpxcf382nhi"; depends=[celestial data_table FITSio magicaxis]; };
+  ProFit = derive2 { name="ProFit"; version="1.1.1"; sha256="0krnxdf9dddry4a5k1dag43va7lii1ykk0857kk1dfnl56sm3l51"; depends=[celestial fftw FITSio LaplacesDemon magicaxis R2Cuba RColorBrewer Rcpp]; };
+  ProFound = derive2 { name="ProFound"; version="1.0.1"; sha256="0ym8ggzm0b8zpfsq8xjjnwa09826gssaqhrqjyq88pwbhzh0y4pl"; depends=[celestial data_table FITSio magicaxis]; };
   ProNet = derive2 { name="ProNet"; version="1.0.0"; sha256="10r0gcxv0djrw99nd6a1jrnwvqmidw10ll645gvkp8l39li0107n"; depends=[igraph linkcomm MCL Rcpp]; };
   ProTrackR = derive2 { name="ProTrackR"; version="0.3.5"; sha256="19ilj03w5jpc1hw5avyb780iy3rdbby3kliym0si2zv6gyi9k541"; depends=[audio lattice signal tuneR XML]; };
   ProbForecastGOP = derive2 { name="ProbForecastGOP"; version="1.3.2"; sha256="0fnw3g19lx4vs8vmn4qdirvybkiy2cxkhwkn9qa3phz45iixnvx4"; depends=[fields RandomFields]; };
@@ -2615,7 +2677,7 @@ in with self; {
   ProjectTemplate = derive2 { name="ProjectTemplate"; version="0.8"; sha256="0kagahw30m0drlda75hgwbpp7cqrxyf1512ar56qlgm8z73hab3n"; depends=[]; };
   ProjectionBasedClustering = derive2 { name="ProjectionBasedClustering"; version="1.0.6"; sha256="0hx8v18m0wymbjjccy8sm34sqchs9gsf6piyhbs50nm00dqiamv6"; depends=[deldir GeneralizedUmatrix geometry ggplot2 Rcpp shiny shinyjs vegan]; };
   ProliferativeIndex = derive2 { name="ProliferativeIndex"; version="1.0.0"; sha256="1baf4v9c2pqqmlgxs1jf7fhwqbsw0l1g7rdiia21acxix2j3b7wj"; depends=[]; };
-  PropCIs = derive2 { name="PropCIs"; version="0.2-5"; sha256="0wnc5h4390w4rglr7gjh6827f5r7gdhajx1iwp5fggdlm808hgq7"; depends=[]; };
+  PropCIs = derive2 { name="PropCIs"; version="0.3-0"; sha256="1ywzi88igzaj2wnbrqa08cy7pw886z2m0x3j7rk45rin9mgpfdfd"; depends=[]; };
   PropClust = derive2 { name="PropClust"; version="1.4-3"; sha256="0k1wn62vlrddzhknyjpizpqxzrgl38frncql3mrlwakkn0kh8l5z"; depends=[dynamicTreeCut flashClust]; };
   PropScrRand = derive2 { name="PropScrRand"; version="1.1"; sha256="0cj62dzg4zm8d1g8h7qmviiwm93cwplppbi0p674fmmf1wy84v9s"; depends=[]; };
   ProteinDescriptors = derive2 { name="ProteinDescriptors"; version="0.1.0"; sha256="1ydm8aym1wwxmfh4krh84nmj1wkgb574igg1sywl58l3qlnhya0l"; depends=[]; };
@@ -2627,11 +2689,11 @@ in with self; {
   PtProcess = derive2 { name="PtProcess"; version="3.3-13"; sha256="0vk1n7hk6v592fi5ld70db6m92zgpjx97axs5h8p53c29984qhwz"; depends=[]; };
   PubBias = derive2 { name="PubBias"; version="1.0"; sha256="0dr5dhfx57knrs05pbx9ngg4k2937n8gjzsgd0jfqd8dfxhy051k"; depends=[R_utils rmeta]; };
   PubMedWordcloud = derive2 { name="PubMedWordcloud"; version="0.3.5"; sha256="0vpd48daamd9q3mdr59sx7zj86qcq2yx8bnrzblyx0ryqx6jnq8m"; depends=[RColorBrewer RCurl stringr tm wordcloud XML]; };
-  Publish = derive2 { name="Publish"; version="2017.10.24"; sha256="14zbbchff4mjvsxs9c2bypqdsfbnnl6lvr0k5v50wkd00avnv9s7"; depends=[data_table lava multcomp prodlim survival]; };
+  Publish = derive2 { name="Publish"; version="2018.04.17"; sha256="0dbcql2mi2qsxzcgcqa58yqynfq1800fa06ikyay2dm6gdyf0apq"; depends=[data_table lava multcomp prodlim survival]; };
   PurBayes = derive2 { name="PurBayes"; version="1.3"; sha256="0nbm4cyrwfbwwbjbjkylr86cshaqbvbif6dkp4fag8kbcgyyx5qh"; depends=[rjags]; };
-  PwrGSD = derive2 { name="PwrGSD"; version="2.2"; sha256="0z42l7vb3yya59g9rymypfzjbbs5zkknwgcl710rqa64l421sp8z"; depends=[survival]; };
+  PwrGSD = derive2 { name="PwrGSD"; version="2.3"; sha256="1iisib4bnb3fp0nwxnal13fgd0fs1vckchr4cj716k72jh6k7slm"; depends=[survival]; };
   PythonInR = derive2 { name="PythonInR"; version="0.1-4"; sha256="0krr5k0y9rggzq8f74nc6pyf47g8va1lvva31vc774hbb0rmr7gf"; depends=[pack R6]; };
-  QCA = derive2 { name="QCA"; version="3.1"; sha256="1nfwfv19rjqba28kmz9yk78zaq9jiiap8yhr0qcpf41q7381sn7q"; depends=[fastdigest shiny venn]; };
+  QCA = derive2 { name="QCA"; version="3.2"; sha256="1bjsc24b3g7xdb1fi3f4y1297g185gasl3xsgqxibck2zjlagl11"; depends=[fastdigest shiny venn]; };
   QCAfalsePositive = derive2 { name="QCAfalsePositive"; version="1.1.1"; sha256="03qzb6vdnbri52gfx3laz14988p2swdv9m8i5z7gpsv3f3bjrxbp"; depends=[]; };
   QCApro = derive2 { name="QCApro"; version="1.1-2"; sha256="1glfb1x1h05cs07nq5glqvlil58wp3c0kaxi1l7k94y797i8r7hq"; depends=[lpSolve]; };
   QCAtools = derive2 { name="QCAtools"; version="0.2.3"; sha256="1q49l2mf02hqvz2ahqjdx7i3yxniy7dn2s74xjl9l6zdq8bypfw2"; depends=[directlabels ggplot2 QCA stringr]; };
@@ -2644,32 +2706,32 @@ in with self; {
   QGglmm = derive2 { name="QGglmm"; version="0.6.0"; sha256="1n53qba6y1hcxg1ry8bp41mgcycckli9q2syippvd7xdlq3srhqd"; depends=[mvtnorm R2Cuba]; };
   QICD = derive2 { name="QICD"; version="1.2.0"; sha256="0ppyl978y7md2n9m4kwhbrgdr5i3df0yw124x84f53w4acipgz5q"; depends=[]; };
   QLearning = derive2 { name="QLearning"; version="0.1.1"; sha256="1bx77yxsnzh0ny3ghala5fw54lxzrxqk9s32qk3dzvfbyp4paggn"; depends=[]; };
-  QNB = derive2 { name="QNB"; version="1.1.11"; sha256="03sqp4pzidg4d1qk1jzxk3w3zvb21939fvvwr7pgmy6da4bbhhs6"; depends=[exomePeak GenomicFeatures locfit Rsamtools]; };
   QPBoot = derive2 { name="QPBoot"; version="0.2"; sha256="1nxmxayfq2xcjzix080mkc8y52wl3vs0rcwdl8lmhwfawjb4pap5"; depends=[abind quantspec rugarch]; };
   QPot = derive2 { name="QPot"; version="1.1"; sha256="1ivkk5wdd1lp6v4hwmpr9g230kd7zgmj0vnv5fw0svwpb8zzz14x"; depends=[MASS]; };
   QQperm = derive2 { name="QQperm"; version="1.0.1"; sha256="06xhv54zgnx8i22j23a0dqxhh7my416idpkkwq93qd1rdzgamzc8"; depends=[]; };
   QRAGadget = derive2 { name="QRAGadget"; version="0.1.0"; sha256="0vmhbpfbbpbcs6s9zjam893yl54spbx4x4698c504g96hcc19kkp"; depends=[htmlwidgets leaflet magrittr miniUI raster scales shiny sp]; };
   QRM = derive2 { name="QRM"; version="0.4-13"; sha256="0zxhm1bdbs4jizd909vw9yjdn484vmcrwcmpk3a7gr4142q9kdjh"; depends=[gsl Matrix mgcv mvtnorm numDeriv Rcpp timeDate timeSeries]; };
   QRank = derive2 { name="QRank"; version="1.0"; sha256="1f924r5bf5vjfl12hk1n5m3f94g30f6vmvzq2bn8295dflyndck0"; depends=[quantreg]; };
-  QRegVCM = derive2 { name="QRegVCM"; version="1.1"; sha256="01dhc0r1nialwv7dp2108znyc3ip1hswkcbpf3kmabxxj5y4vyvx"; depends=[quantreg SparseM truncSP]; };
+  QRegVCM = derive2 { name="QRegVCM"; version="1.2"; sha256="0fcydkf6r2qxd59ylr8vn76bkxks91v58gfzvq3rjd5mqf9vsaaq"; depends=[quantreg SparseM truncSP]; };
   QSARdata = derive2 { name="QSARdata"; version="1.3"; sha256="0dhldnh0jzzb4assycc0l14s45ymvha48w04jbnr34lrwgr9krh4"; depends=[]; };
   QTLRel = derive2 { name="QTLRel"; version="1.0"; sha256="0hlnh04w45imf0f7rm9pg1whlps5zxh00qvvn81hip16bv48cw79"; depends=[gdata lattice]; };
   QUIC = derive2 { name="QUIC"; version="1.1"; sha256="021bp9xbaih60qmss015ycblbv6d1dvb1z89y93zpqqnc2qhpv3c"; depends=[]; };
   QVM = derive2 { name="QVM"; version="0.1.1"; sha256="0dnr4h4084n505vrxfrx3czrkqdbna8s4fxpwr5czfilbfbxhpar"; depends=[gWidgets IMPACT ltm multilevel mvtnorm nlme pander psych]; };
   QZ = derive2 { name="QZ"; version="0.1-6"; sha256="1vgqwv3rbnmz2sgbmbivgnxcwy5dzgk6ivqskdnqkil4f10zflmi"; depends=[Matrix]; };
   QoLR = derive2 { name="QoLR"; version="1.0.3"; sha256="1z3wicybqsyczgjjd84g95bjxw80l5y8b68ayp300bm5jd4f2pha"; depends=[survival zoo]; };
-  Qtools = derive2 { name="Qtools"; version="1.2"; sha256="0432ip73aldblq3yyig8d47a56j12fs30fpz8sxvfj186ssawych"; depends=[boot MASS mice quantreg]; };
+  Qtools = derive2 { name="Qtools"; version="1.3"; sha256="1vbjydacgczjlsf8b8id25n3k0cq74i43nsvax22k8hbvj4g0b94"; depends=[boot MASS mice quantreg]; };
   QuACN = derive2 { name="QuACN"; version="1.8.0"; sha256="1597blp8gqc5djvbgpfzi8wamvy0x50wh5amxj9cy99qa0jlglxi"; depends=[combinat graph igraph RBGL]; };
   QualInt = derive2 { name="QualInt"; version="1.0.0"; sha256="1ms96m3nz54848gm9kdcydnk5kn2i8p1rgl2dwn7cqcqblfvsr4j"; depends=[ggplot2 survival]; };
   Quandl = derive2 { name="Quandl"; version="2.8.0"; sha256="0n1c4343ki8nia7qrq2m9zb7b05qr3yjwvk1ji7m44sa613w6y5l"; depends=[httr jsonlite xts zoo]; };
+  QuantNorm = derive2 { name="QuantNorm"; version="1.0.3"; sha256="1kc8qfa5fwdmk4nfzlkd22968zn44ggr65ysm1l31bhbgjh59ly3"; depends=[]; };
   QuantPsyc = derive2 { name="QuantPsyc"; version="1.5"; sha256="1i9bh88r8zxndzjqsj14qw64gnvm5a9kvhjhzk3qsrvl3qzjgh93"; depends=[boot MASS]; };
-  QuantTools = derive2 { name="QuantTools"; version="0.5.6"; sha256="0ykfxrg4chq4n24spfj2v6cqiw5y7wps2rmnd0150fa6fqk7nd2k"; depends=[data_table fasttime R6 Rcpp RCurl readxl]; };
+  QuantTools = derive2 { name="QuantTools"; version="0.5.7"; sha256="069rvh4yfar5dh6aj6p0q61gasvs9wr72x9pnj00lvyjlnv06p5n"; depends=[data_table fasttime R6 Rcpp RCurl readxl]; };
   QuantifQuantile = derive2 { name="QuantifQuantile"; version="2.2"; sha256="01bdz8a6nhjil6n2z62x5g41v3d6md5v16g0ladsl5zc8raivqdq"; depends=[rgl]; };
   QuantileGradeR = derive2 { name="QuantileGradeR"; version="0.1.1"; sha256="1zwc6bg636gk8zll7wpznd3pzl611hcj2fmzp8b9505rra13p0g2"; depends=[]; };
   QuantumClone = derive2 { name="QuantumClone"; version="1.0.0.6"; sha256="1520jgkzp8g7gv7ggqhvlrdnpdyhygqjgsd1my5jq30afdqj6qmp"; depends=[DEoptim doParallel foreach fpc ggplot2 gridExtra NbClust optimx]; };
   R_cache = derive2 { name="R.cache"; version="0.13.0"; sha256="1hf5cb7xvnca5zlh9245b5g62sgsaxwdhiv7x59yld37cydakm6k"; depends=[digest R_methodsS3 R_oo R_utils]; };
   R_devices = derive2 { name="R.devices"; version="2.15.1"; sha256="09gmzb87n1ybqwyp4jdpih3w3s7nqkr4hd1qhcqr57kp2pj9jp9x"; depends=[base64enc R_methodsS3 R_oo R_utils]; };
-  R_filesets = derive2 { name="R.filesets"; version="2.12.0"; sha256="16djdiwl4rpyhc75q2dpyfpzf2gwqkg9rbk99fbx69my1if0vs7w"; depends=[digest future_apply R_cache R_methodsS3 R_oo R_utils]; };
+  R_filesets = derive2 { name="R.filesets"; version="2.12.1"; sha256="0grd3wk5xh7jgp10m78knj0snqyxqv7yir6wvz2wq5rabvcn9mab"; depends=[digest future_apply R_cache R_methodsS3 R_oo R_utils]; };
   R_huge = derive2 { name="R.huge"; version="0.9.0"; sha256="13p558qalv60pgr24nsm6mi92ryj65rsbqa6pgdwy0snjqx12bgi"; depends=[R_methodsS3 R_oo R_utils]; };
   R_matlab = derive2 { name="R.matlab"; version="3.6.1"; sha256="013qi3iikikgib23cqg74vpp2ymsbw1zd6zny7m1km2js6gmfchh"; depends=[R_methodsS3 R_oo R_utils]; };
   R_methodsS3 = derive2 { name="R.methodsS3"; version="1.7.1"; sha256="11z6v2i7jl647wxi9p5z66yvfnnqv6s7fxqmz7w2gkb6j8wl1f24"; depends=[]; };
@@ -2687,13 +2749,13 @@ in with self; {
   R2HTML = derive2 { name="R2HTML"; version="2.3.2"; sha256="00kxny7hajs9r2kw63qk7d03ggdxx2j1g8vbrmzp806y8aczvik9"; depends=[]; };
   R2MLwiN = derive2 { name="R2MLwiN"; version="0.8-5"; sha256="09p8xrxhcf6biy1mffv31p2hlr19s51f3n67az52f3xv5lyp9wm8"; depends=[coda digest doParallel foreach foreign lattice Matrix memisc rbugs texreg]; };
   R2OpenBUGS = derive2 { name="R2OpenBUGS"; version="3.2-3.2"; sha256="1cxr93g0fkdv3lqdh63l2gcp7qn3q42pm1r6nzf35550k9ahkhnv"; depends=[boot coda]; };
-  R2STATS = derive2 { name="R2STATS"; version="0.68-38"; sha256="1v8mvkvs4fjch0dpjidr51jk6ynnw82zhhylyccyrad9f775j2if"; depends=[cairoDevice gWidgets gWidgetsRGtk2 lattice latticeExtra lme4 MASS Matrix proto RGtk2Extras statmod]; };
   R2SWF = derive2 { name="R2SWF"; version="0.9-2"; sha256="1f7bj2jqm7ys3rimgpsn252j39mw0xd008p3zqi77x1flisla0z3"; depends=[sysfonts]; };
   R2WinBUGS = derive2 { name="R2WinBUGS"; version="2.1-21"; sha256="0k8k214x712vjj2k1am4zzf6scccs3b98ysiz4lwxpzm818wp1ps"; depends=[boot coda]; };
   R2admb = derive2 { name="R2admb"; version="0.7.16"; sha256="0s8p82avxdp5zmkz7amvnphn3lcyhha31mbjghibnhm9g16k0b84"; depends=[coda lattice]; };
   R2jags = derive2 { name="R2jags"; version="0.5-7"; sha256="0h1d27cddyacx5m5f23rlki97iwni7clffmb2k7a4bznlnjhn50a"; depends=[abind coda R2WinBUGS rjags]; };
   R2ucare = derive2 { name="R2ucare"; version="1.0.0"; sha256="1nh2wf3syxjz9flxhf8x9fd2c2ndn4dha4k34lz1nq5j4qz7wfp1"; depends=[RMark stringr]; };
   R330 = derive2 { name="R330"; version="1.0"; sha256="01sprsg7kph62abhymm8zfqr9bd6dhihrfxzgr4pzi5wj3h80bjm"; depends=[lattice leaps rgl s20x]; };
+  R3port = derive2 { name="R3port"; version="0.1.1"; sha256="0ww0sqjx0la03qx353h0y5wr5qpc5fir3gjy4fsxkw6jrsyx9vaz"; depends=[plyr reshape2 whisker]; };
   R4CouchDB = derive2 { name="R4CouchDB"; version="0.7.5"; sha256="1wd1yqbs8m4zqvdm6x7mrcyk5b5pr4azm3r49nrilg8fnr2bk9rz"; depends=[bitops RCurl RJSONIO]; };
   R4dfp = derive2 { name="R4dfp"; version="0.2-4"; sha256="02crzjphlq4hi2crh9lh8l0acmc1rgb3wr1x8sn56cwhq4xzqzcb"; depends=[]; };
   R6 = derive2 { name="R6"; version="2.2.2"; sha256="13xfdr19ca7ymisidsanm6w7hsk3qmy5l8c0mlz3nk48f7s5cxq8"; depends=[]; };
@@ -2712,7 +2774,7 @@ in with self; {
   RAPIDR = derive2 { name="RAPIDR"; version="0.1.1"; sha256="14cnw4jjs5anb55zlg1yj6qc9yr51rsamigq2q7h8ypj2ggnna1d"; depends=[Biostrings data_table GenomicAlignments GenomicRanges PropCIs Rsamtools]; };
   RAPTOR = derive2 { name="RAPTOR"; version="1.0.0"; sha256="1i3p3qa56ghcwh69vv3gnxnw13cbd99ms654j2bqr7g9qb7nl8vj"; depends=[mgcv]; };
   RATest = derive2 { name="RATest"; version="0.1.2"; sha256="0cxb82kzmywgslf6hfjl6v015s64jh483bzxnhph420mcp3ysbfk"; depends=[ggplot2 gridExtra quantreg]; };
-  RAdwords = derive2 { name="RAdwords"; version="0.1.14"; sha256="18pnq248fy2i0an0r9liky2bqs0gdpjmw7b564hjpbkhin3fw669"; depends=[RCurl rjson]; };
+  RAdwords = derive2 { name="RAdwords"; version="0.1.16"; sha256="1a7r600s7r4pp0wwcsgyzkc6v7nywbsv3s0q118wmx2ig5rsyihw"; depends=[RCurl rjson]; };
   RApiDatetime = derive2 { name="RApiDatetime"; version="0.0.3"; sha256="0g5sdq6sl7cvsj9fgqhcdxjkrfi53078r0mbzvf69cvz38y5x3sm"; depends=[]; };
   RApiSerialize = derive2 { name="RApiSerialize"; version="0.1.0"; sha256="0gm2j8kh40imhncwwx1sx9kmraaxcxycvgwls53lcyy2ap344k9j"; depends=[]; };
   RAppArmor = derive2 { name="RAppArmor"; version="2.0.2"; sha256="18zmqqh4rnbnaiwi60jfp4xi8fp63ydr3jk9w4ijmy6s4hkpp75g"; depends=[]; };
@@ -2722,11 +2784,10 @@ in with self; {
   RBPcurve = derive2 { name="RBPcurve"; version="1.2"; sha256="0zkfvnhm780vid4qqdrx9mnc6jxxrmrnq47pqvk35rm3m4l96782"; depends=[BBmisc checkmate mlr shape TeachingDemos]; };
   RBesT = derive2 { name="RBesT"; version="1.3-3"; sha256="0pink9jza2pfm1vqmzgp0pcyg9a4ak4c9igcxj692np82mv8hi0j"; depends=[assertthat bayesplot BH checkmate dplyr Formula ggplot2 lme4 mvtnorm Rcpp RcppEigen rstan StanHeaders]; };
   RCA = derive2 { name="RCA"; version="2.0"; sha256="0pidb5czrf0dc3ywy6cwm5akgsc62pvf94kfyxibzmd1favykx1h"; depends=[gplots igraph]; };
-  RCALI = derive2 { name="RCALI"; version="0.2-18"; sha256="1d9pgkkghkzciawlzlggqk6qp9bh0akwgh1hc47akcnjvqlvxjd2"; depends=[splancs]; };
   RCEIM = derive2 { name="RCEIM"; version="0.3"; sha256="1kil5r88b6lf8vxmswz0wn0hhjxjm8jmlcl5kxjwl6fwjyy2z120"; depends=[]; };
   RCMIP5 = derive2 { name="RCMIP5"; version="1.2.0"; sha256="0bwp1ln0y48g2d0bj9b47y0rlwffzv0pi6gjfzv4sg5anhswc9x7"; depends=[abind assertthat digest dplyr Matrix]; };
   RCPmod = derive2 { name="RCPmod"; version="2.186"; sha256="0qxk6236xq391czyr043wn8rfml70gkc0xa6vz24s768gxmdk46l"; depends=[fishMod glmnet gtools MASS]; };
-  RCRnorm = derive2 { name="RCRnorm"; version="0.0.1"; sha256="0ac09d0rib4znyfilmq6555snd3bhwlysrqsdnh4qbpkdv3bhp61"; depends=[truncnorm]; };
+  RCRnorm = derive2 { name="RCRnorm"; version="0.0.2"; sha256="1mz1jb7mc9c47hbk9flnddny4zir6r2k5qis30iynwqny521l6ln"; depends=[truncnorm]; };
   RCassandra = derive2 { name="RCassandra"; version="0.1-3"; sha256="0xa241s81cyw6lfjb522f2mlyrd0gav9yz3z5jab9hpdpgg9ri38"; depends=[]; };
   RChronoModel = derive2 { name="RChronoModel"; version="0.4"; sha256="0haqxwic160pnnm90bgchzxmsdwmi6m97i9xrh8js8bp2xn76l5f"; depends=[hdrcde]; };
   RCircos = derive2 { name="RCircos"; version="1.2.0"; sha256="0jj4jj9qnj7pils99hzw9yx5bwi182q4afdsqh7w7d9kzhp6xl3z"; depends=[]; };
@@ -2738,21 +2799,23 @@ in with self; {
   RCriteo = derive2 { name="RCriteo"; version="1.0.2"; sha256="1vyhnblw9zr5h6c25lf76p9vn95k8vr0hpq1sjkccdwl9yvsyhfy"; depends=[httr plyr RCurl XML]; };
   RCrypto = derive2 { name="RCrypto"; version="0.1.0"; sha256="1lw7hq5ks36fixk0g3gcy4nw21ygwc14jq840hnhyds4glywfpvm"; depends=[dplyr httr jsonlite]; };
   RCurl = derive2 { name="RCurl"; version="1.95-4.10"; sha256="02pyh6kvsfbwgccf8v77aa3ky21kps1rpgaii20wmridrgqj90vg"; depends=[bitops]; };
+  RCzechia = derive2 { name="RCzechia"; version="1.2.3"; sha256="18x1561l5hnaayvv8mca8gncqfgn4bbqx69gkb0jk3wa6s11y2qk"; depends=[httr]; };
   RDIDQ = derive2 { name="RDIDQ"; version="1.0"; sha256="09gincmxv20srh4h82ld1ifwncaibic9b30i56zhy0w35353pxm2"; depends=[]; };
   RDML = derive2 { name="RDML"; version="0.9-9"; sha256="0amlr7mxp7175a7rd3jw7lhyvp3lnr01y81l27sl148sfb85zar6"; depends=[checkmate data_table lubridate pipeR R6 readxl rlist stringr xml2]; };
   RDS = derive2 { name="RDS"; version="0.8-1"; sha256="18xn0ci35xs2myzj8rny6pp08cn8ljl3l4fdgaqp05fphgb5fh8j"; depends=[anytime ergm ggplot2 gridExtra Hmisc igraph isotone network reshape2 scales]; };
   RDSTK = derive2 { name="RDSTK"; version="1.1"; sha256="07vfhsyah8vpvgfxfnmp5py1pxf4vvfzy8jk7zp1x2gl6dz2g7hq"; depends=[plyr RCurl rjson]; };
   RDStreeboot = derive2 { name="RDStreeboot"; version="1.0"; sha256="10ry8rna450j389cplvyvgwljxa8lli7licwdin64b1kyzy2cdn7"; depends=[]; };
   RDataCanvas = derive2 { name="RDataCanvas"; version="0.1"; sha256="1aw19lmdphxwva5cs3f4fb8hllirzfkk48nqdgrarz32l11y5z5j"; depends=[jsonlite]; };
-  RDieHarder = derive2 { name="RDieHarder"; version="0.1.3"; sha256="0wls7b0qfbi6hsq9xdywi4mdhim5b6mrzhvyrm9dxp9z1k7imz6m"; depends=[]; };
+  RDieHarder = derive2 { name="RDieHarder"; version="0.1.4"; sha256="0p37r45fy75a0is2mycvhrz705707acdb2858yd9qx70n6sg3jph"; depends=[]; };
   RDocumentation = derive2 { name="RDocumentation"; version="0.8.2"; sha256="0qdn3c5xbjyrhk56wfch50xpyyfd4f79hs0v00cqk9iwsnjlwmb5"; depends=[httr proto rjson]; };
   RDota2 = derive2 { name="RDota2"; version="0.1.6"; sha256="0fjsgg4dmzw2xwrf8jxq0f2d7f78bf67bl3ms5qcjk9kskfnymag"; depends=[httr jsonlite]; };
-  REAT = derive2 { name="REAT"; version="1.3.2"; sha256="1vp103jwq6zf3w6bn3xvbh4zcgsdrwiycp23ab8mj42axk8pw5li"; depends=[]; };
+  REAT = derive2 { name="REAT"; version="2.0.0"; sha256="0al0502h1iyd03c4hsy35nxz3nbvvfshi5jxxvxlh1x4bxvpy1vs"; depends=[]; };
   REBayes = derive2 { name="REBayes"; version="1.3"; sha256="0byd7587vddffplzp8kc2aakab61pck2r25rajxfn0rsvl5yvxyx"; depends=[Matrix reliaR Rmosek]; };
   RECA = derive2 { name="RECA"; version="1.3"; sha256="1v9ff2inxwpq91pjl6g9bpl9nmlyryp030g6abydikkhkcq3n74b"; depends=[]; };
   REDCapR = derive2 { name="REDCapR"; version="0.9.8"; sha256="14psw0sxlyig4nf968n997djwf80hgy5ia2g0bp8rdpn8lrj01g6"; depends=[data_table dplyr httr magrittr readr tibble tidyr]; };
   REEMtree = derive2 { name="REEMtree"; version="0.90.3"; sha256="01sp36p12ky8vgsz6aik80w4abs70idr9sn4627lf94r92wwwsbc"; depends=[nlme rpart]; };
   REGENT = derive2 { name="REGENT"; version="1.0.6"; sha256="1f2sjqkhw3rbmwbcmx7l7imj696kblisi8y3fz77xygbcbxa6rmq"; depends=[]; };
+  REIDS = derive2 { name="REIDS"; version="0.0.2"; sha256="1njyvc818rwwg109ry8nb2p05rf9yh6zsydvww2ribynlsr2rir1"; depends=[aroma_affymetrix aroma_core biomaRt data_table GenomeGraphs lmtest MCMCpack RColorBrewer]; };
   REPPlab = derive2 { name="REPPlab"; version="0.9.4"; sha256="1pf8zrjdzziyq2lw31p1ij7cn4j7pf659ygxv8wpfnmcmpaqbc45"; depends=[lattice LDRTools rJava]; };
   REPTILE = derive2 { name="REPTILE"; version="1.0"; sha256="11swy4jrmmb0xjjxm1wyxd628fxxcqnialvijdrjwjpdbvraz4gq"; depends=[doParallel flux foreach optparse randomForest]; };
   REQS = derive2 { name="REQS"; version="0.8-12"; sha256="049glqhc8h8gf425kmj92jv70917dsigpm37diby0c6hb4jrg8ka"; depends=[gtools]; };
@@ -2777,7 +2840,7 @@ in with self; {
   RGCCA = derive2 { name="RGCCA"; version="2.1.2"; sha256="0zcxakqnmih0243y5b6r9nmcfanzxd6q344pd5bca5pnm3y43wr0"; depends=[Deriv MASS]; };
   RGENERATE = derive2 { name="RGENERATE"; version="1.3.5"; sha256="12dq04xpl06zhkzwqx3zy0bkpvb5phbdj2inxsyczf6d4dk209mb"; depends=[RMAWGEN]; };
   RGENERATEPREC = derive2 { name="RGENERATEPREC"; version="1.2"; sha256="1w28yfzk3ilbz1r9fsc76cigyrnzzhsfm3a81ff8g26za7cb8vjp"; depends=[blockmatrix copula Matrix RGENERATE RMAWGEN stringr]; };
-  RGF = derive2 { name="RGF"; version="1.0.0"; sha256="12x6nc7hvq16sg63b09xl2vxjd9cffxdl811ly2pmpr3i123h7fq"; depends=[Matrix R6 reticulate]; };
+  RGF = derive2 { name="RGF"; version="1.0.2"; sha256="06qvilx9z659q0kad5h1r6mdf4vc8lmr8bzw5nrjsjpb92v5crh5"; depends=[Matrix R6 reticulate]; };
   RGIFT = derive2 { name="RGIFT"; version="0.1-5"; sha256="1745fs4bq0ss39fiwljspvrmnkgbbpc1fjvhvcrsmp2iizq12sgn"; depends=[]; };
   RGenetics = derive2 { name="RGenetics"; version="0.1"; sha256="0x5sspd67hh08qm62whlnnd838m0np29q3bfzgwp6j85lhil3jrx"; depends=[]; };
   RGeode = derive2 { name="RGeode"; version="0.1.0"; sha256="1g8ha6zg4pvi8qimiihsa6rjfdcyj0q526l44jajjbqczmwg59lv"; depends=[MASS Rcpp]; };
@@ -2785,16 +2848,17 @@ in with self; {
   RGoogleAnalyticsPremium = derive2 { name="RGoogleAnalyticsPremium"; version="0.1.1"; sha256="0d22pdd5kvnrspikfb66ny07pgx96rvykr0zi78rwn6g1symdb4q"; depends=[httr jsonlite lubridate]; };
   RGoogleFit = derive2 { name="RGoogleFit"; version="0.3.1"; sha256="0g4r5vb9zv6mqym1mh028ic9hkmlpklrhq4ks5sys7y60ps893k1"; depends=[bit64 httr jsonlite RCurl]; };
   RGraphics = derive2 { name="RGraphics"; version="2.0-14"; sha256="0bv95g17pvpq3nji0akphdaznh9k85hf5z78qypxwfqr76brxd05"; depends=[ggplot2 lattice]; };
+  RGreenplum = derive2 { name="RGreenplum"; version="0.1.0"; sha256="19wb85npy27r011yfp90y1dvl8qk2yh2qks8zg207nac0vngz4y1"; depends=[DBI RPostgres]; };
   RGtk2 = derive2 { name="RGtk2"; version="2.20.34"; sha256="1yhdcd7f987bdd2y08dcx95i1hbfakgd8v1c606jxwr2dclyhx70"; depends=[]; };
   RGtk2Extras = derive2 { name="RGtk2Extras"; version="0.6.1"; sha256="19gjz2bk9dix06wrmlnq02yj1ly8pzhvr0riz9b08vbzlsv9gnk2"; depends=[RGtk2]; };
-  RH2 = derive2 { name="RH2"; version="0.2.3"; sha256="1qbxy600fc8k2xl70liggdgg03ga6a8yad001banqzdmh508wcxl"; depends=[chron rJava RJDBC]; };
+  RH2 = derive2 { name="RH2"; version="0.2.4"; sha256="14590l3a2znd56nrq1zfbfv7fgii4672qy1xfwiynrh3mjad217k"; depends=[chron rJava RJDBC]; };
   RHMS = derive2 { name="RHMS"; version="1.3"; sha256="0pp67p8i6nsh9nvxsd1m453735s0whlril8l640m888zl6a3463j"; depends=[Hmisc pso]; };
   RHPCBenchmark = derive2 { name="RHPCBenchmark"; version="0.1.0"; sha256="1f94d8z15ybqgc2pccsi1m6563xf26ygri6f4pwxkqjmxkxnk34y"; depends=[cluster Matrix mvtnorm]; };
   RHRV = derive2 { name="RHRV"; version="4.2.3"; sha256="09rcf9da04195myh4mwva3hqcd483k0wwcn84jgbkj8a5z1zxqc6"; depends=[lomb nonlinearTseries tkrplot waveslim]; };
   RHT = derive2 { name="RHT"; version="1.0"; sha256="1gxf8nhj3y92h8al7l3fxa45wc568kb3cykrbdjlsy2zjacf7fcc"; depends=[]; };
   RHawkes = derive2 { name="RHawkes"; version="0.0"; sha256="0qi32f6im6fsgvjs8bravc5z21557zn2d0a7i88dy0rri7czm5p7"; depends=[IHSEP]; };
   RI2by2 = derive2 { name="RI2by2"; version="1.3"; sha256="0smc0fb9anq5ih9zx2slfbqyx02njm0hc7g22gpfggskmxf2l509"; depends=[gtools Rcpp]; };
-  RIA = derive2 { name="RIA"; version="1.3.0"; sha256="0wz2c770faravsmlp3ivbw136x82l1i14ilikrdn7cn49bz0r5mh"; depends=[oro_dicom]; };
+  RIA = derive2 { name="RIA"; version="1.4.0"; sha256="0whwja54mmd23sbljgvjnlgz3hlmgpdh53w04bcpgbmvcs281f5l"; depends=[nat oro_dicom oro_nifti]; };
   RIFS = derive2 { name="RIFS"; version="0.1-5"; sha256="0705dhirh7bhy2yf3b1mpk3m7lggg4pwy640lvaspwaxkd6zac5w"; depends=[]; };
   RISmed = derive2 { name="RISmed"; version="2.1.7"; sha256="08dmkkxsmwp9b4h2g1bbx03cijn793fsnzkmbima8x9d42vxnm1l"; depends=[]; };
   RImageJROI = derive2 { name="RImageJROI"; version="0.1.1"; sha256="0a4sa60klbpl31qxxvjjbksdhvs3vwm9na1v7014v93fzxy6bjas"; depends=[spatstat]; };
@@ -2802,7 +2866,7 @@ in with self; {
   RInSp = derive2 { name="RInSp"; version="1.2.3"; sha256="1nm29q2gysway4r7rdjr08m0w8lh2m9akhjh7swgjwrg4f15kfmy"; depends=[]; };
   RInside = derive2 { name="RInside"; version="0.2.14"; sha256="1ks9hs78s2vgdp9nfpzwifkqnh3vnaqwand51yh9r1zyjc4k9rcd"; depends=[Rcpp]; };
   RItools = derive2 { name="RItools"; version="0.1-15"; sha256="0f7g0w8bnbxryll48rnn7blgskgcdqqx9xv4fqmwcbkbasjz37va"; depends=[abind SparseM survival svd xtable]; };
-  RJDBC = derive2 { name="RJDBC"; version="0.2-7"; sha256="0db2s3qkkv16a4xskym8q3lv5s5jscwd5hh1pgl9bndb91wm9qj7"; depends=[DBI rJava]; };
+  RJDBC = derive2 { name="RJDBC"; version="0.2-7.1"; sha256="1d36js3kwlghsjxfhv7rl8nvg210hxwrx8sdxrxb0inwlqsash25"; depends=[DBI rJava]; };
   RJSDMX = derive2 { name="RJSDMX"; version="1.9-3"; sha256="0myjhimx1p8ndyk60qgaw6csq58s4rxr67hgx9a5i1swsmlkwciz"; depends=[rJava zoo]; };
   RJSONIO = derive2 { name="RJSONIO"; version="1.3-0"; sha256="1dwgyiy19sixhy6yclqcaaxswbmpq7digyjjxhy1qv0wfsvk94qi"; depends=[]; };
   RJSplot = derive2 { name="RJSplot"; version="2.5"; sha256="0p2zqbq29pfjl703wqqjzgmif7yfzz7l8rzarjf5axkdy7w7fcyl"; depends=[]; };
@@ -2810,9 +2874,6 @@ in with self; {
   RJafroc = derive2 { name="RJafroc"; version="1.0.1"; sha256="16a8j4bw754ci8mxfhh3c3y5g53f2hr1l1mh05xw31asqcxzafrm"; depends=[bbmle binom caTools ggplot2 mvtnorm numDeriv Rcpp stringr xlsx]; };
   RKEA = derive2 { name="RKEA"; version="0.0-6"; sha256="1dncplg83b4zznh1zh90wr8jv5259cy93imrry86c5kqdijmhrrp"; depends=[rJava RKEAjars tm]; };
   RKEAjars = derive2 { name="RKEAjars"; version="5.0-3"; sha256="0sm7dkdprmqh319jc43ra7qbk4qq0b2kdj9zs9mjcjz58gcrkl7s"; depends=[rJava]; };
-  RKEEL = derive2 { name="RKEEL"; version="1.1.22"; sha256="1k0xdy23za38lmav7hh9zchy9x61nkdm34s3cqrclzhf4nnlndfi"; depends=[arules doParallel foreach gdata Matrix pmml R6 rJava RKEELdata RKEELjars XML]; };
-  RKEELdata = derive2 { name="RKEELdata"; version="1.0.3"; sha256="1imz5qsr04hkhblivax30jlvbvjxya6h0z9x7s0llgqssfxbawpy"; depends=[]; };
-  RKEELjars = derive2 { name="RKEELjars"; version="1.0.15"; sha256="06wc4x6lhk9akaghqi5bfkfs3yxg29lbga074a5nwadiz2fbnmkv"; depends=[downloader]; };
   RKlout = derive2 { name="RKlout"; version="1.0"; sha256="17mx099393b1m9dl3l5xjcpzmb9n3cpjghb90m9nidccxkhacmqf"; depends=[RCurl]; };
   RLRsim = derive2 { name="RLRsim"; version="3.1-3"; sha256="1r0xqay3jfg435dh9fqc6yy73wjffp658da194rx63vpfhshgz8w"; depends=[lme4 mgcv nlme Rcpp]; };
   RLT = derive2 { name="RLT"; version="3.2.1"; sha256="14im1lvsfpl1vlhc3fmmi4vq41br48mlgqqnwnj0qqxawzzs5738"; depends=[]; };
@@ -2822,8 +2883,10 @@ in with self; {
   RLumShiny = derive2 { name="RLumShiny"; version="0.2.0"; sha256="0gchhgpdr9fb29apqni9yg72rh3hvvk7ap0869fp459hnygfcl7q"; depends=[data_table googleVis Luminescence readxl rhandsontable shiny shinydashboard]; };
   RM_weights = derive2 { name="RM.weights"; version="1.0"; sha256="0757p4174j913k8xh90zg6fpxh25b9415zap1i7ym9ab78kn0k3i"; depends=[Hmisc psychotools]; };
   RM2 = derive2 { name="RM2"; version="0.0"; sha256="1v57nhwg8jrpv4zi22fhrphw0p0haynq13pg9k992sb0c72dx70a"; depends=[msm]; };
+  RM2006 = derive2 { name="RM2006"; version="0.1.0"; sha256="1qjvdh89jql1fl6ia76g766y1igkshlv0slqmpi0y3bn40413snb"; depends=[]; };
   RMAWGEN = derive2 { name="RMAWGEN"; version="1.3.3"; sha256="0spc0vszbxfpfp3kqdj0gnb90nvn50qwalq3mw8151b8h1swmf3l"; depends=[chron date vars]; };
   RMC = derive2 { name="RMC"; version="0.2"; sha256="1sc4nsjmaw2ajm8bka7r4mf73zxqhnvx23kl4v20pfpy9rhgd0h6"; depends=[]; };
+  RMCriteria = derive2 { name="RMCriteria"; version="0.1.0"; sha256="19i7idpkl7ipqcib6rlmbi77n1il9v2hy6s9yyia6m9sz1smxakl"; depends=[dplyr ggnetwork ggplot2 gridExtra linprog lpSolve network pastecs Rcpp RcppEigen RcppNumerical]; };
   RMKdiscrete = derive2 { name="RMKdiscrete"; version="0.1"; sha256="0b4adw46sn98qmy4nxv5l5svcjrp5532x7slfhhgsskqx408lzjf"; depends=[]; };
   RMOA = derive2 { name="RMOA"; version="1.0"; sha256="01mrl6544wv2jc8b8gk1whs865sbv4id5sywnf1hq3r7g8wgs8lp"; depends=[rJava RMOAjars]; };
   RMOAjars = derive2 { name="RMOAjars"; version="1.0"; sha256="0k3w37dwyyvfxh7a9l76cyjm27qq1clxppc5h16li2m8x68fvpjq"; depends=[rJava]; };
@@ -2831,24 +2894,25 @@ in with self; {
   RMThreshold = derive2 { name="RMThreshold"; version="1.1"; sha256="0wkc42vcggib002ad6ch43h6avpdgl12szrrrfd2p0wl72cwn5n1"; depends=[Matrix png]; };
   RMTstat = derive2 { name="RMTstat"; version="0.3"; sha256="1nn25q4kmh9kj975sxkrpa97vh5irqrlqhwsfinbck6h6ia4rsw1"; depends=[]; };
   RMallow = derive2 { name="RMallow"; version="1.0"; sha256="0prd5fc98mlxnwjhscmghw62jhq9rj5jk8qf4fnaa2a718yxf9b5"; depends=[combinat]; };
-  RMariaDB = derive2 { name="RMariaDB"; version="1.0-4"; sha256="0xzy1af1w0cjym48zlgdsngksp8j90b0197v78s5jkm1vxmr0ada"; depends=[BH bit64 DBI hms plogr Rcpp]; };
+  RMariaDB = derive2 { name="RMariaDB"; version="1.0.5"; sha256="1fykcsb81pdp3v46sjphldj7nizcdp5m7a3j3p1psx0ppgg57r2d"; depends=[BH bit64 DBI hms plogr Rcpp]; };
   RMark = derive2 { name="RMark"; version="2.2.4"; sha256="1vns8bl3fnk6hkwmm0wl2c6lgyv3vabsk07kkxrxrl1nzy11wj3a"; depends=[coda matrixcalc msm]; };
   RMediation = derive2 { name="RMediation"; version="1.1.4"; sha256="19idqx0hwljbcfrpqwa81k7cxbd8kv77ji8yi4n4p7517jbkzma6"; depends=[e1071 lavaan MASS]; };
   RMixpanel = derive2 { name="RMixpanel"; version="0.6-3"; sha256="025fg36jwq44y5m7msmjql3m0avc0hl0iw49wap0fvmzy5qn24qq"; depends=[base64enc jsonlite RCurl uuid]; };
   RMongo = derive2 { name="RMongo"; version="0.0.25"; sha256="1anybw64bcipwsjc880ywzj0mxkgcj6q0aszdad6zd4zlbm444pc"; depends=[rJava]; };
-  RMySQL = derive2 { name="RMySQL"; version="0.10.13"; sha256="1j0vr2l4s02cg2hzgr3pla96pjj4h85sxw28lidy58rg5awnsf82"; depends=[DBI]; };
+  RMySQL = derive2 { name="RMySQL"; version="0.10.14"; sha256="01891kn263b02y6addgpy3gn5axg7m10bqbqv7dg9yx9k85am590"; depends=[DBI]; };
   RNAseqNet = derive2 { name="RNAseqNet"; version="0.1.2"; sha256="07wk0i8iz3cvkiqawxhm61g3nka8adw0zrrv60zx329gg49w0ycl"; depends=[ggplot2 glmnet hot_deck igraph PoiClaClu]; };
-  RNAsmc = derive2 { name="RNAsmc"; version="0.1.0"; sha256="02r8y43hrhjyhmim2yf7s4c46q8ys6b8qla9vwjqpmx5104v5v5g"; depends=[RRNA]; };
+  RNAsmc = derive2 { name="RNAsmc"; version="0.3.0"; sha256="15k88skwqcd0m4m502fipdl1iind4mzizqdz4h63izpqfxijl3iz"; depends=[RRNA]; };
   RNAstructureModuleMiner = derive2 { name="RNAstructureModuleMiner"; version="0.1.0"; sha256="026r1h4z1jdfww0ay9iixa77ax6b19pgp589bbn77xg1vwjjlbsk"; depends=[RRNA]; };
   RNCBIEUtilsLibs = derive2 { name="RNCBIEUtilsLibs"; version="0.9"; sha256="1h1ywx8wxy6n2rbpmjbqw4c0djz29pbncisd0mlbshj1fw226jba"; depends=[rJava]; };
   RNCEP = derive2 { name="RNCEP"; version="1.0.8"; sha256="0nkx33997c5rgc3ch5a2bb6rrw5xw1y71rliygw5k1ldi335rsm7"; depends=[abind fields fossil maps RColorBrewer sp tgp]; };
   RND = derive2 { name="RND"; version="1.2"; sha256="1rl5apgw43c841z0lapi9z2jn979dvqh4x1qkqx1ad77zcq87c85"; depends=[]; };
+  RNGforGPD = derive2 { name="RNGforGPD"; version="1.0"; sha256="11n7fl1rrgnknn61qw6dh74amhakkjk5wyg0rms554lw9cn86x2v"; depends=[corpcor Matrix mvtnorm VGAM]; };
   RNHANES = derive2 { name="RNHANES"; version="1.1.0"; sha256="045ykpgxvc22blbp47ysbk6a6x4akjd39pjr114cr23s7f48g6h4"; depends=[dplyr foreign rvest survey xml2]; };
-  RNOmni = derive2 { name="RNOmni"; version="0.1.5"; sha256="1lahwala3j0rcxdq1aswngqp89d4za167nrmsbj1lqscd7bn6qkd"; depends=[abind foreach mvtnorm RcppEigen]; };
-  RNRCS = derive2 { name="RNRCS"; version="0.2.0"; sha256="1wg7ld6g94wby5lagf68h19qgx2mf0pc8rfvmnz4fac7xpdsg9s8"; depends=[ggplot2 magrittr rvest xml2]; };
+  RNOmni = derive2 { name="RNOmni"; version="0.3.0"; sha256="0gddpfv0ggbfxids42npnd0q2bkwz81v3x7h1898qyzql3dg9pwv"; depends=[abind foreach mvtnorm plyr Rcpp RcppEigen]; };
+  RNRCS = derive2 { name="RNRCS"; version="0.2.5"; sha256="19q78l8mh4701vqvr36vqc87n39s5ivzhiy5lvnxbd4dgibk1jr2"; depends=[ggplot2 magrittr rvest xml2]; };
   RNaviCell = derive2 { name="RNaviCell"; version="0.2"; sha256="15k8hkagn5520fy7x672fy329s2v7l0x44s44f6v7ql9mmg4b635"; depends=[RCurl RJSONIO]; };
   RNeXML = derive2 { name="RNeXML"; version="2.0.8"; sha256="0ikdv60nkhiv70x1crd21xd92iq2gshj6248m896v1l276513g5j"; depends=[ape dplyr httr lazyeval plyr reshape2 stringr taxize tidyr uuid XML]; };
-  RNentropy = derive2 { name="RNentropy"; version="1.1.2"; sha256="1xypz5whmjjqpg1zsd398v2y6adhh1js270355did397cmsgskk6"; depends=[]; };
+  RNentropy = derive2 { name="RNentropy"; version="1.2.0"; sha256="19zbjy2xrrsz674qhi6dfzppsgfdy9hp93bqj14p1w3z6smh0k8c"; depends=[]; };
   RNetCDF = derive2 { name="RNetCDF"; version="1.9-1"; sha256="0idfskxb1k8x0zzl6b0kgskdxn7zr49gw9xcj870ah9zp93iwnkx"; depends=[]; };
   RNetLogo = derive2 { name="RNetLogo"; version="1.0-4"; sha256="1z7jp454k197c0zbkn64zmf25wadkiznv3w2csgiz917cbx6xcn1"; depends=[igraph rJava]; };
   RNewsflow = derive2 { name="RNewsflow"; version="1.0.1"; sha256="1vxzcsiapnq8101iq4w73m9k8cq2khgcsxak71x72n295r7qpsd6"; depends=[data_table igraph Matrix plyr scales slam tm wordcloud]; };
@@ -2885,7 +2949,7 @@ in with self; {
   ROMIplot = derive2 { name="ROMIplot"; version="1.0"; sha256="1njbsvnz7wrsv9l1p70p1ygmckaibz5i6jmvb0sfalp5jdcgl85n"; depends=[MortalitySmooth RCurl]; };
   ROSE = derive2 { name="ROSE"; version="0.0-3"; sha256="12b9grh3rgaa07blbnxy8nvy5gvpd45m43bfqb3m4k3d0655jpk2"; depends=[]; };
   RObsDat = derive2 { name="RObsDat"; version="16.03"; sha256="06d4svg4crgscn3wyg1fi8v46wlhlrgdrbfiv8ak4a5k5z0gws94"; depends=[DBI e1071 sp spacetime vwr xts zoo]; };
-  ROlogit = derive2 { name="ROlogit"; version="0.1.1"; sha256="1bmhq3vcrfxl7flr28x5yhk8akfv59c0xs10s73dchf1qqjfz5ld"; depends=[evd survival]; };
+  ROlogit = derive2 { name="ROlogit"; version="0.1.2"; sha256="09j9c24f7plzpnnhpmzdi4gapb7w1377ksjwk6i2xpyr4bfsrr5k"; depends=[evd survival]; };
   ROpenDota = derive2 { name="ROpenDota"; version="0.1.1"; sha256="0d9a8c008bgzcd1hqly2h010f25xgs2s430hk90yq7vvqr3lmxl7"; depends=[jsonlite RCurl]; };
   ROpenFIGI = derive2 { name="ROpenFIGI"; version="0.2.8"; sha256="0fvd25vsqkgi3jv4s2lnfag5qksyzyb48d7rhfw6z8piz37n4xaj"; depends=[httr jsonlite]; };
   ROpenWeatherMap = derive2 { name="ROpenWeatherMap"; version="1.1"; sha256="0h1yw93v06bx8svhghh1fsrf837qax9896klh64b06djpgg9ngb9"; depends=[httr jsonlite RCurl]; };
@@ -2904,13 +2968,13 @@ in with self; {
   RPPairwiseDesign = derive2 { name="RPPairwiseDesign"; version="1.0"; sha256="0k2vh698rhs5a0b5vhyvrnnwqnagdzs591zx6hn9vbmm8rm4y1dm"; depends=[]; };
   RPPanalyzer = derive2 { name="RPPanalyzer"; version="1.4.5"; sha256="0cf4mb7mjp7x3k7083c8n8fjbvrmcgq359wh6pdyj817mgkanqzv"; depends=[Biobase gam ggplot2 gplots Hmisc lattice limma quantreg]; };
   RPostgreSQL = derive2 { name="RPostgreSQL"; version="0.6-2"; sha256="1mdhw5821v2h7hpa53v10wz53k4i90r0vb6a3dia5gq8f9j1h088"; depends=[DBI]; };
-  RPostgres = derive2 { name="RPostgres"; version="1.0-4"; sha256="0ymlz5av86xy434mr319p2sw7gl42dpj5vfi83wfiq1qri2vvx23"; depends=[BH bit64 blob DBI hms plogr Rcpp withr]; };
+  RPostgres = derive2 { name="RPostgres"; version="1.1.0"; sha256="1h540z1zfzgkayggy28q07r0xnblr3vnp6j5j7la6xbz141gns38"; depends=[BH bit64 blob DBI hms plogr Rcpp withr]; };
   RPresto = derive2 { name="RPresto"; version="1.3.0"; sha256="01w832ia4c44nhir5rzw33qa8h7afmf04vkfdlg32jaqi1gv5861"; depends=[DBI httr jsonlite openssl Rcpp stringi]; };
   RProtoBuf = derive2 { name="RProtoBuf"; version="0.4.11"; sha256="0q05hdlbgbjydi0x80kgfayfkisalvmb9wy1n6afcw66pbikyb4l"; depends=[Rcpp RCurl]; };
   RPtests = derive2 { name="RPtests"; version="0.1.4"; sha256="1r30pslbjq3dip41la81jlin2vhxdmayg902x9ryjy554awfgh7j"; depends=[glmnet randomForest Rcpp]; };
   RPublica = derive2 { name="RPublica"; version="0.1.3"; sha256="1w2pn1g44a00ls8kkzj53a739pq6vzp38px2k0yh10rlzimmb21l"; depends=[curl httr jsonlite]; };
   RPushbullet = derive2 { name="RPushbullet"; version="0.3.1"; sha256="15cb1zlfnjaf5z4dqx3xrkbkja152ah7jhs21qhvfl20qz4cyh7r"; depends=[curl jsonlite]; };
-  RQDA = derive2 { name="RQDA"; version="0.3-0"; sha256="0p060wilvmz5wyahbga6gxkhs49rw8nb093bfrha7vhqhxnmdyqk"; depends=[DBI gWidgets gWidgetsRGtk2 igraph RGtk2 RSQLite]; };
+  RQDA = derive2 { name="RQDA"; version="0.3-1"; sha256="1kqax4m4n5h52gi0jaq5cvdh1dgl0bvn420dbws9h5vrabbw1c1w"; depends=[DBI gWidgets gWidgetsRGtk2 igraph RGtk2 RSQLite]; };
   RQGIS = derive2 { name="RQGIS"; version="1.0.3"; sha256="0wrzjfxwciirl838lakcw7f6qyqyykqd999c9krll5krqzyq7c3c"; depends=[raster RCurl readr reticulate rgdal sf sp stringr XML]; };
   RQuantLib = derive2 { name="RQuantLib"; version="0.4.4"; sha256="1pki0c265nmgph9dbz2pyrq8h7295mxswavfdwsr7m1lpbpzk8s5"; depends=[Rcpp zoo]; };
   RRF = derive2 { name="RRF"; version="1.7"; sha256="1nxwqb0ybia8cglqlrbwnm9xzab6ayrn5f3j3l0kqszq1rvkfw95"; depends=[]; };
@@ -2919,12 +2983,14 @@ in with self; {
   RRTCS = derive2 { name="RRTCS"; version="0.0.3"; sha256="1riz1gjx3c0pf17xwybizb94nm5zgmfsnv6np3afvw831mb1x3l9"; depends=[sampling samplingVarEst]; };
   RRate = derive2 { name="RRate"; version="1.0"; sha256="1q3f2gphdf50aijnk5xqfpxcqfd4jq7byb1gpb0vcnaxgi3a9lwm"; depends=[]; };
   RRedshiftSQL = derive2 { name="RRedshiftSQL"; version="0.1.2"; sha256="03jbml8d19hcg6achnyc4hcnl5j10yvsx59j80r46zyn0flsnizq"; depends=[DBI RPostgreSQL]; };
-  RRreg = derive2 { name="RRreg"; version="0.6.5"; sha256="1hn69zqcafiq1fb38fl4gah90kim8pc2m35sbi1cgkgcbzz1vg16"; depends=[doParallel foreach lme4]; };
+  RRphylo = derive2 { name="RRphylo"; version="1.0.0"; sha256="1h167w16lky8aa18fc90rgclx1by3qa9d69n72dxmjzy0d14zjc6"; depends=[ape doParallel foreach geiger lmtest mvMORPH phangorn phytools pvclust R_utils rlist scales smatr]; };
+  RRreg = derive2 { name="RRreg"; version="0.6.7"; sha256="0v0rzyknqwrnj3dx5lvifzllv1syzflnnby6mjmnsqqb2cgyscrf"; depends=[doParallel foreach lme4]; };
   RSA = derive2 { name="RSA"; version="0.9.11"; sha256="1hsjy755r78my6ib9s9da7mibcjxd5svh2kq0v7a466m60cyfrss"; depends=[aplpack ggplot2 lattice lavaan plyr RColorBrewer tkrplot]; };
   RSADBE = derive2 { name="RSADBE"; version="1.0"; sha256="1nzpm88rrzavk0n8iflsx8r3s1xcry15n80zqdw6jijjycz10w1q"; depends=[]; };
-  RSAGA = derive2 { name="RSAGA"; version="0.94-5"; sha256="0lbvy1p6wcxnn70149wcpmfy2ijk6g37ka452dxm0w0zpg0zga1w"; depends=[gstat plyr shapefiles]; };
+  RSAGA = derive2 { name="RSAGA"; version="1.0.0"; sha256="1023br8q0i6w18kmn261kf4ql32061hq7xngl1w5mamvvp17d6b1"; depends=[gstat plyr rgdal sf shapefiles]; };
   RSAP = derive2 { name="RSAP"; version="0.9"; sha256="1sxirfabhpmfm0yiiazc9h1db70hqwva2is1dql6sjfanpl8qanl"; depends=[reshape yaml]; };
-  RSCABS = derive2 { name="RSCABS"; version="0.9.2"; sha256="13l4ql40ahm06yi5a9zys62h5452fchkkhlhqh9gzh3pbpyjawgc"; depends=[gWidgets gWidgetsRGtk2 R2HTML RGtk2]; };
+  RSAlgaeR = derive2 { name="RSAlgaeR"; version="1.0.0"; sha256="1hp0v2vkj9ixiv541d53kyl0ph3jsdc5w98r81gv5ck5ixrp6bxp"; depends=[cvTools ggplot2 hydroGOF lubridate mblm plyr]; };
+  RSCABS = derive2 { name="RSCABS"; version="0.9.3"; sha256="08ykkqx9rdx5s6wg2idxz35ddpsz1lir22vrjs92k51zq0jrkhv9"; depends=[gWidgets gWidgetsRGtk2 R2HTML RGtk2]; };
   RSDA = derive2 { name="RSDA"; version="2.0.3"; sha256="18rka6g93yksgnwgzy4planjvsmc4d5xzf4fxarv57v6frg37y98"; depends=[abind dplyr FactoMineR ggplot2 glmnet lazyeval nloptr pander princurve RColorBrewer RJSONIO rlang scales scatterplot3d sqldf stringr tidyr XML xtable]; };
   RSEIS = derive2 { name="RSEIS"; version="3.7-8"; sha256="0f065jkdz91gi6l8y5y4m95vwgjsagrxx6r5982jbafi7zyqxm7j"; depends=[RPMG Rwave]; };
   RSGHB = derive2 { name="RSGHB"; version="1.1.2"; sha256="0b2v17p3a3sy8jc4vy0nq65sdkxyf0b8sf5f78yvdcn5knydah6c"; depends=[]; };
@@ -2934,10 +3000,10 @@ in with self; {
   RSNNS = derive2 { name="RSNNS"; version="0.4-10"; sha256="1khsv1sy8jgsl9s5fypcg77lzj811xzrygwnq6ki9v375sk383gh"; depends=[Rcpp]; };
   RSNPset = derive2 { name="RSNPset"; version="0.5.3"; sha256="1llx6anwkl4as0hdyvmsrlg9z8mkn9p1qxgs6kqs39w87gyx0j36"; depends=[doRNG fastmatch foreach qvalue Rcpp RcppEigen]; };
   RSPS = derive2 { name="RSPS"; version="1.0"; sha256="0ynxhgnxsf27qm8r5d9lyd59zksnc3kvx35hy25vff8j3bg7fqgi"; depends=[gridExtra lattice plyr]; };
-  RSQLServer = derive2 { name="RSQLServer"; version="0.3.0"; sha256="1p3qds1ni8dm7cb45n4z5ppn3vsjk8mmqlvw76d301qfp3ja5zll"; depends=[assertthat DBI dbplyr dplyr purrr rJava yaml]; };
-  RSQLite = derive2 { name="RSQLite"; version="2.0"; sha256="1xpg1i1jkzkzv44k512k90c2vvl960pl2d4a3spwcha6yclyc3vz"; depends=[BH bit64 blob DBI memoise pkgconfig plogr Rcpp]; };
+  RSQLite = derive2 { name="RSQLite"; version="2.1.0"; sha256="0hknfqcgijdapx1ryy20zy68qmm8wsb1hjx4n4hmkgl552z82q5d"; depends=[BH bit64 blob DBI memoise pkgconfig plogr Rcpp]; };
   RSSL = derive2 { name="RSSL"; version="0.6.1"; sha256="03f0i0v0nygkcci42h4bh7jngxz15wsd78cn2zkzbrqadz1c61r5"; depends=[cluster dplyr ggplot2 kernlab MASS Matrix quadprog Rcpp RcppArmadillo reshape2 scales tidyr]; };
   RSSOP = derive2 { name="RSSOP"; version="1.1"; sha256="119xrxpaf68qdb2kj2pbaja6im2nbxsgibb1bnlpnc3fcxkmqcsf"; depends=[]; };
+  RSSampling = derive2 { name="RSSampling"; version="1.0"; sha256="0p10l7qmksx4ysz1jb84f9nbqzig8wxhwy33yk8hq29nb5i4c9ik"; depends=[LearnBayes]; };
   RSVGTipsDevice = derive2 { name="RSVGTipsDevice"; version="1.0-7"; sha256="0jdr8l0hp4kzsvlgs8j1m74sr98z4v2lmiqinmc238m406nhppab"; depends=[]; };
   RSarules = derive2 { name="RSarules"; version="1.0"; sha256="0lrql4q45hyhqbix86ixl12mknnjbz3137gx2zkvqpz91bsk145j"; depends=[arules Matrix]; };
   RSauceLabs = derive2 { name="RSauceLabs"; version="0.1.6"; sha256="1p7hw6vnlg6w5ggmfpc3q3s6n1fikjkjnxzz97jifiy0zwn5dp9i"; depends=[data_table httr jsonlite whisker xml2]; };
@@ -2952,11 +3018,11 @@ in with self; {
   RSpectra = derive2 { name="RSpectra"; version="0.12-0"; sha256="0aa33mhzj03gznpza5l5qj94s45imfhrgx52bsa8rq00f93fgaf0"; depends=[Matrix Rcpp RcppEigen]; };
   RSpincalc = derive2 { name="RSpincalc"; version="1.0.2"; sha256="09fjwfz1bzpbca1bpzxj18ki8wh9mrr5h6k75sc97cyhlixqd37s"; depends=[]; };
   RStata = derive2 { name="RStata"; version="1.1.1"; sha256="1wx6cz4567xkfplybmbwmw25snhlaxn48yi620cv6p5xqv458yp7"; depends=[foreign]; };
-  RStoolbox = derive2 { name="RStoolbox"; version="0.1.10"; sha256="0qz9k7qjwhgw2hm4b6iys365y8dnd9b9js2yzyxpyqwdwmvmkxjj"; depends=[caret codetools doParallel foreach geosphere ggplot2 raster Rcpp RcppArmadillo reshape2 rgdal rgeos sp XML]; };
+  RStoolbox = derive2 { name="RStoolbox"; version="0.2.1"; sha256="1lvjiaamd2jz1m1prk429lwfwqbm3dcyq6v8hddkynd0k28qbw6s"; depends=[caret codetools doParallel foreach geosphere ggplot2 raster Rcpp RcppArmadillo reshape2 rgdal rgeos sp XML]; };
   RStorm = derive2 { name="RStorm"; version="0.902"; sha256="1apk358jwzg5hkrcq8h39rax1prgz9bhkz9z51glmci88qrw1frv"; depends=[plyr]; };
   RStripe = derive2 { name="RStripe"; version="0.1"; sha256="0vp7zsd5xm8rf7196fivb76kkmxfx3gawxlyjhn9xqv92vawivra"; depends=[httr jsonlite RCurl]; };
   RSurveillance = derive2 { name="RSurveillance"; version="0.2.0"; sha256="1lvl9msnd8l9svd9nyivx1cqfmcxirxvfjfj0xv7yjklza8af7w3"; depends=[epiR epitools mc2d]; };
-  RSurvey = derive2 { name="RSurvey"; version="0.9.2"; sha256="0mg0g93bli2v5nsm3jqbbm3qxk1kk0ngf8fkdq4z9n8k291shx25"; depends=[colorspace inlmisc MBA raster rgdal rgeos sp]; };
+  RSurvey = derive2 { name="RSurvey"; version="0.9.3"; sha256="0yk969jdvpgv01zbmk4zyxcmrbdizh37bddj1k128ndyf191z37x"; depends=[colorspace inlmisc MBA raster rgdal rgeos sp]; };
   RSvgDevice = derive2 { name="RSvgDevice"; version="0.6.4.4"; sha256="0vplac5jzg6bmvbpmj4nhiiimsr9jlbk8mzyifnnndk9iyf2lcmz"; depends=[]; };
   RSwissMaps = derive2 { name="RSwissMaps"; version="0.1.0"; sha256="0p57pb3p6j0g4ngzikys9i4d02p4dc4k0s8k7r1wgdmdy2rak3k2"; depends=[downloader dplyr ggplot2]; };
   RTConnect = derive2 { name="RTConnect"; version="0.1.4"; sha256="1000jmmqzyhl6vh1ii75jdh88s9inaz52gvfwcin2k2zr7bi91ba"; depends=[]; };
@@ -2981,14 +3047,14 @@ in with self; {
   RWeka = derive2 { name="RWeka"; version="0.4-37"; sha256="1q0riy7w2ighyy7fh1hj3q4wa0vbbn6h7nisgkyzwkcxkfq3n2pw"; depends=[rJava RWekajars]; };
   RWekajars = derive2 { name="RWekajars"; version="3.9.2-1"; sha256="006n7m3qxnzvfhkzcr0nbwqdlhygzdhyp8x3534dx6075bm00v0f"; depends=[rJava]; };
   RWiener = derive2 { name="RWiener"; version="1.3-1"; sha256="0w12xvc18l002m8q6ad3laa667xzqjbcfqf0vvcmicgw2j3bbq6h"; depends=[]; };
-  RWildbook = derive2 { name="RWildbook"; version="0.9.2"; sha256="1bzdj55v7g2vlffpdsxpl8gv4k1xxd3xl7h1whvq6q5x76lprw0g"; depends=[data_table jsonlite marked]; };
+  RWildbook = derive2 { name="RWildbook"; version="0.9.3"; sha256="1pznzmv8n33hhj61h07fha1gzafcx705n8323cnz3mx6ziijfh28"; depends=[data_table jsonlite marked]; };
   RXKCD = derive2 { name="RXKCD"; version="1.8-2"; sha256="081zrx293z4009p6fj2za0mkf04nikxmg3i45l667qvy7nmajqlc"; depends=[jpeg png RJSONIO]; };
   RXMCDA = derive2 { name="RXMCDA"; version="1.5.5"; sha256="1ci73q8xf3xxqw8b7sk83v5vz2cqgcb4lkx7qi3hd1ff4xkz1fpa"; depends=[kappalab XML]; };
-  RXshrink = derive2 { name="RXshrink"; version="1.0-8"; sha256="0l4aknr1vxrkxqsgkjcffs0731jskyzvl055a01vd8h4a0826n5s"; depends=[lars]; };
+  RXshrink = derive2 { name="RXshrink"; version="1.0-9"; sha256="0lzh2asgxk7vjvb8zkshnhh49ybvj1rgca1mspg7hj3012rw6kjn"; depends=[lars]; };
   RYandexTranslate = derive2 { name="RYandexTranslate"; version="1.0"; sha256="0qrv5mnnkn5fs7vx6i74z46s0qj9f98km5bizgj00832qyrq8q1s"; depends=[httr jsonlite RCurl]; };
   RYoudaoTranslate = derive2 { name="RYoudaoTranslate"; version="1.0"; sha256="1i3iyqh97vpn02bm66kkmw52ni29js30v18n2aw8pvr88jpdgxm4"; depends=[RCurl rjson]; };
   RZabbix = derive2 { name="RZabbix"; version="0.1.0"; sha256="0c5803chpzvp7dk9pjfx5f0nqynb76ywakz04ah2nw07ypvcyjyr"; depends=[httr jsonlite]; };
-  RZigZag = derive2 { name="RZigZag"; version="0.1.4"; sha256="1p0p9imdv40vw59m95x00zv9a3knl4m4gwlrbd2v93yzdc1n2a26"; depends=[Rcpp RcppEigen]; };
+  RZigZag = derive2 { name="RZigZag"; version="0.1.5"; sha256="0cawn24z0rm78dn8l86k3zfh4z3xp1i910dzxp7xqjzlh3spp4ar"; depends=[Rcpp RcppEigen]; };
   RaPKod = derive2 { name="RaPKod"; version="0.9"; sha256="1qxzi2lf431zd44bcd98ybhzydy1cz12g864l6r668jk91aqy1qg"; depends=[kernlab MASS proxy Rcpp RcppArmadillo]; };
   RadOnc = derive2 { name="RadOnc"; version="1.1.4"; sha256="1ri6ybzhfdgbrbfcy12mmvv2ipg61az7vwp1dbjyzs8mgsc1cxb5"; depends=[geometry oro_dicom ptinpoly rgl]; };
   RadTran = derive2 { name="RadTran"; version="1.0"; sha256="1sb8d4y3b37akbxhdavxrkp34zn3ip061b7gzy0ga57pyn76cvpn"; depends=[ReacTran rootSolve]; };
@@ -3001,7 +3067,7 @@ in with self; {
   RandVar = derive2 { name="RandVar"; version="1.0.1"; sha256="0vj0p46xmj4129m6r5zg85fnvb5kx1ardwwk55nqypkxd0v58a4j"; depends=[distr distrEx startupmsg]; };
   RandomFields = derive2 { name="RandomFields"; version="3.1.50"; sha256="0j7852wvclglp820y2x5r19gsr6ciygbbpl5qvwj1khnlz1hfsid"; depends=[RandomFieldsUtils sp]; };
   RandomFieldsUtils = derive2 { name="RandomFieldsUtils"; version="0.3.25"; sha256="0nxk7jhr61l9h76hf96f7ypakl4wip144c0gzr6rqsja6m75rjz3"; depends=[]; };
-  RankAggreg = derive2 { name="RankAggreg"; version="0.6.2"; sha256="1hblxvx5symysqfrmapw8ma7ghhmc01rzzc7kpq8vckch2k9x8kb"; depends=[gtools]; };
+  RankAggreg = derive2 { name="RankAggreg"; version="0.6.4"; sha256="1bskq723jx87xczw416pijajna73zhjjmbrvh3n6djxy8yjxhrq5"; depends=[gtools]; };
   RankResponse = derive2 { name="RankResponse"; version="3.1.1"; sha256="04s588zbxcjgvpmbb2x46bbf5l15xm7pwiaxjgc1kn1pn6g1080c"; depends=[]; };
   Rankcluster = derive2 { name="Rankcluster"; version="0.94"; sha256="0ak6cpm073ym4h9l3j7pq0ks9h4is1hzxfjn52j23nc5ifq3fjpq"; depends=[Rcpp RcppEigen]; };
   RankingProject = derive2 { name="RankingProject"; version="0.1.1"; sha256="1n1282pym7q2b1bh18wlkmk9f0simzq149h7hacc23vyqzgkjs84"; depends=[]; };
@@ -3009,7 +3075,7 @@ in with self; {
   Rarity = derive2 { name="Rarity"; version="1.3-6"; sha256="1m742qrgc0c5vda9sb2q5n3ghmqnlnfhr1cfpxfs7s5ic707gmlb"; depends=[]; };
   RaschSampler = derive2 { name="RaschSampler"; version="0.8-8"; sha256="0y7dkgv1cy6r1mbmyqm27qwl10rl12g1svpx9jkzq5hq0hnm2xhw"; depends=[]; };
   RateDistortion = derive2 { name="RateDistortion"; version="1.01"; sha256="1micjlbir1v5ar51g1x7bgkqw9m8217qi82ii6ysgjkhwdvpm075"; depends=[]; };
-  RatingScaleReduction = derive2 { name="RatingScaleReduction"; version="1.2"; sha256="0bw2j2wx0l56wp0k6fg8dddphggz0fycjzjydsd55rkg4zq6gpf3"; depends=[ggplot2 pROC]; };
+  RatingScaleReduction = derive2 { name="RatingScaleReduction"; version="1.2.1"; sha256="0dcyajh3vgdl9ssdwgaf3sshq61bqqhjz30f9c99aqnpv3k4k76x"; depends=[ggplot2 pROC]; };
   Rbent = derive2 { name="Rbent"; version="0.1.0"; sha256="0xkb57dhhfd3342rv0xwbhbhn4zp5fbfch84fbh0sickm09l9vrj"; depends=[Rfit]; };
   Rbgs = derive2 { name="Rbgs"; version="0.2"; sha256="1q0dnbcpgx7x9klr6z33z6g2p9p8mrmhnsqjy6qw15ch720rrgn3"; depends=[imager magrittr rJava]; };
   Rbitcoin = derive2 { name="Rbitcoin"; version="0.9.2"; sha256="0ndq4kg1jq6h0jxwhpdp8sw1n5shg53lwa1x0bi7rifmy0gnh66f"; depends=[data_table digest RCurl RJSONIO]; };
@@ -3021,15 +3087,16 @@ in with self; {
   RcextTools = derive2 { name="RcextTools"; version="0.1.1"; sha256="1rrij4ryspff9mn1c3jlzjprnipak7nzlb488pk0ci0awaccp5ga"; depends=[data_table igraph sqldf visNetwork]; };
   Rcgmin = derive2 { name="Rcgmin"; version="2013-2.21"; sha256="02igq7bdlxwa7ysfiyvqfhcvgm866lrp2z3060z5lmnp6afa0958"; depends=[numDeriv]; };
   Rchoice = derive2 { name="Rchoice"; version="0.3-1"; sha256="1mx50270vbhvng4vdcc6w94f3l890vjl41y07bqkv40n93fxvffw"; depends=[Formula maxLik msm plm plotrix]; };
+  Rclean = derive2 { name="Rclean"; version="1.0.0"; sha256="065jq957xsk9p1nnzf8ilp9swjfxhydgc7xg57lfcg9hz99ckwfr"; depends=[formatR igraph jsonlite]; };
   Rclusterpp = derive2 { name="Rclusterpp"; version="0.2.3"; sha256="02s5gmmmd0l98wd1y884pjl3h289dyd9p9s7dh7yl2zaslqs2094"; depends=[Rcpp RcppEigen]; };
-  Rcmdr = derive2 { name="Rcmdr"; version="2.4-1"; sha256="1rm4vxc8bx2pnblprcxfnnmynig368xp4p4slhprnxvp8f61z9z9"; depends=[abind car effects RcmdrMisc relimp tcltk2]; };
-  RcmdrMisc = derive2 { name="RcmdrMisc"; version="1.0-7"; sha256="0s323wdqjbk15a9zsmhigixh06ayrwb7hgzscb9d2aq0ww6jgl2k"; depends=[abind car colorspace e1071 foreign haven Hmisc MASS nortest readstata13 readxl sandwich]; };
+  Rcmdr = derive2 { name="Rcmdr"; version="2.4-4"; sha256="0n15wkhn8hfhcpz0n2ngxkfaysjsizksxxr1fhpfjmlpy4wxxnx0"; depends=[abind car effects RcmdrMisc relimp tcltk2]; };
+  RcmdrMisc = derive2 { name="RcmdrMisc"; version="1.0-10"; sha256="1fxcm0iwxdqh9qv2g6w7sqbg23zgl5z5ib2x69j5n10fglx89m8f"; depends=[abind car colorspace e1071 foreign haven Hmisc MASS nortest readstata13 readxl sandwich]; };
   RcmdrPlugin_BCA = derive2 { name="RcmdrPlugin.BCA"; version="0.9-8"; sha256="0xkip7q9i57ghgz0rh0pl8nkl7bflf4w1g4zbyjdlcjypyf7lnr8"; depends=[BCA car flexclust foreign nnet Rcmdr RcmdrMisc rpart rpart_plot]; };
   RcmdrPlugin_BiclustGUI = derive2 { name="RcmdrPlugin.BiclustGUI"; version="1.1.1"; sha256="1sdc8ibggz8wpn77g7hddyl7lg86dbyw8qax63p6cqx1pfhb4rra"; depends=[BcDiag BiBitR BicARE biclust fabia gplots iBBiG Rcmdr rqubic s4vd superbiclust viridis]; };
   RcmdrPlugin_DoE = derive2 { name="RcmdrPlugin.DoE"; version="0.12-3"; sha256="1iifn71kjjgcp7dfz2pjq57mgbv4rrznrl3b3k9gdc2dva1z9zvc"; depends=[DoE_base DoE_wrapper FrF2 Rcmdr RcmdrMisc relimp]; };
   RcmdrPlugin_EACSPIR = derive2 { name="RcmdrPlugin.EACSPIR"; version="0.2-2"; sha256="10r6rb0fwlilcnqxa38zh7yxc54x1a0by5x4f6gzdn9zs7aj5l1r"; depends=[abind ez nortest R2HTML Rcmdr RcmdrMisc reshape]; };
   RcmdrPlugin_EBM = derive2 { name="RcmdrPlugin.EBM"; version="1.0-10"; sha256="02zips1jbfn7cshjlrm1gr632px2zxlys8i0f1nrf1gifl44v1qw"; depends=[abind epiR Rcmdr]; };
-  RcmdrPlugin_EZR = derive2 { name="RcmdrPlugin.EZR"; version="1.36"; sha256="0yj9z9x185p4kqn10hm6mrl6i64dwyaaywzlmbgzd51m1112fp6r"; depends=[Rcmdr]; };
+  RcmdrPlugin_EZR = derive2 { name="RcmdrPlugin.EZR"; version="1.37"; sha256="1l990nv5xb6slpk7s5k662ln5gp190g0rr3qxrbh44z0j9vnxl2p"; depends=[Rcmdr readstata13]; };
   RcmdrPlugin_EcoVirtual = derive2 { name="RcmdrPlugin.EcoVirtual"; version="1.0"; sha256="0q879wnrmgbaddv883q9zdnp0i7kjcgn8cffv7lp8nrsqil6l7mc"; depends=[EcoVirtual Rcmdr]; };
   RcmdrPlugin_Export = derive2 { name="RcmdrPlugin.Export"; version="0.3-1"; sha256="17fn3si6b6h20c52k1k6fv9mslw3f9v0x1kxixzcvq54scdx0sk0"; depends=[Hmisc Rcmdr xtable]; };
   RcmdrPlugin_FactoMineR = derive2 { name="RcmdrPlugin.FactoMineR"; version="1.6-0"; sha256="07k9x3mdaqzk1503wjsha9f8bxzw1074i9g7sa16yqz5lwky4lr7"; depends=[FactoMineR Rcmdr]; };
@@ -3037,7 +3104,7 @@ in with self; {
   RcmdrPlugin_GWRM = derive2 { name="RcmdrPlugin.GWRM"; version="1.0.2"; sha256="01q4k9s815pgd5cavm6nyxy5npmpxryari9v6wys4n5cjpn5g6xq"; depends=[GWRM Rcmdr RcmdrMisc]; };
   RcmdrPlugin_HH = derive2 { name="RcmdrPlugin.HH"; version="1.1-46"; sha256="0bl9nq89ga16rxlf411lbm5qsx28f1axxwchr5rp46n0h15d0d3f"; depends=[HH lattice mgcv Rcmdr]; };
   RcmdrPlugin_IPSUR = derive2 { name="RcmdrPlugin.IPSUR"; version="0.2-1"; sha256="1lk7divj5va74prsnchq8yx9fbyym7xcsyqzkf72w448fgvvvwlv"; depends=[Rcmdr]; };
-  RcmdrPlugin_KMggplot2 = derive2 { name="RcmdrPlugin.KMggplot2"; version="0.2-4"; sha256="0lmsd76q31bg2j8jd5p0891wi8cxibpjqx0196177w3y9kgcj3s1"; depends=[ggplot2 ggthemes plyr Rcmdr RColorBrewer scales survival tcltk2]; };
+  RcmdrPlugin_KMggplot2 = derive2 { name="RcmdrPlugin.KMggplot2"; version="0.2-5"; sha256="069kpvhflk0rwwll0vyxfdrln1lzr1zhzfzm39si63ji6v7l6msb"; depends=[ggplot2 ggthemes plyr Rcmdr RColorBrewer scales survival tcltk2]; };
   RcmdrPlugin_MA = derive2 { name="RcmdrPlugin.MA"; version="0.0-2"; sha256="1zivlc0r2mkxpx23ba76njmb2wnnjijysvza4f24dg4l47d0sr2p"; depends=[MAd metafor Rcmdr]; };
   RcmdrPlugin_MPAStats = derive2 { name="RcmdrPlugin.MPAStats"; version="1.2.1"; sha256="0c3mcr8bmmbpxsqm8zfy07cbyglnq5466nafbglfs5m0z836yz9i"; depends=[ordinal Rcmdr]; };
   RcmdrPlugin_NMBU = derive2 { name="RcmdrPlugin.NMBU"; version="1.8.8"; sha256="1s7947zvrhjrc7vchvaajp2q7xdqfg5vsmg6r7ym416cqq39i5kd"; depends=[MASS mixlm phia pls Rcmdr xtable]; };
@@ -3049,8 +3116,8 @@ in with self; {
   RcmdrPlugin_SLC = derive2 { name="RcmdrPlugin.SLC"; version="0.2"; sha256="1nwpzmgfla1y05dxf81w0wmvvmvcq5jn5k8phlq30920ia7ybs8g"; depends=[Rcmdr SLC]; };
   RcmdrPlugin_SM = derive2 { name="RcmdrPlugin.SM"; version="0.3.1"; sha256="10sjh2x02kb6yaxbvd9ihc6777j4iv6wi6k42gyl3k7i2c39fyn3"; depends=[car colorspace Rcmdr RColorBrewer vcd]; };
   RcmdrPlugin_TeachingDemos = derive2 { name="RcmdrPlugin.TeachingDemos"; version="1.1-0"; sha256="0fgl1v1g74ca14pf3mmbv26j09v7jy6ddyap5qavgiy9s8qrwrh8"; depends=[Rcmdr rgl TeachingDemos tkrplot]; };
-  RcmdrPlugin_UCA = derive2 { name="RcmdrPlugin.UCA"; version="4.1-2"; sha256="1gg6gi0l0vzcp29c3s8law68bgyms0hczpk41wzzcvvvkhdbr7xi"; depends=[car randtests Rcmdr TeachingDemos tseries]; };
-  RcmdrPlugin_aRnova = derive2 { name="RcmdrPlugin.aRnova"; version="0.0.4"; sha256="1f5swkwlii0wgw38m0pzziycqdhh2v00bxnr7815pdmr2yx0frqr"; depends=[Rcmdr]; };
+  RcmdrPlugin_UCA = derive2 { name="RcmdrPlugin.UCA"; version="4.1-4"; sha256="0wzcqmrv9qvdcrcz0vcp5fl8f71zg6c355qrr9476524aidb29my"; depends=[randtests Rcmdr TeachingDemos tseries]; };
+  RcmdrPlugin_aRnova = derive2 { name="RcmdrPlugin.aRnova"; version="0.0.5"; sha256="0ys3565pcbr554yb1gi2h149vhvwc0gdfmh7mz8zzd4367hqn553"; depends=[Rcmdr]; };
   RcmdrPlugin_coin = derive2 { name="RcmdrPlugin.coin"; version="1.0-22"; sha256="0qmdjnjmgq52wgl4llg69q9x7hvwd73mz3swv0sv88v8zqg7xj93"; depends=[coin multcomp Rcmdr survival]; };
   RcmdrPlugin_depthTools = derive2 { name="RcmdrPlugin.depthTools"; version="1.3"; sha256="09mjn5jn4rdj1lh515vr3xlnk615flg13kcwbpk0an2si4xkgm9h"; depends=[depthTools Rcmdr]; };
   RcmdrPlugin_doex = derive2 { name="RcmdrPlugin.doex"; version="0.2.0"; sha256="0l3c8vwifyl8a7qkfaqxm7cws2cg1g501qa93w5svcgp03yf98mj"; depends=[multcomp Rcmdr]; };
@@ -3069,18 +3136,19 @@ in with self; {
   RcmdrPlugin_temis = derive2 { name="RcmdrPlugin.temis"; version="0.7.9"; sha256="0nacpipaimb1348rhv1rma85gnd38wsg741pz7xpvn347wnnc0wz"; depends=[ca lattice latticeExtra NLP R2HTML Rcmdr RColorBrewer slam stringi tcltk2 tm zoo]; };
   Rcolombos = derive2 { name="Rcolombos"; version="2.0.2"; sha256="0l92icjqqm5fxafqwd09lnmv5x6kvjdg8cphlm37q86nslwr5rkk"; depends=[httr]; };
   Rcplex = derive2 { name="Rcplex"; version="0.3-3"; sha256="0abmrqphrpdlc831hwbwx15z4vdgn385kxhnqlbb9v0sjmfyszsl"; depends=[slam]; };
-  Rcpp = derive2 { name="Rcpp"; version="0.12.15"; sha256="1pnv6sl4vdn69ygmgrb1b3gsigfdcfb56wnzikic93l8gkvdsvxv"; depends=[]; };
+  Rcpp = derive2 { name="Rcpp"; version="0.12.16"; sha256="1rm8hcy72p1jvxikvmkwg20pjqmvmfvqb45lfghmddp2adp67qfl"; depends=[]; };
   Rcpp11 = derive2 { name="Rcpp11"; version="3.1.2.0"; sha256="1x6n1z7kizagr5ymvbwqb7nyn3lca4d4m0ks33zhcn9gay6g0fac"; depends=[]; };
   RcppAPT = derive2 { name="RcppAPT"; version="0.0.4"; sha256="0xbaamv3bg08ymbmiq6kwh86p17y6qzgydq02syig2a3ykp0042c"; depends=[Rcpp]; };
-  RcppAlgos = derive2 { name="RcppAlgos"; version="0.2.5"; sha256="1fy8iwyd6z5q59v0c2xkw8nlccwpr0mn026p5iqii93d87pg8q1j"; depends=[Rcpp]; };
+  RcppAlgos = derive2 { name="RcppAlgos"; version="1.0.1"; sha256="0668anb3kjw3h71n2hjqqjrmiz4dwrgw71ikviq0imw2v5030392"; depends=[Rcpp]; };
   RcppAnnoy = derive2 { name="RcppAnnoy"; version="0.0.10"; sha256="08s86ak26zybawry6l6l30k1lakc71k2j58539h70dnrmsd15jna"; depends=[Rcpp]; };
-  RcppArmadillo = derive2 { name="RcppArmadillo"; version="0.8.300.1.0"; sha256="0p6cbnwxgzigf7n5qhqvxdr3nd3pq3c2qq6pskqz7avzf813fy83"; depends=[Rcpp]; };
+  RcppArmadillo = derive2 { name="RcppArmadillo"; version="0.8.400.0.0"; sha256="11y2ksf46zw6fcz0kk70szyfn7qqxwwd33xylrxvnyb7ldmbc5yr"; depends=[Rcpp]; };
   RcppBDT = derive2 { name="RcppBDT"; version="0.2.3"; sha256="0gnj4gz754l80df7w3d5qn7a57z9kq494n00wp6f7vr8aqgq8wi1"; depends=[BH Rcpp]; };
   RcppBlaze = derive2 { name="RcppBlaze"; version="0.2.2"; sha256="0hi7gh7xlmdcyzxsis8wl841d6czbcgb8qdg8y822am1mvc0wmb7"; depends=[BH Matrix Rcpp]; };
   RcppCCTZ = derive2 { name="RcppCCTZ"; version="0.2.3"; sha256="0cb04filbr0mymcg891lc0dw2b3fnjmhn8z50xcilb3v72ccrvqg"; depends=[Rcpp]; };
-  RcppCNPy = derive2 { name="RcppCNPy"; version="0.2.8"; sha256="0fwz942pd1r7jcxwqjbagcai153kv7csflhg7agwhxyj49m97i82"; depends=[Rcpp]; };
+  RcppCNPy = derive2 { name="RcppCNPy"; version="0.2.9"; sha256="0c6vdrf16f8fyaczzwapzn513wrdklsc8izmzfmfbc58s5500gvk"; depends=[Rcpp]; };
+  RcppCWB = derive2 { name="RcppCWB"; version="0.1.7"; sha256="13iax4kr5gchm483gib3cdjcbvkymhiwbpnj705c325fbsfk5rj7"; depends=[Rcpp]; };
   RcppClassic = derive2 { name="RcppClassic"; version="0.9.9"; sha256="102gi1l6hxdkz50iy9xbpb57iy5j7flv78sdq36pn9zi8x4k8k95"; depends=[Rcpp]; };
-  RcppClassicExamples = derive2 { name="RcppClassicExamples"; version="0.1.1"; sha256="0shs12y3gj5p7gharjik48dqk0fy4k2jx7h22ppvgbs8z85qjrb8"; depends=[Rcpp RcppClassic]; };
+  RcppClassicExamples = derive2 { name="RcppClassicExamples"; version="0.1.2"; sha256="0dr2104miy7psr73nicfs84652ai0d5liw6wxcwyrx7fmys3p638"; depends=[Rcpp RcppClassic]; };
   RcppDE = derive2 { name="RcppDE"; version="0.1.5"; sha256="1zgz8h7d7jjml9hm164y9wrsgcb1fymp3ipxp235fmk44lbrwpcw"; depends=[Rcpp RcppArmadillo]; };
   RcppDL = derive2 { name="RcppDL"; version="0.0.5"; sha256="1gii00bna6k9byaax7gsx42dv1jjnkrp4clbmdq59ybq3vkvw8z2"; depends=[Rcpp]; };
   RcppEigen = derive2 { name="RcppEigen"; version="0.3.3.4.0"; sha256="1m6ssq6lvi36ggf26y4hhq996583pxxdb978jnn1x6r9gdb0q0hi"; depends=[Matrix Rcpp]; };
@@ -3094,13 +3162,12 @@ in with self; {
   RcppMLPACK = derive2 { name="RcppMLPACK"; version="1.0.10-6"; sha256="0vjx6azp3sny6nv5k1cs6vk61hmbllqw8mgvi7zn15p7ilmhsyyi"; depends=[BH Rcpp RcppArmadillo]; };
   RcppMsgPack = derive2 { name="RcppMsgPack"; version="0.2.1"; sha256="0pd5jgv24yskxzp76c3i6lkpq9npdgw1i15dcf02v9h43q8n1s9s"; depends=[BH Rcpp]; };
   RcppNumerical = derive2 { name="RcppNumerical"; version="0.3-2"; sha256="0j0hvwsbidahk2zx3zk7fhc6m9cca27iq3ivx7vdvggz8iqzszrz"; depends=[Rcpp RcppEigen]; };
-  RcppParallel = derive2 { name="RcppParallel"; version="4.3.20.2"; sha256="0g1fpdaaihxklc0pycbl3rsb94y79nm9pcc0xsvvqrq6ahi2433i"; depends=[BH]; };
+  RcppParallel = derive2 { name="RcppParallel"; version="4.4.0"; sha256="1gjqmkzsi1fi0vss1nvq6i77j3aixdxd047mw9vf4l60z2ypr3h1"; depends=[BH]; };
   RcppProgress = derive2 { name="RcppProgress"; version="0.4"; sha256="09ayw6d69i0lplmaj5md25p5hn1nmiyp6a4sh60v93nrrs1cq7iv"; depends=[devtools Rcpp]; };
   RcppQuantuccia = derive2 { name="RcppQuantuccia"; version="0.0.2"; sha256="1si5njb8g4g6fjrkqbp3y6z23yxs901nq9kmiwwbqs8di6svc5q3"; depends=[BH Rcpp]; };
   RcppRedis = derive2 { name="RcppRedis"; version="0.1.8"; sha256="05c4c65ayiqyzmkj2mrgwwflgjk54rf9nmb3rhickj16yy9b071q"; depends=[BH RApiSerialize Rcpp]; };
   RcppRoll = derive2 { name="RcppRoll"; version="0.2.2"; sha256="19xzvxym8zbighndygkq4imfwc0abh4hqyq3qrr8aakyd096iisi"; depends=[Rcpp]; };
-  RcppSMC = derive2 { name="RcppSMC"; version="0.2.0"; sha256="063ds546hd5dfsickiawm5c92sw2kb6n79fqz4gy4hvnbkf00q84"; depends=[Rcpp RcppArmadillo]; };
-  RcppShark = derive2 { name="RcppShark"; version="3.1.1"; sha256="0dy6zksxcsbzjyz0f147rk2amwjsrjdcyl6jn767pw9ij9vdzh6r"; depends=[BH checkmate Rcpp]; };
+  RcppSMC = derive2 { name="RcppSMC"; version="0.2.1"; sha256="0k2k1pj05i6hf7gpar3r4mbv9cs04bd4v657saq9vhy30300vg49"; depends=[Rcpp RcppArmadillo]; };
   RcppStreams = derive2 { name="RcppStreams"; version="0.1.1"; sha256="0sa0ndnfm89f8lh3ba6jf3gxaan1g97dhlzbmpkwqj22frgggqjw"; depends=[BH Rcpp]; };
   RcppTN = derive2 { name="RcppTN"; version="0.2-2"; sha256="0m2wc5n1fzxv56s4gqqnygb24dbadgrpgjm4bs4hr6qazgjapymf"; depends=[Rcpp]; };
   RcppTOML = derive2 { name="RcppTOML"; version="0.1.3"; sha256="0krw4104m8drgyf53aq22kl5q0abrd0y4j1fvrwsj1dkbkybas05"; depends=[Rcpp]; };
@@ -3109,15 +3176,16 @@ in with self; {
   RcppXts = derive2 { name="RcppXts"; version="0.0.4"; sha256="143rhz97qh8sbr6p2fqzxz4cgigwprbqrizxpkjxyhq8347g8p4i"; depends=[Rcpp xts]; };
   RcppZiggurat = derive2 { name="RcppZiggurat"; version="0.1.4"; sha256="16wdsm0zzn6q0h29a1w8yjn4zxvrirsws6h31k0ljgprsn3jjhz4"; depends=[Rcpp RcppGSL]; };
   Rcrawler = derive2 { name="Rcrawler"; version="0.1.7-0"; sha256="0r8s3d4dby9vn0qc5lbhab4vh3yl5yifi7ipxafsgffdxislnsdw"; depends=[data_table doParallel foreach httr selectr xml2]; };
+  Rcriticor = derive2 { name="Rcriticor"; version="2.0"; sha256="1cnmmcdp2g3syrlld1pm7101cbzxh02cpvqvgsj7mp6zxm2k5plv"; depends=[]; };
   Rcsdp = derive2 { name="Rcsdp"; version="0.1.55"; sha256="1sskjf2vv5alnwirz676d8yphzk2a69wkghhkpxb8my1rjlfdgaw"; depends=[]; };
-  Rcssplot = derive2 { name="Rcssplot"; version="0.2.0.0"; sha256="0pv1yzpsc68bahfxh5h79xmh798a22nk6i88gj1s81sp7l5fbqlm"; depends=[]; };
+  Rcssplot = derive2 { name="Rcssplot"; version="0.3.0"; sha256="1qwrwzyqbwwwjf2zx6712q6wj629vf9rjrgscf0fim10fa6k5grn"; depends=[]; };
   Rd2md = derive2 { name="Rd2md"; version="0.0.2"; sha256="07j1nnsk5nyl8kvgvh9f684g6bhc01jiq1fcmq2pnpx57jdzfbpi"; depends=[knitr]; };
   Rd2roxygen = derive2 { name="Rd2roxygen"; version="1.6.2"; sha256="1hkqy97mh68yzkh4bawjrgf1rlhkh3jz2ky84rg3wgz1mkvrrsx2"; depends=[formatR roxygen2]; };
   Rdice = derive2 { name="Rdice"; version="1.0.0"; sha256="1xibvm690808p2g3jch7rh1825yrpgln2hjfclgxjwn822qvs4xr"; depends=[data_table]; };
-  Rdimtools = derive2 { name="Rdimtools"; version="0.3.1"; sha256="1rqb6by2h3w07k9hvsk18xwkmw7d58gj58r4lk99yk0n91ix6l0p"; depends=[ADMM CVXR Matrix Rcpp RcppArmadillo Rcsdp Rdpack RSpectra Rtsne]; };
+  Rdimtools = derive2 { name="Rdimtools"; version="0.3.2"; sha256="0wk6sv2ahxscy4nsk826c9rlq8vxgnflg9banwdxhs6qlqhipnlb"; depends=[ADMM CVXR Matrix Rcpp RcppArmadillo Rcsdp Rdpack RSpectra Rtsne]; };
   Rdistance = derive2 { name="Rdistance"; version="1.3.2"; sha256="1ajmr58lgc74727jiydfrh4j6ra7vq8hp8nm3l2s3g2mc8n1mqk5"; depends=[]; };
-  Rdpack = derive2 { name="Rdpack"; version="0.5-5"; sha256="19rib96758r2zkq4wlys0gfj60zff34gv1wpb8d7pa34h81gpi9p"; depends=[bibtex gbRd]; };
-  Rdrools = derive2 { name="Rdrools"; version="1.0.2"; sha256="1xn46lp6kgj6bns5nwjx4s8a3iif1g38iwf58hsrbqjhyygqvdzv"; depends=[Rdroolsjars rJava]; };
+  Rdpack = derive2 { name="Rdpack"; version="0.7-0"; sha256="0j8jh5zj4nhcchl3xr6n6bvc4m0irjz44mw5690f7iqfi3mzkii6"; depends=[bibtex gbRd]; };
+  Rdrools = derive2 { name="Rdrools"; version="1.0.3"; sha256="1y805j2xrv8kgh42s5lig07mb76fcz5yrxal0zaykj16cvid8287"; depends=[Rdroolsjars rJava]; };
   Rdroolsjars = derive2 { name="Rdroolsjars"; version="1.0.1"; sha256="1l9bc1bwpj10irr973hzkhr04i1f3g998n8hcl2k2i9kgv1naqmz"; depends=[rJava]; };
   Rdsdp = derive2 { name="Rdsdp"; version="1.0.4-2"; sha256="05bk6yqvhzvyfzga1dz34w68nlwl2dc8bvhh3ghd07a61fsnkg4x"; depends=[]; };
   Rdsm = derive2 { name="Rdsm"; version="2.1.1"; sha256="07fc6c2hv0vvg15va552y54cla1mrqsd75w3zh02vc7yd226l4rj"; depends=[bigmemory]; };
@@ -3136,8 +3204,8 @@ in with self; {
   RefManageR = derive2 { name="RefManageR"; version="0.14.20"; sha256="18g2w32ldfakmnmlk1gaxq64jhx4iy7kil1s7g6lnvv1fygxpg8k"; depends=[bibtex httr jsonlite lubridate plyr stringr xml2]; };
   RegClust = derive2 { name="RegClust"; version="1.0"; sha256="1d9w74phw4fgafglc18j7dpmln96fvxnf1kdc9zddgj90p8yfx63"; depends=[]; };
   RegressionFactory = derive2 { name="RegressionFactory"; version="0.7.2"; sha256="1g23paq42xiiqavikbrflwmr8ikls9z97v1xpgg16pb88svdyayc"; depends=[]; };
-  RegularizedSCA = derive2 { name="RegularizedSCA"; version="0.5.0"; sha256="02mf1iy3npa5611kc9ifqcl9ap2bhab9qq5pn6cfyw9lxa3q1if0"; depends=[ggplot2 gtools psych RGCCA]; };
-  ReinforcementLearning = derive2 { name="ReinforcementLearning"; version="1.0.1"; sha256="12qah22gq9360mw7z2bpcaqyqan10qqbnzyqmkafbkb5jq6fnfx9"; depends=[data_table ggplot2 hash]; };
+  RegularizedSCA = derive2 { name="RegularizedSCA"; version="0.5.3"; sha256="1d7rzvai36h7nmfvi6fdabba3rfa68x53li9jdrlk77mgpgr9vhw"; depends=[colorspace ggplot2 gtools lattice mice psych RGCCA]; };
+  ReinforcementLearning = derive2 { name="ReinforcementLearning"; version="1.0.2"; sha256="1khk3yi0ixs4lzvng9pjmyyiy86bh5bx7wdyr915p1nbhq6yl2cl"; depends=[data_table ggplot2 hash]; };
   RelValAnalysis = derive2 { name="RelValAnalysis"; version="1.0"; sha256="1jl1gfj44gfkmc1yp6g5wwn4miydwpvxwrg76rnkv9454zrc5pvp"; depends=[zoo]; };
   Relatedness = derive2 { name="Relatedness"; version="2.0"; sha256="1aidklwk8q2wdfsmhlbd3vzq9kzsyh4wn1g28biyb6lq7iwq1hl4"; depends=[]; };
   Reliability = derive2 { name="Reliability"; version="0.0-2"; sha256="12zsicgbjqih3grbs62pw37x8wlkmnyc7g0yz6bqnfb4ym2yb7fg"; depends=[]; };
@@ -3150,24 +3218,26 @@ in with self; {
   RepeatABEL = derive2 { name="RepeatABEL"; version="1.1"; sha256="00bq9ls4d0kczdv752xasqbavb11bjfvpriggfc8dw3g3i7pizpg"; depends=[GenABEL hglm]; };
   RepeatedHighDim = derive2 { name="RepeatedHighDim"; version="2.0.0"; sha256="1n9w4jb25pm0mmsahlfhkp9jmhgp5b21l1g85gm2wbxqkjsg7g0g"; depends=[MASS nlme]; };
   Replicate = derive2 { name="Replicate"; version="1.0.1"; sha256="110pvissyv3dx1wpwpngcg18mpmpml49gcmdykip55s1d3ljf791"; depends=[metafor]; };
-  ReporteRs = derive2 { name="ReporteRs"; version="0.8.9"; sha256="1wsqbn231xqs87dmcry13bdkvv09y17jfqkdnpigcsiivbh3zr3x"; depends=[gdtools htmltools knitr png R_utils ReporteRsjars rJava rvg shiny xml2]; };
-  ReporteRsjars = derive2 { name="ReporteRsjars"; version="0.0.3"; sha256="0rn000xkkda08kfh1b1l01piw596j3rca8sv4r23q52indrm7vzs"; depends=[rJava]; };
+  ReporteRs = derive2 { name="ReporteRs"; version="0.8.10"; sha256="18ivgd3736zcrimcyzfkh5d6h9s1srh7xdz597y596dsssx1lmc6"; depends=[gdtools htmltools knitr png R_utils ReporteRsjars rJava rvg shiny xml2]; };
+  ReporteRsjars = derive2 { name="ReporteRsjars"; version="0.0.4"; sha256="0q11jcbkv9ibmkqr3mka0w5d797s8xb0155kcs5inlcacirp6wvy"; depends=[rJava]; };
   ResistorArray = derive2 { name="ResistorArray"; version="1.0-28"; sha256="055zr4rybgrvg3wsgd9vhyjpvzdskrlss68r0g7rnj4yxkix0kxz"; depends=[]; };
   ResourceSelection = derive2 { name="ResourceSelection"; version="0.3-2"; sha256="08b1aa3183k1y30dwabnd6x353mdp2sn5b908cpv84bs3fdzlrdp"; depends=[MASS Matrix pbapply]; };
   RevEcoR = derive2 { name="RevEcoR"; version="0.99.3"; sha256="1nym263ynjdir5kxv35jnmki9mshlplq0sk3xnjd4ac6f1cfbfqj"; depends=[gtools igraph magrittr Matrix plyr purrr stringr XML]; };
   Rexperigen = derive2 { name="Rexperigen"; version="0.2.1"; sha256="158ksnd1gvzq7ii0ys2v0wrfnr001hni0i8m77p1fn1arixgmqdw"; depends=[digest jsonlite RCurl]; };
   Rfacebook = derive2 { name="Rfacebook"; version="0.6.15"; sha256="0hp2mbm0hnyasizszvh5x9hv7z2q633zck1a1gvk36nbxb1shx7c"; depends=[httpuv httr rjson]; };
-  Rfast = derive2 { name="Rfast"; version="1.8.6"; sha256="0hfc3pwf01zc9zbz8zyhlinx9967fy2lp59i2nmln0ax47dvzlfn"; depends=[Rcpp RcppArmadillo RcppZiggurat]; };
+  Rfast = derive2 { name="Rfast"; version="1.8.8"; sha256="0hbzkdi180l004y1l6v0nd6zp7rn45wx4ahaqnrm67pa366j500p"; depends=[Rcpp RcppArmadillo RcppZiggurat]; };
   Rfit = derive2 { name="Rfit"; version="0.23.0"; sha256="1gxxipbh7mskrqwrpk1gf1dn8mp3l1v4hgmzii44bppffnxs7slp"; depends=[]; };
+  Rfmtool = derive2 { name="Rfmtool"; version="2.0.0"; sha256="1a8s4a4mdblzy76ljslfvz8zav2639plhby0ib5ccjnpz2sxhc7s"; depends=[]; };
   Rga4gh = derive2 { name="Rga4gh"; version="0.1.1"; sha256="0h5y722blkkwn6ask6vjnhl22v9l6511chdm50ig6xcs5dvjam2m"; depends=[httr jsonlite]; };
-  Rgb = derive2 { name="Rgb"; version="1.5.1"; sha256="136mhxwnw7jkfnmb5gxjr2xfnly79xfp6a6f9c8lj7s6wrgkl02a"; depends=[]; };
+  Rgb = derive2 { name="Rgb"; version="1.6.1"; sha256="0qs3dlv4g45dqphqjm23ky3w6rxh8ff2q6b17kvf57skyf1b1yn8"; depends=[]; };
   Rgbp = derive2 { name="Rgbp"; version="1.1.2"; sha256="1g5v22zjgykzcg5jk7fi03xfn3jzz1yf38izjzhx2433d97hasr7"; depends=[mnormt sn]; };
   Rglpk = derive2 { name="Rglpk"; version="0.6-3"; sha256="03v4cav465dkznm7d3bwwpx3qprhq25sp1rb5ncx2lka6inr1vzd"; depends=[slam]; };
   Rgnuplot = derive2 { name="Rgnuplot"; version="1.0.3"; sha256="0mwpq6ibfv014fgdfsh3wf8yy82nzva6cgb3zifn3k9lnr3h2fj7"; depends=[]; };
   RgoogleMaps = derive2 { name="RgoogleMaps"; version="1.4.1"; sha256="0fsmlnhl4kw2j4972kfanzw9njhnzk695gsyw8g6yppsmz2clcaq"; depends=[png]; };
-  Rgretl = derive2 { name="Rgretl"; version="0.1.6"; sha256="0m835fh6am7b5bwfhisqmsi31cchlh4vy6n0kfac0lv657sz9rf7"; depends=[]; };
+  Rgretl = derive2 { name="Rgretl"; version="0.2.2"; sha256="18jyp4bxs96ri1a4ifd52aj0q6kd2dygz8pkajbd9whq7bn5ick6"; depends=[lubridate png xml2]; };
   Rhpc = derive2 { name="Rhpc"; version="0.18-12"; sha256="095mrr6g05y9g8h88k1nf19zmjvg8hnmf5b3r6krqs4cxhp2qls2"; depends=[]; };
   RhpcBLASctl = derive2 { name="RhpcBLASctl"; version="0.18-12"; sha256="14qypi76h73iv3xwbb860r4f7516jyb88j92lmkifw03x86lx2b3"; depends=[]; };
+  Ricetl = derive2 { name="Ricetl"; version="0.2.5"; sha256="0q87cxzqkkp2bk92q3wnxxsqlkafkd37lp5pki7f87a5vcxlcrak"; depends=[devtools gWidgets gWidgetsRGtk2 plyr readr readxl stringr tidyverse writexl]; };
   RidgeFusion = derive2 { name="RidgeFusion"; version="1.0-3"; sha256="10llmrsfpcqrkcbw7zj44kvfy7ywn9rk49n7zplilz8h94zzcmjv"; depends=[mvtnorm]; };
   Ridit = derive2 { name="Ridit"; version="1.1"; sha256="02cni6hzf1bsns7vi8vklnhc0pfb5vwqhjnnfnjnnaxpzpsbvdfn"; depends=[]; };
   Rilostat = derive2 { name="Rilostat"; version="0.2.1"; sha256="058qz5kn7p8wn3lvw92c11cqpkz9brgf1igmawfkb0lqvj366vyd"; depends=[data_table dplyr DT haven plyr RCurl readr stringr tibble xml2]; };
@@ -3175,27 +3245,27 @@ in with self; {
   Risk = derive2 { name="Risk"; version="1.0"; sha256="1i42xcc699syj108mvgklwb30wkf9c9jrg5rmd2ypnqk9mnyg2fg"; depends=[]; };
   RiskPortfolios = derive2 { name="RiskPortfolios"; version="2.1.1"; sha256="1kn0vb4nhm3bxlmk5y2nl5m7a7hdvz3nz0yp8rdigpl6b2dp79w1"; depends=[MASS nloptr quadprog]; };
   Ritc = derive2 { name="Ritc"; version="1.0.2"; sha256="03smhxjhjfkc9pxhlgg54b6v2jznpmnws8373qpvn9a9ky5bcq2l"; depends=[minpack_lm]; };
-  RiverBuilder = derive2 { name="RiverBuilder"; version="0.1.0"; sha256="0qs21qz1zc0wsykd7qhry93il6qz255mgxyxnrdmxf5989k5mvxi"; depends=[]; };
+  RiverBuilder = derive2 { name="RiverBuilder"; version="0.1.1"; sha256="06cd1m4liv2bsh2sxplq2zl45g9zq8gsgvh14d0zr0pqm8z4dsyw"; depends=[]; };
   Rivivc = derive2 { name="Rivivc"; version="0.9"; sha256="0gl3040pp9nqm4g2ympnx80z64zfnn1hfsxka8ynd2cqhjn3b5i1"; depends=[signal]; };
   Rjpstatdb = derive2 { name="Rjpstatdb"; version="0.1"; sha256="0iwgsp3mblp7bsx88wfpqn09y1xrkingfkm3z9jsi2bwrnrjc2iv"; depends=[RCurl XML]; };
   RkMetrics = derive2 { name="RkMetrics"; version="1.3"; sha256="1k6vnr1r4h69iznib638z45gd0f8wc4g4h0ji9f0017883g77li1"; depends=[]; };
   Rknots = derive2 { name="Rknots"; version="1.3.2"; sha256="1krhma8hy3l5lbm6d8rxjlj9jw1zrd16h4wy4p1clfa5vlhh3bwi"; depends=[bio3d rgl rSymPy]; };
   Rlab = derive2 { name="Rlab"; version="2.15.1"; sha256="1pb0pj84i1s4ckdmcglqxa8brhjha4y4rfm9x0na15n7d9lzi9ag"; depends=[]; };
-  Rlabkey = derive2 { name="Rlabkey"; version="2.2.0"; sha256="1gzywhbdkd4f392fasa91ral8wg7jr51b4n1kll7r8hvyjz7bmgy"; depends=[httr Rcpp rjson]; };
-  Rlda = derive2 { name="Rlda"; version="0.2.3"; sha256="1p1a6zzxbzhsq74k5vc5w7gq1qpzxccbn2y3svdads0sgk037mmx"; depends=[coda doParallel foreach gtools Rcpp RcppArmadillo RcppProgress]; };
+  Rlabkey = derive2 { name="Rlabkey"; version="2.2.1"; sha256="1nsaab7nysld1gdqnpxd9g68vzs363szyinbfn6j2c7ch0vqcrka"; depends=[httr Rcpp rjson]; };
+  Rlda = derive2 { name="Rlda"; version="0.2.4"; sha256="01dh6x0yh9y7q8c8qy0zkkn2y18wzg5y90v4gcawdb1adz46izg2"; depends=[coda doParallel foreach gtools Rcpp RcppArmadillo RcppProgress]; };
   Rlibeemd = derive2 { name="Rlibeemd"; version="1.4.0"; sha256="0nnkblrgycvfwn0lb9j92f5wpln69kk54z4irwi35rrfl31f689m"; depends=[Rcpp]; };
   Rlinkedin = derive2 { name="Rlinkedin"; version="0.2"; sha256="15sbiis1d0s466nqk1adjhflb01sb9kn25f4y6sagkdggvyz6b56"; depends=[httpuv httr XML]; };
   Rlinsolve = derive2 { name="Rlinsolve"; version="0.2.0"; sha256="08ib0jjqicscn4mx5yv25q0x66iycx8jhazvjb47nqvn24mirprp"; depends=[BH bigmemory Matrix Rcpp RcppArmadillo Rdpack]; };
   Rlof = derive2 { name="Rlof"; version="1.1.1"; sha256="1px6ax2mr2agbhv41akccrjdrvp8a9lmhymp0cn8fjrib0ig8vql"; depends=[doParallel foreach]; };
   Rmalschains = derive2 { name="Rmalschains"; version="0.2-3"; sha256="1gh0f385s1nq12mk6a5l3nj1gd2mc6jzd66lisnxbcip25s4b8pb"; depends=[Rcpp]; };
-  RmarineHeatWaves = derive2 { name="RmarineHeatWaves"; version="0.16.0"; sha256="1h3850p1gdnr10x5gwqc45gk0vxbmq9j15prlm0m99xgcmk2pmxc"; depends=[dplyr ggplot2 lazyeval lubridate plyr raster tibble tidyr zoo]; };
+  RmarineHeatWaves = derive2 { name="RmarineHeatWaves"; version="0.16.1"; sha256="1z1i43imm0ch5ki7m5pxyjcxl280zmfzv8nizraf73zw852gzhb2"; depends=[dplyr ggplot2 lazyeval lubridate plyr raster rlang tibble tidyr zoo]; };
   RmecabKo = derive2 { name="RmecabKo"; version="0.1.6.2"; sha256="1i08wlfd14wmvwrsvjyhgzxkwzfp4jiwbzymw8m25pvyjxgi7jmy"; depends=[Rcpp stringr]; };
   Rmisc = derive2 { name="Rmisc"; version="1.5"; sha256="1ijjhfy3v91fspid77rrkc5dkcb2lav37wc3f4k5lwrn24wzy5y8"; depends=[lattice plyr]; };
   Rmixmod = derive2 { name="Rmixmod"; version="2.1.1"; sha256="1m5yab7wq343bzg8xszbrlif3cd4d1x7xcqh82czkxbfni1gz7j7"; depends=[Rcpp]; };
   RmixmodCombi = derive2 { name="RmixmodCombi"; version="1.0"; sha256="0cwcyclq143938wby0aj265xyib6gbca1br3x09ijliaj3pjgdqi"; depends=[Rcpp Rmixmod]; };
   Rmosek = derive2 { name="Rmosek"; version="1.2.5.1"; sha256="0zggv699s93i9g98qjs4ci2nprgfkzq45lpzgrbhldsxiflf27gz"; depends=[Matrix]; };
   Rmpfr = derive2 { name="Rmpfr"; version="0.7-0"; sha256="0jpj3nl76jd6vc2p1xwr8jl62q8ckwsdaxqnk9b20srkq63mfrig"; depends=[gmp]; };
-  Rmpi = derive2 { name="Rmpi"; version="0.6-6"; sha256="184skad8m4y4pzk8v98b7k7prqxm9mg1b2pfxbknyvzakq6aizv1"; depends=[]; };
+  Rmpi = derive2 { name="Rmpi"; version="0.6-7"; sha256="1b62gs7w1xqadqd7ir41jnxlcf14gcqfxd0915kn9ckdlsdrh0sw"; depends=[]; };
   RnavGraph = derive2 { name="RnavGraph"; version="0.1.8"; sha256="1fwzfy41gdr1aw1wg6dw04mxwwpp5s9x2inxyq3bc9s8bm1rlxih"; depends=[graph rgl scagnostics]; };
   RnavGraphImageData = derive2 { name="RnavGraphImageData"; version="0.0.3"; sha256="1mrh0p2ckczw4xr1kfmcf0ri2h2fhp7fmf8sn2h1capmm12i1q8f"; depends=[]; };
   RndTexExams = derive2 { name="RndTexExams"; version="1.4.1"; sha256="1gi96hfd7dkvmbvy6hj25g1l7nwk4yhxkdjx1l3ws3c2zpi27cvj"; depends=[CopyDetect data_table stringi stringr]; };
@@ -3211,11 +3281,12 @@ in with self; {
   RobRex = derive2 { name="RobRex"; version="0.9"; sha256="0ii539mjq462n1lbnyv3whl8b1agvhvlz31wwyz911gb40isl639"; depends=[ROptRegTS]; };
   Robocoap = derive2 { name="Robocoap"; version="0.1-1"; sha256="0aj6iv85a1zfaknjhrzf6lnf0qn726dvnj4dywg9nii1kkqrkq2w"; depends=[data_table igraph markovchain tm]; };
   RobustAFT = derive2 { name="RobustAFT"; version="1.4-1"; sha256="180gmlinrpnk4ghl1xickbjkdqr7vb6qzmy6701xpji5k8g9il60"; depends=[robustbase survival]; };
-  RobustGaSP = derive2 { name="RobustGaSP"; version="0.5.4"; sha256="1zq62vx5bq2wbdh9irmcfpbpr83qqr9m9icbpksxc8bp9zdsdzkq"; depends=[Rcpp RcppEigen]; };
+  RobustCalibration = derive2 { name="RobustCalibration"; version="0.5.0"; sha256="1pkgwglnb68563hiirkagz33jfksbzj3cvdyv13brrzx6jzcvw11"; depends=[Rcpp RcppEigen RobustGaSP]; };
+  RobustGaSP = derive2 { name="RobustGaSP"; version="0.5.5"; sha256="0asxhzybpfmz3zzhr32hvcxrdmdsjlqjvxiihrxc8f4w3qwnzb82"; depends=[Rcpp RcppEigen]; };
   RobustRankAggreg = derive2 { name="RobustRankAggreg"; version="1.1"; sha256="1pslqyr1lji1zvcrwyax4zg2s81p1jnhfldz8mdfhsp5y7v8iar3"; depends=[]; };
   RockFab = derive2 { name="RockFab"; version="1.2"; sha256="1b5mhfll5vmqwl4pblmclyx9604vn07jyza02rm0jcsx915ms8sc"; depends=[EBImage rgl]; };
   Rodam = derive2 { name="Rodam"; version="0.1.2"; sha256="0fxsjzillr2v3sxbph13q3wrly6dx6m8rm276qzfvx1md044z14y"; depends=[RCurl]; };
-  RonFHIR = derive2 { name="RonFHIR"; version="0.1.0"; sha256="14a5s9w77gb8v4ak5rv22m38d7ga4p4nnqqqhp41jj1snqqw45h3"; depends=[httr jsonlite R6]; };
+  RonFHIR = derive2 { name="RonFHIR"; version="0.2.0"; sha256="1kcbv8ibqh7jb3dpj4p73vd168c6vlwi08s9cshl4w6hqbz1pklg"; depends=[httr jsonlite R6]; };
   Rook = derive2 { name="Rook"; version="1.1-1"; sha256="00s9a0kr9rwxvlq433daxjk4ji8m0w60hjdprf502msw9kxfrx00"; depends=[brew]; };
   RootsExtremaInflections = derive2 { name="RootsExtremaInflections"; version="1.1"; sha256="11wybhw180r4zaqwfs301zwzfzprwwl4hiyhjj78l3mnxgdnmwz7"; depends=[doParallel foreach iterators]; };
   Rothermel = derive2 { name="Rothermel"; version="1.2"; sha256="0zrz2ck3q0vg0wpa4528rjlrfnvlyiy0x1gr5z1aax1by7mdj82s"; depends=[ftsa GA]; };
@@ -3225,19 +3296,19 @@ in with self; {
   RpeakChrom = derive2 { name="RpeakChrom"; version="1.1.0"; sha256="1r8f6knpz83arz2kabizx5yyh1myg0h310qlwh8rmy88cdxi1ps9"; depends=[ggplot2 minpack_lm pracma ptw]; };
   Rphylip = derive2 { name="Rphylip"; version="0.1-23"; sha256="0kpqmik4bhr74ib8yvaavr10z4v4w3li5vibdhz7lvz35jfirg9r"; depends=[ape]; };
   Rphylopars = derive2 { name="Rphylopars"; version="0.2.9"; sha256="19y0j5vh82sa9jigylxhv0s0hgjyhx3xq4blvk55jhpj8v7iyiky"; depends=[ape doBy geiger MASS Matrix mvnmle phylolm phytools Rcpp RcppArmadillo]; };
-  Rpolyhedra = derive2 { name="Rpolyhedra"; version="0.1.0"; sha256="06i8pmvn7fl8likxzzqzkggqf7x20pwi10mcv4x46cacil80ir2z"; depends=[futile_logger R6 rgl stringr testthat]; };
+  Rpolyhedra = derive2 { name="Rpolyhedra"; version="0.2.4"; sha256="1klianmsm3msgy5sbigxzx1mzsl915hmam6h2llr274r5gqhg4wh"; depends=[futile_logger R6 rgl stringr testthat XML]; };
   Rpoppler = derive2 { name="Rpoppler"; version="0.1-0"; sha256="19nvv45ahp0c241p1xzlq0sq5qarqg66jw5f1anhqnfi2hi91hcm"; depends=[]; };
-  Rprofet = derive2 { name="Rprofet"; version="1.1.0"; sha256="1aflqic2jfx9y6mxj155n0900xp20g1lliq8ad4nd4z2k0rfcpi2"; depends=[binr ClustOfVar ggplot2 gridExtra plyr sqldf]; };
+  Rprofet = derive2 { name="Rprofet"; version="2.2.0"; sha256="1s0jkq83vfc9jsggnwm31r366b10n6sri2vzpwxybzpjq3d3w5qr"; depends=[binr ClustOfVar ggplot2 gridExtra plyr sqldf stringr]; };
   Rquake = derive2 { name="Rquake"; version="2.4-0"; sha256="14s2mjq9qqxfvlwmq9126h67y5wr7irlc7945pgv1ab9hl1lgmz8"; depends=[GEOmap MBA minpack_lm rgl RPMG RSEIS]; };
   Rramas = derive2 { name="Rramas"; version="0.1-5"; sha256="0wy0flzp68mikq4v9k5pv6hbzx0w9mpa74dwx79i3iiddn0ylby6"; depends=[diagram]; };
-  Rraven = derive2 { name="Rraven"; version="1.0.1"; sha256="14sq6zk6k8kgcr3blrpi3asqd0gjc17b8v5siaj8r25vj4q0qzfc"; depends=[dplyr kableExtra pbapply vegan warbleR]; };
+  Rraven = derive2 { name="Rraven"; version="1.0.2"; sha256="0mhf0vv58la1xh8vc31ak1wfi47zsqbjgxy7zz4bjk90g6110jyp"; depends=[doParallel dplyr foreach kableExtra pbapply pbmcapply vegan warbleR]; };
   Rrdrand = derive2 { name="Rrdrand"; version="0.1-15"; sha256="1i7snj33p44v43bz57x1887ing8h02xrf86rv7q0qijj198qf7dr"; depends=[]; };
   Rsampletrees = derive2 { name="Rsampletrees"; version="1.0.2"; sha256="1wz3dp1myjkxzf9l5mfli3dfbkc2fwg70xx7m9cxa06vq0a4w5pv"; depends=[ape haplo_stats Rcpp]; };
   Rsampling = derive2 { name="Rsampling"; version="0.1.1"; sha256="14rp3j7iaii4rc3jkbijmbgvlagxxqjkz3vvfwwpxix43rsi8zsk"; depends=[]; };
   Rserve = derive2 { name="Rserve"; version="1.7-3"; sha256="09rha4p86vak7ss721mwp5bm5ig09xam8zlqv63n9wf36v3kdmpn"; depends=[]; };
   RsimMosaic = derive2 { name="RsimMosaic"; version="1.0.3"; sha256="0jlzrs9xxlpazvq3iw8znk0bd00bzlry7bgxsxq7xl23akizj0ji"; depends=[fields jpeg RANN]; };
   Rsolnp = derive2 { name="Rsolnp"; version="1.16"; sha256="0w7nkj6igr0gi7r7jg950lsx7dj6aipgxi6vbjsf5f5yc9h7fhii"; depends=[truncnorm]; };
-  Rsomoclu = derive2 { name="Rsomoclu"; version="1.7.4.1"; sha256="09x4mw5mn7vz16xlmhyzhplwpvpkwcc7ppxg32vv2h2z35wvhabc"; depends=[kohonen Rcpp]; };
+  Rsomoclu = derive2 { name="Rsomoclu"; version="1.7.5.1"; sha256="09dsiic9bfy1yq7bwspidn6w21vff3jay8812abydz1l1fz4qv5i"; depends=[kohonen Rcpp]; };
   Rssa = derive2 { name="Rssa"; version="1.0"; sha256="0alh0vq3qqzrn1kklqfp52qknasfq6yzk2dprz3g9pyq05qhmhlw"; depends=[forecast lattice svd]; };
   Rsurrogate = derive2 { name="Rsurrogate"; version="2.0"; sha256="1pjyhlxqi8mcbywa7qa1vxgxr5jca0nc9vm1bx53vr231wgnb7gf"; depends=[survival]; };
   Rsymphony = derive2 { name="Rsymphony"; version="0.1-28"; sha256="02x54ygbcd2600prcww1l9pb02skn96rj0jdljpky1228jbib4nx"; depends=[]; };
@@ -3245,16 +3316,16 @@ in with self; {
   Rtextrankr = derive2 { name="Rtextrankr"; version="1.0.0"; sha256="16dby3xsfcjyp35xdflmgnh7zkqygfbffvj4jqa565vj9ksnq5ir"; depends=[igraph KoNLP sets stringi]; };
   Rtnmin = derive2 { name="Rtnmin"; version="2016-7.7"; sha256="0f8ii87v29v61b93hx2yxdppp3nvgnl5imp80sbb4bjsdg0mf989"; depends=[]; };
   Rtsne = derive2 { name="Rtsne"; version="0.13"; sha256="17crbdi80q4g2pwp9v7j3bdaznk96qlrqx01zvj3wwqippizyfqw"; depends=[Rcpp]; };
-  Rttf2pt1 = derive2 { name="Rttf2pt1"; version="1.3.5"; sha256="1pra2xa1gbg2yijlb9pjnkg3vxs5z35mfk110i7dblai9l59xwq6"; depends=[]; };
+  Rttf2pt1 = derive2 { name="Rttf2pt1"; version="1.3.6"; sha256="18pi42n8zdrahwazcf553clqf0j1ngndb9vg5y71zcdwwphg7caf"; depends=[]; };
   Rtts = derive2 { name="Rtts"; version="0.3.3"; sha256="0jphdpnpbq0d48kzflilxlh6psk282hi1hz3rmnwnd0rx5iyg624"; depends=[RCurl]; };
   RtutoR = derive2 { name="RtutoR"; version="1.1"; sha256="132vyqkzjzwms9sbw6dmkqqk45si89r0xvy477xl98k14a2q4jlw"; depends=[colourpicker devtools dplyr DT FSelector ggplot2 ggthemes plotly ReporteRs rlang rmarkdown shiny shinyBS shinydashboard shinyjs tidyr]; };
   Rtwalk = derive2 { name="Rtwalk"; version="1.8.0"; sha256="0zxf66lsfq8by40flv34xzd5yy0wa1ah9li1d0h7f0yh9nbwhxl5"; depends=[]; };
   Ruchardet = derive2 { name="Ruchardet"; version="0.0-3"; sha256="0dgldi6fgp949c3455m9b4q6crqv530jph210xzph41vgw8a2q2v"; depends=[Rcpp]; };
   Runiversal = derive2 { name="Runiversal"; version="1.0.2"; sha256="0667mspsjydmxi848c6wsf14gz72bmdj9b3lilma92b7fhqnv7ai"; depends=[]; };
   Runuran = derive2 { name="Runuran"; version="0.24"; sha256="1528jzpg0m4gya63xjf7ya4x1c96anm6bpzjgsa1vq1a4dz9m4y9"; depends=[]; };
-  RunuranGUI = derive2 { name="RunuranGUI"; version="0.2"; sha256="0k3vgn027c2zbrk7pc2wcy2h6dn2djhdi70m8fi1qpz6vg7k8c7x"; depends=[cairoDevice gWidgets gWidgetsRGtk2 RGtk2 Runuran rvgtest]; };
+  RunuranGUI = derive2 { name="RunuranGUI"; version="0.3"; sha256="1h2bcc443z8vp4hjf4vss4ds5n6zc6x70kmw13b2431f56jq12fa"; depends=[cairoDevice gWidgets gWidgetsRGtk2 RGtk2 Runuran rvgtest]; };
   Rvcg = derive2 { name="Rvcg"; version="0.17"; sha256="0ssmi8mqmq82qrw0hzrmfqpwnkxwdlfa6j049r4l3gn28cfqhg1j"; depends=[Rcpp RcppArmadillo RcppEigen]; };
-  Rvmmin = derive2 { name="Rvmmin"; version="2017-7.18"; sha256="14jzwqwi1zd8sg1vb18hgvbvsax38hdqjy540qqhn2xb4z8qx3hy"; depends=[optextras]; };
+  Rvmmin = derive2 { name="Rvmmin"; version="2018-4.17"; sha256="0mhzzwk311wa157l3n4x5x038asvjd81l45g1jclfsjr0smsffym"; depends=[optextras]; };
   Rvoterdistance = derive2 { name="Rvoterdistance"; version="1.1"; sha256="16il36hkq1j6gyl5d8bx5khiiv6fy2m8vkhwiaaiqsliw2sspy4j"; depends=[Rcpp]; };
   Rwave = derive2 { name="Rwave"; version="2.4-8"; sha256="1rmqwyj2r84sii0vfqhyhpi3n1n1zia2ca627fq9ksvwn110nrvh"; depends=[]; };
   Rwinsteps = derive2 { name="Rwinsteps"; version="1.0-1"; sha256="0kzngkan9vydibnr3xm4pyz4v6kz0r4h19f0ngqpri07fkhdsxzd"; depends=[]; };
@@ -3262,7 +3333,6 @@ in with self; {
   RxODE = derive2 { name="RxODE"; version="0.6-1"; sha256="1dkz6kq9wq7q2xw2wdzii5682w9f7rmgq28g7pfh8ivimfg1q4bi"; depends=[brew digest dparser inline magrittr Matrix memoise R_utils Rcpp RcppArmadillo rex]; };
   RxnSim = derive2 { name="RxnSim"; version="1.0.3"; sha256="0fi4aic2brfbl6rsnnfwqq7l8ygvlmr98w0v749l3djpgn7sfrig"; depends=[data_table fingerprint rcdk rJava]; };
   Ryacas = derive2 { name="Ryacas"; version="0.3-1"; sha256="13qvd5gpdrjgzf6isk3529khd02852y3ajmpp5vl8vn9k1jxp86v"; depends=[Rcpp XML]; };
-  Rz = derive2 { name="Rz"; version="0.9-1"; sha256="1cpsmfxijrfx06ydpjzbaak7gkad4jjk1ph9453l9zly1cwzgspj"; depends=[foreign formatR ggplot2 memisc psych RGtk2]; };
   S2sls = derive2 { name="S2sls"; version="0.1"; sha256="0qq1rff2cdgrm5rj69jxgrl71i0wmzyn424fdvcg02zdv9ggqhd3"; depends=[spanel]; };
   SACCR = derive2 { name="SACCR"; version="2.1"; sha256="184mw9q25b06zar4ii3na7c4x28ly922d5csfqkw9b07mdp81k3h"; depends=[data_tree jsonlite Trading]; };
   SACOBRA = derive2 { name="SACOBRA"; version="0.7"; sha256="12aj4ghs3i3ks749z0l95ipv8gi33xgggkyjf21zvnzmb1dgphys"; depends=[testit]; };
@@ -3270,7 +3340,6 @@ in with self; {
   SADISA = derive2 { name="SADISA"; version="1.0"; sha256="0v68k6pwcr2hfsffkcrvpgfwciwir2jsg3q1kvr0ka5iiizpliz3"; depends=[DDD pracma subplex]; };
   SAENET = derive2 { name="SAENET"; version="1.1"; sha256="13mfmmjqbkdr6j48smdlqvb83dkb34kx3i16gx0gmmafk3avdaxx"; depends=[autoencoder neuralnet]; };
   SAFD = derive2 { name="SAFD"; version="1.0-1"; sha256="1h9hw66irq2c1ciz502r5h8h9hx32jwhrp9dwl91qlknlj6s1bxr"; depends=[]; };
-  SAGA = derive2 { name="SAGA"; version="2.0.0"; sha256="022q8hagc38mfakh02cyvf49as2rps1my9iy2xcg8qhrr2czzmy8"; depends=[plotrix viridis]; };
   SALES = derive2 { name="SALES"; version="1.0.0"; sha256="1kjmlwa4v2i7hzm947xby9jr0irsf4c851f7jyqyhqna9c65rx0g"; depends=[Matrix]; };
   SALTSampler = derive2 { name="SALTSampler"; version="1.1.0"; sha256="1lh1w5kcx2sqv5czpfypdbq5mw7pxjbdk0vyg23zzjs26ynbdkn9"; depends=[lattice]; };
   SAM = derive2 { name="SAM"; version="1.0.5"; sha256="1fki43bp6kan6ls2rd6vrp1mcwvz92wzcr7x6sjirbmr03smcypr"; depends=[]; };
@@ -3284,7 +3353,7 @@ in with self; {
   SAScii = derive2 { name="SAScii"; version="1.0"; sha256="0nq859xmrvpbifk8q1kbx3svg61rqdg8p8gr1pn85fr0j3w7h666"; depends=[]; };
   SASmarkdown = derive2 { name="SASmarkdown"; version="0.4.3"; sha256="0jc21ylflvv4snik13731acxh9zw79s7hpswk58p2wzvavq8k9zn"; depends=[knitr]; };
   SASmixed = derive2 { name="SASmixed"; version="1.0-4"; sha256="0491x4a3fwiy26whclrc19alcdxccn40ghpsgwjkn9sxi8vj5wvm"; depends=[]; };
-  SASxport = derive2 { name="SASxport"; version="1.5.7"; sha256="1y3hh77c69s65wnar3x40wj3msqjpvspdyy368hgfg8ljkdl3pk2"; depends=[Hmisc stringi]; };
+  SASxport = derive2 { name="SASxport"; version="1.6.0"; sha256="1g8sfi61im9i04whybwqq4rl6glisbziqaag1mdfqykxryakjf04"; depends=[Hmisc stringi]; };
   SAVE = derive2 { name="SAVE"; version="1.0"; sha256="1m9rrga8x00hlvn0c1jcz6yz14pdm6h3dq14905mq49sw63c7zll"; depends=[coda DiceKriging]; };
   SBRect = derive2 { name="SBRect"; version="0.26"; sha256="16g0ciy9q9irypsl8x36i0lavl41j3af13r2si0by8q6wj56pxi4"; depends=[rJava]; };
   SBSA = derive2 { name="SBSA"; version="0.2.3"; sha256="1v23lzzziyjlvgn5p2n1qcq2zv9hsyz2w15lbnfi5wvinxhlg8sc"; depends=[Rcpp RcppArmadillo]; };
@@ -3298,9 +3367,9 @@ in with self; {
   SCORER2 = derive2 { name="SCORER2"; version="0.99.0"; sha256="1a28wga69ip9s98ch2dqgl0qkwa3w6frmaqcvhclc360ik813mxq"; depends=[]; };
   SCORPIUS = derive2 { name="SCORPIUS"; version="1.0"; sha256="1ipqscj20qkqik5gsiramsv18ld4k5g9w0gllf1izjimrlrnqc6n"; depends=[dplyr fitdistrplus ggplot2 magrittr MASS mclust pbapply pheatmap princurve purrr ranger RColorBrewer Rcpp reshape2 testthat tidyr TSP]; };
   SCRSELECT = derive2 { name="SCRSELECT"; version="1.3-3"; sha256="118vwnd5gggvdhq7fbs0553l84vh5mhiag41q4svprd7p0pqd9hd"; depends=[mvtnorm]; };
-  SCRT = derive2 { name="SCRT"; version="1.2.1"; sha256="09d9ghviskg1ifjgqcgdlcp1p3w09bpkixvbxqr4354rq31kwf21"; depends=[]; };
+  SCRT = derive2 { name="SCRT"; version="1.2.2"; sha256="1x6bzcgb5blavj4zdw4jam5r8yad3plyfzk31vz9pjv39784k229"; depends=[]; };
   SCVA = derive2 { name="SCVA"; version="1.2.1"; sha256="1ixy4ybw3c9w6q8csjv27r5f9x6988zrbr2a3yybhyw8xmkszc4v"; depends=[]; };
-  SCperf = derive2 { name="SCperf"; version="1.0"; sha256="1v9l7d9lil2gy5bw6i7bzc24808m063xaw2spl005j0a9rh4ag41"; depends=[]; };
+  SCperf = derive2 { name="SCperf"; version="1.1.1"; sha256="1kqi3sv9ds58l20pdcnjrrbf7fin82j73yqj5rbx4kjdw560ylb2"; depends=[]; };
   SDD = derive2 { name="SDD"; version="1.2"; sha256="0wzgm1hgjv5s00bpd7j387qbvn5zvyrrd5fr2rgyll4cw9p4sd33"; depends=[Hmisc rgl rpanel sm tseries]; };
   SDDE = derive2 { name="SDDE"; version="1.0.1"; sha256="14vql1bypn409w9xcx1jdzff6apiagcz2wng3y24h3mk7yjv9bzy"; depends=[doParallel foreach igraph iterators]; };
   SDEFSR = derive2 { name="SDEFSR"; version="0.7.1.0"; sha256="1pknkda7iaq5247557b93kc3cf2ih7b3wpqpkqyfgfay3ci9kg16"; depends=[]; };
@@ -3325,11 +3394,11 @@ in with self; {
   SGCS = derive2 { name="SGCS"; version="2.6"; sha256="09czgfc0mg64qcigp36kjaf52zlmrpz3m2d1dp42d9hhlciliqf5"; depends=[spatstat]; };
   SGL = derive2 { name="SGL"; version="1.1"; sha256="1wc430jqn3li102zpfmyyavfbab7x7ww9p89clxsndyigrrbjdr7"; depends=[]; };
   SGP = derive2 { name="SGP"; version="1.7-0.0"; sha256="0jjrrza8s6sj3gmmldnyxshfmcaf8xhp4g50vc3rcwnkg1jhzkg8"; depends=[Cairo colorspace crayon data_table digest doParallel doRNG equate foreach gridBase gtools iterators jsonlite matrixStats quantreg randomNames RSQLite sn toOrdinal]; };
-  SGPdata = derive2 { name="SGPdata"; version="17.0-0.0"; sha256="1pjilyqwhgisz1iiy50l86dwc4dg3c8dzlpx7mm7n75049vzp2xq"; depends=[data_table]; };
+  SGPdata = derive2 { name="SGPdata"; version="20.0-0.0"; sha256="0fxv7nnxiaq6z9wii9x5qiy0vd2z8jw3gcwl5fj9m29ja7j3900g"; depends=[crayon data_table]; };
   SHELF = derive2 { name="SHELF"; version="1.3.0"; sha256="0qhkp1ypbimiq9r8yv95bipbmhm7b38ibbk9nmhdckrr6ymd2w35"; depends=[ggExtra ggplot2 MASS shiny tidyr]; };
   SHIP = derive2 { name="SHIP"; version="1.0.2"; sha256="0b83cclibdz1r7sz968nmca4najwgps9wrdlsh4gxrl7fq40k4ln"; depends=[]; };
+  SI = derive2 { name="SI"; version="0.1.0"; sha256="11ywmyz4mamk30p4m9qvgmba237s1xvabablh91rwq13089x8nxm"; depends=[]; };
   SIBER = derive2 { name="SIBER"; version="2.1.3"; sha256="14ab9zid0i400kj924m2y5qgp2iibnpllhqw11rlmdf8j9cr7858"; depends=[dplyr ggplot2 hdrcde magrittr mnormt rjags spatstat_utils tidyr viridis]; };
-  SIBERG = derive2 { name="SIBERG"; version="2.0.1"; sha256="0679npp89d6xqs95c2kj95dbbp2v4g933ppkcn315siw2s553nv5"; depends=[mclust]; };
   SID = derive2 { name="SID"; version="1.0"; sha256="1446zy4rqbw0lpyhnhyd06dzv238dxpdxgmsk34hqv7g3j7q5h1w"; depends=[igraph Matrix pcalg RBGL]; };
   SIDES = derive2 { name="SIDES"; version="1.11"; sha256="1gmhfj44qdklsdklmg8p35lmvlgla8i881i3iaziblslyscbyw9f"; depends=[doParallel foreach MASS memoise multicool nnet survival]; };
   SII = derive2 { name="SII"; version="1.0.3"; sha256="1k9mvz6g25qs351c0vx7n5h77kb6k833jrcww14ni59yc9jgvsyg"; depends=[]; };
@@ -3388,6 +3457,7 @@ in with self; {
   SPEI = derive2 { name="SPEI"; version="1.7"; sha256="0lj7d3bbik7q4di5nqc3a1rn94z2y2v9x45r1jjkvgf03frj96qd"; depends=[ggplot2 lmomco]; };
   SPIAssay = derive2 { name="SPIAssay"; version="1.1.0"; sha256="0y02122lj4v95g62w84jmdjdazfz3rch133aid5sgakj2kv68cvh"; depends=[]; };
   SPIGA = derive2 { name="SPIGA"; version="1.0.0"; sha256="0yd06x5rh1h1s4v9apj43c90rkz8m5kssbny7y5mnw5mr2acds9b"; depends=[GA]; };
+  SPINA = derive2 { name="SPINA"; version="4.1.0"; sha256="0x7y150iq072qqci2niqk7j8pvhcylb7kdvwambg1r1gi3ffycm9"; depends=[]; };
   SPIn = derive2 { name="SPIn"; version="1.1"; sha256="109xxrg7bsmmfd6ik85kxrw2qclxbh5ipsh5mmrdl4hki3hnyp2s"; depends=[quadprog]; };
   SPODT = derive2 { name="SPODT"; version="0.9-1"; sha256="01yq429a4s63855bwpn2mqjj2k3cz4187kfpi7n7qqdpdvmxz109"; depends=[rgdal sp tree]; };
   SPOT = derive2 { name="SPOT"; version="2.0.2"; sha256="17apfbsh4qv3yhv7jpmmyz7whwx4ilm0krspxyc4knm3yxxw26bp"; depends=[DEoptim MASS nloptr randomForest rgenoud rsm]; };
@@ -3395,13 +3465,13 @@ in with self; {
   SPREDA = derive2 { name="SPREDA"; version="1.0"; sha256="1dyqsra899fd1nbk1b7vkw8gs455c6pbcvzw84q9iri77186xqhv"; depends=[nlme survival]; };
   SPRT = derive2 { name="SPRT"; version="1.0"; sha256="1r4pfqh8k5avi8qgpk5x1cy8lmkn341yvjvd2r7wqwb3mr242r0v"; depends=[]; };
   SPSL = derive2 { name="SPSL"; version="0.1-8"; sha256="1jg1nfhz8qml1wwqa4d0w7vkdmbgdy5xlfqx0h2pdw2z8iij3xxc"; depends=[]; };
-  SPUTNIK = derive2 { name="SPUTNIK"; version="1.0.0"; sha256="0620nw9i1li52q0h5ygqs5zjl9ciblz3qdx31i3qwbz2c1gza9hy"; depends=[autothresholdr ggplot2 imager infotheo reshape SDMTools spatstat viridis viridisLite]; };
+  SPUTNIK = derive2 { name="SPUTNIK"; version="1.0.2"; sha256="0hf6g3s17ri1qzl1180s4akyhp98lj6zx5ix1z6rh53gk6dvxb5l"; depends=[autothresholdr ggplot2 imager infotheo reshape SDMTools spatstat viridis viridisLite]; };
   SPYvsSPY = derive2 { name="SPYvsSPY"; version="0.1.1"; sha256="1hxc73wwrzqh1r1xr9yd4hy4ma24virg4iv978lfyc9f9n56znp5"; depends=[]; };
   SPmlficmcm = derive2 { name="SPmlficmcm"; version="1.4"; sha256="1acs3560a7h6xx286m40abr9b7i5qihn6wni8flj0biahmsszzx6"; depends=[nleqslv]; };
   SPreFuGED = derive2 { name="SPreFuGED"; version="1.0"; sha256="1cdamkrr0xpc0l2dypd9lgjidrmalfxs0ms7z3wfmf22a8b3y0d2"; depends=[Biobase boot CMA lattice limma lme4 mvtnorm]; };
   SQDA = derive2 { name="SQDA"; version="1.0"; sha256="0nfimk625wb64010r5r7hzr64jfwgc6rbn13wvrpn0jgayji87h6"; depends=[limma mvtnorm PDSCE]; };
   SQN = derive2 { name="SQN"; version="1.0.5"; sha256="0kb8kf6g482zqdp4avwvhs3pqghfny757dbzfl1abaigmvwvx4qj"; depends=[mclust nor1mix]; };
-  SQRL = derive2 { name="SQRL"; version="0.1.1"; sha256="15sfw00ff2bil9y0y0dwzjqwqgh5h3266ny6clvgpsx4hsczzsmr"; depends=[RODBC]; };
+  SQRL = derive2 { name="SQRL"; version="0.3.0"; sha256="1d4wnm03a900gyhayxkrqpwyxmj8mbqadhi3bzqvi6wb01517a0r"; depends=[RODBC]; };
   SQUAREM = derive2 { name="SQUAREM"; version="2017.10-1"; sha256="10xj26x7qjyvzndnbjl5krr9wabnb9cbrnp3m7xg673g8ddr12cv"; depends=[]; };
   SRCS = derive2 { name="SRCS"; version="1.1"; sha256="13zf3cqs53w68f9zc1fkb9ql84rvzn7g1hbykqrbvss8hjaq8x1r"; depends=[]; };
   SRRS = derive2 { name="SRRS"; version="0.1.1"; sha256="0jv545a97q4pyl89lmhn3y0jhdzyq033mvx144x8lcgx59s7cyi3"; depends=[gtools tcltk2]; };
@@ -3414,24 +3484,26 @@ in with self; {
   SSN = derive2 { name="SSN"; version="1.1.12"; sha256="1c2dx7d9izd4z76pvsbbfb0r1a6w45x96mv4vb9h99yafcw380nv"; depends=[BH igraph lattice maptools MASS Matrix rgdal rgeos RSQLite sp]; };
   SSRA = derive2 { name="SSRA"; version="0.1-0"; sha256="1d0lg2dz8vf1d63366s5apm0ygrsfxivbrsij907r244zj6i1c37"; depends=[shape stringr]; };
   SSRMST = derive2 { name="SSRMST"; version="0.1.1"; sha256="15s6vcmk8a27yw3rlfkajby6qkizp4sfiyi63m7hc86svd15x4wg"; depends=[survival survRM2]; };
-  SSrat = derive2 { name="SSrat"; version="1.0"; sha256="1qpsdfdngsgxx3mqgn4avl65w4v5v4jwsh1nnxzfn9iqi9mg4bhi"; depends=[plyr sna]; };
+  SSrat = derive2 { name="SSrat"; version="1.1"; sha256="1mmwla7yqqldv0s5hqljq2k2qljdfhq97m5128gvf3iy7n2yjzgj"; depends=[plyr sna]; };
   SSsimple = derive2 { name="SSsimple"; version="0.6.4"; sha256="0p7d4hx7mhn5myq8ajcij6hhg79rjxigk5v8z93yfdw4gjcb5wad"; depends=[mvtnorm]; };
   STAND = derive2 { name="STAND"; version="2.0"; sha256="07wrpmvk0jjlghvrb37xyai48vgzj0fby8y09qdxsxdlgwqg1f3s"; depends=[survival]; };
   STAR = derive2 { name="STAR"; version="0.3-7"; sha256="1g78j4iyh78li1jaa3zz5qv4p41cg0imhmvbfakd34l32ppih4ll"; depends=[codetools gss mgcv R2HTML survival]; };
-  STARTS = derive2 { name="STARTS"; version="0.2-10"; sha256="16d578rgl13x29lbv95g7qrcf0lmxjcz8mxrrd5cb7405bl4a1rq"; depends=[CDM LAM sirt]; };
+  STARTS = derive2 { name="STARTS"; version="0.3-24"; sha256="13963x27y81ahwnhzghq3wadlkkq8k8mga2ap2knx5p980fj1jb7"; depends=[CDM LAM sirt]; };
   STARTdesign = derive2 { name="STARTdesign"; version="1.0"; sha256="1q61l3v8ishzax3ppy0pz4ky4l46472l6j36hjlsa8cl01ik1zjf"; depends=[Rcpp]; };
   STB = derive2 { name="STB"; version="0.6.3.1"; sha256="0fj1cfxqhijpxl41z799zd7id95jsb84ylrbqzrd1jlp80plyw83"; depends=[Matrix VCA]; };
   STEPCAM = derive2 { name="STEPCAM"; version="1.2"; sha256="03crbc7hag8w333j9c7k0q7zy7xmfid4lq773p74r55jmac5xpjf"; depends=[ade4 ape FD geometry gtools MASS vcd]; };
   STI = derive2 { name="STI"; version="0.1"; sha256="1p408y9w2h4ljaq0bsw7vc1xghczjprf558cyg6994m0nv5fh4c4"; depends=[fitdistrplus zoo]; };
   STMedianPolish = derive2 { name="STMedianPolish"; version="0.2"; sha256="0jzgcfhm09cccg2nwbvrmnkah1psbnmg26rc2n7lz26n4b20p3l2"; depends=[gstat maptools nabor reshape2 sp spacetime zoo]; };
   STPGA = derive2 { name="STPGA"; version="4.0"; sha256="198h2wzhv5lnyqypn7s5lilywby2pq3zdx8vk4qd72bybfwwli2c"; depends=[]; };
+  STV = derive2 { name="STV"; version="1.0.0"; sha256="034d9qnvgmk97ah7r9w2hvnw39f7mxs2ml6y8dad94p8phl52gfw"; depends=[]; };
   SUE = derive2 { name="SUE"; version="1.0"; sha256="0akv724s84v2zixvwywj1ydfnfvcjnaabv6gm0601nsrh6ij1mi6"; depends=[]; };
   SUMMER = derive2 { name="SUMMER"; version="0.1.0"; sha256="14dq64h931l8r4pfhdg3i8wabb08n1fnnp8ql1bmhl1z4dqbggfl"; depends=[classInt ggplot2 maptools RColorBrewer sp spdep survey survival]; };
-  SVMMaj = derive2 { name="SVMMaj"; version="0.2-2"; sha256="01njc7drq01r3364081dv9gn37vrql52zbrb60gd559f3jshqx3m"; depends=[kernlab MASS]; };
+  SVMMaj = derive2 { name="SVMMaj"; version="0.2-8"; sha256="13d9v1l85md1v6qyfrdc3l36yanw5canskngjr1sh0hmyla182bz"; depends=[dplyr ggplot2 gridExtra kernlab reshape2 scales]; };
   SVMMatch = derive2 { name="SVMMatch"; version="1.1"; sha256="1ykwrhlid4hs466xh3kv6y2qdhgk0jiglg0l3zwk5qlni6p26zc9"; depends=[Rcpp RcppArmadillo]; };
   SWATmodel = derive2 { name="SWATmodel"; version="0.5.9"; sha256="1i48g9nbjfn30ppwyzyz3k181nscv4wx773l8mzfdwhx0nlv4kyj"; depends=[EcoHydRology]; };
   SWMPr = derive2 { name="SWMPr"; version="2.3.0"; sha256="1z6gg8ih1m5nxm1kilpwxj4xvlbyqr67la7idrfa722y6f6264rf"; depends=[data_table dplyr ggmap ggplot2 gridExtra httr lattice maptools oce openair RColorBrewer reshape2 tictoc tidyr XML zoo]; };
-  SYNCSA = derive2 { name="SYNCSA"; version="1.3.2"; sha256="1m057lhfaf0n35rs3sipia04qgkp04hv7wf7rvnr7bhzic9f4vg3"; depends=[FD mice vegan]; };
+  SWMPrExtension = derive2 { name="SWMPrExtension"; version="0.3.12"; sha256="1l79576a4v7kdgnb3skmakbfgnxfr069dn60v31x1fjq75k2lklq"; depends=[broom dplyr EnvStats flextable ggplot2 ggthemes leaflet lubridate magrittr maptools officer RColorBrewer rgdal rgeos rlang scales sp stringr SWMPr tidyr]; };
+  SYNCSA = derive2 { name="SYNCSA"; version="1.3.3"; sha256="1g00jzghvvhnj2npplh87bwbm479mwldskhard0vjlfmagbhjm8p"; depends=[FD permute RcppArmadillo vegan]; };
   SafeBayes = derive2 { name="SafeBayes"; version="1.1"; sha256="09bhd3z9ia2mvpn1h0hil00j6cm4x9y9ymxc3gj8wd4ybdi3jqlm"; depends=[]; };
   SafeQuant = derive2 { name="SafeQuant"; version="2.3.1"; sha256="0rgi0ij33sdvkpmjynfmsj0f29kl9l9ylsqckg5x4v49m6mzq1yh"; depends=[Biobase corrplot data_table epiR gplots limma optparse seqinr]; };
   Sample_Size = derive2 { name="Sample.Size"; version="1.0"; sha256="1vfnb2gg3rax4sxd81xqznfvh300nv45nn7zjsyrdjyg1n3ym7nw"; depends=[]; };
@@ -3462,38 +3534,39 @@ in with self; {
   Segmentor3IsBack = derive2 { name="Segmentor3IsBack"; version="2.0"; sha256="0c7ag9svd1xlm60padg41gvz7qnbcp41kg3cz2dvi9hy2yrqw0qd"; depends=[]; };
   Sejong = derive2 { name="Sejong"; version="0.01"; sha256="1d9gw42dbs74w7xi8r9bs6dhl23y16yxqzyhqqayvcm98q3l77nf"; depends=[]; };
   SeleMix = derive2 { name="SeleMix"; version="1.0.1"; sha256="1qzy59wbjh8llm66l70xi0p3lv94iawh2h5vwa9sqy2ra5vmpaxk"; depends=[mvtnorm]; };
-  Select = derive2 { name="Select"; version="1.2"; sha256="0ljlh7zj4r3izns47sa8bx17ll0ki6p02fpjxwghy1hz9k6ak9ir"; depends=[lattice latticeExtra Rsolnp]; };
+  Select = derive2 { name="Select"; version="1.3"; sha256="0gl0rba9d2l3r70wnxlc3d9s8lcgxl9scsb27x4zid5a3y7n7mpw"; depends=[ade4 FD lattice latticeExtra Rsolnp]; };
   SelvarMix = derive2 { name="SelvarMix"; version="1.2.1"; sha256="02d16ffw5syq0d3yiim9jgrjlz99n956zxp23idpsmq6lb2whq66"; depends=[glasso Rcpp RcppArmadillo Rmixmod]; };
-  SemiCompRisks = derive2 { name="SemiCompRisks"; version="2.8"; sha256="1f4cpqjb737fz6iiadhdi1ansfi5wj1zl403b3xw7l20k4f39952"; depends=[MASS survival]; };
+  SemiCompRisks = derive2 { name="SemiCompRisks"; version="3.0"; sha256="1f1rv48qpmgg0z25vmz48ziimj6bwnxlzf2k4i1xwb53qxxyysxw"; depends=[Formula MASS survival]; };
   SemiMarkov = derive2 { name="SemiMarkov"; version="1.4.3"; sha256="1qfsy88bd07xk3gy2r7cjcs6fhx9889aqn1494d92msxmc6zvcz7"; depends=[MASS numDeriv Rsolnp]; };
-  SemiPar = derive2 { name="SemiPar"; version="1.0-4.1"; sha256="05gnk4s0d6276rmnyyv6gy1wpkji3sw563n8l7hmi9qqa19ij22w"; depends=[cluster MASS nlme]; };
+  SemiPar = derive2 { name="SemiPar"; version="1.0-4.2"; sha256="0pa3drpvclkw81ji5m1h5arj5c2rh03dnlff97cnnr1v5kvg1i4w"; depends=[cluster MASS nlme]; };
   SemiParSampleSel = derive2 { name="SemiParSampleSel"; version="1.5"; sha256="0apbg8sddz2ab9170wvf7p6cgawvp4w13r97r5q7p3hx2hylb8sw"; depends=[CDVine copula gamlss_dist magic Matrix matrixStats mgcv mvtnorm trust VGAM]; };
   SenSrivastava = derive2 { name="SenSrivastava"; version="2015.6.25"; sha256="0r4p6wafnfww07kq19lfcs96ncfi0qrl8n9ncp441ri9ajwj54qk"; depends=[]; };
   SensMap = derive2 { name="SensMap"; version="0.6"; sha256="0j52aplvdlwwfswyrij0vv7zsdr015cn5931c6631rlps94gka0w"; depends=[doBy factoextra FactoMineR fields ggdendro ggplot2 glmulti lattice MCMCpack mgcv plotly shiny]; };
-  SensMixed = derive2 { name="SensMixed"; version="2.0-10"; sha256="0r2lga40xr782n1viyxc4wn9gzgm7g2ick45pfnkgq6m60wx9rfh"; depends=[doBy ggplot2 Hmisc lme4 lmerTest plyr reshape2 shiny shinyBS xtable]; };
+  SensMixed = derive2 { name="SensMixed"; version="2.1-0"; sha256="0ykg94amnm9clf8d3naap8fmv9qqc6j1q52wnb83zk7ry44dp7dh"; depends=[doBy ggplot2 Hmisc lme4 MASS plyr reshape2 shiny shinyBS xtable]; };
   SensitivityCaseControl = derive2 { name="SensitivityCaseControl"; version="2.1"; sha256="00jqzqx7g0av9lw13is723gph486gb8ga0wgcmmzpmb24s5nya9z"; depends=[]; };
   SensoMineR = derive2 { name="SensoMineR"; version="1.23"; sha256="0a1s2wrb86a0y2faxj5ax8fa6vfcclgg7bcff4j7jb40ilxnxhn4"; depends=[AlgDesign cluster FactoMineR ggplot2 gtools KernSmooth reshape2]; };
   SensusR = derive2 { name="SensusR"; version="2.2.0"; sha256="0ahgy6mvlxfdavdarmfmb1ld1pykhbrjgg8mdh5q71b3a75vbp47"; depends=[ggmap ggplot2 jsonlite lubridate openssl plyr R_utils]; };
-  SentimentAnalysis = derive2 { name="SentimentAnalysis"; version="1.3-0"; sha256="098w4kcd6xsgwi996plm06nmyg8f7sg9wjphymmfl29k5y2zyz4s"; depends=[ggplot2 glmnet mgcv moments ngramrr qdapDictionaries SnowballC spikeslab stringdist tm XML]; };
+  SentimentAnalysis = derive2 { name="SentimentAnalysis"; version="1.3-2"; sha256="18vycj9vpb32610sn321sbwdnjldyjm9idjw9spggdzj7gsiwwk3"; depends=[ggplot2 glmnet mgcv moments ngramrr qdapDictionaries SnowballC spikeslab stringdist tm XML]; };
   SeqAlloc = derive2 { name="SeqAlloc"; version="1.0"; sha256="04rhr3gb2p9i35a3x4k8m0lv42ncfqlhx6sf3bq8yihppwrag8x3"; depends=[]; };
-  SeqFeatR = derive2 { name="SeqFeatR"; version="0.2.4"; sha256="0wk40lhx2bjyfl8gcv9g1c3bm7kf3b12pfdb0zk22vcp2flr0mci"; depends=[ape Biostrings calibrate coda ggplot2 phangorn plotrix plyr qvalue R2jags scales tcltk2 widgetTools]; };
+  SeqFeatR = derive2 { name="SeqFeatR"; version="0.2.6"; sha256="0y06am4q9cgf8cfycw9ym5qys0g99ks3cfxgk0mss34i5vhbfjfr"; depends=[ape Biostrings calibrate coda ggplot2 phangorn plotrix plyr qvalue R2jags scales tcltk2 widgetTools]; };
   SeqGrapheR = derive2 { name="SeqGrapheR"; version="0.4.8.5"; sha256="041hlf64zbndz76r076pmym4dw4xl3fahryvpvjspw0sdlhmfm8c"; depends=[Biostrings cairoDevice gWidgets gWidgetsRGtk2 igraph rggobi]; };
+  SeqKat = derive2 { name="SeqKat"; version="0.0.6"; sha256="0idxyn84rqsg26y6ml218g037qxrx9755ikasyn212qacc36in39"; depends=[doParallel foreach Rcpp]; };
   SeqMADE = derive2 { name="SeqMADE"; version="1.0"; sha256="0nf1xjhk0kpmmzgcxycg3ccxvwq6gydjq7xq6n9m7k7v35v9v3qf"; depends=[MASS]; };
   SequenceAnalysis = derive2 { name="SequenceAnalysis"; version="1.3"; sha256="0jrpq5ryw7rwkv99w0a5p3r0vj8nbzj6adlcsr84d9ffgxafmhif"; depends=[XML]; };
   Sequential = derive2 { name="Sequential"; version="2.3.2"; sha256="01zvgvdj57js08krskahk1ng3wkv9iblmirslgrmllf4q18zwsdr"; depends=[]; };
   SequentialDesign = derive2 { name="SequentialDesign"; version="1.0"; sha256="1gi37pixwbpy7358id1c75rckr352hs8vjs8sk8qgsr97pkm5xdq"; depends=[Sequential]; };
   SetMethods = derive2 { name="SetMethods"; version="2.3"; sha256="10xzvr7xfv2vwa3byw4qb3v8gi8d36w9drjzqsxx52ffnjb95670"; depends=[betareg fmsb lattice QCA]; };
   SetRank = derive2 { name="SetRank"; version="1.1.0"; sha256="0p7vwsw05s5hfw1mfh3fbm9nfzsymnxzrdjin7k21dx7asb618wy"; depends=[data_table igraph XML]; };
-  SetTest = derive2 { name="SetTest"; version="0.1.0"; sha256="0b5lkdhaymi3vsx9acdn9jxvqwwsac9lbdr43c44c06gglqlvk47"; depends=[]; };
-  Seurat = derive2 { name="Seurat"; version="2.2.1"; sha256="1sr82nf38hq07avrfn8vlrzjq7dfm4pcr8l1nh6mnglcql2bk9z2"; depends=[ape caret cowplot diffusionMap dplyr dtw FNN fpc gdata ggplot2 ggridges gplots gridExtra Hmisc ica igraph irlba lars MASS Matrix metap mixtools pbapply plotly ranger RColorBrewer Rcpp RcppEigen RcppProgress reshape2 ROCR Rtsne SDMTools stringr tclust tidyr tsne VGAM]; };
+  SetTest = derive2 { name="SetTest"; version="0.2.0"; sha256="08wc6cbnannmwkncqhpcw6l0y7c1v7z3awk5j7fd853nszfmpbk0"; depends=[]; };
+  Seurat = derive2 { name="Seurat"; version="2.3.0"; sha256="0kp3lw1s896zkjd6x2wp8qcg7wnm5b40g8vihps13f1m7j4nx7r0"; depends=[ape caret cluster cowplot diffusionMap doSNOW dplyr dtw fitdistrplus FNN foreach fpc gdata ggplot2 ggridges gplots gridExtra Hmisc ica igraph irlba lars lmtest MASS Matrix metap mixtools pbapply plotly png ranger RANN RColorBrewer Rcpp RcppEigen RcppProgress reshape2 ROCR Rtsne SDMTools stringr tclust tidyr tsne VGAM]; };
   ShapeChange = derive2 { name="ShapeChange"; version="1.4"; sha256="1ch7avx8mxjk8vrp17inaihmbsv968wflyk1n4fbjvacbl24vn2b"; depends=[coneproj quadprog]; };
   ShapePattern = derive2 { name="ShapePattern"; version="1.0.1"; sha256="18jzs0sq21qhldm86mgx7yb9kl473vv1aljl9hm4560xy5pd5fnb"; depends=[rgdal rgeos sp]; };
   ShapeSelectForest = derive2 { name="ShapeSelectForest"; version="1.3"; sha256="1vvfl1ldrn0l9w38hx0hhszvj5a2dpmfl6ljzw7f0ji181lrx96m"; depends=[coneproj raster rgdal]; };
   SharpeR = derive2 { name="SharpeR"; version="1.1.0"; sha256="0qhvpwv81jznqfzm7xysm051ckv8ilq7zhsysxc7wripnlj01c4m"; depends=[matrixcalc sadists]; };
   ShinyImage = derive2 { name="ShinyImage"; version="0.1.0"; sha256="0nhsaq6i9lr8gqpdkahw3qr0c0cb0qwc0nqpk1ism21l6zg6ahc9"; depends=[EBImage R6 shiny shinyjs]; };
-  ShinyItemAnalysis = derive2 { name="ShinyItemAnalysis"; version="1.2.3"; sha256="1l7x1aw1nfjcwv3b47x3hr5yvdhbxyn8gxipwx5asr6gc62jxlqf"; depends=[corrplot CTT data_table deltaPlotR difNLR difR DT ggplot2 gridExtra knitr latticeExtra ltm mirt moments msm nnet plotly psych psychometric reshape2 rmarkdown shiny shinyjs stringr WrightMap xtable]; };
+  ShinyItemAnalysis = derive2 { name="ShinyItemAnalysis"; version="1.2.6"; sha256="126rvy7pra60fz7pmc6n9liahhwrq313gbqrkvcpcwdv807l39c8"; depends=[corrplot CTT data_table deltaPlotR difNLR difR DT ggplot2 gridExtra knitr latticeExtra ltm mirt moments msm nnet plotly psych psychometric reshape2 rmarkdown shiny shinyjs stringr WrightMap xtable]; };
   ShinyTester = derive2 { name="ShinyTester"; version="0.1.0"; sha256="0wm4rl2p8ggw6v2chk9b6ygh5y8p8cwzbyra0nr0qr2ka97didp8"; depends=[dplyr purrr readr stringr tidyr visNetwork]; };
-  ShortForm = derive2 { name="ShortForm"; version="0.3.0"; sha256="03yxn535yv11l5ckw26jd0maf2k0xpvichid5vwn0vb1f6ryk1xn"; depends=[lavaan MplusAutomation]; };
+  ShortForm = derive2 { name="ShortForm"; version="0.4.0"; sha256="0fvv42n2dsl4602scad74w11vj1id9dzsj5szv7xnbgv8lzaawjm"; depends=[lavaan MplusAutomation]; };
   ShrinkCovMat = derive2 { name="ShrinkCovMat"; version="1.2.0"; sha256="1ybd8vm69y50lj2mkmcdyplxb689xfg4spbl129v8hlvhw69mzmy"; depends=[]; };
   SiER = derive2 { name="SiER"; version="0.1.0"; sha256="1ng6vnh30z6z1nvclsdzc9gdbrsrb2kqdqvs6fwm0j1zqlk12x0y"; depends=[]; };
   SiMRiv = derive2 { name="SiMRiv"; version="1.0.3"; sha256="1kzvbzmqcxs0sh23nmjd39zkg68kbnc5djpbjhqhn55qjdfx5776"; depends=[mco raster rgdal sp]; };
@@ -3507,6 +3580,7 @@ in with self; {
   SimComp = derive2 { name="SimComp"; version="3.2"; sha256="04rmpxasaa888p6f0rhhpvpqc39fppdkcwbq5sxcslx7bwc9w9z8"; depends=[mratios multcomp mvtnorm]; };
   SimCop = derive2 { name="SimCop"; version="0.7.0"; sha256="1yrdy77a9h14v92c63ng8phi2ig73wy4xjjdb75322grc0bd3jq6"; depends=[quadprog]; };
   SimCorMultRes = derive2 { name="SimCorMultRes"; version="1.5.0"; sha256="10afb3k4rvsmgfx6m1csb0pvnjba1d896llfh3ksmjzxglmvslgw"; depends=[evd]; };
+  SimCorrMix = derive2 { name="SimCorrMix"; version="0.1.0"; sha256="1fq1gjjjs2d91lvvpwlw1xqcr1kw10qzybzphpy6hniq1xx00nnj"; depends=[BB ggplot2 MASS Matrix mvtnorm nleqslv SimMultiCorrData triangle VGAM]; };
   SimDesign = derive2 { name="SimDesign"; version="1.9"; sha256="1pwci1n7psrsv4mbl1mw3806cilmf3y9v507cdlzcd8jxl354vj7"; depends=[foreach pbapply plyr]; };
   SimHaz = derive2 { name="SimHaz"; version="0.1"; sha256="04q4xyc1ki1zr3grm3khfg0kbykjy3j9qpg332l7pxp4j3wa3aw3"; depends=[survival]; };
   SimInf = derive2 { name="SimInf"; version="5.1.0"; sha256="0ylkz6vybwza7fk24f4gybwm4afp0kcx0hlbl05jpif9gmwx6n3s"; depends=[Matrix]; };
@@ -3515,9 +3589,11 @@ in with self; {
   SimRAD = derive2 { name="SimRAD"; version="0.96"; sha256="0ivvd3k04v1akbblxcjhlyc315z3ig7wjs0g3b37lvlfp54ppbrg"; depends=[Biostrings ShortRead zlibbioc]; };
   SimRVPedigree = derive2 { name="SimRVPedigree"; version="0.1.0"; sha256="1krdz4gxnqxj3wabc5hn7ayfqdfmpgg66zj09b3jnngcdaxkjlwb"; depends=[dplyr kinship2]; };
   SimReg = derive2 { name="SimReg"; version="3.0"; sha256="188q399xcrvjw7y7lf3hfbb7x0m0hc4zaf9i1w2c4xzswmvljd8r"; depends=[ontologyIndex ontologyPlot ontologySimilarity Rcpp]; };
+  SimRepeat = derive2 { name="SimRepeat"; version="0.1.0"; sha256="1vq82wlnas0jkl8hlj7dnnbn4y1a56lmszs4w7wya7acri92gkqm"; depends=[BB ggplot2 MASS Matrix nleqslv SimCorrMix SimMultiCorrData triangle VGAM]; };
   SimSCRPiecewise = derive2 { name="SimSCRPiecewise"; version="0.1.1"; sha256="0mhlx9m5db8a40wf275qh59345676m8bpjjmyx1v22f6m9p3b2n4"; depends=[]; };
   SimSeq = derive2 { name="SimSeq"; version="1.4.0"; sha256="068gg484w07qb4wajik2s3z79xfj0jg5l4pz69267dxi5kzd9fas"; depends=[fdrtool]; };
   SimTimeVar = derive2 { name="SimTimeVar"; version="1.0.0"; sha256="1x0lkgqwx1vz1gbyvy0hx20n638n30j0dny1iz5vs0cvviq3cdv8"; depends=[car corpcor ICC metafor miscTools mvtnorm plyr psych]; };
+  SimilaR = derive2 { name="SimilaR"; version="1.0.1"; sha256="1icm34g15c616q5ckf1d664kk6fchjbn4mw2d0bjshqsvlvn89ji"; depends=[BH Rcpp stringi]; };
   SimilarityMeasures = derive2 { name="SimilarityMeasures"; version="1.4"; sha256="1w4klcln4hy9vcik9csg7b3b8kk4raxgckwfrhqg089d80xbqsxj"; depends=[]; };
   Simile = derive2 { name="Simile"; version="1.3.3"; sha256="1izyjp18m1inac3svkf59z3lddrv44m7pdkhisgkr987xs8gdch4"; depends=[]; };
   SimpleTable = derive2 { name="SimpleTable"; version="0.1-2"; sha256="1rkybrp7zlb7cj37799npss1ldic0yf519q5l7a6ikal4yl1afyb"; depends=[hdrcde locfit MCMCpack]; };
@@ -3526,7 +3602,7 @@ in with self; {
   SimuChemPC = derive2 { name="SimuChemPC"; version="1.3"; sha256="06sxknaykikcgbw7qbbw1risg0sbaisb68vhfd7cl6sg0327dznk"; depends=[rcdk]; };
   SimultAnR = derive2 { name="SimultAnR"; version="1.1"; sha256="0jvmxwmbnx14h27b576dg9mw3c2z0w3m82f51f25zd1darcl06bj"; depends=[]; };
   SinIW = derive2 { name="SinIW"; version="0.2"; sha256="1z7rcjy0i09a9hjpjj1x8i46lv042l20lvb6b0pnsky2sx3v78pd"; depends=[fdrtool pracma]; };
-  SixSigma = derive2 { name="SixSigma"; version="0.9-51"; sha256="0101zdz2dqlazg7k8li762g58z0xds76s8nzjjfb3y2j5nqkbjga"; depends=[e1071 ggplot2 lattice nortest qcc reshape2 scales testthat xtable]; };
+  SixSigma = derive2 { name="SixSigma"; version="0.9-52"; sha256="07s4an2az2pgqhq9c08jrf6b95nrs1b3r1092d53n1ps8wbdmbln"; depends=[e1071 ggplot2 lattice nortest qcc reshape2 scales testthat xtable]; };
   SizeEstimation = derive2 { name="SizeEstimation"; version="1.1.1"; sha256="1rz57y76hzp880511kzm7nhxf201n0dr7ccip6slrjz784dl7s27"; depends=[MCMCpack msm]; };
   SkewHyperbolic = derive2 { name="SkewHyperbolic"; version="0.3-2"; sha256="10vilra5z884xinqkvk7ryi4nsq5zxlyn5qh23lsajba3b3qwhaw"; depends=[DistributionUtils GeneralizedHyperbolic RUnit]; };
   Skillings_Mack = derive2 { name="Skillings.Mack"; version="1.10"; sha256="0zxqiw87avw2rb2acj7mvpyfkf7iwnkshg73ib74y5ml9awmg2mw"; depends=[MASS matrixcalc]; };
@@ -3534,6 +3610,7 @@ in with self; {
   SkyWatchr = derive2 { name="SkyWatchr"; version="0.8-2"; sha256="0if44d79j2hlxdccn3jd7lrfbhrr09rfhfgds132syxprwkcb2mr"; depends=[htmlTable httr sp]; };
   Sleuth2 = derive2 { name="Sleuth2"; version="2.0-4"; sha256="18mh1svmb96hw3rjmgxlwzs7kdcvjkxf4zm8k4w0sxz94ks062i7"; depends=[]; };
   Sleuth3 = derive2 { name="Sleuth3"; version="1.0-2"; sha256="0b4g7j8a204wyvh0q9n1l4zrl9rk7ibyfijd49mjjdyg9zz4kbna"; depends=[]; };
+  SmartEDA = derive2 { name="SmartEDA"; version="0.1.0"; sha256="1wxj71fa91q2nxnl8l5iikgw6bqwphp8ymcnqisll1kp1w5f2g22"; depends=[ggplot2 gridExtra ISLR rmarkdown scales]; };
   SmartSVA = derive2 { name="SmartSVA"; version="0.1.3"; sha256="10a8s2znsg8ywqkq9fsxiyqfsprrx33pqissazp2vmabs11mg4np"; depends=[isva Rcpp RcppEigen RSpectra sva]; };
   SmartSifter = derive2 { name="SmartSifter"; version="0.1.0"; sha256="16rzma87k27qg6qy39mzywdj8pzkp7r9q7bpqyikazp3fk2nmfri"; depends=[mvtnorm rootSolve]; };
   SmarterPoland = derive2 { name="SmarterPoland"; version="1.7"; sha256="03vs6hcd96va9kfhl2yq77alnm33j1dxy79kgrx17hlijsy65qqv"; depends=[ggplot2 htmltools httr jsonlite rjson]; };
@@ -3542,6 +3619,7 @@ in with self; {
   SmoothHazard = derive2 { name="SmoothHazard"; version="1.4.1"; sha256="147wjxgxnijpmixrfyl8kd4scz2w1xb8dcwvpr60zg32nv22g17r"; depends=[lava mvtnorm prodlim]; };
   SmoothWin = derive2 { name="SmoothWin"; version="1.0.0"; sha256="19yd3gnanv8q8ab0x8ds61rznm5w71dri0liknylikiqgbqwxrcn"; depends=[msgps]; };
   SnakeCharmR = derive2 { name="SnakeCharmR"; version="1.0.7"; sha256="1i8g0p51mp0j46434zzhmijwwk1v6my7rdw8j41ac3b4as3g0c73"; depends=[jsonlite Rcpp stringr]; };
+  SnakesAndLaddersAnalysis = derive2 { name="SnakesAndLaddersAnalysis"; version="2.1.0"; sha256="0h3664h6d32q201qfyv9y2gg4fhg3azdpwpmx4qfbc10hsc1ghl9"; depends=[]; };
   SnowballC = derive2 { name="SnowballC"; version="0.5.1"; sha256="0kbg33hy6m2hv9jspyx6naqmk2q6h2zmvvczjmkwqvlhzlj0c5s4"; depends=[]; };
   SoDA = derive2 { name="SoDA"; version="1.0-6"; sha256="0sh2dan4ga2k14rirnkvgzsvbksx1k4ika5gkf5cy247rjkqnpj0"; depends=[]; };
   SobolSequence = derive2 { name="SobolSequence"; version="1.0"; sha256="1vmp5jix3zvasvdirv8m88jc0cd8f34b4m1jvhs8g3v9lk8pxrrr"; depends=[Rcpp]; };
@@ -3557,8 +3635,9 @@ in with self; {
   SorptionAnalysis = derive2 { name="SorptionAnalysis"; version="0.1.0"; sha256="0drns1ajcga5z56hcgjxld1riwjn7vli8k1ma1xqifpy1qwy7ci6"; depends=[]; };
   SortableHTMLTables = derive2 { name="SortableHTMLTables"; version="0.1-3"; sha256="1jgrqsm0cj8qlk0s4qn3b83w96mgpp5gmhgcg9q2glc72v8c4ljh"; depends=[brew testthat]; };
   SoundexBR = derive2 { name="SoundexBR"; version="1.2"; sha256="0chc332v3wcz30v70yvdxhvcfdmvf4fj193cn00gl899xfxal89p"; depends=[]; };
+  SourceSet = derive2 { name="SourceSet"; version="0.1.0"; sha256="0vibh0v9j8sfsh8535g03q8m28881fagkkra8xxazf3zv5197p11"; depends=[graph gRbase gtools igraph plyr progress reshape2 scales]; };
   SoyNAM = derive2 { name="SoyNAM"; version="1.4"; sha256="0b48nm3xgvzws9222fmq07chqx4yllz4qjgzxg156s0waxfrjjfi"; depends=[lme4 NAM reshape2]; };
-  SpATS = derive2 { name="SpATS"; version="1.0-6"; sha256="04ahj3haaxrpxijxcq2n922li3g6az29ibsmdhxf72dnr5v2qn63"; depends=[data_table fields plot3Drgl spam]; };
+  SpATS = derive2 { name="SpATS"; version="1.0-7"; sha256="0gnv0hw5h4fin4vy6q8rjb1pry3c1vs0djkhbbkjvh52ycwlxjm7"; depends=[data_table fields plot3Drgl spam]; };
   SpaCCr = derive2 { name="SpaCCr"; version="0.1.0"; sha256="0qm1fr6nnax3i1i77fi73x1z8db557avh6kivs0nskb1dfj8ri4m"; depends=[abind dplyr ggplot2 Rcpp RcppArmadillo tidyr]; };
   SpaDES = derive2 { name="SpaDES"; version="2.0.1"; sha256="00l05kc7mgip41r8yqq3nk2mr5i0acal2b4man5lsgb5vblp4ij9"; depends=[quickPlot reproducible SpaDES_addins SpaDES_core SpaDES_tools]; };
   SpaDES_addins = derive2 { name="SpaDES.addins"; version="0.1.1"; sha256="0sipgq00lacy7yk81crr8h7xfm4vs4h66w6rqsll8i7di19g13cj"; depends=[devtools magrittr miniUI rstudioapi shiny SpaDES_core stringi]; };
@@ -3566,14 +3645,16 @@ in with self; {
   SpaDES_tools = derive2 { name="SpaDES.tools"; version="0.1.1"; sha256="0qfwcgy0nx4754zqi8fhk6q11yv9c5w6pa0wds6szga53hwwdi8g"; depends=[bit checkmate CircStats data_table digest fastdigest fastmatch ff ffbase fpCompare httr magrittr quickPlot RandomFields raster Rcpp reproducible sp]; };
   SpaTimeClus = derive2 { name="SpaTimeClus"; version="1.0"; sha256="1l204b8yd11pxwcb026xy39f4lps4sqk6mml8cybnjch8clk9djc"; depends=[Rcpp RcppArmadillo]; };
   SpadeR = derive2 { name="SpadeR"; version="0.1.1"; sha256="0iy2rkq4vvps1a73kqq37zpsyl4pvl3vh07dwvpfhvp7f8nxbx99"; depends=[]; };
+  SparkR = derive2 { name="SparkR"; version="2.3.0"; sha256="0dm4yqpppf2chpcsgsj812vx8mzgmwsc4jwkilrpgxfr6s54imgi"; depends=[]; };
   SparseDC = derive2 { name="SparseDC"; version="0.1.17"; sha256="0gsfj8631s67a0r9qjjll4rbb57nzk5fwm5bbggvf0027b9hk0pp"; depends=[]; };
   SparseFactorAnalysis = derive2 { name="SparseFactorAnalysis"; version="1.0"; sha256="0lgfvydxb86r5hks1mf0p0yhgpx8s8fbkc3q6dimc728rw26qcv5"; depends=[directlabels ggplot2 MASS proto Rcpp RcppArmadillo truncnorm VGAM]; };
   SparseGrid = derive2 { name="SparseGrid"; version="0.8.2"; sha256="057xbj2bhjm9i32kn39iscnqqdsvsmq0b8c92l8hnf9avf1sx10x"; depends=[]; };
   SparseLearner = derive2 { name="SparseLearner"; version="1.0-2"; sha256="1qxycxpch2m2yyk97210gdzsizhlinc0hkhk5ak00rdgkrsxxc0k"; depends=[glmnet lqa mlbench qgraph RankAggreg SIS SiZer]; };
   SparseM = derive2 { name="SparseM"; version="1.77"; sha256="0p6ljma2h12cq1xmy0cxb48ih8dhxxbnwkqzvx3cckxf2kprycm9"; depends=[]; };
   SparseTSCGM = derive2 { name="SparseTSCGM"; version="2.5"; sha256="004hbk5fdd5b5hdvg25wl1908pfya26brm2pz00zypfvis99lps3"; depends=[abind flare glasso longitudinal MASS mvtnorm network QUIC]; };
-  SpatMCA = derive2 { name="SpatMCA"; version="1.0.0.2"; sha256="1xm29ybbdxspj2ylkkd9qh17sizz1gkc3l34y3d0ivmxz64vn6pj"; depends=[fields MASS Rcpp RcppArmadillo RcppParallel]; };
-  SpatPCA = derive2 { name="SpatPCA"; version="1.1.1.2"; sha256="0v694bmfgwhpz2072f7gshqasd2vywvrbk5ncwq74xk5qrcpx9i7"; depends=[Rcpp RcppArmadillo RcppParallel]; };
+  SpatEntropy = derive2 { name="SpatEntropy"; version="0.1.0"; sha256="0nk399anjhsdki9cra650ynk6sa0366495470sawxcfs3vxmlzrl"; depends=[spatstat]; };
+  SpatMCA = derive2 { name="SpatMCA"; version="1.0.1.0"; sha256="1sjrm1md4lmhyq1yw3np4llkgdskw3mk667jr0k3isjmr6z88gxa"; depends=[fields MASS Rcpp RcppArmadillo RcppParallel]; };
+  SpatPCA = derive2 { name="SpatPCA"; version="1.2.0.0"; sha256="12b9ijbzzkhwrs7q0z5srawiskr3gdjvgdsrmsn4dhyqdzdbi8b6"; depends=[Rcpp RcppArmadillo RcppParallel]; };
   SpatialAcc = derive2 { name="SpatialAcc"; version="0.1-2"; sha256="1nyxxwvlnhz78pw31dqijp1crlar5nak5934s4h0a4sajv9syif2"; depends=[]; };
   SpatialBall = derive2 { name="SpatialBall"; version="0.1.0"; sha256="09iy1smfqnb0rd2s9a1wqgscb1plwcwwph6a8215l4zrs6svszv2"; depends=[dplyr ggplot2 hexbin lubridate RColorBrewer]; };
   SpatialEpi = derive2 { name="SpatialEpi"; version="1.2.2"; sha256="172i4khjb2fh818bq7wdfdm79fwxjwi60nqfj69dgbgcaww55ffr"; depends=[maptools MASS Rcpp RcppArmadillo sp spdep]; };
@@ -3581,7 +3662,7 @@ in with self; {
   SpatialExtremes = derive2 { name="SpatialExtremes"; version="2.0-6"; sha256="14clsb7w7p39ak00127lfa7irl67vqydvafkj8vs8qn9i3kaj6iz"; depends=[fields maps]; };
   SpatialFloor = derive2 { name="SpatialFloor"; version="1.0.3"; sha256="14nbl0kb4c46kxvw900d972n78x6q0y9039l6p4r9w2i9ir7g1yh"; depends=[fields reshape2]; };
   SpatialNP = derive2 { name="SpatialNP"; version="1.1-2"; sha256="048zzyy3hav8qg0zad2fsv5z1avdppwwdcv0rc6j635wzhdmsl1j"; depends=[]; };
-  SpatialPack = derive2 { name="SpatialPack"; version="0.2-3"; sha256="1gs0x3wj3hj663m6kszwhy3ibcx0lrslr127miy1rhz8683ij71c"; depends=[]; };
+  SpatialPack = derive2 { name="SpatialPack"; version="0.3"; sha256="12mx62drwqx351x4jfvv87rxr28ggz7iw83firkzr5xwfwfgr02c"; depends=[]; };
   SpatialPosition = derive2 { name="SpatialPosition"; version="1.2.0"; sha256="140fg3bjj7383nrdbgnk9lccj4yjq65rkprqpmf4q0mwbc89mmqc"; depends=[raster rgdal rgeos sp]; };
   SpatialTools = derive2 { name="SpatialTools"; version="1.0.2"; sha256="0n8l4k0dm9gwirhxwrajv5gx502px9qzlqi6skzx0k32hmymnazh"; depends=[Rcpp RcppArmadillo spBayes]; };
   SpatialVx = derive2 { name="SpatialVx"; version="0.6-2"; sha256="12kwwhxlvlkss1rg9ipaw97l5kw50m7crpcpv1y420sf14873j7r"; depends=[boot CircStats distillery fastcluster fields maps smatr smoothie spatstat turboEM waveslim]; };
@@ -3593,9 +3674,9 @@ in with self; {
   SphericalCubature = derive2 { name="SphericalCubature"; version="1.4"; sha256="14xrxhmhavz82rcixnyharnbrvdzs6rh7gbxihaxh431d90w2q3k"; depends=[abind cubature mvmesh SimplicialCubature]; };
   SphericalK = derive2 { name="SphericalK"; version="1.2"; sha256="18py4ylm10s75pihjvcy7w948379zy9l9azriw7g7pyp7px29wda"; depends=[]; };
   SportsAnalytics = derive2 { name="SportsAnalytics"; version="0.2"; sha256="1vb080ak1mfvr6d0q9i3r8hd547ba80bavjdcri0gclqqcjf1ach"; depends=[]; };
-  SqlRender = derive2 { name="SqlRender"; version="1.4.6"; sha256="13ykdm3lf4jxyjxa5rspgssi92c0fmpv011dx4qnbpc4yzglqbgb"; depends=[rJava]; };
+  SqlRender = derive2 { name="SqlRender"; version="1.4.8"; sha256="08q9h6aca7vzgy1ipvghvrspdvmzlgmvhjgibcn38lfyl09xyfas"; depends=[rJava]; };
   StAMPP = derive2 { name="StAMPP"; version="1.5.1"; sha256="0yyssscx3l4csban66gb4q35h37gf7pqvvycfsy56n96pnnlrgkf"; depends=[adegenet doParallel foreach pegas]; };
-  StMoMo = derive2 { name="StMoMo"; version="0.4.0"; sha256="0zkcp19a76dm29fba5r96dxly709sic2k5p9hzc70cvwjhwhfr7v"; depends=[fanplot fields forecast gnm MASS RColorBrewer reshape2 rootSolve]; };
+  StMoMo = derive2 { name="StMoMo"; version="0.4.1"; sha256="1c4v2gjipq1y4crc6bqvz2x5c02bl10mh9jacg8dqb2dffsh5y44"; depends=[fanplot fields forecast gnm MASS RColorBrewer reshape2 rootSolve]; };
   StMoSim = derive2 { name="StMoSim"; version="3.0"; sha256="18mdgpn0x6338zzvc7nwccz6ypqmlpv7pzcy5fwx5y2wfkmdp4rm"; depends=[Rcpp RcppParallel]; };
   StVAR = derive2 { name="StVAR"; version="1.1"; sha256="0wz5f5i9927fs1s8yczwqs022k912220m28l1sv5f0r081iv656i"; depends=[ADGofTest matlab MCMCpack numDeriv]; };
   StableEstim = derive2 { name="StableEstim"; version="2.1"; sha256="0agi3bfp1xy5pfxxb9ib6xn434agmplgn7kg47nhbh47vf57vang"; depends=[fBasics MASS Matrix numDeriv stabledist testthat xtable]; };
@@ -3605,7 +3686,7 @@ in with self; {
   StanHeaders = derive2 { name="StanHeaders"; version="2.17.2"; sha256="11fcc59z63rkgk6pp5vhb5avjlbhbjs2v5mn496ai9jms4223ivc"; depends=[]; };
   StandardizeText = derive2 { name="StandardizeText"; version="1.0"; sha256="0s267k2b109pcdiyd26gm4ag5afikrnnb55d3cs6g2fvzp744hfp"; depends=[]; };
   Stat2Data = derive2 { name="Stat2Data"; version="1.6"; sha256="0pk68ffc6ffpddfpf9wi8ch39h6k3r80kldld3z5pnql18rc8nvx"; depends=[]; };
-  StatCharrms = derive2 { name="StatCharrms"; version="0.90.7"; sha256="082pwqn08b9ij0vmc68sf43fin2hp16mlpi3d0i9ynpda9v22nr8"; depends=[cairoDevice car clinfun coxme gWidgets gWidgetsRGtk2 lattice multcomp nlme R2HTML RGtk2 RSCABS survival]; };
+  StatCharrms = derive2 { name="StatCharrms"; version="0.90.9"; sha256="1r11zzfzhps234nzkpxw0qw0phjcdww8dkh2l6z6qkvc4495x0zh"; depends=[cairoDevice car clinfun coxme gWidgets gWidgetsRGtk2 lattice multcomp nlme R2HTML RGtk2 RSCABS survival]; };
   StatDA = derive2 { name="StatDA"; version="1.6.9"; sha256="01bjygis14b3yfsfkjbvy0zlhjxysjf46cfcw8p4a4lwik3qp03b"; depends=[cluster e1071 geoR MASS MBA mgcv rgl robustbase sgeostat xtable]; };
   StatDataML = derive2 { name="StatDataML"; version="1.0-26"; sha256="1lcckapbhqdbg6alnhm2yls66lnkxnxamdlzx6pbfqv1dhsy36gf"; depends=[XML]; };
   StatMatch = derive2 { name="StatMatch"; version="1.2.5"; sha256="1162yqqrxkbpchdxdibpk5ccv55krvh9j150jgr047zzghr9ansa"; depends=[clue lpSolve proxy RANN survey]; };
@@ -3633,7 +3714,7 @@ in with self; {
   StructFDR = derive2 { name="StructFDR"; version="1.2"; sha256="00h3mx7kf01snngkcarhyidqiycvnjhcs81x3kprgp6597md7ph1"; depends=[ape cluster dirmult matrixStats nlme]; };
   SubCultCon = derive2 { name="SubCultCon"; version="1.0"; sha256="08q6k4nsv3gl5qk87s87smdg047yc2a4i7kg0fp08i7q7h62jkvz"; depends=[]; };
   SubLasso = derive2 { name="SubLasso"; version="1.0"; sha256="12m7ynlqhikjhavd12bhsd04s9cpv8aq5xgm875i10mb3ldpd1bd"; depends=[glmnet gplots psych]; };
-  SubTite = derive2 { name="SubTite"; version="2.0.1"; sha256="1wmsks2dn3lv2m818g57115aqi821bs6ik94hx75knkfvw1835ys"; depends=[Rcpp RcppArmadillo]; };
+  SubTite = derive2 { name="SubTite"; version="2.0.3"; sha256="1i95f3x1nkhx9kqzxwvi15x6yq7mcdihzjxh60la6jvq5nscfi3l"; depends=[Rcpp RcppArmadillo]; };
   SubVis = derive2 { name="SubVis"; version="2.0.2"; sha256="1nb3zgm6i5lwfwdrn8mk3wkg8a4ldfvs27ai8v46l4316qc1fa9p"; depends=[Biostrings shiny]; };
   SubgrpID = derive2 { name="SubgrpID"; version="0.11"; sha256="1by23gdkbls7l5xa9nl055nbm0d3138pmfmasqmcy42h62wf7dw6"; depends=[AIM ggplot2 glmnet Matrix rpart survival]; };
   SubpathwayGMir = derive2 { name="SubpathwayGMir"; version="1.0"; sha256="1rw94idhbnaszr2xv1wgnjcxlnxkml912pvmqh2a1nqpwca5mscy"; depends=[igraph XML]; };
@@ -3643,9 +3724,10 @@ in with self; {
   SunterSampling = derive2 { name="SunterSampling"; version="1.0.1"; sha256="0qfld3j8xlpgp7c58zqw6gzm38m4d740lvdj5vmcflfcc6ja98sf"; depends=[]; };
   SuperExactTest = derive2 { name="SuperExactTest"; version="1.0.0"; sha256="184s0pnwv9irqjlv24svfz3ami559ln03wjknyj67pwi4pfbzz87"; depends=[]; };
   SuperGauss = derive2 { name="SuperGauss"; version="1.0"; sha256="1yqskaz4zsx87mcb9p7081h2lilaiwa3213yxlkyihyans7gnmp8"; depends=[fftw Rcpp RcppEigen]; };
-  SuperLearner = derive2 { name="SuperLearner"; version="2.0-22"; sha256="1yajqqsxfrp9ybaa8ffwdrbwm3rfy5pgp6ma1ak43qg3plclllyr"; depends=[cvAUC nnls]; };
+  SuperLearner = derive2 { name="SuperLearner"; version="2.0-23"; sha256="04bsgxdczw5gr8mkyxgzrsawv2zfcab5jd85azac3m2n08402v44"; depends=[cvAUC nnls]; };
   SuperRanker = derive2 { name="SuperRanker"; version="1.1.0"; sha256="19cfz89557ygf5dvvqykmxcr72sfa0s2d37pplp6iwbhkl4wfw04"; depends=[prodlim Rcpp]; };
   SuppDists = derive2 { name="SuppDists"; version="1.1-9.4"; sha256="1ffx8wigqqvz2pnh06jjc0fnf4vq9z2rhwk2y3f9aszn18ap3dgw"; depends=[]; };
+  SurfaceTortoise = derive2 { name="SurfaceTortoise"; version="0.1.0"; sha256="0cw2nsqc9dx36svb49pqkmrxwk5hhbih206mwwkzfyavswxd2lpv"; depends=[gstat gtools raster rgdal rgeos sp]; };
   Surrogate = derive2 { name="Surrogate"; version="0.6"; sha256="18cqcnzf64wk33qshsamija0r9xpnca0w2a8qz1ikj9r21vabhhw"; depends=[lattice latticeExtra lme4 logistf MASS mixtools msm nlme OrdinalLogisticBiplot rgl rms survival]; };
   SurrogateTest = derive2 { name="SurrogateTest"; version="1.0"; sha256="0dw8ic2rskwhj9f013q0j5my7qfsqihfis93frrlz4qag68jddqn"; depends=[survival]; };
   SurvCorr = derive2 { name="SurvCorr"; version="1.0"; sha256="01rqdl503q1qnkn49iqnsjzis6azdsfi6s2hjky5k2zd6c9g18k5"; depends=[fields survival]; };
@@ -3655,18 +3737,19 @@ in with self; {
   SurvRegCensCov = derive2 { name="SurvRegCensCov"; version="1.4"; sha256="0ipr7lajnrklk963lrlgx946l6r191q3bfif4njkdmw0x797nzm2"; depends=[numDeriv survival]; };
   Survgini = derive2 { name="Survgini"; version="1.0"; sha256="1gxkdv2j1njbgnwb52vyhz7p2lrcg3hp6sry3kyhp4wkvf6gnhxi"; depends=[survival]; };
   SvyNom = derive2 { name="SvyNom"; version="1.1"; sha256="1jym2x6nd9a3y7nk5hflqpy54gs67y4sqqspkvkalf5l2cc64did"; depends=[Hmisc rms survey survival]; };
-  SwarmSVM = derive2 { name="SwarmSVM"; version="0.1-2"; sha256="1997nbczgf5xkvj257fa211wxl85lq4jpybjl2q4hajn05ahq7yp"; depends=[BBmisc checkmate e1071 kernlab LiblineaR Matrix SparseM]; };
+  SwarmSVM = derive2 { name="SwarmSVM"; version="0.1-4"; sha256="1b0h1jfywsrfdj8dkbnlzvh7654rycagxij9jbzb65g6swss6ajx"; depends=[BBmisc checkmate e1071 kernlab LiblineaR Matrix SparseM]; };
   SweaveListingUtils = derive2 { name="SweaveListingUtils"; version="0.7.7"; sha256="04yxhphf069y29b40i34kr4hvlcv8kgr6kqc2vdz2a40564fdsjb"; depends=[startupmsg]; };
   SwissAir = derive2 { name="SwissAir"; version="1.1.4"; sha256="1avc32q7nbwjkcbml7z05car6khv1ghcz3miw0krm8i53w032c6f"; depends=[]; };
   SyNet = derive2 { name="SyNet"; version="2.0"; sha256="0mb9dscddkvmkf7l3bbcy4dlfmrvvy588vxdqy5dr783bpa5dkiw"; depends=[tkrplot]; };
   SymTS = derive2 { name="SymTS"; version="1.0"; sha256="17vhm00zd9yxl6li36bsfkm4rsizjsm93ibrzgqnkl72sqmmlwfi"; depends=[]; };
+  SympluR = derive2 { name="SympluR"; version="0.3.0"; sha256="0a3irbk5bh3af8rv4l4sh3ymj3icyqjv5akzmx6rrp6pr3mgq6c6"; depends=[httr jsonlite plyr readr]; };
   SyncMove = derive2 { name="SyncMove"; version="0.1-0"; sha256="1jlnsj5v8y5pijfkww7ng7nkwvj93naw29wcxxj130ww5qk7qk1z"; depends=[]; };
   SyncRNG = derive2 { name="SyncRNG"; version="1.3.0"; sha256="0sywfmmy6mq6qsxkxjc67665snn1jds01j3h7ni1200igja139g2"; depends=[]; };
   SynchWave = derive2 { name="SynchWave"; version="1.1.1"; sha256="127hllvig8kcs9gr2q14crswzhacv6v2s4zrgj50qdyprj14is18"; depends=[fields]; };
   SynergizeR = derive2 { name="SynergizeR"; version="0.2"; sha256="0z32ylrjjvp8kr6lghhg57yq1laf9r0h8l3adysvis8bbpz2q2sj"; depends=[RCurl RJSONIO]; };
   Synth = derive2 { name="Synth"; version="1.1-5"; sha256="1cfvh91nz6skjk8jv04fhwv3ga9kcsfgq3mdy8lx75jkx16zr0pk"; depends=[kernlab optimx]; };
   T2EQ = derive2 { name="T2EQ"; version="1.1"; sha256="1skkkryw63pfx1xslia1lczb2psja6v6hcbph4isdcksb4l4pcig"; depends=[]; };
-  TAM = derive2 { name="TAM"; version="2.8-21"; sha256="1iv2nqbf0k3d0cs79imf22hg7rk26q7kr7kasglvlw5gmc07cnwx"; depends=[CDM coda mvtnorm Rcpp RcppArmadillo sfsmisc]; };
+  TAM = derive2 { name="TAM"; version="2.10-24"; sha256="1ax7b7q4slwcjamapbmnaaahrwdhrcbasjjgycdk5d7gzrzyygnx"; depends=[CDM coda MASS mvtnorm Rcpp RcppArmadillo sfsmisc]; };
   TANDEM = derive2 { name="TANDEM"; version="1.0.2"; sha256="1h6m6aq2b5m9gdy4nck4dxv75gv50pfdhxx8xifgyv0d7n8czabq"; depends=[glmnet Matrix]; };
   TANOVA = derive2 { name="TANOVA"; version="1.0.0"; sha256="0c2mrahchwagisrkjl5l1s0mv0ny80kngq8dz0fjj9lwxwqwvwa5"; depends=[MASS]; };
   TAQMNGR = derive2 { name="TAQMNGR"; version="2016.12-1"; sha256="1b3v30zi6ssac866grhgki2bpzbk06pd8vrfya3zcc5anry699bm"; depends=[Rcpp]; };
@@ -3677,7 +3760,6 @@ in with self; {
   TCGA2STAT = derive2 { name="TCGA2STAT"; version="1.2"; sha256="15a5lh0nrdcxdwj7wj5m9rsvk1ygpp6wdjb4swilk91rb1lblikv"; depends=[CNTools XML]; };
   TCGAretriever = derive2 { name="TCGAretriever"; version="1.3"; sha256="0mi8j7k2b1sx75ka8ympydqpk8jqp8wz8dyf4vk4776fra7bq24p"; depends=[httr]; };
   TCIApathfinder = derive2 { name="TCIApathfinder"; version="1.0.2"; sha256="1fgjmz297jckdb0xsly1scq5n8y8awfgdkr4yfml4lim2mkdsigx"; depends=[httr jsonlite]; };
-  TDA = derive2 { name="TDA"; version="1.6"; sha256="1i0jgj72rpxn7icgl5f43c7lyq4jghmz4r9jn7bxa5kbavc8asy3"; depends=[BH FNN igraph Rcpp RcppEigen scales]; };
   TDAmapper = derive2 { name="TDAmapper"; version="1.0"; sha256="0cxgr2888v8azgdr3sg4vlcdyivkrxkk6dsp1ahv4frrwvg2z09k"; depends=[]; };
   TDCor = derive2 { name="TDCor"; version="0.1-2"; sha256="18085prcwhl5w717f1f7jcqskw2jvigvjjs2l5y6106ibiam6hxx"; depends=[deSolve]; };
   TDD = derive2 { name="TDD"; version="0.4"; sha256="193y8brybkjsajrbnlx1sdnw1wyyn9rhlm5wvp4aamqhvi8z13vn"; depends=[pracma RSEIS signal]; };
@@ -3694,7 +3776,7 @@ in with self; {
   TFDEA = derive2 { name="TFDEA"; version="0.9.8.3"; sha256="0qg4nhlqqj7hc8lg732zz8klbbp3yksnq8q8n4ml3jz8gadrpyj7"; depends=[lpSolveAPI]; };
   TFMPvalue = derive2 { name="TFMPvalue"; version="0.0.6"; sha256="1892jmgqywm0jp5l5k88brp4h8szkbi9bxi0v1jni1929qnsmqyf"; depends=[Rcpp]; };
   TFX = derive2 { name="TFX"; version="0.1.0"; sha256="0xrjdbvg0ng4i0s8ql1pfyma10x4n045spilkb05750677r5j44p"; depends=[XML]; };
-  TFisher = derive2 { name="TFisher"; version="0.1.0"; sha256="1fvqgy9djhcyrnvvbb3r4p7p3206qsm6yrnv444x48gmadl3mfym"; depends=[mvtnorm sn]; };
+  TFisher = derive2 { name="TFisher"; version="0.2.0"; sha256="0vz74ww1lf1prfwz74hfsi3a8nzq8ss7aqjr85c1d87vss2796xx"; depends=[Matrix mvtnorm sn]; };
   TH_data = derive2 { name="TH.data"; version="1.0-8"; sha256="17csnwyk2f3d47nghkfy9wly5kff8zhdcfwfml7509hjrjgi13s7"; depends=[MASS survival]; };
   TIMP = derive2 { name="TIMP"; version="1.13.0"; sha256="0b6g2afwjz2m7bnfhx1pjmq6x1ghjxgrwi6hz1l867qa4i2yx5hx"; depends=[colorspace deSolve fields gclus gplots minpack_lm nnls]; };
   TITAN2 = derive2 { name="TITAN2"; version="2.1"; sha256="0cxcgkf776411ln5wbfdyjxa42jw473vcq1kns6k6p8dpm1y91c2"; depends=[]; };
@@ -3703,12 +3785,12 @@ in with self; {
   TLBC = derive2 { name="TLBC"; version="1.0"; sha256="08w187akbhfbz6nrrf7avf02lrhgj7bbrjmim9gkh4wlbjhzvw67"; depends=[caret HMM randomForest signal stringr]; };
   TLMoments = derive2 { name="TLMoments"; version="0.7.2.1"; sha256="1xgkbdnh79dj54jg5kf0c5kwykcvjaf4y16yyqf0vcc7aand6a3y"; depends=[hypergeo Rcpp]; };
   TLdating = derive2 { name="TLdating"; version="0.1.3"; sha256="12lmakk1zd6wqh1318pnl14i7km2hynjn4ymchfjr2bwmp45c1ra"; depends=[gplots Luminescence]; };
-  TMB = derive2 { name="TMB"; version="1.7.12"; sha256="06gky76x5bc95l22ygnnamgdym7ysnqg42fa213ic9ws2rjv40ni"; depends=[Matrix RcppEigen]; };
+  TMB = derive2 { name="TMB"; version="1.7.13"; sha256="1cbm8vgjfd00678h011jzf0zjkvbv427nkp0924g2xmiai6c15xc"; depends=[Matrix RcppEigen]; };
   TMDb = derive2 { name="TMDb"; version="1.0"; sha256="0bbcmsv7b3vvskhdjww03gbcgql44vsvyjz2fajy9w2vgkr6ga90"; depends=[httr jsonlite]; };
   TNC = derive2 { name="TNC"; version="0.1.0"; sha256="0639wvylmk9mapvmz79ij65g1phv3ylc683awi4pgaf9yfwlmjkn"; depends=[]; };
   TOC = derive2 { name="TOC"; version="0.0-4"; sha256="1c16d4wrzir6v3c323sck6r9yz6mv1a70xamlj5ha1ydmfixcza9"; depends=[bit raster rgdal]; };
-  TOSTER = derive2 { name="TOSTER"; version="0.3"; sha256="0yjvxb2a2vx1zjg8sqsbz5p1qpnv6kbxrnkz76m08s3hn6ql4jpx"; depends=[ggplot2 jmvcore R6]; };
-  TP_idm = derive2 { name="TP.idm"; version="1.2"; sha256="08n5bgc7gw1cbn9q7kd6jfxcwmb5mfjmdmhkhr35fi5ah21a57mh"; depends=[]; };
+  TOSTER = derive2 { name="TOSTER"; version="0.3.2"; sha256="1sfb01cvm9h3gd2x3bs8014czlgbnnwl5gy4frknz3b9qyazi2cy"; depends=[ggplot2 jmvcore R6]; };
+  TP_idm = derive2 { name="TP.idm"; version="1.5"; sha256="07rxn0mpar3p6blg8fd3kbvdngyz9h9n0r0lcljnfdajfzbysv7h"; depends=[]; };
   TPD = derive2 { name="TPD"; version="0.1.2"; sha256="1h8lgcrlsk68x2y01vgcn7dpq5q5180khz4csr8jbscbcdwljcl9"; depends=[ggplot2 gridExtra ks mvtnorm]; };
   TPEA = derive2 { name="TPEA"; version="3.1.0"; sha256="1yyc3q4dyf4d8m7wi851dnxf3xnvvfnvj28kl8z8py4r4jsb2hfy"; depends=[foreach igraph Matrix MESS RCurl XML]; };
   TPmsm = derive2 { name="TPmsm"; version="1.2.1"; sha256="1vynzb6qpp8785rdjyarhvwbkasviamhljjlnp4i0dds96wwdgx1"; depends=[KernSmooth]; };
@@ -3734,6 +3816,7 @@ in with self; {
   TSSQLite = derive2 { name="TSSQLite"; version="2015.4-1"; sha256="10z8s967wmapkb56hh2brb5bafgqr8flwh0sr72yqqv0ca2d06sc"; depends=[DBI RSQLite tframe tframePlus TSdbi TSsql]; };
   TSTr = derive2 { name="TSTr"; version="1.2"; sha256="0nljkqsrwzg7i82arpfrz2k9m1k1akin1akf01c5cadxq4rgarsf"; depends=[data_table stringdist stringr]; };
   TSTutorial = derive2 { name="TSTutorial"; version="1.2.3"; sha256="0hpk6k3lc72p8pdz5aad04lcjsz9k443h5gs09dc3i10wqw3yhxs"; depends=[MASS]; };
+  TSVC = derive2 { name="TSVC"; version="1.0.0"; sha256="1v2402shrsdighnhrphvqnsnwq0y4rpx7hg4bxpzqhcma5a3z1r2"; depends=[plotrix]; };
   TSclust = derive2 { name="TSclust"; version="1.2.4"; sha256="0dh6bybr5298cjz9fxfz7wbkp7f45d3r2zl9fb0wgngb6bd0cwfl"; depends=[cluster dtw KernSmooth locpol longitudinalData pdc wmtsa]; };
   TScompare = derive2 { name="TScompare"; version="2015.4-1"; sha256="0jmxnrbsdg368f29bp70rc9i88si5zjblbcn8rcjyn2k9vpd3q2f"; depends=[DBI tfplot tframe TSdbi]; };
   TSdata = derive2 { name="TSdata"; version="2016.8-1"; sha256="199dy4phc6z0kzbp4kks55519c3xgsx4dkwrypr9sg8xhprrwnib"; depends=[]; };
@@ -3747,12 +3830,13 @@ in with self; {
   TSsdmx = derive2 { name="TSsdmx"; version="2016.8-1"; sha256="06h1iwgshiq4bvly5l1nrddrh2knc82z2aqxh8ls9ipbs7qjsvaf"; depends=[DBI rJava RJSDMX tframe tframePlus TSdbi]; };
   TSsql = derive2 { name="TSsql"; version="2017.4-1"; sha256="0f71q6gqfx4r3ghsmr572cvkpmf2xf7kipf10ii99z1y23dxmsdn"; depends=[DBI tframe tframePlus TSdbi zoo]; };
   TSstudio = derive2 { name="TSstudio"; version="0.1.1"; sha256="1myvih5kd9pliczddjscqlq811dswqh9d8an8p5bi12h31w9pp30"; depends=[forecast lubridate magrittr plotly reshape2 xts zoo]; };
-  TTAinterfaceTrendAnalysis = derive2 { name="TTAinterfaceTrendAnalysis"; version="1.5.3"; sha256="0a1v0lsfcn32w5rwcjwmvh0rghamwr5a76rx3npa6kv0dymnvhxf"; depends=[e1071 lubridate multcomp mvtnorm nlme pastecs relimp reshape tcltk2 zoo]; };
+  TTAinterfaceTrendAnalysis = derive2 { name="TTAinterfaceTrendAnalysis"; version="1.5.4"; sha256="0r79qbmn4z9v4f4g737xs3mhc4dp6s6llkcz6c3hihwnq1vrvd7h"; depends=[e1071 lubridate multcomp mvtnorm nlme pastecs relimp reshape rkt tcltk2 zoo]; };
   TTCA = derive2 { name="TTCA"; version="0.1.1"; sha256="16slr4c2nwbchsg6fk5prq22p2v4cjxzk93wd3xggav2lzrf8a5h"; depends=[MASS Matrix quantreg RISmed tcltk2 VennDiagram]; };
   TTR = derive2 { name="TTR"; version="0.23-3"; sha256="07r62ngyzjl4aszdxnr3n6bnbcgcap32yhd430jsilicg8n06di1"; depends=[curl xts zoo]; };
   TTS = derive2 { name="TTS"; version="1.0"; sha256="0dhxj474dqjxqg0fc2dcx8p5hrjn9xfkn0rjn2vz3js92fa9ik9h"; depends=[mgcv sfsmisc]; };
   TTmoment = derive2 { name="TTmoment"; version="1.0"; sha256="0a4rdb4fk1mqnvvz0r15kni0g5vcj4xkkcwwv7c2gxc94xh5i5ih"; depends=[mvtnorm]; };
   TUWmodel = derive2 { name="TUWmodel"; version="0.1-8"; sha256="0c00jd2bq4i5fd55hj7l2grkpn990p0kmhbsh95b2zrzhbwgcjp6"; depends=[]; };
+  TVsMiss = derive2 { name="TVsMiss"; version="0.1.1"; sha256="1lvswq3syp2mfcf0higmyg5k5qhg1q6jaz8g75az3xajn4jylm0k"; depends=[glmnet Rcpp]; };
   Table1Heatmap = derive2 { name="Table1Heatmap"; version="1.1"; sha256="1nrabjivfsdhaqmlq365pskkrp99jqsxn8vy03mdnqn5h5zv7wvx"; depends=[colorRamps]; };
   TableMonster = derive2 { name="TableMonster"; version="1.2"; sha256="1cl70d0svzx8nsg6kw5dv50s9d6wxqkyg39d2d4vissbpilq6arn"; depends=[xtable]; };
   TableToLongForm = derive2 { name="TableToLongForm"; version="1.3.1"; sha256="135q0bgsm2yndrg3vpwmihbqlyf3qkm97i0jvcw6bf06p6b2fk41"; depends=[]; };
@@ -3760,13 +3844,13 @@ in with self; {
   TanB = derive2 { name="TanB"; version="0.1"; sha256="05y9j1a5nzqfpsw48gix5c4ds1cm80liad9wnwmddhbx4fda6p32"; depends=[fdrtool pracma]; };
   TaoTeProgramming = derive2 { name="TaoTeProgramming"; version="1.0"; sha256="1b36s5mpm5vbhzcwmvm8g5pl7vpn6rsl5cnglfy8kgm1q9nnr7ff"; depends=[]; };
   TapeR = derive2 { name="TapeR"; version="0.3.3"; sha256="0q5j7pn05z7hinwl5ypnrgh9ibsw6hvdfszjbnvavzab3bx8l6nn"; depends=[nlme pracma]; };
-  Tariff = derive2 { name="Tariff"; version="1.0.2"; sha256="0x139hhjjc1iyx9m3h5vdjh57q5kbc6x1mzjysz0ibnqpvhanjb2"; depends=[]; };
+  Tariff = derive2 { name="Tariff"; version="1.0.3"; sha256="1z1yzy4f9k0zxa6zx1vp5axgjszics5wa8niy6087jz3r7y2bwph"; depends=[]; };
   TauP_R = derive2 { name="TauP.R"; version="1.1"; sha256="10sjvcv70fjrsl5nnk9gm4sy7nhwm6aaq57gr37cb10v079ykmk1"; depends=[]; };
   TauStar = derive2 { name="TauStar"; version="1.1.3"; sha256="06iq3kjbhyx2i8qlhvamnlch4j32psgw8q0wnvs4js513r6c0cqn"; depends=[Rcpp RcppArmadillo]; };
   Taxonstand = derive2 { name="Taxonstand"; version="2.1"; sha256="0dvhiqggbv1by284fg38rcvvrxr9q3zp5gh51p1dh0129h73qj7i"; depends=[pbapply]; };
   TcGSA = derive2 { name="TcGSA"; version="0.10.5"; sha256="14gnlk2r0q9zjc3431v97s7ydcyycvl0xh8bmz08mhzi20snrkpq"; depends=[cluster ggplot2 gplots GSA gtools lme4 multtest reshape2 stringr]; };
   Tcomp = derive2 { name="Tcomp"; version="1.0.0"; sha256="0ddswvww9yk31gh8qb9nh0glf9w2mp3ny7zps79kdcnvbkrpcbfs"; depends=[forecast Mcomp]; };
-  TeXCheckR = derive2 { name="TeXCheckR"; version="0.4.4"; sha256="1dbs9i5py9amnx8l6z74py12v52d1b0wl0azcwqsgd8n76xlfqg1"; depends=[clisymbols crayon data_table fastmatch hunspell hutils magrittr readr rstudioapi stringi zoo]; };
+  TeXCheckR = derive2 { name="TeXCheckR"; version="0.5.1"; sha256="18p3hyrrglgn2fdn5q9p1ayb58nznpdr5sy9mniybzsxrmfhghax"; depends=[clisymbols crayon data_table fastmatch hunspell hutils magrittr rstudioapi zoo]; };
   TeachBayes = derive2 { name="TeachBayes"; version="1.0"; sha256="1mfhlkm7wp2i4hvc63xzfyw3q4z1xhlbi933pkqkbrhih94z4rz7"; depends=[dplyr ggplot2 gridExtra LearnBayes shiny]; };
   TeachNet = derive2 { name="TeachNet"; version="0.7"; sha256="1p39bsf846r7zwz4lrrv2bpyx9yrkqzrnacajwrz3jjqj6qpp6cn"; depends=[]; };
   TeachingDemos = derive2 { name="TeachingDemos"; version="2.10"; sha256="016pivvy8gzz8f3clnr5dg488rb1lf0l5s00c3v34gm1dgiw5x1f"; depends=[]; };
@@ -3785,6 +3869,7 @@ in with self; {
   ThreeArmedTrials = derive2 { name="ThreeArmedTrials"; version="1.0-0"; sha256="075cn99k06lgdd0cwl1i9242fcxwmd5malcyks0mmwjf9kzw00z2"; depends=[MASS numDeriv]; };
   ThreeGroups = derive2 { name="ThreeGroups"; version="0.21"; sha256="0hipxa45v9ysb2qbk33kjycnvqar7bff1ajxd6fzhpc3jc9hflw4"; depends=[]; };
   ThreeWay = derive2 { name="ThreeWay"; version="1.1.3"; sha256="17yl8zq029wiy3c0f4ssljx85dnm9n862wj2d24w7p0lxlvarmz6"; depends=[]; };
+  Thresher = derive2 { name="Thresher"; version="0.12.3"; sha256="1lrydxrv67ga73bzxyvnibmggr9kixq2jb6as4cv35rm93vs5mrg"; depends=[ade4 ClassDiscovery colorspace MASS movMF oompaBase PCDimension]; };
   ThresholdROC = derive2 { name="ThresholdROC"; version="2.6"; sha256="0ah102z6v9k5pxp3kbj5ffa9vhb7vi7axjkrg5qy5b4spnb71qsg"; depends=[MASS numDeriv pROC]; };
   TickExec = derive2 { name="TickExec"; version="1.1"; sha256="0v0m0wi49yw0ply19vnirl2zwnk61sxalx24l8cadvkssgs13509"; depends=[]; };
   TiddlyWikiR = derive2 { name="TiddlyWikiR"; version="1.0.1"; sha256="0vwwjdmfc8c0y2gfa8gls1mzvp29y39c9sxryrgpk253jj9px1kr"; depends=[]; };
@@ -3796,13 +3881,13 @@ in with self; {
   TimeMachine = derive2 { name="TimeMachine"; version="1.2"; sha256="1dz0j777wmd8mpkm2ryiahpcw6w88w429zjcw6m67pi20r1992cb"; depends=[]; };
   TimeProjection = derive2 { name="TimeProjection"; version="0.2.0"; sha256="04yr4cg2khkw9n3y3qk0ni1327k4pxm09zz2xg8mpjdvgi4p9yi3"; depends=[lubridate Matrix timeDate]; };
   TimeSeries_OBeu = derive2 { name="TimeSeries.OBeu"; version="1.2.2"; sha256="1a44fb29yacwgdiwaf5fpxzc5222cpi5mkv7l0dh43b6lh8f0j5k"; depends=[forecast jsonlite locfit trend tseries]; };
-  TimeVTree = derive2 { name="TimeVTree"; version="0.2.1"; sha256="0657y6s4w83yda36q1isr3zwd8vv9wminljdpivs8c89p0cwm3yb"; depends=[survival]; };
+  TimeVTree = derive2 { name="TimeVTree"; version="0.3.1"; sha256="124kg9zcq4b2j4qvg9f6gykbmzf69qjnnw54nv213ip2h4rdkv32"; depends=[survival]; };
   TimeWarp = derive2 { name="TimeWarp"; version="1.0.15"; sha256="1v6f6d1h9dc8npdy0ph5hhc4jjkzh8kac48lz4ahgngi9n0xwql9"; depends=[]; };
   Tinflex = derive2 { name="Tinflex"; version="1.2"; sha256="0rx4aj0bxiaaap3f43jzf3rlmrjp0g8aplg1ybccdyahx4p727bn"; depends=[]; };
-  TipDatingBeast = derive2 { name="TipDatingBeast"; version="1.0-7"; sha256="1lc63xghjny45nkrppf06lxvhbqnw9w5i06bmncm90hm0kam092b"; depends=[DescTools mclust TeachingDemos]; };
+  TipDatingBeast = derive2 { name="TipDatingBeast"; version="1.0-8"; sha256="1yx4jyh3a5s4h8anvd6pc73fzzcfdll4kp89b2xi0i01yswx22pd"; depends=[DescTools mclust TeachingDemos]; };
   TippingPoint = derive2 { name="TippingPoint"; version="1.1.0"; sha256="1f5bfag892yk47r1pw2rlvqz9qnkaz8radprpxh0q0knviw3f9fp"; depends=[bayesSurv ggplot2 RColorBrewer reshape2]; };
   Tlasso = derive2 { name="Tlasso"; version="1.0.1"; sha256="0flx4l7q3qndp77349ayfrszyim7mvs7yfvv3j9a1mhf3gdn9j14"; depends=[expm huge igraph rTensor]; };
-  Tmisc = derive2 { name="Tmisc"; version="0.1.17"; sha256="11i807ma7mhx9ba675ifs42b5gr2dgr2z2zx35ga0jav464n9vk0"; depends=[audio dplyr rstudioapi tibble]; };
+  Tmisc = derive2 { name="Tmisc"; version="0.1.19"; sha256="148kgy1pgn03f9h72i0zg62lamdnjl1hbwkzgrnr8p0zw5i0v1xm"; depends=[dplyr rstudioapi tibble]; };
   Tnseq = derive2 { name="Tnseq"; version="0.1.2"; sha256="1n76yzk15p8i5bp3k6fszmdqk2d791r4sb8hg5hb61zb92r7wqlj"; depends=[Biobase Ckmeans_1d_dp DESeq edgeR limma]; };
   ToolsForCoDa = derive2 { name="ToolsForCoDa"; version="1.0.2"; sha256="0x05phwm6gqw1pmars1ypg86sggflffw9g2d0lc5gfsy93nrg0rv"; depends=[calibrate HardyWeinberg MASS]; };
   TopKLists = derive2 { name="TopKLists"; version="1.0.6"; sha256="1hmm9g68scq8sqdb9axqn51p00mx6p6lw0fdgjljfi2q72xcqhq3"; depends=[gplots Hmisc]; };
@@ -3811,15 +3896,16 @@ in with self; {
   TraMineRextras = derive2 { name="TraMineRextras"; version="0.4.2"; sha256="1k2s3syx27vma5k0qcfx2579jyaxmx7crizkvz3wplhzdwag7wbk"; depends=[cluster RColorBrewer survival TraMineR]; };
   TrackReconstruction = derive2 { name="TrackReconstruction"; version="1.1"; sha256="1f2l3nshb6qrhyczw5rxqqzmsjxf0rvv3y78j8d9lv1nnd9kxzq5"; depends=[fields RColorBrewer]; };
   Trading = derive2 { name="Trading"; version="1.1"; sha256="1mzqck9n14xp16vflx1sx8lry0wjmx37hqv76ldj21xnk5zbrgil"; depends=[]; };
+  TrafficBDE = derive2 { name="TrafficBDE"; version="0.1.0"; sha256="1lnh9lbjxaradivnd1dkd2szggjh2r4v7klpyxb862dxsmdxxrqw"; depends=[caret data_table dplyr lubridate neuralnet RCurl zoo]; };
   Traitspace = derive2 { name="Traitspace"; version="1.1"; sha256="1wlrpnzb39vgkqy0ynbwlgrkkqgklrk6pw7f8p7p2i132qk2c291"; depends=[mclust permute]; };
   TrajDataMining = derive2 { name="TrajDataMining"; version="0.1.5"; sha256="0zdni9zqz3yy5ac2xfn3x2ad2lsmm7aw67nshv2sis828f9bsj9x"; depends=[geosphere ggplot2 magrittr rgdal rgeos RPostgreSQL sp spacetime trajectories xts]; };
   TransModel = derive2 { name="TransModel"; version="2.1"; sha256="0brlr4w5k8xsgbrizm7ha0cmq0kqzd2fcjpszq7gym844jj93csi"; depends=[MASS survival]; };
   TransP = derive2 { name="TransP"; version="0.1"; sha256="0p6pfcp8qjdah0lfhx0a396nxjzp3ckpda9hl3snpppx79iyww55"; depends=[]; };
   TransferEntropy = derive2 { name="TransferEntropy"; version="1.4"; sha256="0620axdj6qyskf7xszrs8j5d2l73ns4bgbdg03fvr8i7jmq70zb8"; depends=[BH Rcpp]; };
   TreatmentSelection = derive2 { name="TreatmentSelection"; version="2.1.1"; sha256="1pw64hx697jg2f1r2zd8y98g3ivj2gm8fnixcjfn4drsd0xixb4p"; depends=[binom ggplot2 survival]; };
-  TreeBUGS = derive2 { name="TreeBUGS"; version="1.3.0"; sha256="0k1z3c5vlgwwkalf2a35q6qqxg9nhkj9101jiqq408dlkahcl32f"; depends=[coda hypergeo logspline MASS Rcpp RcppArmadillo rjags runjags]; };
+  TreeBUGS = derive2 { name="TreeBUGS"; version="1.3.1"; sha256="0zwbp7z31hw6krwhf21wpy5ryfhf0hhipjrsmvbrb7d4sx9am2vb"; depends=[coda hypergeo logspline MASS Rcpp RcppArmadillo rjags runjags]; };
   TreePar = derive2 { name="TreePar"; version="3.3"; sha256="1sm518b1b4b1p0n5979qzvi2nacxpp3znbg9n75pf2a8z8wy6p4l"; depends=[ape deSolve Matrix subplex TreeSim]; };
-  TreeSearch = derive2 { name="TreeSearch"; version="0.0.6"; sha256="1v8mczvh2m5mrmhsgpajhmb7bmlplyraa2q08w6nz6fs5g9zg01c"; depends=[ape phangorn]; };
+  TreeSearch = derive2 { name="TreeSearch"; version="0.1.2"; sha256="0q25zw53whp1v57pkc50h2j7jb64jpip00s0qnmvdgncbrs4zhx5"; depends=[ape memoise phangorn R_cache Rdpack]; };
   TreeSim = derive2 { name="TreeSim"; version="2.3"; sha256="1y98m2whpx9kssgklw2d6prs6af9vcn8yva1l7lm1l509py1fn6h"; depends=[ape geiger]; };
   TreeSimGM = derive2 { name="TreeSimGM"; version="2.3"; sha256="0qwqvmmdn290llz5hmmx2q24jjmd1bxssrslzv31kzi1yq5h6w0b"; depends=[ape TreeSim]; };
   TrendInTrend = derive2 { name="TrendInTrend"; version="1.0.2"; sha256="0ymlgalddnfnb55s31bysm68yh823ys0rr5fgiic4a2ipnbfd8qf"; depends=[pROC rms]; };
@@ -3837,6 +3923,7 @@ in with self; {
   TurtleGraphics = derive2 { name="TurtleGraphics"; version="1.0-8"; sha256="0h77pj7rs3lrqi1y2dm1cbrmj13mjpq6y5nw8bcq0s2kbnkfw67l"; depends=[]; };
   TwoCop = derive2 { name="TwoCop"; version="1.0"; sha256="1ycxq8vbp68z82r2dfg2wkc9zk3bn33d94xay20g2p55lnzl2ifd"; depends=[]; };
   TwoPhaseInd = derive2 { name="TwoPhaseInd"; version="1.1.1"; sha256="0xsqiq4x7vmhif9j8zi1smbchwm4fsbgb10i4vxi0biijybizk9z"; depends=[survival]; };
+  TwoRegression = derive2 { name="TwoRegression"; version="0.1.2"; sha256="0qr9zrfmbh4c4207gvwa384q5njjx6nsl6lc58d25m8bkfalifpi"; depends=[data_table dplyr magrittr seewave]; };
   TwoStepCLogit = derive2 { name="TwoStepCLogit"; version="1.2.5"; sha256="050y7na91izg36gkwd8yn8rx3r39dk6qlvhd3137f3jnk4v00bck"; depends=[survival]; };
   UBCRM = derive2 { name="UBCRM"; version="1.0.1"; sha256="1h9f8wlxdgb67qqqnfhd9gfs4l2cq84vajhcb0psva0gwdd1yf6i"; depends=[]; };
   UBL = derive2 { name="UBL"; version="0.0.6"; sha256="0238irg7r3g248h4x4bdb308wvfqq99hwykywf4k2bssdd25kwjk"; depends=[automap gstat MBA randomForest sp]; };
@@ -3844,7 +3931,7 @@ in with self; {
   UNCLES = derive2 { name="UNCLES"; version="2.0"; sha256="0c61sm09dh0yfrjrjjnizg7qrf8xgc1zdldwhjh64kq8k8g5wa69"; depends=[class kohonen pdist]; };
   UNF = derive2 { name="UNF"; version="2.0.6"; sha256="0sr740dhfp7z9wvhajww43g5gz79x5y5dbflw5a813jgmiqm1jyq"; depends=[base64enc digest]; };
   UPMASK = derive2 { name="UPMASK"; version="1.1"; sha256="1qxajvld8g2mii12agypcm50fps9bai6d2wx6l0bv3srk80in7ai"; depends=[DBI MASS RSQLite]; };
-  USAboundaries = derive2 { name="USAboundaries"; version="0.3.0"; sha256="0rza1np6320xm9ppn458cwgz4zaq173m3g0ylvxbx1fxq716lqj6"; depends=[]; };
+  USAboundaries = derive2 { name="USAboundaries"; version="0.3.1"; sha256="1mqbxkv347307mbvn70929bi3l8wmiwrp86rxdgy45g2ddjdcb6s"; depends=[]; };
   USCF = derive2 { name="USCF"; version="0.1.3"; sha256="00ynxfd4lg8g4mspz5izxvgkj27l2i1cnp0z0dnkhsbxsg0161mj"; depends=[]; };
   USGSstates2k = derive2 { name="USGSstates2k"; version="1.0.1"; sha256="11yk0pkss23j6fmmxnjkjm9p24ln343y4hijigbrbvcnb21wj2py"; depends=[sp]; };
   UScancer = derive2 { name="UScancer"; version="0.1-2"; sha256="0p1kxw1phqq598ljk3njznc9kmgscc8gmwdrvx1scba9rr6n61kl"; depends=[rgdal]; };
@@ -3858,8 +3945,8 @@ in with self; {
   Umatrix = derive2 { name="Umatrix"; version="3.1"; sha256="131j7yrb0yzffl6gvirdj29zmsbwg8163i15gg9f0clfcrl1kcx6"; depends=[abind AdaptGauss deldir fields geometry ggplot2 pdist plyr png Rcpp reshape2 shiny shinyjs]; };
   Umpire = derive2 { name="Umpire"; version="1.3.4"; sha256="0kxndg96ah6sk1m216f2dmkg73w10lyg3rv7qsrnn145mznsdlw1"; depends=[]; };
   UncerIn2 = derive2 { name="UncerIn2"; version="2.0"; sha256="08cg7armz9xwwn1222aws98cwrvmw0s73pxpnszmrmrli1qs92k1"; depends=[automap fields geoR gstat RandomFields Rcpp sp]; };
-  UncertainInterval = derive2 { name="UncertainInterval"; version="0.3.0"; sha256="09x52g691qqsphy2sppm3852gak0ammsan4x306vd16yz9z0zlb2"; depends=[nloptr reshape2 rootSolve]; };
-  UniDOE = derive2 { name="UniDOE"; version="1.0.1"; sha256="1hjraksvxvxz4xbrq97x6xf3r0f90c484ix92zapylyxvkifx628"; depends=[Rcpp]; };
+  UncertainInterval = derive2 { name="UncertainInterval"; version="0.4.7"; sha256="0b7mx919lbj12zrj8l01wfrdpqiq7s7p9q25alp7yf4jpv9w4vfa"; depends=[nloptr reshape2 rootSolve]; };
+  UniDOE = derive2 { name="UniDOE"; version="1.0.2"; sha256="14jz4acrvbv59sbr7gya8g0z749vv0i04gl5wl0y4218byjvw6bs"; depends=[Rcpp]; };
   UniIsoRegression = derive2 { name="UniIsoRegression"; version="0.0-0"; sha256="0lmrmb9sbk41ak7sbcrzhfnijb1skgb4lqg9m9imc98lcp69h7z0"; depends=[Rcpp]; };
   Unicode = derive2 { name="Unicode"; version="10.0.0-1"; sha256="1kj4b29gj3p0wzlzxqn7lwzabair6np705va0nxissfybpmwalgk"; depends=[]; };
   UnivRNG = derive2 { name="UnivRNG"; version="1.1"; sha256="0vjsqc1y24z7zlclglh55kkxjhy0dc5gjsy427zdv95j58jbxa66"; depends=[]; };
@@ -3867,11 +3954,10 @@ in with self; {
   UsingR = derive2 { name="UsingR"; version="2.0-5"; sha256="1w1swcb5srb2b76agbh3mipz8b3vbhpnhxfhg7k546y38j3crafq"; depends=[HistData Hmisc MASS]; };
   V8 = derive2 { name="V8"; version="1.5"; sha256="155389k8laa48akg0bfsz65s4ddmpk0xpi1ha56z1sayv01vrrgc"; depends=[curl jsonlite Rcpp]; };
   VAR_etp = derive2 { name="VAR.etp"; version="0.7"; sha256="0py5my3ilhcmz44m15hh0d219l9cz7rda4a9gbmf8wh9cgvvj1s3"; depends=[]; };
-  VARSEDIG = derive2 { name="VARSEDIG"; version="1.5"; sha256="07zc1k3h9bh0vlqmxqgpniq8ccsfv99bp18h9x9gjl24dppc0xz7"; depends=[]; };
+  VARSEDIG = derive2 { name="VARSEDIG"; version="1.6"; sha256="1iddpll0fdspzxxf2g1d6zwfs0xrnbq5zrch2a9flrfz2iam6brk"; depends=[]; };
   VARsignR = derive2 { name="VARsignR"; version="0.1.3"; sha256="09mnf9hvsi4wx1c81yq97mzggwk6s7nka7awrws63icjybqjmra9"; depends=[HI minqa mvnfast]; };
   VARtests = derive2 { name="VARtests"; version="1.0.1"; sha256="19xmf4mg4v1fwd002ccinfbsbpcq9qfmzc2sf710mqv6i8ghv6jm"; depends=[Rcpp RcppArmadillo sn]; };
   VBLPCM = derive2 { name="VBLPCM"; version="2.4.4"; sha256="09b80313w2dljl009xzcfhdcl6flc8nqzw9pzgfbciwi61666ppb"; depends=[ergm mclust network sna]; };
-  VBmix = derive2 { name="VBmix"; version="0.3.2"; sha256="09kgllh8wbsgx9ykv95igczy4hi8d8grvffvdkp2zygdiyvkhsxa"; depends=[lattice mnormt pixmap]; };
   VCA = derive2 { name="VCA"; version="1.3.3"; sha256="03ibvn3a6bbgq36a1ibhi4givdnba6d0qcfbpbdxkz5masn1r23q"; depends=[lme4 Matrix numDeriv]; };
   VDA = derive2 { name="VDA"; version="1.3"; sha256="063mpwbyykx4f46wzfvrgnlq73ar7i06gxr4mjzbhqcfrsybi72b"; depends=[rgl]; };
   VDAP = derive2 { name="VDAP"; version="2.0.0"; sha256="134x4aisaim72xkyzb1vb8vhl2m4i12yzh6cj858a1ag7b0ing3n"; depends=[drc ggplot2 reshape2 stringr]; };
@@ -3889,26 +3975,25 @@ in with self; {
   VNM = derive2 { name="VNM"; version="6.1"; sha256="195fcgs6rzpji250j5kikim4k2rfg1gqgz65f2vgfbmz76wi4za6"; depends=[Rcpp]; };
   VRPM = derive2 { name="VRPM"; version="1.2"; sha256="1cai5a71vzkx0d7cwzsxbcz7r9cdkqjk4l4bp2ffj5pp7nrlh15r"; depends=[fields ggplot2 Hmisc kernlab R2HTML ROCR shiny survival viridis]; };
   VSE = derive2 { name="VSE"; version="0.99"; sha256="07m5080nw72b77238v2wwdh4dxsvv6y78d4j1329n90wyj2crxl4"; depends=[car GenomicRanges igraph IRanges]; };
-  VSURF = derive2 { name="VSURF"; version="1.0.3"; sha256="0fgy1qk1jkrnil4cirkp2lj21xjwbpgjgxqrsjs321s69rw2dy1j"; depends=[doParallel foreach randomForest rpart]; };
-  VTrack = derive2 { name="VTrack"; version="1.11"; sha256="1w8zp7l60mwzppg3gqq0zv5a065y0vdrp2v0x0yl4a8jq0zlvppx"; depends=[doParallel foreach plotKML sp spacetime]; };
-  VWPre = derive2 { name="VWPre"; version="1.0.1"; sha256="1q6i1ijw9sx5k9k1gpmhsm99hwgsj6kjkak3lnq7458563vd640m"; depends=[dplyr ggplot2 mgcv rlang shiny tidyr]; };
+  VSURF = derive2 { name="VSURF"; version="1.0.4"; sha256="1sby2ls8yhxv4hx0y508pypsj1sbc0d269yl0xnqbxz44bhj8zzm"; depends=[doParallel foreach randomForest rpart]; };
+  VTrack = derive2 { name="VTrack"; version="1.21"; sha256="1acf2b8zy72shc4768rhikfa3590h3l3nwk32jk7pwsms0nb87rf"; depends=[checkmate doParallel foreach gdistance gstat Hmisc intervals lubridate plotKML plyr raster sp spacetime XML]; };
+  VWPre = derive2 { name="VWPre"; version="1.1.0"; sha256="1ccrim9nx5fmmadg687gz9qrfkyxp48rskg1n2pxfwd3h10c9js1"; depends=[dplyr ggplot2 mgcv rlang shiny tidyr]; };
   VaRES = derive2 { name="VaRES"; version="1.0"; sha256="0gw05jiqgirhz3c8skbb07y4h44r6vi68gnd5y7ql455v0c2raza"; depends=[]; };
   VarED = derive2 { name="VarED"; version="1.0.0"; sha256="16j9p2a143y4hqclsv1mig0fccrzjx2r0lll0wz8isjp9x1wzjv8"; depends=[]; };
   VarReg = derive2 { name="VarReg"; version="1.0.1"; sha256="00ygs9gk2719fnhb47z1pj7qacapzg9qs1li2206vsfrmqxjvj1a"; depends=[sn survival]; };
-  VarSelLCM = derive2 { name="VarSelLCM"; version="2.0.1"; sha256="08kpnppa5mm1xjbdgl354py9jy57x4r0nbv8z4skzc1k972qrgy9"; depends=[mgcv Rcpp RcppArmadillo]; };
+  VarSelLCM = derive2 { name="VarSelLCM"; version="2.1.1"; sha256="0yy07fj0jkrninpwgnkw4h25yvbnb9z8kc02056nyh21kpj59vkl"; depends=[ggplot2 mgcv Rcpp RcppArmadillo shiny]; };
   VarSwapPrice = derive2 { name="VarSwapPrice"; version="1.0"; sha256="12q2wp2cqi9q47mzbb7sc250zkjqkhs9z0h93ik0h63dv339abgj"; depends=[]; };
   VarfromPDB = derive2 { name="VarfromPDB"; version="2.2.7"; sha256="1sb31338r2p0jsa3k72q9lc5f57cybywmda7q2j8byngh1fjvgyz"; depends=[curl RISmed stringi stringr XML XML2R]; };
-  VariABEL = derive2 { name="VariABEL"; version="0.9-2.1"; sha256="00k08mvd09rpplakvid6qal1zdxaj1bxn4d2ivpnqihisf7nxqbs"; depends=[]; };
   VariableScreening = derive2 { name="VariableScreening"; version="0.1.1"; sha256="03l929qhgr1bd721488xx0il1hlswv3zdad518ki94ghq9c4nmg3"; depends=[expm gee MASS]; };
   VarianceGamma = derive2 { name="VarianceGamma"; version="0.3-1"; sha256="0h424hdphbgi9i84bgzdwmsq05w61q8300x8f9y4szbxa5k2dnar"; depends=[DistributionUtils GeneralizedHyperbolic RUnit]; };
   VdgRsm = derive2 { name="VdgRsm"; version="1.5"; sha256="13mbv3ih6p2915wdzq4zjx7m4k37w1xddkxx6dzk1jiak2br9slj"; depends=[AlgDesign permute]; };
   Vdgraph = derive2 { name="Vdgraph"; version="2.2-2"; sha256="1q8l711zbrrj4h1wmpv93nbvlg8xi6kjv22zpidkck8ncpyyla80"; depends=[]; };
   VecStatGraphs2D = derive2 { name="VecStatGraphs2D"; version="1.8"; sha256="0jjxdwcj0n6kk5l7hw4zibpikqxhkkik5819qv75z4gqdgg0fgch"; depends=[MASS]; };
   VecStatGraphs3D = derive2 { name="VecStatGraphs3D"; version="1.6"; sha256="1pnpgnxdiis4kzwhh17k61aidyan5fp9rzqhvwf6gljb4csqsk54"; depends=[MASS misc3d rgl]; };
-  VennDiagram = derive2 { name="VennDiagram"; version="1.6.18"; sha256="05vhsk5ylspa6b919gk9v4rbwm9sc4lsfq0wz308a8dilkg8cqpa"; depends=[futile_logger]; };
+  VennDiagram = derive2 { name="VennDiagram"; version="1.6.20"; sha256="1ic1jaxzw98si2p4n1fl4n3myhd7fpw0njb634cwhviwybzv6775"; depends=[futile_logger]; };
   VertexSimilarity = derive2 { name="VertexSimilarity"; version="0.1"; sha256="0f638y272dbmz5747wxqy9pxasxk3a9f9wf31gf297qx7268ab1m"; depends=[igraph]; };
   VertexSort = derive2 { name="VertexSort"; version="0.1-1"; sha256="0n9m5l85ylin6756rsksak94nv0626qd7czhhj6plz4nfrr27sgl"; depends=[igraph snowfall]; };
-  VeryLargeIntegers = derive2 { name="VeryLargeIntegers"; version="0.1.5"; sha256="18v5llajhfp9nrmyzg6n2mgm7vbjk698m4y55x9xrq29hkb4mhad"; depends=[Rcpp]; };
+  VeryLargeIntegers = derive2 { name="VeryLargeIntegers"; version="0.1.6"; sha256="1ccl4j3vb6aw1qfbqil67dy74daldajwzm7s5hqcidm73fd0wknc"; depends=[Rcpp]; };
   VetResearchLMM = derive2 { name="VetResearchLMM"; version="0.2.0"; sha256="1vx72pn3fl27mjsa48kz5j1sj1bkjq8q0ifs5dxdfrcdswfqhjcw"; depends=[ggplot2 lme4 lmerTest multcomp nlme]; };
   ViSiElse = derive2 { name="ViSiElse"; version="1.2.0"; sha256="0k5hhzyjws0haawx2r2c0rxjbjdfx821x0jmj88786q6x67x86n0"; depends=[chron colorspace Matrix stringr]; };
   VideoComparison = derive2 { name="VideoComparison"; version="0.15"; sha256="0592fz0v4xvq1qy2hj4ph90v7zn1cnzr6a094mp9p1k61ki3fbg2"; depends=[pracma Rcpp RCurl RJSONIO zoo]; };
@@ -3923,9 +4008,9 @@ in with self; {
   WARN = derive2 { name="WARN"; version="1.2-3"; sha256="0vkp70cc3slz9y8qfybrqyjyglsxz9fnqrid735h2a113h4xvr3v"; depends=[MASS]; };
   WCE = derive2 { name="WCE"; version="1.0"; sha256="1kb1z67ymnz8cgwxq6m5fpqgxmmrfiwh2q3x4rhanac2sinagyn4"; depends=[plyr survival]; };
   WCQ = derive2 { name="WCQ"; version="0.2"; sha256="1yhkr2iazd7lh9r68xz1lh32z6r1sdnmqrjshcrm4rbwai0j3lkr"; depends=[]; };
-  WDI = derive2 { name="WDI"; version="2.4"; sha256="0ih6d9znq6b2prb4nvq5ypyjv1kpi1vylm3zvmkdjvx95z1qsinf"; depends=[RJSONIO]; };
+  WDI = derive2 { name="WDI"; version="2.5"; sha256="0wm3b844pn33047wfd8yp22c6ysdsi8qx71fm1h5rq5vm9mcg9cp"; depends=[RJSONIO]; };
   WEE = derive2 { name="WEE"; version="1.0"; sha256="0i3h67p72lr708mwdw3rbzr1lqqr8n2dxv7f0bwyqzxv41sx1iz3"; depends=[doParallel foreach quantreg]; };
-  WGCNA = derive2 { name="WGCNA"; version="1.62"; sha256="0c52rp09gqphz6g5x9jzkdcsyvfrknq0dkq9saslgy8q8ap974vx"; depends=[AnnotationDbi doParallel dynamicTreeCut fastcluster foreach GO_db Hmisc impute matrixStats preprocessCore Rcpp robust survival]; };
+  WGCNA = derive2 { name="WGCNA"; version="1.63"; sha256="1225dqm68bynkmklnsxdqdd3zqrpzbvqwyly8ibxmk75z33xz309"; depends=[AnnotationDbi doParallel dynamicTreeCut fastcluster foreach GO_db Hmisc impute matrixStats preprocessCore Rcpp robust survival]; };
   WHO = derive2 { name="WHO"; version="0.2"; sha256="0rpk7ddpkjcqs0m7cgxs55k178js0d70ccfximp2vqrsw0igkmk9"; depends=[dplyr httr]; };
   WLreg = derive2 { name="WLreg"; version="1.0.0"; sha256="0paghjcshhrr6y1gm98d6gr78zvgzhl678g9f96hppfa4q3lfpr7"; depends=[inline survival]; };
   WMCapacity = derive2 { name="WMCapacity"; version="0.9.6.7"; sha256="167wx759xi7rv74n6sdsdkjnfpxdsiybk4ik70psdgfwdqqcga1y"; depends=[cairoDevice coda gtools gWidgets gWidgetsRGtk2 RGtk2 XML]; };
@@ -3934,9 +4019,9 @@ in with self; {
   WPC = derive2 { name="WPC"; version="1.0"; sha256="0li502hwa4n945yfnilslyvl12ls66kazbfmxb4kkjbaf500mjp9"; depends=[msm survival]; };
   WPKDE = derive2 { name="WPKDE"; version="0.1"; sha256="100vla11fbw16x5n4w4kbslz4n725v4x6j0hrxzrk99ryl0crmf6"; depends=[]; };
   WRS2 = derive2 { name="WRS2"; version="0.9-2"; sha256="0szjq9ffckjqa128avs4cymqvxk7dhldzj620kcq7q59aagrnj04"; depends=[MASS mc2d plyr reshape]; };
-  WRSS = derive2 { name="WRSS"; version="1.1"; sha256="1iv6msack3ha2i8l4c7p9964b9f3c2qza1yxjsyx9sn1wzfxs6fj"; depends=[Hmisc]; };
+  WRSS = derive2 { name="WRSS"; version="1.2"; sha256="0nml5sv0c4fflxvhhf7zwxdz45iid4n7v8kyc4l1qhn0wi2hihdk"; depends=[Hmisc]; };
   WRTDStidal = derive2 { name="WRTDStidal"; version="1.1.0"; sha256="0yyhls0qzwwj4sz5d1nvzfiacx28dmf2hgjc7xgfi2qjkckg40hs"; depends=[caret dplyr EnvStats fields foreach forecast ggplot2 gridExtra lubridate purrr quantreg RColorBrewer survival tidyr]; };
-  WVPlots = derive2 { name="WVPlots"; version="0.2.8"; sha256="1d9016k05s3v3gmxsig6xk87npmgni9mfyqcwcvd522zisfx2g6z"; depends=[cdata ggplot2 gridExtra mgcv plotly replyr seplyr sigr wrapr]; };
+  WVPlots = derive2 { name="WVPlots"; version="0.3.1"; sha256="19ddgkblyqfvnx4a9c7i8nfvcfrmnsbbb3s61hqp16j59p5gfk3x"; depends=[ggplot2 gridExtra mgcv sigr wrapr]; };
   WWGbook = derive2 { name="WWGbook"; version="1.0.1"; sha256="0q8lnd1fp4rmz715x0lf61py3xw8wg55yq3gvswaqwy68dlqrzjc"; depends=[]; };
   WWR = derive2 { name="WWR"; version="1.2.2"; sha256="0ia1dd12r1l08s9nhgvk55jmqwv58jawm25gd2ni6wpa3mcmq02g"; depends=[inline]; };
   WaterML = derive2 { name="WaterML"; version="1.7.1"; sha256="0aqcanq2l3m9w1kglmkbqshs80wx9inmjp0c1i2j901g4k35ss5j"; depends=[httr RJSONIO XML]; };
@@ -3944,14 +4029,18 @@ in with self; {
   Wats = derive2 { name="Wats"; version="0.10.3"; sha256="1wh4wxzmdj154mh61ng4bg827hpx1kw85x34c1d7xdpbq3wag4g1"; depends=[colorspace ggplot2 lubridate plyr RColorBrewer testit zoo]; };
   WaveLetLongMemory = derive2 { name="WaveLetLongMemory"; version="0.1.2"; sha256="1p9ld6w2qgbvkvp7xkzzd14v89rxcwl6vlr1zgxkpc5awl1ln1a8"; depends=[fracdiff wmtsa]; };
   WaveletArima = derive2 { name="WaveletArima"; version="0.1.0"; sha256="1f8g6r9qmhr2y7sf7x2vphv2sab5rywpfjvhsxfmzljjmirf2v3n"; depends=[forecast fracdiff wavelets]; };
-  WaveletComp = derive2 { name="WaveletComp"; version="1.0"; sha256="16ghxqjbv39pmgd52im6ilkkh0hpnaw8ns0hwkngpbr479m1grdp"; depends=[]; };
+  WaveletComp = derive2 { name="WaveletComp"; version="1.1"; sha256="07w2aa0jiflvxyqhgh48705hg8hjspd103jd00i2pcw2v42hwmf8"; depends=[]; };
   WaverR = derive2 { name="WaverR"; version="1.0"; sha256="084fhzggzm075w6wp2lqd3j0an21idhw8z5l8ynz4y96mpmn204a"; depends=[kimisc MASS]; };
+  WeMix = derive2 { name="WeMix"; version="1.0.2"; sha256="1wj1jxw65i94xf5zk9phgkwybvl2h05ynq0zhdc7q3j6b90mv9hn"; depends=[lme4 MASS minqa NPflow numDeriv Rcpp RcppArmadillo Rmpfr statmod]; };
   WebGestaltR = derive2 { name="WebGestaltR"; version="0.1.1"; sha256="0cdpfwp4whx8pff73acxga072lwbibl44hxdjs9jsb5i21h55vbr"; depends=[data_table doParallel foreach pkgmaker PythonInR rjson]; };
+  WebPower = derive2 { name="WebPower"; version="0.5"; sha256="184wig66bcg7vsppaijq5jpq2hffl3bhshdx4ilz5hw98mimxg13"; depends=[lavaan lme4 MASS PearsonDS]; };
+  WeibullR = derive2 { name="WeibullR"; version="1.0.9"; sha256="13qkfnfp2pbvb78mj7fg8cgjnbrxv6dbms70wvn9f3mc70djmrb3"; depends=[Rcpp RcppArmadillo]; };
+  WeightIt = derive2 { name="WeightIt"; version="0.3.2"; sha256="13rswk3qr01y3ikpa2d9z7l5wicgsmiqmmhx7cbnyi4jny316sa3"; depends=[cobalt]; };
   Weighted_Desc_Stat = derive2 { name="Weighted.Desc.Stat"; version="1.0"; sha256="030i12mnwlj976avvk3grrccgprsckmc35dm2ajwdfc9dijhypnj"; depends=[]; };
   WeightedCluster = derive2 { name="WeightedCluster"; version="1.2-1"; sha256="04gsr65mssv4cz4v8sh44qhyzn0isll057d45z4ljv6sx0an5yhl"; depends=[cluster RColorBrewer TraMineR]; };
   WeightedPortTest = derive2 { name="WeightedPortTest"; version="1.0"; sha256="007v3w9ssiv2sds7sikpal27g6pxwxhs7bvcyw6kr0vg8gvlbi8h"; depends=[]; };
   WhatIf = derive2 { name="WhatIf"; version="1.5-9"; sha256="0ihpp3wbhpsg00g0s31l0ca4q0a2sch2a2j8cgz14g8na43x8831"; depends=[lpSolve pbmcapply Zelig]; };
-  WhiteStripe = derive2 { name="WhiteStripe"; version="2.3.0"; sha256="10rnfwq3f6msrzmgifm33dqwnncfhybiah8czh1z7g3iw2859qbc"; depends=[mgcv oro_nifti]; };
+  WhiteStripe = derive2 { name="WhiteStripe"; version="2.3.1"; sha256="1qyv06ai83b1idfg4bgr97askyzlwi2dv8d5wkivb5czp7crdri1"; depends=[mgcv oro_nifti]; };
   WhopGenome = derive2 { name="WhopGenome"; version="0.9.7"; sha256="1xa7d9x5ny8g79scfkv7v5ix9m3mfzg0fks2bsan9zqyhcd01fsq"; depends=[]; };
   WiSEBoot = derive2 { name="WiSEBoot"; version="1.4.0"; sha256="1fch78884ay7m2gy602k8df78gkvjiwzkjk550w0k4xbv430ld0h"; depends=[FAdist wavethresh]; };
   WikiSocio = derive2 { name="WikiSocio"; version="0.7.0"; sha256="1rc90cidc8mj8x7vw82vx41ivwnmil3cmc1whc8ghxrwli256w32"; depends=[httr igraph pbapply plyr RCurl stringr XML]; };
@@ -3962,23 +4051,23 @@ in with self; {
   WilcoxCV = derive2 { name="WilcoxCV"; version="1.0-2"; sha256="1kbb7ikgnlxybmvqrbn4cd8xnqrkwipk4xd6yja1xsi39a109xzl"; depends=[]; };
   WindCurves = derive2 { name="WindCurves"; version="0.1.3"; sha256="0bvbnrkdk0g0radgcw4zbhq6czpvq3f7f34x83qk09i8ngmwd28c"; depends=[drc imputeTestbench readbitmap]; };
   WordPools = derive2 { name="WordPools"; version="1.0-2"; sha256="1izs4cymf2xy1lax85rvsgsgi05ygf0ibi9gzxc96sbgvy4m78kf"; depends=[]; };
-  WordR = derive2 { name="WordR"; version="0.2.2"; sha256="1q8im3v30xil5qg4m1hypmj439rsx5g2x4mfxsgkz4xz2hwlfh4f"; depends=[dplyr officer ReporteRs]; };
+  WordR = derive2 { name="WordR"; version="0.2.3"; sha256="0sn14s4vnmj6zs8mc8mj5ph78m9z9yr29lknqma3wrphb7cla50w"; depends=[dplyr officer ReporteRs]; };
   Wrapped = derive2 { name="Wrapped"; version="2.0"; sha256="1z5kypsd39z9arsw57axckvl8b4jnr5wv60s9z58f5s89gn5vxxg"; depends=[AdequacyModel ald cubfits evd fBasics gamlss_dist GeneralizedHyperbolic GEVStableGarch glogis irtProb LCA lqmm metRology NormalLaplace normalp ordinal sgt SkewHyperbolic sld sn VarianceGamma VGAM]; };
   WrightMap = derive2 { name="WrightMap"; version="1.2.1"; sha256="16zp7h28fap5hq5xzvkb4lc217yhfmwzfbvw2lsni0gf9qxqkgqd"; depends=[]; };
   WriteXLS = derive2 { name="WriteXLS"; version="4.0.0"; sha256="0nwxi36w3rkzw9j0qil64gakhb101rxg1wydjkwlpg0nbsj1sm50"; depends=[]; };
-  WufooR = derive2 { name="WufooR"; version="0.6.2"; sha256="1k5nmg8mg8m9salcb0jr87ws548ydc597v8m94y4qrrfchy623rg"; depends=[dplyr httr jsonlite]; };
+  WufooR = derive2 { name="WufooR"; version="0.8"; sha256="0nwf66y1jb7dw4yhkdl9g4brh59ky4q4x6j9zbqdn70pcj9hq9jx"; depends=[dplyr httr jsonlite]; };
   XBRL = derive2 { name="XBRL"; version="0.99.18"; sha256="1bwvxqbxdf1ynz2bv27l86h05h8y19q2li2y79xk819p5nkxq341"; depends=[Rcpp]; };
-  XGR = derive2 { name="XGR"; version="1.1.1"; sha256="1m1nr8ass1spkxf5rc1hj53f98xhad4l2xafjim0284q0l01qn2r"; depends=[BiocGenerics dnet dplyr GenomicRanges GenomicScores ggnetwork ggplot2 ggrepel igraph IRanges Matrix plot3D RCircos rtracklayer S4Vectors supraHex tidyr XML]; };
+  XGR = derive2 { name="XGR"; version="1.1.3"; sha256="01czagfjx5w212l5h29klrrsg0qiprlsiwpz7pfqh44haifnq4pz"; depends=[BiocGenerics dnet dplyr GenomicRanges ggnetwork ggplot2 ggrepel igraph IRanges Matrix plot3D RCircos rtracklayer S4Vectors supraHex tidyr XML]; };
   XHWE = derive2 { name="XHWE"; version="1.0"; sha256="1ca8y9q3623d0vn91g62nrqf3pkbcbkpclmddw5byd37sdrgsi5l"; depends=[]; };
   XKCDdata = derive2 { name="XKCDdata"; version="0.1.0"; sha256="1lx9frlbc549qrh4d3m79r3l9icfzqkgfgp8raa8x46a2havi0a5"; depends=[assertthat dplyr glue htmltools httr jsonlite magrittr tibble]; };
-  XLConnect = derive2 { name="XLConnect"; version="0.2-14"; sha256="06c88rkyavjv3p90hr3cz4y9jx3g6ik3sannjynjnms7d793w0fi"; depends=[rJava XLConnectJars]; };
-  XLConnectJars = derive2 { name="XLConnectJars"; version="0.2-14"; sha256="0ckkvm8i2r60npx0zb36h98gmzgqig9d806cn6r5cghczz6g0xf6"; depends=[rJava]; };
-  XML = derive2 { name="XML"; version="3.98-1.10"; sha256="1faza9bbllp67lf1yv1sllxc3iv8llz52m9diazhq322iqbh97m1"; depends=[]; };
+  XLConnect = derive2 { name="XLConnect"; version="0.2-15"; sha256="1cvq677m09gwpwhj3fy15mbfn0s0b1y35w95pjnijiwpcpdxiq96"; depends=[rJava XLConnectJars]; };
+  XLConnectJars = derive2 { name="XLConnectJars"; version="0.2-15"; sha256="1ipqyjgsh5a1ygsbhyqxyj9wfjv1f73cyfrpx6jvf0is5jklhvxx"; depends=[rJava]; };
+  XML = derive2 { name="XML"; version="3.98-1.11"; sha256="18izvlg2x9mzr6yb3yf02ghwbyn00frki3av4lpc44r22m4djnsh"; depends=[]; };
   XML2R = derive2 { name="XML2R"; version="0.0.6"; sha256="0azfh950r2b7ck3n1vzk3mdll7zy844nx3mbk676jxnj8gg7nxk5"; depends=[plyr RCurl XML]; };
   XMRF = derive2 { name="XMRF"; version="1.0"; sha256="0jnyy9pcksfadznidqsbwh8nlqv3k0yppj76q8a2g0aidbdmg2cc"; depends=[glmnet igraph MASS Matrix snowfall]; };
   XNomial = derive2 { name="XNomial"; version="1.0.4"; sha256="1mwx302576rmsjllbq2clfxilm3hkyp5bw0wmwqbn0kgv5wpy8z6"; depends=[]; };
-  XR = derive2 { name="XR"; version="0.7.1"; sha256="1wly2wpjvmfjjng5kjr9rq1by550amigz10rfpl8iibv5b9kvzjy"; depends=[jsonlite]; };
-  XRJulia = derive2 { name="XRJulia"; version="0.7.6"; sha256="1bvkrx4nvni858qw3p51bm2pidlfqdmk2pbmhwmb61pcbls3gpk8"; depends=[XR]; };
+  XR = derive2 { name="XR"; version="0.7.2"; sha256="0j8rkjw9y7mb0yj24nlisfd84148pnnakz8i2y35y2b8gmh5zhvz"; depends=[jsonlite]; };
+  XRJulia = derive2 { name="XRJulia"; version="0.7.7"; sha256="07332hv7kp5bk1wm24cf2fa9yz5l4mni1gw0ry1qnwh1zx5v8jcd"; depends=[XR]; };
   XRPython = derive2 { name="XRPython"; version="0.8"; sha256="0alg33spiaqf3jwg1qn543nxvbfaqv8gvf5px3grhbgrcmi5mcmj"; depends=[reticulate XR]; };
   XRSCC = derive2 { name="XRSCC"; version="0.1"; sha256="0hs2whjsd02avaz79zkrd8gjw9qd7l6ysxmhx4w1r7gb1cj9rr7c"; depends=[]; };
   XiMpLe = derive2 { name="XiMpLe"; version="0.10-2"; sha256="16dmslc3ji9zbbm2khw8ib8rhwan0mdlfyd4h29v42lcx6l1d0pv"; depends=[]; };
@@ -3988,20 +4077,21 @@ in with self; {
   YPmodel = derive2 { name="YPmodel"; version="1.3"; sha256="1vll33nm7xynnbq15wksk9c38jhjfd6l1bbzijn5skqc5yik1r5x"; depends=[]; };
   YaleToolkit = derive2 { name="YaleToolkit"; version="4.2.2"; sha256="12wggdyz0wgnmxnqhp8bypyy1x1p50g49fwdzl2l43il44cdyv0g"; depends=[foreach iterators]; };
   YieldCurve = derive2 { name="YieldCurve"; version="4.1"; sha256="0w47j8v2lvarrclnixwzaq98nv1xh2m48q5xvnmk7j9nsv2l3p68"; depends=[xts]; };
-  YplantQMC = derive2 { name="YplantQMC"; version="0.6-6"; sha256="153sznajgp4bjsjhn3xk6kbp68ihswdc48gn0y3wmg5xa15yrqlk"; depends=[geometry gplots LeafAngle maps rgl]; };
   YuGene = derive2 { name="YuGene"; version="1.1.5"; sha256="1f1bia1q1z2rzp4pw218zglf02x1m9zpz5gqllrd77ggw8ilqfjc"; depends=[mixOmics]; };
+  ZIBBSeqDiscovery = derive2 { name="ZIBBSeqDiscovery"; version="1.0"; sha256="12g9rga9z6318ni6x6q9hdqlgl93y2xn8vf3gc6sm97fz8pliswx"; depends=[mcc]; };
   ZIBseq = derive2 { name="ZIBseq"; version="1.2"; sha256="13rjy4jl9wil6hhpra4qmdis0iyqxchzsf9l7q6r0dz1f7dpd2nq"; depends=[gamlss gamlss_dist nlme]; };
   ZIM = derive2 { name="ZIM"; version="1.0.3"; sha256="1497ki0pr0x21fz5wa2z6zgb2br99z56gvfxyn9cglqq45if6cjh"; depends=[MASS]; };
   ZOIP = derive2 { name="ZOIP"; version="0.1"; sha256="0fraxzr2mfd7w705j2fryhh9vpg6nkag6kmk7p7in3zknxwipfh3"; depends=[boot GHQp numDeriv rmutil]; };
   ZRA = derive2 { name="ZRA"; version="0.2"; sha256="1sx1q5yf68hhlb5j1hicpj594rmgajqr25llg7ax416j0m2rnagi"; depends=[dygraphs forecast]; };
-  ZeBook = derive2 { name="ZeBook"; version="0.5"; sha256="1djwda6hzx6kpf4dbmw0fkfq39fqh80aa3q9c6p41qxzcpim27dw"; depends=[deSolve triangle]; };
-  Zelig = derive2 { name="Zelig"; version="5.1.5"; sha256="0lzcin7maz4drn9w3z841kay4ik6rr4ab2l2s56mcj1f0p6ng7pd"; depends=[AER Amelia coda dplyr Formula geepack jsonlite MASS MatchIt maxLik MCMCpack quantreg sandwich survey survival VGAM]; };
+  ZeBook = derive2 { name="ZeBook"; version="1.0"; sha256="06dg3jk37y64mdcb8hpxgj8rclgxqm96dalm7y5zjb7nrj9jfydk"; depends=[deSolve triangle]; };
+  Zelig = derive2 { name="Zelig"; version="5.1.6"; sha256="142kjmgma25pvr525y0mjiwivnmq8y8s1abw4kyqipcmphmgh3an"; depends=[AER Amelia coda dplyr Formula geepack jsonlite MASS MatchIt maxLik MCMCpack quantreg sandwich survey survival VGAM]; };
   ZeligChoice = derive2 { name="ZeligChoice"; version="0.9-6"; sha256="1whfwc42lsi54xfr423h6jwbvpj6yjyyf0854k1f1ms13liahm8w"; depends=[dplyr Formula jsonlite MASS VGAM Zelig]; };
   ZeligEI = derive2 { name="ZeligEI"; version="0.1-2"; sha256="0kilzfqmm6a41mmjvlynh3rnj30fqiq8gsja28fzwpf0lbl89slg"; depends=[dplyr ei eiPack Formula jsonlite MASS MCMCpack Zelig]; };
   ZillowR = derive2 { name="ZillowR"; version="0.1.0"; sha256="1wrr58p76ps29fqzzwgfvfibxrvc72p2yzs5kc2rv1yxzzcpyxvb"; depends=[RCurl XML]; };
   Zseq = derive2 { name="Zseq"; version="0.2.0"; sha256="06dndi2b1q79bmxax11bv0l5ifcz1mhpvbn90y6a6xymrgcq0ivi"; depends=[gmp]; };
   aCRM = derive2 { name="aCRM"; version="0.1.1"; sha256="0kzp568hd9c9a9qgniia5s5gv0q5f89xfvvwpzb197gqhs3x092v"; depends=[ada dummies kernelFactory randomForest]; };
   aLFQ = derive2 { name="aLFQ"; version="1.3.4"; sha256="1q2l5cwkcsng22nxckgc7aalvy3qhvgga5nkchfpy53sxg68awqv"; depends=[bio3d caret data_table lattice plyr protiq randomForest reshape2 ROCR seqinr]; };
+  aMNLFA = derive2 { name="aMNLFA"; version="0.1"; sha256="0sj6rxsdib5zmz78c94bjdlcdwhfkvbc7sp3pncj6vsvvzgqcjdp"; depends=[devtools ggplot2 gridExtra MplusAutomation plyr reshape2 stringr]; };
   aRpsDCA = derive2 { name="aRpsDCA"; version="1.1.1"; sha256="0ghg43rd6bnv4jp8pkpd1ixp5l6kq5pr0mxq61q24s24g0m3s64p"; depends=[]; };
   aRxiv = derive2 { name="aRxiv"; version="0.5.16"; sha256="1dghv40waprld9gg81p2is72sk0z6fla0pfiqzzfhky8lazaih01"; depends=[httr XML]; };
   aSPC = derive2 { name="aSPC"; version="0.1.2"; sha256="1q301rw7dax5v58srg4jlcam1qq2igkaj7kg8wlnlml0hsck4c4a"; depends=[energy mvtnorm]; };
@@ -4020,12 +4110,13 @@ in with self; {
   abind = derive2 { name="abind"; version="1.4-5"; sha256="0b1zd8jbnl6l292cr9rb50m09fy3ylxvzkpgi5lfb1nbzddcwfis"; depends=[]; };
   abjutils = derive2 { name="abjutils"; version="0.2.1"; sha256="0qrsc4if7aif73qp95lw6b5986c2r0jn7m39123zij8k15vc935b"; depends=[devtools dplyr glue httr magrittr plyr progress purrr rstudioapi scales stringi stringr tibble tidyr]; };
   abn = derive2 { name="abn"; version="1.0.2"; sha256="0jxpw5mplnpc57jjg9w3zrik40g7va6s8m9zbfsyf0vqn645wfwq"; depends=[Cairo]; };
+  abnormality = derive2 { name="abnormality"; version="0.1.0"; sha256="1fzfskl9akl06nliy8hkv2a0pznpj8pwcypg3gj5r2nzvr3kan9v"; depends=[MASS Matrix]; };
   abodOutlier = derive2 { name="abodOutlier"; version="0.1"; sha256="1pvhgxmh23br84r0fbmv7g53z2427birdja96a67vqgz18r3fdvj"; depends=[cluster]; };
   abundant = derive2 { name="abundant"; version="1.1"; sha256="1m76qdmqvwpgm0sihazi2dna7cgsz9rljal18vgffb5wamwmg9k7"; depends=[QUIC]; };
   acc = derive2 { name="acc"; version="1.3.3"; sha256="1ii2vm47djxbixa75h690q1s2f9m9x6i8nkygik93j6dayr6kr1m"; depends=[circlize DBI ggplot2 iterators mhsmm nleqslv PhysicalActivity plyr R_utils Rcpp RcppArmadillo RSQLite zoo]; };
   accSDA = derive2 { name="accSDA"; version="1.0.0"; sha256="0sgxy5y8kkc1n35657kifwfjsba7y5m1vbr7rkk5lmbpkzahqm61"; depends=[ggplot2 ggthemes gridExtra MASS rARPACK sparseLDA]; };
   accelerometry = derive2 { name="accelerometry"; version="2.2.5"; sha256="00mn09j7y39sc7h5srnnfk2l73vhh6zq7rzc0vckfvs72lncmwv5"; depends=[Rcpp]; };
-  accelmissing = derive2 { name="accelmissing"; version="1.1"; sha256="0s2vy16zcpvbqyqz4ifdqccs6bfp8sf7azvfy8jjcm73xncv6ij3"; depends=[mice pscl]; };
+  accelmissing = derive2 { name="accelmissing"; version="1.4"; sha256="1nql9inx6azdzi3z4sfm2vdml2mms6krl8wzlf1dn1c97ahn57fy"; depends=[mice pscl]; };
   accrual = derive2 { name="accrual"; version="1.3"; sha256="11clm9s5c5518nmp6hd6pjnp0s28y92b2i2x0xgj4j5g816p4j3z"; depends=[fgui SMPracticals tcltk2]; };
   accrued = derive2 { name="accrued"; version="1.4.1"; sha256="05g1jb5914z18rcai1ahn7nihn27vr2rnadwv94gc1j7ivvikvs5"; depends=[]; };
   acebayes = derive2 { name="acebayes"; version="1.4.1"; sha256="0wkygvhwf0y5jzkcj6prjmr9dlak1xgsbswlixqwrx5b48iqxgwh"; depends=[compare lhs randtoolbox Rcpp RcppArmadillo]; };
@@ -4037,20 +4128,20 @@ in with self; {
   acopula = derive2 { name="acopula"; version="0.9.2"; sha256="1z8bs4abbfsdxfpbczdrf1ma84bmh7akwx2ki9070zavrhbf00cf"; depends=[]; };
   acp = derive2 { name="acp"; version="2.1"; sha256="0lcwbjcyyr32m6qjmjqh25qjwrbyqj1n092xhgbhxzd8fslppnmn"; depends=[quantmod tseries]; };
   acrt = derive2 { name="acrt"; version="1.0.1"; sha256="0y9ndcq8ffpfrv7w9rikm4zn68jpsj6baqisq9kp2433xrwzdb6s"; depends=[Rcpp RcppEigen sandwich]; };
-  acs = derive2 { name="acs"; version="2.1.2"; sha256="0nvfqknvbzv99pljxv54csrkyvqvr03grskxpqa3aghq6ilj0zyv"; depends=[httr plyr stringr XML]; };
+  acs = derive2 { name="acs"; version="2.1.3"; sha256="1r6lywjhdi53873c2hl670hbaycrlycaps5pll2i9czr1phlv0rj"; depends=[httr plyr stringr XML]; };
   acss = derive2 { name="acss"; version="0.2-5"; sha256="0cqa60544f58l5qd7h6xmsir40b9hqnq6pqgd5hfx2j2l5n7qhmk"; depends=[acss_data zoo]; };
   acss_data = derive2 { name="acss.data"; version="1.0"; sha256="09kl4179ipr8bq19g89xcdi1xxs397zcx5cvgp6viy8gn687ilgv"; depends=[]; };
   activity = derive2 { name="activity"; version="1.1"; sha256="1lqajgxfps2h6amz1791vp3f52rs9ghmanq1nqfxqd2jmk3idkrx"; depends=[circular overlap pbapply]; };
   activpalProcessing = derive2 { name="activpalProcessing"; version="1.0.2"; sha256="1y0bjx2qx53iy930y9iww4q1yzjj8y16cwgixk1mq3w4g1f116d1"; depends=[chron]; };
   actogrammr = derive2 { name="actogrammr"; version="0.2.3"; sha256="1jzvarmd41yqlrkagzlc8m19n5mn0w0b36fy50lyvgrfsafjfbqa"; depends=[dplyr ggplot2 lubridate readr tidyr]; };
-  actuar = derive2 { name="actuar"; version="2.3-0"; sha256="0qzzsc9s25l29fi1xgd5ypb4j1l08ghx180n0q5k9p2fn36zjz27"; depends=[expint]; };
+  actuar = derive2 { name="actuar"; version="2.3-1"; sha256="0i0w5y0bgma42p4cbrbv0bxkambp7hgqqlsg90p5skfvg7r1n3bk"; depends=[expint]; };
   ada = derive2 { name="ada"; version="2.0-5"; sha256="1h3a07czp0w3hrhjcg1fz721y8vsfclzqi3rq8qfzgpfb4h1f06r"; depends=[rpart]; };
   adabag = derive2 { name="adabag"; version="4.2"; sha256="109wrl1pwvmyv2l909hrvk7dg4aa9pv449mvdycp50zwrsw9w0a7"; depends=[caret doParallel foreach rpart]; };
   adagio = derive2 { name="adagio"; version="0.6.5"; sha256="0jy8g5604alaqbi5ynj95ig07igzbgk8x03a4x1rzkvfwvydfflz"; depends=[]; };
   adapr = derive2 { name="adapr"; version="2.0.0"; sha256="1s57jdbi5pik56xjz1d4438ax6cywg2yq2s47h5g6wrwvpgr1qfw"; depends=[archivist devtools digest doParallel gdata ggplot2 git2r igraph knitr plotly plyr rmarkdown shiny shinydashboard versions]; };
   adaptMCMC = derive2 { name="adaptMCMC"; version="1.3"; sha256="08v11rl0p4w94knb0yzs1ysj42xillya62yaw3zm40d4pqv7vcky"; depends=[coda Matrix]; };
   adaptTest = derive2 { name="adaptTest"; version="1.0"; sha256="08d7a5dlzhaj236jvaw3c91008l66vf5i4k5anhcs32a3j8yh2iv"; depends=[lattice]; };
-  adaptiveGPCA = derive2 { name="adaptiveGPCA"; version="0.1.1"; sha256="1jhkiz0gdjvgclqfksm10zza9iwy1z6k5wpviwa4r9a936f1i88k"; depends=[ape ggplot2 phyloseq shiny]; };
+  adaptiveGPCA = derive2 { name="adaptiveGPCA"; version="0.1.2"; sha256="0bb6hw77dfa66b12xyazlp992gwjb1plylixlmq4cv4yjhnl9n5z"; depends=[ape ggplot2 phyloseq shiny]; };
   adaptivetau = derive2 { name="adaptivetau"; version="2.2-1"; sha256="1hd2l1jv4i5mg0k0g8bbrvv43nk1zxbwh21594zayrzjyikb2593"; depends=[]; };
   adaptsmoFMRI = derive2 { name="adaptsmoFMRI"; version="1.1"; sha256="1h79gh1bd6s2xhwf4whh72wf2cz4di2p8dnlf6192mfg108qc6nw"; depends=[coda Matrix MCMCpack mvtnorm spatstat]; };
   addhaz = derive2 { name="addhaz"; version="0.4"; sha256="0i3czmv538m8s3pnxrhh2a1mrdv9m3hgzjkb25p7hygwnzz54drg"; depends=[boot MASS Matrix]; };
@@ -4059,12 +4150,11 @@ in with self; {
   additiveDEA = derive2 { name="additiveDEA"; version="1.1"; sha256="15nxpdybsda6yhjk23bpafr8v1zdx8332pcxf26k795q3ypjpiy2"; depends=[Benchmarking lpSolveAPI]; };
   additivityTests = derive2 { name="additivityTests"; version="1.1-4"; sha256="048ds90wqjdjy1nyhna3m06asdklbh8sx1n556kss2j1r1pma1sw"; depends=[]; };
   addreg = derive2 { name="addreg"; version="3.0"; sha256="13bwmgxylwi02g60j1rr51cr5jvvkl2nvf2lnnhnq46fhvs2ma7s"; depends=[combinat glm2 turboEM]; };
-  ade4 = derive2 { name="ade4"; version="1.7-10"; sha256="0zk81x0yn30gbyc0jpzyw1nxd08ccihl6vyk0ijvj3aw3nr5flc6"; depends=[MASS]; };
+  ade4 = derive2 { name="ade4"; version="1.7-11"; sha256="0wm54wcpn87rdh6vyw04cr8vgba899y6jsl61f22bmlvx6d7kkac"; depends=[MASS]; };
   ade4TkGUI = derive2 { name="ade4TkGUI"; version="0.2-9"; sha256="0kfnikkzhyfxskrphr65b8amjhdfq35x6dda4kivdhn7ak07s3ll"; depends=[ade4 adegraphics lattice tkrplot]; };
-  adeba = derive2 { name="adeba"; version="1.0.2"; sha256="12zs6rh7sl1fsf8q20hgqms5pykmysnb9mfcwf9x63g44yi26dj4"; depends=[pdist Rcpp]; };
+  adeba = derive2 { name="adeba"; version="1.1.2"; sha256="1z1law3qh6l902g62y8yapk4nypdmb20jmpwhxp9jbglalw9lm73"; depends=[mixtools pdist Rcpp]; };
   adegenet = derive2 { name="adegenet"; version="2.1.1"; sha256="0ynfblp0hbd3dp3k86fn1wyhqr28lk6hs2bg4q7gyf0sfdfzwhrh"; depends=[ade4 ape boot dplyr ggplot2 igraph MASS reshape2 seqinr shiny spdep vegan]; };
-  adegraphics = derive2 { name="adegraphics"; version="1.0-9"; sha256="1fscmisvfd3j9fy1562pjsfpgx16fhr5xwmkzmssxhgyia19f4sr"; depends=[ade4 KernSmooth lattice latticeExtra RColorBrewer sp]; };
-  adehabitat = derive2 { name="adehabitat"; version="1.8.20"; sha256="18z4a8168a2c7248s15hwkjj70dzlkif360cy28jry4a61cm6d81"; depends=[ade4 shapefiles sp tkrplot]; };
+  adegraphics = derive2 { name="adegraphics"; version="1.0-10"; sha256="0vig5c8hmsa6xapqzb8l4sm05qw7zc5s6b796bspffxj0crg3l3v"; depends=[ade4 KernSmooth lattice latticeExtra RColorBrewer sp]; };
   adehabitatHR = derive2 { name="adehabitatHR"; version="0.4.15"; sha256="1bwx2mfkzfknr6fjjkbx2xnm4gksd78i8fz0bcizqyi1zhg5hd0c"; depends=[ade4 adehabitatLT adehabitatMA deldir sp]; };
   adehabitatHS = derive2 { name="adehabitatHS"; version="0.3.13"; sha256="158a6qzks0hml6hk4f1vr66gvwdn09792i2ca3k23061i3j3xp75"; depends=[ade4 adehabitatHR adehabitatMA sp]; };
   adehabitatLT = derive2 { name="adehabitatLT"; version="0.3.23"; sha256="0hf6wpwhsvfp906xk5sadfnvz524zmm05d0h2zxpx6089c6hnw3j"; depends=[ade4 adehabitatMA CircStats sp]; };
@@ -4072,7 +4162,7 @@ in with self; {
   adephylo = derive2 { name="adephylo"; version="1.1-11"; sha256="06pnrycc7562h17gxbli935289a48na3p4vpb2w96i5cbrjg4jqm"; depends=[ade4 adegenet ape phylobase]; };
   adepro = derive2 { name="adepro"; version="2.0.0"; sha256="0q9h7wmkgdnbhg2ygw32jl0bm2vrl32ig2nci9pphgwpsfzb34jq"; depends=[audio Cairo MASS shape shiny shinyBS]; };
   adespatial = derive2 { name="adespatial"; version="0.1-1"; sha256="19i83s19sbvjm5k0gkw8awz359q67rr3768icsjd118fji45dvg0"; depends=[ade4 adegraphics adephylo lattice MASS shiny sp spdep]; };
-  adfExplorer = derive2 { name="adfExplorer"; version="0.1.2"; sha256="0jgh5378ky3bng1zmrvw898ni2nr0lnw9ngkkjxq3i5syp889b09"; depends=[]; };
+  adfExplorer = derive2 { name="adfExplorer"; version="0.1.4"; sha256="11z6jm20giqmmz4dwcpa9fshvrmlmv8m0y1vg053nch05884niz2"; depends=[]; };
   adhoc = derive2 { name="adhoc"; version="1.1"; sha256="0a59fv9glcqh4zzd0887ndrhlcaylja6vay2ifajp8an29gjk1vv"; depends=[ape pegas polynom]; };
   adimpro = derive2 { name="adimpro"; version="0.8.2"; sha256="0nfzk9pp4p16c1nvpidngag96r845376h8ljh7m6p6rhk9fs4jdw"; depends=[awsMethods]; };
   adiv = derive2 { name="adiv"; version="1.1"; sha256="12m8p1agahzck1nm8j765wacc6vrl0pa31wld4rqxl7c2pvhs7f4"; depends=[ade4 adegraphics adephylo ape cluster phylobase]; };
@@ -4082,13 +4172,13 @@ in with self; {
   adlift = derive2 { name="adlift"; version="1.3-3"; sha256="0q4ipk9yax4wqp3jckpx6ihriqaaaz0knxd19cm20qzdx37vz4id"; depends=[EbayesThresh]; };
   admixturegraph = derive2 { name="admixturegraph"; version="1.0.2"; sha256="0ld4qyyvbnr5lz9ff64wjwif4c9xnqyjmbfgbl9bk6pia98zppl3"; depends=[doParallel dplyr foreach ggplot2 MASS neldermead pracma]; };
   adnuts = derive2 { name="adnuts"; version="1.0.0"; sha256="0jy9wq269r7s70bwld6ngxc6vmaj9vplq4wn97x4f3c6lqy42swc"; depends=[ellipse rstan]; };
-  ads = derive2 { name="ads"; version="1.5-2.2"; sha256="17k24dihl41jgkkglhnkj7lvvl53dgahjkb5jhfmfgk6i16c7s23"; depends=[ade4 spatstat]; };
+  ads = derive2 { name="ads"; version="1.5-3"; sha256="1k1japzcf0mafxkv9dlzaqz9n4c749lsx0lja4wj327ninpdcfy4"; depends=[ade4 spatstat]; };
   advclust = derive2 { name="advclust"; version="0.4"; sha256="1g8a8q4zh6d4152jb66fh7wj7k6ks5k4kfcazzw70jdn10yi6b38"; depends=[clue ggplot2 knitr MASS reshape2]; };
   adwave = derive2 { name="adwave"; version="1.2"; sha256="1fnaq9v84y52kb66aq4g0xiqgllk7mi0is5qiafqf546hck3kzz6"; depends=[waveslim]; };
   aemo = derive2 { name="aemo"; version="0.2.0"; sha256="11msifszq7pzmcmwibf2dk2j5dqjc74hrxdxshlprkp6p8sfhijh"; depends=[assertthat dplyr lubridate stringr]; };
   afCEC = derive2 { name="afCEC"; version="1.0.2"; sha256="0jdppp93z5nb8m5qbry6cvd472mwiq1yrmm11906c3z2bfz7791f"; depends=[Rcpp RcppArmadillo rgl]; };
   afc = derive2 { name="afc"; version="1.4.0"; sha256="1iy1wa88kf6zi6x7lbd0jdir653cvzvdraliqpxbac413wwb5gwl"; depends=[]; };
-  afex = derive2 { name="afex"; version="0.19-1"; sha256="10qbwqwashddj93ivvwlkf3lk14411lmxp24cn7sahqr9lm714f7"; depends=[car coin emmeans lme4 lmerTest pbkrtest reshape2 stringr]; };
+  afex = derive2 { name="afex"; version="0.20-2"; sha256="150zf3lzsybpj7hm3ry0x4lliscgmmxpq92iab9fbcrvaqyaibn8"; depends=[car coin emmeans lme4 lmerTest pbkrtest reshape2 stringr]; };
   affluenceIndex = derive2 { name="affluenceIndex"; version="1.0"; sha256="1nb2dlsnvjsvkyrfdaskmpr3kv3qgdfb60xgmzvscfli0yf4dzr1"; depends=[]; };
   afmToolkit = derive2 { name="afmToolkit"; version="0.0.1"; sha256="1pm3xyh9vq10mmfgknlvlfr9f027xprrgy1dvbbxpi7f111hv1gl"; depends=[assertthat DBI dplyr ggplot2 gridExtra minpack_lm scales tibble]; };
   afpt = derive2 { name="afpt"; version="1.0.0"; sha256="0kshyzvw8sp7p686xi98g758zld3n7kq44lnvly8d0y8fg6ahcl2"; depends=[]; };
@@ -4096,26 +4186,28 @@ in with self; {
   agRee = derive2 { name="agRee"; version="0.5-1"; sha256="1hmqvpcz4vnpcl9f92q5fy1ca89l9sq25fnsw2mxfsa0yqbyxpw6"; depends=[coda lme4 miscF R2jags]; };
   aggregation = derive2 { name="aggregation"; version="1.0.1"; sha256="0j9g604m2ccc7hcy02539yja9cf3xcbl25gvp838bp4x8w18my46"; depends=[]; };
   agop = derive2 { name="agop"; version="0.1-4"; sha256="1jwyl02z053rsdw9hryv1nyj9wlq310l51fghp1p0j51c159mlpx"; depends=[igraph Matrix]; };
-  agriTutorial = derive2 { name="agriTutorial"; version="0.1.2"; sha256="0zcyawmhflm4rbxnyf6gdwrnff4f13yajc81n13ykw7bfi8xphqi"; depends=[emmeans ggplot2 lattice lmerTest nlme pbkrtest]; };
+  agriTutorial = derive2 { name="agriTutorial"; version="0.1.3"; sha256="1ihz92f10p7nq0rw01hka5wg2svf2hgx9f39604ab0j99z0f99hz"; depends=[emmeans ggplot2 lattice lmerTest nlme pbkrtest]; };
   agricolae = derive2 { name="agricolae"; version="1.2-8"; sha256="1c6n52jralp33hl3nmpv9fc9vsvs6lcz9j75f2zbz0r4sqd2mw89"; depends=[AlgDesign cluster klaR MASS nlme spdep]; };
   agridat = derive2 { name="agridat"; version="1.13"; sha256="1029n2jkbvybvkbf4pwdjrw6m05xyzn5xyqyfziqb7xnw51ksm2p"; depends=[]; };
   agrmt = derive2 { name="agrmt"; version="1.40.4"; sha256="1y2gnq6b4zkxknygg73r8qrd435y7c69iqn8i56kwk1ccc1rwddx"; depends=[]; };
   agsemisc = derive2 { name="agsemisc"; version="1.3-1"; sha256="1905q35jgjhghlawql43yh296kbpysp927x3hj750yshz5zayzyr"; depends=[lattice MASS]; };
   ahaz = derive2 { name="ahaz"; version="1.14"; sha256="1z7w5rxd5cya7kxhgxqvn72k87y33ginxra9g7j9wrfs5jgx6kvx"; depends=[Matrix survival]; };
   ahnr = derive2 { name="ahnr"; version="0.2.0"; sha256="0bfy7xxfxfzhv4yl9dlsyl304673p23r2h0lz3lv75iqp2gbzdjr"; depends=[ggplot2 magrittr matrixcalc pdist pracma purrr visNetwork]; };
-  ahp = derive2 { name="ahp"; version="0.2.11"; sha256="09n06k5dmmpw6h6s51x9xy6rkk54fswss8pflh3v9nprbx7vzx4i"; depends=[data_tree DiagrammeR formattable yaml]; };
+  ahp = derive2 { name="ahp"; version="0.2.12"; sha256="0zjhgl0smzx4bkhmdm4rmpyrq4hmxy1nkxvwqjr40pz7vm69icqx"; depends=[data_tree DiagrammeR formattable yaml]; };
   aiRthermo = derive2 { name="aiRthermo"; version="1.1"; sha256="0i3sq7i37i82ad70z2mai09rxzk4kk27hfg5jjbh6pajwzyn5yri"; depends=[]; };
   aidar = derive2 { name="aidar"; version="1.0.5"; sha256="1q2iz2qzh2yl0v0sc537xq4vbx2nblym3kv419vr7jvrghdpx3vj"; depends=[XML]; };
   aimPlot = derive2 { name="aimPlot"; version="1.0.0"; sha256="1d52b7kccxba6j7n0gbd7pzs0p87zn32vv8gdf2f7lyr75qzgz7x"; depends=[ggplot2]; };
   airGR = derive2 { name="airGR"; version="1.0.9.64"; sha256="08nw07v5d5pljk839i5j5wgrc5lny7v6kl8m2hd6bm9aijql7hg4"; depends=[]; };
-  aire_zmvm = derive2 { name="aire.zmvm"; version="0.5.0"; sha256="14n2wycfxpj8wb45671pysqxr434b3wgrnbx2vfpsxw46lkqid0i"; depends=[dplyr httr lubridate readr rvest sp stringr tidyr xml2]; };
+  airGRteaching = derive2 { name="airGRteaching"; version="0.2.2.2"; sha256="13alnmazf8n7sgfzh0hfq6i4cd2pl414vwrakgp36q365fkgzpnc"; depends=[airGR dygraphs htmlwidgets markdown plotrix shiny shinyjs xts]; };
+  aire_zmvm = derive2 { name="aire.zmvm"; version="0.6.1"; sha256="1a6aq1fkjj053mi36ibykncd1hmcl0f5c0l2fi0cbx6hcysc28ic"; depends=[dplyr httr lubridate progress readr readxl rvest sp stringr tidyr xml2]; };
   ajv = derive2 { name="ajv"; version="1.0.0"; sha256="1qd5ncb7rdnnvqfknsvq9nrpxrh0zv3jyh4b91dcvfvhp262vfrm"; depends=[RJSONIO V8 yaml]; };
   akima = derive2 { name="akima"; version="0.6-2"; sha256="1klprj4a2pgy5pwdwnrn3siisi2lh8hr4z6vz38sdvjkcmakxnk1"; depends=[sp]; };
   akmeans = derive2 { name="akmeans"; version="1.1"; sha256="1nqbxbx583n0h2zmpy002rlmr6j86j6bg76xj5c69brrh59dpyw1"; depends=[]; };
   alabama = derive2 { name="alabama"; version="2015.3-1"; sha256="0mlgk929gdismikwx4k2ndqq57nnqj7mlgvd3479b214hksgq036"; depends=[numDeriv]; };
-  alakazam = derive2 { name="alakazam"; version="0.2.8"; sha256="0lilldxynwhp1i538k3xb9c73956agxj6v8zickxkba1sx4k5zrc"; depends=[dplyr ggplot2 igraph lazyeval progress Rcpp readr scales seqinr stringi]; };
+  alakazam = derive2 { name="alakazam"; version="0.2.10"; sha256="0bfqc7rbchmj0dby8c8xlxff9gk18kq1v8zqfj3s7h3yddrr7znr"; depends=[dplyr ggplot2 igraph lazyeval progress Rcpp readr scales seqinr stringi]; };
+  albopictus = derive2 { name="albopictus"; version="0.2"; sha256="1ils7y0i9dvhpnwyi31y7dvn02pcyn4dk0165ck81s08k96v3r1z"; depends=[]; };
   ald = derive2 { name="ald"; version="1.2"; sha256="1xmvxmyc1nmsrlyr0rvzz20jx6g1f2jvxpg9f39v48ngg5gmanjj"; depends=[]; };
-  alfred = derive2 { name="alfred"; version="0.1.4"; sha256="1g4l0fz0lw34ffp6spx535zfrgkgwm41qrn0bg3lpl1kx9m3i2ir"; depends=[dplyr jsonlite lubridate magrittr tibble tidyr]; };
+  alfred = derive2 { name="alfred"; version="0.1.6"; sha256="07x012lj33m0pmxdwk39ywrlvlfkp7mb203dwv8v88cxplhbaiq3"; depends=[dplyr jsonlite lubridate magrittr tibble tidyr]; };
   algorithmia = derive2 { name="algorithmia"; version="0.0.2"; sha256="0kly70l9si8ni8n5xm30vai70pvfvip6354scvjqj34362s0lm0a"; depends=[base64enc httr rjson xml2]; };
   algstat = derive2 { name="algstat"; version="0.0.2"; sha256="1ssdrrwnxrhx3syndqxqcaldlbnjamk3x2yiq7jgxy0qsiadmqsi"; depends=[mpoly Rcpp reshape2 stringr]; };
   alineR = derive2 { name="alineR"; version="1.1.4"; sha256="1gi4pl7ij60pz85yjiga5kvldraj9n3nhcyqdxrigs0cqvdwg3ar"; depends=[]; };
@@ -4130,7 +4222,7 @@ in with self; {
   alphahull = derive2 { name="alphahull"; version="2.1"; sha256="129b2j9j60p2wvbb8703x18pydv1g715vmjcb1a80v70i93w4f49"; depends=[ggplot2 R_utils sgeostat spatstat splancs tripack]; };
   alphashape3d = derive2 { name="alphashape3d"; version="1.3"; sha256="15l8hsn3jcn5jzwfpya99v2mzrgmhl3i587nw6cx4aky75ajslcx"; depends=[geometry rgl]; };
   alphavantager = derive2 { name="alphavantager"; version="0.1.0"; sha256="02vv0mks73rih4xwabsnk8rkl3cipd27k5lak9lp1rl0agp8g68v"; depends=[devtools dplyr glue httr jsonlite lubridate purrr readr stringr tibble tidyr]; };
-  alr3 = derive2 { name="alr3"; version="2.0.5"; sha256="0zrrsv2kjq3cky3bhk6gp32p1qpr1i5k2lx7c1w08bql0nb1x740"; depends=[car]; };
+  alr3 = derive2 { name="alr3"; version="2.0.7"; sha256="0975m657ri8ad4djrwfdv4cslw8inykq35aj5m00kmsc8gb624j0"; depends=[car]; };
   alr4 = derive2 { name="alr4"; version="1.0.5"; sha256="0m8jgc4mfni17psf8m0avf0m364vcq5k3c9x807p98ch2z5nsygv"; depends=[car effects]; };
   alterryx = derive2 { name="alterryx"; version="0.3.0"; sha256="0y76xy7m7dklvkhfr2czq54ffgj2j5zhnm2kza7m463j1w1mkcqz"; depends=[base64enc digest httr jsonlite]; };
   altmeta = derive2 { name="altmeta"; version="2.2"; sha256="1k3p06v8ccj0dbjfpl4nw6579bwcy4j925rk15v55khqmrlx780l"; depends=[]; };
@@ -4138,10 +4230,11 @@ in with self; {
   ambhasGW = derive2 { name="ambhasGW"; version="0.0.2"; sha256="0v517i4whip45pk6bwlwval9pz367pcgzz62b2z22mrwgi6m6bck"; depends=[raster rgdal yaml]; };
   ameco = derive2 { name="ameco"; version="0.2.8"; sha256="1i2ap11z1awalw71hai719xh57banpfgj1nllca66zf781x80di9"; depends=[]; };
   amei = derive2 { name="amei"; version="1.0-7"; sha256="0dyx6a1y5i0abwka0y89d0mpj55rm5ywb4r9c2mqmy43djp181hn"; depends=[]; };
+  amelie = derive2 { name="amelie"; version="0.2.0"; sha256="01v93dswr9nk0kvq50jri4568w17pwkcn64xbpzn2p4c7w6gqkhh"; depends=[]; };
   amen = derive2 { name="amen"; version="1.3"; sha256="1qaznfmnh3dlnp41afd37lr328qzy50hn8hi0c302wj0f992ycqg"; depends=[]; };
   aml = derive2 { name="aml"; version="0.1-1"; sha256="09xxlxp784wlb561apns3j8f2h9pfk497cy5pk8wr4hhqqv4d3al"; depends=[lars]; };
   ampd = derive2 { name="ampd"; version="0.2"; sha256="0bi8qngd37n60ym516yjcahxc536vdwm60rq5ld32170hww69j7c"; depends=[]; };
-  amt = derive2 { name="amt"; version="0.0.2.0"; sha256="1w6rdyzyzxsa5qxmcpm1ahgz65z72nil3ay51m8g9qjk7v1xrj8p"; depends=[broom circular dplyr fitdistrplus FNN geosphere lazyeval leaflet lubridate maptools purrr raster Rcpp rgeos rlang sp survival tibble tidyr tidyverse]; };
+  amt = derive2 { name="amt"; version="0.0.3.0"; sha256="1a9hvvqh7359bs2x031qgkq364d07kf60jgn13kz5nva36c5wl8v"; depends=[broom circular dplyr fitdistrplus FNN geosphere lazyeval leaflet lubridate maptools purrr raster Rcpp rgeos rlang sp survival tibble tidyr tidyverse]; };
   anMC = derive2 { name="anMC"; version="0.2.0"; sha256="1j6dah49sgfsb7bj4xys5rcaqw12rrkqhqryqz2xhdkazjmz3gpq"; depends=[mvtnorm Rcpp RcppArmadillo]; };
   anacor = derive2 { name="anacor"; version="1.1-3"; sha256="0mj8g9p4fla0ax9jvcq7kii4lrhj8g872p11nys06anva22qjp51"; depends=[car colorspace fda]; };
   analogsea = derive2 { name="analogsea"; version="0.6.0"; sha256="1fcvf3yci3szm155pnk89q36dgc55wdlffvll642zn26zc5d1y5n"; depends=[aws_s3 httr jsonlite magrittr yaml]; };
@@ -4153,24 +4246,23 @@ in with self; {
   anchoredDistr = derive2 { name="anchoredDistr"; version="1.0.3"; sha256="07q4np0zryb49cpi7w5iz0qna63cyp9nz13d8ws6x9ccg417r99a"; depends=[DBI dplyr ggplot2 np plyr reshape2 Rmisc RSQLite]; };
   anchors = derive2 { name="anchors"; version="3.0-8"; sha256="12gd2526y7s2a8i6b9xma2c3sc6zxnwzl6sn8b50hbxizwr8d34j"; depends=[MASS rgenoud]; };
   andrews = derive2 { name="andrews"; version="1.0"; sha256="130i86qkdy1xpcf611jpzqgmd17iik7j7spdcfwzk48f31biyp8v"; depends=[]; };
-  anesrake = derive2 { name="anesrake"; version="0.75"; sha256="1blq1blyq122jlj2yp8l7gam49q6h1wg6c9v0kkfkmnh5dwgz3mm"; depends=[Hmisc weights]; };
   anfis = derive2 { name="anfis"; version="0.99.1"; sha256="1v8di5dzwb1g1ldi7idcmmr9nirp9kxvc8km1qq1i8zaw1bh8pqb"; depends=[]; };
   angstroms = derive2 { name="angstroms"; version="0.0.1"; sha256="1k8q4pkb5vcjfp2n2dga3q2ydmdxv020k5qzrb6w01ixrgf15d8l"; depends=[nabor ncdf4 proj4 raster sp spbabel]; };
-  aniDom = derive2 { name="aniDom"; version="0.1.2"; sha256="0lmq7k2l7nk120m96wj8zdsw03dqfvhz9y9miizrhl8db9nw9qka"; depends=[rptR]; };
+  aniDom = derive2 { name="aniDom"; version="0.1.3"; sha256="1xjbj9d6kv5nprsh1z58gbi338f7sj7dimgvy92j6n1xbrlh83p5"; depends=[rptR]; };
   anim_plots = derive2 { name="anim.plots"; version="0.2"; sha256="1plpi90qzk4ng0sm77fvqyv1063w67axvdc29q5nvz4h6v4j7ks3"; depends=[animation]; };
   animalTrack = derive2 { name="animalTrack"; version="1.0.0"; sha256="0jlvfflpaq64s48sblzh1n1vx8g3870iss97whigri29s6hn79ry"; depends=[rgl]; };
   animation = derive2 { name="animation"; version="2.5"; sha256="0pxmihfr3q1hh4cdnzf7wbzqak5spa3kv4p1wl89giqqngqzwcmj"; depends=[]; };
-  anipaths = derive2 { name="anipaths"; version="0.8.0"; sha256="1czs8s4kb1a0s25bd4nv1w1p52wxr4q5zfch5xgp766rgfpahylr"; depends=[animation knitr RColorBrewer rgdal scales sp]; };
+  anipaths = derive2 { name="anipaths"; version="0.9.3"; sha256="0pip9vhp3d4c6i6l9cmdds3nwaf8cspqviff6q7xng0ib8mi995n"; depends=[animation knitr mgcv RColorBrewer rgdal scales sp]; };
   annovarR = derive2 { name="annovarR"; version="1.0.0"; sha256="0l2csp06m5f3i1b4h0pvl8mmzx25c0b411c5sdc3qszirbplh038"; depends=[AnnotationDbi BioInstaller configr data_table DBI futile_logger glue ngstk RMySQL RSQLite stringi stringr vcfR]; };
   anocva = derive2 { name="anocva"; version="0.1.1"; sha256="1byg40jla71k1901js5h9yq89j63d00vkm60id1fxlpv95c4wdrr"; depends=[cluster]; };
   anoint = derive2 { name="anoint"; version="1.4"; sha256="10gdqgag9pddvxh80h458gagvv1474g4pcpa71cg3h7g62rqvmv5"; depends=[glmnet MASS survival]; };
-  anomalyDetection = derive2 { name="anomalyDetection"; version="0.2.4"; sha256="0a9m9bxz9v9xx19lq8yih727p7zy25ndfamwajzgh0zvx394h0jz"; depends=[caret dplyr ggplot2 gmp magrittr MASS plyr purrr Rcpp RcppArmadillo tibble tidyr]; };
+  anomalize = derive2 { name="anomalize"; version="0.1.1"; sha256="1szxjc8bh616z2xc50hcggh4ky1b7343i3xmg81rbssvkl2gghlh"; depends=[dplyr ggplot2 glue purrr rlang sweep tibble tibbletime tidyr timetk]; };
+  anomalyDetection = derive2 { name="anomalyDetection"; version="0.2.5"; sha256="132wb0xz04zib3x7802b2q546rkf097rsxyi9mi86g6vv7yyw9z1"; depends=[caret dplyr ggplot2 gmp magrittr MASS plyr purrr Rcpp RcppArmadillo tibble tidyr]; };
   anominate = derive2 { name="anominate"; version="0.6"; sha256="01p2qkqf88bzhwywyass5r8dwg2ycflmkbzmsps7fzy0kv3xyb02"; depends=[coda MCMCpack pscl wnominate]; };
   anonymizer = derive2 { name="anonymizer"; version="0.2.0"; sha256="0zlzxcqy8fjhh6ab58a1pi0k686dzgap58d160ms6bsr5mgn3fbf"; depends=[]; };
-  antaresProcessing = derive2 { name="antaresProcessing"; version="0.13"; sha256="0v6jyvw2bxjagbkcd08w6rxdws34idqd938726c0s36cj1a583n5"; depends=[antaresRead data_table]; };
-  antaresRead = derive2 { name="antaresRead"; version="2.0.2"; sha256="0rilfd8f8wc57ai8s1xl4h346y3qdgspa8j694nnj9n4zss30ycb"; depends=[data_table lubridate plyr shiny stringr]; };
-  antaresViz = derive2 { name="antaresViz"; version="0.12.0"; sha256="0066kidfkiyqw6fzkvi40hdpy25djvni9s0q69c8gjvzrh84i5p5"; depends=[antaresProcessing antaresRead assertthat data_table dygraphs geojsonio htmltools htmlwidgets leaflet leaflet_minicharts lubridate manipulateWidget plotly raster rgeos shiny sp spMaps webshot]; };
-  antitrust = derive2 { name="antitrust"; version="0.98"; sha256="1n8js5hwl96a76g50mq69hsf46v6ajf3s7kr19pfrqnp3jgi3gk3"; depends=[BB evd ggplot2 MASS numDeriv]; };
+  antaresProcessing = derive2 { name="antaresProcessing"; version="0.15.1"; sha256="0x2rcj4cfw0rsyzdc98j8yk8mp8cnbpx4qj587wszxlyf90yzgfa"; depends=[antaresRead data_table]; };
+  antaresRead = derive2 { name="antaresRead"; version="2.1.0"; sha256="1khvwh55gfd62avaj9vl709nrcykyc4zn11fxikbqqgwm9mq7835"; depends=[data_table lubridate plyr shiny stringr]; };
+  antitrust = derive2 { name="antitrust"; version="0.99.7"; sha256="0si9vnbk6rcpp913cyfh5h4a5fx9kzafr5x5chb3gakzrbzz0hav"; depends=[BB evd MASS numDeriv]; };
   antiword = derive2 { name="antiword"; version="1.1"; sha256="0nbx2l0d2y4qvcw4dw3m26zfkgdmav4cq0l00gib7l3y9pqxzjh5"; depends=[sys]; };
   anytime = derive2 { name="anytime"; version="0.3.0"; sha256="1byhgplskj17d0gib9sajfnzyv8p9slgq1vy8fq9j2ibirl86a91"; depends=[BH RApiDatetime Rcpp]; };
   aod = derive2 { name="aod"; version="1.3"; sha256="1a6xs5d5289w69xd2salsxwikjjhjzvsnplqrq78b1sr6kzfyxz3"; depends=[]; };
@@ -4178,17 +4270,18 @@ in with self; {
   aoos = derive2 { name="aoos"; version="0.5.0"; sha256="0y92vs27i0mkpjdclqzq4j9g1axkymhi3v8xp1v6hazh35yzjkfj"; depends=[magrittr roxygen2]; };
   aop = derive2 { name="aop"; version="1.0.0"; sha256="1i3mixiwcvqygbcvj6f9vm223plmydzmixpy6nhis2zv9d90vakd"; depends=[ggplot2 graph igraph plyr Rgraphviz rjson]; };
   aoristic = derive2 { name="aoristic"; version="0.6"; sha256="0b9h2l59vvrvbjjwwb43j74frvwa8lsj4x5kwhwpsfjfch1yqwjl"; depends=[classInt ggplot2 GISTools lubridate maptools MASS plotKML RColorBrewer reshape2 rgdal sp spatstat]; };
-  apTreeshape = derive2 { name="apTreeshape"; version="1.4-5"; sha256="0mvnjchhfbpbnrgnplb6qxa7r2kkvw29gqiprwggkf553wi6zl48"; depends=[ape quantreg]; };
+  apTreeshape = derive2 { name="apTreeshape"; version="1.5-0"; sha256="0mnydk157557pnkjvcadlghn5d8w9kxas4kwz4y4w21xg7z1jrig"; depends=[ape coda cubature pbapply quantreg]; };
   apa = derive2 { name="apa"; version="0.2.0"; sha256="1f9c8m5z8j7mbmbh61vcs680ya1zq5spwqs90zhajaw5fhvlg8km"; depends=[dplyr magrittr purrr rmarkdown stringr]; };
   apaStyle = derive2 { name="apaStyle"; version="0.5"; sha256="1x3kgyxhgbx3r7wi759j75wh811jcm6z559mrk4zm4p99vqz10bl"; depends=[ReporteRs]; };
-  apaTables = derive2 { name="apaTables"; version="1.5.1"; sha256="1ajff635vvypi457wk55bp8kddm80hg2af3hayp3rvjvdk8a8fjv"; depends=[broom car dplyr MBESS]; };
+  apaTables = derive2 { name="apaTables"; version="2.0.2"; sha256="0b3vaknj0a9znrgr98v35ka0lf5y1wcy1x0yv249gysikncn9mjc"; depends=[boot broom car dplyr tibble]; };
+  apaText = derive2 { name="apaText"; version="0.1.1"; sha256="1r217k60w027i63nbj24b1rm37m4qf7a6iirc941s945babkxcmb"; depends=[dplyr]; };
   apc = derive2 { name="apc"; version="1.3"; sha256="1hgkqkvry9is8kjk2w46k637sig7fdznnc75wbrc8bq1hbrmf785"; depends=[lattice]; };
   apcluster = derive2 { name="apcluster"; version="1.4.5"; sha256="0ipg5m3d7fnbvvlavbv8q8ixyrcgdspzwkv00q93f4biybza27x6"; depends=[Matrix Rcpp]; };
   apdesign = derive2 { name="apdesign"; version="1.0.0"; sha256="041zyd7ih9nnj92jj9vb9ya1ij9lmj1dzx64q74vyiadw1ix5l66"; depends=[Matrix]; };
-  ape = derive2 { name="ape"; version="5.0"; sha256="0q59pmxawz498cb9mv5m49lhiwxib8ak94yyydz7qg8b6lpd4bn3"; depends=[lattice nlme Rcpp]; };
+  ape = derive2 { name="ape"; version="5.1"; sha256="0vm2065993wf4hdqarxqykhfz9aaj0rrb98alhkq4qw1d2kdrmdp"; depends=[lattice nlme Rcpp]; };
   apercu = derive2 { name="apercu"; version="0.2.3"; sha256="0w9hi8pdjb3nschh4cy387q67jxhkl2bn9vir949rsl831x4cs1j"; depends=[pls]; };
   apex = derive2 { name="apex"; version="1.0.3"; sha256="157i67yvb9xqlhzcgkxj7n5lq65svxs82z38dv2c0k8p4krjl1pd"; depends=[adegenet ape phangorn]; };
-  aphid = derive2 { name="aphid"; version="1.0.1"; sha256="1s41ph6i28l14h8s5vvgmx6kby378x27y3vwbz25f2jmq8i7fqi2"; depends=[openssl phylogram Rcpp]; };
+  aphid = derive2 { name="aphid"; version="1.1.0"; sha256="0mf2v7b915hpasic2yqxi0g5fcrwac4d1ycikwzcd9hb9qngcb0n"; depends=[kmer openssl Rcpp]; };
   aplore3 = derive2 { name="aplore3"; version="0.9"; sha256="0af6klscsxvh4amp519b6r41bzysf61p040fj4l5706bbya1arhw"; depends=[]; };
   aplpack = derive2 { name="aplpack"; version="1.3.0"; sha256="0i6jy6aygkqk5gagngdw9h9l579lf0qkiy5v8scq5c015w000aaq"; depends=[]; };
   apmsWAPP = derive2 { name="apmsWAPP"; version="1.0"; sha256="1azgif06dsbadwlvv9nqs8vwixp6balrrbpj62khzmv1jvqr4072"; depends=[aroma_light Biobase DESeq edgeR genefilter gtools multtest seqinr]; };
@@ -4206,13 +4299,13 @@ in with self; {
   apt = derive2 { name="apt"; version="2.5"; sha256="1y18bqnnxy5p0xx9gbfrnrzq3nlhw3psl5zlibrw6lfhb8lxd4mk"; depends=[car copula erer gWidgets urca]; };
   aptg = derive2 { name="aptg"; version="0.1.0"; sha256="06z8041h1k9v0ymd7azn11xzhqxb8lda4r7nyg51h8z3i8mpq1ba"; depends=[ape brranching phytools taxize xml2]; };
   aqfig = derive2 { name="aqfig"; version="0.8"; sha256="0ha0jb5ag3zx6v7c63lsm81snslzb8y8g565mxjmf7vxpcmzzqsi"; depends=[geoR]; };
-  aqp = derive2 { name="aqp"; version="1.15"; sha256="0hgz2m3nn45marvx49n62xmq1d1xhy9cf6wb829cvxczisvlakgy"; depends=[cluster digest Hmisc lattice MASS plotrix plyr RColorBrewer reshape scales sp stringr]; };
+  aqp = derive2 { name="aqp"; version="1.16"; sha256="11ksjvvwazan2xk535ygrk8qs66ny6fywfgw2mpy8kv2637l9pay"; depends=[cluster digest Hmisc lattice MASS plotrix plyr RColorBrewer reshape scales sp stringr]; };
   aqr = derive2 { name="aqr"; version="0.4"; sha256="04frgil3nbxsww66r9x0c6f308pzqr1970prp20bdv9qm3ym5axw"; depends=[RCurl xts]; };
   arabicStemR = derive2 { name="arabicStemR"; version="1.2"; sha256="1vflynbi7aln7x2p4jg9gsvfrxn4v6qkb4wbrzxmj561lqy9fcay"; depends=[]; };
-  arc = derive2 { name="arc"; version="1.1.3"; sha256="1p186f769vqhd36l5bivm1yi5kjgv9fjmlafjx0ibyascbcz131h"; depends=[arules discretization Matrix R_utils]; };
+  arc = derive2 { name="arc"; version="1.2"; sha256="1advs0aqxh84c5n9akww8cdafh7npgaibrb42wncwhv9nfi7wy1v"; depends=[arules discretization Matrix R_utils]; };
   archdata = derive2 { name="archdata"; version="1.2"; sha256="0igh6qy3yv5hzprj9izpkqp3f6jkb7pydqzmnl8sqhqjqvb3lnij"; depends=[]; };
   archetypes = derive2 { name="archetypes"; version="2.2-0"; sha256="1djzlnl1pjb0ndgpfj905kf9kpgf9yizrcvh4i1p6f043qiy0axf"; depends=[modeltools nnls]; };
-  archiDART = derive2 { name="archiDART"; version="3.0"; sha256="0yh9asf45l2fxxm67vg9snaqbvs1bb24lm2xsrb6xrr62avdrqlq"; depends=[rgl sp TDA XML]; };
+  archiDART = derive2 { name="archiDART"; version="3.2"; sha256="08jam0nbqvrgrxjqj24k7f0dybyi935w977yi1qk34q1p48462ph"; depends=[rgl sp XML]; };
   archivist = derive2 { name="archivist"; version="2.3"; sha256="0rwdk2scmd06j428zadcxmvshvssf421265632595hvcacqz6yy4"; depends=[DBI digest httr lubridate magrittr RCurl RSQLite]; };
   archivist_github = derive2 { name="archivist.github"; version="0.2.2"; sha256="04xb2i47y12ic87gb2l30bldil0505h7s9601hq0afjg3npx6jq7"; depends=[archivist digest git2r httr jsonlite]; };
   areaplot = derive2 { name="areaplot"; version="1.2-0"; sha256="0xzfgbnzqsvnq46nsxwyqrwldbaqns3h5np0f5wxpjda9cy2rna1"; depends=[]; };
@@ -4223,9 +4316,9 @@ in with self; {
   argparse = derive2 { name="argparse"; version="1.1.1"; sha256="0fzrbj87b274vf96azdnsjxk2nf45d5wy58vzmlah4b4h7q4j524"; depends=[findpython getopt jsonlite proto]; };
   argparser = derive2 { name="argparser"; version="0.4"; sha256="0s1wxshx4jk69wfxhycx973q6y8cmqrfymyjklhq1i8xrj0kmmx9"; depends=[]; };
   ari = derive2 { name="ari"; version="0.1.0"; sha256="05pva8jp7dhl46dm1fha6f8mavrs76a6c491fq3mavly8qcbgx44"; depends=[aws_polly progress purrr rmarkdown rvest tuneR webshot xml2]; };
-  arm = derive2 { name="arm"; version="1.9-3"; sha256="00773z8ai07s9wa2annzjqrxml3z13fh9zqls0z1n7s3h8fwrvqw"; depends=[abind coda lme4 MASS Matrix nlme]; };
+  arm = derive2 { name="arm"; version="1.10-1"; sha256="0vvp90jygajd6ydky57z66wqjq9msfbl88irj5jbsray574mh4bg"; depends=[abind coda lme4 MASS Matrix nlme]; };
   arnie = derive2 { name="arnie"; version="0.1.2"; sha256="14xkgyfn9zvkbgram15w7qzqc5pl1a8ig66cif7a79najrgd914r"; depends=[]; };
-  aroma_affymetrix = derive2 { name="aroma.affymetrix"; version="3.1.0"; sha256="1slbmqr0qd8r9lrms7b86fhvn612g4yjbm604zahjr335q6d7h03"; depends=[aroma_apd aroma_core future listenv MASS matrixStats R_cache R_devices R_filesets R_methodsS3 R_oo R_utils]; };
+  aroma_affymetrix = derive2 { name="aroma.affymetrix"; version="3.1.1"; sha256="1x2lwdabvh7cjdy57jrnbdb7s9vxs18zyvfzwavi2pgldqz6v2aw"; depends=[aroma_apd aroma_core future listenv MASS matrixStats R_cache R_devices R_filesets R_methodsS3 R_oo R_utils]; };
   aroma_apd = derive2 { name="aroma.apd"; version="0.6.0"; sha256="1l9p5qww71h6wlg2z15wirsfz2i7hmf637l17zaf3n7fp9s3flc7"; depends=[R_huge R_methodsS3 R_oo R_utils]; };
   aroma_cn = derive2 { name="aroma.cn"; version="1.6.1"; sha256="1d9g81b12a3m03wrvb3cvg33fjybgiabpxhci2y2rr6diay42pmr"; depends=[aroma_core matrixStats PSCBS R_cache R_filesets R_methodsS3 R_oo R_utils]; };
   aroma_core = derive2 { name="aroma.core"; version="3.1.1"; sha256="0mbhk818m8if6cr7g42yy7ba13jh2xs66xkx4zh7dqlwrrmgjnk1"; depends=[future listenv matrixStats PSCBS R_cache R_devices R_filesets R_methodsS3 R_oo R_rsp R_utils RColorBrewer]; };
@@ -4233,10 +4326,10 @@ in with self; {
   arrangements = derive2 { name="arrangements"; version="1.0.2"; sha256="0vqxx0pzvvqnbklpxrcq7d5ppicwbwk3gb2846in0gqjhn4ya4g1"; depends=[gmp R6]; };
   arrayhelpers = derive2 { name="arrayhelpers"; version="1.0-20160527"; sha256="1ib91hpg6xgy0jr4sb8ib19x0v4f5n96lak0qm0z5vksawgcnp1l"; depends=[svUnit]; };
   ars = derive2 { name="ars"; version="0.5"; sha256="0m63ljb6b97kmsnmh2z5phmh24d60iddgz46i6ic4rirshq7cpaz"; depends=[]; };
-  arsenal = derive2 { name="arsenal"; version="1.0.0"; sha256="0fv3zq0i28sbdvwh589c27j4k734vr90aik3gxdablgasrhdjfza"; depends=[testthat]; };
+  arsenal = derive2 { name="arsenal"; version="1.2.0"; sha256="1glh8vyms5hcplzzn5n6fynr8jyryy65xb2y9lf6nv7kziwqr5fk"; depends=[testthat]; };
   artfima = derive2 { name="artfima"; version="1.5"; sha256="1nqsq9fsqk9kag9n7i2r9yvf578nkdfrkkv7qy8650prka0jca2p"; depends=[gsl ltsa]; };
-  arules = derive2 { name="arules"; version="1.5-5"; sha256="05v3sin5w4b28ms34mvk3ha59c74pq20afrlq41ylfxxzffrljar"; depends=[Matrix]; };
-  arulesCBA = derive2 { name="arulesCBA"; version="1.1.2"; sha256="0c37cffb89gsyv5shpgiksrh5hi2lzdqsk7xl8lxzz6mnv4v1xrj"; depends=[arules caret Matrix testthat]; };
+  arules = derive2 { name="arules"; version="1.6-1"; sha256="0glfqgxr87900kigmkby2ff7qrjvd6aq595q85y056i5ckjcp615"; depends=[Matrix]; };
+  arulesCBA = derive2 { name="arulesCBA"; version="1.1.3"; sha256="0dpa9v8xksq21lyv6g7m81ccpd08lq816vfy5ga8g3blkg1qfrf2"; depends=[arules caret discretization Matrix testthat]; };
   arulesNBMiner = derive2 { name="arulesNBMiner"; version="0.1-5"; sha256="1q4sx6c9637kc927d0ylmrh29cmn4mv5jxxpl09yaclzfihjlk9a"; depends=[arules rJava]; };
   arulesSequences = derive2 { name="arulesSequences"; version="0.2-19"; sha256="1cncvrf7za38b3vdwbzy4yrbakj7jbpxrl1jg6bvjnlkymiajavx"; depends=[arules]; };
   arulesViz = derive2 { name="arulesViz"; version="1.3-0"; sha256="0k9lq1w0cdk9mlbr5mwh87qrzank1nd8bwlymv4xyi7xm5y6wq4l"; depends=[arules colorspace DT igraph plotly scatterplot3d seriation vcd visNetwork]; };
@@ -4250,10 +4343,10 @@ in with self; {
   asd = derive2 { name="asd"; version="2.2"; sha256="0p3r4qjam3sl3rpcilb0pgx4xx3ly71xqnvkv31vzjs885lgxz4l"; depends=[mvtnorm]; };
   asdreader = derive2 { name="asdreader"; version="0.1-3"; sha256="15a922aw0v5w4hrha03xifx8cpifcc773gambgwqq6i5nz08ya26"; depends=[]; };
   ash = derive2 { name="ash"; version="1.0-15"; sha256="1ay2a2agdmiz7zzvn26mli0x0iwk09g5pp4yy1r23knhkp1pn2lb"; depends=[]; };
-  ashr = derive2 { name="ashr"; version="2.0.5"; sha256="0blr19ipcanwjxizilkd8hb37dlhb6idjcw2lf0ll8pkd2l68f5z"; depends=[assertthat doParallel etrunct foreach pscl Rcpp SQUAREM truncnorm]; };
+  ashr = derive2 { name="ashr"; version="2.2-7"; sha256="1bgkzab7f7fqi259vxrpkxq8yzhh1sl3mqdzc73dk54c5849b2pz"; depends=[assertthat doParallel etrunct foreach Matrix pscl Rcpp SQUAREM truncnorm]; };
   asht = derive2 { name="asht"; version="0.9.3"; sha256="075gzxly8sqkbwnznxcr4z3zs1qvlyl8c4ishgxk035ik1w6p16n"; depends=[bpcp coin exact2x2 exactci perm ssanv]; };
   aslib = derive2 { name="aslib"; version="0.1"; sha256="0dkb6bb6dqavjklbciqxqhi3fdqib9asdnhiap2gp9b9wfnkyq7k"; depends=[BatchExperiments BatchJobs BBmisc checkmate corrplot ggplot2 llama mlr parallelMap ParamHelpers plyr reshape2 RWeka stringr yaml]; };
-  asnipe = derive2 { name="asnipe"; version="1.1.8"; sha256="10pza52bcfdj9412hr69lcv4n43y0n91hfkbq8338fsqpad98ilz"; depends=[MASS Matrix]; };
+  asnipe = derive2 { name="asnipe"; version="1.1.9"; sha256="0r6hajdvasvik2ij58xm5kvlcz2gqzgqbvw0ypghrp0qkfqxkrla"; depends=[MASS Matrix]; };
   aspace = derive2 { name="aspace"; version="3.2"; sha256="1g51mrzb6amafky2kg2mx63g6n327f505ndhna6s488xlsr1sl49"; depends=[Hmisc shapefiles splancs]; };
   aspect = derive2 { name="aspect"; version="1.0-4"; sha256="1kxddm8v1y0v2r7lg24r1wpzk7lqzxlrpzq5xb9kn343g53lny6i"; depends=[]; };
   aspi = derive2 { name="aspi"; version="0.2.0"; sha256="0rhvxw243vvdv3hxa6pi343gcjc2cbxq1jzqirl9k1l4i3897l87"; depends=[]; };
@@ -4275,9 +4368,9 @@ in with self; {
   assertive_sets = derive2 { name="assertive.sets"; version="0.0-3"; sha256="1cqvh2syvh5b6d85h601zjmsdbbf3h8q98ids4dfl4frdshpasc7"; depends=[assertive_base]; };
   assertive_strings = derive2 { name="assertive.strings"; version="0.0-3"; sha256="0n6jrk88670g4ym0r8ii40a08a90z1xadj8wcryk8h0nl04dchfm"; depends=[assertive_base assertive_types stringi]; };
   assertive_types = derive2 { name="assertive.types"; version="0.0-3"; sha256="0zxq1jfrzgw95ll7alvm0xnk7aihjdksngq4ya2whyvfjbmv4vdb"; depends=[assertive_base assertive_properties codetools]; };
-  assertr = derive2 { name="assertr"; version="2.0.2.2"; sha256="0l2sjj9amhpkd8mg88mfs82gy0v84brkk8504mkjcaz7j2j9s3l5"; depends=[dplyr lazyeval MASS]; };
+  assertr = derive2 { name="assertr"; version="2.5"; sha256="17j5aw19cp9csbxhf277yrr4vlr2c5sk70v9a4fnch0c2q14l5f3"; depends=[dplyr lazyeval MASS rlang]; };
   assertthat = derive2 { name="assertthat"; version="0.2.0"; sha256="1wp5znk3xy338x6hknppk702jn596yr735d9i7c3wabm3sdzfgnp"; depends=[]; };
-  assignPOP = derive2 { name="assignPOP"; version="1.1.3"; sha256="12ldcm1v1s311n3c9sysaw5ba2z8yrzrf95rl7ip6fl2q8g0fv6b"; depends=[caret doParallel e1071 foreach ggplot2 MASS randomForest reshape2 stringr tree]; };
+  assignPOP = derive2 { name="assignPOP"; version="1.1.4"; sha256="1w13ls4d7gvp17dz0jafwnw9kqn3kl670vs0wf50rladg2fmh7af"; depends=[caret doParallel e1071 foreach ggplot2 MASS randomForest reshape2 stringr tree]; };
   assist = derive2 { name="assist"; version="3.1.3"; sha256="0ngnn75iid5r014fcly29zhcfpqkqq24znncc3jdanbhdmfyybyz"; depends=[lattice nlme]; };
   assocInd = derive2 { name="assocInd"; version="1.0.1"; sha256="16yzgvlqbapjhvzm5nw8vfrhh8mp9llnhck4bpgmszyrh93z1ha5"; depends=[]; };
   assortnet = derive2 { name="assortnet"; version="0.12"; sha256="1vyzrb8vsi9pcdn6jd83k77bg0q2a3dwdvlnmxnshqiif2pakb8m"; depends=[]; };
@@ -4308,10 +4401,11 @@ in with self; {
   audiolyzR = derive2 { name="audiolyzR"; version="0.4-9"; sha256="09jsrjy15vcn6da0kgk06ghayyrf3s853gqv8qdawg745ky2hbgi"; depends=[hexbin plotrix RJSONIO]; };
   audit = derive2 { name="audit"; version="0.1-1"; sha256="0hrcdcwda5c0snskrychiyfjcbnymkcl2x43bapb6inw9y8989qv"; depends=[]; };
   augSIMEX = derive2 { name="augSIMEX"; version="1.0"; sha256="1d13kh9xfkpwy2285awhvgfkwyqlsdk2bypm0i1jjf10avrynxvf"; depends=[MASS Rcpp rootSolve]; };
-  auk = derive2 { name="auk"; version="0.1.0"; sha256="042yygs00vya9xynl2i9bwhwwns3ba25ajp5zlgpv1zw6csby9ml"; depends=[assertthat countrycode dplyr rlang stringi stringr tidyr]; };
+  auk = derive2 { name="auk"; version="0.2.1"; sha256="18vqvjksnllbkwfskiv8cv0dbw92nzkxwb0rj14sxxw8y55hybyy"; depends=[assertthat countrycode dplyr rlang stringi stringr tidyr]; };
   aurelius = derive2 { name="aurelius"; version="0.8.4"; sha256="00bpf9sggvnajpmg3zsdgfjinkb6wbrcf1ris7qfhh1rp5rz4m4m"; depends=[gbm glmnet jsonlite]; };
   auto_pca = derive2 { name="auto.pca"; version="0.3"; sha256="01m2ldpcxzj7fhgmr9wp4ha3gqdyh7l5bkrnw83smcbq5229hsyy"; depends=[plyr psych]; };
   autoBagging = derive2 { name="autoBagging"; version="0.1.0"; sha256="01k44rgkpbbr3m2x360aq0fz2qi7nz036g5dsh2y3jy94rmddbyy"; depends=[abind caret cluster CORElearn e1071 entropy infotheo lsr MASS minerva party rpart xgboost]; };
+  autoFRK = derive2 { name="autoFRK"; version="1.0.0"; sha256="10vmgcpj2n5w9g4bjq2g3bz3n3x9b6h35w4qfr13v2sdzp3gz5da"; depends=[fields filehash filehashSQLite filematrix FNN LatticeKrig MASS Rcpp RcppEigen RcppParallel RSpectra spam]; };
   autoSEM = derive2 { name="autoSEM"; version="0.1.0"; sha256="0s58dnpr7zyclk5vwaf7a2id6paqsnb224f0gpmj2nms4klsw323"; depends=[GA lavaan snowfall]; };
   autoencoder = derive2 { name="autoencoder"; version="1.1"; sha256="0ly1aanayk28nx6yqfhl7d0zm4vg6rfjikf5ibn8zhmkrfyflj1y"; depends=[]; };
   autoimage = derive2 { name="autoimage"; version="2.0"; sha256="102f7wkrglsvdrsmyy79v0w7za5b79sn59czxzhriwrp4mrpdl47"; depends=[fields ggplot2 mapproj maps MBA viridisLite]; };
@@ -4320,22 +4414,25 @@ in with self; {
   automultinomial = derive2 { name="automultinomial"; version="1.0.0"; sha256="15cxnqaai2dln6jvk7lpfqvlpv5237zn18axp459p5zxcgg0lw88"; depends=[Hmisc igraph MASS Matrix]; };
   autoplotly = derive2 { name="autoplotly"; version="0.1.1"; sha256="1pm1760dd9p0h66q7y1v9icfhz1lk6i5akjda06jc2f0rq7mzlj0"; depends=[ggfortify ggplot2 plotly]; };
   autopls = derive2 { name="autopls"; version="1.3"; sha256="1qf5gk1vsz1p5670w7bgzh3b15wvrx1gy6ih4sivw0vj8bcjxbw9"; depends=[pls]; };
-  autothresholdr = derive2 { name="autothresholdr"; version="1.1.2"; sha256="0gkab2fnavjfb7h2fd2jbk5phz10hc18kf3l6r2zvvmq3gfhh2db"; depends=[checkmate ijtiff magrittr Rcpp RSAGA]; };
+  autothresholdr = derive2 { name="autothresholdr"; version="1.2.0"; sha256="09wpyirsqw0s4b5221ksr0v0srrq24c6ca8kr5m4hr4ps728np0p"; depends=[checkmate filesstrings ijtiff magrittr Rcpp]; };
   autovarCore = derive2 { name="autovarCore"; version="1.0-2"; sha256="0yvz3nn792xdam8hgnkdrhcyaf9idp0shb1s0yfj1xigknlinn9n"; depends=[Amelia jsonlite Rcpp urca vars]; };
   available = derive2 { name="available"; version="1.0.0"; sha256="0w4i0ajw0p71k717v8hg9d8az08m8yl97w5lly87kli36p7mv30h"; depends=[cli clisymbols crayon desc glue jsonlite memoise purrr SnowballC stringdist tibble tidytext udapi yesno]; };
   averisk = derive2 { name="averisk"; version="1.0.3"; sha256="02j27d4jxgy2bk5sgxp1xdfyqr321civs99qj0g8cp34gwqk0j3m"; depends=[MASS]; };
   aws = derive2 { name="aws"; version="1.9-6"; sha256="0mfq44pji0p6d7s1wbwi0f97lsh3f33wnj8fiyimpg9fv8lr4inz"; depends=[awsMethods gsl]; };
-  aws_alexa = derive2 { name="aws.alexa"; version="0.1.4"; sha256="1dqfmmmvdmlpk9ld563f65chwp2ahhlnrvbzsj9m5rfjs0bw6yny"; depends=[aws_signature httr plyr XML]; };
+  aws_alexa = derive2 { name="aws.alexa"; version="0.1.6"; sha256="0c2yl023g2m4kqhhv4nbysjmp103aj3pk17dwyb9nrkpj9qm8zsh"; depends=[aws_signature dplyr httr xml2]; };
   aws_cloudtrail = derive2 { name="aws.cloudtrail"; version="0.1.5"; sha256="0p7qj9ivs14ska11a9qni4n0f8d05c1p126zvlxj9038c9p0y1wx"; depends=[aws_s3 aws_signature httr jsonlite]; };
-  aws_ec2metadata = derive2 { name="aws.ec2metadata"; version="0.1.2"; sha256="1ycxir3l7jcnxp6hdpr3zqf885hl8zb1yvjyr09cq3ql82vi95ml"; depends=[curl jsonlite]; };
+  aws_comprehend = derive2 { name="aws.comprehend"; version="0.1.2"; sha256="0480ggfdmcv2pkjzmwh40h4nd87qswrpwr6h3j959f9y8zmzfd7n"; depends=[aws_signature httr jsonlite]; };
+  aws_ec2metadata = derive2 { name="aws.ec2metadata"; version="0.1.4"; sha256="08l1gnqn2l6f6rkh21v1my2jp5bbzwnq38swymwl94jbnvnlrasw"; depends=[curl jsonlite]; };
   aws_iam = derive2 { name="aws.iam"; version="0.1.7"; sha256="0hag8j5g8rqg39x4f6d8vwwzhz98cx7549xixfl9cxiff7x9sz2c"; depends=[aws_signature httr jsonlite xml2]; };
   aws_lambda = derive2 { name="aws.lambda"; version="0.1.6"; sha256="16vis596clxn6h9j1k66224ikacsg0f9xrzqi5987nqlzrwskjgk"; depends=[aws_signature base64enc httr jsonlite]; };
   aws_polly = derive2 { name="aws.polly"; version="0.1.2"; sha256="0ij0rbng8q7xfa08p4x1l1lcmskmz3fy2pvln28zxqbs6jbc22rm"; depends=[aws_signature httr jsonlite tuneR]; };
-  aws_s3 = derive2 { name="aws.s3"; version="0.3.3"; sha256="1vk4ykgfdyfispd9nkk1qc1jjhvjhxqzhd48g5ddqz09wm0wx4w3"; depends=[aws_signature base64enc digest httr xml2]; };
+  aws_s3 = derive2 { name="aws.s3"; version="0.3.11"; sha256="0zb219xib86980gq00sam804m91448lsmcy4a3ac322sifmrpasc"; depends=[aws_signature base64enc digest httr xml2]; };
   aws_ses = derive2 { name="aws.ses"; version="0.1.4"; sha256="13hf4iqhnpkm9rnr7nzwky663vplnkjrgk90zix91cn2fvaspjgp"; depends=[aws_signature httr jsonlite]; };
-  aws_signature = derive2 { name="aws.signature"; version="0.3.5"; sha256="1ijzdxv46x5iydmhgbri4lfpdhhlhz1ybhwwdcy4m4mjz9s74yhk"; depends=[base64enc digest]; };
+  aws_signature = derive2 { name="aws.signature"; version="0.4.1"; sha256="094d0jwg6433bdfkvs3r9mjvg61k78ff4ck0zhgyaz4aivlchm9j"; depends=[base64enc digest]; };
   aws_sns = derive2 { name="aws.sns"; version="0.1.7"; sha256="0i8nn5jnykhsjwn4nsqdqbagankjc09zs8and54rkirdigzdny8v"; depends=[aws_signature httr jsonlite xml2]; };
   aws_sqs = derive2 { name="aws.sqs"; version="0.1.10"; sha256="09sh3injb4kfrq5al7hmbnqdn5v5hnjkqqsz86vpi4154435ymdg"; depends=[aws_signature httr jsonlite xml2]; };
+  aws_transcribe = derive2 { name="aws.transcribe"; version="0.1.2"; sha256="12qz7j535aqxcvcawj4iqycbcmlba32sdl8qj2cw6rq5rgm55xaz"; depends=[aws_signature httr jsonlite]; };
+  aws_translate = derive2 { name="aws.translate"; version="0.1.3"; sha256="0qr38f2ywrmccg0k080lhfvvf9zkmclvpmfcwjizls6qkwfww3il"; depends=[aws_signature httr jsonlite]; };
   awsMethods = derive2 { name="awsMethods"; version="1.1-0"; sha256="1xywcadpjyzlw5f2k9sbr8fvrj3kcr1r6swi23lc952yrl3gvpkl"; depends=[]; };
   awsjavasdk = derive2 { name="awsjavasdk"; version="0.2.0"; sha256="1461h565il4y68g0a3k7wgn9jyb6pys8405f780ldg6g44aa7p60"; depends=[assertthat R_utils rappdirs rJava]; };
   awspack = derive2 { name="awspack"; version="0.1.6"; sha256="0pf6g9w2r2rm887sa3v0gfwia2w2q94m40m76sq66gb3spkmngd5"; depends=[aws_alexa aws_cloudtrail aws_ec2metadata aws_iam aws_lambda aws_polly aws_s3 aws_ses aws_signature aws_sns aws_sqs]; };
@@ -4343,7 +4440,7 @@ in with self; {
   b6e6rl = derive2 { name="b6e6rl"; version="1.1"; sha256="17scdskn677vaxx1h2jypqaffvjgczryplg17nr3wigi1x0cxg7a"; depends=[]; };
   bPeaks = derive2 { name="bPeaks"; version="1.2"; sha256="1z6jghcmw0lwv17ms7gdp5zzimaawq3ahbwkxa4062g373592smd"; depends=[]; };
   bReeze = derive2 { name="bReeze"; version="0.4-2"; sha256="04zapsxb4lsi85m9qgrsm49yasf0b8wk0djdpa7xks4hjvmskfhq"; depends=[]; };
-  bWGR = derive2 { name="bWGR"; version="1.5"; sha256="0pa7g5dnnakgxzial0xf03pvmcfplx40cdfvmmyv2fcjrq2d85jd"; depends=[Rcpp]; };
+  bWGR = derive2 { name="bWGR"; version="1.5.2"; sha256="1ijz72zxxykscbsr4n1k66zjcy6zs9azgdyf2s5w8j291zy43gw6"; depends=[Rcpp]; };
   babar = derive2 { name="babar"; version="1.0"; sha256="13j5klrcnd4dwrgdbxlvwcj56l9mzi4j9ga6jj5i04pgdc6vsfx5"; depends=[]; };
   babel = derive2 { name="babel"; version="0.3-0"; sha256="1iwvx69051yhlxbcl6bypvc3mcih0q8bf3i29r3i79356hp12xqa"; depends=[edgeR]; };
   babynames = derive2 { name="babynames"; version="0.3.0"; sha256="018wyajdkpvcywcvkna57m5sqnsh7i9zq2hqlyb8q93mgyb3ddzm"; depends=[tibble]; };
@@ -4356,12 +4453,12 @@ in with self; {
   badgecreatr = derive2 { name="badgecreatr"; version="0.1.0"; sha256="070zb5jw817s9ykqc3dvzjqk48612gydkdc31svc0ji01s1y1545"; depends=[stringr]; };
   badger = derive2 { name="badger"; version="0.0.2"; sha256="15qnb0a6rqsf1dbb1cf9ag2z5f4zhf8b8psxbsdhh42qrg8g3mma"; depends=[dlstats rvcheck]; };
   bagRboostR = derive2 { name="bagRboostR"; version="0.0.2"; sha256="1k9w98p3ad3myzyqhcrc4rsn7196qvhnmk5ddx3fpd1rdvy2dnby"; depends=[randomForest]; };
-  bairt = derive2 { name="bairt"; version="0.1.1"; sha256="1i0y7bkhx0rsv93j32i2v3g2h3csxvnkkkx9kvkdnkcwzffps5x2"; depends=[coda mvtnorm shiny shinyjs]; };
+  bairt = derive2 { name="bairt"; version="0.1.2"; sha256="17nc0lp0bzwshik33v0gq5d6nd2gvm4799b7rfiq089zhnzv90kj"; depends=[coda mvtnorm shiny shinyjs]; };
   baitmet = derive2 { name="baitmet"; version="1.0.1"; sha256="02ydakqr8v41hdnhcsgigwnic8d48qswryg1srb5w1fqdmdglnkl"; depends=[erah HiClimR Rcpp signal XML]; };
-  ballr = derive2 { name="ballr"; version="0.1.1"; sha256="1n2kaindpr6ba2fc1zvkl78jxl24y1gxn9dxv10c8m594l8shbxw"; depends=[dplyr janitor lubridate magrittr rlang rvest xml2]; };
+  ballr = derive2 { name="ballr"; version="0.2.0"; sha256="1f5fclmgp0pznahr3ix7xiixqah01jmh2g6fvrqyi6xcin8ynwqc"; depends=[dplyr janitor lubridate magrittr rlang rvest xml2]; };
   bamboo = derive2 { name="bamboo"; version="0.9.19"; sha256="1k81r06kw50w6lm0vi6xwjymc4l13abagrn5b6czcyki3i6pwqc2"; depends=[rscala]; };
   bamdit = derive2 { name="bamdit"; version="3.1.0"; sha256="148ikj7mly8m6kxs2n4gidi7kb70i3x2vbf9xsllrf0cgvrjccps"; depends=[ggExtra ggplot2 gridExtra MASS R2jags rjags]; };
-  bamlss = derive2 { name="bamlss"; version="0.1-2"; sha256="1d5pinyq16y0ljjgf23mpabzpsx4n2vh91c89qmzclcw7ns0l7xw"; depends=[coda colorspace Formula Matrix MBA mgcv mvtnorm sp spam survival]; };
+  bamlss = derive2 { name="bamlss"; version="1.0-0"; sha256="0wa54f5zyjyplys29cqhrasc6qa8p5znfal2ihp0qhhs46wzsk4y"; depends=[coda colorspace Formula Matrix MBA mgcv mvtnorm sp survival]; };
   banR = derive2 { name="banR"; version="0.2.0"; sha256="0m71m99f8f4wckylry6z16gw6r2cc4wxbd9287ns00jr6s13x6c8"; depends=[dplyr httr magrittr purrr readr rlang stringr tibble]; };
   bandit = derive2 { name="bandit"; version="0.5.0"; sha256="03mv4vbn9g4mqikd9map33gmw2fl9xvb62p7gpxs1240w5r4w3fp"; depends=[boot gam]; };
   bang = derive2 { name="bang"; version="1.0.0"; sha256="16wy2imrdvhpdzi6ix9k69afqdyc44d1xr655yd3q1cl12x1nr04"; depends=[bayesplot rust]; };
@@ -4369,28 +4466,29 @@ in with self; {
   banxicoR = derive2 { name="banxicoR"; version="0.9.0"; sha256="0vchm2hnqm45fhn8k38rcam4vkazmifcl40390s2r04bgvqr0pnl"; depends=[rvest stringr xml2]; };
   bapred = derive2 { name="bapred"; version="1.0"; sha256="08kvc4cc984jv08ikwbja8zxidrcdiwi5w88hlqakbm8yc6hzssa"; depends=[affy affyPLM Biobase FNN fuzzyRankTests glmnet lme4 MASS mnormt sva]; };
   barcode = derive2 { name="barcode"; version="1.1"; sha256="14zh714cwgq80zspvhw88cs5b82gvz4b6yfbshj9b7x0y2961nxd"; depends=[lattice]; };
-  bartMachine = derive2 { name="bartMachine"; version="1.2.3"; sha256="15bv7q64ifjdg5ppx7vp3i3agil6dwirk5cf02lc243hmlg5lk1i"; depends=[bartMachineJARs car missForest randomForest rJava]; };
-  bartMachineJARs = derive2 { name="bartMachineJARs"; version="1.0"; sha256="1vnicq9amayxh69jqgly8jm7hvgjr22kvm1g6y2n7vphz70p9cq9"; depends=[rJava]; };
+  bartMachine = derive2 { name="bartMachine"; version="1.2.4.1"; sha256="0awshy5djs6f6v77g9f4xcmg9pg3zs650bzql3nvfxw5d0zdnbzb"; depends=[bartMachineJARs car missForest randomForest rJava]; };
+  bartMachineJARs = derive2 { name="bartMachineJARs"; version="1.1"; sha256="1wpfzrb6mrx3xmxy4rgnwygmpqq2l4ki2xqr4m51g1bl9nwirhzj"; depends=[rJava]; };
   basad = derive2 { name="basad"; version="0.2.0"; sha256="1qc2amkrjrgdqys275p82lmbpjszm5rzjdpri7hqc9d8b8q1vc9q"; depends=[Rcpp RcppEigen rmutil]; };
+  base2grob = derive2 { name="base2grob"; version="0.0.2"; sha256="0mknr1kdy2vpa8cj18crr98sp22qj27bb1g3mrm64azchsqr5k64"; depends=[gridGraphics]; };
   base64 = derive2 { name="base64"; version="2.0"; sha256="1labh0ycdm2xcjssj8bhnyjvbk44mcdsi0rb2p8rfqa428mrq9cf"; depends=[openssl]; };
   base64enc = derive2 { name="base64enc"; version="0.1-3"; sha256="13b89fhg1nx7zds82a0biz847ixphg9byf5zl2cw9kab6s56v1bd"; depends=[]; };
-  base64url = derive2 { name="base64url"; version="1.2"; sha256="1dmpb6cyabs6fqnbwshyws107p961203wic7his6zywsn9axymfc"; depends=[backports]; };
+  base64url = derive2 { name="base64url"; version="1.3"; sha256="1azik4yqafay4m2panbnyyf7cq5qb2qjv74ikhb8rljbsgv2xchd"; depends=[backports]; };
   baseballDBR = derive2 { name="baseballDBR"; version="0.1.2"; sha256="0w54g1avcqamc12lmvjchlqbqck9jfjccm441k03nsql460mpydq"; depends=[dplyr magrittr rvest xml2]; };
-  basefun = derive2 { name="basefun"; version="0.0-39"; sha256="1ylp9x2k275y30k2p7rljmwq0lfj7vb36d1fh4lvmaazci9dqz6c"; depends=[Matrix orthopolynom polynom variables]; };
+  basefun = derive2 { name="basefun"; version="1.0-1"; sha256="0qiszm71alh7p3inhiv9prdl4f5l45ny8plz2fm7l5h51z5xj54r"; depends=[Matrix orthopolynom polynom variables]; };
   baseline = derive2 { name="baseline"; version="1.2-1"; sha256="1vk0vf8p080ainhv09fjwfspqckr0123qlzb9dadqk2601bsivgy"; depends=[SparseM]; };
   basicTrendline = derive2 { name="basicTrendline"; version="1.0.1"; sha256="0rsmlp70ylpkqv437jcy3skwbfkj4xwkpjb2q79b9n8kw2ir0716"; depends=[]; };
   basicspace = derive2 { name="basicspace"; version="0.20"; sha256="0nyljk8ydasirgv7ijxplyhk10s8m9k3rw5qmgf0z81dm7p257wc"; depends=[]; };
   basictabler = derive2 { name="basictabler"; version="0.1.0"; sha256="1m4cgghfh3aixsnwjlbaj3prnnqxhij60bakz9vdr5dvnqg92an9"; depends=[dplyr htmltools htmlwidgets jsonlite R6]; };
   bastah = derive2 { name="bastah"; version="1.0.7"; sha256="08xdba16wj0inp0kq2sbcrdr6wj8bwlq7rqnfrzjrz03wxhc5bk0"; depends=[BigQuic foreach glmnet lars MASS Matrix scalreg]; };
   batade = derive2 { name="batade"; version="0.1"; sha256="1lr0j20iydh15l6gbn471vzbwh29n58dlpv9bcx1mnsqqnsgpmal"; depends=[hwriter]; };
-  batch = derive2 { name="batch"; version="1.1-4"; sha256="03v8a1hsjs6nfgmhdsv6fhy3af2vahc67wsk71wrvdxwslmn669q"; depends=[]; };
+  batch = derive2 { name="batch"; version="1.1-5"; sha256="0wdgfvk2i542cqg34ikvzwlix09f2jyjb32a0f4zh9vg9nrywswq"; depends=[]; };
   batchmeans = derive2 { name="batchmeans"; version="1.0-3"; sha256="1qkdljngvlahk0pbrkarkjh2g4sxxwiva9f3m5y8gz8pjw9fpy9n"; depends=[]; };
   batchtools = derive2 { name="batchtools"; version="0.9.8"; sha256="1ch03hj8ahkfc9sr4gv985s6zzxk5xm2dbm0hm8xjygkqkd8r5n9"; depends=[backports base64url brew checkmate data_table digest progress R6 rappdirs stringi withr]; };
   batman = derive2 { name="batman"; version="0.1.0"; sha256="0ccgx506p4iri23k2ikb8jmh04dp08w66785bv52iy8kd359h43f"; depends=[Rcpp]; };
   batteryreduction = derive2 { name="batteryreduction"; version="0.1.1"; sha256="0j838q7063bplkzd50kmnxji80cgysfsq7m1qifv8z7a2zsh8c8g"; depends=[pracma]; };
   bayesAB = derive2 { name="bayesAB"; version="1.1.0"; sha256="0g74n6jvpmb2sbmywcagb10rk8sd3pxzkw9s8s6qpg34q58v01a6"; depends=[ggplot2 Rcpp]; };
   bayesCL = derive2 { name="bayesCL"; version="0.0.1"; sha256="1l278lxidn16nma2ny14wjajcqyzbr6j5xl2lj08cic26c7hvjbm"; depends=[]; };
-  bayesDP = derive2 { name="bayesDP"; version="1.3.0"; sha256="1g7d64brln5p2gindc18jk4wqmh6phqr4zhs8jhl0yk9g4jhsqzn"; depends=[ggplot2 Rcpp RcppArmadillo survival]; };
+  bayesDP = derive2 { name="bayesDP"; version="1.3.1"; sha256="175g75cpynccyzcbzca4h6xa2708985h8dhq34kvkpfhv35pc64d"; depends=[ggplot2 Rcpp RcppArmadillo survival]; };
   bayesDccGarch = derive2 { name="bayesDccGarch"; version="2.0"; sha256="1s2b8f43wi9ja966n2p2r4l4s79vk6xb8mqaxsagnw90g969p681"; depends=[coda numDeriv]; };
   bayesDem = derive2 { name="bayesDem"; version="2.5-1"; sha256="1cxrqil1p692mbzkcj1fvsx335qyy6c1y43mq48s4shs1hhc69bn"; depends=[bayesLife bayesPop bayesTFR gWidgets gWidgetsRGtk2 RGtk2 wpp2015]; };
   bayesGARCH = derive2 { name="bayesGARCH"; version="2.1.3"; sha256="1480mmzfshchfbfh3x420cq5qblfh59jkl21hkq2jvnwppksdn9w"; depends=[coda mvtnorm]; };
@@ -4398,24 +4496,26 @@ in with self; {
   bayesImageS = derive2 { name="bayesImageS"; version="0.5-1"; sha256="1p4l3i57xm8yrczdiz4nxmd8qv0pv0chlrpvndfn3fnjbcx2cfa2"; depends=[Rcpp RcppArmadillo]; };
   bayesLife = derive2 { name="bayesLife"; version="3.2-0"; sha256="1a3x3y77542hgndvymhnyg6dys0s5rimkgprl8psflsgsrxnbmcv"; depends=[bayesTFR car coda hett wpp2017]; };
   bayesLopod = derive2 { name="bayesLopod"; version="1.0.1"; sha256="0v9yy75mvr74jc0fz10qj1acwxjy0lbqkdqaj1hn88v294r9dw3q"; depends=[BH inline raster Rcpp RcppEigen rgeos rstan rstantools slam sp StanHeaders]; };
-  bayesPop = derive2 { name="bayesPop"; version="6.2-3"; sha256="1znjf8mihip0dl7dyk8h3nbkzihz8lnf7kxvhf1l363v449s0bff"; depends=[abind bayesLife bayesTFR fields googleVis plyr reshape2 rworldmap wpp2012 wpp2017]; };
+  bayesPop = derive2 { name="bayesPop"; version="6.2-4"; sha256="1z8s5lbvz642hxl10b4cv361izw82akq40dav3mknqqcgv1vlrk6"; depends=[abind bayesLife bayesTFR fields googleVis plyr reshape2 rworldmap wpp2012 wpp2017]; };
   bayesQR = derive2 { name="bayesQR"; version="2.3"; sha256="1c6y7r9h9626ghp68pl5k1g0l95fwd6dp0jfznmhy53qza0ny8z4"; depends=[]; };
   bayesSurv = derive2 { name="bayesSurv"; version="3.2"; sha256="1zp302pfi64nnqdiqldvfi1lm0wv2dplz5sfjp0ydl1qc16z0axp"; depends=[coda smoothSurv survival]; };
   bayesTFR = derive2 { name="bayesTFR"; version="6.1-2"; sha256="092sl8xk82kybpp0v06j0dxh4zal0d6j2na42ghl2ri36iy6wqvx"; depends=[coda MASS mvtnorm wpp2017]; };
+  bayesammi = derive2 { name="bayesammi"; version="0.1.0"; sha256="1vfcmk47x71c5akj3ppxzb74293pikspknkkv08f8p15v0chk7fs"; depends=[dplyr ggplot2 lme4 magrittr MASS mvtnorm rlang rstiefel scales tibble tidyr tmvtnorm]; };
   bayesbio = derive2 { name="bayesbio"; version="1.0.0"; sha256="08qa4lzkrcwin7n3kzfqfdlnlqahdmjl1lxpdh29n780cgyjfvs0"; depends=[]; };
   bayesboot = derive2 { name="bayesboot"; version="0.2.1"; sha256="0gd3in9z8kx3d29dvyd8blmhlc7wxxl5b2hxnrrq0w13jcnsn57w"; depends=[HDInterval plyr]; };
   bayescount = derive2 { name="bayescount"; version="0.9.99-5"; sha256="0c2b54768wn72mk297va3k244256xlsis9cd6zn6q5n1l7ispj6j"; depends=[coda rjags runjags]; };
   bayesianETAS = derive2 { name="bayesianETAS"; version="1.0.3"; sha256="0nbif0b6lcik2kh948zg5ska5mvkdsfr0dg8ndnfpscm2mp7y1dg"; depends=[]; };
-  bayeslm = derive2 { name="bayeslm"; version="0.6.0"; sha256="1pdkrmmlk9wbkw5mmqg43g31kpfnaxks6p5xasv1vf617wc9hj7b"; depends=[coda Rcpp RcppArmadillo RcppParallel]; };
+  bayeslm = derive2 { name="bayeslm"; version="0.7.0"; sha256="132dli5lfxdghiz6g9jlzvbb71il0yv679947xrzfy68hln85d40"; depends=[coda Rcpp RcppArmadillo RcppParallel]; };
   bayesloglin = derive2 { name="bayesloglin"; version="1.0.1"; sha256="0j2ziahf6mwsz2gvb1azvdzlmszlpqgr5zqcqa68pxgq947sa2cs"; depends=[igraph]; };
   bayeslongitudinal = derive2 { name="bayeslongitudinal"; version="0.1.0"; sha256="0g45ikpnbry1albb3asrzab5z3sy98yf74c64qn02d65xgafifwg"; depends=[LearnBayes MASS mvtnorm]; };
   bayesm = derive2 { name="bayesm"; version="3.1-0.1"; sha256="04b4s8clxrmdyhnhd2arnsdi992422yam3z91w6dzrmngwxq4yaq"; depends=[Rcpp RcppArmadillo]; };
-  bayesmeta = derive2 { name="bayesmeta"; version="2.1"; sha256="02aw7fgvdsnqasmvljh1pd5nks1hjys7n3kmlwnkr5a6w476v1q9"; depends=[forestplot metafor]; };
+  bayesmeta = derive2 { name="bayesmeta"; version="2.2"; sha256="15pqa1plcnl8pbzs38cw22y3qq1v7f9vla4zy0154crvbrbp8kwf"; depends=[forestplot metafor]; };
   bayesmix = derive2 { name="bayesmix"; version="0.7-4"; sha256="1qms1nnk2nq3gqr8zf2b9ri4wv8jrxv5i8s087k1rwdvya3k5r9a"; depends=[coda rjags]; };
-  bayesplot = derive2 { name="bayesplot"; version="1.4.0"; sha256="0izp2v734n4pcdlfjrhasl2srlnhccsf93ni6hfhl5l5xyf02043"; depends=[dplyr ggplot2 reshape2 rlang]; };
+  bayesplot = derive2 { name="bayesplot"; version="1.5.0"; sha256="1f0kgrgr87fp9576ssrygkp5n4186zq1rw5iwzhqr8s81is352li"; depends=[dplyr ggplot2 ggridges reshape2 rlang]; };
   bayespref = derive2 { name="bayespref"; version="1.0"; sha256="0gwlzs7qkgmf90np7xv85d27jjqggyhfj00vpya664a2znyjb3jm"; depends=[coda lattice MASS MCMCpack RColorBrewer]; };
   bayess = derive2 { name="bayess"; version="1.4"; sha256="0axipk5hn2hw3g4dfh7y3xa0dxqmi8kqpbr77nl14y7ydpija6xm"; depends=[combinat gplots MASS mnormt]; };
   bayou = derive2 { name="bayou"; version="1.1.0"; sha256="1ndd7lygphngvn4a432616f6anmhxbdzmkksrhpl76xvrw5agwkc"; depends=[ape coda denstrip fitdistrplus foreach geiger MASS mnormt phytools Rcpp RcppArmadillo]; };
+  baystability = derive2 { name="baystability"; version="0.1.0"; sha256="1zv4bf5a4p21w2qpr6lcsgsxb0xv15v8p33031rsypmnbs9i80dp"; depends=[dplyr ggfortify ggplot2 lme4 magrittr MASS matrixStats reshape2 rlang rstiefel scales tibble tidyr tidyverse]; };
   bazar = derive2 { name="bazar"; version="1.0.6"; sha256="12b1x218x1yh9iadv8ciyncr841s0arvj4pbn74bryhcgbvmbwqm"; depends=[kimisc]; };
   bbefkr = derive2 { name="bbefkr"; version="4.2"; sha256="1wjx652w3p41sq71a2zdzmb7frjxm6xvcgrc2ark2spwb0lbjjw6"; depends=[]; };
   bbemkr = derive2 { name="bbemkr"; version="2.0"; sha256="015c57s8mpimm82nddnh382wlkisxgdmc2hvp7k38pcnqxc5gb5q"; depends=[MASS]; };
@@ -4425,9 +4525,10 @@ in with self; {
   bc3net = derive2 { name="bc3net"; version="1.0.4"; sha256="15dghd0v1s71h77iw8b49v5h7wcda5mb4540lfyibsdipbashv2h"; depends=[c3net igraph infotheo lattice Matrix]; };
   bcROCsurface = derive2 { name="bcROCsurface"; version="1.0-2"; sha256="0v1zjbgpalr5ag97s9rxcd2z0r7qpw8yhc4lw4p4i3xkw2paf5zh"; depends=[boot nnet Rcpp RcppArmadillo rgl]; };
   bcRep = derive2 { name="bcRep"; version="1.3.6"; sha256="1fibx11ykkkjv4sgg6zc2a0g270384z2cf68hwghnld0wi002b5z"; depends=[ape doParallel foreach gplots ineq plotrix proxy stringdist vegan]; };
+  bcgam = derive2 { name="bcgam"; version="1.0"; sha256="1dg2fcjw8xal77irviiz260qpar2iqkjvi2k4qfm71jyq0ir0axk"; depends=[coda igraph nimble]; };
   bclust = derive2 { name="bclust"; version="1.5"; sha256="01kx02azj26b6swly53zhf3sny6c6jglkxnzylsc0pvri89x7yj2"; depends=[]; };
-  bcmaps = derive2 { name="bcmaps"; version="0.17.0"; sha256="18rn9zlagp5f0268m8azcbl52jcyx33jjxaqpg05cz853fxib24h"; depends=[httr rappdirs sf]; };
-  bcp = derive2 { name="bcp"; version="4.0.0"; sha256="1bkd7812jacyk955l71b2szpc9550p0hpv3x337qgl09zck4vdgm"; depends=[Rcpp RcppArmadillo]; };
+  bcmaps = derive2 { name="bcmaps"; version="0.17.1"; sha256="12hca67n7fqplis8g954hj588zl9kj8gmph86mxhcy151qpyh927"; depends=[httr rappdirs sf]; };
+  bcp = derive2 { name="bcp"; version="4.0.1"; sha256="1cw7gnkskzwql55bxfrxajsi828zj7rjn7my7dk8lkdqz7n3lsgb"; depends=[Rcpp RcppArmadillo]; };
   bcpa = derive2 { name="bcpa"; version="1.1"; sha256="0rwbd39szp0ar9nli2rswhjiwil31zgl7lnwm9phd0qjv8q0ppar"; depends=[plyr Rcpp]; };
   bcpmeta = derive2 { name="bcpmeta"; version="1.0"; sha256="02fw1qz9cvr7pvmcng7qg7p04wxxpmvb2s8p78f52w4bf694iqhl"; depends=[mvtnorm]; };
   bcrm = derive2 { name="bcrm"; version="0.4.7"; sha256="0s0xmmphrrsqnrsnnsqh9ska6afl4jyk0s0290w6askrlqdzjgil"; depends=[ggplot2 mvtnorm]; };
@@ -4436,24 +4537,28 @@ in with self; {
   bda = derive2 { name="bda"; version="10.1.9"; sha256="06ycxqjpnsywakjkjxf1czhxsbdzbpwa11m69gad5538z066d24x"; depends=[]; };
   bde = derive2 { name="bde"; version="1.0.1"; sha256="1f25gmjfl58x4pns89abfk85yq5aad3bgq9yqpv505g5gxk62d3v"; depends=[ggplot2 shiny]; };
   bdlp = derive2 { name="bdlp"; version="0.9-1"; sha256="1ydb5hsaj1bfdz7hcdkc74qlk608kf0xrbpw247klkxrhsh9ba2p"; depends=[DBI GenOrd MASS MultiOrd rgl RSQLite stringdist]; };
-  bdots = derive2 { name="bdots"; version="0.1.15"; sha256="1a665f9f18wajf4y6jp17icg9w6wx698xfnlry2sm5pq6nrkmwln"; depends=[doParallel doRNG foreach mvtnorm nlme]; };
+  bdots = derive2 { name="bdots"; version="0.1.19"; sha256="1cj6ly62d50z6713119hadl90cxf5x30wpnpx6mssmd49zds6nxb"; depends=[doParallel doRNG foreach Matrix mvtnorm nlme]; };
   bdpopt = derive2 { name="bdpopt"; version="1.0-1"; sha256="1z7mdqklw3frsdzyhvx8s8wvblwm28fr1gca2yrivqjng0r47lx4"; depends=[coda rjags]; };
   bdpv = derive2 { name="bdpv"; version="1.1"; sha256="0i6wdf27243ch8pn2chqriwxjg3g72wbvzlx52mz4ahw700xjc7n"; depends=[]; };
   bdscale = derive2 { name="bdscale"; version="2.0.0"; sha256="1hkkfd69g2bg2y4hicjs6bnw9f0zw74jy0dpadchnzw17lffpms3"; depends=[ggplot2 scales]; };
   bdsmatrix = derive2 { name="bdsmatrix"; version="1.3-3"; sha256="17ddvz4gnih7rx0lr1gzk280xyh6x796cf2x794dvplpiiq83skh"; depends=[]; };
   bdvis = derive2 { name="bdvis"; version="0.2.20"; sha256="1iif70s17d9nh6bylm9s0ky70qx441n56h953gz4hxp7rb5dly31"; depends=[chron ggplot2 lattice leafletR maps plotrix plyr sqldf taxize treemap]; };
   bdynsys = derive2 { name="bdynsys"; version="1.3"; sha256="07gfyp0qwq9y1cnh7lhcz7q0b1s51cjwlbpll50l2cza2dszmf29"; depends=[caTools deSolve Formula Hmisc MASS matrixStats plm pracma]; };
-  bea_R = derive2 { name="bea.R"; version="1.0.4"; sha256="16y2hgw9pi849hz6c280wj53ncbq442szp27kp9jpr21iy827298"; depends=[chron colorspace data_table DT ggplot2 googleVis gtable htmltools htmlwidgets httpuv httr jsonlite magrittr munsell plyr Rcpp scales shiny shinydashboard stringi stringr xtable yaml]; };
+  bea_R = derive2 { name="bea.R"; version="1.0.6"; sha256="15pdbwz7av8862bl144n998qk0w9rqwip9m2brdm5hj7id5xdlif"; depends=[chron colorspace data_table DT ggplot2 googleVis gtable htmltools htmlwidgets httpuv httr jsonlite magrittr munsell plyr Rcpp scales shiny shinydashboard stringi stringr xtable yaml]; };
   beadarrayFilter = derive2 { name="beadarrayFilter"; version="1.1.0"; sha256="044dq5irc00v2f2gjz0vb69w7q7b84lppc55ganabdv4f0dxdblc"; depends=[beadarray RColorBrewer]; };
   beadarrayMSV = derive2 { name="beadarrayMSV"; version="1.1.0"; sha256="0785vmjsli37hjyppk7hlqmn0b683s1apysx9dghbw4h6rgvr8n9"; depends=[Biobase geneplotter limma rggobi]; };
+  beadplexr = derive2 { name="beadplexr"; version="0.1.0"; sha256="1aw75v4bjxrf22x0bm57qqp6r7cz8zmkd1hmk4amlxypbxd2479f"; depends=[cluster dplyr drc flowCore fpc ggplot2 lazyeval magrittr mclust purrr raster tibble tidyr yaml]; };
+  beam = derive2 { name="beam"; version="1.0.1"; sha256="1xp8hqs1asg2a2lqzn88cxj0gs6qfwak54sy3kzc64kjp0r9lbl9"; depends=[fdrtool igraph knitr Matrix]; };
   beanplot = derive2 { name="beanplot"; version="1.2"; sha256="0wmkr704fl8kdxkjwmaxw2a2h5dwzfgsgpncnk2p2wd4768jknj9"; depends=[]; };
   beanz = derive2 { name="beanz"; version="2.1"; sha256="0lnjaka2cmkgc7id8njclmmkjb22v6gz9bkncq5n6zidawrczqp0"; depends=[BH loo Rcpp RcppEigen rstan StanHeaders survival]; };
-  beast = derive2 { name="beast"; version="1.0"; sha256="1j4afp8cm6psxqidanvcfqrz6zy1klkzjkm7ia5w5qlvgll2micz"; depends=[RColorBrewer]; };
+  beast = derive2 { name="beast"; version="1.1"; sha256="0ikbnzdzp2lv1nh5mxxanra81v4dl6svg3ywqcqd6wgzri70a4ry"; depends=[RColorBrewer]; };
   bedr = derive2 { name="bedr"; version="1.0.4"; sha256="052sn90gjr34hjgyndzvcl66pv22q0kjqbx95y1pdydiwhwmhpa3"; depends=[data_table R_utils testthat VennDiagram yaml]; };
   beepr = derive2 { name="beepr"; version="1.2"; sha256="0w4szy3rgj1bdcanxbcb9agyw38jqp0hc7qsn7j9700vh20zqbln"; depends=[audio stringr]; };
   beeswarm = derive2 { name="beeswarm"; version="0.2.3"; sha256="0hy89bwv7jixlg91li1fywa77916am2whqp1m1fx1khd45g44581"; depends=[]; };
   beginr = derive2 { name="beginr"; version="0.1.0"; sha256="0zi2c6agkxx6aq7ih2c1z4r93fsjmqp2iymxllld0d7jcpp5qbv6"; depends=[cranlogs jsonlite]; };
+  behavr = derive2 { name="behavr"; version="0.3.1"; sha256="18rpln7db8cnaj6f47vjgh7q2xbcjmd0vhfbmvm82fr7qhdnnyc0"; depends=[data_table]; };
   belex = derive2 { name="belex"; version="0.1.0"; sha256="1563yngc1lvncmx3h6kgsj1r6k3hvxidh6h9rb7apxs2rq5k32ms"; depends=[XML]; };
+  belg = derive2 { name="belg"; version="0.2.1"; sha256="0yl4d2zq01r0wcxdjz3v0zmhdj1g7nbw1kn56883vsv5izdliksv"; depends=[Rcpp RcppArmadillo]; };
   benchden = derive2 { name="benchden"; version="1.0.5"; sha256="1cwcgcm660k8rc8cpd9sfpzz66r55b4f4hcjc0hznpml35015zla"; depends=[]; };
   benchmark = derive2 { name="benchmark"; version="0.3-6"; sha256="05rgrjhbvkdv06nzbh0v57b06vdikrqc1d29wirzficxxbjk1hih"; depends=[ggplot2 plyr proto psychotools relations reshape scales]; };
   benchmarkme = derive2 { name="benchmarkme"; version="0.6.0"; sha256="0w98q4b814bz3q0vqdfnwqrgfrky3ggsyyzmdiz17kv6xk17qds8"; depends=[benchmarkmeData doParallel foreach httr Matrix]; };
@@ -4461,15 +4566,15 @@ in with self; {
   benchr = derive2 { name="benchr"; version="0.2.0"; sha256="042ijh6726s116z7w2cky5l105p3dj7xsfmlwkigsbrmya8x5d37"; depends=[Rcpp RcppProgress]; };
   benford_analysis = derive2 { name="benford.analysis"; version="0.1.4.1"; sha256="0acbjjavbvsaigy78b5k9qhj8011751116lqln8j0v8w1k3vqwqm"; depends=[data_table]; };
   bentcableAR = derive2 { name="bentcableAR"; version="0.3.0"; sha256="1gjrlv94av9955jqhicaiqm36rrgmy0avxn9y7wbp2s1sbg7fyg7"; depends=[]; };
-  benthos = derive2 { name="benthos"; version="1.3-4"; sha256="015p9wxykr2g29r95wdslw1d2klc9ps4wznjrv1rxm5mazdbb2wv"; depends=[dplyr lazyeval readr]; };
+  benthos = derive2 { name="benthos"; version="1.3-5"; sha256="1mzhqqy4dblwv70v1ky5gzrr3jyky9k4wibbp589jjjrga2vhq2a"; depends=[dplyr lazyeval readr]; };
   ber = derive2 { name="ber"; version="4.0"; sha256="0gl7rms92qpa5ksn8h3ppykmxk5lzbcs13kf2sjiy0r2535n8ydi"; depends=[MASS]; };
-  berryFunctions = derive2 { name="berryFunctions"; version="1.16.3"; sha256="0bwqp999niakmihhj4wp9q63bg4mr4gsygxzss0dl276q7ma8x5i"; depends=[abind]; };
+  berryFunctions = derive2 { name="berryFunctions"; version="1.17.0"; sha256="13wslhr3xm9davx3s69as41r53m3x0gm3mrnwrbsqcbmf9n0zbv3"; depends=[abind]; };
   bestNormalize = derive2 { name="bestNormalize"; version="1.0.1"; sha256="0mlvaa35nsp19154g894xvfd6wg99lwxnfissf8yykwfl7fb265x"; depends=[LambertW nortest]; };
   bestglm = derive2 { name="bestglm"; version="0.36"; sha256="1das1qnczgw46hrjplfhw00wqjd8gxqsdr9s4zmc3k8qlzhb3ych"; depends=[glmnet grpreg lattice leaps]; };
   betacal = derive2 { name="betacal"; version="0.1.0"; sha256="19wgpgf9yhckl9qx9v24f4yh055wfalphcxwm7lg68px6ap2pxl9"; depends=[]; };
   betafam = derive2 { name="betafam"; version="1.0"; sha256="1nf5509alqnr5qpva36f1wb7rdnc084p170h91jv89xvzsidqxca"; depends=[]; };
   betalink = derive2 { name="betalink"; version="2.2.1"; sha256="1wskr8nh1jzcrnc8fn58lscphsvj5z9p1i1pnpfdjn60mdb09rkp"; depends=[igraph plyr stringr]; };
-  betapart = derive2 { name="betapart"; version="1.4-1"; sha256="1ldz6hr08vsgvz0h9ilsm5ab5fyppjpnz215lhri80x7biym3c0q"; depends=[ape geometry picante rcdd]; };
+  betapart = derive2 { name="betapart"; version="1.5.0"; sha256="0hk016hpdb927d142rfa13kjwhgzki1fy4xqbwdphzwv37nyxag7"; depends=[ape geometry picante rcdd]; };
   betaper = derive2 { name="betaper"; version="1.1-0"; sha256="1gr533iw71n2sq8gga9kzlah7k28cnlwxb2yh562gw6mh1axmidm"; depends=[ellipse vegan]; };
   betareg = derive2 { name="betareg"; version="3.1-0"; sha256="05s5lszj22186xhvk0dxgz4vqfvmss40pbh147mwqkz1h48z5pf7"; depends=[flexmix Formula lmtest modeltools sandwich]; };
   betas = derive2 { name="betas"; version="0.1.1"; sha256="1v85r6lrk21viwzam42gi42bgbwh5ibn3dpbh3aqrf3dnn1rdsyd"; depends=[robust]; };
@@ -4486,17 +4591,18 @@ in with self; {
   bgmm = derive2 { name="bgmm"; version="1.8.3"; sha256="09hsqjjyzlpl0fqb7832j5ydrr0yc42zb1c9q1y5hbrms7yp00p8"; depends=[car combinat lattice mvtnorm]; };
   bgsmtr = derive2 { name="bgsmtr"; version="0.1"; sha256="09h118msqf9yl2z7d6dsvgn4vrvy43ynznajj58k7gkxdlm1nimg"; depends=[coda EDISON Matrix mnormt mvtnorm sparseMVN statmod]; };
   bhm = derive2 { name="bhm"; version="1.13"; sha256="1iq1hjc7xn2kmmxgzv6mzcvvf48kqp5b8lavmzrqykak3v4z02nz"; depends=[coda survival]; };
+  bhrcr = derive2 { name="bhrcr"; version="1.0.0"; sha256="0rqn9wkd25d7l295n55idsf1zch1niz5f05qnsbd1gqrq7nw42xn"; depends=[AER Cairo MASS MCMCpack msm mvtnorm survival]; };
   biasbetareg = derive2 { name="biasbetareg"; version="1.0"; sha256="1562zdin0y5mrp36ih11ir3h9cv49cx1l98chxd89fkj8x3c1fbg"; depends=[betareg]; };
-  bibliometrix = derive2 { name="bibliometrix"; version="1.9"; sha256="1yzdbh5h3fvc6agr551g9n10mlr72cbsrw9mpigfhxb953wvda54"; depends=[factoextra FactoMineR ggplot2 igraph Matrix RColorBrewer RISmed rscopus SnowballC stringdist stringr]; };
+  bibliometrix = derive2 { name="bibliometrix"; version="1.9.2"; sha256="0xv371k1n00awk3w7cjbiyf3wxkk5vch3hf7lp2yz3fsdy2jh91s"; depends=[factoextra FactoMineR ggplot2 ggrepel igraph Matrix RColorBrewer RISmed rscopus SnowballC stringdist stringr]; };
   bibliospec = derive2 { name="bibliospec"; version="0.0.4"; sha256="0abrbaw2knnlh8g5r4c2i6cc7a6ilfxry8zhscrx0x58irmp790b"; depends=[DBI RSQLite]; };
   bibtex = derive2 { name="bibtex"; version="0.4.2"; sha256="0wl3925ryd54g1nv3ncwllc493d39dpgy5md61940h69c0van1hz"; depends=[stringr]; };
   biclique = derive2 { name="biclique"; version="1.0.1"; sha256="0wxvqjxc11ccvfnlnnb6gv6r74a48pg3yabsjynrg1m2kbynnqjf"; depends=[]; };
   biclust = derive2 { name="biclust"; version="1.2.0"; sha256="03vkj7zp3dl4zbv2gzv9pahcd1018lbv4ixghvv1g0fsbndrybdg"; depends=[colorspace flexclust lattice MASS]; };
-  bifactorial = derive2 { name="bifactorial"; version="1.4.7"; sha256="187zlsqph7m63wf6wajvs6a4a08aax9hiqssgvma6cpkpisfiz4k"; depends=[lattice multcomp mvtnorm Rcpp]; };
-  bife = derive2 { name="bife"; version="0.4"; sha256="1h3r5vigs2ghga84smx492m0v9aq6gynnw5r23n20kkbiscv1fxk"; depends=[Formula Rcpp RcppArmadillo]; };
+  bife = derive2 { name="bife"; version="0.5"; sha256="0lzij8sazfdr687bi5lfp5ndvwlx18vyzr3svc0zv9mnv8s8vfvd"; depends=[Formula Rcpp RcppArmadillo]; };
   bigFastlm = derive2 { name="bigFastlm"; version="0.0.2"; sha256="012vxy5mpknc3998h382qdzgrxnyfpyddy003zjp3v42clim5y64"; depends=[BH bigmemory Rcpp RcppEigen]; };
   bigGP = derive2 { name="bigGP"; version="0.1-6"; sha256="0fwm06rzx1qbh16ii93x26i4v4yb50jk67k3qmzyr3gr4z9b9xhg"; depends=[Rmpi]; };
-  bigKRLS = derive2 { name="bigKRLS"; version="2.0.4"; sha256="027p1v89fpi2rgxca035nyzk51dxv0x04sy3mqb5z38rvj8r08k9"; depends=[BH bigalgebra biganalytics bigmemory ggplot2 Rcpp RcppArmadillo shiny]; };
+  bigIntegerAlgos = derive2 { name="bigIntegerAlgos"; version="0.1.0"; sha256="1ik5daj2yc2shjkqypl4y6d53nmz170jvx0bdxn3hpm3g5crg1wd"; depends=[gmp]; };
+  bigKRLS = derive2 { name="bigKRLS"; version="3.0.0"; sha256="043lm32cams2hc0fg1mvq08r4ippy4s5z62n1616vndfmqsn41v8"; depends=[BH bigalgebra biganalytics bigmemory ggplot2 Rcpp RcppArmadillo shiny]; };
   bigQueryR = derive2 { name="bigQueryR"; version="0.3.2"; sha256="0l61yvvjlv1zgb1vyf1q3sj4dff1vi6lkf61hc9kqs5cvhqbf87y"; depends=[assertthat googleAuthR googleCloudStorageR httr jsonlite]; };
   bigRR = derive2 { name="bigRR"; version="1.3-10"; sha256="08m77r9br6wb9i21smaj4pwwpq3nxdirs542gnkrpakl7bvyp6s3"; depends=[DatABEL hglm]; };
   bigReg = derive2 { name="bigReg"; version="0.1.2"; sha256="1hmvh5j40zpzz6c88hmikphps8rb741yvkg60dxmkfl8gxqsrp3w"; depends=[MASS Rcpp RcppArmadillo uuid]; };
@@ -4504,8 +4610,9 @@ in with self; {
   biganalytics = derive2 { name="biganalytics"; version="1.1.14"; sha256="1hsqdg5hkhs6z9pwvn055q02hzpksjwrf33q5zdnkm387g188ca6"; depends=[BH biglm bigmemory foreach Rcpp]; };
   biglars = derive2 { name="biglars"; version="1.0.2"; sha256="17zs25dvlja9ynx2fm5f4nmgkx4mnyqs5iscwsyahr6qigx1rz9x"; depends=[ff]; };
   biglasso = derive2 { name="biglasso"; version="1.3-6"; sha256="044l2l34l4pl7ijwgq569cn8x5clj795qpfwb1b9qfwvggvgzgni"; depends=[BH bigmemory Matrix ncvreg Rcpp RcppArmadillo]; };
-  bigleaf = derive2 { name="bigleaf"; version="0.3.0"; sha256="1y1z9hi23w0n374jvndr0prry7msp6lfzkwzdr7ivpi89af0h027"; depends=[robustbase]; };
+  bigleaf = derive2 { name="bigleaf"; version="0.5.2"; sha256="13x79i15jvv1bx4xnl9jakjmbxviac0gnrprax61c5afkaqxfxh4"; depends=[robustbase]; };
   biglm = derive2 { name="biglm"; version="0.9-1"; sha256="1z7h4by457z93k5i6qf5rq7xmd1y2kcd1rq4pv465cd32d4mb2g1"; depends=[DBI]; };
+  bigmatch = derive2 { name="bigmatch"; version="0.1.0"; sha256="15qrm3kdp9wglmpsy58z117nj85j8zc6cmf5w1kydamk2c8x49c9"; depends=[liqueueR mvnfast plyr rcbalance]; };
   bigmemory = derive2 { name="bigmemory"; version="4.5.33"; sha256="0ycl9dzm3drpyas625h34rir5bnbjlncxlvawfsfmqwcbmwdjdvj"; depends=[BH bigmemory_sri Rcpp]; };
   bigmemory_sri = derive2 { name="bigmemory.sri"; version="0.1.3"; sha256="0mg14ilwdkd64q2ri9jdwnk7mp55dqim7xfifrs65sdsv1934h2m"; depends=[]; };
   bigml = derive2 { name="bigml"; version="0.1.2"; sha256="0vl5krjbgckknxwl26b2hn63jhb80zbn7abpckhxzxfxzncpnfz9"; depends=[plyr RCurl RJSONIO]; };
@@ -4516,26 +4623,27 @@ in with self; {
   bigtabulate = derive2 { name="bigtabulate"; version="1.1.5"; sha256="1jvp3m0ms2cav9z8vvhh80gsa0kvc351brv2jq99rxv1mwvpa4xj"; depends=[BH biganalytics bigmemory Rcpp]; };
   bigtcr = derive2 { name="bigtcr"; version="1.1"; sha256="1l03yc28afdm7glbw4ay0zsywjgqg5l90qz1hfhslsy8gg7d5wq5"; depends=[]; };
   bigtime = derive2 { name="bigtime"; version="0.1.0"; sha256="136gy2i4qwa2drklllyzp3z0dbijlavgf3sxy73bf84df2yq1c9i"; depends=[corrplot lattice MASS Rcpp RcppArmadillo RcppEigen zoo]; };
-  bikedata = derive2 { name="bikedata"; version="0.1.0"; sha256="1vhjk8gbip4p6x0i4qw1m3wzic40v6qkj50zm6l44qgqcjkj699m"; depends=[BH DBI dodgr httr lubridate magrittr Rcpp reshape2 RSQLite tibble xml2]; };
+  bikedata = derive2 { name="bikedata"; version="0.1.1"; sha256="0vs1cal05a80zjz6gqfsxs616dqrq47vgk91mrdhca3b95ywxyfq"; depends=[BH DBI dodgr httr lubridate magrittr Rcpp readxl reshape2 RSQLite tibble xml2]; };
   bikeshare14 = derive2 { name="bikeshare14"; version="0.1.0"; sha256="12399c01s8p9rmpi3fpy4rm7xxnsf627slz3h234frbahhs882c4"; depends=[]; };
   bild = derive2 { name="bild"; version="1.1-5"; sha256="03has1zi57inicahl52ja006vv5cdndyxfsxp77l6nc3zc6ixna8"; depends=[]; };
   billboard = derive2 { name="billboard"; version="0.1.0"; sha256="1z3y8dijhc1381y91n5zq305xzm1gpvs0g4mdpfr7zrblpa8ws39"; depends=[tibble]; };
   billboarder = derive2 { name="billboarder"; version="0.2.1"; sha256="0xmkj6l3cpyyq23hp6jhfqllpg7gkksajnq25wyccqmypxjik8jv"; depends=[ggplot2 htmlwidgets jsonlite magrittr scales]; };
   bimetallic = derive2 { name="bimetallic"; version="1.0"; sha256="181qi4dr0zc7x6wziq7jdc1his20jmprfpq3hrfm56fr5n1sj8wl"; depends=[]; };
   bimixt = derive2 { name="bimixt"; version="1.0"; sha256="0nhszpzjqy8z3vngl5jdzqxzshnn92wgi0ci5n3n5kzi24xkfrzc"; depends=[pROC]; };
-  binGroup = derive2 { name="binGroup"; version="1.1-0"; sha256="1sf7prg2x1ryynf1kz7jr50svmga7kjgd5pi9qm3g2hyimz8mvs4"; depends=[]; };
+  binGroup = derive2 { name="binGroup"; version="2.1-1"; sha256="1rwmsrm4ghpvb1vldph2frwglfvajwyj7bzi1f6mhnm9mrg80blj"; depends=[partitions]; };
   binMto = derive2 { name="binMto"; version="0.0-6"; sha256="1h9s42wk848x15f4glhsh2iikpra64miwlia6xz5dqlzbs4vw86k"; depends=[mvtnorm]; };
   binaryGP = derive2 { name="binaryGP"; version="0.2"; sha256="0i4xi0gxk0lamjdygyx0azdp3kfqmva1g20nl3p65w4yx77m88d6"; depends=[GPfit lhs logitnorm nloptr Rcpp RcppArmadillo]; };
   binaryLogic = derive2 { name="binaryLogic"; version="0.3.9"; sha256="19ig9qgjjnivfihjy41pc13qlrb95679mmk4zks5lbbri8qi4qxj"; depends=[]; };
   binda = derive2 { name="binda"; version="1.0.3"; sha256="15rhxnlif7agblzd09gyllkqkf5d8cc75b4vmp7grx8a6y7w47g0"; depends=[entropy]; };
   bindata = derive2 { name="bindata"; version="0.9-19"; sha256="15ya21fz1kvq4qsppkn9ypiqvaq8q4vszdcgcymampa7zc07z2ld"; depends=[e1071 mvtnorm]; };
-  bindr = derive2 { name="bindr"; version="0.1"; sha256="0d95ifm0x4mrfzi20xf39f5pzd7rfzqsld0vjqf6xzga5rhnd8fc"; depends=[]; };
-  bindrcpp = derive2 { name="bindrcpp"; version="0.2"; sha256="0l1l22zl87wiyl79m3gj2vlxmkhxvrkl4alhyy08h55q7hqs3vyh"; depends=[bindr plogr Rcpp]; };
+  bindr = derive2 { name="bindr"; version="0.1.1"; sha256="1l05fpk2yql3jka321c0bdgx6mqq9pvfrg2844lbjfpbgjkmqy3w"; depends=[]; };
+  bindrcpp = derive2 { name="bindrcpp"; version="0.2.2"; sha256="0rz4ibjdjsxl99ff3ha79z7cnjmilx4rx58fk9kk7ld9xc4hf4s8"; depends=[bindr plogr Rcpp]; };
   binequality = derive2 { name="binequality"; version="1.0.3"; sha256="0hhcmw1mq785zylcxghfnazi3xvnl7sqpqll8fqdk064a4drqkw1"; depends=[gamlss gamlss_cens gamlss_dist ineq survival]; };
   binford = derive2 { name="binford"; version="0.1.0"; sha256="04mpdvynlm4gddybys04k0446gc9hyq0vaxr6a525p76ls5aw4b1"; depends=[]; };
   bingat = derive2 { name="bingat"; version="1.3"; sha256="1y68rgafipfad78yrzcygdszgy1d5q739kap06pzr78bn3i8hiwa"; depends=[doParallel foreach gplots matrixStats network vegan]; };
   binhf = derive2 { name="binhf"; version="1.0-1"; sha256="0l8925bj6mjv2y7fn76zh2g8xjig3kbbdy4jl0ip3gd9kbrakl9k"; depends=[adlift wavethresh]; };
   binman = derive2 { name="binman"; version="0.1.0"; sha256="103f74gm124vw4rwbfrd5dlgca3v83kqd8m5j9z3ma3snh788mkx"; depends=[assertthat httr jsonlite rappdirs semver xml2 yaml]; };
+  binneR = derive2 { name="binneR"; version="1.1.1"; sha256="07cfcp9jj5bks8kmxvir9y9z7fj44hvy1wyrg4jy029dvkz8g2ki"; depends=[dplyr magrittr mzR plyr tidyr]; };
   binnednp = derive2 { name="binnednp"; version="0.1.0"; sha256="0cfgz6828b2525dmph5n4zxdgkbx0nsrm4k2azhw1xfi3pz4z6ga"; depends=[fitdistrplus kedd mclust nor1mix Rcpp Rdpack]; };
   binom = derive2 { name="binom"; version="1.1-1"; sha256="0mjj92dqf5q69jxzqya4izb1mly3mkydbnmlm4wb3zqqg82a324c"; depends=[]; };
   binomSamSize = derive2 { name="binomSamSize"; version="0.1-5"; sha256="1an6dcqsjh5r0w4kc3n6yfvvha5qhrb2i4bpf7g5ykhl3i60zfcc"; depends=[binom]; };
@@ -4547,14 +4655,14 @@ in with self; {
   binsmooth = derive2 { name="binsmooth"; version="0.1.0"; sha256="1zlw4zmkckg7rwf4hx8wyr2yl644xkdkazayysy99saysr9pk2c9"; depends=[ineq pracma triangle]; };
   binst = derive2 { name="binst"; version="0.2.1"; sha256="09kzk7n1j9nzgyijwirzk33z6p6hc67zkd05hv1i9qfijy31gci4"; depends=[rpart]; };
   bio_infer = derive2 { name="bio.infer"; version="1.3-3"; sha256="14pdv6yk0sk6v8g9p6bazbp7mr3wmxgfi6p6dj9n77lhqlvjcgm9"; depends=[]; };
-  bio3d = derive2 { name="bio3d"; version="2.3-3"; sha256="0cw6nhkj5mxh89lfrnhrmv0rwxkmh05g6nd6rvd7ahcaxd3mid7l"; depends=[Rcpp]; };
-  bioOED = derive2 { name="bioOED"; version="0.1.1"; sha256="18b66s5dn8a67iwb0g1bmbi856ip81yfa57m40kf7phsga52ncg1"; depends=[bioinactivation corrplot dplyr FME ggplot2 MEIGOR]; };
+  bio3d = derive2 { name="bio3d"; version="2.3-4"; sha256="1zmswa9xs81lbrlkkgi8dvv9xpf0ynqjqwy1k36szvfb8ar9mczr"; depends=[Rcpp]; };
+  bioOED = derive2 { name="bioOED"; version="0.1.4"; sha256="1rjcqrni5xag97pxfsf40isr2c8pkqsvihf86phak8ngwl7qdgmc"; depends=[bioinactivation corrplot dplyr FME ggplot2 MEIGOR]; };
   bioPN = derive2 { name="bioPN"; version="1.2.0"; sha256="0mvqgsfc7d4h6npgg728chyp5jcsf49xhnq8cgjxfzmdayr1fwr8"; depends=[]; };
   biofiles = derive2 { name="biofiles"; version="1.0.0"; sha256="1bglgl2jcp6jy3f7xwndil56i98xx4kn518s3fqdixw7n5ibmqd2"; depends=[assertthat BiocGenerics Biostrings foreach GenomeInfoDb GenomicRanges IRanges iterators Rcpp RCurl reutils S4Vectors XVector]; };
   biogas = derive2 { name="biogas"; version="1.10.0"; sha256="1il4r71h2a0xqpjs7q97ypdd12jmdnh0kqcs6j5gpjxdsmgnhlsy"; depends=[]; };
   biogeo = derive2 { name="biogeo"; version="1.0"; sha256="14sqgg8b06gp5dajxvyj9s3ndsk7jpkfr0mkyl2l61kgp6qx53rh"; depends=[maptools raster sp stringr vegan]; };
   biogram = derive2 { name="biogram"; version="1.4"; sha256="1kkim6dxmvvpby2ir280adl14jmrz7nsib3m8g2ki81d539km6il"; depends=[bit combinat entropy partitions slam]; };
-  bioimagetools = derive2 { name="bioimagetools"; version="1.1.0"; sha256="0ws99rx7bhqi448qqy08jsl3c4vbq96gigqb85yv1mzrc82sg62p"; depends=[EBImage httr tiff]; };
+  bioimagetools = derive2 { name="bioimagetools"; version="1.1.3"; sha256="1xl5q45s4amvinfzysf5za0myq1f76xvqhyza0b191bky5vk8qq1"; depends=[EBImage httr tiff]; };
   bioinactivation = derive2 { name="bioinactivation"; version="1.2.1"; sha256="1dxpa549y6dqzmi8nk57x0blqmcz51v9hj0sy3g9laj9aj0rmyzz"; depends=[deSolve dplyr FME ggplot2 lazyeval MASS rlang]; };
   biolink = derive2 { name="biolink"; version="0.1.3"; sha256="0cy9s9wg5rgwczqjfw6xp9ragqcj9gzp7icpm0nqwrdghsj7azjv"; depends=[DBI glue memoise rentrez RMySQL xml2]; };
   biomartr = derive2 { name="biomartr"; version="0.7.0"; sha256="1gjl4xh9ryxsf3lhn4fqa3zw10yc0mwrfgkrbq117njsw988kms7"; depends=[biomaRt Biostrings curl data_table downloader dplyr httr jsonlite purrr RCurl readr stringr tibble XML]; };
@@ -4562,7 +4670,7 @@ in with self; {
   bionetdata = derive2 { name="bionetdata"; version="1.0.1"; sha256="1l362zxgcvxln47b1vc46ad6ww8ibwhqr2myxnz1dnk2a8nj7r2q"; depends=[]; };
   bioplots = derive2 { name="bioplots"; version="0.0.1"; sha256="184wp1jvgf7a80srrfq72a4r1la2psr8b16kxs00v2gcbgjyvr10"; depends=[ggplot2 gplots RColorBrewer reshape2]; };
   bios2mds = derive2 { name="bios2mds"; version="1.2.2"; sha256="1avzkbk91b7ifjba5zby5r2yw5mibf2wv05a4nj27gwxfwrr21cd"; depends=[amap cluster e1071 rgl scales]; };
-  bioset = derive2 { name="bioset"; version="0.2.0"; sha256="1cv4sgmbvxghwa22qwvgp5zgbfcyhljsh6c6k7gakxsv0wz1xq46"; depends=[dplyr magrittr rlang tibble tidyr]; };
+  bioset = derive2 { name="bioset"; version="0.2.2"; sha256="1l2iss3rbzc69360r9i9j7nf0nn4fkj3j7bgc1hdabr32i19jkhh"; depends=[dplyr magrittr rlang tibble tidyr]; };
   biosignalEMG = derive2 { name="biosignalEMG"; version="2.1.0"; sha256="0bbkrfqkmks4z8c7rh0k43lvm71vn3fzrw3kpj012ym77whwkvay"; depends=[signal]; };
   biospear = derive2 { name="biospear"; version="1.0.1"; sha256="03wsyzlxmqff6xvr10jy49p229xr6jjvr8kk93wm7wil7q6b7z42"; depends=[cobs corpcor devtools glmnet grplasso MASS Matrix mboost pkgconfig plsRcox pROC PRROC RCurl survAUC survival]; };
   biotic = derive2 { name="biotic"; version="0.1.2"; sha256="1p18jkdd263dgk90626n9awkj6m4zn1n7897596fzrzrahksa978"; depends=[]; };
@@ -4573,6 +4681,7 @@ in with self; {
   birdring = derive2 { name="birdring"; version="1.3"; sha256="1vlivapmgq3kz2zz795c7hcfpibnqcfnxp7m42di37yngqc90q87"; depends=[geosphere ks lazyData raster rgdal rgeos rworldmap rworldxtra sp]; };
   birk = derive2 { name="birk"; version="2.1.2"; sha256="07ck59m5mw897a60vmdn1b3qrmqj20qpfsn3093haqbpn8z13dmn"; depends=[]; };
   birtr = derive2 { name="birtr"; version="1.0.0"; sha256="0bcxvj30wzwclw1lcyhvwj3k7awd39lrvzia1nrg53hw90bfs811"; depends=[]; };
+  bisect = derive2 { name="bisect"; version="0.9.0"; sha256="1dr95gnc9rb3i8603wspf0hznmvk5akk46nyf1bhv88mjz2i5q77"; depends=[]; };
   bisectr = derive2 { name="bisectr"; version="0.1.0"; sha256="1vjsjshvzj66qqzg32rviklqswrb00jyq6vwrywg1hpqhf4kisv7"; depends=[devtools]; };
   bisoreg = derive2 { name="bisoreg"; version="1.4"; sha256="1ianhk5vrzhwb9ymzvlx9701p5c4iasxyq7nhrvm815dm15rf2wf"; depends=[bootstrap coda monreg R2WinBUGS]; };
   bit = derive2 { name="bit"; version="1.1-12"; sha256="0a6ig6nnjzq80r2ll4hc74za3xwzbzig6wlyb4dby0knzf3iqa6f"; depends=[]; };
@@ -4582,11 +4691,11 @@ in with self; {
   bivarRIpower = derive2 { name="bivarRIpower"; version="1.2"; sha256="0vgi0476rwali6k8bkp317jawzq5pf04v75xmycpmadb7drnpzy0"; depends=[]; };
   bivrp = derive2 { name="bivrp"; version="1.0"; sha256="0q00k24fssvjkgpndg84vdm7w9hswq593k6yjha4pl0a8bmnv6f8"; depends=[MASS]; };
   biwt = derive2 { name="biwt"; version="1.0"; sha256="1mb3x8ky3x8j4n8d859i7byyjyfzq035i674b2dmdca6mn7paa14"; depends=[MASS rrcov]; };
-  bizdays = derive2 { name="bizdays"; version="1.0.4"; sha256="0vl9anlwvnnaiz67h256r386gy57fbbygjahsjaiaw8zrp84fj3p"; depends=[]; };
+  bizdays = derive2 { name="bizdays"; version="1.0.5"; sha256="0yw53qzi2wbc33q5snmf7xsisfnknvf6pqr20npkwbh3999i1gk0"; depends=[]; };
   bkmr = derive2 { name="bkmr"; version="0.2.0"; sha256="0dk6dn73bqlvwinn3aginls4533931xcr3h59k0w60yxs3v8yakv"; depends=[dplyr fields magrittr MASS nlme tidyr tmvtnorm truncnorm]; };
   blackbox = derive2 { name="blackbox"; version="1.1.7"; sha256="1qdj6wsgr623wnhc573krnhjx65d4k9y8i3n2l2lj1qpqd538ygw"; depends=[geometry lattice MASS nloptr numDeriv proxy rcdd Rcpp RcppEigen spaMM]; };
   blandr = derive2 { name="blandr"; version="0.4.3"; sha256="03w1k646izbrygcsynrzrph7crpqdqn58544mmm9zxfvkmsilpmi"; depends=[ggplot2 knitr]; };
-  blastula = derive2 { name="blastula"; version="0.1"; sha256="0i306x0xm34r9fz7iq8frjbcvfbgg64fm5nn7mbk29a58kn91axp"; depends=[commonmark ggplot2 glue htmltools httr knitr magrittr mailR rJava stringr]; };
+  blastula = derive2 { name="blastula"; version="0.2.0"; sha256="11vaqsfm0kszx3iq38c8vbqnwkfk77lv5021l2zq9iaxz9d83s7k"; depends=[commonmark downloader dplyr ggplot2 glue htmltools httr knitr magrittr purrr rlang stringr tibble tidyr]; };
   blavaan = derive2 { name="blavaan"; version="0.3-1"; sha256="1r5kararl5d8fk6zlawhyjpi1sc3xp1pd2cf83qmh9wbvdsfphwg"; depends=[coda lavaan loo MASS MCMCpack mnormt nonnest2 runjags]; };
   blendedLink = derive2 { name="blendedLink"; version="1.0"; sha256="19d1pnjag89jjvkl5a6wx531qjqp4cv5jk95md6jby27yr52r8vp"; depends=[]; };
   blender = derive2 { name="blender"; version="0.1.2"; sha256="1qqkfgf7fzwcz88a43cqr8bw86qda33f18dg3rv1k77gpjqr999c"; depends=[vegan]; };
@@ -4597,22 +4706,22 @@ in with self; {
   blm = derive2 { name="blm"; version="2013.2.4.4"; sha256="1w6c30cq38j4i1q4hjg12l70mhy5viw886l1lsnxyvniy113in4i"; depends=[]; };
   blme = derive2 { name="blme"; version="1.0-4"; sha256="1ca2b0248k0fj3lczn9shfjplz1sl4ay4v6djldizp2ch2vwdgy2"; depends=[lme4]; };
   blmeco = derive2 { name="blmeco"; version="1.1"; sha256="1hzg5dimzj1khygm9dv0y30mx1nf9vdhgicqdg1rvj7nf426h2ki"; depends=[arm lme4 MASS MuMIn]; };
-  blob = derive2 { name="blob"; version="1.1.0"; sha256="05pazzcyz3c3vd2l70zq9cf172cgjff4dnf419zigfnxycyn1mhn"; depends=[tibble]; };
+  blob = derive2 { name="blob"; version="1.1.1"; sha256="0lsg91hk508dd95ivig2lwg62qafwnarjw68110kx63cfk4zkjxc"; depends=[prettyunits]; };
   blockTools = derive2 { name="blockTools"; version="0.6-3"; sha256="0023p0msfmp8swq4f5aff40m976np7y051x8hjizzw91hrfa4w2n"; depends=[MASS tibble]; };
   blockcluster = derive2 { name="blockcluster"; version="4.2.6"; sha256="0dskcwdh89a24j1lr829p9rrs88l13738b1gvsmsqrcrg9z955xc"; depends=[Rcpp rtkore]; };
   blockmatrix = derive2 { name="blockmatrix"; version="1.0"; sha256="14k69ly4i8pb8z59005kaf5rpv611kk1mk96q6piyn1gz1s6sk6r"; depends=[]; };
-  blockmodeling = derive2 { name="blockmodeling"; version="0.1.9"; sha256="1rd8ifwv5q9yl0ayzkgi0h4k79w3r46dr164l73iz1ny77a78fn9"; depends=[]; };
+  blockmodeling = derive2 { name="blockmodeling"; version="0.3.0"; sha256="188m35gpf1lbs3yhqrdiz9zfmf3p4v6v0grzmax3d9w9n5g7rx2y"; depends=[doParallel doRNG foreach Matrix]; };
   blockmodels = derive2 { name="blockmodels"; version="1.1.1"; sha256="088629i4g63m8rnqmrv50dgpqbnxd1a4zl5wr3ga0pdpqhmd53wp"; depends=[digest Rcpp RcppArmadillo]; };
   blockrand = derive2 { name="blockrand"; version="1.3"; sha256="1090vb26w6s7iqjcal0xbb3qb6p6j46a5w25f1wjdppd1spvh7f9"; depends=[]; };
-  blocksdesign = derive2 { name="blocksdesign"; version="2.7"; sha256="0pkkp1i6dsj4q4p6529qkbyy8mqmw9zhs1ww1y55yn1adkkwfd4z"; depends=[crossdes]; };
+  blocksdesign = derive2 { name="blocksdesign"; version="2.8"; sha256="0wgdgy705wpq0lh3k46ba7y8dzajgyfzcr87yvvzh610wr8vnsam"; depends=[crossdes]; };
   blockseg = derive2 { name="blockseg"; version="0.2"; sha256="183hjb66589qqjwf14rzdmy770biad73r0l5pkh6f4xk9xac1r62"; depends=[ggplot2 Matrix Rcpp RcppArmadillo reshape2]; };
-  blogdown = derive2 { name="blogdown"; version="0.5"; sha256="1i34vynvb496w638g0mip30vrxcx60nbr48g1nfkmgiw1nrvr8c5"; depends=[bookdown htmltools httpuv knitr rmarkdown servr xfun yaml]; };
+  blogdown = derive2 { name="blogdown"; version="0.6"; sha256="02ahyzcapsjaanjiz1j9jx2wh8w2fa7dwbraj5w7bl7bln87cs16"; depends=[bookdown htmltools httpuv knitr rmarkdown servr xfun yaml]; };
   blsAPI = derive2 { name="blsAPI"; version="0.1.9"; sha256="1p7s799kix396fbx8ap9vy9akwpaps37awr18qbj53n9qcm74wkp"; depends=[RCurl rjson]; };
-  blscrapeR = derive2 { name="blscrapeR"; version="3.1.1"; sha256="1s76d6511ifhh17dnwhrd8hzmfnb26qal68pn4v4smz35srgfa9j"; depends=[dplyr ggplot2 httr jsonlite magrittr purrr stringr tibble]; };
+  blscrapeR = derive2 { name="blscrapeR"; version="3.1.2"; sha256="1k5g1j4n071pmh2z5lpgkll2i1abpq1h9qialdszak794x8km605"; depends=[dplyr ggplot2 httr jsonlite magrittr purrr stringr tibble]; };
   bmd = derive2 { name="bmd"; version="0.5"; sha256="0d4wxyymycb416sdn272292l70s1h2m5kv568vakx3rbvb8y6agy"; depends=[drc]; };
   bmem = derive2 { name="bmem"; version="1.5"; sha256="1miiki743rraralk9dp12dsjjajj3iizcrfwmplf6xas6pl8sfk6"; depends=[Amelia lavaan MASS sem snowfall]; };
   bmeta = derive2 { name="bmeta"; version="0.1.2"; sha256="19pm60xpmlanngq4nbibp0n5m98xw24b2xghz92ly31i3mkg2n68"; depends=[forestplot R2jags]; };
-  bmixture = derive2 { name="bmixture"; version="0.5"; sha256="144nd1s18nyii135jfr2f65szyzw8hi4zg57z85dnmr2xwas22qb"; depends=[BDgraph]; };
+  bmixture = derive2 { name="bmixture"; version="0.7"; sha256="0x876wsahm0k3v900rkvvl2sma3awkhbrsfygikk1wskh3snqbsj"; depends=[BDgraph]; };
   bmk = derive2 { name="bmk"; version="1.0"; sha256="1wxkrlrhmsxsiraj8nyiax9bqs834ln2swykmpf40wxspkykgfdq"; depends=[coda functional plyr]; };
   bmlm = derive2 { name="bmlm"; version="1.3.5"; sha256="091yjllx4kfngaam1ac8rxcx547k7s7qa75pb5350qkr096pvsvs"; depends=[BH ggplot2 Rcpp RcppEigen rstan StanHeaders]; };
   bmmix = derive2 { name="bmmix"; version="0.1-2"; sha256="00php2pgpnm9n0mnamchi6a3dgaa97kdz2ynivrf38s0vca7fqx8"; depends=[ggplot2 reshape2]; };
@@ -4623,7 +4732,7 @@ in with self; {
   bnlearn = derive2 { name="bnlearn"; version="4.3"; sha256="11zp8vf79h5a6dyijazld199pzp1lsgk3x049ykgy0bqjx2ivfvq"; depends=[]; };
   bnnSurvival = derive2 { name="bnnSurvival"; version="0.1.5"; sha256="1d9jmfx0id4lmw122zga7hb52vlfdfqn4amhzpsmhyck99rv92j4"; depends=[pec prodlim Rcpp]; };
   bnormnlr = derive2 { name="bnormnlr"; version="1.0"; sha256="0l2r7vqikak47nr6spdzgjzhvmkr9dc61lfnxybmajvcyy6ymqs9"; depends=[mvtnorm numDeriv]; };
-  bnpmr = derive2 { name="bnpmr"; version="1.1"; sha256="0hvwkdbs2p2l0iw0425nca614qy3gsqfq4mifipy98yxxvgh8qgc"; depends=[]; };
+  bnpmr = derive2 { name="bnpmr"; version="1.2"; sha256="0vpqhs1h2mphn9w5yngb7lxvmzrhn7mkj7ca6hykhhg48s2ra98g"; depends=[]; };
   bnpsd = derive2 { name="bnpsd"; version="1.0.1"; sha256="0f9w3qcdmf6qx5k01vddmxj1vadx6d9zcgw6prpbmcf3cdy3fwg0"; depends=[]; };
   bnspatial = derive2 { name="bnspatial"; version="1.0.3"; sha256="018rb5wacjk8igyc0qbp9rk3vjz3lffx81awlba8d2npiaxq6jbv"; depends=[doParallel foreach gRain gRbase raster]; };
   bnstruct = derive2 { name="bnstruct"; version="1.0.2"; sha256="0n4gn1vhka694wdzignawyaca0rx2l0wjgw09fw42bkrswfjvxy1"; depends=[bitops igraph Matrix]; };
@@ -4632,7 +4741,7 @@ in with self; {
   bodenmiller = derive2 { name="bodenmiller"; version="0.1"; sha256="0gqrjscgq4qgk7yl32w0965yscc1py9klr49s8q8hkzyihlwzim2"; depends=[]; };
   boilerpipeR = derive2 { name="boilerpipeR"; version="1.3"; sha256="0467bjqhdmi3p02fp0r7rgm00x9ry464f2hniav990qzsw8i16q6"; depends=[rJava]; };
   bold = derive2 { name="bold"; version="0.5.0"; sha256="0gdmb3zsspcp594d32yzqhdpw4dwg7a3pfm7kgbghz368yw662gl"; depends=[crul data_table jsonlite plyr reshape stringr tibble xml2]; };
-  bomrang = derive2 { name="bomrang"; version="0.1.1"; sha256="1r1k8ridclmlsbrwlrjh7syw4fy3q1hf2rpi2xssh7gg2n709cjb"; depends=[curl data_table dplyr foreign hoardr httr janitor jsonlite magrittr raster readr rgdal rvest tidyr xml2]; };
+  bomrang = derive2 { name="bomrang"; version="0.1.4"; sha256="00pzhqqk037hc8zl52f185lnj058vg2adzg0fsndvp83h2wghnd7"; depends=[curl data_table dplyr foreign hoardr httr janitor jsonlite magrittr raster readr rgdal rvest tidyr xml2]; };
   bookdown = derive2 { name="bookdown"; version="0.7"; sha256="1b3fw1f41zph5yw3kynb47aijq53vhaa6mnnvxly72zamyzdf95q"; depends=[htmltools knitr rmarkdown tinytex xfun yaml]; };
   bookdownplus = derive2 { name="bookdownplus"; version="1.3.2"; sha256="0vkivgjfmqy2xfs75w8ylkpgcvca294q61jrhbpg24vnll3c281n"; depends=[bookdown knitr yaml]; };
   boolean3 = derive2 { name="boolean3"; version="3.1.6"; sha256="00s6ljhqy8gpwa3kxfnm500r528iml53q364bjcl4dli2x85wa9p"; depends=[lattice mvtnorm numDeriv optimx rgenoud rlecuyer]; };
@@ -4656,24 +4765,26 @@ in with self; {
   bossMaps = derive2 { name="bossMaps"; version="0.1.0"; sha256="0w4ks1xicvfm8ari4fr18wjm0qj2nxdsapl6lpfjz8l1id0y78cg"; depends=[doParallel foreach ggplot2 raster rgdal rgeos scales sp tidyr]; };
   boussinesq = derive2 { name="boussinesq"; version="1.0.3"; sha256="1j1jarc3j5rby1wvj1raj779c1ka5w68z7v3q8xhzjcaccrjhzxk"; depends=[]; };
   boxcoxmix = derive2 { name="boxcoxmix"; version="0.15"; sha256="0qvlk3kcvqzrak2rvf41fs8421fpfh3ch51rq0c9ac62x2dkfidh"; depends=[qicharts statmod]; };
-  boxoffice = derive2 { name="boxoffice"; version="1.0.1"; sha256="0s8zx6n203l2cszq4xrwvazpw1fl36g1cln8n9sh20vyqrdcbgvh"; depends=[rvest xml2]; };
+  boxoffice = derive2 { name="boxoffice"; version="1.1.0"; sha256="08b897dp5cfv6f30k2pdvh8y5n1981msnjr6lfs4dzfc1i6y2zfy"; depends=[httr rvest]; };
   boxplotdbl = derive2 { name="boxplotdbl"; version="1.2.2"; sha256="01bvp6vjnlhc4lndxwd705bzlsh7zq0i9v66mxszrcz6v8hb9rwi"; depends=[]; };
   boxr = derive2 { name="boxr"; version="0.3.4"; sha256="0wx3x65rk1ma8bw5h4yskr7ii95ynkm7il22l1bj34kv9f4bfyj3"; depends=[assertthat bit64 digest dplyr httpuv httr mime rio stringr]; };
   bpa = derive2 { name="bpa"; version="0.1.1"; sha256="0np7q1nasrq4j7ssaipvbjgrsi9n612p9lp96frq1dgix95mcgf0"; depends=[magrittr plyr]; };
   bpca = derive2 { name="bpca"; version="1.2-2"; sha256="05ldz6b2s379mymj8jzvia9x6gj047gwsxvnv3zj9x8b1hvndnd6"; depends=[rgl scatterplot3d]; };
   bpcp = derive2 { name="bpcp"; version="1.3.4"; sha256="0l4x3n7lcwinnrh2sy386grisj1x7k1d5hll1k4bljg01p7lb475"; depends=[]; };
   bpkde = derive2 { name="bpkde"; version="1.0-7"; sha256="1ls6rwmbgb2vzsjn34r87ab8rnz3ls61g6f4x3jpglbk0j91f0h8"; depends=[]; };
+  bpnreg = derive2 { name="bpnreg"; version="1.0.0"; sha256="0mpwrhbbbw8m3cz0fl0x9j9m3n9zfdamnw83mmg4bjd0wmxkkm90"; depends=[BH haven MASS Rcpp RcppArmadillo]; };
   bpp = derive2 { name="bpp"; version="1.0.0"; sha256="11fgn92vvl7kklv0xdisf8gnf2rbhq11qyckqsxvc5wa821lmnkm"; depends=[mvtnorm]; };
   bqtl = derive2 { name="bqtl"; version="1.0-32"; sha256="0jjqgsm9fmvz5nkgz608xfljjpmaf4rs4f7kxvpqn4b1l9s5lhci"; depends=[]; };
+  braQCA = derive2 { name="braQCA"; version="1.0.0.1"; sha256="1chyy8sk3iqs54sqg79dp1vjz3gcvnbzqbmgasdynir38b45scjh"; depends=[bootstrap dplyr QCA]; };
   braidReports = derive2 { name="braidReports"; version="0.5.3"; sha256="107c9lrzb55dw5pal8qqpn8is3nrh19vfngx3zcfpmc49f06kskq"; depends=[braidrm ggplot2]; };
   braidrm = derive2 { name="braidrm"; version="0.71"; sha256="1cn0rdlw775pmzbjmhny7gkm901a3qgz7infqb5s9az606xg54d3"; depends=[]; };
-  brainGraph = derive2 { name="brainGraph"; version="2.0.0"; sha256="016ck3fqwfzj6jhxkqqlsj5mv16fy8k72ykwvm2biy5pwgbapwsa"; depends=[abind ade4 boot cairoDevice data_table expm foreach ggplot2 ggrepel gridExtra Hmisc igraph MASS Matrix mediation oro_nifti permute RcppEigen RGtk2 scales]; };
+  brainGraph = derive2 { name="brainGraph"; version="2.0.2"; sha256="14jj4da2l92fgv924a8s4kw39vhxafaxj6pgwpxw86d5bqmc994g"; depends=[abind ade4 boot cairoDevice data_table expm foreach ggplot2 ggrepel gridExtra Hmisc igraph MASS Matrix mediation oro_nifti permute RcppEigen RGtk2 scales]; };
   brainR = derive2 { name="brainR"; version="1.5.1"; sha256="0ih4vwy445ciyyvf8snm42vg7rzzf6vn9qkbhj0yyd8sy88mgyss"; depends=[misc3d oro_nifti rgl]; };
   brainwaver = derive2 { name="brainwaver"; version="1.6"; sha256="0r79dpd9bbbn34rm29512srzj3m29qgvbryvrp1mwv8mmcsh6ij6"; depends=[waveslim]; };
   brant = derive2 { name="brant"; version="0.2-0"; sha256="1hdwdrdl6ad112zd7q248am3qk19alnj647nrk9xxxgd7s6a9pnb"; depends=[MASS Matrix]; };
   brazilmaps = derive2 { name="brazilmaps"; version="0.1.0"; sha256="1nvd8x4m4m3966qph6390kqwpsrv7vy4yf6pam98xxkjbl9a41nf"; depends=[dplyr ggplot2 magrittr sf sp]; };
   brea = derive2 { name="brea"; version="0.2.0"; sha256="0mb043fdhxrg9gyf4g55ydjx37j20394nvd4d0fmiym98lccyi04"; depends=[]; };
-  breakDown = derive2 { name="breakDown"; version="0.1.3"; sha256="19vfwacbq7hvbsc42679pmd1d0n2d0m62k87qm157xmlbag6anv9"; depends=[ggplot2 ranger]; };
+  breakDown = derive2 { name="breakDown"; version="0.1.5"; sha256="0m9lpd42ypspkwgwfi0pxkhg4xkrnzirm9d9rjxxf1a6y741ijl2"; depends=[ggplot2]; };
   breakage = derive2 { name="breakage"; version="1.1-1"; sha256="0zjazyz92criiimpz4wyd4hd8ccspvh3hhqpd4qkfdzdf9wp3kns"; depends=[Imap]; };
   breakaway = derive2 { name="breakaway"; version="3.0"; sha256="0y3h7gifv279z3x77jmr97c0i3vy58m5wsr8pa2vyn26m02rbkpc"; depends=[]; };
   breakfast = derive2 { name="breakfast"; version="1.0.0"; sha256="0p0svsqphd5w99pf5c5jmak1xxl8md881lapa8aps9xr73m4x6lf"; depends=[plyr]; };
@@ -4682,7 +4793,7 @@ in with self; {
   breathteststan = derive2 { name="breathteststan"; version="0.4.0"; sha256="13wqb33gvzmjpgzqyyadydz5hnqcran80azaxbixj7wga0c35pqq"; depends=[BH breathtestcore dplyr purrr Rcpp RcppEigen rstan StanHeaders stringr tibble tidyr]; };
   brew = derive2 { name="brew"; version="1.0-6"; sha256="1vghazbcha8gvkwwcdagjvzx6yl8zm7kgr0i9wxr4jng06d1l3fp"; depends=[]; };
   brglm = derive2 { name="brglm"; version="0.6.1"; sha256="17r3az6za98v2r06aak77kypdaqssc9wxcc6m6vb20y7xm8dp1mp"; depends=[profileModel]; };
-  brglm2 = derive2 { name="brglm2"; version="0.1.6"; sha256="02zahv1kssxwz9xhb1dpc1558rmgmbpgn62xic3yvn05sixn6y6j"; depends=[enrichwith lpSolveAPI MASS Matrix nnet]; };
+  brglm2 = derive2 { name="brglm2"; version="0.1.8"; sha256="017m7nlh29p271dhvx19l6042qfs48hqs947kjmpc7ykzv5461y3"; depends=[enrichwith lpSolveAPI MASS Matrix nnet]; };
   bride = derive2 { name="bride"; version="1.3"; sha256="03k9jwklg1l8sqyjfh914570880ii0qb5dd9l0bg0d0qrghbj0rk"; depends=[]; };
   bridgedist = derive2 { name="bridgedist"; version="0.1.0"; sha256="0hqkpwpi3nv6mfhljl65zcflf4wy72ag36hdam6s7kynfj41qz6w"; depends=[]; };
   bridger2 = derive2 { name="bridger2"; version="0.1.0"; sha256="0clp42nnbvd01n65azdi2ghp0mfqwsipzdl2d30q04lcvfkdpxrf"; depends=[BSDA data_table ggplot2 outliers plotly shiny shinydashboard]; };
@@ -4690,21 +4801,21 @@ in with self; {
   briskaR = derive2 { name="briskaR"; version="0.1.1"; sha256="0w614lb94vim6wlzj13gnfgkq0vg9fjlvwvvs11pnqq501qn2hzl"; depends=[deldir fftwtools fields MASS mvtnorm pracma raster rgdal rgeos sp]; };
   brlrmr = derive2 { name="brlrmr"; version="0.1.5"; sha256="14dnmh062fw11bm236ilaqs6ss4ywajvsk3sxj0zwqk2bjf7y7vh"; depends=[boot brglm MASS profileModel Rcpp]; };
   brm = derive2 { name="brm"; version="1.0"; sha256="0h4kgig28hkqv1amadznc0n9256dx613rxbn8s8si11ygx79x2dd"; depends=[]; };
-  brms = derive2 { name="brms"; version="2.1.0"; sha256="1ahm539add6g26vfj8szmpcwkhnkjcqqqq35mfryrp94yslb6a8n"; depends=[abind bayesplot bridgesampling coda ggplot2 loo Matrix matrixStats mgcv nleqslv nlme Rcpp rstan rstantools shinystan]; };
+  brms = derive2 { name="brms"; version="2.2.0"; sha256="1wdf5bka51pwdzniwmi6vwry1lms27124zbrmzm7f7b9k6bsqv3k"; depends=[abind bayesplot bridgesampling coda ggplot2 loo Matrix matrixStats mgcv nleqslv nlme Rcpp rstan rstantools shinystan]; };
   brnn = derive2 { name="brnn"; version="0.6"; sha256="0q3f3cbl89hgpav7bn54s13cysgz8fi0zm8byc9rgz0sqkjrxval"; depends=[Formula]; };
   broman = derive2 { name="broman"; version="0.67-4"; sha256="1jv1543zq74zjdrmhkcrjwxhn9bmsmmwadd9rjnn18svnrbnlq0g"; depends=[assertthat ggplot2 jsonlite RPushbullet]; };
-  broom = derive2 { name="broom"; version="0.4.3"; sha256="119pc2jnxvm13cvd77c7d14p3bn68f4jm310vj3yfck40101n9if"; depends=[dplyr nlme plyr psych reshape2 stringr tidyr]; };
+  broom = derive2 { name="broom"; version="0.4.4"; sha256="081x87sy6dmfvkgwfjrl5ax51k77ciyzg9x3xql25vdi92rmwj3m"; depends=[dplyr nlme plyr psych reshape2 stringr tidyr]; };
   brotli = derive2 { name="brotli"; version="1.1"; sha256="1jdhc03ycafjm6zfl9m95pd3krkb94mq2lhfjchfjc876mbam8x6"; depends=[]; };
   brr = derive2 { name="brr"; version="1.0.0"; sha256="050ivnqcaxiyypd1sxfpy6ianhzzmvs6c77ga40g3440cvfigkgw"; depends=[gsl hypergeo pander stringr SuppDists TeachingDemos]; };
   brranching = derive2 { name="brranching"; version="0.2.0"; sha256="0y99px2m02rl60qgf6pjbjv6isp8v1w9sny6p2icgsx4bwxjxmns"; depends=[ape curl httr phytools taxize]; };
-  brt = derive2 { name="brt"; version="1.1.0"; sha256="11a6zpdml5vz3kcdcajw5zcck1zbp4kfdkqm3y6q7qj8ym2f12q5"; depends=[ggplot2]; };
+  brt = derive2 { name="brt"; version="1.2.0"; sha256="04srx4xfx89lg79krckazlfq0hqph39h01sg6fk1ra8fv2xrcnw4"; depends=[ggplot2]; };
   bsam = derive2 { name="bsam"; version="1.1.2"; sha256="1m2lpqm2i4i35hzr1iylrb8skx8rsys3w542xjyqw030bs7b1rdk"; depends=[coda dplyr ggplot2 gridExtra lubridate msm mvtnorm rjags rworldxtra sp tibble]; };
   bsamGP = derive2 { name="bsamGP"; version="1.1.2"; sha256="037xgkmcli24jiqahxcingyx97q0jci2ahahcpn3xbzixa161rvf"; depends=[ggplot2 gridExtra MASS]; };
   bsearchtools = derive2 { name="bsearchtools"; version="0.0.61"; sha256="11fqz8kdhqpc3jq34vgv3frzawgsl5y0s83rb2p54yb5yhd3p68w"; depends=[Rcpp]; };
   bshazard = derive2 { name="bshazard"; version="1.0"; sha256="151c63pyapddc4z77bgkhmd7rsa1jl47x8s2n2s8yc6alwmj6dvs"; depends=[Epi survival]; };
   bspec = derive2 { name="bspec"; version="1.5"; sha256="0jynvir7z4q1vrvhdn6wijdrjfrkk4544nlawabw2fnfxss91a91"; depends=[]; };
-  bsplinePsd = derive2 { name="bsplinePsd"; version="0.1.0"; sha256="1sicbrammayy56fa72jjygxiqxri93kglpyalhm30llsdm4jic33"; depends=[Rcpp]; };
-  bsplus = derive2 { name="bsplus"; version="0.1.0"; sha256="1hpjrmsn66brf1hpwfmg55jbpwbhvkz7sbr160z1cgq3hdhqm7r8"; depends=[htmltools lubridate magrittr purrr rmarkdown stringr]; };
+  bsplinePsd = derive2 { name="bsplinePsd"; version="0.5.0"; sha256="1ddvkn182r48fbjqkiskb94afy942bnl953n0cghza4wkbkdfprd"; depends=[Rcpp]; };
+  bsplus = derive2 { name="bsplus"; version="0.1.1"; sha256="0s3407z48b7sdbkjkqcjk2j1wvs0z7chvdjzphil83l0vp3j5x0s"; depends=[glue htmltools lubridate magrittr purrr rmarkdown stringr]; };
   bspmma = derive2 { name="bspmma"; version="0.1-1"; sha256="0bd6221rrbxjvabf1lqr9nl9s0qwav47gc56sxdw32pd99j9x5a9"; depends=[]; };
   bssm = derive2 { name="bssm"; version="0.1.4"; sha256="0wrai7s5sdjykiz8c5qrlcscm1awfz9cjaggarrs83h9fcs3n38x"; depends=[BH coda diagis ggplot2 ramcmc Rcpp RcppArmadillo sitmo]; };
   bssn = derive2 { name="bssn"; version="0.7"; sha256="1g2xhb7bqapwd5zbc4bl4h1fskd7k6gd0rz74hnydiiwxrwiihf6"; depends=[sn]; };
@@ -4719,7 +4830,7 @@ in with self; {
   bullwhipgame = derive2 { name="bullwhipgame"; version="0.1.0"; sha256="03nwf2v4zhgkxvkghpkbkxz0cnkqcwwl51ykrk25qciakfqkgfws"; depends=[shiny]; };
   bunchr = derive2 { name="bunchr"; version="1.2.0"; sha256="1b8hdg2x26k0ahx4gxdpzr36hy056939r4496q3vbgyd4bbk2fbd"; depends=[shiny]; };
   bundesligR = derive2 { name="bundesligR"; version="0.1.0"; sha256="0dnhbh9jh7dfbk7mfh8msq4ys5kakalr0kwkycycrb2q8rd049vp"; depends=[]; };
-  bupaR = derive2 { name="bupaR"; version="0.3.2"; sha256="08xkf88fx8wn22vzn2ghm1jagh09pafqgmx41k99vrqkl3nrfm58"; depends=[data_table dplyr forcats glue magrittr miniUI purrr rlang shiny tidyr]; };
+  bupaR = derive2 { name="bupaR"; version="0.4.0"; sha256="197ibs7jmbn823skg18zm1kqr2p35bxrd6bw22vjlj6b10r4nqhi"; depends=[data_table dplyr eventdataR forcats glue magrittr miniUI purrr rlang shiny tidyr]; };
   burnr = derive2 { name="burnr"; version="0.2.2"; sha256="1b5ys0jm2dmiz1jd5f3907dhv44wh60kmfdfhj3fzx8rk7zllm06"; depends=[ggplot2 MASS plyr reshape2]; };
   bursts = derive2 { name="bursts"; version="1.0-1"; sha256="172g09d1vmwl83xs6gr4gfblqmx3apvblpzdr5d7fcw1ybsx0kj6"; depends=[]; };
   bvarsv = derive2 { name="bvarsv"; version="1.1"; sha256="1bv4fbbi8bn7sqqpjlf8w5jpgydjr15wv5v9940wc42yk792yjrx"; depends=[Rcpp RcppArmadillo]; };
@@ -4731,15 +4842,15 @@ in with self; {
   c212 = derive2 { name="c212"; version="0.93"; sha256="10gwkr2w05bi27zwvspm3g31a1dpqbh1i52vyrfaamqkxypa11nh"; depends=[coda]; };
   c2c = derive2 { name="c2c"; version="0.1.0"; sha256="149np512wjnlr9glmqxpiamf6c31v0bh6ym95jpdhk0iw3ic9kvh"; depends=[]; };
   c3net = derive2 { name="c3net"; version="1.1.1"; sha256="0m4nvrs41kmlakc6m203zlncqwgj94wns8kzcb31xngjcacmcq42"; depends=[igraph]; };
-  cAIC4 = derive2 { name="cAIC4"; version="0.2"; sha256="13sp3wywv82wgi1vsbxwn68v9xigy0fi3mcwyxjmmgmnsxns2fza"; depends=[lme4 Matrix]; };
+  cAIC4 = derive2 { name="cAIC4"; version="0.3"; sha256="1y12y2hk5fjhqfjbrkxl62nk0y0n1x5dh3zmiw7hqbka6i2bzsy7"; depends=[lme4 Matrix]; };
   cIRT = derive2 { name="cIRT"; version="1.2.1"; sha256="1i43pqlyzykyd1a6abg1yi7ai9ay7d2jkvnw1sa4c6q07jk56d89"; depends=[Rcpp RcppArmadillo]; };
   cOde = derive2 { name="cOde"; version="0.3"; sha256="1r49q7qansn86wrxbhxqnn1dccd9av4lh4h5pn9kk42pls9q60nf"; depends=[Rcpp RcppArmadillo]; };
-  cRegulome = derive2 { name="cRegulome"; version="0.1.0"; sha256="0yf5kx583k483rs3vw614qfv92k3c8gld8vsw16j1vlsbrasbiah"; depends=[DBI dplyr ggplot2 ggridges httr magrittr purrr R_utils reshape2 RSQLite tidyr UpSetR VennDiagram]; };
+  cRegulome = derive2 { name="cRegulome"; version="0.1.1"; sha256="0rhi4f1wkl03vh9m6hsba08cfvqjfn99xyxsykv625bgxra817bd"; depends=[AnnotationDbi clusterProfiler DBI dplyr ggplot2 ggridges httr magrittr org_Hs_eg_db purrr R_utils reshape2 RSQLite tidyr UpSetR VennDiagram]; };
   cSFM = derive2 { name="cSFM"; version="1.1"; sha256="1znxsqa8xdifmryg7jiqbpzm837n4n862kg5x1aki52crc4zyk3k"; depends=[MASS mgcv mnormt moments sn]; };
   ca = derive2 { name="ca"; version="0.70"; sha256="0730c7nk49hz0k1i5nnhq2j3wbhrlhr1qvb50mk8vmqkbhb1pz1l"; depends=[]; };
+  caRamel = derive2 { name="caRamel"; version="1.0"; sha256="0al4yk77a4bh8rjdpl841bnnjvs0sjyxqswqwik1n6y0bfr8f7pl"; depends=[geometry]; };
   caRpools = derive2 { name="caRpools"; version="0.83"; sha256="10m7fw1zfr9i6v2qg235diwf3fmfr88incxnqpvnhmqcn082mxrp"; depends=[biomaRt DESeq2 rmarkdown scatterplot3d seqinr sm VennDiagram xlsx]; };
   caTools = derive2 { name="caTools"; version="1.17.1"; sha256="1x4szsn2qmbzpyjfdaiz2q7jwhap2gky9wq0riah74q0pzz76ank"; depends=[bitops]; };
-  cablecuttr = derive2 { name="cablecuttr"; version="0.1.1"; sha256="1v3zhaxkp1h6lack2qk0v4zxh6fd0ymjnikw6bs7k540w2vrbs1g"; depends=[httr jsonlite]; };
   cabootcrs = derive2 { name="cabootcrs"; version="1.0"; sha256="0a6y04jq837k1pk8b9nhgz7rima7s8jid6vdjyfvrqshgaiabg1q"; depends=[]; };
   cacIRT = derive2 { name="cacIRT"; version="1.4"; sha256="145j6isqa8yj2nvlqkxagd076zs10ng3n44khi5p4jj77fjc8gh6"; depends=[]; };
   caesar = derive2 { name="caesar"; version="0.1.0"; sha256="1l0z64fsifx37j2h61kzygbwr3z3cncn48znrpb5cq10ma42igqf"; depends=[binhf]; };
@@ -4749,7 +4860,7 @@ in with self; {
   calibrar = derive2 { name="calibrar"; version="0.2.0"; sha256="1544bc5rhhc6d1mky7ngza00wwh63q07dkbzlwfgyavly8m9cplb"; depends=[cmaes foreach optimx]; };
   calibrate = derive2 { name="calibrate"; version="1.7.2"; sha256="010nb1nb9y7zhw2k6d2i2drwy5brp7b83mjj2w7i3wjp9xb6l1kq"; depends=[MASS]; };
   calibrator = derive2 { name="calibrator"; version="1.2-6"; sha256="1arprrqmczbhc1gl85fh37cwpcky8vvqdh6zfza3hy21pn21i4kh"; depends=[cubature emulator]; };
-  callr = derive2 { name="callr"; version="2.0.2"; sha256="0m51p39vfwldxv6h8x4y9w3laf8q9bldhfqhlcrlx3xhy3irb1bp"; depends=[assertthat crayon debugme R6 testthat]; };
+  callr = derive2 { name="callr"; version="2.0.3"; sha256="1k3mflgn10hcvy74y4pbigpv74zb66fz1phfd3c8isqmn88xbxzi"; depends=[assertthat crayon debugme R6 testthat]; };
   calmate = derive2 { name="calmate"; version="0.12.1"; sha256="07sjbq7bcrhal52pdzsb5pfmk6a8a44wg8xn79sv4y5v74c5xaqz"; depends=[aroma_core MASS matrixStats R_filesets R_methodsS3 R_oo R_utils]; };
   camel = derive2 { name="camel"; version="0.2.0"; sha256="0krilird8j69zbll96k46pcys4gfkcnkisww138wslwbicl52334"; depends=[igraph lattice MASS Matrix]; };
   camsRad = derive2 { name="camsRad"; version="0.3.0"; sha256="06gar6qan1ka01ngjvbpcv649yvfga697mplwn1x6qnfr4ngb7cs"; depends=[httr xml2]; };
@@ -4759,22 +4870,23 @@ in with self; {
   cancerTiming = derive2 { name="cancerTiming"; version="3.1.8"; sha256="1sfi8q2f5ag7iak0sf9pmqncb89w3gnxdiwjwpivkwhr28ais4mq"; depends=[gplots LearnBayes]; };
   candisc = derive2 { name="candisc"; version="0.8-0"; sha256="0hq5bwvq791rhff2c29xdjbbkcyydii1lbsy05c1fapyn88ir0mi"; depends=[car heplots]; };
   canprot = derive2 { name="canprot"; version="0.1.1"; sha256="14g7wl4p9bgwf5jm48mp676z0pwlsd2xgxjwzixri7mxxh0ivfh1"; depends=[CHNOSZ xtable]; };
-  canvasXpress = derive2 { name="canvasXpress"; version="1.18.5"; sha256="052qwymd28pi4c5pkdrwb85r1f1342y46fpirz2mrspx9r877d7h"; depends=[htmlwidgets]; };
+  canvasXpress = derive2 { name="canvasXpress"; version="1.19.0"; sha256="1cxfadvrm3gkrdfibwi1b7kqlc3hczyc0g72v5gkgc9hssb8j46i"; depends=[htmlwidgets]; };
   cape = derive2 { name="cape"; version="2.0.2"; sha256="0ngm9scd3f2zcy7gy0lqk05cgbfrhhcss3mj5g6bj0byhgwd7msn"; depends=[corpcor doParallel evd fdrtool foreach HardyWeinberg igraph Matrix qpcR RColorBrewer regress shape]; };
-  caper = derive2 { name="caper"; version="0.5.2"; sha256="1l773sxmh1nyxlrjz8brnwhwraff826scwixrqmgdciqk7046d35"; depends=[ape MASS mvtnorm]; };
+  caper = derive2 { name="caper"; version="1.0.1"; sha256="0md0sngj7wsv2d4d7fmyyz9qqismk3ps9l3qk1blqz1yi19pq124"; depends=[ape MASS mvtnorm]; };
   capm = derive2 { name="capm"; version="0.11.0"; sha256="1yw7h1r5m4md8yv0fn1j4wxvhwybifqyvrn8ip3fl32kxbwsmnvz"; depends=[deSolve FME ggplot2 maptools reshape2 rgdal shiny sp survey]; };
   capn = derive2 { name="capn"; version="1.0.0"; sha256="14vfk00xyx0az3whmxjpcv1785lf0gx81w7qc54i3wcfp3i22kcr"; depends=[]; };
   captioner = derive2 { name="captioner"; version="2.2.3"; sha256="0xg72pmgm84f0v45phfwxpsslhf12nhn1swmrj1yifj7g9sjvybj"; depends=[]; };
   captr = derive2 { name="captr"; version="0.3.0"; sha256="13j2nq9hm37g4h5fjdpz7kix0sqajdd7zssjfgil06ixfmnsijkx"; depends=[curl jsonlite]; };
   capushe = derive2 { name="capushe"; version="1.1.1"; sha256="1aa76ir1kp67hiz7dr60azyc71yzslshyc640fjh0fpw0sp5kwbc"; depends=[MASS]; };
   capwire = derive2 { name="capwire"; version="1.1.4"; sha256="18a3dnbgr55yjdk6pd7agmb48lsiqjpd7fm64dr1si6rpgpl4i9c"; depends=[]; };
-  car = derive2 { name="car"; version="2.1-6"; sha256="14l4d9j87xnb0bz2wgqqbxnlnbcdfb5vx2fw6kdxj91kyrk6lhnj"; depends=[MASS mgcv nnet pbkrtest quantreg]; };
-  carData = derive2 { name="carData"; version="3.0-0"; sha256="1ggz4py77bgwlpl6rsv7vlxj1kjs6c10dskizwwjps910r76pd79"; depends=[]; };
+  car = derive2 { name="car"; version="3.0-0"; sha256="1ks2jaav8lbxhzw56vpbnysjk3pvpmqh6avd574k0bha1226k81h"; depends=[abind carData lme4 maptools MASS mgcv nlme nnet pbkrtest quantreg rio]; };
+  carData = derive2 { name="carData"; version="3.0-1"; sha256="193pdwgw6gk19v7swk1kwphg3vqdmpsgi555g9nyz93sa39j7r8j"; depends=[]; };
+  carSurv = derive2 { name="carSurv"; version="1.0.0"; sha256="0wv7lp10i4sdfqyizg77ghblp3pcp7wzhs946sm0wl6w00krav9j"; depends=[corpcor fdrtool mboost Rcpp survival]; };
   carcass = derive2 { name="carcass"; version="1.6"; sha256="0nhp35nxjqqmy15rf9vc0qyymy7d0v8mc84570b9nc62g5xac8xy"; depends=[arm expm lme4 MASS survival]; };
   cardidates = derive2 { name="cardidates"; version="0.4.7"; sha256="0dxb2941w56s479laf315hqh9iv3k2l1ds7k8hdl9akcacagjgs2"; depends=[boot lattice pastecs]; };
   cardioModel = derive2 { name="cardioModel"; version="1.4"; sha256="1a2nvn4a4zc89pb01m20pxqgbj0ypzzvx9w2vfzwly1kzkhvc9hr"; depends=[lubridate nlme]; };
   care = derive2 { name="care"; version="1.1.10"; sha256="00h36by40v60mqzbf615a99sdfz0i42i57wybxrcm7y1y2la0da8"; depends=[corpcor]; };
-  caret = derive2 { name="caret"; version="6.0-78"; sha256="0h1nxzii2h80aslp1zsjczrlfmaks44sskabk4yq9c5rafc7ka6y"; depends=[foreach ggplot2 lattice ModelMetrics nlme plyr recipes reshape2 withr]; };
+  caret = derive2 { name="caret"; version="6.0-79"; sha256="1i6sjw279g6mj83vz5gv99x0nljcbpy7v0nbl72lmd80sf7rjshl"; depends=[foreach ggplot2 lattice ModelMetrics nlme plyr recipes reshape2 withr]; };
   caretEnsemble = derive2 { name="caretEnsemble"; version="2.0.0"; sha256="0v9gyp81abrbm8b79ch927iqh0v84q5222bvg1wx8n65vx59sx42"; depends=[caret data_table digest ggplot2 gridExtra lattice pbapply plyr]; };
   carfima = derive2 { name="carfima"; version="1.0.0"; sha256="0bxk254q916w5h5zyyp2bs6nvbmbzqfx3jr4a80fkgbmr49chzzp"; depends=[DEoptim invgamma MASS numDeriv truncnorm]; };
   caribou = derive2 { name="caribou"; version="1.1"; sha256="0ibl3jhvsgjfcva0113z0di9n5n30bs90yz0scckfv1c0pjhn4xd"; depends=[]; };
@@ -4786,13 +4898,13 @@ in with self; {
   caschrono = derive2 { name="caschrono"; version="2.0"; sha256="091zqin2cr9p50zmifrb52dxy10zflm7f0lr9nissy589qjdd0gk"; depends=[Hmisc zoo]; };
   caseMatch = derive2 { name="caseMatch"; version="1.0.7"; sha256="1xd7mlnknjrilxcp0w0b36aaiql6jdqgyin1823r2x8vl9r4aqns"; depends=[]; };
   casebase = derive2 { name="casebase"; version="0.1.0"; sha256="0216qzyxv44cl9f806lal9lx4n0zzr9csx8ggyjva04h5iiqrq6w"; depends=[data_table ggplot2 survival VGAM]; };
-  castor = derive2 { name="castor"; version="1.3.2"; sha256="0pz02wbm9w3mkp2gmnl92zgv1b63dvcp6j374hqjgxxpc79aw30m"; depends=[naturalsort Rcpp]; };
+  castor = derive2 { name="castor"; version="1.3.3"; sha256="0n7d4225g28c3i4w4n9bdd8zz91kr80vvnajpn5433db71bqrrv8"; depends=[naturalsort Rcpp]; };
   cat = derive2 { name="cat"; version="0.0-6.5"; sha256="1gv7chqp6kccipkrxjwhsa7yizizsmk4pj8672rgjmpfcc64pqfm"; depends=[]; };
   catIrt = derive2 { name="catIrt"; version="0.5-0"; sha256="09010z1q96nbnpys6mybspaqy57lvgd2cvwgnfijzgx3kl87pwnl"; depends=[numDeriv]; };
   catR = derive2 { name="catR"; version="3.13"; sha256="1xzxgf9d33h46qxz6a8d71mi673yzdnvxcxj073z7y19hjss3pkw"; depends=[]; };
   catSurv = derive2 { name="catSurv"; version="1.0.3"; sha256="1qjmjdmc81inim5kpwh4k2r3cffmkyp2wpcqqzv731hciqrad8a8"; depends=[BH ltm Rcpp RcppArmadillo RcppGSL RcppParallel]; };
   catcont = derive2 { name="catcont"; version="0.3.0"; sha256="1gz7bh3xi7x7clbwa7qvy64nqx5g6dfkyxysick2razr47dac0y1"; depends=[]; };
-  catdap = derive2 { name="catdap"; version="1.2.4"; sha256="0vvrlbdjml1cxf6jafjycv0k3kzd2xy1zcwjv0rh3cswxmvpnh3a"; depends=[]; };
+  catdap = derive2 { name="catdap"; version="1.3.4"; sha256="0i877l61f6c75pczi235rzci67w29zv1d7z5zn5p5ymndclvlpl2"; depends=[]; };
   catdata = derive2 { name="catdata"; version="1.2.1"; sha256="0fjylb55iw8w9sd3hbg895pzasliy68wcq95mgrh7af116ss637w"; depends=[MASS]; };
   cate = derive2 { name="cate"; version="1.0.4"; sha256="0qck6675xm5xbw440m1b6n38wjwk7izx3s0zpxbmhc9wh12c5prk"; depends=[corpcor esaBcv leapp MASS ruv sva]; };
   catenary = derive2 { name="catenary"; version="1.1.1"; sha256="0gd46zvd51xvra0d7k7qdcmfl71vcfk750lcafkhmr4cg0vkqcz7"; depends=[boot ggplot2]; };
@@ -4804,11 +4916,13 @@ in with self; {
   cattonum = derive2 { name="cattonum"; version="0.0.1"; sha256="04vayxycv9w5ssw69gifb1y15jkz294wia5s386wyz3bz0sf3fn6"; depends=[rlang tidyselect]; };
   causalMGM = derive2 { name="causalMGM"; version="0.1.1"; sha256="13qx71rfc6m7mvlpwma7ks09f3mlxknxw3jlv3b4iq5pjs8f1v5r"; depends=[rJava]; };
   causaldrf = derive2 { name="causaldrf"; version="0.3"; sha256="16gqx8b8alwm8a4lm69qamnqr3bg2qbz0d6q4lyqyrwsk12grid6"; depends=[mgcv survey]; };
-  causaleffect = derive2 { name="causaleffect"; version="1.3.6"; sha256="1kk68qlps0r40f3v4lb7njzg81igjp10jfinncxnn7gwyx58px83"; depends=[ggm igraph XML]; };
+  causaleffect = derive2 { name="causaleffect"; version="1.3.7"; sha256="0j7k1g2s6akwbqrijbfkxsad94knjj5mz5lkwwwfr1bpxs719916"; depends=[ggm igraph XML]; };
   causalsens = derive2 { name="causalsens"; version="0.1.1"; sha256="1z92ckqa07ajm451wrldxx9y43nawlvj2bsz0afxc9mrhjwjg5dh"; depends=[]; };
+  causalweight = derive2 { name="causalweight"; version="0.1.0"; sha256="1hig92w18vsyfpv1kvgymk37ik7rw7ql80p886b3s6vwdz8z0r3j"; depends=[mvtnorm np]; };
   cba = derive2 { name="cba"; version="0.2-19"; sha256="0nyssc7j5rkv1gcgx4cg31hwc37wd5k3yn9s2k22ffxlnrknss2l"; depends=[proxy]; };
   cbanalysis = derive2 { name="cbanalysis"; version="0.2.0"; sha256="0h0h8krlb6rckjpcw0jbbr8pcy3jm0cszimbm56l0ca668kiix06"; depends=[]; };
   cbar = derive2 { name="cbar"; version="0.1.3"; sha256="1jy52qnpjvszdd8xviv3vr00ds6bah73q0mhd4kixf68jafnxd35"; depends=[Boom bsts dplyr ggplot2 magrittr]; };
+  cbinom = derive2 { name="cbinom"; version="0.0.0"; sha256="1bg4jq67wr4hd6bxf5477wcmns3r956sgw2lm9gw1d4znvz5x3vf"; depends=[Rcpp]; };
   cbird = derive2 { name="cbird"; version="1.0"; sha256="0kzylylk46swd7f0j6kjyrcs3plbx9799q9kb8hjxmgh0qcjk2p6"; depends=[]; };
   cbsodataR = derive2 { name="cbsodataR"; version="0.2.5"; sha256="1dc4hbida1fbxin22paa31c0f4xj1pqzcc4649p7lbygqvf1fhqh"; depends=[httr jsonlite whisker yaml]; };
   ccChooser = derive2 { name="ccChooser"; version="0.2.6"; sha256="1vgp4zhg46hcf9ma2cmwgnfrqkmq1arh0ahyzjpfk3817vh7disc"; depends=[cluster]; };
@@ -4826,12 +4940,12 @@ in with self; {
   cclust = derive2 { name="cclust"; version="0.6-21"; sha256="1n5hh0017bcq8ck52qq89jm9zgdfpmiksrypsnv2vvhk3nr0s91c"; depends=[]; };
   ccmm = derive2 { name="ccmm"; version="1.0"; sha256="0855nr74xxpy7in2vrw15g8pv7nm1374irc1c5hikr5hadk5pf8v"; depends=[MASS]; };
   cctools = derive2 { name="cctools"; version="0.1.1"; sha256="1baqijxg75wr90y38d5g1gg8jmpz8ji7zv51wp9n1knif27rg348"; depends=[qrng Rcpp RcppArmadillo]; };
-  cdata = derive2 { name="cdata"; version="0.5.2"; sha256="0l0vqmvizvb7h31796yjbyd0wspxvl3zx64xarkqpq8vwqwkfv51"; depends=[DBI RSQLite wrapr]; };
+  cdata = derive2 { name="cdata"; version="0.7.0"; sha256="1s35wibqs2bklyi8y4j2jxfj7b5jjap2rib3pmh92da3n5jx049l"; depends=[wrapr]; };
   cdb = derive2 { name="cdb"; version="0.0.1"; sha256="1rdb4lacjcw67apdyiv7cl1xvv9d1mrzck1qk605n6794k7wf2ys"; depends=[bitops]; };
   cdcfluview = derive2 { name="cdcfluview"; version="0.7.0"; sha256="00yc3q28y20l2ppqxy6h53p9fvwhvpkc8m7csmp2lizqh787i2cc"; depends=[dplyr httr jsonlite MMWRweek purrr readr sf units xml2]; };
   cdcsis = derive2 { name="cdcsis"; version="1.0"; sha256="1fxdsaqpjhpffn2fxddfcrx8wxwyvfws6rxkpp57g25980xiyzkd"; depends=[ks]; };
-  cdfquantreg = derive2 { name="cdfquantreg"; version="1.1.3"; sha256="08l9kg4rclgh29r8cyk3d0619k4mkw2vj1phiyww4qr1dn5ssnda"; depends=[Formula MASS pracma]; };
-  cdlTools = derive2 { name="cdlTools"; version="0.11"; sha256="0jqr0j6hwqwx574659i3mfzf4hcmmxfd3x28d52dwgpwsv0r10gn"; depends=[raster RCurl rgdal XML]; };
+  cdfquantreg = derive2 { name="cdfquantreg"; version="1.2.0"; sha256="1z9a2rivi1i56369hkz94azfhyqch8wph819lgrxlrr4mcpl6k2p"; depends=[Formula MASS pracma]; };
+  cdlTools = derive2 { name="cdlTools"; version="0.13"; sha256="0zcw7k936mxk7ysjaqj9z3lw3vycbcnp6jhwqqysvd8n62nph24n"; depends=[httr raster]; };
   cdom = derive2 { name="cdom"; version="0.1.0"; sha256="00xqqqhskjlkz8ii7kqyabxk8995w7g9jiz1isyqjpwg8nsa3x28"; depends=[broom ggplot2 minpack_lm tidyr]; };
   cdparcoord = derive2 { name="cdparcoord"; version="1.0.0"; sha256="0a08rpc7chqbix10jimjh46dy6val97mrzqk972pq446b6ci95sn"; depends=[data_table freqparcoord magrittr partools plotly]; };
   cds = derive2 { name="cds"; version="1.0.3"; sha256="1h34k96h7ajkaqsw4dlqri63hrbnshaqwrdl74wlgycdlbvrqj05"; depends=[clue colorspace copula limSolve MASS]; };
@@ -4842,7 +4956,7 @@ in with self; {
   cellVolumeDist = derive2 { name="cellVolumeDist"; version="1.3"; sha256="00hq3nbfbnmg2lhrqd0glkh5ld50fv54ll3q6v875d1lgs44sln1"; depends=[gplots minpack_lm]; };
   cellWise = derive2 { name="cellWise"; version="2.0.8"; sha256="1xahayqlpylysdiqggzqh7z75r3ldi79bx124ky84r1vab659lm7"; depends=[ggplot2 gridExtra matrixStats Rcpp RcppArmadillo reshape2 scales]; };
   cellranger = derive2 { name="cellranger"; version="1.1.0"; sha256="16fgi3annn34c3cxi0pxf62mmmmxi21hp0zzlv7bkfsjqy4g4f2x"; depends=[rematch tibble]; };
-  cem = derive2 { name="cem"; version="1.1.17"; sha256="1jnhsrc1jhax3zlw9ynla7g9z5i4w01iar7f7hmv92kp1cwh8rbd"; depends=[combinat lattice MatchIt nlme randomForest]; };
+  cem = derive2 { name="cem"; version="1.1.19"; sha256="17i6jp6czjgchg16zndnh828hs8v28x25gy5f8mkzfhc5pfjd8mq"; depends=[combinat lattice MatchIt nlme randomForest]; };
   cenGAM = derive2 { name="cenGAM"; version="0.5.3"; sha256="0qic2g2bq24k9jimxdk8g7bsmi4br2r6159ipdhh5ym81ji3sf5p"; depends=[mgcv]; };
   censCov = derive2 { name="censCov"; version="1.0-0"; sha256="0i9vmyi12f1m5xnrl4cxk3z9qv7ymzxsyf4gbnpg1ph63yfnhv3g"; depends=[survival]; };
   censNID = derive2 { name="censNID"; version="0-0-1"; sha256="1ij5ci6nkqf0rq51vyh4jw5sr3y46yndfkjmwl78ppdj66axxir5"; depends=[]; };
@@ -4864,13 +4978,14 @@ in with self; {
   cffdrs = derive2 { name="cffdrs"; version="1.7.6"; sha256="00n3h2vf855anxh0xgsps7sv0kj819864wjdmkiak1lsacysav8s"; depends=[data_table doParallel foreach raster rgdal spatial_tools]; };
   cg = derive2 { name="cg"; version="1.0-3"; sha256="1kbyal1sicbr10yvxpwgcij710kqpi23vmndp9kyfzn3k8zfird3"; depends=[Hmisc lattice MASS multcomp nlme rms survival VGAM]; };
   cgAUC = derive2 { name="cgAUC"; version="1.2.1"; sha256="172f9rkfhv4xzwpw8izsnsdbcw9p3hvxhh0fd8hzlkil7vskr3k8"; depends=[Rcpp]; };
-  cgam = derive2 { name="cgam"; version="1.9"; sha256="0hc8q6mdd8fy2229biknissmg95b88kryr4c33yv5j77z6gw3s4y"; depends=[coneproj Matrix svDialogs]; };
+  cgam = derive2 { name="cgam"; version="1.10"; sha256="19q90bg32vn7f7znd93a7fz1pjmw1nmfxf4y5y2wfd14qmpwfk36"; depends=[coneproj Matrix svDialogs]; };
   cgdsr = derive2 { name="cgdsr"; version="1.2.10"; sha256="1xyhw7mhmjichr1l6f9y1qvfj9wm87kfbm87ji7lcwf36gxh5g23"; depends=[R_methodsS3 R_oo]; };
   cggd = derive2 { name="cggd"; version="0.8"; sha256="06z0mrxxc02parn9vkjv89qq4yqmsccsy319fi6c5iarssyvin1r"; depends=[]; };
   cgh = derive2 { name="cgh"; version="1.0-7.1"; sha256="1fgjz43bgnswlyvrm669x697lybq3jyzz4l8ppgxqwxp4p4d2yqn"; depends=[]; };
   cghFLasso = derive2 { name="cghFLasso"; version="0.2-1"; sha256="0b1hnjf9g0v47hbz0dy9m6jhcl1ky20yyhhmm8myng2sndcpjsbf"; depends=[]; };
   cghRA = derive2 { name="cghRA"; version="1.6.0"; sha256="16dlw27s8wckc75xcwc2g74pw6bar0y0ii3h53w1hql05d4f7sb8"; depends=[DNAcopy Rgb]; };
   cgmanalysis = derive2 { name="cgmanalysis"; version="1.3"; sha256="0fb93czybl9rpndvz3lykfiwksa154vdrmils8c8l688c62gyq55"; depends=[gdata pracma zoo]; };
+  chandwich = derive2 { name="chandwich"; version="1.0.0"; sha256="05x9mg33yl4d9kh5sc4lqi00hwnxdhfg2m0dkm5q0jynkhap7bmz"; depends=[numDeriv]; };
   changepoint = derive2 { name="changepoint"; version="2.2.2"; sha256="1jbki95pck10phpxna0b4i79hhl912zqi5ii9mjqb673y64dszkj"; depends=[zoo]; };
   changepoint_np = derive2 { name="changepoint.np"; version="0.0.2"; sha256="03i4l59h8cr6bizbqn288x9r85kvaz1dyhkv5fsj1189qpdi9m88"; depends=[changepoint zoo]; };
   changepointsHD = derive2 { name="changepointsHD"; version="0.3.0"; sha256="05zmypz2jz55m9avzg63dmp7fpcgi7jpc9vf2fv0kywcvf2wz5ym"; depends=[Rcpp RcppArmadillo]; };
@@ -4881,7 +4996,7 @@ in with self; {
   checkarg = derive2 { name="checkarg"; version="0.1.0"; sha256="0rkdjs2c4yx9laqgayxz57bwxhwgdh6ndrr4i3b1kh31lcmk1xc6"; depends=[]; };
   checkmate = derive2 { name="checkmate"; version="1.8.5"; sha256="1q6igk50lq4fp5d3imgcn1j063h3gsp214ra4nlf534hf4wjlkg9"; depends=[backports]; };
   checkpoint = derive2 { name="checkpoint"; version="0.4.3"; sha256="0r7v7ijyq92yd95ssxxbdlp5dv1sd09yvxr8c0yihf48kzw65s63"; depends=[]; };
-  checkr = derive2 { name="checkr"; version="0.0.2"; sha256="04gj2smibvkanglxv8vby4gwj9wfq44a8zclqvimp5hfb0ay12ny"; depends=[]; };
+  checkr = derive2 { name="checkr"; version="0.2.0"; sha256="1fy00mxdjfyw37l95gy9qc0ny5v9kn16hv261c8sl1kgnp8zv4a9"; depends=[]; };
   cheddar = derive2 { name="cheddar"; version="0.1-631"; sha256="0s6v3xcpv8ppgx6q6h2hgrjcf3f3i87kmylnr9q9zhry7729aiyn"; depends=[]; };
   chemCal = derive2 { name="chemCal"; version="0.1-37"; sha256="1sbmr8arczc65nzbgr5rfk2mbbnk6h60ni9cd9jngbhgdf0g1scw"; depends=[]; };
   chemmodlab = derive2 { name="chemmodlab"; version="1.0.0"; sha256="0lzibshhfz52m61xldf0xq4cc1xx64fjlw18hlkiv65dj3gcj2mh"; depends=[caret class e1071 elasticnet foreach lars MASS nnet pls pROC randomForest rpart tree]; };
@@ -4894,43 +5009,46 @@ in with self; {
   chillR = derive2 { name="chillR"; version="0.70.2"; sha256="01hn2b88ra7kadjylj2y840lpkapm93kdracnamy15c6f5f27kmb"; depends=[fields httr Kendall pls raster RCurl readxl RMAWGEN sp XML]; };
   chinese_misc = derive2 { name="chinese.misc"; version="0.1.8"; sha256="0c2qhdia7wpkv4x2qnq2lyvgnr0n37brd7m579hcl6zq7dw4y2m7"; depends=[jiebaR Matrix NLP Ruchardet slam stringi tm]; };
   chipPCR = derive2 { name="chipPCR"; version="0.0.8-10"; sha256="1mff7n7ga4sfwvcq7zkjkrl68nybnm2zkn37hmxvnw9yl3ls9lnw"; depends=[lmtest MASS outliers ptw quantreg Rfit robustbase shiny signal]; };
-  chngpt = derive2 { name="chngpt"; version="2018.1-3"; sha256="0x4jifap8y4gs7mdzawxyvfdfjg245zak2zljdl6351ppslzaj6z"; depends=[boot kyotil MASS survival]; };
+  chngpt = derive2 { name="chngpt"; version="2018.3-29"; sha256="0m1va7rknp2lmqdfhlfndhwb6ysn9vi567cc34f33829pdh0y4w3"; depends=[boot kyotil MASS survival]; };
   choiceDes = derive2 { name="choiceDes"; version="0.9-1"; sha256="07nnqqczi9p3cffdijzx14sxhqv1imdakj7y94brlr5mbf5i4fl4"; depends=[AlgDesign]; };
-  cholera = derive2 { name="cholera"; version="0.3.0"; sha256="08ijini3d4ir26di655315lvs9vjscixpawv8r7499idcb1jz87i"; depends=[alphahull deldir HistData igraph KernSmooth pracma RColorBrewer scales sp]; };
+  cholera = derive2 { name="cholera"; version="0.4.0"; sha256="0pm5kbaqkxkwzyda4ms90yivx0iv7hcn2z65xfqcqlsxsjbvlmhs"; depends=[deldir HistData igraph KernSmooth pracma RColorBrewer scales sp]; };
   choplump = derive2 { name="choplump"; version="1.0-0.4"; sha256="0fn6m3n81jb7wjdji4v04m53gakjfsj3ksm546xxz5zm7prk237s"; depends=[]; };
   chopthin = derive2 { name="chopthin"; version="0.2.2"; sha256="1ixmgq6igd2ji88qba7scny1j8rrizcf76dk4ymk3hah5dln97fz"; depends=[Rcpp]; };
   chords = derive2 { name="chords"; version="0.95.4"; sha256="1v6zvl1mv9fyf6hx1fpbj3i7s893n4y1w4j9rw1arps006qz2jqn"; depends=[MASS Matrix]; };
   choroplethr = derive2 { name="choroplethr"; version="3.6.1"; sha256="11f529zcflbqbchnp3v5yw2vwrlhyfib5pn2j6l60x0gdfxp07bb"; depends=[acs dplyr ggmap ggplot2 gridExtra Hmisc R6 RgoogleMaps scales stringr tigris WDI]; };
   choroplethrAdmin1 = derive2 { name="choroplethrAdmin1"; version="1.1.1"; sha256="13ljs21hdhiv6n4napmk1gjnjhpll6j5wyijzv4xnnbi1y3ns7a9"; depends=[ggplot2]; };
   choroplethrMaps = derive2 { name="choroplethrMaps"; version="1.0.1"; sha256="0ghqb2d1h0qkbcsll6ck2qk5sfvdwsrlh3phlbsjbak30832j7fr"; depends=[]; };
+  chorrrds = derive2 { name="chorrrds"; version="0.1.3"; sha256="1f4mrf5i5cddgv639cv45b35ff4r96hw7xh47zx04lgm295s5rvy"; depends=[dplyr httr jsonlite magrittr plyr stringr XML]; };
   chromer = derive2 { name="chromer"; version="0.1"; sha256="0fzl2ahvzyylrh4247w9yjmwib42q96iyhdlldchj97sld66c817"; depends=[data_table dplyr httr]; };
   chromoR = derive2 { name="chromoR"; version="1.0"; sha256="1x11byr6i89sdk405h6jd2rbvgwrcvqvb112bndv2rh9jnrvcw4z"; depends=[gdata haarfisz]; };
   chron = derive2 { name="chron"; version="2.3-52"; sha256="185lfp75cv3l4cavg64sccj8lgc5sivch13n6gkannv3pd5cyzy4"; depends=[]; };
-  chunkR = derive2 { name="chunkR"; version="1.1.0"; sha256="1yq37dyc0k00w3579wcw314zdjbr9ybzb2ih8mpbznz4li2pa2br"; depends=[Rcpp]; };
+  chunkR = derive2 { name="chunkR"; version="1.1.1"; sha256="1kw3hsx5k4cdicx0hc1v0mf2nzvqg95shx2xv05vb2pass48qw48"; depends=[Rcpp]; };
   chunked = derive2 { name="chunked"; version="0.4"; sha256="0pqk6nnxxnlsw9zal62ajjalrlmvkdrzyz2l8r10jd7s61vhra40"; depends=[DBI dplyr LaF lazyeval]; };
   ciTools = derive2 { name="ciTools"; version="0.3.0"; sha256="0mqrnln7iz6jm30nh1qb2457icaz3hcqmgqbj8m61z0sf6jj9pd7"; depends=[arm boot dplyr lme4 magrittr MASS tibble]; };
   cifti = derive2 { name="cifti"; version="0.4.5"; sha256="092334lcpkzv52bg53hzx64dnrwq67f3p9fzwchmafx1l46xrqx9"; depends=[gifti oro_nifti R_utils xml2]; };
   cin = derive2 { name="cin"; version="0.1"; sha256="1pwvy5nh5nrnysfqrzllb9fcrpddqg02c7iw3w9fij2h8s2v6kq5"; depends=[]; };
   cir = derive2 { name="cir"; version="2.0.0"; sha256="0ycjnbikpyhcfdik7c5knw4s9gl8y5h4219c4fhs4axs04np004v"; depends=[]; };
+  circglmbayes = derive2 { name="circglmbayes"; version="1.2.3"; sha256="1a60d8jpvwx2qwmy2if60c5vni9hp73fdwgz7mwi5xd5l67zwd3h"; depends=[BH coda ggplot2 Rcpp RcppArmadillo reshape2 shiny]; };
   circlize = derive2 { name="circlize"; version="0.4.3"; sha256="0pg947gkryygikfbv6admx8gsg02b6g219j6a1sdnqij2908yxna"; depends=[colorspace GlobalOptions shape]; };
   circular = derive2 { name="circular"; version="0.4-93"; sha256="0hki85rs8wc5950pjaw28q54rly2napfbcrx3pchlfap6wwy5kkn"; depends=[boot mvtnorm]; };
   cit = derive2 { name="cit"; version="2.2"; sha256="1lf8r3r4zwvs08vl4byhw6rvf54nb7vg83558pi0b5866m7in4sc"; depends=[]; };
   citbcmst = derive2 { name="citbcmst"; version="1.0.4"; sha256="1zkd117h9nahwbg5z6byw2grg5n3l0kyvv2ifrkww7ar30a2yikl"; depends=[]; };
   citccmst = derive2 { name="citccmst"; version="1.0.2"; sha256="1b7awn1hjckxisfdi4ck697hwd4a5sqklwi7xzh6kgqhk9pv7vjn"; depends=[]; };
   citr = derive2 { name="citr"; version="0.2.0"; sha256="1nzn0yw74k6zkwzb6spfzqkj3cbx6ry6ypbsnhy6w2flabnnvy4v"; depends=[assertthat curl miniUI RefManageR rstudioapi shiny yaml]; };
-  civis = derive2 { name="civis"; version="1.2.0"; sha256="10idsjq5grg9mw18f8v2wqz1rg95s12dsfglkrg7jar1782yq822"; depends=[DBI dbplyr devtools dplyr future ggplot2 httr jsonlite lubridate memoise purrr roxygen2 stringr testthat]; };
+  ciuupi = derive2 { name="ciuupi"; version="1.0.0"; sha256="1c72crf0his7vzmh86isvcvi0ahxnqdq4i6ms84hk20jmlz2hxin"; depends=[functional nloptr pracma statmod]; };
+  civis = derive2 { name="civis"; version="1.3.0"; sha256="1897b2s23clgwh35r9nvbgd3xbznbn4yxswwwy5rwc3w8yip5brj"; depends=[DBI dbplyr devtools dplyr feather future ggplot2 httr jsonlite lubridate memoise purrr roxygen2 stringr testthat]; };
   cjoint = derive2 { name="cjoint"; version="2.0.6"; sha256="1bhzw751ll43qbyif589yxmi3m1pbm206lqnsc5zcxsnxjf4li5n"; depends=[ggplot2 lmtest Matrix sandwich survey]; };
   ck37r = derive2 { name="ck37r"; version="1.0.0"; sha256="0nn2sfsfs8mhgjrz0ghn041ybhj2qim4rs3lkci7s4n95c8hbgdi"; depends=[caret cvAUC doParallel doSNOW foreach ggplot2 pryr randomForest RANN reader RhpcBLASctl ROCR snow stringr SuperLearner tmle]; };
   ckanr = derive2 { name="ckanr"; version="0.1.0"; sha256="1cvn0cih763f0ppl1y90vnwj3cgqyb7az89sn12nyn2qb6igiqyl"; depends=[httr jsonlite magrittr]; };
   clValid = derive2 { name="clValid"; version="0.6-6"; sha256="1l9q7684vv75jnbymaa10md13qri2wjjg7chr1z1m0rai8iq3xxw"; depends=[class cluster]; };
   cladoRcpp = derive2 { name="cladoRcpp"; version="0.14.4"; sha256="0d4vl7xrrwbhhx56ymw52rb5svw9nskxdya4dl04lw1qxc45p4jy"; depends=[Rcpp RcppArmadillo]; };
   clam = derive2 { name="clam"; version="2.3.1"; sha256="1n30fvx4macyawhzv17bzvc1s4qdn51p9mx28apfjbf80qck24g9"; depends=[]; };
-  clampSeg = derive2 { name="clampSeg"; version="1.0-1"; sha256="0y0yxdv75xqmv7v6q8q8v1qj6xr8i7ik4nkh759rpyn0da7qq076"; depends=[Rcpp stepR]; };
+  clampSeg = derive2 { name="clampSeg"; version="1.0-3"; sha256="06j0778qzw7lkdf7wrzshn9pikr57xymb3kbxvxcywz6db5c4k47"; depends=[Rcpp stepR]; };
   clarifai = derive2 { name="clarifai"; version="0.4.2"; sha256="0igi4xl27nz0r85hpws2zfc2gn5z2nmywp3saxgp74mh2y99lg6s"; depends=[curl jsonlite]; };
   class = derive2 { name="class"; version="7.3-14"; sha256="173b8a16lh1i0zjmr784l0xr0azp9v8bgslh12hfdswbq7dpdf0q"; depends=[MASS]; };
   classGraph = derive2 { name="classGraph"; version="0.7-5"; sha256="19jb9jr1gfg4karymrbilh0zjrlsczhy2q03x5b0jxnh4ykhxfj8"; depends=[graph Rgraphviz]; };
-  classInt = derive2 { name="classInt"; version="0.1-24"; sha256="18ng9y647jwb855pkmz555zdrznjgw4ynppaw43xm8qf8n291p7k"; depends=[class e1071]; };
-  classiFunc = derive2 { name="classiFunc"; version="0.1.0"; sha256="0rgl7yzdia2wl4b03zny8fyz6mn9lr3l2lf2134kcsfvw63apc12"; depends=[BBmisc checkmate dtw fda fda_usc fdasrvf proxy]; };
+  classInt = derive2 { name="classInt"; version="0.2-3"; sha256="1afiw3d5vpxky5scngj63095453xr95wrjj8kw36zsz71hrlgx11"; depends=[class e1071 spData]; };
+  classiFunc = derive2 { name="classiFunc"; version="0.1.1"; sha256="1qaima3sii394741p5n06lcqkk4fiv9apb7qqnpi6srx5h02lfl5"; depends=[BBmisc checkmate dtw fda fda_usc fdasrvf proxy rucrdtw zoo]; };
   classifierplots = derive2 { name="classifierplots"; version="1.3.3"; sha256="01rvn0jwliyxj7q4cmyv8an5g7fzn6y3sccp8mj6bcqjyblfcfaa"; depends=[caret data_table ggplot2 gridExtra png Rcpp ROCR]; };
   classifly = derive2 { name="classifly"; version="0.4"; sha256="0mw1vcas0gr1r4yvh0j02zhk7kp5342r0bhhg776hqgqdczgh5zj"; depends=[class plyr]; };
   classify = derive2 { name="classify"; version="1.3"; sha256="0134h12h6v06d7ldj9qgqjhh5f5ap98pvr0v6d4k8dqndnn0pggy"; depends=[ggplot2 lattice plyr R2jags Rcpp reshape2]; };
@@ -4942,8 +5060,8 @@ in with self; {
   cleangeo = derive2 { name="cleangeo"; version="0.2-2"; sha256="1bhpn53v36652mwg2ba2a6cs34slb7i0df2ibssyr2lnx5gciq4i"; depends=[maptools rgeos sp]; };
   cleanr = derive2 { name="cleanr"; version="1.1.3"; sha256="0vf2c2inb729kzmpxaznqa2zwj80j1ix9198gc36zq41ag5pd7jk"; depends=[checkmate]; };
   clere = derive2 { name="clere"; version="1.1.4"; sha256="1nk3chcnaa4y1c5rr6c3bapvi106ikbk9grqcq6s6j0imny1jp4a"; depends=[lasso2 Rcpp RcppEigen]; };
-  clespr = derive2 { name="clespr"; version="1.0.1"; sha256="0f1vcd4y2ixpwywp5mi9jvf6r1099ajqba9sbkq7rc6f0y32wcpj"; depends=[AER doParallel foreach magic MASS pbivnorm survival]; };
-  clhs = derive2 { name="clhs"; version="0.5-7"; sha256="0n7zy8wf78lka1l0zm42zxwi24bvavfy3irfqcnz5nslqkg61il2"; depends=[ggplot2 plyr raster reshape2 scales sp]; };
+  clespr = derive2 { name="clespr"; version="1.1.2"; sha256="1993kd70w48a110im47vcpll0c6nfrm7m33r6l8rzgwnpsmcls8g"; depends=[AER clordr doParallel foreach magic MASS pbivnorm survival]; };
+  clhs = derive2 { name="clhs"; version="0.6-0"; sha256="1vw8z4kmmpd8sbx7n8fzdd7lhg10qpnnx31nnjhv4dbd6v2nqii9"; depends=[cluster ggplot2 plyr raster reshape2 scales sp]; };
   cli = derive2 { name="cli"; version="1.0.0"; sha256="07as3dr7vwx02p3qgzlmxz1dlrd3x3lysrzp222ip9jcjpydp8wg"; depends=[assertthat crayon]; };
   clickR = derive2 { name="clickR"; version="0.3.38"; sha256="1qlc4lz2y2ls5qx1rqiswl5qr5qqkn6l30cp5ikhzr3ffvwp3nym"; depends=[beeswarm boot brms lme4 lmerTest ReporteRs xtable]; };
   clickstream = derive2 { name="clickstream"; version="1.3.0"; sha256="01bii527xy7hdph1pm6f1g4qnwa5yf3mwz01rjg1h2gc12s5vzgg"; depends=[arules ClickClust data_table ggplot2 igraph linprog MASS plyr reshape2 Rsolnp]; };
@@ -4958,18 +5076,18 @@ in with self; {
   clinDR = derive2 { name="clinDR"; version="1.7"; sha256="0xnrnmwg4y2vlxsmhj5pzpyiqk90xjxl91i9nn3lv90xszmdh0x2"; depends=[doParallel DoseFinding foreach ggplot2 rstan]; };
   clinPK = derive2 { name="clinPK"; version="0.9.0"; sha256="1n1m8szd8mxdshwz8l3hfdxi7zrmsah46kxkv7jiffwnfhijfhsm"; depends=[curl testit]; };
   clinUtiDNA = derive2 { name="clinUtiDNA"; version="1.0"; sha256="0x3hb09073gkh60fc8ia0sfk948sm6z6j8sqkz275k4m8ryrabas"; depends=[]; };
-  clinfun = derive2 { name="clinfun"; version="1.0.14"; sha256="13ip144qzgx9bg9pvdgz7y4v21sjvyjjixbm8mnvn6a6k62ycgmf"; depends=[mvtnorm]; };
+  clinfun = derive2 { name="clinfun"; version="1.0.15"; sha256="0cv1kdxj911scri82ms21lk9frsdp4251fawdsbqinby7k6hhmkc"; depends=[mvtnorm]; };
   clinsig = derive2 { name="clinsig"; version="1.2"; sha256="1wgfl9kks57yizrf8z6x7dhmbl3a80q8nnj3a5n2hpc9yr8l9ijf"; depends=[]; };
   clipr = derive2 { name="clipr"; version="0.4.0"; sha256="1bz841r3kmv16r6zxmlkvasp4nyldam00n6gh7zf8lyy9ymz38j4"; depends=[]; };
   clisymbols = derive2 { name="clisymbols"; version="1.2.0"; sha256="1q7gi2zmykhzas9v8fdnbpdq7pzdcpbhim1yxvd2062l777g4j86"; depends=[]; };
   clogitL1 = derive2 { name="clogitL1"; version="1.4"; sha256="0m9yrg9mzzfv5qkdf6w55xyrjdghyrf27kk7b4x2gyvwvi5b7dkm"; depends=[Rcpp]; };
   clogitLasso = derive2 { name="clogitLasso"; version="1.0.1"; sha256="1mm815w31n0jvbh2rwq15ja1mzvjaz1x846xq1949aj4pb692zrl"; depends=[foreach lassoshooting]; };
   clogitboost = derive2 { name="clogitboost"; version="1.1"; sha256="19wcb7229amlxn6xahxj6pf9rwfm02s7qkxz2yvyhnq95y0clxkm"; depends=[Rcpp]; };
-  clordr = derive2 { name="clordr"; version="1.0.2"; sha256="1jpkspppwcsflr7pz45zd8vnpax1idmkvfcai63vqik4ig0snfaj"; depends=[MASS numDeriv pbivnorm]; };
+  clordr = derive2 { name="clordr"; version="1.3.0"; sha256="16cw6i91azi3xw9slzy2v8vpdkqik8k02mvgvcl9a3irbl7wgz10"; depends=[doParallel foreach MASS pbivnorm rootSolve ttutils]; };
   cloudUtil = derive2 { name="cloudUtil"; version="0.1.12"; sha256="18g946j00anlk20d0fh01w0xyj1kwyy7jhlgz5a85wmp6s2gkz74"; depends=[]; };
   clpAPI = derive2 { name="clpAPI"; version="1.2.7"; sha256="19bn5d7qjj7g0x17jnh2snymcn2r2skzj35hkhsgcj5r43834f3r"; depends=[]; };
   clttools = derive2 { name="clttools"; version="1.3"; sha256="0va9k1b4xsb2sgpxzvid6sa8m6b8i3r4kgghclmb78nnrs480cwi"; depends=[]; };
-  clubSandwich = derive2 { name="clubSandwich"; version="0.3.0"; sha256="1az4q95swknjjbaisg0whcqyyrfxs8vhax3af9bnm6n2l2czihvk"; depends=[sandwich]; };
+  clubSandwich = derive2 { name="clubSandwich"; version="0.3.1"; sha256="1ga7f2s2jrj7xhrqz86bfsby8a6gsp9fqbfv0mjb2iaybi0is8d9"; depends=[sandwich]; };
   clue = derive2 { name="clue"; version="0.3-54"; sha256="1fnl1wi0g8f243ra5krlpyz69pg8s8m2wwxa53hb086k7hqv74af"; depends=[cluster]; };
   clues = derive2 { name="clues"; version="0.5.9"; sha256="0znlsbfmnz5wkp2cswrkjbgchdmmf7h78mv2zwx382m9n9n9hshy"; depends=[]; };
   clusrank = derive2 { name="clusrank"; version="0.5-2"; sha256="168xad5dyz46yxm139q09n9vp1304yrhikxz5bcfzhm3psyv5fbf"; depends=[MASS Rcpp]; };
@@ -4978,7 +5096,7 @@ in with self; {
   clustMD = derive2 { name="clustMD"; version="1.2.1"; sha256="0w4s9dab2mm5x0xibyl6s101c64if945a2cmwin9psd95p76mcny"; depends=[ggplot2 MASS mclust msm mvtnorm reshape2 truncnorm viridis]; };
   clustMixType = derive2 { name="clustMixType"; version="0.1-29"; sha256="01rc84ppy5mw3cdcx15xs6061lg1mwh6kxa80rnj3ax3g10x37sh"; depends=[RColorBrewer]; };
   clustRcompaR = derive2 { name="clustRcompaR"; version="0.2.0"; sha256="151xq8qf1mrl35kyhdliwl2jpdkpkbl3gdnrvrybanihry2p0kqg"; depends=[dplyr ggplot2 ppls quanteda]; };
-  cluster = derive2 { name="cluster"; version="2.0.6"; sha256="1z4gbz7chxxi4ly6c0yjlikwgf8aa8dlg05cn5cd6pjr21zvh97l"; depends=[]; };
+  cluster = derive2 { name="cluster"; version="2.0.7-1"; sha256="1grxbifbc4nwig25dmjgkympnbzb4al0w6k1c0ibdhpk1h4l20di"; depends=[]; };
   cluster_datasets = derive2 { name="cluster.datasets"; version="1.0-1"; sha256="0i68s9305q08fhynpq24qnlw03gg4hbk4184z3q3ycbi8njpr4il"; depends=[]; };
   clusterCrit = derive2 { name="clusterCrit"; version="1.2.7"; sha256="13smdm8dmp4795qqn8an3k22l7xs4i4kgazyjzxdbzkg742akk7q"; depends=[]; };
   clusterGeneration = derive2 { name="clusterGeneration"; version="1.3.4"; sha256="1ak8p2sxz3y9scyva7niywyadmppg3yhvn6mwjq7z7cabbcilnbw"; depends=[MASS]; };
@@ -4995,19 +5113,20 @@ in with self; {
   clusternomics = derive2 { name="clusternomics"; version="0.1.1"; sha256="05nkw6h2dvky07fj50myzw5xlkqyiflbn4vwqw8a1q2idv4awi7b"; depends=[magrittr MASS plyr]; };
   clustertend = derive2 { name="clustertend"; version="1.4"; sha256="1aqg8cy1hk3lmzvyqh9qc1mcknrva2i0c77hyd0yff9whz80ik4j"; depends=[]; };
   clusteval = derive2 { name="clusteval"; version="0.1"; sha256="1ld0bdl4fy8dsfzm3k7a37cyxc6pfc9qs31x4pxd3z5rslghz7rj"; depends=[mvtnorm Rcpp]; };
-  clustrd = derive2 { name="clustrd"; version="1.2.0"; sha256="029z46ihr2c57wan03c201d9kpaiyhhfvny41fjc2mvvc50rh2z7"; depends=[ca cluster corpcor dplyr dummies fpc GGally ggplot2 ggrepel plyr]; };
+  clustrd = derive2 { name="clustrd"; version="1.2.1"; sha256="05lsicz4br81fv20151j4j2bp1pfddcvywfqkagflc33z954a3z1"; depends=[ca cluster corpcor dplyr dummies fpc GGally ggplot2 ggrepel plyr]; };
+  clustree = derive2 { name="clustree"; version="0.1.1"; sha256="0y6i4z9xzmw7jf6c9kl87zims3gs5akyl355jc539534vhmsi73a"; depends=[checkmate dplyr ggplot2 ggraph igraph rlang viridis]; };
   clustsig = derive2 { name="clustsig"; version="1.1"; sha256="0n5nf712vsa8zb0c2lv4gjqsgva62678vjngr9idgswb73shxm8v"; depends=[]; };
-  clustvarsel = derive2 { name="clustvarsel"; version="2.3.1"; sha256="04jhywv15xqb284nwi80sinxkhadd590vvjbg1immywy2md9gfgc"; depends=[BMA foreach iterators Matrix mclust]; };
+  clustvarsel = derive2 { name="clustvarsel"; version="2.3.2"; sha256="11xd3pgr4i15q9rcim8y6ybi1iijv59k7f8wh0b2368kz3kz54cj"; depends=[BMA foreach iterators Matrix mclust]; };
   clv = derive2 { name="clv"; version="0.3-2.1"; sha256="1qgp2qhblg6ysyrlg0ad169ahwhcyn5pvsqzdlqj700y1k7wl7mc"; depends=[class cluster]; };
   cmaes = derive2 { name="cmaes"; version="1.0-11"; sha256="1hwf49d1m660jdngqak9pqasysmpc4jcgr8m04szwbyzyy6xrm5k"; depends=[]; };
   cmaesr = derive2 { name="cmaesr"; version="1.0.3"; sha256="03zx2nrw24wmmjjpyh8pswasjjq0amf0g375fm2b3s111dx8fbj9"; depends=[BBmisc checkmate ggplot2 ParamHelpers smoof]; };
-  cmm = derive2 { name="cmm"; version="0.8"; sha256="1661v2lzxgf4s37wdsrnbsvqwppcr7mbp70i1xsysfzki1z6xr19"; depends=[]; };
+  cmm = derive2 { name="cmm"; version="0.12"; sha256="0q6hs56hhi9vaanx7i7gg7ncv0h29lndla66g9chzmh3lchq3r20"; depends=[]; };
   cmna = derive2 { name="cmna"; version="1.0.0"; sha256="1x4w47j39p2f2n4jxrp4r1vw6gvpqzkgr5h158s18z26zllpvrnr"; depends=[]; };
   cmpprocess = derive2 { name="cmpprocess"; version="1.0"; sha256="0gqfmbm86bfi2l81pf2dn70rxg58h1y8hiyrp8sv9v84cx20422v"; depends=[compoisson numDeriv]; };
   cmprsk = derive2 { name="cmprsk"; version="2.2-7"; sha256="1imr3wpnj4g57n2x4ryahl4lk8lvq9y2r7319zv3k82mznha8bcm"; depends=[survival]; };
   cmprskQR = derive2 { name="cmprskQR"; version="0.9.1"; sha256="002s6ls670sdzrxgqv9gbl646b675q1gn6dzkngnf6rgcdqwid7n"; depends=[quantreg survival]; };
   cmrutils = derive2 { name="cmrutils"; version="1.3"; sha256="0zjc0bwp2p03hmnj3zjw7800pcdw8b8161y68npyp3hya0s4i9x0"; depends=[chron]; };
-  cmsaf = derive2 { name="cmsaf"; version="1.9.0"; sha256="1r0cny0i3wi3xfi38l5ls6zycnp0q1a0s00qrdgi1956yrmnm5x1"; depends=[fields ncdf4 raster sp]; };
+  cmsaf = derive2 { name="cmsaf"; version="1.9.1"; sha256="02l1g5l42lxg3wlpjg5qm6h8mfr1bdcpi052z8masxf6xf4l0abr"; depends=[fields ncdf4 raster sp]; };
   cmvnorm = derive2 { name="cmvnorm"; version="1.0-3"; sha256="0810kzg78yaxzniq59a4swvdk9qxp37ja52f5n1zssgn0cwz1vk9"; depends=[elliptic emulator]; };
   cna = derive2 { name="cna"; version="2.0.0"; sha256="0cfr4g63wwqkkz2xxz76m82p0am2kyazal6sqp7gnrc48x9lv8im"; depends=[Rcpp]; };
   cnbdistr = derive2 { name="cnbdistr"; version="1.0.1"; sha256="05qi41jimslbngjgbwzfda0q25hb28ax79v9yckvrbpgjc8dk990"; depends=[hypergeo]; };
@@ -5016,7 +5135,9 @@ in with self; {
   coRanking = derive2 { name="coRanking"; version="0.1.3"; sha256="1ss00l0c99fi9p6gcimb31nrl5iflps6lvplnjjqwcqjkb2pjh9p"; depends=[Rtsne scatterplot3d]; };
   coala = derive2 { name="coala"; version="0.5.2"; sha256="1rj9my20ba79alkhszh5lfvb9gjr6vcgiwqk2szawkpd1np3lpsr"; depends=[assertthat digest R6 Rcpp RcppArmadillo rehh scrm]; };
   coalescentMCMC = derive2 { name="coalescentMCMC"; version="0.4-1"; sha256="0xxv1sw5byf84wdypg5sfazrmj75h4xpv7wh4x5cr9k0vgf80b3s"; depends=[ape coda lattice Matrix phangorn]; };
+  coalitions = derive2 { name="coalitions"; version="0.6.2"; sha256="0plzrjjsbbr5mw6wqirxp1wgpl2bw2kh0gdalr8c8v2z7hc1d9r6"; depends=[checkmate dplyr forcats gtools jsonlite lubridate magrittr purrr RCurl reshape2 rlang rvest stringr tidyr xml2]; };
   coarseDataTools = derive2 { name="coarseDataTools"; version="0.6-3"; sha256="0f1fkpmqq142yrqzbqv11s5q4jkq7dilmrllcns871hc6vah6ikd"; depends=[MCMCpack]; };
+  cobalt = derive2 { name="cobalt"; version="3.2.2"; sha256="1hjfhbx8pjxf87bbp41xkq03srixv5p30nw2dk1f8if7xcyzjp97"; depends=[ggplot2 ggstance]; };
   cobs = derive2 { name="cobs"; version="1.3-3"; sha256="1pqvz7czcchri4x79g78hbwyagb3bqzdqb047zkbdinyz067c7kb"; depends=[quantreg SparseM]; };
   cocor = derive2 { name="cocor"; version="1.1-3"; sha256="106zyrrypil8jyg0pva5zj4hgb53z81nca3d0mh2q3j55zq3wl12"; depends=[]; };
   cocoreg = derive2 { name="cocoreg"; version="0.1.1"; sha256="0jrrkak964pl1vih592jgqgl6bw08j0fa1rh3j85x64bqq4m7278"; depends=[abind CCAGFA combinat e1071 ggplot2 glmnet gridExtra MASS multiway pls reshape RGCCA]; };
@@ -5025,8 +5146,9 @@ in with self; {
   coda = derive2 { name="coda"; version="0.19-1"; sha256="14a4a8df4ygj05h37chmdn8kzcqs07fpbflxfrq530563mrza7yl"; depends=[lattice]; };
   coda_base = derive2 { name="coda.base"; version="0.1.8"; sha256="05bbmfswajmjc8l3g2clwj3hyj06y9v7camq910b881frl2xj584"; depends=[MASS Rcpp RcppArmadillo]; };
   codadiags = derive2 { name="codadiags"; version="1.0"; sha256="1x243pn6qnkjyxs31h1hxy8x852r0fc952ww77g40qnrk8qw79xg"; depends=[coda]; };
-  codemetar = derive2 { name="codemetar"; version="0.1.4"; sha256="0klwwf4ws2l15iq33d3jk7whp4inql6if7yai5z7493zs9c30z3x"; depends=[devtools git2r jsonld jsonlite readr stringi]; };
-  codep = derive2 { name="codep"; version="0.7-1"; sha256="1icj9mijp3x93rn7xbi0aivj7r4rlgiclsa920b1x9ws8b3jrv06"; depends=[]; };
+  codebook = derive2 { name="codebook"; version="0.5.8"; sha256="0zz4vw5r5dw3vfd0j71jzgdf1z1ll0sgcwqq7qrnxn1s4ya4d0v4"; depends=[dplyr DT future ggplot2 haven knitr likert mice pander psych purrr readr rlang rmarkdown skimr stringr tibble tidyr]; };
+  codemetar = derive2 { name="codemetar"; version="0.1.5"; sha256="164cjcqi0pz2h3v4i8llgjjif1gyrvisg0pqz04s4glbbf2pkz80"; depends=[devtools git2r jsonld jsonlite readr stringi]; };
+  codep = derive2 { name="codep"; version="0.8-1"; sha256="1ip84285kcqgniabw5da7az1p508wx961gr4hiqf8c24flyw08br"; depends=[]; };
   codetools = derive2 { name="codetools"; version="0.2-15"; sha256="0h7sjmvvsi35041jp47cxhsqzgf1y8jrw6fxii7n26i8g7nrh1sf"; depends=[]; };
   codingMatrices = derive2 { name="codingMatrices"; version="0.3.2"; sha256="0kldx2h3mksw4644d0ask6ij7i63rrwk0njlsvkbdjz3bf7pdv1b"; depends=[fractional Matrix]; };
   codyn = derive2 { name="codyn"; version="1.1.0"; sha256="0s8ssaq59vddilz0fin9sgr8fir70c220cffbsy2l0qn34q48627"; depends=[assertthat permute]; };
@@ -5047,9 +5169,10 @@ in with self; {
   collapsibleTree = derive2 { name="collapsibleTree"; version="0.1.6"; sha256="1l02rk1lmm2ac9rr5p1633y1chc203cr9mhlc9s95bv12791i5zb"; depends=[data_tree htmlwidgets]; };
   collectArgs = derive2 { name="collectArgs"; version="0.4.0"; sha256="0fz5w1xsxiddzrwahrg50px4igyhd4plq655jaix6grancs7kvix"; depends=[magrittr]; };
   collpcm = derive2 { name="collpcm"; version="1.0"; sha256="15k6khsgikjpsasyz02bhgd43nij2n7nl0m0sgxvjlcn0nv95y2n"; depends=[latentnet network vegan]; };
-  coloc = derive2 { name="coloc"; version="2.3-1"; sha256="1j3m9afpkm0bzib38yqvk85b6s6l56s6j2ni96gii4a06r87ig60"; depends=[BMA colorspace MASS]; };
+  colmozzie = derive2 { name="colmozzie"; version="1.1.1"; sha256="0sn7dqg7rnddnmdb10c6scws6kgi1lz4lw8nc698x63z431ah1p8"; depends=[]; };
+  coloc = derive2 { name="coloc"; version="3.1"; sha256="1321675wz1vn7rcd2sm4c9h183nwnmp0lqww5nykjf792ijyaal8"; depends=[BMA flashClust ggplot2 reshape snpStats speedglm]; };
   colorRamps = derive2 { name="colorRamps"; version="2.3"; sha256="0shbjh83x1axv4drm5r3dwgbyv70idih8z4wlzjs4hiac2qfl41z"; depends=[]; };
-  colorSpec = derive2 { name="colorSpec"; version="0.6-2"; sha256="153jps1l0wv0b726b0l7bhsg7g45jdfsralg6k8nvyij4yw1dqi1"; depends=[MASS]; };
+  colorSpec = derive2 { name="colorSpec"; version="0.7-3"; sha256="1gg55872ap3h15h5ris1qhjgyq4q55x702z9v0xsigz87fcr300s"; depends=[MASS minpack_lm]; };
   colordistance = derive2 { name="colordistance"; version="0.8.0"; sha256="0fqj8apgfvk021cs1m79nk9kx294zxbj55jqylcrg3hadxy4plkf"; depends=[abind ape clue emdist gplots jpeg magrittr mgcv plotly png scatterplot3d spatstat]; };
   coloredICA = derive2 { name="coloredICA"; version="1.0.0"; sha256="1xj4dsrwgqzm2644nk3y8nj47m036b4ylh6v60jccj3707spb32r"; depends=[MASS]; };
   colorednoise = derive2 { name="colorednoise"; version="0.0.2"; sha256="0y2a86fwndcgkaxr4jmls7a9d1ipij4zi3r4nchwda0bynlw6mq4"; depends=[dplyr purrr Rcpp]; };
@@ -5067,7 +5190,7 @@ in with self; {
   colourvision = derive2 { name="colourvision"; version="2.0"; sha256="0gxhdyajrmnks1ivbnhxl37ivq4h3figp5kgk6g2wdn80i2b8k1a"; depends=[Matrix rgl]; };
   colr = derive2 { name="colr"; version="0.1.900"; sha256="0ilz1y0jd2vgyh81g3dwx2l64sir6z6sgmqx7lnvr1hafsqnwfc8"; depends=[]; };
   colt = derive2 { name="colt"; version="0.1.1"; sha256="028jqvgr14ig8jxp8h2lrf7mainzppgqh6v1479qfv4l9is3bnwy"; depends=[crayon]; };
-  comato = derive2 { name="comato"; version="1.0"; sha256="03jnvv0sczy13r81aljhj9kv09sl5hrs0n5bn3pdi7ba64zgbjiw"; depends=[cluster clusterSim gdata igraph lattice Matrix XML]; };
+  comato = derive2 { name="comato"; version="1.1"; sha256="0lidwr5vw10655p7q0iqzq3phq5y1i86w3bjdv87cwx3m6333bz6"; depends=[cluster clusterSim gdata igraph lattice Matrix XML]; };
   combinat = derive2 { name="combinat"; version="0.0-8"; sha256="1h9hr88gigihc4na7lb5i7rn4az1xa7sb34zvnznaj6pdrmwy4qm"; depends=[]; };
   combiter = derive2 { name="combiter"; version="1.0.3"; sha256="11pcvrpbvkzkjwks2z6ww7s9d5fkh8zl0jw52a5ya3y1wkqcs3n6"; depends=[iterators itertools Rcpp]; };
   comclim = derive2 { name="comclim"; version="0.9.4"; sha256="0m6ynccscsrrq70p0drwrwxp4skc630kv1l5smh48pi8kagahj1g"; depends=[]; };
@@ -5077,12 +5200,12 @@ in with self; {
   commentr = derive2 { name="commentr"; version="1.0.4"; sha256="0anlcbk8rj0yr8i23qmr6v5ws0695nkc3mvgr6pnq1fg2d4c4brj"; depends=[stringr]; };
   commonmark = derive2 { name="commonmark"; version="1.4"; sha256="1vb8r9khpvcf0q7acv8rsplfjjwcll302bg5kp596cvn6aacypl6"; depends=[]; };
   commonsMath = derive2 { name="commonsMath"; version="1.1"; sha256="0v9jlk75ihh8yjhq5ybighvndp0hn1d6rqh78jkh4g6ylhbpvcw0"; depends=[]; };
-  comorbidity = derive2 { name="comorbidity"; version="0.0.3"; sha256="1j991wjavgalpwsjzb6bq2h2my1p7mvw8ziqka3kzr173plgmkq7"; depends=[checkmate]; };
+  comorbidity = derive2 { name="comorbidity"; version="0.1.1"; sha256="0xb3k2ql3ikdbyx8l73wsrwi62ayapszbrygk8arw1g2n0yqz2f4"; depends=[checkmate]; };
   compHclust = derive2 { name="compHclust"; version="1.0-3"; sha256="0agay7rn5mrw07imz4l547b7m9pfcg3rhz4krfxrvg1q2z2kryvj"; depends=[]; };
   compactr = derive2 { name="compactr"; version="0.1"; sha256="0f2yds6inmx0lixj08ibqyd2i61l2cbg1ckgpb8dl2q7kcyyd6mx"; depends=[]; };
   compare = derive2 { name="compare"; version="0.2-6"; sha256="0k9zms930b5dz9gy8414li21wy0zg9x9vp7301v5cvyfi0g7xzgw"; depends=[]; };
   compareC = derive2 { name="compareC"; version="1.3.1"; sha256="0dachfr23lps2jj1y5gc958k54vskmww84gdgk4amihsdgjsnphg"; depends=[]; };
-  compareDF = derive2 { name="compareDF"; version="1.2.0"; sha256="09y8bh9d9m2pf9j7qqyk1s07pp7rgbhzbkswl12vnx2cm24lp525"; depends=[dplyr htmlTable tidyr]; };
+  compareDF = derive2 { name="compareDF"; version="1.3.0"; sha256="0idra4qsr73sx4rcnm3d6arfz8mrcc072jiw3lljjmwidsfdnjvr"; depends=[dplyr htmlTable tidyr]; };
   compareGroups = derive2 { name="compareGroups"; version="3.3.3"; sha256="18v5as6037ndihsslk25455y553wcbrdriav1p6zbbc52lqcf0a3"; depends=[epitools gdata HardyWeinberg Hmisc knitr rmarkdown SNPassoc survival xtable]; };
   compareODM = derive2 { name="compareODM"; version="1.2"; sha256="019hq8j56asjvh4x1p65785mf38xr05j3by0749gl9k9yl8645da"; depends=[XML]; };
   comparer = derive2 { name="comparer"; version="0.1.1"; sha256="1nmvqzrvyxdsidkr243qdn0lj2s7j3jv1sh0mdlxm2v5063nyryr"; depends=[progress]; };
@@ -5095,7 +5218,7 @@ in with self; {
   complmrob = derive2 { name="complmrob"; version="0.6.1"; sha256="1dr80r1p05h3mlnjbgh6kfw86np8y2bhy9yi5qydv85w52k133n1"; depends=[boot ggplot2 robustbase scales]; };
   compoisson = derive2 { name="compoisson"; version="0.3"; sha256="0v5dl7xydqi4p97nipn4hyhpq2gghmx81ygvl0vc8b65jhq89y0p"; depends=[MASS]; };
   compositions = derive2 { name="compositions"; version="1.40-1"; sha256="1hn139g86bc1q3dj6kj9f21042v4x0xgrp4ni1zvx1zx8xmy3h8b"; depends=[bayesm energy robustbase tensorA]; };
-  compound_Cox = derive2 { name="compound.Cox"; version="3.7"; sha256="029r8v26ch8ps8d5pcg7y789sagsgm49xadwrcpjj87126hjh435"; depends=[numDeriv survival]; };
+  compound_Cox = derive2 { name="compound.Cox"; version="3.10"; sha256="0xk7r7dvcm5kwvimap9v4h60nxrk6hk72hm7258pm0x32ygwidcw"; depends=[numDeriv survival]; };
   compute_es = derive2 { name="compute.es"; version="0.2-4"; sha256="1b5i8z66zbag0vdv98mmpwmizpm68vc3ajh0n3q94zdcmhcbx12d"; depends=[]; };
   comtradr = derive2 { name="comtradr"; version="0.1.0"; sha256="0az61xsrwzr4g1s6g52vm9fivh985c6s06y3rb1c9ic0my385zhx"; depends=[httr jsonlite magrittr purrr]; };
   concatenate = derive2 { name="concatenate"; version="1.0.0"; sha256="1kvsw7vwa3hn97ff7r6z21h5ajs74azwv2dk4pzgyaasnbp778hw"; depends=[]; };
@@ -5104,7 +5227,7 @@ in with self; {
   concor = derive2 { name="concor"; version="1.0-0.1"; sha256="0hjyvi6p16cyrmq0bq7fph1r5f3adp7zpf123wkm5bkjnc5122k0"; depends=[]; };
   concordance = derive2 { name="concordance"; version="1.6"; sha256="0pb4mndrh1nimf59ajjcydlvc79nm6p7c219iymkn0b1hbrnx7lf"; depends=[]; };
   concreg = derive2 { name="concreg"; version="0.6"; sha256="1ncs9cpviv5kd49hahlhi7wn2yk70msi22qv8fw91hf81ccimlp2"; depends=[survival]; };
-  cond = derive2 { name="cond"; version="1.2-3"; sha256="0y7m7valk7zn40y62348czmdvfkx59il9sl6wy565lzqfiimd9ps"; depends=[statmod survival]; };
+  cond = derive2 { name="cond"; version="1.2-3.1"; sha256="1j0gf28mg2j6ahs83nk662bix1lb2c9184vn8sblw433zxqaa2ny"; depends=[statmod survival]; };
   condGEE = derive2 { name="condGEE"; version="0.1-4"; sha256="0mqj2pc91n8h3arpd4b9f7ndbcnai21c67is22qg22wj7vhhs87h"; depends=[numDeriv rootSolve]; };
   condMVNorm = derive2 { name="condMVNorm"; version="2015.2-1"; sha256="04563jljnjhbiaiq33gn5dxjfvv05xp3lhl3w942v0smy0cdhrh4"; depends=[mvtnorm]; };
   condSURV = derive2 { name="condSURV"; version="2.0.1"; sha256="0xjpypc4fzrnfjcznyc2bslkkza4fib8nx8ff2j7xh2nf84lk3f1"; depends=[doParallel doRNG foreach KernSmooth np survival]; };
@@ -5114,14 +5237,14 @@ in with self; {
   condmixt = derive2 { name="condmixt"; version="1.0"; sha256="05q1fj7akf6lsq9rbcqqkzlx82jvk6mlvmwx6jzk8j228fwqmg90"; depends=[evd]; };
   condusco = derive2 { name="condusco"; version="0.1.0"; sha256="0zydinzlksynkz4r712rzv9qqdx8dkdz3h1ygi9cfmd6hya3580s"; depends=[assertthat bigrquery DBI jsonlite]; };
   condvis = derive2 { name="condvis"; version="0.4-2"; sha256="0l515wpsmh7g4q4w29gb1gv5kafwzfhb8as0ml8vbbrh6xcgmz9q"; depends=[MASS]; };
-  coneproj = derive2 { name="coneproj"; version="1.12"; sha256="1937sf7b9s2y421gf2srjjdpv2knxrr03xyq5vg5j77z73kh9s6d"; depends=[Rcpp RcppArmadillo]; };
+  coneproj = derive2 { name="coneproj"; version="1.14"; sha256="0km7njsxjgrv4d8bx709nci59ngm00jg1r55702yapyjl0f2zg93"; depends=[Rcpp RcppArmadillo]; };
+  conf = derive2 { name="conf"; version="1.0"; sha256="0skfmk1vz8ry52l811rxnk6a8hicajza8m5ycfg7p0xb8ssyj6gi"; depends=[]; };
   conf_design = derive2 { name="conf.design"; version="2.0.0"; sha256="06vdxljkjq1x56xkg041l271an1xv9wq79swxvzzk64dqqnmay51"; depends=[]; };
   confSAM = derive2 { name="confSAM"; version="0.2"; sha256="1l67ndya07hh0yqfbabfhsvp3hryklx0022grpr0cb7ff88d1zam"; depends=[]; };
   confidence = derive2 { name="confidence"; version="1.1-2"; sha256="0m6iz59n5jpi0ig3za3nir4d4bdsysf5g47d2nakfmaz03wk520z"; depends=[ggplot2 knitr markdown plyr xtable]; };
-  config = derive2 { name="config"; version="0.2"; sha256="1p0gaqrqhcrdkp5cr3rn4i5ny8mr96b3q1fwgs0i8lk5riljkk20"; depends=[yaml]; };
-  configr = derive2 { name="configr"; version="0.3.2"; sha256="114gdxpy167dljfsnm52w62nvgsi0v8nghjfvrc1r7fgg148v5cr"; depends=[glue ini jsonlite RcppTOML stringr yaml]; };
+  config = derive2 { name="config"; version="0.3"; sha256="0l67nfpm42ssnk0bl4jmq6bibz8hawgfgh2s14s5c8mnimv6mpjs"; depends=[yaml]; };
+  configr = derive2 { name="configr"; version="0.3.2.1"; sha256="184iafdsj0k8i4n877g00fsnqmdq7k4y1azwn4d18gq2l7kg3qn1"; depends=[glue ini jsonlite RcppTOML stringr yaml]; };
   confinterpret = derive2 { name="confinterpret"; version="1.0.0"; sha256="0qldaqpx7kpk71zfwv465jrscwzc9w3xfv52i4h01k9aw3q6m8ja"; depends=[]; };
-  conformal = derive2 { name="conformal"; version="0.2"; sha256="13d8yv8l333n3m8kl2sdnd0m5b7gjixkqjlpfj312fk9nxvqdbcg"; depends=[caret e1071 ggplot2 randomForest]; };
   conformalClassification = derive2 { name="conformalClassification"; version="1.0.0"; sha256="03v6xbgipb97byarqj0d38z9yb2g54mkkw343jxmi2j058z26yw7"; depends=[doParallel foreach mlbench randomForest]; };
   confreq = derive2 { name="confreq"; version="1.5.1"; sha256="0gy6d1kffb1w86ifldswb9krxyc2p646g9yjlfm1h243qlp52sfa"; depends=[gmp]; };
   congressbr = derive2 { name="congressbr"; version="0.1.1"; sha256="1kfpyrakbri9zqggcfy7flxyfpf85w5gqxi0p249qjw5khz8nkz5"; depends=[dplyr httr lubridate magrittr pscl purrr stringi stringr tibble tidyr xml2]; };
@@ -5130,7 +5253,7 @@ in with self; {
   conjoint = derive2 { name="conjoint"; version="1.39"; sha256="0f8fwf419js9c292i3ac89rlrwxs2idhwxml1qd8xd2ggwfh6w5m"; depends=[AlgDesign clusterSim]; };
   conover_test = derive2 { name="conover.test"; version="1.1.5"; sha256="0f1p10klidk1xic1wd48j9rjh2fb3z6pfjx4y021lglx1w3av68k"; depends=[]; };
   constants = derive2 { name="constants"; version="0.0.2"; sha256="1j9d52riwx7v1ppfdw0x517j7xh92qgskd4mj5yk9qa233brcwyy"; depends=[]; };
-  constellation = derive2 { name="constellation"; version="0.1.0"; sha256="1q6kv8gg89xk80y24ma0zp8zy3cy4i93bjzax524cjbfnhpknx1k"; depends=[data_table fasttime]; };
+  constellation = derive2 { name="constellation"; version="0.2.0"; sha256="1d49rnyf2z3bvx158nsmgmb0x7xcgxl9f8y98pwg5wlqck7af99q"; depends=[data_table]; };
   constrainedKriging = derive2 { name="constrainedKriging"; version="0.2.4"; sha256="1a91s0b7yka37fb5pm172fmlqrhm6da370cqb9knvkg5n8vi4hys"; depends=[RandomFields rgeos sp spatialCovariance]; };
   contfrac = derive2 { name="contfrac"; version="1.1-11"; sha256="0vmcazjlg0p3xaksai3k7yb9bbqkd4lhmbvxf2qymr2asqm51mdi"; depends=[]; };
   conting = derive2 { name="conting"; version="1.6.1"; sha256="0vw6gwiajxzaai6ky0b89l2jg4kd4c6xxzb1cmzxlcdrhwmhz402"; depends=[BMS coda gtools mvtnorm tseries]; };
@@ -5148,7 +5271,7 @@ in with self; {
   cooccurNet = derive2 { name="cooccurNet"; version="0.1.6"; sha256="1vqfmvjrxxn977jrry47wn4lag4yi4bkyxwlis3n1ly39kkmyh2j"; depends=[bigmemory doParallel foreach igraph knitr Matrix pryr seqinr]; };
   coop = derive2 { name="coop"; version="0.6-1"; sha256="1hr78w7qlslpwnrz9mk6w4p5qa8sxhkzans5givy5hf9qkykn0dp"; depends=[]; };
   cooptrees = derive2 { name="cooptrees"; version="1.0"; sha256="0izvwna1jsqik3v5fz1r4c86irvma42clw0p4rdvwswv5pk698i1"; depends=[gtools igraph optrees]; };
-  copBasic = derive2 { name="copBasic"; version="2.0.6"; sha256="13sy2zxndfgxsmzrsiv8pm7xih1wbr3gkzlqgzp2qwswqpp3kxl5"; depends=[lmomco randtoolbox]; };
+  copBasic = derive2 { name="copBasic"; version="2.0.7"; sha256="05fikcba2nmr7lphdc17nlrhxqyv8mw81q26fycwhagmahbsm2ag"; depends=[lmomco randtoolbox]; };
   copCAR = derive2 { name="copCAR"; version="2.0-2"; sha256="032gphv64v2mmy63q86qgpa31i36ix6fkjsdxmzgqyxcyzgb0jcy"; depends=[mcmcse numDeriv Rcpp RcppArmadillo spam]; };
   cope = derive2 { name="cope"; version="0.2.3"; sha256="1r02nb6wy25ixhdcbqqz167s7ny3hydpxfxry5ar4136qvcamgyy"; depends=[abind fields maps MASS Matrix mvtnorm nlme]; };
   coppeCosenzaR = derive2 { name="coppeCosenzaR"; version="0.1.3"; sha256="1chwsfyaf5rmlsypr43n7px8b2220dfa5mzcriq1swylgbx4181l"; depends=[]; };
@@ -5159,14 +5282,13 @@ in with self; {
   corHMM = derive2 { name="corHMM"; version="1.22"; sha256="03di9250hjn5fiwn47f0pr4zprmsza4if3xpmy3j1czahc8zlqnj"; depends=[ape corpcor expm GenSA nloptr nnet numDeriv phangorn Rmpfr]; };
   corTools = derive2 { name="corTools"; version="1.0"; sha256="0arvqk2xp19ap73zmdk0kb1fycb3v2mf65b4bhanvcqwr4kg4vdk"; depends=[]; };
   corclass = derive2 { name="corclass"; version="0.1.1"; sha256="0ai8si992f58mrvc8hq598zbw9d4jslnc96lpzj5d89lljjv3hf5"; depends=[igraph]; };
-  corcounts = derive2 { name="corcounts"; version="1.4"; sha256="0irlx62ql5rp5s7nnjdy6jh723wl4039wn10zxri8ihxwqsyyz3f"; depends=[]; };
   cord = derive2 { name="cord"; version="0.1.1"; sha256="18xj6cwmx1a7p3vqx5img8qf8s75nc6pcv78v15j081pgn786ma5"; depends=[Rcpp RcppArmadillo]; };
   cordillera = derive2 { name="cordillera"; version="0.8-0"; sha256="0cpysfivwmim36gcqn1i7450a33hv4pdbvil7syb0hr7vdm083dd"; depends=[dbscan yesno]; };
   coreCT = derive2 { name="coreCT"; version="1.2.1"; sha256="19aq5snv5kin913rf0a1n9z0cg2l1jn2hnxbd0h05p1qrsysx52b"; depends=[igraph oro_dicom plyr raster]; };
   coreNLP = derive2 { name="coreNLP"; version="0.4-2"; sha256="0rvyqj7s3lijq4rzil65060b29m393m7zmg99mykp1g1kby5bjd8"; depends=[rJava XML]; };
   coreSim = derive2 { name="coreSim"; version="0.2.4"; sha256="1fhlss420rhs21l9i2ag5g3j0vnrkpqdh13ca4rwfan6h35qr3sm"; depends=[dplyr MASS]; };
   coreTDT = derive2 { name="coreTDT"; version="1.0"; sha256="14rnh61gk3m6g8rq77hm9ybds0px15di2mxm3jiyfdfynx5ng58f"; depends=[]; };
-  corehunter = derive2 { name="corehunter"; version="3.2.0"; sha256="12bwmhl6mmjz7xggh03933k1ax5k5dri3bp4p73y6bh1rk22p5l2"; depends=[naturalsort rJava]; };
+  corehunter = derive2 { name="corehunter"; version="3.2.1"; sha256="0cxvhmi768kz3q8hydb6y9nqvc8hvkmq8nc5yfry4k94whk12wax"; depends=[naturalsort rJava]; };
   corkscrew = derive2 { name="corkscrew"; version="1.1"; sha256="1nb81r4lsrajcj3xz3f7p6xznnb38yg3rnnh44rd3kabca4d8r1s"; depends=[ggplot2 gplots igraph RColorBrewer]; };
   corlink = derive2 { name="corlink"; version="1.0.0"; sha256="06n9pcvbn8y9gy0mn9c0sw05424ss8smpaw3ly6a785cmj3d9b6m"; depends=[]; };
   corpcor = derive2 { name="corpcor"; version="1.6.9"; sha256="1hi3i9d3841snppq1ks5pd8cliq1b4rm4dpsczmfqvwksg8snkrf"; depends=[]; };
@@ -5174,21 +5296,22 @@ in with self; {
   corpus = derive2 { name="corpus"; version="0.10.0"; sha256="0c984rsnbai2qrm2s10lkdfgx31m0ax46zhl74bns2bxfmagcn3l"; depends=[utf8]; };
   corpustools = derive2 { name="corpustools"; version="0.3.1"; sha256="0723n7gjk4yrnbvars6c6a805cqpx21z9yn9745wbvfgq7a8c4hy"; depends=[data_table Matrix memoise plyr R6 Rcpp SnowballC stringi wordcloud]; };
   corr2D = derive2 { name="corr2D"; version="0.2.0"; sha256="02z9k0j6j8jyjfgff55amkzsa5w0xbr9nqm1247qylsh8sl2rqcz"; depends=[colorspace doParallel fields foreach mmand rgl]; };
+  corrDNA = derive2 { name="corrDNA"; version="1.0.1"; sha256="1mfjrzpcb63ydyj1yxa0wd3vh4z0rdwsqv09w0a0l4l7mhb5jz2k"; depends=[mvtnorm]; };
   correctedAUC = derive2 { name="correctedAUC"; version="0.0.3"; sha256="0c2kq7asq5mp48p8niqb84wnw4q2q2985wxbrywrhsszm9p3xspb"; depends=[ICC mnormt]; };
-  corregp = derive2 { name="corregp"; version="1.0.3"; sha256="07zsbxhvh7n4ma6lgsmg0kkmgcs5afa02k6cq57afaqvxisw18l3"; depends=[diagram ellipse gplots rgl]; };
+  corregp = derive2 { name="corregp"; version="2.0.2"; sha256="1v048dibn2x3y5mi2damcsr9i5kdig5n53g5j9gf31lqkzzjmnh3"; depends=[data_table diagram ellipse gplots rgl]; };
   correlbinom = derive2 { name="correlbinom"; version="0.0.1"; sha256="1ix3ccxzr7vqblbda5awsva3h95b69v7kc6adz622bbi8r36xxcq"; depends=[Rmpfr]; };
   corrgram = derive2 { name="corrgram"; version="1.12"; sha256="1z0h2mkf4805w3wnhy31cf1gm9miliapxchgc4ksg3kx2799gv91"; depends=[seriation]; };
   corrplot = derive2 { name="corrplot"; version="0.84"; sha256="1k03qd8db7pwg1v318xapx5mpiypiz2n07qr19c4b45diri5xkhd"; depends=[]; };
   corrr = derive2 { name="corrr"; version="0.2.1"; sha256="1d04nk92fjmk4kc5zipjqjhhmb1w97kid7l2jz5a8pkwiccn5byc"; depends=[dplyr ggplot2 ggrepel lazyeval magrittr purrr seriation tibble tidyr]; };
   corrsieve = derive2 { name="corrsieve"; version="1.6-8"; sha256="0ak3j9khcwv5rxbicck2sr260wpmd3xj254y7pdavx2fk0b72yxs"; depends=[]; };
   corset = derive2 { name="corset"; version="0.1-4"; sha256="0ladyqvkys4cldvbhkii9jwn1k5p1ym2g5bgdlz1hq1sv30ixn2f"; depends=[]; };
-  cosa = derive2 { name="cosa"; version="1.0.0"; sha256="1hrqjz3wvq1i1j69n8gpxfm8rzxqwwkfr4gwby5qcnlnq0ip2by8"; depends=[nloptr]; };
+  cosa = derive2 { name="cosa"; version="1.2.0"; sha256="1g2n9l79bi6pr5m9f4c0byw2ls9nhykkaaivssxbx4m6qpqlqg54"; depends=[nloptr]; };
   cosinor = derive2 { name="cosinor"; version="1.1"; sha256="02nnqg51vq48lzk667cyarnmhcf5mifnsdij7dlgqvz2k4fdq4pl"; depends=[ggplot2 shiny]; };
   cosinor2 = derive2 { name="cosinor2"; version="0.1.0"; sha256="0pxkkp8dxhzqp2v3pfzigh1ka7ardf168k5p41z289xgar9p33g0"; depends=[cosinor ggplot2 Hmisc matrixStats]; };
   cosmoFns = derive2 { name="cosmoFns"; version="1.0-1"; sha256="0a6xhbgxxnymlvicg99yhgny2lscxcbmvqmy17kxmahdi797dsg6"; depends=[]; };
   cosso = derive2 { name="cosso"; version="2.1-1"; sha256="1wyq27qak0kz4bbzynm24r5ksvb6ddd43h2ykh6m935xck16blyb"; depends=[glmnet quadprog Rglpk]; };
-  costat = derive2 { name="costat"; version="2.3"; sha256="1kqyl89lx1amap9zgrfy1bqnl93kahrksj6yms44yrxr1as2g4nk"; depends=[wavethresh]; };
-  cotrend = derive2 { name="cotrend"; version="1.0"; sha256="0h0y502wqq83wlf9ab1b9rxg1wycvi3sp4lbqfpvy46vgljrjw87"; depends=[xts]; };
+  costat = derive2 { name="costat"; version="2.4"; sha256="0c47bklqjgjmdglw3mi9lvygwjr5w6i1zv91ll3vpnl5dnay0692"; depends=[wavethresh]; };
+  cotrend = derive2 { name="cotrend"; version="1.0.1"; sha256="14yzfq5a3wi26gn45mp2zm2yn6gic90csk9by66m08fgpzznz4dq"; depends=[xts]; };
   couchDB = derive2 { name="couchDB"; version="1.4.1"; sha256="1n99amvnsjp88y091603hjsvp243c5i6dbrsvdjfmzgj5dsrv70m"; depends=[bitops httr RCurl rjson]; };
   countrycode = derive2 { name="countrycode"; version="1.00.0"; sha256="1b2ijbf74bxvi01f53lbb2b9jya2rlyazvzacxpj79y1dbs600s6"; depends=[]; };
   countyfloods = derive2 { name="countyfloods"; version="0.1.0"; sha256="0ld8p8dfk9khvwffbn8sad0j3an25s7cvbi6jxljgx4zc6ldh699"; depends=[dataRetrieval dplyr ggplot2 lubridate maps plyr R_utils tidyr]; };
@@ -5214,8 +5337,8 @@ in with self; {
   coxme = derive2 { name="coxme"; version="2.2-7"; sha256="0jbaw055whbbxwx6y0gggj5i9rlr787nyknwgqdf1dnzrfzm69v7"; depends=[bdsmatrix Matrix nlme survival]; };
   coxphMIC = derive2 { name="coxphMIC"; version="0.1.0"; sha256="0lmma5wzcczr762xqa4yamvwvyviqxk8gdrps3sydg3n14hckp6d"; depends=[numDeriv survival]; };
   coxphSGD = derive2 { name="coxphSGD"; version="0.2.1"; sha256="17ga33v7a89dsygk5yypkz03x7dvjhibnwlvwfvgb2p7djd8w465"; depends=[survival]; };
-  coxphf = derive2 { name="coxphf"; version="1.12"; sha256="0vsdpbpc18fm6dwiqjwclgimwng34xqzy2mqbcijs6p7h1j124a0"; depends=[survival]; };
-  coxphw = derive2 { name="coxphw"; version="4.0.0"; sha256="02xiwrvc3gbwwjcz9kwy2g91jrjpawch5r4pq6l4lyvl556w296l"; depends=[survival]; };
+  coxphf = derive2 { name="coxphf"; version="1.13"; sha256="16bman8xv5xx7gg8s54sj3hc4isqxk4h3q93h4q3h3j0bdvww2yy"; depends=[survival]; };
+  coxphw = derive2 { name="coxphw"; version="4.0.1"; sha256="116dp6zispa8k7y6jrn4v9ipf0jqdhj68w9qqc2qwcapawvrd0nh"; depends=[survival]; };
   coxrobust = derive2 { name="coxrobust"; version="1.0"; sha256="08hp0fz5gfxgs3ipglj6qfr6v63kzxkrzg650bmzabq8dvrxd97q"; depends=[survival]; };
   coxsei = derive2 { name="coxsei"; version="0.1"; sha256="1agr0gmyy1f2x6yspj04skgpi1drpbc1fcbwhhhjsz1j6c64xagy"; depends=[]; };
   cp4p = derive2 { name="cp4p"; version="0.3.5"; sha256="16pkl0brm415v153ln41nyy13fsp4i0jy8349lsffkv5mvp7vklc"; depends=[limma MESS multtest qvalue]; };
@@ -5228,7 +5351,8 @@ in with self; {
   cpm = derive2 { name="cpm"; version="2.2"; sha256="1n1iqhalp99mbh8jha0pv759fb97sqxdiiq9bxy3wm6aqmssvdb1"; depends=[]; };
   cpr = derive2 { name="cpr"; version="0.2.3"; sha256="1a2lza1bw74xzrs17a9gr9mnpvnnrykhwd73yqi63wp3k4sm42rb"; depends=[dplyr ggplot2 lazyeval lme4 magrittr plot3D Rcpp RcppArmadillo rgl tibble tidyr]; };
   cprr = derive2 { name="cprr"; version="0.1.1"; sha256="0bnq3961bqf1y1f37x60qkwmq50vnvcpv4axq0yw5n1mrs20mllj"; depends=[]; };
-  cpt = derive2 { name="cpt"; version="0.9"; sha256="03nvxkwwvqmzpphax4zfij6jvh26x4bsl3mn2xr4mbr7cjb2x12w"; depends=[MASS nnet randomForest]; };
+  cpt = derive2 { name="cpt"; version="1.0"; sha256="0cfjsni8m3sx2vh5cxiwqh50gl65nag5zp757jy75sx44rky63m8"; depends=[glmnet MASS nnet randomForest]; };
+  cptcity = derive2 { name="cptcity"; version="1.0.3"; sha256="1axysyarmf68cmwadqwz9106zs5jj1bvrwhkg86maixj5aaqpim5"; depends=[]; };
   cptec = derive2 { name="cptec"; version="0.1.0"; sha256="1sh6vs9qfxxlhlg6y2qchikjg8sh64zg3j8x5b9dpba9lhbhzzqj"; depends=[magrittr rvest xml2]; };
   cqrReg = derive2 { name="cqrReg"; version="1.2"; sha256="1sn8pkbqb058lbysdf2y1s734351a91kwbanplyzv3makbbdm4ca"; depends=[quantreg Rcpp RcppArmadillo]; };
   cquad = derive2 { name="cquad"; version="1.4"; sha256="1sxf30rikzr4mj1nyr12ys7gcnx5vq0rpd9djc2lkfbqlvi4mmai"; depends=[MASS plm]; };
@@ -5238,6 +5362,7 @@ in with self; {
   crank = derive2 { name="crank"; version="1.1"; sha256="117sgq7zm5wxmd97sfc927qq70snra6vd090mhpcsdhipw1py6zc"; depends=[]; };
   cranlike = derive2 { name="cranlike"; version="1.0.1"; sha256="0lnbdkyk5mdy0qlvkx2hakqrisrxsdp5r3gif6f46pf4d9cpfj8v"; depends=[DBI debugme desc RSQLite]; };
   cranlogs = derive2 { name="cranlogs"; version="2.1.0"; sha256="1w1nbifjb9l106fk97zy0w73x73bw5azq89l3c1b8r2fz8aljkkc"; depends=[httr jsonlite]; };
+  cranly = derive2 { name="cranly"; version="0.1"; sha256="1q6x6v77z6y540shyqpiq0p78rp02mmhdmnq79hvlm9ykqblzrcr"; depends=[colorspace countrycode ggplot2 igraph magrittr stringr visNetwork]; };
   crantastic = derive2 { name="crantastic"; version="0.1"; sha256="0y2w9g100llnyw2qwjrib17k2r2q9yws77mf6999c93r8ygzn4f5"; depends=[]; };
   crawl = derive2 { name="crawl"; version="2.1.1"; sha256="0dr9z8y8rvc3wn1gjb6mh5wmszng9j1r2a9ks6p5am8ghf754sps"; depends=[dplyr gdistance mvtnorm raster Rcpp RcppArmadillo shiny sp]; };
   crayon = derive2 { name="crayon"; version="1.3.4"; sha256="0s7s6vc3ww8pzanpjisym4jjvwcc5pi2qg8srx7jqlz9j3wrnvpw"; depends=[]; };
@@ -5250,12 +5375,12 @@ in with self; {
   crimCV = derive2 { name="crimCV"; version="0.9.6"; sha256="14ckk88i7jk8a7kl51d7qfdis44jng6zz9zd72cdp80a57dvrvzq"; depends=[]; };
   crimelinkage = derive2 { name="crimelinkage"; version="0.0.4"; sha256="1zzk50kyccvnp51vzp28c9yi23hsp25arrgdn88lwfwa0m43rlar"; depends=[geosphere igraph]; };
   crisp = derive2 { name="crisp"; version="1.0.0"; sha256="1gs8jnd9y9pd55w6kwv9mvmg3wd8hjiw3lwx7k242pxccsxklfxq"; depends=[MASS Matrix]; };
-  crmPack = derive2 { name="crmPack"; version="0.2.6"; sha256="0jpf0626nkl3inbgb8hcgkhilrd1bkxjhm3jzscxrdghpzwvzw6h"; depends=[GenSA ggplot2 gridExtra MASS mvtnorm rjags]; };
+  crmPack = derive2 { name="crmPack"; version="0.2.7"; sha256="1d0ydllcbykwip9dw3arvn6lv4h88n5nkm3ms122gfrf44f6h2c0"; depends=[GenSA ggplot2 gridExtra MASS mvtnorm rjags]; };
   crminer = derive2 { name="crminer"; version="0.1.4"; sha256="1vnl01q5sw13g6qhvn61w9i40zpg9cszisgi0h8d6q6rr23iws9w"; depends=[crul hoardr jsonlite pdftools xml2]; };
   crmn = derive2 { name="crmn"; version="0.0.20"; sha256="1kl1k1s2gm63f9768cg8w4j6y1gq4hws3i7hdfhj7k9015s0a25p"; depends=[Biobase pcaMethods]; };
   crn = derive2 { name="crn"; version="1.1"; sha256="1fw0cwx478bs6hxidisykz444jj5g136zld1i8cv859lf44fvx2d"; depends=[chron RCurl]; };
   crochet = derive2 { name="crochet"; version="2.0.1"; sha256="1il29hnnx3kwjvsnirvm5vxdd04x94qn4526411cw0syyqqlbnp8"; depends=[]; };
-  cronR = derive2 { name="cronR"; version="0.3.0"; sha256="0nyjgxgvasqv8g9cvkzii0jsr15x5i76waz5hzzsjar5mwq6vq8h"; depends=[digest]; };
+  cronR = derive2 { name="cronR"; version="0.4.0"; sha256="0ydlwhlzb57vbr8ya6hdsw2mhsjkb01jspn0jw081anrxfy5m2jw"; depends=[digest]; };
   crop = derive2 { name="crop"; version="0.0-2"; sha256="1yjpk7584wrz9hjqs21irjnrlnahjg8lajra9yfdp6r927iimg1l"; depends=[]; };
   cropdatape = derive2 { name="cropdatape"; version="1.0.0"; sha256="19bn0apx4p8hnz388zg7sq59qv89vv8k5php317kcv7ai2k2gh34"; depends=[]; };
   crossReg = derive2 { name="crossReg"; version="1.0"; sha256="1866jhfnksv9rk89vw7w4gaxi76bxfjvqxx7cfa8nlrcsmaqd7rf"; depends=[]; };
@@ -5268,6 +5393,7 @@ in with self; {
   crp_CSFP = derive2 { name="crp.CSFP"; version="2.0.2"; sha256="0gazmhf5bv994x441m2xm0w18h9lw3y68qzdf6gmyqimj4wjqjgf"; depends=[MASS]; };
   crplyr = derive2 { name="crplyr"; version="0.1.4"; sha256="1z50hplp6m4zgjfhmf2j8b22np6kjzqnprrdc0qx8408cb9vc9zr"; depends=[crunch dplyr lazyeval tibble]; };
   crqa = derive2 { name="crqa"; version="1.0.6"; sha256="1v9fwl98jjlg2z5skqsjmmgpmmxy4g1gzvc28yflvdp50qn509v8"; depends=[fields Matrix plot3D pracma tseriesChaos]; };
+  crqanlp = derive2 { name="crqanlp"; version="0.3"; sha256="1ndd5k44w232x6k564r84lyahljgcnldfwgih3iiar3il94drbdg"; depends=[corpus crqa gutenbergr RCurl tm]; };
   crrSC = derive2 { name="crrSC"; version="1.1"; sha256="171cw56q2yv1vb4qd0va75i2q89jcw1126q8pcbv0235g7p2a86z"; depends=[survival]; };
   crrp = derive2 { name="crrp"; version="1.0"; sha256="1fq54jr6avrli91a4z1hp5img4kghyw1yvjr5xyccsanf9i35x8r"; depends=[cmprsk Matrix survival]; };
   crrstep = derive2 { name="crrstep"; version="2015-2.1"; sha256="03vd97prws9gxc7iv3jfzffvlrzhjh0g6kyvclrf87gdnwifyn1z"; depends=[cmprsk]; };
@@ -5275,15 +5401,15 @@ in with self; {
   crskdiag = derive2 { name="crskdiag"; version="1.0.1"; sha256="0100wbyvchx6jwlrwc6rwhdjanips5c0f5zqzs2c0dgwygpqw30w"; depends=[cmprsk]; };
   crsnls = derive2 { name="crsnls"; version="0.2"; sha256="0rv0xrdl9ix6bhaf554gma8zf923w47f8j1dkbs8g6xjqjr1c40a"; depends=[]; };
   crtests = derive2 { name="crtests"; version="0.2.1"; sha256="0z8idz37dgwvi1q2vryldii7fn9yxd32gds77ml76jfplxbkikpd"; depends=[caret plyr stringr]; };
-  crul = derive2 { name="crul"; version="0.5.0"; sha256="096jwl1674h1vi0plmqjy9k8w0fqnqhkig3kxf3cc4g7kz3ih5j7"; depends=[curl httpcode mime R6 urltools]; };
+  crul = derive2 { name="crul"; version="0.5.2"; sha256="0sfjv8jrb5x85b4dicp7789xxa0g6y89sfd96war84yidmh2a6z0"; depends=[curl httpcode mime R6 urltools]; };
   crunch = derive2 { name="crunch"; version="1.20.0"; sha256="1hsya10ba6mb3xd1lvbn2d74g9glm0l98fbh130phq5wdnn8lpx9"; depends=[crayon curl httpcache httr jsonlite]; };
   crunchy = derive2 { name="crunchy"; version="0.2.0"; sha256="1q9mqpkg5ljb798922fmvjjp36kyjr1rrm6jf3s2fwjrhq186y3z"; depends=[crunch shiny]; };
   cruts = derive2 { name="cruts"; version="0.3"; sha256="0yn6xc2wg23nkjnsb7kii7dn897wf4ymnpmgppacrsznl8mmlmgd"; depends=[lubridate ncdf4 raster sp stringr]; };
-  crypto = derive2 { name="crypto"; version="0.1.3"; sha256="0q5q2rx49185ckwr5czr4ia9j9060d1j6mz4bdvz3sl86qnllgsp"; depends=[curl doSNOW dplyr foreach jsonlite lubridate magrittr rvest xml2]; };
+  crypto = derive2 { name="crypto"; version="0.1.5"; sha256="0yqdn14mv8cbn2nmxflhyn46fqbrk3iknjg3bqxyj5k426q3zqx4"; depends=[curl doSNOW dplyr foreach jsonlite lubridate magrittr rvest tidyr xml2]; };
   cryst = derive2 { name="cryst"; version="0.1.0"; sha256="04da19dy3mkngd3ma44cd8cdkb5acjy9lbhfipa9flp339j1pp57"; depends=[flux pracma]; };
   csSAM = derive2 { name="csSAM"; version="1.2.4"; sha256="1ms8w4v5m9cxs9amqyljc2hr1178cz6pbhmv7iiq9yj1ijnl4r1x"; depends=[]; };
   csabounds = derive2 { name="csabounds"; version="1.0.0"; sha256="15l7i15w5jk4h3148dlk8v2i4awns5vxvv6m59qcv0hzns6jhx9j"; depends=[BMisc ggplot2 pbapply progress qte]; };
-  csampling = derive2 { name="csampling"; version="1.2-2"; sha256="0gj85cgc3lgv7isqbkng4wgzg8gqcic89768q2p23k4jhhn6xm2w"; depends=[marg statmod survival]; };
+  csampling = derive2 { name="csampling"; version="1.2-2.1"; sha256="0kqx7j96yafsqi9cz551fqpwkbcabxl8zpwa2jms862z41xbgsv3"; depends=[marg statmod survival]; };
   cshapes = derive2 { name="cshapes"; version="0.6"; sha256="0mp6grkibmqk4k1yi4w2sglpp9ari5cfw4iip49a0z58qa98npw7"; depends=[maptools plyr sp]; };
   csn = derive2 { name="csn"; version="1.1.3"; sha256="102w1qh9hgz4j9lh5hnbw1z3b7p034si73q4pkk564a2mhzlksw4"; depends=[mvtnorm]; };
   csp = derive2 { name="csp"; version="0.1.0"; sha256="1pc5mcn9difpp4cmfb0a8pqhbpkfakxjkbr7bpqmfiwcfk8rzr1h"; depends=[]; };
@@ -5306,14 +5432,14 @@ in with self; {
   ctv = derive2 { name="ctv"; version="0.8-4"; sha256="0yl20b1j8c11b1g0q6qv0wsaivxpikwslhky4lckbm3rwbn5vbb2"; depends=[]; };
   cubature = derive2 { name="cubature"; version="1.3-11"; sha256="06f6gsvbb732p80r6hxvzh4ik546icxfvx21dyh65ypmw3kgm64k"; depends=[Rcpp]; };
   cubfits = derive2 { name="cubfits"; version="0.1-3"; sha256="0i2iybm9vpyqnahzka66yms1namdd36bz1i1yjy74qsc1h995rga"; depends=[coda foreach]; };
-  cubing = derive2 { name="cubing"; version="1.0-1"; sha256="00vqhh2kif9phwxs26xnizsy6mhdaaa97wyizw80g9wyh9c2r7n9"; depends=[rgl]; };
+  cubing = derive2 { name="cubing"; version="1.0-4"; sha256="11aln47l8ni33k3mmadccnphsv1rad4n5llg9ff5lpjyk9gn3am8"; depends=[rgl]; };
   cudaBayesreg = derive2 { name="cudaBayesreg"; version="0.3-16"; sha256="1xsamdsg4cq7l5r7czkg70j5gypf1dak3h353xfbz3rq0r0dni19"; depends=[cudaBayesregData oro_nifti]; };
   cudaBayesregData = derive2 { name="cudaBayesregData"; version="0.3-11"; sha256="1cls9xqgps7icjpi1mllkrksdxwc1jfhxgffvrcrqx2l16vw6qfx"; depends=[]; };
   cudia = derive2 { name="cudia"; version="0.1"; sha256="1ms3bc8sp6l3bm75j418mmb707sy3gyvxznhfias3nd4sw7i074x"; depends=[MCMCpack mvtnorm]; };
   cumSeg = derive2 { name="cumSeg"; version="1.1"; sha256="01hn3j1i7bi2r9vsqwbgy1f1alcisxyf4316xx57bg82lb34d0s5"; depends=[lars]; };
   cumplyr = derive2 { name="cumplyr"; version="0.1-1"; sha256="07sz1wryl3kxbk67qyvnkrkdrp4virlsaia0y6rf9bqdw7rc6vi2"; depends=[]; };
   cumstats = derive2 { name="cumstats"; version="1.0"; sha256="119w751z9dg6pjyk389pbl8ab8pirf9sqndi4nxi89ix2bby4xz8"; depends=[]; };
-  curl = derive2 { name="curl"; version="3.1"; sha256="15fbjya2xrf2k9hhvg3frisrram4yk5wlfz67zj1z8ahpsb2a3r7"; depends=[]; };
+  curl = derive2 { name="curl"; version="3.2"; sha256="15hmy71310hnf9yqvz0icx4cq939gv6iqaifzlfdh2ia8akawdhn"; depends=[]; };
   currentSurvival = derive2 { name="currentSurvival"; version="1.0"; sha256="0bqpfwf4v4pb024a98qwg81m6zd7ljg1ps42ifhxpqx7b9gdyi6c"; depends=[cmprsk survival]; };
   curry = derive2 { name="curry"; version="0.1.1"; sha256="1ps9hvbnb02m0b8hlw4admwbziyjvswj08ldi2dk3ymnrpawcc29"; depends=[]; };
   curstatCI = derive2 { name="curstatCI"; version="0.1.1"; sha256="0igqdv0fzzji10gz3j3ir8qxpy7vdjfl137067rc28qzbrl2sy2c"; depends=[Rcpp]; };
@@ -5323,10 +5449,13 @@ in with self; {
   cusp = derive2 { name="cusp"; version="2.3.3"; sha256="130m0is48bp11p5fpg17lwqwlavsa8fzfxjs0z62vl6lm006aahw"; depends=[]; };
   customizedTraining = derive2 { name="customizedTraining"; version="1.1"; sha256="0rlfsnhmmcwx7iyjavj03v4kdfzxcqjggi8qpgmi6lkli3n0s6pg"; depends=[FNN glmnet]; };
   cutoffR = derive2 { name="cutoffR"; version="1.0"; sha256="1801jylmpp4msyf07rhg4153kky1zvi4v0kkjb9d51dc7zkhh531"; depends=[ggplot2 reshape2]; };
+  cutpointr = derive2 { name="cutpointr"; version="0.7.3"; sha256="09pcja8kp3sdsz2vp32s5vl7m5cz14rlbp9aa00y4qd21nyckyj9"; depends=[dplyr foreach ggplot2 gridExtra purrr Rcpp rlang tibble tidyr]; };
   cuttlefish_model = derive2 { name="cuttlefish.model"; version="1.0"; sha256="1rmkfyfd1323g2ymd5gi1aksp160cwy5ha5cjqh5r6fzd8hhqjxs"; depends=[]; };
   cvAUC = derive2 { name="cvAUC"; version="1.1.0"; sha256="13bk97l5nn97h85iz93zxazhr63n21nwyrpnl856as9qp59yvn64"; depends=[data_table ROCR]; };
   cvTools = derive2 { name="cvTools"; version="0.3.2"; sha256="0b7xb6dmhqbvz32zyfbdvm9zjyc59snic6wp1r21ina48hchn3sj"; depends=[lattice robustbase]; };
-  cvequality = derive2 { name="cvequality"; version="0.1.1"; sha256="0pqvaz8vfwd0x433rrdwdwjp3hgsw1nb5nzsxci5zibjksk14kgp"; depends=[]; };
+  cvar = derive2 { name="cvar"; version="0.1-1"; sha256="0aqv42wbhdql1v0mxspr5ms2mwkk6yw0snzzjg5qg682m5f13ghn"; depends=[gbutils Rdpack]; };
+  cvcrand = derive2 { name="cvcrand"; version="0.0.2"; sha256="1gclzn6qqjylxg3v263x5cfg1wjkqviqb3fzzb7w0ckpld2his0v"; depends=[tableone]; };
+  cvequality = derive2 { name="cvequality"; version="0.1.3"; sha256="19mpf2vjj2hfgdr3mx5y1i0ldb0byvv2ii7lyanhc6c2a3mirs38"; depends=[]; };
   cvq2 = derive2 { name="cvq2"; version="1.2.0"; sha256="19k95xg2y3wd4mx3wvbrc1invybd446g13vsp3dv05nw2kx4f6w8"; depends=[]; };
   cvxbiclustr = derive2 { name="cvxbiclustr"; version="0.0.1"; sha256="00k75zy8v6qd5fg0h258i5z8ljjkfgkxz45cspysl1ap89d5n7df"; depends=[igraph Matrix]; };
   cvxclustr = derive2 { name="cvxclustr"; version="1.1.1"; sha256="0idmx4wgz4d0b1xzmlq5bsk2f2q38lpf9c117hg97xsfndzn7vqj"; depends=[igraph Matrix]; };
@@ -5346,7 +5475,7 @@ in with self; {
   d3Tree = derive2 { name="d3Tree"; version="0.2.0"; sha256="0xjr36hdd00dy8s8z1a1s44dn2wg0nm6yqc1rri2l0dqrbh4nrbn"; depends=[dplyr htmlwidgets magrittr plyr stringr]; };
   d3heatmap = derive2 { name="d3heatmap"; version="0.6.1.2"; sha256="1ici8j0wzzklhmw94qlxm292qs562vc32wq8mnjsas2n1p35vkmk"; depends=[base64enc dendextend htmlwidgets png scales]; };
   d3plus = derive2 { name="d3plus"; version="0.1.0"; sha256="0kadz83pals03n0v3zqhmhf6visigk52yn58xckhb57fid4xzj5w"; depends=[htmlwidgets magrittr]; };
-  d3r = derive2 { name="d3r"; version="0.7.1"; sha256="1v25jh4gfp921q5cgjzxyar1sx2q842slkkshq1lnb31zkzidygq"; depends=[dplyr htmltools tidyr]; };
+  d3r = derive2 { name="d3r"; version="0.8.0"; sha256="1zx351g4kl45dlva8q4ah3wdjvxjzssjpa280ljypfml3iqkzx70"; depends=[dplyr htmltools tidyr]; };
   dChipIO = derive2 { name="dChipIO"; version="0.1.5"; sha256="1xrafw5h071d8rfqaic3gifc80jpiddjz5x6l2cr8kgjvph60gqh"; depends=[]; };
   dCovTS = derive2 { name="dCovTS"; version="1.1"; sha256="1pd50nfmfcqpi8zj20ngl0hc23qa4rabqhc1xci3ivyhs0valhsl"; depends=[doParallel energy foreach]; };
   dGAselID = derive2 { name="dGAselID"; version="1.2"; sha256="0da7fi872i3ycb3j5v4isr4x2z39a68w4mdq859zslmqhiqd43b6"; depends=[ALL Biobase genefilter MLInterfaces]; };
@@ -5370,8 +5499,8 @@ in with self; {
   dashboard = derive2 { name="dashboard"; version="0.1.0"; sha256="1znqwvz49r47lp6q48qaas0s63wclgybav82a247qvcavzns3kip"; depends=[Rook]; };
   dat = derive2 { name="dat"; version="0.4.0"; sha256="1nw16hsw9b4hpcl5rqrlw6yk9y2h1pd0ra1c7iz82sknkyd5afi6"; depends=[aoos data_table dplyr Formula magrittr progress tibble]; };
   data_table = derive2 { name="data.table"; version="1.10.4-3"; sha256="12caklgr19vy9wprdks6zh825vr1iw1cajgwcnbpyvmijqdlz2xs"; depends=[]; };
-  data_tree = derive2 { name="data.tree"; version="0.7.4"; sha256="0yyk5sc07i987k77advpsjk2kdnral9x85bsd8rrl0x7i2cjdbhf"; depends=[DiagrammeR R6 stringr]; };
-  data_world = derive2 { name="data.world"; version="1.2.0"; sha256="0bw1yi5qwnm3fx8d7j2q9r9fyzf4c10z3m4yxs1srp3z77i8v6d9"; depends=[dwapi httr ini miniUI shiny stringi]; };
+  data_tree = derive2 { name="data.tree"; version="0.7.5"; sha256="07mavj30pqgk831dw5nj0z0jri6fq8wx9a6nyx0q873if7q3j52w"; depends=[DiagrammeR R6 stringr]; };
+  data_world = derive2 { name="data.world"; version="1.2.2"; sha256="1d9hh4965f2d0lwh2xxhnxzc948ailkjzdax3d3z9l8lakqfrx0h"; depends=[dwapi httr ini miniUI shiny stringi]; };
   data360r = derive2 { name="data360r"; version="1.0.1"; sha256="1g245zg70ch81zjmd1ng16lks38qr0a6m63y582w558mza7v148g"; depends=[curl data_table jsonlite reshape2]; };
   dataCompareR = derive2 { name="dataCompareR"; version="0.1.1"; sha256="06nba2yir2yz1189bsag9yavdf9hfmpswxdy92dlnbz9d27jjsic"; depends=[dplyr knitr markdown stringi]; };
   dataMaid = derive2 { name="dataMaid"; version="1.1.0"; sha256="1scpyc0c4rcb0hk1dnzaqprb59n9vrngkg2h1h1knl5klxabkj2y"; depends=[ggplot2 gridExtra haven htmltools magrittr pander robustbase whoami]; };
@@ -5386,6 +5515,7 @@ in with self; {
   dataframes2xls = derive2 { name="dataframes2xls"; version="0.4.7"; sha256="10krlv0l5w021z0qd7rj93pzfjjmcjlda4xz4vq470bxbjmn1bss"; depends=[]; };
   datafsm = derive2 { name="datafsm"; version="0.2.1"; sha256="16l6ssprsvnpzxlfnqj7r061x700704s5gdci5x9ixdjmglakmdd"; depends=[caret GA Rcpp]; };
   datamap = derive2 { name="datamap"; version="0.1-1"; sha256="0qm4zb9ldg4wz1a7paj5ilr1dhyagq81rk9l2v43hmkv52sssgkv"; depends=[DBI]; };
+  datamaps = derive2 { name="datamaps"; version="0.0.2"; sha256="01pjv5f764vw8krq9mrwnih8a8akkqa5779igh4ddh0av32gswd8"; depends=[htmlwidgets magrittr]; };
   datamart = derive2 { name="datamart"; version="0.5.2"; sha256="0c0l157fzkcp30ch4ymaalcx18zhz6sa5srr50w9izhbx3pmldxp"; depends=[base64 gsubfn markdown RCurl RJSONIO XML]; };
   dataonderivatives = derive2 { name="dataonderivatives"; version="0.3.1"; sha256="0q1zd1l7l0hmbs1bx469d706rmprjbz2f2dgcnfp9wxfgqpfxkz1"; depends=[assertthat httr lubridate readr tibble]; };
   dataone = derive2 { name="dataone"; version="2.1.0"; sha256="0vpa4gb30dvxax4sxbnbn8gblnzdfcf2k0v5js3gqwjb95ah4w4y"; depends=[base64enc datapack hash httr jsonlite parsedate plyr stringr uuid XML]; };
@@ -5396,45 +5526,47 @@ in with self; {
   dataseries = derive2 { name="dataseries"; version="0.2.0"; sha256="11wc2p5m8qbdmkpbd21lpwl28a1dpab88c3gqyrhsn0298lpnip4"; depends=[]; };
   datasets_load = derive2 { name="datasets.load"; version="0.1.0"; sha256="029rxg0h17nszkxgq5kjd0njymb8pgdsabmz5slshzd2ijjh82jz"; depends=[DT miniUI shiny]; };
   datastepr = derive2 { name="datastepr"; version="0.0.2"; sha256="039yggdj8jdici7hwmkjwgix45lvwjl7rw5h2rfzsm9xaq6vw1z2"; depends=[dplyr lazyeval magrittr R6 tibble]; };
-  datastructures = derive2 { name="datastructures"; version="0.2.1"; sha256="05m9zrqil1qmjax3r86wn6k1fq4v7x3hwq2hs9n36lyhj06r031y"; depends=[BH Rcpp]; };
+  datastructures = derive2 { name="datastructures"; version="0.2.5"; sha256="0vg7s6l0d9x768j0b6nw93914raybkym0f3l7f0jpwbj265isfs1"; depends=[BH purrr Rcpp]; };
   datasus = derive2 { name="datasus"; version="0.4.0"; sha256="18mvgdzk2f2plzgz9w47w4zxbdz24rymxvjv08j0cm242pcl11l7"; depends=[dplyr httr magrittr RCurl readr rvest stringi stringr xml2]; };
   datautils = derive2 { name="datautils"; version="0.1.5"; sha256="1yy25a84zmfh54jvxwa7mv4j296rmjgd40m4p81mrsswlqvncmfn"; depends=[deldir gplots gtools]; };
   dataverse = derive2 { name="dataverse"; version="0.2.0"; sha256="0lyga8rdsir2yr1n9nr10iiaf6a7dxp1nb04bx8mq8ljrvpkgr8n"; depends=[httr jsonlite xml2]; };
   dataview = derive2 { name="dataview"; version="2.1.1"; sha256="1nn33h5c1h4a3zm1xm7sdz4s6sy0f3r53jhm7bv6qk7aiylwqf6v"; depends=[data_table xtermStyle]; };
   date = derive2 { name="date"; version="1.2-38"; sha256="1ziy17kz02j7lals14s43rs9lmxxfn2ppfi55q4b3m4gfj9pr4jc"; depends=[]; };
-  datetime = derive2 { name="datetime"; version="0.1.2"; sha256="0qbd1makidkbpr26wkxchnb8rpwzm4l42j4vipwwmfwv3gpslmjx"; depends=[]; };
-  datetimeutils = derive2 { name="datetimeutils"; version="0.2-7"; sha256="1ql44k6s0pskc7kg28aly9k7ncl58gzs80d9gpwyjdhrgimimcxk"; depends=[]; };
+  datetime = derive2 { name="datetime"; version="0.1.3"; sha256="1grl6ygfwmi8a307fibdlkqv4mnzixjfzmi1vl0svx1w4d527bv9"; depends=[]; };
+  datetimeutils = derive2 { name="datetimeutils"; version="0.2-12"; sha256="023jxsih2zlfv9yldn68cbrdl7jw5rpbz4cc9y0z530bb1fs8d1k"; depends=[]; };
   datoramar = derive2 { name="datoramar"; version="0.1.0"; sha256="0zq6vhq6dmsyagmqrmb85z6fy9qhwra3s3iasr3jgc4ryr009pml"; depends=[httr jsonlite tibble]; };
+  datr = derive2 { name="datr"; version="0.1.0"; sha256="0sqwhn6zdaq8i45ry207mpbda1djjaxp9mcn13hi5wkry6z0bmlr"; depends=[devtools]; };
   dave = derive2 { name="dave"; version="2.0"; sha256="1rraphpp34czyjj15xzvj1ihlnqzcppqls9n2g85n49zv0n1ngn8"; depends=[cluster labdsv nnet tree vegan]; };
   dawai = derive2 { name="dawai"; version="1.2.3"; sha256="18dg81d1018f8ibm4p43ih6fjgm6r0qs5phqbp7pqrixjj3ydk58"; depends=[boot ibdreg mvtnorm]; };
+  daymetr = derive2 { name="daymetr"; version="1.3.1"; sha256="034yhyq58ihb9faqsqqwbhhrp64kxim0ix6nwiyx7cxahikvdsiy"; depends=[httr ncdf4 raster rgdal rgeos sp]; };
   dbConnect = derive2 { name="dbConnect"; version="1.0"; sha256="1vab5l4cah5vgq6a1b9ywx7abwlsk0kjx8vb3ha03hylcx546w42"; depends=[gWidgets RMySQL]; };
   dbEmpLikeGOF = derive2 { name="dbEmpLikeGOF"; version="1.2.4"; sha256="0vhpcxy702cp3lvlif2fzmvccys8iy7bv1fbg6ki2l8bvn2f7c5p"; depends=[]; };
   dbEmpLikeNorm = derive2 { name="dbEmpLikeNorm"; version="1.0.0"; sha256="0h5r2mqgallxf9hin64771qqn9ilgk1kpsjsdj2dqfl3m8zg967l"; depends=[dbEmpLikeGOF]; };
-  dbarts = derive2 { name="dbarts"; version="0.8-7"; sha256="0wmwg8g8xy83yv4wpdpas3jjs5jxx258wh9463q30a8hnr3izc0l"; depends=[]; };
+  dbarts = derive2 { name="dbarts"; version="0.9-3"; sha256="0mxpvfaily4712k8q5wiby7rhvqm28qqi1v4b3csnlm9f0260gzi"; depends=[]; };
   dbfaker = derive2 { name="dbfaker"; version="0.1.0"; sha256="00n2z4q5drpg26pw826i16rg07m7w66a0r466q2lrl14hxs4rcaq"; depends=[assertive DBI dplyr foreach parsedate RPostgreSQL tidyr]; };
   dbhydroR = derive2 { name="dbhydroR"; version="0.2-4"; sha256="189yzc7nchl31203jadf6qs3w1d3s01ifn9y6403c11qm4y63fpf"; depends=[httr reshape2 XML]; };
   dblcens = derive2 { name="dblcens"; version="1.1.7"; sha256="02639vyaqg7jpxih8cljc8snijb78bb084f4j3ns6byd09xbdwcw"; depends=[]; };
   dblr = derive2 { name="dblr"; version="0.1.0"; sha256="0wzmhmp706mw0pkh81nsb7qzclwyhm6f2mjvpvz043ng5xrxwvvw"; depends=[CatEncoders data_table Metrics xgboost]; };
-  dbmss = derive2 { name="dbmss"; version="2.5-1"; sha256="1giwbzjgz2qiry9mmqyby1jxpdsxaifv1p227i9jyq9d46gs9qiy"; depends=[cubature Rcpp RcppParallel spatstat spatstat_utils]; };
-  dbplot = derive2 { name="dbplot"; version="0.2.0"; sha256="1yc75bqc0na44jrkmabbdvjhhcqz0cd09k1bgxh0wrg52h829ni5"; depends=[dplyr rlang]; };
+  dbmss = derive2 { name="dbmss"; version="2.6-3"; sha256="0b3vbsb01rz46mspfk8v9dgwqkxnjkv5d6152zg1zsvyv0z9wvqd"; depends=[cubature Rcpp RcppParallel spatstat spatstat_utils]; };
+  dbplot = derive2 { name="dbplot"; version="0.2.1"; sha256="1ksjxvq8y5n5vwnpvxwbdmcywnld9fnkmq63ckcv7nbgbiyi5wgw"; depends=[dplyr ggplot2 rlang]; };
   dbplyr = derive2 { name="dbplyr"; version="1.2.1"; sha256="1nwrls9c3kc9q7405jp6b9sh23642sz13yw55iikgw134shffj5k"; depends=[assertthat DBI dplyr glue purrr R6 rlang tibble tidyselect]; };
   dbscan = derive2 { name="dbscan"; version="1.1-1"; sha256="09rh3x4g3xv5f1p8wbc847z8khj7v2r5vz9yf1lfdiy23q2w3xp1"; depends=[Rcpp]; };
   dbstats = derive2 { name="dbstats"; version="1.0.5"; sha256="0pr80mx8y87l96hhg0rp3ajxl7yx2f8qr0y1zrjkbzxavjmp9k34"; depends=[cluster pls]; };
   dc3net = derive2 { name="dc3net"; version="1.2.0"; sha256="19ibsvbnq6y88vqvgkm31zrqwjhpml59d792bz0zkk50r1q5bnyr"; depends=[c3net igraph RedeR]; };
   dcGOR = derive2 { name="dcGOR"; version="1.0.6"; sha256="0rvwa25r23yayx1i6xhkfaw2z85d2iyfx3slg3aq1m0fa7kj380p"; depends=[dnet igraph Matrix]; };
   dcemriS4 = derive2 { name="dcemriS4"; version="0.55"; sha256="15x4hjc5fwpn80h90q5x9a3p84pp3mxsmcx4hq5l0j52l9dy9nv3"; depends=[oro_nifti]; };
-  dclone = derive2 { name="dclone"; version="2.1-3"; sha256="15jm5vsdpy4fzgrn1xgv4mjp02jblc7jba3d3375g5vfhzrm3zva"; depends=[coda Matrix rjags snow]; };
+  dclone = derive2 { name="dclone"; version="2.2-0"; sha256="05myb01ypnhf9wdk3i8s9xldn8ihvw7gf4ajqld886nvc306rfkv"; depends=[coda Matrix rjags]; };
   dcminfo = derive2 { name="dcminfo"; version="0.1.7"; sha256="03r0ynzc5cck2rz20zbg5zx8v6s66ivizqav1pjkyvp6kxkmnf8q"; depends=[CDM]; };
   dcmle = derive2 { name="dcmle"; version="0.3-1"; sha256="1d6zk9413h30wcw8q1gnjzk67vshmjcpnh8zjxrsh1h69i1z6rpy"; depends=[coda dclone lattice]; };
   dcmodify = derive2 { name="dcmodify"; version="0.1.1"; sha256="1a909v6jhihwwmq7lzv2xazrkfa1553kbrjsbjfsh1qrqdiam3sr"; depends=[settings validate yaml]; };
   dcmr = derive2 { name="dcmr"; version="1.0"; sha256="1a89wr1n8sykjbwa316zlmcffaysksrqnbd89anxqj8sgw9xv6jq"; depends=[ggplot2 KFAS plyr reshape2 tableplot]; };
+  dcurver = derive2 { name="dcurver"; version="0.9.0"; sha256="16qb5lvwxzkffv1gf0gp8dsvaxipwhgnl3y6qqg0h0qx8gynf217"; depends=[Rcpp RcppArmadillo]; };
   dcv = derive2 { name="dcv"; version="0.1.1"; sha256="12c716x8dnxnqksibpmyysqp2axggvy9dpd55s9bhnsvqvi6dshj"; depends=[lmtest]; };
-  ddR = derive2 { name="ddR"; version="0.1.2"; sha256="00mb9xq69dvl50v5429nw0mjazgjwh2sp98w8n2cwhhamjgp42k9"; depends=[Rcpp]; };
-  ddalpha = derive2 { name="ddalpha"; version="1.3.1.1"; sha256="13w8ir5rd80rka4mq343zd4wn93vfw870lzfqrd3cxgwb1bwcw7y"; depends=[BH class MASS Rcpp robustbase sfsmisc]; };
+  ddalpha = derive2 { name="ddalpha"; version="1.3.2"; sha256="1i2zcz20zy9xd42kdz09njbkq07mj2pp6f07z6dnwi5hrmvhbh9r"; depends=[BH class geometry MASS Rcpp robustbase sfsmisc]; };
   ddeploy = derive2 { name="ddeploy"; version="1.0.4"; sha256="06s4mn93sl33gldda9qab8l3nqig8zq0fh1s2f98igsysmn31br5"; depends=[httr jsonlite]; };
   ddpcr = derive2 { name="ddpcr"; version="1.8"; sha256="11bk4mhiqn73sjji2wz47v7jqqg9kq3amci9m6a88h4fvvgmpcz4"; depends=[dplyr DT ggplot2 lazyeval magrittr mixtools plyr readr shiny shinyjs]; };
   ddst = derive2 { name="ddst"; version="1.4"; sha256="1y0immm337adkd2bjx8c5pf02w9wysv3gj26f4qf0jiba0f2wk8n"; depends=[evd orthopolynom]; };
-  deBInfer = derive2 { name="deBInfer"; version="0.4.1"; sha256="05khyjpyxwrm9q8jsysffgsjpjbw76w9rrl7i8ia0yc9lv0bzjc9"; depends=[coda deSolve MASS mvtnorm PBSddesolve plyr RColorBrewer truncdist]; };
+  deBInfer = derive2 { name="deBInfer"; version="0.4.2"; sha256="108vijk71sgsj14hwfv78r4lnn68cybvnpr92zvrvl0d82b7qxfd"; depends=[coda deSolve MASS mvtnorm PBSddesolve plyr RColorBrewer truncdist]; };
   deGradInfer = derive2 { name="deGradInfer"; version="1.0.0"; sha256="1wl1pw1rwins4gr47a8ii4diw6wd6cx8ib4l5bhri5f3crbw7l86"; depends=[deSolve gdata gptk]; };
   deSolve = derive2 { name="deSolve"; version="1.20"; sha256="18nx3maww979a8p8ly4hv63y65mnjx8vbj2fpipd6rhcbf1lbsan"; depends=[]; };
   deTestSet = derive2 { name="deTestSet"; version="1.1.5"; sha256="07wbgniwkpp0yry6wvchvszr8isxs1i9k6km951r5c009w1iviwk"; depends=[deSolve]; };
@@ -5443,6 +5575,7 @@ in with self; {
   deamer = derive2 { name="deamer"; version="1.0"; sha256="1xbxr78n6s1yhf192ab4syi1naqlwl9z4cxzchrkw80q7bxqfiz8"; depends=[]; };
   debug = derive2 { name="debug"; version="1.3.1"; sha256="0mpwi6sippxyr1l8xf48xqv6qw6pmfkxs13k1gjyd7bkzlbchgqd"; depends=[mvbutils]; };
   debugme = derive2 { name="debugme"; version="1.1.0"; sha256="1c9sg55zvf10h8198jdnpamm6f66lzw3c3jnmdp9ls6na0j0xbjd"; depends=[crayon]; };
+  decido = derive2 { name="decido"; version="0.1.0"; sha256="1d53qcpy165f9izaj0x5x5d5h7jvihhk6mghs9g52dfxrvpndfgn"; depends=[oz Rcpp]; };
   decision = derive2 { name="decision"; version="0.1.0"; sha256="13d0yyg5zp7n3r92l0l1dsffxfph6vacrlzga9rz41l5pja72z6g"; depends=[]; };
   decisionSupport = derive2 { name="decisionSupport"; version="1.103.6"; sha256="1lfv1a9pcf1f7la1vxpwvw8abk4jbq7cmalp374l0xasfyin2mr5"; depends=[chillR msm mvtnorm nleqslv rriskDistributions]; };
   decode = derive2 { name="decode"; version="1.2"; sha256="1qp0765gl3pgfdzjwj7icf3zminxxmrlw6gx3vj51y6c2y5ws4as"; depends=[]; };
@@ -5457,15 +5590,15 @@ in with self; {
   deepboost = derive2 { name="deepboost"; version="0.1.6"; sha256="1nf9gjk9gjl2dz7cr3vh5lg8nxkbqwr82a132nw853axbdgbs9ga"; depends=[Rcpp]; };
   deepnet = derive2 { name="deepnet"; version="0.2"; sha256="09crwiq12wzwvdp3yxhc40vdh7hsnm4smqamnk4i6hli11ca90h4"; depends=[]; };
   default = derive2 { name="default"; version="1.0.0"; sha256="0hzxgp9la9kll5cw3m4gd02rii571xsn1v53kz407k7k6rfg5mda"; depends=[]; };
+  define = derive2 { name="define"; version="0.2.7"; sha256="0m5nk6shfak43zw68vzc9ncl0a3rrrkhc5ckhb5yhjllj6g5yigf"; depends=[encode Hmisc latexpdf SASxport spec]; };
   deformula = derive2 { name="deformula"; version="0.1.1"; sha256="0h85yzl8kvjwrn1mkzyblvknf7gg8kx8y85qnvkwfbr9ik42ngn1"; depends=[]; };
-  defrostR = derive2 { name="defrostR"; version="1.1.0"; sha256="03asq36kd37592bjfb4mq0wfh2nkymrz1rxpq67ny1cq2159s83j"; depends=[XML]; };
   degenes = derive2 { name="degenes"; version="1.1"; sha256="1xxn5j06qizywimrp1pl8z3yjdy1a167b9jnm77gmv87rp6j240c"; depends=[]; };
-  degreenet = derive2 { name="degreenet"; version="1.3-1"; sha256="0k0a1c1bv7zclrarfzf0d6avbd8zjnc3zd155jzmhi8dacr6r73w"; depends=[igraph network]; };
+  degreenet = derive2 { name="degreenet"; version="1.3-3"; sha256="07mkj2sdp09624mmb1x3djjypnrzn43qn2j4m93blli51j6zchm3"; depends=[igraph network]; };
   deisotoper = derive2 { name="deisotoper"; version="0.0.3"; sha256="1263cgwzgl3dnv1y9qhzjl4b7r69h59x38ggb7c8zn7g6qbdc0kc"; depends=[rJava]; };
   dejaVu = derive2 { name="dejaVu"; version="0.2.0"; sha256="1cnbgssdnvl092vz0j2n4bamvysrr0n9wy6ycz2mkm5wvf4r296i"; depends=[MASS]; };
-  deldir = derive2 { name="deldir"; version="0.1-14"; sha256="12cjr4r50rdrh2l0105cvd42rqwzsmmiqcax3sbqk1ggh2lnblw9"; depends=[]; };
+  deldir = derive2 { name="deldir"; version="0.1-15"; sha256="0407wfnjcfg7ca6ani96bbg5ksx8jkyijaprv7n4g7w21311242p"; depends=[]; };
   delt = derive2 { name="delt"; version="0.8.2"; sha256="06g03wy9r2qvly0lnv5fv4k366mhlk56qkvak0xaxy99p1i34kmv"; depends=[denpro]; };
-  deltaPlotR = derive2 { name="deltaPlotR"; version="1.5"; sha256="0hbaibl4b50pg9ypyhz4700w6kir4jiyyl0230a8hjmb92aqn303"; depends=[MASS]; };
+  deltaPlotR = derive2 { name="deltaPlotR"; version="1.6"; sha256="15vjg3viyfrxvvh34p8i7j8p0vpg5628g8198adhi0i2ri3ygz9a"; depends=[MASS]; };
   deltar = derive2 { name="deltar"; version="1.0.0"; sha256="1ki89ysz4qlq5z094ybg3aqfcb6g633ccvpj1cg6nri9z5qjwpm1"; depends=[Bchron]; };
   demi = derive2 { name="demi"; version="1.1.2"; sha256="04dq4db9ibvv91nm0gz8dfbgv1gpmalf9hv6i78dwhh1xzjg1mig"; depends=[affxparser affy devtools oligo plyr R_utils]; };
   deming = derive2 { name="deming"; version="1.0-1"; sha256="00v59qb6qwbwsvcwi59d0c0g3czfz1190ccj4dx6yarizr4g6cy8"; depends=[boot]; };
@@ -5473,7 +5606,7 @@ in with self; {
   demogR = derive2 { name="demogR"; version="0.5.0"; sha256="1y7pkf1m8fqjsvs0szyaqga2y7p3dvj0r85nz8nzqbmy4zrrv4w8"; depends=[]; };
   demography = derive2 { name="demography"; version="1.20"; sha256="097k0chs8shm1r9ny6jdx2kp2shyxsivjw1n1rhb3bs0m0l3vm9r"; depends=[cobs forecast ftsa mgcv rainbow RCurl strucchange]; };
   dendextend = derive2 { name="dendextend"; version="1.7.0"; sha256="1krvqadnnh53xx5ql7bwzxaif6a317jzbs1m00gnc6jnj03rfl5d"; depends=[fpc ggplot2 magrittr viridis whisker]; };
-  dendroTools = derive2 { name="dendroTools"; version="0.0.6"; sha256="0mqzlysp0kihs9ymz8y3agvjl6ihn996cmpw331c4jb5n7vhjx0r"; depends=[brnn caret dplyr ggplot2 gridExtra MLmetrics oce randomForest reshape reshape2 RWeka scales]; };
+  dendroTools = derive2 { name="dendroTools"; version="0.0.7"; sha256="1wij1jwhbn0zs15zh2raa7xa1zfklchlyihv6baf7gkk5cmy87zg"; depends=[brnn dplyr ggplot2 gridExtra knitr magrittr MLmetrics oce plotly reshape reshape2 RWeka scales]; };
   dendroextras = derive2 { name="dendroextras"; version="0.2.3"; sha256="0hb7crbgsnbcwvbk05iz5ik45n7zgysmwjj6xc46131yd8l0i1qx"; depends=[]; };
   dendrometeR = derive2 { name="dendrometeR"; version="1.0.0"; sha256="1par27ipgbfbrmdlwvkf82i5dgnfrcawmavakrf8lplin2hhb7gs"; depends=[forecast pspline zoo]; };
   dendsort = derive2 { name="dendsort"; version="0.3.3"; sha256="1m4qh79ppfvipmbi8m8vwq0hqmwwipbg5izihz5j6x8a4g5i6iym"; depends=[]; };
@@ -5481,23 +5614,23 @@ in with self; {
   denoiseR = derive2 { name="denoiseR"; version="1.0"; sha256="094nknr3hyx4kv18vnpdzrcpmfb4r7x9jgrp3p6x4nwrgzdh3r95"; depends=[FactoMineR irlba Matrix]; };
   denovolyzeR = derive2 { name="denovolyzeR"; version="0.2.0"; sha256="03ya5clzqp12lfhw073ri0pwgxn53a6pvnais317a8bv1yinxspb"; depends=[dplyr reshape2]; };
   denpro = derive2 { name="denpro"; version="0.9.2"; sha256="19hrpfd44jaavq81dbyj3frris4aflfc8lig0471whv0pc6jci2k"; depends=[]; };
-  denseFLMM = derive2 { name="denseFLMM"; version="0.1.0"; sha256="0sckr9r2wylncpsq5yz2vww35imcc0zw8ghz8prqw2n20233gqj1"; depends=[MASS Matrix mgcv mvtnorm]; };
+  denseFLMM = derive2 { name="denseFLMM"; version="0.1.2"; sha256="1lfhd73zvvz6glq41lb2a9x63fjwjfp53zmy9g78fg6gz5lbnbpm"; depends=[MASS Matrix mgcv mvtnorm]; };
   densityClust = derive2 { name="densityClust"; version="0.3"; sha256="1zry0vafajzmr37aylglxfvwplhdygbkb9cvzvh8cy0xgnjrnx13"; depends=[FNN ggplot2 ggrepel gridExtra RColorBrewer Rcpp Rtsne]; };
   densratio = derive2 { name="densratio"; version="0.0.3"; sha256="07da5spbzr8x7sv6pdknc64a5zhs3dgnpcx4s2v68vc31xsd0gqd"; depends=[]; };
-  denstrip = derive2 { name="denstrip"; version="1.5.3"; sha256="10h8ivs7nd6gkf93zvqzqjb1lzfabvvs182636m67f86jfn6d4y4"; depends=[]; };
-  depend_truncation = derive2 { name="depend.truncation"; version="2.8"; sha256="1157m2cpa35aymkwx98vkdlg33ngbsyszk8r30988w636nhs2gh6"; depends=[mvtnorm]; };
+  denstrip = derive2 { name="denstrip"; version="1.5.4"; sha256="0hzxphj740q6pfa1q42knr7n12bmnawg7b2fs74msxn83dka5cmq"; depends=[lattice]; };
+  depend_truncation = derive2 { name="depend.truncation"; version="3.0"; sha256="1jym52qxx8v4kbq2578d03q2593q96jccr85if47djikw0aaxmcr"; depends=[mvtnorm]; };
   depmix = derive2 { name="depmix"; version="0.9.14"; sha256="12mvsd9zab55yg02r309h5i7hldwhh3bd60bzcvwip8vsmym5611"; depends=[MASS]; };
   depmixS4 = derive2 { name="depmixS4"; version="1.3-3"; sha256="0ls30v59hzyd684w4a3aygq1i5m8iq4gxsh8mmjxdq8qx0v84hk2"; depends=[MASS nnet Rsolnp]; };
   depth = derive2 { name="depth"; version="2.1-1"; sha256="17fxv4a5fbb65p7kmb4iakik5ng6401y7gmknkfr66fmjq65i1sm"; depends=[abind circular rgl]; };
   depth_plot = derive2 { name="depth.plot"; version="0.1"; sha256="0zjg9iyqmcnkvwc9w2j7lmk3k9nsg6n8m6vq5x44d1bp4g2gr6jv"; depends=[mvtnorm]; };
   depthTools = derive2 { name="depthTools"; version="0.4"; sha256="1699r0h1ksgrlz9xafw2jnqfsc7xs0yaw97fc6dv3r11x6gxk00y"; depends=[]; };
   dequer = derive2 { name="dequer"; version="2.0-1"; sha256="04kzlff8xa733qkkx0gacgig7d4l7yvgqmzva0mj8di12byh214p"; depends=[]; };
-  derivmkts = derive2 { name="derivmkts"; version="0.2.2"; sha256="00bcffqzzsm2h4gfwri772q8i7h40xhv07wl8xj682fnlk246ggs"; depends=[mnormt]; };
+  derivmkts = derive2 { name="derivmkts"; version="0.2.2.1"; sha256="02q3vc70rvh83zqjaql46n4qkfmn0x2kfg9ikyps34vg7clsaqs3"; depends=[mnormt]; };
   desc = derive2 { name="desc"; version="1.1.1"; sha256="0k07qighac1xzmm8k988zi7i88a0yfvia3gk5hbz0fyvb2v9kzrj"; depends=[assertthat crayon R6 rprojroot]; };
   descomponer = derive2 { name="descomponer"; version="1.4"; sha256="12zpkixclm6jmrgzvcy48c1mdqh9dgadzf9026wjyamphxkkjbip"; depends=[taRifx]; };
   descr = derive2 { name="descr"; version="1.1.4"; sha256="05maviw8l8qhmy7p80gs3dlyy6pqk5k1686ny4xla4psj8mr7lbk"; depends=[xtable]; };
   describer = derive2 { name="describer"; version="0.2.0"; sha256="1pjyihmn4gkaamixsc3qwynsc02pwv9bgn6s7z7acmmsybhhs6xn"; depends=[]; };
-  descriptr = derive2 { name="descriptr"; version="0.4.0"; sha256="1v21fb90vhh7mjx9q29cbdvbxyi8sjcfbvdxf0xd8n7fkd6gd4yj"; depends=[dplyr forcats ggplot2 magrittr rlang scales shiny tibble tidyr]; };
+  descriptr = derive2 { name="descriptr"; version="0.4.1"; sha256="1jpcfpidi49lyn02sl0hwsixzln9frrz03vrap1aq0phjcln39hh"; depends=[dplyr forcats ggplot2 magrittr rlang scales shiny tibble tidyr]; };
   desctable = derive2 { name="desctable"; version="0.1.1"; sha256="188pw8fjgm2g88nraagmxbnpv4gg89vm6mxm9w9vk88iq4hgbhjc"; depends=[dplyr DT htmltools pander purrr]; };
   deseasonalize = derive2 { name="deseasonalize"; version="1.35"; sha256="1fjsa7g34dckjs6mx9b10m99byxagggm0p9pw2f1vmpjqlasin0l"; depends=[FitAR lattice]; };
   desiR = derive2 { name="desiR"; version="1.2.1"; sha256="0ghcv96bbwn74mka4dpf2lkpnlikjn3q6lx2sl8bbw77nriap0n6"; depends=[]; };
@@ -5506,14 +5639,14 @@ in with self; {
   designmatch = derive2 { name="designmatch"; version="0.3.0"; sha256="1i8xdc6z01x59gvxdmi6qjqwqi8s9zzgfaxwd7xj49r4cl6h81pd"; depends=[lattice MASS Rglpk slam]; };
   desirability = derive2 { name="desirability"; version="2.1"; sha256="094gxvp6a60lfcc0a0gk9rv1p6ajnzq9m58sy8cvhcj5337g4fmk"; depends=[]; };
   desire = derive2 { name="desire"; version="1.0.7"; sha256="0jmj644nj6ck0gsk7c30af9wbg3asf0pqv1fny98irndqv508kf6"; depends=[loglognorm]; };
-  desplot = derive2 { name="desplot"; version="1.3"; sha256="06aa4ijxk34z9v309jnsapa7bc95wx2g2hbasljwrb90f2z87wq9"; depends=[lattice reshape2]; };
+  desplot = derive2 { name="desplot"; version="1.4"; sha256="0brmdp095zcwx7gncng1ls972kr67ldwiq081wyafn9jm9z461ix"; depends=[lattice reshape2]; };
   detect = derive2 { name="detect"; version="0.4-1"; sha256="0hq3imp4w6bd8x4njcfrvcs5lf0vrfnags1zdph86d7hlrwfds62"; depends=[Formula Matrix pbapply]; };
   detectRUNS = derive2 { name="detectRUNS"; version="0.9.5"; sha256="0w4pz7waaabgsb47xcmgiz8bzlrs2a83y3v6j7bqb5125y1wn8hw"; depends=[data_table ggplot2 gridExtra iterators itertools plyr Rcpp reshape2]; };
   detector = derive2 { name="detector"; version="0.1.0"; sha256="010i063b94hzx7qac8gpl67gmk7hzgqm9i1c7pbbw4la3wcd9lz7"; depends=[stringr]; };
-  detpack = derive2 { name="detpack"; version="1.0.1"; sha256="00qyjhv7y5mk4h0a428i780fsvlamqnxv12kl6lqs776rhf0skfv"; depends=[]; };
+  detpack = derive2 { name="detpack"; version="1.1.0"; sha256="11l863yr15db0v6r3fmsk3hvvx6xiidw876009x9gp5fwrv7l1cv"; depends=[]; };
   detrendeR = derive2 { name="detrendeR"; version="1.0.4"; sha256="1z10gf6mgqybb9ml6z3drq65n7g28h2pqpilc2h84l6y76sy909c"; depends=[dplR]; };
-  detrendr = derive2 { name="detrendr"; version="0.4.0"; sha256="0syxd5bds81ihm692bgps7wwl4n5fvi08jwd90hxaddksdskf2p6"; depends=[autothresholdr checkmate doParallel dplyr filesstrings foreach ijtiff iterators magrittr purrr Rcpp RcppParallel rlang RSAGA stringr]; };
-  detzrcr = derive2 { name="detzrcr"; version="0.2.1"; sha256="1y1lbckm4a4m50x2a47r1wk47z4m4pvkslwgzcvw00nch47h9d8s"; depends=[ggplot2 MASS shiny]; };
+  detrendr = derive2 { name="detrendr"; version="0.5.0"; sha256="0fmyssnwqqi36lklyv7dx9rv37ca8x0iq8nisx9q831yqxvd4lhm"; depends=[autothresholdr checkmate doParallel dplyr filesstrings foreach ijtiff iterators magrittr plyr purrr Rcpp RcppParallel rlang stringr]; };
+  detzrcr = derive2 { name="detzrcr"; version="0.2.2"; sha256="1bv4l4aharp3gjj9ldri7ip3bfzhq57kkmihmlzdbvnk8ajdggwy"; depends=[ggplot2 MASS shiny]; };
   devEMF = derive2 { name="devEMF"; version="3.6"; sha256="1n5i68f1j3d5yp0p0845zsvr4xhjrvj610wsb5rrlf90jwnarsx2"; depends=[]; };
   devFunc = derive2 { name="devFunc"; version="0.1"; sha256="0f2s5gssk9napmah7zcss1rnh7pzlq90gzwcnvyr9rrq6k118n8q"; depends=[plyr stringr]; };
   devRate = derive2 { name="devRate"; version="0.1.6"; sha256="0wm6nqnr76azpwg00cspi4n8r4w5qfkvm5qqp0kshv701pnbsjbp"; depends=[]; };
@@ -5524,13 +5657,14 @@ in with self; {
   dfcomb = derive2 { name="dfcomb"; version="2.4-2"; sha256="163sc18ka4wkf208ml7ghjsn43b3mbyf9zm4id563az6ckkzw45p"; depends=[BH Rcpp RcppArmadillo RcppProgress]; };
   dfcrm = derive2 { name="dfcrm"; version="0.2-2"; sha256="1kwgxfqnz2bcicyb27lp6bnvrj30lqjpn5fg7kaqshgkj53g0s4f"; depends=[]; };
   dfexplore = derive2 { name="dfexplore"; version="0.2.1"; sha256="04nbhn59l1kas26nwj4qflkjvvr33sj1mm7zg7fhvya85gvlhrbf"; depends=[ggplot2]; };
+  dfmeta = derive2 { name="dfmeta"; version="1.0.0"; sha256="0ca48adfhaxac33jmxbynlyg3ak9l5mmjhlr69n4hnz6325gn9vb"; depends=[data_table ggplot2 lme4 plyr]; };
   dfmta = derive2 { name="dfmta"; version="1.6-2"; sha256="0icpgsxhzd9y0d3xv82cy807wylxck7zn31g0b3nv0nq3jxy04jk"; depends=[BH Rcpp RcppArmadillo RcppProgress]; };
-  dfoptim = derive2 { name="dfoptim"; version="2017.12-1"; sha256="03sh92ks29hcdy4ma1b5rs29f65q65wi30j1pxkmsjxkp8179jgf"; depends=[]; };
-  dfped = derive2 { name="dfped"; version="1.0"; sha256="0xhyh5sm1a009pwfn2yb3vg2hr4sfpf9ifg09hqcvjx56pxfd8zh"; depends=[ggplot2 rstan]; };
+  dfoptim = derive2 { name="dfoptim"; version="2018.2-1"; sha256="1gya0sx8ajy04kscds06d6m9prxdwr1dmyfc6awsm6r1jwbibzb3"; depends=[]; };
+  dfped = derive2 { name="dfped"; version="1.1"; sha256="11ffsah14igba276m9d3cla0kgb3isizm5d7j1iqcd0wq23il7hq"; depends=[ggplot2 rstan]; };
   dfphase1 = derive2 { name="dfphase1"; version="1.1.1"; sha256="0bk4bl5lqd7m4mzk6kg71fmh918wcy85zghr3lyayxlk30fl4ppc"; depends=[lattice Rcpp robustbase]; };
-  dfpk = derive2 { name="dfpk"; version="3.4.0"; sha256="0fvvyn1zc0s0z4xaqinf8im2ynmbs7irh9q9h66ym1pxmrqhb5zw"; depends=[BH dfcrm ggplot2 PK Rcpp RcppEigen rstan StanHeaders]; };
+  dfpk = derive2 { name="dfpk"; version="3.4.1"; sha256="1nmn5ir20wx3qvcf9rvnwnni5kqbn8adhc2354fb5gcvbnxlc7mc"; depends=[BH dfcrm ggplot2 PK Rcpp RcppEigen rstan StanHeaders]; };
   dga = derive2 { name="dga"; version="1.2"; sha256="13mfampnghcs5xplzq69bw948lqhw561pn54j3gb0ydsg5bm5vmr"; depends=[chron]; };
-  dggridR = derive2 { name="dggridR"; version="2.0.1"; sha256="1af5sn3py3my543vn6izqmlsc80rvyx7dqxprylk4pzsmc8yyx4c"; depends=[dplyr ggplot2 Rcpp rgdal sp]; };
+  dggridR = derive2 { name="dggridR"; version="2.0.3"; sha256="1gdwxrl5c5mprfk7rx5mk8davi4mmg1crccxaaipnbnsilg9j9vh"; depends=[dplyr ggplot2 Rcpp rgdal sp]; };
   dglars = derive2 { name="dglars"; version="2.0.0"; sha256="0nhljv02cfsna4d220nhla4fs84hr30qs9j32mml0brnmazyjj0n"; depends=[Matrix]; };
   dglm = derive2 { name="dglm"; version="1.8.3"; sha256="0vj4vddqcrjzgqsi6zsxm22gj5pa5dm50wcxip4vi8kbwxaahnaj"; depends=[statmod]; };
   dgmb = derive2 { name="dgmb"; version="1.2"; sha256="1r5md917wipx78n63x87fpvsc3h87c68cpacrrs9dhss199p1a5k"; depends=[abind MASS]; };
@@ -5539,20 +5673,22 @@ in with self; {
   dgof = derive2 { name="dgof"; version="1.2"; sha256="02qnb3i131hx05k8l5n3xbl5sqmmc2fh19bsgcacgj8ixs4wyjvi"; depends=[]; };
   dhga = derive2 { name="dhga"; version="0.1"; sha256="1n48irj53g3kn451ak5ly50wxdn7qmzi2kib8clsvcx2n7mvpgcm"; depends=[VennDiagram]; };
   dhglm = derive2 { name="dhglm"; version="1.7"; sha256="09wasgvjw0xc9k68m6a8lx372p2hywk4j6ikr9wjjjfl6f17j1cw"; depends=[boot MASS Matrix numDeriv]; };
-  di = derive2 { name="di"; version="1.1.3"; sha256="1i3s1rw62iy49141b3lqy5d97iwcj6ihdhsz2716v2497c39qhhy"; depends=[scales]; };
+  di = derive2 { name="di"; version="1.1.4"; sha256="1w2gjhyi410z98d8wnhbd69jxm69nz4pmnr4fb09i70a90f53s25"; depends=[scales]; };
   diagis = derive2 { name="diagis"; version="0.1.3-1"; sha256="1cagcr5znhrg4fp96d79ly0z7bs3hhh3zfspclyfc88p2p3qsd96"; depends=[coda ggplot2 gridExtra Rcpp RcppArmadillo]; };
+  diagmeta = derive2 { name="diagmeta"; version="0.2-0"; sha256="1qdpsn0c4g459p8p90p2a9fghiwjqqmmanz3zsa5a3lv7zxmk496"; depends=[lme4 meta]; };
   diagonals = derive2 { name="diagonals"; version="0.4.0"; sha256="03n6lm0hkgylswgj1qlgrjigm7basl5frip99mxx19mvaqa3bhqy"; depends=[]; };
   diagram = derive2 { name="diagram"; version="1.6.4"; sha256="0f6ffprn5k0ir1s7m9s7izc64aa17r3gnygagz5bihrlsvawaavw"; depends=[shape]; };
   diaplt = derive2 { name="diaplt"; version="1.2.1"; sha256="0pya6rqzsvc5nd3smhydvabarglc4nn04q605vbllmbhq9rv00pa"; depends=[]; };
   dice = derive2 { name="dice"; version="1.2"; sha256="0gic7lqnsdmwv3dbzwwmcwdfyfqlq8kpr2pciqphd1j2ligzwl3s"; depends=[gtools]; };
-  diceR = derive2 { name="diceR"; version="0.3.2"; sha256="1mhn34p0m0iaz9z4xy20z48nrnrh84i1bdhl48zmnwx165vbg392"; depends=[abind apcluster assertthat blockcluster caret class cli clue cluster clusterCrit clValid dbscan dplyr e1071 flux ggplot2 gplots Hmisc infotheo kernlab klaR kohonen largeVis magrittr mclust NMF progress purrr quantable RankAggreg RColorBrewer Rcpp Rtsne sigclust stringr tibble tidyr]; };
+  diceR = derive2 { name="diceR"; version="0.4.0"; sha256="1pxkwrbm69b97jia7nc18sprvxqxwwvvvzmxh147wgpqlmgqq47m"; depends=[abind apcluster assertthat blockcluster caret class cli clue cluster clusterCrit clValid dbscan dplyr e1071 flux ggplot2 gplots Hmisc infotheo kernlab klaR kohonen largeVis magrittr mclust NNLM pheatmap progress purrr quantable RankAggreg RColorBrewer Rcpp Rtsne sigclust stringr tibble tidyr]; };
   dichromat = derive2 { name="dichromat"; version="2.0-0"; sha256="1l8db1nk29ccqg3mkbafvfiw0775iq4gapysf88xq2zp6spiw59i"; depends=[]; };
   dicionariosIBGE = derive2 { name="dicionariosIBGE"; version="1.6"; sha256="1rss1ydhcn6sma2lmlpq6s0h3dglwc20w499x1jzkcjnzc1rc7gl"; depends=[]; };
+  did = derive2 { name="did"; version="1.0.0"; sha256="0fgwassb8m92iij78f045fl8441f1x9dhf4hnc93wl16yv5hh7g7"; depends=[BMisc formula_tools ggplot2 gridExtra knitr MASS pbapply]; };
   didrooRFM = derive2 { name="didrooRFM"; version="1.0.0"; sha256="12clfnbm56jwldw0afb0nb0argnd97mx7369jiywhxy0p4xqibqq"; depends=[dplyr]; };
   dief = derive2 { name="dief"; version="1.1"; sha256="0x3dwlfi130wmbsmm8vf66qxqn001b07yaiq6mp1s707dnl131mc"; depends=[flux fmsb ggplot2 plyr]; };
   dielectric = derive2 { name="dielectric"; version="0.2.3"; sha256="1p1c0w7a67zxp1cb99yinylk5r1v89mmpfybcy94ydydhydbhivk"; depends=[]; };
   diezeit = derive2 { name="diezeit"; version="0.1-0"; sha256="0rq1k08byvqn99wpql7drnrcxlzcqrcxixh7bczbc8dv1hhsgk9i"; depends=[brew httr jsonlite]; };
-  difNLR = derive2 { name="difNLR"; version="1.1.1"; sha256="14sgya6s8i6r6861dcwwiv8scwvxgk780yka1vlzsqg9bsklcyi9"; depends=[CTT ggplot2 msm nnet reshape2]; };
+  difNLR = derive2 { name="difNLR"; version="1.2.1"; sha256="102b6hczmvm2pn0ld1pmqjc1pyvbgq1zk1whrgvai35c6qba40r2"; depends=[CTT ggplot2 msm nnet reshape2]; };
   difR = derive2 { name="difR"; version="4.7"; sha256="17i8l4z7dw8nfr4b5pc72l1qm7byjcflh58kasafx9kxyvfgz258"; depends=[lme4 ltm]; };
   difconet = derive2 { name="difconet"; version="1.0-4"; sha256="0cjadi4mnpfmy18vyp0dw55mnhs0zddf51w59gvq6gszk145z3bq"; depends=[data_table gplots mvtnorm stringr]; };
   diffEq = derive2 { name="diffEq"; version="1.0-1"; sha256="1xmb19hs0x913g45szmm26xx5xp85v182wqf0lnl4raxaf47yhkm"; depends=[bvpSolve deSolve deTestSet ReacTran rootSolve shape]; };
@@ -5561,10 +5697,11 @@ in with self; {
   diffMeshGP = derive2 { name="diffMeshGP"; version="0.1.0"; sha256="1dc37hxh3fi27gw11kij57j78p87bza77s82niagdv6dqhldj5a4"; depends=[]; };
   diffdepprop = derive2 { name="diffdepprop"; version="0.1-9"; sha256="0mgrm1isr26v2mcm6fkzc7443ji00vpnqmw4zngx81n7442b3cl2"; depends=[gee PropCIs rootSolve]; };
   diffeR = derive2 { name="diffeR"; version="0.0-4"; sha256="08g21h3yq8rm2i6ah364nfadg7hnghc21jnpi5aqwzqyd2v93b67"; depends=[ggplot2 raster rgdal]; };
+  diffee = derive2 { name="diffee"; version="1.0.0"; sha256="0phkiq14qajif1nymfymwnhkdrlcx4xnk9mnyf5wgrkgywssgz21"; depends=[igraph]; };
   diffobj = derive2 { name="diffobj"; version="0.1.9"; sha256="1adqn472qbwrfb8m2iy3sfvj2n8g3d4h6xc3hqxpbv03yyfia2c2"; depends=[crayon]; };
   diffpriv = derive2 { name="diffpriv"; version="0.4.2"; sha256="12q2v93369bshid83rsy1csbr9ay6rfpd8zdxm12zi7py3f9sjs8"; depends=[gsl]; };
   diffr = derive2 { name="diffr"; version="0.1"; sha256="0ydwnpyzirynffsnvip667y0jqzy7yfqlfpqhb38xvmd9rmwfbp8"; depends=[htmlwidgets]; };
-  diffractometry = derive2 { name="diffractometry"; version="0.1-8"; sha256="1m6cyf1kxm9xf1z4mn4iz0ggiy9wcyi8ysbgcsk7l78y7nqh1h99"; depends=[]; };
+  diffractometry = derive2 { name="diffractometry"; version="0.1-10"; sha256="09mkqg6avky26c2dsnhpcmby76hfqg0pwmnjhkbp4px2k6c9inrc"; depends=[]; };
   diffrprojects = derive2 { name="diffrprojects"; version="0.1.14"; sha256="1mnqf5zs1w8dx9y5iwn4blyzb9j60ayzc04zxj5l8804nd527n25"; depends=[dplyr hellno magrittr R6 Rcpp RSQLite rtext stringb stringdist]; };
   diffrprojectswidget = derive2 { name="diffrprojectswidget"; version="0.1.5"; sha256="1h69mc1wayi80vz4b9cqydylf4kp9mxsigv05r0f903pqakdrzcw"; depends=[diffrprojects dplyr hellno htmlwidgets jsonlite magrittr tidyr]; };
   diffusion = derive2 { name="diffusion"; version="0.2.7"; sha256="1j9s9vw5sc4k956bk4yp3bf4fnp7lhhkwcvlzvsh1w4dyaj8l35h"; depends=[dfoptim nloptr systemfit]; };
@@ -5580,14 +5717,13 @@ in with self; {
   diptest = derive2 { name="diptest"; version="0.75-7"; sha256="0rcgycgp0bf8vhga1wwgfcz3pqs5l26hgzsgf2f97dwfna40i1p1"; depends=[]; };
   directPA = derive2 { name="directPA"; version="1.3"; sha256="0hcs56y69gdkfyk2xl0vxh01c19s6z1lfv02g056wxr24qfsx08c"; depends=[calibrate rgl]; };
   directlabels = derive2 { name="directlabels"; version="2017.03.31"; sha256="01ahw0c56mnzwl611s8hnghicww4c4dgf5v2wv6bl1s1pramw9pr"; depends=[quadprog]; };
-  dirichletprocess = derive2 { name="dirichletprocess"; version="0.2.0"; sha256="1q6rnrzyvkz9hn9czlm9sha80qsmrz7n4l3r8r1plkgrnf0biajv"; depends=[ggplot2 gtools mvtnorm]; };
+  dirichletprocess = derive2 { name="dirichletprocess"; version="0.2.1"; sha256="0ip7mcjddqg7z9hqrvbxixvkqp9j4d92zgpk6hn6acd4fxhb17r6"; depends=[ggplot2 gtools mvtnorm]; };
   dirmcmc = derive2 { name="dirmcmc"; version="1.3.3"; sha256="117p3jvinmha7a2phcpzq38ig05kcranp15xbxqvv0cgh3c95fjr"; depends=[mcmcse]; };
   dirmult = derive2 { name="dirmult"; version="0.1.3-4"; sha256="1r9bhw1z0c1cgfv7jc0pvdx3fpnwplkxwz8j8jjvw14zyx803rnz"; depends=[]; };
-  discSurv = derive2 { name="discSurv"; version="1.1.7"; sha256="0shxwxbvbbgp0qphpbih582d5psqj5n0izv7zvcw97vh82bzra4l"; depends=[functional mgcv mvtnorm]; };
+  discSurv = derive2 { name="discSurv"; version="1.3.1"; sha256="0vq3g42xy97ksgsghhz232spkbkr2zs8i9nm7xwdabysi9fgqdsv"; depends=[functional mgcv mvtnorm]; };
   discgolf = derive2 { name="discgolf"; version="0.2.0"; sha256="07clh1awnibgrh7vl4a51r8dbya2rbmicm8v8x8mq8h8am2b3j0s"; depends=[crul jsonlite xml2]; };
   disclap = derive2 { name="disclap"; version="1.5"; sha256="0piv9gxhxcd4pbh5qjn9c3199f32y3qiw5vy8cr77ki70dnmr66n"; depends=[]; };
   disclapmix = derive2 { name="disclapmix"; version="1.6.2"; sha256="01pn8hy3xbf1b1fbbsd4n2hv7gs97zalgq858xsrr4a0nqrvxmn5"; depends=[cluster disclap Rcpp]; };
-  disco = derive2 { name="disco"; version="0.5"; sha256="1rjylqmijc8yg20hkhqh24asxzs2g55dgbh4scp60nsf2lnw1pz8"; depends=[ggplot2 RColorBrewer tmod]; };
   discord = derive2 { name="discord"; version="0.1"; sha256="0nrjpl7l9lzkn92fwzaj3vh8zv2b6706gnh5c4zalkld0xac3c23"; depends=[dplyr]; };
   discreteMTP = derive2 { name="discreteMTP"; version="0.1-2"; sha256="13qsf1kc3rph0kkdkz31qj072www5dwjyk73lfpy141rzhcn1v1x"; depends=[]; };
   discreteRV = derive2 { name="discreteRV"; version="1.2.2"; sha256="1lhf67cccr96zl3j1sysh2bv0pbgvkbgjdzm35fvrdm7k74ypjsi"; depends=[MASS plyr]; };
@@ -5598,9 +5734,10 @@ in with self; {
   diskImageR = derive2 { name="diskImageR"; version="1.0.0"; sha256="1r19k5fdjn6vkn11p5df77fnxfqaz3nciiaai0f3pr2bgpfppzka"; depends=[subplex zoo]; };
   dismo = derive2 { name="dismo"; version="1.1-4"; sha256="1j4pzbyvn8msi3k2y79nc6pqlrald46168ibznjwrr6rdiqhy4gj"; depends=[raster sp]; };
   disp2D = derive2 { name="disp2D"; version="1.0"; sha256="0q5bds2r1mqzcwmnj61dmwqv6b0s0scq5h3nim47q3wp0n4gbslz"; depends=[geometry]; };
+  dispRity = derive2 { name="dispRity"; version="1.0.3"; sha256="1swix45fcr0hn21pvy2dwsnbr60bvsdjk8vwh432p0s69c372m3l"; depends=[ade4 ape geiger geometry geoscale paleotree phangorn phyclust vegan]; };
   disparityfilter = derive2 { name="disparityfilter"; version="2.2.3"; sha256="0dkk3qws631mf0g02di5rsrvh5954cykysyri0g8aqgik0j9dg06"; depends=[igraph]; };
   displayHTS = derive2 { name="displayHTS"; version="1.0"; sha256="0mqfdyvn2c5c3204ykyq29ydldsq0kb3a1d7mrzqr7cvrj1ahlqa"; depends=[]; };
-  dispmod = derive2 { name="dispmod"; version="1.1"; sha256="141gzhnmxxl495cpjgd4wnvdrbz6715m6sd1pycrbaqrsdc1pv57"; depends=[]; };
+  dispmod = derive2 { name="dispmod"; version="1.2"; sha256="16r6is0pchzc9mxpz0c44f72j76vsh3j9damalcxajrha06dkdq4"; depends=[]; };
   disposables = derive2 { name="disposables"; version="1.0.3"; sha256="0q5wacjclspn2fh7z1pg2l67ll51n75wck5h2fdq2vxy3qn3vwis"; depends=[]; };
   dissUtils = derive2 { name="dissUtils"; version="1.0"; sha256="00fzlmkdfw2s3k824wp2pk3v7cvxnywi1hfp86g4mm95z2qlw9br"; depends=[]; };
   dissever = derive2 { name="dissever"; version="0.2-2"; sha256="0s4g84lq15i00vpaafwmcbspdqy23cbj2fbyfnq60mzllyzgs0n2"; depends=[boot caret dplyr foreach magrittr plyr raster sp viridis]; };
@@ -5632,22 +5769,24 @@ in with self; {
   divo = derive2 { name="divo"; version="1.0.0"; sha256="0xy4yxvx2grskdzb5z73mhgrq0nfhdkm2hxahdns7pb1fgajxyjx"; depends=[cluster]; };
   dixon = derive2 { name="dixon"; version="0.0-6"; sha256="1prvr16a9n7qyaznir2bl7mg6nlvbdv9pk75p3xipzjg36hwyam8"; depends=[spatstat splancs]; };
   dkDNA = derive2 { name="dkDNA"; version="0.1.1"; sha256="0ycyzn5bmhjl5idp0lndffkninpm9n23wrkrzi59ac8z8ghsnhf4"; depends=[]; };
+  dkanr = derive2 { name="dkanr"; version="0.1.0"; sha256="05sw0rdfl5fr9v67lixbk2jmsxi2gdbyb6bzkf80ynp1y1izxyzq"; depends=[assertthat dplyr httr jsonlite purrr stringr tibble]; };
   dlib = derive2 { name="dlib"; version="1.0"; sha256="0d6p28r86jq7gwqh3njnsfgl6mmgx7famqx7p1xmra91cdlp3hqj"; depends=[Rcpp]; };
   dlm = derive2 { name="dlm"; version="1.1-4"; sha256="0hyphl90bqc16j7in750pmiyq28hmc46kxgv7gj17c8xl9c9xqxm"; depends=[]; };
   dlmap = derive2 { name="dlmap"; version="1.13"; sha256="0s6wlkggkm3qndwyvw72xv1n0mcjb7ss3ajbq2ll6rv30splq0db"; depends=[ibdreg mgcv nlme qtl wgaim]; };
   dlmodeler = derive2 { name="dlmodeler"; version="1.4-2"; sha256="06gqvk2wrzz4kpsh4vyrbqwmxirsvg78qj7clvcxdac0sfqn4gl7"; depends=[KFAS]; };
   dlnm = derive2 { name="dlnm"; version="2.3.4"; sha256="08k9x29iakgnzf4zbj6bgv6i4812mhbgraxm468wvv8ia574dm1m"; depends=[mgcv nlme tsModel]; };
-  dlsem = derive2 { name="dlsem"; version="2.1"; sha256="17azc4b8lxy7bcsrpki17nbc4imyfzvq6fmvngw80xjxlc316agx"; depends=[graph gRbase Rgraphviz]; };
+  dlsem = derive2 { name="dlsem"; version="2.2"; sha256="05ph3zqh2300b1qm6awwixiyg33rjym1m3l943cvgc036axa7smk"; depends=[graph gRbase Rgraphviz]; };
   dlstats = derive2 { name="dlstats"; version="0.1.0"; sha256="0s92rdpw3m534wgjaic4srsp9i1pa3ibfmr4h7p3ly51zhza6l5h"; depends=[ggplot2 jsonlite magrittr RColorBrewer scales]; };
-  dma = derive2 { name="dma"; version="1.3-0"; sha256="12gjrk0dp5w49wf0zkwc16vf8hd82822k88zb9fax3dklwm1dd3p"; depends=[MASS mnormt]; };
+  dma = derive2 { name="dma"; version="1.3-1"; sha256="0azask61cmkklly32nbpw9rq03v0g976i7shhvawxj20dh4h1jz9"; depends=[MASS mnormt]; };
   dml = derive2 { name="dml"; version="1.1.0"; sha256="0z1dalgxh5nhrac49vh60d5awzjylc8b8mn5fk379c324milm59l"; depends=[lfda MASS]; };
   dmm = derive2 { name="dmm"; version="2.1-3"; sha256="0hxd4k721imicnc97h319gxs6n4plyl9y9sr5hc7pwas543dm7k3"; depends=[MASS Matrix nadiv pls robustbase]; };
   dmt = derive2 { name="dmt"; version="0.8.20"; sha256="0rwc8l9k2y46hslsb3y8a1g2yjxalcvp1l3v7jix0c5kz2q7917w"; depends=[MASS Matrix mvtnorm]; };
   dmutate = derive2 { name="dmutate"; version="0.1.2"; sha256="06gr49j5jz6ns1zydwsqysgkigi2sbm4hdd2jbb82f05rd9spyf3"; depends=[dplyr MASS]; };
   dna = derive2 { name="dna"; version="1.1-1"; sha256="0gw70h1j67h401hdvd38d6jz71x1a6xlz6ziba6961zy6m3k5xbm"; depends=[]; };
-  dnet = derive2 { name="dnet"; version="1.1.2"; sha256="0y31cj55ry3xv4p7hy3maynk6ds8kmmgr2fd5afqhlrjkfry7zan"; depends=[graph igraph Matrix Rgraphviz supraHex]; };
+  dnet = derive2 { name="dnet"; version="1.1.3"; sha256="1av4kbcbhpj1ivz6ln26p80z5fd170971mrcy59zm67h6kdi56az"; depends=[graph igraph Matrix Rgraphviz supraHex]; };
   dng = derive2 { name="dng"; version="0.1.1"; sha256="04r06k6mmif7kbpham52dq2zv5rijjnsdc3sgxz6kbh5mqdn6jfq"; depends=[Rcpp]; };
-  doBy = derive2 { name="doBy"; version="4.5-15"; sha256="0n1ml47f78nqhy92a0fgsb4brz0qyfr4q3c7im8pnb0ngia4ssdx"; depends=[MASS Matrix]; };
+  dnr = derive2 { name="dnr"; version="0.3.2"; sha256="0f5xahd86x196mg7c9zrhxj7c8cg7mrnd4nzyr02xcym6cff6vqm"; depends=[arm ergm glmnet igraph network sna]; };
+  doBy = derive2 { name="doBy"; version="4.6-1"; sha256="1y02awzid23bxz8hx6j8pxd6i7jaq8pdw3k60rag8y6m69incrw5"; depends=[dplyr magrittr MASS Matrix plyr]; };
   doFuture = derive2 { name="doFuture"; version="0.6.0"; sha256="04pvs2h1ibdbl6cph30rvdn5vzj9afllvh8f0iy64pgy83vls790"; depends=[foreach future iterators]; };
   doMC = derive2 { name="doMC"; version="1.3.5"; sha256="1vfrykvfvsyq12mypd266867ml1dcwc3rj5k9c3wrn5bddcm88kr"; depends=[foreach iterators]; };
   doMPI = derive2 { name="doMPI"; version="0.2.2"; sha256="0ahwm17p3gq1yvc8v6sr6sb8z7i6zws8d1pf46qynl0gd4amg938"; depends=[foreach iterators Rmpi]; };
@@ -5657,12 +5796,13 @@ in with self; {
   doSNOW = derive2 { name="doSNOW"; version="1.0.16"; sha256="13ir4a8252h4yvp5ir9xnwack1kn58i4ny6sf2qdc12zspn3850n"; depends=[foreach iterators snow]; };
   dobson = derive2 { name="dobson"; version="0.2"; sha256="1fyf4dyzpg6hqdvr8n4ncs4dny8mg23nxbd49jd3mrlajszzg0vp"; depends=[]; };
   docker = derive2 { name="docker"; version="0.0.2"; sha256="00zq4zmv2y6q069q92dn8db2bj96kfy7pv2s58q21dxkp1c4s6qg"; depends=[reticulate]; };
+  dockerfiler = derive2 { name="dockerfiler"; version="0.1.1"; sha256="17r8az17vkj46cljp0pa15xh9x2p5w85csm2hickfk2lyg2pbjnx"; depends=[attempt glue R6]; };
   docopt = derive2 { name="docopt"; version="0.4.5"; sha256="1pwng6018ls0hk785bs8yjwpzsqr2pcvzgpavqd9rw19n5lvzhxn"; depends=[stringr]; };
   docopulae = derive2 { name="docopulae"; version="0.3.3"; sha256="13889sj509gbl9zs7jqdvslp6sc81jv54cbqh1wpp834jp5s1q3x"; depends=[]; };
   docstring = derive2 { name="docstring"; version="1.0.0"; sha256="19z5frhxbdc5c4vrkckgqbh9mx4d9w1icw8szsw9yadvbg48nlhl"; depends=[roxygen2]; };
   docuSignr = derive2 { name="docuSignr"; version="0.0.3"; sha256="0q90z31svbdnvylfr0yj2f0gahvpi089c1d5llvwqy8qc5p9fbqw"; depends=[httr jsonlite magrittr]; };
   documair = derive2 { name="documair"; version="0.6-0"; sha256="1pphcbx90n9xn8a7gvfrwzfapwqgpbl3gg2grm7chfxgcp7i99i2"; depends=[]; };
-  document = derive2 { name="document"; version="3.0.0"; sha256="1jd7pgifnlffibmmsflgp0gbv83qclqsfi8glvr9kfxw66yx0mhq"; depends=[callr checkmate desc rcmdcheck roxygen2 rstudioapi withr]; };
+  document = derive2 { name="document"; version="3.0.1"; sha256="1pmms1mrldjqsd2zrmpyxz86xykgq1ld4l4gv9gd1ycd7r8v0f8p"; depends=[callr checkmate desc rcmdcheck roxygen2 rstudioapi withr]; };
   docxtools = derive2 { name="docxtools"; version="0.1.1"; sha256="1mlgl9105mifzdgf57spgr2rr5740ghr5afmlskxn6ind7jfka70"; depends=[dplyr ggplot2 pander stringr tidyr]; };
   docxtractr = derive2 { name="docxtractr"; version="0.2.0"; sha256="197j57ab8x960b1yfq6xp8fwmq51xs04nf0cb16r161h4bcmgs2j"; depends=[dplyr purrr tibble xml2]; };
   dodgr = derive2 { name="dodgr"; version="0.0.3"; sha256="161qy9iyszpb44v26zn6w4d7c9bw8pg7vwgqcba0k0xc5dnr2wjc"; depends=[igraph magrittr osmdata rbenchmark Rcpp sp]; };
@@ -5671,7 +5811,7 @@ in with self; {
   dostats = derive2 { name="dostats"; version="1.3.2"; sha256="15j9sik9j5pic5wrp0w26xkrhi337xkbikw0k7sa4yfimw6f84w5"; depends=[]; };
   dotCall64 = derive2 { name="dotCall64"; version="0.9-5.2"; sha256="1jw0kyw95nivjimh25ri9sigqwlvk12kd45ydsh1yggigzc0k23k"; depends=[]; };
   dotenv = derive2 { name="dotenv"; version="1.0.2"; sha256="13i8dimrgq9nxmmrxr42pacsiylj6dilwpa8ldnrfp4cl9zgrqas"; depends=[]; };
-  dotwhisker = derive2 { name="dotwhisker"; version="0.3.0"; sha256="1sbj8blnqnsyvf7pq2cc9q7nqb66n0v2gi2rr09yjlppf7v1pcjf"; depends=[broom dplyr ggplot2 ggstance gridExtra gtable plyr stringr]; };
+  dotwhisker = derive2 { name="dotwhisker"; version="0.4.1"; sha256="1wmb9c0c6r0f36cks72y2jp1iwi6hxjqchq4z76vlcdxq09gmq3g"; depends=[broom dplyr ggplot2 ggstance gtable purrr rlang stringr]; };
   doubcens = derive2 { name="doubcens"; version="1.1"; sha256="1hn65n67by3xqbcnaf5jja5pli0g6wpbbz2sfzd7i2nms7kiywhp"; depends=[]; };
   downloader = derive2 { name="downloader"; version="0.4"; sha256="1axggnsc27zzgr7snf41j3zd1vp3nfpmq4zj4d01axc709dyg40q"; depends=[digest]; };
   downscale = derive2 { name="downscale"; version="2.0-3"; sha256="0jvzvmwhpdr7ygcxky4yl1ldb843hrmnzhmnvl0694mmswwqsf8l"; depends=[cubature minpack_lm raster Rmpfr sp]; };
@@ -5683,16 +5823,16 @@ in with self; {
   dplR = derive2 { name="dplR"; version="1.6.7"; sha256="0i4s4anklia0bnygqrkk35gnc972qfnvzr3sfzwz7jxghigw7k8l"; depends=[animation digest lattice Matrix matrixStats plyr png R_utils stringi stringr XML]; };
   dplRCon = derive2 { name="dplRCon"; version="1.0"; sha256="10xnawgnhxp5y949fxs1vvadc1qz2ldy0s9w9w7kf6iqh59d35sw"; depends=[]; };
   dplyr = derive2 { name="dplyr"; version="0.7.4"; sha256="1hm8ml7yaraag1ak6kvz2mxx6if568c759ix8a1n9d7va03wj7vv"; depends=[assertthat BH bindrcpp glue magrittr pkgconfig plogr R6 Rcpp rlang tibble]; };
-  dplyr_teradata = derive2 { name="dplyr.teradata"; version="0.1.1"; sha256="1fbvfd02zp408knv1ryjs4nwg8zi5vbbpgn7gxqiyzwbfqizkkqy"; depends=[bit64 DBI dbplyr dplyr odbc]; };
+  dplyr_teradata = derive2 { name="dplyr.teradata"; version="0.2.0"; sha256="1flhsl4c1hws2ccrf81y4lybdz9dsbmws9zdpiry9h98h3rlaxp8"; depends=[bit64 cli crayon DBI dbplyr dplyr odbc purrr rstudioapi tidyverse]; };
   dplyrAssist = derive2 { name="dplyrAssist"; version="0.1.0"; sha256="1lqizh70b1apyr4578917gv6s0i7p84ak96a57kvwipmh36a4ywn"; depends=[DT magrittr miniUI plyr rstudioapi shiny shinyAce shinyWidgets stringr tidyr tidyverse]; };
   dpmixsim = derive2 { name="dpmixsim"; version="0.0-8"; sha256="0paa2hmpd6bqf0m7p9j7l2h3j18lm64ya6ya8zvp55wm8pf7xgqg"; depends=[cluster oro_nifti]; };
   dpmr = derive2 { name="dpmr"; version="0.1.9"; sha256="1cnjywkvjb4fhbf4shjmsrq47f1fg2x21hcm1q5512bm0wg9i6jd"; depends=[digest httr jsonlite magrittr rio]; };
   dprep = derive2 { name="dprep"; version="3.0.2"; sha256="0iw1pqpqlv436wpwh1w832aqvy91zvxmbk2jdw7aczrb29wys2bj"; depends=[class e1071 FNN MASS nnet rgl rpart StatMatch]; };
   dprint = derive2 { name="dprint"; version="0.0.4"; sha256="13bq6yjlp5p5rcsz684rqcigp42xnz3p5phnqmrhzm874gfzm8rj"; depends=[]; };
   dr = derive2 { name="dr"; version="3.0.10"; sha256="0dmz4h7biwrn480i66f6jm3c6p4pjvfv24pw1aixvab2vcdkqlnf"; depends=[MASS]; };
-  dr4pl = derive2 { name="dr4pl"; version="1.0.0"; sha256="1gcddnjmzqm16vzqvh8hxw2spvfa41jmapf7n87lv100j5f8ahl5"; depends=[devtools drc ggplot2 Matrix Rdpack tensor testthat]; };
+  dr4pl = derive2 { name="dr4pl"; version="1.1.1"; sha256="1wh7mdns9vxjkfphj2nqllh7q3k3lch5y0b4yzf3j4xrd0wyf2hm"; depends=[ggplot2 Matrix matrixcalc Rdpack tensor]; };
   drLumi = derive2 { name="drLumi"; version="0.1.2"; sha256="09ps8rcqrm6a1y8yif2x82l0k4jywq60pkndh9nzfpbsw4ak2lby"; depends=[chron gdata ggplot2 Hmisc irr minpack_lm msm plyr reshape rootSolve stringr]; };
-  drake = derive2 { name="drake"; version="5.0.0"; sha256="0hldxadlcl3m249rb68yikvn4gck98zj2x67jjxfgas27a1n4pjx"; depends=[codetools crayon digest evaluate formatR future future_apply igraph knitr lubridate magrittr plyr R_utils rprojroot storr stringi stringr testthat visNetwork withr]; };
+  drake = derive2 { name="drake"; version="5.1.2"; sha256="18f0mxbzz50dli3y4fzyh5qgk8ccxrvqy8a3xsc5xq4y0ilq8kvf"; depends=[bindr CodeDepends crayon digest dplyr evaluate formatR future future_apply igraph knitr lubridate magrittr pkgconfig plyr purrr R_utils R6 rlang rprojroot storr stringi testthat tibble tidyselect visNetwork withr]; };
   drat = derive2 { name="drat"; version="0.1.4"; sha256="0vrpqf793vinx4v7jrbn910iplvpmrlwhdjqqzx8cl2k9hl43x08"; depends=[]; };
   drawExpression = derive2 { name="drawExpression"; version="1.0"; sha256="0c2daicqrjlqf7s788cknzvw9c6rm500lgmwfr7z03bq7bd2ah90"; depends=[]; };
   drc = derive2 { name="drc"; version="3.0-1"; sha256="0c8xn8ripzq270hy8d16fcnx02l02alddznd7fqwk3jyi6113h1y"; depends=[car gtools MASS multcomp plotrix scales]; };
@@ -5721,7 +5861,7 @@ in with self; {
   dtt = derive2 { name="dtt"; version="0.1-2"; sha256="0n8gj5iylfagdbaqirpykb01a9difsy4zl6qq55f0ghvazxqdvmn"; depends=[]; };
   dtw = derive2 { name="dtw"; version="1.18-1"; sha256="1b91vahba09cqlb8b1ry4dlv4rbldb4s2p6w52gmyw31vxdv5nnr"; depends=[proxy]; };
   dtwSat = derive2 { name="dtwSat"; version="0.2.3"; sha256="10b0hs9kn5ljfv28iz62h966zb1pxsfrr6fx45d4427gr6fg8ncz"; depends=[caret dtw ggplot2 lubridate mgcv plyr proxy raster RColorBrewer reshape2 rgdal scales sp xtable zoo]; };
-  dtwclust = derive2 { name="dtwclust"; version="5.2.0"; sha256="0wabb6mhc0h73lpxjg29hdb9kpy7gdp6mddhdwcgc560v5skyqd8"; depends=[bigmemory clue cluster dplyr dtw flexclust foreach ggplot2 ggrepel Matrix nloptr proxy Rcpp RcppArmadillo RcppParallel reshape2 rngtools RSpectra]; };
+  dtwclust = derive2 { name="dtwclust"; version="5.3.1"; sha256="0lm8y63gx096vdnza7mcqllfnl56vaz8dnrnm7f7jvwgmkqkj1xy"; depends=[bigmemory clue cluster dplyr dtw flexclust foreach ggplot2 ggrepel Matrix nloptr proxy Rcpp RcppArmadillo RcppParallel reshape2 RSpectra shiny shinyjs]; };
   dualScale = derive2 { name="dualScale"; version="0.9.1"; sha256="11hqxprai0s5id6wk4n2q174r1sqx9fzw3fscvqd2cgw8cjn1iwl"; depends=[ff lattice Matrix matrixcalc vcd]; };
   dub = derive2 { name="dub"; version="0.1.0"; sha256="0sdk8sppjcfx2bsngpngm2446warsnipzzw4yz5z4jpickp52ay0"; depends=[]; };
   duckduckr = derive2 { name="duckduckr"; version="1.0.0"; sha256="1wki8xvqp5hr27iafd9jbryl9faywfkdkpn0pa0afywbic39k2cm"; depends=[crul jsonlite]; };
@@ -5732,10 +5872,10 @@ in with self; {
   dvfBm = derive2 { name="dvfBm"; version="1.0"; sha256="0gx11dxkbnh759ysd1lxdarlddgr3l5gwd5b0klwvwsgck6jv529"; depends=[wmtsa]; };
   dvmisc = derive2 { name="dvmisc"; version="1.1.2"; sha256="1dy0yykskwhkql19bhzmbwsgv028afc8jh9yqwbczj6f3vpv31zh"; depends=[MASS rbenchmark Rcpp]; };
   dvn = derive2 { name="dvn"; version="0.3.5"; sha256="04di2gpdacivvd9bi96w6145k280s8blavdhi1w3rw4c7sc3hag2"; depends=[RCurl XML]; };
-  dwapi = derive2 { name="dwapi"; version="0.1.2"; sha256="09crawhd0i94h6c091w1h72nay931xadhmiiy84x4pgvvj2nq6qq"; depends=[httr readr rjson xml2]; };
+  dwapi = derive2 { name="dwapi"; version="0.1.3"; sha256="149v1yjnrdbqjg7cpnanm1jv1dcpzqy264qk5dx8wvw9kdc5h3b8"; depends=[httr jsonlite readr rjson xml2]; };
   dyads = derive2 { name="dyads"; version="1.1"; sha256="0jlyg4bz3zp4g5ig0swwi72bxaj85wll05h6vishnvmnprpdc96n"; depends=[MASS mvnfast]; };
   dygraphs = derive2 { name="dygraphs"; version="1.1.1.4"; sha256="0vwg9q7xrwxkm92d55ik9gdky42bj3jlh6fi4jzwyl5nfdswklb9"; depends=[htmltools htmlwidgets magrittr xts zoo]; };
-  dyn = derive2 { name="dyn"; version="0.2-9.3"; sha256="00h75kqfpr77jhppnpxvykbdcmsmsb2vl2527xzq10wkvm7gfpvv"; depends=[zoo]; };
+  dyn = derive2 { name="dyn"; version="0.2-9.6"; sha256="16fqv9k7yxdgybwzafjkyqm16qpgqz13lcjpi6a1nc8xbzlzh0gb"; depends=[zoo]; };
   dynBiplotGUI = derive2 { name="dynBiplotGUI"; version="1.1.5"; sha256="0fvyn33mzjcc3sis05phc6412y25m406il2wzdfw8caa8dafj0yw"; depends=[tcltk2 tkrplot]; };
   dynCorr = derive2 { name="dynCorr"; version="1.1.0"; sha256="0l5k764j1zhsqpgp0ndihah63hsk3zv9hviixfmh4h3i0sr0q52p"; depends=[lpridge]; };
   dynOmics = derive2 { name="dynOmics"; version="1.0"; sha256="10aw362hhwqdnjf7xxzy25fdxq2zznzvg6xwvl25a9ppj76nm1rh"; depends=[ggplot2 gplots snow]; };
@@ -5744,6 +5884,7 @@ in with self; {
   dynamicGraph = derive2 { name="dynamicGraph"; version="0.2.2.6"; sha256="1xnsp8mr3is4yyn0pyrvqhl893gdx2y1zv8d2d55aah2xbfk0fjj"; depends=[ggm]; };
   dynamicTreeCut = derive2 { name="dynamicTreeCut"; version="1.63-1"; sha256="1fadbql7g5r2vvlkr89nlrjxwp4yx4xrdqmv077qvmnx9vv0f4w3"; depends=[]; };
   dynamichazard = derive2 { name="dynamichazard"; version="0.5.1"; sha256="11lx88g0rizwxa4rfmaz9b2g8p7nnzgiqz5b0gqsc4dvz92i74fg"; depends=[boot data_table Rcpp RcppArmadillo stringr survival]; };
+  dynamo = derive2 { name="dynamo"; version="1.0"; sha256="0arsv686ix7xpca57ayqgifim1q35dl4w2mx7fw8bc0lidapilyp"; depends=[abind glamlasso MortalitySmooth Rcpp RcppArmadillo]; };
   dynatopmodel = derive2 { name="dynatopmodel"; version="1.2.1"; sha256="0lpfhj69bvagqzzg2kjqvn9xx8f93ii34flrrns20z3bxla6gds9"; depends=[deSolve lubridate maptools raster rgdal rgeos sp topmodel xts zoo]; };
   dyncomp = derive2 { name="dyncomp"; version="0.0.1-5"; sha256="1626z5523s4igw55fw97lplfgg9mzf4np8imrarkligslvc5q8ip"; depends=[zoo]; };
   dynetNLAResistance = derive2 { name="dynetNLAResistance"; version="0.1.0"; sha256="018y3m648ni31rlisjfnrx1d10mm48wpxanlnnxxpnqxjcywg2x8"; depends=[doParallel foreach igraph]; };
@@ -5752,23 +5893,24 @@ in with self; {
   dynlm = derive2 { name="dynlm"; version="0.3-5"; sha256="1sjhhlvvcgmayb9dfwacv1g75c4lhbpzyczj6h7gkd19bcfbdhqp"; depends=[car lmtest zoo]; };
   dynpanel = derive2 { name="dynpanel"; version="0.1.0"; sha256="073kfl5g4d7v8wd2qnpixqrxbac3cqj35z03ax2zlb8h2afa7j62"; depends=[gtools]; };
   dynpred = derive2 { name="dynpred"; version="0.1.2"; sha256="111ykasaiznn3431msj4flfhmjvzq7dd1mnzn1wklc5ndix1pvf9"; depends=[survival]; };
+  dynprog = derive2 { name="dynprog"; version="0.1.0"; sha256="1rvn2zyhdi60y01zbvfv4him6iz2ljdr7ivkr7m7y7yd1lg547ax"; depends=[rlang]; };
   dynr = derive2 { name="dynr"; version="0.1.12-5"; sha256="1l9waqwg5mkqy8ipryickrkf141mjpzdvsc4qbw8bq4rkrgykklc"; depends=[ggplot2 latex2exp magrittr MASS Matrix mice numDeriv plyr Rdpack reshape2 xtable]; };
   dynsbm = derive2 { name="dynsbm"; version="0.5"; sha256="01vi4qzgp25l4wg2ij9pqrn775x4yj9gck0l397nwjg96pa7x2lz"; depends=[RColorBrewer Rcpp riverplot]; };
   dynsim = derive2 { name="dynsim"; version="1.2.1"; sha256="0nkxn9v4f353fhcn1vsdrh29mrms10zid63b84flg3c6hvc0x4qr"; depends=[ggplot2 gridExtra MASS]; };
   dynsurv = derive2 { name="dynsurv"; version="0.3-6"; sha256="12bfv6bykgsyxryydhjs89yvk7akam5gy89mzn1hv4ilrpc5mlmw"; depends=[BH ggplot2 nleqslv plyr reshape survival]; };
   e1071 = derive2 { name="e1071"; version="1.6-8"; sha256="08n6i26nfckjpxjkzi8phhanc3ahsrirkv5rz38y2jcv7ds031pn"; depends=[class]; };
   eAnalytics = derive2 { name="eAnalytics"; version="0.1.3"; sha256="1lrkmfs2sq9p2n7g528jf6wxixqk08w468nckkij2mprhrccjjj6"; depends=[dplyr DT energyr googleVis leaflet plotly shiny shinydashboard]; };
-  eDMA = derive2 { name="eDMA"; version="1.4-0"; sha256="1nkbl6yywffb8q0x6ajymh1hpmkq038dc3a7xvw9szcjfrfbhw9v"; depends=[Rcpp RcppArmadillo xts zoo]; };
+  eDMA = derive2 { name="eDMA"; version="1.5-0"; sha256="111iphlcxfy891xwxma7h8qylazwxhx6srffid4i167kd1dibkak"; depends=[Rcpp RcppArmadillo xts zoo]; };
   eHOF = derive2 { name="eHOF"; version="1.8"; sha256="0g0sb98mlgvhs27s0a1x0ysj3r4p3r7i382fqzfv29kn1ayw0r5c"; depends=[lattice mgcv]; };
   eLNNpaired = derive2 { name="eLNNpaired"; version="0.2.3"; sha256="08nck2p5npyw264kgcqmgx5rx7c3h9v892f90xlcd1dnb7dqlan3"; depends=[Biobase globaltest GSEAlm iCheck samr]; };
   eMLEloglin = derive2 { name="eMLEloglin"; version="1.0.1"; sha256="087zw48lykls2jcsmpqd5jkrlpr0j423snp00liszjhdpdh59saq"; depends=[lpSolveAPI]; };
   ePCR = derive2 { name="ePCR"; version="0.9.9-4"; sha256="0lnkb4zffn62vbx8hh953z9zh0plj8l15cc1k3x936zblzgd226r"; depends=[Bolstad2 c060 glmnet hamlet impute MASS Matrix pracma ROCR survival timeROC]; };
-  eRm = derive2 { name="eRm"; version="0.15-7"; sha256="0x8cqcwgn8znd9w9vkxcacf097rziyb511wzcfmhhadidiilk0x3"; depends=[lattice MASS Matrix]; };
+  eRm = derive2 { name="eRm"; version="0.16-0"; sha256="18shx4jjvymhzdab1qvlfqnmg49mwllyw3v46j9v19dy6h9l3n8m"; depends=[lattice MASS Matrix]; };
   eVenn = derive2 { name="eVenn"; version="2.4"; sha256="1qs5qsrc89kb6w6xqc8jdxkih6h48zprvavffdqhxq4ab4i1nvbf"; depends=[]; };
-  eaf = derive2 { name="eaf"; version="1.07"; sha256="0310lrqfm1l0lifak7wa6xn21bzzn27kbrrx0bidj4hibwv7sa4l"; depends=[modeltools]; };
+  eaf = derive2 { name="eaf"; version="1.8"; sha256="1plzvfa2vs3njky7xk9dvic2xapdnzb5iycrksv0qj03ylbh6410"; depends=[modeltools]; };
   earlyR = derive2 { name="earlyR"; version="0.0.1"; sha256="14davqhh3n5dfsddnfd79ni56bssrpwhvkqkdb77a8x9fn8w32pv"; depends=[distcrete EpiEstim epitrix]; };
   earlywarnings = derive2 { name="earlywarnings"; version="1.0.59"; sha256="06j5g5lrzl4p5pb1pp79h00iqpbwralzhpzxmaiymv7j8kz87nr0"; depends=[fields ggplot2 Kendall KernSmooth lmtest moments nortest quadprog som spam tgp tseries]; };
-  earth = derive2 { name="earth"; version="4.6.0"; sha256="1inpspp2giq24ypm60k297s6lfm4kxfwqrx2ycxyyl4syl1sqw4b"; depends=[plotmo TeachingDemos]; };
+  earth = derive2 { name="earth"; version="4.6.2"; sha256="1ma2qgbkw0if93wd6fk6611xkznadfxy6v6xawrk4n9b5im3j6f4"; depends=[plotmo TeachingDemos]; };
   earthtones = derive2 { name="earthtones"; version="0.1.0"; sha256="1phl50bgd40i36fdkfs9xkqm703vgwxlnpyik6lk8ssip0m4rn9j"; depends=[ggmap]; };
   easyAHP = derive2 { name="easyAHP"; version="0.1.1"; sha256="161mn90j9ph1p9277mj61hch8ndcv7k9izs32q93y5wp474gzynd"; depends=[]; };
   easyDes = derive2 { name="easyDes"; version="3.0"; sha256="1z4ynd1ck2vxsshygjgnhyzg8i41kpnwsfix96nmgwm3861n0phb"; depends=[multcomp PMCMR]; };
@@ -5808,9 +5950,9 @@ in with self; {
   ecoreg = derive2 { name="ecoreg"; version="0.2.2"; sha256="1yzyqvhshgc7ip251y7hsvip4xwf8i92bvvz84mn0mzv5b4mq3im"; depends=[]; };
   ecoseries = derive2 { name="ecoseries"; version="0.1.5"; sha256="1q35hp5hl6z28hns5rnp3mjn6hqp5qh714pagw7fw4d4a6wnvacy"; depends=[magrittr RCurl readr rjson rvest tibble xml2 zoo]; };
   ecosim = derive2 { name="ecosim"; version="1.3"; sha256="00arz8j2az1nn4p96pshw0p9xxq2qfgkyrf4ahvl1hp1h3k68jfn"; depends=[deSolve stoichcalc]; };
-  ecospace = derive2 { name="ecospace"; version="1.2.3"; sha256="1zfd1m4snpy17i751i2fgxdqxmz6xv5aa66c24wnvd8cq4i8qkm0"; depends=[FD]; };
+  ecospace = derive2 { name="ecospace"; version="1.3.1"; sha256="0xrhlhpndycj2hdf50lygymc1hwmczx74r6l9f2qmm6v90c0729k"; depends=[FD]; };
   ecospat = derive2 { name="ecospat"; version="2.2.0"; sha256="0awzhzl90j72jxp7qk5q5vqmgyccbkw2rbw0jrhjvlwkr5q9gyvx"; depends=[ade4 adehabitatHR adehabitatMA ape biomod2 classInt dismo doParallel ecodist foreach gbm gtools iterators maptools MigClim PresenceAbsence randomForest raster rms sp spatstat vegan]; };
-  ecotox = derive2 { name="ecotox"; version="1.3.0"; sha256="05k3hdz25kw28222bnlk814b2rlwq2f6b5kdqxqls9wdfvdknij3"; depends=[ggplot2]; };
+  ecotox = derive2 { name="ecotox"; version="1.3.1"; sha256="1is4zn7rabpibpnyy9mwpcjdhhb02r0a2r5azw9i5asshr2d1ywi"; depends=[ggplot2 magrittr]; };
   ecotoxicology = derive2 { name="ecotoxicology"; version="1.0.1"; sha256="084xkr59d7x9zxmsnsyym2x8jshz6ag6rvnmhd1i6fzar8ypwccb"; depends=[]; };
   ecoval = derive2 { name="ecoval"; version="1.1"; sha256="0ihig6nq3lrz6lzix92lrlzywnqkzsp5lrbccn5slhxdj5llird2"; depends=[rivernet utility]; };
   ecp = derive2 { name="ecp"; version="3.1.0"; sha256="0siq5acpy4wmqzm6zvpqj1m8a05hgk5jhb1clv06y40kqk5kjrap"; depends=[Rcpp]; };
@@ -5820,10 +5962,10 @@ in with self; {
   edcc = derive2 { name="edcc"; version="1.0-0"; sha256="036fi6mnn9480hkb378xb5jilkfvdydjmkyw4mcc9s1lz195f62w"; depends=[spc]; };
   edci = derive2 { name="edci"; version="1.1-2"; sha256="10rqkimvmyb7hxp4wkpj8bq07q3yaimm058d4mmr09fw25lqyz1q"; depends=[]; };
   edeR = derive2 { name="edeR"; version="1.0.0"; sha256="1dg0aqm5c4zyf015hz1hhn3m4lfvybc4gc1s7sp8jcsk46rxz0cc"; depends=[rJava rjson rJython]; };
-  edeaR = derive2 { name="edeaR"; version="0.7.2"; sha256="0k043g2qrm58l7dvb2ylpg76wcznkr4p4vp2p3b4hhg1hzq8zccf"; depends=[bupaR data_table dplyr ggplot2 ggthemes glue lubridate miniUI purrr rlang shiny shinyTime stringr tibble tidyr]; };
+  edeaR = derive2 { name="edeaR"; version="0.8.0"; sha256="1qpkb5ysz5lbkqdxszgzkn7s77h6fqqd62pc0nn2abjgq2hb8a9j"; depends=[bupaR data_table dplyr ggplot2 ggthemes glue lubridate miniUI purrr rlang shiny shinyTime stringr tibble tidyr]; };
   edesign = derive2 { name="edesign"; version="1.0-13"; sha256="0fc3arr8x9x9kshp6jq4m4izzc5hqyn5vl0ys6x0ph92fc6mybp3"; depends=[]; };
   edf = derive2 { name="edf"; version="1.0.0"; sha256="14ikm6j0ndxrk7c7lh5mbd2aci46d4j9a30mvcgnxy3kq6046a7b"; depends=[]; };
-  edfReader = derive2 { name="edfReader"; version="1.1.2"; sha256="02cclg549z6samhkraaknsmqvk0yxxcf4s9qpbcxb2cl9fcj1cjr"; depends=[]; };
+  edfReader = derive2 { name="edfReader"; version="1.2.0"; sha256="0r4918swpfddz246kkvy10a07s178zmwp7m4ydxvi8di6iga76hk"; depends=[]; };
   edfun = derive2 { name="edfun"; version="0.2.0"; sha256="1wxx6bgy03z7c1d6556bbjl1cb49n2vn734fw2d5c1jk0zsh3fmz"; depends=[]; };
   edgar = derive2 { name="edgar"; version="1.0.9"; sha256="1jh0aaizirj4i4kc6gq9kkpa1xdqxbjhj7fys8ap1xxxx6nfpcnf"; depends=[ggplot2 R_utils RColorBrewer tm wordcloud XML]; };
   edgarWebR = derive2 { name="edgarWebR"; version="0.3.1"; sha256="0gakrgag7rm18njhrs7bq99mv7yn7yxis9yscz88va16dqdp17l8"; depends=[httr xml2]; };
@@ -5832,7 +5974,7 @@ in with self; {
   edgebundleR = derive2 { name="edgebundleR"; version="0.1.4"; sha256="0pajr95qqppk2m4l7rfi46rll32z8a7lmq0vmb3p8n0aks5ajn1n"; depends=[htmlwidgets igraph rjson shiny]; };
   editData = derive2 { name="editData"; version="0.1.2"; sha256="1ibpd2rlm6i9izyizmdhzxv8agrw920hxbin5y79cmf78rdg1sxy"; depends=[DT miniUI rstudioapi shiny tibble]; };
   editrules = derive2 { name="editrules"; version="2.9.0"; sha256="14mfa8flkym2rx9n7bq9icc9fsrk3szib3amx5l0008rxll9qnxm"; depends=[igraph lpSolveAPI]; };
-  edpclient = derive2 { name="edpclient"; version="0.2.0"; sha256="090yp94j3mm7g6lyc9vs8l1zhimnh9cizf55gw3g7ffqma2pl1rs"; depends=[httr ini jsonlite plyr]; };
+  edpclient = derive2 { name="edpclient"; version="0.3.1"; sha256="0czvwyp7z27cydsjwf3xrk88g62vsllgfcwrq13ylgki7zw5gclj"; depends=[httr ini jsonlite plyr]; };
   edrGraphicalTools = derive2 { name="edrGraphicalTools"; version="2.2"; sha256="105jv2sz10xbl881lkhgmxzgmb8629mqsminhd197khrkf9nv40i"; depends=[lasso2 MASS mvtnorm rgl]; };
   edstan = derive2 { name="edstan"; version="1.0.6"; sha256="1gm1rxwywigyfdlcm2yj1m9qjb4s6w7chr1ck7b32x1pdxdl3ns5"; depends=[ggplot2 rstan]; };
   educineq = derive2 { name="educineq"; version="0.1.0"; sha256="0qd6kvcy280glv3q6lcrawmnsfvp90as95chgi3hav0yj2dpakn6"; depends=[flexsurv ineq]; };
@@ -5846,7 +5988,8 @@ in with self; {
   eesim = derive2 { name="eesim"; version="0.1.0"; sha256="0ljj1jp9cl0im8k7sfjd28ggj4q9a14df3554kwxkssr1vsn1wbc"; depends=[dplyr lubridate purrr viridis]; };
   effectFusion = derive2 { name="effectFusion"; version="1.0"; sha256="1nx61n4lgnj6wh4arqm62p9xwxqvz4g7bs4b5k3ybkhmh6ns9v5l"; depends=[bayesm cluster ggplot2 MASS Matrix]; };
   effectR = derive2 { name="effectR"; version="1.0.0"; sha256="08r1jifrqa9fxm5jp6jsvazdpql53kpm6mj0sg70hvd8q0cilryb"; depends=[ggplot2 reshape2 seqinr shiny viridis]; };
-  effects = derive2 { name="effects"; version="4.0-0"; sha256="0h3247xcccanp0cp18r5k4l87i9862yjr5jc8sxcsfvjzn13xgf6"; depends=[carData colorspace lattice lme4 nnet survey]; };
+  effects = derive2 { name="effects"; version="4.0-1"; sha256="042f6gb799agqqxawd6ddlzplyxkd1h5v9pm759zmnj2094smw6q"; depends=[carData colorspace estimability lattice lme4 nnet survey]; };
+  effectsizescr = derive2 { name="effectsizescr"; version="0.1.0"; sha256="0shfjk6r3bz04jakrn5nwgymjx60lk83i0akcx7zqfxp3k8yncs5"; depends=[Kendall]; };
   efflog = derive2 { name="efflog"; version="1.0"; sha256="1sfmq7xrr6psa6hwi05m44prjcpixnrl7la03k33n0bksj8r1w6b"; depends=[]; };
   effsize = derive2 { name="effsize"; version="0.7.1"; sha256="0l0ja7qcknn8r5hf7nrjk5cy0ajw0z60ggbyj8qvjzf8qah4mlss"; depends=[]; };
   efreadr = derive2 { name="efreadr"; version="0.2.2"; sha256="1h27by1m451wrnw017005avs5yj3fjzrm2lq5153aqm1mbbxxwvs"; depends=[dplyr ensurer magrittr readr]; };
@@ -5864,14 +6007,16 @@ in with self; {
   eigenprcomp = derive2 { name="eigenprcomp"; version="1.0"; sha256="156qyv7sl8nng55n3ay6dnpayyfrqv27ndz40xf4w92is9zmymy0"; depends=[]; };
   eive = derive2 { name="eive"; version="2.1"; sha256="1vazl5dnrvljd07csy9rjs4302w09h94i411gffg9fvxn70km7qg"; depends=[Rcpp]; };
   eiwild = derive2 { name="eiwild"; version="0.6.7"; sha256="1fp4kvlmcjjnzn2a5cmlzaf6y5q6cdbbi2nmvjyqc4y1bmwh3srf"; depends=[coda gtools lattice]; };
+  eixport = derive2 { name="eixport"; version="0.3.0"; sha256="1ykv5jqri4zkshawck3lfl6jrzw24k27gwhi02rckzbrg2nb3909"; depends=[ncdf4 raster sf sp]; };
   elasso = derive2 { name="elasso"; version="1.1"; sha256="0nz3vw803dvk4s45zc9swyrkjwna94z84dn4vfj3j17h74a0cij2"; depends=[glmnet SiZer]; };
   elastic = derive2 { name="elastic"; version="0.8.0"; sha256="17aqf0a3spwh8k7s3kgnccbgad3sr3w63if96piygjz0lxgc7kzs"; depends=[curl httr jsonlite]; };
   elasticIsing = derive2 { name="elasticIsing"; version="0.2"; sha256="1zjgvz7w5j06x2cd1fzjl85di95ah67m1lanw01kic2bvhfwfbn6"; depends=[cvTools glmnet magrittr qgraph reshape2]; };
   elasticnet = derive2 { name="elasticnet"; version="1.1"; sha256="1x8rwqb275lz86vi044m1fy8xanmvs7f7irr1vczps1w45nsmqr2"; depends=[lars]; };
-  elasticsearchr = derive2 { name="elasticsearchr"; version="0.2.1"; sha256="1x20w13hkpnf1kjvml99a9q1w162f6703ccqvcqy6z0vamcvylw8"; depends=[httr jsonlite]; };
+  elasticsearchr = derive2 { name="elasticsearchr"; version="0.2.2"; sha256="0jawypqlk8374izh3gq9k6fwc2gwn74xa9lbmx4ww3rq2xp90xw6"; depends=[httr jsonlite]; };
   elec = derive2 { name="elec"; version="0.1.2"; sha256="0f7ahrjb52w8a8l5v00xla6z9afpz2zrckl9v04xalp34snhdwan"; depends=[]; };
   elec_strat = derive2 { name="elec.strat"; version="0.1.1"; sha256="09196k5c3jsikh98d33bn70izwcbx0wb5ki9fv1ij0dw9mnv4c3p"; depends=[elec]; };
-  elect = derive2 { name="elect"; version="1.1"; sha256="1lr4c08r3pc3qy7g9csppfp0m79z9b0wvk6lf5dyp1yaf9k6phk0"; depends=[msm nnet]; };
+  elect = derive2 { name="elect"; version="1.1.1"; sha256="025h69qsify0v3bsr9082wjdkglmarkjaqqkwr8j826466617n1v"; depends=[msm nnet]; };
+  elections = derive2 { name="elections"; version="1.0"; sha256="0ig3pd1dw978g2sg4ynzd3p15nk6hx17pxvbxfi5rm131mjdmjdm"; depends=[]; };
   electionsBR = derive2 { name="electionsBR"; version="0.3.0"; sha256="18aq1yz2l2g4cjbmk18n5vl8x8lkp90xwm82l0bg1z1smyv3agan"; depends=[data_table dplyr haven magrittr]; };
   electoral = derive2 { name="electoral"; version="0.1.0"; sha256="0y4kkxm8vmj4gsan6qyhg28b0b6hgl4fghslk21d8w5w6syln4kh"; depends=[dplyr ineq tibble]; };
   elementR = derive2 { name="elementR"; version="1.3.5"; sha256="1b9f601r0gdcyclr23rf33skbbvh7lnr4nlmgcwxixkfsg8mabs9"; depends=[abind colourpicker devtools EnvStats gdata gnumeric lmtest outliers R6 reader readODS readxl shiny shinydashboard shinyjs stringr tcltk2 zoo]; };
@@ -5885,15 +6030,15 @@ in with self; {
   elo = derive2 { name="elo"; version="1.0.1"; sha256="0dhlac5l68a3jps2hx0bc7qjj8hsr1ha137hcwxnrfdwnki6chlp"; depends=[pROC Rcpp]; };
   elrm = derive2 { name="elrm"; version="1.2.2"; sha256="0wz0l703v0iyp7nswdmh65n0cy3a7rfvyxd795a6nzk3nich8bfg"; depends=[coda]; };
   emIRT = derive2 { name="emIRT"; version="0.0.8"; sha256="17igda5phgfapjzg7dkid5jj49gmwgpadjr27z7s21365i7md9mz"; depends=[pscl Rcpp RcppArmadillo]; };
-  embryogrowth = derive2 { name="embryogrowth"; version="7.1"; sha256="0gm5ww7vwc6kcv6lzrca4f9a6nkilb79d5b4kidfhwrcbfrkdb2k"; depends=[deSolve HelpersMG numDeriv optimx]; };
+  embryogrowth = derive2 { name="embryogrowth"; version="7.4"; sha256="10h80jy391bm1avmh347ly3a1vhlhbpfbhrf39xl7x4nwcckd6bp"; depends=[deSolve HelpersMG numDeriv optimx]; };
   emdbook = derive2 { name="emdbook"; version="1.3.9"; sha256="09xbdyw8a4pvrsg3ryr8drby0njy4avc5wsjj4ffibdaicpchy69"; depends=[bbmle coda lattice MASS plyr]; };
-  emdi = derive2 { name="emdi"; version="1.1.1"; sha256="1gbjx0pxfzkbp0csgq07iwqqww5lixpkvwn3k53na65gwx9afsq4"; depends=[boot FNN ggmap ggplot2 gridExtra HLMdiag maptools MASS moments MuMIn nlme openxlsx parallelMap reshape2 rgeos simFrame]; };
+  emdi = derive2 { name="emdi"; version="1.1.2"; sha256="135dnc7djxa7kyhaa0rd42m396ccic4mgd5pq4qj8zqgd2swj2aa"; depends=[boot ggplot2 gridExtra HLMdiag maptools MASS moments MuMIn nlme openxlsx parallelMap readODS reshape2 rgeos]; };
   emdist = derive2 { name="emdist"; version="0.3-1"; sha256="1z14pb9z9nkd0f2c8pln4hzkfqa9dk9n3vg8czc8jiv0ndnqi7rq"; depends=[]; };
   emg = derive2 { name="emg"; version="1.0.6"; sha256="1kzmxs224m6scmk8gg5ckx5c7is99hwgwv28yl26hnrbkm59skyh"; depends=[]; };
   emil = derive2 { name="emil"; version="2.2.8"; sha256="02xjf8ipqr136y3pa375lwpg6h63yvbphhghs9jjxfl2r4fdkvcn"; depends=[data_table dplyr ggplot2 lazyeval magrittr Rcpp tidyr]; };
   emma = derive2 { name="emma"; version="0.1-0"; sha256="0psd8lrbcqla8mkhp0wlassaaimgwlmqy5yv2wwcq59mc5k1v27f"; depends=[clusterSim earth]; };
   emme2 = derive2 { name="emme2"; version="0.9"; sha256="035s4h95ychqb14wib0dqbg4sjy9q01fsryr0ri25g1hsi5f8lpm"; depends=[reshape]; };
-  emmeans = derive2 { name="emmeans"; version="1.1"; sha256="191kxk3va7xaxf4gad3ndxck449nci45n3jxfbw68m0kwk0h97qi"; depends=[coda estimability ggplot2 multcomp mvtnorm nlme plyr xtable]; };
+  emmeans = derive2 { name="emmeans"; version="1.1.3"; sha256="150kgc5ymssmcf240js4jrbhm32xn4bayrzbxry12mh1lcr9kvf2"; depends=[coda estimability ggplot2 multcomp mvtnorm nlme plyr xtable]; };
   emoa = derive2 { name="emoa"; version="0.5-0"; sha256="1wcnsnkdmpcn21dyql5dmj728n794bmfr6g9hgh9apzbhn4cri8p"; depends=[]; };
   emojifont = derive2 { name="emojifont"; version="0.5.1"; sha256="0i4id9631ah5vzkzh6zfxgk55b2ppnbgabp1w2ivy29i0nji9wk4"; depends=[ggplot2 proto showtext sysfonts]; };
   emon = derive2 { name="emon"; version="1.3.2"; sha256="19khjjpyxvzhzihqq15w02l5v5ryyvxlklz1ch2gkmqcpnvyga32"; depends=[MASS mgcv]; };
@@ -5902,11 +6047,11 @@ in with self; {
   emplik = derive2 { name="emplik"; version="1.0-3"; sha256="0b52383m2djdcg9b1a7r10k5pkzljz6dalvbg2gg962ckvpndb11"; depends=[quantreg]; };
   emplik2 = derive2 { name="emplik2"; version="1.20"; sha256="0qdsfmnvds01qa4f112knv905k0fzccrqj9fwaqrqcy48cigm8pd"; depends=[]; };
   ems = derive2 { name="ems"; version="1.0.0"; sha256="1x6zsrf15xn865v8awbnq1cpaqp5j2k1pmis5a8mjnw568xi0hhw"; depends=[]; };
-  emuR = derive2 { name="emuR"; version="0.2.3"; sha256="04nxrg95qgwc5ss139bgjcsxkarwzkxy132dz0vk3sq7sddnagws"; depends=[base64enc data_table DBI dplyr httpuv jsonlite MASS RCurl RSQLite stringr uuid wrassp]; };
+  emuR = derive2 { name="emuR"; version="1.0.0"; sha256="19740da4m22v9ys1z8q80khf71fjbaisn1f6whgal7p3cinvkcr3"; depends=[base64enc compare DBI dplyr httpuv jsonlite MASS purrr RCurl readr RSQLite shiny stringr tibble uuid wrassp]; };
   emulator = derive2 { name="emulator"; version="1.2-15"; sha256="1rp7q7zs8b49jzdkbzm4s1g8554h41hcabf4d78k9jhhys2z28g2"; depends=[mvtnorm]; };
   enaR = derive2 { name="enaR"; version="3.0.0"; sha256="0sy7k8l6b8p34bcf9bpjr1y6qkjkvn77y2w2ws7ivcr1fynrhm5p"; depends=[gdata limSolve MASS network sna stringr]; };
-  enc = derive2 { name="enc"; version="0.1"; sha256="03l8zhamq243h9ghl6nwvvxigzbz4xzkbd5sqafx1rlg69ds67f0"; depends=[]; };
-  encode = derive2 { name="encode"; version="0.3.3"; sha256="01jippva8gfbg3bq6g1sz8mpmglywg4mkb4k44bfspiv60bmv98f"; depends=[]; };
+  enc = derive2 { name="enc"; version="0.2.0"; sha256="0n4s3abxmpndppm18dcibap2n22xpjzafn5xjskfdfrz3wjfy1kb"; depends=[]; };
+  encode = derive2 { name="encode"; version="0.3.4"; sha256="1ibrxa0lzni8c1nm3x061vj55faz8fvfgbl7c7b2wfanh5qnny9j"; depends=[]; };
   endogMNP = derive2 { name="endogMNP"; version="0.2-1"; sha256="0maxcp321ngbxrg0i23nlwhj849v771xahh53367x928ss4f8v7i"; depends=[]; };
   endogenous = derive2 { name="endogenous"; version="1.0"; sha256="079fmfxl9gf080zq5m1ixmgry9dawg2y6ixbfyc5da5jxf3zk9h8"; depends=[mvtnorm]; };
   endorse = derive2 { name="endorse"; version="1.6.0"; sha256="1j75sb2di2c092dilbjj5qsvb52h3zmm7wxflf9kg7xw227wq3zw"; depends=[coda]; };
@@ -5922,18 +6067,18 @@ in with self; {
   enrichwith = derive2 { name="enrichwith"; version="0.1"; sha256="10x7p0s96hkalnnnwx2gczywblqxig9p4pllzk1ciyjjfidsc9va"; depends=[]; };
   ensembleBMA = derive2 { name="ensembleBMA"; version="5.1.5"; sha256="0p744151pbj278lyc8d8p7rc20n70abpfgxz6jr10jarmq3r6x7l"; depends=[chron]; };
   ensembleEN = derive2 { name="ensembleEN"; version="1.1.2"; sha256="033i4bcnr62kmrp1fafdw6vx8ir38kqchgxp4fidg3i750nkjnda"; depends=[Rcpp RcppArmadillo]; };
-  ensembleMOS = derive2 { name="ensembleMOS"; version="0.8.1"; sha256="1xbk3m4b619wni64i7wrccgp7gwaql2g6lg42lqwbsscdr3j0cls"; depends=[chron ensembleBMA evd]; };
+  ensembleMOS = derive2 { name="ensembleMOS"; version="0.8.2"; sha256="16d8030zfdwifqrh45vz3gf5n0bix0mhsmsnydgjq1fghdklcmyx"; depends=[chron ensembleBMA evd]; };
   ensembleR = derive2 { name="ensembleR"; version="0.1.0"; sha256="0xvq1jlsp7gsk46i847nfvadxwlh09gi2rgwss2wf2xmh1855ray"; depends=[caret]; };
   ensemblepp = derive2 { name="ensemblepp"; version="0.1-0"; sha256="1b3rhg8mv1x3caz3xg84cwx8m88055n6yl36d9i4ws6vbj8vx68f"; depends=[]; };
   ensurer = derive2 { name="ensurer"; version="1.1"; sha256="1gbbni73ayzcmzhxb88pz6xx418lqjbp37sdkggbrxcyhsxpdkid"; depends=[]; };
   entropart = derive2 { name="entropart"; version="1.5-3"; sha256="02jzcqb7sqg9fcf2vi4myki9mgdsx0jwyf535zzh124h1bwz3f3y"; depends=[ade4 ape EntropyEstimation geiger vegan]; };
   entropy = derive2 { name="entropy"; version="1.2.1"; sha256="10vg4818q5g54pv2nn9x5i7pvky5nsv96syy47pz2mgqp1273cpd"; depends=[]; };
   envDocument = derive2 { name="envDocument"; version="2.4.0"; sha256="0r7h9p0b0gr2l18mv1ydlamsc0iq474dfhp450mdfnw2q289mhrn"; depends=[]; };
-  enveomics_R = derive2 { name="enveomics.R"; version="1.1.7"; sha256="1mcq37i8k4s15909dln8hvc4wkjwbbjx1054grm8174vl4mhpqvq"; depends=[fitdistrplus investr modeest sn]; };
+  enveomics_R = derive2 { name="enveomics.R"; version="1.3"; sha256="1m97lmgf42ifzafz91g69nnf4q918464xir9cqjjn6ch5i7lvi65"; depends=[fitdistrplus investr modeest sn]; };
   enviGCMS = derive2 { name="enviGCMS"; version="0.3.4"; sha256="1wjf1rxwzd590qsyljw1pd59kppx91m32p6nkdy4yvbnv39rk8dq"; depends=[BiocParallel genefilter limma mixtools qvalue rcdk RColorBrewer sva xcms]; };
   enviPat = derive2 { name="enviPat"; version="2.2"; sha256="1cf1h4v05riivjwil4167sncdxzgxf3r4snx1imjb6s4msx67ibi"; depends=[]; };
   enviPick = derive2 { name="enviPick"; version="1.5"; sha256="04q6zwqq2ip8b8h2n1jpgx1bzcvi7lazljs0806wiakbc79x232p"; depends=[readMzXmlData shiny]; };
-  envirem = derive2 { name="envirem"; version="1.1"; sha256="07mlyaqjwwrh9dbc78ik61wrrpg344fg3rb12l6v6hzn04yp26pz"; depends=[raster RSAGA]; };
+  envirem = derive2 { name="envirem"; version="1.3"; sha256="1axgbjl4wh44vd5r9n9rbxxsi35k806r1kdvrcmmpkzwam6zd2lp"; depends=[raster RSAGA]; };
   envlpaster = derive2 { name="envlpaster"; version="0.1-2"; sha256="11a5n40k1ln5gxxvwq1vh4dhmhifhlm89hkhf36qnhj4bjh3v3y0"; depends=[aster aster2 caTools MASS]; };
   epade = derive2 { name="epade"; version="0.3.8"; sha256="1alvsifc6i71ilm1xxs1d7sqlapb48bqd6z2n4wi6pqcjvwp7bif"; depends=[plotrix]; };
   epandist = derive2 { name="epandist"; version="1.1.1"; sha256="0hxgbjns5bk82rgcmykxifnnxcnqdzmkimkkmpdif64zr5g3gjdg"; depends=[]; };
@@ -5943,7 +6088,7 @@ in with self; {
   epiR = derive2 { name="epiR"; version="0.9-93"; sha256="1i0vi1dx5pjq4rcw8r9g7qkhrn4ra8lffrspzkrrjj12y97izmrg"; depends=[BiasedUrn survival]; };
   epibasix = derive2 { name="epibasix"; version="1.3"; sha256="0d0087sa8lqw35pn7gdg2qqzw3dvz57sgavymwl1ybcj5d4lsbyk"; depends=[]; };
   epicontacts = derive2 { name="epicontacts"; version="1.1.0"; sha256="0f4a1y311z3fxw7ygj6fgsq6d2qn0ivxsjlh742pkmg3jb63s0f3"; depends=[colorspace dplyr igraph magrittr threejs visNetwork]; };
-  epidata = derive2 { name="epidata"; version="0.1.0"; sha256="1lp6hnjzga787abq94k8v48wlikpp5hj1xwmxc8nj1imyr4r8a4h"; depends=[dplyr httr jsonlite purrr readr rvest stringi tidyr xml2]; };
+  epidata = derive2 { name="epidata"; version="0.2.0"; sha256="0n0100fy65kgw3c7gdmb5z5hmla5ch51b7872snf525a2r581i28"; depends=[dplyr httr jsonlite purrr readr rvest stringi tidyr xml2]; };
   epifit = derive2 { name="epifit"; version="0.1.2"; sha256="1i1ngb5kh03gyx1702fwav3dc3mqry1wjzc7ry36hdw0ngawid34"; depends=[MASS]; };
   epinet = derive2 { name="epinet"; version="2.1.8"; sha256="10bgq66n99kkz0nhmsz508aypxk57zk19p5l3xrb28n72k4rfgrf"; depends=[network]; };
   episensr = derive2 { name="episensr"; version="0.9.2"; sha256="1w1228q8q2ysi3xi3m8a9z0c7japj97dssjkzpjcrng094cy82is"; depends=[actuar boot ggplot2 gridExtra llogistic logitnorm plyr reshape trapezoid triangle]; };
@@ -5952,10 +6097,9 @@ in with self; {
   episplineDensity = derive2 { name="episplineDensity"; version="0.0-1"; sha256="0nmh97xajnnh54i04yq8fdici4n5xvcbpdbjdbz79483gnils4vn"; depends=[nloptr pracma]; };
   epistasis = derive2 { name="epistasis"; version="0.0.1-1"; sha256="0dfh26bs72i01hpxpgpgyiwpmg9mjpib8zynhc5ssxa0skm518wz"; depends=[glasso igraph Matrix tmvtnorm]; };
   epitab = derive2 { name="epitab"; version="0.2.1"; sha256="0q8fxxx7ddzaj8dxxlsh1a2gxf6byw5041mr7abac9yjjga2kz97"; depends=[kableExtra knitr MASS survival xml2]; };
-  epitable = derive2 { name="epitable"; version="0.1.2"; sha256="1g0ab5bah7v52mzsyfxdv8azmpz66pipbc15q3vpvvhl3gjhsaik"; depends=[broom dplyr htmlTable magrittr purrr readr rlang stringr survival tidyr tidyverse]; };
   epitools = derive2 { name="epitools"; version="0.5-10"; sha256="1qqa2kam3j3mkbgk62g6lwygk2fkdlrpbi27wl37j4dkdkvx013m"; depends=[]; };
-  epitrix = derive2 { name="epitrix"; version="0.1.1"; sha256="1qskgwfh5l3v5pysbs1na0ahfc3qklls8fg9fp0yc0rizym6avhr"; depends=[digest distcrete stringi]; };
-  eply = derive2 { name="eply"; version="0.1.0"; sha256="18q40n06gbqg5cs0jknlxk5x0pwcbjnfb27ysmbf76s826qdc8gh"; depends=[magrittr]; };
+  epitrix = derive2 { name="epitrix"; version="0.1.2"; sha256="1fnmcpjbbk645s7q2jcccjv0q20z8hlzr8sl0jh6d00jrgk8qif4"; depends=[digest distcrete stringi]; };
+  eply = derive2 { name="eply"; version="0.1.2"; sha256="0al44pvqf6ls3dh129vlv3g56hk1nbql09rj0qsb04d9kaz9anrp"; depends=[magrittr]; };
   epoc = derive2 { name="epoc"; version="0.2.5-1"; sha256="1r19cvcqf39yf09n3znbdy3dsr7z96yx6zib6031mqqdsxaav5qd"; depends=[elasticnet graph irr lassoshooting Matrix Rgraphviz survival]; };
   epr = derive2 { name="epr"; version="3.0"; sha256="0czfz6qkcpa2qqs3pqii27hgpdvdzfrvxl0ip67v58hamq7kvjfv"; depends=[car lme4]; };
   epxToR = derive2 { name="epxToR"; version="0.3-0"; sha256="0ckz7cvqsdilfkqap88brh4av9zv1fl3ijs4h4vlwwn7qvdcnhay"; depends=[httr XML]; };
@@ -5963,7 +6107,7 @@ in with self; {
   eqtl = derive2 { name="eqtl"; version="1.1-7"; sha256="0xfr8344irhzyxs9flnqn4avk3iv1scqhzac5c2ppmzqhb398azr"; depends=[qtl]; };
   equSA = derive2 { name="equSA"; version="1.1.5"; sha256="0sknx2p820i26m1d0ypz4ay5rm4j9i97nvcd3wxawqk72ypvbvw1"; depends=[huge igraph mvtnorm speedglm XMRF ZIM]; };
   equaltestMI = derive2 { name="equaltestMI"; version="0.1.0"; sha256="1zqhgx1x6lqjwqisl3ydb6yqp3jn6x7dgnc57r93v73sjx2j5aiz"; depends=[lavaan]; };
-  equate = derive2 { name="equate"; version="2.0.6"; sha256="0fkgz4747wf2n1sfkskpbp20zdmxvykqhncr7a8wl5lp314r48x3"; depends=[]; };
+  equate = derive2 { name="equate"; version="2.0.7"; sha256="07cji0z139fk70d4wvrpk5m34fq1pfnqrsw336lgnp5a7zp3jz7n"; depends=[]; };
   equateIRT = derive2 { name="equateIRT"; version="2.0-4"; sha256="0j5dpgp4r5qisgw65yk7x9nwq7wxfppp0n0qqg734gqwjyfyp68b"; depends=[mirt statmod]; };
   equateMultiple = derive2 { name="equateMultiple"; version="0.0.0"; sha256="0q29bv8bb0c3sprhnkbbpn31phw37dwgk23v5ny4abzvlcgwncdb"; depends=[equateIRT numDeriv Rcpp RcppArmadillo statmod]; };
   equivalence = derive2 { name="equivalence"; version="0.7.2"; sha256="170l5gnk0dkjkfsx7qyrw56ircwsjzz9cvhakgyrqh7bj5734i79"; depends=[boot lattice PairedData]; };
@@ -5983,24 +6127,26 @@ in with self; {
   errint = derive2 { name="errint"; version="1.0"; sha256="1ya7fsvwhmgxw87r32m4345n8pw2pbpv026xvml03s1kiam8qwbw"; depends=[rootSolve VGAM]; };
   errorist = derive2 { name="errorist"; version="0.0.1"; sha256="1569yvncc9rdzchs7cvx44dhy8xf10g2hwkiy3kp68h47qghxlbd"; depends=[searcher]; };
   errorizer = derive2 { name="errorizer"; version="0.2.1"; sha256="10p7ydm81x2gls0wn692llgj2rxhg4s96rv7gvihmgi5dflraypq"; depends=[]; };
-  errorlocate = derive2 { name="errorlocate"; version="0.1.2"; sha256="1qlwdvy7i62hpnfrryzmqwmygxa8mjc7q92g6k5n9r2r179q7h09"; depends=[lpSolveAPI validate]; };
-  errors = derive2 { name="errors"; version="0.2.0"; sha256="0l7yxshfc2ig7354r3vk35fsx2vyj09w7abwxakic93grvr09a71"; depends=[]; };
+  errorlocate = derive2 { name="errorlocate"; version="0.1.3"; sha256="0hfm0nad1bfh7a37zpn4aljrf69yc6dddz9iq46c1mzyrw116a9f"; depends=[lpSolveAPI validate]; };
+  errors = derive2 { name="errors"; version="0.2.1"; sha256="1hf7nqyhyv0n4qn5bzs1gb59fbn6vsiji0va8hpzzw3af0h3dqzy"; depends=[]; };
   esaBcv = derive2 { name="esaBcv"; version="1.2.1"; sha256="0hgjcdbiy1a71vsb2vcyp0xmhy6wi4nlh1sqsfb2vxckc95i9i21"; depends=[corpcor svd]; };
   esaddle = derive2 { name="esaddle"; version="0.0.3"; sha256="04imppwls6a485kdfwykk4s0pyxas3i92ccghi780ys29y0nggmy"; depends=[doParallel mvnfast plyr Rcpp RcppArmadillo]; };
+  esaps = derive2 { name="esaps"; version="0.1.0"; sha256="1rchs4i7n221gyhj9kbka4zmi2lf72q3ak2pdxkr7w6pcx6803yz"; depends=[plyr readODS readxl]; };
   esc = derive2 { name="esc"; version="0.4.0"; sha256="07mgf1kdz6gjkmbsis24gjsppclaxlf7b03jpvasm1k4snfvgb5h"; depends=[dplyr purrr readr sjmisc tibble]; };
   eshrink = derive2 { name="eshrink"; version="0.1.0"; sha256="0s1jl652za7qwv70kmc1h3vbwlijl49527pwpm0z347lz2jdcigj"; depends=[glmnet MASS]; };
   esmisc = derive2 { name="esmisc"; version="0.0.3"; sha256="1d6xrdxwn85c8s60s7vzaymh7wa9f7fzd79hq5spzd12fr3zisvj"; depends=[ggplot2 raster readr]; };
-  esmprep = derive2 { name="esmprep"; version="0.1.3"; sha256="0s5ij63v3v9hx1xnl8ygbnxbgik65yd8xn3irpbvc41mp9spgcdz"; depends=[lubridate]; };
+  esmprep = derive2 { name="esmprep"; version="0.1.4"; sha256="1d1rr11fldxsamn19za03sdyvvybkh3bm5zvlrlkz022jj7pgxlr"; depends=[lubridate]; };
   esreg = derive2 { name="esreg"; version="0.3.1"; sha256="19ikfy0g8yd224ah4gyq2k29lz3gagc6vrcv53awvdadqw0cpz8l"; depends=[quantreg Rcpp RcppArmadillo]; };
-  ess = derive2 { name="ess"; version="0.0.1"; sha256="1696rps3abznfb1bvyp1pymw0p48f13lw9wfqdiy049wh4kqm96l"; depends=[haven httr stringr XML xml2]; };
-  essHist = derive2 { name="essHist"; version="1.0.1"; sha256="0xnf5cxc7x3chs508am9qhnavz89fim10ffkn8mp1b29jdw88aax"; depends=[Rcpp]; };
+  ess = derive2 { name="ess"; version="0.1.1"; sha256="1i94sfg8r9mnzcmyddq3zb56gwkgqdclyx90a5plpyy5insk13d7"; depends=[haven httr rvest stringr tibble xml2]; };
+  essHist = derive2 { name="essHist"; version="1.1.1"; sha256="06wmvwjgbb1bfsjn4bv3p2m0i5nc6shn2p62kjp3iv6z42f5wndc"; depends=[Rcpp]; };
+  essurvey = derive2 { name="essurvey"; version="1.0.0"; sha256="0wgwqm59wam5sjzn3cjh3fzbq14bfa02gjsszwg2hid1q976clqk"; depends=[haven httr rvest stringr tibble xml2]; };
   estatapi = derive2 { name="estatapi"; version="0.3.0"; sha256="0gjc5x1b2l5qnwdg77nzy6d7bf9q93ll39sfy89izqm8wsydwwkp"; depends=[dplyr httr purrr readr]; };
   estimability = derive2 { name="estimability"; version="1.3"; sha256="0cifdaa71spkcxl4db4z884jrya865sg3dhcv4isd8fnzg2pjcd3"; depends=[]; };
-  estimatr = derive2 { name="estimatr"; version="0.4.0"; sha256="19k8b4rglz4b7r12x8da6wzrkd0j40dp1zxzdwj6pfw3fhpacl2i"; depends=[Rcpp RcppEigen]; };
+  estimatr = derive2 { name="estimatr"; version="0.6.0"; sha256="0763wq8y166zwdxf2wqxvbqwps9di7i7877pffs478qr4rx24z5g"; depends=[Formula Rcpp RcppEigen rlang]; };
   estout = derive2 { name="estout"; version="1.2"; sha256="0whrwlh4kzyip45s4zifj64mgsbnrllpvphs6i5csb7hi3mdb3i5"; depends=[]; };
   estprod = derive2 { name="estprod"; version="0.0.1"; sha256="0nd2iz1gqinvppyxgxsdh9m26v46h2ra3cc4nqz6dqnqkslzrl4k"; depends=[boot Formula lazyeval minpack_lm]; };
   estudy2 = derive2 { name="estudy2"; version="0.8.4"; sha256="190wxdy1qsf8fgpbp2cr0blwa97vgmdw83pmfk9i44zkpm4nrij1"; depends=[matrixStats Rcpp tseries zoo]; };
-  esvis = derive2 { name="esvis"; version="0.1.0"; sha256="19avayz2igw8sjc2743a9c3ikyrf18d42czadd98gdn8ny53vr6b"; depends=[sfsmisc]; };
+  esvis = derive2 { name="esvis"; version="0.2.0"; sha256="0l4c87l9n94q14hwky7d7i4h9c5zh8r04zlcz9w4mx7ixfd34zir"; depends=[sfsmisc]; };
   etable = derive2 { name="etable"; version="1.2.0"; sha256="17xahaf2fz1qgqjaw8qbnss95il6g47m3w00yqc5nkvv37gs0q7c"; depends=[Hmisc xtable]; };
   etasFLP = derive2 { name="etasFLP"; version="1.4.0"; sha256="04d526yajakzivlcsz8631p0j482cbbgfpdmzkc9zr1m4495xxif"; depends=[fields mapdata maps rgl]; };
   ether = derive2 { name="ether"; version="0.1.4"; sha256="1q6qxda5iw8zj7gy9h35apij5mbndd969ddip7zn5d720131kqra"; depends=[dplyr httr jsonlite Rmpfr]; };
@@ -6016,19 +6162,20 @@ in with self; {
   eurostat = derive2 { name="eurostat"; version="3.1.5"; sha256="128rlkkxdpl95wjxnrw8yzxpc6sml0vaghnaz0ra90ak1s43ndda"; depends=[classInt httr jsonlite RColorBrewer readr sp stringi stringr tibble tidyr]; };
   eva = derive2 { name="eva"; version="0.2.4"; sha256="03jsiz6bkavwxpgllxaw8czahmm2rh5h8hhk5j7i9clcjx244vvj"; depends=[EnvStats Matrix]; };
   evaluate = derive2 { name="evaluate"; version="0.10.1"; sha256="070vvmnbdlp7sz2zhza7fhd2a6mlwiln8fn4hyzhsiizbn4n79y9"; depends=[stringr]; };
-  evaluator = derive2 { name="evaluator"; version="0.1.1"; sha256="19ria8y1bc8cvn1sb28p5zbkgs73m20i4c9v26byhd0rn9gjpm2f"; depends=[dplyr extrafont ggplot2 mc2d purrr purrrlyr readr readxl scales stringi tibble tidyr viridis]; };
+  evaluator = derive2 { name="evaluator"; version="0.2.3"; sha256="1qlrrd68j622i2n0wazz3m44sc2l7hsg7fd1mc204c7pmfb6a3pl"; depends=[dplyr extrafont ggplot2 mc2d purrr readr readxl rlang scales stringi tibble tidyr viridis]; };
   evclass = derive2 { name="evclass"; version="1.1.1"; sha256="00lbhcgswpv0amz0mb93kx9p91sf0d7zvxfw9i8x1zpmpfd6nhcj"; depends=[FNN]; };
   evclust = derive2 { name="evclust"; version="1.0.3"; sha256="0cd0a8w0ixd9ilcqlxiaql4l2r49qrqnllb9qpg3xgnlxka3yb5m"; depends=[FNN limSolve Matrix R_utils]; };
   evd = derive2 { name="evd"; version="2.3-2"; sha256="0n81plbw2p83c10y6a6hvqkxcbfqjdc41p02zyklbcafga1m4gdy"; depends=[]; };
   evdbayes = derive2 { name="evdbayes"; version="1.1-1"; sha256="0lfjfkvswnw3mqcjsamxnl8hpvz08rba05xcg0r47h5vkgpw5lgd"; depends=[]; };
   event = derive2 { name="event"; version="1.1.0"; sha256="1nq34bz9dsixidym3n255vmap3gjx9nfk8pc5s7w026faf96dr2v"; depends=[rmutil]; };
   eventInterval = derive2 { name="eventInterval"; version="1.3"; sha256="0nybzy2mpmazcvz06mkv7l9741mjm3i2q2sindq0777vb2k4504v"; depends=[MASS]; };
-  eventdataR = derive2 { name="eventdataR"; version="0.1.2"; sha256="0f0w5cir3hc01ag9l69y27cfp6bgh1ikk4n99z7pb16373ficjjw"; depends=[]; };
+  eventdataR = derive2 { name="eventdataR"; version="0.2.0"; sha256="11apbbj68x1kxpwvihf4ng7wxy54jl1aw7r9hyq6gn7h8sk6lpjn"; depends=[]; };
   events = derive2 { name="events"; version="0.5"; sha256="1zka4ygymifs8snd7cabl11b5lg3f8g8370dkm9ybl40bn8vvqq2"; depends=[]; };
   eventstudies = derive2 { name="eventstudies"; version="1.2"; sha256="0z449j7yrd6j6hhacz6f048ibilib6m97684cz2wc4pqq2wlj8hg"; depends=[boot sandwich testthat xts zoo]; };
+  evidence = derive2 { name="evidence"; version="0.8.9"; sha256="173fjmpizjmrp0qh08k2qllvjm4l53ykblfri984x9kh68aqfvnz"; depends=[LaplacesDemon lattice LearnBayes loo rstan rstanarm]; };
   evidenceFactors = derive2 { name="evidenceFactors"; version="1.00"; sha256="12wndimbygn7h57f3q0xmxmvqrcdj98f0a58m22z2l0vmym53rhb"; depends=[sensitivitymv]; };
-  evir = derive2 { name="evir"; version="1.7-3"; sha256="1kn139vvzdrx5r9jayjb4b0803b0bbppxk68z00gdb50mxgvi593"; depends=[]; };
-  evmix = derive2 { name="evmix"; version="2.9"; sha256="1w1mm858515hnjpq2yjj0x05skyprhnvbpyif4mdcm24blyb81di"; depends=[gsl MASS SparseM]; };
+  evir = derive2 { name="evir"; version="1.7-4"; sha256="1h7a7z7v5k33y5hsdfczsri3vpbwspfgazhv4saknv2h11rgfpki"; depends=[]; };
+  evmix = derive2 { name="evmix"; version="2.10"; sha256="0q2jcd4r9ndl8c8w4g75cv5g9f58ix6ndwa99lgslw2j0ckh0z97"; depends=[gsl MASS SparseM]; };
   evobiR = derive2 { name="evobiR"; version="1.1"; sha256="0502xj1gv2g943vfqyllz4sr5z4mixf5vqlqi2v96mymnv9iwsr8"; depends=[ape geiger phytools seqinr shiny]; };
   evolqg = derive2 { name="evolqg"; version="0.2-5"; sha256="11n0gxkxhg1d2ziwbipqvyccgnsrzm3mk4xy2d7nxn662q1yl2ah"; depends=[ape coda expm ggplot2 igraph Matrix matrixcalc MCMCpack mvtnorm plyr Rcpp RcppArmadillo reshape2 vegan]; };
   evolvability = derive2 { name="evolvability"; version="1.1.0"; sha256="0lbyidb86yzvcfw86jfwnzbpijn64jr8fasycqq4h3r9c0x2by3j"; depends=[coda]; };
@@ -6037,7 +6184,7 @@ in with self; {
   evtree = derive2 { name="evtree"; version="1.0-6"; sha256="0nvk78haghvp6vw6936di0bd5gfv603nxzgw3i647i68291wav0f"; depends=[partykit]; };
   ewoc = derive2 { name="ewoc"; version="0.2.0"; sha256="0kanx14fhcbqz6gpyj7628vgy9fwz3ji5mkd4107b8pgpz2hkg00"; depends=[coda doParallel foreach Formula ggplot2 rjags]; };
   exCon = derive2 { name="exCon"; version="0.2.5"; sha256="0gqnv01dw4ncf3x3p74pc6f14a1ixq7icl2p18hsmvxdqqg7kgy7"; depends=[jsonlite]; };
-  exact2x2 = derive2 { name="exact2x2"; version="1.5.2"; sha256="12m3kaxdrf4bsw7lrylk15nimhy4sgmjbnlqm684y2kyvii9yrg0"; depends=[exactci ssanv]; };
+  exact2x2 = derive2 { name="exact2x2"; version="1.6.2"; sha256="172g6ahgd7j42bjidp6svjl70ws3bz58vb8vxgnalii6awcizkcm"; depends=[exactci ssanv]; };
   exactLoglinTest = derive2 { name="exactLoglinTest"; version="1.4.2"; sha256="0j146ih9szzks9r45vq1jf47hrwjq081q1nsja5h1gpllks8217h"; depends=[]; };
   exactRankTests = derive2 { name="exactRankTests"; version="0.8-29"; sha256="0sj4bf0sab2rsgh967i5jl7ml2l1niydqmyn7c6ybai1gavsdpi1"; depends=[]; };
   exactci = derive2 { name="exactci"; version="1.3-3"; sha256="03r35f6dyrck5pf43ypb1sjwfnvkhjkm1mbms3wh67ayfs2ypn0s"; depends=[ssanv]; };
@@ -6045,13 +6192,13 @@ in with self; {
   exampletestr = derive2 { name="exampletestr"; version="1.2.0"; sha256="05p819a6s6anxjqvs10df9kcfdg7lkg1205iw635db9g6biplrb7"; depends=[checkmate devtools filesstrings magrittr purrr readr roxygen2 stringr styler]; };
   exams = derive2 { name="exams"; version="2.3-0"; sha256="0y21cx6knx253gka1bib8z0jmyndl4k7c2d8hfh3rwn5bdqyqj53"; depends=[]; };
   excerptr = derive2 { name="excerptr"; version="1.4.0"; sha256="0z69lqfdm2dh9z6rqhfnj6f4b2p6sgmlvcxasg49wd0qasx86ph6"; depends=[git2r rprojroot rPython]; };
-  excursions = derive2 { name="excursions"; version="2.3.2"; sha256="1fh04kkv9nj7wxrklpapsfh0xi8k5hfaa1f4dvnz2wxvzz3iz5nb"; depends=[Matrix sp]; };
+  excursions = derive2 { name="excursions"; version="2.3.3"; sha256="16clwp76hq1q3m7ixjq1rv83vagxyj2fcs4jdsgvl9pzh5syzd3x"; depends=[Matrix sp]; };
   exif = derive2 { name="exif"; version="0.1.0"; sha256="12phqn5x1x0xs2xczl3064q983dalm261vqpyafhdcndm1y3gwbc"; depends=[Rcpp]; };
   exifr = derive2 { name="exifr"; version="0.2.1"; sha256="0969ip7vwhs3r9zwy5l1gqg886yl4gfw8ss2frnq9nmqpn1ib1v2"; depends=[curl dplyr jsonlite purrr tibble]; };
   exp2flux = derive2 { name="exp2flux"; version="0.1"; sha256="1b3ychb4wcf6dbccx2ddms5xygdgc296cnw4474fm81yrfjznplv"; depends=[gage igraph sybil]; };
   expandFunctions = derive2 { name="expandFunctions"; version="0.1.0"; sha256="0661l4ab0xhjidmh8ycvymhp3wgxafm7nd1c59bfpxhyhz76n1p4"; depends=[glmnet orthopolynom plyr polynom]; };
-  expands = derive2 { name="expands"; version="2.0.0"; sha256="1ai269sic10hzw70whwv477yfgx5nhz4m06dfg373jp6i7vi5p9x"; depends=[ape flexmix matlab moments rJava]; };
-  experiment = derive2 { name="experiment"; version="1.1-2"; sha256="1wswfxfk3b5gvdxb6i3mzx66i1qszvb9alfwhv95y0dr5q6vss1w"; depends=[boot MASS]; };
+  expands = derive2 { name="expands"; version="2.1.1"; sha256="1ajfj5vsqal642avshjfmv0f5vi0ca3whhw5cxmpm013yckb3b3r"; depends=[ape commonsMath flexclust flexmix gplots matlab moments NbClust plyr RColorBrewer rJava]; };
+  experiment = derive2 { name="experiment"; version="1.1-3"; sha256="0gxf6bbx06ynz96mwcb9wdb8pb0njvjnpigjc1vq5ammc3l6dkxz"; depends=[boot MASS]; };
   expert = derive2 { name="expert"; version="1.0-0"; sha256="0y9vcigvzhymalpv31b9nvmr86z1dz7x29yj838vks0dsv23rgrf"; depends=[]; };
   expint = derive2 { name="expint"; version="0.1-4"; sha256="17vp7znbxlf5zb944snmnml2w42avj9k70fisb8az047i3kdbvfh"; depends=[]; };
   explor = derive2 { name="explor"; version="0.3.3"; sha256="1b3swb7ikp2ik3300ljg2rll5gka4l4lfg95bqbgap3ph4dclv7y"; depends=[dplyr DT ggplot2 highr scatterD3 shiny tidyr]; };
@@ -6116,13 +6263,13 @@ in with self; {
   fTrading = derive2 { name="fTrading"; version="3042.79"; sha256="0xnfg4npfdrvmp1n6vbsm7if16n5j83b7y1i2m5b34cqnlz9d69y"; depends=[fBasics timeDate timeSeries]; };
   fUnitRoots = derive2 { name="fUnitRoots"; version="3042.79"; sha256="1hsv47dm0hx3s04g9h0bjdgi79zbfihnfxxdc2jskqp94yl7azsy"; depends=[fBasics timeDate timeSeries urca]; };
   fabCI = derive2 { name="fabCI"; version="0.1"; sha256="123bc56nnx6hcj257imsd8sc6d0pggw08lf4m0lr90631gcm1mkn"; depends=[]; };
-  fabricatr = derive2 { name="fabricatr"; version="0.2.0"; sha256="1jgfxifp7v80bddcs5zi5zidzhnzmsbvfa7qznaxyp3qknax2k67"; depends=[rlang]; };
+  fabricatr = derive2 { name="fabricatr"; version="0.4.0"; sha256="0z04n2n44anpci8m4m5hs83nwhiczil7lkg8glcgngrdh994k8hc"; depends=[rlang]; };
   face = derive2 { name="face"; version="0.1-4"; sha256="0kkgblxzhjzifxnym6g5psiwvfgydk1scqbxraldklm8c4a12zc3"; depends=[Matrix matrixcalc mgcv refund]; };
   facebook_S4 = derive2 { name="facebook.S4"; version="1.1.0"; sha256="1if3fgyvj6pbf48yjwa5fkn3s4rl6kj9s1nk6dwphykhx72ghzrj"; depends=[httr magrittr plyr rjson]; };
   facilitation = derive2 { name="facilitation"; version="0.5.2"; sha256="0gyqa3njyynvdhfziq33xqc7cjhszii67mk8809ncvh6abkdx1hw"; depends=[animation Matrix Rcpp]; };
   factoextra = derive2 { name="factoextra"; version="1.0.5"; sha256="1l6m8k7qhdw8ndar8nhmym0lfyd1i2iszl1cicjax0vq23ss6xw1"; depends=[abind cluster dendextend FactoMineR ggplot2 ggpubr ggrepel reshape2 tidyr]; };
   factoptd = derive2 { name="factoptd"; version="1.0.3"; sha256="1ir50im3kr1xhqk4qwrm2h5fq9gqgrwshbamvjlf8n1wnn03mcb6"; depends=[MASS partitions]; };
-  factorMerger = derive2 { name="factorMerger"; version="0.3.2"; sha256="1drrzrazay0w42ls9r2bsbygmyah0hdpmlap8zmsjqnbl0xp6sq6"; depends=[agricolae colorRamps dplyr ggplot2 ggpubr knitr magrittr MASS mvtnorm proxy reshape2 scales survival]; };
+  factorMerger = derive2 { name="factorMerger"; version="0.3.6"; sha256="04l52w2lfihmwqk4xbv2i37jgkanhvmzcw2x7dmj3hmjymlr4yl0"; depends=[agricolae colorRamps dplyr forcats formula_tools ggplot2 ggpubr knitr magrittr MASS mvtnorm proxy reshape2 scales survival]; };
   factorQR = derive2 { name="factorQR"; version="0.1-4"; sha256="1vl01fm5qfyhnqbl5y86vkr50b8cv07vzlqs3v6smqaqq6yp4lv4"; depends=[lattice]; };
   factorcpt = derive2 { name="factorcpt"; version="0.1.2"; sha256="17hwlsrj0fx4x05p6xvs6kl43a24icmnrzyvpf2vam5imwvmpvmm"; depends=[doParallel fields foreach iterators Rcpp RcppArmadillo]; };
   factorplot = derive2 { name="factorplot"; version="1.1-2"; sha256="025lfk122w66yxym3njcpzwnbhg40xi7p1c9vnxczcb8kz31745s"; depends=[multcomp nnet]; };
@@ -6141,6 +6288,7 @@ in with self; {
   fancycut = derive2 { name="fancycut"; version="0.1.1"; sha256="1vnxn5zl1j8209dyrwq3919hivab09f0jq4v9h7v0wlqk1hy5ich"; depends=[]; };
   fanovaGraph = derive2 { name="fanovaGraph"; version="1.4.8"; sha256="1da7yskh2gn4arrrnalkl3izqyyrm0yf0il4v2izs7di7qlw3m6v"; depends=[DiceKriging igraph sensitivity]; };
   fanplot = derive2 { name="fanplot"; version="3.4.1"; sha256="1xj1hdz3i9c9wdx7ryiqag69khh3544v4474ilxxiyahxg2r6m45"; depends=[]; };
+  fansi = derive2 { name="fansi"; version="0.2.2"; sha256="1kjbklr24n649k17mgcxsrw8lsj4c2yd94yg1rilsnlqcyjdvpvi"; depends=[]; };
   faoutlier = derive2 { name="faoutlier"; version="0.7.2"; sha256="0h2azbkxpz03qjmq558mh7dkpv87vbvminvg69wqsx21m6hdl5r3"; depends=[lattice lavaan MASS mirt mvtnorm pbapply sem]; };
   far = derive2 { name="far"; version="0.6-5"; sha256="18lj2mgnn9s59ypkr19zzv0sffwpx9mgk975xmpvw4kkl84dykis"; depends=[nlme]; };
   faraway = derive2 { name="faraway"; version="1.0.7"; sha256="0lalf52y9rb4zdb4kpscwddb4zy0af7r5sm7lx8s9jaqykrwrfq6"; depends=[lme4 nlme]; };
@@ -6149,25 +6297,27 @@ in with self; {
   fasjem = derive2 { name="fasjem"; version="1.1.2"; sha256="1bbrcyyg96hakgla3604byrkn9034197vy2is048kdq20yr2y11n"; depends=[igraph]; };
   fast = derive2 { name="fast"; version="0.64"; sha256="098rk6kszdx3szcwvwzcv7zlcd6qvqvbqch7q8ilas6vbki81ba4"; depends=[zoo]; };
   fastAdaboost = derive2 { name="fastAdaboost"; version="1.0.0"; sha256="1pv1y6znvc37pgwk99v4r0hljhipq8v6r3r5cb5vhgyl0bfi8g38"; depends=[Rcpp rpart]; };
-  fastDummies = derive2 { name="fastDummies"; version="1.0.0"; sha256="05jkgjd4aavy7631xczqvag51afyvr80ki1w6caznx5fc4z53wfb"; depends=[data_table]; };
+  fastDummies = derive2 { name="fastDummies"; version="1.1.0"; sha256="0ns1279sxfiv5ll4faag36ldc5v40l48li36kqr1bb09s3sx9p9w"; depends=[data_table tibble]; };
   fastGHQuad = derive2 { name="fastGHQuad"; version="0.2"; sha256="0yv3wdyj7hs1gr3rq08k520v0ldmv5zzng709xjx2kchhwhmy8ah"; depends=[Rcpp]; };
   fastGraph = derive2 { name="fastGraph"; version="1.1"; sha256="1vbi5yssnh8hcbmrq1r437vpvj8hqd3vc8wmcy0nbyvnmyjaxkvb"; depends=[]; };
   fastHICA = derive2 { name="fastHICA"; version="1.0.2"; sha256="1h794ybbii0k7v3x0r1499zxdqa1i1dpi3i7idzqdrffnb5kmwlv"; depends=[energy fastICA]; };
   fastICA = derive2 { name="fastICA"; version="1.2-1"; sha256="108z2ymby5y4h8l4l2krqwm28rya93gq09yylgilnm3afvfrfabg"; depends=[]; };
   fastJT = derive2 { name="fastJT"; version="1.0.4"; sha256="1pa4qpcf4qmzk6s8qgk60n5ialz8gcj5m8d7xr10cmn4jfwghc7b"; depends=[Rcpp]; };
   fastLink = derive2 { name="fastLink"; version="0.3.1"; sha256="0d77z88vv8gw1hp3cpnx481yn7p5y4nq3qzsv63bifad0msnqixy"; depends=[adagio data_table doParallel dplyr FactoClass foreach gtools Matrix plotrix Rcpp RcppArmadillo RcppEigen stringdist stringi stringr]; };
-  fastM = derive2 { name="fastM"; version="0.0-2"; sha256="0q5dz47sqj6d4r3k6l6q34l5ajb8fjbf7xam75scp0mg3czswnfn"; depends=[Rcpp RcppArmadillo]; };
+  fastM = derive2 { name="fastM"; version="0.0-3"; sha256="1gyrkci6iv7j4aymy2qlwjshmigiff5x7kqjsh1yjzd43jg9ij86"; depends=[Rcpp RcppArmadillo]; };
   fastR = derive2 { name="fastR"; version="0.10.3"; sha256="1sz6krxiamq3rp4h9ah2b1zvyyrlvsn7lpvrjv1xda2c1kqqkvmk"; depends=[lattice mosaic mosaicCalc mosaicData]; };
   fastR2 = derive2 { name="fastR2"; version="0.2.0"; sha256="1xwa4v0j2n0qxn1prhc9x0sz53fhsfbg2m1a6kfdp7cpvvk46pw5"; depends=[dplyr ggformula ggplot2 lattice magrittr maxLik miscTools mosaic numDeriv]; };
   fastSOM = derive2 { name="fastSOM"; version="1.0.0"; sha256="1x4kxys7mxlxz7cfbjig44za8m8p19xgzcs5y2wn9320sx8b0wc0"; depends=[]; };
   fastTextR = derive2 { name="fastTextR"; version="1.0"; sha256="0l0f9jvsa68a3vd6mwbhsqd12729nd6nwsnlzrhsg9wj9rx8kpmi"; depends=[Rcpp]; };
+  fasta = derive2 { name="fasta"; version="0.1.0"; sha256="0wnppxn3039dj58xm0b66fsyq537bk8k8m56im11xj1iwc3zc6vw"; depends=[]; };
   fastclime = derive2 { name="fastclime"; version="1.4.1"; sha256="0zcir8r11b2hxr9vvkmvxlzmhfcaxbr0wbjy86ysr912mp8fs9i3"; depends=[igraph lattice MASS Matrix]; };
   fastcluster = derive2 { name="fastcluster"; version="1.1.24"; sha256="15drhl22wm8whsy6b3vv754skfddiydb068zn1whrw5sknvkkjc2"; depends=[]; };
   fastcmh = derive2 { name="fastcmh"; version="0.2.7"; sha256="0hib3r3pkfdi67bdy4pf1pw6869vq4b3pg1pq1zwpyy76nbnq9vl"; depends=[bindata Rcpp]; };
   fastcox = derive2 { name="fastcox"; version="1.1.3"; sha256="0jn19v6mkwgyz8x63xrfgkgnf0f2rq338r5qkhz690mdzr4c47a3"; depends=[Matrix]; };
   fastdigest = derive2 { name="fastdigest"; version="0.6-3"; sha256="02csl261v7nassi5119ygw6jglm8q6rssg7lgyxzj73mkyilm832"; depends=[]; };
   fasteraster = derive2 { name="fasteraster"; version="1.1.1"; sha256="1ycr2h046jds2758xvxn00rhglx3zarbzn3r38j66j5pnz2iiq4f"; depends=[Rcpp]; };
-  fastmaRching = derive2 { name="fastmaRching"; version="1.0.0"; sha256="17z5frf5c50y4387l4vbwwbm8z1wn0yyr7kp044s4q8bp1k2pqv3"; depends=[raster rgdal sp]; };
+  fasterize = derive2 { name="fasterize"; version="1.0.0"; sha256="0q8n1r5n06yr6vmnwrdajx8923646bzm7ywgn2f0zxl214plf56s"; depends=[raster Rcpp RcppArmadillo sp]; };
+  fastmaRching = derive2 { name="fastmaRching"; version="1.1.0"; sha256="085xr5i6h6vwl1flzbkwqsm8d815s0p02p0mir60jqjvy0s7haip"; depends=[raster rgdal sp]; };
   fastmatch = derive2 { name="fastmatch"; version="1.1-0"; sha256="0z80jxkygmzn11sq0c2iz357s9bpki548lg926g85gldhfj1md90"; depends=[]; };
   fastnet = derive2 { name="fastnet"; version="0.1.4"; sha256="0hc18yc2cmvb5v8vjj1xvnciz35hyfp9iyqhkg9jfjrlf89icny6"; depends=[doParallel foreach igraph tidygraph]; };
   fastpseudo = derive2 { name="fastpseudo"; version="0.1"; sha256="0paag4pjh3gs270j663bsl65sfrq43gk2zzqmalr03fmcckp6aaj"; depends=[]; };
@@ -6175,26 +6325,27 @@ in with self; {
   fastrtext = derive2 { name="fastrtext"; version="0.2.5"; sha256="0zbd2sxzarxic90d2pkbn7fak5gyb81b180m91f784smb3sx1p1j"; depends=[assertthat Rcpp]; };
   fasttime = derive2 { name="fasttime"; version="1.0-2"; sha256="11i4c0zrkvvqsax0az1fvmc0jxfsjyx28434k1qgzhj9g2j9m9cf"; depends=[]; };
   fat2Lpoly = derive2 { name="fat2Lpoly"; version="1.2.2"; sha256="1xqr4azc5gsr7kcm8qzwjpjy72w1b111i61wbm35vns9r38a6cxz"; depends=[kinship2 multgee]; };
-  fauxpas = derive2 { name="fauxpas"; version="0.1.0"; sha256="1mi19zrgkx25g8j1f948n0ps27dn0rr2jqnhf15w73lpsjbwvi54"; depends=[httpcode R6 whisker]; };
+  fauxpas = derive2 { name="fauxpas"; version="0.2.0"; sha256="0l77gxcf06p984z9vgaf1kag609h9qyrgav84lxkv97h6f3fflnc"; depends=[httpcode R6 whisker]; };
   favnums = derive2 { name="favnums"; version="1.0.0"; sha256="0siax7gjr25lpf1li3hawx6nviggs68c0lap2d9i38azlhvj891w"; depends=[]; };
   fbRads = derive2 { name="fbRads"; version="0.2"; sha256="1a65gfvizzm6psspcvlhkxligdf9j1whrgzkg7ww520lk3z8lnnd"; depends=[bit64 data_table digest futile_logger jsonlite plyr RCurl]; };
   fbRanks = derive2 { name="fbRanks"; version="2.0"; sha256="17kbmdpgqkj2n951c6mdsrgfga6kiij1gqiw1wpi0q3fq4dlfrzx"; depends=[igraph stringr]; };
-  fbar = derive2 { name="fbar"; version="0.3.4"; sha256="0nsw7axdgmkbmn87wxg3adyy060vrqqbr0s2hfdh54fj58i6nq71"; depends=[assertthat dplyr magrittr Matrix purrr rlang ROI ROI_plugin_ecos stringr tibble tidyr]; };
+  fbar = derive2 { name="fbar"; version="0.4.3"; sha256="1raq8ak01gcnmcsaa3fdfqi40d67v7nfjr212jzvq7wp2qk3j10i"; depends=[assertthat dplyr magrittr Matrix purrr rlang ROI ROI_plugin_ecos stringr tibble tidyr]; };
   fbati = derive2 { name="fbati"; version="1.0-1.1"; sha256="18k8a1m2znzzwmm25dbqnqzwbjxqz4rbjaw3z9affky7lzqgbg6l"; depends=[fgui pbatR rootSolve]; };
   fbroc = derive2 { name="fbroc"; version="0.4.0"; sha256="0bxi027iqqn50mn5nrlgx3z4qdlfkrq88s0dqyaxdl8rsrwp3d2w"; depends=[ggplot2 Rcpp]; };
   fcd = derive2 { name="fcd"; version="0.1"; sha256="091wbf5iskcgyr7jv58wrf590qijb0qcpninmvm3xrwxi34r37xr"; depends=[combinat glmnet MASS]; };
-  fclust = derive2 { name="fclust"; version="1.1.2"; sha256="08gi7w74215r44qbysg233s5n8r905b66gsi4i66xf5r7zgaqsm0"; depends=[]; };
+  fclust = derive2 { name="fclust"; version="1.1.3"; sha256="1wpdvpfama90x8rj5yv54q7k318ad4y6pi33vsyh0rsb3fdrkqkr"; depends=[]; };
   fcm = derive2 { name="fcm"; version="0.1.3"; sha256="1mqk6szczsixdvw0inkypij4cw2syng5l5ccw0xk55kc21l1lzn0"; depends=[ggplot2 reshape2]; };
-  fcros = derive2 { name="fcros"; version="1.5.5"; sha256="1kyrilm6g0nqgba3bf4vbvcgcfj8044n6jfysbrvvlhwypkzqa0q"; depends=[]; };
+  fcr = derive2 { name="fcr"; version="1.0"; sha256="17jrz5zp1msd2khl1lwnb5sgxcigagni556rhn7qm9g0aykbh8yj"; depends=[face fields mgcv]; };
+  fcros = derive2 { name="fcros"; version="1.5.6"; sha256="0n1zbzl6g9k3smdpgyb3xsa2w8ir4bdagv7w644x1jck5rd0xn2j"; depends=[]; };
   fcuk = derive2 { name="fcuk"; version="0.1.21"; sha256="1sb7p1m5qb88028mrw95lhh8l7dxj696hjh88nfsdpnscryknfpv"; depends=[magrittr purrr stringdist tibble]; };
-  fdANOVA = derive2 { name="fdANOVA"; version="0.1.0"; sha256="10c12yns1sv4ph61hma1mymab03xyyx933f27977lw3c0npy7b02"; depends=[doBy doParallel fda foreach ggplot2 magic MASS]; };
+  fdANOVA = derive2 { name="fdANOVA"; version="0.1.1"; sha256="16i0mnbxyjbw06havl277c6vi7mq5rak9cjzp8c2zvr8cakalkg4"; depends=[doBy doParallel fda foreach ggplot2 magic MASS]; };
   fda = derive2 { name="fda"; version="2.4.7"; sha256="0371c32kxxvfdh18ldgc2p76dr2436ay0n9prdjwm9v0azp4rp9k"; depends=[Matrix]; };
   fda_usc = derive2 { name="fda.usc"; version="1.4.0"; sha256="0gp19c5lxp0g4690vdr0gpw89rl9v3l6872mf7hr8nsyyd6776vn"; depends=[fda MASS mgcv nlme rpart]; };
   fdaMixed = derive2 { name="fdaMixed"; version="0.5"; sha256="1k2b3z2jj37j6njvxalg8640zlcvi1cm7wkcwp0pia21wydz75ip"; depends=[Formula Rcpp RcppArmadillo]; };
   fdaPDE = derive2 { name="fdaPDE"; version="0.1-4"; sha256="0n72x5h00n17yxjniim2qxz2phy1srk04dn6ivvc58k3x252fzkh"; depends=[RcppEigen rgl]; };
   fdadensity = derive2 { name="fdadensity"; version="0.1.1"; sha256="0jj5gprv3ihdjic261czqnv7c13mxsmjmv7gn2gv4483kgijlkz9"; depends=[fdapace Rcpp]; };
   fdakma = derive2 { name="fdakma"; version="1.2.1"; sha256="0j9qgblrl7v4586dd6v0hjicli6jh8pkk5lzn8afpl75xfs24six"; depends=[]; };
-  fdapace = derive2 { name="fdapace"; version="0.3.0"; sha256="1r4s20spsiags7z8hyvbvi9gxjxs4v8hfnrqya872shagk9iadyl"; depends=[Hmisc Matrix numDeriv pracma Rcpp RcppEigen]; };
+  fdapace = derive2 { name="fdapace"; version="0.4.0"; sha256="09qwl1bkcrfaxk0938v0ddd8aiyf0vi6619rpsg7f82rbc5i73mp"; depends=[Hmisc MASS Matrix numDeriv pracma Rcpp RcppEigen]; };
   fdasrvf = derive2 { name="fdasrvf"; version="1.8.3"; sha256="1lqyadg17ddd3vksbaxc7bpwvk0afsd59rfg0n5wrgvhbd473s0y"; depends=[coda doParallel fields foreach matrixcalc mvtnorm Rcpp RcppArmadillo testthat viridisLite]; };
   fdatest = derive2 { name="fdatest"; version="2.1"; sha256="0zdnmssir5jz2kbfz4f4xshjfv4pivqx7cbh2arlx6ypkjrjws8n"; depends=[fda]; };
   fdcov = derive2 { name="fdcov"; version="1.1.0"; sha256="0savsgcifcjjqrmbpn6m30gncq5iigqxpb19l710wlx8nm98svjh"; depends=[corrplot matlab]; };
@@ -6206,8 +6357,10 @@ in with self; {
   fdth = derive2 { name="fdth"; version="1.2-1"; sha256="0rr9p2rns5ws111iqcicrlpcv47fkbxf161yxkkzfs2l3f1kgw14"; depends=[]; };
   feather = derive2 { name="feather"; version="0.3.1"; sha256="1q6dbkfnkpnabq8lb6bm9ma44cfcghx2lm23pyk3vg7943wrn1pi"; depends=[hms Rcpp tibble]; };
   feature = derive2 { name="feature"; version="1.2.13"; sha256="07hkw0bv38naj2hdsx4xxrm2dngi6w3rbvgr7s50bjic8hlgy1ra"; depends=[ks misc3d rgl]; };
+  featurefinder = derive2 { name="featurefinder"; version="1.0"; sha256="1hhfhc1gjmi770yljqhqrp9a5z5rrbd7bavznb758c26hpk7xilf"; depends=[plyr rpart rpart_plot]; };
   features = derive2 { name="features"; version="2015.12-1"; sha256="0rd8r1dxzddb6718hcm8ck7531c9wdrjfy8n67875bbxgzcvds61"; depends=[lokern]; };
   featurizer = derive2 { name="featurizer"; version="0.2"; sha256="05jvwsvpbdj94q3wl7ld6xmfc9p7ff9zsmryd3mmxz0hzbq2cnkc"; depends=[]; };
+  febr = derive2 { name="febr"; version="1.0-0"; sha256="0c0kgj31n2z2qqbga9waqrrm6xxksi27c6riyp1c57z4wjais860"; depends=[cellranger dplyr glue googlesheets knitr pedometrics readr sp stringr xlsx]; };
   fecR = derive2 { name="fecR"; version="0.0.2"; sha256="1p4166cxajapm158aqbz9p7m8c8dqga1infl6y6wazjnayaib3cb"; depends=[lubridate plyr]; };
   fechner = derive2 { name="fechner"; version="1.0-3"; sha256="0bassigcipwlr2g8cdjh8jyhmb903k3hla9gnigcbz7qwzlfwa86"; depends=[]; };
   federalregister = derive2 { name="federalregister"; version="0.2.0"; sha256="0qr8nd3ylnwcv1wxspw5i7ray5sh30zr648spg0lpqq8dp2b8p7b"; depends=[curl httr jsonlite]; };
@@ -6234,17 +6387,18 @@ in with self; {
   filehash = derive2 { name="filehash"; version="2.4-1"; sha256="1x7an7rsy5pz2qr86m511rsv297vacxwk3y1a71754yq739qgq6h"; depends=[]; };
   filehashSQLite = derive2 { name="filehashSQLite"; version="0.2-4"; sha256="1higvkmj4wvnwpvayqinzaygiksij20d77dx118q0gffsczadamh"; depends=[DBI filehash RSQLite]; };
   filelock = derive2 { name="filelock"; version="1.0.1"; sha256="11mmq296zg62gnxjk7dyr866kihihmsjpfg6bcc7hv6ivh4812nn"; depends=[]; };
-  filematrix = derive2 { name="filematrix"; version="1.2"; sha256="1n8gy1fh0af3b43y7c1139lxyjn75fi2pdsn3c5mm4iscfmarl0r"; depends=[]; };
+  filematrix = derive2 { name="filematrix"; version="1.3"; sha256="1v3aj1ng742msb0sfdnjsbqb508mqjf8jlq2v33vxldhradw5w0b"; depends=[]; };
   filenamer = derive2 { name="filenamer"; version="0.2.2"; sha256="0289qpy4891fb71fa4bhc8wp4g7n1sw1kis5k5irdyyzmsa9dfhn"; depends=[]; };
   fileplyr = derive2 { name="fileplyr"; version="0.2.0"; sha256="15rxls0njd6j2vxdahf4fx2nxmsa3rc41812v3wlaqas99naaxxr"; depends=[assertthat datadr tibble]; };
   files = derive2 { name="files"; version="0.0.1"; sha256="1vhhawqjjbb6fadkn3l10mvz63w3vmcwvl93fk0q9mhkifzlj9kc"; depends=[]; };
-  filesstrings = derive2 { name="filesstrings"; version="2.0.4"; sha256="14qx9jiqg7vs340ss4vlg5jgald7pl111bnvv8279bdgjilrd4yf"; depends=[checkmate magrittr matrixStats ore purrr Rcpp stringr tibble]; };
+  filesstrings = derive2 { name="filesstrings"; version="2.2.0"; sha256="1qix25k0j1d1q3z5xiq9gc928kbb78w0j9083q5xsdik840d91kj"; depends=[BH checkmate magrittr matrixStats ore purrr Rcpp stringr tibble]; };
   filling = derive2 { name="filling"; version="0.1.0"; sha256="0avlfl06nd8wn76ydii09ng2fqp92d4n9v2y5vg16m3my58l0srd"; depends=[CVXR nabor Rcpp RcppArmadillo Rdpack ROptSpace RSpectra]; };
   financial = derive2 { name="financial"; version="0.2"; sha256="1v6jgs3rq57byin5mynslfjk3zrx91qz36558nn17mv6z0qsf10v"; depends=[]; };
   finch = derive2 { name="finch"; version="0.2.0"; sha256="1vganbkz2d96xfz2jf1q0kqarc575w3nswss2igynsbbd0y53mjm"; depends=[data_table digest EML hoardr plyr rappdirs xml2]; };
-  findR = derive2 { name="findR"; version="0.2.0"; sha256="03xkp8akjaciv2cl1przzz56nc3ma8l7pr4k0c3w2y0sivkmawdk"; depends=[pdftools]; };
+  findR = derive2 { name="findR"; version="0.2.1"; sha256="1a7cf6kd7i2l4ffr2b17nb9xnpsjhf6fcwpjy06r0qgcapnfp54b"; depends=[pdftools stringr]; };
   findpython = derive2 { name="findpython"; version="1.0.3"; sha256="1y08jk2ffmkf9zpwiz2xymjhfwqvls9vzsnq62v278ghw9d571jl"; depends=[]; };
   findviews = derive2 { name="findviews"; version="0.1.3"; sha256="1l1yhw5hvrn0rpkdsch8m69d2q5284jwccvv7r4ia4m0iqjfipj7"; depends=[ggplot2 gridExtra scales shiny]; };
+  fingerPro = derive2 { name="fingerPro"; version="1.0"; sha256="17r23x8cdllr8slk56dsmrwc4ns69b3cqy59mxxbsjnhjl3di6x8"; depends=[car GGally ggplot2 gridExtra klaR MASS plyr Rcmdr Rcpp RcppGSL reshape rgl scales]; };
   fingerprint = derive2 { name="fingerprint"; version="3.5.7"; sha256="04jcwkydjrs31pia6kq8z2n9s54im950q08hs2ay15xjxxkmb8ic"; depends=[]; };
   fingertipsR = derive2 { name="fingertipsR"; version="0.1.5"; sha256="0g1r2mrivnfv7icba1y9lx5h2a3swmd41ry2064n82l05iaw9wsp"; depends=[dplyr DT httr jsonlite miniUI purrr readr shiny shinycssloaders]; };
   finiteruinprob = derive2 { name="finiteruinprob"; version="0.6"; sha256="0z4l0crymh58chxniqq70fqmvi6f5jkgvz72vbc7s3l9lrrapgr3"; depends=[numDeriv sdprisk]; };
@@ -6258,20 +6412,23 @@ in with self; {
   fit_models = derive2 { name="fit.models"; version="0.5-14"; sha256="0vjbzmx0ambm6yzidb4vbgmhclwzwv2iz2cwl54ccdkvx4cx3fck"; depends=[lattice]; };
   fit4NM = derive2 { name="fit4NM"; version="3.3.3"; sha256="0k2194521yby6xxi77bpjp6ywz8kpnzws217m7n0hw6xwz5mqj1g"; depends=[cairoDevice gWidgets gWidgetsRGtk2 RGtk2 tkrplot]; };
   fitDRC = derive2 { name="fitDRC"; version="1.1"; sha256="1f6avw8ia9ks17zdagpmh6yvcmi53h5cvm0wwv9hsb92x5zfhxn9"; depends=[]; };
+  fitODBOD = derive2 { name="fitODBOD"; version="1.1.0"; sha256="15ylldlq12mrw06pzww54hsl8nb9krs5w1cgh037km9sndsswvji"; depends=[hypergeo]; };
+  fitPoly = derive2 { name="fitPoly"; version="3.0.0"; sha256="0ws1vsh8if9i9i7820ak32b0bysjc0z09nbrk17qpms0b11cpc3g"; depends=[foreach]; };
   fitTetra = derive2 { name="fitTetra"; version="1.0"; sha256="0ia6wk4gicpmn6kclsd28p7v1npwfv2blagiz0cxzwfw3njv103g"; depends=[]; };
   fitbitScraper = derive2 { name="fitbitScraper"; version="0.1.8"; sha256="0b4d7xw6inp6l1dkfwyrzxwg4vspp4vzlwrhv14ajxrqz6irj8a0"; depends=[httr jsonlite stringr]; };
   fitdc = derive2 { name="fitdc"; version="0.0.1"; sha256="1b1abib7jkl7a6r686r53qjw2ywb9q2h67is8691kkaqxpawg30p"; depends=[]; };
   fitdistrplus = derive2 { name="fitdistrplus"; version="1.0-9"; sha256="18x9454g598d54763k3hvi33iszifk7sxvhd1zg5r8z1vpixx3z6"; depends=[MASS survival]; };
   fitplc = derive2 { name="fitplc"; version="1.1-7"; sha256="1dffgqsml6cj6ayqdpr0330kj8v57jwi3pgchb8v98rainygsyfw"; depends=[car nlme]; };
   fitteR = derive2 { name="fitteR"; version="0.1.0"; sha256="1kgnyl7am966vkfap8gmvchlpankrcj5dv5aj7ws8ix9shr76db6"; depends=[dplyr DT maxLik R_utils shiny]; };
-  fitur = derive2 { name="fitur"; version="0.5.20"; sha256="1iv8vzbhjlv72rcby0n2615bi8jn1wykwlf7n0i85wqaw04di4lr"; depends=[actuar e1071 fitdistrplus ggplot2]; };
+  fitur = derive2 { name="fitur"; version="0.5.25"; sha256="0f33c4mg0257s9c0qldryihaq8p3y07j2nwghjpqhi3rv4mrg2xf"; depends=[actuar e1071 fitdistrplus ggplot2]; };
   fivethirtyeight = derive2 { name="fivethirtyeight"; version="0.4.0"; sha256="1sdj5b365hi11dd2yxvg9w3fz3rx9rbv1nnhf5i8v2ydg4kqyrws"; depends=[]; };
   fixedTimeEvents = derive2 { name="fixedTimeEvents"; version="1.0"; sha256="0z7ji8yzp4pj76ad64l7ivknkbi82ijx6abd3a18wicqhrh433sj"; depends=[]; };
+  fixerapi = derive2 { name="fixerapi"; version="0.1.1"; sha256="0g1bs2d99yv6q6y8kh6s9skkfjany5737kys0yqy8mpflhymvh33"; depends=[jsonlite tibble tidyr]; };
   fizzbuzzR = derive2 { name="fizzbuzzR"; version="0.1.1"; sha256="119gbi9y4n8r52hk9vj7zf795dv9xnk7lnngljjcd7ydnhygwd4h"; depends=[]; };
   flacco = derive2 { name="flacco"; version="1.7"; sha256="1w77smmbrwglayr2rj88b00x7wan9f3x1fq8h6xyhybfvrw7vr0r"; depends=[BBmisc checkmate mlr]; };
-  flam = derive2 { name="flam"; version="3.1"; sha256="12dkxisi56fg5720mh58jqrjvkqllqgzynafd44xalswkk4ahaak"; depends=[MASS Rcpp]; };
+  flam = derive2 { name="flam"; version="3.2"; sha256="0v6kcl4n7wq052p7jdgbzlh9fpk8bzlrqw12i6pib1wd3slj0asa"; depends=[MASS Rcpp]; };
   flan = derive2 { name="flan"; version="0.6"; sha256="0idlvi4xlfr5l0csj75xmn94856y71j92im6dwv0rcawkwh8ghqh"; depends=[lbfgsb3 Rcpp RcppArmadillo RcppGSL]; };
-  flare = derive2 { name="flare"; version="1.5.0"; sha256="03bq40lwwq49vvbarf37y7c3smm29mxqfxsc66gkg8l5pak4l38i"; depends=[igraph lattice MASS Matrix]; };
+  flare = derive2 { name="flare"; version="1.6.0"; sha256="0ygif9a7a99qwv0b488wymmmncp6f5ww9yz13s4qs6p8yf37x1r1"; depends=[igraph lattice MASS Matrix]; };
   flars = derive2 { name="flars"; version="1.0"; sha256="06qma1ar1nj7n6g9alk1qydm5bkj6lsjx0pqkikxpb41d91civqk"; depends=[fda MASS Matrix Rcpp RcppEigen]; };
   flashClust = derive2 { name="flashClust"; version="1.01-2"; sha256="0l4lpz451ll7f7lfxmb7ds24ppzhfg1c3ypvydglcc35p2dq99s8"; depends=[]; };
   flatr = derive2 { name="flatr"; version="0.1.1"; sha256="10l98a3f57wahfpdqxj70r25zfhk4vzzd014pdnriy458yrfd7rw"; depends=[dplyr magrittr tibble]; };
@@ -6279,11 +6436,12 @@ in with self; {
   flexPM = derive2 { name="flexPM"; version="2.0"; sha256="0h3qs9w9pc2nc24q1diz7j3s93y40ijpmgq2l0xg9mzcgjz9kz8c"; depends=[survival]; };
   flexclust = derive2 { name="flexclust"; version="1.3-5"; sha256="19ihdhmhaglccqpvrpc51367gkfafg4jdpabbk0j6mh2n16hi511"; depends=[lattice modeltools]; };
   flexdashboard = derive2 { name="flexdashboard"; version="0.5.1"; sha256="0jb5wswbjr58g121nbvl93p73gxr8cx56kajgpiaw1fis6dsyfyz"; depends=[htmltools htmlwidgets jsonlite knitr rmarkdown shiny]; };
+  flexmet = derive2 { name="flexmet"; version="1.0.0.0"; sha256="0xhr4i46s3k7a4yz2sd1sphn8wz27xcl580s2kqkr1ifg8941kv8"; depends=[]; };
   flexmix = derive2 { name="flexmix"; version="2.3-14"; sha256="0sl4zxh1sb2sr5q7svjw9ihrm219jzn82yrc9d43q6r1b8bpyz43"; depends=[lattice modeltools nnet]; };
   flexrsurv = derive2 { name="flexrsurv"; version="1.4.1"; sha256="13jq7yk7rz2148wkf7dv28l79zwdf1gpfkd5khgacb8hl5kml3p0"; depends=[Epi formula_tools matrixcalc orthogonalsplinebasis survival]; };
   flexsurv = derive2 { name="flexsurv"; version="1.1"; sha256="1vj8zsfgq2rv6v7na4w7n7z3farc69qsavm7pnmnhkaylz61gq26"; depends=[deSolve mstate muhaz mvtnorm quadprog Rcpp survival]; };
   flexsurvcure = derive2 { name="flexsurvcure"; version="0.0.2"; sha256="1lhw2z8i4l822ncziwpw6hg0dzc244q60n7l5aahgdhcr0xgylhz"; depends=[flexsurv gtools survival]; };
-  flextable = derive2 { name="flextable"; version="0.4.2"; sha256="07a962ylr3y8v31557iqzr1m0c8bvprilfdimwzjl9fhlplb9y4h"; depends=[gdtools htmltools knitr officer R6 rmarkdown stringr]; };
+  flextable = derive2 { name="flextable"; version="0.4.4"; sha256="12f33szyxf4b7ipz4j9sli6miwkjq2309rpinaxmnsqsafd1zn3b"; depends=[gdtools htmltools knitr officer R6 rmarkdown stringr]; };
   flifo = derive2 { name="flifo"; version="0.1.4"; sha256="1yilfnblarimc8mlvvwsgib5sxcfgvgsvgpyzddxb39g6fb7lffs"; depends=[bazar pryr]; };
   flip = derive2 { name="flip"; version="2.4.3"; sha256="04zf2gnk5w57gxnlnh26pn1ir1wfrzxhfhchr33ghk7prhc7k4b8"; depends=[cherry e1071 Rcpp RcppArmadillo someMTP]; };
   flippant = derive2 { name="flippant"; version="1.1.0"; sha256="06aj90y7c33c1q0nw1c67vr1pfmp9fw78az6ivrbq110f2k1m12w"; depends=[assertive_files assertive_numbers assertive_properties assertive_strings assertive_types data_table ggplot2 magrittr minpack_lm plyr RcppRoll stringi withr wmtsa]; };
@@ -6298,18 +6456,21 @@ in with self; {
   flowr = derive2 { name="flowr"; version="0.9.10"; sha256="18mjshfg3827b26b8nz52pl04ph7n887vw0ym5fybjm8gy5wwpdg"; depends=[diagram params whisker]; };
   flows = derive2 { name="flows"; version="1.1.1"; sha256="0l152p17plkrbnrlis8rfr9ij406agckdxvnjsciilv6qwcync29"; depends=[igraph reshape2 sp]; };
   flsa = derive2 { name="flsa"; version="1.05"; sha256="07z2b1pnpnimgbzkjgjl2b074pl9mml7nac2p8qvdgv7aj070cmh"; depends=[]; };
+  fluoSurv = derive2 { name="fluoSurv"; version="1.0.0"; sha256="1dv4lf7k28bih2qqkpy15f7d14ibxk48p3z6sj3dj5yvh25mhv81"; depends=[]; };
   flux = derive2 { name="flux"; version="0.3-0"; sha256="0pc9cab2pwrfl0fnz29wp7a398r49hvbi50jp8i2fk2rfvck21a7"; depends=[caTools]; };
+  fluxweb = derive2 { name="fluxweb"; version="0.1.0"; sha256="1fwxqm8pn9h0bl1cpvz9rx56zsvxz22la5bj8yrrkbg3m8jdzgvi"; depends=[]; };
   fma = derive2 { name="fma"; version="2.3"; sha256="1z7shh9ng3q7ax22cwg86y79jzz5gbchdny2rppzzm0lkvvyy5pm"; depends=[forecast]; };
   fmbasics = derive2 { name="fmbasics"; version="0.3.0"; sha256="1dnf09rgwpc7n7ydlp7r5cwy2fa4vh1h9mbjqzfhk0208kz6jpl0"; depends=[assertthat fmdates lubridate tibble]; };
   fmdates = derive2 { name="fmdates"; version="0.1.4"; sha256="1bbcwkh65nf2gak9b81zgg32c5ihwhmai3nc43ayf6ivhqsxw8x0"; depends=[assertthat lubridate]; };
+  fmlogcondens = derive2 { name="fmlogcondens"; version="1.0.2"; sha256="0slmwzcmsl5cfgif6d47xfjknmap0x45cql339dyamwmhqm968rk"; depends=[geometry MASS mclust mvtnorm]; };
   fmri = derive2 { name="fmri"; version="1.7-2"; sha256="1ifp0fkmr0bj5vkg9vh0lk74f04fk0zc90vknmjmxd2hbdb5kh4r"; depends=[awsMethods metafor nlme]; };
   fmriqa = derive2 { name="fmriqa"; version="0.3.0"; sha256="1z09nf1c305a78c129jvs21b9z91wyhazz41wrn4bimmhfhx7szv"; depends=[ggplot2 gridExtra imager optparse pracma RcppEigen reshape2 RNifti tidyr viridisLite]; };
   fmrs = derive2 { name="fmrs"; version="1.0-9"; sha256="1x9g67701kcnz3p97iynr74sn0mfpxpp16mv1l4zxlhhfn2v5lwx"; depends=[survival]; };
-  fmsb = derive2 { name="fmsb"; version="0.6.1"; sha256="1kdw0j1jl76dzsk56lpl5vvrx5l0w9rc94kmj1dhbqb5yh64xai7"; depends=[]; };
+  fmsb = derive2 { name="fmsb"; version="0.6.3"; sha256="1n29bnyp20pvpk2lsa9fblsj5w7amp14snc74pk5w3yr5y6rj0s5"; depends=[]; };
   fmt = derive2 { name="fmt"; version="1.0"; sha256="13gsywnyvf9zy5n644g2xyd60f92w2dp7vil2dncjvjcqsib22a0"; depends=[]; };
   foba = derive2 { name="foba"; version="0.1"; sha256="1af8whgl66v0vwzdf03b6141k3dysdc0svymlgifcga5gqkwzsl0"; depends=[]; };
   focusedMDS = derive2 { name="focusedMDS"; version="1.3.3"; sha256="18s86dbbpyajscqr9frprf2vp1zif7vh4lw5m0cjskfc6gmsdp2p"; depends=[htmlwidgets]; };
-  foghorn = derive2 { name="foghorn"; version="1.0.0"; sha256="0agnryzh3clcb0mz1nx6f9shkl6cx98v7mmbkj6mpk3xxilxa87n"; depends=[clisymbols crayon curl httr jsonlite rvest tibble xml2]; };
+  foghorn = derive2 { name="foghorn"; version="1.0.2"; sha256="17bng0fxjqrlni11vwmghimk0h38mlyjyxizrbs1fycb8khlqh94"; depends=[clisymbols crayon curl httr jsonlite rvest tibble xml2]; };
   fold = derive2 { name="fold"; version="0.2.5"; sha256="1h7vx8saq4mbmylh1zgldm8n17i8waq8fgr5d4q68553xmazws41"; depends=[csv dplyr encode lattice lazyeval magrittr metaplot rlang spec tidyr]; };
   fontBitstreamVera = derive2 { name="fontBitstreamVera"; version="0.1.1"; sha256="0nipdlmhjv1wr3aidcl97nk6mppdkd65krgwqnhdsnv0jpfv761j"; depends=[]; };
   fontHind = derive2 { name="fontHind"; version="0.1.1"; sha256="0qz3bj8vdy6jayy84p3vyxfwqll4v4qlklwq9wl981ii2k7g0vxf"; depends=[extrafont ggplot2 hrbrthemes]; };
@@ -6320,12 +6481,12 @@ in with self; {
   foodweb = derive2 { name="foodweb"; version="1-0"; sha256="1zm2a87g9bkpz90j9lax28s5hq1w7ia28qqb6vnvr1d7a47g9zi9"; depends=[rgl]; };
   forams = derive2 { name="forams"; version="2.0-5"; sha256="1fh3m9896ksv1h7b027yb955bzyv70yafhqvn5crkzalzk3jpb0s"; depends=[vegan]; };
   forcats = derive2 { name="forcats"; version="0.3.0"; sha256="0mxn1hng43zdjh1v8shd80hrszrqahcpaqxs1s1sif0qxh84d0cm"; depends=[magrittr rlang tibble]; };
+  foreSIGHT = derive2 { name="foreSIGHT"; version="0.9.2"; sha256="1wr99jq8a0cbc7n5sdzr0gwnxsv8sjqy1x1lrazxswyj49xc06i4"; depends=[cowplot directlabels doParallel GA ggplot2 moments zoo]; };
   foreach = derive2 { name="foreach"; version="1.4.4"; sha256="0j2yj0rn0d5nbzz9nq5rqqgnxhp9pbd92q4klsarl2xpsn8119y0"; depends=[codetools iterators]; };
   forecTheta = derive2 { name="forecTheta"; version="2.2"; sha256="1a7ip3czm8k82kb8dx95m8q47kjhifdj51gzavd1zj9ni3vwbhfn"; depends=[forecast tseries]; };
-  forecast = derive2 { name="forecast"; version="8.2"; sha256="04mqx1szm22lhiqzncm8ad0kyqhv1y4d6v02gn70d78kxmjangzb"; depends=[colorspace fracdiff ggplot2 lmtest magrittr nnet Rcpp RcppArmadillo timeDate tseries zoo]; };
-  forecastHybrid = derive2 { name="forecastHybrid"; version="2.0.10"; sha256="04lspngh44y815amxlnhl74k5g7sj3bm0w8yy58fk8nqrl382pb6"; depends=[doParallel foreach forecast ggplot2 reshape2 zoo]; };
+  forecast = derive2 { name="forecast"; version="8.3"; sha256="0k5b9skjpyzx7gbd8z6f3d92wl2f8zgli781m4jg903ra0hsyncj"; depends=[colorspace fracdiff ggplot2 lmtest magrittr nnet Rcpp RcppArmadillo timeDate tseries urca uroot zoo]; };
+  forecastHybrid = derive2 { name="forecastHybrid"; version="2.1.11"; sha256="01jmq6mw3idvascgrmr7i69pllqzdwbks42748pq18znw3f2yvjl"; depends=[doParallel foreach forecast ggplot2 reshape2 zoo]; };
   forecastSNSTS = derive2 { name="forecastSNSTS"; version="1.2-0"; sha256="1rnf2a7sri52sm976iicab660qk07pmz8jmd3q71dg4hmc30yf9j"; depends=[Rcpp]; };
-  forega = derive2 { name="forega"; version="1.0.3"; sha256="1n1gqm0bjdw13jm95zp0ni0hps07xjkswzrszvamn2f6sglrn73d"; depends=[forecast Rcpp robfilter]; };
   foreign = derive2 { name="foreign"; version="0.8-69"; sha256="0s1lxmd85dd0kxx8hwk02w9l7pmpk4bpy7787fbyh2dbq5g9ys0k"; depends=[]; };
   forensic = derive2 { name="forensic"; version="0.2"; sha256="0kn8wn6p3fm67w88fbarg467vfnb42pc2cdgibs0vlgzw8l2dmig"; depends=[combinat genetics]; };
   forensim = derive2 { name="forensim"; version="4.3"; sha256="1jhlv9jv832qxxw39zsfgsf4gbkpyvywg11djldlr9vav7dlh3iw"; depends=[tcltk2 tkrplot]; };
@@ -6334,9 +6495,10 @@ in with self; {
   forestinventory = derive2 { name="forestinventory"; version="0.3.1"; sha256="0brbg0q8j9ymvm527db7063kgs6i6flja7mxqk7yvaf3dh8wsi46"; depends=[ggplot2 plyr tidyr]; };
   forestmodel = derive2 { name="forestmodel"; version="0.4.3"; sha256="1v1m8dvird2r1jqig492msqpp9sb4s79bhgnrs9y2c0ba46jzykh"; depends=[broom dplyr ggplot2 lazyeval]; };
   forestplot = derive2 { name="forestplot"; version="1.7.2"; sha256="1cqk0fwpbn4an6xn28kpvqmcp3mgv8isg8dy755sv5fkqzzjz1dg"; depends=[checkmate magrittr]; };
+  forestr = derive2 { name="forestr"; version="1.0.1"; sha256="0m26x7ngl89ngk1qhg50npmwli2npmjs9pfb9rg5hmx4fzr8k63i"; depends=[dplyr ggplot2 plyr]; };
   formatR = derive2 { name="formatR"; version="1.5"; sha256="19sd23vgs4ac0fwlw40j3676k6mramb0ajlq8hdw23kjwdx1jk47"; depends=[]; };
   formattable = derive2 { name="formattable"; version="0.2.0.1"; sha256="1s7jjgm0j24vdwm39933ygh6xnxcfvzy4kl2mmfgas4czfcmd4rf"; depends=[htmltools htmlwidgets knitr rmarkdown]; };
-  formula_tools = derive2 { name="formula.tools"; version="1.6.8"; sha256="10j7cgzdfkpqnxy9jpw5yd1bwrz55yi8b1zn144wwqb779l2c5yn"; depends=[operator_tools]; };
+  formula_tools = derive2 { name="formula.tools"; version="1.7.1"; sha256="15d3ikfmsh9zszfgfkrxb3jkipl41inm7n6bhs73kwlnklnygq2g"; depends=[operator_tools]; };
   formulize = derive2 { name="formulize"; version="0.1.0"; sha256="1fz8q48z4zvfglxzmmjznb7lcfrrfqmnws85jfkihs3ff43h7ccc"; depends=[recipes rlang]; };
   fortunes = derive2 { name="fortunes"; version="1.5-4"; sha256="109ly9kpfn6hy294ava8795wy5z9l1bnl98hhhv8kn9naf4camdg"; depends=[]; };
   forward = derive2 { name="forward"; version="1.0.3"; sha256="0swn5ysp3f660kl9jpmkck9324j1g3yhj2hl238rfrcr5wihxifc"; depends=[MASS]; };
@@ -6352,7 +6514,7 @@ in with self; {
   fpmoutliers = derive2 { name="fpmoutliers"; version="0.1.0"; sha256="108bp3smk9jnckd5237xly4ywmal03rq1kidq5z61l6zrhc3yfh9"; depends=[arules doParallel foreach Matrix pmml pryr R_utils XML]; };
   fpow = derive2 { name="fpow"; version="0.0-2"; sha256="0am3nczimcfrm9hi02vl2xxsh703qjmr2j11y014mll3f2v1l8cy"; depends=[]; };
   fpp = derive2 { name="fpp"; version="0.5"; sha256="1jqnx6bgpvnbbj2fa2b6m6aj8jd5cb9kz877r8kp7a5qj62xv1ww"; depends=[expsmooth fma forecast lmtest tseries]; };
-  fpp2 = derive2 { name="fpp2"; version="2.1"; sha256="1plnp946r48f058g3i31865jmlxh6xn4yfbwwdfiqqxvsk7jz66l"; depends=[expsmooth fma forecast ggplot2]; };
+  fpp2 = derive2 { name="fpp2"; version="2.3"; sha256="1krrvwg25qjfpfjdwd3n0d87ihl4zf7y1bnh6gbi92sdja3ljq48"; depends=[expsmooth fma forecast ggplot2]; };
   fptdApprox = derive2 { name="fptdApprox"; version="2.1"; sha256="00vxwcwca7zfm4fr0x9898snr6j0474ci1bahjmpj2jxiclwnhzs"; depends=[]; };
   fracdiff = derive2 { name="fracdiff"; version="1.4-2"; sha256="03l5dqpqwwi5c8fwc2vissfawcsignai60h2zalknkibvk782dwq"; depends=[]; };
   fracprolif = derive2 { name="fracprolif"; version="1.0.6"; sha256="1cpb71yk1245j6qz4mqvpqc3s3lrmav4blp5wlxasjizn3ilwh66"; depends=[emg numDeriv]; };
@@ -6387,14 +6549,14 @@ in with self; {
   frontier = derive2 { name="frontier"; version="1.1-2"; sha256="1vpjd57cc6niwqibhz1ib46zj57d5a9m40yaq7kr9awk9di65ryz"; depends=[Formula lmtest micEcon miscTools moments plm]; };
   frontiles = derive2 { name="frontiles"; version="1.2"; sha256="08qq25wbylvhvmq34wggyj0hwdlxfs9rfs8gjqsrg50xccchniqi"; depends=[classInt colorspace rgl sp]; };
   frt = derive2 { name="frt"; version="0.1"; sha256="1qy76a1wkznaqzlyj1nq74mf1pnyly1s8gnff8q30zfccqk68cxv"; depends=[]; };
-  fs = derive2 { name="fs"; version="1.1.0"; sha256="1rcpji6qygjm75y51gb6x0vg0fjnvkl3x734d6dgd50xal59blb9"; depends=[Rcpp]; };
-  fscaret = derive2 { name="fscaret"; version="0.9.4.2"; sha256="08lrkxkfraw67dhcpg53dg1w7lpxzpqhz0l71vpn21xlk8iqgjw8"; depends=[caret gsubfn hmeasure]; };
+  fs = derive2 { name="fs"; version="1.2.2"; sha256="194sl0vv0p2h1z474yzh9agqj1w02ppvkpz5p1b8ljn794h4ar7a"; depends=[Rcpp]; };
+  fscaret = derive2 { name="fscaret"; version="0.9.4.3"; sha256="1miqg7rd3q11aksbjf0nswwnxb7c2p2f0b85nmnwm11snbf1gg8s"; depends=[caret gsubfn hmeasure]; };
   fsdaR = derive2 { name="fsdaR"; version="0.2-21"; sha256="121khfqy1ixqp86cl3cngc40zxjpd4nm5k0lk558nxcfgyyzvx8y"; depends=[rJava robustbase]; };
   fsia = derive2 { name="fsia"; version="1.1.1"; sha256="0id7cnswrqylgpwjil1zfn89ryrdpl20fim8x1srl8s1hm5bg35r"; depends=[]; };
   fslr = derive2 { name="fslr"; version="2.17.3"; sha256="1g7z1jsj89kqyclb3qdc7c6dgn18jqjmrxpxi62llkixhqg21yha"; depends=[matrixStats neurobase oro_nifti R_utils]; };
   fso = derive2 { name="fso"; version="2.0-1"; sha256="02dr12bssiwn8s1aa1941hfpa4007gd65f3l4s74gs2vgjzdxf8s"; depends=[labdsv rgl]; };
   fst = derive2 { name="fst"; version="0.8.4"; sha256="1jarhz5c6bib4n3xms1xhgybzaqdf4llfbgmnqndz2gwxjx1igia"; depends=[Rcpp]; };
-  fsthet = derive2 { name="fsthet"; version="1.0.0"; sha256="10mimnlq01q0mmaljfp27iq0pv11znbcv3mah57nrwpy0a3zqwhb"; depends=[]; };
+  fsthet = derive2 { name="fsthet"; version="1.0.1"; sha256="0z6az1jcvdahgn97r6cpj1s6fn0lvr7j12gcw2r7wbpajrvyl5j6"; depends=[]; };
   ftDK = derive2 { name="ftDK"; version="1.0"; sha256="1xs2rr2afjza97kpym5zkas3k78pilxjlh7lp1gc66banldr71g2"; depends=[dplyr httr pbapply purrr tibble]; };
   ftnonpar = derive2 { name="ftnonpar"; version="0.1-88"; sha256="0df9zxwjpfc939ccnm1iipwhpf76b34v0x74nsi1mm1g927dfl0i"; depends=[]; };
   fts = derive2 { name="fts"; version="0.9.9"; sha256="1qgp8xdwr5pp2b7nd8r717a6p8b6izwqrindx2d1d0lhhnqlcwhv"; depends=[BH zoo]; };
@@ -6405,9 +6567,9 @@ in with self; {
   fullfact = derive2 { name="fullfact"; version="1.2"; sha256="13729m2s8b32d9i9c6g2r0zkcqsw9p7nhdig8isarfn4bjzqhf71"; depends=[afex lme4]; };
   fulltext = derive2 { name="fulltext"; version="1.0.1"; sha256="08pwasz1rpnnq81mvaldjiqv79wbvw5ma89skk95h0k2pbahblka"; depends=[aRxiv crminer crul data_table hoardr httr jsonlite magrittr microdemic pdftools rcrossref rentrez rplos storr tibble whisker xml2]; };
   fun = derive2 { name="fun"; version="0.1-0"; sha256="0z4nq2w1wz1clc7cf87pf870hayxq5mpzhllfgwj4mmh2xpphnrf"; depends=[]; };
-  funData = derive2 { name="funData"; version="1.1"; sha256="0qr3rwa4z6173px9wqb17wcdfsnjgfqvfwwpzi8sldgmvq3l7dfg"; depends=[abind fields foreach]; };
+  funData = derive2 { name="funData"; version="1.2"; sha256="0y3ar26d6hxc4bg263qjqfb92ivhkphzizhz91wrzbfxha9dcrzz"; depends=[abind fields foreach]; };
   funFEM = derive2 { name="funFEM"; version="1.1"; sha256="08798lvryykrxfvp2297anzl4gi81gwvc1qyyzq16nafjf65kwfy"; depends=[elasticnet fda MASS]; };
-  funHDDC = derive2 { name="funHDDC"; version="1.0"; sha256="038m64yv27wz7ki2gcn94q011p8mv0ggmli5n27y0f5bnkfh6d6w"; depends=[fda]; };
+  funHDDC = derive2 { name="funHDDC"; version="2.0"; sha256="0bd58pdsg9036vk54fayvzr6il56bamrvn5vhqc3g92papp9jlm8"; depends=[fda MASS]; };
   funModeling = derive2 { name="funModeling"; version="1.6.7"; sha256="0blanw0aw7qvcs6a8ryaqvi322gaz65g6flijkbssf681im9pmjr"; depends=[dplyr entropy ggplot2 gridExtra Hmisc lazyeval moments pander RColorBrewer reshape2 ROCR scales]; };
   funbarRF = derive2 { name="funbarRF"; version="1.0.1"; sha256="05smi717j4zhbrfqjyvx1rzckygigg1x8c6kb3brbpv8w33gcvx7"; depends=[BioSeqClass Biostrings bold randomForest]; };
   funchir = derive2 { name="funchir"; version="0.1.4"; sha256="1mbsy65628q117c2k01wvibpjd3ibigy4yc1c8m0rf9jwsc67qjb"; depends=[data_table]; };
@@ -6415,11 +6577,12 @@ in with self; {
   functools = derive2 { name="functools"; version="0.2.0"; sha256="0g62jdia3n09vq8mx1m2r4nl3jfcadzpym0wkldzzzjcfs90vl6b"; depends=[]; };
   funcy = derive2 { name="funcy"; version="0.8.6"; sha256="0wlcwwmv92djj35i7nnfns5l79fca6hsfrjxgsqmwgjb28gy19bs"; depends=[calibrate car caTools cluster fda fields flexclust kernlab MASS Matrix plyr sm wavethresh]; };
   fungible = derive2 { name="fungible"; version="1.5"; sha256="1f4q26rfl7d35ng5nx11mzzv9fhk4zg62j63c59i649wcx1xsan9"; depends=[e1071 lattice MASS mvtnorm nleqslv R2Cuba stringr]; };
+  funnelR = derive2 { name="funnelR"; version="0.1.0"; sha256="143lb048krgh8rkkz6sm8h464kdy62w29fvvyar795vqi10bb5fy"; depends=[ggplot2]; };
   funr = derive2 { name="funr"; version="0.3.2"; sha256="11mjd1ba9kwawh7k5py54mkq4g1df79d7qivan8fj11qfwfzm679"; depends=[]; };
-  funrar = derive2 { name="funrar"; version="1.2.1"; sha256="0zhrn0s75p4fnjwn2779avhlzg5y3in2il2s1qaaiq3mj368vpmn"; depends=[cluster dplyr]; };
+  funrar = derive2 { name="funrar"; version="1.2.2"; sha256="179kxhwkd431d2n917mzjnr5qvh09f0hdm2c78lww4ijb54dhn0l"; depends=[cluster dplyr]; };
   funreg = derive2 { name="funreg"; version="1.2"; sha256="199zvqali0sb0z4yp20rm5da0kd7z3rgv47g1cb1apsbcw0cq51n"; depends=[MASS mgcv mvtnorm]; };
   funtimes = derive2 { name="funtimes"; version="5.0"; sha256="0xq0n3939rsrz7dna4d3d7mrpxad2xswnblsc4a88nbq6cmx5c70"; depends=[dbscan Jmisc Kendall]; };
-  furniture = derive2 { name="furniture"; version="1.7.3"; sha256="1bayp2cfd3vacy83jf9x5l2kp4dr2kvfx9zvmw7z2z03lfmjj841"; depends=[knitr]; };
+  furniture = derive2 { name="furniture"; version="1.7.6"; sha256="0yz3l6lrfq5mbh4d7z6ny2gg3qixglcl9lvvs97a3l7mqwi5x4h9"; depends=[knitr]; };
   fuser = derive2 { name="fuser"; version="1.0.0"; sha256="0l2ddc3lal3gvzkn8b09i7pzd9nvqnr45naz3ni52nmgygwdk5ma"; depends=[glmnet irlba Matrix Rcpp RcppEigen RSpectra]; };
   fusionclust = derive2 { name="fusionclust"; version="1.0.0"; sha256="1h03nlk4gnz4j5h2h5bxazkka2qq983h7nglm1ghzqvbqjk6sv37"; depends=[bbmle]; };
   futile_any = derive2 { name="futile.any"; version="1.3.2"; sha256="09z12dlj7cnkfwnmgsjknsghirv1cry83w4a9k4d0w5a1jnlr5jg"; depends=[lambda_r]; };
@@ -6428,7 +6591,7 @@ in with self; {
   futile_options = derive2 { name="futile.options"; version="1.0.0"; sha256="1hp82h6xqq5cck67h7lpf22n3j7mg3v1mla5y5ivnzrrb7iyr17f"; depends=[]; };
   futile_paradigm = derive2 { name="futile.paradigm"; version="2.0.4"; sha256="14xsp1mgwhsawwmswqq81bv6jfz2z6ilr6pmnkx8cblyrl2nwh0v"; depends=[futile_options RUnit]; };
   futility = derive2 { name="futility"; version="0.2"; sha256="0njckhwmawqhiznv241yjghh99wl72c4xknp9nzbmvi5j575rnlh"; depends=[]; };
-  future = derive2 { name="future"; version="1.7.0"; sha256="0lfzw53z1d4bksishjkmwphfkgdr6zpvnpwr1jx8dsj0b1y2laiq"; depends=[digest globals listenv]; };
+  future = derive2 { name="future"; version="1.8.0"; sha256="096pfwafiwr16m13qda824ba3mzqabz4cdbg08sz1vh5s2k2hp4c"; depends=[digest globals listenv]; };
   future_BatchJobs = derive2 { name="future.BatchJobs"; version="0.15.0"; sha256="0r1bnp9mnv8jk9d6dpr94cqn4zihpm7cgxqj0c3l0x9b6i0ny3z2"; depends=[BatchJobs future R_utils]; };
   future_apply = derive2 { name="future.apply"; version="0.1.0"; sha256="1c5jyklam5j9lmr5jmn6972wwlbyaaihy4kczxib87glmc4g0a4k"; depends=[future globals]; };
   future_batchtools = derive2 { name="future.batchtools"; version="0.6.0"; sha256="0npvy8d927k3ilmnwcq1fh5lvpdr009pyc93ils5qhwhfma3wfh0"; depends=[batchtools future]; };
@@ -6438,14 +6601,14 @@ in with self; {
   fuzzyFDR = derive2 { name="fuzzyFDR"; version="1.0"; sha256="0zd8i9did0d9gp42xjmwrccm32glabvvy08kl8phhwb1yaq53h7w"; depends=[]; };
   fuzzyRankTests = derive2 { name="fuzzyRankTests"; version="0.3-10"; sha256="1xj5xsm2s4ylv3b8v80qny201iddjym07h8d50asas7xy1k7945z"; depends=[]; };
   fuzzyforest = derive2 { name="fuzzyforest"; version="1.0.5"; sha256="1ifhvdzn0rs8gxqmpz8w1prxg3pxs5jqx5lh0r4i5rai49qjy3sb"; depends=[doParallel doRNG foreach ggplot2 mvtnorm randomForest]; };
-  fuzzyjoin = derive2 { name="fuzzyjoin"; version="0.1.3"; sha256="16l2vwx5yxwbm7lhb4a1ypgx8kl2rrdc02qkh59lblhzya1jiid8"; depends=[dplyr geosphere purrr stringdist stringr tidyr]; };
-  fuzzywuzzyR = derive2 { name="fuzzywuzzyR"; version="1.0.2"; sha256="08pgyyihc1m4myl10l07vw45lisw36aaypyh5fv9zzm3lw6w6w36"; depends=[R6 reticulate]; };
+  fuzzyjoin = derive2 { name="fuzzyjoin"; version="0.1.4"; sha256="06r103hshc6xcjllv5qfiw3i1ddz4c8svy0i4j0avnffaarlc2wa"; depends=[dplyr geosphere purrr stringdist stringr tidyr]; };
+  fuzzywuzzyR = derive2 { name="fuzzywuzzyR"; version="1.0.3"; sha256="1kbli1m44317m95a0r34vza9p27vd9ala05jrbrdkadninwdynal"; depends=[R6 reticulate]; };
   fwdmsa = derive2 { name="fwdmsa"; version="0.2"; sha256="0p0kh8am6gajfaixkvq61f12hfbm6chl9372yzn1yilhiyvqdxgp"; depends=[]; };
   fwi_fbp = derive2 { name="fwi.fbp"; version="1.7"; sha256="1wk9cr0kk6zkbf111bv87n7b1wwx1qrsbjxydvbjvy8bgz0nfa62"; depends=[]; };
   fwsim = derive2 { name="fwsim"; version="0.3.3"; sha256="1ix4sl2krlr0b0wfgvy73qhpmkjymqcci3q3v60j20zapi55gxn2"; depends=[Rcpp]; };
   fxregime = derive2 { name="fxregime"; version="1.0-3"; sha256="15fh8yhcba2gw2xfd0yiw5ssvbgb62l6vb28bxz71ckdyv9nsahk"; depends=[car sandwich strucchange zoo]; };
   g_data = derive2 { name="g.data"; version="2.4"; sha256="14a4m0v38p3j1k1kymkxwydlgm8b73hlx9m80sg1l4aj38fvflzl"; depends=[]; };
-  g2f = derive2 { name="g2f"; version="0.1"; sha256="1njx03hnfvzqyzhyjg5zwikv36xggss2vc82vpfybg6rqkx3rqbd"; depends=[KEGGREST minval sybil]; };
+  g2f = derive2 { name="g2f"; version="0.2"; sha256="1jsmiv6v8ilpxg1k1npcgqa467hpyw7mzh5m8dp7bxar4j5npsp4"; depends=[KEGGREST minval sybil]; };
   gCat = derive2 { name="gCat"; version="0.1"; sha256="10990ilsjk52kqkcdngj4nq0kcbn4w1syxl1mqjq2n5g1l002yjy"; depends=[]; };
   gIPFrm = derive2 { name="gIPFrm"; version="3.1"; sha256="08rfdac442picbw1r3xyxjzf2dc57svg44am0714z4r72mshvj04"; depends=[]; };
   gLRTH = derive2 { name="gLRTH"; version="0.2.0"; sha256="1drmmr576n3pbr0q1cnnx4k7r4iz061n2cizv1kpr3wcc1g291pn"; depends=[]; };
@@ -6454,34 +6617,34 @@ in with self; {
   gMWT = derive2 { name="gMWT"; version="1.1"; sha256="1ws96x3vjswh6m6s9zn3r9gp7xp6ybdkkxsq9a73ng2zqz2qjdl0"; depends=[clinfun Rcpp RcppArmadillo]; };
   gPCA = derive2 { name="gPCA"; version="1.0"; sha256="1ylb1d24dxnzpws9bbanwhyizjr3ljky2bhrph4c5yaq0zwwbrkw"; depends=[]; };
   gPdtest = derive2 { name="gPdtest"; version="0.4"; sha256="00dlhnklfg2yp4hp7yjgr2nfswv22c007xq1mxdbkll62zgd94mq"; depends=[]; };
-  gProfileR = derive2 { name="gProfileR"; version="0.6.4"; sha256="1cka02zbz1rbppm782qpxk1xn9qxbrv2gp5rgf970j906hxm2y0b"; depends=[plyr RCurl]; };
+  gProfileR = derive2 { name="gProfileR"; version="0.6.5"; sha256="1x6ym5bdlpc5z3h3wpyryym2g6qvm45blydw7s44bi165r30vrim"; depends=[plyr RCurl]; };
   gRain = derive2 { name="gRain"; version="1.3-0"; sha256="0xb746pyh8k8w1a8nz7z41bflx5xr0cqdq5l5wj7j464zv2cw6jy"; depends=[functional graph gRbase igraph magrittr Rcpp RcppArmadillo RcppEigen]; };
   gRapfa = derive2 { name="gRapfa"; version="1.0"; sha256="07yzwzna9pdyzndxk6wwyl6v3gkfc7dvy1ixmdl3d38mcl1ahwyq"; depends=[igraph]; };
   gRbase = derive2 { name="gRbase"; version="1.8-3"; sha256="143qvs5mwypswdq344a48kzn83sx9jskdr9w6kxa3fzhdcqlhi7d"; depends=[graph igraph magrittr Matrix RBGL Rcpp RcppArmadillo RcppEigen]; };
   gRc = derive2 { name="gRc"; version="0.4-2"; sha256="0cqc3s7a1njxzmnx7yx1yjkrazbai3gpw2kc4l7g49ld4j40bsln"; depends=[gRbase MASS]; };
   gRim = derive2 { name="gRim"; version="0.2-0"; sha256="0ihl4vsnp6xkcpcf37p2xcqnbvyvjamcz5060f1kirn8xzwzq29y"; depends=[gRain graph gRbase igraph Rcpp RcppArmadillo]; };
   gSEM = derive2 { name="gSEM"; version="0.4.3.4"; sha256="18kh41ibvfflz59gykiq7j2c6a72i8b0w8c2mcprd1nzhnyhvmhy"; depends=[DiagrammeR htmlwidgets knitr MASS]; };
-  gSeg = derive2 { name="gSeg"; version="0.4"; sha256="0fcjhf8hznh1rzyfrk3f3hy16zs1n61b7r3j90pzg873razf97a2"; depends=[]; };
+  gSeg = derive2 { name="gSeg"; version="0.5"; sha256="1f3appvy78adv9jll47smgw2apm3dkm9zrm17hhdxmcnqypd7ias"; depends=[]; };
   gTests = derive2 { name="gTests"; version="0.2"; sha256="1h1sd8mrzcniq7rx7frdlxwpnsn8lifng1x99fqq703hs3znl1yq"; depends=[ade4]; };
   gWQS = derive2 { name="gWQS"; version="1.0.0"; sha256="0n0zwfqz5g4js5y3ss64dv5842jypr6sqacs32ax37immd34slhq"; depends=[ggplot2 Rsolnp tableHTML ztable]; };
   gWidgets = derive2 { name="gWidgets"; version="0.0-54"; sha256="13lbbbnmkvb559klgsnz0q27qlyv102xakb6yccxsxjw249hm8c2"; depends=[]; };
   gWidgets2 = derive2 { name="gWidgets2"; version="1.0-7"; sha256="02jrv5x7s3jm2ajpdvgsp4zkn65gjy96rvgdxhf9smp1kb6llzg0"; depends=[digest]; };
   gWidgets2RGtk2 = derive2 { name="gWidgets2RGtk2"; version="1.0-7"; sha256="14c933j0wj3lb5da75zxg3w3mfqh0nqk8rczbi4dnqd8sna6jks9"; depends=[gWidgets2 memoise RGtk2]; };
   gWidgets2tcltk = derive2 { name="gWidgets2tcltk"; version="1.0-5"; sha256="1g0p7bl76rkkrixzw4b1s99gyvi8b5a4vbnsj2wmy7y9grbzndkm"; depends=[digest gWidgets2 memoise]; };
-  gWidgetsRGtk2 = derive2 { name="gWidgetsRGtk2"; version="0.0-85"; sha256="0qxfpajs7a5bv057x743ha8gpvgkg6qxpjdayr45264i64ygfwn0"; depends=[cairoDevice gWidgets RGtk2]; };
+  gWidgetsRGtk2 = derive2 { name="gWidgetsRGtk2"; version="0.0-86"; sha256="0b1xqffbzxlaaaqf1vzfl0a7b6wnnslsp8v5fbxblv7w951rsc4m"; depends=[cairoDevice gWidgets RGtk2]; };
   gWidgetstcltk = derive2 { name="gWidgetstcltk"; version="0.0-55"; sha256="06991rqh4927bal7j718bn2ziy6rws8yq682lmp5vbqhdd36afv2"; depends=[digest gWidgets]; };
   gafit = derive2 { name="gafit"; version="0.5.1"; sha256="160z3cv22prf7118447dla9g1gimwkfad8zdil3fg8n4l22rk51a"; depends=[]; };
   gaiah = derive2 { name="gaiah"; version="0.0.2"; sha256="1qc3crjxramyxl86dp8mcmvskixny7x6ji0jqf5dqf5r5qc7zrs9"; depends=[dplyr geosphere ggplot2 lazyeval magrittr maptools raster rgeos sp stringr tidyr]; };
   gains = derive2 { name="gains"; version="1.2"; sha256="1nmrhc7qjlyzn04r1qyjdws5fin3idmi789kbxzilax12ya8xr7k"; depends=[]; };
   galts = derive2 { name="galts"; version="1.3.1"; sha256="0jg0yng1kc6s0qdhq8ps38dsxdcrgdcn8dl2dlclw6rcbknb6h4k"; depends=[DEoptim genalg]; };
-  gam = derive2 { name="gam"; version="1.14-4"; sha256="13ma6zkqf1xlyrjlp228b2kq6pgh3fg9a7xmy3r3p0y40zvxfrba"; depends=[foreach]; };
+  gam = derive2 { name="gam"; version="1.15"; sha256="1w6icadyfyqlkz5qijwifa3z96d460m88k8b2iaqj0cf6agmydhy"; depends=[foreach]; };
   gamCopula = derive2 { name="gamCopula"; version="0.0-4"; sha256="1nj5pxcbr6k7k1m44ky306yycpx20pw8awlx7lzyw1rx1hrv5ivb"; depends=[copula doParallel foreach gsl igraph MASS mgcv numDeriv VineCopula]; };
-  gamRR = derive2 { name="gamRR"; version="0.3.0"; sha256="07zgh6hxkqxrw5da1pbscl8z8hzbgc5ipkzmpimimxa0i9g04c4h"; depends=[boot mgcv]; };
+  gamRR = derive2 { name="gamRR"; version="0.4.0"; sha256="0grd9d7rar4lq82v55k7c2d3h0g2lh7ny4bpxanqgrq02jkpnz1p"; depends=[boot mgcv]; };
   gamair = derive2 { name="gamair"; version="1.0-0"; sha256="13n2n4b7givzvia93awy7ym0gihl4lr08w3a6ny2pq0f3zbhzw97"; depends=[]; };
   gambin = derive2 { name="gambin"; version="2.3.0"; sha256="1kwh8s191m6gsjczqc3svf6zp1k4zi86rqz7s94rahg84vwh6a9b"; depends=[doParallel foreach gtools]; };
   gamboostLSS = derive2 { name="gamboostLSS"; version="2.0-0"; sha256="0z9wzvxjhnjl2bjnd5pxqzvv43hak7x5m23j76qnm05j12vw4bz1"; depends=[mboost stabs]; };
   gamboostMSM = derive2 { name="gamboostMSM"; version="1.1.87"; sha256="0if0x92lch57ksll8d5i3jzk0kh40593b20c17g3hvc33920c7r0"; depends=[mboost]; };
-  gamclass = derive2 { name="gamclass"; version="0.56"; sha256="13gy8ys69dkhm54x3vcpqblq4j2hkbsnaswzcq0v0saqd9b1shcs"; depends=[ape car DAAG KernSmooth lattice latticeExtra MASS mgcv randomForest rpart]; };
+  gamclass = derive2 { name="gamclass"; version="0.57"; sha256="08s44n6x7m01gw02q4zgpa5vxbcgx6mnqgmdn6760ff66wy4zrgc"; depends=[ape car DAAG KernSmooth lattice latticeExtra MASS mgcv randomForest rpart]; };
   games = derive2 { name="games"; version="1.1.2"; sha256="01hbbr2hsxi5j9axpdl0jihpd55pa9hacjxmab8p7cixk3xqqqbf"; depends=[Formula MASS maxLik stringr]; };
   gamesGA = derive2 { name="gamesGA"; version="1.1.3.2"; sha256="0srxsm1zhrx1dpm94mkcsds6rwkx9gi9yfbrkzylhrxgi4g8pvwp"; depends=[shiny]; };
   gamlr = derive2 { name="gamlr"; version="1.13-4"; sha256="08igzs2raz6nnkz2aisxaq9jy2mlb49cqlm6gwxp0mrag4q6xxrz"; depends=[Matrix]; };
@@ -6500,11 +6663,11 @@ in with self; {
   gamm4 = derive2 { name="gamm4"; version="0.2-5"; sha256="11wblnh22xq3m3z25i30v2kd0zlf8wa3cm5z38z56rhk3l2wf5bc"; depends=[lme4 Matrix mgcv]; };
   gamm4_test = derive2 { name="gamm4.test"; version="0.1.0"; sha256="0ab6rksr88fsv6whp6cxyshpv5ixmf9lw51cl3rzk870r8q326wg"; depends=[doParallel foreach gamm4 Matrix mgcv plotly RColorBrewer]; };
   gamreg = derive2 { name="gamreg"; version="0.3"; sha256="1svrgbb8qdy2hzpq1g38v2lzmlbrn7qljix827biqzwgiajy69gg"; depends=[doParallel foreach glmnet Rcpp RcppArmadillo robustHD]; };
-  gamsel = derive2 { name="gamsel"; version="1.8-0"; sha256="0s29czlakix5ksblixcv7y5in5az9syzs2n71mqzf32vqgf8sf18"; depends=[foreach mda]; };
+  gamsel = derive2 { name="gamsel"; version="1.8-1"; sha256="107hbshi36dcyykhy6w1i1ih84xwdqv1q3nad73d3krf7bhvhg5f"; depends=[foreach mda]; };
   gaoptim = derive2 { name="gaoptim"; version="1.1"; sha256="04igpn73k6f6652y496igwypfxmz4igg4jgxx6swqyi37182rqhm"; depends=[]; };
   gap = derive2 { name="gap"; version="1.1-21"; sha256="0vslbk66h1gkpqrpj4pkxnx7nr1fnjp0zvym9cxzyxww797bd57s"; depends=[]; };
   gap_datasets = derive2 { name="gap.datasets"; version="0.0.2"; sha256="0skxgiwymd8c4vsy2dbddifjj9a0bq52gdd2r62slsv0q9haw96y"; depends=[]; };
-  gapfill = derive2 { name="gapfill"; version="0.9.5-3"; sha256="1hwccvshz9z1zgjjrdk6iri272ih11cwpz91rldkpcwly6pqcwhk"; depends=[fields foreach ggplot2 quantreg Rcpp]; };
+  gapfill = derive2 { name="gapfill"; version="0.9.6"; sha256="0384v7capab7dbyvz6b2jvnh840z6ab3857my0h3cgsys3lhn3c5"; depends=[fields foreach ggplot2 quantreg Rcpp]; };
   gapmap = derive2 { name="gapmap"; version="0.0.4"; sha256="0xz19n0vvdzbfg6afp3y0qfbs3f2nfxib1cyya3cax5wqqfbzw3i"; depends=[ggplot2 reshape2]; };
   gapminder = derive2 { name="gapminder"; version="0.3.0"; sha256="067cra1ca4ngwjx8d1y9pyzwcpsfi1wcal0glzyy6ghd1k6jflpv"; depends=[tibble]; };
   gaselect = derive2 { name="gaselect"; version="1.0.5"; sha256="0xzx00n46x6x7w1xbx8nvabkkrna45pv1i70787m8h05q1yrjjij"; depends=[Rcpp RcppArmadillo]; };
@@ -6516,7 +6679,7 @@ in with self; {
   gaussfacts = derive2 { name="gaussfacts"; version="0.0.2"; sha256="095x7k7m7sy1gqkbm6wiqn26252dclz62sbnkv6cjvmbdxajl7m9"; depends=[]; };
   gaussquad = derive2 { name="gaussquad"; version="1.0-2"; sha256="0bcvkssmwwngcd4cnv924n9h3c8z1w3x9c9bkwn5jbz9zyv1lfms"; depends=[orthopolynom polynom]; };
   gazepath = derive2 { name="gazepath"; version="1.2"; sha256="0h5a9bpgx268yh0zy3y4xfvij1ncx92x5qphjc94xmzbrl0br1mf"; depends=[jpeg scales SDMTools shiny zoo]; };
-  gb = derive2 { name="gb"; version="1.1.8-8"; sha256="18n9wqz82mjxjgzk8vc68kyz3b6lk21d2f16551d6fikjla03adf"; depends=[boot]; };
+  gb = derive2 { name="gb"; version="2.3.3"; sha256="0gkdkbwr168vi7lgccla49l43rkmjcfrwlqdr65mg5syzcxrh7nh"; depends=[boot KernSmooth]; };
   gbRd = derive2 { name="gbRd"; version="0.4-11"; sha256="06x97rw5i6v6cgjxkfhxnw4dn7lghn5q6ra7ri5ag1x9dkfzcl82"; depends=[]; };
   gbm = derive2 { name="gbm"; version="2.1.3"; sha256="0ayrpq5qm18dsain088mbw0037bijxcy342grb6g2qnp67llpwpa"; depends=[lattice survival]; };
   gbm2sas = derive2 { name="gbm2sas"; version="2.1"; sha256="0ssjlv849vssmncn01ccpp2myqib5f3g88g0d4rqma2z0ivdpk23"; depends=[gbm]; };
@@ -6527,7 +6690,7 @@ in with self; {
   gcKrig = derive2 { name="gcKrig"; version="1.1.1"; sha256="0bfxwi3ahhgyn1mh00b27iwz3cgabz74r00q4bhl45wjps4vngc3"; depends=[Rcpp RcppArmadillo]; };
   gcbd = derive2 { name="gcbd"; version="0.2.6"; sha256="1dvnly0aljv2c4x7sn3q55ncvfdfjfgp7w0k2900p77h4w8nixia"; depends=[DBI lattice Matrix plyr reshape RSQLite]; };
   gcdnet = derive2 { name="gcdnet"; version="1.0.5"; sha256="159dl8v1n7s9wnfrjb6f0b3ssblkqgbfzs15vjxhc8xkz0jp9z1c"; depends=[Matrix]; };
-  gcerisk = derive2 { name="gcerisk"; version="17.10.17"; sha256="0l5yasy7bqmcah0fb3j8nafsb79f2s3wdb7jill9mwns00icb6sl"; depends=[cmprsk ggplot2 survival]; };
+  gcerisk = derive2 { name="gcerisk"; version="18.02.22"; sha256="1wy9l4s17ji5xj1cxjnb59qz3242yjs4zp76fy3rg1m0k7ib52vg"; depends=[cmprsk ggplot2 survival]; };
   gcite = derive2 { name="gcite"; version="0.9.2"; sha256="1xwnf8hsakzqg5nm5c14zw239scd2dl9rfd02mj5xp6548qwxrz9"; depends=[data_table httr pbapply rvest tm wordcloud xml2]; };
   gclus = derive2 { name="gclus"; version="1.3.1"; sha256="02ba6zj9bjwrzykamjp40ajynx9xjx9h2i85n0ym0r5lcki4x6fn"; depends=[cluster]; };
   gcmr = derive2 { name="gcmr"; version="1.0.0"; sha256="13xja7rh2wkmi2j7yxrkj99sl96mlcgkp3v5aagnz140jx3jibsx"; depends=[betareg car Formula geoR lmtest nlme sandwich sp]; };
@@ -6541,12 +6704,12 @@ in with self; {
   gdns = derive2 { name="gdns"; version="0.2.1"; sha256="0dvrknhx0d00yi429zjdcs3ghgbpfjhrclkn6cicd049qdp4q396"; depends=[dplyr httr jsonlite purrr stringi tibble]; };
   gdpc = derive2 { name="gdpc"; version="1.0.3"; sha256="0qc9wl7zxqwzigvzpm0nyx735ah8ascmcwd0yays5mqc74iqqx3b"; depends=[doParallel foreach Rcpp RcppArmadillo xts zoo]; };
   gds = derive2 { name="gds"; version="0.1.0"; sha256="0kc3l93640x8d6g3pa9gbr7ci5hmryg9i1nqpasgnvb6ixv6azbm"; depends=[]; };
-  gdtools = derive2 { name="gdtools"; version="0.1.6"; sha256="103wnc8sq0iwcnj4j14hd420d2dqdyf13s3f25icsznrlyzdkhf5"; depends=[Rcpp withr]; };
+  gdtools = derive2 { name="gdtools"; version="0.1.7"; sha256="122k9spymawfnfyksxyapwq9cigydy5nrjwhrwrhy3qkax3aycf6"; depends=[Rcpp withr]; };
   gear = derive2 { name="gear"; version="0.1.1"; sha256="1sqj9pz15j1v6fm4q2dp0zhdmy9zmmhmgxjwria5ihrp3b5hvwry"; depends=[lattice optimx sp]; };
   gee = derive2 { name="gee"; version="4.13-19"; sha256="14n2fa2jmibw5j8n4qgbl8xbxhapmx4z3zrmkbcci39k9dsyplzb"; depends=[]; };
   gee4 = derive2 { name="gee4"; version="0.1.0.0"; sha256="1vvzb9sc69g292zmh9djd15jgc7falypd5p7mzw6ps7mirpbnicf"; depends=[Formula Rcpp RcppArmadillo]; };
   geeM = derive2 { name="geeM"; version="0.10.0"; sha256="0bk99kwh6xapkaxc3yis5x3d49j7pb45hq4ksbmkhz6ba21c4sn5"; depends=[Matrix]; };
-  geecure = derive2 { name="geecure"; version="1.0-2"; sha256="0y3h079hyr8p6i0hyf0zzkbfds36zz782ffiw18w7qavnj70yj98"; depends=[geepack MASS Matrix survival]; };
+  geecure = derive2 { name="geecure"; version="1.0-6"; sha256="0nmnrkfgblv38qvk66bdk8933icr59mayqwljkvmpy59sm6br2k5"; depends=[geepack MASS Matrix survival]; };
   geepack = derive2 { name="geepack"; version="1.2-1"; sha256="13fkz38rsdk1byv6rdpdmphz5dd31r4h8ms49hali6hjh5rydzvy"; depends=[]; };
   geesmv = derive2 { name="geesmv"; version="1.3"; sha256="0gm953z8q5cc1adl3d6vj5djg2inc880zfcdl5gd56fnb5gl6h1w"; depends=[gee MASS matrixcalc nlme]; };
   geex = derive2 { name="geex"; version="1.0.3"; sha256="0px197mz3qfx7s4wfdjlgjpss03y7wid1qa34xf4xan05dnrrnzc"; depends=[lme4 Matrix numDeriv rootSolve]; };
@@ -6558,7 +6721,7 @@ in with self; {
   gems = derive2 { name="gems"; version="1.1.1"; sha256="174mjnpldb0rwjvwdgpcg1acm526gs0pjf9gi5mn9d3x9yz4r5jx"; depends=[data_table MASS msm plyr]; };
   gemtc = derive2 { name="gemtc"; version="0.8-2"; sha256="0c2a9gz6rvsc5qh66ixxa4dz6lwhcmmsf2vnvxl98c9kbvdwfqm9"; depends=[coda igraph meta plyr Rglpk rjags truncnorm]; };
   genBaRcode = derive2 { name="genBaRcode"; version="1.0.0"; sha256="0313kyhy9bg9rabxk2jdgxq2brhj2kkiq0xyd3mlq6j9c626pqi8"; depends=[ape Biostrings ggnetwork ggplot2 igraph network phangorn RColorBrewer reshape2 S4Vectors shiny ShortRead stringdist visNetwork]; };
-  genBart = derive2 { name="genBart"; version="1.0.0"; sha256="0ykmpisp6s1bam09srn7zxrqv5ma55l5x143nj46y8lw91zhmi9n"; depends=[clValid data_table fastcluster ggplot2 gtools limma NMF pca3d psych qusage RColorBrewer reshape2 rmarkdown scales shiny shinydashboard shinyjs statmod stringr VennDiagram]; };
+  genBart = derive2 { name="genBart"; version="1.0.1"; sha256="12z5vj41npwawz954zqkjfmg9inh063ilh7m82pn73asrxif0ay3"; depends=[clValid data_table fastcluster ggplot2 gtools limma NMF pca3d psych qusage RColorBrewer reshape2 rmarkdown scales shiny shinydashboard shinyjs statmod stringr VennDiagram]; };
   genMOSS = derive2 { name="genMOSS"; version="1.2"; sha256="18qinckzz7wsw222skrq30izbj6s85i8hq6iicj9nng8gh6jydr8"; depends=[ROCR]; };
   genMOSSplus = derive2 { name="genMOSSplus"; version="1.0"; sha256="1n3ngx1piy3l14k5k95wrgvrjw9238jkygfqanl3xg2na2mmkr26"; depends=[]; };
   genSurv = derive2 { name="genSurv"; version="1.0.3"; sha256="0k5rfpq603szjb76gxffvsbqcav8182h8zwvg4kar68k72yfw1xs"; depends=[]; };
@@ -6566,8 +6729,8 @@ in with self; {
   genasis = derive2 { name="genasis"; version="1.0"; sha256="1r0733cc2hss3f8dp19s1ji55yp72mds7p3x1zvvpiks2r7w712p"; depends=[fitdistrplus Kendall]; };
   gencve = derive2 { name="gencve"; version="0.3"; sha256="00wbmaffm7mbfv3zl6mb24w1df1a8p24girwdh3a522lw3045iwf"; depends=[C50 class e1071 glmnet lars MASS nnet plus randomForest rpart]; };
   gendata = derive2 { name="gendata"; version="1.1"; sha256="1r5bhmfblhk6d31v0byhp4a0pmpri6vk697zmmx9b0hvhda7mllf"; depends=[]; };
-  gender = derive2 { name="gender"; version="0.5.1"; sha256="0qiwqnpk2pzwvvvnnny0wmmrix1aq3kwnk6n9jyvqzh0v9bzd65g"; depends=[dplyr httr jsonlite]; };
-  genderBR = derive2 { name="genderBR"; version="1.0.1"; sha256="1sbxp0wz138xxcv31xz411gp7krzghvfmjfg5hmv66l8014s6s6c"; depends=[dplyr httr jsonlite]; };
+  gender = derive2 { name="gender"; version="0.5.2"; sha256="1kd5024z9mbyiwmj7rpn7zflmpw6jsj2sz153g3ckzyhxjbc3x36"; depends=[dplyr httr jsonlite]; };
+  genderBR = derive2 { name="genderBR"; version="1.1.0"; sha256="0j5wsbv797wc48lc65yhaqhpwqyr662460vj59x7r9p7d7m1ncd0"; depends=[dplyr httr jsonlite]; };
   genderizeR = derive2 { name="genderizeR"; version="2.0.0"; sha256="0r9r5x93zr58sfrww3l2vyvjyj8lir2yds08y6dzf88rs9v15w3c"; depends=[data_table httr magrittr stringr tm]; };
   gendist = derive2 { name="gendist"; version="1.0"; sha256="0n3ax7iy40ymrxhmb88w31a4aacaps9f1iild42afin7i7vy4dq9"; depends=[]; };
   geneListPie = derive2 { name="geneListPie"; version="1.0"; sha256="0z2gawfzhm05dafj4zlj6ifmf0dy7p1hrpa59lzxrnrc0wr6laji"; depends=[]; };
@@ -6584,9 +6747,10 @@ in with self; {
   genie = derive2 { name="genie"; version="1.0.4"; sha256="0ymrn42ik0rfildmyq4z0gsd7injda0dsjgx69nqb6hq0x8s5hqa"; depends=[Rcpp]; };
   geniusr = derive2 { name="geniusr"; version="1.0.0"; sha256="0akz6hkw9mjwgx9s9j24j5l1z4q41kbhna2245l26ymn4cf0rwjc"; depends=[httr purrr rvest stringr tibble xml2]; };
   genlasso = derive2 { name="genlasso"; version="1.3"; sha256="1q4ybg8xzphnqwywwdb7i2q94dlxwpggvisjqqdj39jh2cabda57"; depends=[igraph MASS Matrix]; };
-  genlogis = derive2 { name="genlogis"; version="0.5.0"; sha256="0ybbfm9znkm52kin4f8dxb63rn6b91zsa31baw1lgczh41yswg3r"; depends=[distr doParallel foreach ggplot2 manipulate]; };
+  genlogis = derive2 { name="genlogis"; version="1.0.0"; sha256="01av5invhviii7adqihh10ib47rjzwfsqdgw3lfg1c72kzrqywgr"; depends=[distr doParallel foreach ggplot2 manipulate]; };
   geno2proteo = derive2 { name="geno2proteo"; version="0.0.3"; sha256="1q054ai42f5gmrj791abj02f663zs7ymdh3pfs3b2lq6i4w9s2fb"; depends=[BiocGenerics GenomicRanges IRanges R_utils RUnit S4Vectors]; };
   genoPlotR = derive2 { name="genoPlotR"; version="0.8.7"; sha256="1zplk0acismv4x528rmmg5jcv6ng6c4vjf5h0mr124fj3kizsrg0"; depends=[ade4]; };
+  genogeographer = derive2 { name="genogeographer"; version="0.1.8"; sha256="1sawxazfyi29h27lyrkkg0cqirmca59387z77r2jamcj6yx4lpxg"; depends=[dplyr DT forcats ggplot2 knitr leaflet magrittr purrr readr rio rmarkdown shiny shinycssloaders shinyjs tibble tidyr]; };
   genomeplot = derive2 { name="genomeplot"; version="1.0"; sha256="15v01ngxq7kxav1bhw1mvqradrmvwsad5xh9l5skivb5smh9795w"; depends=[ggplot2]; };
   genomic_autocorr = derive2 { name="genomic.autocorr"; version="1.0-1"; sha256="1lidrjz1flxw4jvhqdi8y813m7ss4kkvm7bxsdpz60dxxw3204gm"; depends=[data_table magrittr reshape]; };
   genomicper = derive2 { name="genomicper"; version="1.6"; sha256="12msl6syw5a3dvxg9fr1yprcpb9qwn8v2dvkpxgagal11p9q1kx7"; depends=[DBI]; };
@@ -6595,6 +6759,7 @@ in with self; {
   genridge = derive2 { name="genridge"; version="0.6-6"; sha256="1hqarvd767h2vbjqfjzdr0548hxj87kv1073hfqyq5fybdlzsjx3"; depends=[car]; };
   gensemble = derive2 { name="gensemble"; version="1.0"; sha256="0yyi7djzqx4yhxp6yy1rjgvzidjlna79ds89bgj6m6zj3aav6yw2"; depends=[]; };
   gensphere = derive2 { name="gensphere"; version="1.1"; sha256="1xzli40fw94n89cv2qyb321csad1w9zidqc226wlifl2m44cw6f7"; depends=[geometry mvmesh rgl SimplicialCubature SphericalCubature]; };
+  gensvm = derive2 { name="gensvm"; version="0.1.0"; sha256="19qd67x3j0b60wsbinjny7jwx5yh8hdk6387fl64frnq8fvi9d60"; depends=[]; };
   geo = derive2 { name="geo"; version="1.4-3"; sha256="0yxlafm99ypwf1700nh3hnnpndb6ghwwbi5sp6715zjbkkx94482"; depends=[mapdata maps]; };
   geoBayes = derive2 { name="geoBayes"; version="0.3.3"; sha256="1jw0fj39gzf4cislc889ndgj34svcdxk0jz85ssk936g9gp0mm0c"; depends=[coda sp]; };
   geoCount = derive2 { name="geoCount"; version="1.150120"; sha256="1kcjqls91r6p8ykn901c5p3v2lzbyainahhjpnr5c3a57v8s73ms"; depends=[Rcpp RcppArmadillo]; };
@@ -6604,13 +6769,15 @@ in with self; {
   geoSpectral = derive2 { name="geoSpectral"; version="0.17.4"; sha256="0i2k5k66gmf7zvipcd0a489rnpj14j4a4xw9k5dccpj6ybwd47l7"; depends=[dplyr leaflet maps plotly rbokeh rgdal sp spacetime xts]; };
   geoaxe = derive2 { name="geoaxe"; version="0.1.0"; sha256="043y7kb24hp66j7pnpqsdixvdmppwp72y8i4f8q7xrkhaqlfb93v"; depends=[jsonlite rgeos sp]; };
   geoelectrics = derive2 { name="geoelectrics"; version="0.1.5"; sha256="0zy9m5k4b359mn29cd62cnwjm4fc19hy3l8p587yrrhsi20nbyna"; depends=[fields lattice rgl]; };
-  geofacet = derive2 { name="geofacet"; version="0.1.5"; sha256="1fx7qgvyqkm8728ai1nd7kgj295q46jlps56zwvlvlzhqy437p5n"; depends=[ggplot2 gtable]; };
+  geofacet = derive2 { name="geofacet"; version="0.1.9"; sha256="0z9xd24hn9j8azd4kal81lz72zy6vv9rvwx1jsmkq7z7f1wwly48"; depends=[geogrid ggplot2 ggrepel gridExtra gtable imguR rnaturalearth sp]; };
   geofd = derive2 { name="geofd"; version="1.0"; sha256="16312g9mgw52mpsfky1j20zcqkkv91ihl0xhvv1bl80diffzf0zi"; depends=[fda geoR]; };
+  geogrid = derive2 { name="geogrid"; version="0.1.0"; sha256="1aiar70cy8rf7hc7kwc2g3p02x3zmp6nf9vfjjrjm94mb7yr8s48"; depends=[Rcpp RcppArmadillo rgeos sf sp]; };
   geohash = derive2 { name="geohash"; version="0.3.0"; sha256="1yabnf0a6jd4r6zh83sxb9wcn4vs8csp7c80qs6pi1nx016lirx7"; depends=[Rcpp]; };
   geojson = derive2 { name="geojson"; version="0.2.0"; sha256="1xvbkdaaf55x015pflvcdy06ayrmhqi3my0sdqb48z129rdbr3i7"; depends=[jqr jsonlite lazyeval magrittr protolite sp]; };
   geojsonR = derive2 { name="geojsonR"; version="1.0.4"; sha256="0248lb1kgj43czp5z4q7dcrq6ra0jhq62q9x79mgyb83bqn940h8"; depends=[R6 Rcpp RcppArmadillo]; };
-  geojsonio = derive2 { name="geojsonio"; version="0.5.0"; sha256="1ywrzjksiim7xhjywhjmp6s3dalqyzh1948xr8958ahpbk242252"; depends=[geojson httr jqr jsonlite magrittr maptools readr rgdal rgeos sp V8]; };
+  geojsonio = derive2 { name="geojsonio"; version="0.6.0"; sha256="10vi40ppy65yg655xy0j8zl6icn7d7icwfj4a84wpp28pd1bwic8"; depends=[geojson httr jqr jsonlite magrittr maptools readr rgdal rgeos sf sp V8]; };
   geojsonlint = derive2 { name="geojsonlint"; version="0.2.0"; sha256="05j7059s1hs8i2fkmkv0mqmda3bgk5zbyi865ab0vl361wiwmdya"; depends=[httr jsonlite jsonvalidate V8]; };
+  geojsonsf = derive2 { name="geojsonsf"; version="0.2.0"; sha256="1jc0dgxk4zlrwy6a3y2j87a7vk9w8cnmczhaf0jdw6xymmni1faw"; depends=[rapidjsonr Rcpp]; };
   geoknife = derive2 { name="geoknife"; version="1.5.5"; sha256="0azb98zk4ayfm0z9vz5h59490xvng16p3gpdn60ca9mwdikyxks3"; depends=[curl httr sp XML]; };
   geomapdata = derive2 { name="geomapdata"; version="1.0-4"; sha256="1g89msnav87kim32xxbayqcx1v4439x4fsmc8xhlvq4jwlhd5xxw"; depends=[]; };
   geomedb = derive2 { name="geomedb"; version="0.2"; sha256="1nsf7xzqayk8zbw3b6xpgiqk2w2kzc896gjswzxq128xw05cia0a"; depends=[ape httr]; };
@@ -6620,7 +6787,7 @@ in with self; {
   geomnet = derive2 { name="geomnet"; version="0.2.0"; sha256="0xanzx8p34bac4zcf9j69nivwhllvsrw7x70mzgl95jhg3gvv96a"; depends=[dplyr ggplot2 network plotly readr sna tidyr]; };
   geomorph = derive2 { name="geomorph"; version="3.0.5"; sha256="015ijpmx44agmr2ddwgxy5rs1rhkxr6j6dh5wzksaw1p4mxmhfks"; depends=[ape geiger jpeg Matrix rgl]; };
   geonames = derive2 { name="geonames"; version="0.998"; sha256="1p0x260i383ddr2fwv54pxpqz9vy6vdr0lrn1xj7178vxic1dwyy"; depends=[rjson]; };
-  geoops = derive2 { name="geoops"; version="0.1.2"; sha256="1p2nc6lhqvnxs4l8k0kyqb7mjigaycjms61139sd39qs6wy7cnvp"; depends=[Rcpp]; };
+  geoops = derive2 { name="geoops"; version="0.1.8"; sha256="1n863z83y19bn97clfddhv009c8d6a1grya0q5pk0a6ylihcw11h"; depends=[Rcpp]; };
   geoparser = derive2 { name="geoparser"; version="0.1.1"; sha256="0rk2wcig79r28a974bc181p8vypxzbgxcb9rsp24qj9mg02rn5n5"; depends=[digest dplyr httr jsonlite lazyeval purrr stringr tidyr]; };
   geophys = derive2 { name="geophys"; version="1.4-1"; sha256="1s64sbr0chv0z2vaw059khfkv8iga1kr6428kkglgafq5x2d6h3q"; depends=[cluster GEOmap RFOC RPMG RSEIS]; };
   georob = derive2 { name="georob"; version="0.3-6"; sha256="01gq9ymqk3zyjs5n7nj27ky2bnhc7x7npbipa5bcq7jda6gxirhr"; depends=[abind constrainedKriging fields lmtest nleqslv nlme quantreg RandomFields robustbase snowfall sp]; };
@@ -6630,33 +6797,35 @@ in with self; {
   geosphere = derive2 { name="geosphere"; version="1.5-7"; sha256="186qdm5niq7v3d4w4rngx71znsgi44hnam7698bsx9ar5mg5b6wx"; depends=[sp]; };
   geospt = derive2 { name="geospt"; version="1.0-2"; sha256="1814nn0naxvbn0bqfndpmizjbqcs6rm87g2s378axkn6qpii4bh8"; depends=[fields genalg gsl gstat limSolve MASS minqa plyr sgeostat sp TeachingDemos]; };
   geosptdb = derive2 { name="geosptdb"; version="0.5-0"; sha256="0m0dlazhq2za71mi3q8mz2zvz7yrmda7lha02kh9n820bx89v33z"; depends=[FD fields geospt gsl limSolve minqa sp StatMatch]; };
-  geostatsp = derive2 { name="geostatsp"; version="1.6.0"; sha256="12lkmwfg4wqmc13xzsmgc1g624v2kpacxpycwlcafr60rbix6f9w"; depends=[abind Matrix numDeriv raster sp]; };
+  geostatsp = derive2 { name="geostatsp"; version="1.7.1"; sha256="141mvwkqk2jpyggmzvm604s37h92gbmzch3d84dq3ng29mc507s2"; depends=[abind Matrix numDeriv raster sp]; };
   geotech = derive2 { name="geotech"; version="1.0"; sha256="18s7w6h1svc4n1hcgj5njfkf3nflkc53cdwsq5112p3442rlz33f"; depends=[]; };
   geotools = derive2 { name="geotools"; version="0.1"; sha256="0d0vf9dvrrv68ivssp58qzaj8vra26ms33my097jmzmgagwy1spd"; depends=[]; };
   geotoolsR = derive2 { name="geotoolsR"; version="1.0"; sha256="1arbyb1q96ya3smn9sqzqji5v21x37iyyxmvlmqmjj75an8ix5dp"; depends=[dplyr geoR ggplot2 tidyr]; };
   geotopbricks = derive2 { name="geotopbricks"; version="1.4"; sha256="1jqkdhljf0syfvkcy7wgaccrhp3hfx0kymw3vyckhmf1dkwbjvyj"; depends=[raster rgdal stringr zoo]; };
   geozoning = derive2 { name="geozoning"; version="1.0.0"; sha256="0cqdi2jgqrxc339qkr57dp11jp40x99f9inwamnh7ymg2q7kq14s"; depends=[deldir fields ggplot2 gstat maptools RandomFields raster rgeos sp]; };
   geozoo = derive2 { name="geozoo"; version="0.5.1"; sha256="0g91yhg7zw1bp0lxxblr2irckjg2rl4pg1vgglccnmxkzn0ji2qi"; depends=[bitops]; };
-  gepaf = derive2 { name="gepaf"; version="0.1.0"; sha256="0ld7r0dkap7bpmb2fc8x0pzffvnlzp2q1bndx4l2ffiyygsq6f72"; depends=[bitops]; };
+  gepaf = derive2 { name="gepaf"; version="0.1.1"; sha256="0n36w40jrq3qkgmhz9wrnhp6fczw7bm96g950sa4nq33872xhfgm"; depends=[bitops]; };
+  germinationmetrics = derive2 { name="germinationmetrics"; version="0.1.0"; sha256="1s6mygiwmz2cgg2dcsah4ssnj5hfilf7hfdzvv3qd57imicrlkk5"; depends=[broom ggplot2 ggrepel minpack_lm plyr Rdpack]; };
   gesca = derive2 { name="gesca"; version="1.0.4"; sha256="1ndn8wgp22pr017x6v7jw8jy4gd06x8110qa860hw8i6pn47wfwv"; depends=[]; };
   gesis = derive2 { name="gesis"; version="0.2.1"; sha256="1cdmhfdjiwsp48a7b0r1mnagnymz606mkzpam9fsvfl72vzji2w7"; depends=[httr rvest xml2]; };
   getCRUCLdata = derive2 { name="getCRUCLdata"; version="0.2.2"; sha256="14rw7pdcan4bdjfb16z3h0acx2s8l34vywsp4nn8l1pmmsvgqpap"; depends=[data_table dplyr hoardr httr raster tibble tidyr]; };
   getMet = derive2 { name="getMet"; version="0.3.2"; sha256="0j1h1vy8rd7czpnb4msdb9k560pnh7kjkmpqqwzwin2ms1c0mggb"; depends=[EcoHydRology jsonlite]; };
   getPass = derive2 { name="getPass"; version="0.2-2"; sha256="03ydafhh0sk3rcnpr3paajyji64x2ddp6p814p9mvbmyrblcgzcc"; depends=[rstudioapi]; };
-  getTBinR = derive2 { name="getTBinR"; version="0.5.2"; sha256="0rgjsfvrg3llpj5mnyrypm57yli680i5ir3fw1dgyh40p8pmaks0"; depends=[data_table dplyr ggplot2 ggthemes magrittr plotly purrr scales tibble viridis]; };
+  getTBinR = derive2 { name="getTBinR"; version="0.5.3"; sha256="0yn8abdixckp32yicp1b5bqmdl4l9s3f67jb8d70yy77kyckzw3m"; depends=[data_table dplyr ggplot2 ggthemes magrittr plotly purrr scales tibble viridis]; };
   getlandsat = derive2 { name="getlandsat"; version="0.1.0"; sha256="0h2520r5sqyzsajqw2i86byw9zm5za27mhjkrzzw5vr5sh1vdiwb"; depends=[data_table httr rappdirs readr tibble xml2]; };
   getmstatistic = derive2 { name="getmstatistic"; version="0.1.1"; sha256="14w0n658s624anvxv7sqcgy6vfaaxcc7fj4xi1k2qrxd9rdh6dza"; depends=[ggplot2 gridExtra gtable metafor psych stargazer]; };
   getopt = derive2 { name="getopt"; version="1.20.2"; sha256="13p35lbpy7i578752fa71sbfvcsqw5qfa9p6kf8b5m3c5p9i4v1x"; depends=[]; };
-  gets = derive2 { name="gets"; version="0.14"; sha256="01pdpw56q27ihqyp58f0rsggqaqzay74ah1lwi54y7kcyw09yq5w"; depends=[zoo]; };
+  gets = derive2 { name="gets"; version="0.15"; sha256="1sz225bymjp2mrklpjagh6x622kpcvh21r0rmimd1mjhqbg0p9vs"; depends=[zoo]; };
   gettingtothebottom = derive2 { name="gettingtothebottom"; version="3.2"; sha256="1cz2vidh7k346qc38wszs2dg6lvya249hvcsn6zdpbx0c0qs3y72"; depends=[ggplot2 Matrix]; };
   gettz = derive2 { name="gettz"; version="0.0.3"; sha256="1i06nfm824131q8lwwhrbzg2g9lbnmyp8k57w2vag7v8jj5rdrda"; depends=[]; };
   gfcanalysis = derive2 { name="gfcanalysis"; version="1.4"; sha256="1hjgbiakf01mmaa2jhlnymcsjsj1zssay44p4sdxxxzpx4szs3vv"; depends=[animation geosphere ggplot2 plyr raster rasterVis RCurl rgdal rgeos sp stringr]; };
-  gfer = derive2 { name="gfer"; version="0.1.9"; sha256="0dlcwqllhmh5gxfcldjm7z4nancl0avxl3b3xk603mzc7qkrr63j"; depends=[circlize data_table ggplot2 ggrepel googlesheets gsheet httr jsonlite rvest scatterpie stringi tidyr V8 xml2]; };
-  gfmR = derive2 { name="gfmR"; version="1.0-1"; sha256="1irzkiq93wh4yphq8x1v2a7plcrskb8fs36qjaa0qhyhvhn0f57i"; depends=[faraway nnet]; };
+  gfer = derive2 { name="gfer"; version="0.1.10"; sha256="1y0ra8k7zka43ibiii16vbwnc3m1i77yc9zj8rhzhmvhajjwad3l"; depends=[circlize data_table ggplot2 ggrepel googlesheets gsheet httr jsonlite rvest scatterpie stringi tidyr V8 xml2]; };
+  gfmR = derive2 { name="gfmR"; version="1.1-0"; sha256="0qzzbcra1fnbp0h31b1as20yhmqmi7p62xrhikj64an9avg9b277"; depends=[faraway nnet]; };
   ggChernoff = derive2 { name="ggChernoff"; version="0.2.0"; sha256="09bh9isvx3hwwvg72fv6z3fvp8dimpbhvbp328z8amq8jjhph4vf"; depends=[ggplot2 scales]; };
-  ggExtra = derive2 { name="ggExtra"; version="0.7"; sha256="0vygac13cjcq63f57zd28jyla09za58r77kq1mmsa4qx4dxyfsbl"; depends=[colourpicker ggplot2 gtable miniUI shiny shinyjs]; };
+  ggExtra = derive2 { name="ggExtra"; version="0.8"; sha256="1m5zpn3l3p1y3d2692gyz50m63d58m2a3b7zb595kvcffdx2qr5b"; depends=[colourpicker ggplot2 gtable miniUI scales shiny shinyjs]; };
   ggFacetSample = derive2 { name="ggFacetSample"; version="1.0.0"; sha256="04h5j54wblrygiscvb6n40b9lz42ssds1yz9qs5hxppiph68k5zq"; depends=[ggplot2 plyr]; };
   ggQC = derive2 { name="ggQC"; version="0.0.2"; sha256="1wi9hb5ihix2vfpzbhpq2clbs7c0qh84qbmdfcxw4lknb0ha9ai1"; depends=[dplyr ggplot2 tidyr]; };
+  ggQQunif = derive2 { name="ggQQunif"; version="0.1.5"; sha256="0vrxmqxy946mwdq0mb2m1ch41r0chrw7hcn18dr3mp10bv7pl7wj"; depends=[dplyr ggplot2 scales]; };
   ggROC = derive2 { name="ggROC"; version="1.0"; sha256="0p9gdy7ia59d5m84z9flz5b03ri7nbigb3fav2v2wrml300d24vn"; depends=[ggplot2]; };
   ggRandomForests = derive2 { name="ggRandomForests"; version="2.0.1"; sha256="0f8m0j79d8wbac14zk1s8812rz6vgf04bz1iqq8p4d3sxwnvaj7q"; depends=[ggplot2 randomForest randomForestSRC survival tidyr]; };
   ggThemeAssist = derive2 { name="ggThemeAssist"; version="0.1.5"; sha256="1biw91a8p13h62v4w3yim6ghr98khmyhb3qd0h04asf91vvmpxbv"; depends=[formatR ggplot2 miniUI rstudioapi shiny]; };
@@ -6665,25 +6834,26 @@ in with self; {
   ggalt = derive2 { name="ggalt"; version="0.4.0"; sha256="0ssa274d41vhd6crzjz7jqzbwgnjimxwxl23p2cx35aqs5wdfjpc"; depends=[ash dplyr extrafont ggplot2 gtable KernSmooth maps MASS plotly proj4 RColorBrewer scales tibble]; };
   ggbeeswarm = derive2 { name="ggbeeswarm"; version="0.6.0"; sha256="0crk29p5vi1r3a988kms4y7r0iqwgwzsikgvh18r9wbzyr98bb5v"; depends=[beeswarm ggplot2 vipor]; };
   ggbuildr = derive2 { name="ggbuildr"; version="0.1.0"; sha256="0pld635v6fv46ky7s4icwxlcnr7z6bp5ikf20adpkljwhy0wwxak"; depends=[ggplot2 purrr readr]; };
-  ggconf = derive2 { name="ggconf"; version="0.1"; sha256="1h7z4amlycfddisf8ix5kmax56ix8hdllfn77rf4fs5sbqsqxkdm"; depends=[ggplot2 rly tibble]; };
+  ggconf = derive2 { name="ggconf"; version="0.1.3"; sha256="0g4xasqhdiqfqahakv6p5npl56f2iakx4bnc9v9zcjr077kdda4n"; depends=[ggplot2 rly]; };
   ggcorrplot = derive2 { name="ggcorrplot"; version="0.1.1"; sha256="04jq1qpsgy8bgpilp1a02va4vz0adkjwrz9znmhv54q81qiv7h51"; depends=[ggplot2 reshape2]; };
+  ggdag = derive2 { name="ggdag"; version="0.1.0"; sha256="0ja3v8pmlzl55n8y8n9zcg5n17w8w4vdq42bqf6h8hgyqj63rcg9"; depends=[dagitty dplyr forcats ggforce ggplot2 ggraph ggrepel igraph magrittr plyr purrr stringr tibble tidygraph]; };
   ggdendro = derive2 { name="ggdendro"; version="0.1-20"; sha256="1zzq1hxd0d1qa5hrzwfkdw6fzscpcafbwbpkrb62dm559y8awp0j"; depends=[ggplot2 MASS]; };
   ggdmc = derive2 { name="ggdmc"; version="0.1.3.9"; sha256="07a9g6kwq4hg5zlcxndwmyprl3di7fzsn2960qyixn5bzrfk7sh2"; depends=[coda ggmcmc ggplot2 ggthemes gridExtra loo Rcpp RcppArmadillo rtdists]; };
   gge = derive2 { name="gge"; version="1.3"; sha256="0bqclmm4jr7y52n7qh4jikd0804iccjdpy55bvbc2k8ypsp2biik"; depends=[nipals reshape2 rgl]; };
   ggedit = derive2 { name="ggedit"; version="0.2.1"; sha256="0l2ryp8xcyqsgfcywr3y6c2y8j42c15dyrcmfhfimbzy52bmnqxy"; depends=[colourpicker dplyr ggplot2 miniUI plyr reshape2 rstudioapi scales shiny shinyAce shinyBS]; };
-  ggeffects = derive2 { name="ggeffects"; version="0.3.1"; sha256="04wmyrs1pzdv120w7pq2g0x51h061lj27p42gaxfcrzdbplvrwv1"; depends=[dplyr effects ggplot2 magrittr prediction purrr rlang scales sjlabelled sjmisc sjstats tibble tidyr tidyselect]; };
+  ggeffects = derive2 { name="ggeffects"; version="0.3.2"; sha256="07xrbl8z5ap5yy40wdz4gcwmmmj66c01qv8jdn0smjf06xavbr0n"; depends=[dplyr effects ggplot2 magrittr prediction purrr rlang scales sjlabelled sjmisc sjstats tibble tidyr tidyselect]; };
   ggenealogy = derive2 { name="ggenealogy"; version="0.3.0"; sha256="169zkcp13g0ll9941a7hh31fll0mavnkb6fd3kvkibdjm621ymyh"; depends=[ggplot2 igraph plotly plyr reshape2 tibble]; };
   ggfan = derive2 { name="ggfan"; version="0.1.1"; sha256="0sqf37afz9kpl2wm3cpansav9ndil8agwrblzj0fhnyrj41s148n"; depends=[colorspace dplyr ggplot2 rstan]; };
   ggfittext = derive2 { name="ggfittext"; version="0.5.0"; sha256="0ih6mqg53y5iaiq003wbzp6qqx4844yh5z9zw5d0k7gqclprmpn5"; depends=[ggplot2 stringi]; };
   ggforce = derive2 { name="ggforce"; version="0.1.1"; sha256="0y49anv5sj1qn1ifcxg1krkkv4z3dlan5lya36vfmzzdamfgq5p6"; depends=[dplyr ggplot2 gtable lazyeval MASS Rcpp scales tweenr units]; };
   ggformula = derive2 { name="ggformula"; version="0.6.2"; sha256="08smdd3s8dh3qjcm25v8h1r8pfvlfvkymnbhlyw4bymq479g4w0j"; depends=[ggplot2 magrittr mosaicCore rlang stringr tibble]; };
-  ggfortify = derive2 { name="ggfortify"; version="0.4.2"; sha256="0xw30mkcsrigbkcqp68h51vjj9pd9fdly5j85j9q6cx22qj59jr9"; depends=[dplyr ggplot2 gridExtra scales stringr tibble tidyr]; };
+  ggfortify = derive2 { name="ggfortify"; version="0.4.4"; sha256="12fzf04yqxz0297pq4cpbnxal1vdmibi9nfcmzq5g35diypqwmg9"; depends=[dplyr ggplot2 gridExtra scales stringr tibble tidyr]; };
   gggenes = derive2 { name="gggenes"; version="0.2.0"; sha256="1s3lkdl9wmhcdra90bv8zzb16h2sdmpr15x8c3d0gfw7yir6prj2"; depends=[ggplot2]; };
   ggghost = derive2 { name="ggghost"; version="0.2.1"; sha256="0kvsjadxxdf6yvzk4a6yqkg02q1ysslvf3m0a369bdim396z4hnv"; depends=[animation ggplot2]; };
   ggguitar = derive2 { name="ggguitar"; version="0.1.1"; sha256="1lmfs54h91gzcxin37v4flkywbq3fs648mm1h9ak03xlj5nagzsi"; depends=[dplyr ggplot2 gridExtra lazyeval readr tibble]; };
   gghalfnorm = derive2 { name="gghalfnorm"; version="1.1.2"; sha256="1sy0m6pqmnjbqv60rljyblhis0dxwkhw751jhlad5arcgrcwf4k8"; depends=[ggplot2 ggrepel]; };
   gghighlight = derive2 { name="gghighlight"; version="0.0.1"; sha256="12by8q31fl2kc6w5p72wvd2nxg1cpvhgdbais6hjly1sxi8jd6zp"; depends=[dplyr ggplot2 ggrepel magrittr purrr rlang]; };
-  ggimage = derive2 { name="ggimage"; version="0.1.0"; sha256="1kh8r859bayrha96b5wyfncbns2qw49v5kfai1jx66w89x3bsr7h"; depends=[ggplot2 gridGraphics magick rvcheck scales tibble]; };
+  ggimage = derive2 { name="ggimage"; version="0.1.4"; sha256="0bwzzd7f4knjg7jifsmqwbd0kbca1n5f8f4s068d6mahaff5d9mn"; depends=[base2grob ggplot2 gridGraphics magick rvcheck scales tibble]; };
   ggiraph = derive2 { name="ggiraph"; version="0.4.2"; sha256="0bk6q0psxzggm69yyhfw047xyygp23rk63xvdd9dv6avndfn1h7n"; depends=[ggplot2 htmltools htmlwidgets rvg xml2]; };
   ggiraphExtra = derive2 { name="ggiraphExtra"; version="0.1.0"; sha256="09fiwkaai4sy5kxy4p0c4ldb8ya63czff53hbm6d8fm858fw2byw"; depends=[ggiraph ggplot2 mapproj mgcv moonBook mycor plyr reshape2 scales XML]; };
   ggjoy = derive2 { name="ggjoy"; version="0.4.0"; sha256="1s24zn7gmk52bvjjhanxby7rxbnc2yfl0nx5nv7x7z0zja8gg7nb"; depends=[ggplot2 ggridges]; };
@@ -6710,7 +6880,7 @@ in with self; {
   ggraph = derive2 { name="ggraph"; version="1.0.1"; sha256="0sm1hf2fjfia0s8m5b1x6pi8wvww77rpck86clpa2figwvck8jqr"; depends=[digest dplyr ggforce ggplot2 ggrepel gtable igraph MASS plyr Rcpp scales viridis]; };
   ggraptR = derive2 { name="ggraptR"; version="1.0"; sha256="1n3ildrm8jh6m1j8njx1icbjhpkv3d2ndx59d6ddyg4np09cmp8w"; depends=[assertthat backports colorspace colourpicker DBI dplyr DT evaluate futile_logger futile_options gdtools GGally ggplot2 ggthemes gtable htmltools htmlwidgets httpuv labeling lambda_r lazyeval magrittr miniUI munsell plyr RColorBrewer Rcpp reshape rmarkdown rprojroot scales shiny shinyBS shinyjs stringi stringr svglite tibble xtable yaml]; };
   ggrepel = derive2 { name="ggrepel"; version="0.7.0"; sha256="0g0qfm6g71rv27423c1x846ipilnj213knyzrcr09vrpxc87l618"; depends=[ggplot2 Rcpp scales]; };
-  ggridges = derive2 { name="ggridges"; version="0.4.1"; sha256="0kfa3icqdalqdg1klxjrhfl7if35d3wnsiyl86bprw5dyqyh3lh3"; depends=[ggplot2 plyr scales]; };
+  ggridges = derive2 { name="ggridges"; version="0.5.0"; sha256="1znvsbl3px8dddpjgdrygnpz4s685wizi0jnjvx2hrz58i0chjqj"; depends=[ggplot2 plyr scales withr]; };
   ggsci = derive2 { name="ggsci"; version="2.8"; sha256="1s2asx9aprpzs6xqbl7yb1dv9ci9ivwqcq46fzvys8zgwzf7mkml"; depends=[ggplot2 scales]; };
   ggseas = derive2 { name="ggseas"; version="0.5.1"; sha256="1r23j701rvia49si42fbi6zws7x9r92h1bcp0a15h28hpl7zlp7l"; depends=[ggplot2 seasonal zoo]; };
   ggseqlogo = derive2 { name="ggseqlogo"; version="0.1"; sha256="13q6kcpxrqxqbji889fx63p0nsi08lk5yymkchig75r5k1d18ky1"; depends=[ggplot2]; };
@@ -6719,9 +6889,10 @@ in with self; {
   ggspatial = derive2 { name="ggspatial"; version="0.2.1"; sha256="11vminz4kwv1ny4v9h23sp7j7d45q6v4804xv9fp04qgzbzi9lv8"; depends=[abind ggplot2 maptools plyr raster reshape2 rgdal rosm scales sp]; };
   ggspectra = derive2 { name="ggspectra"; version="0.2.3"; sha256="11y2vlcpxyh56pdfzz11bkip2nxv6rrwscqv48p5fvgn9sllly4q"; depends=[dplyr ggplot2 ggrepel lubridate photobiology photobiologyWavebands reshape2 scales tidyr]; };
   ggstance = derive2 { name="ggstance"; version="0.3"; sha256="0sr84nasr8x8ib3mdsjck73gbfg9xba50s5nxdij0ah9xqnpyhpi"; depends=[ggplot2 lazyeval plyr purrr]; };
+  ggstatsplot = derive2 { name="ggstatsplot"; version="0.0.1"; sha256="07fpavl7735a7fhaiybf55125afs40ai8sag32xxsf8d24i5zl2s"; depends=[apaTables broom coin cowplot crayon DescTools dplyr effsize ggcorrplot ggExtra ggplot2 ggrepel gtable jmv magrittr MASS nortest purrr rlang RVAideMemoire sfsmisc tibble tidyr userfriendlyscience WRS2]; };
   ggswissmaps = derive2 { name="ggswissmaps"; version="0.1.1"; sha256="0is48x6k2p5dgj9q4km0dv33a9pcpfhlai9vz295y3acpyrkmnn4"; depends=[ggplot2]; };
   ggtern = derive2 { name="ggtern"; version="2.2.1"; sha256="05dszysn1qr5s4ji4il91pv19xjh5yd09w9f153fmg4cyfl716iz"; depends=[compositions ggplot2 gridExtra gtable latex2exp lattice MASS plyr proto scales]; };
-  ggthemes = derive2 { name="ggthemes"; version="3.4.0"; sha256="1jj8lp7jbk3489kpgbw4b5phpn01gkfmksc21c6sn3x6wmzyn6hs"; depends=[assertthat colorspace ggplot2 scales]; };
+  ggthemes = derive2 { name="ggthemes"; version="3.4.2"; sha256="0i7ygpizs00acizixc29bhbrci523ys7vzxbii9b3bcmfa3pj7i3"; depends=[assertthat colorspace ggplot2 scales]; };
   ggversa = derive2 { name="ggversa"; version="0.0.1"; sha256="0xqn8iznrm8q30pxwka88wi1z7lndi6lm12rq6ngcaxf294fbz01"; depends=[]; };
   ggvis = derive2 { name="ggvis"; version="0.4.3"; sha256="1p7c8f83da30grj5n0v80p5djp6z0r62z5zqpv2a3ahn61w1gm9l"; depends=[assertthat dplyr htmltools jsonlite lazyeval magrittr shiny]; };
   gh = derive2 { name="gh"; version="1.0.1"; sha256="1llinfajb0g7006jd2w1hpskxpmkjhnqarcjb71r1qvsccb2ph7k"; depends=[httr ini jsonlite]; };
@@ -6732,7 +6903,9 @@ in with self; {
   gibble = derive2 { name="gibble"; version="0.0.2"; sha256="0a9h3q0kwk9aagcpnmih59vbm5n7hdjpa4idwagky351almblmr6"; depends=[dplyr tibble]; };
   gibbs_met = derive2 { name="gibbs.met"; version="1.1-3"; sha256="1yb5n8rkphsnxqn8rv8i54pgycv9p7x1xhinx4l5wzrds3xhf2dc"; depends=[]; };
   gifti = derive2 { name="gifti"; version="0.7.5"; sha256="1y64bc33b5f64a4khp916s9zb7kbb24xgdg3pdlh0f8m6zrbmp4a"; depends=[base64enc R_utils xml2]; };
-  gimme = derive2 { name="gimme"; version="0.3-2"; sha256="1k79c057024i59iccphzdkh0022dd4dv0vrpn3pvlw9px6j9fbz3"; depends=[igraph lavaan qgraph]; };
+  gim = derive2 { name="gim"; version="0.11.0"; sha256="1psmziq03k1nbdl64sy152ih4g625qkbp5l7msfibrcbpgz0hg7y"; depends=[numDeriv]; };
+  gimme = derive2 { name="gimme"; version="0.3-3"; sha256="0czms27yfv0iwwqljfpa21qx83282ky4misccbln4cxziyw1n7yz"; depends=[igraph lavaan qgraph]; };
+  gimmeTools = derive2 { name="gimmeTools"; version="0.1"; sha256="1g170rz3c3qx27yy67f7xab4gkm0pbbvwlwkcsczfxphad609ryl"; depends=[easycsv magrittr miniUI rhandsontable rintrojs rstudioapi shiny shinyjs shinyWidgets]; };
   gimms = derive2 { name="gimms"; version="1.1.0"; sha256="0mqffqvaapb0m0d50vg4kvdp67yq99qf54f5anwq4md0rf3x8lid"; depends=[curl Kendall ncdf4 raster RCurl zyp]; };
   giphyr = derive2 { name="giphyr"; version="0.1.2"; sha256="1id3r291xyj1ylxgmw2cbazaz0jq4bksj8bijwagcawimfxibz45"; depends=[dplyr httr miniUI purrr rstudioapi shiny tibble]; };
   gistr = derive2 { name="gistr"; version="0.4.0"; sha256="1q1wp3q3ppkclvw9fsc9pr5raqv2r9rdm2n8s197b8brfcjilxsi"; depends=[assertthat dplyr httr jsonlite knitr magrittr rmarkdown]; };
@@ -6742,7 +6915,7 @@ in with self; {
   gitlabr = derive2 { name="gitlabr"; version="0.9"; sha256="0i9sqqvn9xzknybsj9nmi6kclw8c35shy658li17455d28gv4653"; depends=[base64enc dplyr httr magrittr purrr stringr tibble yaml]; };
   gitter = derive2 { name="gitter"; version="1.1.1"; sha256="10m4rs6mhg7xn8dfd41ai0bnn5bnxn6cgqip22hrrpj0i2lzky6l"; depends=[EBImage ggplot2 jpeg logging PET tiff]; };
   givitiR = derive2 { name="givitiR"; version="1.3"; sha256="0y2slhxhj7k413kjaydin9hq3x2xgx4cgjshdplwnmg3x2nakn31"; depends=[alabama rootSolve]; };
-  gjam = derive2 { name="gjam"; version="2.1.8"; sha256="1232sdmdndxk0bxr1q9jx4gld9spb7mxybxkp9w1abv9391h91fp"; depends=[MASS RANN Rcpp RcppArmadillo]; };
+  gjam = derive2 { name="gjam"; version="2.2.1"; sha256="0xjkssxgpcpn37amkjwi5cjdx5b8lkgjaw2lm4wyjjfn59jj3d14"; depends=[MASS RANN Rcpp RcppArmadillo]; };
   gk = derive2 { name="gk"; version="0.5.1"; sha256="1hgxb1lp78pbnj22i7ryf46im301j05y7hh75z2fxvv5nqgg2v75"; depends=[Ecdat lubridate progress]; };
   gkmSVM = derive2 { name="gkmSVM"; version="0.79.0"; sha256="04dakbgfvfalz4rm4fvvybp506dn5fbj5g86ybfhrc6wywjllsz3"; depends=[BiocGenerics Biostrings GenomeInfoDb GenomicRanges IRanges kernlab Rcpp ROCR rtracklayer S4Vectors seqinr]; };
   glacierSMBM = derive2 { name="glacierSMBM"; version="0.1"; sha256="0117fzz2b1lccs0kkwz59w2yysi72j54yvz7373pz11w7rjds84f"; depends=[raster sp udunits2]; };
@@ -6753,11 +6926,11 @@ in with self; {
   glba = derive2 { name="glba"; version="0.2"; sha256="0ckcz6v6mfbv34s8sp086czhb5l58sky79k84332rrz6wj47p3md"; depends=[]; };
   glcm = derive2 { name="glcm"; version="1.6.1"; sha256="0xzfhafc7326v3g1xngp584039iknw3q3bcx8f0j4ig125in7sxk"; depends=[Rcpp RcppArmadillo]; };
   gld = derive2 { name="gld"; version="2.4.1"; sha256="0ycm3w8s5bm5w2lqy0qa877cwjcwc9x1zyyyrknwwjjxip250iaw"; depends=[e1071 lmom]; };
-  gldrm = derive2 { name="gldrm"; version="1.4"; sha256="0kjd78zpn65zs7nd2fqmm5qs6d0vyjyww93jgcx5ay5qpx83vyrv"; depends=[]; };
+  gldrm = derive2 { name="gldrm"; version="1.5"; sha256="1mbdxqjw6sa47kigwrjq1gn6vi36zhg9j2lck144iwa10ms0y9xp"; depends=[]; };
   glinternet = derive2 { name="glinternet"; version="1.0.7"; sha256="0kvhkhkhf5bmqvhxiz83cqw478s55gbkk3s2csa9bnz8ymkcn3f4"; depends=[]; };
   gllm = derive2 { name="gllm"; version="0.35"; sha256="1m9asamh2yha9q8mrllvvc9qj2im6cspvfpafzc8krmh17zq4ins"; depends=[]; };
   gllvm = derive2 { name="gllvm"; version="0.1.0"; sha256="13ca5ms6bbrj3ny5n438v5ma0d7ccnghysz7c8452cpdq8sn87iy"; depends=[fishMod MASS Matrix mvabund mvtnorm Rcpp RcppEigen statmod TMB]; };
-  glm_ddR = derive2 { name="glm.ddR"; version="0.1.1"; sha256="123xqyw73l5lv746zvy2wjwr8xx6gpmwi5n86m8d05dj3bx02dzm"; depends=[ddR Matrix]; };
+  glm_deploy = derive2 { name="glm.deploy"; version="1.0.4"; sha256="1akklvbhz2pp0sv1hax1jq0s9ajbfv1597z643gh5l9hwizj2h9m"; depends=[Rcpp]; };
   glm_predict = derive2 { name="glm.predict"; version="3.0-0"; sha256="1kqh8g7mrpfnzklk23x7ckbn5p2qcw951cg4s9gnlncggby864ig"; depends=[MASS nnet]; };
   glm2 = derive2 { name="glm2"; version="1.1.3"; sha256="0mmvba1ccmykm2k02ysjbiqj1lwzdwrbxr1hq1kn1gl97xlarp2x"; depends=[]; };
   glmBfp = derive2 { name="glmBfp"; version="0.0-51"; sha256="15jm450j1f0nl7vqvpb2mwapdlvn7kq2kxf5s96x21siwsz7sssv"; depends=[coda Rcpp RcppArmadillo rms Runuran statmod survival]; };
@@ -6767,13 +6940,13 @@ in with self; {
   glmertree = derive2 { name="glmertree"; version="0.1-1"; sha256="0wfpx7y6x9ll86av399i7vaycjjbgmmmh78wy77cbq0gkp1rzb47"; depends=[Formula lme4 partykit]; };
   glmgraph = derive2 { name="glmgraph"; version="1.0.3"; sha256="16sq6i7kbw20nvwikpa02z3pb7wqw3270j6ss7f8sgf548skhmx0"; depends=[Rcpp RcppArmadillo]; };
   glmlep = derive2 { name="glmlep"; version="0.1"; sha256="0jnm3cf2r9fyncxzpk87g4pnxbryqcxxrc5y2a80pv48al3sxlzk"; depends=[]; };
-  glmm = derive2 { name="glmm"; version="1.2.2"; sha256="052vdsgr05xyy7cp7bphidl795234alsrv1lwh8p698kdd3ykiv5"; depends=[Matrix mvtnorm trust]; };
+  glmm = derive2 { name="glmm"; version="1.2.3"; sha256="0cxlcx09a5vypv6kkcfvfjdpz2rnxhay0pjv6q53hdmbshmchbmj"; depends=[digest Matrix mvtnorm trust]; };
   glmmBUGS = derive2 { name="glmmBUGS"; version="2.4.0"; sha256="1clnnf0ja2xiqdgi2f1xs04hhi13rnp8jzzdjncbqbdzk2ic3ynl"; depends=[abind MASS sp]; };
   glmmLasso = derive2 { name="glmmLasso"; version="1.5.1"; sha256="1az9vdnyqyrfn1q7zrn6x4ywx77b0vg65cni45x37b0ybkwpis39"; depends=[Matrix minqa]; };
-  glmmML = derive2 { name="glmmML"; version="1.0.2"; sha256="0ndvp7a7dxq6ygdwzq783ci1y0zb4xwnj6g4w1cm8zvqak8dxjdb"; depends=[]; };
+  glmmML = derive2 { name="glmmML"; version="1.0.3"; sha256="1svawi74rfir9czqyf194wmh4fw053n81j7prnanyfskrchkd94k"; depends=[]; };
   glmmTMB = derive2 { name="glmmTMB"; version="0.2.0"; sha256="1yqizxjapdh0n872d26bdgn8a04xc6647mnjhb40g0jj59qgmxrc"; depends=[lme4 Matrix nlme RcppEigen TMB]; };
-  glmmsr = derive2 { name="glmmsr"; version="0.2.1"; sha256="1f2q8zy3jy97y59bdyxhachkv5ndiwp71ihnspjbwz17mvc38cmn"; depends=[BH lme4 Matrix numDeriv R6 Rcpp RcppEigen]; };
-  glmnet = derive2 { name="glmnet"; version="2.0-13"; sha256="1zdqp6wnqxzp5qn2ky47phbkrxv3cpgbwmdp896h3xxjvp58sa7k"; depends=[foreach Matrix]; };
+  glmmsr = derive2 { name="glmmsr"; version="0.2.2"; sha256="05psf6yjsp3zgh7lfdh2pk1zycp7rgdk61ccm7059f60dzg182b9"; depends=[BH lme4 Matrix numDeriv R6 Rcpp RcppEigen]; };
+  glmnet = derive2 { name="glmnet"; version="2.0-16"; sha256="1brr51z1fzbpyj6myyir4g6dhbp6xwl7nx4xnvrjarnf5y0csk55"; depends=[foreach Matrix]; };
   glmnetUtils = derive2 { name="glmnetUtils"; version="1.1"; sha256="0abvxkwfadh56672qh16vql49js9ar8cz8is0bs6i8jgsl5csz91"; depends=[glmnet Matrix]; };
   glmnetcr = derive2 { name="glmnetcr"; version="1.0.3"; sha256="0w04m0q7w5xxm0yv14f2g1ykpy54pxzdplr0xcz9mn43wi4sl65a"; depends=[glmnet]; };
   glmpath = derive2 { name="glmpath"; version="0.98"; sha256="1jbiqqd1s93i941dhyyx50zlgwavhyjfw8bx13z4gz05rdvi4gn8"; depends=[survival]; };
@@ -6787,19 +6960,18 @@ in with self; {
   globalboosttest = derive2 { name="globalboosttest"; version="1.1-0"; sha256="1k7kgnday27sn6s1agzlj94asww81655d2zprx6qg7liv677bxvf"; depends=[mboost survival]; };
   globals = derive2 { name="globals"; version="0.11.0"; sha256="17spygv9m3mmn01cfxrm05pvny5ddzvr78c60hixqbfh8385na5c"; depends=[codetools]; };
   globe = derive2 { name="globe"; version="1.2-0"; sha256="0xa0q5dac0g7xdlr679f3km8nqxlm7gi4msp9fbfivfvy0rmri96"; depends=[]; };
-  glogis = derive2 { name="glogis"; version="1.0-0"; sha256="19h0d3x5lcjipkdvx4ppq5lyj2xzizayidx0gjg9ggb1qljpyw9m"; depends=[sandwich zoo]; };
+  glogis = derive2 { name="glogis"; version="1.0-1"; sha256="1sbvcg5slvd2c7fasvbj534x36rh11zq3mxv5z0jwpqd6h1xadmd"; depends=[sandwich zoo]; };
   glpkAPI = derive2 { name="glpkAPI"; version="1.3.0"; sha256="0173wljx13jali2jxz4k5za89hc64n2j9djz5bcryrqhq4rmkp87"; depends=[]; };
   glrt = derive2 { name="glrt"; version="2.0"; sha256="0p2b0digndvnn396ynv56cdg436n3ll7pxkb81rs3dhwbyqyc948"; depends=[survival]; };
   glue = derive2 { name="glue"; version="1.2.0"; sha256="0vi9y8ix95g6hjqdz9c9y4119apbdjcypdv0ag8cl6vaxqs5n9qr"; depends=[]; };
-  glycanr = derive2 { name="glycanr"; version="0.3.0"; sha256="1s3xhg31xc3x4gzxjpn9mbb7dw4m49na2mdlgr5wh1z9gxdc06pa"; depends=[coin dplyr ggplot2 tidyr]; };
   gmDatabase = derive2 { name="gmDatabase"; version="0.5.0"; sha256="0prap4a8pvylmvakd2ii87jz9bqf0vvfsxdi4iwa40nx444hqhx2"; depends=[DBI digest foreach RMySQL shiny]; };
   gma = derive2 { name="gma"; version="1.0"; sha256="08hxbs9z4vq5zjis0lgdcvlysaj1k7i0icdk3wsyqf3wd9znsibi"; depends=[car MASS nlme]; };
   gmailr = derive2 { name="gmailr"; version="0.7.1"; sha256="1gniwwl0ci0wm7a3ai2lqrr590smmkdgyf3aarw6bdygn8hr3s3y"; depends=[base64enc crayon httr jsonlite magrittr mime]; };
   gmapsdistance = derive2 { name="gmapsdistance"; version="3.3"; sha256="09vgrfv5dj0myys0rl767wn0xx1yvmm176c48812ysj2kj3fa29v"; depends=[RCurl XML]; };
   gmediation = derive2 { name="gmediation"; version="0.1.1"; sha256="0md4h298vqw67qrjcaia6xz8s7akdpcmxa83irm12qgbh56a5rpr"; depends=[MASS plyr VGAM]; };
   gmeta = derive2 { name="gmeta"; version="2.3-0"; sha256="1izfz6gkisa8rskhfka6q73rcgzwdsmkdhy79jwcaqk25jrwfk60"; depends=[BiasedUrn binom]; };
-  gmfd = derive2 { name="gmfd"; version="1.0"; sha256="1l6hf191v76l5p9f6r4qpq5y940nb23x07mb6lmwna8nnz1sspaz"; depends=[]; };
-  gmm = derive2 { name="gmm"; version="1.6-1"; sha256="0giq0ic7gdvglkjby217r70dbz9v0xnvzvzv6icqj0m3rxwarmn1"; depends=[sandwich]; };
+  gmfd = derive2 { name="gmfd"; version="1.0.1"; sha256="03sag09x7pjyzsp6w1z06108ig068krmw75064cnl3pqfvfyjfgr"; depends=[]; };
+  gmm = derive2 { name="gmm"; version="1.6-2"; sha256="0pbimp4g5hpi949m6dpwwds3a9dv2m4iwwg2gbqq1m62fs18hbxi"; depends=[sandwich]; };
   gmnl = derive2 { name="gmnl"; version="1.1-3"; sha256="05p2kikv8zz9ldc6xi5bz7fyinpd0sp2v82hxhx6h54hfa6i7b9v"; depends=[Formula maxLik mlogit msm plotrix truncnorm]; };
   gmodels = derive2 { name="gmodels"; version="2.16.2"; sha256="0zf4krlvdywny5p5hnkr0r0hync6dvzc9yy4dfywaxmkpna8h0db"; depends=[gdata MASS]; };
   gmp = derive2 { name="gmp"; version="0.5-13.1"; sha256="0xh9dli4i7hyjywsn2h780cxl3k7v0q421djyr1wshk7l9s5701g"; depends=[]; };
@@ -6854,6 +7026,7 @@ in with self; {
   gqlr = derive2 { name="gqlr"; version="0.0.1"; sha256="0qvyvy514ma5wi2qm6a8praqa7js9wl0hh0ack1hknw33g2gyqhy"; depends=[graphql jsonlite magrittr pryr R6]; };
   gquad = derive2 { name="gquad"; version="2.1-1"; sha256="19k7cqp2j5vb6m9hxdm951wfjh6nsswb64pdz9g93ypcqrg02wa4"; depends=[ape seqinr]; };
   grImport = derive2 { name="grImport"; version="0.9-0"; sha256="1d8fd7502qj7cirjqdkr1qj51rylw2fz5hs06avfvc2dxs2xwfw1"; depends=[XML]; };
+  grImport2 = derive2 { name="grImport2"; version="0.1-4"; sha256="1hwx287pp936f0wbcicplwmhz96ip00wq09dp7bvz80lqcmr8nyx"; depends=[base64enc jpeg png XML]; };
   gradDescent = derive2 { name="gradDescent"; version="3.0"; sha256="1jxgvnjw9qk5bkb0fw4kyks4vb9d1933jn79ry0w6956mq2xbb79"; depends=[]; };
   grade = derive2 { name="grade"; version="0.2-1"; sha256="085hfvqn880yk19axdjv3z9jr33kls212vs172a8mzhnkallph1r"; depends=[]; };
   gradientPickerD3 = derive2 { name="gradientPickerD3"; version="0.1.0.0"; sha256="0b20iqfipr7migwk1fl4lvdf4ghprqivcgmchfshhr8q82hyd1q0"; depends=[htmlwidgets jsonlite shiny]; };
@@ -6861,8 +7034,9 @@ in with self; {
   granova = derive2 { name="granova"; version="2.1"; sha256="161fznqlnwmw53abmg2n62lhxxda7400ljnadvcdvsm8f6kcjf80"; depends=[car]; };
   granovaGG = derive2 { name="granovaGG"; version="1.4.0"; sha256="0khqlqc6jg9cpdq06g6jlpfjcw3m6rj40ipljfai8g1630ril6q4"; depends=[ggplot2 gridExtra plyr RColorBrewer reshape2]; };
   grapes = derive2 { name="grapes"; version="1.0.0"; sha256="079b7w2xhb0a481s7qihhka0l9ydkjdph0865wjjkcbpr4775p26"; depends=[magrittr]; };
-  graphTweets = derive2 { name="graphTweets"; version="0.3.2"; sha256="13kab1nz85ghs5n882ss513di30b7lg72h676v37404ypj5a1vi1"; depends=[dplyr igraph reshape2]; };
+  graphTweets = derive2 { name="graphTweets"; version="0.4.0"; sha256="1zw04s61wjgrx6r6fspp59y5l3bfjf68klcrkp7alaap5dpjsn9a"; depends=[dplyr igraph magrittr purrr reshape2 rtweet splitstackshape]; };
   grapherator = derive2 { name="grapherator"; version="1.0.0"; sha256="071by9b8figbsf4g0f8a8mgcdksjksc57mnlgggilw7py1yjnjlh"; depends=[BBmisc checkmate deldir ggplot2 lhs reshape2 vegan]; };
+  graphframes = derive2 { name="graphframes"; version="0.1.0"; sha256="1h7dng6j2wizr14sl3f9lpvka56vd40rjs6skfdyxbn5s8ijmdd8"; depends=[sparklyr tibble]; };
   graphicalVAR = derive2 { name="graphicalVAR"; version="0.2.1"; sha256="1z4x32ji71rq1x89r3wmjhm1fq7klggpz6c1cf45fvcd9qs6ykhk"; depends=[dplyr glasso glmnet igraph Matrix mvtnorm qgraph Rcpp RcppArmadillo]; };
   graphicsQC = derive2 { name="graphicsQC"; version="1.0-8"; sha256="12vg93xfmkv73i19vkb10q2qngmsxd3y42z3l6izdywbdc3cdfkg"; depends=[XML]; };
   graphkernels = derive2 { name="graphkernels"; version="1.4"; sha256="1dwk1bd2nx9kdzxq31cgynd75r7am49ygkaryb6iqcmva1wc5xs0"; depends=[igraph Rcpp RcppEigen]; };
@@ -6870,18 +7044,19 @@ in with self; {
   graphql = derive2 { name="graphql"; version="1.4"; sha256="103vggx9273dg4fkrhik4p1vj8qh7gxavyh933qxhajpmhnfhksh"; depends=[jsonlite Rcpp]; };
   graphscan = derive2 { name="graphscan"; version="1.1.1"; sha256="1dgjb0grdymhimdgwnddjcivgy2i9r1i1nni4v9mx0447skcahk9"; depends=[ape rgl snowfall sp]; };
   graticule = derive2 { name="graticule"; version="0.1.2"; sha256="1yvrijvyjilfql72dxj32b3sczqv065zj61729wrrzn63xcifvmb"; depends=[raster sp]; };
-  grattan = derive2 { name="grattan"; version="1.5.3.5"; sha256="0cbgxjrw461zf8axsnl7rhi19gcji9s9d0h5s1bd89930l7ldqfg"; depends=[assertthat data_table fastmatch forecast hutils magrittr Rcpp RcppParallel rsdmx zoo]; };
+  grattan = derive2 { name="grattan"; version="1.5.3.7"; sha256="0lvmypw77za3nafq6mqasfhbhci59mq7cia9y988czs9fs9l3858"; depends=[assertthat data_table fastmatch forecast hutils magrittr Rcpp rsdmx zoo]; };
   gravity = derive2 { name="gravity"; version="0.6"; sha256="15ngk6a5f6xjvisk6ma625iaw4ybg7722xgmnr4rnlmsgm95v668"; depends=[censReg glm2 lmtest MASS multiwayvcov sandwich survival]; };
   grec = derive2 { name="grec"; version="1.1.1"; sha256="1qn1vbhlw42wqg9vj5plb12pg9xskn32z27ifyzm4kggp1vckgbf"; depends=[imagine raster]; };
   greport = derive2 { name="greport"; version="0.7-1"; sha256="1h1g3khb30n3y8l1sxpas2s6s667az4yxvsq42x5dfx8fic42p6n"; depends=[data_table Formula ggplot2 Hmisc lattice latticeExtra rms survival]; };
   greta = derive2 { name="greta"; version="0.2.3"; sha256="10vli747b5a1m53qszxk91wppg9511la9yc823qrr51s92z8i222"; depends=[coda progress R6 reticulate tensorflow]; };
   grex = derive2 { name="grex"; version="1.7"; sha256="0bciyafqwx404axidz4dlj856mzy73ij5sifxhvbjnn07rx844c9"; depends=[]; };
+  greybox = derive2 { name="greybox"; version="0.2.0"; sha256="0d0d1c5whh94n678p07fnwn2xaqgv54qp1k1rkis72dgs8jbzm2n"; depends=[forecast zoo]; };
   greyzoneSurv = derive2 { name="greyzoneSurv"; version="1.0"; sha256="115i0d4fy4p4g4vd419hj9f23hi8cbiyfilgpgmag91ilr1xpcdp"; depends=[Hmisc survAUC survival]; };
-  grf = derive2 { name="grf"; version="0.9.5"; sha256="0i3x5h19n3cq8mchm3zwg3rgr1ywknkghsk50m70zcjpb4cdbsj6"; depends=[Matrix Rcpp RcppEigen]; };
+  grf = derive2 { name="grf"; version="0.9.6"; sha256="0gv1zphjgwqssiljyqhhv6ggnvw9nyg7wf7sasilpy59qpi457wv"; depends=[DiceKriging Matrix Rcpp RcppEigen sandwich]; };
   gridBase = derive2 { name="gridBase"; version="0.4-7"; sha256="09jzw4rzwf2y5lcz7b16mb68pn0fqigv34ff7lr6w3yi9k91i1xy"; depends=[]; };
   gridDebug = derive2 { name="gridDebug"; version="0.5-0"; sha256="12zrl7p8p7071w5viymdipycja7a2arvy0aahgahd5nlx1k1gha0"; depends=[graph gridGraphviz gridSVG]; };
   gridExtra = derive2 { name="gridExtra"; version="2.3"; sha256="0fwfk3cdwxxim7nd55pn7m31bcaqj48y06j7an2k1v1pybk0rdl1"; depends=[gtable]; };
-  gridGraphics = derive2 { name="gridGraphics"; version="0.2"; sha256="1lxqr257gqyasln8j0538jyb9q0s6i72cxx8i6sya7w7dwgrv1xp"; depends=[]; };
+  gridGraphics = derive2 { name="gridGraphics"; version="0.3-0"; sha256="1p94flvq5h3x817pl1m0aj3sim87x6zdbpv9xrgdnqw3rxfzwgqs"; depends=[]; };
   gridGraphviz = derive2 { name="gridGraphviz"; version="0.3"; sha256="1jz0d6kc8ci55ffm6dns8bhak9xnaq7mg5mpv3fk53lircn7mwl5"; depends=[graph Rgraphviz]; };
   gridSVG = derive2 { name="gridSVG"; version="1.6-0"; sha256="06nxp0h6clsfxcx5lf11sgzq7v4ijbynh6hldbnpm6pqwn18hb0j"; depends=[jsonlite XML]; };
   gridsample = derive2 { name="gridsample"; version="0.2.0"; sha256="0hpfhkma60h59z3akjqs7igs6zg00xs3jlq3sm48gxbjrk7fb5sm"; depends=[data_table deldir geosphere maptools raster rgdal rgeos sp spatstat spatstat_utils]; };
@@ -6896,7 +7071,7 @@ in with self; {
   groupsubsetselection = derive2 { name="groupsubsetselection"; version="1.0.3"; sha256="118cj5xc8nbq4fs2gbzg1nhynixaflbl0si77gyy4ybw0drsz4nj"; depends=[]; };
   grove = derive2 { name="grove"; version="1.1"; sha256="0fqsj5dx7py7cin3hvfkxglh8v3x0dwj6cxy4h5vbddjl687db5x"; depends=[Rcpp RcppArmadillo wavethresh]; };
   growcurves = derive2 { name="growcurves"; version="0.2.4.1"; sha256="0h96c1hd6cdzc2l2a9dakmxn2hspvr0fpx9938iscm4hi9ds97m2"; depends=[Formula ggplot2 Rcpp RcppArmadillo reshape2]; };
-  growfunctions = derive2 { name="growfunctions"; version="0.13"; sha256="19ngsd326vws2f3wsrkcsyzn64fm9nnqvnbamfw6aal9xzzzz59m"; depends=[ggplot2 Matrix mvtnorm Rcpp RcppArmadillo reshape2 spam]; };
+  growfunctions = derive2 { name="growfunctions"; version="0.14"; sha256="1pvyiw20fxm3l4giyq4iizc67yy36i6wq4ch2qyqg4mfd4bki2g4"; depends=[ggplot2 mvtnorm Rcpp RcppArmadillo reshape2 spam]; };
   growth = derive2 { name="growth"; version="1.1.0"; sha256="0d1hc56ybp5chckqv5q5jvpgbl7xn9dkbc4dd4sz5gawn1hngbxm"; depends=[rmutil]; };
   growthcurver = derive2 { name="growthcurver"; version="0.2.1"; sha256="0q70g940ggpwnx2cpq2j8ambfbj9sqw6ivyp9cya1nbn05bah9ds"; depends=[caTools minpack_lm]; };
   growthmodels = derive2 { name="growthmodels"; version="1.2.0"; sha256="1wy5z77819s3daa0mifafcjfkggsq0ac522yagj86ml3vf7yqppj"; depends=[]; };
@@ -6904,7 +7079,7 @@ in with self; {
   growthrates = derive2 { name="growthrates"; version="0.7.1"; sha256="0ci846jgshnvrvifl8snyax8ljs9n13lr42mzm89l0gpkg6lh2g0"; depends=[deSolve FME lattice]; };
   grpSLOPE = derive2 { name="grpSLOPE"; version="0.2.1"; sha256="1r9irf83f7szhkdqis2rakil8fsr3rqsfrj4dmbg3r3rnr8wl8nh"; depends=[SLOPE]; };
   grplasso = derive2 { name="grplasso"; version="0.4-5"; sha256="15bqckq9qjdlllhfpb21vzgi9msbl544alkrz01w1vvb3hk1847y"; depends=[]; };
-  grpreg = derive2 { name="grpreg"; version="3.1-2"; sha256="042waw813jfc163376019zd7ngwrmrr26z17c2kw7ggvp1vz5m9q"; depends=[Matrix]; };
+  grpreg = derive2 { name="grpreg"; version="3.1-3"; sha256="0i5gxhjylva3aby933hydkdb8v842qfa4jgfs0pwim8xfr2ipjs7"; depends=[Matrix]; };
   grpregOverlap = derive2 { name="grpregOverlap"; version="2.2-0"; sha256="1kq8wxpx21irwckndgfkzdy5jgzf7pmcwpclmjzjxznv6cyaikd0"; depends=[grpreg Matrix]; };
   grpss = derive2 { name="grpss"; version="3.0.1"; sha256="01bjjhv3vkvn5h363g5a9dlm7kzq10q7ixmrc0kkq5hsbs31vl3x"; depends=[doParallel foreach grpreg MASS]; };
   grr = derive2 { name="grr"; version="0.9.5"; sha256="0arbcgrvhkwb5xk4nry1ffg2qj0v8ivhjghdr505ib4357g0c9i9"; depends=[]; };
@@ -6914,6 +7089,7 @@ in with self; {
   gsalib = derive2 { name="gsalib"; version="2.1"; sha256="1k3zjdydzb0dfh1ihih08d4cw6rdamgb97cdqna9mf0qdjc3pcp1"; depends=[]; };
   gsarima = derive2 { name="gsarima"; version="0.1-4"; sha256="1ay3iamnvg7mbnl1xaxxcyic559bdnfspy883w2bwgy20yhr34yg"; depends=[MASS]; };
   gsbDesign = derive2 { name="gsbDesign"; version="1.00"; sha256="1kbwlpxbr70aagx9jkap9xlw13r1k3y630b08wmmny421sv4zhxl"; depends=[gsDesign lattice]; };
+  gscounts = derive2 { name="gscounts"; version="0.1-1"; sha256="1x2irpp0jxninijdhsiw12j19c5yq9kljv48j81sp3k97s2f9vbd"; depends=[Rcpp]; };
   gset = derive2 { name="gset"; version="1.1.0"; sha256="1gingqw6la8n7mnl47wpz9sicxca4zi2m8p35n6cnihrniibhajc"; depends=[Hmisc MCMCpack mvtnorm]; };
   gsg = derive2 { name="gsg"; version="2.0"; sha256="17fjl7aw1s814krnszxd4y1d4210bnkrf4kb2fwsycqwcwms5pm7"; depends=[boot mgcv mvtnorm numDeriv]; };
   gsheet = derive2 { name="gsheet"; version="0.4.2"; sha256="1mfpg91855qg0bi6wk0wy58b58lm06jw9fqdl6psqdvnmaf7n2w5"; depends=[httr stringr]; };
@@ -6922,10 +7098,10 @@ in with self; {
   gsloid = derive2 { name="gsloid"; version="0.1.0"; sha256="1ma5si86ynfsis0pnw8hyv6xc4frbkhy5ks03mr0z16gasffkycg"; depends=[]; };
   gsmoothr = derive2 { name="gsmoothr"; version="0.1.7"; sha256="00z9852vn5pj04dhl3w36yk0xjawniay6iifw1i7fd8g98mgspxp"; depends=[]; };
   gsrsb = derive2 { name="gsrsb"; version="1.0.3"; sha256="1r4pc3zcmgwxbsmpwb6m24mmy0p78nq35bigjqvwcc32imyw4ls9"; depends=[ldbounds mvtnorm xtable]; };
-  gss = derive2 { name="gss"; version="2.1-7"; sha256="1nrs1yhf2h06pkkhkvaal92h0mzrwixs0pay6dkb8q2d9igbn184"; depends=[]; };
+  gss = derive2 { name="gss"; version="2.1-8"; sha256="1g44214kbgx4gafcz482iyy3izzv2cfp6v6yqfggp6lkvn6wwv0p"; depends=[]; };
   gsscopu = derive2 { name="gsscopu"; version="0.9-3"; sha256="0bvhhs5wn4y1dcff2g87f80jdn3i4mdbvdbydsbx80ng38rfxhhg"; depends=[gss]; };
-  gstat = derive2 { name="gstat"; version="1.1-5"; sha256="1wfzffl0wfimb93d5ln96yhv2g64aywzmh6hdaadl8qyqx6rx7q3"; depends=[FNN lattice sp spacetime zoo]; };
-  gsubfn = derive2 { name="gsubfn"; version="0.6-6"; sha256="196x4c3ihf4q3i0v7b1xa6jm8jjld2rsx00qz03n90wfnjdx5idv"; depends=[proto]; };
+  gstat = derive2 { name="gstat"; version="1.1-6"; sha256="0snvga824v1kbd3xp46652bv6drfrgkjsi5zrbdcliqpqz79wk9f"; depends=[FNN lattice sp spacetime zoo]; };
+  gsubfn = derive2 { name="gsubfn"; version="0.7"; sha256="00j6b8b6xsx6v370h220x233rpk6asca78165y3d48jpwvwisdc9"; depends=[proto]; };
   gsw = derive2 { name="gsw"; version="1.0-5"; sha256="0lv4x4is53xybgg205dncizpnqnakqk47b5wgys2kr4ixqc8jipb"; depends=[testthat]; };
   gsynth = derive2 { name="gsynth"; version="1.0.6"; sha256="0fzdlflrl9qlvbzjdspws3naabwyphwqys01wp4wkw5y7whq0mar"; depends=[abind doParallel foreach GGally ggplot2 mvtnorm Rcpp RcppArmadillo]; };
   gt4ireval = derive2 { name="gt4ireval"; version="2.0"; sha256="1d567iz57xqszm45l1wq4n2qrrmyz8ssll1vllfmncb9ibbnx4f3"; depends=[]; };
@@ -6936,13 +7112,14 @@ in with self; {
   gtheory = derive2 { name="gtheory"; version="0.1.2"; sha256="1xc1jl69z5csalqk3hx83s53awcl1fjq6p0x2pczhs7dsvwd6lks"; depends=[lme4]; };
   gtools = derive2 { name="gtools"; version="3.5.0"; sha256="1xknwk9xlsj027pg0nwiizigcrsc84hdrig0jn0cgcyxj8dabdl6"; depends=[]; };
   gtop = derive2 { name="gtop"; version="0.2.0"; sha256="1nvvbf181x0miw3q0r2g0nklz29ljdsd07cazaajfls7pmhi0xw9"; depends=[hts lassoshooting quadprog]; };
-  gtrendsR = derive2 { name="gtrendsR"; version="1.4.0"; sha256="06vanvg2790fd78ag11kiajbgbgbwac64q7yg7f3chbfiv4cdnab"; depends=[anytime curl ggplot2 jsonlite]; };
+  gtrendsR = derive2 { name="gtrendsR"; version="1.4.1"; sha256="08zfh73viv9p1c4qmw3jnywa5xzbm39kfi60whl0w5pvh3q9pksf"; depends=[anytime curl ggplot2 jsonlite]; };
   gtx = derive2 { name="gtx"; version="0.0.8"; sha256="0x71jji2yldi9wpx8d3nldbjfj4930j7zcasayzbylf9094gmg26"; depends=[survival]; };
   guess = derive2 { name="guess"; version="0.1"; sha256="198pxi0yipgm9wccpj3y4a0gkibhyxcmb7v5dz7ipzrk44ha5g6j"; depends=[Rsolnp]; };
   gumbel = derive2 { name="gumbel"; version="1.10-1"; sha256="12rkri8bvgjn0ylf1i4k9vpb8mvbasidvx2479kmis2rc1p07qq7"; depends=[]; };
   gunsales = derive2 { name="gunsales"; version="0.1.2"; sha256="02vz16lhym72vvf48yai1g371wygdlmi63a6ylc147l0b69jgw31"; depends=[data_table dplyr ggplot2 seasonal x13binary zoo]; };
   gutenbergr = derive2 { name="gutenbergr"; version="0.1.4"; sha256="1xf9h0ikfzgq6bzzxa7wih29cgbfk6lgdv041fprxbd9rz38agi9"; depends=[dplyr lazyeval purrr readr stringr urltools]; };
   gvc = derive2 { name="gvc"; version="0.5.2"; sha256="0cfvli6ap5kw3agv94d7g7rhmlxd66yyngc7c9pl4fsxf7sm6nx4"; depends=[decompr diagonals]; };
+  gvcR = derive2 { name="gvcR"; version="0.1.0"; sha256="0r54924b9a65k11p8y3p7jxbvmpb7s7vs87v65hhl98gxacj5hk8"; depends=[dplyr eda4treeR lme4 magrittr]; };
   gvcm_cat = derive2 { name="gvcm.cat"; version="1.9"; sha256="1kwfcmnl1ivv1lh3zxccwls2xfyx3l8v71ngc0bg6441i81d4xp5"; depends=[MASS Matrix mgcv]; };
   gvlma = derive2 { name="gvlma"; version="1.0.0.2"; sha256="0gj52hg665nmlwgbjh9yvz7a3sbzlbj41ksxchnnlxaxipdf6sl8"; depends=[]; };
   gwdegree = derive2 { name="gwdegree"; version="0.1.1"; sha256="0p06hjp7vay83kbpqsgfr1d8z3ayv483rxbv86fdka94gvi1sjyc"; depends=[dplyr ergm ggplot2 gtools magrittr network scales shiny shinydashboard sna tidyr]; };
@@ -6953,19 +7130,20 @@ in with self; {
   gym = derive2 { name="gym"; version="0.1.0"; sha256="0vcwzgawqwjsf65hr1mbjkz3px8zsibfkn42jpsg39n13jpfjq8v"; depends=[httr jsonlite]; };
   gyriq = derive2 { name="gyriq"; version="1.0.2"; sha256="12vbnhianzi4l43czaxrbnbkz1h8lvmwjys0y3c2ml3g6dmwwfji"; depends=[CompQuadForm irlba mvtnorm survival]; };
   h2o = derive2 { name="h2o"; version="3.16.0.2"; sha256="181rm5y7wwmpzi45sy62blr6jk9wfbs3j14ansmh7ad1rbml3zm3"; depends=[jsonlite RCurl]; };
+  h2o4gpu = derive2 { name="h2o4gpu"; version="0.2.0"; sha256="06d2rrr27xvnsai6zjiaiw0jjfzdza1cc39c03d6pjkvnh0mqh2c"; depends=[magrittr reticulate]; };
   h5 = derive2 { name="h5"; version="0.9.9"; sha256="14p7i1sj24ky87kd7qr3n9fc9l64s0bp0rwbyl6i2x69xn75gpsx"; depends=[Rcpp]; };
   hBayesDM = derive2 { name="hBayesDM"; version="0.5.0"; sha256="174z98jvi04df04lpdxh3j8lmjvgrg287nxfnrcvjkibc0jiss4m"; depends=[ggplot2 loo Rcpp rstan rstantools]; };
   hIRT = derive2 { name="hIRT"; version="0.1.2"; sha256="0pqp6bycr13di1hbi5sqnkiannz2hyg0ysshswv2i9fp0vkhdhqf"; depends=[pryr rms]; };
-  hNMF = derive2 { name="hNMF"; version="0.4"; sha256="1ivj9danq3mp6mkrm6mdd529rmzb0qhl38lgij76ma2j9fkw35zq"; depends=[NMF nnls oro_nifti R_matlab rasterImage spatialfil]; };
-  hR = derive2 { name="hR"; version="0.1.1"; sha256="18a9nhnsw7va1ambj2lc99ralhildc3a2l6xpilfanig4pg7cq08"; depends=[data_tree reshape2 visNetwork]; };
+  hNMF = derive2 { name="hNMF"; version="0.5"; sha256="1nm9sy921fjzqc60p0mf6k0j5a56bdrd8hnghnpaqzs244mm08bj"; depends=[MASS NMF nnls oro_nifti R_matlab rasterImage spatialfil]; };
+  hR = derive2 { name="hR"; version="0.1.3"; sha256="0s7c2aiq58c2zmv25m42cxp5chzkp5grz5bjqrknfkwjy21679h1"; depends=[data_tree reshape2]; };
   hSDM = derive2 { name="hSDM"; version="1.4"; sha256="1jq6hdnyv446ng62srip0b48kccf0qw3xqym3fprg74mjdy3inqr"; depends=[coda]; };
   haarfisz = derive2 { name="haarfisz"; version="4.5"; sha256="1qmh4glwzqwqx3pvxc71rlcimp1l0plgdf380v9hk0b4gj7g3pkf"; depends=[wavethresh]; };
   hail = derive2 { name="hail"; version="0.1.1"; sha256="1nrc9msqyy5iq2i6p8875anbqswxl2z6vdd4hvihnl22qh5fnbvh"; depends=[]; };
   hamlet = derive2 { name="hamlet"; version="0.9.5-2"; sha256="1fj7bqn6g127kan4l1pnv0qvzsgxqiixjaf3yn0g3cwawyzqixmv"; depends=[]; };
-  hansard = derive2 { name="hansard"; version="0.5.5"; sha256="00bhqbi1z1m9zn1a3qfvyid1hvi7qh3nqr2bxcihy3f9mi8k4a0i"; depends=[dplyr httr jsonlite lubridate stringi tibble tidyr]; };
+  hansard = derive2 { name="hansard"; version="0.6.0"; sha256="13h68b300c4lkqbl5gw4hkqcbb2ikvan4hx8092ds995514rg4x8"; depends=[dplyr httr jsonlite lubridate stringi tibble tidyr]; };
   hapassoc = derive2 { name="hapassoc"; version="1.2-8"; sha256="0qs5jl0snzfchgpp6pabncwywxcmi743g91jvjiyyzw0lw85yv4s"; depends=[]; };
   haplo_ccs = derive2 { name="haplo.ccs"; version="1.3.1"; sha256="0cs90zxxbvglz1af0lh37dw1gxa04k0kawzxamz2was3dbh19lbz"; depends=[haplo_stats survival]; };
-  haplo_stats = derive2 { name="haplo.stats"; version="1.7.7"; sha256="1rag22sqy8r87w5a1dww5cxknacm6975bpp74vw9zr04ldx4c64k"; depends=[rms]; };
+  haplo_stats = derive2 { name="haplo.stats"; version="1.7.9"; sha256="19kxascqq5qz0zdxx0w837ji207y1z2ggxkl4vmlbay03k2dw2mx"; depends=[rms]; };
   haploR = derive2 { name="haploR"; version="1.6.2"; sha256="0xzh18170gxxd91yjvh2j3a8jkkz8hyf5rbvh4c9vfi5zirbi82z"; depends=[httr plyr RUnit tibble XML]; };
   haploReconstruct = derive2 { name="haploReconstruct"; version="0.1.2"; sha256="17zdl9c3yy6jdzv1wp0ailbga456pmmybzxh3dldymhj8qf32cx0"; depends=[data_table dbscan foreach gplots igraph matrixStats stringi zoo]; };
   haplotyper = derive2 { name="haplotyper"; version="0.1"; sha256="0pcshlh29c4zazhkcq4371kqh9inrbx494y5a1qb1k2c92fkax31"; depends=[]; };
@@ -6987,7 +7165,7 @@ in with self; {
   hbdct = derive2 { name="hbdct"; version="1.0.1"; sha256="1lmbhl757hdswfq3skwbwsgxpfgim8475d9hk511dbwrzcm6wsxr"; depends=[]; };
   hbim = derive2 { name="hbim"; version="1.0.3"; sha256="1480nydsi2xj7zbfk4zw24mhsjadf83d827kpqzbmn0yh6srp3ps"; depends=[mvtnorm]; };
   hbm = derive2 { name="hbm"; version="1.0"; sha256="0qz28azm91a6pbss1mfc47a21d3q9rs3mmw0kgwc7i2a2m43mysm"; depends=[doParallel foreach Matrix]; };
-  hbmem = derive2 { name="hbmem"; version="0.3"; sha256="0ylxp77ack874sadwfnry84a6bg8gdl9xbw821lp5q05nnyg0dcj"; depends=[]; };
+  hbmem = derive2 { name="hbmem"; version="0.3-3"; sha256="1rajd5h9gp0rrpc0q0m0fx37mv2n70da3gnfvvnjc5a77mzfyqkp"; depends=[]; };
   hbsae = derive2 { name="hbsae"; version="1.0"; sha256="1iwmpi0pn5fxyxkwqkbmy6w1f1wcx0p809jnviim0ypwib32mhh7"; depends=[arm Matrix]; };
   hcc = derive2 { name="hcc"; version="0.54"; sha256="14b3pamkywb0wsjpbm0wpflcds0b5mfymvgk92rmf6ngz1bkpdbq"; depends=[]; };
   hcci = derive2 { name="hcci"; version="1.0.0"; sha256="11piy1ajg3j3dbh66szzf7lhc3x28fz75ai39vlx0gl5nc2v5zs5"; depends=[]; };
@@ -6999,6 +7177,7 @@ in with self; {
   hdi = derive2 { name="hdi"; version="0.1-6"; sha256="1lzy4jcz14j1qi6z4j1sq7z3z75n8jygnzlvqjf45vn1sqil17cq"; depends=[glmnet linprog MASS scalreg]; };
   hdlm = derive2 { name="hdlm"; version="1.3.1"; sha256="1zl6bksw0apkmn5shf8qjpxjyx6vb40dc4m4db76hhn5nhcp10ic"; depends=[foreach glmnet iterators MASS Matrix]; };
   hdm = derive2 { name="hdm"; version="0.2.3"; sha256="0nj7pbkygzbiraw1b3pqv3bnkjhi1a0h48q0zgkcq8y79kj2f8cl"; depends=[checkmate Formula ggplot2 glmnet MASS]; };
+  hdme = derive2 { name="hdme"; version="0.1.1"; sha256="0p8qldiiqbd2vyxyrgz0dsh7n2dw5vbvqfqy6z5vkjl52wdggp7z"; depends=[ggplot2 glmnet Rcpp RcppArmadillo Rdpack Rglpk]; };
   hdnom = derive2 { name="hdnom"; version="4.9"; sha256="11yzjfp6b4apn0nyqmi0qm5rd8xy49w6hwwiq7p566mxqy32i2j2"; depends=[foreach ggplot2 glmnet gridExtra ncvreg penalized rms survAUC survival]; };
   hdpca = derive2 { name="hdpca"; version="1.0.0"; sha256="1sv7caw4nhpcvsb7fxpvf2b5zskvfsv004hrqc51b5jx4fsc7y92"; depends=[boot lpSolve]; };
   hdrcde = derive2 { name="hdrcde"; version="3.2"; sha256="1901mg2k2ch9fzn1n9k0kmxkgd1m4pxvrda7mv0mp64nf4mx43xw"; depends=[ash ggplot2 KernSmooth ks locfit RColorBrewer]; };
@@ -7017,9 +7196,9 @@ in with self; {
   hellno = derive2 { name="hellno"; version="0.0.1"; sha256="1j787rw9hh75bvkckmlz5xkgwc22gd7si3mgjd7v60dd6lykfa88"; depends=[]; };
   helloJavaWorld = derive2 { name="helloJavaWorld"; version="0.0-9"; sha256="1a8yxja54iqdy2k8bicrcx1y3rkgslas03is4v78yhbz42c9fi8s"; depends=[rJava]; };
   helsinki = derive2 { name="helsinki"; version="0.9.29"; sha256="0bn5iyxjn9qs6f0dmhv51ssayywbx1rayh80zbzk0gsm94nhs0d9"; depends=[maptools RCurl rjson sp]; };
-  heplots = derive2 { name="heplots"; version="1.3-4"; sha256="0qrx2qiy5w1hdy48ipa5is3k6dmz9gnfk5pckqpxp3hd0ip3217f"; depends=[car MASS]; };
+  heplots = derive2 { name="heplots"; version="1.3-5"; sha256="1vyhfkp66gi17jni3gsbv9kn1s0n00qigr13q8xbzbgylz5jjiln"; depends=[car MASS]; };
   here = derive2 { name="here"; version="0.1"; sha256="1vb5dxqdpimy51q1gjsypyq14p2hhvj7wsvh6g35pj1g03cyg9av"; depends=[rprojroot]; };
-  hergm = derive2 { name="hergm"; version="3.1-0"; sha256="17mxn2ff7yzj95vjsppvz7c9a5g6a2z9zyf34xvvxp9031zhrf46"; depends=[ergm latentnet mcgibbsit network sna]; };
+  hergm = derive2 { name="hergm"; version="3.2-0"; sha256="0yy684vjlk06r0bsx7clpjaj05q0pmbj006kbh9q6rysh35nf9p3"; depends=[ergm latentnet mcgibbsit network sna]; };
   heritability = derive2 { name="heritability"; version="1.2"; sha256="18snrfsjj5jw5qicj92d5qch9v4ciqw1hbiwg6q8kfjka9nmqpma"; depends=[MASS]; };
   hermite = derive2 { name="hermite"; version="1.1.1"; sha256="0ns8l1rf346qxalfdwc7ny0kjp212f6qnnlgillpyvd8k29kg8iy"; depends=[maxLik]; };
   hesim = derive2 { name="hesim"; version="0.1.0"; sha256="002phncl1glv3c3gwp9ifpk56j06rka26a3774xlj3zcs6izglns"; depends=[data_table Rcpp RcppArmadillo]; };
@@ -7028,7 +7207,7 @@ in with self; {
   hetmeta = derive2 { name="hetmeta"; version="0.1.0"; sha256="023bdjsv0ibisz47vaap9yamzjna4hhndk3haw2g1cm92wnrdra5"; depends=[metafor]; };
   hett = derive2 { name="hett"; version="0.3-1"; sha256="1y0hr9g2pjwzc5azh095h33qidxhhmlvd1csamjnhwdphj5drzz0"; depends=[lattice MASS]; };
   heuristica = derive2 { name="heuristica"; version="1.0.1"; sha256="1myivlqw6a8wh97ma9lrpgvaqb0vn4kj8yp9r4z5vc4pxgmm48g6"; depends=[Hmisc]; };
-  hexSticker = derive2 { name="hexSticker"; version="0.4.2"; sha256="1dhxx8g1yv22wkzz4alpxrgg1rhribq70yxgpn01yq7jbhn2vyk0"; depends=[ggimage ggplot2 hexbin showtext sysfonts]; };
+  hexSticker = derive2 { name="hexSticker"; version="0.4.3"; sha256="0f3zm6z0gsq2ps5zv0z4d8z6v5ncgpamnpl8a9l022klqifkg6x1"; depends=[ggimage ggplot2 hexbin showtext sysfonts]; };
   hexView = derive2 { name="hexView"; version="0.3-3"; sha256="0cx5hl70sk1wk24na21vjyv50b2358z1plvvcw604qf1zij4icwn"; depends=[]; };
   hexbin = derive2 { name="hexbin"; version="1.27.2"; sha256="0lpfl0015lg5x7lvv9dr302bca22c7fs91pnd896ypgpzqg7pm26"; depends=[lattice]; };
   hextri = derive2 { name="hextri"; version="0.6"; sha256="05rvigi225npncbr1brc6apc7gsg9a5jzcbmhvflwp3hbcg3hn02"; depends=[FNN hexbin]; };
@@ -7039,27 +7218,29 @@ in with self; {
   hglm_data = derive2 { name="hglm.data"; version="1.0-0"; sha256="1hrq1jac658z5xjsg03nfkb4kwm9z44bhciv5chk74ww8gjr9j9q"; depends=[MASS Matrix]; };
   hgm = derive2 { name="hgm"; version="1.17"; sha256="11hv4pfv3gqiargvwvrxqzfji75j291w1nilawf8yjc3isnc4wjp"; depends=[deSolve]; };
   hhh4contacts = derive2 { name="hhh4contacts"; version="0.13.0"; sha256="17f31xhh6kk7sx5d5dvpwpvl72wd45zgb4fcpdayx3yrm719csz9"; depends=[surveillance]; };
+  hhi = derive2 { name="hhi"; version="1.1.0"; sha256="0f0b6a2zr2nipcx4p8n2wx088kndh6bd150f80619kjfizr55x2d"; depends=[ggplot2]; };
   hht = derive2 { name="hht"; version="2.1.3"; sha256="022a8zz2m34q89h29jglfj21knlqd8dwi85qmsi78ly1vacnzap8"; depends=[EMD fields spatstat]; };
   hiPOD = derive2 { name="hiPOD"; version="1.0"; sha256="1i15ickz2s0kffh99qq30pl5hsl0lbj0kp55jnbv4x72hndzhmla"; depends=[rgl]; };
   hiddenf = derive2 { name="hiddenf"; version="2.0"; sha256="0shc1kfiq527mkc5i97zcm51hsvknnhjg7dyfvbfqyk145v6sz00"; depends=[]; };
   hier_part = derive2 { name="hier.part"; version="1.0-4"; sha256="03acdgzkhbk4p0wxw2g1hzklmq9hzmdkkvfj742vzfswdd803yg9"; depends=[gtools]; };
   hierDiversity = derive2 { name="hierDiversity"; version="0.1"; sha256="1n4jg003h9hvr2n43jwxgfpazvc5ij5lqvspxi49w8fpzpcrqrjj"; depends=[]; };
-  hierNet = derive2 { name="hierNet"; version="1.6"; sha256="08lifk92caa4l9nfb89rl6vby8sd1ba3ay7z29ffirsg7cx07qiw"; depends=[]; };
+  hierNet = derive2 { name="hierNet"; version="1.7"; sha256="1yjsbi17qkz7x9q9x6i8312skwf4gjyisp2096wbg9s19dzvccvi"; depends=[]; };
   hierarchicalDS = derive2 { name="hierarchicalDS"; version="2.9"; sha256="0ckxy4pww5iik4m4kqs714f00g7lfzsarjdbpd0bcalvq4lmaal2"; depends=[coda ggplot2 Matrix mc2d mvtnorm rgeos truncnorm xtable]; };
   hierarchicalSets = derive2 { name="hierarchicalSets"; version="1.0.2"; sha256="0m5mnx1zmiscj0k1gnljr7fla4y1qhysi32a8q9jlah2q7grk7x9"; depends=[ggdendro ggplot2 gtable MASS Matrix RColorBrewer Rcpp scales]; };
   hierband = derive2 { name="hierband"; version="1.0"; sha256="0d95hrgkd8b5sww3wsgs6v9zg9pm71ick8x8kj8d6vyib350h6yn"; depends=[]; };
   hierfstat = derive2 { name="hierfstat"; version="0.04-22"; sha256="1fav2v2996v5kb1ffa6v5wxfm921syxg6as034vd3j4jfhdibyfx"; depends=[ade4 adegenet gtools]; };
   hiertest = derive2 { name="hiertest"; version="1.1"; sha256="17maf1w4vkqknxff3f00fzv136j3dbbigyzl4vq4sln9j27w10r3"; depends=[]; };
   highD2pop = derive2 { name="highD2pop"; version="1.0"; sha256="1s4v6m2d3vzvxsgmjzczv1zj3kv3ygvv6gbkkbjwsdhkvc1rdmf0"; depends=[fastclime]; };
-  highSCREEN = derive2 { name="highSCREEN"; version="0.1"; sha256="0g2pcxdg5fix63jqpddqnldalg95x7ghvmbfr1ijjwi9m3ki2bby"; depends=[gplots]; };
+  highSCREEN = derive2 { name="highSCREEN"; version="0.2"; sha256="0lgwxavshqd826g1zmjakhxlbngbhrc36nc8wsh9nakklx4nq9g4"; depends=[gplots]; };
   highTtest = derive2 { name="highTtest"; version="1.1"; sha256="18hgxlr0y8y1d4ldqmfcg4536lhyn5p6w88sq1vj74qr5wzydga1"; depends=[]; };
   highcharter = derive2 { name="highcharter"; version="0.5.0"; sha256="1myypff80mxcgc3j0sflalhqz344c2zz2p90aarli1pbys9v8ynp"; depends=[assertthat broom dplyr htmltools htmlwidgets igraph jsonlite lubridate magrittr purrr quantmod rlist stringr tibble tidyr xts zoo]; };
-  highfrequency = derive2 { name="highfrequency"; version="0.5.2"; sha256="1bjqjf4ki7r21mwlhrd83v8k6lknrypkl9wrax9ccr7fln7ha7wn"; depends=[BMS chron cubature FKF MASS mvtnorm numDeriv robustbase rugarch sandwich timeDate xts zoo]; };
+  highfrequency = derive2 { name="highfrequency"; version="0.5.3"; sha256="1d218504ghg8d3cwmsxwkznxpr2wy5li062i2lynbxzrhrk59i0l"; depends=[chron cubature MASS mvtnorm numDeriv robustbase sandwich timeDate xts zoo]; };
   highlight = derive2 { name="highlight"; version="0.4.7.2"; sha256="0xc1akglgby3qd6c9y2rhcd0gpfihx5jvakji38vzlxb1m21sn10"; depends=[]; };
   highlightHTML = derive2 { name="highlightHTML"; version="0.2.1"; sha256="06k2idx9aadjd6xp6kadm9jh7ap1hwg7vh0bc8vw9ll82wcp1nv1"; depends=[]; };
   highmean = derive2 { name="highmean"; version="3.0"; sha256="1lq7z0l1737j4wvsy7951405afylyywp7vf2i7girzh459fdfzpc"; depends=[MASS mnormt mvtnorm]; };
   highr = derive2 { name="highr"; version="0.6"; sha256="0n9v44dxdy5fhkdmpbpa2p78whyd9z3rhhy42ipdz5m5vsr55qa3"; depends=[]; };
   highriskzone = derive2 { name="highriskzone"; version="1.4-2"; sha256="1q9y34nj73kg5y6qy4kb023vyzbdb0f6x23asq20bj5pmz2l25y1"; depends=[deldir fields ks Matrix mvtnorm rgeos spatstat]; };
+  higrad = derive2 { name="higrad"; version="0.1.0"; sha256="0q9av8qyvmvgy6a3l7svcmbkjjgnp4iny1cld4g3qsbaz3yp3jaj"; depends=[Matrix]; };
   hillmakeR = derive2 { name="hillmakeR"; version="0.2"; sha256="1baynibgn4xqmpsxna8irggxvdc484mq5nza00rwg58vh1bc7wzq"; depends=[]; };
   hindexcalculator = derive2 { name="hindexcalculator"; version="1.0.0"; sha256="06b4dn629avmnyqxb0l39m00wz9cg9dddmm6qhgwgnzlxh14ifgk"; depends=[]; };
   hint = derive2 { name="hint"; version="0.1-1"; sha256="1n18j2hcb1qynhsln10nzryi20l5aqhr7i1aanww10y5dz573zi3"; depends=[]; };
@@ -7075,10 +7256,10 @@ in with self; {
   hkevp = derive2 { name="hkevp"; version="1.1.4"; sha256="01m5yywi4vjnwhdayaqaqcp5lz70mllj5ifnwdb4c60wm9aby9pm"; depends=[Rcpp RcppArmadillo]; };
   hkex_api = derive2 { name="hkex.api"; version="0.1"; sha256="0hqwihlrppchpaz2yaq92gf779yi5k8n7sxy1kbpjxs2qc18xvj2"; depends=[httr RCurl XML]; };
   hmeasure = derive2 { name="hmeasure"; version="1.0"; sha256="0wr0xq956glmhvy4yis3qq7cfqv9x82ci9fzx3wjvaykd16h0sx9"; depends=[]; };
-  hmi = derive2 { name="hmi"; version="0.9.5"; sha256="10ss4a8ywmmsxdsial1jxcydj1fg28qmbmxv9bhdw2zf1clacmbp"; depends=[boot coda linLIR lme4 lmtest MASS Matrix MCMCglmm mice msm mvtnorm nlme nnet ordinal pbivnorm tmvtnorm VGAM]; };
+  hmi = derive2 { name="hmi"; version="0.9.10"; sha256="1swbzxykf4mwgahadi5l1xy06h4ivpc4gq3izshg6fvgrapbg1r5"; depends=[boot coda linLIR lme4 MASS Matrix MCMCglmm mice msm mvtnorm nlme nnet ordinal pbivnorm tmvtnorm VGAM]; };
   hmm_discnp = derive2 { name="hmm.discnp"; version="0.2-4"; sha256="096flx2b9s66dasqj05zrkxsmg3lj6j5w0pwrw3b1qkpp9dvlrkb"; depends=[]; };
-  hmmm = derive2 { name="hmmm"; version="1.0-3"; sha256="0yjx5i13jbv7vzxn84m6305124ri7jnym0bxbdj46s6l7lw025a9"; depends=[MASS mvtnorm quadprog]; };
-  hms = derive2 { name="hms"; version="0.4.1"; sha256="0vr7k3a7k52a5yf67bwzl88lkjz09v1avw5axdk1y9v3nz33zl2h"; depends=[pkgconfig rlang]; };
+  hmmm = derive2 { name="hmmm"; version="1.0-4"; sha256="1sbr85lcmcw3lv0ygqwfbarr91dp3br1xnlygy49145cvl93nfci"; depends=[MASS mvtnorm nleqslv quadprog]; };
+  hms = derive2 { name="hms"; version="0.4.2"; sha256="1g6hslk3z0xga38r71irxq802wskg6nv804mp8y9f7i2wfrj0y55"; depends=[pkgconfig rlang]; };
   hnp = derive2 { name="hnp"; version="1.2-4"; sha256="14w2n95pgi5h71fag4ndrc82z7q26za99vj5z99rv19l5jkvmd46"; depends=[MASS]; };
   hoa = derive2 { name="hoa"; version="2.1.4"; sha256="15klcpmja4afwmpfxrxgrfis0vj7fil8k15jc3p0lqz3dhvq0dvf"; depends=[statmod survival]; };
   hoardeR = derive2 { name="hoardeR"; version="0.9.2"; sha256="0sss3ki2w0aqyp084pprycw8d8vgm60z41iq6g9nxhqhr9xy5kdw"; depends=[bamsignals Biostrings data_table GenomicRanges GenomicTools httr IRanges MASS R_utils RCurl Rsamtools seqinr stringr XML]; };
@@ -7094,6 +7275,7 @@ in with self; {
   hopbyhop = derive2 { name="hopbyhop"; version="2.1"; sha256="0j4m1zz0ijf1kw2m12g7bww3418b8pyjvvrzkm8xcryjil2xfmim"; depends=[]; };
   horizon = derive2 { name="horizon"; version="1.0"; sha256="1wrp5qr1qql21xwcjh415q67z2ym4790zfp0n81360v6bp2b3hyy"; depends=[raster]; };
   hornpa = derive2 { name="hornpa"; version="1.0"; sha256="0pfvk2jkrwgvshgq9g55qijgpjh0677rpbya0r8759n92v3axbp4"; depends=[]; };
+  horserule = derive2 { name="horserule"; version="1.0.0"; sha256="0d348pn0ld7lr9lfl1z05905l9kl296j0xic1pib6r5l1c5600r9"; depends=[gbm ggplot2 inTrees MASS mvnfast randomForest RColorBrewer Rdpack]; };
   horseshoe = derive2 { name="horseshoe"; version="0.1.0"; sha256="19khsr7gfcygqasjswvm0v0ddna1i1grfbhars8jlvybfawswhgx"; depends=[]; };
   hot_deck = derive2 { name="hot.deck"; version="1.1"; sha256="13pfgcyqaf5ik3pi8vgm06xmqli4hgslzlmhy1zi951anzdr49bd"; depends=[mice]; };
   hotspot = derive2 { name="hotspot"; version="1.0"; sha256="0a4w5d6rg324hd06lfwr1hxf6bwr10n55s3ynz5bpkh9c61yik3n"; depends=[]; };
@@ -7107,7 +7289,7 @@ in with self; {
   hrbrthemes = derive2 { name="hrbrthemes"; version="0.1.0"; sha256="1hf4370hj80m6zr20236p9068g6ky0366gfk5l9hnj6l8jpmy9qa"; depends=[extrafont ggplot2 hunspell purrr scales stringi]; };
   hsdar = derive2 { name="hsdar"; version="0.7.0"; sha256="09yx8zc9qbf2kj8k76z9a6rhh5zy4ggsxvwhx35666phdml42dy0"; depends=[caret raster rgdal signal]; };
   hsicCCA = derive2 { name="hsicCCA"; version="1.0"; sha256="1d4lkjrihwhl3jrsj7250ccd90nfwpllyavc3mp15fhcy2jnjci8"; depends=[]; };
-  hsm = derive2 { name="hsm"; version="0.1"; sha256="1dacsq2f23bz94rh4s3477hs38pbrpz2lis4s1l9im894bcbny1x"; depends=[]; };
+  hsm = derive2 { name="hsm"; version="0.2.0"; sha256="066shjikqrrkxpnra4zknax1a0sk5nx9ms1br58vwqqvqq479rym"; depends=[]; };
   hsmm = derive2 { name="hsmm"; version="0.4"; sha256="1fh8c5kfv4brygdq6bfkrhrhkm99mxl4ljb1mhp9nf2bjlla11mc"; depends=[mvtnorm]; };
   hsphase = derive2 { name="hsphase"; version="2.0.1"; sha256="1z7yxbknldxn780dxw9xz984b3i8pj5hmdnbynvxc5k0ss8g7isy"; depends=[Rcpp RcppArmadillo snowfall]; };
   htdp = derive2 { name="htdp"; version="0.1.4"; sha256="0w579qp0p544xryb5r08m1nhqf7rmgv9q0lyx6my4av62l70ka5w"; depends=[Rcpp]; };
@@ -7116,28 +7298,29 @@ in with self; {
   htmltab = derive2 { name="htmltab"; version="0.7.1"; sha256="0lymagm7z6zn0ddygqxi831ikk74112lkqkbvs5j1djhmr359ajc"; depends=[httr XML]; };
   htmltidy = derive2 { name="htmltidy"; version="0.4.0"; sha256="090rj1fzdsa8m4g33d4mx92dm8afh173i4hqa4zym8c909jwh9qn"; depends=[htmltools htmlwidgets Rcpp XML xml2]; };
   htmltools = derive2 { name="htmltools"; version="0.3.6"; sha256="18k8r1s8sz1jy7dkz35n69wj20xhmllr53xmwb4pdzf2z61gpbs4"; depends=[digest Rcpp]; };
-  htmlwidgets = derive2 { name="htmlwidgets"; version="1.0"; sha256="09lkmzh35l1420sg0dyh4vgyishqx3g8xmgs2y9z7lbi09xgwwwr"; depends=[htmltools jsonlite yaml]; };
-  htree = derive2 { name="htree"; version="0.1.1"; sha256="1ns7yzzxapax5f355bpq81i581l1iwrfixp1k69n8mzsy106i988"; depends=[]; };
-  hts = derive2 { name="hts"; version="5.1.4"; sha256="0n1gna2694yih5kaiw59crdlfcdfm9dqhjpkcwaskgrpmh08wnkd"; depends=[forecast Matrix matrixcalc Rcpp RcppEigen SparseM]; };
+  htmlwidgets = derive2 { name="htmlwidgets"; version="1.2"; sha256="04c4d0mfcy3dkdlbxnaccpdgxvyxfdwfmmh5djim6v9hyg0j2z8s"; depends=[htmltools jsonlite yaml]; };
+  htree = derive2 { name="htree"; version="1.0.0"; sha256="1yw29rk752g3sc50igcgnxfsp7ydcmrlwpacch5c8yjg5di06ymb"; depends=[]; };
+  hts = derive2 { name="hts"; version="5.1.5"; sha256="0mvsxrk7wkfn81hbk8a80fckiqiwdbvhq42k7c6lm69gamnbak2f"; depends=[forecast Matrix matrixcalc Rcpp RcppEigen SparseM]; };
   httk = derive2 { name="httk"; version="1.8"; sha256="1snwqqvacxgl4cyadx5la87xh4kxiqpdmyq4szqz5r1aq2sxrr03"; depends=[data_table deSolve msm mvtnorm survey truncnorm]; };
   httpRequest = derive2 { name="httpRequest"; version="0.0.10"; sha256="0f6mksy38p9nklsr44ki7a79df1f28jwn2jfyb6f9kbjzh98746j"; depends=[]; };
   httpcache = derive2 { name="httpcache"; version="1.1.0"; sha256="11hdc1jj2jbgvsps1h55azq0cr2fl556k631ns9k0747sjfmy2k9"; depends=[digest httr]; };
   httpcode = derive2 { name="httpcode"; version="0.2.0"; sha256="06k853ihwzkcx4z3jzazpb03p91frqkwz18jy4fwr8j2nwyqbhgv"; depends=[]; };
   httping = derive2 { name="httping"; version="0.2.0"; sha256="0hdcf51yak8yagy4xj9cyck934lgmvpkd08jvlql33ir5mqvvv3i"; depends=[httpcode httr jsonlite magrittr pryr]; };
   httptest = derive2 { name="httptest"; version="3.0.0"; sha256="1k75i84ajka0abc8x51w74dldb0z9i08dlqbkcdby25465k01l8r"; depends=[digest httr jsonlite testthat]; };
-  httpuv = derive2 { name="httpuv"; version="1.3.5"; sha256="1sg4f223zfyd265b28rlhsn3b6mqflcpnmya98cjmjncmy9vjdj3"; depends=[Rcpp]; };
+  httpuv = derive2 { name="httpuv"; version="1.4.0"; sha256="076blaj0vzwfgx212lvgscczmiy9n13izdshrm6xb9vpcmklm95m"; depends=[BH later promises Rcpp]; };
   httr = derive2 { name="httr"; version="1.3.1"; sha256="0n7jz2digbgv48rbr9vmzv4vmf4rahl9jjy31izs7sxj4rs4s4r2"; depends=[curl jsonlite mime openssl R6]; };
   hues = derive2 { name="hues"; version="0.1"; sha256="0b6y4ld242fqzx4ccxzk4i4zbx7myk7v3a03r0klgbh2mmw3ixm0"; depends=[colorspace]; };
   huge = derive2 { name="huge"; version="1.2.7"; sha256="134d951x42vy9dcmf155fbvik2934nh6qm2w5jlx3x2c6cf7faq4"; depends=[igraph lattice MASS Matrix]; };
   humanFormat = derive2 { name="humanFormat"; version="1.0"; sha256="0zwjbl8s5dx5d57sfmq6myc6snximc56zl88h8y1s1jqphyn9sir"; depends=[testthat]; };
   humaniformat = derive2 { name="humaniformat"; version="0.6.0"; sha256="0vaynjzz57pk4y1liag9lpn9jkag2033a6bkn28zzm7ndg3344l6"; depends=[Rcpp]; };
+  humanize = derive2 { name="humanize"; version="0.2.0"; sha256="0hhhd640n77s8xaa2gbd9fckdk2yjg68gdb7wjy56a2khzqfssxr"; depends=[assertthat glue lubridate]; };
   humanleague = derive2 { name="humanleague"; version="2.0.2"; sha256="1svsqfqisywf0iqf3mrh4xnssvjmml6wn7l8iq5shvpmw71l4nnl"; depends=[curl Rcpp]; };
   humidity = derive2 { name="humidity"; version="0.1.1"; sha256="0ifxjz7216ld5c4kc9vs83fcijbg5i2z0mwfzszch9j1s734yc8y"; depends=[]; };
   hunspell = derive2 { name="hunspell"; version="2.9"; sha256="10186544s6nyd2ba470idxrxsl788dkmr1g1ri8x2n1lky9zmrik"; depends=[digest Rcpp]; };
   hurdlr = derive2 { name="hurdlr"; version="0.1"; sha256="1ryrqsxa07isxv2zx156bcn36d4yjvwpirb8jqcmqm97q7rmihmq"; depends=[]; };
   hurricaneexposure = derive2 { name="hurricaneexposure"; version="0.0.1"; sha256="1j6srqnmdhmg1yg06nqxapdrd9p3yrfs01z0sk43dvjq4dmwmrjr"; depends=[data_table dplyr ggmap ggplot2 lazyeval lubridate maps purrr RColorBrewer stringr tidyr]; };
-  hutils = derive2 { name="hutils"; version="0.10.0"; sha256="0wic5s6k0pqsv41kpjwz6a48kh3ha0xw5y9zfa3zj4y7w8l2w94d"; depends=[data_table fastmatch magrittr]; };
-  huxtable = derive2 { name="huxtable"; version="2.0.2"; sha256="1qj83gcfg204gqjsd1vh32wd4p5jhfyf764vhapii6iswrddzv4d"; depends=[assertthat dplyr glue htmltools knitr lazyeval rmarkdown stringr tibble]; };
+  hutils = derive2 { name="hutils"; version="1.0.0"; sha256="0s30wiyn8j37hi4lzs1w1lcvg8dskmbi4z396wpq3ixjvna0cfxv"; depends=[data_table fastmatch magrittr]; };
+  huxtable = derive2 { name="huxtable"; version="3.0.0"; sha256="0vb596x9c6hhnrdpqvj0x8fawaizn9yhqp8b6i13n93synyv93gy"; depends=[assertthat dplyr glue htmltools knitr lazyeval rmarkdown stringr tibble tidyselect]; };
   hwde = derive2 { name="hwde"; version="0.67"; sha256="0wb2f9i5qi7w77ygh8bvydfpr7j5x8dyvnnhdkajaz0wdcpkyaqy"; depends=[]; };
   hwriter = derive2 { name="hwriter"; version="1.3.2"; sha256="0arjsz854rfkfqhgvpqbm9lfni97dcjs66isdsfvwfd2wz932dbb"; depends=[]; };
   hwwntest = derive2 { name="hwwntest"; version="1.3"; sha256="1b5wfbiwc542vlmn0l2aka75ss1673z8bcszfrlibg9wwqjxlwk5"; depends=[polynom wavethresh]; };
@@ -7149,13 +7332,12 @@ in with self; {
   hydroPSO = derive2 { name="hydroPSO"; version="0.3-4"; sha256="12md94g78m7m1np36sadx0wxpb149pn5gd8yj2kw7fphb8g6a218"; depends=[Hmisc lattice lhs sp zoo]; };
   hydroTSM = derive2 { name="hydroTSM"; version="0.5-1"; sha256="053id9ldr10mafww3vas9fiy16lz0n1mqqfg6wjsbm5r15jkz3ha"; depends=[automap e1071 gstat lattice maptools sp xts zoo]; };
   hydrogeo = derive2 { name="hydrogeo"; version="0.6-1"; sha256="16m6yvr9yhvb0vdh9pqd6gzf3h9km7gd89y6risjddv6g83469k8"; depends=[]; };
-  hydrolinks = derive2 { name="hydrolinks"; version="0.7.1"; sha256="1yghqn5wvwx2s1lqjh8pi051hki5f9glhaqnrnjlx4bbsirf3hv7"; depends=[dbplyr dplyr httr rappdirs RSQLite sf units]; };
-  hydroscoper = derive2 { name="hydroscoper"; version="0.1.0"; sha256="06w3rzdv0cjyk5pfx6ji1hkjf23pfd2z0aigyynj7ajbqfxmibna"; depends=[readr stringi stringr XML]; };
+  hydrolinks = derive2 { name="hydrolinks"; version="0.10.0"; sha256="0004a03bx9l9wq6zdz5az41rjxv1ka4qmnxk6ksy8i7365wsay88"; depends=[dbplyr dplyr httr rappdirs RSQLite sf units]; };
+  hydroscoper = derive2 { name="hydroscoper"; version="1.0.0"; sha256="09dcn2wfd06waxzq8cv8lxyw07kavjp30qc2czn2gamrak8xvrl9"; depends=[jsonlite pingr plyr readr stringi stringr tibble]; };
   hydrostats = derive2 { name="hydrostats"; version="0.2.5"; sha256="1n0wy8i1cfsgmqh898qi0qnqn4qx1srjvd05vmsf9qmhpnnyqw5m"; depends=[]; };
   hyfo = derive2 { name="hyfo"; version="1.3.9"; sha256="03f3irmhndwfnv4i121gwxb2yv1868pggzyr80pgp4969qzddacm"; depends=[data_table ggplot2 lmom maps maptools MASS moments ncdf4 plyr reshape2 rgdal rgeos zoo]; };
   hyper_fit = derive2 { name="hyper.fit"; version="1.0.3"; sha256="17f5i2i960796hl92y7ci9ffspway435r02kw1zk91lvfn927hng"; depends=[LaplacesDemon magicaxis MASS rgl]; };
   hyper2 = derive2 { name="hyper2"; version="1.0-1"; sha256="107cp6na0srqax42fmvcsrviy631hg6phqmkc0cxz1zdxxxw6442"; depends=[partitions Rcpp]; };
-  hyperSMURF = derive2 { name="hyperSMURF"; version="1.1.3"; sha256="0ayhq7w23azwjing2l4spfydmx7g615g3c5fm6fw1an660mzsgd2"; depends=[doParallel foreach iterators randomForest unbalanced]; };
   hyperSpec = derive2 { name="hyperSpec"; version="0.99-20171005"; sha256="0rhn9f4faxscwrip14ndymaddc5nfd6pyrhgwkwm8hf680wdrhbl"; depends=[ggplot2 lattice latticeExtra testthat]; };
   hypercube = derive2 { name="hypercube"; version="0.1.0"; sha256="0iv3cfs636mwijm2rjk427izf0gk5lh2fknd7bmb8pd188ckwqmf"; depends=[stringr]; };
   hypergea = derive2 { name="hypergea"; version="1.3.6"; sha256="1k1525bkkj83j2nn9ixidb8vjvdmc4l9jvfarzgg532gg7wn3841"; depends=[]; };
@@ -7172,7 +7354,7 @@ in with self; {
   iBST = derive2 { name="iBST"; version="1.0"; sha256="02p7lcr1wrf21v4568jc8hmjcijy3fnbv77s8nlhv2s4p0pgzh5x"; depends=[Rcpp rpart survival]; };
   iC10 = derive2 { name="iC10"; version="1.1.3"; sha256="19dlrwj47zmdgmvzjfs5qa9fqq8g9ywhgy5mqbp99n7d9hg4ybxh"; depends=[iC10TrainingData pamr]; };
   iC10TrainingData = derive2 { name="iC10TrainingData"; version="1.0.1"; sha256="1x1kgxiib9l7whm2kmbv1s912hgpl7rdpqpn67nlkiswnr27hqn4"; depends=[]; };
-  iClick = derive2 { name="iClick"; version="1.3"; sha256="052pjfxj11ay1yki89hdbbj550snppicmh8z85wlgf70amxhyq5k"; depends=[boot car coefplot fBasics forecast lattice lmtest lubridate openair papeR rugarch sandwich timeDate timeSeries]; };
+  iClick = derive2 { name="iClick"; version="1.4"; sha256="1j1mk4w1m90f90ijxdiw67sycxms4mqljcmsic81m2pq228l8zd5"; depends=[boot car coefplot fBasics forecast lattice lmtest lubridate openair papeR rugarch sandwich timeDate timeSeries xts zoo]; };
   iCluster = derive2 { name="iCluster"; version="2.1.0"; sha256="09j36xv87d382m5ijkhmp2mxaajc4k97cf9k1hb11ksk7fxdqz6r"; depends=[caTools gdata gplots gtools lattice]; };
   iDINGO = derive2 { name="iDINGO"; version="1.0.2"; sha256="041yvp3nzk3ipjlx17xcn9yiwr1hlns0pd3vzqrck5v9glnp4sbr"; depends=[GGMridge glasso igraph mvtnorm scales visNetwork]; };
   iDOS = derive2 { name="iDOS"; version="1.0.0"; sha256="1jj98ikzvfp6qbnh2j6msi0m89sbmjjafgry43rq7qmczzs81hl8"; depends=[VennDiagram]; };
@@ -7193,6 +7375,7 @@ in with self; {
   iRegression = derive2 { name="iRegression"; version="1.2.1"; sha256="1kwsrmsflmqan96aj0dczlszfww1dlg6rwycyid52f7ghg9810rn"; depends=[mgcv]; };
   iRepro = derive2 { name="iRepro"; version="1.0"; sha256="1knncn47pl411r31z1r5ipsiyagcpjbc2gb972n7l3539pcpf0zy"; depends=[]; };
   iSDM = derive2 { name="iSDM"; version="1.0"; sha256="1hzs187mwv3k2wx6dpvkizjhkcx63mznd06wiw6047lf5jrlif0a"; depends=[ade4 colorRamps geometry geosphere maptools MASS pdist raster rgdal rgl sp virtualspecies]; };
+  iTOP = derive2 { name="iTOP"; version="1.0.1"; sha256="1cjrbjrpfm27widw466kgkl5xlbyjf7ipk8ki8mfn3lqp9r2f3rc"; depends=[corpcor Matrix]; };
   iWISA = derive2 { name="iWISA"; version="1.0-2"; sha256="0jqi1kh7jlc04nb9d1w711q4i8j1vgwbxjls09z7853kv22wxfyz"; depends=[fda ggplot2 waveslim]; };
   iWeigReg = derive2 { name="iWeigReg"; version="1.0"; sha256="09ajbqllr4ajmpk8qs6qw019fx8a7vsabm37867zycssn77z9nc8"; depends=[MASS trust]; };
   iadf = derive2 { name="iadf"; version="0.1.0"; sha256="02zx9n4ncg10bbydrr05631vzc4w2b1jg3x6xiaffg7x5rh4mnyf"; depends=[dplR dplyr manipulate rlang tibble tidyr]; };
@@ -7206,41 +7389,41 @@ in with self; {
   ibr = derive2 { name="ibr"; version="2.0-3"; sha256="1plyz4sl0i8qhk9dh3h7zvh9h8wqr589jvasmvp7r3slp4ndhp1r"; depends=[mgcv]; };
   ic_infer = derive2 { name="ic.infer"; version="1.1-6"; sha256="14vcwx5592br4zky9mq82akwk8pfiz7p1rx2jvyb48prrs2mm9gy"; depends=[boot kappalab mvtnorm quadprog]; };
   ic50 = derive2 { name="ic50"; version="1.4.2"; sha256="1a5ddmbdfr3ls132fvalbkh4yaawv9k58rgpy54s5qddrm6aas2s"; depends=[]; };
-  icRSF = derive2 { name="icRSF"; version="1.1"; sha256="0yrlwf6p3k0i9vjm4zmf585cfv39ihchkyz9jfi4lzdh15msrzlx"; depends=[icensmis Rcpp]; };
+  icRSF = derive2 { name="icRSF"; version="1.2"; sha256="1a7046lspk70cvrvzwzhnqcmc3cqa5a9bmzlw012jvcn39m2ca3l"; depends=[icensmis Rcpp]; };
   ica = derive2 { name="ica"; version="1.0-1"; sha256="1bkl4a72l0k6gm82l3jxnib898z20cw17zg81jj39l9dn65rlmcq"; depends=[]; };
-  icaOcularCorrection = derive2 { name="icaOcularCorrection"; version="3.0.0"; sha256="1vmvarc2apipd0vlhprc5wpgh8i38m5myj1gqdymjrnky0azq17f"; depends=[fastICA mgcv]; };
   icamix = derive2 { name="icamix"; version="1.0.6"; sha256="0jys9r7wjxlwsq5rssih2lvsar1192w8vigdhhrcmf3d5z5ic1kp"; depends=[Rcpp RcppArmadillo]; };
   icapca = derive2 { name="icapca"; version="1.1"; sha256="131gdrk8vsbac0krmsryvsp21bn9hzxqxq847zn16cxjf6y5i3xb"; depends=[]; };
   icarus = derive2 { name="icarus"; version="0.3.0"; sha256="1656bz0av59dpgndibn0bc5zr9zka9pmw7qmhjz2b956bh7sh4ag"; depends=[]; };
   iccbeta = derive2 { name="iccbeta"; version="1.1.0"; sha256="1xw0mz3ipkfz1jsjzwjnrm0af1gs31js7nvgy79cxqz31955zjww"; depends=[Rcpp RcppArmadillo]; };
-  icd = derive2 { name="icd"; version="2.3.1"; sha256="15clnf5zbbqj4z5dgmx2wkn8jqmd8msryc555hk339d1662j41zd"; depends=[checkmate magrittr Rcpp testthat]; };
+  icd = derive2 { name="icd"; version="2.4.1"; sha256="1ygik4kd8ip4n8vjy2n6idj3cnc966sx41sckcqbjsqdsv5g5ghc"; depends=[checkmate magrittr Rcpp testthat]; };
   icdGLM = derive2 { name="icdGLM"; version="1.0.0"; sha256="1mh9kwn21n19v4lrmj33ghpna7dl66fx19gi6lcjanmrpzrkwdnz"; depends=[Matrix]; };
   icenReg = derive2 { name="icenReg"; version="2.0.7"; sha256="1fc6l3mqnm4rcg49bk2plfa011g7nay71gzd4nxnjisifmw6qi2s"; depends=[coda foreach MLEcens Rcpp RcppEigen survival]; };
   icensBKL = derive2 { name="icensBKL"; version="1.1"; sha256="12zx5x81jy48mp0l6a5ga0ikkjxvndv5cv2xf6d2lczfk7fz9lbp"; depends=[gtools Icens MASS mvtnorm smoothSurv survival TeachingDemos]; };
   icensmis = derive2 { name="icensmis"; version="1.3.1"; sha256="1c0j43wffb5h99chlj8j45lpan7dpn2i0r4rr6b2kq16p1zabfjw"; depends=[Rcpp]; };
-  icesAdvice = derive2 { name="icesAdvice"; version="1.4-0"; sha256="0ra25g6am75qh32rfjps59x31zwav98k5d4nf6gbam98cr7vr5h3"; depends=[]; };
+  icesAdvice = derive2 { name="icesAdvice"; version="1.4-1"; sha256="0vhp4mh3isxibxr1i05vlxvrz53ni83s5khjvnk8i20dcri0501g"; depends=[]; };
   icesDatras = derive2 { name="icesDatras"; version="1.2-0"; sha256="0arkn9ma03qb21sv5chmz5fj65da5ivqhvrg8bqibbky8zkix1vh"; depends=[]; };
   icesSAG = derive2 { name="icesSAG"; version="1.3-2"; sha256="1w3v10qjs9jyn7dp6vsv8hyax8mn2b8y5afba4lcpzh0p8d2yzpm"; depends=[httr icesVocab openssl png xml2]; };
-  icesTAF = derive2 { name="icesTAF"; version="1.5-0"; sha256="19xg24k4fz64ki8mxf9g0r49syqh97a98dfb9zgiga3da3f2rk4w"; depends=[httr]; };
+  icesTAF = derive2 { name="icesTAF"; version="1.5-1"; sha256="0sj9wswpaxch195rnwav2qbk2f25xc2kdzf9xr6p8l0adxnijmki"; depends=[httr]; };
   icesVocab = derive2 { name="icesVocab"; version="1.1-2"; sha256="15ha2visv44pphkahg766afafh6467lwznvppwkvqjrbfiijkc6l"; depends=[XML]; };
   icmm = derive2 { name="icmm"; version="1.1"; sha256="1w9f1rniz67rrvq0akc64s5433ddmr2cgbcljil4c58yyz8hinx8"; depends=[EbayesThresh]; };
   icosa = derive2 { name="icosa"; version="0.9.81"; sha256="05gpiksncdi536f4py7szfi6myny1gqj8i0hsgpma7cfcm3npn0l"; depends=[igraph raster Rcpp rgdal rgl sp]; };
   icpsrdata = derive2 { name="icpsrdata"; version="0.3.0"; sha256="17sprbbi8fmvcp8d7hwrxl5amg0j036wq483cw62zbmni3p3fl82"; depends=[httr purrr rvest]; };
-  icr = derive2 { name="icr"; version="0.5.2"; sha256="1qmr6sc56v7ywy01f2mdhdxv2yp6rnwhbq347lfhb4ikhax3znpy"; depends=[ggplot2 Rcpp reshape2]; };
+  icr = derive2 { name="icr"; version="0.5.3"; sha256="178j4xyaxkzi6fxajw5qkab9ifabaj3lvhk2qqipb6n5p68cd9bn"; depends=[ggplot2 Rcpp reshape2]; };
   icsw = derive2 { name="icsw"; version="0.9"; sha256="0lmq9l9sy0fz3yjj2sj8f19iy26913caibf7d9zb9w9n6cqskvlx"; depends=[]; };
   idar = derive2 { name="idar"; version="1.0"; sha256="1yfv3na4rcldkpzybf7la227z4ynsl1scrziirl5gp072k7zrs01"; depends=[ape FD picante spatstat]; };
   idbg = derive2 { name="idbg"; version="1.0"; sha256="1rxmj04hswxybrg7dfib3mjy8v8mdiv13zwbscp2q55z55hhf1m5"; depends=[]; };
-  idbr = derive2 { name="idbr"; version="0.2"; sha256="1hhwn93arkzqs5ns9ll7rwqq5gyngixbicly9asw0dgjn12n5p7x"; depends=[countrycode dplyr httr jsonlite]; };
+  idbr = derive2 { name="idbr"; version="0.3"; sha256="02syk7fmif0xnddl8189vnl329r8mwl3iwv2rsf6cw7mwg30fhyw"; depends=[countrycode dplyr httr jsonlite]; };
   idealstan = derive2 { name="idealstan"; version="0.2.7"; sha256="1818vwlv5cr6qyg7p6kgyb996n89d2xr4cy6ys9pdhrp7lip9prr"; depends=[bayesplot BH dplyr ggplot2 lazyeval Rcpp RcppEigen rlang rstan rstantools shinystan StanHeaders stringr tidyr]; };
   idefix = derive2 { name="idefix"; version="0.2.4"; sha256="0j64pmccg01lscvjg9z97ypv3svl4jbvs4819jn4kc9ni6gq4fai"; depends=[dplyr gtools MASS maxLik Rdpack scales shiny]; };
-  idem = derive2 { name="idem"; version="3.0"; sha256="15k6gk3v2hijdfabc1c2xabm5v84hgs0p9lpddrpir3h5jzilr3i"; depends=[BH Rcpp RcppEigen rstan sqldf StanHeaders survival]; };
+  idem = derive2 { name="idem"; version="3.5"; sha256="1fr456drfnla917byw0c8ppqrhq4i7gsd4idfasx6xx5fqhv7ypc"; depends=[BH Rcpp RcppEigen rstan sqldf StanHeaders survival]; };
   idendr0 = derive2 { name="idendr0"; version="1.5.3"; sha256="11c12d166bp2i498d8y6ipg5jhz1xsdsrmnhjqnrqqzp9avvrsjp"; depends=[tkrplot]; };
   identity = derive2 { name="identity"; version="0.2-1"; sha256="1j5wb5cj5j49in2g6r1shdm4ri4cfzj22hpqazvcmq4dm291sdi9"; depends=[]; };
   ider = derive2 { name="ider"; version="0.1.0"; sha256="021s4fybki7a6mdsr6gkjrzfhaqdcg0m2a6r24y91jklxlxqxmws"; depends=[FNN]; };
   idm = derive2 { name="idm"; version="1.8.1"; sha256="14cy1gv12wjpsv5jih7pgq5d36gfpdc56ih4mc6hx638qkkyk87z"; depends=[animation ca corpcor dummies ggplot2 ggrepel]; };
-  idmTPreg = derive2 { name="idmTPreg"; version="1.0"; sha256="0lqig005zln84670pglifnhc9g4nz7g7gfkl476a4q4q920pn9ll"; depends=[doParallel foreach survival]; };
+  idmTPreg = derive2 { name="idmTPreg"; version="1.1"; sha256="1329sjb4dnw3yiyg16whbj4l2v0kg8phg1x4ysvyp2kqkmw14yq6"; depends=[doParallel foreach survival]; };
   idr = derive2 { name="idr"; version="1.2"; sha256="05nvgw1xdg670bsjjrxkgd1mrdkciccpw4krn0zcgdf2r21dzgwb"; depends=[]; };
   ids = derive2 { name="ids"; version="1.0.1"; sha256="1s6ga94gds5ydr9f8qbjfgfpg2dvbnkcrlybqlb33hk3c0c2l8dn"; depends=[openssl uuid]; };
+  idx2r = derive2 { name="idx2r"; version="1.0.0"; sha256="14d3rasnf8mghwzpg6h4larybgy7drrv0jh71x28qwry49acsqyh"; depends=[]; };
   ie2misc = derive2 { name="ie2misc"; version="0.8.5"; sha256="1i59836a3kjsra5ibk66ic35yqk28p3biylall8gngjssiig92c1"; depends=[data_table gWidgets2 gWidgets2tcltk lubridate openxlsx qdap reader readxl stringi]; };
   ieeeround = derive2 { name="ieeeround"; version="0.2-0"; sha256="0xaxrlalyn8w0w4fva8fd86306nvw3iyz44r0hvay3gsrmgn3fjh"; depends=[]; };
   iemisc = derive2 { name="iemisc"; version="0.9.6"; sha256="0yr2pqklj3qjlmkk2sc5rgi8dfnm9jdaagzh2dhm05lharhfzy6d"; depends=[data_table fpCompare gsubfn iemiscdata pracma r_import zoo]; };
@@ -7252,13 +7435,14 @@ in with self; {
   ifs = derive2 { name="ifs"; version="0.1.5"; sha256="03g9cgs0zp89b1d7rpcn5clkvmg0spnariwrifd8hha476ldvfcy"; depends=[]; };
   ifultools = derive2 { name="ifultools"; version="2.0-4"; sha256="0pv2msaa1rmj8csxdclzi2jwg9pfdvh87blj9j3xa3myisglq092"; depends=[MASS splus2R]; };
   ig_vancouver_2014_topcolour = derive2 { name="ig.vancouver.2014.topcolour"; version="0.1.2.0"; sha256="0yclvm6xppf4w1qf25nf82hg1pliah68z7h3f683svv0j62q748h"; depends=[]; };
-  igraph = derive2 { name="igraph"; version="1.1.2"; sha256="1v26wyk52snh8z6m5p7yqwcd9dbqifhm57j112i9x53ppi0npcc9"; depends=[irlba magrittr Matrix pkgconfig]; };
+  igraph = derive2 { name="igraph"; version="1.2.1"; sha256="1hcr6b1lz030lgay1bz8y8sxaf2j93ds8n8gsqr6qhssz141hd2m"; depends=[magrittr Matrix pkgconfig]; };
   igraphdata = derive2 { name="igraphdata"; version="1.0.1"; sha256="19w5npa4b8c054v94xlr7nmhhg2fhq4m8jbds86skp8zvipl4rkl"; depends=[]; };
   igraphinshiny = derive2 { name="igraphinshiny"; version="0.1"; sha256="1ww5s4jfihzcx4k35lbhzsf54z720xh7b2p5alzk843m6rx77986"; depends=[igraph shiny]; };
   igraphtosonia = derive2 { name="igraphtosonia"; version="1.0"; sha256="0vy9jnpjp68l8s0hi1l57j9p41c543h3iqv16pwl550f38zqp8j6"; depends=[igraph]; };
   iheatmapr = derive2 { name="iheatmapr"; version="0.4.3"; sha256="0124d7h8n83zb5kvvavccprlqknpqrd634zv7sz9s915xzhp7jgz"; depends=[fastcluster ggdendro htmlwidgets jsonlite knitr magrittr plyr RColorBrewer S4Vectors scales]; };
   ihs = derive2 { name="ihs"; version="1.0"; sha256="1c5c9l6kdalympb19nlgz1r9zq17575ivp3zrayb9p6w3fn2i06h"; depends=[maxLik]; };
-  ijtiff = derive2 { name="ijtiff"; version="0.3.0"; sha256="1c5pamxjmipgmqipnf0gg4yx7i0hjrb80c0mb2sjab4v05finz55"; depends=[checkmate fields filesstrings magrittr purrr Rcpp readr RSAGA stringr]; };
+  iilasso = derive2 { name="iilasso"; version="0.0.1"; sha256="08d5j0dvi8k0hzn4xn4nzplc1fliqz11jd9i4pfj80ggl5dmc2x1"; depends=[BH Matrix Rcpp]; };
+  ijtiff = derive2 { name="ijtiff"; version="1.1.0"; sha256="0hb201qcwynbdi2fzspvv9sdhyx0cypbsvhawhcwj5zqdp6f507f"; depends=[checkmate fields filesstrings magrittr purrr Rcpp readr rlang stringr]; };
   iki_dataclim = derive2 { name="iki.dataclim"; version="1.0"; sha256="1yhvgr8d3j2r8y9c02rzcg80bz4cx58kzybm4rch78m0207wqs7p"; depends=[climdex_pcic lubridate PCICt zoo]; };
   ilc = derive2 { name="ilc"; version="1.0"; sha256="0hs0nxv7cd300mfxscgvcjag9f2igispcskfknb7sn7p8qvwr5ki"; depends=[date demography forecast rainbow survival]; };
   imPois = derive2 { name="imPois"; version="0.1.4"; sha256="07350zly4fyx2sf9cqpfpyy8l5kn96z49kzym81p2bmhq66d408h"; depends=[geometry rgl]; };
@@ -7269,9 +7453,10 @@ in with self; {
   imbalance = derive2 { name="imbalance"; version="1.0.0"; sha256="1pfhwf4844m0a8qsm852am63x18vlkbs6m1s9izrpd219616skpr"; depends=[bnlearn C50 FNN ggplot2 KernelKnn mvtnorm Rcpp RcppArmadillo smotefamily]; };
   imfr = derive2 { name="imfr"; version="0.1.5"; sha256="1f4zynra79h42dmd9qhg67wwvs7c640f5is98bq30fdphiybihgz"; depends=[dplyr httr jsonlite]; };
   imguR = derive2 { name="imguR"; version="1.0.3"; sha256="14f7ghgc8rbrpqb21rinfbrj1wh80i6ii0awwi814152v5qzj4b3"; depends=[httr jpeg png]; };
+  iml = derive2 { name="iml"; version="0.3.0"; sha256="0jz3gw45lyb4ddw9pdfj797aipha2bwcmqrf7dyxx0ga3cfxv7ay"; depends=[checkmate data_table ggplot2 glmnet Metrics partykit R6]; };
   immer = derive2 { name="immer"; version="0.8-5"; sha256="181mp407vy2ij35ggr1vi80y8ak6vyjplyvps1fdpxnanp1mqpw3"; depends=[CDM coda psychotools Rcpp RcppArmadillo sirt]; };
   imp4p = derive2 { name="imp4p"; version="0.5"; sha256="0s1vq64qspni5fqzz781a1l8ldfbwhb57h8z4dr5k9bama5s3g6l"; depends=[imputeLCMD Iso Rcpp truncnorm]; };
-  implyr = derive2 { name="implyr"; version="0.2.2"; sha256="1kqz8pzgdbyvngsbab3v578jxm01hqmh2ipcqxsv1h9j628mvqj8"; depends=[assertthat DBI dbplyr dplyr rlang]; };
+  implyr = derive2 { name="implyr"; version="0.2.3"; sha256="0ap7qdnwm1gcfl67r6bfjmk9ji4z30plclwnwzlv5j7yx5si6lps"; depends=[assertthat DBI dbplyr dplyr rlang tidyselect]; };
   r_import = derive2 { name="r_import"; version="1.1.0"; sha256="0blf9539rbfwcmw8zsb4k58slb4pdnc075v34vmyjw752fznhcji"; depends=[]; };
   importar = derive2 { name="importar"; version="0.1.1"; sha256="0xv445fmjhsbdlsq03k2rlycnggn3rcyq5a49zrg4jvjamzr0rgr"; depends=[]; };
   imprProbEst = derive2 { name="imprProbEst"; version="1.0.1"; sha256="09y8yd9sw0b79ca45ryi7p82vy5s8cx0gg603rlc39lgwcdv45i3"; depends=[inline lpSolve]; };
@@ -7281,15 +7466,15 @@ in with self; {
   imputeMulti = derive2 { name="imputeMulti"; version="0.6.4"; sha256="0ngjbj8pl5mwprrgy234a5p9dhf615z7ymfv8184hby1z6ib3mgl"; depends=[DBI gtools Rcpp RSQLite]; };
   imputePSF = derive2 { name="imputePSF"; version="0.1.0"; sha256="0xfd2mybg0cbi3n35j28s4xq4iwr5rq4mqwgdqml7l2rlzidcwc8"; depends=[PSF]; };
   imputeR = derive2 { name="imputeR"; version="2.0"; sha256="0xyvy785jb1mv06jq25cnsbgiywi3857sdiizcjck7bx970lk02n"; depends=[caret Cubist gbm glmnet mboost pls rda reshape2 ridge rpart]; };
-  imputeTS = derive2 { name="imputeTS"; version="2.5"; sha256="1b0gpgg07hl4n5dnvqfjxk1zxgh93ykh7lz8l0szv5hbijidvqxp"; depends=[forecast Rcpp stinepack]; };
+  imputeTS = derive2 { name="imputeTS"; version="2.6"; sha256="14hkz9y6r8nl036zwi8c7k54bbkyz7zmvnq8ln7pwl15kgpcadkf"; depends=[forecast Rcpp stinepack]; };
   imputeTestbench = derive2 { name="imputeTestbench"; version="3.0.1"; sha256="0yxvwk1bcsid116a4zqsagf2dl3vhzva559bfjjcqdgyniapcmcj"; depends=[dplyr forecast ggplot2 imputeTS reshape2 tidyr zoo]; };
   imputeYn = derive2 { name="imputeYn"; version="1.3"; sha256="1b21w1aa5f7yiq8k0wa86wvbg4ij7f6ldwn6asfqwb0b90rvsgvs"; depends=[boot emplik mvtnorm quadprog survival]; };
   in2extRemes = derive2 { name="in2extRemes"; version="1.0-3"; sha256="1lgsqm29zmjyf8kynyra2p3q7bs4fyd7ac4v6s3pbahzhhzdk94y"; depends=[extRemes]; };
-  inTrees = derive2 { name="inTrees"; version="1.1"; sha256="1b88zy4rarcx1qxzv3089gzdz1smga6ssj8cxxccyyzci6px85j1"; depends=[arules gbm RRF xtable]; };
+  inTrees = derive2 { name="inTrees"; version="1.2"; sha256="1mwn2ijkyw0y9xcgrr56wxd2326ikarlsi79l59dplvlx2iwbi6c"; depends=[arules data_table gbm RRF xgboost xtable]; };
   inaparc = derive2 { name="inaparc"; version="0.2.0"; sha256="0rgbnvvqzbx4j40qz32l1bxmg3wwzbl6719wb9m3xpakblvhhxs2"; depends=[kpeaks lhs]; };
   inarmix = derive2 { name="inarmix"; version="0.4"; sha256="11a1vaxq22d5lab07jp5pw0znkaqj6bmkn6vsx62y6m4mmqk04yr"; depends=[Matrix Rcpp]; };
   inbreedR = derive2 { name="inbreedR"; version="0.3.2"; sha256="09fr13ckyn2skiigkn4qdx5g080gcmyyrvzhcp0wrml9wpmy0h4z"; depends=[data_table]; };
-  incR = derive2 { name="incR"; version="1.0.2"; sha256="07v0jg3cw04qnblpr3zslfwxw8ng444f5545q4yznnbdw8wfmk8x"; depends=[dplyr lubridate maptools rgeos]; };
+  incR = derive2 { name="incR"; version="1.1.0"; sha256="0q41bs7pf6hqyfwvcwc2sxq44jq95qq3qsddz53f8gphwjsyf1v7"; depends=[dplyr ggplot2 lubridate maptools rgeos]; };
   inca = derive2 { name="inca"; version="0.0.3"; sha256="1g9js84xa5b6jl8gp4k0c55kjazfaw5g9biwk4v6vz3vwkwayyzh"; depends=[Matrix Rcpp RcppArmadillo]; };
   incadata = derive2 { name="incadata"; version="0.6.1"; sha256="05i0zifdzc1w6p6annhzp9rdd4v82gx2sxi4lqpdnraaczdrhgbb"; depends=[backports decoder dplyr rccmisc rvest sweidnumbr xml2]; };
   incgraph = derive2 { name="incgraph"; version="1.0.1"; sha256="0zjvxk2krdlm5bcr0m80nxy46f69a1xadfjw5sjw249b28wdclml"; depends=[BH dplyr orca purrr Rcpp testthat tibble]; };
@@ -7297,7 +7482,8 @@ in with self; {
   inctools = derive2 { name="inctools"; version="1.0.11"; sha256="08a1aqsx1f1mkykpgbqbgvai60zxj9zwpmxynyajbm4lwr3rc6rp"; depends=[cubature doParallel dplyr foreach ggplot2 glm2 magrittr plyr pracma tmvtnorm]; };
   indelmiss = derive2 { name="indelmiss"; version="1.0.8"; sha256="0674hvgdq0fxab3h55iililphrr6lqp25359crvkqqgb8higbs0h"; depends=[ape numDeriv phangorn Rcpp]; };
   indicspecies = derive2 { name="indicspecies"; version="1.7.6"; sha256="0a7s37k3bg4cnzkvn833nrwi6hnfa5f6jxa8ra954v4sp55g6i5d"; depends=[permute]; };
-  inegiR = derive2 { name="inegiR"; version="1.2.0"; sha256="14mpjyc85l9sznhn29cxk37l3y5yxclqiv2kgcwf8prpxfgwy83l"; depends=[jsonlite plyr XML zoo]; };
+  indirect = derive2 { name="indirect"; version="0.2.0"; sha256="1k7xwsx655nzl43s1mkaysyn5gydq973gynmqip67lssnm7cnch4"; depends=[gplots MASS]; };
+  inegiR = derive2 { name="inegiR"; version="2.0.0"; sha256="00bhb3zvqhir2rqza3axk98lxhq98s41apwpsm242pqb7wsnmg95"; depends=[jsonlite plyr XML zoo]; };
   ineq = derive2 { name="ineq"; version="0.2-13"; sha256="09fsxyrh0j7mwmb5hkhmrzgcy7kf85jxkh7zlwpgqgcsyl1n91z0"; depends=[]; };
   infer = derive2 { name="infer"; version="0.1.1"; sha256="1ln2vw4d4xcy9g6cv594glrrcqwmjynv0mfq6nsl1h94gz8wnh8a"; depends=[assertive dplyr ggplot2 magrittr rlang tibble]; };
   inference = derive2 { name="inference"; version="0.1.0"; sha256="0j92isfkbhk13yx2hd3a5dd7ikcbgjc04zisd1n5kmg6ajw2aj6r"; depends=[sandwich]; };
@@ -7305,7 +7491,7 @@ in with self; {
   inferr = derive2 { name="inferr"; version="0.3.0"; sha256="1z5bfq0gv1h6iw8nwc19ar6f2sgsvgs3ghq52s09wclqk2yy4azz"; depends=[dplyr magrittr purrr Rcpp rlang shiny tibble tidyr]; };
   inflection = derive2 { name="inflection"; version="1.3"; sha256="168ms6hfakr6wql45r9qvk7hpas6sgpaiqyxicihsq0j3dpzvys4"; depends=[]; };
   influence_ME = derive2 { name="influence.ME"; version="0.9-9"; sha256="0f6d2hvs9qllyfpsp2cgh7w8yjxafclbk47n8av7j9zpp7s5yg9v"; depends=[lattice lme4 Matrix]; };
-  influence_SEM = derive2 { name="influence.SEM"; version="2.1"; sha256="1qhv640lngwrbdfqvw2x0x4zwv0aqzxwyfdpnivzjf5pw58nya5s"; depends=[lavaan]; };
+  influence_SEM = derive2 { name="influence.SEM"; version="2.2"; sha256="1cabl6486mlrmk0418s18wii3n6nl1ckv6w9281wdk4fy27y9qk2"; depends=[lavaan]; };
   influenceR = derive2 { name="influenceR"; version="0.1.0"; sha256="12p9362hkndlnz1rd8j2rykg57kbm6l7ks60by3rd25xg50k5jag"; depends=[igraph Matrix]; };
   influxdbr = derive2 { name="influxdbr"; version="0.14.2"; sha256="03dzw86mvbc8w38q9skjki1z17vc04k9q8dx7sd3xg6xbr10f9d9"; depends=[dplyr httr jsonlite magrittr purrr rlang tibble tidyr xts zoo]; };
   infoDecompuTE = derive2 { name="infoDecompuTE"; version="0.6.0"; sha256="1gmsf4gw6xf70sh7y5hagkavknp80293sb7wgx6lycngq2acmi4w"; depends=[MASS]; };
@@ -7320,7 +7506,7 @@ in with self; {
   inlabru = derive2 { name="inlabru"; version="2.1.3"; sha256="09sdbzg3cdg43clkwnahkhyns019gjya55m6zhq340mgrnirx2i5"; depends=[ggplot2 rgdal rgeos sp]; };
   inline = derive2 { name="inline"; version="0.3.14"; sha256="0cf9vya9h4znwgp6s1nayqqmh6mwyw7jl0isk1nx4j2ijszxcd7x"; depends=[]; };
   inlinedocs = derive2 { name="inlinedocs"; version="2013.9.3"; sha256="13vk6v9723wlfv1z5fxmvxfqhaj68h0x3s2qq9j6ickr4wakb4ar"; depends=[]; };
-  inlmisc = derive2 { name="inlmisc"; version="0.3.5"; sha256="0m215fgyh17nbp2cqmyism3i77rgqkpdggc6fnpn3njxgw7wyb9m"; depends=[checkmate dplyr GA htmlwidgets igraph knitr leaflet raster rgdal rgeos sp]; };
+  inlmisc = derive2 { name="inlmisc"; version="0.4.0"; sha256="0hhw87zvqd2mplpbmbh1y91pyfgyqamw4wiz74a6qwn705bcymah"; depends=[checkmate dplyr GA htmltools htmlwidgets igraph knitr leaflet raster rgdal rgeos sp xtable]; };
   inpdfr = derive2 { name="inpdfr"; version="0.1.6"; sha256="0fwznjsq4wccqfnb3a5ic1nyx538jxmlcv59xdz06y6raczjp9q9"; depends=[ca cluster entropart metacom R_devices RColorBrewer SnowballC stringi tm wordcloud]; };
   insideRODE = derive2 { name="insideRODE"; version="2.0"; sha256="1ffndk8761cpkririb3g1qsq9nwmh82lcrpql9i5fksdprvdjzcw"; depends=[deSolve lattice nlme]; };
   insol = derive2 { name="insol"; version="1.1.1"; sha256="0zbawkp4qb0kqb7y9ibiyy8sa9rfgbzwmcdswx6s87p0h7brrqn6"; depends=[]; };
@@ -7332,8 +7518,8 @@ in with self; {
   intRegGOF = derive2 { name="intRegGOF"; version="0.85-1"; sha256="0fyvhl6jmi6krfbimsq61dhixlz9h9jxk4yjvwbx2vl8d9fnnr54"; depends=[]; };
   intRvals = derive2 { name="intRvals"; version="1.0.0"; sha256="0391raj5wq6issvzqm8bfnv1ap2hh5nfsqi9r1x5ss37fvcq5fjm"; depends=[lme4 plyr]; };
   intamap = derive2 { name="intamap"; version="1.4-1"; sha256="1shyxlps1rxqavrvg55gw0c9115q0j3yw78ilavig7036zx5lazv"; depends=[automap doParallel evd foreach gstat MASS mvtnorm rgdal sp]; };
-  intamapInteractive = derive2 { name="intamapInteractive"; version="1.1-10"; sha256="073k6sdds40fmlbw1xnp3x5sc9qdyq2s1bhp7av4jjm930hsvsrn"; depends=[automap gstat intamap spatstat spcosa]; };
-  intccr = derive2 { name="intccr"; version="0.2.0"; sha256="0sm66c0ivvky01k5v28k7rc6ba15jpnalhgc019nbrly1s5kyqcy"; depends=[alabama doParallel foreach]; };
+  intamapInteractive = derive2 { name="intamapInteractive"; version="1.1-12"; sha256="1h8kzinfpp2rwal11xqs9g99rmigs0jlsr5h0qh0zsill73minid"; depends=[automap gstat intamap rgdal sp spatstat spcosa]; };
+  intccr = derive2 { name="intccr"; version="1.0.0"; sha256="1y3rrxr9m8s6xvg4j8w9a2673kl1g5mmzz2p5dxjr6ddlfl8aji3"; depends=[alabama doParallel foreach numDeriv]; };
   integIRTy = derive2 { name="integIRTy"; version="1.0.5"; sha256="13p1r3rccsmaqwn0mrskr86jpww72aaq8zf2a8rnbpzkfrq9ni14"; depends=[abind doParallel foreach ltm MASS mclust]; };
   interAdapt = derive2 { name="interAdapt"; version="0.1"; sha256="06ki36l1mrnd9lbm696a6gapr488dz8na4wvl9y1fif9hfv4zk25"; depends=[knitcitations knitr mvtnorm RCurl shiny]; };
   interactionTest = derive2 { name="interactionTest"; version="1.0.1"; sha256="021qsg9rglc4vj3hkrvfm2snd77zna7ql2i0m5hf77yzxxc35jc6"; depends=[]; };
@@ -7344,7 +7530,7 @@ in with self; {
   intergraph = derive2 { name="intergraph"; version="2.0-2"; sha256="1ipxdrfxhcxhcbqvrzqh3impwk4xryqlqlgjl7f2mwrf365zs6ph"; depends=[igraph network]; };
   interim = derive2 { name="interim"; version="0.7.0"; sha256="05hgypckfjb9pr60cv6m8lgqibdkgksw13gy8g1rmd9njs6qcb8i"; depends=[]; };
   internetarchive = derive2 { name="internetarchive"; version="0.1.6"; sha256="1cx9dxlrdz1xak4jrrjs2wsq6ml8n2xl0n0s6n9h3g247j4lfvnm"; depends=[dplyr httr]; };
-  interp = derive2 { name="interp"; version="1.0-30"; sha256="1gzxh0xz0zdw5fr9m4w4w99rg540bljwkcmlla4pc0974d6fcg6i"; depends=[deldir Rcpp RcppEigen]; };
+  interp = derive2 { name="interp"; version="1.0-31"; sha256="0zrqlzsl71fggwy8qvhggzxphbc7ld2gahsh8h5aawvkpfz5jm8k"; depends=[deldir Rcpp RcppEigen]; };
   interplot = derive2 { name="interplot"; version="0.1.5"; sha256="0svhs7mj987vravirhmp4788qvqm32v614qj7q06b2y4va477yj8"; depends=[abind arm dplyr ggplot2]; };
   interpretR = derive2 { name="interpretR"; version="0.2.4"; sha256="0nfh3pyr7nn0r41xk0mfb4fs5rjkbh43lbw14x7pdmbgzpgsc22c"; depends=[AUC randomForest]; };
   interval = derive2 { name="interval"; version="1.1-0.1"; sha256="1lln9jkli28i4wivwzqrsxvv2n15560f7msjy5gssrm45vxrxms8"; depends=[Icens MLEcens perm survival]; };
@@ -7362,7 +7548,7 @@ in with self; {
   investr = derive2 { name="investr"; version="1.4.0"; sha256="0l47bfwxssfr3maprkpwnmgxnxccl3ch4grc7f968iiqk83mcxw9"; depends=[nlme]; };
   invgamma = derive2 { name="invgamma"; version="1.1"; sha256="12ga2y4wc9bc5zz6vimvxwgjpsx3ys3209nq63gscbw559ydxa5a"; depends=[]; };
   io = derive2 { name="io"; version="0.3.0"; sha256="16mnbxq217ixfg2qfqrj97qqfpc5dj622hf80nwray6hp47lbw2s"; depends=[filenamer stringr]; };
-  ioncopy = derive2 { name="ioncopy"; version="2.0.1"; sha256="1iy4a894yp91f7sm89hvr9sh69abjrygx4yaks1d405vbfxa6z58"; depends=[multtest shiny]; };
+  ioncopy = derive2 { name="ioncopy"; version="2.1.1"; sha256="1lkav3xvh2qazfmcxwisrjy8wzf639a4md71499jj5rmy650crys"; depends=[shiny]; };
   ionflows = derive2 { name="ionflows"; version="1.1"; sha256="1k9yz82hbjwljyg4cmi675ppykrc2yq9md8x1hhkfxmp070whcxl"; depends=[Biostrings]; };
   ionicons = derive2 { name="ionicons"; version="0.1.1"; sha256="0v7icjx2bpb0hd3j8a14lijklyjkmw7qgp336z66wzscm6f411ip"; depends=[png rsvg xml2]; };
   ionr = derive2 { name="ionr"; version="0.3.0"; sha256="18rv5n5gihb6pz36s45yj17sdjsbj4485k4lnggdjj1gbbjkz2ni"; depends=[gplots psych]; };
@@ -7382,22 +7568,25 @@ in with self; {
   iptools = derive2 { name="iptools"; version="0.4.0"; sha256="0c3j5sl129xl75p14qr880ll1y3yss3zqg39zbj2jp6wcv9rvafx"; depends=[AsioHeaders BH ISOcodes Rcpp]; };
   ipumsr = derive2 { name="ipumsr"; version="0.1.1"; sha256="0bms1jl1hwqcz6awdgs0wpxvxgsydrvfmp10qnhglh52nckf0dyb"; depends=[dplyr haven purrr raster Rcpp readr rlang stringr tibble tidyr xml2]; };
   ipw = derive2 { name="ipw"; version="1.0-11"; sha256="11a34j6lp329ran2r9kxn8184kfmibkdig74lsy6lj4w4w0d71cm"; depends=[geepack MASS nnet survival]; };
+  ipwErrorY = derive2 { name="ipwErrorY"; version="1.0"; sha256="1n1j1crxnnfkg38drgg8rhc13y6s8hcsr5g0f6hi4v680dgrkhmp"; depends=[nleqslv]; };
   iqLearn = derive2 { name="iqLearn"; version="1.4"; sha256="0vgnfr6x6f6qlnag63brnkdymlmm2vbkl8fg02w98qsc48lal454"; depends=[]; };
-  iqspr = derive2 { name="iqspr"; version="2.3"; sha256="190d0mc36l3ggh62km3z7ylhi9f0wp4brkwmm72qjqbm1przvk0w"; depends=[doParallel fingerprint ggplot2 glmnet gridExtra kernlab ranger rBayesianOptimization rcdk tictoc xgboost]; };
   irace = derive2 { name="irace"; version="2.4"; sha256="07xzg4jcq0rjdq1drs3xh02y29z1gmkjkw54apmaqzc0s1pwzkk4"; depends=[]; };
   ircor = derive2 { name="ircor"; version="1.0"; sha256="07apa4l4ib11xw25d44b403s3la29sqlid13q41hjrlfxafm91ld"; depends=[]; };
   irlba = derive2 { name="irlba"; version="2.3.2"; sha256="0f7wb12wa0zbyllk5adcf4f517wgjpkhsx4j176i9ax6xy7jvprz"; depends=[Matrix]; };
   irr = derive2 { name="irr"; version="0.84"; sha256="0njxackqj8hyf9j1yszwxbnaxgp27fc2bwyyf7dip72wc12f81n5"; depends=[lpSolve]; };
-  irtDemo = derive2 { name="irtDemo"; version="0.1.3"; sha256="057m8p6qnws09kbq30712hfqkdyqkshpc4vprmj65mrdx6kwvqr7"; depends=[fGarch shiny shinydashboard]; };
+  irrNA = derive2 { name="irrNA"; version="0.1.4"; sha256="1i7s4c285dw1s2kiq01a81cfpd2v40y26yklr06xlmqp28iwslbr"; depends=[irr]; };
+  irtDemo = derive2 { name="irtDemo"; version="0.1.4"; sha256="0rpwryybnj7b4bxn0mn1m496y85s2fpqdd78lmdl6jg1ck4j4pb3"; depends=[fGarch shiny]; };
   irtProb = derive2 { name="irtProb"; version="1.2"; sha256="12wnvbzkh0mx9i3iyh1v2n2f2wjsjj7ad3dgv9xj949x4nbz16j0"; depends=[lattice moments]; };
   irtoys = derive2 { name="irtoys"; version="0.2.1"; sha256="0h6iiaxikhbxhbyksbjnb09qdxinlkwr2v9yzs5wslbni14paq5q"; depends=[ltm sm]; };
   irtrees = derive2 { name="irtrees"; version="0.1.0"; sha256="03jmfyx1ia987zhi74fmmcdz70wnm8c7z5z30rwzd1cs11dijjwv"; depends=[]; };
+  irtreliability = derive2 { name="irtreliability"; version="0.1-1"; sha256="15qs8bvgrwajj5kfd57rd34l1p2805ilyd7w60ngrqc14d6az9d2"; depends=[fastGHQuad ltm mirt]; };
   isa2 = derive2 { name="isa2"; version="0.3.5"; sha256="17vm0906szhrh2k5x694vwcfijbzmd1v3axpszfybc0lgds437cv"; depends=[lattice]; };
   isdals = derive2 { name="isdals"; version="2.0-4"; sha256="15p432fskdz2r8523cw122mfhvrq8vdsdsrd0kz9yfin4b5z3zfh"; depends=[]; };
   isdparser = derive2 { name="isdparser"; version="0.2.0"; sha256="061wi94rj3iyvf3dgvcjy0x46hvwhr4ifx0jhirz44bj0c8g3h7j"; depends=[data_table tibble]; };
   isingLenzMC = derive2 { name="isingLenzMC"; version="0.2.5"; sha256="1pd1s3a1rv7vlxd5db1pgwdjps8w5im4zz2h3qzal9cwbis0hb51"; depends=[]; };
   island = derive2 { name="island"; version="0.1.3"; sha256="1wb44zyfkgk62aidw5qg660473dxh9nyahmxzxn7ffmi8a0hmdnf"; depends=[]; };
   ismev = derive2 { name="ismev"; version="1.41"; sha256="19vmjgz1baqkryi34ffhjznc46z3zwqaqblwafhk9fd50xgn4bi6"; depends=[mgcv]; };
+  isni = derive2 { name="isni"; version="0.2"; sha256="1092sz4xskrvpxlkxnd8s7lzwqy1qnim63lzx55sspqcwdbry5hn"; depends=[Formula matrixcalc mvtnorm nlme nnet]; };
   isnullptr = derive2 { name="isnullptr"; version="1.0.1"; sha256="0kwjxq59n3qncdw63vsdvz7v5mzbl5lmckdfgiiw35pzmahnxzh9"; depends=[]; };
   isocir = derive2 { name="isocir"; version="2.0-6"; sha256="0dkxdx2g1c579q97r45shws2gylkwqlvrhmc14ddmzi45xhxlql6"; depends=[circular combinat TSP]; };
   isopam = derive2 { name="isopam"; version="0.9-13"; sha256="0y1yy0922kq5jxyc40gz8sk9vlzwfkfg5swmc6lk4007g9mgc8fm"; depends=[cluster vegan]; };
@@ -7405,11 +7594,11 @@ in with self; {
   isoph = derive2 { name="isoph"; version="1.1.2"; sha256="1qw98cnil3rb9d3vbii8drca744qig6bfd3rc74dxm23cj86f66g"; depends=[Iso survival]; };
   isotone = derive2 { name="isotone"; version="1.1-0"; sha256="0alk0cma5h3yn4w2nqcahprijsm89b0gby9najbngzi5vnxr6nvn"; depends=[nnls]; };
   isotonic_pen = derive2 { name="isotonic.pen"; version="1.0"; sha256="1lgw15df08f4dhrjjfr0jqkcvxwad92kflj2px526pcxwkj7cj3i"; depends=[coneproj Matrix]; };
-  issueReporter = derive2 { name="issueReporter"; version="0.1.0"; sha256="18s35f5d30vivmlcg0ycni3r8mrf4gnn7x10qdcnpisrlsjx6jbd"; depends=[httpuv httr jsonlite rmarkdown tint]; };
+  isqg = derive2 { name="isqg"; version="1.0"; sha256="0ym3d916lpr1bmmla599xg13c8k0wvyi7b6jhzlrxi6nj5ci0vad"; depends=[BH R6 Rcpp]; };
   isva = derive2 { name="isva"; version="1.9"; sha256="05qx9q0kg4ma23v4abhihw0vz017nq6hv2jzsiqx4d20ngh1dl4z"; depends=[fastICA JADE qvalue]; };
   italy = derive2 { name="italy"; version="0.1.0"; sha256="0is90xp6980ja12jzi3816jq1y90ifcw6cvfmybb7invj6rr1cks"; depends=[]; };
   itan = derive2 { name="itan"; version="1.0"; sha256="082vh5gvh8hgyhk8nswll16ldhnp0pfpxnz1yx05zsc4nzvm92cf"; depends=[ggplot2 reshape]; };
-  itcSegment = derive2 { name="itcSegment"; version="0.6"; sha256="0wzp84p6cysk2488p9g9p0r8950ry5wqg13kd34yixzp9m3rx0w4"; depends=[maptools raster rgeos sp]; };
+  itcSegment = derive2 { name="itcSegment"; version="0.8"; sha256="032wj34313m3wigdfalq356srdzg0cvnvxnaxwxws6bc44r78izf"; depends=[maptools raster rgeos sp]; };
   iteRates = derive2 { name="iteRates"; version="3.1"; sha256="1dycmlm3vldc60wz2jjdfbla14383911zfahgal5mx8whxwq95c5"; depends=[ape apTreeshape geiger gtools MASS partitions VGAM]; };
   iterLap = derive2 { name="iterLap"; version="1.1-3"; sha256="079d4hxf1ha8pgibzb4r1yk7xqpzndd7hjbp8294qb26jvvcnd8q"; depends=[quadprog randtoolbox]; };
   iterators = derive2 { name="iterators"; version="1.0.9"; sha256="16sycjq912ix52fjxjhcwiaqr0yj1v5iqmrvjljd3z857031w06y"; depends=[]; };
@@ -7419,14 +7608,14 @@ in with self; {
   itree = derive2 { name="itree"; version="0.1"; sha256="164zgr142hcp9plnbccs6m823p4m0prk73bvp54bc7bqnqmc3d9a"; depends=[]; };
   itsadug = derive2 { name="itsadug"; version="2.3"; sha256="0wzdy82h05264n9cr84w5j98vz24was9hh1y0wdp56ws3dfbav9m"; depends=[mgcv plotfunctions]; };
   itsmr = derive2 { name="itsmr"; version="1.8"; sha256="1w2sjdw9s4smsqdbjabj9jjync0fb931aajjbqhm49cx0g72hi8g"; depends=[]; };
-  itunesr = derive2 { name="itunesr"; version="0.1"; sha256="0vfn3vvbfl0ckgr50449xffj8726wsa120ibppbzhalp8rb6hq4a"; depends=[curl jsonlite lubridate xml2]; };
+  itunesr = derive2 { name="itunesr"; version="0.1.1"; sha256="1h6yyqcmvm9dfwscmq5ghqi3r4fdracw1n206058j9bdjpakxqkl"; depends=[curl jsonlite lubridate xml2]; };
   ivbma = derive2 { name="ivbma"; version="1.05"; sha256="0d7kg6pkdx1aj1i6kqs2r7j1klxxwymml63qnrq6a6fia3ck9kk9"; depends=[]; };
   ivfixed = derive2 { name="ivfixed"; version="1.0"; sha256="0a26zrkvz0ffq4zxdx5vhr1nvsi9c15s6gvc1zy2pddjz31x2xi5"; depends=[Formula]; };
   ivlewbel = derive2 { name="ivlewbel"; version="1.1"; sha256="0ykcfikm2i28s3fm6zzx8cjvpwhksg8an0rfr0b35gf7p69brgag"; depends=[gmm lmtest plyr]; };
   ivmodel = derive2 { name="ivmodel"; version="1.7.1"; sha256="0v8alqn141s9rymk29xqmdx7gpp8ivz4525afvarxmp9sm2rqq0q"; depends=[Formula ggplot2 Matrix reshape2]; };
   ivpack = derive2 { name="ivpack"; version="1.2"; sha256="0cr5acjrn41d3q0b77hlg2jmsbf1msvys9gcavm1blsryg2bc03c"; depends=[AER lmtest sandwich]; };
   ivpanel = derive2 { name="ivpanel"; version="1.0"; sha256="0irjmkw3nnd8ssidvj23lr0hihlhd9acsbaznh88lknx53ijc2qv"; depends=[Formula]; };
-  ivprobit = derive2 { name="ivprobit"; version="1.0"; sha256="1kijq7k6iv2ybaxb08kqzm2s2k6wp2z50r01kxcq023pmyfjczwy"; depends=[]; };
+  ivprobit = derive2 { name="ivprobit"; version="1.1"; sha256="05b5gf5gmi2yrkg61n7w12qlgpnjakd1z8hhqxy6py8hahsf84gm"; depends=[Formula]; };
   ivregEX = derive2 { name="ivregEX"; version="1.0"; sha256="0zh3rqvhn8ald6lxv9kywy2v1p0nr9ijv6plhpbxc6k51zzsgyl8"; depends=[AER Formula lmtest sandwich]; };
   jSonarR = derive2 { name="jSonarR"; version="1.1.1"; sha256="054q3ly471xa64yyz2as6vkr440ip1y8n5wl6s3zbhqy3bqkdqif"; depends=[jsonlite RCurl]; };
   jaatha = derive2 { name="jaatha"; version="3.2.0"; sha256="00886j0cabrq6a69w8s1gsfkmx1wqs1vpxjafpm71msk54r0dj55"; depends=[assertthat R6]; };
@@ -7436,11 +7625,11 @@ in with self; {
   jagsUI = derive2 { name="jagsUI"; version="1.4.9"; sha256="1c2fq7q3kvf092j6r9ci0gigjpb61dj19phzm8mqi05q2k08siin"; depends=[coda lattice rjags]; };
   james_analysis = derive2 { name="james.analysis"; version="1.0.1"; sha256="1b2n4ds4ivfk564z87s2rxjl9j0y4drd3cmyv8jqpccmdvx1137d"; depends=[naturalsort rjson]; };
   janeaustenr = derive2 { name="janeaustenr"; version="0.1.5"; sha256="1wyn4qc28a3sval8shmyi2d7s4nl3jh96s8pzq871brxcmrncbwr"; depends=[]; };
-  janitor = derive2 { name="janitor"; version="0.3.1"; sha256="0s2inn0apzwrvm5dvvdh36n9fhhrwvfbs6f3fn6byrbd713xl7rq"; depends=[dplyr magrittr tidyr]; };
+  janitor = derive2 { name="janitor"; version="1.0.0"; sha256="0q6mq8s8k7yyx2459nhjvlxjaqxn61k3dpxdhcq0fyk37dafva79"; depends=[dplyr magrittr purrr rlang snakecase tidyr]; };
   jaod = derive2 { name="jaod"; version="0.1.0"; sha256="0wh1nlfhks4c1dga6h7554pg44pamj73x5in71k2xw0yp292zm6x"; depends=[crul jsonlite tibble]; };
   jcext = derive2 { name="jcext"; version="0.1"; sha256="18vmf57l2kv3rvi6laqp948m8mjkdxdy0vi4xp68480b2mjmvij1"; depends=[ggplot2 maps RColorBrewer rworldmap sp stringr]; };
-  jcolors = derive2 { name="jcolors"; version="0.0.1"; sha256="0a5p8778s14rk7xsivmb0g0c4kzdvbhyxsl8v1lk3cpq6898zv2d"; depends=[ggplot2 scales]; };
-  jdx = derive2 { name="jdx"; version="0.1.2"; sha256="0963h1ppasw5psxgxzav0mnwc5gq0ah5xv5cyhnm8d1a66svn6pw"; depends=[rJava]; };
+  jcolors = derive2 { name="jcolors"; version="0.0.2"; sha256="0d71sdvj7hwafj0sx2z1nyza5j2lfd8y5yj1p94yrw32wi7b89jn"; depends=[ggplot2 scales]; };
+  jdx = derive2 { name="jdx"; version="0.1.3"; sha256="0d9m0sbdrlh8jfijn5mrfw8y2bpj5vxm0bcjlcc42ipxj47962l9"; depends=[rJava]; };
   jetset = derive2 { name="jetset"; version="3.4.0"; sha256="0c99h5npsv2gf5d59s4qhkaqmjhbwa3prcykk24wzhnpfq6y6xhp"; depends=[AnnotationDbi org_Hs_eg_db]; };
   jiebaR = derive2 { name="jiebaR"; version="0.9.1"; sha256="1qv4k5fgi40ppivdk3mxkhawyf2443h2lz5b9gvai9sqj6vf0s8k"; depends=[jiebaRD Rcpp]; };
   jiebaRD = derive2 { name="jiebaRD"; version="0.1"; sha256="1wadpcdca4pm56r8q22y4axmqdbb2dazsh2vlhjy73rpymqfcph4"; depends=[]; };
@@ -7448,21 +7637,22 @@ in with self; {
   jmetrik = derive2 { name="jmetrik"; version="1.0"; sha256="0xnbvby03fqbxgg0i0qxrrzjv98783n6d7c1fywj81x487qlj77j"; depends=[]; };
   jmotif = derive2 { name="jmotif"; version="1.0.3"; sha256="1llmrksajrd35kfdzq2vqfm17yv5kwark6gz3rvyzcmbrqk5spqv"; depends=[Rcpp RcppArmadillo]; };
   jmuOutlier = derive2 { name="jmuOutlier"; version="1.4"; sha256="1vrihjvq8l2q7d3z80fkzzzwg6xmnfi8sipsgwic1lcbv6vnqndp"; depends=[]; };
-  jmv = derive2 { name="jmv"; version="0.8.1.16"; sha256="1m7h0sbva865ki2wf0sxlb6bl1qw936grks2g4h82i2xq9nrlrhh"; depends=[afex BayesFactor car emmeans GGally ggplot2 ggridges GPArotation jmvcore lavaan multcomp mvnormtest PMCMR psych R6 vcd vcdExtra]; };
-  jmvcore = derive2 { name="jmvcore"; version="0.8.1.6"; sha256="1k1w4c0c8ayjzhbi4fqxr2pcynf73jhkr4wc933nijhkyd6w8m29"; depends=[base64enc R6 rjson]; };
+  jmv = derive2 { name="jmv"; version="0.8.6.2"; sha256="0an3ni6lz85cfcra69mycka6x1hgaas6rv6ybbnikmrv846sx03n"; depends=[afex BayesFactor car emmeans GGally ggplot2 ggridges GPArotation jmvcore lavaan MASS multcomp mvnormtest nnet PMCMR psych R6 ROCR vcd vcdExtra]; };
+  jmvcore = derive2 { name="jmvcore"; version="0.8.5"; sha256="0w1d18qrb8aimkzv7imnj9yfdmz7ppdvaiadsaprackch16s91kx"; depends=[base64enc R6 rjson]; };
   jocre = derive2 { name="jocre"; version="0.3.3"; sha256="1i9n3r16pq6r4sy3fc1rxpil5ws8v2is0xdxafinvwr1hzkv1gz6"; depends=[boot KernSmooth plyr TSP]; };
   joinXL = derive2 { name="joinXL"; version="1.0.1"; sha256="1l76bckjz5r1kdsh0s10i0gpca12rkfkp14346fn7avdcw73v23i"; depends=[data_table openxlsx R_utils rChoiceDialogs Rcpp readxl rJava timeDate timeSeries]; };
   joineR = derive2 { name="joineR"; version="1.2.3"; sha256="0cg7bfn0hb7ayx2s7myja5qzdvsbzyk8fbb1x5z0fp21gyrpfz18"; depends=[lattice MASS nlme statmod survival]; };
   joineRML = derive2 { name="joineRML"; version="0.4.1"; sha256="08zl6wv6yvk2cgp6ln2i9ziip0mjr4jrfpb1y75ln5wi00dbna3x"; depends=[cobs doParallel foreach ggplot2 lme4 MASS Matrix mvtnorm nlme randtoolbox Rcpp RcppArmadillo survival]; };
+  joineRmeta = derive2 { name="joineRmeta"; version="0.1.1"; sha256="0d9wwb3v43v30xjy67j366mhwixzz79bm67j01fqmcdsnmn3qpjn"; depends=[ggplot2 gridExtra gtools JM joineR lme4 MASS Matrix meta msm nlme statmod survival]; };
   joint_Cox = derive2 { name="joint.Cox"; version="2.14"; sha256="0k9v1v4zbv0952zyp7xv5gkmnihfswpsqzp684f9y6n6xcg3v8fx"; depends=[survival]; };
   jointDiag = derive2 { name="jointDiag"; version="0.3"; sha256="0pra70jcnkqkzrxz5vc6lzi637rp5w8n9wbv9ix718vnd0j3fm3n"; depends=[]; };
   jointNmix = derive2 { name="jointNmix"; version="1.0"; sha256="0ibh7hqkpzlfk3bk4d2dd64jhr8cvw563k082vwnljiam7k5nj4b"; depends=[]; };
   jointPm = derive2 { name="jointPm"; version="2.3.1"; sha256="1c2cn9sqwfyv9ksd63w8rrz0kh18jm2wv2sfdkgncjb7vfs4hbv9"; depends=[]; };
   jointseg = derive2 { name="jointseg"; version="1.0.1"; sha256="0wa531b5shrxhnzflfjqn2wypfb565qc2c8wngysgrgyj1kjq1pl"; depends=[acnr DNAcopy matrixStats]; };
-  jomo = derive2 { name="jomo"; version="2.5-3"; sha256="1ig6r4sc4c2vf3h51by78610c5yqd7ap8gqcf0hswn3h2zsf6vm8"; depends=[lme4 survival]; };
-  jose = derive2 { name="jose"; version="0.1"; sha256="1cvrjcx902pbh9xryph1kilmyf0rmbk671jvqd19a2kfwpcw7gqc"; depends=[jsonlite openssl]; };
+  jomo = derive2 { name="jomo"; version="2.6-1"; sha256="1pcac6kbag4as28l557h702kc78mr0iz4m4rkhcx602l7dch8gd8"; depends=[lme4 survival]; };
+  jose = derive2 { name="jose"; version="0.2"; sha256="0vgmr5kmps6yk10bbzrxz2d3y7jk0w1rxpm9gx510kpnqbj325xz"; depends=[jsonlite openssl]; };
   jpeg = derive2 { name="jpeg"; version="0.1-8"; sha256="05hawv5qcb82ljc1l2nchx1wah8mq2k2kfkhpzyww554ngzbwcnh"; depends=[]; };
-  jpmesh = derive2 { name="jpmesh"; version="1.0.1"; sha256="1c8swlqjaaq4jqhs0cda704c17ykk80vmqnlxrizfl87qvvl5ak6"; depends=[dplyr leaflet miniUI purrr readr rlang sf shiny tibble tidyr]; };
+  jpmesh = derive2 { name="jpmesh"; version="1.1.0"; sha256="01f0020ghl1f5fsri54gni15b36fg9vkr4xj43vy881sv11c5yr8"; depends=[dplyr leaflet miniUI purrr rlang sf shiny tibble tidyr units]; };
   jpndistrict = derive2 { name="jpndistrict"; version="0.3.0"; sha256="0vnawpkrkhv0vjvw49ldn86qy07pqsdw7mmq13h3l4qw5jmfsd9i"; depends=[dplyr jpmesh leaflet magrittr miniUI purrr readr rlang sf shiny stringi tibble tidyr]; };
   jqr = derive2 { name="jqr"; version="1.0.0"; sha256="1jdr3wb1fd2zjmmdicqhskgk7xbn5y6998fi9szj86p8smfckl74"; depends=[lazyeval magrittr]; };
   jrich = derive2 { name="jrich"; version="0.60-35"; sha256="1y486bfqmfg3f22wm0lfk3lh20ljgi8qrgn5jji0f417wh48nf0x"; depends=[ape]; };
@@ -7472,16 +7662,17 @@ in with self; {
   jsonld = derive2 { name="jsonld"; version="1.2"; sha256="1y4574ai4m31x4yjx5bp9i8wfgcgjgfr8jn5nn0x6qzlnjg58gyz"; depends=[curl jsonlite V8]; };
   jsonlite = derive2 { name="jsonlite"; version="1.5"; sha256="00lfg464jhf7k01bal9pcjvbdf5cxk6xi2h46hccp1x3h883g434"; depends=[]; };
   jsonvalidate = derive2 { name="jsonvalidate"; version="1.0.0"; sha256="08c1s8fk95np4l6km077dmd1nibhhggi80f5465hhbq521gm0awl"; depends=[V8]; };
+  jsr223 = derive2 { name="jsr223"; version="0.3.1"; sha256="030dp51fh9b7r4f7ad9drln73m3mhg2zh5fh053d65hzyszrqyqg"; depends=[curl jdx R6 rJava]; };
   jtGWAS = derive2 { name="jtGWAS"; version="1.5.1"; sha256="06cgsncgrqslxcc7s0lb3zwa85bhzkmjzz3f04716xpzwa186vxq"; depends=[Rcpp]; };
   jtools = derive2 { name="jtools"; version="0.9.4"; sha256="0vljw3n1ykvf3f2ydar9rb24cgiqljh195g2jc4dx77zy1kcfh4d"; depends=[ggplot2]; };
   jtrans = derive2 { name="jtrans"; version="0.2.1"; sha256="18zggqdjzjhjwmsmdhl6kf35w9rdajpc2nffag4rs6134gn81i3m"; depends=[]; };
   jug = derive2 { name="jug"; version="0.1.7"; sha256="01m6hyr26f6zih49pz2bmmr8ypdl1qiz0wv3padcy68kaccf44a4"; depends=[base64enc httpuv infuser jsonlite magrittr mime R6 webutils]; };
-  junctions = derive2 { name="junctions"; version="1.0"; sha256="13vqmy4968hpxi6vs3kfgd802miw8navcvsjmak6knwa2mjhhd54"; depends=[Rcpp]; };
+  junctions = derive2 { name="junctions"; version="1.0.1"; sha256="1mfzhizfzpsrlc23kdi658a1svw4p3wh1la7zpf5fk2bbksw0v97"; depends=[Rcpp]; };
   junr = derive2 { name="junr"; version="0.1.3"; sha256="0wcglpziyi6z4n7w70srziljba3jkb27iqxbxz4kk6774c7valbf"; depends=[httr jsonlite]; };
   jvnVaR = derive2 { name="jvnVaR"; version="1.0"; sha256="0zh0dc6wqlrxn5r2yv9vkpyfb8xsbdidkjv9g6qr94fyxlbs4yci"; depends=[]; };
   jwutil = derive2 { name="jwutil"; version="1.1.1"; sha256="114vph86722v89iwyla7skl06cv87ymfy6nmca5iyxwx1z78zddz"; depends=[checkmate Rcpp]; };
   kSamples = derive2 { name="kSamples"; version="1.2-7"; sha256="0f19rjngk0lg6s8c6h5l55qpxp8sl4vxj3kpi05cizzncny9b9bj"; depends=[SuppDists]; };
-  kableExtra = derive2 { name="kableExtra"; version="0.7.0"; sha256="1rj41kcvc46nn6fvqhsc9v1snq2phh09vchkdng1avbm3g5sld62"; depends=[htmltools knitr magrittr readr rmarkdown rvest scales stringr viridisLite xml2]; };
+  kableExtra = derive2 { name="kableExtra"; version="0.8.0"; sha256="01m2h8ms83h5zmy9rys0dal9y77fk7bk1f3k1l2vsg2krb5wxagv"; depends=[htmltools knitr magrittr readr rmarkdown rstudioapi rvest scales stringr viridisLite xml2]; };
   kader = derive2 { name="kader"; version="0.0.8"; sha256="15f2swgngw5rdjdsh5kd55wm2nivlfs8pv4mdn0b75qihwgg1zkk"; depends=[]; };
   kamila = derive2 { name="kamila"; version="0.1.1.2"; sha256="0mcray8byifjddsmwzmcpmw3zpm1y8q3nfrgpgacb36rwprqkj6z"; depends=[abind gtools KernSmooth mclust plyr Rcpp]; };
   kangar00 = derive2 { name="kangar00"; version="1.1"; sha256="1rm3mjghgfq8fliha6flqvcb6m4xag1697c0q5smg515453l0s0p"; depends=[bigmemory biomaRt CompQuadForm data_table igraph KEGGgraph lattice sqldf]; };
@@ -7493,15 +7684,18 @@ in with self; {
   karaoke = derive2 { name="karaoke"; version="1.0"; sha256="1kx11lijdffhhh8prjgsamshgg2v29b2i129fjqi079waa335352"; depends=[seewave tuneR]; };
   kazaam = derive2 { name="kazaam"; version="0.1-0"; sha256="0j7vysnmiv9sggcxdn3nrgfvyl52pza4kkjnsa0xlb3fzq9qpwlz"; depends=[pbdMPI]; };
   kcirt = derive2 { name="kcirt"; version="0.6.0"; sha256="1gm3c89i5dq7lj8khc12v30j1c0l1gwb4kv24cyy1yw6wg40sjig"; depends=[corpcor mvtnorm snowfall]; };
-  kdecopula = derive2 { name="kdecopula"; version="0.9.1"; sha256="0qbrm4b2ijyp7fmljz8m918zkv5aywm549lbwjk3rk8isvaac10m"; depends=[lattice locfit qrng quadprog Rcpp RcppArmadillo]; };
+  kde1d = derive2 { name="kde1d"; version="0.1.2"; sha256="0n28xkkhl9mfd0bcgfv181j9lqk0aiim2irnwn654fpz0y6rwhnh"; depends=[BH cctools qrng Rcpp RcppEigen]; };
+  kdecopula = derive2 { name="kdecopula"; version="0.9.2"; sha256="0g5c12wm3byd4chd8i9mxv599gsf4ip4qghx83j3mmhsmn05zf4y"; depends=[lattice locfit qrng quadprog Rcpp RcppArmadillo]; };
+  kdensity = derive2 { name="kdensity"; version="1.0.0"; sha256="0di027xjcd8xllkbygmkmpvp9wchh3haf15vrw7sjck3yvh68k5f"; depends=[assertthat EQL knitr rmarkdown]; };
   kdetrees = derive2 { name="kdetrees"; version="0.1.5"; sha256="1plf2yp2vl3r5znp5j92l6hx1kgj0pzs7ffqgvz2nap5nf1c6rdg"; depends=[ape distory ggplot2]; };
   kdevine = derive2 { name="kdevine"; version="0.4.1"; sha256="0ci51dn7jhz9swlywiqj3inkk4329argm63lhkyvcbj2kd2rjay1"; depends=[cctools doParallel foreach kdecopula KernSmooth MASS qrng Rcpp VineCopula]; };
+  kdtools = derive2 { name="kdtools"; version="0.3.0"; sha256="1q22h5cs5p6nvmxrnq0pdfs8aq2aghash9y387ch0g6cm1n5hzj4"; depends=[BH Rcpp strider]; };
   kedd = derive2 { name="kedd"; version="1.0.3"; sha256="17rwz3yia95xccbxwn43wr6c9b3062094yfahnnnk3wfijyhlxiq"; depends=[]; };
   keep = derive2 { name="keep"; version="1.0"; sha256="12803hhrs9v94rv6qaihk1f1ls7lx4cy2pa30v4p1r2z9afx9bjf"; depends=[]; };
   kehra = derive2 { name="kehra"; version="0.1"; sha256="1cc0bmbg0dncay50ap7cs2516qngzz3ddaab0jk5r6lwfq87h8qx"; depends=[Hmisc raster reshape2 sp stringr xts zoo]; };
   kelvin = derive2 { name="kelvin"; version="2.0-0"; sha256="04xdgpmysksm79m3vqmb4zra3pq09nv99w4fbdla1lmy7z8pkdrk"; depends=[Bessel]; };
   kequate = derive2 { name="kequate"; version="1.6.1"; sha256="1rjya1rnlfk2ziiwhkgshlyk3g0388591q3q01a3vgmgsb3cpxl6"; depends=[equateIRT ltm mirt]; };
-  keras = derive2 { name="keras"; version="2.1.3"; sha256="02pzwl6z06f36njns8kirngqzkk3f1bwzifk05xm41ry9rppa5l3"; depends=[magrittr R6 reticulate tensorflow tfruns zeallot]; };
+  keras = derive2 { name="keras"; version="2.1.5"; sha256="0l6hs9bawrnjansmka082cqvcf4h5lnrfjgp9rivg8k89nqaknfq"; depends=[magrittr R6 reticulate tensorflow tfruns zeallot]; };
   kerasR = derive2 { name="kerasR"; version="0.6.1"; sha256="1yi7710vgcwz0jhishbga41sc6qyk83a0avmq01dvqjsz3cdfsfc"; depends=[reticulate]; };
   kerasformula = derive2 { name="kerasformula"; version="0.1.1"; sha256="0c19208y9v8a1w4p54z7yng5vvmb6h79fs0a20ij98ngys9afbwz"; depends=[dplyr keras Matrix]; };
   kerdiest = derive2 { name="kerdiest"; version="1.2"; sha256="16xj2br520ls8vw5qksxq9hqlpxlwmxccfk5balwgk5n2yhjs6r3"; depends=[chron date evir]; };
@@ -7511,7 +7705,7 @@ in with self; {
   kernelFactory = derive2 { name="kernelFactory"; version="0.3.0"; sha256="001kw9k3ivd4drd4mwqapkkk3f4jgljiaprhg2630hmll064s89j"; depends=[AUC genalg kernlab randomForest]; };
   kernelboot = derive2 { name="kernelboot"; version="0.1.4"; sha256="1d1l9sbnlyx5a88qmd6q2zxlkr6dykcwlkk648yqmmfvqmq4xjmj"; depends=[future future_apply Rcpp]; };
   kernlab = derive2 { name="kernlab"; version="0.9-25"; sha256="0qnaq9x3j2xc6jrmmd98wc6hkzch487s4p3a9lnc00xvahkhgpmr"; depends=[]; };
-  kernplus = derive2 { name="kernplus"; version="0.1.0"; sha256="0wibp4bbzxmjdyhp643v76accjy1w8jixmwgsdfrq2yjxacgnwcb"; depends=[circular KernSmooth mixtools]; };
+  kernplus = derive2 { name="kernplus"; version="0.1.1"; sha256="1dxw1qk5gx7g05kgsbh5436r7mbv77631zjs0c4ibpscaw77g475"; depends=[circular KernSmooth mixtools]; };
   kernscr = derive2 { name="kernscr"; version="1.0.3"; sha256="0h3xv76dxch8kv4z7cgx60iaikk6906n75c4kc1mccpw0jvyxrvb"; depends=[MASS mvtnorm]; };
   kexpmv = derive2 { name="kexpmv"; version="0.0.3"; sha256="1nx2bpyc06vlr78nhig4zaaygphjp4wqsz9jzhs4qx8wy3kh7rmy"; depends=[Rcpp SparseM]; };
   keyholder = derive2 { name="keyholder"; version="0.1.1"; sha256="1dp326vayjzjpfhd2ajrpqjvbn6vvqa7iw9mdhblprz4cvv65g30"; depends=[dplyr rlang]; };
@@ -7534,15 +7728,15 @@ in with self; {
   kissmig = derive2 { name="kissmig"; version="1.0-3"; sha256="1pi1x3gdbqrhr1km1hqj15k8wyrgs697fnxgjgxga1irbn8bi482"; depends=[raster]; };
   kitagawa = derive2 { name="kitagawa"; version="2.1-0"; sha256="1ddyd0rwwmdpbq823qass5dlp2lvi9d64wpl61ik6fghms2p9ryr"; depends=[kelvin]; };
   kknn = derive2 { name="kknn"; version="1.3.1"; sha256="1nzkg3dxaiqp87p56wm895qx5xn86hv5hjr73qvl1yiaxiq0x112"; depends=[igraph Matrix]; };
-  klaR = derive2 { name="klaR"; version="0.6-12"; sha256="10nkqb1zradbvifgv1fm373mhyydgdjjgmnw2442a2lark59z3vs"; depends=[combinat MASS]; };
+  klaR = derive2 { name="klaR"; version="0.6-14"; sha256="1g995df6286sd64nw7q9bihzkqhrasks45n8xk678y57kcadksai"; depends=[combinat MASS questionr]; };
   klausuR = derive2 { name="klausuR"; version="0.12-10"; sha256="12fjs4dnwaki8sz718xgsg8qrqhsgf87cs0bylf0p3f5k8hrmk4b"; depends=[polycor psychometric xtable]; };
   klin = derive2 { name="klin"; version="2007-02-05"; sha256="0j0hr4bppzk754a66q5z42h7jzfavqpxgl7y266804aginfqm1ax"; depends=[Matrix]; };
   km_ci = derive2 { name="km.ci"; version="0.5-2"; sha256="1l6kw8jppaa1802yc5pbfwwgac56nhwc9p076ivylhms4w7cdf8v"; depends=[survival]; };
   kmc = derive2 { name="kmc"; version="0.2-2"; sha256="0ldyhlqdrbygvhpy4b9xp52zjvjmb0gaph0v9fhla707f63i21m5"; depends=[emplik Rcpp rootSolve]; };
   kmconfband = derive2 { name="kmconfband"; version="0.1"; sha256="10n5w8k57faqcclwshs4m66i2i5b70i6f3xq5nqlgsi2ldkysbc9"; depends=[survival]; };
   kmcudaR = derive2 { name="kmcudaR"; version="1.0.0"; sha256="1adixf4nsgnk8rgvcv37aznh8gxrfwn19ihh3c6siss51hlmhln2"; depends=[Rcpp RcppEigen]; };
-  kmeans_ddR = derive2 { name="kmeans.ddR"; version="0.1.0"; sha256="1i87cxakjbq1xwyjyyzv1xiqbrncsqx6baviidcdm3n0pakrqdsg"; depends=[ddR Rcpp]; };
   kmed = derive2 { name="kmed"; version="0.0.1"; sha256="0vcks4n0dpfd5cl5b8mhvhw6r2f3y12jn3d3j3dkj2grxmb9lh4c"; depends=[ggplot2]; };
+  kmer = derive2 { name="kmer"; version="1.0.2"; sha256="117ggn2i4yy0l7vvrf9miy4x63n9d34rjksd3dd3ama2alp4s95l"; depends=[openssl phylogram Rcpp]; };
   kmi = derive2 { name="kmi"; version="0.5.3"; sha256="0b3nibvi0skrx3mjfzypqmdqx8s9zkn11f0ljscqpjr28idx4hr0"; depends=[mitools survival]; };
   kml = derive2 { name="kml"; version="2.4.1"; sha256="1my9gcripiqc6iphycjr3srj8qxy05yvd0648vblygrx2qym5hy2"; depends=[clv longitudinalData]; };
   kml3d = derive2 { name="kml3d"; version="2.4.2"; sha256="1a3hqyhrsh12l1j1xlz4zy88impw3biz6w2qc80r11m549h0m6s9"; depends=[clv kml longitudinalData misc3d rgl]; };
@@ -7551,23 +7745,26 @@ in with self; {
   kmodR = derive2 { name="kmodR"; version="0.1.0"; sha256="1y1pqrrralklflyb1dw8bslfcyqrw8ryijfbhkwba7ykpxcf9fda"; depends=[]; };
   knitLatex = derive2 { name="knitLatex"; version="0.9.0"; sha256="1igacc2sx8897wmnhh8kngd0fq6zqbi30chy5c8jw60zc38mi3wi"; depends=[knitr]; };
   knitcitations = derive2 { name="knitcitations"; version="1.0.8"; sha256="07h8d5cp52qcm0912c55j59k2p3c7s4af87qa7a9hafhgimnsdiv"; depends=[digest httr RefManageR]; };
-  knitr = derive2 { name="knitr"; version="1.19"; sha256="1gyj9bw90h4h9rc9k1iqrnzirm2f8mj45zi8bkjc6rp610vlh63j"; depends=[evaluate highr markdown stringr yaml]; };
+  knitr = derive2 { name="knitr"; version="1.20"; sha256="1408dm25cxahk2clff8hlajaqdj5v1gs40nm3q6rf0ghd82hj93v"; depends=[evaluate highr markdown stringr yaml]; };
   knitrBootstrap = derive2 { name="knitrBootstrap"; version="1.0.1"; sha256="089147g7nqp99rwdxxsfmklsrwc8aia09sr8ndmrc335r33v6r6p"; depends=[knitr markdown rmarkdown]; };
-  knitrProgressBar = derive2 { name="knitrProgressBar"; version="1.0.0"; sha256="18r025j4c6m0c8rir3cskc4dymnxybl076ghy6a9iy38in58v547"; depends=[R_oo R6]; };
+  knitrProgressBar = derive2 { name="knitrProgressBar"; version="1.1.0"; sha256="18v5jrscfrin3mcs63bpj0q1drxk3zkhlbw93sqh0qrq04d4x02v"; depends=[R_oo R6]; };
   knnGarden = derive2 { name="knnGarden"; version="1.0.1"; sha256="1gmhgr42l6pvc6pzlq5khrlh080795b0v1l5xf956g2ckgk5r8m1"; depends=[cluster]; };
   knnIndep = derive2 { name="knnIndep"; version="2.0"; sha256="1fwkldgs2994svf3sj90pwsfx6r22cwwa22b30hdmd24l8v9kzn7"; depends=[]; };
   knncat = derive2 { name="knncat"; version="1.2.2"; sha256="1d392910y3yy46j8my1a7m0xkij2rc6vwq5fg22qk00vqli8drz2"; depends=[]; };
   knockoff = derive2 { name="knockoff"; version="0.3.0"; sha256="0irqbidp00rh07xsfyyv5d3ksa4fn9vv49rsy8ah2gb9y41iy046"; depends=[corpcor glmnet gtools Matrix Rdsdp RSpectra]; };
+  knor = derive2 { name="knor"; version="0.0-5"; sha256="19wjrcmfam1ck5vbidksmy923d5p5llikjxn0v248vzfz96ia1yc"; depends=[Rcpp]; };
   knotR = derive2 { name="knotR"; version="1.0-2"; sha256="0kd1b9wibpwyaanz9ny61qgfvcg4d3rzpy05sfshlpp0b1y8d3xj"; depends=[]; };
   kntnr = derive2 { name="kntnr"; version="0.4.1"; sha256="0d78mgmz2yhfbf4m5jaa28aazaw2wf9vf1vxl53wrnpy0hxw329y"; depends=[base64enc dplyr httr jsonlite lazyeval lubridate purrr rstudioapi stringr tibble]; };
   koRpus = derive2 { name="koRpus"; version="0.10-2"; sha256="1ykaky10zkj76w44fhk6kb6dqz1pgncmdnz4r2amcm08a8h96gsr"; depends=[data_table]; };
-  kobe = derive2 { name="kobe"; version="1.3.2"; sha256="1z64jwrq6ddpm22cvk2swmxl1j7qyz0ddk3880c7zfq6gk7f9bxl"; depends=[coda emdbook ggplot2 MASS plyr reshape]; };
+  koRpus_lang_en = derive2 { name="koRpus.lang.en"; version="0.1-2"; sha256="0v3cjzcpa24n479xi2lkj3yhjrgbd14iq9rz1bvywbj3shixs0bn"; depends=[koRpus sylly_en]; };
   kofdata = derive2 { name="kofdata"; version="0.1.3"; sha256="135fkfciya8d215iv0ir7kmd01w7rlzqfcif5jz918skrv2p9mcl"; depends=[httr jsonlite xts zoo]; };
   kofnGA = derive2 { name="kofnGA"; version="1.2"; sha256="1j4gx6pkmasgbgcdlg6i5nzfrmim61c2hw34k5zfmwfbkrsgb575"; depends=[]; };
   kohonen = derive2 { name="kohonen"; version="3.0.4"; sha256="1aq98qbmbzsdyimhn28qiyqfrwkwq70qmm5yhx0rvhjq53bn9622"; depends=[MASS Rcpp]; };
   kokudosuuchi = derive2 { name="kokudosuuchi"; version="0.4.2"; sha256="1nwydfyr9waa5h8h8nrmwxy0jx7i4893g5khfv6b4g09z6g5cyly"; depends=[curl dplyr glue httr purrr rlang sf shiny stringr tibble xml2]; };
   kolmim = derive2 { name="kolmim"; version="1.0"; sha256="0g1i0cazi4nhfwdd3ywqrar1sn7bw77w38qjii045w5vqg05srkp"; depends=[]; };
   komadown = derive2 { name="komadown"; version="0.1.0"; sha256="08rg2qz4dmxl4xi0d7wdl2xgdmsc29fdc0yi40yddzrbpj4vs2z4"; depends=[bookdown knitr rmarkdown]; };
+  komaletter = derive2 { name="komaletter"; version="0.2.0"; sha256="17xkc22ci2gqypcfs1yhyzfmpsh8bmjbw6yms27cbqg4m4jdgm9v"; depends=[rmarkdown]; };
+  konfound = derive2 { name="konfound"; version="0.1.0"; sha256="1w85gsms061d5hik3bc7x5gc7cp6c9h8l8q8q60isj1r0n60a81s"; depends=[broom dplyr ggplot2 margins pbkrtest purrr rlang tidyr]; };
   kpcalg = derive2 { name="kpcalg"; version="1.0.1"; sha256="1gd5bisyfwb12l9jmwhi2arlxrabc01vgv4m1qqs23vybsd6yh52"; depends=[energy graph kernlab mgcv pcalg RSpectra]; };
   kpeaks = derive2 { name="kpeaks"; version="0.1.0"; sha256="1qxpncwyshv35h1190py6a69mljabfcjjs7v17a2rb5asahy3rk8"; depends=[]; };
   kpmt = derive2 { name="kpmt"; version="0.1.0"; sha256="15d26khc0v3kc1c7l1avqp48pfqmc6xj32029mv7myivr41ashk3"; depends=[matrixStats]; };
@@ -7579,12 +7776,12 @@ in with self; {
   kscons = derive2 { name="kscons"; version="0.7.0"; sha256="1i4dp56y9swl5s6cipqlm5i5fknz2v0yz5g930cl5i8kx91rxwrp"; depends=[]; };
   kselection = derive2 { name="kselection"; version="0.2.0"; sha256="1arg96r2pldvb89rfqnfpjxwksyac2mhmbimbkwzm7wrnbnrcn5d"; depends=[]; };
   ksrlive = derive2 { name="ksrlive"; version="1.0"; sha256="1zd3ggzgjks0jay69s5m7ihbd7v7zha6ssj2m9ahnyp00ghpk83j"; depends=[tightClust]; };
-  kst = derive2 { name="kst"; version="0.3-0"; sha256="0q181gzs4xcmsyrljlsh2rmqggs62lwrnnqsmra3qq3ya18clhzz"; depends=[proxy relations sets]; };
+  kst = derive2 { name="kst"; version="0.4-0"; sha256="1vqkriqhzdzs3kldjqgl15sm25lbfqzisglk2r96rjgxbj8k59w7"; depends=[proxy relations sets]; };
   kstIO = derive2 { name="kstIO"; version="0.1-0"; sha256="04s8lyg7622zcq947qlx5brwf1an7icg94i5di8vwjp7d8zgczq6"; depends=[MASS pks sets stringr]; };
   ktsolve = derive2 { name="ktsolve"; version="1.1"; sha256="0b5myr093v3qaj9gzbw1w728i5ij418whxxpicj51w657dcy647k"; depends=[]; };
   ktspair = derive2 { name="ktspair"; version="1.0"; sha256="1v63982jidxlcf2syahcb29myv34kc790l7lwyfxx9l50ssb812n"; depends=[Biobase]; };
   kulife = derive2 { name="kulife"; version="0.1-14"; sha256="070ayy6fr9nsncjjljikn2i5sp2cx3xjjqyc64y2992yx74jgvvd"; depends=[]; };
-  kutils = derive2 { name="kutils"; version="1.34"; sha256="17f6pzinmp4lcjd5glhnvbjy1yg912jccx9d4n55bini93vlcz0z"; depends=[foreign lavaan openxlsx plyr RUnit xtable]; };
+  kutils = derive2 { name="kutils"; version="1.39"; sha256="05744f8bz8mbxcqhf50rxjlknwar4ci3g0nmcx5jggwczqqmn2pq"; depends=[foreign lavaan openxlsx plyr RUnit xtable]; };
   kvh = derive2 { name="kvh"; version="1.1"; sha256="1dvq7wbpx1hpjshvsihivd8q8hyhji047gifxc6cjnv778r4irb1"; depends=[Rcpp]; };
   kwb_hantush = derive2 { name="kwb.hantush"; version="0.2.1"; sha256="0rjnhhzvjhhl0r2ixz9vkgnqkrnnk772253zy7xkpadj7ws69jsf"; depends=[hydroGOF lattice]; };
   kyotil = derive2 { name="kyotil"; version="2017.12-27"; sha256="0xd64xg3nj0pj0ziycq4ndpl8kwxfng96ag8zmqzzxk85zw2vyq3"; depends=[]; };
@@ -7603,7 +7800,7 @@ in with self; {
   labeling = derive2 { name="labeling"; version="0.3"; sha256="13sk7zrrrzry6ky1bp8mmnzcl9jhvkig8j4id9nny7z993mnk00d"; depends=[]; };
   labelled = derive2 { name="labelled"; version="1.0.1"; sha256="18mz4qraxalq50rzmblsvavx4isb4194rj4iqab09qzh8ib1qzwv"; depends=[haven]; };
   labelrank = derive2 { name="labelrank"; version="0.1"; sha256="03pmpkjdhgw80473kdzdz4s4828pa8f5bja2zqicxrhvyvicvz6f"; depends=[pdist]; };
-  labstatR = derive2 { name="labstatR"; version="1.0.8"; sha256="1qs76vhw6ihsriq5v0s980fxbb0pbvgwqm0a97b226cpqqabkpfm"; depends=[]; };
+  labstatR = derive2 { name="labstatR"; version="1.0.9"; sha256="1ysk23dwan1lsfwnf9v86yqyzc8wsgzmy18ycz34s4d9biq6y1zd"; depends=[]; };
   labstats = derive2 { name="labstats"; version="1.0.1"; sha256="1780slp9l1rqwr5ika6hv606jzbaa3g1ywzkjkd3ff2gb0cby3ni"; depends=[]; };
   laeken = derive2 { name="laeken"; version="0.4.6"; sha256="1rhkv1kk508pwln1d325iq4fink2ncssps0ypxi52j9d7wk78la6"; depends=[boot MASS]; };
   laercio = derive2 { name="laercio"; version="1.0-1"; sha256="0la6fxv5k9zq4pyn8dxjiayx3vs9ksm9c6qg4mnyr9vs12z53imm"; depends=[]; };
@@ -7619,29 +7816,31 @@ in with self; {
   landsat = derive2 { name="landsat"; version="1.0.8"; sha256="07zvj1yyryxk7rwgcrf1kl32p2karkkqz6xrnwy1096dg9iw2js7"; depends=[lmodel2 mgcv rgdal sp]; };
   landsat8 = derive2 { name="landsat8"; version="0.1-10"; sha256="169b5ka98ka9chbmksz6syaygc9wgl8i2gz1h2xkxj3lk9jcg01r"; depends=[rgdal sp]; };
   landscapeR = derive2 { name="landscapeR"; version="1.2"; sha256="1zm5mj861ycbc2m28yjqnkifx8grc4l718mf8r422m78jfakvcjy"; depends=[raster Rcpp]; };
+  landscapetools = derive2 { name="landscapetools"; version="0.3.0"; sha256="0ssrqcac3x8fca0vx63nzzac38kx8vlbffkzahmag24c6b1y6dzq"; depends=[checkmate dplyr extrafont ggplot2 magrittr purrr raster rasterVis tibble tidyr viridis]; };
+  landsepi = derive2 { name="landsepi"; version="0.0.4"; sha256="0b162vdgrd1v93bm5dc5r4nzpcm3cq5iy8v3f2axpx1fk378aaar"; depends=[fields maptools MASS Matrix Rcpp rgdal rgeos sf sp splancs]; };
   languageR = derive2 { name="languageR"; version="1.4.1"; sha256="0grkhdjz9dcrgq6qwv7wpwmckn3mfv022c5wrx29b1dxafd0qzm0"; depends=[]; };
   languagelayeR = derive2 { name="languagelayeR"; version="1.2.3"; sha256="1sh3k8xw88pm93wmpy1qi44i8pv5b5g6ajzas36bdi1bqm8cqzax"; depends=[attempt curl httr rjson]; };
+  languageserver = derive2 { name="languageserver"; version="0.1.0"; sha256="05ph152xrw8qmnb1mwqsq2qx11d6f4g57v9qp1mxi6y11wl21rxq"; depends=[callr jsonlite lintr R6 repr stringr]; };
   lans2r = derive2 { name="lans2r"; version="1.0.5"; sha256="1m3hz85gl9m4vafdy7mj3z560d11mdwlwvnzy8n7d1cjqryn7a2b"; depends=[dplyr ggplot2 lazyeval R_matlab reshape2 tidyr]; };
   lar = derive2 { name="lar"; version="0.1-2"; sha256="0qda0y4ag10kg83wxs3z754kc8c1dg2rwciy64klk7an4ln43i5b"; depends=[data_table treemap xlsx]; };
   largeList = derive2 { name="largeList"; version="0.3.1"; sha256="0csijzlxajj0rh24w5n7fs6ss301zr6zfv5khyq4a9g437bwhc2i"; depends=[]; };
   largeVis = derive2 { name="largeVis"; version="0.2.1.1"; sha256="14jgfykvawcqmb94zwpss246ljbwf4qdgmpwwfsnplrxs7agycb5"; depends=[ggplot2 Matrix Rcpp RcppArmadillo RcppProgress testthat]; };
   lars = derive2 { name="lars"; version="1.2"; sha256="0blj44wqrx6lmym1m9v6wkz8zxzbjax2zl6swgdczci0ixb5nx34"; depends=[]; };
   lasso2 = derive2 { name="lasso2"; version="1.2-19"; sha256="0zkwjsd42a6z4gylq9xbs4z8n1v7ncwvssjnn3h4yz1icjfzzlvk"; depends=[]; };
-  lassopv = derive2 { name="lassopv"; version="0.1.3"; sha256="07b7n74z4jvrirf0rc0sbvz9nm2s2s22mb8y973iwpf0i7fqxq2c"; depends=[lars]; };
+  lassopv = derive2 { name="lassopv"; version="0.2.0"; sha256="0yawnjw063jypk3riy9xab9cmliv6c9dnabi18670khd3gzb2r9z"; depends=[lars]; };
   lassoscore = derive2 { name="lassoscore"; version="0.6"; sha256="1i3i07da8sw9w47rcflhylz8zxvzkyycbc1a4gf6hbcpp21rqd7d"; depends=[glasso glmnet Matrix]; };
   lassoshooting = derive2 { name="lassoshooting"; version="0.1.5-1"; sha256="0ixjw8akplcfbzwyry9p4bhbcm128yghz2bjf9yr8np6qrn5ym22"; depends=[]; };
-  lasvmR = derive2 { name="lasvmR"; version="0.1.2"; sha256="1yzyfacr47wkpv9bblm7hvx1hgnzbhy1421bpnh95xfxxlzahy5n"; depends=[checkmate Rcpp]; };
   latdiag = derive2 { name="latdiag"; version="0.2-3"; sha256="0i2mqk3ldg5kf4d8sfljgjsqbdin7v69anmc2rrxgy28bmvykf9d"; depends=[]; };
   latentnet = derive2 { name="latentnet"; version="2.8.0"; sha256="05r7hzj5i7rgpxl798lwi2m62l1qkl5zdza0q2awcd5ydkgj34hp"; depends=[abind coda ergm MASS mvtnorm network sna statnet_common]; };
-  later = derive2 { name="later"; version="0.6"; sha256="1x7qvzfz6ijpbnrj0vx9axkcsj08qqpyahnaxmyhsgpijx9pp8hx"; depends=[BH Rcpp rlang]; };
+  later = derive2 { name="later"; version="0.7.1"; sha256="0z9jymmclkq9zcg1fd8p6gsnm5z1sn3n9pfz3bs03qjrkbizgrvz"; depends=[BH Rcpp rlang]; };
   latex2exp = derive2 { name="latex2exp"; version="0.4.0"; sha256="12nbcgfmv13k6sc6m326ras9bcvy380b7rxcxphn06r3cfkby0zw"; depends=[magrittr stringr]; };
   latexpdf = derive2 { name="latexpdf"; version="0.1.3"; sha256="1zsdz3nvhifxbhp69nigq1crgm39g6gmc8xl5akp5jdidmzyrh84"; depends=[]; };
   lattice = derive2 { name="lattice"; version="0.20-35"; sha256="0pcnmaz3lr62ly0dcy5hnnqxshc4yqd43hrvlz3almgc9l7sna88"; depends=[]; };
   latticeDensity = derive2 { name="latticeDensity"; version="1.0.7"; sha256="1y33p8hfmpzn8zl4a6zxg1q3zx912nhqlilca6kl5q156zi0sv3d"; depends=[spam spatstat spdep splancs]; };
   latticeExtra = derive2 { name="latticeExtra"; version="0.6-28"; sha256="1hkyqsa7klk5glj9y1hg3rxr5qilqw8h0017zc4c3nps7lr9a1kq"; depends=[lattice RColorBrewer]; };
-  lava = derive2 { name="lava"; version="1.6"; sha256="02xf5d968raz9gnq5ywy04wz29xpdyca1hm79vbbg1mcxvzdl1dz"; depends=[numDeriv SQUAREM survival]; };
+  lava = derive2 { name="lava"; version="1.6.1"; sha256="11k9npmzp3nk2qx0h1dwwfc37j4ddd9y54bppxby0ffnb8qlpw1k"; depends=[numDeriv SQUAREM survival]; };
   lava_tobit = derive2 { name="lava.tobit"; version="0.5"; sha256="15dlcjgnvrpdxymcwf4rvk72ssr650dy1ayp50zlrp2va0p6h4kw"; depends=[lava mets mvtnorm survival]; };
-  lavaSearch2 = derive2 { name="lavaSearch2"; version="1.1.0"; sha256="1nmzj4yfgas6a9wss34ckd55gajxmd9a0fk8lmpxc2130hlr4ld8"; depends=[ggplot2 lava MASS Matrix multcomp mvtnorm nlme reshape2 sandwich]; };
+  lavaSearch2 = derive2 { name="lavaSearch2"; version="1.3.3"; sha256="08h9nfbjbq6l5drmq07js2b6ylv29wfrddqdlpsnysi99sj8i8aq"; depends=[ggplot2 lava MASS Matrix multcomp mvtnorm nlme reshape2 sandwich]; };
   lavaan = derive2 { name="lavaan"; version="0.5-23.1097"; sha256="11wxzjg09q5wzvbp1lhi9sjnp4rrjpdxnmq3zf8npx08iwkw79ws"; depends=[MASS mnormt numDeriv pbivnorm quadprog]; };
   lavaan_shiny = derive2 { name="lavaan.shiny"; version="1.2"; sha256="0qgswdpxb5af0l3v70sg0jrgsdwr88gz6zzwbk3pw5x6qnvnwb6r"; depends=[lavaan psych semPlot shiny shinyAce]; };
   lavaan_survey = derive2 { name="lavaan.survey"; version="1.1.3.1"; sha256="133hpy8s00y6jzwwzl9brdh70w26jycdm3n1c6bcryghwh3ai4xr"; depends=[lavaan MASS survey]; };
@@ -7664,14 +7863,14 @@ in with self; {
   lcmm = derive2 { name="lcmm"; version="1.7.8"; sha256="180xfx842sic5qnfr0zh2h4345zkzlf123pdw4q6gd0mi5smwwc7"; depends=[survival]; };
   lcopula = derive2 { name="lcopula"; version="1.0"; sha256="07a9k5fp03s6jnjawg11j4458xrsrrqxv6kf3cs58ymv0j2s1qyd"; depends=[copula pcaPP Rcpp]; };
   lctools = derive2 { name="lctools"; version="0.2-6"; sha256="06hhz0sjdrci1li03f09wij1qrl74sla2938fbkx72ffy0mdg310"; depends=[MASS pscl reshape weights]; };
-  lcyanalysis = derive2 { name="lcyanalysis"; version="1.0.0"; sha256="0m8wfp8vs4pgzmxinlbxask1i0z6mf35cyyib77mbyqlfvf0hic0"; depends=[quantmod TTR xts zoo]; };
+  lcyanalysis = derive2 { name="lcyanalysis"; version="1.0.3"; sha256="0nkqrm8r5iyvw2gbixvi0bnqx2wafg67cqz9mn99halzk9hpynl9"; depends=[quantmod TTR xts zoo]; };
   lda = derive2 { name="lda"; version="1.4.2"; sha256="03r4h5kgr8mfy44p66mfj5bp4k00g8zh4a1mhn46jw14pkhs21jn"; depends=[]; };
   ldamatch = derive2 { name="ldamatch"; version="1.0.1"; sha256="1dmmjw7h0rrgwga7235bryzzvmx68gmkpy5v1pwvnkk4rxp8xamh"; depends=[car data_table entropy foreach gmp iterators iterpc kSamples MASS RUnit]; };
   ldat = derive2 { name="ldat"; version="0.1.0"; sha256="1ga96m1sl7khhwi41ab07k02ay4w8vzi5cl895h9kfavgbhqsf6m"; depends=[BH lvec]; };
   ldatuning = derive2 { name="ldatuning"; version="0.2.0"; sha256="18nm4hj7733c1cp03hyddnivhiiyv7ndnw9m6j3af019jjmvf215"; depends=[ggplot2 reshape2 Rmpfr scales slam topicmodels]; };
   ldbod = derive2 { name="ldbod"; version="0.1.2"; sha256="1ylzkswnhf4jnjx2ijasy49pj78ffx333za0bx2fnf3g85kicqiv"; depends=[mnormt RANN]; };
   ldbounds = derive2 { name="ldbounds"; version="1.1-1"; sha256="15ixrq615x64zmi6dryq3ww0dqxd0qf5xx1bs3w934sf99l46bhs"; depends=[lattice]; };
-  ldhmm = derive2 { name="ldhmm"; version="0.4.2"; sha256="0kfhb53p1pzgbn8v7hy3sqb0q04hrm7cbykv7bml0hn30z4r8hjx"; depends=[ecd ggplot2 moments optimx scales xts zoo]; };
+  ldhmm = derive2 { name="ldhmm"; version="0.4.5"; sha256="1pax1hl0h07nc9d34pf0jqgpcxr7y7dpqcm2hlclrmsinhj9q8vi"; depends=[ecd ggplot2 moments optimx scales xts zoo]; };
   ldlasso = derive2 { name="ldlasso"; version="3.2"; sha256="0ij68zvgm8dfd2qwx6h6ygndac29qa0ddpf11z959v06n8jsnk11"; depends=[GenABEL quadprog]; };
   ldr = derive2 { name="ldr"; version="1.3.3"; sha256="1c48qm388zlya186qmsbxxdcg1mdv3nc3i96lqb40yhcx2yshbip"; depends=[GrassmannOptim Matrix]; };
   ldstatsHD = derive2 { name="ldstatsHD"; version="1.0.1"; sha256="152dlphxxzllgf7al8k34qcfg6n8ajxqym62i61ahbbgjlcd0x9r"; depends=[camel cluster corpcor evd fExtremes huge igraph MASS Matrix qvalue RBGL robustbase VGAM]; };
@@ -7687,26 +7886,26 @@ in with self; {
   leapp = derive2 { name="leapp"; version="1.2"; sha256="1yiqzmhgl5f3zwpcc5sz3yqrvp8p6r4w2ffdfyirirayqc96ar17"; depends=[corpcor MASS sva]; };
   leaps = derive2 { name="leaps"; version="3.0"; sha256="11gjmn1azrjw5xlvdb4gknj9985kck9x8zb9np1rnk2smp6pka2m"; depends=[]; };
   learNN = derive2 { name="learNN"; version="0.2.0"; sha256="0q0j25vi7hrwaf38y10m24czf3rsvj937jvkz3ns12bd8srlflah"; depends=[]; };
-  learningCurve = derive2 { name="learningCurve"; version="1.1.1"; sha256="1rvh6i3vmwrff491k9w551402m3i9sra8rzkljgk9b5fmw7hk5ki"; depends=[ggplot2 gridExtra scales tidyverse]; };
+  learningCurve = derive2 { name="learningCurve"; version="1.1.2"; sha256="02dl5rlvwa8dvhknf4kdfg3aial54shnxrq7k2k8yj2dj0qh062c"; depends=[ggplot2 gridExtra scales tibble]; };
   learningr = derive2 { name="learningr"; version="0.29"; sha256="1nr4ydcq2mskv4c0pmf0kxv5wm8pvjqmv19xz5yaq0j834b0n5q7"; depends=[plyr]; };
-  learnr = derive2 { name="learnr"; version="0.9.1"; sha256="0ac2w4l8pkcamd33pzcimca9wj2j57fqii33c1ddar4vflcn4xw6"; depends=[evaluate htmltools htmlwidgets jsonlite knitr markdown rappdirs rmarkdown rprojroot shiny withr]; };
+  learnr = derive2 { name="learnr"; version="0.9.2"; sha256="1z04c1djg7ghsl7p9ypc6k5m7snahnmjy10xmrzqfayx1wkfkn9n"; depends=[evaluate htmltools htmlwidgets jsonlite knitr markdown rappdirs rmarkdown rprojroot shiny withr]; };
   learnrbook = derive2 { name="learnrbook"; version="0.0.2"; sha256="1k17dk8ahn1ifwid1hhx0k7fpgc62zg82y66bbf6nhd4dgdbbv2p"; depends=[]; };
   learnstats = derive2 { name="learnstats"; version="0.1.1"; sha256="1sa064cr7ykl4s1ssdfmb3v1sjrnkbwdh04hmwwd9b3x0llsi9vv"; depends=[ggplot2 Rcmdr shiny]; };
   lefse = derive2 { name="lefse"; version="0.1"; sha256="1zdmjxr5xa5p3miw79mhsswsh289hgzfmn3mpj1lyzal1qgw1h5m"; depends=[ape fBasics geiger picante SDMTools vegan]; };
   leiv = derive2 { name="leiv"; version="2.0-7"; sha256="15ay50886xx9k298npyksfpva8pck7fhqa40h9n3d7fzvqm5h1jp"; depends=[]; };
   lemon = derive2 { name="lemon"; version="0.3.3"; sha256="0jxcyplr69a3rganqc02ry57xj7is7dylsh9kvsy6kwnji6bvdib"; depends=[ggplot2 gridExtra gtable knitr lattice]; };
   lero_lero = derive2 { name="lero.lero"; version="0.1"; sha256="1jndsgy48fn085ilkh8dfc3w76kfnfj0x70d1m3h59zxi3x9lb82"; depends=[stringr]; };
-  lessR = derive2 { name="lessR"; version="3.7.0"; sha256="14zzm7dsjwl94bcnzrkf8bk83nxsini11s5l0pia31xnm6yl89ln"; depends=[colorspace ellipse foreign lattice latticeExtra leaps png readxl robustbase sas7bdat triangle]; };
+  lessR = derive2 { name="lessR"; version="3.7.2"; sha256="0rmfrwp6hznivj8809n21ihriq33264yj82l3ii7kil1i3vmac3n"; depends=[ellipse foreign lattice latticeExtra leaps openxlsx png robustbase sas7bdat triangle]; };
   lestat = derive2 { name="lestat"; version="1.8"; sha256="12w3s5yr9lsnjkr3nsay5sm4p241y4xz0s3ir56kxjqw23g6m80v"; depends=[MASS]; };
   letsR = derive2 { name="letsR"; version="3.1"; sha256="0wyqqq7w21k87md3pwsz3kdaws345fdhh2xgavwiiywalg0gvxxx"; depends=[fields geosphere maps maptools raster rgdal rgeos sp XML]; };
   lettercase = derive2 { name="lettercase"; version="0.13.1"; sha256="0s2s42v6a3mlz6084sk5wcbap3czgbd53f9p64pxwd1yfj18lbyx"; depends=[stringr]; };
   lexRankr = derive2 { name="lexRankr"; version="0.5.0"; sha256="1l0p4qg6lcpp1f2n6mh1glvxzy3bis0c1ra8x9z5v26x31wmwq68"; depends=[igraph Rcpp SnowballC]; };
   lexicon = derive2 { name="lexicon"; version="0.7.4"; sha256="1f2n90xdpbxk6ffzzlib7fxxswwkfrpf404vzx85s016529dy42m"; depends=[data_table syuzhet]; };
   lexiconPT = derive2 { name="lexiconPT"; version="0.1.0"; sha256="0w53gnr29nzc1ib54rnxdycs0c5f7vpv586qmvxxzy4ar16kisaq"; depends=[]; };
-  lfactors = derive2 { name="lfactors"; version="1.0.1"; sha256="13vjafbss0860fi4qcf23g3cjs9dlr2k5f3majbnyvhwsbfs7cla"; depends=[]; };
+  lfactors = derive2 { name="lfactors"; version="1.0.4"; sha256="1r8qlwj3zsm233jfx9ag0q5g1knvjmbwl3785pwcd12zi6f68dcc"; depends=[]; };
   lfda = derive2 { name="lfda"; version="1.1.2"; sha256="0y59iigcpmyrmsiwrpv5agja6vz3wxmxd9sl5hbf1ybm4d0lyky4"; depends=[plyr rARPACK]; };
   lfe = derive2 { name="lfe"; version="2.6-2291"; sha256="1hdzq85y1nxrinikf308mvdmyw883bfzbamr27ffdphlk403ry70"; depends=[Formula Matrix sandwich xtable]; };
-  lfl = derive2 { name="lfl"; version="1.4"; sha256="09ni0n7xqn3qw9jjh24j679cyzgf0cxxw535ap4z44jjk29bqngw"; depends=[e1071 foreach forecast plyr Rcpp tseries zoo]; };
+  lfl = derive2 { name="lfl"; version="1.4.1"; sha256="0r9459mmnx1khpw24w943y1x4xl3zcws2cvv61216yzb0xbqwhc0"; depends=[e1071 foreach forecast plyr Rcpp tseries zoo]; };
   lfstat = derive2 { name="lfstat"; version="0.9.4"; sha256="0lm9fyw45kdkkjldkmagykn9p3l3jlw2ky3h00f7j6rqkizjm6r0"; depends=[dygraphs lattice latticeExtra lmom lmomRFA plyr xts zoo]; };
   lg = derive2 { name="lg"; version="0.1.0"; sha256="0gaid5aihc9dk3igbm8jhsspl1k4k3prqvn7j2vsm92jc7m00iyw"; depends=[ggplot2 ks localgauss logspline mvtnorm]; };
   lga = derive2 { name="lga"; version="1.1-1"; sha256="1nkvar9lmdvsc3c21xmrnpn0haqk03jwvc9zfxvk5nwi4m9457lg"; depends=[boot lattice]; };
@@ -7720,7 +7919,7 @@ in with self; {
   librarysnapshot = derive2 { name="librarysnapshot"; version="0.1.2"; sha256="0v4x564zpm58kxs5n84bi6mcjhbzjg6a2lc30vsc8kbm3qy0nq38"; depends=[]; };
   libsoc = derive2 { name="libsoc"; version="0.6.4"; sha256="1hdnqgnvzm5116gphxa55k2bc3ksr607px2s2yg1ilmmxdghdccw"; depends=[]; };
   libstableR = derive2 { name="libstableR"; version="1.0"; sha256="0qk70rl76lz2izgp2c1asx0yvi8xgfq1yg579kcygxk4pnxjdwv4"; depends=[Rcpp]; };
-  lidR = derive2 { name="lidR"; version="1.4.1"; sha256="01nw6i7ddk99zayblqhxsnx2cy29ippii9vdqahffv91644iqqb1"; depends=[data_table future gdalUtils geometry gstat lazyeval magrittr mapedit mapview memoise RANN raster Rcpp RcppProgress rgeos rgl rlas settings sp stringr]; };
+  lidR = derive2 { name="lidR"; version="1.4.2"; sha256="1m37ncyj2z9yh40qzl4h3s4dpizmfqz8n0fcybpjjhi8yr3lipdf"; depends=[data_table future gdalUtils geometry gstat lazyeval magrittr mapedit mapview memoise RANN raster Rcpp RcppProgress rgeos rgl rlas settings sp stringr]; };
   lifecontingencies = derive2 { name="lifecontingencies"; version="1.3.2"; sha256="012pfiz4l8xrwrjlzwfc0vxw1wpw2n2f2vj39mlpmg5aswg4mm8k"; depends=[markovchain Rcpp]; };
   lifecourse = derive2 { name="lifecourse"; version="2.0"; sha256="1m8ihqvzhzpq2m2pdvh37bpq9pdbj23r3y0jkl3q8farh3qj473d"; depends=[TraMineR]; };
   lifelogr = derive2 { name="lifelogr"; version="0.1.0"; sha256="1wygvw61ygpww0kahxhmjdncwg4zc2cshs0brzw18nfqaj8vpfav"; depends=[dplyr fitbitScraper ggplot2 lazyeval lubridate modelr plyr R6 shiny stringr tibble tidyr]; };
@@ -7734,16 +7933,17 @@ in with self; {
   likelihoodExplore = derive2 { name="likelihoodExplore"; version="0.1.0"; sha256="13cnql7pbx8qq1j3cfb3lkzzf2k55shpfa0jd00z30ys6imxzcfn"; depends=[lazyeval plyr]; };
   likert = derive2 { name="likert"; version="1.3.5"; sha256="0c4irxs7pp1z8nj4s8cq23daw4h94n3h7x4f6q1d85614qcl9l3p"; depends=[ggplot2 gridExtra plyr psych reshape2 xtable]; };
   limSolve = derive2 { name="limSolve"; version="1.5.5.3"; sha256="1ll6ir42h3g2fzf0wqai213bm82gpwjj2hfma2np3mz024sc09rg"; depends=[lpSolve MASS quadprog]; };
-  lime = derive2 { name="lime"; version="0.3.1"; sha256="0c81kmjp0s8fl8x4qsgqq6547zf5gvwhllrrryabirz4nxz2x1nl"; depends=[assertthat ggplot2 glmnet htmlwidgets Matrix Rcpp RcppEigen shiny shinythemes stringdist stringi]; };
+  lime = derive2 { name="lime"; version="0.4.0"; sha256="0hml1f3fq21s45h1cg3qi4w7vdfdxcsz8q4h1429gbppbdanz9i1"; depends=[assertthat ggplot2 glmnet gower htmlwidgets magick Matrix Rcpp RcppEigen shiny shinythemes stringdist stringi]; };
   limitplot = derive2 { name="limitplot"; version="1.2"; sha256="0wj1xalm80fa5pvjwh2zf5hpvxa3r1hnkh2z9z285wkbrcl0qfl2"; depends=[]; };
   linERR = derive2 { name="linERR"; version="1.0"; sha256="1mhiyqfpwagg161ncp5ndd22hlh12qzr360nms13rgyd8a077cq7"; depends=[survival]; };
   linLIR = derive2 { name="linLIR"; version="1.1"; sha256="1v5bwki5j567x2kndfd5nli5i093a33in31025h9hsvkbal1dxgp"; depends=[]; };
   linbin = derive2 { name="linbin"; version="0.1.2"; sha256="0shw976nlryjvmvnyyiycchqs7zcg5flalywm1ymnv62nw3n55xs"; depends=[]; };
   lindia = derive2 { name="lindia"; version="0.9"; sha256="1qma8wr0fkwx03x971crkh8cfc8z4374py1r1wvszj9wzi4vfp5r"; depends=[ggplot2 gridExtra MASS]; };
   linear_tools = derive2 { name="linear.tools"; version="1.3.0"; sha256="14lp3gifzbid82lkr7rdqajz2abp8m7y8irpwx6s8w66djjfckda"; depends=[ggplot2 magrittr plyr pryr scales stringr]; };
+  linearQ = derive2 { name="linearQ"; version="1.0"; sha256="0c6ccllv4zf8zgs3957zjvnkdwbv2ryrs0f5lzk1clc233vm7acm"; depends=[Rcpp stepR]; };
   linemap = derive2 { name="linemap"; version="0.1.0"; sha256="0qkbmpfr742xbs3xn5ppx6q0prwrr9mk1c1mv050cm47dm7jcs6l"; depends=[sf]; };
-  lineup = derive2 { name="lineup"; version="0.37-6"; sha256="1xyvw00lwnx7j3cgk4aw69lam6ndjxx3wj14h4jpx1xn8l3w7652"; depends=[class qtl]; };
-  lingtypology = derive2 { name="lingtypology"; version="1.0.11"; sha256="1cn1q7n1kf4llhzxq0ixrd8n8izksrxczr4h6q7923imjiaclv2n"; depends=[leaflet leaflet_minicharts magrittr MASS rowr sp stringdist]; };
+  lineup = derive2 { name="lineup"; version="0.37-10"; sha256="1w45ll6phynn03ala0wadmp06rrgg8rcqnhz7hqy4w6q7khbkk6r"; depends=[class qtl]; };
+  lingtypology = derive2 { name="lingtypology"; version="1.0.12"; sha256="03rjnr4hy7im88pawrd86nas0fzkgz3mnzdc8rclcfbbv1vyzxf5"; depends=[leaflet leaflet_minicharts magrittr MASS rowr sp stringdist]; };
   link2GI = derive2 { name="link2GI"; version="0.3-0"; sha256="0jzk1p9cygcw0xz9hqfzx74acl4ymn3jmcjj0dxrmknsvfdzcl2d"; depends=[gdalUtils raster rgdal rgrass7 RSAGA sf sp]; };
   linkR = derive2 { name="linkR"; version="1.1.1"; sha256="1748r7s5g0gvsmghrb7l5lmdbzb9f4vkbgj51v308jr64r1k7l93"; depends=[svgViewR]; };
   linkcomm = derive2 { name="linkcomm"; version="1.0-11"; sha256="1w5sfmzvrk30fr161pk0cy5nj8kasqm6hqgyafq6r280b5s272cb"; depends=[dynamicTreeCut igraph RColorBrewer]; };
@@ -7763,10 +7963,11 @@ in with self; {
   listdtr = derive2 { name="listdtr"; version="1.0"; sha256="08drps03nndpdxswyv8bjm1bcckjav5pjj7fdx3dzyn0v4dfy619"; depends=[ggplot2]; };
   listenv = derive2 { name="listenv"; version="0.7.0"; sha256="0ma5jsri2zqkrlsm9nqpikl7imbwfy1glsmk13mblw0q245h49k1"; depends=[]; };
   listless = derive2 { name="listless"; version="0.0-2"; sha256="1gr6l4vih7j28kg2mj1xj2yhlpwjc4p894vsxri25vq0r9kgcdym"; depends=[magrittr tidyr]; };
-  listviewer = derive2 { name="listviewer"; version="1.4.0"; sha256="1273vk8pk393ciwahvpmdh9z4xdlhw3a7mlm7jsqxqnsrc6jrz3x"; depends=[htmltools htmlwidgets shiny]; };
+  listviewer = derive2 { name="listviewer"; version="2.0.0"; sha256="0fq9jdb9yahm095m5ja9j7hlv3ggigj14nlf1pdk26xj2685j8n9"; depends=[htmltools htmlwidgets shiny]; };
   liteq = derive2 { name="liteq"; version="1.0.1"; sha256="080ljgb2qsfmyppnlp9acmskgq94pmdbbgbhygqkxvzda5bbas8h"; depends=[assertthat DBI rappdirs RSQLite]; };
   littler = derive2 { name="littler"; version="0.3.3"; sha256="1cbsnm4ffzld93b9q8g6g6h6yskjfwa8j1xani5682ipb7r290x7"; depends=[]; };
-  liureg = derive2 { name="liureg"; version="1.1.1"; sha256="11cybb1i3a0na3yadzwmn1hlglqk0zdzxj0n07ygsxrdq7sxbpnj"; depends=[]; };
+  liureg = derive2 { name="liureg"; version="1.1.2"; sha256="1zhc5fs47whjvvwwiivykxfchzbjbldyvdmqh9rp7ccwba2q3956"; depends=[]; };
+  live = derive2 { name="live"; version="1.4.2"; sha256="0f04glaji3yy16mlwmizr4c7ykngqnfk7j2zx8smfn2n6biv6qg3"; depends=[breakDown data_table dplyr forestmodel ggplot2 lubridate mlr]; };
   livechatR = derive2 { name="livechatR"; version="0.1.0"; sha256="1k0z6q3s9iw962m1lwlx45p95flzl5jg1xh6ng426v9jh1yyrbb2"; depends=[data_table dplyr jsonlite magrittr purrr]; };
   ljr = derive2 { name="ljr"; version="1.4-0"; sha256="0jby94ml8w6pwnxbmv6qfjww2myvvnn9vrmlqpdh71dhgp3z35py"; depends=[]; };
   llama = derive2 { name="llama"; version="0.9.1"; sha256="1cvm58kivjw77a2fy1jwsajzl1d0i3i123p6glpwdlqn6rlharck"; depends=[BBmisc checkmate ggplot2 mlr parallelMap plyr rJava]; };
@@ -7776,8 +7977,10 @@ in with self; {
   lm_beta = derive2 { name="lm.beta"; version="1.5-1"; sha256="0p224y9pm72brbcq8y1agkcwc82j7clsnszqzl1qsc0gw0bx9id3"; depends=[]; };
   lm_br = derive2 { name="lm.br"; version="2.9.3"; sha256="1xadz0rygm58igk0ig0w45132gnsvjxvwqzca4m6v6i6lz9x55pf"; depends=[Rcpp]; };
   lmPerm = derive2 { name="lmPerm"; version="2.1.0"; sha256="1ss2hcfxqvfq4n6hypv7jp0n0apby9payxzaswaysr5368lkidn3"; depends=[]; };
-  lmSupport = derive2 { name="lmSupport"; version="2.9.11"; sha256="1yvckfahw3kq0r28ggrml7qhgm4ib5ihd971zxg62li4inrkri6b"; depends=[AICcmodavg car gplots gvlma lme4 pbkrtest psych pwr]; };
-  lme4 = derive2 { name="lme4"; version="1.1-15"; sha256="0sc6rvhiizxxpkdc3wps200wg3pqc0d89crn29lzm75fk8qdd7vx"; depends=[lattice MASS Matrix minqa nlme nloptr Rcpp RcppEigen]; };
+  lmQCM = derive2 { name="lmQCM"; version="0.1.0"; sha256="0y02pbvl5qbfwnhyzilbcpswwmmq0x47ggpg7pcnhd3dv4b6w6zm"; depends=[Biobase genefilter nnet]; };
+  lmSubsets = derive2 { name="lmSubsets"; version="0.1"; sha256="0lkccpk2rxv7dlm4jlk9y3cl3s4cdlfi6schvndrk69glcx0v0zd"; depends=[]; };
+  lmSupport = derive2 { name="lmSupport"; version="2.9.13"; sha256="0ln5c91mbxkymgnv2nw5m3nrm5bwckpikgb9x1qhmjc55m98wkb8"; depends=[AICcmodavg car gplots gvlma lme4 pbkrtest psych pwr]; };
+  lme4 = derive2 { name="lme4"; version="1.1-17"; sha256="0czwdy1s8h3slaw73pz0h8qmqczf5135fz6i46i2dv1ql2pbq49x"; depends=[lattice MASS Matrix minqa nlme nloptr Rcpp RcppEigen]; };
   lmeNB = derive2 { name="lmeNB"; version="1.3"; sha256="03khn9wgjbz34sx0p5b9wd3mhbknw8qyvyd5pvllmjipnir63d3q"; depends=[lmeNBBayes numDeriv statmod]; };
   lmeNBBayes = derive2 { name="lmeNBBayes"; version="1.3.1"; sha256="13shfsh9x6151xy8gicb25sind90imrwclnmfj96b76p5dvhzabm"; depends=[]; };
   lmeSplines = derive2 { name="lmeSplines"; version="1.1-10"; sha256="0fy6hspk7rqqkzv0czvvs8r4ishvs7zsf4ykvia65nj26w7yhyia"; depends=[nlme]; };
@@ -7785,7 +7988,7 @@ in with self; {
   lmem_gwaser = derive2 { name="lmem.gwaser"; version="0.1.0"; sha256="0i315plqq1c8d7nvzk7jj9b3n4pgy27673pgdbii4c5bccwm12vn"; depends=[fdrtool genetics lattice LDheatmap lme4 pastecs qtl stringr]; };
   lmem_qtler = derive2 { name="lmem.qtler"; version="0.1.1"; sha256="0qbllj66y294n1m8dsyrnwyvzscbzg8mb2dmjyghcrfaz925vkin"; depends=[lattice lme4 pastecs qtl stringr]; };
   lmenssp = derive2 { name="lmenssp"; version="1.2"; sha256="1vc90x3y1vzmzblc15kqar3nd3c3p8p9nvmpk0ib52n0qv5pr6wz"; depends=[geoR MASS mvtnorm nlme]; };
-  lmerTest = derive2 { name="lmerTest"; version="2.0-36"; sha256="1ja56y45fdxa5xqwzng4rk3vjcfjvmchfcpdy08lv9dzkp71g1qp"; depends=[ggplot2 Hmisc lme4 MASS Matrix plyr]; };
+  lmerTest = derive2 { name="lmerTest"; version="3.0-0"; sha256="08n6zdyxjbch8vf4gbp339yirf3ixxdhhai8iafxf3f1q2gcr52v"; depends=[ggplot2 lme4 MASS numDeriv]; };
   lmeresampler = derive2 { name="lmeresampler"; version="0.1.0"; sha256="00v3qg5vyjjb0pcbrknzxy80kkwsypkhwkv3nsck5rscaf86y3aq"; depends=[boot dplyr Matrix nlmeU plyr RLRsim]; };
   lmf = derive2 { name="lmf"; version="1.2"; sha256="1xqlqmjl7wf5b2s2a1k1ara21v74b3wvwl4mhbj9dkdb0jcrgfva"; depends=[]; };
   lmfor = derive2 { name="lmfor"; version="1.2"; sha256="1lad1sfrf6lsksix4nn2c2dc5fx0rfm4kdhvbmqf9dc55f98rla8"; depends=[MASS nlme]; };
@@ -7799,12 +8002,11 @@ in with self; {
   lmom = derive2 { name="lmom"; version="2.6"; sha256="0wxlclzypg6dnvk09k26pdgn3nijl06xsa9rny5l03xzar01mz5s"; depends=[]; };
   lmomPi = derive2 { name="lmomPi"; version="0.5.0"; sha256="07ggfzgvhc6kkqs8bbs6z01rbhgb0ki2y4li6r0nkiby1wcpx0py"; depends=[lmom stringr]; };
   lmomRFA = derive2 { name="lmomRFA"; version="3.1"; sha256="1gq5sjdywz1jbsshrh350zad7iifml2yj8an5xa63ghxiskrxscx"; depends=[lmom]; };
-  lmomco = derive2 { name="lmomco"; version="2.2.9"; sha256="17dgzvf1rrxw3xplwvsy6dsx31b6k6f17g20zbmrh6xv3fnfb86r"; depends=[goftest Lmoments MASS]; };
+  lmomco = derive2 { name="lmomco"; version="2.3.1"; sha256="0nyl18kipsab4ka5ywbmw28kkr6i09w4lc9pa96m1fh765zghjxi"; depends=[goftest Lmoments MASS]; };
   lmridge = derive2 { name="lmridge"; version="1.1"; sha256="1r4g7482iz4b7jk0gj169bj96ip2wyrff1ndkwhf0qzg6r6vqa8d"; depends=[]; };
-  lmtest = derive2 { name="lmtest"; version="0.9-35"; sha256="107br1l7p52wxvazs031f4h5ryply97qywg9dzrkw4ydnvqq4j9g"; depends=[zoo]; };
+  lmtest = derive2 { name="lmtest"; version="0.9-36"; sha256="0sym9sm1vl6bbgq01jhz1plxqmgh8hrgrn7rw0mwvsalcn6id7xy"; depends=[zoo]; };
   lmvar = derive2 { name="lmvar"; version="1.4.0"; sha256="0pwpsdmqjlj79ybx5rw82qgkjzak941d9vvdzwipjh8n51mcvwcd"; depends=[Matrix matrixcalc maxLik]; };
   loa = derive2 { name="loa"; version="0.2.43.3"; sha256="0krrv5sicm4xvgilri8nwby6jlidx375b4sk273hxq7bhayw4hqq"; depends=[lattice MASS mgcv plyr png RColorBrewer RgoogleMaps]; };
-  localdepth = derive2 { name="localdepth"; version="0.5-7"; sha256="0h0y74xnhdqa7y51ljmpz7ayznppvy2ll06wfds6200lb9cxgr7k"; depends=[circular]; };
   localgauss = derive2 { name="localgauss"; version="0.40"; sha256="0y0pcg2i7lr4wipxawn06hy0q11znhcn2ah6rqwnlyy8pab70pyq"; depends=[foreach MASS matrixStats]; };
   localsolver = derive2 { name="localsolver"; version="2.3"; sha256="1d18rihzqf1f5j9agfp8jysll7lqk1ai23hkdqkn6wwxj442llv4"; depends=[]; };
   locfdr = derive2 { name="locfdr"; version="1.1-8"; sha256="1falkbp2xz07am8jlhwlvyqvxnli4nwl188kd0g58vdfjcjy3mj2"; depends=[]; };
@@ -7822,6 +8024,8 @@ in with self; {
   logcondens_mode = derive2 { name="logcondens.mode"; version="1.0.1"; sha256="1i2c2prk5j863p3a3q3xnsv684igfi5czz3dib7zfjldpf0qyaq7"; depends=[distr logcondens]; };
   logcondiscr = derive2 { name="logcondiscr"; version="1.0.6"; sha256="08wwxsrpflwbzgs6vb3r0f52hscxz1f4q0xabr1yqns06gir1kxd"; depends=[cobs Matrix mvtnorm]; };
   logging = derive2 { name="logging"; version="0.7-103"; sha256="1sp7q217awizb6l8c9p5dix6skpq8j7w8i088x4mm0fc0qr1ba5c"; depends=[]; };
+  loggit = derive2 { name="loggit"; version="1.1.1"; sha256="1w9a3mbf863dk6lnd95mwr15rxjpv1rra1z45jnqk8w56g1s7q4d"; depends=[dplyr jsonlite]; };
+  loggle = derive2 { name="loggle"; version="1.0"; sha256="0r1r8m2ckva17vbvwkzhq1lx6bap0kbfj9hxyk46adslcf3xxrxp"; depends=[doParallel foreach glasso igraph Matrix sm]; };
   logiBin = derive2 { name="logiBin"; version="0.1.0"; sha256="146jh5cpydpvv8g3ccrglm88zp8sam4airw521cxcfyg5v8qvdqs"; depends=[data_table doParallel foreach iterators partykit]; };
   logihist = derive2 { name="logihist"; version="1.0"; sha256="1q3322rh3g31c5i80aw54pln0m1jgxmbx30cn31nlh3ijkvnpq9a"; depends=[ggplot2]; };
   logistf = derive2 { name="logistf"; version="1.22"; sha256="0npwqbl8rfvn6w2y0qpkckj44mvjjccj0cn9axp2wcs03cmz0rp8"; depends=[mgcv mice]; };
@@ -7833,24 +8037,25 @@ in with self; {
   logmult = derive2 { name="logmult"; version="0.6.5"; sha256="0ak13nfgaima6g75rxbghl7xmagfp4qshj09x1fxh2r2rcags7dk"; depends=[gnm qvcalc]; };
   logspline = derive2 { name="logspline"; version="2.1.9"; sha256="1kd7ricaxbcjl6d9hx7bb5mlkr7x2h7gc8vrmfvlzxppbcghb6vw"; depends=[]; };
   lokern = derive2 { name="lokern"; version="1.1-8"; sha256="1dlyvgd2i4dckd8ic3x75r4sikwalch9b2f13xp5rhkzmfzbprxq"; depends=[sfsmisc]; };
-  lolR = derive2 { name="lolR"; version="1.0.1"; sha256="1lhhasbbpacqpc3d7bvw7q183czdjqc6xdlc7yafk7rnwgmpxjxz"; depends=[abind ggplot2 irlba MASS]; };
+  lolR = derive2 { name="lolR"; version="2.0"; sha256="0ygxm5qym1s64pa8a04jf44y786svrkhscda2x781jx8gpil753v"; depends=[abind ggplot2 irlba MASS pls]; };
   lomb = derive2 { name="lomb"; version="1.0"; sha256="06lbk7s1ilqx6xsgj628wzdwmnvbs0p03hdpx8665fhddcxh3ryy"; depends=[]; };
   longCatEDA = derive2 { name="longCatEDA"; version="0.31"; sha256="0dji41lsknfwmgb2fczzm37dm97wvi45rh878w7pwlzwdh9vq8va"; depends=[]; };
   longROC = derive2 { name="longROC"; version="1.0"; sha256="1fs11vqi4hy99d7shzzdvd6ic5gay6rh2027w6j0qpd04n8q88m8"; depends=[survival]; };
   longRPart2 = derive2 { name="longRPart2"; version="0.2.3"; sha256="1vqcsxi6c4hqrpk3ns7yhghfryin1psxl38qkz2xz8cvyn58f685"; depends=[formula_tools ggplot2 MASS nlme rpart]; };
-  longclust = derive2 { name="longclust"; version="1.2"; sha256="1m270fyvfz0w19p9xdv7ihy19nhrhjq2akymbp774073crznmmw0"; depends=[]; };
+  longclust = derive2 { name="longclust"; version="1.2.2"; sha256="1yxxz8apbl1vaqzrsiq7r5ss87j2li595bkvibpkwslgwzv47dcs"; depends=[]; };
   longitudinal = derive2 { name="longitudinal"; version="1.1.12"; sha256="1d83ws28nxi3kw5lgd5n5y7865djq7ky72fw3ddi1fkkhg1r9y6l"; depends=[corpcor]; };
   longitudinalData = derive2 { name="longitudinalData"; version="2.4.1"; sha256="0lnvcfgj721bawl1ciz0jw83mfsnzkhg6jn824vr3qdm4rbib2vd"; depends=[class clv misc3d rgl]; };
   longmemo = derive2 { name="longmemo"; version="1.0-0"; sha256="1jnck5nfwxywj74awl4s9i9jn431655mmi85g0nfbg4y71aprzdc"; depends=[]; };
   longpower = derive2 { name="longpower"; version="1.0-16"; sha256="0hbv43y0fgbv1qiczy4kibqc7pk7whrz4kyxshg8730y8g9wyxdi"; depends=[lme4 nlme]; };
   longurl = derive2 { name="longurl"; version="0.3.0"; sha256="0ysa70zlkk3ybddj3yd3vbhjnkjbrisiz5a2hgbjx10p33m1r3am"; depends=[dplyr httr purrr]; };
-  loo = derive2 { name="loo"; version="1.1.0"; sha256="0nh1jbrvm33v28gbys8sh6v4cxfzfd85561gz380b4kaahn2089l"; depends=[matrixStats]; };
+  loo = derive2 { name="loo"; version="2.0.0"; sha256="1k2qhma7gm4l3h9wf5gh1gm09map2jqcdzz3pba4gf039n8h3gsl"; depends=[matrixStats]; };
   lookupTable = derive2 { name="lookupTable"; version="0.1"; sha256="0ipy0glrad2gfr75kd8p3999xnfw4pgpbg6p064qa8ljqg0n1s49"; depends=[data_table dplyr]; };
-  loon = derive2 { name="loon"; version="1.1.0"; sha256="1yqbv91sk241n4rv35g374015wy4hricpm5k8r78aaqdhzgl0539"; depends=[]; };
+  loon = derive2 { name="loon"; version="1.1.1"; sha256="023vrnbn4pikiq6l57phwy9zy1lp6vxrkinrffaxwicvaj58c931"; depends=[]; };
   loop = derive2 { name="loop"; version="1.1"; sha256="1gr257fm92rfh1sdhsb4hy0fzwjkwvwm3v85302gzn02f86qr5dm"; depends=[MASS]; };
   loopr = derive2 { name="loopr"; version="1.0.1"; sha256="1qzfjv15ymk8mnvb556g2bfk64jpl0qcvh4bm3wihplr1whrwq6y"; depends=[dplyr lazyeval magrittr plyr R6]; };
   lordif = derive2 { name="lordif"; version="0.3-3"; sha256="1yby9fvzdi1dzvzp6d6h144k1p9nfacd8l5bd66dmhnc8sp2nlx5"; depends=[mirt rms]; };
   lorec = derive2 { name="lorec"; version="0.6.1"; sha256="0mgypd8awixh1lzbh5559br4k7vi3pfmwniqhgh68wc06sc6bn65"; depends=[]; };
+  lori = derive2 { name="lori"; version="0.1.0"; sha256="1sqwfai0h776i3g0gxqfagisayv428gzw9540d90nzbrg9vkj28j"; depends=[ade4 FactoMineR glmnet lars lattice logmult NLRoot pdist psych svd]; };
   lowmemtkmeans = derive2 { name="lowmemtkmeans"; version="0.1.2"; sha256="08zhdw48rzw47yzhg4s37bkliyngxs46cyb57dvng1s3m0w0dhvi"; depends=[Rcpp RcppArmadillo]; };
   lpSolve = derive2 { name="lpSolve"; version="5.6.13"; sha256="13a9ry8xf5j1f2j6imqrxdgxqz3nqp9sj9b4ivyx9sid459irm6m"; depends=[]; };
   lpSolveAPI = derive2 { name="lpSolveAPI"; version="5.5.2.0-17"; sha256="1gfxnjkhhyybhyg29qdrdqzwq569b6pgwjgacmw3q7aldc724cyz"; depends=[]; };
@@ -7863,34 +8068,35 @@ in with self; {
   lpmodeler = derive2 { name="lpmodeler"; version="0.2-1"; sha256="17k67l03dkjx61p4hwswghjm6awk0zx173x9xafxrfd8jrgsf6kf"; depends=[slam]; };
   lpridge = derive2 { name="lpridge"; version="1.0-7"; sha256="0nkl70fwzra308bzlhjfpkxr8hpd8v1xdnah7nscxa10qlisgr2k"; depends=[]; };
   lqa = derive2 { name="lqa"; version="1.0-3"; sha256="141r2cd9kybi6n9jbdsvhza8jdxxqch4z3qizvpazjy8qifng29q"; depends=[]; };
-  lqmm = derive2 { name="lqmm"; version="1.5.3"; sha256="1gl609irhxk7qi4x8as2xylc6iybm9jyrnm7dvb92nxl0ksp44v7"; depends=[nlme SparseGrid]; };
+  lqmm = derive2 { name="lqmm"; version="1.5.4"; sha256="117g38m650mi28ff19nd71dadbdphd1ladmrip2kbsnkpcz2q37p"; depends=[nlme SparseGrid]; };
   lqr = derive2 { name="lqr"; version="1.7"; sha256="110c18wc3y3nkdwjgrksw20kvvy65822njrpy4gwb100ifigw0v7"; depends=[ghyp spatstat]; };
   lrequire = derive2 { name="lrequire"; version="0.1.3"; sha256="03c8h9v2xhlv7bj5jv117a27gaqaly2kdxs9zyihsm9yh9rg3d79"; depends=[]; };
   lrgs = derive2 { name="lrgs"; version="0.5.3"; sha256="0aqz07vg3z52lq224mapwgwr9mspa7aswzdfngg6x933aqsha4gj"; depends=[mvtnorm]; };
   lrmest = derive2 { name="lrmest"; version="3.0"; sha256="1yddkgza672z9y0ipgl92pg9prhmr387zsqf0qbi9k2yzfz2vvs6"; depends=[MASS psych]; };
   lsa = derive2 { name="lsa"; version="0.73.1"; sha256="1af8s32hkri1hpngl9skd6s5x6vb8nqzgnkv0s38yvgsja4xm1g5"; depends=[SnowballC]; };
   lsasim = derive2 { name="lsasim"; version="1.0.1"; sha256="0bwk6bv0wp30v6p55nyd1hcvwnjjddwccyy1swf6sg7lw3fy657p"; depends=[]; };
-  lsbclust = derive2 { name="lsbclust"; version="1.0.4"; sha256="0a0l1vvr4gp1vvqccjicy4qh7l2kwyh7k503yi403d0987zqywcc"; depends=[clue ggplot2 gridExtra plyr Rcpp reshape2]; };
+  lsbclust = derive2 { name="lsbclust"; version="1.0.5"; sha256="005kswkpp3qmrg5ij8999xambyyry5wajkawiwhv45niyi2hlkxv"; depends=[clue doParallel foreach ggplot2 gridExtra mvtnorm plyr Rcpp reshape2]; };
   lsdv = derive2 { name="lsdv"; version="1.1"; sha256="0rl1xszr9r8v71j98gjpav30n2ncsci19hjlc9flzs1s20sb1xpr"; depends=[]; };
   lsei = derive2 { name="lsei"; version="1.2-0"; sha256="1xl06fb3is744pxlh42wx5hn1h0ab1k31wnmsmh0524kxzcyp0a7"; depends=[]; };
-  lsgl = derive2 { name="lsgl"; version="1.3.6"; sha256="0zkv5xgwrnwx0w0qpzsg7krd7fdnlr3a85q64xj1wx0gd578dqq6"; depends=[BH Matrix Rcpp RcppArmadillo RcppProgress sglOptim]; };
   lshorth = derive2 { name="lshorth"; version="0.1-6"; sha256="0nbjakx0zx4fg09fv26pr9dlrbvb7ybi6swg84m2kwjky8399vvx"; depends=[]; };
   lsl = derive2 { name="lsl"; version="0.5.6"; sha256="1hwzklx1qp5ljc059j2hridg3caw4cgn7rbqs8xh2arzcvqdw3rb"; depends=[ggplot2 lavaan reshape2]; };
-  lslx = derive2 { name="lslx"; version="0.6.1"; sha256="0zl3gcxc0410zm88kdzqywrqsas7vas4w7mxs2ad6wcclf33dwb5"; depends=[ggplot2 lavaan R6 Rcpp RcppEigen]; };
+  lslx = derive2 { name="lslx"; version="0.6.2"; sha256="0girzjmkmqym5bnw492991smyhvlz7xw70n8hlswpa4lw3x15q2n"; depends=[ggplot2 lavaan R6 Rcpp RcppEigen]; };
+  lsm = derive2 { name="lsm"; version="0.1.6"; sha256="1j68jvb7gvgr77wpq1gzh1jw3cs94im1zrlnvw4jnbgbzsmpql99"; depends=[]; };
   lsmeans = derive2 { name="lsmeans"; version="2.27-61"; sha256="0qw4lkgaynld56ywvdyy5nqvq7c6r2v24gsy54rkcw2n4xhlnahm"; depends=[coda estimability multcomp mvtnorm nlme plyr xtable]; };
+  lspartition = derive2 { name="lspartition"; version="0.1"; sha256="1c2wp9yl0jzvbh181flzywwqmm6xr5jg9qbfibw4ja9wf6xnfx8w"; depends=[combinat ggplot2 MASS matrixStats mgcv pracma]; };
   lspline = derive2 { name="lspline"; version="1.0-0"; sha256="0bc1nfpp1r5fi8rrg295k4r8pm03baqplrzwmk3sn4kdbp0apvgk"; depends=[]; };
   lspls = derive2 { name="lspls"; version="0.2-1"; sha256="1g27fqhnx9db0zrxbhqr76agvxy8a5fx1bfy58j2ni76pki1y4rl"; depends=[pls]; };
   lsplsGlm = derive2 { name="lsplsGlm"; version="1.0"; sha256="1qh68r033fwq1hc19h2srl1k6znvvvrcp38ghxadsksjfxllvniy"; depends=[]; };
   lsr = derive2 { name="lsr"; version="0.5"; sha256="0q385a3q19i8462lm9fx2bw779n4n8azra5ydrzw59zilprhn03f"; depends=[]; };
   lss = derive2 { name="lss"; version="0.52"; sha256="1fvs8p9rhx81xfn450smnd0i1ym06ar6nwwcpl74a66pfi9a5sbp"; depends=[quantreg]; };
   ltbayes = derive2 { name="ltbayes"; version="0.4"; sha256="0kv5k56hmc1m7bv5pmmmk46822szsgwqgpwydn0x56az7xn6hjk6"; depends=[mcmc MHadaptive numDeriv]; };
-  ltm = derive2 { name="ltm"; version="1.1-0"; sha256="1gxjz3rn5bacv7xdlinzk6rdcwragb76grjpk5wqs4shqbk0rld2"; depends=[MASS msm polycor]; };
+  ltm = derive2 { name="ltm"; version="1.1-1"; sha256="1qrgzwx5l58qf5rfp1knxc84r0g943q5sdr3ky74zzwpnmrf2vf7"; depends=[MASS msm polycor]; };
   ltmle = derive2 { name="ltmle"; version="1.0-1"; sha256="0g3nybhxz7mivqkzvlzkasc1m489s4fsi4874wvlhqg3x3mww0x9"; depends=[Matrix matrixStats speedglm]; };
   ltsa = derive2 { name="ltsa"; version="1.4.6"; sha256="10wmw9r00400ng2zlysd8jqgypjclshxj83x32002j2a9cz4f186"; depends=[]; };
   ltsbase = derive2 { name="ltsbase"; version="1.0.1"; sha256="16p5ln9ak3h7h0icv5jfi0a3fbw5wdqs3si69sjbn8f5qs2hz7yp"; depends=[MASS robustbase]; };
   ltsk = derive2 { name="ltsk"; version="1.0.5"; sha256="0x142w2l6qaqw1kmx5kix7lkadaw2kl8dqx11d091vqj2imi9wlr"; depends=[fields gstat sp]; };
   ltxsparklines = derive2 { name="ltxsparklines"; version="1.1.2"; sha256="1jnygg7wm2768lrrzball8rn8f60xy4nc3a18h4d32jpnbhifj13"; depends=[]; };
-  lubridate = derive2 { name="lubridate"; version="1.7.2"; sha256="0k417a1xp5gxf77ycbnx5apzpc5d25sjm83ss7wmqpbnhnr5dcav"; depends=[Rcpp stringr]; };
+  lubridate = derive2 { name="lubridate"; version="1.7.4"; sha256="14a823il77w3wmmnzr89vwrqp50y56dh5raycnaw6c8nv5xsh32i"; depends=[Rcpp stringr]; };
   luca = derive2 { name="luca"; version="1.0-5"; sha256="1jiqwibkrgga4ahz0qgpfkvrsxjqc55i2nwnm60xddb8hpb6a6qx"; depends=[genetics survival]; };
   lucid = derive2 { name="lucid"; version="1.4"; sha256="1kwl9h7ynp8nhny51xskrbgc3060bawxjkdijhsjzss2hbbygwds"; depends=[nlme]; };
   lucr = derive2 { name="lucr"; version="0.2.0"; sha256="0v5g72cl9fg3b3ix34bsmjwwqrnm4ivgcd5mm98c5jd8rrz1xkwq"; depends=[httr Rcpp]; };
@@ -7909,7 +8115,6 @@ in with self; {
   lymphclon = derive2 { name="lymphclon"; version="1.3.0"; sha256="1jns41sk2rx1j3mg06dzy434k30gpfhbkn6s47fmyv1y8701vfl0"; depends=[corpcor expm MASS]; };
   m2b = derive2 { name="m2b"; version="1.0"; sha256="0agzw67mmwrw1f61yn24z5w1pgjssdapg3li0a53i3ylnij45mzr"; depends=[caret caTools e1071 geosphere ggplot2 randomForest]; };
   m2r = derive2 { name="m2r"; version="1.0.0"; sha256="07zrqhva00jsp9da9ryzi8pjdrwri2mw0mqgg91r3rnl7id8safq"; depends=[gmp memoise mpoly pryr stringr]; };
-  m4fe = derive2 { name="m4fe"; version="0.1"; sha256="06lh45591z2lc6lw91vyn066x0m1zwxxfp6nbirp1rz901v843ph"; depends=[]; };
   mAr = derive2 { name="mAr"; version="1.1-2"; sha256="0i9zp8n8i3fxldgvwj045scss533zsv8p476lsla294gp174njr7"; depends=[MASS]; };
   mBvs = derive2 { name="mBvs"; version="1.1"; sha256="0nkm0yyzl3ajjfhprnkr7d4mkvwd86lf6ic9cyqx76isfwwz3wyq"; depends=[]; };
   mExplorer = derive2 { name="mExplorer"; version="1.0.0"; sha256="1563d9r7f25vw5vsph21z3dwz9n40dpaiyx28ay1bbp5i1x2l3rb"; depends=[nnet qusage]; };
@@ -7942,15 +8147,16 @@ in with self; {
   magicLamp = derive2 { name="magicLamp"; version="0.1.0"; sha256="1nfcnbqd6vawz8l3vgkbhmm462xdvaa4pn6axzmz8hl05xv2k3cv"; depends=[httr tibble]; };
   magicaxis = derive2 { name="magicaxis"; version="2.0.3"; sha256="08nkf9k2ijlm52ybncfiwrghy911wpvwpvdvllcz2d4slk1vdakj"; depends=[celestial mapproj MASS plotrix sm]; };
   magicfor = derive2 { name="magicfor"; version="0.1.0"; sha256="07l33fczr1x42sfxrsqq4q6r65sdflin6l8f5cgclnvx1858jdip"; depends=[]; };
-  magick = derive2 { name="magick"; version="1.6"; sha256="1xkhg4g7n5g0ri852nbdb19lnqfl16g1w08qpn5riy6fah2vrhd1"; depends=[curl knitr magrittr Rcpp]; };
+  magick = derive2 { name="magick"; version="1.8"; sha256="0qi86fhqaxad9bbigfv1czxhxqi3x49376pyhfkw7lc7r2fxkx6y"; depends=[curl knitr magrittr Rcpp]; };
   magree = derive2 { name="magree"; version="1.0"; sha256="1qkd6p5g3aigcb0f4d08gc5323alvahzmazm3bzsmz1w033xd1hh"; depends=[]; };
   magrittr = derive2 { name="magrittr"; version="1.5"; sha256="1s1ar6rag8m277qcqmdp02gn4awn9bdj9ax0r8s32i59mm1mki05"; depends=[]; };
   mail = derive2 { name="mail"; version="1.0"; sha256="1m89cvw5ba4d87kp2dj3f8bvd6sgj9k56prqmw761q919xwprgw6"; depends=[]; };
   mailR = derive2 { name="mailR"; version="0.4.1"; sha256="1bfh3fxdqx9f9y3fgklxyslpcvhr9gcj7wsamaxzgrcsaxm8fdlw"; depends=[R_utils rJava stringr]; };
   makeFlow = derive2 { name="makeFlow"; version="1.0.2"; sha256="0r7a0klgx144rnks0fhjflnf8vfyyx2544n86nnxkp6cdvw0b4pw"; depends=[dplyr RColorBrewer]; };
   makeProject = derive2 { name="makeProject"; version="1.0"; sha256="09q8xa5j4s5spgzzr3y06l3xis93lqxlx0q66s2nczrhd8nrz3ca"; depends=[]; };
-  makedummies = derive2 { name="makedummies"; version="1.0"; sha256="1kyx0n620pnaaxi136f81kr55v94zlw2bikrky1sq9bhrvdlf7yh"; depends=[]; };
+  makedummies = derive2 { name="makedummies"; version="1.1"; sha256="1qpkghlgkzpzai290kidkmwhn4aj0balb17rs2l5amsml942lq0a"; depends=[]; };
   malani = derive2 { name="malani"; version="1.0"; sha256="1jps28gfkiysr356ackxf1my5xz6rpx3a2bv68pziy2614hrqbs9"; depends=[e1071]; };
+  malariaAtlas = derive2 { name="malariaAtlas"; version="0.0.1"; sha256="1c1bvfs1azvlci2yrgw5xlr460fdjwikm3vsdfz8lj1xzs1w220c"; depends=[curl dplyr ggplot2 gridExtra httr raster rgdal sp stringi tidyr xml2]; };
   mallet = derive2 { name="mallet"; version="1.0"; sha256="06rksf5nvxp4sizgya7h4sb6fgw3yz212a01dqmc9p5a5wqi76x0"; depends=[rJava]; };
   managelocalrepo = derive2 { name="managelocalrepo"; version="0.1.5"; sha256="180b7ikas1kb7phm4l2z1d8wi45wi0qyz2c8rl8ml3f71b4mlzgc"; depends=[assertthat stringr]; };
   mandelbrot = derive2 { name="mandelbrot"; version="0.2.0"; sha256="04a288jj8h1a04r584a02wg9dm3c6zifhqwj964ybsvgb4m6g99s"; depends=[reshape2]; };
@@ -7959,19 +8165,19 @@ in with self; {
   manhattanly = derive2 { name="manhattanly"; version="0.2.0"; sha256="185fkakx4v35n4gmlpk2kfm2bm8p320q4khkw936m09zx3aqz398"; depends=[ggplot2 magrittr plotly]; };
   manifestoR = derive2 { name="manifestoR"; version="1.2.4"; sha256="1hd4qsa2xsa1dq5jnwh1bph34glkpaabjmsnavdjhkfzjilp32ya"; depends=[base64enc dplyr functional httr jsonlite magrittr NLP psych tibble tm zoo]; };
   manipulate = derive2 { name="manipulate"; version="1.0.1"; sha256="1klknqdfppi5lf6zbda3r2aqzsghabcsaxmvd3vw3cy3aa984zky"; depends=[]; };
-  manipulateWidget = derive2 { name="manipulateWidget"; version="0.8.0"; sha256="19vcf3q2q8r53dygc8kh7pbcbjs9q6knylz2jnc9pwxq3wdkbrp7"; depends=[base64enc codetools htmltools htmlwidgets knitr miniUI shiny]; };
+  manipulateWidget = derive2 { name="manipulateWidget"; version="0.9.0"; sha256="18zk1f3dk63crpfpljafakdvfvd0494kbws0dwahwfr60avvvx2v"; depends=[base64enc codetools htmltools htmlwidgets knitr miniUI shiny]; };
   mapReasy = derive2 { name="mapReasy"; version="1.0"; sha256="13va0z967ckwxnnianki5aj66km0x6r37nj4mz9qd3b0bps4g2kj"; depends=[Hmisc rgdal sp]; };
   mapStats = derive2 { name="mapStats"; version="2.4"; sha256="18pp1sb9p4p300ffvmzjrg5bv1i7f78mhpggq83myc26c3a593na"; depends=[classInt colorspace Hmisc lattice maptools RColorBrewer reshape2 sp survey]; };
-  mapdata = derive2 { name="mapdata"; version="2.2-6"; sha256="0k3hsnyvax20jph384gca10rl7a9fcglgkqcjsc5hndx3qrwpanv"; depends=[maps]; };
-  mapedit = derive2 { name="mapedit"; version="0.3.2"; sha256="0x1jyll45kx1q3bq3visyq75jvinhw3h0yy1n1rams61vvxrqfxk"; depends=[dplyr htmltools htmlwidgets jsonlite leaflet leaflet_extras mapview miniUI sf shiny]; };
+  mapdata = derive2 { name="mapdata"; version="2.3.0"; sha256="0xnxh73rgcq55zrw81a2bq8yd67bxc2rafp4shf6nyrqj04iip0y"; depends=[maps]; };
+  mapedit = derive2 { name="mapedit"; version="0.4.1"; sha256="1dy87kmwra917716r99hp139fbxy3z0cx03cw61b832isizd0b51"; depends=[dplyr htmltools htmlwidgets jsonlite leaflet leaflet_extras mapview miniUI sf shiny]; };
   mapfit = derive2 { name="mapfit"; version="0.9.7"; sha256="16a318bz3my27qj0xzf40g0q4bh9alg2bm6c8jbwgswf1paq1xmx"; depends=[Matrix]; };
   mapfuser = derive2 { name="mapfuser"; version="0.1.2"; sha256="1q7l6rfs6dv76ifizfqq4pdpjpb2zwzd3vvrnhdzh8vw2mrlqcjg"; depends=[doParallel dplyr foreach ggplot2 igraph lazyeval LPmerge mgcv plotly stringi tidyr visNetwork]; };
-  mapmisc = derive2 { name="mapmisc"; version="1.7.0"; sha256="0m8a0zzdrmqkkv9clfar9acij80fmanqny08g9xlir14620aq38c"; depends=[raster sp]; };
+  mapmisc = derive2 { name="mapmisc"; version="1.7.2"; sha256="0w0yvdnxk6gjcc86b6imq764va9f9hjan3ayw7qrbjpqx16fs7dx"; depends=[raster sp]; };
   mapplots = derive2 { name="mapplots"; version="1.5"; sha256="09sk78a0p8hlwhk3w2dwvpb0a6p7fqdxyskvz32p1lcav7y3jfrb"; depends=[]; };
-  mapproj = derive2 { name="mapproj"; version="1.2-5"; sha256="0rjz37r4rizk2c6jaf54f0kfb60dqv6b262cnhiwjl55d4x6l0pk"; depends=[maps]; };
-  mapr = derive2 { name="mapr"; version="0.3.4"; sha256="14f7zfzxb1h935bbybj2l2n4a62cnq0wvgmc09in0fvnl75jl971"; depends=[ggplot2 gistr jsonlite leaflet RColorBrewer rworldmap sp spocc]; };
-  maps = derive2 { name="maps"; version="3.2.0"; sha256="0577f3b5d3a7djl7r0miy9mzr6xq6jb32p8nyrma7m2azasbwyj3"; depends=[]; };
-  mapsapi = derive2 { name="mapsapi"; version="0.3.0"; sha256="070dckm5dkicmwkpji4zvap9h9rl3n3l7fxhz2ryslblbrzx70fn"; depends=[bitops magrittr plyr sf xml2]; };
+  mapproj = derive2 { name="mapproj"; version="1.2.6"; sha256="1rggww8cbwv0vzlj5afzhbsbngg4bzj5znbkz7wmxsbshfbsm9b2"; depends=[maps]; };
+  mapr = derive2 { name="mapr"; version="0.4.0"; sha256="169ah9v7cpw3hmaj6n575gi1zwazf4vh59n46zghb1x68nc2gqs0"; depends=[data_table ggplot2 gistr jsonlite leaflet RColorBrewer rworldmap sp spocc]; };
+  maps = derive2 { name="maps"; version="3.3.0"; sha256="05i2ppl5z4p8rawgqmy3z4ia05fcblpq1vvrmrkgkkpdlhczx6hr"; depends=[]; };
+  mapsapi = derive2 { name="mapsapi"; version="0.3.5"; sha256="0v33kkny98xql6m6rp2xh39rsp00r1crpin8gqw5wh5x28n20sna"; depends=[bitops magrittr plyr sf xml2]; };
   maptools = derive2 { name="maptools"; version="0.9-2"; sha256="075lmb3b62171cw2dg8fv1vwmvfzg39r1ji7jwb8s5k9dz88ry1v"; depends=[foreign lattice sp]; };
   maptpx = derive2 { name="maptpx"; version="1.9-2"; sha256="1i5djmjg0lsi7xlkbvn90njq1lbyi74zwc2nldisay4xsbgqg7fj"; depends=[slam]; };
   maptree = derive2 { name="maptree"; version="1.4-7"; sha256="1k7v84wvy6wz6g0dyiwvd3lvf78rlfidk60ll4fz7chvr2nrqdp4"; depends=[cluster rpart]; };
@@ -7980,23 +8186,22 @@ in with self; {
   march = derive2 { name="march"; version="1.4"; sha256="1wfhm33k2j5yim56sg0wd02ypfhlp9fc138vmdsdjp6nh4y23hnj"; depends=[]; };
   marcher = derive2 { name="marcher"; version="0.0-2"; sha256="0hcxbfrwniih4kvx5sxhlffz1pc87kf52v8hvaf193rhhdykis5q"; depends=[magrittr Matrix minpack_lm mvtnorm numDeriv plyr RColorBrewer scales zoo]; };
   marelac = derive2 { name="marelac"; version="2.1.6"; sha256="024gbrdby6h722j58wl8xn8027sanlpnz1l3hhxnllwzbz3mbdz4"; depends=[seacarb shape]; };
-  marg = derive2 { name="marg"; version="1.2-2"; sha256="0j08zzcrj8nqsargi6xi50gy9pl4smmsp4b7ywlga7r1ga38g82r"; depends=[statmod survival]; };
+  marg = derive2 { name="marg"; version="1.2-2.1"; sha256="1r6rl7dhvm8dghm7pm4hfw3924qja65hczl6d47v9ixnv4rxyzr9"; depends=[statmod survival]; };
   margins = derive2 { name="margins"; version="0.3.0"; sha256="0i6c39acyyvxsx2lkza2afjyhpdlb9fx0zssr24g0xdk3f7c2dc2"; depends=[MASS prediction]; };
   marima = derive2 { name="marima"; version="2.2"; sha256="03nvh93r4052li84yjqzc106gwh1542q9s192s980gs6sgy8scm6"; depends=[]; };
   marinespeed = derive2 { name="marinespeed"; version="0.1.0"; sha256="1r9bpggb88px8149dsga3xmkjhjq6ybs6a5kp60qz28iyr183mar"; depends=[bit geosphere sp]; };
   markdown = derive2 { name="markdown"; version="0.8"; sha256="1vcgsh2m2f5kfgappgg71nbf04ff0j1sbk668krjs3r2n89dk3sk"; depends=[mime]; };
-  marked = derive2 { name="marked"; version="1.1.13"; sha256="0zgfd7fdcrvvqnlgzarly16zjnipshxsa1g3j9jqc5kbqvh7fnh2"; depends=[coda expm lme4 Matrix numDeriv optimx R2admb Rcpp TMB truncnorm]; };
+  marked = derive2 { name="marked"; version="1.2.1"; sha256="138m1clidyhahpz111iblff2w44m8zp0302vcj46frk1c60c46qi"; depends=[coda expm lme4 Matrix numDeriv optimx R2admb Rcpp TMB truncnorm]; };
   markmyassignment = derive2 { name="markmyassignment"; version="0.8.1"; sha256="1y388s73b1zs482d1d7z40kg4hizp46lc3279xspm2ryx4m49mzj"; depends=[checkmate codetools httr lazyeval rlang testthat yaml]; };
   markophylo = derive2 { name="markophylo"; version="1.0.6"; sha256="1gyj3ykwh4ljrb5s80hihy7wl89y3p4xkckspvv4ynl9lnsbm7cs"; depends=[ape numDeriv phangorn Rcpp RcppArmadillo]; };
   markovchain = derive2 { name="markovchain"; version="0.6.9.8-1"; sha256="1av89829fwnf2bll7b75v2vrglw4130d5c42c3i1fiqh54jxjy7k"; depends=[expm igraph matlab Matrix Rcpp RcppArmadillo RcppParallel]; };
   marl = derive2 { name="marl"; version="1.0"; sha256="0rndnf3rbcibv3gsrw1kfp5zhg37cw9wwlz0b7dbwprd0m71l3pm"; depends=[]; };
-  marmap = derive2 { name="marmap"; version="0.9.6"; sha256="1b0mpygk18ri0xs9f56j2g7zmka7krnw7fmh9m9xisbvq2g23g92"; depends=[adehabitatMA DBI gdistance geosphere ggplot2 ncdf4 plotrix raster reshape2 RSQLite shape sp]; };
+  marmap = derive2 { name="marmap"; version="1.0"; sha256="187zqmpdd4kl5dviphfzdhjlaa9bss1gx4wxxc8zgn4q1g66f4c2"; depends=[adehabitatMA DBI gdistance geosphere ggplot2 ncdf4 plotrix raster reshape2 RSQLite shape sp]; };
   marqLevAlg = derive2 { name="marqLevAlg"; version="1.1"; sha256="1wmqi68g0flrlmj87vwgvyxap0miss0n42qiiw7ypyj4jw9kwm8j"; depends=[]; };
   mason = derive2 { name="mason"; version="0.2.5"; sha256="1v2gja8kbwzx5c8y8gchh4rwwprv99ad0nhgb0hnfgjnqsbdmdv7"; depends=[assertive broom dplyr lazyeval magrittr tidyr]; };
-  matR = derive2 { name="matR"; version="0.9"; sha256="0lih3g2z6rxykprl3s529xcf466bpzpsv4l20dkgx1fgfslfcl2p"; depends=[BIOM_utils MGRASTer]; };
   matchMulti = derive2 { name="matchMulti"; version="1.1.6"; sha256="05nkrncrf7vq2bmqbhm9n6p6cyb4drbhjrrfdcw6qcdgvh3bbiy0"; depends=[coin Hmisc MASS mvtnorm plyr rcbsubset weights]; };
   matchbook = derive2 { name="matchbook"; version="1.0.7"; sha256="0xfqg8z2zkn215kqmjjkqdwrgsk7cn4jdpxfgd6razhcbvflg48j"; depends=[]; };
-  matchingMarkets = derive2 { name="matchingMarkets"; version="0.3-4"; sha256="1qp876xnqrr4rz9a8xc0hw3rzfhjw9nl4qmzcrr9r03xj2dn9i1p"; depends=[lattice lpSolve partitions Rcpp RcppArmadillo RcppProgress rJava]; };
+  matchingMarkets = derive2 { name="matchingMarkets"; version="0.3-5"; sha256="083gnqjxvzgqd0lvg13qwzw3cp1imp4xn2nacspfxqg4878jjpn3"; depends=[lattice lpSolve partitions Rcpp RcppArmadillo RcppProgress rJava]; };
   matchingR = derive2 { name="matchingR"; version="1.3.0"; sha256="1rpw5a52alh5diiqr7f87vhpgp3w3f8lg8wkaqvr5idid9fkll1i"; depends=[Rcpp RcppArmadillo]; };
   matconv = derive2 { name="matconv"; version="0.3.2"; sha256="0vnmqz5vzv5n0cfpgr30gkl0pv8p2b5cp3ap6mn01sxd671lx38z"; depends=[]; };
   mateable = derive2 { name="mateable"; version="0.3.1"; sha256="1ka9xxicibpfg6k3njq5f5576jwj734r1mb46a2cmiyq676ks7pp"; depends=[FNN Rcpp sn]; };
@@ -8005,16 +8210,18 @@ in with self; {
   matie = derive2 { name="matie"; version="1.2"; sha256="1ymx49cyvz63imqw5n48grilphiqvvdirwsrv82p7jgxdyav2xv0"; depends=[cba dfoptim gplots igraph mvtnorm seriation]; };
   matlab = derive2 { name="matlab"; version="1.0.2"; sha256="0m21k2vzbc5d3c93p2hk4208xyd2av2slg55q5j1ibjidiryqgd2"; depends=[]; };
   matlabr = derive2 { name="matlabr"; version="1.5.0"; sha256="0gy639fv0b85h4z96b2b3m635q4w62q63kfxfqny3pwr0r5vsc2p"; depends=[stringr]; };
-  matlib = derive2 { name="matlib"; version="0.8.1"; sha256="080mbmr1lb5ha5ql40hv0idcnnbyaai46c42z756kdyq9pdzcabf"; depends=[car rgl]; };
+  matlib = derive2 { name="matlib"; version="0.9.1"; sha256="03991ckrfk663pdi9q2a4sms9csr1dkr075dsycqggr96yp1cwh8"; depends=[car MASS rgl xtable]; };
   matpow = derive2 { name="matpow"; version="0.1.1"; sha256="1a6q21ba16qfdpykmjwgmrb1kkvvyx48qg8cbgpdmch0vhibcgcp"; depends=[]; };
   matrixLaplacian = derive2 { name="matrixLaplacian"; version="1.0"; sha256="1ixqdv3sz3sc79wn3vqhlq79j7x7cvl878m5hgvbcg6klfvlmmci"; depends=[scatterplot3d]; };
   matrixStats = derive2 { name="matrixStats"; version="0.53.1"; sha256="0bkiz5fm09d3512mfr2ymj9qsb1b8aic5l5m6fkaf5j7nsgvqw6z"; depends=[]; };
+  matrixTests = derive2 { name="matrixTests"; version="0.1.0"; sha256="0784wfp14z7lh6ylzgh9kvzs5gwapfs7ksx63jf3qwb95zfwyixx"; depends=[matrixStats]; };
   matrixcalc = derive2 { name="matrixcalc"; version="1.0-3"; sha256="1c4w9dhi5w98qj1wwh9bbpnfk39rhiwjbanalr8bi5nmxkpcmrhp"; depends=[]; };
   matrixpls = derive2 { name="matrixpls"; version="1.0.5"; sha256="04sshb88rq2mp3y4rrs6nkzr4kc380vx380r911c7j975l55a183"; depends=[assertive lavaan MASS matrixcalc psych]; };
-  matrixsampling = derive2 { name="matrixsampling"; version="1.0.0"; sha256="0bjqdf19alzv33d9b037y135hqfp9n6z35m9j7j95h27gpna5wbc"; depends=[keep]; };
+  matrixsampling = derive2 { name="matrixsampling"; version="1.1.0"; sha256="1q0vcail34iwxc0wnwg2nw9n710fsjg5lgil5hib74vwrww1x1h7"; depends=[keep]; };
   mau = derive2 { name="mau"; version="0.1.2"; sha256="1wgiai8f1kbjh9hfwv4m0kavd44ib5xb33p8m16zpawnw14m7sj5"; depends=[data_table ggplot2 gtools igraph RColorBrewer Rdpack stringr]; };
   maxLik = derive2 { name="maxLik"; version="1.3-4"; sha256="0jjb5kc7dvx940ybg7b7z9di79v75zm2xlb0kj2y7rmi45vvh6hq"; depends=[miscTools sandwich]; };
   maxTPR = derive2 { name="maxTPR"; version="0.1.0"; sha256="13x5rz0mfha5pzahkk4x67ncz9v77sa690cyl6wigwsldsrvzr3h"; depends=[aucm Rsolnp]; };
+  maxadjAUC = derive2 { name="maxadjAUC"; version="0.1.0"; sha256="04zdaqmavhhrj63s2k5pqncvlzbfnxan7r0fagfka9dypwwcl5qm"; depends=[aucm Hmisc Rsolnp survival]; };
   maxent = derive2 { name="maxent"; version="1.3.3.1"; sha256="1skc7d0p6kg0gi1bpgaqn2dmxjzbvcphx5x3idpscxfbplm5v96p"; depends=[Rcpp SparseM tm]; };
   maxlike = derive2 { name="maxlike"; version="0.1-7"; sha256="0gi33hcjj456sjw7l3q4n46k4cb6m3ml3ycd93pnajxacl24swbb"; depends=[raster]; };
   maxmatching = derive2 { name="maxmatching"; version="0.1.0"; sha256="1xbwrhmr8gzvlcprib7nzvqrcd355bhx7wkqxrvfk4g7dvskf9ka"; depends=[igraph]; };
@@ -8039,21 +8246,22 @@ in with self; {
   mcPAFit = derive2 { name="mcPAFit"; version="0.1.4"; sha256="1h5kiry8bvdrgyqf7cqsag0b7rscwc7phayzf6h4css1667bvm0g"; depends=[PAFit RColorBrewer Rcpp]; };
   mcbiopi = derive2 { name="mcbiopi"; version="1.1.2"; sha256="12h4bv3hx1m6bsqdxj5n3b5gh98ms508am8pigz7ckmv0xkyhx85"; depends=[]; };
   mcc = derive2 { name="mcc"; version="1.0"; sha256="0p661a870bvh3xhcahqqq85azn9rjl3vacjy96jsdn86irj4s0vi"; depends=[]; };
-  mcca = derive2 { name="mcca"; version="0.2.0"; sha256="01c7dp9m8vqffhq0ixsqcfw40jsmb6dwiblym31h84f9s0x4f00j"; depends=[e1071 MASS nnet pROC rpart]; };
+  mcca = derive2 { name="mcca"; version="0.3.0"; sha256="0fmlqk4q2vy7gzxhvb9249f1644jlvy755cpda8kvwp9qk55bp4p"; depends=[caret e1071 MASS nnet pROC rpart]; };
   mcclust = derive2 { name="mcclust"; version="1.0"; sha256="00qprmsjwbn2d0jl7p9mz8pv7k8ld3mzk862pr1grigk0lqwhx06"; depends=[lpSolve]; };
   mccr = derive2 { name="mccr"; version="0.4.4"; sha256="1scqds1yx317qmjappy2h1m564dcmsqqfpdm8pm3plalag16xrhj"; depends=[]; };
   mcemGLM = derive2 { name="mcemGLM"; version="1.1"; sha256="07ky3bvcns24qia9pyvf5lp7764h8gn2g8zr304iz4x9bq6jvsi0"; depends=[Rcpp RcppArmadillo trust]; };
   mcga = derive2 { name="mcga"; version="3.0.1"; sha256="0q0nn881lii8wfw28k8jh9z0kbi5ljcwi2wpq460k2w3agsjzw5n"; depends=[GA Rcpp]; };
   mcgibbsit = derive2 { name="mcgibbsit"; version="1.1.0"; sha256="09ydcbjz3abmh46966v01dh26fy79dfklk3zjf262zp3c62ld9yf"; depends=[coda]; };
-  mcglm = derive2 { name="mcglm"; version="0.3.0"; sha256="1q2zc0xn4inp9inadb52yc0svbh581qxxjzc08pgrm9l3xms4a14"; depends=[assertthat Matrix]; };
+  mcglm = derive2 { name="mcglm"; version="0.4.0"; sha256="0k5zkdq3c4fvyhk0lfwikmrxcrd2hg3s820l8rswz7xhl645zr5a"; depends=[assertthat Matrix]; };
   mcheatmaps = derive2 { name="mcheatmaps"; version="1.0.0"; sha256="1gglm32xpmim38m7fziczgqfbpcq2899lxardsrzg6j1vhmf765y"; depends=[gridBase]; };
-  mclcar = derive2 { name="mclcar"; version="0.1-8"; sha256="1hrjfjbsxh8g6bw2cfxciry8hn9xxfg4bww5p1sjq98v8bsqcx23"; depends=[fields maxLik nleqslv rsm spam spdep]; };
+  mclcar = derive2 { name="mclcar"; version="0.1-9"; sha256="0bwnivmajsrvmwskhk44qhz4nnc0irxq83g0kzbj4wshhivnwryp"; depends=[fields maxLik nleqslv rsm spam spdep]; };
   mcll = derive2 { name="mcll"; version="1.2"; sha256="0i9zqbh0l9a9mv4558gbdq9mh52chanykyfwmiymmxygxhp809sz"; depends=[locfit statmod]; };
   mclogit = derive2 { name="mclogit"; version="0.5.1"; sha256="1qnkkjq7gxivpz3mmbq5dx9a128r3xhrdzx96kc80h3w67yc7hbl"; depends=[Matrix memisc]; };
   mclust = derive2 { name="mclust"; version="5.4"; sha256="1i3v1q8qq0al3ifvjhcvxfsg68cx9mq8jz67jwmiqai78mw0aqvk"; depends=[]; };
-  mclustcomp = derive2 { name="mclustcomp"; version="0.2.0"; sha256="0ijsy1p80bqbknw9did3dqa90ck7zd0xplvw870578h4x5q30qdp"; depends=[Rcpp RcppArmadillo]; };
+  mclustcomp = derive2 { name="mclustcomp"; version="0.3.0"; sha256="02j87p2z9z3b8kxnvnm1syjpv6axcs09fs3mnrl1n2q6jyc4gwsr"; depends=[Rcpp RcppArmadillo Rdpack]; };
   mcmc = derive2 { name="mcmc"; version="0.9-5"; sha256="1i3rahph8pbhi5dsyjnkazqklg4lhh3azlyvx4kvabx50q0awxn6"; depends=[]; };
   mcmcplots = derive2 { name="mcmcplots"; version="0.4.2"; sha256="0ws2la6ln016l98c1rzf137jzhzx82l4c49p19yihrmrpfrhr26l"; depends=[coda colorspace denstrip sfsmisc]; };
+  mcmcr = derive2 { name="mcmcr"; version="0.0.1"; sha256="0g64df8v6snbcmk0kynfppq1mqaz9z8apfsm1zn3ch5q2afg0kqy"; depends=[abind checkr coda tibble]; };
   mcmcse = derive2 { name="mcmcse"; version="1.3-2"; sha256="0yz0zhqhsxxg1b0cf15ijxfj4q8csjng18bmq45anabllq16ymkj"; depends=[ellipse Rcpp RcppArmadillo]; };
   mco = derive2 { name="mco"; version="1.0-15.1"; sha256="14y10zprpiflqsv5c979fsc2brgxay69kcwm7y7s3gziq74fn4rw"; depends=[]; };
   mcompanion = derive2 { name="mcompanion"; version="0.4-5"; sha256="18l29cbggf5mdab8vdzmbsnc0p77llaq3ylp07a7gsq44bys8zq0"; depends=[gbutils MASS Matrix Rdpack]; };
@@ -8061,7 +8269,7 @@ in with self; {
   mcprofile = derive2 { name="mcprofile"; version="0.2-3"; sha256="0rakaa1p6z0p4jl4df357vi58wzph81ik6plc8zzl370r8mj1y8q"; depends=[ggplot2 mvtnorm quadprog]; };
   mcr = derive2 { name="mcr"; version="1.2.1"; sha256="0237w41xichd418ax9xviq4wxbcc6c0cgr5gvzkca67nnqgc4jaz"; depends=[]; };
   mcsm = derive2 { name="mcsm"; version="1.0"; sha256="13sx7s3ywis5n4a70ld2szld9fb8jkfsc82dy6iskhy17vy8pml0"; depends=[coda MASS]; };
-  mctest = derive2 { name="mctest"; version="1.1.1"; sha256="048xpn14pjpc2s5fjdbni8z4pahnkq753zvibs2p8wiqzynnqib8"; depends=[]; };
+  mctest = derive2 { name="mctest"; version="1.2"; sha256="0rsyqdfsmyvjgns7z2vj24n91ziaz45q4vidk48ay3acfam8i274"; depends=[]; };
   md = derive2 { name="md"; version="1.0.4"; sha256="13z8f3p84kivk6j58fb1qpzrmml41mq9pgv9nv2gvxrhyhanzi46"; depends=[]; };
   md_log = derive2 { name="md.log"; version="0.1.1"; sha256="0ix5nz38xzlhrga40hfhlfss938mrfbni2wysvz2qbpm59qxrhg0"; depends=[futile_logger]; };
   mda = derive2 { name="mda"; version="0.4-10"; sha256="19g6kn6g0shidrjfffklbmzc5w7mcimrxhagx4nmpslg59ibqdkh"; depends=[class]; };
@@ -8071,7 +8279,7 @@ in with self; {
   mdhglm = derive2 { name="mdhglm"; version="1.6"; sha256="1lvckais4c3pbf6zrpfkdlyqhcg4jaw11n00622h9ks413fl788v"; depends=[boot Matrix mvtnorm numDeriv]; };
   mdmb = derive2 { name="mdmb"; version="0.6-17"; sha256="1ydvfjqid7bsgryr8j77ajmh2q40s3gh67n8027f70pa8amr9fnq"; depends=[CDM coda MASS miceadds sirt TAM]; };
   mdpeer = derive2 { name="mdpeer"; version="1.0.1"; sha256="1vsqhah8h47s8k687fwa352549mdz16mwk1g7rcmhx75c2k85w2q"; depends=[boot ggplot2 glmnet magic nlme nloptr psych reshape2 rootSolve]; };
-  mdsOpt = derive2 { name="mdsOpt"; version="0.2-2"; sha256="1wg0f2a3z5pdiw8lljfrifn7lf00rza8rmrdh61dmna2nkrg9j4g"; depends=[clusterSim smacof symbolicDA]; };
+  mdsOpt = derive2 { name="mdsOpt"; version="0.3-1"; sha256="0fyzmbaqnj42nhl32cj1kycrqkfx2qvb5vpi0qj98fi6iwsa4psq"; depends=[animation clusterSim plotrix smacof smds spdep symbolicDA]; };
   mdscore = derive2 { name="mdscore"; version="0.1-3"; sha256="10cl5r6kd9chdik5v0q91x40xpw2cjvvyi220z4bvngpb0989x8j"; depends=[MASS]; };
   mdsdt = derive2 { name="mdsdt"; version="1.2"; sha256="0nbzc54jac4wmfyrs821ycxh749cb1zfxcws0nbpk35rydqkc627"; depends=[ellipse mnormt polycor]; };
   mdsr = derive2 { name="mdsr"; version="0.1.5"; sha256="0b80l478v68w91vsmvvyvnmk0yasybmm013psy4181lhvxc93kma"; depends=[babynames DBI dbplyr downloader dplyr ggplot2 mosaic RMySQL tidyverse]; };
@@ -8079,8 +8287,8 @@ in with self; {
   meaRtools = derive2 { name="meaRtools"; version="1.0.2"; sha256="1xxw0aq4k5z4i3ndja1rxl9calb8hmp4jv9l79zm33vdlggpkxzg"; depends=[emdist ggplot2 gridExtra gtools lattice plyr Rcpp reshape2]; };
   meanShiftR = derive2 { name="meanShiftR"; version="0.51"; sha256="0qcciayriygfwkb15n863amcpcfl97fr1sarwm3d269idf5m7w6x"; depends=[]; };
   meanr = derive2 { name="meanr"; version="0.1-1"; sha256="080x21jnbsl6qlrgv12p9qd332ciph3lh18fgs9jagfyygf4f9hg"; depends=[]; };
-  measuRing = derive2 { name="measuRing"; version="0.4.2"; sha256="07asz2kninbmj9vci2w20a7cfbwfa1srvmb2dlzccdivjmrd5wnq"; depends=[dplR pastecs png tiff]; };
-  measurements = derive2 { name="measurements"; version="1.1.0"; sha256="1zi6mpwyxycbphq48s7vfc8gm76nidpa2gafp0jxiv56rwpv3jc3"; depends=[]; };
+  measuRing = derive2 { name="measuRing"; version="0.5"; sha256="0yblqkv5444y75jkb6d0zs728i6vybm294h7b5622pwfjqlfhnh2"; depends=[dplR pastecs png tiff]; };
+  measurements = derive2 { name="measurements"; version="1.2.0"; sha256="1k47xmydgd9lhc6phr40zphnibiq817f5nf8619ibla2pridjn1l"; depends=[]; };
   meboot = derive2 { name="meboot"; version="1.4-7"; sha256="1i0h71aj49hyj889447s611gz668ys7xlr1i82b5nvaf6chfbfin"; depends=[dynlm nlme]; };
   mederrRank = derive2 { name="mederrRank"; version="0.0.8"; sha256="1fvvik3bhjm6c0mhi2ma915986k2nj3lr2839k5hfrr7dg3lw3f4"; depends=[BB numDeriv]; };
   medfate = derive2 { name="medfate"; version="0.2.2"; sha256="1vw9j04063sjwyfdkk94xsgz5zps7vmqha6dbsvi8ncb951cfijp"; depends=[meteoland Rcpp sp spdep]; };
@@ -8089,28 +8297,29 @@ in with self; {
   medicalrisk = derive2 { name="medicalrisk"; version="1.2"; sha256="1zdxv3rj7768kbyxfvr9n0hp4z7y0sf3r7ssqv731hjjp656l6xp"; depends=[hash plyr reshape2]; };
   medicare = derive2 { name="medicare"; version="0.2.1"; sha256="00a1gml2khzisdavnaip6ap4bw45b17nbl9cqb1mqrm4y0p9gm16"; depends=[]; };
   medmod = derive2 { name="medmod"; version="1.0.0"; sha256="1f7bzdcjnbz9izlfblxcaa85qxx8kzn62qgjd3qlb7jl7mdy5q54"; depends=[ggplot2 jmvcore lavaan R6]; };
+  meetupapi = derive2 { name="meetupapi"; version="0.1.0"; sha256="1iaxpfzgn478np9cjwz0zalfy1p7jwabnwpfv31svw052i8bs9yl"; depends=[dplyr httr magrittr purrr]; };
   mefa = derive2 { name="mefa"; version="3.2-7"; sha256="1qrf6d3y38q7yy6bg3bxg7514d9paz1f8y6sr7lbksi30qn92fmj"; depends=[]; };
-  mefa4 = derive2 { name="mefa4"; version="0.3-4"; sha256="11zg30i2fkxdv8fn7jilbmm7k5g0ls8f91bpq6qiwiagwg8gj2lh"; depends=[Matrix pbapply]; };
+  mefa4 = derive2 { name="mefa4"; version="0.3-5"; sha256="19khmc7jxwlvjyr5gpmmz4pv60xzgjw3npx1iqv1ayx8ghpsmaj0"; depends=[Matrix pbapply]; };
   meifly = derive2 { name="meifly"; version="0.3"; sha256="1x3lhy7fmasss0rq60z5qp74ni32sahw62s8cnp2j431sp95pczc"; depends=[leaps MASS plyr]; };
   mekko = derive2 { name="mekko"; version="0.1.0"; sha256="09y50k4r4mnx351a5zhkqg9s2xyl3d149dhmfy2z6hzm5yg2ajyi"; depends=[ggplot2]; };
-  meltt = derive2 { name="meltt"; version="0.3.3"; sha256="08qifdpk0c9digpayw1d9h2p9q4nyrlihg8kjqacirb5wh39wr6r"; depends=[ggmap ggplot2 plotGoogleMaps plyr reticulate scales sp]; };
+  meltt = derive2 { name="meltt"; version="0.4.0"; sha256="0m0r7in1s8vq2pvq7pxgwjfhqds8pwhcrn5hy0wa126s1y88v34x"; depends=[dplyr ggplot2 leaflet plyr Rcpp RcppArmadillo reticulate shiny shinyjs tibble tidyr]; };
   melviewr = derive2 { name="melviewr"; version="0.0.1"; sha256="19syc3d6zc0hmcjjdj7ibrdqxcdlh95ny970f3ska453qh1898b2"; depends=[cairoDevice gtools gWidgets gWidgetsRGtk2 jsonlite RColorBrewer RGtk2 RNifti]; };
-  mem = derive2 { name="mem"; version="2.11"; sha256="1m0s587flc0psafm1fp1dsi7g4l03plhyzx2x74axihzyh2b5dbb"; depends=[boot mixtools RColorBrewer reshape2 sm stringr]; };
-  memapp = derive2 { name="memapp"; version="2.7"; sha256="14njpab2bsrpzpdhf45ckjq6fpscwr27xixw151m670wr8r01a6w"; depends=[dplyr DT formattable ggplot2 ggthemes magrittr mem openxlsx plotly RColorBrewer readxl RODBC shiny shinyBS shinydashboard shinyjs shinythemes stringi stringr tidyr]; };
-  meme = derive2 { name="meme"; version="0.1.1"; sha256="102z3zgfldggcykb7wlmw0wbdas6jbpvy2kfdps0wky3j552ir95"; depends=[ggplot2 magick showtext sysfonts]; };
+  mem = derive2 { name="mem"; version="2.12"; sha256="0075i2mbkck06bljck44d26ys68p8vjfb1jhgzrjy1sv2g2w0qa8"; depends=[boot dplyr ggplot2 mclust RColorBrewer reshape2 sm stringr tidyr]; };
+  memapp = derive2 { name="memapp"; version="2.9"; sha256="1g53c90yvh34jisbcy5nvch7yyi7yxx7sg32492rk97h6hr2j8qv"; depends=[dplyr DT formattable ggplot2 ggthemes magrittr mem openxlsx plotly RColorBrewer readxl RODBC shiny shinyBS shinydashboard shinyjs shinythemes stringi stringr tidyr]; };
+  meme = derive2 { name="meme"; version="0.2.0"; sha256="17zpnspc90nlga3iyl4ahasr70mnrhzja4pz7zhmjddhzjs8x3sz"; depends=[ggplot2 magick showtext sysfonts]; };
   memery = derive2 { name="memery"; version="0.4.2"; sha256="0wfp3hf567a1q6mhrsgn4hr8x52yp4na8783f2d19hm0c3r4z51q"; depends=[Cairo colourpicker cowplot ggplot2 jpeg magrittr png purrr shiny shinyBS shinycssloaders showtext sysfonts]; };
   memgene = derive2 { name="memgene"; version="1.0"; sha256="00b1mi2hvzzps542mh2p96s27kjqkpcic7djklfcwnfn1m4bz0i5"; depends=[ade4 gdistance raster vegan]; };
   memisc = derive2 { name="memisc"; version="0.99.14.9"; sha256="1gh6shm9nwfjwfi5f4cz2jsldfdnkj6f73279l86wki5gdf36zri"; depends=[lattice MASS repr]; };
   memo = derive2 { name="memo"; version="1.0.1"; sha256="14nvqi1qsin45ksd0wp9cigjk1gghr4jijdqkaqh177dwa244r9j"; depends=[digest]; };
   memoise = derive2 { name="memoise"; version="1.1.0"; sha256="034qfc2xlh30x1q2vya239w34a3ir3y2fwnx2agbgbi6592zjxmj"; depends=[digest]; };
   memuse = derive2 { name="memuse"; version="4.0-0"; sha256="1g63nssxrgqgzw8qjz8202qpwhps8fbck6pn77j2wsc82dm73y7v"; depends=[]; };
-  merDeriv = derive2 { name="merDeriv"; version="0.1-3"; sha256="0kgmv220nlg0r31bwg5qxkc8ybngg4c5q16bkknzf4khmbx19iwm"; depends=[lme4 Matrix nonnest2 sandwich]; };
+  merDeriv = derive2 { name="merDeriv"; version="0.1-4"; sha256="1gkxc2bf4fx3vbf1nq1g713hhhx7031wchxmgr2ydwfrighwf8qg"; depends=[lme4 Matrix nonnest2 sandwich]; };
   merTools = derive2 { name="merTools"; version="0.3.0"; sha256="1kc32zm1wmmivf1qfs6vi7y8kwibj6sr540is82dyh7xdmbc5mx3"; depends=[abind arm blme broom dplyr DT ggplot2 lme4 mvtnorm shiny]; };
   merror = derive2 { name="merror"; version="2.0.2"; sha256="13d9r5r83zai8jnzxaz1ak40876aw20zbpr244gs55rvj5j7f87q"; depends=[]; };
   meshsimp = derive2 { name="meshsimp"; version="0.1.1"; sha256="0cdgq4vfjf0h6l55v687k5xs0nwmlpqmw424xgnsfnwxw5ljcvb1"; depends=[plot3D Rcpp RcppEigen]; };
   metRology = derive2 { name="metRology"; version="0.9-26-2"; sha256="1i9lxgphn8nmkcp2zgjs6ylbccmfgv9lfch00xmx1xfb538jz82q"; depends=[MASS numDeriv robustbase]; };
-  metScanR = derive2 { name="metScanR"; version="1.1.1"; sha256="0cl3vfh8hcx230xpv5611liwk7jr49a2akz18f641yd04akk7f19"; depends=[geosphere leaflet plyr RColorBrewer RCurl]; };
-  meta = derive2 { name="meta"; version="4.9-0"; sha256="012yhxbn114q8bf75mm8ap11q33a5azzkh1b811saq77p1f6lwgq"; depends=[]; };
+  metScanR = derive2 { name="metScanR"; version="1.2.0"; sha256="1x32f23w5f3s7sc5gbbqzq9s83clarskj9vpnfnwryrx87dg1jjc"; depends=[geosphere leaflet plyr RColorBrewer RCurl]; };
+  meta = derive2 { name="meta"; version="4.9-1"; sha256="1nv8yzcwamflcii5x6l3h5p1q7q4xrd74v40njnpgmhkn4vrkyax"; depends=[]; };
   meta4diag = derive2 { name="meta4diag"; version="2.0.7"; sha256="024rxnqzw9xydy0mm1w38s739qgkzjsifq23bwpvkwj0x0jnwry0"; depends=[caTools shiny shinyBS sp]; };
   metaBMA = derive2 { name="metaBMA"; version="0.3.9"; sha256="14c3q4aw89r3apzm0ils886xsc6agbn8d2wgp47dc2ddwf5n8p58"; depends=[coda LaplacesDemon logspline mvtnorm runjags]; };
   metaLik = derive2 { name="metaLik"; version="0.42.0"; sha256="1rk5mwgmgnqq2hrzbh936hzw3aa815l12r1a1qywap5ggmmyhszl"; depends=[]; };
@@ -8118,6 +8327,7 @@ in with self; {
   metaMix = derive2 { name="metaMix"; version="0.2"; sha256="0xlsdgincxwjzyr4i8qfmfw2wvgf41qbmyhf2rxcbarf7rmwhmqf"; depends=[data_table ggplot2 gtools Matrix Rmpi]; };
   metaRNASeq = derive2 { name="metaRNASeq"; version="1.0.2"; sha256="1xz7df7ypq4326yg429pgxd6aldp14c3h3qi20j5nqr5xgsdgzqa"; depends=[]; };
   metaSEM = derive2 { name="metaSEM"; version="1.0.0"; sha256="1i77w7b6xbi8p43s9vicj121kz7f3qp1zhqwy6qc5xcj9qaqjklp"; depends=[ellipse lavaan MASS Matrix mvtnorm numDeriv OpenMx]; };
+  metaboGSE = derive2 { name="metaboGSE"; version="1.0.2"; sha256="1nfcjplry2ba98yi3flk6zcvlys57gri3582mylh543xkcvlrifz"; depends=[AnnotationDbi ape Matrix sybil topGO]; };
   metabolomics = derive2 { name="metabolomics"; version="0.1.4"; sha256="0m5d2784mkpkkg396y3vpvf38vmba5kvxarilq3zf818vjs4pnax"; depends=[crmn gplots limma]; };
   metacart = derive2 { name="metacart"; version="1.0-0"; sha256="13dp9yz6yjd2jc7lf3w3ac3vk69ry7zygf6xnvzrcwsdmxd0258n"; depends=[ggplot2 gridExtra rpart rpart_plot]; };
   metacoder = derive2 { name="metacoder"; version="0.2.0"; sha256="0dyd16yy7adpyksfpg6d414s1l6nls5hv1k938mn7fji1px14sgj"; depends=[ape biomformat cowplot dplyr GA ggfittext ggplot2 ggrepel igraph lazyeval magrittr phylotate RColorBrewer Rcpp RCurl readr reshape reshape2 rlang scales seqinr stringr taxa taxize traits vegan zoo]; };
@@ -8132,38 +8342,39 @@ in with self; {
   metaheur = derive2 { name="metaheur"; version="0.2.0"; sha256="1rr5mjx3v87alj7cl9hxldvhhbpkz1fzmymmkqv0hs65pny6gbqw"; depends=[doParallel foreach ggplot2 preprocomb reshape2]; };
   metaheuristicOpt = derive2 { name="metaheuristicOpt"; version="1.0.0"; sha256="1wzy5dnmrdfdj1386snjyisrbzbq8v4qsnq57l3wvkg1pgnz1vh2"; depends=[]; };
   metamisc = derive2 { name="metamisc"; version="0.1.8"; sha256="06dzjnrbxqkb0d0zcdxg8fyadsbq0f0fca4xifjz16yjz1047n5k"; depends=[ellipse ggplot2 lme4 metafor mvtnorm plyr]; };
-  metansue = derive2 { name="metansue"; version="2.0"; sha256="102cddahlzm0b76y6pr7jxqxf28j6y3hsjd17fpnyvrwnzhqbz5m"; depends=[]; };
+  metansue = derive2 { name="metansue"; version="2.1"; sha256="0mklpnb9m0pynz3x0fin003zz0n1v6i0fdcahny70y1yxiy5agcs"; depends=[]; };
   metap = derive2 { name="metap"; version="0.8"; sha256="06ny9zkilawdy0s8yiwhnygs3yppw89bbyf76zgdavykbzscz5lh"; depends=[lattice]; };
-  metaplot = derive2 { name="metaplot"; version="0.4.1"; sha256="1spi3zrrysdxrq355rzqrvdai8hkx1dbaryxx4bdn6f2nn7p3nd2"; depends=[dplyr encode lattice magrittr rlang tidyr]; };
+  metaplot = derive2 { name="metaplot"; version="0.4.9"; sha256="1nbnyh03n1kkkl4v80nbbbnkrzs1a5ri210x9q4m2v87jrcikllw"; depends=[dplyr encode lattice magrittr rlang tidyr]; };
   metaplotr = derive2 { name="metaplotr"; version="0.0.3"; sha256="01iala6cxsxv30fnlh80md5mpy3ksd2piw90zcls8f68g1c6v1jy"; depends=[ggplot2 gridExtra]; };
-  metaplus = derive2 { name="metaplus"; version="0.7-9"; sha256="1hrczccszx9jcgifwg6wsigsbm8ih4xjr00knb0rxyygijk38c82"; depends=[bbmle boot fastGHQuad lme4 MASS metafor numDeriv]; };
+  metaplus = derive2 { name="metaplus"; version="0.7-11"; sha256="05pkgw0zlq3q9mvdw2yxz9mxzqwq3c8q6cwvh87cigw1pf8y9an7"; depends=[bbmle boot fastGHQuad lme4 MASS metafor numDeriv]; };
   metasens = derive2 { name="metasens"; version="0.3-2"; sha256="1wxp6gzq3wmas8hm8vqxclawxkc4p8dw2apzmg0nciqvas6dzic8"; depends=[meta]; };
   metatest = derive2 { name="metatest"; version="1.0-4"; sha256="0bz6gg2n4ffkr144jxk27y24xpqhp8awr09wkaijmv8902qx6qah"; depends=[]; };
   metavcov = derive2 { name="metavcov"; version="1.1"; sha256="1x87knvypkfg0x223aiak7fy7zdlfn74crmvnqzhxf2vmxljnvnh"; depends=[corpcor]; };
-  metaviz = derive2 { name="metaviz"; version="0.1.1"; sha256="1myhh16a7mad4gidl2xhnfv940gjqhbl8rlg6vrwvawgaiwigbxp"; depends=[ggplot2 metafor nullabor plyr RColorBrewer]; };
+  metaviz = derive2 { name="metaviz"; version="0.2.0"; sha256="1a4qwhg3lb5jxnddmi7zf2sc2yjzjap3rh6hfm3965bydpf1q57c"; depends=[dplyr ggplot2 ggpubr gridExtra metafor nullabor RColorBrewer]; };
   meteR = derive2 { name="meteR"; version="1.2"; sha256="02637d3dnfq0jv9d74y99x7ms89y3jcmkpazc44g44sa7jx4i510"; depends=[distr nleqslv]; };
   meteo = derive2 { name="meteo"; version="0.1-5"; sha256="0n37plka9vsxwd03lca3h6m8dcz3f1bi46jn3bz7vyilnkq9hcdk"; depends=[gstat plyr raster rgdal snowfall sp spacetime]; };
-  meteoForecast = derive2 { name="meteoForecast"; version="0.51"; sha256="1k5m561b6hpqvzrg5l16523ig1rxcsi4s172jmya039cwyk8mqfp"; depends=[ncdf4 raster sp XML zoo]; };
+  meteoForecast = derive2 { name="meteoForecast"; version="0.52"; sha256="1v9p2l45jzzim10pmy4y1hzc68sxawd996sri6dw7hnalfqfiyxj"; depends=[ncdf4 raster sp XML zoo]; };
   meteogRam = derive2 { name="meteogRam"; version="1.0"; sha256="167gyxjnl4dyfqs3znv8sdpkvpqdxzdqi1g730s30gycrm9snap9"; depends=[ggplot2 RadioSonde]; };
-  meteoland = derive2 { name="meteoland"; version="0.6.7"; sha256="0b3hf25dxiaxjj6v9wprysbvr2m6f3vlldy77civq5fkkibx9pzi"; depends=[curl ncdf4 ncdf4_helpers qmap Rcpp rgdal sp spdep]; };
+  meteoland = derive2 { name="meteoland"; version="0.7.1"; sha256="1nsn4z3gbkcdhgyn13fjcpsyb0lb85kiyy6fhirlnw63dwr56a2l"; depends=[curl ncdf4 ncdf4_helpers qmap Rcpp rgdal sp spdep]; };
   metricTester = derive2 { name="metricTester"; version="1.3.4"; sha256="1z4z8km1jr0azh2zxp1sffm5picc9y6w9yn68zr1axli0l64y3a0"; depends=[ape doParallel dplyr foreach geiger MASS picante plotrix spacodiR]; };
   metricsgraphics = derive2 { name="metricsgraphics"; version="0.9.0"; sha256="1zbx82b34y0rr4w7rzvyc1nzk95w6cdkg0j1kkshbmkvplq6v9i4"; depends=[htmltools htmlwidgets magrittr]; };
   mets = derive2 { name="mets"; version="1.2.3"; sha256="1f1mqpzpvh5vb8b8w72q13jhk978bcvwipf4bx3kzzgsf6yfxk5s"; depends=[lava numDeriv Rcpp RcppArmadillo survival timereg]; };
-  mev = derive2 { name="mev"; version="1.10"; sha256="0kidgghwjc81rx2vb8y1iiwvlfxafv7r11n3zz1gb7705w6ynw1m"; depends=[boot evd gmm ismev nleqslv numDeriv Rcpp RcppArmadillo rootSolve]; };
+  mev = derive2 { name="mev"; version="1.11"; sha256="0iqcslnchap8zh4s3bllqqb8z0klpzg2pn8ays1xk66lj5ywl390"; depends=[boot evd gmm ismev nleqslv nloptr numDeriv Rcpp RcppArmadillo revdbayes rootSolve]; };
   mewAvg = derive2 { name="mewAvg"; version="0.3.0"; sha256="16gc78ccjffp9qgc7rs622jql54ij83ygvph3hz19wpk22m96glm"; depends=[]; };
-  mexhaz = derive2 { name="mexhaz"; version="1.4"; sha256="1c3n8g93pb38dw45ls6wh81giqw7zkksh2rmpbw46ink23ks12ij"; depends=[MASS numDeriv statmod survival]; };
+  mexhaz = derive2 { name="mexhaz"; version="1.5"; sha256="0my53dg321xfbbkxawxcggnh5gw9qkliji5gsdb8m1fi37djd67w"; depends=[MASS numDeriv statmod survival]; };
   mfGARCH = derive2 { name="mfGARCH"; version="0.1.2"; sha256="08gkba5v8l0867rrxakn7js11v1yj7qp9vmzbjmri9hjcm02s44a"; depends=[numDeriv Rcpp zoo]; };
   mfe = derive2 { name="mfe"; version="0.1.0"; sha256="06x6csf3pr1vdmmimg6f7iffrivj8wcdfafvld7nrzbkl09cbfbn"; depends=[C50 class e1071 infotheo MASS rpart]; };
   mfp = derive2 { name="mfp"; version="1.5.2"; sha256="1i90ggbyk2p1ym7xvbf4rhyl51kmfp6ibc1dnmphgw15wy56y97a"; depends=[survival]; };
   mfx = derive2 { name="mfx"; version="1.1"; sha256="1zhpk38k7vdq0pyqi1s858ns19qycs3nznpa00yv8sz9n798wnn5"; depends=[betareg lmtest MASS sandwich]; };
   mgarchBEKK = derive2 { name="mgarchBEKK"; version="0.0.2"; sha256="1k4c34srnckbh5kchzmm44l91ma9sw0gi4y225igs3cl79212q9c"; depends=[mvtnorm tseries]; };
+  mgc = derive2 { name="mgc"; version="1.0.1"; sha256="0bdj890v2rinsddny8kwa48cgqh9qlzfd7k5s4i9mg40ajr0f291"; depends=[MASS SDMTools]; };
   mgcv = derive2 { name="mgcv"; version="1.8-23"; sha256="1lsrhf1yzn25pfn3f5x8yxjqnfryim4jx3iqd7ah8aalh5asqwbp"; depends=[Matrix nlme]; };
   mglR = derive2 { name="mglR"; version="0.1.0"; sha256="1b7nd913d4a1szgw2qnhlnjqhfxr95xag6jwjcb2wnnxd12lib7n"; depends=[biomaRt dplyr gdata ggplot2 gplots magrittr stringr]; };
   mglmn = derive2 { name="mglmn"; version="0.0.2"; sha256="1ijkmr85s4yya0hfwcyqqskbprnkcbq8sc9c889i0gy0543fgqz4"; depends=[mvabund snowfall]; };
   mgm = derive2 { name="mgm"; version="1.2-2"; sha256="0n0db6np7i0lycvis9pc1bsnzam4nrr9qzlwimz7d8pp7gm313xn"; depends=[glmnet Hmisc matrixcalc stringr]; };
   mgpd = derive2 { name="mgpd"; version="1.99"; sha256="0cxpgza9i0hjm5w1i5crzlgh740v143120zwjn95cav8pk8n2wyb"; depends=[corpcor evd fields numDeriv]; };
   mgraph = derive2 { name="mgraph"; version="1.03"; sha256="0av2c0jvqsdfb3i0s0498wcms0n2mm0z3nnl98mx2fy7wz34z8b2"; depends=[rgdal]; };
-  mgsub = derive2 { name="mgsub"; version="1.0.0"; sha256="0aj00ch96kii1r053yqi8g44i64jdyigqnrzrwm6xsf1l2ms3v59"; depends=[]; };
+  mgsub = derive2 { name="mgsub"; version="1.5.0"; sha256="03w40vs3vfyrksnzbawyvp02kwrmn7cqhlv6xhfzfbh8jmz55wvr"; depends=[]; };
   mhde = derive2 { name="mhde"; version="1.0-1"; sha256="1q7lbj2is024f5rmfpdn3a0hsb78bf62ddal3chhnh3bi1z3jrjk"; depends=[]; };
   mhsmm = derive2 { name="mhsmm"; version="0.4.16"; sha256="009dj0zkj1zry7jr9hf4cknb686z50a2l967if64xm0dvjmp7dgs"; depends=[mvtnorm]; };
   mht = derive2 { name="mht"; version="3.1.2"; sha256="01zcaf9k0qayzm8dn5dvnm5n3qgqpj8r96qhqaa5vbjcr6ci2x2r"; depends=[glmnet Matrix]; };
@@ -8171,7 +8382,7 @@ in with self; {
   mhurdle = derive2 { name="mhurdle"; version="1.1-7"; sha256="06ph0vbm7yk5388v2aww6nmi2rhjhfjj1hl506a41m5k6hf746pk"; depends=[Formula maxLik survival texreg truncreg]; };
   mi = derive2 { name="mi"; version="1.0"; sha256="1h47k5mpbvhid83277dvvj2di493bgzz9iarpyv3r30y219l7x1l"; depends=[arm Matrix]; };
   miCoPTCM = derive2 { name="miCoPTCM"; version="1.0"; sha256="1lmf6zahfp59ylhdp2cbr7y3vayhim72zazimg4qfld4r9d6kygc"; depends=[distr MASS nleqslv survival]; };
-  miLineage = derive2 { name="miLineage"; version="2.0"; sha256="091wf4kwakdr91xkyg038f0vj941gvziy7yc4l8cylcjbr647qzz"; depends=[data_table geepack MASS]; };
+  miLineage = derive2 { name="miLineage"; version="2.1"; sha256="0660vk44ywmj0q2cw7pa2z1r039ncw693dnz7zlgc0ipwak3b0ry"; depends=[data_table geepack MASS]; };
   miRNAss = derive2 { name="miRNAss"; version="1.4"; sha256="0p852vyn44g84i4hzm7b02m5cxyqajnczx0s9x9373rn7fi6r98c"; depends=[CORElearn Matrix Rcpp RSpectra]; };
   miRada = derive2 { name="miRada"; version="1.13.8-8"; sha256="1m6rm65pv4r16r0s5ih69nr3v2rnpsvpdpk07pi7k4f7v9wck71v"; depends=[]; };
   miRtest = derive2 { name="miRtest"; version="1.8"; sha256="0i66s1sz7vf8p8ihfrxmag7wbkw8mlkldcp1w2figlzyhs74c85p"; depends=[corpcor GlobalAncova globaltest limma MASS RepeatedHighDim]; };
@@ -8181,20 +8392,22 @@ in with self; {
   micEconIndex = derive2 { name="micEconIndex"; version="0.1-6"; sha256="1ihly6qpyg1pms4nkvs6khxxqwr3fwg57i8pg0yhyy1apqxyj2xl"; depends=[miscTools]; };
   micEconSNQP = derive2 { name="micEconSNQP"; version="0.6-6"; sha256="1n3pxapc90iz1w3plaqflayd0b1jqd65yw5nbbm9xz0ih132dby9"; depends=[MASS miscTools systemfit]; };
   mice = derive2 { name="mice"; version="2.46.0"; sha256="1gjvlk67zvgipfczsca8zqk97vg3sivv82hblsdwp14s7smhjcax"; depends=[lattice MASS nnet Rcpp rpart survival]; };
-  miceExt = derive2 { name="miceExt"; version="1.0.0"; sha256="0rfmnrm04ir16zjbf6pfg25yxnyn5k47yiixp2k0vs86j1sf25v1"; depends=[mice RANN RANN_L1]; };
-  miceadds = derive2 { name="miceadds"; version="2.9-15"; sha256="03jvs643cq23y5fj1ffilqr9bi7g4blk7c0bh7nvrpjx5sscqjck"; depends=[CDM lme4 MASS mice mitools mvtnorm Rcpp RcppArmadillo sirt TAM]; };
+  miceExt = derive2 { name="miceExt"; version="1.1.0"; sha256="07xj9f5w0kh4d1yj8mx1jydvhd0vwpvvrb6h67xz5gb1ban4k6c6"; depends=[mice RANN RANN_L1]; };
+  miceFast = derive2 { name="miceFast"; version="0.1.0"; sha256="0089n3iagy81b6k9kdm6rh2k21vi55ly4a5d4b4snhf0rxrj7if8"; depends=[Rcpp RcppArmadillo]; };
+  miceMNAR = derive2 { name="miceMNAR"; version="1.0"; sha256="1ns7i1p2nil2s7960hkfl557qipwshibsgpwyn58ss3ch1vr213g"; depends=[GJRM mice mvtnorm pbivnorm sampleSelection]; };
+  miceadds = derive2 { name="miceadds"; version="2.10-14"; sha256="1cpwf8j1r5k5wb4cwjz0aqrsgb5x9nhdrxb22sfw3lrfc1x6i6ay"; depends=[CDM lme4 MASS mice mitools mvtnorm Rcpp RcppArmadillo sirt TAM]; };
   micemd = derive2 { name="micemd"; version="1.2.0"; sha256="0l4qzhkxy43xwgfqp2c638fimixdrm94hgiabfds3sc1vbxma4r8"; depends=[abind digest jomo lme4 MASS Matrix mice mvmeta mvtnorm nlme]; };
-  micompr = derive2 { name="micompr"; version="1.0.2"; sha256="1hmxi5wz7vfnvawh50zk316gr3ry59m820ddj2v9p7cxq21hwv9i"; depends=[]; };
+  micompr = derive2 { name="micompr"; version="1.1.0"; sha256="0qsxs35mmqx8hpszcb1z87xczh0vh0m0plqrj22af5mjjvif76n9"; depends=[]; };
   microPop = derive2 { name="microPop"; version="1.3"; sha256="072qldi020m84j9crfvzvw2nzn5fagqmjjzb7g7i70zwqhl1kjsa"; depends=[deSolve]; };
   microbats = derive2 { name="microbats"; version="0.1-1"; sha256="1mahvblaiwg1xk2s34wd1ic8ddc9lh6g0azik2pd97bsf0krkyw8"; depends=[]; };
   microbenchmark = derive2 { name="microbenchmark"; version="1.4-4"; sha256="0fv2w2vsiz18imf4115nd9chhmf275w2mb49pn7pkxi6z3bamc9c"; depends=[]; };
   microclass = derive2 { name="microclass"; version="1.1"; sha256="0hl2s4135k187f0vqmj9snvmnwa5k9fg8ahivfs7ciknrcxfv3nk"; depends=[microcontax microseq Rcpp RcppEigen RcppParallel]; };
   microcontax = derive2 { name="microcontax"; version="1.0"; sha256="0l5mfgda5xagjbh9bwv328k3m7kgggdm90rc8fr1ic59hvg56f3g"; depends=[microseq]; };
-  microdemic = derive2 { name="microdemic"; version="0.2.0"; sha256="0g39j9bdfcv90332g9mp7khn15vqs0fzqx38criw4rxwi8dcd307"; depends=[crul data_table jsonlite tibble]; };
+  microdemic = derive2 { name="microdemic"; version="0.3.0"; sha256="1hrl458jwrgjm7ds4scmicf39ssw1gbjxqaq95lhlwi9n0prd7jn"; depends=[crul data_table jsonlite tibble]; };
   micromap = derive2 { name="micromap"; version="1.9.3"; sha256="1iciwy0kcg4qa0xc4gkqcilq33ac1s184vw13cbbkv0d1b5cgkgv"; depends=[ggplot2 maptools RColorBrewer rgdal sp]; };
   micromapST = derive2 { name="micromapST"; version="1.1.1"; sha256="15ch132x3wnpf7rmy25nah7iyfxfk90p7lvavqjhrnavhjsfxbxx"; depends=[labeling RColorBrewer stringr]; };
   micropan = derive2 { name="micropan"; version="1.2"; sha256="1b3hd5c6l9njns372zhqfryibrpqmrjxmc1p5gzdwm7450cs7qky"; depends=[BH igraph microseq Rcpp]; };
-  microplot = derive2 { name="microplot"; version="1.0-25"; sha256="05b29l5s4g4yvprxsla28ykr4823lfhqlxm46p406p06r9wki3d7"; depends=[ggplot2 HH Hmisc htmltools lattice ReporteRs]; };
+  microplot = derive2 { name="microplot"; version="1.0-38"; sha256="1jrm0rzq8xwrd3j1xwyy70071jk9cxqnqdbr3ljjn926yji10nfs"; depends=[cowplot ggplot2 HH Hmisc htmltools lattice ReporteRs]; };
   microseq = derive2 { name="microseq"; version="1.2.2"; sha256="1h828iviraqrm43lhd0s3r7rdlakc6yfc6ngrcrkacpflfcmx3c7"; depends=[Rcpp]; };
   midas = derive2 { name="midas"; version="1.0.1"; sha256="1alqxk23651jnkg0xn4rpvk71z5rhvx3y0wjrgkw2qw95s7jjn72"; depends=[shiny xml2]; };
   midasr = derive2 { name="midasr"; version="0.6"; sha256="1sg6m36jg3b6znfg97ln5a6b4z36xkyjvgxk7wmqdq3h528z8613"; depends=[forecast MASS Matrix numDeriv optimx sandwich]; };
@@ -8220,11 +8433,11 @@ in with self; {
   minpack_lm = derive2 { name="minpack.lm"; version="1.2-1"; sha256="18ym2pdql5vzngc7q5gn66d153hrfrnd8ilv8yh6vd7j7sx7vjql"; depends=[]; };
   minqa = derive2 { name="minqa"; version="1.2.4"; sha256="036drja6xz7awja9iwb76x91415p26fb0jmg7y7v0p65m6j978fg"; depends=[Rcpp]; };
   minque = derive2 { name="minque"; version="1.1"; sha256="1hx4j38213hs8lssf9kj5s423imk7dzv60mdbzrpbp7la7jk2n57"; depends=[klaR Matrix]; };
-  minval = derive2 { name="minval"; version="0.8"; sha256="05yqr2b5x17kpp4661x6p4pjszmvz2bad43z8m3qnvaa29zhd3n3"; depends=[]; };
+  minval = derive2 { name="minval"; version="0.8-1"; sha256="11sr69hmqnh5g2zbfajy3wqc57759basky1w72dnrd38rq50llxs"; depends=[]; };
   minxent = derive2 { name="minxent"; version="0.01"; sha256="1a0kak4ff1mnpvc9arr3sihp4adialnxxyaacdgmwpw61wgcir7h"; depends=[]; };
   mipfp = derive2 { name="mipfp"; version="3.1"; sha256="18cfv8s38cd0g1wc5pry6a4m2ykqflkxhqbqnjbjvmr42bj3r6sp"; depends=[cmm numDeriv Rsolnp]; };
-  mirt = derive2 { name="mirt"; version="1.26.3"; sha256="1jzvxcq7s179vi5cwrxkcqzffl2pyay5abnvlgazhabzf4150sml"; depends=[GPArotation lattice mgcv Rcpp RcppArmadillo vegan]; };
-  mirtCAT = derive2 { name="mirtCAT"; version="1.6.1"; sha256="00jy27ilv1fw9ijhcyyi2lnxghyjb0dhpcqf1dqc6wi61wf5pagk"; depends=[lattice lpSolve markdown mirt pbapply Rcpp RcppArmadillo shiny]; };
+  mirt = derive2 { name="mirt"; version="1.27.1"; sha256="0344gqyx8x0q5smi8ifs6dw0hgqgw23mfgw8cb9gc8ky78zydjpp"; depends=[Deriv GPArotation lattice mgcv Rcpp RcppArmadillo vegan]; };
+  mirtCAT = derive2 { name="mirtCAT"; version="1.7"; sha256="038jp680hn17q8hcz346j4i0p913h7gbkqfswn0ygf1kwgsz1mpa"; depends=[lattice lpSolve markdown mirt pbapply Rcpp RcppArmadillo shiny]; };
   misc3d = derive2 { name="misc3d"; version="0.8-4"; sha256="0qjzpw3h09qi2gfz52b7nhzd95p7yyxsd03fldc9wzzn6wi3vpkm"; depends=[]; };
   miscF = derive2 { name="miscF"; version="0.1-4"; sha256="1kvkbvrmaqclwdfghkrsmnzb6xbi97icay2wwb7k5m34xhx4ha82"; depends=[MASS MCMCpack mvtnorm R2jags]; };
   miscFuncs = derive2 { name="miscFuncs"; version="1.2-10"; sha256="1kqya581n76ff9avhj6xm6nwsbw7zlm4mwy0vyvdlqlf7c381qq0"; depends=[mvtnorm roxygen2]; };
@@ -8233,11 +8446,12 @@ in with self; {
   miscor = derive2 { name="miscor"; version="0.1-1"; sha256="1vn0q0i2f1szjywddb7h7krpbf0qch6gmbzs03m4zb03xd70983b"; depends=[]; };
   miscset = derive2 { name="miscset"; version="1.1.0"; sha256="1gwi7jnqdf2fa8yk8gmcc7dcv72bbdl7yj3yccj3r5jjk41vdp91"; depends=[data_table devtools ggplot2 gridExtra Rcpp xtable]; };
   mise = derive2 { name="mise"; version="0.1.0"; sha256="1ydbm76w3y0p5h82shxjblwlzbrmzwx0bgq9w2axjwz2nx8jfw0a"; depends=[]; };
+  mispr = derive2 { name="mispr"; version="1.0.0"; sha256="166piax3f7di8h0i07fbdx45lxz1p47j378v6yl6zdc3525adpjx"; depends=[e1071 MASS penalized]; };
   misreport = derive2 { name="misreport"; version="0.1.1"; sha256="1f78zcw4cg51mjvflhwd64hip2gj8x9ng1mhh4w43yv3x8hmbd6h"; depends=[mvtnorm numDeriv VGAM]; };
   missDeaths = derive2 { name="missDeaths"; version="2.5"; sha256="0pslssgf580zd0dd7m0l97bzgxnywj2qac0agxv6ih1a0xlxz874"; depends=[cmprsk MASS mitools Rcpp relsurv rms survival]; };
   missForest = derive2 { name="missForest"; version="1.4"; sha256="0y02dhrbcx10hfkakg5ysr3kpyrsh2d9i5b0qzhj9x5x0d5q11gp"; depends=[foreach itertools randomForest]; };
   missMDA = derive2 { name="missMDA"; version="1.11"; sha256="185ia5zg5gdrkjpj5sql46lz5svw77wjy9zplpqhrmgx43fv0w0i"; depends=[FactoMineR mice mvtnorm]; };
-  missRanger = derive2 { name="missRanger"; version="1.0.0"; sha256="0advj6a57pj79xn43gxp7ll4b3y7hl5cvz5d7hw69f4yk4blwkjr"; depends=[FNN ranger]; };
+  missRanger = derive2 { name="missRanger"; version="1.0.1"; sha256="0rab8b0fankymfhnz4f5g2hh2yq30h6cdblvz2d43i46d147js41"; depends=[FNN ranger]; };
   mistat = derive2 { name="mistat"; version="1.0-5"; sha256="1vyx918b7iv1wcnk23bnlxljwy0hglpdx5drhrs5qcd45f6jrghc"; depends=[]; };
   mistral = derive2 { name="mistral"; version="2.1.0"; sha256="1cr79p8q82lpj9d0y6q24xmfkxmnlqv8ivkd0baj7fxfb1nb8sak"; depends=[DiceKriging doParallel e1071 emoa foreach ggplot2 iterators Matrix mvtnorm quadprog]; };
   mitml = derive2 { name="mitml"; version="0.3-5"; sha256="1s888r9y2ri39b48h1iypps6lddqkqv3g31l2sjmi2pvyccfpkwb"; depends=[haven jomo pan]; };
@@ -8253,13 +8467,13 @@ in with self; {
   mixcat = derive2 { name="mixcat"; version="1.0-3"; sha256="0xszngygd3yj61pvv6jrrb5j0sxgpxzhlic69xrd5mv5iyw0cmxd"; depends=[statmod]; };
   mixdist = derive2 { name="mixdist"; version="0.5-4"; sha256="100i9mb930mzvdha31m1srylmpa64wxyjv6pkw1g5lhm1hsclwm3"; depends=[]; };
   mixedMem = derive2 { name="mixedMem"; version="1.1.0"; sha256="0j8w3qfhanyrkkxipdxfdajv15qba8r2rm06iiv3kywficzgkxgv"; depends=[BH gtools Rcpp RcppArmadillo]; };
-  mixedsde = derive2 { name="mixedsde"; version="3.0"; sha256="1libm4pyzfqi11hcx823qdhgshdsy84dzv7jhz3b89w9bkla5l17"; depends=[MASS moments plot3D sde]; };
+  mixedsde = derive2 { name="mixedsde"; version="4.0"; sha256="1hryscff4i4ayqxv9imnx4g56497s1s95fzqv8wkwcpfcqi20bqf"; depends=[MASS moments plot3D sde]; };
   mixexp = derive2 { name="mixexp"; version="1.2.5"; sha256="0nbf10xhrr51rb1b2apcj4p3ci8xbi7flgz500ar3mxh8h8l74sq"; depends=[daewr gdata lattice]; };
   mixlink = derive2 { name="mixlink"; version="0.1.5"; sha256="0ywgrcplhspc0x5fniw52xqz20y7j9mwgy4ky8lv3vii659mr52m"; depends=[mvtnorm numDeriv Rcpp RcppGSL]; };
   mixlm = derive2 { name="mixlm"; version="1.2.3"; sha256="0i7nrn31yaicdpwfssnid1x8w51iv17lcl96zfr1pgrf97d7gkqd"; depends=[car leaps multcomp pls pracma]; };
   mixor = derive2 { name="mixor"; version="1.0.3"; sha256="1qnrfd0hggad81rn8ryfm9l0cpd59ifj9sxc1bav35bma535azdv"; depends=[]; };
   mixpack = derive2 { name="mixpack"; version="0.3.6"; sha256="0q19mal86qlriwilabgy3sn33iymi5hl3wa33kvb8cd1dgdmjr7a"; depends=[mvtnorm Rcpp RcppArmadillo]; };
-  mixreg = derive2 { name="mixreg"; version="0.0-5"; sha256="0wsb1z98ymhshw9nhsvlszsanflxv3alwpdsw8lr3v62bkwka8zr"; depends=[]; };
+  mixreg = derive2 { name="mixreg"; version="0.0-6"; sha256="04g863yxrlj0wqsmzzxph5110g3gjk094r59zzk0b9r89m8vhpsl"; depends=[]; };
   mixsep = derive2 { name="mixsep"; version="0.2.1-2"; sha256="1ywwag02wbx3pkd7h0j9aab44bdmwsaaz0p2pcqn1fs3cpw35wa2"; depends=[MASS RODBC tcltk2]; };
   mixsmsn = derive2 { name="mixsmsn"; version="1.1-4"; sha256="1y15qjh6qzx3aqlv4pndmgk2mgkqpyxcd76ykn31qd8mwzddci9d"; depends=[mvtnorm]; };
   mixtNB = derive2 { name="mixtNB"; version="1.0"; sha256="0lqbm1yl54zfs0xcmf3f2vcg78rsqyzlgvpydhmhg7x6dkissb22"; depends=[]; };
@@ -8270,47 +8484,54 @@ in with self; {
   mizer = derive2 { name="mizer"; version="0.4"; sha256="0ir6hx3fb4lkfgg7dln96fd50fr4jdrxbqp70461fsyzi3lxn6nv"; depends=[ggplot2 plyr Rcpp reshape2]; };
   mkde = derive2 { name="mkde"; version="0.1"; sha256="04v84arpnmjrkk88ffphnhkz32x7y0dypk75jfmbbgcgv59xlglv"; depends=[raster Rcpp sp]; };
   mkin = derive2 { name="mkin"; version="0.9.47.1"; sha256="1cz6f9122im594dvqdmdm9yjlnmwzrx2ka63dgj0zf1ysqzf0872"; depends=[deSolve FME inline minpack_lm R6 rootSolve]; };
+  mknapsack = derive2 { name="mknapsack"; version="0.1.0"; sha256="1kzmx7d512681a4hjirfgcd7a8rvndb4da66p16gms5nnxzsby9c"; depends=[assertthat data_table lpSolve]; };
   mkssd = derive2 { name="mkssd"; version="1.1"; sha256="1qqzy6fn6sc3lxahc19hzzf1hzxsyvxqi7npynw0vkknlrvh2ijp"; depends=[]; };
   mlDNA = derive2 { name="mlDNA"; version="1.1"; sha256="0d9lydiwar98hin26slnym4svn0g1xmyn212vvzsx9lzlvs5a9k4"; depends=[e1071 igraph pROC randomForest ROCR rsgcc snowfall]; };
   mlPhaser = derive2 { name="mlPhaser"; version="0.01"; sha256="1s2mqlnbcjdkx0ghvr2sw9rzggqa4jy2vzi9vbyqkh6795lgck6n"; depends=[]; };
   mlVAR = derive2 { name="mlVAR"; version="0.4"; sha256="08iaq6wq0ngd60nhmlj8c0x8r1fal1zfv2zpd6ll54szcvdbxahr"; depends=[abind arm clusterGeneration corpcor dplyr lme4 MplusAutomation mvtnorm plyr qgraph]; };
   mlapi = derive2 { name="mlapi"; version="0.1.0"; sha256="023vk5bp8cjcq88sapkl87kdxr92bay1dyxl6xirnyj699pyj51k"; depends=[Matrix R6]; };
   mlbench = derive2 { name="mlbench"; version="2.1-1"; sha256="1rp035qxfgh5ail92zjh9jh57dj0b8babw3wsg29v8ricpal30bl"; depends=[]; };
-  mlbgameday = derive2 { name="mlbgameday"; version="0.0.1"; sha256="1w0rzdbldsv1440vjnx9g2jz6b458gxsk55lmc8n8x16wz45cd2b"; depends=[DBI doParallel dplyr foreach iterators magrittr purrr stringr xml2]; };
+  mlbgameday = derive2 { name="mlbgameday"; version="0.1.1"; sha256="01jb2fiv847jfdl18g2b3xlihfbry2j2r9ajmw8gd82052ayyk1j"; depends=[DBI doParallel dplyr foreach iterators magrittr purrr stringr tidyr xml2]; };
+  mlbstats = derive2 { name="mlbstats"; version="0.1.0"; sha256="1pfsc1pc5986gykx8l6afahszhaj4940l8g33fdxyy7194kbcz70"; depends=[]; };
   mldr = derive2 { name="mldr"; version="0.4.0"; sha256="1nx21yyxfaiyxpbjkc5sif6pis5v2skisxcxdqk4479h54qzwlj3"; depends=[circlize shiny XML]; };
   mldr_datasets = derive2 { name="mldr.datasets"; version="0.4.0"; sha256="0kbfaf39vkhvscw47bkx2mmc6cmgwz1cys62iiw3yb6kvkzddr3s"; depends=[]; };
   mle_tools = derive2 { name="mle.tools"; version="1.0.0"; sha256="02yndj1if31zr9y805mq5km5n8jz4w9jz1bmaz9nnqsqimrnigrb"; depends=[]; };
   mlearning = derive2 { name="mlearning"; version="1.0-0"; sha256="0r8xfaxw83s2r27b8x5qd0k4r5ayxpkafzn9b1a0jvsr87i6520r"; depends=[class e1071 ipred MASS nnet randomForest]; };
-  mlegp = derive2 { name="mlegp"; version="3.1.6"; sha256="12w6gw1g1xn3i42pgall09w5im8gf84h28d3fa9m3fhkifkid2db"; depends=[]; };
+  mlegp = derive2 { name="mlegp"; version="3.1.7"; sha256="1q0mxvr23qcxvf8k2cgs4m8yfp1gbkmprp964w8viy30japmx16l"; depends=[]; };
   mleur = derive2 { name="mleur"; version="1.0-6"; sha256="0mddphq3b6y2jaafaa9y41842kcaqdl3dh7j4pva55q2vcjcclj7"; depends=[fGarch lattice stabledist urca]; };
+  mlf = derive2 { name="mlf"; version="1.2"; sha256="1k2vplsqnccf5ymf50hgl4ly3np7n87ympd3aajpfwcn3jljbxkf"; depends=[]; };
   mlgt = derive2 { name="mlgt"; version="0.16"; sha256="1nvdq6mvgr39ikkf73aggsb6pmbw132injj8fdkr8hgcmwm6lgd9"; depends=[seqinr]; };
   mlica2 = derive2 { name="mlica2"; version="2.1"; sha256="0c3m1zd9x99n6lw12hfzmd59355z51xa8rhg1h7qwfn9p86r826f"; depends=[]; };
   mljar = derive2 { name="mljar"; version="0.1.1"; sha256="1mw45aqjwklsnrfwf8656jf30miyrlxpz87z97nkv9i135yhwfx3"; depends=[httr jsonlite readr]; };
   mlmRev = derive2 { name="mlmRev"; version="1.0-6"; sha256="0mvmahnbbp478xwldj4wlsjib4v4afhs07643gxgcqpi56zbd5h7"; depends=[lme4]; };
   mlma = derive2 { name="mlma"; version="4.0-1"; sha256="0pk2h4m74r95dfkqzliixi6z1rwdfc6gbz8c3162y22m919f00vc"; depends=[car gplots lme4]; };
   mlmc = derive2 { name="mlmc"; version="1.0.0"; sha256="01h7w0ajyg3bccynlpbi3yjpy089wczbfbajpg6yw5v4dppw7k7a"; depends=[ggplot2 Rcpp]; };
+  mlmm_gwas = derive2 { name="mlmm.gwas"; version="1.0.2"; sha256="1zxmiqsn3rcs0a6w785smx8ifa10083vakawy3c59pa8zigii1xp"; depends=[coxme Matrix multcomp multcompView sommer]; };
   mlmmm = derive2 { name="mlmmm"; version="0.3-1.2"; sha256="1m5ziiqs3ll1xjm1yf7x4sdc910jypn3kjnbadf95xxkvqmfrsqq"; depends=[]; };
   mlogit = derive2 { name="mlogit"; version="0.2-4"; sha256="15ndly7i56k8blgvpn15ixxnqx9yvbci7n3mb3hm9mnrxwh5v7sx"; depends=[Formula lmtest MASS maxLik statmod zoo]; };
   mlogitBMA = derive2 { name="mlogitBMA"; version="0.1-6"; sha256="1wl8ljh6rr1wx7dxmd1rq5wjbpz3426z8dpg7pkf1x9wr94a2q25"; depends=[abind BMA maxLik]; };
-  mlr = derive2 { name="mlr"; version="2.11"; sha256="1fs62xzxgk75k3b4wkxh2qkij03m5i1bbmacgffwq4xak3mr64ma"; depends=[backports BBmisc checkmate data_table ggplot2 parallelMap ParamHelpers stringi survival]; };
+  mlr = derive2 { name="mlr"; version="2.12.1"; sha256="0b68pgx55f19i3pnci1n87cq2a7kfs6s2248zs1vg4xl5sw9ifww"; depends=[backports BBmisc checkmate data_table ggplot2 parallelMap ParamHelpers stringi survival XML]; };
+  mlrCPO = derive2 { name="mlrCPO"; version="0.3.2"; sha256="1wnh0ljh7739qcrgkgnf40xwkih0bmvpvykaaw51rascy63mf003"; depends=[backports BBmisc checkmate mlr ParamHelpers stringi]; };
   mlrMBO = derive2 { name="mlrMBO"; version="1.1.1"; sha256="1r6p5ph7nyqs6cqqsg04mass1zppys75n8448lv6iadlm499jzg8"; depends=[backports BBmisc checkmate data_table lhs mlr parallelMap ParamHelpers smoof]; };
   mlsjunkgen = derive2 { name="mlsjunkgen"; version="0.1.1"; sha256="109ag52x4y3rzx8yccilrnl24mz4ximzx6v4lrbak7dpiclqrw7a"; depends=[]; };
-  mlt = derive2 { name="mlt"; version="0.2-1"; sha256="0ir792clkfzvxl2w1r0akbp7isi7jspq3blhkrzh2rsf15x48fha"; depends=[alabama basefun BB numDeriv quadprog sandwich survival variables]; };
-  mlt_docreg = derive2 { name="mlt.docreg"; version="0.2-1"; sha256="08va5gfsl71ijrrij0kyr7icjbpfm0wxfvp0554sxvmca75bqqcl"; depends=[mlt numDeriv]; };
+  mlt = derive2 { name="mlt"; version="1.0-0"; sha256="0vbja0sxjg3a5gpa8wwnj1fvr8kkvkpzhim6lssvyy7kcb44fcya"; depends=[alabama basefun BB coneproj numDeriv sandwich survival variables]; };
+  mlt_docreg = derive2 { name="mlt.docreg"; version="1.0-0"; sha256="1shhf5pk90cfia51a0qnbg8pvvv5n86d3mjy961rjs1wj30vj3yd"; depends=[mlt numDeriv]; };
   mltools = derive2 { name="mltools"; version="0.3.4"; sha256="18dxhims684a6fk44nrzdnry8dpxs69wim8kd7zamp8zdhy38kyy"; depends=[data_table Matrix]; };
-  mlxR = derive2 { name="mlxR"; version="3.2.0"; sha256="1a0104h4b0qag20xv5sg8m4b0ndvz843lnc4jypfxns3bi5k4v1m"; depends=[ggplot2 Rcpp XML]; };
-  mma = derive2 { name="mma"; version="6.0-0"; sha256="1wb6d8943yfi85d6s1bk8j853lkni4yk876pnjziq16x93lgkjsv"; depends=[car doParallel foreach gbm gplots plotrix survival]; };
+  mlvocab = derive2 { name="mlvocab"; version="0.0.1"; sha256="0lv9aqrwm00jdklig80yi5lxj87sh6ysg7qkg0kf1nv05lkvrpb0"; depends=[digest Matrix Rcpp sparsepp]; };
+  mlxR = derive2 { name="mlxR"; version="3.3.0"; sha256="0qbhmxmsyqfc2csk96qwizpjj7yk35r85rr5xaqkyr72mjn2m3gh"; depends=[ggplot2 Rcpp XML]; };
+  mma = derive2 { name="mma"; version="6.1-0"; sha256="1rrnm7szlaly8klqgi8wdh5qvfx4kx5bkl1q2y9y6zjpxmb4zvi6"; depends=[car doParallel foreach gbm gplots plotrix survival]; };
   mmand = derive2 { name="mmand"; version="1.5.3"; sha256="1n0h7nia9jjc11g8417nfd3wsg4m3bmblm9bsjd0b52vqxhpxmzh"; depends=[Rcpp]; };
   mmap = derive2 { name="mmap"; version="0.6-15"; sha256="0p3dsq0vffb0x0i8xh8p1r0b2hwk4zfi6nbwsi3cyaj1m7dzm0fh"; depends=[]; };
   mmapcharr = derive2 { name="mmapcharr"; version="0.1.0"; sha256="0szabsacbqm51jw4q4pg304vvgqsqna5c7q1sh3f54za6dddmyxw"; depends=[BH Rcpp]; };
   mmc = derive2 { name="mmc"; version="0.0.3"; sha256="03nhfhiiadga8mcp33kj20g33v9n5i62fdqgi20h5p80g849k719"; depends=[MASS survival]; };
-  mmcm = derive2 { name="mmcm"; version="1.2-6"; sha256="0lk2lk8j4hq6shw3vpq53gvh2w1gwkayvgfny4i04k5fglbwivg7"; depends=[mvtnorm]; };
+  mmcm = derive2 { name="mmcm"; version="1.2-7"; sha256="11dgb8crz5pjpx66cxxzn4lg58jbaxxhfqlcw3hdp9wpvyqjh3sb"; depends=[mvtnorm OpenMPController]; };
   mmds = derive2 { name="mmds"; version="1.1"; sha256="0f5qzkfhi7vg8vsd8r41idmbwrrgc7qzfnp81adms2yzrza17wrw"; depends=[]; };
   mme = derive2 { name="mme"; version="0.1-5"; sha256="07k1xagwpyzsrlc00y9xlaxcpwdhz55v567i7fzvqa96ical8nlf"; depends=[MASS Matrix]; };
   mmeln = derive2 { name="mmeln"; version="1.2"; sha256="1kcfq5y2fzsrbjyvh6dfp734ly7alj9vrjikzadlz33s7wjanh79"; depends=[]; };
   mmeta = derive2 { name="mmeta"; version="2.3"; sha256="0hyxpph2hfjwiy95r0n3h64aab5ziqp2a8gmmpp6nyc77h638czb"; depends=[aod]; };
   mmm = derive2 { name="mmm"; version="1.4"; sha256="1nydian004nldqhyw3x15w6qfml2gkjc0x8ii54faz563byjv3d8"; depends=[gee]; };
   mmm2 = derive2 { name="mmm2"; version="1.2"; sha256="1h9pn5s3jjs4bydrr1qysjb4hv7vs4h3m7mvi22ggs2dzyz3b298"; depends=[gee]; };
+  mmmgee = derive2 { name="mmmgee"; version="1.11"; sha256="0q7gf8r48vw4rxq7b848hcfz9iqw89sld4ra33n6kb2jqczv49xi"; depends=[Matrix mvtnorm]; };
   mmod = derive2 { name="mmod"; version="1.3.3"; sha256="1dz6887mlqbagjj98wcabmxj9hvsz8pgsizy1fqkwjhhs44c62y4"; depends=[adegenet pegas]; };
   mmpf = derive2 { name="mmpf"; version="0.0.4"; sha256="1lskpnhqiimf7ch5xg5f0mpvhxy18a5w9daxpp4133vx1dydm4c2"; depends=[checkmate data_table]; };
   mmpp = derive2 { name="mmpp"; version="0.6"; sha256="16aypjf4i0ya3qgxqrrg8y0xbnq1pnqky1dpkgln5q494hphyg91"; depends=[]; };
@@ -8343,7 +8564,7 @@ in with self; {
   moderndive = derive2 { name="moderndive"; version="0.1.1"; sha256="11xxklaqizlx36nyx3nzj9xkszg99qsmjqmr59z235h4wkrw8xg3"; depends=[assertive broom dplyr formula_tools janitor knitr magrittr rlang stringr tibble]; };
   modes = derive2 { name="modes"; version="0.7.0"; sha256="185qjrmz2sj0l5931g4d3kx3jpgjn4rf4lln84h6g97prk1ykqmj"; depends=[]; };
   modest = derive2 { name="modest"; version="0.3-1"; sha256="07rs014hdcabp2n0gg14pz2gmqgbw38vjv7a80vkzzh3601hxqws"; depends=[knitr rhandsontable shiny shinyBS]; };
-  modifiedmk = derive2 { name="modifiedmk"; version="0.1.1"; sha256="1hn079nxgn1h8p89r93g8zxhpr0l6x9c6jzvvs8wmyvh7s9yahla"; depends=[]; };
+  modifiedmk = derive2 { name="modifiedmk"; version="0.1.2"; sha256="1ajllhv33sdqa6bdylb6hs68kkk75qa1abv6kmnfix9k2g0bqlxq"; depends=[]; };
   modiscloud = derive2 { name="modiscloud"; version="0.14"; sha256="0vwhfp50yb21xkanvzk983vk0laflv60kj1ybx3fydfljwqx0rwj"; depends=[date raster rgdal sfsmisc sp]; };
   modmarg = derive2 { name="modmarg"; version="0.9.2"; sha256="1clyfvn5k87nyh5cj4b0yi2zkavwvnirhlirxkzi8m2qijdl9vgh"; depends=[]; };
   moduleColor = derive2 { name="moduleColor"; version="1.08-3"; sha256="183l968l49b7jbmvsjjnmk1xd36cpjkp777c00gw1f73h6nb2na8"; depends=[dynamicTreeCut impute]; };
@@ -8357,16 +8578,17 @@ in with self; {
   mombf = derive2 { name="mombf"; version="1.9.6"; sha256="01qvgxiw0wqp7j4l1qkdy88fvmydz5il09k6nrblbq0sfjf0khmq"; depends=[actuar mgcv mvtnorm ncvreg survival]; };
   momentchi2 = derive2 { name="momentchi2"; version="0.1.5"; sha256="1fv0jmwws4mkl9dsaybfpj29ncvqx2idsijgwz2qjblcg309a6k9"; depends=[]; };
   moments = derive2 { name="moments"; version="0.14"; sha256="0f9y58w1hxcz4bqivirx25ywlmc80gbi6dfx5cnhkpdg1pk82fra"; depends=[]; };
-  momentuHMM = derive2 { name="momentuHMM"; version="1.3.0"; sha256="0cbdmx1rq4524xphc3ncjfz5gqdp5k2zmndg1fifqzjc2n3qki9l"; depends=[argosfilter boot Brobdingnag car CircStats conicfit crawl doParallel foreach geosphere ggmap ggplot2 gstat LaplacesDemon MASS mitools moveHMM mvtnorm nleqslv numDeriv qdapRegex raster Rcpp RcppArmadillo sp survival]; };
+  momentuHMM = derive2 { name="momentuHMM"; version="1.4.0"; sha256="0dfnxq16a2hyy1a4w7v55f6mp62xhldwsj2v54yw4s2d21dqir4y"; depends=[argosfilter boot Brobdingnag car CircStats conicfit crawl doParallel foreach geosphere ggmap ggplot2 gstat LaplacesDemon MASS mitools moveHMM mvtnorm nleqslv numDeriv prodlim qdapRegex raster Rcpp RcppArmadillo sp survival]; };
   momr = derive2 { name="momr"; version="1.1"; sha256="091vzaw8dm29q89lg2iys25rbg2aslgdn9sk06x038nngxdrn95r"; depends=[gplots Hmisc nortest]; };
   mondate = derive2 { name="mondate"; version="0.10.01.02"; sha256="18v15y7fkll47q6kg7xzmj5777bz0yw4c7qfiw2bjp0f3b11qrd2"; depends=[]; };
   mongolite = derive2 { name="mongolite"; version="1.5"; sha256="06qry561kdg4lxvdayghmhmgb94sqy16gxjp081xnmya0vqf9wjy"; depends=[jsonlite openssl]; };
   monitoR = derive2 { name="monitoR"; version="1.0.7"; sha256="1h1g0m1j13mz37xxwck4s7a0bfqvi0nrzfw60j7bkzaah8zxcc9n"; depends=[tuneR]; };
-  monkeylearn = derive2 { name="monkeylearn"; version="0.1.3"; sha256="1sq30pkqd8q4dck4ck1lfdfyiir5p4c87i3xnvx7w9spx3c6pxpd"; depends=[digest httr jsonlite tibble]; };
+  monkeylearn = derive2 { name="monkeylearn"; version="0.2.0"; sha256="18lpfs64h0hy4vkdjlnmxwgagvf54kn8a1c866vv00ckyp85fvn2"; depends=[cowsay digest dplyr httr jsonlite magrittr purrr ratelimitr tibble tidyr]; };
   monmlp = derive2 { name="monmlp"; version="1.1.5"; sha256="19cx60csm8mnf6ksg64vlhi8wi1c7bmv9l55y9zmaljblr0kmzxf"; depends=[optimx]; };
   monographaR = derive2 { name="monographaR"; version="1.2.0"; sha256="0sis2kw07ifq54w6p56zspmlnvxvq6ajb0sdvc9fk480sfxg9806"; depends=[circular maptools png raster rmarkdown sp]; };
   monomvn = derive2 { name="monomvn"; version="1.9-7"; sha256="1bz967sl6ji84x9v0fypjn75d39naaqgvw31n9lgcd5lyj39hbsk"; depends=[lars MASS mvtnorm pls quadprog]; };
   monoreg = derive2 { name="monoreg"; version="1.2"; sha256="16n622j1j998a5fhn1c1qbzk5bfa5h09d95ry89gsd00p40hqg0a"; depends=[]; };
+  monotonicity = derive2 { name="monotonicity"; version="1.0"; sha256="0xpsn57lixw6pzf7qyp2x6az7vwbfw9bsd0yz93710pyyhkzr94b"; depends=[lmtest MASS sandwich]; };
   monreg = derive2 { name="monreg"; version="0.1.3"; sha256="08rcg2xffa61cgqy8g98b0f7jqhd4yp8nx6g4bq3g722aqx4nfg3"; depends=[]; };
   moonBook = derive2 { name="moonBook"; version="0.1.3"; sha256="1wy8qwzymh482gfb4v9v74k666mq8dz2yird7gz43l3hps22kfgb"; depends=[nortest survival]; };
   moonsun = derive2 { name="moonsun"; version="0.1.3"; sha256="1y8mwxmcy4iz444c2fayyi4i0jk1k561dp6cbjg2b3lmdml0whmi"; depends=[]; };
@@ -8380,6 +8602,7 @@ in with self; {
   mosaicCore = derive2 { name="mosaicCore"; version="0.4.2"; sha256="17yani6781znrrnrcji1q7h6y422bq443gzly0mm6yn8bj7v5qrc"; depends=[dplyr lazyeval MASS rlang tidyr]; };
   mosaicData = derive2 { name="mosaicData"; version="0.16.0"; sha256="09kp3d3h3xmz9fnjaz9nr1jldjd93gyq5gq9sk2a2ymgnbmbc5wm"; depends=[]; };
   mosaicModel = derive2 { name="mosaicModel"; version="0.3.0"; sha256="1gx4rzh0h922gyb50vz6q5vqqp5ry5hf2mq95948q2gcady91k5w"; depends=[caret dplyr ggformula ggplot2 knitr lazyeval MASS mosaicCore testthat tibble tidyr tidyverse]; };
+  mosum = derive2 { name="mosum"; version="1.1"; sha256="0njpmb7mhgmaylfq1jgk198d6sc6r96kywbjpl2c465kvs8khc2f"; depends=[plot3D Rcpp zoo]; };
   motmot_2_0 = derive2 { name="motmot.2.0"; version="1.1.2"; sha256="1hnpp2850yhvxki7pcwscg79knvxzs3gx4b19wza0wg3p02fvsb6"; depends=[ape caper coda MASS mvtnorm]; };
   moult = derive2 { name="moult"; version="2.1.0"; sha256="0k0969fwy648x25xw42w5ncimyw2cbq305rzf4m77p3pf0k50m9b"; depends=[Formula Matrix]; };
   mountainplot = derive2 { name="mountainplot"; version="1.2"; sha256="1bbgkps1yhfa0lmapqkhhl5mc63p0gzszxw2g910dbi1cjc0pphx"; depends=[lattice]; };
@@ -8407,7 +8630,7 @@ in with self; {
   mpt = derive2 { name="mpt"; version="0.5-4"; sha256="01akz72z6z5ybzika120v4v6ah13hfynh98rzbmqgbchijxbbkz6"; depends=[]; };
   mptools = derive2 { name="mptools"; version="1.0.1"; sha256="1g4fbfwxv9hir0jn22nh9854blgkh0b5jan3lv0888izj4isa1hc"; depends=[animation lattice latticeExtra raster rasterVis sp viridis zoo]; };
   mr_raps = derive2 { name="mr.raps"; version="0.2"; sha256="069vyvsdgc5m7n2fd0h7jrllz789zvsxka7h5wiy36dc7lagd6f8"; depends=[nortest]; };
-  mrMLM = derive2 { name="mrMLM"; version="2.1"; sha256="0ip8xd2dj6d4hxq18pf4j6mk4yl00ajci72rr485wk94cr0zj5hy"; depends=[ggplot2 gWidgets gWidgetsRGtk2 lars MASS ncvreg openxlsx qqman RGtk2 RGtk2Extras stringr]; };
+  mrMLM = derive2 { name="mrMLM"; version="3.0"; sha256="174d12dxrsndd8hkc4ivfa5wd7ixh3vkkvd1br5zm5rwxbq3c71l"; depends=[coin data_table doParallel foreach ggplot2 lars MASS ncvreg openxlsx qqman sampling stringr]; };
   mra = derive2 { name="mra"; version="2.16.11"; sha256="0268msdy4cs2ifpagmwiabi6aav54ckn214ai18aqv2h97hmixw0"; depends=[]; };
   mratios = derive2 { name="mratios"; version="1.3.17"; sha256="0a2pn4234ri5likaqbxgkw8xqmwchr6fak3nninral0yzd4rcal5"; depends=[mvtnorm]; };
   mrbsizeR = derive2 { name="mrbsizeR"; version="1.0.1"; sha256="1gr8mx1byq8nw095yla4gn2ascgw4d90j7a3a3rzwfdavkjj7167"; depends=[fields maps]; };
@@ -8426,27 +8649,28 @@ in with self; {
   msaR = derive2 { name="msaR"; version="0.3.0"; sha256="0lj9yhsissr4rgavyhgdxi2nrkq2088darzraisx9jsirjr49jf8"; depends=[ape htmlwidgets]; };
   msaenet = derive2 { name="msaenet"; version="2.8"; sha256="1293qdvn2qv3prnp4rwwndcjnzk49v565yfvzrvb9j7sqvjshf07"; depends=[foreach glmnet Matrix mvtnorm ncvreg survival]; };
   msap = derive2 { name="msap"; version="1.1.8"; sha256="0z5lm782jjb9w1h5vgz8bmxjdcrq9zb3xp1w5cb479jjc7krlgg3"; depends=[ade4 ape]; };
-  mschart = derive2 { name="mschart"; version="0.2.2"; sha256="0h6q7vzrhw9ccj3m037kw72ylqdsj7hlf0bqpghqpa3sv280ap2n"; depends=[cellranger data_table htmltools officer R6 writexl xml2]; };
+  mschart = derive2 { name="mschart"; version="0.2.3"; sha256="0lq2hhbwy3hycbvzhrhny7jk5cc4iq89a4mff5q2jjfff13vmm6g"; depends=[cellranger data_table htmltools officer R6 writexl xml2]; };
   mscstexta4r = derive2 { name="mscstexta4r"; version="0.1.2"; sha256="1hjcasmn33xav2mw085lcndv0432l6sz327aikf63491wj1sj7mw"; depends=[dplyr httr jsonlite pander stringi]; };
   mscsweblm4r = derive2 { name="mscsweblm4r"; version="0.1.2"; sha256="031s00wpr9zfjpii56m67q1phn05vqlhb8cfzhyf6fbrxvpb8k7n"; depends=[httr jsonlite pander]; };
   msda = derive2 { name="msda"; version="1.0.2"; sha256="05khpa5qasnngn6yvk87gv5262plqpw4knb6hzgy52w401k0y80r"; depends=[MASS Matrix]; };
   msde = derive2 { name="msde"; version="1.0.3"; sha256="18l5ca4s1ryyb9i0zsb03klm53f25klwyg171dqkn5z4bqwznp2m"; depends=[Rcpp RcppProgress]; };
   mseapca = derive2 { name="mseapca"; version="1.0"; sha256="115njdk8cv55zxd38hq9qaca686ykckni0f3xl8w3bn32gb5g9a7"; depends=[XML]; };
-  msgl = derive2 { name="msgl"; version="2.3.6"; sha256="0qq9v8bb70iw67raygpzsg35nb2wdafp7rh7wzq42xd4gghi31ya"; depends=[BH Matrix Rcpp RcppArmadillo RcppProgress sglOptim]; };
+  msgpack = derive2 { name="msgpack"; version="1.0"; sha256="1j1nnca9nm3l1r4wjjlb15zr8p6zw1lcgyj4383ndy156bbh1f5a"; depends=[]; };
   msgpackR = derive2 { name="msgpackR"; version="1.1"; sha256="0a6vm4q1zfy8wlvhl9wfy09ig1iag9fvjasz5w9bll7idky4ldx5"; depends=[]; };
   msgps = derive2 { name="msgps"; version="1.3"; sha256="0nvxy9a41z5d111gqr1gh521imm795l1li70g1mzrag1gpg810c5"; depends=[]; };
   msgtools = derive2 { name="msgtools"; version="0.2.7"; sha256="1lk4r9gdhlfarl5z6a48aih682q7dvwa6lf31119lljpa5gmi92y"; depends=[devtools digest hunspell poio tibble]; };
+  msigdbr = derive2 { name="msigdbr"; version="6.1.1"; sha256="0d8jxkfnlybs17s0qfxr1qcg6r4pp4q6c3srmm2r8zp7ln0qkj8j"; depends=[dplyr magrittr rlang tibble]; };
   msir = derive2 { name="msir"; version="1.3.1"; sha256="1ipzgdffsqly3dp91pw7yp3h5cwn08l9qsj7cdmrykd42jc98950"; depends=[mclust rgl]; };
   msltrend = derive2 { name="msltrend"; version="1.0"; sha256="1rwy77ijf3hzq2zp47cijwvqcq34rdlfxwhrd9l56bvmlmzr1dqx"; depends=[changepoint forecast plyr Rssa tseries zoo]; };
   msm = derive2 { name="msm"; version="1.6.6"; sha256="06m7fflb6lgjfnj9v4wjc63x2as8jvc24qmz6jvgm9fw7hnm24px"; depends=[expm mvtnorm survival]; };
-  msma = derive2 { name="msma"; version="0.7"; sha256="0rrxxva71j8gk25hi6hycnyrhrdc0skcaj1bnmh029cqhjl3qma5"; depends=[mvtnorm]; };
-  msme = derive2 { name="msme"; version="0.5.1"; sha256="1bkj10pgmv9q61384fwd2pxccclclc3knc5x212p42w4w49hnm1q"; depends=[lattice MASS]; };
+  msma = derive2 { name="msma"; version="1.0"; sha256="1pq1m8hrvpfjh89wiz4f3jlzlp620clxzash5061zbhm0xjmxjpd"; depends=[mvtnorm]; };
+  msme = derive2 { name="msme"; version="0.5.3"; sha256="0mq57zdas1s87nblnvbif9lisgahfhvmabglvp9imr1mvpwybpbh"; depends=[lattice MASS]; };
   msmtools = derive2 { name="msmtools"; version="1.3"; sha256="0p7xpj78cjc1s015ma7vc38kqiy6wvpyixrdinx4ngig1pqfrq4p"; depends=[data_table msm survival]; };
   msos = derive2 { name="msos"; version="1.1.0"; sha256="1dlqmjz5f8h71334kzdjbzvkn0dhysp7fb18g45qqs79cqpf1vzf"; depends=[mclust tree]; };
   msr = derive2 { name="msr"; version="0.4.4"; sha256="1r7kzicyi380xylw4vl88918gqmvs875f3rssx57yg28swb93sv0"; depends=[colorspace e1071 glmnet RColorBrewer rgl]; };
   mssqlR = derive2 { name="mssqlR"; version="1.0.0"; sha256="0qdnm7cx9cg14vfcnkmcjqr1jpxsw8xlrbnxldvzz44mzv2n878l"; depends=[magrittr RODBC]; };
-  mstR = derive2 { name="mstR"; version="1.0"; sha256="0c189ia2mbhn183j0vbqxhwb20ww64fj11pq7p2cd55zfih4kp4b"; depends=[]; };
-  mstate = derive2 { name="mstate"; version="0.2.10"; sha256="14namzs0s7v28xkj1pidccjpxg7570fdqhd64rihvyv1r7ybfyav"; depends=[RColorBrewer survival]; };
+  mstR = derive2 { name="mstR"; version="1.2"; sha256="0v8cv9pswkvw0lva6jx5vavsb20dawgq83gn4rgydyhvigcl5szd"; depends=[]; };
+  mstate = derive2 { name="mstate"; version="0.2.11"; sha256="13kw1n1p2f1f0k5hkcc4732wlhiy3csx8nx2ajrgw06svzksgh3y"; depends=[RColorBrewer survival]; };
   mstherm = derive2 { name="mstherm"; version="0.4.7"; sha256="04jrp0w17svwmrvx356jmh04npbwhk9nvfy3r39vqr82yrvn6jip"; depends=[doParallel foreach nls2 plotrix RColorBrewer]; };
   msu = derive2 { name="msu"; version="0.0.1"; sha256="1vhh9725dbywmzihnmsq1jircpn91r8227j2f76fvma9rwss90p7"; depends=[entropy]; };
   mtconnectR = derive2 { name="mtconnectR"; version="1.1.0"; sha256="068rp4n2afl9qgqrnp0a4lmnq7mq9wrc2yi361bfvib96gzg1fdw"; depends=[data_table dplyr dtw ggplot2 magrittr plyr proxy stringr tidyr XML]; };
@@ -8456,14 +8680,15 @@ in with self; {
   muRL = derive2 { name="muRL"; version="0.1-11"; sha256="1pyspp1wpd80hcla1zwnl3misqggfk0ls54akwnx5aa617bibzz8"; depends=[maps stringr]; };
   muStat = derive2 { name="muStat"; version="1.7.0"; sha256="18727xj9i9hcnpdfnl1b9wd6cp7wl1g74byqpda2gsrcardl57wz"; depends=[]; };
   muckrock = derive2 { name="muckrock"; version="0.1.0"; sha256="16lm1iiaaws7clby7qgblqdiznw6abjjgvsxlfpza7l2xdvplxpg"; depends=[]; };
-  mudata2 = derive2 { name="mudata2"; version="1.0.0"; sha256="0wlj9kra99ll3vmhkrw3gibricq3gwfl27iymnzrvv847lpvqjml"; depends=[dplyr ggplot2 hms jsonlite lubridate magrittr readr rlang stringr tibble tidyr tidyselect]; };
+  mudata2 = derive2 { name="mudata2"; version="1.0.2"; sha256="14jd0fwc11a5640p0vr5dgfw7f1h7473ybqhalg20n7519jybfcb"; depends=[dplyr ggplot2 jsonlite lubridate magrittr readr rlang stringr tibble tidyr tidyselect]; };
   mudfold = derive2 { name="mudfold"; version="1.1.0"; sha256="0mp25lad79dx2101srarx26my172jbkd6a0bzr87hjdgqr1pys5b"; depends=[ggplot2 gtools reshape2 yesno zoo]; };
+  mueRelativeRisk = derive2 { name="mueRelativeRisk"; version="0.1.1"; sha256="16yclfmgxc32pv00vyb9fjdh4syax8ynizr8a29haiq22q5fqclh"; depends=[]; };
   muhaz = derive2 { name="muhaz"; version="1.2.6"; sha256="1b7gzygbb5qss0sf9kdwp7rnj8iz58yq9267n9ffqsl9gwiwa1b7"; depends=[survival]; };
   muir = derive2 { name="muir"; version="0.1.0"; sha256="0h3qaqf549v40ms7c851sspaxzidmdpcj89ycdmfp94b2q3bmz98"; depends=[DiagrammeR dplyr stringr]; };
   multcomp = derive2 { name="multcomp"; version="1.4-8"; sha256="0fm78g4zjc6ank316qfw977864shmy890znn4fahwc8jjdhpc252"; depends=[codetools mvtnorm sandwich survival TH_data]; };
   multcompView = derive2 { name="multcompView"; version="0.1-7"; sha256="18gfn3dxgfzjs13l039l2xdkkf10fapjjhxzjx76k0iac06i1p7i"; depends=[]; };
   multdyn = derive2 { name="multdyn"; version="1.6"; sha256="06yab2lmxp7lc7zjk8n194mn5vza0yjbp276iair3ry35my4h3v8"; depends=[data_table ggplot2 Rcpp RcppArmadillo reshape2]; };
-  multfisher = derive2 { name="multfisher"; version="1.0"; sha256="1pc3f6f87n29cb4caszp4arpy33pc3a0iwmrqinhyw66xjnqm8qp"; depends=[]; };
+  multfisher = derive2 { name="multfisher"; version="1.1"; sha256="0vzvq7v2xz35fx8pg25c9xqkic09k6fcg9zh81j7pgqmzi2wwrp8"; depends=[]; };
   multgee = derive2 { name="multgee"; version="1.6.0"; sha256="17qrfvxxapqzjy2ps7kk9k9hkmb9zdxflwclyagp1amgv50la49f"; depends=[gnm VGAM]; };
   multiApply = derive2 { name="multiApply"; version="1.0.0"; sha256="1hlrh5v52ym226dg4by0hxbkbpv4qsmmbaraxiyywsmwh3nx2fw8"; depends=[abind doParallel foreach plyr]; };
   multiAssetOptions = derive2 { name="multiAssetOptions"; version="0.1-1"; sha256="1kb4qxyl9shvrpqfxq26lhh3sssmyjcnhhcl6gcbb0s86snh9ms9"; depends=[Matrix]; };
@@ -8483,21 +8708,21 @@ in with self; {
   multigroup = derive2 { name="multigroup"; version="0.4.4"; sha256="1r79zapziz3jkd654bwsc5g0rphrk9hkp1fpik8jvjsa1cix40mq"; depends=[MASS]; };
   multilaterals = derive2 { name="multilaterals"; version="1.0"; sha256="11zfdhn6qzqz0n31g23bn40wnfzkjndb753iiqvihirphzb74v5v"; depends=[ape igraph]; };
   multilevel = derive2 { name="multilevel"; version="2.6"; sha256="19zrvpq23dn69d7kai1rgw5b8ibmgybnbg6isliq0n8bv9jvrzia"; depends=[MASS nlme]; };
-  multilevelPSA = derive2 { name="multilevelPSA"; version="1.2.4"; sha256="0v4mhdpagmkjsc8x4wlqxa88yl3v0y91a1bbq1lh3rhqfmp9yra5"; depends=[ggplot2 MASS party plyr PSAgraphics psych reshape xtable]; };
+  multilevelPSA = derive2 { name="multilevelPSA"; version="1.2.5"; sha256="0926jaicdxk846vyfphb2hyg3zan3wal44x1bwamws0zf4flc4hj"; depends=[ggplot2 MASS party plyr PSAgraphics psych reshape xtable]; };
   multimark = derive2 { name="multimark"; version="2.0.1"; sha256="0d283gvzqmdwr1sxgfb5ir9zw0sahj1wph7izcy1h63h6qlci828"; depends=[Brobdingnag coda Matrix mvtnorm prodlim raster RMark sp statmod]; };
-  multimode = derive2 { name="multimode"; version="1.0"; sha256="00cv1h3qrk1wgkvq69kqis0jb3yhpcsrww80y6gh8ziyr6kcwx1f"; depends=[diptest ks rootSolve]; };
+  multimode = derive2 { name="multimode"; version="1.1"; sha256="0dhzpvw71szyw454gi7460yr46j1vas109xgwyz9h6kwm6gi5ysn"; depends=[diptest ks rootSolve]; };
   multinbmod = derive2 { name="multinbmod"; version="1.0"; sha256="1c4jyzlcjkqdafj9b6hrqp6zs33q6qnp3wb3d7ldlij7ns9fhg71"; depends=[]; };
-  multinet = derive2 { name="multinet"; version="1.1.1"; sha256="13f7gqf45ydnyiv36gwcrc8mgv5gy61fak0in7f8bss4bvfldbxx"; depends=[igraph Rcpp]; };
+  multinet = derive2 { name="multinet"; version="1.1.4"; sha256="0zajynn9mkpaqb5a208g90pv14rfxbb6k8gh9xikj4a42g9ijjsp"; depends=[igraph Rcpp]; };
   multinets = derive2 { name="multinets"; version="0.2.0"; sha256="05m0xin8wxshmwb3b9cgsvi8037wvmirbyyim1xxx2ppfwrdr2a6"; depends=[igraph Rcpp]; };
   multinomRob = derive2 { name="multinomRob"; version="1.8-6.1"; sha256="1fdjfk77a79fy7jczhpd2jlbyj6dyscl1w95g64jwxiq4hsix9s6"; depends=[MASS mvtnorm rgenoud]; };
-  multipanelfigure = derive2 { name="multipanelfigure"; version="0.10.6"; sha256="1v53fanbnyba3f1ymgxr6q8yy1g5ax49z9ig1bxk3qywpixl8yh3"; depends=[assertive_base assertive_files assertive_numbers assertive_properties assertive_types caTools ggplot2 gridGraphics gtable jpeg magrittr png rsvg tiff]; };
+  multipanelfigure = derive2 { name="multipanelfigure"; version="0.10.7"; sha256="077pjjambyyz6z2a34vnzbwyx9imalhnca3yl6q6j7w12klis41h"; depends=[assertive_base assertive_files assertive_numbers assertive_properties assertive_types caTools ggplot2 gridGraphics gtable jpeg magrittr png rsvg tiff]; };
   multipleNCC = derive2 { name="multipleNCC"; version="1.2-1"; sha256="080wpyifpw41p6jip2ia7439jdhzyb7lbhs2qzzg0hn6c0qq7mrr"; depends=[mgcv survival]; };
   multiplex = derive2 { name="multiplex"; version="2.8"; sha256="01l3kmvsrrq0c98dv5m25yjjcbc99in6dv9k5h54cyjsw4jsjhns"; depends=[]; };
   multiplyr = derive2 { name="multiplyr"; version="0.1.1"; sha256="0bsf2zhzqwl3skg26fm27j2wpifky0mph26acrlq8p72njkbcw4d"; depends=[bigmemory bigmemory_sri magrittr]; };
-  multipol = derive2 { name="multipol"; version="1.0-6"; sha256="1yjz0p4mcgzs98s61i8315wyhh986jxp8b0lq66375ckpr2ddcss"; depends=[abind]; };
+  multipol = derive2 { name="multipol"; version="1.0-7"; sha256="1rkrg3kayxa05jayg8bk1mm3hcvi76570wqfja5953hd9j4krgha"; depends=[abind]; };
   multirich = derive2 { name="multirich"; version="2.1.1"; sha256="04jr5jvds70j2psyxz12d2my61jcj5hvdyv10pvar2rpqaw0yxyh"; depends=[]; };
   multiselect = derive2 { name="multiselect"; version="0.1.0"; sha256="1cda38zq7c1r56wdfpr5dg0jfw4kzi9p7jq59qm04j461j9ag3q6"; depends=[Hmisc]; };
-  multisensi = derive2 { name="multisensi"; version="2.1"; sha256="17c1cddgzkgd583fh31wfjahpl5iv1casfs1aja000rqq1x2kfqm"; depends=[knitr sensitivity]; };
+  multisensi = derive2 { name="multisensi"; version="2.1-1"; sha256="0f8i1jvrnmdsws5w7fz9k5pb5yfl5b9hnfd8aq4zj1r6m90kb6sz"; depends=[knitr sensitivity]; };
   multisom = derive2 { name="multisom"; version="1.3"; sha256="0msxmrj4iawxg4vf4r7kj26zalxz4di2w4nxgxiakiig4g4ggy9z"; depends=[class kohonen]; };
   multispatialCCM = derive2 { name="multispatialCCM"; version="1.0"; sha256="1fzd91w10iln8qb81z240lq3fi4gq22l4rh9npkav6fiq6g6rlp8"; depends=[]; };
   multistate = derive2 { name="multistate"; version="0.2"; sha256="0jdgyzc99k4py39g98c4dlcdl918568ihcyhb7csxbsn1zn1qm9l"; depends=[date relsurv statmod survival]; };
@@ -8522,7 +8747,7 @@ in with self; {
   mvLSW = derive2 { name="mvLSW"; version="1.2.1"; sha256="012p828pyzz6xnv2akax5hx79v522dg4a2gqrjss526qylpg5j9l"; depends=[fields wavethresh xts zoo]; };
   mvMORPH = derive2 { name="mvMORPH"; version="1.0.9"; sha256="09368vgyb1s18awfr07hs1s40n2h15hy08fmir3ayhdfrdain4k6"; depends=[ape corpcor phytools spam subplex]; };
   mvMonitoring = derive2 { name="mvMonitoring"; version="0.1.0"; sha256="03nvq8nmrmrpzyxlsqzww5ghk640115l1jgmgwfahhjxkdpkzfxx"; depends=[BMS dplyr lazyeval plyr rlang robustbase xts zoo]; };
-  mvPot = derive2 { name="mvPot"; version="0.1.3"; sha256="16m9i33sbgx69426i1nkimkrp75a6jbmkzlsp9bjbm7iyxdcl48b"; depends=[evd gmp MASS numbers]; };
+  mvPot = derive2 { name="mvPot"; version="0.1.4"; sha256="04l9dn8amwp366b6lic5fkl4kck0x2m3xcsqz6as4c3h772nhq1w"; depends=[evd gmp MASS numbers]; };
   mvProbit = derive2 { name="mvProbit"; version="0.1-8"; sha256="07dizclqjlwj29yb3xwjihjh8kmn6jiq5cpf8rcirylzykfdv3wk"; depends=[abind bayesm maxLik miscTools mvtnorm]; };
   mvQuad = derive2 { name="mvQuad"; version="1.0-6"; sha256="016477dhjdkqiadc631vzpbp967mn4yli6by3s1k348mlfirwsi3"; depends=[data_table statmod]; };
   mvSLOUCH = derive2 { name="mvSLOUCH"; version="1.3.3"; sha256="18gnxs1cx4f7r3m2vgrkmm41vwkamk9mn5hcgjacv2adl0ihnagd"; depends=[ape corpcor mvtnorm numDeriv ouch]; };
@@ -8534,10 +8759,10 @@ in with self; {
   mvctm = derive2 { name="mvctm"; version="1.1"; sha256="00lrnqnzpnvrl84b41ai33iwpyb4qzpjyqrw1d18hj6szybdfhsv"; depends=[Formula MNM nlme quantreg Rfit SpatialNP]; };
   mvcwt = derive2 { name="mvcwt"; version="1.3"; sha256="0fqdyypmszm00rpl04z8kiiw6jd416a0b2rap3dqq3kchnz8h4s2"; depends=[foreach RColorBrewer]; };
   mvdalab = derive2 { name="mvdalab"; version="1.4"; sha256="18wchy517qd45w5y0sr8lcafb7kmscy0q9vsryk9if6x2jq22lqz"; depends=[car dummies ggplot2 MASS moments penalized plyr reshape2 sn]; };
-  mvglmmRank = derive2 { name="mvglmmRank"; version="1.1-2"; sha256="1051l10fbr7m9rmrlvj98660f0pn992n3vxiwnhml07wvvdknw3d"; depends=[Matrix numDeriv]; };
-  mvinfluence = derive2 { name="mvinfluence"; version="0.8"; sha256="08p5hxqa8qp8g52w2d3jqbjzrv607fdm80k6vwaz63fxhk8h82wq"; depends=[car heplots]; };
+  mvglmmRank = derive2 { name="mvglmmRank"; version="1.2-1"; sha256="1gyc1xjyapadrv43kd4kngld37q8drhx4qfcimsvf7jdp33y6g5d"; depends=[MASS Matrix numDeriv]; };
+  mvinfluence = derive2 { name="mvinfluence"; version="0.8-1"; sha256="1lpxvc6g8g9kkshxg41a2dwbxzkfnqp4dggr2j5hh2h6f0xrca4j"; depends=[car heplots]; };
   mvmesh = derive2 { name="mvmesh"; version="1.5"; sha256="0my43559jh8ln1fx5rh5vw24vr6kxpd2h5scylfxfv2qfk794l0b"; depends=[abind geometry rcdd rgl SimplicialCubature]; };
-  mvmeta = derive2 { name="mvmeta"; version="0.4.7"; sha256="1yadaviq66wdfs0dipn6gxk7jqvzwzjdr8lkfggdsl4vyyi9pwip"; depends=[]; };
+  mvmeta = derive2 { name="mvmeta"; version="0.4.11"; sha256="1h1393s7xdi4sv461srsard6w961mcxxmxq9mkmfsgw5hdmkwkr2"; depends=[]; };
   mvnTest = derive2 { name="mvnTest"; version="1.1-0"; sha256="0p37skzpljzz19x1hwh2hbxqins19zkbz7nlgfws5pgp9apazafq"; depends=[MASS mvtnorm]; };
   mvna = derive2 { name="mvna"; version="2.0.1"; sha256="10i42hjm5bk62c20pmxhya283yzw1902ivkflmyqy79jri266dxf"; depends=[lattice]; };
   mvnfast = derive2 { name="mvnfast"; version="0.2.5"; sha256="122zjzr0v4943cax10lp6flwfv479mncvalaj09kb173s5rgmf91"; depends=[BH Rcpp RcppArmadillo]; };
@@ -8558,9 +8783,9 @@ in with self; {
   mwa = derive2 { name="mwa"; version="0.4.1"; sha256="0bd4i1zzwmcsrm2bg14f528yav5hb6qxcd7x4i5rwdcx1hlx27bw"; depends=[cem MASS rJava]; };
   mwaved = derive2 { name="mwaved"; version="1.1.5"; sha256="1hb7y42fy26pv6cf235g4xx1vyvwx7chwryi7phjd2aavxffj18z"; depends=[Rcpp shiny]; };
   mxkssd = derive2 { name="mxkssd"; version="1.1"; sha256="0m9763dqrk8qkrvp18bsv96jv0xhc2m8sbxdk6x3w6kdjcl663p2"; depends=[]; };
-  myTAI = derive2 { name="myTAI"; version="0.6.0"; sha256="15r3ipan491n8mvmq9b1bkwx99gy6inq0nxrk35kqjjhfv2bq7c4"; depends=[doParallel dplyr edgeR fitdistrplus foreach ggplot2 gridExtra nortest RColorBrewer Rcpp readr reshape2 scales taxize tibble]; };
+  myTAI = derive2 { name="myTAI"; version="0.7.0"; sha256="1x7zhkjm89xdzgn4z2ivl9w5srsfbavzdw8kgn2v7x75ihs0dr2n"; depends=[biomartr doParallel dplyr edgeR fitdistrplus foreach ggplot2 gridExtra nortest RColorBrewer Rcpp readr reshape2 scales taxize tibble]; };
   mycobacrvR = derive2 { name="mycobacrvR"; version="1.0"; sha256="1xd9ackzdd8db6bayza0bg4n256mi9rdqih0cdc0nl212c3iz75g"; depends=[]; };
-  mycor = derive2 { name="mycor"; version="0.1"; sha256="1ibcxl9v2d2mxpwad0rv5dw1j645rrg05f4aqvyhyd40hz9823mr"; depends=[lattice]; };
+  mycor = derive2 { name="mycor"; version="0.1.1"; sha256="00hqmvga22bv43833s974s7ky7lbry3r2bb5kza7kvkn1p6773rg"; depends=[lattice]; };
   myepisodes = derive2 { name="myepisodes"; version="1.1.1"; sha256="0xk9bwgpl630nhc8qa2pc0rwqbqk3haxnp78gfxq6sn6z7i44k1p"; depends=[XML]; };
   mztwinreg = derive2 { name="mztwinreg"; version="1.0-1"; sha256="1rg6ikaqdrc7q44s3r3km8h45prnvcpzpxd7nxbmh209iz9j19ai"; depends=[mclogit rms]; };
   n1qn1 = derive2 { name="n1qn1"; version="6.0.0-1"; sha256="01bci81lhanxpfl454gl09krgb4229dnq9f34bngwm8ygvdadfgy"; depends=[Rcpp RcppArmadillo]; };
@@ -8568,18 +8793,20 @@ in with self; {
   nCal = derive2 { name="nCal"; version="2017.12-3"; sha256="1k03zrf67il7miap81r2fdnsi15i98wmwc3a8zxn54qfr2w9pcy6"; depends=[drc gdata gWidgets kyotil]; };
   nFCA = derive2 { name="nFCA"; version="0.3"; sha256="1jyyzagmppm3i7vh3ia4ic0zql1w04f66z81v0zpdihd4cbl5ra7"; depends=[]; };
   nFactors = derive2 { name="nFactors"; version="2.3.3"; sha256="016d76yfxz7gx7zz5dgwjmj2c5m6kxdmqj0lln5w6d70r9g1kxg7"; depends=[boot lattice MASS psych]; };
-  nLTT = derive2 { name="nLTT"; version="1.3.1"; sha256="1wha26lcgk2kw48vyiws1ciyp8x6d7nmkrahh5b8w23ns6bqpngf"; depends=[ape coda deSolve]; };
+  nLTT = derive2 { name="nLTT"; version="1.4"; sha256="0718r93xw8hw639xpa5w6lax7agr2k3avqx9dcdybqdp19x9qia0"; depends=[ape coda deSolve testit]; };
+  nVennR = derive2 { name="nVennR"; version="0.2.0"; sha256="0y0y15r7j3in2rqiiz42b9rzljajp0pk8172kc7gj9nshih3ryqw"; depends=[grImport2 Rcpp RcppProgress rsvg]; };
   na_tools = derive2 { name="na.tools"; version="0.2.1"; sha256="1fdbrf97mvak44vzarwqr4w6cs6msr42zcfxl2ci3i67nlgsv4pl"; depends=[]; };
   nabor = derive2 { name="nabor"; version="0.4.7"; sha256="16dxnvq6yxlrignzvxjdwzwm32fn2a8bsjqjsg5qz94ir7g3pzm6"; depends=[BH Rcpp RcppEigen]; };
   nadiv = derive2 { name="nadiv"; version="2.14.3.1"; sha256="08276bakyrn9d9vh08yzan60kigsihwfhgx788gwp6pk8v6m25wa"; depends=[Matrix]; };
   naivebayes = derive2 { name="naivebayes"; version="0.9.2"; sha256="0xmgcvvhfh7v8afi8fywaldawbx3s5hwgpvyyp2c9m6nrhw1kknl"; depends=[]; };
+  naivereg = derive2 { name="naivereg"; version="1.0.1"; sha256="0wvyv54q3r4jz03jdbsmnxsinzpqcac6xjvzcrjjdzbkqfxicxal"; depends=[gmm grpreg]; };
   namedCapture = derive2 { name="namedCapture"; version="2017.06.01"; sha256="14zimn3wbavbkwra8vfmqdm1q5bmlmsbg0b29cjly5dd4zlfzzb0"; depends=[]; };
   namespace = derive2 { name="namespace"; version="0.9.1"; sha256="1bsx5q19l7m3q2qys87izvq06zgb22b7hqblx0spkvzgiiwlq236"; depends=[]; };
   naniar = derive2 { name="naniar"; version="0.2.0"; sha256="04r3yfv6sv1yrwl4vasn5nxr0bn6fwdjk2zyx4p7vy8kfcw24300"; depends=[dplyr forcats ggplot2 glue magrittr purrr purrrlyr rlang tibble tidyr viridis visdat]; };
   nanop = derive2 { name="nanop"; version="2.0-6"; sha256="007gdc93pk0vpfmsw7zgfma2k1045n2cxwwsyy276smy0ys9fdhp"; depends=[distrEx rgl]; };
   nanotime = derive2 { name="nanotime"; version="0.2.0"; sha256="138qz844sczgzzl8vn5079590hnq96w7jdbn851cpw64gmq21r4w"; depends=[bit64 RcppCCTZ zoo]; };
   naptime = derive2 { name="naptime"; version="1.3.0"; sha256="1cadfv5sdsmz61kf96hf2gbnghf24q40g5c3h9b8prvkxslap691"; depends=[lubridate]; };
-  nardl = derive2 { name="nardl"; version="0.1.2"; sha256="16qac9qgmv96iwsr5xbg24x4a1livpjb9qmfd0i8m3nv6858c7ah"; depends=[car Formula lmtest matlab strucchange tseries]; };
+  nardl = derive2 { name="nardl"; version="0.1.4"; sha256="108m1bngal27pz80l1rdlgrx7x4id42ch95w1g9d0r5jnlxlvxp7"; depends=[Formula gtools matlab strucchange tseries]; };
   narray = derive2 { name="narray"; version="0.4.0"; sha256="0cr0y8mqwprxk0bv9160xvqxgvqkihn3avzsjm6ccivvb8zlkqxv"; depends=[reshape2 stringr]; };
   nasadata = derive2 { name="nasadata"; version="0.9.0"; sha256="0y88qdy8c1y0prsajxic5vdqfixv9knjsbhw3vbfac8wv3a69bjl"; depends=[dplyr jsonlite plyr png]; };
   nasaweather = derive2 { name="nasaweather"; version="0.1"; sha256="05pqrsf2vmkzc7l4jvvqbi8wf9f46854y73q2gilag62s85vm9xb"; depends=[]; };
@@ -8595,26 +8822,27 @@ in with self; {
   nbconvertR = derive2 { name="nbconvertR"; version="1.0.2"; sha256="1dc9jxfibvb27qwiykj93322nb1ahwrg69zqcc0p9xp0rpsim02w"; depends=[]; };
   nbpMatching = derive2 { name="nbpMatching"; version="1.5.1"; sha256="0f90k9vq05gkc0sgywb98frig63df0ih4z41dq7m2inx1zk5rqns"; depends=[Hmisc MASS]; };
   ncappc = derive2 { name="ncappc"; version="0.2.1.1"; sha256="19wq7ihcr8989xpzf1dsxz1kwwzqvsx2mwcciqv9204k4fc94zjc"; depends=[dplyr ggplot2 gridExtra gtable knitr lazyeval readr reshape2 scales testthat xtable]; };
-  ncar = derive2 { name="ncar"; version="0.3.7"; sha256="1cbcadyz84w629bz86sivfyf545w9cda078liq9l0j7gm5z5g2if"; depends=[NonCompart rtf]; };
+  ncar = derive2 { name="ncar"; version="0.3.8"; sha256="02xglxz63b9b7yfkwqrh81spzkmvglay6wpylm9fwcqxdasf3bj5"; depends=[NonCompart rtf]; };
   ncbit = derive2 { name="ncbit"; version="2013.03.29"; sha256="0f07h8v68119rjvgm84b75j0j7dvcrl6dq62vp41adlm2hgjg024"; depends=[]; };
   ncdf_tools = derive2 { name="ncdf.tools"; version="0.7.1.295"; sha256="1jgxivmg2gzvkn09n13i5xr1v0xcyp5ckhwxz6g5kdh9z2dkjhc2"; depends=[abind chron JBTools plotrix raster RColorBrewer RNetCDF]; };
   ncdf4 = derive2 { name="ncdf4"; version="1.16"; sha256="0lwjjis0b83c4l3xvqai4ckzrskd6mychck1iwxcxgjvh0d77mgd"; depends=[]; };
   ncdf4_helpers = derive2 { name="ncdf4.helpers"; version="0.3-3"; sha256="051akd7r6zx805a0xwcs95q5sd8alag0f1gzqjk3n188q8r3ji5j"; depends=[abind ncdf4 PCICt]; };
   ncdump = derive2 { name="ncdump"; version="0.0.3"; sha256="09g98mzpky32z41jf23ahzhyv34l34y1gqq99j2hl4pqlvvhxs9i"; depends=[dplyr ncdf4]; };
-  ncf = derive2 { name="ncf"; version="1.1-7"; sha256="0r3xhpinkcnkzc855q8ddd889v12snx4n1g8jyw9cnmrki8n2hxh"; depends=[]; };
+  ncf = derive2 { name="ncf"; version="1.2-3"; sha256="0d4qbfdhwy071vhkfjn9385vak73zf9c9ghbbiba1ha2d9d2irsl"; depends=[]; };
   ncg = derive2 { name="ncg"; version="0.1.1"; sha256="1jzkzp61cc5jxmdnl867lcrjjm7y2iw9imzprbd098p1j3w8fvj7"; depends=[]; };
   ncmeta = derive2 { name="ncmeta"; version="0.0.2"; sha256="1qr0zfyy8g3zrmvg6i6b7sfvl3lavr391rqgf6pqhslg7i9cgpiz"; depends=[dplyr rlang RNetCDF tibble]; };
-  ncvreg = derive2 { name="ncvreg"; version="3.9-1"; sha256="1v71r2k25n28lhpqsgzaaw48w1gwn0yjbir64hx5lchdbvd5k1j3"; depends=[]; };
-  ndjson = derive2 { name="ndjson"; version="0.5.0"; sha256="1ivwr9wm45ivk4jcc39hgqsyhilpisyhccks093iisx51vhxjjl0"; depends=[data_table dplyr dtplyr Rcpp]; };
+  ncpen = derive2 { name="ncpen"; version="0.2.0"; sha256="1wrpscd9n7z9lz7537qyy4rn4pjznlb8zwb79kkzmnfvyj21fi1r"; depends=[Rcpp RcppArmadillo]; };
+  ncvreg = derive2 { name="ncvreg"; version="3.10-0"; sha256="0q9rk1mz2rm1h99m093kz7a2p6fl3pj4nqzblp3154q8i1kva7za"; depends=[]; };
+  ndjson = derive2 { name="ndjson"; version="0.6.0"; sha256="0w7a587q45hkzmjhzlyrhk0hw4c8avkfzf4ai0wib5qk3al8gk6n"; depends=[data_table dplyr dtplyr Rcpp]; };
   ndl = derive2 { name="ndl"; version="0.2.17"; sha256="08h01rw7gsa31zp91q2rsw1ba9yf0fyhz3w8s9xq5788qwc80280"; depends=[Hmisc MASS Rcpp]; };
   ndtv = derive2 { name="ndtv"; version="0.10.0"; sha256="1j4g5qclfbw7fkykaclrsb2d70vy40fd1rgr1n73qyrkx0fyym44"; depends=[animation base64 jsonlite MASS network networkDynamic sna statnet_common]; };
   nearfar = derive2 { name="nearfar"; version="1.1"; sha256="0i2nc1b4vslgjj29x5q24yxv9l3i0g5hcrbm9xy1b3039n70cwix"; depends=[car GenSA MASS nbpMatching]; };
   neariso = derive2 { name="neariso"; version="1.0"; sha256="1npfd5g5xqjpsm5hvhwy7y84sj5lqw9yzbnxk6aqi80gfxhfml4c"; depends=[]; };
-  neat = derive2 { name="neat"; version="1.1.2"; sha256="13y81cnf3j1cncfr5ii3xbk2k11yi3wqgr54dlfzyfzlah26zp5p"; depends=[igraph]; };
+  neat = derive2 { name="neat"; version="1.1.3"; sha256="0d8igx576jhi7f666nwn0wpdyvin974k5cfm7wdszzbnpng5961k"; depends=[igraph]; };
   neatmaps = derive2 { name="neatmaps"; version="1.0.7"; sha256="07nr8c5i1s3sba4l2123vb50b1cgn1qjdckwmyjwwai1yb3smkag"; depends=[dendextend ggplot2 heatmaply igraph pvclust]; };
   needs = derive2 { name="needs"; version="0.0.3"; sha256="16dkjpijz3rz7kd5ggxsdg55iwd42nll1vk6g5ix4xdbqrx6cp9x"; depends=[]; };
   needy = derive2 { name="needy"; version="0.2"; sha256="1ixgpnwrg6ph1n5vy91qhl1mqirli9586nzkmfvzjrhdvrm0j5l0"; depends=[]; };
-  negenes = derive2 { name="negenes"; version="1.0-5"; sha256="0fdhc0v0b820wfg3sypvya7zhg7mhfmdbfiwn1lj3a2xg01zvc2n"; depends=[]; };
+  negenes = derive2 { name="negenes"; version="1.0-8"; sha256="0qyhypryp3p8c876jffg1syg05b370mw24clwlx733yx86qhmb1v"; depends=[]; };
   neighbr = derive2 { name="neighbr"; version="1.0"; sha256="0612nzpryj4xp0ncpvpn56x5n9ammzjp3ysq1rj1fc84h0p7nml3"; depends=[]; };
   neldermead = derive2 { name="neldermead"; version="1.0-11"; sha256="0gf9rfwz48sadl6960mpfb6a3l9n5p28yq3n0a9vz8mr57vh1dzg"; depends=[optimbase optimsimplex]; };
   neotoma = derive2 { name="neotoma"; version="1.7.0"; sha256="0f4s5yw0yj4n8lkvbl2l3ivdclg9pknyss7qhppp85rdxzwxilpq"; depends=[analogue httr jsonlite leaflet plyr reshape2 xml2]; };
@@ -8622,19 +8850,19 @@ in with self; {
   nesRdata = derive2 { name="nesRdata"; version="0.1.0"; sha256="1h33hql0vgkr2ps1ysisdxxb0cnm18mh8sbd3fxy9xf42icwfwdb"; depends=[dataone dplyr purrr rappdirs readr]; };
   nestedRanksTest = derive2 { name="nestedRanksTest"; version="0.2"; sha256="0r08jp8036cz2dl1mjf4qvv5qdcvsrad3cwj88x31xx35c4dnjgj"; depends=[]; };
   net_security = derive2 { name="net.security"; version="0.3.0"; sha256="15vvcmakl9hl1srdhjf73g2bwwcxn93220i4gv0rcsw5732mjanz"; depends=[data_table dplyr jsonlite plyr R_utils stringr XML]; };
-  netCoin = derive2 { name="netCoin"; version="0.2.7"; sha256="0dzncn72zl3yp2gds7vmjk5j82rb80j03ivkf74b0z5s4ckxhc9b"; depends=[haven igraph Matrix]; };
+  netCoin = derive2 { name="netCoin"; version="0.2.8"; sha256="0axac72fj5qhssdpx8k20lgayzpwzcd3pp7cz4mv6cwfzc0y8768"; depends=[haven igraph Matrix]; };
   netassoc = derive2 { name="netassoc"; version="0.6.3"; sha256="1hyshnbpq60a3y13b4sh1c2rk78x09q01b7q6xrgv10w7bn9r2sg"; depends=[corpcor huge igraph infotheo vegan]; };
   netcoh = derive2 { name="netcoh"; version="0.2"; sha256="0q60hvyparlwdww6as6hcdzfs6q3n8z1rfpj53r5q2s77x6q07xx"; depends=[Matrix Rcpp RcppArmadillo]; };
   netcom = derive2 { name="netcom"; version="1.0.4"; sha256="0fka14sffm0p1gldk27fd62ng05spfpbn665b4w5hdf1z4z0bs20"; depends=[clue expm igraph Matrix pdist pracma vegan]; };
   netdiffuseR = derive2 { name="netdiffuseR"; version="1.19.0"; sha256="0rnf7hf5vxpqw2rn00yqmkgpsx752pmfigyggbs4ikfbcsjq24sx"; depends=[boot igraph MASS MatchIt Matrix network networkDynamic Rcpp RcppArmadillo sna SparseM]; };
   netgen = derive2 { name="netgen"; version="1.3"; sha256="1iywpl9n1yplnd38dff8m9mz1vlfbvplw393grhpav5czcknj160"; depends=[BBmisc checkmate ggplot2 igraph lhs lpSolve mvtnorm stringr]; };
   netgsa = derive2 { name="netgsa"; version="3.0"; sha256="0cqyiilpxhdi6zmibn85y1aqwpcs1aialz34klakmllzn6kvdsng"; depends=[corpcor glasso glmnet igraph Matrix]; };
-  netgwas = derive2 { name="netgwas"; version="0.1.3.1"; sha256="1fgs7dr4dhrs4hmscazsyiq1nkkx1vvygmarmy7pyqhxzv13kdwg"; depends=[glasso huge igraph MASS Matrix RBGL tmvtnorm]; };
-  netmeta = derive2 { name="netmeta"; version="0.9-7"; sha256="0yi1x0dyi7kim2yz9qwsbdnx1k6k15nmv6wlaby9z9yl7p2ij3jq"; depends=[magic MASS meta]; };
+  netgwas = derive2 { name="netgwas"; version="0.1.4.2"; sha256="19r168xppxgdj3b0b575b47vgmzbzkgwpqh499vlm5as9livjlyb"; depends=[glasso huge igraph MASS Matrix RBGL tmvtnorm]; };
+  netmeta = derive2 { name="netmeta"; version="0.9-8"; sha256="0bkfxdz14lg9r51ykwmkmpm6vhbvly35hrcgj6f26g36ihagjksd"; depends=[magic MASS meta]; };
   netrankr = derive2 { name="netrankr"; version="0.2.0"; sha256="1y56y5wv95d7mmjf8rrwr7cs0k64h9a2qbpind4xp0kakpjihn7m"; depends=[igraph Rcpp RcppArmadillo]; };
+  netregR = derive2 { name="netregR"; version="0.3.0"; sha256="106qq3mafqbcdyhnjicbzc4rzi9mr262nqb3ncpzpcvkf0xd988w"; depends=[Matrix]; };
   nets = derive2 { name="nets"; version="0.9"; sha256="1wcr0fj50w3rqxw0k9cb81c2psdkb0dwwwzrjvxv50hksbhyi8kn"; depends=[igraph]; };
-  nettools = derive2 { name="nettools"; version="1.0.1"; sha256="13fw316r31g9cjlbyy9qfccsyagxb6pyvn5k32f166b7vj92mk1q"; depends=[combinat dtw igraph Matrix minerva minet rootSolve WGCNA]; };
-  network = derive2 { name="network"; version="1.13.0"; sha256="11sg330xb7gcnl3f6lwhhjdabz6mk43828i2np635pqw4s4yl13s"; depends=[]; };
+  network = derive2 { name="network"; version="1.13.0.1"; sha256="1bbkbqkqf1d7irfwh08c13c2pfypir1ssvlqrln83irqns1ikdv0"; depends=[]; };
   networkD3 = derive2 { name="networkD3"; version="0.4"; sha256="02wxki67drppgfka1is1ykg1f2rxf0x0657c0crj7ipfy62jbf1k"; depends=[htmlwidgets igraph magrittr]; };
   networkDynamic = derive2 { name="networkDynamic"; version="0.9.0"; sha256="1949fbcw0gq8lsm6rx5d5mpj1y9k4rk2v0pmm1kxi5igi6yd8lg9"; depends=[network statnet_common]; };
   networkDynamicData = derive2 { name="networkDynamicData"; version="0.2.1"; sha256="176al8jp0gha6yzhyn5flmyackmmdnh1h8sasqrdcmba7ha7cya6"; depends=[network networkDynamic]; };
@@ -8649,35 +8877,41 @@ in with self; {
   neuralnet = derive2 { name="neuralnet"; version="1.33"; sha256="14ga04mcd793v9a2584jb9l7n20kw00fgy3gayfwrkr1j39szdls"; depends=[MASS]; };
   neurobase = derive2 { name="neurobase"; version="1.26.1"; sha256="0fb2cvh3j650zjx7b60jfrvm5i7n3l98wis91bmyr9hx3qz24rj5"; depends=[abind matrixStats oro_nifti R_utils RNifti]; };
   neuroblastoma = derive2 { name="neuroblastoma"; version="1.0"; sha256="0hs87fvwaq53xxbh2dw3hjsmf1zkyqli9qyacxf72fnkyhhl8b45"; depends=[]; };
-  neurohcp = derive2 { name="neurohcp"; version="0.7.3"; sha256="0mz8aiyimw3vqkgm54mwfvnki5hg1j958r71fs1k213zn1cg9qqr"; depends=[base64enc digest httr xml2]; };
+  neurohcp = derive2 { name="neurohcp"; version="0.8.0"; sha256="1p38n2ggz2yj6fqrlf2jm1jnjbv8a0ifi477f5qklmr4bga2c4kr"; depends=[base64enc digest httr xml2]; };
   neuroim = derive2 { name="neuroim"; version="0.0.6"; sha256="00cjr6pkip6zi2d0q3qbn3lb3k0z82v6c19qslvgpa9n0g63dr5p"; depends=[abind assertthat hash iterators Matrix Rcpp readr rgl stringr yaImpute]; };
   neuropsychology = derive2 { name="neuropsychology"; version="0.5.0"; sha256="0hlbjf8hxz4cl7fvg9mbyfmcyyxncc2nh9h1mrd2yzgrpgn0d0b5"; depends=[BayesFactor caret dplyr ggcorrplot ggplot2 Hmisc htmlTable lme4 MuMIn png ppcor psych stringi tidyr tidyverse tm wordcloud2]; };
+  neutralitytestr = derive2 { name="neutralitytestr"; version="0.0.1"; sha256="15bgb9bh4nwjhjq6wkfbk7cys4mrih3bnjv527mrack8pwkybgpa"; depends=[cowplot dplyr ggplot2 ggpmisc pracma scales]; };
   neverhpfilter = derive2 { name="neverhpfilter"; version="0.2-0"; sha256="0m4gbqnjw2nmhf25svznlf6pd0b0mslk52lpirmlj1iv04w1aq1i"; depends=[xts zoo]; };
+  newTestSurvRec = derive2 { name="newTestSurvRec"; version="1.0.2"; sha256="06p782md33wqh5wa1735yg5i01d42p74kl7h5qhqs9cd732ls6pz"; depends=[]; };
   ngram = derive2 { name="ngram"; version="3.0.4"; sha256="1q4y64dy7vcjikbfx20fpdiy1kwvxay4y90xr5j8d8zkqnva0way"; depends=[]; };
   ngramrr = derive2 { name="ngramrr"; version="0.2.0"; sha256="1p8s4p3h27g647rxx9qjfad5dzbngjbmvhw4gz0jbsmfqrsf72by"; depends=[tau tm]; };
   ngspatial = derive2 { name="ngspatial"; version="1.2-1"; sha256="1c65ws9b9s2grr44lqg8026c4p2875d0426dfmrakpb44mw2zppp"; depends=[batchmeans Rcpp RcppArmadillo]; };
   ngstk = derive2 { name="ngstk"; version="0.2.1"; sha256="12zpl20i07d1f9navs9jjrialfh798wrfn1241j7s9h3rd6xi40l"; depends=[configr data_table stringr]; };
-  nhanesA = derive2 { name="nhanesA"; version="0.6.4.3.3"; sha256="09mpxmk8w48hc14167jd2xifnj0kjz9h3h76bdnbb33wvhkn4jld"; depends=[Hmisc magrittr plyr rvest stringr xml2]; };
+  nhanesA = derive2 { name="nhanesA"; version="0.6.4.4"; sha256="0vl8bg718fk97x3yrjkg48hj3lap4gzhri53gzcwz9g4rfyrlwxp"; depends=[Hmisc magrittr plyr rvest stringr xml2]; };
   nhlscrapr = derive2 { name="nhlscrapr"; version="1.8.1"; sha256="107k063279w9cy6in99rn03w2rq42ci8s6dvb9x6f9w7y3bdpvzn"; depends=[biglm bitops RCurl rjson]; };
   nhstplot = derive2 { name="nhstplot"; version="1.0.1"; sha256="1f07gfmbx80as54mlzdbs2z1vzc78rjy6i6m7zd4jplgcqdcynws"; depends=[ggplot2]; };
   nice = derive2 { name="nice"; version="0.4-1"; sha256="1p8vmimiq9sbjvbx6c2wqwwkpnzw4kkdvjry6qyadmm3frwhj5qb"; depends=[]; };
   nicheROVER = derive2 { name="nicheROVER"; version="1.0"; sha256="0sa7wfpzkin78vz48vwa5iac82v5l1s3zczdxz8sc2kyg22fj0aw"; depends=[mvtnorm]; };
   nima = derive2 { name="nima"; version="0.4.5"; sha256="1fllq76k4r07ymd58s865hgg3yrmwa34kr5mjd89n50mm1m110mh"; depends=[assertthat devtools ggplot2 ggthemes gridExtra gtools plyr ProjectTemplate scales survival]; };
-  nimble = derive2 { name="nimble"; version="0.6-9"; sha256="1lkf386qcgw5gr8cpxfh2ncrc9wj59icygi9m37c8077h3h0sj03"; depends=[coda igraph R6]; };
+  nimble = derive2 { name="nimble"; version="0.6-10"; sha256="0aa6823b7xnp2bgrc3jwjrc2py9y57xadsahzva4zxn7vlsp5f36"; depends=[coda igraph R6]; };
   nipals = derive2 { name="nipals"; version="0.4"; sha256="0h9jxmj44x3lllxk1y2izkslafbiab175qrsxlnfcvhnaj13zsds"; depends=[]; };
+  nitrcbot = derive2 { name="nitrcbot"; version="1.0"; sha256="1cg52zv72ppv8vgfl3rccgykw2bhlk3j7pm47cydfmhqbc6sn6by"; depends=[dplyr httr]; };
   nivm = derive2 { name="nivm"; version="0.3"; sha256="111jkgirgsl1j36xgwi81wzwxial3vdw8mqzi1faldxxd9a2cixm"; depends=[bpcp ssanv]; };
   nlWaldTest = derive2 { name="nlWaldTest"; version="1.1.3"; sha256="1cppdz8qvigjdz4sgr1gm2j09zi407xxmryc28zc7ps7rvgy344h"; depends=[]; };
   nlcv = derive2 { name="nlcv"; version="0.3.2"; sha256="1lknlqd64p15lnkydbi7zx7lmhg1fdl750yjqjaccdjzrgrqvgkv"; depends=[a4Core Biobase e1071 ipred kernlab limma MASS MLInterfaces multtest pamr randomForest RColorBrewer ROCR xtable]; };
   nleqslv = derive2 { name="nleqslv"; version="3.3.1"; sha256="1n1sbp7436yd5g6v0060j2iwk4rppjq2pc5x47g9wlwnskdfgvl7"; depends=[]; };
-  nlme = derive2 { name="nlme"; version="3.1-131.1"; sha256="1xafi670a9jzb52kqxkacxfmy0viac3aql5byfq86kgkgla2sg0y"; depends=[lattice]; };
+  nlirms = derive2 { name="nlirms"; version="3.4.4"; sha256="1njyfip377a0f6hf9y32s077b4jv4h8ydbjgnl68yfypxbfn2xyx"; depends=[gridExtra gtable]; };
+  nlme = derive2 { name="nlme"; version="3.1-137"; sha256="11vyxxc0n36vb8d8g02zr0402ymicvbifwdsqm7gy9iqqnwrn101"; depends=[lattice]; };
   nlmeODE = derive2 { name="nlmeODE"; version="1.1"; sha256="1zp1p98mzbfxidl87yrj2i9m21zlfp622dfnmyg8f2pyijhhn0y2"; depends=[deSolve lattice nlme]; };
   nlmeU = derive2 { name="nlmeU"; version="0.70-3"; sha256="05kxymgybziiijpb17bhcd9aq4awmp5km67l2py9ypakivi0hc6l"; depends=[nlme]; };
   nlmixr = derive2 { name="nlmixr"; version="0.9.0-3"; sha256="1fwnq0bnsqadadgy9i1083dz4zkidwdxm2ncy6jyrk1pb055m318"; depends=[BH brew dparser ggplot2 inline lattice lbfgs Matrix memoise minqa mvtnorm n1qn1 nlme numDeriv PreciseSums R_utils Rcpp RcppArmadillo RcppEigen rex RxODE StanHeaders]; };
   nlmrt = derive2 { name="nlmrt"; version="2016.3.2"; sha256="1g0qq0a933ay65gkp04qgn2wqk6vw79pj2a228c2ski4rcmkjxyn"; depends=[]; };
-  nlnet = derive2 { name="nlnet"; version="1.0"; sha256="1ipds80qlv2zrl51v0n670g9ihb68sm98p06nvs97w05i64g8frq"; depends=[coin fdrtool igraph TSP]; };
+  nlnet = derive2 { name="nlnet"; version="1.2"; sha256="00lcyz5csjj9qbhh7yw0qlbnyv32k0c2dpm23v04n9wkdgs67jy0"; depends=[coin e1071 earth fdrtool igraph randomForest ROCR TSP]; };
   nloptr = derive2 { name="nloptr"; version="1.0.4"; sha256="1cypz91z28vhvwq2rzqjrbdc6a2lvfr2g16vid2sax618q6ai089"; depends=[]; };
-  nlreg = derive2 { name="nlreg"; version="1.2-2"; sha256="1pi7057ldiqb12kw334iavb4i92ziy1kv4amcc4d1nfsjam03jxv"; depends=[statmod survival]; };
+  nlr = derive2 { name="nlr"; version="0.1-1"; sha256="12j2hp5fgpdz7pvlpykhf9zp1sw1f6vzhh5ykk9b2diaf3l55zsl"; depends=[GA MASS nlme quantreg robcor TSA tseries]; };
+  nlreg = derive2 { name="nlreg"; version="1.2-2.1"; sha256="08pz3qycnsvz175ppj23i2i0wcif6imi6fc117n8802ln3npwm64"; depends=[statmod survival]; };
   nlrr = derive2 { name="nlrr"; version="0.1"; sha256="09wm8s5sadkhkq9pb3fjk66cb2xn8py46w1d7yp7fjhczh31bjsq"; depends=[Hmisc rms]; };
+  nls_multstart = derive2 { name="nls.multstart"; version="1.0.0"; sha256="08zdyx5hp1xbqjspk0f89fca5gc0b5j87hsccvn9dxn2lrnwk8nb"; depends=[dplyr minpack_lm purrr tibble tidyr]; };
   nls2 = derive2 { name="nls2"; version="0.2"; sha256="0k46i865p6jk0jchy03jiq131pc20h9crn3hygzy305rdnqvaccq"; depends=[proto]; };
   nlsMicrobio = derive2 { name="nlsMicrobio"; version="0.0-1"; sha256="0676n78265z00dacmq593c9l2239ii574djm9s7i7w8jk1kdhzx2"; depends=[nlstools]; };
   nlsem = derive2 { name="nlsem"; version="0.8"; sha256="0q3wk7x67mh2447ah807djyklia2x2d45krsskffynazm83msnj9"; depends=[gaussquad lavaan mvtnorm nlme orthopolynom]; };
@@ -8691,33 +8925,36 @@ in with self; {
   nlt = derive2 { name="nlt"; version="2.1-3"; sha256="1j0xrrbr1hvfda8rvnc17lj96m6cz24faxvwn68ilf7j1ab2lkgn"; depends=[adlift EbayesThresh]; };
   nlts = derive2 { name="nlts"; version="0.2-2"; sha256="0bx6xqa3j0k01p43vnv5lcv2pryjzgsak77y1cr9rm2xwqa3j6az"; depends=[acepack locfit]; };
   nmaINLA = derive2 { name="nmaINLA"; version="0.1.1"; sha256="0976jafmdhy2rz5fcarb7hh1vaanm8l2610hk06f5k93xjhypg8j"; depends=[]; };
-  nmathresh = derive2 { name="nmathresh"; version="0.1.2"; sha256="1ldxhk2ry3m8q0881fis403r303n431csmp0gp4785mafy476b5h"; depends=[ggplot2 gridExtra gtable Matrix nnls]; };
-  nmfem = derive2 { name="nmfem"; version="1.0.0"; sha256="0bkw27b59knppfh4qnhrcs2j0mpxak7iyb7lskccv6ibym2kvljw"; depends=[d3heatmap dplyr mixtools plyr tidyr]; };
+  nmathresh = derive2 { name="nmathresh"; version="0.1.3"; sha256="09pxbizmvdp2l5j1gs0v3xk2lsyclx5rndaw6b4ccn61m3x060ls"; depends=[ggplot2 gridExtra gtable Matrix nnls]; };
+  nmfem = derive2 { name="nmfem"; version="1.0.1"; sha256="10y3s7g76pnqqyg8wc3cyjiqay7scp0bdlly4yx30v2sbvxf0msx"; depends=[d3heatmap dplyr mixtools plyr tidyr]; };
   nmfgpu4R = derive2 { name="nmfgpu4R"; version="0.2.5.2"; sha256="05066rgbbp6kj2d67nzf3d1pf32gypz9ammz4ba88yxblydb3cwk"; depends=[Matrix Rcpp SparseM stringr]; };
-  nmw = derive2 { name="nmw"; version="0.1.2"; sha256="1p2h13g0ss0v2jy0ii0r0qgf8i1f0dc8zhii05k2vr6cbiapslv3"; depends=[numDeriv]; };
+  nmslibR = derive2 { name="nmslibR"; version="1.0.1"; sha256="02c2ns9dw1mkr5gmsd31j0yjcr3vr302yvqkfdkmm9csppdcrmb3"; depends=[Matrix R6 Rcpp RcppArmadillo reticulate]; };
+  nmw = derive2 { name="nmw"; version="0.1.4"; sha256="1vj7b2p40x0h3xp45qzar86i9439mj8y3r5hnlbwa025jqdf2g0q"; depends=[numDeriv]; };
+  nna = derive2 { name="nna"; version="0.0.2.1"; sha256="17cz1jf7iv61wspqldfdwbdjhlr0wq09idkzlivfb8aik5w9f0z5"; depends=[]; };
   nneo = derive2 { name="nneo"; version="0.1.0"; sha256="0jaaz15y1csh3bwmzp7mgx86m3f0w3ykzb8qdvg8ak2grxw3wl6a"; depends=[crul data_table fauxpas jsonlite tibble]; };
   nnet = derive2 { name="nnet"; version="7.3-12"; sha256="17amqnw9dpap2w8ivx53hxha2xrm0drwfnj32li0xk41hlz548r7"; depends=[]; };
   nnetpredint = derive2 { name="nnetpredint"; version="1.2"; sha256="1c6s9wm6vhylwv4xhp2hkllw18zj8hdr17ls9vlxm9qs3wx1v48w"; depends=[RSNNS]; };
   nnfor = derive2 { name="nnfor"; version="0.9.2"; sha256="1wxv8s5547spw155rj7nlilsfn5d7m40xpfy87mady93n25pwm3d"; depends=[forecast glmnet MASS neuralnet plotrix]; };
-  nngeo = derive2 { name="nngeo"; version="0.1.0"; sha256="1r92d5bgd7m9d6v424fry4hsbnwzhzww1sqrphwnk2aag70hqv0g"; depends=[geosphere lwgeom RANN sf units]; };
+  nngeo = derive2 { name="nngeo"; version="0.1.5"; sha256="1285a0p461wm91zriy7rh3awh0k0z7ifmjkxffyxh1l84y51jfak"; depends=[geosphere lwgeom RANN Rcpp sf units]; };
   nnlasso = derive2 { name="nnlasso"; version="0.3"; sha256="1n7karlmgq61z9ywfx9xb5wvmxx40ydpnzzazj1xr70qlv5m0qk4"; depends=[]; };
   nnls = derive2 { name="nnls"; version="1.4"; sha256="07vcrrxvswrvfiha6f3ikn640yg0m2b4yd9lkmim1g0jmsmpfp8f"; depends=[]; };
   noaastormevents = derive2 { name="noaastormevents"; version="0.1.0"; sha256="1pkfmvp20f6xi2iy7l6c67zspp9f4wkrh7s308hlklms2difhp6m"; depends=[choroplethr choroplethrMaps data_table dplyr forcats ggplot2 htmltab hurricaneexposure lubridate maps plyr RColorBrewer stringr tidyr viridis XML]; };
   nodeHarvest = derive2 { name="nodeHarvest"; version="0.7-3"; sha256="0nh3g50rk9qzrarpf29kijwkz9v60682i0ag77j2ipyvhhbpwpkc"; depends=[quadprog randomForest]; };
-  nodiv = derive2 { name="nodiv"; version="1.1.8"; sha256="0ws0yp4j26yf45gmbvb6dpq476z8mn8yl6xdrzs0yxliizpz8jsf"; depends=[ape picante raster sp vegan]; };
+  nodiv = derive2 { name="nodiv"; version="1.1.9"; sha256="0pbcigfqps44i07yghcg5zx5nlybivkb34bz67fnkgkpbkbs79k7"; depends=[ape picante raster sp vegan]; };
   nofrills = derive2 { name="nofrills"; version="0.3.0"; sha256="18hryq6clywlr2f45az6ryslkkarly45nacln4bwk6ip0yfl5s98"; depends=[rlang]; };
   noia = derive2 { name="noia"; version="0.97.1"; sha256="0yldfmnb4ads4s9v9cj1js8zf1w1hxasqq6qjyzwknmvmp7kh62h"; depends=[]; };
   noise = derive2 { name="noise"; version="1.0"; sha256="1a48s9vpz3nc058966lad8hydmg7z0vbzfwcf6nxc9g3c8mw4nig"; depends=[preprocessCore]; };
   nomclust = derive2 { name="nomclust"; version="1.1.1106"; sha256="17hb89k72sw3ya0wm3n95mpx4vj7mpl4mzs8qwl2773dh2mcjgjq"; depends=[cluster dummies]; };
   nomine = derive2 { name="nomine"; version="1.0.0"; sha256="1yaxhac002fxcyiz5x562fnhrsq9h9nx0qmw4rykjsc5l2qbi9gd"; depends=[httr RCurl]; };
+  nomisr = derive2 { name="nomisr"; version="0.2.0"; sha256="0a83fcn5qq2wycbn6acfhapni3k84jf1xj7aarmnr9az1gqdbwc9"; depends=[dplyr httr jsonlite readr tibble]; };
   nomogramEx = derive2 { name="nomogramEx"; version="3.0"; sha256="16235rwblnzn8k53817llwy2pzhnpifh6ij159nxymjm8ar9qpbp"; depends=[pracma rms]; };
   noncensus = derive2 { name="noncensus"; version="0.1"; sha256="0cfj17bfzddfshhhzv2ijhrp9ylcscmsysswjcsjfxmy3gbkd00q"; depends=[]; };
   noncompliance = derive2 { name="noncompliance"; version="0.2.2"; sha256="1lcybgj95z7lz7p26xbsdiv0vvms4ab4f8kad0pclacf1l43v0j6"; depends=[data_table Rcpp]; };
   noncomplyR = derive2 { name="noncomplyR"; version="1.0"; sha256="1a9m6r9cizw42nmy24jdsrsbllg5z84fs8b239axnh1fxzskg2qy"; depends=[MCMCpack]; };
   nonlinearICP = derive2 { name="nonlinearICP"; version="0.1.2.1"; sha256="1m9a1f0yrbjl0nx2l7r76pyi78b2bxj8v4jx92yga91f975mw6np"; depends=[caTools CondIndTests data_tree randomForest]; };
   nonlinearTseries = derive2 { name="nonlinearTseries"; version="0.2.3"; sha256="1pcah255hh3lqabxgjb5fsaap4s2d92lvxw9a48l1p4dkmm1lbsx"; depends=[Matrix Rcpp rgl TSA tseries]; };
-  nonmem2R = derive2 { name="nonmem2R"; version="0.1.8"; sha256="1250y5ylwfc3gwc0ilmzrwzk577bp7pj7bljvamzs3pqy4sflvrv"; depends=[ggplot2 lattice latticeExtra MASS mvtnorm]; };
-  nonmemica = derive2 { name="nonmemica"; version="0.7.9"; sha256="0krixfwzxjalmj4b1ln79c1fxxx07qj71gzdddix3p056cdrxlyq"; depends=[csv dplyr encode fold lazyeval magrittr metaplot rlang spec tidyr xml2]; };
+  nonmem2R = derive2 { name="nonmem2R"; version="0.1.9"; sha256="06irvlyhfimcx3izbfivvrxc9xbiwvqajvl5n47krgbkbd4r4ag0"; depends=[ggplot2 lattice latticeExtra MASS mvtnorm]; };
+  nonmemica = derive2 { name="nonmemica"; version="0.8.2"; sha256="1nz0sq8a1xgpasii2hpxiz79d501nnfs6awaqpp8m8lviimnhv68"; depends=[csv dplyr encode lazyeval magrittr metaplot rlang spec tidyr xml2]; };
   nonnest2 = derive2 { name="nonnest2"; version="0.5-1"; sha256="02pflg6frvsq7azwcr660qj9mpj4q3kjx6xr6v5lshg77mjfhgdg"; depends=[CompQuadForm lavaan mvtnorm sandwich]; };
   nonpar = derive2 { name="nonpar"; version="1.0.1"; sha256="0pxks3nga7jrcvq0pzr1axj3a9xvzky836fl7966a09ws1vff7i4"; depends=[]; };
   nonparaeff = derive2 { name="nonparaeff"; version="0.5-8"; sha256="1kkn68m7cqlzx3v539cjxw3x5a2y86lvmyv2k98s87m3yvqg0gdk"; depends=[gdata geometry Hmisc lpSolve psych pwt rms]; };
@@ -8731,7 +8968,7 @@ in with self; {
   nordklimdata1 = derive2 { name="nordklimdata1"; version="1.2"; sha256="0c2hbh3qy8nrs275lxpzfgqsfgwp81m4kv0layvnjj09fcybm54x"; depends=[]; };
   norm = derive2 { name="norm"; version="1.0-9.5"; sha256="01j1h412yfjx5r4dd0w8rhlf55997spgb6zd6pawy19rgw0byp1h"; depends=[]; };
   normalp = derive2 { name="normalp"; version="0.7.0"; sha256="1s12x2qln3s4bbqsm4p3cq4g6461z73r858g6ym1awamhbmncnrl"; depends=[]; };
-  normalr = derive2 { name="normalr"; version="0.0.3"; sha256="1ydlp6nbldq7sq60zdlvqah43xdfvx5nyiqaq2m5vgma6yny930x"; depends=[ddR magrittr MASS purrr shiny]; };
+  normalr = derive2 { name="normalr"; version="1.0.0"; sha256="1ahrg188vbhnrnwag0zi6lcb3g0y1mbz06sl3j1wyllq5l918cc7"; depends=[magrittr MASS purrr rlang shiny]; };
   normtest = derive2 { name="normtest"; version="1.1"; sha256="073r2mwfs6c4vqh8921nlyygl0f20nhv997s0iwf00d3jckkc4pp"; depends=[]; };
   normwhn_test = derive2 { name="normwhn.test"; version="1.0"; sha256="1kr45bfydk40hgdg24i2f28cdaw65hg9gmsgv4lsvvr2m3r74vi6"; depends=[]; };
   nortest = derive2 { name="nortest"; version="1.0-4"; sha256="17r0wpz72z9312c70nwi1i1kp1v9fm1h6jg7q5cx1mc1h420m1d3"; depends=[]; };
@@ -8742,7 +8979,7 @@ in with self; {
   notifyR = derive2 { name="notifyR"; version="1.02"; sha256="0jx76ic5r1crcgg0n0yqnka0gwniflfxakh838a98j9wb11wi6h5"; depends=[RCurl rjson]; };
   notifyme = derive2 { name="notifyme"; version="0.3.0"; sha256="0b6xrv6c4id7rs0dafg96pl4brn4yma5xh9wjz78ql44bg3w5s91"; depends=[dplyr httr magrittr]; };
   novelist = derive2 { name="novelist"; version="1.0"; sha256="0wzx0vkqvl9sfhbbrzylsxhm3qmjj5w8sy5w6gvd104fn84d49yk"; depends=[]; };
-  nowcasting = derive2 { name="nowcasting"; version="0.1.1"; sha256="02f6sd6baq5rqjfiz8a95zlgkijbs85l993wvlbma09kr54f1c3q"; depends=[corpcor DBI httr lubridate magic matlab Matrix RCurl RMySQL xts zoo]; };
+  nowcasting = derive2 { name="nowcasting"; version="0.1.2"; sha256="08f45k0z5k9fmf1k9sjg71jrnlvalkylimby8plqqxiza05ga25b"; depends=[corpcor DBI httr lubridate magic matlab Matrix RCurl RMySQL xts zoo]; };
   noweb = derive2 { name="noweb"; version="1.0-4"; sha256="17s65m1m8bj286l9m2h54a8j799xaqadwfrml11732f8vyrzb191"; depends=[]; };
   np = derive2 { name="np"; version="0.60-6"; sha256="1y72x5j9j9mcgcy2xizk31gl843hfkngxdn8s4qw7yhw2qj79hsr"; depends=[boot cubature quantreg]; };
   npIntFactRep = derive2 { name="npIntFactRep"; version="1.5"; sha256="14ms66ppzb4jjsa3fparic6gdn913f6wv2ccjyb02j1ahs4iaa4g"; depends=[ez plyr]; };
@@ -8754,7 +8991,6 @@ in with self; {
   npbr = derive2 { name="npbr"; version="1.6"; sha256="1jvq4snwrwjhhjgm8n8yxd5y94ks5zzi0xwdn931yp300qnikyzc"; depends=[Benchmarking np quadprog Rglpk]; };
   npcopTest = derive2 { name="npcopTest"; version="1.03"; sha256="1kpa3avi95aa93y038f4zqhhdp8vdscdk0c6397qmqjg34hf1dnr"; depends=[]; };
   npcp = derive2 { name="npcp"; version="0.1-9"; sha256="16vzl3psa806ns387d5mhlp369r45ljcqlhl0lzdjpc1niv572nc"; depends=[]; };
-  npde = derive2 { name="npde"; version="2.0"; sha256="1cp4k7jvsw9rc6rrck902nqqjaf2c1nxjic7i9r3fd6yca1lgqb9"; depends=[mclust]; };
   nplplot = derive2 { name="nplplot"; version="4.5"; sha256="1dpbs0jb34gv0zj528357z1j2pwahjbp04rm7jir6qk0jhyaxxgh"; depends=[]; };
   nplr = derive2 { name="nplr"; version="0.1-7"; sha256="1h3qv9dlw2gx8km3slyvrl588nif1n87df8xwmm6p75ziqhn2f56"; depends=[]; };
   npmlda = derive2 { name="npmlda"; version="1.0.0"; sha256="1dr25an7cac89jyb8zhmj3ry6lq7sh7zxci1injplnk4gzy17mc5"; depends=[]; };
@@ -8764,7 +9000,7 @@ in with self; {
   nppbib = derive2 { name="nppbib"; version="1.0-0"; sha256="075jb13zckkh66jwdmdlq4d2drjcc3lkj26px3w79b91223yymf2"; depends=[]; };
   npphen = derive2 { name="npphen"; version="1.1-0"; sha256="0pbf9sqdapl5q09g1hj5hi4j2wigrd0b6s0gbv1gx4wn68alrals"; depends=[ks lubridate raster rgdal rts snow]; };
   npregfast = derive2 { name="npregfast"; version="1.5.1"; sha256="0s9ci3nybzwykrgi9z2rqp6l15mqbxf759ks0clvkbm7wxv3whk5"; depends=[doParallel foreach ggplot2 mgcv sfsmisc shiny shinyjs wesanderson]; };
-  nprobust = derive2 { name="nprobust"; version="0.1.1"; sha256="0aynp42y0qn0jl9f26rk358hjdswkz6anwvni7frxnkb7l1vyrd5"; depends=[ggplot2 Rcpp RcppArmadillo]; };
+  nprobust = derive2 { name="nprobust"; version="0.1.2"; sha256="0hc2p30jalaibjwlq8g52rdpifhvmpaq2c7ww0zzhf3h1az442xs"; depends=[ggplot2 Rcpp RcppArmadillo]; };
   nproc = derive2 { name="nproc"; version="2.1.1"; sha256="0wpny7c1n9mmv1yywlws8gjbidkrikvcqcckrxpba9avjw2c5df8"; depends=[ada e1071 glmnet MASS naivebayes randomForest ROCR tree]; };
   npsf = derive2 { name="npsf"; version="0.3.1"; sha256="1mv2dzn3gc7b9ynpw8dv22xd31igg4hmkgrds12n9920pghkya44"; depends=[Formula Rcpp]; };
   npsm = derive2 { name="npsm"; version="0.5"; sha256="12jq6ygp3di5rknh7izrr3bxvpn6bqnj3jhfxzf29yf0bd86hzqk"; depends=[plyr Rfit]; };
@@ -8772,7 +9008,7 @@ in with self; {
   npst = derive2 { name="npst"; version="2.0"; sha256="1y5ij3nmh9pj6p97jpx75g26sk508mznr0l67cwj381zfb77hj1n"; depends=[]; };
   npsurv = derive2 { name="npsurv"; version="0.4-0"; sha256="1wq4c9yfha5azjhrn40iiqkshmvh611sa90jp3lh82n4bl9zfk20"; depends=[lsei]; };
   nricens = derive2 { name="nricens"; version="1.5"; sha256="0a7b4kw91qkr9vrm8swflby06a78d059im54zxxgvy42qjsijwqx"; depends=[survival]; };
-  nsRFA = derive2 { name="nsRFA"; version="0.7-12"; sha256="182zshwyg0l6shb5wcwibqygxs8qmgma9c4s683za8q3f9l94aqj"; depends=[]; };
+  nsRFA = derive2 { name="nsRFA"; version="0.7-13"; sha256="0xa8zm0mk5ckwsmbgdyk8xv1q56pm6j19zxd48rwl3fsqs49bpah"; depends=[]; };
   nsROC = derive2 { name="nsROC"; version="1.0"; sha256="0c99z8kknbrnbyyv7p79sj848aq7b5n4m4r7v1yrcs61ackrdn2n"; depends=[sde survival]; };
   nscancor = derive2 { name="nscancor"; version="0.6.1-25"; sha256="183kvzlln5lhmi51dm0skq1165c3hhy1yz5h2g7nxwqk2b4p23xj"; depends=[]; };
   nscprepr = derive2 { name="nscprepr"; version="0.1.1"; sha256="1rd32zywrzyxz6hpn9s6cwjlg8q8rz3cc0p3b5gan8bicx0ilwjc"; depends=[dplyr lubridate stringr]; };
@@ -8788,6 +9024,7 @@ in with self; {
   numKM = derive2 { name="numKM"; version="0.1.0"; sha256="0pnwb7skp5jx5ibgfkympq59m9sf71gvk5zc0fwik539vrzfykdf"; depends=[survival]; };
   numOSL = derive2 { name="numOSL"; version="2.3"; sha256="1bcj1qk3nx1jqhldx9rcwphvlxspz3bj4vb891hkw2fa2i4559c5"; depends=[]; };
   numbers = derive2 { name="numbers"; version="0.6-6"; sha256="05qmv12b90vkzf2b50qjnp8hja6rms91jj97knx70n2yhpb2lnd9"; depends=[]; };
+  numbersBR = derive2 { name="numbersBR"; version="0.0.2"; sha256="0ihxlny745gpz1ngq862rydn1zwn8zni1xw9mmgw8hkylsrnjfq8"; depends=[stringr]; };
   numform = derive2 { name="numform"; version="0.4.0"; sha256="09vim4ajnnkdf27ag5j8pj7p8qyfakfh3ar1dki8bqzms2d7bkcm"; depends=[]; };
   nutshell = derive2 { name="nutshell"; version="2.0"; sha256="1v11g5wqyxnj29b7akl0cwa34hcqs79ijbiv735pg3df4ggyrzvm"; depends=[nutshell_audioscrobbler nutshell_bbdb]; };
   nutshell_audioscrobbler = derive2 { name="nutshell.audioscrobbler"; version="1.0"; sha256="10fvc5d22gnfb0bkgbww48f0vvcaja96g5gfv85kap939j11172j"; depends=[]; };
@@ -8796,12 +9033,13 @@ in with self; {
   nycflights13 = derive2 { name="nycflights13"; version="0.2.2"; sha256="1857pwyhb5gvbdxv934nlc50n4ai7njm89js7b7ywfg7mhgha4yc"; depends=[tibble]; };
   nyctaxi = derive2 { name="nyctaxi"; version="0.0.1"; sha256="187fs819g45f8irx2s9bgwnzr00lyamfv2ra88kyb8q2cq1icwwy"; depends=[DBI dplyr etl rlang stringr]; };
   nzelect = derive2 { name="nzelect"; version="0.4.0"; sha256="19kcbq454yg9g76ix7v3nibgw2203d7vv6f2d6d2zkcc0h08bjm7"; depends=[]; };
-  nzpullover = derive2 { name="nzpullover"; version="0.0.2"; sha256="0c50854dhvjmhh8c34w9w0r8v8wk5j8bi6j81m5wpcd2jxrkbw4f"; depends=[]; };
+  nzpullover = derive2 { name="nzpullover"; version="0.3.0"; sha256="0b3mz5i58m48fa1x7gv4l3gqj0gvrar201ph2l1gkbcnfmazwjp8"; depends=[]; };
   oXim = derive2 { name="oXim"; version="1.2.1"; sha256="1qjscjq5v50v7kwbmiz1niylwpnh20g5qldyxn7fw0kkqs398sk0"; depends=[gstat imagine R_matlab sp]; };
   oaColors = derive2 { name="oaColors"; version="0.0.4"; sha256="040sdqrk9dciylnnrrshlj06s9qhvngii9shx1p8412ip7mk8r1m"; depends=[MASS RColorBrewer]; };
   oaPlots = derive2 { name="oaPlots"; version="0.0.25"; sha256="0c5ig1ar02vg38pjjmp3gd53ij1j7pzajs0zrlfajz141qkv2ysr"; depends=[ggplot2 oaColors]; };
   oai = derive2 { name="oai"; version="0.2.2"; sha256="0q1w29wrppi5sfabdw8px7zr92bgri3jhy0y7dhi46xggxfg9vm1"; depends=[httr plyr stringr tibble xml2]; };
   oaqc = derive2 { name="oaqc"; version="1.0"; sha256="1rc0l79xygmr2rp5sjadzigbj65a13z5xlvrxzy26cl0wsxwhmjf"; depends=[]; };
+  oasis = derive2 { name="oasis"; version="3.0.4"; sha256="1h1w46rbkbsjvh3fjniy3v7y30r2vf1kiqs807kavf0bpb6a1202"; depends=[fslr mmand neurobase oro_nifti]; };
   oaxaca = derive2 { name="oaxaca"; version="0.1.4"; sha256="12w5l2a8i2964rxy9km2srlycx35y7ia8p07ra7gsxr4h8156z3c"; depends=[Formula ggplot2 reshape2]; };
   obAnalytics = derive2 { name="obAnalytics"; version="0.1.1"; sha256="1l4ld120qk0adycmvqrkzada10kb7z03lj2njzqagmacl1z8598f"; depends=[ggplot2 reshape2 zoo]; };
   objectProperties = derive2 { name="objectProperties"; version="0.6.5"; sha256="0wn19byb1ia5gsfmdi6cj05pnlxbr3zcrjabjg3g1d7b58nz7wlh"; depends=[objectSignals]; };
@@ -8821,21 +9059,20 @@ in with self; {
   odds_converter = derive2 { name="odds.converter"; version="1.4"; sha256="13y3s04l2jvjhn1i4syz4y3q42ba8br0sp3mks5f5h4cp8w4j3wy"; depends=[]; };
   oddsratio = derive2 { name="oddsratio"; version="1.0.2"; sha256="0s9w5iqcabkc7lqdh27nmg7xnw2jpwik5djjlqxb6xgabzls97d6"; depends=[cowplot ggplot2 MASS mgcv]; };
   odeintr = derive2 { name="odeintr"; version="1.7.1"; sha256="0wfb5lgv10p0qyfbn9hdg14bda37v43lpgbwv6nbw63zzbsbazqi"; depends=[BH Rcpp]; };
-  odfWeave = derive2 { name="odfWeave"; version="0.8.4"; sha256="1rp9j3snkkp0fqmkr6h6pxqd4cxkdfajgh4vlhpz56gr2l9j48q5"; depends=[lattice XML]; };
-  odfWeave_survey = derive2 { name="odfWeave.survey"; version="1.0"; sha256="0cz7dxh1x4aflvfrdzhi5j64ma5s19ma8fk9q2m086j11a1dw3jn"; depends=[odfWeave survey]; };
   odk = derive2 { name="odk"; version="1.5"; sha256="0fcnr4c1clwx1sk6fgg4cx506gdi90n2h05g0i47p4s5bra0qwwl"; depends=[gsheet openxlsx]; };
   odkr = derive2 { name="odkr"; version="0.1.3"; sha256="0vcpsykr4sq4rq721vyd3wbm4jzlldvvxqh75q7x7wwhjhrnr3qn"; depends=[Hmisc stringr]; };
   odpc = derive2 { name="odpc"; version="1.0.0"; sha256="1mhak9drp0a7h1yrbk08cs00hbvkfkj8r1y6klhr40sdych4q506"; depends=[forecast gdpc Rcpp RcppArmadillo]; };
   odr = derive2 { name="odr"; version="0.7.3"; sha256="07jfd809wv92ijgw1r1nq9516zi2rkf3ik243br42glf6lszn19p"; depends=[]; };
   oec = derive2 { name="oec"; version="2.5.2"; sha256="17np562cv6ln3j4b9iawyhbz8kfd5cy1ifj96kzyhv082jgpsk1s"; depends=[dplyr jsonlite magrittr readr servr]; };
-  oem = derive2 { name="oem"; version="2.0.7"; sha256="12z6cgkm8yyk9dz3s1bswccn7vrvca2wiqz0ylr65q88ws828snz"; depends=[BH bigmemory foreach Matrix Rcpp RcppArmadillo RcppEigen]; };
-  officer = derive2 { name="officer"; version="0.2.1"; sha256="0l8xj6zsklh2dyl6kn4piv5wjalqm1ifakxh31zfz714s9w0y8qj"; depends=[base64enc digest htmltools magrittr R_utils R6 Rcpp uuid xml2 zip]; };
+  oem = derive2 { name="oem"; version="2.0.8"; sha256="08j9y9vq31skvdpg0kyqj50d77aijd2d95vcwm92df5vcvw9bpwz"; depends=[BH bigmemory foreach Matrix Rcpp RcppArmadillo RcppEigen]; };
+  officer = derive2 { name="officer"; version="0.2.2"; sha256="1yixvlcz7mnf3w5kixd14zi0sa6vvydiqvlsnvj0zll8vplmcsij"; depends=[base64enc digest htmltools magrittr R_utils R6 Rcpp uuid xml2 zip]; };
   oglmx = derive2 { name="oglmx"; version="2.0.0.3"; sha256="02skdnf89ryl4d8ja1a9mj1jzzmjqjgfdcsf6v5dpjn1z9aycc6c"; depends=[maxLik]; };
+  ohtadstats = derive2 { name="ohtadstats"; version="1.0"; sha256="1wpil3ag7vzinz4ky7jpzny88a4ycfifbhayyib9cldk8d0mbcgh"; depends=[lattice]; };
   oii = derive2 { name="oii"; version="1.0.2.1"; sha256="1n41hikn53ikyynsravg127cw5csa8s0s1l63w5hym7c6j625ya5"; depends=[Deducer gmodels rapportools]; };
   okcupiddata = derive2 { name="okcupiddata"; version="0.1.0"; sha256="1l04rr4yr73a6q2am9ylyr5prf347hkf2jx735w78rsb6472kbaq"; depends=[]; };
   okmesonet = derive2 { name="okmesonet"; version="0.1.5"; sha256="1kzyzmg702ayzphn9jsk64m51mlnz37ylxiwq5gsr23vaiida680"; depends=[plyr]; };
   olctools = derive2 { name="olctools"; version="0.3.0"; sha256="1gbchwynvmryarz32f24v56kj57h7x6nrrm878fkjkpq140cqwzz"; depends=[Rcpp]; };
-  olsrr = derive2 { name="olsrr"; version="0.4.0"; sha256="0ka8a6gm4ynbr2ss4syw2znnqcjly209sh992shyzp01yp5vy7bm"; depends=[dplyr ggplot2 glue goftest gridExtra magrittr nortest purrr Rcpp recipes rlang shiny stringr tibble tidyr]; };
+  olsrr = derive2 { name="olsrr"; version="0.5.0"; sha256="1id5z628bq91p3w64mq28bk247i6vb9ly1maqpf6fsfqiq2pavmv"; depends=[cli clisymbols crayon dplyr ggplot2 gh glue goftest gridExtra magrittr nortest purrr Rcpp recipes rlang shiny stringr tibble tidyr]; };
   omd = derive2 { name="omd"; version="1.0"; sha256="0s1wcgivqapbkzjammga8m12gqgw113729kzfzgn02nsfzmsxspv"; depends=[]; };
   omics = derive2 { name="omics"; version="0.1-5"; sha256="1y2x33mfgq98nglhvpr1wq1v6nfiq4njy2yac47x72rpwxsj9vb1"; depends=[lme4 pheatmap]; };
   ompr = derive2 { name="ompr"; version="0.7.0"; sha256="06zhmddg19sjnl18zmjjswggjg58rjgarqj2wqf5jf0g0qz3my2n"; depends=[dplyr lazyeval Matrix progress Rcpp]; };
@@ -8846,24 +9083,27 @@ in with self; {
   onewaytests = derive2 { name="onewaytests"; version="1.6"; sha256="0xxqsqnk0s9w0xjj3ixghm9d1yg9fhq5lc5xyicfimnigb13hddl"; depends=[car ggplot2 moments nortest]; };
   onion = derive2 { name="onion"; version="1.2-7"; sha256="17jx7saxcsahyyivln4v9fzzcmidy6ygjd9n81skv5jpr491zkgk"; depends=[]; };
   onlinePCA = derive2 { name="onlinePCA"; version="1.3.1"; sha256="08qivsfnwz5vp089lv9czsaz3nfi42kn9yhgzf27dji18y2xscic"; depends=[Rcpp RcppArmadillo RSpectra]; };
+  onlineVAR = derive2 { name="onlineVAR"; version="0.1-0"; sha256="1hqriwrlxhbi5v5wpqxfvvcb6np1iaarb3zf84ykfzi4llqqgz24"; depends=[lattice]; };
   onls = derive2 { name="onls"; version="0.1-1"; sha256="0m7pnlzkqwzi6jncjzxzfvznipd4wg03zd9fc0ymwm9jvhm4p14g"; depends=[minpack_lm]; };
+  onnx = derive2 { name="onnx"; version="0.0.1"; sha256="0yzvgcpqad19sw9mhh3dfci1cqa7p3i1ssmpjyycy7rkqq8kb0xs"; depends=[reticulate]; };
   ontologyIndex = derive2 { name="ontologyIndex"; version="2.4"; sha256="168m4jdwbzv8lpimx9063306691hnfdjmdhb5y8195d9vcq049jr"; depends=[]; };
   ontologyPlot = derive2 { name="ontologyPlot"; version="1.4"; sha256="0sj1jg9lr1w3ahzw7fj86vp2bnvf4nq0x3hiqb3hzngwyj9bykpn"; depends=[ontologyIndex paintmap Rgraphviz]; };
   ontologySimilarity = derive2 { name="ontologySimilarity"; version="2.2"; sha256="1g1ag2bnfczdx2xyswrc9xbl9krnyibb4639wynm7c0lf2876964"; depends=[ontologyIndex Rcpp]; };
   oompaBase = derive2 { name="oompaBase"; version="3.2.5"; sha256="0269jmdw236jy008ic6iwg9y2fq674alqvd5zdvy1k2grxm72hvw"; depends=[cluster]; };
   oompaData = derive2 { name="oompaData"; version="3.1.1"; sha256="0by9qfxlx6fdmp12qnphlli5hdn5balvx4ckg64fw6vwa291g7b0"; depends=[]; };
-  openEBGM = derive2 { name="openEBGM"; version="0.3.0"; sha256="04wj9z3w7dvdk818iv0xdqlkrc83frsf5sh1xs8bnbp6g0781jqn"; depends=[data_table ggplot2]; };
+  openCR = derive2 { name="openCR"; version="1.1.1"; sha256="0dmjisnxn9hdi2a4pb7qy367g4lmmlvnc8sll55dzjir472c3zm1"; depends=[abind MASS nlme plyr Rcpp secr stringr]; };
+  openEBGM = derive2 { name="openEBGM"; version="0.5.0"; sha256="079wy3xrfdcmn0wd314rlrf4499qpdhsfq1m4b7s5y9c21h0raiy"; depends=[data_table ggplot2]; };
   openNLP = derive2 { name="openNLP"; version="0.2-6"; sha256="1173cng877sg6ynbs3csfnn956wwrq3yldhhzfbqdsz35draganj"; depends=[NLP openNLPdata rJava]; };
   openNLPdata = derive2 { name="openNLPdata"; version="1.5.3-4"; sha256="0j45rh9qki8r5wavaysrfsvb3wc3x8jjicqff2yi0r34j58xvlv8"; depends=[rJava]; };
   openSTARS = derive2 { name="openSTARS"; version="1.0.0"; sha256="0arry24nkd50nkdnddzxagrpy4lky9smc4xr1nl6q9nwxyfgdskg"; depends=[data_table progress raster rgdal rgrass7 sp SSN]; };
   openVA = derive2 { name="openVA"; version="1.0.3"; sha256="09wbhl0g6q1rhi6yr3wpbns4ik7jalpagacn6am09i6zvmz8745j"; depends=[ggplot2 InSilicoVA InterVA4 nbc4va Tariff]; };
   openadds = derive2 { name="openadds"; version="0.2.0"; sha256="1jb8zd3rpxfkjkg895iab6m4cfi53p5vy3nnpjkgq7ym6499qjcv"; depends=[crul dplyr jsonlite maptools rappdirs readr tibble xml2]; };
-  openair = derive2 { name="openair"; version="2.1-5"; sha256="19fqg05swsxqs19gi125h9xq43s44fxg51q05y4fhgsvxbvd7aj9"; depends=[cluster dplyr hexbin lattice latticeExtra lazyeval lubridate mapproj MASS mgcv plyr RColorBrewer Rcpp reshape2]; };
+  openair = derive2 { name="openair"; version="2.3-0"; sha256="0kfikssvmdg1r7j1z80hw7pa66rs06cki211rhmv0f12m500zl0c"; depends=[cluster dplyr hexbin lattice latticeExtra lubridate mapproj MASS mgcv purrr RColorBrewer Rcpp rlang tidyr]; };
   opencage = derive2 { name="opencage"; version="0.1.4"; sha256="1lqs38lml73axsjlsjkmcsb2irgs40mjrx2cn3k0bjb63qyb9hf5"; depends=[dplyr httr jsonlite memoise]; };
   opencpu = derive2 { name="opencpu"; version="2.0.5"; sha256="1bs2z3y2zc3aqzfjh6bq3qrpzm106f5xhw7lbyng1bpcp4rch6y3"; depends=[brew curl devtools evaluate httpuv jsonlite knitr mime openssl protolite rappdirs sendmailR sys webutils zip]; };
   opendotaR = derive2 { name="opendotaR"; version="0.1.4"; sha256="17cygsw3nkg6zincfrcdh1509rlz3n5zrv9wvv7mjngm61sn79nf"; depends=[dplyr jsonlite lubridate]; };
   openintro = derive2 { name="openintro"; version="1.7.1"; sha256="059azlasdkmp8f54qpjf3mq5dyqakw0dgx0kx85wfdmhq38zal5n"; depends=[]; };
-  openssl = derive2 { name="openssl"; version="1.0"; sha256="1j8smqrb79lnaf2n9icksjiy641fcazsbkhmgg916s3nnyjngjz3"; depends=[]; };
+  openssl = derive2 { name="openssl"; version="1.0.1"; sha256="1qyql5gpwf88bkm1qarjhbqbq4hn6w0d8j4pxb5x7i96is30ap30"; depends=[]; };
   opentraj = derive2 { name="opentraj"; version="1.0"; sha256="13nqal96199l8vkgmkvl542ksnappkscb6rbdmdapxyi977qrgxk"; depends=[doParallel foreach maptools openair plyr raster reshape rgdal sp]; };
   openxlsx = derive2 { name="openxlsx"; version="4.0.17"; sha256="1mq4lasp12kc30sxcsmz9gskd114l8s7z7wd6svv2nm8qllrhsqi"; depends=[Rcpp]; };
   opera = derive2 { name="opera"; version="1.0"; sha256="0p2wg3srg088l420ykrq0wqvzh1mp6l753rdw35f7kdmaj08mqfq"; depends=[quadprog quantreg RColorBrewer]; };
@@ -8904,7 +9144,7 @@ in with self; {
   orQA = derive2 { name="orQA"; version="0.2.1"; sha256="0vivjrpcbql42y078gi91kfpfdpv73j23jkiv8fpazzwzdi8ydqq"; depends=[genefilter gtools nlme Rcpp]; };
   ora = derive2 { name="ora"; version="2.0-1"; sha256="0albxqma220rnrpfdq3z9cawr83q1a0zzczbbcy4nijjm4mswphy"; depends=[DBI ROracle]; };
   orca = derive2 { name="orca"; version="1.1-1"; sha256="1wd5nh2vh6j1rp78hbw17qipi67f0wimrbkiarak8f7k5pfiy1zn"; depends=[]; };
-  orclus = derive2 { name="orclus"; version="0.2-5"; sha256="0kkxhyqjxib862npinzf3mipqg5imgscdmb5wqm8wf2j2mbislsx"; depends=[]; };
+  orclus = derive2 { name="orclus"; version="0.2-6"; sha256="0d78mn2vl2yxlvdswyxkxp9zg59b8cvfksz9m56kddn79aps1ikl"; depends=[]; };
   orcutt = derive2 { name="orcutt"; version="2.2"; sha256="0mwfbbsn39nla083p845xbbgh3y8kkrg0q735kap64jf4pgcyac7"; depends=[lmtest]; };
   ordBTL = derive2 { name="ordBTL"; version="0.8"; sha256="09x3zfmss4fsh3rjghgmpv8y34dnkz4mw696b3k3nvlgk55a1423"; depends=[caret gtools VGAM wikibooks]; };
   ordDisp = derive2 { name="ordDisp"; version="1.0.1"; sha256="1vjki73h8933z36ikwmjn84ldz154mahp2jkd9cbj5n6xsi47fnw"; depends=[VGAM]; };
@@ -8915,18 +9155,18 @@ in with self; {
   orderedLasso = derive2 { name="orderedLasso"; version="1.7"; sha256="0vrh89nrmpi8xscvambcb1y70gqqi5819a2gxh02h4pnyjn8axql"; depends=[ggplot2 Iso Matrix quadprog reshape2]; };
   orderstats = derive2 { name="orderstats"; version="0.1.0"; sha256="0a3ga0cjryvbininspsx5wzc96s3fza06s3d5fhbllbixz0rap4a"; depends=[]; };
   ordiBreadth = derive2 { name="ordiBreadth"; version="1.0"; sha256="04faqhas1p9lxhghd4xq07yq1nxv7ns18avhvkql7sy5a9g7bfs1"; depends=[vegan]; };
-  ordinal = derive2 { name="ordinal"; version="2015.6-28"; sha256="0lckjzjq2k8rlibrjf5s0ccf17vcvns5pgzvjjnl3wibr2ff4czs"; depends=[MASS Matrix ucminf]; };
+  ordinal = derive2 { name="ordinal"; version="2018.4-19"; sha256="04fpm4jsjfd90ig2rzd11jafkip74814b60ixis0sii2gr9c8zxb"; depends=[MASS Matrix ucminf]; };
   ordinalClust = derive2 { name="ordinalClust"; version="1.2.1"; sha256="1035471ni5f8129w23kkj7263p5pa9jlihqdq2skda410lj50vnk"; depends=[progress Rcpp RcppArmadillo]; };
   ordinalCont = derive2 { name="ordinalCont"; version="1.3.0"; sha256="0zi9cfvkb811hhcplp159zpnmmk4rs0nid19gi4g9g3dgn9pa296"; depends=[boot]; };
   ordinalForest = derive2 { name="ordinalForest"; version="2.1"; sha256="1ancr7xdwhbqq3rj5hijrkjbrcaih8rqcx5r41mykrrp1k1s55dd"; depends=[combinat ggplot2 Rcpp]; };
   ordinalNet = derive2 { name="ordinalNet"; version="2.4"; sha256="0c9k3p62d482sl0vg94xm6hllk2mic2nd1c5m4vhci5ycavqzdd3"; depends=[]; };
-  ordinalgmifs = derive2 { name="ordinalgmifs"; version="1.0.3"; sha256="0ki91l6vvfxpzq7zgl3d08r5pzx47jxkgf7g0g95580xx2q7n7zx"; depends=[survival]; };
+  ordinalRR = derive2 { name="ordinalRR"; version="1.0"; sha256="07gihg8hppxa7bp5wxcshqawj3vkzicmdsrnjyrasr3glv08b9lj"; depends=[rjags]; };
   ore = derive2 { name="ore"; version="1.6.0"; sha256="115s3wq7rrpmx65k9jlpf2x1d218gnl7vsc8zsvmjbsi4gfyliwf"; depends=[]; };
   ores = derive2 { name="ores"; version="0.3.1"; sha256="12war455cfcn2llig7pkx05b70dp5y7warjq03ayqq6i7c945mhb"; depends=[httr]; };
   orgR = derive2 { name="orgR"; version="0.9.0"; sha256="1q4qbwnbhmja8rqiph7g7m4wxhzhk9mh91x1jgbnky8bs4ljdgrx"; depends=[data_table ggplot2 ggthemes lubridate stringr]; };
   orgutils = derive2 { name="orgutils"; version="0.4-1"; sha256="1yc3avhq3786his7nd60zfbzd9inkfrfz938r8378z59zbb1mzqq"; depends=[textutils]; };
   orientlib = derive2 { name="orientlib"; version="0.10.3"; sha256="1qi46hkz73b8722zc3w6wvsq1ydlk37yxn9rd1dqygqbs1svkmvv"; depends=[]; };
-  origami = derive2 { name="origami"; version="0.8.0"; sha256="09sw2chrb4bl285cvnhnjf3idbxdriqj17c8w510j7qs22jlnywb"; depends=[abind data_table future listenv]; };
+  origami = derive2 { name="origami"; version="1.0.0"; sha256="0692n4javr0lwxcd0b83sbbhxbmxxs41sjvlsq5bc5l7n140qaca"; depends=[abind data_table future future_apply listenv]; };
   originr = derive2 { name="originr"; version="0.2.0"; sha256="06n5qshk4dq6ac4prnhzymz7gcmp6m2zdc8d9d13ii7n7xa0ymx2"; depends=[data_table httr jsonlite taxize xml2]; };
   orloca = derive2 { name="orloca"; version="4.3"; sha256="0mc337rjmdhrg6aw2pyiz68y311d6znh9ppl4k0v0rgavapw2aml"; depends=[png ucminf]; };
   orloca_es = derive2 { name="orloca.es"; version="4.3"; sha256="1yqwvzqlk70jfr9qb50g7xb4spnff4yg5rc9lw37zx13lnn4kcva"; depends=[orloca]; };
@@ -8935,7 +9175,7 @@ in with self; {
   oro_pet = derive2 { name="oro.pet"; version="0.2.6"; sha256="1dczii7knh9241ksswxk9zg1d69mhk2ilrk4kjv7cj9nfm8fgmja"; depends=[minpack_lm msm oro_dicom oro_nifti]; };
   orsifronts = derive2 { name="orsifronts"; version="0.1.1"; sha256="1js4q2s1mn263x8szl5q47ajfxv9lsjd5zyphwyhbkqrnd8ijd3w"; depends=[sp]; };
   orsk = derive2 { name="orsk"; version="1.0-3"; sha256="0j8bz5kddzglcljycxy8lv8h5f6hvz88nzwq3b9cdyayd8mlbxs2"; depends=[BB BHH2]; };
-  orthoDr = derive2 { name="orthoDr"; version="0.3.0"; sha256="14z3zl6hvvvsm3q9slwl4sfnzd5igsgdycimg0ww3xg2nw7hln4l"; depends=[plot3D pracma Rcpp RcppArmadillo rgl survival]; };
+  orthoDr = derive2 { name="orthoDr"; version="0.5.1"; sha256="0zpi3g6pkid40cblzsxck254wxljn5bfs354l51xfb182qr76x6k"; depends=[dr MASS plot3D pracma Rcpp RcppArmadillo rgl survival]; };
   orthogonalsplinebasis = derive2 { name="orthogonalsplinebasis"; version="0.1.6"; sha256="07rbd0fhs2gsk7wj41y2h7wf6pfg324vzv2al753d8kqyx5ns2dj"; depends=[]; };
   orthopolynom = derive2 { name="orthopolynom"; version="1.0-5"; sha256="1gvhqx6jlh06hjmkmbsl83gri0gncrm3rkliyzyzmj75m8vz993d"; depends=[polynom]; };
   osDesign = derive2 { name="osDesign"; version="1.7"; sha256="0y68pnsmq4nlmfsn28306q2kxab200pirr6ha0w4himzpnw1sil3"; depends=[]; };
@@ -8944,16 +9184,17 @@ in with self; {
   oshka = derive2 { name="oshka"; version="0.1.2"; sha256="02hglpq5lknq93zbcf219lhnhppzgygkhxqixb15f89rxf9fczgs"; depends=[]; };
   osi = derive2 { name="osi"; version="0.1.0"; sha256="1wzkvsqifk0g29jnpvykn26myq27pxll3glqlp74djkz0rbpv7aa"; depends=[httr]; };
   osmar = derive2 { name="osmar"; version="1.1-7"; sha256="0q6d8nw7d580bnx66mjc282dx45zw9srczz90b520hjcli4w3i3r"; depends=[geosphere RCurl XML]; };
-  osmdata = derive2 { name="osmdata"; version="0.0.5"; sha256="12zfpgp4x5akh25w1f01g5rv4nqqzn2wwysak4vvwh8h7iha0ajc"; depends=[curl httr jsonlite lubridate magrittr Rcpp rvest sp xml2]; };
+  osmdata = derive2 { name="osmdata"; version="0.0.6"; sha256="1sjaqsj0jxipg00raj20gszzjspgpy9ja37rfkx6jpaa2wh3ii87"; depends=[curl httr jsonlite lubridate magrittr Rcpp rvest sp xml2]; };
   osmose = derive2 { name="osmose"; version="0.1.1"; sha256="0fiijnrvvydhj6j9yb02rn5sg8arcpj3jz977m2zwjgqy878cffg"; depends=[rlist stringr]; };
   osmplotr = derive2 { name="osmplotr"; version="0.3.0"; sha256="0w45riwwjigh1bxf9gx0wdj2yhdizwi6ydprp83pss2z9wph66yb"; depends=[curl e1071 ggm ggplot2 httr osmdata rgeos sp spatstat]; };
-  osrm = derive2 { name="osrm"; version="3.1.0"; sha256="12gbgjp3hq0vg0wf6xq0l9wgq0h6w4l0bfwmlnyhq26z9n08a1lq"; depends=[gepaf jsonlite raster RCurl rgeos sp]; };
+  osrm = derive2 { name="osrm"; version="3.1.1"; sha256="14rf5m2pm5w414v2l1dvd6vlvirms93l8rkfbmgcvxwxmc52b187"; depends=[gepaf jsonlite raster RCurl rgeos sp]; };
+  osrmr = derive2 { name="osrmr"; version="0.1.28"; sha256="0db8db7hkpc3rl7193gldmjz6ikm2m21d11ff9jmf7l8x0shg38i"; depends=[assertthat bitops R_utils rjson stringr]; };
   otinference = derive2 { name="otinference"; version="0.1.0"; sha256="1l75jjnkyk8yzaw9zyk45jq9ys304i6pzm2xd5apxrb1jk75a3li"; depends=[MASS Rglpk sm transport]; };
   otrimle = derive2 { name="otrimle"; version="1.1"; sha256="0c3wlj6cxpikrfr0knldd1z2kfihpfsppnyb9n3rflnxhk7pwij2"; depends=[doParallel foreach mclust]; };
   otvPlots = derive2 { name="otvPlots"; version="0.2.0"; sha256="1halgpk5ld5ihz0da69wf72l0624r73h2wjc0zjn8b8kw1v9xgzs"; depends=[data_table ggplot2 gridExtra Hmisc moments quantreg scales stringi]; };
   ouch = derive2 { name="ouch"; version="2.11-1"; sha256="0xkwwi62vdahlcg3k32zb1nfwsx87zdssk79mvcxgfsw9bw4gahx"; depends=[subplex]; };
   outbreaker = derive2 { name="outbreaker"; version="1.1-8"; sha256="0przz78jzkwl580w83p0aigaykfki2hdzprwqic7dy6yxnpqlpm3"; depends=[adegenet ape igraph]; };
-  outbreaker2 = derive2 { name="outbreaker2"; version="1.0-0"; sha256="0s1i3z36x8bbpa8a35qbyr5qy9n6715v9v6by7mr24wj735bncgk"; depends=[ape ggplot2 magrittr Rcpp visNetwork]; };
+  outbreaker2 = derive2 { name="outbreaker2"; version="1.0.1"; sha256="1v49i9z4kx9l485ib5q91s4z6r03lyijzjrr9zyjgham59rncyij"; depends=[ape ggplot2 magrittr Rcpp visNetwork]; };
   outbreaks = derive2 { name="outbreaks"; version="1.3.0"; sha256="1k0g9x6wvdw8lkpjiv8z1ijp6pg5hri3gawx7zfpnm05g6ncvg81"; depends=[]; };
   outliers = derive2 { name="outliers"; version="0.14"; sha256="0vcqfqmmv4yblyp3s6bd25r49pxb7hjzipiic5a82924nqfqzkmn"; depends=[]; };
   outreg = derive2 { name="outreg"; version="0.2.2"; sha256="04f1x7mxq4swbd7bfwjjgx4838jm6qj4piaighmhcscwrdkxa1cp"; depends=[magrittr reshape2 sandwich stringr tidyr]; };
@@ -8972,7 +9213,7 @@ in with self; {
   pKSEA = derive2 { name="pKSEA"; version="0.0.1"; sha256="1k9javxbhx28hf5k3i66ggqwlws2w9qwp01g8f7jmyp92pxr3qqd"; depends=[]; };
   pMineR = derive2 { name="pMineR"; version="0.31"; sha256="1j71dcldzmk4kzspx4v5s3vqqkllgwkckfm1g145qgg26c1gyc6l"; depends=[cluster DiagrammeR stringr XML]; };
   pRF = derive2 { name="pRF"; version="1.2"; sha256="17srabk7mam16rdzc5g9ggdrhjjk8wibny40gxvgzkv7qgq7m80x"; depends=[dplyr ggplot2 multtest permute randomForest reshape2]; };
-  pROC = derive2 { name="pROC"; version="1.10.0"; sha256="0rm08hf2gxqn5b83ara733w5nihkg1jmdilz67zzrc9iwmqznfa0"; depends=[ggplot2 plyr Rcpp]; };
+  pROC = derive2 { name="pROC"; version="1.11.0"; sha256="1v61z529yj1bp7wcagyhx0jszla9hv0aq1zvxz9w19r7lcinlzjz"; depends=[ggplot2 plyr Rcpp]; };
   pRSR = derive2 { name="pRSR"; version="3.1.1"; sha256="1irx95b7cwvx3gpn9brjjn4k947m8frz542r18nilc9f1159mb3s"; depends=[]; };
   pSI = derive2 { name="pSI"; version="1.1"; sha256="0cvw38dqqlyx7cpl27hq33f5xns2d0019lyr98pwndcnbp09mx0b"; depends=[gdata]; };
   pa = derive2 { name="pa"; version="1.2-1"; sha256="1pfgzxirkb0p8f6smjlrbp1qpsh0vsvqf306cvldaj9zx8cw0q9f"; depends=[ggplot2]; };
@@ -8984,10 +9225,10 @@ in with self; {
   packagedocs = derive2 { name="packagedocs"; version="0.4.0"; sha256="0zw9ana7s42ardphhdaklba02yjj1v8gliq4l98397mjmzc6f4xd"; depends=[crayon devtools digest evaluate highlight htmltools lazyrmd magrittr rmarkdown stringr whisker yaml]; };
   packagetrackr = derive2 { name="packagetrackr"; version="0.1.1"; sha256="0xjq27j7bd7lps0vp9gdinxn19wl10k2cp9wb2xjih7p6l0wd57g"; depends=[dplyr httr magrittr rappdirs]; };
   packcircles = derive2 { name="packcircles"; version="0.3.1"; sha256="0f2y651i96sa7b7mfxg5kinmhhzvcv18lia74fdpdnmc6fxlxg17"; depends=[Rcpp]; };
-  packrat = derive2 { name="packrat"; version="0.4.8-1"; sha256="1wvjyvb7yy6hq188msqzf8qa00lhll865jp939byc6d4zpscm0x2"; depends=[]; };
+  packrat = derive2 { name="packrat"; version="0.4.9-1"; sha256="1kk6hs88y5jqgd781kk5jn5467r7sfyqd225vibflbz0s42rcv5a"; depends=[]; };
   pacman = derive2 { name="pacman"; version="0.4.6"; sha256="1vdak1hv3j44dsj6cckzc1a86dg933jqhxdys8fyxacmk101l388"; depends=[devtools]; };
   paco = derive2 { name="paco"; version="0.3.2"; sha256="0qf692fqlq0d7hh9yllywaswmj5spy6q1r67nzkhgyh311nhjh6c"; depends=[plyr vegan]; };
-  pacotest = derive2 { name="pacotest"; version="0.2.2"; sha256="0n17qzn7wabs6am55z96zg8759fdcz3vpm7yx25dyaqliawgqnj7"; depends=[ggplot2 gridExtra numDeriv Rcpp RcppArmadillo VineCopula]; };
+  pacotest = derive2 { name="pacotest"; version="0.3"; sha256="135637bidfx71xay6c69lfjvr4i0v3ckgkg0fi838p24is6icbix"; depends=[ggplot2 gridExtra numDeriv Rcpp RcppArmadillo VineCopula]; };
   pact = derive2 { name="pact"; version="0.5.0"; sha256="043hbydj5f6889xrfsrn8jrgid2nnbsz6d7jpn4hywwa97snw4ny"; depends=[glmnet survival]; };
   padr = derive2 { name="padr"; version="0.4.0"; sha256="1liks4cj1cyzf6ls2h8f68xd7nry6y9ml3zdmw1fsax251dhmbq4"; depends=[dplyr lubridate Rcpp rlang]; };
   paf = derive2 { name="paf"; version="1.0"; sha256="0wrqn67jfrjjxwcrkka6dljgi3mdk00vfjkzzcv2v7c97gx1zvwn"; depends=[survival]; };
@@ -9004,7 +9245,7 @@ in with self; {
   paleoMAS = derive2 { name="paleoMAS"; version="2.0-1"; sha256="1hhb5wbj4m3ch8wnvd1zkl5bk6wa9nl6jl1dhm4z6yqkh29yn9z6"; depends=[lattice MASS vegan]; };
   paleoTS = derive2 { name="paleoTS"; version="0.5-1"; sha256="18f5lkgzvndc8s7w7d7dfdlqf37adrmzabpwkavjw1zkpb1dga8c"; depends=[doParallel foreach iterators mnormt]; };
   paleobioDB = derive2 { name="paleobioDB"; version="0.5.0"; sha256="195w0jzg8bhlqbsd3shi161wqr9cff6q85ik0x8w4laazzxs0jhr"; depends=[gtools maps plyr raster RCurl rjson scales]; };
-  paleofire = derive2 { name="paleofire"; version="1.2.0"; sha256="10wsb8pxk842ifak4mkmhrinllrjy68vvzc9yq074x3vcxbvv509"; depends=[GCD ggplot2 lattice locfit plyr raster rgdal]; };
+  paleofire = derive2 { name="paleofire"; version="1.2.1"; sha256="0f2bvwc370fjpacv4ipjr1gk6l4ni3lg6da2549zn6hqca0hyjis"; depends=[GCD ggplot2 lattice locfit plyr raster rgdal]; };
   paleomorph = derive2 { name="paleomorph"; version="0.1.4"; sha256="05l55miahkmj8ikq8qz20y6kgxvxmdf04kji898i7fp8qyj4vfpa"; depends=[]; };
   paleotree = derive2 { name="paleotree"; version="3.0.0"; sha256="1nk7j3l310c9wh5mqf0zw4cg6wmvx4c8pl06ahkknx3imslar96q"; depends=[ape phangorn phytools]; };
   palettetown = derive2 { name="palettetown"; version="0.1.1"; sha256="1kjj1sqib1ns7895plp8c7h317pxwbyxi2shjkcgadkcsv2yjsxn"; depends=[]; };
@@ -9022,6 +9263,7 @@ in with self; {
   pandocfilters = derive2 { name="pandocfilters"; version="0.1-1"; sha256="18n155rkbr3gq5lsb0bh1v1v0z0r6xr2ald3nh7xh3v9qwxpmsz1"; depends=[jsonlite]; };
   panelAR = derive2 { name="panelAR"; version="0.1"; sha256="1ka2rbl9gs65xh2y2m4aqwh5qj4szibjy101hqfmza9wmdh25gpq"; depends=[car]; };
   panelaggregation = derive2 { name="panelaggregation"; version="0.1.1"; sha256="0x8ldqb9216pclfvs4ymdpian43v2ydkyflpf0k6lcn35r04xfr6"; depends=[data_table]; };
+  panelvar = derive2 { name="panelvar"; version="0.5.1"; sha256="1394lvvpzbcvm2mhxw68k784jyvsnzxiq787kdf4y4538lqgfx1n"; depends=[ggplot2 knitr MASS Matrix matrixcalc progress reshape2 texreg]; };
   pangaear = derive2 { name="pangaear"; version="0.6.0"; sha256="0dykacf5ckhck08rbk6l5kyw51i2p1ncy44agcxj79cr290cd5ck"; depends=[crul jsonlite oai png rappdirs tibble xml2]; };
   papayar = derive2 { name="papayar"; version="1.0"; sha256="11vkjhazfwfixsr6dba5jrcsr3r3mqgvj5s070b4gp70d6k1z8s5"; depends=[htmltools neurobase oro_nifti servr]; };
   papeR = derive2 { name="papeR"; version="1.0-2"; sha256="1pp6zzdqg9lj61f8p90sxl30vp9knmis7154fmfpm6pynbgr46ms"; depends=[car gmodels xtable]; };
@@ -9033,7 +9275,7 @@ in with self; {
   parallelMap = derive2 { name="parallelMap"; version="1.3"; sha256="026d018fr2a43cbh8bi2dklzr9fxjzdw5qyq84g2i18v5ibr6bd5"; depends=[BBmisc checkmate]; };
   parallelSVM = derive2 { name="parallelSVM"; version="0.1-9"; sha256="0nhxkllpjc3775gpivj8c5a9ssl42zgvswwaw1sdhwg3cxcib99h"; depends=[doParallel e1071 foreach]; };
   parallelize_dynamic = derive2 { name="parallelize.dynamic"; version="0.9-1"; sha256="03zypcvk1iwkgy6dmd5bxg3h2bqvjikxrbzw676804zi6y49mhln"; depends=[]; };
-  paramGUI = derive2 { name="paramGUI"; version="2.1.2"; sha256="054l9hqsvgnwipzqrapkhsk67afz93zv1cligqhjl2wggzn9a8sc"; depends=[colorspace fields shiny shinydashboard TIMP]; };
+  paramGUI = derive2 { name="paramGUI"; version="2.1.3"; sha256="1z7k4wgzm1bga8djyk44r1kr1mzdb9mrd6fvb5nrd69d76pvldji"; depends=[colorspace fields shiny shinydashboard TIMP]; };
   paramlink = derive2 { name="paramlink"; version="1.1-2"; sha256="0y6wsrxwyavipmrjjznr2n920w0p6qlwapxc9mnkh9c6w3yznka2"; depends=[assertthat kinship2 maxLik]; };
   params = derive2 { name="params"; version="0.6.1"; sha256="0w7k8k7z8p1y2w0dhpfssa868xaikfzfdjw2vlj1yl299k5yisax"; depends=[whisker]; };
   paramtest = derive2 { name="paramtest"; version="0.1.0"; sha256="0yn1s1qkgby8x0qn7cy1zhxzc0wyi7bm30pkvijhn5h5afjpylsy"; depends=[boot]; };
@@ -9045,13 +9287,14 @@ in with self; {
   parlitools = derive2 { name="parlitools"; version="0.2.1"; sha256="14nzcbjddwnsiwwksl7bf2qk1kzzcnjc0b47ilqiq4nc4c386im3"; depends=[dplyr hansard httr jsonlite mnis sf stringi tibble]; };
   parma = derive2 { name="parma"; version="1.5-3"; sha256="0yjpmxz20v6k107qylw42yf1b231hzym9dizjcq1kalivvscczc5"; depends=[corpcor nloptr quadprog Rglpk slam truncnorm]; };
   parmigene = derive2 { name="parmigene"; version="1.0.2"; sha256="1fsm6pkr17jcbzkj1hbn91jf890fviqk1lq6ls8pihsdgah1zb4d"; depends=[]; };
-  parsec = derive2 { name="parsec"; version="1.1.2"; sha256="1hf3c23rnxckw4s2vqzbhkjgiir1nv1811saximj0mbih9w2vqpf"; depends=[]; };
+  parsec = derive2 { name="parsec"; version="1.2.0"; sha256="0ilc9d6kv7zb0kwhpqqi3bjx3r1cihyfamphrw83p6zy3xhfmfs6"; depends=[igraph]; };
   parsedate = derive2 { name="parsedate"; version="1.1.3"; sha256="0mg7hbm3903iwvmpn51gjpaaq03rsp72hjb1g8h5g84r81iha002"; depends=[]; };
   parsemsf = derive2 { name="parsemsf"; version="0.1.1"; sha256="0ks4503k06ib5lq4ar2rg0sdni99rjcqxj76b0mclasxbi07kjsa"; depends=[DBI dbplyr dplyr lazyeval RSQLite stringr tidyr]; };
   partDSA = derive2 { name="partDSA"; version="0.9.14"; sha256="1kp0cdsdjiay349jz22iqfzvspny8s343cfan8xahgf931k9h8p6"; depends=[survival]; };
-  partialAR = derive2 { name="partialAR"; version="1.0.10"; sha256="18hw0azhvd3737wi5cy8ympwfrj6ag01w1a4csy6kl2kifldg6b7"; depends=[data_table FKF ggplot2 MASS plot3D Rcpp tseries urca zoo]; };
-  partialCI = derive2 { name="partialCI"; version="1.1.0"; sha256="00gdr25zz327iscasm74bxj0k6h94m59qwaf9vf8xcqfpp0n22wa"; depends=[data_table FKF ggplot2 glmnet MASS partialAR Rcpp TTR zoo]; };
+  partialAR = derive2 { name="partialAR"; version="1.0.11"; sha256="1x7vsrjn91nr4bbkzz9mp8h93j9yhwwaqw1abh5n3bsrkq3xmgqj"; depends=[data_table ggplot2 KFAS MASS plot3D Rcpp tseries urca zoo]; };
+  partialCI = derive2 { name="partialCI"; version="1.1.1"; sha256="07c3484v8axqxss877dvb6d5gh4vrr8dbvcqgq2xgwb6wcs59nyy"; depends=[data_table ggplot2 glmnet KFAS MASS partialAR Rcpp TTR zoo]; };
   partialOR = derive2 { name="partialOR"; version="0.9"; sha256="02vbvln8lswysaafpxq5rxb6crp7yhlc13i42kybv8fr10jaagjj"; depends=[nnet]; };
+  particles = derive2 { name="particles"; version="0.2.1"; sha256="0rhxn3c62x3xc9lcy7xbg6r7pgfylan7cz24v8i9icjhl7xfswmv"; depends=[digest dplyr igraph magrittr mgcv Rcpp rlang tidygraph]; };
   partitionComparison = derive2 { name="partitionComparison"; version="0.2.3"; sha256="1p0f08za30kpmj9ky4jw6i3nl38i7xrslwsj60ih7gvph2jd39ix"; depends=[lpSolve Rdpack]; };
   partitionMap = derive2 { name="partitionMap"; version="0.5"; sha256="0pi066xaaq0iqr0d7cncdzjd7bacmgrivc4qvhqx0y7q1vifrdjm"; depends=[randomForest]; };
   partitionMetric = derive2 { name="partitionMetric"; version="1.1"; sha256="1wry9d3s814yp79ayab7rzf8z5l2mwpgnrc5j7d2sac24vp4pd48"; depends=[]; };
@@ -9064,15 +9307,16 @@ in with self; {
   pass = derive2 { name="pass"; version="1.0"; sha256="00dzwg2lnzmrrmzq3fyrs4axswgnsn7f62l2f2a8d8gyf8qzz3nf"; depends=[lars MASS ncvreg]; };
   passport = derive2 { name="passport"; version="0.2.0"; sha256="1jiwivrz7781zmwxmw13rxl80cr9r5pinnk5bvqz8nhfmlx0zmgd"; depends=[]; };
   password = derive2 { name="password"; version="1.0-0"; sha256="1ijzqdw54l8wvpy6ys28njvhplzjxzzi5i9y41vjnrr88n13977v"; depends=[]; };
-  pastecs = derive2 { name="pastecs"; version="1.3-18"; sha256="0ixlnc1psgqgm71bsf5z5j65lvr92ghpsk9f1ifm94dzjhi6d22i"; depends=[boot]; };
+  pastecs = derive2 { name="pastecs"; version="1.3.21"; sha256="0z4dic94ar646w7zc2ggi5hgvf2qnznsani94c5pyql8zspz47lc"; depends=[boot]; };
   pastis = derive2 { name="pastis"; version="0.1-2"; sha256="0211pzj3xrmqgxjpspij95kmlpa2klpicw49n6pnz2g1fapjy2bd"; depends=[ape caper]; };
   patPRO = derive2 { name="patPRO"; version="1.1.0"; sha256="1l6q6glklmfgivs4gw0v8q4qa57wr2bna477sn2v401hcwmgnfyn"; depends=[ggplot2 gridExtra plyr RColorBrewer reshape2]; };
   patchDVI = derive2 { name="patchDVI"; version="1.9.1616"; sha256="1akdlzw8v2p1zz09bm88d63jyxj7fv5h50p459p9ml4yc816xvji"; depends=[]; };
   patchPlot = derive2 { name="patchPlot"; version="0.1.5"; sha256="1b4k0dvvj6qwyxbqb36knyrawvy5qq8hl45pz896c9rkqhlg02bx"; depends=[datautils]; };
   patchSynctex = derive2 { name="patchSynctex"; version="0.1-4"; sha256="1li3kw7a77sx6dss8pnxzb0p0sdy1kfm1zdnmhhj043zihrryd5p"; depends=[stringr]; };
-  patentsview = derive2 { name="patentsview"; version="0.2.0"; sha256="1n599ksd4vdpfxdlq8bfc0h94v76qbsrrpd5p0q1c6cl083fvvzq"; depends=[httr jsonlite]; };
+  patentsview = derive2 { name="patentsview"; version="0.2.1"; sha256="104qq6cqvfk5m2yynpg5iwlp89y5qx18m20qp343mknxjbvqpjdg"; depends=[httr jsonlite]; };
   pathClass = derive2 { name="pathClass"; version="0.9.4"; sha256="1vzmz3bml37wfxsjhkw9fip90sr1iv521ccr7nlf6xd30wavqywk"; depends=[affy Biobase igraph kernlab lpSolve ROCR svmpath]; };
   pathdiagram = derive2 { name="pathdiagram"; version="0.1.9"; sha256="1j2h9mmwfi95nwhk9214kcfpb1qrmw249mjaza7i9gijmlicraxz"; depends=[shape]; };
+  pathfindR = derive2 { name="pathfindR"; version="1.0.0"; sha256="1wwl7cxgdrvcyrzyv1jrhhp850fc512585ih5g24jmrfr6n0422h"; depends=[AnnotationDbi DBI doParallel foreach knitr org_Hs_eg_db pathview rmarkdown shiny]; };
   pathmapping = derive2 { name="pathmapping"; version="1.0.2"; sha256="0kx4wxf6lhi58sif8fzr5w4wa0i5253fq4v0ynp721fv1hkvmhvz"; depends=[]; };
   pathmox = derive2 { name="pathmox"; version="0.2.0"; sha256="0hcllnpjjays35yngz309f1gcx9qg5z9h302kg9mhxs90470x4w0"; depends=[plspm tester]; };
   pathological = derive2 { name="pathological"; version="0.1-2"; sha256="07g7ps6zfxi98y98kwas95rr5ybfd4bpih5mhkjafc7bn99254n2"; depends=[assertive_base assertive_files assertive_numbers assertive_properties assertive_reflection assertive_strings assertive_types magrittr plyr stringi]; };
@@ -9088,14 +9332,15 @@ in with self; {
   pbdBASE = derive2 { name="pbdBASE"; version="0.4-5.1"; sha256="0ghdq8ry6fiq8qj3plq2n8isjx6iacnhqd1z73bjckmvp99g221n"; depends=[pbdMPI pbdSLAP]; };
   pbdDEMO = derive2 { name="pbdDEMO"; version="0.3-1"; sha256="0vr3dvvhr8j6xvdf308nn37y0lkl2ysm93yf0h7rclvqvsk1pf66"; depends=[pbdBASE pbdDMAT pbdMPI]; };
   pbdDMAT = derive2 { name="pbdDMAT"; version="0.4-2"; sha256="1xiwfpi8r0l8jlfrc35aknm09y4qbn0hvvkscdpcxv9q7zifvl3v"; depends=[pbdBASE pbdMPI]; };
-  pbdMPI = derive2 { name="pbdMPI"; version="0.3-4"; sha256="05b0f8hqnn5wrmxg1yjd60h5v0hys7bvzb9brgbsxp1nbsashqq9"; depends=[rlecuyer]; };
+  pbdMPI = derive2 { name="pbdMPI"; version="0.3-5"; sha256="1i970p74j53bnvqwv4ac03i7rbwp9ixbq1qbcv2x878wwz6fkcc2"; depends=[rlecuyer]; };
   pbdNCDF4 = derive2 { name="pbdNCDF4"; version="0.1-4"; sha256="0fd29mnbns30ck09kkh53dgj24ddrqzks4xrrk2hh1wiy7ap1h95"; depends=[]; };
   pbdPROF = derive2 { name="pbdPROF"; version="0.3-1"; sha256="0a7c31605si062vbwcwngv770axlwyhh00cvdfqw3hv421p61sj8"; depends=[]; };
   pbdRPC = derive2 { name="pbdRPC"; version="0.2-0"; sha256="0qndlgv6r9k17mz75g7d2k5alg0qp5h7scpnz2zl6kqlpr8z6l2p"; depends=[]; };
-  pbdSLAP = derive2 { name="pbdSLAP"; version="0.2-3"; sha256="1famaxkm385ka7kgk997lvkb68cpch0vb26l94vzkhxwfxl0fyjp"; depends=[pbdMPI rlecuyer]; };
+  pbdSLAP = derive2 { name="pbdSLAP"; version="0.2-4"; sha256="0wl8iir00nyb4j0sm8nssmgb2xhr8g2064pql0s72cgbzkq1k1cm"; depends=[pbdMPI rlecuyer]; };
   pbdZMQ = derive2 { name="pbdZMQ"; version="0.3-2"; sha256="0dzwwffinn9bbb73dmmh88c374f9057bl0a8dq97fbv63j4a5qpc"; depends=[]; };
   pbivnorm = derive2 { name="pbivnorm"; version="0.6.0"; sha256="05jzrjqxzbcf6z245hlk7sjxiszv9paadaaimvcx5y5qgi87vhq7"; depends=[]; };
   pbkrtest = derive2 { name="pbkrtest"; version="0.4-7"; sha256="1si3bhi59xc51a0pgjjglccq3h4aljyhw2k1b8574s145fnh7fsw"; depends=[lme4 MASS Matrix]; };
+  pbm = derive2 { name="pbm"; version="1.1.0"; sha256="054navz4fmn25nq3lsfnsnm35shj9wq4qz69d4ajw0q09gnb1cy8"; depends=[]; };
   pbmcapply = derive2 { name="pbmcapply"; version="1.2.4"; sha256="0wh0ljy9nbb7ifh06bf79hwc2ci9482hdppgpa1zpz8x2mgyvy04"; depends=[future]; };
   pbo = derive2 { name="pbo"; version="1.3.4"; sha256="0v522z36q48k4mx5gym564kgvhmf08fsadp8qs6amzbgkdx40yc4"; depends=[lattice]; };
   pbs = derive2 { name="pbs"; version="1.1"; sha256="0cpgs6k5h8y2cia01zs1p4ri8r7ljg2z4x8xcbx73s680dvnxa2w"; depends=[]; };
@@ -9105,9 +9350,8 @@ in with self; {
   pcaL1 = derive2 { name="pcaL1"; version="1.5.2"; sha256="1f7481wn2c935llb9visfdlv958ixxqybp5r2dy7nm18jacf2a0l"; depends=[]; };
   pcaPA = derive2 { name="pcaPA"; version="2.0.2"; sha256="14hi09qksr1z54l268yv4g2x5hlikir7zir4ccd9yi5z1918ksj5"; depends=[ggplot2 ltm mc2d polycor sfsmisc]; };
   pcaPP = derive2 { name="pcaPP"; version="1.9-73"; sha256="1z2kdf9gfp965xbcd4rg6vf20d1bl443na0qjkpq7gmzpaq6cifa"; depends=[mvtnorm]; };
-  pcadapt = derive2 { name="pcadapt"; version="3.0.4"; sha256="031ql3xppjkqrm17bvccj61hyf38skjb4qv6rs0l1h2ib8jql8ka"; depends=[ggplot2 MASS robust vcfR]; };
   pcalg = derive2 { name="pcalg"; version="2.5-0"; sha256="002y7b0r750nbnrg8w53q2fyvk13jk4jrqlf3f2777qw7si5vmz3"; depends=[abind bdsmatrix BH clue corpcor dagitty fastICA ggm gmp graph igraph RBGL Rcpp RcppArmadillo robustbase sfsmisc vcd]; };
-  pccc = derive2 { name="pccc"; version="1.0.0"; sha256="1z9vr6r5mnk73gk5p4qk7mnmn065b55kbsgr414nrkii0in6g0sp"; depends=[dplyr Rcpp]; };
+  pccc = derive2 { name="pccc"; version="1.0.1"; sha256="1br157yip3cizd05rgw22shrvjz2jrd6kad3dkswayksx8wrnvhz"; depends=[dplyr Rcpp]; };
   pcdpca = derive2 { name="pcdpca"; version="0.4"; sha256="0ys4hrin0w3f87d1d986wvrfkfwapzj9hz7d7v92r60ns74g7r5m"; depends=[fda freqdom]; };
   pcensmix = derive2 { name="pcensmix"; version="1.2-1"; sha256="1yrz4hdj52in8z65qyl18kh7frv75rb8ss5ljv3vbm6yhxi32jnd"; depends=[]; };
   pcev = derive2 { name="pcev"; version="2.2.2"; sha256="1l0afcdzkxzkhkc8ln2fzi50hc7nfq46lg6hhx6rrzkb41w82iqw"; depends=[corpcor RMTstat]; };
@@ -9118,7 +9362,7 @@ in with self; {
   pcr = derive2 { name="pcr"; version="1.1.0"; sha256="1rz9jxjs9s7kwg3aljfm1x2v7jsg94wawmhgs8va83g46pbl26g8"; depends=[broom devtools dplyr ggplot2 magrittr purrr readr tidyr]; };
   pcrcoal = derive2 { name="pcrcoal"; version="1.2.0"; sha256="0rd610ny8p7by3gi6kk130ii0qcswqsng5mzmxz8hrxqk0cs4c9x"; depends=[ape ggplot2 phylosim]; };
   pcrsim = derive2 { name="pcrsim"; version="1.0.2"; sha256="04177xl513k01prmf93kha91dyxmb9v80d1y4lz73fxsifj6bhar"; depends=[data_table ggplot2 gWidgets mc2d plyr strvalidator]; };
-  pcse = derive2 { name="pcse"; version="1.9"; sha256="04vprsvcmv1ivxqrrvd1f8ifg493byncqvmr84fmc0jw5m9jrk3j"; depends=[]; };
+  pcse = derive2 { name="pcse"; version="1.9.1"; sha256="07382jz75ywqr4q750rk66yf0j28k54plx281k1yi541la8vic57"; depends=[]; };
   pdR = derive2 { name="pdR"; version="1.5"; sha256="072ra8czfvgcgkbdfkjhbpk7f23zh717f9sh84vls9j0wyrai6hn"; depends=[boot car coefplot lmtest papeR plm sandwich]; };
   pdSpecEst = derive2 { name="pdSpecEst"; version="1.2.1"; sha256="0j68jmsm6c9pan195k0l0nm1ldbipl5ywlbwkz61dblspizh04iw"; depends=[ddalpha multitaper Rcpp RcppArmadillo]; };
   pdc = derive2 { name="pdc"; version="1.0.3"; sha256="0503n7aiy0qrl790yfjvpm7bbyz1i4818rlg96q0fvzb58zqmyvc"; depends=[]; };
@@ -9127,7 +9371,7 @@ in with self; {
   pdfetch = derive2 { name="pdfetch"; version="0.2.3"; sha256="1fcjhq79dcbnghmkfpy1h29gcywr1hq91xij5f21wgp4xx465sha"; depends=[curl httr jsonlite lubridate readr reshape2 XML xml2 xts zoo]; };
   pdfsearch = derive2 { name="pdfsearch"; version="0.1.1"; sha256="0k62j6ilv8rmmmasqyb3hklhjqg22jiyx0sxd7f8n0xmlfcjgfqi"; depends=[pdftools tibble]; };
   pdftables = derive2 { name="pdftables"; version="0.1"; sha256="1gnwjijr89cczchc7yi4w5xiw0dalbymvj23rymm8cfra34iwn5p"; depends=[httr]; };
-  pdftools = derive2 { name="pdftools"; version="1.5"; sha256="09z4174zbp0nzdkpwx5yxxlmzskqg48gc6n5qpmx0hkanfz8g7ls"; depends=[Rcpp]; };
+  pdftools = derive2 { name="pdftools"; version="1.6"; sha256="00m5x1n5kjzvc1wljfy8riq2srxjvklasnh6ps8a89zbgglhp5cv"; depends=[Rcpp]; };
   pdist = derive2 { name="pdist"; version="1.2"; sha256="18nd3mgad11f2zmwcp0w3sxlch4a9y6wp8dfdyzvjn7y4b4bq0dd"; depends=[]; };
   pdmod = derive2 { name="pdmod"; version="1.0.1"; sha256="04bk9gjg2c55hk6k1hy0m29927s8a5ig6mr4xb89npam68g0pcms"; depends=[mco]; };
   pdolsms = derive2 { name="pdolsms"; version="0.2"; sha256="18gwr1xnm7jbqna911b7haa9sv1i2qvq18w00dkbnj796rh0h78f"; depends=[reshape2]; };
@@ -9137,8 +9381,8 @@ in with self; {
   peakRAM = derive2 { name="peakRAM"; version="1.0.2"; sha256="0mj7f8jqkfky61xag2km0svbgvfmif3c1d8ccav6pv1963cg3cvv"; depends=[]; };
   pear = derive2 { name="pear"; version="1.2"; sha256="1ixmyzm72s18qrfv2m8xzh5503k1q90lhddq4sp46m0q7qyxb192"; depends=[]; };
   pearson7 = derive2 { name="pearson7"; version="1.0-2"; sha256="0x8bnlzgmfah8lzdg8skxs7bm8yq0nkrhqi7q43h902j4jl5b8jy"; depends=[]; };
-  pec = derive2 { name="pec"; version="2.5.4"; sha256="1gi8vvdj3mwpi5rgfqci1lan1a34nbcyyypwa171sfj7j1m770r3"; depends=[foreach prodlim rms survival timereg]; };
-  pedantics = derive2 { name="pedantics"; version="1.5"; sha256="0m5jxzkf1pf657q2klv6idnywg18ki962666nj7sfyl4rq06xhsi"; depends=[kinship2 MasterBayes MCMCglmm]; };
+  pec = derive2 { name="pec"; version="2018.04.18"; sha256="0a6q37l42zbz566bz0qs5aszd71bb0kd9bz0zmb42q0ak0v4yijd"; depends=[foreach prodlim rms survival timereg]; };
+  pedantics = derive2 { name="pedantics"; version="1.7"; sha256="14hphziwqrq4fkxlvp94j564q19k9fabvhmdz7zhb6cvak6xv1n6"; depends=[genetics kinship2 MasterBayes MCMCglmm mvtnorm]; };
   pedgene = derive2 { name="pedgene"; version="2.9"; sha256="1200d6blz7n3krnvhw0i9mz6219vwk0vlj17yzr3fqzyn5cyf91z"; depends=[CompQuadForm kinship2 Matrix survey]; };
   pedigree = derive2 { name="pedigree"; version="1.4"; sha256="1dqfvzcl6f15n4d4anjkd0h8vwsbxjg1lmlj33px8rpp3y8xzdgw"; depends=[HaploSim Matrix reshape]; };
   pedigreemm = derive2 { name="pedigreemm"; version="0.3-3"; sha256="1bpkba9nxbaxnivrjarf1p2p9dcz6smf9k2djawis1wq9dhylvsb"; depends=[lme4 Matrix]; };
@@ -9155,18 +9399,18 @@ in with self; {
   pencopula = derive2 { name="pencopula"; version="0.3.5"; sha256="1cy36pprbrfabk9n3x4d1xbj1vd2dda7xq3ihj2hzniwn77j63wi"; depends=[fda lattice latticeExtra quadprog]; };
   pencopulaCond = derive2 { name="pencopulaCond"; version="0.2"; sha256="18hjjxnd0l2ms20ddqkghfbd4as5kq2rgwqzpz4y38k6nw76x511"; depends=[doParallel fda foreach igraph lattice latticeExtra pacotest quadprog TSP]; };
   pendensity = derive2 { name="pendensity"; version="0.2.10"; sha256="023gl993jniv5r8l9nkaha7v6k2rb1hxm7z543dpr4186kjbi7zl"; depends=[fda lattice]; };
-  pense = derive2 { name="pense"; version="1.0.8"; sha256="0qlqlgk9hl7x3937k397kany7rq8ffi837771sk5rccidiawm9bg"; depends=[Matrix Rcpp RcppArmadillo robustbase]; };
+  pense = derive2 { name="pense"; version="1.2.0"; sha256="0wilfjhkj5hrgm7mak1hvlk07wrr3f774w26vyvbwlm8xsxxsbzz"; depends=[Matrix Rcpp RcppArmadillo robustbase]; };
   pensim = derive2 { name="pensim"; version="1.2.9"; sha256="10nrnxwfs41bhybs7j6xgnx0pq3c802n9k8irngmh8iy4w3wbhrq"; depends=[MASS penalized]; };
   peperr = derive2 { name="peperr"; version="1.1-7"; sha256="01a6sxcmb8v2iz2xdwhdnr92k3w2vn3hr0hg9b6mkpzjf4n45q3k"; depends=[snowfall survival]; };
   peptider = derive2 { name="peptider"; version="0.2.2"; sha256="109z81x6jcsx2651lclff7ak55zb1i89pyi58rxri40aamx4b1x2"; depends=[discreteRV dplyr plyr]; };
   pequod = derive2 { name="pequod"; version="0.0-5"; sha256="0mwrgyrxgiifpnpy15qxpdrdmd7dxqihccrnj5nh8fq9fvwymamg"; depends=[car ggplot2]; };
   perARMA = derive2 { name="perARMA"; version="1.6"; sha256="0k70lcqhiiffrwzvh51asnhx68qxpnjnxadarvgpgbc7kfy7lv9x"; depends=[corpcor gnm matlab Matrix signal]; };
   perccal = derive2 { name="perccal"; version="1.0"; sha256="1akak068d0g70amj5sbvnqbywzy21l4wz11mhp71b7cp4xmr9n12"; depends=[Rcpp RcppArmadillo RcppEigen]; };
-  perccalc = derive2 { name="perccalc"; version="1.0.0"; sha256="0327jj67gqq05a6fd5iac3b47ch7mgslalk4hr92v6svh8cz4syv"; depends=[broom devtools dplyr ggplot2 haven magrittr MASS multcomp purrr tibble tidyr tidyverse]; };
+  perccalc = derive2 { name="perccalc"; version="1.0.1"; sha256="0dq5m7d6jdapbnkh65f5cizqiggpl1922nl4gc6damzvyym95qrj"; depends=[broom dplyr magrittr multcomp purrr tibble tidyr]; };
   performanceEstimation = derive2 { name="performanceEstimation"; version="1.1.0"; sha256="08jx2zl6xh0rp54xa70gb717wbfdzfrx9b47i3b3ly41qaf85vrc"; depends=[dplyr ggplot2 parallelMap tidyr]; };
   pergola = derive2 { name="pergola"; version="1.0"; sha256="1650ipp2b455xdkznwm7bnxvimad7nbyr9i1lg2vdh64j1qfh7gl"; depends=[seriation]; };
   perm = derive2 { name="perm"; version="1.0-0.0"; sha256="0075awl66ynv10vypg63fcxk33qzvxddrp8mi4w08ysvimcyxijk"; depends=[]; };
-  permDep = derive2 { name="permDep"; version="1.0-0"; sha256="15jjxni14i3br0j5cqajgydkb71yd657fvz4m0jcr66g1sb77aij"; depends=[BB goft survival]; };
+  permDep = derive2 { name="permDep"; version="1.0-1"; sha256="03va74vxzijy169pqf6qhpw4afb3r3ia5y0qcfqz1xjs2zmck7mj"; depends=[BB survival]; };
   permGPU = derive2 { name="permGPU"; version="0.14.9"; sha256="10r2qxbvzjxv3520lrn6cwi5akhhwgkhz7yaqxi5vh2f5l0s49wy"; depends=[Biobase foreach RUnit survival]; };
   permGS = derive2 { name="permGS"; version="0.2.5"; sha256="0d2kp3c1fmnjjmsvc2qwh6m66yqvy2vrrxgv1fj2i4clsbavfa0y"; depends=[coin survival]; };
   permPATH = derive2 { name="permPATH"; version="1.1"; sha256="06h1lqpmkg4ajjh4r837qp094h105n4mpvafnp2nsbv9yyayd4h8"; depends=[R2HTML xtable]; };
@@ -9176,12 +9420,13 @@ in with self; {
   permute = derive2 { name="permute"; version="0.9-4"; sha256="1w8wzk1fg9q7wvisnfp2js70dg0m9wi12gkdhpyngpbdcgssahd5"; depends=[]; };
   perry = derive2 { name="perry"; version="0.2.0"; sha256="1lfmcq2xsxmfs7cxvhgxcsggslgjicbaks4wcjw1yjh67n559j46"; depends=[ggplot2 robustbase]; };
   persiandictionary = derive2 { name="persiandictionary"; version="1.0"; sha256="0rgi36ngpiax3p5zk4cdgf3463vgx7zg5wxscs2j7834yh37jwax"; depends=[]; };
-  personalized = derive2 { name="personalized"; version="0.1.3"; sha256="0xi13mcwr9h0fxb4ihfvjp7xvakskfvlcbbcfk4bvxfwp6yv7vv7"; depends=[foreach gbm ggplot2 glmnet kernlab mgcv plotly survival]; };
+  personalized = derive2 { name="personalized"; version="0.1.5"; sha256="1id3ml5n7l7lgd029csn23ffrsqhm4g1id20hxqhqz4knknfxkkf"; depends=[foreach gbm ggplot2 glmnet kernlab mgcv plotly survival]; };
   personograph = derive2 { name="personograph"; version="0.1.3"; sha256="07lrlbw4222l1d5rwn0hfqliyk8sqjf6ipz4n2zwcbk113bb8sy7"; depends=[grImport]; };
   perspectev = derive2 { name="perspectev"; version="1.1"; sha256="175s1nq5z4gfs5qb39lq230g6n0v8fxzs5hr9j2rgx0knpbjfq03"; depends=[ape boot doParallel foreach ggplot2 mapproj sp]; };
   perturb = derive2 { name="perturb"; version="2.05"; sha256="18ydmmp8aq4rf9834dmsr4fr9r07zyn97v8a1jqz3g9njza983la"; depends=[]; };
-  perturbR = derive2 { name="perturbR"; version="0.1.0"; sha256="0zn10xm39sbv9g8mvp582c6bwpdk6ss1b50pdk7nkdmih3g6cxqb"; depends=[dils ggplot2 igraph mcclust]; };
+  perturbR = derive2 { name="perturbR"; version="0.1.1"; sha256="13in5xjv1854ihalyj4427ix4scc17b95iw72rcb4yivha9jgplq"; depends=[dils ggplot2 igraph mcclust]; };
   pesticides = derive2 { name="pesticides"; version="0.1"; sha256="1w180hqqav0mh9sr9djj94sf55fzh4r373a7h08a2nz9nyjpq09w"; depends=[]; };
+  petitr = derive2 { name="petitr"; version="1.0"; sha256="0i13zhdrdka0ij0khdzj6ylvvcn4wxvplb8a368i1s64cpgak30c"; depends=[]; };
   petrinetR = derive2 { name="petrinetR"; version="0.1.0"; sha256="0na8srzwi933bva9j3hrn4ji8s58dm28jpxw9q13mpahzch4r454"; depends=[dplyr visNetwork]; };
   petro_One = derive2 { name="petro.One"; version="0.1.3"; sha256="13bxd011lprimy5m3z08l4yng2fkp28b1ad1bqs0piffx5bxw13n"; depends=[cluster data_table dplyr ggplot2 graph magrittr RColorBrewer Rgraphviz rvest RWeka tibble tm urltools wordcloud xml2]; };
   pewdata = derive2 { name="pewdata"; version="0.2.0"; sha256="17j8fdn9x6hannr91zyccya523z3zm03gr517xfcyrd0m486xnqb"; depends=[httr magrittr purrr rvest]; };
@@ -9189,17 +9434,18 @@ in with self; {
   pfa = derive2 { name="pfa"; version="1.1"; sha256="0ikdd7ps8wnjp9nm66w447m06hqxnnk553jglxikl2w5d9vk6b31"; depends=[lars POET quantreg]; };
   pgam = derive2 { name="pgam"; version="0.4.15"; sha256="12llflsb32dfvxl3nbyb9bsl9bmd35g5g163hd3axzmg1bgi21ls"; depends=[]; };
   pgee_mixed = derive2 { name="pgee.mixed"; version="0.1.0"; sha256="115vvpv54q80486i3xs2yhmfyx476cf4g1v43q6l7wj3jwzcrvbg"; depends=[copula mvtnorm Rcpp RcppArmadillo]; };
-  pgirmess = derive2 { name="pgirmess"; version="1.6.7"; sha256="1an7isajb4h04i2sfnssnxfi61v17fh803ddf8hmcfqkpig4yi6p"; depends=[boot maptools rgdal rgeos sp spdep splancs]; };
+  pgirmess = derive2 { name="pgirmess"; version="1.6.9"; sha256="1i1qn68isaz2lbpqyydjgj9kri09aknza5qjn6m1wa1alyl7f611"; depends=[boot maptools rgdal rgeos sp spdep splancs]; };
   pglm = derive2 { name="pglm"; version="0.2-1"; sha256="14hnlidf62kzcf83jc7k17n4hjjaj82scdwh8a7qxd056vygkqx2"; depends=[maxLik plm statmod]; };
+  pgmm = derive2 { name="pgmm"; version="1.2.2"; sha256="1z39148gvs5nndd54x2afpsqdyqd8apjgnxn0ndv2071aa8gyk1j"; depends=[]; };
   pgnorm = derive2 { name="pgnorm"; version="2.0"; sha256="1k9z7pvmranr8m62v7amc0pj6lwzh3wqi79gg3mflifn1mr6c057"; depends=[]; };
   pgraph = derive2 { name="pgraph"; version="0.8"; sha256="1r784snci5m81qljfh1r3w8qzszmy0476zvsd1alh43afzg9zpr5"; depends=[energy glasso glmnet SAM]; };
   pgs = derive2 { name="pgs"; version="0.4-0"; sha256="1zf5sjn662sds3h06zk5p4g71qnpwp5yhw1dkjzs1rs48pxmagrx"; depends=[gsl R2Cuba]; };
-  ph2bayes = derive2 { name="ph2bayes"; version="0.0.1"; sha256="09ns3i5dgbn8573g4sism6d3y8jp26icy21l8d8px91jfhlx7kxv"; depends=[Rcpp]; };
+  ph2bayes = derive2 { name="ph2bayes"; version="0.0.2"; sha256="1xm7930gycxrz308dnfnp023yidqik52sbrli35f3773mnfcid2g"; depends=[Rcpp]; };
   ph2bye = derive2 { name="ph2bye"; version="0.1.4"; sha256="0h5d8d4bagkp6g0nb67cb225ki5p1amnclnfj6afgdcsli5clr67"; depends=[animation nleqslv Rcpp VGAM]; };
   ph2mult = derive2 { name="ph2mult"; version="0.1.1"; sha256="0w3w18fkr9xzv6mpb00cz5id33zgsnl6s8zgjpchzvrhmpjpp437"; depends=[clinfun]; };
   phalen = derive2 { name="phalen"; version="1.0"; sha256="0awj9a48dy0azkhqkkzf82q75hrsb2yw6dgbsvlsb0a71g4wyhlr"; depends=[sqldf]; };
   phangorn = derive2 { name="phangorn"; version="2.4.0"; sha256="0xc8k552nxczy19jr0xjjagrzc8x6lafasgk2c099ls8bc1yml1i"; depends=[ape fastmatch igraph magrittr Matrix quadprog Rcpp]; };
-  phantom = derive2 { name="phantom"; version="0.1.2"; sha256="15b770awvzjp8x44psifngnvsn2fs8s43v2lxj336r6k2iswpc9x"; depends=[gplots MASS NMF RColorBrewer Rcpp RcppArmadillo]; };
+  phantom = derive2 { name="phantom"; version="0.1.3"; sha256="0kgw65jziw5s03isq5ywmqijhkbik5i84k30hx5gbi0zzgj8y0h1"; depends=[gplots MASS NMF qusage RColorBrewer Rcpp RcppArmadillo]; };
   phase1RMD = derive2 { name="phase1RMD"; version="1.0.8"; sha256="1wvlajsqb8y8f30asq1lyk87kmakh2risnky98g5gday765y90qa"; depends=[arrayhelpers boot coda ggplot2 mvtnorm rjags]; };
   phaseR = derive2 { name="phaseR"; version="1.3"; sha256="1hwclb7lys00vc260y3z9428b5dgm7zq474i8yg0w07rxqriaq2h"; depends=[deSolve]; };
   phcfM = derive2 { name="phcfM"; version="1.2"; sha256="0i1vr8rmq5zs34syz2vvy8c9603ifzr9s5v2izh1fh8xhzg7655x"; depends=[coda]; };
@@ -9209,23 +9455,26 @@ in with self; {
   phenmod = derive2 { name="phenmod"; version="1.2-3"; sha256="0dxwx8c7zka29fq7svrvn8bghj8jh8grbrgsw4pvavx2439cldak"; depends=[gstat lattice pheno RColorBrewer]; };
   pheno = derive2 { name="pheno"; version="1.6"; sha256="0xdya1g1ap7h12c6zn3apbkxr725rjhcp4gbdchkvcnwz4y9vw8c"; depends=[nlme quantreg SparseM]; };
   pheno2geno = derive2 { name="pheno2geno"; version="1.4.0"; sha256="0fy8z6x1y0sakp07jb6zs0w0f86pbbllicj4qylxzfd5rpn1rqr0"; depends=[mixtools qtl VGAM]; };
-  phenoCDM = derive2 { name="phenoCDM"; version="0.0.2"; sha256="07fmljdn5dg9v2mv0k7hjk7xlldhvzvcxia8vda0xkpn3hlrriid"; depends=[rjags]; };
-  phenology = derive2 { name="phenology"; version="6.0.3"; sha256="17idd9znwmgsa6wzijc4ahvlld4qp6sihyg3cdv91gfl0yjd51w1"; depends=[HelpersMG lmf numDeriv optimx]; };
-  phenomap = derive2 { name="phenomap"; version="1.0.1"; sha256="1v25aga9lnph3z8pn887a5phl720a3mpk96bmxvjy89633rvjxk4"; depends=[dplyr phenex plyr raster rgdal stringr]; };
+  phenoCDM = derive2 { name="phenoCDM"; version="0.1.2"; sha256="1158ac6cjl83pnfxmklxjnh35nagx1c21iidawr1s7pqv858ixix"; depends=[rjags]; };
+  phenocamr = derive2 { name="phenocamr"; version="1.1.0"; sha256="10k7z82skkf9l15a2b77ygg5lkg0x68z7xbkw4p3mgs68dd9ah63"; depends=[changepoint curl daymetr DT jsonlite leaflet plotly shiny shinydashboard zoo]; };
+  phenology = derive2 { name="phenology"; version="7.0"; sha256="1glbjm7i2kyl04k0sam29zy1lpzfq2mpkgg44jpnby8c9vz8pkmi"; depends=[HelpersMG lmf numDeriv optimx]; };
+  phenomap = derive2 { name="phenomap"; version="1.2.1"; sha256="0kpngxqrbahild5nblfvgx2kna43hqqldx5q3b127dnqwzbhfvbb"; depends=[doParallel dplyr phenex plyr raster rgdal stringr]; };
   phenopix = derive2 { name="phenopix"; version="2.3.1"; sha256="1yy163nh2b74m0v7f2gkgxaplvw4whs2h30bkw4chl0zyrcrci86"; depends=[bcp doParallel foreach gtools iterators jpeg plyr raster SDMTools sp stringr strucchange zoo]; };
   phia = derive2 { name="phia"; version="0.2-1"; sha256="0rv2akl5a488vax4sd9wnx765mch4vvcmg3iyxyljzl5kpqh5r00"; depends=[car Matrix]; };
-  philentropy = derive2 { name="philentropy"; version="0.0.3"; sha256="00fpbmxg8m8apjb6cdrhh9rw3vp1j65ccvsqj1xlfcn1x5l1h3h8"; depends=[dplyr KernSmooth Rcpp]; };
+  philentropy = derive2 { name="philentropy"; version="0.1.0"; sha256="19nrfkla64jbd46ig13ljy6k5dxiwq2mnsfn37sgy9sf4h8zzwk3"; depends=[dplyr KernSmooth Rcpp]; };
   phmm = derive2 { name="phmm"; version="0.7-10"; sha256="1ra5qf24qmwjf8cra9yh20i2s8jv0kzb1gyw96il8r5cdl20gbcz"; depends=[lattice Matrix survival]; };
   phonR = derive2 { name="phonR"; version="1.0-7"; sha256="0al2cbynnbvmd90lk1w1g1ppslqq0ng8vbb6bl7m4kqwd2lgv056"; depends=[deldir plotrix splancs]; };
   phonTools = derive2 { name="phonTools"; version="0.2-2.1"; sha256="01i481mhswsys3gpasw9gn6nxkfmi7bz46g5c84m13pg0cv8hxc7"; depends=[]; };
   phonenumber = derive2 { name="phonenumber"; version="0.2.2"; sha256="1m5idp538lvynmfp8m7l89js6hk5lpp26k419bdvj3hd3ap0n9lg"; depends=[]; };
   phonics = derive2 { name="phonics"; version="1.0.0"; sha256="02bkw589iijlzbw0cbg9qhq99jij2p92cqrxa77chkly4naqkqds"; depends=[BH Rcpp]; };
-  photobiology = derive2 { name="photobiology"; version="0.9.18-1"; sha256="0sn6avmic8vad6xs84hbw4scmrififn398gz0qmnbgbld3qqbxjq"; depends=[caTools dplyr lubridate plyr polynom rlang splus2R tibble]; };
+  photobiology = derive2 { name="photobiology"; version="0.9.20"; sha256="0w4xcg9r6hn8lv8jkmfr1b2w2q30wxs6m3nv4409hy9rp77qgfcl"; depends=[caTools dplyr lubridate plyr polynom rlang splus2R tibble]; };
   photobiologyFilters = derive2 { name="photobiologyFilters"; version="0.4.4"; sha256="14aiw5jxd6wnngy1rbbm85l0yx64nxrancal017wvr5n867c32d6"; depends=[photobiology]; };
-  photobiologyInOut = derive2 { name="photobiologyInOut"; version="0.4.13"; sha256="1zagvdaiv8d5frwki20wwvbyw4a9in3k8560janbmd161xh13ii0"; depends=[colorSpec dplyr hyperSpec lazyeval lubridate pavo photobiology readr readxl reshape2 tibble]; };
+  photobiologyInOut = derive2 { name="photobiologyInOut"; version="0.4.14"; sha256="1q0dd3szr06rm6zy2mkb37n4s37554x71jgkhmw88iiy58y2fkv5"; depends=[colorSpec dplyr hyperSpec lazyeval lubridate pavo photobiology readr readxl tibble tidyr]; };
   photobiologyLEDs = derive2 { name="photobiologyLEDs"; version="0.4.3-1"; sha256="0inhl6ba1fzkak4752m60hkm6fzapzyz5kchvz18yv33dmm13v1c"; depends=[photobiology]; };
-  photobiologyLamps = derive2 { name="photobiologyLamps"; version="0.4.1"; sha256="19pzb12qisv5hy7rps0dp9bq8zanpyr2yn41i6rd8hk80fknjha6"; depends=[photobiology]; };
+  photobiologyLamps = derive2 { name="photobiologyLamps"; version="0.4.2"; sha256="0fcin04xc2k39qdipslqd3w3bsd8yl3xlvg7mlgm3aphfwg4hnmj"; depends=[photobiology]; };
   photobiologyPlants = derive2 { name="photobiologyPlants"; version="0.4.1"; sha256="0mpb5sv4wkvqzbhf193zkhap44yzlhxrnjx1p3j9iyjdg4bb1kka"; depends=[photobiology photobiologyWavebands]; };
+  photobiologySensors = derive2 { name="photobiologySensors"; version="0.4.0"; sha256="1d0rphlx6k2hqvmhndbw143djsfr4fmwjih3s37bhksc2dn7nh2v"; depends=[photobiology]; };
+  photobiologySun = derive2 { name="photobiologySun"; version="0.4.0"; sha256="0aczf1ki623pflsnn08z0nrsx7wwn67b8ql08ar08rpk1bj93nfy"; depends=[photobiology]; };
   photobiologyWavebands = derive2 { name="photobiologyWavebands"; version="0.4.2"; sha256="0l1784xi9hzsxmiqipv0zkb4lq1xd9f890rzsgsjb0km6js5x3q7"; depends=[photobiology]; };
   phrasemachine = derive2 { name="phrasemachine"; version="1.1.2"; sha256="1145c8ymarhbza8253rw4ybnq0k5pcckqxpdcr8s2y23pj182r1p"; depends=[NLP openNLP stringr]; };
   phreeqc = derive2 { name="phreeqc"; version="3.3.10"; sha256="0hcdjj1wgfknqf5yx50b9vz5f72siw4dslyvk2xbrfnwbzzz4qib"; depends=[]; };
@@ -9236,22 +9485,23 @@ in with self; {
   phyclust = derive2 { name="phyclust"; version="0.1-22"; sha256="0c3w1vafhcshnh5lkb6bykk6w7w91qigz3sf215zqmrra1acri0d"; depends=[ape]; };
   phyext2 = derive2 { name="phyext2"; version="0.0.4"; sha256="0j871kgqm9fll0vdgh071z77ib51y8pxxm0ssjszljvvpx1mb8rb"; depends=[ape phylobase]; };
   phylin = derive2 { name="phylin"; version="1.1.1"; sha256="1hxmh5jgcz41bhmi8kvimw0b6m4p3yq85bh79hl7xbx2kshxmvzq"; depends=[]; };
-  phyloTop = derive2 { name="phyloTop"; version="2.1.0"; sha256="1a6r4fd2zv5napvdj2lqljccwsnd5mjkd1wzl18hvx7qzxvrna8c"; depends=[ape igraph NHPoisson phylobase]; };
+  phyloTop = derive2 { name="phyloTop"; version="2.1.1"; sha256="1n44kr3a9yg8yvy3m493zi04x6aiqm424fp2ls9yzyx1cga2h9nk"; depends=[ape igraph NHPoisson phylobase]; };
   phylobase = derive2 { name="phylobase"; version="0.8.4"; sha256="00hh53ibr7ddck4rl1rz9bpjsvjym040c5f78l1yizv6q9rakhfp"; depends=[ade4 ape Rcpp rncl RNeXML]; };
   phylocanvas = derive2 { name="phylocanvas"; version="0.1.3"; sha256="1l5br500lwwf7vp8wph5ykpkpqd15lypvhzy0c1cc8g8c6f7pckn"; depends=[ape htmlwidgets phylobase]; };
   phyloclim = derive2 { name="phyloclim"; version="0.9-4"; sha256="0ngg8x192lrhd75rr6qbh72pqijbrhrpizl27q0vr6hp7n9ch3zx"; depends=[ape raster]; };
   phylocurve = derive2 { name="phylocurve"; version="2.0.9"; sha256="1d01nwfpyh61r00dq6cnhxdwzk81jr3l6aa51dl1wck4cy0frscp"; depends=[ape doParallel drc dtw foreach geiger geomorph GPfit Matrix mvnmle phylolm phytools Rcpp RcppArmadillo rgl]; };
-  phylogram = derive2 { name="phylogram"; version="1.0.1"; sha256="0hjniq91ivw82aqifb4sqqbw36scs0081s7xrjj37581rk0xamyl"; depends=[openssl Rcpp]; };
+  phylogram = derive2 { name="phylogram"; version="2.0.1"; sha256="17032pr87cdyz2aynb17jspkghq64xivsf1ylky2niypz7xbz0i3"; depends=[ape]; };
   phyloland = derive2 { name="phyloland"; version="1.3"; sha256="10g40m6n2s4qvnzlqcwpy3k0j7bxdp79f586jj910b8p00ymrksp"; depends=[ape]; };
   phylolm = derive2 { name="phylolm"; version="2.5"; sha256="0bffqzba6kcv8jyya7pja10mjnklhihczljhmj8q0pdrmd6qgqp8"; depends=[ape]; };
   phylometrics = derive2 { name="phylometrics"; version="0.0.1"; sha256="1pmr6l3wmaf91wdlsc5m63l07fibngnly2qzkma0rdi463ii03il"; depends=[mvtnorm]; };
   phylopath = derive2 { name="phylopath"; version="1.0.0"; sha256="1n6f7piygps3pwqapsvqpz764995kxhdqz1hc5n6znvl01ykdqx5"; depends=[ape dplyr ggm ggplot2 ggraph igraph MuMIn pbapply phylolm purrr tibble tidyr]; };
+  phyloseqGraphTest = derive2 { name="phyloseqGraphTest"; version="0.0.1"; sha256="0bxhikzrs5gcwkchpmxwvampyrbwv0d3ay5i7s766x6687xzm6qa"; depends=[ggnetwork ggplot2 igraph intergraph phyloseq]; };
   phylosignal = derive2 { name="phylosignal"; version="1.2"; sha256="0apsg4v1n58wn8y8wnl6x1ahl903i29hh8bs2dw6ky2jafkjj4jb"; depends=[adephylo ape boot DBI igraph phylobase Rcpp RcppArmadillo]; };
   phylosim = derive2 { name="phylosim"; version="3.0.2"; sha256="148zm43cgdhr264ffcabjx4abykks07jix6lypqysqy25fbmdngk"; depends=[ape compoisson ggplot2 R_methodsS3 R_oo]; };
   phylotate = derive2 { name="phylotate"; version="1.2"; sha256="19nssrdax5w5a50159j39jgs7305s48k3h56ivyzs5di6l7x1yxj"; depends=[]; };
   phylotools = derive2 { name="phylotools"; version="0.2.2"; sha256="1dhk1ncp5zi4zl1xfnjz64v983dm7bq7iimfjin80j0bdcpps44w"; depends=[ape]; };
   phyndr = derive2 { name="phyndr"; version="0.1.0"; sha256="03y3j4ik6flrksqm2dwh2cihn12hzfdik0fsak4zbxjdzaqn5gim"; depends=[ape]; };
-  phyreg = derive2 { name="phyreg"; version="0.7"; sha256="0saynhq4yvd4x2xaljcsfmqk7da2jq3jqk26fm9qivg900z4kf35"; depends=[]; };
+  phyreg = derive2 { name="phyreg"; version="1.0.2"; sha256="0m1psq79zl7h8791pl8g6i0ybda7vgddza8r9mwqhg4sw1q4bzcp"; depends=[]; };
   physiology = derive2 { name="physiology"; version="0.2.2"; sha256="0z394smbnmlrnp9ms5vjczc3avrcn5nxm8np5y58k86x470w6npz"; depends=[]; };
   phytools = derive2 { name="phytools"; version="0.6-44"; sha256="1y815pv1cksj244vcb7q4qr45gzr4cb1qwi166h65ryggywcj48w"; depends=[animation ape clusterGeneration coda combinat maps MASS mnormt msm nlme numDeriv phangorn plotrix scatterplot3d]; };
   phytotools = derive2 { name="phytotools"; version="1.0"; sha256="049znviv2vvzv23biy1l28axm7bc7biwmq4bnn0cnjqgkk48ysz3"; depends=[FME insol]; };
@@ -9260,8 +9510,9 @@ in with self; {
   pid = derive2 { name="pid"; version="0.36"; sha256="1w6h09ddq8rv7k5xl4v6nhlkm0vnmim57mg0dzk2dv9dc4v8i141"; depends=[DoE_base FrF2 ggplot2 png]; };
   piecewiseSEM = derive2 { name="piecewiseSEM"; version="1.2.1"; sha256="0c705ngyj2pf24vvqdld5rnf875pw64gs64l9f7nylbfrax39kbv"; depends=[lavaan lme4 nlme pbkrtest]; };
   pifpaf = derive2 { name="pifpaf"; version="1.0.1"; sha256="0wj1fbhd871fnw7fjlbh0gdjz848mbwl1bzjp3cgmh9s7jnd2kci"; depends=[ggplot2 gridExtra MASS matrixcalc numDeriv sfsmisc]; };
-  pillar = derive2 { name="pillar"; version="1.1.0"; sha256="1gh3j2pbbf5y4d5nyqnlr0x27jjyvjjspcccmw61airs1n6rx8jq"; depends=[cli crayon rlang utf8]; };
+  pillar = derive2 { name="pillar"; version="1.2.1"; sha256="1ryd7m570y6q3w71wd5dz042b3d0dv24g2rbkw1kdx0n6jj9gsbd"; depends=[cli crayon rlang utf8]; };
   pim = derive2 { name="pim"; version="2.0.1"; sha256="1m804clxc8m4nyzi4hhfy118527lgf2sb7589qd61fb83yh6hi8p"; depends=[BB nleqslv]; };
+  pimeta = derive2 { name="pimeta"; version="1.0.0"; sha256="0ri6qznk3nj1a2nj9qdahlm452drzcb51x8g89ffb3y6xjsh6y5g"; depends=[Rcpp RcppEigen]; };
   pinbasic = derive2 { name="pinbasic"; version="1.2.0"; sha256="1sn4q9g2pw8z6gyxi302bd7p578ldy1g6419w56z7jgv7m8n7g73"; depends=[fastcluster ggplot2 lubridate Rcpp reshape2 scales]; };
   pinfsc50 = derive2 { name="pinfsc50"; version="1.1.0"; sha256="1fja8xdqwsm4g223wmb2yg5fqmsg94hchzjd4qrqah1zb8vbdfdn"; depends=[]; };
   pingr = derive2 { name="pingr"; version="1.1.2"; sha256="17fh2gjlmwy6wy8i24q76fivjig8jm05g9kvfz81q0h6b5zxnpmg"; depends=[]; };
@@ -9279,13 +9530,14 @@ in with self; {
   pivotaltrackR = derive2 { name="pivotaltrackR"; version="0.1.0"; sha256="024srncm288mn3bz6hv7ljzkchmnljk4yc2d4z7i05vsn7dzd2c6"; depends=[curl httr]; };
   pivottabler = derive2 { name="pivottabler"; version="0.4.0"; sha256="1q7gmfrqx3sn32q9rrr0y3hywq0fvm5gs5d3jj6mqcbs53jqvzqc"; depends=[data_table dplyr htmltools htmlwidgets jsonlite R6]; };
   pixels = derive2 { name="pixels"; version="0.1.0"; sha256="0lna0z2shs49kh48ipjnyigaa22wb9gm4mq970ldhh9msb7wcv55"; depends=[htmlwidgets miniUI shiny]; };
-  pixiedust = derive2 { name="pixiedust"; version="0.8.1"; sha256="1cpxsh3y9k66mkmks7mn3q4zjix1i8jc0dl62wrwwsp379vxcc3r"; depends=[broom checkmate dplyr Hmisc htmltools knitr magrittr scales stringr tidyr]; };
+  pixiedust = derive2 { name="pixiedust"; version="0.8.2"; sha256="0p04bs0p52k38qn1mv7qcsyilqbcaq3gnksvk9ij8j6r2qr4l8h4"; depends=[broom checkmate dplyr htmltools knitr labelVector magrittr scales tidyr]; };
   pixmap = derive2 { name="pixmap"; version="0.4-11"; sha256="04klxp6jndw1bp6z40v20fbmdmdpfca2g0czmmmgbkark9s1183g"; depends=[]; };
   pkgKitten = derive2 { name="pkgKitten"; version="0.1.4"; sha256="0c44zrvpyz87s5mjhsqdrkyrvyzhyldnq371bwnn9crbpbac3wnd"; depends=[]; };
   pkgconfig = derive2 { name="pkgconfig"; version="2.0.1"; sha256="0h2sp93fqqjbfqgq82a3i94ybnndx6ghaal8pbf99firnsjb40mb"; depends=[]; };
   pkgcopier = derive2 { name="pkgcopier"; version="0.0.1"; sha256="04vpjf8nvqnpry54f1wwrnmipd5m6gqd89c3vkryqx88jk85jd8s"; depends=[httr stringr]; };
   pkggraph = derive2 { name="pkggraph"; version="0.2.2"; sha256="0pzqlim84b22ahq5yr50ybffqa0f5k5ch372v37nw1ndzci211d8"; depends=[curl data_table dplyr ggnetwork ggplot2 htmltools igraph intergraph Matrix network networkD3 plyr RColorBrewer tibble]; };
   pkgmaker = derive2 { name="pkgmaker"; version="0.22"; sha256="0vrqnd3kg6liqvpbd969jjsdx0f0rvmmxgdbwwrp6xfmdg0pib8r"; depends=[codetools digest registry stringr xtable]; };
+  pkgnet = derive2 { name="pkgnet"; version="0.1.0"; sha256="0f7xakl7vsx4byw6wfb1yw9bk95wrqsjs8wq6prg697zpdy3c7fw"; depends=[assertthat covr data_table DT futile_logger igraph knitr magrittr mvbutils R6 rmarkdown visNetwork]; };
   pkmon = derive2 { name="pkmon"; version="0.9"; sha256="1zcjz1h45qv81rwnjsgc9iwmrwpnsy917y7h66pz98wzszlxcsd2"; depends=[]; };
   pkr = derive2 { name="pkr"; version="0.1.1"; sha256="0mwrpkmf016lpwkjhhjpq7bw18mvshpyhwgmgqfrfl9gfbq4gphd"; depends=[binr foreign forestplot]; };
   pks = derive2 { name="pks"; version="0.4-0"; sha256="0fx7p2d83x0ip65aqp9dga59d9cggam8k79mi0drk5birzchqbcr"; depends=[sets]; };
@@ -9298,7 +9550,7 @@ in with self; {
   plantecophys = derive2 { name="plantecophys"; version="1.3-2"; sha256="1jj9rkhdmcnmp6fzbxmkfwmsdx2w7v923rv0xn5c5iv7wys7vwfm"; depends=[]; };
   plaqr = derive2 { name="plaqr"; version="2.0"; sha256="15pdb57123m3cahvcsyrrvxjwxvs2f389yxip91gjxn68jf6cx1l"; depends=[quantreg]; };
   plater = derive2 { name="plater"; version="1.0.1"; sha256="0v5b9r6iha18qvrjpbr1p8fy06nf31x63ch5cnb4axyqa0x5skpp"; depends=[dplyr]; };
-  platetools = derive2 { name="platetools"; version="0.0.2"; sha256="0xan3h3djhgjbqn8f7yzlkm25l0fzq86zhb5xwfib4yajnb2dspa"; depends=[dplyr ggplot2 plyr RColorBrewer]; };
+  platetools = derive2 { name="platetools"; version="0.1.0"; sha256="1cx01hspha59w1vd33kv8prapjinfipv1ikli97zhxrcs45r6v07"; depends=[dplyr ggplot2 plyr RColorBrewer]; };
   playwith = derive2 { name="playwith"; version="0.9-54"; sha256="1zmm8sskchim3ba3l0zqfvxnrqfmiv94a8l6slcf3if3cf9kkzal"; depends=[cairoDevice gridBase gWidgets gWidgetsRGtk2 lattice RGtk2]; };
   pleiades = derive2 { name="pleiades"; version="0.2.0"; sha256="1h3q4yf0w0al7n8l7ca4vgx2bhrrz8clli15svlds7n402s8rzp5"; depends=[crul DBI dbplyr dplyr gistr jsonlite rappdirs RSQLite]; };
   pleio = derive2 { name="pleio"; version="1.5"; sha256="1y9nkv5bzfkzbl373405v3xq54nz37wjz9zkxfzl8ggr5i9lcbqy"; depends=[Matrix rms]; };
@@ -9310,7 +9562,7 @@ in with self; {
   plmDE = derive2 { name="plmDE"; version="1.0"; sha256="19xxi0zzpxcrsdrbs0hiwqgnv2aaw1q3mi586wv27zz6lfqcr9lr"; depends=[limma MASS R_oo]; };
   plmm = derive2 { name="plmm"; version="0.1-1"; sha256="1dfxd1mqqjy2mf7qc6mh4wx5ya9q8fkqgrf01apisb66xxx5zya7"; depends=[Formula nlme sm]; };
   pln = derive2 { name="pln"; version="0.2-1"; sha256="09zg7zwmmqpjr1j59lqsjf4blrkya9wfwddgzfm9rr5jxrzvqcv8"; depends=[]; };
-  plogr = derive2 { name="plogr"; version="0.1-1"; sha256="13zliqlbkl8b04k9ga0sx5jsh7k867gracgl84l2a9kcqy9mqx92"; depends=[]; };
+  plogr = derive2 { name="plogr"; version="0.2.0"; sha256="0a8dhzlna79ggyhfr0nncgh15a9n6r0dsz664pz0ah323wpblqqf"; depends=[]; };
   plot3D = derive2 { name="plot3D"; version="1.1.1"; sha256="0chn70fqwyca8lbnjnpbcj08ni0dfbax2gjmzhk2c4w72c04mzpn"; depends=[misc3d]; };
   plot3Drgl = derive2 { name="plot3Drgl"; version="1.0.1"; sha256="12p4qc9vmhr86ssx6xnz3cmx84q5jgd28bw9dp4wjrn04n6l4va6"; depends=[plot3D rgl]; };
   plotGoogleMaps = derive2 { name="plotGoogleMaps"; version="2.2"; sha256="0qv57k46ncg0wrgma0sbr3xf0j9j8cii3ppk3gs65ardghs3bf6b"; depends=[lattice maptools raster rgdal sp spacetime]; };
@@ -9322,7 +9574,7 @@ in with self; {
   plotfunctions = derive2 { name="plotfunctions"; version="1.3"; sha256="0cnmwkfjg45187j490sf01gxijhajrpi6j13hfckli2ysn6xrgz3"; depends=[]; };
   plotluck = derive2 { name="plotluck"; version="1.1.0"; sha256="0arbvldg50lyn98vkrys1yjkkraz8jracwal4r2mlw991pnaikpp"; depends=[ggplot2 hexbin Hmisc plyr quantreg RColorBrewer scales]; };
   plotly = derive2 { name="plotly"; version="4.7.1"; sha256="0wj9lw7w28z8w9ip9vadv6sydjhqyg65kfiai9m3bndzz50b1m3w"; depends=[base64enc crosstalk data_table digest dplyr ggplot2 hexbin htmltools htmlwidgets httr jsonlite lazyeval magrittr purrr RColorBrewer scales tibble tidyr viridisLite]; };
-  plotmo = derive2 { name="plotmo"; version="3.3.4"; sha256="1j2nc6n5kv6zvxwlr1cr1shxdcihw7d5k7z0a90phmdp834x8agy"; depends=[plotrix TeachingDemos]; };
+  plotmo = derive2 { name="plotmo"; version="3.3.6"; sha256="11v1jncw2x96j1f7nhv9sqvy3ia3035yh8slpy2ky7lf8ravjy58"; depends=[plotrix TeachingDemos]; };
   plotpc = derive2 { name="plotpc"; version="1.0.4"; sha256="1sf7n7mfyaijldm24bc8r8pfm8pp9cyaja7am14z2wpj2j9f9vyq"; depends=[]; };
   plotprotein = derive2 { name="plotprotein"; version="1.0"; sha256="14kfb4xxpfp8klz31kb7cpc39636ax2cx2483vqqkciccb28f0ks"; depends=[ade4 plotrix plyr seqinr XML]; };
   plotrix = derive2 { name="plotrix"; version="3.7"; sha256="0rw81n9p3d2i03b4pgcfj5blryc94f29bm9a4j9bnp5h8qjj6pry"; depends=[]; };
@@ -9346,8 +9598,7 @@ in with self; {
   plus = derive2 { name="plus"; version="1.0"; sha256="1l7lvnq7vahj8m7knmr4q3wj00ar7iq89j45a2dqn2bh0qyj68ls"; depends=[]; };
   plusser = derive2 { name="plusser"; version="0.4-0"; sha256="1g100dh8cvn9q09j0jbkw4xmwjdp1lm4651369975fm99nrlp1j9"; depends=[lubridate plyr RCurl RJSONIO]; };
   plyr = derive2 { name="plyr"; version="1.8.4"; sha256="1igar5pcjqh0jyxv0z3jah8rz617vfa86vw0r5c7c031b7bj5db0"; depends=[Rcpp]; };
-  pmap = derive2 { name="pmap"; version="0.3.2"; sha256="0mg3h4j0icnl58844b04vgl3yi18j92457da7s7cx79w0a2zpcsq"; depends=[data_table DiagrammeR dplyr stringr]; };
-  pmatch = derive2 { name="pmatch"; version="0.1.1"; sha256="1vksygllism4dbdds3r5gikxjrq4mg9s21k3srpq05jk4s3j2xgh"; depends=[dplyr glue purrr rlang tibble]; };
+  pmatch = derive2 { name="pmatch"; version="0.1.3"; sha256="1k83ysgc4dwms0k5knh2rj99l3kfclw9a29h2ksphy0g4r1ig9k3"; depends=[dplyr glue purrr rlang tibble]; };
   pmc = derive2 { name="pmc"; version="1.0.2"; sha256="1pamxg2cwyg36w0xnggrv5w03lb12l25z2da7xm1jvr17h0ipqmh"; depends=[dplyr geiger ggplot2 ouch tidyr]; };
   pmcgd = derive2 { name="pmcgd"; version="1.1"; sha256="1pybzvyjmzpcnxrjsas06diy3x83i1r5491s6ccyr63l56hs55d5"; depends=[mixture mnormt]; };
   pmclust = derive2 { name="pmclust"; version="0.2-0"; sha256="1bpfix76ylmn5ds6y0v40mfad7znaa6dj5ngr4mzv96yy6mg13ns"; depends=[MASS pbdBASE pbdDMAT pbdMPI]; };
@@ -9356,16 +9607,17 @@ in with self; {
   pmml = derive2 { name="pmml"; version="1.5.4"; sha256="1acld1x0z5rgyxb5id071s3zvf2vbv4b9nngvxrb63ay3yyy124b"; depends=[stringr XML]; };
   pmmlTransformations = derive2 { name="pmmlTransformations"; version="1.3.1"; sha256="1cxmp3fgsf3z71v6qpd9l9ilgda5knan7vqifxpgm8m7a30sp3f3"; depends=[]; };
   pmr = derive2 { name="pmr"; version="1.2.5"; sha256="0dq97dfjmgxlhr3a2n20vyyzfmamcicw878hdxpw31lw02xs6yls"; depends=[]; };
+  pmxTools = derive2 { name="pmxTools"; version="0.1.0"; sha256="1a242c85ywk026vb778s8bjc331ww11rb15pai02wbvpw9x4kpa0"; depends=[GGally ggplot2 magrittr MASS PKNCA plyr stringr XML xpose]; };
   png = derive2 { name="png"; version="0.1-7"; sha256="0g2mcp55lvvpx4kd3mn225mpbxqcq73wy5qx8b4lyf04iybgysg2"; depends=[]; };
   pnmtrem = derive2 { name="pnmtrem"; version="1.3"; sha256="0053gg368sdpcw2qzydpq0c5v2cxdlwgf5k68cbw0yx41csjgvz0"; depends=[MASS]; };
   pnn = derive2 { name="pnn"; version="1.0.1"; sha256="1s6ib60sbdas4720hrsr5lsszsa474kfblqcalsb56c84gkl42ka"; depends=[]; };
   poLCA = derive2 { name="poLCA"; version="1.4.1"; sha256="0bknnndcxsnlq6z9k1vbhqiib1mlzlx4badz85kc7a3xbrdrfs9f"; depends=[MASS scatterplot3d]; };
-  pocrm = derive2 { name="pocrm"; version="0.9"; sha256="0p7a7xm1iyyjgzyi7ik2n34gqc3lsnallrijzdakghb8k5cybm4m"; depends=[dfcrm nnet]; };
+  pocrm = derive2 { name="pocrm"; version="0.11"; sha256="04snn7k8baf2ymjzr3zkxd425r5dq9h6abr5dm10mhfjqj1njpq0"; depends=[dfcrm nnet]; };
   poibin = derive2 { name="poibin"; version="1.2"; sha256="12dm1kdalbqy8k7dfldf89v6zw6nd0f73gcdx32xbmry2l2976sa"; depends=[]; };
   poilog = derive2 { name="poilog"; version="0.4"; sha256="0bg03rd5rn4rbdpiv87i8lamhs5m7n7cj8qf48wpnirg6jpdxggs"; depends=[]; };
   pointRes = derive2 { name="pointRes"; version="1.1.3"; sha256="0yfzidc93ghpf116lxbx4fr0d71wl79y3nz6mkirx4pli6gb8x8d"; depends=[ggplot2 gridExtra plyr TripleR]; };
   pointblank = derive2 { name="pointblank"; version="0.1"; sha256="11v0x264065iljhv77m4yc44zqd0i9bg95c6qiv8d85nf97201hh"; depends=[digest dplyr Hmisc htmltools knitr lazyWeave lubridate magrittr mailR pixiedust purrr readr rJava rlang rmarkdown stringr tibble tidyr]; };
-  pointdensityP = derive2 { name="pointdensityP"; version="0.3.2"; sha256="1wi1lv5y589vmibvzigpqk0m9k5m265brhnz520g7wa4h3wpsdq3"; depends=[data_table]; };
+  pointdensityP = derive2 { name="pointdensityP"; version="0.3.3"; sha256="0ifkxxlmrrwscakmlap5bpfkzn4gfx9nc84p98i2spncnyd215ya"; depends=[data_table]; };
   poio = derive2 { name="poio"; version="0.0-3"; sha256="1smbnqjlicaqq2hswl910yiirzb9zikbk4pqxm9pwpixywj0nkys"; depends=[assertive_base assertive_files assertive_properties assertive_sets assertive_strings assertive_types devtools digest dplyr magrittr R6 stringi tibble whoami]; };
   poisDoubleSamp = derive2 { name="poisDoubleSamp"; version="1.1"; sha256="13wyj9jf161218y4zjv2haavlmanihp9l59cvh7x8pfr9dh2dwr8"; depends=[Rcpp]; };
   poisbinom = derive2 { name="poisbinom"; version="1.0.1"; sha256="0mjxg0s3nck7qrmq4bbrhwxfwr6fqml54s9k8q1mkfzlifa7qyf7"; depends=[Rcpp]; };
@@ -9376,21 +9628,22 @@ in with self; {
   polidata = derive2 { name="polidata"; version="0.1.0"; sha256="07641v0dnn161kyxx7viplkf8c3r51hd4hd5pzmcph4y4387r01i"; depends=[jsonlite RCurl]; };
   poliscidata = derive2 { name="poliscidata"; version="1.2.0"; sha256="0vn9wdlh3bi24mcq0r4ani2b0hhlg1za1z6fw8ikz7952gpacqk8"; depends=[abind car descr ENmisc gplots Hmisc plotrix plyr survey weights xtable]; };
   politeness = derive2 { name="politeness"; version="0.2.2"; sha256="06h4g9xbk5dbaqzhybqc0mppa61ypb7ryi6hghqnqyj32y8r6dbr"; depends=[data_table ggplot2 glmnet quanteda spacyr stringr textir tm]; };
-  pollen = derive2 { name="pollen"; version="0.53.00"; sha256="0gkmy5g16794zrr21g6yap0k4xl1bvsq5npyivsdflvvrg985nzw"; depends=[dplyr lubridate purrr]; };
-  pollstR = derive2 { name="pollstR"; version="2.0.0"; sha256="0lcxhi1mazs8nh9hbbqyqx4axn5lji5fnp0kxrjwjxmzf59nksj8"; depends=[httr lubridate purrr stringr]; };
+  pollen = derive2 { name="pollen"; version="0.70.0"; sha256="1hk9sjxzwglj98ryic3m80lajzv1klnq9dl6i97c8f0ihbf97zdq"; depends=[dplyr lubridate purrr]; };
+  pollstR = derive2 { name="pollstR"; version="2.0.1"; sha256="13g5z1hix1bmsxznq5qx82yf445rvvyn67ch9bihxm1hr4cr4sbl"; depends=[httr lubridate purrr stringr]; };
   polmineR = derive2 { name="polmineR"; version="0.7.5"; sha256="0yz2c915jrf3dqadi6px9jidfwr4jd23rjrpas4xg4m6dx0f70jm"; depends=[data_table DT jsonlite Matrix pbapply R6 slam tm]; };
   polspline = derive2 { name="polspline"; version="1.1.12"; sha256="0chg5f6fq5ngjp1kkm4kjyxjc3kk83ky2ky5k7q3rhd8rkhd4szw"; depends=[]; };
   polyCub = derive2 { name="polyCub"; version="0.6.1"; sha256="16nr83gmv6pnk89nqxh8ihzacb0y8l4lz05c8sp6whmr26ja9vnf"; depends=[sp]; };
   polyPK = derive2 { name="polyPK"; version="3.0.0"; sha256="1vdfsad2b9habvm2ikjgn7ihnm851q9lqmgqjlsl737ka1vsgisf"; depends=[circlize corrplot gplots Hmisc impute imputeLCMD mixOmics pcaMethods pkr plyr ropls samr sqldf xlsx]; };
-  polySegratio = derive2 { name="polySegratio"; version="0.2-4"; sha256="05kvj475zhlrmp7rm691cfs28igp4ac2cn2xxf7axx09v1nq33db"; depends=[gdata]; };
-  polySegratioMM = derive2 { name="polySegratioMM"; version="0.6-3"; sha256="1y4kzb1p3aw7ng8mv1hszpvb5hwwxy4vg34mhhk705ki4jy8jgvp"; depends=[coda gtools lattice polySegratio]; };
+  polySegratio = derive2 { name="polySegratio"; version="0.2-5"; sha256="0djw49mbhd7x6jr0f5qkb9akw3fw3ax4w9xv8iwa5f65q5gbxpdf"; depends=[gdata]; };
+  polySegratioMM = derive2 { name="polySegratioMM"; version="0.6-4"; sha256="162xj52566kaxgfk7c14170xx07isyjmqb9skvhrdg7sz20lc3l1"; depends=[coda gtools lattice polySegratio]; };
   polyaAeppli = derive2 { name="polyaAeppli"; version="2.0"; sha256="0kyz3ap92xz7aqyviyrpggfmicy1gybrx7y19djsmixcwz53zqch"; depends=[]; };
   polyapost = derive2 { name="polyapost"; version="1.5"; sha256="0r2h51l2y0sj0xahdzfy1lyq4kh166crh2j02sk85q577q9d883y"; depends=[boot rcdd]; };
   polychaosbasics = derive2 { name="polychaosbasics"; version="1.1-1"; sha256="1kw5c4dmgpkbk2a30hh5n6xqpnbh6q2swxsdjkmcmhkwrzm4ylm2"; depends=[lhs MASS]; };
   polyclip = derive2 { name="polyclip"; version="1.6-1"; sha256="07xxw5ik30ds18kv808hynzmz3w351k6lj4ifz9kak0s7xsaqfn3"; depends=[]; };
   polycor = derive2 { name="polycor"; version="0.7-9"; sha256="0d0756faksviic5jrc47fg6l3wsm9r2wlbnxiw08563rv7shbvb7"; depends=[Matrix mvtnorm]; };
   polyfreqs = derive2 { name="polyfreqs"; version="1.0.2"; sha256="13859vbpys5yj1qiapyzv9wlvi6x6k0rm335bsi1v07ch3x2bh3b"; depends=[Rcpp]; };
-  polymapR = derive2 { name="polymapR"; version="1.0.13"; sha256="18bwi149y2622bdcyb5gcq0mxwalg6dsv3dgsnx2km4kd5x1a4ck"; depends=[combinat doParallel foreach igraph knitr Matrix MDSMap]; };
+  polyglot = derive2 { name="polyglot"; version="0.1.2"; sha256="01sb3ilr58252yw0b2669vjdf8574br0n2n0ffwd86gc9f3islb3"; depends=[]; };
+  polymapR = derive2 { name="polymapR"; version="1.0.16"; sha256="0j9zsgm4v78scsl4bblrf2rs691296p1sdimqqzs03d56cgaky04"; depends=[combinat doParallel foreach igraph knitr MDSMap]; };
   polynom = derive2 { name="polynom"; version="1.3-9"; sha256="1s4xxv5rvpigawknvq27v9vzvs83phfsj5h8mim2lmf5bj950nnk"; depends=[]; };
   polypoly = derive2 { name="polypoly"; version="0.0.2"; sha256="00c1hrnf575awvh0rlsnf6nkgi9p3fnqhd1knamkgb4icwi5s46d"; depends=[ggplot2 reshape2 rlang tibble]; };
   polysat = derive2 { name="polysat"; version="1.7-2"; sha256="0ahx2pvlv2vdfiskwgawcrp447249ha0dq4qkhav3hpyvdg3in38"; depends=[]; };
@@ -9399,7 +9652,8 @@ in with self; {
   pomp = derive2 { name="pomp"; version="1.16"; sha256="1ns1ygza76dqrrscm7ajv3pbf5wgvcfsfbjxc20b50z30zjm7712"; depends=[coda deSolve digest mvtnorm nloptr subplex]; };
   pompom = derive2 { name="pompom"; version="0.1.4"; sha256="0j37gq6lfccypclhrp7w3yfgsjbhfgqwg7x87r6rgywz6b3fnsgh"; depends=[ggplot2 lavaan qgraph reshape2]; };
   pooh = derive2 { name="pooh"; version="0.3-2"; sha256="0qwa5j91aypasvsf4xcfbl6lz7llawdr38jiflzmfak2ad72rv7j"; depends=[]; };
-  pool = derive2 { name="pool"; version="0.1.3"; sha256="0ca51zi6nx62dlrg0156a6iilrfmvq6hz6hx83qrd5g7wmjmpkrp"; depends=[DBI dbplyr dplyr later R6]; };
+  pool = derive2 { name="pool"; version="0.1.4"; sha256="0k209n40l2kwahy7b6hjwj1l19pdhnnq36jzxjmhv5zdad7dmckq"; depends=[DBI dbplyr dplyr later R6]; };
+  poolfstat = derive2 { name="poolfstat"; version="0.0.1"; sha256="1g6qx4518cr77wdlbicda68jm2yji24h14mjv5sq7zq241h4ailh"; depends=[]; };
   pop = derive2 { name="pop"; version="0.1"; sha256="0hbxdrkasb69x7ipddvyrzl5vvc7dd6rzj1vy7v3chg3rzgq89cj"; depends=[igraph MASS]; };
   pop_wolf = derive2 { name="pop.wolf"; version="0.1"; sha256="19n00xv47v9j7slvm2ykzlksjfwjzimf88b3nk0y0192c29sdc9x"; depends=[abind]; };
   popEpi = derive2 { name="popEpi"; version="0.4.4"; sha256="010nsb3jlz769i8srkd3528a52h9gpw7q7gn4vraz9nx8g8585bs"; depends=[data_table Epi survival]; };
@@ -9407,10 +9661,10 @@ in with self; {
   popRange = derive2 { name="popRange"; version="1.1.3"; sha256="0kkz6va0p8zv3skaqqcpw42014d9x9x4ilx0czz91qf46h61jgb0"; depends=[findpython]; };
   popReconstruct = derive2 { name="popReconstruct"; version="1.0-4"; sha256="14lp0hfnzbiw81fnq7gzpr4lxyfh3g0428rm9jwjh631irz3fcc9"; depends=[coda]; };
   popbio = derive2 { name="popbio"; version="2.4.3"; sha256="1c34izyp6gpic3yv1rhg1snv2irw0bj9r1w9b892l7x0mxxmn2bl"; depends=[]; };
-  popdemo = derive2 { name="popdemo"; version="0.2-3"; sha256="0r3qdvwjwqzqxk3zp9vfzxwmc5fhjzn0ka91b37g62nanwxiyayw"; depends=[expm]; };
+  popdemo = derive2 { name="popdemo"; version="1.3-0"; sha256="0760ajqaq822m0j092gdqzhgw1mk413k09mmmwyzb0jzj6bd15q3"; depends=[expm MCMCpack]; };
   popkin = derive2 { name="popkin"; version="1.0.5"; sha256="147ic0d7cgs4x9vz4jm4wd6ckikn0s8a0q1mknmcrcfisq8zim75"; depends=[RColorBrewer Rcpp RcppEigen]; };
   poplite = derive2 { name="poplite"; version="0.99.19"; sha256="0y1l21clp9b5m50chqnqmvyd6rsk6xgn2bqf1877gx3h1qidh5fm"; depends=[DBI dbplyr dplyr igraph lazyeval RSQLite]; };
-  poppr = derive2 { name="poppr"; version="2.6.1"; sha256="1ib6z5rpx8xr5wfvjiy56fn9vgjda4d7x16n6wn4377b5fi4l3zp"; depends=[ade4 adegenet ape boot dplyr ggplot2 igraph magrittr pegas phangorn rlang shiny vegan]; };
+  poppr = derive2 { name="poppr"; version="2.7.1"; sha256="01g2kcbrlnfw27yrvf3wzj68r5h8xif5baalx1rdfp16v49jkx34"; depends=[ade4 adegenet ape boot dplyr ggplot2 igraph magrittr pegas phangorn polysat rlang shiny vegan]; };
   popprxl = derive2 { name="popprxl"; version="0.1.3"; sha256="1l842zgn04s8ghbcp8s2lzg7lgc809xd7hg9crnyp23c2cr0jlvi"; depends=[poppr readxl]; };
   popsom = derive2 { name="popsom"; version="4.2"; sha256="11d6z3qsq94k0557pnwa0h4pc718360lvg9jkblp8abnj52lcvvv"; depends=[class fields ggplot2 som]; };
   poptrend = derive2 { name="poptrend"; version="0.1.0"; sha256="0hypxpb18azg6q1mqrphbx3x262h9ybwhlkb8fyd6vr7jjb5wn3h"; depends=[mgcv]; };
@@ -9418,7 +9672,7 @@ in with self; {
   portes = derive2 { name="portes"; version="2.1-4"; sha256="09liy2bia76h5dh21s8skq9pj8k4wpq5agwrmr1pnvlpgc8m2b60"; depends=[]; };
   portfolio = derive2 { name="portfolio"; version="0.4-7"; sha256="0gs1a4qh68xsvl7yi6mz67lamwlqyqjbljpyax795piv46kkm06p"; depends=[lattice nlme]; };
   portfolioSim = derive2 { name="portfolioSim"; version="0.2-7"; sha256="1vf46882ys06ia6gfiibxx1b1g81xrg0zzman9hvsj4iky3pwbar"; depends=[lattice portfolio]; };
-  postGIStools = derive2 { name="postGIStools"; version="0.2.1"; sha256="1dmf77xpy61pqis3j9qzjjksmm9hkyhzxqdmjajpj7rkbqhl5qvp"; depends=[DBI jsonlite rgdal rgeos RPostgreSQL sp stringr]; };
+  postGIStools = derive2 { name="postGIStools"; version="0.2.2"; sha256="1d1igv17bj17d0nmavvn5814nqb7k0hs2cjbaqgjd6ip1wcclfxz"; depends=[DBI jsonlite rgdal rgeos RPostgreSQL sp stringr]; };
   postlightmercury = derive2 { name="postlightmercury"; version="1.2"; sha256="1345ckp50jplcdqp3a250c6mhapqh9322jzpxj5dyqmbg2nmgp9i"; depends=[crul jsonlite purrr rvest tibble xml2]; };
   potts = derive2 { name="potts"; version="0.5-7"; sha256="194996wr4rnpr42xqfi5yrcnxvd82all2fxki95dklr2qfjxg98a"; depends=[]; };
   powdist = derive2 { name="powdist"; version="0.1.4"; sha256="1my88ag5q9hwkn2wy79jl9008gpvg0bsrnyc81gkdfi7pjh2mp1z"; depends=[gamlss_dist normalp rmutil]; };
@@ -9430,18 +9684,19 @@ in with self; {
   powerGWASinteraction = derive2 { name="powerGWASinteraction"; version="1.1.3"; sha256="1i8gfsk9qzx54yn661i4x9k7n7b6r1jd808wv1hcq7870mzyb27k"; depends=[mvtnorm pwr]; };
   powerMediation = derive2 { name="powerMediation"; version="0.2.9"; sha256="1rk8h8qn4b68ra5h5hiy9fvvbpskj9y806rwrvl1l7gs7xlmji7l"; depends=[]; };
   powerSurvEpi = derive2 { name="powerSurvEpi"; version="0.1.0"; sha256="1xxicvw113mc2y889rklws3xml5z64sgjpn4wg95gbw6nadch7zz"; depends=[survival]; };
-  powerbydesign = derive2 { name="powerbydesign"; version="1.0.3"; sha256="0dv4j0kwdzvxnq587vs1dsy2yci3v3q2smncpscpcsalp38rvx4i"; depends=[gdata ggplot2 lme4 MASS plyr reshape2 stringr]; };
-  powerlmm = derive2 { name="powerlmm"; version="0.1.0"; sha256="0fsd3h94va5hn0nqxdalchw02s4daxq8dlgdxb5a4nigg64lfkm2"; depends=[ggplot2 ggsci gridExtra lme4 lmerTest MASS Matrix pbmcapply scales testthat]; };
+  powerbydesign = derive2 { name="powerbydesign"; version="1.0.4"; sha256="0xd4hylx7jl4ksycz5gfjcgy92mh5c9d4r34ap1g81ybmyk7yrsj"; depends=[gdata ggplot2 lme4 MASS plyr reshape2 stringr]; };
+  powerlmm = derive2 { name="powerlmm"; version="0.3.0"; sha256="1prg1dw0pzyz4vc7a936bgx56227ab34b3ipwxn1mm8n03xk1zqc"; depends=[lme4 MASS Matrix scales]; };
   powerpkg = derive2 { name="powerpkg"; version="1.5"; sha256="0mbk2fda2fvyp1h5lk5b1fg398xybbjv0z6kdx7w7xj345misf7l"; depends=[]; };
   powerplus = derive2 { name="powerplus"; version="3.1"; sha256="0ayp6x34hkzgris4j3zbbs0r23n81bhww3wgfyy630ri4sk6brrn"; depends=[complexplus expm MASS Matrix phonTools]; };
-  ppcSpatial = derive2 { name="ppcSpatial"; version="0.1.0"; sha256="0dcp94g5b2wcw388z100kaz8m48xxzi9rjaypj9pdjx3mwh0bxmj"; depends=[dplyr ggplot2 htmltools htmlwidgets leaflet magrittr PakPC2017 rgdal scales shiny tidyr tmap]; };
+  ppcSpatial = derive2 { name="ppcSpatial"; version="0.2.0"; sha256="1gi57zngc42wcrihg29nn7qa3gaq105ckp76qmczkldshlpd7x4r"; depends=[dplyr ggplot2 htmltools htmlwidgets leaflet magrittr PakPC2017 rgdal scales shiny tidyr tmap]; };
   ppcc = derive2 { name="ppcc"; version="1.0"; sha256="022c8w7ws7fw6yy572rn6m8ki14d2ph7nd2hk2c6mmx2c4lbc20v"; depends=[]; };
   ppclust = derive2 { name="ppclust"; version="0.1.1"; sha256="10fcyayda634lg5g992g21casqx5k0jni9r30km5rczzib7cz9gg"; depends=[inaparc MASS]; };
   ppcor = derive2 { name="ppcor"; version="1.1"; sha256="1x9b2kb8s0bp92b17gby0jwzzr3i4cf3ap9c4nq7m8fav72g0y3a"; depends=[MASS]; };
-  ppiPre = derive2 { name="ppiPre"; version="1.9"; sha256="07k2mriyz1wmxb5gka0637q4pmvnmd1j16mnkkdrsx252klgjsdw"; depends=[AnnotationDbi e1071 GO_db GOSemSim igraph]; };
+  ppitables = derive2 { name="ppitables"; version="0.1.2"; sha256="1hw25zvvbmc6vxbhcrpz9xkwc6lbc9v1r77fil3gv2wm5n672s4h"; depends=[]; };
   ppls = derive2 { name="ppls"; version="1.6-1"; sha256="1r3h4pf79bkzpqdvyg33nwjabsqfv7r8a4ziq2zwx5vvm7mdy7pd"; depends=[MASS]; };
   ppmlasso = derive2 { name="ppmlasso"; version="1.1"; sha256="1w13p1wjl1csds1xfc79m44rlym9id9gwnp3q0bzw05f35zbfryg"; depends=[spatstat]; };
   pps = derive2 { name="pps"; version="0.94"; sha256="0sirxpagqc2ghc01zc6q4dk691six9wkgknfbwaqxbxvda3hcmyq"; depends=[]; };
+  ppsbm = derive2 { name="ppsbm"; version="0.2.2"; sha256="0y4whxv14jqx7mqxj7n427vpbxb5rkwj8xvx0mj4knnwy9v437z4"; depends=[clue gtools Rfast]; };
   pqantimalarials = derive2 { name="pqantimalarials"; version="0.2"; sha256="0azxkf1rvk9cyzr4gbp4y2vcxrxw3d4f002d5gjkvv1f4kx8faw1"; depends=[plyr RColorBrewer reshape2 shiny]; };
   prLogistic = derive2 { name="prLogistic"; version="1.2"; sha256="1abwz7nqkz2qbyqyr603kl9a3rkad3f4vxhck6a9kl80xrmfrj9s"; depends=[boot Hmisc lme4]; };
   prabclus = derive2 { name="prabclus"; version="2.2-6"; sha256="0qjsxrx6yv338bxm4ki0w9h8hind1l98abdrz828588bwj02jya1"; depends=[MASS mclust]; };
@@ -9450,7 +9705,7 @@ in with self; {
   prais = derive2 { name="prais"; version="0.1.1"; sha256="0vv6h12gsbipi0gnq0w6xh6qvnvc0ydn341g1gnn3zc2n7cx8zcn"; depends=[]; };
   praise = derive2 { name="praise"; version="1.0.0"; sha256="1gfyypnvmih97p2r0php9qa39grzqpsdbq5g0fdsbpq5zms5w0sw"; depends=[]; };
   praktikum = derive2 { name="praktikum"; version="0.1"; sha256="0kkydgglvqw371fxh46fi86fmdndhwq1n8qj0ynbh2gz1cn86aw1"; depends=[]; };
-  praznik = derive2 { name="praznik"; version="3.0.0"; sha256="0fxs7nvpg8vifc5x48g1lr7cpi0v24rnl28fjiwq5730hypmm8nj"; depends=[]; };
+  praznik = derive2 { name="praznik"; version="4.1.0"; sha256="1f652s1gpc2sw2i9xd4ga22kpdbihwpkb3a8csvycm07dhgynv03"; depends=[]; };
   prc = derive2 { name="prc"; version="2018.1-31"; sha256="0xvf1f202qwpjb1kh469jk45l592q7bfzngyi8ifry94bi7mphp7"; depends=[kyotil nlme]; };
   prcbench = derive2 { name="prcbench"; version="0.7.3"; sha256="0xdmwjhxpcdaiqawhmlpr4ddlx22xk3rywa70jpm1vk5hc9pwivk"; depends=[assertthat ggplot2 gridExtra memoise precrec PRROC R6 rJava ROCR]; };
   prclust = derive2 { name="prclust"; version="1.3"; sha256="0p0sf8248aigs99py8mpzz743jnrf7n1nv5shag15arxz9yx7zn3"; depends=[Rcpp]; };
@@ -9460,7 +9715,7 @@ in with self; {
   precintcon = derive2 { name="precintcon"; version="2.3.0"; sha256="1sf0mfqa77aqhbx3hg8pv582ibmfnv6vigqcd3xqsbq7nigy2ms9"; depends=[ggplot2 scales]; };
   precrec = derive2 { name="precrec"; version="0.9.1"; sha256="0kppl4x8ji8hzll5wss1nzlk8qvf4g78f14x4c2b8dcxjikgl939"; depends=[assertthat data_table ggplot2 gridExtra Rcpp]; };
   predatory = derive2 { name="predatory"; version="1.2"; sha256="1qbkifx16ixzimshm8lsg3d1y7cj453ksn8cpwy03xql6b19r8x4"; depends=[readr stringr]; };
-  prediction = derive2 { name="prediction"; version="0.2.0"; sha256="09jlwk3fh7lkka9vsbr0bp7bpaf2p7q96qb8mv56rcmfrsf5446c"; depends=[]; };
+  prediction = derive2 { name="prediction"; version="0.3.2"; sha256="1a65006i4gs9syvc240zzhx91mvf49jy60grz375lq0bzkxy4ly0"; depends=[data_table]; };
   predictionInterval = derive2 { name="predictionInterval"; version="1.0.0"; sha256="029hc57cblfcbqckrghf95l2rkn7acgb4yr36da01bx8bmpww0bn"; depends=[ggplot2 MASS MBESS pbapply]; };
   predictmeans = derive2 { name="predictmeans"; version="0.99"; sha256="1qfqh21d3m0k2491hv5rl5k4v49j5089xsdk3bxicp30l512rax0"; depends=[ggplot2 lattice lme4 nlme pbkrtest plyr]; };
   predkmeans = derive2 { name="predkmeans"; version="0.1.0"; sha256="1xmzdv35hxnslffkj8nbahhxrxmv7995pkdq2igw72x9wbryqlhs"; depends=[e1071 maxLik mgcv Rcpp RcppArmadillo]; };
@@ -9470,6 +9725,7 @@ in with self; {
   preference = derive2 { name="preference"; version="0.1.2"; sha256="113car6miax832kl0gzlqawwq3f5xbp06fz1ygz9nkzxh7mpmi11"; depends=[]; };
   prefmod = derive2 { name="prefmod"; version="0.8-34"; sha256="1fkqp75w3im6b0l4sfs1yr2id8ffp2xbpb6lkgnv833cri787d5x"; depends=[colorspace gnm]; };
   prepdat = derive2 { name="prepdat"; version="1.0.8"; sha256="19rxyss96cmjhzm69f6l1cd3vkw3wskzhxnbmrz4546x00gf9g5v"; depends=[dplyr psych reshape2]; };
+  prepplot = derive2 { name="prepplot"; version="0.7"; sha256="1yqiq78iqsk49ky913x4h8f3638blyamrwdhhcmzfgy4n7dnk11x"; depends=[plotrix shape]; };
   preprocomb = derive2 { name="preprocomb"; version="0.3.0"; sha256="08dhzil8prmjb6if0yba9pjncfxf5zzvlrrabva7c5jhny806c5g"; depends=[arules caret clustertend DMwR doParallel e1071 foreach randomForest zoo]; };
   preprosim = derive2 { name="preprosim"; version="0.2.0"; sha256="1z10ranfal51vzsnndfaw5aqddh2w1xx8h50j1p7gx4fi90d0waq"; depends=[caret DMwR doParallel e1071 foreach ggplot2 reshape2]; };
   preproviz = derive2 { name="preproviz"; version="0.2.0"; sha256="0jb85qkzywsd2iyfynd8ngkc136m4qc38phc3fgxm2qw30dacmyh"; depends=[caret ClustOfVar DMwR ggdendro ggplot2 gridExtra randomForest reshape2]; };
@@ -9484,6 +9740,7 @@ in with self; {
   prettyunits = derive2 { name="prettyunits"; version="1.0.2"; sha256="0p3z42hnk53x7ky4d1dr2brf7p8gv3agxr71i99m01n2hq2ri91m"; depends=[assertthat magrittr]; };
   prevR = derive2 { name="prevR"; version="3.3"; sha256="11syifnv0mgbybsphgaj3a2j29p2q0l4y4w008n2r9s359arjj8m"; depends=[directlabels fields foreign GenKern ggplot2 gstat maptools rgdal sp]; };
   prevalence = derive2 { name="prevalence"; version="0.4.0"; sha256="0vnmglxj1p66sgkw4ffc4wgn0w4s281fk2yifx5cn4svwijv30q0"; depends=[coda rjags]; };
+  pricesensitivitymeter = derive2 { name="pricesensitivitymeter"; version="0.2.1"; sha256="0yy2ndvmcwb5syb1km0hkv73mwlnnf53mpqp02p98xib1bm4a1w4"; depends=[]; };
   prim = derive2 { name="prim"; version="1.0.16"; sha256="0i5jpk798qbvyv9adgjbzpg4dvf7x51bcgbdp38fzdnam6g88y5a"; depends=[misc3d rgl]; };
   primefactr = derive2 { name="primefactr"; version="0.1.0"; sha256="1p0hlf0llyfccg0pa2fccxp8zzhwsyrpd18d8ih1z7mx88kyrhwm"; depends=[]; };
   primer = derive2 { name="primer"; version="1.0"; sha256="0vkq794a9qmz9klgzz7xz35msnmhdaq3f91lcix762wlchz6v7sg"; depends=[deSolve lattice]; };
@@ -9492,7 +9749,7 @@ in with self; {
   princurve = derive2 { name="princurve"; version="1.1-12"; sha256="19fprwpfhgv6n6ann978ilwhh58qi443q25z01qzxml4b5jzsd7w"; depends=[]; };
   prinsimp = derive2 { name="prinsimp"; version="0.8-8"; sha256="074a27ml0x0m23hlznv6qz6wvfqkv08qxh3v1sbkl9nxrc7ak4vn"; depends=[]; };
   printr = derive2 { name="printr"; version="0.1"; sha256="13yqqcwfqnbhvcxwrr6j45qhnbxng3qwn2ygkr809gibg9grw471"; depends=[knitr]; };
-  prioritizr = derive2 { name="prioritizr"; version="3.0.3"; sha256="111y7zdalai0wd2w1a9fn89axz568gxn91x2zp2x3101y263q1kx"; depends=[assertthat BH data_table doParallel magrittr Matrix plyr proto raster Rcpp RcppArmadillo rgeos sp uuid]; };
+  prioritizr = derive2 { name="prioritizr"; version="3.0.4"; sha256="0c82v0vz7b95milgzbbh5z19h1qmybb44lxxmw5407pqrdv2fihl"; depends=[assertthat BH data_table doParallel magrittr Matrix plyr proto raster Rcpp RcppArmadillo rgeos sp uuid]; };
   prioritizrdata = derive2 { name="prioritizrdata"; version="0.2.1"; sha256="0mskny9j6dwfbndzqpbmqh552vc86xqwjdpjk2h64qza2abyh5vr"; depends=[raster sp]; };
   prioritylasso = derive2 { name="prioritylasso"; version="0.2.1"; sha256="1wcykrhv1d762h7k7qkvnsjk7l6sincmh6vc6wmgpmmwx5nch70x"; depends=[glmnet survival]; };
   prism = derive2 { name="prism"; version="0.0.7"; sha256="03z1m09vf2gd277xp3y5nhvgrp0fnbr2x0r9b92kp46ca09fq9y8"; depends=[ggplot2 httr raster]; };
@@ -9505,40 +9762,41 @@ in with self; {
   probsvm = derive2 { name="probsvm"; version="1.00"; sha256="1k0zysym7ncmjy9h7whwi49qsfkpxfk7chfdjrydl6hn6pscis37"; depends=[kernlab]; };
   proccalibrad = derive2 { name="proccalibrad"; version="0.14"; sha256="0vr55rpcqh9wvy3bklssrimp42x85w3sanjgshfij657v68vmx46"; depends=[]; };
   processcontrol = derive2 { name="processcontrol"; version="0.1.0"; sha256="0c0bksgq24blfkdgp5bn49sjnaajrg5bag8qzb5zffxbhnm4s30x"; depends=[plyr]; };
-  processmapR = derive2 { name="processmapR"; version="0.2.1"; sha256="0qlz6av6f0ik62md0wa5il3id55rnbwc6i34sxjhv9awwvm2ygrv"; depends=[bupaR data_table DiagrammeR dplyr edeaR forcats ggplot2 ggthemes glue hms miniUI plotly purrr RColorBrewer rlang scales shiny stringr]; };
+  processmapR = derive2 { name="processmapR"; version="0.3.0"; sha256="056g379hi80r1hxd77axayb4sa5a97bvxrlsh0nqw6pam5ycqr53"; depends=[bupaR data_table DiagrammeR dplyr edeaR forcats ggplot2 ggthemes glue hms miniUI plotly purrr RColorBrewer rlang scales shiny stringr]; };
   processmonitR = derive2 { name="processmonitR"; version="0.1.0"; sha256="1ckr438yifpsh095j6bb65dq3rdm7cfm8k7qsjmcqwjkww4j74z8"; depends=[bupaR dplyr edeaR ggplot2 magrittr miniUI shiny]; };
   processx = derive2 { name="processx"; version="2.0.0.1"; sha256="0yw23lp9xjvbpswzghkmjiayw7p19hbvmgv58k3i6b8g5nav4qcg"; depends=[assertthat crayon debugme R6]; };
   prodest = derive2 { name="prodest"; version="0.1.1"; sha256="1j8gqxswwvnd45givadlvblnsc3qli228gz77d7alc19qf1wrrvz"; depends=[DEoptim dplyr Matrix Rsolnp]; };
   prodigenr = derive2 { name="prodigenr"; version="0.3.0"; sha256="1217l9r012xrgzna1bf9z31n2gw36h6grga3949kg7ghxrzjbm4q"; depends=[devtools]; };
-  prodlim = derive2 { name="prodlim"; version="1.6.1"; sha256="0m51rkivx1zr6whdqwj66jpnkmp4385m06kkha3dp8qqf4jna9iz"; depends=[KernSmooth lava Rcpp survival]; };
-  productivity = derive2 { name="productivity"; version="1.0.0"; sha256="1yf1w9pss8cbhlqg1zmsmr5qchf7sdvl67m1zzgxf8pplj2pzrzm"; depends=[doParallel foreach plm Rglpk]; };
+  prodlim = derive2 { name="prodlim"; version="2018.04.18"; sha256="1aslq87sqwikh8chxc378r38146y7kv79zz0kcq3j93ivx7va8jb"; depends=[KernSmooth lava Rcpp survival]; };
+  productivity = derive2 { name="productivity"; version="1.1.0"; sha256="1g8b4vlyqq3xyzd4dki01glhc3g9j3ywgwpxylkmzp0ivqic53yc"; depends=[doParallel foreach iterators lpSolveAPI]; };
   productplots = derive2 { name="productplots"; version="0.1.1"; sha256="1igs6d0qwgsfk0z3vxabgv5kva9w2kpzi535gjfdrbx34j4pf3gx"; depends=[ggplot2 plyr]; };
   prof_tree = derive2 { name="prof.tree"; version="0.1.0"; sha256="0mjvxaacrgkzl0f1wn3fpgah4jh720safni66ri0dnriwcxis6rz"; depends=[data_tree]; };
   profdpm = derive2 { name="profdpm"; version="3.3"; sha256="07lhjavrx4fa5950w928mfpddmmnmvdapl5n6mv49m8h3bxs4nmy"; depends=[]; };
   profile = derive2 { name="profile"; version="1.0"; sha256="0m7fm490gqkbmnbdq3lac87zqb9qyx6546rlpa130rq1jnlgxfp6"; depends=[rlang tibble withr]; };
   profileModel = derive2 { name="profileModel"; version="0.5-9"; sha256="1p9b9jr5842im195d60ja82pp7vbk85vs8b0r3fnf62j4b92aky9"; depends=[]; };
-  profileR = derive2 { name="profileR"; version="0.3-4"; sha256="1vinqddhd4jbncn37rbypja7ili3kwmj2sacgf491s94zil4ijik"; depends=[ggplot2 lavaan RColorBrewer reshape]; };
+  profileR = derive2 { name="profileR"; version="0.3-5"; sha256="0fgc7585a7194c67irafjnx8g2j6mn3qhcfn76c6dh28clp20qp9"; depends=[ggplot2 lavaan RColorBrewer reshape]; };
   profilr = derive2 { name="profilr"; version="0.1.0"; sha256="0rw5cjvvrgsdmhgrsaw4skfdk8h488b6mkmibgjj3dd3x0j3caq6"; depends=[]; };
   profmem = derive2 { name="profmem"; version="0.5.0"; sha256="152dka39p9i17ydlhc92y6x6i8girn3wab1ycbqb9kva07j9d2h8"; depends=[]; };
   profr = derive2 { name="profr"; version="0.3.1"; sha256="1w06mm89apggy6wc273b2nsp95smajr8sf3dwshykivv7mhkxs5d"; depends=[plyr stringr]; };
   proftools = derive2 { name="proftools"; version="0.99-2"; sha256="1vx0270sgx15dl6x3nnx13v5y4c0m18yvrhiycl429zky0jzxfr0"; depends=[]; };
-  profvis = derive2 { name="profvis"; version="0.3.4"; sha256="0kx184gxhacnhk6kfj650v4a5bzlgfwls7y9rn813diyg60xbmzh"; depends=[htmlwidgets stringr]; };
+  profvis = derive2 { name="profvis"; version="0.3.5"; sha256="0wkpmjlrfrvrn0pp81n7cbxg8xzi796d0mxfi1v7m41x6z43fm6a"; depends=[htmlwidgets stringr]; };
   progenyClust = derive2 { name="progenyClust"; version="1.2"; sha256="0azp5pvk316s8xbawcqwqfd80fxb4xn8hc6aq87xwksc6fhwp94l"; depends=[Hmisc]; };
   prognosticROC = derive2 { name="prognosticROC"; version="0.7"; sha256="0lscsyll41hpfzihdavygdzqw9xxjp48dmy4i17qsx5h01jl1h4i"; depends=[survival]; };
   progress = derive2 { name="progress"; version="1.1.2"; sha256="1fxakchfjr5vj59s9sxynd7crpz97xj42438rmkhkf3rjpyspx59"; depends=[prettyunits R6]; };
   proj4 = derive2 { name="proj4"; version="1.0-8"; sha256="06r3lavgixrsa52d1v31laqcbw6fb9xn23akv39hvaib78diglv9"; depends=[]; };
   projections = derive2 { name="projections"; version="0.0.1"; sha256="1qrgazxdihzp1i4aghkwkh6q5g1all39bvd83gwh4hj9pxm2w5zy"; depends=[distcrete ggplot2 incidence]; };
-  projector = derive2 { name="projector"; version="0.0.1"; sha256="0l3nfy5s3xj4cl96h74ss6ndpir33kk3gj4q1fjd5invx6f75spx"; depends=[assertthat dbscan plotly RColorBrewer RcppAnnoy Rtsne shiny shinyjs shinythemes]; };
-  projmanr = derive2 { name="projmanr"; version="0.1.0"; sha256="0mfp1b00a5ndw7011q3jivxm8bsykm6q7pm7dplmqffgs0p3drvv"; depends=[ggplot2 igraph R6 tidyr]; };
-  projpred = derive2 { name="projpred"; version="0.7.0"; sha256="1n2lwzc3hvjr4d6csc2nqlxqcrr979h52lfvbr81alybkg1nbqch"; depends=[ggplot2 loo Rcpp RcppArmadillo rstan rstanarm]; };
+  projector = derive2 { name="projector"; version="0.0.2"; sha256="15n5b2xgs0zj87pc3svlmnkjrxgkjkx941g8bs3ms90fg7nh2drc"; depends=[assertthat dbscan plotly RColorBrewer RcppAnnoy Rtsne shiny shinyjs shinythemes]; };
+  projmanr = derive2 { name="projmanr"; version="0.1.1"; sha256="0mmfmp5qf4r75q4hjbra2pxym77m16g28n94z5yj2qdzq46hgl4c"; depends=[ggplot2 igraph R6 tidyr]; };
+  projpred = derive2 { name="projpred"; version="0.8.0"; sha256="06wi8lc88xm45drqhb3mcq5l1g1zm2msgi1m0857vldg6828gjbq"; depends=[ggplot2 loo Rcpp RcppArmadillo rngtools rstan rstanarm]; };
+  promises = derive2 { name="promises"; version="1.0.1"; sha256="0n2mlv6bvfb4yhgcml696l9vkbw21pz0smqylivr606z99rwgny2"; depends=[later magrittr R6 Rcpp rlang]; };
   promote = derive2 { name="promote"; version="1.0.1"; sha256="1f8f5rm25fx4146hf3rds2lb7qpfz17fa5r2a1f4s3q5p86svgqn"; depends=[httr jsonlite stringr]; };
   prop_comb_RR = derive2 { name="prop.comb.RR"; version="1.2"; sha256="10s52fkq7rv6v4gw1yd46f0fbg89ksim0qhgb5jbglzrqh585ny5"; depends=[rootSolve]; };
   propOverlap = derive2 { name="propOverlap"; version="1.0"; sha256="0q72z9vbkpll4i3wy3fq06rz97in2cm3jjnvl6p9w8qc44zjlcyl"; depends=[Biobase]; };
   propagate = derive2 { name="propagate"; version="1.0-5"; sha256="168ya3a74fjqwl9bzsb3ywzypb90h8snymgvxryrx7plrfcmwlav"; depends=[ff MASS minpack_lm Rcpp tmvtnorm]; };
-  properties = derive2 { name="properties"; version="0.0-8"; sha256="1x7zln1indckl090p9kv40snamkac3b8q45387jdqxajmsallxmb"; depends=[]; };
+  properties = derive2 { name="properties"; version="0.0-9"; sha256="1zd66cg31yd53rqsc0cwxhlpfn7kvc67qdh3vyj9qib8kwxaw1zl"; depends=[]; };
   prophet = derive2 { name="prophet"; version="0.2.1"; sha256="10qd3w9jgk3d53465005b0di2lxa6cg67lj81fzmf2h919ai9i5m"; depends=[dplyr extraDistr ggplot2 Rcpp rstan scales tidyr]; };
   proportion = derive2 { name="proportion"; version="2.0.0"; sha256="0a71f6hz6blb7550m9x0di84vp51yjhnn952301rwlrh3axf6dbr"; depends=[ggplot2 TeachingDemos]; };
-  propr = derive2 { name="propr"; version="3.1.4"; sha256="1hggj926zphhg6v09bbrv77rp11bg6vciy3xfnkqi2hakjw3ak59"; depends=[fastcluster ggplot2 igraph Rcpp]; };
+  propr = derive2 { name="propr"; version="3.1.9"; sha256="0bwkn923id6wd9c4qas6j363i9v4ziwvcr8d0rijxyvg23vjaq6x"; depends=[fastcluster ggplot2 igraph Rcpp]; };
   prospectr = derive2 { name="prospectr"; version="0.1.3"; sha256="18lh03xg6bgzsdsl56bjd63xdp16sqgr3s326sgifkkak8ffbv7q"; depends=[foreach iterators Rcpp RcppArmadillo]; };
   protViz = derive2 { name="protViz"; version="0.2.45"; sha256="0mvq0p0lnxwpia1znyizha5gdj6f9i07nghp3gv9kfficlq3fw03"; depends=[Rcpp]; };
   proteomicdesign = derive2 { name="proteomicdesign"; version="2.0"; sha256="01s47pgwxy4xx10f3qmbfv59gbaj0qw017kpkpsn33s8w7ad63r0"; depends=[MASS]; };
@@ -9553,7 +9811,7 @@ in with self; {
   protr = derive2 { name="protr"; version="1.5-0"; sha256="1mi14hph6cqdsgjw4p00miaa4bh2axkwfcmxaiv7f7v4dk8i52y1"; depends=[]; };
   proustr = derive2 { name="proustr"; version="0.2.1"; sha256="17syaxfrwm9kh5q825hj7bsrvi4h9avpdabw9y0vq20y87w8cq1s"; depends=[assertthat dplyr magrittr purrr rlang SnowballC stringr tidyr tokenizers]; };
   provenance = derive2 { name="provenance"; version="1.9"; sha256="1d40k85cxnnxy480ylvy6wwswgf8hbxgcbansx90hyg9cb3rvhil"; depends=[MASS]; };
-  proxy = derive2 { name="proxy"; version="0.4-21"; sha256="1vih8gsfzv97h5c8ixd1qjnn02i7fzla2p9fdj2wpisqhx0p0xv0"; depends=[]; };
+  proxy = derive2 { name="proxy"; version="0.4-22"; sha256="0l0ff8irmmvic941is290hd5vszyhaj5nfwna4v3w9c1zk5nr1ma"; depends=[]; };
   prozor = derive2 { name="prozor"; version="0.2.3"; sha256="1686lfmzmzl1488xnppv95hfr83gf67xfzqsw49gdas0aba3plhh"; depends=[AhoCorasickTrie doParallel foreach Matrix plyr seqinr stringr]; };
   prrd = derive2 { name="prrd"; version="0.0.2"; sha256="0ifs55yqvwbcs3xyc90yi763fgavdhajk1ba73g1kchn2ak39qhb"; depends=[config crayon data_table DBI liteq RSQLite]; };
   pryr = derive2 { name="pryr"; version="0.1.4"; sha256="06vj5xl9x37kbd3l5bw7sbgfdnp37spvrjrn976rxi04clqk966k"; depends=[codetools Rcpp stringr]; };
@@ -9566,6 +9824,7 @@ in with self; {
   pse = derive2 { name="pse"; version="0.4.7"; sha256="0kigfzsvx3gw7jwym4f19dydwwarwxgmha7hpy54gg0zzi4k9icl"; depends=[boot Hmisc]; };
   pseudo = derive2 { name="pseudo"; version="1.4.3"; sha256="0ccf3gz2g7g5y4acpj2qnb39hrghhdganizlddg6rx7al869fffs"; depends=[geepack KMsurv]; };
   pseval = derive2 { name="pseval"; version="1.3.0"; sha256="1iv3fa7ar9i7v9j5axbasmn8l8nvry4zvmb7fd8aql82f22szmbj"; depends=[survival]; };
+  psgp = derive2 { name="psgp"; version="0.3-17"; sha256="11rx3xim9jx8klpz1p2xj1laimd5q5qs9mvigbh48gsjrm0pnd5v"; depends=[automap doParallel foreach gstat intamap Rcpp RcppArmadillo rgdal sp]; };
   psidR = derive2 { name="psidR"; version="1.4"; sha256="1whdjsab5cihlq4gp06xafl3zg7z0cjb4622d23v24igz7kr0ic2"; depends=[data_table foreign RCurl SAScii]; };
   pso = derive2 { name="pso"; version="1.0.3"; sha256="0alar695c6kc1rsvwipsrvlxc93f3sy9l0yhp0mggyqgxkkvy406"; depends=[]; };
   psoptim = derive2 { name="psoptim"; version="1.0"; sha256="1yziabkd3h05cfl5jy5l8ji2y3w21acvxsq3inxyh0iwyr8qdkkl"; depends=[]; };
@@ -9574,9 +9833,9 @@ in with self; {
   pssm = derive2 { name="pssm"; version="1.1"; sha256="0r3d1mzc7bcz238lqq4y518400m2dqm5a1fb9gkfiari1ax099lv"; depends=[abind MASS MHadaptive numDeriv]; };
   pstest = derive2 { name="pstest"; version="0.1.1"; sha256="0k8413ilpbz23v210wz80mli7ajpc8p7y4pbn1za371qw04b81c5"; depends=[harvestr]; };
   psy = derive2 { name="psy"; version="1.1"; sha256="027whr670w65pf8f7x0vfk9wmadl6nn2idyi6z971069lf01wdlk"; depends=[]; };
-  psych = derive2 { name="psych"; version="1.7.8"; sha256="0daismb8pdk392vdy304hqx0m3jx62gx3a0hygjygc125rhfla7k"; depends=[foreign lattice mnormt nlme]; };
-  psychmeta = derive2 { name="psychmeta"; version="0.2.3"; sha256="0lfgsbvb1dplwbxfqim3q7lnf4sclngdik1l5cxl9rkdwb54lcy6"; depends=[boot dplyr fungible ggplot2 MASS metafor nor1mix progress reshape2 rtf tibble tidyr tmvtnorm]; };
-  psycho = derive2 { name="psycho"; version="0.1.0"; sha256="0qfgq5sivr01jiglaykh3jqjz11zag8si1nmw0ffr28bp94gibrg"; depends=[dplyr ggcorrplot ggplot2 lmerTest MASS MuMIn nFactors ppcor psych purrr qgraph rstanarm stringr tidyr]; };
+  psych = derive2 { name="psych"; version="1.8.3.3"; sha256="1zhp8j81nkzd65168zdw9ylypb9n07ajan21x0wqcn8jdbg970sg"; depends=[foreign lattice mnormt nlme]; };
+  psychmeta = derive2 { name="psychmeta"; version="1.0.0"; sha256="0wbjq8908wnch45n4mblx1lxsp5r65jv2g9d46lar6qxrawqbaqg"; depends=[boot dplyr fungible ggplot2 knitr MASS metafor nor1mix progress RCurl RefManageR reshape2 rlang rmarkdown rtf stringr tibble tidyr tmvtnorm]; };
+  psycho = derive2 { name="psycho"; version="0.1.4"; sha256="0drzr3svs76wx7ki6s4c5i27r5p309wgzdcpxz1j5i4ivvwhkl0b"; depends=[dplyr ggcorrplot ggplot2 lmerTest MASS MuMIn nFactors ppcor psych purrr qgraph rstanarm stringr tidyr]; };
   psychometric = derive2 { name="psychometric"; version="2.2"; sha256="1b7cx6icixh8k3bv60fqxjjks23qn09vlcimqfv2x3m3nkf8p1s9"; depends=[multilevel nlme]; };
   psychomix = derive2 { name="psychomix"; version="1.1-4"; sha256="15yk3z11w4bzk6vljr13bkfhzycypww6blc1djb5iwl635xq1c49"; depends=[flexmix Formula lattice modeltools psychotools]; };
   psychotools = derive2 { name="psychotools"; version="0.4-2"; sha256="04p5yb39c8j28q6brqsrw0dr1zvgpyzb7008v2kk3d5sncgl4dd0"; depends=[]; };
@@ -9590,11 +9849,13 @@ in with self; {
   ptwikiwords = derive2 { name="ptwikiwords"; version="0.0.3"; sha256="129dad1vy52sf97dqrkwa49vjhv2kvs4pmd5zvq8pxd51hqm6wy9"; depends=[]; };
   ptycho = derive2 { name="ptycho"; version="1.1-4"; sha256="1llk3rpk0lf80vwvs23d6dqhgyic3a6sfjc393csj69hh01nrdvc"; depends=[coda plyr reshape2]; };
   pubh = derive2 { name="pubh"; version="0.1.7"; sha256="0dha3adlbrxgkamlb5i2lcnqcsspqb30fmj0f2zhz0bh4i83lznb"; depends=[bookdown car descr Epi epiR epitools gee lattice latticeExtra lme4 lmtest MASS multcomp nlme nnet ordinal pander papeR rmdformats sandwich survival visreg]; };
-  pubmed_mineR = derive2 { name="pubmed.mineR"; version="1.0.11"; sha256="01b4dd28x3a25d0s8k0dwbcr6asaqh2b9c4fddg683i54q483lkd"; depends=[boot R2HTML RCurl XML]; };
+  pubmed_mineR = derive2 { name="pubmed.mineR"; version="1.0.12"; sha256="04zb5lbjdrhdpam4xmkcc947icsnias5pxbv2pwhvyhk7mz16nya"; depends=[boot R2HTML RCurl XML]; };
   pullword = derive2 { name="pullword"; version="0.2"; sha256="14rln0nbd4k2cvf18iwvc56776b9g3m3cs67i7fgzabfrgj8y6db"; depends=[RCurl]; };
+  pulsar = derive2 { name="pulsar"; version="0.3.2"; sha256="1zfkxksynrphfv6lpr7rc3g9k643840bgrdv9ic700984vxgg68m"; depends=[Matrix]; };
   pulver = derive2 { name="pulver"; version="0.1.1"; sha256="0zj3a66hjing4a87lvhxlvdp72kpn0s2d6r5kc0pi06ls04r8sax"; depends=[DatABEL Rcpp]; };
   pumilioR = derive2 { name="pumilioR"; version="1.3.1"; sha256="1791r5lkr6hafd2rz9f9nfy5vc03c4833f292khvd2cg43sb0bfc"; depends=[RCurl XML]; };
   purge = derive2 { name="purge"; version="0.2.1"; sha256="1faf8mkaxsnj63wnig5rs50hd3j6vzaj0xkdz8kn0j7y2vvshp9p"; depends=[]; };
+  purging = derive2 { name="purging"; version="1.0.0"; sha256="1b8f87jn6wyh4fp6b1660bd484wcf7xiajdg9dz2594aj1r94qsr"; depends=[MASS]; };
   purrr = derive2 { name="purrr"; version="0.2.4"; sha256="0wgbnbrqncjpggg8f9bdpcd1gy351s5f0az5k8lc55cvs9lhz3gd"; depends=[magrittr rlang tibble]; };
   purrrlyr = derive2 { name="purrrlyr"; version="0.0.2"; sha256="1wkngb87xmlkghsqjr7l5fhlj3a54prvg6v6hd0prn768xw4rc1c"; depends=[BH dplyr lazyeval magrittr purrr Rcpp]; };
   pushoverr = derive2 { name="pushoverr"; version="1.0.0"; sha256="1zazrx0szx21ymn7zlkfqkhid0ar8jblnpnf5nycj0p7dbh6d0bd"; depends=[assertthat httr]; };
@@ -9603,10 +9864,10 @@ in with self; {
   pvclust = derive2 { name="pvclust"; version="2.0-0"; sha256="0hfpf257k5f1w59m0zq6sk0gaamflc3ldkw6qzbpyc4j94hiaihs"; depends=[]; };
   pvsR = derive2 { name="pvsR"; version="0.3"; sha256="1ijmqlcsc8z0aphdd3j37ci8yqsy50wnr2fwn7h8fxbyd12ax2nj"; depends=[httr nnet XML]; };
   pweight = derive2 { name="pweight"; version="0.0.1"; sha256="0pxxfrap1bmnhbfbmkddfbqwkpw42hq37s0y26zmkxqlx4wblira"; depends=[qqman]; };
-  pwr = derive2 { name="pwr"; version="1.2-1"; sha256="0k3jzx7jjgzha3vkpknj9nvx4yqlc9rq0mw25shvzi0xbr1y2cdb"; depends=[]; };
+  pwr = derive2 { name="pwr"; version="1.2-2"; sha256="0r5g781lr677vp3zyhgmi7r68c87l8gd05l1s3ffnxgn5wf043sm"; depends=[]; };
   pwr2 = derive2 { name="pwr2"; version="1.0"; sha256="0zfv7z5yymw310r1sqm8ivsc2pv6dgk2k4b1axmm92gsaj53cn7p"; depends=[]; };
   pwrAB = derive2 { name="pwrAB"; version="0.1.0"; sha256="0ifyw40m9gsijw3vm9qb8qk4yydmdixfdpdp45x2hk93j8v61jm1"; depends=[]; };
-  pwrFDR = derive2 { name="pwrFDR"; version="1.85"; sha256="1al8dh5h32lipnqfa823wwx7nsrz8z3fadl7hz4qvj8vpfijpz1i"; depends=[]; };
+  pwrFDR = derive2 { name="pwrFDR"; version="1.90"; sha256="1lphq62k33wd1ay18gyl62yg6d57j2hhyk1pxz67qv5ywj73r34s"; depends=[]; };
   pwrRasch = derive2 { name="pwrRasch"; version="0.1-2"; sha256="13fr4yfk8aky1vv36pllx673l4lg9q7i661vbyn2zabyizd2rw3b"; depends=[]; };
   pwt = derive2 { name="pwt"; version="7.1-1"; sha256="0926viwmwldmzlzbnjfijh00wrhgb0h4h0mlrls71pi5pjfldifa"; depends=[]; };
   pwt8 = derive2 { name="pwt8"; version="8.1-1"; sha256="1iig0x90ilzh3hdki0h33qgrra8r94rw4bk1x8y7i6c1may8y0v6"; depends=[]; };
@@ -9614,6 +9875,7 @@ in with self; {
   pxR = derive2 { name="pxR"; version="0.42.2"; sha256="1q1xwsrs1ch1a1d1clz6sl7vnsyz5wjqivczk5n5d772y4w60bz5"; depends=[plyr reshape2 RJSONIO stringr]; };
   pxweb = derive2 { name="pxweb"; version="0.6.3"; sha256="106nb0a3v295cam8ixhdwpgjhwq8p71c2z5c49s6xnqwmf6rbd0h"; depends=[data_table httr plyr RJSONIO stringr]; };
   pycno = derive2 { name="pycno"; version="1.2"; sha256="0ha5css95xb98dq6qk98gnp1al32gy6w5fkz74255vs4hmkwfzw2"; depends=[maptools rgeos sp]; };
+  pyinit = derive2 { name="pyinit"; version="1.0.2"; sha256="148b8l5a8c636rgm8dwd8v6ggw9qmkafc5a40bciqc4rk09lfhl3"; depends=[robustbase]; };
   pyramid = derive2 { name="pyramid"; version="1.4"; sha256="0hh0hmckicl0r2r9zlf693j65jr9jgmiz643j2asp57nbs99lgxz"; depends=[]; };
   qCBA = derive2 { name="qCBA"; version="0.3.1"; sha256="0lr97hig9c4l9k7vjalvgar4f1dic1lqf91li4q63j07lgdyvh4c"; depends=[arc arules rJava]; };
   qGaussian = derive2 { name="qGaussian"; version="0.1.6"; sha256="0j8n4y4yzidkp52db73zv2snx0kwpg3aiz7vr82ybq3x9scy8c4n"; depends=[Rcpp robustbase zipfR]; };
@@ -9628,7 +9890,7 @@ in with self; {
   qclust = derive2 { name="qclust"; version="1.0"; sha256="0cxkk4lybpawyqmy5j6kkpgm0zy0gyn3brc1mf9jv8gmkl941cp3"; depends=[mclust mvtnorm]; };
   qcr = derive2 { name="qcr"; version="1.0"; sha256="1251naica44kccmikyzdi3ncxfmvyqbc4qspfqnc0w54cqpsy5rw"; depends=[fda_usc MASS mvtnorm qcc qualityTools]; };
   qdap = derive2 { name="qdap"; version="2.2.9"; sha256="19jlh6k3vw6c20xfygn20dgs86h2a16imn23afgxlfggbazwxjyd"; depends=[chron dplyr gdata gender ggplot2 gridExtra igraph NLP openNLP plotrix qdapDictionaries qdapRegex qdapTools RColorBrewer RCurl reports reshape2 scales stringdist tidyr tm venneuler wordcloud xlsx XML]; };
-  qdapDictionaries = derive2 { name="qdapDictionaries"; version="1.0.6"; sha256="1icivvsi33494ycd7vfqm9zx2g2rc1m3dygs3bi0ndi798z1cvx2"; depends=[]; };
+  qdapDictionaries = derive2 { name="qdapDictionaries"; version="1.0.7"; sha256="0jdx7bxmvc4p41jb4fhaagg5jsbsi7gva870cmyia72li52grhyn"; depends=[]; };
   qdapRegex = derive2 { name="qdapRegex"; version="0.7.2"; sha256="1xa8q1way3gjadrjh3mv3xr4c6b4h16nd2c6lgl969difplpfz9p"; depends=[stringi]; };
   qdapTools = derive2 { name="qdapTools"; version="1.3.3"; sha256="0a28jn57d2fas3009cm10z07fq77ql3ffcrhcxsiimb57179wj0n"; depends=[chron data_table RCurl XML]; };
   qdm = derive2 { name="qdm"; version="0.1-0"; sha256="0cfxyy8s5zfb7867f9xv9scq9blq2qnw68x66m7y7nqlrrff5xdr"; depends=[]; };
@@ -9638,13 +9900,13 @@ in with self; {
   qgtools = derive2 { name="qgtools"; version="1.0"; sha256="0irqfaj2qqx7n1jfc0kmfpgzqrhwwlj0qizsmya94zk9d27bcpn5"; depends=[MASS Matrix]; };
   qha = derive2 { name="qha"; version="0.0.8"; sha256="0sdf6g6884wn73i237xkwszg2mq8xddhvyy225qzpplh5za4pnhl"; depends=[ade4 FactoClass FactoMineR]; };
   qicharts = derive2 { name="qicharts"; version="0.5.5"; sha256="0bl1f64b5n8q9jhzh3rqfyh9613qiy9mhcy2xsn16jyrj4hmj0jd"; depends=[ggplot2 lattice latticeExtra scales]; };
-  qicharts2 = derive2 { name="qicharts2"; version="0.3.0"; sha256="0z9ym2pzl1psqp67hd69vmq729xzdhr9lcrxk2dv387547xhf3h1"; depends=[dplyr ggplot2 scales]; };
+  qicharts2 = derive2 { name="qicharts2"; version="0.4.0"; sha256="0dd7jn7g7b85yvq39ykl75jdixk3dpinscsizxqwcfcjyhpvszq6"; depends=[dplyr ggplot2 scales]; };
   qiimer = derive2 { name="qiimer"; version="0.9.4"; sha256="0argspi9pin2gjsg0qkl28hj3bw8svfab1cy410zlq76qdnmg7df"; depends=[pheatmap]; };
   qiitr = derive2 { name="qiitr"; version="0.1.0"; sha256="1p0mcwgzvbib20l05wrnshkqx99vwr69dgy15dfwp75skyy5l797"; depends=[httr jsonlite purrr rstudioapi]; };
   qlcData = derive2 { name="qlcData"; version="0.2.1"; sha256="0n1r7462zmyzkyi7mp3hf7pn7bgw1m1zs9flm3n199kjm8f6yyzy"; depends=[ape data_tree docopt phytools shiny stringi yaml]; };
   qlcMatrix = derive2 { name="qlcMatrix"; version="0.9.5"; sha256="0fm49iydbjp264h9mkk8qfblbvg4l3bfcnphxyhcv3n27m0w44sf"; depends=[Matrix slam]; };
   qlcVisualize = derive2 { name="qlcVisualize"; version="0.1.0"; sha256="13rc4z7rz7vngrkxq09flhszvcbg6i7drdkdp8kmvgcxf0im6lv0"; depends=[alphahull fields mapdata mapplots maps maptools MASS qlcMatrix raster seriation sp spatstat]; };
-  qle = derive2 { name="qle"; version="0.16-6"; sha256="1gah72vv7zfaxl2i9r58qzpkml7pkspxffd7jaf9z93izrzcsp74"; depends=[digest expm lhs mvtnorm nloptr]; };
+  qle = derive2 { name="qle"; version="0.17-1"; sha256="1zsvmnxdfd6avr14z5101i4kmks87yrsn15wiq5sx8gsfbxksjkj"; depends=[digest expm lhs mvtnorm nloptr]; };
   qmap = derive2 { name="qmap"; version="1.0-4"; sha256="02xvq1mw83gln7phacbi3vhkvb100crggbldv13mhwq3wjnmg5k2"; depends=[fitdistrplus]; };
   qmethod = derive2 { name="qmethod"; version="1.5.2"; sha256="1snllw82cijl7qgmgkn2x1k3x43x0hxbvh5mx5sffrma9kkv2fii"; depends=[digest GPArotation knitr psych xtable]; };
   qmrparser = derive2 { name="qmrparser"; version="0.1.5"; sha256="0sl9n42j0dx9jqz5vv029ra6dyrg9v7mvdlya8ps3vyd6fjhwh0z"; depends=[]; };
@@ -9668,16 +9930,16 @@ in with self; {
   qrng = derive2 { name="qrng"; version="0.0-3"; sha256="0xdhmcqvgjmrf4c72x76yz5kp0jiysy8q6f67lix1h4mvzr4q2qd"; depends=[]; };
   qrnn = derive2 { name="qrnn"; version="2.0.2"; sha256="0w4gzignkfrx220fk9j4by0ibr4r9s66il0f43k6abf0czvqdxx4"; depends=[]; };
   qrsvm = derive2 { name="qrsvm"; version="0.2.1"; sha256="0qpj3c8qwrwr2asvp921av0mbdba1ayz0pdq4a52i1waqng4fgis"; depends=[doParallel foreach kernlab Matrix quadprog]; };
-  qtbase = derive2 { name="qtbase"; version="1.0.12"; sha256="0j3nzmh4xj0mzwlh9dsc3296yqbkhzn6qhzb8ismhi0bmx5hjydj"; depends=[]; };
-  qte = derive2 { name="qte"; version="1.2.0"; sha256="1l911z52v3jp0b2agvwfny8d4yq0llrdp873j4mw696x50awj8py"; depends=[BMisc formula_tools ggplot2 Hmisc quantreg texreg]; };
+  qtbase = derive2 { name="qtbase"; version="1.0.13"; sha256="0bi3lxhnfj4pzhc11yd580zmfn9wnkbvag5rlm2g7c9i2dsi0inj"; depends=[]; };
+  qte = derive2 { name="qte"; version="1.2.1"; sha256="1skl7a4dqxfj8p2d1wpan4j7bmr1l5aqyxlzl9qmbx0brf9r5gk4"; depends=[BMisc formula_tools ggplot2 Hmisc pbapply quantreg texreg]; };
   qtl = derive2 { name="qtl"; version="1.42-8"; sha256="1l528dwvfpdlr05imrrm4rq32axp6hld9nqm6mm43kn5n7z2f5k6"; depends=[]; };
   qtlDesign = derive2 { name="qtlDesign"; version="0.941"; sha256="138yi85i5xiaqrns4v2hw46b731bdgnb301wg2h4cfrxvrw4l0d5"; depends=[]; };
   qtlbook = derive2 { name="qtlbook"; version="0.18-6"; sha256="0kbz7icp6fzl2bgk50fcg8x704aijpz3xbqrzraj7qa3z8gakaj6"; depends=[qtl]; };
   qtlc = derive2 { name="qtlc"; version="1.0"; sha256="17ij4alx4qg556b5kq7qsjygj5jf8iyx1f0v52pvx1z2sm6nppww"; depends=[plot3D rgl tiff]; };
   qtlcharts = derive2 { name="qtlcharts"; version="0.9-6"; sha256="021gx5qzrc7jbgpp91mn36czr7fsh37wf3c7cifcv3xwzc54j4dd"; depends=[htmlwidgets qtl]; };
-  qtlhot = derive2 { name="qtlhot"; version="0.9.0"; sha256="1043rksqqzgmr7q03j18wxgm706prqxq9ki9b9p2dxvc62vfcfih"; depends=[corpcor lattice mnormt qtl]; };
+  qtlhot = derive2 { name="qtlhot"; version="1.0.4"; sha256="0gf0fsq91g830vqg5kz01zznm40qpjncy964ccvmms3i6d3hxd9m"; depends=[corpcor mnormt qtl]; };
   qtlmt = derive2 { name="qtlmt"; version="0.1-6"; sha256="023h60z8d05832l2g7mg776hfjb0i7xpvhz3i899rc3h5pgjd94c"; depends=[]; };
-  qtlnet = derive2 { name="qtlnet"; version="1.3.6"; sha256="044a2p3mpp203kb85s2fr3qiyypm461lrzxkfi0hnzq44qqba169"; depends=[graph igraph pcalg qtl sem]; };
+  qtlnet = derive2 { name="qtlnet"; version="1.4.4"; sha256="1r9r6wp71i36ffcdxiljvh2c8nva868x2dx6bkinbaq8cixww2cx"; depends=[graph igraph pcalg qtl sem]; };
   qtpaint = derive2 { name="qtpaint"; version="0.9.1"; sha256="08x7qcxwkaclwv1p4s9a5k95x35hzp69whiihkakjv5blm83m3g9"; depends=[qtbase]; };
   quad = derive2 { name="quad"; version="1.0"; sha256="0fak12l19f260k0ygh6zimx8dabzsv7a9i2njw8hnfcs3ndffhv5"; depends=[PearsonDS]; };
   quadmesh = derive2 { name="quadmesh"; version="0.1.0"; sha256="1k1midhszmi843krv9sdwbyhjmffgps0xx9aigkp7yw7mpif07vx"; depends=[dplyr raster]; };
@@ -9692,15 +9954,15 @@ in with self; {
   qualvar = derive2 { name="qualvar"; version="0.2.0"; sha256="1c7b7lcyq2l46sslk185r6xfh5fb35z9qihrhnh294sw1k52bffa"; depends=[]; };
   quantable = derive2 { name="quantable"; version="0.2.2"; sha256="179bqqrga8mpigchfmhf11sc75frhd9nd6yqclz85lnd6gl16yd7"; depends=[caret e1071 gplots Matrix pROC RColorBrewer scales]; };
   quantchem = derive2 { name="quantchem"; version="0.13"; sha256="1ga5xa7lsk04flfp1syjzpnvj3i2ypzh1m49vq1xkdwpm6axdy8n"; depends=[MASS outliers]; };
-  quanteda = derive2 { name="quanteda"; version="1.0.0"; sha256="099bwlfz3g7nyn59js9bkmvxq7yl13i8p89a54piz4xzqasy7xx3"; depends=[data_table digest extrafont fastmatch ggplot2 ggrepel lubridate magrittr Matrix network Rcpp RcppArmadillo RcppParallel RSpectra sna SnowballC spacyr stopwords stringi wordcloud XML yaml]; };
+  quanteda = derive2 { name="quanteda"; version="1.2.0"; sha256="19rr0dkcazdkyzyy7srawf57mmvjjz3nvxik0bkqx6cl7cvrjajz"; depends=[data_table extrafont fastmatch ggplot2 ggrepel lubridate magrittr Matrix network Rcpp RcppArmadillo RcppParallel RSpectra sna SnowballC spacyr stopwords stringi XML yaml]; };
   quantification = derive2 { name="quantification"; version="0.2.0"; sha256="116cp88q9cmizxc2a8lsysa1vwyp1y86457fx5qkq5dcm4g721g8"; depends=[car]; };
   quantileDA = derive2 { name="quantileDA"; version="1.1"; sha256="0jbklxsy33j7clcw97qq4ijwkrb94v2m11gjcfa38vplfxm9913q"; depends=[]; };
-  quantmod = derive2 { name="quantmod"; version="0.4-12"; sha256="0y7gh0k1s10vdsfch8777avbhf99mc9crikvx7ahqrw0j631vmhq"; depends=[curl TTR xts zoo]; };
+  quantmod = derive2 { name="quantmod"; version="0.4-13"; sha256="16aldg96z7amp5mr90nb8127yy04gxsihfr26km5p3cx3j117yv0"; depends=[curl TTR xts zoo]; };
   quantoptr = derive2 { name="quantoptr"; version="0.1.3"; sha256="0f9vy9yhya4wpya8n345s6n7a5sb29chdkl5fz6dwa31lp1mvvj3"; depends=[quantreg Rdpack rgenoud stringr]; };
   quantreg = derive2 { name="quantreg"; version="5.35"; sha256="18f3qxv1j1bqmq55hzssz8mnp5ww4flhy80rm2v1rk0mmg9paz7m"; depends=[Matrix MatrixModels SparseM]; };
   quantreg_nonpar = derive2 { name="quantreg.nonpar"; version="1.0"; sha256="1f9120awnkwsgdiqg98lg7xs5l4y80930869x6k9q76595r5m92k"; depends=[fda mnormt quantreg Rearrangement]; };
   quantregForest = derive2 { name="quantregForest"; version="1.3-7"; sha256="0lk7r02i6zpx9sdl2rp0r7fc3a84s8qhg49nh2x7k3vxwa095pjz"; depends=[randomForest RColorBrewer]; };
-  quantregGrowth = derive2 { name="quantregGrowth"; version="0.3-2"; sha256="1ga3qn8g7r465dlxl8wmvz1vlpq5639kmawancsgkm77f316wpzf"; depends=[quantreg]; };
+  quantregGrowth = derive2 { name="quantregGrowth"; version="0.4-0"; sha256="0lscz07k14z1mgxdgi7j0nd5098x6p4hsm9qzw8fgnsz4xgm5qxn"; depends=[quantreg]; };
   quantregRanger = derive2 { name="quantregRanger"; version="1.0"; sha256="1a9q2prr790bpw6s0y5ni5ppd3vqkjr0v4nqp6ywcj5n3sk69pvx"; depends=[ranger Rcpp]; };
   quantspec = derive2 { name="quantspec"; version="1.2-1"; sha256="0kvwifdwy3big0lls5h3wcb48v3jvlfp1l0zjd07jnvj43zj3ysd"; depends=[abind quantreg Rcpp snowfall zoo]; };
   quarrint = derive2 { name="quarrint"; version="1.0.0"; sha256="13fdmmrgn23xd9vpywmcl7pf729gmcxjfl1wxs30axsbp4h1s6rk"; depends=[neuralnet]; };
@@ -9718,10 +9980,10 @@ in with self; {
   quint = derive2 { name="quint"; version="1.2.1"; sha256="1d9dnrjnl9cg2yn5snr6x9qr6lf74639j3ymsxpw0wn5c4fm8z46"; depends=[Formula partykit rpart]; };
   quipu = derive2 { name="quipu"; version="1.9.0"; sha256="1py1qpbwp2smr5di8b3zmzxxhchfmr5qfhqkdiqig28mcnqcmp5n"; depends=[agricolae pixmap shiny stringr xtable]; };
   quokar = derive2 { name="quokar"; version="0.1.0"; sha256="1qnl3x1aa665xpyb3ac07xrnnjdwbmj645p103144k5is5b8likc"; depends=[ald ALDqr bayesQR dplyr ggplot2 GIGrvg gridExtra knitr magrittr MCMCpack purrr quantreg robustbase tidyr]; };
-  quotedargs = derive2 { name="quotedargs"; version="0.1.1"; sha256="05y3jgix3aix3d4nazd7h9c27mfcl52xl6fdpfpi7zyd4iznpv9g"; depends=[]; };
+  quotedargs = derive2 { name="quotedargs"; version="0.1.2"; sha256="034fhfmfq62yf7akx2i0bim70jq9azkk2h28k79lwax7ysydsjnj"; depends=[]; };
   qut = derive2 { name="qut"; version="2.0"; sha256="1r0yg99p88ar1d9qhayzpplssjpsy901b7n6yr7r4n9nldh8p7xz"; depends=[flare glmnet lars Matrix]; };
   qvcalc = derive2 { name="qvcalc"; version="0.9-1"; sha256="1ll71yww8rsbp0qa60w7vdna8yk60cq66cjn5cdk3bkdwyni28yy"; depends=[]; };
-  qwraps2 = derive2 { name="qwraps2"; version="0.2.4"; sha256="18ail1y3kpiiwgkf7zn1acfz1ipz7wbk8pcmlganayr8p9yv7sh2"; depends=[dplyr ggplot2 knitr Rcpp tidyr]; };
+  qwraps2 = derive2 { name="qwraps2"; version="0.3.0"; sha256="0xhlb0c955raxrqw202f7jd9c1wkrigh1qs93m2739jkwkyv2n3b"; depends=[devtools dplyr ggplot2 knitr magrittr Rcpp RcppArmadillo rlang tidyr]; };
   r_jive = derive2 { name="r.jive"; version="2.1"; sha256="0l0bhhp6bdc84pzxi7gnsxx3scycw0zahrnc496wx3j43np9hlsg"; depends=[abind gplots SpatioTemporal]; };
   r2d2 = derive2 { name="r2d2"; version="1.0-0"; sha256="1zl0b36kx49ymfks8rm33hh0z460y3cz6189zqaf0kblg3a32nsi"; depends=[KernSmooth MASS sp]; };
   r2dRue = derive2 { name="r2dRue"; version="1.0.4"; sha256="1apdq7zj5fhs349wm9g6y06nn33x24pg3gdp4z1frd18qlacf8z5"; depends=[matrixStats rgdal sp]; };
@@ -9749,14 +10011,14 @@ in with self; {
   rDotNet = derive2 { name="rDotNet"; version="0.9.1"; sha256="18cd5373pdfi1x958llb4cgjqdi1fb7h7m5nkdwcd4xw9hxhinzd"; depends=[Rcpp testthat]; };
   rEDM = derive2 { name="rEDM"; version="0.6.9"; sha256="0825yh82vlkmjkrwbk7xfhdq4c7yq7n4bmmw6x7ywmhbnayqj6b3"; depends=[Rcpp RcppEigen]; };
   rEMM = derive2 { name="rEMM"; version="1.0-11"; sha256="0ynjn10gcmxs8qnh6idb34ppmki91l8sl720x70xkzcqpahy0nic"; depends=[cluster clusterGeneration igraph MASS proxy]; };
-  rENA = derive2 { name="rENA"; version="0.1.3"; sha256="03sb6fb6d41nf4qd7ifsbr3gqgdk9g5lvjcxvdqhldxrhwn4b1ji"; depends=[data_table data_tree doParallel foreach magrittr plotly R6 Rcpp RcppArmadillo RcppEigen RcppParallel RcppRoll scales]; };
+  rENA = derive2 { name="rENA"; version="0.1.4"; sha256="007kgb5n30c4jpbp7q2f0yj5mplb8pvhs8pvghy8zbwrl61n4kx5"; depends=[data_table data_tree doParallel foreach magrittr plotly R6 Rcpp RcppArmadillo RcppEigen RcppParallel RcppRoll scales]; };
   rFDSN = derive2 { name="rFDSN"; version="0.0.0"; sha256="1ffiqpdzy4ipy2aci22zkih4373ifkjkpvsrza8awhyf9fwqwdsl"; depends=[XML]; };
   rFSA = derive2 { name="rFSA"; version="0.9.1"; sha256="14qpxmzy4vy1fydn8yqh1001mqrgv1i67ai42w61dkk0d4m75z60"; depends=[hashmap tibble]; };
   rFTRLProximal = derive2 { name="rFTRLProximal"; version="1.0.0"; sha256="1458gqy2zbaa62vaimawdr1nk0lsgwz1j4pgw21fkw7bskcszz0f"; depends=[data_table FeatureHashing foreach magrittr Matrix Rcpp RcppArmadillo RcppProgress]; };
   rFerns = derive2 { name="rFerns"; version="2.0.3"; sha256="02lq43mgcz8n21hwb0pjqi0aq5dacnaakpx336q1xzw1kwlvfkhv"; depends=[]; };
   rGammaGamma = derive2 { name="rGammaGamma"; version="1.0.12"; sha256="1051ah6q11qkxj1my4xybbzc8xcqkxfmps8mv2his5cyfllwidbs"; depends=[gsl]; };
   rGoodData = derive2 { name="rGoodData"; version="0.1.1"; sha256="092sgy6y3dkyr32hrir4jvjwh7n6gfvv9z7i631fipg59255g0zy"; depends=[data_table httr jsonlite]; };
-  rGroovy = derive2 { name="rGroovy"; version="1.2"; sha256="0wx17d4c7202dbmgw4nvnvw42fiwlzsl151idrmm4fzfff8y1vdi"; depends=[rJava]; };
+  rGroovy = derive2 { name="rGroovy"; version="1.3"; sha256="172vm4diygzi4ipmw8bl03k0x3aps0h1vkvwvw539kamy7xb5w98"; depends=[rJava]; };
   rHealthDataGov = derive2 { name="rHealthDataGov"; version="1.0.1"; sha256="0lkjprss15yl6n9wgh79r4clip3jndly2ab1lv4iijzxnxay099d"; depends=[bit64 httr jsonlite]; };
   rHpcc = derive2 { name="rHpcc"; version="1.0"; sha256="0096z90mmf1j2xpb9034a5ph52m8z6n6xjh3km2vrhw63g3cpwap"; depends=[RCurl XML]; };
   rIsing = derive2 { name="rIsing"; version="0.1.0"; sha256="1208lwfk9j8gghj8xf6i8v6s18h89ydqsd4jq3r88n403yzbzzck"; depends=[data_table Rcpp RcppEigen]; };
@@ -9766,9 +10028,10 @@ in with self; {
   rKIN = derive2 { name="rKIN"; version="0.1"; sha256="1j6fdi5h869q4d1hq6ha6qyhisa0zk2qmhjrc4ahl9991d680dyn"; depends=[ggplot2 maptools MASS rgeos sp]; };
   rLDCP = derive2 { name="rLDCP"; version="1.0.2"; sha256="0k7zc1xyqmcl7070hhpqw1d2k1ij6bd4wjym8cw263pds2n7nx21"; depends=[XML]; };
   rLTP = derive2 { name="rLTP"; version="0.1.4"; sha256="04w432m03xwh0szshsrfw5h7wy43q4lj8z0y07k8w6gsf27cy5bx"; depends=[RCurl]; };
-  rLakeAnalyzer = derive2 { name="rLakeAnalyzer"; version="1.11.0"; sha256="0y6ir41yl8xj19lbwlvzcrfcrdk9cn9i4q4z1pg7mwj4cq6bc6gd"; depends=[plyr]; };
+  rLakeAnalyzer = derive2 { name="rLakeAnalyzer"; version="1.11.4"; sha256="1fvln3r2zkzhsck53jppchg795qbjbzw0rd688h89if1lkiy51w6"; depends=[plyr]; };
   rLiDAR = derive2 { name="rLiDAR"; version="0.1.1"; sha256="1w0yi4ygw0l9ydbllqjylp30d401bsf7b6fng6qg3pssbi9v3kln"; depends=[bitops deldir geometry plyr raster rgl sp spatstat]; };
   rLindo = derive2 { name="rLindo"; version="8.0.1"; sha256="05qyc4wvpjgw8jxmwn2nwybi695fjn0cdilkprwmjg07c82f0q5n"; depends=[]; };
+  rMEA = derive2 { name="rMEA"; version="1.0.0"; sha256="1cxcf2ji2f3kkjlj6lym7zfpmgbbjw7al67dldy2kn9dk2dn087z"; depends=[]; };
   rMR = derive2 { name="rMR"; version="1.1.0"; sha256="0da1hclfnnlkp9by6zf2p079643p8nimplr9p3ipbjdy739j344z"; depends=[biglm]; };
   rMouse = derive2 { name="rMouse"; version="0.1"; sha256="0pzxasap5kwxqq36mb4zi139jllsl4vk06dw2pv9xnwdxiszr3gp"; depends=[rJava]; };
   rNMF = derive2 { name="rNMF"; version="0.5.0"; sha256="1nz6h0j5ywdh48m0swmhp34hbkycd7n13rclrxaw85qi9wc42597"; depends=[knitr nnls]; };
@@ -9802,6 +10065,7 @@ in with self; {
   radiant_design = derive2 { name="radiant.design"; version="0.8.0"; sha256="0n2a0jpjcxxmmr9sbky7v2cnzil3hv6b20yzkyc9lf4a48pqlm4l"; depends=[AlgDesign dplyr mvtnorm polycor r_import radiant_data shiny]; };
   radiant_model = derive2 { name="radiant.model"; version="0.8.0"; sha256="0zlb5ny3s15d1ngdhszkn5wzij4y5fz7c2lwkb9g619pr0ngrwr8"; depends=[car data_tree DiagrammeR dplyr e1071 ggplot2 gridExtra lubridate magrittr NeuralNetTools nnet pryr psych r_import radiant_basics radiant_data rpart sandwich shiny stringr tidyr yaml]; };
   radiant_multivariate = derive2 { name="radiant.multivariate"; version="0.8.0"; sha256="0l3rk5045apjb2jx04jf3mwjixg8cjwrgmz83km9627n93cabs2l"; depends=[car dplyr ggplot2 Gmedian GPArotation gridExtra magrittr MASS pryr psych r_import radiant_data radiant_model scales shiny wordcloud]; };
+  radiomics = derive2 { name="radiomics"; version="0.1.3"; sha256="1ra94yaqw88slznhyv70kbfricxi44m4pnx1zh4ijghm491rphr5"; depends=[Rcpp reshape2 spatstat]; };
   radir = derive2 { name="radir"; version="1.0.2"; sha256="09lcq8ax5x5yk3sqx15rvw3vyi8fyfzgs76kxjhf7hcw4qnib46d"; depends=[hermite]; };
   radmixture = derive2 { name="radmixture"; version="0.0.1"; sha256="0rs60xjd43lg5c9972qhpg6bsqfg2578qvrz7gz3bdip10jb1ryj"; depends=[magrittr MCMCpack plyr quadprog]; };
   rafalib = derive2 { name="rafalib"; version="1.0.0"; sha256="1dmxjl66bfdgrybhwyaa8d4i460liqcdw8b29a6w7shgksh29m0k"; depends=[RColorBrewer]; };
@@ -9817,7 +10081,7 @@ in with self; {
   ramcmc = derive2 { name="ramcmc"; version="0.1.0"; sha256="0s5jgjqkschr64srblppv9lbvhynlpfiy8cy12fywpmnbv8viazq"; depends=[Rcpp RcppArmadillo]; };
   ramidst = derive2 { name="ramidst"; version="0.1.0"; sha256="1q4lvq2c2vj9xrm2p2w2qjsl4qvwcl6y54y68mmbd6cw7wqpffjj"; depends=[rJava]; };
   ramify = derive2 { name="ramify"; version="0.3.3"; sha256="0cxmkxhshg0vrcxai2gbm4iih04f44liv5nh5jiq85hjz8qbhdi2"; depends=[]; };
-  ramps = derive2 { name="ramps"; version="0.6-14"; sha256="09chbqh13h8b10dlcka07y954ga129lamg0fr38iwj4lqb6a2fvy"; depends=[coda fields maps Matrix nlme]; };
+  ramps = derive2 { name="ramps"; version="0.6-15"; sha256="0c7y64z0ysjy0kh234xfqhbwwn1vgscvp1n4l2fjk5s5xz8633pn"; depends=[coda fields maps Matrix nlme]; };
   ramsvm = derive2 { name="ramsvm"; version="2.0"; sha256="1q6ag3x1mgkyw8nsxghhk9yrcr0ybwilsx1yzg98bqsmxrrqk17q"; depends=[doParallel foreach]; };
   randNames = derive2 { name="randNames"; version="0.2.3"; sha256="0vhzg14yg4c9inzxin8prfzh6nhf8fvbi4hbn122fyqyp5d6f8zi"; depends=[httr jsonlite tibble]; };
   randaes = derive2 { name="randaes"; version="0.3"; sha256="14803argy0xdd8mpn4v67gbp90qi2is4x6na9zw7i9pm504xji1x"; depends=[]; };
@@ -9825,8 +10089,7 @@ in with self; {
   randnet = derive2 { name="randnet"; version="0.1"; sha256="1mpz3dsbzd5hffv2v5p6jdp0z07f7rhgcjinr1lwggvxw37xwrkj"; depends=[AUC entropy irlba Matrix poweRlaw RSpectra]; };
   random = derive2 { name="random"; version="0.2.6"; sha256="0sdhagwjlhldb8hn6h4nd1sflzhwkapzybdlb8hzisy3w2ygjn9b"; depends=[curl]; };
   random_polychor_pa = derive2 { name="random.polychor.pa"; version="1.1.4-2"; sha256="1ybwfn3hdwisxjn85vqrib1zhk8dcddbarbwjdf1vn27ih3c4h2c"; depends=[boot MASS mvtnorm nFactors psych sfsmisc]; };
-  randomForest = derive2 { name="randomForest"; version="4.6-12"; sha256="1i43idaihhl6nwqw42v9dqpl6f8z3ykcn2in32lh2755i27jylbf"; depends=[]; };
-  randomForest_ddR = derive2 { name="randomForest.ddR"; version="0.1.2"; sha256="1fijnzzap8my4l211m5pgj4fwna04z1db5m3hhim72i3xzc77hy2"; depends=[ddR Matrix randomForest]; };
+  randomForest = derive2 { name="randomForest"; version="4.6-14"; sha256="0kbmm0l42fc2d1rdq0l7k09d34kd87q4lx651ffsic4y84h8kf7l"; depends=[]; };
   randomForestExplainer = derive2 { name="randomForestExplainer"; version="0.9"; sha256="0gqqm3784krl6xdx7j6xvvyi2rjbyi6c8shm44yvq59is5i7fypc"; depends=[data_table dplyr DT dtplyr GGally ggplot2 ggrepel MASS randomForest reshape2 rmarkdown]; };
   randomForestSRC = derive2 { name="randomForestSRC"; version="2.5.1"; sha256="1p5a5z7ddhnsrln8vpdrwvxbgknwdigczjw8vpxzbkckmf6qfidd"; depends=[]; };
   randomGLM = derive2 { name="randomGLM"; version="1.02-1"; sha256="031338zxy6vqak8ibl2as0l37pa6qndln0g3i9gi4s6cvbdw3xrv"; depends=[doParallel foreach MASS]; };
@@ -9837,7 +10100,7 @@ in with self; {
   randomizationInference = derive2 { name="randomizationInference"; version="1.0.3"; sha256="0x36r9bjmpx90fz47cha4hbas4b31mpnbd8ziw2wld4580jkd6mk"; depends=[matrixStats permute]; };
   randomizeBE = derive2 { name="randomizeBE"; version="0.3-3"; sha256="0vdvgk2b1h1lsj0ka01lwldfxanngir91axc8ywa6pg12hrdkkb0"; depends=[]; };
   randomizeR = derive2 { name="randomizeR"; version="1.4"; sha256="0l7gvpm52fwbz79vgy7vn4z2n4gqigimdj6r9drm3lfzbylmx3js"; depends=[ggplot2 plotrix]; };
-  randomizr = derive2 { name="randomizr"; version="0.8.0"; sha256="0yrjw3q8ivimbir6m3adw22mwq2ka0vpyrsrkvvn05bm5x5mffvs"; depends=[]; };
+  randomizr = derive2 { name="randomizr"; version="0.12.0"; sha256="0g0n63srydljvj4spjl5r08khq0sqlhsj01s150m31cxf23zdjli"; depends=[]; };
   randstr = derive2 { name="randstr"; version="0.2.0"; sha256="17593lbk6r089yasafd21i3v90ya9n92rflpzl0qicd2kqqk2gdh"; depends=[random stringi truncnorm]; };
   randtests = derive2 { name="randtests"; version="1.0"; sha256="03z3kxl4x0l91dsv65ld9kgc58z82ld1f4lk18i18dpvwcgkqk82"; depends=[]; };
   randtoolbox = derive2 { name="randtoolbox"; version="1.17.1"; sha256="13akf13qi4yhj9gapym05074b1qzk03vgysy81qsd73pd8r107ls"; depends=[rngWELL]; };
@@ -9846,24 +10109,26 @@ in with self; {
   rangemodelR = derive2 { name="rangemodelR"; version="1.0.1"; sha256="04zv8a4nhin9masvbw1cmbwdkls4wgq81xfw6kg0wdh1hpqjz1z0"; depends=[]; };
   ranger = derive2 { name="ranger"; version="0.9.0"; sha256="1pilj5pxl8jl0gsy9vsyqxqdqfcxzvphbgvrlp4hf7r9mrfw9v0p"; depends=[Matrix Rcpp RcppEigen]; };
   rankFD = derive2 { name="rankFD"; version="0.0.1"; sha256="1zb9gxvsmv46mpw5znskhfjxnwkr59hdixcly6i3r78yaqgca0dz"; depends=[coin lattice MASS Matrix]; };
-  rankdist = derive2 { name="rankdist"; version="1.1.2"; sha256="1nr9nr5nfziia6jykk598hm5ngkfr6yx5mypq34iyfm24877gd3q"; depends=[hash optimx permute Rcpp]; };
+  rankdist = derive2 { name="rankdist"; version="1.1.3"; sha256="1hdafy2zzn7hwl1lx5jksgi974zjn49dwih5s2zdyv4nnmmai003"; depends=[hash optimx permute Rcpp]; };
   rankhazard = derive2 { name="rankhazard"; version="1.1.0"; sha256="0kljn9b74alrd22b5pwfnamdbaqi2wa2z6yzpmgpfs3x0hv72fw7"; depends=[survival]; };
   rapiclient = derive2 { name="rapiclient"; version="0.1.2"; sha256="072rlr7z9rj4agkzmy12cz4axh4pajavfd83lpcx2b1lgxpj6ck4"; depends=[httr jsonlite]; };
+  rapidjsonr = derive2 { name="rapidjsonr"; version="1.0.0"; sha256="064xqvyv83vl188rk18kgi4iaqq299d2y6fr24dk9lndpc4509kc"; depends=[]; };
   rapidraker = derive2 { name="rapidraker"; version="0.1.0"; sha256="17jzkzm5hvd8vcqql40bwl89sfgz8yicvi0753nzgkmbvanzjhjx"; depends=[openNLPdata rJava slowraker]; };
   rappdirs = derive2 { name="rappdirs"; version="0.3.1"; sha256="0ji6sg3bdn5gazkq14xmmcq7jnbsyxw4lzmmbgv6526j2vn93n1g"; depends=[]; };
   rapport = derive2 { name="rapport"; version="1.0"; sha256="1i1zawar5yxw23km74mrvaxnc9hr06kqjvbm046c09cqi6pw0hjh"; depends=[pander rapportools stringr yaml]; };
   rapportools = derive2 { name="rapportools"; version="1.0"; sha256="1sgv4sc737i12arh5dc3263kjsz3dzg06qihfmrqyax94mv2d01b"; depends=[pander plyr reshape]; };
   raptr = derive2 { name="raptr"; version="0.1.1"; sha256="17k392vid1is0wl5iyr8b41xyw5y0ad7drvlmrcsda7683yal3p3"; depends=[adehabitatHR assertthat BH boot doParallel gdalUtils ggplot2 hypervolume ks Matrix mvtnorm PBSmapping plyr RandomFields raster RColorBrewer Rcpp RcppEigen rgdal rgeos RgoogleMaps scales shape sp]; };
+  rare = derive2 { name="rare"; version="0.1.0"; sha256="05bnh2m1sah6zvzvmm3bq1i2n5kmhhxnlzbrjxzmb9vj6skaglv1"; depends=[glmnet Matrix Rcpp RcppArmadillo]; };
   rareGE = derive2 { name="rareGE"; version="0.1"; sha256="0v3a2wns77q923ilddicqzg0108f8kmfdnsff1n65icin7cfzsny"; depends=[MASS nlme survey]; };
   rareNMtests = derive2 { name="rareNMtests"; version="1.1"; sha256="13r2hipqsf8z9k48ha5bh53n3plw1whb7crpy8zqqkcac8444b2z"; depends=[vegan]; };
-  rarhsmm = derive2 { name="rarhsmm"; version="1.0.5"; sha256="0h5njhvpl2msb2wbb80bmlzzci0ma10rx5y5hxa4vdxgj23g6rpm"; depends=[glmnet Rcpp RcppArmadillo]; };
+  rarhsmm = derive2 { name="rarhsmm"; version="1.0.7"; sha256="0pvqa6f0ib1jb0rwc6wv6hfinncb21v2g0y0hsy5l33gdagjw2sz"; depends=[glmnet Rcpp RcppArmadillo]; };
   rasclass = derive2 { name="rasclass"; version="0.2.2"; sha256="1lsmv8kh519mz3szb4k9s17fz1480cw0i4qk12givhhm2rpzjy50"; depends=[car e1071 nnet randomForest RSNNS]; };
   rase = derive2 { name="rase"; version="0.3-3"; sha256="03jqf5y5vj354m9psp81wzw6d7dfqr76bfjqv9kannsakkj587sy"; depends=[ape mvtnorm polyCub rgl sm spatstat]; };
   raster = derive2 { name="raster"; version="2.6-7"; sha256="009bwil3n9gaf11wzifwxyw9j6pl0pyjk3l5v7csd935si7q14gv"; depends=[Rcpp sp]; };
   rasterImage = derive2 { name="rasterImage"; version="0.3.0"; sha256="0csx7wqwxdsddypd1c9wv74gcyymasn9n6pn05a35j6xhqbk2zp3"; depends=[plotrix]; };
   rasterKernelEstimates = derive2 { name="rasterKernelEstimates"; version="1.0.1"; sha256="1733ic1hxym3gyibk2ysy5zzq7s9rbf6jx63x7irnrcavq151f8s"; depends=[raster]; };
   rasterList = derive2 { name="rasterList"; version="0.5.8"; sha256="0q7apglxzpah04463z07cpkzyd6l6dbbdhm601brzh6yk75z20vh"; depends=[raster]; };
-  rasterVis = derive2 { name="rasterVis"; version="0.43"; sha256="0g6ij4h5di4c0pzv7ghc63jfl3j3rm1g541apbjr6n4k9ci12k4l"; depends=[hexbin lattice latticeExtra raster RColorBrewer sp viridisLite zoo]; };
+  rasterVis = derive2 { name="rasterVis"; version="0.44"; sha256="041a3d6vcvsah6qm4mf2nc70sln9djlv2ymq389icagiwdqjw9xh"; depends=[hexbin lattice latticeExtra raster RColorBrewer sp viridisLite zoo]; };
   ratelimitr = derive2 { name="ratelimitr"; version="0.3.9"; sha256="0w6i9czcbj8ipd9nn4w4h4pqk6xd8anh00cn60hss9hs18fcb21d"; depends=[assertthat]; };
   rateratio_test = derive2 { name="rateratio.test"; version="1.0-2"; sha256="1a2v12z2dr893ha80fhada1820z5ih53w4pnsss9r9xw3hi0m6k5"; depends=[]; };
   raters = derive2 { name="raters"; version="2.0.1"; sha256="16jnx6vv39k4niqkdlj4yhqx8qbrdi99bwzxjahsxr12ab5npbp1"; depends=[]; };
@@ -9873,26 +10138,27 @@ in with self; {
   rattle = derive2 { name="rattle"; version="5.1.0"; sha256="0xxf2wpazsk29y2byyk010n59vmzmhm4phpsqvklmsr1v3m10pvp"; depends=[cairoDevice dplyr ggplot2 magrittr RGtk2 rpart_plot stringi stringr tidyr XML]; };
   rattle_data = derive2 { name="rattle.data"; version="1.0.2"; sha256="0cnmyzvy23jc4vz521c3jg0w4165waycvy5014l5773fy19zq75c"; depends=[]; };
   raw = derive2 { name="raw"; version="0.1.5"; sha256="0w0k35izvsi8vwp38har4ygh1zxnz7hfla8d8fcbvckpfbkwpggp"; depends=[]; };
-  rbacon = derive2 { name="rbacon"; version="2.3.2"; sha256="1bzqrgqw3dbkyz7pl3lk2g83w31i09msqd063b411y9c61cx98ik"; depends=[coda Rcpp]; };
+  rbacon = derive2 { name="rbacon"; version="2.3.4"; sha256="1va1rap2n6mcjfzclqg5h58ggrs2kb4nlaam5ch984w9rzq59g2l"; depends=[coda Rcpp]; };
   rbamtools = derive2 { name="rbamtools"; version="2.16.6"; sha256="1sb18qx68fnj1d598lw8fkqnxp3c5s704g6cnhwy299gppj3xg1d"; depends=[refGenome]; };
-  rbcb = derive2 { name="rbcb"; version="0.1.2"; sha256="01jbjjnkic8jiy0361b1pnin9d5ssxfnf33k8fc95fw8k02j300k"; depends=[httr jsonlite tibble xml2 xts]; };
+  rbcb = derive2 { name="rbcb"; version="0.1.3"; sha256="0bghbxrgy4lpxyazqlm90i42dav1kjca02l2nmw320v01rvw5qvd"; depends=[httr jsonlite tibble xml2 xts]; };
   rbefdata = derive2 { name="rbefdata"; version="0.3.5"; sha256="12mcqz0pqgwfw5fmma0gwddj4zk0hpwmrsb74dvzqvgcvpfjnv98"; depends=[RColorBrewer RCurl rjson rtematres wordcloud XML]; };
   rbenchmark = derive2 { name="rbenchmark"; version="1.0.0"; sha256="010fn3qwnk2k411cbqyvra1d12c3bhhl3spzm8kxffmirj4p2al9"; depends=[]; };
   rbgm = derive2 { name="rbgm"; version="0.0.4"; sha256="0sqi42vz3fdgp7gpa4jjh8dxz3iwwagw9in70jpz6fc18ivizkp1"; depends=[dplyr geosphere raster sp tibble]; };
   rbhl = derive2 { name="rbhl"; version="0.8.0"; sha256="1avx36as99za19acjh7adb72ckdn69rmiwzcrrqxskzny56vxf0d"; depends=[crul jsonlite plyr tibble xml2]; };
-  rbi = derive2 { name="rbi"; version="0.8.0"; sha256="0hizf3mffp72pgzkwsdg2dw0p0dfbnbb80jv3gmayvg7kkq1nabv"; depends=[data_table ncdf4 reshape2]; };
-  rbiouml = derive2 { name="rbiouml"; version="1.7"; sha256="0bk0pvx0rfk74s7lbr8lc664yplfky94j1ym098w029045k233pi"; depends=[RCurl RJSONIO]; };
-  rbison = derive2 { name="rbison"; version="0.5.4"; sha256="0l3653q7bfda9lw1isnx6gdd7l5b8aldqgc2hppg2wh2k004rnf6"; depends=[crul dplyr ggplot2 jsonlite mapproj plyr sp]; };
+  rbi = derive2 { name="rbi"; version="0.9.0"; sha256="0am6r8dy3nfahprkyvap73x3b6vxgc604v7mf9wbb9vwjja00xzp"; depends=[data_table ncdf4 reshape2]; };
+  rbiouml = derive2 { name="rbiouml"; version="1.8"; sha256="0qvc896sf6idczbxix3klf56paxf0wpfbmga8qqlcyjasv1dsdql"; depends=[RCurl RJSONIO]; };
+  rbison = derive2 { name="rbison"; version="0.6.0"; sha256="09mbhk56ns1qldgcj8qard3dsvsfbnlrq4s4drc46lr1s8lqjd1h"; depends=[crul dplyr ggplot2 jsonlite mapproj plyr sp]; };
   rbitcoinchartsapi = derive2 { name="rbitcoinchartsapi"; version="1.0.4"; sha256="0r272jvjh3rzch8dmn4s0a5n5k6dsir7pr4qswzfvafqjdiwjajz"; depends=[RCurl RJSONIO]; };
   rbmn = derive2 { name="rbmn"; version="0.9-2"; sha256="1zy832y399cmfmhpyfh7vfd293fylf1ylmp8w8krkmzkmyfa80f2"; depends=[MASS]; };
   rbokeh = derive2 { name="rbokeh"; version="0.5.0"; sha256="1lpbph6bhh9rf5rs0ivp8dchx8i8ylz5nr7xc2xv9bnwlwj35729"; depends=[digest ggplot2 gistr hexbin htmlwidgets jsonlite lazyeval magrittr maps pryr scales]; };
   rbounds = derive2 { name="rbounds"; version="2.1"; sha256="1h334bc37r1vbwz1b08jazsdrf6qgzpzkil9axnq5q04jf4rixs3"; depends=[Matching]; };
+  rbraries = derive2 { name="rbraries"; version="0.1.0"; sha256="12vdci4rzjvd419nxh99hpkhjlx86nsmrbjca0am5q0rkc68dgmj"; depends=[crul data_table fauxpas jsonlite tibble]; };
   rbtt = derive2 { name="rbtt"; version="0.1.0"; sha256="1gbsb0vmqxcl28c5nn0rz95bxrvl7i0b17lq90cj5ahbk6x9jblz"; depends=[data_table]; };
   rbugs = derive2 { name="rbugs"; version="0.5-9"; sha256="1kvn7x931gjpxymrz0bv50k69s1x1x9mv34vkz54sdkmi08rgb3y"; depends=[]; };
   rbundler = derive2 { name="rbundler"; version="0.3.7"; sha256="0wmahn59h9vqm6bq1gwnf6mvfkyhqh6xvdc5hraszn1419asy26f"; depends=[devtools]; };
   rbvs = derive2 { name="rbvs"; version="1.0.2"; sha256="1wzxz2ca8f1phhbqr9p7c8sk09cyrdq5jc45g4ddrqvi2q29k28y"; depends=[]; };
   rcanvec = derive2 { name="rcanvec"; version="0.2.1"; sha256="0gsk2cfiysxjw2lrnpl2l524lvhh9nhnyyh79n8p7vykyqj711yn"; depends=[rgdal sp]; };
-  rcarbon = derive2 { name="rcarbon"; version="1.0.0"; sha256="0xgf26m8cw3g4nc4s413xgplxv8a6s2m4m7g3zavsjl3517b86bc"; depends=[doParallel foreach sp]; };
+  rcarbon = derive2 { name="rcarbon"; version="1.1.0"; sha256="0y201lrmdisw7rmzaxsyiwdj4kms7q1dvw34ial28989ci1rslrw"; depends=[doParallel foreach sp]; };
   rcartocolor = derive2 { name="rcartocolor"; version="0.0.22"; sha256="1dh1n01v70sfmymg1w0f272j6nwnrzawqx5x4ljgh46pzqprx56r"; depends=[ggplot2 scales]; };
   rcbalance = derive2 { name="rcbalance"; version="1.8.5"; sha256="15qlk3cqwsvixl17l1fxcajrabmz4y7q5gz0a1pd66f6i1xskcqq"; depends=[MASS plyr]; };
   rcbsubset = derive2 { name="rcbsubset"; version="1.1.3"; sha256="16wd0j0z2ll8hqrk27fss4k9fyjw6xwx30xkrphx9jj2ws08wibl"; depends=[MASS plyr]; };
@@ -9905,18 +10171,19 @@ in with self; {
   rchallenge = derive2 { name="rchallenge"; version="1.3.0"; sha256="1qn2pzch5yk771jsjcsmfsi5vddfb2w50vfqlkmsl6nf5z6sdq9k"; depends=[knitr rmarkdown]; };
   rchess = derive2 { name="rchess"; version="0.1"; sha256="0qnvvvwcl02rmqra9m7qnhy40cbavswbq6i0jm47x6njmr1gpfhy"; depends=[assertthat dplyr ggplot2 htmlwidgets plyr R6 V8]; };
   rcicr = derive2 { name="rcicr"; version="0.3.4.1"; sha256="1sa13sbhx64cf8szr2811iq4a1asb8d3k0igxw6fbssij2lwbxzp"; depends=[aspace dplyr jpeg matlab scales]; };
-  rclimateca = derive2 { name="rclimateca"; version="1.0.0"; sha256="1wydh7k7yyi56l3xdprzx4s7425k68a7f53hx9pvr0xmn501l67z"; depends=[digest dplyr hms httr lubridate magrittr mudata2 prettymapr purrr readr reshape2 rlang stringr tibble tidyr]; };
+  rclimateca = derive2 { name="rclimateca"; version="1.0.1"; sha256="1mv4i290x0bwvap5njizal5z0ccbkqjfyk2pmcbx4sml5crhx6yy"; depends=[digest dplyr httr lubridate magrittr mudata2 prettymapr purrr readr reshape2 rlang stringr tibble tidyr]; };
   rclipboard = derive2 { name="rclipboard"; version="0.1"; sha256="0qphr3qrp0k2gnzk27bgfiq3ff6b8564gmkrjw1kri1p7ilf71wx"; depends=[shiny]; };
   rcmdcheck = derive2 { name="rcmdcheck"; version="1.2.1"; sha256="04gh0drvkikn91i5zmpixhrhyjnsyxwz8k8bx4kgwwrmh1dc7f2s"; depends=[callr clisymbols crayon digest withr]; };
-  rcompanion = derive2 { name="rcompanion"; version="1.11.3"; sha256="1wzqqss86z2qggyjwpc41wblw9kkca20mbh6q4dwl4yc7gb4ggaf"; depends=[boot BSDA coin DescTools EMT hermite lattice lmtest multcompView nortest ordinal plyr RVAideMemoire WRS2]; };
+  rcompanion = derive2 { name="rcompanion"; version="1.13.0"; sha256="1smkwp7xjkwiix1m7cx13hwnmka8nqv6m3s5wlzd02l9grc5ldrp"; depends=[boot BSDA coin DescTools EMT hermite lattice lmtest multcompView nortest ordinal plyr RVAideMemoire WRS2]; };
   rcongresso = derive2 { name="rcongresso"; version="0.3.2"; sha256="15b7m1z5lr66kwhl8v8k2car4id9ssd0ypz75z259v8c1w0k7xkl"; depends=[dplyr httr jsonlite magrittr tibble tidyr]; };
   rcoreoa = derive2 { name="rcoreoa"; version="0.1.0"; sha256="13nfziqxxljnczn3idq3zlc9xkklalfnxbakvhs5bw19jmbd11ba"; depends=[crul jsonlite pdftools]; };
   rcorpora = derive2 { name="rcorpora"; version="1.2.0"; sha256="0nxd2arzz2617xxcngvcrrrsky9f1b9zdmpv81zr89y08b3xh9f1"; depends=[jsonlite]; };
-  rcqp = derive2 { name="rcqp"; version="0.4"; sha256="1jpzp3cs17bwfabzg7jffa3hni867mjw8yxi0igxicrbz56j33jb"; depends=[plyr]; };
+  rcqp = derive2 { name="rcqp"; version="0.5"; sha256="0iww9pbfxlvr68csig9nfi48nrqn2j6viqwwwggk789bk6ffz00a"; depends=[plyr]; };
   rcreds = derive2 { name="rcreds"; version="0.6.6"; sha256="1sdrdgn53kgcdnxfjs8jh0h538vb3b9ixz74lbnp54yp09jpqsri"; depends=[collectArgs digest jsonlite magrittr]; };
   rcrossref = derive2 { name="rcrossref"; version="0.8.0"; sha256="01k3jpd6awan8r4kc5wjw0did30i2bafzjr8mwaaqv87gni2yiyf"; depends=[bibtex crul dplyr jsonlite miniUI plyr R6 shiny stringr xml2]; };
   rcrypt = derive2 { name="rcrypt"; version="0.1.1"; sha256="002r5wr0bmqbj014iz8wacj883j6gqcxc786m6p9a7zdrjpx2pqi"; depends=[]; };
   rcss = derive2 { name="rcss"; version="1.2"; sha256="08hiprjcjvc138laqrvlvrmn664b63x829ammzgrwjqcsj4kpmds"; depends=[Rcpp RcppArmadillo rflann]; };
+  rcube = derive2 { name="rcube"; version="0.1"; sha256="15dyxwsj7f2annf3a2wi158m9s38jfl31lhwfi9shlzi5xadcwjk"; depends=[]; };
   rcure = derive2 { name="rcure"; version="0.1.0"; sha256="1pcdc168bwn0b90xy8sdwrm2yvhj26xj11wm8z84m48sxy56j4v8"; depends=[arm MASS plyr smcure survival]; };
   rcv = derive2 { name="rcv"; version="0.2.1"; sha256="0i5z3a918ykl56dv3dvzwwcv550gvjjdg5kfh63jlpaxn9ybmv3f"; depends=[dplyr readr stringr tibble tidyr]; };
   rda = derive2 { name="rda"; version="1.0.2-2"; sha256="1g2q7c0y138i9r7jgjrlpqznvwpqsj6f7vljqqfzh2l6kcj43vjj"; depends=[]; };
@@ -9929,22 +10196,25 @@ in with self; {
   rddtools = derive2 { name="rddtools"; version="0.4.0"; sha256="1z9sl9fwsq8zs1ygmnjnh3p6h9hjkikbm4z7cdkxw66y0hxgn96s"; depends=[AER Formula ggplot2 KernSmooth lmtest locpol np rdd sandwich]; };
   rdefra = derive2 { name="rdefra"; version="0.3.4"; sha256="05fskap0vvrq08m4gql9gczy04lc3dgxgjcsb57dgp3nng358sf6"; depends=[dplyr httr lubridate rgdal sp tibble xml2]; };
   rdetools = derive2 { name="rdetools"; version="1.0"; sha256="0pkl990viv7ifr7ihgdcsww93sk2wlzp2cg931wywagfp8dijd02"; depends=[]; };
+  rdflib = derive2 { name="rdflib"; version="0.1.0"; sha256="1xq378nfvbk8b2nbnr6yswqr351pgli7jcmhcr1ipynkl93rl5qm"; depends=[jsonld readr redland stringi]; };
+  rdfp = derive2 { name="rdfp"; version="0.1.2"; sha256="1kznr5p5mhplgpgmc0f4vrs1fwpivwjy52hwfc8k0q0vx53h3fs2"; depends=[curl dplyr httr lubridate plyr purrr readr XML xml2]; };
   rdian = derive2 { name="rdian"; version="0.1.1"; sha256="0i4ljcqhmrwrqbhi321iffypxj4kndx47ssljnixr3fx2lmqh0q1"; depends=[curl httr]; };
   rdist = derive2 { name="rdist"; version="0.0.2"; sha256="0rwv8brambwki3jzpq250lk0k7nmvlzm80szy4nkhdl2zxwriv0a"; depends=[Rcpp RcppArmadillo]; };
   rdiversity = derive2 { name="rdiversity"; version="1.0"; sha256="0x6s9028v4xcc54yy4977yqw5mrsbqlrm5b9drj05c64mavhm4sq"; depends=[ape ggplot2 ggthemes phangorn phytools plyr reshape2 tibble tidyr]; };
-  rdlocrand = derive2 { name="rdlocrand"; version="0.2"; sha256="1jad0b9qqlc88knd92yvjqklilbybp9zpkdq7jx1251m6hivs9sw"; depends=[AER sandwich]; };
+  rdlocrand = derive2 { name="rdlocrand"; version="0.3"; sha256="1cv69iy5sx9kdplpk9hnriqzgrm5mjbmhax4cybszhsyaly6r78d"; depends=[AER sandwich]; };
   rdnb = derive2 { name="rdnb"; version="0.1-1"; sha256="1mg40jad79mk95ndnljvfvyh9rhbxkw7inpg2vbsixf1ywdljri3"; depends=[brew httr xml2]; };
   rdomains = derive2 { name="rdomains"; version="0.1.7"; sha256="1w6jvwzd9lwha4qkf8rhd1g3cpr79fsl4rrmh5chdnbahqg60gh9"; depends=[aws_alexa curl glmnet httr Matrix rlang RSelenium urltools virustotal XML xml2]; };
   rdoxygen = derive2 { name="rdoxygen"; version="1.0.0"; sha256="16907969w66xvy62k45rw10qfv4x8z6jkkc6i97vppkgnlvf4d4b"; depends=[devtools]; };
   rdpla = derive2 { name="rdpla"; version="0.2.0"; sha256="0d32bp68z1agymcmjwnds4fkblhjrcx8i2q6f5b7sl4kdfdbjchf"; depends=[crul data_table hoardr jsonlite tibble]; };
-  rdrobust = derive2 { name="rdrobust"; version="0.99"; sha256="1c9issw0mssswln2mdirwjlaps4ps8q9z1wr4ailr4c2z9klla9p"; depends=[]; };
+  rdpower = derive2 { name="rdpower"; version="0.1"; sha256="1pi0g980zgy0h3kyiksnbpi59fksm17g9lxinqjf7xiam7pgw99n"; depends=[rdrobust]; };
+  rdrobust = derive2 { name="rdrobust"; version="0.99.1"; sha256="18hq4nmyf8327qdbh7m8y0av6f21pcxaxfqs0qrc07yf6sdcj6ri"; depends=[]; };
   rdrop2 = derive2 { name="rdrop2"; version="0.8.1"; sha256="1f4ysck58dm40k4wn9nfjaxym0mbgfkm146iidfkz7agmd1x0xyl"; depends=[assertive digest dplyr httr jsonlite magrittr purrr]; };
   rdryad = derive2 { name="rdryad"; version="0.3.0"; sha256="18vjq5amaian174ywymsx1px7ckirk36386h66lsq0h87qwnrwj7"; depends=[crul curl oai solrium xml2]; };
-  rdwd = derive2 { name="rdwd"; version="0.9.0"; sha256="1zqmfrxjrkp0f8d943wlzvr7g0rrnbp3x9klx3syrbkn7jqxz49i"; depends=[berryFunctions pbapply]; };
+  rdwd = derive2 { name="rdwd"; version="0.10.1"; sha256="0w1wd1qxisdqd04ybcacbjjsjsvhjd152jcfjljzv2d20ha82kcn"; depends=[berryFunctions pbapply]; };
   re2r = derive2 { name="re2r"; version="0.2.0"; sha256="0xv355h4bps4a0picxmi6i15niq4knlail80fp9xvszyn72pm8gq"; depends=[htmlwidgets Rcpp RcppParallel stringi]; };
   reGenotyper = derive2 { name="reGenotyper"; version="1.2.0"; sha256="13g4fhj25kdk6wbl1hcabcaxcpv0dj0hj2l502wl1aywk1fvmy8m"; depends=[gplots MatrixEQTL zoo]; };
-  reReg = derive2 { name="reReg"; version="1.1-1"; sha256="1pjzh9r7488d39a5s0hkymzxh79zc1kp2ag2cp037v3j65mifbin"; depends=[aftgee BB ggplot2 MASS nleqslv plyr SQUAREM survival]; };
-  reactR = derive2 { name="reactR"; version="0.1.4"; sha256="12ixd0i9yamvgn5y11vyq627nmr83s3q5xaa9l7sj3mns8x657ap"; depends=[htmltools]; };
+  reReg = derive2 { name="reReg"; version="1.1-2"; sha256="13xnxpsa5pk39sp6pq9qvj4m0pjhvidfbjsx1s9qdczrvm6zsl3c"; depends=[aftgee BB ggplot2 MASS nleqslv plyr SQUAREM survival]; };
+  reactR = derive2 { name="reactR"; version="0.2.0"; sha256="17jdcby95fxfa3imalllnqsp16py5vqqj4y0za4wli91vd37555q"; depends=[htmltools]; };
   read_dbc = derive2 { name="read.dbc"; version="1.0.5"; sha256="1vrvxkcrk3iw5am9rsadxzf0wsr7z2mdpa5wb0v9jbhda710b4yf"; depends=[foreign]; };
   readBrukerFlexData = derive2 { name="readBrukerFlexData"; version="1.8.5"; sha256="1qmimfxwh6d7s5qrnnk20i2f9l5j1ci3wpfs3qlmggz69jzf589m"; depends=[]; };
   readHAC = derive2 { name="readHAC"; version="1.0"; sha256="0z80ai6xfswwgdfh83l9sq279c97n0wz25bk2l7xfb6w0sndzq53"; depends=[]; };
@@ -9957,15 +10227,17 @@ in with self; {
   readbitmap = derive2 { name="readbitmap"; version="0.1-4"; sha256="08fqqsdb2wsx415mnac9mzl5sr5and0zx72ablnlidqfxv8xsi9d"; depends=[bmp jpeg png]; };
   readbulk = derive2 { name="readbulk"; version="1.1.0"; sha256="0m02isvja0ihvy1fscjdl5f9gfdlmfmabgvpirgd2m9j3lz6mi8s"; depends=[plyr]; };
   reader = derive2 { name="reader"; version="1.0.6"; sha256="1x489q3ljap4zpny68mx83mgxaqiwlkglcy57whwhnh33dd7qp4h"; depends=[NCmisc]; };
+  readit = derive2 { name="readit"; version="1.0.0"; sha256="1sq2spjgdc9rq8cr5i9qjmqd4vcf7cknpx5dndwjdqrv112y8bk9"; depends=[crayon haven jsonlite readr readxl]; };
   readobj = derive2 { name="readobj"; version="0.3"; sha256="0hwxfk27azay8hjz702b10cg395is06wnypqdw4788gm25d0i041"; depends=[Rcpp]; };
   readr = derive2 { name="readr"; version="1.1.1"; sha256="1cvw5wdcqk88cp5fyv678mnmp66l3whcd2yh33p2qvx0168bja8s"; depends=[BH hms R6 Rcpp tibble]; };
+  readroper = derive2 { name="readroper"; version="0.9.0"; sha256="1ikw114gc71lg3snawz7bfpd2mk2m1181183sz0lsc5sgl67bb17"; depends=[readr]; };
   readstata13 = derive2 { name="readstata13"; version="0.9.0"; sha256="06qx40v4n217wi379d08w7kc9wlbxlyz9jqcsc85099vgab7l993"; depends=[Rcpp]; };
   readtext = derive2 { name="readtext"; version="0.50"; sha256="1il7zfm092vvns8manz8lkj34q1w4gw931agkpk83cvf1618l5nl"; depends=[antiword data_table httr jsonlite pdftools readODS readxl streamR stringi tibble XML]; };
   readxl = derive2 { name="readxl"; version="1.0.0"; sha256="1bf7gxw9r11m4llyymplxiaa4gzgyj4bwmwad5in756pzq3jzmpv"; depends=[cellranger Rcpp tibble]; };
   realestateDK = derive2 { name="realestateDK"; version="0.1.0"; sha256="02y3c2zww9jakh9a0jqxkgcwshjz1hd5mw63603hyic7q4a07iv3"; depends=[statsDK]; };
   reams = derive2 { name="reams"; version="0.1"; sha256="07hqi0y59kv5lg0nl75xy8n48zw03y5m71zx58aiig94bf3yl95c"; depends=[leaps mgcv]; };
   rebird = derive2 { name="rebird"; version="0.4.0"; sha256="1awwjr0gsd7hksh84fz5p17qwd857zn03fc2q0kzncy6q6iiw481"; depends=[dplyr httr jsonlite]; };
-  rebmix = derive2 { name="rebmix"; version="2.9.3"; sha256="1dw1az7wzkhxcc8ixcmdxrlc4hzi2c4093brvj1m4z44mrw28vws"; depends=[mvtnorm]; };
+  rebmix = derive2 { name="rebmix"; version="2.10.1"; sha256="1ccdcmbcnlm0i3r6h09v85wdq4c8gz9dvvbfd2a5zx3ikwfm4wri"; depends=[mvtnorm]; };
   rebus = derive2 { name="rebus"; version="0.1-3"; sha256="0ms3dm6g0fq3jycpgjl7q7kyljxc97cczy2jj0lyviwmipdgjg9d"; depends=[rebus_base rebus_datetimes rebus_numbers rebus_unicode]; };
   rebus_base = derive2 { name="rebus.base"; version="0.0-3"; sha256="1n2khszcya9k6379bdkq47xi2nw9jngiwj7z8a14wfswqydczv6y"; depends=[]; };
   rebus_datetimes = derive2 { name="rebus.datetimes"; version="0.0-1"; sha256="09lv41mywm13avxb0xp8x1a2xz50zxazh3lpg27m16d4cgijmhm5"; depends=[rebus_base]; };
@@ -9975,7 +10247,7 @@ in with self; {
   rechonest = derive2 { name="rechonest"; version="1.2"; sha256="0vpff8q5p6in7vjyl62bx3wmksravcg4mpx20qlgy5ia47vyhqp2"; depends=[httr jsonlite RCurl]; };
   recipes = derive2 { name="recipes"; version="0.1.2"; sha256="1car3a3mqn87pz049cbgkaayz86970mvkapk6al2k7jjw76306l9"; depends=[broom ddalpha dimRed dplyr gower ipred lubridate magrittr Matrix purrr RcppRoll rlang tibble tidyselect timeDate]; };
   recluster = derive2 { name="recluster"; version="2.8"; sha256="05g8k10813zbkgja6gvgscdsjd99q124jx31whncc4awdsgk69s4"; depends=[ape cluster phangorn phytools picante vegan]; };
-  recmap = derive2 { name="recmap"; version="0.5.24"; sha256="0ijs331f9x6r2qamx5b47x4wblz2pg7k5b7593hdwhiiwzh5c0ly"; depends=[GA Rcpp sp]; };
+  recmap = derive2 { name="recmap"; version="0.5.31"; sha256="1kgmqmpphz4p2zidl0l24nia49g8211dyk66wl09azay4vxm46nj"; depends=[GA Rcpp sp]; };
   recoder = derive2 { name="recoder"; version="0.1"; sha256="0wh0lqp7hfd4lx2xnmszv1m932ax87k810aqxdb6liwbmvwqnfgd"; depends=[stringr]; };
   recombinator = derive2 { name="recombinator"; version="1.0.0"; sha256="0amcpicsk270l9h7qgv764wp09phsffdpi4adcxrsrwiwm274ibw"; depends=[crayon]; };
   recommenderlab = derive2 { name="recommenderlab"; version="0.2-2"; sha256="13mgkxrcwh5ry699my3w6xgm6rabsk9fd5qqsdwzy7cfq6xkq7cg"; depends=[arules irlba Matrix proxy registry]; };
@@ -9984,7 +10256,7 @@ in with self; {
   reconstructr = derive2 { name="reconstructr"; version="2.0.0"; sha256="1pa6b8zns9495f1bdifvx19hsy5808hqbxb2bn1srwnr4s3ma1zi"; depends=[openssl Rcpp]; };
   recosystem = derive2 { name="recosystem"; version="0.4.2"; sha256="1bn6l23gqmfpr6w60ph7zgv53vy3vnq9zdy5x0a8n1yp6b0lw48x"; depends=[Rcpp RcppProgress]; };
   recurse = derive2 { name="recurse"; version="1.1.0"; sha256="1zgzzhbvdzqgmgzj43yvpyc7ahbkn96l5wyr1iqpnn3ha78fy0p3"; depends=[Rcpp]; };
-  red = derive2 { name="red"; version="1.3.1"; sha256="1m8jk3k0g17dlqbws74wi1lsa11v26si2857sxgzv659f46ybmq3"; depends=[BAT dismo geosphere jsonlite maptools raster rgdal rgeos sp]; };
+  red = derive2 { name="red"; version="1.3.3"; sha256="0f4lriwlsq65z0sqjv4csrkbcjjvpybqf68rgx92ypkdjf57ixrs"; depends=[BAT dismo geosphere jsonlite maptools raster rgdal rgeos sp]; };
   redR = derive2 { name="redR"; version="1.0.0"; sha256="01safawd9ai34fqxjpc161yzpsk31hfyl8ybcfvdj7a9vdbvcb5i"; depends=[imager]; };
   reda = derive2 { name="reda"; version="0.4.1"; sha256="0aq6c2h694kdmjis12g4nxq5hdlzsi42nbnpzq7wic305l5r7nxl"; depends=[ggplot2 Rcpp RcppArmadillo splines2]; };
   redcapAPI = derive2 { name="redcapAPI"; version="2.0"; sha256="1n4kwmd0kgmnx2zcgvrz2dlkxmv6wflyj4pll00qvpb1njgnq1xv"; depends=[checkmate chron DBI httr labelVector lubridate stringr tidyr]; };
@@ -10016,7 +10288,7 @@ in with self; {
   regpro = derive2 { name="regpro"; version="0.1.1"; sha256="02axbq63hsqwg3q2ixr0lpsdai9q6wj57s5k1343q9m0pw90vr73"; depends=[denpro]; };
   regress = derive2 { name="regress"; version="1.3-15"; sha256="1cgr0r49cmr8nzs2lr2cm8lli1i8azyas0lbnf1681kyab15c0r7"; depends=[]; };
   regsel = derive2 { name="regsel"; version="0.2"; sha256="0wwwpawqsqimaldy0zxnqsy23nwp30ypa5dnrnndwhbs4qz99c9w"; depends=[elasticnet glmnet]; };
-  regsem = derive2 { name="regsem"; version="1.0.6"; sha256="1r5arckzx5a307vn8l4z8npzymw8cyzpj40dpnm5pmcc5ihidl4a"; depends=[lavaan Rcpp RcppArmadillo]; };
+  regsem = derive2 { name="regsem"; version="1.1.2"; sha256="0d843h1kv78hsn48ibci6w7y69yqd3q32bidgsqs5dxk980kxcsk"; depends=[lavaan Rcpp RcppArmadillo]; };
   regspec = derive2 { name="regspec"; version="2.4"; sha256="18i6k2wqaddrc0dz7v8x3s9205dcfwanqhpnxa9hkpyqzbb17pd3"; depends=[]; };
   regsubseq = derive2 { name="regsubseq"; version="0.12"; sha256="0879r4r8kpr8jd6a3fa9cifm7cv0sqzz8z1alkm1b2fr1625md3g"; depends=[]; };
   regtest = derive2 { name="regtest"; version="0.05"; sha256="1wrrpp2hvkas0yc512gya3pvd0v97pn4v51k5jxkwyd1pp68zd1q"; depends=[]; };
@@ -10025,12 +10297,13 @@ in with self; {
   rehh_data = derive2 { name="rehh.data"; version="1.0.0"; sha256="1jkvwmnnmfa7iyvrabgcfzw3vfzx0dlgq47s6yf4zayi437v4di0"; depends=[]; };
   reinforcelearn = derive2 { name="reinforcelearn"; version="0.1.0"; sha256="025v8flr8q2p473kz760vywczhvx8b4lakm6rasr9ijgxpbd2jpn"; depends=[checkmate nnet purrr R6]; };
   reinstallr = derive2 { name="reinstallr"; version="0.1.4"; sha256="1fcmy2cyqy4zwh815j2jbmziaiq6kypwsnj5bx0f10dlq3522m5q"; depends=[]; };
+  reinsureR = derive2 { name="reinsureR"; version="0.1.0"; sha256="19ayikzcq6z4i7xrlby76yy2nwvrsv6xdfrmvzyr7rz934flh8kd"; depends=[data_table dplyr ggplot2 viridis viridisLite]; };
   rel = derive2 { name="rel"; version="1.3.1"; sha256="1a3gffa9jgfm92q0ba9slwdp8r1n5kycywxp0jbjkpvkdpmacnd4"; depends=[]; };
   relMix = derive2 { name="relMix"; version="1.2.3"; sha256="07fcbvhxdfa94ixxvnrkhlm0xxz7wa1lv7xdjp97ajxxp9fy69yl"; depends=[Familias gWidgets paramlink tkrplot]; };
   relSim = derive2 { name="relSim"; version="0.2-9"; sha256="0qy1fy7xclzaqwhxpclllpypac41s406jc413cgd4jss5c87k4c4"; depends=[multicool Rcpp xtable]; };
   rela = derive2 { name="rela"; version="4.1"; sha256="00ksm7zh1mpd2d5c5d823id3sxj0h3x0ccg6a40fadibvr1ay3ny"; depends=[]; };
   relabeLoadings = derive2 { name="relabeLoadings"; version="1.0"; sha256="16gxdrhkaaa33hypnsacn4vd1g3lbqdl3j8p8va54v777c561g81"; depends=[]; };
-  relaimpo = derive2 { name="relaimpo"; version="2.2-2"; sha256="1rxjg2yw2gyshaij98w83cshxwscnq3ql7bg13n7v4nbjsi1l6zh"; depends=[boot corpcor MASS mitools survey]; };
+  relaimpo = derive2 { name="relaimpo"; version="2.2-3"; sha256="0pbffalyhmfigyynkl6il60dyyf2aw1i71sncwrqcp18qgx4bxq9"; depends=[boot corpcor MASS mitools survey]; };
   relatable = derive2 { name="relatable"; version="1.0.0"; sha256="0147gin6dn76gg7gassar64f0w2gny1sh0k60v7914qhb4sj4s7i"; depends=[compare]; };
   relations = derive2 { name="relations"; version="0.6-7"; sha256="1c16sb4v5n44nichwizilqs491rddn8kpf8qrqw54khj5zzg6w52"; depends=[cluster sets slam]; };
   relax = derive2 { name="relax"; version="1.3.15"; sha256="0cgvxw3pmy9kx8p81bb5n5nnbn6l9hm07k6hdy7p2j2gl15xxnpq"; depends=[]; };
@@ -10041,7 +10314,7 @@ in with self; {
   relevent = derive2 { name="relevent"; version="1.0-4"; sha256="10bf1s7jmas8ck1izqibqcaqg4z55ciwdpd9pm2697y8z0jhr2rj"; depends=[coda sna trust]; };
   reliaR = derive2 { name="reliaR"; version="0.01"; sha256="000nafjp386nzd0n57hshmjzippiha6s6c4nfrcwl059dzmi088i"; depends=[]; };
   relimp = derive2 { name="relimp"; version="1.0-5"; sha256="0ydn82g8xdqzhf34187080bbpcpw1zdjbj2i3dv1d6d35vvprb5c"; depends=[]; };
-  relsurv = derive2 { name="relsurv"; version="2.1-1"; sha256="0jdxjnrxygn3ppzsndyzcch19c726s15lrd0kc1vxbjp3b4r0lhl"; depends=[date survival]; };
+  relsurv = derive2 { name="relsurv"; version="2.1-2"; sha256="0hcvp1n8cvcnpqhwi1gcj3krzsarsk73ivwi75bvsvr3dpgxnwrm"; depends=[date survival]; };
   rem = derive2 { name="rem"; version="1.2.8"; sha256="1w0lkxjhyssl9343z6lw7dn0cazz9firglvcf74nls4ngkgv0bbd"; depends=[doParallel foreach Rcpp]; };
   remMap = derive2 { name="remMap"; version="0.2-0"; sha256="1k2niiaq2lr4inrx443clff9cqqvyiiwd45k7yqjd8ixnbaa3mrk"; depends=[]; };
   rematch = derive2 { name="rematch"; version="1.0.1"; sha256="0y3mshvpvz9csmq8hk8jbabx4nxlv5sckvfzvm6920ndg34xw2d4"; depends=[]; };
@@ -10050,13 +10323,13 @@ in with self; {
   remote = derive2 { name="remote"; version="1.2.1"; sha256="1ihzjxbvas7396cwsi9am4pl94naxa9dnhbnh8k0l5p4a50mk33w"; depends=[gridExtra latticeExtra mapdata raster Rcpp scales]; };
   remoter = derive2 { name="remoter"; version="0.4-0"; sha256="1a7m63l8phv5jnazvdqdrqkaqjwqzaac5y4jm2jn0ypy4n8jvkfl"; depends=[argon2 getPass pbdZMQ png]; };
   remotes = derive2 { name="remotes"; version="1.1.1"; sha256="07sxlwd09jzlfn7xakw9hwkr9k970lw2mnl0l3rpb5w71968km98"; depends=[]; };
-  rentrez = derive2 { name="rentrez"; version="1.2.0"; sha256="0kqfwz3mx9j9g966nmndlckk30dir1w4kkqblc3qa4f6mzifbrzv"; depends=[httr jsonlite XML]; };
+  rentrez = derive2 { name="rentrez"; version="1.2.1"; sha256="115ffrmsg755ynfwywql7xkcnlvv8ch4nlr1ab11i5923fz6vkvl"; depends=[httr jsonlite XML]; };
   repeated = derive2 { name="repeated"; version="1.1.0"; sha256="0cdyzhhv89186q5nwablcjbqvm7ncq2w5d09iidbajrac9wd1y60"; depends=[rmutil]; };
   repfdr = derive2 { name="repfdr"; version="1.2.3"; sha256="0jpk44arg1jib0h2w90h851bs5cd1ss32fab9bfvf9iir2jk8985"; depends=[Rcpp]; };
   repijson = derive2 { name="repijson"; version="0.1.0"; sha256="16iypvsmh5r9pk2k6npp17ya5dgkxihsj29pppd3zvdpm3vvd8k1"; depends=[geojsonio ggplot2 jsonlite OutbreakTools plyr sp]; };
   replicatedpp2w = derive2 { name="replicatedpp2w"; version="0.1-2"; sha256="0nskwkqm9z2aphpim6pvykhc3fphlsbap3r49nghkwjpngd0qzj8"; depends=[spatstat spatstat_utils]; };
   replicationInterval = derive2 { name="replicationInterval"; version="2.0.1"; sha256="1jyvyqr8r2fs1cmbz7zjcc8p116bnkslvx27pqi92y5pxgqvsqvr"; depends=[ggplot2 MASS MBESS pbapply]; };
-  replyr = derive2 { name="replyr"; version="0.9.1"; sha256="0vxxmnin8a9mrak33cm01wndbc333dyjh83iyn633yc6ll092klr"; depends=[cdata DBI dbplyr dplyr RSQLite seplyr wrapr]; };
+  replyr = derive2 { name="replyr"; version="0.9.4"; sha256="1f8y2ywv7wf15g76949934r2qq2bp75ayfvrcb654q9pf2h5w39v"; depends=[DBI dplyr wrapr]; };
   repmis = derive2 { name="repmis"; version="0.5"; sha256="0z5mjbsl24yjbl0aawr35grcal44rf2xbwv1hy7bdkms94ix79b5"; depends=[data_table digest httr plyr R_cache]; };
   repo = derive2 { name="repo"; version="2.1.2"; sha256="14a7lw1rvn7n7caz3p3y69n9wqw48qsxsjs5kwvpbwsmap7bjj7l"; depends=[digest]; };
   repolr = derive2 { name="repolr"; version="3.4"; sha256="13kmy09c7lk8p1mkdss0krcsfb6d7zcnqpwnl38zkanvh8q3fqhm"; depends=[Matrix Rcpp RcppArmadillo]; };
@@ -10066,7 +10339,7 @@ in with self; {
   reportr = derive2 { name="reportr"; version="1.2.2"; sha256="1fl4hy4ck4aapy152vn9gjd7w5vgvh2gz2ky6p0wwahah7m9b255"; depends=[ore]; };
   reports = derive2 { name="reports"; version="0.1.4"; sha256="0r74fjmdqax2x5fhbkdxb8gsvzi6v794fh81x4la9davz6w1fnxh"; depends=[]; };
   reporttools = derive2 { name="reporttools"; version="1.1.2"; sha256="1i87xmp7zchcb8w8g7nypid06l2439qyrvpwsjz6qny954w6fa2b"; depends=[xtable]; };
-  repr = derive2 { name="repr"; version="0.12.0"; sha256="1p6a2ryb5iaf4i6nn1iav26bh83wmvncwpk25hyrzd5rxich1bq3"; depends=[]; };
+  repr = derive2 { name="repr"; version="0.13"; sha256="0k5796r5z9yr8s1hlx30x4cy1ix4fc85m0lwqf9zdapcvw0iqgld"; depends=[base64enc htmltools]; };
   represent = derive2 { name="represent"; version="1.0"; sha256="0jvb40i6r1bh9ysfqwsj7s1g933d7z5fq9d618yjrqr6hbbqsvac"; depends=[]; };
   represtools = derive2 { name="represtools"; version="0.1.2"; sha256="1zkabch49q23kd1786km5cb9wcaccbxds11v9hwjzsgrs15g5w35"; depends=[whisker]; };
   reprex = derive2 { name="reprex"; version="0.1.2"; sha256="105d9vsmqfilgpw8psfb2wyiz1hvcycvh4cqhb3ab37lm3rcavvs"; depends=[callr knitr rmarkdown whisker]; };
@@ -10093,7 +10366,7 @@ in with self; {
   restriktor = derive2 { name="restriktor"; version="0.1-80.711"; sha256="10kbfr7gzah119xm4cnx7br9i9fcga38kymjajw7m2571f4jsji9"; depends=[boot ic_infer lavaan MASS mvtnorm quadprog]; };
   resumer = derive2 { name="resumer"; version="0.0.3"; sha256="0ilya3v75989zqm16x69w4599ax2s5j2n6f16bmhwydrmzxs1g48"; depends=[dplyr rmarkdown useful]; };
   rethinker = derive2 { name="rethinker"; version="1.1.0"; sha256="02zfx08s5xisv1v4y16iqbddi9kb3fcr249b3414fzvs4nm5as94"; depends=[rjson]; };
-  reticulate = derive2 { name="reticulate"; version="1.5"; sha256="0bbsd87ajw9s37g0m8gpv0rws4jfiic9q31fn5a3lb06r2i4wl53"; depends=[jsonlite Rcpp]; };
+  reticulate = derive2 { name="reticulate"; version="1.6"; sha256="036jiwxfvxkkijpilpbzlndm4bg4nd8gx8gxx4dl4zj263gd398m"; depends=[jsonlite Rcpp]; };
   retimes = derive2 { name="retimes"; version="0.1-2"; sha256="019sllyfahlqnqry2gqw4w5cy4cavrqnwpwrbb25cgjpdb19raja"; depends=[]; };
   retistruct = derive2 { name="retistruct"; version="0.5.12"; sha256="11m4i29i3zqh9chyjgdhzqj4yqlslfm8y4q0x14xxc2r9lqbkj9l"; depends=[foreign geometry png R_matlab rgl RImageJROI RTriangle sp ttutils]; };
   reutils = derive2 { name="reutils"; version="0.2.3"; sha256="09dhf4s7wz3anrkzqi16abx64gk8ck2142kfd8pv71mjy3x548l7"; depends=[assertthat jsonlite RCurl tibble XML]; };
@@ -10103,39 +10376,40 @@ in with self; {
   revealjs = derive2 { name="revealjs"; version="0.9"; sha256="0h4csxrcl1rzmj3g01nf0mr990zc8swrf4jvmxwqsyzx9v2cqbnc"; depends=[rmarkdown]; };
   revengc = derive2 { name="revengc"; version="1.0.0"; sha256="0ccbw61xqjf9y15ghhzx57q3l48xpw9pq2nb11nrqapp5w3f9vzy"; depends=[stringr]; };
   revgeo = derive2 { name="revgeo"; version="0.15"; sha256="1ns7d1817475lriss6wwgvdm6lj760p40yxqaifla13c2xb73a55"; depends=[RCurl RJSONIO]; };
-  revtools = derive2 { name="revtools"; version="0.2.1"; sha256="0awyyc9f1yvf9yz5slffgm1r2jrnx14ldcqxa32lhj3ig95dm6p9"; depends=[ade4 modeltools plotly shiny shinycssloaders shinydashboard SnowballC stringdist tm topicmodels viridisLite]; };
+  revtools = derive2 { name="revtools"; version="0.2.2"; sha256="0sn7k5vcp09vp6j1bf879jrig382ayhfnwp569z9dxgdh7s18v6n"; depends=[ade4 modeltools plotly shiny shinydashboard SnowballC stringdist tm topicmodels viridisLite]; };
   reweight = derive2 { name="reweight"; version="1.2.1"; sha256="0fv7q1zb3f4vplg3b5ykb1ydwbzmiajgd1ihrxl732ll8rkkfa4v"; depends=[]; };
   rex = derive2 { name="rex"; version="1.1.2"; sha256="0alsadgjgass3wr8y5d247j12qqzg454sc84vpskclrkmz778g5x"; depends=[lazyeval magrittr]; };
   rexpokit = derive2 { name="rexpokit"; version="0.26.2"; sha256="0jydx3rlsbdn74gx2is1x6gsb4b64wqbc5jw2sb4xflvvhxfci67"; depends=[Rcpp]; };
   rfPermute = derive2 { name="rfPermute"; version="2.1.5"; sha256="0c7yi395j640mvnr1qlm9hy1w6vva33fa2lqb3amzkafy4j1cs63"; depends=[abind ggplot2 gridExtra randomForest reshape2 swfscMisc]; };
-  rfUtilities = derive2 { name="rfUtilities"; version="2.1-2"; sha256="06vad0m83586dnh7c6qjpi1rsifd67zb2zzdjxcj0bdpvwbaqapd"; depends=[randomForest]; };
+  rfUtilities = derive2 { name="rfUtilities"; version="2.1-3"; sha256="0vnhvdkqqqn894abznw97j07gwdvvmvk8vsf4aaxx9yzk44cnk5g"; depends=[cluster randomForest]; };
   rfigshare = derive2 { name="rfigshare"; version="0.3.7"; sha256="1qgzn0mpjy4czy0pnbi395fxxx84arkg8r7rk8aidmd34584gjiq"; depends=[ggplot2 httpuv httr plyr RJSONIO XML yaml]; };
   rfishbase = derive2 { name="rfishbase"; version="2.1.2"; sha256="1w8jk6qfhyzzmxf8qnqqwckm4syrqimi8k6dqmwflgxz6bsxcz0v"; depends=[dplyr httr lazyeval tidyr]; };
   rfisheries = derive2 { name="rfisheries"; version="0.2"; sha256="16j3hn1py8khqadmh81qsg76c62wzqkaq3fn39z0z5mgynmcm62j"; depends=[assertthat data_table ggplot2 httr rjson]; };
   rflann = derive2 { name="rflann"; version="1.3"; sha256="1y8m52vlrcl69srssd23zgg90yfhh9rryd16hk1dnqg713qhksgm"; depends=[Rcpp RcppArmadillo]; };
+  rfm = derive2 { name="rfm"; version="0.1.0"; sha256="0bd71qk6vrd0jnnwdwlh30mn8v8dwwgmffrd71kbq83gbfp8ry3l"; depends=[assertthat dplyr forcats ggplot2 lubridate magrittr purrr RColorBrewer rlang shiny tidyr]; };
   rfml = derive2 { name="rfml"; version="0.1.0"; sha256="133adpfjpp14m47841k6ybq9lrvby9bxgr5zs4i3akjr2575nq1j"; depends=[httr jsonlite PKI XML]; };
   rfoaas = derive2 { name="rfoaas"; version="1.1.1"; sha256="1rglqmbhnasc3ciypms3qqgfaj19202cnqdimsi69lvig2rnkca5"; depends=[httr]; };
   rfordummies = derive2 { name="rfordummies"; version="0.1.3"; sha256="13jqvww65wzac1c8ajkljz89vi4j76y9ga52w3ygajjzg0rn15l5"; depends=[]; };
-  rforensicbatwing = derive2 { name="rforensicbatwing"; version="1.3"; sha256="0ff4v7px4wm5rd4f4z8s4arh48hgayqjfpnni2997c92wlsq3d12"; depends=[Rcpp]; };
+  rforensicbatwing = derive2 { name="rforensicbatwing"; version="1.3.1"; sha256="1i521h2nmlkhcxfxqir8jfjv0llwr6cz0ck5w6hzplk48044bn16"; depends=[Rcpp]; };
   rgabriel = derive2 { name="rgabriel"; version="0.7"; sha256="1c6awfppm1gqg7rm3551k6wyhqvjpyidqikjisg2p2kkhmyfkyzx"; depends=[]; };
   rgam = derive2 { name="rgam"; version="0.6.3"; sha256="0mbyyhhyr7ijv2sq9n7g0vaxivngwf4nbb5398xpsh7fxvgw5zdw"; depends=[Rcpp RcppArmadillo]; };
   rgbif = derive2 { name="rgbif"; version="0.9.9"; sha256="11gji0b1gzh3zpmaff7ly9pvv6jdig5d1277hrss8x4zj7r34iap"; depends=[crul data_table geoaxe ggplot2 jsonlite magrittr oai tibble whisker wicket xml2]; };
   rgcvpack = derive2 { name="rgcvpack"; version="0.1-4"; sha256="1vlvw9slrra18qaizqk2xglzky0i6z3bsan85x908wrg8drss4h5"; depends=[]; };
-  rgdal = derive2 { name="rgdal"; version="1.2-16"; sha256="1j83bc16ndk561vgr67z99gba9bhgcchgir8s504avcs9zmfyzq1"; depends=[sp]; };
-  rgdax = derive2 { name="rgdax"; version="0.4.0"; sha256="0f8n016p9y62rpxmqrycmbdb7b3h7vnsyd9qcicqs19yvpm91im2"; depends=[digest httr jsonlite RCurl]; };
+  rgdal = derive2 { name="rgdal"; version="1.2-18"; sha256="0vyvbsz7260crfnqk61vcbk051d01lyl984yk140nwh9wj8svr1d"; depends=[sp]; };
+  rgdax = derive2 { name="rgdax"; version="0.5.0"; sha256="1s9vqjmnkd4jvq5v8w1wc44khgd1pjzr2hq356vm0jpcvgf0qscq"; depends=[digest httr jsonlite RCurl]; };
   rgen = derive2 { name="rgen"; version="0.0.1"; sha256="0gl82v09q1ha58wd1014s46wzkx1yf348bc7jkl6s4qdc6c4vsb8"; depends=[]; };
   rgenoud = derive2 { name="rgenoud"; version="5.8-1.0"; sha256="12n34r0p00bmflxrmbj927jm0q19j5r9mjplz5mzb1v8praa7v4x"; depends=[]; };
   rgeoapi = derive2 { name="rgeoapi"; version="1.1.0"; sha256="0k8p1l0vrgx0bifbc2i9gxxwih513vbqhjh7fiifyfq3r74i4j7k"; depends=[httr magrittr rjson]; };
   rgeolocate = derive2 { name="rgeolocate"; version="1.0.1"; sha256="1v9kd71wpxna1war0rbp91pc5wdqlganmj2c2fc5m5176dnxd2v3"; depends=[httr Rcpp]; };
-  rgeopat2 = derive2 { name="rgeopat2"; version="0.2.0"; sha256="12n5zgx8svcrgsihvhw0drd0l3r48clshs2b36p0md111a2b1gh3"; depends=[readr sf stringr]; };
+  rgeopat2 = derive2 { name="rgeopat2"; version="0.2.4"; sha256="1ngisbx9ws8zllkq2qa7zafl400wrvmj3rm812aja74d8rr2i7mw"; depends=[readr sf stringr]; };
   rgeos = derive2 { name="rgeos"; version="0.3-26"; sha256="0czlwfqilzh1zj61axisg06d9dksdvvg5hgcs31ydaqkh45llllq"; depends=[sp]; };
   rgexf = derive2 { name="rgexf"; version="0.15.3"; sha256="0iw1vk32ad623aasf6f8hl0qkj59f1dsc2riwqc775zvs5w7k2if"; depends=[igraph Rook XML]; };
   rggobi = derive2 { name="rggobi"; version="2.1.21"; sha256="0zi4rhggngm0y8dsjxqlr2mmfc5wzi7l1qcp5gin4bjlbyf8yb3z"; depends=[RGtk2]; };
   rgho = derive2 { name="rgho"; version="1.0.1"; sha256="0jkfmyn3i50vsqciy96wd2fpik6yfg0sz6rrhwb04jv1dmyz2nfa"; depends=[curl dplyr httr jsonlite lazyeval magrittr memoise readr tibble tidyr]; };
-  rgl = derive2 { name="rgl"; version="0.99.9"; sha256="1rv4gq03mbx62v4kyj83y5kh1f77d68aqwmdb00r8szqlx5w5gdm"; depends=[crosstalk htmltools htmlwidgets jsonlite knitr magrittr shiny]; };
-  rglobi = derive2 { name="rglobi"; version="0.2.12"; sha256="0gfq9nrv381m3lfmfy57ib58y6kv5vicgrypr8jvrghwyfcdqppg"; depends=[RCurl rjson]; };
+  rgl = derive2 { name="rgl"; version="0.99.16"; sha256="0q8sg8fr0140ilssqhscaxkjc29w1rpp6f4k50amw3zzs9g58ak9"; depends=[crosstalk htmltools htmlwidgets jsonlite knitr magrittr manipulateWidget shiny]; };
+  rglobi = derive2 { name="rglobi"; version="0.2.14"; sha256="09f4v98m68ssnf1n0ijsrzawpri3jhv4bz7gzzzpijb75mkb0zwz"; depends=[RCurl rjson]; };
   rglwidget = derive2 { name="rglwidget"; version="0.2.1"; sha256="0siqxn3gyl98i84p0yha821b4rdrp2i0942mkx819wnf7qwrpqcv"; depends=[rgl]; };
-  rgr = derive2 { name="rgr"; version="1.1.14"; sha256="1g5ssxfamghl7d8smlb9zwk31zf5m090y9f88nripad4k9l58fkl"; depends=[fastICA MASS]; };
+  rgr = derive2 { name="rgr"; version="1.1.15"; sha256="1mrnmbh2crhkwdi37q59hx76afvkhgzgaacg3688q7jp23d58z6x"; depends=[fastICA MASS]; };
   rgrass7 = derive2 { name="rgrass7"; version="0.1-10"; sha256="0w5vy8163xlfmdrpyp00x25wwq4jnaspzggpvj160azigndsc1kr"; depends=[sp XML]; };
   rgw = derive2 { name="rgw"; version="0.1.0"; sha256="12f7bsfg24cld9y47jyqxswgc1bk4adbhhdpycapinbcfhyzc91p"; depends=[]; };
   rhandsontable = derive2 { name="rhandsontable"; version="0.3.6"; sha256="1n631vffbfi8mgbcjgav1209ryj88igb17h73xvjdmglh5f0s6dz"; depends=[htmlwidgets jsonlite magrittr]; };
@@ -10146,22 +10420,24 @@ in with self; {
   rhub = derive2 { name="rhub"; version="1.0.2"; sha256="18aq28q4vggbp19l9wcw3dylnyv7sd26wg0i5w8jrva5cq1v2n5j"; depends=[assertthat callr clisymbols crayon desc httr jsonlite parsedate prettyunits R6 rappdirs rcmdcheck rematch whoami withr]; };
   rhymer = derive2 { name="rhymer"; version="1.0.0"; sha256="1k15sd5q6a1ijayl585vc54d1zs4nyrxsfck9bn4nlfdiwc5arwf"; depends=[httr jsonlite]; };
   ri = derive2 { name="ri"; version="0.9"; sha256="00y01n9cx95bjhdpnh7vi0xd5p6al3sxbjszbyxafn7m9mygmnhv"; depends=[]; };
-  ri2 = derive2 { name="ri2"; version="0.1.0"; sha256="02rlczjpfy1q5i7lq4ypindhc65cnryryvbklqjh5dh2xzwjkain"; depends=[estimatr ggplot2 pbapply randomizr]; };
+  ri2 = derive2 { name="ri2"; version="0.1.1"; sha256="01iyk9cfs6v7jd1z962vrcdb3bfab5pcq9abkb21yqi82f9w97jf"; depends=[estimatr ggplot2 pbapply randomizr]; };
   riceware = derive2 { name="riceware"; version="0.4"; sha256="0pky0bwf10qcdgg9fgysafr35xbmnr9q0jbh56fawj99nbyj3m70"; depends=[random]; };
   rich = derive2 { name="rich"; version="1.0.1"; sha256="0kasr9gb85qhngfayqy3fvrsr0a066krwxsx21nsxcnss0mrqygr"; depends=[boot vegan]; };
   ridge = derive2 { name="ridge"; version="2.2"; sha256="01yldzzlqg0xqha31l3py62lyq7fw5xfsbmz6ifzff24gqsf029x"; depends=[]; };
   ridigbio = derive2 { name="ridigbio"; version="0.3.5"; sha256="0526nscxynl3857zybpms1wr3230qby29kxglm919pcdvpjb5kz5"; depends=[httr jsonlite plyr]; };
+  ridittools = derive2 { name="ridittools"; version="0.1"; sha256="1m9xbwxb277l4cd85qxmpw66gyavpwamgwr8kyf8vqarzfbwiilr"; depends=[]; };
   riem = derive2 { name="riem"; version="0.1.1"; sha256="0lwhsxb4pm26kb65hs8pa63bsbrgy0zchqm4i6pq9f2r9h8vsm1m"; depends=[httr jsonlite lubridate tibble]; };
   rif = derive2 { name="rif"; version="0.2.0"; sha256="0vk3dmg3qzw3i27wbpfih66rx8sdxq033l7h59h3hy960av4hawh"; depends=[crul data_table jsonlite tibble]; };
+  riingo = derive2 { name="riingo"; version="0.1.0"; sha256="1lkg0xmy3mhx99ywbvkmnkj6i61r5x75g4fnnwj6vdyslvwf3s5x"; depends=[crayon glue httr jsonlite purrr rlang tibble]; };
   rinat = derive2 { name="rinat"; version="0.1.5"; sha256="14ql90f8wrxz9nlykbzfpar1yfwh7p71vks7vhhn8ys09wvj30zk"; depends=[ggplot2 httr jsonlite maps plyr]; };
   rindex = derive2 { name="rindex"; version="0.12"; sha256="1k9zihvrp955c4lh70zjlsssviy2app8w6mv5ln4nawackbz0six"; depends=[regtest]; };
   ring = derive2 { name="ring"; version="1.0.0"; sha256="03sbgxwzms20gp0hkm5s0dihqkx3qf6bw0jrays7jjzrrwzl5657"; depends=[R6]; };
   rintrojs = derive2 { name="rintrojs"; version="0.2.0"; sha256="0qdry88f6ci5g6k0i8mycm9k5ibnmb9zjppjvqqaflw3g3nsnli2"; depends=[jsonlite shiny]; };
-  rio = derive2 { name="rio"; version="0.5.9"; sha256="1cb7p0kgas3y84sc1p59zcsp0c4qhg01cs9s7kl927qhral778kd"; depends=[curl data_table foreign haven openxlsx readxl tibble]; };
+  rio = derive2 { name="rio"; version="0.5.10"; sha256="158xg3vj0glk3fslwi6fywwmfym2b6kn3fdmjligdfy5lf68khix"; depends=[curl data_table foreign haven openxlsx readxl tibble]; };
   rioja = derive2 { name="rioja"; version="0.9-15.1"; sha256="18fyqcykg12mf4ap0a2la30656xq32immqz11ddmrfrb0vpd2h7h"; depends=[mgcv vegan]; };
   ripa = derive2 { name="ripa"; version="2.0-2"; sha256="0n1gaga0d4bb9qdlm7gksa1nwi4y28kbgwr3icwqgihf1bfb9m81"; depends=[Rcpp]; };
   riskR = derive2 { name="riskR"; version="1.1"; sha256="1qadfyb07idfw0bs006kb3917rzda83di6jmsr22941gv78z1wyv"; depends=[]; };
-  riskRegression = derive2 { name="riskRegression"; version="1.4.3"; sha256="1r9habv47wwhnbvcjl6yin4i415ayhisg67rzggv899nqcyqpm80"; depends=[abind cmprsk data_table doParallel foreach ggplot2 lava prodlim Rcpp RcppArmadillo rms survival]; };
+  riskRegression = derive2 { name="riskRegression"; version="2018.04.21"; sha256="0jyk5pdgr8wqyfxzwbmanqp7ff0fkw3nlz7dx19rqxji1lnj74qa"; depends=[abind cmprsk data_table doParallel foreach ggplot2 lava plotrix prodlim Rcpp RcppArmadillo rms survival timereg]; };
   riskSimul = derive2 { name="riskSimul"; version="0.1"; sha256="0s2a1mn6g11m96gqscb916caj2aykcs3rkacpqcdnlyzryk1gsnb"; depends=[Runuran]; };
   risksetROC = derive2 { name="risksetROC"; version="1.0.4"; sha256="1fh0jf8v536qzf1v3awx3f73wykzicli4r54yg1z926ccqb4h80l"; depends=[MASS survival]; };
   riskyr = derive2 { name="riskyr"; version="0.1.0"; sha256="1s6yrij5d1vhvzc7nnajjnjmxnhrs0r1psppcvwb0qg3ff181y22"; depends=[diagram vcd]; };
@@ -10175,6 +10451,7 @@ in with self; {
   rivr = derive2 { name="rivr"; version="1.2"; sha256="0ankpfixggwdv17ba8i5iln0zzmngqrhvh3dg8lis9kqg6wa89yr"; depends=[Rcpp]; };
   rjade = derive2 { name="rjade"; version="0.1"; sha256="0f1jljj6m1almz0na984n0g314y0rl6a0mx04rbrpipgfgz1h37c"; depends=[V8]; };
   rjags = derive2 { name="rjags"; version="4-6"; sha256="1bc9bzq31liawg3nzwfczf75vgg56fnqjw0997xvlic4ghgbn96g"; depends=[coda]; };
+  rjazz = derive2 { name="rjazz"; version="0.1.7"; sha256="0wmqlpgcr98dvapfmdcph5mdv202rzzsvb06iy5sqvpizpg7pbsz"; depends=[RCurl]; };
   rje = derive2 { name="rje"; version="1.9"; sha256="1dyd34z6lb0p6zmyax5dpzflgc9a4saka33mvdfcxi5pj0rnygaz"; depends=[]; };
   rjson = derive2 { name="rjson"; version="0.2.15"; sha256="1vzjyvf57k1fjizlk28rby65y5lsww5qnfvgnhln74qwda7hvl3p"; depends=[]; };
   rjsonapi = derive2 { name="rjsonapi"; version="0.1.0"; sha256="0qshll0y8b6lbfrqmp69w9kc9hgfrz94dk68nddshk9ilg14lx4d"; depends=[crul jsonlite plumber R6]; };
@@ -10184,34 +10461,36 @@ in with self; {
   rknn = derive2 { name="rknn"; version="1.2-1"; sha256="1x9r01314q0wgqwqzd7d13ycjzb4jzghzd3whgjvm2rsmnabai95"; depends=[gmp]; };
   rkt = derive2 { name="rkt"; version="1.5"; sha256="1rgf7dnk4d1b46rns2mb2s1ilxq7hqrh057vrrl00324r4h8bs1k"; depends=[]; };
   rkvo = derive2 { name="rkvo"; version="0.1"; sha256="0ci8jqf9nc8hb063nckxdnp0nlyr4ghby356lxm00anw44jlmw8v"; depends=[Rcpp]; };
-  rlang = derive2 { name="rlang"; version="0.1.6"; sha256="1x62assn8m7cd0q75r809gxsdqmxmd2br1xz53ykzhrfz3j768kp"; depends=[]; };
-  rlas = derive2 { name="rlas"; version="1.1.9"; sha256="1c8sc277jiij1j5sb3wsjdm1pxlp0ia3a39xqzglvmlcnlvcygbq"; depends=[data_table Rcpp]; };
+  rlang = derive2 { name="rlang"; version="0.2.0"; sha256="0f87fhw5pj6s2zjdxnpnd7pwn78czdz71b0xhm5adqg1p38sfwj8"; depends=[]; };
+  rlas = derive2 { name="rlas"; version="1.2.1"; sha256="0mqs7vd4855hdjymvp6427vhs2ihaz37lx59984x39rc7sfw6nap"; depends=[data_table Rcpp uuid]; };
   rld = derive2 { name="rld"; version="1.0"; sha256="1glv4q25z14hcwifwg623h77p4awpsn3nk843pnph4sb3p5qbmn3"; depends=[emdbook MASS survival]; };
   rleafmap = derive2 { name="rleafmap"; version="0.2"; sha256="1i2qczipg7lr6fl35lcl896r54jia7libxx83darrfzc1hd9sdcq"; depends=[knitr raster sp]; };
   rlecuyer = derive2 { name="rlecuyer"; version="0.3-4"; sha256="0d5mcdzn6f5nhwzs165a24z36d0b8gd0cyfyzffvr6p96h8qydy7"; depends=[]; };
+  rlfsm = derive2 { name="rlfsm"; version="0.1.0"; sha256="1ixffrn56s9hg56ygk8882kz4b77sfdd9xb5vnk8b10sl9yjh4r7"; depends=[doParallel elliptic foreach ggplot2 plyr Rdpack reshape2 stabledist]; };
   rlist = derive2 { name="rlist"; version="0.4.6.1"; sha256="08awy2p7rykc272wvvya4ddszbr7b7s7qv4wr3hs8ylr4jqlh0dv"; depends=[data_table jsonlite XML yaml]; };
   rlm = derive2 { name="rlm"; version="1.2"; sha256="18y735z05k9pms6iv1739qg3q12w099qhs42icxhqs5gcdhz92fm"; depends=[]; };
   rlme = derive2 { name="rlme"; version="0.5"; sha256="0p26mw4g12l279lh80vqcjs3pvjr759ap2m622490k1i2ralxzif"; depends=[magic MASS mgcv nlme quantreg Rcpp robustbase stringr]; };
   rlo = derive2 { name="rlo"; version="0.3.2"; sha256="0abq42dhapzmh6hvmildbn8zya29c6p1aqbv8avc03g014dwbrd0"; depends=[PythonInR]; };
-  rly = derive2 { name="rly"; version="1.4.2"; sha256="0mppl3y808k9ydn1lwng2bqmdzbbsla2p9p8qk73mp0xyq8iq9sm"; depends=[futile_logger R6]; };
+  rly = derive2 { name="rly"; version="1.5"; sha256="0rd4ksd6qv227zgdxmy9d77v1jyba0vk0svh5wc5b72z92j9cjzb"; depends=[futile_logger R6]; };
   rma_exact = derive2 { name="rma.exact"; version="0.1.0"; sha256="1igs92la79akyqj84ah23lpcay7i33k7zgzcwm7sii782fhirivx"; depends=[abind metafor]; };
   rmaf = derive2 { name="rmaf"; version="3.0.1"; sha256="0w247mamwgibr5576p5c2lzaiz2lv2c25n7gw9q99s7rc4bps7j7"; depends=[]; };
-  rmapshaper = derive2 { name="rmapshaper"; version="0.3.0"; sha256="0v7p8wqgjymidavyq9lfl6kzlpn5ybfc9lqhsaxbxcc9hb80xjxz"; depends=[geojsonio geojsonlint rgdal sp V8]; };
-  rmapzen = derive2 { name="rmapzen"; version="0.3.3"; sha256="0rz3wwy8dbb2620gy07aib2aad6ds001vf47bxrj3vzrxp5h448i"; depends=[assertthat digest dplyr geojsonio httr jsonlite maps maptools purrr rgdal sf sp tibble tidyr]; };
-  rmarkdown = derive2 { name="rmarkdown"; version="1.8"; sha256="0q1y1qx87xp6vf9h7mfl77rqhmd01xl53l9ap9qj99bfvpabb572"; depends=[base64enc evaluate htmltools jsonlite knitr mime rprojroot stringr yaml]; };
+  rmake = derive2 { name="rmake"; version="1.0.0"; sha256="1qvbyd68p37nsqrm77w18znsa6m629qzyd7sl8w98p654pqmjhdw"; depends=[assertthat pryr rmarkdown]; };
+  rmapshaper = derive2 { name="rmapshaper"; version="0.4.0"; sha256="0a911f6q9czni6zpijp63rngnil7jkbcy9f7jz55jr225fgm6g6z"; depends=[geojsonio geojsonlint jsonlite readr sf sp V8]; };
+  rmapzen = derive2 { name="rmapzen"; version="0.3.4"; sha256="1hpl2j347d5qahwzxlr66k2fl6fg09160jn6p3ycvhp0g7zaq5r4"; depends=[assertthat digest dplyr geojsonio httr jsonlite maps maptools purrr rgdal sf sp tibble tidyr]; };
+  rmarkdown = derive2 { name="rmarkdown"; version="1.9"; sha256="0wq6kbhrkv3fhcy4hg5yyv9gdvf8gr4nsjwdifs4ih8lnn0dmdyb"; depends=[base64enc evaluate htmltools jsonlite knitr mime rprojroot stringr yaml]; };
   rmatio = derive2 { name="rmatio"; version="0.12.0"; sha256="1cw7j44rgjgbw2xln7lh29ln53lwfadr8rx0sffkjwc7lbh1r6wa"; depends=[Matrix]; };
-  rmcfs = derive2 { name="rmcfs"; version="1.2.9"; sha256="1ar2dsxjf0a6ij91d380arlh9wlywqpfaii80bk6mrq4xg6qy4b0"; depends=[dplyr ggplot2 igraph reshape2 rJava yaml]; };
-  rmcorr = derive2 { name="rmcorr"; version="0.2.0"; sha256="0s356ly6d46fv28q176ahz2y0w8igmgcy2li0mi4wkj5gnc0yxx4"; depends=[psych RColorBrewer]; };
+  rmcfs = derive2 { name="rmcfs"; version="1.2.10"; sha256="0gyvb8vdv1n93xbz0xl5vhwhskas8cxj4zv8flz18jm6f0bgqlrr"; depends=[dplyr ggplot2 igraph reshape2 rJava yaml]; };
+  rmcorr = derive2 { name="rmcorr"; version="0.3.0"; sha256="1p05ln653yrd02wmn8wfzawiw6a924d8an0568fcbgl1pdna43b1"; depends=[psych RColorBrewer]; };
   rmdHelpers = derive2 { name="rmdHelpers"; version="1.2"; sha256="1ahzbs8z7wvh1dwbq1kq8wrjrknxi2gck63k70gj0swjvgk0ih5r"; depends=[dplyr knitr]; };
-  rmda = derive2 { name="rmda"; version="1.4"; sha256="0agh4mrs8mjjb7hc41r59mbnq0h873fmykljla1cbf4ikhxwjihf"; depends=[caret MASS pander reshape]; };
+  rmda = derive2 { name="rmda"; version="1.5"; sha256="13119x23xi912s7wl2p2a24msbczgv75x37p2jsr5w0n4l2k01wi"; depends=[caret MASS pander reshape]; };
   rmdformats = derive2 { name="rmdformats"; version="0.3.3"; sha256="06nyrdhy26mvgfb1bnlbd8hslybpc01a30a40wwlc3ay7yp0nzrj"; depends=[bookdown htmltools knitr questionr rmarkdown]; };
   rmdshower = derive2 { name="rmdshower"; version="2.1.1"; sha256="1sjpi5ils31adii51gaa8ly7x93l9ganp6in8rsln6si4jc2ppg9"; depends=[rmarkdown]; };
-  rmeta = derive2 { name="rmeta"; version="2.16"; sha256="1s3n185kk0ddv8v6c7mbc7cpj6yg532r7is6pjf9vda7317rxywy"; depends=[]; };
+  rmeta = derive2 { name="rmeta"; version="3.0"; sha256="0vkbnxp579v8zmcv1isdbzj5swpr6fq17zwparxcvzswjc2x9ydr"; depends=[]; };
   rmetasim = derive2 { name="rmetasim"; version="3.1.7"; sha256="0sz4mdprdi6sgkfwfdvh2hr9nxiwq17sw0vggq3cvs7lzb0i6m9r"; depends=[ade4 adegenet gtools pegas]; };
   rmgarch = derive2 { name="rmgarch"; version="1.3-0"; sha256="0brqjhplvzl0bgsi6x057rb2cg5x372i746dhddr013p1mx0rlcx"; depends=[Bessel ff MASS Matrix pcaPP Rcpp RcppArmadillo Rsolnp rugarch shape spd xts zoo]; };
   rminer = derive2 { name="rminer"; version="1.4.2"; sha256="1hjgcawjrwsf0nv2hlznr1cvpm445yyxc6cq28k2yzyivk74si34"; depends=[adabag Cubist e1071 glmnet kernlab kknn lattice MASS mda nnet party plotrix pls randomForest rpart xgboost]; };
   rmngb = derive2 { name="rmngb"; version="0.6-1"; sha256="1wyq8jvzqpy1s6w0j77ngh5x2q7mpj0ib01m8mla20w6yr6xbqjk"; depends=[Hmisc]; };
-  rmonad = derive2 { name="rmonad"; version="0.4.0"; sha256="060hw8ijwnmizzma3q4jy5knif2djzc4x4aahbrv2kaqz157mva2"; depends=[glue igraph magrittr pryr uuid]; };
+  rmonad = derive2 { name="rmonad"; version="0.5.0"; sha256="0m7hhmn87rfh49hxrjlcxcq6q36niyxlh3w2frld68jkbks71jn5"; depends=[digest glue igraph magrittr pryr]; };
   rmp = derive2 { name="rmp"; version="2.0"; sha256="1cs5ylh5z9mfj3r0yvxxd38ksna2dxk9nnfgqkry1kxibnd1b4ff"; depends=[]; };
   rmpw = derive2 { name="rmpw"; version="0.0.3"; sha256="1iidiq0pz88wgh155hfy8mw0cwwwcl77zshcjrbw11zpx6p8qy94"; depends=[gtools MASS]; };
   rms = derive2 { name="rms"; version="5.1-2"; sha256="01wjxlqfz6l1bdsvxqq0lsbps0k86hx3ayb6fl2n2hxccvsfxkzi"; depends=[ggplot2 Hmisc htmlTable htmltools lattice multcomp nlme polspline quantreg rpart SparseM survival]; };
@@ -10233,13 +10512,14 @@ in with self; {
   rnn = derive2 { name="rnn"; version="0.8.0"; sha256="04924zn448x9rc3z9vh033l4rv9lz0hxv1bhfl0gn6gvd5wavlc7"; depends=[shiny sigmoid]; };
   rnoaa = derive2 { name="rnoaa"; version="0.7.0"; sha256="0mha1izbzfa6vq44wjsc4p018k83zw99f6bpkhc275c5v09pxvmr"; depends=[crul dplyr geonames ggplot2 gridExtra hoardr httr isdparser jsonlite lubridate rappdirs scales tibble tidyr XML xml2]; };
   rnpn = derive2 { name="rnpn"; version="0.1.0"; sha256="10xx8fxgdknv71ks42xxvf38xsmjy6s87y67wi21673v0n07fxb5"; depends=[data_table httr jsonlite plyr]; };
-  rnrfa = derive2 { name="rnrfa"; version="1.3.0"; sha256="1zrj7y0qh57r7r9c5pspz238w0j1kaicd2l6vcg92lgxi8b9i558"; depends=[ggmap ggplot2 httr plyr rjson sp stringr xml2 xts]; };
+  rnr = derive2 { name="rnr"; version="0.2.1"; sha256="1z9bab3qmq8d79bcvjzldbxlah2w8mqp2ifd0cn1348dafwa0dhi"; depends=[assertthat purrr]; };
+  rnrfa = derive2 { name="rnrfa"; version="1.4.0"; sha256="007j6a2hihw7h0vhv6aiz7iymzr3lkzmc1dy5f8b22z5n52k4pl3"; depends=[ggmap ggplot2 httr plyr rgdal rjson sp stringr xml2 xts]; };
   roadoi = derive2 { name="roadoi"; version="0.4.1"; sha256="1g4x1gkcrq8pd5vdikhf16ghgd990hhb1m387r2smz21v993cfk8"; depends=[dplyr httr jsonlite miniUI plyr purrr shiny tibble tidyr]; };
   roahd = derive2 { name="roahd"; version="1.3"; sha256="1pn2xzc5fnp2hb3fw3gpqng0x9rvpd4qfhx9gclf31algpzaidbb"; depends=[robustbase scales]; };
-  robCompositions = derive2 { name="robCompositions"; version="2.0.6"; sha256="1r74w6ssq9fhjain02hr9sz0x2j1fi1waw7319gls69kp73b51hw"; depends=[car cluster cvTools data_table e1071 fpc GGally ggplot2 kernlab MASS mclust pls Rcpp robustbase rrcov sROC VIM]; };
+  robCompositions = derive2 { name="robCompositions"; version="2.0.7"; sha256="1ym63s6rn02p42q4mwmxbnh713shs4sc2ayimi053yzix4cnwn7w"; depends=[car cluster cvTools data_table e1071 fpc GGally ggplot2 kernlab MASS mclust pls Rcpp robustbase rrcov sROC VIM zCompositions]; };
   robcor = derive2 { name="robcor"; version="0.1-6"; sha256="1hw8simv93jq8a5y79hblhqz157wr8q9dzgm0xhvvv5nkzyqkpzf"; depends=[]; };
-  robeth = derive2 { name="robeth"; version="2.7"; sha256="03pnwd3xjb9yv8jfav0s4l9k5pgpampp15ak7z0yvkjs20rvfq3d"; depends=[]; };
-  robets = derive2 { name="robets"; version="1.3"; sha256="123f08h763ifd2ydh1hp3jp6gqnc12cia9ndlp8jxkck8l3pnwkh"; depends=[forecast Rcpp]; };
+  robeth = derive2 { name="robeth"; version="2.7-1"; sha256="06qkrjvg4yps4h6xdb81svx52vlw389z1j4brpv0w9h40ljpxbff"; depends=[]; };
+  robets = derive2 { name="robets"; version="1.4"; sha256="0lvzfpv6569pjysblhadd05sglx0qvyr9wipb9cpiya4a1992n61"; depends=[forecast Rcpp]; };
   robfilter = derive2 { name="robfilter"; version="4.1"; sha256="161rsqyy2gq1n6ysz0l4d4gqvxhs72hznc2d5hljxdaz3sbdzzig"; depends=[lattice MASS robustbase]; };
   robis = derive2 { name="robis"; version="1.0.0"; sha256="02spxy33vh675dvhx2v6f06hxzcwfrsmkzb6yk5h30xp21blqv4g"; depends=[dplyr httr jsonlite leaflet]; };
   robmed = derive2 { name="robmed"; version="0.1.1"; sha256="1716vzci0lmim4n28bc2pjky1shjxqrclgllj3hc4dzf8j22dxbz"; depends=[boot ggplot2]; };
@@ -10269,7 +10549,7 @@ in with self; {
   rockchalk = derive2 { name="rockchalk"; version="1.8.110"; sha256="1991g4vslbanz6swvj76bwfc7xpnrcwqwr59xn8nzf7kkb721w6a"; depends=[car lme4 MASS]; };
   rococo = derive2 { name="rococo"; version="1.1.5"; sha256="062pj62haf0xw74p6c1dd20ipcxka8nn0mxsq490d22kqwm4vf5a"; depends=[Rcpp]; };
   rodd = derive2 { name="rodd"; version="0.2-1"; sha256="01zrkw4lr21vxk2grfc37iyrcipfdcj5m0i7gnxsvs435y9fqagd"; depends=[Matrix matrixcalc numDeriv quadprog rootSolve]; };
-  rodeo = derive2 { name="rodeo"; version="0.7.1"; sha256="0q76dnwc5bixbl2wh6km7085rivfzjpzl6c3w48wq5b23k1v7pfr"; depends=[deSolve R6]; };
+  rodeo = derive2 { name="rodeo"; version="0.7.4"; sha256="16yzj12m9wvcrqxc33rpbyzbq019swi5jxnbda9crfwjdvafaa0d"; depends=[deSolve R6]; };
   rodham = derive2 { name="rodham"; version="0.1.1"; sha256="15mrlx7azvwkwjgfplvs5fhk2nwlg9pay2l99q327p8hx87jr8ra"; depends=[jsonlite plyr splitstackshape stringr tibble]; };
   roll = derive2 { name="roll"; version="1.0.7"; sha256="059n1pl7692grzv4pmnj8s6cs2zi98lr1s5zi9pxg5vpw7r6h2v9"; depends=[Rcpp RcppArmadillo RcppParallel]; };
   rollbar = derive2 { name="rollbar"; version="0.1.0"; sha256="1q2ym0vkgbdnibxmwx0bp9c20g3bm8fzwwgs3j4bxg1ydg3gnkj4"; depends=[httr]; };
@@ -10278,28 +10558,28 @@ in with self; {
   rolr = derive2 { name="rolr"; version="1.0.0"; sha256="04nm4q0mlr4w6jb0frykzlyknfn3gn02ysqr5ll5jch6wawichy2"; depends=[survival]; };
   rolypoly = derive2 { name="rolypoly"; version="0.1.0"; sha256="11nf7in6n03675l11ynl4rp20rlzy7jli3m518s4sqqxdm8f8ci7"; depends=[data_table dplyr foreach ggplot2 glmnet MASS Matrix matrixcalc]; };
   rootSolve = derive2 { name="rootSolve"; version="1.7"; sha256="08ic6ggcc5dw4nv9xsqkm3vnvswmxyhnqnv1rdjv1h2gy1ivpcq8"; depends=[]; };
-  rootWishart = derive2 { name="rootWishart"; version="0.4.0"; sha256="028k1h6vibbcnmh35kg0z388c991k8v78ac0fbrv1k2ajqrrl4lg"; depends=[BH Rcpp RcppEigen]; };
+  rootWishart = derive2 { name="rootWishart"; version="0.4.1"; sha256="1l9pr3i20hi5k02qnlb3blxhlvp2j0njn74xslw3gcjvyzjlr12j"; depends=[BH Rcpp RcppEigen]; };
   roots = derive2 { name="roots"; version="1.0"; sha256="1ssmmmrg18xmqxs6f7dqv07357iwcvk21j1gxsl8s9njbj2plxai"; depends=[animation igraph rARPACK]; };
   rope = derive2 { name="rope"; version="1.0"; sha256="06qp6h8cjnz0yacm4r39k99hrw74iyq16h5mqfcki7sf3zqbfm7r"; depends=[]; };
-  ropenaq = derive2 { name="ropenaq"; version="0.2.5"; sha256="0rvp41c4px773w29m9483rbkv3y365n8n6gf969mzbdpvx90pyql"; depends=[crul dplyr jsonlite lazyeval lubridate tidyr]; };
+  ropenaq = derive2 { name="ropenaq"; version="0.2.6"; sha256="065p4c8l4bqxy00clbjhad8hqw4gg2h2c00b06n2fa5n70z0akgq"; depends=[crul dplyr jsonlite lazyeval lubridate tidyr]; };
   ropensecretsapi = derive2 { name="ropensecretsapi"; version="1.0.1"; sha256="0d4yl0h4am3blskdnzk119hk374c3vx0cg99r20w07yh8jfafrw7"; depends=[RCurl RJSONIO]; };
   ropercenter = derive2 { name="ropercenter"; version="0.1.0"; sha256="0rp2dwdkl3qlwm8di0q184ppr77zs6i7njyr305pnxmbad119w9d"; depends=[dplyr foreign haven httr rvest stringr xml2]; };
   rorcid = derive2 { name="rorcid"; version="0.4.0"; sha256="1diz14b5jzs9i4khyykq58cbgz87qraivv9lhq5nrrrfi2gryl9r"; depends=[crul data_table fauxpas httr jsonlite tibble xml2]; };
   rorutadis = derive2 { name="rorutadis"; version="0.4.2"; sha256="13a7xj4qw1nd8xgrqhrki3php960lgy9gy38sg4kpvs4j2rwijzc"; depends=[ggplot2 gridExtra hitandrun Rglpk]; };
   rosetteApi = derive2 { name="rosetteApi"; version="1.9.0"; sha256="0pnrfc0dcbh5r3qwfwyb0q063bzwpw4ga60965y5qyxz64cyx74r"; depends=[httr jsonlite]; };
   rosm = derive2 { name="rosm"; version="0.2.2"; sha256="0carzc8rn8997vdqgcf7a6lcpmw7dldhnh6n0rjyb09and8yca7r"; depends=[abind curl jpeg plyr png prettymapr rgdal rjson sp]; };
-  rospca = derive2 { name="rospca"; version="1.0.3"; sha256="0nnqwvjsavxp7ci8xpvkri8ff9xwlcdvx33k32vf1sywr86mr1xs"; depends=[elasticnet mrfDepth mvtnorm pcaPP pracma robustbase rrcov rrcovHD]; };
+  rospca = derive2 { name="rospca"; version="1.0.4"; sha256="1pxm34xsc2610n0i6dwcm4rhn016yqb03f8vrm93r7285c04n4q7"; depends=[elasticnet mrfDepth mvtnorm pcaPP pracma robustbase rrcov rrcovHD]; };
   rosqp = derive2 { name="rosqp"; version="0.1.0"; sha256="0975g7p75bq238g7lr200svsqm9i11z7l331r0igm5ycahljrlsm"; depends=[Matrix R6 Rcpp]; };
   rotationForest = derive2 { name="rotationForest"; version="0.1.3"; sha256="1z2wk3mcs5hrahsxralidbc0dd8gxdbwjpr2f71g4g3isfx1ic8d"; depends=[rpart]; };
   rotations = derive2 { name="rotations"; version="1.5"; sha256="1zksh6hyxdkm0lvvrld6dgkmhszn6wsjrjzr2xbn3af3gsvsydaa"; depends=[ggplot2 Rcpp RcppArmadillo rgl sphereplot]; };
-  rotl = derive2 { name="rotl"; version="3.0.3"; sha256="0pfpgynvdi011m6j6gs98irldpjrdc8rgza36ndk60q2w5z436h4"; depends=[ape assertthat httr jsonlite rentrez rncl]; };
+  rotl = derive2 { name="rotl"; version="3.0.4"; sha256="1zc4418gxpd65n60lspsdm15v7apkv6wkf9jqqs152z079ppdrhx"; depends=[ape assertthat httr jsonlite rentrez rncl]; };
   roughrf = derive2 { name="roughrf"; version="1.0"; sha256="0nwdynqfb9yzjvi1lykgdkch3b4g09aj8vbd6sf5pyx473s066y4"; depends=[mice nnet randomForest]; };
   routr = derive2 { name="routr"; version="0.3.0"; sha256="1mjf1vwrh1k1kjl1kcgqs29zb8h9m05630czsjkz7li3pmvy9mrv"; depends=[assertthat digest httpuv R6 reqres stringi uuid]; };
   rowr = derive2 { name="rowr"; version="1.1.3"; sha256="1f93c2yni956flwnxgphn340pc7p6yagr5xnmhinjgk9kvsd07yh"; depends=[]; };
   roxygen2 = derive2 { name="roxygen2"; version="6.0.1"; sha256="0xpzziminf225kjwhyl51kgkzhplyzhk5farhf5s822krl2xqbfj"; depends=[brew commonmark desc digest R6 Rcpp stringi stringr xml2]; };
   royston = derive2 { name="royston"; version="1.2"; sha256="1rywc89qzx0hldbq10201bjdhz60pq2gmgd9b9j52mza3w4canjz"; depends=[moments nortest]; };
   rpanel = derive2 { name="rpanel"; version="1.1-3"; sha256="1wm0dcbyvxz4ily8skz2yda44n74x2nmc4pg11ja0yvk038gjfns"; depends=[]; };
-  rpart = derive2 { name="rpart"; version="4.1-12"; sha256="177p03w4m0qshb3sqkdyixim3f44g2an31v3vlbjmpzjvd5ff6yq"; depends=[]; };
+  rpart = derive2 { name="rpart"; version="4.1-13"; sha256="0k29qx3k3pj5sgrpg0p47yd8i811rmdakaw57bigpq1449asc4cf"; depends=[]; };
   rpart_plot = derive2 { name="rpart.plot"; version="2.1.2"; sha256="1hn8s0fawwsr6j4m7wf38q7a608bjf9v1w706p49a08189baqdxz"; depends=[rpart]; };
   rpart_utils = derive2 { name="rpart.utils"; version="0.5"; sha256="00ahvmly6cdf7qhhcic0dbjlljqq8kbhx15rc7vrkd3hzd55c0im"; depends=[rpart]; };
   rpartScore = derive2 { name="rpartScore"; version="1.0-1"; sha256="15zamlzbf6avir8zfw88531zg5c0a6sc5r9v5cy9h08ypf34xf4y"; depends=[rpart]; };
@@ -10308,10 +10588,11 @@ in with self; {
   rpca = derive2 { name="rpca"; version="0.2.3"; sha256="135q3g8jmn9rwamrc9ss45cnbfyw8kxcbrf0kinw8asz70fihj9z"; depends=[]; };
   rpcdsearch = derive2 { name="rpcdsearch"; version="1.0"; sha256="17g3x15qgv2hamlj451sb88i83n8svw5vnmjpijp5cnn5d1jx0d6"; depends=[assertthat combinat dplyr stringr xlsx]; };
   rpdo = derive2 { name="rpdo"; version="0.2.3"; sha256="150kd9pvfr7msrh55vsqcj8lv994izlvhxf4g5n1qbzdcaqsdjzp"; depends=[checkr]; };
-  rpf = derive2 { name="rpf"; version="0.56"; sha256="089n2mmczvvwga8ak3l0p326qsp83d0cz03lc6fhx6a9w5vhl67i"; depends=[mvtnorm RcppEigen]; };
+  rpf = derive2 { name="rpf"; version="0.56.1"; sha256="1332d5fzpsi988k1x57hyydjwrx3gxr3l7hgf946jrd8y1c2nj5d"; depends=[mvtnorm RcppEigen]; };
   rpg = derive2 { name="rpg"; version="1.6"; sha256="1vn5cswrkmw98z1dr0f0yjkz3n8kwvjb4zknqg81fzqsagfc89yx"; depends=[getPass RApiSerialize Rcpp uuid]; };
-  rpgm = derive2 { name="rpgm"; version="1.1.1"; sha256="07zynn6rzpi651i3nyfgyv4wbxkmxhr1cjhmqn7i0zcb11yv20dc"; depends=[]; };
+  rpgm = derive2 { name="rpgm"; version="1.1.2"; sha256="0pbja877gb3mn7m78lfdl217dm7qsrblq6gwrjh5wbv1nd532hvz"; depends=[]; };
   rphast = derive2 { name="rphast"; version="1.6.9"; sha256="111m824z7z0lqdj4kk4cp1yfjhx7d5d9463k892dyvgjvkagvi9g"; depends=[]; };
+  rphylotastic = derive2 { name="rphylotastic"; version="0.0.4"; sha256="1as3cndbrnby70qbi43q8v5gpyr8fpms30jwsarizwwbdrxbjgw9"; depends=[ape httr jsonlite phylobase rentrez]; };
   rpicosat = derive2 { name="rpicosat"; version="1.0.1"; sha256="1zj2d6jairmvya91vhv9kpkf34zmzl9vlha5yvfjj0j0apmqc0li"; depends=[]; };
   rpinterest = derive2 { name="rpinterest"; version="0.3.1"; sha256="0kkf73byhgzqxw85wda3nh7qsq81pc035vi6z3fhnvb9ssszwakc"; depends=[httr magrittr rjson]; };
   rpivotTable = derive2 { name="rpivotTable"; version="0.3.0"; sha256="0ndhsw4nnz6wf0v8dh4sz8867m01jjkzw6aq7f490z1ypa3d9fv5"; depends=[htmlwidgets]; };
@@ -10322,7 +10603,7 @@ in with self; {
   rpnf = derive2 { name="rpnf"; version="1.0.5"; sha256="07byg0ym4d2cr6fp74z379jhsaw4c0xrwf622dvhwa4frn4anl60"; depends=[]; };
   rportfolios = derive2 { name="rportfolios"; version="1.0-1"; sha256="00xxh85jpl0rw8fv84i7zmq0psc92pq7hharnr4szbmhgz8kbc35"; depends=[truncdist]; };
   rpostgis = derive2 { name="rpostgis"; version="1.4.0"; sha256="0rgi7ax2n2fln12501zshwaz23nns9qk4vy1ylnaqb4bg0x30gn4"; depends=[DBI raster rgeos RPostgreSQL sp]; };
-  rpostgisLT = derive2 { name="rpostgisLT"; version="0.5.0"; sha256="0dvzprhwdqm763b0n82vzj4blns9chlcpp7wkrsm1w67zakn02mk"; depends=[adehabitatLT DBI rpostgis RPostgreSQL sp testthat]; };
+  rpostgisLT = derive2 { name="rpostgisLT"; version="0.6.0"; sha256="1adwpkfndm6n3s9xcx8zrwnj6bmgvq4nzs072fnl5i6kjy6ngjm6"; depends=[adehabitatLT DBI htmltools leaflet lubridate magrittr mapview rpostgis RPostgreSQL sf shiny shinyWidgets sp]; };
   rpql = derive2 { name="rpql"; version="0.5"; sha256="1d5mr04jk08l617zkqn13njglwj0w9an1rix937bcxw69blshahi"; depends=[gamlss_dist lme4 MASS Matrix mvtnorm]; };
   rprev = derive2 { name="rprev"; version="0.2.4"; sha256="1krrplgi2qfcm5kdz2am8fq8kjx67gjwxyd4ylf406r18xbvjd1d"; depends=[doParallel dplyr foreach ggplot2 lazyeval magrittr rms survival tidyr]; };
   rprime = derive2 { name="rprime"; version="0.1.0"; sha256="1v6n1qi0i7x8xgizbyvp1mnwc316lsan4rvam44fgjj45fcd79gd"; depends=[assertthat plyr stringi stringr]; };
@@ -10334,7 +10615,7 @@ in with self; {
   rptR = derive2 { name="rptR"; version="0.9.21"; sha256="0wqh9d372s2222qm5w0wx77l2sj7zvdnl7zvxcn5wfs3cz84fj15"; depends=[lme4 pbapply]; };
   rpubchem = derive2 { name="rpubchem"; version="1.5.10"; sha256="06j9ir65ykky5hdbyv74fnddwqd39jxvr6jig0kjqisc75k4spjz"; depends=[base64enc car data_table fingerprint iterators itertools RCurl RJSONIO stringr XML]; };
   rqPen = derive2 { name="rqPen"; version="2.0"; sha256="13m21v753njaramgpbhn0lb793b6946crv5v8vl127w38q0z3wyd"; depends=[quantreg regpro]; };
-  rquery = derive2 { name="rquery"; version="0.3.1"; sha256="1lgcky7rh7awabp4rfmn55c3dhfpkxqhnz2phq1ph727x5kldw22"; depends=[DBI RSQLite wrapr]; };
+  rquery = derive2 { name="rquery"; version="0.4.2"; sha256="018m46iqrbs4h20clhqhxydd9y43swhdq1mmb00hvzlfbwbxi05r"; depends=[DBI wrapr]; };
   rr = derive2 { name="rr"; version="1.4"; sha256="1c2h6ibjfwrjfqh1if3c90pdh0g2rf3p71j4p9w23xbbrx2l80pl"; depends=[arm coda magic MASS]; };
   rrBLUP = derive2 { name="rrBLUP"; version="4.6"; sha256="1bw4pjj9hm9ik5bvvklnlkykhlqm6k7pbkma1iwc3kbg8shpbd18"; depends=[]; };
   rrBlupMethod6 = derive2 { name="rrBlupMethod6"; version="1.3"; sha256="1qwv954mhry46ff2ax48xcmnasygi5alv8d413g3qbk2da6i0d8l"; depends=[]; };
@@ -10346,22 +10627,23 @@ in with self; {
   rredis = derive2 { name="rredis"; version="1.7.0"; sha256="0wzamwpmx20did8xj8x9dllri2ps83viyqjic18ari7i4h1bpixv"; depends=[]; };
   rredlist = derive2 { name="rredlist"; version="0.4.0"; sha256="0j2hab26zs9dyg9fggza7yffbvwvnmrk5frbfs2ys8h3hg2x6ncy"; depends=[crul jsonlite]; };
   rrefine = derive2 { name="rrefine"; version="1.0"; sha256="1lh3vddrp5k9bhz5spv93w0qm9z5lskpdgxfksys0l3275hzx1lm"; depends=[httr readr rlist]; };
-  rreg = derive2 { name="rreg"; version="0.1.2"; sha256="06zang5m39bla4c5wxb9p4fgrn66a69l190z5gnsyp8r6b166x3p"; depends=[directlabels ggplot2]; };
+  rreg = derive2 { name="rreg"; version="0.2.1"; sha256="05c2yj58zn43zkmqp4iyblsixsq76hsjkchffl5rkqynvgxi0qzi"; depends=[directlabels ggplot2]; };
   rrepast = derive2 { name="rrepast"; version="0.6.0"; sha256="1d6nk6437c4bxbyvpzdlgd1kxh651979m0k7aadi9fl77i5k2x3w"; depends=[digest ggplot2 gridExtra lhs rJava sensitivity xlsx]; };
+  rres = derive2 { name="rres"; version="1.0"; sha256="16blkbmma5wj5zigl9yr62kbffyk2amvq45gvgpdj726qdskymcx"; depends=[kernlab Rcpp]; };
   rriskDistributions = derive2 { name="rriskDistributions"; version="2.1.2"; sha256="1d9dwgw8la8wwq9cdnl7qibkzbdl4cj0qvf05x7w13ip973dwpaq"; depends=[eha mc2d msm tkrplot]; };
   rrlda = derive2 { name="rrlda"; version="1.1"; sha256="06n9jah190cz25n93jlb5zb0xrx91bjvxgswwdx9hdf0fmwrpkvz"; depends=[glasso matrixcalc mvoutlier pcaPP]; };
-  rroad = derive2 { name="rroad"; version="0.0.4"; sha256="1zs21j6rhdab8qrw2ybxnj8lyvbzmxs4zzfskh4npd22w5yy597c"; depends=[]; };
+  rroad = derive2 { name="rroad"; version="0.0.5"; sha256="09q5r9wq3vm5wy5aigx9wffv7m0njlp3sma1djm6cp7hhwgss0nj"; depends=[]; };
   rrpack = derive2 { name="rrpack"; version="0.1-7"; sha256="0svrw2ik59hjyfb0kag4nv8ilcaz7irmkp7ndbxxn0jg7dacb411"; depends=[ggplot2 glmnet lassoshooting MASS Rcpp RcppArmadillo]; };
   rrr = derive2 { name="rrr"; version="1.0.0"; sha256="0sv6k70mv325yjm8yjy4dw8cqc0xc071iiv94fk1l1yfz0n67prz"; depends=[dplyr GGally ggplot2 magrittr MASS plotly Rcpp]; };
   rsMove = derive2 { name="rsMove"; version="0.2.3"; sha256="0s256ifiq76rakabw2jn5jslsdd0r55cy7hm55214pgjfq8fiqpi"; depends=[caret gdalUtils ggplot2 raster RCurl rgdal sp]; };
   rsae = derive2 { name="rsae"; version="0.1-5"; sha256="1f3ry3jwa6vg2vq2npx2pzzvfwadz8m48hjrqjk860nfjrymwgx5"; depends=[]; };
   rsample = derive2 { name="rsample"; version="0.0.2"; sha256="10lmpy4ca045j2fxbz5xzl1w9242dkp6sc8hhrk0fxs0dkfb7amf"; depends=[broom dplyr purrr recipes rlang tibble tidyr]; };
   rsatscan = derive2 { name="rsatscan"; version="0.3.9200"; sha256="00vgby24jknq8nl7rnqcwg7gawcxhwq8b7m98vjx2hkqx39n4g21"; depends=[foreign]; };
-  rscala = derive2 { name="rscala"; version="2.5.1"; sha256="0az638dlg7nqhj7xf1bwcpv9anqqcif8ni4a8q68lcn2sxb4wamp"; depends=[]; };
+  rscala = derive2 { name="rscala"; version="2.5.3"; sha256="0a6l7inx6shyxma0a0kf2jh8402n7xavpday4k7lr316v62lyq29"; depends=[]; };
   rscimark = derive2 { name="rscimark"; version="1.0"; sha256="1jsjz4d5bnxb90qqzz42m4nyvm8d8w8bs0m1r5g2n78zmckqb8vy"; depends=[checkmate]; };
-  rsconnect = derive2 { name="rsconnect"; version="0.8.5"; sha256="0y2sajcw1yngig06l7bxzcw993jbx13fl47fag9fa4f70qpnnwmq"; depends=[digest packrat PKI RCurl RJSONIO rstudioapi yaml]; };
+  rsconnect = derive2 { name="rsconnect"; version="0.8.8"; sha256="019phwamg2irb0ak9y0sn25ihi0a9sfdpa02dz9x0bhpcg55x0li"; depends=[digest packrat PKI RCurl RJSONIO rstudioapi yaml]; };
   rscopus = derive2 { name="rscopus"; version="0.5.3"; sha256="1d6265ffmhd6ajlp607y5jy77nqgcrdym6w1j8vnil0705z3swzb"; depends=[httr plyr tidyr]; };
-  rscorecard = derive2 { name="rscorecard"; version="0.6.0"; sha256="142i64faqindaqd14yylbs2ynxg8n5rzl4w0ya0lxv8kwkj0fg75"; depends=[dplyr httr jsonlite lazyeval magrittr]; };
+  rscorecard = derive2 { name="rscorecard"; version="0.7.1"; sha256="1j7v383gcb13bi6d1v59pkx6d9g4yichyyh5ads9w82qq6v31xnw"; depends=[dplyr httr jsonlite lazyeval magrittr]; };
   rsdepth = derive2 { name="rsdepth"; version="0.1-5"; sha256="064jbb6gnx0sm41w3sbi6mvsbzsfkjqfici6frk8sfm9ybvm591j"; depends=[]; };
   rsdmx = derive2 { name="rsdmx"; version="0.5-11"; sha256="06sjkjl9y2fg2yz740a1z5zn4afnjfv1nsykszxsnwn7s23rxi31"; depends=[plyr RCurl XML]; };
   rsed = derive2 { name="rsed"; version="0.1.2"; sha256="1rk7wkidvdn1d39a11cbgglz2dg74bbv3v1ijjdx903kgwg3nnrc"; depends=[Smisc]; };
@@ -10370,7 +10652,7 @@ in with self; {
   rsgcc = derive2 { name="rsgcc"; version="1.0.6"; sha256="12f8xsg6abmhdgkrrc8sfzmv4i1pycq1g0jfad664d17yciw7rhh"; depends=[biwt cairoDevice fBasics gplots gWidgets gWidgetsRGtk2 minerva parmigene snowfall stringr]; };
   rsggm = derive2 { name="rsggm"; version="0.3"; sha256="17yzvd5vs2avp0nzk7x9bi4d7p6n9nv7675qpgfpwkfqp25lax73"; depends=[glasso MASS Matrix QUIC]; };
   rsig = derive2 { name="rsig"; version="1.0"; sha256="129k78i8kc30bzlphdb68vv3sw2k6xyiwrhw08vhzz6mf3jxlqsh"; depends=[BBmisc glmnet Matrix superpc survcomp survival]; };
-  rsimsum = derive2 { name="rsimsum"; version="0.2.0"; sha256="14vx8h404sbdplqd71jawh82r937y9hap7dc2xpc246qnqd03i9f"; depends=[checkmate ggplot2]; };
+  rsimsum = derive2 { name="rsimsum"; version="0.3.1"; sha256="0rg3flfh2wwa3xyjsb041k94jryx2yxf8kb0nnvy9wgybn3v1c01"; depends=[checkmate ggplot2]; };
   rslp = derive2 { name="rslp"; version="0.1.0"; sha256="06glpdsd309058kxww114j9sshvj6gw9g5sdm4zkmzq3cl91fa6h"; depends=[magrittr plyr stringi stringr]; };
   rslurm = derive2 { name="rslurm"; version="0.4.0"; sha256="1ck4ky5d0pf8hnxz1ijbjk0nfyj1hfnhf9la5qrqw2spa09z82ki"; depends=[whisker]; };
   rsm = derive2 { name="rsm"; version="2.9"; sha256="1rj2qdlv44hbv1ipv7hdpssn90ypp6bfc7nqdaf9dak0bd6khwni"; depends=[estimability]; };
@@ -10378,14 +10660,14 @@ in with self; {
   rsoi = derive2 { name="rsoi"; version="0.3.0"; sha256="0syl90akbbg50pyhsa4nyq2r4psi2n6qg48a4nxprgz412n8rjbv"; depends=[dplyr lubridate readr]; };
   rsolr = derive2 { name="rsolr"; version="0.0.8"; sha256="1swhg7hnkdphnw0d9jrzn18nk2v5a6ny7n652fh8d0k88a27xx4d"; depends=[BiocGenerics graph RCurl restfulr rjson S4Vectors XML]; };
   rspa = derive2 { name="rspa"; version="0.2.1"; sha256="0m3h25jxfccdqy4gf3cls4wcdpw580yfmb3lvw4ndfva8lj2q6sy"; depends=[lintools validate]; };
-  rsparkling = derive2 { name="rsparkling"; version="0.2.2"; sha256="0ji7890ba6ry553kgffsgsqmk5lawg3jyd4y6y59a2a4ysvvwq8z"; depends=[h2o sparklyr]; };
+  rsparkling = derive2 { name="rsparkling"; version="0.2.3"; sha256="1dskwni79hrskwmlvlbm4v9fy59bvzgcjqwsdqk31iz3xfaanj39"; depends=[h2o sparklyr]; };
   rsq = derive2 { name="rsq"; version="1.0.1"; sha256="1c7604g48rcsbfk66xfwia1jaxlqsjiw19zx9pg51n8d6c0l17zb"; depends=[MASS]; };
   rstack = derive2 { name="rstack"; version="1.0.0"; sha256="19vbfmkd6ymadah1y1w5rn52f4hviddccyc6qj2cv5viqwbwws2z"; depends=[R6]; };
   rstackdeque = derive2 { name="rstackdeque"; version="1.1.1"; sha256="0i1qqbfj0yrqbkad8bqc1qlxmyxpn7zycbnq83cdmfbilcmi87ql"; depends=[]; };
   rstan = derive2 { name="rstan"; version="2.17.3"; sha256="10fdasqbdwlisnm7hjmgl5f027ypfhni86d1c5fykb09g1pvkjz3"; depends=[BH ggplot2 gridExtra inline Rcpp RcppEigen StanHeaders]; };
-  rstanarm = derive2 { name="rstanarm"; version="2.17.3"; sha256="196fi09fpxf3v0kbdf6ci6f8c0mw1vx3g30cmkvl5rm17abhwifs"; depends=[bayesplot BH ggplot2 lme4 loo Matrix nlme Rcpp RcppEigen rstan rstantools shinystan StanHeaders survival]; };
+  rstanarm = derive2 { name="rstanarm"; version="2.17.4"; sha256="1azggccxj6k8nrz8xlmsv42h0rvwmqfih8xxqn45v7fy9la006p0"; depends=[bayesplot BH ggplot2 lme4 loo Matrix nlme Rcpp RcppEigen rstan rstantools shinystan StanHeaders survival]; };
   rstansim = derive2 { name="rstansim"; version="0.1.1"; sha256="09hg4ishzp6q90nrl94h21al0ad0jn7fr8brp8f0xa9cvkwlzjpg"; depends=[doRNG doSNOW foreach loo Rcpp rstan]; };
-  rstantools = derive2 { name="rstantools"; version="1.4.0"; sha256="1k1nhcy0d2lcnllrdslk4p2d6cp12s5v2vzl5j7l9c7l24syq2ar"; depends=[]; };
+  rstantools = derive2 { name="rstantools"; version="1.5.0"; sha256="19rzcfiirw539hxs98j33gccwigdpwf3nj1w5jwwzank217wmgg4"; depends=[]; };
   rstatscn = derive2 { name="rstatscn"; version="1.1.1"; sha256="0aj4x3lyrldpgh90v90qbxylndacn5ri5yqff3qy53q45ar7yji3"; depends=[httr jsonlite]; };
   rstiefel = derive2 { name="rstiefel"; version="0.10"; sha256="0b2sdgpb3hzal34gd9ldd7aihlhl3wndg4i4b3wy6rrrjkficrl1"; depends=[]; };
   rstpm2 = derive2 { name="rstpm2"; version="1.4.1"; sha256="0pgy9a8llj0zzzc06afzd0w11mdbx3xvmjf0qpzvsid1zqdbcqxr"; depends=[bbmle fastGHQuad mgcv numDeriv Rcpp RcppArmadillo survival]; };
@@ -10410,13 +10692,13 @@ in with self; {
   rtiff = derive2 { name="rtiff"; version="1.4.5"; sha256="0wpjp8qwfiv1yyirf2zj0696zb7m7fpzn953ii8vbmgzhakgr8kw"; depends=[pixmap]; };
   rtimes = derive2 { name="rtimes"; version="0.5.0"; sha256="1z8iaxkvd99fnk46vzbw6lax2qayng6s5n1sxn78kvp8py552f61"; depends=[crul data_table dplyr jsonlite tibble]; };
   rtimicropem = derive2 { name="rtimicropem"; version="1.3"; sha256="1z7nrmzwdgz7fy2i23rl07jd39sdxqsdmmmkaaxzagj7whd58inj"; depends=[changepoint dplyr ggplot2 knitr lazyeval lubridate pathological R6 rbokeh readr stringr tibble tidyr]; };
-  rtip = derive2 { name="rtip"; version="1.0.0"; sha256="1xkw0m4fnwbsqqyhvxhsia3hlpjb2qhs6y0c4g7f7qa7f0ibcbja"; depends=[boot ggplot2 mvtnorm plyr]; };
+  rtip = derive2 { name="rtip"; version="1.1.1"; sha256="0lfny8nvgnf90xsmgmr32nzjbw8117m4vw7d0bc3xm4pzpnymjdq"; depends=[boot ggplot2 mvtnorm plyr rootSolve]; };
   rtk = derive2 { name="rtk"; version="0.2.5.4"; sha256="1nh757l4ih5pmmh7b84ca1f5wpz9mcksdb0a4rvs2hhgap38ihg9"; depends=[Rcpp]; };
-  rtkore = derive2 { name="rtkore"; version="1.5.0"; sha256="15hz9cmc1i9lnifh8bbgr5r8dacn0l38zhn3ldc6wxphn7j8h075"; depends=[Rcpp]; };
-  rtop = derive2 { name="rtop"; version="0.5-13"; sha256="1md9sgsmbc3jv1lc4l6r26830k9vjljjqpzzna4s23bn6ky7glgp"; depends=[gstat rgdal sp]; };
+  rtkore = derive2 { name="rtkore"; version="1.5.1"; sha256="03vmgrsil5yrrs3ndgqvfcwv9plcawc8v2y2x9nwcashxg40djn6"; depends=[Rcpp]; };
+  rtop = derive2 { name="rtop"; version="0.5-14"; sha256="1wwllckginnzisapbklpsizy47db24r83xahq4qsd8zhqvv9yj33"; depends=[gstat sp]; };
   rtrends = derive2 { name="rtrends"; version="0.1.0"; sha256="04xdggf36m294drb9z8khdjr6fgsg4bwkb4mmbbvqfzjpq4mq4y1"; depends=[dplyr lubridate tidyr]; };
-  rtrim = derive2 { name="rtrim"; version="1.0.1"; sha256="134j5sv9dvcq1n37rry7615nr3pa54by6r7ss7fagcmy4lnma2ps"; depends=[]; };
-  rts = derive2 { name="rts"; version="1.0-38"; sha256="1m9kir2snfhxyagsflp4cyii33ycw4fr0f8bn7r92757l92i7vr7"; depends=[raster RCurl sp xts zoo]; };
+  rtrim = derive2 { name="rtrim"; version="2.0.4"; sha256="1xl3xai768idnfc30hp20cnpq3a07049p7vpkqpdrpla6a8zhvqk"; depends=[]; };
+  rts = derive2 { name="rts"; version="1.0-45"; sha256="11gvgj5bqiacsf51sg4dj7jpsjgdj6j26vqc8by15325a4c804ml"; depends=[raster RCurl sp xts zoo]; };
   rtson = derive2 { name="rtson"; version="1.3"; sha256="1gwvk7nmq9bz90jy1zh7lhr735iw804pmwxykdpaigcsnxk7zx03"; depends=[R6]; };
   rtweet = derive2 { name="rtweet"; version="0.6.0"; sha256="0bh483wfl4f8xscdyv3ys5hhdabc91dynlbqlxxv8mil7pgg3chg"; depends=[bit64 httr jsonlite magrittr openssl readr tibble]; };
   rtype = derive2 { name="rtype"; version="0.1-1"; sha256="0wjf359w7gb1nrhbxknzg7qdys0hdn6alv07rd9wm6zynnn1vwxy"; depends=[]; };
@@ -10425,23 +10707,24 @@ in with self; {
   rucm = derive2 { name="rucm"; version="0.6"; sha256="1n6axmxss08f2jf5impvyamyhpbha13lvrk7pplxl0mrrrl5g0n8"; depends=[KFAS]; };
   rucrdtw = derive2 { name="rucrdtw"; version="0.1.3"; sha256="0wbh9zbgqf5bk1ix5qry18lhgdqk90pn5xnv401268gldjy4z777"; depends=[Rcpp]; };
   rugarch = derive2 { name="rugarch"; version="1.4-0"; sha256="0b0rq88v93945g7pr6xin7wfdm8zl2vw8hxwa2kfak4xnrrprsyy"; depends=[chron expm ks nloptr numDeriv Rcpp RcppArmadillo Rsolnp SkewHyperbolic spd xts zoo]; };
-  ruler = derive2 { name="ruler"; version="0.1.1"; sha256="02h931ycsblwxjss9zwim4bxpqfgnyac1sblplcai085nq7fd30h"; depends=[dplyr keyholder rlang tidyr]; };
+  ruler = derive2 { name="ruler"; version="0.1.2"; sha256="1d0vf505fyinq4k2lfcvsii9fxs2xygfj5hrcwd566arpd2wkg7m"; depends=[dplyr keyholder rlang tidyr]; };
   runittotestthat = derive2 { name="runittotestthat"; version="0.0-2"; sha256="15zdcvqkr5ivq6wk6dw8k6diginc6z7mdc18pswim90d99j2g9sm"; depends=[assertive RUnit]; };
   runjags = derive2 { name="runjags"; version="2.0.4-2"; sha256="035sxmh0b0m6dwz8qbpsmw2p7ihkx3cxgkhj27i0j6dsjryl3x4p"; depends=[coda lattice]; };
   rusda = derive2 { name="rusda"; version="1.0.8"; sha256="0xx72jjf1pyixwpnvvgx5n2vc5gl46bam1caav043iqki68wb338"; depends=[foreach httr plyr RCurl stringr taxize testthat XML]; };
+  rusk = derive2 { name="rusk"; version="0.1"; sha256="05ci4f0k2b54sqf0h6j38h3kkq3r27klva0hfg968snr9bb6v0wv"; depends=[dplyr ggforce ggplot2 reshape2 shiny tidyr]; };
   rust = derive2 { name="rust"; version="1.3.4"; sha256="1jb970kskl2wdhqcjbxl8gh986abdy96jbipnsdi3656ic5dxivn"; depends=[Rcpp RcppArmadillo spatstat]; };
-  ruv = derive2 { name="ruv"; version="0.9.6"; sha256="12zi775nx6k1j9sz691x6r9r0arfnhwddf5nxbr1xk25dj9qa210"; depends=[]; };
+  ruv = derive2 { name="ruv"; version="0.9.7"; sha256="1ynxmax9sz74s8abmmizla6jas385mn5ij151mq35k0yv1xszzj5"; depends=[ggplot2 gridExtra scales]; };
   rv = derive2 { name="rv"; version="2.3.2"; sha256="108s9q19h5ypxb9w4a8nk97js261izag1sf75g4xfqblwxxrbflc"; depends=[]; };
   rvHPDT = derive2 { name="rvHPDT"; version="3.0"; sha256="05nrfnyvb8ar7k2bmn227rn20w1yzkp1smwi4sysc00hyjrlyg8s"; depends=[gtools]; };
   rvTDT = derive2 { name="rvTDT"; version="1.0"; sha256="09c2fbqnlwkhaxfmgpsdprl0bb447ajk9xl7qdlda201fvxkdc8v"; depends=[CompQuadForm]; };
   rvcheck = derive2 { name="rvcheck"; version="0.0.9"; sha256="14pa7fa7yyhmk0v5md7x5xr5jd4gjwjlvgbynnhq30fj56qffyvf"; depends=[]; };
   rversions = derive2 { name="rversions"; version="1.0.3"; sha256="0i2gi05nrvknr7g89rbppkswyfcwwd4r9gp75fdfhpah8sgq1l11"; depends=[curl xml2]; };
-  rvertnet = derive2 { name="rvertnet"; version="0.6.2"; sha256="12qffkkl3yqiqh0zi4zrj6irv7jnylja7fv21h3fnjpvqwkazv8a"; depends=[crul dplyr ggplot2 jsonlite maps]; };
+  rvertnet = derive2 { name="rvertnet"; version="0.7.0"; sha256="01z3ij5z21v901hz4l9173r4pa9jz2nl7bx086ka1bxvcy0dgqgj"; depends=[crul dplyr ggplot2 jsonlite maps]; };
   rvest = derive2 { name="rvest"; version="0.3.2"; sha256="04mv99z8dixywx96kfy4215g6ib23s7qvd77hcf9pxqxzcvqhvhd"; depends=[httr magrittr selectr xml2]; };
   rvg = derive2 { name="rvg"; version="0.1.8"; sha256="03hank94b5d1spig9jzrm5h2xbipi8skwqjg8sfwxwy5sjyrbaam"; depends=[gdtools officer Rcpp xml2]; };
   rvgtest = derive2 { name="rvgtest"; version="0.7.4"; sha256="1lhha5nh8fk42pckg4ziha8sa6g20m0l4p078pjj51kz0k8929ng"; depends=[]; };
-  rvinecopulib = derive2 { name="rvinecopulib"; version="0.2.5.1.0"; sha256="122h7nncgkgq0qchb5apiicwx94zr40i7fwm7x1718qxi7npz8wh"; depends=[BH lattice Rcpp RcppEigen RcppThread]; };
-  rwalkr = derive2 { name="rwalkr"; version="0.3.2"; sha256="0vp7iizc6bn3y30vcrvksy91aiid52q01vgzjphc5m5sy99gsxj2"; depends=[dplyr httr tibble tidyr]; };
+  rvinecopulib = derive2 { name="rvinecopulib"; version="0.2.7.1.0"; sha256="1w3nwxpvmmkcvyymhz434xh6srjc87hj824bcjydmavx221ncf6p"; depends=[BH lattice Rcpp RcppEigen RcppThread]; };
+  rwalkr = derive2 { name="rwalkr"; version="0.3.3"; sha256="03kpv4hvlajm09cqrlihia62pcj1skakx28ci4mgbfgpjy6l4jsl"; depends=[dplyr httr tibble tidyr]; };
   rwars = derive2 { name="rwars"; version="1.0.0"; sha256="0kmwpr6gn3xsf0pqx153vblpjbhc34mzlgyv8xb2nw78nf8znfij"; depends=[httr]; };
   rwc = derive2 { name="rwc"; version="1.1"; sha256="0gdpskj87wjnpas90i3iqn1qv6frrki2xqiyyakg3zpaviw1imag"; depends=[MASS Matrix mvtnorm raster]; };
   rwfec = derive2 { name="rwfec"; version="0.2"; sha256="0wmalfms59zi8jdn2s2qbcdckfkifl9vg19hzx4389mm5gk6qsbh"; depends=[Rcpp]; };
@@ -10465,7 +10748,8 @@ in with self; {
   sEparaTe = derive2 { name="sEparaTe"; version="0.2.1"; sha256="0k1c0wa052f1fprc9jn0i3g2cawxfhkan998jlhkr4iy986jynw9"; depends=[]; };
   sExtinct = derive2 { name="sExtinct"; version="1.1"; sha256="1l6232z6c4z3cfl1da94wa6hlv9hj5mcb85fj1y0yparkvvl8249"; depends=[lattice]; };
   sFFLHD = derive2 { name="sFFLHD"; version="0.1.1"; sha256="19zhx0rc6h44301a5q68r9jbxzh12ci3387d1c319vdiw05nschy"; depends=[conf_design DoE_base]; };
-  sNPLS = derive2 { name="sNPLS"; version="0.3.0"; sha256="0qb7l42hxi3sgdmc52j5hr9gz7fv5jx9qrwcyspzq671s4d1zsq1"; depends=[car ggplot2 ks MASS Matrix pbapply plotrix rgl]; };
+  sGMRFmix = derive2 { name="sGMRFmix"; version="0.3.0"; sha256="183i3159k2cxpanm09zcy2y1vvjd6185gjjf81c3284prw3aky2c"; depends=[ggplot2 glasso mvtnorm tidyr zoo]; };
+  sNPLS = derive2 { name="sNPLS"; version="0.3.31"; sha256="0ja2f4n000r7cvf0jj2qypa5mfkikig47hfpqwh4611sl70qgx2y"; depends=[car ggplot2 ks MASS Matrix pbapply plotrix rgl]; };
   sRDA = derive2 { name="sRDA"; version="1.0.0"; sha256="0g11smn4adm3b79m9w7wzcragxggkf8rrrsgj2yzdhm1d7zzjwbk"; depends=[doParallel elasticnet foreach Matrix mvtnorm]; };
   sROC = derive2 { name="sROC"; version="0.1-2"; sha256="0cp6frhk9ndffb454dqp8fzjrla76dbz0mn4y8zz1nbq1jzmz0d3"; depends=[]; };
   sSDR = derive2 { name="sSDR"; version="1.2.0"; sha256="1fqsglqzsbzdvcdnwwf7mg6x20zfpw66x63r6avac3w1pz3n7kvx"; depends=[MASS Matrix]; };
@@ -10477,13 +10761,14 @@ in with self; {
   sads = derive2 { name="sads"; version="0.4.1"; sha256="1ir5cfjw3416gg7bvfp2qrn9qy1xbklb9a57rp06ghjg7d4slwpr"; depends=[bbmle GUILDS MASS poilog VGAM]; };
   sae = derive2 { name="sae"; version="1.1"; sha256="1izww27cqd94yrfbszbzy44plznxsirzn0752ag7xw7qzm5ywp3d"; depends=[MASS nlme]; };
   sae2 = derive2 { name="sae2"; version="0.1-1"; sha256="0fbbh2s0gjhyhypaccnd37b5g2rhyzq7mrm6s0z36ldg1pzi4dd9"; depends=[MASS]; };
-  saeRobust = derive2 { name="saeRobust"; version="0.1.0"; sha256="1zin9ix4wx3qbx2mfjyn61l0g1k4dgn4ps79qn21y6l9r647ya9q"; depends=[aoos assertthat ggplot2 magrittr MASS Matrix memoise modules Rcpp RcppArmadillo spdep]; };
+  saeRobust = derive2 { name="saeRobust"; version="0.2.0"; sha256="1bdfrsm59xwkga0kxl3r5n83mhhkyzj7gplrgx26gyflashyd1zc"; depends=[aoos assertthat ggplot2 magrittr MASS Matrix memoise modules pbapply Rcpp RcppArmadillo spdep]; };
   saeSim = derive2 { name="saeSim"; version="0.9.0"; sha256="19l41qpwspccphmgxi20p7f473lxxh8d86b0wyy5jq24phhd8awx"; depends=[dplyr functional ggplot2 MASS parallelMap spdep]; };
   saemix = derive2 { name="saemix"; version="2.1"; sha256="1g52vkqg2dfld7miakkmp23yf4yzc7ka0hbg2fl6ya9cq9m7wyqq"; depends=[]; };
   saery = derive2 { name="saery"; version="1.0"; sha256="09x1v627llqbpiwkh1wr0z7gsndfdrjzag2hprhq1adbzh05k47z"; depends=[]; };
   safeBinaryRegression = derive2 { name="safeBinaryRegression"; version="0.1-3"; sha256="1g68r6pp5l41rbgyfqgcha1gpsisnl0ybdmdqr4ylr43f61dpgvd"; depends=[lpSolveAPI]; };
   safer = derive2 { name="safer"; version="0.2.0"; sha256="0659xn8jzd5md2mm71p4036ljrfvlhkfshsgidx7l2k9ig532059"; depends=[assertthat base64enc sodium]; };
   safi = derive2 { name="safi"; version="1.0"; sha256="1km58w57kdmyfj4a97zhnjcka4q4pxm8r2br01qq2niaihpbzp98"; depends=[]; };
+  salesforcer = derive2 { name="salesforcer"; version="0.1.2"; sha256="02a4xzwphy5zfkd0qza6cm2n7dpf71bmc6r78gj17w4amrp3k5y5"; depends=[dplyr httr jsonlite lubridate purrr readr XML xml2]; };
   samon = derive2 { name="samon"; version="4.0.0"; sha256="0pvv93ahh0i69ncc3sic9481wd5rv5dfxysxyzkl61ds3yvrr09v"; depends=[]; };
   sampSurf = derive2 { name="sampSurf"; version="0.7-4"; sha256="0azs8d1d4cp5vzrlzpn2lbqmbha6rxq109apg6hr2hf7i81g19d7"; depends=[boot lattice latticeExtra raster rasterVis sp]; };
   sampleSelection = derive2 { name="sampleSelection"; version="1.2-0"; sha256="1s3p5fvvxkjkm6vjpxi3rw8ncbmyvqpfb0gghcvf2sspdyzam1s2"; depends=[Formula maxLik miscTools mvtnorm systemfit VGAM]; };
@@ -10517,10 +10802,11 @@ in with self; {
   sbgcop = derive2 { name="sbgcop"; version="0.975"; sha256="0f47mvwbsym4khwgl0ic3pqkw3jwdah9a48qi3q93d46p2xich61"; depends=[]; };
   sbioPN = derive2 { name="sbioPN"; version="1.1.0"; sha256="0yvg55xnkhm35hfl7rldy2grb26hm4a68jr4x9n45fs7hhdylxri"; depends=[]; };
   sbmSDP = derive2 { name="sbmSDP"; version="0.2"; sha256="1sl46lqi6w0s7ghv4bywhic56cm2vib3kawprga760m6igargx4y"; depends=[Rcpp RcppArmadillo]; };
+  sbpiper = derive2 { name="sbpiper"; version="1.6.0"; sha256="00i6wp893rsmm688si3yja7bphmz6ixidhchg2j2h50cfik9q18h"; depends=[colorRamps data_table factoextra FactoMineR ggplot2 Hmisc reshape2 scales stringr]; };
   sbrl = derive2 { name="sbrl"; version="1.2"; sha256="1d0f2mlzzcghhvqagrr954qa69b5v47milw3iazxihh8q1qlird2"; depends=[arules Rcpp]; };
   sbtools = derive2 { name="sbtools"; version="1.1.6"; sha256="1wvd7xbkfyx88bi1vz30c6jb20fgsrcgpvkw4g4ym0966vhv1ca1"; depends=[curl httr jsonlite stringr]; };
   scaRabee = derive2 { name="scaRabee"; version="1.1-3"; sha256="1yap3hi36f8hk93jn59nxrbgq8iw0xwkkm3pc2gb50cpcpaq41pd"; depends=[deSolve lattice neldermead]; };
-  scagnostics = derive2 { name="scagnostics"; version="0.2-4"; sha256="0fhc7d2nfhm8w6s6z1ls6i8d7c90h4q7rb92rz8pgq3xh031hpcf"; depends=[rJava]; };
+  scagnostics = derive2 { name="scagnostics"; version="0.2-4.1"; sha256="1azg1xlid63l9mcyns9yyl3a3hykbl0sl0h5jhyvzjzahfyanq53"; depends=[rJava]; };
   scaleboot = derive2 { name="scaleboot"; version="0.3-4"; sha256="16shdj4b8pbdbphqzw7r5xzx6k2qfkr729inv21gkp9qcp4h0vrm"; depends=[mvtnorm pvclust]; };
   scales = derive2 { name="scales"; version="0.5.0"; sha256="0zg9wfzmsdjxpbld0nzv7hcpq5r0wazqxmn7grvvif2agj0w1z6v"; depends=[dichromat labeling munsell plyr R6 RColorBrewer Rcpp viridisLite]; };
   scalpel = derive2 { name="scalpel"; version="1.0.0"; sha256="0zk81q2f49vrbprlvjq3q4s2ak7rrlpj55rrfkqr8nq1vvi6nxd2"; depends=[gam igraph Matrix protoclust R_matlab SDMTools]; };
@@ -10531,9 +10817,9 @@ in with self; {
   scape = derive2 { name="scape"; version="2.3-1"; sha256="0maccnkhn7wf6brwnb5b7nh2yx3afx0h7kji2475mvg19909mddq"; depends=[coda Hmisc lattice]; };
   scar = derive2 { name="scar"; version="0.2-1"; sha256="04x42414qxrz8c7xrnmpr00r46png2jy5giwicdx6gx8jwrkzhzs"; depends=[]; };
   scatr = derive2 { name="scatr"; version="1.0.1"; sha256="1c2z722i7d7qflh4mzb8kkix5i22wph98kwz2p98x2mhaml8802d"; depends=[cowplot ggplot2 ggridges ggstance jmvcore R6]; };
-  scatterD3 = derive2 { name="scatterD3"; version="0.8.1"; sha256="1fyk2z8ari73nbah2r4c677nm3v0whfia6sh39gr674cczp6vc8q"; depends=[digest ellipse htmlwidgets]; };
-  scatterpie = derive2 { name="scatterpie"; version="0.0.8"; sha256="1dfwz83hxdms7qglsz540wszzcd5hfmjzw440c93jgi18n6kx9s4"; depends=[ggforce ggplot2 tidyr]; };
-  scatterplot3d = derive2 { name="scatterplot3d"; version="0.3-40"; sha256="0ababcj87kx7860mica9y2ydlhskxmgj9n46crx036cila512jc2"; depends=[]; };
+  scatterD3 = derive2 { name="scatterD3"; version="0.8.2"; sha256="1cfh060ffwxy33b1f7n8mba1sbbwgx28mqn08im16dqbphkcmx1z"; depends=[digest ellipse htmlwidgets]; };
+  scatterpie = derive2 { name="scatterpie"; version="0.1.0"; sha256="0ssfvnwwfyavzxxrbimb623pc0y72qvbis16sdr6fxvyfif4qmm5"; depends=[ggforce ggplot2 rlang tidyr]; };
+  scatterplot3d = derive2 { name="scatterplot3d"; version="0.3-41"; sha256="152xqz9c70qab86mpgng049gxsg5f4fpf1m8dh93fb9v1avjd0sc"; depends=[]; };
   scclust = derive2 { name="scclust"; version="0.1.1"; sha256="1bml4qyyspwaqxzwjhqy8i450614p3f3dj0s0qdkv6psa60h0w5z"; depends=[distances]; };
   scdensity = derive2 { name="scdensity"; version="1.0.2"; sha256="173xm3bf8vxl30zk4n451al7m003byg9q4d1l1pfyfa4xnv8qdg9"; depends=[lpSolve quadprog]; };
   scdhlm = derive2 { name="scdhlm"; version="0.3.1"; sha256="1b5x4kqvmkpb8wbgfhnwqakisw6hfnvama2bsnd8kvw4alfanxhm"; depends=[nlme]; };
@@ -10550,7 +10836,7 @@ in with self; {
   sclero = derive2 { name="sclero"; version="0.2"; sha256="1vqysby822s958msnwcqmz78193vrgmpf6si1jnfb9cj90hh7wgg"; depends=[plyr RImageJROI spatstat]; };
   scmamp = derive2 { name="scmamp"; version="0.2.55"; sha256="17qhj9l1akxachaimy9d5rls8adph8aalj3qr6ckip29a8ma9gf7"; depends=[ggplot2 graph reshape2 Rgraphviz]; };
   score = derive2 { name="score"; version="1.0.2"; sha256="1p289k1vmc7qg70rv15x05dyb92r7s6315whr1ibi40sqln62a5s"; depends=[msm]; };
-  scorecard = derive2 { name="scorecard"; version="0.1.5"; sha256="1cf4cmn3csbv1l3nnr3873vszp7xb5v4864g072mwzg7xr1maj4w"; depends=[data_table ggplot2 gridExtra]; };
+  scorecard = derive2 { name="scorecard"; version="0.1.6"; sha256="1k5vcjd574i493wazckyg6a0b4pf9b833rqppq444lwvkag7qn2q"; depends=[data_table doParallel foreach ggplot2 gridExtra]; };
   scorer = derive2 { name="scorer"; version="0.2.0"; sha256="1mc4hxcrqzh4dmz5fy40740bnrp4fxia81fj3cdw9382p67ivhim"; depends=[Rcpp]; };
   scoring = derive2 { name="scoring"; version="0.6"; sha256="114jlpbnm15fdan5lr40adxdzwajy3yhdw6dm4kvkvky6qhcx7q5"; depends=[]; };
   scoringRules = derive2 { name="scoringRules"; version="0.9.4"; sha256="0m8050qqb3j0miwfbadp6lmd2q5vicsqn4waw4jszz52fhb8mv27"; depends=[MASS Rcpp RcppArmadillo]; };
@@ -10559,6 +10845,7 @@ in with self; {
   scraEP = derive2 { name="scraEP"; version="1.0"; sha256="1pmab2nhymb7vjfg7vysqn2cs9apdkwxgi55qn8kjg2g5r0098p7"; depends=[RCurl XML]; };
   scrapeR = derive2 { name="scrapeR"; version="0.1.6"; sha256="1rqgqpn9rc43rh356z9gb51pjhdczr9a9mgv0i078nniq156rmlb"; depends=[RCurl XML]; };
   scrime = derive2 { name="scrime"; version="1.3.3"; sha256="1vp7ai10m0f3s0hywyqh0yllxj6z6p795zqpr6vp58fh6yq20x73"; depends=[]; };
+  scriptName = derive2 { name="scriptName"; version="1.0.0"; sha256="0jpr9x5hf45cik5zxqw0j3vkvbk04a7ck2crvb2472hrv7s9al55"; depends=[purrr rlang]; };
   scriptests = derive2 { name="scriptests"; version="1.0-16"; sha256="11l145gvzkxqwbzw976rq94krly1p4lahqw051dwaacarq4hnrdg"; depends=[]; };
   scriptexec = derive2 { name="scriptexec"; version="0.2.1"; sha256="09gaccqadb51ia66xk9vi3p9472s82bg6v8i6ba390g04yipbipi"; depends=[]; };
   scrm = derive2 { name="scrm"; version="1.7.2-1"; sha256="123rxx1a13fbv975hp9f9rjcigp8vfai7679wbn9dlyvph5nivaz"; depends=[Rcpp]; };
@@ -10567,13 +10854,14 @@ in with self; {
   scuba = derive2 { name="scuba"; version="1.9-1"; sha256="1b92b6p9dn54rmcaw2ng41pvvvkmrzgg12d6zcr3yh8qgi89pvdi"; depends=[]; };
   sdPrior = derive2 { name="sdPrior"; version="0.3"; sha256="0d3w75p3r2h07xhp7fj4si1y4sav8vs0lq6h2h4fn4f2inn3l0vl"; depends=[caTools GB2 MASS]; };
   sda = derive2 { name="sda"; version="1.3.7"; sha256="1v0kp6pnjhazr8brz1k9lypchz8k8gdaby8sqpqzjsj8klghlcjp"; depends=[corpcor entropy fdrtool]; };
-  sdat = derive2 { name="sdat"; version="1.0"; sha256="1rp2s3y44f3vj0p16j1k2rrs44kmnzy9k0lpcm9ga801nbv93saz"; depends=[]; };
-  sdcMicro = derive2 { name="sdcMicro"; version="5.1.0"; sha256="06rnnm5g7rpbbxgdb9sl7gkcimdbx1qmgzg5d2n0jl4b81jac2n2"; depends=[car cluster data_table DT e1071 ggplot2 haven knitr MASS prettydoc Rcpp rhandsontable rmarkdown robustbase sets shiny shinyBS VIM xtable]; };
+  sdat = derive2 { name="sdat"; version="1.1"; sha256="1mxijw2yfblqjvqqb2xrzhfn9c872i1q9ggw24xicvr2fk4lvjw6"; depends=[]; };
+  sdcMicro = derive2 { name="sdcMicro"; version="5.2.0"; sha256="1kfws4y59x7blvv8ix1xvwi92ccfsjnjlifs89jj18wjlb2khjsw"; depends=[car carData cluster data_table DT e1071 ggplot2 haven knitr MASS prettydoc Rcpp rhandsontable rmarkdown robustbase sets shiny shinyBS VIM xtable]; };
   sdcTable = derive2 { name="sdcTable"; version="0.22.8"; sha256="134a0g1v5w9airckn1bqp4k7hv2dcl5kmb1hx78nw5s8h92y3gkc"; depends=[data_table lpSolveAPI Rcpp Rglpk slam stringr]; };
   sdcTarget = derive2 { name="sdcTarget"; version="0.9-11"; sha256="18cf276mh1sv16xn0dn8par4zg8k7y8710byxiih6db4i616fjpi"; depends=[doParallel foreach magic tuple]; };
   sddpack = derive2 { name="sddpack"; version="0.9"; sha256="1963l8jbfwrqhqcpif73di9i5mb996r4f8smjyil6l7sdir7cg9l"; depends=[]; };
   sde = derive2 { name="sde"; version="2.0.15"; sha256="0gxyhq9lafd62y68h7fd746a3jz3jdsm0shgwm2ylmp4a2f5cdmm"; depends=[fda MASS zoo]; };
   sdef = derive2 { name="sdef"; version="1.6"; sha256="1y1l5fl7lh636kyvc2hwssdnifl055nrz3riplj4qqw88lkm1mk8"; depends=[]; };
+  sdm = derive2 { name="sdm"; version="1.0-46"; sha256="14z8336yxja1j7mx8xszqqi6s24nk6r5bycmw8h01wvq4rqgxi4g"; depends=[raster sp]; };
   sdmpredictors = derive2 { name="sdmpredictors"; version="0.2.6"; sha256="1kbgv5x5ilzccafl20x86fi9f7jqxnccvb8k7dy8q41s9n36qwfs"; depends=[R_utils raster rgdal]; };
   sdmvspecies = derive2 { name="sdmvspecies"; version="0.3.2"; sha256="19avkag13ij1k65vqhmvcy8j50j8vrgw4mjc49x8i63w3d4z1wxh"; depends=[psych raster]; };
   sdnet = derive2 { name="sdnet"; version="2.3.8"; sha256="10c962wbzgl2zpz7yx5kpryldbbq76qrd5pnz4rlmbaa9kfg08s5"; depends=[]; };
@@ -10583,8 +10871,9 @@ in with self; {
   sdtoolkit = derive2 { name="sdtoolkit"; version="2.33-1"; sha256="0pirgzcn8b87hjb35bmg082qp14idc5pfvm6dikpgkswag23hwh8"; depends=[]; };
   sdwd = derive2 { name="sdwd"; version="1.0.2"; sha256="0l0w4jn2p9b7acp8gmlv4w8n662l397kbrm4glslik0vnmjv151w"; depends=[Matrix]; };
   seaaroundus = derive2 { name="seaaroundus"; version="1.2.0"; sha256="09nyypzylb0y04ssd9ak2cw8wpy6a3nmabg9p7jrc8qz54wl6z4q"; depends=[crul ggplot2 jsonlite maps rgdal scales sp wicket]; };
-  seacarb = derive2 { name="seacarb"; version="3.2.4"; sha256="06r4grcdvm252nnln03pzqll9xqx1r3piaaxi81vfzs4w6gq1c94"; depends=[gsw oce]; };
+  seacarb = derive2 { name="seacarb"; version="3.2.6"; sha256="1036hrmgv7xn0khddbfdg0p9d4hmhhxxb3fd7fysjmzlk7k7naqb"; depends=[gsw oce]; };
   sealasso = derive2 { name="sealasso"; version="0.1-2"; sha256="0cjy3fj170p5wa41c2hwscmhqxwkjq22vhg9kbajnq7df2s20jcp"; depends=[lars]; };
+  sealr = derive2 { name="sealr"; version="0.1.0"; sha256="1ky0m120bf4mmb0c99ywrzr2jjx3cljscf9vnsnp54rkabh1q2mm"; depends=[clipr clisymbols digest dplyr glue magrittr purrr rlang rstudioapi styler tibble tidyr]; };
   searchConsoleR = derive2 { name="searchConsoleR"; version="0.3.0"; sha256="1z8bdlxq2sk8bcg164wy0yrmsx0inf0aj5ya2pybvadss8wr0qlr"; depends=[googleAuthR stringr]; };
   searchable = derive2 { name="searchable"; version="0.3.3.1"; sha256="0xc87i2q42j7dviv9nj4hkgjvpfiprkkjpgzwsy47vp7q8024dv0"; depends=[magrittr stringi]; };
   searcher = derive2 { name="searcher"; version="0.0.2"; sha256="0lj7zyqldr8m7ky20frzaxmf9by2h3p89ibwsa7dyrf378swkwwj"; depends=[]; };
@@ -10593,7 +10882,7 @@ in with self; {
   seasonal = derive2 { name="seasonal"; version="1.6.1"; sha256="1nvavn84f2zb0f6n352br52wcrcmnxv6vprzcpymrnzik7pyp8y6"; depends=[x13binary]; };
   seasonalview = derive2 { name="seasonalview"; version="0.3"; sha256="1l705yc7ssldsfckbgnvd95sh3zzhpkmf1rr6ar2s60s3wsyly4n"; depends=[dygraphs htmlwidgets openxlsx seasonal shiny shinydashboard xtable xts zoo]; };
   seawaveQ = derive2 { name="seawaveQ"; version="1.0.0"; sha256="19vm1f0qkmkkbnfy1hkqnfz6x2a7g9902ka76bhpcscynl69iy56"; depends=[lubridate NADA survival]; };
-  secr = derive2 { name="secr"; version="3.1.3"; sha256="0py8qk141q0h8pkw40w3l4pjhwpn8pa8k2s8qgligvnnmyzp7z00"; depends=[abind MASS mgcv nlme raster sp stringr]; };
+  secr = derive2 { name="secr"; version="3.1.5"; sha256="1sxapy8h1kx4fk405j6nanvdl5g9gz4arg0v15cmhb4plij3mg3c"; depends=[abind MASS mgcv nlme raster sp stringr]; };
   secrdesign = derive2 { name="secrdesign"; version="2.5.4"; sha256="1kbqgdjpyns11ag16rgw9n6mvmjgdypk9lv3yzwf4kynds46wbbk"; depends=[abind secr]; };
   secret = derive2 { name="secret"; version="1.0.0"; sha256="09b28f7ndc167bbanbdydralykq718fixnrgs5xr9d3fbdhz1vdl"; depends=[assertthat curl jsonlite openssl rprojroot]; };
   secrlinear = derive2 { name="secrlinear"; version="1.1.1"; sha256="0jcvraypkss1gphh4cjb0b4v9460fj4dw80yd057ah11p9942ggs"; depends=[igraph maptools MASS rgdal secr sp]; };
@@ -10602,10 +10891,12 @@ in with self; {
   seeclickfixr = derive2 { name="seeclickfixr"; version="1.1.0"; sha256="1agsqq2msrqrssffc6liyjjs6nqm90xy2inlcjbkdac5dhinjc4n"; depends=[jsonlite RCurl]; };
   seedCCA = derive2 { name="seedCCA"; version="1.0"; sha256="1grs6ykiyp8p5gh93hgb4niggppbh2wzwl6yx0l1qs9fkcz5zvy7"; depends=[CCA corpcor]; };
   seedy = derive2 { name="seedy"; version="1.3"; sha256="1a21sl8i7z12cjaqj08lkq3viazxlgxv82vaarm58fgbpsvdi0m0"; depends=[]; };
-  seewave = derive2 { name="seewave"; version="2.0.5"; sha256="1ml0jcqb6i6v0xgarvzg51rgax6lsf6y2255jq1kfz4v8n39vnh0"; depends=[tuneR]; };
+  seewave = derive2 { name="seewave"; version="2.1.0"; sha256="0i0zhvgl64fwpabnwvfdxndmw5whhh2fd4lhpg399w4rzrwzv92y"; depends=[tuneR]; };
   seg = derive2 { name="seg"; version="0.5-1"; sha256="0gsdbq7b5wpknhlilrw771japr63snvx4vpirvzph4fjyby1c7rg"; depends=[sp splancs]; };
+  segclust2d = derive2 { name="segclust2d"; version="0.1.0"; sha256="0kymw36cvakx84c96npkbnsvv0a1s82773ib5c802ybvkb2r1k9p"; depends=[dplyr ggplot2 magrittr plyr RColorBrewer Rcpp RcppArmadillo reshape2 scales zoo]; };
   segmag = derive2 { name="segmag"; version="1.2.4"; sha256="1i717xg1z7s35pkwzywgjf9wx7zj9xksv0k87h7p1q62y073qbqm"; depends=[plyr Rcpp]; };
   segmented = derive2 { name="segmented"; version="0.5-3.0"; sha256="0nrik5fyq59hwiwjcpbi4p5yfavgfjq6wyrynhkrbm4k6v1g1wlq"; depends=[]; };
+  segregation = derive2 { name="segregation"; version="0.0.1"; sha256="0avapyr8h0c4hl0xchazr5gig9857y25xx4js788liy679iczwf7"; depends=[data_table]; };
   seismic = derive2 { name="seismic"; version="1.0"; sha256="02d11c3filzghi8cvryikaidmk40d4z3qxsqs7bjdhxyf814caw8"; depends=[]; };
   seismicRoll = derive2 { name="seismicRoll"; version="1.1.2"; sha256="183lx9lgmi06lv1l4gbmlmblfgjzhph4aavdnxrykpp6122hsq61"; depends=[Rcpp]; };
   sejmRP = derive2 { name="sejmRP"; version="1.3.4"; sha256="1j3sadbp12fip3n96s0hx1sg4kzwx8z01p1c905kv8gffhkz9bh0"; depends=[cluster DBI dplyr factoextra RPostgreSQL rvest stringi tidyr XML xml2]; };
@@ -10614,7 +10905,7 @@ in with self; {
   selection = derive2 { name="selection"; version="1.0"; sha256="1w2mzb16frcbh55icc5g8ai3hri9j6dhp7h0kc96iaspphnfw4n8"; depends=[fifer norm]; };
   selectiongain = derive2 { name="selectiongain"; version="2.0.591"; sha256="11gd9xdn3jl3mg3c9ykw8bqvcxhihn19iqsy8dl8bacijjv84bva"; depends=[mvtnorm]; };
   selectiveInference = derive2 { name="selectiveInference"; version="1.2.4"; sha256="1k7lnf6fplnxp3giwinldg9g5spi21infln21k413dv3wkksk71f"; depends=[glmnet intervals survival]; };
-  selectr = derive2 { name="selectr"; version="0.3-1"; sha256="0jc946456qp3g2icaifrqn4z7z5pn23rfw77796aa8mmlkp7qkyv"; depends=[stringr]; };
+  selectr = derive2 { name="selectr"; version="0.4-1"; sha256="1jp27rxks4w29l47k42869hp8hnkzq2rnvsqbr44wd19fqb2zm4b"; depends=[R6 stringr]; };
   selectspm = derive2 { name="selectspm"; version="0.2"; sha256="0wvhlzhl0janhms107xczmilpmr4y26jgk0ag3g34iqba7fbnfqd"; depends=[ecespa spatstat]; };
   seleniumPipes = derive2 { name="seleniumPipes"; version="0.3.7"; sha256="1krpzh2gy3yl07c2n1d8q21xjc2qcv5ac1kv7212710bxkdyfad6"; depends=[httr jsonlite magrittr whisker xml2]; };
   selfea = derive2 { name="selfea"; version="1.0.1"; sha256="0zyxbd5vg8nhigill3ndcvavzbb9sbh5bz6yrdsvzy8i5gzpspvx"; depends=[ggplot2 MASS plyr pwr]; };
@@ -10623,6 +10914,7 @@ in with self; {
   semGOF = derive2 { name="semGOF"; version="0.2-0"; sha256="1lsv72yaza80jqadmah7v2cpfqfay57y12hcz6brvia6bmr5qagb"; depends=[MASS matrixcalc sem]; };
   semPLS = derive2 { name="semPLS"; version="1.0-10"; sha256="0q5linjyv5npkw4grx3vq58iq2q1grf06ikivhkg8w7rvb7pqn6b"; depends=[lattice]; };
   semPlot = derive2 { name="semPlot"; version="1.1"; sha256="0fzz580an7mmq6vycxbcvfdqbii0qz0nghlidb6in05j8dppsnsn"; depends=[colorspace corpcor igraph lavaan lisrelToR OpenMx plyr qgraph rockchalk sem semTools XML]; };
+  semPower = derive2 { name="semPower"; version="1.0.0"; sha256="0wciz5qrd40q4mxq96pibnya11ac42n37c9xhjd4zfhznhjz06bb"; depends=[]; };
   semTools = derive2 { name="semTools"; version="0.4-14"; sha256="1j1chman14i908c009lf0jgdmrrb8avgp8nif1i9wlj6vgif890c"; depends=[lavaan]; };
   semdiag = derive2 { name="semdiag"; version="0.1.2"; sha256="0kjcflw7dn907zx6790w7hnf5db6bf549whfsc0c2r173kf13irp"; depends=[sem]; };
   semds = derive2 { name="semds"; version="0.9-2"; sha256="0ig8b7ii1c8av0il904b71lzr8lqdiibwf16yj5dp8n4xc80bryh"; depends=[minpack_lm pracma]; };
@@ -10647,10 +10939,10 @@ in with self; {
   sensory = derive2 { name="sensory"; version="1.1"; sha256="1zd0ajrymxi6gygcq9fqgwgy0g6c3cqz53x0k5m0ihbmh11rc7s7"; depends=[gtools MASS Matrix]; };
   senstrat = derive2 { name="senstrat"; version="1.0.3"; sha256="0j6mb55v5ivqvk8nn8fjlzrbdgj6csa58yc6gy1g07m7gk2qz2np"; depends=[BiasedUrn MASS]; };
   sentimentr = derive2 { name="sentimentr"; version="2.2.3"; sha256="0f9hwiyja9cgig0ja9miqzsfwpn25bfa8xrwfm34v1n2l3v2gbxv"; depends=[data_table ggplot2 lexicon stringi syuzhet textclean textshape]; };
-  sentometrics = derive2 { name="sentometrics"; version="0.2"; sha256="0pndbas1xya2pnriil94r0pp6zjd44flhsqimdgmi7w5k87wlabf"; depends=[abind caret data_table foreach ggplot2 ggthemes glmnet ISOweek MCS quanteda Rcpp RcppArmadillo RcppRoll sentimentr stringi zoo]; };
+  sentometrics = derive2 { name="sentometrics"; version="0.3.5"; sha256="0628vnv3wga21z5dvhxs3alj194s43xgaasifpbfm2gmfzma6lb4"; depends=[abind caret data_table foreach ggplot2 ggthemes glmnet ISOweek MCS quanteda Rcpp RcppArmadillo RcppRoll stringi zoo]; };
   seoR = derive2 { name="seoR"; version="0.1.0"; sha256="0aa74a9vi176ap4ap44sjm8lm3025dss067sm5lgc4b73a6ph75p"; depends=[digest dplyr httr igraph jsonlite RCurl readr robotstxt rvest stringr XML xml2]; };
   separationplot = derive2 { name="separationplot"; version="1.1"; sha256="0qfkrk8n6jj8l7ywngwsaikfwmd9hbrpr43x0l9wkjjp1asgs5l6"; depends=[]; };
-  seplyr = derive2 { name="seplyr"; version="0.5.3"; sha256="0xk3pqirgz49y94nk5karb939xbg7zxfalm1pkaj603arpi8y6am"; depends=[DBI dbplyr dplyr rlang RSQLite wrapr]; };
+  seplyr = derive2 { name="seplyr"; version="0.5.5"; sha256="1hb0df1mlqv8fivdnqg5lw7gj92hscrxw122isgixkqm74n0vc5y"; depends=[dplyr rlang wrapr]; };
   seqCBS = derive2 { name="seqCBS"; version="1.2"; sha256="1kywi3kvvl9y6nm7cwf6fj8gz9gzznp5va336g1akzgy77k82d8v"; depends=[clue]; };
   seqDesign = derive2 { name="seqDesign"; version="1.1"; sha256="1694swd8ik9fbiflmnw4xpq82kq18rqzkw0dv5pvq30c47xjgamv"; depends=[survival xtable]; };
   seqHMM = derive2 { name="seqHMM"; version="1.0.8"; sha256="1zr70ym32isav13wsb7zv4gv3bn04qi0dn5k0fqjbdcw36m5hfi8"; depends=[gridBase igraph Matrix nloptr numDeriv Rcpp RcppArmadillo TraMineR]; };
@@ -10663,13 +10955,13 @@ in with self; {
   seqtest = derive2 { name="seqtest"; version="0.1-0"; sha256="1bdfww9szh7h278id5xpfc39mxkcix3yvsdwc68wx3q3x0wxhqhq"; depends=[]; };
   sequences = derive2 { name="sequences"; version="0.5.9"; sha256="17571m525b6a3k4f0m936wfq401181gx1fpb7x4v0fhaldzdmk3a"; depends=[Rcpp]; };
   sequenza = derive2 { name="sequenza"; version="2.1.2"; sha256="0f3aj96qvbr1wqimlv6rxg0v34zlrgc6pbdy7sfkwfzs1n44q1xf"; depends=[copynumber squash]; };
-  sequoia = derive2 { name="sequoia"; version="0.9.3"; sha256="1lxq88bw5fbm2afdh79fs363dvb1c2jsz02dc6c0ndwkwch04igc"; depends=[plyr]; };
+  sequoia = derive2 { name="sequoia"; version="1.0.2"; sha256="1pn282s40ssprjrfh5drjr123ldlp84z3kviv6mmavrwhkp5lq5g"; depends=[plyr]; };
   sergeant = derive2 { name="sergeant"; version="0.5.2"; sha256="02chkyvmwd4nimw62v82rfbid1xqw5b1335na44pdi675g904250"; depends=[DBI dbplyr dplyr htmltools httr jsonlite purrr readr scales]; };
   serial = derive2 { name="serial"; version="1.3"; sha256="1ibwd8xmkd0pwdhivm6h3yd3rsi28mai5n7qcs1bq2mx8hb5lg7f"; depends=[]; };
   seriation = derive2 { name="seriation"; version="1.2-3"; sha256="1q6hw4hjw224b4y0dc0j630v2pgj6sn455nwkilb70w8k31hpk92"; depends=[cluster colorspace dendextend gclus gplots MASS qap registry TSP]; };
   seroincidence = derive2 { name="seroincidence"; version="1.0.5"; sha256="07lphrp7r3i87633q8g6svk2mxbsvq4blrf8gnm0p99hkmz8wgg9"; depends=[]; };
   serrsBayes = derive2 { name="serrsBayes"; version="0.3-12"; sha256="137pm5s7w6fxaalyc7hzvdkg7rayjhqw2dnb2q8q9ijp0v9wx7mr"; depends=[MASS Matrix Rcpp RcppEigen truncnorm]; };
-  servr = derive2 { name="servr"; version="0.8"; sha256="05pz4ychqp4cqywcdavdi8jj3y09gmam097d2idjnlcg9x61h2s9"; depends=[httpuv jsonlite mime]; };
+  servr = derive2 { name="servr"; version="0.9"; sha256="0bs0i5mjfzxfshqz8i30nhn7kvgwly4fqn5bfq6dqfdrn7biai2x"; depends=[httpuv jsonlite mime xfun]; };
   sesem = derive2 { name="sesem"; version="1.0.2"; sha256="0b1xzv38wpkhhlq87xrvlh45b8ksbi8bg4ar5hrf8gxa19r9rmi5"; depends=[gplots lavaan mgcv]; };
   session = derive2 { name="session"; version="1.0.3"; sha256="04mcy1ac75fd33bg70c47nxqxrmqh665m9r8b1zsz5jij1sbl8q5"; depends=[]; };
   sessioninfo = derive2 { name="sessioninfo"; version="1.0.0"; sha256="00g3lbvk1cjjzckl70fn5n3579qb301im4lbm3cip5c2v8k283dk"; depends=[clisymbols withr]; };
@@ -10678,28 +10970,27 @@ in with self; {
   setter = derive2 { name="setter"; version="0.0-1"; sha256="10fwrx8yysp99rrkbnn3rbz79vyzr2h3p7zxxlqapw1k2lllp0r5"; depends=[assertive_base]; };
   settings = derive2 { name="settings"; version="0.2.4"; sha256="092sv6nccm6p2d695l9w0zfi2xgymk12c8p8lhl9nb86mxrb3nry"; depends=[]; };
   severity = derive2 { name="severity"; version="2.0"; sha256="1mp19y2pn7nl9m8xfljc515kk5dirv0r2kypazpmd956lcivziqq"; depends=[]; };
-  sf = derive2 { name="sf"; version="0.6-0"; sha256="0g6ghmjpxvlpi2sgvcxb6dx74pl7nc70cr8lgslrnv0fhnjr49jk"; depends=[classInt DBI magrittr pillar Rcpp units]; };
+  sf = derive2 { name="sf"; version="0.6-1"; sha256="1hqsjbbasqb8vxswl7cwwjgvjiki71yb8fr301lzfxagkanys790"; depends=[classInt DBI magrittr Rcpp units]; };
   sfa = derive2 { name="sfa"; version="1.0-1"; sha256="1acqxgydf8j5csdkx0yf169x3yaa31r0ccdrqarh6vj1hacm89ad"; depends=[]; };
   sfadv = derive2 { name="sfadv"; version="1.0.1"; sha256="1rfpm6km5pckwhqgpvidm6qsj5sjdaqqj5b0sgvpslivfa4c80cr"; depends=[gmm minpack_lm]; };
   sfc = derive2 { name="sfc"; version="0.1.0"; sha256="0cm4mfcfd9bhf2j5fppsihzrfipnldb6q3xradd88z9pwgrkfx2a"; depends=[dplyr sna tidyr triangle zoo]; };
-  sfdct = derive2 { name="sfdct"; version="0.0.5"; sha256="02di504pcv423wk40ap8k18b2q759x8f5wsp8kkbwks54j42s69a"; depends=[dplyr RTriangle sf sp tibble]; };
+  sfdct = derive2 { name="sfdct"; version="0.0.6"; sha256="0ilh89mfwp1yqn44yn80vz1a6g65hryk6w87ngzvak3pd6jxq6aa"; depends=[dplyr RTriangle sf sp tibble]; };
   sfinx = derive2 { name="sfinx"; version="1.7.99"; sha256="14v47y00qwvc2s0vzjw19hwn85nzj8lna539c75qq6zkn6kir6va"; depends=[]; };
-  sfsmisc = derive2 { name="sfsmisc"; version="1.1-1"; sha256="0jzmbywlyzfxs7hlmyd0iynghfc9qp5sa5lnhr73y8r360yv1ahf"; depends=[]; };
+  sfsmisc = derive2 { name="sfsmisc"; version="1.1-2"; sha256="0cgq2h11ngkzd6p34k6mqjnvlvc5vj4lnqrl64k05lb391j391w0"; depends=[]; };
   sft = derive2 { name="sft"; version="2.2-0"; sha256="0d1yiimc899i09yyrv1x40ixqss87xjpy08ab16h9faxd4bsk3y2"; depends=[fda SuppDists]; };
   sgPLS = derive2 { name="sgPLS"; version="1.7"; sha256="1jk2j1zn5vq82rcjflnk7g6y2q0v5jl14k804dmigqg013gbykql"; depends=[mixOmics mvtnorm]; };
   sgRSEA = derive2 { name="sgRSEA"; version="0.1"; sha256="0vyypnq81l36x0j44q2l9wbf3x4krz4fzypi7vyqhaq97mkzaw5j"; depends=[]; };
   sgee = derive2 { name="sgee"; version="0.6-0"; sha256="055iydainzywb1s5id5rl9i94dj5arr9b6qz15p8wps49vm2mlp3"; depends=[copula mvtnorm]; };
   sgeostat = derive2 { name="sgeostat"; version="1.0-27"; sha256="1iq9p2jk8bpv1h853a1l91d5c5dxnhkk3cmkd01siqqvj04hv4vb"; depends=[]; };
-  sglOptim = derive2 { name="sglOptim"; version="1.3.6"; sha256="0gzhzfi5q9hgqgzagfdzi4cswpmwic9ggf72qi6axl1hixgmgp0w"; depends=[BH doParallel foreach Matrix Rcpp RcppArmadillo RcppProgress]; };
   sglasso = derive2 { name="sglasso"; version="1.2.2"; sha256="1yk9wvg98a2l9kdaksy75av9z9iz27v5d2zpsqhabqwkwfh6wkad"; depends=[igraph Matrix]; };
-  sglg = derive2 { name="sglg"; version="0.1.2"; sha256="0wqjw466j3j5ipjgp18978g7fwb2fvzxhfv2bp4dqdazmxrjyyqm"; depends=[Formula robustloggamma ssym survival]; };
+  sglg = derive2 { name="sglg"; version="0.1.3"; sha256="17w9mfb53ll8aqasl4ysnb0b7sk6cgp7s1cfvn07rg5win2swqrj"; depends=[Formula robustloggamma ssym survival]; };
   sglr = derive2 { name="sglr"; version="0.7"; sha256="11gjbvq51xq7xbmpziyzwqfzf4avyxj2wpiz0kp4vfdj3v7p4fp9"; depends=[ggplot2 shiny]; };
-  sgmcmc = derive2 { name="sgmcmc"; version="0.2.0"; sha256="1jqk6bic8g5zsdxa9f6w6j6ha6dnghfdi61cyy9vi94xsmkbkv66"; depends=[tensorflow]; };
+  sgmcmc = derive2 { name="sgmcmc"; version="0.2.2"; sha256="1ga3dynhldkl98fd7fzbbhb4bryf6nyijwvxsj8i1szy4jsv8q3q"; depends=[tensorflow]; };
   sgof = derive2 { name="sgof"; version="2.3"; sha256="12bpyvg5df1m2ar6frpi10zlj3dk9h61r13rzn3w5a3nyk8gljsg"; depends=[poibin]; };
   sgr = derive2 { name="sgr"; version="1.3"; sha256="0zxmrbv3fyb686hcgfy2w1w2jffxf41ab8yc90dsgf931s9c55wn"; depends=[MASS]; };
   sgt = derive2 { name="sgt"; version="2.0"; sha256="0qb3maj5idwafs40fpdfrwzkadnh5yg8fvfzfs51p9yy69kbmlkx"; depends=[numDeriv optimx]; };
   shades = derive2 { name="shades"; version="1.1.0"; sha256="0ajdpwisfax96mc3w1akjlkk36b6gni1aprxqvqlwlw8bmgsmj4p"; depends=[]; };
-  shadow = derive2 { name="shadow"; version="0.4.5"; sha256="00g82dwzmawb6v7x9sphs7vmmpjmzb4mvhw76x96wnasskqlrcpc"; depends=[raster rgeos sp]; };
+  shadow = derive2 { name="shadow"; version="0.5.0"; sha256="0a5flgc3r5psbsig3dns4pr1fyvkhmb7gh17sb5r4vm8w202p98y"; depends=[plyr raster rgeos sp]; };
   shadowtext = derive2 { name="shadowtext"; version="0.0.2"; sha256="17ccylxnl6837cf81fwkgywjmqizmcm6mhqak10sl5apnqm5n1nl"; depends=[ggplot2]; };
   shallot = derive2 { name="shallot"; version="0.4.3"; sha256="1rxx15qma6sbi4h2iv90ym4r22lwh64z495psrxv624w1zjypbvf"; depends=[commonsMath rscala]; };
   shape = derive2 { name="shape"; version="1.4.4"; sha256="0hadk3mapkhbh8xjkiz52vxdagmmgvm15xwpzb90ikw4giyipjzl"; depends=[]; };
@@ -10710,32 +11001,33 @@ in with self; {
   sharpr2 = derive2 { name="sharpr2"; version="1.0.0.0"; sha256="018xzpl9h07cddpmr2bxm9iz50ky0ja12kybjil7ipjfn0kxavyr"; depends=[mvtnorm]; };
   sharpshootR = derive2 { name="sharpshootR"; version="1.0"; sha256="1x9cava7b9lg8qpmjqlbkqmpc9a2dn8k4kl71s4himr4wzp9z4y3"; depends=[ape aqp circular cluster digest Hmisc igraph lattice latticeExtra plyr RColorBrewer reshape2 scales soilDB sp vegan]; };
   sharx = derive2 { name="sharx"; version="1.0-5"; sha256="10sfjg6946jfk4051da0w1v89503av40wckqaabr12syf8kn0aw8"; depends=[dclone dcmle Formula]; };
-  shazam = derive2 { name="shazam"; version="0.1.8"; sha256="0j953zf0wigr645a52088ajrchhr7xlf891hybbx8pvspj240f3y"; depends=[alakazam ape diptest doParallel dplyr foreach ggplot2 igraph iterators kedd KernSmooth lazyeval MASS progress scales SDMTools seqinr stringi tidyr]; };
+  shazam = derive2 { name="shazam"; version="0.1.9"; sha256="1dm553l1qwqajy5p13x3ms6x45ax33zh7b79iw6xx1chbrpalhmk"; depends=[alakazam ape diptest doParallel dplyr foreach ggplot2 igraph iterators kedd KernSmooth lazyeval MASS progress scales SDMTools seqinr stringi tidyr]; };
   shelltrace = derive2 { name="shelltrace"; version="3.5.1"; sha256="1xgbavaa26185i6q3907ds3bzq4xrw027x1sw5vsybqrxdz04jiz"; depends=[bmp tiff xlsx]; };
-  shiftR = derive2 { name="shiftR"; version="1.2"; sha256="02aa7lpw050rraiajlmyzhmnrz0m3nlc9j5y4rw0k2whglk23j2j"; depends=[]; };
+  shiftR = derive2 { name="shiftR"; version="1.4"; sha256="12mb4b5zhiq7hfkpc9hgi004hqli1kkkzdy2169svwrjv7bfifrn"; depends=[]; };
   shiny = derive2 { name="shiny"; version="1.0.5"; sha256="0hps6nlyffh685smsm9sd0rdmip0y8v7hgv6a4hqlq7kf8zmzqi0"; depends=[digest htmltools httpuv jsonlite mime R6 sourcetools xtable]; };
-  shiny_semantic = derive2 { name="shiny.semantic"; version="0.1.1"; sha256="0jd00z817cccz3wfhcmz61wsy5fjw6yyan2ywkf06xqcdpnr8iwh"; depends=[htmltools htmlwidgets purrr shiny]; };
+  shiny_semantic = derive2 { name="shiny.semantic"; version="0.1.2"; sha256="0zvd37z4d2vx2h2ypmbzbaxa617dpwdzhp3rwd6yak0avfv5h7a0"; depends=[htmltools htmlwidgets jsonlite magrittr purrr shiny]; };
   shinyAce = derive2 { name="shinyAce"; version="0.2.1"; sha256="0ycka8rsw0178q9klfid97vdn5cbyx3r778nis5s3dqipdyazdm9"; depends=[shiny]; };
   shinyBS = derive2 { name="shinyBS"; version="0.61"; sha256="0rhim4mbp4x9vvm7xkmpl7mhb9qd1gr96cr4dv330v863ra2kgji"; depends=[htmltools shiny]; };
   shinyDND = derive2 { name="shinyDND"; version="0.1.0"; sha256="0nkvz4hmjzmxlzj4vkjrdy8xlbxapg1amk180irgvwicqldi4jpm"; depends=[htmltools shiny]; };
-  shinyFeedback = derive2 { name="shinyFeedback"; version="0.0.3"; sha256="1ikxwa02jpkir1xxx4lvz995ggx8032vl0zknmhccb2mn1k98b4i"; depends=[digest shiny]; };
+  shinyFeedback = derive2 { name="shinyFeedback"; version="0.0.4"; sha256="14lvr99nfldlr101ysmpwz0zw0bjvr6b7lfm0msx57ymh6gjzg3n"; depends=[digest shiny]; };
   shinyFiles = derive2 { name="shinyFiles"; version="0.6.2"; sha256="1lphzqbzg482lv0xiamfv28n5nyjppss9zzcpx1cd5fsz0xg1282"; depends=[htmltools RJSONIO shiny]; };
   shinyHeatmaply = derive2 { name="shinyHeatmaply"; version="0.1.0"; sha256="1vl80vp7yslnh0dvcrpysfn5rndjavphy31y15546q7ax7d0fn6v"; depends=[dplyr DT heatmaply htmltools htmlwidgets jsonlite plotly RColorBrewer readxl shiny viridis xtable]; };
   shinyKGode = derive2 { name="shinyKGode"; version="1.0.5"; sha256="004zwz4kqfijzvvwkq8v1gi25w1wrdlg8230g93w36gbi6cl2vk1"; depends=[ggplot2 gridExtra KGode mvtnorm pracma pspline reshape2 shiny shinyjs XML]; };
-  shinyLP = derive2 { name="shinyLP"; version="1.1.0"; sha256="08vc35988pv0kx0kvdl26nkdzcgmi6w4xffmyylan7x59519imkk"; depends=[shiny shinyBS shinythemes]; };
+  shinyLP = derive2 { name="shinyLP"; version="1.1.1"; sha256="099ca86wvjfi3ld6fnvxk65rnxr5yji28il2f9xhacmhksn3db3l"; depends=[shiny]; };
   shinyRGL = derive2 { name="shinyRGL"; version="0.1.0"; sha256="07llg1yg5vmsp89jk60ly695zvxky6n06ar77mjxzlyc294akwmy"; depends=[rgl shiny]; };
   shinyShortcut = derive2 { name="shinyShortcut"; version="0.1.0"; sha256="101wz9s4rk7fbaqgm0r2v3v8za20vdxwq4vhkz8xr7y5pr65sxiq"; depends=[]; };
   shinyTime = derive2 { name="shinyTime"; version="0.2.1"; sha256="0gpa6kypchvvlq71nnlilciclcrhaa488prjz46sddrsxjy09mp7"; depends=[htmltools shiny]; };
   shinyTree = derive2 { name="shinyTree"; version="0.2.2"; sha256="08n2s6pppbxn23ijp6vms609p4qwlmfh9g0k5hdfqsqxjrz1nndi"; depends=[shiny]; };
-  shinyWidgets = derive2 { name="shinyWidgets"; version="0.4.1"; sha256="11qwwz4il4n8ha587bc32n1z5pnhw4vv2ffxl9cc1i431k01p7yc"; depends=[htmltools jsonlite shiny]; };
+  shinyWidgets = derive2 { name="shinyWidgets"; version="0.4.2"; sha256="0y23p9wirrp3d9zb8cfdizsg8ijgm2sxhvhfl06yq8i1wnr8yif5"; depends=[htmltools jsonlite shiny]; };
   shinyaframe = derive2 { name="shinyaframe"; version="1.0.1"; sha256="1flhgsm4q7p5acb41v73pf8ni92y9dwdppxjb9czlz1sxwf03p1s"; depends=[htmltools htmlwidgets shiny]; };
   shinyalert = derive2 { name="shinyalert"; version="1.0"; sha256="0ngmpbzw6fw1gs6sv9m3xv2c9bmrxg0bs6lnvxn8hm8cwr4440xi"; depends=[digest shiny]; };
   shinybootstrap2 = derive2 { name="shinybootstrap2"; version="0.2.1"; sha256="17634l3swlvgj1sv56nvrpgd6rqv7y7qjq0gygljbrgpwmfj198c"; depends=[htmltools jsonlite shiny]; };
   shinycssloaders = derive2 { name="shinycssloaders"; version="0.2.0"; sha256="1bpzsm7m7c366sjl1qndp4m5dg2vlm68rjgdy9n1ija9xbp0r2g4"; depends=[digest glue shiny]; };
-  shinydashboard = derive2 { name="shinydashboard"; version="0.6.1"; sha256="14zi7g5wrngy6lwi9xpvaid7727m6rfdijbb89al9likfhjqzqqy"; depends=[htmltools shiny]; };
+  shinycustomloader = derive2 { name="shinycustomloader"; version="0.9.0"; sha256="1klx71vr26g0gjf6hbiia1qidqii5d467i1sdjvlrg1hxdcggqff"; depends=[glue shiny]; };
+  shinydashboard = derive2 { name="shinydashboard"; version="0.7.0"; sha256="10yqcqqcxgfqwkmscqwvvgr710im583qsqnsqkfpisjvkqp10yqb"; depends=[htmltools shiny]; };
   shinyjqui = derive2 { name="shinyjqui"; version="0.2.0"; sha256="07ijd5psywlkfrz54d4q68bwij1as4ai0360fya8ikngkwg393mj"; depends=[htmlwidgets jsonlite shiny]; };
   shinyjs = derive2 { name="shinyjs"; version="1.0"; sha256="113zpijri0l80rlgrvqn6bxk0sdqgl79h7yhja2p76f9dc9i2sr8"; depends=[digest htmltools jsonlite shiny]; };
-  shinymaterial = derive2 { name="shinymaterial"; version="0.5.1"; sha256="1bk4n2zzhiziwfqzpl3b9ybm52mfv1z2f00kyy6d6qvpjwr9qzy2"; depends=[shiny]; };
+  shinymaterial = derive2 { name="shinymaterial"; version="0.5.2"; sha256="1xdvk8icnzc156bdn6782qgj1dgzc8v22b8qhfnxabxxgpap5nm9"; depends=[shiny]; };
   shinystan = derive2 { name="shinystan"; version="2.4.0"; sha256="18bdh2h6grlwfx6p00214p7cgzg7zfhbvnkd1dmxihp9wf4l80af"; depends=[bayesplot colourpicker DT dygraphs ggplot2 gridExtra gtools markdown reshape2 rsconnect rstan shiny shinyjs shinythemes threejs xtable xts]; };
   shinythemes = derive2 { name="shinythemes"; version="1.1.1"; sha256="0i220y051dq763idh1j5zhpb5cpv3jr11jd9akmry9aadyys5pz6"; depends=[shiny]; };
   shinytoastr = derive2 { name="shinytoastr"; version="2.1.1"; sha256="01j2z4gf1wxblrjayykwxdr2s8394i7k930x8g4hmrj7c9pv264n"; depends=[shiny]; };
@@ -10745,9 +11037,10 @@ in with self; {
   showimage = derive2 { name="showimage"; version="1.0.0"; sha256="1c0x3iqjdjsz3cdhc02b3qm2pwxjr1q2k87jwvxj9lnzzw81f1pl"; depends=[png]; };
   showtext = derive2 { name="showtext"; version="0.5-1"; sha256="0zb9h6frw580cql0nbkvfb0jajq6k4yhqaifvz8cpysd32dk35wm"; depends=[showtextdb sysfonts]; };
   showtextdb = derive2 { name="showtextdb"; version="2.0"; sha256="1qwwj9x2jvadvwn60h75k99c9xi7yhqjsgaakahz5paxgj583bsh"; depends=[sysfonts]; };
-  shp2graph = derive2 { name="shp2graph"; version="0-3"; sha256="0mfb3f64kpd23qa1yb19j7j234snls7yvszp2yxnv9yahk0blifw"; depends=[igraph maptools sp]; };
+  shp2graph = derive2 { name="shp2graph"; version="0-4"; sha256="13hpj2yjai3yf8q6dnhpdqzsw4nkdpi06fxxdgn82ycx0sp7zk4v"; depends=[igraph maptools sp]; };
   shrink = derive2 { name="shrink"; version="1.2.1"; sha256="0pd967wsys8fd7gyvr9y08km118yamfk5c1a1i2k8nr2ifpqmy0w"; depends=[MASS mfp rms survival]; };
   shuffle = derive2 { name="shuffle"; version="1.0.1"; sha256="0aqb11h340picx7z2jg3k46l3pr6fkknlpyzc0z89hhrc90pss48"; depends=[]; };
+  shuffleCI = derive2 { name="shuffleCI"; version="0.1.0"; sha256="1n9k28m1fcnw1my9a7v0gy9waygd48lab45vj9k2wwijbc325zai"; depends=[plotrix]; };
   siRSM = derive2 { name="siRSM"; version="1.1"; sha256="0fx6bfb5c8hdlgjxddwhhzr09ls53kfgn36hjk9zi5z8m14a7wbn"; depends=[doSNOW foreach MASS rsm]; };
   siar = derive2 { name="siar"; version="4.2"; sha256="1c4z72jr81dzkp9xqyrrkwjsalvvksl67pnbaadkc52v84fhzx3r"; depends=[bayesm coda hdrcde MASS mnormt spatstat]; };
   sicegar = derive2 { name="sicegar"; version="0.2.2"; sha256="0fnr0wv8zbhs2i5y1kqyvhm0kzisc68ys3iy0wxwbdj3bnfgzj70"; depends=[dplyr fBasics ggplot2 minpack_lm]; };
@@ -10756,7 +11049,7 @@ in with self; {
   sidrar = derive2 { name="sidrar"; version="0.2.4"; sha256="1zwxafc4xaa4386a9jdg3gwflpdxql3f33bkqx1l2yl30x3517rw"; depends=[dplyr magrittr RCurl rjson rvest stringr tidyr xml2]; };
   sievetest = derive2 { name="sievetest"; version="1.2.2"; sha256="0mbgkf014m6bc7qg60vf065i6mvl5n4a0bvg8vb7dw531vsw2771"; depends=[]; };
   sig = derive2 { name="sig"; version="0.0-5"; sha256="084wwpj5mnmq4k98ijbv23z80sj4axadc7c6hn3917dazsaa6ngn"; depends=[]; };
-  sigQC = derive2 { name="sigQC"; version="0.1.11"; sha256="1mnvpkak37br406ixsn65g0snimf3iiql5yfbwflazw3sz5q11kz"; depends=[biclust class cluster ComplexHeatmap fmsb gplots gridGraphics KernSmooth lattice MASS moments nnet RankProd]; };
+  sigQC = derive2 { name="sigQC"; version="0.1.14"; sha256="17vgfpkbn8g3bgfxmy5wvpjkzizpzqjw5xijmzpi627ba9g8lrwh"; depends=[biclust class cluster ComplexHeatmap fmsb gplots gridGraphics KernSmooth lattice MASS mclust moments nnet RankProd]; };
   sigclust = derive2 { name="sigclust"; version="1.1.0"; sha256="0151v7lr4n4yyn93j0s06gzc9jh9xhdgvfw6kvpfy24jl6wdii7g"; depends=[]; };
   sigloc = derive2 { name="sigloc"; version="0.0.4"; sha256="13v2dlgsbcsqqm8yxls62i7r3sk8m3c78jv8f9lgdihq5pjnd9zp"; depends=[ellipse nleqslv]; };
   sigmaNet = derive2 { name="sigmaNet"; version="1.0.3"; sha256="0b9p5kgcbpzb83s0vgmfwmh15lvsfz5q0yk5wl16rxyiqqg2nxag"; depends=[htmlwidgets igraph jsonlite RColorBrewer]; };
@@ -10765,9 +11058,9 @@ in with self; {
   signalHsmm = derive2 { name="signalHsmm"; version="1.4"; sha256="1plyvx0pdid4zydxjwph6v96c8ilzgn55vcdszkslp3a4s2sns65"; depends=[Rcpp seqinr shiny]; };
   signmedian_test = derive2 { name="signmedian.test"; version="1.5.1"; sha256="05n7a4h2bibv2r64cqschzhjnm204m2lm1yrwxvx17cwdp847hkm"; depends=[]; };
   sigora = derive2 { name="sigora"; version="2.0.1"; sha256="1sgjafr2f7carwnvp0vsvp80jn2bzwlkay38ch63qk9gapsh4imh"; depends=[]; };
-  sigr = derive2 { name="sigr"; version="0.2.3"; sha256="1kyj8xizswwg5agv4ac296pqvxxq3kla537z10qvg16ilskbqny5"; depends=[pwr]; };
+  sigr = derive2 { name="sigr"; version="0.2.4"; sha256="11dxv99yibp6cj3jg8qmy8r4csr2lyww6zrdy4a2zgmrzl02fhlc"; depends=[pwr]; };
   siland = derive2 { name="siland"; version="1.0"; sha256="0zqwslg0vak22q475azwank81wr4kfx33h21w84lsg7iihrb08nv"; depends=[lme4 raster rgdal sp]; };
-  sim1000G = derive2 { name="sim1000G"; version="1.38"; sha256="0sc5gsbcvj9vv0sysg9pg0lkh9f8w8mdxpxaf2a1h9x7c9wrx2m7"; depends=[hapsim MASS readr stringr]; };
+  sim1000G = derive2 { name="sim1000G"; version="1.39"; sha256="1qxl7lsdsd4skn6x8iw7jx60ly0rwsj27yh5yiqmhxa34jpyjg0m"; depends=[hapsim MASS readr stringr]; };
   simEd = derive2 { name="simEd"; version="1.0.3"; sha256="1yq0qblrz0zddx682rzwdaa0k0r223i123la7wbp73spnn38g4br"; depends=[rstream]; };
   simFrame = derive2 { name="simFrame"; version="0.5.3"; sha256="154d4k6x074ib813dp42l5l8v81x9bq2c8q0p5mwm63pj0rgf5f3"; depends=[lattice Rcpp]; };
   simLife = derive2 { name="simLife"; version="0.3"; sha256="0bqhixr4zg7mwgxdsjk0h5a82dyfkhiv9xafw43w2bpnmyxywdia"; depends=[splancs unfoldr]; };
@@ -10775,9 +11068,9 @@ in with self; {
   simMSM = derive2 { name="simMSM"; version="1.1.41"; sha256="04icijrdc269b4hwbdl3qz2lyxcxx6z63y2wbak1884spn6bzbs8"; depends=[mvna survival]; };
   simPATHy = derive2 { name="simPATHy"; version="0.2"; sha256="0ai5wmjz8k0glbwkclgg3m3ncsjghja4iys2mn1psn3r8gxk79yc"; depends=[ggm graph gRbase htmlwidgets igraph mvtnorm qpgraph R_utils shiny shinydashboard]; };
   simPH = derive2 { name="simPH"; version="1.3.10"; sha256="0br32m28ynmhr4xal69bsv925rlmih898rk5bskn1s6bhsshalqq"; depends=[data_table dplyr ggplot2 gridExtra lazyeval MASS mgcv quadprog stringr survival]; };
-  simPop = derive2 { name="simPop"; version="1.0.0"; sha256="1197gfpikrb02s7jgvpxzp19bbjdpzsik8ngh77k2fa76gzs4p6c"; depends=[colorspace data_table doParallel e1071 EnvStats fitdistrplus foreach laeken lattice MASS nnet party plyr ranger Rcpp vcd VIM]; };
+  simPop = derive2 { name="simPop"; version="1.1.0"; sha256="0zaf12lzca73nn0jy1gikzzwrsg046sgsfn9ck65jzdwh9xj9020"; depends=[colorspace data_table doParallel e1071 EnvStats fitdistrplus foreach laeken lattice MASS nnet party plyr ranger Rcpp RcppArmadillo vcd VIM wrswoR]; };
   simSummary = derive2 { name="simSummary"; version="0.1.0"; sha256="1ay2aq6ajf1rf6d0ag3qghxpwj0f8b3fhpr2k0imzmpbyag1i3gj"; depends=[abind gdata svUnit]; };
-  simTool = derive2 { name="simTool"; version="1.0.3"; sha256="1x018p5mssrhz2ghs3ly9wss12503h93gl7zk0mqh1bcrzximh0k"; depends=[plyr reshape]; };
+  simTool = derive2 { name="simTool"; version="1.1.0"; sha256="121nv0s14jzxgcmj2fsj1k0msziknwbix2a49f7igic2l8yv869p"; depends=[dplyr plyr purrr reshape tibble tidyr]; };
   simba = derive2 { name="simba"; version="0.3-5"; sha256="14kqxqavacckl5s1518iiwzrmlgbxz1lxy33y8c9qq7xaln41g9h"; depends=[vegan]; };
   simboot = derive2 { name="simboot"; version="0.2-6"; sha256="0bgibrqb9j62p1chldi1lvdsgc6sgsr7afyq4lvyrc2h861f3j9d"; depends=[boot mvtnorm]; };
   simcausal = derive2 { name="simcausal"; version="0.5.4"; sha256="19mqabxqz2mvfhslbln5vsnlrnmgcfmgp7ypf5k2yd03755b0k4b"; depends=[assertthat data_table igraph Matrix R6 stringr]; };
@@ -10787,9 +11080,9 @@ in with self; {
   simex = derive2 { name="simex"; version="1.7"; sha256="0dmyxhg3bk23y08xbgwlg791pcl3131im3jkh9x5pjqczfjvim0a"; depends=[]; };
   simexaft = derive2 { name="simexaft"; version="1.0.7"; sha256="13w9m35qrrp8kkz4gqp7fg9jv8fs99y19n21bdxsd3f5mlkbvqgl"; depends=[mvtnorm survival]; };
   simglm = derive2 { name="simglm"; version="0.6.0"; sha256="1kmi5lpx8m14iz0i9z8811cp6fq2x700qsxn6rxrkxbq88a5mdss"; depends=[dplyr Matrix purrr tibble tidyr]; };
-  simmer = derive2 { name="simmer"; version="3.6.5"; sha256="1vkicav2642il5php26qdji8kji0jrg42x9p5gyzy6fnih6jimnz"; depends=[BH codetools magrittr R6 Rcpp]; };
+  simmer = derive2 { name="simmer"; version="3.7.0"; sha256="1jirp7bl5a0mfc0hg495mxfz5cjdigg2dzwj8rbc9qkgibfvfnih"; depends=[BH codetools magrittr R6 Rcpp]; };
   simmer_bricks = derive2 { name="simmer.bricks"; version="0.1.0"; sha256="1sb1ayh56sbgs4p0r3frjjfn4vcdr43xm85lvb9aqk3wmj2lddqy"; depends=[simmer]; };
-  simmer_plot = derive2 { name="simmer.plot"; version="0.1.12"; sha256="1519l3zj7jmjr8yv12ah61r6m7vyjxbnyajqdhvl388bix30dn6w"; depends=[DiagrammeR dplyr ggplot2 scales simmer tidyr]; };
+  simmer_plot = derive2 { name="simmer.plot"; version="0.1.13"; sha256="0afp4il95dmdgw815rk0c3cyf56gli237v4i716l4agag5l1rp60"; depends=[DiagrammeR dplyr ggplot2 scales simmer tidyr]; };
   simmr = derive2 { name="simmr"; version="0.3"; sha256="18ycrd7qbz7frvd3bgbqaaapslw1jw89fy3np5qyb9sswyk08w9m"; depends=[boot coda compositions ggplot2 MASS reshape2 rjags viridis]; };
   simpleCache = derive2 { name="simpleCache"; version="0.3.1"; sha256="14jrsfxcrndfgi7yl5frfsyixxkhagc7cfav8h6mf6apfxx0v1ls"; depends=[]; };
   simpleNeural = derive2 { name="simpleNeural"; version="0.1.1"; sha256="0rm6kvz1mppvgcvwsgg3nz6ci37l95ins64g0jh4rw6lfmy0grjc"; depends=[]; };
@@ -10804,7 +11097,7 @@ in with self; {
   simsalapar = derive2 { name="simsalapar"; version="1.0-9"; sha256="0h46acf797lp1hvs8x91nzll3zxiiczfl6vdxxrwizr109jzggcj"; depends=[colorspace gridBase sfsmisc]; };
   simsem = derive2 { name="simsem"; version="0.5-13"; sha256="0v6gbfp4659gbpzc1vffg687c8bcd45ddb7jhd0bgx66m28853kk"; depends=[lavaan]; };
   simstudy = derive2 { name="simstudy"; version="0.1.8"; sha256="0n8wq8xw4vlpcz6qlqkza9zwd3nkbmhs8nw2gzz64q9blzcp69mw"; depends=[data_table mvnfast Rcpp]; };
-  simsurv = derive2 { name="simsurv"; version="0.1.0"; sha256="08w5kbzx3wlksl17kjg9j4dj1f40ddm32mafi75y5c8bwgcfzqzy"; depends=[]; };
+  simsurv = derive2 { name="simsurv"; version="0.2.0"; sha256="16rg13chr78c8d8y1s29zkcz6s0v7zgv5jzq4309xbnw8w7h7y8m"; depends=[]; };
   simtimer = derive2 { name="simtimer"; version="3.0.0"; sha256="0hfp652s97dz07fs92gfsaiwd6pwg95qsvr6qjwj1k5d3h6hzf8y"; depends=[]; };
   simulator = derive2 { name="simulator"; version="0.2.0"; sha256="18x0c9bf9anbykq9f46fxnnx7g36bh01s4cdmrn7mdygs6ac9c8z"; depends=[magrittr]; };
   simule = derive2 { name="simule"; version="1.2.0"; sha256="09lhd0q0xn15v0j172749rih3p2qgn3sbprhj2az9s4fm9752az3"; depends=[igraph lpSolve pcaPP]; };
@@ -10813,7 +11106,7 @@ in with self; {
   sinib = derive2 { name="sinib"; version="1.0.0"; sha256="08x2a5hn41vcsai3r36w1kgzka4ks53pkp6dxn90bsqh40ydb0db"; depends=[]; };
   siplab = derive2 { name="siplab"; version="1.2"; sha256="0r7gk9qsmbc3ln67cb8p87bq3s2rx6fbavlly1fpzqqv2isf5pq9"; depends=[spatstat]; };
   sirad = derive2 { name="sirad"; version="2.3-3"; sha256="0vhmk2fmq4797gj6c8803zw1ipmdxfvdfgi2bygzxbn5bqd4da2n"; depends=[raster zoo]; };
-  sirt = derive2 { name="sirt"; version="2.4-20"; sha256="0kgy5jv6yz6hlx4c8mbb4fgqfb8ihslmaxqxlr8qpqh79fvgv2q6"; depends=[CDM coda lavaan lavaan_survey mirt mvtnorm Rcpp RcppArmadillo sfsmisc survey TAM]; };
+  sirt = derive2 { name="sirt"; version="2.6-9"; sha256="06iz4dxlsxdfgmn52pyiyng0bbxffc5b7sszwbzq5i64ad1j0d48"; depends=[CDM coda lavaan lavaan_survey MASS mirt mvtnorm Rcpp RcppArmadillo sfsmisc survey TAM]; };
   sisVIVE = derive2 { name="sisVIVE"; version="1.4"; sha256="1vh53irxgk8ahw52cdqbbm89dvmzyf54izg4lm8a3v92k5p6nzwz"; depends=[lars]; };
   sisal = derive2 { name="sisal"; version="0.46"; sha256="00szc3l69i0cksxmd0lyrs4p6plf05sl4vxs3nl4gkbja5y4lvpc"; depends=[boot digest lattice mgcv R_matlab R_methodsS3]; };
   sisus = derive2 { name="sisus"; version="3.9-13"; sha256="0lz9ww07dvdx6l3k5san8gwq09hycc3mqwpgzmr2ya9z8y27zadr"; depends=[coda gdata gtools MASS moments polyapost rcdd RColorBrewer]; };
@@ -10826,19 +11119,19 @@ in with self; {
   sizeMat = derive2 { name="sizeMat"; version="0.3.0"; sha256="0766wxcc1980ivlib2saagl20y9dm0ar7i43qcqk2jpdbbaky33z"; depends=[MASS matrixStats mcmc MCMCpack]; };
   sjPlot = derive2 { name="sjPlot"; version="2.4.1"; sha256="0aazxrqsbp5jsd5yfm6hrx17rmlqbh5vs314xms7g620aj383zrh"; depends=[arm broom dplyr effects forcats ggeffects ggplot2 glmmTMB knitr lme4 magrittr MASS merTools modelr nlme psych purrr rlang scales sjlabelled sjmisc sjstats tibble tidyr tidyselect]; };
   sjdbc = derive2 { name="sjdbc"; version="1.6.0"; sha256="17ncgj2s2pjn3w3c1dgxv8g7y17h4p78iic86gsj2ahn0xpsmkcc"; depends=[rJava]; };
-  sjlabelled = derive2 { name="sjlabelled"; version="1.0.7"; sha256="1c2xk4ykf88h601c9ka8mjmk5fn91z2gcl2wx78492npipdxifmw"; depends=[broom dplyr haven magrittr prediction purrr rlang snakecase tibble]; };
-  sjmisc = derive2 { name="sjmisc"; version="2.7.0"; sha256="1bni8ppvabzjx94hd8ygp14n2g6a8qhjvnimm0v7pqbf7czmpapy"; depends=[broom cli crayon dplyr haven magrittr pillar psych purrr rlang sjlabelled stringdist stringr tibble tidyr tidyselect]; };
-  sjstats = derive2 { name="sjstats"; version="0.14.1"; sha256="10siniyy1nqsacayyl7p35yc9gmdh5rjlwzv8aywid2a1ld13lfs"; depends=[bayesplot broom cli coin crayon dplyr emmeans glmmTMB lme4 lmtest magrittr MASS Matrix modelr nlme prediction purrr pwr rlang sandwich sjlabelled sjmisc tibble tidyr tidyselect]; };
+  sjlabelled = derive2 { name="sjlabelled"; version="1.0.8"; sha256="1hhcv5d5jbrd9wv9hdvck40wdpr4nr6hr972ng5w2wbh7bikvgqg"; depends=[broom dplyr haven magrittr prediction purrr rlang snakecase tibble]; };
+  sjmisc = derive2 { name="sjmisc"; version="2.7.1"; sha256="0vj0b3vn3mkqw23x2rnrn468db44x6wvphbqlap5n7c7dzg8hg22"; depends=[broom cli crayon dplyr haven magrittr pillar psych purrr rlang sjlabelled stringdist stringr tibble tidyr tidyselect]; };
+  sjstats = derive2 { name="sjstats"; version="0.14.2-3"; sha256="0wqnyf1wpbq0av3027x455jcha7w8kg9lb62rjm5fkz52ff93hpx"; depends=[bayesplot broom coin crayon dplyr emmeans glmmTMB lme4 lmtest magrittr MASS Matrix modelr nlme prediction purrr pwr rlang sandwich sjlabelled sjmisc tibble tidyr tidyselect]; };
   skda = derive2 { name="skda"; version="0.1"; sha256="0a6mksr1d0j3pd0kz4jb6yh466gvl4fkrvgvnlmvivpv6b2gqs3q"; depends=[]; };
   skeleSim = derive2 { name="skeleSim"; version="0.9.8"; sha256="1wxdl30cy8vr1cd0wcjxyklp6crw4bv8r77ma2dkzmxm2ma5jw92"; depends=[adegenet ape hierfstat igraph markdown pegas reshape2 rmetasim shiny shinyFiles strataG swfscMisc]; };
   skeletor = derive2 { name="skeletor"; version="1.0.4"; sha256="1jfbfbkjx8mdwamsrkhvcnyn470in702vgcyw3g2dbgs84gl29q8"; depends=[]; };
   skellam = derive2 { name="skellam"; version="0.2.0"; sha256="0r5wbs5h7xc3k2vjxd4axwnxr9cmwm008fcyj1vyixkg8fa680gx"; depends=[]; };
   skewt = derive2 { name="skewt"; version="0.1"; sha256="1xm00zfzjv53cq9drfcx7w2ri5dwsq7kajrk2hc1mvw0b6s4x2ix"; depends=[]; };
-  skimr = derive2 { name="skimr"; version="1.0.1"; sha256="173ymwkx7n24xj70azdwlpiyswdfy17mw2dhpqcm6ssv0crnjjcc"; depends=[dplyr knitr magrittr pander purrr rlang stringr tibble tidyr tidyselect]; };
+  skimr = derive2 { name="skimr"; version="1.0.2"; sha256="1grm4z4avl6qp9ssk3cwg20wgqzk9w61p2hjwhld6p78r971k07a"; depends=[dplyr knitr magrittr pander purrr rlang stringr tibble tidyr tidyselect]; };
   skm = derive2 { name="skm"; version="0.1.5.4"; sha256="06g3bdncq2r56d8k3dr87gqnibypbsps0gj4jxkw9q1sq1yaff3v"; depends=[data_table magrittr plyr Rcpp RcppArmadillo RcppParallel]; };
   skmeans = derive2 { name="skmeans"; version="0.2-11"; sha256="1a8nwlym6pf0z13nnw1id2wls9lq788860yhjaqd56c3slzfsymn"; depends=[clue cluster slam]; };
-  skpr = derive2 { name="skpr"; version="0.45.2"; sha256="1wi19rz9mhim91pqdzljjscpsv2dbm838jjbv9ynmscjnfcbbfl6"; depends=[doParallel foreach iterators kableExtra knitr lme4 nlme Rcpp RcppArmadillo rintrojs shiny shinythemes survival]; };
-  skynet = derive2 { name="skynet"; version="1.0"; sha256="00i3gvl9hz72id449wph8f0gncps6gzj0yz4n34ys8ih0j8n8b81"; depends=[data_table dplyr ggplot2 ggrepel igraph maps stringr]; };
+  skpr = derive2 { name="skpr"; version="0.47.5"; sha256="1c9ikn3lj3w2a4p1m8gdmhc1xzavf3y8zwra7lcb1snw9pznj7s8"; depends=[doParallel doRNG foreach iterators kableExtra knitr lme4 nlme Rcpp RcppArmadillo rintrojs shiny shinythemes survival]; };
+  skynet = derive2 { name="skynet"; version="1.0.1"; sha256="1jcb7m4warpg0c8x83dzm107qb5i0zakvjx4a1c6rr814c7xrlhl"; depends=[data_table dplyr ggplot2 ggrepel igraph maps stringr]; };
   skyscapeR = derive2 { name="skyscapeR"; version="0.2.2"; sha256="08h3vvn9zglw3xrl0xpyj95r1n3v6lk835a4nbanxdvi21mgpi77"; depends=[astrolibR doParallel foreach MESS numDeriv oce plotrix png pracma RColorBrewer rootSolve]; };
   sla = derive2 { name="sla"; version="0.1"; sha256="0fr5n65ppwsh9z7a6rma9ak0bl8x3nz7v25lij7wb5nrf3sl74yb"; depends=[]; };
   slackr = derive2 { name="slackr"; version="1.4.2"; sha256="1vm2h5fzcss3xx1annx68wrvv6c0s6h2ci0bipxmdl9amdaqw85w"; depends=[dplyr ggplot2 httr jsonlite]; };
@@ -10846,7 +11139,7 @@ in with self; {
   sld = derive2 { name="sld"; version="0.3.2"; sha256="0za5pw7ki419ni9pqqzddb10d16nvv5rh5jrkl4f77j0ps2ajylp"; depends=[lmom]; };
   sleekts = derive2 { name="sleekts"; version="1.0.2"; sha256="0syk244xrsv8hz5sxm7wizk0kyn1nc6z4c63c8xn57fz130zj75k"; depends=[]; };
   slfm = derive2 { name="slfm"; version="0.2.2"; sha256="01n9y6kyl7z1ynckp2hkrv2yl9jf30zcbbi3sx9jrcha557fg1cf"; depends=[coda lattice Rcpp RcppArmadillo]; };
-  slickR = derive2 { name="slickR"; version="0.2.2"; sha256="0whgfvdn0sgx9lgz9nxmabvr6363k243zfxxmn9wfrjwgkrhbm56"; depends=[base64enc htmlwidgets xml2]; };
+  slickR = derive2 { name="slickR"; version="0.2.4"; sha256="14y4rwa450xqw6prdgp2l7xs9vv6zqbxwg7hc3hjgq47jy8qsdm1"; depends=[base64enc htmltools htmlwidgets xml2]; };
   slim = derive2 { name="slim"; version="0.1.1"; sha256="0x9bk6w6lmw15s85gw9g8d1wlb57kkvnmx1wsyasn93x9llkjva1"; depends=[data_table MASS]; };
   slimrec = derive2 { name="slimrec"; version="0.1.0"; sha256="1qzcvk7z8y11hwmybvppk1gf8di596zxy7qs22fclp6h6y18s377"; depends=[assertthat bigmemory glmnet Matrix pbapply]; };
   slowraker = derive2 { name="slowraker"; version="0.1.1"; sha256="0glc3ldvbqkvzfvhs4s5mzx1kfz05px4k7rx5jfp9dm9d0gfpvsx"; depends=[NLP openNLP SnowballC]; };
@@ -10854,14 +11147,15 @@ in with self; {
   sm = derive2 { name="sm"; version="2.2-5.4"; sha256="0hnq5s2fv94gaj0nyqc1vjdjd64vsp9z23nqa8hxvjcaf996rwj9"; depends=[]; };
   smaa = derive2 { name="smaa"; version="0.2-5"; sha256="1mwahjgslk82f8bl6qcjs1yadhbnqrxxhvkffkgc2fv3s6lh5d9m"; depends=[]; };
   smac = derive2 { name="smac"; version="1.0"; sha256="1inn7i5k0q5vln24kazh3gl3szf6lxwnjr2rw70jcyn9dr9iy952"; depends=[]; };
-  smacof = derive2 { name="smacof"; version="1.9-6"; sha256="19x11011w8kwdbd0jp7y7zqhmn0a5bhc9gh7jkcpxij8ppiigh8y"; depends=[candisc colorspace ellipse Hmisc MASS nnls plotrix polynom weights wordcloud]; };
+  smacof = derive2 { name="smacof"; version="1.10-5"; sha256="102b63b5zyjv0fsmp3in98ckacsgjvpzmv3fwbchdrvf1262aia2"; depends=[candisc colorspace ellipse Hmisc MASS nnls plotrix polynom weights wordcloud]; };
   smacpod = derive2 { name="smacpod"; version="2.0"; sha256="05bylhh98qlnq4gn0wwg3wb3pwa1q2kh06v2skj2fgbjgr03fhkn"; depends=[abind pbapply plotrix sp SpatialTools spatstat]; };
   smallarea = derive2 { name="smallarea"; version="0.1"; sha256="0jcv0xbh8v4g6zxxs4yyd0divwzk9d2w7g01r4s65khxvy3av7yx"; depends=[MASS]; };
   smam = derive2 { name="smam"; version="0.3-0"; sha256="1sdr0ki2y9smiwfglgh97kj6y0n1z3blyyxk823xp3467byk1rnb"; depends=[Matrix numDeriv Rcpp]; };
   smapr = derive2 { name="smapr"; version="0.1.1"; sha256="0ci0j26nsgl4yi0b0bhxqgpn281ml5clhih2nl7hm5l8nybdyp3q"; depends=[httr rappdirs raster rhdf5 rvest xml2]; };
   smart = derive2 { name="smart"; version="1.0.1"; sha256="0ki3qn71zrw0nyv395qijcwahnxyv1p21j8x6cxr9spah2wzz8lb"; depends=[elasticnet gplots gtools igraph Matrix pcaPP PMA]; };
-  smatr = derive2 { name="smatr"; version="3.4-3"; sha256="0iiazln4albj7k5w67slvyn98cqg4f6k409mml0n1pvlkki0h7gy"; depends=[plyr]; };
-  smbinning = derive2 { name="smbinning"; version="0.5"; sha256="1ac3apbkmhwvm0fds92j82r63krj94m69g0sid2v9mimdq30k25i"; depends=[Formula gsubfn partykit sqldf]; };
+  smartsizer = derive2 { name="smartsizer"; version="1.0.0"; sha256="0lp7qykb6y93aw5w7nbpb4d2vpz6by6zv8j7safhixx4wczlc39k"; depends=[MASS]; };
+  smatr = derive2 { name="smatr"; version="3.4-8"; sha256="0qqqbg65flxh48sw7x90zvgzbpcfzb1811h0pz3zlhdw9a7khs9n"; depends=[]; };
+  smbinning = derive2 { name="smbinning"; version="0.6"; sha256="13izdq2pl7hi8ppzmpmiiz4pmc43m63ixjrbj9lwa371vx60ndmh"; depends=[Formula gsubfn partykit sqldf]; };
   smcUtils = derive2 { name="smcUtils"; version="0.2.2"; sha256="0d1kmg386j0zrpp8vgxjwvpf1i25l86xrh82767xkp0n9qj8srwq"; depends=[]; };
   smcfcs = derive2 { name="smcfcs"; version="1.3.0"; sha256="1860qzhfpdr78a8ha8537izbkm0dx9j63l9fv6mswcs5sjl25i09"; depends=[MASS survival VGAM]; };
   smco = derive2 { name="smco"; version="0.1"; sha256="1sj3y1x6pc32cwzyhn9gaxs964xh5xl4vw08hsa8kfcxhh2r0s99"; depends=[]; };
@@ -10870,26 +11164,28 @@ in with self; {
   smdc = derive2 { name="smdc"; version="0.0.2"; sha256="1j6xnzjbmmakbmk3lyjck3bsy8w8hyd9d8h04s4gbddhci283mqm"; depends=[proxy tm]; };
   smds = derive2 { name="smds"; version="1.0"; sha256="0aqf3wfn6mlsl8a32gaf9qdpyxwsx19g6mma8qzgaysdmk6vhbpd"; depends=[MASS]; };
   sme = derive2 { name="sme"; version="1.0.2"; sha256="0gszpy1sx2qsypps3iza79sab475wcrscl7wnbbrv97a3ry0ybp6"; depends=[lattice]; };
-  smerc = derive2 { name="smerc"; version="0.2.2"; sha256="0x1n1plnq63grs09cijhy265xqrfg9az1pp9n5dg5wqlj6gf9rzi"; depends=[fields igraph maps smacpod SpatialTools spdep]; };
+  smerc = derive2 { name="smerc"; version="0.4.5"; sha256="1455fjfihznzivz80jad7pyfjms8yyvmsz6wqdvqv3n6dsyr8fvb"; depends=[fields maps matrixStats smacpod sp SpatialTools spdep]; };
   smfsb = derive2 { name="smfsb"; version="1.1"; sha256="0khd23b6k9zgxz2x6g6c6k2g32mbpli32izdq6fgk1a990kdsp6j"; depends=[]; };
   smirnov = derive2 { name="smirnov"; version="1.0-1"; sha256="09mpb45wj8rfi6n6822h4c335xp2pl0xsyxgin1bkfw97yjcvrgk"; depends=[]; };
   smnet = derive2 { name="smnet"; version="2.1.1"; sha256="0fa47zgm7jxvs3jfai54wsc6qa9ycqw4f3yr941fvkczwzh4ch02"; depends=[DBI RSQLite spam SSN]; };
   smoof = derive2 { name="smoof"; version="1.5.1"; sha256="01jkldmxn86vmcmmz81mdlhpm1m3bddj4sv550a3b4wm1r3gddng"; depends=[BBmisc checkmate ggplot2 mco ParamHelpers plot3D plotly RColorBrewer Rcpp RcppArmadillo RJSONIO]; };
-  smooth = derive2 { name="smooth"; version="2.4.0"; sha256="1492zbfhpijpdikb260m02rv876gc4xr3py645x760icyz7h9fpx"; depends=[forecast nloptr Rcpp RcppArmadillo zoo]; };
+  smooth = derive2 { name="smooth"; version="2.4.1"; sha256="1iv34nzvz0y2cwlhq7ddm2ym0mdkp7jqxbfik2l64r4mfm8l0k8h"; depends=[forecast nloptr Rcpp RcppArmadillo zoo]; };
   smoothAPC = derive2 { name="smoothAPC"; version="0.2"; sha256="06f0d4bjygpgcayzg9cxcb5plhsls0ljla2mrmjnjxpq8g3c3cl8"; depends=[colorspace lmtest quantreg rgl SparseM]; };
   smoothHR = derive2 { name="smoothHR"; version="1.0.2"; sha256="0l33xg3p9pyfrp4rhavz8m1jakk4wr8i14g6jjiizb03rpxdpzqy"; depends=[survival]; };
   smoothSurv = derive2 { name="smoothSurv"; version="2.0"; sha256="0ypgmqf7mj0x0ibid9qx6cbqn4cpig8333g095b64297bf0syvjc"; depends=[survival]; };
   smoother = derive2 { name="smoother"; version="1.1"; sha256="0nqr1bvlr5bnasqg74zmknjjl4x28kla9h5cxpga3kq5z215pdci"; depends=[TTR]; };
   smoothie = derive2 { name="smoothie"; version="1.0-1"; sha256="12p4ig8fbmlsby5jjd3d27njv8j7aiwx0m2n1nmgvjj0n330s1kj"; depends=[]; };
   smoothmest = derive2 { name="smoothmest"; version="0.1-2"; sha256="14cri1b6ha8w4h8m26b3d7qip211wfv1sywgdxw3a6vqgc65hmk5"; depends=[MASS]; };
+  smoothr = derive2 { name="smoothr"; version="0.1.0"; sha256="19ylhy7jz445yafdxlygs91vl4vrnnhggc2grwap0dcz0cazik1d"; depends=[sf units]; };
   smoothtail = derive2 { name="smoothtail"; version="2.0.5"; sha256="1sqkwniz9m03k23nba9ndmdm0g03mdshzm8risr6wz98jcqjilrk"; depends=[logcondens]; };
   smotefamily = derive2 { name="smotefamily"; version="1.2"; sha256="166gqwqljips2r0030m3q44zmxlnxcpb9hmwbg1bk3dqk9gfl8ra"; depends=[]; };
+  smovie = derive2 { name="smovie"; version="1.0.0"; sha256="07sf9nxanfkcp42bv4x12vrlsdr2nnyfgdm6bhcfpggavd4s8r9q"; depends=[revdbayes rpanel SuppDists]; };
   smpic = derive2 { name="smpic"; version="0.1.0"; sha256="0ff2146gjcrc6nvrbf4779jh076abhb843zzlk2zvqir13qfap61"; depends=[ggplot2 imager stringr]; };
   sms = derive2 { name="sms"; version="2.3.1"; sha256="0vr5jy8bxbczaqr9kg0fnanxhv9nj51yzgacrb63k33cs85p981m"; depends=[doParallel foreach iterators]; };
   smss = derive2 { name="smss"; version="1.0-2"; sha256="04lgfdcvnzpnpplyl62fy7slyiy8wkqpjjrzmclgqis3c9zkkncp"; depends=[]; };
   sn = derive2 { name="sn"; version="1.5-1"; sha256="0l7qlah6dwkp8jswnr2mn3phlm15naba5zkmv0g5pcqy5ix0gz7w"; depends=[mnormt numDeriv]; };
   sna = derive2 { name="sna"; version="2.4"; sha256="1ks8819qvpdfansfqj9p32s1rhvl26frvbi78m4rx1wd1qcv74i2"; depends=[network statnet_common]; };
-  snakecase = derive2 { name="snakecase"; version="0.8.1"; sha256="0vpzvdb1acph9xs52lw7hhd3a58lm5k9fmgkw70fijsrciihz6ns"; depends=[magrittr purrr stringi stringr]; };
+  snakecase = derive2 { name="snakecase"; version="0.9.1"; sha256="02462vd08asm4ah2brrc3z2s1lqcya80shrd6w743cylv3h3hpyv"; depends=[stringi stringr]; };
   snappier = derive2 { name="snappier"; version="0.1.0"; sha256="0334zwhqdl3lfw7rg8ql7z10qj8jjrm17yi9mgdcxnzaf3f1p859"; depends=[]; };
   snapshot = derive2 { name="snapshot"; version="0.1.2"; sha256="0cif1ybxxjpyp3spnh98qpyw1i5sgi1jlafcbcldbqhsdzfz4q10"; depends=[]; };
   snht = derive2 { name="snht"; version="1.0.5"; sha256="0k8w1118b2qrf5zfi902gm6zf7b1mwv7py7wg57vsibh2r2ra8ah"; depends=[ggplot2 gridExtra mgcv plyr reshape2 zoo]; };
@@ -10904,14 +11200,14 @@ in with self; {
   snp_plotter = derive2 { name="snp.plotter"; version="0.5.1"; sha256="16apsqvkah5l0d5qcwp3lq2jspkb6n62wzr0wskmj84jblx483vv"; depends=[genetics]; };
   snpEnrichment = derive2 { name="snpEnrichment"; version="1.7.0"; sha256="1lja1n26nr8lgbca2kraryv933jwa2w3h41appzylflf0w3liz9y"; depends=[ggplot2 snpStats]; };
   snpRF = derive2 { name="snpRF"; version="0.4"; sha256="1amxc4jprrc6n5w5h9jm2as025gqdqkla2asz7x97sjdnnj9kzzn"; depends=[]; };
-  snpReady = derive2 { name="snpReady"; version="0.9.4"; sha256="16nfwjda15gjk0y1rvvnlbx350rgdvpk397glp7yl2ji0amwv20r"; depends=[Matrix matrixcalc stringr]; };
+  snpReady = derive2 { name="snpReady"; version="0.9.6"; sha256="1r96j8zh84dn7qh3zgl0p0v3a80hx2wd3c4jgjlr43hzl7yglpqr"; depends=[impute Matrix matrixcalc rgl stringr]; };
   snpStatsWriter = derive2 { name="snpStatsWriter"; version="1.5-6"; sha256="04qhng888yih8gc7yd6rrxvvqf98x3c2xxz22gkwqx59waqd4jlq"; depends=[colorspace snpStats]; };
   snpar = derive2 { name="snpar"; version="1.0"; sha256="0c9myg748jm7khqs8yhg2glxgar1wcf6gyg0xwbmw0qc41myzfnq"; depends=[]; };
   snplist = derive2 { name="snplist"; version="0.18.1"; sha256="14x31h8h3lx25rm30vhp89byrzy3qrmawi07pmzy4xpxdf0rxm4s"; depends=[biomaRt DBI R_utils Rcpp RSQLite]; };
   sns = derive2 { name="sns"; version="1.1.2"; sha256="132zd57xb2y0nshw4lakf49r2mvvkv7j32f7l7hqrh91mw7wyqpr"; depends=[coda mvtnorm numDeriv]; };
   soc_ca = derive2 { name="soc.ca"; version="0.7.3"; sha256="0z3phmvgwd3s6swfaywq851my12a2n48i6k26vhggc6pf9d28phl"; depends=[ellipse ggplot2 ggrepel gridExtra reshape2 shiny]; };
   social = derive2 { name="social"; version="1.0"; sha256="0ny81bhj80rlwwa6cgbkdz2rxz6bp0f3nvjr1sqxr4s8l8rnf4ic"; depends=[Rcpp]; };
-  socialmixr = derive2 { name="socialmixr"; version="0.1.1"; sha256="1immpjc4p7xjc4ghhb3l4wilacg6h0gpihmhx60309gi1snz23ai"; depends=[countrycode curl data_table httr jsonlite oai stringr wpp2015]; };
+  socialmixr = derive2 { name="socialmixr"; version="0.1.2"; sha256="0cj8l1gl7c9hk3hpznfqhblmh79qvi9866713sry538f3kkv897c"; depends=[countrycode curl data_table httr jsonlite oai stringr wpp2015 XML]; };
   sodavis = derive2 { name="sodavis"; version="1.0"; sha256="1mhmrg7c0chwjw117pzjya5y0ml8mm9ps5b64q5cjchlxr8900nx"; depends=[MASS mvtnorm nnet]; };
   sodium = derive2 { name="sodium"; version="1.1"; sha256="1zxzi8xvxnhgcd5qrylf08nz1cdq3aslrswjas440qg63ypmbf6w"; depends=[]; };
   sofa = derive2 { name="sofa"; version="0.3.0"; sha256="10f01a23bq6a30f95cilfan588dg0bg36y7g14q46rmcz15cqbrx"; depends=[crul jsonlite mime R6]; };
@@ -10926,19 +11222,20 @@ in with self; {
   soilprofile = derive2 { name="soilprofile"; version="1.0"; sha256="0sdfg6m2m6rb11hj017jx2lzcgk6llb01994x749s0qhzxmvx9mb"; depends=[aqp lattice munsell splancs]; };
   soiltexture = derive2 { name="soiltexture"; version="1.4.5"; sha256="0a9n89ygfqpm6sir76ginri1l6gmw3gfd58szl4ikzaz8fk5hxqh"; depends=[MASS sp]; };
   soilwater = derive2 { name="soilwater"; version="1.0.5"; sha256="11gal7hj73j82qx65krmzpmf0gpm41ph8hw70df46dbf4w23vvjn"; depends=[]; };
+  sokoban = derive2 { name="sokoban"; version="0.1.0"; sha256="07r2zv9rynvw06fpncrz3rsmkdy6z2pcvmm559bhs428kmnq2xib"; depends=[]; };
   solaR = derive2 { name="solaR"; version="0.44"; sha256="1waxi2zfns4dh1vpsl3khbgaw07icp4f1ax9l0pry9qipmk0nk3k"; depends=[lattice latticeExtra RColorBrewer zoo]; };
   solarPos = derive2 { name="solarPos"; version="1.0"; sha256="0004da7vqpq14q5lhs8vyvjl99j8gzxd5wrlw5d1vwfns3ica0q5"; depends=[]; };
   solarius = derive2 { name="solarius"; version="0.3.0.2"; sha256="17c765nxq81xshyyl4lfhqjmgvmhn9xyzc6x4qd33wvhh4148f38"; depends=[data_table ggplot2 plyr]; };
   solr = derive2 { name="solr"; version="0.1.6"; sha256="0hlysi1yw4l98dcb1shznzrgia9pqzfj0p1hmnfz5gz2j64lf4h4"; depends=[assertthat httr plyr rjson XML]; };
   solrium = derive2 { name="solrium"; version="1.0.0"; sha256="1rlf60kynqb8pvzllfdkiabxgnqx60hwm8vy86y9f2bh7d7jsdhf"; depends=[crul dplyr jsonlite plyr R6 tibble xml2]; };
-  solvebio = derive2 { name="solvebio"; version="2.3.1"; sha256="0mbb7ri8shknlw1m7985as84i0m837awpsd89yxc5gr1hvzgdvlh"; depends=[dplyr httr jsonlite mime]; };
+  solvebio = derive2 { name="solvebio"; version="2.4.0"; sha256="0sikq63i6x6vq0h5d8w92yjf6mhnb8nidn18zv27lfmnl0mwwpnm"; depends=[dplyr httr jsonlite mime]; };
   som = derive2 { name="som"; version="0.3-5.1"; sha256="1fbza1jxvwrkf5x3inkj36vshhkn7mz0ajqlxalbfmk6ngjw1x56"; depends=[]; };
   som_nn = derive2 { name="som.nn"; version="1.1.0"; sha256="0mw2c2lqvdq9bhndpjyawjy43l4x7clcsx2350j45g7fnchhy602"; depends=[class hexbin kohonen som]; };
   soma = derive2 { name="soma"; version="1.1.1"; sha256="1mc1yr9sq9h2z60v40aqmil0xswj5hgxfdh4racq297qw3a97my4"; depends=[reportr]; };
   someKfwer = derive2 { name="someKfwer"; version="1.2"; sha256="0widny5l04ja91fy16x4giwrabwqhx0fs3yl48pv9xh4zj6sx563"; depends=[]; };
   someMTP = derive2 { name="someMTP"; version="1.4.1"; sha256="19bsn8rny1vv9343bvk8xzhh82sskl0zg0f5r59g9k812q5llchn"; depends=[]; };
   somebm = derive2 { name="somebm"; version="0.1"; sha256="1iwwc94k6znh4d3bbjnvwp4chc4wg0iy4v2f99cs4jasrsimb4p8"; depends=[]; };
-  sommer = derive2 { name="sommer"; version="3.2"; sha256="0kqk04db3s3c9ba1gy4k2gj4s6lzyns3lmj463d9v9gpk5wwq77m"; depends=[data_table lattice MASS Matrix]; };
+  sommer = derive2 { name="sommer"; version="3.4"; sha256="02ghcs0w5pkmc20drynd44cli3s4vkxpksw3h9f828maw2n7q9jk"; depends=[data_table lattice MASS Matrix]; };
   somplot = derive2 { name="somplot"; version="1.6.4"; sha256="06c8p2lqz3yxmxdl7ji8a3czvxnsbl7bwyiig76pkwc3a5qqfbb9"; depends=[hexbin]; };
   sonar = derive2 { name="sonar"; version="1.0.2"; sha256="1f0f5iqi3y9vnxyym14nm8dqxw0vcpnxmvvkx4sm612i4fclg1f9"; depends=[]; };
   sonicLength = derive2 { name="sonicLength"; version="1.4.4"; sha256="1v46xzx3jxxxs2biyrq6xbv2lhpz1i95la93hj6dl4jfyikmx0im"; depends=[]; };
@@ -10954,8 +11251,8 @@ in with self; {
   sotkanet = derive2 { name="sotkanet"; version="0.9.48"; sha256="1jw9agj92zzgad5kk9z6smjacimwinci6aaqlzmshivb8g8rv8zp"; depends=[RCurl rjson]; };
   sotu = derive2 { name="sotu"; version="1.0.2"; sha256="0aqwkawaydsm91hz13msjg1a5llg7xmv6hxmfmsaganrl7iaym3c"; depends=[]; };
   sound = derive2 { name="sound"; version="1.4.5"; sha256="1kbbb614d0fmj9l0yjiwf5yqnl7sby4xklp7qwp6rwjvq9bnm0ab"; depends=[]; };
-  soundecology = derive2 { name="soundecology"; version="1.3.2"; sha256="1ig04hdxwailsp4lv5y9q73x7vb6hl4dw9zlb05gbccvid5vmdsh"; depends=[ineq oce pracma seewave tuneR vegan]; };
-  soundgen = derive2 { name="soundgen"; version="1.1.2"; sha256="13n3gr3hwy3ph9kb4fmx87qwndijxf04nvy13sjaazmvq9q9dfbg"; depends=[dtw mvtnorm phonTools plyr reshape2 seewave shiny tuneR zoo]; };
+  soundecology = derive2 { name="soundecology"; version="1.3.3"; sha256="16h6gbdlyav7wbfisdv1f2zsqhr45liidgj7qqk8giwjxgan8q97"; depends=[ineq oce pracma seewave tuneR vegan]; };
+  soundgen = derive2 { name="soundgen"; version="1.2.0"; sha256="1k6my6lcwy36fa25glyd8vfr3b57fwx7nz4s24bkf40vp0vkpsc2"; depends=[dtw mvtnorm phonTools plyr reshape2 seewave shiny tuneR zoo]; };
   source_gist = derive2 { name="source.gist"; version="1.0.0"; sha256="03bv0l4ccz9p41cjw18wlz081vbjxzfgq3imlhq3pgy9jdwcd8fp"; depends=[RCurl rjson]; };
   sourceR = derive2 { name="sourceR"; version="1.0.1"; sha256="01qxa44s9szaxl0rdcx4p0wn4vby17hdzdjzpsbls3prsnr0jaad"; depends=[assertthat cluster dplyr gplots gtools hashmap R6 reshape2 SPIn tensorA]; };
   sourcetools = derive2 { name="sourcetools"; version="0.1.6"; sha256="0l8c6fql82cb246qh7hfgxb4s35qn0qfgy6dzvkx0zkz1cpqvx69"; depends=[]; };
@@ -10964,30 +11261,31 @@ in with self; {
   spAddins = derive2 { name="spAddins"; version="0.2.0"; sha256="19wbcghcf0f9qvqy92jhsdcpmd9b4lkhxndvr71cyhzga539lh1n"; depends=[magrittr purrr rstudioapi stringr]; };
   spBayes = derive2 { name="spBayes"; version="0.4-1"; sha256="1cypl3kvcr7nwdkq59zpdhkasz0z5r2gk8hr6wf1a1992k8c33ag"; depends=[abind coda Formula magic]; };
   spBayesSurv = derive2 { name="spBayesSurv"; version="1.1.2"; sha256="0m1432gkjkkqmzhksv19yca1wyvp5vjwcmpavhiik4ghfx72rgrr"; depends=[coda fields MASS Rcpp RcppArmadillo survival]; };
-  spData = derive2 { name="spData"; version="0.2.7.4"; sha256="1gkzcd9sy7ca2s8xa45vn0j4ismb28i8vjskw2fldfl3aglss4qp"; depends=[]; };
+  spData = derive2 { name="spData"; version="0.2.8.3"; sha256="0w638fmzir2z7mn2ybfb88hlfnx1s36ysv7rmhfyf1s6wpyqcswl"; depends=[]; };
+  spGARCH = derive2 { name="spGARCH"; version="0.1.4"; sha256="1bvrhjvw1yyfajm6wyh38dvqkvrx9ymmk45pgbn4qwf47ckryhap"; depends=[Matrix Rcpp RcppEigen Rsolnp spdep truncnorm]; };
   spMC = derive2 { name="spMC"; version="0.3.9"; sha256="10cvha5j2pi3b2qiq3jbrc10yi84a595zlg0wshx3wrzxb1rim85"; depends=[]; };
-  spMaps = derive2 { name="spMaps"; version="0.2"; sha256="1rrrkbj9bvs217dgvwm686zczcwjqcbq0x268cwl6qnsm39mxzzf"; depends=[raster rgeos sp]; };
   spNNGP = derive2 { name="spNNGP"; version="0.1.1"; sha256="0b55arvy5xr592bs2082djyzaa48jbv0y85h7nnj479f8c31grqp"; depends=[coda Formula RANN]; };
   spTDyn = derive2 { name="spTDyn"; version="2.0"; sha256="0wandd5iqyqb474096lky04rrgj31gnyqnlmgw8ypxsypd0gqdy0"; depends=[coda sp spacetime spTimer]; };
   spTest = derive2 { name="spTest"; version="0.2.5"; sha256="11x2wq3031mqbj4n6hvb4l3sp4382qankdl1v1qh7ab2xa0h6xw8"; depends=[geoR sp]; };
   spThin = derive2 { name="spThin"; version="0.1.0"; sha256="06qbk0qiaw7ly1ywbr4cnkmqfasymr7gbhvq8jjbljm0l69fgjpp"; depends=[fields knitr spam]; };
   spTimer = derive2 { name="spTimer"; version="3.0-1"; sha256="1vl26d248642grca63kv1rsghqscchkhbybby0fgfg58v042qbs5"; depends=[coda sp spacetime]; };
   spa = derive2 { name="spa"; version="2.0"; sha256="1np50qiiy3481xs8w0xfmyfl3aypikl1i1w8aa5n2qr16ksxrnq3"; depends=[cluster MASS]; };
-  spaMM = derive2 { name="spaMM"; version="2.3.0"; sha256="1625nplyxklviifhalfwylc0cr2qlhrr57zhm3dj3n2daxjhid87"; depends=[MASS Matrix nlme nloptr proxy Rcpp RcppEigen]; };
+  spaMM = derive2 { name="spaMM"; version="2.4.8"; sha256="15hwz4824m3p7vn6faiffx62zwz0ipqs5z8q6r208vy0jivawwsl"; depends=[MASS Matrix nlme nloptr pbapply proxy Rcpp RcppEigen]; };
   spaa = derive2 { name="spaa"; version="0.2.2"; sha256="163iipz1knxx1lzby9a3n1f014yqkf25z1wpwwy4gbx7sia499d5"; depends=[]; };
   space = derive2 { name="space"; version="0.1-1"; sha256="1qigfz62xz47hqi43aii3yr4h7ddvaf11a5nil7rqprgkd0k6mv3"; depends=[]; };
   spaceExt = derive2 { name="spaceExt"; version="1.0"; sha256="0lp8qmb7vcgxqqpsi89zjy7kxpibg3x2mq205pjmsrbbh7saqzr4"; depends=[glasso limSolve]; };
+  spaceNet = derive2 { name="spaceNet"; version="1.0.1"; sha256="005jz7bm3c7zi3pgm8wyivc2kl058c0lwdjjzv0qb1vdsq9mpxx1"; depends=[MASS permute RcppTN Rfast sna vegan]; };
   spacejam = derive2 { name="spacejam"; version="1.1"; sha256="1mdxmfa1aifh3h279cklm4inin0cx3h0z2lm738bai34j6hpvar7"; depends=[igraph Matrix]; };
   spacetime = derive2 { name="spacetime"; version="1.2-1"; sha256="1i6yrmyr9vc5lr99w7qhr0jqdx97ckjqay5g0lqdrk98sygpfl4g"; depends=[intervals lattice sp xts zoo]; };
   spacodiR = derive2 { name="spacodiR"; version="0.13.0115"; sha256="0c0grrvillpwjzv6fixviizq9l33y7486ypxniwg7i5j6k36nkpl"; depends=[colorspace picante Rcpp]; };
   spacom = derive2 { name="spacom"; version="1.0-5"; sha256="0b6yh4q9f0ibwlwyckwaya9m645j22x6bdz9mz3chass8qza6bls"; depends=[foreach iterators lme4 Matrix nlme spdep]; };
-  spacyr = derive2 { name="spacyr"; version="0.9.6"; sha256="0s4gn2nfd2bamvpzk68n4ym1nylzay8hrgkax6c9ghhvi3p7rch7"; depends=[data_table reticulate]; };
+  spacyr = derive2 { name="spacyr"; version="0.9.9"; sha256="1zdn57k5iacy73xmac32mslqzidpn3d38qyrnbzkzv2slysqwgkw"; depends=[data_table reticulate]; };
   spaero = derive2 { name="spaero"; version="0.2.0"; sha256="0srkah89z23j30y2smlnyhf97mm123apma8vgmgfarbx188bkwpn"; depends=[]; };
-  spam = derive2 { name="spam"; version="2.1-2"; sha256="06c2bal2hj4qjb65qagfq6icy52cjn8sn8yl0c0dbzcz4gmidvy2"; depends=[dotCall64]; };
-  spam64 = derive2 { name="spam64"; version="2.1-2"; sha256="15cjdz71fh04hcqjn93lnnqbmyfgm67p1x5lyiiq3wz7k1fk5a0h"; depends=[]; };
+  spam = derive2 { name="spam"; version="2.1-4"; sha256="0xdr6rmbsx6qq3n4225hr9sma56f33p4pbfirb4r1wxspy5d0zi9"; depends=[dotCall64]; };
+  spam64 = derive2 { name="spam64"; version="2.1-4"; sha256="186q2yl7kjmh13k51zysa6c86dcsydiaam51c2v9v8gk8pgagfgf"; depends=[]; };
   spanel = derive2 { name="spanel"; version="0.1"; sha256="1riyvvfij277mclgik41gyi01qv0k466wyk2wbqqhlvrlj79yzsc"; depends=[]; };
   spanish = derive2 { name="spanish"; version="0.3.2"; sha256="1dg4wnvxhybhagag9xx27af6760dlclaivx27mfxywfha312xfpn"; depends=[magrittr xml2]; };
-  spant = derive2 { name="spant"; version="0.7.0"; sha256="1lcv8lblc6arbmjxy6mskr2iprxij7b4sgn7xm9imvcqx5jibzjq"; depends=[abind complexplus foreach matrixcalc minpack_lm nnls plyr pracma signal smoother stringr svd tkrplot]; };
+  spant = derive2 { name="spant"; version="0.9.0"; sha256="0cfvi5pxg1wg9kl9rxrarbb3jaxwjfwy34lmg1yy5nj8ld8lzlfc"; depends=[abind complexplus foreach matrixcalc minpack_lm nnls plyr pracma signal smoother stringr svd tkrplot]; };
   sparc = derive2 { name="sparc"; version="0.9.0"; sha256="0jsirrkmvrfxav9sphk8a4n52fg0d1vnk3i8m804i4xl0s7lrg8s"; depends=[]; };
   sparcl = derive2 { name="sparcl"; version="1.0.3"; sha256="1348pi8akx1k6b7cf4bhpm4jqr5v8l5k086c7s6rbi5p6qlpsrvz"; depends=[]; };
   spareserver = derive2 { name="spareserver"; version="1.0.1"; sha256="094q5i6v4v37hzfdyps8zni394z312r802hl04jw0xzzps922rq4"; depends=[assertthat httr pingr]; };
@@ -10999,20 +11297,21 @@ in with self; {
   sparklyr = derive2 { name="sparklyr"; version="0.7.0"; sha256="0lyn5xlz7a826dmlihn6jp2kq72abr3jy0ylsa4lvk9sj3acy988"; depends=[assertthat base64enc broom config DBI dbplyr digest dplyr httr jsonlite lazyeval openssl rappdirs readr rlang rprojroot rstudioapi shiny withr xml2]; };
   sparktex = derive2 { name="sparktex"; version="0.1"; sha256="0r6jnn9fj166pdhnjbsaqmfmnkq0qr1cjprihlnln9jad05mrkjx"; depends=[]; };
   sparkwarc = derive2 { name="sparkwarc"; version="0.1.1"; sha256="07b66f12fz19042kj7d9p32j9sy3103zvil36xkf21hm9iyg6xph"; depends=[DBI sparklyr]; };
-  sparr = derive2 { name="sparr"; version="2.1-14"; sha256="1zj94csfb59sk1klc6j34sfj5a9khm62qbpk33jwlkb9slvm5fcx"; depends=[doParallel foreach misc3d spatstat spatstat_utils]; };
+  sparr = derive2 { name="sparr"; version="2.2-11"; sha256="01li60cybv9kg54zkc9rh4ra6danzbnap9rx59pgfj7zkhs2phmn"; depends=[doParallel foreach misc3d spatstat spatstat_utils]; };
   sparseBC = derive2 { name="sparseBC"; version="1.1"; sha256="1w60n2875n809lbrn0hd4kdmsyfd64aikgzxchza8b59x77l0psy"; depends=[fields glasso]; };
   sparseEigen = derive2 { name="sparseEigen"; version="0.1.0"; sha256="0vqcy61rarmp3liz8fr3vs3y40hkb3wfw89b5xsj1byaiap4772s"; depends=[]; };
-  sparseFLMM = derive2 { name="sparseFLMM"; version="0.2.0"; sha256="0r7080d2s5vrcwi4h11iiapmdl0l59kd0j8r1avmw9x0d0qw6lh8"; depends=[data_table MASS Matrix mgcv refund]; };
-  sparseHessianFD = derive2 { name="sparseHessianFD"; version="0.3.3.2"; sha256="0475zyij6h19diaalnkj39j4n0lx6mgfq3sl479mlngf9fhr9zvx"; depends=[Matrix Rcpp RcppEigen]; };
+  sparseFLMM = derive2 { name="sparseFLMM"; version="0.2.2"; sha256="12143qij3p8vry9i02i52nj00m1ckkwg2rq99dq00dq43axcpvgw"; depends=[data_table MASS Matrix mgcv refund]; };
+  sparseHessianFD = derive2 { name="sparseHessianFD"; version="0.3.3.3"; sha256="1a0pkbb7yk9pp57zyy96k7p5xy1s44jbfy0nz8zyw4h774369yfm"; depends=[Matrix Rcpp RcppEigen]; };
   sparseLDA = derive2 { name="sparseLDA"; version="0.1-9"; sha256="1k3sw9kc40yxnfss4vrsx34qxmv8ssddyhbfjhxrdldvblhbwchb"; depends=[elasticnet MASS mda]; };
   sparseLTSEigen = derive2 { name="sparseLTSEigen"; version="0.2.0"; sha256="11llmrkq0pnrdphgjvhmg269bq3xbbn4s7kd7xhvk62sigvspkcj"; depends=[Rcpp RcppEigen robustHD]; };
-  sparseMVN = derive2 { name="sparseMVN"; version="0.2.1"; sha256="1k4jiday24rdiscprwifrc0py13h707ijavspz15jannvjaz9qdh"; depends=[Matrix]; };
+  sparseMVN = derive2 { name="sparseMVN"; version="0.2.1.1"; sha256="0ikh1i4vid6r4sx9pdjqc5wbh4xdj966mr0b7jb1vjw18wrzad8q"; depends=[Matrix]; };
   sparseSEM = derive2 { name="sparseSEM"; version="2.5"; sha256="0ig8apsi94kvbcq3i8nzmywbdizlss7c6r9bppcyl9lxgikc3cds"; depends=[]; };
   sparseSVM = derive2 { name="sparseSVM"; version="1.1-2"; sha256="1bv9ipfs275vr1hmz7g7w4rimvbkg15wjh3xj3cx1zam91k384k9"; depends=[]; };
   sparsebn = derive2 { name="sparsebn"; version="0.0.5"; sha256="19315nzj9pz98498amlhas6ii3vwvn3qxz5a6136nh2xfwfg2bhc"; depends=[ccdrAlgorithm discretecdAlgorithm sparsebnUtils]; };
-  sparsebnUtils = derive2 { name="sparsebnUtils"; version="0.0.5"; sha256="0hdzrp2wcjl849v7np7ybmyp15zjfqr8gkwhij2qjrpprf7z8s57"; depends=[Matrix nnet]; };
+  sparsebnUtils = derive2 { name="sparsebnUtils"; version="0.0.6"; sha256="02a75ldvxfn0awn2aaws3fgd4zzk1jjfry4nxjf3y1grdbbz396y"; depends=[Matrix nnet]; };
   sparsediscrim = derive2 { name="sparsediscrim"; version="0.2.4"; sha256="1sa3yssncbpx8yid5wrnxdq7jl3hy5rskyh60v5x592ijcb2mif0"; depends=[bdsmatrix corpcor dplyr ggplot2 mvtnorm]; };
-  sparseinv = derive2 { name="sparseinv"; version="0.1.1"; sha256="1c0vkfq4kh78rs8x484jyi29rcswq9slljxvvc7km6qlz1mnrzlm"; depends=[Matrix spam]; };
+  sparseinv = derive2 { name="sparseinv"; version="0.1.2"; sha256="1lf0lbk8dslasd6m1rq4wzpxa1v427j5i9j0rrw5xjx80z1gc206"; depends=[Matrix spam]; };
+  sparsepca = derive2 { name="sparsepca"; version="0.1.2"; sha256="0wk2nm37p15gb8i4s45izzzdmwywr56kv4g0j3jd5s3slm224vv4"; depends=[rsvd]; };
   sparsepp = derive2 { name="sparsepp"; version="0.2.0"; sha256="0ibadyv7lchxw3y1dspjnbhc4pin4dxwqj9rdrdxfbvlx0i3jgxr"; depends=[]; };
   sparsereg = derive2 { name="sparsereg"; version="1.2"; sha256="1ipsang2fppmjx4h5ljgzx3c44z3lggc376ghrqqgmxb5ql8bcp3"; depends=[coda ggplot2 GIGrvg glmnet gridExtra MASS MCMCpack msm Rcpp RcppArmadillo VGAM]; };
   sparsestep = derive2 { name="sparsestep"; version="1.0.0"; sha256="0f3wrwiyn990sn3x9r50zgs8cr76nmyisdc7qismgx1nn5yx5z0g"; depends=[Matrix]; };
@@ -11021,7 +11320,6 @@ in with self; {
   sparsio = derive2 { name="sparsio"; version="1.0.0"; sha256="12nbydgzl3qlanlsfdy8bvg6rxa439lv0z0vbyqssqwky3mmg5c3"; depends=[Matrix Rcpp]; };
   spartan = derive2 { name="spartan"; version="3.0.0"; sha256="1q78l04nbrllrsk14haln5s829rkkhkhmb34xzfgyd8glbi7z4ay"; depends=[e1071 ggplot2 gplots lhs mco mlegp neuralnet plotrix psych randomForest XML]; };
   spass = derive2 { name="spass"; version="1.1"; sha256="1kr2ixyvsm82h2brdm51bzll69632mkj9f88a2ny0pcyqrbggg83"; depends=[geepack MASS multcomp mvtnorm Rcpp]; };
-  spatcounts = derive2 { name="spatcounts"; version="1.1"; sha256="0rp8054aiwc62r1m3l4v5dh3cavbs5h2yb01453bw9rwis1pj2qm"; depends=[]; };
   spate = derive2 { name="spate"; version="1.5"; sha256="1hlh4iwx1lrl8r2gag33z2xdv6k4hg86ch4f0jlqnqkhm9hapshf"; depends=[mvtnorm truncnorm]; };
   spatgraphs = derive2 { name="spatgraphs"; version="3.2-1"; sha256="0n7f3r4ahv1w5mwx5mnib3g4263kz73rh1fcfk5wb12y52x8n1iz"; depends=[Matrix Rcpp]; };
   spatial = derive2 { name="spatial"; version="7.3-11"; sha256="04aw8j533sn63ybyrf4hyhrqm4058vfcb7yhjy07kq92mk94hi32"; depends=[]; };
@@ -11029,7 +11327,7 @@ in with self; {
   spatial_tools = derive2 { name="spatial.tools"; version="1.4.8"; sha256="0qnsjfx974na87p3n7sp711sc13v6dmpvb2kjpvscixs8rsy03y1"; depends=[abind doParallel foreach iterators mmap raster rgdal]; };
   spatialClust = derive2 { name="spatialClust"; version="1.1.1"; sha256="042yrmh1rb0hxynxlbdpcissgy9zazs5aqx7vj388ibynzijck3r"; depends=[ggplot2 maptools rgeos sp]; };
   spatialCovariance = derive2 { name="spatialCovariance"; version="0.6-9"; sha256="1m86s9a059spp97y37dcirrgjshcqzpdj11cq92vji624w4nrhlb"; depends=[]; };
-  spatialEco = derive2 { name="spatialEco"; version="1.0-0"; sha256="0q65gcrbd62bbxlqr7338jm9ra6iq1b5gccb221w98860d2wjz9x"; depends=[cluster MASS RANN raster RCurl readr rgdal rgeos rms SDMTools sp SpatialPack spatstat spdep yaImpute]; };
+  spatialEco = derive2 { name="spatialEco"; version="1.1-0"; sha256="1cvll6z775w8nvl5q5p62qgp3j2d0kcdb2avqwcqybk23jlxl7dr"; depends=[cluster EnvStats maptools MASS RANN raster RCurl readr rgeos rms SDMTools sf sp SpatialPack spatstat spdep yaImpute]; };
   spatialTailDep = derive2 { name="spatialTailDep"; version="1.0.2"; sha256="107yldc43pgbadxdisnc7vq8vyvcps1b1isyvxd0kyf59xldiq47"; depends=[cubature mvtnorm SpatialExtremes]; };
   spatialfil = derive2 { name="spatialfil"; version="0.15"; sha256="01fbn9zblz7rjsgqy3ikdqpf0p0idvb6m96mf7m7qi2ps5f48vzj"; depends=[abind fields]; };
   spatialkernel = derive2 { name="spatialkernel"; version="0.4-23"; sha256="0kvhirh7afk2gfy21pa6117yk6kzbaf2dxfkr1ax3b554rnrv4p0"; depends=[spatstat]; };
@@ -11037,26 +11335,26 @@ in with self; {
   spatialprobit = derive2 { name="spatialprobit"; version="0.9-11"; sha256="1cpxxylc0pm7h9m83m2cklrh4jni5x79r5m5gibxi6viahwxn9kc"; depends=[Matrix mvtnorm spdep tmvtnorm]; };
   spatialsegregation = derive2 { name="spatialsegregation"; version="2.44"; sha256="02s75q6ylzm6xzr1q23fhps3svlb0ix86dzgr23wf42369gs7h0g"; depends=[spatstat]; };
   spatialwarnings = derive2 { name="spatialwarnings"; version="1.0"; sha256="1j8zr9pv769ji9ynzrhah3nd56mjjap450c28g26ff00l3kr9l03"; depends=[ggplot2 moments plyr poweRlaw Rcpp RcppArmadillo reshape2 tidyr VGAM]; };
-  spatstat = derive2 { name="spatstat"; version="1.55-0"; sha256="05mpw0zdw4mdlkcf8q9h0nmviq37ihwpgl472wyxqw69l93vk4k3"; depends=[abind deldir goftest Matrix mgcv nlme polyclip rpart spatstat_data spatstat_utils tensor]; };
+  spatstat = derive2 { name="spatstat"; version="1.55-1"; sha256="01rzaaws3nkzqdpqvq54glxxl611gz8vi7l7jv988685y8r8q4wa"; depends=[abind deldir goftest Matrix mgcv nlme polyclip rpart spatstat_data spatstat_utils tensor]; };
   spatstat_data = derive2 { name="spatstat.data"; version="1.2-0"; sha256="0nzw5y1in36mib5g4v076b9jii71jjidxajn3n8v67lvl48dmwgm"; depends=[spatstat_utils]; };
   spatstat_local = derive2 { name="spatstat.local"; version="3.5-7"; sha256="1sdcx4qxv0z5q97rljn34mssbs4w6qbqxhn71xmkns01xypl1wr2"; depends=[spatstat spatstat_utils tensor]; };
   spatstat_utils = derive2 { name="spatstat.utils"; version="1.8-0"; sha256="053j67mrnjcw1mdbm3qjvf67hrfnhsma4770r7l67bs4xys2qhfg"; depends=[]; };
   spatsurv = derive2 { name="spatsurv"; version="1.1"; sha256="0fakhz2qc5vb7ym2ik7hilv8g5fn3z7s16hzngq1n591xza5b74g"; depends=[fields geostatsp iterators lubridate Matrix OpenStreetMap RandomFields raster RColorBrewer rgeos rgl sp spatstat stringr survival]; };
   spbabel = derive2 { name="spbabel"; version="0.4.8"; sha256="1f0lradf7a3fjkdhbviw24awpqj1pzw1wfvigrqhnmf0jjw3nng3"; depends=[dplyr sp tibble]; };
-  spc = derive2 { name="spc"; version="0.5.4"; sha256="1ii848jcpsg5jij1i17flhz4v5vgsb8j6iijgpha7sigmj7gynk3"; depends=[]; };
-  spc4sts = derive2 { name="spc4sts"; version="0.2.1"; sha256="1mwgqj9gph3fzvmqp03khi541g13ljx8xn09ji9qcjl6j032rk2p"; depends=[gridExtra rpart]; };
+  spc = derive2 { name="spc"; version="0.6.0"; sha256="118r2yjfmzm0bi3ccx9pzi56vw2kbjz0pbxrjqdks0075fk7ij0q"; depends=[]; };
+  spc4sts = derive2 { name="spc4sts"; version="0.3.1"; sha256="1g7q3g486qns8qwpki2nbiy995v7fl1ibmk4645ws9yxgybw5mxj"; depends=[gridExtra rpart]; };
   spcadjust = derive2 { name="spcadjust"; version="1.1"; sha256="016i3zaaq800x4niz4fixa57nfj1m10sz5xskff4vq4v9fjn2sl0"; depends=[]; };
-  spcosa = derive2 { name="spcosa"; version="0.3-7"; sha256="11q6zr4y0hv1vnhl45g38f1906pq9a695ynn6yfkzlpz1kbf2jma"; depends=[ggplot2 rJava sp]; };
+  spcosa = derive2 { name="spcosa"; version="0.3-8"; sha256="1hw3njn2c8wj8bk2qpnbi2mbhj485q3gpbjf1gq9k6my4brdp86b"; depends=[ggplot2 rJava sp]; };
   spcov = derive2 { name="spcov"; version="1.01"; sha256="1brmy64wbk56bwz9va7mc86a0ajbfy09qpjafyq2jv7gm7a35ph5"; depends=[]; };
   spcr = derive2 { name="spcr"; version="2.0"; sha256="1n0lva9brpzxysw6p7l88cj8d46jng2zd7zvr5brqldzd3yl63l9"; depends=[]; };
   spd = derive2 { name="spd"; version="2.0-1"; sha256="00zxh4ri47b61jkcjf5idl9hhlfld6rhczsnhmjsax59884f2i8m"; depends=[KernSmooth]; };
-  spdep = derive2 { name="spdep"; version="0.7-4"; sha256="1iskcrlka8p49i3lvfp9l5y4q9vapdn0m6wlin7pq47017jz2hwn"; depends=[boot coda deldir expm gmodels LearnBayes MASS Matrix nlme sp spData]; };
+  spdep = derive2 { name="spdep"; version="0.7-7"; sha256="0wrlximy4w5y5aszy3pacmf3ag224chl12q4rj4r7ky6zw2sn1ns"; depends=[boot coda deldir expm gmodels LearnBayes MASS Matrix nlme sp spData]; };
   spdownscale = derive2 { name="spdownscale"; version="0.1.0"; sha256="0pl560km9629iwy13h7359ab7ixzs09hg986kvk0xbnc348srb86"; depends=[]; };
   spdplyr = derive2 { name="spdplyr"; version="0.1.3"; sha256="1f34yzj9z4f1dj7pqaayk0mvabzwa6kc3kwi1pmpikl1afgsyv25"; depends=[dplyr lazyeval rlang sp spbabel tibble]; };
   spduration = derive2 { name="spduration"; version="0.17.0"; sha256="1s41rs5nbdrknn6ag7zn8ds3203q2x5z5mb9vf80y6ba6w3ksr32"; depends=[corpcor forecast MASS plyr Rcpp RcppArmadillo separationplot xtable]; };
   spdynmod = derive2 { name="spdynmod"; version="1.1.3"; sha256="0qh0kkxs6hk344k3fys0g9yy0xl0kwnwl18bgiak53fd1k7whskq"; depends=[animation deSolve raster sp]; };
   spe = derive2 { name="spe"; version="1.1.2"; sha256="0xyx42n3gcsgqmy80nc9la6p6gq07anpzx0afwffyx9fv20fvys0"; depends=[]; };
-  speaq = derive2 { name="speaq"; version="2.1.0"; sha256="1alwqwxx5mmmlqwj5dz9dzzwxcs8hyz85kkmj3ajb3wp09z5dhaq"; depends=[cluster data_table doSNOW foreach ggplot2 gridExtra impute MassSpecWavelet missForest mQTL reshape2 rvest xml2]; };
+  speaq = derive2 { name="speaq"; version="2.3.1"; sha256="18v39nm9h4388asl0vk2w874kpg5spp7fyhib04cyb91hhx910sr"; depends=[cluster data_table doSNOW foreach ggplot2 gridExtra impute MassSpecWavelet missForest mQTL reshape2 rvest xml2]; };
   spec = derive2 { name="spec"; version="0.1.3"; sha256="0i1c5wjrca36zf5ak95i8n57hy1jj8w0qkkpnjqpn3xv3nvqccr2"; depends=[csv encode magrittr]; };
   speccalt = derive2 { name="speccalt"; version="0.1.1"; sha256="0j7rbidmmx78vgwsqvqjbjjh92fnkf2sdx0q79xlpjl2dph7d6l6"; depends=[]; };
   speciesgeocodeR = derive2 { name="speciesgeocodeR"; version="1.0-4"; sha256="033877l9sxcvvzpyf9aw19sj8qfscim663j2y2az8bl9c79xw4ph"; depends=[maps raster sp]; };
@@ -11068,12 +11366,12 @@ in with self; {
   spectralGP = derive2 { name="spectralGP"; version="1.3.3"; sha256="1jf09nsil4r90vdj7n1k6ma9dzzx3bwv0fa7svil9pxrd2zlbkbs"; depends=[]; };
   spectrolab = derive2 { name="spectrolab"; version="0.0.4"; sha256="1vmrpszjwl9iq8z6p8rhh560l79iya6rah7jld8ykvm9irwdf15h"; depends=[devtools prospectr RColorBrewer shiny shinyjs]; };
   speedglm = derive2 { name="speedglm"; version="0.3-2"; sha256="1b25zimk0z7ad62yacqdg0zk0qs0jja4i918ym942xfw4j1z3jjz"; depends=[MASS Matrix]; };
-  spef = derive2 { name="spef"; version="1.0-6"; sha256="1an9p914p457bm4wl82bpqa8jq9ibyrrc1jnm5ppr5ww5qp6yifq"; depends=[BB ggplot2 nleqslv plyr sm SQUAREM survival]; };
+  spef = derive2 { name="spef"; version="1.0-7"; sha256="006qp0qsqrlbbbv4b86ikqz1ig0php0cahqz4c9n3js1kxwsdi7d"; depends=[BB ggplot2 nleqslv plyr sm SQUAREM survival]; };
   speff2trial = derive2 { name="speff2trial"; version="1.0.4"; sha256="0dj5mh2sdp6j4ijgv14hjr39rasab8g83lx1d9y50av11yhbf2pw"; depends=[leaps survival]; };
   spellcheckr = derive2 { name="spellcheckr"; version="0.1.2"; sha256="09snc1ymzr4njnr3w502b84dqwjjd414higjxqi48jvh27br5k1l"; depends=[data_table dplyr stringr]; };
   spelling = derive2 { name="spelling"; version="1.1"; sha256="10zhzbpyjw5lkg4iyjwgs5xp2c8bgwyzjg146fcml6cjs6xhl8ni"; depends=[commonmark hunspell knitr xml2]; };
   sperich = derive2 { name="sperich"; version="1.5-7"; sha256="1apgq5nsl6nw674dy7bc7r7z962wcmqsia5n67a8n6c5lcgcif3f"; depends=[foreach rgdal SDMTools sp]; };
-  sperrorest = derive2 { name="sperrorest"; version="2.1.1"; sha256="0rbfr6dg8dx6lm3npsrinr2vxxsq0f3xwprzl0fyzabdhd82na4y"; depends=[doFuture foreach future gdata magrittr pbapply pbmcapply purrr ROCR rpart stringr]; };
+  sperrorest = derive2 { name="sperrorest"; version="2.1.5"; sha256="126vwk3bxs27gblakc5nplj0k90a21gks9d0kbyanlxc2ihsy243"; depends=[doFuture foreach future future_apply gdata glue magrittr pbapply pbmcapply purrr ROCR rpart stringr]; };
   spew = derive2 { name="spew"; version="1.3.0"; sha256="09g8j5v5k455c3kqm1fn09ql3x34xy22igicakwl99s8gsln7v3p"; depends=[maptools plyr sp]; };
   spex = derive2 { name="spex"; version="0.4.0"; sha256="0b2zcpbjr8lqfsmwvmy4lp88xz16v7fyqx1yv10yhcgxlgw0yw8p"; depends=[quadmesh raster sp]; };
   spfrontier = derive2 { name="spfrontier"; version="0.2.3"; sha256="0br54kkva4m3yyqfjh3cs5wf4kk3ax6yg0h8cl5qiy38dvssa5qd"; depends=[ezsim moments mvtnorm numDeriv optimx spdep tmvtnorm]; };
@@ -11082,7 +11380,7 @@ in with self; {
   spgs = derive2 { name="spgs"; version="1.0-1"; sha256="1jabgcc8bd6kikcd5rv9xczbg6r52mwyc68r8filn5i0gva4by57"; depends=[]; };
   spgwr = derive2 { name="spgwr"; version="0.6-32"; sha256="0xdv0yy6md9kv1aay6xxj1k3x59apflip0qpfvyk2aa2wbn1sx2v"; depends=[sp spData]; };
   sphereplot = derive2 { name="sphereplot"; version="1.5"; sha256="1i1p20h95cgw5wqp9bwfs9nygm4dxzsggz08ncjs1xrsvhhq9air"; depends=[rgl]; };
-  sphet = derive2 { name="sphet"; version="1.6"; sha256="0149wkak7lp2hj69d83rn05fzh9bsvyc1kyg0d3b69sx92kqlwr0"; depends=[Matrix nlme sp spdep]; };
+  sphet = derive2 { name="sphet"; version="1.7"; sha256="0savvqz3v5awsr7kcghg6yzkqdpm01kwp7jrg9ajfb3146gg8mlq"; depends=[Matrix nlme sp spdep]; };
   spi = derive2 { name="spi"; version="1.1"; sha256="0gc504f7sji5x0kmsidnwfm7l5g4b1asl3jkn2jzsf2nvjnplx1z"; depends=[]; };
   spider = derive2 { name="spider"; version="1.5.0"; sha256="1y034v42jxjl3vj87iz5kaizq7fwppmn56z7yyvrrmk5ps4nqr1j"; depends=[ape pegas]; };
   spiderbar = derive2 { name="spiderbar"; version="0.2.1"; sha256="1mm9g58riyjxpfwjj28shlw9zlycsgcxl6xw8im0gm815v2plyhv"; depends=[Rcpp]; };
@@ -11090,28 +11388,31 @@ in with self; {
   spikeSlabGAM = derive2 { name="spikeSlabGAM"; version="1.1-11"; sha256="1f16jvdj6kbiiypnbbj10nj7l88kkrxasrribqpjv7ai62dlximn"; depends=[akima cluster coda ggplot2 gridExtra MASS MCMCpack mvtnorm R2WinBUGS reshape scales]; };
   spikes = derive2 { name="spikes"; version="1.1"; sha256="080sna0sgii61kai5sirs6cijnvk1012djwfw705di9y2lvk1hqk"; depends=[emdbook]; };
   spikeslab = derive2 { name="spikeslab"; version="1.1.5"; sha256="0dzkipbrpwki6fyk4hqlql3yhadwmclgbrx00bxahrmlaz1vjzh2"; depends=[lars randomForest]; };
-  spind = derive2 { name="spind"; version="2.1.2"; sha256="0z00fc9r6aycv5v9ms7v64xszfc58wvy6y7bd2z0xima1gpppq2r"; depends=[gee geepack ggplot2 lattice MASS RColorBrewer rje splancs stringr waveslim]; };
+  spind = derive2 { name="spind"; version="2.1.3"; sha256="173jpyq13vdhcwbxwx188fp7jg8l67yh6kxlai13z8lqnlpl1xqh"; depends=[gee geepack ggplot2 lattice MASS RColorBrewer rje splancs stringr waveslim]; };
   spinyReg = derive2 { name="spinyReg"; version="0.1-0"; sha256="0kbg7rncrrl5xdsaw9vj909x97mfp77mjnvghczplmnwmmanyn72"; depends=[]; };
   splancs = derive2 { name="splancs"; version="2.01-40"; sha256="0qs3lwyllrkahnvqbm8bzrf03bm9zk4s7p1n19s638y4xf0l6x3r"; depends=[sp]; };
   splashr = derive2 { name="splashr"; version="0.4.1"; sha256="1gydnl6qdkqxvgzy3j6n8y4nan4wz6p7wybcgnm5p37n7q6m2rhk"; depends=[curl docker formatR HARtools httr jsonlite lubridate magick openssl purrr scales stringi xml2]; };
   splines2 = derive2 { name="splines2"; version="0.2.7"; sha256="1hh7zd2gqmfc5xx91kjwi465yvq6lwrhgjdim1b40g6canh0ixlb"; depends=[]; };
+  splitFeas = derive2 { name="splitFeas"; version="0.1.0"; sha256="1cfiis32h5kkp8r1mndmj4xss9gw96vdzk7q68q3jhbwqiaxp9rp"; depends=[corpcor matrixStats]; };
   splitfngr = derive2 { name="splitfngr"; version="0.1.1"; sha256="0gz65acnkil9xjspl2kzpzyhj7lslga9g3p0k79xh25ia6qal5ws"; depends=[lbfgs]; };
-  splithalf = derive2 { name="splithalf"; version="0.2.0"; sha256="1bpw8mw88aryk4n0bdm4f356wsix6npdpl91qfbwayhdh0g5302f"; depends=[plyr]; };
-  splitstackshape = derive2 { name="splitstackshape"; version="1.4.2"; sha256="0m9karfh0pcy0jj3dzq87vybxv9gmcrq5m2k7byxpki95apbrsmg"; depends=[data_table]; };
+  splithalf = derive2 { name="splithalf"; version="0.3.1"; sha256="01ip3brnlyxlxr1hmnmc2w6jg4vm5gjk8fwavclmv7m7hr2bb4xh"; depends=[dplyr tidyr]; };
+  splitstackshape = derive2 { name="splitstackshape"; version="1.4.4"; sha256="0vhgb4pysp7hbph7kq8b38m4gqhal40j4p7gij2wrc2rajspzhkq"; depends=[data_table]; };
   splm = derive2 { name="splm"; version="1.4-10"; sha256="0zz28mfs84nqyvl1l0ba7yrhgcxxzw1v0542jc39h4pr537yz1nc"; depends=[bdsmatrix ibdreg MASS Matrix maxLik nlme plm spam spdep]; };
-  splot = derive2 { name="splot"; version="0.3.1"; sha256="030r2l7nlypjb9ycnvsds73vqymxbj28l290ia4hvfrfadqnfcb0"; depends=[]; };
-  spls = derive2 { name="spls"; version="2.2-1"; sha256="0zgk9qd825zqgikpkg13jm8hi6ncg48qw5f985bi145nwy9j19xs"; depends=[MASS nnet pls]; };
+  splot = derive2 { name="splot"; version="0.3.2"; sha256="1nix7pzqlla3iga99pw9jqcylg4j5xpfrf94y0abzpy3z4gq3kgc"; depends=[]; };
+  spls = derive2 { name="spls"; version="2.2-2"; sha256="11xp6wnxizc8g91ci9fd7lbjc8pin84c9ak8lr8yg2jyd2l351j9"; depends=[MASS nnet pls]; };
   splus2R = derive2 { name="splus2R"; version="1.2-2"; sha256="0xrbj8vxy0pc6hl7m8abv71d3hjw47cl51s7j7priadyqczkq6sz"; depends=[]; };
   splusTimeDate = derive2 { name="splusTimeDate"; version="2.5.0-137"; sha256="0bpzv6a05hnqnnz2znnkb3f34r56krhc595zjnn82azxj4a53njh"; depends=[]; };
   splusTimeSeries = derive2 { name="splusTimeSeries"; version="1.5.0-74"; sha256="0aikw6ckc0a7lrgjlcdmqspgrx0fc4iysd7jynd2lsf1hxy4pz35"; depends=[splusTimeDate]; };
-  spm = derive2 { name="spm"; version="1.0.0"; sha256="0q87sbp39axmlnj15srnsysm7d9rpm5q6zic0h6hc1xwp205v0sf"; depends=[gbm gstat psy randomForest sp]; };
+  spm = derive2 { name="spm"; version="1.1.0"; sha256="0xx1g6ir0sanj2p6xgsdghymx1iy2bzsany2j87q49y5hah7349j"; depends=[biomod2 gbm gstat psy randomForest ranger sp]; };
   spm12r = derive2 { name="spm12r"; version="2.7.4"; sha256="0v0zmsbzk6446n1yipz3w99n0n4yya6idff3gfyj7fgq10pcalgz"; depends=[git2r matlabr neurobase oro_nifti R_utils]; };
-  spmoran = derive2 { name="spmoran"; version="0.1.2"; sha256="19rl14w0zry649c3kgvrmb7bsw3dxsprf52naiqfxxs7qy3pxcm2"; depends=[doParallel fields foreach ggplot2 Matrix vegan]; };
+  spmoran = derive2 { name="spmoran"; version="0.1.3"; sha256="1bvq91k346w2cvb3yi10qgidabf3s8whlk6glqrlb1k6na7l8k3y"; depends=[doParallel fields foreach ggplot2 Matrix vegan]; };
   spnet = derive2 { name="spnet"; version="0.9.1-0"; sha256="1fy0fpgz2k985brfqyza1l49y0w2j9z308n542pgmkzqsnsdscpw"; depends=[shape sp]; };
+  spnn = derive2 { name="spnn"; version="1.1"; sha256="0i77lpxrfa1jxi9znlmn5knmcjpf17q4hf8999b1x8lhqlhiizc1"; depends=[MASS]; };
   spocc = derive2 { name="spocc"; version="0.7.0"; sha256="0ar107c7snbh1iaib3xddng88861h3gc56whicx5krl3zf2xgjqa"; depends=[crul data_table jsonlite lubridate rbison rebird rgbif ridigbio rvertnet tibble whisker wicket]; };
   spongecake = derive2 { name="spongecake"; version="0.1.2"; sha256="13fxizbfjvqkhkmxk5bwv2fj2xyjkbxrxicpdgwpg0wsk4dhj3s8"; depends=[ggplot2 jpeg magrittr plyr]; };
   sporm = derive2 { name="sporm"; version="1.1"; sha256="07sxz62h4jb7xlqg08sj4wpx121n9jfk65196mnxdvb36lqmb4hp"; depends=[]; };
   spotifyr = derive2 { name="spotifyr"; version="1.0.0"; sha256="1f7sv6qc8bim8vkcsma96zdzd1ci73dpag2dp27mqjcbh716xfy0"; depends=[dplyr httr lubridate purrr tidyr]; };
+  spp = derive2 { name="spp"; version="1.15.4"; sha256="0gjg0g30y9w445mimrd29s44ryla1bmh1mdwj4hb85s1yi1l4h25"; depends=[BH caTools Rcpp Rsamtools]; };
   sppmix = derive2 { name="sppmix"; version="1.0.2"; sha256="1924lrxjlijlbvjbkkwb3pfa4klg49ph6hz66b7kyy1371wa2b9y"; depends=[fields ggplot2 mvtnorm Rcpp RcppArmadillo rgl spatstat]; };
   spray = derive2 { name="spray"; version="1.0-3"; sha256="0zy2dwzk33cwch0pdhhsyiy169z39iij3zvvjg81gxa29pq0h1ab"; depends=[magic partitions Rcpp]; };
   sprex = derive2 { name="sprex"; version="1.4.1"; sha256="14idml4mipd4wyza7hqf49ww4dparmwaps35hxm8jg5h0w1pgh7j"; depends=[swfscMisc]; };
@@ -11125,8 +11426,8 @@ in with self; {
   spt = derive2 { name="spt"; version="1.13-8-8"; sha256="18s74pxfmsjaj92z2a34nq90caf61s84c616yv33a0xvfvp32qr5"; depends=[]; };
   sptemExp = derive2 { name="sptemExp"; version="0.1.1"; sha256="0a4y355j24sll8jmm17lh4j13k21b3nlalsxzpzx2gp5xw1x7jr6"; depends=[automap BayesX BayesXsrc bcv deldir doParallel foreach limSolve ncdf4 plyr R2BayesX raster Rcpp RcppEigen rgdal rgeos sp SpatioTemporal]; };
   sptm = derive2 { name="sptm"; version="17.12-7"; sha256="1l5in0jkqg44rr2id3h25jrfbn7x855p31z338hnmdpfwkpm2b1a"; depends=[kyotil survey survival]; };
-  spuRs = derive2 { name="spuRs"; version="2.0.0"; sha256="0lbc3nny6idijdaxrxfkfrn40bxfyp9z3yl9mwb1k6cyd10v5mfj"; depends=[lattice MASS]; };
-  spup = derive2 { name="spup"; version="0.1-1"; sha256="0iwmydvd6bwpyr4q3hk2hlvgrvpzrdhnbq0frxadwcaaap75pfv0"; depends=[gstat magrittr mvtnorm purrr raster whisker]; };
+  spuRs = derive2 { name="spuRs"; version="2.0.1"; sha256="1vjyhm4dvqm5d4kqjiwk7yy85455dgv4sy9kr5427zci3jlmxqij"; depends=[lattice MASS]; };
+  spup = derive2 { name="spup"; version="1.2-1"; sha256="05cl4kddg2f37238am92bbkyl5davd2a6jjb1akzn1v3ha6qbhpq"; depends=[gstat magrittr mvtnorm purrr raster whisker]; };
   sqldf = derive2 { name="sqldf"; version="0.4-11"; sha256="0q12vsb53p2wchgp8wfz5bk08wfnm0jxjrakclj4jyy6x3a7ksff"; depends=[chron DBI gsubfn proto RSQLite]; };
   sqliter = derive2 { name="sqliter"; version="0.1.0"; sha256="17jjljq60szz0m8p2wc5l56659aap7an5gknc848dp89ycjgj3zx"; depends=[DBI functional RSQLite stringr]; };
   sqlscore = derive2 { name="sqlscore"; version="0.1.2"; sha256="0pl4nf59b8jy8rkqs2z684lxfqh01284h3cx97a1igpy4qqj712b"; depends=[dbplyr]; };
@@ -11135,11 +11436,11 @@ in with self; {
   squid = derive2 { name="squid"; version="0.1.1"; sha256="0qv9lazgiqazhq096ybmllalm2l2h794ry4p1r93c10msxg37sdp"; depends=[arm data_table ggplot2 lme4 MASS shiny]; };
   sra = derive2 { name="sra"; version="0.1.1"; sha256="03nqjcydl58ld0wq1f9f5p666qnvdfxb5vhd584sdilw1b730ykd"; depends=[]; };
   srp = derive2 { name="srp"; version="1.0.0"; sha256="10mpyy8q419dw0zd96l0z8lkxpcyn1l5fvnyvr3n0lyl6jmf91sy"; depends=[fda mgcv]; };
-  srvyr = derive2 { name="srvyr"; version="0.3.0"; sha256="1xxkrr15ihybgr2kv93p1plf6g8bpc2d227bwskxqx9pg7ga3cxf"; depends=[dplyr magrittr rlang survey tibble]; };
+  srvyr = derive2 { name="srvyr"; version="0.3.1"; sha256="1xad4n3bpldaaci83mvpfa8sq6bh0ll5k1fgrapwb8142hvk6m13"; depends=[dplyr magrittr rlang survey tibble]; };
   ss3sim = derive2 { name="ss3sim"; version="0.9.5"; sha256="0rdb49bfxvyh0jrqycrv1hxvh7y4kvw81jccjg5ma734x44q0vm5"; depends=[bbmle dplyr foreach ggplot2 gtools lubridate magrittr plyr r4ss]; };
   ssa = derive2 { name="ssa"; version="1.2.1"; sha256="10x58c57pa9x6svm4h4xrss72ikin9lpf3ihjwmnkgnaicvsd0bx"; depends=[iterators]; };
   ssanv = derive2 { name="ssanv"; version="1.1"; sha256="17a4a5azxm5h2vxia16frcwdyd36phpfm7fi40q6mnnrwbpkzsjd"; depends=[]; };
-  ssc = derive2 { name="ssc"; version="1.0"; sha256="1hhlpcm1mdwkcxrprk5nc2yi3l69lz13av50y3cyz5vj73jhsg44"; depends=[proxy]; };
+  ssc = derive2 { name="ssc"; version="2.0.0"; sha256="0w7c0blqny7dyjh1a6l9lr7nysgpmasfqbf7wf368rwmv59pk0b3"; depends=[proxy]; };
   sscor = derive2 { name="sscor"; version="0.2"; sha256="1kcrr90cxg6k4qkc3pidhkwf4dsnlgbxczxigr2afwpd9cpf104c"; depends=[mvtnorm pcaPP robustbase]; };
   ssd = derive2 { name="ssd"; version="0.3"; sha256="1z61n9m6vn0ijawyz924ak0zfl9z13jsb4k4575b7c424ci2p6gy"; depends=[]; };
   ssfa = derive2 { name="ssfa"; version="1.1"; sha256="0fkyalhsjmx2sf8xxkppf4vd272n99nbkxh1scidrsgp4jk6z7fx"; depends=[Matrix maxLik sp spdep]; };
@@ -11159,8 +11460,9 @@ in with self; {
   ssym = derive2 { name="ssym"; version="1.5.7"; sha256="0l5d921vlhd4qwddllrgcxpq3bhivvy5ikh3ixdy3s140rzpgwrv"; depends=[Formula GIGrvg normalp numDeriv sandwich survival]; };
   st = derive2 { name="st"; version="1.2.5"; sha256="0dnyfjcz37gjjv87nrabb11gw2dlkqhq3mrxdpkzahx0w0g0q0pb"; depends=[corpcor fdrtool sda]; };
   stR = derive2 { name="stR"; version="0.3"; sha256="0zad25s9wp4lapkww3rdbqsd4y7p8xhz9is7avq400srxakinx7n"; depends=[foreach forecast Matrix quantreg rgl SparseM]; };
+  staRdom = derive2 { name="staRdom"; version="1.0.3"; sha256="07ciabm0wakzdybhgdmiakdh7mygc38c8vqs9czgq65729928aqq"; depends=[doParallel dplyr drc eemR foreach GGally ggplot2 multiway plotly pracma readr stringr tibble tidyr zoo]; };
   staTools = derive2 { name="staTools"; version="0.1.0"; sha256="1ksr0sjkhlwh0fkwcxjcxzbyxs1g78m4spkhrmgdpfzmk5zskqf9"; depends=[magicaxis Rcpp VGAM]; };
-  stability = derive2 { name="stability"; version="0.1.0"; sha256="1hknyxzl376pvjvmbbv5fszqq2xrg154c3y5j9hy31a9402yb8xi"; depends=[dplyr lme4 magrittr matrixStats reshape2]; };
+  stability = derive2 { name="stability"; version="0.2.0"; sha256="154dp26aghznibnp9h7j86hi30caylvyxp87jkf2p7cb4l3qn5r4"; depends=[dplyr ggfortify ggplot2 lme4 magrittr matrixStats reshape2 rlang scales tibble tidyr]; };
   stable = derive2 { name="stable"; version="1.1.2"; sha256="11irpn0qfblzskdr71991jlmdrbqqqpszppn5pii3lr5hflqqr1d"; depends=[rmutil]; };
   stabledist = derive2 { name="stabledist"; version="0.7-1"; sha256="0scar396wiq6wkbkvwp4qrxqc1m075y56p37i6iry5rw796p1i86"; depends=[]; };
   stablespec = derive2 { name="stablespec"; version="0.3.0"; sha256="0m143cq0baj2lyakhr31mqk2lg78jzpdlpv2bhwz6bzzip7mqi22"; depends=[foreach ggm graph matrixcalc nsga2R polycor Rgraphviz sem]; };
@@ -11170,20 +11472,22 @@ in with self; {
   stacomirtools = derive2 { name="stacomirtools"; version="0.5.2"; sha256="1a33yy594699b05lb32zwx6yhmvxzwly6vvf8xzqg6lac64p26r5"; depends=[RODBC xtable]; };
   stagePop = derive2 { name="stagePop"; version="1.1-1"; sha256="0949r5ibl3sb10sr5xsswxap3wd824riglrylk7fx43ynsv5hzpy"; depends=[deSolve PBSddesolve]; };
   stam = derive2 { name="stam"; version="0.0-1"; sha256="1x1j45fir64kffny0nssb2hwn4rcp8gd2cjv6fw4yy0l4d0xi5iv"; depends=[np sp]; };
-  stampr = derive2 { name="stampr"; version="0.1"; sha256="1w7zp5n41gzahv4psdgw5a5mylcxlf12931fnjz0q2cwqj9cwql5"; depends=[deldir maptools raster rgdal rgeos sp spdep]; };
+  stampr = derive2 { name="stampr"; version="0.2"; sha256="10mc71kgnw5712q2gvzd4bmjaw1879r7s599hfsjap21idqb2k2m"; depends=[deldir maptools raster rgdal rgeos sp spdep]; };
   standardize = derive2 { name="standardize"; version="0.2.1"; sha256="0ijyqy09fl478cvqnqwv7fpdmf2yvihw18abkkmgwdnm2v3xqphp"; depends=[lme4 MASS stringr]; };
   stapler = derive2 { name="stapler"; version="0.6.5"; sha256="0xhwlm3iyxxmaaf0smj8g5zdawb51d7dc636czbvk5g551g7wfdb"; depends=[matrixStats RNifti]; };
+  staplr = derive2 { name="staplr"; version="1.1.0"; sha256="08kk1zi89ggyli05y7lr1vhq4xszjp6z5jscaaknp38gav7jd5lc"; depends=[]; };
   stargazer = derive2 { name="stargazer"; version="5.2.1"; sha256="1nfmb8qka6qxhjagk1a9am43dgnp39fy4cjbygivzp2hlzy22f46"; depends=[]; };
   starma = derive2 { name="starma"; version="1.3"; sha256="07r0kyabhgbm2v39fcrw0qhxcxj9a9cb45g9chzcnn9qmvramcwx"; depends=[ggplot2 Rcpp RcppArmadillo scales]; };
   starmie = derive2 { name="starmie"; version="0.1.2"; sha256="06cvl8gk78c55kcf4rd27d4gfzh2lcg7ldynvx4hclvbw7ak9zdq"; depends=[combinat data_table ggdendro ggplot2 ggrepel gridExtra iterpc label_switching MCL MCMCpack proxy purrr readr stringr tidyr]; };
   startR = derive2 { name="startR"; version="0.0.1"; sha256="12y57n3yip5rz4rln41896a15zv5b4c67k164282fh1p6ww9gr3r"; depends=[abind bigmemory future]; };
-  startup = derive2 { name="startup"; version="0.9.0"; sha256="0cr3lp5aq93d8mk55nhfpszjkr4iv5ysm7jj7igj7yy3ag93snm0"; depends=[]; };
+  startup = derive2 { name="startup"; version="0.10.0"; sha256="1j9vb1008sg6wwbz8ilxqnqzy7b18cscxiyaijszzx4ygxmcq39j"; depends=[]; };
   startupmsg = derive2 { name="startupmsg"; version="0.9.4"; sha256="1r9dqrfznsrj7s11m56hkzgfnw3qcgzh07pqipl007zr2av9xwqw"; depends=[]; };
   statGraph = derive2 { name="statGraph"; version="0.1.0"; sha256="13wfylb92lzw08fn3p000v87abs7ij2rb82np1rkgsl8w2kica73"; depends=[igraph MASS]; };
   statar = derive2 { name="statar"; version="0.6.5"; sha256="0vmdrdq6db16vfl0rb39x8yfnbdzpcrvywfgp4lss6jby3nvjwd9"; depends=[data_table dplyr ggplot2 lazyeval matrixStats rlang stringr tidyr]; };
   statcheck = derive2 { name="statcheck"; version="1.2.2"; sha256="0bcv8klp75q8hlmwhax9lxx9i0kbhsz8442acbhxh5fn2pn2x9jm"; depends=[ggplot2 plyr]; };
   statcomp = derive2 { name="statcomp"; version="0.0.1.1000"; sha256="0ac4s8a955ka0rs2a3k93aq2cxzrc48ai0sl9kn4yaqcw1arv2ap"; depends=[zoo]; };
   statebins = derive2 { name="statebins"; version="1.2.2"; sha256="0qfs796dk5x983qah32w3npv9mxzljp3g7kffdd0ansn3z7i1zbb"; depends=[ggplot2 gridExtra RColorBrewer scales]; };
+  states = derive2 { name="states"; version="0.2.0"; sha256="0gwisvzww7jl0n5ck8rnnw4ikr8gyq94m3362sdjmic9h7318f03"; depends=[dplyr lubridate]; };
   statesRcontiguous = derive2 { name="statesRcontiguous"; version="0.1.0"; sha256="0yzi6ycfj4cc4q0zzzckdz65wp9m4yx6fi7kp9nssj9pj6a8xlrp"; depends=[dplyr magrittr sf]; };
   stationaRy = derive2 { name="stationaRy"; version="0.4.1"; sha256="1iyzg40vi1l4s68kh50in1p97pcb28z6n932cgrx5k1rv3api13g"; depends=[downloader dplyr leaflet lubridate plyr progress readr stringr]; };
   statip = derive2 { name="statip"; version="0.1.5"; sha256="1gyn86kg96yrs9drc23xabf4s8ii32hgjla310sy6pd7c97bwqgf"; depends=[bazar dplyr]; };
@@ -11195,15 +11499,16 @@ in with self; {
   statquotes = derive2 { name="statquotes"; version="0.2.2"; sha256="1xzc3ndddjrlyld0p4zcwwxkj7i3m3adj7c78x9l4lhlw9mxbbqg"; depends=[stringr tidytext wordcloud]; };
   statsDK = derive2 { name="statsDK"; version="0.1.1"; sha256="0insx4sivac0nfxaa11iz9dd7374g51fcndsgljj3f14zw1xyq66"; depends=[dplyr ggplot2 httr jsonlite lubridate readr stringr tibble tidyr]; };
   stcov = derive2 { name="stcov"; version="0.1.0"; sha256="166w929sgd7nanw1zjhzwv50hd5vqhgsrgxnsga4dzrcvndalw70"; depends=[]; };
-  stdReg = derive2 { name="stdReg"; version="2.2.0"; sha256="166f0icz2gmnyp5fd824gylksjizyp2rm2h6i59h8q6brq3r79q8"; depends=[data_table numDeriv survival]; };
+  stdReg = derive2 { name="stdReg"; version="3.0.0"; sha256="0mjn2zvpadxm3q5kw4v3jpfmx94chjxdf8n1m7c4dm7gfaj0q38x"; depends=[data_table drgee numDeriv survival]; };
   stddiff = derive2 { name="stddiff"; version="2.0"; sha256="0mik01a8agcdpjq4r7lcdf3w2jcy6s9gx9zl7plzvnl2r3s5xw5b"; depends=[]; };
   stdvectors = derive2 { name="stdvectors"; version="0.0.5"; sha256="0gxylknr146qyg9aj22md076cdhrsz75dg25a1hx8525cm71nwd6"; depends=[Rcpp]; };
   steadyICA = derive2 { name="steadyICA"; version="1.0"; sha256="0mcalbsgajdpk45k9vpyavn079063hw4ihkw72n9wcy5nb0da14g"; depends=[clue combinat MASS Rcpp]; };
   steepness = derive2 { name="steepness"; version="0.2-2"; sha256="0bw7wm7n2xspkmj90qsjfssnig683s3qwg1ndkq2aw3f6clh4ilm"; depends=[]; };
   stellaR = derive2 { name="stellaR"; version="0.3-3"; sha256="098sz6b8pl3fyca3g6myp97nna368xhxf8krmibadnnsr49q5zs9"; depends=[]; };
+  stellaRbase = derive2 { name="stellaRbase"; version="0.1.0"; sha256="1jwhh14wk57z8acg8vjd7m3nwq0vq4w0x9ml8zhk3gnl4czq8m04"; depends=[data_table httr RJSONIO]; };
   stepPenal = derive2 { name="stepPenal"; version="0.1"; sha256="09viapb4846g91jzf9364rdyd865b19v83pwcdm3p3xsjry9ffxk"; depends=[caret dfoptim glmnet mvtnorm pROC]; };
   stepPlr = derive2 { name="stepPlr"; version="0.93"; sha256="1i54nyz8z5vq3mzfh6h2vd1q0hsdazc4mhrj9ad0zdvn0qnz61lv"; depends=[]; };
-  stepR = derive2 { name="stepR"; version="2.0-1"; sha256="1r45wxw9kvzyybkl4f1r9c2d7wmi0k4ji39w3nxqrf7n5kp2cnj4"; depends=[digest R_cache Rcpp]; };
+  stepR = derive2 { name="stepR"; version="2.0-2"; sha256="0inxlgihyivfr0l4gk8zq0043l9s5w4r3x3hwjlzfwbqjkwy1rjs"; depends=[digest R_cache Rcpp]; };
   stepp = derive2 { name="stepp"; version="3.0-11"; sha256="0jrwfvcgh3sjm3zag93kjyny2qqsyiw988vnx6jw7s31bv9g0d6s"; depends=[car survival]; };
   stepwise = derive2 { name="stepwise"; version="0.3"; sha256="1lbx1bxwkf9dw6q46w40pp7h5nkxgghmx8rkpaymm6iybc7gyir2"; depends=[]; };
   stheoreme = derive2 { name="stheoreme"; version="1.2"; sha256="14w3jcbs8y8cz44xlq8yybr2jwgk3w7s2msgjhlp1vazy8959s65"; depends=[]; };
@@ -11215,41 +11520,42 @@ in with self; {
   stmCorrViz = derive2 { name="stmCorrViz"; version="1.3"; sha256="1a4pckrbzsihyf1bqvw3cl0hxrc4yq1pnkgxgf4b8jday6zkxwcv"; depends=[jsonlite SnowballC stm tm]; };
   stmgp = derive2 { name="stmgp"; version="1.0"; sha256="1v6ahg4icyrz8p0lfiyi2x90allhjvcq8rycinas5mffg7xgpv7d"; depends=[MASS]; };
   stmgui = derive2 { name="stmgui"; version="0.1.6"; sha256="1fn2m5l7y3p1riw39g6r3hpjxdccygih7yipp7dvc4msl9fm4h5c"; depends=[markdown shiny shinyBS shinyjs shinythemes stm tm]; };
-  stoRy = derive2 { name="stoRy"; version="0.1.1"; sha256="0ymk5skzsga0jr9chl52njlb23803a7cij0iaw6crssdf3sk226s"; depends=[data_tree R6]; };
+  stminsights = derive2 { name="stminsights"; version="0.1.2"; sha256="17vpkrhhv8k5wyyrnc2hza175p51yl2nghvv9y2ymq27x4r2xq5c"; depends=[dplyr ggplot2 ggraph ggrepel huge igraph purrr scales shiny shinyBS shinydashboard shinyjs stm stringr tibble tidygraph]; };
+  stoRy = derive2 { name="stoRy"; version="0.1.2"; sha256="1n2ivdv6fa3qkk2xhgcy8cixpbw6mijr4p8q34q8d9fvh9qs9g11"; depends=[data_tree R6]; };
   stocc = derive2 { name="stocc"; version="1.30"; sha256="0xpf9101094l5l75p9lr64gwh2b8jh4saw6z6m2nbn197la3acpw"; depends=[coda fields Matrix rARPACK truncnorm]; };
   stochprofML = derive2 { name="stochprofML"; version="1.2"; sha256="0gqfm2l2hq1dy3cvg9v2ksphydqdmaj8lppl5s5as2khnh6bd1l1"; depends=[MASS numDeriv]; };
   stochvol = derive2 { name="stochvol"; version="1.3.3"; sha256="0cg61djjfw4jmq71g8kddrihdy9n2vlpzlf7kl2f3p8njc1f8kk2"; depends=[coda Rcpp RcppArmadillo]; };
-  stocks = derive2 { name="stocks"; version="1.1.1"; sha256="1qwd16bw40w2ns7b0n9wm8l344r4vyk27rmg0vr5512zsrcjkcfb"; depends=[rbenchmark Rcpp]; };
+  stocks = derive2 { name="stocks"; version="1.1.2"; sha256="1i77cg4vmmc362ixqqkz48wipsszmb1z8pjrh713d27726nhj3ig"; depends=[dvmisc Hmisc lubridate quantmod rbenchmark RColorBrewer Rcpp zoo]; };
   stoichcalc = derive2 { name="stoichcalc"; version="1.1-3"; sha256="0z9fnapibfp070jxg27k74fdxpgszl07xiqfj448dkydpg8ydkrb"; depends=[]; };
   stopwords = derive2 { name="stopwords"; version="0.9.0"; sha256="050v3hq1wd3w83zrp76nv6n67qsf5fss2cbihb6waijancm7zfzh"; depends=[ISOcodes]; };
   stormwindmodel = derive2 { name="stormwindmodel"; version="0.1.0"; sha256="1pxkb0ijx04c4bk6szxhj8lxq6x76m8pyhxpf8xq63h4gh57fxh3"; depends=[dplyr ggplot2 lubridate maps plyr stringr tidyr weathermetrics]; };
   storr = derive2 { name="storr"; version="1.1.3"; sha256="0rmljnlnbi5jdxbh5mzxgkq9aa3mm46kl04jlasyng8pv3prxj1v"; depends=[digest R6]; };
   stosim = derive2 { name="stosim"; version="0.0.12"; sha256="0c4sj5iirm542hx782izfdmy2m3kl5q28l10xjj0ib4xn5y6yx3c"; depends=[Rcpp tcltk2]; };
-  stplanr = derive2 { name="stplanr"; version="0.2.2"; sha256="1yl2x73y39d4405qis22bhqb1afiwdra8h034k6y2jjgwi3l34yy"; depends=[curl dplyr geosphere httr igraph jsonlite lubridate maptools nabor openxlsx R_utils raster Rcpp RcppArmadillo readr rgdal rgeos rlang sf sp stringi stringr]; };
+  stplanr = derive2 { name="stplanr"; version="0.2.3"; sha256="1h6vflcb9pmfl2h3rny3p79isrd5gkp0cblvwi2yfvxi2ll5axp9"; depends=[curl dplyr geosphere httr igraph jsonlite lubridate lwgeom maptools nabor openxlsx R_utils raster Rcpp RcppArmadillo readr rgdal rgeos rlang sf sp stringi stringr]; };
   stpm = derive2 { name="stpm"; version="1.6.8"; sha256="0gifkrpp8n4r31i4dfvjfq7w0l6jfid43i94ygqwwv0ca583aw4y"; depends=[mice nloptr Rcpp RcppArmadillo sas7bdat survival]; };
   stpp = derive2 { name="stpp"; version="2.0-3"; sha256="18icnfrlrcibrpw7vqkrhzfx880ak24xk6llwgiqw18r929mq1hw"; depends=[ggplot2 gridExtra KernSmooth plot3D rgl rpanel spatstat splancs]; };
   stppResid = derive2 { name="stppResid"; version="1.1"; sha256="0hgzsyy5y0sqd4d2agdr7p2kq0w51vs8f63dvj6j49h8cvgiws2x"; depends=[cubature deldir splancs]; };
   strandCet = derive2 { name="strandCet"; version="1.0"; sha256="019cacj0g9f6i8v03rq7qyph7f14d8n0qw0axvczijvnk99q602a"; depends=[boot corpcor MASS minpack_lm mvtnorm numDeriv]; };
-  stranger = derive2 { name="stranger"; version="0.3.2"; sha256="05s4dv9w8dxy2x63ai8vyh3rwphr4h59axjsh7lqa05ja06pai5z"; depends=[assertthat data_table dplyr ggplot2 tidyr]; };
+  stranger = derive2 { name="stranger"; version="0.3.3"; sha256="0p0ssba5q192g7pviv1shmh1lpcdjmzdim3rp1qs3hrd1d3pn4vq"; depends=[assertthat data_table dplyr ggplot2 tidyr]; };
   strap = derive2 { name="strap"; version="1.4"; sha256="0gdvx02w0dv1cq9bb2yvap00lsssklfnqw0mwsgblcy2j6fln7b0"; depends=[ape geoscale]; };
   strat = derive2 { name="strat"; version="0.1"; sha256="1axxrp750kjzcgxjdqfscjmryv1mkv4l23zk8k23z8l4ymhd2f5w"; depends=[Hmisc Rcpp RcppArmadillo]; };
   strataG = derive2 { name="strataG"; version="2.0.2"; sha256="1rf1xf07yb0dzasgig9sfm4i9ggdkjgy5iiysqgdapk3sxs26c8r"; depends=[adegenet ape apex copula data_table DT ggplot2 gridExtra Hmisc pegas phangorn RColorBrewer Rcpp shiny shinyFiles survival swfscMisc]; };
   stratbr = derive2 { name="stratbr"; version="1.2"; sha256="15vkymmc61yz9szhfhc5663hfyqvh499ahwhr9mv1lhv5bikk0kb"; depends=[Rglpk snowfall stratification]; };
   strategicplayers = derive2 { name="strategicplayers"; version="1.0"; sha256="19vijrlzawd701vvk9ig7yhzbirh39dxxcwfz8ywwvxxiaky5x55"; depends=[sna]; };
   stratification = derive2 { name="stratification"; version="2.2-6"; sha256="1jlks3g8wpqlpci6v0ryyv93agiabdiklmk6ij0pc5icrfiynbhw"; depends=[]; };
+  stratifyR = derive2 { name="stratifyR"; version="1.0-1"; sha256="0w135smkgryx29ppa7khpay8w04b3g2pxka0wsqlhksrp5pqa086"; depends=[actuar fitdistrplus mc2d triangle zipfR]; };
   stratvns = derive2 { name="stratvns"; version="1.0"; sha256="1bw9l389lxiji4h7hrsshf24v135h6la9dg3xxjly53d4fi56ifh"; depends=[MultAlloc Rglpk sampling snowfall stratification]; };
   straweib = derive2 { name="straweib"; version="1.0"; sha256="0bh2f4n4i7fiki52sa57v96757qw1gn1lcn7vgxmc5hk5rzp2mi8"; depends=[]; };
   stream = derive2 { name="stream"; version="1.2-4"; sha256="1xk9lnvf9xld74z4sxbwpgxl7cbni88cjyxqzxr0r9pn9vcpwima"; depends=[animation clue cluster clusterGeneration dbscan fpc MASS mlbench proxy Rcpp]; };
-  streamMOA = derive2 { name="streamMOA"; version="1.1-3"; sha256="0vgnd27xl7lgir0ps3zsz7ca2vvjg8yp28zbfvdgvm3agk7dpra7"; depends=[rJava stream]; };
+  streamMOA = derive2 { name="streamMOA"; version="1.1-4"; sha256="09vspcz806j2f397hr8h685vy4xbx419bbha91f44s3bhks1y7fr"; depends=[rJava stream]; };
   streamR = derive2 { name="streamR"; version="0.2.1"; sha256="1ml33mj7zqlzfyyam23xk5d25jkm3qr7rfj2kc5j5vgsih6kr0gl"; depends=[RCurl rjson]; };
   streambugs = derive2 { name="streambugs"; version="1.0"; sha256="1dyh5rwi47dn584nyy7f7vg5j5nlpz7ygcl8lwkj7prahplmzg5d"; depends=[deSolve]; };
-  stremr = derive2 { name="stremr"; version="0.4"; sha256="0n8ickmzjqlxwrz8dsphh1nsbnsgp4mnwm52i5ji099ps5292f65"; depends=[assertthat data_table pander R6 Rcpp rmarkdown speedglm stringr zoo]; };
   stressr = derive2 { name="stressr"; version="1.0.0"; sha256="00b93gfh1jd5r7i3dhsfqjidrczf693kyqlsa1krdndg8f0jkyj7"; depends=[lattice latticeExtra XML xts]; };
   strider = derive2 { name="strider"; version="1.1"; sha256="00r6gbvwmla5h27iyi7rdfd0kr4alxz19fd7g2ba0in3779za3sw"; depends=[BH Rcpp]; };
   stringb = derive2 { name="stringb"; version="0.1.13"; sha256="004bp75yhrgr480v9774kfq7z5l9z0761cnrwj4yk7fxygk89a1x"; depends=[backports]; };
-  stringdist = derive2 { name="stringdist"; version="0.9.4.6"; sha256="0j5b7hr53nr9xq44famkpwzi4khix93ffani5pwldqkf8bpdvhci"; depends=[]; };
+  stringdist = derive2 { name="stringdist"; version="0.9.4.7"; sha256="1qg80wmcrpkba9njvgjdg15bgw7ddks40kkfh5x61as9lhchy4i4"; depends=[]; };
   stringformattr = derive2 { name="stringformattr"; version="0.1.2"; sha256="0x56k30clj5ajk0qg5sr8b9l0asz6ldivwr1ddy1vp1djliih1fx"; depends=[stringr]; };
-  stringi = derive2 { name="stringi"; version="1.1.6"; sha256="122im5m8x9bqpahc0hbxmvdq6hnsmgnxwwyjpvbihyv2jq5kd44m"; depends=[]; };
+  stringi = derive2 { name="stringi"; version="1.1.7"; sha256="0nck1s2iglmkrn15ay2chrrwsy5lngcylz2sc87fxy5skxaahxdl"; depends=[]; };
   stringr = derive2 { name="stringr"; version="1.3.0"; sha256="07dvfbkhv8gk6l32j43jvxpmqlhqp0mdby406h5a3bsc6k94ic13"; depends=[glue magrittr stringi]; };
   strip = derive2 { name="strip"; version="0.1.1"; sha256="18pz6ix6d661fvg1k1yyyiiwa1gdixynmpxl725ffd9lpykmfqbw"; depends=[rlist]; };
   stripless = derive2 { name="stripless"; version="1.0-3"; sha256="08mdp7kq6r5bk77j09477d1dnn7iwa346pr24b5bqsxwnbknyrsr"; depends=[lattice]; };
@@ -11262,8 +11568,8 @@ in with self; {
   stsm = derive2 { name="stsm"; version="1.9"; sha256="18ypmkd7l7m7qkahb0nqf8f1m8g4irxlw48v2ms0dq1bsnhbzx7j"; depends=[KFKSDS]; };
   stsm_class = derive2 { name="stsm.class"; version="1.3"; sha256="19jrja5ff31gh5k2zqhqsyd7w2ivr4s6bkliash6x8fmd22h5zs8"; depends=[]; };
   stubthat = derive2 { name="stubthat"; version="1.2.1"; sha256="130naxzvswcyadwcgldvwnxxdxbfwx5vljac7901vn3ahjp75d8z"; depends=[testthat]; };
-  styler = derive2 { name="styler"; version="1.0.0"; sha256="03wpxq3gxfid96n1q8rgpz4sfl4y2j7g7dbjvjxgj1nalsg9lav7"; depends=[backports cli enc magrittr purrr rematch2 rlang rprojroot tibble withr]; };
-  stylo = derive2 { name="stylo"; version="0.6.5"; sha256="15y7iwk1w9kkdhpbgbvi1cqzza4jgw8zxsp3xbqzhm4qaf4kymia"; depends=[ape class e1071 lattice pamr tcltk2 tsne]; };
+  styler = derive2 { name="styler"; version="1.0.1"; sha256="01iy3p0jn57c2glq2a5wh7ds3fyxlmcjpvxnmafvvvlhca73zw88"; depends=[backports cli enc magrittr purrr rematch2 rlang rprojroot tibble withr]; };
+  stylo = derive2 { name="stylo"; version="0.6.6"; sha256="01kkwzhpcf6nrvbj2dgyh2a10p48gxlgq78smv5x8cn8vcfl1ixa"; depends=[ape class e1071 lattice pamr tcltk2 tsne]; };
   suRtex = derive2 { name="suRtex"; version="0.9"; sha256="0xcy3x1079v10bn3n3y6lxignb9n3h57w4hhrvzi5y14x05jjyda"; depends=[]; };
   subcopem2D = derive2 { name="subcopem2D"; version="1.2"; sha256="1yrjqg3y6i5m6k0zljq1p1pciicmc1vig3qd0wxaicz708rbp3yq"; depends=[]; };
   subdetect = derive2 { name="subdetect"; version="1.1"; sha256="1bcc13avs5w9vmwyf71cnjd2kwmcavmzpwyv8gvsn61n7b4j8wlk"; depends=[]; };
@@ -11272,7 +11578,7 @@ in with self; {
   sublime = derive2 { name="sublime"; version="1.3"; sha256="0455fppc68azxknxjvxci4kjpcj6c1jkp9adbxqrn3qnnywaj5v2"; depends=[AnalyzeFMRI downloader oro_nifti]; };
   submax = derive2 { name="submax"; version="1.1.1"; sha256="0b9x55gqzw20smr3hx9izvyr0i8zv0h03hadn4c7ks7w8ga5i0kj"; depends=[mvtnorm sensitivityfull]; };
   subniche = derive2 { name="subniche"; version="0.9.7"; sha256="1jsdcaf6d38j7c0ppjyilj0jd2dbpdldw6w4prmsbmx8mh7lplww"; depends=[ade4]; };
-  subplex = derive2 { name="subplex"; version="1.5-2"; sha256="1v9xrnkapnq7v1jbhlg32ignklzf2vn8rqpayc8pzk8wvz53r33g"; depends=[]; };
+  subplex = derive2 { name="subplex"; version="1.5-4"; sha256="10cbgbx1bgsax5z7gz6716g360xpq4mvq19cf4qqrxv02mmwz57z"; depends=[]; };
   subprocess = derive2 { name="subprocess"; version="0.8.2"; sha256="1qyl8726vq94vqd6iyh9kca6wwxi3g7yv4b784wn2ifrm4waixxd"; depends=[]; };
   subrank = derive2 { name="subrank"; version="0.9.9"; sha256="1z6sp9rfmpy28gpw13bh0c7y98lbbgv1cciavg3gix01whqa49n3"; depends=[]; };
   subsamp = derive2 { name="subsamp"; version="0.1.0"; sha256="1bfz2z2qy1war3id8qr1asygwvwxgf2hhlh075hr6bjdkxz0j0nd"; depends=[]; };
@@ -11288,9 +11594,9 @@ in with self; {
   sugrrants = derive2 { name="sugrrants"; version="0.1.1"; sha256="08f5xdgimdvpivzrlwvdyrmy21nbh379pgfdrx4lxqcxd55y2hil"; depends=[dplyr ggplot2 lubridate purrr readr rlang tidyr timeDate]; };
   sumFREGAT = derive2 { name="sumFREGAT"; version="1.0.0"; sha256="13g3px3c3dxacrvgwrvqdp8lm7k185npr0dlq3siq9x9mgjr7hsj"; depends=[Matrix]; };
   summariser = derive2 { name="summariser"; version="0.1.0"; sha256="0a6wyb0r1i0cynld002q96ylr58jz76n5jqjz8gm6a3csjn9qss7"; depends=[dplyr ggplot2 lazyeval plotrix]; };
-  summarytools = derive2 { name="summarytools"; version="0.8.2"; sha256="014hxyk0r87j5prqdckxy7h41agk2p1w1kxzl0a3pxwbj1j0r2fh"; depends=[htmltools matrixStats pander pryr rapportools RCurl]; };
-  sunburstR = derive2 { name="sunburstR"; version="1.0.3"; sha256="0xxxi01klrm7kspi588n4h5zdzhph5vihs26n2x8fdm2k82jyjp9"; depends=[d3r dplyr htmltools htmlwidgets]; };
-  suncalc = derive2 { name="suncalc"; version="0.3"; sha256="1x7k4rpl6f1arq4z76zfx3nv0d0b4x3q6sk0jz5d4azq0i364nx9"; depends=[V8]; };
+  summarytools = derive2 { name="summarytools"; version="0.8.3"; sha256="0b61131yns1ip4r5qgrfbwd6dqsgg349jfhlgfkvlszh5b9jqhnf"; depends=[htmltools matrixStats pander pryr rapportools RCurl]; };
+  sunburstR = derive2 { name="sunburstR"; version="2.0.0"; sha256="1gkrgm90ps5i1k5cqdw6sbvd4jgbk4yq82gwd5m1z1jhv1shfsf4"; depends=[d3r dplyr htmltools htmlwidgets]; };
+  suncalc = derive2 { name="suncalc"; version="0.4"; sha256="190bnh26bl26piq6512ijrx2hygzdscryjsjyz8y4ara8bf646r3"; depends=[V8]; };
   supc = derive2 { name="supc"; version="0.1"; sha256="1cq0lr04m409xr3i1hphww4ldr8z3kqq2gmp7hm3yp0iz2gy3m9a"; depends=[BH Rcpp]; };
   supclust = derive2 { name="supclust"; version="1.0-7"; sha256="0437pccagvqv6ikdsgzpif9yyiv6p24lhn5frk6yqby2asj09727"; depends=[class rpart]; };
   supcluster = derive2 { name="supcluster"; version="1.0"; sha256="1rkd4bpzzvzbmqaj907pqv53hxcgic0jklbsf5iayf0ra768b5w6"; depends=[gtools mvtnorm]; };
@@ -11298,6 +11604,7 @@ in with self; {
   superbiclust = derive2 { name="superbiclust"; version="1.1"; sha256="1gzjbzbl8y1nzdfhyd6dlrwjq8mwj43a26qav84s1bdzwx6dra48"; depends=[biclust fabia Matrix]; };
   superdiag = derive2 { name="superdiag"; version="1.1"; sha256="0pa3mv74riabpm7j4587zww2364fszzlw48ijj1apcgz8y6pyqbw"; depends=[boa coda]; };
   superheat = derive2 { name="superheat"; version="0.1.0"; sha256="01v8s6px1k5fajlm6py3ksr1i853kwwlky1yryzhy3p1cxhwgg83"; depends=[dplyr ggdendro ggplot2 gtable magrittr plyr scales]; };
+  supernova = derive2 { name="supernova"; version="1.0"; sha256="18hyfq7gqx9n4s95yymkazyif9gzscrgfckis0s7hbban08iimpr"; depends=[]; };
   superpc = derive2 { name="superpc"; version="1.09"; sha256="1p3xlg2n7p57n54g2w4frfrng5vjh97kp6ax4mrgvj3pqmd1m69z"; depends=[survival]; };
   supervisedPRIM = derive2 { name="supervisedPRIM"; version="2.0.0"; sha256="1j5gsy119pvrhkkg048lyk6hjvn9x1bhmfy5g824gj3k1w5slrib"; depends=[prim]; };
   support_BWS = derive2 { name="support.BWS"; version="0.2-0"; sha256="1yfjpr9v9zsbkysm3r6zk9r0a072g038lmj9wk4014a3rk9kmm80"; depends=[]; };
@@ -11323,21 +11630,21 @@ in with self; {
   survSNP = derive2 { name="survSNP"; version="0.24"; sha256="0mzwcp8zfqvsiapa446si9qb6wyymnw5zj6acj6f2cfjpyi76k4w"; depends=[foreach lattice Rcpp survival xtable]; };
   surveillance = derive2 { name="surveillance"; version="1.16.0"; sha256="1nbskhbs8qfwnchig4rckbgy296ifl1hx0w3v71knj693x54r9cj"; depends=[MASS Matrix nlme polyCub Rcpp sp spatstat xtable]; };
   survexp_fr = derive2 { name="survexp.fr"; version="1.0"; sha256="12rjpnih0xld4dg5gl7gwxdxmrdmyzsymm7j05v98ynldd1jkjl8"; depends=[survival]; };
-  survey = derive2 { name="survey"; version="3.33"; sha256="11pmk26hirq5p7p4131crpb175hvgg4id5y5m14rskpx8nbp9l94"; depends=[lattice Matrix survival]; };
+  survey = derive2 { name="survey"; version="3.33-2"; sha256="1c4q0005663b0y87ckmf1ra7gm2i5hnlw955pgb11bywh60hg9hl"; depends=[lattice Matrix survival]; };
   surveybootstrap = derive2 { name="surveybootstrap"; version="0.0.1"; sha256="13rp6gj1dgdzcjbi2403pldygp1dyqx8zj0r1nvyghpi06x5gpb7"; depends=[dplyr functional plyr Rcpp RcppArmadillo stringr]; };
   surveydata = derive2 { name="surveydata"; version="0.2.0"; sha256="1iwhjhazfy38dbcj224kz3zbw2nvpq01ry54wmmkg9d0n6mb02h4"; depends=[dplyr magrittr plyr purrr stringr]; };
   surveyeditor = derive2 { name="surveyeditor"; version="1.0"; sha256="073219bcn1hlxl9ql6gncfvgn0m37pz5sb7h94nq6lf35dymq5zq"; depends=[]; };
   surveyoutliers = derive2 { name="surveyoutliers"; version="0.1"; sha256="03nqw0zir3x57gg23hgsr2s99pv958kfsygqfwly96rvfdhr5p3v"; depends=[]; };
   surveyplanning = derive2 { name="surveyplanning"; version="2.9"; sha256="0ad4122m78hbzhkkaspzpr62bl59w1j8z0qa67slqljjldhq1akv"; depends=[data_table laeken]; };
-  survidm = derive2 { name="survidm"; version="1.0.0"; sha256="13iwl687g4qps6s3d8x0xr916b2ja6487dwnyqwc3nwr6gadqicw"; depends=[doParallel doRNG foreach KernSmooth np survival TPmsm]; };
-  survivALL = derive2 { name="survivALL"; version="0.9.1"; sha256="0l32p64a1izsrcplx09wlisca3daysl5cx2vhh4k08sxizyg90c1"; depends=[Biobase broom cowplot data_table desiR ggplot2 ggthemes magrittr pander png readr survcomp survival survsim testthat viridis]; };
-  survival = derive2 { name="survival"; version="2.41-3"; sha256="07cnr0hnki6ybbjll54l4s5lllhk19vni5f8m0mvsfp99ls7qygk"; depends=[Matrix]; };
+  survidm = derive2 { name="survidm"; version="1.1.0"; sha256="1piwhb8zsqnw284xp0l3ajs8r9amyn8yfng19hkci574mkdgsw4f"; depends=[doParallel doRNG foreach KernSmooth np survival TPmsm]; };
+  survivALL = derive2 { name="survivALL"; version="0.9.2"; sha256="0mqmlmip6lr1d6i8yj4kc1zzj5jvvqrkipqxlprsrqbwni2ipp7l"; depends=[cowplot desiR ggplot2 ggthemes survcomp survival viridis]; };
+  survival = derive2 { name="survival"; version="2.42-3"; sha256="15pasbfzmg2r5bfpsadp9ia4cpybqz6n1kwm7ma02ykzf7bk4xx0"; depends=[Matrix]; };
   survivalMPL = derive2 { name="survivalMPL"; version="0.2"; sha256="05bfa9fx841kh9g2jcs1dimsxkjnf4bxgamcnjpisx3a644c1gkn"; depends=[MASS survival]; };
   survivalROC = derive2 { name="survivalROC"; version="1.0.3"; sha256="0wnd65ff5w679hxa1zrpfrx9qg47q21pjxppsga6m3h4iq1yfj8l"; depends=[]; };
   survivalsvm = derive2 { name="survivalsvm"; version="0.0.5"; sha256="1b4hrdrqq1z0kfn8vpdwg54388m25df2s6w9i574x3mkxkmkjkga"; depends=[Hmisc kernlab Matrix pracma quadprog survival]; };
   survminer = derive2 { name="survminer"; version="0.4.2"; sha256="15npx3q7xf7sl7pbb1476khgfpqrvidqcb101iim3iym125sl54r"; depends=[broom cmprsk dplyr ggplot2 ggpubr gridExtra magrittr maxstat purrr scales survival survMisc tibble tidyr]; };
   survsim = derive2 { name="survsim"; version="1.1.4"; sha256="16njbqlzmk34zrh485kc0a52yacdyj9z4z4a9zcq1z5psm87c58m"; depends=[eha statmod]; };
-  survtmle = derive2 { name="survtmle"; version="1.0.0"; sha256="1sdp88br1ry6yzzav67787n0clpq6vjffxqpkvld93dyvmlb6zb1"; depends=[ggplot2 Matrix plyr stringr SuperLearner tidyr]; };
+  survtmle = derive2 { name="survtmle"; version="1.1.0"; sha256="0q1ym4a13xqy3lqjwg40wp28xlp1iqybwq7dd0gp6fnmx3n6373g"; depends=[dplyr ggplot2 ggsci Matrix plyr speedglm stringr SuperLearner tidyr]; };
   survutils = derive2 { name="survutils"; version="1.0.1"; sha256="09844i5nfyn0fm5i8ca96xz8dza21shh2f89w41zh17xaxvidjsw"; depends=[broom dplyr ggplot2 glue lazyeval magrittr purrr survC1 survival]; };
   sutteForecastR = derive2 { name="sutteForecastR"; version="0.1"; sha256="13dd0v3l3s7xb1wnpf6qvnvclzab87831z8bsxsq53vpb26xcw1b"; depends=[forecast forecastHybrid fracdiff robets]; };
   svDialogs = derive2 { name="svDialogs"; version="0.9-57"; sha256="1qwnimzqz7jam3jnhpr90bgwp9zlsswy2jl17brdpsrpiwcg6jlr"; depends=[svGUI]; };
@@ -11346,14 +11653,14 @@ in with self; {
   svHttp = derive2 { name="svHttp"; version="0.9-55"; sha256="0qxsh6ifk3fszgzz497qwia4pxzplwraf2qnn5cqlv5l79nja5yq"; depends=[svMisc]; };
   svIDE = derive2 { name="svIDE"; version="0.9-52"; sha256="19wsmi1i7nlnqdah1h2pxzsy8m50bnb282fdbj4219p86bb92a86"; depends=[svMisc XML]; };
   svKomodo = derive2 { name="svKomodo"; version="0.9-63"; sha256="0x2774lhckhg8kw6plsn6dpks3b3fisb0psa03p7di7jx8vrkg5n"; depends=[svMisc]; };
-  svMisc = derive2 { name="svMisc"; version="1.0-1"; sha256="17prhh92zbibkkdqyqdg8bp4fvsmj6ziaii3fxq3z0vnl6gj9p86"; depends=[]; };
+  svMisc = derive2 { name="svMisc"; version="1.0-2"; sha256="1a5wlz1csq6y2bqiznz14dlx5jc8z3x882yi2v82hinn647vn4m8"; depends=[]; };
   svSocket = derive2 { name="svSocket"; version="0.9-57"; sha256="0id93b500iybza6sbn60ybm91mkh5cjpvhypqs4f3dv13m6blb9j"; depends=[svMisc]; };
   svSweave = derive2 { name="svSweave"; version="0.9-8"; sha256="0zkng8lwdpjdbic9f6jnk2ndxbch2kjyz71ds1bksvd3kmk03lks"; depends=[knitr]; };
   svTools = derive2 { name="svTools"; version="0.9-4"; sha256="0szr5dcxjsh5p1nkszvmj0vmi9x70d656hfvhmqf0wyjwv63vp90"; depends=[codetools svMisc]; };
   svUnit = derive2 { name="svUnit"; version="0.7-12"; sha256="16iiryj3v34zbnk1x05g30paza7al1frqx52fkw8ka61icizsrf5"; depends=[]; };
   svWidgets = derive2 { name="svWidgets"; version="0.9-44"; sha256="18k06wldcg6xpyf8nz9rdbig5nhvghn7zgf1316413kq3v90vz7b"; depends=[svMisc]; };
   svapls = derive2 { name="svapls"; version="1.4"; sha256="12gk8wrgp556phdv89jqza22zmsnachsydr5vlz38s664d2lplbg"; depends=[class pls]; };
-  svars = derive2 { name="svars"; version="1.1.1"; sha256="1hd052xksciwqqviwr29ch8s85ci8j15c8dqrbdra803lllfkngf"; depends=[clue copula DEoptim expm ggplot2 pbapply reshape2 steadyICA tsDyn vars]; };
+  svars = derive2 { name="svars"; version="1.1.2"; sha256="1d3dk4vn5l46xw5nh7k63v35phzvy9ixmbz0d2znl2nm05ih7gyy"; depends=[clue copula DEoptim expm ggplot2 pbapply reshape2 steadyICA tsDyn vars]; };
   svcm = derive2 { name="svcm"; version="0.1.2"; sha256="1lkik65md8xdxzkmi990dvmbkc6zwkyxv8maypv2vbi2x534jkhl"; depends=[Matrix]; };
   svd = derive2 { name="svd"; version="0.4.1"; sha256="00plnwrjnp3majssr3qbz2zp25z9cfivgpggyfvy4lnc4av5qn3g"; depends=[]; };
   svdvis = derive2 { name="svdvis"; version="0.1"; sha256="1z3z86izl2gpxllpx56vn6kkdg9cjjikfd90hdjnfi4bmmpx50dn"; depends=[GGally ggplot2 gridExtra RColorBrewer reshape2 scales]; };
@@ -11364,48 +11671,48 @@ in with self; {
   svglite = derive2 { name="svglite"; version="1.2.1"; sha256="1bws3lc4hlhln11zd7lalhiyc43yk6c6vrzy41fkxk1dkjazfx51"; depends=[BH gdtools Rcpp]; };
   svmadmm = derive2 { name="svmadmm"; version="0.3"; sha256="15ccda1r9cc6v30j37i052rdwxgw0wg37hwyn2vp8c7bkr0ybgkm"; depends=[kernlab]; };
   svmpath = derive2 { name="svmpath"; version="0.955"; sha256="02j5xs4gg8k16imnwk6aram168cv1dqdrky3bszyc98l7xd0nlrj"; depends=[]; };
+  svrpath = derive2 { name="svrpath"; version="0.1.1"; sha256="0j38m34ff5a8lqfsss8444fflprai3sgzi9kyrmingp07rx82ss5"; depends=[quadprog svmpath]; };
   svs = derive2 { name="svs"; version="1.1.0"; sha256="0575msaxg04ck76mbr815m29y895qvg8b9qg4y0ggv6b1lvwp5p6"; depends=[gtools]; };
   svyPVpack = derive2 { name="svyPVpack"; version="0.1-1"; sha256="15k5ziy2ng853jxl66wjr27lzc90l6i5qr08q8xgcs359vn02pmp"; depends=[survey]; };
   swCRTdesign = derive2 { name="swCRTdesign"; version="2.2"; sha256="0kggniy5p900cj074swh7g47zf8bhwjmqph9b5frw86nycxwyn3v"; depends=[]; };
   swa = derive2 { name="swa"; version="0.8.1"; sha256="1zy1a6c17vmdkmkwp8vv3niww2zs1m0hylsa0b2cz68vfhnmpim4"; depends=[ggplot2 reshape ROCR]; };
-  swagger = derive2 { name="swagger"; version="3.4.0"; sha256="1590335n9l1s65li5018m0r3ss67ccgy10lnywxi2ypya71c58zs"; depends=[]; };
+  swagger = derive2 { name="swagger"; version="3.9.2"; sha256="13scbzv65qzxh7kfwlb2k47zgvv7fz085g5lki6zr5w6a33g45q9"; depends=[]; };
   swamp = derive2 { name="swamp"; version="1.3.1"; sha256="1l4rk79hbggn31y5skslqsz9bv7lmya4q5ligki3x1677345hyhv"; depends=[amap gplots impute MASS]; };
   swapClass = derive2 { name="swapClass"; version="1.0.1"; sha256="0wg6km261xdywakxi64dw4wwprbrkw217q4c6622z0mgm9sjgpym"; depends=[inline]; };
   swatches = derive2 { name="swatches"; version="0.5.0"; sha256="1kivscgka8gn44rjj0s5sjan1s04znnyn0nd37a74zaik0hm8zs0"; depends=[colorspace httr pack stringr xml2]; };
-  sweep = derive2 { name="sweep"; version="0.2.0"; sha256="11hyv48hldacdbi7avvgmrqk9andjkabdswf1blfb4qyc2z0199v"; depends=[broom devtools dplyr forecast lazyeval lubridate tibble tidyr timetk]; };
+  sweep = derive2 { name="sweep"; version="0.2.1"; sha256="0v6166p1h14klf1avqvry8jj3as498qnydksy0da8q1bp1sy007f"; depends=[broom devtools dplyr forecast lazyeval lubridate tibble tidyr timetk]; };
   sweidnumbr = derive2 { name="sweidnumbr"; version="1.4.1"; sha256="014zbp6a66gv7b0f2gmzvifllz266zrc14ihawksvyp1mcxz2ipg"; depends=[lubridate stringr]; };
   swfscMisc = derive2 { name="swfscMisc"; version="1.2"; sha256="08p2crsx8zi6qprs14mhdyq9x5sjlp3a46c1zzvp6741an4fy640"; depends=[ggplot2 mapdata maps reshape2 spatstat]; };
   swirl = derive2 { name="swirl"; version="2.4.3"; sha256="1l7gwisk3sjslh6zh4cq3vxf5y84af2fr078cp4i86rw1w2j9d44"; depends=[digest httr RCurl stringr testthat yaml]; };
   swirlify = derive2 { name="swirlify"; version="0.5.2"; sha256="07r6rdj079ryafdgs0p8jhnk4h7iqm7agh9wjhvm12abbwjr9g1x"; depends=[base64enc readr rmarkdown shiny shinyAce stringr swirl whisker yaml]; };
   switchnpreg = derive2 { name="switchnpreg"; version="0.8-0"; sha256="1vaanz01vd62ds2g2xv4kjlnvp13h59n8yqikwx07293ixd4qhpw"; depends=[expm fda HiddenMarkov MASS]; };
-  switchr = derive2 { name="switchr"; version="0.12.6"; sha256="0i5xcjhjnqk3qbmc8kr7q8khrjvqdp7yy8yydkz6pmjgzwkyw9hs"; depends=[RCurl RJSONIO]; };
-  switchrGist = derive2 { name="switchrGist"; version="0.2.2"; sha256="1mzlwnldapzmykfmz51dwr258iizmrrzi5bj84gdjbbg80r3s5ds"; depends=[gistr httpuv RJSONIO switchr]; };
-  swmmr = derive2 { name="swmmr"; version="0.7.0"; sha256="1155gdsgbhr9fabsf5b63f47zicqj02yjm0fpgbbf3ds550s0hq8"; depends=[Rcpp xts]; };
+  switchr = derive2 { name="switchr"; version="0.12.7"; sha256="1ymvghjvbrbsgn49mp8f9n4kv81626pa4pv05hrx813ly8h30mmq"; depends=[RCurl RJSONIO]; };
+  swmmr = derive2 { name="swmmr"; version="0.8.1"; sha256="0zl00864x9q6a2aqdbqs3b5kw6z50wgr46c62kxk9xkns8317sa7"; depends=[dplyr purrr Rcpp readr tibble tidyr xts zoo]; };
   sybil = derive2 { name="sybil"; version="2.0.4"; sha256="0iyqr9iyb4bydmzjzrc721nzf5q36p2i3zciai9rzjlwx2mdw930"; depends=[lattice Matrix]; };
   sybilDynFBA = derive2 { name="sybilDynFBA"; version="1.0.1"; sha256="1zyhvlzkcwnq3sh6gvi0v1crq94mr16bc5jnh0g9c8rbdl4v8r4x"; depends=[sybil]; };
   sybilEFBA = derive2 { name="sybilEFBA"; version="1.0.2"; sha256="07c32xwql7sr217j8ixqd2pj43hhyr99vjdh7c106lsmqd1pifa4"; depends=[Matrix sybil]; };
-  sybilSBML = derive2 { name="sybilSBML"; version="3.0.1"; sha256="1dzx1cdvi4fvdqf5hliwwk3gn5ig2wzzxv2gr92760p9c84hmmrj"; depends=[Matrix sybil]; };
   sybilccFBA = derive2 { name="sybilccFBA"; version="2.0.0"; sha256="0x0is1a56jyahaba6dk9inj5v248m8n46f70ynqyqp1xpiax1fkr"; depends=[Matrix sybil]; };
   sybilcycleFreeFlux = derive2 { name="sybilcycleFreeFlux"; version="2.0.0"; sha256="0p3w7ipyrqrh7nf52h8qmr4fikyinm8an7npmcb7kwjd59rcy554"; depends=[MASS Matrix sybil]; };
   sylcount = derive2 { name="sylcount"; version="0.1-0"; sha256="1dxbqbjyvkg7cx234icby9fjdjz1z4l4crqd7kv8m05fv69pg224"; depends=[]; };
   syllable = derive2 { name="syllable"; version="0.1.3"; sha256="1ymnczwx58h720hsm0s9zq3ddwg6gn6bgg0m8zw24i0nlivx0yjg"; depends=[data_table stringi textclean textshape]; };
   sylly = derive2 { name="sylly"; version="0.1-4"; sha256="14lw5sxrdvidk0465a7x0jz74cvqjbqv0wlqdy78qzbq4ilcmcaa"; depends=[]; };
+  sylly_en = derive2 { name="sylly.en"; version="0.1-3"; sha256="0jw48qin172vv7skcpvcpi9wzgav5l9afzb09hhgcxvivbz6dl93"; depends=[sylly]; };
   symDMatrix = derive2 { name="symDMatrix"; version="1.0.0"; sha256="0xss7f7hkrf2afchccfavymylfybnp9nxawqxd2vdjni95kbd595"; depends=[]; };
-  symbolicDA = derive2 { name="symbolicDA"; version="0.4-3"; sha256="012ha8m3137gns0q38lanpijdrqq6kcw934f2jgnxj6inl6drca0"; depends=[ade4 cluster clusterSim e1071 rgl shapes XML]; };
+  symbolicDA = derive2 { name="symbolicDA"; version="0.5-3"; sha256="1zbr8b19m3fnzx0bdajl86s6aijiycjdibf9q83wd6mgpq66jb85"; depends=[ade4 cluster clusterSim e1071 rgl shapes XML]; };
   symbols = derive2 { name="symbols"; version="1.1"; sha256="1234rx3divhg60p0h0zn11viqn51fm6b8876m6rip2i6z8vrg319"; depends=[shape]; };
   symmoments = derive2 { name="symmoments"; version="1.2"; sha256="074k0285c0yri39zags420kjls6kjlvlhymg3r7y24h42zdy82d4"; depends=[combinat cubature multipol mvtnorm]; };
   synRNASeqNet = derive2 { name="synRNASeqNet"; version="1.0"; sha256="05ncwbv8kvvhqqrxa8qq7s0jc6krs5a56ph04z50iwgd91rzyi7x"; depends=[GenKern igraph KernSmooth parmigene]; };
-  synbreed = derive2 { name="synbreed"; version="0.12-6"; sha256="03h3j2g6ynnbmsc6yhbmmmrwj69jf3gjpp1wnsd02yc5kf4r1q57"; depends=[abind BGLR doBy doParallel foreach igraph lattice LDheatmap MASS qtl regress]; };
+  synbreed = derive2 { name="synbreed"; version="0.12-9"; sha256="0h85z9bhzgsr783qx3zjqyi461a0q52wbqifwm3gc1kapl5irxhd"; depends=[abind BGLR doBy doParallel foreach igraph lattice LDheatmap MASS qtl regress]; };
   synbreedData = derive2 { name="synbreedData"; version="1.5"; sha256="16wv9r7p0n8726qv0jlizmkvnrqwjj1q4xaxvfmj9611rm47vckx"; depends=[]; };
   synchronicity = derive2 { name="synchronicity"; version="1.3.2"; sha256="1idrjzl7nkamf1ip55s6qcf64s63xs9j8z9jv3r89p6r5lw7k5mv"; depends=[BH bigmemory_sri Rcpp uuid]; };
   synchrony = derive2 { name="synchrony"; version="0.2.3"; sha256="0fi9a3j8dfslf1nqx8d53fi635y3aq8isxw0dbjbpgk7rc71nzby"; depends=[]; };
   synlik = derive2 { name="synlik"; version="0.1.1"; sha256="0g4n78amydihsq4jg2i9barjm9g40zczasb31fj10yn6wir1dhv7"; depends=[Matrix Rcpp RcppArmadillo]; };
   synthACS = derive2 { name="synthACS"; version="1.0.1"; sha256="0jbhiadgc8f6h7ga685cm5i8y59lf76r8sgd629xfjj4jxn8ckdm"; depends=[acs data_table Rcpp]; };
-  synthpop = derive2 { name="synthpop"; version="1.4-1"; sha256="0725gv7b7kj564rf0nz6djvk58i39d9vv4g12qmgnsipgjs9rsrw"; depends=[classInt foreign ggplot2 lattice MASS nnet party plyr polspline proto randomForest rpart]; };
+  synthpop = derive2 { name="synthpop"; version="1.4-3"; sha256="1smibiid3hav7w9yky0n6ci160h69v16kkilmm00gady6w7j8drh"; depends=[classInt foreign ggplot2 lattice MASS nnet party plyr polspline proto randomForest rpart]; };
   sys = derive2 { name="sys"; version="1.5"; sha256="0yskm5mzps4435yvld9nfp6i5lqdy5ckpdwydvvbyjznz5yv01x2"; depends=[]; };
   sysfonts = derive2 { name="sysfonts"; version="0.7.2"; sha256="1jl66pyw9khi117523zanjjzdpnpgqdqx190w829xc4ljxzi8n55"; depends=[]; };
   sysid = derive2 { name="sysid"; version="1.0.4"; sha256="0fr9gf5yjin3zvz850z4r4pqc1r4mwx8d46sl64i4csdm9qnqagy"; depends=[bitops ggplot2 polynom reshape2 signal tframe zoo]; };
-  systemfit = derive2 { name="systemfit"; version="1.1-20"; sha256="1qzgx4hn6f71hnk70ccf6inajprrb6my5af8q2manz41577z0ka7"; depends=[car lmtest MASS Matrix sandwich]; };
+  systemfit = derive2 { name="systemfit"; version="1.1-22"; sha256="19nmhidnzyk2wcwi5v28n9lkvylfw4in63vg5naqlk3w4fbwm2wb"; depends=[car lmtest MASS Matrix sandwich]; };
   systemicrisk = derive2 { name="systemicrisk"; version="0.4.1"; sha256="1zimkyj58lk3iq5x4g6a76dain65j36s8c8jhx25sqjr5z2zmfsr"; depends=[lpSolve Rcpp]; };
   syuzhet = derive2 { name="syuzhet"; version="1.0.4"; sha256="0wf4rls7v7h7zkq2k550d16aqvaij27iim85cwif7dkbinajfngi"; depends=[dplyr dtt NLP textshape tidyr zoo]; };
   tRophicPosition = derive2 { name="tRophicPosition"; version="0.7.5"; sha256="0qmkdsl0b2aw485vpbdqxdlfwg5a3i5bj4l67xv6h51fnbyfqfiz"; depends=[ArgumentCheck coda data_table ggplot2 gridExtra hdrcde MCMCglmm plyr rjags]; };
@@ -11421,20 +11728,23 @@ in with self; {
   tables = derive2 { name="tables"; version="0.8.3"; sha256="1n0kqsvwx2vg7nwyz7hi708xpf2jc9bz3y84aflnzcmbspj1wvf3"; depends=[Hmisc]; };
   tabplot = derive2 { name="tabplot"; version="1.3-1"; sha256="0yz3npn36q93gr0k9a4x5swap5fwxfc22b131kif3dfxkgklna06"; depends=[bit ff ffbase]; };
   tabplotd3 = derive2 { name="tabplotd3"; version="0.3.3"; sha256="0mbj45vb17wlnndpkhvq7xaawsb814x7zxa4rqbfgidvbm1p3abv"; depends=[brew httpuv RJSONIO Rook tabplot]; };
-  tabuSearch = derive2 { name="tabuSearch"; version="1.1"; sha256="0bri03jksm314xy537dldbdvgyq6sywfmpmj2g2acdcli31kkpq0"; depends=[]; };
+  tabr = derive2 { name="tabr"; version="0.1.2"; sha256="1c9r6lx12xadv0c0068zxgx29nnf2hdbbrybm6bs27scizaxzhd2"; depends=[dplyr magrittr purrr tibble]; };
+  tabuSearch = derive2 { name="tabuSearch"; version="1.1.1"; sha256="0396a8hla508na1hmyyhfbl8w10dbg810cln2xyhhvxi7rr223dj"; depends=[]; };
   tabularaster = derive2 { name="tabularaster"; version="0.4.0"; sha256="1hgbynjp19xwpin31j0647ldbzxam2kmkqnvj6v8kd4svps0kr3g"; depends=[dplyr raster sp spbabel spex tibble viridis]; };
   tactile = derive2 { name="tactile"; version="0.1.0"; sha256="0ygray05jlxrg7mxg412s04jrxjyskxlrl0xgxir8s6mzjg79iqy"; depends=[gridExtra lattice latticeExtra MASS RColorBrewer]; };
   tadaatoolbox = derive2 { name="tadaatoolbox"; version="0.16.0"; sha256="0i69zyiqq8mc5wfc9r43dpcjhwmq4iwj605n4a6h4hma37jjnc2g"; depends=[broom car DescTools ggplot2 magrittr nortest pixiedust pwr viridis]; };
   tagcloud = derive2 { name="tagcloud"; version="0.6"; sha256="04zrh029n8pjlxlr6pdd7xhqqhavbrj3fhvhj6ygzlvi2jslxnwl"; depends=[RColorBrewer Rcpp]; };
   tailDepFun = derive2 { name="tailDepFun"; version="1.0.0"; sha256="1z2jrzly1adiwi8y0pndyfggpr0li6sjv9rkrc5mi47s0qjvr5qj"; depends=[copula cubature mvtnorm SpatialExtremes]; };
   tailloss = derive2 { name="tailloss"; version="1.0"; sha256="0lmjgjs6d94b70i10vx66fyvlxm5swwqbcjsnqa3lmldzz6m4jc1"; depends=[MASS]; };
+  tailr = derive2 { name="tailr"; version="0.1.1"; sha256="07irl0fzg9skpv9kl211ar3yf68lcrpd2rcplkzbm242yb772z1v"; depends=[glue rlang]; };
   tangram = derive2 { name="tangram"; version="0.3.2"; sha256="1dyfyl608k6a7vx9w0s2r6jr0y430qvkqkrrv24wav7snza4d5q2"; depends=[base64enc digest htmltools magrittr R6 stringi stringr]; };
   tatoo = derive2 { name="tatoo"; version="1.1.0"; sha256="1dsycdp3vln1m1w3nhhrr60x8raw6gbihjpav0d4ad8qla2fq8nh"; depends=[assertthat colt crayon data_table magrittr openxlsx purrr rlang stringi withr]; };
   tau = derive2 { name="tau"; version="0.0-20"; sha256="1inpqc2cz1vvjkmp8h3jpjvnvj0y5cwbbj92jlq0322w5w45vip9"; depends=[]; };
+  tauturri = derive2 { name="tauturri"; version="0.1.1"; sha256="0v0p1avrx9vgnrli4zp6figm3s9265k9yny0acblbjlmz3z8smai"; depends=[httr magrittr plyr purrr tibble]; };
   tawny = derive2 { name="tawny"; version="2.1.6"; sha256="0s6p0nnz1rpcnn2yfj1vvl54g57d8rv5s4y09azwz1z5ls7vnnlv"; depends=[futile_logger futile_matrix lambda_r lambda_tools PerformanceAnalytics quantmod tawny_types xts zoo]; };
   tawny_types = derive2 { name="tawny.types"; version="1.1.3"; sha256="1v0k6nn45rdczjn5ymsp2fqq0ijnlniyf3bc08ibd8yd1jcdyjnj"; depends=[futile_logger futile_options lambda_r lambda_tools quantmod xts zoo]; };
   taxa = derive2 { name="taxa"; version="0.2.0"; sha256="16jif3s5xf4cawwkhpmjrwb0c4ycmwicrshd5m0arlkcfmq85623"; depends=[dplyr jsonlite knitr lazyeval magrittr R6 rlang stringr tibble]; };
-  taxize = derive2 { name="taxize"; version="0.9.0"; sha256="07r56nhwqm3rny9d4g7h2azrxad6mg8dpfx9pxmyz5acl5g5xd32"; depends=[ape bold data_table foreach httr jsonlite natserv plyr reshape2 ritis rotl rredlist stringr tibble wikitaxa worrms xml2]; };
+  taxize = derive2 { name="taxize"; version="0.9.3"; sha256="05llhgv6a440va80fs45r8q6865q45gi4z28b1ldcln0dmx77r7c"; depends=[ape bold crul data_table foreach httr jsonlite natserv plyr reshape2 ritis rotl rredlist stringr tibble wikitaxa worrms xml2 zoo]; };
   taxizedb = derive2 { name="taxizedb"; version="0.1.4"; sha256="15gj9i18ysd83v9fidrrvw938dah04i10ahi3wh5dgjs5fd5ch2s"; depends=[curl DBI dbplyr dplyr hoardr magrittr RMySQL RPostgreSQL RSQLite]; };
   taxlist = derive2 { name="taxlist"; version="0.1.3"; sha256="0lsphap7brl67y458x29843wkxvvf2ppjn1crz4hby7wmn1psarx"; depends=[foreign taxize vegdata]; };
   taxonomizr = derive2 { name="taxonomizr"; version="0.2.2"; sha256="0drzsbr23kr3da6bawjrz8rl976mai0vcz19fr5aypsliqz32b41"; depends=[data_table R_utils RSQLite]; };
@@ -11465,14 +11775,14 @@ in with self; {
   tensor = derive2 { name="tensor"; version="1.5"; sha256="19mfsgr6vz4lgwidm80i4yw0y1dr3n8i6qz7g4n2xa0k74zc5pp1"; depends=[]; };
   tensorA = derive2 { name="tensorA"; version="0.36"; sha256="1xpczn94a6vfkfibfvr71a7wccksg16pc22h0inpafna4qpygcwp"; depends=[]; };
   tensorBF = derive2 { name="tensorBF"; version="1.0.1"; sha256="1rnsff1ypwhn5z0xsxyk2z7jl6igscma1a0w613i81qf37iy81ba"; depends=[tensor]; };
-  tensorBSS = derive2 { name="tensorBSS"; version="0.3.3"; sha256="1frda6k2jx6gjvnhkk7xjj8pbnc20jk0l8fzjsvgn40wf82xs3ff"; depends=[JADE Rcpp RcppArmadillo tensor tsBSS]; };
+  tensorBSS = derive2 { name="tensorBSS"; version="0.3.4"; sha256="0wh14qy7fa7klb7yy272d16cvgfgnrf25wba3bqbpral9pv5nkmv"; depends=[ICtest JADE Rcpp RcppArmadillo tensor tsBSS]; };
   tensorflow = derive2 { name="tensorflow"; version="1.5"; sha256="00g5fdr0ij2ximmqgd7a1hz66462lkjf4q6pn0knkhxcgp7jv8nn"; depends=[config jsonlite processx reticulate rstudioapi tfruns yaml]; };
   tensorr = derive2 { name="tensorr"; version="0.1.0"; sha256="00zqklz3hqjv20giwqnd1d62x5hdm620hfdkn1x75i87dv92qn8m"; depends=[assertive_base assertive_properties assertive_types Matrix purrr]; };
   tensr = derive2 { name="tensr"; version="1.0.0"; sha256="05gclhljflkz98hgiq5bgbqjz8icxbdq6b84bn2995cx7v0x85ds"; depends=[]; };
   tergm = derive2 { name="tergm"; version="3.4.1"; sha256="10sanqbnqdyqafjjcwm99zfnpgrv18z4y2rgaq5wqq7nni184hfm"; depends=[coda ergm MASS network networkDynamic nlme robustbase statnet_common]; };
   termstrc = derive2 { name="termstrc"; version="1.3.7"; sha256="12bycwhjrhkadafcckc30jr0md0ssj21n4v75yjhy21yvqjx1d7a"; depends=[lmtest Rcpp rgl sandwich urca zoo]; };
   ternvis = derive2 { name="ternvis"; version="1.1"; sha256="16q1a1ns7q0d46js2m1hr6zm8msg3ncgp8w7yrwch11xq0759sb4"; depends=[dichromat mapdata maps maptools quadprog]; };
-  tesseract = derive2 { name="tesseract"; version="1.9"; sha256="0lrqh8s8xnz8yz52fjn9h8jv0xpf3nmkk7ic3zvlq96msa089szi"; depends=[curl digest rappdirs Rcpp stringr xml2]; };
+  tesseract = derive2 { name="tesseract"; version="2.0"; sha256="0dps8nji7rx5vfa9g2kmdh3vgm9f61dbainl4arrqngcr5fglpnf"; depends=[curl digest pdftools rappdirs Rcpp tibble]; };
   testassay = derive2 { name="testassay"; version="0.1.0"; sha256="06gks3k04m45kn946i525261v33ymwxpvgdy84kc7sp01xxx4rfv"; depends=[]; };
   tester = derive2 { name="tester"; version="0.1.7"; sha256="1x5m43abk3x3fvb2yrb1xwa7rb4jxl8wjrnkyd899ii1kh8lbimr"; depends=[]; };
   testforDEP = derive2 { name="testforDEP"; version="0.2.0"; sha256="1mgzhj8b35r5cm4bl0nnyxj0h7rwd28d17qvgvaky2kvm2r83cf9"; depends=[Hmisc minerva Rcpp]; };
@@ -11484,14 +11794,15 @@ in with self; {
   texmex = derive2 { name="texmex"; version="2.4"; sha256="0s3x681f1qnbgmzi5iwqpmkfzpx9gsccd3q1vz1dppzq8fbid3c2"; depends=[ggplot2 mvtnorm]; };
   texreg = derive2 { name="texreg"; version="1.36.23"; sha256="0yxaqimd7cyfrfpia6fnqm15lgs0bf5zyjzmnfm1v4qmf8kj8x6v"; depends=[]; };
   text2vec = derive2 { name="text2vec"; version="0.5.1"; sha256="0vcp50mgpgxbf534vd8l56m8006i3sh8a4v9nrf9vxkq2pv7xygc"; depends=[data_table digest foreach futile_logger irlba Matrix mlapi R6 Rcpp RcppParallel sparsepp stringi]; };
-  textTinyR = derive2 { name="textTinyR"; version="1.0.9"; sha256="1spzmxywzx6xk9z8jwhyab1g96rjq979zkb4sabl0sp362ccalfy"; depends=[BH data_table Matrix R6 Rcpp RcppArmadillo]; };
+  textTinyR = derive2 { name="textTinyR"; version="1.1.0"; sha256="129ha0187vw4q5lw3xgch2k4fh9kfjrvvx2bb8bm3rd2skdhajj1"; depends=[BH data_table Matrix R6 Rcpp RcppArmadillo]; };
   textcat = derive2 { name="textcat"; version="1.0-5"; sha256="039bzyz4jvh1hl2a2pfp328kr2mpb1a07j79yqf5cbqk3d5a197b"; depends=[slam tau]; };
-  textclean = derive2 { name="textclean"; version="0.6.3"; sha256="0i6linb782257clkdpl7rv354myl9wc1417ad2glhh53lgcprfk2"; depends=[data_table english lexicon qdapRegex stringi textshape]; };
+  textclean = derive2 { name="textclean"; version="0.7.2"; sha256="13g8k7i7j33g4bzqps638k0j1gyms740wyz7d0205cqm70kzz8m3"; depends=[data_table english glue lexicon mgsub qdapRegex stringi textshape]; };
   texteffect = derive2 { name="texteffect"; version="0.1"; sha256="0fwcbz7bpynvcivac16z77j8d398bf7vl4l8sppi9yvg72l0k94w"; depends=[boot ggplot2 MASS]; };
+  textfeatures = derive2 { name="textfeatures"; version="0.1.1"; sha256="0pcs3nax21npb5blbwrmzl7q85ya8n7vgjn83z2abjr80gj3f5lj"; depends=[dplyr rlang tibble]; };
   textgRid = derive2 { name="textgRid"; version="1.0.1"; sha256="1wi5vq5f7ixhz39l5hqi2jlmjjacx4lyrs4h8xfbd47pj6g16lc6"; depends=[]; };
   textile = derive2 { name="textile"; version="0.1.2"; sha256="067zli6sl7bp9843spgx47hmw55aq61yinqw1lqifmrpk7b0ywk5"; depends=[]; };
   textir = derive2 { name="textir"; version="2.0-5"; sha256="0ban5qiinlxizqpcgafv4b5gwxlil6jdfarjd6l1m48awxh3mlnb"; depends=[distrom gamlr Matrix]; };
-  textmineR = derive2 { name="textmineR"; version="2.1"; sha256="1bnpnwpgnqcm22hhxmhqm445brry9cq3bzqkk51zj14q38sccx31"; depends=[lda Matrix Rcpp RcppArmadillo RcppProgress RSpectra SnowballC stringr text2vec tm topicmodels]; };
+  textmineR = derive2 { name="textmineR"; version="2.1.1"; sha256="15cs2x8cn1766inqck3bdfig0wngwny689bwmjrs5w66618007ji"; depends=[lda Matrix Rcpp RcppArmadillo RcppProgress RSpectra SnowballC stringr text2vec tm topicmodels]; };
   textmining = derive2 { name="textmining"; version="0.0.1"; sha256="16wiykhrjs4djwa7q2wm4g8b3mrhh6hq9d9876w1j7c2s6zx69gd"; depends=[caret dplyr koRpus mallet networkD3 NLP rJava slam SnowballC stylo tm topicmodels wordcloud]; };
   textometry = derive2 { name="textometry"; version="0.1.4"; sha256="17k3v9r5d5yqgp25bz69pj6sw2j55dxdchq63wljxqkhcwxyy9lh"; depends=[]; };
   textrank = derive2 { name="textrank"; version="0.2.0"; sha256="0s2mnid3dha3nyyc9abhb36vlij4bg0024i9ay4pvvy4l1x947gr"; depends=[data_table digest igraph]; };
@@ -11499,7 +11810,7 @@ in with self; {
   textreg = derive2 { name="textreg"; version="0.1.4"; sha256="0k7hpvvhacz29d3mvnygg6rqmh9f3ghkcp7kjmvv9jnr2ipw2j21"; depends=[NLP Rcpp tm]; };
   textreuse = derive2 { name="textreuse"; version="0.1.4"; sha256="0qfp7ffzb5p3k3wiw8i1zjskni8f38rzkjnss97j9f3vhhb8j4r7"; depends=[assertthat BH digest dplyr NLP Rcpp RcppProgress stringr tidyr]; };
   textshape = derive2 { name="textshape"; version="1.5.0"; sha256="0hvp3mz7j2qkw38jg9cj92ikhyic1c9w8jk07z3vh3f5cm1klvbm"; depends=[data_table slam stringi]; };
-  textstem = derive2 { name="textstem"; version="0.1.2"; sha256="172y1hvxhb33syqj5y369aq7fvcyn659cx6abcz7i5na8q1v9v0l"; depends=[dplyr hunspell koRpus lexicon quanteda SnowballC stringi textclean textshape]; };
+  textstem = derive2 { name="textstem"; version="0.1.4"; sha256="1pbhi5ia3w16vsix2x3if51zd2v9bcv0j4lj9hfikgq1yz9zxmw2"; depends=[dplyr hunspell koRpus koRpus_lang_en lexicon quanteda SnowballC stringi textclean textshape]; };
   textutils = derive2 { name="textutils"; version="0.1-6"; sha256="0xvsd6pfg4kv40l14xcvmirqiq8rmky4s8v8diagzri3a7i45nqn"; depends=[]; };
   tfdatasets = derive2 { name="tfdatasets"; version="1.5"; sha256="1ik6rzfnjmm54m7s2rvp1bq5jk0k2vl631bz3db3dk639jndiz6a"; depends=[magrittr reticulate rlang tensorflow tidyselect]; };
   tfer = derive2 { name="tfer"; version="1.1"; sha256="19d31hkxs6dc4hvj5495a3kmydm29mhp9b2wp65mmig5c82cl9ck"; depends=[]; };
@@ -11516,8 +11827,9 @@ in with self; {
   themetagenomics = derive2 { name="themetagenomics"; version="0.1.0"; sha256="1p8qyvll6a9yx2akny1087f73r6p5zi6cf1si7b8i786bcs9khwj"; depends=[ggplot2 lda lme4 Matrix plotly Rcpp rstan scales shiny stm]; };
   thermocouple = derive2 { name="thermocouple"; version="1.0.2"; sha256="1rlvhw3i83iq1vibli84gj67d98whvgkxafwpmisva1m4s1bmij4"; depends=[]; };
   theseus = derive2 { name="theseus"; version="0.1.0"; sha256="1f6vl0m8fcchafn78vrfw610d0sp9rf8kd3q5n7b0zd2yby10dq0"; depends=[dplyr ggplot2 gridExtra magrittr phyloseq ShortRead splancs tidyr tidyverse vegan viridis]; };
-  thgenetics = derive2 { name="thgenetics"; version="0.3-4.1"; sha256="05g5rwdpnd1b4h1lay2l1s0ns2q6a7sav8d4zrxaqgzhaafnpxyv"; depends=[]; };
+  thgenetics = derive2 { name="thgenetics"; version="0.4-2"; sha256="1314gry3xs9v4jy13g08q16qy4ax3s0bc7d74gi0wbpkgdrk3lql"; depends=[]; };
   thief = derive2 { name="thief"; version="0.3"; sha256="12ymkkisg5p0g1gmvlczhp4dc7mirjg55fqqmz2d90673vlg6rfq"; depends=[forecast ggplot2 hts]; };
+  thinkr = derive2 { name="thinkr"; version="0.11"; sha256="1rr90q91nn406n2sbn3k9q5y1mjcb4i4ixsp05mh38r9qjkbirhk"; depends=[assertthat devtools dplyr ggplot2 lazyeval lubridate magrittr ReporteRs stringi stringr tidyr XLConnect]; };
   threeboost = derive2 { name="threeboost"; version="1.1"; sha256="033vwn42ys81w6z90w5ii41xfihjilk61vdnsgap269l9l0c8gmn"; depends=[Matrix]; };
   threejs = derive2 { name="threejs"; version="0.3.1"; sha256="1s3rdlzy7man6177ycayg6xsh6k8y1r9rdj9yzn3b93j2rs0nxbi"; depends=[base64enc crosstalk htmlwidgets igraph]; };
   threewords = derive2 { name="threewords"; version="0.1.0"; sha256="083y5i4qyl1wj017wy5ywl2yx9wvrpjl9g9k9clvnrbwzbycx2cg"; depends=[httr]; };
@@ -11530,25 +11842,26 @@ in with self; {
   tibbrConnector = derive2 { name="tibbrConnector"; version="1.5.1"; sha256="1r58myi7x4hqqvyrphxy4ppa1lnad6x2ginfq2j52ax53zr07ajp"; depends=[RCurl rjson]; };
   tictactoe = derive2 { name="tictactoe"; version="0.2.2"; sha256="1fx8plj5zr04xwk5hfj3zqhcknidxlzya2q14cf0m3y33a86lx42"; depends=[hash]; };
   tictoc = derive2 { name="tictoc"; version="1.0"; sha256="1zp2n8k2ax2jjw89dsri268asmm5ry3ijf32wbca5ji231y0knj7"; depends=[]; };
-  tidyLPA = derive2 { name="tidyLPA"; version="0.1.2"; sha256="11xc8lnhs63ykaq2g3jzrp4kz48zz03cvw5s935fvhsp05drf6g5"; depends=[dplyr forcats ggplot2 magrittr mclust purrr readr rlang stringr tibble tidyr]; };
+  tidyLPA = derive2 { name="tidyLPA"; version="0.1.3"; sha256="1yk9abn21ycfdr1h43shjaymga5j9z862mp1zbwj2wbxxv6m5pp7"; depends=[dplyr forcats ggplot2 magrittr mclust purrr readr rlang stringr tibble tidyr]; };
   tidyRSS = derive2 { name="tidyRSS"; version="1.2.3"; sha256="1m21cwdbhial4h3084vqs0j6zwa267ia75gyjivprqjzcccjaqdp"; depends=[dplyr httr jsonlite lubridate magrittr purrr testthat tibble xml2]; };
-  tidyboot = derive2 { name="tidyboot"; version="0.1.0"; sha256="1h997hrwacm91myhy93jrinx0h715da76wm9kwz9nwwzisv62m6k"; depends=[dplyr modelr purrr rlang tidyr]; };
-  tidycensus = derive2 { name="tidycensus"; version="0.4.1"; sha256="1ay6qw25r809fpgs0fsvblgsrpi91ph82mm2w21vj59gba1bkr71"; depends=[dplyr httr jsonlite purrr rappdirs readr rvest sf stringr tidyr tigris units xml2]; };
+  tidyboot = derive2 { name="tidyboot"; version="0.1.1"; sha256="0nss1ci763g9p5f33g163ppamx72axc8xhrils0cql3ka8439pmn"; depends=[dplyr modelr purrr rlang tidyr]; };
+  tidycensus = derive2 { name="tidycensus"; version="0.4.6"; sha256="1czfdwm5bn0xpqm43mvb5bd30m5kdxikaq21gxkj41r78z69qncl"; depends=[dplyr httr jsonlite purrr rappdirs readr rvest sf stringr tidyr tigris units xml2]; };
   tidygenomics = derive2 { name="tidygenomics"; version="0.1.0"; sha256="0n6km2zhdmbgacn6rzamrn506d9y3sl6yp2q6fd9x7kzgz09aq4n"; depends=[dplyr fuzzyjoin IRanges purrr Rcpp tidyr]; };
   tidygraph = derive2 { name="tidygraph"; version="1.1.0"; sha256="1cqmii1pia5s8cj1hfm5jh4qgg9dn65dcb666bqfhq51nzgwy6b4"; depends=[dplyr igraph magrittr R6 Rcpp rlang tibble tidyr]; };
-  tidyhydat = derive2 { name="tidyhydat"; version="0.3.2"; sha256="0an22qpxz5sjg4grh54swp62px5428rk553flz73h0islp6wqnq6"; depends=[cli crayon DBI dbplyr dplyr httr lubridate rappdirs readr RSQLite tibble tidyr]; };
+  tidyhydat = derive2 { name="tidyhydat"; version="0.3.3"; sha256="01l4dwsrrmfavskbqxcq5v1ykggk363nn0m0nf6ks51xdr7lckf5"; depends=[cli crayon DBI dbplyr dplyr httr lubridate rappdirs readr RSQLite tibble tidyr]; };
+  tidyimpute = derive2 { name="tidyimpute"; version="0.1.0"; sha256="03b475nn206hxq3i0n7j1qws82rwwk5vqivmdg5mff44dvz4gl5s"; depends=[dplyr na_tools rlang]; };
   tidyinftheo = derive2 { name="tidyinftheo"; version="0.2.1"; sha256="1lh1smhnfg5x35ans3rlj6nvrqwkaiac3ycy7r8wz5h9fhlri3pg"; depends=[dplyr ggplot2 infotheo magrittr purrr rlang tibble tidyselect tidyverse]; };
   tidyposterior = derive2 { name="tidyposterior"; version="0.0.1"; sha256="09q2j6kjwqphdzi60w26mlax9fnmndw7s3fsxfcj0pjjl8688w52"; depends=[broom dplyr ggplot2 purrr rlang rsample rstanarm tibble tidyr]; };
-  tidypredict = derive2 { name="tidypredict"; version="0.1.0"; sha256="1dvyzckndn3hjfylp38mi27lq4f9w87ra5rx5r177qni8ybifiyz"; depends=[dplyr purrr rlang tibble tidyr]; };
+  tidypredict = derive2 { name="tidypredict"; version="0.2.0"; sha256="1hq9xzaa234679qvf02nc5w8l21yh1f3dhl76zxzqc7na7chn13k"; depends=[dplyr purrr rlang tibble tidyr]; };
   tidyquant = derive2 { name="tidyquant"; version="0.5.4"; sha256="1ip3vivn6x0ip2y4izq4cz5lh31ygsymkvbb4jqvb8dj5wywr2hq"; depends=[alphavantager broom curl devtools dplyr ggplot2 httr lazyeval lubridate magrittr PerformanceAnalytics purrr Quandl quantmod readr rvest scales stringr tibble tidyr tidyverse timeSeries timetk tseries TTR xml2 xts zoo]; };
   tidyr = derive2 { name="tidyr"; version="0.8.0"; sha256="1qjpbj1a2vw6nw4hdb6fgassnrxrdpqwf9a8i6wqnv3wxvjb6zqb"; depends=[dplyr glue magrittr purrr Rcpp rlang stringi tibble tidyselect]; };
-  tidyselect = derive2 { name="tidyselect"; version="0.2.3"; sha256="0b0w30yq30c7bwpaghp3hp0nncqwcmvrra9j58fhx9jihay3l68c"; depends=[glue purrr Rcpp rlang]; };
+  tidyselect = derive2 { name="tidyselect"; version="0.2.4"; sha256="1592dbzawhd1hpsp9919l4sifyiaaj6xr7lnhsbwa6jwmmb0xcsw"; depends=[glue purrr Rcpp rlang]; };
   tidystats = derive2 { name="tidystats"; version="0.1"; sha256="0dy4yqdc0y8pmix29100x80q828rapnq9y3qn2p6rs763c7canmr"; depends=[dplyr magrittr purrr readr tibble tidyr]; };
   tidystringdist = derive2 { name="tidystringdist"; version="0.1.2"; sha256="1jk5yqkjf33arbbfgfzk7ym943gy95n3yncybmvwbjsff07qpmaw"; depends=[attempt dplyr magrittr purrr rlang stringdist]; };
-  tidytext = derive2 { name="tidytext"; version="0.1.7"; sha256="1pvf46z1jiwi1j0z917mml1cg9527zkdckh8h3d1ks4wawz099a9"; depends=[broom dplyr hunspell janeaustenr Matrix purrr rlang stopwords stringr tokenizers]; };
-  tidytree = derive2 { name="tidytree"; version="0.1.6"; sha256="0x9lwgnsz7iz1xdaiz7q9cff1v7888fi5yb6d65lqcgzlc2ipxbz"; depends=[ape dplyr lazyeval magrittr tibble]; };
+  tidytext = derive2 { name="tidytext"; version="0.1.8"; sha256="10w3h71pqbfa0n5b0a63vajc7hbwjy8bazdwmi8260zz82fvhfvl"; depends=[broom dplyr hunspell janeaustenr Matrix purrr rlang stopwords stringr tokenizers]; };
+  tidytree = derive2 { name="tidytree"; version="0.1.8"; sha256="0nhhr0qmigvvzchy4pgg7pm2cn50li4zg37b4bdlhkzfzhxz4y3m"; depends=[ape dplyr lazyeval magrittr tibble]; };
   tidyverse = derive2 { name="tidyverse"; version="1.2.1"; sha256="0yy3fkjksgcn6wkbgsb0pbnmsyqs4m01mziqafhig578nixs4rxd"; depends=[broom cli crayon dbplyr dplyr forcats ggplot2 haven hms httr jsonlite lubridate magrittr modelr purrr readr readxl reprex rlang rstudioapi rvest stringr tibble tidyr xml2]; };
-  tidyxl = derive2 { name="tidyxl"; version="1.0.0"; sha256="1bsvxsz24qbk9wca8kh4qrb4fi22i49vpciq1pm5c48jb11bjb6b"; depends=[piton Rcpp]; };
+  tidyxl = derive2 { name="tidyxl"; version="1.0.1"; sha256="10ckabv7aa744wxs3d5y9cd3a4c0x89gg91l23w7ddvcgjziq7an"; depends=[piton Rcpp]; };
   tiff = derive2 { name="tiff"; version="0.1-5"; sha256="0asf2bws3x3yd3g3ixvk0f86b0mdf882pl8xrqlxrkbgjalyc54m"; depends=[]; };
   tiger = derive2 { name="tiger"; version="0.2.3.1"; sha256="0xr56c46b956yiwkili6vp8rhk885pcmfyd3j0rr4h8sz085md6n"; depends=[e1071 hexbin klaR lattice qualV som]; };
   tigerhitteR = derive2 { name="tigerhitteR"; version="1.1.0"; sha256="0inyi12lf8bn7nbklf2rjixk6wrgrjcp8njv7knai4dgvv7v0rfa"; depends=[Hmisc magrittr openxlsx zoo]; };
@@ -11556,13 +11869,12 @@ in with self; {
   tigger = derive2 { name="tigger"; version="0.2.11"; sha256="1kbqlfr3lsiiv0l7dzahna706zb4mx0gfx91220n2ckfc81pyrv5"; depends=[alakazam doParallel dplyr foreach ggplot2 iterators lazyeval tidyr]; };
   tightClust = derive2 { name="tightClust"; version="1.0"; sha256="0psyzk6d33qkql8v6hzkp8mfwb678r95vfycz2gh6fky7m5k3yyz"; depends=[]; };
   tigreBrowserWriter = derive2 { name="tigreBrowserWriter"; version="0.1.4"; sha256="0c733mb2fzskrfa4664w6psp80wdr5hc7f9rp516y59a8rr3xzr0"; depends=[DBI RSQLite]; };
-  tigris = derive2 { name="tigris"; version="0.6.2"; sha256="0m4zramm38111rzifh0lqyly2dgdfgg5y39sns2rp8x1n0b69bc2"; depends=[dplyr httr magrittr maptools rappdirs rgdal sf sp stringr uuid]; };
-  tikzDevice = derive2 { name="tikzDevice"; version="0.10-1.2"; sha256="1rwxmjwmjr1dssg9dx7rc6nz11225pz2ac9rhp8581slwzw79icl"; depends=[filehash png]; };
-  tileHMM = derive2 { name="tileHMM"; version="1.0-7"; sha256="1ks4b6h15982jh3ls9fz8hq9ac1wf5hfjsvdqcmnba8n3m5zm651"; depends=[corpcor st]; };
+  tigris = derive2 { name="tigris"; version="0.7"; sha256="0azfp8ahf63a10862669wsamf0270rcyrmknc331vjs52b3qlrvl"; depends=[dplyr httr magrittr maptools rappdirs rgdal sf sp stringr uuid]; };
+  tikzDevice = derive2 { name="tikzDevice"; version="0.11"; sha256="09qbwf7k2512q7yimabfr97birvspkn13hyybqsgqm1iiaiwwps3"; depends=[filehash png]; };
   tilegramsR = derive2 { name="tilegramsR"; version="0.2.0"; sha256="11cnyvlghg8z7lr9ahzsjpyjrqnxqs77wdcydqvavrsqj745xvi2"; depends=[sf sp]; };
   tilting = derive2 { name="tilting"; version="1.1.1"; sha256="0srvxjv3sg35n7f8pam45ny1z1dxwqjkrz9d91hf67a3fi34f5gk"; depends=[mvtnorm]; };
   time2event = derive2 { name="time2event"; version="0.1.0"; sha256="1xkvarw53lcn07wqq7ly5znr6vjq7x72xb0piq5igdmwqmg2y26g"; depends=[survival timereg]; };
-  timeDate = derive2 { name="timeDate"; version="3042.101"; sha256="0vcckaw1gqz3j4v69r9jn41vlmk5a5c7572xam1nl75ki5v4r3bc"; depends=[]; };
+  timeDate = derive2 { name="timeDate"; version="3043.102"; sha256="0wvl5pq261rvbgly7vilk3x3m9xk3ly6il1i5scwdf6srl1vlz1p"; depends=[]; };
   timeROC = derive2 { name="timeROC"; version="0.3"; sha256="0xl6gpb5ayppzp08wwry4i051rm40lzfx43jw2yn3jy2p3nrcakb"; depends=[mvtnorm pec]; };
   timeSeq = derive2 { name="timeSeq"; version="1.0.3"; sha256="1jdmcbghqmp9phfx7bii8nfqdc10f1nqmi1mk70n0fysm6cdvhn6"; depends=[gss lattice pheatmap reshape]; };
   timeSeries = derive2 { name="timeSeries"; version="3042.102"; sha256="185hmd70hida6i12mxbrccapkpwb6jhf6cmcfbz8bc3sv9h3q5gs"; depends=[timeDate]; };
@@ -11579,17 +11891,18 @@ in with self; {
   timetree = derive2 { name="timetree"; version="1.0"; sha256="1fpdp6mkwm67svqvkfflvqxn52y2041zl09rxrms28ybbd5f84c0"; depends=[phangorn XML]; };
   timevis = derive2 { name="timevis"; version="0.4"; sha256="08caa5gilh1c0z41lm3ghf6cpnlsdjfm1v7ha73jxv1655kznmpx"; depends=[htmltools htmlwidgets jsonlite magrittr rmarkdown shiny]; };
   timma = derive2 { name="timma"; version="1.2.1"; sha256="1pypk0pwkhyilh1hsn8hasia1hf6hbskj0xw6vas03k19b6fjnli"; depends=[QCA Rcpp RcppArmadillo reshape2]; };
-  timsac = derive2 { name="timsac"; version="1.3.5"; sha256="1p2fwizq95fhbw0jk23sy0qgkkkab0iy37sw71krpm0dzrgi6lj0"; depends=[]; };
+  timsac = derive2 { name="timsac"; version="1.3.6"; sha256="186919qka9j3kfpdw2gbh16n48d6xgz9lfqgk4b17f1d7l72iplg"; depends=[]; };
   tinsel = derive2 { name="tinsel"; version="0.0.1"; sha256="0n1x0cf4x6cq1yks0444nxd9snga4m6inc5lfvb7k96fzjb3xgbp"; depends=[]; };
-  tint = derive2 { name="tint"; version="0.0.5"; sha256="1283rik1ynnhy40lm1dipmwzihsy0pdn383k9m1yczl2fqf1qcfi"; depends=[htmltools knitr rmarkdown]; };
+  tint = derive2 { name="tint"; version="0.1.0"; sha256="1hczc2nrm8xgvw3igkfnlqyz73686l447kigsrd6m796v8ny1gbf"; depends=[htmltools knitr rmarkdown]; };
   tinyProject = derive2 { name="tinyProject"; version="0.5"; sha256="10sllhjcla4pfgp5n1y5vi318q9bcy82j88rx3k1sgzmbq1nc1c2"; depends=[brew devtools]; };
-  tinytex = derive2 { name="tinytex"; version="0.3"; sha256="0mhxlr4709mca9jshnah5i7yjyy6k12s933619p7p9c8nbqj39cn"; depends=[]; };
+  tinytex = derive2 { name="tinytex"; version="0.5"; sha256="1pg4jfyvandjwz3lmr38pbqi9d045iwkk3xklhsfhhxq6aviq9p7"; depends=[]; };
   tipom = derive2 { name="tipom"; version="1.0.2-1"; sha256="1gdfv0g5dw742j6ycmi0baqh6xcchp3yf2n1g8vn7jmqgz5mlhdr"; depends=[]; };
   tipr = derive2 { name="tipr"; version="0.1.1"; sha256="138xmkfad0xjrmr9v3ladbwsyknyad27wxcav03n6f72plhxmxb6"; depends=[broom purrr tibble]; };
   tis = derive2 { name="tis"; version="1.34"; sha256="01bpl8q2n49wpr2gghkcv1zf16b3375xa71mv0q7wwn0da3n7m0n"; depends=[]; };
   titan = derive2 { name="titan"; version="1.0-16"; sha256="0x30a877vj99z3fh3cw9762j5ci56964j2466xfbwcywhn9njz5r"; depends=[boot lattice MASS]; };
   titanic = derive2 { name="titanic"; version="0.1.0"; sha256="0mdmh0ciwfig00847bmvp50cyvj8pra6q4i4vdg7md19z5rjlx3j"; depends=[]; };
   titrationCurves = derive2 { name="titrationCurves"; version="0.1.0"; sha256="0z127sihd262mdik46sq9vcf05s7jsqmkpm3p4d779viw74bl768"; depends=[]; };
+  tkRplotR = derive2 { name="tkRplotR"; version="0.1.1"; sha256="0fr30c2xjgpjh0pkqv0m7g413wkzzffbak7ak26k7bsi2ls341qa"; depends=[]; };
   tkrgl = derive2 { name="tkrgl"; version="0.7"; sha256="1kpq5p6izqrn1zr53firis3rmifq9lf6326lf3z7l1p82nf2yps5"; depends=[rgl]; };
   tkrplot = derive2 { name="tkrplot"; version="0.0-23"; sha256="1cnyszn3rmr1kwvi5a178dr3074skdijfixf5ln8av5wwcy35947"; depends=[]; };
   tlemix = derive2 { name="tlemix"; version="0.1.3"; sha256="0c4mvdxlhbmyxj070xyipx4c27hwxlb3c5ps65ipm6gi8v8r6spj"; depends=[]; };
@@ -11603,15 +11916,15 @@ in with self; {
   tm_plugin_lexisnexis = derive2 { name="tm.plugin.lexisnexis"; version="1.3.1"; sha256="15k4bzx1p271yzskkijlf2pm6m7pb5dqxmfab9rhwynllszv96if"; depends=[ISOcodes NLP tm XML]; };
   tm_plugin_mail = derive2 { name="tm.plugin.mail"; version="0.1"; sha256="0ca2w2p5zv3qr4zi0cj3lfz36g6xkgkbck8pdxq5k65kqi5ndzyp"; depends=[NLP tm]; };
   tm_plugin_webmining = derive2 { name="tm.plugin.webmining"; version="1.3"; sha256="1694jidf01ilyk286q43bjchh1gg2fk33a2cwsf5jxv7jky3gl7h"; depends=[boilerpipeR NLP RCurl RJSONIO tm XML]; };
-  tmap = derive2 { name="tmap"; version="1.11-1"; sha256="0day8hy210a2v2ps9pqcv4mnlx39h7dcj47hkyjsm76qlcdccv3l"; depends=[classInt htmltools htmlwidgets leaflet mapview raster RColorBrewer rgdal rgeos sp spdep tmaptools]; };
-  tmaptools = derive2 { name="tmaptools"; version="1.2-3"; sha256="08m8dir5k7da72fp3hcsb055alwzpbxr2f9lxmhdbk991bmwacjr"; depends=[classInt dichromat geosphere KernSmooth magrittr osmar raster RColorBrewer rgdal rgeos rmapshaper sp spdep XML]; };
+  tmap = derive2 { name="tmap"; version="1.11-2"; sha256="1cinbsfhi8pngidxp3brmba1willknavlrpjzywm85wp7973y045"; depends=[classInt htmltools htmlwidgets leaflet mapview raster RColorBrewer rgdal rgeos sp spdep tmaptools]; };
+  tmaptools = derive2 { name="tmaptools"; version="1.2-4"; sha256="1dymngn3hrpky5v767lghijlbagmz57dqrkw57r0gy8a9k06bsx8"; depends=[classInt dichromat geosphere KernSmooth magrittr osmar raster RColorBrewer rgdal rgeos rmapshaper sp spdep XML]; };
   tmbstan = derive2 { name="tmbstan"; version="1.0.0"; sha256="01x1nw0mlbpsldrd6hx2g040d9slrhk7hm2pm1v7pci3vxgbpgy9"; depends=[BH Rcpp RcppEigen rstan StanHeaders TMB]; };
-  tmcn = derive2 { name="tmcn"; version="0.2-8"; sha256="0msgjz32yizl7kfy33mzxjgfj7q3pd0wdly0xzvcmkc254q41bq7"; depends=[]; };
+  tmcn = derive2 { name="tmcn"; version="0.2-12"; sha256="1gqmq3f0plgd44056905l5jd7x9k4ls06hcp006w8skxj1rnwzb9"; depends=[]; };
   tmg = derive2 { name="tmg"; version="0.3"; sha256="0yqavibinzsdh85izzsx8b3bb9l36vzkp5a3bdwdbh410s62j68a"; depends=[Rcpp RcppEigen]; };
-  tmle = derive2 { name="tmle"; version="1.3.0"; sha256="0krnf2mzxmcb105gsx1b0gpc009lv27s0brh6sa1sm87a76p6dqd"; depends=[SuperLearner]; };
+  tmle = derive2 { name="tmle"; version="1.3.0-1"; sha256="1y7fjj2492a70idnqwrlcdpz2bqphdxbaz96yjxnkfhx940y26b5"; depends=[SuperLearner]; };
   tmle_npvi = derive2 { name="tmle.npvi"; version="0.10.0"; sha256="00jav1ql3lv18wh9msxnjvz36z2ds44fdi6lrp1pfphh1in4vdcl"; depends=[geometry MASS Matrix R_methodsS3 R_oo R_utils]; };
   tmlenet = derive2 { name="tmlenet"; version="0.1.0"; sha256="1pg9w7yci9j0m1cxi0nwdpp6jwap0b7ql4xkh25kjbq3w5r8w8pr"; depends=[assertthat data_table Matrix R6 Rcpp simcausal speedglm stringr]; };
-  tmod = derive2 { name="tmod"; version="0.31"; sha256="1qqzngqnj4vk170ild34fpzsnpb1125zisf6xx5hp8q899z88q81"; depends=[beeswarm pca3d plotwidgets tagcloud XML]; };
+  tmod = derive2 { name="tmod"; version="0.36"; sha256="054kg3rwcmrn1y1x1ba8wflb6m76nmf69g4yj3x1vw0qjjs421nh"; depends=[beeswarm plotwidgets tagcloud XML]; };
   tmpm = derive2 { name="tmpm"; version="1.0.3"; sha256="1fqk39zyc07gh0ygi7pfljlnj6ih37jsb7bcxm05zcd4796wil8j"; depends=[reshape2]; };
   tmuxr = derive2 { name="tmuxr"; version="0.1.0"; sha256="0njd1wdk11bni0pinplyzywqlmswkq2xq7qid68v4s93q9069zn6"; depends=[magrittr purrr stringr]; };
   tmvnsim = derive2 { name="tmvnsim"; version="1.0-2"; sha256="03xsvsg9bqvgl98ywid3h91mmlhax5s6wvmypp3hq91vmc5kvxlp"; depends=[]; };
@@ -11621,7 +11934,7 @@ in with self; {
   toOrdinal = derive2 { name="toOrdinal"; version="1.0-0.0"; sha256="1y46rcm6v2c5n71hdf5rgsgvy913wiazmml60mlxqb70dvz42649"; depends=[crayon testthat]; };
   toaster = derive2 { name="toaster"; version="0.5.5"; sha256="0ga4l3zp422scrgvz701rjznn013vhsbp4gh7v1inqp7kpxafky9"; depends=[foreach GGally ggmap ggplot2 ggthemes memoise network plyr RColorBrewer reshape2 RODBC scales slam wordcloud]; };
   togglr = derive2 { name="togglr"; version="0.1.3"; sha256="033d4mcl2w7nbjmaa5bc28skd63x34k4k4ib94nf11iwdj7bipkw"; depends=[assertthat dplyr getPass glue httr jsonlite keyring lubridate magrittr prettyunits purrr rstudioapi]; };
-  tokenizers = derive2 { name="tokenizers"; version="0.1.4"; sha256="1qcsmcd74i39wql9p49g3pzc4flpi8jq9sxia5mcdx054viijgk9"; depends=[Rcpp SnowballC stringi]; };
+  tokenizers = derive2 { name="tokenizers"; version="0.2.1"; sha256="006xf1vdrmp9skhpss9ldhmk4cwqk512cjp1pxm2gxfybpf7qq98"; depends=[Rcpp SnowballC stringi]; };
   tolBasis = derive2 { name="tolBasis"; version="1.0"; sha256="0g4jdwklx92dffrz38kpm1sjzmvhdqzv6mj6hslsjii6sawiyibh"; depends=[lubridate polynom]; };
   tolerance = derive2 { name="tolerance"; version="1.3.0"; sha256="17qh4ad1f3fbcpwlxxqh8qr9bnwjcl4yxk0l3fkbr6b2l4rc5p86"; depends=[rgl]; };
   toolmaRk = derive2 { name="toolmaRk"; version="0.0.1"; sha256="0pdr8lq4c11ia03v68lbfq38p3qp770mbj0nsbjsgbqi0pv9i1vx"; depends=[dplyr ggplot2 plyr reshape2]; };
@@ -11635,6 +11948,7 @@ in with self; {
   tourr = derive2 { name="tourr"; version="0.5.5"; sha256="12293kp36kz056zd3fnsaf2gy4g8mcs79ws0vgbs7b0hx09sy9vp"; depends=[]; };
   tourrGui = derive2 { name="tourrGui"; version="0.4"; sha256="1g9928q3x9rrd9k3k84r201wss3vjd2pngvbaflk5dqh9yf75jpq"; depends=[Cairo colorspace gWidgets RGtk2 tourr]; };
   toxboot = derive2 { name="toxboot"; version="0.1.1"; sha256="0sw0mxhcq5k11swlhfpn6xk0nfsambh2yx1721zx75lya27wkmq1"; depends=[data_table tcpl]; };
+  toxplot = derive2 { name="toxplot"; version="0.1.1"; sha256="1g5q04ryn2dg675yp90x36z8iw3l5js50gpm4j2c17r88jb2fsl5"; depends=[dplyr ggplot2 ggthemes tcpl tidyr]; };
   toxtestD = derive2 { name="toxtestD"; version="2.0"; sha256="0b7hmpfhwg626r8il12shni0kw94cqnbj49y4vfh8gn98x1s6m48"; depends=[]; };
   tpAUC = derive2 { name="tpAUC"; version="2.1.1"; sha256="0wix9qwcidj7xfqhh7bmrpnadd9qlkvg3515gaamdxkjbz2kyydc"; depends=[pROC]; };
   tpe = derive2 { name="tpe"; version="1.0.1"; sha256="0zsa8vb4qmln3sb4lplv43lh50yys9vfd3rxfp6qxqqjxivd0xsh"; depends=[]; };
@@ -11644,13 +11958,15 @@ in with self; {
   track = derive2 { name="track"; version="1.1.9"; sha256="1d0hab7xyayyhyyrbv8nvpka1kzry4yx10fg8aqwkca3nm7n2q3c"; depends=[]; };
   trackdem = derive2 { name="trackdem"; version="0.3.1"; sha256="10qq9217mpd4abhkwsh4yjzpi06qpqa5rnwhxls6yzmymf9apngl"; depends=[MASS neuralnet png raster Rcpp RcppArmadillo SDMTools shiny]; };
   trackeR = derive2 { name="trackeR"; version="1.0.0"; sha256="0z200jlkgcdxwss0ckbh3vqcfw56fi7pivr9vzf4rkwyf2n6v25s"; depends=[fda ggmap ggplot2 gridExtra gtable jsonlite leaflet raster RSQLite scam XML zoo]; };
-  tractor_base = derive2 { name="tractor.base"; version="3.1.0"; sha256="0d3hkxqygyh02v63wny32zdxpsn6m6q8i1630zl1mhrbvq3kmqr5"; depends=[ore reportr]; };
+  trackr = derive2 { name="trackr"; version="0.7.5"; sha256="1achrnkqnpdjp2vr1s7xsl8fdfdyifgv5vr00b3xq9pkr4jggj6z"; depends=[CodeDepends fastdigest ggplot2 gridGraphics histry htmltools knitr lattice miniUI RJSONIO rmarkdown rsolr shiny]; };
+  tractor_base = derive2 { name="tractor.base"; version="3.2.2"; sha256="1pbh9hand7h68vxap2qis3a7zs5qkrj2wxk8flqyvhx50p98wigv"; depends=[ore reportr shades]; };
   traitr = derive2 { name="traitr"; version="0.14"; sha256="1pkc8wcq55229wkwb54hg9ndbhlxziv51n8880z6yq73zac1hbmf"; depends=[digest gWidgets proto]; };
   traits = derive2 { name="traits"; version="0.3.0"; sha256="155y8j69214xxi1bfk07k30zlpm3q6fmz7ydhnkvw0kv4l0i5pc5"; depends=[crul data_table hoardr httr jsonlite readr rvest taxize tibble xml2]; };
   traj = derive2 { name="traj"; version="1.2"; sha256="0mq6xdbxjqjivxyy7cwaghwmnmb5pccrah44nmalssc6qfrgys4n"; depends=[cluster GPArotation NbClust pastecs psych]; };
   trajectories = derive2 { name="trajectories"; version="0.1-4"; sha256="0vwfbx5s8ywasxwv8cld4s6r96vlyknxipp49rsfpqn94nawhwnx"; depends=[lattice sp spacetime]; };
   trajr = derive2 { name="trajr"; version="1.0.0"; sha256="1q17lgwgxn9j3ym1vikrnnyqf61ri3vl7jqq3f1fvy2280nac0s8"; depends=[plotrix signal]; };
-  tranSurv = derive2 { name="tranSurv"; version="1.1-4"; sha256="1vsp12x4h0s1lba1kf7n0v71kgm1dz6cjfp8lffm4ps80nahs63l"; depends=[rootSolve SQUAREM survival]; };
+  tram = derive2 { name="tram"; version="0.2-0"; sha256="02jbgp011qbinyjwdmj0nc2mpphmqlhm0dvvs7x2lfngrw1fw163"; depends=[basefun Formula mlt multcomp sandwich survival variables]; };
+  tranSurv = derive2 { name="tranSurv"; version="1.1-5"; sha256="0vn3cywb331kxz6sxidprfh0lmgsmwlnzbv80bfrnahhmhmss8rl"; depends=[rootSolve SQUAREM survival]; };
   transcribeR = derive2 { name="transcribeR"; version="0.0.0"; sha256="0y2kxg2da71i962fhsjxsr2ic3b31fmffhj3gg97b0nykfpcviib"; depends=[httr]; };
   translate = derive2 { name="translate"; version="0.1.2"; sha256="1w0xrg1xxwfdanlammmixf06hwq700ssbjlc3cfigl50p87dbc5x"; depends=[functional lisp RCurl RJSONIO]; };
   translateR = derive2 { name="translateR"; version="1.0"; sha256="11kh9hjpsj5rfmzybnh345n1gzb0pdksrjp04nzlv948yc0mg5gm"; depends=[httr RCurl RJSONIO textcat]; };
@@ -11658,20 +11974,21 @@ in with self; {
   translation_ko = derive2 { name="translation.ko"; version="0.0.1.5.2"; sha256="1w5xibg4znhd39f3i0vsqckp6iia43nblqxnzgj0ny6s7zmdq1wd"; depends=[]; };
   transport = derive2 { name="transport"; version="0.9-4"; sha256="0ham0cla4qwfd6fqyckpdl2n2gm3qnl7ry1xi9kjvbajlcc0xwi2"; depends=[Rcpp]; };
   trapezoid = derive2 { name="trapezoid"; version="2.0-0"; sha256="0f6rwmnn61bj97xxdgbydi94jizv1dbq0qycl60jb4dsxvif8l3n"; depends=[]; };
-  treatSens = derive2 { name="treatSens"; version="2.1.2"; sha256="0zqpx0lwx3vzbwi55n0517zs5vn4zlaf66js506vxnzf1dzx2h0a"; depends=[BH dbarts mvtnorm Rcpp RcppEigen rstan StanHeaders]; };
-  tree = derive2 { name="tree"; version="1.0-37"; sha256="091297qhvqhgjmnyr96jkwaghz8dkbf03rnhwfhks8bsgax6jl13"; depends=[]; };
+  treatSens = derive2 { name="treatSens"; version="2.1.3"; sha256="159dpd4wg0i4cidg40lad665sm3j4qch8d1y3k9chwggbhcad5jn"; depends=[BH dbarts lme4 mvtnorm nlme Rcpp RcppEigen]; };
+  tree = derive2 { name="tree"; version="1.0-39"; sha256="0q2dnl1hvyaw76lkfq0i9d92z68r29ssb3a9j8jknnzx896x055x"; depends=[]; };
+  tree_bins = derive2 { name="tree.bins"; version="0.1.0"; sha256="0cqpvh9cbnsk4qv886n2sc1v1s51z4m6aj0ydqzijvy6ckigbiij"; depends=[data_table dplyr rpart rpart_utils]; };
   treeClust = derive2 { name="treeClust"; version="1.1-6"; sha256="07cw8mnfrkw733ga3aq4am1pj50g8vk0rw6b3lflnb4wdhm2fgbi"; depends=[cluster rpart]; };
-  treeDA = derive2 { name="treeDA"; version="0.0.2"; sha256="0ldk7g0bfs8y0znivhj8db5si7glxawicc5zvapbf8d9djlaxxga"; depends=[ggplot2 gtable Matrix mvtnorm phyloseq reshape2 sparseLDA]; };
+  treeDA = derive2 { name="treeDA"; version="0.0.3"; sha256="1m9959jya872sdkmw8hcwnjqj7r5x4h0c29g4j2rnxklbspn27j9"; depends=[ggplot2 gtable Matrix mvtnorm phyloseq reshape2 sparseLDA]; };
   treebase = derive2 { name="treebase"; version="0.1.4"; sha256="1bx31jahb0wy2g8wl1z71vy659lfi8fq1sbbaxvyixzcwymix1wq"; depends=[ape httr RCurl XML]; };
   treeclim = derive2 { name="treeclim"; version="2.0.0"; sha256="0hiba5xc6rp5zzka31k5klmlllpgbnla4pm920zk12jxn796953l"; depends=[abind boot ggplot2 lmodel2 lmtest np plyr Rcpp RcppArmadillo]; };
   treecm = derive2 { name="treecm"; version="1.2.2"; sha256="0vrawg4vvy270dn20gb2k99xi4q89l4mjz0mm7ikpz8wxqypzq2l"; depends=[plyr]; };
   treelet = derive2 { name="treelet"; version="1.1"; sha256="0k3qhxjg7ws6jfhcvvv9jmy26v2wzi4ghnxnwpjm8nh7b90lbysd"; depends=[]; };
-  treeman = derive2 { name="treeman"; version="1.1.1"; sha256="0j76crs31qniibsdj7dpbbr2jdbhvclfvcscd5dgklvpcspbarch"; depends=[ape bigmemory plyr RJSONIO stringr]; };
+  treeman = derive2 { name="treeman"; version="1.1.2"; sha256="0imwg4wi85gjhbhpym5gs0my8kacx28l74m5xbfwqdi4gxpz3kkc"; depends=[ape bigmemory plyr RJSONIO stringr]; };
   treemap = derive2 { name="treemap"; version="2.4-2"; sha256="15bdgkdwryb55v82b3hpcx4ykfg5z7zf10h0wwknf6kl1kn34v90"; depends=[colorspace data_table ggplot2 gridBase igraph RColorBrewer shiny]; };
   treemapify = derive2 { name="treemapify"; version="2.4.0"; sha256="1cg8jwlls3r3kjlmmxcm9id2spsn5ggsjrw0826ih2khdlnjc0jy"; depends=[ggfittext ggplot2 plyr]; };
   treeperm = derive2 { name="treeperm"; version="1.6"; sha256="0mz7p9khrsq4dbkijymfvlwr01y4fvs0x6si4x5xid16s2zsnmm4"; depends=[]; };
   treeplyr = derive2 { name="treeplyr"; version="0.1.3"; sha256="00fkmmzivwy603grfbwdabsik1swkyba7sbwcjzxbgsmx3s472g6"; depends=[ape dplyr geiger lazyeval phytools Rcpp]; };
-  treespace = derive2 { name="treespace"; version="1.1.1"; sha256="112qic2wxvkcd533hs6bvzzbb7abpylgm9m2bqp1mirrngz3gxp8"; depends=[ade4 adegenet adegraphics adephylo ape combinat distory fields htmlwidgets MASS phangorn phytools Rcpp RLumShiny scatterD3 shiny shinyBS]; };
+  treespace = derive2 { name="treespace"; version="1.1.2"; sha256="0am3ssdxf8v98hffncrg1zdpgcr79gvvr6z2mara04r0rxk86kaw"; depends=[ade4 adegenet adegraphics adephylo ape combinat distory fields htmlwidgets MASS phangorn phytools Rcpp RLumShiny scatterD3 shiny shinyBS]; };
   treethresh = derive2 { name="treethresh"; version="0.1-11"; sha256="1fksyn9mycr6dpw1yh5b3fa7fk7ndz7q39174daplm55jbrz1dr5"; depends=[EbayesThresh wavethresh]; };
   trelliscope = derive2 { name="trelliscope"; version="0.9.8"; sha256="1581ss5c3f7mnv6s3p9f8kfwnks0l80kxwpxv9mq61w3lf9fksm2"; depends=[base64enc curl data_table datadr digest DistributionUtils ggplot2 hexbin htmltools htmlwidgets jpeg jsonlite lattice png rsconnect shiny]; };
   trelloR = derive2 { name="trelloR"; version="0.1.0"; sha256="0d549yw9pfxs8a3q716z08fzg68bkm5l09cv5iqqkm4gyasrxsf4"; depends=[dplyr httr jsonlite]; };
@@ -11698,10 +12015,10 @@ in with self; {
   truncSP = derive2 { name="truncSP"; version="1.2.2"; sha256="1hdi518j3sg9273g01l1jqlmqya3ppim82ma7zakwqpmsjmzw18q"; depends=[boot truncreg]; };
   truncdist = derive2 { name="truncdist"; version="1.0-2"; sha256="02ihw4ixhadwr3sqm6r264i8vpcaz8pn69vkzabd8fwqvn5vcj5q"; depends=[evd]; };
   truncgof = derive2 { name="truncgof"; version="0.6-0"; sha256="0b499i9zjwvva5jfl9fj02jjrgy8myxqfjwa0cjg0jrpgxczgwg8"; depends=[MASS]; };
-  truncnorm = derive2 { name="truncnorm"; version="1.0-7"; sha256="1qac05z50618y4bw1d7yznsli1bv82s0g8h37iacrjrdkv87bmy7"; depends=[]; };
+  truncnorm = derive2 { name="truncnorm"; version="1.0-8"; sha256="0zn88wdd58223kibk085rhsikl4yhlrwiyq109hzjg06hy6lwmj9"; depends=[]; };
   truncreg = derive2 { name="truncreg"; version="0.2-4"; sha256="1rmf1v2khsx82yzyyk51k7fbnbchf21lj9yqrays1z2mx3p1l1fc"; depends=[maxLik]; };
   trust = derive2 { name="trust"; version="0.1-7"; sha256="013gmiqb6frzsl6fsb5pqfdapwdxas0llg954hlcvgki9al5mlg3"; depends=[]; };
-  trustOptim = derive2 { name="trustOptim"; version="0.8.6.1"; sha256="07xkif11s3mdp4fmhl6zks6p2kdy4fdys2wpa8ibqpc6gd50vhvn"; depends=[Matrix Rcpp RcppEigen]; };
+  trustOptim = derive2 { name="trustOptim"; version="0.8.6.2"; sha256="1nsl8jd6cna52b5dd92jw3sh84jqpg7gazskn7166bcjbph19bf7"; depends=[Matrix Rcpp RcppEigen]; };
   tsBSS = derive2 { name="tsBSS"; version="0.4"; sha256="0mli9y63bp7n21wzz5gga8i0c8f3db6cdcc5jp4zm529svilzkxm"; depends=[forecast ICtest JADE Rcpp RcppArmadillo]; };
   tsDyn = derive2 { name="tsDyn"; version="0.9-46"; sha256="1cq36qxpimiwlzjnnjqj5rjb3l1h684day4kch99vza1v62h1lkv"; depends=[foreach forecast MASS Matrix mgcv mnormt nnet tseries tseriesChaos urca vars]; };
   tsModel = derive2 { name="tsModel"; version="0.6"; sha256="0mkmhzj4g38ngzfcfx0zsiqpxs2qpw82kgmm1b8gl671s4rz00zs"; depends=[]; };
@@ -11715,21 +12032,22 @@ in with self; {
   tsdecomp = derive2 { name="tsdecomp"; version="0.2"; sha256="1wy37gjp49dr60s4zhwv19iv3mzr1fjz5yilqmqgy78j5d45ns15"; depends=[]; };
   tsdf = derive2 { name="tsdf"; version="1.1-4"; sha256="0kjcfh7vrnyg2aqzr5kkzdccriy2h5x1byzhdhvyb68fi4fjf4dh"; depends=[gsDesign]; };
   tsdisagg2 = derive2 { name="tsdisagg2"; version="0.1.0"; sha256="1vjypf9d4rdprpgxfsgpccn412kvar59v341ridq2hcdp7hfb70s"; depends=[]; };
-  tsensembler = derive2 { name="tsensembler"; version="0.0.2"; sha256="0yhm6vayh1yjrvki04f86xvxmrl9pcj92z0gzwyh0j1cqp48sh79"; depends=[Cubist earth gbm glmnet kernlab nnet pls ranger RcppRoll xts zoo]; };
-  tseries = derive2 { name="tseries"; version="0.10-43"; sha256="1yjxhj7l1p2przczl6frggfcr5iwda9lbcsmh0y75gbbbps14yf2"; depends=[quadprog quantmod zoo]; };
+  tsensembler = derive2 { name="tsensembler"; version="0.0.4"; sha256="0n5mh951799yd00sbxz0ia2s086kc12rk9xmkdyjvqj8d83vh1ff"; depends=[Cubist earth forecast gbm glmnet kernlab nnet opera pls ranger RcppRoll softImpute xts zoo]; };
+  tseries = derive2 { name="tseries"; version="0.10-44"; sha256="0nz6v76hsxcprpgf84al5r0p08sr9qacqal4adndz9wmg604l4ag"; depends=[quadprog quantmod zoo]; };
   tseriesChaos = derive2 { name="tseriesChaos"; version="0.1-13"; sha256="0f2hycxyvcaj3s1lmva1qy46xr6qi43k8fvnm4md5qj8jp2zkazg"; depends=[deSolve]; };
   tseriesEntropy = derive2 { name="tseriesEntropy"; version="0.6-0"; sha256="04clfkpkiy5p5nxcq59c7f4v1llj1d95lvck23h1px50lvb993fv"; depends=[cubature ks]; };
   tsfa = derive2 { name="tsfa"; version="2014.10-1"; sha256="0gkgl55v08dr288nf8r769f96qri7qbi5src7y6azrykb37nz6iz"; depends=[dse EvalEst GPArotation setRNG tfplot tframe]; };
+  tsfknn = derive2 { name="tsfknn"; version="0.1.0"; sha256="0gzij2fbgwavpsqmr7cp012lhii23fav4nsrbc2w9qingglcnqd1"; depends=[ggplot2]; };
   tsgui = derive2 { name="tsgui"; version="0.0.3"; sha256="16cx68gq2f63wx7mhbv0aq6pr71wfbc035kjbjjsfrbagaq4ib13"; depends=[RandomFieldsUtils tcltk2 tkrplot]; };
   tsiR = derive2 { name="tsiR"; version="0.3.0"; sha256="1brlwsbs4rac8z6cf1q3xm1apdi4ban5hj7p3qvz2yx810gbxp1d"; depends=[ggplot2 kernlab reshape2]; };
-  tsibble = derive2 { name="tsibble"; version="0.1.2"; sha256="17khhah6vpb4ld3yvvbczx9vkdnilazgdifh0ldnbdw5131bsr34"; depends=[dplyr lubridate pillar purrr Rcpp rlang tibble tidyr tidyselect]; };
+  tsibble = derive2 { name="tsibble"; version="0.1.5"; sha256="054vdbgndi3zr1jizjyasp33l5ifbkfcj1gs8h4bk8vvkp96nqdv"; depends=[dplyr lubridate pillar purrr Rcpp rlang tibble tidyr tidyselect]; };
   tsintermittent = derive2 { name="tsintermittent"; version="1.9"; sha256="1mrb6yrsjwj6j40n97sgg42ddvwhjnaiq9k7ka249bbq01gf2975"; depends=[MAPA]; };
   tsna = derive2 { name="tsna"; version="0.2.0"; sha256="09q01jzj1rnv2f2jf7djnq5xrkp7lvykdbf4bfswsy0f95j0asx2"; depends=[network networkDynamic statnet_common]; };
   tsne = derive2 { name="tsne"; version="0.1-3"; sha256="0s8cv2pndkddq62rzlgzgfdjp1vjv5hz5i5957sllnb97vbzbzb6"; depends=[]; };
   tsoutliers = derive2 { name="tsoutliers"; version="0.6-6"; sha256="0q4lkqasnsps8lzpiyk074nfhv29sbma080729c8l3ba1sa9pmyn"; depends=[forecast KFKSDS stsm]; };
   tspmeta = derive2 { name="tspmeta"; version="1.2"; sha256="028jbbd0pwpbjq4r6jcc1h0p7c4djcb9d2mvgzw1rmpphaxjvrkd"; depends=[BBmisc checkmate fpc ggplot2 MASS splancs stringr TSP vegan]; };
   tsqn = derive2 { name="tsqn"; version="1.0.0"; sha256="1iv1wwa6a9824dbgfk5a609szppc3a8j250z74hb8csjvwwx9qq9"; depends=[fracdiff MASS robustbase]; };
-  tstools = derive2 { name="tstools"; version="0.3.5.1"; sha256="11n56jd4hap8bl8dicdy1zvf916jc66nkg9v2i31n6n42v5dw699"; depends=[data_table jsonlite xts zoo]; };
+  tstools = derive2 { name="tstools"; version="0.3.6"; sha256="0hk98czp6ban95jw7x9bv53n44z6wlkb9gc341x5pfjhslfqccal"; depends=[data_table jsonlite xts zoo]; };
   tswge = derive2 { name="tswge"; version="1.0.0"; sha256="0wj0kyb1dcwfn8wjp7skgcflc48cr4va0i0jg8x970658if7z6fz"; depends=[astsa MASS PolynomF signal waveslim]; };
   tsxtreme = derive2 { name="tsxtreme"; version="0.3.1"; sha256="0cfska93ws5x11pslcdhf5rrshxzh6ddlgmfkl9zlci2rqdbwz35"; depends=[evd MASS mvtnorm]; };
   ttScreening = derive2 { name="ttScreening"; version="1.5"; sha256="0qn8lkvgvqpmm368fwpqkm09yaj9mw42mjlikyiwpv2wrgbpmg9n"; depends=[corpcor limma MASS matrixStats sva]; };
@@ -11738,7 +12056,7 @@ in with self; {
   tttplot = derive2 { name="tttplot"; version="1.1.1"; sha256="0rmgp1888y07w0h8kwq1azpr6bysjq4pyjf6ygpra75jj4563wx9"; depends=[]; };
   ttutils = derive2 { name="ttutils"; version="1.0-1"; sha256="18mk30070mcplybg320vjbk9v5flxnbqi5gx0yyr1z6ymjmnrxbc"; depends=[]; };
   ttwa = derive2 { name="ttwa"; version="0.8.5.1"; sha256="1lhypcwssq0dspizvln3w4dg16ad6mz8cj4w34c5vsrayqid7fyn"; depends=[data_table]; };
-  tuber = derive2 { name="tuber"; version="0.9.4"; sha256="0fa4mpvm4mlscnhfbgrj6zxfjf26scv08nihnfi0k3f67jiwdlg5"; depends=[httr plyr]; };
+  tuber = derive2 { name="tuber"; version="0.9.5"; sha256="0519qsgs8cnhd5qx5amh8rz6qa7fhryf5i9wjr38zrlrzvksqblh"; depends=[dplyr httr plyr purrr]; };
   tubern = derive2 { name="tubern"; version="0.1.0"; sha256="0wpn4aig6r1kpncrgrqra4kr0f07rdq7z4p2k0h28f7kww6l52vv"; depends=[httr jsonlite]; };
   tuckerR_mmgg = derive2 { name="tuckerR.mmgg"; version="1.5.0"; sha256="0pxsnvzh5gy5dsdsqsmq8hkr597dnnv60b5dw7bqw493lavk2ccm"; depends=[]; };
   tufte = derive2 { name="tufte"; version="0.3"; sha256="1fpv9ilf8ajynz38ny0abfnq20xzpgwbxaxj8ijwy8viki893bd0"; depends=[htmltools knitr rmarkdown xfun]; };
@@ -11747,6 +12065,7 @@ in with self; {
   tumblR = derive2 { name="tumblR"; version="1.1"; sha256="0gl6q6rff9bp21gvi3bz8kmwbhimxqrv1mmzwshl1ys9r7d4dvps"; depends=[httr RCurl RJSONIO stringr]; };
   tumgr = derive2 { name="tumgr"; version="0.0.4"; sha256="1ylfmrsg177g75l2scjpgw6v4dpz62r7cy89pql9zd5zqy167xqj"; depends=[minpack_lm]; };
   tuneR = derive2 { name="tuneR"; version="1.3.2"; sha256="1xk66rrahfvvbjzpx2mkbmlmyj0l3vidd8kz24f72wh56gbdgbsa"; depends=[signal]; };
+  tuneRanger = derive2 { name="tuneRanger"; version="0.1"; sha256="1mjq64phnphx10mrllcdy1rgm44ar8zr3ba5c4f9fpz4a5kjm7i1"; depends=[BBmisc DiceKriging lhs lubridate mlr mlrMBO ParamHelpers ranger smoof]; };
   tuple = derive2 { name="tuple"; version="0.4-02"; sha256="0fm8fsdfiwknjpc20ivi5m5b19r9scdxhzij70l8qi3ixw1f0rnk"; depends=[]; };
   turboEM = derive2 { name="turboEM"; version="2014.8-1"; sha256="0g9nm1m542hslz8272n5qz6h59criyf71l2w218dvq34bcjcd3yy"; depends=[doParallel foreach iterators numDeriv quantreg]; };
   turfR = derive2 { name="turfR"; version="0.8-7"; sha256="007jmkppfv1x4zzvvd65fhg5k15ybjhsya2zfjgwm77wm34y81ca"; depends=[dplyr]; };
@@ -11768,15 +12087,15 @@ in with self; {
   twostageTE = derive2 { name="twostageTE"; version="1.3"; sha256="0mkxs3lmzja51zdrf5himhwcdygpj6czhdd2bydakm26kvw7znwr"; depends=[isotone]; };
   txtplot = derive2 { name="txtplot"; version="1.0-3"; sha256="1949ab1bzvysdb79g8x1gaknj0ih3d6g63pv9512h5m5l3a6c31h"; depends=[]; };
   types = derive2 { name="types"; version="1.0.0"; sha256="01shcin8wjbhbmzl979fj3008xqxssw90g3bjg42cnjxkmnaql59"; depends=[]; };
-  uGMAR = derive2 { name="uGMAR"; version="1.0.2"; sha256="09k3g0rnaf7gkczgak8biajnql5fjv32dv59y0ncd8zvv0d9i77q"; depends=[Brobdingnag]; };
+  uGMAR = derive2 { name="uGMAR"; version="2.0.1"; sha256="038sy4blyz4dxqklk9g9r4glz0gvip84r6mb1ry4l7yh5nbii1dh"; depends=[Brobdingnag]; };
   uHMM = derive2 { name="uHMM"; version="1.0"; sha256="1516ipadxi7rc1dbinr5rva2fbcr5i2zg3rlli5wy7r6naf8fzzl"; depends=[chron class cluster clValid corrplot FactoMineR HMM tcltk2 tkrplot]; };
   uaparserjs = derive2 { name="uaparserjs"; version="0.1.0"; sha256="1zhz39jrvi64sj0wvwkm4y8gakfp6kz1knw4wn08kk4fa9ymyjvq"; depends=[dplyr purrr V8]; };
   uavRmp = derive2 { name="uavRmp"; version="0.5.3"; sha256="05annx1vzpssxf5ycrgk2dizgl83zbwvl2x3bj8r5d8w5lvlpwrb"; depends=[brew data_table devtools gdalUtils geosphere htmltools htmlwidgets log4r maptools raster rgdal rgeos roxygen2 sf sp spatial_tools stringr zoo]; };
   ubeR = derive2 { name="ubeR"; version="0.1.4"; sha256="1ilclna04hd1ykcp2b3gcj0v4qznwx0d24yavxnf2yh5d91wr6z2"; depends=[dplyr ggmap ggplot2 ggthemes googleway httpuv httr jsonlite]; };
   ucbthesis = derive2 { name="ucbthesis"; version="1.0"; sha256="0l855if3a7862lxlnkbx52qa617mby634sbb2gkprj21rwd7lcbp"; depends=[knitr stringr]; };
   ucminf = derive2 { name="ucminf"; version="1.1-4"; sha256="01vggwg1w71k98qs6fhb0x1843vi322mf4g3hbclks94kcpkisx2"; depends=[]; };
-  udapi = derive2 { name="udapi"; version="0.1.0"; sha256="0hwnrx9qkazja288m6irmwwybiys9npk6sk60acjdczsfrn1hvl0"; depends=[curl httr]; };
-  udpipe = derive2 { name="udpipe"; version="0.4"; sha256="00n4779g7idc29m7j32plqc4cnhrhhh28zmhd3lp74sxzfhi2vkb"; depends=[data_table Matrix Rcpp]; };
+  udapi = derive2 { name="udapi"; version="0.1.1"; sha256="0mhkf1s7pv8d5hbianzcpc3jxps2i6y955n6bplikcz1l1pnb9ib"; depends=[curl httr]; };
+  udpipe = derive2 { name="udpipe"; version="0.5"; sha256="0vbnfqbjpc27lazf96dwfp3rz0857hlbpld4hqhxkb2sqmrd17c1"; depends=[data_table Matrix Rcpp]; };
   udunits2 = derive2 { name="udunits2"; version="0.13"; sha256="0yav7rm2afcx67xqrknybxgz7x63w78zyxa0xifvc0k2gz0d6mfi"; depends=[]; };
   uiucthemes = derive2 { name="uiucthemes"; version="0.2.0"; sha256="1z1wx89b2d7z1a2zc4ai05v9slfpidja8f561jcsrcdi9hz2yp81"; depends=[rmarkdown]; };
   ukbabynames = derive2 { name="ukbabynames"; version="0.1.1"; sha256="0vrwcf3hixd40ag6kb289anq2ys2k6vdhhsrjbizvndkyn8sr0r0"; depends=[]; };
@@ -11784,10 +12103,11 @@ in with self; {
   ukds = derive2 { name="ukds"; version="0.1.0"; sha256="00lgr9jy57bwa8p38mqcf4fk29g2w2wqk3pwf9av6f5lapzzgc94"; depends=[magrittr rio RSelenium stringr]; };
   ukgasapi = derive2 { name="ukgasapi"; version="0.13"; sha256="0bnblha96ldbxj0nqhcj26d1dk2xm6nkjqqval1jlc2pki20mr9n"; depends=[RCurl XML]; };
   ump = derive2 { name="ump"; version="0.5-8"; sha256="1sg226caq9y41cwl7wr5s9z3bpq2j5p6rj6fy2pasbzimgzw0byx"; depends=[]; };
-  umx = derive2 { name="umx"; version="2.0.2"; sha256="1665h1yjs28zfpy7ziy0qnv8chm5nb5fcca1jj0cfbsspzndm24p"; depends=[cowplot DiagrammeR ggplot2 knitr MASS Matrix mvtnorm nlme numDeriv OpenMx polycor R2HTML RCurl sfsmisc xtable]; };
+  umx = derive2 { name="umx"; version="2.4.0"; sha256="1i5sa6kwj57spjm1smz9835i92vs70hsq0yl7m1s0i0f3k18k3fx"; depends=[cowplot DiagrammeR ggplot2 knitr MASS Matrix mvtnorm nlme numDeriv OpenMx polycor R2HTML RCurl sfsmisc xtable]; };
   unbalanced = derive2 { name="unbalanced"; version="2.0"; sha256="18hy9nnq42s1viij0a5i9wzrrfmmbf7y3yzjzymz2wnrx4f2pqwv"; depends=[doParallel FNN foreach mlr RANN]; };
   unbalhaar = derive2 { name="unbalhaar"; version="2.0"; sha256="0v6bkin1cakwl9lmv49s0jnccl9d6vdslbi1a7kfvmr5dgy760hs"; depends=[]; };
-  uncmbb = derive2 { name="uncmbb"; version="0.1.0"; sha256="0gkd475k4qbnfn3cgh8w4fq4g3i2fn3dlb8n89ih3xdk5ac4ns73"; depends=[]; };
+  uncmbb = derive2 { name="uncmbb"; version="0.2.0"; sha256="0cvbh7a81g52hd2qzp23jwwjd5406iszf4wilgrz8sjfrfgybgfm"; depends=[dplyr rlang]; };
+  understandBPMN = derive2 { name="understandBPMN"; version="1.0.0"; sha256="1rps8915r5chnagyqlr4m3jw9hfc3lgwkfnqpxfmxxl7k1dv3mnh"; depends=[dplyr purrr Rcpp tibble tidyr XML]; };
   unfoldr = derive2 { name="unfoldr"; version="0.6.1"; sha256="1s1sy4x808w7nvc5kmskv7ksi2xcnfbb26qn0wkinbqma9aicqm2"; depends=[]; };
   ungeneanno = derive2 { name="ungeneanno"; version="0.1.6"; sha256="0fm47vmzn4z73pn37p94r84lbkg5amk0sl78304ibwz0rhlda0y5"; depends=[httr XML]; };
   uniCox = derive2 { name="uniCox"; version="1.0"; sha256="1glgk6k8gwxk3haqaswd2gmr7a2hgwjkwk2i1qc5ya7gg8svyavv"; depends=[survival]; };
@@ -11808,12 +12128,12 @@ in with self; {
   unrepx = derive2 { name="unrepx"; version="1.0"; sha256="1dzvwpza60y9p7kz1f0bm20wid5jyxx9pma4w41az9shq5kkr0aj"; depends=[]; };
   unrtf = derive2 { name="unrtf"; version="1.2"; sha256="11q2p6cnf1pqsh8sys45gb4xf713bh693lm59d8nw09kcbm23210"; depends=[sys]; };
   unsystation = derive2 { name="unsystation"; version="0.1.1"; sha256="0w5llr2kyv7g5fx5yvlyqwj4da5k5fq1f2y70c9pjdzrny9lpz4q"; depends=[doParallel foreach iterators Rcpp RcppArmadillo]; };
-  untb = derive2 { name="untb"; version="1.7-2"; sha256="1ha0xj94sz1r325qb4sb5hla9hw1gbqr76703vk792x9696skhji"; depends=[Brobdingnag partitions polynom]; };
+  untb = derive2 { name="untb"; version="1.7-3"; sha256="1324gn42qxw4cf3jg9vd8nwxiw4w4fg6p2xhzmn636q5wlziln5c"; depends=[Brobdingnag partitions polynom]; };
   unvotes = derive2 { name="unvotes"; version="0.2.0"; sha256="0wanvivwm1nmqadq2vapg27kasnjnr0a4np2kw54wj9pg21izqic"; depends=[]; };
   upclass = derive2 { name="upclass"; version="2.0"; sha256="0jkxn6jgglw6pzzbcvi1pnq4hwfach3xbi13zwml4i83s3n5b0vg"; depends=[mclust]; };
   uplift = derive2 { name="uplift"; version="0.3.5"; sha256="11xikfmg6dg8mhwqq6wq9j9aw4ljh84vywpm9v0fk8r5a1wyy2f6"; depends=[coin MASS penalized RItools tables]; };
   upmfit = derive2 { name="upmfit"; version="0.1.0"; sha256="0f0rk606v17abgw3mwlwihl6fsxprp44h2xbhv1675i18i36vbgx"; depends=[mcmcplots R2jags]; };
-  uptasticsearch = derive2 { name="uptasticsearch"; version="0.1.0"; sha256="0kr9lmfp5fa3rcmk0s56pgr4h2pabic17m9yv2sljg7cvx50iss6"; depends=[data_table futile_logger httr jsonlite purrr stringr uuid]; };
+  uptasticsearch = derive2 { name="uptasticsearch"; version="0.2.0"; sha256="09vc26vpghc5lwlchmn7h8khy7s0jhcb8lqd1asr5l178kfpv3w8"; depends=[data_table futile_logger httr jsonlite purrr stringr uuid]; };
   uptimeRobot = derive2 { name="uptimeRobot"; version="1.0.0"; sha256="1sbr0vs6jqcyxjbs7q45bsfdnp3bc59phw0h3fwajqq1cxjgzdww"; depends=[plyr RCurl rjson]; };
   upwaver = derive2 { name="upwaver"; version="1.0.1"; sha256="0pl5r1rh91s8i74zrsrblp6mjn371a2lp01f5d37d1vnjxc3dn9n"; depends=[assertthat httr rjson XLConnect]; };
   uqr = derive2 { name="uqr"; version="1.0.0"; sha256="0f7isjfb5almp1zypxzw3lfkygkcixmg0xdsw0zznf61r6qhbqyr"; depends=[gtools Hmisc]; };
@@ -11825,7 +12145,8 @@ in with self; {
   usedist = derive2 { name="usedist"; version="0.1.0"; sha256="17mldp0888ig2xc8cp1nhldj5g3srwmbx3mfcnzz21n1fz31jkmg"; depends=[]; };
   useful = derive2 { name="useful"; version="1.2.3"; sha256="016fwnjrnq44m71jmiy8cpzncja77pii2ag2ir85jdk4fzgckn7l"; depends=[dplyr ggplot2 magrittr Matrix plyr purrr scales]; };
   userfriendlyscience = derive2 { name="userfriendlyscience"; version="0.7.0"; sha256="14wdy74mj9rzlpmrsy3b4fda5f2sx078w1k1lgahz0yra3bypl3k"; depends=[BiasedUrn car data_tree DiagrammeR digest diptest fBasics GGally ggplot2 ggrepel ggridges GPArotation gridExtra gtable knitr lavaan lme4 MASS MBESS minpack_lm pander plyr psych pwr RColorBrewer rio scales SCRT SuppDists viridis XML xtable]; };
-  usethis = derive2 { name="usethis"; version="1.2.0"; sha256="0y8nw2kcwnygkwxbdshf9czlf6064fs4h54hvr3j1nbv4a479i68"; depends=[backports clipr clisymbols crayon curl desc gh git2r httr rematch2 rmarkdown rprojroot rstudioapi styler whisker]; };
+  usethis = derive2 { name="usethis"; version="1.3.0"; sha256="0r61pf8qisjvrshm6jpcb76ck1v79s7lg9zwdgad4fasyyrzrcx2"; depends=[backports clipr clisymbols crayon curl desc gh git2r httr rematch2 rmarkdown rprojroot rstudioapi styler whisker]; };
+  usfertilizer = derive2 { name="usfertilizer"; version="0.1.5"; sha256="05zjn39hqjjzzp4v4b1zbqq59205s7k0kikms951h57kbyvjz6vk"; depends=[tidyverse]; };
   uskewFactors = derive2 { name="uskewFactors"; version="2.0"; sha256="0ndi5987ak8sa7krgiglsibfg0k7z9j8fg47hg1m8ar0sq4r1yj6"; depends=[MASS MCMCpack mvtnorm tmvtnorm]; };
   usl = derive2 { name="usl"; version="1.8.0"; sha256="04w7p9i08a51smgg11kh4hablic5rjmr5hndrnlg49j5h20i7w1v"; depends=[nlsr]; };
   usmap = derive2 { name="usmap"; version="0.2.1"; sha256="0ilg8fzrxpljdly8xkniirqa3lw74kfark75pv071aa4l6xkiwlg"; depends=[]; };
@@ -11834,19 +12155,19 @@ in with self; {
   utf8latex = derive2 { name="utf8latex"; version="1.0.4"; sha256="12isrl056h7y7nr7wk52dnvf3frcp66qqy7si869ark2aj81f959"; depends=[]; };
   utility = derive2 { name="utility"; version="1.4.2"; sha256="0q08yc0sxbcjhsr0nkgc2pyxkd93zwlbf0jyq21cf535mj4036gq"; depends=[]; };
   utilsIPEA = derive2 { name="utilsIPEA"; version="0.0.5"; sha256="1kllm94c23pb176nazcfgsv38aawbzdwqdhyxx1c1n1jlsls2zk6"; depends=[data_table dplyr RCurl stringdist stringr]; };
-  utiml = derive2 { name="utiml"; version="0.1.3"; sha256="08r2qfvxlz50jzvhl0k9pvzf9xs8jm838bv9ncg59ir1b3ijbkk5"; depends=[mldr]; };
+  utiml = derive2 { name="utiml"; version="0.1.4"; sha256="1z93a7ldgkab6hsa9a0hzyhxsbac45sgqn7fy2jh615d2kw7pqr1"; depends=[mldr]; };
   uuid = derive2 { name="uuid"; version="0.1-2"; sha256="1gmisd630fc8ybg845hbg13wmm3pk3npaamrh5wqbc1nqd6p0wfx"; depends=[]; };
-  uwIntroStats = derive2 { name="uwIntroStats"; version="0.0.4"; sha256="1kkmi2dqd2f4jryrkf9br4m6p7qxknlg62xyw28nirs4a12h52w8"; depends=[Exact geepack plyr sandwich survival]; };
+  uwIntroStats = derive2 { name="uwIntroStats"; version="0.0.5"; sha256="0zsbznvhnxihpxbkw3z4mywc66qx9qfxa0bz6748h19c885hjw01"; depends=[Exact geepack plyr sandwich survival]; };
   vaersNDvax = derive2 { name="vaersNDvax"; version="1.0.4"; sha256="0hvw7vbxs87c9xkdv3617fkjwz2dbawscbd7dgaixhdhcr3k823a"; depends=[]; };
   vaersvax = derive2 { name="vaersvax"; version="1.0.4"; sha256="15znkwbhr624qgwlcrdhaxpdfl85ym845mr2sy8b016d3ngz7n94"; depends=[]; };
   vagalumeR = derive2 { name="vagalumeR"; version="0.1.1"; sha256="1l1p63yhwqvkh8kgqii9n96vdm86jfc64nrinjp5l7jhx99sn013"; depends=[httr jsonlite plyr stringr]; };
   valaddin = derive2 { name="valaddin"; version="0.1.2"; sha256="0j1c3g9gn2j0manz3jjh58cnl7b1rfwm9494xqrfqpia8948p9vq"; depends=[lazyeval purrr]; };
   valection = derive2 { name="valection"; version="1.0.0"; sha256="0104zcg3cw57ksgmb321hnyv095mn3frxci9vikj1smwarpnrpzc"; depends=[testthat]; };
   validann = derive2 { name="validann"; version="1.2.1"; sha256="00c0hkjiv8n7mksx6sknb4xkkivxr1ml31k697csv4imwrk09dy5"; depends=[moments]; };
-  validate = derive2 { name="validate"; version="0.2.0"; sha256="178paxywwiaa45pqhknpw2k6f08b35nlnhwvqv2d1d289fz4f6qh"; depends=[settings yaml]; };
+  validate = derive2 { name="validate"; version="0.2.4"; sha256="0dg6jkc3g42fj0dx1m868v7p7jmxfdgihal9jmzphysyl36z8fp7"; depends=[settings yaml]; };
   validateRS = derive2 { name="validateRS"; version="1.0.0"; sha256="1ivw9ddr6z2wrsqvhbn87p5pikhkxlz8p45pb5nq13dvs359vkww"; depends=[data_table reshape2 triangle truncnorm]; };
   validatejsonr = derive2 { name="validatejsonr"; version="1.0.4"; sha256="1n8jf7j3hvz47z1x3gqz5yj5wxfjzz0zgzkgckdvy1nbsqf7w3cr"; depends=[Rcpp]; };
-  validatetools = derive2 { name="validatetools"; version="0.4.1"; sha256="1ivwgva37j26csvp4w3w7d10yq6myqdg6gcgxrl9z8j3gldnzv7p"; depends=[lpSolveAPI validate]; };
+  validatetools = derive2 { name="validatetools"; version="0.4.3"; sha256="1v6mmk3iq5nzzjkkj1spiqfmqq2133xg2qyy3y8h4pwwfynp4v7c"; depends=[lpSolveAPI validate]; };
   valorate = derive2 { name="valorate"; version="1.0-1"; sha256="06vczszpkipsxfs7h6ld33vvxb5ci62rwg3cglwy3lcfifhbnsfi"; depends=[survival]; };
   valottery = derive2 { name="valottery"; version="0.0.1"; sha256="0rlv8agm9ng4jcb9ixqifh7kjczvkx7047brq8yf9kg7rb8mzgpz"; depends=[]; };
   valr = derive2 { name="valr"; version="0.4.0"; sha256="1km828lif5nh15fxc3kbk3xp14gmsd6f3n0g5ml9zbdimh9n990z"; depends=[BH bindrcpp broom dplyr ggplot2 plogr Rcpp readr rlang stringr tibble]; };
@@ -11859,7 +12180,7 @@ in with self; {
   vardiag = derive2 { name="vardiag"; version="0.2-1"; sha256="07i0wv84sw035bpjil3cfw69fdgbcf2j8wq4k22narkrz83iyi2z"; depends=[]; };
   vardpoor = derive2 { name="vardpoor"; version="0.9.11"; sha256="0ij45lq3dgvxm2nf6n8amd4si7giajnwlzq0lia568zfisdw4k0l"; depends=[data_table foreach gdata laeken MASS plyr stringr surveyplanning]; };
   varhandle = derive2 { name="varhandle"; version="2.0.2"; sha256="1lbhwkkp9dyfhby6s4q3b6wy13wfqdjw3q21kq6k08rz7lsi0wny"; depends=[]; };
-  variables = derive2 { name="variables"; version="0.0-30"; sha256="182c8c7cwkmrpk01bki94y6f3wgf2zdjvvcfa4paa6bfq8w9ckh3"; depends=[]; };
+  variables = derive2 { name="variables"; version="1.0-0"; sha256="0i1nmrbps1snyzdwlki7sfxf2vpqghd9ap8pmy235d5r399jmpkb"; depends=[]; };
   varian = derive2 { name="varian"; version="0.2.2"; sha256="0jyw46qx2w19h02mrwv3w3n8qc1n4b3ckm38qly1y4a4w9ib6c2i"; depends=[Formula ggplot2 gridExtra MASS rstan]; };
   variosig = derive2 { name="variosig"; version="0.1"; sha256="191d4f52z686s8xbx7aw9c3qjp77iri43l52n8nxjgfjl877x5m4"; depends=[geoR gstat sp]; };
   vars = derive2 { name="vars"; version="1.5-2"; sha256="1q45z5b07ww4nafrvjl48z0w1zpck3cd8fssgwgh4pw84id3dyjh"; depends=[lmtest MASS sandwich strucchange urca]; };
@@ -11867,7 +12188,7 @@ in with self; {
   vbsr = derive2 { name="vbsr"; version="0.0.5"; sha256="1avskbxxyinjjdga4rnghcfvd4sypv4m39ysfaij5avvmi89bx3b"; depends=[]; };
   vcd = derive2 { name="vcd"; version="1.4-4"; sha256="1lp99h0wvsc61l1dgcqjxdrcgpgw88ak430cdsv43kmm43qssqd5"; depends=[colorspace lmtest MASS]; };
   vcdExtra = derive2 { name="vcdExtra"; version="0.7-1"; sha256="163x9hhvhgdmrqbcig7b120lk63svy0y652scbrcb11f85zrgb0c"; depends=[ca gnm MASS vcd]; };
-  vcfR = derive2 { name="vcfR"; version="1.7.0"; sha256="1vx4s5z8h8mk8gqra2a5mkapz5xv1im76klq8qkpvj6ic4wcwsxs"; depends=[ape dplyr magrittr memuse pinfsc50 Rcpp stringr tibble tidyr vegan viridisLite]; };
+  vcfR = derive2 { name="vcfR"; version="1.8.0"; sha256="1684lamsivwaqzvmwzhrrziwczkaqn3mhbdr86zbjdhr1jcgkz2z"; depends=[ape dplyr magrittr memuse pinfsc50 Rcpp stringr tibble vegan viridisLite]; };
   vcov = derive2 { name="vcov"; version="0.0.1"; sha256="1w89mr8dk6436bxap28rszajgm9k7sjfqsr1i4p68dlhw8zk4yq1"; depends=[]; };
   vcrpart = derive2 { name="vcrpart"; version="1.0-2"; sha256="1xfvsxgyf39d2qxnm40nzkqp7q12y8nbpn9h154n876zxxfs7gh1"; depends=[formula_tools nlme numDeriv partykit rpart sandwich strucchange ucminf zoo]; };
   vdg = derive2 { name="vdg"; version="1.2.0"; sha256="1hi5d14nh9q784sbdk018awrawh9f1aix0wl26x7n0xb4707rcmy"; depends=[ggplot2 gridExtra proxy quantreg]; };
@@ -11877,18 +12198,18 @@ in with self; {
   veccompare = derive2 { name="veccompare"; version="0.1.0"; sha256="03nyyxvhhwfxxg5w6qflk7q234ipbhj9fd4abcp50sxz3diabch1"; depends=[corrplot gtools pander purrr qgraph reshape2 VennDiagram]; };
   vecsets = derive2 { name="vecsets"; version="1.2.1"; sha256="086af6swjpbkd140yvb76affy5gn4p9xm41m3akm8axc3qk0hybg"; depends=[]; };
   vegalite = derive2 { name="vegalite"; version="0.6.1"; sha256="0dlzhvrg3nj6knyycdgg3d1vzq3dn9vxb34fjin9hzilszqmarbk"; depends=[base64 clipr digest htmltools htmlwidgets jsonlite magrittr webshot]; };
-  vegan = derive2 { name="vegan"; version="2.4-6"; sha256="175mqr42mmxy98gpf3rky8alnkw3w1k90ggdw3cispl36841p76w"; depends=[cluster lattice MASS mgcv permute]; };
+  vegan = derive2 { name="vegan"; version="2.5-1"; sha256="0pynr02d1xngda6c3va8fc4nxpgfkawhzcnz1ws4dnarp9b1w90r"; depends=[cluster lattice MASS mgcv permute]; };
   vegan3d = derive2 { name="vegan3d"; version="1.1-1"; sha256="1jd9m2immkhgb1zr39gsgl746y7qpi5fhj8awmqq5lyr5j6jp6jh"; depends=[cluster rgl scatterplot3d vegan]; };
   vegclust = derive2 { name="vegclust"; version="1.7.1"; sha256="1k1dcw424s19f8ngsksvdmsayahl1hkxd9v2irf8ljpp688l8idi"; depends=[Rcpp sp vegan]; };
   vegdata = derive2 { name="vegdata"; version="0.9.1"; sha256="0w4dk7qcl89w04qgnlna5lk5hxnyrvwmgjjxmnvb6r5dspq7qyad"; depends=[foreign httr jsonlite XML]; };
   vegetarian = derive2 { name="vegetarian"; version="1.2"; sha256="15ys1m8p3067dfsjwz6ds837n6rqd19my23yj8vw78xli3qmn445"; depends=[]; };
   vegtable = derive2 { name="vegtable"; version="0.1.1"; sha256="0vpkfagkvwkij4kn4zxxiddbnw1qxv6dajjlis4byl766606xi1v"; depends=[foreign plotKML qdapRegex sp taxlist vegdata]; };
-  vein = derive2 { name="vein"; version="0.2.3"; sha256="0sidixipn8kc2i3n9qlgk76rqvxriz1z1ms2pmicv0qnj1a5pwgp"; depends=[raster rgdal rgeos sp units]; };
+  vein = derive2 { name="vein"; version="0.3.9"; sha256="1h5j7fa0c7q1p3fj3pr98f4y1dc4n2r6gm0a8rddv4m8nf2cjgq7"; depends=[data_table sf sp units]; };
   velociraptr = derive2 { name="velociraptr"; version="1.0"; sha256="1n7q08i37qbbh5cjq6jb4gmpzzip3wx2wx8xx5wpkln8n3nyiqki"; depends=[RCurl rgdal]; };
   velox = derive2 { name="velox"; version="0.2.0"; sha256="1jrarfsfflvpc0dqh5gnw92fk8zic222n7pr7hd0lhr5d389k6d0"; depends=[BH raster Rcpp rgdal rgeos sf sp]; };
   vembedr = derive2 { name="vembedr"; version="0.1.3"; sha256="0zg6j0g9l7j36ifwabhxrin5z0dics66bqkc7x6rqijmizk1xpba"; depends=[htmltools httr magrittr stringr]; };
   venn = derive2 { name="venn"; version="1.5"; sha256="0mb8864kmn98184q007jnn7cydh02sx8bh1mhsskycmi70c8w8ai"; depends=[]; };
-  vennLasso = derive2 { name="vennLasso"; version="0.1.1"; sha256="1xlf60xjvk0xq96mgzkj65q21mjk2k274xkcwsfmgir9xfdq60rd"; depends=[foreach igraph MASS Matrix Rcpp RcppEigen RcppNumerical survival VennDiagram visNetwork]; };
+  vennLasso = derive2 { name="vennLasso"; version="0.1.2"; sha256="1lma34msdl8ik0375bh4adbfgvcy0crv29gpsk7p6x75464jsp9y"; depends=[foreach igraph MASS Matrix Rcpp RcppEigen RcppNumerical survival VennDiagram visNetwork]; };
   venneuler = derive2 { name="venneuler"; version="1.1-0"; sha256="10fviqv9vr7zkmqm6iy2l9bjxglf2ljb7sx423vi4s9vffcxjp17"; depends=[rJava]; };
   vennplot = derive2 { name="vennplot"; version="1.0"; sha256="0x59awa1zsjwk5qb1jzv6d2mn2fm4aq1lq8zlbnf1da0h4837yab"; depends=[Rcpp rgl stringr]; };
   verification = derive2 { name="verification"; version="1.42"; sha256="0pdqvg7cm9gam49lhc2xy42w788hh2zd06apydc95q2gj95xnaiw"; depends=[boot CircStats dtw fields MASS]; };
@@ -11896,7 +12217,7 @@ in with self; {
   vertexenum = derive2 { name="vertexenum"; version="1.0.1"; sha256="060sfa22m35d1hqxqngxhy7bwjihf6b4sqa1kg5r0cqvdw9zg51d"; depends=[numbers]; };
   vesselr = derive2 { name="vesselr"; version="0.2.1"; sha256="1wzprnpiv04gxhqgki36gp1a0xj9l3mchllphwkfsdja4axq3prk"; depends=[oro_nifti pbapply pbmcapply]; };
   vetools = derive2 { name="vetools"; version="1.3-28"; sha256="1470xgqdq9n5kj86gdfds15k3vqidk3h99zi3g76hhyfl8gyl1c0"; depends=[lubridate maptools plyr scales sp stringr tis xts]; };
-  vetr = derive2 { name="vetr"; version="0.2.2"; sha256="1nnaciddgla2r2910w3z5rpkjsyf61chidq3spnyq17qyhi98b96"; depends=[]; };
+  vetr = derive2 { name="vetr"; version="0.2.4"; sha256="16v31qkbn6nbng00465z6990n2hwzrv5i4m3ifv3ysfq28jnd28a"; depends=[]; };
   vfcp = derive2 { name="vfcp"; version="1.4.0"; sha256="0zj1ihqdx5x1695al1xyi8k001yw8x7gdss72myxlnh7b4flnp9m"; depends=[copula extraDistr stringr]; };
   vhica = derive2 { name="vhica"; version="0.2.4"; sha256="0km49lrzn9rm3wxadwxc290dvx3bsblbmna7f9lnkq6g1z5jdqwg"; depends=[]; };
   vietnamcode = derive2 { name="vietnamcode"; version="0.1.1"; sha256="0vc0c1fg30afar2dkch5h27b8jbglcd9ja6d5hcypnibqz4c68vz"; depends=[]; };
@@ -11905,20 +12226,21 @@ in with self; {
   vioplot = derive2 { name="vioplot"; version="0.2"; sha256="16wkb26kv6qr34hv5zgqmgq6zzgysg9i78pvy2c097lr60v087v0"; depends=[sm]; };
   viopoints = derive2 { name="viopoints"; version="0.2-1"; sha256="0cpbkkzm1rxch8gnvlmmzy8g521f5ang3nhlcnin419gha0w6avf"; depends=[]; };
   vipor = derive2 { name="vipor"; version="0.4.5"; sha256="112gc0d7f8iavgf56pnzfxb7hy75yhd0zlyjzshdcfbnqcd2a6bx"; depends=[]; };
-  viridis = derive2 { name="viridis"; version="0.5.0"; sha256="1ka6amybgzqkg3cbwfxwwqzzzpfn6q5jcia5am0bw48y5hbpg97y"; depends=[ggplot2 gridExtra viridisLite]; };
+  viridis = derive2 { name="viridis"; version="0.5.1"; sha256="060rf1jn29dq53y3nhb0hykvcap6rqsk04rq544ypiiqb18ngwnx"; depends=[ggplot2 gridExtra viridisLite]; };
   viridisLite = derive2 { name="viridisLite"; version="0.3.0"; sha256="1by2l05f0yabwvv64lhnv7bbhx0w683s3wr9j2xda920ghpa23kq"; depends=[]; };
   virtualspecies = derive2 { name="virtualspecies"; version="1.4-2"; sha256="19qw8vqf08x6fgm8w159qabpgr2wv2cxishpj6888ihcaa9ykp8f"; depends=[ade4 dismo raster rworldmap]; };
   virustotal = derive2 { name="virustotal"; version="0.2.1"; sha256="0lky75al8zcvmfgx7a2s3bij8ya4avdsnv046lk7564zfd8rbymw"; depends=[httr plyr]; };
   visNetwork = derive2 { name="visNetwork"; version="2.0.3"; sha256="0bs6war8m6vnzyhmzfmry5sfc5v1crq8i8r8nn70shf19k7pabmw"; depends=[htmltools htmlwidgets jsonlite magrittr]; };
   visdat = derive2 { name="visdat"; version="0.1.0"; sha256="1r009jlg3wwg06j5066c09567q24986c74f0cd68kcbmihaxngbx"; depends=[dplyr ggplot2 magrittr purrr tidyr]; };
-  visreg = derive2 { name="visreg"; version="2.4-1"; sha256="1lkp668ni5p7k0vzcr75p1bsc1pyg0j0sghagdjb11abinmfzsm1"; depends=[lattice]; };
-  vistime = derive2 { name="vistime"; version="0.4.0"; sha256="0fahih28q7lyywnm4mri9macdx4c5b3c5djmg557f7dxlyhhjw0l"; depends=[plotly RColorBrewer]; };
+  visreg = derive2 { name="visreg"; version="2.5-0"; sha256="0n19k6rsmpqga6r8lyhjviqs3nw881dhr211621m2cl7knqhhi4y"; depends=[lattice]; };
+  vistime = derive2 { name="vistime"; version="0.5.0"; sha256="1h7dm66m0qx3hmfx1hlv5na65swdhdykyg1fsqzgnjl6p98cg81j"; depends=[plotly RColorBrewer]; };
   visualFields = derive2 { name="visualFields"; version="0.4.3"; sha256="0ws3cz71hhhrf4xkdb644li04d31wf51xb2sq789bl2lf50q6a1a"; depends=[flip gridBase Hmisc matrixStats]; };
   visualize = derive2 { name="visualize"; version="4.3.0"; sha256="1s49sx828f25d4n93mn28xdbc81zflk2sr3h8ffs2mkjr888qd8y"; depends=[]; };
   visvow = derive2 { name="visvow"; version="0.1.0"; sha256="0nb849m6dqfanqlaqcargw0rlf4ch9v09zmf0zqmxkwcil0w0dka"; depends=[Cairo DT ggplot2 plot3D plyr pracma psych Rdpack readxl shiny shinyBS svglite WriteXLS]; };
   vita = derive2 { name="vita"; version="1.0.0"; sha256="114p2lzcr8rn68f0z4kmjdnragqlmi18axda9ma4sbqh8mrmjs9v"; depends=[randomForest Rcpp]; };
   vitality = derive2 { name="vitality"; version="1.2"; sha256="0vjbf39i7qm3857gyidg2j5hfimpydav1sx2d07n12b8q1cs8k4p"; depends=[]; };
   vkR = derive2 { name="vkR"; version="0.1"; sha256="0rb66am3y009wli8ykl58i02kzm6cdqz5v5d4vvzlbngz8crdkyy"; depends=[httr jsonlite XML]; };
+  vlad = derive2 { name="vlad"; version="0.1.0"; sha256="0gdp9488ir6zsnwaf0zb1n4qivafccqky7i867vjc2zb9nnji6a9"; depends=[Rcpp RcppArmadillo]; };
   vmd = derive2 { name="vmd"; version="0.1.0"; sha256="17c06a9l6i90ivpvf3rgv6yrsqv36qmywmmy92y5b81zqhgmh907"; depends=[ggplot2 magrittr R6 Rcpp reshape2 scales]; };
   vmsbase = derive2 { name="vmsbase"; version="2.1.3"; sha256="1y4r1f6miwxx3q8pajyh202wvjz08w6291jvpv723qyxa6z1r69a"; depends=[AMORE cairoDevice chron cluster DBI ecodist fields foreign ggmap ggplot2 gmt gsubfn gWidgets gWidgetsRGtk2 intervals mapdata maps maptools marmap outliers PBSmapping plotrix R6 RSQLite sp sqldf VennDiagram]; };
   vocaldia = derive2 { name="vocaldia"; version="0.8.2"; sha256="15314sq2gbi1z47ppvy8y3ljjk12jq4k5a1dfyi56h2lpzrc76ny"; depends=[]; };
@@ -11926,8 +12248,9 @@ in with self; {
   vortexRdata = derive2 { name="vortexRdata"; version="1.0.3"; sha256="1pq910xaqk6d5amg8hj7xagb5wn2ahfrmqairf3vhwqx55lhjbg1"; depends=[]; };
   vote = derive2 { name="vote"; version="1.1-0"; sha256="1kxbv4062g4x9vn4gh74c6zwdshysw5n7vx9qljhq2wrdnqzjpyg"; depends=[formattable knitr]; };
   voteogram = derive2 { name="voteogram"; version="0.2.0"; sha256="0m4j7iz7mc6z536vk0kmqfd8ank87ingv5vnjl7mn62r53c5fbsf"; depends=[dplyr ggplot2 jsonlite scales]; };
+  votesys = derive2 { name="votesys"; version="0.1.0"; sha256="1y86411khvn8yz0q75ky9ic7n8a11jckmpamj56h9cl5yh1rbm9w"; depends=[data_table]; };
   vottrans = derive2 { name="vottrans"; version="1.0"; sha256="1fp7jrw072ws39bqsg88bm2qndcv68aa2vdqwgnza58p1dfq3x9f"; depends=[quadprog]; };
-  vowels = derive2 { name="vowels"; version="1.2-1"; sha256="0177xysb5y8jzpxn9wdygq2f74gys67g29cd12zw77vlq3c3kkbr"; depends=[]; };
+  vowels = derive2 { name="vowels"; version="1.2-2"; sha256="0xhfn3avx9h6kg3jwd47n2x7w8q8c9h13wsxd74hhbbn2gkjrs84"; depends=[]; };
   vows = derive2 { name="vows"; version="0.5"; sha256="06akjdbab9v7r47di7syvcm7gf4k81djizg8maszs5l1ksyhmv6b"; depends=[fda gamm4 mgcv oro_nifti RLRsim shape stringr]; };
   voxel = derive2 { name="voxel"; version="1.3.2"; sha256="0sixcan3v5nczmrrxn56rw5dqjq8xx7z3cp18j23jq26mvq4nm34"; depends=[gamm4 ggplot2 lmerTest mgcv oro_nifti]; };
   vpc = derive2 { name="vpc"; version="1.0.1"; sha256="0zxiakls7wi0278f6v74xdcaw500am8gfs8lp7cciaxnw2clvsbv"; depends=[classInt dplyr ggplot2 MASS readr reshape2 survival]; };
@@ -11936,7 +12259,8 @@ in with self; {
   vrmlgen = derive2 { name="vrmlgen"; version="1.4.9"; sha256="0lifhhf41yml4k83wpkssl14jgn8jaw1lcknwbci1sd8s1c4478l"; depends=[]; };
   vrtest = derive2 { name="vrtest"; version="0.97"; sha256="00hdgb0r18nwv3qay97b09kqqw9xqsbya06rrjyddqh9r6ggx1y0"; depends=[]; };
   vscc = derive2 { name="vscc"; version="0.2"; sha256="1p14v8vd8kckd44g4dvzh51gdkd8jvsc4bkd2i4csx8vjiwrni5w"; depends=[mclust teigen]; };
-  vtreat = derive2 { name="vtreat"; version="1.0.2"; sha256="17w1iy0bypdyaci6yjfbqhdwvnbacn9kpb1i28k3664c96qm8gs7"; depends=[]; };
+  vstsr = derive2 { name="vstsr"; version="1.0.0"; sha256="0flsw5yw1vmj5x866klxmjqz5aimkvjiwl1zdciz63p9zffmb4gz"; depends=[httr jsonlite magrittr R6 RCurl xml2]; };
+  vtreat = derive2 { name="vtreat"; version="1.0.3"; sha256="04kicd7jxvcnvd0n9ssxv3jsi075wass30l3jg0ikdr3kc899vfs"; depends=[]; };
   vudc = derive2 { name="vudc"; version="1.1"; sha256="0zxz6n3ixa3xjzcinky8ymqjx9w8y8z65mz8d84dl00mxzkmkz4h"; depends=[]; };
   vwr = derive2 { name="vwr"; version="0.3.0"; sha256="1h790vjcdfngs1siwldvqz8jrxpkajl3266lzadfnmchfan1x7xv"; depends=[lattice latticeExtra stringdist]; };
   wBoot = derive2 { name="wBoot"; version="1.0.3"; sha256="08qgkkv6jvqmxq5gvfp7jbrc3k8mxajfww7k8a3p8888aq411p7q"; depends=[boot simpleboot]; };
@@ -11944,7 +12268,7 @@ in with self; {
   wNNSel = derive2 { name="wNNSel"; version="0.1"; sha256="19j2yz6lvkxpmjr0vv6pjc7j1c02y0hb3gay5sy1y0xk706aggb5"; depends=[]; };
   wPerm = derive2 { name="wPerm"; version="1.0.1"; sha256="0f3v0kba87wkwyii0pzvs6a8ja897aifpvwkvryl2hzxxxaml7z4"; depends=[]; };
   wSVM = derive2 { name="wSVM"; version="0.1-7"; sha256="0c7rblzgagwfb8mmddkc0nd0f9rv6kapw8znpwapv3fv0j2qzq7h"; depends=[MASS quadprog]; };
-  wTO = derive2 { name="wTO"; version="1.4.2"; sha256="05mbf6dpl9p1b583kl9gfjqh8xlzdkyagdalhkh6jahcmg9f1fcy"; depends=[data_table igraph magrittr plyr reshape2 som visNetwork]; };
+  wTO = derive2 { name="wTO"; version="1.5"; sha256="0zz89r60fq47gdd08p29xxsx22097ynz1zrc4zmkv5z99wsmsssp"; depends=[data_table igraph magrittr plyr reshape2 som visNetwork]; };
   waccR = derive2 { name="waccR"; version="0.1.0"; sha256="092p1bibyqx1gcrch68l9ilzilg5aqf46b6iagm562292cfi074l"; depends=[dplyr lubridate magrittr rvest tibble xml2]; };
   waffect = derive2 { name="waffect"; version="1.2"; sha256="0r5dvm0ggyxyv81hxdr1an658wkqkhqq2xaqzqpnh4sh4wbak35a"; depends=[Rcpp]; };
   waffle = derive2 { name="waffle"; version="0.7.0"; sha256="1qjmai33p96cyavi9lgi6k30h6fj7db5sr569v9jf4kwx92c61df"; depends=[extrafont ggplot2 gridExtra gtable RColorBrewer]; };
@@ -11958,7 +12282,7 @@ in with self; {
   walmartAPI = derive2 { name="walmartAPI"; version="0.1.5"; sha256="1nng8izncj2nmmpywn1ggpzvjh8q7y3q6260qhy9kbmvrrl26spf"; depends=[dplyr glue httr magrittr purrr stringr tibble]; };
   walrus = derive2 { name="walrus"; version="1.0.1"; sha256="032s2k122z5cqkcjvh9gva4vvmj5prn6z3rs8j5y16d98kgambpy"; depends=[ggplot2 jmvcore R6 WRS2]; };
   wand = derive2 { name="wand"; version="0.2.0"; sha256="1p2r96nyr36jv418xi4j2ldarymb4xmpis6d2iz7mq9755kb4fnh"; depends=[dplyr purrr rappdirs Rcpp stringi tibble tidyr]; };
-  warbleR = derive2 { name="warbleR"; version="1.1.10"; sha256="0xwzrl08zvq4r280adz50rvr304i391l0g8m90dd5cdwxmfn071x"; depends=[bitops doParallel dtw fftw foreach iterators jpeg maps monitoR NatureSounds pbapply pbmcapply proxy RCurl rjson seewave signal tuneR]; };
+  warbleR = derive2 { name="warbleR"; version="1.1.12"; sha256="1fb1pni00gphhwxzq75y5lbjqpyapc5vpqbbi2vq841dpn2jkcwm"; depends=[bitops doParallel dtw fftw foreach iterators jpeg maps monitoR NatureSounds pbapply pbmcapply pracma proxy RCurl rjson seewave signal Sim_DiffProc tuneR]; };
   warpMix = derive2 { name="warpMix"; version="0.1.0"; sha256="13zbl4aifhg7j5b3vpwgzgs09hr7yblz0rckmj5qh40s78j8cpfn"; depends=[fda fields lme4 MASS nlme reshape2]; };
   washdata = derive2 { name="washdata"; version="0.1.2"; sha256="01cnlhymh3qg9c7fda8s6lvm4j2vklmb72dfk17sn4p0kkikf9m8"; depends=[]; };
   wasim = derive2 { name="wasim"; version="1.1.2"; sha256="1zydzw7cihhdwv0474fnc4lgaq5fwrv8jinz79vkbidbgcy7i2fd"; depends=[fast MASS qualV tiger]; };
@@ -11966,7 +12290,7 @@ in with self; {
   waterData = derive2 { name="waterData"; version="1.0.8"; sha256="0884agh876wf3qlbc75fbaa47x2iwvncz7r2l25qw34n8lxq1yr6"; depends=[dataRetrieval lattice latticeExtra lubridate xml2]; };
   waterfall = derive2 { name="waterfall"; version="1.0.2"; sha256="0jy6l9mx0dixwnkychdl18sf4xh73pm0qd1jyxp9rlnv1vcragjp"; depends=[lattice]; };
   waterfalls = derive2 { name="waterfalls"; version="0.1.2"; sha256="01gby1mlhrwcalizpywxcakkx2zifswb0188nrl6z9dkkd1866lm"; depends=[ggplot2]; };
-  waveband = derive2 { name="waveband"; version="4.6"; sha256="1y2qi2zb8l2ap6f8ihnpq2yavic464bl5mp5yv1dscbk0nmfn966"; depends=[wavethresh]; };
+  waveband = derive2 { name="waveband"; version="4.7"; sha256="0b57g7jwvqgqjzd7x1pd4nqpx22rmiskvf8wjwrgplqzx4daxny2"; depends=[wavethresh]; };
   waved = derive2 { name="waved"; version="1.1-2"; sha256="17pr9qhz0dbbcr78vwm964d9zd7yrfrqvadr1lwf756bsrscmlg3"; depends=[]; };
   wavefunction = derive2 { name="wavefunction"; version="1.0.0"; sha256="1g0g9i0s93lcpcx7icqn15bvkmd79slkgimspvvwp2bxdsc5nnf2"; depends=[]; };
   wavelets = derive2 { name="wavelets"; version="0.3-0"; sha256="141s7z7wxl5plxp7xp7wczswlcvb18a4h3n881l9qc4ny9p7gfpa"; depends=[]; };
@@ -11976,14 +12300,15 @@ in with self; {
   wavethresh = derive2 { name="wavethresh"; version="4.6.8"; sha256="1nz74bm7pgck1i9c28svxnic8wkwkm5dhc8bhrxiih5wxb36kcwk"; depends=[MASS]; };
   wbs = derive2 { name="wbs"; version="1.3"; sha256="1fdf3dj23n63nfnzafq88sxqvi15cbrzsvc8wrljw1raq5z012yv"; depends=[]; };
   wbstats = derive2 { name="wbstats"; version="0.2"; sha256="0rfc9c6892jq7y17dwp6vsn62ggnac964xndmxq3mip6k2pk8yi0"; depends=[httr jsonlite tidyr]; };
+  wbsts = derive2 { name="wbsts"; version="2.0"; sha256="12k68nsrrxglrm9ik53rm8160xvjlsgzi7v4wp78jhmh2slmyxw3"; depends=[mvtnorm Rcpp wmtsa]; };
   wdman = derive2 { name="wdman"; version="0.2.2"; sha256="1a6zav82w0krk0ncm5b79ahy2hc0xakg9i1m2143ih5p6zvcm5m0"; depends=[assertthat binman semver subprocess yaml]; };
   weathermetrics = derive2 { name="weathermetrics"; version="1.2.2"; sha256="1hjhgsy3v8328hv4czxxz7kp68sxc10sy10f3dv5j8f6pka6qlsp"; depends=[]; };
   weatherr = derive2 { name="weatherr"; version="0.1.2"; sha256="11sb5bmqccqkvlabsw4siy9n6ivsrvxavywvaffgrs3blmnygql9"; depends=[ggmap lubridate RJSONIO XML]; };
   webTRISr = derive2 { name="webTRISr"; version="0.1.0"; sha256="19xal5zg9mg25vzvkz55zm6gkd8b0y3sw3zbbrxn73a1jg8x5v0l"; depends=[dplyr httr jsonlite lubridate magrittr purrr readr stringr]; };
-  webchem = derive2 { name="webchem"; version="0.3.0"; sha256="11ryyniqcf6pa5avc5qks0hpksmapk3564bjva86626vml0mixby"; depends=[httr jsonlite RCurl rvest stringr xml2]; };
-  webdriver = derive2 { name="webdriver"; version="1.0.4"; sha256="0k031f26iihk2dxypqvfi60bhpj78yhwvhbmxqv7yrpa8s6j5flm"; depends=[base64enc callr curl debugme httr jsonlite R6 showimage]; };
+  webchem = derive2 { name="webchem"; version="0.4.0"; sha256="032bsfnkn7s33y42fyf8yradsh8jhms4ryjkh0r76hqnx3j00ph0"; depends=[httr jsonlite RCurl rvest stringr xml2]; };
+  webdriver = derive2 { name="webdriver"; version="1.0.5"; sha256="0l3nz7gf62jlkvkn5sfxfvn0prxz3ds7nlpfb1yhnmdljhbzrgzf"; depends=[base64enc callr curl debugme httr jsonlite R6 showimage withr]; };
   webglobe = derive2 { name="webglobe"; version="1.0.2"; sha256="1277d6fkgrgixlhikfwf0r6z8g5b7mah905xi219qsfycxmifgn9"; depends=[geojsonio httpuv jsonlite]; };
-  webmockr = derive2 { name="webmockr"; version="0.1.0"; sha256="0jfjn0y62rrwx88vhx4xfgsf36f147b3yzwvpyshxwvxn9khza5i"; depends=[curl jsonlite lazyeval magrittr R6 urltools]; };
+  webmockr = derive2 { name="webmockr"; version="0.2.0"; sha256="1zzfam380gy1d3k909ixbk61gmmv0w1x17qz8avrrnjlvqbp9gmn"; depends=[crul curl fauxpas jsonlite lazyeval magrittr R6 urltools]; };
   webp = derive2 { name="webp"; version="0.4"; sha256="0jsyjynrsrqpbg93rn48xrjclkvwmz2c2lhcfli5djny122ymh6r"; depends=[]; };
   webreadr = derive2 { name="webreadr"; version="0.4.0"; sha256="0l3l5g4zj5faxqi1kqwx9lq91gbj40z2q3csrsmpal08qnwkxs90"; depends=[Rcpp readr]; };
   websearchr = derive2 { name="websearchr"; version="0.0.2"; sha256="1yf8ch86khg5syppcxs94mxgc3i5623qyhzh174nssw1wzyqb9ba"; depends=[]; };
@@ -11999,23 +12324,25 @@ in with self; {
   weights = derive2 { name="weights"; version="0.85"; sha256="0nsvgx2yn2ynrkqvvy3fxjsi6aw8w3zknm80fyjrih2zmxc7v61f"; depends=[gdata Hmisc mice]; };
   weirs = derive2 { name="weirs"; version="0.25"; sha256="17a0ppi7ghikrwn39zvhg2cvhmnr3w0qi7r9lj22x65ii9nzadd7"; depends=[]; };
   welchADF = derive2 { name="welchADF"; version="0.2"; sha256="1gyii50khjd1pamv3v19ajx6b2vw2aspbzmqiqrqmvcl46nha24y"; depends=[lme4]; };
-  wellknown = derive2 { name="wellknown"; version="0.1.0"; sha256="0cin4xi1780hglmcfyjiynvh1lm90yryl1m6z1snpprfzsxx3mmg"; depends=[jsonlite magrittr]; };
+  wellknown = derive2 { name="wellknown"; version="0.5.0"; sha256="1y3hi5ajqaxx3s40cx24ayfcd3c6d1ydlhsm0gg2fxgmidm6bhwy"; depends=[jsonlite V8]; };
   wesanderson = derive2 { name="wesanderson"; version="0.3.2"; sha256="17acf9ydi2sw7q887ni9ly12mdmip66ix6gdkh68rncj8sx3csrd"; depends=[]; };
   wfe = derive2 { name="wfe"; version="1.6"; sha256="0y8f042hzlqwgsr63rl2apl7hkw9bs69a287dynvz9w078am61ch"; depends=[arm MASS Matrix]; };
   wfg = derive2 { name="wfg"; version="0.1"; sha256="1r6wb8v42mpapjfhmkmghm9fq21c3s4zmdxy8nlh31nsja71c37d"; depends=[igraph]; };
   wfindr = derive2 { name="wfindr"; version="0.1.0"; sha256="0m5xj50hqdjj4lpbgx1kp3my4njr0nz09hd63rf4qf1ls8r7zil9"; depends=[dplyr magrittr]; };
   wgaim = derive2 { name="wgaim"; version="1.4-11"; sha256="1jjyp100dcjjczp61xlvhmy48ynniqcys535vzbgswhr7fvijymg"; depends=[lattice qtl]; };
-  wgeesel = derive2 { name="wgeesel"; version="1.4"; sha256="0d49j24jmk6n7fzzdvhc9fxi8yb1shghf7fc7jvm3cahhjffxay2"; depends=[bindata geepack MASS PoisNor]; };
+  wgeesel = derive2 { name="wgeesel"; version="1.5"; sha256="0lybvsq5168cjybzv2dbyx2z8aakcx7i7ivm8zc90haiispm9n5x"; depends=[bindata CRTgeeDR geepack MASS PoisNor]; };
   wgsea = derive2 { name="wgsea"; version="1.8"; sha256="1114wik011sm2n12bwm2bhqvdxagbhbscif45k4pgxdkahy2abpi"; depends=[snpStats]; };
+  wheatmap = derive2 { name="wheatmap"; version="0.1.0"; sha256="1c1xvzy194vw3idkwkqp9kyrfldzczj30cl15jw1bbnw87zcwdzy"; depends=[colorspace RColorBrewer]; };
   whereport = derive2 { name="whereport"; version="0.1"; sha256="1gdqzr2hrnpxbwl7cfps4m3xja8wkgwfs50i2nailybympvdnxm4"; depends=[dplyr]; };
   whisker = derive2 { name="whisker"; version="0.3-2"; sha256="0z4cn115gxcl086d6bnqr8afi67b6a7xqg6ivmk3l4ng1x8kcj28"; depends=[]; };
+  whitening = derive2 { name="whitening"; version="1.0.0"; sha256="0vncjbrw9gafplz6r02x0j1fnrfvxq027h1pqcbdwqykjzg0zcym"; depends=[corpcor]; };
   whoami = derive2 { name="whoami"; version="1.1.2"; sha256="1wkgh8mxm2ci5ylwppbh38sx5fm5rsm06bimdpc07z35bz4825xg"; depends=[httr jsonlite]; };
   whoapi = derive2 { name="whoapi"; version="0.1.2"; sha256="0ib0an08xsxan24q8mb5ai375njmkdc61lh4321rzgr25iqvi682"; depends=[httr]; };
   wicket = derive2 { name="wicket"; version="0.4.0"; sha256="1lizzmj69bswzlk18fv2v4yxxc6dynvmkymdiafznzcyyz4a8xnf"; depends=[BH Rcpp]; };
   widals = derive2 { name="widals"; version="0.5.4"; sha256="1bl59s1r4gkvq4nkf94fk7m0zvhbrszkgmig66lfxhyvk9r84fvb"; depends=[snowfall]; };
   widenet = derive2 { name="widenet"; version="0.1-2"; sha256="1nimm8szbg82vg00f5c7b3f3sk0gplssbl4ggasjnh7dl621vfny"; depends=[glmnet relaxnet]; };
   widgetframe = derive2 { name="widgetframe"; version="0.3.1"; sha256="0j0d73m72nzfc1wyrgsqr99ldx72adis6pd57mpim55hz0n9l224"; depends=[htmltools htmlwidgets magrittr purrr]; };
-  widyr = derive2 { name="widyr"; version="0.1.0"; sha256="0vy34phli9jynjdwss8cpadaaizh9bhc1h0amsblc0il6xanviqm"; depends=[broom dplyr Matrix purrr reshape2 tidyr tidytext]; };
+  widyr = derive2 { name="widyr"; version="0.1.1"; sha256="14r1qiq4i7lmn3i76aa0d9wcjw1jclm1jf371j25s92w8z36mdln"; depends=[broom dplyr Matrix purrr reshape2 tidyr tidytext]; };
   wikibooks = derive2 { name="wikibooks"; version="0.2"; sha256="178lhri1b8if2j7y7l9kqgyvmkn4z0bxp5l4dmm97x3pav98c7ks"; depends=[]; };
   wikilake = derive2 { name="wikilake"; version="0.3"; sha256="1y4vinm8gxyj6x36nb4xzhx1yf96x1nwlzzhvj4g36rbcix7dn6q"; depends=[maps rvest selectr sp stringi stringr WikipediR xml2]; };
   wikipediatrend = derive2 { name="wikipediatrend"; version="1.1.14"; sha256="00i38py9n4l0iqkn3257a3jbiwh3hrmx1p9x6rfh9sgfcch8yyj5"; depends=[hellno httr jsonlite RColorBrewer rvest stringr xml2]; };
@@ -12023,31 +12350,34 @@ in with self; {
   wildcard = derive2 { name="wildcard"; version="1.1.0"; sha256="0qkzab84z95g5f4fv3v4wisccgd7k9m3210pz4nvm1x8rfaqfjf1"; depends=[magrittr stringi]; };
   wildlifeDI = derive2 { name="wildlifeDI"; version="0.2"; sha256="0z8zyrl3d73x2j32l6xqz5nwhygzy7c9sjfp6bql5acyfvn7ngjv"; depends=[adehabitatLT rgeos sp]; };
   wildpoker = derive2 { name="wildpoker"; version="1.1"; sha256="1302ain55spz34irmq49sp9b1pvrn2nxmzmqs8m9wdk6g82h3s27"; depends=[]; };
+  winRatioAnalysis = derive2 { name="winRatioAnalysis"; version="0.1.0"; sha256="1msvc06bfzw9clinxbvr5fdw38dff0c0xii46182nwnk5kj0libr"; depends=[data_table JM Matrix MLEcens mvtnorm nlme plyr pssm survival]; };
   windex = derive2 { name="windex"; version="1.0"; sha256="0ci10x6mm5i03j05fyadxa0ic0ngpyp5nsn05p9m7v1is5jhxci0"; depends=[ape geiger scatterplot3d]; };
-  windfarmGA = derive2 { name="windfarmGA"; version="1.1.1"; sha256="1fns58q8bzsa6z8dghqs41xiv331pl75d4awrfgwslbg3lrd2x49"; depends=[calibrate data_table dplyr geoR ggplot2 googleVis gstat gtools leaflet maptools RandomFields raster RColorBrewer rgdal rgeos rgl RgoogleMaps sp spatstat]; };
+  windfarmGA = derive2 { name="windfarmGA"; version="1.2.1"; sha256="1v4brwi92a2kchak43z0vxjq11373amh190fnmpmnpz58zbls448"; depends=[calibrate data_table doParallel dplyr foreach geoR ggplot2 googleVis gstat gtools leaflet magrittr maptools RandomFields raster RColorBrewer rgdal rgeos rgl RgoogleMaps sp spatstat]; };
   wingui = derive2 { name="wingui"; version="0.2"; sha256="0yf6k33qpcjzyb7ckwsxpdw3pcsja2wsf08vaca7qw27yxrbmaa3"; depends=[Rcpp]; };
   wiod = derive2 { name="wiod"; version="0.3.0"; sha256="1f151xmc6bm5d28w5123nm0hv7j1v8hay4jk5fk8pwn6yljl1pah"; depends=[decompr gvc]; };
   wiqid = derive2 { name="wiqid"; version="0.1.3"; sha256="06six8w77lf9rc49hnr42xgn2jvhb84wvqgi08ns22yn4z2iz9pz"; depends=[coda HDInterval MASS truncnorm]; };
-  withr = derive2 { name="withr"; version="2.1.1"; sha256="17pbllxv18gf1mli9mm5px4wzp364907a4wrl20r1y5q8qwawpxx"; depends=[]; };
+  withr = derive2 { name="withr"; version="2.1.2"; sha256="11j6zykklxnvp4xqsr6a2xib665i38m3khdspp887nwagmvnydj1"; depends=[]; };
   wkb = derive2 { name="wkb"; version="0.3-0"; sha256="0s7libkg27jdmcw5qmk5j0cmz3nqq7ny4q8gy4vhbgsgj4gbbdn9"; depends=[sp]; };
   wktmo = derive2 { name="wktmo"; version="1.0.5"; sha256="05pjyk0xsdazbi1x7xfmg097ybybd60zmzzm7sch1ikp05hzn0wb"; depends=[]; };
   wle = derive2 { name="wle"; version="0.9-91"; sha256="18gqwrrw618f1xx93n0lk95gpi3lxvfkr6fmlb82v2wiibb7k7ak"; depends=[circular]; };
   wmlf = derive2 { name="wmlf"; version="0.1.2"; sha256="0zxw84l5v12r15hpyd1kbajjz3cbkn5g884kmj72y7yi0yi1b6d6"; depends=[waveslim]; };
   wmtsa = derive2 { name="wmtsa"; version="2.0-3"; sha256="1q436krz5p1f4a7a7sya6a9rh9x9mi8zzcgq66gbk9w9w4hcqcj6"; depends=[ifultools MASS splus2R]; };
-  wnl = derive2 { name="wnl"; version="0.3.2"; sha256="1gqp2rrfn4971f12fbf90habk2zqb0hw92nf5c6vvvyx1zad7m81"; depends=[numDeriv]; };
+  wmwpow = derive2 { name="wmwpow"; version="0.1.0"; sha256="0hvim7b9zn6h6w6m6hgil919nkzkn8676x8b2f3lbmm8m7dwm3lq"; depends=[lamW MASS smoothmest]; };
+  wnl = derive2 { name="wnl"; version="0.4.0"; sha256="02axa2xfbsvqiil240ywkj3r4yw5sqzk9mai1nccrvcx9fz8qlgc"; depends=[numDeriv]; };
   wnominate = derive2 { name="wnominate"; version="1.2.5"; sha256="0pvw36jzx90z7ah4f7cyf95csdn5x7n9rh3ddsppa61y1dmjsn5k"; depends=[pscl]; };
   woe = derive2 { name="woe"; version="0.2"; sha256="15mvcmwnrqxpzn054lq85vyzq5rgxkiwbd40gnn4s3ny1xdrwgsm"; depends=[]; };
   woeBinning = derive2 { name="woeBinning"; version="0.1.5"; sha256="04pw32vng31v1n4r1g1fisvv8cacxmcx7m65vw4a2byamp2d25yq"; depends=[]; };
   woeR = derive2 { name="woeR"; version="0.1.3"; sha256="15bdhgjq39svzaqzmfykyaq4r543lq15jf0sz8m9bwjv2c6vlx5l"; depends=[dplyr]; };
   womblR = derive2 { name="womblR"; version="1.0.2"; sha256="0cnggwi47pmyjqz78vcvdzv3kpss6v4h404w2d7dii0zfqjr7bpk"; depends=[msm mvtnorm Rcpp RcppArmadillo]; };
-  wooldridge = derive2 { name="wooldridge"; version="1.2.0"; sha256="1ib7qqmzybk7a171ny0zszh1lw2zgqyz35rb7g6y4ign2ng9ml9k"; depends=[]; };
-  word_alignment = derive2 { name="word.alignment"; version="1.0.8"; sha256="0f8fxz7qhj618bz16mmwm3fhrd9p0idsx6pj0cdx72dkvfgkdwn0"; depends=[data_table openxlsx quanteda]; };
+  wooldridge = derive2 { name="wooldridge"; version="1.3.0"; sha256="029vdiglwkr7ilr7jvzarvphcc71n1majn6bh427b4qq7n01a7wb"; depends=[]; };
+  word_alignment = derive2 { name="word.alignment"; version="1.0.9"; sha256="02dy4a9agfb99rjbqxy35nf11bpxyjcq15bnyzjkbvcy0ppfgz0l"; depends=[data_table openxlsx quanteda]; };
+  wordbankr = derive2 { name="wordbankr"; version="0.3.0"; sha256="0aa1gz3fg7h9wnk93ialwj0wjyk8wxani8galwkrms4fp7d5lmf4"; depends=[assertthat DBI dbplyr dplyr purrr rlang RMySQL robustbase stringr tidyr]; };
   wordcloud = derive2 { name="wordcloud"; version="2.5"; sha256="1ajqdkm8h1wid3d41zd8v7xzf2swid998w31zrghd45a5lcp7qcm"; depends=[RColorBrewer Rcpp slam]; };
   wordcloud2 = derive2 { name="wordcloud2"; version="0.2.1"; sha256="1a2q42bn65q4idxq0vxysyam16q6c18inxv4dqhfy0x52j8z9x6k"; depends=[base64enc htmlwidgets]; };
   wordmatch = derive2 { name="wordmatch"; version="1.0"; sha256="0zscp361qf79y1zsliga18hc7wj36cnydshrqb9pv67b65njrznz"; depends=[plyr reshape2]; };
   wordnet = derive2 { name="wordnet"; version="0.1-14"; sha256="12a21zlc7h973gi1632gngbk8b09vhp3sldh1mh9b5n6h18ga25p"; depends=[rJava]; };
   wordspace = derive2 { name="wordspace"; version="0.2-0"; sha256="0rrnbimf68ax1qxsyn7g0kd76abijzxg5i11h93l0fnzi2g2a9xn"; depends=[cluster iotools MASS Matrix Rcpp sparsesvd]; };
-  worldmet = derive2 { name="worldmet"; version="0.8.3"; sha256="0pz4kh11y93gad4jhpyzqz66sma1ngvavmpy4ki4z1dcry452yvs"; depends=[doParallel dplyr foreach leaflet openair readr zoo]; };
+  worldmet = derive2 { name="worldmet"; version="0.8.4"; sha256="15crnmlcj1yi9rm35n8f34jprms24r2xwx550zz627bdvq4vmam4"; depends=[doParallel dplyr foreach leaflet openair readr zoo]; };
   worms = derive2 { name="worms"; version="0.2.1"; sha256="0qxij56wvhlz9pgc1wp5nr3yi2r0h0r7xvlhhvsflch60gprpi1s"; depends=[httr plyr]; };
   worrms = derive2 { name="worrms"; version="0.2.0"; sha256="1mqv2j9235pqdwqnw11b0zdv763wf9wqjqpf3p6fxpmki24j7xk6"; depends=[crul data_table jsonlite tibble]; };
   wosr = derive2 { name="wosr"; version="0.1.0"; sha256="0j3srk8siiip192w6wdc2w9azbhpdxyrzgyinwmi1z58xqmi9c38"; depends=[httr jsonlite pbapply xml2]; };
@@ -12055,12 +12385,12 @@ in with self; {
   wpp2010 = derive2 { name="wpp2010"; version="1.2-0"; sha256="1h87r1cn4lnx80dprvawsyzfkriscqjgr27gvv7n19wvsx8qd57k"; depends=[]; };
   wpp2012 = derive2 { name="wpp2012"; version="2.2-1"; sha256="00283s4r36zzwn67fydrl7ldg6jhn14qkf47h0ifmsky95bd1n5k"; depends=[]; };
   wpp2015 = derive2 { name="wpp2015"; version="1.1-0"; sha256="01vsdma2fgh0vd96ly4f704hl200v0w8ksz60gjxhm44ih3qszh3"; depends=[]; };
-  wpp2017 = derive2 { name="wpp2017"; version="1.1-2"; sha256="18hyygk928kp25n5iy5nwz2fdicgpk3ncpkp2pksnp0cxzw3585w"; depends=[]; };
+  wpp2017 = derive2 { name="wpp2017"; version="1.2-0"; sha256="0dk56wqs7g54r6jjb6wnppdf9d94474nja21j0bi6by0l8gn6lyc"; depends=[plyr]; };
   wppExplorer = derive2 { name="wppExplorer"; version="2.1-1"; sha256="0n0ayn8bxkrabw2iyqv3hfkdchbk9bzv1lhkjpxnjb6z3zl1sggl"; depends=[DT ggplot2 googleVis Hmisc plyr reshape2 shiny shinyjs shinythemes wpp2017]; };
   wql = derive2 { name="wql"; version="0.4.9"; sha256="0m16l807mhcjkbqhlzhc24pw4hl78fjyykiszlg337x3qs803fg2"; depends=[ggplot2 reshape2 zoo]; };
   wqs = derive2 { name="wqs"; version="0.0.1"; sha256="14qaa9g9v4nqrv897laflib3wwhflyfaf9wpllmbi5xfv9223rcg"; depends=[glm2 Rsolnp]; };
   wrangle = derive2 { name="wrangle"; version="0.4"; sha256="0d1xdcvgcv8bn20s90sn1dmzhcdz39yr1m2bkcjbvavm132p96bl"; depends=[dplyr lazyeval magrittr tidyr]; };
-  wrapr = derive2 { name="wrapr"; version="1.1.1"; sha256="01v41qcsdpdisvccagba3l67834r6k0lhlalwna7lrvwx008cd9s"; depends=[]; };
+  wrapr = derive2 { name="wrapr"; version="1.4.0"; sha256="0kxnpvqnr9whc8f5dr0xwff23pky9hp7mvrprvqnkwk0k44zd6c5"; depends=[]; };
   wrassp = derive2 { name="wrassp"; version="0.1.6"; sha256="1f6yyw6mmwc267cd9v17k6n4fhymi0y201bm6ii56rcw86n4ix77"; depends=[]; };
   write_snns = derive2 { name="write.snns"; version="0.0-4.2"; sha256="0sxg7z8rnh4lssbivkrfxldv4ivy37wkndzzndpbvq2gbvbjnp4l"; depends=[]; };
   writexl = derive2 { name="writexl"; version="0.2"; sha256="0hclrbn21sc0ifd2c5xfww84jf47412wzs86a73swxxjzcbrkg5k"; depends=[]; };
@@ -12080,7 +12410,9 @@ in with self; {
   x12 = derive2 { name="x12"; version="1.9.0"; sha256="0hrcw1d52yp5rr4r120lcnfxw2rgs95njg37m28blcnfbq2flfc2"; depends=[stringr x13binary]; };
   x12GUI = derive2 { name="x12GUI"; version="0.13.0"; sha256="1mga7g9gwb3nv2qs27lz4n9rp6j3svads28hql88sxaif6is3nk1"; depends=[cairoDevice Hmisc lattice RGtk2 stringr x12]; };
   x13binary = derive2 { name="x13binary"; version="1.1.39-1"; sha256="1v6slh5136av3l7bk99a57gj6i6khx2j55qv4pyz1zmrzzgaayyc"; depends=[]; };
+  x3ptools = derive2 { name="x3ptools"; version="0.0.1"; sha256="16kms5hbpa5hz5i0pdwx49yp2hmhyr8hd4w672vmwi94s5d84i1q"; depends=[digest rgl xml2 zoo]; };
   xLLiM = derive2 { name="xLLiM"; version="2.1"; sha256="1q6ryw9z5wi0amv5f4drz14p36zy8gc2a0s59q10jixhhyas7ycl"; depends=[abind capushe corpcor igraph MASS Matrix]; };
+  xROI = derive2 { name="xROI"; version="0.1.2"; sha256="01xicw6ffrzs0df69dmylfxxfszqy5j81vba1w1l99h7hxq5a6bs"; depends=[colourpicker data_table jpeg lubridate moments plotly raster RCurl rgdal rjson shiny shinyAce shinyBS shinydashboard shinyFiles shinyjs shinythemes shinyTime sp stringr tiff]; };
   xSub = derive2 { name="xSub"; version="0.0.1"; sha256="0ccvkdylsia8qkfjlbbyggpy4l8z3r05cmvp4xb3j4628fa82jav"; depends=[countrycode haven RCurl]; };
   xVA = derive2 { name="xVA"; version="0.8.1"; sha256="0wr4i37sya5gg6v63ka16g9077gxbhvjqyqfaahhban8skzl2adf"; depends=[SACCR Trading]; };
   xaringan = derive2 { name="xaringan"; version="0.6"; sha256="0jgdixgbkwp9jnvjnrzdmlawz8f24z8in56cma3hn79glbvxfaw4"; depends=[htmltools knitr rmarkdown servr xfun]; };
@@ -12103,9 +12435,9 @@ in with self; {
   xml2 = derive2 { name="xml2"; version="1.2.0"; sha256="154lmksfiwkhnlmryas25mjhfg6k4mmnnk7bbb29mnn5x5pr2yha"; depends=[Rcpp]; };
   xmlparsedata = derive2 { name="xmlparsedata"; version="1.0.1"; sha256="0q9d4l3p4ypc0qswnjwrd3as9bx9f1niixsc19y1msva51sg5h39"; depends=[]; };
   xmrr = derive2 { name="xmrr"; version="1.0.1"; sha256="0h5861mym7k7xkby6zilcxq8i3yr06kcaam5pzi2y0q85iycb88f"; depends=[dplyr ggplot2 tidyr]; };
-  xoi = derive2 { name="xoi"; version="0.66-9"; sha256="1kd9s9afq5shsaqhrxai9yz60a9imyy5np76fjpkjgyz56kbk6nr"; depends=[qtl]; };
+  xoi = derive2 { name="xoi"; version="0.67-4"; sha256="180zzc81d883qzl1xgj88d9aslqmsgdvv8w1mx2613h1rkirkpdp"; depends=[qtl]; };
   xpose = derive2 { name="xpose"; version="0.4.2"; sha256="11k07z76fpp4fvp3kfx1jc7bx1mwc1xfwyp46xwfhgfbazbvyfd7"; depends=[dplyr ggforce ggplot2 purrr readr rlang stringr tibble tidyr vpc]; };
-  xpose4 = derive2 { name="xpose4"; version="4.6.0"; sha256="1pyzpb6ddvpm3nx49brkam6afzhvf7jg8xnijg9jwd2qfijp8lav"; depends=[dplyr gam Hmisc lattice lazyeval readr survival]; };
+  xpose4 = derive2 { name="xpose4"; version="4.6.1"; sha256="1722ai8r94dmy4d2r728iir0hl2b2gmym8xjsqscfc6jw070734i"; depends=[dplyr gam Hmisc lattice lazyeval readr survival]; };
   xptr = derive2 { name="xptr"; version="1.1"; sha256="12yvgbwm311hap3kk24wdx5zz084h0lhkj9k10mjzqp4a6aayi88"; depends=[]; };
   xray = derive2 { name="xray"; version="0.2"; sha256="1ibj92ljlj8a5rmbrci691yhpd4kwrfyl944nzl2dcbf58l01dzq"; depends=[dplyr foreach ggplot2 lubridate scales]; };
   xseq = derive2 { name="xseq"; version="0.2.1"; sha256="0bsakbfvkfv39q2ch2g21b17g84470sq4v73355cljlshsi6404i"; depends=[e1071 gptk impute preprocessCore RColorBrewer sfsmisc]; };
@@ -12114,8 +12446,8 @@ in with self; {
   xtable = derive2 { name="xtable"; version="1.8-2"; sha256="0398qkpvlw3dv0myz4mjcyqwpwc2m31l127r8vdzwc71wb6s28qn"; depends=[]; };
   xtal = derive2 { name="xtal"; version="1.15"; sha256="1zq3vd5x3vw6acn47yd2x7kflr9sm3znmdkm68cs64ha54jbl3vs"; depends=[]; };
   xtermStyle = derive2 { name="xtermStyle"; version="3.0.5"; sha256="1q4qq8w4sgxbbb1x0i4k5xndvwisvjszg830wspwb37wigxz8xvz"; depends=[]; };
-  xtractomatic = derive2 { name="xtractomatic"; version="3.4.1"; sha256="189lya8ijm8vxjki76gjdhv1nyp3860ydpzg5ij12ggd5qqn1zgy"; depends=[dplyr httr ncdf4 readr sp]; };
-  xts = derive2 { name="xts"; version="0.10-1"; sha256="1j9ddh9v9081zrqlpylsk13fldilhjdyaw6r6pa726fhgnrsf8a2"; depends=[zoo]; };
+  xtractomatic = derive2 { name="xtractomatic"; version="3.4.2"; sha256="1w70kk608avnf7zdjx79gxqmj12cw86ma4x0b9j92md1vmpw5389"; depends=[dplyr httr ncdf4 readr sp]; };
+  xts = derive2 { name="xts"; version="0.10-2"; sha256="1i11fczks4lh8rpi6xbm9bm7f3jpcp6xw03kv178g3n3361qhmc1"; depends=[zoo]; };
   xwf = derive2 { name="xwf"; version="0.2-1"; sha256="1g94wbsq8flnkxxfxx6yg87siiwpyrx219an9a2cf1blnwjv9b68"; depends=[mgcv]; };
   xxIRT = derive2 { name="xxIRT"; version="2.0.3"; sha256="10n9rrhp0v71gmn0s2l2qi6sfplwj7anydw6rxqk409wg5is3x93"; depends=[dplyr ggplot2 lpSolveAPI magrittr reshape2]; };
   xyloplot = derive2 { name="xyloplot"; version="1.5"; sha256="0h90070m3xgcfky5q6vx6l2lfz0ihwbp2xg25mgmbijz4kg3n9d3"; depends=[]; };
@@ -12124,18 +12456,18 @@ in with self; {
   yaImpute = derive2 { name="yaImpute"; version="1.0-29"; sha256="1zxl4l54y9f9lmi17hlhsbsc4f1qb0dnnl5dg9frhq6bhw2lqxqb"; depends=[]; };
   yacca = derive2 { name="yacca"; version="1.1"; sha256="0wg2wgvh1najmccmgzyigj11mshrdb8w4r2pqq360dracpn0ak6x"; depends=[]; };
   yakmoR = derive2 { name="yakmoR"; version="0.1.1"; sha256="09aklz79s0911p2wnpd7gc6vrbr9lmiskhkahsc63pdigggmq9f7"; depends=[BBmisc checkmate Rcpp]; };
-  yaml = derive2 { name="yaml"; version="2.1.16"; sha256="1xlsmqal607w6c9rx86061y1fwpbyd5lqp9bad5n7cc9a0blpnkm"; depends=[]; };
+  yaml = derive2 { name="yaml"; version="2.1.18"; sha256="15m4q5krfqg0avvqg9i2g6ns4757lk6zbyrwbx5c5bgh51glvd8v"; depends=[]; };
   yardstick = derive2 { name="yardstick"; version="0.0.1"; sha256="165czwi62nrhhci06fb0rfpk2gki94aiyl4wlflmgpzmspmgz7m8"; depends=[broom dplyr MLmetrics pROC rlang tibble tidyr tidyselect]; };
   yarrr = derive2 { name="yarrr"; version="0.1.5"; sha256="1258bj7x4icaxfabnnd3fgwydnqbzxkih7zw0sdlwdax3q8fw5c5"; depends=[BayesFactor circlize jpeg]; };
   yasp = derive2 { name="yasp"; version="0.1.0"; sha256="082w1l0892v0vrvfmc1ssgy9ccj30hcrg7m56x61spgcmckfshy4"; depends=[]; };
   ycinterextra = derive2 { name="ycinterextra"; version="0.1"; sha256="0hr37izbbmxqkjy6a7q8vcn0vs8an1ck9y8xfjpl5z0rygi8xc1v"; depends=[mcGlobaloptim]; };
   yearn = derive2 { name="yearn"; version="0.1.3"; sha256="03aqbf3q0nhg73pqpwlqdhpbmfa0rvv78b84b4mqir43601vjx65"; depends=[BiocInstaller devtools githubinstall]; };
-  yesno = derive2 { name="yesno"; version="0.0.2"; sha256="0aa8kqcqlix9a9a2l4fnl2qv25dgdn4m7cfsh7m0kk76y8q5gbc9"; depends=[]; };
+  yesno = derive2 { name="yesno"; version="0.1.0"; sha256="0l3v51kghbq9s00s736s4jvl8a0yhbgb908mjvhw6k5nqb2cgh8a"; depends=[]; };
   yhat = derive2 { name="yhat"; version="2.0-0"; sha256="0vdhkknmms7zy7iha894jn1hr1h5w67pr53r0q67m7p404w21iza"; depends=[boot miscTools plotrix yacca]; };
   yhatr = derive2 { name="yhatr"; version="0.15.1"; sha256="18g2cr1kjxnfw6cwzl62ynppfv1zz732kbx18zq8918l85kx6wbw"; depends=[httr jsonlite stringr]; };
   ykmeans = derive2 { name="ykmeans"; version="1.0"; sha256="0xfji2fmslvc059kk3rwkv575ffzl787sa9d4vw5hxnsmkn8lq50"; depends=[foreach plyr]; };
   yorkr = derive2 { name="yorkr"; version="0.0.7"; sha256="035pmvignq4lip3y5670kxj1n70ff04yy2jwi4837pimr9d0qjhv"; depends=[dplyr ggplot2 gridExtra reshape2 rpart_plot yaml]; };
-  yuima = derive2 { name="yuima"; version="1.6.8"; sha256="1x10q2l8xd3h86m333mi6hkb7fpf4q5fbs7gwmlynylkz216b65j"; depends=[cubature expm mvtnorm Rcpp RcppArmadillo zoo]; };
+  yuima = derive2 { name="yuima"; version="1.7.10"; sha256="0g1jh81s2i6ilpcbrjbz9wmk65m6xsdv8dif88x6v5k8660k2ksl"; depends=[boot cubature expm mvtnorm Rcpp RcppArmadillo zoo]; };
   yuimaGUI = derive2 { name="yuimaGUI"; version="1.2.0"; sha256="166hsq1nc0jzkqbz08y3dl0qdi58swascbkm1lc7zhsh6g93azjs"; depends=[DT ggplot2 plotly quantmod sde shiny shinyBS shinydashboard shinyjs yuima]; };
   yummlyr = derive2 { name="yummlyr"; version="0.1.1"; sha256="0xrk6g58laksz92d8mxck923sk4j92g55szrkxk123wjp5kg9vx6"; depends=[httr jsonlite]; };
   zCompositions = derive2 { name="zCompositions"; version="1.1.1"; sha256="1j6v7mfxhn67mr3q6cvcjj9pqc8a02w114z8q74h3l6jw8ahjg6m"; depends=[MASS NADA truncnorm]; };
@@ -12145,16 +12477,17 @@ in with self; {
   zebu = derive2 { name="zebu"; version="0.1.2"; sha256="0f9fsb4z8s7k5jnz2ayd52dzri0z46kjbm0gi5rfqjlmk13bhgk4"; depends=[foreach ggplot2 iterators plyr reshape2]; };
   zeligverse = derive2 { name="zeligverse"; version="0.1.1"; sha256="1hf3hbgzdlhhyy2gvg984dwp8d0qm0ziyn8i9h5x00gwf74vn9dr"; depends=[Amelia dplyr MatchIt purrr rstudioapi tibble WhatIf Zelig ZeligChoice ZeligEI]; };
   zendeskR = derive2 { name="zendeskR"; version="0.4"; sha256="06cjwk08w3x6dx717123psinid5bx6c563jnfn890373jw6xnfrk"; depends=[RCurl rjson]; };
-  zenplots = derive2 { name="zenplots"; version="0.0-2"; sha256="09dp2d89wnvvqkfz7w1fzs8gyq7ryyxsn2h5mgzbm1spd3dmychw"; depends=[graph loon MASS PairViz]; };
-  zetadiv = derive2 { name="zetadiv"; version="1.0.1"; sha256="0a50xj7bgb2w3yx2ghpwq2y2hkilxx0dchhscspzjalyw77jhxvp"; depends=[car glm2 Imap mgcv nnls scam vegan]; };
+  zenplots = derive2 { name="zenplots"; version="0.0-3"; sha256="1ba9xv522knzbirl6ac5hzbmsw8ignsmymbkps2w057w0fsc9iyz"; depends=[graph MASS PairViz]; };
+  zetadiv = derive2 { name="zetadiv"; version="1.1.0"; sha256="0z90gpwyi2d0xnwy2vz7an5wv7jrwhl99kd2s76dlxylfjp7j2rn"; depends=[car glm2 Imap mgcv nnls scam vegan]; };
   zfa = derive2 { name="zfa"; version="1.0"; sha256="0lddwpifkzggzvy56ans5pfknfr8laxcg264f3ph2z150gw1plsh"; depends=[SKAT]; };
   zic = derive2 { name="zic"; version="0.9.1"; sha256="1vd64ljigf6iwgzlgdxgj65nlwir176h7ddznddpaz2abh6n6zwp"; depends=[coda Rcpp RcppArmadillo]; };
   zip = derive2 { name="zip"; version="1.0.0"; sha256="0rgr9pcdhdq3k8n29h2ircp3ri1ibhrx81gja1y7331v15xyrabg"; depends=[]; };
   zipcode = derive2 { name="zipcode"; version="1.0"; sha256="1lvlf1h5fv412idpdssjfh4fki933dm5nhr41ppl1mf45b9j7azn"; depends=[]; };
   zipfR = derive2 { name="zipfR"; version="0.6-10"; sha256="16h5saj0b2qm3qwd7arzamn0n05hn31ybgzq4pb10ri0ajs1cvic"; depends=[]; };
-  ziphsmm = derive2 { name="ziphsmm"; version="2.0.1"; sha256="1q1ack3b6ppyp946f56lhrad1839dzv36qsk58czym46pbpdid4l"; depends=[Rcpp RcppArmadillo]; };
+  zipfextR = derive2 { name="zipfextR"; version="1.0.0"; sha256="007pw5z9rz8ng0llyd2088qxldc3sf0s35pcfqmm85qb94fdksdd"; depends=[tolerance VGAM]; };
+  ziphsmm = derive2 { name="ziphsmm"; version="2.0.4"; sha256="19ypfx05z7c0skv1nvjivxarblizqqwaqpqyvnhqrckfb7lkhdby"; depends=[pracma Rcpp RcppArmadillo]; };
   zoeppritz = derive2 { name="zoeppritz"; version="1.0-7"; sha256="14j9jl2g7gn94nzs96mwsgwlxnfbr1crjfmfwbi3rk367xi197jb"; depends=[]; };
-  zoib = derive2 { name="zoib"; version="1.4.2"; sha256="0gdbcnxlm9m88c2av4zy0k3yvm2cvg24804xnsi0mwfgwmnngdh5"; depends=[abind coda Formula matrixcalc rjags]; };
+  zoib = derive2 { name="zoib"; version="1.5.1"; sha256="0lsyr8hfhk4dk129x2l1793v6nmf2k97wnsc44ir6ymip3i4zfld"; depends=[abind coda Formula matrixcalc rjags]; };
   zonator = derive2 { name="zonator"; version="0.5.9"; sha256="04gjrm9nxnxsigrc30zghmv37ijsx27134hfnrbm51smw2y60dm4"; depends=[ggplot2 raster RColorBrewer reshape2 rgdal]; };
   zoo = derive2 { name="zoo"; version="1.8-1"; sha256="16nc5jnpkf5j9vgq3pzssv7knj30mi055wj7q3sygz3l0d88hgfr"; depends=[lattice]; };
   zooaRch = derive2 { name="zooaRch"; version="1.2"; sha256="0grc378xppv0303sf4flfqz5002vq5a23nzbq4bsff41rww7dihc"; depends=[ggplot2]; };
diff --git a/pkgs/development/r-modules/default.nix b/pkgs/development/r-modules/default.nix
index 62382a1f72d..451fc1dc6fe 100644
--- a/pkgs/development/r-modules/default.nix
+++ b/pkgs/development/r-modules/default.nix
@@ -366,7 +366,6 @@ let
     udunits2 = [ pkgs.udunits pkgs.expat ];
     V8 = [ pkgs.v8_3_14 ];
     VBLPCM = [ pkgs.gsl_1 ];
-    VBmix = [ pkgs.gsl_1 pkgs.fftw pkgs.qt4 ];
     WhopGenome = [ pkgs.zlib.dev ];
     XBRL = [ pkgs.zlib pkgs.libxml2.dev ];
     xml2 = [ pkgs.libxml2.dev ] ++ lib.optionals stdenv.isDarwin [ pkgs.perl ];
@@ -393,7 +392,7 @@ let
     nat = [ pkgs.which ];
     nat_nblast = [ pkgs.which ];
     nat_templatebrains = [ pkgs.which ];
-    pbdZMQ = lib.optionals stdenv.isDarwin [ pkgs.binutils.bintools ];
+    pbdZMQ = lib.optionals stdenv.isDarwin [ pkgs.darwin.binutils ];
     RMark = [ pkgs.which ];
     RPushbullet = [ pkgs.which ];
     qtpaint = [ pkgs.cmake ];
@@ -404,14 +403,13 @@ let
     RGtk2 = [ pkgs.pkgconfig ];
     RProtoBuf = [ pkgs.pkgconfig ];
     Rpoppler = [ pkgs.pkgconfig ];
-    VBmix = [ pkgs.pkgconfig ];
     XML = [ pkgs.pkgconfig ];
     cairoDevice = [ pkgs.pkgconfig ];
     chebpol = [ pkgs.pkgconfig ];
     fftw = [ pkgs.pkgconfig ];
     geoCount = [ pkgs.pkgconfig ];
     gdtools = [ pkgs.pkgconfig ];
-    JuniperKernel = lib.optionals stdenv.isDarwin [ pkgs.binutils.bintools ];
+    JuniperKernel = lib.optionals stdenv.isDarwin [ pkgs.darwin.binutils ];
     kza = [ pkgs.pkgconfig ];
     magick = [ pkgs.pkgconfig ];
     mwaved = [ pkgs.pkgconfig ];
@@ -440,7 +438,6 @@ let
   packagesRequireingX = [
     "accrual"
     "ade4TkGUI"
-    "adehabitat"
     "analogue"
     "analogueExtra"
     "AnalyzeFMRI"
@@ -493,7 +490,6 @@ let
     "EasyqpcR"
     "EcoVirtual"
     "ENiRG"
-    "EnQuireR"
     "eVenn"
     "exactLoglinTest"
     "fat2Lpoly"
@@ -588,7 +584,6 @@ let
     "ProbForecastGOP"
     "qtbase"
     "qtpaint"
-    "R2STATS"
     "r4ss"
     "RandomFields"
     "rareNMtests"
@@ -764,7 +759,7 @@ let
     JuniperKernel = old.JuniperKernel.overrideDerivation (attrs: {
       postPatch = ''
         for file in {R,src}/*.R; do
-            sed -i 's#system("which \(otool\|install_name_tool\)"[^)]*)#"${pkgs.binutils.bintools}/bin/\1"#g' $file
+            sed -i 's#system("which \(otool\|install_name_tool\)"[^)]*)#"${pkgs.darwin.cctools}/bin/\1"#g' $file
         done
       '';
       preConfigure = ''
@@ -779,7 +774,7 @@ let
     pbdZMQ = old.pbdZMQ.overrideDerivation (attrs: {
       postPatch = lib.optionalString stdenv.isDarwin ''
         for file in R/*.{r,r.in}; do
-            sed -i 's#system("which \(\w\+\)"[^)]*)#"${pkgs.binutils.bintools}/bin/\1"#g' $file
+            sed -i 's#system("which \(\w\+\)"[^)]*)#"${pkgs.darwin.cctools}/bin/\1"#g' $file
         done
       '';
     });
@@ -924,6 +919,13 @@ let
       NIX_CFLAGS_COMPILE = "${attrs.NIX_CFLAGS_COMPILE} -DBOOST_PHOENIX_NO_VARIADIC_EXPRESSION";
     });
 
+    mongolite = old.mongolite.overrideDerivation (attrs: {
+      preConfigure = ''
+        patchShebangs configure
+        '';
+      PKGCONFIG_CFLAGS = "-I${pkgs.openssl.dev}/include -I${pkgs.cyrus_sasl.dev}/include -I${pkgs.zlib.dev}/include";
+      PKGCONFIG_LIBS = "-Wl,-rpath,${pkgs.openssl.out}/lib -L${pkgs.openssl.out}/lib -L${pkgs.cyrus_sasl.out}/lib -L${pkgs.zlib.out}/lib -lssl -lcrypto -lsasl2 -lz";
+    });
   };
 in
   self
diff --git a/pkgs/development/r-modules/generic-builder.nix b/pkgs/development/r-modules/generic-builder.nix
index ff6c3ad1b90..0d731de33f8 100644
--- a/pkgs/development/r-modules/generic-builder.nix
+++ b/pkgs/development/r-modules/generic-builder.nix
@@ -3,9 +3,9 @@
 { name, buildInputs ? [], ... } @ attrs:
 
 stdenv.mkDerivation ({
-  buildInputs = buildInputs ++ [R] ++
+  buildInputs = buildInputs ++ [R gettext] ++
                 stdenv.lib.optionals attrs.requireX [utillinux xvfb_run] ++
-                stdenv.lib.optionals stdenv.isDarwin [Cocoa Foundation gettext gfortran];
+                stdenv.lib.optionals stdenv.isDarwin [Cocoa Foundation gfortran];
 
   NIX_CFLAGS_COMPILE =
     stdenv.lib.optionalString stdenv.isDarwin "-I${libcxx}/include/c++/v1";
diff --git a/pkgs/development/ruby-modules/bundled-common/default.nix b/pkgs/development/ruby-modules/bundled-common/default.nix
index 1f31aec886a..16f1abe1a89 100644
--- a/pkgs/development/ruby-modules/bundled-common/default.nix
+++ b/pkgs/development/ruby-modules/bundled-common/default.nix
@@ -29,7 +29,7 @@ with  import ./functions.nix { inherit lib gemConfig; };
 let
   gemFiles = bundlerFiles args;
 
-  importedGemset = if builtins.typeOf gemFiles.gemset == "path"
+  importedGemset = if builtins.typeOf gemFiles.gemset != "set"
     then import gemFiles.gemset
     else gemFiles.gemset;
 
diff --git a/pkgs/development/ruby-modules/bundler-app/default.nix b/pkgs/development/ruby-modules/bundler-app/default.nix
index 99d1dd64dc4..c8f61389ad3 100644
--- a/pkgs/development/ruby-modules/bundler-app/default.nix
+++ b/pkgs/development/ruby-modules/bundler-app/default.nix
@@ -26,12 +26,13 @@
 , allowSubstitutes ? false
 , meta ? {}
 , postBuild ? ""
+, gemConfig ? null
 }@args:
 
 let
   basicEnv = (callPackage ../bundled-common {}) args;
 
-  cmdArgs = removeAttrs args [ "pname" "postBuild" ]
+  cmdArgs = removeAttrs args [ "pname" "postBuild" "gemConfig" ]
   // { inherit preferLocalBuild allowSubstitutes; }; # pass the defaults
 in
    runCommand basicEnv.name cmdArgs ''
diff --git a/pkgs/development/ruby-modules/bundler/default.nix b/pkgs/development/ruby-modules/bundler/default.nix
index 6ba1d5f10ec..0c754fcfe3b 100644
--- a/pkgs/development/ruby-modules/bundler/default.nix
+++ b/pkgs/development/ruby-modules/bundler/default.nix
@@ -4,8 +4,8 @@ buildRubyGem rec {
   inherit ruby;
   name = "${gemName}-${version}";
   gemName = "bundler";
-  version = "1.14.6";
-  source.sha256 = "0h3x2csvlz99v2ryj1w72vn6kixf7rl35lhdryvh7s49brnj0cgl";
+  version = "1.16.1";
+  source.sha256 = "42b8e0f57093e1d10c15542f956a871446b759e7969d99f91caf3b6731c156e8";
   dontPatchShebangs = true;
 
   postFixup = ''
diff --git a/pkgs/development/ruby-modules/gem-config/default.nix b/pkgs/development/ruby-modules/gem-config/default.nix
index ac0b2dd07f8..83ab5e0d86f 100644
--- a/pkgs/development/ruby-modules/gem-config/default.nix
+++ b/pkgs/development/ruby-modules/gem-config/default.nix
@@ -21,7 +21,7 @@
 , libiconv, postgresql, v8_3_16_14, clang, sqlite, zlib, imagemagick
 , pkgconfig , ncurses, xapian_1_2_22, gpgme, utillinux, fetchpatch, tzdata, icu, libffi
 , cmake, libssh2, openssl, mysql, darwin, git, perl, pcre, gecode_3, curl
-, libmsgpack, qt48, libsodium, snappy, libossp_uuid, lxc, libpcap, xlibs, gtk2, buildRubyGem
+, libmsgpack, qt48, libsodium, snappy, libossp_uuid, lxc, libpcap, xorg, gtk2, buildRubyGem
 , cairo, re2, rake, gobjectIntrospection, gdk_pixbuf
 }@args:
 
@@ -60,12 +60,12 @@ in
 
   cairo = attrs: {
     nativeBuildInputs = [ pkgconfig ];
-    buildInputs = [ gtk2 pcre xlibs.libpthreadstubs xlibs.libXdmcp];
+    buildInputs = [ gtk2 pcre xorg.libpthreadstubs xorg.libXdmcp];
   };
 
   cairo-gobject = attrs: {
     nativeBuildInputs = [ pkgconfig ];
-    buildInputs = [ cairo pcre xlibs.libpthreadstubs xlibs.libXdmcp ];
+    buildInputs = [ cairo pcre xorg.libpthreadstubs xorg.libXdmcp ];
   };
 
   capybara-webkit = attrs: {
@@ -87,14 +87,18 @@ in
       sed -i $installPath/lib/dep-selector-libgecode.rb -e 's@VENDORED_GECODE_DIR =.*@VENDORED_GECODE_DIR = "${gecode_3}"@'
     '';
   };
-  
+
   ethon = attrs: {
     dontBuild = false;
     postPatch = ''
       substituteInPlace lib/ethon/curls/settings.rb \
         --replace "libcurl" "${curl.out}/lib/libcurl${stdenv.hostPlatform.extensions.sharedLibrary}"
     '';
-  }; 
+  };
+
+  do_sqlite3 = attrs: {
+    buildInputs = [ sqlite ];
+  };
 
   eventmachine = attrs: {
     buildInputs = [ openssl ];
@@ -128,7 +132,7 @@ in
 
   gtk2 = attrs: {
     nativeBuildInputs = [ pkgconfig ];
-    buildInputs = [ gtk2 pcre xlibs.libpthreadstubs xlibs.libXdmcp];
+    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";
   };
@@ -141,6 +145,7 @@ in
   grpc = attrs: {
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ openssl ];
+    hardeningDisable = [ "format" ];
     NIX_CFLAGS_COMPILE = [ "-Wno-error=stringop-overflow" "-Wno-error=implicit-fallthrough" ];
   };
 
@@ -205,7 +210,7 @@ in
 
   pango = attrs: {
   nativeBuildInputs = [ pkgconfig ];
-    buildInputs = [ gtk2 xlibs.libXdmcp pcre xlibs.libpthreadstubs ];
+    buildInputs = [ gtk2 xorg.libXdmcp pcre xorg.libpthreadstubs ];
   };
 
   patron = attrs: {
@@ -259,8 +264,9 @@ in
     ];
   };
   rugged = attrs: {
-  nativeBuildInputs = [ pkgconfig ];
+    nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ cmake openssl libssh2 zlib ];
+    dontUseCmakeConfigure = true;
   };
 
   scrypt = attrs:
diff --git a/pkgs/development/tools/ammonite/default.nix b/pkgs/development/tools/ammonite/default.nix
index 3aa64356896..beebd8ada9b 100644
--- a/pkgs/development/tools/ammonite/default.nix
+++ b/pkgs/development/tools/ammonite/default.nix
@@ -5,12 +5,12 @@
 with stdenv.lib;
 stdenv.mkDerivation rec {
   name = "ammonite-${version}";
-  version = "1.0.5";
+  version = "1.1.0";
   scalaVersion = "2.12";
 
   src = fetchurl {
     url = "https://github.com/lihaoyi/Ammonite/releases/download/${version}/${scalaVersion}-${version}";
-    sha256 = "10y73a4aaz3530qr9mms1j70c6dxgl9kwvnpbh062gnrbyw34z9l";
+    sha256 = "0dx5w1ffnqazsyp6zxrmfcn7yhkkd81h7njwbqqv1pbchj5znj6l";
   };
 
   propagatedBuildInputs = [ jre ] ;
diff --git a/pkgs/development/tools/analysis/autoflake/default.nix b/pkgs/development/tools/analysis/autoflake/default.nix
index 9522b1cf6b7..ce650adb7ef 100644
--- a/pkgs/development/tools/analysis/autoflake/default.nix
+++ b/pkgs/development/tools/analysis/autoflake/default.nix
@@ -3,12 +3,12 @@
 with python3Packages;
 buildPythonApplication rec {
   pname = "autoflake";
-  version = "1.0";
+  version = "1.1";
   name = "${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "12k4v8w7awqp83j727y0iwcbjqj3ccvbai7c9m0wgbmq5xkvav8a";
+    sha256 = "a74d684a7a02654f74582addc24a3016c06809316cc140457a4fe93a1e6ed131";
   };
 
   propagatedBuildInputs = [ pyflakes ];
diff --git a/pkgs/development/tools/analysis/checkstyle/default.nix b/pkgs/development/tools/analysis/checkstyle/default.nix
index 91037588552..cbb33901311 100644
--- a/pkgs/development/tools/analysis/checkstyle/default.nix
+++ b/pkgs/development/tools/analysis/checkstyle/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  version = "6.19";
+  version = "8.10";
   name = "checkstyle-${version}";
 
   src = fetchurl {
     url = "mirror://sourceforge/checkstyle/${name}-bin.tar.gz";
-    sha256 = "0x899i5yamwyhv7wgii80fv5hl8bdq0b8wlx1f789l85ik8rjwk9";
+    sha256 = "1n7bqqrd13zqx51dqh160z5sjdc6kr089i505gf405ymmfbx1p3d";
   };
 
   installPhase = ''
diff --git a/pkgs/development/tools/analysis/cppcheck/default.nix b/pkgs/development/tools/analysis/cppcheck/default.nix
index 97bd0d6e3df..6019235c47b 100644
--- a/pkgs/development/tools/analysis/cppcheck/default.nix
+++ b/pkgs/development/tools/analysis/cppcheck/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   pname = "cppcheck";
-  version = "1.80";
+  version = "1.83";
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://sourceforge/${pname}/${name}.tar.bz2";
-    sha256 = "1yx06yhkqlv9849ns7p97mj09gm9j7xc51q7yvzkk8ldvx4d4h88";
+    sha256 = "14d4afjz0jshwpqryvwvzrs3rrqnd7cgg3x19awgy116591ibd83";
   };
 
   buildInputs = [ pcre ];
diff --git a/pkgs/development/tools/analysis/flow/default.nix b/pkgs/development/tools/analysis/flow/default.nix
index 4a2d298495d..7ba4bbf25d1 100644
--- a/pkgs/development/tools/analysis/flow/default.nix
+++ b/pkgs/development/tools/analysis/flow/default.nix
@@ -1,17 +1,17 @@
 { stdenv, fetchFromGitHub, lib, ocaml, libelf, cf-private, CoreServices,
-  findlib, camlp4, sedlex, ocamlbuild, ocaml_lwt, wtf8, dtoa }:
+  findlib, camlp4, sedlex, ocamlbuild, lwt_ppx, wtf8, dtoa }:
 
 with lib;
 
 stdenv.mkDerivation rec {
-  version = "0.66.0";
+  version = "0.72.0";
   name = "flow-${version}";
 
   src = fetchFromGitHub {
     owner = "facebook";
     repo = "flow";
     rev = "v${version}";
-    sha256 = "0l1sdd1n0llmz8m81vym3zhcn824sr9w46h9jpb7i7wrcm4y410d";
+    sha256 = "1lfnl1crwkygzbv3l85n30dqsfz627xrnmn4z3zxh7lazir5h8b8";
   };
 
   installPhase = ''
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
   '';
 
   buildInputs = [
-    ocaml libelf findlib camlp4 sedlex ocamlbuild ocaml_lwt wtf8 dtoa
+    ocaml libelf findlib camlp4 sedlex ocamlbuild lwt_ppx wtf8 dtoa
   ] ++ optionals stdenv.isDarwin [ cf-private CoreServices ];
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/tools/analysis/include-what-you-use/default.nix b/pkgs/development/tools/analysis/include-what-you-use/default.nix
index f2481013fbb..9aac638d0a8 100644
--- a/pkgs/development/tools/analysis/include-what-you-use/default.nix
+++ b/pkgs/development/tools/analysis/include-what-you-use/default.nix
@@ -27,8 +27,8 @@ stdenv.mkDerivation rec {
       actually needed for this file (for both .cc and .h files), and by
       replacing #includes with forward-declares when possible.
     '';
-    homepage = http://include-what-you-use.org;
+    homepage = https://include-what-you-use.org;
     license = licenses.bsd3;
-    platforms = platforms.linux;
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/tools/analysis/kcov/aarch64_nt_prstatus.patch b/pkgs/development/tools/analysis/kcov/aarch64_nt_prstatus.patch
new file mode 100644
index 00000000000..d5c3662e9ab
--- /dev/null
+++ b/pkgs/development/tools/analysis/kcov/aarch64_nt_prstatus.patch
@@ -0,0 +1,12 @@
+diff --git a/src/engines/ptrace.cc b/src/engines/ptrace.cc
+index 59b615f..e02cddf 100644
+--- a/src/engines/ptrace.cc
++++ b/src/engines/ptrace.cc
+@@ -21,6 +21,7 @@
+ 
+ #if defined(__aarch64__)
+ #  include <sys/uio.h>
++#  include <elf.h>
+ #endif
+ 
+ #include <map>
diff --git a/pkgs/development/tools/analysis/kcov/default.nix b/pkgs/development/tools/analysis/kcov/default.nix
index 3c3665e7220..7d75d9a34e1 100644
--- a/pkgs/development/tools/analysis/kcov/default.nix
+++ b/pkgs/development/tools/analysis/kcov/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "kcov-${version}";
-  version = "34";
+  version = "35";
 
   src = fetchFromGitHub {
     owner = "SimonKagstrom";
     repo = "kcov";
     rev = "v${version}";
-    sha256 = "1i4pn5na8m308pssk8585nmqi8kwd63a9h2rkjrn4w78ibmxvj01";
+    sha256 = "1da9vm87pi5m9ika0q1f1ai85w3vwlap8yln147yr9sc37jp5jcw";
   };
 
   preConfigure = "patchShebangs src/bin-to-c-source.py";
@@ -16,6 +16,8 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ zlib curl elfutils python libiberty libopcodes ];
 
+  patches = [ ./aarch64_nt_prstatus.patch ];
+
   enableParallelBuilding = true;
 
   meta = with stdenv.lib; {
@@ -32,7 +34,7 @@ stdenv.mkDerivation rec {
     homepage = http://simonkagstrom.github.io/kcov/index.html;
     license = licenses.gpl2;
 
-    maintainers = [ maintainers.gal_bolle ];
+    maintainers = with maintainers; [ gal_bolle ekleog ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/development/tools/analysis/panopticon/default.nix b/pkgs/development/tools/analysis/panopticon/default.nix
new file mode 100644
index 00000000000..a50f6993c33
--- /dev/null
+++ b/pkgs/development/tools/analysis/panopticon/default.nix
@@ -0,0 +1,52 @@
+{ stdenv, fetchFromGitHub, rustPlatform, qt5, git, cmake
+, pkgconfig, makeWrapper }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "panopticon";
+  version = "unstable-20171202";
+  name = "${pname}-${version}";
+
+  src = fetchFromGitHub {
+    owner = "das-labor";
+    repo = pname;
+    rev = "33ffec0d6d379d51b38d6ea00d040f54b1356ae4";
+    sha256 = "1zv87nqhrzsxx0m891df4vagzssj3kblfv9yp7j96dw0vn9950qa";
+  };
+
+  nativeBuildInputs = [ cmake ];
+  buildInputs = [ makeWrapper ];
+  propagatedBuildInputs = with qt5; [
+     qt5.qtbase
+     qtdeclarative
+     qtsvg
+     qtquickcontrols2
+     qtgraphicaleffects
+     pkgconfig
+     git
+  ];
+
+  cargoSha256 = "02k21mh0jyc6vz52jx1qijsfk07pkdv1g2hqx7gyvmm4v10vbfna";
+  doCheck = false;
+
+  postInstall = ''
+    mkdir -p $out/share/${pname} $out/bin
+    cp -R qml $out/share/${pname}
+    mv $out/bin/${pname} $out/share/${pname}
+    chmod +x $out/share/${pname}
+    makeWrapper $out/share/${pname}/${pname} $out/bin/${pname}
+     '';
+
+  meta = with stdenv.lib; {
+    description = "A libre cross-platform disassembler";
+    longDescription = ''
+      Panopticon is a cross platform disassembler for reverse
+      engineering written in Rust. It can disassemble AMD64,
+      x86, AVR and MOS 6502 instruction sets and open ELF files.
+      Panopticon comes with Qt GUI for browsing and annotating
+      control flow graphs.
+    '';
+    license = with licenses; [ gpl3 ];
+    maintainers = with maintainers; [ leenaars ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/development/tools/analysis/pmd/default.nix b/pkgs/development/tools/analysis/pmd/default.nix
index cdf59cd867c..6f908128e59 100644
--- a/pkgs/development/tools/analysis/pmd/default.nix
+++ b/pkgs/development/tools/analysis/pmd/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "pmd-${version}";
-  version = "6.0.1";
+  version = "6.3.0";
 
   buildInputs = [ unzip ];
 
   src = fetchurl {
     url = "mirror://sourceforge/pmd/pmd-bin-${version}.zip";
-    sha256 = "13wmmy345p8bzvxdb8ldpkv85m3m8x9qs5f0jjhn0gkn65a988iq";
+    sha256 = "09x6mpqz4z583lvliipkmvlv3qmmwi7zjzgfjhwyp27faf2pz1ym";
   };
 
   installPhase = ''
diff --git a/pkgs/development/tools/analysis/qcachegrind/default.nix b/pkgs/development/tools/analysis/qcachegrind/default.nix
index 15be7554c19..30d82aca83a 100644
--- a/pkgs/development/tools/analysis/qcachegrind/default.nix
+++ b/pkgs/development/tools/analysis/qcachegrind/default.nix
@@ -12,14 +12,6 @@ in stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ qmake ];
 
-  patches = [
-    (fetchpatch {
-      name = "fix-qt5_10-build.patch";
-      url = https://github.com/KDE/kcachegrind/commit/c41607a.patch;
-      sha256 = "00kh5im3hpcarch8rc2dsgxsajfmd8vd7rry9x6mxrbkgr4ifq8y";
-    })
-  ];
-
   postInstall = ''
      mkdir -p $out/bin
      cp -p converters/dprof2calltree $out/bin/dprof2calltree
diff --git a/pkgs/development/tools/analysis/radare2-cutter/default.nix b/pkgs/development/tools/analysis/radare2-cutter/default.nix
index 3cd1d309e15..d1ff712be2d 100644
--- a/pkgs/development/tools/analysis/radare2-cutter/default.nix
+++ b/pkgs/development/tools/analysis/radare2-cutter/default.nix
@@ -3,35 +3,17 @@
 
 stdenv.mkDerivation rec {
   name = "radare2-cutter-${version}";
-  version = "1.1";
+  version = "1.3";
 
   src = fetchFromGitHub {
     owner = "radareorg";
     repo = "cutter";
     rev = "v${version}";
-    sha256 = "02m5sf45n455hn34y7hrqanj830rc5xhz2ppp1z3mzbz0s515pfl";
+    sha256 = "1z76yz2i9k8mxjk85k2agdj941szdbl2gi66p3dh50878zqavfrr";
   };
 
   postUnpack = "export sourceRoot=$sourceRoot/src";
 
-  patches = [
-    # Fixup version number :D
-    (fetchpatch {
-      url = "https://github.com/radareorg/cutter/commit/69506b64600df632afdca8b680baa7d946c78644.patch";
-      sha256 = "0ks3ixz8bycjcfi26bd0p6z7qaplhq00alw44hsfzpdm4bmr01x0";
-    })
-    (fetchpatch {
-      url = "https://github.com/radareorg/cutter/commit/8b52c66f4f0091cd9d97389b32aa519c2c602e2b.patch";
-      sha256 = "0wcdn35lx2943pfzm7mkg4sr82pm0qz3yxf74m8fxbd70s3w0gkm";
-    })
-
-    # case-insensitive filtering
-    (fetchpatch {
-      url = "https://github.com/radareorg/cutter/commit/0ebd34370bcaed00000168147572bb78106eeab1.patch";
-      sha256 = "0sc50jwhncfnd2i5mlyld4dbdzi2ws7nh4yglkhlap9l9h1jxn20";
-    })
-  ];
-
   patchFlags = [ "-p2" ];
 
   nativeBuildInputs = [ qmake pkgconfig ];
diff --git a/pkgs/development/tools/analysis/radare2/default.nix b/pkgs/development/tools/analysis/radare2/default.nix
index 6a7992b0131..5f7b389cc2b 100644
--- a/pkgs/development/tools/analysis/radare2/default.nix
+++ b/pkgs/development/tools/analysis/radare2/default.nix
@@ -1,9 +1,10 @@
-{stdenv, fetchFromGitHub, fetchgit, fetchurl, fetchpatch, pkgconfig, libusb, readline, libewf, perl, zlib, openssl, git,
-gtk2 ? null, vte ? null, gtkdialog ? null,
-python ? null,
-ruby ? null,
-lua ? null,
-useX11, rubyBindings, pythonBindings, luaBindings}:
+{stdenv, fetchFromGitHub, pkgconfig, libusb, readline, libewf, perl, zlib, openssl
+, gtk2 ? null, vte ? null, gtkdialog ? null
+, python ? null
+, ruby ? null
+, lua ? null
+, useX11, rubyBindings, pythonBindings, luaBindings
+}:
 
 assert useX11 -> (gtk2 != null && vte != null && gtkdialog != null);
 assert rubyBindings -> ruby != null;
@@ -13,23 +14,26 @@ let
   inherit (stdenv.lib) optional;
 in
 stdenv.mkDerivation rec {
-  version = "2.3.0";
+  version = "2.5.0";
   name = "radare2-${version}";
 
   src = fetchFromGitHub {
     owner = "radare";
     repo = "radare2";
     rev = version;
-    sha256 = "0x5vcprqf0fnj876mdvryfvg7ymbrw1cxrr7a06v0swg7yql1lpw";
+    sha256 = "07x94chkhpn3wgw4pypn35psxq370j6xwmhf1mh5z27cqkq7c2yd";
   };
 
+  # do not try to update capstone
+  WITHOUT_PULL=1;
+
   postPatch = let
-    cs_tip = "bdbc57de63725a98732ddc34b48de96f8ada66f2"; # version from $sourceRoot/shlr/Makefile
-    capstone = fetchgit {
-      url = "https://github.com/aquynh/capstone.git";
+    cs_tip = "4a1b580d069c82d60070d0869a87000db7cdabe2"; # version from $sourceRoot/shlr/Makefile
+    capstone = fetchFromGitHub {
+      owner = "aquynh";
+      repo = "capstone";
       rev = cs_tip;
-      sha256 = "1sqxpjf2dlrg87dm9p39p5d1qzahrnfnrjijpv1xg1shax439jni";
-      leaveDotGit = true;
+      sha256 = "0v6rxfpxjq0hf40qn1n5m5wsv1dv6p1j8vm94a708lhvcbk9nkv8";
     };
   in ''
     if ! grep -F "CS_TIP=${cs_tip}" shlr/Makefile; then echo "CS_TIP mismatch"; exit 1; fi
@@ -39,7 +43,7 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  nativeBuildInputs = [ pkgconfig git ];
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ readline libusb libewf perl zlib openssl]
     ++ optional useX11 [gtkdialog vte gtk2]
     ++ optional rubyBindings [ruby]
diff --git a/pkgs/development/tools/analysis/retdec/default.nix b/pkgs/development/tools/analysis/retdec/default.nix
index f88546163d4..a4c62e6fc32 100644
--- a/pkgs/development/tools/analysis/retdec/default.nix
+++ b/pkgs/development/tools/analysis/retdec/default.nix
@@ -116,5 +116,6 @@ in stdenv.mkDerivation rec {
     homepage = https://retdec.com;
     license = licenses.mit;
     maintainers = with maintainers; [ dtzWill ];
+    broken = withPEPatterns; # retdec-full is broken, 2018-04-11
   };
 }
diff --git a/pkgs/development/tools/analysis/spin/default.nix b/pkgs/development/tools/analysis/spin/default.nix
index 284bf26782f..a59b452b432 100644
--- a/pkgs/development/tools/analysis/spin/default.nix
+++ b/pkgs/development/tools/analysis/spin/default.nix
@@ -7,12 +7,15 @@ let
 
 in stdenv.mkDerivation rec {
   name = "spin-${version}";
-  version = "6.4.7";
+  version = "6.4.8";
   url-version = stdenv.lib.replaceChars ["."] [""] version;
 
   src = fetchurl {
-    url = "http://spinroot.com/spin/Src/spin${url-version}.tar.gz";
-    sha256 = "17m2xaag0jns8hsa4466zxq35ylg9fnzynzvjjmx4ympbiil6mqv";
+    # The homepage is behind CloudFlare anti-DDoS protection, which blocks cURL.
+    # Dropbox mirror from developers:
+    # https://www.dropbox.com/sh/fgzipzp4wpo3qc1/AADZPqS4aoR-pjNF6OQXRLQHa
+    url = "https://www.dropbox.com/sh/fgzipzp4wpo3qc1/AADya1lOBJZDbgWGrUSq-dfHa/spin${url-version}.tar.gz?raw=1";
+    sha256 = "1rvamdsf0igzpndlr4ck7004jw9x1bg4xyf78zh5k9sp848vnd80";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/development/tools/analysis/valgrind/default.nix b/pkgs/development/tools/analysis/valgrind/default.nix
index 875feea84d4..131533896ff 100644
--- a/pkgs/development/tools/analysis/valgrind/default.nix
+++ b/pkgs/development/tools/analysis/valgrind/default.nix
@@ -59,6 +59,8 @@ stdenv.mkDerivation rec {
   configureFlags =
     stdenv.lib.optional (stdenv.system == "x86_64-linux" || stdenv.system == "x86_64-darwin") "--enable-only64bit";
 
+  doCheck = false; # fails
+
   postInstall = ''
     for i in $out/lib/valgrind/*.supp; do
       substituteInPlace $i \
diff --git a/pkgs/development/tools/ansible-lint/default.nix b/pkgs/development/tools/ansible-lint/default.nix
new file mode 100644
index 00000000000..16d2782b734
--- /dev/null
+++ b/pkgs/development/tools/ansible-lint/default.nix
@@ -0,0 +1,32 @@
+{ stdenv, fetchFromGitHub, pythonPackages, ansible }:
+
+pythonPackages.buildPythonPackage rec {
+  pname = "ansible-lint";
+  version = "3.4.20";
+
+  src = fetchFromGitHub {
+    owner = "willthames";
+    repo = "ansible-lint";
+    rev = "v${version}";
+    sha256 = "0wgczijrg5azn2f63hjbkas1w0f5hbvxnk3ia53w69mybk0gy044";
+  };
+
+  propagatedBuildInputs = with pythonPackages; [ pyyaml six ] ++ [ ansible ];
+
+  checkInputs = [ pythonPackages.nose ];
+
+  postPatch = ''
+    patchShebangs bin/ansible-lint
+  '';
+
+  checkPhase = ''
+    nosetests test
+  '';
+
+  meta = {
+    homepage = "https://github.com/willthames/ansible-lint";
+    description = "Best practices checker for Ansible";
+    license = stdenv.lib.licenses.mit;
+    maintainers = [ stdenv.lib.maintainers.sengaya ];
+  };
+}
diff --git a/pkgs/development/tools/apktool/default.nix b/pkgs/development/tools/apktool/default.nix
index 158de9226c6..91caf0348a4 100644
--- a/pkgs/development/tools/apktool/default.nix
+++ b/pkgs/development/tools/apktool/default.nix
@@ -2,14 +2,14 @@
 
 stdenv.mkDerivation rec {
   name = "apktool-${version}";
-  version = "2.3.0";
+  version = "2.3.3";
 
   src = fetchurl {
     urls = [
       "https://bitbucket.org/iBotPeaches/apktool/downloads/apktool_${version}.jar"
       "https://github.com/iBotPeaches/Apktool/releases/download/v${version}/apktool_${version}.jar"
     ];
-    sha256 = "b724c158ec99dbad723024e259fd73e5135c40d652a3c599cec6ade9264a568e";
+    sha256 = "1wjpn1wxg8fid2mch5ili35xqvasa3pk8h1xaiygw5idpxh3cm0f";
   };
 
   phases = [ "installPhase" ];
diff --git a/pkgs/development/tools/build-managers/apache-ant/1.9.nix b/pkgs/development/tools/build-managers/apache-ant/1.9.nix
new file mode 100644
index 00000000000..8816a005ca0
--- /dev/null
+++ b/pkgs/development/tools/build-managers/apache-ant/1.9.nix
@@ -0,0 +1,111 @@
+{ fetchurl, stdenv, coreutils, makeWrapper }:
+
+let version = "1.9.6"; in
+
+stdenv.mkDerivation {
+  name = "ant-${version}";
+
+  buildInputs = [ makeWrapper ];
+
+  src = fetchurl {
+    url = "mirror://apache/ant/binaries/apache-ant-${version}-bin.tar.bz2";
+    sha256 = "1cwd5vq175gyicw0hkm8idwa33zxwhf7xlxywaqxcqqdjql0jfx4";
+  };
+
+  contrib = fetchurl {
+    url = mirror://sourceforge/ant-contrib/ant-contrib-1.0b3-bin.tar.bz2;
+    sha256 = "96effcca2581c1ab42a4828c770b48d54852edf9e71cefc9ed2ffd6590571ad1";
+  };
+
+  installPhase =
+    ''
+      mkdir -p $out/bin $out/lib/ant
+      mv * $out/lib/ant/
+
+      # Get rid of the manual (35 MiB).  Maybe we should put this in a
+      # separate output.  Keep the antRun script since it's vanilla sh
+      # and needed for the <exec/> task (but since we set ANT_HOME to
+      # a weird value, we have to move antRun to a weird location).
+      # Get rid of the other Ant scripts since we provide our own.
+      mv $out/lib/ant/bin/antRun $out/bin/
+      rm -rf $out/lib/ant/{manual,bin,WHATSNEW}
+      mkdir $out/lib/ant/bin
+      mv $out/bin/antRun $out/lib/ant/bin/
+
+      # Install ant-contrib.
+      unpackFile $contrib
+      cp -p ant-contrib/ant-contrib-*.jar $out/lib/ant/lib/
+
+      cat >> $out/bin/ant <<EOF
+      #! ${stdenv.shell} -e
+
+      ANT_HOME=$out/lib/ant
+
+      # Find the JDK by looking for javac.  As a fall-back, find the
+      # JRE by looking for java.  The latter allows just the JRE to be
+      # used with (say) ECJ as the compiler.  Finally, allow the GNU
+      # JVM.
+      if [ -z "\$JAVA_HOME" ]; then
+          for i in javac java gij; do
+              if p="\$(type -p \$i)"; then
+                  export JAVA_HOME="\$(${coreutils}/bin/dirname \$(${coreutils}/bin/dirname \$(${coreutils}/bin/readlink -f \$p)))"
+                  break
+              fi
+          done
+          if [ -z "\$JAVA_HOME" ]; then
+              echo "\$0: cannot find the JDK or JRE" >&2
+              exit 1
+          fi
+      fi
+
+      if [ -z \$NIX_JVM ]; then
+          if [ -e \$JAVA_HOME/bin/java ]; then
+              NIX_JVM=\$JAVA_HOME/bin/java
+          elif [ -e \$JAVA_HOME/bin/gij ]; then
+              NIX_JVM=\$JAVA_HOME/bin/gij
+          else
+              NIX_JVM=java
+          fi
+      fi
+
+      LOCALCLASSPATH="\$ANT_HOME/lib/ant-launcher.jar\''${LOCALCLASSPATH:+:}\$LOCALCLASSPATH"
+
+      exec \$NIX_JVM \$NIX_ANT_OPTS \$ANT_OPTS -classpath "\$LOCALCLASSPATH" \
+          -Dant.home=\$ANT_HOME -Dant.library.dir="\$ANT_LIB" \
+          org.apache.tools.ant.launch.Launcher \$NIX_ANT_ARGS \$ANT_ARGS \
+          -cp "\$CLASSPATH" "\$@"
+      EOF
+
+      chmod +x $out/bin/ant
+    ''; # */
+
+  meta = {
+    homepage = http://ant.apache.org/;
+    description = "A Java-based build tool";
+
+    longDescription = ''
+      Apache Ant is a Java-based build tool.  In theory, it is kind of like
+      Make, but without Make's wrinkles.
+
+      Why another build tool when there is already make, gnumake, nmake, jam,
+      and others? Because all those tools have limitations that Ant's
+      original author couldn't live with when developing software across
+      multiple platforms.  Make-like tools are inherently shell-based -- they
+      evaluate a set of dependencies, then execute commands not unlike what
+      you would issue in a shell.  This means that you can easily extend
+      these tools by using or writing any program for the OS that you are
+      working on.  However, this also means that you limit yourself to the
+      OS, or at least the OS type such as Unix, that you are working on.
+
+      Ant is different.  Instead of a model where it is extended with
+      shell-based commands, Ant is extended using Java classes.  Instead of
+      writing shell commands, the configuration files are XML-based, calling
+      out a target tree where various tasks get executed.  Each task is run
+      by an object that implements a particular Task interface.
+    '';
+
+    license = stdenv.lib.licenses.asl20;
+    maintainers = [ stdenv.lib.maintainers.eelco ];
+    platforms = stdenv.lib.platforms.all;
+  };
+}
diff --git a/pkgs/development/tools/build-managers/apache-ant/default.nix b/pkgs/development/tools/build-managers/apache-ant/default.nix
index 8816a005ca0..b6c2702485b 100644
--- a/pkgs/development/tools/build-managers/apache-ant/default.nix
+++ b/pkgs/development/tools/build-managers/apache-ant/default.nix
@@ -1,6 +1,6 @@
 { fetchurl, stdenv, coreutils, makeWrapper }:
 
-let version = "1.9.6"; in
+let version = "1.10.2"; in
 
 stdenv.mkDerivation {
   name = "ant-${version}";
@@ -9,7 +9,7 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "mirror://apache/ant/binaries/apache-ant-${version}-bin.tar.bz2";
-    sha256 = "1cwd5vq175gyicw0hkm8idwa33zxwhf7xlxywaqxcqqdjql0jfx4";
+    sha256 = "0662qammjvibh9kgkxzadkayfn2r7iwnagbwaw28crqqclrb2rp1";
   };
 
   contrib = fetchurl {
diff --git a/pkgs/development/tools/build-managers/bazel/0.4.nix b/pkgs/development/tools/build-managers/bazel/0.4.nix
index d131232e96d..7fa39ef2162 100644
--- a/pkgs/development/tools/build-managers/bazel/0.4.nix
+++ b/pkgs/development/tools/build-managers/bazel/0.4.nix
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
     description = "Build tool that builds code quickly and reliably";
     license = licenses.asl20;
     maintainers = with maintainers; [ cstrahan philandstuff ];
-    platforms = platforms.unix;
+    platforms = platforms.linux;
   };
 
   name = "bazel-${version}";
diff --git a/pkgs/development/tools/build-managers/bazel/default.nix b/pkgs/development/tools/build-managers/bazel/default.nix
index 6e974b7e93d..d5eaa24c167 100644
--- a/pkgs/development/tools/build-managers/bazel/default.nix
+++ b/pkgs/development/tools/build-managers/bazel/default.nix
@@ -6,7 +6,7 @@
 
 stdenv.mkDerivation rec {
 
-  version = "0.10.1";
+  version = "0.12.0";
 
   meta = with stdenv.lib; {
     homepage = "https://github.com/bazelbuild/bazel/";
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "https://github.com/bazelbuild/bazel/releases/download/${version}/bazel-${version}-dist.zip";
-    sha256 = "0rz6zvkzyglf0mmc178avf52zynz487m4v0089ilsbrgv7v4i0kh";
+    sha256 = "3b3e7dc76d145046fdc78db7cac9a82bc8939d3b291e53a7ce85315feb827754";
   };
 
   sourceRoot = ".";
diff --git a/pkgs/development/tools/build-managers/buildbot/default.nix b/pkgs/development/tools/build-managers/buildbot/default.nix
index 3e994227ef0..ed73d26768a 100644
--- a/pkgs/development/tools/build-managers/buildbot/default.nix
+++ b/pkgs/development/tools/build-managers/buildbot/default.nix
@@ -14,11 +14,11 @@ let
   package = pythonPackages.buildPythonApplication rec {
     name = "${pname}-${version}";
     pname = "buildbot";
-    version = "1.0.0";
+    version = "1.1.1";
 
     src = pythonPackages.fetchPypi {
       inherit pname version;
-      sha256 = "0y7gpymxl09gd9dyqj7zqhaihpl9da1v8ppxi4r161ywd8jv9b1g";
+      sha256 = "1vcmanx3ma3cfyiddjcmsnx6qmxd3m5blqax04rcsiq2zq4dmzir";
     };
 
     buildInputs = with pythonPackages; [
@@ -76,6 +76,9 @@ let
       ./skip_test_linux_distro.patch
     ];
 
+    # TimeoutErrors on slow machines -> aarch64
+    doCheck = !stdenv.isAarch64;
+
     postPatch = ''
       substituteInPlace buildbot/scripts/logwatcher.py --replace '/usr/bin/tail' "$(type -P tail)"
     '';
diff --git a/pkgs/development/tools/build-managers/buildbot/pkg.nix b/pkgs/development/tools/build-managers/buildbot/pkg.nix
index 07480d15f21..ef8a0cdc38e 100644
--- a/pkgs/development/tools/build-managers/buildbot/pkg.nix
+++ b/pkgs/development/tools/build-managers/buildbot/pkg.nix
@@ -3,11 +3,11 @@
 buildPythonPackage rec {
   name = "${pname}-${version}";
   pname = "buildbot-pkg";
-  version = "1.0.0";
+  version = "1.1.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1rs2x0b2v92xfsfk0f2nr9x8lz5baawf768s58brj4jiab6mq312";
+    sha256 = "7b255f5ec97946c3d32e822b8fcbff0459cfe4f94fb26ee4813ffd80440c93e8";
   };
 
   propagatedBuildInputs = [ setuptools ];
diff --git a/pkgs/development/tools/build-managers/buildbot/plugins.nix b/pkgs/development/tools/build-managers/buildbot/plugins.nix
index 1d1b963df99..c8a12c19264 100644
--- a/pkgs/development/tools/build-managers/buildbot/plugins.nix
+++ b/pkgs/development/tools/build-managers/buildbot/plugins.nix
@@ -11,7 +11,7 @@
 
     src = pythonPackages.fetchPypi {
       inherit pname version format;
-      sha256 = "0nmrq50c5ib185rpb8ai1mm7gjq2mjvxik1kqrjfa62i1ia9ikyj";
+      sha256 = "01v9w8iy9q6fwrmz6db7fanjixax7whn74k67bj0czrbjjkpfzvb";
     };
 
     meta = with stdenv.lib; {
@@ -29,7 +29,7 @@
 
     src = pythonPackages.fetchPypi {
       inherit pname version;
-      sha256 = "1laz7l7cbbz0czb6skxw314bd2qk2f63qw3n2rs7m7v11gd9cdll";
+      sha256 = "1cwxkzpgwzk9b361rj980bbnmhzzsr46pgf94zqpg3na8xm6hpwj";
     };
 
     propagatedBuildInputs = with pythonPackages; [ buildbot-pkg ];
@@ -49,7 +49,7 @@
 
     src = pythonPackages.fetchPypi {
       inherit pname version;
-      sha256 = "0mmri8c4n1zwxc1dx2a11yllrmnwqqxjvvil9224lbs98mpchppi";
+      sha256 = "0ival58f50128315d0nck63pzya2zm7q6hvgmxfbjl0my8il9p2l";
     };
 
     propagatedBuildInputs = with pythonPackages; [ buildbot-pkg ];
@@ -69,7 +69,7 @@
 
     src = pythonPackages.fetchPypi {
       inherit pname version;
-      sha256 = "0nwlw2m3qfifia6gy3d4lrnycra50k98ax071p2zjqknanh563vr";
+      sha256 = "0jiwfb699nqbmpcm88y187ig4ha6p7d4v98mjwa9blhm54dk8kh1";
     };
 
     propagatedBuildInputs = with pythonPackages; [ buildbot-pkg ];
@@ -89,7 +89,7 @@
 
     src = pythonPackages.fetchPypi {
       inherit pname version;
-      sha256 = "1zml9bd910zwcby4vr3lmzap2grinha2w5zgb2cmixmz7hfrqswp";
+      sha256 = "00mfn24gbwr2p3n7nsijzv949l7hiksiafhma18nnh40r8f4l5f2";
     };
 
     propagatedBuildInputs = with pythonPackages; [ buildbot-pkg ];
@@ -97,7 +97,7 @@
     meta = with stdenv.lib; {
       homepage = http://buildbot.net/;
       description = "Buildbot WSGI dashboards Plugin";
-      maintainers = with maintainers; [ akazakov ];
+      maintainers = with maintainers; [ ];
       license = licenses.gpl2;
     };
   };
diff --git a/pkgs/development/tools/build-managers/buildbot/worker.nix b/pkgs/development/tools/build-managers/buildbot/worker.nix
index 75e6bb0404b..b1cfb6aeaf2 100644
--- a/pkgs/development/tools/build-managers/buildbot/worker.nix
+++ b/pkgs/development/tools/build-managers/buildbot/worker.nix
@@ -3,11 +3,11 @@
 pythonPackages.buildPythonApplication (rec {
   name = "${pname}-${version}";
   pname = "buildbot-worker";
-  version = "1.0.0";
+  version = "1.1.1";
 
   src = pythonPackages.fetchPypi {
     inherit pname version;
-    sha256 = "0ws31ypmksah1c83h4npwg560p8v7n9j6l94p79y5pispjsgzqzl";
+    sha256 = "02xfzlcy3cnvc3cmpl9gs6209a3qm71yz5pahbws9jcyhv6fbrrm";
   };
 
   buildInputs = with pythonPackages; [ setuptoolsTrial mock ];
diff --git a/pkgs/development/tools/build-managers/cmake/2.8.nix b/pkgs/development/tools/build-managers/cmake/2.8.nix
index b4b2a4210d2..e014276cd67 100644
--- a/pkgs/development/tools/build-managers/cmake/2.8.nix
+++ b/pkgs/development/tools/build-managers/cmake/2.8.nix
@@ -1,11 +1,10 @@
 { stdenv, fetchurl, fetchpatch, replace, curl, expat, zlib, bzip2
-, useNcurses ? false, ncurses, useQt4 ? false, qt4, wantPS ? false, ps ? null
+, useNcurses ? false, ncurses, useQt4 ? false, qt4, ps
 , buildPlatform, hostPlatform
 }:
 
 with stdenv.lib;
 
-assert wantPS -> (ps != null);
 assert stdenv ? cc;
 assert stdenv.cc ? libc;
 
@@ -29,25 +28,30 @@ stdenv.mkDerivation rec {
   enableParallelBuilding = true;
 
   patches =
-    [(fetchpatch { # see http://www.cmake.org/Bug/view.php?id=13959
+    [(fetchpatch { # see https://www.cmake.org/Bug/view.php?id=13959
       name = "FindFreetype-2.5.patch";
-      url = "http://www.cmake.org/Bug/file_download.php?file_id=4660&type=bug";
+      url = "https://www.cmake.org/Bug/file_download.php?file_id=4660&type=bug";
       sha256 = "136z63ff83hnwd247cq4m8m8164pklzyl5i2csf5h6wd8p01pdkj";
     })] ++
     # Don't search in non-Nix locations such as /usr, but do search in our libc.
     [ ./search-path.patch ] ++
     optional (hostPlatform != buildPlatform) (fetchurl {
       name = "fix-darwin-cross-compile.patch";
-      url = "http://public.kitware.com/Bug/file_download.php?"
+      url = "https://public.kitware.com/Bug/file_download.php?"
           + "file_id=4981&type=bug";
       sha256 = "16acmdr27adma7gs9rs0dxdiqppm15vl3vv3agy7y8s94wyh4ybv";
     });
 
+  postPatch = ''
+    substituteInPlace Utilities/cmlibarchive/CMakeLists.txt \
+      --replace '"-framework CoreServices"' '""'
+  '';
+
   buildInputs = [ curl expat zlib bzip2 ]
     ++ optional useNcurses ncurses
     ++ optional useQt4 qt4;
 
-  propagatedBuildInputs = optional wantPS ps;
+  propagatedBuildInputs = [ ps ];
 
   CMAKE_PREFIX_PATH = concatStringsSep ":"
     (concatMap (p: [ (p.dev or p) (p.out or p) ]) buildInputs);
@@ -74,9 +78,9 @@ stdenv.mkDerivation rec {
     '';
 
   meta = {
-    homepage = http://www.cmake.org/;
+    homepage = https://cmake.org;
     description = "Cross-Platform Makefile Generator";
-    platforms = if useQt4 then qt4.meta.platforms else stdenv.lib.platforms.linux;
+    platforms = if useQt4 then qt4.meta.platforms else stdenv.lib.platforms.unix;
     maintainers = with stdenv.lib.maintainers; [ ];
   };
 }
diff --git a/pkgs/development/tools/build-managers/cmake/default.nix b/pkgs/development/tools/build-managers/cmake/default.nix
index b40b284b759..7f7948bc323 100644
--- a/pkgs/development/tools/build-managers/cmake/default.nix
+++ b/pkgs/development/tools/build-managers/cmake/default.nix
@@ -105,6 +105,7 @@ stdenv.mkDerivation rec {
   # CMAKE_SYSTEM_NAME, etc.
   configurePlatforms = [ ];
 
+  doCheck = false; # fails
 
   meta = with stdenv.lib; {
     homepage = http://www.cmake.org/;
diff --git a/pkgs/development/tools/build-managers/cmake/setup-hook.sh b/pkgs/development/tools/build-managers/cmake/setup-hook.sh
index 003f900c954..733dd948220 100755
--- a/pkgs/development/tools/build-managers/cmake/setup-hook.sh
+++ b/pkgs/development/tools/build-managers/cmake/setup-hook.sh
@@ -41,6 +41,20 @@ cmakeConfigurePhase() {
     cmakeFlags="-DCMAKE_RANLIB=$(command -v $RANLAB) $cmakeFlags"
     cmakeFlags="-DCMAKE_STRIP=$(command -v $STRIP) $cmakeFlags"
 
+    # on macOS we want to prefer Unix-style headers to Frameworks
+    # because we usually do not package the framework
+    cmakeFlags="-DCMAKE_FIND_FRAMEWORK=last $cmakeFlags"
+
+    # we never want to use the global macOS SDK
+    cmakeFlags="-DCMAKE_OSX_SYSROOT= $cmakeFlags"
+
+    # disable OSX deployment target
+    # we don't want our binaries to have a "minimum" OSX version
+    cmakeFlags="-DCMAKE_OSX_DEPLOYMENT_TARGET= $cmakeFlags"
+
+    # correctly detect our clang compiler
+    cmakeFlags="-DCMAKE_POLICY_DEFAULT_CMP0025=NEW $cmakeFlags"
+
     # This installs shared libraries with a fully-specified install
     # name. By default, cmake installs shared libraries with just the
     # basename as the install name, which means that, on Darwin, they
diff --git a/pkgs/development/tools/build-managers/conan/default.nix b/pkgs/development/tools/build-managers/conan/default.nix
index 4a2afbeedfe..849c722e554 100644
--- a/pkgs/development/tools/build-managers/conan/default.nix
+++ b/pkgs/development/tools/build-managers/conan/default.nix
@@ -1,27 +1,51 @@
-{ lib, buildPythonApplication, fetchPypi
-, requests, fasteners, pyyaml, pyjwt, colorama, patch
-, bottle, pluginbase, six, distro, pylint, node-semver
-, future, pygments, mccabe
-}:
+{ lib, fetchpatch, python }:
 
-buildPythonApplication rec {
-  version = "0.28.1";
+let newPython = python.override {
+  packageOverrides = self: super: {
+    distro = super.distro.overridePythonAttrs (oldAttrs: rec {
+      version = "1.1.0";
+      src = oldAttrs.src.override {
+        inherit version;
+        sha256 = "1vn1db2akw98ybnpns92qi11v94hydwp130s8753k6ikby95883j";
+      };
+    });
+    node-semver = super.node-semver.overridePythonAttrs (oldAttrs: rec {
+      version = "0.2.0";
+      src = oldAttrs.src.override {
+        inherit version;
+        sha256 = "1080pdxrvnkr8i7b7bk0dfx6cwrkkzzfaranl7207q6rdybzqay3";
+      };
+    });
+  };
+};
+
+in newPython.pkgs.buildPythonApplication rec {
+  version = "1.2.3";
   pname = "conan";
 
-  src = fetchPypi {
+  src = newPython.pkgs.fetchPypi {
     inherit pname version;
-    sha256 = "0zf564iqh0099yd779f9fgk21qyp87d7cmgfj34hmncf8y3qh32a";
+    sha256 = "623e92d99cd0f4ec92552b23af66a6bb066071e213659f502480bb9a96d7be23";
   };
 
-  propagatedBuildInputs = [
+  checkInputs = with newPython.pkgs; [
+    nose
+    parameterized
+    mock
+    webtest
+    codecov
+  ];
+
+  propagatedBuildInputs = with newPython.pkgs; [
     requests fasteners pyyaml pyjwt colorama patch
     bottle pluginbase six distro pylint node-semver
-    future pygments mccabe
+    future pygments mccabe deprecation
   ];
 
-  # enable tests once all of these pythonPackages available:
-  # [ nose nose_parameterized mock webtest codecov ]
-  doCheck = false;
+  preCheck = ''
+    export HOME="$TMP/conan-home"
+    mkdir -p "$HOME"
+  '';
 
   meta = with lib; {
     homepage = https://conan.io;
diff --git a/pkgs/development/tools/build-managers/doit/default.nix b/pkgs/development/tools/build-managers/doit/default.nix
index 200ec6429a7..e6ec8c2a80c 100644
--- a/pkgs/development/tools/build-managers/doit/default.nix
+++ b/pkgs/development/tools/build-managers/doit/default.nix
@@ -3,14 +3,14 @@
 let
 
   name = "doit";
-  version = "0.30.3";
+  version = "0.31.1";
 
 in python3Packages.buildPythonApplication {
   name = "${name}-${version}";
 
   src = fetchurl {
     url = "mirror://pypi/d/${name}/${name}-${version}.tar.gz";
-    sha256 = "1fcsslc3mc4bszq5xdqbxv37720s1s31d6pbfwc2iyxk1x2wi219";
+    sha256 = "1spm8vfjh4kvalaj0i2ggbdln1yy5k68d8mfwfnpqlzxxx4ikl5s";
   };
 
   buildInputs = with python3Packages; [ mock pytest ];
diff --git a/pkgs/development/tools/build-managers/gn/default.nix b/pkgs/development/tools/build-managers/gn/default.nix
index 5e7dd5214a0..35f54369abd 100644
--- a/pkgs/development/tools/build-managers/gn/default.nix
+++ b/pkgs/development/tools/build-managers/gn/default.nix
@@ -1,77 +1,135 @@
-{ stdenv, lib, fetchgit, fetchurl, libevent, ninja, python }:
+{ stdenv, lib, fetchgit, fetchzip, fetchpatch
+, libevent, ninja, python, darwin }:
 
 let
   depsGit = {
     "tools/gn" = fetchgit {
       url = "https://chromium.googlesource.com/chromium/src/tools/gn";
-      rev = "d0c518db129975ce88ff1de26c857873b0619c4b";
-      sha256 = "0l15vzmjyx6bwlz1qhn3fy7yx3qzzxr3drnkj3l0p0fmyxza52vx";
+      rev = "0fa417a0d2d8484e9a5a636e3301da322f586601";
+      sha256 = "0pigcl14yc4aak6q1ghfjxdz2ah4fg4m2r5y3asw2rz6mpr5y9z0";
     };
     "base" = fetchgit {
       url = "https://chromium.googlesource.com/chromium/src/base";
-      rev = "bc6e3ce8ca01b894751e1f7b22b561e3ae2e7f17";
-      sha256 = "1yl49v6nxbrfms52xf7fiwh7d4301m2aj744pa3hzzh989c5j6g5";
+      rev = "ab1d7c3b92ce9c9bc756bdefb8338360d1a33a1e";
+      sha256 = "15wis6qg9ka62k6v1vamg0bp3v5vkpapg485jsn4bbfcaqp6di0f";
     };
     "build" = fetchgit {
       url = "https://chromium.googlesource.com/chromium/src/build";
-      rev = "e934a19ae908081fba13769924e4ea45a7a451ce";
-      sha256 = "0jhy418vaiin7djg9zvk83f8zhasigki4442x5j7gkmgmgmyc4am";
+      rev = "8d44c08a4c9997695db8098198bdd5026bc7a6f9";
+      sha256 = "19sajgf55xfmvnwvy2ss7g6pyljp751cfsws30w415m6m00lmpxl";
     };
     "config" = fetchgit {
       url = "https://chromium.googlesource.com/chromium/src/build/config";
-      rev = "df16c6a2c070704b0a25efe46ee9af16de1e65b3";
-      sha256 = "1x18syzz1scwhd8lf448hy5lnfpq118l403x9qmwm0np318w09wg";
+      rev = "14116c0cdcb9e28995ca8bb384a12e5c9dbd1dbb";
+      sha256 = "04nif0lm4wcy05b7xhal023874s4r0iq067q57cgwdm72i2gml40";
     };
     "testing/gtest" = fetchgit {
       url = "https://chromium.googlesource.com/chromium/testing/gtest";
       rev = "585ec31ea716f08233a815e680fc0d4699843938";
       sha256 = "0csn1cza66851nmxxiw42smsm3422mx67vcyykwn0a71lcjng6rc";
     };
+    "third_party/apple_apsl" = fetchzip {
+      url = "https://chromium.googlesource.com/chromium/src/third_party/+archive/8e6ccb8c74db6dfa15dd21401ace3ac96c054cf7/apple_apsl.tar.gz";
+      sha256 = "1vgcg741lwz84kdy0qc5wn9dxx3j9zh6a9d185fpygdsipwikqv8";
+      stripRoot = false;
+    };
+    "buildtools/third_party/libc++/trunk" = fetchgit {
+      url = "https://chromium.googlesource.com/chromium/llvm-project/libcxx";
+      rev = "ece1de8658d749e19c12cacd4458cc330eca94e3";
+      sha256 = "1nlyvfkzhchwv9b18bh82jcamqv3acj26ah9ajs31f2dql05amhg";
+    };
+    "buildtools/third_party/libc++abi/trunk" = fetchgit {
+      url = "https://chromium.googlesource.com/chromium/llvm-project/libcxxabi";
+      rev = "52c7a3760aef1df328a9bc957f686410872f0dc0";
+      sha256 = "1aam539j01381q27b7xhij18pz3h0lhw08hglvqq4hgvlqx5cn2s";
+    };
   };
 
-in
-  stdenv.mkDerivation rec {
-    name = "gn";
-    version = "0.0.0.20170629";
-    sourceRoot = ".";
+in stdenv.mkDerivation {
+  name = "gn";
+  version = "20180423";
+  sourceRoot = ".";
 
-    unpackPhase = ''
-      ${lib.concatStringsSep "\n" (
-        lib.mapAttrsToList (n: v: ''
-          mkdir -p $sourceRoot/${n}
+  unpackPhase = ''
+    ${lib.concatStringsSep "\n" (
+      lib.mapAttrsToList (n: v: ''
+        mkdir -p $sourceRoot/${n}
+        if [ -d ${v} ]; then
           cp -r ${v}/* $sourceRoot/${n}
-        '') depsGit)}
-    '';
-
-    postPatch = ''
-      # Patch shebands (for sandbox build)
-      chmod u+w -R build
-      patchShebangs build
-
-      # Patch out Chromium-bundled libevent
-      chmod u+w tools/gn/bootstrap tools/gn/bootstrap/bootstrap.py
-      sed -i -e '/static_libraries.*libevent/,/^ *\]\?[})]$/d' \
-          tools/gn/bootstrap/bootstrap.py
-    '';
-
-    NIX_LDFLAGS = "-levent";
-
-    nativeBuildInputs = [ ninja python ];
-    buildInputs = [ libevent ];
-
-    buildPhase = ''
-      python tools/gn/bootstrap/bootstrap.py -s
-    '';
-
-    installPhase = ''
-      install -vD out/Release/gn "$out/bin/gn"
-    '';
-
-    meta = with stdenv.lib; {
-      description = "A meta-build system that generates NinjaBuild files";
-      homepage = https://chromium.googlesource.com/chromium/src/tools/gn;
-      license = licenses.bsd3;
-      platforms = platforms.linux;
-      maintainers = [ maintainers.stesie ];
-    };
-  }
+        else
+          mkdir -p $sourceRoot/${n}
+          pushd $sourceRoot/${n}
+          unpackFile ${v}
+          popd
+        fi
+      '') depsGit)}
+
+    chmod u+w -R $sourceRoot
+  '';
+
+  patches = [
+    (fetchpatch {
+      url = "https://raw.githubusercontent.com/Eloston/ungoogled-chromium/master/resources/patches/ungoogled-chromium/macos/fix-gn-bootstrap.patch";
+      sha256 = "1h8jgxznm7zrxlzb4wcfx4zx4lyvfrmpd0r7cd7h0s23wn8ibb3a";
+    })
+  ];
+
+  postPatch = ''
+    # Disable libevent bootstrapping (we will provide it).
+    sed -i -e '/static_libraries.*libevent/,/^ *\]\?[})]$/d' \
+      tools/gn/bootstrap/bootstrap.py
+
+    # FIXME Needed with old Apple SDKs
+    substituteInPlace base/mac/foundation_util.mm \
+      --replace "NSArray<NSString*>*" "NSArray*"
+    substituteInPlace base/mac/sdk_forward_declarations.h \
+      --replace "NSDictionary<VNImageOption, id>*" "NSDictionary*" \
+      --replace "NSArray<VNRequest*>*" "NSArray*" \
+      --replace "typedef NSString* VNImageOption NS_STRING_ENUM" "typedef NSString* VNImageOption"
+
+    # Patch shebangs (for sandbox build)
+    patchShebangs build
+  '';
+
+  # FIXME again this shouldn't be necessary but I can't figure out a better way
+  NIX_CFLAGS_COMPILE = "-DMAC_OS_X_VERSION_MAX_ALLOWED=MAC_OS_X_VERSION_10_10 -DMAC_OS_X_VERSION_MIN_REQUIRED=MAC_OS_X_VERSION_10_10";
+
+  NIX_LDFLAGS = "-levent";
+
+  nativeBuildInputs = [ ninja python ];
+  buildInputs = [ libevent ]
+
+  # FIXME These dependencies shouldn't be needed but can't find a way
+  # around it. Chromium pulls this in while bootstrapping GN.
+  ++ lib.optionals stdenv.isDarwin (with darwin; with apple_sdk.frameworks; [
+    libobjc
+    cctools
+
+    # frameworks
+    ApplicationServices
+    Foundation
+    AppKit
+    ImageCaptureCore
+    CoreBluetooth
+    IOBluetooth
+    CoreWLAN
+    Quartz
+    Cocoa
+  ]);
+
+  buildPhase = ''
+    python tools/gn/bootstrap/bootstrap.py -s
+  '';
+
+  installPhase = ''
+    install -vD out/Release/gn "$out/bin/gn"
+  '';
+
+  meta = with lib; {
+    description = "A meta-build system that generates NinjaBuild files";
+    homepage = https://chromium.googlesource.com/chromium/src/tools/gn;
+    license = licenses.bsd3;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ stesie matthewbauer ];
+  };
+}
diff --git a/pkgs/development/tools/build-managers/gnumake/3.82/default.nix b/pkgs/development/tools/build-managers/gnumake/3.82/default.nix
index 87897017f86..94fa7e7201a 100644
--- a/pkgs/development/tools/build-managers/gnumake/3.82/default.nix
+++ b/pkgs/development/tools/build-managers/gnumake/3.82/default.nix
@@ -33,6 +33,9 @@ stdenv.mkDerivation {
       ./construct-command-line.patch
       ./long-command-line.patch
       ./darwin-library_search-dylib.patch
+
+      # Fix support for glibc 2.27's glob
+      ../4.2/glibc-2.27-glob.patch
     ];
   patchFlags = "-p0";
 
diff --git a/pkgs/development/tools/build-managers/gnumake/4.2/default.nix b/pkgs/development/tools/build-managers/gnumake/4.2/default.nix
index e175205143f..95466d843d6 100644
--- a/pkgs/development/tools/build-managers/gnumake/4.2/default.nix
+++ b/pkgs/development/tools/build-managers/gnumake/4.2/default.nix
@@ -20,6 +20,8 @@ stdenv.mkDerivation {
     # included Makefiles, don't look in /usr/include and friends.
     ./impure-dirs.patch
     ./pselect.patch
+    # Fix support for glibc 2.27's glob, inspired by http://www.linuxfromscratch.org/lfs/view/8.2/chapter05/make.html
+    ./glibc-2.27-glob.patch
   ];
 
   nativeBuildInputs = stdenv.lib.optionals guileSupport [ pkgconfig ];
diff --git a/pkgs/development/tools/build-managers/gnumake/4.2/glibc-2.27-glob.patch b/pkgs/development/tools/build-managers/gnumake/4.2/glibc-2.27-glob.patch
new file mode 100644
index 00000000000..186212d0d29
--- /dev/null
+++ b/pkgs/development/tools/build-managers/gnumake/4.2/glibc-2.27-glob.patch
@@ -0,0 +1,32 @@
+diff -Naur glob/glob.c glob/glob.c
+--- glob/glob.c	2013-10-20 13:14:38.000000000 -0400
++++ glob/glob.c	2018-03-16 14:32:38.483496170 -0400
+@@ -208,28 +208,9 @@
+ #endif /* __GNU_LIBRARY__ || __DJGPP__ */
+ 
+ 
+-#if !defined __alloca && !defined __GNU_LIBRARY__
+-
+-# ifdef	__GNUC__
+-#  undef alloca
+-#  define alloca(n)	__builtin_alloca (n)
+-# else	/* Not GCC.  */
+-#  ifdef HAVE_ALLOCA_H
+ #   include <alloca.h>
+-#  else	/* Not HAVE_ALLOCA_H.  */
+-#   ifndef _AIX
+-#    ifdef WINDOWS32
+-#     include <malloc.h>
+-#    else
+-extern char *alloca ();
+-#    endif /* WINDOWS32 */
+-#   endif /* Not _AIX.  */
+-#  endif /* sparc or HAVE_ALLOCA_H.  */
+-# endif	/* GCC.  */
+-
+ # define __alloca	alloca
+ 
+-#endif
+ 
+ #ifndef __GNU_LIBRARY__
+ # define __stat stat
diff --git a/pkgs/development/tools/build-managers/gnumake/4.2/glibc-2.27.patch b/pkgs/development/tools/build-managers/gnumake/4.2/glibc-2.27.patch
deleted file mode 100644
index c2639c6cc92..00000000000
--- a/pkgs/development/tools/build-managers/gnumake/4.2/glibc-2.27.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-From 48c8a116a914a325a0497721f5d8b58d5bba34d4 Mon Sep 17 00:00:00 2001
-From: Paul Smith <psmith@gnu.org>
-Date: Sun, 19 Nov 2017 15:09:16 -0500
-Subject: * configure.ac: Support GLIBC glob interface version 2
-
----
- configure.ac | 3 +--
- 1 file changed, 1 insertion(+), 2 deletions(-)
-
-diff -Naur a/configure b/configure
---- configure	2016-06-10 19:03:21.000000000 -0400
-+++ configure	2018-02-18 04:40:32.971371555 -0500
-@@ -11481,10 +11481,9 @@
- #include <glob.h>
- #include <fnmatch.h>
- 
--#define GLOB_INTERFACE_VERSION 1
- #if !defined _LIBC && defined __GNU_LIBRARY__ && __GNU_LIBRARY__ > 1
- # include <gnu-versions.h>
--# if _GNU_GLOB_INTERFACE_VERSION == GLOB_INTERFACE_VERSION
-+# if _GNU_GLOB_INTERFACE_VERSION == 1 || _GNU_GLOB_INTERFACE_VERSION == 2
-    gnu glob
- # endif
- #endif
diff --git a/pkgs/development/tools/build-managers/gnumake/4.2/head.nix b/pkgs/development/tools/build-managers/gnumake/4.2/head.nix
deleted file mode 100644
index 5f3ae10c3e5..00000000000
--- a/pkgs/development/tools/build-managers/gnumake/4.2/head.nix
+++ /dev/null
@@ -1,69 +0,0 @@
-{ stdenv, fetchurl, texinfo, guileSupport ? false, pkgconfig , guile ? null, autoreconfHook }:
-
-assert guileSupport -> ( guile != null );
-
-let
-  version = "4.2.90";
-  revision = "48c8a116a914a325a0497721f5d8b58d5bba34d4";
-  revCount = "2491";
-  shortRev = "48c8a11";
-
-  baseVersion = "4.2.1";
-  baseTarball = fetchurl {
-    url = "mirror://gnu/make/make-${baseVersion}.tar.bz2";
-    sha256 = "12f5zzyq2w56g95nni65hc0g5p7154033y2f3qmjvd016szn5qnn";
-  };
-in
-stdenv.mkDerivation {
-  name = "gnumake-${version}pre${revCount}_${shortRev}";
-
-  src = fetchurl {
-    url = "http://git.savannah.gnu.org/cgit/make.git/snapshot/make-${revision}.tar.gz";
-    sha256 = "0k6yvhr2a5lh1qhflv02dyvq5p20ikgaakm8w6gr4xmkspljwpwx";
-  };
-
-  postUnpack = ''
-    unpackFile ${baseTarball}
-    cp make-${baseVersion}/po/*.po $sourceRoot/po
-    cp make-${baseVersion}/doc/{fdl,make-stds}.texi $sourceRoot/doc
-  '';
-
-  patches = [
-    # Purity: don't look for library dependencies (of the form `-lfoo') in /lib
-    # and /usr/lib. It's a stupid feature anyway. Likewise, when searching for
-    # included Makefiles, don't look in /usr/include and friends.
-    ./impure-dirs-head.patch
-  ];
-
-  postPatch = ''
-    # These aren't in the 4.2.1 tarball yet.
-    sed -i -e 's/sr//' -e 's/zh_TW//' po/LINGUAS
-  '';
-
-  nativeBuildInputs = [ autoreconfHook pkgconfig texinfo ];
-  buildInputs = stdenv.lib.optional guileSupport guile;
-
-  configureFlags = stdenv.lib.optional guileSupport "--with-guile";
-
-  outputs = [ "out" "man" "info" ];
-
-  meta = with stdenv.lib; {
-    homepage = http://www.gnu.org/software/make/;
-    description = "A tool to control the generation of non-source files from sources";
-    license = licenses.gpl3Plus;
-
-    longDescription = ''
-      Make is a tool which controls the generation of executables and
-      other non-source files of a program from the program's source files.
-
-      Make gets its knowledge of how to build your program from a file
-      called the makefile, which lists each of the non-source files and
-      how to compute it from other files. When you write a program, you
-      should write a makefile for it, so that it is possible to use Make
-      to build and install the program.
-    '';
-
-    platforms = platforms.all;
-    maintainers = [ maintainers.vrthra ];
-  };
-}
diff --git a/pkgs/development/tools/build-managers/gnumake/4.2/impure-dirs-head.patch b/pkgs/development/tools/build-managers/gnumake/4.2/impure-dirs-head.patch
deleted file mode 100644
index 06d39e13ce3..00000000000
--- a/pkgs/development/tools/build-managers/gnumake/4.2/impure-dirs-head.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-diff -Naur a/src/read.c b/src/read.c
---- a/src/read.c	2017-11-19 15:17:47.000000000 -0500
-+++ b/src/read.c	2018-02-19 08:53:51.548755213 -0500
-@@ -109,10 +109,12 @@
- #endif
-     INCLUDEDIR,
- #ifndef _AMIGA
-+#if 0
-     "/usr/gnu/include",
-     "/usr/local/include",
-     "/usr/include",
- #endif
-+#endif
-     0
-   };
- 
-diff -Naur a/src/remake.c b/src/remake.c
---- a/src/remake.c	2017-11-19 15:17:47.000000000 -0500
-+++ b/src/remake.c	2018-02-19 08:54:08.304101943 -0500
-@@ -1601,9 +1601,11 @@
-   static const char *dirs[] =
-     {
- #ifndef _AMIGA
-+#if 0
-       "/lib",
-       "/usr/lib",
- #endif
-+#endif
- #if defined(WINDOWS32) && !defined(LIBDIR)
- /*
-  * This is completely up to the user at product install time. Just define
diff --git a/pkgs/development/tools/build-managers/gradle/default.nix b/pkgs/development/tools/build-managers/gradle/default.nix
index 5e8f14c5f84..fbbddbd0fcb 100644
--- a/pkgs/development/tools/build-managers/gradle/default.nix
+++ b/pkgs/development/tools/build-managers/gradle/default.nix
@@ -52,12 +52,12 @@ rec {
   };
 
   gradle_latest = gradleGen rec {
-    name = "gradle-4.6";
+    name = "gradle-4.7";
     nativeVersion = "0.14";
 
     src = fetchurl {
       url = "http://services.gradle.org/distributions/${name}-bin.zip";
-      sha256 = "05drn7a9d2blbmd3l0443bpf5qzf5frwnl9ww0bha1qfng95zgcq";
+      sha256 = "016vvjvk3gfasv3h6dxxp48kp9v4ariqj280bijn835mr1yhi9gw";
     };
   };
 
diff --git a/pkgs/development/tools/build-managers/gup/build.nix b/pkgs/development/tools/build-managers/gup/build.nix
deleted file mode 100644
index a9af037bb81..00000000000
--- a/pkgs/development/tools/build-managers/gup/build.nix
+++ /dev/null
@@ -1,16 +0,0 @@
-# NOTE: this file is copied from the upstream repository for this package.
-# Please submit any changes you make here to https://github.com/timbertson/gup/
-
-{ stdenv, lib, python, which, pychecker ? null }:
-{ src, version, meta ? {} }:
-stdenv.mkDerivation {
-  inherit src meta;
-  name = "gup-${version}";
-  buildInputs = lib.remove null [ python which pychecker ];
-  SKIP_PYCHECKER = pychecker == null;
-  buildPhase = "make python";
-  installPhase = ''
-    mkdir $out
-    cp -r python/bin $out/bin
-  '';
-}
diff --git a/pkgs/development/tools/build-managers/gup/default.nix b/pkgs/development/tools/build-managers/gup/default.nix
index 8d1ad4490e9..f6d5b7b9b59 100644
--- a/pkgs/development/tools/build-managers/gup/default.nix
+++ b/pkgs/development/tools/build-managers/gup/default.nix
@@ -1,21 +1,38 @@
-{ stdenv, fetchFromGitHub, lib, python, which }:
-let
+{ stdenv, fetchFromGitHub, nix-update-source, lib, python, which, pychecker ? null }:
+stdenv.mkDerivation rec {
   version = "0.7.0";
   src = fetchFromGitHub {
-    sha256 = "1pwnmlq2pgkkln9sgz4wlb9dqlqw83bkf105qljnlvggc21zm3pv";
-    rev = "version-${version}";
-    repo = "gup";
     owner = "timbertson";
+    repo = "gup";
+    rev = "version-0.7.0";
+    sha256 = "1pwnmlq2pgkkln9sgz4wlb9dqlqw83bkf105qljnlvggc21zm3pv";
+  };
+  name = "gup-${version}";
+  buildInputs = lib.remove null [ python which pychecker ];
+  SKIP_PYCHECKER = pychecker == null;
+  buildPhase = "make python";
+  installPhase = ''
+    mkdir $out
+    cp -r python/bin $out/bin
+  '';
+  passthru.updateScript = ''
+    set -e
+    echo
+    cd ${toString ./.}
+    ${nix-update-source}/bin/nix-update-source \
+      --prompt version \
+      --replace-attr version \
+      --set owner timbertson \
+      --set repo gup \
+      --set type fetchFromGitHub \
+      --set rev 'version-{version}' \
+      --modify-nix default.nix
+  '';
+  meta = {
+    inherit (src.meta) homepage;
+    description = "A better make, inspired by djb's redo";
+    license = stdenv.lib.licenses.lgpl2Plus;
+    maintainers = [ stdenv.lib.maintainers.timbertson ];
+    platforms = stdenv.lib.platforms.all;
   };
-in
-import ./build.nix
-  { inherit stdenv lib python which; }
-  { inherit src version;
-    meta = {
-      inherit (src.meta) homepage;
-      description = "A better make, inspired by djb's redo";
-      license = stdenv.lib.licenses.lgpl2Plus;
-      maintainers = [ stdenv.lib.maintainers.timbertson ];
-      platforms = stdenv.lib.platforms.all;
-    };
-  }
+}
diff --git a/pkgs/development/tools/build-managers/icmake/default.nix b/pkgs/development/tools/build-managers/icmake/default.nix
index 5b455f267d8..2f4daa2edc8 100644
--- a/pkgs/development/tools/build-managers/icmake/default.nix
+++ b/pkgs/development/tools/build-managers/icmake/default.nix
@@ -1,11 +1,11 @@
-{ stdenv, fetchFromGitHub, gcc }:
+{ stdenv, fetchFromGitHub, makeWrapper, gcc, ncurses }:
 
 stdenv.mkDerivation rec {
   name = "icmake-${version}";
-  version = "9.02.06";
+  version = "9.02.07";
 
   src = fetchFromGitHub {
-    sha256 = "1hs7fhqpkhlrjvjhfarf5bmxl8dw3r0immzdib27gwh3sfzgpx0b";
+    sha256 = "1q3rwri5s1sqm4h75bahkjnlym4bk2ygg4fb75yrniwnj8rhdp12";
     rev = version;
     repo = "icmake";
     owner = "fbb-git";
@@ -16,6 +16,7 @@ stdenv.mkDerivation rec {
     sourceRoot=$(echo */icmake)
   '';
 
+  nativeBuildInputs = [ makeWrapper ];
   buildInputs = [ gcc ];
 
   preConfigure = ''
@@ -30,6 +31,9 @@ stdenv.mkDerivation rec {
 
   installPhase = ''
     ./icm_install all /
+
+    wrapProgram $out/bin/icmbuild \
+     --prefix PATH : ${ncurses}/bin
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/tools/build-managers/meson/allow-dirs-outside-of-prefix.patch b/pkgs/development/tools/build-managers/meson/allow-dirs-outside-of-prefix.patch
new file mode 100644
index 00000000000..bef89c881b5
--- /dev/null
+++ b/pkgs/development/tools/build-managers/meson/allow-dirs-outside-of-prefix.patch
@@ -0,0 +1,25 @@
+--- a/mesonbuild/coredata.py
++++ b/mesonbuild/coredata.py
+@@ -282,18 +282,13 @@
+         '''
+         if option.endswith('dir') and os.path.isabs(value) and \
+            option not in builtin_dir_noprefix_options:
+-            # Value must be a subdir of the prefix
+             # commonpath will always return a path in the native format, so we
+             # must use pathlib.PurePath to do the same conversion before
+             # comparing.
+-            if os.path.commonpath([value, prefix]) != str(PurePath(prefix)):
+-                m = 'The value of the {!r} option is {!r} which must be a ' \
+-                    'subdir of the prefix {!r}.\nNote that if you pass a ' \
+-                    'relative path, it is assumed to be a subdir of prefix.'
+-                raise MesonException(m.format(option, value, prefix))
+-            # Convert path to be relative to prefix
+-            skip = len(prefix) + 1
+-            value = value[skip:]
++            if os.path.commonpath([value, prefix]) == str(PurePath(prefix)):
++                # Convert path to be relative to prefix
++                skip = len(prefix) + 1
++                value = value[skip:]
+         return value
+ 
+     def init_builtins(self, options):
diff --git a/pkgs/development/tools/build-managers/meson/default.nix b/pkgs/development/tools/build-managers/meson/default.nix
index 5db0bce21f7..298c669e690 100644
--- a/pkgs/development/tools/build-managers/meson/default.nix
+++ b/pkgs/development/tools/build-managers/meson/default.nix
@@ -1,12 +1,14 @@
-{ lib, python3Packages }:
-python3Packages.buildPythonApplication rec {
-  version = "0.44.0";
+{ lib, python3Packages, stdenv, ninja, pkgconfig, targetPlatform, writeTextDir, substituteAll }: let
+  targetPrefix = lib.optionalString stdenv.isCross
+                   (targetPlatform.config + "-");
+in python3Packages.buildPythonApplication rec {
+  version = "0.45.1";
   pname = "meson";
   name = "${pname}-${version}";
 
   src = python3Packages.fetchPypi {
     inherit pname version;
-    sha256 = "1rpqp9iwbvr4xvfdh3iyfh1ha274hbb66jbgw3pa5a73x4d4ilqn";
+    sha256 = "154kxx49dbw7p30qfg1carb3mgqxx9hyy1r0yzfsg07hz1n2sq14";
   };
 
   postFixup = ''
@@ -19,19 +21,60 @@ python3Packages.buildPythonApplication rec {
   '';
 
   patches = [
+    # Upstream insists on not allowing bindir and other dir options
+    # outside of prefix for some reason:
+    # https://github.com/mesonbuild/meson/issues/2561
+    # We remove the check so multiple outputs can work sanely.
+    ./allow-dirs-outside-of-prefix.patch
+
     # Unlike libtool, vanilla Meson does not pass any information
     # about the path library will be installed to to g-ir-scanner,
     # breaking the GIR when path other than ${!outputLib}/lib is used.
     # We patch Meson to add a --fallback-library-path argument with
     # library install_dir to g-ir-scanner.
     ./gir-fallback-path.patch
+
+    # In common distributions, RPATH is only needed for internal libraries so
+    # meson removes everything else. With Nix, the locations of libraries
+    # are not as predictable, therefore we need to keep them in the RPATH.
+    # At the moment we are keeping the paths starting with /nix/store.
+    # https://github.com/NixOS/nixpkgs/issues/31222#issuecomment-365811634
+    (substituteAll {
+      src = ./fix-rpath.patch;
+      inherit (builtins) storeDir;
+    })
+
+    # No one will ever need more than 128 bytes of data structure
+    # https://github.com/mesonbuild/meson/issues/3113
+    ./overly-strict-size-check.patch
   ];
 
-  postPatch = ''
-    sed -i -e 's|e.fix_rpath(install_rpath)||' mesonbuild/scripts/meson_install.py
+  setupHook = ./setup-hook.sh;
+
+  crossFile = writeTextDir "cross-file.conf" ''
+    [binaries]
+    c = '${targetPrefix}cc'
+    cpp = '${targetPrefix}c++'
+    ar = '${targetPrefix}ar'
+    strip = '${targetPrefix}strip'
+    pkgconfig = 'pkg-config'
+
+    [properties]
+    needs_exe_wrapper = true
+
+    [host_machine]
+    system = '${targetPlatform.parsed.kernel.name}'
+    cpu_family = '${targetPlatform.parsed.cpu.family}'
+    cpu = '${targetPlatform.parsed.cpu.name}'
+    endian = ${if targetPlatform.isLittleEndian then "'little'" else "'big'"}
   '';
 
-  setupHook = ./setup-hook.sh;
+  # 0.45 update enabled tests but they are failing
+  doCheck = false;
+  # checkInputs = [ ninja pkgconfig ];
+  # checkPhase = "python ./run_project_tests.py";
+
+  inherit (stdenv) cc isCross;
 
   meta = with lib; {
     homepage = http://mesonbuild.com;
diff --git a/pkgs/development/tools/build-managers/meson/fix-rpath.patch b/pkgs/development/tools/build-managers/meson/fix-rpath.patch
new file mode 100644
index 00000000000..e52428a7db2
--- /dev/null
+++ b/pkgs/development/tools/build-managers/meson/fix-rpath.patch
@@ -0,0 +1,32 @@
+--- a/mesonbuild/compilers/compilers.py
++++ b/mesonbuild/compilers/compilers.py
+@@ -846,8 +848,10 @@
+             if paths != '':
+                 paths += ':'
+             paths += build_rpath
+-        if len(paths) < len(install_rpath):
+-            padding = 'X' * (len(install_rpath) - len(paths))
++        store_paths = ':'.join(filter(lambda path: path.startswith('@storeDir@'), paths.split(':')))
++        extra_space_needed = len(install_rpath + (':' if install_rpath and store_paths else '') + store_paths) - len(paths)
++        if extra_space_needed > 0:
++            padding = 'X' * extra_space_needed
+             if not paths:
+                 paths = padding
+             else:
+--- a/mesonbuild/scripts/depfixer.py
++++ b/mesonbuild/scripts/depfixer.py
+@@ -300,6 +300,14 @@
+             return
+         self.bf.seek(rp_off)
+         old_rpath = self.read_str()
++
++        if new_rpath:
++            new_rpath += b':'
++        else:
++            new_rpath = b''
++
++        new_rpath += b':'.join(filter(lambda path: path.startswith(b'@storeDir@'), old_rpath.split(b':')))
++
+         if len(old_rpath) < len(new_rpath):
+             sys.exit("New rpath must not be longer than the old one.")
+         # The linker does read-only string deduplication. If there is a
diff --git a/pkgs/development/tools/build-managers/meson/overly-strict-size-check.patch b/pkgs/development/tools/build-managers/meson/overly-strict-size-check.patch
new file mode 100644
index 00000000000..ea0e9bcd7ea
--- /dev/null
+++ b/pkgs/development/tools/build-managers/meson/overly-strict-size-check.patch
@@ -0,0 +1,12 @@
+diff -Naur a/mesonbuild/compilers/c.py b/mesonbuild/compilers/c.py
+--- a/mesonbuild/compilers/c.py	2017-12-10 08:37:19.000000000 -0500
++++ b/mesonbuild/compilers/c.py	2018-03-24 07:46:04.739929307 -0400
+@@ -406,7 +406,7 @@
+         }}'''
+         if not self.compiles(t.format(**fargs), env, extra_args, dependencies):
+             return -1
+-        return self.cross_compute_int('sizeof(%s)' % typename, 1, 128, None, prefix, env, extra_args, dependencies)
++        return self.cross_compute_int('sizeof(%s)' % typename, 1, 1024, None, prefix, env, extra_args, dependencies)
+ 
+     def sizeof(self, typename, prefix, env, extra_args=None, dependencies=None):
+         if extra_args is None:
diff --git a/pkgs/development/tools/build-managers/meson/setup-hook.sh b/pkgs/development/tools/build-managers/meson/setup-hook.sh
index 8f96e6146be..36a7fe23ef5 100644
--- a/pkgs/development/tools/build-managers/meson/setup-hook.sh
+++ b/pkgs/development/tools/build-managers/meson/setup-hook.sh
@@ -6,11 +6,24 @@ mesonConfigurePhase() {
     fi
 
     # Build release by default.
-    mesonFlags="--buildtype=${mesonBuildType:-release} $mesonFlags"
+    if [ -n "@isCross@" ]; then
+      crossMesonFlags="--cross-file=@crossFile@/cross-file.conf"
+    fi
+
+    # See multiple-outputs.sh and meson’s coredata.py
+    mesonFlags="\
+        --libdir=${!outputLib}/lib --libexecdir=${!outputLib}/libexec \
+        --bindir=${!outputBin}/bin --sbindir=${!outputBin}/sbin \
+        --includedir=${!outputInclude}/include \
+        --mandir=${!outputMan}/share/man --infodir=${!outputInfo}/share/info \
+        --localedir=${!outputLib}/share/locale \
+        $mesonFlags"
+
+    mesonFlags="${crossMesonFlags+$crossMesonFlags }--buildtype=${mesonBuildType:-release} $mesonFlags"
 
     echo "meson flags: $mesonFlags ${mesonFlagsArray[@]}"
 
-    meson build $mesonFlags "${mesonFlagsArray[@]}"
+    CC=@cc@/bin/cc CXX=@cc@/bin/c++ meson build $mesonFlags "${mesonFlagsArray[@]}"
     cd build
 
     if ! [[ -v enableParallelBuilding ]]; then
@@ -29,7 +42,7 @@ fi
 mesonCheckPhase() {
     runHook preCheck
 
-    meson test
+    meson test --print-errorlogs
 
     runHook postCheck
 }
diff --git a/pkgs/development/tools/build-managers/pants/default.nix b/pkgs/development/tools/build-managers/pants/default.nix
index abb32f25760..b99bc4f6b75 100644
--- a/pkgs/development/tools/build-managers/pants/default.nix
+++ b/pkgs/development/tools/build-managers/pants/default.nix
@@ -4,7 +4,7 @@ with stdenv.lib;
 with pythonPackages;
 
 let
-  version = "1.3.0";
+  version = "1.6.0";
 in buildPythonApplication rec {
   inherit version;
   pname = "pantsbuild.pants";
@@ -12,7 +12,7 @@ in buildPythonApplication rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "18fcf9047l9k006wz21g525p1w5avyjabmabh0giyz22xnm8g5gp";
+    sha256 = "0ahvcj33xribypgyh515mb3ack1djr0cq27nlyk0qhwgwv6acfnj";
   };
 
   prePatch = ''
@@ -24,10 +24,10 @@ in buildPythonApplication rec {
   dontStrip = true;
 
   propagatedBuildInputs = [
-    twitter-common-collections setproctitle setuptools six ansicolors
-    packaging pathspec scandir twitter-common-dirutil psutil requests
-    pystache pex docutils markdown pygments twitter-common-confluence
-    fasteners coverage pywatchman futures cffi
+    twitter-common-collections setproctitle ansicolors packaging pathspec
+    scandir twitter-common-dirutil psutil requests pystache pex docutils
+    markdown pygments twitter-common-confluence fasteners pywatchman
+    futures cffi subprocess32 contextlib2 faulthandler pyopenssl wheel
   ];
 
   meta = {
diff --git a/pkgs/development/tools/build-managers/redo-sh/default.nix b/pkgs/development/tools/build-managers/redo-sh/default.nix
index c888627cfce..3036ef23584 100644
--- a/pkgs/development/tools/build-managers/redo-sh/default.nix
+++ b/pkgs/development/tools/build-managers/redo-sh/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, makeWrapper }:
 
 stdenv.mkDerivation rec {
-  version = "1.2.6";
+  version = "2.0.3";
   name = "redo-sh-${version}";
 
   src = fetchurl {
     url = "http://news.dieweltistgarnichtso.net/bin/archives/redo-sh.tar.gz";
-    sha256 = "1cwrk4v22rb9410rzyb4py4ncg01n6850l80s74bk3sflbw974wp";
+    sha256 = "1ycx3hik7vnlbwxacn1dzr48fwsn2ials0sg6k9l3gcyrha5wf1n";
   };
 
   buildInputs = [ makeWrapper ];
diff --git a/pkgs/development/tools/build-managers/remake/default.nix b/pkgs/development/tools/build-managers/remake/default.nix
index 7a199cc925a..926cc83cd97 100644
--- a/pkgs/development/tools/build-managers/remake/default.nix
+++ b/pkgs/development/tools/build-managers/remake/default.nix
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
     homepage = http://bashdb.sourceforge.net/remake/;
     license = stdenv.lib.licenses.gpl3;
     description = "GNU Make with comprehensible tracing and a debugger";
-    platforms = stdenv.lib.platforms.linux;
+    platforms = with stdenv.lib.platforms; linux ++ darwin;
     maintainers = with stdenv.lib.maintainers; [ bjornfor ];
   };
 }
diff --git a/pkgs/development/tools/build-managers/sbt/default.nix b/pkgs/development/tools/build-managers/sbt/default.nix
index 01a112bcecc..04102e7e8f8 100644
--- a/pkgs/development/tools/build-managers/sbt/default.nix
+++ b/pkgs/development/tools/build-managers/sbt/default.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   name = "sbt-${version}";
-  version = "1.1.1";
+  version = "1.1.4";
 
   src = fetchurl {
     urls = [
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
       "https://github.com/sbt/sbt/releases/download/v${version}/sbt-${version}.tgz"
       "https://cocl.us/sbt-${version}.tgz"
     ];
-    sha256 = "0fy04mnnrbdm7kfnjh6sv1q3g6wqzvwyf1p43f36rw3qalap544a";
+    sha256 = "0hc361gb71psadx9gj78j0j60fw4sljjk8sl45hw6yzx3hmmkg9g";
   };
 
   patchPhase = ''
diff --git a/pkgs/development/tools/build-managers/waf/default.nix b/pkgs/development/tools/build-managers/waf/default.nix
index 65501b2b935..000943f117f 100644
--- a/pkgs/development/tools/build-managers/waf/default.nix
+++ b/pkgs/development/tools/build-managers/waf/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "waf-${version}";
-  version = "2.0.4";
+  version = "2.0.6";
 
   src = fetchurl {
     url = "https://waf.io/waf-${version}.tar.bz2";
-    sha256 = "0zmnwgccq5j7ipfi2j0k5s40q27krp1m6v2bd650axgzdbpa7ain";
+    sha256 = "1wyl0jl10i0p2rj49sig5riyppgkqlkqmbvv35d5bqxri3y4r38q";
   };
 
   buildInputs = [ python2 ];
diff --git a/pkgs/development/tools/castxml/default.nix b/pkgs/development/tools/castxml/default.nix
new file mode 100644
index 00000000000..f42adffc5f4
--- /dev/null
+++ b/pkgs/development/tools/castxml/default.nix
@@ -0,0 +1,49 @@
+{ stdenv, fetchFromGitHub
+, pythonPackages
+, pkgconfig
+, cmake
+, llvmPackages
+, withMan ? true
+}:
+stdenv.mkDerivation rec {
+
+  name    = "${pname}-${version}";
+  pname   = "CastXML";
+  version = "20180403";
+
+  src = fetchFromGitHub {
+    owner  = "CastXML";
+    repo   = "CastXML";
+    rev    = "c2a44d06d9379718292b696f4e13a2725ff9d95e";
+    sha256 = "1hjh8ihjyp1m2jb5yypp5c45bpbz8k004f4p1cjw4gc7pxhjacdj";
+  };
+
+  buildInputs = [
+    cmake
+    llvmPackages.clang-unwrapped
+    llvmPackages.llvm
+  ] ++ stdenv.lib.optionals withMan [ pythonPackages.sphinx ];
+
+  propagatedbuildInputs = [ llvmPackages.libclang ];
+
+  preConfigure = ''
+    cmakeFlagsArray+=(
+     ${if withMan then "-DSPHINX_MAN=ON" else ""}
+  )'';
+
+  # 97% tests passed, 96 tests failed out of 2866
+  # mostly because it checks command line and nix append -isystem and all
+  doCheck=false;
+  checkPhase = ''
+    # -E exclude 4 tests based on names
+    # see https://github.com/CastXML/CastXML/issues/90
+    ctest -E 'cmd.cc-(gnu|msvc)-((c-src-c)|(src-cxx))-cmd'
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = https://www.kitware.com;
+    license = licenses.asl20;
+    description = "Abstract syntax tree XML output tool";
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/development/tools/cbor-diag/Gemfile b/pkgs/development/tools/cbor-diag/Gemfile
new file mode 100644
index 00000000000..798e507460e
--- /dev/null
+++ b/pkgs/development/tools/cbor-diag/Gemfile
@@ -0,0 +1,2 @@
+source 'https://rubygems.org'
+gem 'cbor-diag'
diff --git a/pkgs/development/tools/cbor-diag/Gemfile.lock b/pkgs/development/tools/cbor-diag/Gemfile.lock
new file mode 100644
index 00000000000..0d129765aa4
--- /dev/null
+++ b/pkgs/development/tools/cbor-diag/Gemfile.lock
@@ -0,0 +1,19 @@
+GEM
+  remote: https://rubygems.org/
+  specs:
+    cbor-diag (0.5.2)
+      json
+      treetop (~> 1)
+    json (2.1.0)
+    polyglot (0.3.5)
+    treetop (1.6.10)
+      polyglot (~> 0.3)
+
+PLATFORMS
+  ruby
+
+DEPENDENCIES
+  cbor-diag
+
+BUNDLED WITH
+   1.14.6
diff --git a/pkgs/development/tools/cbor-diag/default.nix b/pkgs/development/tools/cbor-diag/default.nix
new file mode 100644
index 00000000000..049d9f38c0c
--- /dev/null
+++ b/pkgs/development/tools/cbor-diag/default.nix
@@ -0,0 +1,30 @@
+{ lib, bundlerApp, ruby }:
+
+bundlerApp {
+  pname = "cbor-diag";
+
+  inherit ruby;
+  gemdir = ./.;
+
+  exes = [
+    "cbor2diag.rb"
+    "cbor2json.rb"
+    "cbor2pretty.rb"
+    "cbor2yaml.rb"
+    "diag2cbor.rb"
+    "diag2pretty.rb"
+    "json2cbor.rb"
+    "json2pretty.rb"
+    "pretty2cbor.rb"
+    "pretty2diag.rb"
+    "yaml2cbor.rb"
+  ];
+
+  meta = with lib; {
+    description = "CBOR diagnostic utilities";
+    homepage    = https://github.com/cabo/cbor-diag;
+    license     = with licenses; asl20;
+    maintainers = with maintainers; [ fdns ];
+    platforms   = platforms.unix;
+  };
+}
diff --git a/pkgs/development/tools/cbor-diag/gemset.nix b/pkgs/development/tools/cbor-diag/gemset.nix
new file mode 100644
index 00000000000..2de0e9a647a
--- /dev/null
+++ b/pkgs/development/tools/cbor-diag/gemset.nix
@@ -0,0 +1,36 @@
+{
+  cbor-diag = {
+    dependencies = ["json" "treetop"];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1g4pxf1ag4pyb351m06l08ig1smnf8w27ynqfxkgmwak5mh1z7w1";
+      type = "gem";
+    };
+    version = "0.5.2";
+  };
+  json = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "01v6jjpvh3gnq6sgllpfqahlgxzj50ailwhj9b3cd20hi2dx0vxp";
+      type = "gem";
+    };
+    version = "2.1.0";
+  };
+  polyglot = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1bqnxwyip623d8pr29rg6m8r0hdg08fpr2yb74f46rn1wgsnxmjr";
+      type = "gem";
+    };
+    version = "0.3.5";
+  };
+  treetop = {
+    dependencies = ["polyglot"];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0g31pijhnv7z960sd09lckmw9h8rs3wmc8g4ihmppszxqm99zpv7";
+      type = "gem";
+    };
+    version = "1.6.10";
+  };
+}
\ No newline at end of file
diff --git a/pkgs/development/tools/cddl/Gemfile b/pkgs/development/tools/cddl/Gemfile
new file mode 100644
index 00000000000..2ba729084f1
--- /dev/null
+++ b/pkgs/development/tools/cddl/Gemfile
@@ -0,0 +1,2 @@
+source 'https://rubygems.org'
+gem 'cddl'
diff --git a/pkgs/development/tools/cddl/Gemfile.lock b/pkgs/development/tools/cddl/Gemfile.lock
new file mode 100644
index 00000000000..65701dd45bf
--- /dev/null
+++ b/pkgs/development/tools/cddl/Gemfile.lock
@@ -0,0 +1,28 @@
+GEM
+  remote: https://rubygems.org/
+  specs:
+    abnc (0.1.0)
+    cbor-diag (0.5.2)
+      json
+      treetop (~> 1)
+    cddl (0.8.5)
+      abnc
+      cbor-diag
+      colorize
+      json
+      regexp-examples
+    colorize (0.8.1)
+    json (2.1.0)
+    polyglot (0.3.5)
+    regexp-examples (1.4.2)
+    treetop (1.6.10)
+      polyglot (~> 0.3)
+
+PLATFORMS
+  ruby
+
+DEPENDENCIES
+  cddl
+
+BUNDLED WITH
+   1.14.6
diff --git a/pkgs/development/tools/cddl/default.nix b/pkgs/development/tools/cddl/default.nix
new file mode 100644
index 00000000000..37ad593d796
--- /dev/null
+++ b/pkgs/development/tools/cddl/default.nix
@@ -0,0 +1,17 @@
+{ lib, bundlerApp, ruby }:
+
+bundlerApp {
+  pname = "cddl";
+
+  inherit ruby;
+  gemdir = ./.;
+  exes = [ "cddl" ];
+
+  meta = with lib; {
+    description = "A parser, generator, and validator for CDDL";
+    homepage    = https://rubygems.org/gems/cddl;
+    license     = with licenses; mit;
+    maintainers = with maintainers; [ fdns ];
+    platforms   = platforms.unix;
+  };
+}
diff --git a/pkgs/development/tools/cddl/gemset.nix b/pkgs/development/tools/cddl/gemset.nix
new file mode 100644
index 00000000000..92aa4199505
--- /dev/null
+++ b/pkgs/development/tools/cddl/gemset.nix
@@ -0,0 +1,69 @@
+{
+  abnc = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "13nvzrk72nj130fs8bq8q3cfm48939rdzh7l31ncj5c4969hrbig";
+      type = "gem";
+    };
+    version = "0.1.0";
+  };
+  cbor-diag = {
+    dependencies = ["json" "treetop"];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1g4pxf1ag4pyb351m06l08ig1smnf8w27ynqfxkgmwak5mh1z7w1";
+      type = "gem";
+    };
+    version = "0.5.2";
+  };
+  cddl = {
+    dependencies = ["abnc" "cbor-diag" "colorize" "json" "regexp-examples"];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1pg91wrby0qgrdnf089ddy5yy2jalxd3bb9dljj16cpwv4gjx047";
+      type = "gem";
+    };
+    version = "0.8.5";
+  };
+  colorize = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "133rqj85n400qk6g3dhf2bmfws34mak1wqihvh3bgy9jhajw580b";
+      type = "gem";
+    };
+    version = "0.8.1";
+  };
+  json = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "01v6jjpvh3gnq6sgllpfqahlgxzj50ailwhj9b3cd20hi2dx0vxp";
+      type = "gem";
+    };
+    version = "2.1.0";
+  };
+  polyglot = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1bqnxwyip623d8pr29rg6m8r0hdg08fpr2yb74f46rn1wgsnxmjr";
+      type = "gem";
+    };
+    version = "0.3.5";
+  };
+  regexp-examples = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "104f0j0h2x5ijly7kyaj7zz0md65r2c03cpbi5cngm0hs2sr1qkz";
+      type = "gem";
+    };
+    version = "1.4.2";
+  };
+  treetop = {
+    dependencies = ["polyglot"];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0g31pijhnv7z960sd09lckmw9h8rs3wmc8g4ihmppszxqm99zpv7";
+      type = "gem";
+    };
+    version = "1.6.10";
+  };
+}
\ No newline at end of file
diff --git a/pkgs/development/tools/cloudfoundry-cli/default.nix b/pkgs/development/tools/cloudfoundry-cli/default.nix
index fc085b3e5ea..22c2f077418 100644
--- a/pkgs/development/tools/cloudfoundry-cli/default.nix
+++ b/pkgs/development/tools/cloudfoundry-cli/default.nix
@@ -2,17 +2,17 @@
 
 buildGoPackage rec {
   name = "cloudfoundry-cli-${version}";
-  version = "6.32.0";
+  version = "6.36.1";
 
   goPackagePath = "code.cloudfoundry.org/cli";
 
   subPackages = [ "." ];
 
   src = fetchFromGitHub {
+    owner = "cloudfoundry";
+    repo = "cli";
     rev = "v${version}";
-    owner = "cloudfoundry-attic";
-    repo = "cli-with-i18n";
-    sha256 = "16r8zvahn4b98krmyb8zq9370i6572dhz88bfxb3fnddcv6zy1ng";
+    sha256 = "19inl7qs2acs59p3gnl5zdsxym0wp2rn05q0zfg7rwf5sjh68amp";
   };
 
   outputs = [ "out" ];
diff --git a/pkgs/development/tools/container-linux-config-transpiler/default.nix b/pkgs/development/tools/container-linux-config-transpiler/default.nix
index 19181239278..8d43736d3a8 100644
--- a/pkgs/development/tools/container-linux-config-transpiler/default.nix
+++ b/pkgs/development/tools/container-linux-config-transpiler/default.nix
@@ -4,7 +4,7 @@ with lib;
 
 buildGoPackage rec {
   name = "ct-${version}";
-  version = "0.5.0";
+  version = "0.7.0";
 
   goPackagePath = "github.com/coreos/container-linux-config-transpiler";
 
@@ -12,7 +12,7 @@ buildGoPackage rec {
     owner = "coreos";
     repo = "container-linux-config-transpiler";
     rev = "v${version}";
-    sha256="1gchqvx5a2fhw9bw359azd9zg8d6h50gkzfz21c41vkjln2z6jq6";
+    sha256="058zjk9yqgdli55gc6y48455il6wjpslyz2r2ckk2ki9c5qc8b7c";
   };
 
   buildFlagsArray = ''
diff --git a/pkgs/development/tools/continuous-integration/buildkite-agent/2.x.nix b/pkgs/development/tools/continuous-integration/buildkite-agent/2.x.nix
new file mode 100644
index 00000000000..6a73e258182
--- /dev/null
+++ b/pkgs/development/tools/continuous-integration/buildkite-agent/2.x.nix
@@ -0,0 +1,12 @@
+{ callPackage, fetchFromGitHub, ... } @ args:
+
+callPackage ./generic.nix (args // rec {
+  src = fetchFromGitHub {
+    owner = "buildkite";
+    repo = "agent";
+    rev = "v${version}";
+    sha256 = "07065hhhb418w5qlqnyiap45r59paysysbwz1l7dmaw3j4q8m8rg";
+  };
+  version = "2.6.10";
+  hasBootstrapScript = true;
+})
diff --git a/pkgs/development/tools/continuous-integration/buildkite-agent/3.x.nix b/pkgs/development/tools/continuous-integration/buildkite-agent/3.x.nix
new file mode 100644
index 00000000000..2ceaee5650b
--- /dev/null
+++ b/pkgs/development/tools/continuous-integration/buildkite-agent/3.x.nix
@@ -0,0 +1,12 @@
+{ callPackage, fetchFromGitHub, ... } @ args:
+
+callPackage ./generic.nix (args // rec {
+  src = fetchFromGitHub {
+    owner = "buildkite";
+    repo = "agent";
+    rev = "v${version}";
+    sha256 = "09smyrzp1xkczlmh8vqb7bmjb2b5d6yf9birjgaw36c6m44bpfvs";
+  };
+  version = "3.0.1";
+  hasBootstrapScript = false;
+})
diff --git a/pkgs/development/tools/continuous-integration/buildkite-agent/default.nix b/pkgs/development/tools/continuous-integration/buildkite-agent/generic.nix
index 515e22788e5..8aa02ac307d 100644
--- a/pkgs/development/tools/continuous-integration/buildkite-agent/default.nix
+++ b/pkgs/development/tools/continuous-integration/buildkite-agent/generic.nix
@@ -1,19 +1,13 @@
-{ stdenv, buildGoPackage, fetchFromGitHub, makeWrapper, coreutils, git, openssh, bash, gnused, gnugrep }:
+{ stdenv, buildGoPackage, makeWrapper, coreutils, git, openssh, bash, gnused, gnugrep
+, src, version, hasBootstrapScript
+, ... }:
 let
-  version = "2.6.9";
   goPackagePath = "github.com/buildkite/agent";
 in
 buildGoPackage {
   name = "buildkite-agent-${version}";
 
-  inherit goPackagePath;
-
-  src = fetchFromGitHub {
-    owner = "buildkite";
-    repo = "agent";
-    rev = "v${version}";
-    sha256 = "0rlinj7dcr8vzl1pb15nfny8jkvvj50i8czf4ahv26avnfycm4pz";
-  };
+  inherit goPackagePath src;
 
   nativeBuildInputs = [ makeWrapper ];
 
@@ -22,18 +16,20 @@ buildGoPackage {
   noAuditTmpdir = stdenv.isLinux;
 
   postInstall = ''
+    ${stdenv.lib.optionalString hasBootstrapScript ''
     # Install bootstrap.sh
     mkdir -p $bin/libexec/buildkite-agent
     cp $NIX_BUILD_TOP/go/src/${goPackagePath}/templates/bootstrap.sh $bin/libexec/buildkite-agent
     sed -e "s|#!/bin/bash|#!${bash}/bin/bash|g" -i $bin/libexec/buildkite-agent/bootstrap.sh
+    ''}
 
     # Fix binary name
     mv $bin/bin/{agent,buildkite-agent}
 
     # These are runtime dependencies
     wrapProgram $bin/bin/buildkite-agent \
-      --prefix PATH : '${stdenv.lib.makeBinPath [ openssh git coreutils gnused gnugrep ]}' \
-      --set BUILDKITE_BOOTSTRAP_SCRIPT_PATH $bin/libexec/buildkite-agent/bootstrap.sh
+      ${stdenv.lib.optionalString hasBootstrapScript "--set BUILDKITE_BOOTSTRAP_SCRIPT_PATH $bin/libexec/buildkite-agent/bootstrap.sh"} \
+      --prefix PATH : '${stdenv.lib.makeBinPath [ openssh git coreutils gnused gnugrep ]}'
   '';
 
   meta = with stdenv.lib; {
@@ -47,7 +43,7 @@ buildGoPackage {
     '';
     homepage = https://buildkite.com/docs/agent;
     license = licenses.mit;
-    maintainers = with maintainers; [ pawelpacana zimbatm ];
+    maintainers = with maintainers; [ pawelpacana zimbatm rvl ];
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix b/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix
index 5181361abf6..c834e6aacde 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, go-bindata }:
 
 let
-  version = "10.5.0";
+  version = "10.7.1";
   # 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}/docker/prebuilt-x86_64.tar.xz";
-    sha256 = "1ywfki1599ggyq0g3r8f7pi1njvvjz41kjhssfax20ljm2c6q5v0";
+    sha256 = "0vvi9czvl9ina3hrfd5qb557wyyspndagbzrjzmv0bbjspxgb4c5";
   };
 
   docker_arm = fetchurl {
     url = "https://gitlab-runner-downloads.s3.amazonaws.com/v${version}/docker/prebuilt-arm.tar.xz";
-    sha256 = "0r71zvyg17926h2vpjr3q16l1yqcb8ky21ic5arc7jh82nzywywl";
+    sha256 = "1vb85asz5y9x7zzambvdfcy05nyr4kryx5zsfz7nbna7hidi2s86";
   };
 in
 buildGoPackage rec {
@@ -29,7 +29,7 @@ buildGoPackage rec {
     owner = "gitlab-org";
     repo = "gitlab-runner";
     rev = "v${version}";
-    sha256 = "13c9jzqj92xf2dzk77xpsfc4dwffvjfp8bqy685shzz1lrrfhfvq";
+    sha256 = "0v4c2631yzizhbiym3qzl8p4vjy5a081ry66qpl21ma9ib2cm9r5";
   };
 
   patches = [ ./fix-shell-path.patch ];
diff --git a/pkgs/development/tools/database/liquibase/default.nix b/pkgs/development/tools/database/liquibase/default.nix
index 394169c9cc9..2c1b942169f 100644
--- a/pkgs/development/tools/database/liquibase/default.nix
+++ b/pkgs/development/tools/database/liquibase/default.nix
@@ -12,11 +12,11 @@ in
 stdenv.mkDerivation rec {
   name = "${pname}-${version}";
   pname = "liquibase";
-  version = "3.5.5";
+  version = "3.6.1";
 
   src = fetchurl {
     url = "https://github.com/liquibase/liquibase/releases/download/${pname}-parent-${version}/${name}-bin.tar.gz";
-    sha256 = "1ipjbzdb32xigm0vg6zzjnbx9n248rrkr324n5igp53nxbvgf3fs";
+    sha256 = "0my5rh553yfb8lz1lv5gmgvqbc5pl4xjii4z5wwbbpniyxwy64q4";
   };
 
   buildInputs = [ jre makeWrapper ];
diff --git a/pkgs/development/tools/database/pyrseas/default.nix b/pkgs/development/tools/database/pyrseas/default.nix
index 20123a0600e..0390e7b86bb 100644
--- a/pkgs/development/tools/database/pyrseas/default.nix
+++ b/pkgs/development/tools/database/pyrseas/default.nix
@@ -38,7 +38,7 @@ pythonPackages.buildPythonApplication rec {
   ];
   meta = {
     description = "A declarative language to describe PostgreSQL databases";
-    homepage = http://perseas.github.io/;
+    homepage = https://perseas.github.io/;
     license = stdenv.lib.licenses.bsd3;
     maintainers = with stdenv.lib.maintainers; [ pmeunier ];
   };
diff --git a/pkgs/development/tools/database/sqldeveloper/default.nix b/pkgs/development/tools/database/sqldeveloper/default.nix
index 72c0aaabf85..f2c756e30f1 100644
--- a/pkgs/development/tools/database/sqldeveloper/default.nix
+++ b/pkgs/development/tools/database/sqldeveloper/default.nix
@@ -1,7 +1,21 @@
-{ stdenv, makeWrapper, requireFile, unzip, openjdk }:
+{ stdenv, makeDesktopItem, makeWrapper, requireFile, unzip, openjdk }:
 
-stdenv.mkDerivation rec {
-  version = "17.4.0.355.2349";
+let
+  version = "17.4.1.054.0712";
+
+  desktopItem = makeDesktopItem {
+    name = "sqldeveloper";
+    exec = "sqldeveloper";
+    icon = "sqldeveloper";
+    desktopName = "Oracle SQL Developer";
+    genericName = "Oracle SQL Developer";
+    comment = "Oracle's Oracle DB GUI client";
+    categories = "Application;Development;";
+  };
+in
+  stdenv.mkDerivation rec {
+
+  inherit version;
   name = "sqldeveloper-${version}";
 
   src = requireFile rec {
@@ -33,7 +47,7 @@ stdenv.mkDerivation rec {
         nix-prefetch-url --type sha256 file:///path/to/${name}
     '';
     # obtained by `sha256sum sqldeveloper-${version}-no-jre.zip`
-    sha256 = "70add9b5c998583416e3d127aeb63dde8e3d0489036982026b930c85496c7850";
+    sha256 = "7e92ca94d02489002db291c96f1d67f9b2501a8967ff3457103fcf60c1eb154a";
   };
 
   buildInputs = [ makeWrapper unzip ];
@@ -51,6 +65,10 @@ stdenv.mkDerivation rec {
     cd $out
     unzip ${src}
     mv sqldeveloper $out/lib/${name}
+
+    install -D -m 444 $out/lib/$name/icon.png $out/share/pixmaps/sqldeveloper.png
+    mkdir -p $out/share/applications
+    cp ${desktopItem}/share/applications/* $out/share/applications
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/tools/database/sqlitebrowser/default.nix b/pkgs/development/tools/database/sqlitebrowser/default.nix
index 74adac9f8a3..054eabdb5e4 100644
--- a/pkgs/development/tools/database/sqlitebrowser/default.nix
+++ b/pkgs/development/tools/database/sqlitebrowser/default.nix
@@ -33,7 +33,7 @@ mkDerivation rec {
     description = "DB Browser for SQLite";
     homepage = http://sqlitebrowser.org/;
     license = licenses.gpl3;
-    maintainers = with maintainers; [ matthiasbeyer ];
+    maintainers = with maintainers; [ ];
     platforms = platforms.linux; # can only test on linux
   };
 }
diff --git a/pkgs/development/tools/dcadec/default.nix b/pkgs/development/tools/dcadec/default.nix
index 95f992e490f..f9ca826cd62 100644
--- a/pkgs/development/tools/dcadec/default.nix
+++ b/pkgs/development/tools/dcadec/default.nix
@@ -14,6 +14,8 @@ stdenv.mkDerivation rec {
 
   installPhase = "make PREFIX=/ DESTDIR=$out install";
 
+  doCheck = false; # fails with "ERROR: Run 'git submodule update --init test/samples' first."
+
   meta = with stdenv.lib; {
     description = "DTS Coherent Acoustics decoder with support for HD extensions";
     maintainers = with maintainers; [ edwtjo ];
@@ -21,4 +23,4 @@ stdenv.mkDerivation rec {
     license = licenses.lgpl21;
     platforms = platforms.linux;
   };
-}
\ No newline at end of file
+}
diff --git a/pkgs/development/tools/doctl/default.nix b/pkgs/development/tools/doctl/default.nix
index a28e4a32168..be852066bfc 100644
--- a/pkgs/development/tools/doctl/default.nix
+++ b/pkgs/development/tools/doctl/default.nix
@@ -4,7 +4,7 @@ buildGoPackage rec {
   name = "doctl-${version}";
   version = "${major}.${minor}.${patch}";
   major = "1";
-  minor = "5";
+  minor = "8";
   patch = "0";
   goPackagePath = "github.com/digitalocean/doctl";
 
@@ -19,9 +19,9 @@ buildGoPackage rec {
 
   src = fetchFromGitHub {
     owner = "digitalocean";
-    repo = "doctl";
-    rev = "v${version}";
-    sha256 = "0dk7l4b0ngqkwdlx8qgr99jzipyzazvkv7dybi75dnp725lwxkl2";
+    repo   = "doctl";
+    rev    = "v${version}";
+    sha256 = "1h94qagbni8cvzdparmgx3m9qcnbwbk0kjlvy9jzxfd3vcpbg38j";
   };
 
   meta = {
diff --git a/pkgs/development/tools/documentation/doxygen/default.nix b/pkgs/development/tools/documentation/doxygen/default.nix
index 05418aa39a8..d25f00276f6 100644
--- a/pkgs/development/tools/documentation/doxygen/default.nix
+++ b/pkgs/development/tools/documentation/doxygen/default.nix
@@ -25,6 +25,7 @@ stdenv.mkDerivation rec {
     stdenv.lib.optional stdenv.isDarwin "-mmacosx-version-min=10.9";
 
   enableParallelBuilding = true;
+  doCheck = false; # fails
 
   meta = {
     license = stdenv.lib.licenses.gpl2Plus;
diff --git a/pkgs/development/tools/documentation/gtk-doc/default.nix b/pkgs/development/tools/documentation/gtk-doc/default.nix
index a176c5cb764..5bd989a4da8 100644
--- a/pkgs/development/tools/documentation/gtk-doc/default.nix
+++ b/pkgs/development/tools/documentation/gtk-doc/default.nix
@@ -1,13 +1,17 @@
 { stdenv, fetchurl, autoreconfHook, pkgconfig, perl, python, libxml2Python, libxslt, which
 , docbook_xml_dtd_43, docbook_xsl, gnome-doc-utils, dblatex, gettext, itstool }:
 
+let
+  pythonEnv = python.withPackages (ps: with ps; [ six ]);
+in
+
 stdenv.mkDerivation rec {
   name = "gtk-doc-${version}";
-  version = "1.25";
+  version = "1.28";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gtk-doc/${version}/${name}.tar.xz";
-    sha256 = "0hpxcij9xx9ny3gs9p0iz4r8zslw8wqymbyababiyl7603a6x90y";
+    sha256 = "05apmwibkmn1icx05l8aw241lhymcx01zvk5i499cb150bijj7li";
   };
 
   patches = [
@@ -18,12 +22,15 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ autoreconfHook ];
   buildInputs =
-   [ pkgconfig perl python libxml2Python libxslt docbook_xml_dtd_43 docbook_xsl
+   [ pkgconfig perl pythonEnv libxml2Python libxslt docbook_xml_dtd_43 docbook_xsl
      gnome-doc-utils dblatex gettext which itstool
    ];
 
   configureFlags = "--disable-scrollkeeper";
 
+  doCheck = false; # requires a lot of stuff
+  doInstallCheck = false; # fails
+
   passthru = {
     # Consumers are expected to copy the m4 files to their source tree, let them reuse the patch
     respect_xml_catalog_files_var_patch = ./respect-xml-catalog-files-var.patch;
diff --git a/pkgs/development/tools/documentation/mkdocs/default.nix b/pkgs/development/tools/documentation/mkdocs/default.nix
index b6daade32e7..128eed603b0 100644
--- a/pkgs/development/tools/documentation/mkdocs/default.nix
+++ b/pkgs/development/tools/documentation/mkdocs/default.nix
@@ -4,16 +4,20 @@ with python.pkgs;
 
 buildPythonApplication rec {
   pname = "mkdocs";
-  version = "0.17.2";
-  name = "${pname}-${version}";
+  version = "0.17.3";
 
   src = fetchFromGitHub {
     owner = "mkdocs";
     repo = "mkdocs";
     rev = version;
-    sha256 = "0hpjs9qj0nr57a249yv8xvl61d3d2rrdfqxp1fm28z77l2xjj772";
+    sha256 = "15lv60gdc837zja5kn2rfp78kwyb1ckc43jg01zfzqra4qz7b6rw";
   };
 
+  postPatch = ''
+    substituteInPlace setup.py \
+      --replace "tornado>=4.1,<5.0" "tornado>=4.1"
+  '';
+
   checkInputs = [
     nose nose-exclude mock
   ];
diff --git a/pkgs/development/tools/flyway/default.nix b/pkgs/development/tools/flyway/default.nix
index 11e2c6d2c5a..43026e55e7f 100644
--- a/pkgs/development/tools/flyway/default.nix
+++ b/pkgs/development/tools/flyway/default.nix
@@ -23,7 +23,7 @@
         description = "Evolve your Database Schema easily and reliably across all your instances";
         homepage = "https://flywaydb.org/";
         license = licenses.asl20;
-        platforms = platforms.linux;
+        platforms = platforms.unix;
         maintainers = [ maintainers.cmcdragonkai ];
       };
     }
diff --git a/pkgs/development/tools/fmbt/default.nix b/pkgs/development/tools/fmbt/default.nix
new file mode 100644
index 00000000000..11880213bad
--- /dev/null
+++ b/pkgs/development/tools/fmbt/default.nix
@@ -0,0 +1,53 @@
+{ stdenv, fetchFromGitHub, python, autoreconfHook, pkgconfig, makeWrapper
+, flex
+, gettext, libedit, glib, imagemagick, libxml2, boost, gnuplot, graphviz
+, tesseract, gts, libXtst
+}:
+stdenv.mkDerivation rec {
+  version = "0.39";
+  name = "fMBT-${version}";
+
+  src = fetchFromGitHub {
+    owner = "intel";
+    repo = "fMBT";
+    rev = "v${version}";
+    sha256 = "15sxwdcsjybq50vkla4md2ay8m67ndc4vwcsl5vwsjkim5qlxslb";
+  };
+
+  nativeBuildInputs = [ autoreconfHook pkgconfig flex makeWrapper
+    python.pkgs.wrapPython ];
+
+  buildInputs = [ python gettext libedit glib imagemagick libxml2 boost
+    gnuplot graphviz tesseract gts 
+    ];
+
+  propagatedBuildInputs = with python.pkgs; [
+    pyside pydbus pexpect pysideShiboken
+  ];
+
+  preBuild = ''
+    export PYTHONPATH="$PYTHONPATH:$out/lib/python${python.pythonVersion}/site-packages"
+    export PATH="$PATH:$out/bin"
+    export LD_LIBRARY_PATH="${stdenv.lib.makeLibraryPath [libXtst]}"
+  '';
+
+  postInstall = ''
+    echo -e '#! ${stdenv.shell}\npython "$@"' > "$out/bin/fmbt-python"
+    chmod a+x "$out/bin/fmbt-python"
+    patchShebangs "$out/bin"
+    for i in "$out"/bin/*; do
+      wrapProgram "$i" --suffix "PATH" ":" "$PATH" \
+        --suffix "PYTHONPATH" ":" "$PYTHONPATH" \
+        --suffix "LD_LIBRARY_PATH" ":" "$LD_LIBRARY_PATH"
+    done
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Free Model-Based Testing tool";
+    homepage = "https://github.com/intel/fMBT";
+    license = licenses.lgpl21;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ raskin ];
+  };
+}
+
diff --git a/pkgs/development/tools/gauge/default.nix b/pkgs/development/tools/gauge/default.nix
index f1533f551b2..12152e98866 100644
--- a/pkgs/development/tools/gauge/default.nix
+++ b/pkgs/development/tools/gauge/default.nix
@@ -2,20 +2,21 @@
 
 buildGoPackage rec {
   name = "gauge-${version}";
-  version = "0.9.6";
+  version = "0.9.7";
 
   goPackagePath = "github.com/getgauge/gauge";
+  excludedPackages = ''\(build\|man\)'';
 
   src = fetchFromGitHub {
     owner = "getgauge";
     repo = "gauge";
     rev = "v${version}";
-    sha256 = "0p2bnrzgx616jbyr9h4h9azaq7ry63z4qkwgy0ivwrpmhfqfqwmh";
+    sha256 = "09afsi97yxlqwmrxvihravqvz17m7y402gbw4hvdk0iixa6jpq6a";
   };
 
   meta = with stdenv.lib; {
    description = "Light weight cross-platform test automation";
-   homepage    = http://gauge.org;
+   homepage    = https://gauge.org;
    license     = licenses.gpl3;
    maintainers = [ maintainers.vdemeester ];
    platforms   = platforms.unix;
diff --git a/pkgs/development/tools/gllvm/default.nix b/pkgs/development/tools/gllvm/default.nix
new file mode 100644
index 00000000000..470ba291825
--- /dev/null
+++ b/pkgs/development/tools/gllvm/default.nix
@@ -0,0 +1,22 @@
+{ stdenv, buildGoPackage, fetchFromGitHub }:
+
+buildGoPackage rec {
+  name = "gllvm-${version}";
+  version = "1.2.0";
+
+  goPackagePath = "github.com/SRI-CSL/gllvm";
+
+  src = fetchFromGitHub {
+    owner = "SRI-CSL";
+    repo = "gllvm";
+    rev = "v${version}";
+    sha256 = "0779828kzw9ihdnw5r3h2fzzd8ml8cskyf5hmaqqksinjb7bm3is";
+  };
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/SRI-CSL/gllvm;
+    description = "Whole Program LLVM: wllvm ported to go";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ dtzWill ];
+  };
+}
diff --git a/pkgs/development/tools/glslviewer/default.nix b/pkgs/development/tools/glslviewer/default.nix
index 7a28f86562f..fbae0a76f25 100644
--- a/pkgs/development/tools/glslviewer/default.nix
+++ b/pkgs/development/tools/glslviewer/default.nix
@@ -1,36 +1,46 @@
 { stdenv, fetchFromGitHub, glfw, pkgconfig, libXrandr, libXdamage
 , libXext, libXrender, libXinerama, libXcursor, libXxf86vm, libXi
-, libX11, libGLU, Cocoa
+, libX11, libGLU, python2Packages, ensureNewerSourcesForZipFilesHook
+, Cocoa
 }:
 
 stdenv.mkDerivation rec {
   name = "glslviewer-${version}";
-  version = "1.2";
+  version = "2018-01-31";
 
   src = fetchFromGitHub {
     owner = "patriciogonzalezvivo";
     repo = "glslViewer";
-    rev = version;
-    sha256 = "05ya821l2pd58anyx21mgmlm2bv78rz8cnbvqw4d9pfhq40z9psw";
+    rev = "cac40f6984dbeb638950744c9508aa88591fea6c";
+    sha256 = "1bykpp68hdxjlxvi1xicyb6822mz69q0adz24faaac372pls4bk0";
   };
 
+  nativeBuildInputs = [ pkgconfig ensureNewerSourcesForZipFilesHook ];
+  buildInputs = [
+    glfw libGLU glfw libXrandr libXdamage
+    libXext libXrender libXinerama libXcursor libXxf86vm
+    libXi libX11
+  ] ++ (with python2Packages; [ python setuptools wrapPython ])
+    ++ stdenv.lib.optional stdenv.isDarwin Cocoa;
+  pythonPath = with python2Packages; [ requests.dev ];
+
   # Makefile has /usr/local/bin hard-coded for 'make install'
   preConfigure = ''
     substituteInPlace Makefile \
         --replace '/usr/local' "$out" \
         --replace '/usr/bin/clang++' 'clang++'
+    substituteInPlace Makefile \
+        --replace 'python setup.py install' "python setup.py install --prefix=$out"
   '';
 
   preInstall = ''
-    mkdir -p $out/bin
+    mkdir -p $out/bin $(toPythonPath "$out")
+    export PYTHONPATH=$PYTHONPATH:$(toPythonPath "$out")
   '';
 
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [
-    glfw libGLU glfw libXrandr libXdamage
-    libXext libXrender libXinerama libXcursor libXxf86vm
-    libXi libX11
-  ] ++ stdenv.lib.optional stdenv.isDarwin Cocoa;
+  postInstall = ''
+    wrapPythonPrograms
+  '';
 
   meta = with stdenv.lib; {
     description = "Live GLSL coding renderer";
diff --git a/pkgs/development/tools/gnulib/default.nix b/pkgs/development/tools/gnulib/default.nix
index f11bb83a74a..eeaec8eb033 100644
--- a/pkgs/development/tools/gnulib/default.nix
+++ b/pkgs/development/tools/gnulib/default.nix
@@ -1,17 +1,20 @@
 { stdenv, fetchgit }:
 
 stdenv.mkDerivation {
-  name = "gnulib-0.1-357-gffe6467";
-
-  phases = ["unpackPhase" "installPhase"];
+  name = "gnulib-20180226";
 
   src = fetchgit {
     url = "http://git.savannah.gnu.org/r/gnulib.git";
-    rev = "92b60e61666f008385d9b7f7443da17c7a44d1b1";
-    sha256 = "0sa1dndvaxhw0zyc19al5cmpgzlwnnznjz89lw1b4vj3xn7avjnr";
+    rev = "0bec5d56c6938c2f28417bb5fd1c4b05ea2e7d28";
+    sha256 = "0sifr3bkmhyr5s6ljgfyr0fw6w49ajf11rlp1r797f3r3r6j9w4k";
   };
 
-  installPhase = "mkdir -p $out; mv * $out/";
+  dontFixup = true;
+  # no "make install", gnulib is a collection of source code
+  installPhase = ''
+    mkdir -p $out; mv * $out/
+    ln -s $out/lib $out/include
+  '';
 
   meta = {
     homepage = http://www.gnu.org/software/gnulib/;
diff --git a/pkgs/development/tools/go-langserver/default.nix b/pkgs/development/tools/go-langserver/default.nix
new file mode 100644
index 00000000000..84efaf2a4b6
--- /dev/null
+++ b/pkgs/development/tools/go-langserver/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, buildGoPackage, fetchFromGitHub }:
+
+buildGoPackage rec {
+  name = "go-langserver-${version}";
+  version = "unstable-2018-03-05";
+  rev = "5d7a5dd74738978d635f709669241f164c120ebd";
+
+  goPackagePath = "github.com/sourcegraph/go-langserver";
+  subPackages = [ "." ];
+
+  src = fetchFromGitHub {
+    inherit rev;
+    owner = "sourcegraph";
+    repo = "go-langserver";
+    sha256 = "0aih0akk3wk3332znkhr2bzxcc3parijq7n089mdahnf20k69xyz";
+  };
+
+  meta = with stdenv.lib; {
+    description = "A Go language server protocol server";
+    homepage = https://github.com/sourcegraph/go-langserver;
+    license = licenses.mit;
+    maintainers = with maintainers; [ johnchildren ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/development/tools/go2nix/default.nix b/pkgs/development/tools/go2nix/default.nix
index 9a3ff192ba9..5ef12d88c06 100644
--- a/pkgs/development/tools/go2nix/default.nix
+++ b/pkgs/development/tools/go2nix/default.nix
@@ -33,6 +33,8 @@ buildGoPackage rec {
 
   allowGoReference = true;
 
+  doCheck = false; # tries to access the net
+
   meta = with stdenv.lib; {
     description = "Go apps packaging for Nix";
     homepage = https://github.com/kamilchm/go2nix;
diff --git a/pkgs/development/tools/godot/default.nix b/pkgs/development/tools/godot/default.nix
index 1ea4d160b4c..88ea499d28c 100644
--- a/pkgs/development/tools/godot/default.nix
+++ b/pkgs/development/tools/godot/default.nix
@@ -1,41 +1,69 @@
-{ stdenv, fetchFromGitHub, gcc5, scons, pkgconfig, libX11, libXcursor
-, libXinerama, libXrandr, libXrender, freetype, openssl, alsaLib
-, libpulseaudio, libGLU, zlib }:
+{ stdenv, lib, fetchFromGitHub, scons, pkgconfig, libX11, libXcursor
+, libXinerama, libXrandr, libXrender, libpulseaudio ? null
+, libXi ? null, libXext, libXfixes, freetype, openssl
+, alsaLib, libGLU, zlib, yasm ? null }:
 
-stdenv.mkDerivation rec {
+let
+  options = {
+    touch = libXi != null;
+    pulseaudio = false;
+  };
+in stdenv.mkDerivation rec {
   name    = "godot-${version}";
-  version = "2.1.4";
+  version = "3.0.2";
 
   src = fetchFromGitHub {
     owner  = "godotengine";
     repo   = "godot";
     rev    = "${version}-stable";
-    sha256 = "0d2zczn5k7296sky5gllq55cxd586nx134y2iwjpkqqjr62g0h48";
+    sha256 = "1ca1zznb7qqn4vf2nfwb8nww5x0k8fc4lwjvgydr6nr2mn70xka4";
   };
 
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    gcc5 scons libX11 libXcursor libXinerama libXrandr libXrender
-    freetype openssl alsaLib libpulseaudio libGLU zlib
+    scons libX11 libXcursor libXinerama libXrandr libXrender
+    libXi libXext libXfixes freetype openssl alsaLib libpulseaudio
+    libGLU zlib yasm
   ];
 
-  patches = [ ./pkg_config_additions.patch ];
+  patches = [
+    ./pkg_config_additions.patch
+    ./dont_clobber_environment.patch
+  ];
 
   enableParallelBuilding = true;
 
   buildPhase = ''
-    scons platform=x11 prefix=$out -j $NIX_BUILD_CORES
+    scons target=release_debug platform=x11 prefix=$out -j $NIX_BUILD_CORES \
+      ${lib.concatStringsSep " "
+          (lib.mapAttrsToList (k: v: "${k}=${builtins.toJSON v}") options)}
   '';
 
+  outputs = [ "out" "dev" "man" ];
+
   installPhase = ''
-    mkdir $out/bin -p
-    cp bin/godot.* $out/bin/
+    mkdir -p "$out/bin"
+    cp bin/godot.* $out/bin/godot
+
+    mkdir "$dev"
+    cp -r modules/gdnative/include $dev
+
+    mkdir -p "$man/share/man/man6"
+    cp misc/dist/linux/godot.6 "$man/share/man/man6/"
+
+    mkdir -p "$out"/share/{applications,icons/hicolor/scalable/apps}
+    cp misc/dist/linux/godot.desktop "$out/share/applications/"
+    cp icon.svg "$out/share/icons/hicolor/scalable/apps/godot.svg"
+    cp icon.png "$out/share/icons/godot.png"
+    substituteInPlace "$out/share/applications/godot.desktop" \
+      --replace "Exec=godot" "Exec=$out/bin/godot"
   '';
 
   meta = {
     homepage    = "https://godotengine.org";
     description = "Free and Open Source 2D and 3D game engine";
     license     = stdenv.lib.licenses.mit;
-    platforms   = stdenv.lib.platforms.linux;
+    platforms   = [ "i686-linux" "x86_64-linux" ];
+    maintainers = [ stdenv.lib.maintainers.twey ];
   };
 }
diff --git a/pkgs/development/tools/godot/dont_clobber_environment.patch b/pkgs/development/tools/godot/dont_clobber_environment.patch
new file mode 100644
index 00000000000..c57c85588a0
--- /dev/null
+++ b/pkgs/development/tools/godot/dont_clobber_environment.patch
@@ -0,0 +1,16 @@
++++ build/SConstruct
+@@ -69,10 +69,10 @@
+         custom_tools = ['mingw']
+ 
+ env_base = Environment(tools=custom_tools)
+-if 'TERM' in os.environ:
+-    env_base['ENV']['TERM'] = os.environ['TERM']
+-env_base.AppendENVPath('PATH', os.getenv('PATH'))
+-env_base.AppendENVPath('PKG_CONFIG_PATH', os.getenv('PKG_CONFIG_PATH'))
++for k in ("TERM", "PATH", "PKG_CONFIG_PATH"):
++    if (k in os.environ):
++        env_base["ENV"][k] = os.environ[k]
++
+ env_base.global_defaults = global_defaults
+ env_base.android_maven_repos = []
+ env_base.android_flat_dirs = []
diff --git a/pkgs/development/tools/godot/pkg_config_additions.patch b/pkgs/development/tools/godot/pkg_config_additions.patch
index 2302710ac7e..286372f060a 100644
--- a/pkgs/development/tools/godot/pkg_config_additions.patch
+++ b/pkgs/development/tools/godot/pkg_config_additions.patch
@@ -1,12 +1,13 @@
-+++ build/platform/x11/detect.py
-@@ -139,6 +139,10 @@
-     env.ParseConfig('pkg-config xinerama --cflags --libs')
++++ b/platform/x11/detect.py
+@@ -142,6 +142,11 @@
      env.ParseConfig('pkg-config xcursor --cflags --libs')
+     env.ParseConfig('pkg-config xinerama --cflags --libs')
      env.ParseConfig('pkg-config xrandr --cflags --libs')
 +    env.ParseConfig('pkg-config xrender --cflags --libs')
-+    env.ParseConfig('pkg-config oslibGLU_combined --cflags')
++    env.ParseConfig('pkg-config xext --cflags --libs')
++    env.ParseConfig('pkg-config xfixes --cflags --libs')
 +    env.ParseConfig('pkg-config glu --cflags --libs')
 +    env.ParseConfig('pkg-config zlib --cflags --libs')
-
-     if (env['builtin_openssl'] == 'no'):
-         # Currently not compatible with OpenSSL 1.1.0+
+ 
+     if (env['touch']):
+         x11_error = os.system("pkg-config xi --modversion > /dev/null ")
diff --git a/pkgs/development/tools/govers/default.nix b/pkgs/development/tools/govers/default.nix
index bd4dd28f599..a80f1569329 100644
--- a/pkgs/development/tools/govers/default.nix
+++ b/pkgs/development/tools/govers/default.nix
@@ -4,7 +4,7 @@ buildGoPackage rec {
   name = "govers-${version}";
   version = "20150109-${stdenv.lib.strings.substring 0 7 rev}";
   rev = "3b5f175f65d601d06f48d78fcbdb0add633565b9";
-  
+
   goPackagePath = "github.com/rogpeppe/govers";
 
   src = fetchgit {
@@ -14,4 +14,7 @@ buildGoPackage rec {
   };
 
   dontRenameImports = true;
+
+  doCheck = false; # fails, silently
+
 }
diff --git a/pkgs/development/tools/gron/default.nix b/pkgs/development/tools/gron/default.nix
new file mode 100644
index 00000000000..14c8f53a394
--- /dev/null
+++ b/pkgs/development/tools/gron/default.nix
@@ -0,0 +1,32 @@
+{ stdenv, buildGoPackage, fetchFromGitHub }:
+
+buildGoPackage rec {
+  name = "gron-${version}";
+  version = "0.5.2";
+
+  owner = "tomnomnom";
+  repo = "gron";
+  goPackagePath = "github.com/${owner}/${repo}";
+
+  src = fetchFromGitHub {
+    inherit owner repo;
+    rev = "v${version}";
+    sha256 = "0nxcvih8n5a4f0a53dxaipab5ckqxgnsznzymhfw5kv4inr9v6j6";
+  };
+
+  goDeps = ./deps.nix;
+
+  meta = with stdenv.lib; {
+    description = "Make JSON greppable!";
+    longDescription = ''
+      gron transforms JSON into discrete assignments to make it easier to grep
+      for what you want and see the absolute 'path' to it. It eases the
+      exploration of APIs that return large blobs of JSON but have terrible
+      documentation.
+    '';
+    homepage = "https://github.com/tomnomnom/gron";
+    license = licenses.mit;
+    maintainers = [ maintainers.fgaz ];
+    platforms = with platforms; linux ++ darwin;
+  };
+}
diff --git a/pkgs/development/tools/gron/deps.nix b/pkgs/development/tools/gron/deps.nix
new file mode 100644
index 00000000000..c5b1feb888a
--- /dev/null
+++ b/pkgs/development/tools/gron/deps.nix
@@ -0,0 +1,35 @@
+[
+  rec {
+    owner = "fatih";
+    repo = "color";
+    goPackagePath = "github.com/${owner}/${repo}";
+    fetch = {
+      type = "git";
+      url = "https://github.com/${owner}/${repo}";
+      rev = "v1.6.0";
+      sha256 = "0k1v9dkhrxiqhg48yqkwzpd7x40xx38gv2pgknswbsy4r8w644i7";
+    };
+  }
+  rec {
+    owner = "nwidger";
+    repo = "jsoncolor";
+    goPackagePath = "github.com/${owner}/${repo}";
+    fetch = {
+      type = "git";
+      url = "https://github.com/${owner}/${repo}";
+      rev = "75a6de4340e59be95f0884b9cebdda246e0fdf40";
+      sha256 = "0aiv42xijrqgrxfx6pfyrndpwqv8i1qwsk190jdczyjxlnki2nki";
+    };
+  }
+  rec {
+    owner = "pkg";
+    repo = "errors";
+    goPackagePath = "github.com/${owner}/${repo}";
+    fetch = {
+      type = "git";
+      url = "https://github.com/${owner}/${repo}";
+      rev = "v0.8.0";
+      sha256 = "001i6n71ghp2l6kdl3qq1v2vmghcz3kicv9a5wgcihrzigm75pp5";
+    };
+  }
+]
diff --git a/pkgs/development/tools/guile/guile-lint/default.nix b/pkgs/development/tools/guile/guile-lint/default.nix
index 19441c54017..fd9347a4007 100644
--- a/pkgs/development/tools/guile/guile-lint/default.nix
+++ b/pkgs/development/tools/guile/guile-lint/default.nix
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
       "exec guile" "exec ${guile}/bin/guile"
   '';
 
-  doCheck = true;
+  doCheck = !stdenv.isDarwin;
 
   meta = with stdenv.lib; {
     description = "Checks syntax and semantics in a Guile program or module";
diff --git a/pkgs/development/tools/haskell/hyper-haskell/default.nix b/pkgs/development/tools/haskell/hyper-haskell/default.nix
new file mode 100644
index 00000000000..31697750a70
--- /dev/null
+++ b/pkgs/development/tools/haskell/hyper-haskell/default.nix
@@ -0,0 +1,50 @@
+{ stdenv, fetchFromGitHub, writeText, jshon, electron, hyper-haskell-server, extra-packages ? [] }:
+
+let
+  binPath = stdenv.lib.makeBinPath ([ hyper-haskell-server ] ++ extra-packages);
+
+in stdenv.mkDerivation rec {
+  name = "hyper-haskell-${version}";
+  version = "0.1.0.2";
+
+  src = fetchFromGitHub {
+    owner = "HeinrichApfelmus";
+    repo = "hyper-haskell";
+    rev = "v${version}";
+    sha256 = "1k38h7qx12z7463z8466pji0nwfkp4qkg7q83kns2mzmwmw5jnmb";
+  };
+
+  propagatedBuildInputs = extra-packages;
+
+  buildCommand = ''
+    mkdir -p $out/bin $out/share/hyper-haskell/worksheets $out/share/applications $out/share/icons/hicolor/scalable/apps $out/share/mime/packages
+
+    # Electron app
+    cp -R $src/app $out
+
+    # Desktop Launcher
+    cp $src/resources/hyper-haskell.desktop $out/share/applications/hyper-haskell.desktop
+    cp $src/resources/icons/icon.svg $out/share/icons/hicolor/scalable/apps/hyper-haskell.svg
+    cp $src/resources/shared-mime-info.xml $out/share/mime/packages/hyper-haskell.xml
+
+    # install example worksheets with backend set to nix
+    for worksheet in "$src/worksheets/"*.hhs; do
+      ${jshon}/bin/jshon -e settings -s nix -i packageTool -p < $worksheet > $out/share/hyper-haskell/worksheets/`basename $worksheet`
+    done
+
+    # install electron wrapper script
+    cat > $out/bin/hyper-haskell <<EOF
+    #!${stdenv.shell}
+    export PATH="${binPath}:\$PATH"
+    exec ${electron}/bin/electron $out/app "\$@"
+    EOF
+    chmod 755 $out/bin/hyper-haskell
+  '';
+
+  meta = with stdenv.lib; {
+    description = "The strongly hyped graphical interpreter for the Haskell programming language";
+    homepage = "https://github.com/HeinrichApfelmus/hyper-haskell";
+    license = licenses.bsd3;
+    maintainers = [ maintainers.rvl ];
+  };
+}
diff --git a/pkgs/development/tools/haskell/hyper-haskell/server.nix b/pkgs/development/tools/haskell/hyper-haskell/server.nix
new file mode 100644
index 00000000000..ff82127f0c4
--- /dev/null
+++ b/pkgs/development/tools/haskell/hyper-haskell/server.nix
@@ -0,0 +1,21 @@
+{ stdenv, ghcWithPackages, makeWrapper, packages }:
+
+let
+hyperHaskellEnv = ghcWithPackages (self: [ self.hyper-haskell-server ] ++ packages self);
+in stdenv.mkDerivation {
+  name = "hyper-haskell-server-with-packages";
+
+  nativeBuildInputs = [ makeWrapper ];
+
+  buildCommand = ''
+    mkdir -p $out/bin
+    makeWrapper ${hyperHaskellEnv}/bin/hyper-haskell-server $out/bin/hyper-haskell-server \
+      --set NIX_GHC ${hyperHaskellEnv}/bin/ghc \
+      --set NIX_GHCPKG ${hyperHaskellEnv}/bin/ghc-pkg \
+      --set NIX_GHC_LIBDIR ${hyperHaskellEnv}/lib/ghc-*
+  '';
+
+  # trivial derivation
+  preferLocalBuild = true;
+  allowSubstitutes = false;
+}
diff --git a/pkgs/development/tools/haskell/multi-ghc-travis/default.nix b/pkgs/development/tools/haskell/multi-ghc-travis/default.nix
index a259fd7d76b..454bb5d5881 100644
--- a/pkgs/development/tools/haskell/multi-ghc-travis/default.nix
+++ b/pkgs/development/tools/haskell/multi-ghc-travis/default.nix
@@ -1,15 +1,15 @@
-{ mkDerivation, base, bytestring, Cabal, containers, deepseq, Diff
-, directory, filepath, ShellCheck, stdenv, tasty, tasty-golden
-, transformers, fetchFromGitHub
+{ mkDerivation, ansi-terminal, base, bytestring, Cabal, containers
+, deepseq, Diff, directory, filepath, ShellCheck, stdenv, tasty
+, tasty-golden, transformers, fetchFromGitHub
 }:
 mkDerivation {
-  pname = "make-travis-yml";
+  pname = "haskell-ci";
   version = "0";
   src = fetchFromGitHub {
     owner = "haskell-CI";
     repo = "haskell-ci";
-    rev = "36b2ee58b9fd160d606608832625b2b6c32aec43";
-    sha256 = "16g99jh5bszvfvb7mmyhl95mkf1l3ydyax8d9py91hi3m8r0c2x0";
+    rev = "105005cde6bde903e477e5b9724d02bdea06bae4";
+    sha256 = "1l76782aa29mi88a2brvkyi6k0v33rpihxlskx99mak06bjrmnhh";
   };
   isLibrary = true;
   isExecutable = true;
@@ -19,8 +19,8 @@ mkDerivation {
   ];
   executableHaskellDepends = [ base ];
   testHaskellDepends = [
-    base bytestring Diff directory filepath tasty tasty-golden
-    transformers
+    ansi-terminal base bytestring Diff directory filepath tasty
+    tasty-golden transformers
   ];
   homepage = "https://github.com/haskell-CI/haskell-ci";
   description = "Script generator for Travis-CI";
diff --git a/pkgs/development/tools/hcloud/default.nix b/pkgs/development/tools/hcloud/default.nix
index e56502a4ad0..c4f6e2565f6 100644
--- a/pkgs/development/tools/hcloud/default.nix
+++ b/pkgs/development/tools/hcloud/default.nix
@@ -2,14 +2,14 @@
 
 buildGoPackage rec {
   name = "hcloud-${version}";
-  version = "1.3.0";
+  version = "1.4.0";
   goPackagePath = "github.com/hetznercloud/cli";
 
   src = fetchFromGitHub {
     owner = "hetznercloud";
     repo = "cli";
     rev = "v${version}";
-    sha256 = "1216qz1kk38vkvfrznjwb65vsbhscqvvrsbp2i6pnf0i85p00pqm";
+    sha256 = "1mysw091ddi3abijvciyy73ff31vqq7zb37w30sp3vhm5vq38nn2";
   };
 
   buildFlagsArray = [ "-ldflags=" "-X github.com/hetznercloud/cli.Version=${version}" ];
diff --git a/pkgs/development/tools/iaca/2.1.nix b/pkgs/development/tools/iaca/2.1.nix
new file mode 100644
index 00000000000..e71e296212c
--- /dev/null
+++ b/pkgs/development/tools/iaca/2.1.nix
@@ -0,0 +1,33 @@
+{ stdenv, makeWrapper, requireFile, patchelf, gcc, unzip }:
+with stdenv.lib;
+
+# v2.1: last version with NHM/WSM arch support
+stdenv.mkDerivation {
+  name = "iaca-2.1";
+  src = requireFile {
+    name = "iaca-version-2.1-lin64.zip";
+    sha256 = "11s1134ijf66wrc77ksky9mnb0lq6ml6fzmr86a6p6r5xclzay2m";
+    url = "https://software.intel.com/en-us/articles/intel-architecture-code-analyzer-download";
+  };
+  unpackCmd = ''${unzip}/bin/unzip "$src" -x __MACOSX/ __MACOSX/iaca-lin64/ __MACOSX/iaca-lin64/._.DS_Store'';
+  nativeBuildInputs = [ makeWrapper ];
+  installPhase = ''
+    mkdir -p $out/bin $out/lib
+    cp bin/iaca $out/bin/
+    cp lib/* $out/lib
+  '';
+  preFixup = let libPath = makeLibraryPath [ stdenv.cc.cc.lib gcc ]; in ''
+    patchelf \
+        --set-interpreter ${stdenv.glibc}/lib/ld-linux-x86-64.so.2 \
+        --set-rpath $out/lib:"${libPath}" \
+        $out/bin/iaca
+  '';
+  postFixup = ''wrapProgram $out/bin/iaca --set LD_LIBRARY_PATH $out/lib'';
+  meta = {
+    description = "Intel Architecture Code Analyzer";
+    homepage = https://software.intel.com/en-us/articles/intel-architecture-code-analyzer/;
+    license = licenses.unfree;
+    platforms = [ "x86_64-linux" ];
+    maintainers = with maintainers; [ kazcw ];
+  };
+}
diff --git a/pkgs/development/tools/iaca/3.0.nix b/pkgs/development/tools/iaca/3.0.nix
new file mode 100644
index 00000000000..af738bc71a9
--- /dev/null
+++ b/pkgs/development/tools/iaca/3.0.nix
@@ -0,0 +1,24 @@
+{ stdenv, requireFile, patchelf, unzip }:
+with stdenv.lib;
+
+stdenv.mkDerivation {
+  name = "iaca-3.0";
+  src = requireFile {
+    name = "iaca-version-v3.0-lin64.zip";
+    sha256 = "0qd81bxg269cwwvfmdp266kvhcl3sdvhrkfqdrbmanawk0w7lvp1";
+    url = "https://software.intel.com/en-us/articles/intel-architecture-code-analyzer-download";
+  };
+  unpackCmd = ''${unzip}/bin/unzip "$src"'';
+  installPhase = ''
+    mkdir -p $out/bin
+    cp iaca $out/bin
+    patchelf --set-interpreter ${stdenv.glibc}/lib/ld-linux-x86-64.so.2 $out/bin/iaca
+  '';
+  meta = {
+    description = "Intel Architecture Code Analyzer";
+    homepage = https://software.intel.com/en-us/articles/intel-architecture-code-analyzer/;
+    license = licenses.unfree;
+    platforms = [ "x86_64-linux" ];
+    maintainers = with maintainers; [ kazcw ];
+  };
+}
diff --git a/pkgs/development/tools/icestorm/default.nix b/pkgs/development/tools/icestorm/default.nix
index 0307027faa2..cb203a431d4 100644
--- a/pkgs/development/tools/icestorm/default.nix
+++ b/pkgs/development/tools/icestorm/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "icestorm-${version}";
-  version = "2018.02.14";
+  version = "2018.05.03";
 
   src = fetchFromGitHub {
     owner  = "cliffordwolf";
     repo   = "icestorm";
-    rev    = "edbf5fce90ff0e71922a54241a1aec914cc3e230";
-    sha256 = "01d6xv5c4x8w8lamc8n3vnqsyn7ykhh1ws7k96d6ij5fs52k94xb";
+    rev    = "237280ce44f72c7b2e1ca671d5113dba34cc4fca";
+    sha256 = "0r9xh024snaf1g2r5k524yl6lvf5rkfhqwjzcixh1m12012i5hrh";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/development/tools/imatix_gsl/default.nix b/pkgs/development/tools/imatix_gsl/default.nix
index a35af00f449..1d7b22ac5ee 100644
--- a/pkgs/development/tools/imatix_gsl/default.nix
+++ b/pkgs/development/tools/imatix_gsl/default.nix
@@ -13,6 +13,8 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ pcre ];
 
+  CCNAME = "cc";
+
   postPatch = "sed -e 's,/usr/bin/install,install,g' -i src/Makefile";
   preBuild = "cd src";
   installFlags = "DESTDIR=$(out)";
@@ -23,5 +25,6 @@ stdenv.mkDerivation rec {
     description = "A universal code generator";
     platforms = platforms.unix;
     maintainers = [ maintainers.moosingin3space ];
+    broken = stdenv.isLinux; # 2018-04-10
   };
 }
diff --git a/pkgs/development/tools/java/cfr/default.nix b/pkgs/development/tools/java/cfr/default.nix
index bfb37fc5f03..39677ba719e 100644
--- a/pkgs/development/tools/java/cfr/default.nix
+++ b/pkgs/development/tools/java/cfr/default.nix
@@ -1,28 +1,20 @@
-{ stdenv, fetchurl, jre }:
+{ stdenv, makeWrapper, fetchurl, jre }:
 
 stdenv.mkDerivation rec {
   name = "cfr-${version}";
-  version = "0_101";
+  version = "0.128";
 
   src = fetchurl {
-    sha256 = "0zwl3whypdm2qrw3hwaqjnifkb4wcdn8fx9scrjkli54bhr6dqch";
     url = "http://www.benf.org/other/cfr/cfr_${version}.jar";
+    sha256 = "09mx1f6d1p57q5r05nvgm1xrhqv34n7v7rwq875whb441h1dnsix";
   };
 
-  buildInputs = [ jre ];
+  buildInputs = [ makeWrapper ];
 
-  phases = [ "installPhase" ];
-
-  installPhase = ''
-    jar=$out/share/cfr/cfr_${version}.jar
-
-    install -Dm644 ${src} $jar
-
-    cat << EOF > cfr
-    #!${stdenv.shell}
-    exec ${jre}/bin/java -jar $jar "\''${@}"
-    EOF
-    install -Dm755 cfr $out/bin/cfr
+  buildCommand = ''
+    jar=$out/share/java/cfr_${version}.jar
+    install -Dm444 $src $jar
+    makeWrapper ${jre}/bin/java $out/bin/cfr --add-flags "-jar $jar"
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/tools/java/jhiccup/default.nix b/pkgs/development/tools/java/jhiccup/default.nix
new file mode 100644
index 00000000000..03aa841dc7b
--- /dev/null
+++ b/pkgs/development/tools/java/jhiccup/default.nix
@@ -0,0 +1,36 @@
+{ stdenv, fetchzip }:
+
+stdenv.mkDerivation rec {
+  name = "jhiccup-${version}";
+  version = "2.0.8";
+
+  src = fetchzip {
+    url    = "https://www.azul.com/files/jHiccup-${version}-dist.zip";
+    sha256 = "1q4wd5ywisgh0f4ic7iglxai0gc8mnl1pkjw1hm1xdij8j5i488g";
+  };
+
+  configurePhase = ":";
+  buildPhase     = ":";
+  installPhase = ''
+    mkdir -p $out/bin $out/share/java
+    cp *.jar $out/share/java
+
+    # Fix version number (out of date at time of import), and path to
+    # jHiccup.jar
+    for x in ./jHiccup ./jHiccupLogProcessor; do
+      substituteInPlace $x \
+        --replace 'JHICCUP_Version=2.0.5' 'JHICCUP_Version=${version}' \
+        --replace '$INSTALLED_PATH' $out/share/java
+    done
+
+    mv jHiccup jHiccupLogProcessor $out/bin/
+  '';
+
+  meta = {
+    description = "Measure JVM application stalls and GC pauses";
+    homepage    = https://www.azul.com/jhiccup/;
+    license     = stdenv.lib.licenses.cc0;
+    platforms   = stdenv.lib.platforms.linux;
+    maintainers = with stdenv.lib.maintainers; [ thoughtpolice ];
+  };
+}
diff --git a/pkgs/development/tools/java/visualvm/default.nix b/pkgs/development/tools/java/visualvm/default.nix
index a71ee53dced..2a707e35b91 100644
--- a/pkgs/development/tools/java/visualvm/default.nix
+++ b/pkgs/development/tools/java/visualvm/default.nix
@@ -1,27 +1,27 @@
-{ stdenv, fetchzip, lib, makeWrapper, jdk, gtk2, gawk }:
+{ stdenv, fetchzip, lib, makeWrapper, makeDesktopItem, jdk, gtk2, gawk }:
 
 stdenv.mkDerivation rec {
-  name = "visualvm-1.3.9";
+  version = "1.4.1";
+  name = "visualvm-${version}";
 
   src = fetchzip {
-    url = "https://github.com/visualvm/visualvm.src/releases/download/1.3.9/visualvm_139.zip";
-    sha256 = "1gkdkxssh51jczhgv680i42jjrlia1vbpcqhxvf45xcq9xj95bm5";
+    url = "https://github.com/visualvm/visualvm.src/releases/download/${version}/visualvm_${builtins.replaceStrings ["."] [""]  version}.zip";
+    sha256 = "10ciyggf8mcy3c53shpl03fxqwsa2ilgw3xdgqhb1ah151k18p78";
+  };
+
+  desktopItem = makeDesktopItem {
+      name = "visualvm";
+      exec = "visualvm";
+      comment = "Java Troubleshooting Tool";
+      desktopName = "VisualVM";
+      genericName = "Java Troubleshooting Tool";
+      categories = "Application;Development;";
   };
 
   nativeBuildInputs = [ makeWrapper ];
 
   installPhase = ''
-    rm bin/visualvm.exe
-    rm platform/lib/nbexec64.exe
-    rm platform/lib/nbexec.exe
-    rm profiler/lib/deployed/jdk15/windows-amd64/profilerinterface.dll
-    rm profiler/lib/deployed/jdk15/windows/profilerinterface.dll
-    rm profiler/lib/deployed/jdk16/windows-amd64/profilerinterface.dll
-    rm profiler/lib/deployed/jdk16/windows/profilerinterface.dll
-    rm platform/modules/lib/amd64/jnidispatch-410.dll
-    rm platform/modules/lib/x86/jnidispatch-410.dll
-    rm platform/lib/nbexec.dll
-    rm platform/lib/nbexec64.dll
+    find . -type f -name "*.dll" -o -name "*.exe"  -delete;
 
     substituteInPlace etc/visualvm.conf \
       --replace "#visualvm_jdkhome=" "visualvm_jdkhome=" \
@@ -50,6 +50,6 @@ stdenv.mkDerivation rec {
     homepage = https://visualvm.java.net/;
     license = licenses.gpl2ClasspathPlus;
     platforms = platforms.all;
-    maintainers = with maintainers; [ michalrus ];
+    maintainers = with maintainers; [ michalrus moaxcp ];
   };
 }
diff --git a/pkgs/development/tools/jbake/default.nix b/pkgs/development/tools/jbake/default.nix
index 9762926ddf5..f4fb1b5a9e9 100644
--- a/pkgs/development/tools/jbake/default.nix
+++ b/pkgs/development/tools/jbake/default.nix
@@ -1,25 +1,25 @@
-{ stdenv, fetchzip, jre }:
+{ stdenv, fetchzip, makeWrapper, jre }:
 
 stdenv.mkDerivation rec {
-  version = "2.5.1";
+  version = "2.6.1";
   name = "jbake-${version}";
 
   src = fetchzip {
-    url = "http://jbake.org/files/jbake-${version}-bin.zip";
-    sha256 = "1ib5gvz6sl7k0ywx22anhz69i40wc6jj5lxjxj2aa14qf4lrw912";
+    url = "https://dl.bintray.com/jbake/binary/${name}-bin.zip";
+    sha256 = "0zlh2azmv8gj3c4d4ndivar31wd42nmvhxq6xhn09cib9kffxbc7";
   };
 
-  buildInputs = [ jre ];
+  buildInputs = [ makeWrapper jre ];
 
   installPhase = ''
-    substituteInPlace bin/jbake --replace "java" "${jre}/bin/java" 
     mkdir -p $out
     cp -vr * $out
+    wrapProgram $out/bin/jbake --set JAVA_HOME "${jre}"
   '';
 
   meta = with stdenv.lib; {
     description = "JBake is a Java based, open source, static site/blog generator for developers & designers";
-    homepage = "http://jbake.org/";
+    homepage = "https://jbake.org/";
     license = licenses.mit;
     maintainers = with maintainers; [ moaxcp ];
   };
diff --git a/pkgs/development/tools/jl/default.nix b/pkgs/development/tools/jl/default.nix
new file mode 100644
index 00000000000..ea621428458
--- /dev/null
+++ b/pkgs/development/tools/jl/default.nix
@@ -0,0 +1,28 @@
+{ mkDerivation, fetchFromGitHub
+, aeson, aeson-pretty, attoparsec, base, bytestring, conduit, conduit-extra
+, containers, exceptions, mtl, optparse-simple, parsec, scientific, stdenv
+, text, unordered-containers, vector
+}:
+mkDerivation rec {
+  pname = "jl";
+  version = "0.0.4";
+  src = fetchFromGitHub {
+    owner = "chrisdone";
+    repo = "jl";
+    rev = "v${version}";
+    sha256 = "0wsdfj4m729q0kjpkn0ywpncdhvpvvprd4rh45vcg6kjw20krm3r";
+  };
+  isLibrary = true;
+  isExecutable = true;
+  libraryHaskellDepends = [
+    aeson attoparsec base bytestring containers exceptions mtl parsec
+    scientific text unordered-containers vector
+  ];
+  executableHaskellDepends = [
+    aeson aeson-pretty base bytestring conduit conduit-extra containers
+    mtl optparse-simple text vector
+  ];
+  license = stdenv.lib.licenses.bsd3;
+  description = "Functional sed for JSON";
+  maintainers = with stdenv.lib.maintainers; [ fgaz ];
+}
diff --git a/pkgs/development/tools/jsduck/Gemfile.lock b/pkgs/development/tools/jsduck/Gemfile.lock
index d3e1556a7b3..2a95d72c946 100644
--- a/pkgs/development/tools/jsduck/Gemfile.lock
+++ b/pkgs/development/tools/jsduck/Gemfile.lock
@@ -8,7 +8,7 @@ GEM
       parallel (~> 0.7.1)
       rdiscount (~> 2.1.6)
       rkelly-remix (~> 0.0.4)
-    json (1.8.3)
+    json (1.8.6)
     parallel (0.7.1)
     rdiscount (2.1.8)
     rkelly-remix (0.0.7)
diff --git a/pkgs/development/tools/jsduck/gemset.nix b/pkgs/development/tools/jsduck/gemset.nix
index d80bd70dd72..493cc42f4f4 100644
--- a/pkgs/development/tools/jsduck/gemset.nix
+++ b/pkgs/development/tools/jsduck/gemset.nix
@@ -19,10 +19,10 @@
   json = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1nsby6ry8l9xg3yw4adlhk2pnc7i0h0rznvcss4vk3v74qg0k8lc";
+      sha256 = "0qmj7fypgb9vag723w1a49qihxrcf5shzars106ynw2zk352gbv5";
       type = "gem";
     };
-    version = "1.8.3";
+    version = "1.8.6";
   };
   parallel = {
     source = {
@@ -48,4 +48,4 @@
     };
     version = "0.0.7";
   };
-}
\ No newline at end of file
+}
diff --git a/pkgs/development/tools/json2hcl/default.nix b/pkgs/development/tools/json2hcl/default.nix
new file mode 100644
index 00000000000..d53b3902133
--- /dev/null
+++ b/pkgs/development/tools/json2hcl/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, lib, buildGoPackage, fetchFromGitHub }:
+
+buildGoPackage rec {
+  pname = "json2hcl";
+  name = "${pname}-${version}";
+  version = "0.0.6";
+
+  src = fetchFromGitHub {
+    inherit owner;
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0knil88n2w41w3nzqz6ljgfjkl5r3x0bh7ifqgiyf6sin3pl4pn0";
+  };
+
+  owner = "kvz";
+  goPackagePath = "github.com/${owner}/${pname}";
+  goDeps = ./deps.nix;
+
+  meta = with lib; {
+    description = "Convert JSON to HCL, and vice versa";
+    license = with licenses; [ mit ];
+    maintainers = [ maintainers.matthewbauer ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/development/tools/json2hcl/deps.nix b/pkgs/development/tools/json2hcl/deps.nix
new file mode 100644
index 00000000000..bb9df28ad87
--- /dev/null
+++ b/pkgs/development/tools/json2hcl/deps.nix
@@ -0,0 +1,20 @@
+[
+  {
+    goPackagePath = "github.com/Acconut/hcl";
+    fetch = {
+      type = "git";
+      url = "https://github.com/Acconut/hcl";
+      rev = "23c074d0eceb2b8a5bfdbb271ab780cde70f05a8";
+      sha256 = "0db4lpqb5m130rmfy3s3gjjf4dxllypmyrzxv6ggqhkmwmc7w4mc";
+    };
+  }
+  {
+    goPackagePath = "github.com/hashicorp/hcl";
+    fetch = {
+      type = "git";
+      url = "https://github.com/hashicorp/hcl";
+      rev = "23c074d0eceb2b8a5bfdbb271ab780cde70f05a8";
+      sha256 = "0db4lpqb5m130rmfy3s3gjjf4dxllypmyrzxv6ggqhkmwmc7w4mc";
+    };
+  }
+]
diff --git a/pkgs/development/tools/libsigrok/default.nix b/pkgs/development/tools/libsigrok/default.nix
index 1f4c21cb7f9..0271cbee92c 100644
--- a/pkgs/development/tools/libsigrok/default.nix
+++ b/pkgs/development/tools/libsigrok/default.nix
@@ -8,12 +8,12 @@ stdenv.mkDerivation rec {
   name = "libsigrok-${version}";
 
   src = fetchurl {
-    url = "http://sigrok.org/download/source/libsigrok/${name}.tar.gz";
+    url = "https://sigrok.org/download/source/libsigrok/${name}.tar.gz";
     inherit sha256;
   };
 
   firmware = fetchurl {
-    url = "http://sigrok.org/download/binary/sigrok-firmware-fx2lafw/sigrok-firmware-fx2lafw-bin-0.1.3.tar.gz";
+    url = "https://sigrok.org/download/binary/sigrok-firmware-fx2lafw/sigrok-firmware-fx2lafw-bin-0.1.3.tar.gz";
     sha256 = "1qr02ny97navqxr56xq1a227yzf6h09m8jlvc9bnjl0bsk6887bl";
   };
 
@@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Core library of the sigrok signal analysis software suite";
-    homepage = http://sigrok.org/;
+    homepage = https://sigrok.org/;
     license = licenses.gpl3Plus;
     platforms = platforms.linux;
     maintainers = [ maintainers.bjornfor ];
diff --git a/pkgs/development/tools/libsigrokdecode/default.nix b/pkgs/development/tools/libsigrokdecode/default.nix
index 57bb159c586..9fd70cb60c9 100644
--- a/pkgs/development/tools/libsigrokdecode/default.nix
+++ b/pkgs/development/tools/libsigrokdecode/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, pkgconfig, glib, python3, libsigrok, check }:
 
 stdenv.mkDerivation rec {
-  name = "libsigrokdecode-0.5.0";
+  name = "libsigrokdecode-0.5.1";
 
   src = fetchurl {
-    url = "http://sigrok.org/download/source/libsigrokdecode/${name}.tar.gz";
-    sha256 = "1hfigfj1976qk11kfsgj75l20qvyq8c9p2h4mjw23d59rsg5ga2a";
+    url = "https://sigrok.org/download/source/libsigrokdecode/${name}.tar.gz";
+    sha256 = "07mmb6s62ncqqgsc6szilj2yxixf6gg99ggbzsjlbhp4b9aqnga9";
   };
 
   nativeBuildInputs = [ pkgconfig ];
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Protocol decoding library for the sigrok signal analysis software suite";
-    homepage = http://sigrok.org/;
+    homepage = https://sigrok.org/;
     license = licenses.gpl3Plus;
     platforms = platforms.linux;
     maintainers = [ maintainers.bjornfor ];
diff --git a/pkgs/development/tools/misc/arm-frc-linux-gnueabi-binutils/default.nix b/pkgs/development/tools/misc/arm-frc-linux-gnueabi-binutils/default.nix
deleted file mode 100755
index fff91c6f7f3..00000000000
--- a/pkgs/development/tools/misc/arm-frc-linux-gnueabi-binutils/default.nix
+++ /dev/null
@@ -1,50 +0,0 @@
-{stdenv, fetchurl, glibc, bison, arm-frc-linux-gnueabi-eglibc}:
-
-stdenv.mkDerivation rec {
-  _target = "arm-frc-linux-gnueabi";
-
-  version = "2.28";
-  name = "${_target}-binutils-${version}";
-
-  src = fetchurl {
-    url = "ftp://ftp.gnu.org/gnu/binutils/binutils-${version}.tar.bz2";
-    sha256 = "369737ce51587f92466041a97ab7d2358c6d9e1b6490b3940eb09fb0a9a6ac88";
-  };
-
-  nativeBuildInputs = [ bison arm-frc-linux-gnueabi-eglibc ];
-  buildInputs = [ glibc ];
-
-  configureFlags = ''
-    --target=${_target}
-    --with-pkgversion='GNU-Binutils-for-FRC'
-    --with-sysroot=$out/${_target}
-    --with-build-sysroot=/$out/${_target}
-    --disable-multilib
-    --disable-nls
-    --enable-lto
-    --disable-libiberty-install
-    --enable-ld
-    --enable-gold=default
-    --enable-plugins
-  '';
-
-  postConfigure = ''
-    make configure-host
-  '';
-
-  postInstall = ''
-    rm -rf $out/share/info
-  '';
-
-  meta = {
-    description = "FRC binutils";
-    longDescription = ''
-      binutils used to build arm-frc-linux-gnueabi and user programs.
-    '';
-    license = stdenv.lib.licenses.gpl2;
-    maintainers = [ stdenv.lib.maintainers.colescott ];
-    platforms = stdenv.lib.platforms.linux;
-    broken = true; # since 2017-09-10
-    priority = 3;
-  };
-}
diff --git a/pkgs/development/tools/misc/autoconf-archive/default.nix b/pkgs/development/tools/misc/autoconf-archive/default.nix
index 0225a3f8141..cb64a4c876b 100644
--- a/pkgs/development/tools/misc/autoconf-archive/default.nix
+++ b/pkgs/development/tools/misc/autoconf-archive/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "autoconf-archive-${version}";
-  version = "2017.09.28";
+  version = "2018.03.13";
 
   src = fetchurl {
     url = "mirror://gnu/autoconf-archive/autoconf-archive-${version}.tar.xz";
-    sha256 = "00gsh9hkrgg291my98plkrwlcpxkfrpq64pglf18kciqbf2bb7sw";
+    sha256 = "0ng1lvpijf3kv7w7nb1shqs23vp0398yicyvkf9lsk56kw6zjxb1";
   };
 
   buildInputs = [ xz ];
diff --git a/pkgs/development/tools/misc/autoconf/2.64.nix b/pkgs/development/tools/misc/autoconf/2.64.nix
index 9e70833e008..31df050d5f8 100644
--- a/pkgs/development/tools/misc/autoconf/2.64.nix
+++ b/pkgs/development/tools/misc/autoconf/2.64.nix
@@ -23,10 +23,12 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  preCheck =
-    # Make the Autotest test suite run in parallel.
-    '' export TESTSUITEFLAGS="-j$NIX_BUILD_CORES"
-    '';
+  # Make the Autotest test suite run in parallel.
+  preCheck =''
+    export TESTSUITEFLAGS="-j$NIX_BUILD_CORES"
+  '';
+
+  doInstallCheck = false; # fails
 
   meta = {
     homepage = http://www.gnu.org/software/autoconf/;
diff --git a/pkgs/development/tools/misc/autoconf/default.nix b/pkgs/development/tools/misc/autoconf/default.nix
index 579dea33df4..e9ea0ea1ea4 100644
--- a/pkgs/development/tools/misc/autoconf/default.nix
+++ b/pkgs/development/tools/misc/autoconf/default.nix
@@ -24,10 +24,12 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  preCheck =
-    # Make the Autotest test suite run in parallel.
-    '' export TESTSUITEFLAGS="-j$NIX_BUILD_CORES"
-    '';
+  # Make the Autotest test suite run in parallel.
+  preCheck =''
+    export TESTSUITEFLAGS="-j$NIX_BUILD_CORES"
+  '';
+
+  doInstallCheck = false; # fails
 
   meta = {
     homepage = http://www.gnu.org/software/autoconf/;
diff --git a/pkgs/development/tools/misc/autogen/default.nix b/pkgs/development/tools/misc/autogen/default.nix
index 77944297a97..660917ee9f1 100644
--- a/pkgs/development/tools/misc/autogen/default.nix
+++ b/pkgs/development/tools/misc/autogen/default.nix
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ which pkgconfig perl ]
     # autogen needs a build autogen when cross-compiling
     ++ stdenv.lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [
-      buildPackages.autogen buildPackages.texinfo ];
+      buildPackages.buildPackages.autogen buildPackages.texinfo ];
   buildInputs = [
     guile libxml2
   ];
diff --git a/pkgs/development/tools/misc/automake/automake-1.15.x.nix b/pkgs/development/tools/misc/automake/automake-1.16.x.nix
index 507df5def0c..affc400a9ed 100644
--- a/pkgs/development/tools/misc/automake/automake-1.15.x.nix
+++ b/pkgs/development/tools/misc/automake/automake-1.16.x.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, perl, autoconf, makeWrapper, doCheck ? false }:
 
 stdenv.mkDerivation rec {
-  name = "automake-1.15.1";
+  name = "automake-1.16.1";
 
   src = fetchurl {
     url = "mirror://gnu/automake/${name}.tar.xz";
-    sha256 = "1bzd9g32dfm4rsbw93ld9x7b5nc1y6i4m6zp032qf1i28a8s6sxg";
+    sha256 = "08g979ficj18i1w6w5219bgmns7czr03iadf20mk3lrzl8wbn1ax";
   };
 
   nativeBuildInputs = [ autoconf perl ];
diff --git a/pkgs/development/tools/misc/avarice/default.nix b/pkgs/development/tools/misc/avarice/default.nix
index ca6cb14c2a4..a8f6426a3b7 100644
--- a/pkgs/development/tools/misc/avarice/default.nix
+++ b/pkgs/development/tools/misc/avarice/default.nix
@@ -18,6 +18,7 @@ stdenv.mkDerivation rec {
     homepage = https://sourceforge.net/projects/avarice/files/avarice/;
     maintainers = [ stdenv.lib.maintainers.smironov ];
     platforms = stdenv.lib.platforms.linux;
+    broken = true; # 2018-04-10
   };
 }
 
diff --git a/pkgs/development/tools/misc/avrdude/default.nix b/pkgs/development/tools/misc/avrdude/default.nix
index e7d5aaceb2b..66b0467657a 100644
--- a/pkgs/development/tools/misc/avrdude/default.nix
+++ b/pkgs/development/tools/misc/avrdude/default.nix
@@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
     '';
     homepage = http://www.nongnu.org/avrdude/;
     license = licenses.gpl2Plus;
-    platforms = platforms.linux;
+    platforms = with platforms; linux ++ darwin;
     maintainers = [ maintainers.bjornfor ];
   };
 }
diff --git a/pkgs/development/tools/misc/babeltrace/default.nix b/pkgs/development/tools/misc/babeltrace/default.nix
index d4a8d483e2e..48cf4b31a17 100644
--- a/pkgs/development/tools/misc/babeltrace/default.nix
+++ b/pkgs/development/tools/misc/babeltrace/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, pkgconfig, glib, libuuid, popt, elfutils }:
 
 stdenv.mkDerivation rec {
-  name = "babeltrace-1.5.4";
+  name = "babeltrace-1.5.5";
 
   src = fetchurl {
     url = "http://www.efficios.com/files/babeltrace/${name}.tar.bz2";
-    sha256 = "1h8zi7afilbfx4jvdlhhgysj6x01w3799mdk4mdcgax04fch6hwn";
+    sha256 = "1b78fam1gbsalga5pppn8ka461q35a9svz3mlbv82ssakdw4d4a0";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/development/tools/misc/binutils/2.30.nix b/pkgs/development/tools/misc/binutils/2.30.nix
deleted file mode 100644
index 2a8e6d88b93..00000000000
--- a/pkgs/development/tools/misc/binutils/2.30.nix
+++ /dev/null
@@ -1,131 +0,0 @@
-{ stdenv, buildPackages
-, fetchurl, zlib
-, buildPlatform, hostPlatform, targetPlatform
-, noSysDirs, gold ? true, bison ? null
-}:
-
-let
-  version = "2.30";
-  basename = "binutils-${version}";
-  inherit (stdenv.lib) optional optionals optionalString;
-  # The targetPrefix prepended to binary names to allow multiple binuntils on the
-  # PATH to both be usable.
-  targetPrefix = optionalString (targetPlatform != hostPlatform) "${targetPlatform.config}-";
-in
-
-stdenv.mkDerivation rec {
-  name = targetPrefix + basename;
-
-  src = fetchurl {
-    url = "mirror://gnu/binutils/${basename}.tar.bz2";
-    sha256 = "028cklfqaab24glva1ks2aqa1zxa6w6xmc8q34zs1sb7h22dxspg";
-  };
-
-  patches = [
-    # Turn on --enable-new-dtags by default to make the linker set
-    # RUNPATH instead of RPATH on binaries.  This is important because
-    # RUNPATH can be overriden using LD_LIBRARY_PATH at runtime.
-    ./new-dtags.patch
-
-    # Since binutils 2.22, DT_NEEDED flags aren't copied for dynamic outputs.
-    # That requires upstream changes for things to work. So we can patch it to
-    # get the old behaviour by now.
-    ./dtneeded.patch
-
-    # Make binutils output deterministic by default.
-    ./deterministic.patch
-
-    # Always add PaX flags section to ELF files.
-    # This is needed, for instance, so that running "ldd" on a binary that is
-    # PaX-marked to disable mprotect doesn't fail with permission denied.
-    ./pt-pax-flags.patch
-
-    # Bfd looks in BINDIR/../lib for some plugins that don't
-    # exist. This is pointless (since users can't install plugins
-    # there) and causes a cycle between the lib and bin outputs, so
-    # get rid of it.
-    ./no-plugins.patch
-
-    # Help bfd choose between elf32-littlearm, elf32-littlearm-symbian, and
-    # elf32-littlearm-vxworks in favor of the first.
-    # https://github.com/NixOS/nixpkgs/pull/30484#issuecomment-345472766
-    ./disambiguate-arm-targets.patch
-
-    # For some reason bfd ld doesn't search DT_RPATH when cross-compiling. It's
-    # not clear why this behavior was decided upon but it has the unfortunate
-    # consequence that the linker will fail to find transitive dependencies of
-    # shared objects when cross-compiling. Consequently, we are forced to
-    # override this behavior, forcing ld to search DT_RPATH even when
-    # cross-compiling.
-    ./always-search-rpath.patch
-  ];
-
-  outputs = [ "out" "info" "man" ];
-
-  depsBuildBuild = [ buildPackages.stdenv.cc ];
-  nativeBuildInputs = [ bison ];
-  buildInputs = [ zlib ];
-
-  inherit noSysDirs;
-
-  preConfigure = ''
-    # Clear the default library search path.
-    if test "$noSysDirs" = "1"; then
-        echo 'NATIVE_LIB_DIRS=' >> ld/configure.tgt
-    fi
-
-    # Use symlinks instead of hard links to save space ("strip" in the
-    # fixup phase strips each hard link separately).
-    for i in binutils/Makefile.in gas/Makefile.in ld/Makefile.in gold/Makefile.in; do
-        sed -i "$i" -e 's|ln |ln -s |'
-    done
-  '';
-
-  # As binutils takes part in the stdenv building, we don't want references
-  # to the bootstrap-tools libgcc (as uses to happen on arm/mips)
-  NIX_CFLAGS_COMPILE = if hostPlatform.isDarwin
-    then "-Wno-string-plus-int -Wno-deprecated-declarations"
-    else "-static-libgcc";
-
-  # TODO(@Ericson2314): Always pass "--target" and always targetPrefix.
-  configurePlatforms =
-    # TODO(@Ericson2314): Figure out what's going wrong with Arm
-    if buildPlatform == hostPlatform && hostPlatform == targetPlatform && targetPlatform.isAarch32
-    then []
-    else [ "build" "host" ] ++ stdenv.lib.optional (targetPlatform != hostPlatform) "target";
-
-  configureFlags = [
-    "--enable-targets=all" "--enable-64-bit-bfd"
-    "--disable-install-libbfd"
-    "--disable-shared" "--enable-static"
-    "--with-system-zlib"
-
-    "--enable-deterministic-archives"
-    "--disable-werror"
-    "--enable-fix-loongson2f-nop"
-  ] ++ optionals gold [ "--enable-gold" "--enable-plugins" ];
-
-  enableParallelBuilding = true;
-
-  passthru = {
-    inherit targetPrefix version;
-  };
-
-  meta = with stdenv.lib; {
-    description = "Tools for manipulating binaries (linker, assembler, etc.)";
-    longDescription = ''
-      The GNU Binutils are a collection of binary tools.  The main
-      ones are `ld' (the GNU linker) and `as' (the GNU assembler).
-      They also include the BFD (Binary File Descriptor) library,
-      `gprof', `nm', `strip', etc.
-    '';
-    homepage = http://www.gnu.org/software/binutils/;
-    license = licenses.gpl3Plus;
-    maintainers = with maintainers; [ ericson2314 ];
-    platforms = platforms.unix;
-
-    /* Give binutils a lower priority than gcc-wrapper to prevent a
-       collision due to the ld/as wrappers/symlinks in the latter. */
-    priority = 10;
-  };
-}
diff --git a/pkgs/development/tools/misc/binutils/default.nix b/pkgs/development/tools/misc/binutils/default.nix
index 31c86c785c2..cb76eeaed7e 100644
--- a/pkgs/development/tools/misc/binutils/default.nix
+++ b/pkgs/development/tools/misc/binutils/default.nix
@@ -1,14 +1,14 @@
 { stdenv, buildPackages
-, fetchurl, zlib
+, fetchurl, zlib, autoreconfHook264
 , buildPlatform, hostPlatform, targetPlatform
 , noSysDirs, gold ? true, bison ? null
 }:
 
 let
-  # Note to whoever is upgrading this: 2.29 is broken.
-  # ('nix-build pkgs/stdenv/linux/make-bootstrap-tools.nix -A test' segfaults on aarch64)
-  # Also glibc might need patching, see commit 733e20fee4a6700510f71fbe1a58ac23ea202f6a.
-  version = "2.28.1";
+  # 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) optional optionals optionalString;
   # The targetPrefix prepended to binary names to allow multiple binuntils on the
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://gnu/binutils/${basename}.tar.bz2";
-    sha256 = "1sj234nd05cdgga1r36zalvvdkvpfbr12g5mir2n8i1dwsdrj939";
+    sha256 = "028cklfqaab24glva1ks2aqa1zxa6w6xmc8q34zs1sb7h22dxspg";
   };
 
   patches = [
@@ -61,12 +61,25 @@ stdenv.mkDerivation rec {
     # override this behavior, forcing ld to search DT_RPATH even when
     # cross-compiling.
     ./always-search-rpath.patch
-  ];
+
+    # https://sourceware.org/bugzilla/show_bug.cgi?id=22868
+    ./gold-symbol-visibility.patch
+  ] ++ stdenv.lib.optional targetPlatform.isiOS ./support-ios.patch
+    ++ stdenv.lib.optionals targetPlatform.isAarch64 [
+    # Version 2.30 introduced strict requirements on ELF relocations which cannot
+    # 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 targetPlatform.isiOS ./support-ios.patch;
 
   outputs = [ "out" "info" "man" ];
 
   depsBuildBuild = [ buildPackages.stdenv.cc ];
-  nativeBuildInputs = [ bison ];
+  nativeBuildInputs = [
+    bison
+  ] ++ stdenv.lib.optionals targetPlatform.isiOS [
+    autoreconfHook264
+  ];
   buildInputs = [ zlib ];
 
   inherit noSysDirs;
@@ -104,6 +117,8 @@ stdenv.mkDerivation rec {
     "--enable-fix-loongson2f-nop"
   ] ++ optionals gold [ "--enable-gold" "--enable-plugins" ];
 
+  doCheck = false; # fails
+
   enableParallelBuilding = true;
 
   passthru = {
diff --git a/pkgs/development/tools/misc/binutils/gold-symbol-visibility.patch b/pkgs/development/tools/misc/binutils/gold-symbol-visibility.patch
new file mode 100644
index 00000000000..0fb05a482d1
--- /dev/null
+++ b/pkgs/development/tools/misc/binutils/gold-symbol-visibility.patch
@@ -0,0 +1,79 @@
+commit 8564af037f5c4c6d2744a89497691359205b2bbc
+Author: Shea Levy <shea@shealevy.com>
+Date:   Mon Mar 19 10:52:40 2018 -0400
+
+    Revert "Allow multiply-defined absolute symbols when they have the same value."
+    
+    This reverts commit 5dc824ed42cd173c1525f5abc76f4091f11a4dbc.
+
+diff --git a/gold/ChangeLog-2017 b/gold/ChangeLog-2017
+index b2a47710b5..d7ca1b48c0 100644
+--- a/gold/ChangeLog-2017
++++ b/gold/ChangeLog-2017
+@@ -114,11 +114,6 @@
+ 	(localedir): Define as @localedir@.
+ 	(gnulocaledir, gettextsrcdir): Use @datarootdir@.
+ 
+-2017-11-28  Cary Coutant  <ccoutant@gmail.com>
+-
+-	* resolve.cc (Symbol_table::resolve): Allow multiply-defined absolute
+-	symbols when they have the same value.
+-
+ 2017-11-28  Cary Coutant  <ccoutant@gmail.com>
+ 
+ 	* object.h (class Sized_relobj_file): Remove discarded_eh_frame_shndx_.
+diff --git a/gold/resolve.cc b/gold/resolve.cc
+index 4a5784cf8b..803576bfed 100644
+--- a/gold/resolve.cc
++++ b/gold/resolve.cc
+@@ -247,28 +247,18 @@ Symbol_table::resolve(Sized_symbol<size>* to,
+ 		      Object* object, const char* version,
+ 		      bool is_default_version)
+ {
+-  bool to_is_ordinary;
+-  const unsigned int to_shndx = to->shndx(&to_is_ordinary);
+-
+   // It's possible for a symbol to be defined in an object file
+   // using .symver to give it a version, and for there to also be
+   // a linker script giving that symbol the same version.  We
+   // don't want to give a multiple-definition error for this
+   // harmless redefinition.
++  bool to_is_ordinary;
+   if (to->source() == Symbol::FROM_OBJECT
+       && to->object() == object
+-      && to->is_defined()
+       && is_ordinary
++      && to->is_defined()
++      && to->shndx(&to_is_ordinary) == st_shndx
+       && to_is_ordinary
+-      && to_shndx == st_shndx
+-      && to->value() == sym.get_st_value())
+-    return;
+-
+-  // Likewise for an absolute symbol defined twice with the same value.
+-  if (!is_ordinary
+-      && st_shndx == elfcpp::SHN_ABS
+-      && !to_is_ordinary
+-      && to_shndx == elfcpp::SHN_ABS
+       && to->value() == sym.get_st_value())
+     return;
+ 
+@@ -360,8 +350,8 @@ Symbol_table::resolve(Sized_symbol<size>* to,
+       && (sym.get_st_bind() == elfcpp::STB_WEAK
+ 	  || to->binding() == elfcpp::STB_WEAK)
+       && orig_st_shndx != elfcpp::SHN_UNDEF
++      && to->shndx(&to_is_ordinary) != elfcpp::SHN_UNDEF
+       && to_is_ordinary
+-      && to_shndx != elfcpp::SHN_UNDEF
+       && sym.get_st_size() != 0    // Ignore weird 0-sized symbols.
+       && to->symsize() != 0
+       && (sym.get_st_type() != to->type()
+@@ -372,7 +362,7 @@ Symbol_table::resolve(Sized_symbol<size>* to,
+     {
+       Symbol_location fromloc
+           = { object, orig_st_shndx, static_cast<off_t>(sym.get_st_value()) };
+-      Symbol_location toloc = { to->object(), to_shndx,
++      Symbol_location toloc = { to->object(), to->shndx(&to_is_ordinary),
+ 				static_cast<off_t>(to->value()) };
+       this->candidate_odr_violations_[to->name()].insert(fromloc);
+       this->candidate_odr_violations_[to->name()].insert(toloc);
diff --git a/pkgs/development/tools/misc/binutils/relax-R_AARCH64_ABS32-R_AARCH64_ABS16-absolute.patch b/pkgs/development/tools/misc/binutils/relax-R_AARCH64_ABS32-R_AARCH64_ABS16-absolute.patch
new file mode 100644
index 00000000000..6a04b3cc558
--- /dev/null
+++ b/pkgs/development/tools/misc/binutils/relax-R_AARCH64_ABS32-R_AARCH64_ABS16-absolute.patch
@@ -0,0 +1,130 @@
+diff --git a/bfd/ChangeLog b/bfd/ChangeLog
+index c310da6ed3..d31f46171f 100644
+--- a/bfd/ChangeLog
++++ b/bfd/ChangeLog
+@@ -1,3 +1,10 @@
++2018-02-05  Renlin Li  <renlin.li@arm.com>
++
++       PR ld/22764
++       * elfnn-aarch64.c (elfNN_aarch64_check_relocs): Relax the
++       R_AARCH64_ABS32 and R_AARCH64_ABS16 for absolute symbol. Apply the
++       check for writeable section as well.
++
+ 2018-01-27  Nick Clifton  <nickc@redhat.com>
+ 
+ 	This is the 2.30 release:
+diff --git a/bfd/elfnn-aarch64.c b/bfd/elfnn-aarch64.c
+index d5711e0eb1..973188220b 100644
+--- a/bfd/elfnn-aarch64.c
++++ b/bfd/elfnn-aarch64.c
+@@ -7074,10 +7074,19 @@ elfNN_aarch64_check_relocs (bfd *abfd, struct bfd_link_info *info,
+ #if ARCH_SIZE == 64
+ 	case BFD_RELOC_AARCH64_32:
+ #endif
+-	  if (bfd_link_pic (info)
+-	      && (sec->flags & SEC_ALLOC) != 0
+-	      && (sec->flags & SEC_READONLY) != 0)
++	  if (bfd_link_pic (info) && (sec->flags & SEC_ALLOC) != 0)
+ 	    {
++	      if (h != NULL
++		  /* This is an absolute symbol.  It represents a value instead
++		     of an address.  */
++		  && ((h->root.type == bfd_link_hash_defined
++		       && bfd_is_abs_section (h->root.u.def.section))
++		      /* This is an undefined symbol.  */
++		      || h->root.type == bfd_link_hash_undefined))
++		break;
++
++	      /* For local symbols, defined global symbols in a non-ABS section,
++		 it is assumed that the value is an address.  */
+ 	      int howto_index = bfd_r_type - BFD_RELOC_AARCH64_RELOC_START;
+ 	      _bfd_error_handler
+ 		/* xgettext:c-format */
+diff --git a/ld/ChangeLog b/ld/ChangeLog
+index 6337cd0cb6..1aaa6da3b5 100644
+--- a/ld/ChangeLog
++++ b/ld/ChangeLog
+@@ -1,3 +1,11 @@
++2018-02-05  Renlin Li  <renlin.li@arm.com>
++
++       PR ld/22764
++       * testsuite/ld-aarch64/emit-relocs-258.s: Define symbol as an address.
++       * testsuite/ld-aarch64/emit-relocs-259.s: Likewise.
++       * testsuite/ld-aarch64/pr22764.s: New.
++       * testsuite/ld-aarch64/pr22764.d: New.
++
+ 2018-01-27  Nick Clifton  <nickc@redhat.com>
+ 
+ 	This is the 2.30 release:
+diff --git a/ld/testsuite/ld-aarch64/aarch64-elf.exp b/ld/testsuite/ld-aarch64/aarch64-elf.exp
+index f31089361b..d766f3736b 100644
+--- a/ld/testsuite/ld-aarch64/aarch64-elf.exp
++++ b/ld/testsuite/ld-aarch64/aarch64-elf.exp
+@@ -275,6 +275,7 @@ run_dump_test "pr17415"
+ run_dump_test_lp64 "tprel_g2_overflow"
+ run_dump_test "tprel_add_lo12_overflow"
+ run_dump_test "protected-data"
++run_dump_test_lp64 "pr22764"
+ 
+ # ifunc tests
+ run_dump_test "ifunc-1"
+diff --git a/ld/testsuite/ld-aarch64/emit-relocs-258.s b/ld/testsuite/ld-aarch64/emit-relocs-258.s
+index f724776243..87bb657c5d 100644
+--- a/ld/testsuite/ld-aarch64/emit-relocs-258.s
++++ b/ld/testsuite/ld-aarch64/emit-relocs-258.s
+@@ -1,5 +1,6 @@
++.global dummy
+ .text
+-
++dummy:
+   ldr x0, .L1
+ 
+ .L1:
+diff --git a/ld/testsuite/ld-aarch64/emit-relocs-259.s b/ld/testsuite/ld-aarch64/emit-relocs-259.s
+index 7e1ba3ceb4..0977c9d869 100644
+--- a/ld/testsuite/ld-aarch64/emit-relocs-259.s
++++ b/ld/testsuite/ld-aarch64/emit-relocs-259.s
+@@ -1,5 +1,6 @@
++.global dummy
+ .text
+-
++dummy:
+   ldr x0, .L1
+ 
+ .L1:
+diff --git a/ld/testsuite/ld-aarch64/pr22764.d b/ld/testsuite/ld-aarch64/pr22764.d
+new file mode 100644
+index 0000000000..997519f469
+--- /dev/null
++++ b/ld/testsuite/ld-aarch64/pr22764.d
+@@ -0,0 +1,18 @@
++#source: pr22764.s
++#ld: -shared -T relocs.ld -defsym sym_abs1=0x1 -defsym sym_abs2=0x2 -defsym sym_abs3=0x3 -e0 --emit-relocs
++#notarget: aarch64_be-*-*
++#objdump: -dr
++#...
++
++Disassembly of section \.text:
++
++0000000000010000 \<\.text\>:
++   10000:	d503201f 	nop
++	...
++			10004: R_AARCH64_ABS64	sym_abs1
++   1000c:	00000002 	\.word	0x00000002
++			1000c: R_AARCH64_ABS32	sym_abs2
++   10010:	0003      	\.short	0x0003
++			10010: R_AARCH64_ABS16	sym_abs3
++   10012:	0000      	\.short	0x0000
++   10014:	d503201f 	nop
+diff --git a/ld/testsuite/ld-aarch64/pr22764.s b/ld/testsuite/ld-aarch64/pr22764.s
+new file mode 100644
+index 0000000000..25e36b4a12
+--- /dev/null
++++ b/ld/testsuite/ld-aarch64/pr22764.s
+@@ -0,0 +1,6 @@
++  .text
++  nop
++  .xword sym_abs1
++  .word sym_abs2
++  .short sym_abs3
++  nop
diff --git a/pkgs/development/tools/misc/binutils/support-ios.patch b/pkgs/development/tools/misc/binutils/support-ios.patch
new file mode 100644
index 00000000000..919a3920727
--- /dev/null
+++ b/pkgs/development/tools/misc/binutils/support-ios.patch
@@ -0,0 +1,112 @@
+diff --git a/bfd/config.bfd b/bfd/config.bfd
+index f04a993f06..3357022f35 100644
+--- a/bfd/config.bfd
++++ b/bfd/config.bfd
+@@ -238,7 +238,7 @@ case "${targ}" in
+ 
+ # START OF targmatch.h
+ #ifdef BFD64
+-  aarch64-*-darwin*)
++  aarch64-*-darwin* | aarch64-*-ios*)
+     targ_defvec=aarch64_mach_o_vec
+     targ_selvecs="arm_mach_o_vec mach_o_le_vec mach_o_be_vec mach_o_fat_vec"
+     targ_archs="$targ_archs bfd_i386_arch bfd_powerpc_arch bfd_rs6000_arch"
+@@ -358,7 +358,7 @@ case "${targ}" in
+     targ_selvecs=arc_elf32_be_vec
+     ;;
+ 
+-  arm-*-darwin*)
++  arm-*-darwin* | arm-*-ios*)
+     targ_defvec=arm_mach_o_vec
+     targ_selvecs="mach_o_le_vec mach_o_be_vec mach_o_fat_vec"
+     targ_archs="$targ_archs bfd_i386_arch bfd_powerpc_arch bfd_rs6000_arch"
+diff --git a/configure.ac b/configure.ac
+index aae94501e4..4b1121e0d1 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -510,7 +510,7 @@ if test x$enable_libgomp = x ; then
+ 	;;
+     *-*-solaris2* | *-*-hpux11*)
+ 	;;
+-    *-*-darwin* | *-*-aix*)
++    *-*-darwin* | *-*-ios* | *-*-aix*)
+ 	;;
+     nvptx*-*-*)
+ 	;;
+@@ -706,7 +706,7 @@ case "${target}" in
+     ;;
+   x86_64-*-darwin[[912]]*)
+     ;;
+-  *-*-darwin*)
++  *-*-darwin* | *-*-ios*)
+     noconfigdirs="$noconfigdirs target-libffi"
+     ;;
+   *-*-netware*)
+@@ -788,7 +788,7 @@ esac
+ # Disable the go frontend on systems where it is known to not work. Please keep
+ # this in sync with contrib/config-list.mk.
+ case "${target}" in
+-*-*-darwin* | *-*-cygwin* | *-*-mingw*)
++*-*-darwin* | *-*-ios* | *-*-cygwin* | *-*-mingw*)
+     unsupported_languages="$unsupported_languages go"
+     ;;
+ esac
+@@ -797,7 +797,7 @@ esac
+ # For testing, you can easily override this with --enable-libgo.
+ if test x$enable_libgo = x; then
+     case "${target}" in
+-    *-*-darwin*)
++    *-*-darwin* | *-*-ios*)
+ 	# PR 46986
+ 	noconfigdirs="$noconfigdirs target-libgo"
+ 	;;
+@@ -916,11 +916,11 @@ esac
+ case "${target}" in
+   *-*-chorusos)
+     ;;
+-  aarch64-*-darwin*)
++  aarch64-*-darwin* | aarch64-*-ios*)
+     noconfigdirs="$noconfigdirs ld gas gdb gprof"
+     noconfigdirs="$noconfigdirs sim target-rda"
+     ;;
+-  arm-*-darwin*)
++  arm-*-darwin* | arm-*-ios*)
+     noconfigdirs="$noconfigdirs ld gas gdb gprof"
+     noconfigdirs="$noconfigdirs sim target-rda"
+     ;;
+@@ -936,7 +936,7 @@ case "${target}" in
+     noconfigdirs="$noconfigdirs ld gas gprof"
+     noconfigdirs="$noconfigdirs sim target-rda"
+     ;;
+-  *-*-darwin*)
++  *-*-darwin* | *-*-ios*)
+     noconfigdirs="$noconfigdirs ld gas gdb gprof"
+     noconfigdirs="$noconfigdirs sim target-rda"
+     ;;
+@@ -1226,7 +1226,7 @@ case "${host}" in
+   hppa*-*)	
+     host_makefile_frag="config/mh-pa"
+     ;;
+-  *-*-darwin*)
++  *-*-darwin* | *-*-ios*)
+     host_makefile_frag="config/mh-darwin"
+     ;;
+   powerpc-*-aix*)
+@@ -1708,7 +1708,7 @@ ACX_ELF_TARGET_IFELSE([# ELF platforms build the lto-plugin always.
+   # warn during gcc/ subconfigure; unless you're bootstrapping with
+   # -flto it won't be needed until after installation anyway.
+     case $target in
+-      *-cygwin* | *-mingw* | *-apple-darwin* | *djgpp*) ;;
++      *-cygwin* | *-mingw* | *-apple-darwin* | *-apple-ios* | *djgpp*) ;;
+       *) if test x"$enable_lto" = x"yes"; then
+ 	AC_MSG_ERROR([LTO support is not enabled for this target.])
+         fi
+@@ -2590,7 +2590,7 @@ rm -f conftest*
+ # Decide which environment variable is used to find dynamic libraries.
+ case "${host}" in
+   *-*-hpux*) RPATH_ENVVAR=SHLIB_PATH ;;
+-  *-*-darwin*) RPATH_ENVVAR=DYLD_LIBRARY_PATH ;;
++  *-*-darwin* | *-*-ios* ) RPATH_ENVVAR=DYLD_LIBRARY_PATH ;;
+   *-*-mingw* | *-*-cygwin ) RPATH_ENVVAR=PATH ;;
+   *) RPATH_ENVVAR=LD_LIBRARY_PATH ;;
+ esac
diff --git a/pkgs/development/tools/misc/cl-launch/default.nix b/pkgs/development/tools/misc/cl-launch/default.nix
index ffd668dbdee..c245a32a06d 100644
--- a/pkgs/development/tools/misc/cl-launch/default.nix
+++ b/pkgs/development/tools/misc/cl-launch/default.nix
@@ -33,6 +33,6 @@ stdenv.mkDerivation {
     description = ''Common Lisp launcher script'';
     license = stdenv.lib.licenses.llgpl21 ;
     maintainers = [stdenv.lib.maintainers.raskin];
-    platforms = stdenv.lib.platforms.linux;
+    platforms = stdenv.lib.platforms.unix;
   };
 }
diff --git a/pkgs/development/tools/misc/complexity/default.nix b/pkgs/development/tools/misc/complexity/default.nix
index 60a0370e86e..41bfa520e62 100644
--- a/pkgs/development/tools/misc/complexity/default.nix
+++ b/pkgs/development/tools/misc/complexity/default.nix
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
 
     homepage = http://www.gnu.org/software/complexity/;
 
-    platforms = stdenv.lib.platforms.gnu;
+    platforms = stdenv.lib.platforms.gnu ++ stdenv.lib.platforms.linux;
     maintainers = [ ];
   };
 }
diff --git a/pkgs/development/tools/misc/cquery/default.nix b/pkgs/development/tools/misc/cquery/default.nix
new file mode 100644
index 00000000000..bf979767126
--- /dev/null
+++ b/pkgs/development/tools/misc/cquery/default.nix
@@ -0,0 +1,59 @@
+{ stdenv, fetchFromGitHub, makeWrapper
+, cmake, llvmPackages, ncurses }:
+
+let
+  src = fetchFromGitHub {
+    owner = "cquery-project";
+    repo = "cquery";
+    rev = "34b357bc5e873d52d2aa41287c6e138244cea109";
+    sha256 = "0i34v30cl73485bzpbis539x0iq9whpv0403ca5a9h6vqwnvdn7c";
+    fetchSubmodules = true;
+  };
+
+  stdenv = llvmPackages.stdenv;
+
+in
+stdenv.mkDerivation rec {
+  name    = "cquery-${version}";
+  version = "2018-05-01";
+
+  inherit src;
+
+  nativeBuildInputs = [ cmake makeWrapper ];
+  buildInputs = with llvmPackages; [ clang clang-unwrapped llvm ncurses ];
+
+  cmakeFlags = [
+    "-DSYSTEM_CLANG=ON"
+    "-DCLANG_CXX=ON"
+  ];
+
+  shell = stdenv.shell;
+  postFixup = ''
+    # We need to tell cquery where to find the standard library headers.
+
+    standard_library_includes="\\\"-isystem\\\", \\\"${if (stdenv.hostPlatform.libc == "glibc") then stdenv.cc.libc.dev else stdenv.cc.libc}/include\\\""
+    standard_library_includes+=", \\\"-isystem\\\", \\\"${llvmPackages.libcxx}/include/c++/v1\\\""
+    export standard_library_includes
+
+    wrapped=".cquery-wrapped"
+    export wrapped
+
+    mv $out/bin/cquery $out/bin/$wrapped
+    substituteAll ${./wrapper} $out/bin/cquery
+    chmod --reference=$out/bin/$wrapped $out/bin/cquery
+  '';
+
+  doInstallCheck = true;
+  installCheckPhase = ''
+    pushd ${src}
+    $out/bin/cquery --ci --test-unit
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A c/c++ language server powered by libclang";
+    homepage    = https://github.com/cquery-project/cquery;
+    license     = licenses.mit;
+    platforms   = platforms.linux ++ platforms.darwin;
+    maintainers = [ maintainers.tobim ];
+  };
+}
diff --git a/pkgs/development/tools/misc/cquery/wrapper b/pkgs/development/tools/misc/cquery/wrapper
new file mode 100644
index 00000000000..f0bea41536d
--- /dev/null
+++ b/pkgs/development/tools/misc/cquery/wrapper
@@ -0,0 +1,12 @@
+#! @shell@ -e
+
+initString="--init={\"extraClangArguments\": [@standard_library_includes@"
+
+if [ "${NIX_CFLAGS_COMPILE}" != "" ]; then
+  read -a cflags_array <<< ${NIX_CFLAGS_COMPILE}
+  initString+=$(printf ', \"%s\"' "${cflags_array[@]}")
+fi
+
+initString+="]}"
+
+exec -a "$0" "@out@/bin/@wrapped@" "${initString}" "${extraFlagsArray[@]}" "$@"
diff --git a/pkgs/development/tools/misc/creduce/default.nix b/pkgs/development/tools/misc/creduce/default.nix
index 37ec63627b1..cbf5883b297 100644
--- a/pkgs/development/tools/misc/creduce/default.nix
+++ b/pkgs/development/tools/misc/creduce/default.nix
@@ -6,8 +6,6 @@
 , utillinux
 }:
 
-assert stdenv.isLinux -> (utillinux != null);
-
 stdenv.mkDerivation rec {
   name = "creduce-${version}";
   version = "2.7.0";
diff --git a/pkgs/development/tools/misc/cscope/default.nix b/pkgs/development/tools/misc/cscope/default.nix
index b737bb7a7da..0b1bbf5f9e4 100644
--- a/pkgs/development/tools/misc/cscope/default.nix
+++ b/pkgs/development/tools/misc/cscope/default.nix
@@ -31,11 +31,6 @@ stdenv.mkDerivation rec {
     cp xcscope.el{,c} "$out/share/emacs/site-lisp"
   '';
 
-  crossAttrs = {
-    postInstall = "";
-    propagatedBuildInputs = [ ncurses.crossDrv ];
-  };
-
   meta = {
     description = "A developer's tool for browsing source code";
 
diff --git a/pkgs/development/tools/misc/csmith/default.nix b/pkgs/development/tools/misc/csmith/default.nix
index 9a8c24fa168..c4994ad24d7 100644
--- a/pkgs/development/tools/misc/csmith/default.nix
+++ b/pkgs/development/tools/misc/csmith/default.nix
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ m4 makeWrapper ];
-  buildInputs = [ libbsd perl SysCPU ];
+  buildInputs = [ perl SysCPU libbsd ];
 
   postInstall = ''
     substituteInPlace $out/bin/compiler_test.pl \
diff --git a/pkgs/development/tools/misc/d-feet/default.nix b/pkgs/development/tools/misc/d-feet/default.nix
index b20f63e2625..ae8f17c213a 100644
--- a/pkgs/development/tools/misc/d-feet/default.nix
+++ b/pkgs/development/tools/misc/d-feet/default.nix
@@ -2,14 +2,14 @@
 , python3Packages, wrapGAppsHook, gnome3, libwnck3, gobjectIntrospection }:
 
 let
-  version = "${major}.13";
-  major = "0.3";
+  pname = "d-feet";
+  version = "0.3.13";
 in python3Packages.buildPythonApplication rec {
-  name = "d-feet-${version}";
+  name = "${pname}-${version}";
   format = "other";
 
   src = fetchurl {
-    url = "mirror://gnome/sources/d-feet/${major}/d-feet-${version}.tar.xz";
+    url = "mirror://gnome/sources/d-feet/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
     sha256 = "1md3lzs55sg04ds69dbginpxqvgg3qnf1lfx3vmsxph6bbd2y6ll";
   };
 
@@ -18,6 +18,14 @@ in python3Packages.buildPythonApplication rec {
 
   propagatedBuildInputs = with python3Packages; [ pygobject3 pep8 ];
 
+  passthru = {
+    updateScript = gnome3.updateScript {
+      packageName = pname;
+      attrPath = "dfeet";
+      versionPolicy = "none";
+    };
+  };
+
   meta = {
     description = "D-Feet is an easy to use D-Bus debugger";
 
@@ -26,7 +34,7 @@ in python3Packages.buildPythonApplication rec {
       and invoke methods on those interfaces.
     '';
 
-    homepage = https://wiki.gnome.org/action/show/Apps/DFeet;
+    homepage = https://wiki.gnome.org/Apps/DFeet;
     platforms = stdenv.lib.platforms.all;
     license = stdenv.lib.licenses.gpl2;
     maintainers = with stdenv.lib.maintainers; [ ktosiek ];
diff --git a/pkgs/development/tools/misc/dejagnu/default.nix b/pkgs/development/tools/misc/dejagnu/default.nix
index 0cb483027c1..b734eadae90 100644
--- a/pkgs/development/tools/misc/dejagnu/default.nix
+++ b/pkgs/development/tools/misc/dejagnu/default.nix
@@ -49,7 +49,7 @@ stdenv.mkDerivation rec {
     homepage = http://www.gnu.org/software/dejagnu/;
     license = licenses.gpl2Plus;
 
-    platforms = platforms.linux;
+    platforms = platforms.unix;
     maintainers = with maintainers; [ wkennington vrthra ];
   };
 }
diff --git a/pkgs/development/tools/misc/fsatrace/default.nix b/pkgs/development/tools/misc/fsatrace/default.nix
new file mode 100644
index 00000000000..e84aa0ef555
--- /dev/null
+++ b/pkgs/development/tools/misc/fsatrace/default.nix
@@ -0,0 +1,31 @@
+{ stdenv, fetchFromGitHub }:
+
+stdenv.mkDerivation rec {
+  name = "fsatrace-${version}";
+  version = "0.0.1-160";
+
+  src = fetchFromGitHub {
+    owner = "jacereda";
+    repo = "fsatrace";
+    rev = "2bf89d836e0156e68f121b0ffeedade7c9381f77";
+    sha256 = "0bndfmm0y738azwzf6m6xg6gjnrwcqlfjsampk67vga40yylwkbw";
+  };
+
+  preConfigure = ''
+    mkdir -p $out/libexec/${name}
+    export makeFlags=INSTALLDIR=$out/libexec/${name}
+  '';
+
+  postInstall = ''
+    mkdir -p $out/bin
+    ln -s $out/libexec/${name}/fsatrace $out/bin/
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/jacereda/fsatrace;
+    description = "filesystem access tracer";
+    license = licenses.isc;
+    maintainers = [ maintainers.peti ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/tools/misc/fswatch/default.nix b/pkgs/development/tools/misc/fswatch/default.nix
index 2b26383ed31..9c0c357e186 100644
--- a/pkgs/development/tools/misc/fswatch/default.nix
+++ b/pkgs/development/tools/misc/fswatch/default.nix
@@ -10,13 +10,13 @@
 
 stdenv.mkDerivation rec {
   name = "fswatch-${version}";
-  version = "1.11.2";
+  version = "1.11.3";
 
   src = fetchFromGitHub {
     owner = "emcrisostomo";
     repo = "fswatch";
     rev = version;
-    sha256 = "05vgpd1fx9fy3vnnmq5gz236avgva82axix127xy98gaxrac52vq";
+    sha256 = "1w83bpgx0wsgn70jyxwrvh9dsivrq41ifcignjzdxdwz9j0rwhh1";
   };
 
   nativeBuildInputs = [ autoreconfHook ];
diff --git a/pkgs/development/tools/misc/gdb/darwin-target-match.patch b/pkgs/development/tools/misc/gdb/darwin-target-match.patch
new file mode 100644
index 00000000000..1328d919503
--- /dev/null
+++ b/pkgs/development/tools/misc/gdb/darwin-target-match.patch
@@ -0,0 +1,11 @@
+--- a/configure	2017-06-05 00:51:26.000000000 +0900
++++ b/configure	2018-03-06 23:12:58.000000000 +0900
+@@ -3603,7 +3603,7 @@
+     noconfigdirs="$noconfigdirs ld gprof"
+     noconfigdirs="$noconfigdirs sim target-rda"
+     ;;
+-  x86_64-*-darwin[912]*)
++  x86_64-*-darwin*)
+     noconfigdirs="$noconfigdirs ld gas gprof"
+     noconfigdirs="$noconfigdirs sim target-rda"
+     ;;
diff --git a/pkgs/development/tools/misc/gdb/default.nix b/pkgs/development/tools/misc/gdb/default.nix
index e068b908caf..b5840d07466 100644
--- a/pkgs/development/tools/misc/gdb/default.nix
+++ b/pkgs/development/tools/misc/gdb/default.nix
@@ -35,7 +35,8 @@ stdenv.mkDerivation rec {
     sha256 = "0d2bpqk58fqlx21rbnk8mbcjlggzc9kb5sjirrfrrrjq70ka0qdg";
   };
 
-  patches = [ ./debug-info-from-env.patch ];
+  patches = [ ./debug-info-from-env.patch ]
+    ++ stdenv.lib.optional stdenv.isDarwin ./darwin-target-match.patch;
 
   nativeBuildInputs = [ pkgconfig texinfo perl setupDebugInfoDirs ]
     # TODO(@Ericson2314) not sure if should be host or target
diff --git a/pkgs/development/tools/misc/gede/default.nix b/pkgs/development/tools/misc/gede/default.nix
index 9e2f3587558..9e8ce3d9331 100644
--- a/pkgs/development/tools/misc/gede/default.nix
+++ b/pkgs/development/tools/misc/gede/default.nix
@@ -1,26 +1,24 @@
-{ stdenv, fetchurl, makeWrapper, python, qt4, ctags, gdb }:
+{ stdenv, fetchurl, makeWrapper, python, qmake, ctags, gdb }:
 
 stdenv.mkDerivation rec {
   name = "gede-${version}";
-  version = "2.0.4";
+  version = "2.6.1";
 
   src = fetchurl {
     url = "http://gede.acidron.com/uploads/source/${name}.tar.xz";
-    sha256 = "0ip86ss35sc330p4aykv5qj74jbdwh38i928w1bxb6g3w0xmfqba";
+    sha256 = "0jallpchl3c3i90hwic4n7n0ggk5wra0fki4by9ag26ln0k42c4r";
   };
 
-  nativeBuildInputs = [ makeWrapper python ];
+  nativeBuildInputs = [ qmake makeWrapper python ];
 
-  buildInputs = [ qt4 ];
+  buildInputs = [ ctags ];
 
-  postPatch = ''
-    sed -i build.py -e 's,qmake-qt4,qmake,'
-  '';
+  dontUseQmakeConfigure = true;
 
   buildPhase = ":";
 
   installPhase = ''
-    python build.py install --prefix="$out"
+    python build.py install --verbose --prefix="$out"
     wrapProgram $out/bin/gede \
       --prefix PATH : ${stdenv.lib.makeBinPath [ ctags gdb ]}
   '';
diff --git a/pkgs/development/tools/misc/global/default.nix b/pkgs/development/tools/misc/global/default.nix
index 35126c85d3f..296d9673d8f 100644
--- a/pkgs/development/tools/misc/global/default.nix
+++ b/pkgs/development/tools/misc/global/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   name = "global-${version}";
-  version = "6.5.7";
+  version = "6.6.2";
 
   src = fetchurl {
     url = "mirror://gnu/global/${name}.tar.gz";
-    sha256 = "0cnd7a7d1pl46yk15q6mnr9i9w3xi8pxgchw4ia9njgr4jjqzh6r";
+    sha256 = "0zvi5vxwiq0dy8mq2cgs64m8harxs0fvkmsnvi0ayb0w608lgij3";
   };
 
   nativeBuildInputs = [ libtool makeWrapper ];
diff --git a/pkgs/development/tools/misc/help2man/default.nix b/pkgs/development/tools/misc/help2man/default.nix
index 6e341b577cf..b786aa2123f 100644
--- a/pkgs/development/tools/misc/help2man/default.nix
+++ b/pkgs/development/tools/misc/help2man/default.nix
@@ -1,26 +1,34 @@
-{ stdenv, hostPlatform, fetchurl, perl, gettext, LocaleGettext, makeWrapper }:
+{ stdenv, hostPlatform, fetchurl, perl, gettext, LocaleGettext }:
 
 stdenv.mkDerivation rec {
-  name = "help2man-1.47.5";
+  name = "help2man-1.47.6";
 
   src = fetchurl {
     url = "mirror://gnu/help2man/${name}.tar.xz";
-    sha256 = "1cb14kp380jzk1yi4i7x9d8qplc8c5mgcbgycgs9ggpx34jhp9kw";
+    sha256 = "0vz4dlrvy4vc6l7w0a7n668pfa0rdm73wr2gar58wqranyah46yr";
   };
 
-  nativeBuildInputs = [ makeWrapper gettext LocaleGettext ];
+  nativeBuildInputs = [ gettext LocaleGettext ];
   buildInputs = [ perl LocaleGettext ];
 
   doCheck = false;                                # target `check' is missing
 
   patches = if hostPlatform.isCygwin then [ ./1.40.4-cygwin-nls.patch ] else null;
 
-  postInstall =
-    '' wrapProgram "$out/bin/help2man" \
-         --prefix PERL5LIB : "$(echo ${LocaleGettext}/lib/perl*/site_perl)" \
-         ${stdenv.lib.optionalString hostPlatform.isCygwin "--prefix PATH : ${gettext}/bin"}
-    '';
-
+  # We don't use makeWrapper here because it uses substitutions our
+  # bootstrap shell can't handle.
+  postInstall = ''
+    gettext_perl="$(echo ${LocaleGettext}/lib/perl*/site_perl)"
+    mv $out/bin/help2man $out/bin/.help2man-wrapped
+    cat > $out/bin/help2man <<EOF
+    #! $SHELL -e
+    export PERL5LIB=\''${PERL5LIB:+:}$gettext_perl
+    ${stdenv.lib.optionalString hostPlatform.isCygwin
+        "export PATH=\''${PATH:+:}${gettext}/bin"}
+    exec -a \$0 $out/bin/.help2man-wrapped "\$@"
+    EOF
+    chmod +x $out/bin/help2man
+  '';
 
   meta = with stdenv.lib; {
     description = "Generate man pages from `--help' output";
diff --git a/pkgs/development/tools/misc/hydra/default.nix b/pkgs/development/tools/misc/hydra/default.nix
index cf9057d35e2..4fdd017306a 100644
--- a/pkgs/development/tools/misc/hydra/default.nix
+++ b/pkgs/development/tools/misc/hydra/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, nixUnstable, perlPackages, buildEnv, releaseTools, fetchFromGitHub
+{ stdenv, nix, perlPackages, buildEnv, releaseTools, fetchFromGitHub
 , makeWrapper, autoconf, automake, libtool, unzip, pkgconfig, sqlite, libpqxx
 , gitAndTools, mercurial, darcs, subversion, bazaar, openssl, bzip2, libxslt
 , guile, perl, postgresql, aws-sdk-cpp, nukeReferences, git, boehmgc
@@ -27,6 +27,7 @@ let
         CatalystViewDownload
         CatalystViewJSON
         CatalystViewTT
+        CatalystXRoleApplicator
         CatalystXScriptServerStarman
         CryptRandPasswd
         DBDPg
@@ -39,6 +40,7 @@ let
         FileSlurp
         IOCompress
         IPCRun
+        JSONAny
         JSONXS
         LWP
         LWPProtocolHttps
@@ -54,8 +56,8 @@ let
         TextDiff
         TextTable
         XMLSimple
-        nixUnstable
-        nixUnstable.perl-bindings
+        nix
+        nix.perl-bindings
         git
         boehmgc
       ];
@@ -77,12 +79,12 @@ in releaseTools.nixBuild rec {
     [ makeWrapper autoconf automake libtool unzip nukeReferences pkgconfig sqlite libpqxx
       gitAndTools.topGit mercurial darcs subversion bazaar openssl bzip2 libxslt
       guile # optional, for Guile + Guix support
-      perlDeps perl nixUnstable
+      perlDeps perl nix
       postgresql # for running the tests
     ];
 
   hydraPath = lib.makeBinPath (
-    [ sqlite subversion openssh nixUnstable coreutils findutils pixz
+    [ sqlite subversion openssh nix coreutils findutils pixz
       gzip bzip2 lzma gnutar unzip git gitAndTools.topGit mercurial darcs gnused bazaar
     ] ++ lib.optionals stdenv.isLinux [ rpm dpkg cdrkit ] );
 
@@ -117,7 +119,7 @@ in releaseTools.nixBuild rec {
             --prefix PATH ':' $out/bin:$hydraPath \
             --set HYDRA_RELEASE ${version} \
             --set HYDRA_HOME $out/libexec/hydra \
-            --set NIX_RELEASE ${nixUnstable.name or "unknown"}
+            --set NIX_RELEASE ${nix.name or "unknown"}
     done
   ''; # */
 
diff --git a/pkgs/development/tools/misc/intel-gpu-tools/default.nix b/pkgs/development/tools/misc/intel-gpu-tools/default.nix
index 3d8b29e4ebc..5176be12301 100644
--- a/pkgs/development/tools/misc/intel-gpu-tools/default.nix
+++ b/pkgs/development/tools/misc/intel-gpu-tools/default.nix
@@ -3,11 +3,11 @@
 , procps, autoreconfHook, utilmacros, gnome2 }:
 
 stdenv.mkDerivation rec {
-  name = "intel-gpu-tools-1.21";
+  name = "intel-gpu-tools-1.22";
 
   src = fetchurl {
     url = "http://xorg.freedesktop.org/archive/individual/app/${name}.tar.xz";
-    sha256 = "0gvh317dg5c7kvjxxkh8g70hh3r3dc73mc4dzyvfa8nb4ix6xbyr";
+    sha256 = "0p4swf9577p6hzglw1lh2sz63wjkk37b7691saj2qw8ha7fc2rix";
   };
 
   nativeBuildInputs = [ pkgconfig utilmacros ];
@@ -25,6 +25,8 @@ stdenv.mkDerivation rec {
     substituteInPlace tests/Makefile.am --replace '$(CAIRO_CFLAGS)' '$(CAIRO_CFLAGS) $(GLIB_CFLAGS)'
   '';
 
+  enableParallelBuilding = true;
+
   meta = with stdenv.lib; {
     homepage = https://01.org/linuxgraphics/;
     description = "Tools for development and testing of the Intel DRM driver";
diff --git a/pkgs/development/tools/misc/itstool/default.nix b/pkgs/development/tools/misc/itstool/default.nix
index 70ed9cd0570..129c1c6b3a9 100644
--- a/pkgs/development/tools/misc/itstool/default.nix
+++ b/pkgs/development/tools/misc/itstool/default.nix
@@ -2,11 +2,11 @@
 # We need the same Python as is used to build libxml2Python
 
 stdenv.mkDerivation rec {
-  name = "itstool-2.0.2";
+  name = "itstool-2.0.4";
 
   src = fetchurl {
     url = "http://files.itstool.org/itstool/${name}.tar.bz2";
-    sha256 = "bf909fb59b11a646681a8534d5700fec99be83bb2c57badf8c1844512227033a";
+    sha256 = "0q7b4qrc758zfx3adsgvz0r93swdbxjr42w37rahngm33nshihlp";
   };
 
   buildInputs = [ python2 libxml2Python ];
diff --git a/pkgs/development/tools/misc/kibana/5.x.nix b/pkgs/development/tools/misc/kibana/5.x.nix
index 78b5df21fde..4aa9dc8b89a 100644
--- a/pkgs/development/tools/misc/kibana/5.x.nix
+++ b/pkgs/development/tools/misc/kibana/5.x.nix
@@ -11,9 +11,9 @@ let
   elasticArch = archOverrides."${arch}" or arch;
   plat = elemAt info 1;
   shas = {
-    "x86_64-linux"  = "1a9n7s9r0klqvpyr5d3a410cchbsb0syx6cqwbhhnihqyw8dcx1i";
-    "i686-linux"    = "0snnm5jwynvk6ahgl42yzl2jhld0ykn79rlcq9dsv2gpqnjb2mmv";
-    "x86_64-darwin" = "0qw3xkj3n3aja8s8n9r4hbr65jm9m6dgfjhhnrln434648rx7z4v";
+    "x86_64-linux"  = "1rg4j5jm8mkscrwlbx5qk3qjnblyr8z9x5npvyi73zm0ism0gv4j";
+    "i686-linux"    = "14swgx9sf23pns2pj30yyhd0p0rnykdimdrnj8rb0r1pqszw57qx";
+    "x86_64-darwin" = "10l13r47nx74xicnjgb56nvgvx2al1zx1p8f09pjldaa2gjlll2k";
   };
 in stdenv.mkDerivation rec {
   name = "kibana-${version}";
diff --git a/pkgs/development/tools/misc/kibana/6.x.nix b/pkgs/development/tools/misc/kibana/6.x.nix
index d7013ef46eb..17620c9df6c 100644
--- a/pkgs/development/tools/misc/kibana/6.x.nix
+++ b/pkgs/development/tools/misc/kibana/6.x.nix
@@ -7,8 +7,8 @@ let
   arch = elemAt info 0;
   plat = elemAt info 1;
   shas = {
-    "x86_64-linux"  = "0kgsafjn8wzrmiklfc8jg0h3cx25lhlkby8yz35wgpx4wbk3vfjx";
-    "x86_64-darwin" = "0i2kq9vyjv151kk7h3dl3hjrqqgxsg0qqxdqwjwlz9ja5axzlxhd";
+    "x86_64-linux"  = "1br9nvwa3i5sfcbnrxp2x3dxxnsbs9iavz6zwgw0jlh5ngf5vysk";
+    "x86_64-darwin" = "1w4dck02i0rrl8m18kvy2zz02cb7bb9a2pdhkd1jfy1qz4ssnhii";
   };
 in stdenv.mkDerivation rec {
   name = "kibana-${version}";
diff --git a/pkgs/development/tools/misc/libtool/libtool2.nix b/pkgs/development/tools/misc/libtool/libtool2.nix
index 85821ee2089..d1d35d9a482 100644
--- a/pkgs/development/tools/misc/libtool/libtool2.nix
+++ b/pkgs/development/tools/misc/libtool/libtool2.nix
@@ -22,6 +22,7 @@ stdenv.mkDerivation rec {
   # XXX: The GNU ld wrapper does all sorts of nasty things wrt. RPATH, which
   # leads to the failure of a number of tests.
   doCheck = false;
+  doInstallCheck = false;
 
   # Don't run the native `strip' when cross-compiling.  This breaks at least
   # with `.a' files for MinGW.
diff --git a/pkgs/development/tools/misc/lsof/darwin-dfile.patch b/pkgs/development/tools/misc/lsof/darwin-dfile.patch
new file mode 100644
index 00000000000..9952228e613
--- /dev/null
+++ b/pkgs/development/tools/misc/lsof/darwin-dfile.patch
@@ -0,0 +1,12 @@
+diff -Naur a/dialects/darwin/libproc/dfile.c b/dialects/darwin/libproc/dfile.c
+--- a/dialects/darwin/libproc/dfile.c	2018-02-14 09:28:06.000000000 -0500
++++ b/dialects/darwin/libproc/dfile.c	2018-04-16 18:52:40.828715293 -0400
+@@ -43,7 +43,7 @@
+ #include "lsof.h"
+ 
+ #if	defined(PROC_FP_GUARDED)
+-#extern	struct pff_tab	Pgf_tab[];
++extern	struct pff_tab	Pgf_tab[];
+ #endif	/* defined(PROC_FP_GUARDED) */
+ 
+ 
diff --git a/pkgs/development/tools/misc/lsof/default.nix b/pkgs/development/tools/misc/lsof/default.nix
index 224e0aba6ef..005fb09fba0 100644
--- a/pkgs/development/tools/misc/lsof/default.nix
+++ b/pkgs/development/tools/misc/lsof/default.nix
@@ -4,13 +4,13 @@ let dialect = with stdenv.lib; last (splitString "-" stdenv.system); in
 
 stdenv.mkDerivation rec {
   name = "lsof-${version}";
-  version = "4.89";
+  version = "4.91";
 
   depsBuildBuild = [ buildPackages.stdenv.cc ];
   buildInputs = [ ncurses ];
 
   src = fetchurl {
-    urls =
+    urls = ["https://fossies.org/linux/misc/lsof_${version}.tar.bz2"] ++ # Mirrors seem to be down...
       ["ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/lsof_${version}.tar.bz2"]
       ++ map (
         # the tarball is moved after new version is released
@@ -23,22 +23,23 @@ stdenv.mkDerivation rec {
         + "${stdenv.lib.optionalString isOld "OLD/"}lsof_${version}.tar.bz2"
       ) [ false true ]
       ;
-    sha256 = "061p18v0mhzq517791xkjs8a5dfynq1418a1mwxpji69zp2jzb41";
+    sha256 = "18sh4hbl9jw2szkf0gvgan8g13f3g4c6s2q9h3zq5gsza9m99nn9";
   };
 
   unpackPhase = "tar xvjf $src; cd lsof_*; tar xvf lsof_*.tar; sourceRoot=$( echo lsof_*/); ";
 
-  patches = [ ./dfile.patch ];
+  patches = stdenv.lib.optional stdenv.isDarwin ./darwin-dfile.patch;
 
   postPatch = stdenv.lib.optionalString stdenv.hostPlatform.isMusl ''
     substituteInPlace dialects/linux/dlsof.h --replace "defined(__UCLIBC__)" 1
+  '' + stdenv.lib.optionalString stdenv.isDarwin ''
+    sed -i 's|lcurses|lncurses|g' Configure
   '';
 
   # Stop build scripts from searching global include paths
-  LSOF_INCLUDE = "${stdenv.cc.libc}/include";
+  LSOF_INCLUDE = "${stdenv.lib.getDev stdenv.cc.libc}/include";
   configurePhase = "LINUX_CONF_CC=$CC_FOR_BUILD LSOF_CC=$CC LSOF_AR=\"$AR cr\" LSOF_RANLIB=$RANLIB ./Configure -n ${dialect}";
   preBuild = ''
-    sed -i Makefile -e 's/^CFGF=/&	-DHASIPv6=1/;' -e 's/-lcurses/-lncurses/'
     for filepath in $(find dialects/${dialect} -type f); do
       sed -i "s,/usr/include,$LSOF_INCLUDE,g" $filepath
     done
@@ -58,7 +59,7 @@ stdenv.mkDerivation rec {
       socket (IPv6/IPv4/UNIX local), or partition (by opening a file
       from it).
     '';
-    maintainers = [ ];
+    maintainers = [ stdenv.lib.maintainers.dezgeg ];
     platforms = stdenv.lib.platforms.unix;
   };
 }
diff --git a/pkgs/development/tools/misc/lsof/dfile.patch b/pkgs/development/tools/misc/lsof/dfile.patch
deleted file mode 100644
index 47202d5ebea..00000000000
--- a/pkgs/development/tools/misc/lsof/dfile.patch
+++ /dev/null
@@ -1,18 +0,0 @@
---- lsof_4.89_src/dialects/darwin/libproc/dfile.c	2014-10-30 12:39:46.000000000 +0100
-+++ lsof_4.89_src/dialects/darwin/libproc/dfile_new.c	2016-10-04 13:44:58.000000000 +0200
-@@ -286,13 +286,13 @@
- 
- #if	defined(PROC_FP_GUARDED)
- 	if (extra > 1)
--	    putchar(`,');
-+	    putchar(',');
- 	if (lf->guardflags) {
- 	    struct pff_tab *tp;
- 	    long gf;
- 
- 	    (void) printf("guard=");
--	    tp = Pgf_tab;
-+	    tp = Pff_tab;
- 	    gf = lf->guardflags;
- 	    while (gf && !FsvFlagX) {
- 		while (tp->nm) {
diff --git a/pkgs/development/tools/misc/ltrace/default.nix b/pkgs/development/tools/misc/ltrace/default.nix
index 66fbed514dc..15eac37a53a 100644
--- a/pkgs/development/tools/misc/ltrace/default.nix
+++ b/pkgs/development/tools/misc/ltrace/default.nix
@@ -10,10 +10,14 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ elfutils libunwind ];
 
-  preConfigure =
-    ''
-      configureFlags="--disable-werror"
-      makeFlagsArray=(INSTALL="install -c")
+  prePatch = let
+      debian = fetchurl {
+        url = mirror://debian/pool/main/l/ltrace/ltrace_0.7.3-6.debian.tar.xz;
+        sha256 = "0xc4pfd8qw53crvdxr29iwl8na53zmknca082kziwpvlzsick4kp";
+      };
+    in ''
+      tar xf '${debian}'
+      patches="$patches $(cat debian/patches/series | sed 's|^|debian/patches/|')"
     '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/tools/misc/lttng-tools/default.nix b/pkgs/development/tools/misc/lttng-tools/default.nix
index eea54dbdf8b..8294b68126f 100644
--- a/pkgs/development/tools/misc/lttng-tools/default.nix
+++ b/pkgs/development/tools/misc/lttng-tools/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "lttng-tools-${version}";
-  version = "2.10.2";
+  version = "2.10.3";
 
   src = fetchurl {
     url = "https://lttng.org/files/lttng-tools/${name}.tar.bz2";
-    sha256 = "17wsdhkw8c8gb0d1bcgw4dfx2ljrq4rzgpi8sb9y9hs6pbwqy0xk";
+    sha256 = "0x3b6jps053s9pxc7bslj5qsn2z53yf0fk9pcrmxjf9yri17n3qr";
   };
 
   nativeBuildInputs = [ pkgconfig ];
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Tracing tools (kernel + user space) for Linux";
-    homepage = http://lttng.org/;
+    homepage = https://lttng.org/;
     license = licenses.lgpl21;
     platforms = platforms.linux;
     maintainers = [ maintainers.bjornfor ];
diff --git a/pkgs/development/tools/misc/lttng-ust/default.nix b/pkgs/development/tools/misc/lttng-ust/default.nix
index edfc7dc30ca..b708ce490d2 100644
--- a/pkgs/development/tools/misc/lttng-ust/default.nix
+++ b/pkgs/development/tools/misc/lttng-ust/default.nix
@@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "LTTng Userspace Tracer libraries";
-    homepage = http://lttng.org/;
+    homepage = https://lttng.org/;
     license = licenses.lgpl21Plus;
     platforms = platforms.linux;
     maintainers = [ maintainers.bjornfor ];
diff --git a/pkgs/development/tools/misc/lttv/default.nix b/pkgs/development/tools/misc/lttv/default.nix
index 45dd86db41b..36a89726e81 100644
--- a/pkgs/development/tools/misc/lttv/default.nix
+++ b/pkgs/development/tools/misc/lttv/default.nix
@@ -4,7 +4,7 @@ stdenv.mkDerivation rec {
   name = "lttv-1.5";
 
   src = fetchurl {
-    url = "http://lttng.org/files/packages/${name}.tar.bz2";
+    url = "https://lttng.org/files/packages/${name}.tar.bz2";
     sha256 = "1faldxnh9dld5k0vxckwpqw241ya1r2zv286l6rpgqr500zqw7r1";
   };
 
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Graphical trace viewer for LTTng trace files";
-    homepage = http://lttng.org/;
+    homepage = https://lttng.org/;
     # liblttvtraceread (ltt/ directory) is distributed under the GNU LGPL v2.1.
     # The rest of the LTTV package is distributed under the GNU GPL v2.
     license = with licenses; [ gpl2 lgpl21 ];
diff --git a/pkgs/development/tools/misc/luarocks/default.nix b/pkgs/development/tools/misc/luarocks/default.nix
index 6d3dffa894c..afe026359e5 100644
--- a/pkgs/development/tools/misc/luarocks/default.nix
+++ b/pkgs/development/tools/misc/luarocks/default.nix
@@ -3,11 +3,11 @@ let
   s = # Generated upstream information
   rec {
     baseName="luarocks";
-    version="2.4.3";
+    version="2.4.4";
     name="${baseName}-${version}";
-    hash="0binkd8mpzdzvx0jw0dwm4kr1p7jny015zykf8f15fymzqr4shad";
-    url="http://luarocks.org/releases/luarocks-2.4.3.tar.gz";
-    sha256="0binkd8mpzdzvx0jw0dwm4kr1p7jny015zykf8f15fymzqr4shad";
+    hash="0d7rl60dwh52qh5pfsphgx5ypp7k190h9ri6qpr2yx9kvqrxyf1r";
+    url="http://luarocks.org/releases/luarocks-2.4.4.tar.gz";
+    sha256="0d7rl60dwh52qh5pfsphgx5ypp7k190h9ri6qpr2yx9kvqrxyf1r";
   };
   buildInputs = [
     lua curl makeWrapper which unzip
diff --git a/pkgs/development/tools/misc/opengrok/default.nix b/pkgs/development/tools/misc/opengrok/default.nix
index cdfa51d6f2b..a0434f2d0e7 100644
--- a/pkgs/development/tools/misc/opengrok/default.nix
+++ b/pkgs/development/tools/misc/opengrok/default.nix
@@ -2,9 +2,9 @@
 
 stdenv.mkDerivation rec {
   name = "opengrok-${version}";
-  version = "0.12.5";
+  version = "1.0";
 
-  # 0.12.5 is the latest distributed as a .tar.gz file.
+  # 1.0 is the latest distributed as a .tar.gz file.
   # Newer are distribued as .zip so a source build is required.
 
   # if builded from source
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
   # binary distribution
   src = fetchurl {
     url = https://github.com/OpenGrok/OpenGrok/files/213268/opengrok-0.12.1.5.tar.gz;
-    sha256 = "c3ce079f6ed1526c475cb4b9a7aa901f75507318c93b436d6c14eba4098e4ead";
+    sha256 = "1bafiq4s9sqldinl6fy931rm0x8zj2magfdlbi3nqlnidsghgkn3";
   };
 
   buildInputs = [ makeWrapper ];
diff --git a/pkgs/development/tools/misc/pkgconfig/default.nix b/pkgs/development/tools/misc/pkgconfig/default.nix
index 15d00b0a2a5..219281f4ec1 100644
--- a/pkgs/development/tools/misc/pkgconfig/default.nix
+++ b/pkgs/development/tools/misc/pkgconfig/default.nix
@@ -32,6 +32,7 @@ stdenv.mkDerivation rec {
          "ac_cv_func_posix_getgrgid_r=yes"
        ];
 
+  doCheck = false; # fails
 
   postInstall = ''rm -f "$out"/bin/*-pkg-config''; # clean the duplicate file
 
@@ -42,4 +43,3 @@ stdenv.mkDerivation rec {
   };
 
 }
-
diff --git a/pkgs/development/tools/misc/pwndbg/default.nix b/pkgs/development/tools/misc/pwndbg/default.nix
new file mode 100644
index 00000000000..df4b91a79b0
--- /dev/null
+++ b/pkgs/development/tools/misc/pwndbg/default.nix
@@ -0,0 +1,48 @@
+{ stdenv, fetchFromGitHub, pythonPackages, makeWrapper, gdb }:
+
+stdenv.mkDerivation rec {
+  name = "pwndbg-2018-04-06";
+
+  src = fetchFromGitHub {
+    owner = "pwndbg";
+    repo = "pwndbg";
+    rev = "e225ba9f647ab8f7f4871075529c0ec239f43300";
+    sha256 = "1s6m93qi3baclgqqii4fnmzjmg0c6ipkscg7xiljaj5z4bs371j4";
+  };
+
+  nativeBuildInputs = [ makeWrapper ];
+
+  propagatedBuildInputs = with pythonPackages; [
+    future
+    isort
+    psutil
+    pycparser
+    pyelftools
+    python-ptrace
+    ROPGadget
+    six
+    unicorn
+    pygments
+    enum34
+  ];
+
+  installPhase = ''
+    mkdir -p $out/share/pwndbg
+    cp -r *.py pwndbg $out/share/pwndbg
+    makeWrapper ${gdb}/bin/gdb $out/bin/pwndbg \
+      --add-flags "-q -x $out/share/pwndbg/gdbinit.py"
+  '';
+
+  preFixup = ''
+    sed -i "/import sys/a import sys; sys.path[0:0] = '$PYTHONPATH'.split(':')" \
+      $out/share/pwndbg/gdbinit.py
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Exploit Development and Reverse Engineering with GDB Made Easy";
+    homepage = http://pwndbg.com;
+    license = licenses.mit;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ mic92 ];
+  };
+}
diff --git a/pkgs/development/tools/misc/saleae-logic/default.nix b/pkgs/development/tools/misc/saleae-logic/default.nix
index de2d6c5b7bf..a8183aa4ba0 100644
--- a/pkgs/development/tools/misc/saleae-logic/default.nix
+++ b/pkgs/development/tools/misc/saleae-logic/default.nix
@@ -21,8 +21,6 @@ let
 
 in
 
-assert stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux";
-
 stdenv.mkDerivation rec {
   pname = "saleae-logic";
   version = "1.2.10";
@@ -93,7 +91,7 @@ stdenv.mkDerivation rec {
     description = "Software for Saleae logic analyzers";
     homepage = http://www.saleae.com/;
     license = licenses.unfree;
-    platforms = platforms.linux;
+    platforms = [ "x86_64-linux" "i686-linux" ];
     maintainers = [ maintainers.bjornfor ];
   };
 }
diff --git a/pkgs/development/tools/misc/strace/default.nix b/pkgs/development/tools/misc/strace/default.nix
index 80d1a75e801..fce2fa4fa4b 100644
--- a/pkgs/development/tools/misc/strace/default.nix
+++ b/pkgs/development/tools/misc/strace/default.nix
@@ -1,19 +1,20 @@
-{ stdenv, fetchurl, perl, libunwind }:
+{ stdenv, fetchurl, perl, libunwind, buildPackages }:
 
 stdenv.mkDerivation rec {
   name = "strace-${version}";
-  version = "4.21";
+  version = "4.22";
 
   src = fetchurl {
     url = "https://strace.io/files/${version}/${name}.tar.xz";
-    sha256 = "0dsw6xcfrmygidp1dj2ch8cl8icrar7789snkb2r8gh78kdqhxjw";
+    sha256 = "17dkpnsjxmys1ydidm9wcvc3wscsz44fmlxw3dclspn9cj9d1306";
   };
 
+  depsBuildBuild = [ buildPackages.stdenv.cc ];
   nativeBuildInputs = [ perl ];
 
-  buildInputs = [ libunwind ]; # support -k
+  buildInputs = stdenv.lib.optional libunwind.supportsHost [ libunwind ]; # support -k
 
-  configureFlags = stdenv.lib.optional stdenv.hostPlatform.isAarch64 "--enable-mpers=check";
+  configureFlags = stdenv.lib.optional (stdenv.hostPlatform.isAarch64 || stdenv.hostPlatform.isRiscV) "--enable-mpers=check";
 
   meta = with stdenv.lib; {
     homepage = http://strace.io/;
diff --git a/pkgs/development/tools/misc/sysbench/default.nix b/pkgs/development/tools/misc/sysbench/default.nix
index d72fc86d7ee..dbd036d03fd 100644
--- a/pkgs/development/tools/misc/sysbench/default.nix
+++ b/pkgs/development/tools/misc/sysbench/default.nix
@@ -2,7 +2,7 @@
 , libaio }:
 
 stdenv.mkDerivation rec {
-  name = "sysbench-1.0.13";
+  name = "sysbench-1.0.14";
 
   nativeBuildInputs = [ autoreconfHook pkgconfig ];
   buildInputs = [ vim mysql.connector-c libaio ];
@@ -10,8 +10,8 @@ stdenv.mkDerivation rec {
   src = fetchFromGitHub {
     owner = "akopytov";
     repo = "sysbench";
-    rev = "1.0.13";
-    sha256 = "1inxyjpcyv2ag3k5riwlaq91362y16yks75vs2crmhjxlxdspy8c";
+    rev = "1.0.14";
+    sha256 = "0mp1wqdm87zqyn55z23qf1izqz7ijgcbsysdwqndd98w6m5d86rp";
   };
 
   meta = {
diff --git a/pkgs/development/tools/misc/texinfo/4.13a.nix b/pkgs/development/tools/misc/texinfo/4.13a.nix
index 2e0d020688e..63e5bea19d7 100644
--- a/pkgs/development/tools/misc/texinfo/4.13a.nix
+++ b/pkgs/development/tools/misc/texinfo/4.13a.nix
@@ -1,10 +1,11 @@
-{ stdenv, fetchurl, ncurses, lzma }:
+{ stdenv, fetchurl, texinfo, ncurses, lzma }:
 
 stdenv.mkDerivation rec {
-  name = "texinfo-4.13a";
+  name = "texinfo-${version}";
+  version = "4.13a";
 
   src = fetchurl {
-    url = "mirror://gnu/texinfo/texinfo-4.13a.tar.lzma";
+    url = "mirror://gnu/texinfo/${name}.tar.lzma";
     sha256 = "1rf9ckpqwixj65bw469i634897xwlgkm5i9g2hv3avl6mv7b0a3d";
   };
 
@@ -14,29 +15,5 @@ stdenv.mkDerivation rec {
   # Disabled because we don't have zdiff in the stdenv bootstrap.
   #doCheck = true;
 
-  meta = {
-    description = "The GNU documentation system";
-
-    longDescription = ''
-      Texinfo is the official documentation format of the GNU project.
-      It was invented by Richard Stallman and Bob Chassell many years
-      ago, loosely based on Brian Reid's Scribe and other formatting
-      languages of the time.  It is used by many non-GNU projects as
-      well.
-
-      Texinfo uses a single source file to produce output in a number
-      of formats, both online and printed (dvi, html, info, pdf, xml,
-      etc.).  This means that instead of writing different documents
-      for online information and another for a printed manual, you
-      need write only one document.  And when the work is revised, you
-      need revise only that one document.  The Texinfo system is
-      well-integrated with GNU Emacs.
-    '';
-
-    license = stdenv.lib.licenses.gpl3Plus;
-
-    homepage = http://www.gnu.org/software/texinfo/;
-    branch = "4.13";
-    platforms = stdenv.lib.platforms.unix;
-  };
+  meta = texinfo.meta // { branch = version; };
 }
diff --git a/pkgs/development/tools/misc/texinfo/5.2.nix b/pkgs/development/tools/misc/texinfo/5.2.nix
index 0feb4b943df..d395494984d 100644
--- a/pkgs/development/tools/misc/texinfo/5.2.nix
+++ b/pkgs/development/tools/misc/texinfo/5.2.nix
@@ -1,54 +1,4 @@
-{ stdenv, buildPackages, fetchurl, ncurses, perl, xz, procps, interactive ? false }:
-
-with stdenv.lib;
-
-stdenv.mkDerivation rec {
-  name = "texinfo-5.2";
-
-  src = fetchurl {
-    url = "mirror://gnu/texinfo/${name}.tar.xz";
-    sha256 = "1njfwh2z34r2c4r0iqa7v24wmjzvsfyz4vplzry8ln3479lfywal";
-  };
-
-  # We need a native compiler to build perl XS extensions
-  # when cross-compiling.
-  depsBuildBuild = [ buildPackages.stdenv.cc perl ];
-
-  buildInputs = [ perl xz.bin ]
-    ++ optional interactive ncurses
-    ++ optional doCheck procps; # for tests
-
-  configureFlags = [ "PERL=${buildPackages.perl}/bin/perl" ]
-    ++ stdenv.lib.optional stdenv.isSunOS "AWK=${gawk}/bin/awk";
-
-  preInstall = ''
-    installFlags="TEXMF=$out/texmf-dist";
-    installTargets="install install-tex";
-  '';
-
-  doCheck = !stdenv.isDarwin;
-
-  meta = {
-    homepage = http://www.gnu.org/software/texinfo/;
-    description = "The GNU documentation system";
-    license = licenses.gpl3Plus;
-    platforms = platforms.all;
-
-    longDescription = ''
-      Texinfo is the official documentation format of the GNU project.
-      It was invented by Richard Stallman and Bob Chassell many years
-      ago, loosely based on Brian Reid's Scribe and other formatting
-      languages of the time.  It is used by many non-GNU projects as
-      well.
-
-      Texinfo uses a single source file to produce output in a number
-      of formats, both online and printed (dvi, html, info, pdf, xml,
-      etc.).  This means that instead of writing different documents
-      for online information and another for a printed manual, you
-      need write only one document.  And when the work is revised, you
-      need revise only that one document.  The Texinfo system is
-      well-integrated with GNU Emacs.
-    '';
-    branch = "5.2";
-  };
+import ./common.nix {
+  version = "5.2";
+  sha256 = "1njfwh2z34r2c4r0iqa7v24wmjzvsfyz4vplzry8ln3479lfywal";
 }
diff --git a/pkgs/development/tools/misc/texinfo/6.5.nix b/pkgs/development/tools/misc/texinfo/6.5.nix
index afa7e9a0a20..34596f30658 100644
--- a/pkgs/development/tools/misc/texinfo/6.5.nix
+++ b/pkgs/development/tools/misc/texinfo/6.5.nix
@@ -1,56 +1,4 @@
-{ stdenv, buildPackages, fetchurl, ncurses, perl, xz, libiconv, gawk, procps, interactive ? false }:
-
-with stdenv.lib;
-
-stdenv.mkDerivation rec {
-  name = "texinfo-6.5";
-
-  src = fetchurl {
-    url = "mirror://gnu/texinfo/${name}.tar.xz";
-    sha256 = "0qjzvbvnv9003xdrcpi3jp7y68j4hq2ciw9frh2hghh698zlnxvp";
-  };
-
-  # We need a native compiler to build perl XS extensions
-  # when cross-compiling.
-  depsBuildBuild = [ buildPackages.stdenv.cc perl ];
-
-  buildInputs = [ xz ]
-    ++ optionals stdenv.isSunOS [ libiconv gawk ]
-    ++ optional interactive ncurses
-    ++ optional doCheck procps; # for tests
-
-  configureFlags = [ "PERL=${buildPackages.perl}/bin/perl" ]
-    ++ stdenv.lib.optional stdenv.isSunOS "AWK=${gawk}/bin/awk";
-
-  preInstall = ''
-    installFlags="TEXMF=$out/texmf-dist";
-    installTargets="install install-tex";
-  '';
-
-  doCheck = interactive # simplify bootstrapping
-    && !stdenv.isDarwin && !stdenv.isSunOS/*flaky*/;
-
-  meta = with stdenv.lib; {
-    homepage = http://www.gnu.org/software/texinfo/;
-    description = "The GNU documentation system";
-    license = licenses.gpl3Plus;
-    platforms = platforms.all;
-    maintainers = [ maintainers.vrthra ];
-
-    longDescription = ''
-      Texinfo is the official documentation format of the GNU project.
-      It was invented by Richard Stallman and Bob Chassell many years
-      ago, loosely based on Brian Reid's Scribe and other formatting
-      languages of the time.  It is used by many non-GNU projects as
-      well.
-
-      Texinfo uses a single source file to produce output in a number
-      of formats, both online and printed (dvi, html, info, pdf, xml,
-      etc.).  This means that instead of writing different documents
-      for online information and another for a printed manual, you
-      need write only one document.  And when the work is revised, you
-      need revise only that one document.  The Texinfo system is
-      well-integrated with GNU Emacs.
-    '';
-  };
+import ./common.nix {
+  version = "6.5";
+  sha256 = "0qjzvbvnv9003xdrcpi3jp7y68j4hq2ciw9frh2hghh698zlnxvp";
 }
diff --git a/pkgs/development/tools/misc/texinfo/common.nix b/pkgs/development/tools/misc/texinfo/common.nix
new file mode 100644
index 00000000000..12534297ff3
--- /dev/null
+++ b/pkgs/development/tools/misc/texinfo/common.nix
@@ -0,0 +1,64 @@
+{ version, sha256 }:
+
+{ stdenv, buildPackages, fetchurl, perl, xz
+
+# we are a dependency of gcc, this simplifies bootstraping
+, interactive ? false, ncurses, procps
+}:
+
+with stdenv.lib;
+
+stdenv.mkDerivation rec {
+  name = "texinfo-${optionalString interactive "interactive-"}${version}";
+  inherit version;
+
+  src = fetchurl {
+    url = "mirror://gnu/texinfo/texinfo-${version}.tar.xz";
+    inherit sha256;
+  };
+
+  # We need a native compiler to build perl XS extensions
+  # when cross-compiling.
+  depsBuildBuild = [ buildPackages.stdenv.cc perl ];
+
+  buildInputs = [ xz.bin ]
+    ++ optionals stdenv.isSunOS [ libiconv gawk ]
+    ++ optionals interactive [ ncurses procps ];
+
+  configureFlags = [ "PERL=${buildPackages.perl}/bin/perl" ]
+    ++ stdenv.lib.optional stdenv.isSunOS "AWK=${gawk}/bin/awk";
+
+  preInstall = ''
+    installFlags="TEXMF=$out/texmf-dist";
+    installTargets="install install-tex";
+  '';
+
+  doCheck = interactive
+    && !stdenv.isDarwin
+    && !stdenv.isSunOS; # flaky
+
+  meta = {
+    homepage = http://www.gnu.org/software/texinfo/;
+    description = "The GNU documentation system";
+    license = licenses.gpl3Plus;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ vrthra oxij ];
+
+    longDescription = ''
+      Texinfo is the official documentation format of the GNU project.
+      It was invented by Richard Stallman and Bob Chassell many years
+      ago, loosely based on Brian Reid's Scribe and other formatting
+      languages of the time.  It is used by many non-GNU projects as
+      well.
+
+      Texinfo uses a single source file to produce output in a number
+      of formats, both online and printed (dvi, html, info, pdf, xml,
+      etc.).  This means that instead of writing different documents
+      for online information and another for a printed manual, you
+      need write only one document.  And when the work is revised, you
+      need revise only that one document.  The Texinfo system is
+      well-integrated with GNU Emacs.
+    '';
+    branch = version;
+  };
+}
diff --git a/pkgs/development/tools/misc/travis/Gemfile b/pkgs/development/tools/misc/travis/Gemfile
index d52f576be24..788341de3fa 100644
--- a/pkgs/development/tools/misc/travis/Gemfile
+++ b/pkgs/development/tools/misc/travis/Gemfile
@@ -1,3 +1,3 @@
 source "https://rubygems.org"
 
-gem "travis"
+gem "travis", "1.8.8"
diff --git a/pkgs/development/tools/misc/travis/Gemfile.lock b/pkgs/development/tools/misc/travis/Gemfile.lock
index 529be079360..a1c8332a3d4 100644
--- a/pkgs/development/tools/misc/travis/Gemfile.lock
+++ b/pkgs/development/tools/misc/travis/Gemfile.lock
@@ -45,7 +45,7 @@ PLATFORMS
   ruby
 
 DEPENDENCIES
-  travis
+  travis (= 1.8.8)
 
 BUNDLED WITH
-   1.14.4
+   1.14.6
diff --git a/pkgs/development/tools/misc/travis/default.nix b/pkgs/development/tools/misc/travis/default.nix
index a520c4deb34..b5c5740e80f 100644
--- a/pkgs/development/tools/misc/travis/default.nix
+++ b/pkgs/development/tools/misc/travis/default.nix
@@ -1,5 +1,10 @@
 { lib, bundlerEnv, ruby }:
 
+# Maintainer notes for updating
+# 1. increment version number in Gemfile
+# 2. run $ nix-shell --command "bundler install && bundix"
+#    in the travis directory in nixpkgs
+
 bundlerEnv {
   inherit ruby;
   pname = "travis";
diff --git a/pkgs/development/tools/misc/travis/gemset.nix b/pkgs/development/tools/misc/travis/gemset.nix
index 148923848be..c9a54bd324c 100644
--- a/pkgs/development/tools/misc/travis/gemset.nix
+++ b/pkgs/development/tools/misc/travis/gemset.nix
@@ -16,6 +16,7 @@
     version = "3.6.8";
   };
   ethon = {
+    dependencies = ["ffi"];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1i873cvma4j52xmij7kasjylh66vf60cy5prkp4cz4hcn9jlkznl";
@@ -24,6 +25,7 @@
     version = "0.10.1";
   };
   faraday = {
+    dependencies = ["multipart-post"];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "18p1csdivgwmshfw3mb698a3bn0yrykg30khk5qxjf6n168g91jr";
@@ -32,6 +34,7 @@
     version = "0.11.0";
   };
   faraday_middleware = {
+    dependencies = ["faraday"];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0bcarc90brm1y68bl957w483bddsy9idj2gghqnysk6bbxpsvm00";
@@ -48,6 +51,7 @@
     version = "1.9.18";
   };
   gh = {
+    dependencies = ["addressable" "backports" "faraday" "multi_json" "net-http-persistent" "net-http-pipeline"];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0g4df0jsscq16g6f27flfmvk7p4sbq81d5mdylbz4ikqq60kywzg";
@@ -72,6 +76,7 @@
     version = "2.0.3";
   };
   launchy = {
+    dependencies = ["addressable"];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "190lfbiy1vwxhbgn4nl4dcbzxvm049jwc158r2x7kq3g5khjrxa2";
@@ -112,6 +117,7 @@
     version = "1.0.1";
   };
   pusher-client = {
+    dependencies = ["json" "websocket"];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "18ymxz34gmg7jff3h0nyzp5vdg5i06dbdxlrdl2nq4hf14qwj1f4";
@@ -120,6 +126,7 @@
     version = "0.6.2";
   };
   travis = {
+    dependencies = ["backports" "faraday" "faraday_middleware" "gh" "highline" "launchy" "pusher-client" "typhoeus"];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "02bjz73f6r9b7nskwzcvcbr4hlvgwrf9rnr6d218d2i1rk4ww936";
@@ -128,6 +135,7 @@
     version = "1.8.8";
   };
   typhoeus = {
+    dependencies = ["ethon"];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "03x3fxjsnhgayl4s96h0a9975awlvx2v9nmx2ba0cnliglyczdr8";
diff --git a/pkgs/development/tools/misc/travis/shell.nix b/pkgs/development/tools/misc/travis/shell.nix
new file mode 100644
index 00000000000..ddcf493bb46
--- /dev/null
+++ b/pkgs/development/tools/misc/travis/shell.nix
@@ -0,0 +1,11 @@
+# Env to update Gemfile.lock / gemset.nix
+
+with import <nixpkgs> {};
+stdenv.mkDerivation {
+  name = "env";
+  buildInputs = [
+    ruby.devEnv
+    gnumake
+    bundix
+  ];
+}
diff --git a/pkgs/development/tools/misc/uhd/default.nix b/pkgs/development/tools/misc/uhd/default.nix
index 78195e994c9..011d0b3e80b 100644
--- a/pkgs/development/tools/misc/uhd/default.nix
+++ b/pkgs/development/tools/misc/uhd/default.nix
@@ -8,18 +8,18 @@
 #   SUBSYSTEMS=="usb", ATTRS{idVendor}=="2500", ATTRS{idProduct}=="0002", MODE:="0666"
 
 let
-  uhdVer = "003_010_003_000";
-  ImgVer = stdenv.lib.replaceStrings ["_"] ["."] uhdVer;
+  uhdVer = "v" + version;
+  ImgVer = "uhd-images_3.11.0.git-227-g9277fc58.tar.xz";
 
   # UHD seems to use three different version number styles: x.y.z, xxx_yyy_zzz
-  # and xxx.yyy.zzz. Hrmpf...
-  version = "3.10.3.0";
+  # and xxx.yyy.zzz. Hrmpf... style keeps changing
+  version = "3.11.0.0";
 
   # Firmware images are downloaded (pre-built) from:
   # http://files.ettus.com/binaries/images/
   uhdImagesSrc = fetchurl {
-    url = "http://files.ettus.com/binaries/images/uhd-images_${ImgVer}-release.tar.gz";
-    sha256 = "198awvw6zsh19ydgx5qry5yc6yahdval9wjrsqbyj51pnr6s5qvy";
+    url = "http://files.ettus.com/binaries/images/${ImgVer}";
+    sha256 = "1z8isnlxc5h0168jjpdvdv7rkd55x4dkfh14m8pc501zsf8azd6z";
   };
 
 in stdenv.mkDerivation {
@@ -28,19 +28,24 @@ in stdenv.mkDerivation {
   src = fetchFromGitHub {
     owner = "EttusResearch";
     repo = "uhd";
-    rev = "release_${uhdVer}";
-    sha256 = "1aj8qizbyz4shwawj3qlhl6pyyda59hhgm9cwrj7s5kfdi4vdlc3";
+    rev = "${uhdVer}";
+    sha256 = "1ilx1a8k5zygfq7acm9yk2fi368b1a1l7ll21kmmxjv6ifz8ds5q";
   };
 
   enableParallelBuilding = true;
 
-  cmakeFlags = "-DLIBUSB_INCLUDE_DIRS=${libusb1.dev}/include/libusb-1.0";
+  # ABI differences GCC 7.1
+  # /nix/store/wd6r25miqbk9ia53pp669gn4wrg9n9cj-gcc-7.3.0/include/c++/7.3.0/bits/vector.tcc:394:7: note: parameter passing for argument of type 'std::vector<uhd::range_t>::iterator {aka __gnu_cxx::__normal_iterator<uhd::range_t*, std::vector<uhd::range_t> >}' changed in GCC 7.1
+
+  cmakeFlags = [ "-DLIBUSB_INCLUDE_DIRS=${libusb1.dev}/include/libusb-1.0"] ++
+               [ (stdenv.lib.optionalString stdenv.isAarch32 "-DCMAKE_CXX_FLAGS=-Wno-psabi") ];
 
   nativeBuildInputs = [ cmake pkgconfig ];
   buildInputs = [ python pythonPackages.pyramid_mako orc libusb1 boost ];
 
   # Build only the host software
   preConfigure = "cd host";
+  patches = if stdenv.isAarch32 then ./neon.patch else null;
 
   postPhases = [ "installFirmware" ];
 
@@ -60,6 +65,6 @@ in stdenv.mkDerivation {
     homepage = https://uhd.ettus.com/;
     license = licenses.gpl3Plus;
     platforms = platforms.linux ++ platforms.darwin;
-    maintainers = with maintainers; [ bjornfor fpletz ];
+    maintainers = with maintainers; [ bjornfor fpletz tomberek ];
   };
 }
diff --git a/pkgs/development/tools/misc/uhd/neon.patch b/pkgs/development/tools/misc/uhd/neon.patch
new file mode 100644
index 00000000000..18ec59c1d64
--- /dev/null
+++ b/pkgs/development/tools/misc/uhd/neon.patch
@@ -0,0 +1,19 @@
+Description: When building for armhf, enable NEON
+ NEON is part of the armhf baseline, so this will always be enabled on
+ armhf.
+Author: Paul Tagliamonte <paultag@debian.org>
+Bug-Debian: https://bugs.debian.org/873608
+Origin: vendor
+Last-Update: 2017-08-29
+
+--- uhd-3.10.2.0.orig/host/lib/convert/CMakeLists.txt
++++ uhd-3.10.2.0/host/lib/convert/CMakeLists.txt
+@@ -67,6 +67,8 @@ IF(HAVE_ARM_NEON_H AND (${CMAKE_SIZEOF_V
+         ${CMAKE_CURRENT_SOURCE_DIR}/convert_with_neon.cpp
+         ${CMAKE_CURRENT_SOURCE_DIR}/convert_neon.S
+     )
++
++    SET ( CMAKE_CXX_FLAGS "-mfpu=neon" )
+ ENDIF()
+ 
+ ########################################################################
diff --git a/pkgs/development/tools/misc/usb-modeswitch/data.nix b/pkgs/development/tools/misc/usb-modeswitch/data.nix
index 0ad79005d91..0fa854f9b2a 100644
--- a/pkgs/development/tools/misc/usb-modeswitch/data.nix
+++ b/pkgs/development/tools/misc/usb-modeswitch/data.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "usb-modeswitch-data-${version}";
-  version = "20170205";
+  version = "20170806";
 
   src = fetchurl {
     url    = "http://www.draisberghof.de/usb_modeswitch/${name}.tar.bz2";
-    sha256 = "1l9q4xk02zd0l50bqhyk906wbcs26ji7259q0f7qv3cj52fzvp72";
+    sha256 = "0b1wari3aza6qjggqd0hk2zsh93k1q8scgmwh6f8wr0flpr3whff";
   };
 
   inherit (usb-modeswitch) makeFlags;
diff --git a/pkgs/development/tools/misc/yodl/default.nix b/pkgs/development/tools/misc/yodl/default.nix
index 06588e60a5e..1f5ead84677 100644
--- a/pkgs/development/tools/misc/yodl/default.nix
+++ b/pkgs/development/tools/misc/yodl/default.nix
@@ -2,14 +2,14 @@
 
 stdenv.mkDerivation rec {
   name = "yodl-${version}";
-  version = "4.01.00";
+  version = "4.02.00";
 
   nativeBuildInputs = [ icmake ];
 
   buildInputs = [ perl ];
 
   src = fetchFromGitHub {
-    sha256 = "1aahwmj4gmf59lrij2373lkgfj77i3ghdas9c7iqrjwaizb0430p";
+    sha256 = "08i3q3h581kxr5v7wi114bng66pwwsjs5qj3ywnnrr7ra1h5rzwa";
     rev = version;
     repo = "yodl";
     owner = "fbb-git";
@@ -27,6 +27,9 @@ stdenv.mkDerivation rec {
     substituteInPlace scripts/yodl2whatever.in --replace getopt ${utillinux}/bin/getopt
   '';
 
+  # Set TERM because icmbuild calls tput.
+  TERM = "xterm";
+
   buildPhase = ''
     ./build programs
     ./build macros
diff --git a/pkgs/development/tools/mypy/default.nix b/pkgs/development/tools/mypy/default.nix
index f06f9c6828c..d021f994e49 100644
--- a/pkgs/development/tools/mypy/default.nix
+++ b/pkgs/development/tools/mypy/default.nix
@@ -2,14 +2,14 @@
 
 buildPythonApplication rec {
   pname = "mypy";
-  version = "0.560";
+  version = "0.600";
 
   # Tests not included in pip package.
   doCheck = false;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1jja0xlwqajxzab8sabiycax8060zikg89dnl9a7lkqcrwprl35x";
+    sha256 = "1pd3kkz435wlvi9fwqbi3xag5zs59jcjqi6c9gzdjdn23friq9dw";
   };
 
   propagatedBuildInputs = [ lxml typed-ast psutil ];
diff --git a/pkgs/development/tools/node-webkit/nw11.nix b/pkgs/development/tools/node-webkit/nw11.nix
deleted file mode 100644
index 5028ac9580c..00000000000
--- a/pkgs/development/tools/node-webkit/nw11.nix
+++ /dev/null
@@ -1,59 +0,0 @@
-{ stdenv, fetchurl, buildEnv, makeWrapper
-, xorg, alsaLib, dbus, glib, gtk2, atk, pango, freetype, fontconfig
-, gdk_pixbuf, cairo, zlib, nss, nssTools, nspr, gconf, expat, systemd, libcap
-, libnotify}:
-let
-  bits = if stdenv.system == "x86_64-linux" then "x64"
-         else "ia32";
-
-  nwEnv = buildEnv {
-    name = "node-webkit-env";
-    paths = [
-      xorg.libX11 xorg.libXrender glib gtk2 atk pango cairo gdk_pixbuf
-      freetype fontconfig xorg.libXcomposite alsaLib xorg.libXdamage
-      xorg.libXext xorg.libXfixes nss nspr gconf expat dbus stdenv.cc
-      xorg.libXtst xorg.libXi xorg.libXcursor xorg.libXrandr libcap
-      libnotify
-    ];
-    
-    extraOutputsToInstall = [ "lib" "out" ];
-  };
-
-in stdenv.mkDerivation rec {
-  name = "node-webkit-${version}";
-  version = "0.11.2";
-
-  src = fetchurl {
-    url = "http://dl.node-webkit.org/v${version}/node-webkit-v${version}-linux-${bits}.tar.gz";
-    sha256 = if bits == "x64" then
-      "1iby0yrnbk9xfcsfz59f6g00l6rxiyxvq78shs0c145ky7lknq5q" else
-      "1hk3c9z3kwmqaj87vc5k1a7fv8jhkyqw1wjmsl3q5i50w880h398";
-  };
-
-  installPhase = ''
-    mkdir -p $out/share/node-webkit
-    cp -R * $out/share/node-webkit
-
-    patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" $out/share/node-webkit/nw
-    patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" $out/share/node-webkit/nwsnapshot
-
-    ln -s ${systemd.lib}/lib/libudev.so $out/share/node-webkit/libudev.so.0
-
-    patchelf --set-rpath "${nwEnv}/lib:${nwEnv}/lib64:$out/share/node-webkit" $out/share/node-webkit/nw
-    patchelf --set-rpath "${nwEnv}/lib:${nwEnv}/lib64:$out/share/node-webkit" $out/share/node-webkit/nwsnapshot
-
-    mkdir -p $out/bin
-    ln -s $out/share/node-webkit/nw $out/bin
-    ln -s $out/share/node-webkit/nwsnapshot $out/bin
-  '';
-
-  buildInputs = [ makeWrapper ];
-
-  meta = with stdenv.lib; {
-    description = "An app runtime based on Chromium and node.js";
-    homepage = https://github.com/rogerwang/node-webkit;
-    platforms = ["i686-linux" "x86_64-linux"];
-    maintainers = [ maintainers.offline ];
-    license = licenses.bsd3;
-  };
-}
diff --git a/pkgs/development/tools/node-webkit/nw9.nix b/pkgs/development/tools/node-webkit/nw9.nix
deleted file mode 100644
index ba5d6c8e334..00000000000
--- a/pkgs/development/tools/node-webkit/nw9.nix
+++ /dev/null
@@ -1,57 +0,0 @@
-{ stdenv, fetchurl, buildEnv, makeWrapper
-, xorg, alsaLib, dbus, glib, gtk2, atk, pango, freetype, fontconfig
-, gdk_pixbuf, cairo, zlib, nss, nssTools, nspr, gconf, expat, systemd }:
-let
-  bits = if stdenv.system == "x86_64-linux" then "x64"
-         else "ia32";
-
-  nwEnv = buildEnv {
-    name = "node-webkit-env";
-    paths = [
-      xorg.libX11 xorg.libXrender glib gtk2 atk pango cairo gdk_pixbuf
-      freetype fontconfig xorg.libXcomposite alsaLib xorg.libXdamage
-      xorg.libXext xorg.libXfixes nss nspr gconf expat dbus stdenv.cc.cc
-      xorg.libXtst xorg.libXi
-    ];
-    
-    extraOutputsToInstall = [ "lib" "out" ];
-  };
-
-in stdenv.mkDerivation rec {
-  name = "node-webkit-${version}";
-  version = "0.9.2";
-
-  src = fetchurl {
-    url = "http://dl.node-webkit.org/v${version}/node-webkit-v${version}-linux-${bits}.tar.gz";
-    sha256 = if bits == "x64" then
-      "04b9hgrxxnvrzyc7kmlabvrfbzj9d6lif7z69zgsbn3x25nxxd2n" else
-      "0icwdl564sbx27124js1l4whfld0n6nbysdd522frzk1759dzgri";
-  };
-
-  installPhase = ''
-    mkdir -p $out/share/node-webkit
-    cp -R * $out/share/node-webkit
-
-    patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" $out/share/node-webkit/nw
-    patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" $out/share/node-webkit/nwsnapshot
-
-    ln -s ${systemd.lib}/lib/libudev.so $out/share/node-webkit/libudev.so.0
-
-    patchelf --set-rpath "${nwEnv}/lib:${nwEnv}/lib64:$out/share/node-webkit" $out/share/node-webkit/nw
-    patchelf --set-rpath "${nwEnv}/lib:${nwEnv}/lib64:$out/share/node-webkit" $out/share/node-webkit/nwsnapshot
-
-    mkdir -p $out/bin
-    ln -s $out/share/node-webkit/nw $out/bin
-    ln -s $out/share/node-webkit/nwsnapshot $out/bin
-  '';
-
-  buildInputs = [ makeWrapper ];
-
-  meta = with stdenv.lib; {
-    description = "An app runtime based on Chromium and node.js";
-    homepage = https://github.com/rogerwang/node-webkit;
-    platforms = ["i686-linux" "x86_64-linux"];
-    maintainers = [ maintainers.offline ];
-    license = licenses.bsd3;
-  };
-}
diff --git a/pkgs/development/tools/nwjs/default.nix b/pkgs/development/tools/nwjs/default.nix
new file mode 100644
index 00000000000..6a2995b2bbe
--- /dev/null
+++ b/pkgs/development/tools/nwjs/default.nix
@@ -0,0 +1,87 @@
+{ stdenv, fetchurl, buildEnv, makeWrapper
+
+, xorg, alsaLib, dbus, glib, gtk2, gtk3, atk, pango, freetype, fontconfig
+, gdk_pixbuf, cairo, zlib, nss, nssTools, nspr, gconf, expat, systemd, libcap
+, libnotify
+, ffmpeg, libxcb, libXScrnSaver, cups
+, sqlite, udev
+}:
+let
+  bits = if stdenv.system == "x86_64-linux" then "x64"
+         else "ia32";
+
+  nwEnv = buildEnv {
+    name = "nwjs-env";
+    paths = [
+      xorg.libX11 xorg.libXrender glib /*gtk2*/ gtk3 atk pango cairo gdk_pixbuf
+      freetype fontconfig xorg.libXcomposite alsaLib xorg.libXdamage
+      xorg.libXext xorg.libXfixes nss nspr gconf expat dbus
+      xorg.libXtst xorg.libXi xorg.libXcursor xorg.libXrandr
+      xorg.libXScrnSaver cups
+      libcap libnotify
+      # libnw-specific (not chromium dependencies)
+      ffmpeg libxcb
+      # chromium runtime deps (dlopen’d)
+      sqlite udev
+    ];
+
+    extraOutputsToInstall = [ "lib" "out" ];
+  };
+
+in stdenv.mkDerivation rec {
+  name = "nwjs-${version}";
+  version = "0.23.6";
+
+  src = fetchurl {
+    url = "http://dl.nwjs.io/v${version}/nwjs-v${version}-linux-${bits}.tar.gz";
+    sha256 = if bits == "x64" then
+      "0ppyjspdvacarhdn4xd5i1pqgmf4z1bxnh1cry780489h25rcjgj" else
+      "0c0j73vnzhsry5rdx41d954a29jmjnvzli728cfbjybfr51zdybg";
+  };
+
+  phases = [ "unpackPhase" "installPhase" ];
+
+  # we have runtime deps like sqlite3 that should remain
+  dontPatchELF = true;
+
+  installPhase =
+    let ccPath = stdenv.lib.makeLibraryPath [ stdenv.cc.cc ];
+    in ''
+      mkdir -p $out/share/nwjs
+      cp -R * $out/share/nwjs
+      find $out/share/nwjs
+
+      patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" $out/share/nwjs/nw
+
+      ln -s ${systemd.lib}/lib/libudev.so $out/share/nwjs/libudev.so.0
+
+      libpath="$out/share/nwjs/lib/"
+      for f in "$libpath"/*.so; do
+        patchelf --set-rpath "${nwEnv}/lib:${ccPath}:$libpath" "$f"
+      done
+      patchelf --set-rpath "${nwEnv}/lib:${nwEnv}/lib64:${ccPath}:$libpath" $out/share/nwjs/nw
+      # check, whether all RPATHs are correct (all dependencies found)
+      checkfile=$(mktemp)
+      for f in "$libpath"/*.so "$out/share/nwjs/nw"; do
+         (echo "$f:";
+          ldd "$f"  ) > "$checkfile"
+      done
+      if <"$checkfile" grep -e "not found"; then
+        cat "$checkfile"
+        exit 1
+      fi
+
+      mkdir -p $out/bin
+      ln -s $out/share/nwjs/nw $out/bin
+  '';
+
+  buildInputs = [ makeWrapper ];
+
+  meta = with stdenv.lib; {
+    description = "An app runtime based on Chromium and node.js";
+    homepage = http://nwjs.io/;
+    platforms = ["i686-linux" "x86_64-linux"];
+    maintainers = [ maintainers.offline ];
+    license = licenses.bsd3;
+  };
+}
diff --git a/pkgs/development/tools/ocaml/findlib/default.nix b/pkgs/development/tools/ocaml/findlib/default.nix
index 186b78ce3f3..e25b94714b6 100644
--- a/pkgs/development/tools/ocaml/findlib/default.nix
+++ b/pkgs/development/tools/ocaml/findlib/default.nix
@@ -1,17 +1,33 @@
-{stdenv, fetchurl, m4, ncurses, ocaml, writeText}:
+{ stdenv, fetchurl, fetchpatch, m4, ncurses, ocaml, writeText }:
+
+let param =
+  if stdenv.lib.versionAtLeast ocaml.version "4"
+  then {
+    version = "1.8.0";
+    sha256 = "1b97zqjdriqd2ikgh4rmqajgxwdwn013riji5j53y3xvcmnpsyrb";
+  } else {
+    version = "1.7.3";
+    sha256 = "12xx8si1qv3xz90qsrpazjjk4lc1989fzm97rsmc4diwla7n15ni";
+    patches = [ (fetchpatch {
+      url = "https://raw.githubusercontent.com/ocaml/opam-repository/1f29c5ef8eccd373e5ff2169a30bfd95a9ae6050/packages/ocamlfind/ocamlfind.1.7.3-1/files/threads.patch";
+      sha256 = "0cqgpjqpmfbr0ph3jr25gw8hgckj4qlfwmir6vkgi5hvn2qnjpx3";
+    }) ];
+  };
+in
 
 stdenv.mkDerivation rec {
   name = "ocaml-findlib-${version}";
-  version = "1.7.3";
+  inherit (param) version;
 
   src = fetchurl {
     url = "http://download.camlcity.org/download/findlib-${version}.tar.gz";
-    sha256 = "12xx8si1qv3xz90qsrpazjjk4lc1989fzm97rsmc4diwla7n15ni";
+    inherit (param) sha256;
   };
 
   buildInputs = [m4 ncurses ocaml];
 
-  patches = [ ./ldconf.patch ./install_topfind.patch ];
+  patches = [ ./ldconf.patch ./install_topfind.patch ]
+  ++ (param.patches or []);
 
   dontAddPrefix=true;
 
@@ -34,6 +50,9 @@ stdenv.mkDerivation rec {
         if test -d "''$1/lib/ocaml/${ocaml.version}/site-lib"; then
             export OCAMLPATH="''${OCAMLPATH}''${OCAMLPATH:+:}''$1/lib/ocaml/${ocaml.version}/site-lib/"
         fi
+        if test -d "''$1/lib/ocaml/${ocaml.version}/site-lib/stubslibs"; then
+            export CAML_LD_LIBRARY_PATH="''${CAML_LD_LIBRARY_PATH}''${CAML_LD_LIBRARY_PATH:+:}''$1/lib/ocaml/${ocaml.version}/site-lib/stubslibs"
+        fi
         export OCAMLFIND_DESTDIR="''$out/lib/ocaml/${ocaml.version}/site-lib/"
         if test -n "$createFindlibDestdir"; then
           mkdir -p $OCAMLFIND_DESTDIR
diff --git a/pkgs/development/tools/ocaml/jbuilder/default.nix b/pkgs/development/tools/ocaml/jbuilder/default.nix
index d48bc410111..38fd4323d5c 100644
--- a/pkgs/development/tools/ocaml/jbuilder/default.nix
+++ b/pkgs/development/tools/ocaml/jbuilder/default.nix
@@ -2,16 +2,18 @@
 
 stdenv.mkDerivation rec {
   name = "jbuilder-${version}";
-  version = "1.0+beta17";
+  version = "1.0+beta20";
   src = fetchFromGitHub {
     owner = "ocaml";
     repo = "dune";
     rev = "${version}";
-    sha256 = "04pyry459hp2r2s9m5xkcq1glzp20ddz5wb1w8nzp3zgygy0431x";
+    sha256 = "0571lzm8caq6wnia7imgy4a27x5l2bvxiflg0jrwwml0ylnii65f";
   };
 
   buildInputs = [ ocaml ];
 
+  dontAddPrefix = true;
+
   installPhase = "${opam}/bin/opam-installer -i --prefix=$out --libdir=$OCAMLFIND_DESTDIR";
 
   preFixup = "rm -rf $out/jbuilder";
diff --git a/pkgs/development/tools/ocaml/js_of_ocaml/camlp4.nix b/pkgs/development/tools/ocaml/js_of_ocaml/camlp4.nix
index b3a37e3f760..3caeabaae78 100644
--- a/pkgs/development/tools/ocaml/js_of_ocaml/camlp4.nix
+++ b/pkgs/development/tools/ocaml/js_of_ocaml/camlp4.nix
@@ -1,5 +1,5 @@
 { stdenv, ocaml, findlib, jbuilder, js_of_ocaml-compiler
-, camlp4
+, camlp4, ocsigen_deriving
 }:
 
 stdenv.mkDerivation rec {
@@ -7,7 +7,7 @@ stdenv.mkDerivation rec {
 
 	inherit (js_of_ocaml-compiler) version src installPhase meta;
 
-	buildInputs = [ ocaml findlib jbuilder camlp4 ];
+	buildInputs = [ ocaml findlib jbuilder camlp4 ocsigen_deriving ];
 
 	buildPhase = "jbuilder build -p js_of_ocaml-camlp4";
 }
diff --git a/pkgs/development/tools/ocaml/js_of_ocaml/compiler.nix b/pkgs/development/tools/ocaml/js_of_ocaml/compiler.nix
index 11df26818c1..6d269552f62 100644
--- a/pkgs/development/tools/ocaml/js_of_ocaml/compiler.nix
+++ b/pkgs/development/tools/ocaml/js_of_ocaml/compiler.nix
@@ -8,13 +8,13 @@ else
 
 stdenv.mkDerivation rec {
 	name = "js_of_ocaml-compiler-${version}";
-	version = "3.0.0";
+	version = "3.1.0";
 
 	src = fetchFromGitHub {
 		owner = "ocsigen";
 		repo = "js_of_ocaml";
 		rev = version;
-		sha256 = "17w1pqjk521jd4yp34miyif0cxjxchnw59xhj188qfl635ykb4k8";
+		sha256 = "17a0kb39bcx2qq41cq7kjrxghm67l1yahrs47yakgb1avna0pqd9";
 	};
 
 	buildInputs = [ ocaml findlib jbuilder cmdliner cppo ];
diff --git a/pkgs/development/tools/ocaml/js_of_ocaml/lwt.nix b/pkgs/development/tools/ocaml/js_of_ocaml/lwt.nix
new file mode 100644
index 00000000000..31a5c3ea17b
--- /dev/null
+++ b/pkgs/development/tools/ocaml/js_of_ocaml/lwt.nix
@@ -0,0 +1,16 @@
+{ stdenv, ocaml, findlib, jbuilder, js_of_ocaml-compiler, js_of_ocaml-ppx
+, ocaml-migrate-parsetree, ppx_tools_versioned
+, js_of_ocaml, ocaml_lwt
+}:
+
+stdenv.mkDerivation rec {
+	name = "js_of_ocaml-lwt-${version}"; 
+
+	inherit (js_of_ocaml-compiler) version src installPhase meta;
+
+	buildInputs = [ ocaml findlib jbuilder js_of_ocaml-ppx ocaml-migrate-parsetree ppx_tools_versioned ];
+
+	propagatedBuildInputs = [ js_of_ocaml ocaml_lwt ];
+
+	buildPhase = "jbuilder build -p js_of_ocaml-lwt";
+}
diff --git a/pkgs/development/tools/ocaml/js_of_ocaml/ppx_deriving_json.nix b/pkgs/development/tools/ocaml/js_of_ocaml/ppx_deriving_json.nix
new file mode 100644
index 00000000000..8f32887c5bf
--- /dev/null
+++ b/pkgs/development/tools/ocaml/js_of_ocaml/ppx_deriving_json.nix
@@ -0,0 +1,15 @@
+{ stdenv, ocaml, findlib, jbuilder, js_of_ocaml-compiler
+, js_of_ocaml, ppx_deriving
+}:
+
+stdenv.mkDerivation rec {
+	name = "js_of_ocaml-ppx_deriving_json-${version}";
+
+	inherit (js_of_ocaml-compiler) version src installPhase meta;
+
+	buildInputs = [ ocaml findlib jbuilder ];
+
+	propagatedBuildInputs = [ js_of_ocaml ppx_deriving ];
+
+	buildPhase = "jbuilder build -p js_of_ocaml-ppx_deriving_json";
+}
diff --git a/pkgs/development/tools/ocaml/js_of_ocaml/tyxml.nix b/pkgs/development/tools/ocaml/js_of_ocaml/tyxml.nix
new file mode 100644
index 00000000000..041fd71f92f
--- /dev/null
+++ b/pkgs/development/tools/ocaml/js_of_ocaml/tyxml.nix
@@ -0,0 +1,16 @@
+{ stdenv, ocaml, findlib, jbuilder, js_of_ocaml-compiler
+, js_of_ocaml-ppx, ocaml-migrate-parsetree, ppx_tools_versioned
+, js_of_ocaml, reactivedata, tyxml
+}:
+
+stdenv.mkDerivation rec {
+	name = "js_of_ocaml-tyxml-${version}";
+
+	inherit (js_of_ocaml-compiler) version src installPhase meta;
+
+	buildInputs = [ ocaml findlib jbuilder js_of_ocaml-ppx ocaml-migrate-parsetree ppx_tools_versioned ];
+
+	propagatedBuildInputs = [ js_of_ocaml reactivedata tyxml ];
+
+	buildPhase = "jbuilder build -p js_of_ocaml-tyxml";
+}
diff --git a/pkgs/development/tools/ocaml/ocamlbuild/default.nix b/pkgs/development/tools/ocaml/ocamlbuild/default.nix
index b6e439e4e17..3f42e71e778 100644
--- a/pkgs/development/tools/ocaml/ocamlbuild/default.nix
+++ b/pkgs/development/tools/ocaml/ocamlbuild/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchFromGitHub, ocaml, findlib }:
 let
-  version = "0.11.0";
+  version = "0.12.0";
 in
 stdenv.mkDerivation {
   name = "ocamlbuild-${version}";
@@ -10,7 +10,7 @@ stdenv.mkDerivation {
     owner = "ocaml";
     repo = "ocamlbuild";
     rev = version;
-    sha256 = "0c8lv15ngmrc471jmkv0jp3d573chibwnjlavps047d9hd8gwxak";
+    sha256 = "1shyim50ms0816fphc4mk0kldcx3pnba2i6m10q0cbm18m9d7chq";
   };
 
   createFindlibDestdir = true;
diff --git a/pkgs/development/tools/ocaml/ocamlify/default.nix b/pkgs/development/tools/ocaml/ocamlify/default.nix
index 2876464ab50..df480903d15 100644
--- a/pkgs/development/tools/ocaml/ocamlify/default.nix
+++ b/pkgs/development/tools/ocaml/ocamlify/default.nix
@@ -10,9 +10,16 @@ stdenv.mkDerivation {
 
   buildInputs = [ ocaml findlib ocamlbuild ];
 
-  configurePhase = "ocaml setup.ml -configure --prefix $out";
-  buildPhase     = "ocaml setup.ml -build";
-  installPhase   = "ocaml setup.ml -install";
+  configurePhase = ''
+    substituteInPlace src/ocamlify.ml --replace 'OCamlifyConfig.version' '"0.0.2"'
+  '';
+
+  buildPhase = "ocamlbuild src/ocamlify.native";
+
+  installPhase = ''
+    mkdir -p $out/bin
+    mv _build/src/ocamlify.native $out/bin/ocamlify
+  '';
 
   dontStrip = true;
 
diff --git a/pkgs/development/tools/ocaml/opam/default.nix b/pkgs/development/tools/ocaml/opam/default.nix
index 63f79981e1b..469e97e19de 100644
--- a/pkgs/development/tools/ocaml/opam/default.nix
+++ b/pkgs/development/tools/ocaml/opam/default.nix
@@ -47,7 +47,7 @@ in stdenv.mkDerivation rec {
   name = "opam-${version}";
   version = "1.2.2";
 
-  buildInputs = [ unzip curl ncurses ocaml makeWrapper];
+  buildInputs = [ unzip curl ncurses ocaml makeWrapper ];
 
   src = srcs.opam;
 
@@ -73,7 +73,7 @@ in stdenv.mkDerivation rec {
 
   postInstall = ''
     wrapProgram $out/bin/opam \
-      --suffix PATH : ${aspcud}/bin
+      --suffix PATH : ${aspcud}/bin:${unzip}/bin:${curl}/bin
   '';
 
   doCheck = false;
diff --git a/pkgs/development/tools/parsing/antlr/2.7.7.nix b/pkgs/development/tools/parsing/antlr/2.7.7.nix
index 23141185f68..017ef20e81c 100644
--- a/pkgs/development/tools/parsing/antlr/2.7.7.nix
+++ b/pkgs/development/tools/parsing/antlr/2.7.7.nix
@@ -19,6 +19,6 @@ stdenv.mkDerivation {
       walk parse trees.
     '';
     homepage = http://www.antlr.org/;
-    platforms = platforms.linux;
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/tools/parsing/antlr/4.7.nix b/pkgs/development/tools/parsing/antlr/4.7.nix
index 41b079bbd23..f58d0f9904a 100644
--- a/pkgs/development/tools/parsing/antlr/4.7.nix
+++ b/pkgs/development/tools/parsing/antlr/4.7.nix
@@ -2,10 +2,10 @@
 
 stdenv.mkDerivation rec {
   name = "antlr-${version}";
-  version = "4.7";
+  version = "4.7.1";
   src = fetchurl {
     url ="http://www.antlr.org/download/antlr-${version}-complete.jar";
-    sha256 = "0r08ay63s5aajix5j8j7lf7j7l7wiwdkr112b66nyhkj5f6c72yd";
+    sha256 = "1236gwnzchama92apb2swmklnypj01m7bdwwfvwvl8ym85scw7gl";
   };
 
   unpackPhase = "true";
diff --git a/pkgs/development/tools/parsing/bison/3.x.nix b/pkgs/development/tools/parsing/bison/3.x.nix
index 2b0c14ea832..9c75e93bb1c 100644
--- a/pkgs/development/tools/parsing/bison/3.x.nix
+++ b/pkgs/development/tools/parsing/bison/3.x.nix
@@ -13,6 +13,9 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ m4 perl ] ++ stdenv.lib.optional stdenv.isSunOS help2man;
   propagatedBuildInputs = [ m4 ];
 
+  doCheck = false; # fails
+  doInstallCheck = false; # fails
+
   meta = {
     homepage = http://www.gnu.org/software/bison/;
     description = "Yacc-compatible parser generator";
diff --git a/pkgs/development/tools/parsing/byacc/default.nix b/pkgs/development/tools/parsing/byacc/default.nix
index 612196cba77..2f8c97ff271 100644
--- a/pkgs/development/tools/parsing/byacc/default.nix
+++ b/pkgs/development/tools/parsing/byacc/default.nix
@@ -2,14 +2,14 @@
 
 stdenv.mkDerivation rec {
   name = "byacc-${version}";
-  version = "20170709";
+  version = "20180510";
 
   src = fetchurl {
     urls = [
       "ftp://ftp.invisible-island.net/byacc/${name}.tgz"
       "https://invisible-mirror.net/archives/byacc/${name}.tgz"
     ];
-    sha256 = "1syrg1nwh2qmlr5mh7c4vz9psdv4gf55h8i5ffw84q6whlcq1kr7";
+    sha256 = "14ynlrcsc2hwny3gxng19blfvglhqd4m7hl597fwksf7zfzhv56h";
   };
 
   doCheck = true;
diff --git a/pkgs/development/tools/parsing/jshon/default.nix b/pkgs/development/tools/parsing/jshon/default.nix
index 5406b4e9a0e..359daad2d51 100644
--- a/pkgs/development/tools/parsing/jshon/default.nix
+++ b/pkgs/development/tools/parsing/jshon/default.nix
@@ -1,10 +1,10 @@
 { stdenv, lib, fetchFromGitHub, fetchpatch, jansson }:
 
 stdenv.mkDerivation rec {
-  name = "jshon-20140712";
+  name = "jshon-20160111.2";
 
   rev = "a61d7f2f85f4627bc3facdf951746f0fd62334b7";
-  sha256 = "b0365e58553b9613a5636545c5bfd4ad05ab5024f192e1cb1d1824bae4e1a380";
+  sha256 = "1053w7jbl90q3p5y34pi4i8an1ddsjzwaib5cfji75ivamc5wdmh";
 
   src = fetchFromGitHub {
     inherit rev sha256;
diff --git a/pkgs/development/tools/parsing/peg/default.nix b/pkgs/development/tools/parsing/peg/default.nix
index 1706b5448e1..3a273e1ddbf 100644
--- a/pkgs/development/tools/parsing/peg/default.nix
+++ b/pkgs/development/tools/parsing/peg/default.nix
@@ -1,20 +1,15 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "peg-0.1.4";
+  name = "peg-0.1.18";
 
   src = fetchurl {
     url = "${meta.homepage}/${name}.tar.gz";
-    sha256 = "01agf4fbqv0r1xyqvj0va8kcrh3f2ka59f1aqvzfrabn7n5p8ik4";
+    sha256 = "114h1y4k8fwcq9m0hfk33dsp7ah8zxzjjzlk71x4iirzczfkn690";
   };
 
   preBuild="makeFlagsArray+=( PREFIX=$out )";
 
-  preInstall=''
-    mkdir -pv $out/bin $out/share/man/man1
-    cp -pv *.1 $out/share/man/man1
-  '';
-
   meta = {
     homepage = http://piumarta.com/software/peg/;
     platforms = stdenv.lib.platforms.all;
diff --git a/pkgs/development/tools/parsing/ragel/default.nix b/pkgs/development/tools/parsing/ragel/default.nix
index 66895fb7fd3..6b497e45630 100644
--- a/pkgs/development/tools/parsing/ragel/default.nix
+++ b/pkgs/development/tools/parsing/ragel/default.nix
@@ -20,7 +20,7 @@ let
 
       configureFlags = [ "--with-colm=${colm}" ];
 
-      NIX_CFLAGS_COMPILE = "-std=gnu++98";
+      NIX_CFLAGS_COMPILE = stdenv.lib.optional stdenv.cc.isGNU "-std=gnu++98";
 
       doCheck = true;
 
diff --git a/pkgs/development/tools/parsing/re2c/default.nix b/pkgs/development/tools/parsing/re2c/default.nix
index dcf89d1604d..da1bcced32e 100644
--- a/pkgs/development/tools/parsing/re2c/default.nix
+++ b/pkgs/development/tools/parsing/re2c/default.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   name = "re2c-${version}";
-  version = "0.16";
+  version = "1.0.3";
 
   sourceRoot = "${src.name}/re2c";
 
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
     owner  = "skvadrik";
     repo   = "re2c";
     rev    = version;
-    sha256 = "0cijgmbyx34nwl2jmsswggkgvzy364871rkbxz8biq9x8xrhhjw5";
+    sha256 = "0grx7nl9fwcn880v5ssjljhcb9c5p2a6xpwil7zxpmv0rwnr3yqi";
   };
 
   nativeBuildInputs = [ autoreconfHook ];
diff --git a/pkgs/development/tools/pew/default.nix b/pkgs/development/tools/pew/default.nix
index 6eb3e88a0d1..73046165b1a 100644
--- a/pkgs/development/tools/pew/default.nix
+++ b/pkgs/development/tools/pew/default.nix
@@ -29,4 +29,4 @@ with python3Packages; buildPythonApplication rec {
       platforms = platforms.all;
       maintainers = with maintainers; [ berdario ];
     };
-  }
\ No newline at end of file
+  }
diff --git a/pkgs/development/tools/phantomjs/default.nix b/pkgs/development/tools/phantomjs/default.nix
index 8b6b655b6a5..51a83760be3 100644
--- a/pkgs/development/tools/phantomjs/default.nix
+++ b/pkgs/development/tools/phantomjs/default.nix
@@ -3,7 +3,6 @@
 let
   platforms = [ "i686-linux" "x86_64-linux" "x86_64-darwin" ];
 in
-assert lib.elem stdenv.system platforms;
 
 stdenv.mkDerivation rec {
   name = "phantomjs-1.9.8";
diff --git a/pkgs/development/tools/pipenv/default.nix b/pkgs/development/tools/pipenv/default.nix
index de2e6eb96a8..153c0f76a40 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 = "10.1.0";
+    version = "11.9.0";
 
     src = fetchPypi {
       inherit pname version;
-      sha256 = "3732350e3cd8cc033d66748c418bab4b018dc0a4fcf1687f17a103ac44eac0c6";
+      sha256 = "7b3c52fb57e17ca61b6141b75c8f5ba61a95c713ca470754240f7f1dbd0a4968";
     };
 
     LC_ALL = "en_US.UTF-8";
diff --git a/pkgs/development/qtcreator/default.nix b/pkgs/development/tools/qtcreator/default.nix
index de94b7a8eff..de94b7a8eff 100644
--- a/pkgs/development/qtcreator/default.nix
+++ b/pkgs/development/tools/qtcreator/default.nix
diff --git a/pkgs/development/tools/react-native-debugger/default.nix b/pkgs/development/tools/react-native-debugger/default.nix
new file mode 100644
index 00000000000..5e88384c58d
--- /dev/null
+++ b/pkgs/development/tools/react-native-debugger/default.nix
@@ -0,0 +1,83 @@
+{ stdenv, fetchurl, unzip, cairo, xorg, gdk_pixbuf, fontconfig, pango, gnome2, atk, gtk2, glib
+, freetype, dbus, nss, nspr, alsaLib, cups, expat, libudev, makeDesktopItem
+}:
+
+let
+  rpath = stdenv.lib.makeLibraryPath [
+    cairo
+    stdenv.cc.cc
+    gdk_pixbuf
+    fontconfig
+    pango
+    atk
+    gtk2
+    glib
+    freetype
+    dbus
+    nss
+    nspr
+    alsaLib
+    cups
+    expat
+    libudev
+
+    gnome2.GConf
+
+    xorg.libX11
+    xorg.libXcursor
+    xorg.libXtst
+    xorg.libxcb
+    xorg.libXext
+    xorg.libXi
+    xorg.libXdamage
+    xorg.libXrandr
+    xorg.libXcomposite
+    xorg.libXfixes
+    xorg.libXrender
+    xorg.libXScrnSaver
+  ];
+in stdenv.mkDerivation rec {
+  name = "react-native-debugger-${version}";
+  version = "0.7.18";
+
+  src = fetchurl {
+    url = "https://github.com/jhen0409/react-native-debugger/releases/download/v${version}/rn-debugger-linux-x64.zip";
+    sha256 = "186n438sy9wzrx2zdw4qq4hsz89wiy01bpfa6fdjisvxgz6r8sgw";
+  };
+
+  buildInputs = [ unzip ];
+  buildCommand = ''
+    shopt -s extglob
+    mkdir -p $out
+    unzip $src -d $out
+
+    mkdir $out/{lib,bin,share}
+    mv $out/lib{node,ffmpeg}.so $out/lib
+    mv $out/!(lib|share|bin) $out/share
+
+    patchelf \
+      --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) \
+      --set-rpath ${rpath}:$out/lib \
+      $out/share/React\ Native\ Debugger
+
+    ln -s $out/share/React\ Native\ Debugger $out/bin/React\ Native\ Debugger
+
+    install -Dm644 "${desktopItem}/share/applications/"* \
+      -t $out/share/applications/
+  '';
+
+  desktopItem = makeDesktopItem {
+    name = "rndebugger";
+    exec = "React\\ Native\\ Debugger";
+    desktopName = "React Native Debugger";
+    genericName = "React Native Debugger";
+    categories = "Development;Tools;";
+  };
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/jhen0409/react-native-debugger;
+    license = licenses.mit;
+    description = "The standalone app based on official debugger of React Native, and includes React Inspector / Redux DevTools";
+    maintainers = with maintainers; [ ma27 ];
+  };
+}
diff --git a/pkgs/development/tools/remarshal/default.nix b/pkgs/development/tools/remarshal/default.nix
index baba4fd75ea..79cca444a1e 100644
--- a/pkgs/development/tools/remarshal/default.nix
+++ b/pkgs/development/tools/remarshal/default.nix
@@ -1,20 +1,18 @@
-{ stdenv, pythonPackages, fetchFromGitHub }:
+{ stdenv, python3Packages, fetchFromGitHub }:
 
-pythonPackages.buildPythonApplication rec {
-  name = "remarshal-${version}";
-  version = "0.7.0";
+python3Packages.buildPythonApplication rec {
+  pname = "remarshal";
+  version = "0.8.0";
 
   src = fetchFromGitHub {
     owner  = "dbohdan";
     repo   = "remarshal";
     rev    = "v${version}";
-    sha256 = "1wsgvzfp40lvly7nyyhv9prip4vi32rfc8kdji587jpw28zc1dfb";
+    sha256 = "192r1mfd5yj6kg6fqmkjngdlgn25g5rkvm0p6xaflpvavnhvhnsj";
   };
 
-  propagatedBuildInputs = with pythonPackages; [
-    dateutil
-    pytoml
-    pyyaml
+  propagatedBuildInputs = with python3Packages; [
+    dateutil pytoml pyyaml
   ];
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/tools/rubocop/Gemfile.lock b/pkgs/development/tools/rubocop/Gemfile.lock
index abc782465cc..d6185d79f1d 100644
--- a/pkgs/development/tools/rubocop/Gemfile.lock
+++ b/pkgs/development/tools/rubocop/Gemfile.lock
@@ -1,20 +1,22 @@
 GEM
   remote: https://rubygems.org/
   specs:
-    ast (2.3.0)
-    parser (2.3.3.1)
-      ast (~> 2.2)
+    ast (2.4.0)
+    parallel (1.12.1)
+    parser (2.5.1.0)
+      ast (~> 2.4.0)
     powerpack (0.1.1)
-    rainbow (2.2.1)
-    rake (12.0.0)
-    rubocop (0.47.0)
-      parser (>= 2.3.3.1, < 3.0)
+    rainbow (3.0.0)
+    rake (12.3.1)
+    rubocop (0.55.0)
+      parallel (~> 1.10)
+      parser (>= 2.5)
       powerpack (~> 0.1)
-      rainbow (>= 1.99.1, < 3.0)
+      rainbow (>= 2.2.2, < 4.0)
       ruby-progressbar (~> 1.7)
       unicode-display_width (~> 1.0, >= 1.0.1)
-    ruby-progressbar (1.8.1)
-    unicode-display_width (1.1.3)
+    ruby-progressbar (1.9.0)
+    unicode-display_width (1.3.2)
 
 PLATFORMS
   ruby
@@ -24,4 +26,4 @@ DEPENDENCIES
   rubocop
 
 BUNDLED WITH
-   1.13.7
+   1.14.6
diff --git a/pkgs/development/tools/rubocop/gemset.nix b/pkgs/development/tools/rubocop/gemset.nix
index 908b5b76dd3..a2585a6e4f6 100644
--- a/pkgs/development/tools/rubocop/gemset.nix
+++ b/pkgs/development/tools/rubocop/gemset.nix
@@ -2,19 +2,27 @@
   ast = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0pp82blr5fakdk27d1d21xq9zchzb6vmyb1zcsl520s3ygvprn8m";
+      sha256 = "184ssy3w93nkajlz2c70ifm79jp3j737294kbc5fjw69v1w0n9x7";
       type = "gem";
     };
-    version = "2.3.0";
+    version = "2.4.0";
+  };
+  parallel = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "01hj8v1qnyl5ndrs33g8ld8ibk0rbcqdpkpznr04gkbxd11pqn67";
+      type = "gem";
+    };
+    version = "1.12.1";
   };
   parser = {
     dependencies = ["ast"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1nply96nqrkgx8d3jay31sfy5p4q74dg8ymln0mdazxx5cz2n8bq";
+      sha256 = "1af7aa1c2npi8dkshgm3f8qyacabm94ckrdz7b8vd3f8zzswqzp9";
       type = "gem";
     };
-    version = "2.3.3.1";
+    version = "2.5.1.0";
   };
   powerpack = {
     source = {
@@ -25,45 +33,44 @@
     version = "0.1.1";
   };
   rainbow = {
-    dependencies = ["rake"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0frz90gyi5k26jx3ham1x661hpkxf82rkxb85nakcz70dna7i8ri";
+      sha256 = "0bb2fpjspydr6x0s8pn1pqkzmxszvkfapv0p4627mywl7ky4zkhk";
       type = "gem";
     };
-    version = "2.2.1";
+    version = "3.0.0";
   };
   rake = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "01j8fc9bqjnrsxbppncai05h43315vmz9fwg28qdsgcjw9ck1d7n";
+      sha256 = "1idi53jay34ba9j68c3mfr9wwkg3cd9qh0fn9cg42hv72c6q8dyg";
       type = "gem";
     };
-    version = "12.0.0";
+    version = "12.3.1";
   };
   rubocop = {
-    dependencies = ["parser" "powerpack" "rainbow" "ruby-progressbar" "unicode-display_width"];
+    dependencies = ["parallel" "parser" "powerpack" "rainbow" "ruby-progressbar" "unicode-display_width"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1lsv3zbjl14nqyqqvcwciz15nq76l7vg97nydrdsrxs2bc5jrlsm";
+      sha256 = "17qnk66q4diny1bvzbwsl1d5a26nj0mjzc2425h6nyp3xqjipz11";
       type = "gem";
     };
-    version = "0.47.0";
+    version = "0.55.0";
   };
   ruby-progressbar = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1qzc7s7r21bd7ah06kskajc2bjzkr9y0v5q48y0xwh2l55axgplm";
+      sha256 = "1igh1xivf5h5g3y5m9b4i4j2mhz2r43kngh4ww3q1r80ch21nbfk";
       type = "gem";
     };
-    version = "1.8.1";
+    version = "1.9.0";
   };
   unicode-display_width = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1r28mxyi0zwby24wyn1szj5hcnv67066wkv14wyzsc94bf04fqhx";
+      sha256 = "0x31fgv1acywbb50prp7y4fr677c2d9gsl6wxmfcrlxbwz7nxn5n";
       type = "gem";
     };
-    version = "1.1.3";
+    version = "1.3.2";
   };
-}
+}
\ No newline at end of file
diff --git a/pkgs/development/tools/rust/bindgen/default.nix b/pkgs/development/tools/rust/bindgen/default.nix
index 73e64c83696..36fa1019705 100644
--- a/pkgs/development/tools/rust/bindgen/default.nix
+++ b/pkgs/development/tools/rust/bindgen/default.nix
@@ -4,27 +4,27 @@
 
 rustPlatform.buildRustPackage rec {
   name = "rust-bindgen-${version}";
-  version = "0.32.1";
+  version = "0.36.1";
 
   src = fetchFromGitHub {
     owner = "rust-lang-nursery";
     repo = "rust-bindgen";
-    rev = version;
-    sha256 = "15m1y468c7ixzxwx29wazag0i19a3bmzjp53np6b62sf9wfzbsfa";
+    rev = "v${version}";
+    sha256 = "0y99dvkbkd4vhac26dmc3bwf6z2m85p2il7mndvv8liam012pkbz";
   };
 
   nativeBuildInputs = [ makeWrapper ];
-  buildInputs = [ llvmPackages.clang-unwrapped ];
+  buildInputs = [ llvmPackages.clang-unwrapped.lib ];
 
   configurePhase = ''
-    export LIBCLANG_PATH="${llvmPackages.clang-unwrapped}/lib"
+    export LIBCLANG_PATH="${llvmPackages.clang-unwrapped.lib}/lib"
   '';
 
   postInstall = ''
-    wrapProgram $out/bin/bindgen --set LIBCLANG_PATH "${llvmPackages.clang-unwrapped}/lib"
+    wrapProgram $out/bin/bindgen --set LIBCLANG_PATH "${llvmPackages.clang-unwrapped.lib}/lib"
   '';
 
-  cargoSha256 = "01h0y5phdv3ab8mk2yxw8lgg9783pjjnjl4087iddqhqanlv600d";
+  cargoSha256 = "0b8v6c7q1abibzygrigldpd31lyd5ngmj4vq5d7zni96m20mm85w";
 
   doCheck = false; # A test fails because it can't find standard headers in NixOS
 
diff --git a/pkgs/development/tools/rust/cargo-fuzz/default.nix b/pkgs/development/tools/rust/cargo-fuzz/default.nix
new file mode 100644
index 00000000000..cc5d90b223d
--- /dev/null
+++ b/pkgs/development/tools/rust/cargo-fuzz/default.nix
@@ -0,0 +1,35 @@
+{ stdenv, fetchFromGitHub, fetchurl, runCommand, rustPlatform }:
+
+rustPlatform.buildRustPackage rec {
+  name = "cargo-fuzz-${version}";
+  version = "0.5.3"; # Note to self: on 0.5.4, remove the hand-added Cargo.lock
+
+  src =
+    let
+      source = fetchFromGitHub {
+        owner = "rust-fuzz";
+        repo = "cargo-fuzz";
+        rev = version;
+        sha256 = "1l452fnjw7i10nrd4y4rssi5d457vgjp6rhdr9cnq32bjhdkprrs";
+      };
+      cargo-lock = fetchurl {
+        url = "https://gist.githubusercontent.com/Ekleog/7d5b62d13b7207aafa4c37d1bbdf2de7/raw/c6027fc1c531947f4d6836a3c4cba1b3e24df24c/Cargo.lock";
+        sha256 = "0d7b6kxfbfvwksybzrihylamg2zv5fmsk9m6xshryhwipskzzvmd";
+      };
+    in
+    runCommand "cargo-fuzz-src" {} ''
+      cp -R ${source} $out
+      chmod +w $out
+      cp ${cargo-lock} $out/Cargo.lock
+    '';
+
+  cargoSha256 = "0ajm8qp8hi7kn7199ywv26cmjv13phxv72lz8kcq97hxg17x0dkk";
+
+  meta = with stdenv.lib; {
+    description = "Command line helpers for fuzzing";
+    homepage = https://github.com/rust-fuzz/cargo-fuzz;
+    license = with licenses; [ mit asl20 ];
+    maintainers = [ maintainers.ekleog ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/development/tools/sassc/default.nix b/pkgs/development/tools/sassc/default.nix
index 326fa84f472..5598dc1606d 100644
--- a/pkgs/development/tools/sassc/default.nix
+++ b/pkgs/development/tools/sassc/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "sassc-${version}";
-  version = "3.4.8";
+  version = "3.5.0";
 
   src = fetchurl {
     url = "https://github.com/sass/sassc/archive/${version}.tar.gz";
-    sha256 = "02lnibrl6zgczkhvz01bdp0d2b0rbl69dfv5mdnbr4l8km7sa7b1";
+    sha256 = "0hl0j4ky13fzcv2y7w352gaq8fjmypwgazf7ddqdv0sbj8qlxx96";
   };
 
   patchPhase = ''
diff --git a/pkgs/development/tools/sauce-connect/default.nix b/pkgs/development/tools/sauce-connect/default.nix
index 3caec9a75c1..fe32f7c2450 100644
--- a/pkgs/development/tools/sauce-connect/default.nix
+++ b/pkgs/development/tools/sauce-connect/default.nix
@@ -4,18 +4,18 @@ with lib;
 
 stdenv.mkDerivation rec {
   name = "sauce-connect-${version}";
-  version = "4.4.8";
+  version = "4.4.12";
 
   src = fetchurl (
     if stdenv.system == "x86_64-linux" then {
       url = "https://saucelabs.com/downloads/sc-${version}-linux.tar.gz";
-      sha256 = "1y6jmz0kdaz1fq9sirwxznzw52if6ypd0dp9mk7dkpipy0bx7pz6";
+      sha256 = "1yqvx64bgiq27hdhwkzgmzyib8pbjn1idpq6783srxq64asf6iyw";
     } else if stdenv.system == "i686-linux" then {
       url = "https://saucelabs.com/downloads/sc-${version}-linux32.tar.gz";
-      sha256 = "13nd2g1z4nvc3fa30xr3jnkqcy3fv4751s7ws4l93p7x6nc4aw1n";
+      sha256 = "02kib56lv4lhwkj5r15484lvvbyjvf9ydi5vccsmxgsxrzmddnl6";
     } else {
       url = "https://saucelabs.com/downloads/sc-${version}-osx.zip";
-      sha256 = "0f8kcx7qd6bqbd74y6n83lb52zban9k631qkv1vyddvs9pjsxmpg";
+      sha256 = "1gqsbw9f6nachk3c86knbqq417smqyf19mi63fmrfxrbxzy2fkv2";
     }
   );
 
diff --git a/pkgs/development/tools/selenium/chromedriver/default.nix b/pkgs/development/tools/selenium/chromedriver/default.nix
index 554a5585f15..d865a20fbb9 100644
--- a/pkgs/development/tools/selenium/chromedriver/default.nix
+++ b/pkgs/development/tools/selenium/chromedriver/default.nix
@@ -6,12 +6,12 @@ let
   allSpecs = {
     "x86_64-linux" = {
       system = "linux64";
-      sha256 = "13iyz6579yw4fk9dr4nf2pdj55v1iflj8yf9a4zz7qw5996d5yk7";
+      sha256 = "1h7avlns00hd44ayi53lvdj2l85h9higky0jk7bad07hm39nagks";
     };
 
     "x86_64-darwin" = {
       system = "mac64";
-      sha256 = "11xa31bxhrq0p7kd3j76dihp73abdbmbwdng5454m1wir6yj25f1";
+      sha256 = "11hs4mmlvxjaanq41h0dljj4sff0lfwk31svvdmzfg91idlikpsz";
     };
   };
 
@@ -28,7 +28,7 @@ let
 in
 stdenv.mkDerivation rec {
   name = "chromedriver-${version}";
-  version = "2.35";
+  version = "2.38";
 
   src = fetchurl {
     url = "http://chromedriver.storage.googleapis.com/${version}/chromedriver_${spec.system}.zip";
diff --git a/pkgs/development/tools/setupcfg2nix/default.nix b/pkgs/development/tools/setupcfg2nix/default.nix
new file mode 100644
index 00000000000..5d1f015e805
--- /dev/null
+++ b/pkgs/development/tools/setupcfg2nix/default.nix
@@ -0,0 +1,19 @@
+{ buildSetupcfg, fetchFromGitHub, lib }:
+
+buildSetupcfg rec {
+  info = import ./info.nix;
+  src = fetchFromGitHub {
+    owner = "target";
+    repo = "setupcfg2nix";
+    rev = info.version;
+    sha256 = "1zn9njpzwhwikrirgjlyz6ys3xr8gq61ry8blmnpscqvhsdhxcs6";
+  };
+  application = true;
+  meta = {
+    description = "Generate nix expressions from setup.cfg for a python package.";
+    homepage = https://github.com/target/setupcfg2nix;
+    license = lib.licenses.mit;
+    platforms = lib.platforms.all;
+    maintainers = [ lib.maintainers.shlevy ];
+  };
+}
diff --git a/pkgs/development/tools/setupcfg2nix/info.nix b/pkgs/development/tools/setupcfg2nix/info.nix
new file mode 100644
index 00000000000..b0d5873ed63
--- /dev/null
+++ b/pkgs/development/tools/setupcfg2nix/info.nix
@@ -0,0 +1,7 @@
+{
+  pname = ''setupcfg2nix'';
+  version = ''1.1.0'';
+  install_requires = [
+    ''setuptools''
+  ];
+}
diff --git a/pkgs/development/tools/sigrok-cli/default.nix b/pkgs/development/tools/sigrok-cli/default.nix
index 2d36b09adb3..3d8027a1299 100644
--- a/pkgs/development/tools/sigrok-cli/default.nix
+++ b/pkgs/development/tools/sigrok-cli/default.nix
@@ -4,7 +4,7 @@ stdenv.mkDerivation rec {
   name = "sigrok-cli-0.7.0";
 
   src = fetchurl {
-    url = "http://sigrok.org/download/source/sigrok-cli/${name}.tar.gz";
+    url = "https://sigrok.org/download/source/sigrok-cli/${name}.tar.gz";
     sha256 = "072ylscp0ppgii1k5j07hhv7dfmni4vyhxnsvxmgqgfyq9ldjsan";
   };
 
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Command-line frontend for the sigrok signal analysis software suite";
-    homepage = http://sigrok.org/;
+    homepage = https://sigrok.org/;
     license = licenses.gpl3Plus;
     platforms = platforms.linux;
     maintainers = [ maintainers.bjornfor ];
diff --git a/pkgs/development/tools/skopeo/default.nix b/pkgs/development/tools/skopeo/default.nix
index de0d7fc54de..bb99e887ac6 100644
--- a/pkgs/development/tools/skopeo/default.nix
+++ b/pkgs/development/tools/skopeo/default.nix
@@ -1,29 +1,33 @@
 { stdenv, lib, buildGoPackage, fetchFromGitHub, runCommand
-, gpgme, libgpgerror, devicemapper, btrfs-progs, pkgconfig, ostree, libselinux }:
+, gpgme, libgpgerror, devicemapper, btrfs-progs, pkgconfig, ostree, libselinux
+, go-md2man }:
 
 with stdenv.lib;
 
 let
-  version = "0.1.28";
+  version = "0.1.29";
 
   src = fetchFromGitHub {
     rev = "v${version}";
     owner = "projectatomic";
     repo = "skopeo";
-    sha256 = "068nwrr3nr27alravcq1sxyhdd5jjr24213vdgn1dqva3885gbi0";
+    sha256 = "1lhzbyj2mm25x12s7g2jx4v8w19izjwlgx4lml13r5yy1spn65k2";
   };
 
   defaultPolicyFile = runCommand "skopeo-default-policy.json" {} "cp ${src}/default-policy.json $out";
 
+  goPackagePath = "github.com/projectatomic/skopeo";
+
 in
 buildGoPackage rec {
   name = "skopeo-${version}";
-  inherit src;
+  inherit src goPackagePath;
+
+  outputs = [ "bin" "man" "out" ];
 
-  goPackagePath = "github.com/projectatomic/skopeo";
   excludedPackages = "integration";
 
-  nativeBuildInputs = [ pkgconfig ];
+  nativeBuildInputs = [ pkgconfig (lib.getBin go-md2man) ];
   buildInputs = [ gpgme libgpgerror devicemapper btrfs-progs ostree libselinux ];
 
   buildFlagsArray = "-ldflags= -X github.com/projectatomic/skopeo/vendor/github.com/containers/image/signature.systemDefaultPolicyPath=${defaultPolicyFile}";
@@ -33,10 +37,17 @@ buildGoPackage rec {
     export CGO_LDFLAGS="-L${getLib gpgme}/lib -L${getLib libgpgerror}/lib -L${getLib devicemapper}/lib"
   '';
 
+  postBuild = ''
+    # depends on buildGoPackage not changing …
+    pushd ./go/src/${goPackagePath}
+    make install-docs MANINSTALLDIR="$man"
+    popd
+  '';
+
   meta = {
     description = "A command line utility for various operations on container images and image repositories";
     homepage = https://github.com/projectatomic/skopeo;
-    maintainers = with stdenv.lib.maintainers; [ vdemeester ];
+    maintainers = with stdenv.lib.maintainers; [ vdemeester lewo ];
     license = stdenv.lib.licenses.asl20;
   };
 }
diff --git a/pkgs/development/tools/slimerjs/default.nix b/pkgs/development/tools/slimerjs/default.nix
index b3049736b71..041aee7a1c5 100644
--- a/pkgs/development/tools/slimerjs/default.nix
+++ b/pkgs/development/tools/slimerjs/default.nix
@@ -3,11 +3,11 @@ let
   s = # Generated upstream information
   rec {
     baseName="slimerjs";
-    version="0.10.3";
+    version="1.0.0";
     name="${baseName}-${version}";
     owner = "laurentj";
     repo = "${baseName}";
-    sha256="16v6a1kcq8il4snbrgsq5xmxs35alzf4qlmscr2yli95xq5fnl5y";
+    sha256="1w4sfrv520isbs7r1rlzl5y3idrpad7znw9fc92yz40jlwz7sxs4";
     rev = "${version}";
   };
   buildInputs = [
diff --git a/pkgs/development/tools/spirv-tools/default.nix b/pkgs/development/tools/spirv-tools/default.nix
index fc6bf1921e2..35e0d276101 100644
--- a/pkgs/development/tools/spirv-tools/default.nix
+++ b/pkgs/development/tools/spirv-tools/default.nix
@@ -3,19 +3,18 @@
 let
 
 spirv_sources = {
-  # `vulkan-loader` requires a specific version of `spirv-tools` and `spirv-headers` as specified in
-  # `<vulkan-loader-repo>/external_revisions/spirv-tools_revision`.
+  # `glslang` requires a specific version of `spirv-tools` and `spirv-headers` as specified in `known-good.json`.
   tools = fetchFromGitHub {
     owner = "KhronosGroup";
     repo = "SPIRV-Tools";
-    rev = "7e2d26c77b606b21af839b37fd21381c4a669f23";
-    sha256 = "1nlzj081v1xdyfz30nfs8hfcnqd072fra127h46gav179f04kss2";
+    rev = "9e19fc0f31ceaf1f6bc907dbf17dcfded85f2ce8";
+    sha256 = "1zpwznq0fyvkzs5h9nnkr7g6svr0w8z6zx62xgnss17c2a5cz0lk";
   };
   headers = fetchFromGitHub {
     owner = "KhronosGroup";
     repo = "SPIRV-Headers";
-    rev = "2bb92e6fe2c6aa410152fc6c63443f452acb1a65";
-    sha256 = "1rgjd7kpa7xpbwpzd6m3f6yq44s9xn5ddhz135213pxwbi5c0c26";
+    rev = "ce309203d7eceaf908bea8862c27f3e0749f7d00";
+    sha256 = "1sv1iy2d46sg7r3xy591db6fn9h78wd079yvfa87vwmwsdkhiqhm";
   };
 };
 
@@ -23,7 +22,7 @@ in
 
 stdenv.mkDerivation rec {
   name = "spirv-tools-${version}";
-  version = "2017-09-01";
+  version = "2018-02-05";
 
   src = spirv_sources.tools;
   patchPhase = ''ln -sv ${spirv_sources.headers} external/spirv-headers'';
diff --git a/pkgs/development/tools/sqsh/default.nix b/pkgs/development/tools/sqsh/default.nix
index f7628cf181c..d1b1c84a313 100644
--- a/pkgs/development/tools/sqsh/default.nix
+++ b/pkgs/development/tools/sqsh/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, autoreconfHook, freetds, readline }:
+{ stdenv, fetchurl, autoreconfHook, freetds, readline, libiconv }:
 
 let
   mainVersion = "2.5";
@@ -17,11 +17,13 @@ in stdenv.mkDerivation rec {
 
     substituteInPlace src/cmd_connect.c \
       --replace CS_TDS_80 CS_TDS_73
+  '' + stdenv.lib.optionalString stdenv.isDarwin ''
+    substituteInPlace configure --replace "libct.so" "libct.dylib"
   '';
 
   enableParallelBuilding = true;
 
-  buildInputs = [ freetds readline ];
+  buildInputs = [ freetds readline libiconv ];
 
   nativeBuildInputs = [ autoreconfHook ];
 
diff --git a/pkgs/development/tools/sunxi-tools/default.nix b/pkgs/development/tools/sunxi-tools/default.nix
index 59252a93863..0bddd0d3e17 100644
--- a/pkgs/development/tools/sunxi-tools/default.nix
+++ b/pkgs/development/tools/sunxi-tools/default.nix
@@ -1,26 +1,23 @@
-{ stdenv, fetchFromGitHub, pkgconfig, libusb }:
+{ stdenv, fetchFromGitHub, pkgconfig, libusb, zlib }:
 
 stdenv.mkDerivation {
-  name = "sunxi-tools-1.3";
+  name = "sunxi-tools-20171130";
 
   src = fetchFromGitHub {
     owner = "linux-sunxi";
     repo = "sunxi-tools";
-    rev = "be1b4c7400161b90437432076360c1f99970f54f";
-    sha256 = "02pqaaahra4wbv325264qh5i17mxwicmjx9nm33nw2dpmfmg9xhr";
+    rev = "5c1971040c6c44caefb98e371bfca9e18d511da9";
+    sha256 = "0qzm515i3dfn82a6sf7372080zb02d365z52bh0b1q711r4dvjgp";
   };
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ libusb ];
+  buildInputs = [ libusb zlib ];
 
-  buildPhase = ''
-    make all misc
-  '';
+  makeFlags = [ "PREFIX=$(out)" ];
 
-  installPhase = ''
-    mkdir -p $out/bin
-    cp bin2fex fex2bin phoenix_info sunxi-bootinfo sunxi-fel sunxi-fexc sunxi-nand-part sunxi-pio $out/bin
-  '';
+  buildFlags = [ "tools" "misc" ];
+
+  installTargets = [ "install-tools" "install-misc" ];
 
   meta = with stdenv.lib; {
     description = "Tools for Allwinner A10 devices";
diff --git a/pkgs/development/tools/textql/default.nix b/pkgs/development/tools/textql/default.nix
index eb626d0aa58..f6687f4e432 100644
--- a/pkgs/development/tools/textql/default.nix
+++ b/pkgs/development/tools/textql/default.nix
@@ -1,21 +1,29 @@
-{ stdenv, lib, buildGoPackage, fetchFromGitHub }:
+{ stdenv, lib, buildGoPackage, fetchFromGitHub, sqlite }:
 
 buildGoPackage rec {
   name = "textql-${version}";
   version = "2.0.3";
-  rev = "${version}";
 
   goPackagePath = "github.com/dinedal/textql";
 
   src = fetchFromGitHub {
-    inherit rev;
-    owner = "dinedal";
-    repo = "textql";
+    owner  = "dinedal";
+    repo   = "textql";
+    rev    = version;
     sha256 = "1b61w4pc5gl7m12mphricihzq7ifnzwn0yyw3ypv0d0fj26h5hc3";
   };
 
+  postInstall = ''
+    install -Dm644 -t $out/share/man/man1 ${src}/man/textql.1
+  '';
+
+  # needed for tests
+  nativeBuildInputs = [ sqlite ];
+
   goDeps = ./deps.nix;
 
+  doCheck = true;
+
   meta = with stdenv.lib; {
     description = "Execute SQL against structured text like CSV or TSV";
     homepage = https://github.com/dinedal/textql;
diff --git a/pkgs/development/tools/toxiproxy/default.nix b/pkgs/development/tools/toxiproxy/default.nix
new file mode 100644
index 00000000000..10a27e2e3b8
--- /dev/null
+++ b/pkgs/development/tools/toxiproxy/default.nix
@@ -0,0 +1,26 @@
+{ lib, buildGoPackage, fetchFromGitHub }:
+
+buildGoPackage rec {
+  name = "toxiproxy-${version}";
+  version = "2.1.3";
+  src = fetchFromGitHub {
+    owner = "Shopify";
+    repo = "toxiproxy";
+    rev = "v${version}";
+    sha256 = "1a7yry846iwi9cs9xam2vjbw73fjy45agjrwk214k0n1ziaawz2f";
+  };
+
+  goPackagePath = "github.com/Shopify/toxiproxy";
+  subPackages = ["cmd" "cli"];
+  buildFlagsArray = "-ldflags=-X github.com/Shopify/toxiproxy.Version=v${version}";
+
+  postInstall = ''
+    mv $bin/bin/cli $bin/bin/toxiproxy-cli
+    mv $bin/bin/cmd $bin/bin/toxiproxy-cmd
+  '';
+
+  meta = {
+    description = "Proxy for for simulating network conditions.";
+    maintainers = with lib.maintainers; [ avnik ];
+  };
+}
diff --git a/pkgs/development/tools/tradcpp/default.nix b/pkgs/development/tools/tradcpp/default.nix
index e5a3004bfdb..3891617e1c7 100644
--- a/pkgs/development/tools/tradcpp/default.nix
+++ b/pkgs/development/tools/tradcpp/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, autoconf }:
 
 stdenv.mkDerivation {
-  name = "tradcpp-0.4";
+  name = "tradcpp-0.5.2";
 
   src = fetchurl {
-    url = http://ftp.netbsd.org/pub/NetBSD/misc/dholland/tradcpp-0.4.tar.gz;
-    sha256 = "c60aa356945e0b6634bd449ead6a4fca0059d2ce3ae8044cf982140bbd54e688";
+    url = http://ftp.netbsd.org/pub/NetBSD/misc/dholland/tradcpp-0.5.2.tar.gz;
+    sha256 = "1h2bwxwc13rz3g2236l89hm47f72hn3m4h7wjir3j532kq0m68bc";
   };
 
   # tradcpp only comes with BSD-make Makefile; the patch adds configure support
diff --git a/pkgs/development/tools/vagrant/Gemfile b/pkgs/development/tools/vagrant/Gemfile
index d32951f1c05..f25a77c9398 100644
--- a/pkgs/development/tools/vagrant/Gemfile
+++ b/pkgs/development/tools/vagrant/Gemfile
@@ -1,2 +1,2 @@
 source "https://rubygems.org"
-gem 'vagrant'
+gem 'vagrant', git: "https://github.com/hashicorp/vagrant.git", tag: "v2.0.4"
diff --git a/pkgs/development/tools/vagrant/Gemfile.lock b/pkgs/development/tools/vagrant/Gemfile.lock
index 2c63b57443a..fd5cb8dbee9 100644
--- a/pkgs/development/tools/vagrant/Gemfile.lock
+++ b/pkgs/development/tools/vagrant/Gemfile.lock
@@ -1,17 +1,9 @@
 GIT
-  remote: https://github.com/mitchellh/vagrant-spec.git
-  revision: 7ac8b4191de578e345b29acaf62ecc72c8e73be1
+  remote: https://github.com/hashicorp/vagrant.git
+  revision: 6a6805f284dff05207e359acdfb1ca8443b78751
+  tag: v2.0.4
   specs:
-    vagrant-spec (0.0.1)
-      childprocess (~> 0.6.0)
-      log4r (~> 1.1.9)
-      rspec (~> 3.5.0)
-      thor (~> 0.18.1)
-
-PATH
-  remote: .
-  specs:
-    vagrant (2.0.2)
+    vagrant (2.0.4)
       childprocess (~> 0.6.0)
       erubis (~> 2.7.0)
       hashicorp-checkpoint (~> 0.1.5)
@@ -25,6 +17,8 @@ PATH
       rest-client (>= 1.6.0, < 3.0)
       ruby_dep (<= 1.3.1)
       wdm (~> 0.1.0)
+      win32-file (~> 0.8.1)
+      win32-file-security (~> 1.0.10)
       winrm (~> 2.1)
       winrm-elevated (~> 1.1)
       winrm-fs (~> 1.0)
@@ -32,24 +26,19 @@ PATH
 GEM
   remote: https://rubygems.org/
   specs:
-    addressable (2.5.2)
-      public_suffix (>= 2.0.2, < 4.0)
     builder (3.2.3)
     childprocess (0.6.3)
       ffi (~> 1.0, >= 1.0.11)
-    crack (0.4.3)
-      safe_yaml (~> 1.0.0)
-    diff-lcs (1.3)
-    domain_name (0.5.20170404)
+    domain_name (0.5.20180417)
       unf (>= 0.0.5, < 1.0.0)
     erubis (2.7.0)
-    fake_ftp (0.1.1)
-    ffi (1.9.18)
+    ffi (1.9.23)
+    ffi-win32-extensions (1.0.3)
+      ffi
     gssapi (1.2.0)
       ffi (>= 1.0.1)
     gyoku (1.3.1)
       builder (>= 2.1.2)
-    hashdiff (0.3.7)
     hashicorp-checkpoint (0.1.5)
     http-cookie (1.0.3)
       domain_name (~> 0.5)
@@ -75,8 +64,6 @@ GEM
     net-ssh (4.2.0)
     netrc (0.11.0)
     nori (2.6.0)
-    public_suffix (3.0.1)
-    rake (12.0.0)
     rb-fsevent (0.10.3)
     rb-inotify (0.9.10)
       ffi (>= 0.5.0, < 2)
@@ -86,35 +73,23 @@ GEM
       http-cookie (>= 1.0.2, < 2.0)
       mime-types (>= 1.16, < 4.0)
       netrc (~> 0.8)
-    rspec (3.5.0)
-      rspec-core (~> 3.5.0)
-      rspec-expectations (~> 3.5.0)
-      rspec-mocks (~> 3.5.0)
-    rspec-core (3.5.4)
-      rspec-support (~> 3.5.0)
-    rspec-expectations (3.5.0)
-      diff-lcs (>= 1.2.0, < 2.0)
-      rspec-support (~> 3.5.0)
-    rspec-its (1.2.0)
-      rspec-core (>= 3.0.0)
-      rspec-expectations (>= 3.0.0)
-    rspec-mocks (3.5.0)
-      diff-lcs (>= 1.2.0, < 2.0)
-      rspec-support (~> 3.5.0)
-    rspec-support (3.5.0)
     ruby_dep (1.3.1)
     rubyntlm (0.6.2)
     rubyzip (1.2.1)
-    safe_yaml (1.0.4)
-    thor (0.18.1)
     unf (0.1.4)
       unf_ext
     unf_ext (0.0.7.5)
     wdm (0.1.1)
-    webmock (2.3.2)
-      addressable (>= 2.3.6)
-      crack (>= 0.3.2)
-      hashdiff
+    win32-file (0.8.1)
+      ffi
+      ffi-win32-extensions
+      win32-file-stat (>= 1.4.0)
+    win32-file-security (1.0.10)
+      ffi
+      ffi-win32-extensions
+    win32-file-stat (1.5.5)
+      ffi
+      ffi-win32-extensions
     winrm (2.2.3)
       builder (>= 2.1.2)
       erubis (~> 2.7)
@@ -137,13 +112,7 @@ PLATFORMS
   ruby
 
 DEPENDENCIES
-  fake_ftp (~> 0.1.1)
-  rake (~> 12.0.0)
-  rspec (~> 3.5.0)
-  rspec-its (~> 1.2.0)
   vagrant!
-  vagrant-spec!
-  webmock (~> 2.3.1)
 
 BUNDLED WITH
-   1.14.6
+   1.16.1
diff --git a/pkgs/development/tools/vagrant/default.nix b/pkgs/development/tools/vagrant/default.nix
index 3b055d38d03..11ca6014b2d 100644
--- a/pkgs/development/tools/vagrant/default.nix
+++ b/pkgs/development/tools/vagrant/default.nix
@@ -1,36 +1,29 @@
-{ lib, fetchurl, buildRubyGem, bundlerEnv, ruby, libarchive }:
+{ lib, buildRubyGem, bundlerEnv, ruby, libarchive }:
+
+
+# To update vagrant, visit the Gemfile and re-run bundix.
 
 let
-  version = "2.0.2";
-  url = "https://github.com/hashicorp/vagrant/archive/v${version}.tar.gz";
-  sha256 = "1sjfwgy2y6q5s1drd8h8xgz2a0sv1l3kx9jilgc02hlcdz070iir";
+  gemset = import ./gemset.nix;
+  inherit (gemset.vagrant) version;
 
   deps = bundlerEnv rec {
-    name = "${pname}-${version}";
+    name = "vagrant-${version}";
     pname = "vagrant";
     inherit version;
 
     inherit ruby;
     gemdir = ./.;
-    gemset = lib.recursiveUpdate (import ./gemset.nix) {
-      vagrant = {
-        source = {
-          type = "url";
-          inherit url sha256;
-        };
-        inherit version;
-      };
-    };
   };
 
 in buildRubyGem rec {
   name = "${gemName}-${version}";
   gemName = "vagrant";
-  inherit version;
 
   doInstallCheck = true;
   dontBuild = false;
-  src = fetchurl { inherit url sha256; };
+
+  inherit (deps.gems.vagrant) src;
 
   patches = [
     ./unofficial-installation-nowarn.patch
diff --git a/pkgs/development/tools/vagrant/gemset.nix b/pkgs/development/tools/vagrant/gemset.nix
index 5d3d2693d01..7a432d30217 100644
--- a/pkgs/development/tools/vagrant/gemset.nix
+++ b/pkgs/development/tools/vagrant/gemset.nix
@@ -1,13 +1,4 @@
 {
-  addressable = {
-    dependencies = ["public_suffix"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0viqszpkggqi8hq87pqp0xykhvz60g99nwmkwsb0v45kc2liwxvk";
-      type = "gem";
-    };
-    version = "2.5.2";
-  };
   builder = {
     source = {
       remotes = ["https://rubygems.org"];
@@ -25,31 +16,14 @@
     };
     version = "0.6.3";
   };
-  crack = {
-    dependencies = ["safe_yaml"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0abb0fvgw00akyik1zxnq7yv391va148151qxdghnzngv66bl62k";
-      type = "gem";
-    };
-    version = "0.4.3";
-  };
-  diff-lcs = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "18w22bjz424gzafv6nzv98h0aqkwz3d9xhm7cbr1wfbyas8zayza";
-      type = "gem";
-    };
-    version = "1.3";
-  };
   domain_name = {
     dependencies = ["unf"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "12hs8yijhak7p2hf1xkh98g0mnp5phq3mrrhywzaxpwz1gw5r3kf";
+      sha256 = "0abdlwb64ns7ssmiqhdwgl27ly40x2l27l8hs8hn0z4kb3zd2x3v";
       type = "gem";
     };
-    version = "0.5.20170404";
+    version = "0.5.20180417";
   };
   erubis = {
     source = {
@@ -59,21 +33,22 @@
     };
     version = "2.7.0";
   };
-  fake_ftp = {
+  ffi = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0rn7lxdk3sqc2i4v2c5k25b9ca1qnkdf32nv04y760aml9mszwf7";
+      sha256 = "0zw6pbyvmj8wafdc7l5h7w20zkp1vbr2805ql5d941g2b20pk4zr";
       type = "gem";
     };
-    version = "0.1.1";
+    version = "1.9.23";
   };
-  ffi = {
+  ffi-win32-extensions = {
+    dependencies = ["ffi"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "034f52xf7zcqgbvwbl20jwdyjwznvqnwpbaps9nk18v9lgb1dpx0";
+      sha256 = "1ywkkbr3bpi2ais2jr8yrsqwwrm48jg262anmdkcb9if95vajx7l";
       type = "gem";
     };
-    version = "1.9.18";
+    version = "1.0.3";
   };
   gssapi = {
     dependencies = ["ffi"];
@@ -93,14 +68,6 @@
     };
     version = "1.3.1";
   };
-  hashdiff = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0yj5l2rw8i8jc725hbcpc4wks0qlaaimr3dpaqamfjkjkxl0hjp9";
-      type = "gem";
-    };
-    version = "0.3.7";
-  };
   hashicorp-checkpoint = {
     source = {
       remotes = ["https://rubygems.org"];
@@ -235,22 +202,6 @@
     };
     version = "2.6.0";
   };
-  public_suffix = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0mvzd9ycjw8ydb9qy3daq3kdzqs2vpqvac4dqss6ckk4rfcjc637";
-      type = "gem";
-    };
-    version = "3.0.1";
-  };
-  rake = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "01j8fc9bqjnrsxbppncai05h43315vmz9fwg28qdsgcjw9ck1d7n";
-      type = "gem";
-    };
-    version = "12.0.0";
-  };
   rb-fsevent = {
     source = {
       remotes = ["https://rubygems.org"];
@@ -286,59 +237,6 @@
     };
     version = "2.0.2";
   };
-  rspec = {
-    dependencies = ["rspec-core" "rspec-expectations" "rspec-mocks"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "16g3mmih999f0b6vcz2c3qsc7ks5zy4lj1rzjh8hf6wk531nvc6s";
-      type = "gem";
-    };
-    version = "3.5.0";
-  };
-  rspec-core = {
-    dependencies = ["rspec-support"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1nacs062qbr98fx6czf1vwppn1js956nv2c8vfwj6i65axdfs46i";
-      type = "gem";
-    };
-    version = "3.5.4";
-  };
-  rspec-expectations = {
-    dependencies = ["diff-lcs" "rspec-support"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0bbqfrb1x8gmwf8x2xhhwvvlhwbbafq4isbvlibxi6jk602f09gs";
-      type = "gem";
-    };
-    version = "3.5.0";
-  };
-  rspec-its = {
-    dependencies = ["rspec-core" "rspec-expectations"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1pwphny5jawcm1hda3vs9pjv1cybaxy17dc1s75qd7drrvx697p3";
-      type = "gem";
-    };
-    version = "1.2.0";
-  };
-  rspec-mocks = {
-    dependencies = ["diff-lcs" "rspec-support"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0nl3ksivh9wwrjjd47z5dggrwx40v6gpb3a0gzbp1gs06a5dmk24";
-      type = "gem";
-    };
-    version = "3.5.0";
-  };
-  rspec-support = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "10vf3k3d472y573mag2kzfsfrf6rv355s13kadnpryk8d36yq5r0";
-      type = "gem";
-    };
-    version = "3.5.0";
-  };
   ruby_dep = {
     source = {
       remotes = ["https://rubygems.org"];
@@ -363,22 +261,6 @@
     };
     version = "1.2.1";
   };
-  safe_yaml = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1hly915584hyi9q9vgd968x2nsi5yag9jyf5kq60lwzi5scr7094";
-      type = "gem";
-    };
-    version = "1.0.4";
-  };
-  thor = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0d1g37j6sc7fkidf8rqlm3wh9zgyg3g7y8h2x1y34hmil5ywa8c3";
-      type = "gem";
-    };
-    version = "0.18.1";
-  };
   unf = {
     dependencies = ["unf_ext"];
     source = {
@@ -397,18 +279,15 @@
     version = "0.0.7.5";
   };
   vagrant = {
-    dependencies = ["childprocess" "erubis" "hashicorp-checkpoint" "i18n" "listen" "log4r" "net-scp" "net-sftp" "net-ssh" "rb-kqueue" "rest-client" "ruby_dep" "wdm" "winrm" "winrm-elevated" "winrm-fs"];
-  };
-  vagrant-spec = {
-    dependencies = ["childprocess" "log4r" "rspec" "thor"];
+    dependencies = ["childprocess" "erubis" "hashicorp-checkpoint" "i18n" "listen" "log4r" "net-scp" "net-sftp" "net-ssh" "rb-kqueue" "rest-client" "ruby_dep" "wdm" "win32-file" "win32-file-security" "winrm" "winrm-elevated" "winrm-fs"];
     source = {
       fetchSubmodules = false;
-      rev = "7ac8b4191de578e345b29acaf62ecc72c8e73be1";
-      sha256 = "0qybgxdnndx7xfmhyjcj46b2mv78d98yk30d68ppmfnmm3jx590h";
+      rev = "6a6805f284dff05207e359acdfb1ca8443b78751";
+      sha256 = "07c7r4xk0md9hkbcnij0kp7acxz0li9ak1ah7lmh52j10gq4cjmw";
       type = "git";
-      url = "https://github.com/mitchellh/vagrant-spec.git";
+      url = "https://github.com/hashicorp/vagrant.git";
     };
-    version = "0.0.1";
+    version = "2.0.4";
   };
   wdm = {
     source = {
@@ -418,14 +297,32 @@
     };
     version = "0.1.1";
   };
-  webmock = {
-    dependencies = ["addressable" "crack" "hashdiff"];
+  win32-file = {
+    dependencies = ["ffi" "ffi-win32-extensions" "win32-file-stat"];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0mjylzv4bbnxyjqf7hnd9ghcs5xr2sv8chnmkqdi2cc6pya2xax0";
+      type = "gem";
+    };
+    version = "0.8.1";
+  };
+  win32-file-security = {
+    dependencies = ["ffi" "ffi-win32-extensions"];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0lpq821a1hrxmm0ki5c34wijzhn77g4ny76v698ixwg853y2ir9r";
+      type = "gem";
+    };
+    version = "1.0.10";
+  };
+  win32-file-stat = {
+    dependencies = ["ffi" "ffi-win32-extensions"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "04hkcqsmbfnp8g237pisnc834vpgildklicbjbyikqg0bg1rwcy5";
+      sha256 = "0lc3yajcb8xxabvj9qian938k60ixydvs3ixl5fldi0nlvnvk468";
       type = "gem";
     };
-    version = "2.3.2";
+    version = "1.5.5";
   };
   winrm = {
     dependencies = ["builder" "erubis" "gssapi" "gyoku" "httpclient" "logging" "nori" "rubyntlm"];
diff --git a/pkgs/development/tools/valadoc/default.nix b/pkgs/development/tools/valadoc/default.nix
index 3fd92dfeba4..2e2fc1ad927 100644
--- a/pkgs/development/tools/valadoc/default.nix
+++ b/pkgs/development/tools/valadoc/default.nix
@@ -1,12 +1,11 @@
-{stdenv, fetchgit, gnome3, automake, autoconf, which, libtool, pkgconfig, graphviz, glib, gobjectIntrospection, expat}:
+{stdenv, fetchurl, gnome3, automake, autoconf, which, libtool, pkgconfig, graphviz, glib, gobjectIntrospection, expat}:
 stdenv.mkDerivation rec {
-  version = "2016-11-11";
-  name = "valadoc-unstable-${version}";
+  version = "0.36.1";
+  name = "valadoc-${version}";
 
-  src = fetchgit {
-    url = "git://git.gnome.org/valadoc";
-    rev = "8080b626db9c16ac9a0a9802677b4f6ab0d36d4e";
-    sha256 = "1y00yls4wgxggzfagm3hcmzkpskfbs3m52pjgl71lg4p85kv6msv";
+  src = fetchurl {
+    url = "mirror://gnome/sources/valadoc/${gnome3.versionBranch version}/${name}.tar.xz";
+    sha256 = "07501k2j9c016bd7rfr6xzaxdplq7j9sd18b5ixbqdbipvn6whnv";
   };
 
   nativeBuildInputs = [ automake autoconf which gnome3.vala libtool pkgconfig gobjectIntrospection ];
@@ -14,6 +13,12 @@ stdenv.mkDerivation rec {
 
   preConfigure = "./autogen.sh";
 
+  passthru = {
+    updateScript = gnome3.updateScript {
+      packageName = "valadoc";
+    };
+  };
+
   meta = with stdenv.lib; {
     description = "valadoc is a documentation generator for generating API documentation from Vala source code";
     homepage = http://valadoc.org;
diff --git a/pkgs/development/tools/vcstool/default.nix b/pkgs/development/tools/vcstool/default.nix
index 51e066f3d39..aafff7290c5 100644
--- a/pkgs/development/tools/vcstool/default.nix
+++ b/pkgs/development/tools/vcstool/default.nix
@@ -6,11 +6,11 @@ with python3Packages;
 buildPythonApplication rec {
   name = "${pname}-${version}";
   pname = "vcstool";
-  version = "0.1.31";
+  version = "0.1.35";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0n2zkvy2km9ky9lljf1mq5nqyqi5qqzfy2a6sgkjg2grvsk7abxc";
+    sha256 = "c52ef4bae424deb284d042005db22844dae290758af77d76cac37d26bed9ad1c";
   };
 
   propagatedBuildInputs = [ pyyaml ];
diff --git a/pkgs/development/tools/wllvm/default.nix b/pkgs/development/tools/wllvm/default.nix
index 19bdb1cd9ef..399a8e66860 100644
--- a/pkgs/development/tools/wllvm/default.nix
+++ b/pkgs/development/tools/wllvm/default.nix
@@ -1,13 +1,13 @@
 { stdenv, python3Packages }:
 
 python3Packages.buildPythonApplication rec {
-  version = "1.1.3";
+  version = "1.2.0";
   pname = "wllvm";
   name = "${pname}-${version}";
 
   src = python3Packages.fetchPypi {
     inherit pname version;
-    sha256 = "1scv9bwr888x2km8njg0000xkj8pz73c0gjbphhqaj8vy87y25cb";
+    sha256 = "1hriyv5gfkcxjqk71l3030qfy3scsjr3mp12hkxfknh65inlqs5z";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/tools/wp-cli/default.nix b/pkgs/development/tools/wp-cli/default.nix
index e35bdd22e2d..9dbdcfaa8aa 100644
--- a/pkgs/development/tools/wp-cli/default.nix
+++ b/pkgs/development/tools/wp-cli/default.nix
@@ -2,11 +2,11 @@
 
 let
   name = "wp-cli-${version}";
-  version = "1.5.0";
+  version = "1.5.1";
 
   src = fetchurl {
     url    = "https://github.com/wp-cli/wp-cli/releases/download/v${version}/${name}.phar";
-    sha256 = "17dgbcalvz5gw6xqgcywh6jrybj0qlglm16cgbshjsp6axwxa5gn";
+    sha256 = "1lnjbl6rcv32g6akj4552ncyqmbsawmx1dnbmxr0rjj7wr8484f1";
   };
 
   completion = fetchurl {
diff --git a/pkgs/development/tools/xcbuild/platform.nix b/pkgs/development/tools/xcbuild/platform.nix
index d0836daf613..a36c4f4bf80 100644
--- a/pkgs/development/tools/xcbuild/platform.nix
+++ b/pkgs/development/tools/xcbuild/platform.nix
@@ -258,6 +258,27 @@ let
       };
       PackageTypes = [ "com.apple.package-type.wrapper.application" ];
     }
+    {
+      Type = "ProductType";
+      Identifier = "com.apple.product-type.framework";
+      Name = "Bundle";
+      DefaultBuildProperties = {
+        FULL_PRODUCT_NAME = "$(WRAPPER_NAME)";
+        MACH_O_TYPE = "mh_bundle";
+        WRAPPER_PREFIX = "";
+        WRAPPER_SUFFIX = ".$(WRAPPER_EXTENSION)";
+        WRAPPER_EXTENSION = "bundle";
+        WRAPPER_NAME = "$(WRAPPER_PREFIX)$(PRODUCT_NAME)$(WRAPPER_SUFFIX)";
+        FRAMEWORK_FLAG_PREFIX = "-framework";
+        LIBRARY_FLAG_PREFIX = "-l";
+        LIBRARY_FLAG_NOSPACE = "YES";
+        STRIP_STYLE = "non-global";
+      };
+      PackageTypes = [ "com.apple.package-type.wrapper" ];
+      IsWrapper = "YES";
+      HasInfoPlist = "YES";
+      HasInfoPlistStrings = "YES";
+    }
   ];
 
 in
diff --git a/pkgs/development/tools/xcbuild/setup-hook.sh b/pkgs/development/tools/xcbuild/setup-hook.sh
index c3b26a6ac79..70100c19697 100644
--- a/pkgs/development/tools/xcbuild/setup-hook.sh
+++ b/pkgs/development/tools/xcbuild/setup-hook.sh
@@ -5,7 +5,7 @@ xcbuildBuildPhase() {
 
     echo "running xcodebuild"
 
-    xcodebuild OTHER_CFLAGS="$NIX_CFLAGS_COMPILE" OTHER_CPLUSPLUSFLAGS="$NIX_CFLAGS_COMPILE" OTHER_LDFLAGS="$NIX_LDFLAGS" build
+    xcodebuild SYMROOT=$PWD/Products OBJROOT=$PWD/Intermediates $xcbuildFlags build
 
     runHook postBuild
 }
diff --git a/pkgs/development/tools/xcbuild/wrapper.nix b/pkgs/development/tools/xcbuild/wrapper.nix
index 3a1547440fd..06c48ec0a73 100644
--- a/pkgs/development/tools/xcbuild/wrapper.nix
+++ b/pkgs/development/tools/xcbuild/wrapper.nix
@@ -46,6 +46,9 @@ stdenv.mkDerivation {
       ln -s $file
     done
 
+    mkdir $out/usr
+    ln -s $out/bin $out/usr/bin
+
     mkdir -p $out/Library/Xcode/
     ln -s ${xcbuild}/Library/Xcode/Specifications $out/Library/Xcode/Specifications
 
diff --git a/pkgs/development/tools/yarn/default.nix b/pkgs/development/tools/yarn/default.nix
index bd7dd5924c0..eefe7dcfa74 100644
--- a/pkgs/development/tools/yarn/default.nix
+++ b/pkgs/development/tools/yarn/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "yarn-${version}";
-  version = "1.5.1";
+  version = "1.6.0";
 
   src = fetchzip {
     url = "https://github.com/yarnpkg/yarn/releases/download/v${version}/yarn-v${version}.tar.gz";
-    sha256 = "13m1y1c2h1fvq8fw1vlmnmnh3jx3l2cx7mz3x55sbgwcinzhkz9m";
+    sha256 = "0bblp1jy4s9y5rpcqn40w61qwsmxr342xkcn7ykk88i7sng2cgfw";
   };
 
   buildInputs = [makeWrapper nodejs];
diff --git a/pkgs/development/tools/yarn2nix/bin/yarn2nix.js b/pkgs/development/tools/yarn2nix/bin/yarn2nix.js
new file mode 100755
index 00000000000..3eadea55903
--- /dev/null
+++ b/pkgs/development/tools/yarn2nix/bin/yarn2nix.js
@@ -0,0 +1,144 @@
+#!/usr/bin/env node
+"use strict";
+
+const crypto = require('crypto');
+const fs = require("fs");
+const https = require("https");
+const path = require("path");
+const util = require("util");
+
+const lockfile = require("@yarnpkg/lockfile")
+const docopt = require("docopt").docopt;
+
+////////////////////////////////////////////////////////////////////////////////
+
+const USAGE = `
+Usage: yarn2nix [options]
+
+Options:
+  -h --help        Shows this help.
+  --no-nix         Hide the nix output
+  --no-patch       Don't patch the lockfile if hashes are missing
+  --lockfile=FILE  Specify path to the lockfile [default: ./yarn.lock].
+`
+
+const HEAD = `
+{fetchurl, linkFarm}: rec {
+  offline_cache = linkFarm "offline" packages;
+  packages = [
+`.trim();
+
+////////////////////////////////////////////////////////////////////////////////
+
+function generateNix(lockedDependencies) {
+  let found = {};
+
+  console.log(HEAD)
+
+  for (var depRange in lockedDependencies) {
+    let dep = lockedDependencies[depRange];
+
+    let depRangeParts = depRange.split('@');
+    let [url, sha1] = dep["resolved"].split("#");
+    let file_name = path.basename(url)
+
+    if (found.hasOwnProperty(file_name)) {
+      continue;
+    } else {
+      found[file_name] = null;
+    }
+
+
+    console.log(`
+    {
+      name = "${file_name}";
+      path = fetchurl {
+        name = "${file_name}";
+        url  = "${url}";
+        sha1 = "${sha1}";
+      };
+    }`)
+  }
+
+  console.log("  ];")
+  console.log("}")
+}
+
+
+function getSha1(url) {
+  return new Promise((resolve, reject) => {
+    https.get(url, (res) => {
+      const { statusCode } = res;
+      const hash = crypto.createHash('sha1');
+      if (statusCode !== 200) {
+        const err = new Error('Request Failed.\n' +
+                          `Status Code: ${statusCode}`);
+        // consume response data to free up memory
+        res.resume();
+        reject(err);
+      }
+
+      res.on('data', (chunk) => { hash.update(chunk); });
+      res.on('end', () => { resolve(hash.digest('hex')) });
+      res.on('error', reject);
+    });
+  });
+};
+
+function updateResolvedSha1(pkg) {
+  // local dependency
+  if (!pkg.resolved) { return Promise.resolve(); }
+  let [url, sha1] = pkg.resolved.split("#", 2)
+  if (!sha1) {
+    return new Promise((resolve, reject) => {
+      getSha1(url).then(sha1 => {
+        pkg.resolved = `${url}#${sha1}`;
+        resolve();
+      }).catch(reject);
+    });
+  } else {
+    // nothing to do
+    return Promise.resolve();
+  };
+}
+
+function values(obj) {
+  var entries = [];
+  for (let key in obj) {
+    entries.push(obj[key]);
+  }
+  return entries;
+}
+
+////////////////////////////////////////////////////////////////////////////////
+// Main
+////////////////////////////////////////////////////////////////////////////////
+
+var options = docopt(USAGE);
+
+let data = fs.readFileSync(options['--lockfile'], 'utf8')
+let json = lockfile.parse(data)
+if (json.type != "success") {
+  throw new Error("yarn.lock parse error")
+}
+
+// Check fore missing hashes in the yarn.lock and patch if necessary
+var pkgs = values(json.object);
+Promise.all(pkgs.map(updateResolvedSha1)).then(() => {
+  let newData = lockfile.stringify(json.object);
+
+  if (newData != data) {
+    console.error("found changes in the lockfile", options["--lockfile"]);
+
+    if (options["--no-patch"]) {
+      console.error("...aborting");
+      process.exit(1);
+    }
+
+    fs.writeFileSync(options['--lockfile'], newData);
+  }
+
+  if (!options['--no-nix']) {
+    generateNix(json.object);
+  }
+})
diff --git a/pkgs/development/tools/yarn2nix/default.nix b/pkgs/development/tools/yarn2nix/default.nix
new file mode 100644
index 00000000000..e86c0aac2c9
--- /dev/null
+++ b/pkgs/development/tools/yarn2nix/default.nix
@@ -0,0 +1,199 @@
+{ stdenv, lib, fetchurl, linkFarm, runCommand, nodejs, yarn }:
+
+let
+  unlessNull = item: alt:
+    if item == null then alt else item;
+
+  yarn2nix = mkYarnPackage {
+    src = ./.;
+    yarnNix = ./yarn.nix;
+
+    passthru = {
+      inherit
+        defaultYarnFlags
+        linkNodeModulesHook
+        mkYarnModules
+        mkYarnNix
+        mkYarnPackage
+        # Export yarn again to make it easier to find out which yarn was used.
+        yarn
+        ;
+    };
+
+    meta = with lib; {
+      description = "generate nix expressions from a yarn.lock file";
+      homepage = "https://github.com/moretea/yarn2nix";
+      license = licenses.gpl3;
+      maintainers = with maintainers; [ manveru zimbatm ];
+    };
+  };
+
+  # Generates the yarn.nix from the yarn.lock file
+  mkYarnNix = yarnLock:
+    runCommand "yarn.nix" {}
+      "${yarn2nix}/bin/yarn2nix --lockfile ${yarnLock} --no-patch > $out";
+
+  # Loads the generated offline cache. This will be used by yarn as
+  # the package source.
+  importOfflineCache = yarnNix:
+    let
+      pkg = import yarnNix { inherit fetchurl linkFarm; };
+    in
+      pkg.offline_cache;
+
+  defaultYarnFlags = [
+    "--offline"
+    "--frozen-lockfile"
+    "--ignore-engines"
+    "--ignore-scripts"
+  ];
+
+  mkYarnModules = {
+    name,
+    packageJSON,
+    yarnLock,
+    yarnNix ? mkYarnNix yarnLock,
+    yarnFlags ? defaultYarnFlags,
+    pkgConfig ? {},
+    preBuild ? "",
+  }:
+    let
+      offlineCache = importOfflineCache yarnNix;
+      extraBuildInputs = (lib.flatten (builtins.map (key:
+        pkgConfig.${key} . buildInputs or []
+      ) (builtins.attrNames pkgConfig)));
+      postInstall = (builtins.map (key:
+        if (pkgConfig.${key} ? postInstall) then
+          ''
+            for f in $(find -L -path '*/node_modules/${key}' -type d); do
+              (cd "$f" && (${pkgConfig.${key}.postInstall}))
+            done
+          ''
+        else
+          ""
+      ) (builtins.attrNames pkgConfig));
+    in
+    stdenv.mkDerivation {
+      inherit name preBuild;
+      phases = ["configurePhase" "buildPhase"];
+      buildInputs = [ yarn nodejs ] ++ extraBuildInputs;
+
+      configurePhase = ''
+        # Yarn writes cache directories etc to $HOME.
+        export HOME=$PWD/yarn_home
+      '';
+
+      buildPhase = ''
+        runHook preBuild
+
+        cp ${packageJSON} ./package.json
+        cp ${yarnLock} ./yarn.lock
+        chmod +w ./yarn.lock
+
+        yarn config --offline set yarn-offline-mirror ${offlineCache}
+
+        # Do not look up in the registry, but in the offline cache.
+        # TODO: Ask upstream to fix this mess.
+        sed -i -E 's|^(\s*resolved\s*")https?://.*/|\1|' yarn.lock
+        yarn install ${lib.escapeShellArgs yarnFlags}
+
+        ${lib.concatStringsSep "\n" postInstall}
+
+        mkdir $out
+        mv node_modules $out/
+        patchShebangs $out
+      '';
+    };
+
+  # This can be used as a shellHook in mkYarnPackage. It brings the built node_modules into
+  # the shell-hook environment.
+  linkNodeModulesHook = ''
+    if [[ -d node_modules || -L node_modules ]]; then
+      echo "./node_modules is present. Replacing."
+      rm -rf node_modules
+    fi
+
+    ln -s "$node_modules" node_modules
+  '';
+
+  mkYarnPackage = {
+    name ? null,
+    src,
+    packageJSON ? src + "/package.json",
+    yarnLock ? src + "/yarn.lock",
+    yarnNix ? mkYarnNix yarnLock,
+    yarnFlags ? defaultYarnFlags,
+    yarnPreBuild ? "",
+    pkgConfig ? {},
+    extraBuildInputs ? [],
+    publishBinsFor ? null,
+    ...
+  }@attrs:
+    let
+      package = lib.importJSON packageJSON;
+      pname = package.name;
+      version = package.version;
+      deps = mkYarnModules {
+        name = "${pname}-modules-${version}";
+        preBuild = yarnPreBuild;
+        inherit packageJSON yarnLock yarnNix yarnFlags pkgConfig;
+      };
+      publishBinsFor_ = unlessNull publishBinsFor [pname];
+    in stdenv.mkDerivation (builtins.removeAttrs attrs ["pkgConfig"] // {
+      inherit src;
+
+      name = unlessNull name "${pname}-${version}";
+
+      buildInputs = [ yarn nodejs ] ++ extraBuildInputs;
+
+      node_modules = deps + "/node_modules";
+
+      configurePhase = attrs.configurePhase or ''
+        runHook preConfigure
+
+        if [ -d npm-packages-offline-cache ]; then
+          echo "npm-pacakges-offline-cache dir present. Removing."
+          rm -rf npm-packages-offline-cache
+        fi
+
+        if [[ -d node_modules || -L node_modules ]]; then
+          echo "./node_modules is present. Removing."
+          rm -rf node_modules
+        fi
+
+        mkdir -p node_modules
+        ln -s $node_modules/* node_modules/
+        ln -s $node_modules/.bin node_modules/
+
+        if [ -d node_modules/${pname} ]; then
+          echo "Error! There is already an ${pname} package in the top level node_modules dir!"
+          exit 1
+        fi
+
+        runHook postConfigure
+      '';
+
+      # Replace this phase on frontend packages where only the generated
+      # files are an interesting output.
+      installPhase = attrs.installPhase or ''
+        runHook preInstall
+
+        mkdir -p $out
+        cp -r node_modules $out/node_modules
+        cp -r . $out/node_modules/${pname}
+        rm -rf $out/node_modules/${pname}/node_modules
+
+        mkdir $out/bin
+        node ${./fixup_bin.js} $out ${lib.concatStringsSep " " publishBinsFor_}
+
+        runHook postInstall
+      '';
+
+      passthru = {
+        inherit package deps;
+      } // (attrs.passthru or {});
+
+      # TODO: populate meta automatically
+    });
+in
+  yarn2nix
diff --git a/pkgs/development/tools/yarn2nix/fixup_bin.js b/pkgs/development/tools/yarn2nix/fixup_bin.js
new file mode 100644
index 00000000000..dab1759c204
--- /dev/null
+++ b/pkgs/development/tools/yarn2nix/fixup_bin.js
@@ -0,0 +1,45 @@
+#!/usr/bin/env node
+"use strict";
+
+/* Usage:
+ * node fixup_bin.js <output_dir> [<bin_pkg_1>, <bin_pkg_2> ... ]
+ */
+
+const fs = require("fs");
+const path = require("path");
+
+const output = process.argv[2];
+const packages_to_publish_bin = process.argv.slice(3);
+const derivation_bin_path = output + "/bin";
+
+function processPackage(name) {
+  console.log("Processing ", name);
+  const package_path = output + "/node_modules/" + name;
+  const package_json_path = package_path + "/package.json";
+  const package_json = JSON.parse(fs.readFileSync(package_json_path));
+
+  if (!package_json.bin) {
+    console.log("No binaries provided");
+    return;
+  }
+
+  // There are two alternative syntaxes for `bin`
+  // a) just a plain string, in which case the name of the package is the name of the binary.
+  // b) an object, where key is the name of the eventual binary, and the value the path to that binary.
+  if (typeof package_json.bin == "string") {
+    let bin_name = package_json.bin;
+    package_json.bin = { };
+    package_json.bin[package_json.name] = bin_name;
+  }
+
+  for (let binName in package_json.bin) {
+    const bin_path = package_json.bin[binName];
+    const full_bin_path = path.normalize(package_path + "/" + bin_path);
+    fs.symlinkSync(full_bin_path, derivation_bin_path + "/"+ binName);
+    console.log("Linked", binName);
+  }
+}
+
+packages_to_publish_bin.forEach((pkg) => {
+  processPackage(pkg);
+});
diff --git a/pkgs/development/tools/yarn2nix/package.json b/pkgs/development/tools/yarn2nix/package.json
new file mode 100644
index 00000000000..130eee67c56
--- /dev/null
+++ b/pkgs/development/tools/yarn2nix/package.json
@@ -0,0 +1,19 @@
+{
+  "name": "yarn2nix",
+  "version": "1.0.0",
+  "description": "Convert packages.json and yarn.lock into a Nix expression that downloads all the dependencies",
+  "main": "index.js",
+  "repository": ".",
+  "author": "Maarten Hoogendoorn <maarten@moretea.nl>",
+  "license": "MIT",
+  "scripts": {
+    "yarn2nix": "bin/yarn2nix.js"
+  },
+  "bin": {
+    "yarn2nix": "bin/yarn2nix.js"
+  },
+  "dependencies": {
+    "@yarnpkg/lockfile": "^1.0.0",
+    "docopt": "^0.6.2"
+  }
+}
diff --git a/pkgs/development/tools/yarn2nix/yarn.lock b/pkgs/development/tools/yarn2nix/yarn.lock
new file mode 100644
index 00000000000..976d2c530e1
--- /dev/null
+++ b/pkgs/development/tools/yarn2nix/yarn.lock
@@ -0,0 +1,11 @@
+# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
+# yarn lockfile v1
+
+
+"@yarnpkg/lockfile@^1.0.0":
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/@yarnpkg/lockfile/-/lockfile-1.0.0.tgz#33d1dbb659a23b81f87f048762b35a446172add3"
+
+docopt@^0.6.2:
+  version "0.6.2"
+  resolved "https://registry.yarnpkg.com/docopt/-/docopt-0.6.2.tgz#b28e9e2220da5ec49f7ea5bb24a47787405eeb11"
\ No newline at end of file
diff --git a/pkgs/development/tools/yarn2nix/yarn.nix b/pkgs/development/tools/yarn2nix/yarn.nix
new file mode 100644
index 00000000000..a9e42e7d986
--- /dev/null
+++ b/pkgs/development/tools/yarn2nix/yarn.nix
@@ -0,0 +1,23 @@
+{fetchurl, linkFarm}: rec {
+  offline_cache = linkFarm "offline" packages;
+  packages = [
+
+    {
+      name = "lockfile-1.0.0.tgz";
+      path = fetchurl {
+        name = "lockfile-1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/@yarnpkg/lockfile/-/lockfile-1.0.0.tgz";
+        sha1 = "33d1dbb659a23b81f87f048762b35a446172add3";
+      };
+    }
+
+    {
+      name = "docopt-0.6.2.tgz";
+      path = fetchurl {
+        name = "docopt-0.6.2.tgz";
+        url  = "https://registry.yarnpkg.com/docopt/-/docopt-0.6.2.tgz";
+        sha1 = "b28e9e2220da5ec49f7ea5bb24a47787405eeb11";
+      };
+    }
+  ];
+}
diff --git a/pkgs/development/tools/yq/default.nix b/pkgs/development/tools/yq/default.nix
index 6fb7f8440ef..201e85985d8 100644
--- a/pkgs/development/tools/yq/default.nix
+++ b/pkgs/development/tools/yq/default.nix
@@ -1,25 +1,23 @@
-{ stdenv, lib, buildPythonApplication, fetchPypi, pyyaml, jq }:
+{ stdenv, lib, buildPythonApplication, fetchPypi, pyyaml, xmltodict, jq }:
 
 buildPythonApplication rec {
-
   pname = "yq";
-  version = "2.3.4";
+  version = "2.5.0";
 
-  propagatedBuildInputs = [ pyyaml jq ];
+  propagatedBuildInputs = [ pyyaml xmltodict jq ];
 
   # ValueError: underlying buffer has been detached
   doCheck = false;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "04ckrlmin8m176iicyfhddp4r0yry5hx306vhfglf8mcp1jkga78";
+    sha256 = "e9fd2aa32defcd051058e3b6f665873282aa4eed19e11b1db94fe70847535d4c";
   };
 
   meta = with lib; {
     description = "Command-line YAML processor - jq wrapper for YAML documents.";
-    homepage = https://pypi.python.org/pypi/yq;
+    homepage = https://github.com/kislyuk/yq;
     license = [ licenses.asl20 ];
     maintainers = [ maintainers.womfoo ];
   };
-
 }
diff --git a/pkgs/development/web/grails/default.nix b/pkgs/development/web/grails/default.nix
index c447173b608..a0d8a0b84ba 100644
--- a/pkgs/development/web/grails/default.nix
+++ b/pkgs/development/web/grails/default.nix
@@ -11,11 +11,11 @@ let
 in
 stdenv.mkDerivation rec {
   name = "grails-${version}";
-  version = "3.3.0";
+  version = "3.3.5";
 
   src = fetchurl {
     url = "https://github.com/grails/grails-core/releases/download/v${version}/grails-${version}.zip";
-    sha256 = "0lk9ll0x9w2akmlwkams9pxyafmgjmsr3fa45gx1r16nx563qxsg";
+    sha256 = "0796jbcblr3vxdf6sngzcfs1m24d1ra1n8jc7cnfrfxpf8r0z15m";
   };
 
   buildInputs = [ unzip ];
diff --git a/pkgs/development/web/insomnia/default.nix b/pkgs/development/web/insomnia/default.nix
index 45cf993f25e..6d1eb0dbe3e 100644
--- a/pkgs/development/web/insomnia/default.nix
+++ b/pkgs/development/web/insomnia/default.nix
@@ -1,12 +1,9 @@
-{ stdenv, lib, makeWrapper, fetchurl, dpkg,
-
-  alsaLib, atk, cairo, cups, dbus_daemon, expat, fontconfig, freetype, gdk_pixbuf, glib, gnome2, gtk2-x11,
-  nspr, nss,
-
-  libX11, libXScrnSaver, libXcomposite, libXcursor, libXdamage, libXext, libXfixes, libXi, libXrandr,
-  libXrender, libXtst, libxcb,
-
-  libudev0-shim, glibc, curl
+{ stdenv, lib, makeWrapper, fetchurl, dpkg
+, alsaLib, atk, cairo, cups, dbus_daemon, expat, fontconfig, freetype
+, gdk_pixbuf, glib, gnome2, gtk2-x11, nspr, nss
+, libX11, libXScrnSaver, libXcomposite, libXcursor, libXdamage, libXext
+, libXfixes, libXi, libXrandr, libXrender, libXtst, libxcb, nghttp2
+, libudev0-shim, glibc, curl, openssl
 }:
 
 let
@@ -15,14 +12,14 @@ let
     gtk2-x11 nspr nss stdenv.cc.cc.lib libX11 libXScrnSaver libXcomposite libXcursor libXdamage libXext libXfixes
     libXi libXrandr libXrender libXtst libxcb
   ];
-  runtimeLibs = lib.makeLibraryPath [ libudev0-shim glibc curl ];
+  runtimeLibs = lib.makeLibraryPath [ libudev0-shim glibc curl openssl nghttp2 ];
 in stdenv.mkDerivation rec {
   name = "insomnia-${version}";
-  version = "5.14.7";
+  version = "5.16.2";
 
   src = fetchurl {
     url = "https://github.com/getinsomnia/insomnia/releases/download/v${version}/insomnia_${version}_amd64.deb";
-    sha256 = "1y6bn9kaxxplzyv7jjrcsfkrjnivjqdk5mbdp8vz32hv2bmdvzzy";
+    sha256 = "1sjcbi45n10lf69a48447lfbxxjib7v2isshaykz43qqasqqrd18";
   };
 
   nativeBuildInputs = [ makeWrapper dpkg ];
diff --git a/pkgs/development/web/kore/default.nix b/pkgs/development/web/kore/default.nix
index eac2046a233..b0dc2ba041a 100644
--- a/pkgs/development/web/kore/default.nix
+++ b/pkgs/development/web/kore/default.nix
@@ -20,6 +20,10 @@ stdenv.mkDerivation rec {
 
   makeFlags = [ "PREFIX=$(out)" ];
 
+  # added to fix build w/gcc7 and clang5
+  NIX_CFLAGS_COMPILE = stdenv.lib.optionalString stdenv.cc.isGNU "-Wno-error=pointer-compare"
+    + stdenv.lib.optionalString stdenv.cc.isClang " -Wno-error=unknown-warning-option";
+
   enableParallelBuilding = true;
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/web/nodejs/no-xcodebuild.patch b/pkgs/development/web/nodejs/no-xcodebuild.patch
new file mode 100644
index 00000000000..94184152a03
--- /dev/null
+++ b/pkgs/development/web/nodejs/no-xcodebuild.patch
@@ -0,0 +1,13 @@
+diff -Naur node-v8.9.4/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/xcode_emulation.py node-v8.9.4-new/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/xcode_emulation.py
+--- node-v8.9.4/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/xcode_emulation.py	2018-01-03 03:34:44.000000000 +0100
++++ node-v8.9.4-new/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/xcode_emulation.py	2018-03-12 11:15:37.972537585 +0100
+@@ -1251,7 +1251,8 @@
+   if XCODE_VERSION_CACHE:
+     return XCODE_VERSION_CACHE
+   try:
+-    version_list = GetStdout(['xcodebuild', '-version']).splitlines()
++    #version_list = GetStdout(['xcodebuild', '-version']).splitlines()
++    version_list = ['Xcode 9.2', 'Build version 9C40b']
+     # In some circumstances xcodebuild exits 0 but doesn't return
+     # the right results; for example, a user on 10.7 or 10.8 with
+     # a bogus path set via xcode-select
diff --git a/pkgs/development/web/nodejs/nodejs-release-keys.asc b/pkgs/development/web/nodejs/nodejs-release-keys.asc
new file mode 100644
index 00000000000..c89b3b37f87
--- /dev/null
+++ b/pkgs/development/web/nodejs/nodejs-release-keys.asc
@@ -0,0 +1,776 @@
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+
+mQENBFKKodABCADiE7Ex8GXnQNgipqbTADO5+BfufYFeq9YLEKkuOUfnjAZ8Wzle
+4eLL4rdfFSuwuUO0rkSFOpNjkjKqxfRo0RkmlMxdHwT2auf/yrfX4EyhyKDn1Vh8
+MP2JecXQN3FVa1yR8AMGfT0zOP138MNp21tNp3Dy9r/ds6ZhttrnR+mrKnhKMmTj
+1J+MX/LKw3o9ERIz0O8dxw75pA27npX1EcSCM1Vcq1bam7xD6d3cfQtfQsidXkQ/
+nFpD7BQFU+nemYaa6Vkuy4VJ11AMLNvzoWc2iHofD0kO60am3z6x8t63m+BUSU5I
+r7B5GNbatekJqu/Qn1qrCjyuXcExEsGnCJl/ABEBAAG0ElJvZCBWYWdnIDxyQHZh
+LmdnPokBOAQTAQIAIgUCUoqh0AIbAwYLCQgHAwIGFQgCCQoLBBYCAwECHgECF4AA
+CgkQwnN5L32DVF2cywf/Vws0J68vxn+ngUzq/wcWlQANfwMFUcD/8eM0N1B3OMXQ
+9+GSlsuEUvh6/oxYxn4EPIgdqsV25SB/fAUz4uN50qvc0ft+wTgh20pnMP0qLf7/
+adb/dBf/NTV4TWzHaUDAkwPXqPd4He7AI5/PZeaMGmJPJmeR8ZM0ZrvLsNTmYV6N
+byWcqYvbbRSNSn4ypb/QbYjFQZB2QKrC1LAW9jpdNnfQViYeZDmoSRaCTOv7SeSy
+TkzOhMFRZDP9NmUvnl3chWNdmBoLls3/lO1Kpuc8h+nXkgU1hUyvsPjs8zBaqUDI
+oMudExnECyEUHlZvVLlfpocznOPqlBhxjR0Q9VRYYokCHAQQAQIABgUCWL7qpAAK
+CRCVUaCxpuKXzorJEACb96lsYyavUJOsFd6w8pgOENJjxZF64JR0Dx1rSsC4VgUa
+m5zVVasJ29oAnzpeCQzt0sazTgLYrzxA4RY/guI7FBmI3p1nwhUCprG5QMuE1iZ+
+PXVvkTNnNWDlpGGSkDyiC0ER3kWVlECaJhDmSDHxVNl+IwXgd6Jmx47RHYv64rON
+FERHfMjzCUi5uLs+zoIU2V8sy3j7Hv10+/zUGBSy3wSaUlmNK+7wkI9WS3BkcQ/1
+6Afet+De5XSVdDJu2TwhESEyXHFgXv9UQAbj5e8/fG8S/kPalQKnzQxp4eYtgC7a
+cq1LGOX5BS0eFdwCnyNkZUhuHkjSYqg6GjEhmgEhUmow9FzaAD2JO8lXMYXtiXTX
+U3VeY92b7gEt76HdefuAhPFRo2DppSQB2Qh1d6+WRWjxfIcVZcMjby3cDzBYZvfj
+Jhzxv+3qSlzeYeDSLZUkyARRshLcd1LvlZiHntveiMuvehemVLcQ2XtCJh6mCfFJ
+HwkRloAswSW1XiDEaybcc/Cok5aPjk/sozVCH1g9lyeQTIQ7QCYQzA2TrfCLOvL0
+9pguTGRFC22ikZzgPD9dC5vo1MvjRczT2g3gDxqrjvt35v3+ZlQ4ZJ+U2G9Ew+XF
+Jn9bo4ZXxffj6jPnFiELZfSwIGP9EUaPXMXh/lov8IMfr37cQsE360A82RRAd4kC
+IgQTAQgADAUCVw1LygWDB4YfgAAKCRDnO8ZBzBH0yHMND/46YV031EzwZL67h+ZC
+SWka9SR+o1XHVWvjLGOcSOeBnD+8C170Q30NYVMEgSwtF8kY0M5k6GlEpIKNuOYq
+NphXkNfn00ysqJ1G8WIGmGnsA/g/4LYSGt4ttL8roW582Ps3ITAYR/OVgHBccssL
+6QdylghWW6wKYs5yoOn51pr0Ff0WyARfQxiaFNtwrZseSRrFlgCgX0+Hrfin1iHz
+l8m/I8BIywM+fW+kk6ixitkFPszvT+9sgLj5viUl7+pJzLIs3GwODkLVCWCetLfO
+XP7XDrcBQpU6OExpaC4ua4tVhfiaTJkYFB43Za0rP8egx8u7tBs9WC6rU3wygsLJ
+uD9sdahFHY4c52eBRdIvAQow1oEj3WW3JIN72TiSOFbCMiFNR1t1nezaokef89pN
+LMlJnzJ6BeKWmiSMsmOcT3Uq8cmmQpmbF3N0cZyOy2MMrnBtm0iIwY4NJ/YlLbAj
+1f4urrAWkFInzWCdE/L6VO93WwD7sHLOcq8fKWv/2/QY7kGP8Cbut59ie6wUr53S
+IEM7B21/zdcrI2ND7R9Bdo0h867NgIuve6EN/W08QbCsTAu8ukdtKOISprqBXQ7y
+7CEUGRFlHbiLfhyaNs1IHtSDVpt6Rq/U5X35Zk3MSsL44ZuTqS7HE/QMjQy8oQ2U
+tJyhZrnOkqHjT+g/kz1bKZ+JPbQXUm9kIFZhZ2cgPHJvZEB2YWdnLm9yZz6JATgE
+EwECACIFAlKKo5ACGwMGCwkIBwMCBhUIAgkKCwQWAgMBAh4BAheAAAoJEMJzeS99
+g1RdocEIAJCkX71Kddk6B1HD9V80dpTVvm+YMup2qca6LqLtsiYE/O/XZHRZZ1WJ
+RdxTGqGLKLkHgea0PUaxrcUxSzibDFJqEcRBz90ojaVu2jXb8Wbr9PkNcV0ABivy
+PCpx0IFUxKj3+94akK9DOzwLpAf2QMSm0JlQhdql8K0JCRyk9ehkBCxcssVKocgZ
+TCRur475lYNDU4SiQoJJ7iFirf1SvNAoeXwXiqDAR2q/k5VrANmfzKvmQ4UMciEx
+vQaxc+q7LsBI0/EzFtWCnhPabEzhY8lzqsxlfdEbFXWFO1V6206FBYuymTE6IDxg
+trhVg6FZgmWSrxnWWasJSZxv2iWhwgKJAhwEEAECAAYFAli+6qQACgkQlVGgsabi
+l843ZRAAsPXN0qd5njBzcSMOTSwYVOX5/1NNWI4ac0kbtdgh9bvcWxL1OtR0nkiA
+6evmTtC7HuMSKtviMtpHwIHp1TVu4nuosFUJaLRkxv43U7ReQSk8nxFWBcucLIaL
+8/V89YmLH6LAWEr6zaP2KoRwDLJr5mfpU8GLaBVittGzxN9llkmPRA12uS7HHgRq
+i1D8bcZVj4EHoB4Lj5U0L/GpqgU/UitUR32fmmfvzQFMWVRMfJHP389Y2lRbcqC/
+rZXa2USH5WC+oDejhRq50S3B/v1jB8jtYtWZXmYQCk98KCUB+4ck8uSLYZGtZpt4
+lb2ZSFb3IhGAzJR5DBgZI6YrfwnBfOxdt0VWv/pU0PzNGbl/iLRWFI1aIOcIsWkV
+0+XDegde8kTdhvrlbE+Dst8sBdIKN+4BJxkGVlugKFnlLcTPiMAsz1W3b0wT3PgA
+zSYgf32KUCtxSgJO7rkKOf1vzcuH8L/MYH6X3CV9Zm4ZXXbTSyMp04LCJZMO3K/L
+4lc+sYs/KFJCl5mt7zCXs56ta522TFgg+4JV7ZyI+74ZPA+MJB647cdHiNYMIh3r
+FUiz4PJRQCu3NdeyCktChASFKag2AMIKEKeow5z+e3EE6zRy7ErBBLb9T/14BBPn
+5FRSv0A3iiQVw77i30Ds1YuROX7sWsN74sgJfytLiy9vdT3Jiz+JAiIEEwEIAAwF
+AlcNS7sFgweGH4AACgkQ5zvGQcwR9MiizBAA5IaFWe3L1TckdaIu+z/OlxEsL8jF
+NJVCXdjUoOUk4PKf2BpMbWXM9N+JrZw3kjyWX//S6Dl5Do/tO9JTMX0btwIfhZUk
+uvx7H4Oh38UKwkDl207DF9JMDeU6/h/rsWjAmzVLxMhdbEGIDQlhjYgsZbJjC5be
+ZDuYfDKOye65HUa++O6h5EOBd2qLRl/pGJHLlAiGPLtwY3jewEZlCrlO958aTkPl
+AHxh+ltRWLd2zYF0xnBaWvpFOVArjDNkTSuyYYNtBa6OmKPZ4BkPQb5Av9b9GCwJ
+2dxdlUf7GexBHlANRbAcw0kXmCJOYLxxOx8jQRnQ8TLiL9Rds4c+XlloJfYsD/Rx
+vIvUAKMqFEXmMlBnO9VJeiw4r0F7pNH6VYp7bnz1NiW3Mimk0Kjz2TTOVpfR+kht
+hMFO+oCpJShsfqq9WWX2+MM/dC11oIGfr/kGqK6DSkIbflkqFnBEVuM+uUe0OeDV
+IWrEF5O22+pGeC0Yezrzp4x+3lL8ObsFKGWwxTdmbpIcR4zT+Er3dPAdLBFcm/Le
+0Odjv1sj/LLOC6FKg7qKG7raglkQSMEF8DAtWkE2H1P2ywvky8HArk5OM0LXcxub
+Mo849kZrLhGblt8+zp32fafsQEIsNAzoqCR50XSHJhMb0zmPmvXCAfsk1wWKlgFg
+M7vo0zXSYLg8ifa5AQ0EUoqh0AEIANGUbt///24seQv1o9hgAWJ6i7sjC79jCH1m
+tPlLjAsUcGg+16fTwAlII1Z2ffXYKs9MvcGBNVdxkR8S1g+aYM/ds3hY2CglHe7z
+N+/pkYr5I1jchmCE6LQDbGA/yIfiufMkUFB1Pry34P+G3mcnENfeETns/26yCSJ9
+plysIggJiPKS3ihrPnp8qjCEByzBn70HRkliS4nnjws1aSG67aWUn0RdELrK7Mgm
+EWRacrMu308pgdn7XQ/hUUPcsOAqiI9tc0xeG2FXEg2WS7aklqAw7yjEpJK7qid0
+ntEbKy3Erlu29ZxzH/kphNJH5eQFgXJ0guhG/Sm4ljt45nn7H+8AEQEAAYkBHwQY
+AQIACQUCUoqh0AIbDAAKCRDCc3kvfYNUXVfxCAC1ajXnKPFswIU2RgJETuY1GgUH
+NL8oU3bp5oGhocKPcDPQL8rLZkAhTfKYkRoc6hLS5wcgz8FSEEz5oMesBWCXSZBS
+8xTW0vgncbrTUVnVmCAz88qeQ7SA9RVmgnpgKnVAv46azZQkB+x1FR2scSEf7uoo
+Go5zxB7LvSwRX+bgyct5TRcs37lLLaaGlgsy7yrcZYqqUXjEOGrZ78KMNDifK+X0
+XYoGY+p4sCfl4Uf46qANa4shQMZjKaWGZpiqs673aIg0MoZPCyTTO6Atfsv2Li8E
+ossDZpvJuroJFZw5zvIEy7AiDAcCZjMj8FLoLzom0A1FNxCvgzOraMITOobsmQIN
+BFM7JpoBEACmf7uB5P5QJ8X38ARQn+dr+/O+6/wzkKzUcoFvRArwZTcpdEO/0C12
+kNSpK2UkVMh4sorYwA8W0yv3spZJWU3TiIfCVryxqZaAWEIU+dwsQ0P6EAUythjd
+QEs81bG6aN0dUqE26fWjGL/mU7BPtAwfzg6lty2cwZJP5zaNCl/PjRUeTKC2oNas
+3M5dWoOqWq6HLPqnTEPHPlZ/mhkOfLOnJA6r669sQcml5R+Lhwd8wdJp+ANiDLW6
+61MmaiA4VqjEXwsXKK0KISWftEgd9WGBsHH8rn4KdKj9u6EtnDlA3vaPmADZmf7R
+VSMRoMkdiswFqEIMQuhTVbqS69vyhtByQs1fhriYrPy3OMeSMjJ/zNDCnHTBuKxo
+NHgMcznVu1tjz+ggso7Whd0IiXEaHXhF5ASWnJJa+xLxXQRQV2X1RXEK0bAySX5B
++NmxJRVY+ixpO5TVhQhzzzL9Ivz4z0odlvt5VJJIHHFIAWkgXRNAo0wgDzfe+jHO
+E7nz9uzYsqDBV25Zo22oMZURTBN87WZ1TFpDiORvvjR8QXJIBIUvMHAhG/ZlEkVo
+poNaznUOplnr/ToDpA1RDrdxeUAQ1i99EeBtXRREFgByFvETnVCkX/pvQA1yFrhG
+FgqCYBpN4IK0UcUx1MuwPBrfZxbL/cy+FhmJqutB6ufaJzatMQHu5QARAQABtClr
+ZXliYXNlLmlvL2Zpc2hyb2NrIDxmaXNocm9ja0BrZXliYXNlLmlvPokBHAQQAQIA
+BgUCVu4HLwAKCRDCc3kvfYNUXW4MB/9dLmaZaaPUPrEaUQfN6UngTKRNLOJj22FW
+2S+e7ALUcA808o80BaK/9dk6mmQCD8L8INRzsNOyBGfN3KL/hV0Zg7BtX2R5ed5p
+0S1CmJzsutV6AAsXJvu73bOCy0QosnpsJDRx51k/4+1jUt6PkTMy4YxbVDDBRQTG
+DApi2EeX5kwaw1jNiubsfOPtBbyuZbXS0IBKQREFwXtbwUmEc9amw2QopNj8N8Oh
+eXbmc6AjiZUdDjOj3tZ9oflc3t6lDVH5EypuKZbcR6fOf4AlrXnuE3uHYMW57D/h
+QL5/BMIe1fmK0HYEwg4BaLqCu9lgsYTYJtcTHHfisRDMs7F9Wxw7iQIcBBABAgAG
+BQJYvupKAAoJEJVRoLGm4pfOzKsQAMVG0EblgGmcLA+VKZkuHtOgasrBBJXkxDnG
+B5Xepg+1hOduxkO1rR5tGvejlWhcX8S17o1hdnl2LFdyzHwBU+i3BYYDkUFOWkO/
+mkUvB3SPyHuNMRxZtNne3aZ08Sl/3yxIJFiEvg9ZPS3NDS9G/jxcGzP4b9FHE170
+34BxSorHQxER7upkow1eO7dhjTCRVeDggMqWPYUjPGLDypiZHfkeItHvjTYaueQ9
+oUzFzRPLOBaGVl+aIlojkIWWv010Dk54/uisEBbFuVoX9b76dBx1INEVLEb66MvC
+BLhqsDH16fyj0tQEaTjSSdkJNul6n9DH2idjEkIf/+sZ11B7rW3FxuodtCB+se3Z
+c4xWWtuvahTV+UwNiPC10pOUZbEnqeo69VpETSVK5h3jQ7HsLiTIgAVgwEUjPpLD
+GsFbJ9VB9m/OYNmN8gtk67OVTu5IjHY06eifrHzBNXNf7A+udJgs+PSxfFd3jOuP
+uaR80cU3gbhbzu5LzDWo37Zj9o1MPmSENKEGnW576RKZ6lJYWkpD7XJlwYs9mPse
+LScqT2z09G4N0R/cgxGo1UCSuzWxc7eTFG8Q4kEBul7KjA2t3jxyzALbbcGDbnqS
+Ufvsr5jQQdwh0LU/xDL2sAm8Z+4yrU4mqQFicWHDCOQPUF/C0GCMbKfbqqCC56Vs
+sToI7UaTiQIiBBMBCAAMBQJXDUv7BYMHhh+AAAoJEOc7xkHMEfTIBaUP/jguidAV
+f1iW4N/Hk059nISZM0RbjxXJh6PbEgroTzyEEJljV4c8Yv21/wMXiCklNmVhVgcc
+OoEqZMwDAz2vu4uDwDk/z41rM6lkFNVdMvBx92de+WjYYsdIBQYfklRY3LeImrkV
+vHW9YW/yyqjh/wqVKpfMTuUUufaXgr+hbB9u5UMGY2dgq+3bTj/MqgDHa6sazam2
+uU0C95CCW/rY0GzX6azVEJkEacSlue5sX2/y2UCpCI2oCc5w1NUASSYpiBrTajnE
+loDYpgt00deEonGrhTZ4zCRdHSBaaAZbzZ5KQ7AYfRnk6C8Iawlhhm4TirQb2bXq
+Oj20E2ly7tpzeo1F0ZdOQQXuolfp7Gf5UQOitMqdUeTQQ0HelWqfOoGPBkbXcOwJ
+Kz7ptfESnBD1JjNVXtBIxyG9rCeqwJxNcTt+bWrXaqfybJFUldYwKmdITnsbjlj4
+3ArxOUm/wfxgg3uVcshZ1g6etU3t+57rTQHT32VdPSKKW2AfzZS7um6+LypnIch2
+ve16PzM22HUWpounMmKc43BNa729+3R64EJ1/0qftiFuYoF+IAIkePcLc8qxJxJ/
+TJbsmSpThLz65645wbGD/b7Bnbb80ewBFMwivtwc58WSi+0oWhbuGUSAzCZfN/7I
+hcPbWtQjN0W4Fc6KCmAiIyTML8Z1CJs83k+LiQI9BBMBCgAnAhsvBQkSzAMABQsJ
+CAcDBRUKCQgLBRYCAwEAAh4BAheABQJXBCGnAAoJEAn+RHNOt5kOLQEP+QHDbHiZ
+FTkJNwmx+3+WV9VeJanGXSjccM/yA/lS14PcD5ic3rm0ttI3xa8FmzePZyH17hQB
+R7eawYSrWNErJr3ODd+P8rgXy2PVr3nUdQP+jIgCcbLiGgcFaTtYnAiBXNVzZHrS
+xVKyzxECHQAtnkarIzMmVTpm985nwcSEUdj87cqFRwS4LIBDme8q+0lI+WMR0QaG
+18wO/70/7jnw1vP8J4Qn6W9dt1GTTBpTnIw+PF552YRQy4V+WSPVcijOp5/8+sdI
+DD+g11TtJLpoMsJtqNJS8XCal0LONqN7noXGc15BU9Y8LnhEvs7aG/7R1CEOeR75
+ifWnuUIrKj75xg96TPHhwzKKyuhoc2UYf4hhMgDaZhY6YrZ2LAie7CQneh9uWZn9
+Ku93UMWB01f/LyVnDrr0scvZG5g0T70h6woYuf3hIoUokma/cck4svcrv19gQ+UA
+gw7PbxbL32oaX5TShLh6j13O6UNqwYZbDslnuyp2TJy72TM0m1ESCZqF5BKZXvrB
+vvRwIkD5Oi+Y7EJBuT9ZCu3rPyTNoRfxKKAcNV3lSkQx32tucu3IYwYS3twi9y7/
+uC0fU8UQw4wDATi91vq6t8+nFMBfuZC4ZklG8ztSbF/G259WpsSuQsprFge3KKBU
+oIEde3zdEC5i7U/Tv84ON1iEoTyalDnfPDjoiQI9BBMBCgAnBQJTOyaaAhsvBQkS
+zAMABQsJCAcDBRUKCQgLBRYCAwEAAh4BAheAAAoJEAn+RHNOt5kOgmwP/i9jLD0h
+yEyusmJaIo26TW7wlN4gc1rk43AU4WXrlar2nCbW3wd5Mq5sqZPCqmOhGxXdCVP0
+Y1bXSunSQnmGWaWRxo/H+rhWYOSwICGnc3JAjSnSHndgHPBkqyw1qGivI92xghT7
+WPAn/aBDH/VgQ0LuDPeJReDFc0KFCpnxBql/eBVS5/D25LYyNhFaZcCZJItNzieP
+dJfhGdml9NoC92AP2qHTO6UgrmPJKlxDOWIEs8ITwClZp9Y5jWnSY1xhQYPfoa2M
+87WbDJRZ9XMrhUyGuqdoADdsnSIKIr+So2QOM3dPsQ/Fq6tkK9tTBlT2n9wHgmuc
+uTuT3n27GkFIF5Npz1/TnsGM8WzIsBmfOaUh8DVcurhW0ovmq+drLV15FillcV4r
+hAMBLKYquj35BjoxXaX39NKjKe7+Ngh4gUZVeQPeQtQq0jZ4rEd26x5Pj0DH3Jkz
+OaphQjS4K1Im9fZ5EL+mJ89AMKGSmMNAGnivIt84CUd6i4sT2a1YxUkq8HKQJpgr
+nPMkWpsXpq0+xnr/43CC6vnalEUjrKsT63ToHOQGRxK7RLBbUioBVy0tWKKr3ujp
+W9iPefELT8Refw5PIXHXedb8cpr0jmblQ77DM0mXXljQuTjxE9VaakHA+RwBYy0Z
+zdMMKKTcUXcHOJJgZ22RTA+07RO5c7NLkC2ziQJABBMBCgAqAhsvBQkSzAMABQsJ
+CAcDBRUKCQgLBRYCAwEAAh4BAheABQJXBCF2AhkBAAoJEAn+RHNOt5kOABMP/2Df
+9RUECEKAoxnUQvDpdki0UTEJvgjdQVDonztdpGw7kaquH7KLQBxacIU0J3KDr5Da
+60RyKL1InGugbLRIt/iMbLn+ENPsIGOHAJNmIBXvChwUGFzGmSRKxZG921DJmI89
+qjtFbK0nSy3m5AUpPAmj3UD+JXGGc5QIxmhOZLcPcY9YGv0oQA51ukiycgy8s4uZ
+7SuT+VYk9wMA3EoDlMbh6nwJjaiz9eunlqMF2aB25Ri6SxtXLNJDhuTzEJSVZQTO
+k068wBR6271Y5gC6K9+DPqBQeVXoKrFzCFfGmaMAkiK25WFfwqJJKvejkWNi0FwE
+tlBKOc3KzCG3rV+0FYu/4rzNL5j9EQuMZIsu+drCz76/hA4j/sWOz1wqwRMf0197
+/EqnRVXHPnDIa9h5WbCGTKFbVaXth0bP0EXgCZ1IxFsZh7JjtVSUHYDSfZc61npe
+zXshg1JKEk9f4XIW4PoVpjrIKWFMJ0ILsE7GQA/MlW2gK4CpEMAxH8EuXQPXEHA0
+yJ1pKdpVfO35ChqYdVBIp/oNkAbYp+hwUe44/TJsWN7ARVioH9JK+EHef+QskZl0
+796cQLNW9I5txkOpSQ7cSbEF4SEaCGS/gHVtFo8xCEhVBt2ElBHeQ4Y7B4Zbv62e
+yM44mcJTTxP2SoZ/dwyFMUEbJ6PA8HScDLbFZL74tC5KZXJlbWlhaCBTZW5rcGll
+bCA8ZmlzaHJvY2sxMjNAcm9ja2V0bWFpbC5jb20+iQIcBBABAgAGBQJYvupKAAoJ
+EJVRoLGm4pfOpIQP/36ItdPwRczrB8eH3ifzqXCJXoeOZ8a1Ys/XWtzGp2j7+wwO
+PwL/t5YY8oxbZarQr3QX2RRCIiz2Ftjfea3/AN0J+AgFs+0t4zEuBkVX17SUrp5T
+Gc8EeyH39KHX2B42VgFmZyQPQMxbg/yTnhH6qUeUuteiZ+mFBhap/od+ORHfZzk4
+19ybLpOYPZPjSYw+XKgv+mLt+59h2Tt8fCy1mZUYuQOGb+YJ64Hi4IQAtLdL3x8d
+dhhG6pAsXDU5ezb8obHpySQkBqVUOcUWSYPU6p92nM0klXA5QvYuynxl8LRUy1Mx
+FL74o7aisQ3CKzIxXFkoAeorYWAAzBVDOIOiI3aEFMxHu0FQIebfI3ln0mCwSCKE
+IlrTWdeBFfJ1m9gTmbrA9ljnkMXaTcDWNszCjB9btcxV0nRqQGyEZ9wBFMwrLVy9
+cNiJ2qophrha5OmAN2lwVlKUTwTM7zisgpAPs60Z4OPsKUQ0wTjqLp6Xmv2xiTdX
+ezBEQPIBGRRcUSwO8dvKt0zRZqYBChIsgWxyTK2a5eeiTpqD4g0W8rSwf7i1GZUl
+ZR4PqgeEAuRw8ERz0o9lMuYYLBqnyMnoar+MPF/tewiKgQsiaVwBGsy/UFLP6fEA
+BE0cjueF3AtZscR5WU7oT1Qn8DzoVC54GG5QfGmV9bgRmeyon4ksMFl/6SDciQIi
+BBMBCAAMBQJXDUv7BYMHhh+AAAoJEOc7xkHMEfTI5dYQALdHmZ+NlBsDOrGCY/kn
+qdsDreLnmHWjoK3cMrU5jkO7PgpZybjlyx7fI0A/q5HP20ZSg6BuqEn2wmLPHW34
+Xpdcr14XXjU2fZkRDFV2X4XM30to+MViQLDxcy32qguuC6HhoZBbGGgUHZ9kJQOY
+bBb6BerpEsF+5/1kUeLuHDy5BBLHWmU+qt78Qqrp1mOWE06abKpkrdkIR91FVgmQ
+a7ILIPjXWfLq/AukgZgv/Pqxq7b8wbSAKn15t7v4NjCtMHYVSfNPyRotO08H7cME
+6KxdnIbyVBwoCx0K8CAl3vq2654Z5hy+Y7Cj+ecxXxld8RHpZqzIUaqGaG6bf2gW
+uuRpFcOqDUKT7DhHK6Pg+TkyaVoh+K0ORk1B49EPY2v29WGe2TlrUJhgmecVLdi0
+ylvHF9FkBsyqxMFFm7Ph4xqa1O6Okyng3KLX/A/Il5qlI90dRCiVUMY8zZd9B1Qm
+q2Es15bDdI13YG/9K61eoO94kD6af8w+PAPmTWok7nxr/YlZ8hgo5o8cApyDHOnI
+iKF+Kk1NUeZqLjI5Ht0dzcCyE1+Kjqh8EGQFAN4AijT2ERApj1ipRqs/KxDpoUkJ
+jkJ5V3gfIKfsTZDYLVh5aqm46A2pg8jd8rhF1dZCl8XjUYylSZCrl0bLZkV2/sFS
+Y1w5mrUJlwzd5Fp7PhWWbKR4iQI9BBMBCgAnBQJXBCFqAhsvBQkSzAMABQsJCAcD
+BRUKCQgLBRYCAwEAAh4BAheAAAoJEAn+RHNOt5kOMjkP+gL22iXwbP4B4WVRScj5
+FFjT0lm3/5nP8Mg+RYL63E66ZLcVH76B63s8le0u7IGtUpj8U4DX6EJx0ihJqROp
+o3cZrBKj0OYUz8yUDFk4BnvhqpTmACiBaVBNSlQHdTMT4PR+j3BuWpzOiwthPjYg
+tDd7Dm51hsJYg7kuFJWDYPdnP+BqwWksHx75TSLiFWzUXmFRaAvLFUIxu+9/fptd
+ITHKAOBkJRAInAd/NcAiJBjDFTYjqqztST6xv5cJgtDSpR1Nd+dw5A+y+cfcN1vm
+3prZgpKbj5F40q9kDqE5GHJB3gEMh9PF+SPdPeudkafLPU7tQ5x6yo/82NyH1Vvz
+mPJ9S5fBK5NWvhs2WIvtnU+3DiCbDX+m1lVDJzusuBAJKvR4Qku+CT2OcjONpNpv
+09MwOro075fgKmFrtssOexDPp82k28qrA14HjuRH3I0Af4KfGhU3cL4DE1GB0nib
+QSjPGp516eiQtU2YTZUDrONNfquNIbKAVmHsW8+JCXS3Mxn4ShWv4+rG3bcVMKAC
+hi0bm+/U8lFiIEmB3d+Oa5CFV483pAofbyPbC665t9rS9ihLJDI6684qnK+FmLYO
+xuhPT1U4WL9E/+09VpnafrL+vrHXNNhLf/V+uJ+DvqI744j6d3zBlxl7Re5nOGV7
+j3jsizc0PAyTfQy1SOvc+1r/iQJABBMBCgAqAhsvBQkSzAMABQsJCAcDBRUKCQgL
+BRYCAwEAAh4BAheABQJXBCGnAhkBAAoJEAn+RHNOt5kON3AP/2RfLbVPFTNaNktN
+RRBzO3AdX9F5WvvyTuISP1yPXTyirrdTyzr/mYzc9/hj3Cl0aXGmhtTMqyw2RkG4
+Xvy/Sz8XlDxDb7+6H+DnNrJvAPaspCL0Nt8xQNKqnfJaQzpWOH9BMuO2DbBSYcdH
+gbWtrj7WRVJHMrvkMb+ZxFQBoXGGK1qYRy/APqYLWEA7iwahlkfF9hLsqKxq0QQF
+kn/j3C4vir5GX2D5sE6DMTOwbk/WjbR5B7ClsLrcsJOjRQS/VR7bAfmSz5SbQaLG
+ODshpWmm02cVBSYFrFy3rI5c1XWsRPUyVMgeV4Xet3IqPIeF2V+fUAa4pAZ/Kum1
+D+2+ww04s5ClLxIDDDzQtNMs51Rysp4e+512i3PlFHThpzOdyecTUuJ4rzdlkFab
++xF+GgWb3e2RbWO7cuqsreMNKJZb1B6qLBgpzKkgdhUyh3oWvm5VCGwxyrmI/fgt
+PCfhV6W5MrZon9KJ4Bjac6YqurfEJNJNY977N7pe6+bDpCMIVTAzI5Ts0ghcticQ
+vMONTPqtEkQ8tBpGglJ5AxdyeRqC1SFinLwcRt+BjB1rgMA0/Jq2/E7ztMdKcWDH
+vdX334gTEaNZnlWcHcVh0vEoQAQCKrslnfvHktxbFvkDTC2LpSasjWkelObbVfxz
+qpGa21qQV9ZfDn1tpdG/vfz6FTxDuQINBFM7JpoBEAC8b4+YhGkK7yqWzWXMk3oJ
+HWN8wYU8GkbURn52jg1yuYS4cJOH9C3T/iKAMsUYGIjIJD384FQX+V/vOJEWo32b
+O0L44LHhQtZSxO27Zpm4dp4jGVK0vQTN7w0ov8Eve708nRK+9uHO0S8Y6/6Ex1iB
+EfU+4s8vOLMg6jW+D5rfU/y/O6iFbZDJWXDrVLmEM5yViQNR8/EpD67T9+8wBRcE
+Bxwa6zeezh3Y9p4GOqK5JLwx8LDrr/mPfgOpLlq8l+yJHSHVz5ZoJLwY8TE4+K+I
+7WqtNcuEnDqSHrOocihIwFycY5Rp9Ta+PkjQPssymMfAIQhaBx45SZGwTybp4GB7
+j2oQ11dUYQtCBV+8eB8UQQoo5EocZfuSEvFU9kvdmFCt4Q8tebveGm+MHu4FQEox
+pplg4ei2F891R38ldG3VlDbjMJJ2oaknvHWsglZZWj0QztCrTC2+7eDq28s9/zKg
+4FxDsG+LcFhg4qkABkQZp3s33vWkxWN5Vgm8tvXn3mcibBt07jZhRPjBXSjHJRO3
+HYxJGvWm2++Jc1CuQKjvhDR0IzTD+XBHYg4ajmYcpIsGXGQGNOHTWfoi/0AJYYCq
+nAm+1kqUHsub2DNccUzZY88n3LSelEMZLYiO1S+yGtbte2LCO0zmIQF4JOyWFkfO
+mAEO/Q9QYdTL344e3H0uVQARAQABiQREBBgBCgAPBQJTOyaaAhsuBQkSzAMAAikJ
+EAn+RHNOt5kOwV0gBBkBCgAGBQJTOyaaAAoJEEX17r2BPa6OgjMP/1lduIq+zHYM
+EWBfdBeOsxZPVc9zt2/XHghbblvsJarQ4blasMiAkJu5R+nnu2DsL5gUvPmOekrk
+e3y6/Ioe2SBtLS0i41pKsObpfmoLF5GG3JAoqOgpKcr4WPgZ5Kj+FZDeMnQIIPFA
+0XXcDrpiD/IPbtqlrTV/0YtoRQiISNtcvpeAudADAJwROTEcFY+WbVdPs/U4SMui
+ixZFZSLvbatrHnm71Hi5zLeZPtjcMMhuGcnl8GBSD/jFz0XaJfImqtiZHnH1nPjk
+KcXV7afBZJRJ0dCVyM9uJZmsIqE4OCXDcyTTCZY/V+A0mDxNcfHZl200grdIAmhU
+Z74McRpPAvyj0fLdmt3XJ74NaF4rooRibOf/5kwWNoSSThKbpxfdmFrzfPvBS1P6
+MtGKfJ/bCq7BUZ1wnDwxSQ2G/X1U9sW2b5XOJX59uI6KZy4qyrp4XWNSJdKiw4qH
+qy1z/6H4nk/TQLQ5LL4q7vD0FndpN7eK6DIZYoekC1AC3iXTsKFTIqh09uhpIxeI
+j5c/lyjQpm3sWCEoLsGfW20kOPvQiBuo266IPCFoeEZgHHD3RGmB1c7f7Bu2DsHY
+5SYGYvNMlU1Yju+ozMi9onLRkLBKE1IJhPUVmTST8Cw6LF7kZuGGLujwMKgBkLWc
+z7EdivTjrXc2U+znZupWTxzlM76i02APtQ0QAJB3IZr6yWl0cwtWt25tq0FUlqsf
+dZ3S9QfcFrkiv02NISmKKNGhB59sfXBJRXT8C1BjYvA7OG58UYrnE2s5U+g9Nspc
+3V9TAKS2xoQYOu/ZGmv9OJi6o6wATbpR58rvK8ppv2cRVsE+rohBGXylISqbFsoP
+3MFukjr7ZYsxb4+ck9bPl/aDc/F20Wl95V6rSjbb4vqx0YcfxC5Cr/qh3t9IHW28
+fHM9ey7Dsy9QtGgaeqHZ/ffoPMyiEFt+zauIj4iTrru44XhGss1F8NVFvk+INxMC
+4cZoO0mNSkGWsb1Y1mXCOj2TdaFRYU+FrhkqJEga9OH4LjAmYl5HnW7jU6VCMQXg
+wlOBmIZZlKdMpu/3jYW9dCkrPkOC3o1oYNzERc6PmiE/xVaUtl6XwfydyiWM0RxP
+bL5JTcLyjerTHO/qNOVlH+mLXkTGRniZ/tVB0+QvBSvCnXQcxG3ynEIGNOe8QHAx
+UvKrV+jnPdzO/cuJZbxEFi1MFn+wW/bFFxqt91V4ZjmvtkpGGWQmPovzH3peKTsP
+lv0blKIgSLpdfdk4hqJXiYN8NpUW4gic92tTQGDWOoFZBkOqMS99EdggNCl3cCHF
+u/nonTa2Xqzb2AxPl1hEUTs6FonQIKmGwfrqpw+9YiazJDc51UnsBTd+4VEVUiBD
+CiiFOkooIgZMny7WmQINBFZypZgBEADeIdm42LaylSWw5CosOAte2m6S9DgAGEBr
+g/yHSFTZWz341EZrlq1fghIC9nHh09wVlJNOOo3orB9tYoJ3LArB0MQb7Ha7dcnf
+n98O1od0T4QTlEroEeJaOfuElLD+5b9HVYqhdRtMIFiUTfSTbEXbQcvZhaLf3M8a
+I1G+poPRYNVRx30pX9PM5N8DDmW8Q/xYg3T1uHuYUmd6HlzBiESNE2WWcJoxoKuQ
+R2Lk4Wkt+qYnxdHH0vYIsk9mN0yDySpPEv+kzrAU/UuZ9Ve0GhlLsVLL3yHFUjLQ
+Ox1gV/ofrV/v0vcWM3+rRovU1cFPUUv75mzA/TJ8aseAbboAY84RyF0b4jQLOmiT
+HWdDMSZwDVR05r82JqynI0GGfXRgztNpnnebiYk5QLAqvUzzdfRMyrU0SSl6VDCX
+UQAEz3CyODwJ8GGk6PaTQ9/9vmt3OY4leEEf3SrSwH+l4E8Z59gCvAUx/ao1pIac
+PdCd/kdx1mPVcwxTjiPDMp8sIeBSdLt9Lo8jt5m/92nKoH9SnE6L4snJVvB21mfw
+RxRj1cWmeZ1+BAC7+5WfcJRM6xhr7XXeEmZO+QQYjLzKS1t+zIsv1modQMl/f2ci
+Si1RTO82mIEaCfRBXVEpewsRV+nikjsAJ9FOV+kr4NAUIg6zg9QRiHtTulm3P/c7
+iRKFnbdehQARAQABtB1FdmFuIEx1Y2FzIDxldmFubHVjYXNAbWUuY29tPokBHAQQ
+AQIABgUCVu4HGAAKCRDCc3kvfYNUXfVmB/9pxeCKnQlj56TKRyKwp1vg1UyWnse+
+OF546ILttRf7/6GE5BfmOQZ6S6SnvEr3l7+2QGlV3mPEydKpxwpn4hCWgjwosDNJ
+tBxbNLwypMkAGNxkb554Fuj7jU9qg90oX/EqEQpj2nrM1/pjsaDHOF1wH7M7k2fX
+sWMCjoC7o6EzS9OzuNlyAlb50t9eUB1ZoaqS3LHaMwoGb/Ou1emZbd2k5Z5zzp+j
+cZXHlxPCJ2OCLOtlrnQMW6QrAMF1Me5c3hOy34GhlzkIWJUv7dQk+GGM7/YRIDmY
+sSSpyllMU/oSGN8uAwVxfqWi9RAoNqHP68uRKhAJDtsARh1wS91kg65RiQEcBBAB
+CAAGBQJXyhfIAAoJEImmV2CeyUCYHYoIAImOHk6YWRJYvC1mq1qnctJuhXoZOt3j
+aeF9gIzc9qyPAxf0tChn1g4pmhmBbgZmoIjxHuB1BqgcV1Y2P/1tW8mHJdJNbhy/
+ndQl36EgMYzVEt2mbuj01BE/eW12h10KYC1Ul3rXLrhUy/Ig5KUT5aGIrDawx3kx
+xDXafsjS7R9hBhwz6M3LujgBvvsyGgN2Crh/h/hERYZ5ckXNlixbjez2cB2DZQFB
+vE4eKqBGRAj/Ij2JQljHKt/FczBBhXDCVTW7SSeGi9wPlpgj6w6NsTSiKRCi85s3
+BtVAH7zIy0YxxmECUEeqRQ91gQTcg9YqFdhIJY9/ze7xMQKTRWqR2JeJAhwEEAEC
+AAYFAli+6tAACgkQlVGgsabil87JwQ/+JT/RooAGS4d5Bg3TyZQOSfw3v4iHyV+V
+P1U2lyf4s9/xUiAMw1d6JH1Evu2K5EcS9biC7JcnRNWOGlnxTzShBm9dP+itpeLx
+hAEoWjRBYATgWn48PpiUIejWzlkp8ulNR8s3cf7Pj9osXHx4ml8I+bOfESKffilB
+a05iaJusPraZvdxkGzI3oPmFY0wMKWq0YPWDosik499ceBZvLku8a49GFPDB0yoe
+0QJnYpx7J+Gp84tXO9YiOB2hAZUiLBlEJ7DAxxiFCrzWxhKNVuh5kz9/aJnL2slY
+AuifQ3fwIBJvV0fgzwuAgQf0nX14zhlRXnKS04nKfJVcDaZ8FsMliYndvNBImQFY
+Xey7HNEZyutEnS1p1BZJRDEc/vp9jBfKyQNU8EO6WZ5gy36CRf1cd8zf3QB/7FlR
+WlDxvqrrfrjSwEm/cyA8IEoBbAhUssMMloV1pxtb9mGZZk/QXt6eZTcNTBVZjNQY
+VNwnuKPfNfgX3JQ92pwqg+pb23BPi4NRxXBAzupLpcwG1lTC5cG4PLdJtut1LJSu
+p+0Fbm0/AesHCXDSpHz/vgmlcAX8feaEzq3TDsj0ZOD/Fn9EN9127WebR41XYQk+
+Xj4V70VWy6esS5ECLioir9rIba0KhJlGBKh+AFnMM1nKiv7mzjNfssOuwKC7kSka
++VY9/qqUvFiJAiIEEwEIAAwFAlcNTBIFgweGH4AACgkQ5zvGQcwR9MitRRAAyWkY
+hvT5ctDMhxj6KgQVn2Vf+j5d49Zqu5e0piNMDtjoeudTeFFDhEHZPiP04vRre3+d
+rPdgUbm7UpFOSh82cIODf/1NhLiSjKL4BKS7UF+boD9vcRbnb9VDzsMnaxyfZ68n
+0lAm1hu2GD/At+bfOKFbdvTkDlk6byikMEKAeLROC1+07aQbtscnpJTDqEyi39gN
+65SXheghpmDZUrjt3LGlSgeEPncKhL6Dqb5CitEnX02Bs9LG/f9yk4PaiqSkkGsP
+3AXLrCRAEloq3+8JhlZI643uz2SYsQPv4PTrCuYhPua3+/nL5ONxJ04vhDwckVb/
+hupEdg0hpbWmen0149YcdkGdqnNrL8W2lDFETO1zN0vKO09L0wJ8aSshts6/sU1g
+vqDjogPhyL99XMdeaZn1b2czq3J6jTRaKV4fSub54Msm9UbggHhxZrO2LByTPzEk
+bCbK4tAwpQm/sZa0/V3ORHGZd1KuwtAn3fkQwNDsrFZl8YdgZk/TAgGR7Iq6DkYp
+UG5mtFjOrjRNEmgXDFESJsMmOMlhL/uZJfE0g5qlRkOFfqci5sc9ovy5F2OmrtSG
+g7ZTFsG8eF9Cdlem+6iwLVeccHHOjCPRiVfJEIe3VrhZVpMV/MUWjnc3ikzrw+T9
+ryio7Y3Zv7VTM9D75nHDD9CBtBjWw9EParmqWS6JAj0EEwEKACcFAlZypZgCGwMF
+CQeGH4AFCwkIBwMFFQoJCAsFFgIDAQACHgECF4AACgkQtjtTWkwgbKmCbg//VXdM
+k2GkmI9QVg7rAfBqMIVbIj4hxTvm+yz3DTutJjzlPHpiQsiA0ezGU8xrohz2s8Ve
+M2ICtSBGdWtuDOPN4vudwarno+56nIdwBlZSgPaJDxTU7CTrdEJG7j0xs7VPvmUn
+4lJzaWO4TANH+a2VaB4NQSDkr/Y87fxI+Dz0SqIjAe39MEnkJGMl6I6tYpXGQ2CL
+pPYpencQ/Ji4HOR6CXAiyIbgVIag5RDB/9cjg6qKJwyTFEoSajmRPtV6esyesAXj
+AviBhnn6fFMiL7prU/PZdia0uY/ugyz0QuyCqKPWXHSsHV/3q1+L33ntrqKwy/7u
+uKDdaLWBHmXc+e9a6vmIqU5cqgPuJL5s8ZelbM9IW1TrJLbSzk640JGfsLuuHeFa
+XM6Jnr7KmXBE6yMMvtJZ4JDsbEHYdPOZDv14If2m0Yw5Fne28VpHTGr5n2NKHmh4
+tfzVlogWZ/DzNxBYTSDVYAoy3X8A/oByeEhWQl1plXMSHpaPZGdGcIeui1Yg4RwH
+xNnv6a/rUN+4VuUo9y4GFJUypBS+IkpXIm+hCi+wTZpkbZgw6XZ+kJOQmV490yKo
+xp6cFMoHDcZrNb79mbR6q9nT5p1SU/JM60IUB2hN8ky8nk468D5xQN9OATmhJpHQ
+mwFVfUJOlHxlex39qydECOk86S6LVTdkHJWButiJAkAEEwEKACoCGwMFCQeGH4AF
+CwkIBwMFFQoJCAsFFgIDAQACHgECF4AFAlZyph4CGQEACgkQtjtTWkwgbKnJPRAA
+qjncEbZ3/19r6nbDsYrD48b7X2+IxQtY9Pa7FnF5jqFURcaYa4l+2PhGtfqcAEnj
+B0elD9YC6WyEjFSqAcQ6dJ/derE8R+Sj3quaPcXInkQKDbm88UHRAK8ApHeeOS7+
+CtUpWEzVlGcRAhwpBxHKVANyQTmM3db5CU0u9waMdNszqw19hU19DWn9qXbjRxbE
+Nm+6dVo91yBDdGA7x0plginapUEX8WC/u6mpHdde9CC6pj2aYyLVPoy5C+3e1lzY
+CPBI/99DgcoDZ7XYFGYngeNDoM7r8nttJQh4wExdtm2w+4MnNXrQCGQoLQhYiwqK
+ayUztMApMt8HrI0UxJ8+Z/FZc/11i5ZQhDrum94liVSoB1FD+wD9xFCE0+eLAbgx
+JxxO/Ns4W2mBo3DyUAloNISkxHR580GotAmoEhJcK5vns9pCvztUekA3aPT/8ca6
+YZej6Ce5x44L4FfJLqB/zpZTdxOEmeEzhFNGvdPUASpqIpMkk7ZS/7q+ePuL+6S5
+yhaE9tSQ+UqPiVHoeolyRwyHdsns+AoGRoekrbEmbGwyencabrfkkzMqAzmblrjo
+wR8d2Yt7UjJDsz2khn71Y90j6IJ7hneLT1PaxggfX7TFv9fc7OE8/BtI+/JaJj18
+oFIiimequgSNJ/aTeOQ59pdVBhfUTfhWXQDZAsMNdkC0IUV2YW4gTHVjYXMgPGV2
+YW5sdWNhc0BrZXliYXNlLmlvPokBHAQQAQIABgUCVu4HGAAKCRDCc3kvfYNUXeF0
+CACDdJ1DfgFZGy0j6krl7GF78r6RKjixOOZHBVaVKl+K3sWqbFQxCfVGWJDaxRBO
+ACngV8pPdp7Kj3vbWE3lENaaPushB2++8PdkHSAvJohwRLNbhuRmDck/dUy/nw3r
+9lFKp2eRr4fkHRdnWelsfxqD5Eye7Id9bOaeIF7XfIcKbK9HRmfs2ZJVWX6tQGVK
+LcC6mYk2iIRTnzKBGJ1Jf9fGj+JnBhH31ct4SpNHTq0+85Bo7biG9l6jIrbl14V9
+cfIV0ZHGnIrKC4E7r/l0cYX4UPgl92A6J6DqtGi8AWXodtPnQTdZm6kq7zMCX7iN
+qkednlohGP5JhwKFvlzhn+OZiQEcBBABCAAGBQJXyhfOAAoJEImmV2CeyUCYd3QH
+/AtbL+UtD9Tqcay9nHTeM1aXP/edzjjui2+5nE8+fIWxrFRL4X7Qs9Xps0KQnrY3
+n0b7OMxk2cJgI6Bl5gVu83Oz7Pljpp1+W22BXS5a0pU1VNjjsXqW08ICRDnqBzIH
+hsoPsUcLPD5v1+cW9O/SO3ucg28sonE7fuVraLc5T3hgxe3AQFYOBsGwypNjO1VV
+fWl+PTuyZlHW5+IH1Hv0omIaauEnr81ONu3KGf+ckQW3Qt6D/Nu/DeplA/NANhT6
+tlRybWNxFDn3pLfMM0Xn/EoNZAnyd8GArE9j6aRAvVN7pWqr5AbSlhC9Um3/64nc
+gTomS+iy4H06o7qODEXlBT2JAhwEEAECAAYFAli+6tAACgkQlVGgsabil87mdQ/+
+NPKWzfFwdQVHmQVcm1jFvnQA5VNLGs0pYXwhNYXF0V78FODZi1N7P5Eag4+VvBzE
+tMuBfYUwq6ZLxsqlyGXMaHsPdtdJ2S5UBByP7UQzJmEjraUUgpaO210mekrCGSUl
+I3quCEiC0+ytaM9bvBh2EeNfupSIknXZ/0aTs+jYMTmttNU9QuFdgEVR21Vx9WC3
+0qLdiDnuBBENddGCfDWXGw+n7JulWNQhsxxqbsynRQV4rK9fCGfgLIIf5Mb0VI9p
++hDlKqNtVRQt1S6npE5SU7Ilqgj5SGE6j9ClCh3FOGxxqGhpF6fwk4tl67wmdC7/
+JR7zPAb+JtTY/ayRl0QsuqvOMFuAUEG+LE23IhLGpD8VwWdx9hYFn60C2Q/bC2WU
+pdS/ZWhkCuA1Gdi+DvLMmSIv5V+o0N2bM7Wv6JwrXIbjg//+aYN1hlTvlj2rOmp+
+5iICTLkVUvFgnJeVhES4sVchUnOpLQkTn4JsMGpqX1++UDsUb1cdLW3Br6E1jFm+
+EO8yOJJ7Xu10qvVOdhk+H1AhWFTKngsPxp+M92NPFp+ZtkXkZJX+pLzW1YYHL2OJ
+JJYxjvo0RhGNuZAzsNGOo6MP0guy0SCf9Z8vLyQxz7GcUlJb0I9xe5oclcw8KiGp
+zq5iziLImz8PBQ72FvYTft5GVm6NcEZ9c7o2KudBzkeJAiIEEwEIAAwFAlcNTBIF
+gweGH4AACgkQ5zvGQcwR9MiKAxAAlcAV4pEvw0Sj2fBJLEVblqwE+ACLR/reTP+e
+sFOCv08zr1EDNPKM3PVqP4jZrPhANa02GmzZEdslgn/PasCmgqxmnHCquyf2gkkT
+uPPgdbweYQ6wiR9PWvedNMQhgHySYSO7n4Rxd83isfoUAiwe66FH7r8+T4Z6pOS6
+XJocE88eIvh3zghBcaeg70ME0goq6TDhrpGfKhExvMXotyx3iOiqx/vUbmDTvp0g
+kQtWcBfX07cyGzgIR0NSqeKFK7F6USUc257uKRCGiaXMwIwFyN7eb+KsdA7+emNG
+ChwdIQHOjfEiq7c8LyUGY5Z1ZMMbi2F0WuWQlhpBmKCK29HXCOffkH/NIyMf8VAb
+bi56b73y2kwH5KKFb48XpIxMcV0abPCJCsbcgAUmDytTHbLBuPM8VbHWP5uIhto8
+Ff68zb75iv6F2nYHDZUJ1EGLWb8tZWacoxd/+Wx9TEAc0S/o25gOG4c1ZwF94b8M
+2jsOT2Df1JMcrrQsoIf+mN9wLS1kGbj6tyfKF+k1oWpDmaBQEVgF2vrxMJ/w7wPO
+JuHV5CRDRxQPZNbCwo6B8PXyY8oL6vLg0bDP7OLSZL9rF3u7wGShezgz42yCWeii
+ErOwBKprp+9zxA2Oahrimgi7Cl9Lhvm4Mti0zHKAXV6O/EIpZX63QAqjJkiNj1FM
+uYWsBNuJAj0EEwEKACcFAlZyphUCGwMFCQeGH4AFCwkIBwMFFQoJCAsFFgIDAQAC
+HgECF4AACgkQtjtTWkwgbKkB0g/9GcjCZXIIdEMWfqImVGQif5UN+fo2JWWiu7ZU
+URomUadJm5dpiT74u9AtvbVIkIk9TUJT88OYA4FJUparbEKiD1ZUN1Rks3fiCCoY
+ElZAUxgWaVMWtiYMetI7sU/GLj9SX/xSa88g5X6CQswkunj7hoReHZ0PWU69Y9fa
+1XFpR4ynby2kvoXVEcQdTMXuG/4STWhN9Y8gMiXrlbyne9VQ4b5UmLeIVLL9Xf9H
+/Fsj7rHiqstA+IGXFBDyddpdqpHPsLNjTG5GH1ertcbm2mJUeC8uvp+tkUFCIKfH
+ZQsMukULwX7mYRlBSmlrr27Q78RtJ/alV0jopeoU2dA24d8/655fBCQBk6NA0gfU
+eLgIcmEbiIfVMD0UuOCC/86uIyZ6JjPdo6FT28NcS928yplJWIbTcsHMRLPYsZ9E
+GO7JTs+MUwp5E3wGLJescTzBdWnSfhnqWF8JUCjVxUaJ5Tlr6FKcL1dZDXZSV+QT
+AT/tzYUNAGnDZQK6LvQ9BNi6ZY7Z0/Trv4cfuiMLJSL3i0ZBbMks5vP5/bLRMhZh
+gaDIGJ7ZdpiuQ7vWuX+/LGBdBXzMy9aSpI6m6DNb91bJE9AYTppLjrY2AiRZ526O
+uXRVmoAba9+4RuIJZf5I4RYD31FmAa8haMiQqx4ESyVC9EIsw46L0r8fQGp4yOct
+/ke7vgG5Ag0EVnKlmAEQALpPU/Kd58YIaCOGMh59cGBLH13dflRycXj4m4wbru0R
+q7VtcEC5y9sP8VkA5ziwJfUr/If4Ky+9NqbcKJXwiQkYGAiPhWRaU1uL/NC+DDX5
+vM5hFW2HnvGHnxIdQ0cimXtxwUsw6GYKNR8BqTrEL89V/Re0rXfZmP64RPwST320
+Jl+nFpm5GZGRy0h1KeXfkCOZXhZv6XhGztJV/EfwmwOm7w8gXyuwZTUk1NVy6MZq
+JPcYHm8mPM7ZCesLazc8TZMOCf2MMKz+L9Tg2BysDgEmHxB0fggi6X9TyUZ5Bxkl
+vn+K7zKAGqP5nKWku0eiULrVesUm1NvZfaYgs7A6qvIcu6LO5KRk6lMbbWGB1DgW
+eymcXrIW85e4cPVFY2BTuN6wBJgEbGkdHL+jDPB69LGq9zGe/f0/hHUEyaD1HqHH
+qd9ArrSLAibVcHVTpcVuX2akiCuJ+jit5uwZqJeDUNGFuU57uogKq84zPsN2QUKk
+LM1JsGf/ctmcOU/h/K7v/7LrRJTnmUvCnk+YLa4mSUH0tgdEq9QsrcrHlWRd+1jH
+LsOS0clOkmlT8zV2tAUNghKSJBQ4cqExid2vh/A0CBITW5DvKbd9QXgRfcWi7CHV
+bXwYvrY+RxXaLlWQT4F6/Tt0Gie6ee3OkdGpm6Wyn03Q+L/efqzu0zHyhHz2h7x7
+ABEBAAGJAiUEGAEKAA8FAlZypZgCGwwFCQeGH4AACgkQtjtTWkwgbKmagA//YZXg
+hn9XaW39IRjnhDnViFFpAcZP75y96aR8IhAsn6dY5IMUllRpmLA0XuwLdTRytcwn
+zsCKzkvETkQgWqqMqf9xtNlfhr0l3u42ihlC8bNPzbnOv3wwfwaj09l2h1xLDC0t
+/oL+A9rZVgjpfvCl18FLVFpQH1Jb49fRH+tBHq5ZXJSdPXvGT228fMXJq7EECbRR
+Z33oLcjjO8e6Osfch/tCiX59YEMxlnuUyMh35/cjH57Lf2WxpJVleJE/YabKOk+K
+Una0417UGP3ox8R6/SjCXdTPksmuFPL33NB19Q1UuBeW6+yUr9bOmk2Y5df67dfD
+hzendAv2q3JdrL22/auyLX0dQuk8TkWRm6WxxsOttQgRzIBzUJOrRLTAm9W+c821
+QiI6SIsY2VMhmlWnp7e+LXrkGbgrHsrDEQvK4TTukkm/o9seN9sPhRMYY8HEZrf3
+L+HvaeHSG/vcS/gcMNEDCBCEAuEewvV5fJzqQwzEteE1Hdb8B0GrYEMgPWqPiDXk
+WoGdWZw4snv0ABuzND7ZKHTw+Y8bDTwPSIAayq86yZZb7j5LbToQh8qXjd4t388w
+TWi34UA56lP0JeRDFoCz5kfusqaXHyaajC6PBfQJvWOmRq0eElkCypjwpSNJeoV9
+WM8eCXEvI//zLCCL8wGXBKdNO1sfIqaoPK2zU8+ZAg0EVpWOlAEQAO39kLgWyyQ8
+2QCAurbjQr4KM8nOr/Ry4TIAEl4BV5hYkVQlFxvM0cFXOvzm9bSkQolQbJPJXEZX
+U/1XOSpovlFGK6lWLALmV/jw/vx8IyARrbPgsi2eUiJacnVSUN5O8tzUOIsLFaCx
+hNFGP7HvT+wvoSYfuVoTUL/lGWeQae7EzhWCu5xPVQwexkkT+R58973k2HMm276K
+L+/fjlmoeGwY/J94lhXYKJLaJMirG/K+uWJ2tXCGqKt3UIou6/T778VjnQ7xOrjF
+vsrP20hA4O0JIGx7HbiwHZrAe3dF0LCZbt30XpkGZbJwqWUW25eM1/RsM0Ikty1U
+DLBQrbyXCOtDDzrLdU72S2ZUINKxIEl3RNuEPthSe+RqdMnNaEX68KhDBqsK4Phl
+1pYG+UtMgW/ReMntUDb5GXBG5i9M3Y+UhHMu/Gvj4mIiKi6cacEflbIBXF27p6da
+x0goIia6ObQlSq9Jcsm1j+ZTktQjJoZ73AGc4PFF5K2808JZp6GALzc0cyQ7u34C
+f3MO6aYNkXebPBRlE7w1c8CjCbD5f5i37juNQ4C6UddquOJG6ibQidbfr0kn1lSZ
+3Wb2kKahD5X9g9pDnrLmuIjPhbgcmoBqqSyHi87QkzIivdUmMEPFVHpAD1QwdXY9
+NVQAUD29hO6/3FNdXfIckV7BfjjYfrtbABEBAAG0IU15bGVzIEJvcmlucyA8bWJv
+cmluc0Bnb29nbGUuY29tPokCHAQQAQIABgUCWL7qvwAKCRCVUaCxpuKXztn0D/9k
+JpQL0eqVj7xr3vPFsBRugEuQB/sbhjVK+E9ZOq+Ssvs9QRSkJAiQrLVVDQZEIx7z
+56U67lAOIRyxNeT9eL+9MTNaWop8F9bFyAoD7s/eH6LGA+h5BLK5DfAORJbUwzBm
+fqleTgIToU7ckr/83wOyH14KItOz2JGvuo5P209pFNYZ114TCJgtg8aVZRZQCx9y
+fOI4kXHy+wHmiPHv2/shnDEISUlfgrmWJgg4fkauQbgD6G9U9Kf0rpJodidWG/dy
+TX+j5KsTKmV5XiY/5+0dkN+hjx98QZE6RAmtq58aerirYAntZYMrkknM+1bgJnEG
+yKUredZbSIVaYgc9tAUk793aCCD7Ew9JVLl1prP8a1HA+ZeRbzSw6lGmuK+YKSyt
+/01Tz6i05Bi7wdDVjiU70r8gR5ZnP/OduOSmvMoFXCq91YzePt+bJioPPIIPX6Z/
+1dTpOvBK8AlJwp79Vb/+iyuxATKk6RwRSETSDRcqA8p3yoRSMv+2/OtlyIFU5GxQ
+VimdJVHMnwnxJ0OgrqNq+Bsk70qWeqDyJKBBRDm5HkyW59XIZ9B0QEdnFTGsNS89
+hfCGyUuNJt7U+uL2cQdf5UWX4FAo8B6UIiqzul2dw8umXCHA+DxuolEoK8JsvSb1
+UKnt5qtKUtckbRzkffcQyKNClwqNuZOqahLLjZKvJIkCOQQTAQgAIwUCWJCxOAIb
+AwcLCQgHAwIBBhUIAgkKCwQWAgMBAh4BAheAAAoJEOc7xkHMEfTImAMQAJvksYVm
+iDOXoqK6eTTDiGM2DsK57v8z5UajvYhw+Dnc//fobtC13uQxGlMiLYIIWmvmMuFv
+rnl+8xiytCOmosNeuoSUcD5CC/vUObwJM7QJlvx6y00onjsdLuHAyM57dmZgFWuj
+aI//iyXkkRTCEs7X2JrgkJzE7zCn9P1qLqZ6sGuHfDKSbQs75UV9wOE33cr5O4/r
+rE1QvJtHE8kjuqLcDoRPM9to/2j3IelTQHtwKRgNevpzxLpfrdp5O2g06+VETEOB
+vriPuaSo88254NWBNEslGjABPrdnLEzRS2UNjAC3A7LKzptsb56znkGj2/I1ZNPc
+a0cmUvxao95/roP7JD6w11Oa+V3iYSV+EGYRq9UD+T5nfQPK76/PW9T/GjcFUPON
+kr2ItrEZ5vURhz1ChHUkkP9FIfDzZthwsVV8aR3ktM9YzAT6tNhanBWzMDQc/MMm
+4Zo4Idh8U1lf/rLrEIDR0RzH8d4uW8T/K0GF7XA6JUO5bFk6+E6MwV3pUtMn/pcm
+jJoNuWOJsE8LoGjkaTjIID+DA4tbmVVhegPQjiRayVkIflAFjO1bczoyxU/6J3QN
+ePLiLqp3SJSePCa9dCnm7rtRCZ3GwQOKbKMLjBcpCtQAiaMXrxCtE4580JsCZDif
+PqQRMqA+pGQgchifOfRdtxYoCJudmNyfiMkutCFNeWxlcyBCb3JpbnMgPG1ib3Jp
+bnNAdXMuaWJtLmNvbT6JARwEEAECAAYFAlbuBzsACgkQwnN5L32DVF2YRgf/Y45C
+QErahooYrXghHqN0q3Tt7iGuJr/GyLCEcQFkEeUj8G25Q6PdnAWSb5/qm1De7LY8
+UcOFDo/seVj5ANNxrVnWXXLlpEZwrtN2CWDVbWEUHxxpDESH+0FrAN1F589bT8DI
+L7Vq5z2dh+ulXnymqiGSwQkFzMlZYbrS05/O5+Ljpxv1ZYKQ3N1ulJJi+Z68GTpr
+rtkMEns4S+la0cj9Aw/S/94uGvXA82k5mvhKbsqz1nFvnde8QhPyVDTwMCJ0f++J
+n1KzPNXnHjzMes+fBuCNVV97jOoPZZF1TMJvJeAOgRqQkxNAEzb7E4W41WMsPRMB
+SsoyDiFkFXeoHbp3SYkCHAQQAQgABgUCV+ReKgAKCRAUXU4NeXB5mqlZD/sGvm6o
+pVbHlshEu3hmsEzBzWgaa94VFJ21mO5h7joDX+lSM6ozTKjCovklLGybGUj9caUw
+3DuZx472HBsATcJH70koSNJcrD5ePzK35YLtkuZq0rWr/o1GxelEzoeJgjmsZqEj
+6vGVkyZc6+NW5dBhMcKkITHMrFprq5R9do6v7dYlNbnBySMT1FOTTay1yhoHw3Az
+/afTE6DsH0s9MUJExmok1hSn5cpcWQjnY1GeL17UikO7BGaHQD9n3/4+KOX/Ga40
+dLUUtBL4sL6l31HlyTbcPO1AQPvHzUdvsBIbZKk7MilzBPz13GLcoMQEQb/UMIqB
+dc5M18oHMzckVbOoAMjKujPgP68m7+wYnaj7Xl9uYtfTgj9RtzVsh7JRoWxmPPx1
+Rx6VaHO50QkALtrgr0BXuFqjzkVqmb4nEi1OaI4Mv1grBXkoYl48P98MMVNfmtJk
+LE45NrHEsZAqOaU4eTeOmcedivTFilku6lKKdkBwLuLr+UHeVDEFCLKPY5jVdEbr
+vYnfitDFsY+x/QUKkaLrqEEFgeHCAMUp7mtDXhGgE8j3UY+U6ftrtOgbt3SUF5nB
+nFD6aPplWZW8FDlGecVjxuG3NHPCyg92GMa5pIBlnlDnZuS0u4Mc1CpzFgcrg2u4
+8kQnpHGHJ7Xo2R7F6r0CLUGayK5lAtxhX43W64kCHAQQAQgABgUCV+VoygAKCRDU
+L1Awh3AmJ1dYD/wNSDzkUZpH+5rubJROIdVnR8DNDQkqVZln/ZVWXc8bghK3OlR1
+35NmjiFrtvEEudHMxkLdoJBFuDBNR1yf4Y0nJU25El/WehqYzQe/rMNPyJ/uPOmT
+P1AQrNUBc1x4nrMJbZq/1yiTst8mJu7ZRnEvM0F1JOy+rDwySNM8918aOuX+ZqNf
+vL4oAALkLvLL0x0pj5gdgVu666X29z+wZJ3b4sJKZAuZfYWS9WS+Y7AELu5oiH97
+DJo04vgyqcJOpcrNp17B+3yoAxjTHv0jW3xPg3MLfHRx2ZSfnSV7QNc0DWj0KU1i
+MaQYRM593BFOXLwJrEw3xiCONnArgrUC7L7DsaveJtuVN8BLKZDT709Bi6p4DpQn
+IvsSztiAPapgg+e7Lt/V1f6kWcXub5ga5wTMubZYAlkk61vh5nPAwQymcKyAIMEp
+4Q7vrQhqv8/COYRnYhwIrvdPRay4lgLQ0OJz0A3X1RtRlaH7ODOapsrZn0LT5Syc
+MDIk76fnhg857jxhfnpWjc3Xp0JB/twaBdvUWWDjpIb5t3d4l4nO5DkXNKfSQEmw
+PWKUetQlMjEzPD7B1nPZrmbZNK0RXe21ZfVjHvXXvXiHXp+HT3RxAMNCH4mVX3LR
+SQzz8OOEieLFO50vNc4mxDN+AknM0Q7aC1FiEcJtEXdiFkPbtL460R62R4kCHAQQ
+AQgABgUCV/Ok/gAKCRCYZCyGIK9H1tkUD/0TnHwIF8sGbrPQWvKNrNSpuTEx8i5P
+w/To8yyrI+59abcJSHWh8uYJ/bm7Z9HQsguKF7Fdi2pwWxsjC4ND80x+a9f0DGS6
+AoIJDtYXdVInsbaAkBqLp7JMWI0gmCgnTdHRPSmJXM/l0BX0zFAGQbWGC7XBYc8M
+cBpjiVMJXyDqYFm9QEBLW9zShB3Pb8y0lEiAPmsCfsnwiOIAFJw7eBtimdYo/e9O
+5VAxFFImZ5Yk14nvyUdL80e4RX7O+lZ9JJq0wIz98fmR1aaPcKTQirTuJRLft43g
+nFdxeH43REzkqyj+9PB99ewjF16+0RGNWm+vpk5TyM80UGj7Ok/pzkxr82qzQwJi
+XDl5XmvgTAuagVeglKqh4onQHtvXTh9sVKg4zJqm/+eesjh0YrNn5qWOWOjtyfCX
+3/WlcKBbvZ1X7S0l4mkG7iKAfOB+sgs66Nq2a+sf1EUou4iz40wLfxpz1fB3SLgN
+oQQxkB4k7PDntjM6y8FiXRUvELKF46QJ8OIbEjsdDOpY8fA2M1Mwd8WgpcJpFxDj
+DYUPW8e6m1KvIwwpkcpYSSVna7KzBGtTCy+3+R/RB6c7MpJgl+sSIt3yL+S22M36
+LSW5Yh+gtm7BZS22bEB2NL0kQEDY1S+j4y6qDQmTxR/X904ofsQLj9gJ0gxsQ3w4
+cXwFJWEnG2vmZYkCHwQwAQgACQUCWJCxHgIdAAAKCRDnO8ZBzBH0yCq/EADbu9TZ
+i8AlVAgk9D1uxMuLGYrSheOlX/NJKVQmyMBLzp4oLNiSSmScUlzXQjRxHOf12pF4
+GLrvQZo2VxxoGt+WQlL64n/IT+imVM8qesHuKODtPlHRiltFtK8J+w/WnMXyAq6Y
+4WyOYly4ilTPAtkKPW4x12fItB2xB/JEKRW8oeWFe4KXJaq1hImOuSSAObfkkC9+
+9wdF39Lu6U8KECOEvCfgaQ2yxCvT6b1tDQjUP8/O3CCFz0/66QJFSNq+/Gmzvkpx
+cxpHflqS7vVZuR4lLAhlg9pSH2QEganBDcg4Pm5cZhJiOcAYfjxDtZrXmAYfbF5B
+oZZICVmv2K7eXzVdvTv7mkTjynaUehv0W7OTWWsdUHI1qiAtbK/IXfzd6fcNqtyA
+CtWIxtWocHrdkZdMS+9Hd/0FGV3aPn3ApyYDsdOmhFgSUF/bmpY0jcW88b0QJtz2
+CXl5IIrmqTfmgWWA7NmLj/F0zw3TU5M/NKBtL/wDVHEzfiFEj2uNXFrI5waxbtjk
+iwvGLsAb3TIDVBdBhKQWPflHy/kvxaRrQX5Z5HhNJKtFFbk9CfP7p/dFB0VN7FDH
+1ANbfLUOhdA5zgI2+zoLcIf54Yx5MD9NlSXMruo4x7+GkqdeDV4JxjeCpeCbjXGE
+ZJxwzBcMjR+Q9nJtwlU/FAKyDWgm8b6z5pB8G4kCIgQTAQoADAUCV9/YSAWDB4Yf
+gAAKCRCBhnRIn7wSfqyDD/48iOpq+Rm1+oHRdmz0iYdVsyt8E435PtlkW7l6NE0k
+1BgGnubLkNbDgbJBbdr3AgTAzotBqAQmAnRLdirlWeCYaTIM0Ng2lYRfWmlmHkcb
+1P/f4aBzVjsCz68IzYIrRlsSxg2Imm0klSNN8IGL9Xl7unBS8Gk+1o1/d8HY8y6x
+eWkpqcLJ4wVCwuCBbRlxOmp0n0Wk2cPi9KWzKWonb+KwYrfDLKzoxvlcs6B3PPSs
+FDyIIdLfwFAHlbJBACWVZHKCNZXG6GsqT/pW+xdcXAhG8a/Is1GCGHBURxtZeLbi
+qrcsrtIx0fEQjINKA0v00vPU7OoJF8BGrKntVqHzP6BHaqo4nZzgyOZqIBwH/YIU
+X3RJOQNAMKqK10ywYauL6YnOL1rr8DrYrXBHCCmBl6QsQPlmAhHgdPl9ZKiYDpLh
+VPSDW+4eXYm4i+IEUJ/GuNZhxjI1V7gjJ/bsKD64qAiGYjPBxfnqM5xNF0p7JiU7
+/D4FXUOllNFM8yx5vRzBwo7Q1l5yVlZ80fpcKk99QUrHBuBZ6Hd6tlNRCYiyARwe
+Ezzw0tybVpYDQ0Hhp47Mp1tMyuSo4eJwQDExDz9lFlO2uBnmC2OnUrRnpe2D2ZM7
+FJUFq+xFIVnPpDC186gDSN3w4h5+pAzokfy1xtGDFm7EUbwLlNwphNG/GE+AJw+R
+dIkCMQQTAQoAGwUCVpWOlAIbAwMLCQcDFQoIAh4BAheAAxYCAQAKCRDnO8ZBzBH0
+yHnBEACIuAutkvqNa3eWm3WjH50Mkxgvcp1ox9UT6YoUctnBvR7lbZJQIsrtBbV+
+DMwN/Z76surTP10Tj6QKDfVz4nL2zka+tlatWDDUujWuC/wSjqSJ4DZnAA9l6m+x
+8v3/s/HFB9f+iDRBGjOWXMfcdoePdyVFW0ZbPMceernITA9g5trNfeaXUI1YPVPE
++e7LDawNjB2OEUccOyUVeT3rbZoNJOk4mmlaPgYwG3u65HvlnRyTXn7bQrCBvD+P
+61/K4ZxViWVqQYwYFRXi9okhocckGynHxoa4bFnook4P8L8N3qYh/3B0s/XvHF8A
+gbTimbo7+kk655eYtG7kxziks+YGQKe0AlBqF0ztaLVjMswQXkYgy9yh5ot5sxmS
+Rle1ZJk/A+0vJghVeaE/o+886BzT4YogfYWvZX1vq90vDMqX6RhZzb459jt2L158
+APQVbnWk0pNzUAMUudj4zWBGs7LzXjo07nsicKARDO/ratkwV58u9gfYf20ZevCh
+pFbrh4WuMCh0zGtFa4Wiwksxauk05iZgYOdwWoIlyjkR4oU1fPOuulKI9qBCMwzd
+S+wvcIzdhvoEQoxck6W+DezYEfxWUG4SRcd9a49hgJixb/bZL/DsOwTFGq2arwG/
+FCRIvpcBDlazeJUbxQ61WTxGP4btqla5IClHHer9oF+XEkNWv7QlTXlsZXMgQm9y
+aW5zIDxteWxlcy5ib3JpbnNAZ21haWwuY29tPokBHAQQAQIABgUCVu4HOwAKCRDC
+c3kvfYNUXeyIB/0b87yed4qZ+YYYBGvrm68OP6zanl1XlNfJS9sUMZLlFzvP6RX7
+3LzvZTRqMsXCjiimbgU2E069xiSfpozFb/fQl5l4V2981D+rI5MGkxMK9UV8nPTK
+wXd6S12CY5Pr+k4452vHEt2lcoEBGlTxEzuvN2OKSKbgThDBVKXH4IXdWa1Bh8I4
+U5JwfQykdLeiCXUwURdfyE7Ky+4/aBPvTTIv8nbdOuj+ivrBN2V1+CBKMx4UC71x
+RyyiUUnZSOsVnrzgKYZ2ukmljJ/tbknYepZd2CY0pX3f8b1bVUXj6vOjnetPj2fH
+6ITbOwEwneHKDA0P7/+gB0Cunbet1xa2d/4FiQIcBBABAgAGBQJYvuq/AAoJEJVR
+oLGm4pfOs0MP/3IZxRCUfuwRHrO0tViAz3OH4G0BNOU3qdzKZ2/sDEaZKUbMRgyO
+XF+GhHkhAJdB+JrepdlugTKdvgZ8iGwse3ojmxgAGXPtKbi6nP1DrZ6p5vBluCdc
+z/MC+LFA2iQUKMbLcj9NUwQW+9/Hw6D/WHs2JALIi6B76sGOtQHrYCpwCtNzCoGE
+UsNd/K20FIRkmt2zEOnuDrF59U1Y6439nv+WCtYVg8T41hyKs0H4aNZOGC9CaAbN
+mxeNLbTGthsnXsNKVyw3Hvm0wIOOIo5qG7W434a2bULuZVQEHW/LRV4kXuWbg1SL
+n2gt+QZrI/eJ+qHnWMzxBFuwqYCGus0zciOmDbKnCwsZxq2kPXFyXz4rZzZoOcpN
+jFZ07hpooGzulL6oVz+1QDc1fnatbgeKMQEoRw+4Va1aiYbGQDTsww4knpejEJyS
+MlbIy71R5ZOtRKEfu01BIn0MiX+RDQTpV4oY013lkVSHYe+4JcEM4yZy++lVLfea
+rRkQi2mdT6aSeIWeb822ptt2REt5QS7MFresD30JLQRAuaJVlQ3NEWntQq+LAwcc
+uvubDGwqVLAMK6tmQ43bLEwasZ+AYawc8Q/5SjTylASdyxSJUUK63JyCYfnqdw9s
+uCLcSVS4by0NUqS8Gr3++GLlyfZ5Wt5JdjsQfbcTHLdnYJ85g/r6371/iQIcBBAB
+CAAGBQJX5F4pAAoJEBRdTg15cHmaWzQP/3TDwyDrjOaXZZrp16rvBcRoXgBmE2l1
+idK77k7dyrZ0IdzCdmAeALC0S7b5hnOJCyHj9Si7/qPwBOIdlT2E8+0WkUktsFtr
+ZqVgQFYvAWdyxiYMh6s1jvmbPQvq/u1BxZlwlLiPUo+V3NKz+hl890hc3duhIzmJ
+7X3SkW4pMFMLI/9H5ulqvvQyAbhXlQ5j50RcgGVpduAJGy37Cc6QxdxUkGXF6FPx
+Ne7lhVGmDn6cU8jpZZ05p79cDh3Qh4HsR7SHC2YzxKLIwsdgn41bGbqQOuh/ZXfz
+aGC6EsxZWo2QMkeCz9ayNNz3E2QxH7o5TajFCFAwb5HW+ufxGd3O6IY79r1R667g
+sTF+W1yo6vMMFpoP/MDEvf2cOzaiJ1JiQ7iq+XkPVDGw72+FzsyzQ+m0ajb31fIQ
+zSiW7BdnMjn7IvHOO/2/KvKCLRZMK1H4sUUsERnPOAT6gkL+WIvAboLb6sx/l35S
+aHHKIyNSjc8jTR9FxtmTZATjcz6Wj3+MR/4VRr/LZpCc4TG585emJnjoTp5JmQz4
+mnU+M1urKh8lNcoJV6oKAEJZmejWs6C1s/UF+7MqfUXh925FE3HDkLfm6R7CWUHc
+XrB9FGRwRd1kK2+f9TtQlQOC0tJH9ntufPFkfDpV/oMD5x6UIW9qEWIUlFbPYtMa
+DwNrvtY5gwg5iQIcBBABCAAGBQJX5WjFAAoJENQvUDCHcCYnJYIQALbnxsnzyh8L
+MXRH0LSM7xuCh1U+xKupAKMC19Yy9sc0HRzYwjdcqY3QbaaxOjexHRHii6hXCUjs
+woefVtg6/Xw+NiGaK3VEwK7VGMq4ZBObSJHGmZOzv/NOTOtW07xtsJ5Cta1njbHq
+znsklgFW5u/PJ1Id9EsROzm80CDK9ZAhqhT5s7bzBPV4ThDxGyaiDIVXX7TxGkp8
++BQfAzvj6QZgwXfl8pr6ReES/4qL+SyFrQkmz7ZEirhWFnN6dEa4WjHkH0NMasgM
+bB5uRuOP5BP2DKYSUpx4J3LHHW0kqhwoJ7y/k2agcMtu2VvorehsmTJYCJroCg/5
+drtyHKVu6NCDAir58c5ZLpgSyKCAa/xTUtd7+Yce0HHixwt1LW23iqC3BSKMT9OZ
+ZGTDv+khWzM0vTuIobm+KmuCJq3MOXk0OTYkRV4O1JsytQRWhw8w0zw3Ziq0eepw
+h+emUey/ammePNuaHBx0MTnV0rgnlqRgTIFK3fC1YJQQ4vi0OqiSDMnCfAO1u6ht
+GS6TDULOb3grSQnZBl1IFB1594VsZ6KaMxpA4Ko7Vc1ZlPsvfJdonDEhjZFNa3Ue
+z19ZPIKhj8vuxWFwakUVM4g3724F3bjI8H+cbF851n92LM591nR5uYddr/DVK8d6
+yW5qYmpUBsLw7CRLTQjNzI0o0iZn6dIKiQIcBBABCAAGBQJX86T5AAoJEJhkLIYg
+r0fW1fgQALygE1VC6TN3afQ+UkALedXqZ07b2ypYeL6wE5aSFI3qhTOwcrRFkwll
+iZ0Ou0xhKOUkvfMoCfujrpK1VNQQ5LK4OYu64ga5K8WU4AzePgYzPY7Nn5LoSWl7
+tXSoxFMuk8AWpIt7XJ9hQqa9PsbDLwvKgQ0ZPkp26dSzx0Epic5lqzy9/u13H6IE
+hQDhdHbQlPNSr/JxivIzhvg93k+zFbmreryVp8VN33rWnPdkv7NJs868hNztaBIa
+Wm4ZtIoQBEtSsVTJ8llSLJEfwMN0fRNM76skmK1jzmtrnngsHvvZIdU6HwAwisg4
+ZLcpsrv0M/MLXH/tjHfdMudnj6HZenkDG07mRvRuNKxFBgoPC5KWrJ63+JqhR35S
+D5HfVhl7WWeDS/bsQEWK+hu82Jl0W5uoG7TgIO1S8viKN7Zdcv8NhDjSV9VRaGgC
+Nt4KS1lhWIRQZo7hww4Ex/dh0QVbHthnvcwEdn3DbJ7NdjR3hu9howgXzhEZfTgf
+c4PyN7h9jgdtbcaL+dQzA1lkSxe0DtVNLurOlTJnUBVHOb0evz9QcqkT0abh3Itr
+vpcz8aOoI2r1Jjgtm6toDpELa/9WTHiECW3oxAUrZFrzYigVShWym1FGrz8lk3w2
+sDO+A6YqGgN7ar0PdmeaRFUYwNzQmhrKfW4a82gd70s2BEdFAR8CiQIiBBMBCgAM
+BQJX39hIBYMHhh+AAAoJEIGGdEifvBJ+SBsQAKgXFN+vYHwj+tRSLYOLU9mzM5Jl
+JUeCV1RVxb/hbTh4RdcRJ3Do7WmXt0qTQ+1yMgfvTad84y9w7QA7xI64s3uv3kD4
+vWBgw1pLqxix+FIXZTIHNe3OaNkEfcTdMoJyvuWVpOXUz8xbWFZIJke41aA3QJXK
+KLy132/NGiieKoYlGgJ4kaXzM4/17qfS1gnfiOw/sAMKna6FlV9qZwxtS3PqeYbV
+iZZ5yPIuXb2CD+nG8Fnj98KrZWOI4/YAZiIe16ccCNxcdXjROXHzBdOY1OG/6Np5
+c+BtCaG0D+Oa7U5K6ZHfu6TTCo7c+L25ekZp8YGn5Whb2HNzfRjn1NkKmDKxa5ar
+hTIHGgB3Zizcf22PwNnrUx3godC20ELTWA4MV/JB596MKp+p6j5hxhoJrZnJl33Y
+P1jALLSmO3CukOmRUgw5MPSgaloInO4yyJgL9vmZ71ikPJ4D1sEFeKAia/hvTU+Y
+dOb8jg7wtuBrwF+2vgbjbfCzIMvi/7hLJjmDF6qVs6hRjCSQVPPsBXaM4gtrhNOh
+ZwNPL70bkg0icsal1Hdua2MXoPmY3eX9g4CatuWcnVu9oL0mtAmAzP1I/gP8OPYd
+R5YA7mXSdCp2smutC1hvW/kWyv9SrU7oIu0/e1nkx4O3Xv5LbK1TRXMk4YDrVLrg
+nIuFf+gUxkeck51AiQI0BBMBCgAeBQJWlY6UAhsDAwsJBwMVCggCHgECF4ADFgIB
+AhkBAAoJEOc7xkHMEfTIB1IP/jd39peJKGZkKeK7X4fUB6CmnxWAWX7aTe4cZA9/
+Rpbts7O6LRYaErlabEqYW3RUXIiuqr34Z/2sw9JGaPCmXWBP2d6mwSaCyJW4d8+m
+rv+BzAcoWjdf6XdohLCNp/9XwAsE9Pe/i4I1oxLWYRsnlJBEK8ANpseDImiwR4D5
+HLnelCEt73Jhl0stDtlALz+4Ex5nq0PL+QYDKE6Ol6Blut3Zr0InL77PLBHcfl6C
+TKPs3jbHZVS2zve8Zz2iI73mpqzSkSqB5ZZmdPCof5a1d5Tm+hcfu9VG4xPASuAI
+GuB/wLQX9BK7t18LFH7oPej6pn97WmkchnO+SQzhVxG1OKdNNCA8/qikUAxHi+TN
+z990hQU8AaUR0LPcmoreY+QZX7EJjn1rpa4KKmxigNGFwiTLqScBekwpIv9VDOoV
+EnPJ2MjFfHTXpFED2btey4bKWneisqAgiUxLcBv8h7ibBG/TdgBxmKzofeuDSLRZ
+H206wfMhff+YAqADF/Rg8CafZBMErNM1BUNg3IBgwH/GKqsX5Qt2IyVQf3NYAkRX
+ZUHWMqB+/TEON3gAkd7ZvYDP1KEINUnVA3xDwztA+bP2tlBnJdLkBis/nOYFZtsi
+8AkityhOzVC+7dnKw1QoqwuGBxwJgX9hmqgtETJw0HabXEPosyAngh57iDVFPSaK
+4+sntCVNeWxlcyBCb3JpbnMgPG15bGVzYm9yaW5zQGdvb2dsZS5jb20+iQIcBBAB
+AgAGBQJYvuq/AAoJEJVRoLGm4pfO3mIQAIIR/5JwKuwuu1H4NYG58A3TXB8Izy2Y
+GGrwmF0YfrwLDvHsXMeMkl46PmSWz6qJcs1fnyNwTurP/3qknPEH5spdjyLECXdG
+ps1MyeYyEjVFu7cxA5qpvil+TU7tn89mwf4CaHDKi5Li/RsgQT0kcSAX0EQ690rO
+m1xOkWjpDas5tfJPXX35e6lPvlzhlRDzVuxRgRzi6CDhMy+KtYyzABpG0xt+ak++
+aonL7yWiHoKZGNUmstGR3ZfcvgYa7A/jA3/EPKxovqj5k7KzC0MkUU2OyrhmUK3m
+HnY7/hqtc7LLE2HfmBctprZ06fGkgmY+tn8E3sRCT/nncGn4Ur2ovdNtFcwSWvfK
+9uGR3N6Sa5OFCVt6Uxgt7yL3PEryDsq7x+ycbtUYr1n0GxMxPQYee0kah1RHqIKk
+JaNJuUL4pkgzAEXHZUXoEE09UjoJQRPcebFV42ssONz3ENLFMKUEd6xbzkVWa9RV
+h+CPTRLagYkfnpvJd4qSbqeo9bjtFQyqhhfeBekVxzj1bixG6tKQ/mMpqSkLHXFU
+WzbNJWBx0yG1LvW/0IfjpkNoTETGii+JeVUD4Z3N0tCXR8tgyatiptZGjp87jfxD
+KTF5A5aIZPMQzlNqZdJ6y2MAFvNLtBwqi2Rn1HFP3p5vaEe4XyuVI2QiaR4jFhnD
+lYnp2NFwjxz6iQI3BBMBCgAhBQJYkWsOAhsDBQsJCAcDBRUKCQgLBRYCAwEAAh4B
+AheAAAoJEOc7xkHMEfTI8s8QAK1qXN5jxhzPYDLiz4NvjchC5wTNZYD+g74bxyYg
+jJOA7u6HIBLwCs3xaptzlYseci9nDsPVZ1fzCDHQemjWHMlFfVeZlK9nc3qyj9BY
+woUI1eQgZMGOFYf56gnbDSHOHPzSmQfw1CzDmXHdv4h/5HMT00Q/wJXjN/F1MpjR
+fm4vIigHRcZ8cJCHjJOtr9qppRdMQqxYg2KLA/Ly6UO04chkqj643Zmv0UGwlCzA
+/yfrZd9LeKDw7WXt2S2M0AslB8J6I8LYXDx4n3ri32G3bQ/ifCIvsTuTsHpqIdAU
+CiqQErMSuw5kFQley3YkJEYDuFsNfFrizCq+1JyNlUARGKANUbjLiLgb3pDe1LCk
+dCxQTlHhLpd5H2xy6/0SVy9XYzYHR3gRVX0TId14MRspgC/TKE6GvOcu4lP0qd0x
+WxbIdO0YW3qjmkCoyAGN0S/842x1RyEbzlSguBIetGh0dpoVc9teSOaotoRO9hv1
+LkY1bUroaJLIcJE5M9eihvZIVfzCW5rMAmJ5hT+i83x+3IforsdbCRKatd/T//uQ
+8QXv4/Qu9JfhGL9fbN9r4aCR+YgrrqfxWX/5hdJnGvzdh/TqTXo2XSWhhmphiSFC
+93EojKtcrHjMuIhTdA4pYVTLkS8AXCD76Lmzxi9K/Fvvanm2WFnsLYjn/PNkbr5U
+8URriQI5BBMBCAAjBQJYngOvAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AA
+CgkQ5zvGQcwR9MjdFRAApqCfPXRkjRZRdhtCVnT15QbMPPEDyCmwwCgRvfX6+jdv
+AUnyGUStKRZ79awehoXvLQGKpaVRiJt2kqt2Y2eK9uyPlNNvkwSd0/+Qpix8pBm1
+s1nA/khNTeUpUQ8cIFlsNhBYo91AFKr/qq9DUPX+VKvpUSEwvSn9dsXL2y3baMyp
+NaJIS7rEfI5/u3r6eItwu4Gj951H/6M4QXyqLMZhlpRHt4W1GRYPkjzLyw9a2OOJ
+GZudX/Vhwk19koM27hF5XNeH2IkG3eILwdjWdQWjaJzZtnfWh3CkYut95se0vreP
+K7sFbUauVArs3CtBuAWDZ4+k0K/rY/PP4tSReXhQfZAoVEGEn4wyar1PHgggBStw
+7H/Bzb3ZLz5U6gfjThJynzLXd2xbi/Via9s7vOhuiYV5MDVNnfvWrs6q6bG0KXYH
+yCcAXHME8ftbo7dgdKzbMSnC13evbRVL9ZnajCXz4cvWEaDUBj4sJUGxfgGIEX/h
+7iqv/oGCG9JzGKYtshOFL2MskImzSOmGE8q51Lt0wBC94ZKVYlQnWy0uqhaSZC6j
+Sd0Csu2cdAX6kVG01xoiqafZk5Az4YP3U/EiUyZH+HB0rNV/pvmdzC99LZ2LTJKX
+y/nRKAG9lNsub8LZCHlVwH02iXNUeogK2hU798Pgjc+BLnYCx3HoN56rXzzKhdS0
+P015bGVzIEJvcmlucyAoTm90IHVzZWQgYWZ0ZXIgSmFudWFyeSAyMDE3KSA8bWJv
+cmluc0B1cy5pYm0uY29tPokCHAQQAQIABgUCWL7qvwAKCRCVUaCxpuKXziHaEACN
+U6bIrEP229xDXRmhcx0xQ6nJ30wBbX0uNS7WJXxmyo2AuSfxx2dIjrF3O9UDDHpl
+u3hsL6rdaIzYO0tg/Vgy1KJVYhbwpFuOWz/NRW24KbY7mnyq7rx31jmTPCMptM4P
+yYv6mC/9j0ZOH+xzOjzmXuE6fuZIB4GCqqlWPBzJiqxh++sRxMejYGe5HVfe0t17
+TJNTHk0RKViM8c3bBnQi6RLASUn9wGFI/yPbEE7R0+dPgqLe/10Hrc74vv5RDJhL
+UimiyL4hTodhsV9bcaOBio9DiB8gAC9hfYBNw4ps7HaVBnqrJNSPuIMk6boXjtTz
+XENBU15BWsyKMUQ2gpBqDcspnHZqRTzNDjplMB6d6pMoKZpLljnflBu+F/kq3TSE
+u9JthqxeevAGa+IS8ZGJ/P7HO3b5SDyh/wdIMstTgGrfB3fA0fGfGUUQIqLOZWqW
+S+Ud7k4XdydaUeGlfK+1x7/41WYDULad0UlIM/G1Z7FaEJAouBfGM0TAkQnGsA1+
+QhUOaIJqUjP2szzfzn/gswr6eYBGwvojVVClbPCvBn3RUB+Y+NgOMKhF/xJiYA38
+nYv27TW8MQASoh1prLQsci9gtwoR+MUlA8eCKcf+TyOgVz/f/N271vWSEWesqLj3
+wtx37edD10AWgzTFMsNSJMtbBpy1csDgWT7aNwclzIkCOQQTAQgAIwUCWKFlowIb
+AwcLCQgHAwIBBhUIAgkKCwQWAgMBAh4BAheAAAoJEOc7xkHMEfTIvsIQANvVntac
+LCksR8dYkAV9syIn8uHzbVTYJPPZ4kq6UW6nR3k+9dbGRL6kBk/YOn0/ib3mVz/q
+MPZLFqmoWTkRh3qCGeBLfZtOd4HjLQ5vvpFsnkWmN4BW3Ji/lSeYHyXU5Zv9Z9YO
+xbo1y9tOHvhrsre3kh31E9AN5rb9x2KVS3dwfmN4PIx+m0aC6JqfNlf78hDUbGdu
+Pm6TkHcmEVfbJT/XqqzUTcJsNVk7047rGxZGo+TxbW8Ri3CPoe7QR/LhQ/IxIPp1
+eNu6oMWycY6m7EYhNiagf76j/Jv9T7R5XmRtxZq21z4985cRNC5auooD+apdOiVj
+ft3gAbey/DZPhpY6P2Dtzq1MFXdHRfoW5an40Bg5IgnbRhqcg9EY1+182WNB2iaz
+ntR43IeNNZXXlkLIVxW4oAG3vq6DV37lwNuOYLTsdGUvbkMd/u1zmecfX9C8wU4/
+Exefk676SE1v5shA54UDUvUhaGnDbLZZ66MfiXfitE/RuG3/uFfkxeKc3/CsUKk3
+RYbtKA3Ou/0O9C6pKIVCiQhUe/HVSidkk0GAZ3Fq64Cqajd2Byz0QFDHwKv16BSY
++E4mmAWXYw2aV7pO+tivib6XXbLHU/WgJ1qbm/Qr3uo+ZYv4k7f4IwYi0kbSb9nx
+tbft90fuq3xmJk/BzY6NZ2f6FIO8aaJzTIGbuQENBFaVjpQBCAC3wjTlC5/jdi2j
+nIophctvA8XaqmrQeD6GaLugfCfy1zzU/7LbzGbb0mzPdnF1OT8htQFu+CWNrInU
+DqM2sHE0tqx2EQ82KoK9uQduFjyX33GK0FFkQh+cDHkTDSIQkoqx67FHP+jgehv8
+rAzpwc/G4QgoWppj+q1GwcPe34WMCazsfUMYyr/+iyw6PY0WZyQNMUgOItwGlvq7
+QsYqW2rF8bl6qO8KPlXxXK7f7ERm1ScLvec6W7DbaQcO3KlK+tUgsFVAkHEYwz7M
+Gy2ybNN/fHTjS0uB9ODkyRFFGsEXcg1BhJsgHNy+mWTs6dOmtKEZW41BeXL6pgpp
++xQcCfCVABEBAAGJA0QEGAEKAA8FAlaVjpQFCQ8JnAACGwwBKQkQ5zvGQcwR9MjA
+XSAEGQEKAAYFAlaVjpQACgkQ3qFjcZdAMaXgNAgAkmmQPq02lPA7cjdkWtbYF0tx
+YnnjPcIhj8metii3YseDkfJcsVc5IVDMqg3Ns6W2cudSR9cgfw+Jc5MeVtEgBerR
+w6UXAfvGK7khVXe9TFe46Fx1TEJ1rW/hc0lNKNNcJfQhYPIlsjFRiYQEvOi7A9VK
+cpatFXqHDRGSvjWnZfavJEpQL7f5eFd/GXzFTNOzKYwTRqOn3ESQEzY65lbORQwb
+wTT4V704i6x3aBhwjmqnOMFaPlU69QQgrmPZkaSk+R7NkUS/AcpDFJ5t1L/z2HiK
+F/XeG5U6lmDy/Pna0et6jnTFEkDOkMPQSpuV5kVrmYychbWiSbX2xLSnHOWh3un+
+D/9zafSr+LbYbKsp8lmSrcucZZeuD7OLJCk5MnGboNzdGuwMmxKmtRSuL+lk9L/k
+gNLRIvy4XlgnVycVUDFoKcUCNxgIwN/P7vkEbvfdYVeqcS4QWGyPYh0XdBvDWl3E
+Wt5iCyHItkRu4gYwphMuqH0HT1ukilwxwyVi7grJr+b6BAWmfLyWEuN1ewaxNoII
+q302TraoPGlbrQb3klqtkiL1i1y6zIbkwsycxkSZ6TX02hKLBB0bvAPBA6wJpL6y
+mUrKAJSynTvg0YFmT1A8qdKvpGaIjNx23d8Ak/wxOW0aBjsOXowJbWxAzsjzYWgz
+UjHxqjlu5M0L1eAgAjB7uHWM/CQvUKevn3NB/QvvSTxBKF3idebMrGBjeIIbpefM
+v4q84+6msPeNpZOAjL86uHi6+Afd/R/eZU36mAuLepEO27M+5Y1dZbtbSsSy85Xb
+DPJwdnPnZm9iASoxLdUqKYPTn3P6grmlFR6PaxSlvH4VOwOJZ/00ZocUkwev8xQF
+babOCpb8+LhtqHx+4fU36HzPl/DnFclgXwld4yxw8ui7HQahjfvkIM+wdpp/G+2+
+iGggWWZZ3aJ8AGx9NgbZg6Tt5VvS8o/B1BQR4li0Lq3qyzINz5tCrlaUXFpAJB/j
+l3Gu785wMDCEQb/ea29LIKzfYiqK6KOG9K+VaYi6STifNbkBDQRWlY6UAQgAveYL
+9Vh+G8jdNcPxr7oneutYclTxbLDAXcF1cPygn4h71dGrE3tNpbsLxG8K3C8nxQdc
+L0NwBnRp5LAF/QNLhxWLbFRnxXlULU9McWc9oUC6VFKSBGOmtdbuyzKneBIri0BT
+Xqrjmc4lI3dwvHxRRX1Bf4krbk8UTeM2P5tt6NciJ1yQliXvPk6iHVeP+LWv+k6A
+kG6KLn5TVwZjHbEflGcPrwX/1vWQPySp/36kx91t9+xbw/LW+Sa8bxyNvovH8oXQ
+aEFmHlk0BhgN1nyftutFpT7FcJfglf6ljXPx5WJynib1baAnu70VsPsL6SVlXxQn
+mfNyeS+ts2y7hqJdQwARAQABiQNEBBgBCgAPBQJWlY6UBQkPCZwAAhsiASkJEOc7
+xkHMEfTIwF0gBBkBCgAGBQJWlY6UAAoJEJM7AfQLXKlG4xgH/2rkUtqEPcpZHPHT
+6Yd6qvyQVLA4YDad7VwIHHI+XtOReq6GbEOlHUJaaQthwobO9HfZ07winb9DeMnM
+mx+QY3yrdMidS57vSp0Z1sJsA69UaOCcMO4HEZEoMC4W45YRZhMHJ5V/uL47uCHj
+be+Ss7RwGn9+1DrmFApNPQqJ/KYZC4uXJxbS8qStZtcjbEdcKYsoegAdtzXOMaI1
+G1YACZgzrPmATp5jQ7xpo4l5YCyCbqH4dDMnUiXDjl4Av2dczX0Jbd9DKpw2U9rL
+AsGTbRtEv36hWKDPW9Cb0FcqO9e8w4Mxv6teOip4+WQMgITkoVZ3BOaLi3BYi1NJ
+RajTpN60AQ/+O0ElgIoCFsHcVYI4NSWDzmmFXqeE1jllVw2wnA2rO8gp3q0fcjEd
+57LjowC3GVFBZfrwKX94G0Jtl4WHtzNUymUxnuz6z35jT6C5ijNNDgd/+uAszaGg
+Shp61pl0hFTibIx4rUT4fXYuQhwu+JsYgiE7kLjGG4wNaOP1EqtoBrhR+vud+Obi
+2K/iz2wlfbhF45Lrh/om8B795uA2kn42X+FhgYwrf2x++2jkO2McJ3VvZdv5AoVx
+zQYkkUb3pJrCPhK/l7Awgf7qpRvrrQcOX+tpnlhJ2keWUSjd1Kk1QcbFPKWQG4kU
+nMUcMWp8VG+WCLBu1MleYF5DFAwkGrGQV6pQNdMOs14Qy5xZJoVYrNuL349BYeKr
+AxPbkNhNPYxXhdNi35jmXvXIExnoe0scJgcjhcHC9rgX3NOVmD9HEY4MzAZnNLzi
+5EUsbtWV1/Sui/tjnojbnCxq7uncPvBZNiMS8voKsFIXXjewhctO+VNLRBbvM18M
+JOaK/QJVeR8lwvvsDzly9QcvA8YPpyOZVr83MXl3nk0fkGT0rjZzHzvNhvL0zWSo
+LbGK3K95XCBzNHuOUqJCMlRDcdgW43WYMzzpLvMOGSxlm36n4EyncCo4bDMl9OMP
+mp78cAZSaannJqbKrGZp4bNzIgnoupPeo3DurGIiTvr0weuQZHymNlqZAg0EV/eG
+ZgEQALphDJCKCF/WZ5TWAbw7KOV9GnsowkkebG0GO0fl9a0zwhYJ2ZmcKhSA1skc
+hgPYWfeH+KNfj9L/j3aZvKZp2ZbbgPuZh1784G4BAKZ9+PKkEJRLkaFmZkXS270O
+DhyflnH6ZyGe3ffSbtPpxSt5ZHX8KIFcg0lZDohK7A7wwNb85Iok3KtF2t/gervc
+8MGRKQcrdrBdUfId/Kl4k/jh+oFZsb6PjfvFYkUSqdVIiEyWTnL6pLtOhlOaPJur
+QDzy18xnO1K5S/oICkZVtL/PFKnJisVtJbW9kr2CWtnaomxZlgIGW3rXtbU/mdZg
+ik/pPY0s6bHoeT2iRAv5NWt84awGR0wEj8oGVX1KXFAWXAg9KPbhrt9SOmM/zYHH
+yx0StQz8NESevt6ktTzyN0vFrNbLAj7KH6sR8TgD72jGlybHAm2nM/vaxWWhaFpU
+uNYNtpIn4Au+QWv0+Y5rbufGdFi3vsPkAxa22ePKha9Lx8nkFyb43u1utUE5GqTr
+VYIkOa4r2CEKBD9icLV7s8YSHFRVh8kRT6b40gA9w4TSW/ecdJMC6d+kjMfAj1NO
+R30qPisfPG1Bb62ZOh4Y7SCGcGPqnvjWvMxh1UcRHmKy8PfpWKPdtbR/6oki0htw
+OnCI8wFQ4g8HmxpnOfu2hc0yj5+ZgA3jileTfwiadkzkXSWNABEBAAG0JUdpYnNv
+biBGYWhuZXN0b2NrIDxnaWJmYWhuQGdtYWlsLmNvbT6JAjkEEwEIACMFAlf3hmYC
+GwMHCwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIXgAAKCRCwH7uSghxYerFZD/4yuqSl
+Hdrm+1PPnen6mBT/VcBGvz88hJMgsD3r0Vlnidpc/JSlggJWdUyCziwW7tfwPkjS
+1JSZUMPXNAffn53xKDF3nYCCseDWBdrwPJzc09qYbXIPmtUH/5B2ETzfiSW+z+Ub
+9hmsBJDVWtEfrFWZ0ECcYQ/X2MnbFJAYqJ3OzejRKPc5nyAyVZFgnGbL6eeG64oZ
+lZvpT5xBc/xsxPN/hHGGCaLrqyeYvd9999rxgaD+EyJbabRtfL3+f2MBleOKHMYO
+KeA9i/pWHas7yU9b7ChVZf9L/n2ejVDuYJbskQzH68PyS55P85i+EOBcLKWpKSIP
+ORpNDO70dFMi3Q4NIhzSBXWvqsWkqgGW6gkXg9Fdu3BiIz72EdP+UWaHhFesvgq9
+u3WQ7BOEJZASJHagN3w7e/hGD+Y10eNdpJSceZMNqBkTDtAu4gCVAIBAr88g3urQ
+JWnNr8DfmuVZy6T3lHHlNhy09+BPdXMNe2rCy23HNKx54M3FJRfrNHYyoAyDw8tI
+g3izFJDkPAOgWMZ7MO3RIXP5/Wxks5fVlDq+pJ4YrhLczS2bzoxo0PcXwh7WjWD9
+PGtkdVpJh0teGmQTE4TRNbam97QSEEMuMNzqe0T+S9Kcymii7rEYDVCn8Gu2og0E
+6rXrq5muYKO67P6e6WSiv9PdFvN2TFMNluxwUrkCDQRX94ZmARAAp8o5b/A2nI5E
+BaXq1fGWWEUV8IQdlDLwZnmWCj56Bocs1c2swcsbmw4HlHDRMhIS3tHFYnpvXMwk
+hvZbKG8bkCpADRnwT6gvqmwoSiCQRaSuHrs2PbcGeYNCVjmuPMvH8yP2VWJaGxye
+rtEkNRcrradu0OdkYhtay2ppZ1EUDGG/ensm8MCuNMR01Btk/DJOpyamJTsGdfFs
+DG0mNTfYOD1EVZ2YrjO5GohWIBOy08XwxYPwPP/EF02jSgBbJ3hXA2wsc2OozLz/
+iPZA1Ok0PKpwGvfZoJq9TckzGUGHVuEBjqMoQm7MMVYC0vo1X26He8RsqU1Jby/X
+OBJS0LLmYP7+RTpEBhJcicUNrl/1Np/8NVR8U0A4LwHCDT/yctSMMZm+zQ+T6T1x
+pXtyQx/oNNGScc5rX48766q/6LNYfXTktSVEr1kPpuA8brHenT0zX1C5nTn9DTx/
+XWVvn0jVAnriR07PVLjlW2UR8L7puwKsQJZ/oWTpy8gVvfnMRuUDLdmxktIyT8yR
+ltGUAWHrkA+b7Phj3RGP5mWq0FgadOBaHsE+lyhZ8sdx4cdFXja9tDeVg3NQ9iCi
+kq0DcA3WQRyT8Y48Wpc4eF4MKiROnEudIKNotwdQS9yQwyILgGMLsoyf1ZCCercW
+OWM0pGV3xWGRcu8If3DFmPEL+e1FQl8AEQEAAYkCHwQYAQgACQUCV/eGZgIbDAAK
+CRCwH7uSghxYerY9EACRtMAzk3Ax3oFTvZi6HLemr6/ptsgppqq9XcsN9F0AEDrs
+BaYQK7kHMteX4V4oIQOxrQnZZf1/p+14CFrvhzYq35QxfoaMdV4wX1yG+wF/uhtu
+mCBHABhMMnWAZmfT6SbiAxny8FcmgW3Sf+OQeKLcTAP59tEOiUFTE39OYSPnVDxR
+dWQHAMJupxrtsdrzho5hZjlLN+asj3YU5twztHr7pk2iZzPKNw4ZBLjrj1NKi4Ly
+66KWiJyOFn5PS5texF9sCYw59kedG/kaBbxz4O/5xSYwvW7zGFAOX/cLehpoDwhh
+mwmIRJm85brDfjvXldO8ZQZi8GWdKD4WdnRXVUQyRntux2bRseiXkTfN/NTrFYPr
+gZvYmNflMdSQKqP1P0rjQpHabfWR6aSqzjtDSKdfj09HXWs3NbvpVnLBOIvInggt
+PCU7lWaeIyM0rqvCgl8pRVWWJ0/CCsuTQ71FigPd9ifvu4DIdgj+QAIOGpkEre+u
+4RAaaXzvzIRhDtELzsVp7UYGOzZ6TD1M35fmnqu8/jy4I/jOQ0H/6CKBr0tfyzjy
+luh/yZ6zHR8uYECpweWWG4T1PhbGUvq5GwB+nODHR1Ag9qk4efHq187DNJTNkGkp
+XD/6E+tsVumhHOmMNIB7Rd4+6JNxVsZkhC2OwCAmwrq36YYemlZOuL8qhmYVIpkC
+DQRYhpLWARAA6AT3VJMFQPXTVYs9sMW/nt14mkGnrEh70UXg6TqVkO8rsNsi3cXl
+Hq+iHsXKI3v4tfMfng+xRdYIvi6NidS1SEXIUwsdrxrPT9omFtYsqQkZfPQu9rKt
+Gh8+koltDgHLZORTibZTsnLmKRq2vGyqsk5PHp9e7OhMoxHL0OeBVmnK4i8+n5NW
+Z1d5gSIstNyFhDmlVMSL5rgTPDEEVF2J/wcVF9VaaNKqan/arV0e0G4lMo0zf3R1
+M978WE9uumnxLDphToHVNi8LGbDSgElJx7EczTHjKkyKKRA9zC1R9SL8bABMpZQN
+HxB1daQhCPLnuhm7359qNK/hslwGRQe6ScHkiSpxeJJry34+muaP1ARtSVkAQWRZ
+Z46QmReYS/FupXXDI9HghA9jxGxRohIq5Dc48lNbFHrEpbi7LznOH869D2BQTRgJ
+/UjU5RKuRaQrm8KbJirGQ6v1FmmPX0oLgv1IUXuqJJ7cubMCrZKeISq60z48FFUz
+f38HYIhyhfzSKL3T/r4SLZL9+KQXKhfPbnT17bAx7cqNQZte3sxV1Rl1kp8H8KfS
+nS1ZyFxmynts9XKZrzNwCNUGlqZdpwPm132BVWqx4U6fp1rOT80lFxCLQ/Sta0lG
+vVc+qEMdVqbDPWWYt6xeLCoUkXNq9VQVKHhE0Iz84ytM7EqnQOFcBgUAEQEAAbQj
+SXRhbG8gQS4gQ2FzYXMgPG1lQGl0YWxvYWNhc2FzLmNvbT6JAiIEEgEIAAwFAlia
+OQsFgweGH4AACgkQ5zvGQcwR9MjBjxAAtLf1vcDkOsYtU+RCrpfWotwaFoYLRDlc
+DIjFLO1bX2TIy1YFXDA9c0x8J5Pbt3wmhtkFojgmaGqvWpCJkb7lnudx9Qi/a2gx
+ys7HS9heaUDoYM8kgeXVHJe1UcVi4veOthg8wp/hQJDUuKba1Xw9ujVi1PqbBNCw
+5ALJK1iNcFmgjtk4Ab2rgCFHqTr/KOUNtYLs/uI9YOHGnzUAW0SrLgHQFD2B6TWv
+kFBsRkR+LrY1xGinzt2V34BWmTgIvivC/DNdibhVoU2tSEj0VFkJuyKNSEj2PLA3
+lzaDteCezITqkn0TFpWVkl0NH8c39WV9d9OE60zvTPKfWYteio7VKIQpnCIMGhwr
+ojt0RD0EEznmc5UV+RWKRcoWk7B2BqsZxFp94XRBqFjVOmWeK/hMZxoMl7I0V4gk
+NyLbPMRyi87ZrVmof+wv7B7Vs8eBKiPDQu9W53bozX4bSf2oyZ3EWSPg+GCCSFc6
+NbBfkq8kdyA5LTKGRgxYZseiKaGvAP20AgRVSYhikl1zlcnGtnjjv6PeAAb4PlQc
+ANhLLZ27XUVOWAtUdm9WQyGC7ONNKF7VbR1ikT04JaQMHb7a+cSiLlsV27B+9gk0
+bqIDSr8LOT1EDYFb4Xpw1eWCHlepbCFGl0MHOSuOzr4MXgZAjPiGrW6fCk7zCFlc
+bjfaMmOafUSJAjgEEwEIACwFAliGktYJECPv7+k8TP/+AhsDBQkeEzgAAhkBBAsH
+CQMFFQgKAgMEFgABAgAAx9IQANh9VjRLD8cLrsjVgKeC8/ncD6cpk7OqbH5vKjse
+56RK0ABpU3ZSS9rzJdT+h3vTnIgRKCUBaw2xcv7oN+GCNT3VJ7MmyF4NyDTOjBiP
+o/Wvck1C81n2t4+05INt6AL7Zn5HfeEGWVLo7zbzReCXdm3kmoifYxxwIEnPZeJa
+Ly3nJRUlTMWm59lfU88q0RCyBZdI9+muiD7voSIR5Nu6Uf/Erw+YryXcBLlRIG9k
+1nML5cAcH1qhvhyu9Fj6B2SeDcBHK37KyxiOmsIY5H1KsX7ijdR1MrLUSIbqODpi
+pN4qFHPR+IzDyAWXs2QdEAEruh33SCzYX1rcVpVQU0buARBlGK+XzxwIXUn/V1Ku
+2bTRl5eKbgvn4bB6V9fxrUvN3g/mdmB/pGLCt9imEqPcVoiApnLbTJ6HIIFT/rNe
+RomqK5iDNG27HjGxofIKbkqhFJ2j/JEBJKpG4DHrVEkup6GTxzAzCHLr6Rkmyp32
+LQUq5yrV6u7e7tV6HoyaEDo6ywafAuBTfh3DAcfMandkpFdujGVniGrj9PJ8Ux4/
+Jxu1pN151uHifMITuVCkmjrS6gfFzCoSzcQV7yjNecvnse5ipCcyo6QJ2yCkwK+f
+u+VcWy5JVw+FOvS44tgGLcsBexPPOtZPxVeZ1GCMVjPawNMjOjmB0jLBA2lmvDJk
+iSumuQINBFiGktYBEACvROrJShVGFXjlldqr+DpTMsN7HBirnM7v6esapd1HGJNB
+QNhK16vGC6NwD7fpOJ5bn0AzE1RPNKZ/CXOEoCne70M4XuzskUlqR74kwvRcxkV1
+WAHN+ABUIOXmfIVQZiQ9bM8FlUFFoW75MXDd8UeaOnMaxOMfYMQn0zCk+0w2o6UH
+KtyTJEQ6L9XfFePaxTqxpWlWgDL50JeLPcqQbF5av851xppPqRrrSMat0E4T5I4h
+W2m96A4KTCXt0TyrcziYSJ1elhiXZpgJ+ZlwEpk3lD32JDjar49gpcx2Nno4qj2i
+Mdx62D2/OxpckLoRNaj25sdgC7JZBzmGGwbuSbE1q5QTwjMInbNccsUmFNECWPBM
+vpJK/RC+/Htz8q373t/45W4d7zXNgQxlAKF99NVhZ1EBD5CSy3Q6qPqdrbdJh3Dl
+VH/KnFl+hLwxsnjV0VhXPJgsg62TzIGDlS/N6N5C62lj9cCW6biek4QULgN1/Ni0
+hedK6aBdzDtpS4CR1s1rca+rgqimrgOtl6qJW3+MSxtiLsDLLDAYsZdhWnuBhUB7
+XIyBBtNir5rFibLNjkdxUF4Ug89U99m8vNOFiTaOBjy3rTvF9XtEqY3qg/KSUf75
+Wwp4ys1LuA7RoKkNET/WXsGiU47eS0dD6DOQmSKrrAIPfqseW9phJD+hbbrPWQAR
+AQABiQI1BBgBCAApBQJYhpLWCRAj7+/pPEz//gIbDAUJHhM4AAQLBwkDBRUICgID
+BBYAAQIAAAsJD/0aaHE3/txaeMU1bfDs0nWIBmSrqhVvHEvyzIzWK30D6Nfmv7bP
+81hILfa2PfxjIgOCHtdA4xtAqV3G2/+7UeWLKlv0tuiZmx8p8mQkA6MsOnuDR4sW
+TQ8Vd0arkTyzlBOwvz/SL8YXDSxWeSAgSSbQ+Ri7XrwwE+BjcWSeKabqmgQ4Hp7L
+bQ0IvQ5f+hBWfLvugCgHI/7PRPhQbpallIdQLE7Qoavl8aDG8AqeN6tBLfjn19RR
+kottbntbUlSG+WoYk2hYiydZGRlKwkNfcsuaaNF0p9pH0HR6RrsknrqxT+l8DaLm
+4BwIMFXjnSuCEPfiJ3kV4bzRRND7iOfokdjJioj4ChrFR6461kDl7zqdkGIqU45q
+Q+aklo0WTFvfiiTrsMXLpIhrCNn8oGST0eM8u3GCfmMFbxhO897NTDYnz1wOMcXu
+MVqJ489aDKKvEV8zLljjUjJiZVDnbq0QE1abzVdmBtJRA3732buBwrzlHL5z4Bca
+Zwe1bQsPHAzyC9EpJn7PtJcdDkfBk1PsGWx9cmPvqvX1Xbm8UoVie0x+wge5SM77
+5JeDdR41lHndWw67Ry59GgQapkOoargTqKyNYMYAxZBqKvdvIhS8jdAt5ldagJpV
+quRCpSq91OAxMG0TFGCBXKjtqzsHk58WtAalk49TvO/0r0inTnfWSORiKQ==
+=jVEm
+-----END PGP PUBLIC KEY BLOCK-----
diff --git a/pkgs/development/web/nodejs/nodejs.nix b/pkgs/development/web/nodejs/nodejs.nix
index 22eb772da1f..3f0ab5ff506 100644
--- a/pkgs/development/web/nodejs/nodejs.nix
+++ b/pkgs/development/web/nodejs/nodejs.nix
@@ -1,11 +1,14 @@
 { stdenv, fetchurl, openssl, python2, zlib, libuv, utillinux, http-parser
 , pkgconfig, which
+# Updater dependencies
+, writeScript, coreutils, gnugrep, jq, curl, common-updater-scripts, nix
+, gnupg
 , darwin ? null
 }:
 
 with stdenv.lib;
 
-{ enableNpm ? true, version, sha256, patches }:
+{ enableNpm ? true, version, sha256, patches } @args:
 
 let
 
@@ -59,6 +62,8 @@ in
 
     setupHook = ./setup-hook.sh;
 
+    pos = builtins.unsafeGetAttrPos "version" args;
+
     inherit patches;
 
     preBuild = optionalString stdenv.isDarwin ''
@@ -84,6 +89,12 @@ in
       cp -r ${concatStringsSep " " copyLibHeaders} $out/include/node
     '';
 
+    passthru.updateScript = import ./update.nix {
+      inherit writeScript coreutils gnugrep jq curl common-updater-scripts gnupg nix;
+      inherit (stdenv) lib;
+      majorVersion = with stdenv.lib; elemAt (splitString "." version) 0;
+    };
+
     meta = {
       description = "Event-driven I/O framework for the V8 JavaScript engine";
       homepage = https://nodejs.org;
diff --git a/pkgs/development/web/nodejs/update-keyring b/pkgs/development/web/nodejs/update-keyring
new file mode 100755
index 00000000000..39737758e76
--- /dev/null
+++ b/pkgs/development/web/nodejs/update-keyring
@@ -0,0 +1,18 @@
+#!/usr/bin/env nix-shell
+#! nix-shell --pure -i bash -p coreutils findutils gnupg curl
+
+# https://github.com/nodejs/node#release-team
+HOME=`mktemp -d`
+keyserver="pool.sks-keyservers.net"
+cat << EOF | xargs -P 4 -n 1 gpg --keyserver $keyserver --recv-keys
+94AE36675C464D64BAFA68DD7434390BDBE9B9C5
+FD3A5288F042B6850C66B31F09FE44734EB7990E
+71DCFD284A79C3B38668286BC97EC7A07EDE3FC1
+DD8F2338BAE7501E3DD5AC78C273792F7D83545D
+C4F0DFFF4E8C1A8236409D08E73BC641CC11F4C8
+B9AE9905FFD7803F25714661B63B535A4C206CA9
+56730D5401028683275BD23C23EFEFE93C4CFFFE
+77984A986EBC2AA786BC0F66B01FBB92821C587A
+EOF
+
+gpg -a --export > nodejs-release-keys.asc
diff --git a/pkgs/development/web/nodejs/update.nix b/pkgs/development/web/nodejs/update.nix
new file mode 100644
index 00000000000..9ff11982b65
--- /dev/null
+++ b/pkgs/development/web/nodejs/update.nix
@@ -0,0 +1,27 @@
+{ lib
+, writeScript
+, coreutils
+, curl
+, gnugrep
+, jq
+, gnupg
+, common-updater-scripts
+, majorVersion
+, nix
+}:
+
+writeScript "update-nodejs" ''
+  PATH=${lib.makeBinPath [ common-updater-scripts coreutils curl gnugrep jq gnupg nix ]}
+
+  HOME=`mktemp -d`
+  cat ${./nodejs-release-keys.asc} | gpg --import
+
+  tags=`curl --silent https://api.github.com/repos/nodejs/node/git/refs/tags`
+  version=`echo $tags | jq -r '.[] | select(.ref | startswith("refs/tags/v${majorVersion}")) | .ref' | sort --version-sort  | tail -1 | grep -oP "^refs/tags/v\K.*"`
+
+  curl --silent -o $HOME/SHASUMS256.txt.asc https://nodejs.org/dist/v''${version}/SHASUMS256.txt.asc
+  hash_hex=`gpgv --keyring=$HOME/.gnupg/pubring.kbx --output - $HOME/SHASUMS256.txt.asc | grep -oP "^([0-9a-f]{64})(?=\s+node-v''${version}.tar.xz$)"`
+  hash=`nix-hash --type sha256 --to-base32 ''${hash_hex}`
+
+  update-source-version nodejs-${majorVersion}_x "''${version}" "''${hash}"
+''
diff --git a/pkgs/development/web/nodejs/v10.nix b/pkgs/development/web/nodejs/v10.nix
new file mode 100644
index 00000000000..9f5f1880989
--- /dev/null
+++ b/pkgs/development/web/nodejs/v10.nix
@@ -0,0 +1,11 @@
+{ stdenv, callPackage, lib, openssl, enableNpm ? true }:
+
+let
+  buildNodejs = callPackage ./nodejs.nix { inherit openssl; };
+in
+  buildNodejs {
+    inherit enableNpm;
+    version = "10.0.0";
+    sha256 = "0l5bx2j4f2ij19kx14my7g7k37j3fn9qpjvbisjvhpbm42810fg2";
+    patches = lib.optionals stdenv.isDarwin [ ./no-xcode-v7.patch ./no-xcodebuild.patch ];
+  }
diff --git a/pkgs/development/web/nodejs/v6.nix b/pkgs/development/web/nodejs/v6.nix
index c2ca341751b..6dd9dd6f8e1 100644
--- a/pkgs/development/web/nodejs/v6.nix
+++ b/pkgs/development/web/nodejs/v6.nix
@@ -5,7 +5,7 @@ let
 in
   buildNodejs {
     inherit enableNpm;
-    version = "6.13.0";
-    sha256 = "012dpfqxsrmd3xc4dmq0mik1kab4czf56s8wm2jvm7xjqvi6y5mp";
-    patches = lib.optionals stdenv.isDarwin [ ./no-xcode.patch ];
+    version = "6.14.1";
+    sha256 = "1hxyasy42ih9brgp37n9j85s5vwir3g32k5i3j0vx2kizy4xlphi";
+    patches = lib.optionals stdenv.isDarwin [ ./no-xcode.patch ./no-xcodebuild.patch ];
   }
diff --git a/pkgs/development/web/nodejs/v8.nix b/pkgs/development/web/nodejs/v8.nix
index fa5f10e8f7b..942c6cc3fd8 100644
--- a/pkgs/development/web/nodejs/v8.nix
+++ b/pkgs/development/web/nodejs/v8.nix
@@ -5,7 +5,7 @@ let
 in
   buildNodejs {
     inherit enableNpm;
-    version = "8.9.4";
-    sha256 = "0vy8rlg58kg75j4sw3xadmbrwxfa56iaykmjl18g9a8wkjfdxp3c";
-    patches = lib.optionals stdenv.isDarwin [ ./no-xcode-v7.patch ];
+    version = "8.11.1";
+    sha256 = "12kmsh5cl72dq5hzik1cczn2n5crbfqqd1xmrzqgryipx98yp9j0";
+    patches = lib.optionals stdenv.isDarwin [ ./no-xcode-v7.patch ./no-xcodebuild.patch ];
   }
diff --git a/pkgs/development/web/nodejs/v9.nix b/pkgs/development/web/nodejs/v9.nix
index af3a8b4d22f..f6f8aa8d1ab 100644
--- a/pkgs/development/web/nodejs/v9.nix
+++ b/pkgs/development/web/nodejs/v9.nix
@@ -5,7 +5,7 @@ let
 in
   buildNodejs {
     inherit enableNpm;
-    version = "9.6.1";
-    sha256 = "04hi7lwdizwqqbyi77f4z12gnsh673h92brmbssrmw5kjx6h4k5q";
+    version = "9.11.1";
+    sha256 = "0k4xkcymf4y3k2bxjryb2lj97bxnng75x7a77i2wgx94749kvp13";
     patches = lib.optionals stdenv.isDarwin [ ./no-xcode-v7.patch ];
   }
diff --git a/pkgs/development/web/postman/default.nix b/pkgs/development/web/postman/default.nix
index 605e5de0311..c51e1595ee7 100644
--- a/pkgs/development/web/postman/default.nix
+++ b/pkgs/development/web/postman/default.nix
@@ -1,12 +1,12 @@
-{ stdenv, lib, gnome2, fetchurl, pkgs, xlibs, udev, makeWrapper, makeDesktopItem }:
+{ stdenv, lib, gnome2, fetchurl, pkgs, xorg, udev, makeWrapper, makeDesktopItem }:
 
 stdenv.mkDerivation rec {
   name = "postman-${version}";
-  version = "5.5.2";
+  version = "5.5.3";
 
   src = fetchurl {
     url = "https://dl.pstmn.io/download/version/${version}/linux64";
-    sha1 = "68886197A8375E860AB880547838FEFC9E12FC64";
+    sha1 = "BC0C6117BEC6D1638FD18A0E2A580617669A9297";
     name = "${name}.tar.gz";
   };
 
@@ -16,10 +16,15 @@ stdenv.mkDerivation rec {
 
   buildPhase = ":";   # nothing to build
 
+  icon = fetchurl {
+    url = "https://www.getpostman.com/img-rebrand/logo.png";
+    sha256 = "0jdhl9c07b1723j2f172z3s5p5lh8sqa1rcvdzz3h6z5zwn21g7v";
+  };
+
   desktopItem = makeDesktopItem {
     name = "postman";
     exec = "postman";
-    icon = "$out/share/postman/resources/app/assets/icon.png";
+    icon = "${icon}";
     comment = "API Development Environment";
     desktopName = "Postman";
     genericName = "Postman";
@@ -28,10 +33,12 @@ stdenv.mkDerivation rec {
 
   installPhase = ''
     mkdir -p $out/share/postman
-    mkdir -p $out/share/applications
     cp -R * $out/share/postman
+
     mkdir -p $out/bin
     ln -s $out/share/postman/Postman $out/bin/postman
+
+    mkdir -p $out/share/applications
     ln -s ${desktopItem}/share/applications/* $out/share/applications/
   '';
 
@@ -54,19 +61,19 @@ stdenv.mkDerivation rec {
       pkgs.nss
       pkgs.nspr
       pkgs.udev.lib
-      xlibs.libX11
-      xlibs.libxcb
-      xlibs.libXi
-      xlibs.libXcursor
-      xlibs.libXdamage
-      xlibs.libXrandr
-      xlibs.libXcomposite
-      xlibs.libXext
-      xlibs.libXfixes
-      xlibs.libXrender
-      xlibs.libX11
-      xlibs.libXtst
-      xlibs.libXScrnSaver
+      xorg.libX11
+      xorg.libxcb
+      xorg.libXi
+      xorg.libXcursor
+      xorg.libXdamage
+      xorg.libXrandr
+      xorg.libXcomposite
+      xorg.libXext
+      xorg.libXfixes
+      xorg.libXrender
+      xorg.libX11
+      xorg.libXtst
+      xorg.libXScrnSaver
     ];
   in ''
     patchelf \
diff --git a/pkgs/development/web/remarkjs/generate.sh b/pkgs/development/web/remarkjs/generate.sh
index 63d43c6773f..040aaf97716 100644
--- a/pkgs/development/web/remarkjs/generate.sh
+++ b/pkgs/development/web/remarkjs/generate.sh
@@ -1,3 +1,3 @@
 #!/bin/sh -e
 
-node2nix -i pkgs.json -c nodepkgs.nix -e ../../node-packages/node-env.nix
+node2nix -6 -i pkgs.json -c nodepkgs.nix -e ../../node-packages/node-env.nix
diff --git a/pkgs/development/web/remarkjs/node-packages.nix b/pkgs/development/web/remarkjs/node-packages.nix
index 8ece92b4a3f..4c8a6c6db97 100644
--- a/pkgs/development/web/remarkjs/node-packages.nix
+++ b/pkgs/development/web/remarkjs/node-packages.nix
@@ -1,448 +1,457 @@
-# This file has been generated by node2nix 1.2.0. Do not edit!
+# This file has been generated by node2nix 1.5.3. Do not edit!
 
 {nodeEnv, fetchurl, fetchgit, globalBuildInputs ? []}:
 
 let
   sources = {
-    "JSONStream-1.3.1" = {
+    "@sinonjs/formatio-2.0.0" = {
+      name = "_at_sinonjs_slash_formatio";
+      packageName = "@sinonjs/formatio";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@sinonjs/formatio/-/formatio-2.0.0.tgz";
+        sha512 = "37dc2svic03crmc9mvs4xc16rd28cbbf33js9ndp8278gb5xi40h1yzx467h3ca9mszjfwwr9vyfnvfbk07dj7gz039izrsq0085kln";
+      };
+    };
+    "JSONStream-1.3.2" = {
       name = "JSONStream";
       packageName = "JSONStream";
-      version = "1.3.1";
+      version = "1.3.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.1.tgz";
-        sha1 = "707f761e01dae9e16f1bcf93703b78c70966579a";
+        url = "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.2.tgz";
+        sha1 = "c102371b6ec3a7cf3b847ca00c20bb0fce4c6dea";
       };
     };
-    "assert-1.4.1" = {
-      name = "assert";
-      packageName = "assert";
-      version = "1.4.1";
+    "abbrev-1.1.1" = {
+      name = "abbrev";
+      packageName = "abbrev";
+      version = "1.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/assert/-/assert-1.4.1.tgz";
-        sha1 = "99912d591836b5a6f5b345c0f07eefc08fc65d91";
+        url = "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz";
+        sha512 = "38s4f3id97wsb0rg9nm9zvxyq0nvwrmrpa5dzvrkp36mf5ibs98b4z6lvsbrwzzs0sbcank6c7gpp06vcwp9acfhp41rzlhi3ybsxwy";
       };
     };
-    "browser-pack-6.0.2" = {
-      name = "browser-pack";
-      packageName = "browser-pack";
-      version = "6.0.2";
+    "acorn-4.0.13" = {
+      name = "acorn";
+      packageName = "acorn";
+      version = "4.0.13";
       src = fetchurl {
-        url = "https://registry.npmjs.org/browser-pack/-/browser-pack-6.0.2.tgz";
-        sha1 = "f86cd6cef4f5300c8e63e07a4d512f65fbff4531";
+        url = "https://registry.npmjs.org/acorn/-/acorn-4.0.13.tgz";
+        sha1 = "105495ae5361d697bd195c825192e1ad7f253787";
       };
     };
-    "browser-resolve-1.11.2" = {
-      name = "browser-resolve";
-      packageName = "browser-resolve";
-      version = "1.11.2";
+    "acorn-5.5.3" = {
+      name = "acorn";
+      packageName = "acorn";
+      version = "5.5.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/browser-resolve/-/browser-resolve-1.11.2.tgz";
-        sha1 = "8ff09b0a2c421718a1051c260b32e48f442938ce";
+        url = "https://registry.npmjs.org/acorn/-/acorn-5.5.3.tgz";
+        sha512 = "0wmwifv9mm9gqcir9zbz5y1gl1rgwwprqh1f3csjydj8kf3byca7img3rh5b54kbnw3ik34bc6ynbnzsd01zmxrsfdvjv95hn84rpld";
       };
     };
-    "browserify-zlib-0.1.4" = {
-      name = "browserify-zlib";
-      packageName = "browserify-zlib";
-      version = "0.1.4";
+    "acorn-node-1.3.0" = {
+      name = "acorn-node";
+      packageName = "acorn-node";
+      version = "1.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.1.4.tgz";
-        sha1 = "bb35f8a519f600e0fa6b8485241c979d0141fb2d";
+        url = "https://registry.npmjs.org/acorn-node/-/acorn-node-1.3.0.tgz";
+        sha512 = "0pxd0cjsh0kdh8nxcpm000fcsgwmr8b13gyxkac8yxzz9a5wblqka5crksicnx8mqwy499k1jryr83bjzb3355xikgs5mfxgpigkwvr";
       };
     };
-    "buffer-5.0.5" = {
-      name = "buffer";
-      packageName = "buffer";
-      version = "5.0.5";
+    "adm-zip-0.2.1" = {
+      name = "adm-zip";
+      packageName = "adm-zip";
+      version = "0.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/buffer/-/buffer-5.0.5.tgz";
-        sha1 = "35c9393244a90aff83581063d16f0882cecc9418";
+        url = "https://registry.npmjs.org/adm-zip/-/adm-zip-0.2.1.tgz";
+        sha1 = "e801cedeb5bd9a4e98d699c5c0f4239e2731dcbf";
       };
     };
-    "cached-path-relative-1.0.1" = {
-      name = "cached-path-relative";
-      packageName = "cached-path-relative";
-      version = "1.0.1";
+    "ajv-4.11.8" = {
+      name = "ajv";
+      packageName = "ajv";
+      version = "4.11.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/cached-path-relative/-/cached-path-relative-1.0.1.tgz";
-        sha1 = "d09c4b52800aa4c078e2dd81a869aac90d2e54e7";
+        url = "https://registry.npmjs.org/ajv/-/ajv-4.11.8.tgz";
+        sha1 = "82ffb02b29e662ae53bdc20af15947706739c536";
       };
     };
-    "concat-stream-1.5.2" = {
-      name = "concat-stream";
-      packageName = "concat-stream";
-      version = "1.5.2";
+    "array-filter-0.0.1" = {
+      name = "array-filter";
+      packageName = "array-filter";
+      version = "0.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/concat-stream/-/concat-stream-1.5.2.tgz";
-        sha1 = "708978624d856af41a5a741defdd261da752c266";
+        url = "https://registry.npmjs.org/array-filter/-/array-filter-0.0.1.tgz";
+        sha1 = "7da8cf2e26628ed732803581fd21f67cacd2eeec";
       };
     };
-    "console-browserify-1.1.0" = {
-      name = "console-browserify";
-      packageName = "console-browserify";
-      version = "1.1.0";
+    "array-map-0.0.0" = {
+      name = "array-map";
+      packageName = "array-map";
+      version = "0.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz";
-        sha1 = "f0241c45730a9fc6323b206dbf38edc741d0bb10";
+        url = "https://registry.npmjs.org/array-map/-/array-map-0.0.0.tgz";
+        sha1 = "88a2bab73d1cf7bcd5c1b118a003f66f665fa662";
       };
     };
-    "constants-browserify-1.0.0" = {
-      name = "constants-browserify";
-      packageName = "constants-browserify";
-      version = "1.0.0";
+    "array-reduce-0.0.0" = {
+      name = "array-reduce";
+      packageName = "array-reduce";
+      version = "0.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz";
-        sha1 = "c20b96d8c617748aaf1c16021760cd27fcb8cb75";
+        url = "https://registry.npmjs.org/array-reduce/-/array-reduce-0.0.0.tgz";
+        sha1 = "173899d3ffd1c7d9383e4479525dbe278cab5f2b";
       };
     };
-    "crypto-browserify-3.11.0" = {
-      name = "crypto-browserify";
-      packageName = "crypto-browserify";
-      version = "3.11.0";
+    "asap-2.0.6" = {
+      name = "asap";
+      packageName = "asap";
+      version = "2.0.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.11.0.tgz";
-        sha1 = "3652a0906ab9b2a7e0c3ce66a408e957a2485522";
+        url = "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz";
+        sha1 = "e50347611d7e690943208bbdafebcbc2fb866d46";
       };
     };
-    "defined-1.0.0" = {
-      name = "defined";
-      packageName = "defined";
-      version = "1.0.0";
+    "asn1-0.1.11" = {
+      name = "asn1";
+      packageName = "asn1";
+      version = "0.1.11";
       src = fetchurl {
-        url = "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz";
-        sha1 = "c98d9bcef75674188e110969151199e39b1fa693";
+        url = "https://registry.npmjs.org/asn1/-/asn1-0.1.11.tgz";
+        sha1 = "559be18376d08a4ec4dbe80877d27818639b2df7";
       };
     };
-    "deps-sort-2.0.0" = {
-      name = "deps-sort";
-      packageName = "deps-sort";
-      version = "2.0.0";
+    "asn1-0.2.3" = {
+      name = "asn1";
+      packageName = "asn1";
+      version = "0.2.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/deps-sort/-/deps-sort-2.0.0.tgz";
-        sha1 = "091724902e84658260eb910748cccd1af6e21fb5";
+        url = "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz";
+        sha1 = "dac8787713c9966849fc8180777ebe9c1ddf3b86";
       };
     };
-    "domain-browser-1.1.7" = {
-      name = "domain-browser";
-      packageName = "domain-browser";
-      version = "1.1.7";
+    "asn1.js-4.10.1" = {
+      name = "asn1.js";
+      packageName = "asn1.js";
+      version = "4.10.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/domain-browser/-/domain-browser-1.1.7.tgz";
-        sha1 = "867aa4b093faa05f1de08c06f4d7b21fdf8698bc";
+        url = "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz";
+        sha512 = "15j9ms7k6dx08m1wqrvc4958vcrshjjpicpxmz9bflsyk0x2r7w20lxlm27jpyj7cwj6158a0582vifk393hqp0ysn9mlbabqw9qzd7";
       };
     };
-    "duplexer2-0.1.4" = {
-      name = "duplexer2";
-      packageName = "duplexer2";
-      version = "0.1.4";
+    "assert-1.4.1" = {
+      name = "assert";
+      packageName = "assert";
+      version = "1.4.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz";
-        sha1 = "8b12dab878c0d69e3e7891051662a32fc6bddcc1";
+        url = "https://registry.npmjs.org/assert/-/assert-1.4.1.tgz";
+        sha1 = "99912d591836b5a6f5b345c0f07eefc08fc65d91";
       };
     };
-    "events-1.1.1" = {
-      name = "events";
-      packageName = "events";
-      version = "1.1.1";
+    "assert-plus-0.1.5" = {
+      name = "assert-plus";
+      packageName = "assert-plus";
+      version = "0.1.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/events/-/events-1.1.1.tgz";
-        sha1 = "9ebdb7635ad099c70dcc4c2a1f5004288e8bd924";
+        url = "https://registry.npmjs.org/assert-plus/-/assert-plus-0.1.5.tgz";
+        sha1 = "ee74009413002d84cec7219c6ac811812e723160";
       };
     };
-    "glob-7.1.1" = {
-      name = "glob";
-      packageName = "glob";
-      version = "7.1.1";
+    "assert-plus-0.2.0" = {
+      name = "assert-plus";
+      packageName = "assert-plus";
+      version = "0.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/glob/-/glob-7.1.1.tgz";
-        sha1 = "805211df04faaf1c63a3600306cdf5ade50b2ec8";
+        url = "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz";
+        sha1 = "d74e1b87e7affc0db8aadb7021f3fe48101ab234";
       };
     };
-    "has-1.0.1" = {
-      name = "has";
-      packageName = "has";
-      version = "1.0.1";
+    "assert-plus-1.0.0" = {
+      name = "assert-plus";
+      packageName = "assert-plus";
+      version = "1.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/has/-/has-1.0.1.tgz";
-        sha1 = "8461733f538b0837c9361e39a9ab9e9704dc2f28";
+        url = "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz";
+        sha1 = "f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525";
       };
     };
-    "htmlescape-1.1.1" = {
-      name = "htmlescape";
-      packageName = "htmlescape";
-      version = "1.1.1";
+    "astw-2.2.0" = {
+      name = "astw";
+      packageName = "astw";
+      version = "2.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/htmlescape/-/htmlescape-1.1.1.tgz";
-        sha1 = "3a03edc2214bca3b66424a3e7959349509cb0351";
+        url = "https://registry.npmjs.org/astw/-/astw-2.2.0.tgz";
+        sha1 = "7bd41784d32493987aeb239b6b4e1c57a873b917";
       };
     };
-    "https-browserify-0.0.1" = {
-      name = "https-browserify";
-      packageName = "https-browserify";
-      version = "0.0.1";
+    "async-0.9.2" = {
+      name = "async";
+      packageName = "async";
+      version = "0.9.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/https-browserify/-/https-browserify-0.0.1.tgz";
-        sha1 = "3f91365cabe60b77ed0ebba24b454e3e09d95a82";
+        url = "https://registry.npmjs.org/async/-/async-0.9.2.tgz";
+        sha1 = "aea74d5e61c1f899613bf64bda66d4c78f2fd17d";
       };
     };
-    "inherits-2.0.3" = {
-      name = "inherits";
-      packageName = "inherits";
-      version = "2.0.3";
+    "asynckit-0.4.0" = {
+      name = "asynckit";
+      packageName = "asynckit";
+      version = "0.4.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz";
-        sha1 = "633c2c83e3da42a502f52466022480f4208261de";
+        url = "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz";
+        sha1 = "c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79";
       };
     };
-    "insert-module-globals-7.0.1" = {
-      name = "insert-module-globals";
-      packageName = "insert-module-globals";
-      version = "7.0.1";
+    "aws-sign2-0.5.0" = {
+      name = "aws-sign2";
+      packageName = "aws-sign2";
+      version = "0.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/insert-module-globals/-/insert-module-globals-7.0.1.tgz";
-        sha1 = "c03bf4e01cb086d5b5e5ace8ad0afe7889d638c3";
+        url = "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.5.0.tgz";
+        sha1 = "c57103f7a17fc037f02d7c2e64b602ea223f7d63";
       };
     };
-    "labeled-stream-splicer-2.0.0" = {
-      name = "labeled-stream-splicer";
-      packageName = "labeled-stream-splicer";
-      version = "2.0.0";
+    "aws-sign2-0.6.0" = {
+      name = "aws-sign2";
+      packageName = "aws-sign2";
+      version = "0.6.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/labeled-stream-splicer/-/labeled-stream-splicer-2.0.0.tgz";
-        sha1 = "a52e1d138024c00b86b1c0c91f677918b8ae0a59";
+        url = "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz";
+        sha1 = "14342dd38dbcc94d0e5b87d763cd63612c0e794f";
       };
     };
-    "module-deps-4.1.1" = {
-      name = "module-deps";
-      packageName = "module-deps";
-      version = "4.1.1";
+    "aws4-1.6.0" = {
+      name = "aws4";
+      packageName = "aws4";
+      version = "1.6.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/module-deps/-/module-deps-4.1.1.tgz";
-        sha1 = "23215833f1da13fd606ccb8087b44852dcb821fd";
+        url = "https://registry.npmjs.org/aws4/-/aws4-1.6.0.tgz";
+        sha1 = "83ef5ca860b2b32e4a0deedee8c771b9db57471e";
       };
     };
-    "os-browserify-0.1.2" = {
-      name = "os-browserify";
-      packageName = "os-browserify";
-      version = "0.1.2";
+    "balanced-match-1.0.0" = {
+      name = "balanced-match";
+      packageName = "balanced-match";
+      version = "1.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/os-browserify/-/os-browserify-0.1.2.tgz";
-        sha1 = "49ca0293e0b19590a5f5de10c7f265a617d8fe54";
+        url = "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz";
+        sha1 = "89b4d199ab2bee49de164ea02b89ce462d71b767";
       };
     };
-    "parents-1.0.1" = {
-      name = "parents";
-      packageName = "parents";
-      version = "1.0.1";
+    "base64-js-1.2.3" = {
+      name = "base64-js";
+      packageName = "base64-js";
+      version = "1.2.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/parents/-/parents-1.0.1.tgz";
-        sha1 = "fedd4d2bf193a77745fe71e371d73c3307d9c751";
+        url = "https://registry.npmjs.org/base64-js/-/base64-js-1.2.3.tgz";
+        sha512 = "3kqp8hzql2ccdqf7vqizav1lrwp5gynn081718g9slxcs428sv02n037xb9hfgrqybbk4qacnk5mcv63z8fm3l4h6fi06xm8nqj3h1j";
       };
     };
-    "path-browserify-0.0.0" = {
-      name = "path-browserify";
-      packageName = "path-browserify";
-      version = "0.0.0";
+    "bcrypt-pbkdf-1.0.1" = {
+      name = "bcrypt-pbkdf";
+      packageName = "bcrypt-pbkdf";
+      version = "1.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.0.tgz";
-        sha1 = "a0b870729aae214005b7d5032ec2cbbb0fb4451a";
+        url = "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz";
+        sha1 = "63bc5dcb61331b92bc05fd528953c33462a06f8d";
       };
     };
-    "process-0.11.9" = {
-      name = "process";
-      packageName = "process";
-      version = "0.11.9";
+    "bn.js-4.11.8" = {
+      name = "bn.js";
+      packageName = "bn.js";
+      version = "4.11.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/process/-/process-0.11.9.tgz";
-        sha1 = "7bd5ad21aa6253e7da8682264f1e11d11c0318c1";
+        url = "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz";
+        sha512 = "20bg51v29zygy89w84qb64pkjikxfjdsgjs0ry6pvv8fkwn5kd1izrqn022d838q3rcaq8dmy033g7q8b6960j4f8ipan74y9ydimr2";
       };
     };
-    "punycode-1.4.1" = {
-      name = "punycode";
-      packageName = "punycode";
-      version = "1.4.1";
+    "boom-0.4.2" = {
+      name = "boom";
+      packageName = "boom";
+      version = "0.4.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz";
-        sha1 = "c0d5a63b2718800ad8e1eb0fa5269c84dd41845e";
+        url = "https://registry.npmjs.org/boom/-/boom-0.4.2.tgz";
+        sha1 = "7a636e9ded4efcefb19cef4947a3c67dfaee911b";
       };
     };
-    "querystring-es3-0.2.1" = {
-      name = "querystring-es3";
-      packageName = "querystring-es3";
-      version = "0.2.1";
+    "boom-2.10.1" = {
+      name = "boom";
+      packageName = "boom";
+      version = "2.10.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz";
-        sha1 = "9ec61f79049875707d69414596fd907a4d711e73";
+        url = "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz";
+        sha1 = "39c8918ceff5799f83f9492a848f625add0c766f";
       };
     };
-    "read-only-stream-2.0.0" = {
-      name = "read-only-stream";
-      packageName = "read-only-stream";
-      version = "2.0.0";
+    "brace-expansion-1.1.11" = {
+      name = "brace-expansion";
+      packageName = "brace-expansion";
+      version = "1.1.11";
       src = fetchurl {
-        url = "https://registry.npmjs.org/read-only-stream/-/read-only-stream-2.0.0.tgz";
-        sha1 = "2724fd6a8113d73764ac288d4386270c1dbf17f0";
+        url = "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz";
+        sha512 = "248cnpbbf0p32h53rd3g8wzpgrkaj4p078ra1g6l16f82i6bzkvmhwqan5rk88apbll9ly1476kngd7f7z27i3b3zxpbb3064f8yaw8";
       };
     };
-    "readable-stream-2.2.6" = {
-      name = "readable-stream";
-      packageName = "readable-stream";
-      version = "2.2.6";
+    "brorand-1.1.0" = {
+      name = "brorand";
+      packageName = "brorand";
+      version = "1.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/readable-stream/-/readable-stream-2.2.6.tgz";
-        sha1 = "8b43aed76e71483938d12a8d46c6cf1a00b1f816";
+        url = "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz";
+        sha1 = "12c25efe40a45e3c323eb8675a0a0ce57b22371f";
       };
     };
-    "resolve-1.3.2" = {
-      name = "resolve";
-      packageName = "resolve";
-      version = "1.3.2";
+    "browser-pack-6.0.4" = {
+      name = "browser-pack";
+      packageName = "browser-pack";
+      version = "6.0.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/resolve/-/resolve-1.3.2.tgz";
-        sha1 = "1f0442c9e0cbb8136e87b9305f932f46c7f28235";
+        url = "https://registry.npmjs.org/browser-pack/-/browser-pack-6.0.4.tgz";
+        sha512 = "0ylgxzrsxs25v3c4mz5ggqawb8k3xb39ialqlflk1nadfk8wrig2g2ipkpnw6bf9zhdhmigkwqbbl8yssibcb6fgnbbqfgsnfgnz123";
       };
     };
-    "shasum-1.0.2" = {
-      name = "shasum";
-      packageName = "shasum";
-      version = "1.0.2";
+    "browser-resolve-1.11.2" = {
+      name = "browser-resolve";
+      packageName = "browser-resolve";
+      version = "1.11.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/shasum/-/shasum-1.0.2.tgz";
-        sha1 = "e7012310d8f417f4deb5712150e5678b87ae565f";
+        url = "https://registry.npmjs.org/browser-resolve/-/browser-resolve-1.11.2.tgz";
+        sha1 = "8ff09b0a2c421718a1051c260b32e48f442938ce";
       };
     };
-    "shell-quote-1.6.1" = {
-      name = "shell-quote";
-      packageName = "shell-quote";
-      version = "1.6.1";
+    "browser-stdout-1.3.1" = {
+      name = "browser-stdout";
+      packageName = "browser-stdout";
+      version = "1.3.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/shell-quote/-/shell-quote-1.6.1.tgz";
-        sha1 = "f4781949cce402697127430ea3b3c5476f481767";
+        url = "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz";
+        sha512 = "21jjhrf3wdmzsfqgva5s7shs1wdmcdxsjvi75p8z7i0q2i6n3654gpxjqlhbnpmzm25cpkshyi8swy13017qkp9m7xnbgw0bwiia45a";
       };
     };
-    "stream-browserify-2.0.1" = {
-      name = "stream-browserify";
-      packageName = "stream-browserify";
-      version = "2.0.1";
+    "browserify-aes-1.1.1" = {
+      name = "browserify-aes";
+      packageName = "browserify-aes";
+      version = "1.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.1.tgz";
-        sha1 = "66266ee5f9bdb9940a4e4514cafb43bb71e5c9db";
+        url = "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.1.1.tgz";
+        sha512 = "0b874c5j68a6h1smd9avnc98zpjy2b4sykkhfpn97lzg7k5aq3ab0jdsmxjafifm0sa3srwscfpcl70gwnlg242p7cavnf115hd6sah";
       };
     };
-    "stream-http-2.6.3" = {
-      name = "stream-http";
-      packageName = "stream-http";
-      version = "2.6.3";
+    "browserify-cipher-1.0.0" = {
+      name = "browserify-cipher";
+      packageName = "browserify-cipher";
+      version = "1.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/stream-http/-/stream-http-2.6.3.tgz";
-        sha1 = "4c3ddbf9635968ea2cfd4e48d43de5def2625ac3";
+        url = "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.0.tgz";
+        sha1 = "9988244874bf5ed4e28da95666dcd66ac8fc363a";
       };
     };
-    "string_decoder-0.10.31" = {
-      name = "string_decoder";
-      packageName = "string_decoder";
-      version = "0.10.31";
+    "browserify-des-1.0.0" = {
+      name = "browserify-des";
+      packageName = "browserify-des";
+      version = "1.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz";
-        sha1 = "62e203bc41766c6c28c9fc84301dab1c5310fa94";
+        url = "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.0.tgz";
+        sha1 = "daa277717470922ed2fe18594118a175439721dd";
       };
     };
-    "subarg-1.0.0" = {
-      name = "subarg";
-      packageName = "subarg";
-      version = "1.0.0";
+    "browserify-rsa-4.0.1" = {
+      name = "browserify-rsa";
+      packageName = "browserify-rsa";
+      version = "4.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/subarg/-/subarg-1.0.0.tgz";
-        sha1 = "f62cf17581e996b48fc965699f54c06ae268b8d2";
+        url = "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz";
+        sha1 = "21e0abfaf6f2029cf2fafb133567a701d4135524";
       };
     };
-    "syntax-error-1.3.0" = {
-      name = "syntax-error";
-      packageName = "syntax-error";
-      version = "1.3.0";
+    "browserify-sign-4.0.4" = {
+      name = "browserify-sign";
+      packageName = "browserify-sign";
+      version = "4.0.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/syntax-error/-/syntax-error-1.3.0.tgz";
-        sha1 = "1ed9266c4d40be75dc55bf9bb1cb77062bb96ca1";
+        url = "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.0.4.tgz";
+        sha1 = "aa4eb68e5d7b658baa6bf6a57e630cbd7a93d298";
       };
     };
-    "through2-2.0.3" = {
-      name = "through2";
-      packageName = "through2";
-      version = "2.0.3";
+    "browserify-zlib-0.2.0" = {
+      name = "browserify-zlib";
+      packageName = "browserify-zlib";
+      version = "0.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz";
-        sha1 = "0004569b37c7c74ba39c43f3ced78d1ad94140be";
+        url = "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz";
+        sha512 = "24488d4s6d901hj9d9jdddapmcvmibbdpjq6nv3bpyjx72546fcqa0vripy0ydsrw1jk6bakfzvynh5i9cz0g59hrmn4ph75d3kdpk7";
       };
     };
-    "timers-browserify-1.4.2" = {
-      name = "timers-browserify";
-      packageName = "timers-browserify";
-      version = "1.4.2";
+    "buffer-5.1.0" = {
+      name = "buffer";
+      packageName = "buffer";
+      version = "5.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/timers-browserify/-/timers-browserify-1.4.2.tgz";
-        sha1 = "c9c58b575be8407375cb5e2462dacee74359f41d";
+        url = "https://registry.npmjs.org/buffer/-/buffer-5.1.0.tgz";
+        sha512 = "1ipkzdnq03rnxyl50wmzigdbd96lh0mgzffcab80yxl38x7k316kzs3h0w0bxdjj7vqh6dw3wgb7y3rsqab0ar4ky9rbh0r1f1i2hk2";
       };
     };
-    "tty-browserify-0.0.0" = {
-      name = "tty-browserify";
-      packageName = "tty-browserify";
-      version = "0.0.0";
+    "buffer-xor-1.0.3" = {
+      name = "buffer-xor";
+      packageName = "buffer-xor";
+      version = "1.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz";
-        sha1 = "a157ba402da24e9bf957f9aa69d524eed42901a6";
+        url = "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz";
+        sha1 = "26e61ed1422fb70dd42e6e36729ed51d855fe8d9";
       };
     };
-    "url-0.11.0" = {
-      name = "url";
-      packageName = "url";
-      version = "0.11.0";
+    "builtin-status-codes-3.0.0" = {
+      name = "builtin-status-codes";
+      packageName = "builtin-status-codes";
+      version = "3.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/url/-/url-0.11.0.tgz";
-        sha1 = "3838e97cfc60521eb73c525a8e55bfdd9e2e28f1";
+        url = "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz";
+        sha1 = "85982878e21b98e1c66425e03d0174788f569ee8";
       };
     };
-    "util-0.10.3" = {
-      name = "util";
-      packageName = "util";
-      version = "0.10.3";
+    "cached-path-relative-1.0.1" = {
+      name = "cached-path-relative";
+      packageName = "cached-path-relative";
+      version = "1.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/util/-/util-0.10.3.tgz";
-        sha1 = "7afb1afe50805246489e3db7fe0ed379336ac0f9";
+        url = "https://registry.npmjs.org/cached-path-relative/-/cached-path-relative-1.0.1.tgz";
+        sha1 = "d09c4b52800aa4c078e2dd81a869aac90d2e54e7";
       };
     };
-    "vm-browserify-0.0.4" = {
-      name = "vm-browserify";
-      packageName = "vm-browserify";
-      version = "0.0.4";
+    "caseless-0.12.0" = {
+      name = "caseless";
+      packageName = "caseless";
+      version = "0.12.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/vm-browserify/-/vm-browserify-0.0.4.tgz";
-        sha1 = "5d7ea45bbef9e4a6ff65f95438e0a87c357d5a73";
+        url = "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz";
+        sha1 = "1b681c21ff84033c826543090689420d187151dc";
       };
     };
-    "xtend-4.0.1" = {
-      name = "xtend";
-      packageName = "xtend";
-      version = "4.0.1";
+    "cipher-base-1.0.4" = {
+      name = "cipher-base";
+      packageName = "cipher-base";
+      version = "1.0.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz";
-        sha1 = "a5c6d532be656e23db820efb943a1f04998d63af";
+        url = "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz";
+        sha512 = "3cm9kdc1sv7pakzlhrc1pazdvg9lk4hv31lximwbcrgmwfzg6imxrndszgx9yzlizknfh2b73cr7b5mfcv50bldpyq6jr5s4zknsj1a";
       };
     };
-    "jsonparse-1.3.0" = {
-      name = "jsonparse";
-      packageName = "jsonparse";
-      version = "1.3.0";
+    "cli-1.0.1" = {
+      name = "cli";
+      packageName = "cli";
+      version = "1.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.0.tgz";
-        sha1 = "85fc245b1d9259acc6941960b905adf64e7de0e8";
+        url = "https://registry.npmjs.org/cli/-/cli-1.0.1.tgz";
+        sha1 = "22817534f24bfa4950c34d532d48ecbc621b8c14";
       };
     };
-    "through-2.3.8" = {
-      name = "through";
-      packageName = "through";
-      version = "2.3.8";
+    "co-4.6.0" = {
+      name = "co";
+      packageName = "co";
+      version = "4.6.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/through/-/through-2.3.8.tgz";
-        sha1 = "0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5";
+        url = "https://registry.npmjs.org/co/-/co-4.6.0.tgz";
+        sha1 = "6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184";
       };
     };
     "combine-source-map-0.7.2" = {
@@ -454,166 +463,130 @@ let
         sha1 = "0870312856b307a87cc4ac486f3a9a62aeccc09e";
       };
     };
-    "umd-3.0.1" = {
-      name = "umd";
-      packageName = "umd";
-      version = "3.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/umd/-/umd-3.0.1.tgz";
-        sha1 = "8ae556e11011f63c2596708a8837259f01b3d60e";
-      };
-    };
-    "convert-source-map-1.1.3" = {
-      name = "convert-source-map";
-      packageName = "convert-source-map";
-      version = "1.1.3";
+    "combine-source-map-0.8.0" = {
+      name = "combine-source-map";
+      packageName = "combine-source-map";
+      version = "0.8.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.1.3.tgz";
-        sha1 = "4829c877e9fe49b3161f3bf3673888e204699860";
+        url = "https://registry.npmjs.org/combine-source-map/-/combine-source-map-0.8.0.tgz";
+        sha1 = "a58d0df042c186fcf822a8e8015f5450d2d79a8b";
       };
     };
-    "inline-source-map-0.6.2" = {
-      name = "inline-source-map";
-      packageName = "inline-source-map";
-      version = "0.6.2";
+    "combined-stream-0.0.7" = {
+      name = "combined-stream";
+      packageName = "combined-stream";
+      version = "0.0.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/inline-source-map/-/inline-source-map-0.6.2.tgz";
-        sha1 = "f9393471c18a79d1724f863fa38b586370ade2a5";
+        url = "https://registry.npmjs.org/combined-stream/-/combined-stream-0.0.7.tgz";
+        sha1 = "0137e657baa5a7541c57ac37ac5fc07d73b4dc1f";
       };
     };
-    "lodash.memoize-3.0.4" = {
-      name = "lodash.memoize";
-      packageName = "lodash.memoize";
-      version = "3.0.4";
+    "combined-stream-1.0.6" = {
+      name = "combined-stream";
+      packageName = "combined-stream";
+      version = "1.0.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-3.0.4.tgz";
-        sha1 = "2dcbd2c287cbc0a55cc42328bd0c736150d53e3f";
+        url = "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.6.tgz";
+        sha1 = "723e7df6e801ac5613113a7e445a9b69cb632818";
       };
     };
-    "source-map-0.5.6" = {
-      name = "source-map";
-      packageName = "source-map";
-      version = "0.5.6";
+    "commander-2.11.0" = {
+      name = "commander";
+      packageName = "commander";
+      version = "2.11.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz";
-        sha1 = "75ce38f52bf0733c5a7f0c118d81334a2bb5f412";
+        url = "https://registry.npmjs.org/commander/-/commander-2.11.0.tgz";
+        sha512 = "2yi2hwf0bghfnv1fdgd4wvh7s0acjrgqbgww97ncm6i6s6ffs1zahnj48f6gqpqj6fsf0jigvnr0civ25k2160c38281r80wvg7jkkg";
       };
     };
-    "resolve-1.1.7" = {
-      name = "resolve";
-      packageName = "resolve";
-      version = "1.1.7";
+    "commander-2.14.1" = {
+      name = "commander";
+      packageName = "commander";
+      version = "2.14.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz";
-        sha1 = "203114d82ad2c5ed9e8e0411b3932875e889e97b";
+        url = "https://registry.npmjs.org/commander/-/commander-2.14.1.tgz";
+        sha512 = "11j7mwxfdnhi3yfkhxjvfkg1mzdsi3wq7iygma6ksmj1f7hfs0z8rpfcysqmy85f67mqvzhda3w1lyy1jqxxm31k799sazbipm7b17r";
       };
     };
-    "pako-0.2.9" = {
-      name = "pako";
-      packageName = "pako";
-      version = "0.2.9";
+    "commander-2.15.0" = {
+      name = "commander";
+      packageName = "commander";
+      version = "2.15.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/pako/-/pako-0.2.9.tgz";
-        sha1 = "f3f7522f4ef782348da8161bad9ecfd51bf83a75";
+        url = "https://registry.npmjs.org/commander/-/commander-2.15.0.tgz";
+        sha512 = "090my2m6q69l4kgn1slqs845mf9s5zx7l1p345z2qij174pyk4jr2xkalnq8k0dfhghvdmcjxba03qn959n64r8nkg2cq9d3ja647gc";
       };
     };
-    "base64-js-1.2.0" = {
-      name = "base64-js";
-      packageName = "base64-js";
-      version = "1.2.0";
+    "concat-map-0.0.1" = {
+      name = "concat-map";
+      packageName = "concat-map";
+      version = "0.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/base64-js/-/base64-js-1.2.0.tgz";
-        sha1 = "a39992d723584811982be5e290bb6a53d86700f1";
+        url = "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz";
+        sha1 = "d8a96bd77fd68df7793a73036a3ba0d5405d477b";
       };
     };
-    "ieee754-1.1.8" = {
-      name = "ieee754";
-      packageName = "ieee754";
-      version = "1.1.8";
+    "concat-stream-1.5.2" = {
+      name = "concat-stream";
+      packageName = "concat-stream";
+      version = "1.5.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ieee754/-/ieee754-1.1.8.tgz";
-        sha1 = "be33d40ac10ef1926701f6f08a2d86fbfd1ad3e4";
+        url = "https://registry.npmjs.org/concat-stream/-/concat-stream-1.5.2.tgz";
+        sha1 = "708978624d856af41a5a741defdd261da752c266";
       };
     };
-    "typedarray-0.0.6" = {
-      name = "typedarray";
-      packageName = "typedarray";
-      version = "0.0.6";
+    "concat-stream-1.6.1" = {
+      name = "concat-stream";
+      packageName = "concat-stream";
+      version = "1.6.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz";
-        sha1 = "867ac74e3864187b1d3d47d996a78ec5c8830777";
+        url = "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.1.tgz";
+        sha512 = "1gyp2id8ifqdpzk81qz5q7200wf8m66ammg6cz8cxv4blmqh7rf761fxd1536ib4kcdp8jccvyx1l9vi6kjl26pwyd05pblki455jc2";
       };
     };
-    "readable-stream-2.0.6" = {
-      name = "readable-stream";
-      packageName = "readable-stream";
-      version = "2.0.6";
+    "config-chain-1.1.11" = {
+      name = "config-chain";
+      packageName = "config-chain";
+      version = "1.1.11";
       src = fetchurl {
-        url = "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz";
-        sha1 = "8f90341e68a53ccc928788dacfcd11b36eb9b78e";
+        url = "https://registry.npmjs.org/config-chain/-/config-chain-1.1.11.tgz";
+        sha1 = "aba09747dfbe4c3e70e766a6e41586e1859fc6f2";
       };
     };
-    "core-util-is-1.0.2" = {
-      name = "core-util-is";
-      packageName = "core-util-is";
-      version = "1.0.2";
+    "console-browserify-1.1.0" = {
+      name = "console-browserify";
+      packageName = "console-browserify";
+      version = "1.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz";
-        sha1 = "b5fd54220aa2bc5ab57aab7140c940754503c1a7";
+        url = "https://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz";
+        sha1 = "f0241c45730a9fc6323b206dbf38edc741d0bb10";
       };
     };
-    "isarray-1.0.0" = {
-      name = "isarray";
-      packageName = "isarray";
+    "constants-browserify-1.0.0" = {
+      name = "constants-browserify";
+      packageName = "constants-browserify";
       version = "1.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz";
-        sha1 = "bb935d48582cba168c06834957a54a3e07124f11";
+        url = "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz";
+        sha1 = "c20b96d8c617748aaf1c16021760cd27fcb8cb75";
       };
     };
-    "process-nextick-args-1.0.7" = {
-      name = "process-nextick-args";
-      packageName = "process-nextick-args";
-      version = "1.0.7";
+    "convert-source-map-1.1.3" = {
+      name = "convert-source-map";
+      packageName = "convert-source-map";
+      version = "1.1.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz";
-        sha1 = "150e20b756590ad3f91093f25a4f2ad8bff30ba3";
+        url = "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.1.3.tgz";
+        sha1 = "4829c877e9fe49b3161f3bf3673888e204699860";
       };
     };
-    "util-deprecate-1.0.2" = {
-      name = "util-deprecate";
-      packageName = "util-deprecate";
+    "core-util-is-1.0.2" = {
+      name = "core-util-is";
+      packageName = "core-util-is";
       version = "1.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz";
-        sha1 = "450d4dc9fa70de732762fbd2d4a28981419a0ccf";
-      };
-    };
-    "date-now-0.1.4" = {
-      name = "date-now";
-      packageName = "date-now";
-      version = "0.1.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz";
-        sha1 = "eaf439fd4d4848ad74e5cc7dbef200672b9e345b";
-      };
-    };
-    "browserify-cipher-1.0.0" = {
-      name = "browserify-cipher";
-      packageName = "browserify-cipher";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.0.tgz";
-        sha1 = "9988244874bf5ed4e28da95666dcd66ac8fc363a";
-      };
-    };
-    "browserify-sign-4.0.4" = {
-      name = "browserify-sign";
-      packageName = "browserify-sign";
-      version = "4.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.0.4.tgz";
-        sha1 = "aa4eb68e5d7b658baa6bf6a57e630cbd7a93d298";
+        url = "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz";
+        sha1 = "b5fd54220aa2bc5ab57aab7140c940754503c1a7";
       };
     };
     "create-ecdh-4.0.0" = {
@@ -625,1435 +598,1408 @@ let
         sha1 = "888c723596cdf7612f6498233eebd7a35301737d";
       };
     };
-    "create-hash-1.1.2" = {
+    "create-hash-1.1.3" = {
       name = "create-hash";
       packageName = "create-hash";
-      version = "1.1.2";
+      version = "1.1.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/create-hash/-/create-hash-1.1.2.tgz";
-        sha1 = "51210062d7bb7479f6c65bb41a92208b1d61abad";
+        url = "https://registry.npmjs.org/create-hash/-/create-hash-1.1.3.tgz";
+        sha1 = "606042ac8b9262750f483caddab0f5819172d8fd";
       };
     };
-    "create-hmac-1.1.4" = {
+    "create-hmac-1.1.6" = {
       name = "create-hmac";
       packageName = "create-hmac";
-      version = "1.1.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.4.tgz";
-        sha1 = "d3fb4ba253eb8b3f56e39ea2fbcb8af747bd3170";
-      };
-    };
-    "diffie-hellman-5.0.2" = {
-      name = "diffie-hellman";
-      packageName = "diffie-hellman";
-      version = "5.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.2.tgz";
-        sha1 = "b5835739270cfe26acf632099fded2a07f209e5e";
-      };
-    };
-    "pbkdf2-3.0.9" = {
-      name = "pbkdf2";
-      packageName = "pbkdf2";
-      version = "3.0.9";
+      version = "1.1.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.9.tgz";
-        sha1 = "f2c4b25a600058b3c3773c086c37dbbee1ffe693";
+        url = "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.6.tgz";
+        sha1 = "acb9e221a4e17bdb076e90657c42b93e3726cf06";
       };
     };
-    "public-encrypt-4.0.0" = {
-      name = "public-encrypt";
-      packageName = "public-encrypt";
-      version = "4.0.0";
+    "cryptiles-0.2.2" = {
+      name = "cryptiles";
+      packageName = "cryptiles";
+      version = "0.2.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.0.tgz";
-        sha1 = "39f699f3a46560dd5ebacbca693caf7c65c18cc6";
+        url = "https://registry.npmjs.org/cryptiles/-/cryptiles-0.2.2.tgz";
+        sha1 = "ed91ff1f17ad13d3748288594f8a48a0d26f325c";
       };
     };
-    "randombytes-2.0.3" = {
-      name = "randombytes";
-      packageName = "randombytes";
-      version = "2.0.3";
+    "cryptiles-2.0.5" = {
+      name = "cryptiles";
+      packageName = "cryptiles";
+      version = "2.0.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/randombytes/-/randombytes-2.0.3.tgz";
-        sha1 = "674c99760901c3c4112771a31e521dc349cc09ec";
+        url = "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz";
+        sha1 = "3bdfecdc608147c1c67202fa291e7dca59eaa3b8";
       };
     };
-    "browserify-aes-1.0.6" = {
-      name = "browserify-aes";
-      packageName = "browserify-aes";
-      version = "1.0.6";
+    "crypto-browserify-3.12.0" = {
+      name = "crypto-browserify";
+      packageName = "crypto-browserify";
+      version = "3.12.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.0.6.tgz";
-        sha1 = "5e7725dbdef1fd5930d4ebab48567ce451c48a0a";
+        url = "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz";
+        sha512 = "1d3mrhqlay037azmjp2ml5a8yyls9ijdhilv6f0znz0ajgfm972yr9bhm78wqi09p4crc3shgflk50jc63zijsqv777ikkyi2j2qgkz";
       };
     };
-    "browserify-des-1.0.0" = {
-      name = "browserify-des";
-      packageName = "browserify-des";
-      version = "1.0.0";
+    "ctype-0.5.3" = {
+      name = "ctype";
+      packageName = "ctype";
+      version = "0.5.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.0.tgz";
-        sha1 = "daa277717470922ed2fe18594118a175439721dd";
+        url = "https://registry.npmjs.org/ctype/-/ctype-0.5.3.tgz";
+        sha1 = "82c18c2461f74114ef16c135224ad0b9144ca12f";
       };
     };
-    "evp_bytestokey-1.0.0" = {
-      name = "evp_bytestokey";
-      packageName = "evp_bytestokey";
-      version = "1.0.0";
+    "dashdash-1.14.1" = {
+      name = "dashdash";
+      packageName = "dashdash";
+      version = "1.14.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.0.tgz";
-        sha1 = "497b66ad9fef65cd7c08a6180824ba1476b66e53";
+        url = "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz";
+        sha1 = "853cfa0f7cbe2fed5de20326b8dd581035f6e2f0";
       };
     };
-    "buffer-xor-1.0.3" = {
-      name = "buffer-xor";
-      packageName = "buffer-xor";
-      version = "1.0.3";
+    "date-now-0.1.4" = {
+      name = "date-now";
+      packageName = "date-now";
+      version = "0.1.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz";
-        sha1 = "26e61ed1422fb70dd42e6e36729ed51d855fe8d9";
+        url = "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz";
+        sha1 = "eaf439fd4d4848ad74e5cc7dbef200672b9e345b";
       };
     };
-    "cipher-base-1.0.3" = {
-      name = "cipher-base";
-      packageName = "cipher-base";
-      version = "1.0.3";
+    "debug-3.1.0" = {
+      name = "debug";
+      packageName = "debug";
+      version = "3.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.3.tgz";
-        sha1 = "eeabf194419ce900da3018c207d212f2a6df0a07";
+        url = "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz";
+        sha512 = "3g1hqsahr1ks2kpvdxrwzr57fj90nnr0hvwwrw8yyyzcv3i11sym8zwibxx67bl1mln0acddrzpkkdjjxnc6n2cm9fazmgzzsl1fzrr";
       };
     };
-    "des.js-1.0.0" = {
-      name = "des.js";
-      packageName = "des.js";
+    "defined-1.0.0" = {
+      name = "defined";
+      packageName = "defined";
       version = "1.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/des.js/-/des.js-1.0.0.tgz";
-        sha1 = "c074d2e2aa6a8a9a07dbd61f9a15c2cd83ec8ecc";
+        url = "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz";
+        sha1 = "c98d9bcef75674188e110969151199e39b1fa693";
       };
     };
-    "minimalistic-assert-1.0.0" = {
-      name = "minimalistic-assert";
-      packageName = "minimalistic-assert";
-      version = "1.0.0";
+    "delayed-stream-0.0.5" = {
+      name = "delayed-stream";
+      packageName = "delayed-stream";
+      version = "0.0.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.0.tgz";
-        sha1 = "702be2dda6b37f4836bcb3f5db56641b64a1d3d3";
+        url = "https://registry.npmjs.org/delayed-stream/-/delayed-stream-0.0.5.tgz";
+        sha1 = "d4b1f43a93e8296dfe02694f4680bc37a313c73f";
       };
     };
-    "bn.js-4.11.6" = {
-      name = "bn.js";
-      packageName = "bn.js";
-      version = "4.11.6";
+    "delayed-stream-1.0.0" = {
+      name = "delayed-stream";
+      packageName = "delayed-stream";
+      version = "1.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz";
-        sha1 = "53344adb14617a13f6e8dd2ce28905d1c0ba3215";
+        url = "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz";
+        sha1 = "df3ae199acadfb7d440aaae0b29e2272b24ec619";
       };
     };
-    "browserify-rsa-4.0.1" = {
-      name = "browserify-rsa";
-      packageName = "browserify-rsa";
-      version = "4.0.1";
+    "deps-sort-2.0.0" = {
+      name = "deps-sort";
+      packageName = "deps-sort";
+      version = "2.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz";
-        sha1 = "21e0abfaf6f2029cf2fafb133567a701d4135524";
+        url = "https://registry.npmjs.org/deps-sort/-/deps-sort-2.0.0.tgz";
+        sha1 = "091724902e84658260eb910748cccd1af6e21fb5";
       };
     };
-    "elliptic-6.4.0" = {
-      name = "elliptic";
-      packageName = "elliptic";
-      version = "6.4.0";
+    "des.js-1.0.0" = {
+      name = "des.js";
+      packageName = "des.js";
+      version = "1.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/elliptic/-/elliptic-6.4.0.tgz";
-        sha1 = "cac9af8762c85836187003c8dfe193e5e2eae5df";
+        url = "https://registry.npmjs.org/des.js/-/des.js-1.0.0.tgz";
+        sha1 = "c074d2e2aa6a8a9a07dbd61f9a15c2cd83ec8ecc";
       };
     };
-    "parse-asn1-5.1.0" = {
-      name = "parse-asn1";
-      packageName = "parse-asn1";
+    "detective-5.1.0" = {
+      name = "detective";
+      packageName = "detective";
       version = "5.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.0.tgz";
-        sha1 = "37c4f9b7ed3ab65c74817b5f2480937fbf97c712";
+        url = "https://registry.npmjs.org/detective/-/detective-5.1.0.tgz";
+        sha512 = "1cm9sp1rl54d3y7v9nvw12kad47g5pcmbzf96s7kpm85j1cc79yc8qb8q0xjj71w32pgz2p4fym47sa851i5lswglmmiimgyflwqlac";
       };
     };
-    "brorand-1.1.0" = {
-      name = "brorand";
-      packageName = "brorand";
-      version = "1.1.0";
+    "diff-3.5.0" = {
+      name = "diff";
+      packageName = "diff";
+      version = "3.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz";
-        sha1 = "12c25efe40a45e3c323eb8675a0a0ce57b22371f";
+        url = "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz";
+        sha512 = "32bkv3cfhax4x5zhiyfn63wjhqwkzsjiql3my8p3d9hvv020p8f9hdi7mpqixrkpgs0g9k15mn736s449yad9wq1plhxyhxb2sam3h3";
       };
     };
-    "hash.js-1.0.3" = {
-      name = "hash.js";
-      packageName = "hash.js";
-      version = "1.0.3";
+    "diffie-hellman-5.0.2" = {
+      name = "diffie-hellman";
+      packageName = "diffie-hellman";
+      version = "5.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/hash.js/-/hash.js-1.0.3.tgz";
-        sha1 = "1332ff00156c0a0ffdd8236013d07b77a0451573";
+        url = "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.2.tgz";
+        sha1 = "b5835739270cfe26acf632099fded2a07f209e5e";
       };
     };
-    "hmac-drbg-1.0.0" = {
-      name = "hmac-drbg";
-      packageName = "hmac-drbg";
-      version = "1.0.0";
+    "dom-serializer-0.1.0" = {
+      name = "dom-serializer";
+      packageName = "dom-serializer";
+      version = "0.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.0.tgz";
-        sha1 = "3db471f45aae4a994a0688322171f51b8b91bee5";
+        url = "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.0.tgz";
+        sha1 = "073c697546ce0780ce23be4a28e293e40bc30c82";
       };
     };
-    "minimalistic-crypto-utils-1.0.1" = {
-      name = "minimalistic-crypto-utils";
-      packageName = "minimalistic-crypto-utils";
-      version = "1.0.1";
+    "domain-browser-1.2.0" = {
+      name = "domain-browser";
+      packageName = "domain-browser";
+      version = "1.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz";
-        sha1 = "f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a";
+        url = "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz";
+        sha512 = "1fcxv8rzfhs99afvhji7bs5ppxwn9mw040ixdgvkm6iabz72q61arly2lr57086rjn4g2vkb3rkih1cyc7z35kzv1jjciwyrs4g4y4f";
       };
     };
-    "asn1.js-4.9.1" = {
-      name = "asn1.js";
-      packageName = "asn1.js";
-      version = "4.9.1";
+    "domelementtype-1.1.3" = {
+      name = "domelementtype";
+      packageName = "domelementtype";
+      version = "1.1.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/asn1.js/-/asn1.js-4.9.1.tgz";
-        sha1 = "48ba240b45a9280e94748990ba597d216617fd40";
+        url = "https://registry.npmjs.org/domelementtype/-/domelementtype-1.1.3.tgz";
+        sha1 = "bd28773e2642881aec51544924299c5cd822185b";
       };
     };
-    "ripemd160-1.0.1" = {
-      name = "ripemd160";
-      packageName = "ripemd160";
-      version = "1.0.1";
+    "domelementtype-1.3.0" = {
+      name = "domelementtype";
+      packageName = "domelementtype";
+      version = "1.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ripemd160/-/ripemd160-1.0.1.tgz";
-        sha1 = "93a4bbd4942bc574b69a8fa57c71de10ecca7d6e";
+        url = "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.0.tgz";
+        sha1 = "b17aed82e8ab59e52dd9c19b1756e0fc187204c2";
       };
     };
-    "sha.js-2.4.8" = {
-      name = "sha.js";
-      packageName = "sha.js";
-      version = "2.4.8";
+    "domhandler-2.3.0" = {
+      name = "domhandler";
+      packageName = "domhandler";
+      version = "2.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/sha.js/-/sha.js-2.4.8.tgz";
-        sha1 = "37068c2c476b6baf402d14a49c67f597921f634f";
+        url = "https://registry.npmjs.org/domhandler/-/domhandler-2.3.0.tgz";
+        sha1 = "2de59a0822d5027fabff6f032c2b25a2a8abe738";
       };
     };
-    "miller-rabin-4.0.0" = {
-      name = "miller-rabin";
-      packageName = "miller-rabin";
-      version = "4.0.0";
+    "domutils-1.5.1" = {
+      name = "domutils";
+      packageName = "domutils";
+      version = "1.5.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.0.tgz";
-        sha1 = "4a62fb1d42933c05583982f4c716f6fb9e6c6d3d";
+        url = "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz";
+        sha1 = "dcd8488a26f563d61079e48c9f7b7e32373682cf";
       };
     };
-    "fs.realpath-1.0.0" = {
-      name = "fs.realpath";
-      packageName = "fs.realpath";
-      version = "1.0.0";
+    "duplexer2-0.1.4" = {
+      name = "duplexer2";
+      packageName = "duplexer2";
+      version = "0.1.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz";
-        sha1 = "1504ad2523158caa40db4a2787cb01411994ea4f";
+        url = "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz";
+        sha1 = "8b12dab878c0d69e3e7891051662a32fc6bddcc1";
       };
     };
-    "inflight-1.0.6" = {
-      name = "inflight";
-      packageName = "inflight";
-      version = "1.0.6";
+    "ecc-jsbn-0.1.1" = {
+      name = "ecc-jsbn";
+      packageName = "ecc-jsbn";
+      version = "0.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz";
-        sha1 = "49bd6331d7d02d0c09bc910a1075ba8165b56df9";
+        url = "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz";
+        sha1 = "0fc73a9ed5f0d53c38193398523ef7e543777505";
       };
     };
-    "minimatch-3.0.3" = {
-      name = "minimatch";
-      packageName = "minimatch";
-      version = "3.0.3";
+    "elliptic-6.4.0" = {
+      name = "elliptic";
+      packageName = "elliptic";
+      version = "6.4.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/minimatch/-/minimatch-3.0.3.tgz";
-        sha1 = "2a4e4090b96b2db06a9d7df01055a62a77c9b774";
+        url = "https://registry.npmjs.org/elliptic/-/elliptic-6.4.0.tgz";
+        sha1 = "cac9af8762c85836187003c8dfe193e5e2eae5df";
       };
     };
-    "once-1.4.0" = {
-      name = "once";
-      packageName = "once";
-      version = "1.4.0";
+    "entities-1.0.0" = {
+      name = "entities";
+      packageName = "entities";
+      version = "1.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/once/-/once-1.4.0.tgz";
-        sha1 = "583b1aa775961d4b113ac17d9c50baef9dd76bd1";
+        url = "https://registry.npmjs.org/entities/-/entities-1.0.0.tgz";
+        sha1 = "b2987aa3821347fcde642b24fdfc9e4fb712bf26";
       };
     };
-    "path-is-absolute-1.0.1" = {
-      name = "path-is-absolute";
-      packageName = "path-is-absolute";
-      version = "1.0.1";
+    "entities-1.1.1" = {
+      name = "entities";
+      packageName = "entities";
+      version = "1.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz";
-        sha1 = "174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f";
+        url = "https://registry.npmjs.org/entities/-/entities-1.1.1.tgz";
+        sha1 = "6e5c2d0a5621b5dadaecef80b90edfb5cd7772f0";
       };
     };
-    "wrappy-1.0.2" = {
-      name = "wrappy";
-      packageName = "wrappy";
-      version = "1.0.2";
+    "errno-0.1.7" = {
+      name = "errno";
+      packageName = "errno";
+      version = "0.1.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz";
-        sha1 = "b5243d8f3ec1aa35f1364605bc0d1036e30ab69f";
+        url = "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz";
+        sha512 = "2bdzcjwgdkg5yrvlw6my57pn77k4j7a2pzppwqrq4va9f5bd4b5mzbhwpklhsy1jl7w9sjvnfs30h42nhz2dbdfhagnh8dk6l2d3yii";
       };
     };
-    "brace-expansion-1.1.6" = {
-      name = "brace-expansion";
-      packageName = "brace-expansion";
-      version = "1.1.6";
+    "escape-string-regexp-1.0.5" = {
+      name = "escape-string-regexp";
+      packageName = "escape-string-regexp";
+      version = "1.0.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.6.tgz";
-        sha1 = "7197d7eaa9b87e648390ea61fc66c84427420df9";
+        url = "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz";
+        sha1 = "1b61c0562190a8dff6ae3bb2cf0200ca130b86d4";
       };
     };
-    "balanced-match-0.4.2" = {
-      name = "balanced-match";
-      packageName = "balanced-match";
-      version = "0.4.2";
+    "events-2.0.0" = {
+      name = "events";
+      packageName = "events";
+      version = "2.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz";
-        sha1 = "cb3f3e3c732dc0f01ee70b403f302e61d7709838";
+        url = "https://registry.npmjs.org/events/-/events-2.0.0.tgz";
+        sha512 = "1r878as79mx3xg56nvjxxbryqa8lqn8xmiqi1xqfx2vjygnfaf15h5l658a9ikfr1bhc6ygxny8jr8ddjxpzlh6y443rxv08di3kwxg";
       };
     };
-    "concat-map-0.0.1" = {
-      name = "concat-map";
-      packageName = "concat-map";
-      version = "0.0.1";
+    "evp_bytestokey-1.0.3" = {
+      name = "evp_bytestokey";
+      packageName = "evp_bytestokey";
+      version = "1.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz";
-        sha1 = "d8a96bd77fd68df7793a73036a3ba0d5405d477b";
+        url = "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz";
+        sha512 = "1wd18zxd7n42asa63aa4k1bdf58warg29c7c8cdzzkd4r1wva7qwzqnn52h8g8hqwj7bxjkk3ryghajrvz4i27h5bzp30p8hjiqdzgx";
       };
     };
-    "function-bind-1.1.0" = {
-      name = "function-bind";
-      packageName = "function-bind";
-      version = "1.1.0";
+    "exit-0.1.2" = {
+      name = "exit";
+      packageName = "exit";
+      version = "0.1.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/function-bind/-/function-bind-1.1.0.tgz";
-        sha1 = "16176714c801798e4e8f2cf7f7529467bb4a5771";
+        url = "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz";
+        sha1 = "0632638f8d877cc82107d30a0fff1a17cba1cd0c";
       };
     };
-    "is-buffer-1.1.5" = {
-      name = "is-buffer";
-      packageName = "is-buffer";
-      version = "1.1.5";
+    "extend-3.0.1" = {
+      name = "extend";
+      packageName = "extend";
+      version = "3.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.5.tgz";
-        sha1 = "1f3b26ef613b214b88cbca23cc6c01d87961eecc";
+        url = "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz";
+        sha1 = "a755ea7bc1adfcc5a31ce7e762dbaadc5e636444";
       };
     };
-    "lexical-scope-1.2.0" = {
-      name = "lexical-scope";
-      packageName = "lexical-scope";
-      version = "1.2.0";
+    "extsprintf-1.3.0" = {
+      name = "extsprintf";
+      packageName = "extsprintf";
+      version = "1.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/lexical-scope/-/lexical-scope-1.2.0.tgz";
-        sha1 = "fcea5edc704a4b3a8796cdca419c3a0afaf22df4";
+        url = "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz";
+        sha1 = "96918440e3041a7a414f8c52e3c574eb3c3e1e05";
       };
     };
-    "astw-2.2.0" = {
-      name = "astw";
-      packageName = "astw";
-      version = "2.2.0";
+    "forever-agent-0.5.2" = {
+      name = "forever-agent";
+      packageName = "forever-agent";
+      version = "0.5.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/astw/-/astw-2.2.0.tgz";
-        sha1 = "7bd41784d32493987aeb239b6b4e1c57a873b917";
+        url = "https://registry.npmjs.org/forever-agent/-/forever-agent-0.5.2.tgz";
+        sha1 = "6d0e09c4921f94a27f63d3b49c5feff1ea4c5130";
       };
     };
-    "acorn-4.0.11" = {
-      name = "acorn";
-      packageName = "acorn";
-      version = "4.0.11";
+    "forever-agent-0.6.1" = {
+      name = "forever-agent";
+      packageName = "forever-agent";
+      version = "0.6.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/acorn/-/acorn-4.0.11.tgz";
-        sha1 = "edcda3bd937e7556410d42ed5860f67399c794c0";
+        url = "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz";
+        sha1 = "fbc71f0c41adeb37f96c577ad1ed42d8fdacca91";
       };
     };
-    "isarray-0.0.1" = {
-      name = "isarray";
-      packageName = "isarray";
-      version = "0.0.1";
+    "form-data-0.1.4" = {
+      name = "form-data";
+      packageName = "form-data";
+      version = "0.1.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz";
-        sha1 = "8a18acfca9a8f4177e09abfc6038939b05d1eedf";
+        url = "https://registry.npmjs.org/form-data/-/form-data-0.1.4.tgz";
+        sha1 = "91abd788aba9702b1aabfa8bc01031a2ac9e3b12";
       };
     };
-    "stream-splicer-2.0.0" = {
-      name = "stream-splicer";
-      packageName = "stream-splicer";
-      version = "2.0.0";
+    "form-data-2.1.4" = {
+      name = "form-data";
+      packageName = "form-data";
+      version = "2.1.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/stream-splicer/-/stream-splicer-2.0.0.tgz";
-        sha1 = "1b63be438a133e4b671cc1935197600175910d83";
+        url = "https://registry.npmjs.org/form-data/-/form-data-2.1.4.tgz";
+        sha1 = "33c183acf193276ecaa98143a69e94bfee1750d1";
       };
     };
-    "detective-4.5.0" = {
-      name = "detective";
-      packageName = "detective";
-      version = "4.5.0";
+    "fs.realpath-1.0.0" = {
+      name = "fs.realpath";
+      packageName = "fs.realpath";
+      version = "1.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/detective/-/detective-4.5.0.tgz";
-        sha1 = "6e5a8c6b26e6c7a254b1c6b6d7490d98ec91edd1";
+        url = "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz";
+        sha1 = "1504ad2523158caa40db4a2787cb01411994ea4f";
       };
     };
-    "stream-combiner2-1.1.1" = {
-      name = "stream-combiner2";
-      packageName = "stream-combiner2";
+    "function-bind-1.1.1" = {
+      name = "function-bind";
+      packageName = "function-bind";
       version = "1.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/stream-combiner2/-/stream-combiner2-1.1.1.tgz";
-        sha1 = "fb4d8a1420ea362764e21ad4780397bebcb41cbe";
+        url = "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz";
+        sha512 = "38chm1mh077ksx6hy2sssfz4q29hf0ncb9k6ila7si54zqcpl5fxd1rh6wi82blqp7jcspf4aynr7jqhbsg2yc9y42xpqqp6c1jz2n8";
       };
     };
-    "path-platform-0.11.15" = {
-      name = "path-platform";
-      packageName = "path-platform";
-      version = "0.11.15";
+    "getpass-0.1.7" = {
+      name = "getpass";
+      packageName = "getpass";
+      version = "0.1.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/path-platform/-/path-platform-0.11.15.tgz";
-        sha1 = "e864217f74c36850f0852b78dc7bf7d4a5721bf2";
+        url = "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz";
+        sha1 = "5eff8e3e684d569ae4cb2b1282604e8ba62149fa";
       };
     };
-    "buffer-shims-1.0.0" = {
-      name = "buffer-shims";
-      packageName = "buffer-shims";
-      version = "1.0.0";
+    "glob-7.1.2" = {
+      name = "glob";
+      packageName = "glob";
+      version = "7.1.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/buffer-shims/-/buffer-shims-1.0.0.tgz";
-        sha1 = "9978ce317388c649ad8793028c3477ef044a8b51";
+        url = "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz";
+        sha512 = "08vjxzixc9dwc1hn5pd60yyij98krk2pr758aiga97r02ncvaqx1hidi95wk470k1v84gg4alls9bm52m77174z128bgf13b61x951h";
       };
     };
-    "path-parse-1.0.5" = {
-      name = "path-parse";
-      packageName = "path-parse";
-      version = "1.0.5";
+    "graceful-fs-4.1.11" = {
+      name = "graceful-fs";
+      packageName = "graceful-fs";
+      version = "4.1.11";
       src = fetchurl {
-        url = "https://registry.npmjs.org/path-parse/-/path-parse-1.0.5.tgz";
-        sha1 = "3c1adf871ea9cd6c9431b6ea2bd74a0ff055c4c1";
+        url = "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz";
+        sha1 = "0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658";
       };
     };
-    "json-stable-stringify-0.0.1" = {
-      name = "json-stable-stringify";
-      packageName = "json-stable-stringify";
-      version = "0.0.1";
+    "growl-1.10.3" = {
+      name = "growl";
+      packageName = "growl";
+      version = "1.10.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-0.0.1.tgz";
-        sha1 = "611c23e814db375527df851193db59dd2af27f45";
+        url = "https://registry.npmjs.org/growl/-/growl-1.10.3.tgz";
+        sha512 = "3aibvz85l13j140w4jjdk8939q6r7dnf8ay2licxgkaaldk7wbm093c1p5g7k5cg80rl0xslmczyraawfgdr82hhxn7rfsm1rn6rac4";
       };
     };
-    "jsonify-0.0.0" = {
-      name = "jsonify";
-      packageName = "jsonify";
-      version = "0.0.0";
+    "har-schema-1.0.5" = {
+      name = "har-schema";
+      packageName = "har-schema";
+      version = "1.0.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz";
-        sha1 = "2c74b6ee41d93ca51b7b5aaee8f503631d252a73";
+        url = "https://registry.npmjs.org/har-schema/-/har-schema-1.0.5.tgz";
+        sha1 = "d263135f43307c02c602afc8fe95970c0151369e";
       };
     };
-    "array-filter-0.0.1" = {
-      name = "array-filter";
-      packageName = "array-filter";
-      version = "0.0.1";
+    "har-validator-4.2.1" = {
+      name = "har-validator";
+      packageName = "har-validator";
+      version = "4.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/array-filter/-/array-filter-0.0.1.tgz";
-        sha1 = "7da8cf2e26628ed732803581fd21f67cacd2eeec";
+        url = "https://registry.npmjs.org/har-validator/-/har-validator-4.2.1.tgz";
+        sha1 = "33481d0f1bbff600dd203d75812a6a5fba002e2a";
       };
     };
-    "array-reduce-0.0.0" = {
-      name = "array-reduce";
-      packageName = "array-reduce";
-      version = "0.0.0";
+    "has-1.0.1" = {
+      name = "has";
+      packageName = "has";
+      version = "1.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/array-reduce/-/array-reduce-0.0.0.tgz";
-        sha1 = "173899d3ffd1c7d9383e4479525dbe278cab5f2b";
+        url = "https://registry.npmjs.org/has/-/has-1.0.1.tgz";
+        sha1 = "8461733f538b0837c9361e39a9ab9e9704dc2f28";
       };
     };
-    "array-map-0.0.0" = {
-      name = "array-map";
-      packageName = "array-map";
-      version = "0.0.0";
+    "has-flag-2.0.0" = {
+      name = "has-flag";
+      packageName = "has-flag";
+      version = "2.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/array-map/-/array-map-0.0.0.tgz";
-        sha1 = "88a2bab73d1cf7bcd5c1b118a003f66f665fa662";
+        url = "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz";
+        sha1 = "e8207af1cc7b30d446cc70b734b5e8be18f88d51";
       };
     };
-    "builtin-status-codes-3.0.0" = {
-      name = "builtin-status-codes";
-      packageName = "builtin-status-codes";
+    "has-flag-3.0.0" = {
+      name = "has-flag";
+      packageName = "has-flag";
       version = "3.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz";
-        sha1 = "85982878e21b98e1c66425e03d0174788f569ee8";
-      };
-    };
-    "to-arraybuffer-1.0.1" = {
-      name = "to-arraybuffer";
-      packageName = "to-arraybuffer";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz";
-        sha1 = "7d229b1fcc637e466ca081180836a7aabff83f43";
+        url = "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz";
+        sha1 = "b5d454dc2199ae225699f3467e5a07f3b955bafd";
       };
     };
-    "minimist-1.2.0" = {
-      name = "minimist";
-      packageName = "minimist";
-      version = "1.2.0";
+    "hash-base-2.0.2" = {
+      name = "hash-base";
+      packageName = "hash-base";
+      version = "2.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz";
-        sha1 = "a35008b20f41383eec1fb914f4cd5df79a264284";
+        url = "https://registry.npmjs.org/hash-base/-/hash-base-2.0.2.tgz";
+        sha1 = "66ea1d856db4e8a5470cadf6fce23ae5244ef2e1";
       };
     };
-    "punycode-1.3.2" = {
-      name = "punycode";
-      packageName = "punycode";
-      version = "1.3.2";
+    "hash-base-3.0.4" = {
+      name = "hash-base";
+      packageName = "hash-base";
+      version = "3.0.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz";
-        sha1 = "9653a036fb7c1ee42342f2325cceefea3926c48d";
+        url = "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz";
+        sha1 = "5fc8686847ecd73499403319a6b0a3f3f6ae4918";
       };
     };
-    "querystring-0.2.0" = {
-      name = "querystring";
-      packageName = "querystring";
-      version = "0.2.0";
+    "hash.js-1.1.3" = {
+      name = "hash.js";
+      packageName = "hash.js";
+      version = "1.1.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz";
-        sha1 = "b209849203bb25df820da756e747005878521620";
+        url = "https://registry.npmjs.org/hash.js/-/hash.js-1.1.3.tgz";
+        sha512 = "0f88i7rv3ib8lwdh5z5lwrml404frzb1a9n3g25y85jpfng82vzsv7m3c5fbyrpq5ki4c3pa8823z3s61xfigm45q469nqnzp416hgx";
       };
     };
-    "inherits-2.0.1" = {
-      name = "inherits";
-      packageName = "inherits";
-      version = "2.0.1";
+    "hawk-1.0.0" = {
+      name = "hawk";
+      packageName = "hawk";
+      version = "1.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz";
-        sha1 = "b17d08d326b4423e568eff719f91b0b1cbdf69f1";
+        url = "https://registry.npmjs.org/hawk/-/hawk-1.0.0.tgz";
+        sha1 = "b90bb169807285411da7ffcb8dd2598502d3b52d";
       };
     };
-    "indexof-0.0.1" = {
-      name = "indexof";
-      packageName = "indexof";
-      version = "0.0.1";
+    "hawk-3.1.3" = {
+      name = "hawk";
+      packageName = "hawk";
+      version = "3.1.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz";
-        sha1 = "82dc336d232b9062179d05ab3293a66059fd435d";
+        url = "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz";
+        sha1 = "078444bd7c1640b0fe540d2c9b73d59678e8e1c4";
       };
     };
-    "yargs-3.10.0" = {
-      name = "yargs";
-      packageName = "yargs";
-      version = "3.10.0";
+    "he-1.1.1" = {
+      name = "he";
+      packageName = "he";
+      version = "1.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz";
-        sha1 = "f7ee7bd857dd7c1d2d38c0e74efbd681d1431fd1";
+        url = "https://registry.npmjs.org/he/-/he-1.1.1.tgz";
+        sha1 = "93410fd21b009735151f8868c2f271f3427e23fd";
       };
     };
-    "uglify-to-browserify-1.0.2" = {
-      name = "uglify-to-browserify";
-      packageName = "uglify-to-browserify";
-      version = "1.0.2";
+    "hmac-drbg-1.0.1" = {
+      name = "hmac-drbg";
+      packageName = "hmac-drbg";
+      version = "1.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz";
-        sha1 = "6e0924d6bda6b5afe349e39a6d632850a0f882b7";
+        url = "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz";
+        sha1 = "d2745701025a6c775a6c545793ed502fc0c649a1";
       };
     };
-    "camelcase-1.2.1" = {
-      name = "camelcase";
-      packageName = "camelcase";
-      version = "1.2.1";
+    "hoek-0.9.1" = {
+      name = "hoek";
+      packageName = "hoek";
+      version = "0.9.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz";
-        sha1 = "9bb5304d2e0b56698b2c758b08a3eaa9daa58a39";
+        url = "https://registry.npmjs.org/hoek/-/hoek-0.9.1.tgz";
+        sha1 = "3d322462badf07716ea7eb85baf88079cddce505";
       };
     };
-    "cliui-2.1.0" = {
-      name = "cliui";
-      packageName = "cliui";
-      version = "2.1.0";
+    "hoek-2.16.3" = {
+      name = "hoek";
+      packageName = "hoek";
+      version = "2.16.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz";
-        sha1 = "4b475760ff80264c762c3a1719032e91c7fea0d1";
+        url = "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz";
+        sha1 = "20bb7403d3cea398e91dc4710a8ff1b8274a25ed";
       };
     };
-    "decamelize-1.2.0" = {
-      name = "decamelize";
-      packageName = "decamelize";
-      version = "1.2.0";
+    "htmlescape-1.1.1" = {
+      name = "htmlescape";
+      packageName = "htmlescape";
+      version = "1.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz";
-        sha1 = "f6534d15148269b20352e7bee26f501f9a191290";
+        url = "https://registry.npmjs.org/htmlescape/-/htmlescape-1.1.1.tgz";
+        sha1 = "3a03edc2214bca3b66424a3e7959349509cb0351";
       };
     };
-    "window-size-0.1.0" = {
-      name = "window-size";
-      packageName = "window-size";
-      version = "0.1.0";
+    "htmlparser2-3.8.3" = {
+      name = "htmlparser2";
+      packageName = "htmlparser2";
+      version = "3.8.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz";
-        sha1 = "5438cd2ea93b202efa3a19fe8887aee7c94f9c9d";
+        url = "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.8.3.tgz";
+        sha1 = "996c28b191516a8be86501a7d79757e5c70c1068";
       };
     };
-    "center-align-0.1.3" = {
-      name = "center-align";
-      packageName = "center-align";
-      version = "0.1.3";
+    "http-signature-0.10.1" = {
+      name = "http-signature";
+      packageName = "http-signature";
+      version = "0.10.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz";
-        sha1 = "aa0d32629b6ee972200411cbd4461c907bc2b7ad";
+        url = "https://registry.npmjs.org/http-signature/-/http-signature-0.10.1.tgz";
+        sha1 = "4fbdac132559aa8323121e540779c0a012b27e66";
       };
     };
-    "right-align-0.1.3" = {
-      name = "right-align";
-      packageName = "right-align";
-      version = "0.1.3";
+    "http-signature-1.1.1" = {
+      name = "http-signature";
+      packageName = "http-signature";
+      version = "1.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz";
-        sha1 = "61339b722fe6a3515689210d24e14c96148613ef";
+        url = "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz";
+        sha1 = "df72e267066cd0ac67fb76adf8e134a8fbcf91bf";
       };
     };
-    "wordwrap-0.0.2" = {
-      name = "wordwrap";
-      packageName = "wordwrap";
-      version = "0.0.2";
+    "https-browserify-1.0.0" = {
+      name = "https-browserify";
+      packageName = "https-browserify";
+      version = "1.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz";
-        sha1 = "b79669bb42ecb409f83d583cad52ca17eaa1643f";
+        url = "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz";
+        sha1 = "ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73";
       };
     };
-    "align-text-0.1.4" = {
-      name = "align-text";
-      packageName = "align-text";
-      version = "0.1.4";
+    "ieee754-1.1.8" = {
+      name = "ieee754";
+      packageName = "ieee754";
+      version = "1.1.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz";
-        sha1 = "0cd90a561093f35d0a99256c22b7069433fad117";
+        url = "https://registry.npmjs.org/ieee754/-/ieee754-1.1.8.tgz";
+        sha1 = "be33d40ac10ef1926701f6f08a2d86fbfd1ad3e4";
       };
     };
-    "lazy-cache-1.0.4" = {
-      name = "lazy-cache";
-      packageName = "lazy-cache";
-      version = "1.0.4";
+    "image-size-0.5.5" = {
+      name = "image-size";
+      packageName = "image-size";
+      version = "0.5.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz";
-        sha1 = "a1d78fc3a50474cb80845d3b3b6e1da49a446e8e";
+        url = "https://registry.npmjs.org/image-size/-/image-size-0.5.5.tgz";
+        sha1 = "09dfd4ab9d20e29eb1c3e80b8990378df9e3cb9c";
       };
     };
-    "kind-of-3.1.0" = {
-      name = "kind-of";
-      packageName = "kind-of";
-      version = "3.1.0";
+    "indexof-0.0.1" = {
+      name = "indexof";
+      packageName = "indexof";
+      version = "0.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/kind-of/-/kind-of-3.1.0.tgz";
-        sha1 = "475d698a5e49ff5e53d14e3e732429dc8bf4cf47";
+        url = "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz";
+        sha1 = "82dc336d232b9062179d05ab3293a66059fd435d";
       };
     };
-    "longest-1.0.1" = {
-      name = "longest";
-      packageName = "longest";
-      version = "1.0.1";
+    "inflight-1.0.6" = {
+      name = "inflight";
+      packageName = "inflight";
+      version = "1.0.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz";
-        sha1 = "30a0b2da38f73770e8294a0d22e6625ed77d0097";
+        url = "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz";
+        sha1 = "49bd6331d7d02d0c09bc910a1075ba8165b56df9";
       };
     };
-    "repeat-string-1.6.1" = {
-      name = "repeat-string";
-      packageName = "repeat-string";
-      version = "1.6.1";
+    "inherits-1.0.2" = {
+      name = "inherits";
+      packageName = "inherits";
+      version = "1.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz";
-        sha1 = "8dcae470e1c88abc2d600fff4a776286da75e637";
+        url = "https://registry.npmjs.org/inherits/-/inherits-1.0.2.tgz";
+        sha1 = "ca4309dadee6b54cc0b8d247e8d7c7a0975bdc9b";
       };
     };
-    "errno-0.1.4" = {
-      name = "errno";
-      packageName = "errno";
-      version = "0.1.4";
+    "inherits-2.0.1" = {
+      name = "inherits";
+      packageName = "inherits";
+      version = "2.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/errno/-/errno-0.1.4.tgz";
-        sha1 = "b896e23a9e5e8ba33871fc996abd3635fc9a1c7d";
+        url = "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz";
+        sha1 = "b17d08d326b4423e568eff719f91b0b1cbdf69f1";
       };
     };
-    "graceful-fs-4.1.11" = {
-      name = "graceful-fs";
-      packageName = "graceful-fs";
-      version = "4.1.11";
+    "inherits-2.0.3" = {
+      name = "inherits";
+      packageName = "inherits";
+      version = "2.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz";
-        sha1 = "0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658";
+        url = "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz";
+        sha1 = "633c2c83e3da42a502f52466022480f4208261de";
       };
     };
-    "image-size-0.5.1" = {
-      name = "image-size";
-      packageName = "image-size";
-      version = "0.5.1";
+    "ini-1.1.0" = {
+      name = "ini";
+      packageName = "ini";
+      version = "1.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/image-size/-/image-size-0.5.1.tgz";
-        sha1 = "28eea8548a4b1443480ddddc1e083ae54652439f";
+        url = "https://registry.npmjs.org/ini/-/ini-1.1.0.tgz";
+        sha1 = "4e808c2ce144c6c1788918e034d6797bc6cf6281";
       };
     };
-    "mime-1.3.4" = {
-      name = "mime";
-      packageName = "mime";
-      version = "1.3.4";
+    "ini-1.3.5" = {
+      name = "ini";
+      packageName = "ini";
+      version = "1.3.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mime/-/mime-1.3.4.tgz";
-        sha1 = "115f9e3b6b3daf2959983cb38f149a2d40eb5d53";
+        url = "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz";
+        sha512 = "1rjbvf1rg5ywhnba08sgagn2qf23lab330qrqmh7d891zap3xpxcyfyj1cblpf0f0rypglcfacybzyrpd4996aa1mbc820awa33k5j5";
       };
     };
-    "mkdirp-0.5.1" = {
-      name = "mkdirp";
-      packageName = "mkdirp";
-      version = "0.5.1";
+    "inline-source-map-0.6.2" = {
+      name = "inline-source-map";
+      packageName = "inline-source-map";
+      version = "0.6.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz";
-        sha1 = "30057438eac6cf7f8c4767f38648d6697d75c903";
+        url = "https://registry.npmjs.org/inline-source-map/-/inline-source-map-0.6.2.tgz";
+        sha1 = "f9393471c18a79d1724f863fa38b586370ade2a5";
       };
     };
-    "promise-7.1.1" = {
-      name = "promise";
-      packageName = "promise";
-      version = "7.1.1";
+    "insert-module-globals-7.0.2" = {
+      name = "insert-module-globals";
+      packageName = "insert-module-globals";
+      version = "7.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/promise/-/promise-7.1.1.tgz";
-        sha1 = "489654c692616b8aa55b0724fa809bb7db49c5bf";
+        url = "https://registry.npmjs.org/insert-module-globals/-/insert-module-globals-7.0.2.tgz";
+        sha512 = "19lb0lqjmyxr13va9m2mdyjmpfb2c4lgnnnwysri85znpa37gcgi6b57zj0h5ymk6fbl3snjfw07gb9azb8yvkldj6av6wdvs1knyx7";
       };
     };
-    "request-2.81.0" = {
-      name = "request";
-      packageName = "request";
-      version = "2.81.0";
+    "interpret-1.1.0" = {
+      name = "interpret";
+      packageName = "interpret";
+      version = "1.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/request/-/request-2.81.0.tgz";
-        sha1 = "c6928946a0e06c5f8d6f8a9333469ffda46298a0";
+        url = "https://registry.npmjs.org/interpret/-/interpret-1.1.0.tgz";
+        sha1 = "7ed1b1410c6a0e0f78cf95d3b8440c63f78b8614";
       };
     };
-    "prr-0.0.0" = {
-      name = "prr";
-      packageName = "prr";
-      version = "0.0.0";
+    "is-buffer-1.1.6" = {
+      name = "is-buffer";
+      packageName = "is-buffer";
+      version = "1.1.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/prr/-/prr-0.0.0.tgz";
-        sha1 = "1a84b85908325501411853d0081ee3fa86e2926a";
+        url = "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz";
+        sha512 = "3kr8dm9qyklmm2xyiz75s8db90bfilfals4x0g276kncihrrrz0ar4y6dqpvc7pwy7h43jay1bayi1r62x97nzvcswkk4ap18pl1irm";
       };
     };
-    "minimist-0.0.8" = {
-      name = "minimist";
-      packageName = "minimist";
-      version = "0.0.8";
+    "is-typedarray-1.0.0" = {
+      name = "is-typedarray";
+      packageName = "is-typedarray";
+      version = "1.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz";
-        sha1 = "857fcabfc3397d2625b8228262e86aa7a011b05d";
+        url = "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz";
+        sha1 = "e479c80858df0c1b11ddda6940f96011fcda4a9a";
       };
     };
-    "asap-2.0.5" = {
-      name = "asap";
-      packageName = "asap";
-      version = "2.0.5";
+    "isarray-0.0.1" = {
+      name = "isarray";
+      packageName = "isarray";
+      version = "0.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/asap/-/asap-2.0.5.tgz";
-        sha1 = "522765b50c3510490e52d7dcfe085ef9ba96958f";
+        url = "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz";
+        sha1 = "8a18acfca9a8f4177e09abfc6038939b05d1eedf";
       };
     };
-    "aws-sign2-0.6.0" = {
-      name = "aws-sign2";
-      packageName = "aws-sign2";
-      version = "0.6.0";
+    "isarray-1.0.0" = {
+      name = "isarray";
+      packageName = "isarray";
+      version = "1.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz";
-        sha1 = "14342dd38dbcc94d0e5b87d763cd63612c0e794f";
+        url = "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz";
+        sha1 = "bb935d48582cba168c06834957a54a3e07124f11";
       };
     };
-    "aws4-1.6.0" = {
-      name = "aws4";
-      packageName = "aws4";
-      version = "1.6.0";
+    "isstream-0.1.2" = {
+      name = "isstream";
+      packageName = "isstream";
+      version = "0.1.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/aws4/-/aws4-1.6.0.tgz";
-        sha1 = "83ef5ca860b2b32e4a0deedee8c771b9db57471e";
+        url = "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz";
+        sha1 = "47e63f7af55afa6f92e1500e690eb8b8529c099a";
       };
     };
-    "caseless-0.12.0" = {
-      name = "caseless";
-      packageName = "caseless";
-      version = "0.12.0";
+    "jsbn-0.1.1" = {
+      name = "jsbn";
+      packageName = "jsbn";
+      version = "0.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz";
-        sha1 = "1b681c21ff84033c826543090689420d187151dc";
+        url = "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz";
+        sha1 = "a5e654c2e5a2deb5f201d96cefbca80c0ef2f513";
       };
     };
-    "combined-stream-1.0.5" = {
-      name = "combined-stream";
-      packageName = "combined-stream";
-      version = "1.0.5";
+    "json-schema-0.2.3" = {
+      name = "json-schema";
+      packageName = "json-schema";
+      version = "0.2.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz";
-        sha1 = "938370a57b4a51dea2c77c15d5c5fdf895164009";
+        url = "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz";
+        sha1 = "b480c892e59a2f05954ce727bd3f2a4e882f9e13";
       };
     };
-    "extend-3.0.0" = {
-      name = "extend";
-      packageName = "extend";
-      version = "3.0.0";
+    "json-stable-stringify-0.0.1" = {
+      name = "json-stable-stringify";
+      packageName = "json-stable-stringify";
+      version = "0.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/extend/-/extend-3.0.0.tgz";
-        sha1 = "5a474353b9f3353ddd8176dfd37b91c83a46f1d4";
+        url = "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-0.0.1.tgz";
+        sha1 = "611c23e814db375527df851193db59dd2af27f45";
       };
     };
-    "forever-agent-0.6.1" = {
-      name = "forever-agent";
-      packageName = "forever-agent";
-      version = "0.6.1";
+    "json-stable-stringify-1.0.1" = {
+      name = "json-stable-stringify";
+      packageName = "json-stable-stringify";
+      version = "1.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz";
-        sha1 = "fbc71f0c41adeb37f96c577ad1ed42d8fdacca91";
+        url = "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz";
+        sha1 = "9a759d39c5f2ff503fd5300646ed445f88c4f9af";
       };
     };
-    "form-data-2.1.2" = {
-      name = "form-data";
-      packageName = "form-data";
-      version = "2.1.2";
+    "json-stringify-safe-5.0.1" = {
+      name = "json-stringify-safe";
+      packageName = "json-stringify-safe";
+      version = "5.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/form-data/-/form-data-2.1.2.tgz";
-        sha1 = "89c3534008b97eada4cbb157d58f6f5df025eae4";
+        url = "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz";
+        sha1 = "1296a2d58fd45f19a0f6ce01d65701e2c735b6eb";
       };
     };
-    "har-validator-4.2.1" = {
-      name = "har-validator";
-      packageName = "har-validator";
-      version = "4.2.1";
+    "jsonify-0.0.0" = {
+      name = "jsonify";
+      packageName = "jsonify";
+      version = "0.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/har-validator/-/har-validator-4.2.1.tgz";
-        sha1 = "33481d0f1bbff600dd203d75812a6a5fba002e2a";
+        url = "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz";
+        sha1 = "2c74b6ee41d93ca51b7b5aaee8f503631d252a73";
       };
     };
-    "hawk-3.1.3" = {
-      name = "hawk";
-      packageName = "hawk";
-      version = "3.1.3";
+    "jsonparse-1.3.1" = {
+      name = "jsonparse";
+      packageName = "jsonparse";
+      version = "1.3.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz";
-        sha1 = "078444bd7c1640b0fe540d2c9b73d59678e8e1c4";
+        url = "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz";
+        sha1 = "3f4dae4a91fac315f71062f8521cc239f1366280";
       };
     };
-    "http-signature-1.1.1" = {
-      name = "http-signature";
-      packageName = "http-signature";
-      version = "1.1.1";
+    "jsprim-1.4.1" = {
+      name = "jsprim";
+      packageName = "jsprim";
+      version = "1.4.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz";
-        sha1 = "df72e267066cd0ac67fb76adf8e134a8fbcf91bf";
+        url = "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz";
+        sha1 = "313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2";
       };
     };
-    "is-typedarray-1.0.0" = {
-      name = "is-typedarray";
-      packageName = "is-typedarray";
-      version = "1.0.0";
+    "just-extend-1.1.27" = {
+      name = "just-extend";
+      packageName = "just-extend";
+      version = "1.1.27";
       src = fetchurl {
-        url = "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz";
-        sha1 = "e479c80858df0c1b11ddda6940f96011fcda4a9a";
+        url = "https://registry.npmjs.org/just-extend/-/just-extend-1.1.27.tgz";
+        sha512 = "3x01f92pvzs341qv1cin9mb3yiimkzjpy0f4dms78ki26ba01kjqcjpcm85sw005lc8d5dkk9wsigwh7zawnh10vml03siifbbnk5cq";
       };
     };
-    "isstream-0.1.2" = {
-      name = "isstream";
-      packageName = "isstream";
-      version = "0.1.2";
+    "kew-0.1.7" = {
+      name = "kew";
+      packageName = "kew";
+      version = "0.1.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz";
-        sha1 = "47e63f7af55afa6f92e1500e690eb8b8529c099a";
+        url = "https://registry.npmjs.org/kew/-/kew-0.1.7.tgz";
+        sha1 = "0a32a817ff1a9b3b12b8c9bacf4bc4d679af8e72";
       };
     };
-    "json-stringify-safe-5.0.1" = {
-      name = "json-stringify-safe";
-      packageName = "json-stringify-safe";
-      version = "5.0.1";
+    "labeled-stream-splicer-2.0.0" = {
+      name = "labeled-stream-splicer";
+      packageName = "labeled-stream-splicer";
+      version = "2.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz";
-        sha1 = "1296a2d58fd45f19a0f6ce01d65701e2c735b6eb";
+        url = "https://registry.npmjs.org/labeled-stream-splicer/-/labeled-stream-splicer-2.0.0.tgz";
+        sha1 = "a52e1d138024c00b86b1c0c91f677918b8ae0a59";
       };
     };
-    "mime-types-2.1.15" = {
-      name = "mime-types";
-      packageName = "mime-types";
-      version = "2.1.15";
+    "lexical-scope-1.2.0" = {
+      name = "lexical-scope";
+      packageName = "lexical-scope";
+      version = "1.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mime-types/-/mime-types-2.1.15.tgz";
-        sha1 = "a4ebf5064094569237b8cf70046776d09fc92aed";
+        url = "https://registry.npmjs.org/lexical-scope/-/lexical-scope-1.2.0.tgz";
+        sha1 = "fcea5edc704a4b3a8796cdca419c3a0afaf22df4";
       };
     };
-    "oauth-sign-0.8.2" = {
-      name = "oauth-sign";
-      packageName = "oauth-sign";
-      version = "0.8.2";
+    "lodash-3.7.0" = {
+      name = "lodash";
+      packageName = "lodash";
+      version = "3.7.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz";
-        sha1 = "46a6ab7f0aead8deae9ec0565780b7d4efeb9d43";
+        url = "https://registry.npmjs.org/lodash/-/lodash-3.7.0.tgz";
+        sha1 = "3678bd8ab995057c07ade836ed2ef087da811d45";
       };
     };
-    "performance-now-0.2.0" = {
-      name = "performance-now";
-      packageName = "performance-now";
-      version = "0.2.0";
+    "lodash.get-4.4.2" = {
+      name = "lodash.get";
+      packageName = "lodash.get";
+      version = "4.4.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/performance-now/-/performance-now-0.2.0.tgz";
-        sha1 = "33ef30c5c77d4ea21c5a53869d91b56d8f2555e5";
+        url = "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz";
+        sha1 = "2d177f652fa31e939b4438d5341499dfa3825e99";
       };
     };
-    "qs-6.4.0" = {
-      name = "qs";
-      packageName = "qs";
-      version = "6.4.0";
+    "lodash.memoize-3.0.4" = {
+      name = "lodash.memoize";
+      packageName = "lodash.memoize";
+      version = "3.0.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/qs/-/qs-6.4.0.tgz";
-        sha1 = "13e26d28ad6b0ffaa91312cd3bf708ed351e7233";
+        url = "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-3.0.4.tgz";
+        sha1 = "2dcbd2c287cbc0a55cc42328bd0c736150d53e3f";
       };
     };
-    "safe-buffer-5.0.1" = {
-      name = "safe-buffer";
-      packageName = "safe-buffer";
-      version = "5.0.1";
+    "lolex-2.3.2" = {
+      name = "lolex";
+      packageName = "lolex";
+      version = "2.3.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.0.1.tgz";
-        sha1 = "d263ca54696cd8a306b5ca6551e92de57918fbe7";
+        url = "https://registry.npmjs.org/lolex/-/lolex-2.3.2.tgz";
+        sha512 = "2g7dp64fm1kp17mxgz5r8hlgd65k8wfxz8jwcgqskdxn7vsnm6vj1bylcqblyzl6879p3g7qcjqqwmw0nik6032fksb33q5v7d4v6h3";
       };
     };
-    "stringstream-0.0.5" = {
-      name = "stringstream";
-      packageName = "stringstream";
-      version = "0.0.5";
+    "md5.js-1.3.4" = {
+      name = "md5.js";
+      packageName = "md5.js";
+      version = "1.3.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz";
-        sha1 = "4e484cd4de5a0bbbee18e46307710a8a81621878";
+        url = "https://registry.npmjs.org/md5.js/-/md5.js-1.3.4.tgz";
+        sha1 = "e9bdbde94a20a5ac18b04340fc5764d5b09d901d";
       };
     };
-    "tough-cookie-2.3.2" = {
-      name = "tough-cookie";
-      packageName = "tough-cookie";
-      version = "2.3.2";
+    "miller-rabin-4.0.1" = {
+      name = "miller-rabin";
+      packageName = "miller-rabin";
+      version = "4.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.2.tgz";
-        sha1 = "f081f76e4c85720e6c37a5faced737150d84072a";
+        url = "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz";
+        sha512 = "12277knznlw4myxmgg6vgkrwmrhj9dyniscrlph3s08ndi2q25v3wrv6rwanvz29v5k5x756xa5yif4xllrghpn3jqaamnr3cp5ypnp";
       };
     };
-    "tunnel-agent-0.6.0" = {
-      name = "tunnel-agent";
-      packageName = "tunnel-agent";
-      version = "0.6.0";
+    "mime-1.2.11" = {
+      name = "mime";
+      packageName = "mime";
+      version = "1.2.11";
       src = fetchurl {
-        url = "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz";
-        sha1 = "27a5dea06b36b04a0a9966774b290868f0fc40fd";
+        url = "https://registry.npmjs.org/mime/-/mime-1.2.11.tgz";
+        sha1 = "58203eed86e3a5ef17aed2b7d9ebd47f0a60dd10";
       };
     };
-    "uuid-3.0.1" = {
-      name = "uuid";
-      packageName = "uuid";
-      version = "3.0.1";
+    "mime-1.6.0" = {
+      name = "mime";
+      packageName = "mime";
+      version = "1.6.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/uuid/-/uuid-3.0.1.tgz";
-        sha1 = "6544bba2dfda8c1cf17e629a3a305e2bb1fee6c1";
+        url = "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz";
+        sha512 = "1x901mk5cdib4xp27v4ivwwr7mhy64r4rk953bzivi5p9lf2bhw88ra2rhkd254xkdx2d3q30zkq239vc4yx4pfsj4hpys8rbr6fif7";
       };
     };
-    "delayed-stream-1.0.0" = {
-      name = "delayed-stream";
-      packageName = "delayed-stream";
-      version = "1.0.0";
+    "mime-db-1.33.0" = {
+      name = "mime-db";
+      packageName = "mime-db";
+      version = "1.33.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz";
-        sha1 = "df3ae199acadfb7d440aaae0b29e2272b24ec619";
+        url = "https://registry.npmjs.org/mime-db/-/mime-db-1.33.0.tgz";
+        sha512 = "36xnw59ik9fqym00cmwb5nyzg0l03k70cp413f7639j93wgmzk1mh0xjc7i6zz3r6k9xnwh0g5cm5a1f3y8c6plgy4qld7fm887ywh4";
       };
     };
-    "asynckit-0.4.0" = {
-      name = "asynckit";
-      packageName = "asynckit";
-      version = "0.4.0";
+    "mime-types-2.1.18" = {
+      name = "mime-types";
+      packageName = "mime-types";
+      version = "2.1.18";
       src = fetchurl {
-        url = "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz";
-        sha1 = "c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79";
+        url = "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz";
+        sha512 = "22krj1kw7n9z10zdyx7smcaim4bzwqsqzhspwha06q58gcrxfp93hw2cd0vk5crhq5p2dwzqlpacg32lrmp5sjzb798zdzy35mdmkwm";
       };
     };
-    "ajv-4.11.5" = {
-      name = "ajv";
-      packageName = "ajv";
-      version = "4.11.5";
+    "minimalistic-assert-1.0.0" = {
+      name = "minimalistic-assert";
+      packageName = "minimalistic-assert";
+      version = "1.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ajv/-/ajv-4.11.5.tgz";
-        sha1 = "b6ee74657b993a01dce44b7944d56f485828d5bd";
+        url = "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.0.tgz";
+        sha1 = "702be2dda6b37f4836bcb3f5db56641b64a1d3d3";
       };
     };
-    "har-schema-1.0.5" = {
-      name = "har-schema";
-      packageName = "har-schema";
-      version = "1.0.5";
+    "minimalistic-crypto-utils-1.0.1" = {
+      name = "minimalistic-crypto-utils";
+      packageName = "minimalistic-crypto-utils";
+      version = "1.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/har-schema/-/har-schema-1.0.5.tgz";
-        sha1 = "d263135f43307c02c602afc8fe95970c0151369e";
+        url = "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz";
+        sha1 = "f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a";
       };
     };
-    "co-4.6.0" = {
-      name = "co";
-      packageName = "co";
-      version = "4.6.0";
+    "minimatch-3.0.4" = {
+      name = "minimatch";
+      packageName = "minimatch";
+      version = "3.0.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/co/-/co-4.6.0.tgz";
-        sha1 = "6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184";
+        url = "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz";
+        sha512 = "1879a3j85h92ypvb7lpv1dqpcxl49rqnbgs5la18zmj1yqhwl60c2m74254wbr5pp3znckqpkg9dvjyrz6hfz8b9vag5a3j910db4f8";
       };
     };
-    "json-stable-stringify-1.0.1" = {
-      name = "json-stable-stringify";
-      packageName = "json-stable-stringify";
-      version = "1.0.1";
+    "minimist-0.0.8" = {
+      name = "minimist";
+      packageName = "minimist";
+      version = "0.0.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz";
-        sha1 = "9a759d39c5f2ff503fd5300646ed445f88c4f9af";
+        url = "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz";
+        sha1 = "857fcabfc3397d2625b8228262e86aa7a011b05d";
       };
     };
-    "hoek-2.16.3" = {
-      name = "hoek";
-      packageName = "hoek";
-      version = "2.16.3";
+    "minimist-1.2.0" = {
+      name = "minimist";
+      packageName = "minimist";
+      version = "1.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz";
-        sha1 = "20bb7403d3cea398e91dc4710a8ff1b8274a25ed";
+        url = "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz";
+        sha1 = "a35008b20f41383eec1fb914f4cd5df79a264284";
       };
     };
-    "boom-2.10.1" = {
-      name = "boom";
-      packageName = "boom";
-      version = "2.10.1";
+    "mkdirp-0.3.5" = {
+      name = "mkdirp";
+      packageName = "mkdirp";
+      version = "0.3.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz";
-        sha1 = "39c8918ceff5799f83f9492a848f625add0c766f";
+        url = "https://registry.npmjs.org/mkdirp/-/mkdirp-0.3.5.tgz";
+        sha1 = "de3e5f8961c88c787ee1368df849ac4413eca8d7";
       };
     };
-    "cryptiles-2.0.5" = {
-      name = "cryptiles";
-      packageName = "cryptiles";
-      version = "2.0.5";
+    "mkdirp-0.5.1" = {
+      name = "mkdirp";
+      packageName = "mkdirp";
+      version = "0.5.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz";
-        sha1 = "3bdfecdc608147c1c67202fa291e7dca59eaa3b8";
+        url = "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz";
+        sha1 = "30057438eac6cf7f8c4767f38648d6697d75c903";
       };
     };
-    "sntp-1.0.9" = {
-      name = "sntp";
-      packageName = "sntp";
-      version = "1.0.9";
+    "mocha-phantomjs-core-1.3.1" = {
+      name = "mocha-phantomjs-core";
+      packageName = "mocha-phantomjs-core";
+      version = "1.3.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz";
-        sha1 = "6541184cc90aeea6c6e7b35e2659082443c66198";
+        url = "https://registry.npmjs.org/mocha-phantomjs-core/-/mocha-phantomjs-core-1.3.1.tgz";
+        sha1 = "586538c8d71fa8de90c41a46acc0481c1fb83e18";
       };
     };
-    "assert-plus-0.2.0" = {
-      name = "assert-plus";
-      packageName = "assert-plus";
-      version = "0.2.0";
+    "module-deps-6.0.0" = {
+      name = "module-deps";
+      packageName = "module-deps";
+      version = "6.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz";
-        sha1 = "d74e1b87e7affc0db8aadb7021f3fe48101ab234";
+        url = "https://registry.npmjs.org/module-deps/-/module-deps-6.0.0.tgz";
+        sha512 = "0ri32x2v7ywi8n4h92scc5pq6zlh7mmzbmk0gh2gsh3490w4d9islz1rs0in98cl2h5fl0dfx2dfcad0disnaiqflw46d24ja20raq4";
       };
     };
-    "jsprim-1.4.0" = {
-      name = "jsprim";
-      packageName = "jsprim";
-      version = "1.4.0";
+    "ms-2.0.0" = {
+      name = "ms";
+      packageName = "ms";
+      version = "2.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/jsprim/-/jsprim-1.4.0.tgz";
-        sha1 = "a3b87e40298d8c380552d8cc7628a0bb95a22918";
+        url = "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz";
+        sha1 = "5608aeadfc00be6c2901df5f9861788de0d597c8";
       };
     };
-    "sshpk-1.11.0" = {
-      name = "sshpk";
-      packageName = "sshpk";
-      version = "1.11.0";
+    "ncp-0.4.2" = {
+      name = "ncp";
+      packageName = "ncp";
+      version = "0.4.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/sshpk/-/sshpk-1.11.0.tgz";
-        sha1 = "2d8d5ebb4a6fab28ffba37fa62a90f4a3ea59d77";
+        url = "https://registry.npmjs.org/ncp/-/ncp-0.4.2.tgz";
+        sha1 = "abcc6cbd3ec2ed2a729ff6e7c1fa8f01784a8574";
       };
     };
-    "assert-plus-1.0.0" = {
-      name = "assert-plus";
-      packageName = "assert-plus";
-      version = "1.0.0";
+    "nise-1.3.0" = {
+      name = "nise";
+      packageName = "nise";
+      version = "1.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz";
-        sha1 = "f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525";
+        url = "https://registry.npmjs.org/nise/-/nise-1.3.0.tgz";
+        sha512 = "20b9q52bz8ncm5jqjfhrhrcr2rb0y8jhb867ayrkdsf78y1c186qra112a6sj6lbnkab0dx0i1cnr2hz4l4dzzkn1l8khvc71vspqjk";
       };
     };
-    "extsprintf-1.0.2" = {
-      name = "extsprintf";
-      packageName = "extsprintf";
-      version = "1.0.2";
+    "node-uuid-1.4.8" = {
+      name = "node-uuid";
+      packageName = "node-uuid";
+      version = "1.4.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/extsprintf/-/extsprintf-1.0.2.tgz";
-        sha1 = "e1080e0658e300b06294990cc70e1502235fd550";
+        url = "https://registry.npmjs.org/node-uuid/-/node-uuid-1.4.8.tgz";
+        sha1 = "b040eb0923968afabf8d32fb1f17f1167fdab907";
       };
     };
-    "json-schema-0.2.3" = {
-      name = "json-schema";
-      packageName = "json-schema";
-      version = "0.2.3";
+    "nopt-2.2.1" = {
+      name = "nopt";
+      packageName = "nopt";
+      version = "2.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz";
-        sha1 = "b480c892e59a2f05954ce727bd3f2a4e882f9e13";
+        url = "https://registry.npmjs.org/nopt/-/nopt-2.2.1.tgz";
+        sha1 = "2aa09b7d1768487b3b89a9c5aa52335bff0baea7";
       };
     };
-    "verror-1.3.6" = {
-      name = "verror";
-      packageName = "verror";
-      version = "1.3.6";
+    "npmconf-0.0.24" = {
+      name = "npmconf";
+      packageName = "npmconf";
+      version = "0.0.24";
       src = fetchurl {
-        url = "https://registry.npmjs.org/verror/-/verror-1.3.6.tgz";
-        sha1 = "cff5df12946d297d2baaefaa2689e25be01c005c";
+        url = "https://registry.npmjs.org/npmconf/-/npmconf-0.0.24.tgz";
+        sha1 = "b78875b088ccc3c0afa3eceb3ce3244b1b52390c";
       };
     };
-    "asn1-0.2.3" = {
-      name = "asn1";
-      packageName = "asn1";
-      version = "0.2.3";
+    "oauth-sign-0.3.0" = {
+      name = "oauth-sign";
+      packageName = "oauth-sign";
+      version = "0.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz";
-        sha1 = "dac8787713c9966849fc8180777ebe9c1ddf3b86";
+        url = "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.3.0.tgz";
+        sha1 = "cb540f93bb2b22a7d5941691a288d60e8ea9386e";
       };
     };
-    "dashdash-1.14.1" = {
-      name = "dashdash";
-      packageName = "dashdash";
-      version = "1.14.1";
+    "oauth-sign-0.8.2" = {
+      name = "oauth-sign";
+      packageName = "oauth-sign";
+      version = "0.8.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz";
-        sha1 = "853cfa0f7cbe2fed5de20326b8dd581035f6e2f0";
+        url = "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz";
+        sha1 = "46a6ab7f0aead8deae9ec0565780b7d4efeb9d43";
       };
     };
-    "getpass-0.1.6" = {
-      name = "getpass";
-      packageName = "getpass";
-      version = "0.1.6";
+    "once-1.1.1" = {
+      name = "once";
+      packageName = "once";
+      version = "1.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/getpass/-/getpass-0.1.6.tgz";
-        sha1 = "283ffd9fc1256840875311c1b60e8c40187110e6";
+        url = "https://registry.npmjs.org/once/-/once-1.1.1.tgz";
+        sha1 = "9db574933ccb08c3a7614d154032c09ea6f339e7";
       };
     };
-    "jsbn-0.1.1" = {
-      name = "jsbn";
-      packageName = "jsbn";
-      version = "0.1.1";
+    "once-1.4.0" = {
+      name = "once";
+      packageName = "once";
+      version = "1.4.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz";
-        sha1 = "a5e654c2e5a2deb5f201d96cefbca80c0ef2f513";
+        url = "https://registry.npmjs.org/once/-/once-1.4.0.tgz";
+        sha1 = "583b1aa775961d4b113ac17d9c50baef9dd76bd1";
       };
     };
-    "tweetnacl-0.14.5" = {
-      name = "tweetnacl";
-      packageName = "tweetnacl";
-      version = "0.14.5";
+    "os-browserify-0.3.0" = {
+      name = "os-browserify";
+      packageName = "os-browserify";
+      version = "0.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz";
-        sha1 = "5ae68177f192d4456269d108afa93ff8743f4f64";
+        url = "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz";
+        sha1 = "854373c7f5c2315914fc9bfc6bd8238fdda1ec27";
       };
     };
-    "jodid25519-1.0.2" = {
-      name = "jodid25519";
-      packageName = "jodid25519";
-      version = "1.0.2";
+    "osenv-0.0.3" = {
+      name = "osenv";
+      packageName = "osenv";
+      version = "0.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/jodid25519/-/jodid25519-1.0.2.tgz";
-        sha1 = "06d4912255093419477d425633606e0e90782967";
+        url = "https://registry.npmjs.org/osenv/-/osenv-0.0.3.tgz";
+        sha1 = "cd6ad8ddb290915ad9e22765576025d411f29cb6";
       };
     };
-    "ecc-jsbn-0.1.1" = {
-      name = "ecc-jsbn";
-      packageName = "ecc-jsbn";
-      version = "0.1.1";
+    "pako-1.0.6" = {
+      name = "pako";
+      packageName = "pako";
+      version = "1.0.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz";
-        sha1 = "0fc73a9ed5f0d53c38193398523ef7e543777505";
+        url = "https://registry.npmjs.org/pako/-/pako-1.0.6.tgz";
+        sha512 = "1r9hy37qsbhv5ipsydkbir2yl7qg3lbpgj4qzrnb903w8mhj9ibaww0zykbp0ak1nxxp6mpbws3xsrf7fgq39zchci90c7chgqvh1wm";
       };
     };
-    "bcrypt-pbkdf-1.0.1" = {
-      name = "bcrypt-pbkdf";
-      packageName = "bcrypt-pbkdf";
+    "parents-1.0.1" = {
+      name = "parents";
+      packageName = "parents";
       version = "1.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz";
-        sha1 = "63bc5dcb61331b92bc05fd528953c33462a06f8d";
+        url = "https://registry.npmjs.org/parents/-/parents-1.0.1.tgz";
+        sha1 = "fedd4d2bf193a77745fe71e371d73c3307d9c751";
       };
     };
-    "mime-db-1.27.0" = {
-      name = "mime-db";
-      packageName = "mime-db";
-      version = "1.27.0";
+    "parse-asn1-5.1.0" = {
+      name = "parse-asn1";
+      packageName = "parse-asn1";
+      version = "5.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mime-db/-/mime-db-1.27.0.tgz";
-        sha1 = "820f572296bbd20ec25ed55e5b5de869e5436eb1";
+        url = "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.0.tgz";
+        sha1 = "37c4f9b7ed3ab65c74817b5f2480937fbf97c712";
       };
     };
-    "browser-stdout-1.3.0" = {
-      name = "browser-stdout";
-      packageName = "browser-stdout";
-      version = "1.3.0";
+    "path-browserify-0.0.0" = {
+      name = "path-browserify";
+      packageName = "path-browserify";
+      version = "0.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.0.tgz";
-        sha1 = "f351d32969d32fa5d7a5567154263d928ae3bd1f";
+        url = "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.0.tgz";
+        sha1 = "a0b870729aae214005b7d5032ec2cbbb0fb4451a";
       };
     };
-    "commander-2.9.0" = {
-      name = "commander";
-      packageName = "commander";
-      version = "2.9.0";
+    "path-is-absolute-1.0.1" = {
+      name = "path-is-absolute";
+      packageName = "path-is-absolute";
+      version = "1.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz";
-        sha1 = "9c99094176e12240cb22d6c5146098400fe0f7d4";
+        url = "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz";
+        sha1 = "174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f";
       };
     };
-    "debug-2.2.0" = {
-      name = "debug";
-      packageName = "debug";
-      version = "2.2.0";
+    "path-parse-1.0.5" = {
+      name = "path-parse";
+      packageName = "path-parse";
+      version = "1.0.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz";
-        sha1 = "f87057e995b1a1f6ae6a4960664137bc56f039da";
+        url = "https://registry.npmjs.org/path-parse/-/path-parse-1.0.5.tgz";
+        sha1 = "3c1adf871ea9cd6c9431b6ea2bd74a0ff055c4c1";
       };
     };
-    "diff-1.4.0" = {
-      name = "diff";
-      packageName = "diff";
-      version = "1.4.0";
+    "path-platform-0.11.15" = {
+      name = "path-platform";
+      packageName = "path-platform";
+      version = "0.11.15";
       src = fetchurl {
-        url = "https://registry.npmjs.org/diff/-/diff-1.4.0.tgz";
-        sha1 = "7f28d2eb9ee7b15a97efd89ce63dcfdaa3ccbabf";
+        url = "https://registry.npmjs.org/path-platform/-/path-platform-0.11.15.tgz";
+        sha1 = "e864217f74c36850f0852b78dc7bf7d4a5721bf2";
       };
     };
-    "escape-string-regexp-1.0.5" = {
-      name = "escape-string-regexp";
-      packageName = "escape-string-regexp";
-      version = "1.0.5";
+    "path-to-regexp-1.7.0" = {
+      name = "path-to-regexp";
+      packageName = "path-to-regexp";
+      version = "1.7.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz";
-        sha1 = "1b61c0562190a8dff6ae3bb2cf0200ca130b86d4";
+        url = "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.7.0.tgz";
+        sha1 = "59fde0f435badacba103a84e9d3bc64e96b9937d";
       };
     };
-    "glob-7.0.5" = {
-      name = "glob";
-      packageName = "glob";
-      version = "7.0.5";
+    "pbkdf2-3.0.14" = {
+      name = "pbkdf2";
+      packageName = "pbkdf2";
+      version = "3.0.14";
       src = fetchurl {
-        url = "https://registry.npmjs.org/glob/-/glob-7.0.5.tgz";
-        sha1 = "b4202a69099bbb4d292a7c1b95b6682b67ebdc95";
+        url = "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.14.tgz";
+        sha512 = "30bb7vx0m1k1m3d1i1khgvmgddx3ahqgprs421ssrh5plpx50k5bazsj67gdi7qiknircqy59yxbclq95s2rnmk8ysgkqdpsddijfw2";
       };
     };
-    "growl-1.9.2" = {
-      name = "growl";
-      packageName = "growl";
-      version = "1.9.2";
+    "performance-now-0.2.0" = {
+      name = "performance-now";
+      packageName = "performance-now";
+      version = "0.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/growl/-/growl-1.9.2.tgz";
-        sha1 = "0ea7743715db8d8de2c5ede1775e1b45ac85c02f";
+        url = "https://registry.npmjs.org/performance-now/-/performance-now-0.2.0.tgz";
+        sha1 = "33ef30c5c77d4ea21c5a53869d91b56d8f2555e5";
       };
     };
-    "json3-3.3.2" = {
-      name = "json3";
-      packageName = "json3";
-      version = "3.3.2";
+    "phantomjs-1.9.7-15" = {
+      name = "phantomjs";
+      packageName = "phantomjs";
+      version = "1.9.7-15";
       src = fetchurl {
-        url = "https://registry.npmjs.org/json3/-/json3-3.3.2.tgz";
-        sha1 = "3c0434743df93e2f5c42aee7b19bcb483575f4e1";
+        url = "https://registry.npmjs.org/phantomjs/-/phantomjs-1.9.7-15.tgz";
+        sha1 = "0b3a7ce630486a83be91ff4e832eee20e971115b";
       };
     };
-    "lodash.create-3.1.1" = {
-      name = "lodash.create";
-      packageName = "lodash.create";
-      version = "3.1.1";
+    "process-0.11.10" = {
+      name = "process";
+      packageName = "process";
+      version = "0.11.10";
       src = fetchurl {
-        url = "https://registry.npmjs.org/lodash.create/-/lodash.create-3.1.1.tgz";
-        sha1 = "d7f2849f0dbda7e04682bb8cd72ab022461debe7";
+        url = "https://registry.npmjs.org/process/-/process-0.11.10.tgz";
+        sha1 = "7332300e840161bda3e69a1d1d91a7d4bc16f182";
       };
     };
-    "supports-color-3.1.2" = {
-      name = "supports-color";
-      packageName = "supports-color";
-      version = "3.1.2";
+    "process-nextick-args-1.0.7" = {
+      name = "process-nextick-args";
+      packageName = "process-nextick-args";
+      version = "1.0.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/supports-color/-/supports-color-3.1.2.tgz";
-        sha1 = "72a262894d9d408b956ca05ff37b2ed8a6e2a2d5";
+        url = "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz";
+        sha1 = "150e20b756590ad3f91093f25a4f2ad8bff30ba3";
       };
     };
-    "graceful-readlink-1.0.1" = {
-      name = "graceful-readlink";
-      packageName = "graceful-readlink";
-      version = "1.0.1";
+    "process-nextick-args-2.0.0" = {
+      name = "process-nextick-args";
+      packageName = "process-nextick-args";
+      version = "2.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz";
-        sha1 = "4cafad76bc62f02fa039b2f94e9a3dd3a391a725";
+        url = "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz";
+        sha512 = "0rw8xpqqkhs91722slvzf8icxfaimqp4w8zb3840jxr7r8n8035byl6dhdi5bm0yr6x7sdws0gf3m025fg6hqgaklwlbl4d7bah5l9j";
       };
     };
-    "ms-0.7.1" = {
-      name = "ms";
-      packageName = "ms";
-      version = "0.7.1";
+    "progress-1.1.8" = {
+      name = "progress";
+      packageName = "progress";
+      version = "1.1.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz";
-        sha1 = "9cd13c03adbff25b65effde7ce864ee952017098";
+        url = "https://registry.npmjs.org/progress/-/progress-1.1.8.tgz";
+        sha1 = "e260c78f6161cdd9b0e56cc3e0a85de17c7a57be";
       };
     };
-    "lodash._baseassign-3.2.0" = {
-      name = "lodash._baseassign";
-      packageName = "lodash._baseassign";
-      version = "3.2.0";
+    "promise-7.3.1" = {
+      name = "promise";
+      packageName = "promise";
+      version = "7.3.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/lodash._baseassign/-/lodash._baseassign-3.2.0.tgz";
-        sha1 = "8c38a099500f215ad09e59f1722fd0c52bfe0a4e";
+        url = "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz";
+        sha512 = "17cn4nns2nxh9r0pdiqsqx3fpvaa82c1mhcr8r84k2a9hkpb0mj4bxzfbg3l9iy74yn9hj6mh2gsddsi3v939a1zp7ycbzqkxfm12cy";
       };
     };
-    "lodash._basecreate-3.0.3" = {
-      name = "lodash._basecreate";
-      packageName = "lodash._basecreate";
-      version = "3.0.3";
+    "proto-list-1.2.4" = {
+      name = "proto-list";
+      packageName = "proto-list";
+      version = "1.2.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/lodash._basecreate/-/lodash._basecreate-3.0.3.tgz";
-        sha1 = "1bc661614daa7fc311b7d03bf16806a0213cf821";
+        url = "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz";
+        sha1 = "212d5bfe1318306a420f6402b8e26ff39647a849";
       };
     };
-    "lodash._isiterateecall-3.0.9" = {
-      name = "lodash._isiterateecall";
-      packageName = "lodash._isiterateecall";
-      version = "3.0.9";
+    "prr-1.0.1" = {
+      name = "prr";
+      packageName = "prr";
+      version = "1.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz";
-        sha1 = "5203ad7ba425fae842460e696db9cf3e6aac057c";
+        url = "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz";
+        sha1 = "d3fc114ba06995a45ec6893f484ceb1d78f5f476";
       };
     };
-    "lodash._basecopy-3.0.1" = {
-      name = "lodash._basecopy";
-      packageName = "lodash._basecopy";
-      version = "3.0.1";
+    "public-encrypt-4.0.0" = {
+      name = "public-encrypt";
+      packageName = "public-encrypt";
+      version = "4.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz";
-        sha1 = "8da0e6a876cf344c0ad8a54882111dd3c5c7ca36";
+        url = "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.0.tgz";
+        sha1 = "39f699f3a46560dd5ebacbca693caf7c65c18cc6";
       };
     };
-    "lodash.keys-3.1.2" = {
-      name = "lodash.keys";
-      packageName = "lodash.keys";
-      version = "3.1.2";
+    "punycode-1.3.2" = {
+      name = "punycode";
+      packageName = "punycode";
+      version = "1.3.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/lodash.keys/-/lodash.keys-3.1.2.tgz";
-        sha1 = "4dbc0472b156be50a0b286855d1bd0b0c656098a";
+        url = "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz";
+        sha1 = "9653a036fb7c1ee42342f2325cceefea3926c48d";
       };
     };
-    "lodash._getnative-3.9.1" = {
-      name = "lodash._getnative";
-      packageName = "lodash._getnative";
-      version = "3.9.1";
+    "punycode-1.4.1" = {
+      name = "punycode";
+      packageName = "punycode";
+      version = "1.4.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/lodash._getnative/-/lodash._getnative-3.9.1.tgz";
-        sha1 = "570bc7dede46d61cdcde687d65d3eecbaa3aaff5";
+        url = "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz";
+        sha1 = "c0d5a63b2718800ad8e1eb0fa5269c84dd41845e";
       };
     };
-    "lodash.isarguments-3.1.0" = {
-      name = "lodash.isarguments";
-      packageName = "lodash.isarguments";
-      version = "3.1.0";
+    "qs-0.6.6" = {
+      name = "qs";
+      packageName = "qs";
+      version = "0.6.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz";
-        sha1 = "2f573d85c6a24289ff00663b491c1d338ff3458a";
+        url = "https://registry.npmjs.org/qs/-/qs-0.6.6.tgz";
+        sha1 = "6e015098ff51968b8a3c819001d5f2c89bc4b107";
       };
     };
-    "lodash.isarray-3.0.4" = {
-      name = "lodash.isarray";
-      packageName = "lodash.isarray";
-      version = "3.0.4";
+    "qs-6.4.0" = {
+      name = "qs";
+      packageName = "qs";
+      version = "6.4.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/lodash.isarray/-/lodash.isarray-3.0.4.tgz";
-        sha1 = "79e4eb88c36a8122af86f844aa9bcd851b5fbb55";
+        url = "https://registry.npmjs.org/qs/-/qs-6.4.0.tgz";
+        sha1 = "13e26d28ad6b0ffaa91312cd3bf708ed351e7233";
       };
     };
-    "has-flag-1.0.0" = {
-      name = "has-flag";
-      packageName = "has-flag";
-      version = "1.0.0";
+    "querystring-0.2.0" = {
+      name = "querystring";
+      packageName = "querystring";
+      version = "0.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz";
-        sha1 = "9d9e793165ce017a00f00418c43f942a7b1d11fa";
+        url = "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz";
+        sha1 = "b209849203bb25df820da756e747005878521620";
       };
     };
-    "phantomjs-1.9.7-15" = {
-      name = "phantomjs";
-      packageName = "phantomjs";
-      version = "1.9.7-15";
+    "querystring-es3-0.2.1" = {
+      name = "querystring-es3";
+      packageName = "querystring-es3";
+      version = "0.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/phantomjs/-/phantomjs-1.9.7-15.tgz";
-        sha1 = "0b3a7ce630486a83be91ff4e832eee20e971115b";
+        url = "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz";
+        sha1 = "9ec61f79049875707d69414596fd907a4d711e73";
       };
     };
-    "mocha-phantomjs-core-1.3.1" = {
-      name = "mocha-phantomjs-core";
-      packageName = "mocha-phantomjs-core";
-      version = "1.3.1";
+    "randombytes-2.0.6" = {
+      name = "randombytes";
+      packageName = "randombytes";
+      version = "2.0.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mocha-phantomjs-core/-/mocha-phantomjs-core-1.3.1.tgz";
-        sha1 = "586538c8d71fa8de90c41a46acc0481c1fb83e18";
+        url = "https://registry.npmjs.org/randombytes/-/randombytes-2.0.6.tgz";
+        sha512 = "3a0zyz736klfzzpd9vwag3gznq7lrj57igm474dq279gsnyqdgfm1brhrs78ky30gsdwz9rwnjjms00fpdpp2p3x8p9mq2zbhw3k108";
       };
     };
-    "adm-zip-0.2.1" = {
-      name = "adm-zip";
-      packageName = "adm-zip";
-      version = "0.2.1";
+    "randomfill-1.0.4" = {
+      name = "randomfill";
+      packageName = "randomfill";
+      version = "1.0.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/adm-zip/-/adm-zip-0.2.1.tgz";
-        sha1 = "e801cedeb5bd9a4e98d699c5c0f4239e2731dcbf";
+        url = "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz";
+        sha512 = "0pm7c7mw7a3qwjr21f8cvxaa2sq5l4svqs51lppn833x0yvz3yx8x4vbd4rswjynykvlgvn4hrpq327pvbzp428f4b1fciy3xnmrfgk";
       };
     };
-    "kew-0.1.7" = {
-      name = "kew";
-      packageName = "kew";
-      version = "0.1.7";
+    "read-only-stream-2.0.0" = {
+      name = "read-only-stream";
+      packageName = "read-only-stream";
+      version = "2.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/kew/-/kew-0.1.7.tgz";
-        sha1 = "0a32a817ff1a9b3b12b8c9bacf4bc4d679af8e72";
+        url = "https://registry.npmjs.org/read-only-stream/-/read-only-stream-2.0.0.tgz";
+        sha1 = "2724fd6a8113d73764ac288d4386270c1dbf17f0";
       };
     };
-    "ncp-0.4.2" = {
-      name = "ncp";
-      packageName = "ncp";
-      version = "0.4.2";
+    "readable-stream-1.1.14" = {
+      name = "readable-stream";
+      packageName = "readable-stream";
+      version = "1.1.14";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ncp/-/ncp-0.4.2.tgz";
-        sha1 = "abcc6cbd3ec2ed2a729ff6e7c1fa8f01784a8574";
+        url = "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz";
+        sha1 = "7cf4c54ef648e3813084c636dd2079e166c081d9";
       };
     };
-    "npmconf-0.0.24" = {
-      name = "npmconf";
-      packageName = "npmconf";
-      version = "0.0.24";
+    "readable-stream-2.0.6" = {
+      name = "readable-stream";
+      packageName = "readable-stream";
+      version = "2.0.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/npmconf/-/npmconf-0.0.24.tgz";
-        sha1 = "b78875b088ccc3c0afa3eceb3ce3244b1b52390c";
+        url = "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz";
+        sha1 = "8f90341e68a53ccc928788dacfcd11b36eb9b78e";
       };
     };
-    "mkdirp-0.3.5" = {
-      name = "mkdirp";
-      packageName = "mkdirp";
-      version = "0.3.5";
+    "readable-stream-2.3.5" = {
+      name = "readable-stream";
+      packageName = "readable-stream";
+      version = "2.3.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mkdirp/-/mkdirp-0.3.5.tgz";
-        sha1 = "de3e5f8961c88c787ee1368df849ac4413eca8d7";
+        url = "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.5.tgz";
+        sha512 = "09n3j4jsfl2lq3gj65qwn5b3lvzb624lrb8m14h81ls9cw59vvm8436gm5zwaqxf6y1zrfwbrsmizsq48jw1s3qj9zhpjp438735bdl";
       };
     };
-    "progress-1.1.8" = {
-      name = "progress";
-      packageName = "progress";
-      version = "1.1.8";
+    "rechoir-0.6.2" = {
+      name = "rechoir";
+      packageName = "rechoir";
+      version = "0.6.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/progress/-/progress-1.1.8.tgz";
-        sha1 = "e260c78f6161cdd9b0e56cc3e0a85de17c7a57be";
+        url = "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz";
+        sha1 = "85204b54dba82d5742e28c96756ef43af50e3384";
       };
     };
     "request-2.36.0" = {
@@ -2065,6 +2011,15 @@ let
         sha1 = "28c6c04262c7b9ffdd21b9255374517ee6d943f5";
       };
     };
+    "request-2.81.0" = {
+      name = "request";
+      packageName = "request";
+      version = "2.81.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/request/-/request-2.81.0.tgz";
+        sha1 = "c6928946a0e06c5f8d6f8a9333469ffda46298a0";
+      };
+    };
     "request-progress-0.3.1" = {
       name = "request-progress";
       packageName = "request-progress";
@@ -2074,6 +2029,24 @@ let
         sha1 = "0721c105d8a96ac6b2ce8b2c89ae2d5ecfcf6b3a";
       };
     };
+    "resolve-1.1.7" = {
+      name = "resolve";
+      packageName = "resolve";
+      version = "1.1.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz";
+        sha1 = "203114d82ad2c5ed9e8e0411b3932875e889e97b";
+      };
+    };
+    "resolve-1.5.0" = {
+      name = "resolve";
+      packageName = "resolve";
+      version = "1.5.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/resolve/-/resolve-1.5.0.tgz";
+        sha512 = "25scf9zkhf5yc9x3d7mfq2im5vyxmq3ih939na6jzblal7mgfcijmadl2maz501mkccykj714gvdhhmlzi86hbk7k03r9ipnwd142l6";
+      };
+    };
     "rimraf-2.2.8" = {
       name = "rimraf";
       packageName = "rimraf";
@@ -2083,283 +2056,283 @@ let
         sha1 = "e439be2aaee327321952730f99a8929e4fc50582";
       };
     };
-    "which-1.0.9" = {
-      name = "which";
-      packageName = "which";
-      version = "1.0.9";
+    "ripemd160-2.0.1" = {
+      name = "ripemd160";
+      packageName = "ripemd160";
+      version = "2.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/which/-/which-1.0.9.tgz";
-        sha1 = "460c1da0f810103d0321a9b633af9e575e64486f";
+        url = "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.1.tgz";
+        sha1 = "0f4584295c53a3628af7e6d79aca21ce57d1c6e7";
       };
     };
-    "config-chain-1.1.11" = {
-      name = "config-chain";
-      packageName = "config-chain";
-      version = "1.1.11";
+    "safe-buffer-5.1.1" = {
+      name = "safe-buffer";
+      packageName = "safe-buffer";
+      version = "5.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/config-chain/-/config-chain-1.1.11.tgz";
-        sha1 = "aba09747dfbe4c3e70e766a6e41586e1859fc6f2";
+        url = "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz";
+        sha512 = "1p28rllll1w65yzq5azi4izx962399xdsdlfbaynn7vmp981hiss05jhiy9hm7sbbfk3b4dhlcv0zy07fc59mnc07hdv6wcgqkcvawh";
       };
     };
-    "inherits-1.0.2" = {
-      name = "inherits";
-      packageName = "inherits";
-      version = "1.0.2";
+    "samsam-1.3.0" = {
+      name = "samsam";
+      packageName = "samsam";
+      version = "1.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/inherits/-/inherits-1.0.2.tgz";
-        sha1 = "ca4309dadee6b54cc0b8d247e8d7c7a0975bdc9b";
+        url = "https://registry.npmjs.org/samsam/-/samsam-1.3.0.tgz";
+        sha512 = "1p5ac86nbwsyxsaqbfa288xk904a0lfc8fph9h2nflvgmz5ilwyprs12lb6as5n6k8q24y541sr4bvv7dy3pl1d2nnm6lpw7xh0hz6l";
       };
     };
-    "once-1.1.1" = {
-      name = "once";
-      packageName = "once";
-      version = "1.1.1";
+    "semver-1.1.4" = {
+      name = "semver";
+      packageName = "semver";
+      version = "1.1.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/once/-/once-1.1.1.tgz";
-        sha1 = "9db574933ccb08c3a7614d154032c09ea6f339e7";
+        url = "https://registry.npmjs.org/semver/-/semver-1.1.4.tgz";
+        sha1 = "2e5a4e72bab03472cc97f72753b4508912ef5540";
       };
     };
-    "osenv-0.0.3" = {
-      name = "osenv";
-      packageName = "osenv";
-      version = "0.0.3";
+    "sha.js-2.4.10" = {
+      name = "sha.js";
+      packageName = "sha.js";
+      version = "2.4.10";
       src = fetchurl {
-        url = "https://registry.npmjs.org/osenv/-/osenv-0.0.3.tgz";
-        sha1 = "cd6ad8ddb290915ad9e22765576025d411f29cb6";
+        url = "https://registry.npmjs.org/sha.js/-/sha.js-2.4.10.tgz";
+        sha512 = "2lfna0mg4mzdki4p3q29rsgywbghvy6f6jy6b61zj68d2d936wfqjgqpsdjchfcqkiim53qknpcnq9iiafyidfrw154qf75a2n2cz5y";
       };
     };
-    "nopt-2.2.1" = {
-      name = "nopt";
-      packageName = "nopt";
-      version = "2.2.1";
+    "shasum-1.0.2" = {
+      name = "shasum";
+      packageName = "shasum";
+      version = "1.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/nopt/-/nopt-2.2.1.tgz";
-        sha1 = "2aa09b7d1768487b3b89a9c5aa52335bff0baea7";
+        url = "https://registry.npmjs.org/shasum/-/shasum-1.0.2.tgz";
+        sha1 = "e7012310d8f417f4deb5712150e5678b87ae565f";
       };
     };
-    "semver-1.1.4" = {
-      name = "semver";
-      packageName = "semver";
-      version = "1.1.4";
+    "shell-quote-1.6.1" = {
+      name = "shell-quote";
+      packageName = "shell-quote";
+      version = "1.6.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/semver/-/semver-1.1.4.tgz";
-        sha1 = "2e5a4e72bab03472cc97f72753b4508912ef5540";
+        url = "https://registry.npmjs.org/shell-quote/-/shell-quote-1.6.1.tgz";
+        sha1 = "f4781949cce402697127430ea3b3c5476f481767";
       };
     };
-    "ini-1.1.0" = {
-      name = "ini";
-      packageName = "ini";
-      version = "1.1.0";
+    "shelljs-0.3.0" = {
+      name = "shelljs";
+      packageName = "shelljs";
+      version = "0.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ini/-/ini-1.1.0.tgz";
-        sha1 = "4e808c2ce144c6c1788918e034d6797bc6cf6281";
+        url = "https://registry.npmjs.org/shelljs/-/shelljs-0.3.0.tgz";
+        sha1 = "3596e6307a781544f591f37da618360f31db57b1";
       };
     };
-    "proto-list-1.2.4" = {
-      name = "proto-list";
-      packageName = "proto-list";
-      version = "1.2.4";
+    "should-equal-2.0.0" = {
+      name = "should-equal";
+      packageName = "should-equal";
+      version = "2.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz";
-        sha1 = "212d5bfe1318306a420f6402b8e26ff39647a849";
+        url = "https://registry.npmjs.org/should-equal/-/should-equal-2.0.0.tgz";
+        sha512 = "16cp397231rnlk9vc4i8jggycqwxpgrn3pm9l2bf5y02ln4gawz41z2ycqnw9h1rkm7x8zf5qy5d7jv7ll0c634p62fpxfar96gmzb4";
       };
     };
-    "ini-1.3.4" = {
-      name = "ini";
-      packageName = "ini";
-      version = "1.3.4";
+    "should-format-3.0.3" = {
+      name = "should-format";
+      packageName = "should-format";
+      version = "3.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ini/-/ini-1.3.4.tgz";
-        sha1 = "0537cb79daf59b59a1a517dff706c86ec039162e";
+        url = "https://registry.npmjs.org/should-format/-/should-format-3.0.3.tgz";
+        sha1 = "9bfc8f74fa39205c53d38c34d717303e277124f1";
       };
     };
-    "abbrev-1.1.0" = {
-      name = "abbrev";
-      packageName = "abbrev";
-      version = "1.1.0";
+    "should-type-1.4.0" = {
+      name = "should-type";
+      packageName = "should-type";
+      version = "1.4.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/abbrev/-/abbrev-1.1.0.tgz";
-        sha1 = "d0554c2256636e2f56e7c2e5ad183f859428d81f";
+        url = "https://registry.npmjs.org/should-type/-/should-type-1.4.0.tgz";
+        sha1 = "0756d8ce846dfd09843a6947719dfa0d4cff5cf3";
       };
     };
-    "qs-0.6.6" = {
-      name = "qs";
-      packageName = "qs";
-      version = "0.6.6";
+    "should-type-adaptors-1.1.0" = {
+      name = "should-type-adaptors";
+      packageName = "should-type-adaptors";
+      version = "1.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/qs/-/qs-0.6.6.tgz";
-        sha1 = "6e015098ff51968b8a3c819001d5f2c89bc4b107";
+        url = "https://registry.npmjs.org/should-type-adaptors/-/should-type-adaptors-1.1.0.tgz";
+        sha512 = "1y2b2dwphk185za2spffsr383na1pdjl2bf8lwv6yzaix1q9px92brp5i0m670kz5lb9kdlxkp61vq53v7mcxjadhgfjdz7h9v223i4";
       };
     };
-    "mime-1.2.11" = {
-      name = "mime";
-      packageName = "mime";
-      version = "1.2.11";
+    "should-util-1.0.0" = {
+      name = "should-util";
+      packageName = "should-util";
+      version = "1.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mime/-/mime-1.2.11.tgz";
-        sha1 = "58203eed86e3a5ef17aed2b7d9ebd47f0a60dd10";
+        url = "https://registry.npmjs.org/should-util/-/should-util-1.0.0.tgz";
+        sha1 = "c98cda374aa6b190df8ba87c9889c2b4db620063";
       };
     };
-    "forever-agent-0.5.2" = {
-      name = "forever-agent";
-      packageName = "forever-agent";
-      version = "0.5.2";
+    "sntp-0.2.4" = {
+      name = "sntp";
+      packageName = "sntp";
+      version = "0.2.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/forever-agent/-/forever-agent-0.5.2.tgz";
-        sha1 = "6d0e09c4921f94a27f63d3b49c5feff1ea4c5130";
+        url = "https://registry.npmjs.org/sntp/-/sntp-0.2.4.tgz";
+        sha1 = "fb885f18b0f3aad189f824862536bceeec750900";
       };
     };
-    "node-uuid-1.4.8" = {
-      name = "node-uuid";
-      packageName = "node-uuid";
-      version = "1.4.8";
+    "sntp-1.0.9" = {
+      name = "sntp";
+      packageName = "sntp";
+      version = "1.0.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/node-uuid/-/node-uuid-1.4.8.tgz";
-        sha1 = "b040eb0923968afabf8d32fb1f17f1167fdab907";
+        url = "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz";
+        sha1 = "6541184cc90aeea6c6e7b35e2659082443c66198";
       };
     };
-    "form-data-0.1.4" = {
-      name = "form-data";
-      packageName = "form-data";
-      version = "0.1.4";
+    "source-map-0.5.7" = {
+      name = "source-map";
+      packageName = "source-map";
+      version = "0.5.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/form-data/-/form-data-0.1.4.tgz";
-        sha1 = "91abd788aba9702b1aabfa8bc01031a2ac9e3b12";
+        url = "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz";
+        sha1 = "8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc";
       };
     };
-    "tunnel-agent-0.4.3" = {
-      name = "tunnel-agent";
-      packageName = "tunnel-agent";
-      version = "0.4.3";
+    "source-map-0.6.1" = {
+      name = "source-map";
+      packageName = "source-map";
+      version = "0.6.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.3.tgz";
-        sha1 = "6373db76909fe570e08d73583365ed828a74eeeb";
+        url = "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz";
+        sha512 = "3p7hw8p69ikj5mwapmqkacsjnbvdfk5ylyamjg9x5izkl717xvzj0vk3fnmx1n4pf54h5rs7r8ig5kk4jv4ycqqj0hv75cnx6k1lf2j";
       };
     };
-    "http-signature-0.10.1" = {
-      name = "http-signature";
-      packageName = "http-signature";
-      version = "0.10.1";
+    "sshpk-1.14.1" = {
+      name = "sshpk";
+      packageName = "sshpk";
+      version = "1.14.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/http-signature/-/http-signature-0.10.1.tgz";
-        sha1 = "4fbdac132559aa8323121e540779c0a012b27e66";
+        url = "https://registry.npmjs.org/sshpk/-/sshpk-1.14.1.tgz";
+        sha1 = "130f5975eddad963f1d56f92b9ac6c51fa9f83eb";
       };
     };
-    "oauth-sign-0.3.0" = {
-      name = "oauth-sign";
-      packageName = "oauth-sign";
-      version = "0.3.0";
+    "stream-browserify-2.0.1" = {
+      name = "stream-browserify";
+      packageName = "stream-browserify";
+      version = "2.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.3.0.tgz";
-        sha1 = "cb540f93bb2b22a7d5941691a288d60e8ea9386e";
+        url = "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.1.tgz";
+        sha1 = "66266ee5f9bdb9940a4e4514cafb43bb71e5c9db";
       };
     };
-    "hawk-1.0.0" = {
-      name = "hawk";
-      packageName = "hawk";
-      version = "1.0.0";
+    "stream-combiner2-1.1.1" = {
+      name = "stream-combiner2";
+      packageName = "stream-combiner2";
+      version = "1.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/hawk/-/hawk-1.0.0.tgz";
-        sha1 = "b90bb169807285411da7ffcb8dd2598502d3b52d";
+        url = "https://registry.npmjs.org/stream-combiner2/-/stream-combiner2-1.1.1.tgz";
+        sha1 = "fb4d8a1420ea362764e21ad4780397bebcb41cbe";
       };
     };
-    "aws-sign2-0.5.0" = {
-      name = "aws-sign2";
-      packageName = "aws-sign2";
-      version = "0.5.0";
+    "stream-http-2.8.0" = {
+      name = "stream-http";
+      packageName = "stream-http";
+      version = "2.8.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.5.0.tgz";
-        sha1 = "c57103f7a17fc037f02d7c2e64b602ea223f7d63";
+        url = "https://registry.npmjs.org/stream-http/-/stream-http-2.8.0.tgz";
+        sha512 = "2ghzil78wsr29z8p1883i0vwx9gpsspha4wvdbpvqzbknrfiavwis010i5a7vy0xx8n486f6kwmjxsk3mg1w4bjy4whvizriz28b4xi";
       };
     };
-    "combined-stream-0.0.7" = {
-      name = "combined-stream";
-      packageName = "combined-stream";
-      version = "0.0.7";
+    "stream-splicer-2.0.0" = {
+      name = "stream-splicer";
+      packageName = "stream-splicer";
+      version = "2.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/combined-stream/-/combined-stream-0.0.7.tgz";
-        sha1 = "0137e657baa5a7541c57ac37ac5fc07d73b4dc1f";
+        url = "https://registry.npmjs.org/stream-splicer/-/stream-splicer-2.0.0.tgz";
+        sha1 = "1b63be438a133e4b671cc1935197600175910d83";
       };
     };
-    "async-0.9.2" = {
-      name = "async";
-      packageName = "async";
-      version = "0.9.2";
+    "string_decoder-0.10.31" = {
+      name = "string_decoder";
+      packageName = "string_decoder";
+      version = "0.10.31";
       src = fetchurl {
-        url = "https://registry.npmjs.org/async/-/async-0.9.2.tgz";
-        sha1 = "aea74d5e61c1f899613bf64bda66d4c78f2fd17d";
+        url = "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz";
+        sha1 = "62e203bc41766c6c28c9fc84301dab1c5310fa94";
       };
     };
-    "delayed-stream-0.0.5" = {
-      name = "delayed-stream";
-      packageName = "delayed-stream";
-      version = "0.0.5";
+    "string_decoder-1.0.3" = {
+      name = "string_decoder";
+      packageName = "string_decoder";
+      version = "1.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/delayed-stream/-/delayed-stream-0.0.5.tgz";
-        sha1 = "d4b1f43a93e8296dfe02694f4680bc37a313c73f";
+        url = "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz";
+        sha512 = "22vw5mmwlyblqc2zyqwl39wyhyahhpiyknim8iz5fk6xi002x777gkswiq8fh297djs5ii4pgrys57wq33hr5zf3xfd0d7kjxkzl0g0";
       };
     };
-    "assert-plus-0.1.5" = {
-      name = "assert-plus";
-      packageName = "assert-plus";
-      version = "0.1.5";
+    "stringstream-0.0.5" = {
+      name = "stringstream";
+      packageName = "stringstream";
+      version = "0.0.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/assert-plus/-/assert-plus-0.1.5.tgz";
-        sha1 = "ee74009413002d84cec7219c6ac811812e723160";
+        url = "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz";
+        sha1 = "4e484cd4de5a0bbbee18e46307710a8a81621878";
       };
     };
-    "asn1-0.1.11" = {
-      name = "asn1";
-      packageName = "asn1";
-      version = "0.1.11";
+    "strip-json-comments-1.0.4" = {
+      name = "strip-json-comments";
+      packageName = "strip-json-comments";
+      version = "1.0.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/asn1/-/asn1-0.1.11.tgz";
-        sha1 = "559be18376d08a4ec4dbe80877d27818639b2df7";
+        url = "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-1.0.4.tgz";
+        sha1 = "1e15fbcac97d3ee99bf2d73b4c656b082bbafb91";
       };
     };
-    "ctype-0.5.3" = {
-      name = "ctype";
-      packageName = "ctype";
-      version = "0.5.3";
+    "subarg-1.0.0" = {
+      name = "subarg";
+      packageName = "subarg";
+      version = "1.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ctype/-/ctype-0.5.3.tgz";
-        sha1 = "82c18c2461f74114ef16c135224ad0b9144ca12f";
+        url = "https://registry.npmjs.org/subarg/-/subarg-1.0.0.tgz";
+        sha1 = "f62cf17581e996b48fc965699f54c06ae268b8d2";
       };
     };
-    "hoek-0.9.1" = {
-      name = "hoek";
-      packageName = "hoek";
-      version = "0.9.1";
+    "supports-color-4.4.0" = {
+      name = "supports-color";
+      packageName = "supports-color";
+      version = "4.4.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/hoek/-/hoek-0.9.1.tgz";
-        sha1 = "3d322462badf07716ea7eb85baf88079cddce505";
+        url = "https://registry.npmjs.org/supports-color/-/supports-color-4.4.0.tgz";
+        sha512 = "1flwwfdd7gg94xrc0b2ard3qjx4cpy600q49gx43y8pzvs7j56q78bjhv8mk18vgbggr4fd11jda8ck5cdrkc5jcjs04nlp7kwbg85c";
       };
     };
-    "boom-0.4.2" = {
-      name = "boom";
-      packageName = "boom";
-      version = "0.4.2";
+    "supports-color-5.3.0" = {
+      name = "supports-color";
+      packageName = "supports-color";
+      version = "5.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/boom/-/boom-0.4.2.tgz";
-        sha1 = "7a636e9ded4efcefb19cef4947a3c67dfaee911b";
+        url = "https://registry.npmjs.org/supports-color/-/supports-color-5.3.0.tgz";
+        sha512 = "0v9skvg8c5hgqfsm98p7d7hisk11syjdvl3nxid3ik572hbjwv4vyzws7q0n1yz8mvb1asbk00838fi09hyfskrng54icn8nbag98yi";
       };
     };
-    "cryptiles-0.2.2" = {
-      name = "cryptiles";
-      packageName = "cryptiles";
-      version = "0.2.2";
+    "syntax-error-1.4.0" = {
+      name = "syntax-error";
+      packageName = "syntax-error";
+      version = "1.4.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/cryptiles/-/cryptiles-0.2.2.tgz";
-        sha1 = "ed91ff1f17ad13d3748288594f8a48a0d26f325c";
+        url = "https://registry.npmjs.org/syntax-error/-/syntax-error-1.4.0.tgz";
+        sha512 = "3psid3r9b0gmnkf2ggydlw1nrcnyqa78smdihifdvff5vmlq92v8qyd6zfi94wczhllcyxl78zbc47cvz3h6xpa9v372xp6msxybwv0";
       };
     };
-    "sntp-0.2.4" = {
-      name = "sntp";
-      packageName = "sntp";
-      version = "0.2.4";
+    "text-encoding-0.6.4" = {
+      name = "text-encoding";
+      packageName = "text-encoding";
+      version = "0.6.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/sntp/-/sntp-0.2.4.tgz";
-        sha1 = "fb885f18b0f3aad189f824862536bceeec750900";
+        url = "https://registry.npmjs.org/text-encoding/-/text-encoding-0.6.4.tgz";
+        sha1 = "e399a982257a276dae428bb92845cb71bdc26d19";
       };
     };
     "throttleit-0.0.2" = {
@@ -2371,265 +2344,193 @@ let
         sha1 = "cfedf88e60c00dd9697b61fdd2a8343a9b680eaf";
       };
     };
-    "should-equal-1.0.1" = {
-      name = "should-equal";
-      packageName = "should-equal";
-      version = "1.0.1";
+    "through-2.3.8" = {
+      name = "through";
+      packageName = "through";
+      version = "2.3.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/should-equal/-/should-equal-1.0.1.tgz";
-        sha1 = "0b6e9516f2601a9fb0bb2dcc369afa1c7e200af7";
+        url = "https://registry.npmjs.org/through/-/through-2.3.8.tgz";
+        sha1 = "0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5";
       };
     };
-    "should-format-3.0.3" = {
-      name = "should-format";
-      packageName = "should-format";
-      version = "3.0.3";
+    "through2-2.0.3" = {
+      name = "through2";
+      packageName = "through2";
+      version = "2.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/should-format/-/should-format-3.0.3.tgz";
-        sha1 = "9bfc8f74fa39205c53d38c34d717303e277124f1";
+        url = "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz";
+        sha1 = "0004569b37c7c74ba39c43f3ced78d1ad94140be";
       };
     };
-    "should-type-1.4.0" = {
-      name = "should-type";
-      packageName = "should-type";
-      version = "1.4.0";
+    "timers-browserify-1.4.2" = {
+      name = "timers-browserify";
+      packageName = "timers-browserify";
+      version = "1.4.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/should-type/-/should-type-1.4.0.tgz";
-        sha1 = "0756d8ce846dfd09843a6947719dfa0d4cff5cf3";
+        url = "https://registry.npmjs.org/timers-browserify/-/timers-browserify-1.4.2.tgz";
+        sha1 = "c9c58b575be8407375cb5e2462dacee74359f41d";
       };
     };
-    "should-type-adaptors-1.0.1" = {
-      name = "should-type-adaptors";
-      packageName = "should-type-adaptors";
+    "to-arraybuffer-1.0.1" = {
+      name = "to-arraybuffer";
+      packageName = "to-arraybuffer";
       version = "1.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/should-type-adaptors/-/should-type-adaptors-1.0.1.tgz";
-        sha1 = "efe5553cdf68cff66e5c5f51b712dc351c77beaa";
-      };
-    };
-    "should-util-1.0.0" = {
-      name = "should-util";
-      packageName = "should-util";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/should-util/-/should-util-1.0.0.tgz";
-        sha1 = "c98cda374aa6b190df8ba87c9889c2b4db620063";
-      };
-    };
-    "diff-3.2.0" = {
-      name = "diff";
-      packageName = "diff";
-      version = "3.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/diff/-/diff-3.2.0.tgz";
-        sha1 = "c9ce393a4b7cbd0b058a725c93df299027868ff9";
-      };
-    };
-    "formatio-1.2.0" = {
-      name = "formatio";
-      packageName = "formatio";
-      version = "1.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/formatio/-/formatio-1.2.0.tgz";
-        sha1 = "f3b2167d9068c4698a8d51f4f760a39a54d818eb";
+        url = "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz";
+        sha1 = "7d229b1fcc637e466ca081180836a7aabff83f43";
       };
     };
-    "lolex-1.6.0" = {
-      name = "lolex";
-      packageName = "lolex";
-      version = "1.6.0";
+    "tough-cookie-2.3.4" = {
+      name = "tough-cookie";
+      packageName = "tough-cookie";
+      version = "2.3.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/lolex/-/lolex-1.6.0.tgz";
-        sha1 = "3a9a0283452a47d7439e72731b9e07d7386e49f6";
+        url = "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.4.tgz";
+        sha512 = "0ncm6j3cjq1f26mzjf04k9bkw1b08w53s4qa3a11c1bdj4pgnqv1422c1xs5jyy6y1psppjx52fhagq5zkjkgrcpdkxcdiry96r77jd";
       };
     };
-    "native-promise-only-0.8.1" = {
-      name = "native-promise-only";
-      packageName = "native-promise-only";
-      version = "0.8.1";
+    "tty-browserify-0.0.1" = {
+      name = "tty-browserify";
+      packageName = "tty-browserify";
+      version = "0.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/native-promise-only/-/native-promise-only-0.8.1.tgz";
-        sha1 = "20a318c30cb45f71fe7adfbf7b21c99c1472ef11";
+        url = "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.1.tgz";
+        sha512 = "33h4i99m8bj5vqm3hmvfhi19whavny64ic0mr4yl8s14riw077ballp49zbv3kzy8615pad3gfcy7fxa86za1q41biqpmdwn8xxlx0b";
       };
     };
-    "path-to-regexp-1.7.0" = {
-      name = "path-to-regexp";
-      packageName = "path-to-regexp";
-      version = "1.7.0";
+    "tunnel-agent-0.4.3" = {
+      name = "tunnel-agent";
+      packageName = "tunnel-agent";
+      version = "0.4.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.7.0.tgz";
-        sha1 = "59fde0f435badacba103a84e9d3bc64e96b9937d";
+        url = "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.3.tgz";
+        sha1 = "6373db76909fe570e08d73583365ed828a74eeeb";
       };
     };
-    "samsam-1.2.1" = {
-      name = "samsam";
-      packageName = "samsam";
-      version = "1.2.1";
+    "tunnel-agent-0.6.0" = {
+      name = "tunnel-agent";
+      packageName = "tunnel-agent";
+      version = "0.6.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/samsam/-/samsam-1.2.1.tgz";
-        sha1 = "edd39093a3184370cb859243b2bdf255e7d8ea67";
+        url = "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz";
+        sha1 = "27a5dea06b36b04a0a9966774b290868f0fc40fd";
       };
     };
-    "text-encoding-0.6.4" = {
-      name = "text-encoding";
-      packageName = "text-encoding";
-      version = "0.6.4";
+    "tweetnacl-0.14.5" = {
+      name = "tweetnacl";
+      packageName = "tweetnacl";
+      version = "0.14.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/text-encoding/-/text-encoding-0.6.4.tgz";
-        sha1 = "e399a982257a276dae428bb92845cb71bdc26d19";
+        url = "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz";
+        sha1 = "5ae68177f192d4456269d108afa93ff8743f4f64";
       };
     };
-    "type-detect-4.0.0" = {
+    "type-detect-4.0.8" = {
       name = "type-detect";
       packageName = "type-detect";
-      version = "4.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/type-detect/-/type-detect-4.0.0.tgz";
-        sha1 = "62053883542a321f2f7b25746dc696478b18ff6b";
-      };
-    };
-    "cli-1.0.1" = {
-      name = "cli";
-      packageName = "cli";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/cli/-/cli-1.0.1.tgz";
-        sha1 = "22817534f24bfa4950c34d532d48ecbc621b8c14";
-      };
-    };
-    "exit-0.1.2" = {
-      name = "exit";
-      packageName = "exit";
-      version = "0.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz";
-        sha1 = "0632638f8d877cc82107d30a0fff1a17cba1cd0c";
-      };
-    };
-    "htmlparser2-3.8.3" = {
-      name = "htmlparser2";
-      packageName = "htmlparser2";
-      version = "3.8.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.8.3.tgz";
-        sha1 = "996c28b191516a8be86501a7d79757e5c70c1068";
-      };
-    };
-    "shelljs-0.3.0" = {
-      name = "shelljs";
-      packageName = "shelljs";
-      version = "0.3.0";
+      version = "4.0.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/shelljs/-/shelljs-0.3.0.tgz";
-        sha1 = "3596e6307a781544f591f37da618360f31db57b1";
+        url = "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz";
+        sha512 = "3z3kf4kgd3czn50a158v1k2l61lpbznrbk8xvh2pdsfsrcsda3271427fzmp1r7awnvvzrhzclfm03cpv671rdlqyz56xpmh6cgzyni";
       };
     };
-    "strip-json-comments-1.0.4" = {
-      name = "strip-json-comments";
-      packageName = "strip-json-comments";
-      version = "1.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-1.0.4.tgz";
-        sha1 = "1e15fbcac97d3ee99bf2d73b4c656b082bbafb91";
-      };
-    };
-    "lodash-3.7.0" = {
-      name = "lodash";
-      packageName = "lodash";
-      version = "3.7.0";
+    "typedarray-0.0.6" = {
+      name = "typedarray";
+      packageName = "typedarray";
+      version = "0.0.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/lodash/-/lodash-3.7.0.tgz";
-        sha1 = "3678bd8ab995057c07ade836ed2ef087da811d45";
+        url = "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz";
+        sha1 = "867ac74e3864187b1d3d47d996a78ec5c8830777";
       };
     };
-    "domhandler-2.3.0" = {
-      name = "domhandler";
-      packageName = "domhandler";
-      version = "2.3.0";
+    "umd-3.0.2" = {
+      name = "umd";
+      packageName = "umd";
+      version = "3.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/domhandler/-/domhandler-2.3.0.tgz";
-        sha1 = "2de59a0822d5027fabff6f032c2b25a2a8abe738";
+        url = "https://registry.npmjs.org/umd/-/umd-3.0.2.tgz";
+        sha512 = "0wgy2hbi34ncj74m0vw30yjcrw0wg3m465r28y458kvvkp7lsmm3klki0f79slyspfnr4c3l0qzcmpggcybk4d6lcb05kh0aj5c2rx6";
       };
     };
-    "domutils-1.5.1" = {
-      name = "domutils";
-      packageName = "domutils";
-      version = "1.5.1";
+    "url-0.11.0" = {
+      name = "url";
+      packageName = "url";
+      version = "0.11.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz";
-        sha1 = "dcd8488a26f563d61079e48c9f7b7e32373682cf";
+        url = "https://registry.npmjs.org/url/-/url-0.11.0.tgz";
+        sha1 = "3838e97cfc60521eb73c525a8e55bfdd9e2e28f1";
       };
     };
-    "domelementtype-1.3.0" = {
-      name = "domelementtype";
-      packageName = "domelementtype";
-      version = "1.3.0";
+    "util-0.10.3" = {
+      name = "util";
+      packageName = "util";
+      version = "0.10.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.0.tgz";
-        sha1 = "b17aed82e8ab59e52dd9c19b1756e0fc187204c2";
+        url = "https://registry.npmjs.org/util/-/util-0.10.3.tgz";
+        sha1 = "7afb1afe50805246489e3db7fe0ed379336ac0f9";
       };
     };
-    "readable-stream-1.1.14" = {
-      name = "readable-stream";
-      packageName = "readable-stream";
-      version = "1.1.14";
+    "util-deprecate-1.0.2" = {
+      name = "util-deprecate";
+      packageName = "util-deprecate";
+      version = "1.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz";
-        sha1 = "7cf4c54ef648e3813084c636dd2079e166c081d9";
+        url = "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz";
+        sha1 = "450d4dc9fa70de732762fbd2d4a28981419a0ccf";
       };
     };
-    "entities-1.0.0" = {
-      name = "entities";
-      packageName = "entities";
-      version = "1.0.0";
+    "uuid-3.2.1" = {
+      name = "uuid";
+      packageName = "uuid";
+      version = "3.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/entities/-/entities-1.0.0.tgz";
-        sha1 = "b2987aa3821347fcde642b24fdfc9e4fb712bf26";
+        url = "https://registry.npmjs.org/uuid/-/uuid-3.2.1.tgz";
+        sha512 = "0843vl1c974n8kw5kn0kvhvhwk8y8jydr0xkwwl2963xxmkw4ingk6xj9c8m48jw2i95giglxzq5aw5v5mij9kv7fzln8pxav1cr6cd";
       };
     };
-    "dom-serializer-0.1.0" = {
-      name = "dom-serializer";
-      packageName = "dom-serializer";
-      version = "0.1.0";
+    "verror-1.10.0" = {
+      name = "verror";
+      packageName = "verror";
+      version = "1.10.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.0.tgz";
-        sha1 = "073c697546ce0780ce23be4a28e293e40bc30c82";
+        url = "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz";
+        sha1 = "3a105ca17053af55d6e270c1f8288682e18da400";
       };
     };
-    "domelementtype-1.1.3" = {
-      name = "domelementtype";
-      packageName = "domelementtype";
-      version = "1.1.3";
+    "vm-browserify-0.0.4" = {
+      name = "vm-browserify";
+      packageName = "vm-browserify";
+      version = "0.0.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/domelementtype/-/domelementtype-1.1.3.tgz";
-        sha1 = "bd28773e2642881aec51544924299c5cd822185b";
+        url = "https://registry.npmjs.org/vm-browserify/-/vm-browserify-0.0.4.tgz";
+        sha1 = "5d7ea45bbef9e4a6ff65f95438e0a87c357d5a73";
       };
     };
-    "entities-1.1.1" = {
-      name = "entities";
-      packageName = "entities";
-      version = "1.1.1";
+    "which-1.0.9" = {
+      name = "which";
+      packageName = "which";
+      version = "1.0.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/entities/-/entities-1.1.1.tgz";
-        sha1 = "6e5c2d0a5621b5dadaecef80b90edfb5cd7772f0";
+        url = "https://registry.npmjs.org/which/-/which-1.0.9.tgz";
+        sha1 = "460c1da0f810103d0321a9b633af9e575e64486f";
       };
     };
-    "interpret-1.0.2" = {
-      name = "interpret";
-      packageName = "interpret";
+    "wrappy-1.0.2" = {
+      name = "wrappy";
+      packageName = "wrappy";
       version = "1.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/interpret/-/interpret-1.0.2.tgz";
-        sha1 = "f4f623f0bb7122f15f5717c8e254b8161b5c5b2d";
+        url = "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz";
+        sha1 = "b5243d8f3ec1aa35f1364605bc0d1036e30ab69f";
       };
     };
-    "rechoir-0.6.2" = {
-      name = "rechoir";
-      packageName = "rechoir";
-      version = "0.6.2";
+    "xtend-4.0.1" = {
+      name = "xtend";
+      packageName = "xtend";
+      version = "4.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz";
-        sha1 = "85204b54dba82d5742e28c96756ef43af50e3384";
+        url = "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz";
+        sha1 = "a5c6d532be656e23db820efb943a1f04998d63af";
       };
     };
   };
@@ -2638,341 +2539,185 @@ in
   marked = nodeEnv.buildNodePackage {
     name = "marked";
     packageName = "marked";
-    version = "0.3.6";
+    version = "0.3.17";
     src = fetchurl {
-      url = "https://registry.npmjs.org/marked/-/marked-0.3.6.tgz";
-      sha1 = "b2c6c618fccece4ef86c4fc6cb8a7cbf5aeda8d7";
+      url = "https://registry.npmjs.org/marked/-/marked-0.3.17.tgz";
+      sha512 = "2cw4hwy4hyxspppby5ww0sljhyg0nhlgy0aamqvf7nrhg4vyrgyp8ah52pz99rr8pvsjk3h9z9q8fhrlqaixw5kgk2si5yrr0v9n0pq";
     };
     buildInputs = globalBuildInputs;
     meta = {
       description = "A markdown parser built for speed";
-      homepage = https://github.com/chjj/marked;
+      homepage = https://github.com/markedjs/marked;
       license = "MIT";
     };
     production = true;
+    bypassCache = false;
   };
   browserify = nodeEnv.buildNodePackage {
     name = "browserify";
     packageName = "browserify";
-    version = "14.1.0";
+    version = "16.1.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/browserify/-/browserify-14.1.0.tgz";
-      sha1 = "0508cc1e7bf4c152312c2fa523e676c0b0b92311";
+      url = "https://registry.npmjs.org/browserify/-/browserify-16.1.1.tgz";
+      sha512 = "01ay1w7sndfvwjdc5n7sa9a4yzzrwdr8agj1655dz50f0g034scaqli9v1dngxasi8gk8gqvqcsqnmphvwkj1y6awlq1y5l6bbgc8c9";
     };
     dependencies = [
-      (sources."JSONStream-1.3.1" // {
-        dependencies = [
-          sources."jsonparse-1.3.0"
-          sources."through-2.3.8"
-        ];
-      })
+      sources."JSONStream-1.3.2"
+      sources."acorn-4.0.13"
+      sources."acorn-node-1.3.0"
+      sources."array-filter-0.0.1"
+      sources."array-map-0.0.0"
+      sources."array-reduce-0.0.0"
+      sources."asn1.js-4.10.1"
       sources."assert-1.4.1"
-      (sources."browser-pack-6.0.2" // {
-        dependencies = [
-          (sources."combine-source-map-0.7.2" // {
-            dependencies = [
-              sources."convert-source-map-1.1.3"
-              sources."inline-source-map-0.6.2"
-              sources."lodash.memoize-3.0.4"
-              sources."source-map-0.5.6"
-            ];
-          })
-          sources."umd-3.0.1"
-        ];
-      })
+      sources."astw-2.2.0"
+      sources."balanced-match-1.0.0"
+      sources."base64-js-1.2.3"
+      sources."bn.js-4.11.8"
+      sources."brace-expansion-1.1.11"
+      sources."brorand-1.1.0"
+      sources."browser-pack-6.0.4"
       (sources."browser-resolve-1.11.2" // {
         dependencies = [
           sources."resolve-1.1.7"
         ];
       })
-      (sources."browserify-zlib-0.1.4" // {
-        dependencies = [
-          sources."pako-0.2.9"
-        ];
-      })
-      (sources."buffer-5.0.5" // {
-        dependencies = [
-          sources."base64-js-1.2.0"
-          sources."ieee754-1.1.8"
-        ];
-      })
+      sources."browserify-aes-1.1.1"
+      sources."browserify-cipher-1.0.0"
+      sources."browserify-des-1.0.0"
+      sources."browserify-rsa-4.0.1"
+      sources."browserify-sign-4.0.4"
+      sources."browserify-zlib-0.2.0"
+      sources."buffer-5.1.0"
+      sources."buffer-xor-1.0.3"
+      sources."builtin-status-codes-3.0.0"
       sources."cached-path-relative-1.0.1"
-      (sources."concat-stream-1.5.2" // {
-        dependencies = [
-          sources."typedarray-0.0.6"
-          (sources."readable-stream-2.0.6" // {
-            dependencies = [
-              sources."core-util-is-1.0.2"
-              sources."isarray-1.0.0"
-              sources."process-nextick-args-1.0.7"
-              sources."util-deprecate-1.0.2"
-            ];
-          })
-        ];
-      })
-      (sources."console-browserify-1.1.0" // {
-        dependencies = [
-          sources."date-now-0.1.4"
-        ];
-      })
+      sources."cipher-base-1.0.4"
+      sources."combine-source-map-0.8.0"
+      sources."concat-map-0.0.1"
+      sources."concat-stream-1.6.1"
+      sources."console-browserify-1.1.0"
       sources."constants-browserify-1.0.0"
-      (sources."crypto-browserify-3.11.0" // {
+      sources."convert-source-map-1.1.3"
+      sources."core-util-is-1.0.2"
+      sources."create-ecdh-4.0.0"
+      sources."create-hash-1.1.3"
+      sources."create-hmac-1.1.6"
+      (sources."crypto-browserify-3.12.0" // {
         dependencies = [
-          (sources."browserify-cipher-1.0.0" // {
-            dependencies = [
-              (sources."browserify-aes-1.0.6" // {
-                dependencies = [
-                  sources."buffer-xor-1.0.3"
-                  sources."cipher-base-1.0.3"
-                ];
-              })
-              (sources."browserify-des-1.0.0" // {
-                dependencies = [
-                  sources."cipher-base-1.0.3"
-                  (sources."des.js-1.0.0" // {
-                    dependencies = [
-                      sources."minimalistic-assert-1.0.0"
-                    ];
-                  })
-                ];
-              })
-              sources."evp_bytestokey-1.0.0"
-            ];
-          })
-          (sources."browserify-sign-4.0.4" // {
-            dependencies = [
-              sources."bn.js-4.11.6"
-              sources."browserify-rsa-4.0.1"
-              (sources."elliptic-6.4.0" // {
-                dependencies = [
-                  sources."brorand-1.1.0"
-                  sources."hash.js-1.0.3"
-                  sources."hmac-drbg-1.0.0"
-                  sources."minimalistic-assert-1.0.0"
-                  sources."minimalistic-crypto-utils-1.0.1"
-                ];
-              })
-              (sources."parse-asn1-5.1.0" // {
-                dependencies = [
-                  (sources."asn1.js-4.9.1" // {
-                    dependencies = [
-                      sources."minimalistic-assert-1.0.0"
-                    ];
-                  })
-                  (sources."browserify-aes-1.0.6" // {
-                    dependencies = [
-                      sources."buffer-xor-1.0.3"
-                      sources."cipher-base-1.0.3"
-                    ];
-                  })
-                  sources."evp_bytestokey-1.0.0"
-                ];
-              })
-            ];
-          })
-          (sources."create-ecdh-4.0.0" // {
-            dependencies = [
-              sources."bn.js-4.11.6"
-              (sources."elliptic-6.4.0" // {
-                dependencies = [
-                  sources."brorand-1.1.0"
-                  sources."hash.js-1.0.3"
-                  sources."hmac-drbg-1.0.0"
-                  sources."minimalistic-assert-1.0.0"
-                  sources."minimalistic-crypto-utils-1.0.1"
-                ];
-              })
-            ];
-          })
-          (sources."create-hash-1.1.2" // {
-            dependencies = [
-              sources."cipher-base-1.0.3"
-              sources."ripemd160-1.0.1"
-              sources."sha.js-2.4.8"
-            ];
-          })
-          sources."create-hmac-1.1.4"
-          (sources."diffie-hellman-5.0.2" // {
-            dependencies = [
-              sources."bn.js-4.11.6"
-              (sources."miller-rabin-4.0.0" // {
-                dependencies = [
-                  sources."brorand-1.1.0"
-                ];
-              })
-            ];
-          })
-          sources."pbkdf2-3.0.9"
-          (sources."public-encrypt-4.0.0" // {
-            dependencies = [
-              sources."bn.js-4.11.6"
-              sources."browserify-rsa-4.0.1"
-              (sources."parse-asn1-5.1.0" // {
-                dependencies = [
-                  (sources."asn1.js-4.9.1" // {
-                    dependencies = [
-                      sources."minimalistic-assert-1.0.0"
-                    ];
-                  })
-                  (sources."browserify-aes-1.0.6" // {
-                    dependencies = [
-                      sources."buffer-xor-1.0.3"
-                      sources."cipher-base-1.0.3"
-                    ];
-                  })
-                  sources."evp_bytestokey-1.0.0"
-                ];
-              })
-            ];
-          })
-          sources."randombytes-2.0.3"
+          sources."hash-base-2.0.2"
         ];
       })
+      sources."date-now-0.1.4"
       sources."defined-1.0.0"
       sources."deps-sort-2.0.0"
-      sources."domain-browser-1.1.7"
+      sources."des.js-1.0.0"
+      sources."detective-5.1.0"
+      sources."diffie-hellman-5.0.2"
+      sources."domain-browser-1.2.0"
       sources."duplexer2-0.1.4"
-      sources."events-1.1.1"
-      (sources."glob-7.1.1" // {
-        dependencies = [
-          sources."fs.realpath-1.0.0"
-          (sources."inflight-1.0.6" // {
-            dependencies = [
-              sources."wrappy-1.0.2"
-            ];
-          })
-          (sources."minimatch-3.0.3" // {
-            dependencies = [
-              (sources."brace-expansion-1.1.6" // {
-                dependencies = [
-                  sources."balanced-match-0.4.2"
-                  sources."concat-map-0.0.1"
-                ];
-              })
-            ];
-          })
-          (sources."once-1.4.0" // {
-            dependencies = [
-              sources."wrappy-1.0.2"
-            ];
-          })
-          sources."path-is-absolute-1.0.1"
-        ];
-      })
-      (sources."has-1.0.1" // {
-        dependencies = [
-          sources."function-bind-1.1.0"
-        ];
-      })
+      sources."elliptic-6.4.0"
+      sources."events-2.0.0"
+      sources."evp_bytestokey-1.0.3"
+      sources."fs.realpath-1.0.0"
+      sources."function-bind-1.1.1"
+      sources."glob-7.1.2"
+      sources."has-1.0.1"
+      sources."hash-base-3.0.4"
+      sources."hash.js-1.1.3"
+      sources."hmac-drbg-1.0.1"
       sources."htmlescape-1.1.1"
-      sources."https-browserify-0.0.1"
+      sources."https-browserify-1.0.0"
+      sources."ieee754-1.1.8"
+      sources."indexof-0.0.1"
+      sources."inflight-1.0.6"
       sources."inherits-2.0.3"
-      (sources."insert-module-globals-7.0.1" // {
+      sources."inline-source-map-0.6.2"
+      (sources."insert-module-globals-7.0.2" // {
         dependencies = [
-          (sources."combine-source-map-0.7.2" // {
-            dependencies = [
-              sources."convert-source-map-1.1.3"
-              sources."inline-source-map-0.6.2"
-              sources."lodash.memoize-3.0.4"
-              sources."source-map-0.5.6"
-            ];
-          })
-          sources."is-buffer-1.1.5"
-          (sources."lexical-scope-1.2.0" // {
-            dependencies = [
-              (sources."astw-2.2.0" // {
-                dependencies = [
-                  sources."acorn-4.0.11"
-                ];
-              })
-            ];
-          })
+          sources."combine-source-map-0.7.2"
+          sources."concat-stream-1.5.2"
+          sources."readable-stream-2.0.6"
+          sources."string_decoder-0.10.31"
         ];
       })
+      sources."is-buffer-1.1.6"
+      sources."isarray-1.0.0"
+      sources."json-stable-stringify-0.0.1"
+      sources."jsonify-0.0.0"
+      sources."jsonparse-1.3.1"
       (sources."labeled-stream-splicer-2.0.0" // {
         dependencies = [
           sources."isarray-0.0.1"
-          sources."stream-splicer-2.0.0"
         ];
       })
-      (sources."module-deps-4.1.1" // {
+      sources."lexical-scope-1.2.0"
+      sources."lodash.memoize-3.0.4"
+      sources."md5.js-1.3.4"
+      sources."miller-rabin-4.0.1"
+      sources."minimalistic-assert-1.0.0"
+      sources."minimalistic-crypto-utils-1.0.1"
+      sources."minimatch-3.0.4"
+      sources."minimist-0.0.8"
+      sources."mkdirp-0.5.1"
+      (sources."module-deps-6.0.0" // {
         dependencies = [
-          (sources."detective-4.5.0" // {
-            dependencies = [
-              sources."acorn-4.0.11"
-            ];
-          })
-          sources."stream-combiner2-1.1.1"
-        ];
-      })
-      sources."os-browserify-0.1.2"
-      (sources."parents-1.0.1" // {
-        dependencies = [
-          sources."path-platform-0.11.15"
+          sources."acorn-5.5.3"
+          sources."minimist-1.2.0"
         ];
       })
+      sources."once-1.4.0"
+      sources."os-browserify-0.3.0"
+      sources."pako-1.0.6"
+      sources."parents-1.0.1"
+      sources."parse-asn1-5.1.0"
       sources."path-browserify-0.0.0"
-      sources."process-0.11.9"
+      sources."path-is-absolute-1.0.1"
+      sources."path-parse-1.0.5"
+      sources."path-platform-0.11.15"
+      sources."pbkdf2-3.0.14"
+      sources."process-0.11.10"
+      sources."process-nextick-args-1.0.7"
+      sources."public-encrypt-4.0.0"
       sources."punycode-1.4.1"
+      sources."querystring-0.2.0"
       sources."querystring-es3-0.2.1"
+      sources."randombytes-2.0.6"
+      sources."randomfill-1.0.4"
       sources."read-only-stream-2.0.0"
-      (sources."readable-stream-2.2.6" // {
+      (sources."readable-stream-2.3.5" // {
         dependencies = [
-          sources."buffer-shims-1.0.0"
-          sources."core-util-is-1.0.2"
-          sources."isarray-1.0.0"
-          sources."process-nextick-args-1.0.7"
-          sources."util-deprecate-1.0.2"
-        ];
-      })
-      (sources."resolve-1.3.2" // {
-        dependencies = [
-          sources."path-parse-1.0.5"
-        ];
-      })
-      (sources."shasum-1.0.2" // {
-        dependencies = [
-          (sources."json-stable-stringify-0.0.1" // {
-            dependencies = [
-              sources."jsonify-0.0.0"
-            ];
-          })
-          sources."sha.js-2.4.8"
-        ];
-      })
-      (sources."shell-quote-1.6.1" // {
-        dependencies = [
-          sources."jsonify-0.0.0"
-          sources."array-filter-0.0.1"
-          sources."array-reduce-0.0.0"
-          sources."array-map-0.0.0"
+          sources."process-nextick-args-2.0.0"
         ];
       })
+      sources."resolve-1.5.0"
+      sources."ripemd160-2.0.1"
+      sources."safe-buffer-5.1.1"
+      sources."sha.js-2.4.10"
+      sources."shasum-1.0.2"
+      sources."shell-quote-1.6.1"
+      sources."source-map-0.5.7"
       sources."stream-browserify-2.0.1"
-      (sources."stream-http-2.6.3" // {
-        dependencies = [
-          sources."builtin-status-codes-3.0.0"
-          sources."to-arraybuffer-1.0.1"
-        ];
-      })
-      sources."string_decoder-0.10.31"
+      sources."stream-combiner2-1.1.1"
+      sources."stream-http-2.8.0"
+      sources."stream-splicer-2.0.0"
+      sources."string_decoder-1.0.3"
       (sources."subarg-1.0.0" // {
         dependencies = [
           sources."minimist-1.2.0"
         ];
       })
-      (sources."syntax-error-1.3.0" // {
-        dependencies = [
-          sources."acorn-4.0.11"
-        ];
-      })
+      sources."syntax-error-1.4.0"
+      sources."through-2.3.8"
       sources."through2-2.0.3"
       sources."timers-browserify-1.4.2"
-      sources."tty-browserify-0.0.0"
+      sources."to-arraybuffer-1.0.1"
+      sources."tty-browserify-0.0.1"
+      sources."typedarray-0.0.6"
+      sources."umd-3.0.2"
       (sources."url-0.11.0" // {
         dependencies = [
           sources."punycode-1.3.2"
-          sources."querystring-0.2.0"
         ];
       })
       (sources."util-0.10.3" // {
@@ -2980,75 +2725,31 @@ in
           sources."inherits-2.0.1"
         ];
       })
-      (sources."vm-browserify-0.0.4" // {
-        dependencies = [
-          sources."indexof-0.0.1"
-        ];
-      })
+      sources."util-deprecate-1.0.2"
+      sources."vm-browserify-0.0.4"
+      sources."wrappy-1.0.2"
       sources."xtend-4.0.1"
     ];
     buildInputs = globalBuildInputs;
     meta = {
       description = "browser-side require() the node way";
-      homepage = "https://github.com/substack/node-browserify#readme";
+      homepage = "https://github.com/browserify/browserify#readme";
       license = "MIT";
     };
     production = true;
+    bypassCache = false;
   };
   uglify-js = nodeEnv.buildNodePackage {
     name = "uglify-js";
     packageName = "uglify-js";
-    version = "2.8.20";
+    version = "3.3.14";
     src = fetchurl {
-      url = "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.20.tgz";
-      sha1 = "be87100fbc18de3876ed606e9d24b4568311cecf";
+      url = "https://registry.npmjs.org/uglify-js/-/uglify-js-3.3.14.tgz";
+      sha512 = "0b7d9nvyrhc5ij0xaxvgha7h97d5h36zhnwmbbbj5abk64bvn38sf4d5jwy64n8algm2q36a08n0z4k4khhnnq4h4ysvrin0lyib3rr";
     };
     dependencies = [
-      sources."source-map-0.5.6"
-      (sources."yargs-3.10.0" // {
-        dependencies = [
-          sources."camelcase-1.2.1"
-          (sources."cliui-2.1.0" // {
-            dependencies = [
-              (sources."center-align-0.1.3" // {
-                dependencies = [
-                  (sources."align-text-0.1.4" // {
-                    dependencies = [
-                      (sources."kind-of-3.1.0" // {
-                        dependencies = [
-                          sources."is-buffer-1.1.5"
-                        ];
-                      })
-                      sources."longest-1.0.1"
-                      sources."repeat-string-1.6.1"
-                    ];
-                  })
-                  sources."lazy-cache-1.0.4"
-                ];
-              })
-              (sources."right-align-0.1.3" // {
-                dependencies = [
-                  (sources."align-text-0.1.4" // {
-                    dependencies = [
-                      (sources."kind-of-3.1.0" // {
-                        dependencies = [
-                          sources."is-buffer-1.1.5"
-                        ];
-                      })
-                      sources."longest-1.0.1"
-                      sources."repeat-string-1.6.1"
-                    ];
-                  })
-                ];
-              })
-              sources."wordwrap-0.0.2"
-            ];
-          })
-          sources."decamelize-1.2.0"
-          sources."window-size-0.1.0"
-        ];
-      })
-      sources."uglify-to-browserify-1.0.2"
+      sources."commander-2.14.1"
+      sources."source-map-0.6.1"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -3057,123 +2758,85 @@ in
       license = "BSD-2-Clause";
     };
     production = true;
+    bypassCache = false;
   };
   less = nodeEnv.buildNodePackage {
     name = "less";
     packageName = "less";
-    version = "2.7.2";
+    version = "3.0.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/less/-/less-2.7.2.tgz";
-      sha1 = "368d6cc73e1fb03981183280918743c5dcf9b3df";
+      url = "https://registry.npmjs.org/less/-/less-3.0.1.tgz";
+      sha512 = "25qmszxk5bzrjgyy1m0k87zc1c5h19ckvnlkhl9j3ncm3zfx7rzmydj6f4sw5c7ldc4npzs41fmgd1hw113kilrk8sggwzwvfw7hi59";
     };
     dependencies = [
-      (sources."errno-0.1.4" // {
-        dependencies = [
-          sources."prr-0.0.0"
-        ];
-      })
+      sources."ajv-4.11.8"
+      sources."asap-2.0.6"
+      sources."asn1-0.2.3"
+      sources."assert-plus-0.2.0"
+      sources."asynckit-0.4.0"
+      sources."aws-sign2-0.6.0"
+      sources."aws4-1.6.0"
+      sources."bcrypt-pbkdf-1.0.1"
+      sources."boom-2.10.1"
+      sources."caseless-0.12.0"
+      sources."co-4.6.0"
+      sources."combined-stream-1.0.6"
+      sources."core-util-is-1.0.2"
+      sources."cryptiles-2.0.5"
+      sources."dashdash-1.14.1"
+      sources."delayed-stream-1.0.0"
+      sources."ecc-jsbn-0.1.1"
+      sources."errno-0.1.7"
+      sources."extend-3.0.1"
+      sources."extsprintf-1.3.0"
+      sources."forever-agent-0.6.1"
+      sources."form-data-2.1.4"
+      sources."getpass-0.1.7"
       sources."graceful-fs-4.1.11"
-      sources."image-size-0.5.1"
-      sources."mime-1.3.4"
-      (sources."mkdirp-0.5.1" // {
-        dependencies = [
-          sources."minimist-0.0.8"
-        ];
-      })
-      (sources."promise-7.1.1" // {
+      sources."har-schema-1.0.5"
+      sources."har-validator-4.2.1"
+      sources."hawk-3.1.3"
+      sources."hoek-2.16.3"
+      sources."http-signature-1.1.1"
+      sources."image-size-0.5.5"
+      sources."is-typedarray-1.0.0"
+      sources."isstream-0.1.2"
+      sources."jsbn-0.1.1"
+      sources."json-schema-0.2.3"
+      sources."json-stable-stringify-1.0.1"
+      sources."json-stringify-safe-5.0.1"
+      sources."jsonify-0.0.0"
+      (sources."jsprim-1.4.1" // {
         dependencies = [
-          sources."asap-2.0.5"
+          sources."assert-plus-1.0.0"
         ];
       })
-      sources."source-map-0.5.6"
-      (sources."request-2.81.0" // {
+      sources."mime-1.6.0"
+      sources."mime-db-1.33.0"
+      sources."mime-types-2.1.18"
+      sources."minimist-0.0.8"
+      sources."mkdirp-0.5.1"
+      sources."oauth-sign-0.8.2"
+      sources."performance-now-0.2.0"
+      sources."promise-7.3.1"
+      sources."prr-1.0.1"
+      sources."punycode-1.4.1"
+      sources."qs-6.4.0"
+      sources."request-2.81.0"
+      sources."safe-buffer-5.1.1"
+      sources."sntp-1.0.9"
+      sources."source-map-0.5.7"
+      (sources."sshpk-1.14.1" // {
         dependencies = [
-          sources."aws-sign2-0.6.0"
-          sources."aws4-1.6.0"
-          sources."caseless-0.12.0"
-          (sources."combined-stream-1.0.5" // {
-            dependencies = [
-              sources."delayed-stream-1.0.0"
-            ];
-          })
-          sources."extend-3.0.0"
-          sources."forever-agent-0.6.1"
-          (sources."form-data-2.1.2" // {
-            dependencies = [
-              sources."asynckit-0.4.0"
-            ];
-          })
-          (sources."har-validator-4.2.1" // {
-            dependencies = [
-              (sources."ajv-4.11.5" // {
-                dependencies = [
-                  sources."co-4.6.0"
-                  (sources."json-stable-stringify-1.0.1" // {
-                    dependencies = [
-                      sources."jsonify-0.0.0"
-                    ];
-                  })
-                ];
-              })
-              sources."har-schema-1.0.5"
-            ];
-          })
-          (sources."hawk-3.1.3" // {
-            dependencies = [
-              sources."hoek-2.16.3"
-              sources."boom-2.10.1"
-              sources."cryptiles-2.0.5"
-              sources."sntp-1.0.9"
-            ];
-          })
-          (sources."http-signature-1.1.1" // {
-            dependencies = [
-              sources."assert-plus-0.2.0"
-              (sources."jsprim-1.4.0" // {
-                dependencies = [
-                  sources."assert-plus-1.0.0"
-                  sources."extsprintf-1.0.2"
-                  sources."json-schema-0.2.3"
-                  sources."verror-1.3.6"
-                ];
-              })
-              (sources."sshpk-1.11.0" // {
-                dependencies = [
-                  sources."asn1-0.2.3"
-                  sources."assert-plus-1.0.0"
-                  sources."dashdash-1.14.1"
-                  sources."getpass-0.1.6"
-                  sources."jsbn-0.1.1"
-                  sources."tweetnacl-0.14.5"
-                  sources."jodid25519-1.0.2"
-                  sources."ecc-jsbn-0.1.1"
-                  sources."bcrypt-pbkdf-1.0.1"
-                ];
-              })
-            ];
-          })
-          sources."is-typedarray-1.0.0"
-          sources."isstream-0.1.2"
-          sources."json-stringify-safe-5.0.1"
-          (sources."mime-types-2.1.15" // {
-            dependencies = [
-              sources."mime-db-1.27.0"
-            ];
-          })
-          sources."oauth-sign-0.8.2"
-          sources."performance-now-0.2.0"
-          sources."qs-6.4.0"
-          sources."safe-buffer-5.0.1"
-          sources."stringstream-0.0.5"
-          (sources."tough-cookie-2.3.2" // {
-            dependencies = [
-              sources."punycode-1.4.1"
-            ];
-          })
-          sources."tunnel-agent-0.6.0"
-          sources."uuid-3.0.1"
+          sources."assert-plus-1.0.0"
         ];
       })
+      sources."stringstream-0.0.5"
+      sources."tough-cookie-2.3.4"
+      sources."tunnel-agent-0.6.0"
+      sources."tweetnacl-0.14.5"
+      sources."uuid-3.2.1"
+      sources."verror-1.10.0"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -3182,86 +2845,40 @@ in
       license = "Apache-2.0";
     };
     production = true;
+    bypassCache = false;
   };
   mocha = nodeEnv.buildNodePackage {
     name = "mocha";
     packageName = "mocha";
-    version = "3.2.0";
+    version = "5.0.4";
     src = fetchurl {
-      url = "https://registry.npmjs.org/mocha/-/mocha-3.2.0.tgz";
-      sha1 = "7dc4f45e5088075171a68896814e6ae9eb7a85e3";
+      url = "https://registry.npmjs.org/mocha/-/mocha-5.0.4.tgz";
+      sha512 = "1agv3n6vr1rhjv18n6nfra7wlz7jmf38aym85299fdidy0qq6wsl9zcnvsn4867dcwjgrmrfgnymvg5f7c8sxccw10lvcb8y40akhww";
     };
     dependencies = [
-      sources."browser-stdout-1.3.0"
-      (sources."commander-2.9.0" // {
-        dependencies = [
-          sources."graceful-readlink-1.0.1"
-        ];
-      })
-      (sources."debug-2.2.0" // {
-        dependencies = [
-          sources."ms-0.7.1"
-        ];
-      })
-      sources."diff-1.4.0"
+      sources."balanced-match-1.0.0"
+      sources."brace-expansion-1.1.11"
+      sources."browser-stdout-1.3.1"
+      sources."commander-2.11.0"
+      sources."concat-map-0.0.1"
+      sources."debug-3.1.0"
+      sources."diff-3.5.0"
       sources."escape-string-regexp-1.0.5"
-      (sources."glob-7.0.5" // {
-        dependencies = [
-          sources."fs.realpath-1.0.0"
-          (sources."inflight-1.0.6" // {
-            dependencies = [
-              sources."wrappy-1.0.2"
-            ];
-          })
-          sources."inherits-2.0.3"
-          (sources."minimatch-3.0.3" // {
-            dependencies = [
-              (sources."brace-expansion-1.1.6" // {
-                dependencies = [
-                  sources."balanced-match-0.4.2"
-                  sources."concat-map-0.0.1"
-                ];
-              })
-            ];
-          })
-          (sources."once-1.4.0" // {
-            dependencies = [
-              sources."wrappy-1.0.2"
-            ];
-          })
-          sources."path-is-absolute-1.0.1"
-        ];
-      })
-      sources."growl-1.9.2"
-      sources."json3-3.3.2"
-      (sources."lodash.create-3.1.1" // {
-        dependencies = [
-          (sources."lodash._baseassign-3.2.0" // {
-            dependencies = [
-              sources."lodash._basecopy-3.0.1"
-              (sources."lodash.keys-3.1.2" // {
-                dependencies = [
-                  sources."lodash._getnative-3.9.1"
-                  sources."lodash.isarguments-3.1.0"
-                  sources."lodash.isarray-3.0.4"
-                ];
-              })
-            ];
-          })
-          sources."lodash._basecreate-3.0.3"
-          sources."lodash._isiterateecall-3.0.9"
-        ];
-      })
-      (sources."mkdirp-0.5.1" // {
-        dependencies = [
-          sources."minimist-0.0.8"
-        ];
-      })
-      (sources."supports-color-3.1.2" // {
-        dependencies = [
-          sources."has-flag-1.0.0"
-        ];
-      })
+      sources."fs.realpath-1.0.0"
+      sources."glob-7.1.2"
+      sources."growl-1.10.3"
+      sources."has-flag-2.0.0"
+      sources."he-1.1.1"
+      sources."inflight-1.0.6"
+      sources."inherits-2.0.3"
+      sources."minimatch-3.0.4"
+      sources."minimist-0.0.8"
+      sources."mkdirp-0.5.1"
+      sources."ms-2.0.0"
+      sources."once-1.4.0"
+      sources."path-is-absolute-1.0.1"
+      sources."supports-color-4.4.0"
+      sources."wrappy-1.0.2"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -3270,6 +2887,7 @@ in
       license = "MIT";
     };
     production = true;
+    bypassCache = false;
   };
   mocha-phantomjs = nodeEnv.buildNodePackage {
     name = "mocha-phantomjs";
@@ -3280,90 +2898,56 @@ in
       sha1 = "c75e16612e1a6af0ad8d281e3a2fef49d55e505b";
     };
     dependencies = [
-      (sources."phantomjs-1.9.7-15" // {
+      sources."abbrev-1.1.1"
+      sources."adm-zip-0.2.1"
+      sources."asn1-0.1.11"
+      sources."assert-plus-0.1.5"
+      sources."async-0.9.2"
+      sources."aws-sign2-0.5.0"
+      sources."boom-0.4.2"
+      sources."combined-stream-0.0.7"
+      sources."commander-2.15.0"
+      (sources."config-chain-1.1.11" // {
         dependencies = [
-          sources."adm-zip-0.2.1"
-          sources."kew-0.1.7"
-          sources."ncp-0.4.2"
-          (sources."npmconf-0.0.24" // {
-            dependencies = [
-              (sources."config-chain-1.1.11" // {
-                dependencies = [
-                  sources."proto-list-1.2.4"
-                  sources."ini-1.3.4"
-                ];
-              })
-              sources."inherits-1.0.2"
-              sources."once-1.1.1"
-              sources."osenv-0.0.3"
-              (sources."nopt-2.2.1" // {
-                dependencies = [
-                  sources."abbrev-1.1.0"
-                ];
-              })
-              sources."semver-1.1.4"
-              sources."ini-1.1.0"
-            ];
-          })
-          sources."mkdirp-0.3.5"
-          sources."progress-1.1.8"
-          (sources."request-2.36.0" // {
-            dependencies = [
-              sources."qs-0.6.6"
-              sources."json-stringify-safe-5.0.1"
-              sources."mime-1.2.11"
-              sources."forever-agent-0.5.2"
-              sources."node-uuid-1.4.8"
-              (sources."tough-cookie-2.3.2" // {
-                dependencies = [
-                  sources."punycode-1.4.1"
-                ];
-              })
-              (sources."form-data-0.1.4" // {
-                dependencies = [
-                  (sources."combined-stream-0.0.7" // {
-                    dependencies = [
-                      sources."delayed-stream-0.0.5"
-                    ];
-                  })
-                  sources."async-0.9.2"
-                ];
-              })
-              sources."tunnel-agent-0.4.3"
-              (sources."http-signature-0.10.1" // {
-                dependencies = [
-                  sources."assert-plus-0.1.5"
-                  sources."asn1-0.1.11"
-                  sources."ctype-0.5.3"
-                ];
-              })
-              sources."oauth-sign-0.3.0"
-              (sources."hawk-1.0.0" // {
-                dependencies = [
-                  sources."hoek-0.9.1"
-                  sources."boom-0.4.2"
-                  sources."cryptiles-0.2.2"
-                  sources."sntp-0.2.4"
-                ];
-              })
-              sources."aws-sign2-0.5.0"
-            ];
-          })
-          (sources."request-progress-0.3.1" // {
-            dependencies = [
-              sources."throttleit-0.0.2"
-            ];
-          })
-          sources."rimraf-2.2.8"
-          sources."which-1.0.9"
+          sources."ini-1.3.5"
         ];
       })
+      sources."cryptiles-0.2.2"
+      sources."ctype-0.5.3"
+      sources."delayed-stream-0.0.5"
+      sources."forever-agent-0.5.2"
+      sources."form-data-0.1.4"
+      sources."hawk-1.0.0"
+      sources."hoek-0.9.1"
+      sources."http-signature-0.10.1"
+      sources."inherits-1.0.2"
+      sources."ini-1.1.0"
+      sources."json-stringify-safe-5.0.1"
+      sources."kew-0.1.7"
+      sources."mime-1.2.11"
+      sources."mkdirp-0.3.5"
       sources."mocha-phantomjs-core-1.3.1"
-      (sources."commander-2.9.0" // {
-        dependencies = [
-          sources."graceful-readlink-1.0.1"
-        ];
-      })
+      sources."ncp-0.4.2"
+      sources."node-uuid-1.4.8"
+      sources."nopt-2.2.1"
+      sources."npmconf-0.0.24"
+      sources."oauth-sign-0.3.0"
+      sources."once-1.1.1"
+      sources."osenv-0.0.3"
+      sources."phantomjs-1.9.7-15"
+      sources."progress-1.1.8"
+      sources."proto-list-1.2.4"
+      sources."punycode-1.4.1"
+      sources."qs-0.6.6"
+      sources."request-2.36.0"
+      sources."request-progress-0.3.1"
+      sources."rimraf-2.2.8"
+      sources."semver-1.1.4"
+      sources."sntp-0.2.4"
+      sources."throttleit-0.0.2"
+      sources."tough-cookie-2.3.4"
+      sources."tunnel-agent-0.4.3"
+      sources."which-1.0.9"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -3371,20 +2955,21 @@ in
       homepage = "https://github.com/nathanboktae/mocha-phantomjs#readme";
     };
     production = true;
+    bypassCache = false;
   };
   should = nodeEnv.buildNodePackage {
     name = "should";
     packageName = "should";
-    version = "11.2.1";
+    version = "13.2.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/should/-/should-11.2.1.tgz";
-      sha1 = "90f55145552d01cfc200666e4e818a1c9670eda2";
+      url = "https://registry.npmjs.org/should/-/should-13.2.1.tgz";
+      sha512 = "21w1m96rk6ljlx72mlkyg4ix3bg2s4s461fpwi1i6shz7fvl6kfmyqgmij3374iq187a4qfhn7vsc0zs7qw1i61nqn3gy0f8g0cvvwp";
     };
     dependencies = [
-      sources."should-equal-1.0.1"
+      sources."should-equal-2.0.0"
       sources."should-format-3.0.3"
       sources."should-type-1.4.0"
-      sources."should-type-adaptors-1.0.1"
+      sources."should-type-adaptors-1.1.0"
       sources."should-util-1.0.0"
     ];
     buildInputs = globalBuildInputs;
@@ -3394,28 +2979,30 @@ in
       license = "MIT";
     };
     production = true;
+    bypassCache = false;
   };
   sinon = nodeEnv.buildNodePackage {
     name = "sinon";
     packageName = "sinon";
-    version = "2.1.0";
+    version = "4.4.4";
     src = fetchurl {
-      url = "https://registry.npmjs.org/sinon/-/sinon-2.1.0.tgz";
-      sha1 = "e057a9d2bf1b32f5d6dd62628ca9ee3961b0cafb";
+      url = "https://registry.npmjs.org/sinon/-/sinon-4.4.4.tgz";
+      sha512 = "2wny4iakvr5mfcbgka4hb99893a7v00ygavndsavqpvijidhigwg9iqq9w225vgb741z0waxn4fdi2ndzp83dk2dja2fkj10kglb6q3";
     };
     dependencies = [
-      sources."diff-3.2.0"
-      sources."formatio-1.2.0"
-      sources."lolex-1.6.0"
-      sources."native-promise-only-0.8.1"
-      (sources."path-to-regexp-1.7.0" // {
-        dependencies = [
-          sources."isarray-0.0.1"
-        ];
-      })
-      sources."samsam-1.2.1"
+      sources."@sinonjs/formatio-2.0.0"
+      sources."diff-3.5.0"
+      sources."has-flag-3.0.0"
+      sources."isarray-0.0.1"
+      sources."just-extend-1.1.27"
+      sources."lodash.get-4.4.2"
+      sources."lolex-2.3.2"
+      sources."nise-1.3.0"
+      sources."path-to-regexp-1.7.0"
+      sources."samsam-1.3.0"
+      sources."supports-color-5.3.0"
       sources."text-encoding-0.6.4"
-      sources."type-detect-4.0.0"
+      sources."type-detect-4.0.8"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -3424,81 +3011,53 @@ in
       license = "BSD-3-Clause";
     };
     production = true;
+    bypassCache = false;
   };
   jshint = nodeEnv.buildNodePackage {
     name = "jshint";
     packageName = "jshint";
-    version = "2.9.4";
+    version = "2.9.5";
     src = fetchurl {
-      url = "https://registry.npmjs.org/jshint/-/jshint-2.9.4.tgz";
-      sha1 = "5e3ba97848d5290273db514aee47fe24cf592934";
+      url = "https://registry.npmjs.org/jshint/-/jshint-2.9.5.tgz";
+      sha1 = "1e7252915ce681b40827ee14248c46d34e9aa62c";
     };
     dependencies = [
-      (sources."cli-1.0.1" // {
+      sources."balanced-match-1.0.0"
+      sources."brace-expansion-1.1.11"
+      sources."cli-1.0.1"
+      sources."concat-map-0.0.1"
+      sources."console-browserify-1.1.0"
+      sources."core-util-is-1.0.2"
+      sources."date-now-0.1.4"
+      (sources."dom-serializer-0.1.0" // {
         dependencies = [
-          (sources."glob-7.1.1" // {
-            dependencies = [
-              sources."fs.realpath-1.0.0"
-              (sources."inflight-1.0.6" // {
-                dependencies = [
-                  sources."wrappy-1.0.2"
-                ];
-              })
-              sources."inherits-2.0.3"
-              (sources."once-1.4.0" // {
-                dependencies = [
-                  sources."wrappy-1.0.2"
-                ];
-              })
-              sources."path-is-absolute-1.0.1"
-            ];
-          })
+          sources."domelementtype-1.1.3"
         ];
       })
-      (sources."console-browserify-1.1.0" // {
+      sources."domelementtype-1.3.0"
+      sources."domhandler-2.3.0"
+      (sources."domutils-1.5.1" // {
         dependencies = [
-          sources."date-now-0.1.4"
+          sources."entities-1.1.1"
         ];
       })
+      sources."entities-1.0.0"
       sources."exit-0.1.2"
-      (sources."htmlparser2-3.8.3" // {
-        dependencies = [
-          sources."domhandler-2.3.0"
-          (sources."domutils-1.5.1" // {
-            dependencies = [
-              (sources."dom-serializer-0.1.0" // {
-                dependencies = [
-                  sources."domelementtype-1.1.3"
-                  sources."entities-1.1.1"
-                ];
-              })
-            ];
-          })
-          sources."domelementtype-1.3.0"
-          (sources."readable-stream-1.1.14" // {
-            dependencies = [
-              sources."core-util-is-1.0.2"
-              sources."isarray-0.0.1"
-              sources."string_decoder-0.10.31"
-              sources."inherits-2.0.3"
-            ];
-          })
-          sources."entities-1.0.0"
-        ];
-      })
-      (sources."minimatch-3.0.3" // {
-        dependencies = [
-          (sources."brace-expansion-1.1.6" // {
-            dependencies = [
-              sources."balanced-match-0.4.2"
-              sources."concat-map-0.0.1"
-            ];
-          })
-        ];
-      })
+      sources."fs.realpath-1.0.0"
+      sources."glob-7.1.2"
+      sources."htmlparser2-3.8.3"
+      sources."inflight-1.0.6"
+      sources."inherits-2.0.3"
+      sources."isarray-0.0.1"
+      sources."lodash-3.7.0"
+      sources."minimatch-3.0.4"
+      sources."once-1.4.0"
+      sources."path-is-absolute-1.0.1"
+      sources."readable-stream-1.1.14"
       sources."shelljs-0.3.0"
+      sources."string_decoder-0.10.31"
       sources."strip-json-comments-1.0.4"
-      sources."lodash-3.7.0"
+      sources."wrappy-1.0.2"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -3507,60 +3066,40 @@ in
       license = "(MIT AND JSON)";
     };
     production = true;
+    bypassCache = false;
   };
   shelljs = nodeEnv.buildNodePackage {
     name = "shelljs";
     packageName = "shelljs";
-    version = "0.7.7";
+    version = "0.8.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/shelljs/-/shelljs-0.7.7.tgz";
-      sha1 = "b2f5c77ef97148f4b4f6e22682e10bba8667cff1";
+      url = "https://registry.npmjs.org/shelljs/-/shelljs-0.8.1.tgz";
+      sha512 = "0c12wlk7s62rnm6d8cc4frddll01p5f117v2ss075y9zxxfpl5qr322bw7qdksgl7ljfc04rv2wyn6qyjv1m5953ywmgk39srif43v0";
     };
     dependencies = [
-      (sources."glob-7.1.1" // {
-        dependencies = [
-          sources."fs.realpath-1.0.0"
-          (sources."inflight-1.0.6" // {
-            dependencies = [
-              sources."wrappy-1.0.2"
-            ];
-          })
-          sources."inherits-2.0.3"
-          (sources."minimatch-3.0.3" // {
-            dependencies = [
-              (sources."brace-expansion-1.1.6" // {
-                dependencies = [
-                  sources."balanced-match-0.4.2"
-                  sources."concat-map-0.0.1"
-                ];
-              })
-            ];
-          })
-          (sources."once-1.4.0" // {
-            dependencies = [
-              sources."wrappy-1.0.2"
-            ];
-          })
-          sources."path-is-absolute-1.0.1"
-        ];
-      })
-      sources."interpret-1.0.2"
-      (sources."rechoir-0.6.2" // {
-        dependencies = [
-          (sources."resolve-1.3.2" // {
-            dependencies = [
-              sources."path-parse-1.0.5"
-            ];
-          })
-        ];
-      })
+      sources."balanced-match-1.0.0"
+      sources."brace-expansion-1.1.11"
+      sources."concat-map-0.0.1"
+      sources."fs.realpath-1.0.0"
+      sources."glob-7.1.2"
+      sources."inflight-1.0.6"
+      sources."inherits-2.0.3"
+      sources."interpret-1.1.0"
+      sources."minimatch-3.0.4"
+      sources."once-1.4.0"
+      sources."path-is-absolute-1.0.1"
+      sources."path-parse-1.0.5"
+      sources."rechoir-0.6.2"
+      sources."resolve-1.5.0"
+      sources."wrappy-1.0.2"
     ];
     buildInputs = globalBuildInputs;
     meta = {
       description = "Portable Unix shell commands for Node.js";
-      homepage = https://github.com/shelljs/shelljs;
+      homepage = http://github.com/shelljs/shelljs;
       license = "BSD-3-Clause";
     };
     production = true;
+    bypassCache = false;
   };
 }
\ No newline at end of file
diff --git a/pkgs/development/web/remarkjs/nodepkgs.nix b/pkgs/development/web/remarkjs/nodepkgs.nix
index dde8ada0db9..186302f2715 100644
--- a/pkgs/development/web/remarkjs/nodepkgs.nix
+++ b/pkgs/development/web/remarkjs/nodepkgs.nix
@@ -1,4 +1,4 @@
-# This file has been generated by node2nix 1.2.0. Do not edit!
+# This file has been generated by node2nix 1.5.3. Do not edit!
 
 {pkgs ? import <nixpkgs> {
     inherit system;
@@ -8,9 +8,10 @@ let
   nodeEnv = import ../../node-packages/node-env.nix {
     inherit (pkgs) stdenv python2 utillinux runCommand writeTextFile;
     inherit nodejs;
+    libtool = if pkgs.stdenv.isDarwin then pkgs.darwin.cctools else null;
   };
 in
 import ./node-packages.nix {
   inherit (pkgs) fetchurl fetchgit;
   inherit nodeEnv;
-}
+}
\ No newline at end of file
diff --git a/pkgs/development/web/valum/default.nix b/pkgs/development/web/valum/default.nix
index 90f2a8dcfed..266217d94e2 100644
--- a/pkgs/development/web/valum/default.nix
+++ b/pkgs/development/web/valum/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   name = "valum-${version}";
-  version = "0.3.14";
+  version = "0.3.15";
 
   src = fetchFromGitHub {
     owner = "valum-framework";
     repo = "valum";
     rev = "v${version}";
-    sha256 = "1w1mipczcfmrrxg369wvrj3wvf76rqn8rrkxbq88aial1bi23kd3";
+    sha256 = "1wk23aq5lxsqns58s4g9jrwx6wrk7k9hq9rg8jcs42rxn2pckaxw";
   };
 
   nativeBuildInputs = [ meson ninja pkgconfig ];
diff --git a/pkgs/development/web/woff2/default.nix b/pkgs/development/web/woff2/default.nix
index 3480924370e..1142c1e006b 100644
--- a/pkgs/development/web/woff2/default.nix
+++ b/pkgs/development/web/woff2/default.nix
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ cmake ];
 
-  buildInputs = [ brotli ];
+  propagatedBuildInputs = [ brotli ];
 
   # without this binaries only get built if shared libs are disable
   patchPhase = ''
diff --git a/pkgs/games/adom/default.nix b/pkgs/games/adom/default.nix
index fd575975fed..9766e58c15a 100644
--- a/pkgs/games/adom/default.nix
+++ b/pkgs/games/adom/default.nix
@@ -1,7 +1,6 @@
 { stdenv, fetchurl, patchelf, zlib, libmad, libpng12, libcaca, libGLU_combined, alsaLib, libpulseaudio
 , xorg }:
 
-assert stdenv.system == "x86_64-linux";
 let
 
   inherit (xorg) libXext libX11;
@@ -58,5 +57,3 @@ stdenv.mkDerivation rec {
     platforms = ["x86_64-linux"];
   };
 }
-
-
diff --git a/pkgs/games/anki/default.nix b/pkgs/games/anki/default.nix
index 0208739706d..efc30c1bbf3 100644
--- a/pkgs/games/anki/default.nix
+++ b/pkgs/games/anki/default.nix
@@ -28,7 +28,7 @@ let
     qt4 = pyqt4.qt;
 
 in buildPythonApplication rec {
-    version = "2.0.47";
+    version = "2.0.51";
     name = "anki-${version}";
 
     src = fetchurl {
@@ -37,7 +37,7 @@ in buildPythonApplication rec {
         # "http://ankisrs.net/download/mirror/${name}.tgz"
         # "http://ankisrs.net/download/mirror/archive/${name}.tgz"
       ];
-      sha256 = "067bsidqzy1zc301i2pk4biwp2kwvgk4kydp5z5s551acinkbdgv";
+      sha256 = "17prfkz9hbz1sdb62ddi6m4jwsb50n08myhai997x8d0r0xxilw0";
     };
 
     propagatedBuildInputs = [ pyqt4 sqlalchemy pyaudio beautifulsoup httplib2 ]
diff --git a/pkgs/games/asc/default.nix b/pkgs/games/asc/default.nix
index e532fb75e0b..6b7ead6d203 100644
--- a/pkgs/games/asc/default.nix
+++ b/pkgs/games/asc/default.nix
@@ -1,6 +1,6 @@
 { fetchurl, stdenv, SDL, SDL_image, SDL_mixer, SDL_sound, libsigcxx, physfs
-, boost, expat, freetype, libjpeg, wxGTK, lua, perl, pkgconfig, zlib, zip, bzip2,
-libpng, libtiff, fluidsynth, libmikmod }:
+, boost, expat, freetype, libjpeg, wxGTK, lua, perl, pkgconfig, zlib, zip, bzip2
+, libpng, libtiff, fluidsynth, libmikmod, libvorbis, flac, libogg }:
 
 stdenv.mkDerivation rec {
   name = "asc-2.6.0.0";
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
   buildInputs = [
     SDL SDL_image SDL_mixer SDL_sound libsigcxx physfs boost expat
     freetype libjpeg wxGTK lua perl pkgconfig zlib zip bzip2 libpng
-    libtiff fluidsynth libmikmod
+    libtiff fluidsynth libmikmod flac libvorbis libogg
   ];
 
   meta = with stdenv.lib; {
@@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
     longDescription = ''
       Advanced Strategic Command is a free, turn based strategy game. It is
       designed in the tradition of the Battle Isle series from Bluebyte and is
-      currently available for Windows and Linux. 
+      currently available for Windows and Linux.
     '';
 
     homepage = http://www.asc-hq.org/;
diff --git a/pkgs/games/assaultcube/default.nix b/pkgs/games/assaultcube/default.nix
index cef48978b6d..6f742bb64f7 100644
--- a/pkgs/games/assaultcube/default.nix
+++ b/pkgs/games/assaultcube/default.nix
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "Fast and fun first-person-shooter based on the Cube fps";
-    homepage = http://assault.cubers.net;
+    homepage = https://assault.cubers.net;
     maintainers = [ maintainers.genesis ];
     platforms = platforms.linux; # should work on darwin with a little effort.
     license = stdenv.lib.licenses.zlib;
diff --git a/pkgs/games/ball-and-paddle/default.nix b/pkgs/games/ball-and-paddle/default.nix
index 4a7eb9376da..dbd2814a6fb 100644
--- a/pkgs/games/ball-and-paddle/default.nix
+++ b/pkgs/games/ball-and-paddle/default.nix
@@ -37,7 +37,6 @@ stdenv.mkDerivation rec {
 
     maintainers = [ ];
 
-    # The fancy libs aren't available on {Cyg,Dar}win.
-    platforms = stdenv.lib.platforms.linux;
+    platforms = stdenv.lib.platforms.unix;
   };
 }
diff --git a/pkgs/games/bzflag/default.nix b/pkgs/games/bzflag/default.nix
index 332e84402bb..e6d23cf1b9f 100644
--- a/pkgs/games/bzflag/default.nix
+++ b/pkgs/games/bzflag/default.nix
@@ -4,11 +4,11 @@
 stdenv.mkDerivation rec {
   name = "${pname}-${version}";
   pname = "bzflag";
-  version = "2.4.12";
+  version = "2.4.14";
 
   src = fetchurl {
     url = "https://download.bzflag.org/${pname}/source/${version}/${name}.tar.bz2";
-    sha256 = "0380y47kgl97ld3dybjgjr2zwxqky8f938k9z7vad647cic3m8d8";
+    sha256 = "1p4vaap8msk7cfqkcc2nrchw7pp4inbyx706zmlwnmpr9k0nx909";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/games/cataclysm-dda/default.nix b/pkgs/games/cataclysm-dda/default.nix
index a3adec38401..0de118234a7 100644
--- a/pkgs/games/cataclysm-dda/default.nix
+++ b/pkgs/games/cataclysm-dda/default.nix
@@ -46,6 +46,8 @@ stdenv.mkDerivation rec {
     "WARNINGS+=-Wno-inconsistent-missing-override"
   ];
 
+  NIX_CFLAGS_COMPILE = stdenv.lib.optionalString stdenv.cc.isClang "-Wno-user-defined-warnings";
+
   postBuild = stdenv.lib.optionalString (tiles && stdenv.isDarwin) ''
     # iconutil on macOS is not available in nixpkgs
     png2icns data/osx/AppIcon.icns data/osx/AppIcon.iconset/*
@@ -92,7 +94,7 @@ stdenv.mkDerivation rec {
       substances or radiation, now more closely resemble insects, birds or fish
       than their original form.
     '';
-    homepage = http://cataclysmdda.org/;
+    homepage = https://cataclysmdda.org/;
     license = licenses.cc-by-sa-30;
     maintainers = [ maintainers.skeidel ];
     platforms = platforms.unix;
diff --git a/pkgs/games/cataclysm-dda/git.nix b/pkgs/games/cataclysm-dda/git.nix
index fcc2481cb69..fe4dcb25175 100644
--- a/pkgs/games/cataclysm-dda/git.nix
+++ b/pkgs/games/cataclysm-dda/git.nix
@@ -89,7 +89,7 @@ stdenv.mkDerivation rec {
       substances or radiation, now more closely resemble insects, birds or fish
       than their original form.
     '';
-    homepage = http://cataclysmdda.org/;
+    homepage = https://cataclysmdda.org/;
     license = licenses.cc-by-sa-30;
     platforms = platforms.unix;
   };
diff --git a/pkgs/games/chessx/default.nix b/pkgs/games/chessx/default.nix
index b8a4d4e06dc..c8d23fcc9de 100644
--- a/pkgs/games/chessx/default.nix
+++ b/pkgs/games/chessx/default.nix
@@ -1,10 +1,10 @@
 { stdenv, pkgconfig, zlib, qtbase, qtsvg, qttools, qtmultimedia, qmake, fetchurl }:
 stdenv.mkDerivation rec {
   name = "chessx-${version}";
-  version = "1.4.0";
+  version = "1.4.6";
   src = fetchurl {
     url = "mirror://sourceforge/chessx/chessx-${version}.tgz";
-    sha256 = "1x10c9idj2qks8xk9dy7aw3alc5w7z1kvv6dnahs0428j0sp4a74";
+    sha256 = "1vb838byzmnyglm9mq3khh3kddb9g4g111cybxjzalxxlc81k5dd";
   };
   buildInputs = [
    qtbase
diff --git a/pkgs/games/commandergenius/default.nix b/pkgs/games/commandergenius/default.nix
index f77dfe8ba94..70413f0f941 100644
--- a/pkgs/games/commandergenius/default.nix
+++ b/pkgs/games/commandergenius/default.nix
@@ -1,19 +1,24 @@
 { lib, stdenv, fetchFromGitHub, SDL2, SDL2_image, pkgconfig
-, libvorbis, libGL, boost, cmake }:
-
+, libvorbis, libGL, boost, cmake, zlib, curl, SDL2_mixer, python3
+}:
 
 stdenv.mkDerivation rec {
   name = "commandergenius-${version}";
-  version = "1822release";
+  version = "2.2.0";
 
   src = fetchFromGitHub {
     owner = "gerstrong";
     repo = "Commander-Genius";
     rev = "v${version}";
-    sha256 = "07vxg8p1dnnkajzs5nifxpwn4mdd1hxsw05jl25gvaimpl9p2qc8";
+    sha256 = "1hjx4j325vj1ayxi3j2dpplpd3x0iqx98gyb093ld7dfnsyilbph";
   };
 
-  buildInputs = [ SDL2 SDL2_image libGL boost libvorbis ];
+  buildInputs = [ SDL2 SDL2_image SDL2_mixer libGL boost libvorbis zlib curl python3 ];
+
+  preConfigure = ''
+    export cmakeFlags="$cmakeFlags -DCMAKE_INSTALL_PREFIX=$out -DSHAREDIR=$out/share"
+    export makeFlags="$makeFlags DESTDIR=$(out)"
+  '';
 
   nativeBuildInputs = [ cmake pkgconfig ];
 
diff --git a/pkgs/games/dwarf-fortress/default.nix b/pkgs/games/dwarf-fortress/default.nix
index c759c4c60da..82710256c63 100644
--- a/pkgs/games/dwarf-fortress/default.nix
+++ b/pkgs/games/dwarf-fortress/default.nix
@@ -1,4 +1,4 @@
-{ pkgs, pkgsi686Linux }:
+{ pkgs, pkgsi686Linux, stdenv }:
 
 let
   callPackage = pkgs.newScope self;
@@ -13,7 +13,9 @@ let
 
     soundSense = callPackage ./soundsense.nix { };
 
-    dwarf-fortress-unfuck = callPackage ./unfuck.nix { };
+    # unfuck is linux-only right now, we will just use it there
+    dwarf-fortress-unfuck = if stdenv.isLinux then callPackage ./unfuck.nix { }
+                                              else null;
 
     dwarf-fortress = callPackage ./wrapper {
       themes = {
diff --git a/pkgs/games/dwarf-fortress/dfhack/default.nix b/pkgs/games/dwarf-fortress/dfhack/default.nix
index f9a61ddbf8b..641676489ed 100644
--- a/pkgs/games/dwarf-fortress/dfhack/default.nix
+++ b/pkgs/games/dwarf-fortress/dfhack/default.nix
@@ -4,13 +4,13 @@
 }:
 
 let
-  dfVersion = "0.44.05";
-  version = "${dfVersion}-r2";
+  dfVersion = "0.44.09";
+  version = "${dfVersion}-r1";
   rev = "refs/tags/${version}";
-  sha256 = "1hr3qsx7rd36syw7dfp4lh8kpmz1pvva757za2yn34hj1jm4nh52";
+  sha256 = "1cwifdhi48a976xc472nf6q2k0ibwqffil5a4llcymcxdbgxdcc9";
 
   # revision of library/xml submodule
-  xmlRev = "2794f8a6d7405d4858bac486a0bb17b94740c142";
+  xmlRev = "3c0bf63674d5430deadaf7befaec42f0ec1e8bc5";
 
   arch =
     if stdenv.system == "x86_64-linux" then "64"
diff --git a/pkgs/games/dwarf-fortress/dwarf-therapist/default.nix b/pkgs/games/dwarf-fortress/dwarf-therapist/default.nix
index 8cdfc426d83..29cc2dc6285 100644
--- a/pkgs/games/dwarf-fortress/dwarf-therapist/default.nix
+++ b/pkgs/games/dwarf-fortress/dwarf-therapist/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "dwarf-therapist-original-${version}";
-  version = "39.2.1";
+  version = "39.3.1";
 
   src = fetchFromGitHub {
     owner = "Dwarf-Therapist";
     repo = "Dwarf-Therapist";
     rev = "v${version}";
-    sha256 = "1dgcn1a4sz649kj94ldqy4ms7zhwpaj3q4r86b0yfh6dda8jzlgp";
+    sha256 = "0vb0dg1r833gaa4jzlrxf9acn41az3xjs9alx7r9lkqwvkjyrdy2";
   };
 
   outputs = [ "out" "layouts" ];
@@ -33,7 +33,7 @@ stdenv.mkDerivation rec {
     description = "Tool to manage dwarves in in a running game of Dwarf Fortress";
     maintainers = with maintainers; [ the-kenny abbradar bendlas ];
     license = licenses.mit;
-    platforms = platforms.linux;
+    platforms = [ "x86_64-linux" "i686-linux" ];
     homepage = https://github.com/Dwarf-Therapist/Dwarf-Therapist;
   };
 }
diff --git a/pkgs/games/dwarf-fortress/game.nix b/pkgs/games/dwarf-fortress/game.nix
index 8a85578172a..79eb6e19132 100644
--- a/pkgs/games/dwarf-fortress/game.nix
+++ b/pkgs/games/dwarf-fortress/game.nix
@@ -1,57 +1,93 @@
 { stdenv, lib, fetchurl
 , SDL, dwarf-fortress-unfuck
+
+# Our own "unfuck" libs for macOS
+, ncurses, fmodex, gcc
 }:
 
+with lib;
+
 let
   baseVersion = "44";
-  patchVersion = "05";
+  patchVersion = "09";
   dfVersion = "0.${baseVersion}.${patchVersion}";
-  libpath = lib.makeLibraryPath [ stdenv.cc.cc stdenv.glibc dwarf-fortress-unfuck SDL ];
-  platform =
-    if stdenv.system == "x86_64-linux" then "linux"
-    else if stdenv.system == "i686-linux" then "linux32"
-    else throw "Unsupported platform";
-  sha256 =
-    if stdenv.system == "x86_64-linux" then "18bjyhjp5458bfbizm8vq4s00pqpfs097qp6pv76m84kgbc4ghg3"
-    else if stdenv.system == "i686-linux" then "1b9i4kf4c8s6bhqwn8jx100mg7fqp8nmswrai5w8dsma01py4amr"
-    else throw "Unsupported platform";
+
+  libpath = makeLibraryPath [ stdenv.cc.cc stdenv.cc.libc dwarf-fortress-unfuck SDL ];
+
+  homepage = http://www.bay12games.com/dwarves/;
+
+  # Other srcs are avilable like 32-bit mac & win, but I have only
+  # included the ones most likely to be needed by Nixpkgs users.
+  srcs = {
+    "x86_64-linux" = fetchurl {
+      url = "${homepage}df_${baseVersion}_${patchVersion}_linux.tar.bz2";
+      sha256 = "1haikynkg1pqyrzzqk1qxm19p36ww58qp8brh3fjxssp4x71rcdy";
+    };
+    "i686-linux" = fetchurl {
+      url = "${homepage}df_${baseVersion}_${patchVersion}_linux32.tar.bz2";
+      sha256 = "0lmbrdf7wjdwj5yx0khnq871yxvhfwqxjjyfkqcdy5ik18lvlkj8";
+    };
+    "x86_64-darwin" = fetchurl {
+      url = "${homepage}df_${baseVersion}_${patchVersion}_osx.tar.bz2";
+      sha256 = "01dss8g9lmi8majp6lxcfw166ydz4himkz6am5pi29gixaf4vfqs";
+    };
+  };
 
 in
 
-assert dwarf-fortress-unfuck.dfVersion == dfVersion;
+assert dwarf-fortress-unfuck != null ->
+       dwarf-fortress-unfuck.dfVersion == dfVersion;
 
 stdenv.mkDerivation {
   name = "dwarf-fortress-original-${dfVersion}";
 
-  src = fetchurl {
-    url = "http://www.bay12games.com/dwarves/df_${baseVersion}_${patchVersion}_${platform}.tar.bz2";
-    inherit sha256;
-  };
+  src = if builtins.hasAttr stdenv.system srcs
+        then builtins.getAttr stdenv.system srcs
+        else throw "Unsupported systems";
 
   installPhase = ''
     mkdir -p $out
     cp -r * $out
     rm $out/libs/lib*
 
-    # Store the original hash
-    md5sum $out/libs/Dwarf_Fortress | awk '{ print $1 }' > $out/hash.md5.orig
+    exe=$out/${if stdenv.isLinux then "libs/Dwarf_Fortress"
+                                 else "dwarfort.exe"}
 
+    # Store the original hash
+    md5sum $exe | awk '{ print $1 }' > $out/hash.md5.orig
+  '' + optionalString stdenv.isLinux ''
     patchelf \
       --set-interpreter $(cat ${stdenv.cc}/nix-support/dynamic-linker) \
       --set-rpath "${libpath}" \
-      $out/libs/Dwarf_Fortress
+      $exe
+  '' + optionalString stdenv.isDarwin ''
+    # My custom unfucked dwarfort.exe for macOS. Can't use
+    # absolute paths because original doesn't have enough
+    # header space. Someone plz break into Tarn's house & put
+    # -headerpad_max_install_names into his LDFLAGS.
+
+    ln -s ${getLib ncurses}/lib/libncurses.dylib $out/libs
+    ln -s ${getLib gcc.cc}/lib/libstdc++.6.dylib $out/libs
+    ln -s ${getLib fmodex}/lib/libfmodex.dylib $out/libs
 
+    install_name_tool \
+      -change /usr/lib/libncurses.5.4.dylib \
+              @executable_path/libs/libncurses.dylib \
+      -change /usr/local/lib/x86_64/libstdc++.6.dylib \
+              @executable_path/libs/libstdc++.6.dylib \
+      $exe
+  '' + ''
     # Store the new hash
-    md5sum $out/libs/Dwarf_Fortress | awk '{ print $1 }' > $out/hash.md5
+    md5sum $exe | awk '{ print $1 }' > $out/hash.md5
   '';
 
   passthru = { inherit baseVersion patchVersion dfVersion; };
 
-  meta = with stdenv.lib; {
+  meta = {
     description = "A single-player fantasy game with a randomly generated adventure world";
-    homepage = http://www.bay12games.com/dwarves;
+    inherit homepage;
     license = licenses.unfreeRedistributable;
-    platforms = platforms.linux;
+    platforms = attrNames srcs;
     maintainers = with maintainers; [ a1russell robbinch roconnor the-kenny abbradar ];
   };
 }
diff --git a/pkgs/games/dwarf-fortress/soundsense.nix b/pkgs/games/dwarf-fortress/soundsense.nix
index def3a09a4ba..67c86f7f745 100644
--- a/pkgs/games/dwarf-fortress/soundsense.nix
+++ b/pkgs/games/dwarf-fortress/soundsense.nix
@@ -12,7 +12,7 @@
 
 stdenv.mkDerivation rec {
   version = "2016-1_196";
-  dfVersion = "0.44.05";
+  dfVersion = "0.44.09";
   inherit soundPack;
   name = "soundsense-${version}";
   src = fetchzip {
diff --git a/pkgs/games/dwarf-fortress/themes/cla.nix b/pkgs/games/dwarf-fortress/themes/cla.nix
index 7c3eb0b63e3..c7d85c48ce8 100644
--- a/pkgs/games/dwarf-fortress/themes/cla.nix
+++ b/pkgs/games/dwarf-fortress/themes/cla.nix
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
     cp -r data raw $out
   '';
 
-  passthru.dfVersion = "0.44.05";
+  passthru.dfVersion = "0.44.09";
 
   preferLocalBuild = true;
 
diff --git a/pkgs/games/dwarf-fortress/themes/phoebus.nix b/pkgs/games/dwarf-fortress/themes/phoebus.nix
index d9490271920..8641e15fa86 100644
--- a/pkgs/games/dwarf-fortress/themes/phoebus.nix
+++ b/pkgs/games/dwarf-fortress/themes/phoebus.nix
@@ -5,13 +5,13 @@
 
 stdenv.mkDerivation rec {
   name = "phoebus-theme-${version}";
-  version = "44.05";
+  version = "44.07";
 
   src = fetchFromGitHub {
     owner = "DFgraphics";
     repo = "Phoebus";
     rev = version;
-    sha256 = "06mhr6dpbvwp9dxn70kyr6dwyql2k6x5zba2zf6awjah7idys0xr";
+    sha256 = "114yc0s7j57i4rq6iq295gggbgzx4qb389xip8lkzfg4dnp6klns";
   };
 
   installPhase = ''
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
     cp -r data raw $out
   '';
 
-  passthru.dfVersion = "0.44.05";
+  passthru.dfVersion = "0.44.09";
 
   preferLocalBuild = true;
 
diff --git a/pkgs/games/dwarf-fortress/unfuck.nix b/pkgs/games/dwarf-fortress/unfuck.nix
index 89e98f4b451..fc42c05f070 100644
--- a/pkgs/games/dwarf-fortress/unfuck.nix
+++ b/pkgs/games/dwarf-fortress/unfuck.nix
@@ -3,7 +3,7 @@
 , ncurses, glib, gtk2, libsndfile, zlib
 }:
 
-let dfVersion = "0.44.05"; in
+let dfVersion = "0.44.09"; in
 
 stdenv.mkDerivation {
   name = "dwarf_fortress_unfuck-${dfVersion}";
diff --git a/pkgs/games/dwarf-fortress/wrapper/default.nix b/pkgs/games/dwarf-fortress/wrapper/default.nix
index 3d904d006e4..e82cc2be680 100644
--- a/pkgs/games/dwarf-fortress/wrapper/default.nix
+++ b/pkgs/games/dwarf-fortress/wrapper/default.nix
@@ -47,6 +47,8 @@ stdenv.mkDerivation rec {
     name = "dwarf-fortress-init";
     src = ./dwarf-fortress-init.in;
     inherit env;
+    exe = if stdenv.isLinux then "libs/Dwarf_Fortress"
+                             else "dwarfort.exe";
   };
 
   runDF = ./dwarf-fortress.in;
diff --git a/pkgs/games/dwarf-fortress/wrapper/dwarf-fortress-init.in b/pkgs/games/dwarf-fortress/wrapper/dwarf-fortress-init.in
index 093dae562c2..054935af012 100644
--- a/pkgs/games/dwarf-fortress/wrapper/dwarf-fortress-init.in
+++ b/pkgs/games/dwarf-fortress/wrapper/dwarf-fortress-init.in
@@ -2,6 +2,7 @@ shopt -s extglob
 
 [ -z "$DF_DIR" ] && DF_DIR="${XDG_DATA_HOME:-$HOME/.local/share}/df_linux"
 env_dir="@env@"
+exe="$env_dir/@exe@"
 
 update_path() {
   local path="$1"
diff --git a/pkgs/games/dwarf-fortress/wrapper/dwarf-fortress.in b/pkgs/games/dwarf-fortress/wrapper/dwarf-fortress.in
index f405f1b0e39..4448bd05fda 100644
--- a/pkgs/games/dwarf-fortress/wrapper/dwarf-fortress.in
+++ b/pkgs/games/dwarf-fortress/wrapper/dwarf-fortress.in
@@ -2,5 +2,8 @@
 
 source @dfInit@
 
+export DYLD_LIBRARY_PATH="$env_dir/libs"
+export DYLD_FRAMEWORK_PATH="$env_dir/libs"
+
 cd "$DF_DIR"
-exec "$env_dir/libs/Dwarf_Fortress" "$@"
+exec "$exe" "$@"
diff --git a/pkgs/games/dxx-rebirth/assets.nix b/pkgs/games/dxx-rebirth/assets.nix
index 1fd64f5b00d..682d1e05069 100644
--- a/pkgs/games/dxx-rebirth/assets.nix
+++ b/pkgs/games/dxx-rebirth/assets.nix
@@ -42,7 +42,7 @@ let
 
     meta = with stdenv.lib; {
       description = "Descent ${toString ver} assets from GOG";
-      homepage    = http://www.dxx-rebirth.com/;
+      homepage    = https://www.dxx-rebirth.com/;
       license     = licenses.unfree;
       maintainers = with maintainers; [ peterhoeg ];
       hydraPlatforms = [];
diff --git a/pkgs/games/dxx-rebirth/default.nix b/pkgs/games/dxx-rebirth/default.nix
index cea07d873ab..b780d5327f2 100644
--- a/pkgs/games/dxx-rebirth/default.nix
+++ b/pkgs/games/dxx-rebirth/default.nix
@@ -1,10 +1,10 @@
-{ stdenv, fetchurl, scons, pkgconfig
+{ stdenv, fetchurl, fetchpatch, scons, pkgconfig
 , SDL, SDL_mixer, libGLU_combined, physfs
 }:
 
 let
   music = fetchurl {
-    url = "http://www.dxx-rebirth.com/download/dxx/res/d2xr-sc55-music.dxa";
+    url = "https://www.dxx-rebirth.com/download/dxx/res/d2xr-sc55-music.dxa";
     sha256 = "05mz77vml396mff43dbs50524rlm4fyds6widypagfbh5hc55qdc";
   };
 
@@ -13,16 +13,38 @@ in stdenv.mkDerivation rec {
   version = "0.59.100";
 
   src = fetchurl {
-    url = "http://www.dxx-rebirth.com/download/dxx/dxx-rebirth_v${version}-src.tar.gz";
+    url = "https://www.dxx-rebirth.com/download/dxx/dxx-rebirth_v${version}-src.tar.gz";
     sha256 = "0m9k34zyr8bbni9szip407mffdpwbqszgfggavgqjwq0k9c1w7ka";
   };
 
+  # TODO: drop these when upgrading to version > 0.59.100
+  patches = [
+    (fetchpatch {
+      name   = "dxx-gcc7-fix1.patch";
+      url    = "https://github.com/dxx-rebirth/dxx-rebirth/commit/1ed7cec714c623758e3418ec69eaf3b3ff03e9f6.patch";
+      sha256 = "026pn8xglmxryaj8555h5rhzkx30lxmksja1fzdlfyb1vll75gq0";
+    })
+    (fetchpatch {
+      name   = "dxx-gcc7-fix2.patch";
+      url    = "https://github.com/dxx-rebirth/dxx-rebirth/commit/73057ad8ec6977ac747637db1080686f11b4c3cc.patch";
+      sha256 = "0s506vdd2djrrm3xl0ygn9ylpg6y8qxii2nnzk3sf9133glp3swy";
+    })
+  ];
+
   nativeBuildInputs = [ pkgconfig scons ];
 
   buildInputs = [ libGLU_combined physfs SDL SDL_mixer ];
 
   enableParallelBuilding = true;
 
+  buildPhase = ''
+    runHook preBuild
+
+    scons prefix=$out
+
+    runHook postBuild
+  '';
+
   installPhase = ''
     runHook preInstall
 
@@ -35,9 +57,9 @@ in stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Source Port of the Descent 1 and 2 engines";
-    homepage = http://www.dxx-rebirth.com/;
+    homepage = https://www.dxx-rebirth.com/;
     license = licenses.free;
-    maintainers = with maintainers; [ viric ];
+    maintainers = with maintainers; [ viric peterhoeg ];
     platforms = with platforms; linux;
   };
 }
diff --git a/pkgs/games/dxx-rebirth/full.nix b/pkgs/games/dxx-rebirth/full.nix
index baf8b80add1..020a4593de2 100644
--- a/pkgs/games/dxx-rebirth/full.nix
+++ b/pkgs/games/dxx-rebirth/full.nix
@@ -16,7 +16,7 @@ let
 
     meta = with stdenv.lib; {
       description = "Descent ${toString ver} using the DXX-Rebirth project engine and game assets from GOG";
-      homepage    = http://www.dxx-rebirth.com/;
+      homepage    = https://www.dxx-rebirth.com/;
       license     = with licenses; [ free unfree ];
       maintainers = with maintainers; [ peterhoeg ];
       platforms   = with platforms; linux;
diff --git a/pkgs/games/empty-epsilon/default.nix b/pkgs/games/empty-epsilon/default.nix
new file mode 100644
index 00000000000..d7742d31664
--- /dev/null
+++ b/pkgs/games/empty-epsilon/default.nix
@@ -0,0 +1,58 @@
+{ lib, stdenv, fetchFromGitHub, cmake, sfml, libX11, glew, python }:
+
+let
+
+  version = "2018.02.15";
+
+  serious-proton = stdenv.mkDerivation rec {
+    name = "serious-proton-${version}";
+    inherit version;
+
+    src = fetchFromGitHub {
+      owner = "daid";
+      repo = "SeriousProton";
+      rev = "EE-${version}";
+      sha256 = "0b4n4pn7x3y63i9y15f8983zlpdvmx7151iph1lcc49j3hmpd0gy";
+    };
+
+    nativeBuildInputs = [ cmake ];
+    buildInputs = [ sfml libX11 ];
+
+    meta = with lib; {
+      description = "C++ game engine coded on top of SFML used for EmptyEpsilon";
+      homepage = https://github.com/daid/SeriousProton;
+      license = licenses.mit;
+      maintainers = with maintainers; [ fpletz ];
+      platforms = platforms.linux;
+    };
+  };
+
+in
+
+
+stdenv.mkDerivation rec {
+  name = "empty-epsilon-${version}";
+  inherit version;
+
+  src = fetchFromGitHub {
+    owner = "daid";
+    repo = "EmptyEpsilon";
+    rev = "EE-${version}";
+    sha256 = "1by0wrw00frrlcs1kd003zkmfkwa1pnbnva2qn8km3xnl9chf11d";
+  };
+
+  nativeBuildInputs = [ cmake ];
+  buildInputs = [ serious-proton sfml glew libX11 python ];
+
+  cmakeFlags = [
+    "-DSERIOUS_PROTON_DIR=${serious-proton.src}"
+  ];
+
+  meta = with lib; {
+    description = "Open source bridge simulator based on Artemis";
+    homepage = https://daid.github.io/EmptyEpsilon/;
+    license = licenses.gpl2Plus;
+    maintainers = with maintainers; [ fpletz ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/games/enyo-doom/default.nix b/pkgs/games/enyo-doom/default.nix
new file mode 100644
index 00000000000..6bbb58c1a18
--- /dev/null
+++ b/pkgs/games/enyo-doom/default.nix
@@ -0,0 +1,27 @@
+{ stdenv, fetchFromGitLab, cmake, qtbase }:
+
+stdenv.mkDerivation rec {
+  name = "enyo-doom-${version}";
+  version = "1.05";
+
+  src = fetchFromGitLab {
+    owner = "sdcofer70";
+    repo = "enyo-doom";
+    rev = version;
+    sha256 = "1bmpgqwcp7640dbq1w8bkbk6mkn4nj5yxkvmjrl5wnlg0m1g0jr7";
+  };
+
+  nativeBuildInputs = [ cmake ];
+
+  buildInputs = [ qtbase ];
+
+  enableParallelBuilding = true;
+
+  meta = {
+    homepage = "https://gitlab.com/sdcofer70/enyo-doom";
+    description = "Frontend for Doom engines";
+    license = stdenv.lib.licenses.gpl2;
+    platforms = stdenv.lib.platforms.unix;
+    maintainers = [ stdenv.lib.maintainers.tadfisher ];
+  };
+}
diff --git a/pkgs/games/extremetuxracer/default.nix b/pkgs/games/extremetuxracer/default.nix
index d1bf190be57..26703b8288e 100644
--- a/pkgs/games/extremetuxracer/default.nix
+++ b/pkgs/games/extremetuxracer/default.nix
@@ -5,12 +5,12 @@
 }:
 
 stdenv.mkDerivation rec {
-  version = "0.7.4";
+  version = "0.7.5";
   name = "extremetuxracer-${version}";
 
   src = fetchurl {
     url = "mirror://sourceforge/extremetuxracer/etr-${version}.tar.xz";
-    sha256 = "0d2j4ybdjmimg67v2fndgahgq4fvgz3fpfb3a4l1ar75n6hy776s";
+    sha256 = "1ly63316c07i0gyqqmyzsyvygsvygn0fpk3bnbg25fi6li99rlsg";
   };
 
   buildInputs = [
diff --git a/pkgs/games/factorio/default.nix b/pkgs/games/factorio/default.nix
index b3319bae973..2cc63e9ecde 100644
--- a/pkgs/games/factorio/default.nix
+++ b/pkgs/games/factorio/default.nix
@@ -19,15 +19,15 @@ let
   binDists = {
     x86_64-linux = let bdist = bdistForArch { inUrl = "linux64"; inTar = "x64"; }; in {
       alpha = {
-        stable        = bdist { sha256 = "1i25q8x80qdpmf00lvml67gyklrfvmr4gfyakrx954bq8giiy4ll"; fetcher = authenticatedFetch; };
-        experimental  = bdist { sha256 = "0s7cn5xhzwn793bmvlhlmibhbxdpfmpnpn33k5a4hdprc5gc27rg"; version = "0.16.24"; fetcher = authenticatedFetch; };
+        stable        = bdist { sha256 = "0gxa8wh0py4l1ym57sfq792kfh00khi0f9ykjlmjqqkdksyxgddf"; fetcher = authenticatedFetch; };
+        experimental  = bdist { sha256 = "1iy3k9zrw3za9mabf89lfl8i20xfij66ih5vngz5xfyy99mwxiy6"; version = "0.16.35"; fetcher = authenticatedFetch; };
       };
       headless = {
-        stable        = bdist { sha256 = "0v5sypz1q6x6hi6k5cyi06f9ld0cky80l0z64psd3v2ax9hyyh8h"; };
-        experimental  = bdist { sha256 = "1ff4yjybiqr5kw583hmxkbrbxa3haj4bkjj8sx811c3s269gspi2"; version = "0.16.24"; };
+        stable        = bdist { sha256 = "0n2j86af41dkbsyyy5lawjpdd7c0lvfdwxpwbj1m8v470i1g8zq4"; };
+        experimental  = bdist { sha256 = "0x4miyva1lmiyv3lb4savdlycia1kzw6bri4qj9b2jmyw1dr8x8h"; version = "0.16.35"; };
       };
       demo = {
-        stable        = bdist { sha256 = "0aca8gks7wl7yi821bcca16c94zcc41agin5j0vfz500i0sngzzw"; version = "0.15.36"; };
+        stable        = bdist { sha256 = "1z04rdlcxnfwami0l5nm292w4ydfhr1s6rcl8hxrsa73d4xk5lch"; version = "0.16.36"; };
         experimental  = bdist { };
       };
     };
@@ -49,7 +49,7 @@ let
   actual = binDists.${stdenv.system}.${releaseType}.${branch} or (throw "Factorio: unsupported platform");
 
   bdistForArch = arch: { sha256 ? null
-                       , version ? "0.15.40"
+                       , version ? "0.16.36"
                        , fetcher ? fetchurl
                        , nameMut ? x: x
                        }:
diff --git a/pkgs/games/freecell-solver/default.nix b/pkgs/games/freecell-solver/default.nix
index 263bf5c29df..a096b17b71a 100644
--- a/pkgs/games/freecell-solver/default.nix
+++ b/pkgs/games/freecell-solver/default.nix
@@ -6,11 +6,11 @@ with stdenv.lib;
 stdenv.mkDerivation rec{
 
   name = "freecell-solver-${version}";
-  version = "4.16.0";
+  version = "4.18.0";
 
   src = fetchurl {
     url = "http://fc-solve.shlomifish.org/downloads/fc-solve/${name}.tar.xz";
-    sha256 = "1ihrmxbsli7c1lm5gw9xgrakyn4nsmaj1zgk5gza2ywnfpgdb0ac";
+    sha256 = "1cmaib69pijmcpvgjvrdry8j4xys8l906l80b8z21vvyhdwrfdnn";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/games/freeciv/default.nix b/pkgs/games/freeciv/default.nix
index 82d573e47a2..b0bead7bbf9 100644
--- a/pkgs/games/freeciv/default.nix
+++ b/pkgs/games/freeciv/default.nix
@@ -12,7 +12,7 @@ let
   gtkName = if gtkClient then "-gtk" else "";
 
   name = "freeciv";
-  version = "2.5.10";
+  version = "2.5.11";
 in
 stdenv.mkDerivation {
   name = "${name}${sdlName}${gtkName}-${version}";
@@ -20,7 +20,7 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "mirror://sourceforge/freeciv/${name}-${version}.tar.bz2";
-    sha256 = "00mkzhfcbc27d8m7hj644h8lyc9mb8nhqfcngc52zkidarb438f8";
+    sha256 = "1bcs4mj4kzkpyrr0yryydmn0dzcqazvwrf02nfs7r5zya9lm572c";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/games/freeorion/default.nix b/pkgs/games/freeorion/default.nix
index 3d7e132e612..011812580e7 100644
--- a/pkgs/games/freeorion/default.nix
+++ b/pkgs/games/freeorion/default.nix
@@ -1,5 +1,7 @@
-{ stdenv, fetchFromGitHub, cmake, doxygen, graphviz, makeWrapper
-, boost, SDL2, python2, freetype, openal, libogg, libvorbis, zlib, libpng, libtiff, libjpeg, libGLU_combined, glew, libxslt }:
+{ stdenv, fetchFromGitHub, fetchpatch, cmake, doxygen, graphviz, makeWrapper
+, boost, SDL2, python2, freetype, openal, libogg, libvorbis, zlib, libpng, libtiff
+, libjpeg, libGLU_combined, glew, libxslt
+}:
 
 stdenv.mkDerivation rec {
   version = "0.4.7.1";
@@ -19,6 +21,11 @@ stdenv.mkDerivation rec {
   enableParallelBuilding = true;
 
   patches = [
+    # fix build with boost 1.66
+    (fetchpatch {
+      url = https://github.com/freeorion/freeorion/commit/c9b5b13fb81b1ed142dee0e843101c6b8832ca95.patch;
+      sha256 = "0agqhxk8462sgd230lmdzbrbrfd77zyy7a4g8hrf28zxza1nza94";
+    })
     ./fix_rpaths.patch
   ];
 
diff --git a/pkgs/games/gargoyle/darwin.patch b/pkgs/games/gargoyle/darwin.patch
index cf44dffc897..230f453acad 100644
--- a/pkgs/games/gargoyle/darwin.patch
+++ b/pkgs/games/gargoyle/darwin.patch
@@ -26,6 +26,147 @@ index 1f8829d..d8455eb 100644
  }
  
  SEARCH_SOURCE =
+diff --git a/garglk/fontmac.m b/garglk/fontmac.m
+index d6e1426..72304a3 100644
+--- a/garglk/fontmac.m
++++ b/garglk/fontmac.m
+@@ -167,7 +167,7 @@ static void propfont(char *file, int style)
+     }
+ }
+ 
+-static NSMutableArray<NSURL *> * gli_registered_fonts = nil;
++static NSMutableArray * gli_registered_fonts = nil;
+ static NSDistributedLock * gli_font_lock = nil;
+ 
+ void fontreplace(char *font, int type)
+@@ -181,7 +181,7 @@ void fontreplace(char *font, int type)
+     NSFontDescriptor * fontFamilyDescriptor =
+         [[NSFontDescriptor fontDescriptorWithFontAttributes: nil] fontDescriptorWithFamily: fontFamily];
+ 
+-    NSArray<NSFontDescriptor *> * fontMatches =
++    NSArray * fontMatches =
+         [fontFamilyDescriptor matchingFontDescriptorsWithMandatoryKeys: nil];
+ 
+     for (NSFontDescriptor * sysfont in fontMatches)
+@@ -197,7 +197,7 @@ void fontreplace(char *font, int type)
+ 
+         else if ([sysfont symbolicTraits] & NSFontItalicTrait)
+             style = FONTI;
+-        
++
+         /* find path for font */
+         CFURLRef urlRef = CTFontDescriptorCopyAttribute((CTFontDescriptorRef)sysfont, kCTFontURLAttribute);
+         if (!urlRef)
+@@ -259,7 +259,7 @@ void fontload(void)
+ 
+     // obtain a list of all files in the Fonts directory
+     NSString * fontFolder = [[NSString stringWithUTF8String: env] stringByAppendingPathComponent: @"Fonts"];
+-    NSArray<NSString *> * fontFiles = [[NSFileManager defaultManager] contentsOfDirectoryAtPath: fontFolder error: nil];
++    NSArray * fontFiles = [[NSFileManager defaultManager] contentsOfDirectoryAtPath: fontFolder error: nil];
+ 
+     // create a collection to hold the registered font URLs
+     gli_registered_fonts = [NSMutableArray new];
+diff --git a/garglk/launchmac.m b/garglk/launchmac.m
+index 68deca5..9f752ac 100644
+--- a/garglk/launchmac.m
++++ b/garglk/launchmac.m
+@@ -72,14 +72,14 @@ char *winfilters[] =
+            height: (unsigned int) height
+ {
+     [[self openGLContext] makeCurrentContext];
+-    
++
+     /* allocate new texture */
+     glDeleteTextures(1, &output);
+     glGenTextures(1, &output);
+ 
+     /* bind target to texture */
+-    glEnable(GL_TEXTURE_RECTANGLE_ARB);    
+-    glBindTexture(GL_TEXTURE_RECTANGLE_ARB, output);  
++    glEnable(GL_TEXTURE_RECTANGLE_ARB);
++    glBindTexture(GL_TEXTURE_RECTANGLE_ARB, output);
+ 
+     /* set target parameters */
+     glTexParameteri(GL_TEXTURE_RECTANGLE_ARB, GL_TEXTURE_STORAGE_HINT_APPLE, GL_STORAGE_CACHED_APPLE);
+@@ -460,7 +460,7 @@ static BOOL isTextbufferEvent(NSEvent * evt)
+     if (filter != FILTER_ALL)
+     {
+         NSArray * filterTypes = [NSArray arrayWithObject: [NSString stringWithCString: winfilters[filter]
+-                                                                             encoding: NSUTF8StringEncoding]];        
++                                                                             encoding: NSUTF8StringEncoding]];
+         [openDlg setAllowedFileTypes: filterTypes];
+         [openDlg setAllowsOtherFileTypes: NO];
+     }
+@@ -485,7 +485,7 @@ static BOOL isTextbufferEvent(NSEvent * evt)
+     if (filter != FILTER_ALL)
+     {
+         NSArray * filterTypes = [NSArray arrayWithObject: [NSString stringWithCString: winfilters[filter]
+-                                                                             encoding: NSUTF8StringEncoding]];        
++                                                                             encoding: NSUTF8StringEncoding]];
+         [saveDlg setAllowedFileTypes: filterTypes];
+         [saveDlg setAllowsOtherFileTypes: NO];
+     }
+@@ -518,7 +518,7 @@ static BOOL isTextbufferEvent(NSEvent * evt)
+                          <GargoyleApp, NSApplicationDelegate, NSWindowDelegate>
+ {
+     BOOL openedFirstGame;
+-    NSMutableDictionary<NSNumber *, GargoyleWindow *> * windows;
++    NSMutableDictionary * windows;
+     NSConnection * link;
+ }
+ - (BOOL) launchFile: (NSString *) file;
+@@ -760,20 +760,20 @@ static BOOL isTextbufferEvent(NSEvent * evt)
+ - (BOOL) launchFileDialog
+ {
+     int result;
+-    
++
+     NSOpenPanel * openDlg = [NSOpenPanel openPanel];
+ 
+     [openDlg setCanChooseFiles: YES];
+     [openDlg setCanChooseDirectories: NO];
+     [openDlg setAllowsMultipleSelection: NO];
+     [openDlg setTitle: [NSString stringWithCString: AppName encoding: NSUTF8StringEncoding]];
+-    
++
+     NSMutableArray *filterTypes = [NSMutableArray arrayWithCapacity:100];
+-    
+-    NSEnumerator *docTypeEnum = [[[[NSBundle mainBundle] infoDictionary] 
++
++    NSEnumerator *docTypeEnum = [[[[NSBundle mainBundle] infoDictionary]
+                                   objectForKey:@"CFBundleDocumentTypes"] objectEnumerator];
+     NSDictionary *docType;
+-    
++
+     while (docType = [docTypeEnum nextObject])
+     {
+         [filterTypes addObjectsFromArray:[docType objectForKey: @"CFBundleTypeExtensions"]];
+diff --git a/garglk/ttsmac.m b/garglk/ttsmac.m
+index 9f6ab0e..de3d6fe 100644
+--- a/garglk/ttsmac.m
++++ b/garglk/ttsmac.m
+@@ -30,7 +30,7 @@
+ #import "sysmac.h"
+ 
+ // a queue of phrases to feed to the speech synthesizer
+-static NSMutableArray<NSString *> * phraseQueue = nil;
++static NSMutableArray * phraseQueue = nil;
+ static NSRange purgeRange;
+ 
+ @interface SpeechDelegate : NSObject <NSSpeechSynthesizerDelegate>
+@@ -96,10 +96,10 @@ void gli_initialize_tts(void)
+             NSString * lang = [NSString stringWithCString: gli_conf_speak_language
+                                                  encoding: NSUTF8StringEncoding];
+ 
+-            NSArray<NSString *> * voices = [NSSpeechSynthesizer availableVoices];
++            NSArray * voices = [NSSpeechSynthesizer availableVoices];
+             for (NSString * voice in voices)
+             {
+-                NSDictionary<NSString *, id> * attr = [NSSpeechSynthesizer attributesForVoice: voice];
++                NSDictionary * attr = [NSSpeechSynthesizer attributesForVoice: voice];
+                 if ([lang isEqualToString: [attr objectForKey: NSVoiceLocaleIdentifier]])
+                 {
+                     [synth setVoice: voice];
 diff --git a/tads/tads3/vmtz.cpp b/tads/tads3/vmtz.cpp
 index 5e193a1..dce46f7 100644
 --- a/tads/tads3/vmtz.cpp
diff --git a/pkgs/games/gargoyle/default.nix b/pkgs/games/gargoyle/default.nix
index 4c5b2827a0e..fc02bdffcad 100644
--- a/pkgs/games/gargoyle/default.nix
+++ b/pkgs/games/gargoyle/default.nix
@@ -36,6 +36,11 @@ stdenv.mkDerivation {
 
   patches = [ ./darwin.patch ];
 
+  postPatch = ''
+    substituteInPlace Jamrules \
+        --replace -mmacosx-version-min=10.7 -mmacosx-version-min=$MACOSX_DEPLOYMENT_TARGET
+  '';
+
   buildPhase = jamenv + "jam -j$NIX_BUILD_CORES";
 
   installPhase = if stdenv.isDarwin then (builtins.readFile ./darwin.sh) else jamenv + ''
diff --git a/pkgs/games/gcompris/default.nix b/pkgs/games/gcompris/default.nix
new file mode 100644
index 00000000000..89b9fca06ea
--- /dev/null
+++ b/pkgs/games/gcompris/default.nix
@@ -0,0 +1,37 @@
+{stdenv, cmake, qtbase, fetchurl, qtdeclarative, qtmultimedia, qttools, qtsensors, qmlbox2d, gettext, qtquickcontrols, qtgraphicaleffects, makeWrapper,
+  gst_all_1, ninja
+}:
+stdenv.mkDerivation rec {
+  version = "0.90";
+  name = "gcompris-${version}";
+
+  src = fetchurl {
+    url = "http://gcompris.net/download/qt/src/gcompris-qt-${version}.tar.xz";
+    sha256 = "1i5adxnhig849qxwi3c4v7r84q6agx1zxkd69fh4y7lcmq2qiaza";
+  };
+
+  cmakeFlags = "-DQML_BOX2D_LIBRARY=${qmlbox2d}/${qtbase.qtQmlPrefix}/Box2D.2.0";
+
+  nativeBuildInputs = [ cmake ninja makeWrapper ];
+  buildInputs = [ qtbase qtdeclarative qttools qtsensors qmlbox2d gettext qtquickcontrols qtmultimedia qtgraphicaleffects] ++ soundPlugins;
+  soundPlugins = with gst_all_1; [gst-plugins-good gstreamer gst-plugins-base gst-plugins-bad];
+
+  postInstall = ''
+    # install .desktop and icon file
+    mkdir -p $out/share/applications/
+    mkdir -p $out/share/icons/hicolor/256x256/apps/
+    cp ../org.kde.gcompris.desktop $out/share/applications/gcompris.desktop
+    cp -r ../images/256-apps-gcompris-qt.png $out/share/icons/hicolor/256x256/apps/gcompris-qt.png
+
+    wrapProgram "$out/bin/gcompris-qt" \
+       --prefix GST_PLUGIN_SYSTEM_PATH_1_0 : "$GST_PLUGIN_SYSTEM_PATH_1_0"
+    '';
+
+  meta = with stdenv.lib; {
+    description = "A high quality educational software suite, including a large number of activities for children aged 2 to 10";
+    homepage = "https://gcompris.net/";
+    maintainers = [ maintainers.guibou ];
+    platforms = [ "i686-linux" "x86_64-linux" ];
+    license = licenses.gpl3Plus;
+  };
+}
diff --git a/pkgs/games/gnubg/default.nix b/pkgs/games/gnubg/default.nix
index 1527a22b4ab..01815cade5e 100644
--- a/pkgs/games/gnubg/default.nix
+++ b/pkgs/games/gnubg/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, pkgconfig, glib, python, gtk2, readline }:
 
-let version = "1.04.000"; in
+let version = "1.06.001"; in
 stdenv.mkDerivation {
   name = "gnubg-"+version;
 
   src = fetchurl {
     url = "http://gnubg.org/media/sources/gnubg-release-${version}-sources.tar.gz";
-    sha256 = "0gsfl6qbj529d1jg3bkyj9m7bvb566wd7pq5fslgg5yn6c6rbjk6";
+    sha256 = "0snz3j1bvr25ji7lg82bl2gm2s2x9lrpc7viw0hclgz0ql74cw7b";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/games/gnushogi/default.nix b/pkgs/games/gnushogi/default.nix
new file mode 100644
index 00000000000..e8567455030
--- /dev/null
+++ b/pkgs/games/gnushogi/default.nix
@@ -0,0 +1,20 @@
+{ stdenv, fetchurl, zlib }:
+
+stdenv.mkDerivation rec {
+  name = "gnushogi-${version}";
+  version = "1.4.2";
+  buildInputs = [ zlib ];
+
+  src = fetchurl {
+    url = "mirror://gnu/gnushogi/${name}.tar.gz";
+    sha256 = "0a9bsl2nbnb138lq0h14jfc5xvz7hpb2bcsj4mjn6g1hcsl4ik0y";
+  };
+
+  meta = with stdenv.lib; {
+    description = "GNU implementation of Shogi, also known as Japanese Chess";
+    homepage = https://www.gnu.org/software/gnushogi/;
+    license = licenses.gpl3;
+    maintainers = [ maintainers.ciil ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/games/gzdoom/default.nix b/pkgs/games/gzdoom/default.nix
index 459c75ac290..3964eefb9b3 100644
--- a/pkgs/games/gzdoom/default.nix
+++ b/pkgs/games/gzdoom/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   name = "gzdoom-${version}";
-  version = "3.1.0";
+  version = "3.3.2";
 
   src = fetchFromGitHub {
     owner = "coelckers";
     repo = "gzdoom";
     rev = "g${version}";
-    sha256 = "02287xvlk4a07ssm9y9h5vfsvdssshz13n5bbz13pfcani5d9flv";
+    sha256 = "0zlkja0jcqi3s4iw5h076iwqxa3haradqksjnx9jxcbkvaw75p3k";
   };
 
   nativeBuildInputs = [ cmake makeWrapper ];
diff --git a/pkgs/games/instead/default.nix b/pkgs/games/instead/default.nix
index 343b2948d5e..697791d3857 100644
--- a/pkgs/games/instead/default.nix
+++ b/pkgs/games/instead/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, SDL, SDL_ttf, SDL_image, SDL_mixer, pkgconfig, lua, zlib, unzip }:
 
 let
-  version = "3.2.0";
+  version = "3.2.1";
 
   # I took several games at random from http://instead.syscall.ru/games/
   games = [
@@ -33,7 +33,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://sourceforge/project/instead/instead/${version}/instead_${version}.tar.gz";
-    sha256 = "0l57qdngxv9nbfj4ixr4fyanlazmdib2kr1nzv3g578308xzjv6a";
+    sha256 = "1lnsawbrdhdixbdhm49hc4c9vz2l3fvrpbxyk1mia2hf4pdmc594";
   };
 
   NIX_LDFLAGS = "-llua -lgcc_s";
diff --git a/pkgs/games/lbreakout2/default.nix b/pkgs/games/lbreakout2/default.nix
index eb9bed9e1d9..5ab9954739b 100644
--- a/pkgs/games/lbreakout2/default.nix
+++ b/pkgs/games/lbreakout2/default.nix
@@ -1,17 +1,15 @@
-{ stdenv, fetchurl, SDL, SDL_mixer, zlib, libpng, libintlOrEmpty }:
+{ stdenv, fetchurl, SDL, SDL_mixer, zlib, libpng, libintl }:
 
 stdenv.mkDerivation rec {
   name = "lbreakout2-${version}";
   version = "2.6.5";
-  buildInputs = [ SDL SDL_mixer zlib libpng ] ++ libintlOrEmpty;
+  buildInputs = [ SDL SDL_mixer zlib libpng libintl ];
 
   src = fetchurl {
     url = "mirror://sourceforge/lgames/${name}.tar.gz";
     sha256 = "0vwdlyvh7c4y80q5vp7fyfpzbqk9lq3w8pvavi139njkalbxc14i";
   };
 
-  NIX_LDFLAGS = stdenv.lib.optionalString stdenv.isDarwin "-lintl";
-
   meta = with stdenv.lib; {
     description = "Breakout clone from the LGames series";
     homepage = http://lgames.sourceforge.net/LBreakout2/;
diff --git a/pkgs/games/mar1d/default.nix b/pkgs/games/mar1d/default.nix
index 9e1e512d711..dce52d4c295 100644
--- a/pkgs/games/mar1d/default.nix
+++ b/pkgs/games/mar1d/default.nix
@@ -47,6 +47,7 @@ stdenv.mkDerivation rec {
       xorg.libXrandr
       xorg.libXi
       xorg.xinput
+      xorg.libXxf86vm
     ];
 
   preConfigure = ''
diff --git a/pkgs/games/openarena/default.nix b/pkgs/games/openarena/default.nix
index 1e396318bbb..22ce05cb38a 100644
--- a/pkgs/games/openarena/default.nix
+++ b/pkgs/games/openarena/default.nix
@@ -1,4 +1,4 @@
-{ fetchurl, makeWrapper, patchelf, pkgs, stdenv, SDL, libogg, libvorbis }:
+{ fetchurl, makeWrapper, patchelf, pkgs, stdenv, SDL, libogg, libvorbis, curl }:
 
 stdenv.mkDerivation rec {
   name = "openarena-${version}";
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
   installPhase = let
     gameDir = "$out/openarena-$version";
     interpreter = "$(< \"$NIX_CC/nix-support/dynamic-linker\")";
-    libPath = stdenv.lib.makeLibraryPath [ SDL libogg libvorbis ];
+    libPath = stdenv.lib.makeLibraryPath [ SDL libogg libvorbis curl ];
   in ''
     mkdir -pv $out/bin
     cd $out
diff --git a/pkgs/games/openclonk/default.nix b/pkgs/games/openclonk/default.nix
index d3fb8c7bc58..e4bcef29878 100644
--- a/pkgs/games/openclonk/default.nix
+++ b/pkgs/games/openclonk/default.nix
@@ -1,7 +1,7 @@
-{ stdenv, fetchurl, cmake, gnome3, pcre, freetype, glew, gtk3, libjpeg, libpng,
-  SDL, SDL_mixer, libupnp, xorg, pkgconfig, gtest, tinyxml, gmock, readline,
-  libxkbcommon, epoxy, at-spi2-core, dbus, libxml2,
-  enableSoundtrack ? false # Enable the "Open Clonk Soundtrack - Explorers Journey" by David Oerther
+{ stdenv, fetchurl, cmake, pkgconfig
+, SDL2, libvorbis, libogg, libjpeg, libpng, freetype, glew, tinyxml, openal
+, freealut, readline, gcc-unwrapped
+, enableSoundtrack ? false # Enable the "Open Clonk Soundtrack - Explorers Journey" by David Oerther
 }:
 
 let
@@ -10,32 +10,38 @@ let
     sha256 = "1ckj0dlpp5zsnkbb5qxxfxpkiq76jj2fgj91fyf3ll7n0gbwcgw5";
   };
 in stdenv.mkDerivation rec {
-  version = "7.0";
+  version = "8.1";
   name = "openclonk-${version}";
 
   src = fetchurl {
-    url = "http://www.openclonk.org/builds/release/7.0/openclonk-${version}-src.tar.bz2";
-    sha256 = "0ch71dqaaalg744pc1gvg6sj2yp2kgvy2m4yh6l7ljkpf8fj66mw";
+    url = "http://www.openclonk.org/builds/release/8.1/openclonk-${version}-src.tar.bz2";
+    sha256 = "0imkqjp8lww5p0cnqf4k4mb2v682mnsas63qmiz17rspakr7fxik";
   };
 
   postInstall = ''
     mv -v $out/games/openclonk $out/bin/
   '' + stdenv.lib.optionalString enableSoundtrack ''
-    cp -v ${soundtrack_src} $out/share/games/openclonk/Music.ocg
+    ln -sv ${soundtrack_src} $out/share/games/openclonk/Music.ocg
   '';
 
   enableParallelBuilding = true;
 
+  nativeBuildInputs = [ cmake pkgconfig ];
+
   buildInputs = [
-    cmake gnome3.gtksourceview pcre freetype glew gtk3 libjpeg libpng SDL
-    SDL_mixer libupnp tinyxml xorg.libpthreadstubs libxkbcommon xorg.libXdmcp
-    pkgconfig gtest gmock readline epoxy at-spi2-core dbus libxml2
+    SDL2 libvorbis libogg libjpeg libpng freetype glew tinyxml openal freealut
+    readline
   ];
 
+  cmakeFlags = [ "-DCMAKE_AR=${gcc-unwrapped}/bin/gcc-ar" "-DCMAKE_RANLIB=${gcc-unwrapped}/bin/gcc-ranlib" ];
+
+  cmakeBuildType = "RelWithDebInfo";
+
   meta = with stdenv.lib; {
     description = "Free multiplayer action game in which you control clonks, small but witty and nimble humanoid beings";
-    homepage = http://openclonk.org;
+    homepage = https://www.openclonk.org;
     license = if enableSoundtrack then licenses.unfreeRedistributable else licenses.isc;
-    platforms = platforms.all;
+    maintainers = with maintainers; [ lheckemann ];
+    platforms = [ "x86_64-linux" "i686-linux" ];
   };
 }
diff --git a/pkgs/games/openmw/default.nix b/pkgs/games/openmw/default.nix
index f64bbe4c125..8080c959638 100644
--- a/pkgs/games/openmw/default.nix
+++ b/pkgs/games/openmw/default.nix
@@ -18,7 +18,7 @@ in stdenv.mkDerivation rec {
     owner = "OpenMW";
     repo = "openmw";
     rev = name;
-    sha256 = "0lj8v81hk807dy0wcdhfp0iyn4l5yag53hx1a6xm44gh2dpyil43";
+    sha256 = "1nybxwp77qswjayf0g9xayp4x1xxq799681rhjlggch127r07ifi";
   };
 
   enableParallelBuilding = true;
diff --git a/pkgs/games/openra/default.nix b/pkgs/games/openra/default.nix
index c6aedcd172e..069ed900e8f 100644
--- a/pkgs/games/openra/default.nix
+++ b/pkgs/games/openra/default.nix
@@ -5,7 +5,7 @@
 
 stdenv.mkDerivation rec {
   name = "openra-${version}";
-  version = "20180218";
+  version = "20180307";
 
   meta = with stdenv.lib; {
     description = "Real Time Strategy game engine recreating the C&C titles";
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
     owner = "OpenRA";
     repo = "OpenRA";
     rev = "release-${version}";
-    sha256 = "1853p2q88602s3zf22wg1h2qx2x661n20bcjjbfmj0h2d4p9dmaf";
+    sha256 = "05c6vrmlgzfxgfx1idqmp6czmr079px3n57q5ahnwzqvcl11a2jj";
 
     extraPostFetch = ''
       sed -i 's,curl,curl --insecure,g' $out/thirdparty/{fetch-thirdparty-deps,noget}.sh
diff --git a/pkgs/games/openrct2/default.nix b/pkgs/games/openrct2/default.nix
index 03d296d3005..e34f29300ab 100644
--- a/pkgs/games/openrct2/default.nix
+++ b/pkgs/games/openrct2/default.nix
@@ -5,20 +5,20 @@
 
 let
   name = "openrct2-${version}";
-  version = "0.1.1";
+  version = "0.1.2";
 
   openrct2-src = fetchFromGitHub {
     owner = "OpenRCT2";
     repo = "OpenRCT2";
     rev = "v${version}";
-    sha256 = "1xxwqx2gzvsdrsy76rz3sys9m4pyn9q25nbnkba3cw1z4l2b73lg";
+    sha256 = "1zqrdxr79c9yx4bdxz1r5866hhwq0lcs9qpv3vhisr56ar5n5wk3";
   };
 
   title-sequences-src = fetchFromGitHub {
     owner = "OpenRCT2";
     repo = "title-sequences";
-    rev = "v0.1.0";
-    sha256 = "17c926lhby90ilvyyl6jsiy0df8dw5jws97xigp3x8hddhvv7c16";
+    rev = "v0.1.2";
+    sha256 = "1yb1ynkfmiankii3fngr9km5wbc07rp30nh0apkj6wryrhy7imgm";
   };
 in
 stdenv.mkDerivation rec {
diff --git a/pkgs/games/openttd/default.nix b/pkgs/games/openttd/default.nix
index d0a8469dd1d..78fdb32b436 100644
--- a/pkgs/games/openttd/default.nix
+++ b/pkgs/games/openttd/default.nix
@@ -29,11 +29,11 @@ let
 in
 stdenv.mkDerivation rec {
   name = "openttd-${version}";
-  version = "1.7.2";
+  version = "1.8.0";
 
   src = fetchurl {
     url = "http://binaries.openttd.org/releases/${version}/${name}-source.tar.xz";
-    sha256 = "1m29s6shnp7c9qh7pzdbvhy7i5awyzn1hr39xkinrpwgvsxa0lgy";
+    sha256 = "0zq8xdg0k92p3s4j9x76591zaqz7k9ra69q008m209vdfffjvly2";
   };
 
   nativeBuildInputs = [ pkgconfig makeWrapper ];
diff --git a/pkgs/games/pingus/default.nix b/pkgs/games/pingus/default.nix
index 68257fc9e9e..e8bac9571f8 100644
--- a/pkgs/games/pingus/default.nix
+++ b/pkgs/games/pingus/default.nix
@@ -1,5 +1,5 @@
-{stdenv, fetchurl, scons, SDL, SDL_image, boost, libpng, SDL_mixer, pkgconfig
-, libGLU_combined}:
+{stdenv, fetchurl, fetchpatch, scons, SDL, SDL_image, boost, libpng, SDL_mixer
+, pkgconfig, libGLU_combined}:
 let
   s = # Generated upstream information
   rec {
@@ -18,6 +18,13 @@ stdenv.mkDerivation rec {
   src = fetchurl {
     inherit (s) url sha256;
   };
+  patches = [
+    # fix build with gcc7
+    (fetchpatch {
+      url = https://github.com/Pingus/pingus/commit/df6e2f445d3e2925a94d22faeb17be9444513e92.patch;
+      sha256 = "0nqyhznnnvpgfa6rfv8rapjfpw99b67n97jfqp9r3hpib1b3ja6p";
+    })
+  ];
   makeFlags = '' PREFIX="$(out)" '';
   meta = {
     inherit (s) version;
diff --git a/pkgs/games/quake2/yquake2/default.nix b/pkgs/games/quake2/yquake2/default.nix
new file mode 100644
index 00000000000..bee7d7703ab
--- /dev/null
+++ b/pkgs/games/quake2/yquake2/default.nix
@@ -0,0 +1,93 @@
+{ stdenv, lib, fetchFromGitHub, buildEnv, cmake, makeWrapper
+, SDL2, libGL
+, oggSupport ? true, libogg, libvorbis
+, openalSupport ? true, openal
+, zipSupport ? true, zlib
+}:
+
+let
+  mkFlag = b: if b then "ON" else "OFF";
+
+  games = import ./games.nix { inherit stdenv lib fetchFromGitHub cmake; };
+
+  wrapper = import ./wrapper.nix { inherit stdenv lib buildEnv makeWrapper yquake2; };
+
+  yquake2 = stdenv.mkDerivation rec {
+    name = "yquake2-${version}";
+    version = "7.20";
+
+    src = fetchFromGitHub {
+      owner = "yquake2";
+      repo = "yquake2";
+      rev = "QUAKE2_${builtins.replaceStrings ["."] ["_"] version}";
+      sha256 = "1yrmn8vajab3zd0fni029s6wrvv2ljn1kyhaiw02wm1dc5yyzb2g";
+    };
+
+    enableParallelBuilding = true;
+
+    nativeBuildInputs = [ cmake ];
+
+    buildInputs = [ SDL2 libGL ]
+      ++ lib.optionals oggSupport [ libogg libvorbis ]
+      ++ lib.optional openalSupport openal
+      ++ lib.optional zipSupport zlib;
+
+    cmakeFlags = [
+      "-DCMAKE_BUILD_TYPE=Release"
+      "-DOGG_SUPPORT=${mkFlag oggSupport}"
+      "-DOPENAL_SUPPORT=${mkFlag openalSupport}"
+      "-DZIP_SUPPORT=${mkFlag zipSupport}"
+      "-DSYSTEMWIDE_SUPPORT=ON"
+    ];
+
+    preConfigure = ''
+      # Since we can't expand $out in `cmakeFlags`
+      cmakeFlags="$cmakeFlags -DSYSTEMDIR=$out/share/games/quake2"
+    '';
+
+    installPhase = ''
+      # Yamagi Quake II expects all binaries (executables and libs) to be in the
+      # same directory.
+      mkdir -p $out/bin $out/lib/yquake2 $out/share/games/quake2
+      cp -r release/* $out/lib/yquake2
+      ln -s $out/lib/yquake2/quake2 $out/bin/yquake2
+      ln -s $out/lib/yquake2/q2ded $out/bin/yq2ded
+      cp $src/stuff/yq2.cfg $out/share/games/quake2
+    '';
+
+    meta = with stdenv.lib; {
+      description = "Yamagi Quake II client";
+      homepage = "https://www.yamagi.org/quake2/";
+      license = licenses.gpl2;
+      platforms = platforms.unix;
+      maintainers = with maintainers; [ tadfisher ];
+    };
+  };
+
+in rec {
+  inherit yquake2;
+
+  yquake2-ctf = wrapper {
+    games = [ games.ctf ];
+    name = "yquake2-ctf";
+    inherit (games.ctf) description;
+  };
+
+  yquake2-ground-zero = wrapper {
+    games = [ games.ground-zero ];
+    name = "yquake2-ground-zero";
+    inherit (games.ground-zero) description;
+  };
+
+  yquake2-the-reckoning = wrapper {
+    games = [ games.the-reckoning ];
+    name = "yquake2-the-reckoning";
+    inherit (games.the-reckoning) description;
+  };
+
+  yquake2-all-games = wrapper {
+    games = lib.attrValues games;
+    name = "yquake2-all-games";
+    description = "Yamagi Quake II with all add-on games";
+  };
+}
diff --git a/pkgs/games/quake2/yquake2/games.nix b/pkgs/games/quake2/yquake2/games.nix
new file mode 100644
index 00000000000..059fb26eb9b
--- /dev/null
+++ b/pkgs/games/quake2/yquake2/games.nix
@@ -0,0 +1,59 @@
+{ stdenv, lib, fetchFromGitHub, cmake }:
+
+let
+  games = {
+    ctf = {
+      id = "ctf";
+      version = "1.05";
+      description = "'Capture The Flag' for Yamagi Quake II";
+      sha256 = "15ihspyshls645ig0gq6bwdzvghyyysqk60g6ad3n4idb2ms52md";
+    };
+
+    ground-zero = {
+      id = "rogue";
+      version = "2.04";
+      description = "'Ground Zero' for Yamagi Quake II";
+      sha256 = "0x1maaycrxv7d3xvvk1ih2zymhvcd3jnab7g3by8qh6g5y33is5l";
+    };
+
+    the-reckoning = {
+      id = "xatrix";
+      version = "2.05";
+      description = "'The Reckoning' for Yamagi Quake II";
+      sha256 = "0gf2ryhgz8nw1mb1arlbriihjsx09fa0wmkgcayc8ijignfi1qkh";
+    };
+  };
+
+  toDrv = title: data: stdenv.mkDerivation rec {
+    inherit (data) id version description sha256;
+    inherit title;
+
+    name = "yquake2-${title}-${version}";
+
+    src = fetchFromGitHub {
+      inherit sha256;
+      owner = "yquake2";
+      repo = data.id;
+      rev = "${lib.toUpper id}_${builtins.replaceStrings ["."] ["_"] version}";
+    };
+
+    enableParallelBuilding = true;
+
+    nativeBuildInputs = [ cmake ];
+
+    installPhase = ''
+      mkdir -p $out/lib/yquake2/${id}
+      cp Release/* $out/lib/yquake2/${id}
+    '';
+
+    meta = with stdenv.lib; {
+      inherit (data) description;
+      homepage = "https://www.yamagi.org/quake2/";
+      license = licenses.unfree;
+      platforms = platforms.unix;
+      maintainers = with maintainers; [ tadfisher ];
+    };
+  };
+
+in
+  lib.mapAttrs toDrv games
diff --git a/pkgs/games/quake2/yquake2/wrapper.nix b/pkgs/games/quake2/yquake2/wrapper.nix
new file mode 100644
index 00000000000..8cd1044456a
--- /dev/null
+++ b/pkgs/games/quake2/yquake2/wrapper.nix
@@ -0,0 +1,31 @@
+{ stdenv, lib, buildEnv, makeWrapper, yquake2 }:
+
+{ games
+, name
+, description
+}:
+
+let
+  env = buildEnv {
+    name = "${name}-env";
+    paths = [ yquake2 ] ++ games;
+  };
+
+in stdenv.mkDerivation {
+  inherit name;
+
+  nativeBuildInputs = [ makeWrapper ];
+
+  buildCommand = ''
+    mkdir -p $out/bin
+  '' + lib.concatMapStringsSep "\n" (game: ''
+    makeWrapper ${env}/bin/yquake2 $out/bin/yquake2-${game.title} \
+      --add-flags "+set game ${game.id}"
+    makeWrapper ${env}/bin/yq2ded $out/bin/yq2ded-${game.title} \
+      --add-flags "+set game ${game.id}"
+  '') games;
+
+  meta = {
+    inherit description;
+  };
+}
diff --git a/pkgs/games/quakespasm/default.nix b/pkgs/games/quakespasm/default.nix
index be480009b8a..45c3deef172 100644
--- a/pkgs/games/quakespasm/default.nix
+++ b/pkgs/games/quakespasm/default.nix
@@ -10,30 +10,32 @@ stdenv.mkDerivation rec {
   };
 
   sourceRoot = "${name}/Quake";
-  
+
   buildInputs = [
     gzip SDL libvorbis libmad
   ];
 
+  buildFlags = [ "DO_USERDIRS=1" ];
+
   preInstall = ''
     mkdir -p "$out/bin"
     substituteInPlace Makefile --replace "/usr/local/games" "$out/bin"
   '';
 
   enableParallelBuilding = true;
-  
+
   meta = {
     description = "An engine for iD software's Quake";
     homepage = http://quakespasm.sourceforge.net/;
     longDescription = ''
       QuakeSpasm is a modern, cross-platform Quake 1 engine based on FitzQuake.
-      It includes support for 64 bit CPUs and custom music playback, a new sound driver, 
+      It includes support for 64 bit CPUs and custom music playback, a new sound driver,
       some graphical niceities, and numerous bug-fixes and other improvements.
-      Quakespasm utilizes either the SDL or SDL2 frameworks, so choose which one 
-      works best for you. SDL is probably less buggy, but SDL2 has nicer features 
+      Quakespasm utilizes either the SDL or SDL2 frameworks, so choose which one
+      works best for you. SDL is probably less buggy, but SDL2 has nicer features
       and smoother mouse input - though no CD support.
     '';
-  
+
     platforms = stdenv.lib.platforms.linux;
     maintainers = [ stdenv.lib.maintainers.m3tti ];
   };
diff --git a/pkgs/games/quakespasm/vulkan.nix b/pkgs/games/quakespasm/vulkan.nix
index 675c2ab4b4d..d53977448f6 100644
--- a/pkgs/games/quakespasm/vulkan.nix
+++ b/pkgs/games/quakespasm/vulkan.nix
@@ -12,11 +12,13 @@ stdenv.mkDerivation rec {
   };
 
   sourceRoot = "source/Quake";
-  
+
   buildInputs = [
     makeWrapper gzip SDL2 libvorbis libmad vulkan-loader.dev
   ];
 
+  buildFlags = [ "DO_USERDIRS=1" ];
+
   preInstall = ''
     mkdir -p "$out/bin"
   '';
@@ -28,7 +30,7 @@ stdenv.mkDerivation rec {
   '';
 
   enableParallelBuilding = true;
-  
+
   meta = {
     description = "Vulkan Quake port based on QuakeSpasm";
     homepage = src.meta.homepage;
@@ -40,7 +42,7 @@ stdenv.mkDerivation rec {
       passes & sub passes, pipeline barriers & synchronization, compute shaders, push &
       specialization constants, CPU/GPU parallelism and memory pooling.
     '';
-  
+
     platforms = stdenv.lib.platforms.linux;
     maintainers = [ stdenv.lib.maintainers.gnidorah ];
   };
diff --git a/pkgs/games/rocksndiamonds/default.nix b/pkgs/games/rocksndiamonds/default.nix
index d563a8265b5..09478001fb7 100644
--- a/pkgs/games/rocksndiamonds/default.nix
+++ b/pkgs/games/rocksndiamonds/default.nix
@@ -3,11 +3,11 @@
 stdenv.mkDerivation rec {
   name = "${project}-${version}";
   project = "rocksndiamonds";
-  version = "4.0.1.1";
+  version = "4.1.0.0";
 
   src = fetchurl {
     url = "https://www.artsoft.org/RELEASES/unix/${project}/${name}.tar.gz";
-    sha256 = "0f2m29m53sngg2kv4km91nxbr53rzhchbpqx5dzrv3p5hq1hp936";
+    sha256 = "0bmszf2hqyh76p3lzmhljcjwlx7jzpirwx9zyzgfvwqcapf5i6af";
   };
 
   desktopItem = makeDesktopItem {
diff --git a/pkgs/games/sdlmame/default.nix b/pkgs/games/sdlmame/default.nix
index 947e52e1f13..fa498b8e041 100644
--- a/pkgs/games/sdlmame/default.nix
+++ b/pkgs/games/sdlmame/default.nix
@@ -1,7 +1,5 @@
 { stdenv, fetchurl, alsaLib, qt48, SDL, fontconfig, freetype, SDL_ttf, xorg }:
 
-assert stdenv.system == "x86_64-linux" || stdenv.system == "i686-linux";
-
 stdenv.mkDerivation rec {
   version = "0.151.u0-1";
   name    = "sdlmame-${version}";
@@ -39,6 +37,6 @@ stdenv.mkDerivation rec {
     description = "A port of the popular Multiple Arcade Machine Emulator using SDL with OpenGL support";
     license     = "MAME";
     maintainers = with maintainers; [ lovek323 ];
-    platforms   = platforms.linux;
+    platforms   = [ "x86_64-linux" "i686-linux" ];
   };
 }
diff --git a/pkgs/games/sgt-puzzles/default.nix b/pkgs/games/sgt-puzzles/default.nix
index a9f2aae443f..ce8d38ca5d1 100644
--- a/pkgs/games/sgt-puzzles/default.nix
+++ b/pkgs/games/sgt-puzzles/default.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   name = "sgt-puzzles-r${version}";
-  version = "20171029.69773d8";
+  version = "20180429.31384ca";
 
   src = fetchurl {
    url = "http://www.chiark.greenend.org.uk/~sgtatham/puzzles/puzzles-${version}.tar.gz";
-   sha256 = "0m1gaa802jyih9hcwpvb05zrzprgj6akafgvbsnq321s0sqzaxf0";
+   sha256 = "0r97kyy0rxgzw78lby2kwi8fg1yimw8a3biy5psgd983d0nwcf9l";
   };
 
   nativeBuildInputs = [ autoreconfHook makeWrapper pkgconfig perl wrapGAppsHook ];
diff --git a/pkgs/games/steam/chrootenv.nix b/pkgs/games/steam/chrootenv.nix
index 49d786284da..c44a166268c 100644
--- a/pkgs/games/steam/chrootenv.nix
+++ b/pkgs/games/steam/chrootenv.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, writeScript, buildFHSUserEnv, steam
+{ stdenv, lib, writeScript, buildFHSUserEnv, steam, glxinfo-i686
 , steam-runtime-wrapped, steam-runtime-wrapped-i686 ? null
 , withJava ? false
 , withPrimus ? false
@@ -9,29 +9,18 @@
 
 let
   commonTargetPkgs = pkgs: with pkgs;
-    let
-      tzdir = "${pkgs.tzdata}/share/zoneinfo";
-      # I'm not sure if this is the best way to add things like this
-      # to an FHSUserEnv
-      etc-zoneinfo = pkgs.runCommand "zoneinfo" {} ''
-        mkdir -p $out/etc
-        ln -s ${tzdir} $out/etc/zoneinfo
-        ln -s ${tzdir}/UTC $out/etc/localtime
-      '';
-    in [
+    [
       steamPackages.steam-fonts
       # Errors in output without those
       pciutils
       python2
       # Games' dependencies
-      xlibs.xrandr
+      xorg.xrandr
       which
       # Needed by gdialog, including in the steam-runtime
       perl
       # Open URLs
       xdg_utils
-      # Zoneinfo
-      etc-zoneinfo
       iana-etc
     ] ++ lib.optional withJava jdk
       ++ lib.optional withPrimus primus
@@ -62,15 +51,13 @@ in buildFHSUserEnv rec {
 
   multiPkgs = pkgs: with pkgs; [
     # These are required by steam with proper errors
-    xlibs.libXcomposite
-    xlibs.libXtst
-    xlibs.libXrandr
-    xlibs.libXext
-    xlibs.libX11
-    xlibs.libXfixes
-
-    # Needed to properly check for libGL.so.1 in steam-wrapper.sh
-    pkgsi686Linux.glxinfo
+    xorg.libXcomposite
+    xorg.libXtst
+    xorg.libXrandr
+    xorg.libXext
+    xorg.libX11
+    xorg.libXfixes
+    libGL
 
     # Not formally in runtime but needed by some games
     gst_all_1.gstreamer
@@ -78,20 +65,108 @@ in buildFHSUserEnv rec {
     libdrm
     mono
     xorg.xkeyboardconfig
-    xlibs.libpciaccess
-
+    xorg.libpciaccess
+  ] ++ (if (!nativeOnly) then [
     (steamPackages.steam-runtime-wrapped.override {
-      inherit nativeOnly runtimeOnly;
+      inherit runtimeOnly;
     })
-  ];
-
-  extraBuildCommands = ''
+  ] else [
+    # Required
+    glib
+    gtk2
+    bzip2
+    zlib
+    gdk_pixbuf
+
+    # Without these it silently fails
+    xorg.libXinerama
+    xorg.libXdamage
+    xorg.libXcursor
+    xorg.libXrender
+    xorg.libXScrnSaver
+    xorg.libXxf86vm
+    xorg.libXi
+    xorg.libSM
+    xorg.libICE
+    gnome2.GConf
+    freetype
+    (curl.override { gnutlsSupport = true; sslSupport = false; })
+    nspr
+    nss
+    fontconfig
+    cairo
+    pango
+    expat
+    dbus
+    cups
+    libcap
+    SDL2
+    libusb1
+    dbus-glib
+    libav
+    atk
+    # Only libraries are needed from those two
+    libudev0-shim
+    networkmanager098
+
+    # Verified games requirements
+    xorg.libXt
+    xorg.libXmu
+    xorg.libxcb
+    libGLU
+    libuuid
+    libogg
+    libvorbis
+    SDL
+    SDL2_image
+    glew110
+    openssl
+    libidn
+    tbb
+    wayland
+    mesa_noglu
+    libxkbcommon
+
+    # Other things from runtime
+    flac
+    freeglut
+    libjpeg
+    libpng12
+    libsamplerate
+    libmikmod
+    libtheora
+    libtiff
+    pixman
+    speex
+    SDL_image
+    SDL_ttf
+    SDL_mixer
+    SDL2_ttf
+    SDL2_mixer
+    gstreamer
+    gst-plugins-base
+    libappindicator-gtk2
+    libcaca
+    libcanberra
+    libgcrypt
+    libvpx
+    librsvg
+    xorg.libXft
+    libvdpau
+  ] ++ steamPackages.steam-runtime-wrapped.overridePkgs);
+
+  extraBuildCommands = if (!nativeOnly) then ''
     mkdir -p steamrt
     ln -s ../lib/steam-runtime steamrt/${steam-runtime-wrapped.arch}
     ${lib.optionalString (steam-runtime-wrapped-i686 != null) ''
       ln -s ../lib32/steam-runtime steamrt/${steam-runtime-wrapped-i686.arch}
     ''}
     ln -s ${runSh} steamrt/run.sh
+  '' else ''
+    ln -s /usr/lib/libbz2.so usr/lib/libbz2.so.1.0
+    ${lib.optionalString (steam-runtime-wrapped-i686 != null) ''
+      ln -s /usr/lib32/libbz2.so usr/lib32/libbz2.so.1.0
+    ''}
   '';
 
   extraInstallCommands = ''
@@ -102,14 +177,13 @@ in buildFHSUserEnv rec {
   '';
 
   profile = ''
-    export STEAM_RUNTIME=/steamrt
-    export TZDIR=/etc/zoneinfo
+    export STEAM_RUNTIME=${if nativeOnly then "0" else "/steamrt"}
   '';
 
   runScript = writeScript "steam-wrapper.sh" ''
     #!${stdenv.shell}
     if [ -f /host/etc/NIXOS ]; then   # Check only useful on NixOS
-      glxinfo >/dev/null 2>&1
+      ${glxinfo-i686}/bin/glxinfo >/dev/null 2>&1
       # If there was an error running glxinfo, we know something is wrong with the configuration
       if [ $? -ne 0 ]; then
         cat <<EOF > /dev/stderr
@@ -124,9 +198,13 @@ in buildFHSUserEnv rec {
     EOF
       fi
     fi
-    steam
+    exec steam "$@"
   '';
 
+  meta = steam.meta // {
+    broken = nativeOnly;
+  };
+
   passthru.run = buildFHSUserEnv {
     name = "steam-run";
 
@@ -141,8 +219,8 @@ in buildFHSUserEnv rec {
         exit 1
       fi
       shift
-      export LD_LIBRARY_PATH=${lib.concatStringsSep ":" ldPath}:$LD_LIBRARY_PATH
-      exec "$run" "$@"
+      ${lib.optionalString (!nativeOnly) "export LD_LIBRARY_PATH=${lib.concatStringsSep ":" ldPath}:$LD_LIBRARY_PATH"}
+      exec -- "$run" "$@"
     '';
   };
 }
diff --git a/pkgs/games/steam/default.nix b/pkgs/games/steam/default.nix
index 6a6485d4331..b7dbba55269 100644
--- a/pkgs/games/steam/default.nix
+++ b/pkgs/games/steam/default.nix
@@ -13,6 +13,7 @@ let
     steam = callPackage ./steam.nix { };
     steam-fonts = callPackage ./fonts.nix { };
     steam-chrootenv = callPackage ./chrootenv.nix {
+      glxinfo-i686 = pkgs.pkgsi686Linux.glxinfo;
       steam-runtime-wrapped-i686 =
         if steamArch == "amd64"
         then pkgs.pkgsi686Linux.steamPackages.steam-runtime-wrapped
diff --git a/pkgs/games/steam/runtime-wrapped.nix b/pkgs/games/steam/runtime-wrapped.nix
index 2030425ba12..b3746a50c77 100644
--- a/pkgs/games/steam/runtime-wrapped.nix
+++ b/pkgs/games/steam/runtime-wrapped.nix
@@ -1,103 +1,22 @@
 { stdenv, steamArch, lib, perl, pkgs, steam-runtime
-, nativeOnly ? false
 , runtimeOnly ? false
 }:
 
-assert !(nativeOnly && runtimeOnly);
-
 let
-  runtimePkgs = with pkgs; [
-    # Required
-    glib
-    gtk2
-    bzip2
-    zlib
-    gdk_pixbuf
-
-    # Without these it silently fails
-    xlibs.libXinerama
-    xlibs.libXdamage
-    xlibs.libXcursor
-    xlibs.libXrender
-    xlibs.libXScrnSaver
-    xlibs.libXxf86vm
-    xlibs.libXi
-    xlibs.libSM
-    xlibs.libICE
-    gnome2.GConf
-    freetype
-    (curl.override { gnutlsSupport = true; sslSupport = false; })
-    nspr
-    nss
-    fontconfig
-    cairo
-    pango
-    expat
-    dbus
-    cups
-    libcap
-    SDL2
-    libusb1
-    dbus-glib
-    libav
-    atk
-    # Only libraries are needed from those two
-    libudev0-shim
-    networkmanager098
-
-    # Verified games requirements
-    xlibs.libXmu
-    xlibs.libxcb
-    libGLU
-    libuuid
-    libogg
-    libvorbis
-    SDL
-    SDL2_image
-    glew110
-    openssl
-    libidn
-    tbb
-
-    # Other things from runtime
-    xlibs.libXinerama
-    flac
-    freeglut
-    libjpeg
-    libpng12
-    libsamplerate
-    libmikmod
-    libtheora
-    pixman
-    speex
-    SDL_image
-    SDL_ttf
-    SDL_mixer
-    SDL2_net
-    SDL2_ttf
-    SDL2_mixer
-    gstreamer
-    gst-plugins-base
-  ];
-
-  overridePkgs = with pkgs; [
+  overridePkgs = lib.optionals (!runtimeOnly) (with pkgs; [
     libgpgerror
     libpulseaudio
     alsaLib
     openalSoft
-    libva
+    libva1-full
+    libvdpau
     vulkan-loader
     gcc.cc
     nss
     nspr
-  ];
-
-  ourRuntime = if runtimeOnly then []
-               else if nativeOnly then runtimePkgs ++ overridePkgs
-               else overridePkgs;
-  steamRuntime = lib.optional (!nativeOnly) steam-runtime;
+  ]);
 
-  allPkgs = ourRuntime ++ steamRuntime;
+  allPkgs = overridePkgs ++ [ steam-runtime ];
 
   gnuArch = if steamArch == "amd64" then "x86_64-linux-gnu"
             else if steamArch == "i386" then "i386-linux-gnu"
@@ -114,7 +33,7 @@ in stdenv.mkDerivation rec {
   builder = ./build-wrapped.sh;
 
   passthru = {
-    inherit gnuArch libs bins;
+    inherit gnuArch libs bins overridePkgs;
     arch = steamArch;
   };
 
diff --git a/pkgs/games/terraria-server/default.nix b/pkgs/games/terraria-server/default.nix
index 5fcb5063bbc..65dc77fbf16 100644
--- a/pkgs/games/terraria-server/default.nix
+++ b/pkgs/games/terraria-server/default.nix
@@ -1,14 +1,13 @@
 { stdenv, lib, file, fetchurl, unzip }:
-assert stdenv.system == "x86_64-linux";
 
 stdenv.mkDerivation rec {
   name    = "terraria-server-${version}";
-  version = "1.3.1.1";
+  version = "1.3.5.3";
   urlVersion = lib.replaceChars ["."] [""] version;
 
   src = fetchurl {
     url = "http://terraria.org/server/terraria-server-${urlVersion}.zip";
-    sha256 = "0bwh0na0dy6cjc1xchd5sp3c7av50q38hk03219dmqd72n9p44rq";
+    sha256 = "0l7j2n6ip4hxph7dfal7kzdm3dqnm1wba6zc94gafkh97wr35ck3";
   };
 
   buildInputs = [ file unzip ];
@@ -31,7 +30,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     homepage = http://terraria.org;
     description = "Dedicated server for Terraria, a 2D action-adventure sandbox";
-    platforms = platforms.linux;
+    platforms = ["x86_64-linux"];
     license = licenses.unfree;
   };
 }
diff --git a/pkgs/games/the-powder-toy/default.nix b/pkgs/games/the-powder-toy/default.nix
index c70feca0860..ce5b0b26966 100644
--- a/pkgs/games/the-powder-toy/default.nix
+++ b/pkgs/games/the-powder-toy/default.nix
@@ -32,7 +32,7 @@ stdenv.mkDerivation rec {
   meta = with stdenv.lib; {
     description = "A free 2D physics sandbox game";
     homepage = http://powdertoy.co.uk/;
-    platforms = platforms.unix;
+    platforms = [ "i686-linux" "x86_64-linux" "x86_64-darwin" ];
     license = licenses.gpl3;
     maintainers = with maintainers; [ abbradar ];
   };
diff --git a/pkgs/games/tibia/default.nix b/pkgs/games/tibia/default.nix
index e5bb211eb22..e0f9bae2e39 100644
--- a/pkgs/games/tibia/default.nix
+++ b/pkgs/games/tibia/default.nix
@@ -1,7 +1,6 @@
 { stdenv, fetchurl, patchelf, glibc, libX11, libGLU_combined }:
 
 with stdenv.lib;
-assert stdenv.isi686;
 stdenv.mkDerivation {
   name = "tibia-10.90";
 
diff --git a/pkgs/games/tome4/default.nix b/pkgs/games/tome4/default.nix
index 83f34f5b04a..19cf026933e 100644
--- a/pkgs/games/tome4/default.nix
+++ b/pkgs/games/tome4/default.nix
@@ -32,7 +32,8 @@ in stdenv.mkDerivation rec {
     libGLU openal libpng libvorbis SDL2 SDL2_ttf SDL2_image
   ];
 
-  enableParallelBuilding = true;
+  # disable parallel building as it caused sporadic build failures
+  enableParallelBuilding = false;
 
   NIX_CFLAGS_COMPILE = [
     "-I${SDL2_image}/include/SDL2"
@@ -81,6 +82,6 @@ in stdenv.mkDerivation rec {
     homepage = https://te4.org/;
     license = licenses.gpl3;
     maintainers = with maintainers; [ chattered peterhoeg ];
-    platforms = platforms.linux;
+    platforms = subtractLists ["aarch64-linux"] platforms.linux;
   };
 }
diff --git a/pkgs/games/trackballs/default.nix b/pkgs/games/trackballs/default.nix
index 19be3f64045..29bf399087b 100644
--- a/pkgs/games/trackballs/default.nix
+++ b/pkgs/games/trackballs/default.nix
@@ -4,13 +4,13 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   name = "trackballs-${version}";
-  version = "1.2.4";
+  version = "1.3.0";
 
   src = fetchFromGitHub {
     owner = "trackballs";
     repo = "trackballs";
     rev = "v${version}";
-    sha256 = "0y5y8xzfsjd0rxl5wnxdq7m9n97s5xvcqyjsckz4qxrjcc3lk297";
+    sha256 = "1rahqsydpbh8nmh41fxggzj5f6s3ldf7p5krik5fnhpy0civfsxd";
   };
 
   buildInputs = [ cmake zlib SDL2 SDL2_ttf SDL2_mixer SDL2_image guile gettext libGLU_combined ];
diff --git a/pkgs/games/tuxpaint/default.nix b/pkgs/games/tuxpaint/default.nix
new file mode 100644
index 00000000000..ddf0782b210
--- /dev/null
+++ b/pkgs/games/tuxpaint/default.nix
@@ -0,0 +1,46 @@
+{ stdenv, fetchurl, SDL, SDL_image, SDL_ttf, SDL_mixer, libpng,
+  cairo, librsvg, gettext, libpaper, fribidi, pkgconfig, gperf }:
+
+stdenv.mkDerivation rec {
+  version = "0.9.22";
+  name = "tuxpaint-${version}";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/tuxpaint/${version}/${name}.tar.gz";
+    sha256 = "1qrbrdck9yxpcg3si6jb9i11w8lw9h4hqad0pfaxgyiniqpr7gca";
+  };
+
+  nativeBuildInputs = [ SDL SDL_image SDL_ttf SDL_mixer libpng cairo
+    librsvg gettext libpaper fribidi pkgconfig gperf ];
+  hardeningDisable = [ "format" ];
+  makeFlags = [ "GPERF=${gperf}/bin/gperf"
+                "PREFIX=$$out"
+                "COMPLETIONDIR=$$out/share/bash-completion/completions"
+              ];
+
+  patches = [ ./tuxpaint-completion.diff ];
+  postPatch = ''
+    grep -Zlr include.*SDL . | xargs -0 sed -i -e 's,"SDL,"SDL/SDL,'
+  '';
+
+  # stamps
+  stamps = fetchurl {
+    url = "mirror://sourceforge/project/tuxpaint/tuxpaint-stamps/2014-08-23/tuxpaint-stamps-2014.08.23.tar.gz";
+    sha256 = "0rhlwrjz44wp269v3rid4p8pi0i615pzifm1ym6va64gn1bms06q";
+  };
+
+  postInstall = ''
+    tar xzf $stamps
+    cd tuxpaint-stamps-2014.08.23
+    make install-all PREFIX=$out
+    rm -rf $out/share/tuxpaint/stamps/military
+  '';
+
+  meta = {
+    description = "Open Source Drawing Software for Children";
+    homepage = http://www.tuxpaint.org/;
+    license = stdenv.lib.licenses.gpl3;
+    maintainers = with stdenv.lib.maintainers; [ woffs ];
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/games/tuxpaint/tuxpaint-completion.diff b/pkgs/games/tuxpaint/tuxpaint-completion.diff
new file mode 100644
index 00000000000..0824b2becf4
--- /dev/null
+++ b/pkgs/games/tuxpaint/tuxpaint-completion.diff
@@ -0,0 +1,16 @@
+--- tuxpaint-0.9.22/src/tuxpaint-completion.bash~	1970-01-01 01:00:01.000000000 +0100
++++ tuxpaint-0.9.22/src/tuxpaint-completion.bash	2018-03-06 10:54:03.437560921 +0100
+@@ -8,7 +8,6 @@
+ # FIXME: See http://www.debian-administration.org/articles/316 for an intro
+ # to how we should be doing this... -bjk 2009.09.09
+ 
+-have tuxpaint &&
+ _tuxpaint()
+ {
+         local cur
+@@ -96,4 +95,4 @@
+         fi
+ 
+ }
+-[ "${have:-}" ] && complete -F _tuxpaint $filenames tuxpaint
++complete -F _tuxpaint $filenames tuxpaint
diff --git a/pkgs/games/ue4demos/default.nix b/pkgs/games/ue4demos/default.nix
index 4bac1cd1bb3..0bdb759048a 100644
--- a/pkgs/games/ue4demos/default.nix
+++ b/pkgs/games/ue4demos/default.nix
@@ -1,8 +1,5 @@
 { stdenv, fetchurl, unzip, patchelf, xorg, openal }:
 
-assert stdenv.isLinux;
-assert stdenv.isx86_64;
-
 let
   buildDemo = { name, src }:
     stdenv.mkDerivation rec {
@@ -47,7 +44,7 @@ let
       meta = {
         description = "Unreal Engine 4 Linux demos";
         homepage = https://wiki.unrealengine.com/Linux_Demos;
-        platforms = stdenv.lib.platforms.linux;
+        platforms = [ "x86_64-linux" ];
         license = stdenv.lib.licenses.unfree;
       };
     };
@@ -189,4 +186,3 @@ in {
     };
   };
 }
-
diff --git a/pkgs/games/vassal/default.nix b/pkgs/games/vassal/default.nix
index 8961dfdce3c..84984fcbb58 100644
--- a/pkgs/games/vassal/default.nix
+++ b/pkgs/games/vassal/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, jre, makeWrapper }:
 
 stdenv.mkDerivation rec {
-  name = "VASSAL-3.2.15";
+  name = "VASSAL-3.2.17";
 
   src = fetchurl {
     url = "mirror://sourceforge/vassalengine/${name}-linux.tar.bz2";
-    sha256 = "10ng571nxr5zc2nlviyrk5bci8my67kq3qvhfn9bifzkxmjlqmk9";
+    sha256 = "0nxskr46janxnb31c03zv61kr46vy98l7cwxha3vll81l4ij1sjb";
   };
 
   buildInputs = [ makeWrapper ];
diff --git a/pkgs/games/warsow/default.nix b/pkgs/games/warsow/default.nix
index 3e1729e2091..1b51130768e 100644
--- a/pkgs/games/warsow/default.nix
+++ b/pkgs/games/warsow/default.nix
@@ -1,52 +1,27 @@
-{ stdenv, fetchurl, unzip, pkgconfig, zlib, curl, libjpeg, libpng, libvorbis
-, libtheora, libXxf86dga, libXxf86vm, libXinerama, SDL, libGLU_combined, openal, freetype
-, makeWrapper
-}:
+{ stdenv, fetchurl, warsow-engine, makeWrapper }:
+
 stdenv.mkDerivation rec {
   name = "warsow-${version}";
-  version = "1.03";
-  mversion = "1.02";  # sometimes only engine is updated
-  src1 = fetchurl {
-    url = "http://www.warsow.net:1337/~warsow/${version}/warsow_${version}_sdk.tar.gz";
-    sha256 = "0z6r5v30p8fxbszmkxssv5fnnjw7w5wfn7wfgbwvmy87ayi7mkcq";
+  version = "2.1.2";
+
+  src = fetchurl {
+    url = "http://sebastian.network/warsow/${name}.tar.gz";
+    sha256 = "07y2airw5qg3s1bf1c63a6snjj22riz0mqhk62jmfm9nrarhavrc";
   };
-  src2 = fetchurl {
-    url = "http://www.warsow.net:1337/~warsow/${mversion}/warsow_${mversion}.tar.gz";
-    sha256 = "0ai5v1h5g9nq21ixz23v0qsj9dr7dbiz7l8r34mq4c3z6ili8zpy";
-  };
-  unpackPhase = ''
-    tar xf "$src1"
-    cd warsow_${version}_sdk
-    tar xf "$src2"
-    mkdir -p source/release/
-    mv warsow_${mversion}/basewsw source/release/
-    cd source
-  '';
-  patchPhase = ''
-    substituteInPlace snd_openal/snd_main.c --replace libopenal.so.1 ${openal}/lib/libopenal.so.1
-  '';
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ unzip zlib curl libjpeg libpng libvorbis libtheora
-                  libXxf86dga libXxf86vm libXinerama SDL libGLU_combined openal makeWrapper
-                ];
+
+  nativeBuildInputs = [ makeWrapper ];
+
   installPhase = ''
-    dest=$out/opt/warsow
-    cd release
-    mkdir -p $dest
+    mkdir -p $out/share/warsow
+    cp -r basewsw $out/share/warsow
+    ln -s ${warsow-engine}/lib/warsow $out/share/warsow/libs
+
     mkdir -p $out/bin
-    cp -v {warsow,wsw_server,wswtv_server}* $dest
-    cp -rv basewsw libs $dest
-    # Since 1.03 some modules are _always_ downloaded from server, thus
-    makeWrapper $dest/warsow $out/bin/warsow \
-      --suffix-each LD_LIBRARY_PATH ':' "${freetype.out}/lib"
-    makeWrapper $dest/wsw_server $out/bin/wsw_server
-    makeWrapper $dest/wswtv_server $out/bin/wswtv_server
-  '';
-  postFixup = ''
-    p=$out/opt/warsow/warsow.*
-    cur_rpath=$(patchelf --print-rpath $p)
-    patchelf --set-rpath $cur_rpath:${libGLU_combined}/lib $p
+    for i in ${warsow-engine}/bin/*; do
+      makeWrapper "$i" "$out/bin/$(basename "$i")" --run "cd $out/share/warsow"
+    done
   '';
+
   meta = with stdenv.lib; {
     description = "Multiplayer FPS game designed for competitive gaming";
     longDescription = ''
@@ -56,10 +31,8 @@ stdenv.mkDerivation rec {
       and macOS.
     '';
     homepage = http://www.warsow.net;
-    # Engine is under GPLv2, everything else is under
     license = licenses.unfreeRedistributable;
-    maintainers = with maintainers; [ astsmtl ];
-    platforms = platforms.linux;
-    broken = true; # Depends on a specific old libjpeg version
+    maintainers = with maintainers; [ astsmtl abbradar ];
+    platforms = warsow-engine.meta.platforms;
   };
 }
diff --git a/pkgs/games/warsow/engine.nix b/pkgs/games/warsow/engine.nix
new file mode 100644
index 00000000000..12832f2a439
--- /dev/null
+++ b/pkgs/games/warsow/engine.nix
@@ -0,0 +1,52 @@
+{ stdenv, lib, fetchurl, cmake, libogg, libvorbis, libtheora, curl, freetype
+, libjpeg, libpng, SDL2, libGL, openal, zlib
+}:
+
+let
+  # The game loads all those via dlopen().
+  libs = lib.mapAttrs (name: x: lib.getLib x) {
+    inherit zlib curl libpng libjpeg libogg libvorbis libtheora freetype;
+  };
+
+in stdenv.mkDerivation (libs // rec {
+  name = "warsow-engine-${version}";
+  version = "2.1.0";
+
+  src = fetchurl {
+    url = "http://sebastian.network/warsow/warsow_21_sdk.tar.gz";
+    sha256 = "0fj5k7qpf6far8i1xhqxlpfjch10zj26xpilhp95aq2yiz08pj4r";
+  };
+
+  nativeBuildInputs = [ cmake ];
+
+  buildInputs = [
+    libogg libvorbis libtheora curl freetype libjpeg SDL2 libGL openal zlib
+    libpng
+  ];
+
+  patches = [ ./libpath.patch ];
+  postPatch = ''
+    cd source/source
+    substituteAllInPlace gameshared/q_arch.h
+  '';
+
+  cmakeFlags = [ "-DQFUSION_GAME=Warsow" ];
+
+  enableParallelBuilding = true;
+
+  installPhase = ''
+    mkdir -p $out/lib
+    cp -r libs $out/lib/warsow
+    for i in warsow.* wsw_server.* wswtv_server.*; do
+      install -Dm755 "$i" "$out/bin/''${i%.*}"
+    done
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Multiplayer FPS game designed for competitive gaming (engine only)";
+    homepage = http://www.warsow.net;
+    license = licenses.gpl2;
+    maintainers = with maintainers; [ astsmtl abbradar ];
+    platforms = platforms.linux;
+  };
+})
diff --git a/pkgs/games/warsow/libpath.patch b/pkgs/games/warsow/libpath.patch
new file mode 100644
index 00000000000..ad248710237
--- /dev/null
+++ b/pkgs/games/warsow/libpath.patch
@@ -0,0 +1,28 @@
+diff -ru3 warsow_21_sdk_old/source/source/gameshared/q_arch.h warsow_21_sdk_new/source/source/gameshared/q_arch.h
+--- warsow_21_sdk_old/source/source/gameshared/q_arch.h	2016-03-26 22:22:10.000000000 +0300
++++ warsow_21_sdk_new/source/source/gameshared/q_arch.h	2018-03-13 00:37:29.907019953 +0300
+@@ -206,15 +206,15 @@
+ #endif
+ 
+ // FIXME: move these to CMakeLists.txt
+-#define LIBZ_LIBNAME "libz.so.1|libz.so"
+-#define LIBCURL_LIBNAME "libcurl.so.4|libcurl.so.3|libcurl.so"
+-#define LIBPNG_LIBNAME "libpng16.so.16|libpng15.so.15|libpng14.so.14|libpng12.so.0|libpng.so"
+-#define LIBJPEG_LIBNAME "libjpeg.so.8|libjpeg.so"
+-#define LIBOGG_LIBNAME "libogg.so.0|libogg.so"
+-#define LIBVORBIS_LIBNAME "libvorbis.so.0|libvorbis.so"
+-#define LIBVORBISFILE_LIBNAME "libvorbisfile.so.3|libvorbisfile.so"
+-#define LIBTHEORA_LIBNAME "libtheora.so.0|libtheora.so"
+-#define LIBFREETYPE_LIBNAME "libfreetype.so.6|libfreetype.so"
++#define LIBZ_LIBNAME "@zlib@/lib/libz.so"
++#define LIBCURL_LIBNAME "@curl@/lib/libcurl.so"
++#define LIBPNG_LIBNAME "@libpng@/lib/libpng.so"
++#define LIBJPEG_LIBNAME "@libjpeg@/lib/libjpeg.so"
++#define LIBOGG_LIBNAME "@libogg@/lib/libogg.so"
++#define LIBVORBIS_LIBNAME "@libvorbis@/lib/libvorbis.so"
++#define LIBVORBISFILE_LIBNAME "@libvorbis@/lib/libvorbisfile.so"
++#define LIBTHEORA_LIBNAME "@libtheora@/lib/libtheora.so"
++#define LIBFREETYPE_LIBNAME "@freetype@/lib/libfreetype.so"
+ 
+ #if defined ( __FreeBSD__ )
+ #define BUILDSTRING "FreeBSD"
diff --git a/pkgs/games/wesnoth/default.nix b/pkgs/games/wesnoth/default.nix
index d3128210a1b..4a3d2bd78a0 100644
--- a/pkgs/games/wesnoth/default.nix
+++ b/pkgs/games/wesnoth/default.nix
@@ -1,35 +1,28 @@
-{ stdenv, fetchurl, cmake, pkgconfig, SDL, SDL_image, SDL_mixer, SDL_net, SDL_ttf
-, pango, gettext, boost, freetype, libvorbis, fribidi, dbus, libpng, pcre
-, makeWrapper, enableTools ? false
+{ stdenv, fetchurl, cmake, pkgconfig, SDL2, SDL2_image, SDL2_mixer, SDL2_net, SDL2_ttf
+, pango, gettext, boost, freetype, libvorbis, fribidi, dbus, libpng, pcre, openssl, icu
+, enableTools ? false
 }:
 
 stdenv.mkDerivation rec {
   pname = "wesnoth";
-  version = "1.12.6";
+  version = "1.14.1";
 
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://sourceforge/sourceforge/${pname}/${name}.tar.bz2";
-    sha256 = "0kifp6g1dsr16m6ngjq2hx19h851fqg326ps3krnhpyix963h3x5";
+    sha256 = "1mzrnbv71b4s41c5x8clhb53l8lidiwzny1hl828228pvys5bxkb";
   };
 
-  nativeBuildInputs = [ cmake pkgconfig makeWrapper ];
+  nativeBuildInputs = [ cmake pkgconfig ];
 
-  buildInputs = [ SDL SDL_image SDL_mixer SDL_net SDL_ttf pango gettext boost
-                  libvorbis fribidi dbus libpng pcre ];
+  buildInputs = [ SDL2 SDL2_image SDL2_mixer SDL2_net SDL2_ttf pango gettext boost
+                  libvorbis fribidi dbus libpng pcre openssl icu ];
 
   cmakeFlags = [ "-DENABLE_TOOLS=${if enableTools then "ON" else "OFF"}" ];
 
   enableParallelBuilding = true;
 
-  # Wesnoth doesn't support input frameworks and Unicode input breaks when they are enabled.
-  postInstall = ''
-    for i in $out/bin/*; do
-      wrapProgram "$i" --unset XMODIFIERS
-    done
-  '';
-
   meta = with stdenv.lib; {
     description = "The Battle for Wesnoth, a free, turn-based strategy game with a fantasy theme";
     longDescription = ''
@@ -42,7 +35,7 @@ stdenv.mkDerivation rec {
 
     homepage = http://www.wesnoth.org/;
     license = licenses.gpl2;
-    maintainers = with maintainers; [ kkallio abbradar ];
-    platforms = platforms.unix;
+    maintainers = with maintainers; [ abbradar ];
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/games/wesnoth/dev.nix b/pkgs/games/wesnoth/dev.nix
deleted file mode 100644
index 9fd2dc97d98..00000000000
--- a/pkgs/games/wesnoth/dev.nix
+++ /dev/null
@@ -1,41 +0,0 @@
-{ stdenv, fetchurl, cmake, pkgconfig, SDL2, SDL2_image, SDL2_mixer, SDL2_net, SDL2_ttf
-, pango, gettext, boost, freetype, libvorbis, fribidi, dbus, libpng, pcre, openssl
-, enableTools ? false
-}:
-
-stdenv.mkDerivation rec {
-  pname = "wesnoth";
-  version = "1.13.11";
-
-  name = "${pname}-${version}";
-
-  src = fetchurl {
-    url = "mirror://sourceforge/sourceforge/${pname}/${name}.tar.bz2";
-    sha256 = "168732lmdnskca9hrkmaz4mi0bssc5ppklln10s306cbsl93bd39";
-  };
-
-  nativeBuildInputs = [ cmake pkgconfig ];
-
-  buildInputs = [ SDL2 SDL2_image SDL2_mixer SDL2_net SDL2_ttf pango gettext boost
-                  libvorbis fribidi dbus libpng pcre openssl ];
-
-  cmakeFlags = [ "-DENABLE_TOOLS=${if enableTools then "ON" else "OFF"}" ];
-
-  enableParallelBuilding = true;
-
-  meta = with stdenv.lib; {
-    description = "The Battle for Wesnoth, a free, turn-based strategy game with a fantasy theme";
-    longDescription = ''
-      The Battle for Wesnoth is a Free, turn-based tactical strategy
-      game with a high fantasy theme, featuring both single-player, and
-      online/hotseat multiplayer combat. Fight a desperate battle to
-      reclaim the throne of Wesnoth, or take hand in any number of other
-      adventures.
-    '';
-
-    homepage = http://www.wesnoth.org/;
-    license = licenses.gpl2;
-    maintainers = with maintainers; [ abbradar ];
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/games/widelands/default.nix b/pkgs/games/widelands/default.nix
index 94fd23cd8cb..222275a2ba1 100644
--- a/pkgs/games/widelands/default.nix
+++ b/pkgs/games/widelands/default.nix
@@ -26,9 +26,8 @@ stdenv.mkDerivation rec {
   ];
 
   src = fetchurl {
-    url = "https://launchpad.net/widelands/build${version}/build${version}/+download/"
-        + "widelands-build${version}-src.tar.bz2";
-    sha256 = "19h1gina7k1ai2mn2fd75lxm8iz8wrs6dz6dchdvg8i8d39gj4g5";
+    url = "http://launchpad.net/widelands/build${version}/build${version}/+download/widelands-build${version}-src-gcc7.tar.bz2";
+    sha256 = "0n2lb1c2dix32j90nir96zfqivn63izr1pmabjnhns3wbb7vhwzg";
   };
 
   preConfigure = ''
@@ -47,12 +46,12 @@ stdenv.mkDerivation rec {
   ];
 
   prePatch = ''
-    substituteInPlace ./debian/widelands.desktop --replace "/usr/share/games/widelands/data/" "$out/share/widelands/"
+    substituteInPlace ./debian/org.widelands.widelands.desktop --replace "/usr/share/games/widelands/data/" "$out/share/widelands/"
   '';
 
   postInstall = ''
     mkdir -p "$out/share/applications/"
-    cp -v "../debian/widelands.desktop" "$out/share/applications/"
+    cp -v "../debian/org.widelands.widelands.desktop" "$out/share/applications/"
   '';
 
   enableParallelBuilding = true;
diff --git a/pkgs/games/xskat/default.nix b/pkgs/games/xskat/default.nix
index bd41531d923..383bdb88284 100644
--- a/pkgs/games/xskat/default.nix
+++ b/pkgs/games/xskat/default.nix
@@ -30,7 +30,7 @@ stdenv.mkDerivation {
   meta = {
     inherit (s) version;
     description = ''Famous german card game'';
-    platforms = stdenv.lib.platforms.linux;
+    platforms = stdenv.lib.platforms.unix;
     license = stdenv.lib.licenses.free;
     longDescription = ''Play the german card game Skat against the AI or over IRC.'';
     homepage = http://www.xskat.de/;
diff --git a/pkgs/games/xsok/default.nix b/pkgs/games/xsok/default.nix
index e683e96d206..0aa0c97f07d 100644
--- a/pkgs/games/xsok/default.nix
+++ b/pkgs/games/xsok/default.nix
@@ -27,6 +27,7 @@ stdenv.mkDerivation rec {
     sed -e '/chown /d' -i src/Imakefile
     sed -e '/chmod /d' -i src/Imakefile
     sed -e '/InstallAppDefaults/d' -i src/Imakefile
+    sed -e 's/CC = gcc/CC = cc/g' -i src/Imakefile
   '';
 
   makeFlags = ["BINDIR=$(out)/bin"];
@@ -41,7 +42,7 @@ stdenv.mkDerivation rec {
     description = "A generic Sokoban game for X11";
     license = stdenv.lib.licenses.gpl2Plus;
     maintainers = [stdenv.lib.maintainers.raskin];
-    platforms = stdenv.lib.platforms.linux;
+    platforms = stdenv.lib.platforms.unix;
     homepage = https://tracker.debian.org/pkg/xsok;
   };
 }
diff --git a/pkgs/games/zandronum/default.nix b/pkgs/games/zandronum/default.nix
index 377741ef544..ce32e435608 100644
--- a/pkgs/games/zandronum/default.nix
+++ b/pkgs/games/zandronum/default.nix
@@ -1,5 +1,5 @@
 { stdenv, lib, fetchhg, cmake, pkgconfig, makeWrapper, callPackage
-, soundfont-fluid, SDL, libGLU_combined, glew, bzip2, zlib, libjpeg, fluidsynth, openssl, gtk2, python3
+, soundfont-fluid, SDL, libGL, glew, bzip2, zlib, libjpeg, fluidsynth, openssl, gtk2, python3, libgme
 , serverOnly ? false
 }:
 
@@ -7,6 +7,7 @@ let
   suffix = lib.optionalString serverOnly "-server";
   fmod = callPackage ./fmod.nix { };
   sqlite = callPackage ./sqlite.nix { };
+  clientLibPath = lib.makeLibraryPath [ fluidsynth ];
 
 in stdenv.mkDerivation {
   name = "zandronum${suffix}-3.0";
@@ -27,8 +28,8 @@ in stdenv.mkDerivation {
 
   # I have no idea why would SDL and libjpeg be needed for the server part!
   # But they are.
-  buildInputs = [ openssl bzip2 zlib SDL libjpeg sqlite ]
-             ++ lib.optionals (!serverOnly) [ libGLU_combined glew fmod fluidsynth gtk2 ];
+  buildInputs = [ openssl bzip2 zlib SDL libjpeg sqlite libgme ]
+             ++ lib.optionals (!serverOnly) [ libGL glew fmod fluidsynth gtk2 ];
 
   nativeBuildInputs = [ cmake pkgconfig makeWrapper python3 ];
 
@@ -44,9 +45,10 @@ in stdenv.mkDerivation {
   '';
 
   cmakeFlags =
-    lib.optional (!serverOnly) "-DFMOD_LIBRARY=${fmod}/lib/libfmodex.so"
-    ++ lib.optional serverOnly "-DSERVERONLY=ON"
-    ;
+    [ "-DFORCE_INTERNAL_GME=OFF" ]
+    ++ (if serverOnly
+    then [ "-DSERVERONLY=ON" ]
+    else [ "-DFMOD_LIBRARY=${fmod}/lib/libfmodex.so" ]);
 
   enableParallelBuilding = true;
 
@@ -59,16 +61,18 @@ in stdenv.mkDerivation {
        *.pk3 \
        ${lib.optionalString (!serverOnly) "liboutput_sdl.so"} \
        $out/lib/zandronum
-  '' + (if (!serverOnly) then
-          ''makeWrapper $out/lib/zandronum/zandronum $out/bin/zandronum --prefix LD_LIBRARY_PATH : "$LD_LIBRARY_PATH:${fluidsynth}/lib"''
-        else
-          ''makeWrapper $out/lib/zandronum/zandronum${suffix} $out/bin/zandronum${suffix}'');
+    makeWrapper $out/lib/zandronum/zandronum${suffix} $out/bin/zandronum${suffix}
+  '';
 
   postFixup = lib.optionalString (!serverOnly) ''
-    patchelf --set-rpath $(patchelf --print-rpath $out/lib/zandronum/zandronum):$out/lib/zandronum \
+    patchelf --set-rpath $(patchelf --print-rpath $out/lib/zandronum/zandronum):$out/lib/zandronum:${clientLibPath} \
       $out/lib/zandronum/zandronum
   '';
 
+  passthru = {
+    inherit fmod sqlite;
+  };
+
   meta = with stdenv.lib; {
     homepage = http://zandronum.com/;
     description = "Multiplayer oriented port, based off Skulltag, for Doom and Doom II by id Software";
diff --git a/pkgs/games/zandronum/fmod.nix b/pkgs/games/zandronum/fmod.nix
index b45ec24ca6b..2c53d93e401 100644
--- a/pkgs/games/zandronum/fmod.nix
+++ b/pkgs/games/zandronum/fmod.nix
@@ -1,52 +1,45 @@
-{ stdenv, fetchurl }:
+{ stdenv, lib, fetchurl, alsaLib, libpulseaudio, undmg }:
 
-assert (stdenv.system == "x86_64-linux") || (stdenv.system == "i686-linux");
 let
   bits = stdenv.lib.optionalString (stdenv.system == "x86_64-linux") "64";
+  libPath = lib.makeLibraryPath [ stdenv.cc.cc alsaLib libpulseaudio ];
 
-  libPath = stdenv.lib.makeLibraryPath
-    [ stdenv.cc.libc stdenv.cc.cc ] + ":${stdenv.cc.cc.lib}/lib64";
-  patchLib = x: "patchelf --set-rpath ${libPath} ${x}";
-
-  src =
-    (if (bits == "64") then
-      fetchurl {
-        url = "http://zandronum.com/essentials/fmod/fmodapi42416linux64.tar.gz";
-        sha256 = "0hkwlzchzzgd7fanqznbv5bs53z2qy8iiv9l2y77l4sg1jwmlm6y";
-      }
-    else
-      fetchurl {
-        url = "http://zandronum.com/essentials/fmod/fmodapi42416linux.tar.gz";
-        sha256 = "13diw3ax2slkr99mwyjyc62b8awc30k0z08cvkpk2p3i1j6f85m5";
-      }
-    );
 in
 stdenv.mkDerivation rec {
-  inherit src;
+  name = "fmod-${version}";
+  version = "4.44.64";
+  shortVersion = builtins.replaceStrings [ "." ] [ "" ] version;
+
+  src = fetchurl (if stdenv.isLinux then {
+    url = "https://zdoom.org/files/fmod/fmodapi${shortVersion}linux.tar.gz";
+    sha256 = "047hk92xapwwqj281f4zwl0ih821rrliya70gfj82sdfjh9lz8i1";
+  } else {
+    url = "https://zdoom.org/files/fmod/fmodapi${shortVersion}mac-installer.dmg";
+    sha256 = "1m1y4cpcwpkl8x31d3s68xzp107f343ma09w2437i2adn5y7m8ii";
+  });
 
-  name    = "fmod-${version}";
-  version = "4.24.16";
+  nativeBuildInputs = [ undmg ];
 
   dontStrip = true;
   dontPatchELF = true;
   dontBuild = true;
 
-  makeFlags = [ "DESTLIBDIR=$(out)/lib" "DESTHDRDIR=$(out)/include" ];
-
-  preInstall = ''
-    mkdir -p $out/lib
-  '';
-
-  postInstall = ''
-    mv $out/lib/libfmodex${bits}-${version}.so $out/lib/libfmodex.so
-    mv $out/lib/libfmodexp${bits}-${version}.so $out/lib/libfmodexp.so
+  installPhase = lib.optionalString stdenv.isLinux ''
+    install -Dm755 api/lib/libfmodex${bits}-${version}.so $out/lib/libfmodex-${version}.so
+    ln -s libfmodex-${version}.so $out/lib/libfmodex.so
+    patchelf --set-rpath ${libPath} $out/lib/libfmodex.so
+  '' + lib.optionalString stdenv.isDarwin ''
+    install -D api/lib/libfmodex.dylib $out/lib/libfmodex.dylib
+    install -D api/lib/libfmodexL.dylib $out/lib/libfmodexL.dylib
+  '' + ''
+    cp -r api/inc $out/include
   '';
 
   meta = with stdenv.lib; {
     description = "Programming library and toolkit for the creation and playback of interactive audio";
-    homepage    = "http://www.fmod.org/";
+    homepage    = http://www.fmod.org/;
     license     = licenses.unfreeRedistributable;
-    platforms   = platforms.linux;
-    maintainers = [ stdenv.lib.maintainers.lassulus ];
+    platforms   = [ "x86_64-linux" "i686-linux" "x86_64-darwin" ];
+    maintainers = [ maintainers.lassulus ];
   };
 }
diff --git a/pkgs/misc/apulse/default.nix b/pkgs/misc/apulse/default.nix
index 343dbecb22c..58e50a50f0f 100644
--- a/pkgs/misc/apulse/default.nix
+++ b/pkgs/misc/apulse/default.nix
@@ -1,14 +1,17 @@
-{ stdenv, fetchFromGitHub, alsaLib, cmake, pkgconfig, glib }:
+{ stdenv, fetchFromGitHub, alsaLib, cmake, pkgconfig, glib
+, tracingSupport ? true, logToStderr ? true }:
+
+let oz = x: if x then "1" else "0"; in
 
 stdenv.mkDerivation rec {
   name = "apulse-${version}";
-  version = "0.1.11";
+  version = "0.1.11.1";
 
   src = fetchFromGitHub {
     owner = "i-rinat";
     repo = "apulse";
-    rev = "v${version}";
-    sha256 = "16l278q0czca2794fj388ql6qn1zrw24a0p6k7bayrrf5h32fdzd";
+    rev = "602b3a02b4b459d4652a3a0a836fab6f892d4080";
+    sha256 = "0yk9vgb4aws8xnkhdhgpxp5c0rri8yq61yxk85j99j8ax806i3r8";
   };
 
   enableParallelBuilding = true;
@@ -17,6 +20,11 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ alsaLib glib ];
 
+  cmakeFlags = [
+    "-DWITH_TRACE=${oz tracingSupport}"
+    "-DLOG_TO_STDERR=${oz logToStderr}"
+  ];
+
   meta = with stdenv.lib; {
     description = "PulseAudio emulation for ALSA";
     homepage = https://github.com/i-rinat/apulse;
diff --git a/pkgs/misc/apulse/pressureaudio.nix b/pkgs/misc/apulse/pressureaudio.nix
index 255fca842a7..142b7278457 100644
--- a/pkgs/misc/apulse/pressureaudio.nix
+++ b/pkgs/misc/apulse/pressureaudio.nix
@@ -60,22 +60,22 @@ stdenv.mkDerivation {
   '';
 
   meta = apulse.meta // {
-    description = "libpulseaudio without any sound daemons over pure ALSA";
+    description = "libpulse without any sound daemons over pure ALSA";
     longDescription = ''
-      apulse (${apulse.meta.homepage}) implements most of libpulseaudio
+      apulse (${apulse.meta.homepage}) implements most of libpulse
       API over pure ALSA in 5% LOC of the original PulseAudio.
 
       But apulse is made to be used as a wrapper that substitutes its
       replacement libs into LD_LIBRARY_PATH. The problem with that is
-      that you still have to link against the original libpulseaudio.
+      that you still have to link against the original libpulse.
 
       pressureaudio (http://git.r-36.net/pressureaudio/) wraps apulse
-      with everything you need to replace libpulseaudio completely.
+      with everything you need to replace libpulse completely.
 
       This derivation is a reimplementation of pressureaudio in pure
       nix.
 
-      You can simply override libpulseaudio with this and most
+      You can simply override libpulse with this and most
       packages would just work.
     '';
   };
diff --git a/pkgs/misc/arm-trusted-firmware/default.nix b/pkgs/misc/arm-trusted-firmware/default.nix
new file mode 100644
index 00000000000..868d60d6d32
--- /dev/null
+++ b/pkgs/misc/arm-trusted-firmware/default.nix
@@ -0,0 +1,85 @@
+{ stdenv, fetchFromGitHub, buildPackages }:
+
+let
+  buildArmTrustedFirmware = { filesToInstall
+            , installDir ? "$out"
+            , platform
+            , extraMakeFlags ? []
+            , extraMeta ? {}
+            , ... } @ args:
+           stdenv.mkDerivation (rec {
+
+    name = "arm-trusted-firmware-${platform}-${version}";
+    version = "1.5";
+
+    src = fetchFromGitHub {
+      owner = "ARM-software";
+      repo = "arm-trusted-firmware";
+      rev = "refs/tags/v${version}";
+      sha256 = "1gm0bn2llzfzz9bfsz11fhwxj5lxvyrq7bc13fjj033nljzxn7k8";
+    };
+
+    depsBuildBuild = [ buildPackages.stdenv.cc ];
+
+    makeFlags = [
+      "CROSS_COMPILE=${stdenv.cc.targetPrefix}"
+      "PLAT=${platform}"
+    ] ++ extraMakeFlags;
+
+    installPhase = ''
+      runHook preInstall
+
+      mkdir -p ${installDir}
+      cp ${stdenv.lib.concatStringsSep " " filesToInstall} ${installDir}
+
+      runHook postInstall
+    '';
+
+    hardeningDisable = [ "all" ];
+    dontStrip = true;
+
+    # Fatal error: can't create build/sun50iw1p1/release/bl31/sunxi_clocks.o: No such file or directory
+    enableParallelBuilding = false;
+
+    meta = with stdenv.lib; {
+      homepage = https://github.com/ARM-software/arm-trusted-firmware;
+      description = "A reference implementation of secure world software for ARMv8-A";
+      license = licenses.bsd3;
+      maintainers = [ maintainers.lopsided98 ];
+    } // extraMeta;
+  } // builtins.removeAttrs args [ "extraMeta" ]);
+
+in rec {
+  inherit buildArmTrustedFirmware;
+
+  armTrustedFirmwareAllwinner = buildArmTrustedFirmware rec {
+    version = "1.0";
+    src = fetchFromGitHub {
+      owner = "apritzel";
+      repo = "arm-trusted-firmware";
+      # Branch: `allwinner`
+      rev = "91f2402d941036a0db092d5375d0535c270b9121";
+      sha256 = "0lbipkxb01w97r6ah8wdbwxir3013rp249fcqhlzh2gjwhp5l1ys";
+    };
+    platform = "sun50iw1p1";
+    extraMeta.platforms = ["aarch64-linux"];
+    filesToInstall = ["build/${platform}/release/bl31.bin"];
+  };
+
+  armTrustedFirmwareQemu = buildArmTrustedFirmware rec {
+    platform = "qemu";
+    extraMeta.platforms = ["aarch64-linux"];
+    filesToInstall = [
+      "build/${platform}/release/bl1.bin"
+      "build/${platform}/release/bl2.bin"
+      "build/${platform}/release/bl31.bin"
+    ];
+  };
+
+  armTrustedFirmwareRK3328 = buildArmTrustedFirmware rec {
+    extraMakeFlags = [ "bl31" ];
+    platform = "rk3328";
+    extraMeta.platforms = ["aarch64-linux"];
+    filesToInstall = [ "build/${platform}/release/bl31/bl31.elf"];
+  };
+}
diff --git a/pkgs/misc/base16-builder/node-packages.nix b/pkgs/misc/base16-builder/node-packages.nix
index bb98d7ab9cc..a112dcdec97 100644
--- a/pkgs/misc/base16-builder/node-packages.nix
+++ b/pkgs/misc/base16-builder/node-packages.nix
@@ -6,11 +6,11 @@
 
 let
   nodeEnv = import ./../../development/node-packages/node-env.nix {
-    inherit (pkgs) stdenv python2 utillinux runCommand writeTextFile;
+    inherit (pkgs) stdenv libtool python2 utillinux runCommand writeTextFile;
     inherit nodejs;
   };
 in
 import ./node-packages-generated.nix {
   inherit (pkgs) fetchurl fetchgit;
   inherit nodeEnv;
-}
\ No newline at end of file
+}
diff --git a/pkgs/misc/calaos/installer/default.nix b/pkgs/misc/calaos/installer/default.nix
new file mode 100644
index 00000000000..36c8825d27a
--- /dev/null
+++ b/pkgs/misc/calaos/installer/default.nix
@@ -0,0 +1,31 @@
+{ stdenv, fetchFromGitHub, qmake, qttools, qtbase }:
+
+stdenv.mkDerivation rec {
+  name = "calaos_installer-3.1";
+  version = "3.1";
+
+  src = fetchFromGitHub {
+    owner = "calaos";
+    repo = "calaos_installer";
+    rev = "v${version}";
+    sha256 = "0g8igj5sax5vjqzrpbil7i6329708lqqwvg5mwiqd0zzzha9sawd";
+  };
+
+  nativeBuildInputs = [ qmake qttools ];
+  buildInputs = [ qtbase ];
+
+  qmakeFlags = [ "REVISION=${version}" ];
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cp -a calaos_installer $out/bin
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Calaos Installer, a tool to create calaos configuration";
+    homepage = https://www.calaos.fr/;
+    license = licenses.gpl3Plus;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ tiramiseb ];
+  };
+}
diff --git a/pkgs/misc/cups/cups-clean-dirty.patch b/pkgs/misc/cups/cups-clean-dirty.patch
new file mode 100644
index 00000000000..0bdc8198e8f
--- /dev/null
+++ b/pkgs/misc/cups/cups-clean-dirty.patch
@@ -0,0 +1,13 @@
+diff --git a/scheduler/main.c b/scheduler/main.c
+index 8925c8373..acf031684 100644
+--- a/scheduler/main.c
++++ b/scheduler/main.c
+@@ -893,7 +893,7 @@ main(int  argc,				/* I - Number of command-line args */
+     * Write dirty config/state files...
+     */
+ 
+-    if (DirtyCleanTime && current_time >= DirtyCleanTime && cupsArrayCount(Clients) == 0)
++    if (DirtyCleanTime && current_time >= DirtyCleanTime)
+       cupsdCleanDirty();
+ 
+ #ifdef __APPLE__
diff --git a/pkgs/misc/cups/default.nix b/pkgs/misc/cups/default.nix
index db344b32d21..feeb73a27e9 100644
--- a/pkgs/misc/cups/default.nix
+++ b/pkgs/misc/cups/default.nix
@@ -22,9 +22,12 @@ stdenv.mkDerivation rec {
 
   patches = [
     (fetchpatch {
-      url = "https://git.archlinux.org/svntogit/packages.git/plain/trunk/cups-systemd-socket.patch?h=packages/cups";
+      name = "cups"; # weird name to avoid change (for now)
+      url = "https://git.archlinux.org/svntogit/packages.git/plain/trunk/cups-systemd-socket.patch"
+          + "?h=packages/cups&id=41fefa22ac518";
       sha256 = "1ddgdlg9s0l2ph6l8lx1m1lx6k50gyxqi3qiwr44ppq1rxs80ny5";
     })
+    ./cups-clean-dirty.patch
   ];
 
   nativeBuildInputs = [ pkgconfig removeReferencesTo ];
@@ -40,7 +43,6 @@ stdenv.mkDerivation rec {
   configureFlags = [
     "--localstatedir=/var"
     "--sysconfdir=/etc"
-    "--with-rundir=/run"
     "--enable-raw-printing"
     "--enable-threads"
   ] ++ optionals stdenv.isLinux [
diff --git a/pkgs/misc/cups/drivers/brlaser/default.nix b/pkgs/misc/cups/drivers/brlaser/default.nix
new file mode 100644
index 00000000000..7a6d6c3861d
--- /dev/null
+++ b/pkgs/misc/cups/drivers/brlaser/default.nix
@@ -0,0 +1,42 @@
+{ stdenv, fetchFromGitHub, cmake, zlib, cups, ghostscript }:
+
+stdenv.mkDerivation rec {
+
+  name = "brlaser";
+
+  src = fetchFromGitHub {
+    owner = "pdewacht";
+    repo = "brlaser";
+    rev = "a52149823373e11f918d9e6a56eda7242935c99b";
+    sha256 = "12d8g0aispdj2virf6vrvb0vx6d6ardjg3qyav75shsm1f94ids6";
+  };
+
+  buildInputs = [ cmake zlib cups ];
+
+  preConfigure = ''
+    cmakeFlags="$cmakeFlags -DCUPS_SERVER_BIN=$out/lib/cups/ -DCUPS_DATA_DIR=$out/share/cups/"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A CUPS driver for Brother laser printers";
+    longDescription =
+      ''
+       Although most Brother printers support a standard printer language such as PCL or PostScript, not all do. If you have a monochrome Brother laser printer (or multi-function device) and the other open source drivers don't work, this one might help.
+
+       This driver is known to work with these printers:
+
+           Brother DCP-1510
+           Brother DCP-7030
+           Brother DCP-7040
+           Brother DCP-7055
+           Brother DCP-7055W
+           Brother DCP-7065DN
+           Brother HL-L2300D
+           Brother MFC-7360N
+      '';
+    homepage = https://github.com/pdewacht/brlaser;
+    license = licenses.gpl2;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ StijnDW ];
+  };
+}
diff --git a/pkgs/misc/cups/drivers/hl1110/default.nix b/pkgs/misc/cups/drivers/hl1110/default.nix
new file mode 100644
index 00000000000..6f27985bdbf
--- /dev/null
+++ b/pkgs/misc/cups/drivers/hl1110/default.nix
@@ -0,0 +1,73 @@
+{stdenv, fetchurl, cups, dpkg, gnused, makeWrapper, ghostscript, file, a2ps, coreutils, gawk, patchelf}:
+
+let
+  version = "3.0.1-1";
+cupsdeb = fetchurl {
+  url = "http://download.brother.com/welcome/dlf100421/hl1110cupswrapper-${version}.i386.deb";
+  sha256 = "a87880f4ece764a724411b5b24d15d1b912f6ffc6ecbfd9fac4cd5eda13d2eb7";
+};
+srcdir = "hl1110cupswrapper-GPL_src-${version}";
+cupssrc = fetchurl {
+  url = "http://download.brother.com/welcome/dlf100422/${srcdir}.tar.gz";
+  sha256 = "be1dce6a4608cb253b0b382db30bf5885da46b010e8eb595b15c435e2487761c";
+};
+lprdeb = fetchurl {
+  url = "http://download.brother.com/welcome/dlf100419/hl1110lpr-${version}.i386.deb";
+  sha256 = "5af241782a0d500d7f47e06ea43d61127f4019b5b1c6e68b4c1cb4521a742c22";
+};
+  in
+stdenv.mkDerivation {
+  name = "cups-brother-hl1110";
+
+  srcs = [ lprdeb cupssrc cupsdeb ];
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ cups ghostscript dpkg a2ps ];
+  unpackPhase = ''
+    tar -xvf ${cupssrc}
+    '';
+  buildPhase = ''
+    gcc -Wall ${srcdir}/brcupsconfig/brcupsconfig.c -o brcupsconfig4
+    '';
+  installPhase = ''
+    # install lpr
+    dpkg-deb -x ${lprdeb} $out
+
+    substituteInPlace $out/opt/brother/Printers/HL1110/lpd/filter_HL1110 \
+    --replace /opt "$out/opt" \
+
+    sed -i '/GHOST_SCRIPT=/c\GHOST_SCRIPT=gs' $out/opt/brother/Printers/HL1110/lpd/psconvert2
+
+    patchelf --set-interpreter ${stdenv.glibc.out}/lib/ld-linux.so.2 $out/opt/brother/Printers/HL1110/lpd/brprintconflsr3
+    patchelf --set-interpreter ${stdenv.glibc.out}/lib/ld-linux.so.2 $out/opt/brother/Printers/HL1110/lpd/rawtobr3
+    patchelf --set-interpreter ${stdenv.glibc.out}/lib/ld-linux.so.2 $out/opt/brother/Printers/HL1110/inf/braddprinter
+
+    wrapProgram $out/opt/brother/Printers/HL1110/lpd/psconvert2 \
+    --prefix PATH ":" ${ stdenv.lib.makeBinPath [ gnused coreutils gawk ] }
+
+    wrapProgram $out/opt/brother/Printers/HL1110/lpd/filter_HL1110 \
+    --prefix PATH ":" ${ stdenv.lib.makeBinPath [ ghostscript a2ps file gnused coreutils ] }
+
+
+    dpkg-deb -x ${cupsdeb} $out
+
+    substituteInPlace $out/opt/brother/Printers/HL1110/cupswrapper/brother_lpdwrapper_HL1110 --replace /opt "$out/opt"
+
+    mkdir -p $out/lib/cups/filter
+    ln -s $out/opt/brother/Printers/HL1110/cupswrapper/brother_lpdwrapper_HL1110 $out/lib/cups/filter/brother_lpdwrapper_HL1110
+    ln -s $out/opt/brother/Printers/HL1110/cupswrapper/brother-HL1110-cups-en.ppd $out/lib/cups/filter/brother-HL1110-cups-en.ppd
+    cp brcupsconfig4 $out/opt/brother/Printers/HL1110/cupswrapper/
+    ln -s $out/opt/brother/Printers/HL1110/cupswrapper/brcupsconfig4 $out/lib/cups/filter/brcupsconfig4
+
+    wrapProgram $out/opt/brother/Printers/HL1110/cupswrapper/brother_lpdwrapper_HL1110 \
+    --prefix PATH ":" ${ stdenv.lib.makeBinPath [ gnused coreutils gawk ] }
+
+    '';
+
+  meta = {
+    homepage = http://www.brother.com/;
+    description = "Brother HL1110 printer driver";
+    license = stdenv.lib.licenses.unfree;
+    platforms = stdenv.lib.platforms.linux;
+    downloadPage = "http://support.brother.com/g/b/downloadlist.aspx?c=eu_ot&lang=en&prod=hl1110_us_eu_as&os=128#SelectLanguageType-561_0_1";
+  };
+}
diff --git a/pkgs/misc/cups/drivers/hll2390dw-cups/default.nix b/pkgs/misc/cups/drivers/hll2390dw-cups/default.nix
new file mode 100644
index 00000000000..cda4ed6304d
--- /dev/null
+++ b/pkgs/misc/cups/drivers/hll2390dw-cups/default.nix
@@ -0,0 +1,71 @@
+{ stdenv, fetchurl, makeWrapper
+, cups
+, dpkg
+, a2ps, ghostscript, gnugrep, gnused, coreutils, file, perl, which
+}:
+
+stdenv.mkDerivation rec {
+  name = "hll2390dw-cups-${version}";
+  version = "4.0.0-1";
+
+  src = fetchurl {
+    # The i386 part is a lie. There are x86, x86_64 and armv7l drivers.
+    # Though this builds only supports x86_64 for now.
+    url = "http://download.brother.com/welcome/dlf103579/hll2390dwpdrv-${version}.i386.deb";
+    sha256 = "0w8rxh1sa5amxr87qmzs4m2p06b1b36wn2q127mg427sbkh1rwni";
+  };
+
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ cups ghostscript dpkg a2ps ];
+
+  unpackPhase = "true";
+
+  installPhase = ''
+    dpkg-deb -x $src $out
+
+    substituteInPlace $out/opt/brother/Printers/HLL2390DW/lpd/lpdfilter \
+      --replace /opt "$out/opt" \
+      --replace /usr/bin/perl ${perl}/bin/perl \
+      --replace "BR_PRT_PATH =~" "BR_PRT_PATH = \"$out\"; #" \
+      --replace "PRINTER =~" "PRINTER = \"HLL2390DW\"; #"
+
+    # FIXME : Allow i686 and armv7l variations to be setup instead.
+    _PLAT=x86_64
+    patchelf --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) \
+      $out/opt/brother/Printers/HLL2390DW/lpd/$_PLAT/brprintconflsr3
+    patchelf --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) \
+      $out/opt/brother/Printers/HLL2390DW/lpd/$_PLAT/rawtobr3
+    ln -s $out/opt/brother/Printers/HLL2390DW/lpd/$_PLAT/brprintconflsr3 $out/opt/brother/Printers/HLL2390DW/lpd/brprintconflsr3
+    ln -s $out/opt/brother/Printers/HLL2390DW/lpd/$_PLAT/rawtobr3 $out/opt/brother/Printers/HLL2390DW/lpd/rawtobr3
+
+    for f in \
+      $out/opt/brother/Printers/HLL2390DW/cupswrapper/lpdwrapper \
+      $out/opt/brother/Printers/HLL2390DW/cupswrapper/paperconfigml2 \
+    ; do
+      #substituteInPlace $f \
+      wrapProgram $f \
+        --prefix PATH : ${stdenv.lib.makeBinPath [
+          coreutils ghostscript gnugrep gnused
+        ]}
+    done
+
+    mkdir -p $out/lib/cups/filter/
+    ln -s $out/opt/brother/Printers/HLL2390DW/lpd/lpdfilter $out/lib/cups/filter/brother_lpdwrapper_HLL2390DW
+
+    mkdir -p $out/share/cups/model
+    ln -s $out/opt/brother/Printers/HLL2390DW/cupswrapper/brother-HLL2390DW-cups-en.ppd $out/share/cups/model/
+
+    wrapProgram $out/opt/brother/Printers/HLL2390DW/lpd/lpdfilter \
+      --prefix PATH ":" ${ stdenv.lib.makeBinPath [ ghostscript a2ps file gnused gnugrep coreutils which ] }
+    '';
+
+  meta = with stdenv.lib; {
+    homepage = http://www.brother.com/;
+    description = "Brother HL-L2390DW combined print driver";
+    license = licenses.unfree;
+    platforms = [ "x86_64-linux" ];
+    downloadPage = http://support.brother.com/g/b/downloadlist.aspx?c=us_ot&lang=en&prod=hll2390dw_us&os=128;
+    maintainers = [ maintainers.samueldr ];
+  };
+}
+
diff --git a/pkgs/misc/cups/drivers/kyodialog3/default.nix b/pkgs/misc/cups/drivers/kyodialog3/default.nix
new file mode 100644
index 00000000000..073bd4ccbbf
--- /dev/null
+++ b/pkgs/misc/cups/drivers/kyodialog3/default.nix
@@ -0,0 +1,61 @@
+{ stdenv, lib, fetchzip, cups, autoPatchelfHook
+
+  # Can either be "EU" or "Global"; it's unclear what the difference is
+  , region ? "Global", qt4
+}:
+
+let
+  platform =
+    if stdenv.system == "x86_64-linux" then "64bit"
+    else if stdenv.system == "i686-linux" then "32bit"
+         else throw "Unsupported system: ${stdenv.system}";
+  debPlatform =
+    if platform == "64bit" then "amd64"
+    else "i386";
+  debRegion = if region == "EU" then "EU." else "";
+in
+stdenv.mkDerivation rec {
+  name = "cups-kyodialog3-${version}";
+  version = "8.1601";
+
+  dontStrip = true;
+
+  src = fetchzip {
+    url = "https://usa.kyoceradocumentsolutions.com/content/dam/kdc/kdag/downloads/technical/executables/drivers/kyoceradocumentsolutions/us/en/Kyocera_Linux_PPD_Ver_${version}.tar.gz";
+    sha256 = "11znnlkfssakml7w80gxlz1k59f3nvhph91fkzzadnm9i7a8yjal";
+  };
+
+  nativeBuildInputs = [ autoPatchelfHook ];
+
+  buildInputs = [ cups qt4 ];
+
+  installPhase = ''
+    mkdir -p $out
+    cd $out
+
+    # unpack the debian archive
+    ar p ${src}/KyoceraLinuxPackages/${region}/${platform}/kyodialog3.en${debRegion}_0.5-0_${debPlatform}.deb data.tar.gz | tar -xz
+    rm -Rf KyoceraLinuxPackages
+
+    # strip $out/usr
+    mv usr/* .
+    rmdir usr
+
+    # allow cups to find the ppd files
+    mkdir -p share/cups/model
+    mv share/ppd/kyocera share/cups/model/Kyocera
+    rmdir share/ppd
+
+    # prepend $out to all references in ppd and desktop files
+    find -name "*.ppd" -exec sed -E -i "s:/usr/lib:$out/lib:g" {} \;
+    find -name "*.desktop" -exec sed -E -i "s:/usr/lib:$out/lib:g" {} \;
+  '';
+
+  meta = with lib; {
+    description = "CUPS drivers for several Kyocera printers";
+    homepage = "https://www.kyoceradocumentsolutions.com";
+    license = licenses.unfree;
+    maintainers = [ maintainers.steveej ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/misc/cups/filters.nix b/pkgs/misc/cups/filters.nix
index f80f2ddf03e..2195cf7d2a3 100644
--- a/pkgs/misc/cups/filters.nix
+++ b/pkgs/misc/cups/filters.nix
@@ -9,11 +9,11 @@ let
 
 in stdenv.mkDerivation rec {
   name = "cups-filters-${version}";
-  version = "1.20.0";
+  version = "1.20.3";
 
   src = fetchurl {
     url = "http://openprinting.org/download/cups-filters/${name}.tar.xz";
-    sha256 = "0g6npicm1cwmxqi6ymfvf9wkplp4z2rzvjjl9v4yfvqdjq85gxnp";
+    sha256 = "1g18qkvl9zdxickiblgs2vvkip4b6p2jalw4d30zzz3hh8f1g6iv";
   };
 
   nativeBuildInputs = [ pkgconfig makeWrapper ];
@@ -56,12 +56,12 @@ in stdenv.mkDerivation rec {
     '';
 
   enableParallelBuilding = true;
+  doCheck = false; # fails 4 out of 6 tests
 
   meta = {
     homepage = http://www.linuxfoundation.org/collaborate/workgroups/openprinting/cups-filters;
     description = "Backends, filters, and other software that was once part of the core CUPS distribution but is no longer maintained by Apple Inc";
     license = stdenv.lib.licenses.gpl2;
     platforms = stdenv.lib.platforms.linux;
-    maintainers = with stdenv.lib.maintainers; [ layus ];
   };
 }
diff --git a/pkgs/misc/documentation-highlighter/LICENSE b/pkgs/misc/documentation-highlighter/LICENSE
new file mode 100644
index 00000000000..422deb7350f
--- /dev/null
+++ b/pkgs/misc/documentation-highlighter/LICENSE
@@ -0,0 +1,24 @@
+Copyright (c) 2006, Ivan Sagalaev
+All rights reserved.
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+    * Redistributions of source code must retain the above copyright
+      notice, this list of conditions and the following disclaimer.
+    * Redistributions in binary form must reproduce the above copyright
+      notice, this list of conditions and the following disclaimer in the
+      documentation and/or other materials provided with the distribution.
+    * Neither the name of highlight.js nor the names of its contributors 
+      may be used to endorse or promote products derived from this software 
+      without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND ANY
+EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE REGENTS AND CONTRIBUTORS BE LIABLE FOR ANY
+DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/pkgs/misc/documentation-highlighter/README.md b/pkgs/misc/documentation-highlighter/README.md
new file mode 100644
index 00000000000..f4baa3c8e00
--- /dev/null
+++ b/pkgs/misc/documentation-highlighter/README.md
@@ -0,0 +1,152 @@
+This file was generated with pkgs/misc/documentation-highlighter/update.sh
+
+# Highlight.js
+
+[![Build Status](https://travis-ci.org/isagalaev/highlight.js.svg?branch=master)](https://travis-ci.org/isagalaev/highlight.js)
+
+Highlight.js is a syntax highlighter written in JavaScript. It works in
+the browser as well as on the server. It works with pretty much any
+markup, doesn’t depend on any framework and has automatic language
+detection.
+
+## Getting Started
+
+The bare minimum for using highlight.js on a web page is linking to the
+library along with one of the styles and calling
+[`initHighlightingOnLoad`][1]:
+
+```html
+<link rel="stylesheet" href="/path/to/styles/default.css">
+<script src="/path/to/highlight.pack.js"></script>
+<script>hljs.initHighlightingOnLoad();</script>
+```
+
+This will find and highlight code inside of `<pre><code>` tags; it tries
+to detect the language automatically. If automatic detection doesn’t
+work for you, you can specify the language in the `class` attribute:
+
+```html
+<pre><code class="html">...</code></pre>
+```
+
+The list of supported language classes is available in the [class
+reference][2].  Classes can also be prefixed with either `language-` or
+`lang-`.
+
+To disable highlighting altogether use the `nohighlight` class:
+
+```html
+<pre><code class="nohighlight">...</code></pre>
+```
+
+## Custom Initialization
+
+When you need a bit more control over the initialization of
+highlight.js, you can use the [`highlightBlock`][3] and [`configure`][4]
+functions. This allows you to control *what* to highlight and *when*.
+
+Here’s an equivalent way to calling [`initHighlightingOnLoad`][1] using
+jQuery:
+
+```javascript
+$(document).ready(function() {
+  $('pre code').each(function(i, block) {
+    hljs.highlightBlock(block);
+  });
+});
+```
+
+You can use any tags instead of `<pre><code>` to mark up your code. If
+you don't use a container that preserve line breaks you will need to
+configure highlight.js to use the `<br>` tag:
+
+```javascript
+hljs.configure({useBR: true});
+
+$('div.code').each(function(i, block) {
+  hljs.highlightBlock(block);
+});
+```
+
+For other options refer to the documentation for [`configure`][4].
+
+
+## Web Workers
+
+You can run highlighting inside a web worker to avoid freezing the browser
+window while dealing with very big chunks of code.
+
+In your main script:
+
+```javascript
+addEventListener('load', function() {
+  var code = document.querySelector('#code');
+  var worker = new Worker('worker.js');
+  worker.onmessage = function(event) { code.innerHTML = event.data; }
+  worker.postMessage(code.textContent);
+})
+```
+
+In worker.js:
+
+```javascript
+onmessage = function(event) {
+  importScripts('<path>/highlight.pack.js');
+  var result = self.hljs.highlightAuto(event.data);
+  postMessage(result.value);
+}
+```
+
+
+## Getting the Library
+
+You can get highlight.js as a hosted, or custom-build, browser script or
+as a server module. Right out of the box the browser script supports
+both AMD and CommonJS, so if you wish you can use RequireJS or
+Browserify without having to build from source. The server module also
+works perfectly fine with Browserify, but there is the option to use a
+build specific to browsers rather than something meant for a server.
+Head over to the [download page][5] for all the options.
+
+**Don't link to GitHub directly.** The library is not supposed to work straight
+from the source, it requires building. If none of the pre-packaged options
+work for you refer to the [building documentation][6].
+
+**The CDN-hosted package doesn't have all the languages.** Otherwise it'd be
+too big. If you don't see the language you need in the ["Common" section][5],
+it can be added manually:
+
+```html
+<script src="//cdnjs.cloudflare.com/ajax/libs/highlight.js/9.4.0/languages/go.min.js"></script>
+```
+
+**On Almond.** You need to use the optimizer to give the module a name. For
+example:
+
+```
+r.js -o name=hljs paths.hljs=/path/to/highlight out=highlight.js
+```
+
+
+## License
+
+Highlight.js is released under the BSD License. See [LICENSE][7] file
+for details.
+
+## Links
+
+The official site for the library is at <https://highlightjs.org/>.
+
+Further in-depth documentation for the API and other topics is at
+<http://highlightjs.readthedocs.io/>.
+
+Authors and contributors are listed in the [AUTHORS.en.txt][8] file.
+
+[1]: http://highlightjs.readthedocs.io/en/latest/api.html#inithighlightingonload
+[2]: http://highlightjs.readthedocs.io/en/latest/css-classes-reference.html
+[3]: http://highlightjs.readthedocs.io/en/latest/api.html#highlightblock-block
+[4]: http://highlightjs.readthedocs.io/en/latest/api.html#configure-options
+[5]: https://highlightjs.org/download/
+[6]: http://highlightjs.readthedocs.io/en/latest/building-testing.html
+[7]: https://github.com/isagalaev/highlight.js/blob/master/LICENSE
+[8]: https://github.com/isagalaev/highlight.js/blob/master/AUTHORS.en.txt
diff --git a/pkgs/misc/documentation-highlighter/default.nix b/pkgs/misc/documentation-highlighter/default.nix
new file mode 100644
index 00000000000..a9fbcc178bb
--- /dev/null
+++ b/pkgs/misc/documentation-highlighter/default.nix
@@ -0,0 +1,12 @@
+{ stdenv, runCommand }:
+runCommand "documentation-highlighter" {
+  meta = {
+    description = "Highlight.js sources for the Nix Ecosystem's documentation.";
+    homepage = https://highlightjs.org;
+    license = stdenv.lib.licenses.bsd3;
+    platforms = stdenv.lib.platforms.all;
+    maintainers = [ stdenv.lib.maintainers.grahamc ];
+  };
+} ''
+  cp -r ${./.} $out
+''
diff --git a/pkgs/misc/documentation-highlighter/highlight.pack.js b/pkgs/misc/documentation-highlighter/highlight.pack.js
new file mode 100644
index 00000000000..f909702367e
--- /dev/null
+++ b/pkgs/misc/documentation-highlighter/highlight.pack.js
@@ -0,0 +1,2 @@
+/*! highlight.js v9.12.0 | BSD3 License | git.io/hljslicense */
+!function(e){var n="object"==typeof window&&window||"object"==typeof self&&self;"undefined"!=typeof exports?e(exports):n&&(n.hljs=e({}),"function"==typeof define&&define.amd&&define([],function(){return n.hljs}))}(function(e){function n(e){return e.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function t(e){return e.nodeName.toLowerCase()}function r(e,n){var t=e&&e.exec(n);return t&&0===t.index}function a(e){return k.test(e)}function i(e){var n,t,r,i,o=e.className+" ";if(o+=e.parentNode?e.parentNode.className:"",t=B.exec(o))return w(t[1])?t[1]:"no-highlight";for(o=o.split(/\s+/),n=0,r=o.length;r>n;n++)if(i=o[n],a(i)||w(i))return i}function o(e){var n,t={},r=Array.prototype.slice.call(arguments,1);for(n in e)t[n]=e[n];return r.forEach(function(e){for(n in e)t[n]=e[n]}),t}function u(e){var n=[];return function r(e,a){for(var i=e.firstChild;i;i=i.nextSibling)3===i.nodeType?a+=i.nodeValue.length:1===i.nodeType&&(n.push({event:"start",offset:a,node:i}),a=r(i,a),t(i).match(/br|hr|img|input/)||n.push({event:"stop",offset:a,node:i}));return a}(e,0),n}function c(e,r,a){function i(){return e.length&&r.length?e[0].offset!==r[0].offset?e[0].offset<r[0].offset?e:r:"start"===r[0].event?e:r:e.length?e:r}function o(e){function r(e){return" "+e.nodeName+'="'+n(e.value).replace('"',"&quot;")+'"'}s+="<"+t(e)+E.map.call(e.attributes,r).join("")+">"}function u(e){s+="</"+t(e)+">"}function c(e){("start"===e.event?o:u)(e.node)}for(var l=0,s="",f=[];e.length||r.length;){var g=i();if(s+=n(a.substring(l,g[0].offset)),l=g[0].offset,g===e){f.reverse().forEach(u);do c(g.splice(0,1)[0]),g=i();while(g===e&&g.length&&g[0].offset===l);f.reverse().forEach(o)}else"start"===g[0].event?f.push(g[0].node):f.pop(),c(g.splice(0,1)[0])}return s+n(a.substr(l))}function l(e){return e.v&&!e.cached_variants&&(e.cached_variants=e.v.map(function(n){return o(e,{v:null},n)})),e.cached_variants||e.eW&&[o(e)]||[e]}function s(e){function n(e){return e&&e.source||e}function t(t,r){return new RegExp(n(t),"m"+(e.cI?"i":"")+(r?"g":""))}function r(a,i){if(!a.compiled){if(a.compiled=!0,a.k=a.k||a.bK,a.k){var o={},u=function(n,t){e.cI&&(t=t.toLowerCase()),t.split(" ").forEach(function(e){var t=e.split("|");o[t[0]]=[n,t[1]?Number(t[1]):1]})};"string"==typeof a.k?u("keyword",a.k):x(a.k).forEach(function(e){u(e,a.k[e])}),a.k=o}a.lR=t(a.l||/\w+/,!0),i&&(a.bK&&(a.b="\\b("+a.bK.split(" ").join("|")+")\\b"),a.b||(a.b=/\B|\b/),a.bR=t(a.b),a.e||a.eW||(a.e=/\B|\b/),a.e&&(a.eR=t(a.e)),a.tE=n(a.e)||"",a.eW&&i.tE&&(a.tE+=(a.e?"|":"")+i.tE)),a.i&&(a.iR=t(a.i)),null==a.r&&(a.r=1),a.c||(a.c=[]),a.c=Array.prototype.concat.apply([],a.c.map(function(e){return l("self"===e?a:e)})),a.c.forEach(function(e){r(e,a)}),a.starts&&r(a.starts,i);var c=a.c.map(function(e){return e.bK?"\\.?("+e.b+")\\.?":e.b}).concat([a.tE,a.i]).map(n).filter(Boolean);a.t=c.length?t(c.join("|"),!0):{exec:function(){return null}}}}r(e)}function f(e,t,a,i){function o(e,n){var t,a;for(t=0,a=n.c.length;a>t;t++)if(r(n.c[t].bR,e))return n.c[t]}function u(e,n){if(r(e.eR,n)){for(;e.endsParent&&e.parent;)e=e.parent;return e}return e.eW?u(e.parent,n):void 0}function c(e,n){return!a&&r(n.iR,e)}function l(e,n){var t=N.cI?n[0].toLowerCase():n[0];return e.k.hasOwnProperty(t)&&e.k[t]}function p(e,n,t,r){var a=r?"":I.classPrefix,i='<span class="'+a,o=t?"":C;return i+=e+'">',i+n+o}function h(){var e,t,r,a;if(!E.k)return n(k);for(a="",t=0,E.lR.lastIndex=0,r=E.lR.exec(k);r;)a+=n(k.substring(t,r.index)),e=l(E,r),e?(B+=e[1],a+=p(e[0],n(r[0]))):a+=n(r[0]),t=E.lR.lastIndex,r=E.lR.exec(k);return a+n(k.substr(t))}function d(){var e="string"==typeof E.sL;if(e&&!y[E.sL])return n(k);var t=e?f(E.sL,k,!0,x[E.sL]):g(k,E.sL.length?E.sL:void 0);return E.r>0&&(B+=t.r),e&&(x[E.sL]=t.top),p(t.language,t.value,!1,!0)}function b(){L+=null!=E.sL?d():h(),k=""}function v(e){L+=e.cN?p(e.cN,"",!0):"",E=Object.create(e,{parent:{value:E}})}function m(e,n){if(k+=e,null==n)return b(),0;var t=o(n,E);if(t)return t.skip?k+=n:(t.eB&&(k+=n),b(),t.rB||t.eB||(k=n)),v(t,n),t.rB?0:n.length;var r=u(E,n);if(r){var a=E;a.skip?k+=n:(a.rE||a.eE||(k+=n),b(),a.eE&&(k=n));do E.cN&&(L+=C),E.skip||(B+=E.r),E=E.parent;while(E!==r.parent);return r.starts&&v(r.starts,""),a.rE?0:n.length}if(c(n,E))throw new Error('Illegal lexeme "'+n+'" for mode "'+(E.cN||"<unnamed>")+'"');return k+=n,n.length||1}var N=w(e);if(!N)throw new Error('Unknown language: "'+e+'"');s(N);var R,E=i||N,x={},L="";for(R=E;R!==N;R=R.parent)R.cN&&(L=p(R.cN,"",!0)+L);var k="",B=0;try{for(var M,j,O=0;;){if(E.t.lastIndex=O,M=E.t.exec(t),!M)break;j=m(t.substring(O,M.index),M[0]),O=M.index+j}for(m(t.substr(O)),R=E;R.parent;R=R.parent)R.cN&&(L+=C);return{r:B,value:L,language:e,top:E}}catch(T){if(T.message&&-1!==T.message.indexOf("Illegal"))return{r:0,value:n(t)};throw T}}function g(e,t){t=t||I.languages||x(y);var r={r:0,value:n(e)},a=r;return t.filter(w).forEach(function(n){var t=f(n,e,!1);t.language=n,t.r>a.r&&(a=t),t.r>r.r&&(a=r,r=t)}),a.language&&(r.second_best=a),r}function p(e){return I.tabReplace||I.useBR?e.replace(M,function(e,n){return I.useBR&&"\n"===e?"<br>":I.tabReplace?n.replace(/\t/g,I.tabReplace):""}):e}function h(e,n,t){var r=n?L[n]:t,a=[e.trim()];return e.match(/\bhljs\b/)||a.push("hljs"),-1===e.indexOf(r)&&a.push(r),a.join(" ").trim()}function d(e){var n,t,r,o,l,s=i(e);a(s)||(I.useBR?(n=document.createElementNS("http://www.w3.org/1999/xhtml","div"),n.innerHTML=e.innerHTML.replace(/\n/g,"").replace(/<br[ \/]*>/g,"\n")):n=e,l=n.textContent,r=s?f(s,l,!0):g(l),t=u(n),t.length&&(o=document.createElementNS("http://www.w3.org/1999/xhtml","div"),o.innerHTML=r.value,r.value=c(t,u(o),l)),r.value=p(r.value),e.innerHTML=r.value,e.className=h(e.className,s,r.language),e.result={language:r.language,re:r.r},r.second_best&&(e.second_best={language:r.second_best.language,re:r.second_best.r}))}function b(e){I=o(I,e)}function v(){if(!v.called){v.called=!0;var e=document.querySelectorAll("pre code");E.forEach.call(e,d)}}function m(){addEventListener("DOMContentLoaded",v,!1),addEventListener("load",v,!1)}function N(n,t){var r=y[n]=t(e);r.aliases&&r.aliases.forEach(function(e){L[e]=n})}function R(){return x(y)}function w(e){return e=(e||"").toLowerCase(),y[e]||y[L[e]]}var E=[],x=Object.keys,y={},L={},k=/^(no-?highlight|plain|text)$/i,B=/\blang(?:uage)?-([\w-]+)\b/i,M=/((^(<[^>]+>|\t|)+|(?:\n)))/gm,C="</span>",I={classPrefix:"hljs-",tabReplace:null,useBR:!1,languages:void 0};return e.highlight=f,e.highlightAuto=g,e.fixMarkup=p,e.highlightBlock=d,e.configure=b,e.initHighlighting=v,e.initHighlightingOnLoad=m,e.registerLanguage=N,e.listLanguages=R,e.getLanguage=w,e.inherit=o,e.IR="[a-zA-Z]\\w*",e.UIR="[a-zA-Z_]\\w*",e.NR="\\b\\d+(\\.\\d+)?",e.CNR="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",e.BNR="\\b(0b[01]+)",e.RSR="!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",e.BE={b:"\\\\[\\s\\S]",r:0},e.ASM={cN:"string",b:"'",e:"'",i:"\\n",c:[e.BE]},e.QSM={cN:"string",b:'"',e:'"',i:"\\n",c:[e.BE]},e.PWM={b:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/},e.C=function(n,t,r){var a=e.inherit({cN:"comment",b:n,e:t,c:[]},r||{});return a.c.push(e.PWM),a.c.push({cN:"doctag",b:"(?:TODO|FIXME|NOTE|BUG|XXX):",r:0}),a},e.CLCM=e.C("//","$"),e.CBCM=e.C("/\\*","\\*/"),e.HCM=e.C("#","$"),e.NM={cN:"number",b:e.NR,r:0},e.CNM={cN:"number",b:e.CNR,r:0},e.BNM={cN:"number",b:e.BNR,r:0},e.CSSNM={cN:"number",b:e.NR+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",r:0},e.RM={cN:"regexp",b:/\//,e:/\/[gimuy]*/,i:/\n/,c:[e.BE,{b:/\[/,e:/\]/,r:0,c:[e.BE]}]},e.TM={cN:"title",b:e.IR,r:0},e.UTM={cN:"title",b:e.UIR,r:0},e.METHOD_GUARD={b:"\\.\\s*"+e.UIR,r:0},e});hljs.registerLanguage("nix",function(e){var r={keyword:"rec with let in inherit assert if else then",literal:"true false or and null",built_in:"import abort baseNameOf dirOf isNull builtins map removeAttrs throw toString derivation"},t={cN:"subst",b:/\$\{/,e:/}/,k:r},i={b:/[a-zA-Z0-9-_]+(\s*=)/,rB:!0,r:0,c:[{cN:"attr",b:/\S+/}]},s={cN:"string",c:[t],v:[{b:"''",e:"''"},{b:'"',e:'"'}]},a=[e.NM,e.HCM,e.CBCM,s,i];return t.c=a,{aliases:["nixos"],k:r,c:a}});hljs.registerLanguage("bash",function(e){var t={cN:"variable",v:[{b:/\$[\w\d#@][\w\d_]*/},{b:/\$\{(.*?)}/}]},s={cN:"string",b:/"/,e:/"/,c:[e.BE,t,{cN:"variable",b:/\$\(/,e:/\)/,c:[e.BE]}]},a={cN:"string",b:/'/,e:/'/};return{aliases:["sh","zsh"],l:/\b-?[a-z\._]+\b/,k:{keyword:"if then else elif fi for while in do done case esac function",literal:"true false",built_in:"break cd continue eval exec exit export getopts hash pwd readonly return shift test times trap umask unset alias bind builtin caller command declare echo enable help let local logout mapfile printf read readarray source type typeset ulimit unalias set shopt autoload bg bindkey bye cap chdir clone comparguments compcall compctl compdescribe compfiles compgroups compquote comptags comptry compvalues dirs disable disown echotc echoti emulate fc fg float functions getcap getln history integer jobs kill limit log noglob popd print pushd pushln rehash sched setcap setopt stat suspend ttyctl unfunction unhash unlimit unsetopt vared wait whence where which zcompile zformat zftp zle zmodload zparseopts zprof zpty zregexparse zsocket zstyle ztcp",_:"-ne -eq -lt -gt -f -d -e -s -l -a"},c:[{cN:"meta",b:/^#![^\n]+sh\s*$/,r:10},{cN:"function",b:/\w[\w\d_]*\s*\(\s*\)\s*\{/,rB:!0,c:[e.inherit(e.TM,{b:/\w[\w\d_]*/})],r:0},e.HCM,s,a,t]}});
\ No newline at end of file
diff --git a/pkgs/misc/documentation-highlighter/loader.js b/pkgs/misc/documentation-highlighter/loader.js
new file mode 100644
index 00000000000..4ad7dbf24b5
--- /dev/null
+++ b/pkgs/misc/documentation-highlighter/loader.js
@@ -0,0 +1,7 @@
+/* This file is NOT part of highlight.js */
+document.onreadystatechange = function () {
+    var listings = document.querySelectorAll('.programlisting, .screen');
+    for (i = 0; i < listings.length; ++i) {
+        hljs.highlightBlock(listings[i]);
+    }
+}
diff --git a/pkgs/misc/documentation-highlighter/mono-blue.css b/pkgs/misc/documentation-highlighter/mono-blue.css
new file mode 100644
index 00000000000..884c97c7673
--- /dev/null
+++ b/pkgs/misc/documentation-highlighter/mono-blue.css
@@ -0,0 +1,59 @@
+/*
+  Five-color theme from a single blue hue.
+*/
+.hljs {
+  display: block;
+  overflow-x: auto;
+  padding: 0.5em;
+  background: #eaeef3;
+}
+
+.hljs {
+  color: #00193a;
+}
+
+.hljs-keyword,
+.hljs-selector-tag,
+.hljs-title,
+.hljs-section,
+.hljs-doctag,
+.hljs-name,
+.hljs-strong {
+  font-weight: bold;
+}
+
+.hljs-comment {
+  color: #738191;
+}
+
+.hljs-string,
+.hljs-title,
+.hljs-section,
+.hljs-built_in,
+.hljs-literal,
+.hljs-type,
+.hljs-addition,
+.hljs-tag,
+.hljs-quote,
+.hljs-name,
+.hljs-selector-id,
+.hljs-selector-class {
+  color: #0048ab;
+}
+
+.hljs-meta,
+.hljs-subst,
+.hljs-symbol,
+.hljs-regexp,
+.hljs-attribute,
+.hljs-deletion,
+.hljs-variable,
+.hljs-template-variable,
+.hljs-link,
+.hljs-bullet {
+  color: #4c81c9;
+}
+
+.hljs-emphasis {
+  font-style: italic;
+}
diff --git a/pkgs/misc/documentation-highlighter/update.sh b/pkgs/misc/documentation-highlighter/update.sh
new file mode 100755
index 00000000000..3b77af4af41
--- /dev/null
+++ b/pkgs/misc/documentation-highlighter/update.sh
@@ -0,0 +1,42 @@
+#!/usr/bin/env nix-shell
+#!nix-shell -i bash -p curl -p unzip
+
+set -eu
+set -o pipefail
+
+root=$(pwd)
+
+if [ ! -f "./update.sh" ]; then
+    echo "Please run this script from within pkgs/misc/documentation-highlighter/!"
+    exit 1
+fi
+
+scratch=$(mktemp -d -t tmp.XXXXXXXXXX)
+function finish {
+  rm -rf "$scratch"
+}
+trap finish EXIT
+
+
+mkdir $scratch/src
+cd $scratch/src
+
+token=$(curl https://highlightjs.org/download/ -c "$scratch/jar" \
+    | grep csrf \
+    | cut -d"'" -f6)
+
+curl --header "Referer: https://highlightjs.org/download/"\
+    -b "$scratch/jar" \
+    --data "csrfmiddlewaretoken=$token&nix.js=on&bash.js=on" \
+    https://highlightjs.org/download/ > $scratch/out.zip
+
+unzip "$scratch/out.zip"
+out="$root/"
+mkdir -p "$out"
+cp ./{highlight.pack.js,LICENSE,styles/mono-blue.css} "$out"
+
+(
+    echo "This file was generated with pkgs/misc/documentation-highlighter/update.sh"
+    echo ""
+    cat README.md
+) > "$out/README.md"
diff --git a/pkgs/misc/drivers/gutenprint/bin.nix b/pkgs/misc/drivers/gutenprint/bin.nix
index ac3e96e2658..021852f3505 100644
--- a/pkgs/misc/drivers/gutenprint/bin.nix
+++ b/pkgs/misc/drivers/gutenprint/bin.nix
@@ -1,7 +1,5 @@
 { stdenv, fetchurl, rpm, cpio, zlib }:
 
-assert stdenv.system == "x86_64-linux";
-
 /* usage: (sorry, its still impure but works!)
 
 impure directory:
@@ -23,7 +21,7 @@ sed -n 's/^ServerBin //p' $(sed -n 's/respawn.*-c \(.*''\) -F.*''/\1/p' /etc/eve
 then. I've tried that.
 
 TODO tidy this all up. Find source instead of binary. Fix paths ... Find out how to check ink levels etc
- 
+
 */
 
 stdenv.mkDerivation {
@@ -56,13 +54,13 @@ stdenv.mkDerivation {
       patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
           --set-rpath $libPath $p
     done
-    
+
     mkdir $out/lib
     ln -s $out/cups/lib $out/lib/cups
   '';
 
   meta = {
     description = "Some additional CUPS drivers including Canon drivers";
-    platforms = stdenv.lib.platforms.linux;
+    platforms = [ "x86_64-linux" ];
   };
 }
diff --git a/pkgs/misc/drivers/gutenprint/default.nix b/pkgs/misc/drivers/gutenprint/default.nix
index 3a46414512c..7c8750905d9 100644
--- a/pkgs/misc/drivers/gutenprint/default.nix
+++ b/pkgs/misc/drivers/gutenprint/default.nix
@@ -6,11 +6,11 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "gutenprint-5.2.13";
+  name = "gutenprint-5.2.14";
 
   src = fetchurl {
     url = "mirror://sourceforge/gimp-print/${name}.tar.bz2";
-    sha256 = "0hi7s0y59306p4kp06sankfa57k2805khbknkvl9d036hdfp9afr";
+    sha256 = "1293x19gw1b742id7c7bz5giv3vlxaqpmbdz2g0n99wny5k0ggs5";
   };
 
   nativeBuildInputs = [ makeWrapper pkgconfig ];
diff --git a/pkgs/misc/drivers/hplip/default.nix b/pkgs/misc/drivers/hplip/default.nix
index f8f8d16d142..91be6cf743a 100644
--- a/pkgs/misc/drivers/hplip/default.nix
+++ b/pkgs/misc/drivers/hplip/default.nix
@@ -11,16 +11,16 @@
 let
 
   name = "hplip-${version}";
-  version = "3.17.10";
+  version = "3.18.3";
 
   src = fetchurl {
     url = "mirror://sourceforge/hplip/${name}.tar.gz";
-    sha256 = "0v27hg856b5z2rilczcbfgz8ksxn0n810g1glac3mxkj8qbl8wqg";
+    sha256 = "0x5xs86v18w46rxz5whc15bl4fb7p4km6xqjpwzclp83nl7rl01y";
   };
 
   plugin = fetchurl {
-    url = "http://www.openprinting.org/download/printdriver/auxfiles/HP/plugins/${name}-plugin.run";
-    sha256 = "07am3dnl0ipgfswz5wndprryljh9rqbfhq7mm4d4yyj3bdnnzlig";
+    url = "https://www.openprinting.org/download/printdriver/auxfiles/HP/plugins/${name}-plugin.run";
+    sha256 = "11nc3cifhd2h2c7p0dr2jjzrg3fd5j43ih1wy0m186l6wcgdjssw";
   };
 
   hplipState = substituteAll {
@@ -57,6 +57,7 @@ pythonPackages.buildPythonApplication {
     dbus
     net_snmp
     openssl
+    zlib
   ];
 
   nativeBuildInputs = [
@@ -69,6 +70,7 @@ pythonPackages.buildPythonApplication {
     pygobject2
     reportlab
     usbutils
+    sip
   ] ++ stdenv.lib.optionals withQt5 [
     pyqt5
   ];
@@ -97,7 +99,7 @@ pythonPackages.buildPythonApplication {
       --with-mimedir=$out/etc/cups
       --enable-policykit
       --disable-qt4
-      ${stdenv.lib.optionals withQt5 "--enable-qt5"}
+      ${stdenv.lib.optionalString withQt5 "--enable-qt5"}
     "
 
     export makeFlags="
@@ -182,7 +184,7 @@ pythonPackages.buildPythonApplication {
 
   meta = with stdenv.lib; {
     description = "Print, scan and fax HP drivers for Linux";
-    homepage = http://hplipopensource.com/;
+    homepage = https://developers.hp.com/hp-linux-imaging-and-printing;
     license = if withPlugin
       then licenses.unfree
       else with licenses; [ mit bsd2 gpl2Plus ];
diff --git a/pkgs/misc/drivers/sc-controller/default.nix b/pkgs/misc/drivers/sc-controller/default.nix
index 93e8ffbc3ca..d4ed749ca9c 100644
--- a/pkgs/misc/drivers/sc-controller/default.nix
+++ b/pkgs/misc/drivers/sc-controller/default.nix
@@ -7,13 +7,13 @@
 
 buildPythonApplication rec {
   pname = "sc-controller";
-  version = "0.4.1";
+  version = "0.4.2";
 
   src = fetchFromGitHub {
     owner  = "kozec";
     repo   = pname;
     rev    = "v${version}";
-    sha256 = "0zal8sl3j17gqmynig8jhqrhj7zfqql8vci4whn19gymchwjalzi";
+    sha256 = "19i9z5cjjgi3a94hrz5g3a6m4vj71p1gs6mhklc6dq8ydwsadwzz";
   };
 
   nativeBuildInputs = [ wrapGAppsHook ];
diff --git a/pkgs/misc/emulators/caprice32/default.nix b/pkgs/misc/emulators/caprice32/default.nix
index 5928d53d542..c0c3b40f6b6 100644
--- a/pkgs/misc/emulators/caprice32/default.nix
+++ b/pkgs/misc/emulators/caprice32/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, libpng, pkgconfig, SDL, freetype, zlib, mesa }:
+{ stdenv, fetchFromGitHub, libpng, pkgconfig, SDL, freetype, zlib }:
 
 stdenv.mkDerivation rec {
 
diff --git a/pkgs/misc/emulators/citra/default.nix b/pkgs/misc/emulators/citra/default.nix
index db1de37da96..453114e3b7a 100644
--- a/pkgs/misc/emulators/citra/default.nix
+++ b/pkgs/misc/emulators/citra/default.nix
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
   meta = with stdenv.lib; {
     homepage = https://citra-emu.org/;
     description = "An open-source emulator for the Nintendo 3DS capable of playing many of your favorite games.";
-    platforms = platforms.linux;
+    platforms = [ "x86_64-linux" "i686-linux" ];
     license = licenses.gpl2;
     maintainers = with maintainers; [ abbradar ];
   };
diff --git a/pkgs/misc/emulators/dolphin-emu/master.nix b/pkgs/misc/emulators/dolphin-emu/master.nix
index e2bac5d3884..5d4e22fefae 100644
--- a/pkgs/misc/emulators/dolphin-emu/master.nix
+++ b/pkgs/misc/emulators/dolphin-emu/master.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchFromGitHub, pkgconfig, cmake, bluez, ffmpeg, libao, libGLU_combined, gtk2, glib
-, pcre, gettext, libpthreadstubs, libXrandr, libXext, libSM, readline
+, pcre, gettext, libpthreadstubs, libXrandr, libXext, libXxf86vm, libXinerama, libSM, readline
 , openal, libXdmcp, portaudio, libusb, libevdev
 , libpulseaudio ? null
 , curl
@@ -20,12 +20,12 @@ assert dolphin-wxgui || dolphin-qtgui;
 assert !(dolphin-wxgui && dolphin-qtgui);
 
 stdenv.mkDerivation rec {
-  name = "dolphin-emu-20171218";
+  name = "dolphin-emu-20180430";
   src = fetchFromGitHub {
     owner = "dolphin-emu";
     repo = "dolphin";
-    rev = "438e8b64a4b080370c7a65ed23af52838a4e7aaa";
-    sha256 = "0rrd0g1vg9jk1p4wdr6w2z34cabb7pgmpwfcl2a372ark3vi4ysc";
+    rev = "ad098283c023b0f5f0d314c646bc5d5756c35e3d";
+    sha256 = "17fv3vz0nc5jax1bbl4wny1kzsshbbhms82dxd8rzcwwvd2ad1g7";
   };
 
   cmakeFlags = [
@@ -41,7 +41,7 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ cmake pkgconfig ];
 
   buildInputs = [ curl ffmpeg libao libGLU_combined gtk2 glib pcre
-                  gettext libpthreadstubs libXrandr libXext libSM readline openal
+                  gettext libpthreadstubs libXrandr libXext libXxf86vm libXinerama libSM readline openal
                   libXdmcp portaudio libusb libpulseaudio libpng hidapi
                 ] ++ stdenv.lib.optionals stdenv.isDarwin [ wxGTK CoreBluetooth cf-private ForceFeedback IOKit OpenGL ]
                   ++ stdenv.lib.optionals stdenv.isLinux  [ bluez libevdev  ]
diff --git a/pkgs/misc/emulators/emulationstation/default.nix b/pkgs/misc/emulators/emulationstation/default.nix
index 16cb7af3d60..9dec1ecacae 100644
--- a/pkgs/misc/emulators/emulationstation/default.nix
+++ b/pkgs/misc/emulators/emulationstation/default.nix
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "A flexible emulator front-end supporting keyboardless navigation and custom system themes";
-    homepage = http://emulationstation.org;
+    homepage = https://emulationstation.org;
     maintainers = [ stdenv.lib.maintainers.edwtjo ];
     license = stdenv.lib.licenses.mit;
     platforms = stdenv.lib.platforms.linux;
diff --git a/pkgs/misc/emulators/epsxe/default.nix b/pkgs/misc/emulators/epsxe/default.nix
index e367d6a1498..2f11384d845 100644
--- a/pkgs/misc/emulators/epsxe/default.nix
+++ b/pkgs/misc/emulators/epsxe/default.nix
@@ -7,7 +7,7 @@ stdenv.mkDerivation rec {
   name = "epsxe-${version}";
   version = "2.0.5";
 
-  src = with stdenv.lib; let
+  src = let
     version2 = concatStrings (splitString "." version);
     platform = "linux" + (optionalString stdenv.is64bit "_x64");
   in fetchurl {
diff --git a/pkgs/misc/emulators/fs-uae/default.nix b/pkgs/misc/emulators/fs-uae/default.nix
index 6ba5290fa42..6d462c0e379 100644
--- a/pkgs/misc/emulators/fs-uae/default.nix
+++ b/pkgs/misc/emulators/fs-uae/default.nix
@@ -5,11 +5,11 @@ with stdenv.lib;
 stdenv.mkDerivation rec {
 
   name = "fs-uae-${version}";
-  version = "2.8.3";
+  version = "2.8.4";
 
   src = fetchurl {
-    url = "http://fs-uae.net/fs-uae/stable/${version}/${name}.tar.gz";
-    sha256 = "14k2p324sdr662f49299mv0bw5jmpj1i2iqn0xs5pgf80x6l3mg2";
+    url = "https://fs-uae.net/fs-uae/stable/${version}/${name}.tar.gz";
+    sha256 = "19ccb3gbpjwwazqc9pyin3jicjl27m2gyvy5bb5zysq0mxpzassj";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/misc/emulators/kega-fusion/default.nix b/pkgs/misc/emulators/kega-fusion/default.nix
new file mode 100644
index 00000000000..bdc372c7ca2
--- /dev/null
+++ b/pkgs/misc/emulators/kega-fusion/default.nix
@@ -0,0 +1,78 @@
+{ stdenv, lib, writeText, fetchurl, upx, libGLU, glib, gtk2, alsaLib, libSM, libX11, gdk_pixbuf, pango, libXinerama, mpg123 }:
+
+let
+  libPath = lib.makeLibraryPath [ stdenv.cc.cc libGLU glib gtk2 alsaLib libSM libX11 gdk_pixbuf pango libXinerama ];
+
+in stdenv.mkDerivation rec {
+  name = "kega-fusion-${version}";
+  version = "3.63x";
+
+  src = fetchurl {
+    url = "http://www.carpeludum.com/download/Fusion363x.tar.gz";
+    sha256 = "14s6czy20h5khyy7q95hd7k77v17ssafv9l6lafkiysvj2nmw94g";
+  };
+
+  plugins = fetchurl {
+    url = "http://www.carpeludum.com/download/PluginsLinux.tar.gz";
+    sha256 = "0d623cvh6n5ijj3wb64g93mxx2xbichsn7hj7brbb0ndw5cs70qj";
+  };
+
+  runner = writeText "kega-fusion" ''
+    #!${stdenv.shell} -ex
+
+    kega_libdir="@out@/lib/kega-fusion"
+    kega_localdir="$HOME/.Kega Fusion"
+
+    # create local plugins directory if not present
+    mkdir -p "$kega_localdir/Plugins"
+
+    # create links for every included plugin
+    if [ $(ls -1A $kega_libdir/plugins | wc -l) -gt 0 ]; then
+      for i in $kega_libdir/plugins/*; do
+        if [ ! -e "$kega_localdir/Plugins/$(basename "$i")" ]; then
+          ln -sf "$i" "$kega_localdir/Plugins/"
+        fi
+      done
+    fi
+
+    # copy configuration file if not present
+    if ! [ -f "$kega_localdir/Fusion.ini" ]; then
+      cat > "$kega_localdir/Fusion.ini" <<EOF
+    ALSADeviceName=default
+    libmpg123path=${lib.getLib mpg123}/lib/libmpg123.so.0
+    EOF
+    else
+      sed -i 's,^\(libmpg123path=\).*,\1${lib.getLib mpg123}/lib/libmpg123.so.0,' "$kega_localdir/Fusion.ini"
+    fi
+
+    # here we go!
+    exec "$kega_libdir/Fusion" "$@"
+  '';
+
+  dontStrip = true;
+  dontPatchELF = true;
+
+  nativeBuildInputs = [ upx ];
+
+  installPhase = ''
+    upx -d Fusion
+    install -Dm755 Fusion "$out/lib/kega-fusion/Fusion"
+    patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" --set-rpath "${libPath}" "$out/lib/kega-fusion/Fusion"
+
+    tar -xaf $plugins
+    mkdir -p "$out/lib/kega-fusion/plugins"
+    cp -r Plugins/*.rpi "$out/lib/kega-fusion/plugins"
+
+    mkdir -p "$out/bin"
+    substitute "$runner" "$out/bin/kega-fusion" --subst-var out
+    chmod +x "$out/bin/kega-fusion"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Sega SG1000, SC3000, SF7000, Master System, Game Gear, Genesis/Megadrive, SVP, Pico, SegaCD/MegaCD and 32X emulator";
+    homepage = http://www.carpeludum.com/kega-fusion/;
+    maintainers = with maintainers; [ abbradar ];
+    license = licenses.unfreeRedistributable;
+    platforms = [ "i686-linux" ];
+  };
+}
diff --git a/pkgs/misc/emulators/pcsx2/default.nix b/pkgs/misc/emulators/pcsx2/default.nix
index 673e4c3ed08..2e28fd297ec 100644
--- a/pkgs/misc/emulators/pcsx2/default.nix
+++ b/pkgs/misc/emulators/pcsx2/default.nix
@@ -2,8 +2,6 @@
 , makeWrapper, perl, pkgconfig, portaudio, SDL2, soundtouch, stdenv
 , wxGTK30, zlib }:
 
-assert stdenv.isi686;
-
 stdenv.mkDerivation rec {
   name = "pcsx2-${version}";
   version = "1.4.0";
diff --git a/pkgs/misc/emulators/pcsxr/default.nix b/pkgs/misc/emulators/pcsxr/default.nix
index c402dd44428..5af3042bde4 100644
--- a/pkgs/misc/emulators/pcsxr/default.nix
+++ b/pkgs/misc/emulators/pcsxr/default.nix
@@ -79,7 +79,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Playstation 1 emulator";
-    homepage = http://pcsxr.codeplex.com/;
+    homepage = https://pcsxr.codeplex.com/;
     maintainers = with maintainers; [ rardiol ];
     license = licenses.gpl2Plus;
     platforms = platforms.all;
diff --git a/pkgs/misc/emulators/qmc2/default.nix b/pkgs/misc/emulators/qmc2/default.nix
new file mode 100644
index 00000000000..2e47cead8ec
--- /dev/null
+++ b/pkgs/misc/emulators/qmc2/default.nix
@@ -0,0 +1,40 @@
+{ stdenv
+, fetchurl, qmake, qttools, pkgconfig
+, minizip, zlib
+, qtbase, qtsvg, qtmultimedia, qtwebkit, qttranslations, qtxmlpatterns
+, rsync, SDL2, xwininfo
+, utillinux
+, xorg
+}:
+
+stdenv.mkDerivation rec {
+  name = "qmc2-${version}";
+  version = "0.195";
+
+  src = fetchurl {
+      url = "mirror://sourceforge/project/qmc2/qmc2/${version}/${name}.tar.gz";
+      sha256 = "1dzmjlfk8pdspns6zg1jmd5fqzg8igd4q38cz4a1vf39lx74svns";
+  };
+  
+  preBuild = ''
+    patchShebangs scripts
+  '';
+
+  nativeBuildInputs = [ qttools pkgconfig ];
+  buildInputs = [ minizip qtbase qtsvg qtmultimedia qtwebkit
+                  qttranslations qtxmlpatterns rsync SDL2
+                  xwininfo zlib utillinux xorg.libxcb ];
+
+  makeFlags = [ "DESTDIR=$(out)"
+                "PREFIX=/"
+                "DATADIR=/share/"
+                "SYSCONFDIR=/etc" ];
+
+  meta = with stdenv.lib; {
+    description = "A Qt frontend for MAME/MESS";
+    homepage = https://qmc2.batcom-it.net;
+    license = licenses.gpl2;
+    maintainers = [ maintainers.genesis ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/misc/emulators/retroarch/default.nix b/pkgs/misc/emulators/retroarch/default.nix
index e898a5804b0..c834f6c9047 100644
--- a/pkgs/misc/emulators/retroarch/default.nix
+++ b/pkgs/misc/emulators/retroarch/default.nix
@@ -12,11 +12,20 @@
 , udev ? null
 , enableNvidiaCgToolkit ? false, nvidia_cg_toolkit ? null
 , withVulkan ? stdenv.isLinux, vulkan-loader ? null
+, targetPlatform, fetchurl
 }:
 
 with stdenv.lib;
 
-stdenv.mkDerivation rec {
+let
+
+  # ibtool is closed source so we have to download the blob
+  osx-MainMenu = fetchurl {
+    url = "https://github.com/matthewbauer/RetroArch/raw/b146a9ac6b2b516652a7bf05a9db5a804eab323d/pkg/apple/OSX/en.lproj/MainMenu.nib";
+    sha256 = "13k1l628wy0rp6wxrpwr4g1m9c997d0q8ks50f8zhmh40l5j2sp8";
+  };
+
+in stdenv.mkDerivation rec {
   name = "retroarch-bare-${version}";
   version = "1.7.1";
 
@@ -39,8 +48,31 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  postInstall = optional withVulkan ''
+  postInstall = optionalString withVulkan ''
     wrapProgram $out/bin/retroarch --prefix LD_LIBRARY_PATH ':' ${vulkan-loader}/lib
+  '' + optionalString targetPlatform.isDarwin ''
+    EXECUTABLE_NAME=RetroArch
+    PRODUCT_NAME=RetroArch
+    MACOSX_DEPLOYMENT_TARGET=10.5
+    app=$out/Applications/$PRODUCT_NAME.app
+
+    install -D pkg/apple/OSX/Info.plist $app/Contents/Info.plist
+    echo "APPL????" > $app/Contents/PkgInfo
+    mkdir -p $app/Contents/MacOS
+    ln -s $out/bin/retroarch $app/Contents/MacOS/$EXECUTABLE_NAME
+
+    # Hack to fill in Info.plist template w/o using xcode
+    sed -i -e 's,''${EXECUTABLE_NAME}'",$EXECUTABLE_NAME," \
+           -e 's,''${MACOSX_DEPLOYMENT_TARGET}'",$MACOSX_DEPLOYMENT_TARGET," \
+           -e 's,''${PRODUCT_NAME}'",$PRODUCT_NAME," \
+           -e 's,''${PRODUCT_NAME:rfc1034identifier}'",$PRODUCT_NAME," \
+           $app/Contents/Info.plist
+
+    install -D ${osx-MainMenu} \
+               $app/Contents/Resources/en.lproj/MainMenu.nib
+    install -D pkg/apple/OSX/en.lproj/InfoPlist.strings \
+               $app/Contents/Resources/en.lproj/InfoPlist.strings
+    install -D media/retroarch.icns $app/Contents/Resources/retroarch.icns
   '';
 
   preFixup = "rm $out/bin/retroarch-cg2glsl";
diff --git a/pkgs/misc/emulators/retroarch/wrapper.nix b/pkgs/misc/emulators/retroarch/wrapper.nix
index 58d41699854..71b26b4af6f 100644
--- a/pkgs/misc/emulators/retroarch/wrapper.nix
+++ b/pkgs/misc/emulators/retroarch/wrapper.nix
@@ -21,6 +21,10 @@ stdenv.mkDerivation {
 
     ln -s -t $out ${retroarch}/share
 
+    if [ -d ${retroarch}/Applications ]; then
+      ln -s -t $out ${retroarch}/Applications
+    fi
+
     makeWrapper ${retroarch}/bin/retroarch $out/bin/retroarch \
       --suffix-each LD_LIBRARY_PATH ':' "$cores" \
       --add-flags "-L $out/lib/ --menu" \
diff --git a/pkgs/misc/emulators/wine/base.nix b/pkgs/misc/emulators/wine/base.nix
index a147c986674..e0646099415 100644
--- a/pkgs/misc/emulators/wine/base.nix
+++ b/pkgs/misc/emulators/wine/base.nix
@@ -6,7 +6,6 @@
   buildScript ? null, configureFlags ? ""
 }:
 
-assert stdenv.isLinux;
 assert stdenv.cc.cc.isGNU or false;
 
 with import ./util.nix { inherit lib; };
@@ -36,10 +35,10 @@ stdenv.mkDerivation ((lib.optionalAttrs (! isNull buildScript) {
   ++ lib.optional odbcSupport            pkgs.unixODBC
   ++ lib.optional netapiSupport          pkgs.samba4
   ++ lib.optional cursesSupport          pkgs.ncurses
-  ++ lib.optional vaSupport              pkgs.libva-full
+  ++ lib.optional vaSupport              pkgs.libva
   ++ lib.optional pcapSupport            pkgs.libpcap
   ++ lib.optional v4lSupport             pkgs.libv4l
-  ++ lib.optional saneSupport            pkgs.saneBackends
+  ++ lib.optional saneSupport            pkgs.sane-backends
   ++ lib.optional gsmSupport             pkgs.gsm
   ++ lib.optional gphoto2Support         pkgs.libgphoto2
   ++ lib.optional ldapSupport            pkgs.openldap
@@ -48,12 +47,13 @@ stdenv.mkDerivation ((lib.optionalAttrs (! isNull buildScript) {
   ++ lib.optional pulseaudioSupport      pkgs.libpulseaudio
   ++ lib.optional xineramaSupport        pkgs.xorg.libXinerama
   ++ lib.optional udevSupport            pkgs.udev
+  ++ lib.optional vulkanSupport          pkgs.vulkan-loader
   ++ lib.optionals gstreamerSupport      (with pkgs.gst_all_1; [ gstreamer gst-plugins-base gst-plugins-good gst-plugins-bad gst-plugins-ugly gst-libav ])
   ++ lib.optionals gtkSupport    [ pkgs.gtk3 pkgs.glib ]
   ++ lib.optionals openclSupport [ pkgs.opencl-headers pkgs.ocl-icd ]
   ++ lib.optionals xmlSupport    [ pkgs.libxml2 pkgs.libxslt ]
   ++ lib.optionals tlsSupport    [ pkgs.openssl pkgs.gnutls ]
-  ++ lib.optionals openglSupport [ pkgs.libGLU_combined pkgs.libGL.osmesa pkgs.libdrm ]
+  ++ lib.optionals openglSupport [ pkgs.libGLU_combined pkgs.mesa_noglu.osmesa pkgs.libdrm ]
   ++ (with pkgs.xorg; [
     libX11  libXi libXcursor libXrandr libXrender libXxf86vm libXcomposite libXext
   ])));
@@ -83,7 +83,7 @@ stdenv.mkDerivation ((lib.optionalAttrs (! isNull buildScript) {
   # Add capability to ignore known failing tests
   # and enable doCheck
   doCheck = false;
-  
+
   postInstall = let
     links = prefix: pkg: "ln -s ${pkg} $out/${prefix}/${pkg.name}";
   in ''
@@ -100,9 +100,13 @@ stdenv.mkDerivation ((lib.optionalAttrs (! isNull buildScript) {
       fi
     done
   '';
-  
+
   enableParallelBuilding = true;
 
+  # https://bugs.winehq.org/show_bug.cgi?id=43530
+  # https://github.com/NixOS/nixpkgs/issues/31989
+  hardeningDisable = [ "bindnow" ];
+
   passthru = { inherit pkgArches; };
   meta = {
     inherit version platforms;
diff --git a/pkgs/misc/emulators/wine/builder-wow.sh b/pkgs/misc/emulators/wine/builder-wow.sh
index cf6cc59a6da..1aad9fe20c7 100644
--- a/pkgs/misc/emulators/wine/builder-wow.sh
+++ b/pkgs/misc/emulators/wine/builder-wow.sh
@@ -26,7 +26,7 @@ buildPhase
 # checkPhase
 
 eval "$preInstall"
-cd $TMP/wine64 && make install
 cd $TMP/wine-wow && make install
+cd $TMP/wine64 && make install
 eval "$postInstall"
 fixupPhase
diff --git a/pkgs/misc/emulators/wine/default.nix b/pkgs/misc/emulators/wine/default.nix
index 928e692df6b..ca67ca836ba 100644
--- a/pkgs/misc/emulators/wine/default.nix
+++ b/pkgs/misc/emulators/wine/default.nix
@@ -40,7 +40,9 @@
   pulseaudioSupport ? false,
   udevSupport ? false,
   xineramaSupport ? false,
-  xmlSupport ? false }:
+  xmlSupport ? false,
+  vulkanSupport ? false,
+}:
 
 let wine-build = build: release:
       lib.getAttr build (callPackage ./packages.nix {
@@ -51,17 +53,14 @@ let wine-build = build: release:
                   netapiSupport cursesSupport vaSupport pcapSupport v4lSupport saneSupport
                   gsmSupport gphoto2Support ldapSupport fontconfigSupport alsaSupport
                   pulseaudioSupport xineramaSupport gtkSupport openclSupport xmlSupport tlsSupport
-                  openglSupport gstreamerSupport udevSupport;
+                  openglSupport gstreamerSupport udevSupport vulkanSupport;
         };
       });
 
 in if wineRelease == "staging" then
-  let wineUnstable = wine-build wineBuild "unstable"; in
-    # wine staging is not yet at 3.0, using unstable
-    # FIXME update winestaging sources
-    wineUnstable
-    # callPackage ./staging.nix {
-    #   inherit libtxc_dxtn_Name wineUnstable;
-    # }
+  callPackage ./staging.nix {
+    inherit libtxc_dxtn_Name;
+    wineUnstable = wine-build wineBuild "unstable";
+  }
 else
   wine-build wineBuild wineRelease
diff --git a/pkgs/misc/emulators/wine/sources.nix b/pkgs/misc/emulators/wine/sources.nix
index 5950310a73f..817241fbe0f 100644
--- a/pkgs/misc/emulators/wine/sources.nix
+++ b/pkgs/misc/emulators/wine/sources.nix
@@ -39,18 +39,16 @@ in rec {
 
   unstable = fetchurl rec {
     # NOTE: Don't forget to change the SHA256 for staging as well.
-    version = "3.3";
+    version = "3.7";
     url = "https://dl.winehq.org/wine/source/3.x/wine-${version}.tar.xz";
-    sha256 = "0cx31jsll7mxd9r7v0vpahajqwb6da6cpwybv06l5ydkgfrbv505";
+    sha256 = "1drbzk3y0m14lkq3vzwwkvain5shykgcbmyzh6gcb5r4sxh3givn";
     inherit (stable) mono gecko32 gecko64;
   };
 
   staging = fetchFromGitHub rec {
     # https://github.com/wine-compholio/wine-staging/releases
     inherit (unstable) version;
-    # FIXME update winestaging sources, when 3.3 is released
-    # FIXME then revert the staging derivation in ./default.nix
-    sha256 = "0000000000000000000000000000000000000000000000000000000000000000";
+    sha256 = "0kam73jqhah7bzji5csxxhhfdp6byhzpcph6xnzjqz2aic5xk7xi";
     owner = "wine-staging";
     repo = "wine-staging";
     rev = "v${version}";
@@ -64,5 +62,4 @@ in rec {
     repo = "winetricks";
     rev = version;
   };
-
 }
diff --git a/pkgs/misc/emulators/wine/winetricks.nix b/pkgs/misc/emulators/wine/winetricks.nix
index f5f8d6a5f10..76606edf53c 100644
--- a/pkgs/misc/emulators/wine/winetricks.nix
+++ b/pkgs/misc/emulators/wine/winetricks.nix
@@ -14,6 +14,8 @@ stdenv.mkDerivation rec {
 
   makeFlags = [ "PREFIX=$(out)" ];
 
+  doCheck = false; # requires "bashate"
+
   postInstall = ''
     sed -i \
       -e '2i PATH="${pathAdd}:$PATH"' \
diff --git a/pkgs/misc/foldingathome/default.nix b/pkgs/misc/foldingathome/default.nix
index aaa932c0a1c..1aae47e603b 100644
--- a/pkgs/misc/foldingathome/default.nix
+++ b/pkgs/misc/foldingathome/default.nix
@@ -1,7 +1,5 @@
 {stdenv, fetchurl}:
 
-assert stdenv.system == "i686-linux";
-
 stdenv.mkDerivation {
   name = "folding-at-home-6.02";
 
@@ -22,7 +20,7 @@ stdenv.mkDerivation {
   # be considered a gcroot.
   installPhase = ''
     BINFILES="fah6 mpiexec";
-    for a in $BINFILES; do 
+    for a in $BINFILES; do
       patchelf --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) $a
     done
     mkdir -p $out/bin
@@ -33,5 +31,6 @@ stdenv.mkDerivation {
     homepage = http://folding.stanford.edu/;
     description = "Folding@home distributed computing client";
     license = stdenv.lib.licenses.unfree;
+    platforms = [ "i686-linux" ];
   };
 }
diff --git a/pkgs/misc/frescobaldi/default.nix b/pkgs/misc/frescobaldi/default.nix
index 84272992f2b..af4c54d9d0d 100644
--- a/pkgs/misc/frescobaldi/default.nix
+++ b/pkgs/misc/frescobaldi/default.nix
@@ -1,21 +1,22 @@
-{ stdenv, fetchurl, pythonPackages, lilypond}:
+{ lib, fetchFromGitHub, python3Packages, lilypond }:
 
-pythonPackages.buildPythonApplication rec {
+python3Packages.buildPythonApplication rec {
   name = "frescobaldi-${version}";
-  version = "2.0.16";
+  version = "3.0.0";
 
-  src = fetchurl {
-    url = "https://github.com/wbsoft/frescobaldi/releases/download/"
-          + "v2.0.16/${name}.tar.gz";
-    sha256 = "12pabvq5b2lq84q3kx8lh02zh6ali6v4wnin2k2ycnm45mk9ms6q";
+  src = fetchFromGitHub {
+    owner = "wbsoft";
+    repo = "frescobaldi";
+    rev = "v${version}";
+    sha256 = "1yn18pwsjxpxz5j3yfysmaif8k0vqahj5c7ays9cxsylpg9hl7jd";
   };
 
-  propagatedBuildInputs = with pythonPackages; [ lilypond
-    pyqt4 poppler-qt4 pygame ];
+  propagatedBuildInputs = with python3Packages; [ lilypond pygame python-ly poppler-qt5 ];
 
-  patches = [ ./setup.cfg.patch ./python-path.patch ];
+  # no tests in shipped with upstream
+  doCheck = false;
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     homepage = http://frescobaldi.org/;
     description = ''Frescobaldi is a LilyPond sheet music text editor'';
     longDescription = ''
@@ -31,7 +32,7 @@ pythonPackages.buildPythonApplication rec {
       fonts and keyboard shortcuts
     '';
     license = licenses.gpl2Plus;
-    maintainers = [ maintainers.sepi ];
+    maintainers = with maintainers; [ sepi ma27 ];
     platforms = platforms.all;
   };
 }
diff --git a/pkgs/misc/frescobaldi/python-path.patch b/pkgs/misc/frescobaldi/python-path.patch
deleted file mode 100644
index 6c54d9f208e..00000000000
--- a/pkgs/misc/frescobaldi/python-path.patch
+++ /dev/null
@@ -1,11 +0,0 @@
-diff -u frescobaldi-2.0.16.old/frescobaldi frescobaldi-2.0.16/frescobaldi
---- frescobaldi-2.0.16/frescobaldi	2014-10-24 11:29:28.705687224 +0200
-+++ frescobaldi-2.0.16.new/frescobaldi	2014-10-24 11:31:08.086444793 +0200
-@@ -1,4 +1,4 @@
--#!/usr/bin/python
-+#!/usr/bin/env python
- import sys
- import frescobaldi_app.main
- import app
-Common subdirectories: frescobaldi-2.0.16/frescobaldi_app and frescobaldi-2.0.16.new/frescobaldi_app
-Common subdirectories: frescobaldi-2.0.16/macosx and frescobaldi-2.0.16.new/macosx
diff --git a/pkgs/misc/frescobaldi/setup.cfg.patch b/pkgs/misc/frescobaldi/setup.cfg.patch
deleted file mode 100644
index 502cdd61966..00000000000
--- a/pkgs/misc/frescobaldi/setup.cfg.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-Common subdirectories: frescobaldi-2.0.16.old/build and frescobaldi-2.0.16/build
-Common subdirectories: frescobaldi-2.0.16.old/frescobaldi_app and frescobaldi-2.0.16/frescobaldi_app
-Common subdirectories: frescobaldi-2.0.16.old/macosx and frescobaldi-2.0.16/macosx
-diff -u frescobaldi-2.0.16.old/setup.cfg frescobaldi-2.0.16/setup.cfg
---- frescobaldi-2.0.16.old/setup.cfg	2012-02-05 07:08:24.000000000 +0100
-+++ frescobaldi-2.0.16/setup.cfg	2014-10-24 15:08:48.141335620 +0200
-@@ -1,6 +1,2 @@
--[bdist_wininst]
--bitmap=frescobaldi-wininst.bmp
--install-script=frescobaldi-wininst.py
--
- [sdist]
- force-manifest=1
diff --git a/pkgs/misc/jackaudio/clang.patch b/pkgs/misc/jackaudio/clang.patch
deleted file mode 100644
index 131f8c4c04d..00000000000
--- a/pkgs/misc/jackaudio/clang.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-diff --git a/tests/test.cpp b/tests/test.cpp
-index 8a8a811..31e8459 100644
---- a/tests/test.cpp
-+++ b/tests/test.cpp
-@@ -479,7 +479,7 @@ int process4(jack_nframes_t nframes, void *arg)
- 	jack_nframes_t delta_time = cur_time - last_time;
- 
- 	Log("calling process4 callback : jack_frame_time = %ld delta_time = %ld\n", cur_time, delta_time);
--	if (delta_time > 0  && (jack_nframes_t)abs(delta_time - cur_buffer_size) > tolerance) {
-+	if (delta_time > 0  && (jack_nframes_t)fabs(delta_time - cur_buffer_size) > tolerance) {
- 		printf("!!! ERROR !!! jack_frame_time seems to return incorrect values cur_buffer_size = %d, delta_time = %d tolerance %d\n", cur_buffer_size, delta_time, tolerance);
- 	}
- 
-@@ -1064,7 +1064,7 @@ int main (int argc, char *argv[])
-     }
-     jack_sleep(1 * 1000);
-     cur_buffer_size = jack_get_buffer_size(client1);
--    if (abs((old_buffer_size * factor) - cur_buffer_size) > 5) {  // Tolerance needed for dummy driver...
-+    if (fabs((old_buffer_size * factor) - cur_buffer_size) > 5) {  // Tolerance needed for dummy driver...
-         printf("!!! ERROR !!! Buffer size has not been changed !\n");
-         printf("!!! Maybe jack was compiled without the '--enable-resize' flag...\n");
-     } else {
diff --git a/pkgs/misc/jackaudio/default.nix b/pkgs/misc/jackaudio/default.nix
index 0ed0246a881..52b0abc48a7 100644
--- a/pkgs/misc/jackaudio/default.nix
+++ b/pkgs/misc/jackaudio/default.nix
@@ -42,7 +42,7 @@ stdenv.mkDerivation rec {
   ] ++ stdenv.lib.optionals stdenv.isDarwin [ aften AudioToolbox CoreAudio CoreFoundation ];
 
   # CoreFoundation 10.10 doesn't include CFNotificationCenter.h yet.
-  patches = stdenv.lib.optionals stdenv.isDarwin [ ./clang.patch ./darwin-cf.patch ];
+  patches = stdenv.lib.optionals stdenv.isDarwin [ ./darwin-cf.patch ];
 
   prePatch = ''
     substituteInPlace svnversion_regenerate.sh \
diff --git a/pkgs/misc/jackaudio/jack1.nix b/pkgs/misc/jackaudio/jack1.nix
index 43d23dd525a..848215ae17a 100644
--- a/pkgs/misc/jackaudio/jack1.nix
+++ b/pkgs/misc/jackaudio/jack1.nix
@@ -15,11 +15,11 @@ let
 in
 stdenv.mkDerivation rec {
   name = "jack1-${version}";
-  version = "0.124.1";
+  version = "0.125.0";
 
   src = fetchurl {
     url = "http://jackaudio.org/downloads/jack-audio-connection-kit-${version}.tar.gz";
-    sha256 = "1mk1wnx33anp6haxfjjkfhwbaknfblsvj35nxvz0hvspcmhdyhpb";
+    sha256 = "0i6l25dmfk2ji2lrakqq9icnwjxklgcjzzk65dmsff91z2zva5rm";
   };
   
   configureFlags = ''
diff --git a/pkgs/misc/libcardiacarrest/default.nix b/pkgs/misc/libcardiacarrest/default.nix
new file mode 100644
index 00000000000..186fcb263ca
--- /dev/null
+++ b/pkgs/misc/libcardiacarrest/default.nix
@@ -0,0 +1,48 @@
+{ stdenv, fetchFromGitHub, pkgconfig, glib, libpulseaudio }:
+
+with stdenv.lib;
+
+stdenv.mkDerivation rec {
+  name = "libcardiacarrest-${version}";
+  version = "11.0-6"; # <PA API version>-<version>
+
+  src = fetchFromGitHub {
+    owner = "oxij";
+    repo = "libcardiacarrest";
+    rev = "1220b37b3de75238fedee1a66ca703fe1c8c71c3";
+    sha256 = "0fkfiixjybac3rwcd26621hh5dw4f5gnmm230cr4g8fl0i2ikmrz";
+  };
+
+  outputs = [ "out" "dev" ];
+
+  nativeBuildInputs = [ pkgconfig ];
+
+  buildInputs = [ glib ];
+
+  makeFlags = [ "PREFIX=$(out)" ];
+
+  postInstall = ''
+    moveToOutput $out/include $dev
+    moveToOutput $out/lib/pkgconfig $dev
+    moveToOutput $out/lib/cmake $dev
+  '';
+
+  meta = src.meta // {
+    description = "A trivial implementation of libpulse PulseAudio library API";
+    longDescription = ''
+      libcardiacarrest is a trivial implementation of libpulse
+      PulseAudio library API that unconditionally (but gracefully)
+      fails to connect to the PulseAudio daemon and does nothing else.
+
+      apulse and pressureaudio (which uses apulse internally) are an
+      inspiration for this but unlike those two projects
+      libcardiacarrest is not an emulation layer, all it does is it
+      gracefully fails to provide the requested PulseAudio service
+      hoping the application would try something else (e.g. ALSA or
+      JACK).
+    '';
+    license = libpulseaudio.meta.license; # "same as PA headers"
+    maintainers = [ maintainers.oxij ]; # also the author
+  };
+
+}
diff --git a/pkgs/misc/logging/beats/5.x.nix b/pkgs/misc/logging/beats/5.x.nix
index ba2a8b2448e..94d5449100d 100644
--- a/pkgs/misc/logging/beats/5.x.nix
+++ b/pkgs/misc/logging/beats/5.x.nix
@@ -8,7 +8,7 @@ let beat = package : extraArgs : buildGoPackage (rec {
         owner = "elastic";
         repo = "beats";
         rev = "v${version}";
-        sha256 = "0ri2l8pyl1fnx0zypliwprkk1wkaxz8ywkgz8h2f08v7h1zgq1m6";
+        sha256 = "00g90i58c6gnyzszsx7y75vn1350hrkzrsb50xx700jqg9ii8yin";
       };
 
       goPackagePath = "github.com/elastic/beats";
diff --git a/pkgs/misc/logging/beats/6.x.nix b/pkgs/misc/logging/beats/6.x.nix
index 2883604491c..ce911ae40d5 100644
--- a/pkgs/misc/logging/beats/6.x.nix
+++ b/pkgs/misc/logging/beats/6.x.nix
@@ -8,7 +8,7 @@ let beat = package : extraArgs : buildGoPackage (rec {
         owner = "elastic";
         repo = "beats";
         rev = "v${version}";
-        sha256 = "05ay6hdc1jgi6b00bd998zc39ca8jhnk7i6m3mw70s0baqv1scik";
+        sha256 = "194z3j9zwlbc6j97iy1m1cl0xqks3ws2bjp2xrgy8cwpi7fclaw2";
       };
 
       goPackagePath = "github.com/elastic/beats";
diff --git a/pkgs/misc/riscv-pk/default.nix b/pkgs/misc/riscv-pk/default.nix
index b605b9715d4..e724869b235 100644
--- a/pkgs/misc/riscv-pk/default.nix
+++ b/pkgs/misc/riscv-pk/default.nix
@@ -36,6 +36,7 @@ in stdenv.mkDerivation {
     description = "RISC-V Proxy Kernel and Bootloader.";
     homepage = https://github.com/riscv/riscv-pk;
     license = stdenv.lib.licenses.bsd3;
+    platforms = stdenv.lib.platforms.riscv;
     maintainers = [ stdenv.lib.maintainers.shlevy ];
   };
 }
diff --git a/pkgs/misc/screensavers/i3lock-pixeled/default.nix b/pkgs/misc/screensavers/i3lock-pixeled/default.nix
index 7cb3e68dec8..5fff7b8f0ea 100644
--- a/pkgs/misc/screensavers/i3lock-pixeled/default.nix
+++ b/pkgs/misc/screensavers/i3lock-pixeled/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "i3lock-pixeled-${version}";
-  version = "1.1.0";
+  version = "1.2.0";
 
   src = fetchurl {
     url = "https://github.com/Ma27/i3lock-pixeled/archive/${version}.tar.gz";
-    sha256 = "046qbx4qvcc66h53h4mm9pyjj9gjc6dzy38a0f0jc5a84xbivh7k";
+    sha256 = "0vlynm833fk1mmdnkcgh4hwqmfypn22zskhysm110k39zvikif0h";
   };
 
   propagatedBuildInputs = with pkgs; [
diff --git a/pkgs/misc/screensavers/light-locker/default.nix b/pkgs/misc/screensavers/light-locker/default.nix
index c2486b7ebe4..f38851d6fa0 100644
--- a/pkgs/misc/screensavers/light-locker/default.nix
+++ b/pkgs/misc/screensavers/light-locker/default.nix
@@ -16,20 +16,17 @@
 stdenv.mkDerivation rec {
   name = "${basename}-${version}";
   basename = "light-locker";
-  version = "1.7.0";
+  version = "1.8.0";
 
   src = fetchFromGitHub {
     owner = "the-cavalry";
     repo = basename;
     rev = "v${version}";
-    sha256 = "0ygkp5vgkx2nfhfql6j2jsfay394gda23ir3sx4f72j4agsirjvj";
+    sha256 = "1zsafc10bmliknf12h3mgy7f73lvgph0q0wkaqp42iagmw11yaj8";
   };
 
-  # Patch so that systemd is "found" when configuring.
-  patches = [ ./systemd.patch ];
-
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ which xfce.xfce4_dev_tools glib systemd
+  buildInputs = [ which xfce.xfce4-dev-tools glib systemd
                   libX11 libXScrnSaver libXxf86misc gtk3 dbus-glib wrapGAppsHook ];
 
   preConfigure = ''
diff --git a/pkgs/misc/screensavers/light-locker/systemd.patch b/pkgs/misc/screensavers/light-locker/systemd.patch
deleted file mode 100644
index 9cba8b9c0d2..00000000000
--- a/pkgs/misc/screensavers/light-locker/systemd.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/configure.ac.in b/configure.ac.in
-index f7d5f5d..341bc83 100644
---- a/configure.ac.in
-+++ b/configure.ac.in
-@@ -424,7 +424,7 @@ AC_ARG_WITH(systemd,
-             [with_systemd=$withval], [with_systemd=auto])
- 
- PKG_CHECK_MODULES(SYSTEMD,
--                  [libsystemd-login],
-+                  [libsystemd],
-                   [have_systemd=yes], [have_systemd=no])
- 
- if test "x$with_systemd" = "xauto" ; then
diff --git a/pkgs/misc/screensavers/pipes/default.nix b/pkgs/misc/screensavers/pipes/default.nix
index 8539db5e002..6e4ae16e9c8 100644
--- a/pkgs/misc/screensavers/pipes/default.nix
+++ b/pkgs/misc/screensavers/pipes/default.nix
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
     homepage = https://github.com/pipeseroni/pipes.sh;
     description = "Animated pipes terminal screensaver";
     license = licenses.mit;
-    maintainers = [ maintainers.matthiasbeyer ];
+    maintainers = [ ];
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/misc/screensavers/slock/default.nix b/pkgs/misc/screensavers/slock/default.nix
index 6b310236de4..82ce4c20df8 100644
--- a/pkgs/misc/screensavers/slock/default.nix
+++ b/pkgs/misc/screensavers/slock/default.nix
@@ -1,7 +1,7 @@
 { stdenv, lib, fetchurl, writeText
 , xproto, libX11, libXext, libXrandr
 # default header can be obtained from
-# http://git.suckless.org/slock/tree/config.def.h
+# https://git.suckless.org/slock/tree/config.def.h
 , conf ? null }:
 
 with stdenv.lib;
@@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
   name = "slock-1.4";
 
   src = fetchurl {
-    url = "http://dl.suckless.org/tools/${name}.tar.gz";
+    url = "https://dl.suckless.org/tools/${name}.tar.gz";
     sha256 = "0sif752303dg33f14k6pgwq2jp1hjyhqv6x4sy3sj281qvdljf5m";
   };
 
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = {
-    homepage = http://tools.suckless.org/slock;
+    homepage = https://tools.suckless.org/slock;
     description = "Simple X display locker";
     longDescription = ''
       Simple X display locker. This is the simplest X screen locker.
diff --git a/pkgs/misc/screensavers/xscreensaver/default.nix b/pkgs/misc/screensavers/xscreensaver/default.nix
index 8035e7da37d..d93d982924d 100644
--- a/pkgs/misc/screensavers/xscreensaver/default.nix
+++ b/pkgs/misc/screensavers/xscreensaver/default.nix
@@ -5,12 +5,12 @@
 }:
 
 stdenv.mkDerivation rec {
-  version = "5.38";
+  version = "5.39";
   name = "xscreensaver-${version}";
 
   src = fetchurl {
     url = "https://www.jwz.org/xscreensaver/${name}.tar.gz";
-    sha256 = "1f58h5rgjbxr4hh40m6zkpkzbzg68l7nqzjwal0b17yysafbmsf6";
+    sha256 = "09i47h4hdgwxyqgrsnshl4l5dv5mrsp37h705cc22lwby601ikj8";
   };
 
   buildInputs =
diff --git a/pkgs/misc/seafile-shared/default.nix b/pkgs/misc/seafile-shared/default.nix
index 537576ca63b..f1ab822c6f4 100644
--- a/pkgs/misc/seafile-shared/default.nix
+++ b/pkgs/misc/seafile-shared/default.nix
@@ -30,6 +30,6 @@ stdenv.mkDerivation rec {
     description = "Shared components of Seafile: seafile-daemon, libseafile, libseafile python bindings, manuals, and icons";
     license = licenses.gpl3;
     platforms = platforms.linux;
-    maintainers = [ maintainers.calrama ];
+    maintainers = [ ];
   };
 }
diff --git a/pkgs/misc/source-and-tags/default.nix b/pkgs/misc/source-and-tags/default.nix
index 981c01e2b4a..7c082cbbbb0 100644
--- a/pkgs/misc/source-and-tags/default.nix
+++ b/pkgs/misc/source-and-tags/default.nix
@@ -1,4 +1,4 @@
-args: with args; {
+{ stdenv, lib, glibcLocales, unzip, hasktags, ctags } : {
   # optional srcDir
   annotatedWithSourceAndTagInfo = x : (x ? passthru && x.passthru ? sourceWithTags 
                                       || x ? meta && x.meta ? sourceWithTags );
@@ -59,8 +59,8 @@ args: with args; {
                     # without this creating tag files for lifted-base fails
                     export LC_ALL=en_US.UTF-8
                     export LANG=en_US.UTF-8
-                    ${if args.stdenv.isLinux then "export LOCALE_ARCHIVE=${args.pkgs.glibcLocales}/lib/locale/locale-archive;" else ""}
- 
+                    ${if stdenv.isLinux then "export LOCALE_ARCHIVE=${glibcLocales}/lib/locale/locale-archive;" else ""}
+
                     ${toString hasktags}/bin/hasktags --ignore-close-implementation --ctags .
                     mv tags \$TAG_FILE
                    }";
diff --git a/pkgs/misc/stabber/default.nix b/pkgs/misc/stabber/default.nix
new file mode 100644
index 00000000000..ec8ef076c2f
--- /dev/null
+++ b/pkgs/misc/stabber/default.nix
@@ -0,0 +1,31 @@
+{ stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, glib, expat
+, libmicrohttpd
+}:
+
+with stdenv.lib;
+
+stdenv.mkDerivation rec {
+  name = "stabber-unstable-${version}";
+  version = "2016-11-09";
+
+  src = fetchFromGitHub {
+    owner = "boothj5";
+    repo = "stabber";
+    rev = "ed75087e4483233eb2cc5472dbd85ddfb7a1d4d4";
+    sha256 = "1l6cibggi9rx6d26j1g92r1m8zm1g899f6z7n4pfqp84mrfqgz0p";
+  };
+
+  preAutoreconf = ''
+    mkdir m4
+  '';
+
+  buildInputs = [ autoreconfHook pkgconfig glib expat libmicrohttpd ];
+
+  meta = {
+    description = "Stubbed XMPP Server";
+    homepage = https://github.com/boothj5/stabber;
+    license = licenses.gpl3;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ hschaeidt ];
+  };
+}
diff --git a/pkgs/misc/themes/adapta/default.nix b/pkgs/misc/themes/adapta/default.nix
index 7eee7ca3121..c8e7d860bcf 100644
--- a/pkgs/misc/themes/adapta/default.nix
+++ b/pkgs/misc/themes/adapta/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "adapta-gtk-theme-${version}";
-  version = "3.93.0.1";
+  version = "3.93.1.14";
 
   src = fetchFromGitHub {
     owner = "adapta-project";
     repo = "adapta-gtk-theme";
     rev = version;
-    sha256 = "0l662l66ja8dsakcgwg6ab69lkl0va0r5h74dr6yjdsy0q4h2m7h";
+    sha256 = "11iviw9gj4jwp6v32a3y1n6hq8m9pf14drfqxhp3dnygylvxxdr2";
   };
 
   preferLocalBuild = true;
diff --git a/pkgs/misc/themes/greybird/default.nix b/pkgs/misc/themes/greybird/default.nix
index 26c37171642..1221c660687 100644
--- a/pkgs/misc/themes/greybird/default.nix
+++ b/pkgs/misc/themes/greybird/default.nix
@@ -3,13 +3,13 @@
 stdenv.mkDerivation rec {
   name = "${pname}-${version}";
   pname = "greybird";
-  version = "3.22.6";
+  version = "3.22.7";
 
   src = fetchFromGitHub {
     owner = "shimmerproject";
     repo = "${pname}";
     rev = "v${version}";
-    sha256 = "16rifkyy8l4v03rx85j7m6rfdal99l1xdmghysh95r6lx4y6r01i";
+    sha256 = "118k0bb780h54i2vn5my5r6vbkk134899xwp4aigw5a289xzryvb";
   };
 
   nativeBuildInputs = [ autoreconfHook sass glib libxml2 gdk_pixbuf librsvg ];
diff --git a/pkgs/misc/themes/jade1/default.nix b/pkgs/misc/themes/jade1/default.nix
new file mode 100644
index 00000000000..9870b3fefeb
--- /dev/null
+++ b/pkgs/misc/themes/jade1/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, fetchFromGitHub, gtk-engine-murrine }:
+
+stdenv.mkDerivation rec {
+  name = "theme-jade1-${version}";
+  version = "3.2";
+
+  src = fetchFromGitHub {
+    owner = "madmaxms";
+    repo = "theme-jade-1";
+    rev = "v${version}";
+    sha256 = "0lf8cawn2s2x1b9af0cznhqzx3dsr8h18srcwjz7af3y5daxf311";
+  };
+
+  propagatedUserEnvPkgs = [ gtk-engine-murrine ];
+
+  installPhase = ''
+    mkdir -p $out/share/themes
+    cp -a Jade-1 $out/share/themes
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A fork of the original Linux Mint theme with dark menus, more intensive green and some other modifications";
+    homepage = https://github.com/madmaxms/theme-jade-1;
+    license = with licenses; [ gpl3 ];
+    platforms = platforms.linux;
+    maintainers = [ maintainers.romildo ];
+  };
+}
diff --git a/pkgs/misc/themes/materia-theme/default.nix b/pkgs/misc/themes/materia-theme/default.nix
index 58001183bd9..4b6d364a856 100644
--- a/pkgs/misc/themes/materia-theme/default.nix
+++ b/pkgs/misc/themes/materia-theme/default.nix
@@ -1,19 +1,19 @@
-{ stdenv, fetchFromGitHub, gnome3, libxml2, gtk-engine-murrine, gdk_pixbuf, librsvg }:
+{ stdenv, fetchFromGitHub, gnome3, libxml2, gtk-engine-murrine, gdk_pixbuf, librsvg, bc }:
 
 stdenv.mkDerivation rec {
   name = "materia-theme-${version}";
-  version = "20180110";
+  version = "20180321";
 
   src = fetchFromGitHub {
     owner = "nana-4";
     repo = "materia-theme";
     rev = "v${version}";
-    sha256 = "1knfcc4bqibshbk5s4461brzw780gj7c1i42b168c6jw9p6br6bf";
+    sha256 = "1nj9ylg9g74smd2kdyzlamdw9cg0f3jz77vn5898drjyscw5qpp6";
   };
 
-  nativeBuildInputs = [ gnome3.glib libxml2 ];
+  nativeBuildInputs = [ gnome3.glib libxml2 bc ];
 
-  buildInputs = [ gnome3.gnome-themes-standard gdk_pixbuf librsvg ];
+  buildInputs = [ gnome3.gnome-themes-extra gdk_pixbuf librsvg ];
 
   propagatedUserEnvPkgs = [ gtk-engine-murrine ];
 
@@ -22,14 +22,16 @@ stdenv.mkDerivation rec {
   installPhase = ''
     patchShebangs install.sh
     sed -i install.sh \
-      -e "s|^gnomever=.*$|gnomever=${gnome3.version}|" \
-      -e "s|/usr||"
-    destdir="$out" ./install.sh
+      -e "s|if .*which gnome-shell.*;|if true;|" \
+      -e "s|CURRENT_GS_VERSION=.*$|CURRENT_GS_VERSION=${gnome3.version}|"
+    mkdir -p $out/share/themes
+    # name is used internally by the package installation script
+    name= ./install.sh --dest $out/share/themes
     rm $out/share/themes/*/COPYING
   '';
 
   meta = with stdenv.lib; {
-    description = "A Material Design theme for GNOME/GTK+ based desktop environments (formerly Flat-Plat)";
+    description = "A Material Design theme for GNOME/GTK+ based desktop environments";
     homepage = https://github.com/nana-4/materia-theme;
     license = licenses.gpl2;
     platforms = platforms.all;
diff --git a/pkgs/misc/themes/gtk3/numix-solarized-gtk-theme/default.nix b/pkgs/misc/themes/numix-solarized/default.nix
index 4ede14d3bb3..3c81e4308ca 100644
--- a/pkgs/misc/themes/gtk3/numix-solarized-gtk-theme/default.nix
+++ b/pkgs/misc/themes/numix-solarized/default.nix
@@ -1,26 +1,40 @@
-{ stdenv, fetchFromGitHub, sass, glib, gdk_pixbuf }:
+{ stdenv, fetchFromGitHub, python3, sass, glib, gdk_pixbuf, libxml2,
+  inkscape, optipng, gtk-engine-murrine
+}:
 
 stdenv.mkDerivation rec {
-  version = "20160919";
+  version = "20170810";
   name = "numix-solarized-gtk-theme-${version}";
 
   src = fetchFromGitHub {
     owner = "Ferdi265";
     repo = "numix-solarized-gtk-theme";
     rev = version;
-    sha256 = "0243w918ycmf9vnkzfvwnrxz9zc6xxk7167h8ywxj901pqy59kad";
+    sha256 = "0l4xvsiyg15kp6xwpvm3jckxyhr1lxd678lkhrcyf40n7rd4xinl";
   };
 
+  nativeBuildInputs = [ python3 sass glib gdk_pixbuf libxml2 inkscape optipng ];
+
+  propagatedUserEnvPkgs = [ gtk-engine-murrine ];
+
   postPatch = ''
-    substituteInPlace Makefile --replace \
-      'INSTALL_DIR=$(DESTDIR)/usr/share/themes' "INSTALL_DIR=$out/share/themes"
     patchShebangs .
+    substituteInPlace Makefile --replace '$(DESTDIR)'/usr $out
+    substituteInPlace scripts/render-assets.sh \
+      --replace /usr/bin/inkscape ${inkscape}/bin/inkscape \
+      --replace /usr/bin/optipng ${optipng}/bin/optipng
   '';
 
-  buildInputs = [sass glib gdk_pixbuf];
+  buildPhase = "true";
+
+  installPhase = ''
+    for theme in *.colors; do
+      make THEME="''${theme/.colors/}" install
+    done
+  '';
 
   meta = with stdenv.lib; {
-    description = "GTK3.20-compatible version of bitterologist's Numix Solarized from deviantart";
+    description = "Solarized versions of Numix GTK2 and GTK3 theme";
     longDescription = ''
       This is a fork of the Numix GTK theme that replaces the colors of the theme
       and icons to use the solarized theme with a solarized green accent color.
@@ -29,7 +43,7 @@ stdenv.mkDerivation rec {
     homepage = https://github.com/Ferdi265/numix-solarized-gtk-theme;
     downloadPage = https://github.com/Ferdi265/numix-solarized-gtk-theme/releases;
     license = licenses.gpl3;
-    maintainers = [ maintainers.offline ];
     platforms = platforms.linux;
+    maintainers = [ maintainers.offline ];
   };
 }
diff --git a/pkgs/misc/themes/obsidian2/default.nix b/pkgs/misc/themes/obsidian2/default.nix
new file mode 100644
index 00000000000..41f29f34be8
--- /dev/null
+++ b/pkgs/misc/themes/obsidian2/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, fetchFromGitHub, gtk-engine-murrine }:
+
+stdenv.mkDerivation rec {
+  name = "theme-obsidian2-${version}";
+  version = "2.5";
+
+  src = fetchFromGitHub {
+    owner = "madmaxms";
+    repo = "theme-obsidian-2";
+    rev = "v${version}";
+    sha256 = "12jya1gzmhpfh602vbf51vi69fmis7sanvx278h3skm03a7civlv";
+  };
+
+  propagatedUserEnvPkgs = [ gtk-engine-murrine ];
+
+  installPhase = ''
+    mkdir -p $out/share/themes
+    cp -a Obsidian-2 $out/share/themes
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Gnome theme, based upon Adwaita-Maia dark skin";
+    homepage = https://github.com/madmaxms/theme-obsidian-2;
+    license = with licenses; [ gpl3 ];
+    platforms = platforms.linux;
+    maintainers = [ maintainers.romildo ];
+  };
+}
diff --git a/pkgs/misc/themes/onestepback/default.nix b/pkgs/misc/themes/onestepback/default.nix
new file mode 100644
index 00000000000..609e027d9eb
--- /dev/null
+++ b/pkgs/misc/themes/onestepback/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, fetchzip }:
+
+let
+  version = "0.98";
+
+in fetchzip {
+  name = "onestepback-${version}";
+
+  url = "http://www.vide.memoire.free.fr/perso/OneStepBack/OneStepBack-v${version}.zip";
+
+  postFetch = ''
+    mkdir -p $out/share/themes
+    unzip $downloadedFile -x OneStepBack/LICENSE -d $out/share/themes
+  '';
+
+  sha256 = "0sjacvx7020lzc89r5310w83wclw96gzzczy3mss54ldkgmnd0mr";
+
+  meta = with stdenv.lib; {
+    description = "Gtk theme inspired by the NextStep look";
+    homepage = https://www.opendesktop.org/p/1013663/;
+    license = licenses.gpl3;
+    platforms = platforms.all;
+    maintainers = [ maintainers.romildo ];
+  };
+}
diff --git a/pkgs/misc/themes/plano/default.nix b/pkgs/misc/themes/plano/default.nix
index 64d4e807e42..2d10ff7c607 100644
--- a/pkgs/misc/themes/plano/default.nix
+++ b/pkgs/misc/themes/plano/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "plano-theme-${version}";
-  version = "3.24-3";
+  version = "3.28-1";
 
   src = fetchFromGitHub {
     owner = "lassekongo83";
     repo = "plano-theme";
     rev = "v${version}";
-    sha256 = "079gj3kgsim01r7yb9dcxvrci3my1y0zkn86igdlspxcnjzmxkq0";
+    sha256 = "1862nx7c8786vfa0qdg4aqa13whsk3j5n93v9m91wpccv19n0ryn";
   };
 
   buildInputs = [ gdk_pixbuf gtk_engines ];
diff --git a/pkgs/misc/themes/zuki/default.nix b/pkgs/misc/themes/zuki/default.nix
index dbdc4632dc7..35c8e58b0ae 100644
--- a/pkgs/misc/themes/zuki/default.nix
+++ b/pkgs/misc/themes/zuki/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "zuki-themes-${version}";
-  version = "3.26-1";
+  version = "3.28-1";
 
   src = fetchFromGitHub {
     owner = "lassekongo83";
     repo = "zuki-themes";
     rev = "v${version}";
-    sha256 = "17p75h1i3hbpshhhliliq0mm88amvfnxq8659vabqd17ccgzwzns";
+    sha256 = "1if39k8vgk4cpshl625vdf8lz6jgicgybd5nilycj66sf1k5jgb9";
   };
 
   buildInputs = [ gdk_pixbuf gtk_engines ];
diff --git a/pkgs/misc/tmux-plugins/default.nix b/pkgs/misc/tmux-plugins/default.nix
new file mode 100644
index 00000000000..b29565d01ec
--- /dev/null
+++ b/pkgs/misc/tmux-plugins/default.nix
@@ -0,0 +1,224 @@
+{ fetchgit, stdenv, pkgs }:
+
+let
+  rtpPath = "share/tmux-plugins";
+
+  addRtp = path: pluginName: attrs: derivation:
+    derivation // { rtp = "${derivation}/${path}/${builtins.replaceStrings ["-"] ["_"] pluginName}.tmux"; } // {
+      overrideAttrs = f: buildTmuxPlugin (attrs // f attrs);
+    };
+
+  buildTmuxPlugin = a@{
+    pluginName,
+    namePrefix ? "tmuxplugin-",
+    src,
+    unpackPhase ? "",
+    configurePhase ? "",
+    buildPhase ? "",
+    addonInfo ? null,
+    preInstall ? "",
+    postInstall ? "",
+    path ? (builtins.parseDrvName pluginName).name,
+    dependencies ? [],
+    ...
+  }:
+    addRtp "${rtpPath}/${path}" pluginName a (stdenv.mkDerivation (a // {
+      name = namePrefix + pluginName;
+
+      inherit pluginName unpackPhase configurePhase buildPhase addonInfo preInstall postInstall;
+
+      installPhase = ''
+        runHook preInstall
+
+        target=$out/${rtpPath}/${path}
+        mkdir -p $out/${rtpPath}
+        cp -r . $target
+        if [ -n "$addonInfo" ]; then
+          echo "$addonInfo" > $target/addon-info.json
+        fi
+
+        runHook postInstall
+      '';
+
+      dependencies = [ pkgs.bash ] ++ dependencies;
+    }));
+
+  buildTmuxPluginFrom2Nix = a: buildTmuxPlugin ({
+    buildPhase = ":";
+    configurePhase =":";
+  } // a);
+
+in rec {
+
+  battery = buildTmuxPluginFrom2Nix {
+    pluginName = "battery";
+    src = fetchgit {
+      url = "https://github.com/tmux-plugins/tmux-battery";
+      rev = "09be78c35ee84f858f724442b94ad045ade23eb0";
+      sha256 = "0gm6qiay0k5b3yzrabfmh4inyh9r6rfhja2l3r4cixcvc8sgvh8l";
+    };
+  };
+
+  continuum = buildTmuxPluginFrom2Nix {
+    pluginName = "continuum";
+    src = fetchgit {
+      url = "https://github.com/tmux-plugins/tmux-continuum";
+      rev = "90f4a00c41de094864dd4e29231253bcd80d4409";
+      sha256 = "1hviqz62mnq5h4vgcy9bl5004q18yz5b90bnih0ibsna877x3nbc";
+    };
+    dependencies = [ resurrect ];
+  };
+
+  copycat = buildTmuxPluginFrom2Nix {
+    pluginName = "copycat";
+    src = fetchgit {
+      url = "https://github.com/tmux-plugins/tmux-copycat";
+      rev = "6f9b9cd2d93872cef60e3ea7f7ae89598569ed25";
+      sha256 = "12dgn5wnzrhd6sqa64w875ld3lrrny8xvdq6b6lzxyain9q49mrf";
+    };
+  };
+
+  cpu = buildTmuxPluginFrom2Nix {
+    pluginName = "cpu";
+    src = fetchgit {
+      url = "https://github.com/tmux-plugins/tmux-cpu";
+      rev = "12f7a74e25bf59701456e2c0d98b39bb19ec7039";
+      sha256 = "0qxn8ngg297980lj6w8ih2m8m8bxxdbcz5hsjmlia92h5rdkm5kl";
+    };
+  };
+
+  fpp = buildTmuxPluginFrom2Nix {
+    pluginName = "fpp";
+    src = fetchgit {
+      url = "https://github.com/tmux-plugins/tmux-fpp";
+      rev = "ca125d5a9c80bb156ac114ac3f3d5951a795c80e";
+      sha256 = "1b89s6mfzifi7s5iwf22w7niddpq28w48nmqqy00dv38z4yga5ws";
+    };
+    postInstall = ''
+      sed -i -e 's|fpp |${pkgs.fpp}/bin/fpp |g' $target/fpp.tmux
+    '';
+    dependencies = [ pkgs.fpp ];
+  };
+
+  logging = buildTmuxPluginFrom2Nix {
+    pluginName = "logging";
+    src = fetchgit {
+      url = "https://github.com/tmux-plugins/tmux-logging";
+      rev = "b2706119cd587230beae02980d3d7fa2d5afebe9";
+      sha256 = "1w1ymscfbz87lypaxgjdva1rg7jw2jyf7nnfgyngghw9m1l2xk2c";
+    };
+  };
+
+  net-speed = buildTmuxPluginFrom2Nix {
+    pluginName = "net-speed";
+    src = fetchgit {
+      url = "https://github.com/tmux-plugins/tmux-net-speed";
+      rev = "536d2bdd053a3bdfcc5cf7680c0dba76127c95ca";
+      sha256 = "1bly5f40dgiym378jkfwm7qag9xl6qvziqiqnj65yblqd5py325z";
+    };
+  };
+
+  maildir-counter = buildTmuxPluginFrom2Nix {
+    pluginName = "maildir-counter";
+    src = fetchgit {
+      url = "https://github.com/tmux-plugins/tmux-maildir-counter";
+      rev = "9415f0207e71e37cbd870c9443426dbea6da78b9";
+      sha256 = "0dwvqhiv9bjwr01hsi5c57n55jyv5ha5m5q1aqgglf4wyhbnfms4";
+    };
+  };
+
+  online-status = buildTmuxPluginFrom2Nix {
+    pluginName = "online-status";
+    src = fetchgit {
+      url = "https://github.com/tmux-plugins/tmux-online-status";
+      rev = "ea86704ced8a20f4a431116aa43f57edcf5a6312";
+      sha256 = "1hy3vg8v2sir865ylpm2r4ip1zgd4wlrf24jbwh16m23qdcvc19r";
+    };
+  };
+
+  open = buildTmuxPluginFrom2Nix {
+    pluginName = "open";
+    src = fetchgit {
+      url = "https://github.com/tmux-plugins/tmux-open";
+      rev = "f99d3189c445188eae5fa9bfeabc95df16deca92";
+      sha256 = "13q3zd5jv7akkjjwhgimmfylrvalxdn54fnpfb14g6xam6h8808m";
+    };
+  };
+
+  pain-control = buildTmuxPluginFrom2Nix {
+    pluginName = "pain-control";
+    src = fetchgit {
+      url = "https://github.com/tmux-plugins/tmux-pain-control";
+      rev = "731667692da46d51a6a9dffb4c43384a5d68ff28";
+      sha256 = "1ihpl5wgjmhfgcrasgnydd7vpsar865sx2whra19gpfm4bglmdzl";
+    };
+  };
+
+  prefix-highlight = buildTmuxPluginFrom2Nix {
+    pluginName = "prefix-highlight";
+    src = fetchgit {
+      url = "https://github.com/tmux-plugins/tmux-prefix-highlight";
+      rev = "34f7125ae46e5123bedad03e08027332d1186186";
+      sha256 = "16z8sm8pifg1m9lmv0z50fb0ws9mk5zqs7a1ddl2bfwkqi7yc0c0";
+    };
+  };
+
+  resurrect = buildTmuxPluginFrom2Nix {
+    pluginName = "resurrect";
+    src = fetchgit {
+      url = "https://github.com/tmux-plugins/tmux-resurrect";
+      rev = "7c77c70483b818d331e46c4cf64c716ded09a152";
+      sha256 = "08gjxwdmfy16xpgi87rp9dj5338imqsy392pixf7xcnr05413ap1";
+    };
+  };
+
+  sensible = buildTmuxPluginFrom2Nix {
+    pluginName = "sensible";
+    src = fetchgit {
+      url = "https://github.com/tmux-plugins/tmux-sensible";
+      rev = "e91b178ff832b7bcbbf4d99d9f467f63fd1b76b5";
+      sha256 = "1z8dfbwblrbmb8sgb0k8h1q0dvfdz7gw57las8nwd5gj6ss1jyvx";
+    };
+  };
+
+  sessionist = buildTmuxPluginFrom2Nix {
+    pluginName = "sessionist";
+    src = fetchgit {
+      url = "https://github.com/tmux-plugins/tmux-sessionist";
+      rev = "09ec86be38eae98ffc27bd0dde605ed10ae0dc89";
+      sha256 = "030q2mmj8akbc26jnqn8n7fckg1025p0ildx4wr401b6p1snnlw4";
+    };
+  };
+
+  sidebar = buildTmuxPluginFrom2Nix {
+    pluginName = "sidebar";
+    src = fetchgit {
+      url = "https://github.com/tmux-plugins/tmux-sidebar";
+      rev = "23014524cab53f8d36373983500fe05a527a444d";
+      sha256 = "1w363587isdip1r81h0vkp5163lpa83lvasg8l04h43sbip2y6i8";
+    };
+  };
+
+  urlview = buildTmuxPluginFrom2Nix {
+    pluginName = "urlview";
+    src = fetchgit {
+      url = "https://github.com/tmux-plugins/tmux-urlview";
+      rev = "b84c876cffdd22990b4ab51247e795cbd7813d53";
+      sha256 = "1jp4jq57cn116b3i34v6yy69izd8s6mp2ijr260cw86g0470k0fn";
+    };
+    postInstall = ''
+      sed -i -e '14,20{s|urlview|${pkgs.urlview}/bin/urlview|g}' $target/urlview.tmux
+    '';
+    dependencies = [ pkgs.urlview ];
+  };
+
+  yank = buildTmuxPluginFrom2Nix {
+    pluginName = "yank";
+    src = fetchgit {
+      url = "https://github.com/tmux-plugins/tmux-yank";
+      rev = "feb9611b7d1c323ca54cd8a5111a53e3e8265b59";
+      sha256 = "1ywbm09jfh6cm2m6gracmdc3pp5p2dwraalbhfaafqaydjr22qc3";
+    };
+  };
+
+}
diff --git a/pkgs/misc/uboot/rock64.nix b/pkgs/misc/uboot/rock64.nix
new file mode 100644
index 00000000000..623c6015534
--- /dev/null
+++ b/pkgs/misc/uboot/rock64.nix
@@ -0,0 +1,37 @@
+{ lib, buildUBoot, fetchFromGitHub, armTrustedFirmwareRK3328 }: let
+  rkbin = fetchFromGitHub {
+    owner = "ayufan-rock64";
+    repo = "rkbin";
+    rev = "d8b90685b3d93c358936babdd854f1018bc6d35e";
+    sha256 = "0wrh3xa968sdp0j9n692jnv3071ymab719zc56vllba0aaabiaxr";
+  };
+in buildUBoot rec {
+  name = "uboot-${defconfig}-${version}";
+  version = "2018.01";
+
+  src = fetchFromGitHub {
+    owner = "ayufan-rock64";
+    repo = "linux-u-boot";
+    rev = "19e31fac0dee3c4f6b2ea4371e4321f79db0f495";
+    sha256 = "1vmv7q9yafsc0zivd0qdfmf930dvhzkf4a3j6apxxgx9g10wgwrg";
+  };
+
+  extraMakeFlags = [ "BL31=${armTrustedFirmwareRK3328}/bl31.elf" "u-boot.itb" "all" ];
+
+  # So close to being blob free... But U-Boot TPL causes the kernel to hang
+  postBuild = ''
+    ./tools/mkimage -n rk3328 -T rksd -d ${rkbin}/rk33/rk3328_ddr_786MHz_v1.06.bin idbloader.img
+    cat spl/u-boot-spl.bin >> idbloader.img
+    dd if=u-boot.itb of=idbloader.img seek=448 conv=notrunc
+  '';
+
+  defconfig = "rock64-rk3328_defconfig";
+  filesToInstall = [ "spl/u-boot-spl.bin" "tpl/u-boot-tpl.bin" "u-boot.itb" "idbloader.img"];
+
+  extraMeta = with lib; {
+    maintainers = [ maintainers.lopsided98 ];
+    platforms = ["aarch64-linux"];
+    # Because of the TPL blob
+    license = licenses.unfreeRedistributableFirmware;
+  };
+}
diff --git a/pkgs/misc/vim-plugins/default.nix b/pkgs/misc/vim-plugins/default.nix
index 78aed2aa833..163a1a98676 100644
--- a/pkgs/misc/vim-plugins/default.nix
+++ b/pkgs/misc/vim-plugins/default.nix
@@ -1,8 +1,8 @@
 # TODO check that no license information gets lost
-{ fetchurl, stdenv, python, go, cmake, vim, vimUtils, perl, ruby, unzip
-, which, fetchgit, llvmPackages
+{ fetchurl, stdenv, python, go, cmake, vim, vimUtils, perl, ruby
+, which, fetchgit, llvmPackages, rustPlatform
 , xkb_switch, rustracerd, fzf, skim
-, python3, boost, icu
+, python3, boost, icu, ncurses
 , ycmd, makeWrapper, rake
 , pythonPackages, python3Packages
 , substituteAll
@@ -20,8 +20,10 @@ in
 
 # TL;DR
 # Add your plugin to ./vim-plugin-names
-# Regenerate via `nix-shell -I nixpkgs=/path/to/your/local/fork -p vimPlugins.pluginnames2nix --command "vim-plugin-names-to-nix </dev/null"`
-# Copy the generated expression(s) into this file.
+# Regenerate via `nix-shell -I nixpkgs=/path/to/your/local/fork -p vimPlugins.pluginnames2nix --command "vim-plugin-names-to-nix +'w result' +qall"`
+# Note: pluginnames2nix will fetch any plugins in the file; to speed up the process,
+#       update ./vim-plugin-names to contain only plugins which need generation
+# Copy the generated expression(s) into this file from the ./result file.
 # If plugin is complicated then make changes to ./vim2nix/additional-nix-code
 
 # This attrs contains two sections:
@@ -52,39 +54,51 @@ rec {
   # Update with vimUtils.vimPlugins.pluginnames2Nix command
 
   # aliasess
-  "sourcemap.vim"     = sourcemap;
-  Colour_Sampler_Pack = Colour-Sampler-Pack;
-  Gundo               = gundo-vim; # backwards compat, added 2015-10-03
-  YouCompleteMe       = youcompleteme;
   airline             = vim-airline;
   alternative         = a-vim; # backwards compat, added 2014-10-21
+  bats                = bats-vim;
   calendar            = calendar-vim;
   coffee-script       = vim-coffee-script;
   coffeeScript        = coffee-script; # backwards compat, added 2014-10-18
-  colors-solarized    = Solarized;
+  Solarized           = vim-colors-solarized;
+  solarized           = vim-colors-solarized;
+  colors-solarized    = vim-colors-solarized;
+  caw                 = caw-vim;
   colorsamplerpack    = Colour_Sampler_Pack;
+  Colour_Sampler_Pack = Colour-Sampler-Pack;
   command_T           = command-t; # backwards compat, added 2014-10-18
+  commentary          = vim-commentary;
   committia           = committia-vim-git;
   concealedyank       = concealedyank-vim;
   context-filetype    = context_filetype-vim;
+  Cosco               = cosco-vim;
   css_color_5056      = vim-css-color;
+  CSApprox            = csapprox;
+  csv                 = csv-vim;
   ctrlp               = ctrlp-vim;
   cute-python         = vim-cute-python-git;
   denite              = denite-nvim;
   easy-align          = vim-easy-align;
+  easygit             = vim-easygit;
   easymotion          = vim-easymotion;
   echodoc             = echodoc-vim;
   eighties            = vim-eighties;
-  ghc-mod-vim         = ghcmod;
-  gist-vim            = Gist;
+  extradite           = vim-extradite;
+  fugitive            = vim-fugitive;
+  ghc-mod-vim         = ghcmod-vim;
+  ghcmod              = ghcmod-vim;
+  goyo                = goyo-vim;
+  Gist                = gist-vim;
   gitgutter           = vim-gitgutter;
   gundo               = gundo-vim;
+  Gundo               = gundo-vim; # backwards compat, added 2015-10-03
   haskellConceal      = haskellconceal; # backwards compat, added 2014-10-18
   haskellConcealPlus  = vim-haskellConcealPlus;
   haskellconceal      = vim-haskellconceal;
   hier                = vim-hier;
   hlint-refactor      = hlint-refactor-vim;
-  hoogle              = Hoogle;
+  hoogle              = vim-hoogle;
+  Hoogle              = vim-hoogle;
   ipython             = vim-ipython;
   latex-live-preview  = vim-latex-live-preview;
   mayansmoke          = mayansmoke-git;
@@ -95,35 +109,57 @@ rec {
   neomru              = neomru-vim;
   neosnippet          = neosnippet-vim;
   neoyank             = neoyank-vim-git;
-  nerdcommenter       = The_NERD_Commenter;
-  nerdtree            = The_NERD_tree;
+  The_NERD_Commenter  = nerdcommenter;
+  The_NERD_tree       = nerdtree;
   open-browser        = open-browser-vim;
+  pathogen            = vim-pathogen;
   peskcolor           = peskcolor-vim-git;
   polyglot            = vim-polyglot;
+  prettyprint         = vim-prettyprint;
   quickrun            = vim-quickrun;
+  rainbow_parentheses = rainbow_parentheses-vim;
   repeat              = vim-repeat;
+  riv                 = riv-vim;
   rhubarb             = vim-rhubarb;
+  sensible            = vim-sensible;
   signature           = vim-signature;
+  snipmate            = vim-snipmate;
+  sourcemap           = sourcemap-vim;
+  "sourcemap.vim"     = sourcemap-vim;
+  surround            = vim-surround;
+  sleuth              = vim-sleuth;
+  solidity            = vim-solidity;
   stylish-haskell     = vim-stylish-haskell;
   stylishHaskell      = stylish-haskell; # backwards compat, added 2014-10-18
-  supertab            = Supertab;
-  syntastic           = Syntastic;
+  Supertab            = supertab;
+  Syntastic           = syntastic;
+  SyntaxRange         = vim-SyntaxRange;
+  table-mode          = vim-table-mode;
+  taglist             = taglist-vim;
   tabpagebuffer       = tabpagebuffer-vim;
-  tabular             = Tabular;
-  tagbar              = Tagbar;
+  tabpagecd           = vim-tabpagecd;
+  Tabular             = tabular;
+  Tagbar              = tagbar;
   thumbnail           = thumbnail-vim;
+  tlib                = tlib_vim;
   tmux-navigator      = vim-tmux-navigator;
   tmuxNavigator       = tmux-navigator; # backwards compat, added 2014-10-18
   tslime              = tslime-vim;
   unite               = unite-vim;
+  UltiSnips           = ultisnips;
   vim-grepper         = vim-grepper-git;
   vim-test            = vim-test-git;
   vimproc             = vimproc-vim;
   vimshell            = vimshell-vim;
+  vinegar             = vim-vinegar;
   watchdogs           = vim-watchdogs;
-  webapi-vim          = WebAPI;
+  WebAPI              = webapi-vim;
   wombat256           = wombat256-vim; # backwards compat, added 2015-7-8
-  yankring            = YankRing;
+  yankring            = YankRing-vim;
+  Yankring            = YankRing-vim;
+  YouCompleteMe       = youcompleteme;
+  xterm-color-table   = xterm-color-table-vim;
+  zeavim              = zeavim-vim;
 
   # do not auto-update this one, as the name clashes with vim-snippets
   vim-docbk-snippets = buildVimPluginFrom2Nix {
@@ -148,396 +184,416 @@ rec {
     dependencies = [];
   };
 
-  # --- generated packages bellow this line ---
+  LanguageClient-neovim = let
+    LanguageClient-neovim-src = fetchgit {
+      url = "https://github.com/autozimu/LanguageClient-neovim";
+      rev = "fbc46862af7fa254f74f1108149fd0669c46f1ad";
+      sha256 = "1wrrmikriyw8an8hn7240igcaca9a0ykh1j0dfy45kslxkmqkk3r";
+    };
+    LanguageClient-neovim-bin = rustPlatform.buildRustPackage {
+      name = "LanguageClient-neovim-bin";
+      src = LanguageClient-neovim-src;
 
-  CSApprox = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "CSApprox-2013-07-26";
-    src = fetchgit {
-      url = "git://github.com/godlygeek/csapprox";
-      rev = "7981dac51d8b6776985aa08cb7b5ee98ea7f2ddd";
-      sha256 = "08g4x6nnd6hkgm2daa5ihhz75pcdx3jzzv8rfjls80qajlhx5rf6";
+      cargoSha256 = "0c2sklpvab63a1f1mhcq9abq5m2srkj52ypq7dq44g8ngn2a05ka";
     };
+  in buildVimPluginFrom2Nix {
+    name = "LanguageClient-neovim-2018-03-06";
+    src = LanguageClient-neovim-src;
+
     dependencies = [];
+    propogatedBuildInputs = [ LanguageClient-neovim-bin ];
 
+    preFixup = ''
+      substituteInPlace "$out"/share/vim-plugins/LanguageClient-neovim/plugin/LanguageClient.vim \
+        --replace "let l:command = [s:root . '/bin/languageclient']" "let l:command = ['${LanguageClient-neovim-bin}/bin/languageclient']"
+    '';
   };
 
-  CheckAttach = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "CheckAttach-2017-03-15";
+  # --- generated packages bellow this line ---
+
+  vim-auto-save = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "vim-auto-save-2017-11-08";
     src = fetchgit {
-      url = "git://github.com/chrisbra/CheckAttach";
-      rev = "b583efd45e03902438a55299623390a0f9253513";
-      sha256 = "0j1nx8ryrlixisd8z2d24k1xk2yrqk4i0ar8m4vq3jlr74309a34";
+      url = "https://github.com/907th/vim-auto-save";
+      rev = "66643afb55a1fcd3a9b4336f868f58da45bff397";
+      sha256 = "1qnsj520j2hm6znpqpdqmz11vw45avgj8g9djx3alqbnab8ryw0p";
     };
     dependencies = [];
 
   };
 
-  Cosco = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "Cosco-2017-07-26";
+  vim-autoformat = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "vim-autoformat-2018-03-02";
     src = fetchgit {
-      url = "git://github.com/lfilho/cosco.vim";
-      rev = "4a2a080415860196c936a32679d9032f41ba21e4";
-      sha256 = "0gljxy6shr7kmm8vvj6rm4c0lr0ydbny9lrsp64c3d4d0b2wnmig";
+      url = "https://github.com/Chiel92/vim-autoformat";
+      rev = "e63b4e957ad034494b1495d4b4ac1a18503cba79";
+      sha256 = "1p64q9a7wqppy1zj70xki86zs5wwxbf9x0wdd4fsg0w741ga9wdf";
     };
     dependencies = [];
 
   };
 
-  Gist = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "Gist-2016-10-10";
+  ctrlp-py-matcher = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "ctrlp-py-matcher-2017-11-01";
     src = fetchgit {
-      url = "git://github.com/mattn/gist-vim";
-      rev = "f0d63579eab7548cf12f979dc52ef5a370ecbe63";
-      sha256 = "06nix49j4inxy3rkcv32f4ka89g4crqwfqnrm3b76iwwky8m2p17";
+      url = "https://github.com/FelikZ/ctrlp-py-matcher";
+      rev = "cf63fd546f1e80dd4db3db96afbeaad301d21f13";
+      sha256 = "0hs829x3vxv12y78hz5g4a5qpw05xf42dk0hxxk3ind77mnl1ir1";
     };
     dependencies = [];
 
   };
 
-  Hoogle = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "Hoogle-2017-11-04";
+  ctrlp-cmatcher = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "ctrlp-cmatcher-2015-10-15";
     src = fetchgit {
-      url = "git://github.com/Twinside/vim-hoogle";
-      rev = "14256fa4f482bb40f55311a6d8037103549c7844";
-      sha256 = "1dhfy9s6q11cb424x595anj17sgsqywdyrcw3ynmk3949iiwaqhb";
+      url = "https://github.com/JazzCore/ctrlp-cmatcher";
+      rev = "6c36334f106b6fd981d23e724e9a618734cab43a";
+      sha256 = "1573kd6xf3n8sxlz2j4zadai4rnc7k3s9c54648yfzickwn57d8q";
     };
     dependencies = [];
-
+    buildInputs = [ python ];
+    buildPhase = ''
+      patchShebangs .
+      ./install.sh
+    '';
   };
 
-  Solarized = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "Solarized-2011-05-09";
+  julia-vim = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "julia-vim-2018-03-27";
     src = fetchgit {
-      url = "git://github.com/altercation/vim-colors-solarized";
-      rev = "528a59f26d12278698bb946f8fb82a63711eec21";
-      sha256 = "05d3lmd1shyagvr3jygqghxd3k8a4vp32723fvxdm57fdrlyzcm1";
+      url = "https://github.com/JuliaEditorSupport/julia-vim";
+      rev = "4593c8b1ffe20022677e524487c8554d96cf8f84";
+      sha256 = "0yrdzkxyg6cg2i4bd6bqbq0w63hssh3nd0f0qnfl7v5pkq9yba4w";
     };
     dependencies = [];
 
   };
 
-  Supertab = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "Supertab-2017-11-14";
+  zeavim-vim = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "zeavim-vim-2018-03-22";
     src = fetchgit {
-      url = "git://github.com/ervandew/supertab";
-      rev = "40fe711e088e2ab346738233dd5adbb1be355172";
-      sha256 = "0l5labq68kyprv63k1q35hz5ly0dd06mf2z202mccnix4mlxf0db";
+      url = "https://github.com/KabbAmine/zeavim.vim";
+      rev = "6db8d84528d66ce6638db03c2864abfa8afa02aa";
+      sha256 = "1xw8d3ap6n31rh0a4413784sx4ki7wcz8qlwm2vf9in475vvznxj";
     };
     dependencies = [];
 
   };
 
-  Syntastic = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "Syntastic-2018-01-12";
+  vim-nix = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "vim-nix-2018-04-24";
     src = fetchgit {
-      url = "git://github.com/scrooloose/syntastic";
-      rev = "937d77d1f3ba8de08ad275e052e38d0e680a175b";
-      sha256 = "10qrq1fs53srp4inxmcm8zq5kjdl56hh1lwh2jhda9mfwrbhg3fp";
+      url = "https://github.com/LnL7/vim-nix";
+      rev = "dae3d30a145f1d0e50658dafd88f95cd4b5e323d";
+      sha256 = "1x3gaiz2wbqykzhk0zj0krjp81m5rxhk80pcg96f4gyqp7hxrx78";
     };
     dependencies = [];
 
   };
 
-  SyntaxRange = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "SyntaxRange-2017-07-03";
+  vim-addon-actions = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "vim-addon-actions-2018-01-18";
     src = fetchgit {
-      url = "git://github.com/inkarkat/vim-SyntaxRange";
-      rev = "213cfda0a0f11505665dbfe1e58c803f498761a6";
-      sha256 = "1dg9n3zll3a79lv96kdlxxs141binb8w79zdisj7djxc5y2k48qs";
+      url = "https://github.com/MarcWeber/vim-addon-actions";
+      rev = "540cae09832ba6abf9fc63c55781bf86584c33ac";
+      sha256 = "011w5k09i01r9x64j20qj0f7d057m9wki2m8l2wds47l57hr3vz6";
     };
-    dependencies = [];
+    dependencies = ["vim-addon-mw-utils" "tlib"];
 
   };
 
-  Tabular = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "Tabular-2016-05-04";
+  vim-addon-async = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "vim-addon-async-2017-03-20";
     src = fetchgit {
-      url = "git://github.com/godlygeek/tabular";
-      rev = "00e1e7fcdbc6d753e0bc8043e0d2546fa81bf367";
-      sha256 = "185jpisk9hamcwb6aiavdzjdbbigzdra8f4mgs98r9cm9j448xkz";
+      url = "https://github.com/MarcWeber/vim-addon-async";
+      rev = "eca316a4480f68c2cb62128f3187dc7b2002afde";
+      sha256 = "1lk8ma51dd0syi73vq5r4qk9cpy6cq3llizvh94hmxblfjpvrs7q";
     };
-    dependencies = [];
+    dependencies = ["vim-addon-signs"];
 
   };
 
-  Tagbar = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "Tagbar-2017-12-03";
+  vim-addon-background-cmd = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "vim-addon-background-cmd-2015-12-11";
     src = fetchgit {
-      url = "git://github.com/majutsushi/tagbar";
-      rev = "c004652797185121bbf264138d57eb2a0199b6db";
-      sha256 = "0aj319iz3g9b1xs8g2k7ikjhjy6y94i0hyk0a9km7swglairld06";
+      url = "https://github.com/MarcWeber/vim-addon-background-cmd";
+      rev = "abf2abf339652d2bc79da81f9d131edfe2755f5a";
+      sha256 = "0csy68x686l3x5ancidxb5b6prg9k7ikybqzq3klx0gs5rmksfy4";
     };
-    dependencies = [];
+    dependencies = ["vim-addon-mw-utils"];
 
   };
 
-  The_NERD_Commenter = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "The_NERD_Commenter-2017-11-07";
+  vim-addon-commenting = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "vim-addon-commenting-2013-06-10";
     src = fetchgit {
-      url = "git://github.com/scrooloose/nerdcommenter";
-      rev = "fd61bc71f64c8accf86f06c633fd19b205efa85b";
-      sha256 = "07196j5bp3k4ckapyrp3366h0nyvqq5r26hqqihgfa62s1n8rjsl";
+      url = "https://github.com/MarcWeber/vim-addon-commenting";
+      rev = "b7cf748ac1c9bf555cbd347589e3b7196030d20b";
+      sha256 = "0alak8h33vada2ckb0v06y82qlib5mhyc2yswlv1rqh8ypzhq3mc";
     };
     dependencies = [];
 
   };
 
-  The_NERD_tree = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "The_NERD_tree-2017-12-06";
+  vim-addon-completion = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "vim-addon-completion-2015-02-10";
     src = fetchgit {
-      url = "git://github.com/scrooloose/nerdtree";
-      rev = "8cbea5109e8c7ed682da25bb488267d781db0bd4";
-      sha256 = "0n4shpdl33yghkqk0vllrmmb74dflf39liyclkbpqmcymx9rw2qj";
+      url = "https://github.com/MarcWeber/vim-addon-completion";
+      rev = "021c449a5ce1ce4ac0af5955e05b0279c1cc0e75";
+      sha256 = "1ld059y2qwlc5bdfjm2p314s1qh31lxs54g944pw49r46s5nlslr";
     };
-    dependencies = [];
+    dependencies = ["tlib"];
 
   };
 
-  UltiSnips = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "UltiSnips-2017-06-30";
+  vim-addon-errorformats = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "vim-addon-errorformats-2014-11-05";
     src = fetchgit {
-      url = "git://github.com/SirVer/ultisnips";
-      rev = "423f264e753cec260b4f14455126e6db7ba429af";
-      sha256 = "19g3k0nqzizv39rxwgkca9n2gsd19z2wwsmicr0zcgnf50nhkznh";
+      url = "https://github.com/MarcWeber/vim-addon-errorformats";
+      rev = "dcbb203ad5f56e47e75fdee35bc92e2ba69e1d28";
+      sha256 = "159zqm69fxbxcv3b2y99g57bf20qrzsijcvb5rzy2njxah3049m1";
     };
     dependencies = [];
 
   };
 
-  VimOutliner = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "VimOutliner-2017-08-02";
+  vim-addon-goto-thing-at-cursor = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "vim-addon-goto-thing-at-cursor-2012-01-11";
     src = fetchgit {
-      url = "git://github.com/vimoutliner/vimoutliner";
-      rev = "c13141d604959d84225c3a53dc4b0ef5ae8b2bfe";
-      sha256 = "1bg45cnpvnk2k7r6l2n3sz0cw2lhrglphak10yp11yqf4q1rxl7x";
+      url = "https://github.com/MarcWeber/vim-addon-goto-thing-at-cursor";
+      rev = "f052e094bdb351829bf72ae3435af9042e09a6e4";
+      sha256 = "1ksm2b0j80zn8sz2y227bpcx4jsv76lwgr2gpgy2drlyqhn2vlv0";
     };
-    dependencies = [];
+    dependencies = ["tlib"];
 
   };
 
-  WebAPI = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "WebAPI-2017-04-26";
+  vim-addon-local-vimrc = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "vim-addon-local-vimrc-2015-03-19";
     src = fetchgit {
-      url = "git://github.com/mattn/webapi-vim";
-      rev = "e76f2da9a8f292a999a95ae688534f76c2dca9bd";
-      sha256 = "02970g7blj478vid88gayba39rdcm9236nigkrijapyf5rd24zhh";
+      url = "https://github.com/MarcWeber/vim-addon-local-vimrc";
+      rev = "6a27f95b35befa70cd0d049329cd0920566c764b";
+      sha256 = "0n8lwl1gyak149p7jpgm0qbmfj8hcg8hirx3dxdhizw0yc47ws7h";
     };
     dependencies = [];
 
   };
 
-  YankRing = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "YankRing";
-    src = fetchurl {
-      url = "http://www.vim.org/scripts/download_script.php?src_id=23487";
-      name = "yankring_190.zip";
-      sha256 = "0nnxpsfjp2p9jvs3y5ynnd5s56snz9927zdp9bgmay2jgxfmp0si";
+  vim-addon-manager = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "vim-addon-manager-2017-05-07";
+    src = fetchgit {
+      url = "https://github.com/MarcWeber/vim-addon-manager";
+      rev = "2434225ae48e608c2b6ac86c8da1c62209da746f";
+      sha256 = "1fczkd05gir994614qmgscx131isr71bn0rwa6n3vgdbnhasz6bb";
     };
-    buildInputs = [ unzip ];
     dependencies = [];
-    meta = {
-       homepage = "http://www.vim.org/scripts/script.php?script_id=1234";
+    buildInputs = stdenv.lib.optional stdenv.isDarwin Cocoa;
+  };
+
+  vim-addon-mru = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "vim-addon-mru-2013-08-08";
+    src = fetchgit {
+      url = "https://github.com/MarcWeber/vim-addon-mru";
+      rev = "e41e39bd9d1bf78ccfd8d5e1bc05ae5e1026c2bb";
+      sha256 = "0q6rxr9nrp63kidr3m3c2z5sda4g813pzshg0scxkjr8dxwhzdqm";
     };
+    dependencies = ["vim-addon-other" "vim-addon-mw-utils"];
 
-    sourceRoot = ".";
   };
 
-  caw = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "caw-2018-01-01";
+  vim-addon-mw-utils = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "vim-addon-mw-utils-2018-03-09";
     src = fetchgit {
-      url = "git://github.com/tyru/caw.vim";
-      rev = "50efcd94e00dc3e814bcc0d3d8ccfa3ff324ea42";
-      sha256 = "06hpby2amh2pb4dlfd7s6wybzc8rh8wa3jz0gyv6xx3l91agfari";
+      url = "https://github.com/MarcWeber/vim-addon-mw-utils";
+      rev = "295862ba6be47ec3b11b6c85c10d982ffd9bc0b2";
+      sha256 = "0ylvhmx0cnj2x38plwqlq4pqyqyxxhf4s08hknnl7qhrr5kd533f";
     };
     dependencies = [];
 
   };
 
-  clang_complete = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "clang_complete-2017-09-25";
+  vim-addon-nix = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "vim-addon-nix-2017-09-11";
     src = fetchgit {
-      url = "git://github.com/Rip-Rip/clang_complete";
-      rev = "fb8f4f25ab808bc83bc7c704f23171cb6b020737";
-      sha256 = "0y80ds4l5gqqdm56ymkgsfpizpx96kzrr0ivx29q7ahd4ry847xa";
+      url = "https://github.com/MarcWeber/vim-addon-nix";
+      rev = "3001a9db5f816dd7af11384f15415bddd146ef86";
+      sha256 = "195z2yz09wirpqjpsha8x7qcr9is1q8qph4j0svws6qbqrkh8ryy";
     };
-    dependencies = [];
-    # In addition to the arguments you pass to your compiler, you also need to
-    # specify the path of the C++ std header (if you are using C++).
-    # These usually implicitly set by cc-wrapper around clang (pkgs/build-support/cc-wrapper).
-    # The linked ruby code shows generates the required '.clang_complete' for cmake based projects
-    # https://gist.github.com/Mic92/135e83803ed29162817fce4098dec144
-    # as an alternative you can execute the following command:
-    # $ eval echo $(nix-instantiate --eval --expr 'with (import <nixpkgs>) {}; clang.default_cxx_stdlib_compile')
-    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/libclang.so'"
-    '';
+    dependencies = ["vim-addon-completion" "vim-addon-goto-thing-at-cursor" "vim-addon-errorformats" "vim-addon-actions" "vim-addon-mw-utils" "tlib"];
+
   };
 
-  commentary = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "commentary-2017-10-09";
+  vim-addon-other = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "vim-addon-other-2014-07-15";
     src = fetchgit {
-      url = "git://github.com/tpope/vim-commentary";
-      rev = "89f43af18692d22ed999c3097e449f12fdd8b299";
-      sha256 = "0nqm4s00c607r58fz29n67r2z5p5r9qayl5y1chy8bcrl59m17a2";
+      url = "https://github.com/MarcWeber/vim-addon-other";
+      rev = "f78720c9cb5bf871cabb13c7cbf94378dbf0163b";
+      sha256 = "0cjz7mlyfkkncas4ss7rwxb0q38ls1qw1p15hac1imscscsvyjc6";
     };
-    dependencies = [];
+    dependencies = ["vim-addon-actions" "vim-addon-mw-utils"];
 
   };
 
-  csv = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "csv-2018-01-03";
+  vim-addon-php-manual = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "vim-addon-php-manual-2015-01-01";
     src = fetchgit {
-      url = "git://github.com/chrisbra/csv.vim";
-      rev = "a50b977fa25a854e7d099198bfa65e2dc680898b";
-      sha256 = "02a6289rbjw8r0l668ala5abfr2rls3slrnk4yrsfc6ka550zj9y";
+      url = "https://github.com/MarcWeber/vim-addon-php-manual";
+      rev = "5f9810dd1f6e9f36a45f637ae6260ccff09256ff";
+      sha256 = "1kc67f12wccqdza069b75lpcbqp4kv4r23i4mfz0ihwif5mfnhir";
     };
     dependencies = [];
 
   };
 
-  ctrlp-cmatcher = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "ctrlp-cmatcher-2015-10-15";
+  vim-addon-signs = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "vim-addon-signs-2013-04-19";
     src = fetchgit {
-      url = "git://github.com/JazzCore/ctrlp-cmatcher";
-      rev = "6c36334f106b6fd981d23e724e9a618734cab43a";
-      sha256 = "1573kd6xf3n8sxlz2j4zadai4rnc7k3s9c54648yfzickwn57d8q";
+      url = "https://github.com/MarcWeber/vim-addon-signs";
+      rev = "17a49f293d18174ff09d1bfff5ba86e8eee8e8ae";
+      sha256 = "0i4gfp30hmw1vqjl6zxjrgkca3ikdkcnjmma2mncjmcr6f59kjzy";
     };
     dependencies = [];
-    buildInputs = [ python ];
-    buildPhase = ''
-      patchShebangs .
-      ./install.sh
-    '';
+
   };
 
-  ctrlp-py-matcher = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "ctrlp-py-matcher-2017-11-01";
+  vim-addon-sql = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "vim-addon-sql-2017-02-11";
     src = fetchgit {
-      url = "git://github.com/FelikZ/ctrlp-py-matcher";
-      rev = "cf63fd546f1e80dd4db3db96afbeaad301d21f13";
-      sha256 = "0hs829x3vxv12y78hz5g4a5qpw05xf42dk0hxxk3ind77mnl1ir1";
+      url = "https://github.com/MarcWeber/vim-addon-sql";
+      rev = "048a139af36829fce670c8ff80d3aad927557ee6";
+      sha256 = "0ihm157sby6csdwsnw2gwh3jmm3prm1mxwgkx2hsfwlmpb1vwwm3";
     };
-    dependencies = [];
+    dependencies = ["vim-addon-completion" "vim-addon-background-cmd" "tlib"];
 
   };
 
-  ctrlp-z = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "ctrlp-z-2015-10-17";
+  vim-addon-syntax-checker = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "vim-addon-syntax-checker-2017-06-26";
     src = fetchgit {
-      url = "git://github.com/amiorin/ctrlp-z";
-      rev = "d1a69ec623ce24b9a30fc8fe3cd468c322b03026";
-      sha256 = "16nsj1g8lqmyizlb5ijwhf4dsmh0xv1kwqq6jxvhaf55vfga82yl";
+      url = "https://github.com/MarcWeber/vim-addon-syntax-checker";
+      rev = "739e5719b77c6aea3299c27fc1f4238ac54a8344";
+      sha256 = "1rcn1ps06156nyglvxg6m7pn3vhvmnv5ad6kidp59hggyr5332i9";
     };
-    dependencies = [];
+    dependencies = ["vim-addon-mw-utils" "tlib"];
 
   };
 
-  easygit = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "easygit-2017-08-11";
+  vim-addon-toggle-buffer = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "vim-addon-toggle-buffer-2012-01-13";
     src = fetchgit {
-      url = "git://github.com/chemzqm/vim-easygit";
-      rev = "8f66da54da627395309548efee6d8705b7f50768";
-      sha256 = "013jl330k9yjcvzzqhwz93adm4349gkl3q1c55m1zfkg3afmvnwd";
+      url = "https://github.com/MarcWeber/vim-addon-toggle-buffer";
+      rev = "a1b38b9c5709cba666ed2d84ef06548f675c6b0b";
+      sha256 = "1xq38kfdm36c34ln66znw841q797w5gm8bpq1x64bsf2h6n3ml03";
     };
-    dependencies = [];
+    dependencies = ["vim-addon-mw-utils" "tlib"];
 
   };
 
-  extradite = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "extradite-2015-09-22";
+  vim-addon-xdebug = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "vim-addon-xdebug-2014-08-29";
     src = fetchgit {
-      url = "git://github.com/int3/vim-extradite";
-      rev = "52326f6d333cdbb9e9c6d6772af87f4f39c00526";
-      sha256 = "0c89i0spvdm9vi65q15qcmsfmwa9rds2wmaq1kf6s7q7ywvs6w8i";
+      url = "https://github.com/MarcWeber/vim-addon-xdebug";
+      rev = "45f26407305b4ce6f8f5f37d2b5e6e4354104172";
+      sha256 = "1i64ppdfp2qqq7vw1jf160mj4ikc04v39iazdab83xmiqjsh8ixw";
     };
-    dependencies = [];
+    dependencies = ["WebAPI" "vim-addon-mw-utils" "vim-addon-signs" "vim-addon-async"];
 
   };
 
-  fugitive = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "fugitive-2017-12-16";
+  tsuquyomi = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "tsuquyomi-2018-03-23";
     src = fetchgit {
-      url = "git://github.com/tpope/vim-fugitive";
-      rev = "f3ccb0c12ee4985b8808f83059830a24cc92821c";
-      sha256 = "1ry67wi5dci4jy54jyf3lsf0yq13a42z9w5qh39rwv5w9wiab2fb";
+      url = "https://github.com/Quramy/tsuquyomi";
+      rev = "94f10d312134fc59b53b2e821d3315320f694cf0";
+      sha256 = "1f084y9vv8rkb2d0ig6lc40sbdchpfc68fkxlvaky4jk1l1l89ay";
     };
     dependencies = [];
 
   };
 
-  ghcmod = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "ghcmod-2016-06-19";
+  clang_complete = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "clang_complete-2018-01-18";
     src = fetchgit {
-      url = "git://github.com/eagletmt/ghcmod-vim";
-      rev = "1d192d13d68ab59f9f46497a0909bf24a7b7dfff";
-      sha256 = "0bzahgzagnf0a9zv86jhdf8nc3p0yfz9izv5n3lc8gc12cp47d0a";
+      url = "https://github.com/Rip-Rip/clang_complete";
+      rev = "0918788ea0b9dc4c753ffd162c95f890ae57a275";
+      sha256 = "19hf7xrx1lsvn5rhwmc0qc1qzpb365j1d0jzvihd99p0zkgzgj1p";
     };
     dependencies = [];
-
+    # In addition to the arguments you pass to your compiler, you also need to
+    # specify the path of the C++ std header (if you are using C++).
+    # These usually implicitly set by cc-wrapper around clang (pkgs/build-support/cc-wrapper).
+    # The linked ruby code shows generates the required '.clang_complete' for cmake based projects
+    # https://gist.github.com/Mic92/135e83803ed29162817fce4098dec144
+    # as an alternative you can execute the following command:
+    # $ eval echo $(nix-instantiate --eval --expr 'with (import <nixpkgs>) {}; clang.default_cxx_stdlib_compile')
+    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/libclang.so'"
+    '';
   };
 
-  vim-auto-save = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vim-auto-save-2017-11-08";
+  riv-vim = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "riv-vim-2018-01-21";
     src = fetchgit {
-      url = "https://github.com/907th/vim-auto-save";
-      rev = "66643afb55a1fcd3a9b4336f868f58da45bff397";
-      sha256 = "1qnsj520j2hm6znpqpdqmz11vw45avgj8g9djx3alqbnab8ryw0p";
+      url = "https://github.com/Rykka/riv.vim";
+      rev = "454fef3402c8b8b2c2036232a9e9b798f5e35d09";
+      sha256 = "1n5m4y03bfabhr6inmgwhwc4ayaafavsrqagklzjwfx1cv3r9f2j";
     };
     dependencies = [];
 
   };
 
-  vim-autoformat = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vim-autoformat-2017-12-06";
+  deoplete-nvim = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "deoplete-nvim-2018-04-16";
     src = fetchgit {
-      url = "https://github.com/Chiel92/vim-autoformat";
-      rev = "27f0e48a9b60ab8a45178d6104fa819a99ead2ee";
-      sha256 = "0na5qwgpafnxz7lbscs9y0ffbd01b1ab2q1kqrr78a3gqz37ga0s";
+      url = "https://github.com/Shougo/deoplete.nvim";
+      rev = "0d48792663437d81bdfa195c676d5c37ef10c89a";
+      sha256 = "1zqrxxi7ci1mp5ml7nayj3crzpqgdl09q20wilp68kf2mvll28xi";
     };
     dependencies = [];
 
   };
 
-  vim-nix = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vim-nix-2018-02-25";
+  ultisnips = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "ultisnips-2018-04-16";
     src = fetchgit {
-      url = "https://github.com/LnL7/vim-nix";
-      rev = "36c5feb514930e8fb8e2f4567d6b0d9e806fc2eb";
-      sha256 = "1v0vm0h5j6zzwhm5gw3xcmckswma3a5kxyli34i8hy14yli0ff3d";
+      url = "https://github.com/SirVer/ultisnips";
+      rev = "905e5249246169b6db2bb060e0a2b06eac1890e6";
+      sha256 = "025b2f4gs04qb6wnxa0yclwm5jysdj6q10i2zkbiclvblfbxxv19";
     };
     dependencies = [];
 
   };
 
-  tsuquyomi = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "tsuquyomi-2017-11-10";
+  vim-hoogle = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "vim-hoogle-2018-03-04";
     src = fetchgit {
-      url = "https://github.com/Quramy/tsuquyomi";
-      rev = "8a647de888e1d823718f717d47678a97b5012196";
-      sha256 = "0zvcr15g6m17736a7nwr9aa7c3sd25ad39v7dban0jiz6asd7nn1";
+      url = "https://github.com/Twinside/vim-hoogle";
+      rev = "871d104c92e33cb238506f2805f1652561978cc8";
+      sha256 = "17qvi57g72ijgk7nczczli3kcphvdf625fzqbqcmqpsawgvfd07n";
     };
     dependencies = [];
 
   };
 
-  deoplete-nvim = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "deoplete-nvim-2018-01-14";
+  vim-gitgutter = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "vim-gitgutter-2018-04-11";
     src = fetchgit {
-      url = "https://github.com/Shougo/deoplete.nvim";
-      rev = "b164eb8c36ddbb8835434e013358de29b9c8f1f2";
-      sha256 = "0k3zmpdlg4y4f0y3pgfcqmglrrs1iagw8iaaz131nyswz0m2pf6x";
+      url = "https://github.com/airblade/vim-gitgutter";
+      rev = "5481318fc1b97e7c04eab5496ec45c63335d6bc1";
+      sha256 = "1jwqxkaqvkmdqi9k9nx25xz28av374a70izs0534hx12crgg8g3w";
     };
     dependencies = [];
 
   };
 
   Spacegray-vim = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "Spacegray-vim-2017-11-22";
+    name = "Spacegray-vim-2018-04-07";
     src = fetchgit {
       url = "https://github.com/ajh17/Spacegray.vim";
-      rev = "9a952cee86397ce28aef890209ccee2397d9a32e";
-      sha256 = "0ddxkmqcjns0vznqcwji835kkn8pps93kyksx34b57ssr1qq28d1";
+      rev = "255a6086aa5af07e38e441964623029a39fa17c1";
+      sha256 = "0pfwmazcmsz9wdjmbw6hjcvbsd9j99jrjxw81xy1s6vqxmlhi8gj";
     };
     dependencies = [];
 
@@ -554,12 +610,45 @@ rec {
 
   };
 
+  vim-colors-solarized = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "vim-colors-solarized-2011-05-09";
+    src = fetchgit {
+      url = "https://github.com/altercation/vim-colors-solarized";
+      rev = "528a59f26d12278698bb946f8fb82a63711eec21";
+      sha256 = "05d3lmd1shyagvr3jygqghxd3k8a4vp32723fvxdm57fdrlyzcm1";
+    };
+    dependencies = [];
+
+  };
+
   vim-closetag = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vim-closetag-2017-11-01";
+    name = "vim-closetag-2018-03-09";
     src = fetchgit {
       url = "https://github.com/alvan/vim-closetag";
-      rev = "277e21d04c417112da6ecd3485373c6d3ff93b90";
-      sha256 = "1wx9qqas0gd301pn9zabbl4b9v41i1hwbnd8fyy8kxxf0cbpdwaf";
+      rev = "aa14c2c1e7da4112e46ef6b287cacdd7af96da6f";
+      sha256 = "058z8dzqki3idv7r5654xd91wplhhnsa2l533rszmkzji3hj2why";
+    };
+    dependencies = [];
+
+  };
+
+  ctrlp-z = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "ctrlp-z-2015-10-17";
+    src = fetchgit {
+      url = "https://github.com/amiorin/ctrlp-z";
+      rev = "d1a69ec623ce24b9a30fc8fe3cd468c322b03026";
+      sha256 = "16nsj1g8lqmyizlb5ijwhf4dsmh0xv1kwqq6jxvhaf55vfga82yl";
+    };
+    dependencies = [];
+
+  };
+
+  vim-logreview = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "vim-logreview-2017-07-08";
+    src = fetchgit {
+      url = "https://github.com/andreshazard/vim-logreview";
+      rev = "b7b66ab338e904127d796af49235b8c29742f18f";
+      sha256 = "09lyymq0f3ybqdzhbpia7b0wcjbcyg5nkqd72qk8jkvc42da2af3";
     };
     dependencies = [];
 
@@ -588,22 +677,11 @@ rec {
   };
 
   vim-css-color = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vim-css-color-2017-11-03";
+    name = "vim-css-color-2018-03-06";
     src = fetchgit {
       url = "https://github.com/ap/vim-css-color";
-      rev = "fcf5829daa7817994fb856dbaa905e6fd8beb50c";
-      sha256 = "1a617ji11395zimqjgpcq2qciyjzq5ixm85vc8rkj8jda0qgm91c";
-    };
-    dependencies = [];
-
-  };
-
-  LanguageClient-neovim = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "LanguageClient-neovim-2017-12-05";
-    src = fetchgit {
-      url = "https://github.com/autozimu/LanguageClient-neovim";
-      rev = "eac16849eb5cb5592cf043fa222282a7082f257b";
-      sha256 = "07j7zm8xbvsanr9ghwxaw88m0kfr0ih262g299n5rr972s93wpg6";
+      rev = "afaacf50e65b7d30b170e70ee13c1518dce1e032";
+      sha256 = "1ck8qv3wfmc7rdddzd7zh2dsnb0rx69grmc0laz7n1358xg0i4vx";
     };
     dependencies = [];
 
@@ -621,11 +699,11 @@ rec {
   };
 
   clighter8 = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "clighter8-2017-11-30";
+    name = "clighter8-2018-04-15";
     src = fetchgit {
       url = "https://github.com/bbchung/clighter8";
-      rev = "909f2162a3dfa3d4089533e42af01b4411ef6a78";
-      sha256 = "0hi1v8ww4yzwpdr25zzdr4ccwvs5d3pa02gj5y6qfc5ddz1krdml";
+      rev = "6d325abd043fd1bc31bea821f751996541bfc944";
+      sha256 = "1kmk6q1hca97052dif1m3ygcr9zrnc3i2lrvkzlmsqb159mgfsgq";
     };
     dependencies = [];
     preFixup = ''
@@ -635,11 +713,11 @@ rec {
   };
 
   neomake = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "neomake-2017-12-06";
+    name = "neomake-2018-04-17";
     src = fetchgit {
       url = "https://github.com/benekastah/neomake";
-      rev = "22bcbd560820d387b61ae285b1d1a74f338e3e13";
-      sha256 = "1hp99fpbvi72m51m2ivn4rg64awlr9zqkvhjh99rl7ax8y0zw8ap";
+      rev = "df72c7a2f1bdcc08b5dbcd86f165fe7cd5eb6e1f";
+      sha256 = "1vlc0irqkl27dyh52wci36fcj80a67fcb9q9cpcbr94lwh4l7l26";
     };
     dependencies = [];
 
@@ -668,33 +746,33 @@ rec {
   };
 
   vim-toml = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vim-toml-2017-12-10";
+    name = "vim-toml-2018-03-06";
     src = fetchgit {
       url = "https://github.com/cespare/vim-toml";
-      rev = "b531aac0d45aaa373070c4cc30d7ead91960f5a7";
-      sha256 = "14g3zvyfvhilr5ka3jhja4jxjn99957sk6hlv13yfkg349f57dvg";
+      rev = "624f02475080ea26d9430b8d31d7c3199b0ec939";
+      sha256 = "0frjdv50rhd3awrddq25x4l22ca15i5587pgcmvwxz92y52484lx";
     };
     dependencies = [];
 
   };
 
   denite-extra = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "denite-extra-2017-11-03";
+    name = "denite-extra-2018-03-18";
     src = fetchgit {
       url = "https://github.com/chemzqm/denite-extra";
-      rev = "2cea3e857b51fcde425339adeec12854e6cecbb6";
-      sha256 = "1qa0ajs6vix0vvm1z7rhxq9bfx4aggq97gxghrxpvsc059c7w9wv";
+      rev = "c48443ba1a27375b8a3c04b7b0a5b2c96c7ff62b";
+      sha256 = "142s6c4af7h0jrnyl0smflg2wmkwsvhvly04rci3p54x59w7xdc5";
     };
     dependencies = [];
 
   };
 
   denite-git = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "denite-git-2017-11-02";
+    name = "denite-git-2018-03-20";
     src = fetchgit {
       url = "https://github.com/chemzqm/denite-git";
-      rev = "d40026c9b2c0e53ecdd3883d26260f19c74c7dfe";
-      sha256 = "0c9602pj67hqfkyvanz5gw1s6vlf8q7s9r55g4dws5aakvjbqc0g";
+      rev = "d1feb1470f667a5086ae45136642cefa5fc74810";
+      sha256 = "001mwa6691a46lv9m9w8gb2syxgsny6ifv4l80f1chb7hjkblkhh";
     };
     dependencies = [];
 
@@ -711,12 +789,56 @@ rec {
 
   };
 
+  sourcemap-vim = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "sourcemap-vim-2012-09-19";
+    src = fetchgit {
+      url = "https://github.com/chikatoike/sourcemap.vim";
+      rev = "0dd82d40faea2fdb0771067f46c01deb41610ba1";
+      sha256 = "1gcgnynallz420911fdfm0ccbv3zs78p69nnh2ls1r4vlfp7g350";
+    };
+    dependencies = [];
+
+  };
+
+  CheckAttach = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "CheckAttach-2017-03-15";
+    src = fetchgit {
+      url = "https://github.com/chrisbra/CheckAttach";
+      rev = "b583efd45e03902438a55299623390a0f9253513";
+      sha256 = "0j1nx8ryrlixisd8z2d24k1xk2yrqk4i0ar8m4vq3jlr74309a34";
+    };
+    dependencies = [];
+
+  };
+
+  csv-vim = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "csv-vim-2018-04-15";
+    src = fetchgit {
+      url = "https://github.com/chrisbra/csv.vim";
+      rev = "5ca39450e6d40265086d929ff82ca2c9566fdc68";
+      sha256 = "0i6j6c6027vpdcjq6znmkbdbbsdgwqb89jswkyhyx7ff3lwmzryq";
+    };
+    dependencies = [];
+
+  };
+
+  sparkup = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "sparkup-2012-06-10";
+    src = fetchgit {
+      url = "https://github.com/chrisgeo/sparkup";
+      rev = "6fbfceef890e705c47b42b27be743ffed6f9296e";
+      sha256 = "17jgpvl879ik53rr3razfnbpfx63mzpp1rlvxxjsvvrk4g45dssm";
+    };
+    dependencies = [];
+
+  };
+
   vim-sort-motion = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vim-sort-motion-2017-10-03";
+    name = "vim-sort-motion-2018-03-05";
     src = fetchgit {
       url = "https://github.com/christoomey/vim-sort-motion";
-      rev = "7384f20d829b4abde28ced40975f0beb319dce27";
-      sha256 = "1x4hxa7dijb5g7vmrbgs2zi8aiqc759ljmh8qqwk6lafc016plnj";
+      rev = "b4455cea401c86d189e84c4dda55f18d8a4a67d4";
+      sha256 = "0cav0l152qy8fvhwpcdr7lddf0jnjkjw6hnjrmmpvikxj7rq2yik";
     };
     dependencies = [];
 
@@ -734,33 +856,55 @@ rec {
   };
 
   spacevim = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "spacevim-2017-03-31";
+    name = "spacevim-2018-03-29";
     src = fetchgit {
       url = "https://github.com/ctjhoa/spacevim";
-      rev = "f4cd52c1746021bb3278c6a085e8d07f1c1a9258";
-      sha256 = "0y146z0w1cbqwzw84k479a5hxs1phg1s11fqfvszn8928fsm8c4d";
+      rev = "30142a518ba77feb22791b5cb2387d88b70c58f2";
+      sha256 = "0m389cnpg17ca8s7vb9yrs40sxb56zg32lcpilnd63zfi7awgscg";
     };
     dependencies = [];
 
   };
 
   ctrlp-vim = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "ctrlp-vim-2017-08-30";
+    name = "ctrlp-vim-2018-04-10";
     src = fetchgit {
       url = "https://github.com/ctrlpvim/ctrlp.vim";
-      rev = "bde7a2950adaa82e894d7bdf69e3e7383e40d229";
-      sha256 = "19q3cfs3rd3q1xfhyz55r1c3750nrjvwz7jxnhqqn751zgimnsyl";
+      rev = "4b9e7cac612902a25498cca49f13475fe1a821a4";
+      sha256 = "1wa2kxiwipnxwd19gyv6grgqn0ms6zdxsj2xg80whkk3namlgg7m";
+    };
+    dependencies = [];
+
+  };
+
+  vim2hs = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "vim2hs-2014-04-16";
+    src = fetchgit {
+      url = "https://github.com/dag/vim2hs";
+      rev = "f2afd55704bfe0a2d66e6b270d247e9b8a7b1664";
+      sha256 = "18lqrl3hqb6cmizc04bbnsh8j0g761w2q8wascbzzfw80dmxy36b";
+    };
+    dependencies = [];
+
+  };
+
+  quickfixstatus = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "quickfixstatus-2011-09-02";
+    src = fetchgit {
+      url = "https://github.com/dannyob/quickfixstatus";
+      rev = "fd3875b914fc51bbefefa8c4995588c088163053";
+      sha256 = "16vxhvyxq51y7wnx0c1fmdi2yb6kfr1pxijq65gxj8qwvbak2s3v";
     };
     dependencies = [];
 
   };
 
   agda-vim = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "agda-vim-2017-11-21";
+    name = "agda-vim-2018-03-16";
     src = fetchgit {
       url = "https://github.com/derekelkins/agda-vim";
-      rev = "13e3b24aeb8677205ff43a79c6c7e090a602b31a";
-      sha256 = "17vp11x1w9bibl5ibsvhw5m5ma2r8pzddshgxdvfg22wprx0kcp0";
+      rev = "911a9695f550b47e4dedbe8a3dd1b6a9a745fe52";
+      sha256 = "1bmi3d39hllrsnsy37dxhziffvs9qzns631gd9psk6xgcchkan7n";
     };
     dependencies = [];
 
@@ -777,6 +921,17 @@ rec {
 
   };
 
+  vim-table-mode = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "vim-table-mode-2018-03-22";
+    src = fetchgit {
+      url = "https://github.com/dhruvasagar/vim-table-mode";
+      rev = "e646bee5c45201b52f8f879eddf84b5c2e360e98";
+      sha256 = "1kaszrik5mqrvavl0lzfy9i0r3b2vf1jmjxp23azy0jfanflrxwa";
+    };
+    dependencies = [];
+
+  };
+
   vim-jade = buildVimPluginFrom2Nix { # created by nix#NixDerivation
     name = "vim-jade-2017-04-07";
     src = fetchgit {
@@ -800,11 +955,11 @@ rec {
   };
 
   vim = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vim-2017-05-24";
+    name = "vim-2018-04-13";
     src = fetchgit {
       url = "https://github.com/dracula/vim";
-      rev = "6a5bf34193927c70b6c21dcbe1c130d2ab0951d6";
-      sha256 = "1mmqrc52k133ddpxcs0mxjph4n4b856r5wbs17bgcpk95cfbspb1";
+      rev = "7668d800a20c1f180bb49655d98378f2605ad616";
+      sha256 = "07xcqickvw22yx5b91blvb463jn5dpn3drzf8y0nmpz08kfs4qfc";
     };
     dependencies = [];
 
@@ -821,6 +976,17 @@ rec {
 
   };
 
+  ghcmod-vim = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "ghcmod-vim-2016-06-19";
+    src = fetchgit {
+      url = "https://github.com/eagletmt/ghcmod-vim";
+      rev = "1d192d13d68ab59f9f46497a0909bf24a7b7dfff";
+      sha256 = "0bzahgzagnf0a9zv86jhdf8nc3p0yfz9izv5n3lc8gc12cp47d0a";
+    };
+    dependencies = [];
+
+  };
+
   neco-ghc = buildVimPluginFrom2Nix { # created by nix#NixDerivation
     name = "neco-ghc-2017-08-17";
     src = fetchgit {
@@ -866,11 +1032,11 @@ rec {
   };
 
   vim-elixir = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vim-elixir-2018-02-01";
+    name = "vim-elixir-2018-04-16";
     src = fetchgit {
       url = "https://github.com/elixir-lang/vim-elixir";
-      rev = "8ca41c1f02208dd5ca68c7bcb6c71b3b92f46af6";
-      sha256 = "0dp9cqflbwc3h1hzgn9fyaxhcn6q9bclgfy9kkgywp8zk5kwzb7p";
+      rev = "36e54e1cf965d92f251ead359207d4a7b04cfdf2";
+      sha256 = "0y296falc5l6k52vpw1f0bwzxgdbdjiljjg394s472228mnb2r3p";
     };
     dependencies = [];
 
@@ -899,11 +1065,11 @@ rec {
   };
 
   vim-localvimrc = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vim-localvimrc-2018-01-04";
+    name = "vim-localvimrc-2018-04-05";
     src = fetchgit {
       url = "https://github.com/embear/vim-localvimrc";
-      rev = "b915ce29c619fb367ed41d4c95d57eaaaed31b39";
-      sha256 = "13bc3davmw2pms663yniiha8bayzy1m08xjhyrnlqqb2dz77m5gy";
+      rev = "736f9712dd2eb8a7a3ae15d61611db9b5a66c648";
+      sha256 = "09r8hvvm8fdr5rlrgfwnhjkk967dfmis8vgi3d45c9svhsybhkja";
     };
     dependencies = [];
 
@@ -931,6 +1097,17 @@ rec {
     pythonDependencies = with pythonPackages; [ sexpdata websocket_client ];
   };
 
+  supertab = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "supertab-2017-11-14";
+    src = fetchgit {
+      url = "https://github.com/ervandew/supertab";
+      rev = "40fe711e088e2ab346738233dd5adbb1be355172";
+      sha256 = "0l5labq68kyprv63k1q35hz5ly0dd06mf2z202mccnix4mlxf0db";
+    };
+    dependencies = [];
+
+  };
+
   YUNOcommit-vim = buildVimPluginFrom2Nix { # created by nix#NixDerivation
     name = "YUNOcommit-vim-2014-11-26";
     src = fetchgit {
@@ -943,11 +1120,11 @@ rec {
   };
 
   vim-go = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vim-go-2017-12-06";
+    name = "vim-go-2018-04-11";
     src = fetchgit {
       url = "https://github.com/fatih/vim-go";
-      rev = "7f4673573d67aacec0ac35d37eb3123abe4fcf70";
-      sha256 = "074097m1xd7j97zkkhrkfnj8d4ndms20gp8zas2vha1h48yy5a70";
+      rev = "7491209072ed4aa746e6fe7894f976ecd251801e";
+      sha256 = "1a7fy8n9h383776jixlwxl8y3h8h5mixi0bcv4lv61x0g3xxh8gx";
     };
     dependencies = [];
 
@@ -976,11 +1153,55 @@ rec {
   };
 
   psc-ide-vim = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "psc-ide-vim-2017-10-24";
+    name = "psc-ide-vim-2018-03-11";
     src = fetchgit {
       url = "https://github.com/frigoeu/psc-ide-vim";
-      rev = "23bf302de91181d409fb988ce372ab703b119bc5";
-      sha256 = "1yjnc6173zdxbcbszrv7184rk5jax6d187c1klsm8b6lx4j1jv4d";
+      rev = "6d4a3cc27e9782b703f6dd61ef5fdf27054bac0f";
+      sha256 = "19w0cvrka3klxbh9z1yq873v92rhmxdj68bdnqxzwybf24hgsk9g";
+    };
+    dependencies = [];
+
+  };
+
+  vim-snipmate = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "vim-snipmate-2017-04-20";
+    src = fetchgit {
+      url = "https://github.com/garbas/vim-snipmate";
+      rev = "a9802f2351910f64b70fb10b63651e6ff6b8125e";
+      sha256 = "1l7sc6lf66pkiy18aq9s3wk1dmvvvsy1063cc0bxich9xa8m34bj";
+    };
+    dependencies = ["vim-addon-mw-utils" "tlib"];
+
+  };
+
+  vundle = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "vundle-2018-02-02";
+    src = fetchgit {
+      url = "https://github.com/gmarik/vundle";
+      rev = "9a38216a1c0c597f978d73547d37681fc689c90d";
+      sha256 = "1695glma8zf2lnp0w713sdvwqagf1s127p4i60114nk6gx5g5x2c";
+    };
+    dependencies = [];
+
+  };
+
+  csapprox = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "csapprox-2013-07-26";
+    src = fetchgit {
+      url = "https://github.com/godlygeek/csapprox";
+      rev = "7981dac51d8b6776985aa08cb7b5ee98ea7f2ddd";
+      sha256 = "08g4x6nnd6hkgm2daa5ihhz75pcdx3jzzv8rfjls80qajlhx5rf6";
+    };
+    dependencies = [];
+
+  };
+
+  tabular = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "tabular-2016-05-04";
+    src = fetchgit {
+      url = "https://github.com/godlygeek/tabular";
+      rev = "00e1e7fcdbc6d753e0bc8043e0d2546fa81bf367";
+      sha256 = "185jpisk9hamcwb6aiavdzjdbbigzdra8f4mgs98r9cm9j448xkz";
     };
     dependencies = [];
 
@@ -998,22 +1219,55 @@ rec {
   };
 
   vim-jsonnet = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vim-jsonnet-2017-04-06";
+    name = "vim-jsonnet-2018-04-10";
     src = fetchgit {
       url = "https://github.com/google/vim-jsonnet";
-      rev = "2637e273713322befc476760809d46500e6088f3";
-      sha256 = "0fxmqasznb3ra49r4j3fmksik7narnd3b6j1j4najp4l61x27ip2";
+      rev = "1425166887329363381194adc457b02b663b1354";
+      sha256 = "0kkpvp1r06l3glhgw4wv3ihqisjhs5m0x7mxgy388hy4r73fx08j";
+    };
+    dependencies = [];
+
+  };
+
+  vim-maktaba = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "vim-maktaba-2018-04-09";
+    src = fetchgit {
+      url = "https://github.com/google/vim-maktaba";
+      rev = "77a4dcecd7d65ae2bf362bd7d9055d2806a8edf3";
+      sha256 = "0fvspd6q0dj9bqnv8xavfx7xwmg5g68r1kksfv54bbzckkhkw28w";
+    };
+    dependencies = [];
+
+  };
+
+  gitv = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "gitv-2017-11-26";
+    src = fetchgit {
+      url = "https://github.com/gregsexton/gitv";
+      rev = "4b7ecf354726a3d31d0ad9090efd27a79c850a35";
+      sha256 = "0n2ddq0kicl2xjrhxi5pqvpikxa7vbf0hp3lzwmpapmvx146wi3w";
+    };
+    dependencies = ["fugitive"];
+
+  };
+
+  xterm-color-table-vim = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "xterm-color-table-vim-2013-12-31";
+    src = fetchgit {
+      url = "https://github.com/guns/xterm-color-table.vim";
+      rev = "9754e857e5f4fe1f8727106dcc682d21c29a51e4";
+      sha256 = "08a1d9428xwrjp40qgi34cb5fwgc239qf3agxl32k7bqbn08pq19";
     };
     dependencies = [];
 
   };
 
   vim-jsdoc = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vim-jsdoc-2017-02-11";
+    name = "vim-jsdoc-2017-12-18";
     src = fetchgit {
       url = "https://github.com/heavenshell/vim-jsdoc";
-      rev = "cd8f084c3b4bd198620d45a007cee6b009b57b35";
-      sha256 = "0a2d9jwxjws8l7y89yn7xl07r5yh7r7987a8hfalvz12qmdmff1j";
+      rev = "a164cb4c14b9063e82b6ccba96b4bc8b3a6d8f73";
+      sha256 = "0f4hj2vd4l4rprizkg64q6dmm86f5yc9gk554a6f4kpagw2w9y76";
     };
     dependencies = [];
 
@@ -1030,6 +1284,17 @@ rec {
 
   };
 
+  vim-snippets = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "vim-snippets-2018-04-16";
+    src = fetchgit {
+      url = "https://github.com/honza/vim-snippets";
+      rev = "d081fa5117acdd972bd0a3ec1c0424e79ef6121e";
+      sha256 = "0wrm5f15lf6hlyv9ca2a8jil14647acicsmaq34nr11gd375bvvc";
+    };
+    dependencies = [];
+
+  };
+
   idris-vim = buildVimPluginFrom2Nix { # created by nix#NixDerivation
     name = "idris-vim-2017-12-04";
     src = fetchgit {
@@ -1041,23 +1306,45 @@ rec {
 
   };
 
+  vim-SyntaxRange = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "vim-SyntaxRange-2018-03-09";
+    src = fetchgit {
+      url = "https://github.com/inkarkat/vim-SyntaxRange";
+      rev = "dc33d8f84ebbf4c9fa03ce00b8adeb83e05249d3";
+      sha256 = "0nf0hkgl5fm0laxb5253br894259kz33zyiwxzrry6w3108alasr";
+    };
+    dependencies = [];
+
+  };
+
+  vim-extradite = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "vim-extradite-2015-09-22";
+    src = fetchgit {
+      url = "https://github.com/int3/vim-extradite";
+      rev = "52326f6d333cdbb9e9c6d6772af87f4f39c00526";
+      sha256 = "0c89i0spvdm9vi65q15qcmsfmwa9rds2wmaq1kf6s7q7ywvs6w8i";
+    };
+    dependencies = [];
+
+  };
+
   calendar-vim = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "calendar-vim-2017-07-08";
+    name = "calendar-vim-2018-03-12";
     src = fetchgit {
       url = "https://github.com/itchyny/calendar.vim";
-      rev = "6d6be26b2ad1870658525e2a42046429c845516c";
-      sha256 = "0g4k7vn3r8y0ss0nl6apxgpkdi7ixi87a9g5xr66n70lxyn7m9pz";
+      rev = "1aee272cc37670b4f96c5d75975ae8af3bd8809e";
+      sha256 = "1mr7yb07aycpc9famb0kq71sb4xyw87zgnkn0gk9i96pcjaab5fs";
     };
     dependencies = [];
 
   };
 
   lightline-vim = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "lightline-vim-2017-12-05";
+    name = "lightline-vim-2018-04-14";
     src = fetchgit {
       url = "https://github.com/itchyny/lightline.vim";
-      rev = "b19faca129f7921766c0a32a7c378dc89a61e590";
-      sha256 = "1sif7wspivpakm4nlhsq1v93s6s18q5kx8s5zqq97chhv626l8c7";
+      rev = "e54d2ae512c9c081bfff9303cb22ffa94ed48ba3";
+      sha256 = "042sfdwj46yv0bmf0cm5vm24j197isc3asdj4ymxzh5d6jy2i5qb";
     };
     dependencies = [];
 
@@ -1074,6 +1361,17 @@ rec {
 
   };
 
+  vim-cursorword = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "vim-cursorword-2017-10-19";
+    src = fetchgit {
+      url = "https://github.com/itchyny/vim-cursorword";
+      rev = "4878d6185b99131c5f610cc6ad0e223439ac4601";
+      sha256 = "170nf0w7i5k3cr72dkvraq2p0lzsvb3cmdvslyz7cmxnz611n6bf";
+    };
+    dependencies = [];
+
+  };
+
   vim-gitbranch = buildVimPluginFrom2Nix { # created by nix#NixDerivation
     name = "vim-gitbranch-2017-05-28";
     src = fetchgit {
@@ -1097,11 +1395,11 @@ rec {
   };
 
   vim-test-git = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vim-test-git-2018-01-16";
+    name = "vim-test-git-2018-04-16";
     src = fetchgit {
       url = "https://github.com/janko-m/vim-test.git";
-      rev = "731ad6942f9449d2ed22f6d9ccc8d1ce613b1f19";
-      sha256 = "14xwsc23zmkfl6ydvqiqf7l0gn5nxqdm62rvgiky5j5ii9iqj3hr";
+      rev = "61dbd5621bcf0fe74c1008083d7f103f041fc7c7";
+      sha256 = "0r5nxspznniviy0j89pmvksgvyzrzvx1qivabbcds7i62vqrxyw0";
     };
     dependencies = [];
 
@@ -1218,11 +1516,22 @@ rec {
   };
 
   fzf-vim = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "fzf-vim-2018-01-09";
+    name = "fzf-vim-2018-04-17";
     src = fetchgit {
       url = "https://github.com/junegunn/fzf.vim";
-      rev = "c0a5fee7071ed89602b9b59fb67e83d6cd23addc";
-      sha256 = "0biqq9g116zziv9k0axgn8wasgwb57fwaxwjj8vsajrmq5phdl4z";
+      rev = "bbda33b402d92d43c75827bd54ee1932cf03a7b6";
+      sha256 = "02f16kdgs1ahsja84ls1zpjidcg1yx1bhpp39fd7zqqvzw16mf1q";
+    };
+    dependencies = [];
+
+  };
+
+  goyo-vim = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "goyo-vim-2017-06-01";
+    src = fetchgit {
+      url = "https://github.com/junegunn/goyo.vim";
+      rev = "5b8bd0378758c1d9550d8429bef24b3d6d78b592";
+      sha256 = "0jh2gyf6v1vl12hygzwylzsj1ivx7r6xrd75k2wfsy91b2pm9srj";
     };
     dependencies = [];
 
@@ -1239,6 +1548,28 @@ rec {
 
   };
 
+  vim-easy-align = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "vim-easy-align-2017-06-03";
+    src = fetchgit {
+      url = "https://github.com/junegunn/vim-easy-align";
+      rev = "1cd724dc239c3a0f7a12e0fac85945cc3dbe07b0";
+      sha256 = "0bqk1sdqamfgagh31a60c7gvvsvjpg1xys7ivqh62iqlny5i9774";
+    };
+    dependencies = [];
+
+  };
+
+  vim-dashboard = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "vim-dashboard-2017-08-08";
+    src = fetchgit {
+      url = "https://github.com/junegunn/vim-github-dashboard";
+      rev = "054d7c69d9882a6ffccedd6e43623e184958d3b6";
+      sha256 = "1ns6dd8719hqrkqnxd52ssi7gxjxni7w4l1ih7ag72d62qzw0p8y";
+    };
+    dependencies = [];
+
+  };
+
   vim-peekaboo = buildVimPluginFrom2Nix { # created by nix#NixDerivation
     name = "vim-peekaboo-2017-03-20";
     src = fetchgit {
@@ -1261,23 +1592,12 @@ rec {
 
   };
 
-  vim-clang = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vim-clang-2016-10-17";
-    src = fetchgit {
-      url = "https://github.com/justmao945/vim-clang";
-      rev = "0076e0c64baa71c1c1f404e6a500e45190cdad5c";
-      sha256 = "04fbmlrvgl278hlrnhlxppy1dz5fdilj9rzrc1vvxrw9ih3knvr3";
-    };
-    dependencies = [];
-
-  };
-
   vim-niceblock = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vim-niceblock-2015-08-22";
+    name = "vim-niceblock-2018-01-30";
     src = fetchgit {
       url = "https://github.com/kana/vim-niceblock";
-      rev = "03c59f648fcadd415fc91d7b100cf48bd0a55fac";
-      sha256 = "05p3xr61v3infi07r9ahr30190kamgdjxkjjlawbqnrn8pv9fws4";
+      rev = "178629a8b81da2fa614bd6c19e7797e325ee9153";
+      sha256 = "1bz8qjnwk3gz9h0194g3qqga91i4k78r9s1xymn2fv35llrfsdx0";
     };
     dependencies = [];
 
@@ -1305,12 +1625,56 @@ rec {
 
   };
 
-  vim-textobj-user = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vim-textobj-user-2017-09-28";
+  vim-tabpagecd = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "vim-tabpagecd-2013-11-29";
     src = fetchgit {
-      url = "https://github.com/kana/vim-textobj-user";
-      rev = "e231b65797b5765b3ee862d71077e9bd56f3ca3e";
-      sha256 = "0zsgr2cn8s42d7jllnxw2cvqkl27lc921d1mkph7ny7jgnghaay9";
+      url = "https://github.com/kana/vim-tabpagecd";
+      rev = "8b71a03a037608fa5918f5096812577cec6355e4";
+      sha256 = "1mr6s2hvsf2a2nkjjvq78c9isfxk2k1ih890w740srbq6ssj0npm";
+    };
+    dependencies = [];
+
+  };
+
+  vim-coffee-script = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "vim-coffee-script-2018-02-27";
+    src = fetchgit {
+      url = "https://github.com/kchmck/vim-coffee-script";
+      rev = "9e3b4de2a476caeb6ff21b5da20966d7c67a98bb";
+      sha256 = "1yzhyi12r508r2yjkzbcnddv3q4whjf3kchp23xs0snhwd9b981x";
+    };
+    dependencies = [];
+
+  };
+
+  rainbow_parentheses-vim = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "rainbow_parentheses-vim-2013-03-04";
+    src = fetchgit {
+      url = "https://github.com/kien/rainbow_parentheses.vim";
+      rev = "eb8baa5428bde10ecc1cb14eed1d6e16f5f24695";
+      sha256 = "1qw84imlhq4654mxazj7j3sp5g1j3yjxi496i08iix06dm15m5s7";
+    };
+    dependencies = [];
+
+  };
+
+  vim-signature = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "vim-signature-2018-04-04";
+    src = fetchgit {
+      url = "https://github.com/kshenoy/vim-signature";
+      rev = "968622e98238dd7cbd32fc5f4faa60c6b5aed6d8";
+      sha256 = "0cwkb28zszf4sd5i0mcg6bjamjxxkxsr1plx79pwai5ckcgc2x72";
+    };
+    dependencies = [];
+
+  };
+
+  vim-gista = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "vim-gista-2017-02-20";
+    src = fetchgit {
+      url = "https://github.com/lambdalisue/vim-gista";
+      rev = "b6cd41d0eb480cd79e84f3da3703613d0cf94a6c";
+      sha256 = "0bkzbppd3jdci4yvifb4sh05q20qn8cr3j9kqhxyc703s0l0lk2s";
     };
     dependencies = [];
 
@@ -1328,11 +1692,11 @@ rec {
   };
 
   typescript-vim = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "typescript-vim-2017-10-24";
+    name = "typescript-vim-2018-03-08";
     src = fetchgit {
       url = "https://github.com/leafgarland/typescript-vim";
-      rev = "fbd0e9e508535f7d89778f7280dc76505348dcc6";
-      sha256 = "1psxdkr35m1x6lpsrn2v482sn9n4pysw1i0j9nr1g7r4nh1058fk";
+      rev = "e25636b44211a4be7b089bfed7cf09aa7dd086f5";
+      sha256 = "1i422j4za5xwcv3zz7cjw523nnh5q652c04phqp681lgdmgqszh4";
     };
     dependencies = [];
 
@@ -1350,11 +1714,22 @@ rec {
   };
 
   vimtex = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vimtex-2017-12-07";
+    name = "vimtex-2018-04-15";
     src = fetchgit {
       url = "https://github.com/lervag/vimtex";
-      rev = "9851656a0c280d394f8e0f0fac61988613ea392e";
-      sha256 = "1mwhj6nk00srlmvsdbpcnqcpwsr87ciwzxgdr1v489bb8l4rw9na";
+      rev = "a7fc6f62e8234fc0696cfe4325153e922e2fddd5";
+      sha256 = "0bvv9k3zqdmvh80mwhrzxwjacrfq1x56ba7yqndggygfxb3l17mf";
+    };
+    dependencies = [];
+
+  };
+
+  cosco-vim = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "cosco-vim-2018-02-15";
+    src = fetchgit {
+      url = "https://github.com/lfilho/cosco.vim";
+      rev = "434dc68b93b8f42babe1887a269145ce39c97edf";
+      sha256 = "1ng91nkkd9rgyihp4dvzrj7drm31d9r2vx4id1n8v6gc1rx3qasv";
     };
     dependencies = [];
 
@@ -1409,22 +1784,77 @@ rec {
   };
 
   vim-highlightedyank = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vim-highlightedyank-2017-12-06";
+    name = "vim-highlightedyank-2018-04-17";
     src = fetchgit {
       url = "https://github.com/machakann/vim-highlightedyank";
-      rev = "7e072d62e79b68a548dfd0c18f7b739dca4cae74";
-      sha256 = "1kkngy28nlbyb4dz010hjb8dxih1zlzwsr0yjkhqyvpz0k5vvyq9";
+      rev = "6387f7cc3b768300d1fcf82d367dbcb8d16b6230";
+      sha256 = "1ldyiy3qlxnxqkqa9yv39y5xkm7gma5gjy6nccqxxxjpjlyj39hb";
+    };
+    dependencies = [];
+
+  };
+
+  tagbar = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "tagbar-2017-12-17";
+    src = fetchgit {
+      url = "https://github.com/majutsushi/tagbar";
+      rev = "387bbadda98e1376ff3871aa461b1f0abd4ece70";
+      sha256 = "0srmslg0v1a7zhzz0wgzgv7jyr0j3q9m766qzb7zimkkb32fcbx9";
+    };
+    dependencies = [];
+
+  };
+
+  vim-jsbeautify = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "vim-jsbeautify-2018-01-31";
+    src = fetchgit {
+      url = "https://github.com/maksimr/vim-jsbeautify";
+      rev = "7a55bffa7d87e4f1ed11650e56a1361779b39624";
+      sha256 = "01jvc3nkvmhw9n7m9x96ax1ndzw78ryjmgrvkqb7gja1xb8i8jqq";
     };
     dependencies = [];
 
   };
 
   Jenkinsfile-vim-syntax = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "Jenkinsfile-vim-syntax-2017-08-29";
+    name = "Jenkinsfile-vim-syntax-2018-04-03";
     src = fetchgit {
       url = "https://github.com/martinda/Jenkinsfile-vim-syntax";
-      rev = "e3d2e19ad1c8f79872380901c0392c2671757831";
-      sha256 = "18bfyjsxgqg562n8kkcnyd05pp17ipap7ray9az92fapzhw5q4x9";
+      rev = "45418b171e06f63e0814cac6a656832384708aba";
+      sha256 = "0vfx22fzp0894lclmbsp6l8apvw0znd3cbah8r7r5la9qzyiwi4p";
+    };
+    dependencies = [];
+
+  };
+
+  gist-vim = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "gist-vim-2016-10-10";
+    src = fetchgit {
+      url = "https://github.com/mattn/gist-vim";
+      rev = "f0d63579eab7548cf12f979dc52ef5a370ecbe63";
+      sha256 = "06nix49j4inxy3rkcv32f4ka89g4crqwfqnrm3b76iwwky8m2p17";
+    };
+    dependencies = [];
+
+  };
+
+  webapi-vim = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "webapi-vim-2018-03-14";
+    src = fetchgit {
+      url = "https://github.com/mattn/webapi-vim";
+      rev = "252250381a9509257bfb06b9f95441e41e3e23b5";
+      sha256 = "0g37d1i6rxsj6f31g9jy2bhr8ng3jwmnvqqcmw19vbql4v56zq6a";
+    };
+    dependencies = [];
+
+  };
+
+  undotree = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "undotree-2017-10-26";
+    src = fetchgit {
+      url = "https://github.com/mbbill/undotree";
+      rev = "cdbb9022b8972d3e156b8d60af33bf795625b058";
+      sha256 = "0y62hp8k2kbrq0jhxj850f706rqjv2dkd7dxhz458mrsdk60f253";
     };
     dependencies = [];
 
@@ -1464,44 +1894,55 @@ rec {
   };
 
   vim-grepper-git = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vim-grepper-git-2018-01-16";
+    name = "vim-grepper-git-2018-04-13";
     src = fetchgit {
       url = "https://github.com/mhinz/vim-grepper.git";
-      rev = "4fd6260c56ffa0642095143f802d1cbfceb7437d";
-      sha256 = "11rhj6m85hxd4kf8yms4mab8553dcgl0yxm9r7nhdqpz6mljsir9";
+      rev = "27e73cfa7970bf38fe9037c0053a2edbb622b000";
+      sha256 = "1hy9rjvfgry9426gflw4k5qmwzmijwg3gzmmzavf7m7sagl101kd";
+    };
+    dependencies = [];
+
+  };
+
+  vim-signify = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "vim-signify-2018-04-17";
+    src = fetchgit {
+      url = "https://github.com/mhinz/vim-signify";
+      rev = "8351e5212f9415ccc1d9696518e1ec4337ad539f";
+      sha256 = "12gix280mmsgn1z1ihbvzh67xqribrc39h670fzyn6302dzb05p0";
     };
     dependencies = [];
 
   };
 
   vim-startify = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vim-startify-2017-12-20";
+    name = "vim-startify-2018-04-10";
     src = fetchgit {
       url = "https://github.com/mhinz/vim-startify";
-      rev = "5e476d8e00da70bc33c54a174fd8cb18ed991868";
-      sha256 = "07k7ddjqc2jisk0sh9k8w6r5xhh47cbzbxdnbkjz7bdskkwsdsay";
+      rev = "532f3db6be8c6e123abb3f6523c419b6b19436da";
+      sha256 = "19inxsafsivdwgdvw59x3dbx65xkb09q0k2p66q4n57fj60bajmb";
     };
     dependencies = [];
 
   };
 
   vim-indent-object = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vim-indent-object-2017-03-23";
+    name = "vim-indent-object-2018-04-08";
     src = fetchgit {
       url = "https://github.com/michaeljsmith/vim-indent-object";
-      rev = "41d700f14b3decccdde421fbfe49e95a084a2f89";
-      sha256 = "12mi4n5abfxx7xjl46aw400acgrjf1fxjgzak763l874y0whf5v2";
+      rev = "5c5b24c959478929b54a9e831a8e2e651a465965";
+      sha256 = "1kmwnz0jxjkvfzy06r7r73pcxfcyjp8p8m2d6qrhjfvzidgfhw19";
     };
     dependencies = [];
 
   };
 
   ack-vim = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "ack-vim-2017-11-05";
+    name = "ack-vim-2018-02-28";
     src = fetchgit {
       url = "https://github.com/mileszs/ack.vim";
-      rev = "6e04746a63dd2453601ae36c83d53fe2021a45f4";
-      sha256 = "0453ghmaaqwv6z8a3sncd3jxs9j050sp9ymiw2aqpc1a28kdlrv8";
+      rev = "36e40f9ec91bdbf6f1adf408522a73a6925c3042";
+      sha256 = "0yppr89hd1jyp0pj56hxdjbn32sr7pj3mihd18wxispvl5dqd6fm";
     };
     dependencies = [];
 
@@ -1532,6 +1973,17 @@ rec {
 
   };
 
+  gruvbox = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "gruvbox-2018-02-25";
+    src = fetchgit {
+      url = "https://github.com/morhetz/gruvbox";
+      rev = "cb4e7a5643f7d2dd40e694bcbd28c4b89b185e86";
+      sha256 = "12qkq1x96bm1cmqfg6sb8jxpl2b6gwvhc5qn3gva6vl4nx3ianqi";
+    };
+    dependencies = [];
+
+  };
+
   hlint-refactor-vim = buildVimPluginFrom2Nix { # created by nix#NixDerivation
     name = "hlint-refactor-vim-2015-12-05";
     src = fetchgit {
@@ -1565,23 +2017,34 @@ rec {
 
   };
 
+  vim-easygit = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "vim-easygit-2018-04-02";
+    src = fetchgit {
+      url = "https://github.com/neoclide/vim-easygit";
+      rev = "db10f7bbe0106c7b74875d4530f0c20e6aceee51";
+      sha256 = "194mgkyqxn4s8mj8gwkjznixm7kbpzhawr6f0bphk6bc5llphnkr";
+    };
+    dependencies = [];
+
+  };
+
   haskell-vim = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "haskell-vim-2017-10-16";
+    name = "haskell-vim-2018-04-13";
     src = fetchgit {
       url = "https://github.com/neovimhaskell/haskell-vim";
-      rev = "d877d5cd5f2f5747fa835d4b639499187fa4ae9e";
-      sha256 = "16iihz0jy61s5dyzzf5dbvd6ii1zna98pckqkjlpxcqqx636sm5c";
+      rev = "e027b314df128979dbd00dd94c9db080db156b5c";
+      sha256 = "13dx1ifwa444q8zkwda4qha74xjm4jfhhk9lbgbj9p1mj7gvbl7f";
     };
     dependencies = [];
 
   };
 
   cpsm = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "cpsm-2017-10-30";
+    name = "cpsm-2018-02-01";
     src = fetchgit {
       url = "https://github.com/nixprime/cpsm";
-      rev = "3744240ca48f98eea064f3cbc1a62b3f25f44030";
-      sha256 = "0x5jac7x85bqdh38vggi1fvxjw2z29b2227n471f3cxy8arvylrw";
+      rev = "8a4a0a05162762b857b656d51b59a5bf01850877";
+      sha256 = "0v44gf9ygrqc6rpfpiq329jija4icy0iy240yk30c0r04mjahc0b";
     };
     dependencies = [];
     buildInputs = [
@@ -1590,6 +2053,7 @@ rec {
       cmake
       boost
       icu
+      ncurses
     ];
     buildPhase = ''
       patchShebangs .
@@ -1598,6 +2062,17 @@ rec {
     '';
   };
 
+  vim-iced-coffee-script = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "vim-iced-coffee-script-2013-12-27";
+    src = fetchgit {
+      url = "https://github.com/noc7c9/vim-iced-coffee-script";
+      rev = "e42e0775fa4b1f8840c55cd36ac3d1cedbc1dea2";
+      sha256 = "14yfirny359rlrr082il2ys3hxiyrbbk794rdxrs2lasjy8rb1f7";
+    };
+    dependencies = [];
+
+  };
+
   shabadou-vim = buildVimPluginFrom2Nix { # created by nix#NixDerivation
     name = "shabadou-vim-2016-07-19";
     src = fetchgit {
@@ -1631,23 +2106,34 @@ rec {
 
   };
 
+  vim-javascript = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "vim-javascript-2018-04-06";
+    src = fetchgit {
+      url = "https://github.com/pangloss/vim-javascript";
+      rev = "c99c96bdf12b5a5749c9bbdb977b070e14c15eb3";
+      sha256 = "1lyiy7vfkliw91j6mvq77n4221fws6hkv0az362r32114d97309l";
+    };
+    dependencies = [];
+
+  };
+
   vim-markdown = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vim-markdown-2017-05-10";
+    name = "vim-markdown-2018-03-23";
     src = fetchgit {
       url = "https://github.com/plasticboy/vim-markdown";
-      rev = "3fcde7215e22913f004c2836fd46ff61746be6db";
-      sha256 = "0ymbs7235zi5hwyzc0vaikb3n6jwj6xarmgjj4lpf4wbsa1212yy";
+      rev = "8ace66328c7a2f416671b863cd842712d36c53cc";
+      sha256 = "09pcxwwblq2bwdrq6qa42hw7sllgym42n7gb8igg6p9krkwvjx7s";
     };
     dependencies = [];
 
   };
 
   python-mode = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "python-mode-2017-12-01";
+    name = "python-mode-2018-04-09";
     src = fetchgit {
       url = "https://github.com/python-mode/python-mode";
-      rev = "2ae7a2323d7632eaa5fc5170c287608ecf8d25c5";
-      sha256 = "1qd7akvqlmrcxiknv1fxqb37vimlicidibxzc4jm9i05cvk1z68p";
+      rev = "5308d0cc241080057a58c1772ebd254f2922998d";
+      sha256 = "1pkwhl9ab1fybc4sp5721xzlrzhzigf34w8zlmxby8v4nvmb8ggq";
     };
     dependencies = [];
 
@@ -1665,44 +2151,55 @@ rec {
   };
 
   purescript-vim = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "purescript-vim-2017-10-19";
+    name = "purescript-vim-2018-03-31";
     src = fetchgit {
       url = "https://github.com/raichoo/purescript-vim";
-      rev = "ece34d9782a075761f31854a33eccd932eb2cf57";
-      sha256 = "0x6hpibmhgw5aqq25rcpvgz2a60jh7i8x23gigakmmrxv51cjcrj";
+      rev = "8528d2a4a84f428aefad5882212c34db5c852699";
+      sha256 = "0dkh1cm9z644x5cj9dxwdkyb0r9sji71jv35cyy7z0aj9b8x2jbf";
+    };
+    dependencies = [];
+
+  };
+
+  vim-pencil = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "vim-pencil-2017-06-14";
+    src = fetchgit {
+      url = "https://github.com/reedes/vim-pencil";
+      rev = "2dcd974b7255e4af83cf79a208f04a3489065e22";
+      sha256 = "0swc6sszj1f4h5hgi7z7j1xw54d69mg7f18rk2kf5y453qwg4jc0";
     };
     dependencies = [];
 
   };
 
   vim-wordy = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vim-wordy-2016-11-07";
+    name = "vim-wordy-2018-03-10";
     src = fetchgit {
       url = "https://github.com/reedes/vim-wordy";
-      rev = "bd37684a041fce85c34bb56c41c5a12c04a376ca";
-      sha256 = "0lv3ff1yfqdz2vj6lwaygslds1ccidbb09f4x1cdwlawxdgh3w2v";
+      rev = "14b9dbf76a82e29273a74768573900361200467f";
+      sha256 = "0qx3ngw4k7bgzmxpv1x4lkq3njm3zcb1j5ph6fx26wgagxhiaqhk";
     };
     dependencies = [];
 
   };
 
   committia-vim-git = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "committia-vim-git-2017-12-04";
+    name = "committia-vim-git-2018-04-11";
     src = fetchgit {
       url = "https://github.com/rhysd/committia.vim.git";
-      rev = "51aec02e5ab07c89fa5d5445cfe3a8e0098bec27";
-      sha256 = "08nqncgnmbvhnn850s6hhp6p6scqg2iiwrl9air952yh9pl91h84";
+      rev = "02a317cb49689b2424232d607d218511f921f2e4";
+      sha256 = "1bfdkj0jbhkklnzd894aigx1cply8bbpzkskvzmbsj7h7jm9iyz5";
     };
     dependencies = [];
 
   };
 
   vim-grammarous = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vim-grammarous-2017-08-25";
+    name = "vim-grammarous-2018-04-16";
     src = fetchgit {
       url = "https://github.com/rhysd/vim-grammarous";
-      rev = "51ef5190813c0d9d8aaebd5191f183cff767f805";
-      sha256 = "1mm8hd39q2sl4hi83c4zvrl27a8djr1pv35ch0pivg84ad9p7qq5";
+      rev = "fc7e73f2af96fb1745887dabde9bf8b945d0273d";
+      sha256 = "0zfnbdsva140hc50s4fr1as5c1mn3hfm43x53sk50fylb51r9hr7";
     };
     dependencies = [];
     # use `:GrammarousCheck` to initialize checking
@@ -1729,11 +2226,11 @@ rec {
   };
 
   vim-puppet = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vim-puppet-2017-08-25";
+    name = "vim-puppet-2018-04-12";
     src = fetchgit {
       url = "https://github.com/rodjek/vim-puppet";
-      rev = "0d8ddd0dc3b7c908a82a6f16fa61aade766cc7e3";
-      sha256 = "1jgn9vahyn80zz0wfzx9abamsahh9wrrq1nf9qghljm4si3fq766";
+      rev = "dc1f681045c4d8bd126063ce000f7cc7b2f95097";
+      sha256 = "18z2d2wpn5c3g857wprmdwp5pdb719dciyy0682hqpw8lfjn6zhv";
     };
     dependencies = [];
 
@@ -1751,44 +2248,77 @@ rec {
   };
 
   nvim-completion-manager = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "nvim-completion-manager-2017-11-09";
+    name = "nvim-completion-manager-2017-12-28";
     src = fetchgit {
       url = "https://github.com/roxma/nvim-completion-manager";
-      rev = "21c4b617419c4de782a533c07afcf6cbc453a94a";
-      sha256 = "0rdjp1qis96d83g967h73jlhlg27danrvvndljfq2ncgpg3b2x16";
+      rev = "e724a442072261993ca503e969d2cb25722ab1d2";
+      sha256 = "00q52vl06hgcinclszm21a3rx7ivc147p52w1p29icksc26yxhjb";
     };
     dependencies = [];
 
   };
 
   rust-vim = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "rust-vim-2017-09-20";
+    name = "rust-vim-2018-01-15";
     src = fetchgit {
       url = "https://github.com/rust-lang/rust.vim";
-      rev = "b6d88adcf9867aa69f4d20d45d49bb54979842a4";
-      sha256 = "0n0hiqlv3amnzn69wyyq6z3r8zr0gcg86hw6flk7z39cxjhjv3vr";
+      rev = "8e75da9834abb22f8d7ece3f4ca4324a14fa18a6";
+      sha256 = "1mn4jijfzz2jq215dnwkq5gxiw0ysmvrsrvq4aypr2ms2040iqiq";
     };
     dependencies = [];
 
   };
 
   vim-devicons = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vim-devicons-2017-10-13";
+    name = "vim-devicons-2018-03-14";
     src = fetchgit {
       url = "https://github.com/ryanoasis/vim-devicons";
-      rev = "a3e50225a8d544c9eff9c53c5405269a1b2b29f8";
-      sha256 = "0glnwqnaw28g41zd9c3wvcsk6fmiphlwiq80lskbyn1pxfb3h14m";
+      rev = "390b0142f1b6f02bdecc4867009e83c9ecc01db2";
+      sha256 = "1pzvhdcgyp85xx858a7i357d3xymrd0y2afwfpnsrhz35fsaw96z";
     };
     dependencies = [];
 
   };
 
   neoformat = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "neoformat-2017-12-04";
+    name = "neoformat-2018-04-07";
     src = fetchgit {
       url = "https://github.com/sbdchd/neoformat";
-      rev = "81d2d19e6bb65432b95f930af38ca6dab89d0434";
-      sha256 = "13ivv4ymkxk5rl5hkrlb4r328vhhpw6il0zdsynp9j41d4qq198s";
+      rev = "77c2c007508823f353f75a6b525d63ae21e55e82";
+      sha256 = "1xrvbkc8y40dgyiq5jnp0nhg19mh7m7v902hb9z3lkl6fsbcwbmb";
+    };
+    dependencies = [];
+
+  };
+
+  nerdcommenter = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "nerdcommenter-2018-03-03";
+    src = fetchgit {
+      url = "https://github.com/scrooloose/nerdcommenter";
+      rev = "e679d8a34193d1ac93b98ed792cdde7c9b1104a1";
+      sha256 = "0if71mcrc7cm8xr4m2zjcm2k4wkfhxyh6phfc0k13s8h392wb7v4";
+    };
+    dependencies = [];
+
+  };
+
+  nerdtree = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "nerdtree-2018-04-10";
+    src = fetchgit {
+      url = "https://github.com/scrooloose/nerdtree";
+      rev = "727770147a7589ab3a06722f4852c0237c8b3549";
+      sha256 = "105vgwy7qs6l92dm6kfby7lmxv35v2hbpjk9z5sr0qak5rad4m6c";
+    };
+    dependencies = [];
+
+  };
+
+  syntastic = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "syntastic-2018-04-17";
+    src = fetchgit {
+      url = "https://github.com/scrooloose/syntastic";
+      rev = "d31e270cc8affc6338a9ed44e2efcaec0ca4cd34";
+      sha256 = "121a1mxgfng2y5zmivyyk02mca8pyw72crivf4f1q9nhn0barf57";
     };
     dependencies = [];
 
@@ -1806,44 +2336,44 @@ rec {
   };
 
   vim-polyglot = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vim-polyglot-2017-12-06";
+    name = "vim-polyglot-2018-04-03";
     src = fetchgit {
       url = "https://github.com/sheerun/vim-polyglot";
-      rev = "11f53253ad9fd0cd3e7a44ed9f8c80a4f265b46e";
-      sha256 = "1p1h0flhzcaivrpsxb1xc1lc0kc901aq80p32j15ia3g2ib8vl4y";
+      rev = "cab6866e21341cab7419cdb4ae1fd18437d31bb0";
+      sha256 = "17mizznm80yj5vz6vajwix8m8xmsn552lph5vmic5dpg7bcny6m6";
     };
     dependencies = [];
 
   };
 
   context_filetype-vim = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "context_filetype-vim-2017-11-15";
+    name = "context_filetype-vim-2018-04-01";
     src = fetchgit {
       url = "https://github.com/shougo/context_filetype.vim";
-      rev = "6856503cd938d018c2d42277ee6ca896fd63f5a2";
-      sha256 = "1s4nimpvc5ps602h8xb231nvmk9jbzs981an5kxr3idmmk44j5ms";
+      rev = "9ed76080795ef76f52b8c9ae4432df7cd81abc5a";
+      sha256 = "137ki4104j4ch54k9n1l1xd75vbxqssi1fdckzv8kd07m5i159i2";
     };
     dependencies = [];
 
   };
 
   denite-nvim = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "denite-nvim-2018-01-16";
+    name = "denite-nvim-2018-04-14";
     src = fetchgit {
       url = "https://github.com/shougo/denite.nvim";
-      rev = "0d48d8d498d410a5ea4403648d528e7267d87461";
-      sha256 = "1npag0da8s3jv4jm8waqvsdfg0gnqhkc07r3m17zp2r2bh3b9bjc";
+      rev = "c0c75a752577399be53aa7a7e235e6ff5387494c";
+      sha256 = "1zbf2f0w02q8jwr824l6v0pxbc620rwfsah6mxyqbr5mxddcf1v6";
     };
     dependencies = [];
 
   };
 
   echodoc-vim = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "echodoc-vim-2018-01-12";
+    name = "echodoc-vim-2018-03-26";
     src = fetchgit {
       url = "https://github.com/shougo/echodoc.vim";
-      rev = "410ead5a9fa4400b51771cba3b7599722c9e65b1";
-      sha256 = "01czpvn5rs37x0ml8bc5vwyhklm6fk3wl339smc3jvyr1w73rrf5";
+      rev = "f1f711bc814165cf5b09b56fd5d733917ed1c015";
+      sha256 = "0l0sm862fbr8p8m4wykx1riidxgp233cq6r2zdm2l7gvmqyj3zcr";
     };
     dependencies = [];
 
@@ -1872,22 +2402,22 @@ rec {
   };
 
   neocomplete-vim = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "neocomplete-vim-2017-10-22";
+    name = "neocomplete-vim-2018-03-28";
     src = fetchgit {
       url = "https://github.com/shougo/neocomplete.vim";
-      rev = "46791e7692e07384a089d125c5c536246698d04c";
-      sha256 = "1iqd6fqlkm8bvibsapcvqqmyklzjad2l0c745lppdgdb959v016a";
+      rev = "4be617947f3fcf2d725fab20b0e12f8b46c9e2f3";
+      sha256 = "00ns46gy726w74nmnzhqnyh10jnpr04453v3rclswxgcvgma82b8";
     };
     dependencies = [];
 
   };
 
   neoinclude-vim = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "neoinclude-vim-2017-10-01";
+    name = "neoinclude-vim-2018-02-12";
     src = fetchgit {
       url = "https://github.com/shougo/neoinclude.vim";
-      rev = "b5956ac824fdd60d6eacaa597c8d329252972d8b";
-      sha256 = "07x7hxqhklcr5y8zkw9939cwx7rpiicjlc65bn526fkmhcc2hng6";
+      rev = "b63757822e0c31db04b32f0ca6bab01a560c2498";
+      sha256 = "1q2pbvl0xspjzwnisnrmv6w9wq289avzz2248hnm0v20rxvy5lwj";
     };
     dependencies = [];
 
@@ -1905,33 +2435,33 @@ rec {
   };
 
   neosnippet-snippets = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "neosnippet-snippets-2017-09-26";
+    name = "neosnippet-snippets-2018-04-15";
     src = fetchgit {
       url = "https://github.com/shougo/neosnippet-snippets";
-      rev = "8dbb78599984140c50418d3dd23d0de4c8f13e74";
-      sha256 = "1hs4xvr9x03ccrcczhly4qlvr5bfxfvdk3ir4821mlg1gsgclkwh";
+      rev = "f453635c60998071299c3239c3d881f2be0c248e";
+      sha256 = "1df6mzk5yjhjlmzgz7lr9aa69a973mzfxmwldqnpi6yjfnmjn04c";
     };
     dependencies = [];
 
   };
 
   neosnippet-vim = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "neosnippet-vim-2017-11-23";
+    name = "neosnippet-vim-2018-03-12";
     src = fetchgit {
       url = "https://github.com/shougo/neosnippet.vim";
-      rev = "9ee1b4e059d4ffcc02312da13ee36315dacbffe4";
-      sha256 = "0c4pk02hnvzgj6pwy4lx481n7gj2fjwlsmcy7vxfps9h8h9qd6kw";
+      rev = "8cf286e3bf7a5fc859f4c5f1bef52c351f24fefa";
+      sha256 = "15mxckg5s9pjfm7xkhs4awx0vpmwdwwifqrvrh1r4mbia39pk6ry";
     };
     dependencies = [];
 
   };
 
   neoyank-vim-git = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "neoyank-vim-git-2017-12-19";
+    name = "neoyank-vim-git-2018-03-26";
     src = fetchgit {
       url = "https://github.com/shougo/neoyank.vim.git";
-      rev = "5d6e6f80e1920fc38ab5cf779c424a1fdb49202d";
-      sha256 = "0l2gfwyiyzppb0hs9sx3x7ndq9zzinppzqq3njwjzd1qgfv29jpq";
+      rev = "ea3cd47ccb40cb2e26cb607d28475aa0fdb26fef";
+      sha256 = "1zbf8062rpk56nd1zxqhwa8bdpxl9zp887l9nm4s9hc4ndsk4928";
     };
     dependencies = [];
 
@@ -1949,22 +2479,22 @@ rec {
   };
 
   unite-vim = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "unite-vim-2017-12-06";
+    name = "unite-vim-2018-04-14";
     src = fetchgit {
       url = "https://github.com/shougo/unite.vim";
-      rev = "49fe0efad7a838a5bec9e653fb80504c94744ff9";
-      sha256 = "0vlpk053vdd5iqx2hmg9kvhg4270gq437smawdwjh88vriix3f1d";
+      rev = "7252fc334ed24722ad70867ba9e4aba125b611d7";
+      sha256 = "0r2na9i15qfmshzk0wr845nyn8h8mpbkz5xanjibsch2xz6fps76";
     };
     dependencies = [];
 
   };
 
   vimproc-vim = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vimproc-vim-2017-11-21";
+    name = "vimproc-vim-2018-01-07";
     src = fetchgit {
       url = "https://github.com/shougo/vimproc.vim";
-      rev = "81f4fa5239705724a49fbecd3299ced843f4972f";
-      sha256 = "03pkp37d07nx857kqz2h6q2z13ca2944zq2lcqdcc97s9nnjnzha";
+      rev = "2300224d366642f4f8d6f88861535d4ccbe20143";
+      sha256 = "0b8ljqnix8bs667bpymg3s0g5f49fnphgddl6196dj6jvdfn1xia";
     };
     dependencies = [];
     buildInputs = [ which ];
@@ -2000,11 +2530,11 @@ rec {
   };
 
   alchemist-vim = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "alchemist-vim-2017-11-22";
+    name = "alchemist-vim-2018-03-22";
     src = fetchgit {
       url = "https://github.com/slashmili/alchemist.vim";
-      rev = "1e08668e844ef5c6cb552e83bb842285a6ba4228";
-      sha256 = "05viwrvakxnc4fajscn7chvldc9vvjssbz4c81vdw8wgwxv8qay7";
+      rev = "fdc880663e0d76d29d6310553ae12d51565f692d";
+      sha256 = "03p5cw5j1j6v3x9gg61d95qzcijj1q0yqz5qdkjgll0fp507j8ak";
     };
     dependencies = [];
 
@@ -2043,23 +2573,67 @@ rec {
 
   };
 
+  vim-multiple-cursors = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "vim-multiple-cursors-2018-04-09";
+    src = fetchgit {
+      url = "https://github.com/terryma/vim-multiple-cursors";
+      rev = "8ae5dd3f4f344cc2abe79783a8b808e4093bf084";
+      sha256 = "0zj5dm86daqzl6f76prlfalpsb3vxxl7x1k6kza8hcbyicaxsi49";
+    };
+    dependencies = [];
+
+  };
+
   vimpreviewpandoc = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vimpreviewpandoc-2016-03-07";
+    name = "vimpreviewpandoc-2018-04-02";
     src = fetchgit {
       url = "https://github.com/tex/vimpreviewpandoc";
-      rev = "b109d41ad6478df5ec7f1311950c6efca66f36e4";
-      sha256 = "1gx326xarjs3qjygpkrknncad90crjqfx8v6pir4r7k1hl7dfxc4";
+      rev = "83b0958b570dace55166f565e2d88c468d99d854";
+      sha256 = "1fa8624wxry53x62xjmglgm6kwppfcg50ifbzms555bfjsd4fxn8";
+    };
+    dependencies = [];
+
+  };
+
+  vim-ft-diff_fold = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "vim-ft-diff_fold-2013-02-10";
+    src = fetchgit {
+      url = "https://github.com/thinca/vim-ft-diff_fold";
+      rev = "89771dffd3682ef82a4b3b3e9c971b9909f08e87";
+      sha256 = "0bk95cxkfzamlgv1x2jb1bnfas2pmvvqgpn5fvxddf0andm8sfma";
+    };
+    dependencies = [];
+
+  };
+
+  vim-prettyprint = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "vim-prettyprint-2016-07-16";
+    src = fetchgit {
+      url = "https://github.com/thinca/vim-prettyprint";
+      rev = "d6060d2b1ff1cff71714e126addd3b10883ade12";
+      sha256 = "0mb1ylsq4023ik9wd9iwzlynra2c320xp9h2i79bspapglgd5gk9";
     };
     dependencies = [];
 
   };
 
   vim-quickrun = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vim-quickrun-2017-11-25";
+    name = "vim-quickrun-2018-04-16";
     src = fetchgit {
       url = "https://github.com/thinca/vim-quickrun";
-      rev = "1170ba086f8e27c123add196675ddab64a59ce70";
-      sha256 = "1vpllpinqf46ymsr7n1ywip4y7ibm3i8cidh271a57cvac0hig6d";
+      rev = "630ddff167e30c55d21985713ad6729adeb8e40b";
+      sha256 = "0r2gg3a8q5627n28xgyhmb6275xwvg76ghc1wdy38xdszvykh024";
+    };
+    dependencies = [];
+
+  };
+
+  vim-scouter = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "vim-scouter-2014-08-10";
+    src = fetchgit {
+      url = "https://github.com/thinca/vim-scouter";
+      rev = "5221901d4ad6b2ef8b370b336db2aa7f69f2b6dc";
+      sha256 = "0fx64hj1kzrsxz96195d5lm3x88zyycbcr78819mcbgfzyxis6b8";
     };
     dependencies = [];
 
@@ -2087,34 +2661,89 @@ rec {
 
   };
 
+  vim-solidity = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "vim-solidity-2018-04-17";
+    src = fetchgit {
+      url = "https://github.com/tomlion/vim-solidity";
+      rev = "569bbbedc3898236d5912fed0caf114936112ae4";
+      sha256 = "1qpfbbrm4gjgvbkimhpxyl4fsdqkyw4raf17nw0ibqillz2d3pxx";
+    };
+    dependencies = [];
+
+  };
+
+  tlib_vim = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "tlib_vim-2018-04-08";
+    src = fetchgit {
+      url = "https://github.com/tomtom/tlib_vim";
+      rev = "ced8f3ebe85b50da2ec0e6d593e6b2e8e6bd243b";
+      sha256 = "08vvd1wpa9k5bid2hh279jjkir2c59ga3527qzinxngmlx8wsbhx";
+    };
+    dependencies = [];
+
+  };
+
+  vim-commentary = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "vim-commentary-2018-04-06";
+    src = fetchgit {
+      url = "https://github.com/tpope/vim-commentary";
+      rev = "296d99b353261191adb7a356ee3fefbce8e6096b";
+      sha256 = "1n29rbgm2464byncmgxbvyizmag1gzswg00nfg2387nwprmpg7zj";
+    };
+    dependencies = [];
+
+  };
+
   vim-dispatch = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vim-dispatch-2017-10-10";
+    name = "vim-dispatch-2018-04-15";
     src = fetchgit {
       url = "https://github.com/tpope/vim-dispatch";
-      rev = "be7b194f47bdee6baa4460ccd030b860ada548dd";
-      sha256 = "0lxhk6y1lf625i8hnsl44wzh8mfxi2h1hswrmisbmm2dbmyy84hd";
+      rev = "f6b3e7799e6dce08869d7744aa7faa6528f065f5";
+      sha256 = "1zn6c54hlygkx348vd7kgkfpdj93vsijhc2ma42k6s7vhwqfyylg";
     };
     dependencies = [];
 
   };
 
   vim-eunuch = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vim-eunuch-2017-06-08";
+    name = "vim-eunuch-2018-03-16";
     src = fetchgit {
       url = "https://github.com/tpope/vim-eunuch";
-      rev = "b536b887072ff3cc382842ce9f675ec222302f4f";
-      sha256 = "0vp037kb12mawy186cm384m5hl0p051rihhm1jr2qck0vwaps58p";
+      rev = "0971b4cb5c0865d3dd0316f725cd4236ff75b828";
+      sha256 = "1lw2ycgxypp0j8kyvlgn8hivqf1dj9rfrx8n7zgayy5w756g45cy";
+    };
+    dependencies = [];
+
+  };
+
+  vim-fugitive = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "vim-fugitive-2018-04-15";
+    src = fetchgit {
+      url = "https://github.com/tpope/vim-fugitive";
+      rev = "40d78f07dee2ffab68abb9d6d1a9e27843df0fe0";
+      sha256 = "16fh3n8sr57cfhfpilqhz9f3svhj4swa9yqjf4wicbw9zn40hrir";
+    };
+    dependencies = [];
+
+  };
+
+  vim-pathogen = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "vim-pathogen-2018-04-05";
+    src = fetchgit {
+      url = "https://github.com/tpope/vim-pathogen";
+      rev = "06da921608b971fb47603671bcafdb2843992eb3";
+      sha256 = "1mxkp2yqqmfl0lq6kmkl716y9x8cdm7aibb376azydxlsbqv4qmi";
     };
     dependencies = [];
 
   };
 
   vim-repeat = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vim-repeat-2017-04-21";
+    name = "vim-repeat-2018-01-30";
     src = fetchgit {
       url = "https://github.com/tpope/vim-repeat";
-      rev = "070ee903245999b2b79f7386631ffd29ce9b8e9f";
-      sha256 = "1grsaaar2ng1049gc3r8wbbp5imp31z1lcg399vhh3k36y34q213";
+      rev = "8106e142dfdc278ff3eaaadd7b362ad7949d4357";
+      sha256 = "1q0bmqxi1kqxq7g8l0qj7y93g9rqffwc3fbmhpj3chx2kswhd5hc";
     };
     dependencies = [];
 
@@ -2131,6 +2760,28 @@ rec {
 
   };
 
+  vim-sensible = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "vim-sensible-2018-01-22";
+    src = fetchgit {
+      url = "https://github.com/tpope/vim-sensible";
+      rev = "2d60332fa5b2b1ea346864245569df426052865a";
+      sha256 = "1psv8r3xshcg5c09i8h2qff6jp62anjmsa24qzvbc71ass5bqxyb";
+    };
+    dependencies = [];
+
+  };
+
+  vim-sleuth = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "vim-sleuth-2018-03-30";
+    src = fetchgit {
+      url = "https://github.com/tpope/vim-sleuth";
+      rev = "3b9df28c39f93c5ec8179d958900be1d0100b536";
+      sha256 = "10rba71hmmbgv5kfsl0lmj59z1nz7b2rr6p0dmww82zp6cyzy5j0";
+    };
+    dependencies = [];
+
+  };
+
   vim-speeddating = buildVimPluginFrom2Nix { # created by nix#NixDerivation
     name = "vim-speeddating-2017-05-24";
     src = fetchgit {
@@ -2142,6 +2793,28 @@ rec {
 
   };
 
+  vim-surround = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "vim-surround-2016-06-01";
+    src = fetchgit {
+      url = "https://github.com/tpope/vim-surround";
+      rev = "e49d6c2459e0f5569ff2d533b4df995dd7f98313";
+      sha256 = "1v0q2f1n8ngbja3wpjvqp2jh89pb5ij731qmm18k41nhgz6hhm46";
+    };
+    dependencies = [];
+
+  };
+
+  vim-vinegar = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "vim-vinegar-2018-04-03";
+    src = fetchgit {
+      url = "https://github.com/tpope/vim-vinegar";
+      rev = "97f3fbc9596f3997ebf8e30bfdd00ebb34597722";
+      sha256 = "0y2nzvn4xxbgyjmm4mirwak4hnzka2g3w8xm64f1smh4cb3jn0yf";
+    };
+    dependencies = [];
+
+  };
+
   hasksyn = buildVimPluginFrom2Nix { # created by nix#NixDerivation
     name = "hasksyn-2014-09-03";
     src = fetchgit {
@@ -2164,23 +2837,45 @@ rec {
 
   };
 
+  caw-vim = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "caw-vim-2018-01-01";
+    src = fetchgit {
+      url = "https://github.com/tyru/caw.vim";
+      rev = "50efcd94e00dc3e814bcc0d3d8ccfa3ff324ea42";
+      sha256 = "06hpby2amh2pb4dlfd7s6wybzc8rh8wa3jz0gyv6xx3l91agfari";
+    };
+    dependencies = [];
+
+  };
+
   open-browser-vim = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "open-browser-vim-2017-12-15";
+    name = "open-browser-vim-2018-03-11";
     src = fetchgit {
       url = "https://github.com/tyru/open-browser.vim";
-      rev = "ee8decb2b26020320128eecd7a96383d995c8804";
-      sha256 = "1a9j13h174lkp1gqd80idwdb8d74gdkyfgvb2l153jcqyvwpzcl2";
+      rev = "43b08d6642f26af5a875b0d0bdb3aa9a6d12e7eb";
+      sha256 = "162dv172n16jpjr812d561yyj9rz9xn4qrfx18wlpyixj3qf2bda";
+    };
+    dependencies = [];
+
+  };
+
+  neco-look = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "neco-look-2018-01-21";
+    src = fetchgit {
+      url = "https://github.com/ujihisa/neco-look";
+      rev = "4ead88e70f359fb9cef6537ed9c336b7673c1b4c";
+      sha256 = "1lszbif7ymdjch1ypnr1nihs6gfbhb86sj6nz3dwrbgsl454nnrj";
     };
     dependencies = [];
 
   };
 
   youcompleteme = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "youcompleteme-2017-12-03";
+    name = "youcompleteme-2018-04-16";
     src = fetchgit {
       url = "https://github.com/valloric/youcompleteme";
-      rev = "290dd94721d1bc97fab4f2e975a0cf6258abfbac";
-      sha256 = "0jhaixhx9lxqwb8ncxkafn478cc4dkh7ss6qjn29lcn9qdy9bvd7";
+      rev = "6975efddc1a90514db7c8ee882ccac91f70ff4cc";
+      sha256 = "1zmbb91fc0axavxln4milmn95d9szx8zwdiiwqjdyybkm29nxhc9";
     };
     dependencies = [];
     buildPhase = ''
@@ -2194,30 +2889,41 @@ rec {
 
     meta = {
       description = "Fastest non utf-8 aware word and C completion engine for Vim";
-      homepage = https://github.com/Valloric/YouCompleteMe;
+      homepage = http://github.com/Valloric/YouCompleteMe;
       license = stdenv.lib.licenses.gpl3;
       maintainers = with stdenv.lib.maintainers; [marcweber jagajaga];
       platforms = stdenv.lib.platforms.unix;
     };
   };
 
+  vim-airline = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "vim-airline-2018-04-17";
+    src = fetchgit {
+      url = "https://github.com/vim-airline/vim-airline";
+      rev = "3ad4a18d858bb80d45a1c054b845021abe5c8f0d";
+      sha256 = "1sgf9czgajba8nf7xbfa2dm26vw356ca55m1myaxlkqrlcckcvav";
+    };
+    dependencies = [];
+
+  };
+
   vim-airline-themes = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vim-airline-themes-2017-11-18";
+    name = "vim-airline-themes-2018-03-24";
     src = fetchgit {
       url = "https://github.com/vim-airline/vim-airline-themes";
-      rev = "52dfa2b6c0dc2fd7a0e92954030893de3d173105";
-      sha256 = "0m65xmg259781r1wk8dz0d0diiayqyl1wahsb2fdqs369wwx4irr";
+      rev = "b0fca80555b8249f3c62271b7635542a7de22363";
+      sha256 = "1ap7b7v1v3n4hpnj2w24w0dli2sliphvpyfhkdbhbq4c30znm1pk";
     };
     dependencies = [];
 
   };
 
   vim-pandoc = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vim-pandoc-2017-11-22";
+    name = "vim-pandoc-2018-01-11";
     src = fetchgit {
       url = "https://github.com/vim-pandoc/vim-pandoc";
-      rev = "6ab0e8ed4dd3325d6b304e8f97f2cba80e3269ae";
-      sha256 = "07zdkp7g9y2vp3f9j2f12acap4ykgjp85in5qnhmg4dw8l8r07x5";
+      rev = "3a686781ab5ea622616798475deb394e48d3cc48";
+      sha256 = "1nvz8v52jydkvnlid5w8dkjmr548ryla2vaxnlgj125aamkvmgn3";
     };
     dependencies = [];
 
@@ -2245,6 +2951,17 @@ rec {
 
   };
 
+  vim-ruby = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "vim-ruby-2018-04-01";
+    src = fetchgit {
+      url = "https://github.com/vim-ruby/vim-ruby";
+      rev = "71f5df78a45c5458da793b2c897ff5dcdcd9a819";
+      sha256 = "1nblkhb1yp3q0rfq43l9968inn1z26vngf28n23y161ncfmq674y";
+    };
+    dependencies = [];
+
+  };
+
   Colour-Sampler-Pack = buildVimPluginFrom2Nix { # created by nix#NixDerivation
     name = "Colour-Sampler-Pack-2012-11-29";
     src = fetchgit {
@@ -2289,6 +3006,17 @@ rec {
 
   };
 
+  YankRing-vim = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "YankRing-vim-2015-07-28";
+    src = fetchgit {
+      url = "https://github.com/vim-scripts/YankRing.vim";
+      rev = "28854abef8fa4ebd3cb219aefcf22566997d8f65";
+      sha256 = "0zdp8pdsqgrh6lfw8ipjhrig6psvmdxkim9ik801y3r373sk2hxw";
+    };
+    dependencies = [];
+
+  };
+
   a-vim = buildVimPluginFrom2Nix { # created by nix#NixDerivation
     name = "a-vim-2010-11-06";
     src = fetchgit {
@@ -2322,6 +3050,17 @@ rec {
 
   };
 
+  bats-vim = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "bats-vim-2013-07-03";
+    src = fetchgit {
+      url = "https://github.com/vim-scripts/bats.vim";
+      rev = "3c283f594ff8bc7fb0c25cd07ebef0f17385f94a";
+      sha256 = "06f3hdf7y5gpwmc6inrhk938qmn7cr6mbk00amrnl1qjvk09givx";
+    };
+    dependencies = [];
+
+  };
+
   changeColorScheme-vim = buildVimPluginFrom2Nix { # created by nix#NixDerivation
     name = "changeColorScheme-vim-2010-10-17";
     src = fetchgit {
@@ -2333,6 +3072,17 @@ rec {
 
   };
 
+  matchit-zip = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "matchit-zip-2010-10-17";
+    src = fetchgit {
+      url = "https://github.com/vim-scripts/matchit.zip";
+      rev = "ced6c409c9beeb0b4142d21906606bd194411d1d";
+      sha256 = "1s9c4lnsmbfm97bp22jrmcp5lga5ihx23lzqqncvv7rcizkvr3dm";
+    };
+    dependencies = [];
+
+  };
+
   mayansmoke-git = buildVimPluginFrom2Nix { # created by nix#NixDerivation
     name = "mayansmoke-git-2010-10-17";
     src = fetchgit {
@@ -2366,6 +3116,17 @@ rec {
 
   };
 
+  taglist-vim = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "taglist-vim-2010-10-17";
+    src = fetchgit {
+      url = "https://github.com/vim-scripts/taglist.vim";
+      rev = "53041fbc45398a9af631a20657e109707a455339";
+      sha256 = "07aa2gfc73lznyi7w7cybzanspza3p67cv5hxr21g43zhs5k9izd";
+    };
+    dependencies = [];
+
+  };
+
   wombat256-vim = buildVimPluginFrom2Nix { # created by nix#NixDerivation
     name = "wombat256-vim-2010-10-17";
     src = fetchgit {
@@ -2377,34 +3138,67 @@ rec {
 
   };
 
+  vimoutliner = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "vimoutliner-2018-04-09";
+    src = fetchgit {
+      url = "https://github.com/vimoutliner/vimoutliner";
+      rev = "4f12628247940d98eedd594961695dc504261058";
+      sha256 = "1z44zf9wvd6mc1zb6ywrkjw87yrj1blmc5s03xk9zv5q8hskjl78";
+    };
+    dependencies = [];
+
+  };
+
+  vimwiki = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "vimwiki-2018-04-17";
+    src = fetchgit {
+      url = "https://github.com/vimwiki/vimwiki";
+      rev = "90dc1e58717bd25798bb16d3badab8908b619912";
+      sha256 = "01a2gy1r4k5gw7vrdn6p0vmybb2s0gf9q0w07qps5cnxapsggxk9";
+    };
+    dependencies = [];
+
+  };
+
   ale = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "ale-2018-02-25";
+    name = "ale-2018-04-17";
     src = fetchgit {
       url = "https://github.com/w0rp/ale";
-      rev = "7ec684206c1395a940d8ad2d26d59773a432115c";
-      sha256 = "1hvybsvs2i01q3s9wpydyxgsvg59r2valk61vl4jh2mrrh0bfi9i";
+      rev = "f9ba3d924fc445ceea6ab7a6700b95dd12d268ca";
+      sha256 = "12905gq95xif3963720yqywvzpvxz7j8qyk0i6pnmzjf92xnk8xm";
     };
     dependencies = [];
 
   };
 
   vim-wakatime = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vim-wakatime-2017-11-24";
+    name = "vim-wakatime-2018-04-05";
     src = fetchgit {
       url = "https://github.com/wakatime/vim-wakatime";
-      rev = "48b4e59dcd75890eb56d7ceb2d57ff63ed17c373";
-      sha256 = "0aspkigh08cdnv2mq425dapklxizir134zksrm608q02qpf0m7hg";
+      rev = "e0e7621f18a8763b851b0feb4a735633bf147cf7";
+      sha256 = "1xnrcxd7r08hqrv2fnv8x8p60nx2flh2pfcr4pkkscr0ilinakwz";
     };
     dependencies = [];
     buildInputs = [ python ];
   };
 
   targets-vim = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "targets-vim-2017-12-03";
+    name = "targets-vim-2018-02-28";
     src = fetchgit {
       url = "https://github.com/wellle/targets.vim";
-      rev = "6f809397526797f8f419a5d2b86d90e5aff68e66";
-      sha256 = "0djjm7b41kgrkz447br7qi3w96ayz9lyxd164gyp082qqxxpz63q";
+      rev = "c1732189c9ec29cc3320094304019ffcafadafc4";
+      sha256 = "12ryicmb29qhmn216xdv9g8rl170mz5zrbfnmqja3wdlwkj3g83j";
+    };
+    dependencies = [];
+
+  };
+
+  vim-dirdiff = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "vim-dirdiff-2018-01-30";
+    src = fetchgit {
+      url = "https://github.com/will133/vim-dirdiff";
+      rev = "b5a3d59bfbeb5cef7dbadbe69c455b470988b58c";
+      sha256 = "16hc88k00xa757k0h53r1sbqwxdxdy0118yl2vsigd6rqk474nw1";
     };
     dependencies = [];
 
@@ -2447,23 +3241,34 @@ rec {
 
   };
 
+  vim-latex-live-preview = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "vim-latex-live-preview-2017-11-09";
+    src = fetchgit {
+      url = "https://github.com/xuhdev/vim-latex-live-preview";
+      rev = "9855f084d0751dbd40a8cb56518f239e5eb1a624";
+      sha256 = "0linzdq2zrz5yfpqa51n2i9vrwr0x2r93ckx6n1ngyiw535ddafy";
+    };
+    dependencies = [];
+
+  };
+
   nim-vim = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "nim-vim-2017-11-29";
+    name = "nim-vim-2018-02-27";
     src = fetchgit {
       url = "https://github.com/zah/nim.vim";
-      rev = "8167c50bd421c921b198001387e60d4728868010";
-      sha256 = "0yk6qmxns3jzb7riwyrddmlszy89s0ihii0462rfa4b8wlmpan1l";
+      rev = "bdc19809d22190d9b8e85377252a24d930cd25f8";
+      sha256 = "08abwnzim767jvin6jsp2a580hpxzb2w5hbf8w5dhkvxv2pgk0vz";
     };
     dependencies = [];
 
   };
 
   deoplete-go = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "deoplete-go-2017-11-14";
+    name = "deoplete-go-2018-02-04";
     src = fetchgit {
       url = "https://github.com/zchee/deoplete-go";
-      rev = "844a0dce554f92cbd9938baf34f1801b5d872e58";
-      sha256 = "15sf8ssb85va6b0si07nyh5c5xdikdl99fihgprqk1wxi9mp28cj";
+      rev = "513ae17f1bd33954da80059a21c128a315726a81";
+      sha256 = "0rfxzryccrq3dnjgb9aljzrmfjk7p8l2qdjkl8ar4bh2hmz8vn5y";
     };
     dependencies = [];
     buildInputs = [ python3 ];
@@ -2476,814 +3281,22 @@ rec {
   };
 
   deoplete-jedi = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "deoplete-jedi-2017-12-05";
+    name = "deoplete-jedi-2018-04-07";
     src = fetchgit {
       url = "https://github.com/zchee/deoplete-jedi";
-      rev = "715acf2847b8fa8d436a10a4c3dfd7187d53b72f";
-      sha256 = "12d16z4mvc6aln5vnrdf275ci1w7v454zl9x54khqfikc0pwyjg8";
+      rev = "eb777b50b7d218a23464c7d58c8573b5223d52f4";
+      sha256 = "1j2jfvgzj2y7pp8z441rs8ffbn1hmiwa7h556kf6mjlmyzs5cfma";
     };
     dependencies = [];
 
   };
 
   zig-vim = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "zig-vim-2017-10-17";
+    name = "zig-vim-2018-04-15";
     src = fetchgit {
       url = "https://github.com/zig-lang/zig.vim";
-      rev = "6059db59f61b517f5d65303b61f03324e01fdc2f";
-      sha256 = "0w3pa63s0r6h6w1iqmc444qrsc99xcccwapd6nyh3gb72z228d7z";
-    };
-    dependencies = [];
-
-  };
-
-  goyo = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "goyo-2017-06-01";
-    src = fetchgit {
-      url = "git://github.com/junegunn/goyo.vim";
-      rev = "5b8bd0378758c1d9550d8429bef24b3d6d78b592";
-      sha256 = "0jh2gyf6v1vl12hygzwylzsj1ivx7r6xrd75k2wfsy91b2pm9srj";
-    };
-    dependencies = [];
-
-  };
-
-  gruvbox = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "gruvbox-2017-10-01";
-    src = fetchgit {
-      url = "git://github.com/morhetz/gruvbox";
-      rev = "16504d394e145e0372d2491e02769d241350399a";
-      sha256 = "0yhas9lnsn9lfld37lvm5msmmkj6c7d8ajgarazc5rykbl8bw8rg";
-    };
-    dependencies = [];
-
-  };
-
-  maktaba = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "maktaba-2017-05-07";
-    src = fetchgit {
-      url = "git://github.com/google/vim-maktaba";
-      rev = "2ae8b4478ea9bc2c6c8106acb55ddfb935754fb9";
-      sha256 = "1w8paqn0qyk4j5wfx48rc2za7kzhgdaggikklmjr1vsv2y0b8fzc";
-    };
-    dependencies = [];
-
-  };
-
-  gitv = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "gitv-2017-11-26";
-    src = fetchgit {
-      url = "https://github.com/gregsexton/gitv";
-      rev = "4b7ecf354726a3d31d0ad9090efd27a79c850a35";
-      sha256 = "0n2ddq0kicl2xjrhxi5pqvpikxa7vbf0hp3lzwmpapmvx146wi3w";
-    };
-    dependencies = ["fugitive"];
-
-  };
-
-
-  matchit-zip = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "matchit-zip";
-    src = fetchurl {
-      url = "http://www.vim.org/scripts/download_script.php?src_id=8196";
-      name = "matchit.zip";
-      sha256 = "1bbm8j1bhb70kagwdimwy9vcvlrz9ax5bk2a7wrmn4cy87f9xj4l";
-    };
-    buildInputs = [ unzip ];
-    dependencies = [];
-    meta = {
-       homepage = "http://www.vim.org/scripts/script.php?script_id=39";
-    };
-
-    unpackPhase = ''
-      (
-       sourceRoot=d
-       mkdir $sourceRoot; cd $sourceRoot;
-       unzip $src
-      )
-    '';
-  };
-
-  neco-look = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "neco-look-2018-01-07";
-    src = fetchgit {
-      url = "git://github.com/ujihisa/neco-look";
-      rev = "ff3de2731177694d0e85f1227b6cfd51c8e2bc8d";
-      sha256 = "0zpny9sj7alzsbrjbph71b44zf575hij1ky8pwgba0ygp2p2fxd4";
-    };
-    dependencies = [];
-
-  };
-
-  pathogen = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "pathogen-2017-08-04";
-    src = fetchgit {
-      url = "git://github.com/tpope/vim-pathogen";
-      rev = "e7857bed4e0705f91f781dbe99706f07d08d104b";
-      sha256 = "15s08q1chrdywj7fdiwzygxywg4cpcbvk5r1r8zvw6d82kyhadw1";
-    };
-    dependencies = [];
-
-  };
-
-  prettyprint = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "prettyprint-2016-07-16";
-    src = fetchgit {
-      url = "git://github.com/thinca/vim-prettyprint";
-      rev = "d6060d2b1ff1cff71714e126addd3b10883ade12";
-      sha256 = "0mb1ylsq4023ik9wd9iwzlynra2c320xp9h2i79bspapglgd5gk9";
-    };
-    dependencies = [];
-
-  };
-
-  quickfixstatus = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "quickfixstatus-2011-09-02";
-    src = fetchgit {
-      url = "git://github.com/dannyob/quickfixstatus";
-      rev = "fd3875b914fc51bbefefa8c4995588c088163053";
-      sha256 = "16vxhvyxq51y7wnx0c1fmdi2yb6kfr1pxijq65gxj8qwvbak2s3v";
-    };
-    dependencies = [];
-
-  };
-
-  rainbow_parentheses = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "rainbow_parentheses-2013-03-04";
-    src = fetchgit {
-      url = "git://github.com/kien/rainbow_parentheses.vim";
-      rev = "eb8baa5428bde10ecc1cb14eed1d6e16f5f24695";
-      sha256 = "1qw84imlhq4654mxazj7j3sp5g1j3yjxi496i08iix06dm15m5s7";
-    };
-    dependencies = [];
-
-  };
-
-  riv = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "riv-2017-02-07";
-    src = fetchgit {
-      url = "git://github.com/Rykka/riv.vim";
-      rev = "d1efdd92fbb51dc452c61eec54a0ec084f011b4b";
-      sha256 = "18qcglbrixgqk05x34dy2cksaw0dg7n51p48i6zkh5sqspv98zz3";
-    };
-    dependencies = [];
-
-  };
-
-  sensible = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "sensible-2017-05-09";
-    src = fetchgit {
-      url = "git://github.com/tpope/vim-sensible";
-      rev = "49ee364222dc2a5a00dddf89fd61880e3e39d46a";
-      sha256 = "0x9zn547hzzxjzplr2rkzhydh2y0a4fdkrwmdvw2yp203msyhcjx";
-    };
-    dependencies = [];
-
-  };
-
-  sleuth = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "sleuth-2017-10-24";
-    src = fetchgit {
-      url = "git://github.com/tpope/vim-sleuth";
-      rev = "d56a4302358359ddf9845252addf637a5e6bd6d5";
-      sha256 = "1klp2lqsql90v156kih0mnm0j957pc4r0zy5y6srww2q3wkkjgr2";
-    };
-    dependencies = [];
-
-  };
-
-  snipmate = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "snipmate-2017-04-20";
-    src = fetchgit {
-      url = "git://github.com/garbas/vim-snipmate";
-      rev = "a9802f2351910f64b70fb10b63651e6ff6b8125e";
-      sha256 = "1l7sc6lf66pkiy18aq9s3wk1dmvvvsy1063cc0bxich9xa8m34bj";
-    };
-    dependencies = ["vim-addon-mw-utils" "tlib"];
-
-  };
-
-  sourcemap = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "sourcemap-2012-09-19";
-    src = fetchgit {
-      url = "git://github.com/chikatoike/sourcemap.vim";
-      rev = "0dd82d40faea2fdb0771067f46c01deb41610ba1";
-      sha256 = "1gcgnynallz420911fdfm0ccbv3zs78p69nnh2ls1r4vlfp7g350";
-    };
-    dependencies = [];
-
-  };
-
-  sparkup = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "sparkup-2012-06-10";
-    src = fetchgit {
-      url = "git://github.com/chrisgeo/sparkup";
-      rev = "6fbfceef890e705c47b42b27be743ffed6f9296e";
-      sha256 = "17jgpvl879ik53rr3razfnbpfx63mzpp1rlvxxjsvvrk4g45dssm";
-    };
-    dependencies = [];
-
-  };
-
-  surround = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "surround-2016-06-01";
-    src = fetchgit {
-      url = "git://github.com/tpope/vim-surround";
-      rev = "e49d6c2459e0f5569ff2d533b4df995dd7f98313";
-      sha256 = "1v0q2f1n8ngbja3wpjvqp2jh89pb5ij731qmm18k41nhgz6hhm46";
-    };
-    dependencies = [];
-
-  };
-
-  table-mode = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "table-mode-2018-01-04";
-    src = fetchgit {
-      url = "git://github.com/dhruvasagar/vim-table-mode";
-      rev = "b25fe6f9f0f0b704d05ebd05edbbf0be3038cef9";
-      sha256 = "14ykj2yrwi8k6mkzg0vi4favwg88l8c7zf7m6qzvndpjqw8jggdy";
-    };
-    dependencies = [];
-
-  };
-
-  tabpagecd = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "tabpagecd-2013-11-29";
-    src = fetchgit {
-      url = "git://github.com/kana/vim-tabpagecd";
-      rev = "8b71a03a037608fa5918f5096812577cec6355e4";
-      sha256 = "1mr6s2hvsf2a2nkjjvq78c9isfxk2k1ih890w740srbq6ssj0npm";
-    };
-    dependencies = [];
-
-  };
-
-  taglist = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "taglist";
-    src = fetchurl {
-      url = "http://www.vim.org/scripts/download_script.php?src_id=19574";
-      name = "taglist_46.zip";
-      sha256 = "18cbv462vwg7vip2p99qlahm99hswav96cj4ki227kyi05q2lkjj";
-    };
-    buildInputs = [ unzip ];
-    dependencies = [];
-    meta = {
-       homepage = "http://www.vim.org/scripts/script.php?script_id=273";
-    };
-
-    setSourceRoot = ''
-      export sourceRoot=taglist
-      mkdir taglist
-      mv doc taglist
-      mv plugin taglist
-    '';
-  };
-
-  tlib = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "tlib-2017-08-13";
-    src = fetchgit {
-      url = "git://github.com/tomtom/tlib_vim";
-      rev = "c96db6151fde9d06a8fed71b7df05c6dbb3f14fe";
-      sha256 = "1dhvf1v2mkmq8aifwq57ylm7nnk3zz3hna33q2gj6p7v70vay7v8";
-    };
-    dependencies = [];
-
-  };
-
-  undotree = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "undotree-2017-10-26";
-    src = fetchgit {
-      url = "git://github.com/mbbill/undotree";
-      rev = "cdbb9022b8972d3e156b8d60af33bf795625b058";
-      sha256 = "0y62hp8k2kbrq0jhxj850f706rqjv2dkd7dxhz458mrsdk60f253";
-    };
-    dependencies = [];
-
-  };
-
-  vim-addon-actions = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vim-addon-actions-2017-09-23";
-    src = fetchgit {
-      url = "git://github.com/MarcWeber/vim-addon-actions";
-      rev = "7f48bea57fd9dfb06498422bc1cbe9f7553efa6e";
-      sha256 = "0q9w2x49zd3a43cm4ikgpwrqiz0k9a6pss0zrvskaxhh6mifpxpg";
-    };
-    dependencies = ["vim-addon-mw-utils" "tlib"];
-
-  };
-
-  vim-addon-async = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vim-addon-async-2017-03-20";
-    src = fetchgit {
-      url = "git://github.com/MarcWeber/vim-addon-async";
-      rev = "eca316a4480f68c2cb62128f3187dc7b2002afde";
-      sha256 = "1lk8ma51dd0syi73vq5r4qk9cpy6cq3llizvh94hmxblfjpvrs7q";
-    };
-    dependencies = ["vim-addon-signs"];
-
-  };
-
-  vim-addon-background-cmd = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vim-addon-background-cmd-2015-12-11";
-    src = fetchgit {
-      url = "git://github.com/MarcWeber/vim-addon-background-cmd";
-      rev = "abf2abf339652d2bc79da81f9d131edfe2755f5a";
-      sha256 = "0csy68x686l3x5ancidxb5b6prg9k7ikybqzq3klx0gs5rmksfy4";
-    };
-    dependencies = ["vim-addon-mw-utils"];
-
-  };
-
-  vim-addon-commenting = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vim-addon-commenting-2013-06-10";
-    src = fetchgit {
-      url = "git://github.com/MarcWeber/vim-addon-commenting";
-      rev = "b7cf748ac1c9bf555cbd347589e3b7196030d20b";
-      sha256 = "0alak8h33vada2ckb0v06y82qlib5mhyc2yswlv1rqh8ypzhq3mc";
-    };
-    dependencies = [];
-
-  };
-
-  vim-addon-completion = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vim-addon-completion-2015-02-10";
-    src = fetchgit {
-      url = "git://github.com/MarcWeber/vim-addon-completion";
-      rev = "021c449a5ce1ce4ac0af5955e05b0279c1cc0e75";
-      sha256 = "1ld059y2qwlc5bdfjm2p314s1qh31lxs54g944pw49r46s5nlslr";
-    };
-    dependencies = ["tlib"];
-
-  };
-
-  vim-addon-errorformats = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vim-addon-errorformats-2014-11-05";
-    src = fetchgit {
-      url = "git://github.com/MarcWeber/vim-addon-errorformats";
-      rev = "dcbb203ad5f56e47e75fdee35bc92e2ba69e1d28";
-      sha256 = "159zqm69fxbxcv3b2y99g57bf20qrzsijcvb5rzy2njxah3049m1";
-    };
-    dependencies = [];
-
-  };
-
-  vim-addon-goto-thing-at-cursor = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vim-addon-goto-thing-at-cursor-2012-01-11";
-    src = fetchgit {
-      url = "git://github.com/MarcWeber/vim-addon-goto-thing-at-cursor";
-      rev = "f052e094bdb351829bf72ae3435af9042e09a6e4";
-      sha256 = "1ksm2b0j80zn8sz2y227bpcx4jsv76lwgr2gpgy2drlyqhn2vlv0";
-    };
-    dependencies = ["tlib"];
-
-  };
-
-  vim-addon-local-vimrc = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vim-addon-local-vimrc-2015-03-19";
-    src = fetchgit {
-      url = "git://github.com/MarcWeber/vim-addon-local-vimrc";
-      rev = "6a27f95b35befa70cd0d049329cd0920566c764b";
-      sha256 = "0n8lwl1gyak149p7jpgm0qbmfj8hcg8hirx3dxdhizw0yc47ws7h";
-    };
-    dependencies = [];
-
-  };
-
-  vim-addon-manager = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vim-addon-manager-2017-05-07";
-    src = fetchgit {
-      url = "git://github.com/MarcWeber/vim-addon-manager";
-      rev = "2434225ae48e608c2b6ac86c8da1c62209da746f";
-      sha256 = "1fczkd05gir994614qmgscx131isr71bn0rwa6n3vgdbnhasz6bb";
-    };
-    dependencies = [];
-    buildInputs = stdenv.lib.optional stdenv.isDarwin Cocoa;
-  };
-
-  vim-addon-mru = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vim-addon-mru-2013-08-08";
-    src = fetchgit {
-      url = "git://github.com/MarcWeber/vim-addon-mru";
-      rev = "e41e39bd9d1bf78ccfd8d5e1bc05ae5e1026c2bb";
-      sha256 = "0q6rxr9nrp63kidr3m3c2z5sda4g813pzshg0scxkjr8dxwhzdqm";
-    };
-    dependencies = ["vim-addon-other" "vim-addon-mw-utils"];
-
-  };
-
-  vim-addon-mw-utils = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vim-addon-mw-utils-2012-11-05";
-    src = fetchgit {
-      url = "git://github.com/MarcWeber/vim-addon-mw-utils";
-      rev = "0c5612fa31ee434ba055e21c76f456244b3b5109";
-      sha256 = "147s1k4n45d3x281vj35l26sv4waxjlpqdn83z3k9n51556h1d45";
-    };
-    dependencies = [];
-
-  };
-
-  vim-addon-nix = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vim-addon-nix-2017-09-11";
-    src = fetchgit {
-      url = "git://github.com/MarcWeber/vim-addon-nix";
-      rev = "3001a9db5f816dd7af11384f15415bddd146ef86";
-      sha256 = "195z2yz09wirpqjpsha8x7qcr9is1q8qph4j0svws6qbqrkh8ryy";
-    };
-    dependencies = ["vim-addon-completion" "vim-addon-goto-thing-at-cursor" "vim-addon-errorformats" "vim-addon-actions" "vim-addon-mw-utils" "tlib"];
-
-  };
-
-  vim-addon-other = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vim-addon-other-2014-07-15";
-    src = fetchgit {
-      url = "git://github.com/MarcWeber/vim-addon-other";
-      rev = "f78720c9cb5bf871cabb13c7cbf94378dbf0163b";
-      sha256 = "0cjz7mlyfkkncas4ss7rwxb0q38ls1qw1p15hac1imscscsvyjc6";
-    };
-    dependencies = ["vim-addon-actions" "vim-addon-mw-utils"];
-
-  };
-
-  vim-addon-php-manual = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vim-addon-php-manual-2015-01-01";
-    src = fetchgit {
-      url = "git://github.com/MarcWeber/vim-addon-php-manual";
-      rev = "5f9810dd1f6e9f36a45f637ae6260ccff09256ff";
-      sha256 = "1kc67f12wccqdza069b75lpcbqp4kv4r23i4mfz0ihwif5mfnhir";
-    };
-    dependencies = [];
-
-  };
-
-  vim-addon-signs = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vim-addon-signs-2013-04-19";
-    src = fetchgit {
-      url = "git://github.com/MarcWeber/vim-addon-signs";
-      rev = "17a49f293d18174ff09d1bfff5ba86e8eee8e8ae";
-      sha256 = "0i4gfp30hmw1vqjl6zxjrgkca3ikdkcnjmma2mncjmcr6f59kjzy";
-    };
-    dependencies = [];
-
-  };
-
-  vim-addon-sql = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vim-addon-sql-2017-02-11";
-    src = fetchgit {
-      url = "git://github.com/MarcWeber/vim-addon-sql";
-      rev = "048a139af36829fce670c8ff80d3aad927557ee6";
-      sha256 = "0ihm157sby6csdwsnw2gwh3jmm3prm1mxwgkx2hsfwlmpb1vwwm3";
-    };
-    dependencies = ["vim-addon-completion" "vim-addon-background-cmd" "tlib"];
-
-  };
-
-  vim-addon-syntax-checker = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vim-addon-syntax-checker-2017-06-26";
-    src = fetchgit {
-      url = "git://github.com/MarcWeber/vim-addon-syntax-checker";
-      rev = "739e5719b77c6aea3299c27fc1f4238ac54a8344";
-      sha256 = "1rcn1ps06156nyglvxg6m7pn3vhvmnv5ad6kidp59hggyr5332i9";
-    };
-    dependencies = ["vim-addon-mw-utils" "tlib"];
-
-  };
-
-  vim-addon-toggle-buffer = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vim-addon-toggle-buffer-2012-01-13";
-    src = fetchgit {
-      url = "git://github.com/MarcWeber/vim-addon-toggle-buffer";
-      rev = "a1b38b9c5709cba666ed2d84ef06548f675c6b0b";
-      sha256 = "1xq38kfdm36c34ln66znw841q797w5gm8bpq1x64bsf2h6n3ml03";
-    };
-    dependencies = ["vim-addon-mw-utils" "tlib"];
-
-  };
-
-  vim-addon-xdebug = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vim-addon-xdebug-2014-08-29";
-    src = fetchgit {
-      url = "git://github.com/MarcWeber/vim-addon-xdebug";
-      rev = "45f26407305b4ce6f8f5f37d2b5e6e4354104172";
-      sha256 = "1i64ppdfp2qqq7vw1jf160mj4ikc04v39iazdab83xmiqjsh8ixw";
-    };
-    dependencies = ["WebAPI" "vim-addon-mw-utils" "vim-addon-signs" "vim-addon-async"];
-
-  };
-
-  vim-airline = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vim-airline-2017-11-27";
-    src = fetchgit {
-      url = "git://github.com/vim-airline/vim-airline";
-      rev = "6c8d0f5e6af878db71b2dc44ccf1d1417381d6a0";
-      sha256 = "0azrapbb3w84c62kcbrycm75qmwdfz38852sv7cccwb7v1xgj9ab";
-    };
-    dependencies = [];
-
-  };
-
-  vim-coffee-script = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vim-coffee-script-2017-12-04";
-    src = fetchgit {
-      url = "git://github.com/kchmck/vim-coffee-script";
-      rev = "de6b6327b4e738ea5dbf0ef97d06d39217e4e6fc";
-      sha256 = "0rvvsqlc3vrfpvh25a8kykwnf5dwx7blbnl5by1ja0l77l1hnrz4";
-    };
-    dependencies = [];
-
-  };
-
-  vim-cursorword = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vim-cursorword-2017-10-19";
-    src = fetchgit {
-      url = "git://github.com/itchyny/vim-cursorword";
-      rev = "4878d6185b99131c5f610cc6ad0e223439ac4601";
-      sha256 = "170nf0w7i5k3cr72dkvraq2p0lzsvb3cmdvslyz7cmxnz611n6bf";
-    };
-    dependencies = [];
-
-  };
-
-  vim-dirdiff = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vim-dirdiff-2017-01-19";
-    src = fetchgit {
-      url = "https://github.com/will133/vim-dirdiff";
-      rev = "db1fe77dcefa7a5b1089c8a84d1b401a4bd780bc";
-      sha256 = "1540h5skh8rcpzj0vp8sr53hg9jmmknj155pxs4z5w6gvzk7nx0p";
-    };
-    dependencies = [];
-
-  };
-
-  vim-easy-align = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vim-easy-align-2017-06-03";
-    src = fetchgit {
-      url = "git://github.com/junegunn/vim-easy-align";
-      rev = "1cd724dc239c3a0f7a12e0fac85945cc3dbe07b0";
-      sha256 = "0bqk1sdqamfgagh31a60c7gvvsvjpg1xys7ivqh62iqlny5i9774";
-    };
-    dependencies = [];
-
-  };
-
-  vim-ft-diff_fold = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vim-ft-diff_fold-2013-02-10";
-    src = fetchgit {
-      url = "git://github.com/thinca/vim-ft-diff_fold";
-      rev = "89771dffd3682ef82a4b3b3e9c971b9909f08e87";
-      sha256 = "0bk95cxkfzamlgv1x2jb1bnfas2pmvvqgpn5fvxddf0andm8sfma";
-    };
-    dependencies = [];
-
-  };
-
-  vim-gista = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vim-gista-2017-02-20";
-    src = fetchgit {
-      url = "git://github.com/lambdalisue/vim-gista";
-      rev = "b6cd41d0eb480cd79e84f3da3703613d0cf94a6c";
-      sha256 = "0bkzbppd3jdci4yvifb4sh05q20qn8cr3j9kqhxyc703s0l0lk2s";
-    };
-    dependencies = [];
-
-  };
-
-  vim-gitgutter = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vim-gitgutter-2018-02-26";
-    src = fetchgit {
-      url = "git://github.com/airblade/vim-gitgutter";
-      rev = "e512d3a6fc80900c24ef293b475715f49ec6ded8";
-      sha256 = "0wd6x3fb5jbqlvismp3f59ycid49gn3qvd16cj8x87v6l3anmp4s";
-    };
-    dependencies = [];
-
-  };
-
-  vim-dashboard = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vim-dashboard-2017-08-08";
-    src = fetchgit {
-      url = "git://github.com/junegunn/vim-github-dashboard";
-      rev = "054d7c69d9882a6ffccedd6e43623e184958d3b6";
-      sha256 = "1ns6dd8719hqrkqnxd52ssi7gxjxni7w4l1ih7ag72d62qzw0p8y";
-    };
-    dependencies = [];
-
-  };
-
-  vim-iced-coffee-script = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vim-iced-coffee-script-2013-12-27";
-    src = fetchgit {
-      url = "git://github.com/noc7c9/vim-iced-coffee-script";
-      rev = "e42e0775fa4b1f8840c55cd36ac3d1cedbc1dea2";
-      sha256 = "14yfirny359rlrr082il2ys3hxiyrbbk794rdxrs2lasjy8rb1f7";
-    };
-    dependencies = [];
-
-  };
-
-  vim-javascript = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vim-javascript-2018-01-10";
-    src = fetchgit {
-      url = "git://github.com/pangloss/vim-javascript";
-      rev = "4c0a554423df72ecb8d13b143afa7a4cfcb994ec";
-      sha256 = "01lbkcfjqwrn2pbxz1jj8g2vxasc2i7s6nc7665s1warn066ykjr";
-    };
-    dependencies = [];
-
-  };
-
-  vim-jsbeautify = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vim-jsbeautify-2017-05-20";
-    src = fetchgit {
-      url = "git://github.com/maksimr/vim-jsbeautify";
-      rev = "e83f749c3de7e958e7bc285e80e484707b6f1e12";
-      sha256 = "0dy9ljqp6shac406xgawzrqcapm80rjxmbzwy93ypzlhi8b67w0a";
-    };
-    dependencies = [];
-
-  };
-
-  vim-latex-live-preview = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vim-latex-live-preview-2017-11-09";
-    src = fetchgit {
-      url = "git://github.com/xuhdev/vim-latex-live-preview";
-      rev = "9855f084d0751dbd40a8cb56518f239e5eb1a624";
-      sha256 = "0linzdq2zrz5yfpqa51n2i9vrwr0x2r93ckx6n1ngyiw535ddafy";
-    };
-    dependencies = [];
-
-  };
-
-  vim-logreview = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vim-logreview-2017-07-08";
-    src = fetchgit {
-      url = "git://github.com/andreshazard/vim-logreview";
-      rev = "b7b66ab338e904127d796af49235b8c29742f18f";
-      sha256 = "09lyymq0f3ybqdzhbpia7b0wcjbcyg5nkqd72qk8jkvc42da2af3";
-    };
-    dependencies = [];
-
-  };
-
-  vim-multiple-cursors = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vim-multiple-cursors-2017-08-04";
-    src = fetchgit {
-      url = "git://github.com/terryma/vim-multiple-cursors";
-      rev = "a97dab5bc440bf0a7b62bb2de4479963a888f4ff";
-      sha256 = "1ac5l5h138ns9z9ni4qbcykkg9yfpjjalk0g9wrra4rp0nlakaqk";
-    };
-    dependencies = [];
-
-  };
-
-  vim-pencil = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vim-pencil-2017-06-14";
-    src = fetchgit {
-      url = "git://github.com/reedes/vim-pencil";
-      rev = "2dcd974b7255e4af83cf79a208f04a3489065e22";
-      sha256 = "0swc6sszj1f4h5hgi7z7j1xw54d69mg7f18rk2kf5y453qwg4jc0";
-    };
-    dependencies = [];
-
-  };
-
-  vim-rooter = buildVimPluginFrom2Nix {
-    name = "vim-rooter-2017-11-20";
-    src = fetchgit {
-      url = "git://github.com/airblade/vim-rooter";
-      rev = "3509dfb80d0076270a04049548738daeedf6dfb9";
-      sha256 = "03j26fw0dcvcc81fn8hx1prdwlgnd3g340pbxrzgbgxxq5kr0bwl";
-    };
-    dependencies = [];
-
-  };
-
-  vim-ruby = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vim-ruby-2017-06-22";
-    src = fetchgit {
-      url = "git://github.com/vim-ruby/vim-ruby";
-      rev = "074200ffa39b19baf9d9750d399d53d97f21ee07";
-      sha256 = "1w2d12cl40nf73f3hcpqc4sqma8h1a557fy8kds2x143gq7s5vx6";
-    };
-    dependencies = [];
-
-  };
-
-  vim-scouter = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vim-scouter-2014-08-10";
-    src = fetchgit {
-      url = "git://github.com/thinca/vim-scouter";
-      rev = "5221901d4ad6b2ef8b370b336db2aa7f69f2b6dc";
-      sha256 = "0fx64hj1kzrsxz96195d5lm3x88zyycbcr78819mcbgfzyxis6b8";
-    };
-    dependencies = [];
-
-  };
-
-  vim-signature = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vim-signature-2017-09-24";
-    src = fetchgit {
-      url = "git://github.com/kshenoy/vim-signature";
-      rev = "eaa8af20ac4d46f911a083298d7a19e27be180e0";
-      sha256 = "1vha52bmbs88lnwjfvkbx2jb74k8gqjky0c9gv8gqy74lypcdas5";
-    };
-    dependencies = [];
-
-  };
-
-  vim-signify = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vim-signify-2017-08-19";
-    src = fetchgit {
-      url = "git://github.com/mhinz/vim-signify";
-      rev = "1a8a15d835d8f2da56cd793a0222227af6c89839";
-      sha256 = "13yvwy2vw64g4v08k83svhp26nmmir0qd21wpp89qclbzwb2q2k2";
-    };
-    dependencies = [];
-
-  };
-
-  vim-snippets = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vim-snippets-2017-12-05";
-    src = fetchgit {
-      url = "git://github.com/honza/vim-snippets";
-      rev = "e116db735e54a8e428f8b2c08c842ee52b7230fe";
-      sha256 = "05zn4z40awqab8fz9z49wkry6hww89la33vj552cf6lhzfkbbsvv";
-    };
-    dependencies = [];
-
-  };
-
-  vim-webdevicons = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vim-webdevicons-2017-10-13";
-    src = fetchgit {
-      url = "git://github.com/ryanoasis/vim-devicons";
-      rev = "a3e50225a8d544c9eff9c53c5405269a1b2b29f8";
-      sha256 = "0glnwqnaw28g41zd9c3wvcsk6fmiphlwiq80lskbyn1pxfb3h14m";
-    };
-    dependencies = [];
-
-  };
-
-  vim2hs = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vim2hs-2014-04-16";
-    src = fetchgit {
-      url = "git://github.com/dag/vim2hs";
-      rev = "f2afd55704bfe0a2d66e6b270d247e9b8a7b1664";
-      sha256 = "18lqrl3hqb6cmizc04bbnsh8j0g761w2q8wascbzzfw80dmxy36b";
-    };
-    dependencies = [];
-
-  };
-
-  vimwiki = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vimwiki-2017-12-04";
-    src = fetchgit {
-      url = "git://github.com/vimwiki/vimwiki";
-      rev = "75fe1d4f003f77a33955f436e023a4ce9548cb69";
-      sha256 = "1a4918jsxjvlzj4qqariygwjjcs2lflykgq5k5l3ar3jvwlw0n7p";
-    };
-    dependencies = [];
-
-  };
-
-  vinegar = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vinegar-2017-06-27";
-    src = fetchgit {
-      url = "git://github.com/tpope/vim-vinegar";
-      rev = "c795cb739347cbddeeb288c3c35da9f140a513c9";
-      sha256 = "1dcirb0b73s2l14ppn8mlh79pjpf9kgym9im05039ynr9rl83fv3";
-    };
-    dependencies = [];
-
-  };
-
-  vundle = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vundle-2017-11-10";
-    src = fetchgit {
-      url = "git://github.com/gmarik/vundle";
-      rev = "fcc204205e3305c4f86f07e09cd756c7d06f0f00";
-      sha256 = "1wpxp59rh1l6i4mvavqsh1xxqj3fmqiggl92h6chj4lc8anssydy";
-    };
-    dependencies = [];
-
-  };
-
-  xterm-color-table = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "xterm-color-table-2013-12-31";
-    src = fetchgit {
-      url = "git://github.com/guns/xterm-color-table.vim";
-      rev = "9754e857e5f4fe1f8727106dcc682d21c29a51e4";
-      sha256 = "08a1d9428xwrjp40qgi34cb5fwgc239qf3agxl32k7bqbn08pq19";
-    };
-    dependencies = [];
-
-  };
-
-  zeavim = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "zeavim-2017-12-20";
-    src = fetchgit {
-      url = "git://github.com/KabbAmine/zeavim.vim";
-      rev = "88f81078059d98d7637a93b90730897a3af231a4";
-      sha256 = "1p43f6bbs9fcvvp1i90kzx1xj7k6c5w3ajf9wlrplpkz6hsiv2wv";
+      rev = "eba14b79890b674432a78291ff0f16de4da2ed08";
+      sha256 = "1yj7gijwbsc1vrxlb158pf083ahrpgg5g7j3gjrkrazdcmmx5d2j";
     };
     dependencies = [];
 
diff --git a/pkgs/misc/vim-plugins/vim-plugin-names b/pkgs/misc/vim-plugins/vim-plugin-names
index 04ccbb2a99d..fcc4fcaa76f 100644
--- a/pkgs/misc/vim-plugins/vim-plugin-names
+++ b/pkgs/misc/vim-plugins/vim-plugin-names
@@ -1,43 +1,14 @@
-"CSApprox"
-"CheckAttach"
-"Cosco"
-"Gist"
-"Hoogle"
-"Solarized"
-"Supertab"
-"Syntastic"
-"SyntaxRange"
-"Tabular"
-"Tagbar"
-"The_NERD_Commenter"
-"The_NERD_tree"
-"UltiSnips"
-"VimOutliner"
-"WebAPI"
-"YankRing"
-"caw"
-"clang_complete"
-"commentary"
-"csv"
-"ctrlp-cmatcher"
-"ctrlp-py-matcher"
-"ctrlp-z"
-"easygit"
-"extradite"
-"fugitive"
-"ghcmod"
 "github:907th/vim-auto-save"
-"github:Chiel92/vim-autoformat"
-"github:LnL7/vim-nix"
-"github:Quramy/tsuquyomi"
-"github:Shougo/deoplete.nvim"
+"github:airblade/vim-gitgutter"
 "github:ajh17/Spacegray.vim"
 "github:albfan/nerdtree-git-plugin"
+"github:altercation/vim-colors-solarized"
 "github:alvan/vim-closetag"
+"github:amiorin/ctrlp-z"
+"github:andreshazard/vim-logreview"
 "github:andsild/peskcolor.vim.git"
 "github:andviro/flake8-vim"
 "github:ap/vim-css-color"
-"github:autozimu/LanguageClient-neovim"
 "github:bazelbuild/vim-bazel"
 "github:bbchung/clighter8"
 "github:benekastah/neomake"
@@ -46,17 +17,26 @@
 "github:cespare/vim-toml"
 "github:chemzqm/denite-extra"
 "github:chemzqm/denite-git"
+"github:Chiel92/vim-autoformat"
 "github:chikatoike/concealedyank.vim"
+"github:chikatoike/sourcemap.vim"
+"github:chrisbra/CheckAttach"
+"github:chrisbra/csv.vim"
+"github:chrisgeo/sparkup"
 "github:christoomey/vim-sort-motion"
 "github:christoomey/vim-tmux-navigator"
 "github:ctjhoa/spacevim"
 "github:ctrlpvim/ctrlp.vim"
+"github:dag/vim2hs"
+"github:dannyob/quickfixstatus"
 "github:derekelkins/agda-vim"
 "github:derekwyatt/vim-scala"
+"github:dhruvasagar/vim-table-mode"
 "github:digitaltoad/vim-jade"
 "github:dleonard0/pony-vim-syntax"
 "github:dracula/vim"
 "github:drmingdrmer/xptemplate"
+"github:eagletmt/ghcmod-vim"
 "github:eagletmt/neco-ghc"
 "github:editorconfig/editorconfig-vim"
 "github:ehamberg/vim-cute-python.git"
@@ -67,24 +47,36 @@
 "github:embear/vim-localvimrc"
 "github:enomsg/vim-haskellConcealPlus"
 "github:ensime/ensime-vim"
+"github:ervandew/supertab"
 "github:esneider/YUNOcommit.vim"
 "github:fatih/vim-go"
+"github:FelikZ/ctrlp-py-matcher"
 "github:flazz/vim-colorschemes"
 "github:floobits/floobits-neovim"
 "github:frigoeu/psc-ide-vim"
+"github:garbas/vim-snipmate"
+"github:gmarik/vundle"
+"github:godlygeek/csapprox"
+"github:godlygeek/tabular"
 "github:google/vim-codefmt"
 "github:google/vim-jsonnet"
 "github:google/vim-maktaba"
 "github:gregsexton/gitv"
+"github:guns/xterm-color-table.vim"
 "github:heavenshell/vim-jsdoc"
 "github:hecal3/vim-leader-guide"
+"github:honza/vim-snippets"
 "github:idris-hackers/idris-vim"
+"github:inkarkat/vim-SyntaxRange"
+"github:int3/vim-extradite"
 "github:itchyny/calendar.vim"
 "github:itchyny/lightline.vim"
 "github:itchyny/thumbnail.vim"
+"github:itchyny/vim-cursorword"
 "github:itchyny/vim-gitbranch"
 "github:ivanov/vim-ipython"
 "github:janko-m/vim-test.git"
+"github:JazzCore/ctrlp-cmatcher"
 "github:jceb/vim-hier"
 "github:jceb/vim-orgmode"
 "github:jeetsukumaran/vim-buffergator"
@@ -95,58 +87,108 @@
 "github:jnurmine/zenburn"
 "github:jonbri/vim-colorstepper"
 "github:joonty/vim-xdebug"
+"github:JuliaEditorSupport/julia-vim"
 "github:junegunn/fzf.vim"
+"github:junegunn/goyo.vim"
 "github:junegunn/limelight.vim"
+"github:junegunn/vim-easy-align"
+"github:junegunn/vim-github-dashboard"
 "github:junegunn/vim-peekaboo"
 "github:justincampbell/vim-eighties"
+"github:KabbAmine/zeavim.vim"
 "github:kana/vim-niceblock"
 "github:kana/vim-operator-replace"
 "github:kana/vim-operator-user"
+"github:kana/vim-tabpagecd"
+"github:kchmck/vim-coffee-script"
+"github:kien/rainbow_parentheses.vim"
+"github:kshenoy/vim-signature"
+"github:lambdalisue/vim-gista"
 "github:latex-box-team/latex-box"
 "github:leafgarland/typescript-vim"
 "github:lepture/vim-jinja"
 "github:lervag/vimtex"
+"github:lfilho/cosco.vim"
+"github:LnL7/vim-nix"
 "github:lokaltog/vim-easymotion"
 "github:ludovicchabant/vim-lawrencium"
 "github:luochen1990/rainbow"
 "github:lyokha/vim-xkbswitch"
 "github:machakann/vim-highlightedyank"
+"github:majutsushi/tagbar"
+"github:maksimr/vim-jsbeautify"
+"github:MarcWeber/vim-addon-actions"
+"github:MarcWeber/vim-addon-async"
+"github:MarcWeber/vim-addon-background-cmd"
+"github:MarcWeber/vim-addon-commenting"
+"github:MarcWeber/vim-addon-completion"
+"github:MarcWeber/vim-addon-errorformats"
+"github:MarcWeber/vim-addon-goto-thing-at-cursor"
+"github:MarcWeber/vim-addon-local-vimrc"
+"github:MarcWeber/vim-addon-manager"
+"github:MarcWeber/vim-addon-mru"
+"github:MarcWeber/vim-addon-mw-utils"
+"github:MarcWeber/vim-addon-nix"
+"github:MarcWeber/vim-addon-other"
+"github:MarcWeber/vim-addon-php-manual"
+"github:MarcWeber/vim-addon-signs"
+"github:MarcWeber/vim-addon-sql"
+"github:MarcWeber/vim-addon-syntax-checker"
+"github:MarcWeber/vim-addon-toggle-buffer"
+"github:MarcWeber/vim-addon-xdebug"
 "github:martinda/Jenkinsfile-vim-syntax"
+"github:mattn/gist-vim"
+"github:mattn/webapi-vim"
+"github:mbbill/undotree"
 "github:megaannum/forms"
 "github:megaannum/self"
 "github:mfukar/robotframework-vim"
 "github:mhinz/vim-grepper.git"
+"github:mhinz/vim-signify"
 "github:mhinz/vim-startify"
 "github:michaeljsmith/vim-indent-object"
 "github:mileszs/ack.vim"
 "github:mindriot101/vim-yapf"
 "github:mkasa/lushtags"
+"github:morhetz/gruvbox"
 "github:mpickering/hlint-refactor-vim"
 "github:nathanaelkane/vim-indent-guides"
 "github:nbouscal/vim-stylish-haskell"
+"github:neoclide/vim-easygit"
 "github:neovimhaskell/haskell-vim"
 "github:nixprime/cpsm"
+"github:noc7c9/vim-iced-coffee-script"
 "github:osyo-manga/shabadou.vim"
 "github:osyo-manga/vim-textobj-multiblock"
 "github:osyo-manga/vim-watchdogs"
+"github:pangloss/vim-javascript"
 "github:plasticboy/vim-markdown"
 "github:python-mode/python-mode"
+"github:Quramy/tsuquyomi"
 "github:racer-rust/vim-racer"
 "github:raichoo/purescript-vim"
+"github:reedes/vim-pencil"
 "github:reedes/vim-wordy"
 "github:rhysd/committia.vim.git"
 "github:rhysd/vim-grammarous"
 "github:rhysd/vim-operator-surround"
+"github:Rip-Rip/clang_complete"
 "github:rodjek/vim-puppet"
 "github:roxma/nvim-cm-racer"
 "github:roxma/nvim-completion-manager"
 "github:rust-lang/rust.vim"
 "github:ryanoasis/vim-devicons"
+"github:ryanoasis/vim-devicons"
+"github:Rykka/riv.vim"
 "github:sbdchd/neoformat"
+"github:scrooloose/nerdcommenter"
+"github:scrooloose/nerdtree"
+"github:scrooloose/syntastic"
 "github:sebastianmarkow/deoplete-rust"
 "github:sheerun/vim-polyglot"
 "github:shougo/context_filetype.vim"
 "github:shougo/denite.nvim"
+"github:Shougo/deoplete.nvim"
 "github:shougo/echodoc.vim"
 "github:shougo/neco-syntax"
 "github:shougo/neco-vim"
@@ -160,40 +202,65 @@
 "github:shougo/unite.vim"
 "github:shougo/vimproc.vim"
 "github:shougo/vimshell.vim"
+"github:SirVer/ultisnips"
 "github:sjl/gundo.vim"
 "github:slashmili/alchemist.vim"
 "github:t9md/vim-smalls"
 "github:takac/vim-hardtime"
 "github:terryma/vim-expand-region"
+"github:terryma/vim-multiple-cursors"
 "github:tex/vimpreviewpandoc"
+"github:thinca/vim-ft-diff_fold"
+"github:thinca/vim-prettyprint"
 "github:thinca/vim-quickrun"
+"github:thinca/vim-scouter"
 "github:thinca/vim-themis"
 "github:tomasr/molokai"
+"github:tomlion/vim-solidity"
+"github:tomtom/tlib_vim"
+"github:tpope/vim-commentary"
 "github:tpope/vim-dispatch"
 "github:tpope/vim-eunuch"
+"github:tpope/vim-fugitive"
+"github:tpope/vim-pathogen"
 "github:tpope/vim-repeat"
 "github:tpope/vim-rhubarb"
+"github:tpope/vim-sensible"
+"github:tpope/vim-sleuth"
 "github:tpope/vim-speeddating"
+"github:tpope/vim-surround"
+"github:tpope/vim-vinegar"
 "github:travitch/hasksyn"
 "github:twinside/vim-haskellconceal"
+"github:Twinside/vim-hoogle"
+"github:tyru/caw.vim"
 "github:tyru/open-browser.vim"
+"github:ujihisa/neco-look"
 "github:valloric/youcompleteme"
+"github:vim-airline/vim-airline"
 "github:vim-airline/vim-airline-themes"
+"github:vimoutliner/vimoutliner"
 "github:vim-pandoc/vim-pandoc"
 "github:vim-pandoc/vim-pandoc-after"
 "github:vim-pandoc/vim-pandoc-syntax"
-"github:vim-scripts/Colour-Sampler-Pack"
-"github:vim-scripts/Improved-AnsiEsc"
-"github:vim-scripts/Rename"
-"github:vim-scripts/ReplaceWithRegister"
-"github:vim-scripts/a.vim"
+"github:vim-ruby/vim-ruby"
 "github:vim-scripts/align"
 "github:vim-scripts/argtextobj.vim"
+"github:vim-scripts/a.vim"
+"github:vim-scripts/bats.vim"
 "github:vim-scripts/changeColorScheme.vim"
+"github:vim-scripts/Colour-Sampler-Pack"
+"github:vim-scripts/Improved-AnsiEsc"
+"github:vim-scripts/matchit.zip"
 "github:vim-scripts/mayansmoke.git"
 "github:vim-scripts/random.vim"
+"github:vim-scripts/Rename"
+"github:vim-scripts/ReplaceWithRegister"
 "github:vim-scripts/tabmerge"
+"github:vim-scripts/taglist.vim"
 "github:vim-scripts/wombat256.vim"
+"github:vim-scripts/YankRing.vim"
+"github:vimwiki/vimwiki"
 "github:w0rp/ale"
 "github:wakatime/vim-wakatime"
 "github:wellle/targets.vim"
@@ -201,73 +268,8 @@
 "github:wincent/command-t"
 "github:xolox/vim-easytags"
 "github:xolox/vim-misc"
+"github:xuhdev/vim-latex-live-preview"
 "github:zah/nim.vim"
 "github:zchee/deoplete-go"
 "github:zchee/deoplete-jedi"
 "github:zig-lang/zig.vim"
-"goyo"
-"gruvbox"
-"matchit.zip"
-"neco-look"
-"pathogen"
-"prettyprint"
-"quickfixstatus"
-"rainbow_parentheses"
-"riv"
-"sensible"
-"sleuth"
-"snipmate"
-"sourcemap"
-"sparkup"
-"surround"
-"table-mode"
-"tabpagecd"
-"taglist"
-"tlib"
-"undotree"
-"vim-addon-actions"
-"vim-addon-async"
-"vim-addon-background-cmd"
-"vim-addon-commenting"
-"vim-addon-completion"
-"vim-addon-errorformats"
-"vim-addon-goto-thing-at-cursor"
-"vim-addon-local-vimrc"
-"vim-addon-manager"
-"vim-addon-mru"
-"vim-addon-mw-utils"
-"vim-addon-nix"
-"vim-addon-other"
-"vim-addon-php-manual"
-"vim-addon-signs"
-"vim-addon-sql"
-"vim-addon-syntax-checker"
-"vim-addon-toggle-buffer"
-"vim-addon-xdebug"
-"vim-airline"
-"vim-coffee-script"
-"vim-cursorword"
-"vim-easy-align"
-"vim-ft-diff_fold"
-"vim-gista"
-"vim-gitgutter"
-"vim-github-dashboard"
-"vim-iced-coffee-script"
-"vim-javascript"
-"vim-jsbeautify"
-"vim-latex-live-preview"
-"vim-logreview"
-"vim-multiple-cursors"
-"vim-pencil"
-"vim-ruby"
-"vim-scouter"
-"vim-signature"
-"vim-signify"
-"vim-snippets"
-"vim-webdevicons"
-"vim2hs"
-"vimwiki"
-"vinegar"
-"vundle"
-"xterm-color-table"
-"zeavim"
diff --git a/pkgs/misc/vim-plugins/vim-utils.nix b/pkgs/misc/vim-plugins/vim-utils.nix
index e11419846ae..514c1daed62 100644
--- a/pkgs/misc/vim-plugins/vim-utils.nix
+++ b/pkgs/misc/vim-plugins/vim-utils.nix
@@ -224,7 +224,7 @@ let
           else if builtins.isAttrs x && builtins ? out then toNix "${x}" # a derivation
           else if builtins.isAttrs x then "{${lib.concatStringsSep ", " (lib.mapAttrsToList (n: v: "${toNix n}: ${toNix v}") x)}}"
           else if builtins.isList x then "[${lib.concatMapStringsSep ", " toNix x}]"
-          else throw "turning ${lib.showVal x} into a VimL thing not implemented yet";
+          else throw "turning ${lib.generators.toPretty {} x} into a VimL thing not implemented yet";
 
       in assert builtins.hasAttr "vim-addon-manager" knownPlugins;
       ''
diff --git a/pkgs/misc/vim-plugins/vim2nix/additional-nix-code/cpsm b/pkgs/misc/vim-plugins/vim2nix/additional-nix-code/cpsm
index ea360765925..c3a210a642d 100644
--- a/pkgs/misc/vim-plugins/vim2nix/additional-nix-code/cpsm
+++ b/pkgs/misc/vim-plugins/vim2nix/additional-nix-code/cpsm
@@ -4,6 +4,7 @@
       cmake
       boost
       icu
+      ncurses
     ];
     buildPhase = ''
       patchShebangs .
diff --git a/pkgs/misc/vim-plugins/vim2nix/additional-nix-code/matchit.zip b/pkgs/misc/vim-plugins/vim2nix/additional-nix-code/matchit.zip
deleted file mode 100644
index cc9d3fb7264..00000000000
--- a/pkgs/misc/vim-plugins/vim2nix/additional-nix-code/matchit.zip
+++ /dev/null
@@ -1,7 +0,0 @@
-    unpackPhase = ''
-      (
-       sourceRoot=d
-       mkdir $sourceRoot; cd $sourceRoot;
-       unzip $src
-      )
-    '';
diff --git a/pkgs/misc/vscode-extensions/cpptools/default.nix b/pkgs/misc/vscode-extensions/cpptools/default.nix
index 87c782222fc..c29611c0c66 100644
--- a/pkgs/misc/vscode-extensions/cpptools/default.nix
+++ b/pkgs/misc/vscode-extensions/cpptools/default.nix
@@ -1,5 +1,5 @@
-{ stdenv, lib, fetchurl, vscode-utils, unzip, dos2unix, mono46, clang-tools, writeScript
-, gdbUseFixed ? true, gdb # The gdb default setting will be fixed to specified. Use version from `PATH` otherwise. 
+{ stdenv, lib, fetchurl, fetchzip, vscode-utils, jq, mono46, clang-tools, writeScript
+, gdbUseFixed ? true, gdb # The gdb default setting will be fixed to specified. Use version from `PATH` otherwise.
 }:
 
 assert gdbUseFixed -> null != gdb;
@@ -33,13 +33,11 @@ let
   langComponentBinaries = stdenv.mkDerivation {
     name = "cpptools-language-component-binaries";
 
-    src = fetchurl {
-      url = https://download.visualstudio.microsoft.com/download/pr/11151953/d3cc8b654bffb8a2f3896d101f3c3155/Bin_Linux.zip;
-      sha256 = "12qbxsrdc73cqjb84xdck1xafzhfkcyn6bqbpcy1bxxr3b7hxbii";
+    src = fetchzip {
+      url = https://download.visualstudio.microsoft.com/download/pr/11991016/8a81aa8f89aac452956b0e4c68e6620b/Bin_Linux.zip;
+      sha256 = "0ma59fxfldbgh6ijlvfbs3hnl4g0cnw5gs6286zdrp065n763sv4";
     };
 
-    buildInputs = [ unzip ];
-
     patchPhase = ''
       elfInterpreter="${stdenv.glibc.out}/lib/ld-linux-x86-64.so.2"
       patchelf --set-interpreter "$elfInterpreter" ./Microsoft.VSCode.CPP.Extension.linux
@@ -53,13 +51,6 @@ let
     '';
   };
 
-  cpptoolsJsonFile = fetchurl {
-    url = https://download.visualstudio.microsoft.com/download/pr/11070848/7b97d6724d52cae8377c61bb4601c989/cpptools.json;
-    sha256 = "124f091aic92rzbg2vg831y22zr5wi056c1kh775djqs3qv31ja6";
-  };
-
-
-
   openDebugAD7Script = writeScript "OpenDebugAD7" ''
     #!${stdenv.shell}
     BIN_DIR="$(cd "$(dirname "$0")" && pwd -P)"
@@ -76,23 +67,24 @@ vscode-utils.buildVscodeMarketplaceExtension {
   mktplcRef = {
     name = "cpptools";
     publisher = "ms-vscode";
-    version = "0.12.3";
-    sha256 = "1dcqy54n1w29xhbvxscd41hdrbdwar6g12zx02f6kh2f1kw34z5z";
+    version = "0.16.1";
+    sha256 = "0m4cam8sf3zwp8ss1dii908g7rc8b9l6pry0dglg0rmf45pkiaj3";
   };
 
   buildInputs = [
-    dos2unix
+    jq
   ];
 
-  prePatch = ''
-    dos2unix package.json      
-  '';
+  postPatch = ''
+    mv ./package.json ./package_ori.json
 
-  patches = [
-    ./vscode-cpptools-0-12-3-package-json.patch
-  ];
+    # 1. Add activation events so that the extension is functional. This listing is empty when unpacking the extension but is filled at runtime.
+    # 2. Patch `packages.json` so that nix's *gdb* is used as default value for `miDebuggerPath`.
+    cat ./package_ori.json | \
+      jq --slurpfile actEvts ${./package-activation-events-0-16-1.json} '(.activationEvents) = $actEvts[0]' | \
+      jq '(.contributes.debuggers[].configurationAttributes | .attach , .launch | .properties.miDebuggerPath | select(. != null) | select(.default == "/usr/bin/gdb") | .default) = "${gdbDefaultsTo}"' > \
+      ./package.json
 
-  postPatch = ''
     # Patch `packages.json` so that nix's *gdb* is used as default value for `miDebuggerPath`.
     substituteInPlace "./package.json" \
       --replace "\"default\": \"/usr/bin/gdb\"" "\"default\": \"${gdbDefaultsTo}\""
@@ -103,9 +95,6 @@ vscode-utils.buildVscodeMarketplaceExtension {
     # Move unused files out of the way.
     mv ./debugAdapters/bin/OpenDebugAD7.exe.config ./debugAdapters/bin/OpenDebugAD7.exe.config.unused
 
-    # Bring the `cpptools.json` file at the root of the package, same as the extension would do.
-    cp -p "${cpptoolsJsonFile}" "./cpptools.json"
-
     # Combining the language component binaries as part of our package.
     find "${langComponentBinaries}/bin" -mindepth 1 -maxdepth 1 | xargs cp -p -t "./bin"
 
@@ -120,9 +109,9 @@ vscode-utils.buildVscodeMarketplaceExtension {
 
     meta = with stdenv.lib; {
       license = licenses.unfree;
-      maintainer = [ maintainers.jraygauthier ];
-      # A 32 bit linux would also be possible with some effort (specific download of binaries + 
+      maintainers = [ maintainers.jraygauthier ];
+      # A 32 bit linux would also be possible with some effort (specific download of binaries +
       # patching of the elf files with 32 bit interpreter).
       platforms = [ "x86_64-linux" ];
     };
-}
\ No newline at end of file
+}
diff --git a/pkgs/misc/vscode-extensions/cpptools/missing_elf_deps.sh b/pkgs/misc/vscode-extensions/cpptools/missing_elf_deps.sh
new file mode 100755
index 00000000000..f5eb08d78a5
--- /dev/null
+++ b/pkgs/misc/vscode-extensions/cpptools/missing_elf_deps.sh
@@ -0,0 +1,52 @@
+#!/usr/bin/env nix-shell
+#! nix-shell -p coreutils -i bash
+
+scriptDir=$(cd "`dirname "$0"`"; pwd)
+echo "scriptDir='$scriptDir'"
+
+function get_pkg_out() {
+  local pkg="$1"
+  local suffix="${2:-}"
+  local nixExp="with (import <nixpkgs> {}); ${pkg}"
+  echo "$(nix-build -E "$nixExp" --no-out-link)${suffix}"
+}
+
+interpreter="$(get_pkg_out "stdenv.glibc" "/lib/ld-linux-x86-64.so.2")"
+echo "interpreter='$interpreter'"
+
+# For clangformat dep on 'libtinfo.so.5'.
+ncursesLibDir="$(get_pkg_out "ncurses5.out" "/lib")"
+echo "ncursesLibDir='$ncursesLibDir'"
+
+# For clanformat dep on 'libstdc++.so.6'.
+stdcppLibDir="$(get_pkg_out "stdenv.cc.cc.lib" "/lib")"
+echo "stdcppLibDir='$stdcppLibDir'"
+
+# For clangformat dep on 'libz.so.1'.
+zlibLibDir="$(get_pkg_out "zlib.out" "/lib")"
+echo "zlibLibDir='$zlibLibDir'"
+
+function patchelf_mono() {
+  local exe="$1"
+  patchelf --set-interpreter "$interpreter" "$exe"
+}
+
+function patchelf_clangformat() {
+  local exe="$1"
+  patchelf --set-interpreter "$interpreter" "$exe"
+  local rpath="$ncursesLibDir:$stdcppLibDir:$zlibLibDir"
+  patchelf --set-rpath "$rpath" "$exe"
+}
+
+function print_nix_version_clangtools() {
+  nixClangToolsBin="$(get_pkg_out "clang-tools" "/bin")"
+  echo "nixClangToolsBin='$nixClangToolsBin'"
+  $nixClangToolsBin/clang-format --version
+}
+
+function print_nix_version_mono() {
+  nixMonoBin="$(get_pkg_out "mono" "/bin")"
+  echo "nixMonoBin='$nixMonoBin'"
+  $nixMonoBin/mono --version
+}
+
diff --git a/pkgs/misc/vscode-extensions/cpptools/package-activation-events-0-16-1.json b/pkgs/misc/vscode-extensions/cpptools/package-activation-events-0-16-1.json
new file mode 100644
index 00000000000..3a12a8bc047
--- /dev/null
+++ b/pkgs/misc/vscode-extensions/cpptools/package-activation-events-0-16-1.json
@@ -0,0 +1,22 @@
+[
+"onLanguage:cpp",
+"onLanguage:c",
+"onCommand:extension.pickNativeProcess",
+"onCommand:extension.pickRemoteNativeProcess",
+"onCommand:C_Cpp.ConfigurationEdit",
+"onCommand:C_Cpp.ConfigurationSelect",
+"onCommand:C_Cpp.SwitchHeaderSource",
+"onCommand:C_Cpp.Navigate",
+"onCommand:C_Cpp.GoToDeclaration",
+"onCommand:C_Cpp.PeekDeclaration",
+"onCommand:C_Cpp.ToggleErrorSquiggles",
+"onCommand:C_Cpp.ToggleIncludeFallback",
+"onCommand:C_Cpp.ToggleDimInactiveRegions",
+"onCommand:C_Cpp.ShowReleaseNotes",
+"onCommand:C_Cpp.ResetDatabase",
+"onCommand:C_Cpp.PauseParsing",
+"onCommand:C_Cpp.ResumeParsing",
+"onCommand:C_Cpp.ShowParsingCommands",
+"onCommand:C_Cpp.TakeSurvey",
+"onDebug"
+]
\ No newline at end of file
diff --git a/pkgs/misc/vscode-extensions/cpptools/update_helper.sh b/pkgs/misc/vscode-extensions/cpptools/update_helper.sh
new file mode 100755
index 00000000000..00ef7755324
--- /dev/null
+++ b/pkgs/misc/vscode-extensions/cpptools/update_helper.sh
@@ -0,0 +1,168 @@
+#!/usr/bin/env nix-shell
+#! nix-shell -p coreutils -p jq -p unzip -i bash
+set -euo pipefail
+
+#
+# A little script to help maintaining this package. It will:
+#
+#  -  download the specified version of the extension to the store and print its url, packed store path and hash
+#  -  unpack the extension, bring it to the store and print its store path and hash
+#  -  fetch its runtimes dependencies from the 'package.json' file using the 'jq' utility, unpack those to the store
+#     and print its url store path and hash
+#  -  patch elf of the binaries that got a nix replacement
+#  -  bring the patched version to the store
+#  -  run their '--version' and call 'ldd'
+#  -  print the version of the runtime deps nix replacements.
+#
+# TODO: Print to a properly formated nix file all the required information to fetch everything (extension + runtime deps).
+# TODO: Print x86 and maybe darwin runtime dependencies.
+#
+
+scriptDir=$(cd "`dirname "$0"`"; pwd)
+echo "scriptDir='$scriptDir'"
+
+extPublisher="vscode"
+extName="cpptools"
+defaultExtVersion="0.16.1"
+extVersion="${1:-$defaultExtVersion}"
+
+echo
+echo "------------- Downloading extension ---------------"
+
+extZipStoreName="${extPublisher}-${extName}.zip"
+extUrl="https://ms-vscode.gallery.vsassets.io/_apis/public/gallery/publisher/ms-vscode/extension/cpptools/${extVersion}/assetbyname/Microsoft.VisualStudio.Services.VSIXPackage"
+echo "extUrl='$extUrl'"
+storePathWithSha=$(nix-prefetch-url --name "$extZipStoreName" --print-path "$extUrl" 2> /dev/null)
+
+cpptoolsZipStorePath="$(echo "$storePathWithSha" | tail -n1)"
+cpptoolsZipSha256="$(echo "$storePathWithSha" | head -n1)"
+echo "cpptoolsZipStorePath='$cpptoolsZipStorePath'"
+echo "cpptoolsZipSha256='$cpptoolsZipSha256'"
+
+
+extStoreName="${extPublisher}-${extName}"
+
+
+function rm_tmpdir() {
+  #echo "Removing \`tmpDir='$tmpDir'\`"
+  rm -rf -- "$tmpDir"
+  unset tmpDir
+  trap - INT TERM HUP EXIT
+}
+function make_trapped_tmpdir() {
+  tmpDir=$(mktemp -d)
+  trap rm_tmpdir INT TERM HUP EXIT
+}
+
+echo
+echo "------------- Unpacked extension ---------------"
+
+make_trapped_tmpdir
+unzip -q -d "$tmpDir" "$cpptoolsZipStorePath"
+
+cpptoolsStorePath="$(nix add-to-store -n "$extStoreName" "$tmpDir")"
+cpptoolsSha256="$(nix hash-path --base32 --type sha512 "$cpptoolsStorePath")"
+echo "cpptoolsStorePath='$cpptoolsStorePath'"
+echo "cpptoolsSha256='$cpptoolsSha256'"
+
+rm_tmpdir
+
+storePathWithSha=$(nix-prefetch-url --print-path "file://${cpptoolsStorePath}/extension/package.json" 2> /dev/null)
+
+extPackageJSONStorePath="$(echo "$storePathWithSha" | tail -n1)"
+extPackageJSONSha256="$(echo "$storePathWithSha" | head -n1)"
+echo "extPackageJSONStorePath='$extPackageJSONStorePath'"
+echo "extPackageJSONSha256='$extPackageJSONSha256'"
+
+print_runtime_dep() {
+
+  local outName="$1"
+  local extPackageJSONStorePath="$2"
+  local depDesc="$3"
+
+  local urlRaw=$(cat "$extPackageJSONStorePath" | jq -r --arg desc "$depDesc" '.runtimeDependencies[] | select(.description == $desc) | .url')
+  local url=$(echo $urlRaw | xargs curl -Ls -o /dev/null -w %{url_effective})
+
+  local urlRawVarStr="${outName}_urlRaw='$urlRaw'"
+  local urlVarStr="${outName}_url='$url'"
+  echo "$urlRawVarStr"
+  echo "$urlVarStr"
+
+  local storePathWithSha="$(nix-prefetch-url --unpack --print-path "$url" 2> /dev/null)"
+
+  local storePath="$(echo "$storePathWithSha" | tail -n1)"
+  local sha256="$(echo "$storePathWithSha" | head -n1)"
+
+  local sha256VarStr="${outName}_sha256='$sha256'"
+  local storePathVarStr="${outName}_storePath='$storePath'"
+  echo "$sha256VarStr"
+  echo "$storePathVarStr"
+
+  eval "$urlRawVarStr"
+  eval "$urlVarStr"
+  eval "$sha256VarStr"
+  eval "$storePathVarStr"
+}
+
+echo
+echo "------------- Runtime dependencies ---------------"
+
+print_runtime_dep "langComponentBinaries" "$extPackageJSONStorePath" "C/C++ language components (Linux / x86_64)"
+print_runtime_dep "monoRuntimeBinaries" "$extPackageJSONStorePath" "Mono Runtime (Linux / x86_64)"
+print_runtime_dep "clanFormatBinaries" "$extPackageJSONStorePath" "ClangFormat (Linux / x86_64)"
+
+
+echo
+echo "------------- Runtime deps missing elf deps ---------------"
+
+source "$scriptDir/missing_elf_deps.sh"
+
+echo
+echo "------------- Runtime dep mono ---------------"
+
+make_trapped_tmpdir
+find "$monoRuntimeBinaries_storePath" -mindepth 1 -maxdepth 1 | xargs -d '\n' cp -rp -t "$tmpDir"
+chmod -R a+rwx "$tmpDir"
+
+ls -la "$tmpDir/debugAdapters"
+
+patchelf_mono "$tmpDir/debugAdapters/mono.linux-x86_64"
+
+chmod a+x "$tmpDir/debugAdapters/mono.linux-x86_64"
+ldd "$tmpDir/debugAdapters/mono.linux-x86_64"
+"$tmpDir/debugAdapters/mono.linux-x86_64" --version
+
+monoRuntimeBinariesPatched_storePath="$(nix add-to-store -n "monoRuntimeBinariesPatched" "$tmpDir")"
+echo "monoRuntimeBinariesPatched_storePath='$monoRuntimeBinariesPatched_storePath'"
+
+rm_tmpdir
+
+
+echo
+echo "------------- Runtime dep clang ---------------"
+make_trapped_tmpdir
+find "$clanFormatBinaries_storePath" -mindepth 1 -maxdepth 1 | xargs -d '\n' cp -rp -t "$tmpDir"
+chmod -R a+rwx "$tmpDir"
+
+ls -la "$tmpDir/bin"
+
+patchelf_clangformat "$tmpDir/bin/clang-format"
+
+chmod a+x "$tmpDir/bin/clang-format"
+ldd "$tmpDir/bin/clang-format"
+"$tmpDir/bin/clang-format" --version
+
+
+clanFormatBinariesPatched_storePath="$(nix add-to-store -n "clanFormatBinariesPatched" "$tmpDir")"
+echo "clanFormatBinariesPatched_storePath='$clanFormatBinariesPatched_storePath'"
+
+rm_tmpdir
+
+echo
+echo "------------- Nix mono ---------------"
+print_nix_version_clangtools
+
+echo
+echo "------------- Nix mono ---------------"
+print_nix_version_mono
+
diff --git a/pkgs/misc/vscode-extensions/cpptools/vscode-cpptools-0-12-3-package-json.patch b/pkgs/misc/vscode-extensions/cpptools/vscode-cpptools-0-12-3-package-json.patch
deleted file mode 100644
index 1873963f460..00000000000
--- a/pkgs/misc/vscode-extensions/cpptools/vscode-cpptools-0-12-3-package-json.patch
+++ /dev/null
@@ -1,82 +0,0 @@
-diff --git a/package.json b/package.json
-index 518e839..1c17c35 100644
---- a/package.json
-+++ b/package.json
-@@ -37,7 +37,26 @@
-     "Linters"
-   ],
-   "activationEvents": [
--    "*"
-+    "onLanguage:cpp",
-+    "onLanguage:c",
-+    "onCommand:extension.pickNativeProcess",
-+    "onCommand:extension.pickRemoteNativeProcess",
-+    "onCommand:extension.provideInitialConfigurations_cppvsdbg",
-+    "onCommand:extension.provideInitialConfigurations_cppdbg",
-+    "onCommand:C_Cpp.ConfigurationEdit",
-+    "onCommand:C_Cpp.ConfigurationSelect",
-+    "onCommand:C_Cpp.SwitchHeaderSource",
-+    "onCommand:C_Cpp.UnloadLanguageServer",
-+    "onCommand:C_Cpp.Navigate",
-+    "onCommand:C_Cpp.GoToDeclaration",
-+    "onCommand:C_Cpp.PeekDeclaration",
-+    "onCommand:C_Cpp.ToggleErrorSquiggles",
-+    "onCommand:C_Cpp.ToggleIncludeFallback",
-+    "onCommand:C_Cpp.ShowReleaseNotes",
-+    "onCommand:C_Cpp.ResetDatabase",
-+    "workspaceContains:.vscode/c_cpp_properties.json",
-+    "onDebug:cppdbg",
-+    "onDebug:cppvsdbg"
-   ],
-   "main": "./out/src/main",
-   "contributes": {
-@@ -281,8 +300,7 @@
-             "cpp"
-           ]
-         },
--        "runtime": "node",
--        "program": "./out/src/Debugger/Proxy/debugProxy.js",
-+        "program": "./debugAdapters/OpenDebugAD7",
-         "aiKey": "AIF-d9b70cd4-b9f9-4d70-929b-a071c400b217",
-         "variables": {
-           "pickProcess": "extension.pickNativeProcess",
-@@ -722,7 +740,29 @@
-               }
-             }
-           }
--        }
-+        },
-+        "configurationSnippets": [
-+          {
-+            "label": "C/C++: (gdb) Launch",
-+            "description": "Launch with gdb.",
-+            "bodyText": "{\n\t\"name\": \"(gdb) Launch\",\n\t\"type\": \"cppdbg\",\n\t\"request\": \"launch\",\n\t\"program\": \"enter program name, for example \\${workspaceRoot}/a.out\",\n\t\"args\": [],\n\t\"stopAtEntry\": false,\n\t\"cwd\": \"\\${workspaceRoot}\",\n\t\"environment\": [],\n\t\"externalConsole\": true,\n\t\"MIMode\": \"gdb\",\n\t\"setupCommands\": [\n\t    {\n\t        \"description\": \"Enable pretty-printing for gdb\",\n\t        \"text\": \"-enable-pretty-printing\",\n\t        \"ignoreFailures\": true\n\t    }\n\t]\n}"
-+          },
-+          {
-+            "label": "C/C++: (gdb) Attach",
-+            "description": "Attach with gdb.",
-+            "bodyText": "{ \n\t\"name\": \"(gdb) Attach\",\n\t\"type\": \"cppdbg\",\n\t\"request\": \"attach\",\n\t\"program\": \"enter program name, for example \\${workspaceRoot}/a.out\",\n\t\"processId\": \"\\${command:pickProcess}\",\n\t\"MIMode\": \"gdb\"\n}"
-+          },
-+          {
-+            "label": "C/C++: (gdb) Pipe Launch",
-+            "description": "Pipe Launch with gdb.",
-+            "bodyText": "{\n\t\"name\": \"(gdb) Pipe Launch\",\n\t\"type\": \"cppdbg\",\n\t\"request\": \"launch\",\n\t\"program\": \"enter program name, for example \\${workspaceRoot}/a.out\",\n\t\"args\": [],\n\t\"stopAtEntry\": false,\n\t\"cwd\": \"\\${workspaceRoot}\",\n\t\"environment\": [],\n\t\"externalConsole\": true,\n\t\"pipeTransport\": {\n\t\t\"debuggerPath\": \"/usr/bin/gdb\",\n\t\t\"pipeProgram\": \"/usr/bin/ssh\",\n\t\t\"pipeArgs\": [],\n\t\t\"pipeCwd\": \"\"\n\t},\n\t\"MIMode\": \"gdb\",\n\t\"setupCommands\": [\n\t    {\n\t        \"description\": \"Enable pretty-printing for gdb\",\n\t        \"text\": \"-enable-pretty-printing\",\n\t        \"ignoreFailures\": true\n\t    }\n\t]\n}"
-+          },
-+          {
-+            "label": "C/C++: (gdb) Pipe Attach",
-+            "description": "Pipe Attach with gdb.",
-+            "bodyText": "{\n\t\"name\": \"(gdb) Pipe Attach\",\n\t\"type\": \"cppdbg\",\n\t\"request\": \"attach\",\n\t\"program\": \"enter program name, for example \\${workspaceRoot}/a.out\",\n\t\"processId\": \"\\${command:pickRemoteProcess}\",\n\t\"pipeTransport\": {\n\t\t\"debuggerPath\": \"/usr/bin/gdb\",\n\t\t\"pipeProgram\": \"/usr/bin/ssh\",\n\t\t\"pipeArgs\": [],\n\t\t\"pipeCwd\": \"\"\n\t},\n\t\"MIMode\": \"gdb\"\n}"
-+          }
-+        ]
-       },
-       {
-         "type": "cppvsdbg",
-@@ -741,7 +781,7 @@
-         "variables": {
-           "pickProcess": "extension.pickNativeProcess"
-         },
--        "initialConfigurations": "extension.provideInitialConfigurations_cppvsdbg",
-+        "initialConfigurations": "",
-         "configurationAttributes": {
-           "launch": {
-             "required": [
diff --git a/pkgs/misc/vscode-extensions/python/default.nix b/pkgs/misc/vscode-extensions/python/default.nix
index 4e28de871b8..430ce192ed0 100644
--- a/pkgs/misc/vscode-extensions/python/default.nix
+++ b/pkgs/misc/vscode-extensions/python/default.nix
@@ -36,6 +36,6 @@ vscode-utils.buildVscodeMarketplaceExtension {
 
     meta = with lib; {
       license = licenses.mit;
-      maintainer = [ maintainers.jraygauthier ];
+      maintainers = [ maintainers.jraygauthier ];
     };
-}
\ No newline at end of file
+}
diff --git a/pkgs/misc/vscode-extensions/vscode-utils.nix b/pkgs/misc/vscode-extensions/vscode-utils.nix
index 83cb559dca1..4c095278f91 100644
--- a/pkgs/misc/vscode-extensions/vscode-utils.nix
+++ b/pkgs/misc/vscode-extensions/vscode-utils.nix
@@ -37,7 +37,7 @@ let
 
     installPhase = ''
       mkdir -p "$out/share/${extendedPkgName}/extensions/${vscodeExtUniqueId}"
-      find . -mindepth 1 -maxdepth 1 | xargs mv -t "$out/share/${extendedPkgName}/extensions/${vscodeExtUniqueId}/"
+      find . -mindepth 1 -maxdepth 1 | xargs -d'\n' mv -t "$out/share/${extendedPkgName}/extensions/${vscodeExtUniqueId}/"
     '';
 
   });
diff --git a/pkgs/os-specific/bsd/default.nix b/pkgs/os-specific/bsd/default.nix
new file mode 100644
index 00000000000..a75c132b55a
--- /dev/null
+++ b/pkgs/os-specific/bsd/default.nix
@@ -0,0 +1,5 @@
+{ callPackages, recurseIntoAttrs }:
+
+rec {
+  netbsd = recurseIntoAttrs (callPackages ./netbsd {});
+}
diff --git a/pkgs/os-specific/bsd/netbsd/compat-setup-hook.sh b/pkgs/os-specific/bsd/netbsd/compat-setup-hook.sh
new file mode 100644
index 00000000000..81df09eba17
--- /dev/null
+++ b/pkgs/os-specific/bsd/netbsd/compat-setup-hook.sh
@@ -0,0 +1,6 @@
+# See pkgs/build-support/setup-hooks/role.bash
+getHostRole
+
+export NIX_${role_pre}LDFLAGS+=" -lnbcompat"
+export NIX_${role_pre}CFLAGS_COMPILE+=" -DHAVE_NBTOOL_CONFIG_H"
+export NIX_${role_pre}CFLAGS_COMPILE+=" -include nbtool_config.h"
diff --git a/pkgs/os-specific/bsd/netbsd/default.nix b/pkgs/os-specific/bsd/netbsd/default.nix
new file mode 100644
index 00000000000..84d6926c50c
--- /dev/null
+++ b/pkgs/os-specific/bsd/netbsd/default.nix
@@ -0,0 +1,595 @@
+{ stdenv, hostPlatform, fetchcvs, lib, groff, mandoc, zlib, coreutils
+, yacc, flex, libressl, bash, less, writeText }:
+
+let
+  fetchNetBSD = path: version: sha256: fetchcvs {
+    cvsRoot = ":pserver:anoncvs@anoncvs.NetBSD.org:/cvsroot";
+    module = "src/${path}";
+    inherit sha256;
+    tag = "netbsd-${builtins.replaceStrings ["."] ["-"] version}-RELEASE";
+  };
+
+  netBSDDerivation = attrs: stdenv.mkDerivation ((rec {
+    name = "bsd-${attrs.pname or (baseNameOf attrs.path)}-netbsd-${attrs.version}";
+    src = attrs.src or fetchNetBSD attrs.path attrs.version attrs.sha256;
+
+    extraPaths = [ ];
+    setOutputFlags = false;
+
+    nativeBuildInputs = [ makeMinimal mandoc groff install stat
+                          yacc flex tsort lorder ];
+    buildInputs = [ compat ];
+    installFlags = [ "includes" ];
+
+    # Definitions passed to share/mk/*.mk. Should be pretty simple -
+    # eventually maybe move it to a configure script.
+    DESTDIR = "$(out)";
+    TOOLDIR = "$(out)";
+    USETOOLS = "never";
+    NOCLANGERROR = "yes";
+    NOGCCERROR = "yes";
+    LEX = "flex";
+    MKUNPRIVED = "yes";
+    HOST_SH = "${bash}/bin/sh";
+    OBJCOPY = if stdenv.isDarwin then "true" else "objcopy";
+    MACHINE_ARCH = hostPlatform.parsed.cpu.name;
+    MACHINE_CPU = hostPlatform.parsed.cpu.name;
+
+    INSTALL_FILE = "install -U -c";
+    INSTALL_DIR = "xinstall -U -d";
+    INSTALL_LINK = "install -U -l h";
+    INSTALL_SYMLINK = "install -U -l s";
+
+    # libs will be provided by cc-wrapper
+    LIBCRT0 = "";
+    LIBCRTI = "";
+    LIBCRTEND = "";
+    LIBCRTBEGIN = "";
+    LIBC = "";
+    LIBUTIL = "";
+    LIBSSL = "";
+    LIBCRYPTO = "";
+    LIBCRYPT = "";
+    LIBCURSES = "";
+    LIBTERMINFO = "";
+    LIBM = "";
+    LIBL = "";
+    _GCC_CRTBEGIN = "";
+    _GCC_CRTBEGINS = "";
+    _GCC_CRTEND = "";
+    _GCC_CRTENDS = "";
+    _GCC_LIBGCCDIR = "";
+    _GCC_CRTI = "";
+    _GCC_CRTDIR = "";
+    _GCC_CRTN = "";
+
+    "LIBDO.terminfo" = "_external";
+    "LIBDO.curses" = "_external";
+
+    # all dirs will be prefixed with DESTDIR
+    BINDIR = "/bin";
+    LIBDIR = "/lib";
+    SHLIBDIR = "/lib";
+    INCSDIR = "/include";
+    MANDIR = "/share/man";
+    INFODIR = "/share/info";
+    DOCDIR = "/share/doc";
+    LOCALEDIR = "/share/locale";
+    X11BINDIR = "/bin";
+    X11USRLIBDIR = "/lib";
+    X11MANDIR = "/share/man";
+
+    # NetBSD makefiles should be able to detect this
+    # but without they end up using gcc on Darwin stdenv
+    preConfigure = ''
+      export HAVE_${if stdenv.cc.isGNU then "GCC" else "LLVM"}=${lib.head (lib.splitString "." (lib.getVersion stdenv.cc.cc))}
+
+      # Parallel building. Needs the space.
+      export makeFlags+=" -j $NIX_BUILD_CORES"
+    '';
+
+    postUnpack = ''
+      # merge together all extra paths
+      # there should be a better way to do this
+      sourceRoot=$PWD/$sourceRoot
+      export NETBSDSRCDIR=$sourceRoot
+      export BSDSRCDIR=$NETBSDSRCDIR
+      export _SRC_TOP_=$NETBSDSRCDIR
+      chmod -R u+w $sourceRoot
+      for path in $extraPaths; do
+        cd $path
+        find . -type d -exec mkdir -p $sourceRoot/\{} \;
+        find . -type f -exec cp -pr \{} $sourceRoot/\{} \;
+        chmod -R u+w $sourceRoot
+      done
+
+      cd $sourceRoot
+      if [ -d ${attrs.path} ]
+        then sourceRoot=$sourceRoot/${attrs.path}
+      fi
+    '';
+
+    preFixup = ''
+      # Remove lingering /usr references
+      if [ -d $out/usr ]; then
+        cd $out/usr
+        find . -type d -exec mkdir -p $out/\{} \;
+        find . -type f -exec mv \{} $out/\{} \;
+      fi
+
+      find $out -type d -empty -delete
+    '';
+
+    meta = with lib; {
+      maintainers = with maintainers; [matthewbauer];
+      platforms = platforms.unix;
+      license = licenses.bsd2;
+    };
+  }) // attrs);
+
+  ##
+  ## BOOTSTRAPPING
+  ##
+  makeMinimal = netBSDDerivation rec {
+    path = "tools/make";
+    sha256 = "0l4794zwj2haark3azf9xwcwqlkbrifhb2glaa9iba4dkg2mklsb";
+    version = "7.1.2";
+
+    buildInputs = [];
+    nativeBuildInputs = [];
+
+    postPatch = ''
+      patchShebangs configure
+      ${make.postPatch}
+    '';
+    buildPhase = ''
+      runHook preBuild
+
+      sh ./buildmake.sh
+
+      runHook postBuild
+    '';
+    installPhase = ''
+      runHook preInstall
+
+      install -D nbmake $out/bin/nbmake
+      ln -s $out/bin/nbmake $out/bin/make
+      mkdir -p $out/share
+      cp -r $NETBSDSRCDIR/share/mk $out/share/mk
+
+      runHook postInstall
+    '';
+    extraPaths = [ make.src ] ++ make.extraPaths;
+  };
+
+  compat = netBSDDerivation {
+    path = "tools/compat";
+    sha256 = "17phkfafybxwhzng44k5bhmag6i55br53ky1nwcmw583kg2fa86z";
+    version = "7.1.2";
+
+    setupHooks = [
+      ../../../build-support/setup-hooks/role.bash
+      ./compat-setup-hook.sh
+    ];
+
+    # override defaults to prevent infinite recursion
+    nativeBuildInputs = [ makeMinimal ];
+    buildInputs = [ zlib ];
+
+    # temporarily use gnuinstall for bootstrapping
+    # bsdinstall will be built later
+    makeFlags = [ "INSTALL=${coreutils}/bin/install" ];
+    installFlags = [];
+    RENAME = "-D";
+
+    postInstall = ''
+      mv $out/include/compat/* $out/include
+      rmdir $out/include/compat
+
+      # why aren't these installed by netbsd?
+      install -D compat_defs.h $out/include/compat_defs.h
+      install -D $NETBSDSRCDIR/include/cdbw.h $out/include/cdbw.h
+      install -D $NETBSDSRCDIR/sys/sys/cdbr.h $out/include/cdbr.h
+      install -D $NETBSDSRCDIR/sys/sys/featuretest.h \
+                 $out/include/sys/featuretest.h
+      install -D $NETBSDSRCDIR/sys/sys/md5.h $out/include/md5.h
+      install -D $NETBSDSRCDIR/sys/sys/rmd160.h $out/include/rmd160.h
+      install -D $NETBSDSRCDIR/sys/sys/sha1.h $out/include/sha1.h
+      install -D $NETBSDSRCDIR/sys/sys/sha2.h $out/include/sha2.h
+      install -D $NETBSDSRCDIR/sys/sys/queue.h $out/include/sys/queue.h
+      install -D $NETBSDSRCDIR/include/vis.h $out/include/vis.h
+      install -D $NETBSDSRCDIR/include/db.h $out/include/db.h
+      install -D $NETBSDSRCDIR/include/netconfig.h $out/include/netconfig.h
+      install -D $NETBSDSRCDIR/include/rpc/types.h $out/include/rpc/types.h
+      install -D $NETBSDSRCDIR/include/utmpx.h $out/include/utmpx.h
+      install -D $NETBSDSRCDIR/include/tzfile.h $out/include/tzfile.h
+
+      # Remove lingering /usr references
+      if [ -d $out/usr ]; then
+        cd $out/usr
+        find . -type d -exec mkdir -p $out/\{} \;
+        find . -type f -exec mv \{} $out/\{} \;
+      fi
+
+      find $out -type d -empty -delete
+    '';
+    extraPaths = [ libc.src libutil.src
+      (fetchNetBSD "include" "7.1.2" "1vc58xrhrp202biiv1chhlh0jwnjr7k3qq91pm46k6v5j95j0qwp")
+      (fetchNetBSD "external/bsd/flex" "7.1.2" "0m0m72r3zzc9gi432h3xkqdzspr4n0hj4m8h7j74pwbvpfg9d9qq")
+      (fetchNetBSD "sys/sys" "7.1.2" "1vwnv5nk7rlgn5w9nkdqj9652hmwmfwqxj3ymcz0zk10abbaib93")
+    ] ++ libutil.extraPaths ++ libc.extraPaths;
+  };
+
+  # HACK to ensure parent directories exist. This emulates GNU
+  # install’s -D option. No alternative seems to exist in BSD install.
+  install = let binstall = writeText "binstall" ''
+    #!/usr/bin/env sh
+    for last in $@; do true; done
+    mkdir -p $(dirname $last)
+    xinstall "$@"
+  ''; in netBSDDerivation {
+    path = "usr.bin/xinstall";
+    version = "7.1.2";
+    sha256 = "0nzhyh714m19h61m45gzc5dszkbafp5iaphbp5mza6w020fzf2y8";
+    extraPaths = [ mtree.src make.src ];
+    nativeBuildInputs = [ makeMinimal mandoc groff ];
+    buildInputs = [ compat fts ];
+    installPhase = ''
+      runHook preInstall
+
+      install -D install.1 $out/share/man/man1/install.1
+      install -D xinstall $out/bin/xinstall
+      install -D -m 0550 ${binstall} $out/bin/binstall
+      ln -s $out/bin/binstall $out/bin/install
+
+      runHook postInstall
+    '';
+  };
+
+  fts = netBSDDerivation {
+    pname = "fts";
+    path = "include/fts.h";
+    sha256 = "01d4fpxvz1pgzfk5xznz5dcm0x0gdzwcsfm1h3d0xc9kc6hj2q77";
+    version = "7.1.2";
+    nativeBuildInputs = [ ];
+    propagatedBuildInputs = [ compat ];
+    extraPaths = [
+      (fetchNetBSD "lib/libc/gen/fts.c" "7.1.2" "1yfd2liypj6xky2h0mgxi5lgpflmkkg4zf3ii3apz5cf8jq9gmn9")
+      (fetchNetBSD "lib/libc/include/namespace.h" "7.1.2" "0kwd4v8y0mfjhmwplsk52pvzbcpvpp2qy2g8c0jmfraam63q6q1y")
+      (fetchNetBSD "lib/libc/gen/fts.3" "7.1.2" "1asxw0n3fhjdadwkkq3xplfgqgl3q32w1lyrvbakfa3gs0wz5zc1")
+    ];
+    buildPhase = ''
+      cc  -c -Iinclude -Ilib/libc/include lib/libc/gen/fts.c \
+          -o lib/libc/gen/fts.o
+      ar -rsc libfts.a lib/libc/gen/fts.o
+    '';
+    installPhase = ''
+      runHook preInstall
+
+      install -D lib/libc/gen/fts.3 $out/share/man/man3/fts.3
+      install -D include/fts.h $out/include/fts.h
+      install -D lib/libc/include/namespace.h $out/include/namespace.h
+      install -D libfts.a $out/lib/libfts.a
+
+      runHook postInstall
+    '';
+    setupHooks = [
+      ../../../build-support/setup-hooks/role.bash
+      ./fts-setup-hook.sh
+    ];
+  };
+
+  stat = netBSDDerivation {
+    path = "usr.bin/stat";
+    version = "7.1.2";
+    sha256 = "0z4r96id2r4cfy443rw2s1n52n186xm0lqvs8s3qjf4314z7r7yh";
+    nativeBuildInputs = [ makeMinimal mandoc groff install ];
+  };
+
+  tsort = netBSDDerivation {
+    path = "usr.bin/tsort";
+    version = "7.1.2";
+    sha256 = "1dqvf9gin29nnq3c4byxc7lfd062pg7m84843zdy6n0z63hnnwiq";
+    nativeBuildInputs = [ makeMinimal mandoc groff install ];
+  };
+
+  lorder = netBSDDerivation {
+    path = "usr.bin/lorder";
+    version = "7.1.2";
+    sha256 = "0rjf9blihhm0n699vr2bg88m4yjhkbxh6fxliaay3wxkgnydjwn2";
+    nativeBuildInputs = [ makeMinimal mandoc groff install ];
+  };
+  ##
+  ## END BOOTSTRAPPING
+  ##
+
+  libutil = netBSDDerivation {
+    path = "lib/libutil";
+    version = "7.1.2";
+    sha256 = "12848ynizz13mvn2kndrkq482xhkw323b7c8fg0zli1nhfsmwsm8";
+    extraPaths = [
+      (fetchNetBSD "common/lib/libutil" "7.1.2" "0q3ixrf36lip1dx0gafs0a03qfs5cs7n0myqq7af4jpjd6kh1831")
+    ];
+  };
+
+  libc = netBSDDerivation {
+    path = "lib/libc";
+    version = "7.1.2";
+    sha256 = "13rcx3mbx2644z01zgk9gggdfr0hqdbsvd7zrsm2l13yf9aix6pg";
+    extraPaths = [
+      (fetchNetBSD "common/lib/libc" "7.1.2" "1va8zd4lqyrc1d0c9q04r8y88cfxpkhwcxasggxxvhksd3khkpha")
+    ];
+  };
+
+  make = netBSDDerivation {
+    path = "usr.bin/make";
+    sha256 = "0srkkg6qdzqlccfi4xh19gl766ks6hpss76bnfvwmd0zg4q4zdar";
+    version = "7.1.2";
+    postPatch = ''
+      # make needs this to pick up our sys make files
+      export NIX_CFLAGS_COMPILE+=" -D_PATH_DEFSYSPATH=\"$out/share/mk\""
+
+      substituteInPlace $NETBSDSRCDIR/share/mk/bsd.prog.mk \
+        --replace '-Wl,-dynamic-linker=''${_SHLINKER}' "" \
+        --replace '-Wl,-rpath,''${SHLIBDIR}' ""
+      substituteInPlace $NETBSDSRCDIR/share/mk/bsd.lib.mk \
+        --replace '_INSTRANLIB=''${empty(PRESERVE):?-a "''${RANLIB} -t":}' '_INSTRANLIB='
+    '' + lib.optionalString stdenv.isDarwin ''
+      substituteInPlace $NETBSDSRCDIR/share/mk/bsd.sys.mk \
+        --replace '-Wl,--fatal-warnings' "" \
+        --replace '-Wl,--warn-shared-textrel' ""
+      substituteInPlace $NETBSDSRCDIR/share/mk/bsd.lib.mk \
+        --replace '-Wl,-soname,''${_LIB}.so.''${SHLIB_SOVERSION}' "" \
+        --replace '-Wl,--whole-archive' "" \
+        --replace '-Wl,--no-whole-archive' "" \
+        --replace '-Wl,--warn-shared-textrel' "" \
+        --replace '-Wl,-Map=''${_LIB}.so.''${SHLIB_SOVERSION}.map' "" \
+        --replace '-Wl,-rpath,''${SHLIBDIR}' ""
+    '';
+    postInstall = ''
+      (cd $NETBSDSRCDIR/share/mk && make FILESDIR=/share/mk install)
+    '';
+    extraPaths = [
+      (fetchNetBSD "share/mk" "7.1.2" "0570v0siv0wygn8ygs1yy9pgk9xjw9x1axr5qg4xrddv3lskf9xa")
+    ];
+  };
+
+  mtree = netBSDDerivation {
+    path = "usr.sbin/mtree";
+    version = "7.1.2";
+    sha256 = "1dhsyfvcm67kf5zdbg5dmx5y8fimnbll6qxwp3gjfmbxqigmc52m";
+  };
+
+  who = netBSDDerivation {
+    path = "usr.bin/who";
+    version = "7.1.2";
+    sha256 = "17ffwww957m3qw0b6fkgjpp12pd5ydg2hs9dxkkw0qpv11j00d88";
+    postPatch = lib.optionalString stdenv.isLinux ''
+      substituteInPlace $NETBSDSRCDIR/usr.bin/who/utmpentry.c \
+        --replace "utmptime = st.st_mtimespec" "utmptime = st.st_mtim" \
+        --replace "timespeccmp(&st.st_mtimespec, &utmptime, >)" "st.st_mtim.tv_sec == utmptime.tv_sec ? st.st_mtim.tv_nsec > utmptime.tv_nsec : st.st_mtim.tv_sec > utmptime.tv_sec"
+   '' + lib.optionalString stdenv.isDarwin ''
+      substituteInPlace $NETBSDSRCDIR/usr.bin/who/utmpentry.c \
+        --replace "timespeccmp(&st.st_mtimespec, &utmpxtime, >)" "st.st_mtimespec.tv_sec == utmpxtime.tv_sec ? st.st_mtimespec.tv_nsec > utmpxtime.tv_nsec : st.st_mtimespec.tv_sec > utmpxtime.tv_sec"
+   '' + ''
+      substituteInPlace $NETBSDSRCDIR/usr.bin/who/utmpentry.c \
+        --replace "strncpy(e->name, up->ut_name, sizeof(up->ut_name))" "strncpy(e->name, up->ut_user, sizeof(up->ut_user))" \
+        --replace "timespecclear(&utmptime)" "utmptime.tv_sec = utmptime.tv_nsec = 0" \
+        --replace "timespecclear(&utmpxtime)" "utmpxtime.tv_sec = utmpxtime.tv_nsec = 0"
+    '';
+  };
+
+in rec {
+  inherit compat install netBSDDerivation fts;
+
+  getent = netBSDDerivation {
+    path = "usr.bin/getent";
+    sha256 = "1ylhw4dnpyrmcy8n5kjcxywm8qc9p124dqnm17x4magiqx1kh9iz";
+    version = "7.1.2";
+    patches = [ ./getent.patch ];
+  };
+
+  getconf = netBSDDerivation {
+    path = "usr.bin/getconf";
+    sha256 = "122vslz4j3h2mfs921nr2s6m078zcj697yrb75rwp2hnw3qz4s8q";
+    version = "7.1.2";
+  };
+
+  dict = netBSDDerivation {
+    path = "share/dict";
+    version = "7.1.2";
+    sha256 = "0nickhsjwgnr2h9nvwflvgfz93kqms5hzdnpyq02crpj35w98bh4";
+    makeFlags = [ "BINDIR=/share" ];
+  };
+
+  games = netBSDDerivation {
+    path = "games";
+    sha256 = "04wjsang8f8kxsifiayklbxaaxmm3vx9rfr91hfbxj4hk8gkqzy1";
+    version = "7.1.2";
+    makeFlags = [ "BINDIR=/bin"
+                  "SCRIPTSDIR=/bin" ];
+    postPatch = ''
+      sed -i '1i #include <time.h>' adventure/save.c
+
+      for f in $(find . -name pathnames.h); do
+        substituteInPlace $f \
+          --replace /usr/share/games $out/share/games \
+          --replace /usr/games $out/bin \
+          --replace /usr/libexec $out/libexec \
+          --replace /usr/bin/more ${less}/bin/less \
+          --replace /usr/share/dict ${dict}/share/dict
+      done
+      substituteInPlace boggle/boggle/bog.h \
+        --replace /usr/share/games $out/share/games
+      substituteInPlace ching/ching/ching.sh \
+        --replace /usr/share $out/share \
+        --replace /usr/libexec $out/libexec
+      substituteInPlace hunt/huntd/driver.c \
+        --replace "(void) setpgrp(getpid(), getpid());" ""
+
+      # Disable some games that don't build. They should be possible
+      # to build but need to look at how to implement stuff in
+      # Linux. macOS is missing gettime. TODO try to get these
+      # working.
+      disableGame() {
+        substituteInPlace Makefile --replace $1 ""
+      }
+
+      disableGame atc
+      disableGame dm
+      disableGame dab
+      disableGame sail
+      disableGame trek
+      ${lib.optionalString stdenv.isLinux "disableGame boggle"}
+      ${lib.optionalString stdenv.isLinux "disableGame hunt"}
+      ${lib.optionalString stdenv.isLinux "disableGame larn"}
+      ${lib.optionalString stdenv.isLinux "disableGame phantasia"}
+      ${lib.optionalString stdenv.isLinux "disableGame rogue"}
+      ${lib.optionalString stdenv.isDarwin "disableGame adventure"}
+      ${lib.optionalString stdenv.isDarwin "disableGame factor"}
+      ${lib.optionalString stdenv.isDarwin "disableGame gomoku"}
+      ${lib.optionalString stdenv.isDarwin "disableGame mille"}
+    '';
+
+    # HACK strfile needs to be installed first & in the path. The
+    # Makefile should do this for us but haven't gotten it to work
+    preBuild = ''
+      (cd fortune/strfile && make && make BINDIR=/bin install)
+      export PATH=$out/bin:$PATH
+    '';
+
+    postInstall = ''
+      substituteInPlace $out/usr/share/games/quiz.db/index \
+        --replace /usr $out
+    '';
+
+    NIX_CFLAGS_COMPILE = [
+      "-D__noinline="
+      "-D__scanflike(a,b)="
+      "-D__va_list=va_list"
+      "-DOXTABS=XTABS"
+      "-DRANDOM_MAX=RAND_MAX"
+      "-DINFTIM=-1"
+      (lib.optionalString hostPlatform.isMusl "-include sys/ttydefaults.h -include sys/file.h")
+      "-DBE32TOH(x)=((void)0)"
+      "-DBE64TOH(x)=((void)0)"
+      "-D__c99inline=__inline"
+    ];
+
+    buildInputs = [ compat libcurses libterminfo libressl ];
+    extraPaths = [ dict.src who.src ];
+  };
+
+  finger = netBSDDerivation {
+    path = "usr.bin/finger";
+    sha256 = "0jl672z50f2yf7ikp682b3xrarm6bnrrx9vi94xnp2fav8m8zfyi";
+    version = "7.1.2";
+    NIX_CFLAGS_COMPILE = [
+      (if stdenv.isLinux then "-DSUPPORT_UTMP" else "-USUPPORT_UTMP")
+      (if stdenv.isDarwin then "-DSUPPORT_UTMPX" else "-USUPPORT_UTMPX")
+    ];
+    postPatch = ''
+      NIX_CFLAGS_COMPILE+=" -I$NETBSDSRCDIR/include"
+
+      substituteInPlace extern.h \
+        --replace psort _psort
+
+      ${who.postPatch}
+    '';
+    extraPaths = [ who.src ]
+              ++ lib.optional stdenv.isDarwin (fetchNetBSD "include/utmp.h" "7.1.2" "05690fzz0825p2bq0sfyb00mxwd0wa06qryqgqkwpqk9y2xzc7px");
+  };
+
+  fingerd = netBSDDerivation {
+    path = "libexec/fingerd";
+    sha256 = "1hhdq70hrxxkjnjfmjm3w8w9g9xq2ngxaxk0chy4vm7chg9nfpmp";
+    version = "7.1.2";
+  };
+
+  libedit = netBSDDerivation {
+    path = "lib/libedit";
+    buildInputs = [ libterminfo libcurses ];
+    propagatedBuildInputs = [ compat ];
+    makeFlags = [ "INCSDIR=/include" ];
+    postPatch = ''
+      sed -i '1i #undef bool_t' el.h
+      substituteInPlace config.h \
+        --replace "#define HAVE_STRUCT_DIRENT_D_NAMLEN 1" ""
+    '';
+    NIX_CFLAGS_COMPILE = [
+      "-D__noinline="
+      "-D__scanflike(a,b)="
+      "-D__va_list=va_list"
+    ];
+    version = "7.1.2";
+    sha256 = "0qvr52j4qih10m7fa8nddn1psyjy9l0pa4ix02acyssjvgbz2kca";
+  };
+
+  libterminfo = netBSDDerivation {
+    path = "lib/libterminfo";
+    version = "7.1.2";
+    sha256 = "06plg0bjqgbb0aghpb9qlk8wkp1l2izdlr64vbr5laqyw8jg84zq";
+    buildInputs = [ compat tic nbperf ];
+    MKPIC = if stdenv.isDarwin then "no" else "yes";
+    makeFlags = [ "INCSDIR=/include" ];
+    postPatch = ''
+      substituteInPlace term.c --replace /usr/share $out/share
+    '';
+    postInstall = ''
+      (cd $NETBSDSRCDIR/share/terminfo && make && make BINDIR=/share install)
+    '';
+    extraPaths = [
+      (fetchNetBSD "share/terminfo" "7.1.2" "1z5vzq8cw24j05r6df4vd6r57cvdbv7vbm4h962kplp14xrbg2h3")
+    ];
+  };
+
+  libcurses = netBSDDerivation {
+    path = "lib/libcurses";
+    version = "7.1.2";
+    sha256 = "04djah9dadzw74nswn0xydkxn900kav8xdvxlxdl50nbrynxg9yf";
+    buildInputs = [ libterminfo ];
+    makeFlags = [ "INCSDIR=/include" ];
+    NIX_CFLAGS_COMPILE = [
+      "-D__scanflike(a,b)="
+      "-D__va_list=va_list"
+      "-D__warn_references(a,b)="
+    ] ++ lib.optional stdenv.isDarwin "-D__strong_alias(a,b)=";
+    propagatedBuildInputs = [ compat ];
+    MKDOC = "no"; # missing vfontedpr
+    MKPIC = if stdenv.isDarwin then "no" else "yes";
+    postPatch = lib.optionalString (!stdenv.isDarwin) ''
+      substituteInPlace printw.c \
+        --replace "funopen(win, NULL, __winwrite, NULL, NULL)" NULL \
+        --replace "__strong_alias(vwprintw, vw_printw)" 'extern int vwprintw(WINDOW*, const char*, va_list) __attribute__ ((alias ("vw_printw")));'
+      substituteInPlace scanw.c \
+        --replace "__strong_alias(vwscanw, vw_scanw)" 'extern int vwscanw(WINDOW*, const char*, va_list) __attribute__ ((alias ("vw_scanw")));'
+    '';
+  };
+
+  nbperf = netBSDDerivation {
+    path = "usr.bin/nbperf";
+    version = "7.1.2";
+    sha256 = "0gzm0zv2400lasnsswnjw9bwzyizhxzdbrcjwcl1k65aj86aqyqb";
+  };
+
+  tic = netBSDDerivation {
+    path = "tools/tic";
+    version = "7.1.2";
+    sha256 = "092y7db7k4kh2jq8qc55126r5qqvlb8lq8mhmy5ipbi36hwb4zrz";
+    HOSTPROG = "tic";
+    buildInputs = [ compat nbperf ];
+    extraPaths = [
+      libterminfo.src
+      (fetchNetBSD "usr.bin/tic" "7.1.2" "1ghwsaag4gbwvgp3lfxscnh8hn27n8cscwmgjwp3bkx5vl85nfsa")
+      (fetchNetBSD "tools/Makefile.host" "7.1.2" "076r3amivb6xranpvqjmg7x5ibj4cbxaa3z2w1fh47h7d55dw9w8")
+    ];
+  };
+
+  misc = netBSDDerivation {
+    path = "share/misc";
+    version = "7.1.2";
+    sha256 = "1vyn30js14nnadlls55mg7g1gz8h14l75rbrrh8lgn49qg289665";
+    makeFlags = [ "BINDIR=/share" ];
+  };
+
+}
diff --git a/pkgs/os-specific/bsd/netbsd/fts-setup-hook.sh b/pkgs/os-specific/bsd/netbsd/fts-setup-hook.sh
new file mode 100644
index 00000000000..5cf8c753aec
--- /dev/null
+++ b/pkgs/os-specific/bsd/netbsd/fts-setup-hook.sh
@@ -0,0 +1,4 @@
+# See pkgs/build-support/setup-hooks/role.bash
+getHostRole
+
+export NIX_${role_pre}LDFLAGS+=" -lfts"
diff --git a/pkgs/os-specific/bsd/netbsd/getent.patch b/pkgs/os-specific/bsd/netbsd/getent.patch
new file mode 100644
index 00000000000..e9e34d19a31
--- /dev/null
+++ b/pkgs/os-specific/bsd/netbsd/getent.patch
@@ -0,0 +1,455 @@
+Author: Matthew Bauer
+Description: Remove unavailable getent databases
+Version: 7.1.2
+--- a/getent.c	2018-04-16 13:33:49.000000000 -0500
++++ b/getent.c	2018-04-16 13:29:30.000000000 -0500
+@@ -42,7 +42,6 @@
+ #include <grp.h>
+ #include <limits.h>
+ #include <netdb.h>
+-#include <netgroup.h>
+ #include <pwd.h>
+ #include <stdio.h>
+ #include <stdarg.h>
+@@ -57,27 +56,16 @@
+ #include <arpa/nameser.h>
+ 
+ #include <net/if.h>
+-#include <net/if_ether.h>
+ 
+ #include <netinet/in.h>		/* for INET6_ADDRSTRLEN */
+ 
+-#include <rpc/rpcent.h>
+-
+-#include <disktab.h>
+-
+ static int	usage(void) __attribute__((__noreturn__));
+ static int	parsenum(const char *, unsigned long *);
+-static int	disktab(int, char *[]);
+-static int	gettytab(int, char *[]);
+-static int	ethers(int, char *[]);
+ static int	group(int, char *[]);
+ static int	hosts(int, char *[]);
+-static int	netgroup(int, char *[]);
+ static int	networks(int, char *[]);
+ static int	passwd(int, char *[]);
+-static int	printcap(int, char *[]);
+ static int	protocols(int, char *[]);
+-static int	rpc(int, char *[]);
+ static int	services(int, char *[]);
+ static int	shells(int, char *[]);
+ 
+@@ -92,17 +80,11 @@
+ 	const char	*name;
+ 	int		(*callback)(int, char *[]);
+ } databases[] = {
+-	{	"disktab",	disktab,	},
+-	{	"ethers",	ethers,		},
+-	{	"gettytab",	gettytab,	},
+ 	{	"group",	group,		},
+ 	{	"hosts",	hosts,		},
+-	{	"netgroup",	netgroup,	},
+ 	{	"networks",	networks,	},
+ 	{	"passwd",	passwd,		},
+-	{	"printcap",	printcap,	},
+ 	{	"protocols",	protocols,	},
+-	{	"rpc",		rpc,		},
+ 	{	"services",	services,	},
+ 	{	"shells",	shells,		},
+ 
+@@ -195,49 +177,6 @@
+ 	(void)printf("\n");
+ }
+ 
+-
+-		/*
+-		 * ethers
+-		 */
+-
+-static int
+-ethers(int argc, char *argv[])
+-{
+-	char		hostname[MAXHOSTNAMELEN + 1], *hp;
+-	struct ether_addr ea, *eap;
+-	int		i, rv;
+-
+-	assert(argc > 1);
+-	assert(argv != NULL);
+-
+-#define ETHERSPRINT	(void)printf("%-17s  %s\n", ether_ntoa(eap), hp)
+-
+-	rv = RV_OK;
+-	if (argc == 2) {
+-		warnx("Enumeration not supported on ethers");
+-		rv = RV_NOENUM;
+-	} else {
+-		for (i = 2; i < argc; i++) {
+-			if ((eap = ether_aton(argv[i])) == NULL) {
+-				eap = &ea;
+-				hp = argv[i];
+-				if (ether_hostton(hp, eap) != 0) {
+-					rv = RV_NOTFOUND;
+-					break;
+-				}
+-			} else {
+-				hp = hostname;
+-				if (ether_ntohost(hp, eap) != 0) {
+-					rv = RV_NOTFOUND;
+-					break;
+-				}
+-			}
+-			ETHERSPRINT;
+-		}
+-	}
+-	return rv;
+-}
+-
+ 		/*
+ 		 * group
+ 		 */
+@@ -298,7 +237,7 @@
+ hosts(int argc, char *argv[])
+ {
+ 	struct hostent	*he;
+-	char		addr[IN6ADDRSZ];
++	char		addr[NS_IN6ADDRSZ];
+ 	int		i, rv;
+ 
+ 	assert(argc > 1);
+@@ -312,9 +251,9 @@
+ 	} else {
+ 		for (i = 2; i < argc; i++) {
+ 			if (inet_pton(AF_INET6, argv[i], (void *)addr) > 0)
+-				he = gethostbyaddr(addr, IN6ADDRSZ, AF_INET6);
++				he = gethostbyaddr(addr, NS_IN6ADDRSZ, AF_INET6);
+ 			else if (inet_pton(AF_INET, argv[i], (void *)addr) > 0)
+-				he = gethostbyaddr(addr, INADDRSZ, AF_INET);
++				he = gethostbyaddr(addr, NS_INADDRSZ, AF_INET);
+ 			else
+ 				he = gethostbyname(argv[i]);
+ 			if (he != NULL)
+@@ -330,48 +269,6 @@
+ }
+ 
+ 		/*
+-		 * netgroup
+-		 */
+-static int
+-netgroup(int argc, char *argv[])
+-{
+-	int		rv, i;
+-	bool		first;
+-	const char	*host, *user, *domain;
+-
+-	assert(argc > 1);
+-	assert(argv != NULL);
+-
+-#define NETGROUPPRINT(s)	(((s) != NULL) ? (s) : "")
+-
+-	rv = RV_OK;
+-	if (argc == 2) {
+-		warnx("Enumeration not supported on netgroup");
+-		rv = RV_NOENUM;
+-	} else {
+-		for (i = 2; i < argc; i++) {
+-			setnetgrent(argv[i]);
+-			first = true;
+-			while (getnetgrent(&host, &user, &domain) != 0) {
+-				if (first) {
+-					first = false;
+-					(void)fputs(argv[i], stdout);
+-				}
+-				(void)printf(" (%s,%s,%s)",
+-				    NETGROUPPRINT(host),
+-				    NETGROUPPRINT(user),
+-				    NETGROUPPRINT(domain));
+-			}
+-			if (!first)
+-				(void)putchar('\n');
+-			endnetgrent();
+-		}
+-	}
+-
+-	return rv;
+-}
+-
+-		/*
+ 		 * networks
+ 		 */
+ 
+@@ -464,227 +361,6 @@
+ 	return rv;
+ }
+ 
+-static char *
+-mygetent(const char * const * db_array, const char *name)
+-{
+-	char *buf = NULL;
+-	int error;
+-
+-	switch (error = cgetent(&buf, db_array, name)) {
+-	case -3:
+-		warnx("tc= loop in record `%s' in `%s'", name, db_array[0]);
+-		break;
+-	case -2:
+-		warn("system error fetching record `%s' in `%s'", name,
+-		    db_array[0]);
+-		break;
+-	case -1:
+-	case 0:
+-		break;
+-	case 1:
+-		warnx("tc= reference not found in record for `%s' in `%s'",
+-		    name, db_array[0]);
+-		break;
+-	default:
+-		warnx("unknown error %d in record `%s' in `%s'", error, name,
+-		    db_array[0]);
+-		break;
+-	}
+-	return buf;
+-}
+-
+-static char *
+-mygetone(const char * const * db_array, int first)
+-{
+-	char *buf = NULL;
+-	int error;
+-
+-	switch (error = (first ? cgetfirst : cgetnext)(&buf, db_array)) {
+-	case -2:
+-		warnx("tc= loop in `%s'", db_array[0]);
+-		break;
+-	case -1:
+-		warn("system error fetching record in `%s'", db_array[0]);
+-		break;
+-	case 0:
+-	case 1:
+-		break;
+-	case 2:
+-		warnx("tc= reference not found in `%s'", db_array[0]);
+-		break;
+-	default:
+-		warnx("unknown error %d in `%s'", error, db_array[0]);
+-		break;
+-	}
+-	return buf;
+-}
+-
+-static void
+-capprint(const char *cap)
+-{
+-	char *c = strchr(cap, ':');
+-	if (c)
+-		if (c == cap)
+-			(void)printf("true\n");
+-		else {
+-			int l = (int)(c - cap);
+-			(void)printf("%*.*s\n", l, l, cap);
+-		}
+-	else
+-		(void)printf("%s\n", cap);
+-}
+-
+-static void
+-prettyprint(char *b)
+-{
+-#define TERMWIDTH 65
+-	int did = 0;
+-	size_t len;
+-	char *s, c;
+-
+-	for (;;) {
+-		len = strlen(b);
+-		if (len <= TERMWIDTH) {
+-done:
+-			if (did)
+-				printf("\t:");
+-			printf("%s\n", b);
+-			return;
+-		}
+-		for (s = b + TERMWIDTH; s > b && *s != ':'; s--)
+-			continue;
+-		if (*s++ != ':')
+-			goto done;
+-		c = *s;
+-		*s = '\0';
+-		if (did)
+-			printf("\t:");
+-		did++;
+-		printf("%s\\\n", b);
+-		*s = c;
+-		b = s;
+-	}
+-}
+-
+-static void
+-handleone(const char * const *db_array, char *b, int recurse, int pretty,
+-    int level)
+-{
+-	char *tc;
+-
+-	if (level && pretty)
+-		printf("\n");
+-	if (pretty)
+-		prettyprint(b);
+-	else
+-		printf("%s\n", b);
+-	if (!recurse || cgetstr(b, "tc", &tc) <= 0)
+-		return;
+-
+-	b = mygetent(db_array, tc);
+-	free(tc);
+-
+-	if (b == NULL)
+-		return;
+-
+-	handleone(db_array, b, recurse, pretty, ++level);
+-	free(b);
+-}
+-
+-static int
+-handlecap(const char *db, int argc, char *argv[])
+-{
+-	static const char sfx[] = "=#:";
+-	const char *db_array[] = { db, NULL };
+-	char	*b, *cap;
+-	int	i, rv, c;
+-	size_t	j;
+-	int	expand = 1, recurse = 0, pretty = 0;
+-
+-	assert(argc > 1);
+-	assert(argv != NULL);
+-
+-	argc--;
+-	argv++;
+-	while ((c = getopt(argc, argv, "pnr")) != -1)
+-		switch (c) {
+-		case 'n':
+-			expand = 0;
+-			break;
+-		case 'r':
+-			expand = 0;
+-			recurse = 1;
+-			break;
+-		case 'p':
+-			pretty = 1;
+-			break;
+-		default:
+-			usage();
+-			break;
+-		}
+-
+-	argc -= optind;
+-	argv += optind;
+-	csetexpandtc(expand);
+-	rv = RV_OK;
+-	if (argc == 0) {
+-		for (b = mygetone(db_array, 1); b; b = mygetone(db_array, 0)) {
+-			handleone(db_array, b, recurse, pretty, 0);
+-			free(b);
+-		}
+-	} else {
+-		if ((b = mygetent(db_array, argv[0])) == NULL)
+-			return RV_NOTFOUND;
+-		if (argc == 1)
+-			handleone(db_array, b, recurse, pretty, 0);
+-		else {
+-			for (i = 2; i < argc; i++) {
+-				for (j = 0; j < sizeof(sfx) - 1; j++) {
+-					cap = cgetcap(b, argv[i], sfx[j]);
+-					if (cap) {
+-						capprint(cap);
+-						break;
+-					} 
+-				}
+-				if (j == sizeof(sfx) - 1)
+-					printf("false\n");
+-			}
+-		}
+-		free(b);
+-	}
+-	return rv;
+-}
+-
+-		/*
+-		 * gettytab
+-		 */
+-
+-static int
+-gettytab(int argc, char *argv[])
+-{
+-	return handlecap(_PATH_GETTYTAB, argc, argv);
+-}
+-
+-		/*
+-		 * printcap
+-		 */
+-
+-static int
+-printcap(int argc, char *argv[])
+-{
+-	return handlecap(_PATH_PRINTCAP, argc, argv);
+-}
+-
+-		/*
+-		 * disktab
+-		 */
+-
+-static int
+-disktab(int argc, char *argv[])
+-{
+-	return handlecap(_PATH_DISKTAB, argc, argv);
+-}
+-
+ 		/*
+ 		 * protocols
+ 		 */
+@@ -726,47 +402,6 @@
+ }
+ 
+ 		/*
+-		 * rpc
+-		 */
+-
+-static int
+-rpc(int argc, char *argv[])
+-{
+-	struct rpcent	*re;
+-	unsigned long	id;
+-	int		i, rv;
+-	
+-	assert(argc > 1);
+-	assert(argv != NULL);
+-
+-#define RPCPRINT	printfmtstrings(re->r_aliases, "  ", " ", \
+-				"%-16s  %6d", \
+-				re->r_name, re->r_number)
+-
+-	setrpcent(1);
+-	rv = RV_OK;
+-	if (argc == 2) {
+-		while ((re = getrpcent()) != NULL)
+-			RPCPRINT;
+-	} else {
+-		for (i = 2; i < argc; i++) {
+-			if (parsenum(argv[i], &id))
+-				re = getrpcbynumber((int)id);
+-			else
+-				re = getrpcbyname(argv[i]);
+-			if (re != NULL)
+-				RPCPRINT;
+-			else {
+-				rv = RV_NOTFOUND;
+-				break;
+-			}
+-		}
+-	}
+-	endrpcent();
+-	return rv;
+-}
+-
+-		/*
+ 		 * services
+ 		 */
+ 
diff --git a/pkgs/os-specific/darwin/CoreSymbolication/default.nix b/pkgs/os-specific/darwin/CoreSymbolication/default.nix
new file mode 100644
index 00000000000..aa73c7f86c4
--- /dev/null
+++ b/pkgs/os-specific/darwin/CoreSymbolication/default.nix
@@ -0,0 +1,19 @@
+{ fetchFromGitHub, stdenv }:
+
+# Reverse engineered CoreSymbolication to make dtrace buildable
+
+stdenv.mkDerivation rec {
+  name = "CoreSymbolication";
+
+  src = fetchFromGitHub {
+    repo = name;
+    owner = "matthewbauer";
+    rev = "671fcb66c82eac1827f3f53dc4cc4e9b1b94da0a";
+    sha256 = "0qpw46gwgjxiwqqjxksb8yghp2q8dwad6hzaf4zl82xpvk9n5ahj";
+  };
+
+  installPhase = ''
+    mkdir -p $out/include
+    cp -r CoreSymbolication $out/include
+  '';
+}
diff --git a/pkgs/os-specific/darwin/apple-sdk/default.nix b/pkgs/os-specific/darwin/apple-sdk/default.nix
index 5a58410ae92..7f6f0cdd0c4 100644
--- a/pkgs/os-specific/darwin/apple-sdk/default.nix
+++ b/pkgs/os-specific/darwin/apple-sdk/default.nix
@@ -210,6 +210,13 @@ in rec {
       ];
     });
 
+    CoreMIDI = stdenv.lib.overrideDerivation super.CoreMIDI (drv: {
+      __propagatedImpureHostDeps = drv.__propagatedImpureHostDeps ++ [
+        "/System/Library/PrivateFrameworks/"
+      ];
+      setupHook = ./private-frameworks-setup-hook.sh;
+    });
+
     Security = stdenv.lib.overrideDerivation super.Security (drv: {
       setupHook = ./security-setup-hook.sh;
     });
diff --git a/pkgs/os-specific/darwin/apple-sdk/frameworks.nix b/pkgs/os-specific/darwin/apple-sdk/frameworks.nix
index 081f713d054..f8c424089f0 100644
--- a/pkgs/os-specific/darwin/apple-sdk/frameworks.nix
+++ b/pkgs/os-specific/darwin/apple-sdk/frameworks.nix
@@ -14,7 +14,6 @@ with frameworks; with libs; {
   AppKitScripting         = [];
   AppleScriptKit          = [];
   AppleScriptObjC         = [];
-  AppleShareClientCore    = [ CoreServices ];
   AudioToolbox            = [ AudioUnit CoreAudio CF CoreMIDI ];
   AudioUnit               = [ Carbon CoreAudio CF ];
   AudioVideoBridging      = [ Foundation ];
@@ -84,12 +83,10 @@ with frameworks; with libs; {
   PCSC                    = [ CoreData ];
   PreferencePanes         = [];
   PubSub                  = [];
-  Python                  = [ ApplicationServices ];
   QTKit                   = [ CoreMediaIO CoreMedia MediaToolbox QuickTime VideoToolbox ];
   QuickLook               = [ ApplicationServices CF ];
   QuickTime               = [ ApplicationServices AudioUnit Carbon CoreAudio CoreServices OpenGL QuartzCore ];
   Ruby                    = [];
-  RubyCocoa               = [];
   SceneKit                = [];
   ScreenSaver             = [];
   Scripting               = [];
@@ -105,11 +102,9 @@ with frameworks; with libs; {
   SystemConfiguration     = [ CF Security ];
   TWAIN                   = [ Carbon ];
   Tcl                     = [];
-  Tk                      = [ ApplicationServices Carbon X11 ];
   VideoDecodeAcceleration = [ CF CoreVideo ];
   VideoToolbox            = [ CF CoreMedia CoreVideo ];
   WebKit                  = [ ApplicationServices Carbon JavaScriptCore OpenGL ];
-  X11                     = []; # used by Tk, should this exist?
 
   # Umbrellas
   Accelerate          = [ CoreWLAN IOBluetooth ];
diff --git a/pkgs/os-specific/darwin/apple-sdk/private-frameworks-setup-hook.sh b/pkgs/os-specific/darwin/apple-sdk/private-frameworks-setup-hook.sh
new file mode 100644
index 00000000000..fbd977f8552
--- /dev/null
+++ b/pkgs/os-specific/darwin/apple-sdk/private-frameworks-setup-hook.sh
@@ -0,0 +1,8 @@
+addPrivateFrameworks() {
+    flag="-F/System/Library/PrivateFrameworks"
+    if [[ "$NIX_CFLAGS_COMPILE" != *$flag* ]]; then
+        NIX_CFLAGS_COMPILE+=" $flag"
+    fi
+}
+
+addEnvHooks "$hostOffset" addPrivateFrameworks
diff --git a/pkgs/os-specific/darwin/apple-source-releases/CarbonHeaders/default.nix b/pkgs/os-specific/darwin/apple-source-releases/CarbonHeaders/default.nix
index 38215fa8f90..5c6d54aeb9c 100644
--- a/pkgs/os-specific/darwin/apple-source-releases/CarbonHeaders/default.nix
+++ b/pkgs/os-specific/darwin/apple-source-releases/CarbonHeaders/default.nix
@@ -1,7 +1,7 @@
 { stdenv, appleDerivation }:
 
 appleDerivation {
-  phases = [ "unpackPhase" "installPhase" ];
+  dontBuild = true;
 
   installPhase = ''
     mkdir -p $out/include
diff --git a/pkgs/os-specific/darwin/apple-source-releases/CommonCrypto/default.nix b/pkgs/os-specific/darwin/apple-source-releases/CommonCrypto/default.nix
index 5bcf94a18ce..ad51f1df2bc 100644
--- a/pkgs/os-specific/darwin/apple-source-releases/CommonCrypto/default.nix
+++ b/pkgs/os-specific/darwin/apple-source-releases/CommonCrypto/default.nix
@@ -1,8 +1,6 @@
 { stdenv, appleDerivation }:
 
 appleDerivation {
-  phases = [ "unpackPhase" "installPhase" ];
-
   installPhase = ''
     mkdir -p $out/include/CommonCrypto
     cp include/* $out/include/CommonCrypto
diff --git a/pkgs/os-specific/darwin/apple-source-releases/ICU/default.nix b/pkgs/os-specific/darwin/apple-source-releases/ICU/default.nix
index eef26f4b79a..6cf7ee07b70 100644
--- a/pkgs/os-specific/darwin/apple-source-releases/ICU/default.nix
+++ b/pkgs/os-specific/darwin/apple-source-releases/ICU/default.nix
@@ -20,5 +20,6 @@ appleDerivation {
 
   postInstall = ''
     mv $out/usr/local/include $out/include
+    rm -rf $out/usr
   '';
 }
diff --git a/pkgs/os-specific/darwin/apple-source-releases/Libc/825_40_1.nix b/pkgs/os-specific/darwin/apple-source-releases/Libc/825_40_1.nix
index 0fa9294f229..302a657992a 100644
--- a/pkgs/os-specific/darwin/apple-source-releases/Libc/825_40_1.nix
+++ b/pkgs/os-specific/darwin/apple-source-releases/Libc/825_40_1.nix
@@ -1,8 +1,6 @@
 { stdenv, appleDerivation, ed, unifdef }:
 
 appleDerivation {
-  phases = [ "unpackPhase" "installPhase" ];
-
   nativeBuildInputs = [ ed unifdef ];
 
   installPhase = ''
diff --git a/pkgs/os-specific/darwin/apple-source-releases/Libc/default.nix b/pkgs/os-specific/darwin/apple-source-releases/Libc/default.nix
index 40237b27bd2..d73dc8f3ec2 100644
--- a/pkgs/os-specific/darwin/apple-source-releases/Libc/default.nix
+++ b/pkgs/os-specific/darwin/apple-source-releases/Libc/default.nix
@@ -1,8 +1,6 @@
 { stdenv, appleDerivation, ed, unifdef, Libc_old, Libc_10-9 }:
 
 appleDerivation {
-  phases = [ "unpackPhase" "installPhase" ];
-
   nativeBuildInputs = [ ed unifdef ];
 
   # TODO: asl.h actually comes from syslog project now
diff --git a/pkgs/os-specific/darwin/apple-source-releases/Libinfo/default.nix b/pkgs/os-specific/darwin/apple-source-releases/Libinfo/default.nix
index 2756857ba67..d3ffa1fa283 100644
--- a/pkgs/os-specific/darwin/apple-source-releases/Libinfo/default.nix
+++ b/pkgs/os-specific/darwin/apple-source-releases/Libinfo/default.nix
@@ -1,8 +1,6 @@
 { stdenv, appleDerivation }:
 
 appleDerivation {
-  phases = [ "unpackPhase" "installPhase" ];
-
   installPhase = ''
     substituteInPlace xcodescripts/install_files.sh \
       --replace "/usr/local/" "/" \
diff --git a/pkgs/os-specific/darwin/apple-source-releases/Libm/default.nix b/pkgs/os-specific/darwin/apple-source-releases/Libm/default.nix
index b409a7347ef..1a01d032191 100644
--- a/pkgs/os-specific/darwin/apple-source-releases/Libm/default.nix
+++ b/pkgs/os-specific/darwin/apple-source-releases/Libm/default.nix
@@ -1,8 +1,6 @@
 { stdenv, appleDerivation }:
 
 appleDerivation {
-  phases = [ "unpackPhase" "installPhase" ];
-
   installPhase = ''
     mkdir -p $out/include
 
@@ -10,4 +8,4 @@ appleDerivation {
     cp Source/Intel/fenv.h $out/include
     cp Source/complex.h    $out/include
   '';
-}
\ No newline at end of file
+}
diff --git a/pkgs/os-specific/darwin/apple-source-releases/Libnotify/default.nix b/pkgs/os-specific/darwin/apple-source-releases/Libnotify/default.nix
index 810c8e8315a..de691a056f3 100644
--- a/pkgs/os-specific/darwin/apple-source-releases/Libnotify/default.nix
+++ b/pkgs/os-specific/darwin/apple-source-releases/Libnotify/default.nix
@@ -1,8 +1,6 @@
 { stdenv, appleDerivation }:
 
 appleDerivation {
-  phases = [ "unpackPhase" "installPhase" ];
-
   installPhase = ''
     mkdir -p $out/include
     cp notify.h      $out/include
diff --git a/pkgs/os-specific/darwin/apple-source-releases/Librpcsvc/default.nix b/pkgs/os-specific/darwin/apple-source-releases/Librpcsvc/default.nix
index 512ec6253c7..7002f82fe56 100644
--- a/pkgs/os-specific/darwin/apple-source-releases/Librpcsvc/default.nix
+++ b/pkgs/os-specific/darwin/apple-source-releases/Librpcsvc/default.nix
@@ -1,8 +1,6 @@
 { stdenv, appleDerivation, developer_cmds }:
 
 appleDerivation rec {
-  phases = [ "unpackPhase" "installPhase" ];
-
   buildInputs = [ developer_cmds ];
 
   installPhase = ''
diff --git a/pkgs/os-specific/darwin/apple-source-releases/Libsystem/default.nix b/pkgs/os-specific/darwin/apple-source-releases/Libsystem/default.nix
index 28406c9751d..386480d6290 100644
--- a/pkgs/os-specific/darwin/apple-source-releases/Libsystem/default.nix
+++ b/pkgs/os-specific/darwin/apple-source-releases/Libsystem/default.nix
@@ -23,6 +23,7 @@ appleDerivation rec {
       (cd $dep/include && find . -name '*.h' | cpio -pdm $out/include)
     done
 
+
     (cd ${cctools.dev}/include/mach-o && find . -name '*.h' | cpio -pdm $out/include/mach-o)
 
     cat <<EOF > $out/include/TargetConditionals.h
diff --git a/pkgs/os-specific/darwin/apple-source-releases/SmartCardServices/default.nix b/pkgs/os-specific/darwin/apple-source-releases/SmartCardServices/default.nix
new file mode 100644
index 00000000000..1cb85b1e988
--- /dev/null
+++ b/pkgs/os-specific/darwin/apple-source-releases/SmartCardServices/default.nix
@@ -0,0 +1,41 @@
+{ stdenv, appleDerivation, xcbuild, gnumake, Security
+, libsecurity_utilities, libsecurity_cdsa_utilities }:
+
+appleDerivation {
+  buildInputs = [ xcbuild libsecurity_utilities libsecurity_cdsa_utilities ];
+
+  DSTROOT = "$out";
+
+  NIX_CFLAGS_COMPILE = "-I.";
+  preBuild = ''
+    mkdir -p Security
+    cp ${Security}/Library/Frameworks/Security.framework/Headers/*.h Security
+  '';
+
+  patchPhase = ''
+    substituteInPlace SmartCardServices.xcodeproj/project.pbxproj \
+      --replace "/usr/bin/gnumake" "${gnumake}/bin/make"
+    substituteInPlace src/PCSC/PCSC.exp \
+      --replace _PCSCVersionString "" \
+      --replace _PCSCVersionNumber ""
+    substituteInPlace Makefile.installPhase \
+      --replace chown "# chown" \
+      --replace /usr/bin/ ""
+  '';
+
+  installPhase = ''
+    make -f Makefile.installPhase install
+    make -f Makefile-exec.installPhase install
+    mv $out/usr/* $out
+    rmdir $out/usr
+
+    mkdir -p $out/Library/Frameworks
+    cp -r Products/Release/PCSC.bundle $out/Library/Frameworks/PCSC.framework
+  '';
+
+  meta = with stdenv.lib; {
+    maintainers = with maintainers; [ matthewbauer ];
+    platforms   = platforms.darwin;
+    license     = licenses.apsl20;
+  };
+}
diff --git a/pkgs/os-specific/darwin/apple-source-releases/adv_cmds/xcode.nix b/pkgs/os-specific/darwin/apple-source-releases/adv_cmds/xcode.nix
index a3d4099399b..dcfb4aefe1f 100644
--- a/pkgs/os-specific/darwin/apple-source-releases/adv_cmds/xcode.nix
+++ b/pkgs/os-specific/darwin/apple-source-releases/adv_cmds/xcode.nix
@@ -27,14 +27,14 @@ appleDerivation {
                 | grep -v -e Desktop -e Embedded -e mklocale -e colldef)
 
     for i in $targets; do
-      xcodebuild -target $i
+      xcodebuild SYMROOT=$PWD/Products OBJROOT=$PWD/Intermediates -target $i
     done
   '';
 
   # temporary install phase until xcodebuild has "install" support
   installPhase = ''
     mkdir -p $out/bin/
-    install adv_cmds-*/Build/Products/Release/* $out/bin/
+    install Products/Release/* $out/bin/
 
     for n in 1 8; do
       mkdir -p $out/share/man/man$n
diff --git a/pkgs/os-specific/darwin/apple-source-releases/architecture/default.nix b/pkgs/os-specific/darwin/apple-source-releases/architecture/default.nix
index edb7869269a..4a155a4c403 100644
--- a/pkgs/os-specific/darwin/apple-source-releases/architecture/default.nix
+++ b/pkgs/os-specific/darwin/apple-source-releases/architecture/default.nix
@@ -1,19 +1,11 @@
 { stdenv, appleDerivation }:
 
 appleDerivation {
-  phases = [ "unpackPhase" "installPhase" ];
+  dontBuild = true;
 
-  postUnpack = ''
-    substituteInPlace $sourceRoot/Makefile \
-      --replace "/usr/include" "/include" \
-      --replace "/usr/bin/" "" \
-      --replace "/bin/" ""
-  '';
+  installFlags = [ "EXPORT_DSTDIR=/include/architecture" ];
 
-  installPhase = ''
-    export DSTROOT=$out
-    make install
-  '';
+  DSTROOT = "$(out)";
 
   meta = with stdenv.lib; {
     maintainers = with maintainers; [ copumpkin ];
diff --git a/pkgs/os-specific/darwin/apple-source-releases/basic_cmds/default.nix b/pkgs/os-specific/darwin/apple-source-releases/basic_cmds/default.nix
index 9e8b78e57d6..b52ec3306dc 100644
--- a/pkgs/os-specific/darwin/apple-source-releases/basic_cmds/default.nix
+++ b/pkgs/os-specific/darwin/apple-source-releases/basic_cmds/default.nix
@@ -14,7 +14,7 @@ appleDerivation rec {
   # temporary install phase until xcodebuild has "install" support
   installPhase = ''
     mkdir -p $out/bin/
-    install basic_cmds-*/Build/Products/Release/* $out/bin/
+    install Products/Release/* $out/bin/
 
     for n in 1; do
       mkdir -p $out/share/man/man$n
diff --git a/pkgs/os-specific/darwin/apple-source-releases/copyfile/default.nix b/pkgs/os-specific/darwin/apple-source-releases/copyfile/default.nix
index c1a2acccaa9..37dffaa9b20 100644
--- a/pkgs/os-specific/darwin/apple-source-releases/copyfile/default.nix
+++ b/pkgs/os-specific/darwin/apple-source-releases/copyfile/default.nix
@@ -1,10 +1,9 @@
 { stdenv, appleDerivation }:
 
 appleDerivation {
-  phases = [ "unpackPhase" "installPhase" ];
-
+  dontBuild = true;
   installPhase = ''
     mkdir -p $out/include/
     cp copyfile.h $out/include/
   '';
-}
\ No newline at end of file
+}
diff --git a/pkgs/os-specific/darwin/apple-source-releases/default.nix b/pkgs/os-specific/darwin/apple-source-releases/default.nix
index cca729016c2..3120d8ae3d1 100644
--- a/pkgs/os-specific/darwin/apple-source-releases/default.nix
+++ b/pkgs/os-specific/darwin/apple-source-releases/default.nix
@@ -7,6 +7,7 @@ let
   # now it's staying here.
   versions = {
     "osx-10.11.6" = {
+      SmartCardServices = "55111";
       dtrace        = "168";
       xnu           = "3248.60.10";
       libpthread    = "138.10.4";
@@ -43,6 +44,9 @@ let
       file_cmds     = "264.1.1";
       shell_cmds    = "187";
       system_cmds   = "550.6";
+      diskdev_cmds   = "593";
+      top           = "108";
+      text_cmds     = "99";
     };
     "osx-10.11.5" = {
       Libc          = "1082.50.1"; # 10.11.6 still unreleased :/
@@ -53,6 +57,7 @@ let
       ICU           = "531.48";
       libdispatch   = "442.1.4";
       Security      = "57031.40.6";
+      security_systemkeychain = "55202";
 
       IOAudioFamily                        = "203.3";
       IOFireWireFamily                     = "458";
@@ -191,6 +196,8 @@ let
   adv_cmds = applePackage "adv_cmds" "osx-10.5.8" "102ssayxbg9wb35mdmhswbnw0bg7js3pfd8fcbic83c5q3bqa6c6" {};
 
   packages = {
+    SmartCardServices = applePackage "SmartCardServices" "osx-10.11.6" "1qqjlbi6j37mw9p3qpfnwf14xh9ff8h5786bmvzwc4kblfglabkm" {};
+
     inherit (adv_cmds) ps locale;
     architecture    = applePackage "architecture"      "osx-10.11.6"     "1pbpjcd7is69hn8y29i98ci0byik826if8gnp824ha92h90w0fq3" {};
     bootstrap_cmds  = applePackage "bootstrap_cmds"    "dev-tools-7.0"   "1v5dv2q3af1xwj5kz0a5g54fd5dm6j4c9dd2g66n4kc44ixyrhp3" {};
@@ -201,7 +208,8 @@ let
     configd         = applePackage "configd"           "osx-10.8.5"      "1gxakahk8gallf16xmhxhprdxkh3prrmzxnmxfvj0slr0939mmr2" {};
     copyfile        = applePackage "copyfile"          "osx-10.11.6"     "1rkf3iaxmjz5ycgrmf0g971kh90jb2z1zqxg5vlqz001s4y457gs" {};
     Csu             = applePackage "Csu"               "osx-10.11.6"     "0yh5mslyx28xzpv8qww14infkylvc1ssi57imhi471fs91sisagj" {};
-    dtrace          = applePackage "dtrace"            "osx-10.11.6"     "0pp5x8dgvzmg9vvg32hpy2brm17dpmbwrcr4prsmdmfvd4767wc0" {};
+    dtrace          = applePackage "dtrace"            "osx-10.11.6"     "04mi0jy8gy0w59rk9i9dqznysv6fzz1v5mq779s41cp308yi0h1c" {};
+    dtrace-xcode    = applePackage "dtrace/xcode.nix"  "osx-10.11.6"     "04mi0jy8gy0w59rk9i9dqznysv6fzz1v5mq779s41cp308yi0h1c" {};
     dyld            = applePackage "dyld"              "osx-10.11.6"     "0qkjmjazm2zpgvwqizhandybr9cm3gz9pckx8rmf0py03faafc08" {};
     eap8021x        = applePackage "eap8021x"          "osx-10.11.6"     "0iw0qdib59hihyx2275rwq507bq2a06gaj8db4a8z1rkaj1frskh" {};
     ICU             = applePackage "ICU"               "osx-10.10.5"     "1qihlp42n5g4dl0sn0f9pc0bkxy1452dxzf0vr6y5gqpshlzy03p" {};
@@ -238,10 +246,15 @@ let
     adv_cmds        = applePackage "adv_cmds/xcode.nix" "osx-10.11.6"    "12gbv35i09aij9g90p6b3x2f3ramw43qcb2gjrg8lzkzmwvcyw9q" {};
     basic_cmds      = applePackage "basic_cmds"        "osx-10.11.6"     "0hvab4b1v5q2x134hdkal0rmz5gsdqyki1vb0dbw4py1bqf0yaw9" {};
     developer_cmds  = applePackage "developer_cmds"    "osx-10.11.6"     "1r9c2b6dcl22diqf90x58psvz797d3lxh4r2wppr7lldgbgn24di" {};
+    diskdev_cmds    = applePackage "diskdev_cmds"      "osx-10.11.6"     "1ssdyiaq5m1zfy96yy38yyknp682ki6bvabdqd5z18fa0rv3m2ar" {};
     network_cmds    = applePackage "network_cmds"      "osx-10.11.6"     "0lhi9wz84qr1r2ab3fb4nvmdg9gxn817n5ldg7zw9gnf3wwn42kw" {};
     file_cmds       = applePackage "file_cmds"         "osx-10.11.6"     "1zfxbmasps529pnfdjvc13p7ws2cfx8pidkplypkswyff0nff4wp" {};
     shell_cmds      = applePackage "shell_cmds"        "osx-10.11.6"     "0084k271v66h4jqp7q7rmjvv7w4mvhx3aq860qs8jbd30canm86n" {};
     system_cmds     = applePackage "system_cmds"       "osx-10.11.6"     "1h46j2c5v02pkv5d9fyv6cpgyg0lczvwicrx6r9s210cl03l77jl" {};
+    text_cmds       = applePackage "text_cmds"         "osx-10.11.6"     "1f93m7dd0ghqb2hwh905mjhzblyfr7dwffw98xhgmv1mfdnigxg0" {};
+    top             = applePackage "top"               "osx-10.11.6"     "0i9120rfwapgwdvjbfg0ya143i29s1m8zbddsxh39pdc59xnsg5l" {};
+
+    security_systemkeychain = applePackage "security_systemkeychain" "osx-10.10.5" "0xviskdgxsail15npi0billyiysvljlmg38mmhnr7qi4ymnnjr90" {};
 
     libsecurity_apple_csp      = libsecPackage "libsecurity_apple_csp"      "osx-10.7.5" "1ngyn1ik27n4x981px3kfd1z1n8zx7r5w812b6qfjpy5nw4h746w" {};
     libsecurity_apple_cspdl    = libsecPackage "libsecurity_apple_cspdl"    "osx-10.7.5" "1svqa5fhw7p7njzf8bzg7zgc5776aqjhdbnlhpwmr5hmz5i0x8r7" {};
diff --git a/pkgs/os-specific/darwin/apple-source-releases/developer_cmds/default.nix b/pkgs/os-specific/darwin/apple-source-releases/developer_cmds/default.nix
index 67fbf83496e..1f35e3008b3 100644
--- a/pkgs/os-specific/darwin/apple-source-releases/developer_cmds/default.nix
+++ b/pkgs/os-specific/darwin/apple-source-releases/developer_cmds/default.nix
@@ -11,7 +11,7 @@ appleDerivation rec {
   # temporary install phase until xcodebuild has "install" support
   installPhase = ''
     mkdir -p $out/bin/
-    install developer_cmds-*/Build/Products/Release/* $out/bin/
+    install Products/Release/* $out/bin/
 
     for n in 1; do
       mkdir -p $out/share/man/man$n
diff --git a/pkgs/os-specific/darwin/apple-source-releases/diskdev_cmds/default.nix b/pkgs/os-specific/darwin/apple-source-releases/diskdev_cmds/default.nix
new file mode 100644
index 00000000000..aba2472af60
--- /dev/null
+++ b/pkgs/os-specific/darwin/apple-source-releases/diskdev_cmds/default.nix
@@ -0,0 +1,32 @@
+{ stdenv, appleDerivation, xcbuild, lib, hostPlatform, Libc, xnu, libutil-new }:
+
+appleDerivation {
+  buildInputs = [ xcbuild libutil-new ];
+
+  NIX_CFLAGS_COMPILE = "-I.";
+  NIX_LDFLAGS = "-lutil";
+  patchPhase = ''
+    # ugly hacks for missing headers
+    # most are bsd related - probably should make this a drv
+    unpackFile ${Libc.src}
+    unpackFile ${xnu.src}
+    mkdir System sys machine i386
+    cp xnu-*/bsd/sys/disklabel.h sys
+    cp xnu-*/bsd/machine/disklabel.h machine
+    cp xnu-*/bsd/i386/disklabel.h i386
+    cp -r xnu-*/bsd/sys System
+    cp -r Libc-*/uuid System
+  '';
+  installPhase = ''
+    install -D Products/Release/libdisk.a $out/lib/libdisk.a
+    rm Products/Release/libdisk.a
+    for bin in Products/Release/*; do
+      install -D $bin $out/bin/$(basename $bin)
+    done
+  '';
+
+  meta = {
+    platforms = stdenv.lib.platforms.darwin;
+    maintainers = with stdenv.lib.maintainers; [ matthewbauer ];
+  };
+}
diff --git a/pkgs/os-specific/darwin/apple-source-releases/dtrace/xcode.nix b/pkgs/os-specific/darwin/apple-source-releases/dtrace/xcode.nix
new file mode 100644
index 00000000000..dd193f2c07d
--- /dev/null
+++ b/pkgs/os-specific/darwin/apple-source-releases/dtrace/xcode.nix
@@ -0,0 +1,45 @@
+{ appleDerivation, xcbuild, CoreSymbolication, xnu, bison, flex, darling, stdenv }:
+
+appleDerivation {
+  buildInputs = [ xcbuild CoreSymbolication xnu bison flex darling ];
+  NIX_CFLAGS_COMPILE = "-DCTF_OLD_VERSIONS -DPRIVATE -DYYDEBUG=1 -I${xnu}/Library/Frameworks/System.framework/Headers";
+  NIX_LDFLAGS = "-L./Products/Release";
+  xcbuildFlags = "-target dtrace";
+
+  patchPhase = ''
+    substituteInPlace dtrace.xcodeproj/project.pbxproj --replace "/usr/sbin" ""
+    substituteInPlace libdtrace/dt_open.c \
+      --replace "/usr/bin/clang" "${stdenv.cc}/bin/cpp" \
+      --replace "/usr/bin/ld" "${stdenv.cc}/bin/ld" \
+      --replace "/usr/bin/dtrace" $out/lib/dtrace
+  '';
+
+  # hack to handle xcbuild's broken lex handling
+  preBuild = ''
+    cd libdtrace
+    yacc -d dt_grammar.y
+    flex -l -d dt_lex.l
+    cd ..
+
+    substituteInPlace dtrace.xcodeproj/project.pbxproj \
+      --replace '6EBC9800099BFBBF0001019C /* dt_grammar.y */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.yacc; name = dt_grammar.y; path = libdtrace/dt_grammar.y; sourceTree = "<group>"; };' '6EBC9800099BFBBF0001019C /* y.tab.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = y.tab.c; path = libdtrace/y.tab.c; sourceTree = "<group>"; };' \
+      --replace '6EBC9808099BFBBF0001019C /* dt_lex.l */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.lex; name = dt_lex.l; path = libdtrace/dt_lex.l; sourceTree = "<group>"; };' '6EBC9808099BFBBF0001019C /* lex.yy.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = lex.yy.c; path = libdtrace/lex.yy.c; sourceTree = "<group>"; };'
+  '';
+
+  # xcbuild doesn't support install
+  installPhase = ''
+    mkdir -p $out
+
+    cp -r Products/Release/usr $out
+    mv $out/usr/* $out
+    rmdir $out/usr
+
+    mkdir $out/lib
+    cp Products/Release/*.dylib $out/lib
+
+    mkdir $out/bin
+    cp Products/Release/dtrace $out/bin
+
+    mkdir -p $out/lib/dtrace
+  '';
+}
diff --git a/pkgs/os-specific/darwin/apple-source-releases/dyld/default.nix b/pkgs/os-specific/darwin/apple-source-releases/dyld/default.nix
index 56b0d93f99b..ddadf1f3940 100644
--- a/pkgs/os-specific/darwin/apple-source-releases/dyld/default.nix
+++ b/pkgs/os-specific/darwin/apple-source-releases/dyld/default.nix
@@ -1,8 +1,6 @@
 { stdenv, appleDerivation }:
 
 appleDerivation {
-  phases = [ "unpackPhase" "installPhase" ];
-
   installPhase = ''
     mkdir -p $out/lib $out/include
     ln -s /usr/lib/dyld $out/lib/dyld
diff --git a/pkgs/os-specific/darwin/apple-source-releases/eap8021x/default.nix b/pkgs/os-specific/darwin/apple-source-releases/eap8021x/default.nix
index af9493fe32e..80d629dfa3e 100644
--- a/pkgs/os-specific/darwin/apple-source-releases/eap8021x/default.nix
+++ b/pkgs/os-specific/darwin/apple-source-releases/eap8021x/default.nix
@@ -1,11 +1,10 @@
 { stdenv, appleDerivation }:
 
 appleDerivation {
-  phases = [ "unpackPhase" "installPhase" "fixupPhase" ];
-
+  dontBuild = true;
   installPhase = ''
     mkdir -p $out/Library/Frameworks/EAP8021X.framework/Headers
 
     cp EAP8021X.fproj/EAPClientProperties.h $out/Library/Frameworks/EAP8021X.framework/Headers
   '';
-}
\ No newline at end of file
+}
diff --git a/pkgs/os-specific/darwin/apple-source-releases/file_cmds/default.nix b/pkgs/os-specific/darwin/apple-source-releases/file_cmds/default.nix
index 8346ca7a9a7..47a587966b4 100644
--- a/pkgs/os-specific/darwin/apple-source-releases/file_cmds/default.nix
+++ b/pkgs/os-specific/darwin/apple-source-releases/file_cmds/default.nix
@@ -19,7 +19,7 @@ appleDerivation rec {
   # temporary install phase until xcodebuild has "install" support
   installPhase = ''
     mkdir -p $out/bin/
-    install file_cmds-*/Build/Products/Release/* $out/bin
+    install Products/Release/* $out/bin
 
     for n in 1; do
       mkdir -p $out/share/man/man$n
diff --git a/pkgs/os-specific/darwin/apple-source-releases/launchd/default.nix b/pkgs/os-specific/darwin/apple-source-releases/launchd/default.nix
index c0e00ca1636..86bc6e598f7 100644
--- a/pkgs/os-specific/darwin/apple-source-releases/launchd/default.nix
+++ b/pkgs/os-specific/darwin/apple-source-releases/launchd/default.nix
@@ -1,8 +1,6 @@
 { stdenv, appleDerivation }:
 
 appleDerivation {
-  phases = [ "unpackPhase" "installPhase" ];
-
   # No clue why the same file has two different names. Ask Apple!
   installPhase = ''
     mkdir -p $out/include/ $out/include/servers
@@ -11,4 +9,4 @@ appleDerivation {
     cp liblaunch/bootstrap.h $out/include/servers
     cp liblaunch/bootstrap.h $out/include/servers/bootstrap_defs.h
   '';
-}
\ No newline at end of file
+}
diff --git a/pkgs/os-specific/darwin/apple-source-releases/libclosure/default.nix b/pkgs/os-specific/darwin/apple-source-releases/libclosure/default.nix
index a0201f9db2c..826dbed1dfe 100644
--- a/pkgs/os-specific/darwin/apple-source-releases/libclosure/default.nix
+++ b/pkgs/os-specific/darwin/apple-source-releases/libclosure/default.nix
@@ -1,10 +1,8 @@
 { stdenv, appleDerivation }:
 
 appleDerivation {
-  phases = [ "unpackPhase" "installPhase" ];
-
   installPhase = ''
     mkdir -p $out/include
     cp *.h $out/include/
   '';
-}
\ No newline at end of file
+}
diff --git a/pkgs/os-specific/darwin/apple-source-releases/libdispatch/default.nix b/pkgs/os-specific/darwin/apple-source-releases/libdispatch/default.nix
index c80e3757569..a43c00f7691 100644
--- a/pkgs/os-specific/darwin/apple-source-releases/libdispatch/default.nix
+++ b/pkgs/os-specific/darwin/apple-source-releases/libdispatch/default.nix
@@ -1,8 +1,8 @@
 { stdenv, appleDerivation }:
 
 appleDerivation {
-  phases = [ "unpackPhase" "installPhase" ];
-
+  dontConfigure = true;
+  dontBuild = true;
   installPhase = ''
     mkdir -p $out/include/dispatch $out/include/os
 
diff --git a/pkgs/os-specific/darwin/apple-source-releases/libiconv/default.nix b/pkgs/os-specific/darwin/apple-source-releases/libiconv/default.nix
index 13b6156492b..c67609e9675 100644
--- a/pkgs/os-specific/darwin/apple-source-releases/libiconv/default.nix
+++ b/pkgs/os-specific/darwin/apple-source-releases/libiconv/default.nix
@@ -1,19 +1,21 @@
-{ stdenv, appleDerivation }:
+{ stdenv, appleDerivation, autoreconfHook }:
 
 appleDerivation {
-  preConfigure = "cd libiconv";
+  postUnpack = "sourceRoot=$sourceRoot/libiconv";
 
   postInstall = ''
     mv $out/lib/libiconv.dylib $out/lib/libiconv-nocharset.dylib
-    install_name_tool -id $out/lib/libiconv-nocharset.dylib $out/lib/libiconv-nocharset.dylib
+    ${stdenv.cc.bintools.targetPrefix}install_name_tool -id $out/lib/libiconv-nocharset.dylib $out/lib/libiconv-nocharset.dylib
 
     # re-export one useless symbol; ld will reject a dylib that only reexports other dylibs
-    echo 'void dont_use_this(){}' | clang -dynamiclib -x c - -current_version 2.4.0 \
+    echo 'void dont_use_this(){}' | ${stdenv.cc.bintools.targetPrefix}clang -dynamiclib -x c - -current_version 2.4.0 \
       -compatibility_version 7.0.0 -current_version 7.0.0 -o $out/lib/libiconv.dylib \
       -Wl,-reexport_library -Wl,$out/lib/libiconv-nocharset.dylib \
       -Wl,-reexport_library -Wl,$out/lib/libcharset.dylib
   '';
 
+  setupHook = ../../../../development/libraries/libiconv/setup-hook.sh;
+
   meta = {
     platforms = stdenv.lib.platforms.darwin;
   };
diff --git a/pkgs/os-specific/darwin/apple-source-releases/libplatform/default.nix b/pkgs/os-specific/darwin/apple-source-releases/libplatform/default.nix
index 65accc870d7..41b1bf74af9 100644
--- a/pkgs/os-specific/darwin/apple-source-releases/libplatform/default.nix
+++ b/pkgs/os-specific/darwin/apple-source-releases/libplatform/default.nix
@@ -1,8 +1,6 @@
 { stdenv, appleDerivation }:
 
 appleDerivation {
-  phases = [ "unpackPhase" "installPhase" ];
-
   installPhase = ''
     mkdir $out
     cp -r include $out/include
diff --git a/pkgs/os-specific/darwin/apple-source-releases/libpthread/default.nix b/pkgs/os-specific/darwin/apple-source-releases/libpthread/default.nix
index b4d8004d3e6..650c6415def 100644
--- a/pkgs/os-specific/darwin/apple-source-releases/libpthread/default.nix
+++ b/pkgs/os-specific/darwin/apple-source-releases/libpthread/default.nix
@@ -1,8 +1,6 @@
 { stdenv, appleDerivation, libdispatch, xnu }:
 
 appleDerivation {
-  phases = [ "unpackPhase" "installPhase" "fixupPhase" ];
-
   propagatedBuildInputs = [ libdispatch xnu ];
 
   installPhase = ''
diff --git a/pkgs/os-specific/darwin/apple-source-releases/libresolv/default.nix b/pkgs/os-specific/darwin/apple-source-releases/libresolv/default.nix
index a565971a6fa..5a2cd33d8a0 100644
--- a/pkgs/os-specific/darwin/apple-source-releases/libresolv/default.nix
+++ b/pkgs/os-specific/darwin/apple-source-releases/libresolv/default.nix
@@ -1,8 +1,6 @@
 { stdenv, appleDerivation, Libinfo, configd, mDNSResponder }:
 
 appleDerivation {
-  phases = [ "unpackPhase" "buildPhase" "installPhase" ];
-
   buildInputs = [ Libinfo configd mDNSResponder ];
 
   buildPhase = ''
diff --git a/pkgs/os-specific/darwin/apple-source-releases/libsecurity_apple_x509_tp/GNUmakefile b/pkgs/os-specific/darwin/apple-source-releases/libsecurity_apple_x509_tp/GNUmakefile
index 083a8a85d17..166b4e631c8 100644
--- a/pkgs/os-specific/darwin/apple-source-releases/libsecurity_apple_x509_tp/GNUmakefile
+++ b/pkgs/os-specific/darwin/apple-source-releases/libsecurity_apple_x509_tp/GNUmakefile
@@ -5,6 +5,7 @@ LIBRARY_NAME = security_apple_x509_tp
 security_apple_x509_tp_HEADER_FILES = $(notdir $(wildcard lib/*.h))
 security_apple_x509_tp_HEADER_FILES_DIR = lib
 
+security_apple_x509_tp_C_FILES = $(wildcard lib/*.c)
 security_apple_x509_tp_CC_FILES = $(wildcard lib/*.cpp)
 
 include $(GNUSTEP_MAKEFILES)/library.make
diff --git a/pkgs/os-specific/darwin/apple-source-releases/libsecurity_codesigning/default.nix b/pkgs/os-specific/darwin/apple-source-releases/libsecurity_codesigning/default.nix
index c5ba9cc8d7e..2a05855bd52 100644
--- a/pkgs/os-specific/darwin/apple-source-releases/libsecurity_codesigning/default.nix
+++ b/pkgs/os-specific/darwin/apple-source-releases/libsecurity_codesigning/default.nix
@@ -1,7 +1,33 @@
-{ appleDerivation, libsecurity_cdsa_utilities, libsecurity_utilities }:
+{ appleDerivation, libsecurity_cdsa_utilities, libsecurity_utilities
+, Security, xnu, xar, antlr, libsecurityd, apple_sdk
+, dtrace-xcode, osx_private_sdk }:
 appleDerivation {
-  buildInputs = [
-    libsecurity_utilities
-    libsecurity_cdsa_utilities
-  ];
-}
\ No newline at end of file
+  buildInputs = [ libsecurity_utilities libsecurity_cdsa_utilities dtrace-xcode
+                  Security xar antlr libsecurityd ];
+  NIX_CFLAGS_COMPILE = "-Iinclude -I${xnu}/Library/Frameworks/System.framework/Headers";
+  patchPhase = ''
+    substituteInPlace lib/policydb.cpp \
+      --replace "new MutableDictionary::MutableDictionary()" NULL
+    substituteInPlace lib/xpcengine.h \
+      --replace "#include <xpc/private.h>" ""
+    substituteInPlace lib/policyengine.cpp \
+      --replace "#include <OpenScriptingUtilPriv.h>" ""
+
+    rm lib/policyengine.cpp lib/quarantine++.cpp lib/codedirectory.cpp lib/xpcengine.cpp
+  '';
+  preBuild = ''
+    mkdir -p include
+    cp ${osx_private_sdk.src}/PrivateSDK10.10.sparse.sdk/usr/include/quarantine.h include
+    mkdir -p include/CoreServices/
+    cp ${osx_private_sdk.src}/PrivateSDK10.10.sparse.sdk/System/Library/Frameworks/CoreServices.framework/PrivateHeaders/*.h include/CoreServices/
+
+    unpackFile ${Security.src}
+    mkdir -p include/securityd_client
+    cp Security-*/libsecurityd/lib/*.h include/securityd_client
+    mkdir -p include/xpc
+    cp ${apple_sdk.sdk}/include/xpc/*.h include/xpc
+
+    sed -i '1i #define bool int' lib/security_codesigning.d
+    dtrace -h -C -s lib/security_codesigning.d -o codesigning_dtrace.h
+  '';
+}
diff --git a/pkgs/os-specific/darwin/apple-source-releases/libsecurity_utilities/default.nix b/pkgs/os-specific/darwin/apple-source-releases/libsecurity_utilities/default.nix
index bb55fd48d8b..e811c4c11a8 100644
--- a/pkgs/os-specific/darwin/apple-source-releases/libsecurity_utilities/default.nix
+++ b/pkgs/os-specific/darwin/apple-source-releases/libsecurity_utilities/default.nix
@@ -4,9 +4,12 @@ appleDerivation {
     libauto
     libobjc
     IOKit
+  ];
+  propagatedBuildInputs = [
     sqlite
     apple_sdk.frameworks.PCSC
   ];
+  NIX_LDFLAGS = "-framework PCSC";
   patchPhase = ''
     substituteInPlace lib/errors.h --replace \
       '<CoreServices/../Frameworks/CarbonCore.framework/Headers/MacTypes.h>' \
diff --git a/pkgs/os-specific/darwin/apple-source-releases/libutil/default.nix b/pkgs/os-specific/darwin/apple-source-releases/libutil/default.nix
index c943c2068e6..a6f484ba4e8 100644
--- a/pkgs/os-specific/darwin/apple-source-releases/libutil/default.nix
+++ b/pkgs/os-specific/darwin/apple-source-releases/libutil/default.nix
@@ -2,8 +2,6 @@
 
 # all symbols are located in libSystem
 appleDerivation {
-  phases = [ "unpackPhase" "installPhase" ];
-
   installPhase = ''
     mkdir -p $out/include
     cp *.h $out/include
diff --git a/pkgs/os-specific/darwin/apple-source-releases/libutil/new.nix b/pkgs/os-specific/darwin/apple-source-releases/libutil/new.nix
index 860a74f61f7..7facea2b893 100644
--- a/pkgs/os-specific/darwin/apple-source-releases/libutil/new.nix
+++ b/pkgs/os-specific/darwin/apple-source-releases/libutil/new.nix
@@ -4,22 +4,18 @@
 appleDerivation {
   buildInputs = [ xcbuild ];
 
-  dontUseXcbuild = true;
-
   prePatch = ''
     substituteInPlace tzlink.c \
       --replace '#include <xpc/xpc.h>' ""
   '';
 
-  buildPhase = ''
-    xcodebuild -target util
-  '';
+  xcbuildFlags = "-target util";
 
   installPhase = ''
     mkdir -p $out/lib $out/include
 
-    cp libutil-*/Build/Products/Release/*.dylib $out/lib
-    cp libutil-*/Build/Products/Release/*.h $out/include
+    cp Products/Release/*.dylib $out/lib
+    cp Products/Release/*.h $out/include
 
     # TODO: figure out how to get this to be right the first time around
     install_name_tool -id $out/lib/libutil.dylib $out/lib/libutil.dylib
diff --git a/pkgs/os-specific/darwin/apple-source-releases/network_cmds/default.nix b/pkgs/os-specific/darwin/apple-source-releases/network_cmds/default.nix
index 357a87689a0..23777c94157 100644
--- a/pkgs/os-specific/darwin/apple-source-releases/network_cmds/default.nix
+++ b/pkgs/os-specific/darwin/apple-source-releases/network_cmds/default.nix
@@ -7,17 +7,19 @@ appleDerivation rec {
 
   # "spray" requires some files that aren't compiling correctly in xcbuild.
   # "rtadvd" seems to fail with some missing constants.
-  # We disable spray and rtadvd here for now.
+  # "traceroute6" and "ping6" require ipsec which doesn't build correctly
   patchPhase = ''
     substituteInPlace network_cmds.xcodeproj/project.pbxproj \
       --replace "7294F0EA0EE8BAC80052EC88 /* PBXTargetDependency */," "" \
-      --replace "7216D34D0EE89FEC00AE70E4 /* PBXTargetDependency */," ""
+      --replace "7216D34D0EE89FEC00AE70E4 /* PBXTargetDependency */," "" \
+      --replace "72CD1D9C0EE8C47C005F825D /* PBXTargetDependency */," "" \
+      --replace "7216D2C20EE89ADF00AE70E4 /* PBXTargetDependency */," ""
   '';
 
   # temporary install phase until xcodebuild has "install" support
   installPhase = ''
     mkdir -p $out/bin/
-    install network_cmds-*/Build/Products/Release/* $out/bin/
+    install Products/Release/* $out/bin/
 
     for n in 1 5; do
       mkdir -p $out/share/man/man$n
diff --git a/pkgs/os-specific/darwin/apple-source-releases/ppp/default.nix b/pkgs/os-specific/darwin/apple-source-releases/ppp/default.nix
index ffc19801c5d..17c24bebfda 100644
--- a/pkgs/os-specific/darwin/apple-source-releases/ppp/default.nix
+++ b/pkgs/os-specific/darwin/apple-source-releases/ppp/default.nix
@@ -1,8 +1,7 @@
 { stdenv, appleDerivation }:
 
 appleDerivation {
-  phases = [ "unpackPhase" "installPhase" "fixupPhase" ];
-
+  dontBuild = true;
   installPhase = ''
     mkdir -p $out/include/ppp
 
diff --git a/pkgs/os-specific/darwin/apple-source-releases/removefile/default.nix b/pkgs/os-specific/darwin/apple-source-releases/removefile/default.nix
index 315f93bef08..8baf62dba01 100644
--- a/pkgs/os-specific/darwin/apple-source-releases/removefile/default.nix
+++ b/pkgs/os-specific/darwin/apple-source-releases/removefile/default.nix
@@ -1,10 +1,8 @@
 { stdenv, appleDerivation }:
 
 appleDerivation {
-  phases = [ "unpackPhase" "installPhase" ];
-
   installPhase = ''
     mkdir -p $out/include/
     cp removefile.h checkint.h $out/include/
   '';
-}
\ No newline at end of file
+}
diff --git a/pkgs/os-specific/darwin/apple-source-releases/security_systemkeychain/default.nix b/pkgs/os-specific/darwin/apple-source-releases/security_systemkeychain/default.nix
new file mode 100644
index 00000000000..1a0208ef3a0
--- /dev/null
+++ b/pkgs/os-specific/darwin/apple-source-releases/security_systemkeychain/default.nix
@@ -0,0 +1,31 @@
+{ appleDerivation, xcbuild, Security
+, libsecurity_codesigning, libsecurity_utilities, libsecurity_cdsa_utilities
+, xnu, osx_private_sdk, pcsclite}:
+
+appleDerivation {
+  buildInputs = [ xcbuild Security libsecurity_utilities
+                  libsecurity_cdsa_utilities libsecurity_codesigning
+                  pcsclite ];
+
+  NIX_LDFLAGS = "-lpcsclite";
+
+  # can't build the whole thing
+  xcbuildFlags = "-target codesign";
+
+  preBuild = ''
+    mkdir -p include/Security
+    cp ${osx_private_sdk.src}/PrivateSDK10.10.sparse.sdk/System/Library/Frameworks/Security.framework/PrivateHeaders/*.h include/Security
+    cp ${osx_private_sdk.src}/PrivateSDK10.10.sparse.sdk/System/Library/Frameworks/Security.framework/Headers/*.h include/Security
+
+    unpackFile ${xnu.src}
+    mkdir -p include/sys
+    cp -r xnu-*/bsd/sys/codesign.h include/sys/codesign.h
+  '';
+
+  NIX_CFLAGS_COMPILE = "-Iinclude";
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cp Products/Release/codesign $out/bin/codesign
+  '';
+}
diff --git a/pkgs/os-specific/darwin/apple-source-releases/shell_cmds/default.nix b/pkgs/os-specific/darwin/apple-source-releases/shell_cmds/default.nix
index f434e15794e..8ce916feb38 100644
--- a/pkgs/os-specific/darwin/apple-source-releases/shell_cmds/default.nix
+++ b/pkgs/os-specific/darwin/apple-source-releases/shell_cmds/default.nix
@@ -10,10 +10,12 @@ appleDerivation rec {
     # - su ('security/pam_appl.h' file not found)
     # - find (Undefined symbol '_get_date')
     # - w (Undefined symbol '_res_9_init')
+    # - expr
     substituteInPlace shell_cmds.xcodeproj/project.pbxproj \
       --replace "FCBA168714A146D000AA698B /* PBXTargetDependency */," "" \
       --replace "FCBA165914A146D000AA698B /* PBXTargetDependency */," "" \
-      --replace "FCBA169514A146D000AA698B /* PBXTargetDependency */," ""
+      --replace "FCBA169514A146D000AA698B /* PBXTargetDependency */," "" \
+      --replace "FCBA165514A146D000AA698B /* PBXTargetDependency */," ""
 
     # disable w, test install
     # get rid of permission stuff
@@ -27,7 +29,7 @@ appleDerivation rec {
   # temporary install phase until xcodebuild has "install" support
   installPhase = ''
     mkdir -p $out/usr/bin
-    install shell_cmds-*/Build/Products/Release/* $out/usr/bin
+    install Products/Release/* $out/usr/bin
 
     export DSTROOT=$out
     export SRCROOT=$PWD
diff --git a/pkgs/os-specific/darwin/apple-source-releases/system_cmds/default.nix b/pkgs/os-specific/darwin/apple-source-releases/system_cmds/default.nix
index 2247ef3ddd2..1bbda6ab7ad 100644
--- a/pkgs/os-specific/darwin/apple-source-releases/system_cmds/default.nix
+++ b/pkgs/os-specific/darwin/apple-source-releases/system_cmds/default.nix
@@ -1,37 +1,104 @@
-{ stdenv, appleDerivation, xcbuild }:
+{ stdenv, appleDerivation, xcbuild, lib, hostPlatform
+, Librpcsvc, apple_sdk, pam, CF, openbsm }:
 
 appleDerivation rec {
   # xcbuild fails with:
   # /nix/store/fc0rz62dh8vr648qi7hnqyik6zi5sqx8-xcbuild-wrapper/nix-support/setup-hook: line 1:  9083 Segmentation fault: 11  xcodebuild OTHER_CFLAGS="$NIX_CFLAGS_COMPILE" OTHER_CPLUSPLUSFLAGS="$NIX_CFLAGS_COMPILE" OTHER_LDFLAGS="$NIX_LDFLAGS" build
+  # see issue facebook/xcbuild#188
   # buildInputs = [ xcbuild ];
 
-  # # temporary install phase until xcodebuild has "install" support
-  # installPhase = ''
-  #   mkdir -p $out/bin/
-  #   install system_cmds-*/Build/Products/Release/* $out/bin/
-
-  #   for n in 1 5 8; do
-  #     mkdir -p $out/share/man/man$n
-  #     install */*.$n $out/share/man/man$n
-  #   done
-  # '';
-
-  # For now we just build sysctl because that's all I need... Please open a
-  # PR if you need any other utils before we fix the xcodebuild.
-  buildPhase = "cc sysctl.tproj/sysctl.c -o sysctl";
-
-  installPhase =
-    ''
-      mkdir -p $out/bin
-      install sysctl $out/bin
-      for n in 5 8; do
-        mkdir -p $out/share/man/man$n
-        install sysctl.tproj/*.$n $out/share/man/man$n
+  buildInputs = [ Librpcsvc apple_sdk.frameworks.OpenDirectory pam CF
+                  apple_sdk.frameworks.IOKit openbsm ];
+  # NIX_CFLAGS_COMPILE = lib.optionalString hostPlatform.isi686 "-D__i386__"
+  #                    + lib.optionalString hostPlatform.isx86_64 "-D__x86_64__"
+  #                    + lib.optionalString hostPlatform.isAarch32 "-D__arm__";
+  NIX_CFLAGS_COMPILE = [ "-DDAEMON_UID=1"
+                         "-DDAEMON_GID=1"
+                         "-DDEFAULT_AT_QUEUE=\'a\'"
+                         "-DDEFAULT_BATCH_QUEUE=\'b\'"
+                         "-DPERM_PATH=\"/usr/lib/cron/\""
+                         "-DOPEN_DIRECTORY"
+                         "-DNO_DIRECT_RPC"
+                         "-DAPPLE_GETCONF_UNDERSCORE"
+                         "-DAPPLE_GETCONF_SPEC"
+                         "-DUSE_PAM"
+                         "-DUSE_BSM_AUDIT"
+                         "-D_PW_NAME_LEN=MAXLOGNAME"
+                         "-D_PW_YPTOKEN=\"__YP!\""
+                         "-DAHZV1=64 "
+                         "-DAU_SESSION_FLAG_HAS_TTY=0x4000"
+                         "-DAU_SESSION_FLAG_HAS_AUTHENTICATED=0x4000"
+                       ] ++ lib.optional (!stdenv.isLinux) " -D__FreeBSD__ ";
+
+  patchPhase = ''
+    substituteInPlace login.tproj/login.c \
+      --replace bsm/audit_session.h bsm/audit.h
+    substituteInPlace login.tproj/login_audit.c \
+      --replace bsm/audit_session.h bsm/audit.h
+  '';
+
+  buildPhase = ''
+    for dir in *.tproj; do
+      name=$(basename $dir)
+      name=''${name%.tproj}
+
+      CFLAGS=""
+      case $name in
+           arch) CFLAGS="-framework CoreFoundation";;
+           atrun) CFLAGS="-Iat.tproj";;
+           chkpasswd)
+             CFLAGS="-framework OpenDirectory -framework CoreFoundation -lpam";;
+           getconf)
+               for f in getconf.tproj/*.gperf; do
+                   cfile=''${f%.gperf}.c
+                   LC_ALL=C awk -f getconf.tproj/fake-gperf.awk $f > $cfile
+               done
+           ;;
+           iostat) CFLAGS="-framework IOKit -framework CoreFoundation";;
+           login) CFLAGS="-lbsm -lpam";;
+           nvram) CFLAGS="-framework CoreFoundation -framework IOKit";;
+           sadc) CFLAGS="-framework IOKit -framework CoreFoundation";;
+           sar) CFLAGS="-Isadc.tproj";;
+      esac
+
+      echo "Building $name"
+
+      case $name in
+
+           # These are all broken currently.
+           arch) continue;;
+           chpass) continue;;
+           dirhelper) continue;;
+           dynamic_pager) continue;;
+           fs_usage) continue;;
+           latency) continue;;
+           pagesize) continue;;
+           passwd) continue;;
+           reboot) continue;;
+           sc_usage) continue;;
+           shutdown) continue;;
+           trace) continue;;
+
+           *) cc $dir/*.c -I''${dir} $CFLAGS -o $name ;;
+      esac
+    done
+  '';
+
+  installPhase = ''
+    for dir in *.tproj; do
+      name=$(basename $dir)
+      name=''${name%.tproj}
+      [ -x $name ] && install -D $name $out/bin/$name
+      for n in 1 2 3 4 5 6 7 8 9; do
+        for f in $dir/*.$n; do
+          install -D $f $out/share/man/man$n/$(basename $f)
+        done
       done
-    '';
+    done
+  '';
 
   meta = {
     platforms = stdenv.lib.platforms.darwin;
-    maintainers = with stdenv.lib.maintainers; [ shlevy ];
+    maintainers = with stdenv.lib.maintainers; [ shlevy matthewbauer ];
   };
 }
diff --git a/pkgs/os-specific/darwin/apple-source-releases/text_cmds/default.nix b/pkgs/os-specific/darwin/apple-source-releases/text_cmds/default.nix
new file mode 100644
index 00000000000..196276b0b27
--- /dev/null
+++ b/pkgs/os-specific/darwin/apple-source-releases/text_cmds/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, appleDerivation, fetchurl, xcbuild, ncurses, bzip2, zlib, lzma }:
+
+appleDerivation {
+  buildInputs = [ xcbuild ncurses bzip2 zlib lzma ];
+
+  # patches to use ncursees
+  # disables md5
+  patchPhase = ''
+    substituteInPlace text_cmds.xcodeproj/project.pbxproj \
+		  --replace 'FC6C98FB149A94EB00DDCC47 /* libcurses.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libcurses.dylib; path = /usr/lib/libcurses.dylib; sourceTree = "<absolute>"; };' 'FC6C98FB149A94EB00DDCC47 /* libncurses.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libncurses.dylib; path = /usr/lib/libncurses.dylib; sourceTree = "<absolute>"; };' \
+      --replace 'FC7A7EB5149875E00086576A /* PBXTargetDependency */,' ""
+  '';
+
+  installPhase = ''
+    mkdir -p $out/bin
+    for f in Products/Release/*; do
+      install -D $f $out/bin/$(basename $f)
+    done
+  '';
+
+  meta = {
+    platforms = stdenv.lib.platforms.darwin;
+    maintainers = with stdenv.lib.maintainers; [ matthewbauer ];
+  };
+}
diff --git a/pkgs/os-specific/darwin/apple-source-releases/top/default.nix b/pkgs/os-specific/darwin/apple-source-releases/top/default.nix
new file mode 100644
index 00000000000..4ddec2a30c9
--- /dev/null
+++ b/pkgs/os-specific/darwin/apple-source-releases/top/default.nix
@@ -0,0 +1,15 @@
+{xcbuild, appleDerivation, apple_sdk, ncurses, libutil-new, lib}:
+
+appleDerivation {
+  buildInputs = [ xcbuild apple_sdk.frameworks.IOKit ncurses libutil-new ];
+  NIX_LDFLAGS = "-lutil";
+  installPhase = ''
+    install -D Products/Release/libtop.a $out/lib/libtop.a
+    install -D Products/Release/libtop.h $out/include/libtop.h
+    install -D Products/Release/top $out/bin/top
+  '';
+  meta = {
+    platforms = lib.platforms.darwin;
+    maintainers = with lib.maintainers; [ matthewbauer ];
+  };
+}
diff --git a/pkgs/os-specific/darwin/binutils/default.nix b/pkgs/os-specific/darwin/binutils/default.nix
index 1fff4915da3..21d64979d7e 100644
--- a/pkgs/os-specific/darwin/binutils/default.nix
+++ b/pkgs/os-specific/darwin/binutils/default.nix
@@ -1,13 +1,13 @@
-{ stdenv, binutils-raw, cctools
+{ stdenv, binutils-unwrapped, cctools
 , hostPlatform, targetPlatform
 }:
 
 # Make sure both underlying packages claim to have prepended their binaries
 # with the same targetPrefix.
-assert binutils-raw.targetPrefix == cctools.targetPrefix;
+assert binutils-unwrapped.targetPrefix == cctools.targetPrefix;
 
 let
-  inherit (binutils-raw) targetPrefix;
+  inherit (binutils-unwrapped) targetPrefix;
   cmds = [
     "ar" "ranlib" "as" "dsymutil" "install_name_tool"
     "ld" "strip" "otool" "lipo" "nm" "strings" "size"
@@ -21,7 +21,7 @@ stdenv.mkDerivation {
   buildCommand = ''
     mkdir -p $out/bin $out/include
 
-    ln -s ${binutils-raw.bintools.out}/bin/${targetPrefix}c++filt $out/bin/${targetPrefix}c++filt
+    ln -s ${binutils-unwrapped.out}/bin/${targetPrefix}c++filt $out/bin/${targetPrefix}c++filt
 
     # We specifically need:
     # - ld: binutils doesn't provide it on darwin
@@ -38,15 +38,15 @@ stdenv.mkDerivation {
       ln -sf "${cctools}/bin/$i" "$out/bin/$i"
     done
 
-    ln -s ${binutils-raw.bintools.out}/share $out/share
+    ln -s ${binutils-unwrapped.out}/share $out/share
 
     ln -s ${cctools}/libexec $out/libexec
 
     mkdir -p "$info/nix-support" "$man/nix-support"
-    printWords ${binutils-raw.bintools.info} \
+    printWords ${binutils-unwrapped.info} \
       >> $info/nix-support/propagated-build-inputs
     # FIXME: cctools missing man pages
-    printWords ${binutils-raw.bintools.man} \
+    printWords ${binutils-unwrapped.man} \
       >> $man/nix-support/propagated-build-inputs
   '';
 
diff --git a/pkgs/os-specific/darwin/cctools/ld-tbd-v2.patch b/pkgs/os-specific/darwin/cctools/ld-tbd-v2.patch
new file mode 100644
index 00000000000..9aae2be1d03
--- /dev/null
+++ b/pkgs/os-specific/darwin/cctools/ld-tbd-v2.patch
@@ -0,0 +1,98 @@
+diff --git a/cctools/ld64/src/ld/parsers/textstub_dylib_file.cpp b/cctools/ld64/src/ld/parsers/textstub_dylib_file.cpp
+index 09c0e12..ac6b085 100644
+--- a/cctools/ld64/src/ld/parsers/textstub_dylib_file.cpp
++++ b/cctools/ld64/src/ld/parsers/textstub_dylib_file.cpp
+@@ -187,6 +187,7 @@ struct DynamicLibrary {
+ 	ld::File::ObjcConstraint _objcConstraint;
+ 	Options::Platform _platform;
+ 	std::vector<Token> _allowedClients;
++	std::vector<Token> _allowableClients;
+ 	std::vector<Token> _reexportedLibraries;
+ 	std::vector<Token> _symbols;
+ 	std::vector<Token> _classes;
+@@ -246,6 +247,14 @@ class TBDFile {
+ 		});
+ 	}
+ 
++	void parseAllowableClients(DynamicLibrary& lib) {
++		if ( !hasOptionalToken("allowable-clients") )
++			return;
++		parseFlowSequence([&](Token name) {
++			lib._allowableClients.emplace_back(name);
++		});
++	}
++
+ 	void parseReexportedDylibs(DynamicLibrary& lib) {
+ 		if ( !hasOptionalToken("re-exports") )
+ 			return;
+@@ -306,6 +315,21 @@ class TBDFile {
+ 		return false;
+ 	}
+ 
++	void skipUUIDs(DynamicLibrary& lib) {
++		expectToken("uuids");
++		while ( true ) {
++			auto token = next();
++			if ( token == "]" )
++				break;
++		}
++	}
++
++	void skipParentUmbrella(DynamicLibrary& lib) {
++		if (!hasOptionalToken("parent-umbrella"))
++			return;
++		next();
++	}
++
+ 	void parsePlatform(DynamicLibrary& lib) {
+ 		expectToken("platform");
+ 
+@@ -410,6 +434,7 @@ class TBDFile {
+ 			}
+ 
+ 			parseAllowedClients(lib);
++			parseAllowableClients(lib);
+ 			parseReexportedDylibs(lib);
+ 			parseSymbols(lib);
+ 			if ( !hasOptionalToken("-") )
+@@ -455,17 +480,21 @@ class TBDFile {
+ 			return result.front();
+ 	}
+ 
+-	void parseDocument(DynamicLibrary& lib, std::string &requestedArchName) {
++	void parseDocument(DynamicLibrary& lib, std::string &requestedArchName, bool isTbdV2) {
+ 		auto selectedArchName = parseAndSelectArchitecture(requestedArchName);
+ 		if (selectedArchName.empty())
+ 			throwf("invalid arch");
+ 
++		if(isTbdV2)
++			skipUUIDs(lib);
+ 		parsePlatform(lib);
+ 		parseInstallName(lib);
+ 		parseCurrentVersion(lib);
+ 		parseCompatibilityVersion(lib);
+ 		parseSwiftVersion(lib);
+ 		parseObjCConstraint(lib);
++		if(isTbdV2)
++			skipParentUmbrella(lib);
+ 		parseExportsBlock(lib, selectedArchName);
+ 	}
+ 
+@@ -476,7 +505,8 @@ public:
+ 		_tokenizer.reset();
+ 		DynamicLibrary lib;
+ 		expectToken("---");
+-		parseDocument(lib, requestedArchName);
++		auto isTbdV2 = hasOptionalToken("!tapi-tbd-v2");
++		parseDocument(lib, requestedArchName, isTbdV2);
+ 		expectToken("...");
+ 		return lib;
+ 	}
+@@ -486,6 +516,7 @@ public:
+ 		auto token = next();
+ 		if ( token != "---" )
+ 			return false;
++		hasOptionalToken("!tapi-tbd-v2");
+ 		return !parseAndSelectArchitecture(requestedArchName).empty();
+ 	}
+ 
diff --git a/pkgs/os-specific/darwin/cctools/port.nix b/pkgs/os-specific/darwin/cctools/port.nix
index 55995c1592d..24f21b498aa 100644
--- a/pkgs/os-specific/darwin/cctools/port.nix
+++ b/pkgs/os-specific/darwin/cctools/port.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, makeWrapper, autoconf, automake, libtool_2
+{ stdenv, fetchFromGitHub, makeWrapper, autoconf, automake, libtool_2, autoreconfHook
 , llvm, libcxx, libcxxabi, clang, libuuid
 , libobjc ? null, maloader ? null, xctoolchain ? null
 , hostPlatform, targetPlatform
@@ -6,6 +6,14 @@
 }:
 
 let
+
+  # We need to use an old version of cctools-port to support linking TBD files
+  # in the iOS SDK. Note that this only provides support for SDK versions up to
+  # 10.x. For 11.0 and higher we will need to upgrade to a newer cctools than the
+  # default version here, which can support the new TBD format via Apple's
+  # libtapi.
+  useOld = targetPlatform.isiOS;
+
   # The targetPrefix prepended to binary names to allow multiple binuntils on the
   # PATH to both be usable.
   targetPrefix = stdenv.lib.optionalString
@@ -16,10 +24,12 @@ in
 # Non-Darwin alternatives
 assert (!hostPlatform.isDarwin) -> (maloader != null && xctoolchain != null);
 
+assert enableDumpNormalizedLibArgs -> (!useOld);
+
 let
   baseParams = rec {
     name = "${targetPrefix}cctools-port-${version}";
-    version = "895";
+    version = if useOld then "886" else "895";
 
     src = fetchFromGitHub (if enableDumpNormalizedLibArgs then {
       owner  = "tpoechtrager";
@@ -27,6 +37,11 @@ let
       # master with https://github.com/tpoechtrager/cctools-port/pull/34
       rev    = "8395d4b2c3350356e2fb02f5e04f4f463c7388df";
       sha256 = "10vbf1cfzx02q8chc77s84fp2kydjpx2y682mr6mrbb7sq5rwh8f";
+    } else if useOld then {
+      owner  = "tpoechtrager";
+      repo   = "cctools-port";
+      rev    = "02f0b8ecd87a3951653d838a321ae744815e21a5";
+      sha256 = "0bzyabzr5dvbxglr74d0kbrk2ij5x7s5qcamqi1v546q1had1wz1";
     } else {
       owner  = "tpoechtrager";
       repo   = "cctools-port";
@@ -36,7 +51,11 @@ let
 
     outputs = [ "out" "dev" ];
 
-    nativeBuildInputs = [ autoconf automake libtool_2 ];
+    nativeBuildInputs = [
+      autoconf automake libtool_2
+    ] ++ stdenv.lib.optionals useOld [
+      autoreconfHook
+    ];
     buildInputs = [ libuuid ] ++
       # Only need llvm and clang if the stdenv isn't already clang-based (TODO: just make a stdenv.cc.isClang)
       stdenv.lib.optionals (!stdenv.isDarwin) [ llvm clang ] ++
@@ -44,9 +63,14 @@ let
 
     patches = [
       ./ld-rpath-nonfinal.patch ./ld-ignore-rpath-link.patch
+    ] ++ stdenv.lib.optionals useOld [
+      # See https://github.com/tpoechtrager/cctools-port/issues/24. Remove when that's fixed.
+      ./undo-unknown-triple.patch
+      ./ld-tbd-v2.patch
+      ./support-ios.patch
     ];
 
-    __propagatedImpureHostDeps = [
+    __propagatedImpureHostDeps = stdenv.lib.optionals (!useOld) [
       # As far as I can tell, otool from cctools is the only thing that depends on these two, and we should fix them
       "/usr/lib/libobjc.A.dylib"
       "/usr/lib/libobjc.dylib"
@@ -84,14 +108,15 @@ let
       #  include_next "unistd.h"
       #endif
       EOF
+
+      cd cctools
     '' + stdenv.lib.optionalString (!stdenv.isDarwin) ''
-      sed -i -e 's|clang++|& -I${libcxx}/include/c++/v1|' cctools/autogen.sh
+      sed -i -e 's|clang++|& -I${libcxx}/include/c++/v1|' autogen.sh
     '';
 
     # TODO: this builds an ld without support for LLVM's LTO. We need to teach it, but that's rather
     # hairy to handle during bootstrap. Perhaps it could be optional?
     preConfigure = ''
-      cd cctools
       sh autogen.sh
     '';
 
diff --git a/pkgs/os-specific/darwin/cctools/support-ios.patch b/pkgs/os-specific/darwin/cctools/support-ios.patch
new file mode 100644
index 00000000000..f78c6b63ac8
--- /dev/null
+++ b/pkgs/os-specific/darwin/cctools/support-ios.patch
@@ -0,0 +1,13 @@
+diff --git a/cctools/configure.ac b/cctools/configure.ac
+index 56e8f24..0b4b3ff 100644
+--- a/cctools/configure.ac
++++ b/cctools/configure.ac
+@@ -39,7 +39,7 @@ EXTRACXXFLAGS=""
+ WARNINGS=""
+ 
+ case $host_os in
+-  darwin* )
++  darwin* | ios*)
+     isdarwin=yes
+     AM_CONDITIONAL([ISDARWIN], [true])
+   ;;
diff --git a/pkgs/os-specific/darwin/cctools/undo-unknown-triple.patch b/pkgs/os-specific/darwin/cctools/undo-unknown-triple.patch
new file mode 100644
index 00000000000..7df9bdd16da
--- /dev/null
+++ b/pkgs/os-specific/darwin/cctools/undo-unknown-triple.patch
@@ -0,0 +1,17 @@
+diff --git a/cctools/as/driver.c b/cctools/as/driver.c
+index b06d085..c03397a 100644
+--- a/cctools/as/driver.c
++++ b/cctools/as/driver.c
+@@ -363,12 +363,6 @@ char **envp)
+ 	    /* Add -c or clang will run ld(1). */
+ 	    new_argv[j] = "-c";
+ 	    j++;
+-	    /* cctools-port start */
+-	    new_argv[j] = "-target";
+-	    j++;
+-	    new_argv[j] = "unknown-apple-darwin";
+-	    j++;
+-	    /* cctools-port end */
+ 	    new_argv[j] = NULL;
+ 	    if(execute(new_argv, verbose))
+ 		exit(0);
diff --git a/pkgs/os-specific/darwin/darling/default.nix b/pkgs/os-specific/darwin/darling/default.nix
new file mode 100644
index 00000000000..c1e29843147
--- /dev/null
+++ b/pkgs/os-specific/darwin/darling/default.nix
@@ -0,0 +1,39 @@
+{stdenv, lib, fetchzip, cmake, bison, flex}:
+
+stdenv.mkDerivation rec {
+  pname = "darling";
+  name = pname;
+
+  src = fetchzip {
+    url = "https://github.com/darlinghq/darling/archive/d2cc5fa748003aaa70ad4180fff0a9a85dc65e9b.tar.gz";
+    sha256 = "11b51fw47nl505h63bgx5kqiyhf3glhp1q6jkpb6nqfislnzzkrf";
+    postFetch = ''
+      # Get rid of case conflict
+      mkdir $out
+      cd $out
+      tar -xzf $downloadedFile --strip-components=1
+      rm -r $out/src/libm
+    '';
+  };
+
+  # only packaging sandbox for now
+  buildPhase = ''
+    cc -c src/sandbox/sandbox.c -o src/sandbox/sandbox.o
+    cc -dynamiclib -flat_namespace src/sandbox/sandbox.o -o libsystem_sandbox.dylib
+  '';
+
+  installPhase = ''
+    mkdir -p $out/lib
+    cp -rL src/sandbox/include/ $out/
+    cp libsystem_sandbox.dylib $out/lib/
+  '';
+
+  # buildInputs = [ cmake bison flex ];
+
+  meta = with lib; {
+    maintainers = with maintainers; [ matthewbauer ];
+    license = licenses.gpl3;
+    description = "Darwin/macOS emulation layer for Linux";
+    platforms = platforms.darwin;
+  };
+}
diff --git a/pkgs/os-specific/darwin/ios-cross/default.nix b/pkgs/os-specific/darwin/ios-cross/default.nix
deleted file mode 100644
index 175e9738ef9..00000000000
--- a/pkgs/os-specific/darwin/ios-cross/default.nix
+++ /dev/null
@@ -1,61 +0,0 @@
-{ runCommand
-, lib
-, llvm
-, clang
-, binutils
-, stdenv
-, coreutils
-, gnugrep
-, buildPackages
-, hostPlatform
-, targetPlatform
-}:
-
-/* As of this writing, known-good prefix/arch/simulator triples:
- * aarch64-apple-darwin14 | arm64  | false
- * arm-apple-darwin10     | armv7  | false
- * i386-apple-darwin11    | i386   | true
- * x86_64-apple-darwin14  | x86_64 | true
- */
-
-# Apple uses somewhat non-standard names for this. We could fall back on
-# `targetPlatform.parsed.cpu.name`, but that would be a more standard one and
-# likely to fail. Better just to require something manual.
-assert targetPlatform ? arch;
-
-let
-
-  prefix = targetPlatform.config;
-  inherit (targetPlatform) arch;
-  simulator = targetPlatform.isiPhoneSimulator or false;
-
-  sdkType = if simulator then "Simulator" else "OS";
-
-  sdkVer = "10.2";
-
-  sdk = "/Applications/Xcode.app/Contents/Developer/Platforms/iPhone${sdkType}.platform/Developer/SDKs/iPhone${sdkType}${sdkVer}.sdk";
-
-in (import ../../../build-support/cc-wrapper {
-    inherit stdenv coreutils gnugrep runCommand buildPackages;
-    nativeTools = false;
-    nativeLibc = false;
-    inherit binutils;
-    libc = runCommand "empty-libc" {} "mkdir -p $out/{lib,include}";
-    inherit (clang) cc;
-    inherit hostPlatform targetPlatform;
-    extraBuildCommands = ''
-      if ! [ -d ${sdk} ]; then
-          echo "You must have ${sdkVer} of the iPhone${sdkType} sdk installed at ${sdk}" >&2
-          exit 1
-      fi
-      # ugh
-      tr '\n' ' ' < $out/nix-support/cc-cflags > cc-cflags.tmp
-      mv cc-cflags.tmp $out/nix-support/cc-cflags
-      echo "-target ${prefix} -arch ${arch} -idirafter ${sdk}/usr/include ${if simulator then "-mios-simulator-version-min=7.0" else "-miphoneos-version-min=7.0"}" >> $out/nix-support/cc-cflags
-
-      # Purposefully overwrite libc-ldflags-before, cctools ld doesn't know dynamic-linker and cc-wrapper doesn't do cross-compilation well enough to adjust
-      echo "-arch ${arch} -L${sdk}/usr/lib ${lib.optionalString simulator "-L${sdk}/usr/lib/system "}-i${if simulator then "os_simulator" else "phoneos"}_version_min 7.0.0" > $out/nix-support/libc-ldflags-before
-    '';
-  }) // {
-    inherit sdkType sdkVer sdk;
-  }
diff --git a/pkgs/os-specific/darwin/ios-sdk-pkgs/default.nix b/pkgs/os-specific/darwin/ios-sdk-pkgs/default.nix
new file mode 100644
index 00000000000..f336b14ee37
--- /dev/null
+++ b/pkgs/os-specific/darwin/ios-sdk-pkgs/default.nix
@@ -0,0 +1,68 @@
+{ lib, hostPlatform, targetPlatform
+, clang-unwrapped
+, binutils-unwrapped
+, runCommand
+, stdenv
+, wrapBintoolsWith
+, wrapCCWith
+, buildIosSdk, targetIosSdkPkgs
+}:
+
+let
+
+minSdkVersion = "9.0";
+
+iosPlatformArch = { parsed, ... }: {
+  "armv7a"  = "armv7";
+  "aarch64" = "arm64";
+  "x86_64"  = "x86_64";
+}.${parsed.cpu.name};
+
+in
+
+rec {
+  # TODO(kmicklas): Make a pure version of this for each supported SDK version.
+  sdk = rec {
+    name = "ios-sdk";
+    type = "derivation";
+    outPath = "/Applications/Xcode.app/Contents/Developer/Platforms/iPhone${sdkType}.platform/Developer/SDKs/iPhone${sdkType}${version}.sdk";
+
+    sdkType = if targetPlatform.isiPhoneSimulator then "Simulator" else "OS";
+    version = targetPlatform.sdkVer;
+  };
+
+  binutils = wrapBintoolsWith {
+    libc = targetIosSdkPkgs.libraries;
+    bintools = binutils-unwrapped;
+    extraBuildCommands = ''
+      echo "-arch ${iosPlatformArch targetPlatform}" >> $out/nix-support/libc-ldflags
+    '';
+  };
+
+  clang = (wrapCCWith {
+    cc = clang-unwrapped;
+    bintools = binutils;
+    libc = targetIosSdkPkgs.libraries;
+    extraBuildCommands = ''
+      tr '\n' ' ' < $out/nix-support/cc-cflags > cc-cflags.tmp
+      mv cc-cflags.tmp $out/nix-support/cc-cflags
+      echo "-target ${targetPlatform.config} -arch ${iosPlatformArch targetPlatform}" >> $out/nix-support/cc-cflags
+      echo "-isystem ${sdk}/usr/include -isystem ${sdk}/usr/include/c++/4.2.1/ -stdlib=libstdc++" >> $out/nix-support/cc-cflags
+      echo "${if targetPlatform.isiPhoneSimulator then "-mios-simulator-version-min" else "-miphoneos-version-min"}=${minSdkVersion}" >> $out/nix-support/cc-cflags
+    '';
+  }) // {
+    inherit sdk;
+  };
+
+  libraries = let sdk = buildIosSdk; in runCommand "libSystem-prebuilt" {
+    passthru = {
+      inherit sdk;
+    };
+  } ''
+    if ! [ -d ${sdk} ]; then
+        echo "You must have version ${sdk.version} of the iPhone${sdk.sdkType} sdk installed at ${sdk}" >&2
+        exit 1
+    fi
+    ln -s ${sdk}/usr $out
+  '';
+}
diff --git a/pkgs/os-specific/darwin/maloader/default.nix b/pkgs/os-specific/darwin/maloader/default.nix
index 5f4306ec0c1..133266ec95a 100644
--- a/pkgs/os-specific/darwin/maloader/default.nix
+++ b/pkgs/os-specific/darwin/maloader/default.nix
@@ -32,5 +32,6 @@ stdenv.mkDerivation {
     description = "Mach-O loader for Linux";
     homepage = https://github.com/shinh/maloader;
     license = stdenv.lib.licenses.bsd2;
+    platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/os-specific/darwin/native-x11-and-opengl/default.nix b/pkgs/os-specific/darwin/native-x11-and-opengl/default.nix
index 3844912f6ba..fa3d4284e59 100644
--- a/pkgs/os-specific/darwin/native-x11-and-opengl/default.nix
+++ b/pkgs/os-specific/darwin/native-x11-and-opengl/default.nix
@@ -1,7 +1,5 @@
 { stdenv, writeScript }:
 
-assert stdenv.isDarwin;
-
 stdenv.mkDerivation rec {
   name = "darwin-native-x11-and-opengl";
 
diff --git a/pkgs/os-specific/darwin/opencflite/default.nix b/pkgs/os-specific/darwin/opencflite/default.nix
index 09a346e4446..960e0677da1 100644
--- a/pkgs/os-specific/darwin/opencflite/default.nix
+++ b/pkgs/os-specific/darwin/opencflite/default.nix
@@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
     sha256 = "0jgmzs0ycl930hmzcvx0ykryik56704yw62w394q1q3xw5kkjn9v";
   };
 
-  configureFlags = [ "--with-uuid=${libuuid}" ];
+  configureFlags = [ "--with-uuid=${libuuid.dev}" ];
   buildInputs = [ icu tzdata.dev ];
   enableParallelBuilding = true;
 
diff --git a/pkgs/os-specific/darwin/osx-private-sdk/default.nix b/pkgs/os-specific/darwin/osx-private-sdk/default.nix
index 1eecdbc5618..115512a6feb 100644
--- a/pkgs/os-specific/darwin/osx-private-sdk/default.nix
+++ b/pkgs/os-specific/darwin/osx-private-sdk/default.nix
@@ -10,7 +10,7 @@ stdenv.mkDerivation {
     sha256 = "0bv0884yxpvk2ishxj8gdy1w6wb0gwfq55q5qjp0s8z0z7f63zqh";
   };
 
-  # NOTE: we install only headers that are really needed to keep closure sie
+  # NOTE: we install only headers that are really needed to keep closure size
   # reasonable.
   installPhase = ''
     mkdir -p $out/include
diff --git a/pkgs/os-specific/darwin/skhd/default.nix b/pkgs/os-specific/darwin/skhd/default.nix
new file mode 100644
index 00000000000..c51ada10d68
--- /dev/null
+++ b/pkgs/os-specific/darwin/skhd/default.nix
@@ -0,0 +1,31 @@
+{ stdenv, fetchFromGitHub, Carbon }:
+
+stdenv.mkDerivation rec {
+  name = "skhd-${version}";
+  version = "0.1.1";
+
+  src = fetchFromGitHub {
+    owner = "koekeishiya";
+    repo = "skhd";
+    rev = "v${version}";
+    sha256 = "1wh7v90ydh27gbaiwn2r6ncx6yiic4mph3w9vi1282nz2q02zxss";
+  };
+
+  buildInputs = [ Carbon ];
+
+  makeFlags = [ "BUILD_PATH=$(out)/bin" ];
+
+  postInstall = ''
+    mkdir -p $out/Library/LaunchDaemons
+    cp ${./org.nixos.skhd.plist} $out/Library/LaunchDaemons/org.nixos.skhd.plist
+    substituteInPlace $out/Library/LaunchDaemons/org.nixos.skhd.plist --subst-var out
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Simple hotkey daemon for macOS";
+    homepage = https://github.com/koekeishiya/skhd;
+    platforms = platforms.darwin;
+    maintainers = with maintainers; [ lnl7 ];
+    license = licenses.mit;
+  };
+}
diff --git a/pkgs/os-specific/darwin/skhd/org.nixos.skhd.plist b/pkgs/os-specific/darwin/skhd/org.nixos.skhd.plist
new file mode 100644
index 00000000000..e6624487740
--- /dev/null
+++ b/pkgs/os-specific/darwin/skhd/org.nixos.skhd.plist
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+  <key>Label</key>
+  <string>org.nixos.skhd</string>
+  <key>ProgramArguments</key>
+  <array>
+    <string>@out@/bin/skhd</string>
+  </array>
+  <key>ProcessType</key>
+  <string>Interactive</string>
+  <key>EnvironmentVariables</key>
+  <dict>
+    <key>PATH</key>
+    <string>@out@/bin:/nix/var/nix/profiles/default/bin:/usr/bin:/bin:/usr/sbin:/sbin</string>
+  </dict>
+  <key>RunAtLoad</key>
+  <true/>
+  <key>KeepAlive</key>
+  <true/>
+</dict>
+</plist>
diff --git a/pkgs/os-specific/darwin/swift-corefoundation/default.nix b/pkgs/os-specific/darwin/swift-corelibs/corefoundation.nix
index 969168fa54b..969168fa54b 100644
--- a/pkgs/os-specific/darwin/swift-corefoundation/default.nix
+++ b/pkgs/os-specific/darwin/swift-corelibs/corefoundation.nix
diff --git a/pkgs/os-specific/darwin/swift-corelibs/default.nix b/pkgs/os-specific/darwin/swift-corelibs/default.nix
new file mode 100644
index 00000000000..fdc97304528
--- /dev/null
+++ b/pkgs/os-specific/darwin/swift-corelibs/default.nix
@@ -0,0 +1,8 @@
+{callPackage, stdenv, darwin, xcbuild}:
+
+rec {
+  corefoundation = callPackage ./corefoundation.nix {};
+  libdispatch = callPackage ./libdispatch.nix {
+   inherit (darwin) apple_sdk_sierra xnu;
+  };
+}
diff --git a/pkgs/os-specific/darwin/swift-corelibs/libdispatch.nix b/pkgs/os-specific/darwin/swift-corelibs/libdispatch.nix
new file mode 100644
index 00000000000..bd143b6071b
--- /dev/null
+++ b/pkgs/os-specific/darwin/swift-corelibs/libdispatch.nix
@@ -0,0 +1,12 @@
+{ stdenv, fetchFromGitHub, cmake, apple_sdk_sierra, xnu-new }:
+
+stdenv.mkDerivation rec {
+  name = "swift-corelibs-libdispatch";
+  src = fetchFromGitHub {
+    owner = "apple";
+    repo = name;
+    rev = "f83b5a498bad8e9ff8916183cf6e8ccf677c346b";
+    sha256 = "1czkyyc9llq2mnqfp19mzcfsxzas0y8zrk0gr5hg60acna6jkz2l";
+  };
+  buildInputs = [ cmake apple_sdk_sierra.sdk xnu-new ];
+}
diff --git a/pkgs/os-specific/darwin/xcode/default.nix b/pkgs/os-specific/darwin/xcode/default.nix
index d3a9ec012eb..bea8bc5d3c2 100644
--- a/pkgs/os-specific/darwin/xcode/default.nix
+++ b/pkgs/os-specific/darwin/xcode/default.nix
@@ -14,7 +14,6 @@ in stdenv.mkDerivation rec {
     sha256 = "70bb550cc14eca80b9825f4ae9bfbf7f076bb75777311be428bc30a7eb7a6f7e";
   };
 
-  phases = [ "unpackPhase" "patchPhase" "installPhase" "fixupPhase" ];
   outputs = [ "out" "toolchain" ];
 
 
diff --git a/pkgs/os-specific/gnu/mig/default.nix b/pkgs/os-specific/gnu/mig/default.nix
index 34426b45d55..2855f5b4240 100644
--- a/pkgs/os-specific/gnu/mig/default.nix
+++ b/pkgs/os-specific/gnu/mig/default.nix
@@ -46,7 +46,7 @@ stdenv.mkDerivation {
 
     homepage = http://www.gnu.org/software/hurd/microkernel/mach/mig/gnu_mig.html;
 
-    # platforms = stdenv.lib.platforms.gnu;  # really GNU/Hurd
+    # platforms = stdenv.lib.platforms.gnu ++ stdenv.lib.platforms.linux;  # really GNU/Hurd
     maintainers = [ stdenv.lib.maintainers.ludo ];
   };
 }
diff --git a/pkgs/os-specific/linux/acpid/default.nix b/pkgs/os-specific/linux/acpid/default.nix
index c209cf6e316..ad763d2ee29 100644
--- a/pkgs/os-specific/linux/acpid/default.nix
+++ b/pkgs/os-specific/linux/acpid/default.nix
@@ -1,13 +1,23 @@
-{ stdenv, fetchurl }:
+{ stdenv, fetchurl, autoreconfHook }:
 
 stdenv.mkDerivation rec {
-  name = "acpid-2.0.28";
+  name = "acpid-2.0.29";
 
   src = fetchurl {
     url = "mirror://sourceforge/acpid2/${name}.tar.xz";
-    sha256 = "043igasvp1l6nv5rzh4sksmymay2qn20anl4zm4zvwnkn1a3l34q";
+    sha256 = "1zq38al07z92r2md18zivrzgjqnn7m2wahdpgri6wijwjwkknl2q";
   };
 
+  nativeBuildInputs = [ autoreconfHook ];
+
+  # remove when https://sourceforge.net/p/acpid2/code/merge-requests/1/ is merged
+  postPatch = ''
+    substituteInPlace configure.ac \
+      --replace "AC_FUNC_MALLOC" "" \
+      --replace "AC_FUNC_REALLOC" "" \
+      --replace "strrchr strtol" "strrchr strtol malloc realloc"
+  '';
+
   meta = with stdenv.lib; {
     homepage = http://tedfelix.com/linux/acpid-netlink.html;
     description = "A daemon for delivering ACPI events to userspace programs";
diff --git a/pkgs/os-specific/linux/alsa-lib/default.nix b/pkgs/os-specific/linux/alsa-lib/default.nix
index 5b0d404faaf..c2c612db542 100644
--- a/pkgs/os-specific/linux/alsa-lib/default.nix
+++ b/pkgs/os-specific/linux/alsa-lib/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "alsa-lib-1.1.5";
+  name = "alsa-lib-1.1.6";
 
   src = fetchurl {
     urls = [
      "ftp://ftp.alsa-project.org/pub/lib/${name}.tar.bz2"
      "http://alsa.cybermirror.org/lib/${name}.tar.bz2"
     ];
-    sha256 = "1rhacnlj0grvfagjx5qzsnbhw7m7lyccghqs4jsv0dnsqv9qmxpl";
+    sha256 = "096pwrnhj36yndldvs2pj4r871zhcgisks0is78f1jkjn9sd4b2z";
   };
 
   patches = [
diff --git a/pkgs/os-specific/linux/alsa-oss/default.nix b/pkgs/os-specific/linux/alsa-oss/default.nix
index 0d02daebe1d..5cd937a3792 100644
--- a/pkgs/os-specific/linux/alsa-oss/default.nix
+++ b/pkgs/os-specific/linux/alsa-oss/default.nix
@@ -1,14 +1,14 @@
 {stdenv, fetchurl, alsaLib, gettext, ncurses, libsamplerate}:
 
 stdenv.mkDerivation rec {
-  name = "alsa-oss-1.0.28";
+  name = "alsa-oss-1.1.6";
 
   src = fetchurl {
     urls = [
       "ftp://ftp.alsa-project.org/pub/oss-lib/${name}.tar.bz2"
       "http://alsa.cybermirror.org/oss-lib/${name}.tar.bz2"
     ];
-    sha256 = "1mbabiywxjjlvdh257j3a0v4vvy69mwwnvc3xlq7pg50i2m2rris";
+    sha256 = "1sj512wyci5qv8cisps96xngh7y9r5mv18ybqnazy18zwr1zgly3";
   };
 
   buildInputs = [ alsaLib ncurses libsamplerate ];
diff --git a/pkgs/os-specific/linux/alsa-plugins/default.nix b/pkgs/os-specific/linux/alsa-plugins/default.nix
index dc11d21ff1c..f57f84b293b 100644
--- a/pkgs/os-specific/linux/alsa-plugins/default.nix
+++ b/pkgs/os-specific/linux/alsa-plugins/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchurl, lib, pkgconfig, alsaLib, libogg, libpulseaudio ? null, libjack2 ? null }:
 
 stdenv.mkDerivation rec {
-  name = "alsa-plugins-1.1.5";
+  name = "alsa-plugins-1.1.6";
 
   src = fetchurl {
     urls = [
       "ftp://ftp.alsa-project.org/pub/plugins/${name}.tar.bz2"
       "http://alsa.cybermirror.org/plugins/${name}.tar.bz2"
     ];
-    sha256 = "073zpgvj4pldmzqq97l40wngvbqnvrkc8yw153mgny9kypwaazbr";
+    sha256 = "04qcwkisbh0d6lnh0rw1k6n869fbs6zbfq6yvb41rymiwgmk27bg";
   };
 
   # ToDo: a52, etc.?
diff --git a/pkgs/os-specific/linux/alsa-tools/default.nix b/pkgs/os-specific/linux/alsa-tools/default.nix
index d1cae06d7ff..67cae46164f 100644
--- a/pkgs/os-specific/linux/alsa-tools/default.nix
+++ b/pkgs/os-specific/linux/alsa-tools/default.nix
@@ -4,14 +4,14 @@
 
 stdenv.mkDerivation rec {
   name = "alsa-tools-${version}";
-  version = "1.1.5";
+  version = "1.1.6";
 
   src = fetchurl {
     urls = [
       "ftp://ftp.alsa-project.org/pub/tools/${name}.tar.bz2"
       "http://alsa.cybermirror.org/tools/${name}.tar.bz2"
     ];
-    sha256 = "0d6m5dm5yskfr6q42cv1ihp5lfgv4a67nj39gpp26ll3vrknag5w";
+    sha256 = "09rjb6hw1mn9y1jfdfj5djncgc2cr5wfps83k56rf6k4zg14v76n";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/os-specific/linux/alsa-utils/default.nix b/pkgs/os-specific/linux/alsa-utils/default.nix
index e2340939fce..b8498c096d3 100644
--- a/pkgs/os-specific/linux/alsa-utils/default.nix
+++ b/pkgs/os-specific/linux/alsa-utils/default.nix
@@ -2,14 +2,14 @@
 
 stdenv.mkDerivation rec {
   name = "alsa-utils-${version}";
-  version = "1.1.5";
+  version = "1.1.6";
 
   src = fetchurl {
     urls = [
       "ftp://ftp.alsa-project.org/pub/utils/${name}.tar.bz2"
       "http://alsa.cybermirror.org/utils/${name}.tar.bz2"
     ];
-    sha256 = "1s727md6mb408y2cfwzjkx23abxhampyrjdkgpyygdhxx62x42rj";
+    sha256 = "0vnkyymgwj9rfdb11nvab30dnfrylmakdfildxl0y8mj836awp0m";
   };
 
   patchPhase = ''
diff --git a/pkgs/os-specific/linux/amdgpu-pro/default.nix b/pkgs/os-specific/linux/amdgpu-pro/default.nix
index 0272eccd800..6828fbf6b1c 100644
--- a/pkgs/os-specific/linux/amdgpu-pro/default.nix
+++ b/pkgs/os-specific/linux/amdgpu-pro/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, elfutils, libGL
+{ stdenv, fetchurl, elfutils
 , xorg, patchelf, openssl, libdrm, libudev
 , libxcb, libxshmfence, epoxy, perl, zlib
 , fetchFromGitHub, ncurses
@@ -13,8 +13,6 @@ let
 
   kernelDir = if libsOnly then null else kernel.dev;
 
-  inherit (libGL) driverLink;
-
   bitness = if stdenv.is64bit then "64" else "32";
 
   libArch =
@@ -30,9 +28,9 @@ let
 
 in stdenv.mkDerivation rec {
 
-  version = "17.10";
+  version = "17.40";
   pname = "amdgpu-pro";
-  build = "${version}-401251";
+  build = "${version}-492261";
 
   libCompatDir = "/run/lib/${libArch}";
 
@@ -41,7 +39,7 @@ in stdenv.mkDerivation rec {
   src = fetchurl {
     url =
     "https://www2.ati.com/drivers/linux/ubuntu/amdgpu-pro-${build}.tar.xz";
-    sha256 = "004n0df8acjpjz72z3bjxb2a0b7qwln13jlknfn7xxqvhhwwy40a";
+    sha256 = "1c073lp9cq1rc2mddky2r0j2dv9dd167qj02visz37vwaxbm2r5h";
     curlOpts = "--referer http://support.amd.com/en-us/kb-articles/Pages/AMD-Radeon-GPU-PRO-Linux-Beta-Driver%e2%80%93Release-Notes.aspx";
   };
 
@@ -57,15 +55,14 @@ in stdenv.mkDerivation rec {
     sourceRoot=.
   '';
 
-  modulePatches = [
-    ./patches/0001-disable-firmware-copy.patch
-    ./patches/0002-linux-4.9-fixes.patch
-    ./patches/0003-Change-seq_printf-format-for-64-bit-context.patch
-    ./patches/0004-fix-warnings-for-Werror.patch
-  ];
+  modulePatches = optionals (!libsOnly) ([
+    ./patches/0001-fix-warnings-for-Werror.patch
+    ./patches/0002-fix-sketchy-int-ptr-warning.patch
+    ./patches/0003-disable-firmware-copy.patch
+  ]);
 
   patchPhase = optionalString (!libsOnly) ''
-    pushd usr/src/amdgpu-pro-${build}
+    pushd usr/src/amdgpu-${build}
     for patch in $modulePatches
     do
       echo $patch
@@ -74,12 +71,18 @@ in stdenv.mkDerivation rec {
     popd
   '';
 
+  xreallocarray = ./xreallocarray.c;
+
   preBuild = optionalString (!libsOnly) ''
-    pushd usr/src/amdgpu-pro-${build}
+    pushd usr/src/amdgpu-${build}
     makeFlags="$makeFlags M=$(pwd)"
     patchShebangs pre-build.sh
     ./pre-build.sh ${kernel.version}
     popd
+    pushd lib
+    $CC -fPIC -shared -o libhack-xreallocarray.so $xreallocarray
+    strip libhack-xreallocarray.so
+    popd
   '';
 
   modules = [
@@ -89,7 +92,7 @@ in stdenv.mkDerivation rec {
   ];
 
   postBuild = optionalString (!libsOnly)
-    (concatMapStrings (m: "xz usr/src/amdgpu-pro-${build}/${m}\n") modules);
+    (concatMapStrings (m: "xz usr/src/amdgpu-${build}/${m}\n") modules);
 
   NIX_CFLAGS_COMPILE = "-Werror";
 
@@ -110,16 +113,17 @@ in stdenv.mkDerivation rec {
     pushd usr
     cp -r lib/${libArch}/* $out/lib
   '' + optionalString (!libsOnly) ''
-    cp -r src/amdgpu-pro-${build}/firmware $out/lib/firmware
+    cp -r src/amdgpu-${build}/firmware $out/lib/firmware
   '' + ''
     cp -r share $out/share
     popd
 
     pushd opt/amdgpu-pro
-  '' + optionalString (!stdenv.is64bit) ''
+  '' + optionalString (!libsOnly && stdenv.is64bit) ''
     cp -r bin $out/bin
   '' + ''
     cp -r include $out/include
+    cp -r share/* $out/share
     cp -r lib/${libArch}/* $out/lib
   '' + optionalString (!libsOnly) ''
     mv lib/xorg $out/lib/xorg
@@ -128,12 +132,12 @@ in stdenv.mkDerivation rec {
 
   '' + optionalString (!libsOnly)
     (concatMapStrings (m:
-      "install -Dm444 usr/src/amdgpu-pro-${build}/${m}.xz $out/lib/modules/${kernel.modDirVersion}/kernel/drivers/gpu/drm/${m}.xz\n") modules)
+      "install -Dm444 usr/src/amdgpu-${build}/${m}.xz $out/lib/modules/${kernel.modDirVersion}/kernel/drivers/gpu/drm/${m}.xz\n") modules)
   + ''
     mv $out/etc/vulkan $out/share
     interpreter="$(cat $NIX_CC/nix-support/dynamic-linker)"
     libPath="$out/lib:$out/lib/gbm:$depLibPath"
-  '' + optionalString (!stdenv.is64bit) ''
+  '' + optionalString (!libsOnly && stdenv.is64bit) ''
     for prog in clinfo modetest vbltest kms-universal-planes kms-steal-crtc modeprint amdgpu_test kmstest proptest; do
       patchelf --interpreter "$interpreter" --set-rpath "$libPath" "$out/bin/$prog"
     done
@@ -147,10 +151,17 @@ in stdenv.mkDerivation rec {
     for lib in `find "$out/lib/" -name '*.so*' -type f`; do
       patchelf --set-rpath "$libPath" "$lib"
     done
-    for lib in libEGL.so.1 libGL.so.1.2 ${optionalString (!libsOnly) "xorg/modules/extensions/libglx.so"} dri/amdgpu_dri.so; do
+    for lib in libEGL.so.1 libGL.so.1.2 ${optionalString (!libsOnly) "xorg/modules/extensions/libglx.so"} dri/amdgpu_dri.so libamdocl${bitness}.so; do
       perl -pi -e 's:${libReplaceDir}:${libCompatDir}:g' "$out/lib/$lib"
     done
+    for lib in dri/amdgpu_dri.so libdrm_amdgpu.so.1.0.0 libgbm_amdgpu.so.1.0.0 libkms_amdgpu.so.1.0.0 libamdocl${bitness}.so; do
+      perl -pi -e 's:/opt/amdgpu-pro/:/run/amdgpu-pro/:g' "$out/lib/$lib"
+    done
     substituteInPlace "$out/share/vulkan/icd.d/amd_icd${bitness}.json" --replace "/opt/amdgpu-pro/lib/${libArch}" "$out/lib"
+  '' + optionalString (!libsOnly) ''
+    for lib in drivers/modesetting_drv.so libglamoregl.so; do
+      patchelf --add-needed $out/lib/libhack-xreallocarray.so $out/lib/xorg/modules/$lib
+    done
   '';
 
   buildInputs = [
diff --git a/pkgs/os-specific/linux/amdgpu-pro/patches/0001-disable-firmware-copy.patch b/pkgs/os-specific/linux/amdgpu-pro/patches/0001-disable-firmware-copy.patch
deleted file mode 100644
index 4733e0580af..00000000000
--- a/pkgs/os-specific/linux/amdgpu-pro/patches/0001-disable-firmware-copy.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From 704cef8638ffbdd8de9e57f28b43ea42c685ea87 Mon Sep 17 00:00:00 2001
-From: David McFarland <corngood@gmail.com>
-Date: Sat, 28 Jan 2017 16:57:26 -0400
-Subject: [PATCH 1/4] disable firmware copy
-
----
- pre-build.sh | 5 -----
- 1 file changed, 5 deletions(-)
-
-diff --git a/pre-build.sh b/pre-build.sh
-index 622ff13..e3cd009 100755
---- a/pre-build.sh
-+++ b/pre-build.sh
-@@ -35,8 +35,3 @@ find ttm -name '*.c' -exec grep EXPORT_SYMBOL {} + \
-     | sort -u \
-     | awk -F'[()]' '{print "#define "$2" amd"$2" //"$0}'\
-     > include/rename_symbol.h
--
--FW_DIR="/lib/firmware/$KERNELVER"
--mkdir -p $FW_DIR
--cp -ar /usr/src/amdgpu-pro-17.10-401251/firmware/radeon $FW_DIR
--cp -ar /usr/src/amdgpu-pro-17.10-401251/firmware/amdgpu $FW_DIR
--- 
-2.12.2
-
diff --git a/pkgs/os-specific/linux/amdgpu-pro/patches/0001-fix-warnings-for-Werror.patch b/pkgs/os-specific/linux/amdgpu-pro/patches/0001-fix-warnings-for-Werror.patch
new file mode 100644
index 00000000000..ecde6401ac1
--- /dev/null
+++ b/pkgs/os-specific/linux/amdgpu-pro/patches/0001-fix-warnings-for-Werror.patch
@@ -0,0 +1,71 @@
+From 9167d76c435a7c1df7954f0fbe5cc6d083f8ed2f Mon Sep 17 00:00:00 2001
+From: David McFarland <corngood@gmail.com>
+Date: Mon, 6 Feb 2017 22:13:49 -0400
+Subject: [PATCH 1/3] fix warnings for Werror
+
+---
+ amd/amdgpu/amdgpu_device.c         | 4 ++--
+ amd/amdgpu/amdgpu_sa.c             | 2 +-
+ amd/display/dc/bios/bios_parser2.c | 8 ++++----
+ 3 files changed, 7 insertions(+), 7 deletions(-)
+
+diff --git a/amd/amdgpu/amdgpu_device.c b/amd/amdgpu/amdgpu_device.c
+index fc1c543..186e06d 100644
+--- a/amd/amdgpu/amdgpu_device.c
++++ b/amd/amdgpu/amdgpu_device.c
+@@ -3164,7 +3164,7 @@ void amdgpu_debugfs_cleanup(struct drm_minor *minor)
+ 	struct drm_info_node *node, *tmp;
+ 
+ 	if (!&minor->debugfs_root)
+-		return 0;
++		return;
+ 
+ 	mutex_lock(&minor->debugfs_lock);
+ 	list_for_each_entry_safe(node, tmp,
+@@ -3175,7 +3175,7 @@ void amdgpu_debugfs_cleanup(struct drm_minor *minor)
+ 	}
+ 	mutex_unlock(&minor->debugfs_lock);
+ 
+-	return 0;
++	return;
+ }
+ #endif
+ 
+diff --git a/amd/amdgpu/amdgpu_sa.c b/amd/amdgpu/amdgpu_sa.c
+index 7206b34..8b7123c 100644
+--- a/amd/amdgpu/amdgpu_sa.c
++++ b/amd/amdgpu/amdgpu_sa.c
+@@ -430,7 +430,7 @@ void amdgpu_sa_bo_dump_debug_info(struct amdgpu_sa_manager *sa_manager,
+ 		if (i->fence)
+ #if defined(BUILD_AS_DKMS)
+ 			seq_printf(m, " protected by 0x%08x on context %d",
+-					i->fence->seqno, i->fence->context);
++					i->fence->seqno, (int)i->fence->context);
+ #else
+ 			seq_printf(m, " protected by 0x%08x on context %llu",
+ 				   i->fence->seqno, i->fence->context);
+diff --git a/amd/display/dc/bios/bios_parser2.c b/amd/display/dc/bios/bios_parser2.c
+index 86fce5a..99681c5 100644
+--- a/amd/display/dc/bios/bios_parser2.c
++++ b/amd/display/dc/bios/bios_parser2.c
+@@ -1326,13 +1326,13 @@ static enum bp_result get_embedded_panel_info_v2_1(
+ 	info->lcd_timing.misc_info.VERTICAL_CUT_OFF = 0;
+ 
+ 	info->lcd_timing.misc_info.H_REPLICATION_BY2 =
+-		lvds->lcd_timing.miscinfo & ATOM_H_REPLICATIONBY2;
++		(lvds->lcd_timing.miscinfo & ATOM_H_REPLICATIONBY2) != 0;
+ 	info->lcd_timing.misc_info.V_REPLICATION_BY2 =
+-		lvds->lcd_timing.miscinfo & ATOM_V_REPLICATIONBY2;
++		(lvds->lcd_timing.miscinfo & ATOM_V_REPLICATIONBY2) != 0;
+ 	info->lcd_timing.misc_info.COMPOSITE_SYNC =
+-		lvds->lcd_timing.miscinfo & ATOM_COMPOSITESYNC;
++		(lvds->lcd_timing.miscinfo & ATOM_COMPOSITESYNC) != 0;
+ 	info->lcd_timing.misc_info.INTERLACE =
+-		lvds->lcd_timing.miscinfo & ATOM_INTERLACE;
++		(lvds->lcd_timing.miscinfo & ATOM_INTERLACE) != 0;
+ 
+ 	/* not provided by VBIOS*/
+ 	info->lcd_timing.misc_info.DOUBLE_CLOCK = 0;
+-- 
+2.15.1
+
diff --git a/pkgs/os-specific/linux/amdgpu-pro/patches/0002-fix-sketchy-int-ptr-warning.patch b/pkgs/os-specific/linux/amdgpu-pro/patches/0002-fix-sketchy-int-ptr-warning.patch
new file mode 100644
index 00000000000..20f429757a5
--- /dev/null
+++ b/pkgs/os-specific/linux/amdgpu-pro/patches/0002-fix-sketchy-int-ptr-warning.patch
@@ -0,0 +1,25 @@
+From a07ee5dec35ca24a013a6638543ef5030b2bab40 Mon Sep 17 00:00:00 2001
+From: David McFarland <corngood@gmail.com>
+Date: Tue, 9 Jan 2018 21:45:33 -0400
+Subject: [PATCH 2/3] fix sketchy int->ptr warning
+
+---
+ amd/display/amdgpu_dm/amdgpu_dm_helpers.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/amd/display/amdgpu_dm/amdgpu_dm_helpers.c b/amd/display/amdgpu_dm/amdgpu_dm_helpers.c
+index d0f091b..707815a 100644
+--- a/amd/display/amdgpu_dm/amdgpu_dm_helpers.c
++++ b/amd/display/amdgpu_dm/amdgpu_dm_helpers.c
+@@ -236,7 +236,7 @@ bool dm_helpers_dp_mst_write_payload_allocation_table(
+ 		pbn = drm_dp_calc_pbn_mode(clock, bpp);
+ 
+ 		slots = drm_dp_find_vcpi_slots(mst_mgr, pbn);
+-		ret = drm_dp_mst_allocate_vcpi(mst_mgr, mst_port, pbn, slots);
++		ret = drm_dp_mst_allocate_vcpi(mst_mgr, mst_port, pbn, &slots);
+ 
+ 		if (!ret)
+ 			return false;
+-- 
+2.15.1
+
diff --git a/pkgs/os-specific/linux/amdgpu-pro/patches/0002-linux-4.9-fixes.patch b/pkgs/os-specific/linux/amdgpu-pro/patches/0002-linux-4.9-fixes.patch
deleted file mode 100644
index aa6cbcc118d..00000000000
--- a/pkgs/os-specific/linux/amdgpu-pro/patches/0002-linux-4.9-fixes.patch
+++ /dev/null
@@ -1,50 +0,0 @@
-From 0ead7017e1db18be971c24c891d4bdcc507deea7 Mon Sep 17 00:00:00 2001
-From: David McFarland <corngood@gmail.com>
-Date: Sun, 29 Jan 2017 18:23:47 -0400
-Subject: [PATCH 2/4] linux-4.9 fixes
-
----
- amd/amdkcl/kcl_io.c                     | 2 ++
- amd/display/amdgpu_dm/amdgpu_dm_types.c | 8 ++++++++
- 2 files changed, 10 insertions(+)
-
-diff --git a/amd/amdkcl/kcl_io.c b/amd/amdkcl/kcl_io.c
-index d8f843f..9a1bd9b 100644
---- a/amd/amdkcl/kcl_io.c
-+++ b/amd/amdkcl/kcl_io.c
-@@ -31,4 +31,6 @@ void amdkcl_io_init(void)
- 	_kcl_io_free_memtype = amdkcl_fp_setup("io_free_memtype", NULL);
- }
- #endif
-+#else
-+void amdkcl_io_init(void) {}
- #endif /* LINUX_VERSION_CODE < KERNEL_VERSION(4, 9, 0) */
-diff --git a/amd/display/amdgpu_dm/amdgpu_dm_types.c b/amd/display/amdgpu_dm/amdgpu_dm_types.c
-index 34313a9..44a4a71 100644
---- a/amd/display/amdgpu_dm/amdgpu_dm_types.c
-+++ b/amd/display/amdgpu_dm/amdgpu_dm_types.c
-@@ -1720,6 +1720,10 @@ static int dm_plane_helper_prepare_fb(
- static int dm_plane_helper_prepare_fb(
- 	struct drm_plane *plane,
- 	const struct drm_plane_state *new_state)
-+#elif LINUX_VERSION_CODE >= KERNEL_VERSION(4, 9, 0)
-+static int dm_plane_helper_prepare_fb(
-+	struct drm_plane *plane,
-+	struct drm_plane_state *new_state)
- #else
- static int dm_plane_helper_prepare_fb(
- 	struct drm_plane *plane,
-@@ -1766,6 +1770,10 @@ static void dm_plane_helper_cleanup_fb(
- static void dm_plane_helper_cleanup_fb(
- 	struct drm_plane *plane,
- 	const struct drm_plane_state *old_state)
-+#elif LINUX_VERSION_CODE >= KERNEL_VERSION(4, 9, 0)
-+static void dm_plane_helper_cleanup_fb(
-+	struct drm_plane *plane,
-+	struct drm_plane_state *old_state)
- #else
- static void dm_plane_helper_cleanup_fb(
- 	struct drm_plane *plane,
--- 
-2.12.2
-
diff --git a/pkgs/os-specific/linux/amdgpu-pro/patches/0003-Change-seq_printf-format-for-64-bit-context.patch b/pkgs/os-specific/linux/amdgpu-pro/patches/0003-Change-seq_printf-format-for-64-bit-context.patch
deleted file mode 100644
index 7a11c9bd4ef..00000000000
--- a/pkgs/os-specific/linux/amdgpu-pro/patches/0003-Change-seq_printf-format-for-64-bit-context.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From b6dd36dd90c5d88ae10b9dbc763d3bacb95ccddb Mon Sep 17 00:00:00 2001
-From: "Luke A. Guest" <laguest@archeia.com>
-Date: Sun, 25 Sep 2016 16:46:39 +0100
-Subject: [PATCH 3/4] Change seq_printf format for 64 bit context
-
----
- amd/amdgpu/amdgpu_sa.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/amd/amdgpu/amdgpu_sa.c b/amd/amdgpu/amdgpu_sa.c
-index 74932bf..db4119a 100644
---- a/amd/amdgpu/amdgpu_sa.c
-+++ b/amd/amdgpu/amdgpu_sa.c
-@@ -428,7 +428,7 @@ void amdgpu_sa_bo_dump_debug_info(struct amdgpu_sa_manager *sa_manager,
- 			   soffset, eoffset, eoffset - soffset);
- 
- 		if (i->fence)
--#if defined(BUILD_AS_DKMS)
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 8, 0)
- 			seq_printf(m, " protected by 0x%08x on context %d",
- 					i->fence->seqno, i->fence->context);
- #else
--- 
-2.12.2
-
diff --git a/pkgs/os-specific/linux/amdgpu-pro/patches/0003-disable-firmware-copy.patch b/pkgs/os-specific/linux/amdgpu-pro/patches/0003-disable-firmware-copy.patch
new file mode 100644
index 00000000000..0091c471680
--- /dev/null
+++ b/pkgs/os-specific/linux/amdgpu-pro/patches/0003-disable-firmware-copy.patch
@@ -0,0 +1,25 @@
+From 7a3062acbbabdb29239bbc8c984e62589a88576e Mon Sep 17 00:00:00 2001
+From: David McFarland <corngood@gmail.com>
+Date: Tue, 9 Jan 2018 21:49:55 -0400
+Subject: [PATCH 3/3] disable firmware copy
+
+---
+ pre-build.sh | 5 -----
+ 1 file changed, 5 deletions(-)
+
+diff --git a/pre-build.sh b/pre-build.sh
+index e7b8a32..bad8f25 100755
+--- a/pre-build.sh
++++ b/pre-build.sh
+@@ -38,8 +38,3 @@ find ttm -name '*.c' -exec grep EXPORT_SYMBOL {} + \
+     | sort -u \
+     | awk -F'[()]' '{print "#define "$2" amd"$2" //"$0}'\
+     >> include/rename_symbol.h
+-
+-FW_DIR="/lib/firmware/$KERNELVER"
+-mkdir -p $FW_DIR
+-cp -ar /usr/src/amdgpu-17.40-492261/firmware/radeon $FW_DIR
+-cp -ar /usr/src/amdgpu-17.40-492261/firmware/amdgpu $FW_DIR
+-- 
+2.15.1
+
diff --git a/pkgs/os-specific/linux/amdgpu-pro/patches/0004-fix-warnings-for-Werror.patch b/pkgs/os-specific/linux/amdgpu-pro/patches/0004-fix-warnings-for-Werror.patch
deleted file mode 100644
index cd360e18faa..00000000000
--- a/pkgs/os-specific/linux/amdgpu-pro/patches/0004-fix-warnings-for-Werror.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-From dbf01d3934c52acaaa37f008859f69c5edf19ad5 Mon Sep 17 00:00:00 2001
-From: David McFarland <corngood@gmail.com>
-Date: Mon, 6 Feb 2017 22:13:49 -0400
-Subject: [PATCH 4/4] fix warnings for Werror
-
----
- amd/amdgpu/amdgpu_ttm.c                 | 2 ++
- amd/display/amdgpu_dm/amdgpu_dm_types.c | 2 +-
- 2 files changed, 3 insertions(+), 1 deletion(-)
-
-diff --git a/amd/amdgpu/amdgpu_ttm.c b/amd/amdgpu/amdgpu_ttm.c
-index 0e30389..890aafa 100644
---- a/amd/amdgpu/amdgpu_ttm.c
-+++ b/amd/amdgpu/amdgpu_ttm.c
-@@ -1083,6 +1083,7 @@ uint32_t amdgpu_ttm_tt_pte_flags(struct amdgpu_device *adev, struct ttm_tt *ttm,
- 	return flags;
- }
- 
-+#if 0
- static void amdgpu_ttm_lru_removal(struct ttm_buffer_object *tbo)
- {
- 	struct amdgpu_device *adev = amdgpu_ttm_adev(tbo->bdev);
-@@ -1132,6 +1133,7 @@ static struct list_head *amdgpu_ttm_swap_lru_tail(struct ttm_buffer_object *tbo)
- 
- 	return res;
- }
-+#endif
- 
- static bool amdgpu_ttm_bo_eviction_valuable(struct ttm_buffer_object *bo,
- 					    const struct ttm_place *place)
-diff --git a/amd/display/amdgpu_dm/amdgpu_dm_types.c b/amd/display/amdgpu_dm/amdgpu_dm_types.c
-index 44a4a71..ae7e707 100644
---- a/amd/display/amdgpu_dm/amdgpu_dm_types.c
-+++ b/amd/display/amdgpu_dm/amdgpu_dm_types.c
-@@ -932,7 +932,7 @@ static void decide_crtc_timing_for_drm_display_mode(
- }
- 
- static struct dc_target *create_target_for_sink(
--		const struct amdgpu_connector *aconnector,
-+		struct amdgpu_connector *aconnector,
- 		const struct drm_display_mode *drm_mode,
- 		const struct dm_connector_state *dm_state)
- {
--- 
-2.12.2
-
diff --git a/pkgs/os-specific/linux/amdgpu-pro/xreallocarray.c b/pkgs/os-specific/linux/amdgpu-pro/xreallocarray.c
new file mode 100644
index 00000000000..ab47bacb822
--- /dev/null
+++ b/pkgs/os-specific/linux/amdgpu-pro/xreallocarray.c
@@ -0,0 +1,5 @@
+#include <malloc.h>
+
+void *xreallocarray(void *ptr, size_t nmemb, size_t size) {
+  return reallocarray(ptr, nmemb, size);
+}
diff --git a/pkgs/os-specific/linux/apparmor/default.nix b/pkgs/os-specific/linux/apparmor/default.nix
index 0bb5561e957..cbbe4d5ca46 100644
--- a/pkgs/os-specific/linux/apparmor/default.nix
+++ b/pkgs/os-specific/linux/apparmor/default.nix
@@ -8,6 +8,7 @@
 , swig
 , ncurses
 , pam
+, buildPackages
 }:
 
 let
@@ -29,15 +30,13 @@ let
   };
 
   prePatchCommon = ''
-    substituteInPlace ./common/Make.rules --replace "/usr/bin/pod2man" "${perl}/bin/pod2man"
-    substituteInPlace ./common/Make.rules --replace "/usr/bin/pod2html" "${perl}/bin/pod2html"
+    substituteInPlace ./common/Make.rules --replace "/usr/bin/pod2man" "${buildPackages.perl}/bin/pod2man"
+    substituteInPlace ./common/Make.rules --replace "/usr/bin/pod2html" "${buildPackages.perl}/bin/pod2html"
     substituteInPlace ./common/Make.rules --replace "/usr/include/linux/capability.h" "${linuxHeaders}/include/linux/capability.h"
     substituteInPlace ./common/Make.rules --replace "/usr/share/man" "share/man"
   '';
 
-  # use 'if c then x else null' to avoid rebuilding
-  # patches = stdenv.lib.optionals stdenv.hostPlatform.isMusl [
-  patches = if stdenv.hostPlatform.isMusl then [
+  patches = stdenv.lib.optionals stdenv.hostPlatform.isMusl [
     (fetchpatch {
       url = "https://git.alpinelinux.org/cgit/aports/plain/testing/apparmor/0002-Provide-missing-secure_getenv-and-scandirat-function.patch?id=74b8427cc21f04e32030d047ae92caa618105b53";
       name = "0002-Provide-missing-secure_getenv-and-scandirat-function.patch";
@@ -54,7 +53,11 @@ let
       sha256 = "1m4dx901biqgnr4w4wz8a2z9r9dxyw7wv6m6mqglqwf2lxinqmp4";
     })
     # (alpine patches {1,4,5,6,8} are needed for apparmor 2.11, but not 2.12)
-  ] else null;
+  ];
+
+  # Set to `true` after the next FIXME gets fixed or this gets some
+  # common derivation infra. Too much copy-paste to fix one by one.
+  doCheck = false;
 
   # FIXME: convert these to a single multiple-outputs package?
 
@@ -70,9 +73,10 @@ let
       swig
       ncurses
       which
+      perl
     ];
 
-    buildInputs = [
+    buildInputs = stdenv.lib.optionals (!stdenv.isCross) [
       perl
       python
     ];
@@ -87,15 +91,18 @@ let
     inherit patches;
 
     postPatch = "cd ./libraries/libapparmor";
-    configureFlags = "--with-python --with-perl";
+    # https://gitlab.com/apparmor/apparmor/issues/1
+    configureFlags = stdenv.lib.optionalString (!stdenv.isCross) "--with-python --with-perl";
 
-    outputs = [ "out" "python" ];
+    outputs = if stdenv.isCross then [ "out" ] else [ "out" "python" ];
 
-    postInstall = ''
+    postInstall = stdenv.lib.optionalString (!stdenv.isCross) ''
       mkdir -p $python/lib
       mv $out/lib/python* $python/lib/
     '';
 
+    inherit doCheck;
+
     meta = apparmor-meta "library";
   };
 
@@ -128,6 +135,8 @@ let
       done
     '';
 
+    inherit doCheck;
+
     meta = apparmor-meta "user-land utilities";
   };
 
@@ -151,6 +160,8 @@ let
     makeFlags = ''LANGS= USE_SYSTEM=1'';
     installFlags = ''DESTDIR=$(out) BINDIR=$(out)/bin'';
 
+    inherit doCheck;
+
     meta = apparmor-meta "binary user-land utilities";
   };
 
@@ -174,6 +185,8 @@ let
     makeFlags = ''LANGS= USE_SYSTEM=1 INCLUDEDIR=${libapparmor}/include'';
     installFlags = ''DESTDIR=$(out) DISTRO=unknown'';
 
+    inherit doCheck;
+
     meta = apparmor-meta "rule parser";
   };
 
@@ -189,6 +202,8 @@ let
     makeFlags = ''USE_SYSTEM=1'';
     installFlags = ''DESTDIR=$(out)'';
 
+    inherit doCheck;
+
     meta = apparmor-meta "PAM service";
   };
 
@@ -201,6 +216,8 @@ let
     postPatch = "cd ./profiles";
     installFlags = ''DESTDIR=$(out) EXTRAS_DEST=$(out)/share/apparmor/extra-profiles'';
 
+    inherit doCheck;
+
     meta = apparmor-meta "profiles";
   };
 
@@ -215,6 +232,8 @@ let
       cp -R ./kernel-patches/* "$out"
     '';
 
+    inherit doCheck;
+
     meta = apparmor-meta "kernel patches";
   };
 
diff --git a/pkgs/os-specific/linux/audit/default.nix b/pkgs/os-specific/linux/audit/default.nix
index 390bab849c2..7e14983a6d2 100644
--- a/pkgs/os-specific/linux/audit/default.nix
+++ b/pkgs/os-specific/linux/audit/default.nix
@@ -6,11 +6,11 @@
 assert enablePython -> python != null;
 
 stdenv.mkDerivation rec {
-  name = "audit-2.8.2";
+  name = "audit-2.8.3";
 
   src = fetchurl {
     url = "http://people.redhat.com/sgrubb/audit/${name}.tar.gz";
-    sha256 = "1fmw8whraz1q3y3z5mgdpgsa3wz6r3zq0kgsgbc9xvmgfwmrpdb7";
+    sha256 = "06lacv9zjn0sf076dydwmvjhdmik3xzhdjvyrkq75917xv54ajbl";
   };
 
   outputs = [ "bin" "dev" "out" "man" ];
diff --git a/pkgs/os-specific/linux/autofs/default.nix b/pkgs/os-specific/linux/autofs/default.nix
index 8c207e4a47d..859593e4b9a 100644
--- a/pkgs/os-specific/linux/autofs/default.nix
+++ b/pkgs/os-specific/linux/autofs/default.nix
@@ -1,15 +1,15 @@
-{ stdenv, lib, fetchurl, flex, bison, linuxHeaders, libtirpc, utillinux, nfs-utils, e2fsprogs
+{ stdenv, lib, fetchurl, flex, bison, linuxHeaders, libtirpc, mount, umount, nfs-utils, e2fsprogs
 , libxml2, kerberos, kmod, openldap, sssd, cyrus_sasl, openssl }:
 
 let
-  version = "5.1.3";
+  version = "5.1.4";
   name = "autofs-${version}";
 in stdenv.mkDerivation {
   inherit name;
 
   src = fetchurl {
     url = "mirror://kernel/linux/daemons/autofs/v5/${name}.tar.xz";
-    sha256 = "1gxifa93104pxlmxrikhwciy5zdgk20m63siyhq1myym7vzfnvp9";
+    sha256 = "08hpphawzcdibwbhw0r3y7hnfczlazpp90sf3bz2imgza7p31klg";
   };
 
   preConfigure = ''
@@ -17,10 +17,10 @@ in stdenv.mkDerivation {
     export sssldir="${sssd}/lib/sssd/modules"
     export HAVE_SSS_AUTOFS=1
 
-    export MOUNT=${utillinux}/bin/mount
+    export MOUNT=${mount}/bin/mount
     export MOUNT_NFS=${nfs-utils}/bin/mount.nfs
-    export UMOUNT=${utillinux}/bin/umount
-    export MODPROBE=${utillinux}/bin/modprobe
+    export UMOUNT=${umount}/bin/umount
+    export MODPROBE=${kmod}/bin/modprobe
     export E2FSCK=${e2fsprogs}/bin/fsck.ext2
     export E3FSCK=${e2fsprogs}/bin/fsck.ext3
     export E4FSCK=${e2fsprogs}/bin/fsck.ext4
diff --git a/pkgs/os-specific/linux/batman-adv/alfred.nix b/pkgs/os-specific/linux/batman-adv/alfred.nix
index 9b7484932eb..90489e12d69 100644
--- a/pkgs/os-specific/linux/batman-adv/alfred.nix
+++ b/pkgs/os-specific/linux/batman-adv/alfred.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchurl, pkgconfig, gpsd, libcap, libnl }:
 
 let
-  ver = "2018.0";
+  ver = "2018.1";
 in
 stdenv.mkDerivation rec {
   name = "alfred-${ver}";
 
   src = fetchurl {
     url = "http://downloads.open-mesh.org/batman/releases/batman-adv-${ver}/${name}.tar.gz";
-    sha256 = "0mzjgjkmgdrrqa6fbpii9q1xqvg3kvwgq2k2kpdf0vy4xxnypky7";
+    sha256 = "0xkd842yp227jzfybjq8c5s7y5c7amm1f5ai80k8wyjwysnad3w0";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/os-specific/linux/batman-adv/batctl.nix b/pkgs/os-specific/linux/batman-adv/batctl.nix
index ef1d51501e8..a1a2cff70a8 100644
--- a/pkgs/os-specific/linux/batman-adv/batctl.nix
+++ b/pkgs/os-specific/linux/batman-adv/batctl.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchurl, pkgconfig, libnl }:
 
 let
-  ver = "2018.0";
+  ver = "2018.1";
 in
 stdenv.mkDerivation rec {
   name = "batctl-${ver}";
 
   src = fetchurl {
     url = "http://downloads.open-mesh.org/batman/releases/batman-adv-${ver}/${name}.tar.gz";
-    sha256 = "1x7gy6agwk68s2cbhc4wfhvhdy2ccrq0vi7jzaj94pn8nqshi5ss";
+    sha256 = "0lxm0vb0w1gxyi5k553jgkpmhifc4cykzfybrsk8hvwilq6pv1r7";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/os-specific/linux/bbswitch/default.nix b/pkgs/os-specific/linux/bbswitch/default.nix
index ade9b8f750f..f5d3b4f5c4e 100644
--- a/pkgs/os-specific/linux/bbswitch/default.nix
+++ b/pkgs/os-specific/linux/bbswitch/default.nix
@@ -50,7 +50,7 @@ stdenv.mkDerivation {
 
   meta = with stdenv.lib; {
     description = "A module for powering off hybrid GPUs";
-    platforms = platforms.linux;
+    platforms = [ "x86_64-linux" "i686-linux" ];
     homepage = https://github.com/Bumblebee-Project/bbswitch;
     maintainers = with maintainers; [ abbradar ];
   };
diff --git a/pkgs/os-specific/linux/beegfs/default.nix b/pkgs/os-specific/linux/beegfs/default.nix
index 6cf233694cd..f17bc9492c1 100644
--- a/pkgs/os-specific/linux/beegfs/default.nix
+++ b/pkgs/os-specific/linux/beegfs/default.nix
@@ -5,7 +5,7 @@
 } :
 
 let
-  version = "6.17";
+  version = "6.18";
 
   subdirs = [
     "beeond_thirdparty/build"
@@ -30,7 +30,7 @@ in stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "https://git.beegfs.com/pub/v6/repository/archive.tar.bz2?ref=${version}";
-    sha256 = "10xs7gzdmlg23k6zn1b7jij3lljn7rr1j6h476hq4lbg981qk3n3";
+    sha256 = "1g874qyxh4v53ah3lzchrqi0jci7wngr54q3f4d9q0kzvvifripn";
   };
 
   nativeBuildInputs = [ which unzip pkgconfig cppunit openjdk ant perl ];
diff --git a/pkgs/os-specific/linux/beegfs/kernel-module.nix b/pkgs/os-specific/linux/beegfs/kernel-module.nix
index 4525d156159..63e45928f21 100644
--- a/pkgs/os-specific/linux/beegfs/kernel-module.nix
+++ b/pkgs/os-specific/linux/beegfs/kernel-module.nix
@@ -3,13 +3,13 @@
 } :
 
 let
-  version = "6.17";
+  version = "6.18";
 in stdenv.mkDerivation {
   name = "beegfs-module-${version}-${kernel.version}";
 
   src = fetchurl {
     url = "https://git.beegfs.com/pub/v6/repository/archive.tar.bz2?ref=${version}";
-    sha256 = "10xs7gzdmlg23k6zn1b7jij3lljn7rr1j6h476hq4lbg981qk3n3";
+    sha256 = "1g874qyxh4v53ah3lzchrqi0jci7wngr54q3f4d9q0kzvvifripn";
   };
 
   hardeningDisable = [ "fortify" "pic" "stackprotector" ];
@@ -41,6 +41,5 @@ in stdenv.mkDerivation {
     platforms = [ "i686-linux" "x86_64-linux" ];
     license = licenses.gpl2;
     maintainers = with maintainers; [ markuskowa ];
-    broken = versionAtLeast kernel.version "4.14";
   };
 }
diff --git a/pkgs/os-specific/linux/blcr/default.nix b/pkgs/os-specific/linux/blcr/default.nix
index ab1a93b3a70..275600d4278 100644
--- a/pkgs/os-specific/linux/blcr/default.nix
+++ b/pkgs/os-specific/linux/blcr/default.nix
@@ -2,7 +2,6 @@
 
 # BLCR version 0.8.6 should works with linux kernel up to version 3.17.x
 
-assert stdenv.isLinux;
 assert builtins.compareVersions "3.18" kernel.version == 1;
 
 stdenv.mkDerivation {
diff --git a/pkgs/os-specific/linux/bluez/bluez5_28.nix b/pkgs/os-specific/linux/bluez/bluez5_28.nix
deleted file mode 100644
index 11aee0d88f2..00000000000
--- a/pkgs/os-specific/linux/bluez/bluez5_28.nix
+++ /dev/null
@@ -1,82 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, dbus, glib, alsaLib,
-  pythonPackages, readline, libsndfile, udev, libical,
-  systemd, enableWiimote ? false }:
-
-assert stdenv.isLinux;
-
-let
-  inherit (pythonPackages) python;
-in stdenv.mkDerivation rec {
-  name = "bluez-5.28";
-   
-  src = fetchurl {
-    url = "mirror://kernel/linux/bluetooth/${name}.tar.xz";
-    sha256 = "1a8qzh38wpq5c0rydpx9isf0jc6g14g2qs18j1rmi8a79f7v9fl5";
-  };
-
-  pythonPath = with pythonPackages;
-    [ dbus pygobject2 pygobject3 recursivePthLoader ];
-
-  buildInputs =
-    [ pkgconfig dbus glib alsaLib python pythonPackages.wrapPython
-      readline libsndfile udev libical
-      # Disables GStreamer; not clear what it gains us other than a
-      # zillion extra dependencies.
-      # gstreamer gst-plugins-base 
-    ];
-
-  preConfigure = ''
-      substituteInPlace tools/hid2hci.rules --replace /sbin/udevadm ${systemd}/bin/udevadm
-      substituteInPlace tools/hid2hci.rules --replace "hid2hci " "$out/lib/udev/hid2hci "
-    '';
-
-  configureFlags = [
-    "--localstatedir=/var"
-    "--enable-library"
-    "--enable-cups"
-    "--with-dbusconfdir=$(out)/etc"
-    "--with-dbussystembusdir=$(out)/share/dbus-1/system-services"
-    "--with-dbussessionbusdir=$(out)/share/dbus-1/services"
-    "--with-systemdsystemunitdir=$(out)/etc/systemd/system"
-    "--with-systemduserunitdir=$(out)/etc/systemd/user"
-    "--with-udevdir=$(out)/lib/udev"
-    ] ++
-    stdenv.lib.optional enableWiimote [ "--enable-wiimote" ];
-
-  # Work around `make install' trying to create /var/lib/bluetooth.
-  installFlags = "statedir=$(TMPDIR)/var/lib/bluetooth";
-
-  makeFlags = "rulesdir=$(out)/lib/udev/rules.d";
-
-  # FIXME: Move these into a separate package to prevent Bluez from
-  # depending on Python etc.
-  postInstall = ''
-    mkdir $out/test
-    cp -a test $out
-    pushd $out/test
-    for a in \
-            simple-agent \
-            test-adapter \
-            test-device \
-            test-thermometer \
-            list-devices \
-            monitor-bluetooth \
-            ; do
-      ln -s ../test/$a $out/bin/bluez-$a
-    done
-    popd
-    wrapPythonProgramsIn $out/test "$out/test $pythonPath"
-
-    # for bluez4 compatibility for NixOS
-    mkdir $out/sbin
-    ln -s ../libexec/bluetooth/bluetoothd $out/sbin/bluetoothd
-    ln -s ../libexec/bluetooth/obexd $out/sbin/obexd
-  '';
-
-  meta = with stdenv.lib; {
-    homepage = http://www.bluez.org/;
-    repositories.git = https://git.kernel.org/pub/scm/bluetooth/bluez.git;
-    description = "Bluetooth support for Linux";
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/os-specific/linux/bluez/default.nix b/pkgs/os-specific/linux/bluez/default.nix
index 62c3986569d..a67133c3236 100644
--- a/pkgs/os-specific/linux/bluez/default.nix
+++ b/pkgs/os-specific/linux/bluez/default.nix
@@ -1,35 +1,37 @@
 { stdenv, fetchurl, pkgconfig, dbus, glib, alsaLib,
   pythonPackages, readline, udev, libical,
-  systemd, enableWiimote ? false }:
-
-assert stdenv.isLinux;
+  systemd, enableWiimote ? false, enableMidi ? false }:
 
 stdenv.mkDerivation rec {
-  name = "bluez-5.48";
+  name = "bluez-5.49";
 
   src = fetchurl {
     url = "mirror://kernel/linux/bluetooth/${name}.tar.xz";
-    sha256 = "140fjyxa2q4y35d9n52vki649jzb094pf71hxkkvlrpgf8q75a5r";
+    sha256 = "15ffsaz7l3fgdg03l7g1xx9jw7xgs6pc548zxqsxawsca5x1sc1k";
   };
 
-  pythonPath = with pythonPackages;
-    [ dbus-python pygobject2 pygobject3 recursivePthLoader ];
+  pythonPath = with pythonPackages; [
+    dbus-python pygobject2 pygobject3 recursivePthLoader
+  ];
 
   buildInputs = [
-    pkgconfig dbus glib alsaLib pythonPackages.python pythonPackages.wrapPython
+    dbus glib alsaLib pythonPackages.python pythonPackages.wrapPython
     readline udev libical
   ];
 
+  nativeBuildInputs = [ pkgconfig ];
+
   outputs = [ "out" "dev" "test" ];
 
   patches = [ ./bluez-5.37-obexd_without_systemd-1.patch ];
 
-  preConfigure = ''
-      substituteInPlace tools/hid2hci.rules --replace /sbin/udevadm ${systemd}/bin/udevadm
-      substituteInPlace tools/hid2hci.rules --replace "hid2hci " "$out/lib/udev/hid2hci "
-    '';
+  postConfigure = ''
+    substituteInPlace tools/hid2hci.rules \
+      --replace /sbin/udevadm ${systemd}/bin/udevadm \
+      --replace "hid2hci " "$out/lib/udev/hid2hci "
+  '';
 
-  configureFlags = [
+  configureFlags = (with stdenv.lib; [
     "--localstatedir=/var"
     "--enable-library"
     "--enable-cups"
@@ -40,8 +42,8 @@ stdenv.mkDerivation rec {
     "--with-systemdsystemunitdir=$(out)/etc/systemd/system"
     "--with-systemduserunitdir=$(out)/etc/systemd/user"
     "--with-udevdir=$(out)/lib/udev"
-    ] ++
-    stdenv.lib.optional enableWiimote [ "--enable-wiimote" ];
+    ] ++ optional enableWiimote [ "--enable-wiimote" ]
+      ++ optional enableMidi    [ "--enable-midi" ]);
 
   # Work around `make install' trying to create /var/lib/bluetooth.
   installFlags = "statedir=$(TMPDIR)/var/lib/bluetooth";
@@ -73,14 +75,21 @@ stdenv.mkDerivation rec {
     # Add extra configuration
     mkdir $out/etc/bluetooth
     ln -s /etc/bluetooth/main.conf $out/etc/bluetooth/main.conf
+
+    # Add missing tools, ref https://git.archlinux.org/svntogit/packages.git/tree/trunk/PKGBUILD?h=packages/bluez
+    for files in `find tools/ -type f -perm -755`; do
+      filename=$(basename $files)
+      install -Dm755 tools/$filename $out/bin/$filename
+    done
   '';
 
   enableParallelBuilding = true;
 
   meta = with stdenv.lib; {
-    homepage = http://www.bluez.org/;
-    repositories.git = https://git.kernel.org/pub/scm/bluetooth/bluez.git;
     description = "Bluetooth support for Linux";
+    homepage = http://www.bluez.org/;
+    license = with licenses; [ gpl2 lgpl21 ];
     platforms = platforms.linux;
+    repositories.git = https://git.kernel.org/pub/scm/bluetooth/bluez.git;
   };
 }
diff --git a/pkgs/os-specific/linux/busybox/default.nix b/pkgs/os-specific/linux/busybox/default.nix
index 744f37b8b8c..ab75d38ba71 100644
--- a/pkgs/os-specific/linux/busybox/default.nix
+++ b/pkgs/os-specific/linux/busybox/default.nix
@@ -33,14 +33,14 @@ let
 in
 
 stdenv.mkDerivation rec {
-  name = "busybox-1.28.1";
+  name = "busybox-1.28.3";
 
   # Note to whoever is updating busybox: please verify that:
   # nix-build pkgs/stdenv/linux/make-bootstrap-tools.nix -A test
   # still builds after the update.
   src = fetchurl {
     url = "http://busybox.net/downloads/${name}.tar.bz2";
-    sha256 = "0bk52cxxlya5hg9va87snr9caz9ppdrpdyjwrnbwamhi64y1vzlq";
+    sha256 = "0via6faqj9xcyi8r39r4n0wxlk8r2292yk0slzwrdri37w1j43dd";
   };
 
   hardeningDisable = [ "format" ] ++ lib.optionals enableStatic [ "fortify" ];
@@ -49,6 +49,8 @@ stdenv.mkDerivation rec {
     ./busybox-in-store.patch
   ];
 
+  postPatch = "patchShebangs .";
+
   configurePhase = ''
     export KCONFIG_NOTIMESTAMP=1
     make ${if enableMinimal then "allnoconfig" else "defconfig"}
@@ -96,6 +98,8 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
+  doCheck = false; # tries to access the net
+
   meta = with stdenv.lib; {
     description = "Tiny versions of common UNIX utilities in a single small executable";
     homepage = https://busybox.net/;
diff --git a/pkgs/os-specific/linux/checkpolicy/default.nix b/pkgs/os-specific/linux/checkpolicy/default.nix
index 8e01bb2a5c8..6ea73c9ac6c 100644
--- a/pkgs/os-specific/linux/checkpolicy/default.nix
+++ b/pkgs/os-specific/linux/checkpolicy/default.nix
@@ -2,27 +2,18 @@
 
 stdenv.mkDerivation rec {
   name = "checkpolicy-${version}";
-  version = "2.4";
+  version = "2.7";
   inherit (libsepol) se_release se_url;
 
   src = fetchurl {
     url = "${se_url}/${se_release}/checkpolicy-${version}.tar.gz";
-    sha256 = "1m5wjm43lzp6bld8higsvdm2dkddydihhwv9qw2w9r4dm0largcv";
+    sha256 = "009j9jc0hi4l7k8f21hn8fm25n0mqgzdpd4nk30nds6d3nglf4sl";
   };
 
-  # Don't build tests
-  postPatch = ''
-    sed '/-C test/d' -i Makefile
-    sed '1i#include <ctype.h>' -i checkpolicy.c
-  '';
-
   nativeBuildInputs = [ bison flex ];
   buildInputs = [ libsepol ];
 
-  NIX_CFLAGS_COMPILE = "-fstack-protector-all";
-
   preBuild = ''
-    makeFlagsArray+=("LEX=flex")
     makeFlagsArray+=("LIBDIR=${libsepol}/lib")
     makeFlagsArray+=("PREFIX=$out")
   '';
diff --git a/pkgs/os-specific/linux/checksec/default.nix b/pkgs/os-specific/linux/checksec/default.nix
index 1a879ba3330..1ef18f703d3 100644
--- a/pkgs/os-specific/linux/checksec/default.nix
+++ b/pkgs/os-specific/linux/checksec/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, file, findutils, binutils, glibc, procps, coreutils }:
+{ stdenv, fetchurl, file, findutils, binutils, glibc, procps, coreutils, sysctl }:
 
 stdenv.mkDerivation rec {
   name = "checksec-${version}";
@@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
     substituteInPlace $out/bin/checksec --replace " readelf -" " ${binutils.out}/bin/readelf -"
     substituteInPlace $out/bin/checksec --replace "(readelf -" "(${binutils.out}/bin/readelf -"
     substituteInPlace $out/bin/checksec --replace "command_exists readelf" "command_exists ${binutils.out}/bin/readelf"
-    substituteInPlace $out/bin/checksec --replace "/sbin/sysctl -" "${procps}/sbin/sysctl -"
+    substituteInPlace $out/bin/checksec --replace "/sbin/sysctl -" "${sysctl}/bin/sysctl -"
     substituteInPlace $out/bin/checksec --replace "/usr/bin/id -" "${coreutils}/bin/id -"
   '';
 
diff --git a/pkgs/os-specific/linux/cifs-utils/default.nix b/pkgs/os-specific/linux/cifs-utils/default.nix
index c2bea009ab7..7b6dd6fba35 100644
--- a/pkgs/os-specific/linux/cifs-utils/default.nix
+++ b/pkgs/os-specific/linux/cifs-utils/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "cifs-utils-${version}";
-  version = "6.7";
+  version = "6.8";
 
   src = fetchurl {
     url = "mirror://samba/pub/linux-cifs/cifs-utils/${name}.tar.bz2";
-    sha256 = "1ayghnkryy1n1zm5dyvyyr7n3807nsm6glfcbbki5c2a8w91dwmj";
+    sha256 = "0ygz3pagjpaj5ky11hzh4byyymb7fpmqiqkprn11zwj31h2zdlg7";
   };
 
   nativeBuildInputs = [ autoreconfHook pkgconfig ];
diff --git a/pkgs/os-specific/linux/compsize/default.nix b/pkgs/os-specific/linux/compsize/default.nix
new file mode 100644
index 00000000000..a18011836f9
--- /dev/null
+++ b/pkgs/os-specific/linux/compsize/default.nix
@@ -0,0 +1,30 @@
+{ stdenv, fetchFromGitHub, btrfs-progs }:
+
+stdenv.mkDerivation rec {
+  name = "compsize-${version}";
+  version = "2018-04-07";
+
+  src = fetchFromGitHub {
+    owner = "kilobyte";
+    repo = "compsize";
+    rev = "903f772e37fc0ac6d6cf94ddbc98c691763c1e62";
+    sha256 = "0jps8n0xsdh4mcww5q29rzysbv50iq6rmihxrf99lzgrw0sw5m7k";
+  };
+
+  buildInputs = [ btrfs-progs ];
+
+  installPhase = ''
+    mkdir -p $out/bin
+    mkdir -p $out/share/man/man8
+    install -m 0755 compsize $out/bin
+    install -m 0444 compsize.8 $out/share/man/man8
+  '';
+
+  meta = with stdenv.lib; {
+    description = "btrfs: Find compression type/ratio on a file or set of files";
+    homepage    = https://github.com/kilobyte/compsize;
+    license     = licenses.gpl2;
+    maintainers = with maintainers; [ CrazedProgrammer ];
+    platforms   = platforms.linux;
+  };
+}
diff --git a/pkgs/os-specific/linux/conky/default.nix b/pkgs/os-specific/linux/conky/default.nix
index ea9c3f937d0..e4c45a9440a 100644
--- a/pkgs/os-specific/linux/conky/default.nix
+++ b/pkgs/os-specific/linux/conky/default.nix
@@ -27,6 +27,7 @@
 
 , wirelessSupport     ? true      , wirelesstools ? null
 , nvidiaSupport       ? false     , libXNVCtrl ? null
+, pulseSupport        ? false     , libpulseaudio ? null
 
 , curlSupport         ? true      , curl ? null
 , rssSupport          ? curlSupport
@@ -54,6 +55,7 @@ assert luaCairoSupport || luaImlib2Support
 
 assert wirelessSupport     -> wirelesstools != null;
 assert nvidiaSupport       -> libXNVCtrl != null;
+assert pulseSupport        -> libpulseaudio != null;
 
 assert curlSupport         -> curl != null;
 assert rssSupport          -> curlSupport && libxml2 != null;
@@ -100,6 +102,7 @@ stdenv.mkDerivation rec {
     ++ optional  rssSupport         libxml2
     ++ optional  weatherXoapSupport libxml2
     ++ optional  nvidiaSupport      libXNVCtrl
+    ++ optional  pulseSupport       libpulseaudio
     ;
 
   cmakeFlags = []
@@ -119,6 +122,7 @@ stdenv.mkDerivation rec {
     ++ optional weatherXoapSupport  "-DBUILD_WEATHER_XOAP=ON"
     ++ optional wirelessSupport     "-DBUILD_WLAN=ON"
     ++ optional nvidiaSupport       "-DBUILD_NVIDIA=ON"
+    ++ optional pulseSupport        "-DBUILD_PULSEAUDIO=ON"
     ;
 
   # `make -f src/CMakeFiles/conky.dir/build.make src/CMakeFiles/conky.dir/conky.cc.o`:
diff --git a/pkgs/os-specific/linux/cpufrequtils/default.nix b/pkgs/os-specific/linux/cpufrequtils/default.nix
index 65be409a75e..e36aaa5e38d 100644
--- a/pkgs/os-specific/linux/cpufrequtils/default.nix
+++ b/pkgs/os-specific/linux/cpufrequtils/default.nix
@@ -1,7 +1,5 @@
 { stdenv, fetchurl, libtool, gettext }:
 
-assert stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux";
-
 stdenv.mkDerivation rec {
   name = "cpufrequtils-008";
 
diff --git a/pkgs/os-specific/linux/criu/default.nix b/pkgs/os-specific/linux/criu/default.nix
index 4ef162e56c7..fc7a66dcf1b 100644
--- a/pkgs/os-specific/linux/criu/default.nix
+++ b/pkgs/os-specific/linux/criu/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   name    = "criu-${version}";
-  version = "3.7";
+  version = "3.8.1";
 
   src = fetchurl {
     url    = "http://download.openvz.org/criu/${name}.tar.bz2";
-    sha256 = "0qrpz7pvnks34v7d8lb73flz3mb7qwnib94pdwaxh0mskn8470fq";
+    sha256 = "0csyhsc5d6wkcjyvsp6h9x8zxn3zk574s84gfmy3gjagv3nwqd51";
   };
 
   enableParallelBuilding = true;
diff --git a/pkgs/os-specific/linux/dbus-broker/default.nix b/pkgs/os-specific/linux/dbus-broker/default.nix
index c97f1b54622..c57650e0806 100644
--- a/pkgs/os-specific/linux/dbus-broker/default.nix
+++ b/pkgs/os-specific/linux/dbus-broker/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   name = "dbus-broker-${version}";
-  version = "11";
+  version = "13";
 
   src = fetchFromGitHub {
-    owner           = "bus1";
-    repo            = "dbus-broker";
-    rev             = "v${version}";
-    sha256          = "19sszb6ac7md494i996ixqmz9b3gim8rrv2nbrmlgjd59gk6hf7b";
+    owner  = "bus1";
+    repo   = "dbus-broker";
+    rev    = "v${version}";
+    sha256 = "1yjkxpnl54pky6ha3y8dsds57lnk10lmriyzpzy0ha2npng2614x";
     fetchSubmodules = true;
   };
 
@@ -17,13 +17,8 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ dbus glib linuxHeaders systemd ];
 
-  enableParallelBuilding = true;
-
-  prePatch = ''
-    substituteInPlace meson.build \
-      --replace "dep_systemd.get_pkgconfig_variable('systemdsystemunitdir')" "'$out/lib/systemd/system'" \
-      --replace "dep_systemd.get_pkgconfig_variable('systemduserunitdir')"   "'$out/lib/systemd/user'"
-  '';
+  PKG_CONFIG_SYSTEMD_SYSTEMDSYSTEMUNITDIR = "lib/systemd/system";
+  PKG_CONFIG_SYSTEMD_SYSTEMDUSERUNITDIR = "lib/systemd/user";
 
   postInstall = ''
     install -Dm644 ../README $out/share/doc/dbus-broker/README
@@ -32,8 +27,6 @@ stdenv.mkDerivation rec {
       -e 's,^ExecReload.*busctl,ExecReload=${systemd}/bin/busctl,'
   '';
 
-  checkPhase = "ninja test";
-
   doCheck = true;
 
   meta = with stdenv.lib; {
diff --git a/pkgs/os-specific/linux/drbd/default.nix b/pkgs/os-specific/linux/drbd/default.nix
index 971eef6a8b5..8d18d598020 100644
--- a/pkgs/os-specific/linux/drbd/default.nix
+++ b/pkgs/os-specific/linux/drbd/default.nix
@@ -1,7 +1,5 @@
 { stdenv, fetchurl, flex, systemd, perl }:
 
-assert stdenv.isLinux;
-
 stdenv.mkDerivation rec {
   name = "drbd-8.4.4";
 
diff --git a/pkgs/os-specific/linux/ena/default.nix b/pkgs/os-specific/linux/ena/default.nix
index 9ed691d69f0..e3f382ababc 100644
--- a/pkgs/os-specific/linux/ena/default.nix
+++ b/pkgs/os-specific/linux/ena/default.nix
@@ -1,14 +1,14 @@
 { lib, stdenv, fetchFromGitHub, kernel, kmod }:
 
 stdenv.mkDerivation rec {
-  version = "1.5.0";
+  version = "1.5.2";
   name = "ena-${version}-${kernel.version}";
 
   src = fetchFromGitHub {
     owner = "amzn";
     repo = "amzn-drivers";
     rev = "ena_linux_${version}";
-    sha256 = "1h3vnwa2129advyws69n0sqyra4nz68mng6g84whbvhzjyx810sj";
+    sha256 = "18wf36092kr3zlpnqdkcdlim3vvjxy5f24zzsv4fwa7xg12mcfjm";
   };
 
   hardeningDisable = [ "pic" ];
diff --git a/pkgs/os-specific/linux/exfat/default.nix b/pkgs/os-specific/linux/exfat/default.nix
index 56da5b0f16f..0adeac7115d 100644
--- a/pkgs/os-specific/linux/exfat/default.nix
+++ b/pkgs/os-specific/linux/exfat/default.nix
@@ -6,13 +6,13 @@ assert lib.versionAtLeast kernel.version  "4.2" || lib.versionOlder kernel.versi
 
 stdenv.mkDerivation rec {
   name = "exfat-nofuse-${version}-${kernel.version}";
-  version = "2017-06-19";
+  version = "2018-04-16";
 
   src = fetchFromGitHub {
     owner = "dorimanx";
     repo = "exfat-nofuse";
-    rev = "de4c760bc9a05ead83bc3ec6eec6cf1fb106f523";
-    sha256 = "0v979d8sbcb70lakm4jal2ck3gspkdgq9108k127f7ph08vf8djm";
+    rev = "01c30ad52625a7261e1b0d874553b6ca7af25966";
+    sha256 = "0n1ibamf1yj8iqapc86lfscnky9p07ngsi4f2kpv3d5r2s6mzsh6";
   };
 
   hardeningDisable = [ "pic" ];
diff --git a/pkgs/os-specific/linux/fatrace/default.nix b/pkgs/os-specific/linux/fatrace/default.nix
index fd955676775..6f6418edc3e 100644
--- a/pkgs/os-specific/linux/fatrace/default.nix
+++ b/pkgs/os-specific/linux/fatrace/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "fatrace-${version}";
-  version = "0.12";
+  version = "0.13";
 
   src = fetchurl {
     url = "http://launchpad.net/fatrace/trunk/${version}/+download/${name}.tar.bz2";
-    sha256 = "0szn86rbbvmjcw192vjhhgc3v99s5lm2kg93gk1yzm6ay831grsh";
+    sha256 = "0hrh45bpzncw0jkxw3x2smh748r65k2yxvfai466043bi5q0d2vx";
   };
 
   buildInputs = [ python3 which ];
diff --git a/pkgs/os-specific/linux/firmware/firmware-linux-nonfree/default.nix b/pkgs/os-specific/linux/firmware/firmware-linux-nonfree/default.nix
index acdba5987bb..724498b960c 100644
--- a/pkgs/os-specific/linux/firmware/firmware-linux-nonfree/default.nix
+++ b/pkgs/os-specific/linux/firmware/firmware-linux-nonfree/default.nix
@@ -2,51 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "firmware-linux-nonfree-${version}";
-  version = "2018-01-04-${src.iwlRev}";
+  version = "2018-03-20";
 
-  # The src runCommand automates the process of building a merged repository of both
-  #
-  # https://git.kernel.org/cgit/linux/kernel/git/firmware/linux-firmware.git/
-  # https://git.kernel.org/cgit/linux/kernel/git/iwlwifi/linux-firmware.git/
-  #
-  # This gives us up to date iwlwifi firmware as well as
-  # the usual set of firmware. firmware/linux-firmware usually lags kernel releases
-  # so iwlwifi cards will fail to load on newly released kernels.
-  #
-  # To update, go to the above repositories and look for latest tags / commits, then
-  # update version to the more recent commit date
-
-  src = runCommand "firmware-linux-nonfree-src-merged-${version}" {
-    shallowSince = "2017-10-01";
-    baseRev = "65b1c68c63f974d72610db38dfae49861117cae2";
-    iwlRev = "iwlwifi-fw-2017-11-15";
-
-    # When updating this, you need to let it run with a wrong hash, in order to find out the desired hash
-    # randomly mutate the hash to break out of fixed hash, when updating
-    outputHash = "1anr7fblxfcrfrrgq98kzy64yrwygc2wdgi47skdmjxhi3wbrvxz";
-
-    outputHashAlgo = "sha256";
-    outputHashMode = "recursive";
-
-    # Doing the download on a remote machine just duplicates network
-    # traffic, so don't do that.
-    preferLocalBuild = true;
-
-    nativeBuildInputs = [ cacert git gnupg ];
-  } ''
-    git init src && (
-      cd src
-      git config user.email "build-daemon@nixos.org"
-      git config user.name "Nixos Build Daemon $name"
-      git remote add base https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git
-      git remote add iwl https://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/linux-firmware.git
-      git fetch --shallow-since=$shallowSince base
-      git fetch --shallow-since=$shallowSince iwl
-      git checkout -b work $baseRev
-      git merge $iwlRev)
-    rm -rf src/.git
-    cp -a src $out
-  '';
+  src = fetchgit {
+    url = "https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git";
+    rev = "8c1e439c967a50f0698d61aafdba3841aff10db0";
+    sha256 = "110vxgahyx5dvylqrxsm5cmx4a32cl2zchvm6cgc270jz75fg7wd";
+  };
 
   preInstall = ''
     mkdir -p $out
diff --git a/pkgs/os-specific/linux/firmware/raspberrypi/default.nix b/pkgs/os-specific/linux/firmware/raspberrypi/default.nix
index c71f1c0ea2e..d00f1b14837 100644
--- a/pkgs/os-specific/linux/firmware/raspberrypi/default.nix
+++ b/pkgs/os-specific/linux/firmware/raspberrypi/default.nix
@@ -2,36 +2,25 @@
 
 stdenv.mkDerivation rec {
   name = "raspberrypi-firmware-${version}";
-  version = "1.20171029";
+  version = "1.20180328";
 
   src = fetchFromGitHub {
     owner = "raspberrypi";
     repo = "firmware";
     rev = version;
-    sha256 = "12aisha8rlr28310hakps04z9p45kd2wvks0w1vxw1kwfh1ncy9s";
+    sha256 = "19h4lv11idy268pyrq21c5gsff77d5xr9xjkpmzfpcq34gjh3x21";
   };
 
-  dontStrip = true;    # Stripping breaks some of the binaries
-
   installPhase = ''
     mkdir -p $out/share/raspberrypi/boot
     cp -R boot/* $out/share/raspberrypi/boot
-    cp -R hardfp/opt/vc/* $out
-    cp opt/vc/LICENCE $out/share/raspberrypi
-
-    for f in $out/bin/*; do
-      if isELF "$f"; then
-        patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" "$f"
-        patchelf --set-rpath "$out/lib" "$f"
-      fi
-    done
   '';
 
   meta = with stdenv.lib; {
     description = "Firmware for the Raspberry Pi board";
-    homepage = https://github.com/raspberrypi;
-    license = licenses.unfree;
+    homepage = https://github.com/raspberrypi/firmware;
+    license = licenses.unfreeRedistributableFirmware; # See https://github.com/raspberrypi/firmware/blob/master/boot/LICENCE.broadcom
     platforms = [ "armv6l-linux" "armv7l-linux" "aarch64-linux" ];
-    maintainers = with maintainers; [ viric tavyc ];
+    maintainers = with maintainers; [ dezgeg viric tavyc ];
   };
 }
diff --git a/pkgs/os-specific/linux/firmware/raspberrypi/tools-dont-install-sysv-init-scripts.patch b/pkgs/os-specific/linux/firmware/raspberrypi/tools-dont-install-sysv-init-scripts.patch
new file mode 100644
index 00000000000..e12aeeb0cdb
--- /dev/null
+++ b/pkgs/os-specific/linux/firmware/raspberrypi/tools-dont-install-sysv-init-scripts.patch
@@ -0,0 +1,20 @@
+diff --git a/interface/vmcs_host/linux/vcfiled/CMakeLists.txt b/interface/vmcs_host/linux/vcfiled/CMakeLists.txt
+index aed0e83..b325676 100644
+--- a/interface/vmcs_host/linux/vcfiled/CMakeLists.txt
++++ b/interface/vmcs_host/linux/vcfiled/CMakeLists.txt
+@@ -17,15 +17,6 @@ target_link_libraries(vcfiled
+ install(TARGETS vcfiled 
+         RUNTIME DESTINATION sbin)
+ 
+-configure_file (etc/init.d/vcfiled ${PROJECT_BINARY_DIR}/etc/init.d/vcfiled)
+-
+-# script to start up vcfiled at start of day
+-install(PROGRAMS ${PROJECT_BINARY_DIR}/etc/init.d/vcfiled
+-        DESTINATION /etc/init.d)
+-# install locally to the installation directory too
+-install(PROGRAMS ${PROJECT_BINARY_DIR}/etc/init.d/vcfiled
+-        DESTINATION ${VMCS_INSTALL_PREFIX}/share/install)
+-
+ # test program for vcfiled_check library
+ add_executable(vcfiled_lock_test vcfiled_lock_test.c)
+ target_link_libraries(vcfiled_lock_test vcfiled_check)
diff --git a/pkgs/os-specific/linux/firmware/raspberrypi/tools.nix b/pkgs/os-specific/linux/firmware/raspberrypi/tools.nix
new file mode 100644
index 00000000000..7f4c9dae166
--- /dev/null
+++ b/pkgs/os-specific/linux/firmware/raspberrypi/tools.nix
@@ -0,0 +1,31 @@
+{ stdenv, fetchFromGitHub, cmake, pkgconfig }:
+
+stdenv.mkDerivation rec {
+  name = "raspberrypi-tools-${version}";
+  version = "2018-02-05";
+
+  src = fetchFromGitHub {
+    owner = "raspberrypi";
+    repo = "userland";
+    rev = "a343dcad1dae4e93f4bfb99496697e207f91027e";
+    sha256 = "1z4qrwjb7x3a45mx978q8vyhnx068sgzhymm4z0ayhckji4ngal1";
+  };
+
+  patches = [ ./tools-dont-install-sysv-init-scripts.patch ];
+
+  nativeBuildInputs = [ cmake pkgconfig ];
+
+  preConfigure = ''
+    cmakeFlagsArray+=("-DVMCS_INSTALL_PREFIX=$out")
+  '' + stdenv.lib.optionalString stdenv.isAarch64 ''
+    cmakeFlagsArray+=("-DARM64=1")
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Userland tools for the Raspberry Pi board";
+    homepage = https://github.com/raspberrypi/userland;
+    license = licenses.bsd3;
+    platforms = [ "armv6l-linux" "armv7l-linux" "aarch64-linux" ];
+    maintainers = with maintainers; [ dezgeg viric tavyc ];
+  };
+}
diff --git a/pkgs/os-specific/linux/fuse/common.nix b/pkgs/os-specific/linux/fuse/common.nix
index b9ac015f459..04a4a1a0e1f 100644
--- a/pkgs/os-specific/linux/fuse/common.nix
+++ b/pkgs/os-specific/linux/fuse/common.nix
@@ -1,9 +1,10 @@
-{ version, sha256Hash, maintainers }:
+{ version, sha256Hash }:
 
 { stdenv, fetchFromGitHub, fetchpatch
 , fusePackages, utillinux, gettext
 , autoconf, automake, libtool
 , meson, ninja, pkgconfig
+, autoreconfHook
 }:
 
 let
@@ -18,6 +19,8 @@ in stdenv.mkDerivation rec {
     sha256 = sha256Hash;
   };
 
+  preAutoreconf = "touch config.rpath";
+
   patches =
     stdenv.lib.optional
       (!isFuse3 && stdenv.isAarch64)
@@ -27,11 +30,9 @@ in stdenv.mkDerivation rec {
       })
     ++ stdenv.lib.optional isFuse3 ./fuse3-install.patch;
 
-
   nativeBuildInputs = if isFuse3
     then [ meson ninja pkgconfig ]
-    else [ autoconf automake libtool ];
-  buildInputs = stdenv.lib.optional (!isFuse3) gettext;
+    else [ autoreconfHook gettext ];
 
   outputs = [ "out" ] ++ stdenv.lib.optional isFuse3 "common";
 
@@ -61,21 +62,21 @@ in stdenv.mkDerivation rec {
   postFixup = "cd $out\n" + (if isFuse3 then ''
     mv bin/mount.fuse3 bin/mount.fuse
 
-    install -D -m555 bin/mount.fuse $common/bin/mount.fuse
-    install -D -m444 etc/udev/rules.d/99-fuse.rules $common/etc/udev/rules.d/99-fuse.rules
+    install -D -m444 etc/fuse.conf $common/etc/fuse.conf
+    install -D -m444 etc/udev/rules.d/99-fuse3.rules $common/etc/udev/rules.d/99-fuse.rules
     install -D -m444 share/man/man8/mount.fuse.8.gz $common/share/man/man8/mount.fuse.8.gz
   '' else ''
-    cp ${fusePackages.fuse_3.common}/bin/mount.fuse bin/mount.fuse
+    cp ${fusePackages.fuse_3.common}/etc/fuse.conf etc/fuse.conf
     cp ${fusePackages.fuse_3.common}/etc/udev/rules.d/99-fuse.rules etc/udev/rules.d/99-fuse.rules
     cp ${fusePackages.fuse_3.common}/share/man/man8/mount.fuse.8.gz share/man/man8/mount.fuse.8.gz
   '');
 
   enableParallelBuilding = true;
 
-  meta = {
+  meta = with stdenv.lib; {
     inherit (src.meta) homepage;
     description = "Kernel module and library that allows filesystems to be implemented in user space";
-    platforms = stdenv.lib.platforms.linux;
-    inherit maintainers;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.primeos ];
   };
 }
diff --git a/pkgs/os-specific/linux/fuse/default.nix b/pkgs/os-specific/linux/fuse/default.nix
index 97744968d7b..f308930f0dc 100644
--- a/pkgs/os-specific/linux/fuse/default.nix
+++ b/pkgs/os-specific/linux/fuse/default.nix
@@ -4,17 +4,14 @@ let
   mkFuse = args: callPackage (import ./common.nix args) {
     inherit utillinux;
   };
-  maintainers = stdenv.lib.maintainers;
 in {
   fuse_2 = mkFuse {
     version = "2.9.7";
     sha256Hash = "1wyjjfb7p4jrkk15zryzv33096a5fmsdyr2p4b00dd819wnly2n2";
-    maintainers = [ ];
   };
 
   fuse_3 = mkFuse {
-    version = "3.2.1";
-    sha256Hash = "19bsvb5lc8k1i0h5ld109kixn6mdshzvg3y7820k9mnw34kh09y0";
-    maintainers = [ maintainers.primeos ];
+    version = "3.2.3";
+    sha256Hash = "185p1vjcsyzpcdkrcyw06zpapv4jc43qw9i8a4amzpgk1rsgg19d";
   };
 }
diff --git a/pkgs/os-specific/linux/fuse/fuse3-install.patch b/pkgs/os-specific/linux/fuse/fuse3-install.patch
index f77639367ac..639dc7e07a4 100644
--- a/pkgs/os-specific/linux/fuse/fuse3-install.patch
+++ b/pkgs/os-specific/linux/fuse/fuse3-install.patch
@@ -1,6 +1,6 @@
---- a/util/install_helper.sh	1970-01-01 01:00:01.000000000 +0100
-+++ b/util/install_helper.sh	2017-09-21 23:43:50.703942577 +0200
-@@ -11,19 +11,11 @@
+--- a/util/install_helper.sh	2018-04-01 01:05:19.613723599 +0200
++++ b/util/install_helper.sh	2018-04-01 01:06:02.952845382 +0200
+@@ -11,22 +11,14 @@
  udevrulesdir="$3"
  prefix="${MESON_INSTALL_DESTDIR_PREFIX}"
  
@@ -14,11 +14,15 @@
 -
  install -D -m 644 "${MESON_SOURCE_ROOT}/util/udev.rules" \
 -        "${DESTDIR}/${udevrulesdir}/99-fuse3.rules"
-+        "${prefix}/${udevrulesdir}/99-fuse.rules"
++        "${prefix}/${udevrulesdir}/99-fuse3.rules"
  
  install -D -m 755 "${MESON_SOURCE_ROOT}/util/init_script" \
 -        "${DESTDIR}/etc/init.d/fuse3"
 +        "${prefix}/etc/init.d/fuse3"
  
+ install -D -m 644 "${MESON_SOURCE_ROOT}/util/fuse.conf" \
+-	"${DESTDIR}/etc/fuse.conf"
++	"${prefix}/etc/fuse.conf"
+
  if test -x /usr/sbin/update-rc.d && test -z "${DESTDIR}"; then
      /usr/sbin/update-rc.d fuse3 start 34 S . start 41 0 6 . || /bin/true
diff --git a/pkgs/os-specific/linux/fwts/default.nix b/pkgs/os-specific/linux/fwts/default.nix
index 4c393a0f326..c02bfb1615c 100644
--- a/pkgs/os-specific/linux/fwts/default.nix
+++ b/pkgs/os-specific/linux/fwts/default.nix
@@ -3,11 +3,11 @@
 
 stdenv.mkDerivation rec {
   name = "fwts-${version}";
-  version = "18.01.00";
+  version = "18.03.00";
 
   src = fetchzip {
     url = "http://fwts.ubuntu.com/release/fwts-V${version}.tar.gz";
-    sha256 = "043wkq4hz5pz79masppya67b8i5jw61p1j8dw17jwc8w6gp8csfb";
+    sha256 = "1f2gdnaygsj0spd6a559bzf3wii7l59k3sk49rjbbdb9g77nkhg2";
     stripRoot = false;
   };
 
diff --git a/pkgs/os-specific/linux/gogoclient/default.nix b/pkgs/os-specific/linux/gogoclient/default.nix
index 521b81cd690..53895faa66c 100644
--- a/pkgs/os-specific/linux/gogoclient/default.nix
+++ b/pkgs/os-specific/linux/gogoclient/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, openssl, nettools, iproute, procps}:
+{stdenv, fetchurl, openssl, nettools, iproute, sysctl}:
 
 let baseName = "gogoclient";
     version  = "1.2";
@@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
       --replace "/sbin/ifconfig" "${nettools}/bin/ifconfig" \
       --replace "/sbin/route"    "${nettools}/bin/route" \
       --replace "/sbin/ip"       "${iproute}/sbin/ip" \
-      --replace "/sbin/sysctl"   "${procps}/sbin/sysctl"
+      --replace "/sbin/sysctl"   "${sysctl}/bin/sysctl"
     sed -i -e 's/^.*Exec \$route -A.*$/& metric 128/' $out/template/linux.sh
   '';
 
diff --git a/pkgs/os-specific/linux/google-authenticator/default.nix b/pkgs/os-specific/linux/google-authenticator/default.nix
index 1494d9f06a8..41bdd5d12ac 100644
--- a/pkgs/os-specific/linux/google-authenticator/default.nix
+++ b/pkgs/os-specific/linux/google-authenticator/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "google-authenticator-libpam-${version}";
-  version = "1.03";
+  version = "1.05";
 
   src = fetchurl {
     url = "https://github.com/google/google-authenticator-libpam/archive/${version}.tar.gz";
-    sha256 = "0wb95z5v1w4sk0p7y9pbn4v95w9hrbf80vw9k2z2sgs0156ljkb7";
+    sha256 = "026vljmddi0zqcb3c0vdpabmi4r17kahc00mh6fs3qbyjbb14946";
   };
 
   nativeBuildInputs = [ autoreconfHook ];
diff --git a/pkgs/os-specific/linux/gpu-switch/default.nix b/pkgs/os-specific/linux/gpu-switch/default.nix
new file mode 100644
index 00000000000..d56253c6ced
--- /dev/null
+++ b/pkgs/os-specific/linux/gpu-switch/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, lib, fetchFromGitHub }:
+
+stdenv.mkDerivation rec {
+  name = "gpu-switch-unstable-${version}";
+  version = "2017-04-28";
+  src = fetchFromGitHub {
+    owner = "0xbb";
+    repo = "gpu-switch";
+    rev = "a365f56d435c8ef84c4dd2ab935ede4992359e31";
+    sha256 = "1jnh43nijkqd83h7piq7225ixziggyzaalabgissyxdyz6szcn0r";
+  };
+  installPhase = ''
+    mkdir -p $out/bin
+    cp gpu-switch $out/bin/
+  '';
+  meta = with lib; {
+    description = "Application that allows to switch between the graphic cards of dual-GPU MacBook Pro models";
+    homepage = https://github.com/0xbb/gpu-switch;
+    license = licenses.mit;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.msiedlarek ];
+  };
+}
diff --git a/pkgs/os-specific/linux/hdparm/default.nix b/pkgs/os-specific/linux/hdparm/default.nix
index 87cb17329e8..cbdbefeb2a0 100644
--- a/pkgs/os-specific/linux/hdparm/default.nix
+++ b/pkgs/os-specific/linux/hdparm/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "hdparm-9.54";
+  name = "hdparm-9.56";
 
   src = fetchurl {
     url = "mirror://sourceforge/hdparm/${name}.tar.gz";
-    sha256 = "0ghnhdj7wfw6acfyhdawpfa5n9kvkvzgi1fw6i7sghgbjx5nhyjd";
+    sha256 = "1np42qyhb503khvacnjcl3hb1dqly68gj0a1xip3j5qhbxlyvybg";
 
   };
 
diff --git a/pkgs/os-specific/linux/hwdata/default.nix b/pkgs/os-specific/linux/hwdata/default.nix
index 6f2dc807fba..ebf7179d081 100644
--- a/pkgs/os-specific/linux/hwdata/default.nix
+++ b/pkgs/os-specific/linux/hwdata/default.nix
@@ -2,17 +2,19 @@
 
 stdenv.mkDerivation rec {
   name = "hwdata-${version}";
-  version = "0.309";
+  version = "0.312";
 
   src = fetchurl {
-    url = "https://github.com/vcrhonek/hwdata/archive/v0.309.tar.gz";
-    sha256 = "1njx4lhg7a0cawz82x535vk4mslmnfj7nmf8dbq8kgqxiqh6h2c7";
+    url = "https://github.com/vcrhonek/hwdata/archive/v0.312.tar.gz";
+    sha256 = "04dbxfn40b8vyw49qpkslv20akbqm5hwl3cndmqacp6cik1l0gai";
   };
 
   preConfigure = "patchShebangs ./configure";
 
   configureFlags = "--datadir=$(prefix)/data";
 
+  doCheck = false; # this does build machine-specific checks (e.g. enumerates PCI bus)
+
   meta = {
     homepage = https://github.com/vcrhonek/hwdata;
     description = "Hardware Database, including Monitors, pci.ids, usb.ids, and video cards";
diff --git a/pkgs/os-specific/linux/i2c-tools/default.nix b/pkgs/os-specific/linux/i2c-tools/default.nix
index 1f67743af0d..eacac156c97 100644
--- a/pkgs/os-specific/linux/i2c-tools/default.nix
+++ b/pkgs/os-specific/linux/i2c-tools/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "i2c-tools-${version}";
-  version = "3.1.2";
+  version = "4.0";
 
   src = fetchurl {
-    url = "http://http.debian.net/debian/pool/main/i/i2c-tools/i2c-tools_${version}.orig.tar.bz2";
-    sha256 = "0hd4c1w8lnwc3j95h3vpd125170l1d4myspyrlpamqx6wbr6jpnv";
+    url = "https://www.kernel.org/pub/software/utils/i2c-tools/${name}.tar.xz";
+    sha256 = "1mi8mykvl89y6liinc9jv1x8m2q093wrdc2hm86a47n524fcl06r";
   };
 
   buildInputs = [ perl ];
diff --git a/pkgs/os-specific/linux/input-utils/default.nix b/pkgs/os-specific/linux/input-utils/default.nix
new file mode 100644
index 00000000000..cd0fc01384b
--- /dev/null
+++ b/pkgs/os-specific/linux/input-utils/default.nix
@@ -0,0 +1,30 @@
+{ stdenv, fetchurl, linuxHeaders }:
+
+stdenv.mkDerivation rec {
+  name = "input-utils-${version}";
+  version = "1.3";
+  
+  src = fetchurl {
+    url = "https://www.kraxel.org/releases/input/input-${version}.tar.gz";
+    sha256 = "11w0pp20knx6qpgzmawdbk1nj2z3fzp8yd6nag6s8bcga16w6hli";
+  };
+
+  prePatch = ''
+    # Use proper include path for kernel include files.
+    substituteInPlace ./name.sh --replace "/usr/include/linux/" "${linuxHeaders}/include/linux/"
+    substituteInPlace ./lirc.sh --replace "/usr/include/linux/" "${linuxHeaders}/include/linux/"
+  '';
+
+  makeFlags = [
+    "prefix=$(out)"
+    "STRIP=-s"
+  ];
+
+  meta = with stdenv.lib; {
+    description = "Input layer utilities, includes lsinput";
+    homepage    = https://www.kraxel.org/blog/linux/input/;
+    license     = licenses.gpl2;
+    maintainers = with maintainers; [ samueldr ];
+    platforms   = platforms.linux;
+  };
+}
diff --git a/pkgs/os-specific/linux/iproute/default.nix b/pkgs/os-specific/linux/iproute/default.nix
index 269c59f5e6f..7d412d7e15d 100644
--- a/pkgs/os-specific/linux/iproute/default.nix
+++ b/pkgs/os-specific/linux/iproute/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "iproute2-${version}";
-  version = "4.15.0";
+  version = "4.16.0";
 
   src = fetchurl {
     url = "mirror://kernel/linux/utils/net/iproute2/${name}.tar.xz";
-    sha256 = "0mc3g4kj7h3jhwz2b2gdf41gp6bhqn7axh4mnyvhkdnpk5m63m28";
+    sha256 = "02pfalg319jpbjz273ph725br8dnkzpfvi98azi9yd6p1w128p0c";
   };
 
   preConfigure = ''
diff --git a/pkgs/os-specific/linux/ipset/default.nix b/pkgs/os-specific/linux/ipset/default.nix
index c78a4eadfa4..d736caa535d 100644
--- a/pkgs/os-specific/linux/ipset/default.nix
+++ b/pkgs/os-specific/linux/ipset/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, pkgconfig, libmnl }:
 
 stdenv.mkDerivation rec {
-  name = "ipset-6.35";
+  name = "ipset-6.38";
 
   src = fetchurl {
     url = "http://ipset.netfilter.org/${name}.tar.bz2";
-    sha256 = "1p7l1fj3lbv6rr24zxjiwq7jk1yvazk8db6yyni0qbprw49i01rp";
+    sha256 = "0i72wcljl0nkpmzc20jcch3hpphrm0qp4v4j4ajamq0zlddn5vyf";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/os-specific/linux/iputils/default.nix b/pkgs/os-specific/linux/iputils/default.nix
index a7fbcce3175..d2eab02f675 100644
--- a/pkgs/os-specific/linux/iputils/default.nix
+++ b/pkgs/os-specific/linux/iputils/default.nix
@@ -24,26 +24,32 @@ stdenv.mkDerivation rec {
   # Disable idn usage w/musl: https://github.com/iputils/iputils/pull/111
   makeFlags = [ "USE_GNUTLS=no" ] ++ stdenv.lib.optional stdenv.hostPlatform.isMusl "USE_IDN=no";
 
+  depsBuildBuild = [ opensp SGMLSpm docbook_sgml_dtd_31 ];
   buildInputs = [
-    libsysfs opensp openssl libcap docbook_sgml_dtd_31 SGMLSpm libgcrypt nettle
+    libsysfs openssl libcap libgcrypt nettle
   ] ++ stdenv.lib.optional (!stdenv.hostPlatform.isMusl) libidn;
 
-  buildFlags = "man all ninfod";
+  # ninfod probably could build on cross, but the Makefile doesn't pass --host etc to the sub configure...
+  buildFlags = "man all" + stdenv.lib.optionalString (!stdenv.isCross) " ninfod";
 
   installPhase =
     ''
       mkdir -p $out/bin
-      cp -p ping tracepath clockdiff arping rdisc ninfod/ninfod $out/bin/
+      cp -p ping tracepath clockdiff arping rdisc rarpd $out/bin/
+      if [ -x ninfod/ninfod ]; then
+        cp -p ninfod/ninfod $out/bin
+      fi
 
       mkdir -p $out/share/man/man8
       cp -p \
-        doc/clockdiff.8 doc/arping.8 doc/ping.8 doc/rdisc.8 doc/tracepath.8 doc/ninfod.8 \
+        doc/clockdiff.8 doc/arping.8 doc/ping.8 doc/rdisc.8 doc/rarpd.8 doc/tracepath.8 doc/ninfod.8 \
         $out/share/man/man8
     '';
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = https://github.com/iputils/iputils;
     description = "A set of small useful utilities for Linux networking";
-    platforms = stdenv.lib.platforms.linux;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ lheckemann ];
   };
 }
diff --git a/pkgs/os-specific/linux/iwd/default.nix b/pkgs/os-specific/linux/iwd/default.nix
index f4f870f16c3..792c7bcb084 100644
--- a/pkgs/os-specific/linux/iwd/default.nix
+++ b/pkgs/os-specific/linux/iwd/default.nix
@@ -3,16 +3,17 @@
 let
   ell = fetchgit {
      url = https://git.kernel.org/pub/scm/libs/ell/ell.git;
-     rev = "8192131685be0f27d6f51b14b78ef93fa7f3c692";
-     sha256 = "1k74qz3w0l4zq8llrxc4p62xy0c0n33f260vy3d14wx5rhvf0544";
+     rev = "0.5";
+     sha256 = "0xw53bigh99nhacjb67qs1g145fwls7065l8vsrziwzpkyd5s6a8";
   };
 in stdenv.mkDerivation rec {
-  name = "iwd-unstable-2017-12-14";
+  name = "iwd-${version}";
+  version = "0.2";
 
   src = fetchgit {
     url = https://git.kernel.org/pub/scm/network/wireless/iwd.git;
-    rev = "cf3372235c4592ca7366b27548abc4e89a982414";
-    sha256 = "0dg28j919w1v8sqr6jdj12c233rsjzd2jzkcpag1hx2h3g35hnlz";
+    rev = version;
+    sha256 = "0khc017s27n6y6c6wbqhmcghzggnagxbi8j36hl5g73y6s44vx42";
   };
 
   nativeBuildInputs = [
@@ -24,7 +25,7 @@ in stdenv.mkDerivation rec {
     readline
     python3Packages.python
   ];
-  
+
   pythonPath = [
     python3Packages.dbus-python
     python3Packages.pygobject3
@@ -33,7 +34,8 @@ in stdenv.mkDerivation rec {
   enableParallelBuilding = true;
 
   configureFlags = [
-    "--with-dbusconfdir=$(out)/etc/"
+    "--with-dbus-datadir=$(out)/etc/"
+    "--disable-systemd-service"
   ];
 
   postUnpack = ''
diff --git a/pkgs/os-specific/linux/ixgbevf/default.nix b/pkgs/os-specific/linux/ixgbevf/default.nix
index ffdf0d678d7..6bcc548ba52 100644
--- a/pkgs/os-specific/linux/ixgbevf/default.nix
+++ b/pkgs/os-specific/linux/ixgbevf/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "ixgbevf-${version}-${kernel.version}";
-  version = "4.3.3";
+  version = "4.3.4";
 
   src = fetchurl {
     url = "mirror://sourceforge/e1000/ixgbevf-${version}.tar.gz";
-    sha256 = "0kq8y0944kaprw445wb8iswdck2jmc0xpkx0iv6idy3r5cc4hvyg";
+    sha256 = "122zn9nd8f95bpidiiinc8xaizypkirqs8vlmsdy2iv3w65md9k3";
   };
 
   nativeBuildInputs = kernel.moduleBuildDependencies;
diff --git a/pkgs/os-specific/linux/jfbview/default.nix b/pkgs/os-specific/linux/jfbview/default.nix
index 89a220c85e2..dafe9069b5a 100644
--- a/pkgs/os-specific/linux/jfbview/default.nix
+++ b/pkgs/os-specific/linux/jfbview/default.nix
@@ -15,13 +15,13 @@ in
 
 stdenv.mkDerivation rec {
   name = "${package}-${version}";
-  version = "0.5.4";
+  version = "0.5.5";
 
   src = fetchFromGitHub {
     repo = "JFBView";
     owner = "jichu4n";
     rev = version;
-    sha256 = "0p12b5n07yfkmfswjdb3a4c5c50jcphl030n3i71djcq4jjvrxlw";
+    sha256 = "1w844ha9lp49ik79yfislib34455nl9gcksbx22hiz30gmqwzakz";
   };
 
   hardeningDisable = [ "format" ];
diff --git a/pkgs/os-specific/linux/kernel-headers/default.nix b/pkgs/os-specific/linux/kernel-headers/default.nix
index 8107f7d9657..01cab57f719 100644
--- a/pkgs/os-specific/linux/kernel-headers/default.nix
+++ b/pkgs/os-specific/linux/kernel-headers/default.nix
@@ -39,14 +39,6 @@ let
       echo "${version}-default" > $out/include/config/kernel.release
     '';
 
-    # !!! hacky
-    fixupPhase = ''
-      ln -s asm $out/include/asm-$platform
-      if test "$platform" = "i386" -o "$platform" = "x86_64"; then
-        ln -s asm $out/include/asm-x86
-      fi
-    '';
-
     meta = with lib; {
       description = "Header files and scripts for Linux kernel";
       license = licenses.gpl2;
diff --git a/pkgs/os-specific/linux/kernel/common-config.nix b/pkgs/os-specific/linux/kernel/common-config.nix
index 50f5999c557..4af5889fd1c 100644
--- a/pkgs/os-specific/linux/kernel/common-config.nix
+++ b/pkgs/os-specific/linux/kernel/common-config.nix
@@ -32,7 +32,6 @@ with stdenv.lib;
   # Debugging.
   DEBUG_KERNEL y
   DYNAMIC_DEBUG y
-  BACKTRACE_SELF_TEST n
   DEBUG_DEVRES n
   DEBUG_STACK_USAGE n
   DEBUG_STACKOVERFLOW n
@@ -116,7 +115,6 @@ with stdenv.lib;
   # Enable various subsystems.
   ACCESSIBILITY y # Accessibility support
   AUXDISPLAY y # Auxiliary Display support
-  DONGLE y # Serial dongle support
   HIPPI y
   MTD_COMPLEX_MAPPINGS y # needed for many devices
   SCSI_LOWLEVEL y # enable lots of SCSI devices
@@ -125,6 +123,9 @@ with stdenv.lib;
   SPI y # needed for many devices
   SPI_MASTER y
   WAN y
+  ${optionalString (versionOlder version "4.17") ''
+    DONGLE y # Serial dongle support
+  ''}
 
   # Networking options.
   NET y
@@ -135,6 +136,7 @@ with stdenv.lib;
   NETFILTER y
   NETFILTER_ADVANCED y
   CGROUP_BPF? y # Required by systemd per-cgroup firewalling
+  CGROUP_NET_PRIO y # Required by systemd
   IP_ROUTE_VERBOSE y
   IP_MROUTE_MULTIPLE_TABLES y
   IP_VS_PROTO_TCP y
@@ -420,7 +422,9 @@ with stdenv.lib;
   ${optionalString (versionAtLeast version "4.3") ''
     IDLE_PAGE_TRACKING y
   ''}
-  IRDA_ULTRA y # Ultra (connectionless) protocol
+  ${optionalString (versionOlder version "4.17") ''
+    IRDA_ULTRA y # Ultra (connectionless) protocol
+  ''}
   JOYSTICK_IFORCE_232? y # I-Force Serial joysticks and wheels
   JOYSTICK_IFORCE_USB? y # I-Force USB joysticks and wheels
   JOYSTICK_XPAD_FF? y # X-Box gamepad rumble support
@@ -640,43 +644,46 @@ with stdenv.lib;
   # This menu disables all/most of them on >= 4.16
   RUNTIME_TESTING_MENU? n
   # For older kernels, painstakingly disable each symbol.
-  ARM_KPROBES_TEST? n
-  ASYNC_RAID6_TEST? n
-  ATOMIC64_SELFTEST? n
-  BACKTRACE_SELF_TEST? n
+  ${optionalString (versionOlder version "4.16") ''
+    ARM_KPROBES_TEST? n
+    ASYNC_RAID6_TEST? n
+    ATOMIC64_SELFTEST? n
+    BACKTRACE_SELF_TEST? n
+    INTERVAL_TREE_TEST? n
+    PERCPU_TEST? n
+    RBTREE_TEST? n
+    TEST_BITMAP? n
+    TEST_BPF? n
+    TEST_FIRMWARE? n
+    TEST_HASH? n
+    TEST_HEXDUMP? n
+    TEST_KMOD? n
+    TEST_KSTRTOX? n
+    TEST_LIST_SORT? n
+    TEST_LKM? n
+    TEST_PARMAN? n
+    TEST_PRINTF? n
+    TEST_RHASHTABLE? n
+    TEST_SORT? n
+    TEST_STATIC_KEYS? n
+    TEST_STRING_HELPERS? n
+    TEST_UDELAY? n
+    TEST_USER_COPY? n
+    TEST_UUID? n
+  ''}
+
   CRC32_SELFTEST? n
   CRYPTO_TEST? n
   DRM_DEBUG_MM_SELFTEST? n
   EFI_TEST? n
   GLOB_SELFTEST? n
-  INTERVAL_TREE_TEST? n
   LNET_SELFTEST? n
   LOCK_TORTURE_TEST? n
   MTD_TESTS? n
   NOTIFIER_ERROR_INJECTION? n
-  PERCPU_TEST? n
-  RBTREE_TEST? n
   RCU_PERF_TEST? n
   RCU_TORTURE_TEST? n
   TEST_ASYNC_DRIVER_PROBE? n
-  TEST_BITMAP? n
-  TEST_BPF? n
-  TEST_FIRMWARE? n
-  TEST_HASH? n
-  TEST_HEXDUMP? n
-  TEST_KMOD? n
-  TEST_KSTRTOX? n
-  TEST_LIST_SORT? n
-  TEST_LKM? n
-  TEST_PARMAN? n
-  TEST_PRINTF? n
-  TEST_RHASHTABLE? n
-  TEST_SORT? n
-  TEST_STATIC_KEYS? n
-  TEST_STRING_HELPERS? n
-  TEST_UDELAY? n
-  TEST_USER_COPY? n
-  TEST_UUID? n
   WW_MUTEX_SELFTEST? n
   XZ_DEC_TEST? n
 
diff --git a/pkgs/os-specific/linux/kernel/generic.nix b/pkgs/os-specific/linux/kernel/generic.nix
index f69865cdc4d..2b44ff51ad0 100644
--- a/pkgs/os-specific/linux/kernel/generic.nix
+++ b/pkgs/os-specific/linux/kernel/generic.nix
@@ -1,12 +1,10 @@
-{ buildPackages, runCommand, nettools, bc, bison, flex, perl, gmp, libmpc, mpfr, openssl
+{ buildPackages
 , ncurses
-, libelf
-, utillinux
-, writeTextFile, ubootTools
 , callPackage
-}:
-
-{ stdenv, buildPackages, perl, buildLinux
+, perl
+, bison ? null
+, flex ? null
+, stdenv
 
 , # The kernel source tarball.
   src
@@ -35,6 +33,12 @@
                        hostPlatform != stdenv.buildPlatform
 , extraMeta ? {}
 , hostPlatform
+
+# easy overrides to hostPlatform.platform members
+, autoModules ? hostPlatform.platform.kernelAutoModules
+, preferBuiltin ? hostPlatform.platform.kernelPreferBuiltin or false
+, kernelArch ? hostPlatform.platform.kernelArch
+
 , ...
 } @ args:
 
@@ -67,12 +71,13 @@ let
     in lib.concatStringsSep "\n" ([baseConfig] ++ configFromPatches);
 
   configfile = stdenv.mkDerivation {
-    inherit ignoreConfigErrors;
+    inherit ignoreConfigErrors autoModules preferBuiltin kernelArch;
     name = "linux-config-${version}";
 
     generateConfig = ./generate-config.pl;
 
     kernelConfig = kernelConfigFun config;
+    passAsFile = [ "kernelConfig" ];
 
     depsBuildBuild = [ buildPackages.stdenv.cc ];
     nativeBuildInputs = [ perl ]
@@ -83,9 +88,6 @@ let
     kernelBaseConfig = hostPlatform.platform.kernelBaseConfig;
     # e.g. "bzImage"
     kernelTarget = hostPlatform.platform.kernelTarget;
-    autoModules = hostPlatform.platform.kernelAutoModules;
-    preferBuiltin = hostPlatform.platform.kernelPreferBuiltin or false;
-    arch = hostPlatform.platform.kernelArch;
 
     prePatch = kernel.prePatch + ''
       # Patch kconfig to print "###" after every question so that
@@ -99,12 +101,12 @@ let
       export buildRoot="''${buildRoot:-build}"
 
       # Get a basic config file for later refinement with $generateConfig.
-      make HOSTCC=${buildPackages.stdenv.cc.targetPrefix}gcc -C . O="$buildRoot" $kernelBaseConfig ARCH=$arch
+      make HOSTCC=${buildPackages.stdenv.cc.targetPrefix}gcc -C . O="$buildRoot" $kernelBaseConfig ARCH=$kernelArch
 
       # Create the config file.
       echo "generating kernel configuration..."
-      echo "$kernelConfig" > "$buildRoot/kernel-config"
-      DEBUG=1 ARCH=$arch KERNEL_CONFIG="$buildRoot/kernel-config" AUTO_MODULES=$autoModules \
+      ln -s "$kernelConfigPath" "$buildRoot/kernel-config"
+      DEBUG=1 ARCH=$kernelArch KERNEL_CONFIG="$buildRoot/kernel-config" AUTO_MODULES=$autoModules \
            PREFER_BUILTIN=$preferBuiltin BUILD_ROOT="$buildRoot" SRC=. perl -w $generateConfig
     '';
 
diff --git a/pkgs/os-specific/linux/kernel/hardened-config.nix b/pkgs/os-specific/linux/kernel/hardened-config.nix
index 3a82c00c501..a00ba9ab7b8 100644
--- a/pkgs/os-specific/linux/kernel/hardened-config.nix
+++ b/pkgs/os-specific/linux/kernel/hardened-config.nix
@@ -78,6 +78,9 @@ ${optionalString (versionAtLeast version "4.13") ''
 
 # Perform usercopy bounds checking.
 HARDENED_USERCOPY y
+${optionalString (versionAtLeast version "4.16") ''
+  HARDENED_USERCOPY_FALLBACK n
+''}
 
 # Randomize allocator freelists.
 SLAB_FREELIST_RANDOM y
diff --git a/pkgs/os-specific/linux/kernel/linux-4.14.nix b/pkgs/os-specific/linux/kernel/linux-4.14.nix
index 4b8515a86d3..f1e0bf82cec 100644
--- a/pkgs/os-specific/linux/kernel/linux-4.14.nix
+++ b/pkgs/os-specific/linux/kernel/linux-4.14.nix
@@ -3,13 +3,13 @@
 with stdenv.lib;
 
 buildLinux (args // rec {
-  version = "4.14.24";
+  version = "4.14.40";
 
   # branchVersion needs to be x.y
   extraMeta.branch = concatStrings (intersperse "." (take 2 (splitString "." version)));
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
-    sha256 = "00cqhc8198f4gj6cpz7nblpgi5zh2145arjx1yp0p4gmswdjslds";
+    sha256 = "03nh71nqgifkamkb0gn12jny5h3lbn5kmpdy0ff886wyrl34sw6l";
   };
 } // (args.argsOverride or {}))
diff --git a/pkgs/os-specific/linux/kernel/linux-4.15.nix b/pkgs/os-specific/linux/kernel/linux-4.16.nix
index 1c488989243..40d7d5d865f 100644
--- a/pkgs/os-specific/linux/kernel/linux-4.15.nix
+++ b/pkgs/os-specific/linux/kernel/linux-4.16.nix
@@ -3,7 +3,7 @@
 with stdenv.lib;
 
 buildLinux (args // rec {
-  version = "4.15.7";
+  version = "4.16.8";
 
   # modDirVersion needs to be x.y.z, will automatically add .0 if needed
   modDirVersion = concatStrings (intersperse "." (take 3 (splitString "." "${version}.0")));
@@ -13,6 +13,6 @@ buildLinux (args // rec {
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
-    sha256 = "1in8gy82ccpri7xhbgim3jrh15lbfrfzjgg69g0yvq534d5xyi6d";
+    sha256 = "1z4q7khag48wildvq4hf4vwaipkfbh9yywm2m9zfj43vk1ysvyp4";
   };
 } // (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 4f42f7b81c7..725f3385a80 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, hostPlatform, fetchurl, perl, buildLinux, ... } @ args:
 
 buildLinux (args // rec {
-  version = "4.4.120";
+  version = "4.4.131";
   extraMeta.branch = "4.4";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
-    sha256 = "0y7li4vcvv04aqkrgl01i98pgwm9njzrb8y8wdvwaq9658vhfpx2";
+    sha256 = "02f7sx20l0ljkgffac0yqav1kk7x1gl6026icslcsnn46pfpl4k5";
   };
 } // (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 d1bf5fb5c62..c6a94b194b6 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, hostPlatform, fetchurl, perl, buildLinux, ... } @ args:
 
 buildLinux (args // rec {
-  version = "4.9.86";
+  version = "4.9.99";
   extraMeta.branch = "4.9";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
-    sha256 = "11bf1jcxn5gwd1g99ml2kn65vkpciq8hdz7xc0bjy66gxysnxkx7";
+    sha256 = "1pqk88h8wyqz2ijp0pav1b35m2hs9d9is1kcir649jlbj66fphrx";
   };
 } // (args.argsOverride or {}))
diff --git a/pkgs/os-specific/linux/kernel/linux-copperhead-lts.nix b/pkgs/os-specific/linux/kernel/linux-copperhead-lts.nix
new file mode 100644
index 00000000000..a1c93e56590
--- /dev/null
+++ b/pkgs/os-specific/linux/kernel/linux-copperhead-lts.nix
@@ -0,0 +1,30 @@
+{ stdenv, buildPackages, hostPlatform, fetchFromGitHub, perl, buildLinux, ... } @ args:
+
+with stdenv.lib;
+
+let
+  version = "4.14.39";
+  revision = "a";
+  sha256 = "19nx537a8kbbyp5d67anrqfw8i8hliw3yb1gyrf70isl3fqifjaa";
+
+  # modVersion needs to be x.y.z, will automatically add .0 if needed
+  modVersion = concatStrings (intersperse "." (take 3 (splitString "." "${version}.0")));
+
+  # branchVersion needs to be x.y
+  branchVersion = concatStrings (intersperse "." (take 2 (splitString "." version)));
+
+  modDirVersion = "${modVersion}-hardened";
+in
+buildLinux (args // {
+  inherit modDirVersion;
+
+  version = "${version}-${revision}";
+  extraMeta.branch = "${branchVersion}";
+
+  src = fetchFromGitHub {
+    inherit sha256;
+    owner = "copperhead";
+    repo = "linux-hardened";
+    rev = "${version}.${revision}";
+  };
+} // (args.argsOverride or {}))
diff --git a/pkgs/os-specific/linux/kernel/linux-copperhead-hardened.nix b/pkgs/os-specific/linux/kernel/linux-copperhead-stable.nix
index 85d31048ffc..9d4b729060a 100644
--- a/pkgs/os-specific/linux/kernel/linux-copperhead-hardened.nix
+++ b/pkgs/os-specific/linux/kernel/linux-copperhead-stable.nix
@@ -3,9 +3,9 @@
 with stdenv.lib;
 
 let
-  version = "4.15.7";
+  version = "4.16.7";
   revision = "a";
-  sha256 = "19kgy1fa4flnqm3a50hilgjczqkscay10183cvkzy3vxrnf8fl0f";
+  sha256 = "1kdy3sqrn161hm5avhk3nd75p07a21ja0rzar3ybibh1bl2mc6zq";
 
   # modVersion needs to be x.y.z, will automatically add .0 if needed
   modVersion = concatStrings (intersperse "." (take 3 (splitString "." "${version}.0")));
diff --git a/pkgs/os-specific/linux/kernel/linux-mptcp.nix b/pkgs/os-specific/linux/kernel/linux-mptcp.nix
index c4bade2abed..d486bd1d6d2 100644
--- a/pkgs/os-specific/linux/kernel/linux-mptcp.nix
+++ b/pkgs/os-specific/linux/kernel/linux-mptcp.nix
@@ -33,8 +33,7 @@ buildLinux (rec {
     DEFAULT_MPTCP_PM default
 
     # MPTCP scheduler selection.
-    # Disabled as the only non-default is the useless round-robin.
-    MPTCP_SCHED_ADVANCED n
+    MPTCP_SCHED_ADVANCED y
     DEFAULT_MPTCP_SCHED default
 
     # Smarter TCP congestion controllers
diff --git a/pkgs/os-specific/linux/kernel/linux-riscv.nix b/pkgs/os-specific/linux/kernel/linux-riscv.nix
index 45795e24c54..60370311865 100644
--- a/pkgs/os-specific/linux/kernel/linux-riscv.nix
+++ b/pkgs/os-specific/linux/kernel/linux-riscv.nix
@@ -1,15 +1,15 @@
 { stdenv, buildPackages, hostPlatform, fetchFromGitHub, perl, buildLinux, libelf, utillinux, ... } @ args:
 
 buildLinux (args // rec {
-  version = "4.16-rc2";
-  modDirVersion = "4.16.0-rc2";
+  version = "4.16-rc6";
+  modDirVersion = "4.16.0-rc6";
   extraMeta.branch = "4.16";
 
   src = fetchFromGitHub {
     owner = "shlevy";
     repo ="riscv-linux";
-    rev = "f0c42cff9292c0a8e6ca702a54aafa04b35758a6";
-    sha256 = "050mdciyz1595z81zsss0v9vqsaysppyzqaqpfs5figackifv3iv";
+    rev = "a54f259c2adce68e3bd7600be8989bf1ddf9ea3a";
+    sha256 = "140w6mj4hm1vf4zsmcr2w5cghcaalbvw5d4m9z57dmq1z5plsl4q";
   };
 
   # Should the testing kernels ever be built on Hydra?
diff --git a/pkgs/os-specific/linux/kernel/linux-testing-bcachefs.nix b/pkgs/os-specific/linux/kernel/linux-testing-bcachefs.nix
index 5aae37418ce..1366a11b573 100644
--- a/pkgs/os-specific/linux/kernel/linux-testing-bcachefs.nix
+++ b/pkgs/os-specific/linux/kernel/linux-testing-bcachefs.nix
@@ -1,15 +1,15 @@
 { stdenv, buildPackages, hostPlatform, fetchgit, perl, buildLinux, ... } @ args:
 
 buildLinux (args // rec {
-  version = "4.15.2018.02.09";
+  version = "4.15.2018.04.14";
   modDirVersion = "4.15.0";
   extraMeta.branch = "master";
-  extraMeta.maintainers = [ stdenv.lib.maintainers.davidak ];
+  extraMeta.maintainers = [ stdenv.lib.maintainers.davidak stdenv.lib.maintainers.chiiruno ];
 
   src = fetchgit {
     url = "https://evilpiepirate.org/git/bcachefs.git";
-    rev = "4506cd5ead31209a6a646c2412cbc7be735ebda4";
-    sha256 = "0fcyf3y27k2lga5na4dhdyc47br840gkqynv8gix297pqxgidrib";
+    rev = "3b7c824e9330a640312fce1b04537c684c1d602c";
+    sha256 = "1l5ib28qkhrxggn6zj9b2839543anbxk2ip75yizgzlv9vr5m4pk";
   };
 
   extraConfig = ''
diff --git a/pkgs/os-specific/linux/kernel/linux-testing.nix b/pkgs/os-specific/linux/kernel/linux-testing.nix
index 5286ecaf34c..92225670330 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, hostPlatform, fetchurl, perl, buildLinux, libelf, utillinux, ... } @ args:
 
 buildLinux (args // rec {
-  version = "4.16-rc4";
-  modDirVersion = "4.16.0-rc4";
-  extraMeta.branch = "4.16";
+  version = "4.17-rc4";
+  modDirVersion = "4.17.0-rc4";
+  extraMeta.branch = "4.17";
 
   src = fetchurl {
     url = "https://git.kernel.org/torvalds/t/linux-${version}.tar.gz";
-    sha256 = "0fxs3i7rdw5mybmim0npmzqpp7i3ppy1f6f72q2w3qdbjmbqm7w6";
+    sha256 = "1y34hpzgxblwqslhsfsmzmpv9f3s936r93wgn4kmhkcwsm0in292";
   };
 
   # Should the testing kernels ever be built on Hydra?
diff --git a/pkgs/os-specific/linux/kernel/manual-config.nix b/pkgs/os-specific/linux/kernel/manual-config.nix
index 60fb0064513..9833bb57baf 100644
--- a/pkgs/os-specific/linux/kernel/manual-config.nix
+++ b/pkgs/os-specific/linux/kernel/manual-config.nix
@@ -35,6 +35,8 @@ in {
   extraMeta ? {},
   # Whether to utilize the controversial import-from-derivation feature to parse the config
   allowImportFromDerivation ? false,
+  # ignored
+  features ? null,
 
   hostPlatform
 }:
diff --git a/pkgs/os-specific/linux/kernel/mips-ext3-n32.patch b/pkgs/os-specific/linux/kernel/mips-ext3-n32.patch
deleted file mode 100644
index fcb6f9177c7..00000000000
--- a/pkgs/os-specific/linux/kernel/mips-ext3-n32.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-Dirty patch that makes ext3 work again on 3.5 and 3.6 kernels,
-on mips n32.
-
-http://www.linux-mips.org/archives/linux-mips/2012-11/msg00030.html
-
-diff --git a/fs/ext3/dir.c b/fs/ext3/dir.c
-index 92490e9..bf63d7b 100644
---- a/fs/ext3/dir.c
-+++ b/fs/ext3/dir.c
-@@ -228,6 +228,7 @@ out:
- 
- static inline int is_32bit_api(void)
- {
-+	return 1;
- #ifdef CONFIG_COMPAT
- 	return is_compat_task();
- #else
diff --git a/pkgs/os-specific/linux/kernel/mips-fpu-sigill.patch b/pkgs/os-specific/linux/kernel/mips-fpu-sigill.patch
deleted file mode 100644
index 248aba2b2c2..00000000000
--- a/pkgs/os-specific/linux/kernel/mips-fpu-sigill.patch
+++ /dev/null
@@ -1,507 +0,0 @@
-From bf55ef4e3c2f622ac013f196affbd11b67b59223 Mon Sep 17 00:00:00 2001
-From: Mark H Weaver <mhw@netris.org>
-Date: Fri, 28 Oct 2011 13:24:37 -0400
-Subject: [PATCH 2/4] Fix handling of prefx instruction in mips/math-emu
-
-* The instruction is named prefx, not pfetch, and its function
-  field is 0x17, not 0x07.
-
-* Recognize the prefx instruction regardless of what bits happen to be
-  in bits 21-25, which is the format field of the floating-point ops,
-  but holds the base register of the prefx instruction.
----
- arch/mips/include/asm/inst.h |    4 ++--
- arch/mips/math-emu/cp1emu.c  |   16 +++++++---------
- 2 files changed, 9 insertions(+), 11 deletions(-)
-
-diff --git a/arch/mips/include/asm/inst.h b/arch/mips/include/asm/inst.h
-index ab84064..3048edc 100644
---- a/arch/mips/include/asm/inst.h
-+++ b/arch/mips/include/asm/inst.h
-@@ -161,8 +161,8 @@ enum cop1_sdw_func {
-  */
- enum cop1x_func {
- 	lwxc1_op     =  0x00, ldxc1_op     =  0x01,
--	pfetch_op    =  0x07, swxc1_op     =  0x08,
--	sdxc1_op     =  0x09, madd_s_op    =  0x20,
-+	swxc1_op     =  0x08, sdxc1_op     =  0x09,
-+	prefx_op     =  0x17, madd_s_op    =  0x20,
- 	madd_d_op    =  0x21, madd_e_op    =  0x22,
- 	msub_s_op    =  0x28, msub_d_op    =  0x29,
- 	msub_e_op    =  0x2a, nmadd_s_op   =  0x30,
-diff --git a/arch/mips/math-emu/cp1emu.c b/arch/mips/math-emu/cp1emu.c
-index dbf2f93..87ddba1 100644
---- a/arch/mips/math-emu/cp1emu.c
-+++ b/arch/mips/math-emu/cp1emu.c
-@@ -739,7 +739,7 @@ static int fpux_emu(struct pt_regs *xcp, struct mips_fpu_struct *ctx,
- 			break;
- 
- 		default:
--			return SIGILL;
-+			goto SIGILL_unless_prefx_op;
- 		}
- 		break;
- 	}
-@@ -809,19 +809,17 @@ static int fpux_emu(struct pt_regs *xcp, struct mips_fpu_struct *ctx,
- 			goto copcsr;
- 
- 		default:
--			return SIGILL;
-+			goto SIGILL_unless_prefx_op;
- 		}
- 		break;
- 	}
- 
--	case 0x7:		/* 7 */
--		if (MIPSInst_FUNC(ir) != pfetch_op) {
--			return SIGILL;
--		}
--		/* ignore prefx operation */
--		break;
--
- 	default:
-+	      SIGILL_unless_prefx_op:
-+		if (MIPSInst_FUNC(ir) == prefx_op) {
-+			/* ignore prefx operation */
-+			break;
-+		}
- 		return SIGILL;
- 	}
- 
--- 
-1.7.5.4
-
-From 97a564e3eddbfb84844b8eccb3bd751c71dfb3eb Mon Sep 17 00:00:00 2001
-From: Mark H Weaver <mhw@netris.org>
-Date: Fri, 28 Oct 2011 13:35:27 -0400
-Subject: [PATCH 3/4] Don't process empty cause flags after simple fp move on
- mips
-
----
- arch/mips/math-emu/cp1emu.c |    4 ++--
- 1 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/arch/mips/math-emu/cp1emu.c b/arch/mips/math-emu/cp1emu.c
-index 87ddba1..fefcba2 100644
---- a/arch/mips/math-emu/cp1emu.c
-+++ b/arch/mips/math-emu/cp1emu.c
-@@ -912,7 +912,7 @@ static int fpu_emu(struct pt_regs *xcp, struct mips_fpu_struct *ctx,
- 		case fmov_op:
- 			/* an easy one */
- 			SPFROMREG(rv.s, MIPSInst_FS(ir));
--			goto copcsr;
-+			break;
- 
- 			/* binary op on handler */
- 		      scopbop:
-@@ -1099,7 +1099,7 @@ static int fpu_emu(struct pt_regs *xcp, struct mips_fpu_struct *ctx,
- 		case fmov_op:
- 			/* an easy one */
- 			DPFROMREG(rv.d, MIPSInst_FS(ir));
--			goto copcsr;
-+			break;
- 
- 			/* binary op on handler */
- 		      dcopbop:{
--- 
-1.7.5.4
-
-From 4051727b3007ef3675e7258ed86fa8517f86d929 Mon Sep 17 00:00:00 2001
-From: Mark H Weaver <mhw@netris.org>
-Date: Fri, 28 Oct 2011 13:39:10 -0400
-Subject: [PATCH 4/4] Support Loongson2f floating-point instructions in
- mips/math-emu
-
-* (arch/mips/include/asm/inst.h): Add Loongson2f function field values
-  for madd/msub/nmadd/nmsub that use the spec2 opcode, and the
-  Loongson2f/MIPS-5 format field value for paired-single
-  floating-point operations.
-
-* (arch/mips/math-emu/cp1emu.c): Add support for the Loongson2f
-  instructions for madd/msub/nmadd/nmsub, which use the spec2 opcode.
-  Also add support for the Loongson2f instructions that use the
-  paired-single floating-point format.
----
- arch/mips/include/asm/inst.h |    4 +-
- arch/mips/math-emu/cp1emu.c  |  287 +++++++++++++++++++++++++++++++++++++++++-
- 2 files changed, 289 insertions(+), 2 deletions(-)
-
-diff --git a/arch/mips/include/asm/inst.h b/arch/mips/include/asm/inst.h
-index 3048edc..0e8ba7c 100644
---- a/arch/mips/include/asm/inst.h
-+++ b/arch/mips/include/asm/inst.h
-@@ -61,6 +61,8 @@ enum spec_op {
- enum spec2_op {
- 	madd_op, maddu_op, mul_op, spec2_3_unused_op,
- 	msub_op, msubu_op, /* more unused ops */
-+	loongson_madd_op = 0x18, loongson_msub_op,
-+	loongson_nmadd_op, loongson_nmsub_op,
- 	clz_op = 0x20, clo_op,
- 	dclz_op = 0x24, dclo_op,
- 	sdbpp_op = 0x3f
-@@ -133,7 +135,7 @@ enum cop0_com_func {
-  */
- enum cop1_fmt {
- 	s_fmt, d_fmt, e_fmt, q_fmt,
--	w_fmt, l_fmt
-+	w_fmt, l_fmt, ps_fmt
- };
- 
- /*
-diff --git a/arch/mips/math-emu/cp1emu.c b/arch/mips/math-emu/cp1emu.c
-index fefcba2..166b2a4 100644
---- a/arch/mips/math-emu/cp1emu.c
-+++ b/arch/mips/math-emu/cp1emu.c
-@@ -7,6 +7,9 @@
-  * Kevin D. Kissell, kevink@mips.com and Carsten Langgaard, carstenl@mips.com
-  * Copyright (C) 2000  MIPS Technologies, Inc.
-  *
-+ * Loongson instruction support
-+ * Copyright (C) 2011  Mark H Weaver <mhw@netris.org>
-+ *
-  *  This program is free software; you can distribute it and/or modify it
-  *  under the terms of the GNU General Public License (Version 2) as
-  *  published by the Free Software Foundation.
-@@ -57,6 +60,14 @@
- #endif
- #define __mips 4
- 
-+#ifdef __loongson_fp
-+#undef __loongson_fp
-+#endif
-+#if __mips >= 4 && __mips != 32
-+/* Include support for Loongson floating point instructions */
-+#define __loongson_fp 1
-+#endif
-+
- /* Function which emulates a floating point instruction. */
- 
- static int fpu_emu(struct pt_regs *, struct mips_fpu_struct *,
-@@ -66,6 +77,10 @@ static int fpu_emu(struct pt_regs *, struct mips_fpu_struct *,
- static int fpux_emu(struct pt_regs *,
- 	struct mips_fpu_struct *, mips_instruction, void *__user *);
- #endif
-+#ifdef __loongson_fp
-+static int loongson_spec2_emu(struct pt_regs *,
-+	struct mips_fpu_struct *, mips_instruction, void *__user *);
-+#endif
- 
- /* Further private data for which no space exists in mips_fpu_struct */
- 
-@@ -203,6 +218,14 @@ static inline int cop1_64bit(struct pt_regs *xcp)
- #define DPFROMREG(dp, x)	DIFROMREG((dp).bits, x)
- #define DPTOREG(dp, x)	DITOREG((dp).bits, x)
- 
-+/* Support for Loongson paired single floating-point format */
-+#define PSIFROMREG(si1, si2, x) ({ u64 di; DIFROMREG(di, x);		\
-+			(si1) = (u32)di; (si2) = (u32)(di >> 32); })
-+#define PSITOREG(si1, si2, x) DITOREG((si1) | ((u64)(si2) << 32), x)
-+
-+#define PSPFROMREG(sp1, sp2, x) PSIFROMREG((sp1).bits, (sp2).bits, x)
-+#define PSPTOREG(sp1, sp2, x)	PSITOREG((sp1).bits, (sp2).bits, x)
-+
- /*
-  * Emulate the single floating point instruction pointed at by EPC.
-  * Two instructions if the instruction is in a branch delay slot.
-@@ -568,6 +591,15 @@ static int cop1Emulate(struct pt_regs *xcp, struct mips_fpu_struct *ctx,
- 		break;
- #endif
- 
-+#ifdef __loongson_fp
-+	case spec2_op:{
-+		int sig = loongson_spec2_emu(xcp, ctx, ir, fault_addr);
-+		if (sig)
-+			return sig;
-+		break;
-+	}
-+#endif
-+
- 	default:
- 		return SIGILL;
- 	}
-@@ -646,6 +678,172 @@ DEF3OP(msub, dp, ieee754dp_mul, ieee754dp_sub, );
- DEF3OP(nmadd, dp, ieee754dp_mul, ieee754dp_add, ieee754dp_neg);
- DEF3OP(nmsub, dp, ieee754dp_mul, ieee754dp_sub, ieee754dp_neg);
- 
-+#ifdef __loongson_fp
-+static int loongson_spec2_emu(struct pt_regs *xcp, struct mips_fpu_struct *ctx,
-+	mips_instruction ir, void *__user *fault_addr)
-+{
-+	int rfmt;		/* resulting format */
-+	unsigned rcsr = 0;	/* resulting csr */
-+	union {
-+		ieee754dp d;
-+		struct {
-+			ieee754sp s;
-+			ieee754sp s2;
-+		};
-+	} rv;			/* resulting value */
-+
-+	/* XXX maybe add a counter for loongson spec2 fp instructions? */
-+	/* MIPS_FPU_EMU_INC_STATS(cp1xops); */
-+
-+	switch (rfmt = (MIPSInst_FFMT(ir) & 0xf)) {
-+	case s_fmt:{
-+		ieee754sp(*handler) (ieee754sp, ieee754sp, ieee754sp);
-+		ieee754sp fd, fs, ft;
-+
-+		switch (MIPSInst_FUNC(ir)) {
-+		case loongson_madd_op:
-+			handler = fpemu_sp_madd;
-+			goto scoptop;
-+		case loongson_msub_op:
-+			handler = fpemu_sp_msub;
-+			goto scoptop;
-+		case loongson_nmadd_op:
-+			handler = fpemu_sp_nmadd;
-+			goto scoptop;
-+		case loongson_nmsub_op:
-+			handler = fpemu_sp_nmsub;
-+			goto scoptop;
-+
-+		      scoptop:
-+			SPFROMREG(fd, MIPSInst_FD(ir));
-+			SPFROMREG(fs, MIPSInst_FS(ir));
-+			SPFROMREG(ft, MIPSInst_FT(ir));
-+			rv.s = (*handler) (fd, fs, ft);
-+
-+		      copcsr:
-+			if (ieee754_cxtest(IEEE754_INEXACT))
-+				rcsr |= FPU_CSR_INE_X | FPU_CSR_INE_S;
-+			if (ieee754_cxtest(IEEE754_UNDERFLOW))
-+				rcsr |= FPU_CSR_UDF_X | FPU_CSR_UDF_S;
-+			if (ieee754_cxtest(IEEE754_OVERFLOW))
-+				rcsr |= FPU_CSR_OVF_X | FPU_CSR_OVF_S;
-+			if (ieee754_cxtest(IEEE754_INVALID_OPERATION))
-+				rcsr |= FPU_CSR_INV_X | FPU_CSR_INV_S;
-+
-+			break;
-+
-+		default:
-+			return SIGILL;
-+		}
-+		break;
-+	}
-+
-+	case d_fmt:{
-+		ieee754dp(*handler) (ieee754dp, ieee754dp, ieee754dp);
-+		ieee754dp fd, fs, ft;
-+
-+		switch (MIPSInst_FUNC(ir)) {
-+		case loongson_madd_op:
-+			handler = fpemu_dp_madd;
-+			goto dcoptop;
-+		case loongson_msub_op:
-+			handler = fpemu_dp_msub;
-+			goto dcoptop;
-+		case loongson_nmadd_op:
-+			handler = fpemu_dp_nmadd;
-+			goto dcoptop;
-+		case loongson_nmsub_op:
-+			handler = fpemu_dp_nmsub;
-+			goto dcoptop;
-+
-+		      dcoptop:
-+			DPFROMREG(fd, MIPSInst_FD(ir));
-+			DPFROMREG(fs, MIPSInst_FS(ir));
-+			DPFROMREG(ft, MIPSInst_FT(ir));
-+			rv.d = (*handler) (fd, fs, ft);
-+			goto copcsr;
-+
-+		default:
-+			return SIGILL;
-+		}
-+		break;
-+	}
-+
-+	case ps_fmt:{
-+		ieee754sp(*handler) (ieee754sp, ieee754sp, ieee754sp);
-+		struct _ieee754_csr ieee754_csr_save;
-+		ieee754sp fd1, fs1, ft1;
-+		ieee754sp fd2, fs2, ft2;
-+
-+		switch (MIPSInst_FUNC(ir)) {
-+		case loongson_madd_op:
-+			handler = fpemu_sp_madd;
-+			goto pscoptop;
-+		case loongson_msub_op:
-+			handler = fpemu_sp_msub;
-+			goto pscoptop;
-+		case loongson_nmadd_op:
-+			handler = fpemu_sp_nmadd;
-+			goto pscoptop;
-+		case loongson_nmsub_op:
-+			handler = fpemu_sp_nmsub;
-+			goto pscoptop;
-+
-+		      pscoptop:
-+			PSPFROMREG(fd1, fd2, MIPSInst_FD(ir));
-+			PSPFROMREG(fs1, fs2, MIPSInst_FS(ir));
-+			PSPFROMREG(ft1, ft2, MIPSInst_FT(ir));
-+			rv.s = (*handler) (fd1, fs1, ft1);
-+			ieee754_csr_save = ieee754_csr;
-+			rv.s2 = (*handler) (fd2, fs2, ft2);
-+			ieee754_csr.cx |= ieee754_csr_save.cx;
-+			ieee754_csr.sx |= ieee754_csr_save.sx;
-+			goto copcsr;
-+
-+		default:
-+			return SIGILL;
-+		}
-+		break;
-+	}
-+
-+	default:
-+		return SIGILL;
-+	}
-+
-+	/*
-+	 * Update the fpu CSR register for this operation.
-+	 * If an exception is required, generate a tidy SIGFPE exception,
-+	 * without updating the result register.
-+	 * Note: cause exception bits do not accumulate, they are rewritten
-+	 * for each op; only the flag/sticky bits accumulate.
-+	 */
-+	ctx->fcr31 = (ctx->fcr31 & ~FPU_CSR_ALL_X) | rcsr;
-+	if ((ctx->fcr31 >> 5) & ctx->fcr31 & FPU_CSR_ALL_E) {
-+		/*printk ("SIGFPE: fpu csr = %08x\n",ctx->fcr31); */
-+		return SIGFPE;
-+	}
-+
-+	/*
-+	 * Now we can safely write the result back to the register file.
-+	 */
-+	switch (rfmt) {
-+	case d_fmt:
-+		DPTOREG(rv.d, MIPSInst_FD(ir));
-+		break;
-+	case s_fmt:
-+		SPTOREG(rv.s, MIPSInst_FD(ir));
-+		break;
-+	case ps_fmt:
-+		PSPTOREG(rv.s, rv.s2, MIPSInst_FD(ir));
-+		break;
-+	default:
-+		return SIGILL;
-+	}
-+
-+	return 0;
-+}
-+#endif
-+
- static int fpux_emu(struct pt_regs *xcp, struct mips_fpu_struct *ctx,
- 	mips_instruction ir, void *__user *fault_addr)
- {
-@@ -840,7 +1038,12 @@ static int fpu_emu(struct pt_regs *xcp, struct mips_fpu_struct *ctx,
- 	unsigned cond;
- 	union {
- 		ieee754dp d;
--		ieee754sp s;
-+		struct {
-+			ieee754sp s;
-+#ifdef __loongson_fp
-+			ieee754sp s2; /* for Loongson paired singles */
-+#endif
-+		};
- 		int w;
- #ifdef __mips64
- 		s64 l;
-@@ -1210,6 +1413,83 @@ static int fpu_emu(struct pt_regs *xcp, struct mips_fpu_struct *ctx,
- 		break;
- 	}
- 
-+#ifdef __loongson_fp
-+	case ps_fmt:{		/* 6 */
-+		/* Support for Loongson paired single fp instructions */
-+		union {
-+			ieee754sp(*b) (ieee754sp, ieee754sp);
-+			ieee754sp(*u) (ieee754sp);
-+		} handler;
-+
-+		switch (MIPSInst_FUNC(ir)) {
-+			/* binary ops */
-+		case fadd_op:
-+			handler.b = ieee754sp_add;
-+			goto pscopbop;
-+		case fsub_op:
-+			handler.b = ieee754sp_sub;
-+			goto pscopbop;
-+		case fmul_op:
-+			handler.b = ieee754sp_mul;
-+			goto pscopbop;
-+
-+			/* unary  ops */
-+		case fabs_op:
-+			handler.u = ieee754sp_abs;
-+			goto pscopuop;
-+		case fneg_op:
-+			handler.u = ieee754sp_neg;
-+			goto pscopuop;
-+		case fmov_op:
-+			/* an easy one */
-+			PSPFROMREG(rv.s, rv.s2, MIPSInst_FS(ir));
-+			break;
-+
-+		      pscopbop: /* paired binary op handler */
-+			{
-+				struct _ieee754_csr ieee754_csr_save;
-+				ieee754sp fs1, ft1;
-+				ieee754sp fs2, ft2;
-+
-+				PSPFROMREG(fs1, fs2, MIPSInst_FS(ir));
-+				PSPFROMREG(ft1, ft2, MIPSInst_FT(ir));
-+				rv.s  = (*handler.b) (fs1, ft1);
-+				ieee754_csr_save = ieee754_csr;
-+				rv.s2 = (*handler.b) (fs2, ft2);
-+				ieee754_csr.cx |= ieee754_csr_save.cx;
-+				ieee754_csr.sx |= ieee754_csr_save.sx;
-+				goto copcsr;
-+			}
-+		      pscopuop: /* paired unary op handler */
-+			{
-+				struct _ieee754_csr ieee754_csr_save;
-+				ieee754sp fs1;
-+				ieee754sp fs2;
-+
-+				PSPFROMREG(fs1, fs2, MIPSInst_FS(ir));
-+				rv.s  = (*handler.u) (fs1);
-+				ieee754_csr_save = ieee754_csr;
-+				rv.s2 = (*handler.u) (fs2);
-+				ieee754_csr.cx |= ieee754_csr_save.cx;
-+				ieee754_csr.sx |= ieee754_csr_save.sx;
-+				goto copcsr;
-+			}
-+			break;
-+
-+		default:
-+			if (MIPSInst_FUNC(ir) >= fcmp_op) {
-+				/* Loongson fp hardware handles all
-+				   cases of fp compare insns, so we
-+				   shouldn't have to */
-+				printk ("Loongson paired-single fp compare"
-+					" unimplemented in cp1emu.c\n");
-+			}
-+			return SIGILL;
-+		}
-+		break;
-+	}
-+#endif
-+
- 	case w_fmt:{
- 		ieee754sp fs;
- 
-@@ -1299,6 +1579,11 @@ static int fpu_emu(struct pt_regs *xcp, struct mips_fpu_struct *ctx,
- 		DITOREG(rv.l, MIPSInst_FD(ir));
- 		break;
- #endif
-+#ifdef __loongson_fp
-+	case ps_fmt:
-+		PSPTOREG(rv.s, rv.s2, MIPSInst_FD(ir));
-+		break;
-+#endif
- 	default:
- 		return SIGILL;
- 	}
--- 
-1.7.5.4
-
diff --git a/pkgs/os-specific/linux/kernel/mips-fpureg-emulation.patch b/pkgs/os-specific/linux/kernel/mips-fpureg-emulation.patch
deleted file mode 100644
index 452c4f26f6f..00000000000
--- a/pkgs/os-specific/linux/kernel/mips-fpureg-emulation.patch
+++ /dev/null
@@ -1,144 +0,0 @@
-From ab1ce0a6cd51ca83194a865837f3b90f366a733d Mon Sep 17 00:00:00 2001
-From: Lluis Batlle i Rossell <viric@viric.name>
-Date: Sat, 16 Jun 2012 00:22:53 +0200
-Subject: [PATCH] MIPS: Add emulation for fpureg-mem unaligned access
-To: linux-mips@linux-mips.org
-Cc: loongson-dev@googlegroups.com
-
-Reusing most of the code from lw,ld,sw,sd emulation,
-I add the emulation for lwc1,ldc1,swc1,sdc1.
-
-This avoids the direct SIGBUS sent to userspace processes that have
-misaligned memory accesses.
-
-I've tested the change in Loongson2F, with an own test program, and
-WebKit 1.4.0, as both were killed by sigbus without this patch.
-
-Signed-off: Lluis Batlle i Rossell <viric@viric.name>
----
- arch/mips/kernel/unaligned.c |   43 +++++++++++++++++++++++++++++-------------
- 1 file changed, 30 insertions(+), 13 deletions(-)
-
-diff --git a/arch/mips/kernel/unaligned.c b/arch/mips/kernel/unaligned.c
-index 9c58bdf..4531e6c 100644
---- a/arch/mips/kernel/unaligned.c
-+++ b/arch/mips/kernel/unaligned.c
-@@ -85,6 +85,7 @@
- #include <asm/cop2.h>
- #include <asm/inst.h>
- #include <asm/uaccess.h>
-+#include <asm/fpu.h>
- 
- #define STR(x)  __STR(x)
- #define __STR(x)  #x
-@@ -108,6 +109,7 @@ static void emulate_load_store_insn(struct pt_regs *regs,
- 	union mips_instruction insn;
- 	unsigned long value;
- 	unsigned int res;
-+	fpureg_t *fpuregs;
- 
- 	perf_sw_event(PERF_COUNT_SW_EMULATION_FAULTS, 1, regs, 0);
- 
-@@ -183,6 +185,7 @@ static void emulate_load_store_insn(struct pt_regs *regs,
- 		break;
- 
- 	case lw_op:
-+	case lwc1_op:
- 		if (!access_ok(VERIFY_READ, addr, 4))
- 			goto sigbus;
- 
-@@ -209,7 +212,12 @@ static void emulate_load_store_insn(struct pt_regs *regs,
- 		if (res)
- 			goto fault;
- 		compute_return_epc(regs);
--		regs->regs[insn.i_format.rt] = value;
-+		if (insn.i_format.opcode == lw_op) {
-+			regs->regs[insn.i_format.rt] = value;
-+		} else {
-+			fpuregs = get_fpu_regs(current);
-+			fpuregs[insn.i_format.rt] = value;
-+		}
- 		break;
- 
- 	case lhu_op:
-@@ -291,6 +299,7 @@ static void emulate_load_store_insn(struct pt_regs *regs,
- 		goto sigill;
- 
- 	case ld_op:
-+	case ldc1_op:
- #ifdef CONFIG_64BIT
- 		/*
- 		 * A 32-bit kernel might be running on a 64-bit processor.  But
-@@ -325,7 +334,12 @@ static void emulate_load_store_insn(struct pt_regs *regs,
- 		if (res)
- 			goto fault;
- 		compute_return_epc(regs);
--		regs->regs[insn.i_format.rt] = value;
-+		if (insn.i_format.opcode == ld_op) {
-+			regs->regs[insn.i_format.rt] = value;
-+		} else {
-+			fpuregs = get_fpu_regs(current);
-+			fpuregs[insn.i_format.rt] = value;
-+		}
- 		break;
- #endif /* CONFIG_64BIT */
- 
-@@ -370,10 +384,16 @@ static void emulate_load_store_insn(struct pt_regs *regs,
- 		break;
- 
- 	case sw_op:
-+	case swc1_op:
- 		if (!access_ok(VERIFY_WRITE, addr, 4))
- 			goto sigbus;
- 
--		value = regs->regs[insn.i_format.rt];
-+		if (insn.i_format.opcode == sw_op) {
-+			value = regs->regs[insn.i_format.rt];
-+		} else {
-+			fpuregs = get_fpu_regs(current);
-+			value = fpuregs[insn.i_format.rt];
-+		}
- 		__asm__ __volatile__ (
- #ifdef __BIG_ENDIAN
- 			"1:\tswl\t%1,(%2)\n"
-@@ -401,6 +421,7 @@ static void emulate_load_store_insn(struct pt_regs *regs,
- 		break;
- 
- 	case sd_op:
-+	case sdc1_op:
- #ifdef CONFIG_64BIT
- 		/*
- 		 * A 32-bit kernel might be running on a 64-bit processor.  But
-@@ -412,7 +433,12 @@ static void emulate_load_store_insn(struct pt_regs *regs,
- 		if (!access_ok(VERIFY_WRITE, addr, 8))
- 			goto sigbus;
- 
--		value = regs->regs[insn.i_format.rt];
-+		if (insn.i_format.opcode == sd_op) {
-+			value = regs->regs[insn.i_format.rt];
-+		} else {
-+			fpuregs = get_fpu_regs(current);
-+			value = fpuregs[insn.i_format.rt];
-+		}
- 		__asm__ __volatile__ (
- #ifdef __BIG_ENDIAN
- 			"1:\tsdl\t%1,(%2)\n"
-@@ -443,15 +469,6 @@ static void emulate_load_store_insn(struct pt_regs *regs,
- 		/* Cannot handle 64-bit instructions in 32-bit kernel */
- 		goto sigill;
- 
--	case lwc1_op:
--	case ldc1_op:
--	case swc1_op:
--	case sdc1_op:
--		/*
--		 * I herewith declare: this does not happen.  So send SIGBUS.
--		 */
--		goto sigbus;
--
- 	/*
- 	 * COP2 is available to implementor for application specific use.
- 	 * It's up to applications to register a notifier chain and do
--- 
-1.7.9.5
-
diff --git a/pkgs/os-specific/linux/kernel/patches.nix b/pkgs/os-specific/linux/kernel/patches.nix
index e163459d7f4..fb28bba1c32 100644
--- a/pkgs/os-specific/linux/kernel/patches.nix
+++ b/pkgs/os-specific/linux/kernel/patches.nix
@@ -1,26 +1,6 @@
 { stdenv, fetchurl, fetchpatch, pkgs }:
 
-let
-
-  makeTuxonicePatch = { version, kernelVersion, sha256,
-    url ? "http://tuxonice.nigelcunningham.com.au/downloads/all/tuxonice-for-linux-${kernelVersion}-${version}.patch.bz2" }:
-    { name = "tuxonice-${kernelVersion}";
-      patch = stdenv.mkDerivation {
-        name = "tuxonice-${version}-for-${kernelVersion}.patch";
-        src = fetchurl {
-          inherit url sha256;
-        };
-        phases = [ "installPhase" ];
-        installPhase = ''
-          source $stdenv/setup
-          bunzip2 -c $src > $out
-        '';
-      };
-    };
-in
-
 rec {
-
   bridge_stp_helper =
     { name = "bridge-stp-helper";
       patch = ./bridge-stp-helper.patch;
@@ -31,21 +11,6 @@ rec {
       patch = ./p9-fixes.patch;
     };
 
-  mips_fpureg_emu =
-    { name = "mips-fpureg-emulation";
-      patch = ./mips-fpureg-emulation.patch;
-    };
-
-  mips_fpu_sigill =
-    { name = "mips-fpu-sigill";
-      patch = ./mips-fpu-sigill.patch;
-    };
-
-  mips_ext3_n32 =
-    { name = "mips-ext3-n32";
-      patch = ./mips-ext3-n32.patch;
-    };
-
   modinst_arg_list_too_long =
     { name = "modinst-arglist-too-long";
       patch = ./modinst-arg-list-too-long.patch;
@@ -73,4 +38,15 @@ rec {
     };
   };
 
+  # https://patchwork.kernel.org/patch/9626797/
+  # Should be included in 4.17, so this patch can be dropped when 4.16 becomes obsolete.
+  bcm2835_mmal_v4l2_camera_driver = rec {
+    name = "bcm2835_mmal_v4l2_camera_driver";
+    patch = fetchpatch {
+      name = name + ".patch";
+      url = https://patchwork.kernel.org/patch/9626797/raw/;
+      sha256 = "0iwb0yxsf95zv4qxkvlvhqfmzx0rk13g9clvxsharvwkb4w5lwa0";
+    };
+  };
+
 }
diff --git a/pkgs/os-specific/linux/kernel/perf.nix b/pkgs/os-specific/linux/kernel/perf.nix
index 06552eb3579..bbef2bd19ae 100644
--- a/pkgs/os-specific/linux/kernel/perf.nix
+++ b/pkgs/os-specific/linux/kernel/perf.nix
@@ -12,7 +12,7 @@ assert versionAtLeast kernel.version "3.12";
 stdenv.mkDerivation {
   name = "perf-linux-${kernel.version}";
 
-  inherit (kernel) src makeFlags;
+  inherit (kernel) src;
 
   preConfigure = ''
     cd tools/perf
@@ -24,17 +24,21 @@ stdenv.mkDerivation {
       substituteInPlace $x --replace /usr/lib/debug /run/current-system/sw/lib/debug
     done
 
-    [ -f bash_completion ] && sed -i 's,^have perf,_have perf,' bash_completion
-    export makeFlags="DESTDIR=$out WERROR=0 $makeFlags"
-    export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -DTIPDIR=\"$out/share/doc/perf-tip\""
+    if [ -f bash_completion ]; then
+      sed -i 's,^have perf,_have perf,' bash_completion
+    fi
   '';
 
+  makeFlags = ["prefix=$(out)" "WERROR=0"] ++ kernel.makeFlags;
+
   # perf refers both to newt and slang
-  nativeBuildInputs = [ asciidoc xmlto docbook_xsl docbook_xml_dtd_45 libxslt
-      flex bison libiberty libaudit makeWrapper pkgconfig python perl ];
-  buildInputs =
-    [ elfutils newt slang libunwind libbfd zlib openssl systemtap.stapBuild numactl
-    ] ++ stdenv.lib.optional withGtk gtk2;
+  nativeBuildInputs = [
+    asciidoc xmlto docbook_xsl docbook_xml_dtd_45 libxslt
+    flex bison libiberty libaudit makeWrapper pkgconfig python perl
+  ];
+  buildInputs = [
+    elfutils newt slang libunwind libbfd zlib openssl systemtap.stapBuild numactl
+  ] ++ stdenv.lib.optional withGtk gtk2;
 
   # Note: we don't add elfutils to buildInputs, since it provides a
   # bad `ld' and other stuff.
@@ -49,8 +53,11 @@ stdenv.mkDerivation {
       "-Wno-error=unused-const-variable" "-Wno-error=misleading-indentation"
     ];
 
+  doCheck = false; # requires "sparse"
+  doInstallCheck = false; # same
+
   separateDebugInfo = true;
-  installFlags = "install install-man ASCIIDOC8=1";
+  installFlags = "install install-man ASCIIDOC8=1 prefix=$(out)";
 
   preFixup = ''
     wrapProgram $out/bin/perf \
diff --git a/pkgs/os-specific/linux/kexectools/default.nix b/pkgs/os-specific/linux/kexectools/default.nix
index c4c5b7cc3b9..f5f0916b90a 100644
--- a/pkgs/os-specific/linux/kexectools/default.nix
+++ b/pkgs/os-specific/linux/kexectools/default.nix
@@ -2,14 +2,14 @@
 
 stdenv.mkDerivation rec {
   name = "kexec-tools-${version}";
-  version = "2.0.16";
+  version = "2.0.17";
 
   src = fetchurl {
     urls = [
       "mirror://kernel/linux/utils/kernel/kexec/${name}.tar.xz"
       "http://horms.net/projects/kexec/kexec-tools/${name}.tar.xz"
     ];
-    sha256 = "043hasx5b9zk7r7dzx24z5wybg74dpmh0nyns6nrnb3mmm8k642v";
+    sha256 = "1ac20jws8iys9w6dpn4q3hihyx73zkabdwv3gcb779cxfrmq2k2h";
   };
 
   hardeningDisable = [ "format" "pic" "relro" ];
@@ -22,5 +22,6 @@ stdenv.mkDerivation rec {
     homepage = http://horms.net/projects/kexec/kexec-tools;
     description = "Tools related to the kexec Linux feature";
     platforms = platforms.linux;
+    badPlatforms = platforms.riscv;
   };
 }
diff --git a/pkgs/os-specific/linux/kmod/aggregator.nix b/pkgs/os-specific/linux/kmod/aggregator.nix
index 9bd7c8480c1..7d46a13f356 100644
--- a/pkgs/os-specific/linux/kmod/aggregator.nix
+++ b/pkgs/os-specific/linux/kmod/aggregator.nix
@@ -9,6 +9,12 @@ buildEnv {
     ''
       source ${stdenv}/setup
 
+      if ! test -d "$out/lib/modules"; then
+        echo "No modules found."
+        # To support a kernel without modules
+        exit 0
+      fi
+
       kernelVersion=$(cd $out/lib/modules && ls -d *)
       if test "$(echo $kernelVersion | wc -w)" != 1; then
          echo "inconsistent kernel versions: $kernelVersion"
diff --git a/pkgs/os-specific/linux/kmscube/default.nix b/pkgs/os-specific/linux/kmscube/default.nix
index 2fb4fe93cc8..27ffaca61e7 100644
--- a/pkgs/os-specific/linux/kmscube/default.nix
+++ b/pkgs/os-specific/linux/kmscube/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchgit, autoreconfHook, libdrm, libX11, libGL, pkgconfig }:
+{ stdenv, fetchgit, autoreconfHook, libdrm, libX11, libGL, mesa_noglu, pkgconfig }:
 
 stdenv.mkDerivation rec {
   name = "kmscube-2017-03-19";
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ autoreconfHook pkgconfig ];
-  buildInputs = [ libdrm libX11 libGL ];
+  buildInputs = [ libdrm libX11 libGL mesa_noglu ];
 
   meta = with stdenv.lib; {
     description = "Example OpenGL app using KMS/GBM";
diff --git a/pkgs/os-specific/linux/libaio/default.nix b/pkgs/os-specific/linux/libaio/default.nix
index 1e85182d6c3..e2be136adee 100644
--- a/pkgs/os-specific/linux/libaio/default.nix
+++ b/pkgs/os-specific/linux/libaio/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl }:
+{ stdenv, fetchurl, fetchpatch }:
 
 stdenv.mkDerivation rec {
   version = "0.3.110";
@@ -9,6 +9,11 @@ stdenv.mkDerivation rec {
     sha256 = "0zjzfkwd1kdvq6zpawhzisv7qbq1ffs343i5fs9p498pcf7046g0";
   };
 
+  patches = [ (fetchpatch {
+    url = https://pagure.io/libaio/c/da47c32b2ff39e52fbed1622c34b86bc88d7c217.patch;
+    sha256 = "1kqpiswjn549s3w3m89bw5qkl7bw5pvq6gp5cdzd926ymlgivj5c";
+  }) ];
+
   makeFlags = "prefix=$(out)";
 
   hardeningDisable = stdenv.lib.optional (stdenv.isi686) "stackprotector";
diff --git a/pkgs/os-specific/linux/libcap-ng/default.nix b/pkgs/os-specific/linux/libcap-ng/default.nix
index d4625687c47..845e4e704eb 100644
--- a/pkgs/os-specific/linux/libcap-ng/default.nix
+++ b/pkgs/os-specific/linux/libcap-ng/default.nix
@@ -6,11 +6,11 @@ stdenv.mkDerivation rec {
   name = "libcap-ng-${version}";
   # When updating make sure to test that the version with
   # all of the python bindings still works
-  version = "0.7.8";
+  version = "0.7.9";
 
   src = fetchurl {
     url = "${meta.homepage}/${name}.tar.gz";
-    sha256 = "0pyhjxgsph3p28ayk4ynxab6wvzaqmazk1nkamx11m2w8jbzj6n2";
+    sha256 = "0a0k484kwv0zilry2mbl9k56cnpdhsjxdxin17jas6kkyfy345aa";
   };
 
   nativeBuildInputs = [ swig ];
diff --git a/pkgs/os-specific/linux/libcap/default.nix b/pkgs/os-specific/linux/libcap/default.nix
index f00d6272902..8248a628f0a 100644
--- a/pkgs/os-specific/linux/libcap/default.nix
+++ b/pkgs/os-specific/linux/libcap/default.nix
@@ -1,5 +1,4 @@
-{ stdenv, buildPackages, fetchurl, attr, perl, pam ? null }:
-assert pam != null -> stdenv.isLinux;
+{ stdenv, buildPackages, fetchurl, attr, perl, pam }:
 
 stdenv.mkDerivation rec {
   name = "libcap-${version}";
@@ -10,8 +9,7 @@ stdenv.mkDerivation rec {
     sha256 = "0qjiqc5pknaal57453nxcbz3mn1r4hkyywam41wfcglq3v2qlg39";
   };
 
-  outputs = [ "out" "dev" "lib" "man" "doc" ]
-    ++ stdenv.lib.optional (pam != null) "pam";
+  outputs = [ "out" "dev" "lib" "man" "doc" "pam" ];
 
   depsBuildBuild = [ buildPackages.stdenv.cc ];
   nativeBuildInputs = [ perl ];
@@ -22,7 +20,7 @@ stdenv.mkDerivation rec {
 
   makeFlags = [
     "lib=lib"
-    (stdenv.lib.optional (pam != null) "PAM_CAP=yes")
+    "PAM_CAP=yes"
     "BUILD_CC=$(CC_FOR_BUILD)"
     "CC:=$(CC)"
   ];
diff --git a/pkgs/os-specific/linux/libnl/default.nix b/pkgs/os-specific/linux/libnl/default.nix
index f66df8163ff..c79a4314d6f 100644
--- a/pkgs/os-specific/linux/libnl/default.nix
+++ b/pkgs/os-specific/linux/libnl/default.nix
@@ -19,6 +19,8 @@ stdenv.mkDerivation {
       sha256 = "0dd7xxikib201i99k2if066hh7gwf2i4ffckrjplq6lr206jn00r";
     });
 
+  enableParallelBuilding = true;
+
   nativeBuildInputs = [ autoreconfHook bison flex pkgconfig ];
 
   meta = with lib; {
diff --git a/pkgs/os-specific/linux/libselinux/default.nix b/pkgs/os-specific/linux/libselinux/default.nix
index 541ead7258f..59d5db52ac6 100644
--- a/pkgs/os-specific/linux/libselinux/default.nix
+++ b/pkgs/os-specific/linux/libselinux/default.nix
@@ -1,5 +1,6 @@
-{ stdenv, fetchurl, fetchpatch, pkgconfig, libsepol, pcre
+{ stdenv, fetchurl, pcre, pkgconfig, libsepol
 , enablePython ? true, swig ? null, python ? null
+, musl-fts
 }:
 
 assert enablePython -> swig != null && python != null;
@@ -8,48 +9,37 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   name = "libselinux-${version}";
-  version = "2.4";
+  version = "2.7";
   inherit (libsepol) se_release se_url;
 
   src = fetchurl {
     url = "${se_url}/${se_release}/libselinux-${version}.tar.gz";
-    sha256 = "0yqg73ns97jwjh1iyv0jr5qxb8k5sqq5ywfkx11lzfn5yj8k0126";
+    sha256 = "0mwcq78v6ngbq06xmb9dvilpg0jnl2vs9fgrpakhmmiskdvc1znh";
   };
 
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ libsepol pcre ]
-             ++ optionals enablePython [ swig python ];
+             ++ optionals enablePython [ swig python ]
+             ++ optional stdenv.hostPlatform.isMusl musl-fts;
 
-  # Avoid this false warning:
-  # avc_internal.c: In function 'avc_netlink_receive':
-  # avc_internal.c:105:25: error: cast increases required alignment of target type [-Werror=cast-align]
-  #  struct nlmsghdr *nlh = (struct nlmsghdr *)buf;
-  #                         ^
+  # drop fortify here since package uses it by default, leading to compile error:
+  # command-line>:0:0: error: "_FORTIFY_SOURCE" redefined [-Werror]
+  hardeningDisable = [ "fortify" ];
 
-  NIX_CFLAGS_COMPILE = "-std=gnu89 -Wno-error=cast-align";
-
-  # Unreleased upstream patch that fixes Python package issue arising
-  # from recent SWIG changes.
-  patches = optional enablePython (fetchpatch {
-    name = "fix-python-swig.patch";
-    url = "https://github.com/SELinuxProject/selinux/commit/a9604c30a5e2f71007d31aa6ba41cf7b95d94822.patch";
-    sha256 = "0mjrclh0sd8m7vq0wvl6pg29ss415j3kn0266v8ixy4fprafagfp";
-    stripLen = 1;
-  });
+  NIX_CFLAGS_COMPILE = [ "-Wno-error" ];
 
   postPatch = optionalString enablePython ''
     sed -i -e 's|\$(LIBDIR)/libsepol.a|${libsepol}/lib/libsepol.a|' src/Makefile
-  ''
-  + ''
-    sed '1i#include <sys/uio.h>' -i src/setrans_client.c
   '';
 
+  # fix install locations
   preBuild = ''
-    # Build fails without this precreated
-    mkdir -p $out/include
-
     makeFlagsArray+=("PREFIX=$out")
     makeFlagsArray+=("DESTDIR=$out")
+    makeFlagsArray+=("MAN3DIR=$out/share/man/man3")
+    makeFlagsArray+=("MAN5DIR=$out/share/man/man5")
+    makeFlagsArray+=("MAN8DIR=$out/share/man/man8")
+    makeFlagsArray+=("PYSITEDIR=$out/lib/${python.libPrefix}/site-packages")
   '';
 
   installTargets = [ "install" ] ++ optional enablePython "install-pywrap";
diff --git a/pkgs/os-specific/linux/libsemanage/default.nix b/pkgs/os-specific/linux/libsemanage/default.nix
index c60d96bba78..45222bee6b0 100644
--- a/pkgs/os-specific/linux/libsemanage/default.nix
+++ b/pkgs/os-specific/linux/libsemanage/default.nix
@@ -1,25 +1,33 @@
-{ stdenv, fetchurl, bison, flex, libsepol, libselinux, ustr, bzip2, libaudit }:
+{ stdenv, fetchurl, pkgconfig, bison, flex, libsepol, libselinux, bzip2, libaudit
+, enablePython ? true, swig ? null, python ? null
+}:
+
+with stdenv.lib;
 
 stdenv.mkDerivation rec {
   name = "libsemanage-${version}";
-  version = "2.4";
+  version = "2.7";
   inherit (libsepol) se_release se_url;
 
   src = fetchurl {
     url = "${se_url}/${se_release}/libsemanage-${version}.tar.gz";
-    sha256 = "1134ka4mi4387ac5yv68bpp2y7ln5xxhwp07xhqnay0nxzjaqk0s";
+    sha256 = "0xnlp1yg8b1aqc6kq3pss1i1nl06rfj4x4pyl5blasnf2ivlgs87";
   };
 
-  nativeBuildInputs = [ bison flex ];
-  buildInputs = [ libsepol libselinux ustr bzip2 libaudit ];
-
-  NIX_CFLAGS_COMPILE = "-fstack-protector-all -std=gnu89";
+  nativeBuildInputs = [ bison flex pkgconfig ];
+  buildInputs = [ libsepol libselinux bzip2 libaudit ]
+    ++ optionals enablePython [ swig python ];
 
   preBuild = ''
     makeFlagsArray+=("PREFIX=$out")
     makeFlagsArray+=("DESTDIR=$out")
+    makeFlagsArray+=("MAN3DIR=$out/share/man/man3")
+    makeFlagsArray+=("MAN5DIR=$out/share/man/man5")
+    makeFlagsArray+=("PYSITEDIR=$out/lib/${python.libPrefix}/site-packages")
   '';
 
+  installTargets = [ "install" ] ++ optionals enablePython [ "install-pywrap" ];
+
   meta = libsepol.meta // {
     description = "Policy management tools for SELinux";
     license = stdenv.lib.licenses.lgpl21;
diff --git a/pkgs/os-specific/linux/libsepol/default.nix b/pkgs/os-specific/linux/libsepol/default.nix
index f7f393afb39..40872f7c1ac 100644
--- a/pkgs/os-specific/linux/libsepol/default.nix
+++ b/pkgs/os-specific/linux/libsepol/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "libsepol-${version}";
-  version = "2.4";
-  se_release = "20150202";
+  version = "2.7";
+  se_release = "20170804";
   se_url = "https://raw.githubusercontent.com/wiki/SELinuxProject/selinux/files/releases";
 
   src = fetchurl {
     url = "${se_url}/${se_release}/libsepol-${version}.tar.gz";
-    sha256 = "0ncnwhpc1gx4hrrb822fqkwy5h75zzngsrfkd5mlqh1jk7aib419";
+    sha256 = "1rzr90d3f1g5wy1b8sh6fgnqb9migys2zgpjmpakn6lhxkc3p7fn";
   };
 
   nativeBuildInputs = [ flex ];
@@ -16,9 +16,11 @@ stdenv.mkDerivation rec {
   preBuild = ''
     makeFlagsArray+=("PREFIX=$out")
     makeFlagsArray+=("DESTDIR=$out")
+    makeFlagsArray+=("MAN8DIR=$out/share/man/man8")
+    makeFlagsArray+=("MAN3DIR=$out/share/man/man3")
   '';
 
-  NIX_CFLAGS_COMPILE = [ "-Wno-error=implicit-fallthrough" ];
+  NIX_CFLAGS_COMPILE = [ "-Wno-error" ];
 
   passthru = { inherit se_release se_url; };
 
diff --git a/pkgs/os-specific/linux/libsmbios/default.nix b/pkgs/os-specific/linux/libsmbios/default.nix
index 62898675f2b..c61fa683c75 100644
--- a/pkgs/os-specific/linux/libsmbios/default.nix
+++ b/pkgs/os-specific/linux/libsmbios/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchFromGitHub, pkgconfig, autoreconfHook, help2man, gettext
-, libxml2, perl, doxygen }:
+, libxml2, perl, python3, doxygen }:
 
 
 stdenv.mkDerivation rec {
@@ -15,7 +15,9 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ autoreconfHook doxygen gettext libxml2 help2man perl pkgconfig ];
 
-  configureFlags = [ "--disable-python" "--disable-graphviz" ];
+  buildInputs = [ python3 ];
+
+  configureFlags = [ "--disable-graphviz" ];
 
   enableParallelBuilding = true;
 
diff --git a/pkgs/os-specific/linux/lsscsi/default.nix b/pkgs/os-specific/linux/lsscsi/default.nix
index 833c032ccd2..084a7e7c9a3 100644
--- a/pkgs/os-specific/linux/lsscsi/default.nix
+++ b/pkgs/os-specific/linux/lsscsi/default.nix
@@ -1,7 +1,5 @@
 { stdenv, fetchurl }:
 
-assert stdenv.isLinux;
-
 stdenv.mkDerivation {
   name = "lsscsi-0.28";
 
diff --git a/pkgs/os-specific/linux/lttng-modules/default.nix b/pkgs/os-specific/linux/lttng-modules/default.nix
index ff6db1b41ee..7c2233714d4 100644
--- a/pkgs/os-specific/linux/lttng-modules/default.nix
+++ b/pkgs/os-specific/linux/lttng-modules/default.nix
@@ -6,7 +6,7 @@ stdenv.mkDerivation rec {
   version = "2.10.5";
 
   src = fetchurl {
-    url = "http://lttng.org/files/lttng-modules/lttng-modules-${version}.tar.bz2";
+    url = "https://lttng.org/files/lttng-modules/lttng-modules-${version}.tar.bz2";
     sha256 = "07rs01zwr4bmjamplix5qz1c6mb6wdawb68vyn0w6wx68ppbpnxq";
   };
 
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Linux kernel modules for LTTng tracing";
-    homepage = http://lttng.org/;
+    homepage = https://lttng.org/;
     license = with licenses; [ lgpl21 gpl2 mit ];
     platforms = platforms.linux;
     maintainers = [ maintainers.bjornfor ];
diff --git a/pkgs/os-specific/linux/lvm2/default.nix b/pkgs/os-specific/linux/lvm2/default.nix
index bd84e121a7d..8cda636e987 100644
--- a/pkgs/os-specific/linux/lvm2/default.nix
+++ b/pkgs/os-specific/linux/lvm2/default.nix
@@ -59,6 +59,8 @@ stdenv.mkDerivation {
     })
   ];
 
+  doCheck = false; # requires root
+
   # To prevent make install from failing.
   preInstall = "installFlags=\"OWNER= GROUP= confdir=$out/etc\"";
 
diff --git a/pkgs/os-specific/linux/lxc/default.nix b/pkgs/os-specific/linux/lxc/default.nix
index 2e2ef610de6..1b15edcc923 100644
--- a/pkgs/os-specific/linux/lxc/default.nix
+++ b/pkgs/os-specific/linux/lxc/default.nix
@@ -1,29 +1,26 @@
 { stdenv, fetchurl, fetchpatch, autoreconfHook, pkgconfig, perl, docbook2x
-, docbook_xml_dtd_45, python3Packages
+, docbook_xml_dtd_45, python3Packages, pam
 
 # Optional Dependencies
 , libapparmor ? null, gnutls ? null, libselinux ? null, libseccomp ? null
-, cgmanager ? null, libnih ? null, dbus ? null, libcap ? null, systemd ? null
+, libcap ? null, systemd ? null
 }:
 
-let
-  enableCgmanager = cgmanager != null && libnih != null && dbus != null;
-in
 with stdenv.lib;
 stdenv.mkDerivation rec {
   name = "lxc-${version}";
-  version = "2.1.1";
+  version = "3.0.0";
 
   src = fetchurl {
     url = "https://linuxcontainers.org/downloads/lxc/lxc-${version}.tar.gz";
-    sha256 = "1xpghrinxhm2072fwmn42pxhjwh7qx6cbsipw4s6g38a8mkklrk8";
+    sha256 = "12ldpkd17cy6fg7z1icr91cfs86jkkrsj61b6wdj0l7h4x624c32";
   };
 
   nativeBuildInputs = [
     autoreconfHook pkgconfig perl docbook2x python3Packages.wrapPython
   ];
   buildInputs = [
-    libapparmor gnutls libselinux libseccomp cgmanager libnih dbus libcap
+    pam libapparmor gnutls libselinux libseccomp libcap
     python3Packages.python python3Packages.setuptools systemd
   ];
 
@@ -37,15 +34,8 @@ stdenv.mkDerivation rec {
 
   XML_CATALOG_FILES = "${docbook_xml_dtd_45}/xml/dtd/docbook/catalog.xml";
 
-  # FIXME
-  # glibc 2.25 moved major()/minor() to <sys/sysmacros.h>.
-  # this commit should detect this: https://github.com/lxc/lxc/pull/1388/commits/af6824fce9c9536fbcabef8d5547f6c486f55fdf
-  # However autotools checks if mkdev is still defined in <sys/types.h> runs before
-  # checking if major()/minor() is defined there. The mkdev check succeeds with
-  # a warning and the check which should set MAJOR_IN_SYSMACROS is skipped.
-  NIX_CFLAGS_COMPILE = [ "-DMAJOR_IN_SYSMACROS" ];
-
   configureFlags = [
+    "--enable-pam"
     "--localstatedir=/var"
     "--sysconfdir=/etc"
     "--disable-api-docs"
diff --git a/pkgs/os-specific/linux/lxcfs/default.nix b/pkgs/os-specific/linux/lxcfs/default.nix
index 4f62b7eb128..6f7dd2f56ff 100644
--- a/pkgs/os-specific/linux/lxcfs/default.nix
+++ b/pkgs/os-specific/linux/lxcfs/default.nix
@@ -1,19 +1,19 @@
-{ stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, help2man, fuse, pam
+{ stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, help2man, fuse
 , enableDebugBuild ? false }:
 
 with stdenv.lib;
 stdenv.mkDerivation rec {
-  name = "lxcfs-2.0.8";
+  name = "lxcfs-3.0.0";
 
   src = fetchFromGitHub {
     owner = "lxc";
     repo = "lxcfs";
     rev = name;
-    sha256 = "04dzn6snqgw0znf7a7qdm64400jirip6q8amcx5fmz4705qdqahc";
+    sha256 = "0fsy2h7b5dkzvfm6m8vqzhnji42cszdn0b3ndnaxiwv3402ccmvk";
   };
 
   nativeBuildInputs = [ pkgconfig help2man autoreconfHook ];
-  buildInputs = [ fuse pam ];
+  buildInputs = [ fuse ];
 
   preConfigure = stdenv.lib.optionalString enableDebugBuild ''
     sed -i 's,#AM_CFLAGS += -DDEBUG,AM_CFLAGS += -DDEBUG,' Makefile.am
diff --git a/pkgs/os-specific/linux/mcelog/default.nix b/pkgs/os-specific/linux/mcelog/default.nix
index ac176c7d3b3..4ebc1c00f7a 100644
--- a/pkgs/os-specific/linux/mcelog/default.nix
+++ b/pkgs/os-specific/linux/mcelog/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "mcelog-${version}";
-  version = "154";
+  version = "157";
 
   src = fetchFromGitHub {
     owner  = "andikleen";
     repo   = "mcelog";
     rev    = "v${version}";
-    sha256 = "0vq7r3zknr62rmi9g0zd7mmxframm79vmrdw029pc7z6wrlv40cy";
+    sha256 = "1965axyfizv2jg412a4wrrghgswwvvgymk7mbwaraw3xl9p21wgv";
   };
 
   postPatch = ''
diff --git a/pkgs/os-specific/linux/mdadm/default.nix b/pkgs/os-specific/linux/mdadm/default.nix
index 85a65b8f824..b6fdae75bac 100644
--- a/pkgs/os-specific/linux/mdadm/default.nix
+++ b/pkgs/os-specific/linux/mdadm/default.nix
@@ -1,10 +1,19 @@
-{ stdenv
+{ stdenv, writeScript
 , fetchurl, groff
 , buildPlatform, hostPlatform
 }:
 
-assert stdenv.isLinux;
+let
+  sendmail-script = writeScript "sendmail-script" ''
+    #!/bin/sh
 
+    if [ -x /run/wrappers/bin/sendmail ]; then
+      /run/wrappers/bin/sendmail "$@"
+    else
+      /run/current-system/sw/bin/sendmail "$@"
+    fi
+  '';
+in
 stdenv.mkDerivation rec {
   name = "mdadm-4.0";
 
@@ -15,7 +24,7 @@ stdenv.mkDerivation rec {
 
   # This is to avoid self-references, which causes the initrd to explode
   # in size and in turn prevents mdraid systems from booting.
-  allowedReferences = [ stdenv.cc.libc.out ];
+  allowedReferences = [ stdenv.cc.libc.out sendmail-script ];
 
   patches = [ ./no-self-references.patch ];
 
@@ -32,7 +41,7 @@ stdenv.mkDerivation rec {
   preConfigure = ''
     sed -e 's@/lib/udev@''${out}/lib/udev@' \
         -e 's@ -Werror @ @' \
-        -e 's@/usr/sbin/sendmail@/run/wrappers/bin/sendmail@' -i Makefile
+        -e 's@/usr/sbin/sendmail@${sendmail-script}@' -i Makefile
   '';
 
   meta = {
diff --git a/pkgs/os-specific/linux/microcode/intel.nix b/pkgs/os-specific/linux/microcode/intel.nix
index 97843b2253f..857a3b580a8 100644
--- a/pkgs/os-specific/linux/microcode/intel.nix
+++ b/pkgs/os-specific/linux/microcode/intel.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "microcode-intel-${version}";
-  version = "20171117";
+  version = "20180312";
 
   src = fetchurl {
-    url = "https://downloadmirror.intel.com/27337/eng/microcode-${version}.tgz";
-    sha256 = "1p14ypbg28bdkbza6dx6dpjrdr5p13vmgrh2cw0y1v2qzalivgck";
+    url = "https://downloadmirror.intel.com/27591/eng/microcode-${version}.tgz";
+    sha256 = "0yg7q5blcqgq8jyjxhn9n48rxws77ylqzyn4kn10l6yzwan1yf0b";
   };
 
   buildInputs = [ libarchive ];
diff --git a/pkgs/os-specific/linux/mmc-utils/default.nix b/pkgs/os-specific/linux/mmc-utils/default.nix
index a17f687a255..b491d5bbda7 100644
--- a/pkgs/os-specific/linux/mmc-utils/default.nix
+++ b/pkgs/os-specific/linux/mmc-utils/default.nix
@@ -10,6 +10,8 @@ stdenv.mkDerivation rec {
     sha256 = "0hkdzc71pdnscbpdpgwljcchiyancarldjyd0w609sy18bky833x";
   };
 
+  makeFlags = "CC=${stdenv.cc.targetPrefix}cc";
+
   installPhase = ''
     make install prefix=$out
     mkdir -p $out/share/man/man1
diff --git a/pkgs/os-specific/linux/musl/default.nix b/pkgs/os-specific/linux/musl/default.nix
index 0f8f088945a..3d515f7b762 100644
--- a/pkgs/os-specific/linux/musl/default.nix
+++ b/pkgs/os-specific/linux/musl/default.nix
@@ -17,6 +17,16 @@ let
     sha256 = "14igk6k00bnpfw660qhswagyhvr0gfqg4q55dxvaaq7ikfkrir71";
   };
 
+  # iconv tool, implemented by musl author.
+  # Original: http://git.etalabs.net/cgit/noxcuse/plain/src/iconv.c?id=02d288d89683e99fd18fe9f54d4e731a6c474a4f
+  # We use copy from Alpine which fixes error messages, see:
+  # https://git.alpinelinux.org/cgit/aports/commit/main/musl/iconv.c?id=a3d97e95f766c9c378194ee49361b375f093b26f
+  iconv_c = fetchurl {
+    name = "iconv.c";
+    url = "https://git.alpinelinux.org/cgit/aports/plain/main/musl/iconv.c?id=a3d97e95f766c9c378194ee49361b375f093b26f";
+    sha256 = "1mzxnc2ncq8lw9x6n7p00fvfklc9p3wfv28m68j0dfz5l8q2k6pp";
+  };
+
 in
 stdenv.mkDerivation rec {
   name    = "musl-${version}";
@@ -33,6 +43,21 @@ stdenv.mkDerivation rec {
   # so musl can selectively disable as needed
   hardeningDisable = [ "stackprotector" ];
 
+  # Leave these, be friendlier to debuggers/perf tools
+  # Don't force them on, but don't force off either
+  postPatch = ''
+    substituteInPlace configure \
+      --replace -fno-unwind-tables "" \
+      --replace -fno-asynchronous-unwind-tables ""
+  '';
+
+  patches = [
+    # Minor touchup to build system making dynamic linker symlink relative
+    (fetchurl {
+      url = https://raw.githubusercontent.com/openwrt/openwrt/87606e25afac6776d1bbc67ed284434ec5a832b4/toolchain/musl/patches/300-relative.patch;
+      sha256 = "0hfadrycb60sm6hb6by4ycgaqc9sgrhh42k39v8xpmcvdzxrsq2n";
+    })
+  ];
   preConfigure = ''
     configureFlagsArray+=("--syslibdir=$out/lib")
   '';
@@ -40,26 +65,45 @@ stdenv.mkDerivation rec {
   configureFlags = [
     "--enable-shared"
     "--enable-static"
+    "--enable-debug"
     "CFLAGS=-fstack-protector-strong"
-    # Fix cycle between outputs
-    "--disable-wrapper"
+    "--enable-wrapper=all"
   ];
 
   outputs = [ "out" "dev" ];
 
   dontDisableStatic = true;
-  dontStrip = true;
+  separateDebugInfo = true;
 
-  postInstall =
-  ''
+  NIX_DONT_SET_RPATH = true;
+
+  postInstall = ''
     # Not sure why, but link in all but scsi directory as that's what uclibc/glibc do.
     # Apparently glibc provides scsi itself?
     (cd $dev/include && ln -s $(ls -d ${linuxHeaders}/include/* | grep -v "scsi$") .)
-  '' +
-  ''
+
+    # Strip debug out of the static library
+    $STRIP -S $out/lib/libc.a
     mkdir -p $out/bin
+
     # Create 'ldd' symlink, builtin
-    ln -s $out/lib/libc.so $out/bin/ldd
+    ln -rs $out/lib/libc.so $out/bin/ldd
+
+    # (impure) cc wrapper around musl for interactive usuage
+    for i in musl-gcc musl-clang ld.musl-clang; do
+      moveToOutput bin/$i $dev
+    done
+    moveToOutput lib/musl-gcc.specs $dev
+    substituteInPlace $dev/bin/musl-gcc \
+      --replace $out/lib/musl-gcc.specs $dev/lib/musl-gcc.specs
+
+    # provide 'iconv' utility, using just-built headers, libc/ldso
+    $CC ${iconv_c} -o $out/bin/iconv \
+      -I$dev/include \
+      -L$out/lib -Wl,-rpath=$out/lib \
+      -lc \
+      -B $out/lib \
+      -Wl,-dynamic-linker=$(ls $out/lib/ld-*)
   '' + lib.optionalString useBSDCompatHeaders ''
     install -D ${queue_h} $dev/include/sys/queue.h
     install -D ${cdefs_h} $dev/include/sys/cdefs.h
diff --git a/pkgs/os-specific/linux/musl/fts-setup-hook.sh b/pkgs/os-specific/linux/musl/fts-setup-hook.sh
new file mode 100644
index 00000000000..5cf8c753aec
--- /dev/null
+++ b/pkgs/os-specific/linux/musl/fts-setup-hook.sh
@@ -0,0 +1,4 @@
+# See pkgs/build-support/setup-hooks/role.bash
+getHostRole
+
+export NIX_${role_pre}LDFLAGS+=" -lfts"
diff --git a/pkgs/os-specific/linux/musl/fts.nix b/pkgs/os-specific/linux/musl/fts.nix
index 083541e5e93..24d25de3a2d 100644
--- a/pkgs/os-specific/linux/musl/fts.nix
+++ b/pkgs/os-specific/linux/musl/fts.nix
@@ -11,4 +11,9 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ autoreconfHook pkgconfig ];
+
+  setupHooks = [
+    ../../../build-support/setup-hooks/role.bash
+    ./fts-setup-hook.sh
+  ];
 }
diff --git a/pkgs/os-specific/linux/mwprocapture/default.nix b/pkgs/os-specific/linux/mwprocapture/default.nix
index e2abbd7335e..72095bc8cda 100644
--- a/pkgs/os-specific/linux/mwprocapture/default.nix
+++ b/pkgs/os-specific/linux/mwprocapture/default.nix
@@ -5,9 +5,6 @@ with stdenv.lib;
 # The Magewell Pro Capture drivers are not supported for kernels older than 3.2
 assert versionAtLeast kernel.version "3.2.0";
 
-# this package currently only supports x86 and x86_64, as I have no ARM device to test on
-assert (stdenv.system == "x86_64-linux") || (stdenv.system == "i686-linux");
-
 let
   bits =
   if stdenv.is64bit then "64"
diff --git a/pkgs/os-specific/linux/net-tools/default.nix b/pkgs/os-specific/linux/net-tools/default.nix
index ce287dc1841..42f745b02e3 100644
--- a/pkgs/os-specific/linux/net-tools/default.nix
+++ b/pkgs/os-specific/linux/net-tools/default.nix
@@ -15,6 +15,8 @@ stdenv.mkDerivation rec {
     '';
 
   makeFlags = [
+    "CC=${stdenv.cc.targetPrefix}cc"
+    "AR=${stdenv.cc.targetPrefix}ar"
     "BASEDIR=$(out)"
     "mandir=/share/man"
     "HAVE_ARP_TOOLS=1"
diff --git a/pkgs/os-specific/linux/nfs-utils/default.nix b/pkgs/os-specific/linux/nfs-utils/default.nix
index 904dae55c9c..359d1869084 100644
--- a/pkgs/os-specific/linux/nfs-utils/default.nix
+++ b/pkgs/os-specific/linux/nfs-utils/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, lib, pkgconfig, utillinux, libcap, libtirpc, libevent, libnfsidmap
+{ stdenv, fetchurl, fetchpatch, lib, pkgconfig, utillinux, libcap, libtirpc, libevent, libnfsidmap
 , sqlite, kerberos, kmod, libuuid, keyutils, lvm2, systemd, coreutils, tcp_wrappers
 , buildEnv
 }:
@@ -39,6 +39,18 @@ in stdenv.mkDerivation rec {
     ]
     ++ lib.optional (stdenv ? glibc) "--with-rpcgen=${stdenv.glibc.bin}/bin/rpcgen";
 
+  patches = lib.optionals stdenv.hostPlatform.isMusl [
+    (fetchpatch {
+      url = "https://raw.githubusercontent.com/alpinelinux/aports/cb880042d48d77af412d4688f24b8310ae44f55f/main/nfs-utils/0011-exportfs-only-do-glibc-specific-hackery-on-glibc.patch";
+      sha256 = "0rrddrykz8prk0dcgfvmnz0vxn09dbgq8cb098yjjg19zz6d7vid";
+    })
+    # http://openwall.com/lists/musl/2015/08/18/10
+    (fetchpatch {
+      url = "https://raw.githubusercontent.com/alpinelinux/aports/cb880042d48d77af412d4688f24b8310ae44f55f/main/nfs-utils/musl-getservbyport.patch";
+      sha256 = "1fqws9dz8n1d9a418c54r11y3w330qgy2652dpwcy96cm44sqyhf";
+    })
+  ];
+
   postPatch =
     ''
       patchShebangs tests
diff --git a/pkgs/os-specific/linux/nftables/default.nix b/pkgs/os-specific/linux/nftables/default.nix
index 7edc7b58c6c..be52cbc2029 100644
--- a/pkgs/os-specific/linux/nftables/default.nix
+++ b/pkgs/os-specific/linux/nftables/default.nix
@@ -2,11 +2,12 @@
 , flex, bison, libmnl, libnftnl, gmp, readline }:
 
 stdenv.mkDerivation rec {
-  name = "nftables-0.8.2";
+  version = "0.8.3";
+  name = "nftables-${version}";
 
   src = fetchurl {
     url = "http://netfilter.org/projects/nftables/files/${name}.tar.bz2";
-    sha256 = "1v370wzh3fzby0cdb9iykkhdj1yjcp5qkp33xyn7w7pii2phlpv7";
+    sha256 = "0f2yv7as1ybkfvn75f72x0z9y1ydibw4s3hbzhlmvsc8vgsy2syi";
   };
 
   configureFlags = [
diff --git a/pkgs/os-specific/linux/nmon/default.nix b/pkgs/os-specific/linux/nmon/default.nix
new file mode 100644
index 00000000000..ae6abeb1f56
--- /dev/null
+++ b/pkgs/os-specific/linux/nmon/default.nix
@@ -0,0 +1,27 @@
+{ fetchurl, stdenv, ncurses }:
+
+stdenv.mkDerivation rec {
+  name = "nmon-${version}";
+  version = "16g";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/nmon/lmon${version}.c";
+    sha256 = "127n8xvmg7byp42sm924mdr7hd3bsfsxpryzahl0cfsh7dlxv0ns";
+  };
+
+  buildInputs = [ ncurses ];
+  unpackPhase = ":";
+  buildPhase = "cc -o nmon ${src} -g -O2 -D JFS -D GETUSER -Wall -D LARGEMEM -lncurses -lm -g -D X86";
+  installPhase = ''
+    mkdir -p $out/bin
+    cp nmon $out/bin
+  '';
+
+  meta = with stdenv.lib; {
+    description = "AIX & Linux Performance Monitoring tool";
+    homepage = "http://nmon.sourceforge.net";
+    license = licenses.gpl3Plus;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ sveitser ];
+  };
+}
diff --git a/pkgs/os-specific/linux/nvidia-x11/builder-legacy173.sh b/pkgs/os-specific/linux/nvidia-x11/builder-legacy173.sh
deleted file mode 100755
index 5d47df9a87a..00000000000
--- a/pkgs/os-specific/linux/nvidia-x11/builder-legacy173.sh
+++ /dev/null
@@ -1,99 +0,0 @@
-source $stdenv/setup
-
-dontPatchELF=1 # must keep libXv, $out in RPATH
-
-
-unpackFile() {
-    sh $src -x
-}
-
-
-buildPhase() {
-    if test -z "$libsOnly"; then
-        echo "Building linux driver against kernel: " $kernel;
-
-        cd usr/src/nv/
-
-        shopt -s nullglob
-
-        for a in $kpatches; do
-          patch -p1 < $a
-        done
-
-        # Workaround: get it to build on kernels that have CONFIG_XEN
-        # set.  Disable the test, apply a patch to disable the Xen
-        # functionality.
-        
-        #substituteInPlace Makefile.kbuild --replace xen_sanity_check fnord
-        #patch -p1 < $xenPatch
-
-        # Create the module.
-        kernelVersion=$(cd $kernel/lib/modules && ls)
-        sysSource=$(echo $kernel/lib/modules/$kernelVersion/source)
-        sysOut=$(echo $kernel/lib/modules/$kernelVersion/build)
-        unset src # used by the nv makefile
-        make SYSSRC=$sysSource SYSOUT=$sysOut module
-        cd ../../..
-    fi
-}
-
-
-installPhase() {
-
-    # Install libGL and friends.
-    mkdir -p $out/lib
-    cp -prd usr/lib/* usr/X11R6/lib/libXv* $out/lib/
-
-    ln -snf libGLcore.so.$versionNumber $out/lib/libGLcore.so
-    ln -snf libGLcore.so.$versionNumber $out/lib/libGLcore.so.1
-    ln -snf libGL.so.$versionNumber $out/lib/libGL.so
-    ln -snf libGL.so.$versionNumber $out/lib/libGL.so.1
-    ln -snf libnvidia-cfg.so.$versionNumber $out/lib/libnvidia-cfg.so.1
-    ln -snf libnvidia-tls.so.$versionNumber $out/lib/libnvidia-tls.so.1
-    ln -snf libnvidia-tls.so.$versionNumber $out/lib/tls/libnvidia-tls.so.1
-    ln -snf libXvMCNVIDIA.so.$versionNumber $out/lib/libXvMCNVIDIA_dynamic.so.1
-    ln -snf libcuda.so.$versionNumber $out/lib/libcuda.so.1
-
-    patchelf --set-rpath $out/lib:$glPath $out/lib/libGL.so.*.*
-    patchelf --set-rpath $out/lib:$glPath $out/lib/libXvMCNVIDIA.so.*.*
-    set +e
-    # Legacy nvidia doesn't have cuda
-    patchelf --set-rpath $cudaPath $out/lib/libcuda.so.*.*
-    set -e
-    
-    if test -z "$libsOnly"; then
-        
-        # Install the kernel module.
-        mkdir -p $out/lib/modules/$kernelVersion/misc
-        cp usr/src/nv/nvidia.ko $out/lib/modules/$kernelVersion/misc
-
-        # Install the X driver.
-        mkdir -p $out/lib/xorg/modules
-        cp -prd usr/X11R6/lib/modules/* $out/lib/xorg/modules/
-
-        ln -snf libnvidia-wfb.so.$versionNumber $out/lib/xorg/modules/libnvidia-wfb.so.1
-        ln -snf libglx.so.$versionNumber $out/lib/xorg/modules/extensions/libglx.so
-
-        patchelf --set-rpath $out/lib $out/lib/xorg/modules/extensions/libglx.so.*.*
-
-        # Install the programs.
-        mkdir -p $out/bin
-
-        for i in nvidia-settings nvidia-xconfig; do
-	    cp usr/bin/$i $out/bin/$i
-	    patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
-	        --set-rpath $out/lib:$programPath:$glPath $out/bin/$i
-        done
-    
-        # Header files etc.
-        cp -prd usr/include usr/share $out
-
-        # Patch the `nvidia-settings.desktop' file.
-        substituteInPlace $out/share/applications/nvidia-settings.desktop \
-            --replace '__UTILS_PATH__' $out/bin \
-            --replace '__PIXMAP_PATH__' $out/share/pixmaps
-    fi
-}
-
-
-genericBuild
diff --git a/pkgs/os-specific/linux/nvidia-x11/default.nix b/pkgs/os-specific/linux/nvidia-x11/default.nix
index d0348bd67d4..11a97d420a8 100644
--- a/pkgs/os-specific/linux/nvidia-x11/default.nix
+++ b/pkgs/os-specific/linux/nvidia-x11/default.nix
@@ -17,11 +17,13 @@ in
 rec {
   # Policy: use the highest stable version as the default (on our master).
   stable = generic {
-    version = "390.25";
-    sha256_32bit = "0fkbpx01l46pprrd4nlc2y6hfmkb55ddlwm1r84kr6j08qmmb0qi";
-    sha256_64bit = "0whsls1mm6vkll5qmxnyz8vjgspp1rmqpsampgi83k62n514c08r";
-    settingsSha256 = "1jhbr68z36s3fr9vx3ga2f6yrzlwpc0j5mw8h12g65p7wdsbk6y7";
-    persistencedSha256 = "033azbhi50f1b0lw759sncgf7ckh2m2c0khj5v15sch9kl1fzk8i";
+    version = "390.48";
+    sha256_32bit = "1y6n2hfz9vd0h7gd31fgxcl76s5pjf8afwqyq5slqpcxpd78j5ai";
+    sha256_64bit = "16a3blvizcksmaxr644s857yanw3i3vcvqvn7qnwbsbqpmxga09c";
+    settingsSha256 = "058xaiw5g0kxrvc3lvy4424fqbjkvmsznj2v73cgbm25i1m83krl";
+    persistencedSha256 = "0y86bhzl42lqyrbibqzf8a8yd49zbq3ryb78vgsl13i44f9sl79k";
+
+    patches = [ ./fix_missing_symbol.patch ];
   };
 
   beta = stable; # not enough interest to maintain beta ATM
@@ -46,12 +48,13 @@ rec {
     persistencedSha256 = null;
     useGLVND = false;
     useProfiles = false;
+    settings32Bit = true;
 
     prePatch = let
       debPatches = fetchurl {
         url = "mirror://debian/pool/non-free/n/nvidia-graphics-drivers-legacy-304xx/"
-            + "nvidia-graphics-drivers-legacy-304xx_304.135-2.debian.tar.xz";
-        sha256 = "0mhji0ssn7075q5a650idigs48kzf11pzj2ca2n07rwxg3vj6pdr";
+            + "nvidia-graphics-drivers-legacy-304xx_304.137-5.debian.tar.xz";
+        sha256 = "0n8512mfcnvklfbg8gv4lzbkm3z6nncwj6ix2b8ngdkmc04f3b6l";
       };
       prefix = "debian/module/debian/patches";
       applyPatches = pnames: if pnames == [] then null else
@@ -63,6 +66,4 @@ rec {
     in applyPatches [ "fix-typos" ];
     patches = maybePatch_drm_legacy;
   };
-
-  legacy_173 = callPackage ./legacy173.nix { };
 }
diff --git a/pkgs/os-specific/linux/nvidia-x11/fix_missing_symbol.patch b/pkgs/os-specific/linux/nvidia-x11/fix_missing_symbol.patch
new file mode 100644
index 00000000000..ea783b4f011
--- /dev/null
+++ b/pkgs/os-specific/linux/nvidia-x11/fix_missing_symbol.patch
@@ -0,0 +1,19 @@
+https://devtalk.nvidia.com/default/topic/1030082/linux/kernel-4-16-rc1-breaks-latest-drivers-unknown-symbol-swiotlb_map_sg_attrs-/
+--- a/kernel/common/inc/nv-linux.h~     2018-01-25 06:09:41.000000000 +0100
++++ b/kernel/common/inc/nv-linux.h      2018-03-05 13:58:17.746725638 +0100
+@@ -1209,6 +1209,7 @@ static inline NvU32 nv_alloc_init_flags(
+ static inline NvBool nv_dma_maps_swiotlb(struct pci_dev *dev)
+ {
+     NvBool swiotlb_in_use = NV_FALSE;
++#if 0
+ #if defined(CONFIG_SWIOTLB)
+   #if defined(NV_DMA_OPS_PRESENT) || defined(NV_GET_DMA_OPS_PRESENT)
+     /*
+@@ -1251,7 +1252,7 @@ static inline NvBool nv_dma_maps_swiotlb
+     swiotlb_in_use = (swiotlb == 1);
+   #endif
+ #endif
+-
++#endif
+     return swiotlb_in_use;
+ }
diff --git a/pkgs/os-specific/linux/nvidia-x11/generic.nix b/pkgs/os-specific/linux/nvidia-x11/generic.nix
index bde8ad361dc..13e5d1b76ea 100644
--- a/pkgs/os-specific/linux/nvidia-x11/generic.nix
+++ b/pkgs/os-specific/linux/nvidia-x11/generic.nix
@@ -6,6 +6,7 @@
 , useGLVND ? true
 , useProfiles ? true
 , preferGtk2 ? false
+, settings32Bit ? false
 
 , prePatch ? ""
 , patches ? []
@@ -68,7 +69,7 @@ let
     disallowedReferences = optional (!libsOnly) [ kernel.dev ];
 
     passthru = {
-      settings = callPackage (import ./settings.nix self settingsSha256) {
+      settings = (if settings32Bit then callPackage_i686 else callPackage) (import ./settings.nix self settingsSha256) {
         withGtk2 = preferGtk2;
         withGtk3 = !preferGtk2;
       };
@@ -79,7 +80,7 @@ let
       homepage = http://www.nvidia.com/object/unix.html;
       description = "X.org driver and kernel module for NVIDIA graphics cards";
       license = licenses.unfreeRedistributable;
-      platforms = platforms.linux;
+      platforms = [ "i686-linux" "x86_64-linux" ];
       maintainers = [ maintainers.vcunat ];
       priority = 4; # resolves collision with xorg-server's "lib/xorg/modules/extensions/libglx.so"
     };
diff --git a/pkgs/os-specific/linux/nvidia-x11/legacy173.nix b/pkgs/os-specific/linux/nvidia-x11/legacy173.nix
deleted file mode 100644
index 51a230974c8..00000000000
--- a/pkgs/os-specific/linux/nvidia-x11/legacy173.nix
+++ /dev/null
@@ -1,53 +0,0 @@
-{stdenv, fetchurl, kernel, xorg, zlib, gtk2, atk, pango, glib, gdk_pixbuf}:
-
-let
-
-  versionNumber = "173.14.39";
-
-in
-
-stdenv.mkDerivation {
-  name = "nvidia-x11-${versionNumber}-${kernel.version}";
-
-  builder = ./builder-legacy173.sh;
-
-  src =
-    if stdenv.system == "i686-linux" then
-      fetchurl {
-        url = "https://download.nvidia.com/XFree86/Linux-x86/${versionNumber}/NVIDIA-Linux-x86-${versionNumber}-pkg0.run";
-        sha256 = "08xb7s7cxmj4zv4i3645kjhlhhwxiq6km9ixmsw3vv91f7rkb6d0";
-      }
-    else if stdenv.system == "x86_64-linux" then
-      fetchurl {
-        url = "https://download.nvidia.com/XFree86/Linux-x86_64/${versionNumber}/NVIDIA-Linux-x86_64-${versionNumber}-pkg0.run";
-        sha256 = "1p2ls0xj81l8v4n6dbjj3p5wlw1iyhgzyvqcv4h5fdxhhs2cb3md";
-      }
-    else throw "nvidia-x11 does not support platform ${stdenv.system}";
-
-  kernel = kernel.dev;
-
-  hardeningDisable = [ "pic" "format" ];
-
-  inherit versionNumber;
-
-  dontStrip = true;
-
-  glPath = stdenv.lib.makeLibraryPath [xorg.libXext xorg.libX11 xorg.libXrandr];
-
-  cudaPath = stdenv.lib.makeLibraryPath [zlib stdenv.cc.cc];
-
-  programPath = stdenv.lib.makeLibraryPath [ gtk2 atk pango glib gdk_pixbuf xorg.libXv ];
-
-  passthru = {
-    settings = null;
-    persistenced = null;
-    useGLVND = false;
-    useProfiles = false;
-  };
-
-  meta = {
-    homepage = http://www.nvidia.com/object/unix.html;
-    description = "X.org driver and kernel module for Legacy NVIDIA graphics cards";
-    license = stdenv.lib.licenses.unfree;
-  };
-}
diff --git a/pkgs/os-specific/linux/nvidia-x11/persistenced.nix b/pkgs/os-specific/linux/nvidia-x11/persistenced.nix
index 22fd1242700..21e6cb5d500 100644
--- a/pkgs/os-specific/linux/nvidia-x11/persistenced.nix
+++ b/pkgs/os-specific/linux/nvidia-x11/persistenced.nix
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
     homepage = http://www.nvidia.com/object/unix.html;
     description = "Settings application for NVIDIA graphics cards";
     license = licenses.unfreeRedistributable;
-    platforms = platforms.linux;
+    platforms = nvidia_x11.meta.platforms;
     maintainers = with maintainers; [ abbradar ];
   };
 }
diff --git a/pkgs/os-specific/linux/nvidia-x11/settings.nix b/pkgs/os-specific/linux/nvidia-x11/settings.nix
index bbe3af5d016..e2ef51da380 100644
--- a/pkgs/os-specific/linux/nvidia-x11/settings.nix
+++ b/pkgs/os-specific/linux/nvidia-x11/settings.nix
@@ -1,6 +1,6 @@
 nvidia_x11: sha256:
 
-{ stdenv, lib, fetchurl, pkgconfig, m4, jansson, gtk2, dbus, gtk3, libXv, libXrandr, libvdpau, libXext
+{ stdenv, lib, fetchurl, pkgconfig, m4, jansson, gtk2, dbus, gtk3, libXv, libXrandr, libXext, libXxf86vm, libvdpau
 , librsvg, wrapGAppsHook
 , withGtk2 ? false, withGtk3 ? true
 }:
@@ -41,7 +41,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkgconfig m4 ];
 
-  buildInputs = [ jansson libXv libXrandr libvdpau nvidia_x11 gtk2 dbus libXv ]
+  buildInputs = [ jansson libXv libXrandr libXext libXxf86vm libvdpau nvidia_x11 gtk2 dbus ]
              ++ lib.optionals withGtk3 [ gtk3 librsvg wrapGAppsHook ];
 
   makeFlags = [ "NV_USE_BUNDLED_LIBJANSSON=0" ];
@@ -83,7 +83,7 @@ stdenv.mkDerivation rec {
     homepage = http://www.nvidia.com/object/unix.html;
     description = "Settings application for NVIDIA graphics cards";
     license = licenses.unfreeRedistributable;
-    platforms = platforms.linux;
+    platforms = nvidia_x11.meta.platforms;
     maintainers = with maintainers; [ abbradar ];
   };
 }
diff --git a/pkgs/os-specific/linux/nvidiabl/default.nix b/pkgs/os-specific/linux/nvidiabl/default.nix
index 6f9af040b8a..02161f7133c 100644
--- a/pkgs/os-specific/linux/nvidiabl/default.nix
+++ b/pkgs/os-specific/linux/nvidiabl/default.nix
@@ -2,18 +2,19 @@
 
 stdenv.mkDerivation rec {
   name = "nvidiabl-${version}-${kernel.version}";
-  version = "0.87";
+  version = "2017-09-26";
 
+  # We use a fork which adds support for newer kernels -- upstream has been abandoned.
   src = fetchFromGitHub {
-    owner = "guillaumezin";
+    owner = "yorickvP";
     repo = "nvidiabl";
-    rev = "v${version}";
-    sha256 = "1hs61dxn84vsyvrd2s899dhgg342mhfkbdn1nkhcvly45hdp2nca";
+    rev = "2d909f4dfceb24ce98479fd571411c6ec3b71bea";
+    sha256 = "0dsar8fsaxwywjh6rbrxkhdp142vqjnsyxfz6bgpbqml6slpiqs1";
   };
 
   hardeningDisable = [ "pic" ];
 
-  patches = [ ./linux4compat.patch ];
+  nativeBuildInputs = kernel.moduleBuildDependencies;
 
   preConfigure = ''
     sed -i 's|/sbin/depmod|#/sbin/depmod|' Makefile
@@ -25,11 +26,11 @@ stdenv.mkDerivation rec {
     "KVER=${kernel.modDirVersion}"
   ];
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "Linux driver for setting the backlight brightness on laptops using NVIDIA GPU";
     homepage = https://github.com/guillaumezin/nvidiabl;
-    license = stdenv.lib.licenses.gpl2;
-    platforms = stdenv.lib.platforms.linux;
-    broken = !stdenv.lib.versionOlder kernel.version "4.9";
+    license = licenses.gpl2;
+    platforms = [ "x86_64-linux" "i686-linux" ];
+    maintainers = with maintainers; [ yorickvp ];
   };
 }
diff --git a/pkgs/os-specific/linux/nvidiabl/linux4compat.patch b/pkgs/os-specific/linux/nvidiabl/linux4compat.patch
deleted file mode 100644
index ad8236a2b63..00000000000
--- a/pkgs/os-specific/linux/nvidiabl/linux4compat.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-From 2bf6f08b2492cc04a2c39fdcb22a2d0c18963d1c Mon Sep 17 00:00:00 2001
-From: sonic414 <sonic414@gmail.com>
-Date: Tue, 28 Apr 2015 19:30:15 +0530
-Subject: [PATCH] strnicmp to strncasecmp in Linux 4.0.0
-
----
- nvidiabl-module.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/nvidiabl-module.c b/nvidiabl-module.c
-index b789ea4..b306579 100644
---- a/nvidiabl-module.c
-+++ b/nvidiabl-module.c
-@@ -214,7 +214,7 @@ static int __init nvidiabl_init(void)
- #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,39)
- 	
- 	for (iii = 0 ; iii < sizeof(backlight_type_ids) ; iii++) {
--		if (strnicmp(bl_type, backlight_type_ids[iii].id, sizeof(bl_type)) == 0) {
-+		if (strncasecmp(bl_type, backlight_type_ids[iii].id, sizeof(bl_type)) == 0) {
- 			props.type = backlight_type_ids[iii].type;
- 			printk(KERN_INFO "nvidiabl: backlight type is %s\n", backlight_type_ids[iii].id);
- 		}
diff --git a/pkgs/os-specific/linux/open-isns/default.nix b/pkgs/os-specific/linux/open-isns/default.nix
index 36cbd1581a6..c8b404c6be7 100644
--- a/pkgs/os-specific/linux/open-isns/default.nix
+++ b/pkgs/os-specific/linux/open-isns/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "open-isns-${version}";
-  version = "0.97";
+  version = "0.98";
 
   src = fetchFromGitHub {
     owner = "gonzoleeman";
     repo = "open-isns";
     rev = "v${version}";
-    sha256 = "17aichjgkwjfp9dx1piw7dw8ddz1bgm5mk3laid2zvjks1h739k3";
+    sha256 = "055gjwz5hxaj5jk23bf7dy9wbxk9m8cfgl1msbzjc60gr2mmcbdg";
   };
 
   propagatedBuildInputs = [ openssl ];
diff --git a/pkgs/os-specific/linux/pam/default.nix b/pkgs/os-specific/linux/pam/default.nix
index e2d34abb70c..0e703397249 100644
--- a/pkgs/os-specific/linux/pam/default.nix
+++ b/pkgs/os-specific/linux/pam/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, buildPackages, hostPlatform, fetchurl, fetchpatch, flex, cracklib }:
+{ stdenv, buildPackages, hostPlatform, fetchurl, fetchpatch, flex, cracklib, db4 }:
 
 stdenv.mkDerivation rec {
   name = "linux-pam-${version}";
@@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
   depsBuildBuild = [ buildPackages.stdenv.cc ];
   nativeBuildInputs = [ flex ];
 
-  buildInputs = [ cracklib ];
+  buildInputs = [ cracklib db4 ];
 
   enableParallelBuilding = true;
 
@@ -55,9 +55,12 @@ stdenv.mkDerivation rec {
       sed -e 's/pam_rhosts//g' -i modules/Makefile.in
   '';
 
-  meta = {
-    homepage = http://ftp.kernel.org/pub/linux/libs/pam/;
+  doCheck = false; # fails
+
+  meta = with stdenv.lib; {
+    homepage = http://www.linux-pam.org/;
     description = "Pluggable Authentication Modules, a flexible mechanism for authenticating user";
-    platforms = stdenv.lib.platforms.linux;
+    platforms = platforms.linux;
+    license = licenses.bsd3;
   };
 }
diff --git a/pkgs/os-specific/linux/pam_krb5/default.nix b/pkgs/os-specific/linux/pam_krb5/default.nix
index 3f8c3c28f31..76dbbf1e1be 100644
--- a/pkgs/os-specific/linux/pam_krb5/default.nix
+++ b/pkgs/os-specific/linux/pam_krb5/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, pam, kerberos }:
 
 stdenv.mkDerivation rec {
-  name = "pam-krb5-4.7";
+  name = "pam-krb5-4.8";
 
   src = fetchurl {
     url = "http://archives.eyrie.org/software/kerberos/${name}.tar.gz";
-    sha256 = "04klg9a2rhdz0a2dw4f0ybcm28vcbab6lrynwq7rm4sn0hnzakwv";
+    sha256 = "0j96jfaxzkj1ifc3qxagjmaxvgda7ndqaaxx2ka018is9f5lbfrs";
   };
 
   buildInputs = [ pam kerberos ];
diff --git a/pkgs/os-specific/linux/pam_u2f/default.nix b/pkgs/os-specific/linux/pam_u2f/default.nix
index f58dadfd10c..5cc235c3104 100644
--- a/pkgs/os-specific/linux/pam_u2f/default.nix
+++ b/pkgs/os-specific/linux/pam_u2f/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name    = "pam_u2f-${version}";
-  version = "1.0.4";
+  version = "1.0.6";
 
   src     = fetchurl {
     url = "https://developers.yubico.com/pam-u2f/Releases/${name}.tar.gz";
-    sha256 = "189j0wgx6fs146vfp88djqpl1flpfb3962l1a2marlp6d12jwm3i";
+    sha256 = "0fpdb49596zywnbx1cfcx1k83rbs1ylhi1cnn25pq9d3b92hj50h";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/os-specific/linux/pcm/default.nix b/pkgs/os-specific/linux/pcm/default.nix
new file mode 100644
index 00000000000..43810210a88
--- /dev/null
+++ b/pkgs/os-specific/linux/pcm/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, fetchFromGitHub }:
+
+stdenv.mkDerivation rec {
+  version = "201710";
+  name = "pcm-${version}";
+
+  src = fetchFromGitHub {
+    owner = "opcm";
+    repo = "pcm";
+    rev = "${version}";
+    sha256 = "02rq8739zwwbfrhagvcgf6qpmnswxl9b0qsld26rg6zp91v2npbj";
+  };
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cp pcm*.x $out/bin
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Processor counter monitor";
+    homepage = https://www.intel.com/software/pcm;
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ roosemberth ];
+    platforms = [ "x86_64-linux" ];
+  };
+}
diff --git a/pkgs/os-specific/linux/pcmciautils/default.nix b/pkgs/os-specific/linux/pcmciautils/default.nix
index 8a5171824d0..93e2c097ff7 100644
--- a/pkgs/os-specific/linux/pcmciautils/default.nix
+++ b/pkgs/os-specific/linux/pcmciautils/default.nix
@@ -8,11 +8,11 @@
 
 # FIXME: should add an option to choose between hotplug and udev.
 stdenv.mkDerivation rec {
-  name = "pcmciautils-017";
+  name = "pcmciautils-018";
 
   src = fetchurl {
     url = "https://kernel.org/pub/linux/utils/kernel/pcmcia/${name}.tar.gz";
-    sha256 = "5d8e2efad8a7f692129610603da232f2144851753d8d49a70eeb8eb1be6f6bc3";
+    sha256 = "0sfm3w2n73kl5w7gb1m6q8gy5k4rgwvzz79n6yhs9w3sag3ix8sk";
   };
 
   buildInputs = [udev yacc sysfsutils kmod flex];
diff --git a/pkgs/os-specific/linux/phc-intel/default.nix b/pkgs/os-specific/linux/phc-intel/default.nix
index 81db8a9f26d..68acbb83531 100644
--- a/pkgs/os-specific/linux/phc-intel/default.nix
+++ b/pkgs/os-specific/linux/phc-intel/default.nix
@@ -1,19 +1,18 @@
 { stdenv, fetchurl, kernel, which }:
 
-assert stdenv.isLinux;
 # Don't bother with older versions, though some might even work:
 assert stdenv.lib.versionAtLeast kernel.version "4.10";
 
 let
   release = "0.4.0";
-  revbump = "rev24"; # don't forget to change forum download id...
+  revbump = "rev25"; # don't forget to change forum download id...
 in stdenv.mkDerivation rec {
   name = "linux-phc-intel-${version}-${kernel.version}";
   version = "${release}-${revbump}";
 
   src = fetchurl {
-    sha256 = "02b4j8ap1fy09z36pmpplbw4vpwqdi16jyzw5kl0a60ydgxkmrpz";
-    url = "http://www.linux-phc.org/forum/download/file.php?id=178";
+    sha256 = "1w91hpphd8i0br7g5qra26jdydqar45zqwq6jq8yyz6l0vb10zlz";
+    url = "http://www.linux-phc.org/forum/download/file.php?id=194";
     name = "phc-intel-pack-${revbump}.tar.bz2";
   };
 
diff --git a/pkgs/os-specific/linux/policycoreutils/default.nix b/pkgs/os-specific/linux/policycoreutils/default.nix
index 536c69ff557..a7cac46ae6a 100644
--- a/pkgs/os-specific/linux/policycoreutils/default.nix
+++ b/pkgs/os-specific/linux/policycoreutils/default.nix
@@ -1,68 +1,36 @@
-{ stdenv, fetchurl, pythonPackages, gettext
-, setools, libsepol, libselinux, libcap_ng, libsemanage, sepolgen
-}:
+{ stdenv, fetchurl, gettext, libsepol, libselinux, libsemanage }:
 
 stdenv.mkDerivation rec {
   name = "policycoreutils-${version}";
-  version = "2.4";
+  version = "2.7";
   inherit (libsepol) se_release se_url;
 
   src = fetchurl {
     url = "${se_url}/${se_release}/policycoreutils-${version}.tar.gz";
-    sha256 = "0y9l9k60iy21hj0lcvfdfxs1fxydg6d3pxp9rhy7hwr4y5vgh6dq";
+    sha256 = "1x742c7lkw30namhkw87yg7z384qzqjz0pvmqs0lk19v6958l6qa";
   };
 
-  patches = [ ./fix-printf-type.patch ];
-
   postPatch = ''
-    # Fix references to libsepol.a
-    find . -name Makefile -exec sed -i 's,[^ ]*/libsepol.a,${libsepol}/lib/libsepol.a,g' {} \;
-
     # Fix install references
-    substituteInPlace po/Makefile --replace /usr/bin/install install
-
-    # Fix references to /usr/share
-    grep -r '/usr/share' | awk -F: '{print $1}' | xargs sed -i "s,\(\$(DESTDIR)\)*/usr/share,$out/share,g"
-
-    # Fix sepolicy install
-    sed -i "s,\(setup.py install\).*,\1 --prefix=$out,g" sepolicy/Makefile
-
-    # Fix setuid install
-    sed -i 's|-m 4755|-m 755|' sandbox/Makefile
+    substituteInPlace po/Makefile \
+       --replace /usr/bin/install install --replace /usr/share /share
+    substituteInPlace newrole/Makefile --replace /usr/share /share
   '';
 
-  nativeBuildInputs = [ pythonPackages.python gettext ];
-  buildInputs = [ setools libsepol libselinux libcap_ng libsemanage ];
-  pythonPath = [ libselinux sepolgen ];
+  nativeBuildInputs = [ gettext ];
+  buildInputs = [ libsepol libselinux libsemanage ];
 
   preBuild = ''
     makeFlagsArray+=("PREFIX=$out")
     makeFlagsArray+=("DESTDIR=$out")
+    makeFlagsArray+=("BASHCOMPLETIONDIR=$out/share/bash-completion/completions")
+    makeFlagsArray+=("LOCALEDIR=$out/share/locale")
+    makeFlagsArray+=("MAN5DIR=$out/share/man/man5")
   '';
 
-  # Creation of the system-config-selinux directory is broken
-  preInstall = ''
-    mkdir -p $out/share/system-config-selinux
-  '';
-
-  # Fix the python scripts to include paths to libraries
-  # NOTE: We are not using wrapPythonPrograms or makeWrapper as these scripts
-  # purge the environment as a security measure
-  postInstall = ''
-    grep -r '#!.*python' $out/bin | awk -F: '{print $1}' | xargs sed -i "1a \
-    import sys; \
-    sys.path.append('$(toPythonPath "$out")'); \
-    ${stdenv.lib.flip stdenv.lib.concatMapStrings pythonPath (lib: ''
-      sys.path.append('$(toPythonPath "${lib}")'); \
-    '')}"
-  '';
-
-  NIX_CFLAGS_COMPILE = "-fstack-protector-all";
-
   meta = with stdenv.lib; {
     description = "SELinux policy core utilities";
     license = licenses.gpl2;
     inherit (libsepol.meta) homepage platforms maintainers;
   };
 }
-
diff --git a/pkgs/os-specific/linux/policycoreutils/fix-printf-type.patch b/pkgs/os-specific/linux/policycoreutils/fix-printf-type.patch
deleted file mode 100644
index 6ab2d6dccc7..00000000000
--- a/pkgs/os-specific/linux/policycoreutils/fix-printf-type.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -Nru policycoreutils-2.4/setfiles/restore.c policycoreutils-2.4.new/setfiles/restore.c
---- policycoreutils-2.4/setfiles/restore.c	2015-02-02 09:38:10.000000000 -0500
-+++ policycoreutils-2.4.new/setfiles/restore.c	2015-08-29 20:44:13.693023222 -0400
-@@ -118,7 +118,7 @@
- 		r_opts->count++;
- 		if (r_opts->count % STAR_COUNT == 0) {
- 			if (r_opts->progress == 1) {
--				fprintf(stdout, "\r%luk", (size_t) r_opts->count / STAR_COUNT );
-+				fprintf(stdout, "\r%zuk", (size_t) r_opts->count / STAR_COUNT );
- 			} else {
- 				if (r_opts->nfile > 0) {
- 					progress = (r_opts->count < r_opts->nfile) ? (100.0 * r_opts->count / r_opts->nfile) : 100;
diff --git a/pkgs/os-specific/linux/powertop/default.nix b/pkgs/os-specific/linux/powertop/default.nix
index 7679262a989..5ec708dd69f 100644
--- a/pkgs/os-specific/linux/powertop/default.nix
+++ b/pkgs/os-specific/linux/powertop/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, gettext, libnl, ncurses, pciutils, pkgconfig, zlib }:
+{ stdenv, fetchurl, fetchpatch, gettext, libnl, ncurses, pciutils, pkgconfig, zlib }:
 
 stdenv.mkDerivation rec {
   name = "powertop-${version}";
@@ -14,6 +14,14 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ gettext libnl ncurses pciutils zlib ];
 
+  patches = stdenv.lib.optional stdenv.hostPlatform.isMusl (
+    fetchpatch {
+      name = "strerror_r.patch";
+      url = "https://git.alpinelinux.org/cgit/aports/plain/main/powertop/strerror_r.patch?id=3b9214d436f1611f297b01f72469d66bfe729d6e";
+      sha256 = "1kzddhcrb0n2iah4lhgxwwy4mkhq09ch25jjngyq6pdj6pmfkpfw";
+    }
+  );
+
   postPatch = ''
     substituteInPlace src/main.cpp --replace "/sbin/modprobe" "modprobe"
     substituteInPlace src/calibrate/calibrate.cpp --replace "/usr/bin/xset" "xset"
diff --git a/pkgs/os-specific/linux/procps-ng/default.nix b/pkgs/os-specific/linux/procps-ng/default.nix
index cc5e3dd5190..08420e36c65 100644
--- a/pkgs/os-specific/linux/procps-ng/default.nix
+++ b/pkgs/os-specific/linux/procps-ng/default.nix
@@ -1,15 +1,17 @@
-{ lib, stdenv, fetchurl, ncurses }:
+{ lib, stdenv, fetchurl, ncurses, pkgconfig }:
 
 stdenv.mkDerivation rec {
   name = "procps-${version}";
-  version = "3.3.12";
+  version = "3.3.14";
 
+  # The project's releases are on SF, but git repo on gitlab.
   src = fetchurl {
     url = "mirror://sourceforge/procps-ng/procps-ng-${version}.tar.xz";
-    sha256 = "1m57w6jmry84njd5sgk5afycbglql0al80grx027kwqqcfw5mmkf";
+    sha256 = "0v3j6rkzzscqds37i105cxx3q4dk04rsgpqfd5p7hzcvk59h5njy";
   };
 
   buildInputs = [ ncurses ];
+  nativeBuildInputs = [ pkgconfig ];
 
   makeFlags = "usrbin_execdir=$(out)/bin";
 
@@ -22,10 +24,11 @@ stdenv.mkDerivation rec {
       "ac_cv_func_realloc_0_nonnull=yes" ];
 
   meta = {
-    homepage = https://sourceforge.net/projects/procps-ng/;
+    homepage = https://gitlab.com/procps-ng/procps;
     description = "Utilities that give information about processes using the /proc filesystem";
     priority = 10; # less than coreutils, which also provides "kill" and "uptime"
     license = lib.licenses.gpl2;
     platforms = lib.platforms.linux ++ lib.platforms.cygwin;
+    maintainers = [ lib.maintainers.typetetris ];
   };
 }
diff --git a/pkgs/os-specific/linux/psmisc/default.nix b/pkgs/os-specific/linux/psmisc/default.nix
index edc7220d658..358fa700382 100644
--- a/pkgs/os-specific/linux/psmisc/default.nix
+++ b/pkgs/os-specific/linux/psmisc/default.nix
@@ -1,7 +1,5 @@
 {stdenv, fetchurl, ncurses}:
 
-assert stdenv.isLinux;
-
 stdenv.mkDerivation rec {
   name = "psmisc-23.1";
 
diff --git a/pkgs/os-specific/linux/radeontop/default.nix b/pkgs/os-specific/linux/radeontop/default.nix
index c87bec3a526..504d2595785 100644
--- a/pkgs/os-specific/linux/radeontop/default.nix
+++ b/pkgs/os-specific/linux/radeontop/default.nix
@@ -3,11 +3,11 @@
 
 stdenv.mkDerivation rec {
   name = "radeontop-${version}";
-  version = "2016-10-28";
+  version = "2018-03-25";
 
   src = fetchFromGitHub {
-    sha256 = "0y4rl8pm7p22s1ipyb75mlsk9qb6j4rd6nlqb3digmimnyxda1q3";
-    rev = "v1.0";
+    sha256 = "0s41xy9nrzxmimkdg23fr86rqcfiw6iqh99zpph0j990l8yzmv9b";
+    rev = "v1.1";
     repo = "radeontop";
     owner = "clbr";
   };
diff --git a/pkgs/os-specific/linux/rdma-core/default.nix b/pkgs/os-specific/linux/rdma-core/default.nix
index b25ed85ce4b..9aa93806879 100644
--- a/pkgs/os-specific/linux/rdma-core/default.nix
+++ b/pkgs/os-specific/linux/rdma-core/default.nix
@@ -3,7 +3,7 @@
 } :
 
 let
-  version = "17";
+  version = "17.1";
 
 in stdenv.mkDerivation {
   name = "rdma-core-${version}";
@@ -12,7 +12,7 @@ in stdenv.mkDerivation {
     owner = "linux-rdma";
     repo = "rdma-core";
     rev = "v${version}";
-    sha256 = "1xql46favv8i4ni4zqkk9ra2kcqq2dyn7jyi940c869lndmjw9ni";
+    sha256 = "019h5q0szjccdgfk13qy0f2dxd0n1fr407b3qqq1vcmx41w9b6vz";
   };
 
   nativeBuildInputs = [ cmake pkgconfig ];
diff --git a/pkgs/os-specific/linux/rtkit/default.nix b/pkgs/os-specific/linux/rtkit/default.nix
index 4fd716ab8db..868dcc9a58e 100644
--- a/pkgs/os-specific/linux/rtkit/default.nix
+++ b/pkgs/os-specific/linux/rtkit/default.nix
@@ -24,6 +24,12 @@ stdenv.mkDerivation rec {
       url = "http://git.0pointer.net/rtkit.git/patch/?id=88d4082ef6caf6b071d749dca1c50e7edde914cc";
       sha256 = "0hp1blbi359qz8fmr6nj4w9yc0jf3dd176f8pn25wdj38n13qkix";
     })
+
+    # Fix format string errors due to -Werror=format-security
+    (fetchpatch {
+      url = "https://sources.debian.org/data/main/r/rtkit/0.11-6/debian/patches/0006-fix-format-strings.patch";
+      sha256 = "09mr89lh16jvz6cqw00zmh0xk919bjfhjkvna1czwmafwy9p7kgp";
+    })
   ];
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/os-specific/linux/selinux-python/default.nix b/pkgs/os-specific/linux/selinux-python/default.nix
new file mode 100644
index 00000000000..8ac207d6421
--- /dev/null
+++ b/pkgs/os-specific/linux/selinux-python/default.nix
@@ -0,0 +1,49 @@
+{ stdenv, fetchurl, python3
+, libselinux, libsemanage, libsepol, setools }:
+
+# this is python3 only because setools only supports python3
+
+with stdenv.lib;
+with python3.pkgs;
+
+stdenv.mkDerivation rec {
+  name = "selinux-python-${version}";
+  version = "2.7";
+  se_release = "20170804";
+  se_url = "https://raw.githubusercontent.com/wiki/SELinuxProject/selinux/files/releases";
+
+  src = fetchurl {
+    url = "${se_url}/${se_release}/selinux-python-${version}.tar.gz";
+    sha256 = "1va0y4b7cah7rprh04b3ylmwqgnivpkw5z2zw68nrafdbsbcn5s2";
+  };
+
+  nativeBuildInputs = [ wrapPython ];
+  buildInputs = [ libsepol python3 ];
+  propagatedBuildInputs = [ libselinux libsemanage setools ipy ];
+
+  postPatch = ''
+    substituteInPlace sepolicy/Makefile --replace "echo --root" "echo --prefix"
+  '';
+
+  preBuild = ''
+    makeFlagsArray+=("PREFIX=$out")
+    makeFlagsArray+=("DESTDIR=$out")
+    makeFlagsArray+=("LOCALEDIR=$out/share/locale")
+    makeFlagsArray+=("LIBSEPOLA=${libsepol}/lib/libsepol.a")
+    makeFlagsArray+=("BASHCOMPLETIONDIR=$out/share/bash-completion/completions")
+    makeFlagsArray+=("PYTHON=${python3}/bin/python")
+    makeFlagsArray+=("PYTHONLIBDIR=lib/${python3.libPrefix}/site-packages")
+  '';
+
+  postFixup = ''
+    wrapPythonPrograms
+  '';
+
+  meta = {
+    description = "SELinux policy core utilities written in Python";
+    license = licenses.gpl2;
+    homepage = https://selinuxproject.org;
+    platforms = platforms.linux;
+  };
+}
+
diff --git a/pkgs/os-specific/linux/selinux-sandbox/default.nix b/pkgs/os-specific/linux/selinux-sandbox/default.nix
new file mode 100644
index 00000000000..431f5e9ef51
--- /dev/null
+++ b/pkgs/os-specific/linux/selinux-sandbox/default.nix
@@ -0,0 +1,61 @@
+{ stdenv, fetchurl, bash, coreutils, python3
+, libcap_ng, policycoreutils, selinux-python, dbus
+, xorgserver, openbox, xmodmap }:
+
+# this is python3 only as it depends on selinux-python
+
+with stdenv.lib; 
+with python3.pkgs;
+
+stdenv.mkDerivation rec {
+  name = "selinux-sandbox-${version}";
+  version = "2.7";
+  se_release = "20170804";
+
+  src = fetchurl {
+    url = "https://raw.githubusercontent.com/wiki/SELinuxProject/selinux/files/releases/${se_release}/selinux-sandbox-${version}.tar.gz";
+    sha256 = "0hf5chm90iapb42njaps6p5460ys3ajh5446ja544vdbh01n544l";
+  };
+
+  nativeBuildInputs = [ wrapPython ];
+  buildInputs = [ bash coreutils libcap_ng policycoreutils python3 xorgserver openbox xmodmap dbus ];
+  propagatedBuildInputs = [ pygobject3 selinux-python ];
+
+  postPatch = ''
+    # Fix setuid install
+    substituteInPlace Makefile --replace "-m 4755" "-m 755"
+    substituteInPlace sandboxX.sh \
+      --replace "#!/bin/sh" "#!${bash}/bin/sh" \
+      --replace "/usr/share/sandbox/start" "$out/share/sandbox/start" \
+      --replace "/usr/bin/cut" "${coreutils}/bin/cut" \
+      --replace "/usr/bin/Xephyr" "${xorgserver}/bin/Xepyhr" \
+      --replace "secon" "${policycoreutils}/bin/secon"
+    substituteInPlace sandbox \
+      --replace "/usr/sbin/seunshare" "$out/bin/seunshare" \
+      --replace "/usr/share/sandbox" "$out/share/sandbox" \
+      --replace "/usr/share/locale" "${policycoreutils}/share/locale" \
+      --replace "/usr/bin/openbox" "${openbox}/bin/openbox" \
+      --replace "#!/bin/sh" "#!${bash}/bin/sh" \
+      --replace "dbus-" "${dbus}/bin/dbus-" \
+      --replace "/usr/bin/xmodmap" "${xmodmap}/bin/xmodmap" \
+      --replace "/usr/bin/shred" "${coreutils}/bin/shred" \
+      --replace "/usr/bin/test" "${coreutils}/bin/test" \
+  '';
+
+  preBuild = ''
+    makeFlagsArray+=("PREFIX=$out")
+    makeFlagsArray+=("DESTDIR=$out")
+  '';
+
+  postFixup = ''
+    wrapPythonPrograms
+  '';
+
+  meta = {
+    description = "SELinux sandbox utility";
+    license = licenses.gpl2;
+    homepage = https://selinuxproject.org;
+    platforms = platforms.linux;
+  };
+}
+
diff --git a/pkgs/os-specific/linux/setools/default.nix b/pkgs/os-specific/linux/setools/default.nix
index 8262c03e1e5..9cb5785ca98 100644
--- a/pkgs/os-specific/linux/setools/default.nix
+++ b/pkgs/os-specific/linux/setools/default.nix
@@ -1,35 +1,42 @@
-{ stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, bison, flex
-, python, swig2, tcl, libsepol, libselinux, libxml2, sqlite, bzip2 }:
+{ stdenv, fetchFromGitHub, bison, flex, python3 , swig
+, libsepol, libselinux, checkpolicy
+, withGraphics ? false
+}:
 
-stdenv.mkDerivation rec {
-  name = "setools-2015-02-12";
+with stdenv.lib;
+with python3.pkgs;
+
+buildPythonApplication rec {
+  pname = "setools";
+  version = "2017-11-10";
 
   src = fetchFromGitHub {
     owner = "TresysTechnology";
-    repo = "setools3";
-    rev = "f1e5b208d507171968ca4d2eeefd7980f1004a3c";
-    sha256 = "02gzy2kpszhr13f0d9qfiwh2hj4201g2x366j53v5n5qz481aykd";
+    repo = pname;
+    rev = "a1aa0f33f5c428d3f9fe82960ed5de36f38047f7";
+    sha256 = "0iyj35fff93cprjkzbkg9dn5xz8dg5h2kjx3476fl625nxxskndn";
   };
 
-  configureFlags = [
-    "--disable-gui"
-    "--with-sepol-devel=${libsepol}"
-    "--with-selinux-devel=${libselinux}"
-    "--with-tcl=${tcl}/lib"
-  ];
+  nativeBuildInputs = [ bison flex ];
+  buildInputs = [ libsepol swig ];
+  propagatedBuildInputs = [ enum34 libselinux networkx ]
+    ++ optionals withGraphics [ pyqt5 ];
 
-  hardeningDisable = [ "format" ];
+  checkInputs = [ tox checkpolicy ];
+  preCheck = ''
+    export CHECKPOLICY=${checkpolicy}/bin/checkpolicy
+  '';
 
-  NIX_CFLAGS_COMPILE = "-fstack-protector-all";
-  NIX_LDFLAGS = "-L${libsepol}/lib -L${libselinux}/lib";
+  setupPyBuildFlags = [ "-i" ];
 
-  nativeBuildInputs = [ autoreconfHook pkgconfig python swig2 bison flex ];
-  buildInputs = [ tcl libxml2 sqlite bzip2 ];
+  preBuild = ''
+    export SEPOL="${libsepol}/lib/libsepol.a"
+  '';
 
   meta = {
     description = "SELinux Tools";
-    homepage = http://oss.tresys.com/projects/setools/;
-    license = stdenv.lib.licenses.gpl2;
-    platforms = stdenv.lib.platforms.linux;
+    homepage = https://github.com/TresysTechnology/setools/wiki;
+    license = licenses.gpl2;
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/os-specific/linux/shadow/default.nix b/pkgs/os-specific/linux/shadow/default.nix
index ca15571d1ed..3a76450a830 100644
--- a/pkgs/os-specific/linux/shadow/default.nix
+++ b/pkgs/os-specific/linux/shadow/default.nix
@@ -60,8 +60,10 @@ stdenv.mkDerivation rec {
     configureFlags="$configureFlags --with-xml-catalog=$PWD/xmlcatalog ";
   '';
 
-  configureFlags = " --enable-man "
-    + stdenv.lib.optionalString (hostPlatform.libc != "glibc") " --disable-nscd ";
+  configureFlags = [
+    "--enable-man"
+    "--with-group-name-max-length=32"
+  ] ++ stdenv.lib.optional (hostPlatform.libc != "glibc") "--disable-nscd";
 
   preBuild = stdenv.lib.optionalString (hostPlatform.libc == "glibc")
     ''
diff --git a/pkgs/os-specific/linux/sinit/default.nix b/pkgs/os-specific/linux/sinit/default.nix
index 46abb6ccc66..32761970d81 100644
--- a/pkgs/os-specific/linux/sinit/default.nix
+++ b/pkgs/os-specific/linux/sinit/default.nix
@@ -5,7 +5,7 @@ let
     baseName="sinit";
     version="1.0";
     name="${baseName}-${version}";
-    url="http://git.suckless.org/sinit/";
+    url="https://git.suckless.org/sinit/";
     sha256="0cf8yylgrrj1wxm5v6jdlbnxpx97m38yxrc9nmv1l8hldjqsj9pc";
     rev = "refs/tags/v${version}";
   };
@@ -32,6 +32,6 @@ stdenv.mkDerivation {
     maintainers = [stdenv.lib.maintainers.raskin];
     platforms = stdenv.lib.platforms.linux;
     homepage = https://tools.suckless.org/sinit;
-    downloadPage = "http://git.suckless.org/sinit";
+    downloadPage = "https://git.suckless.org/sinit";
   };
 }
diff --git a/pkgs/os-specific/linux/spl/const.patch b/pkgs/os-specific/linux/spl/const.patch
deleted file mode 100644
index 932e8a9eb1c..00000000000
--- a/pkgs/os-specific/linux/spl/const.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/module/spl/spl-proc.c b/module/spl/spl-proc.c
-index eb00505..6f38cef 100644
---- a/module/spl/spl-proc.c
-+++ b/module/spl/spl-proc.c
-@@ -36,7 +36,7 @@
- #include <linux/uaccess.h>
- #include <linux/version.h>
- 
--#if defined(CONSTIFY_PLUGIN) && LINUX_VERSION_CODE >= KERNEL_VERSION(3,8,0)
-+#if defined(CONSTIFY_PLUGIN)
- typedef struct ctl_table __no_const spl_ctl_table;
- #else
- typedef struct ctl_table spl_ctl_table;
diff --git a/pkgs/os-specific/linux/spl/default.nix b/pkgs/os-specific/linux/spl/default.nix
index 57698b5ad45..7c37d18c868 100644
--- a/pkgs/os-specific/linux/spl/default.nix
+++ b/pkgs/os-specific/linux/spl/default.nix
@@ -11,6 +11,7 @@ let
     , sha256
     , rev ? "spl-${version}"
     , broken ? false
+    , patches ? []
     } @ args : stdenv.mkDerivation rec {
       name = "spl-${version}-${kernel.version}";
 
@@ -20,7 +21,7 @@ let
         inherit rev sha256;
       };
 
-      patches = [ ./const.patch ./install_prefix.patch ];
+      inherit patches;
 
       nativeBuildInputs = [ autoreconfHook ] ++ kernel.moduleBuildDependencies;
 
@@ -61,19 +62,22 @@ in
   assert kernel != null;
 {
     splStable = common {
-      version = "0.7.6";
-      sha256 = "1l641d89k48ngmarx9mxh8gw2zzrf7fw7n8zmslhz4h1152plddb";
+      version = "0.7.8";
+      sha256 = "0ypyy7ij280n7rly6ifrvna9k55gxwdx9a7lalf4r1ka714379fi";
+      patches = [ ./install_prefix-0.7.8.patch ];
     };
 
     splUnstable = common {
-      version = "2018-01-24";
-      rev = "23602fdb39e1254c669707ec9d2d0e6bcdbf1771";
-      sha256 = "09py2dwj77f6s2qcnkwdslg5nxb3hq2bq39zpxpm6msqyifhl69h";
+      version = "2018-04-10";
+      rev = "9125f8f5bdb36bfbd2d816d30b6b29b9f89ae3d8";
+      sha256 = "00zrbca906rzjd62m4khiw3sdv8x18dapcmvkyaawripwvzc4iri";
+      patches = [ ./install_prefix.patch ];
     };
 
     splLegacyCrypto = common {
       version = "2018-01-24";
       rev = "23602fdb39e1254c669707ec9d2d0e6bcdbf1771";
       sha256 = "09py2dwj77f6s2qcnkwdslg5nxb3hq2bq39zpxpm6msqyifhl69h";
+      patches = [ ./install_prefix.patch ];
     };
 }
diff --git a/pkgs/os-specific/linux/spl/install_prefix-0.7.8.patch b/pkgs/os-specific/linux/spl/install_prefix-0.7.8.patch
new file mode 100644
index 00000000000..dc91392bd2f
--- /dev/null
+++ b/pkgs/os-specific/linux/spl/install_prefix-0.7.8.patch
@@ -0,0 +1,174 @@
+diff --git a/Makefile.am b/Makefile.am
+index 4977448..ac17217 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -12,10 +12,10 @@ endif
+ if CONFIG_KERNEL
+ SUBDIRS += module
+ 
+-extradir = @prefix@/src/spl-$(VERSION)
++extradir = @prefix@/libexec/spl
+ extra_HEADERS = spl.release.in spl_config.h.in
+ 
+-kerneldir = @prefix@/src/spl-$(VERSION)/$(LINUX_VERSION)
++kerneldir = @prefix@/libexec/spl/$(LINUX_VERSION)
+ nodist_kernel_HEADERS = spl.release spl_config.h module/$(LINUX_SYMBOLS)
+ endif
+ 
+diff --git a/include/Makefile.am b/include/Makefile.am
+index 3200222..4a47aaa 100644
+--- a/include/Makefile.am
++++ b/include/Makefile.am
+@@ -13,6 +13,6 @@ USER_H =
+ EXTRA_DIST = $(COMMON_H) $(KERNEL_H) $(USER_H)
+ 
+ if CONFIG_KERNEL
+-kerneldir = @prefix@/src/spl-$(VERSION)/include
++kerneldir = @prefix@/libexec/spl/include
+ kernel_HEADERS = $(KERNEL_H)
+ endif
+diff --git a/include/fs/Makefile.am b/include/fs/Makefile.am
+index e0da4b3..d6d7af0 100644
+--- a/include/fs/Makefile.am
++++ b/include/fs/Makefile.am
+@@ -8,6 +8,6 @@ USER_H =
+ EXTRA_DIST = $(COMMON_H) $(KERNEL_H) $(USER_H)
+ 
+ if CONFIG_KERNEL
+-kerneldir = @prefix@/src/spl-$(VERSION)/include/fs
++kerneldir = @prefix@/libexec/spl/include/fs
+ kernel_HEADERS = $(KERNEL_H)
+ endif
+diff --git a/include/linux/Makefile.am b/include/linux/Makefile.am
+index 712e94e..4af9fb7 100644
+--- a/include/linux/Makefile.am
++++ b/include/linux/Makefile.am
+@@ -18,6 +18,6 @@ USER_H =
+ EXTRA_DIST = $(COMMON_H) $(KERNEL_H) $(USER_H)
+ 
+ if CONFIG_KERNEL
+-kerneldir = @prefix@/src/spl-$(VERSION)/include/linux
++kerneldir = @prefix@/libexec/spl/include/linux
+ kernel_HEADERS = $(KERNEL_H)
+ endif
+diff --git a/include/rpc/Makefile.am b/include/rpc/Makefile.am
+index cfc8246..4fbd33d 100644
+--- a/include/rpc/Makefile.am
++++ b/include/rpc/Makefile.am
+@@ -9,6 +9,6 @@ USER_H =
+ EXTRA_DIST = $(COMMON_H) $(KERNEL_H) $(USER_H)
+ 
+ if CONFIG_KERNEL
+-kerneldir = @prefix@/src/spl-$(VERSION)/include/rpc
++kerneldir = @prefix@/libexec/spl/include/rpc
+ kernel_HEADERS = $(KERNEL_H)
+ endif
+diff --git a/include/sharefs/Makefile.am b/include/sharefs/Makefile.am
+index 10e7093..febecdf 100644
+--- a/include/sharefs/Makefile.am
++++ b/include/sharefs/Makefile.am
+@@ -8,6 +8,6 @@ USER_H =
+ EXTRA_DIST = $(COMMON_H) $(KERNEL_H) $(USER_H)
+ 
+ if CONFIG_KERNEL
+-kerneldir = @prefix@/src/spl-$(VERSION)/include/sharefs
++kerneldir = @prefix@/libexec/spl/include/sharefs
+ kernel_HEADERS = $(KERNEL_H)
+ endif
+diff --git a/include/sys/Makefile.am b/include/sys/Makefile.am
+index 73c4a84..31a9f50 100644
+--- a/include/sys/Makefile.am
++++ b/include/sys/Makefile.am
+@@ -107,7 +107,7 @@ USER_H =
+ EXTRA_DIST = $(COMMON_H) $(KERNEL_H) $(USER_H)
+ 
+ if CONFIG_KERNEL
+-kerneldir = @prefix@/src/spl-$(VERSION)/include/sys
++kerneldir = @prefix@/libexec/spl/include/sys
+ kernel_HEADERS = $(KERNEL_H)
+ endif
+ 
+diff --git a/include/sys/fm/Makefile.am b/include/sys/fm/Makefile.am
+index 2821cbe..a84ce8e 100644
+--- a/include/sys/fm/Makefile.am
++++ b/include/sys/fm/Makefile.am
+@@ -9,6 +9,6 @@ USER_H =
+ EXTRA_DIST = $(COMMON_H) $(KERNEL_H) $(USER_H)
+ 
+ if CONFIG_KERNEL
+-kerneldir = @prefix@/src/spl-$(VERSION)/include/sys/fm
++kerneldir = @prefix@/libexec/spl/include/sys/fm
+ kernel_HEADERS = $(KERNEL_H)
+ endif
+diff --git a/include/sys/fs/Makefile.am b/include/sys/fs/Makefile.am
+index 581083e..0c35fb7 100644
+--- a/include/sys/fs/Makefile.am
++++ b/include/sys/fs/Makefile.am
+@@ -8,6 +8,6 @@ USER_H =
+ EXTRA_DIST = $(COMMON_H) $(KERNEL_H) $(USER_H)
+ 
+ if CONFIG_KERNEL
+-kerneldir = @prefix@/src/spl-$(VERSION)/include/sys/fs
++kerneldir = @prefix@/libexec/spl/include/sys/fs
+ kernel_HEADERS = $(KERNEL_H)
+ endif
+diff --git a/include/sys/sysevent/Makefile.am b/include/sys/sysevent/Makefile.am
+index 63d9af3..de1aa18 100644
+--- a/include/sys/sysevent/Makefile.am
++++ b/include/sys/sysevent/Makefile.am
+@@ -8,6 +8,6 @@ USER_H =
+ EXTRA_DIST = $(COMMON_H) $(KERNEL_H) $(USER_H)
+ 
+ if CONFIG_KERNEL
+-kerneldir = @prefix@/src/spl-$(VERSION)/include/sys/sysevent
++kerneldir = @prefix@/libexec/spl/include/sys/sysevent
+ kernel_HEADERS = $(KERNEL_H)
+ endif
+diff --git a/include/util/Makefile.am b/include/util/Makefile.am
+index e2bf09f..3f5d6ce 100644
+--- a/include/util/Makefile.am
++++ b/include/util/Makefile.am
+@@ -9,6 +9,6 @@ USER_H =
+ EXTRA_DIST = $(COMMON_H) $(KERNEL_H) $(USER_H)
+ 
+ if CONFIG_KERNEL
+-kerneldir = @prefix@/src/spl-$(VERSION)/include/util
++kerneldir = @prefix@/libexec/spl/include/util
+ kernel_HEADERS = $(KERNEL_H)
+ endif
+diff --git a/include/vm/Makefile.am b/include/vm/Makefile.am
+index 7faab0a..8148b3d 100644
+--- a/include/vm/Makefile.am
++++ b/include/vm/Makefile.am
+@@ -10,6 +10,6 @@ USER_H =
+ EXTRA_DIST = $(COMMON_H) $(KERNEL_H) $(USER_H)
+ 
+ if CONFIG_KERNEL
+-kerneldir = @prefix@/src/spl-$(VERSION)/include/vm
++kerneldir = @prefix@/libexec/spl/include/vm
+ kernel_HEADERS = $(KERNEL_H)
+ endif
+diff --git a/module/Makefile.in b/module/Makefile.in
+index d4e62e1..73fa01c 100644
+--- a/module/Makefile.in
++++ b/module/Makefile.in
+@@ -21,15 +21,15 @@ clean:
+ modules_install:
+ 	@# Install the kernel modules
+ 	$(MAKE) -C @LINUX_OBJ@ SUBDIRS=`pwd` $@ \
+-		INSTALL_MOD_PATH=$(DESTDIR)$(INSTALL_MOD_PATH) \
++		INSTALL_MOD_PATH=@prefix@/$(INSTALL_MOD_PATH) \
+ 		INSTALL_MOD_DIR=$(INSTALL_MOD_DIR) \
+ 		KERNELRELEASE=@LINUX_VERSION@
+ 	@# Remove extraneous build products when packaging
+-	kmoddir=$(DESTDIR)$(INSTALL_MOD_PATH)/lib/modules/@LINUX_VERSION@; \
+-	if [ -n "$(DESTDIR)" ]; then \
++	kmoddir=@prefix@/$(INSTALL_MOD_PATH)/lib/modules/@LINUX_VERSION@; \
++	if [ -n "@prefix@" ]; then \
+ 		find $$kmoddir -name 'modules.*' | xargs $(RM); \
+ 	fi
+-	sysmap=$(DESTDIR)$(INSTALL_MOD_PATH)/boot/System.map-@LINUX_VERSION@; \
++	sysmap=@prefix@/$(INSTALL_MOD_PATH)/boot/System.map-@LINUX_VERSION@; \
+ 	if [ -f $$sysmap ]; then \
+ 		depmod -ae -F $$sysmap @LINUX_VERSION@; \
+ 	fi
diff --git a/pkgs/os-specific/linux/spl/install_prefix.patch b/pkgs/os-specific/linux/spl/install_prefix.patch
index dc91392bd2f..114ca123147 100644
--- a/pkgs/os-specific/linux/spl/install_prefix.patch
+++ b/pkgs/os-specific/linux/spl/install_prefix.patch
@@ -112,18 +112,6 @@ index 581083e..0c35fb7 100644
 +kerneldir = @prefix@/libexec/spl/include/sys/fs
  kernel_HEADERS = $(KERNEL_H)
  endif
-diff --git a/include/sys/sysevent/Makefile.am b/include/sys/sysevent/Makefile.am
-index 63d9af3..de1aa18 100644
---- a/include/sys/sysevent/Makefile.am
-+++ b/include/sys/sysevent/Makefile.am
-@@ -8,6 +8,6 @@ USER_H =
- EXTRA_DIST = $(COMMON_H) $(KERNEL_H) $(USER_H)
- 
- if CONFIG_KERNEL
--kerneldir = @prefix@/src/spl-$(VERSION)/include/sys/sysevent
-+kerneldir = @prefix@/libexec/spl/include/sys/sysevent
- kernel_HEADERS = $(KERNEL_H)
- endif
 diff --git a/include/util/Makefile.am b/include/util/Makefile.am
 index e2bf09f..3f5d6ce 100644
 --- a/include/util/Makefile.am
diff --git a/pkgs/os-specific/linux/sssd/default.nix b/pkgs/os-specific/linux/sssd/default.nix
index 516f0b92df6..3d89fdfdc28 100644
--- a/pkgs/os-specific/linux/sssd/default.nix
+++ b/pkgs/os-specific/linux/sssd/default.nix
@@ -11,11 +11,11 @@ let
 in
 stdenv.mkDerivation rec {
   name = "sssd-${version}";
-  version = "1.16.0";
+  version = "1.16.1";
 
   src = fetchurl {
     url = "https://fedorahosted.org/released/sssd/${name}.tar.gz";
-    sha256 = "03wllgbxxz2zv14dcqr8d2xssppi7ibckh0rlky8gvsw6vjsd0f5";
+    sha256 = "0vjh1c5960wh86zjsamdjhljls7bb5fz5jpcazgzrpmga5w6ggrd";
   };
 
   # Something is looking for <libxml/foo.h> instead of <libxml2/libxml/foo.h>
diff --git a/pkgs/os-specific/linux/sysdig/default.nix b/pkgs/os-specific/linux/sysdig/default.nix
index 5c7b2e69edf..6223c967619 100644
--- a/pkgs/os-specific/linux/sysdig/default.nix
+++ b/pkgs/os-specific/linux/sysdig/default.nix
@@ -3,13 +3,13 @@
 with stdenv.lib;
 stdenv.mkDerivation rec {
   name = "sysdig-${version}";
-  version = "0.20.0";
+  version = "0.21.0";
 
   src = fetchFromGitHub {
     owner = "draios";
     repo = "sysdig";
     rev = version;
-    sha256 = "0nbsfm2jh5gjy2wh79f35rqk3c3z15lymmcz3gviw0jaxdv6drzw";
+    sha256 = "0dakxv2pkbsivavz09fwvav4dla7qzklnv45zb7x306gankkjgi1";
   };
 
   buildInputs = [
diff --git a/pkgs/os-specific/linux/sysstat/default.nix b/pkgs/os-specific/linux/sysstat/default.nix
index d8e95ff74c4..db9f05f5f4d 100644
--- a/pkgs/os-specific/linux/sysstat/default.nix
+++ b/pkgs/os-specific/linux/sysstat/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, gettext, bzip2 }:
 
 stdenv.mkDerivation rec {
-  name = "sysstat-11.7.2";
+  name = "sysstat-11.7.3";
 
   src = fetchurl {
     url = "http://perso.orange.fr/sebastien.godard/${name}.tar.xz";
-    sha256 = "169yh9d0ags9xrn5g0k42wd1c895117zbzs257cjxqnb2vk0a38v";
+    sha256 = "1sk6rhdqr8xsm456fkhkcmbnqgkymqqs3jkapcf8mrnsx36gz94f";
   };
 
   buildInputs = [ gettext ];
diff --git a/pkgs/os-specific/linux/systemd/cryptsetup-generator.nix b/pkgs/os-specific/linux/systemd/cryptsetup-generator.nix
index f69269347e3..c89a8ff9147 100644
--- a/pkgs/os-specific/linux/systemd/cryptsetup-generator.nix
+++ b/pkgs/os-specific/linux/systemd/cryptsetup-generator.nix
@@ -1,7 +1,5 @@
 { stdenv, systemd, cryptsetup }:
 
-assert stdenv.isLinux;
-
 stdenv.lib.overrideDerivation systemd (p: {
   version = p.version;
   name = "systemd-cryptsetup-generator";
@@ -13,6 +11,17 @@ stdenv.lib.overrideDerivation systemd (p: {
     ninja systemd-cryptsetup systemd-cryptsetup-generator
   '';
 
+  # As ninja install is not used here, the rpath needs to be manually fixed.
+  # Otherwise the resulting binary doesn't properly link against systemd-shared.so
+  postFixup = ''
+    sharedLib=libsystemd-shared-${p.version}.so
+    for prog in `find $out -type f -executable`; do
+      (patchelf --print-needed $prog | grep $sharedLib > /dev/null) && (
+        patchelf --set-rpath `patchelf --print-rpath $prog`:"$out/lib/systemd" $prog
+      ) || true
+    done
+  '';
+
   installPhase = ''
     mkdir -p $out/lib/systemd/
     cp systemd-cryptsetup $out/lib/systemd/systemd-cryptsetup
diff --git a/pkgs/os-specific/linux/systemd/default.nix b/pkgs/os-specific/linux/systemd/default.nix
index 5992c1ffa95..89bd123d938 100644
--- a/pkgs/os-specific/linux/systemd/default.nix
+++ b/pkgs/os-specific/linux/systemd/default.nix
@@ -1,30 +1,34 @@
 { stdenv, fetchFromGitHub, fetchpatch, pkgconfig, intltool, gperf, libcap, kmod
 , zlib, xz, pam, acl, cryptsetup, libuuid, m4, utillinux, libffi
 , glib, kbd, libxslt, coreutils, libgcrypt, libgpgerror, libidn2, libapparmor
-, audit, lz4, bzip2, kexectools, libmicrohttpd
+, audit, lz4, bzip2, libmicrohttpd, pcre2
 , linuxHeaders ? stdenv.cc.libc.linuxHeaders
-, libseccomp, iptables, gnu-efi
+, iptables, gnu-efi
 , autoreconfHook, gettext, docbook_xsl, docbook_xml_dtd_42, docbook_xml_dtd_45
 , ninja, meson, python3Packages, glibcLocales
 , patchelf
 , getent
 , hostPlatform
+, buildPackages
+, withSelinux ? false, libselinux
+, withLibseccomp ? libseccomp.meta.available, libseccomp
+, withKexectools ? kexectools.meta.available, kexectools
 }:
 
-assert stdenv.isLinux;
-
 let
-  pythonLxmlEnv = python3Packages.python.withPackages ( ps: with ps; [ python3Packages.lxml ]);
+  pythonLxmlEnv = buildPackages.python3Packages.python.withPackages ( ps: with ps; [ python3Packages.lxml ]);
 
 in stdenv.mkDerivation rec {
-  version = "237";
+  version = "238";
   name = "systemd-${version}";
 
+  # When updating, use https://github.com/systemd/systemd-stable tree, not the development one!
+  # Also fresh patches should be cherry-picked from that tree to our current one.
   src = fetchFromGitHub {
     owner = "NixOS";
     repo = "systemd";
-    rev = "98067cc806ae0d2759cdd2334f230cd8548e5317";
-    sha256 = "077svfs2xy3g30s62q69wcv5pb9vfhzh8i7lhfri73vvhwbpzd5q";
+    rev = "02042d012c4d6c0a2854d8436dd6636d4327774f";
+    sha256 = "0iv6fygzac0z6dagbmw1nf8dx7rrr6d9cxp0fr304rn3ir58g5f0";
   };
 
   outputs = [ "out" "lib" "man" "dev" ];
@@ -33,15 +37,20 @@ in stdenv.mkDerivation rec {
     [ pkgconfig intltool gperf libxslt gettext docbook_xsl docbook_xml_dtd_42 docbook_xml_dtd_45
       ninja meson
       coreutils # meson calls date, stat etc.
-      pythonLxmlEnv glibcLocales
-      patchelf getent
+      glibcLocales
+      patchelf getent m4
     ];
   buildInputs =
     [ linuxHeaders libcap kmod xz pam acl
-      /* cryptsetup */ libuuid m4 glib libgcrypt libgpgerror libidn2
-      libmicrohttpd kexectools libseccomp libffi audit lz4 bzip2 libapparmor
+      /* cryptsetup */ libuuid glib libgcrypt libgpgerror libidn2
+      libmicrohttpd pcre2 ] ++
+      stdenv.lib.optional withKexectools kexectools ++
+      stdenv.lib.optional withLibseccomp libseccomp ++
+    [ libffi audit lz4 bzip2 libapparmor
       iptables gnu-efi
-    ];
+      # This is actually native, but we already pull it from buildPackages
+      pythonLxmlEnv
+    ] ++ stdenv.lib.optional withSelinux libselinux;
 
   #dontAddPrefix = true;
 
@@ -70,13 +79,19 @@ in stdenv.mkDerivation rec {
     "-Dsystem-gid-max=499"
     # "-Dtime-epoch=1"
 
-    (if stdenv.isAarch32 || !hostPlatform.isEfi then "-Dgnu-efi=false" else "-Dgnu-efi=true")
+    (if stdenv.isAarch32 || stdenv.isAarch64 || !hostPlatform.isEfi then "-Dgnu-efi=false" else "-Dgnu-efi=true")
     "-Defi-libdir=${toString gnu-efi}/lib"
     "-Defi-includedir=${toString gnu-efi}/include/efi"
     "-Defi-ldsdir=${toString gnu-efi}/lib"
 
     "-Dsysvinit-path="
     "-Dsysvrcnd-path="
+
+    "-Dkill-path=${coreutils}/bin/kill"
+    "-Dkmod-path=${kmod}/bin/kmod"
+    "-Dsulogin-path=${utillinux}/bin/sulogin"
+    "-Dmount-path=${utillinux}/bin/mount"
+    "-Dumount-path=${utillinux}/bin/umount"
   ];
 
   preConfigure = ''
@@ -124,7 +139,7 @@ in stdenv.mkDerivation rec {
 
     for i in src/basic/generate-gperfs.py src/resolve/generate-dns_type-gperf.py src/test/generate-sym-test.py ; do
       substituteInPlace $i \
-        --replace "#!/usr/bin/env python" "#!${python3Packages.python}/bin/python"
+        --replace "#!/usr/bin/env python" "#!${buildPackages.python3Packages.python}/bin/python"
     done
 
     substituteInPlace src/journal/catalog.c \
@@ -140,6 +155,14 @@ in stdenv.mkDerivation rec {
       --replace "SYSTEMD_CGROUP_AGENT_PATH" "_SYSTEMD_CGROUP_AGENT_PATH"
   '';
 
+  patches = [
+    # https://github.com/systemd/systemd/pull/8580
+    (fetchpatch {
+      url = https://github.com/systemd/systemd/pull/8580.patch;
+      sha256 = "1yp07hlpgqq0h2y0qc3kasswzkycz6p8d56d695ck1qa2f5bdfgn";
+    })
+  ];
+
   hardeningDisable = [ "stackprotector" ];
 
   NIX_CFLAGS_COMPILE =
@@ -155,6 +178,8 @@ in stdenv.mkDerivation rec {
       "-USYSTEMD_BINARY_PATH" "-DSYSTEMD_BINARY_PATH=\"/run/current-system/systemd/lib/systemd/systemd\""
     ];
 
+  doCheck = false; # fails a bunch of tests
+
   postInstall = ''
     # sysinit.target: Don't depend on
     # systemd-tmpfiles-setup.service. This interferes with NixOps's
@@ -168,13 +193,6 @@ in stdenv.mkDerivation rec {
 
     rm -rf $out/etc/systemd/system
 
-    # Install SysV compatibility commands.
-    mkdir -p $out/sbin
-    ln -s $out/lib/systemd/systemd $out/sbin/telinit
-    for i in init halt poweroff runlevel reboot shutdown; do
-      ln -s $out/bin/systemctl $out/sbin/$i
-    done
-
     # Fix reference to /bin/false in the D-Bus services.
     for i in $out/share/dbus-1/system-services/*.service; do
       substituteInPlace $i --replace /bin/false ${coreutils}/bin/false
@@ -192,18 +210,6 @@ in stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  # The rpath to the shared systemd library is not added by meson. The
-  # functionality was removed by a nixpkgs patch because it would overwrite
-  # the existing rpath.
-  postFixup = ''
-    sharedLib=libsystemd-shared-${version}.so
-    for prog in `find $out -type f -executable`; do
-      (patchelf --print-needed $prog | grep $sharedLib > /dev/null) && (
-        patchelf --set-rpath `patchelf --print-rpath $prog`:"$out/lib/systemd" $prog
-      ) || true
-    done
-  '';
-
   # The interface version prevents NixOS from switching to an
   # incompatible systemd at runtime.  (Switching across reboots is
   # fine, of course.)  It should be increased whenever systemd changes
diff --git a/pkgs/os-specific/linux/sysvinit/default.nix b/pkgs/os-specific/linux/sysvinit/default.nix
index 6ec8abdc176..b516cfe65ed 100644
--- a/pkgs/os-specific/linux/sysvinit/default.nix
+++ b/pkgs/os-specific/linux/sysvinit/default.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchurl, withoutInitTools ? false }:
 
-let version = "2.88dsf"; in
+let version = "2.89"; in
 
 stdenv.mkDerivation {
   name = (if withoutInitTools then "sysvtools" else "sysvinit") + "-" + version;
 
   src = fetchurl {
     url = "mirror://savannah/sysvinit/sysvinit-${version}.tar.bz2";
-    sha256 = "068mvzaz808a673zigyaqb63xc8bndh2klk16zi5c83rw70wifv0";
+    sha256 = "0rdw5lgg2rpcfdmq90br388qr01w89vsqmpvrqcqjqsmxk9zw3c2";
   };
 
   prePatch = ''
diff --git a/pkgs/os-specific/linux/tbs/default.nix b/pkgs/os-specific/linux/tbs/default.nix
new file mode 100644
index 00000000000..291666c0b45
--- /dev/null
+++ b/pkgs/os-specific/linux/tbs/default.nix
@@ -0,0 +1,63 @@
+{ stdenv, lib, fetchFromGitHub, kernel, kmod, perl, patchutils, perlPackages, libelf }:
+let
+
+  media = fetchFromGitHub rec {
+    name = repo;
+    owner = "tbsdtv";
+    repo = "linux_media";
+    rev = "efe31531b77efd3a4c94516504a5823d31cdc776";
+    sha256 = "1533qi3sb91v00289hl5zaj4l35r2sf9fqc6z5ky1vbb7byxgnlr";
+  };
+
+  build = fetchFromGitHub rec {
+    name = repo;
+    owner = "tbsdtv";
+    repo = "media_build";
+    rev = "a0d62eba4d429e0e9d2c2f910fb203e817cac84b";
+    sha256 = "1329s7w9xlqjqwkpaqsd6b5dmzhm97jw0c7c7zzmmbdkl289i4i4";
+  };
+
+in stdenv.mkDerivation {
+  name = "tbs-2018.04.18-${kernel.version}";
+
+  srcs = [ media build ];
+  sourceRoot = "${build.name}";
+
+  preConfigure = ''
+    make dir DIR=../${media.name}
+  '';
+
+  postPatch = ''
+    patchShebangs .
+
+    sed -i v4l/Makefile \
+      -i v4l/scripts/make_makefile.pl \
+      -e 's,/sbin/depmod,${kmod}/bin/depmod,g' \
+      -e 's,/sbin/lsmod,${kmod}/bin/lsmod,g'
+
+    sed -i v4l/Makefile \
+      -e 's,^OUTDIR ?= /lib/modules,OUTDIR ?= ${kernel.dev}/lib/modules,' \
+      -e 's,^SRCDIR ?= /lib/modules,SRCDIR ?= ${kernel.dev}/lib/modules,'
+  '';
+
+  buildFlags = [ "VER=${kernel.modDirVersion}" ];
+  installFlags = [ "DESTDIR=$(out)" ];
+
+  hardeningDisable = [ "all" ];
+
+  nativeBuildInputs = [ patchutils kmod perl perlPackages.ProcProcessTable ]
+  ++ kernel.moduleBuildDependencies;
+
+   postInstall = ''
+    xz $out/lib/modules/${kernel.modDirVersion}/kernel/drivers/media/dvb-core/dvb-core.ko
+    xz $out/lib/modules/${kernel.modDirVersion}/kernel/drivers/media/v4l2-core/videodev.ko
+  '';
+
+  meta = with lib; {
+    homepage = https://www.tbsdtv.com/;
+    description = "Linux driver for TBSDTV cards";
+    license = licenses.gpl2;
+    maintainers = with maintainers; [ ck3d ];
+    priority = -1;
+  };
+}
diff --git a/pkgs/os-specific/linux/tcp-wrappers/cdecls.patch b/pkgs/os-specific/linux/tcp-wrappers/cdecls.patch
new file mode 100644
index 00000000000..eee640e8a82
--- /dev/null
+++ b/pkgs/os-specific/linux/tcp-wrappers/cdecls.patch
@@ -0,0 +1,31 @@
+__BEGIN_DECLS/__END_DECLS are BSD specific and not defined in musl
+glibc and uclibc had sys/cdefs.h doing it.
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+Index: tcp_wrappers_7.6/tcpd.h
+===================================================================
+--- tcp_wrappers_7.6.orig/tcpd.h
++++ tcp_wrappers_7.6/tcpd.h
+@@ -11,7 +11,9 @@
+ #include <netinet/in.h>
+ #include <stdio.h>
+ 
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ 
+ /* Structure to describe one communications endpoint. */
+ 
+@@ -252,6 +254,8 @@ extern char *fix_strtok();
+ extern char *my_strtok();
+ #endif
+ 
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+ 
+ #endif
diff --git a/pkgs/os-specific/linux/tcp-wrappers/default.nix b/pkgs/os-specific/linux/tcp-wrappers/default.nix
index 7da4e39ca6c..5df7bb827aa 100644
--- a/pkgs/os-specific/linux/tcp-wrappers/default.nix
+++ b/pkgs/os-specific/linux/tcp-wrappers/default.nix
@@ -20,11 +20,22 @@ in stdenv.mkDerivation rec {
   prePatch = ''
     tar -xaf $debian
     patches="$(cat debian/patches/series | sed 's,^,debian/patches/,') $patches"
+
+    substituteInPlace Makefile --replace STRINGS STRINGDEFS
+    substituteInPlace debian/patches/13_shlib_weaksym --replace STRINGS STRINGDEFS
+  '';
+
+  # Fix __BEGIN_DECLS usage (even if it wasn't non-standard, this doesn't include sys/cdefs.h)
+  patches = [ ./cdecls.patch ];
+
+  postPatch = stdenv.lib.optionalString stdenv.hostPlatform.isMusl ''
+    substituteInPlace Makefile \
+      --replace '-DNETGROUP' '-DUSE_GETDOMAIN'
   '';
 
   buildInputs = [ libnsl ];
 
-  makeFlags = [ "STRINGS=" "REAL_DAEMON_DIR=$(out)/bin" "linux" ];
+  makeFlags = [ "REAL_DAEMON_DIR=$(out)/bin" "linux" "AR:=$(AR)" ];
 
   installPhase = ''
     mkdir -p "$out/bin"
diff --git a/pkgs/os-specific/linux/tcp-wrappers/tcp-wrappers-7.6-headers.patch b/pkgs/os-specific/linux/tcp-wrappers/tcp-wrappers-7.6-headers.patch
new file mode 100644
index 00000000000..328a4a10261
--- /dev/null
+++ b/pkgs/os-specific/linux/tcp-wrappers/tcp-wrappers-7.6-headers.patch
@@ -0,0 +1,295 @@
+--- a/options.c
++++ b/options.c
+@@ -34,6 +34,8 @@
+ 
+ /* System libraries. */
+ 
++#include <unistd.h>
++#include <stdlib.h>
+ #include <sys/types.h>
+ #include <sys/param.h>
+ #include <sys/socket.h>
+--- a/safe_finger.c
++++ b/safe_finger.c
+@@ -20,6 +20,11 @@
+ 
+ /* System libraries */
+ 
++#include <unistd.h>
++#include <fcntl.h>
++#include <stdlib.h>
++#include <sys/wait.h>
++#include <grp.h>
+ #include <sys/types.h>
+ #include <sys/stat.h>
+ #include <signal.h>
+@@ -27,7 +31,7 @@
+ #include <ctype.h>
+ #include <pwd.h>
+ 
+-extern void exit();
++int pipe_stdin(char **argv);
+ 
+ /* Local stuff */
+ 
+--- a/scaffold.c
++++ b/scaffold.c
+@@ -10,6 +10,7 @@
+ 
+ /* System libraries. */
+ 
++#include <stdlib.h>
+ #include <sys/types.h>
+ #include <sys/stat.h>
+ #include <sys/socket.h>
+@@ -27,7 +27,4 @@
+ #endif
+ 
+-#ifndef INET6
+-extern char *malloc();
+-#endif
+ 
+ /* Application-specific. */
+--- a/shell_cmd.c
++++ b/shell_cmd.c
+@@ -14,6 +14,10 @@
+ 
+ /* System libraries. */
+ 
++#include <unistd.h>
++#include <stdlib.h>
++#include <fcntl.h>
++#include <sys/wait.h>
+ #include <sys/types.h>
+ #include <sys/param.h>
+ #include <signal.h>
+@@ -25,8 +25,6 @@
+ #include <syslog.h>
+ #include <string.h>
+ 
+-extern void exit();
+-
+ /* Local stuff. */
+ 
+ #include "tcpd.h"
+--- a/tcpdchk.c
++++ b/tcpdchk.c
+@@ -20,6 +20,8 @@
+ 
+ /* System libraries. */
+ 
++#include <unistd.h>
++#include <stdlib.h>
+ #include <sys/types.h>
+ #include <sys/stat.h>
+ #ifdef INET6
+@@ -35,10 +36,7 @@
+ #include <netdb.h>
+ #include <string.h>
+ 
+-extern int errno;
+-extern void exit();
+-extern int optind;
+-extern char *optarg;
++int cidr_mask_addr(char *str);
+ 
+ #ifndef INADDR_NONE
+ #define INADDR_NONE     (-1)		/* XXX should be 0xffffffff */
+--- a/clean_exit.c
++++ b/clean_exit.c
+@@ -13,8 +13,8 @@
+ #endif
+ 
+ #include <stdio.h>
+-
+-extern void exit();
++#include <unistd.h>
++#include <stdlib.h>
+ 
+ #include "tcpd.h"
+ 
+--- a/hosts_access.c
++++ b/hosts_access.c
+@@ -23,6 +23,7 @@
+ 
+ /* System libraries. */
+ 
++#include <stdlib.h>
+ #include <sys/types.h>
+ #ifdef INT32_T
+     typedef uint32_t u_int32_t;
+@@ -43,8 +44,8 @@
+ #include <netdb.h>
+ #endif
+ 
+-extern char *fgets();
+-extern int errno;
++static int match_pattern_ylo(const char *s, const char *pattern);
++int cidr_mask_addr(char *str);
+ 
+ #ifndef	INADDR_NONE
+ #define	INADDR_NONE	(-1)		/* XXX should be 0xffffffff */
+--- a/inetcf.c
++++ b/inetcf.c
+@@ -9,15 +9,14 @@
+ static char sccsid[] = "@(#) inetcf.c 1.7 97/02/12 02:13:23";
+ #endif
+ 
++#include <stdlib.h>
+ #include <sys/types.h>
+ #include <sys/stat.h>
+ #include <stdio.h>
+ #include <errno.h>
+ #include <string.h>
+ 
+-extern int errno;
+-extern void exit();
+-
++#include "scaffold.h"
+ #include "tcpd.h"
+ #include "inetcf.h"
+ 
+--- a/percent_x.c
++++ b/percent_x.c
+@@ -16,12 +16,12 @@
+ 
+ /* System libraries. */
+ 
++#include <unistd.h>
++#include <stdlib.h>
+ #include <stdio.h>
+ #include <syslog.h>
+ #include <string.h>
+ 
+-extern void exit();
+-
+ /* Local stuff. */
+ 
+ #include "tcpd.h"
+--- a/rfc931.c
++++ b/rfc931.c
+@@ -15,6 +15,7 @@
+ 
+ /* System libraries. */
+ 
++#include <unistd.h>
+ #include <stdio.h>
+ #include <syslog.h>
+ #include <sys/types.h>
+--- a/tcpd.c
++++ b/tcpd.c
+@@ -16,6 +16,7 @@
+ 
+ /* System libraries. */
+ 
++#include <unistd.h>
+ #include <sys/types.h>
+ #include <sys/param.h>
+ #include <sys/stat.h>
+@@ -39,6 +39,8 @@
+ #include "patchlevel.h"
+ #include "tcpd.h"
+ 
++void fix_options(struct request_info *request);
++
+ int     allow_severity = SEVERITY;	/* run-time adjustable */
+ int     deny_severity = LOG_WARNING;	/* ditto */
+ 
+--- a/tcpdmatch.c
++++ b/tcpdmatch.c
+@@ -19,6 +19,8 @@
+ 
+ /* System libraries. */
+ 
++#include <unistd.h>
++#include <stdlib.h>
+ #include <sys/types.h>
+ #include <sys/stat.h>
+ #include <sys/socket.h>
+@@ -30,9 +32,6 @@
+ #include <setjmp.h>
+ #include <string.h>
+ 
+-extern void exit();
+-extern int optind;
+-extern char *optarg;
+ 
+ #ifndef	INADDR_NONE
+ #define	INADDR_NONE	(-1)		/* XXX should be 0xffffffff */
+--- a/update.c
++++ b/update.c
+@@ -19,6 +19,7 @@
+ 
+ /* System libraries */
+ 
++#include <unistd.h>
+ #include <stdio.h>
+ #include <syslog.h>
+ #include <string.h>
+--- a/misc.c
++++ b/misc.c
+@@ -14,11 +14,10 @@
+ #include <arpa/inet.h>
+ #include <stdio.h>
+ #include <string.h>
++#include <stdlib.h>
+ 
+ #include "tcpd.h"
+ 
+-extern char *fgets();
+-
+ #ifndef	INADDR_NONE
+ #define	INADDR_NONE	(-1)		/* XXX should be 0xffffffff */
+ #endif
+--- a/fix_options.c
++++ b/fix_options.c
+@@ -32,6 +32,7 @@
+ 
+ /* fix_options - get rid of IP-level socket options */
+ 
++void
+ fix_options(request)
+ struct request_info *request;
+ {
+@@ -38,11 +38,8 @@
+ #ifdef IP_OPTIONS
+     unsigned char optbuf[BUFFER_SIZE / 3], *cp;
+     char    lbuf[BUFFER_SIZE], *lp;
+-#ifdef __GLIBC__
+-    size_t  optsize = sizeof(optbuf), ipproto;
+-#else
+-    int     optsize = sizeof(optbuf), ipproto;
+-#endif
++    socklen_t optsize = sizeof(optbuf);
++    int ipproto;
+     struct protoent *ip;
+     int     fd = request->fd;
+     unsigned int opt;
+--- a/socket.c
++++ b/socket.c
+@@ -95,11 +95,7 @@
+     static struct sockaddr_in client;
+     static struct sockaddr_in server;
+ #endif
+-#ifdef __GLIBC__
+-    size_t  len;
+-#else
+-    int     len;
+-#endif
++    socklen_t len;
+     char    buf[BUFSIZ];
+     int     fd = request->fd;
+ 
+@@ -430,11 +426,7 @@
+ #else
+     struct sockaddr_in sin;
+ #endif
+-#ifdef __GLIBC__
+-    size_t  size = sizeof(sin);
+-#else
+-    int     size = sizeof(sin);
+-#endif
++    socklen_t size;
+ 
+     /*
+      * Eat up the not-yet received datagram. Some systems insist on a
diff --git a/pkgs/os-specific/linux/tmon/default.nix b/pkgs/os-specific/linux/tmon/default.nix
new file mode 100644
index 00000000000..01c84a1d1fa
--- /dev/null
+++ b/pkgs/os-specific/linux/tmon/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, kernel, ncurses }:
+
+stdenv.mkDerivation {
+  name = "tmon-${kernel.version}";
+
+  inherit (kernel) src;
+
+  buildInputs = [ ncurses ];
+
+  configurePhase = ''
+    cd tools/thermal/tmon
+  '';
+
+  makeFlags = kernel.makeFlags ++ [ "INSTALL_ROOT=\"$(out)\"" "BINDIR=bin" ];
+
+  enableParallelBuilding = true;
+
+  meta = with stdenv.lib; {
+    description = "Monitoring and Testing Tool for Linux kernel thermal subsystem";
+    homepage = https://www.kernel.org/;
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/os-specific/linux/trinity/default.nix b/pkgs/os-specific/linux/trinity/default.nix
index b69bd576ed2..4c3a92cd87e 100644
--- a/pkgs/os-specific/linux/trinity/default.nix
+++ b/pkgs/os-specific/linux/trinity/default.nix
@@ -11,6 +11,9 @@ stdenv.mkDerivation rec {
     sha256 = "19asyrypjhx2cgjdmwfvmgc0hk3xg00zvgkl89vwxngdb40bkwfq";
   };
 
+  # Fails on 32-bit otherwise
+  NIX_CFLAGS_COMPILE = "-Wno-error";
+
   postPatch = ''
     patchShebangs ./configure
     patchShebangs ./scripts/
diff --git a/pkgs/os-specific/linux/udisks/2-default.nix b/pkgs/os-specific/linux/udisks/2-default.nix
index 725b1cd2564..a057cb3c101 100644
--- a/pkgs/os-specific/linux/udisks/2-default.nix
+++ b/pkgs/os-specific/linux/udisks/2-default.nix
@@ -5,11 +5,11 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "udisks-2.1.6";
+  name = "udisks-2.1.8";
 
   src = fetchurl {
     url = "http://udisks.freedesktop.org/releases/${name}.tar.bz2";
-    sha256 = "0spl155k0g2l2hvqf8xyjv08i68gfyhzpjva6cwlzxx0bz4gbify";
+    sha256 = "1nkxhnqh39c9pzvm4zfj50rgv6apqawdx09bv3sfaxrah4a6jhfs";
   };
 
   outputs = [ "out" "man" "dev" ];
@@ -27,7 +27,11 @@ stdenv.mkDerivation rec {
         --replace "/bin/sh" "${stdenv.shell}" \
         --replace "/sbin/mdadm" "${mdadm}/bin/mdadm" \
         --replace " sed " " ${gnused}/bin/sed "
-    '';
+  '' + stdenv.lib.optionalString stdenv.hostPlatform.isMusl ''
+      substituteInPlace udisks/udisksclient.c \
+        --replace 'defined( __GNUC_PREREQ)' 1 \
+        --replace '__GNUC_PREREQ(4,6)' 1
+  '';
 
   nativeBuildInputs = [ pkgconfig intltool gobjectIntrospection ];
 
@@ -44,6 +48,8 @@ stdenv.mkDerivation rec {
     "INTROSPECTION_TYPELIBDIR=$(out)/lib/girepository-1.0"
   ];
 
+  doCheck = false; # fails
+
   meta = {
     homepage = http://www.freedesktop.org/wiki/Software/udisks;
     description = "A daemon and command-line utility for querying and manipulating storage devices";
diff --git a/pkgs/os-specific/linux/upower/default.nix b/pkgs/os-specific/linux/upower/default.nix
index 713ef974f9f..1e9101b68af 100644
--- a/pkgs/os-specific/linux/upower/default.nix
+++ b/pkgs/os-specific/linux/upower/default.nix
@@ -3,8 +3,6 @@
 , useSystemd ? true, systemd, gobjectIntrospection
 }:
 
-assert stdenv.isLinux;
-
 stdenv.mkDerivation rec {
   name = "upower-0.99.7";
 
@@ -30,6 +28,8 @@ stdenv.mkDerivation rec {
 
   NIX_CFLAGS_LINK = "-lgcc_s";
 
+  doCheck = false; # fails with "env: './linux/integration-test': No such file or directory"
+
   installFlags = "historydir=$(TMPDIR)/foo";
 
   meta = {
diff --git a/pkgs/os-specific/linux/util-linux/default.nix b/pkgs/os-specific/linux/util-linux/default.nix
index e8a2b342849..9ec6c22d32a 100644
--- a/pkgs/os-specific/linux/util-linux/default.nix
+++ b/pkgs/os-specific/linux/util-linux/default.nix
@@ -4,15 +4,15 @@
 let
   version = lib.concatStringsSep "." ([ majorVersion ]
     ++ lib.optional (patchVersion != "") patchVersion);
-  majorVersion = "2.31";
-  patchVersion = "1";
+  majorVersion = "2.32";
+  patchVersion = "";
 
 in stdenv.mkDerivation rec {
   name = "util-linux-${version}";
 
   src = fetchurl {
     url = "mirror://kernel/linux/utils/util-linux/v${majorVersion}/${name}.tar.xz";
-    sha256 = "04fzrnrr3pvqskvjn9f81y0knh0jvvqx4lmbz5pd4lfdm5pv2l8s";
+    sha256 = "0d2758kjll5xqm5fpp3sww1h66aahx161sf2b60jxqv4qymrfwvc";
   };
 
   patches = [
@@ -30,7 +30,8 @@ in stdenv.mkDerivation rec {
 
   crossAttrs = {
     # Work around use of `AC_RUN_IFELSE'.
-    preConfigure = "export scanf_cv_type_modifier=ms";
+    preConfigure = "export scanf_cv_type_modifier=ms" + lib.optionalString (systemd != null)
+      "\nconfigureFlags+=\" --with-systemd --with-systemdsystemunitdir=$bin/lib/systemd/system/\"";
   };
 
   preConfigure = lib.optionalString (systemd != null) ''
diff --git a/pkgs/os-specific/linux/v4l-utils/default.nix b/pkgs/os-specific/linux/v4l-utils/default.nix
index 84b31d4d516..9bdb16cd1f1 100644
--- a/pkgs/os-specific/linux/v4l-utils/default.nix
+++ b/pkgs/os-specific/linux/v4l-utils/default.nix
@@ -8,11 +8,11 @@
 
 stdenv.mkDerivation rec {
   name = "v4l-utils-${version}";
-  version = "1.12.3";
+  version = "1.14.2";
 
   src = fetchurl {
     url = "http://linuxtv.org/downloads/v4l-utils/${name}.tar.bz2";
-    sha256 = "0vpl3jl0x441y7b5cn7zhdsyi954hp9h2p30jhnr1zkx1rpxsiss";
+    sha256 = "14h6d2p3n4jmxhd8i0p1m5dbwz5vnpb3z88xqd9ghg15n7265fg6";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/pkgs/os-specific/linux/v4l2loopback/default.nix b/pkgs/os-specific/linux/v4l2loopback/default.nix
index 920c8c0bdee..3db2814a087 100644
--- a/pkgs/os-specific/linux/v4l2loopback/default.nix
+++ b/pkgs/os-specific/linux/v4l2loopback/default.nix
@@ -1,12 +1,14 @@
-{ stdenv, fetchurl, kernel, kmod }:
+{ stdenv, fetchFromGitHub, kernel, kmod }:
 
 stdenv.mkDerivation rec {
   name = "v4l2loopback-${version}-${kernel.version}";
-  version = "0.9.1";
+  version = "0.11.0";
 
-  src = fetchurl {
-    url = "https://github.com/umlaeute/v4l2loopback/archive/v${version}.tar.gz";
-    sha256 = "1crkhxlnskqrfj3f7jmiiyi5m75zmj7n0s26xz07wcwdzdf2p568";
+  src = fetchFromGitHub {
+    owner = "umlaeute";
+    repo = "v4l2loopback";
+    rev = "v${version}";
+    sha256 = "1wb5qmy13w8rl4279bwp69s4sb1x5hk5d2n563p1yk8yi567p2az";
   };
 
   hardeningDisable = [ "format" "pic" ];
diff --git a/pkgs/os-specific/linux/wireguard/default.nix b/pkgs/os-specific/linux/wireguard/default.nix
index 0029353ba20..6e3e444240a 100644
--- a/pkgs/os-specific/linux/wireguard/default.nix
+++ b/pkgs/os-specific/linux/wireguard/default.nix
@@ -6,11 +6,11 @@ assert kernel != null -> stdenv.lib.versionAtLeast kernel.version "3.10";
 let
   name = "wireguard-${version}";
 
-  version = "0.0.20180218";
+  version = "0.0.20180420";
 
   src = fetchurl {
     url    = "https://git.zx2c4.com/WireGuard/snapshot/WireGuard-${version}.tar.xz";
-    sha256 = "4ac4c4e4ad4dc2cf9dcb831b0cf347567ccea675ca524528cf5a4d9dccb2fe52";
+    sha256 = "05nsn5pkzvkfsc8z0mm4fdb1znklpmb00v608j8gxlz8z6nd535m";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/os-specific/linux/xf86-input-multitouch/default.nix b/pkgs/os-specific/linux/xf86-input-multitouch/default.nix
index e1bafa93ea6..527471bad32 100644
--- a/pkgs/os-specific/linux/xf86-input-multitouch/default.nix
+++ b/pkgs/os-specific/linux/xf86-input-multitouch/default.nix
@@ -11,8 +11,6 @@
 , libpciaccess
 }:
 
-assert stdenv.isLinux;
-
 stdenv.mkDerivation {
   name = "xf86-input-multitouch-20110312";
 
diff --git a/pkgs/os-specific/linux/xf86-input-wacom/default.nix b/pkgs/os-specific/linux/xf86-input-wacom/default.nix
index 2ebb2b1890d..b5937dff375 100644
--- a/pkgs/os-specific/linux/xf86-input-wacom/default.nix
+++ b/pkgs/os-specific/linux/xf86-input-wacom/default.nix
@@ -3,11 +3,11 @@
 , ncurses, pkgconfig, randrproto, xorgserver, xproto, udev, libXinerama, pixman }:
 
 stdenv.mkDerivation rec {
-  name = "xf86-input-wacom-0.35.0";
+  name = "xf86-input-wacom-0.36.0";
 
   src = fetchurl {
     url = "mirror://sourceforge/linuxwacom/${name}.tar.bz2";
-    sha256 = "0za44snc0zirq65a4lxsmg7blp1bynj6j835hm459x8yx1qhmxjm";
+    sha256 = "1xi39hl8ddgj9m7m2k2ll2r3wh0k0aq45fvrsv43651bhz9cbrza";
   };
 
   buildInputs = [ inputproto libX11 libXext libXi libXrandr libXrender
diff --git a/pkgs/os-specific/linux/zfs/default.nix b/pkgs/os-specific/linux/zfs/default.nix
index 868e354c7b5..bdc43a092f7 100644
--- a/pkgs/os-specific/linux/zfs/default.nix
+++ b/pkgs/os-specific/linux/zfs/default.nix
@@ -1,8 +1,11 @@
-{ stdenv, fetchFromGitHub, autoreconfHook, utillinux, nukeReferences, coreutils, fetchpatch
+{ stdenv, fetchFromGitHub, autoreconfHook, utillinux, nukeReferences, coreutils
+, perl, fetchpatch
 , configFile ? "all"
 
 # Userspace dependencies
 , zlib, libuuid, python, attr, openssl
+, libtirpc
+, nfs-utils
 
 # Kernel dependencies
 , kernel ? null, spl ? null, splUnstable ? null, splLegacyCrypto ? null
@@ -26,7 +29,7 @@ let
         versionAtLeast kernel.version incompatibleKernelVersion then
        throw ''
          Linux v${kernel.version} is not yet supported by zfsonlinux v${version}.
-         ${stdenv.lib.optional (!isUnstable) "Try zfsUnstable or set the NixOS option boot.zfs.enableUnstable."}
+         ${stdenv.lib.optionalString (!isUnstable) "Try zfsUnstable or set the NixOS option boot.zfs.enableUnstable."}
        ''
     else stdenv.mkDerivation rec {
       name = "zfs-${configFile}-${version}${optionalString buildKernel "-${kernel.version}"}";
@@ -39,12 +42,20 @@ let
 
       patches = extraPatches;
 
+      postPatch = optionalString buildKernel ''
+        patchShebangs scripts
+      '' + optionalString stdenv.hostPlatform.isMusl ''
+        substituteInPlace config/user-libtirpc.m4 \
+          --replace /usr/include/tirpc ${libtirpc}/include/tirpc
+      '';
+
       nativeBuildInputs = [ autoreconfHook nukeReferences ]
-         ++ optional buildKernel kernel.moduleBuildDependencies;
+         ++ optional buildKernel (kernel.moduleBuildDependencies ++ [ perl ]);
       buildInputs =
            optionals buildKernel [ spl ]
         ++ optionals buildUser [ zlib libuuid python attr ]
-        ++ optionals (buildUser && (isUnstable || isLegacyCrypto)) [ openssl ];
+        ++ optionals (buildUser && (isUnstable || isLegacyCrypto)) [ openssl ]
+        ++ optional stdenv.hostPlatform.isMusl [ libtirpc ];
 
       # for zdb to get the rpath to libgcc_s, needed for pthread_cancel to work
       NIX_CFLAGS_LINK = "-lgcc_s";
@@ -56,6 +67,7 @@ let
         substituteInPlace ./module/zfs/zfs_ctldir.c   --replace "mount -t zfs"            "${utillinux}/bin/mount -t zfs"
         substituteInPlace ./lib/libzfs/libzfs_mount.c --replace "/bin/umount"             "${utillinux}/bin/umount"
         substituteInPlace ./lib/libzfs/libzfs_mount.c --replace "/bin/mount"              "${utillinux}/bin/mount"
+        substituteInPlace ./lib/libshare/nfs.c        --replace "/usr/sbin/exportfs"      "${nfs-utils}/bin/exportfs"
         substituteInPlace ./cmd/ztest/ztest.c         --replace "/usr/sbin/ztest"         "$out/sbin/ztest"
         substituteInPlace ./cmd/ztest/ztest.c         --replace "/usr/sbin/zdb"           "$out/sbin/zdb"
         substituteInPlace ./config/user-systemd.m4    --replace "/usr/lib/modules-load.d" "$out/etc/modules-load.d"
@@ -72,6 +84,7 @@ let
         done
 
         ./autogen.sh
+        configureFlagsArray+=("--libexecdir=$out/libexec")
       '';
 
       configureFlags = [
@@ -81,6 +94,7 @@ let
         "--with-udevdir=$(out)/lib/udev"
         "--with-systemdunitdir=$(out)/etc/systemd/system"
         "--with-systemdpresetdir=$(out)/etc/systemd/system-preset"
+        "--with-systemdgeneratordir=$(out)/lib/systemd/system-generator"
         "--with-mounthelperdir=$(out)/bin"
         "--sysconfdir=/etc"
         "--localstatedir=/var"
@@ -139,12 +153,12 @@ in {
   # to be adapted
   zfsStable = common {
     # comment/uncomment if breaking kernel versions are known
-    incompatibleKernelVersion = null;
+    incompatibleKernelVersion = "4.16";
 
     # this package should point to the latest release.
-    version = "0.7.6";
+    version = "0.7.8";
 
-    sha256 = "1k3a69zfdk4ia4z2l69lbz0mj26bwdanxd2wynkdpm2kl3zjj18h";
+    sha256 = "0m7j5cpz81lqcfbh4w3wvqjjka07wickl27klgy1zplv6vr0baix";
 
     extraPatches = [
       (fetchpatch {
@@ -156,30 +170,32 @@ in {
     inherit spl;
   };
 
-  zfsUnstable = common {
+  zfsUnstable = common rec {
     # comment/uncomment if breaking kernel versions are known
-    incompatibleKernelVersion = null;
+    incompatibleKernelVersion = "4.16";
 
     # this package should point to a version / git revision compatible with the latest kernel release
-    version = "2018-02-02";
+    version = "2018-04-10";
 
-    rev = "fbd42542686af053f0d162ec4630ffd4fff1cc30";
-    sha256 = "0qzkwnnk7kz1hwvcaqlpzi5yspfhhmd2alklc07k056ddzbx52qb";
+    rev = "74df0c5e251a920a1966a011c16f960cd7ba562e";
+    sha256 = "1x3mipj3ryznnd7kx84r3n607hv6jqs66mb61g3zcdmvk6al4yq4";
     isUnstable = true;
 
     extraPatches = [
       (fetchpatch {
-        url = "https://github.com/Mic92/zfs/compare/fbd42542686af053f0d162ec4630ffd4fff1cc30...nixos-zfs-2018-02-02.patch";
-        sha256 = "05wqwjm9648x60vkwxbp8l6z1q73r2a5l2ni28i2f4pla8s3ahln";
+        url = "https://github.com/Mic92/zfs/compare/${rev}...nixos-zfs-2018-02-02.patch";
+        sha256 = "1gqmgqi39qhk5kbbvidh8f2xqq25vj58i9x0wjqvcx6a71qj49ch";
       })
     ];
 
     spl = splUnstable;
   };
 
+  # TODO: Remove this module before 18.09
+  # also remove boot.zfs.enableLegacyCrypto
   zfsLegacyCrypto = common {
     # comment/uncomment if breaking kernel versions are known
-    incompatibleKernelVersion = null;
+    incompatibleKernelVersion = "4.16";
 
     # this package should point to a version / git revision compatible with the latest kernel release
     version = "2018-02-01";
diff --git a/pkgs/os-specific/windows/mingw-w64/common.nix b/pkgs/os-specific/windows/mingw-w64/common.nix
index ece2586dc80..102d9489fe9 100644
--- a/pkgs/os-specific/windows/mingw-w64/common.nix
+++ b/pkgs/os-specific/windows/mingw-w64/common.nix
@@ -1,11 +1,16 @@
 { fetchurl }:
 
 rec {
-  version = "4.0.6";
+  version = "5.0.3";
   name = "mingw-w64-${version}";
 
   src = fetchurl {
     url = "mirror://sourceforge/mingw-w64/mingw-w64-v${version}.tar.bz2";
-    sha256 = "0p01vm5kx1ixc08402z94g1alip4vx66gjpvyi9maqyqn2a76h0c";
+    sha256 = "1d4wrjfdlq5xqpv9zg6ssw4lm8jnv6522xf7d6zbjygmkswisq1a";
   };
+
+  configureFlags = [
+    "--enable-idl"
+    "--enable-secure-api"
+  ];
 }
diff --git a/pkgs/os-specific/windows/pthread-w32/default.nix b/pkgs/os-specific/windows/pthread-w32/default.nix
index f0b6852d5bf..ef42dadc297 100644
--- a/pkgs/os-specific/windows/pthread-w32/default.nix
+++ b/pkgs/os-specific/windows/pthread-w32/default.nix
@@ -1,4 +1,4 @@
-{ fetchurl, stdenv, mingw_headers }:
+{ fetchurl, stdenv, mingw_header, hostPlatform, buildPlatform }:
 
 # This file is tweaked for cross-compilation only.
 assert hostPlatform != buildPlatform;
diff --git a/pkgs/servers/amqp/qpid-cpp/default.nix b/pkgs/servers/amqp/qpid-cpp/default.nix
index 6c256d14fe7..a838fa3b904 100644
--- a/pkgs/servers/amqp/qpid-cpp/default.nix
+++ b/pkgs/servers/amqp/qpid-cpp/default.nix
@@ -1,33 +1,53 @@
-{ stdenv, fetchurl, cmake, python2, boost, libuuid, ruby }:
+{ stdenv, fetchurl, cmake, python2, boost, libuuid, ruby, buildEnv, buildPythonPackage, qpid-python }:
 
-stdenv.mkDerivation rec {
+let
   name = "qpid-cpp-${version}";
-
-  version = "0.34";
+  version = "1.37.0";
 
   src = fetchurl {
     url = "mirror://apache/qpid/cpp/${version}/${name}.tar.gz";
-    sha256 = "07ibwvw5lm7xabv32zai5x03r7l9mxm0zk7h9lbfkzmav0f41w0w";
+    sha256 = "1s4hyi867i0lqn81c1crrk6fga1gmsv61675vjv5v41skz56lrsb";
   };
 
-  buildInputs = [ cmake python2 boost libuuid ruby ];
-
-  # the subdir managementgen wants to install python stuff in ${python} and
-  # the installation tries to create some folders in /var
-  patchPhase = ''
-    sed -i '/managementgen/d' CMakeLists.txt
-    sed -i '/ENV/d' src/CMakeLists.txt
-  '';
-
-  NIX_CFLAGS_COMPILE = "-Wno-error=deprecated-declarations -Wno-error=unused-function";
-
-  meta = {
+  meta = with stdenv.lib; {
     homepage = http://qpid.apache.org;
     repositories.git = git://git.apache.org/qpid.git;
     repositories.svn = http://svn.apache.org/repos/asf/qpid;
     description = "An AMQP message broker and a C++ messaging API";
-    license = stdenv.lib.licenses.asl20;
-    platforms = stdenv.lib.platforms.linux;
-    maintainers = [ stdenv.lib.maintainers.cpages ];
+    license = licenses.asl20;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ cpages ma27 ];
+  };
+
+  qpid-cpp = stdenv.mkDerivation {
+    inherit src meta name;
+
+    nativeBuildInputs = [ cmake ];
+    buildInputs = [ boost libuuid ruby python2 ];
+
+    # the subdir managementgen wants to install python stuff in ${python} and
+    # the installation tries to create some folders in /var
+    postPatch = ''
+      sed -i '/managementgen/d' CMakeLists.txt
+      sed -i '/ENV/d' src/CMakeLists.txt
+      sed -i '/management/d' CMakeLists.txt
+    '';
+
+    NIX_CFLAGS_COMPILE = [
+      "-Wno-error=deprecated-declarations"
+      "-Wno-error=unused-function"
+      "-Wno-error=int-in-bool-context"
+    ];
+  };
+
+  python-frontend = buildPythonPackage {
+    inherit name meta src;
+
+    sourceRoot = "${name}/management/python";
+
+    propagatedBuildInputs = [ qpid-python ];
   };
+in buildEnv {
+  name = "${name}-env";
+  paths = [ qpid-cpp python-frontend ];
 }
diff --git a/pkgs/servers/amqp/rabbitmq-server/default.nix b/pkgs/servers/amqp/rabbitmq-server/default.nix
index 3d4a8902c91..4cc187846d0 100644
--- a/pkgs/servers/amqp/rabbitmq-server/default.nix
+++ b/pkgs/servers/amqp/rabbitmq-server/default.nix
@@ -1,17 +1,11 @@
 { stdenv, fetchurl, runCommand
 , erlang, python, libxml2, libxslt, xmlto
 , docbook_xml_dtd_45, docbook_xsl, zip, unzip, rsync
-
 , AppKit, Carbon, Cocoa
+, getconf
 }:
 
-let
-  # we only need that one glibc binary (28k instead of 2.7M)
-  getconf = runCommand "getconf" {} ''
-    install -D ${stdenv.lib.getBin stdenv.cc.libc}/bin/getconf $out/bin/getconf
-  '';
-
-in stdenv.mkDerivation rec {
+stdenv.mkDerivation rec {
   name = "rabbitmq-server-${version}";
   version = "3.6.15";
 
diff --git a/pkgs/servers/apcupsd/default.nix b/pkgs/servers/apcupsd/default.nix
index 3b67171a474..bec61d460a7 100644
--- a/pkgs/servers/apcupsd/default.nix
+++ b/pkgs/servers/apcupsd/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, systemd, utillinux, coreutils, nettools, man
+{ stdenv, fetchurl, pkgconfig, systemd, utillinux, coreutils, wall, hostname, man
 , enableCgiScripts ? true, gd
 }:
 
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
   # There is no real reason for a bin/sbin split, so just use bin.
   preConfigure = ''
     export ac_cv_path_SHUTDOWN=${systemd}/sbin/shutdown
-    export ac_cv_path_WALL=${utillinux}/bin/wall
+    export ac_cv_path_WALL=${wall}/bin/wall
     sed -i 's|/bin/cat|${coreutils}/bin/cat|' configure
     export configureFlags="\
         --bindir=$out/bin \
@@ -46,8 +46,8 @@ stdenv.mkDerivation rec {
 
   postInstall = ''
     for file in "$out"/etc/apcupsd/*; do
-        sed -i -e 's|^WALL=.*|WALL="${utillinux}/bin/wall"|g' \
-               -e 's|^HOSTNAME=.*|HOSTNAME=`${nettools}/bin/hostname`|g' \
+        sed -i -e 's|^WALL=.*|WALL="${wall}/bin/wall"|g' \
+               -e 's|^HOSTNAME=.*|HOSTNAME=`${hostname}/bin/hostname`|g' \
                "$file"
     done
   '';
diff --git a/pkgs/servers/asterisk/default.nix b/pkgs/servers/asterisk/default.nix
index c6cd9f3df4c..10ffa918e5b 100644
--- a/pkgs/servers/asterisk/default.nix
+++ b/pkgs/servers/asterisk/default.nix
@@ -18,10 +18,6 @@ let
       # This patch changes the runtime behavior to look for state
       # directories in /var rather than ${out}/var.
       ./runtime-vardirs.patch
-      (fetchpatch {
-         url = "http://sources.debian.net/data/main/a/asterisk/1:13.14.1~dfsg-1/debian/patches/pjsip_unresolved_symbol.patch";
-         sha256 = "0i6a6zplvzbjcvxqlmr87jmrfza7c3qx0rlym2nlmzzp2m7qpnfp";
-      })
     ];
 
     # Disable MD5 verification for pjsip
@@ -73,9 +69,9 @@ let
     };
   };
 
-  pjproject-26 = fetchurl {
-    url = http://www.pjsip.org/release/2.6/pjproject-2.6.tar.bz2;
-    sha256 = "1d67c58jn22f7h6smkykk5vwl3sqpc7xi2vm3j3lbn3lq6hisnig";
+  pjproject-27 = fetchurl {
+    url = http://www.pjsip.org/release/2.7.1/pjproject-2.7.1.tar.bz2;
+    sha256 = "09ii5hgl5s7grx4fiimcl3s77i385h7b3kwpfa2q0arbl1ibryjr";
   };
 
   mp3-202 = fetchsvn {
@@ -88,19 +84,19 @@ in
 {
 
   asterisk-lts = common {
-    version = "13.17.1";
-    sha256 = "0d7vqpkz0wv8d17vi7qxs9j7dbqwf4n80s411qva030hljcmdqdf";
+    version = "13.20.0";
+    sha256 = "a3d6d953f844867ea11e0be22ee6225049cd4f5870df6ab23454623bcfbc94d5";
     externals = {
-      "externals_cache/pjproject-2.6.tar.bz2" = pjproject-26;
+      "externals_cache/pjproject-2.7.1.tar.bz2" = pjproject-27;
       "addons/mp3" = mp3-202;
     };
   };
 
   asterisk-stable = common {
-    version = "14.6.1";
-    sha256 = "0xg26p8rx9gw1ym9xdnpxr7bqp0kp76afy7f4ywmh25ki41inz08";
+    version = "15.3.0";
+    sha256 = "f424f89f23b72f267ff9baab82d449bebbbf00c54e54fcd06b8fca13788b012c";
     externals = {
-      "externals_cache/pjproject-2.6.tar.bz2" = pjproject-26;
+      "externals_cache/pjproject-2.7.1.tar.bz2" = pjproject-27;
       "addons/mp3" = mp3-202;
     };
   };
diff --git a/pkgs/servers/atlassian/jira.nix b/pkgs/servers/atlassian/jira.nix
index b90e68ed3bc..fd34c1f4385 100644
--- a/pkgs/servers/atlassian/jira.nix
+++ b/pkgs/servers/atlassian/jira.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   name = "atlassian-jira-${version}";
-  version = "7.7.0";
+  version = "7.9.0";
 
   src = fetchurl {
     url = "https://downloads.atlassian.com/software/jira/downloads/atlassian-jira-software-${version}.tar.gz";
-    sha256 = "1np1zf6yxras15ambf92g8snnvph9pp2dk4yw6w58yfil5kzp70l";
+    sha256 = "1xj04a78dhjzb2ms875lfg5s3qc8rw31fws92yhmbs0k1866g33b";
   };
 
   phases = [ "unpackPhase" "buildPhase" "installPhase" "fixupPhase" ];
diff --git a/pkgs/servers/bird/default.nix b/pkgs/servers/bird/default.nix
index ba29bfa433a..94bd92abb4f 100644
--- a/pkgs/servers/bird/default.nix
+++ b/pkgs/servers/bird/default.nix
@@ -48,7 +48,7 @@ in
   };
 
   bird2 = generic {
-    version = "2.0.1";
-    sha256 = "0qyh2cxj7hfz90x3fnczjdm3i9g7vr0nc4l4wjkj9qm0646vc52n";
+    version = "2.0.2";
+    sha256 = "03s8hcl761y3489j1krarm3r3iy5qid26508i91yvy38ypb92pq3";
   };
 }
diff --git a/pkgs/servers/caddy/default.nix b/pkgs/servers/caddy/default.nix
index ad8aeadeff0..d89e59d662e 100644
--- a/pkgs/servers/caddy/default.nix
+++ b/pkgs/servers/caddy/default.nix
@@ -2,7 +2,7 @@
 
 buildGoPackage rec {
   name = "caddy-${version}";
-  version = "0.10.11";
+  version = "0.10.12";
 
   goPackagePath = "github.com/mholt/caddy";
 
@@ -12,7 +12,7 @@ buildGoPackage rec {
     owner = "mholt";
     repo = "caddy";
     rev = "v${version}";
-    sha256 = "04ls0s79dsyxnrpra55qvl0dk9nyvps59l034326r3bzk4jhb3q6";
+    sha256 = "0vmgswln72qqay73z39qn135sl5k71zlybr2jdrcjlmp4i7hrf88";
   };
 
   buildFlagsArray = ''
diff --git a/pkgs/servers/computing/slurm/default.nix b/pkgs/servers/computing/slurm/default.nix
index fe028cf812e..b0460f21bfa 100644
--- a/pkgs/servers/computing/slurm/default.nix
+++ b/pkgs/servers/computing/slurm/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   name = "slurm-${version}";
-  version = "17.11.3";
+  version = "17.11.5";
 
   src = fetchurl {
     url = "https://download.schedmd.com/slurm/${name}.tar.bz2";
-    sha256 = "1x3i6z03d9m46fvj1cslrapm1drvgyqch9pn4xf23kvbz4gkhaps";
+    sha256 = "07ghyyz12k4rksm06xf7dshwp1ndm13zphdbqja99401q4xwbx9r";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/pkgs/servers/computing/storm/default.nix b/pkgs/servers/computing/storm/default.nix
index 0219a1bf7ec..90c87f8019d 100644
--- a/pkgs/servers/computing/storm/default.nix
+++ b/pkgs/servers/computing/storm/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   name = "apache-storm-" + version;
-  version = "1.0.1";
+  version = "1.2.1";
   src = fetchurl {
     url =
     "mirror://apache/storm/${name}/${name}.tar.gz";
-    sha256 = "1gr00s0fhf8ci0faf3x5dinkiw9mlnc1x1vqki8cfszvij6w0x0m";
+    sha256 = "177dqgbviagrpvalg8h67mwiwwgmiqsg0hh97hcqqcjg71ypnjkv";
   };
 
   buildInputs = [ zip unzip jzmq ];
@@ -19,8 +19,7 @@ stdenv.mkDerivation rec {
     mv examples $out/share/${name}/.
 
     rm -f lib/jzmq* || exit 1
-    mv lib $out/.
-    mv external extlib* $out/lib/.
+    mv external extlib* lib $out/.
     mv conf bin $out/.
     mv log4j2 $out/conf/.
   '';
diff --git a/pkgs/servers/computing/torque/default.nix b/pkgs/servers/computing/torque/default.nix
index 9c4bc4bda73..35c830dff8a 100644
--- a/pkgs/servers/computing/torque/default.nix
+++ b/pkgs/servers/computing/torque/default.nix
@@ -16,6 +16,9 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
+  # added to fix build with gcc7
+  NIX_CFLAGS_COMPILE = [ "-fpermissive" ];
+
   preConfigure = ''
    substituteInPlace ./configure \
      --replace '/usr/bin/file' '${file}/bin/file'
diff --git a/pkgs/servers/dante/default.nix b/pkgs/servers/dante/default.nix
index ee139ea2652..1c093facde5 100644
--- a/pkgs/servers/dante/default.nix
+++ b/pkgs/servers/dante/default.nix
@@ -1,6 +1,6 @@
-{ stdenv, fetchurl }:
+{ stdenv, fetchurl, pam, libkrb5, cyrus_sasl, miniupnpc }:
 
-stdenv.mkDerivation (rec {
+stdenv.mkDerivation rec {
   name = "dante-${version}";
   version = "1.4.2";
 
@@ -9,15 +9,17 @@ stdenv.mkDerivation (rec {
     sha256 = "1bfafnm445afrmyxvvcl8ckq0p59yzykmr3y8qvryzrscd85g8ms";
   };
 
+  buildInputs = [ pam libkrb5 cyrus_sasl miniupnpc ];
+
   configureFlags = [
     "--with-libc=libc.so.6"
   ];
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "A circuit-level SOCKS client/server that can be used to provide convenient and secure network connectivity.";
     homepage    = "https://www.inet.no/dante/";
-    maintainers = [ stdenv.lib.maintainers.arobyn ];
-    license     = stdenv.lib.licenses.bsdOriginal;
-    platforms   = stdenv.lib.platforms.linux;
+    maintainers = [ maintainers.arobyn ];
+    license     = licenses.bsdOriginal;
+    platforms   = platforms.linux;
   };
-})
+}
diff --git a/pkgs/servers/dict/dictd-wordnet.nix b/pkgs/servers/dict/dictd-wordnet.nix
index 8bed7f160f7..13a78d61098 100644
--- a/pkgs/servers/dict/dictd-wordnet.nix
+++ b/pkgs/servers/dict/dictd-wordnet.nix
@@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
          the wordnet data available to dictd and by extension for lookup with
          the dict command. '';
 
-    homepage = http://wordnet.princeton.edu/;
+    homepage = https://wordnet.princeton.edu/;
 
     maintainers = [ ];
     platforms = stdenv.lib.platforms.all;
diff --git a/pkgs/servers/dns/bind/default.nix b/pkgs/servers/dns/bind/default.nix
index c0176db1576..1aa487055e2 100644
--- a/pkgs/servers/dns/bind/default.nix
+++ b/pkgs/servers/dns/bind/default.nix
@@ -1,16 +1,19 @@
 { stdenv, lib, fetchurl, openssl, libtool, perl, libxml2
-, enableSeccomp ? false, libseccomp ? null }:
+, enablePython ? false, python3 ? null
+, enableSeccomp ? false, libseccomp ? null, buildPackages
+}:
 
 assert enableSeccomp -> libseccomp != null;
+assert enablePython -> python3 != null;
 
-let version = "9.12.0"; in
+let version = "9.12.1"; in
 
 stdenv.mkDerivation rec {
   name = "bind-${version}";
 
   src = fetchurl {
     url = "http://ftp.isc.org/isc/bind9/${version}/${name}.tar.gz";
-    sha256 = "10iwkghl5g50b7wc17bsb9wa0dh2gd57bjlk6ynixhywz6dhx1r9";
+    sha256 = "043mjcw405qa0ghm5dkhfsq35gsy279724fz3mjqpr1mbi14dr0n";
   };
 
   outputs = [ "out" "lib" "dev" "man" "dnsutils" "host" ];
@@ -19,16 +22,20 @@ stdenv.mkDerivation rec {
     stdenv.lib.optional stdenv.isDarwin ./darwin-openssl-linking-fix.patch;
 
   nativeBuildInputs = [ perl ];
-  buildInputs = [ openssl libtool libxml2 ] ++
-    stdenv.lib.optional enableSeccomp libseccomp;
+  buildInputs = [ openssl libtool libxml2 ]
+    ++ lib.optional enableSeccomp libseccomp
+    ++ lib.optional enablePython python3;
 
   STD_CDEFINES = [ "-DDIG_SIGCHASE=1" ]; # support +sigchase
 
+  depsBuildBuild = [ buildPackages.stdenv.cc ];
+
   configureFlags = [
     "--localstatedir=/var"
     "--with-libtool"
     "--with-libxml2=${libxml2.dev}"
     "--with-openssl=${openssl.dev}"
+    (if enablePython then "--with-python" else "--without-python")
     "--without-atf"
     "--without-dlopen"
     "--without-docbook-xsl"
@@ -38,7 +45,11 @@ stdenv.mkDerivation rec {
     "--without-lmdb"
     "--without-pkcs11"
     "--without-purify"
-    "--without-python"
+    "--with-randomdev=/dev/random"
+    "--with-ecdsa"
+    "--with-gost"
+    "--without-eddsa"
+    "--with-aes"
   ] ++ lib.optional enableSeccomp "--enable-seccomp";
 
   postInstall = ''
@@ -56,6 +67,8 @@ stdenv.mkDerivation rec {
     done
   '';
 
+  doCheck = false; # requires root and the net
+
   meta = {
     homepage = http://www.isc.org/software/bind;
     description = "Domain name server";
diff --git a/pkgs/servers/dns/dnsdist/default.nix b/pkgs/servers/dns/dnsdist/default.nix
new file mode 100644
index 00000000000..7369713dc86
--- /dev/null
+++ b/pkgs/servers/dns/dnsdist/default.nix
@@ -0,0 +1,34 @@
+{ stdenv, fetchurl, pkgconfig, systemd
+, boost, libsodium, libedit, re2
+, net_snmp, lua, protobuf, openssl }: stdenv.mkDerivation rec {
+  name = "dnsdist-${version}";
+  version = "1.3.0";
+
+  src = fetchurl {
+    url = "https://downloads.powerdns.com/releases/dnsdist-${version}.tar.bz2";
+    sha256 = "025sgvpi3ps0n4mzfwkk6a5ang90a3c7s2fi9vni6jj0p16wsrxa";
+  };
+
+  nativeBuildInputs = [ pkgconfig ];
+  buildInputs = [ systemd boost libsodium libedit re2 net_snmp lua protobuf openssl ];
+
+  configureFlags = [
+    "--enable-libsodium"
+    "--enable-re2"
+    "--enable-dnscrypt"
+    "--enable-dns-over-tls"
+    "--with-protobuf=yes"
+    "--with-net-snmp"
+    "--disable-dependency-tracking"
+    "--enable-unit-tests"
+    "--enable-systemd"
+  ];
+
+  doCheck = true;
+
+  meta = with stdenv.lib; {
+    description = "DNS Loadbalancer";
+    homepage = "https://dnsdist.org";
+    license = licenses.gpl2;
+  };
+}
diff --git a/pkgs/servers/dns/knot-dns/default.nix b/pkgs/servers/dns/knot-dns/default.nix
index a47d3106443..88fa07009f8 100644
--- a/pkgs/servers/dns/knot-dns/default.nix
+++ b/pkgs/servers/dns/knot-dns/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, pkgconfig, gnutls, liburcu, lmdb, libcap_ng, libidn
-, systemd, nettle, libedit, zlib, libiconv, libintlOrEmpty
+, systemd, nettle, libedit, zlib, libiconv, libintl
 }:
 
 let inherit (stdenv.lib) optional optionals; in
@@ -7,11 +7,11 @@ let inherit (stdenv.lib) optional optionals; in
 # Note: ATM only the libraries have been tested in nixpkgs.
 stdenv.mkDerivation rec {
   name = "knot-dns-${version}";
-  version = "2.6.5";
+  version = "2.6.6";
 
   src = fetchurl {
     url = "http://secure.nic.cz/files/knot-dns/knot-${version}.tar.xz";
-    sha256 = "33cd676706e2baeb37cf3879ccbc91a1e1cd1ee5d7a082adff4d1e753ce49d46";
+    sha256 = "02h8qdkja4kic3br79svws6r2pq1ijz945238v99d998d2jxh6ci";
   };
 
   outputs = [ "bin" "out" "dev" ];
@@ -20,11 +20,10 @@ stdenv.mkDerivation rec {
   buildInputs = [
     gnutls liburcu libidn
     nettle libedit
-    libiconv lmdb
+    libiconv lmdb libintl
     # without sphinx &al. for developer documentation
   ]
     ++ optionals stdenv.isLinux [ libcap_ng systemd ]
-    ++ libintlOrEmpty
     ++ optional stdenv.isDarwin zlib; # perhaps due to gnutls
 
   enableParallelBuilding = true;
@@ -33,7 +32,7 @@ stdenv.mkDerivation rec {
 
   #doCheck = true; problems in combination with dynamic linking
 
-  postInstall = ''rm -r "$out"/var'';
+  postInstall = ''rm -r "$out"/var "$out"/lib/*.la'';
 
   meta = with stdenv.lib; {
     description = "Authoritative-only DNS server from .cz domain registry";
@@ -43,4 +42,3 @@ stdenv.mkDerivation rec {
     maintainers = [ maintainers.vcunat ];
   };
 }
-
diff --git a/pkgs/servers/dns/knot-resolver/default.nix b/pkgs/servers/dns/knot-resolver/default.nix
index a222805fc45..1a5577e8165 100644
--- a/pkgs/servers/dns/knot-resolver/default.nix
+++ b/pkgs/servers/dns/knot-resolver/default.nix
@@ -12,16 +12,16 @@ inherit (stdenv.lib) optional optionals optionalString concatStringsSep;
 
 unwrapped = stdenv.mkDerivation rec {
   name = "knot-resolver-${version}";
-  version = "2.1.1";
+  version = "2.3.0";
 
   src = fetchurl {
     url = "http://secure.nic.cz/files/knot-resolver/${name}.tar.xz";
-    sha256 = "0b9caee03d7cd30e1dc8fa0ce5fafade31fc1785314986bbf77cad446522a1b3";
+    sha256 = "2d19c5daf8440bd3d2acd1886b9ede65f04f7753c6fd4618a92a1a4ba3b27a9b";
   };
 
   outputs = [ "out" "dev" ];
 
-  configurePhase = ":";
+  configurePhase = "patchShebangs scripts/";
 
   nativeBuildInputs = [ pkgconfig which hexdump ];
 
diff --git a/pkgs/servers/dns/pdns-recursor/default.nix b/pkgs/servers/dns/pdns-recursor/default.nix
index 25b333a4618..76f1bd91e33 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.1";
+  version = "4.1.2";
 
   src = fetchurl {
     url = "https://downloads.powerdns.com/releases/pdns-recursor-${version}.tar.bz2";
-    sha256 = "0srrw726qpwg69v75dwbxab9hk73x1wia4rcnmf7g5qr2k3h7swg";
+    sha256 = "0xpd8k7ahwrwabz05zbjmg54dmd4hm5hkbfn8m1ws6y4f7qm4inv";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/servers/dns/powerdns/default.nix b/pkgs/servers/dns/powerdns/default.nix
index cde2fe1a426..0ef24a97f88 100644
--- a/pkgs/servers/dns/powerdns/default.nix
+++ b/pkgs/servers/dns/powerdns/default.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   name = "powerdns-${version}";
-  version = "4.1.1";
+  version = "4.1.2";
 
   src = fetchurl {
     url = "http://downloads.powerdns.com/releases/pdns-${version}.tar.bz2";
-    sha256 = "1fh4zgj0gxgcnnhnih8k6fbw18hb9brkkrfpx3mj8b4a3hr8ilq8";
+    sha256 = "15anf9x4h3acf7rhvaim4595v2hrz7mn4va9qv18bfnif40vxn46";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/servers/emby/default.nix b/pkgs/servers/emby/default.nix
index 12c475bfc28..f781e1114eb 100644
--- a/pkgs/servers/emby/default.nix
+++ b/pkgs/servers/emby/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "emby-${version}";
-  version = "3.2.70.0";
+  version = "3.4.1.0";
 
   src = fetchurl {
     url = "https://github.com/MediaBrowser/Emby/releases/download/${version}/Emby.Mono.zip";
-    sha256 = "051mbzh1igcbda43n14aijbvhhh98rqw8i13f06xqsm67afrjjcv";
+    sha256 = "08jr6v8xhmiwbby0lfvpjrlma280inwh5qp6v4p93lzd07fjynh5";
   };
 
   buildInputs = with pkgs; [
diff --git a/pkgs/servers/fcgiwrap/default.nix b/pkgs/servers/fcgiwrap/default.nix
index 84c24e68478..a1ec3a7deb0 100644
--- a/pkgs/servers/fcgiwrap/default.nix
+++ b/pkgs/servers/fcgiwrap/default.nix
@@ -9,6 +9,7 @@ stdenv.mkDerivation rec {
     sha256 = "07y6s4mm86cv7p1ljz94sxnqa89y9amn3vzwsnbq5hrl4vdy0zac";
   };
 
+  NIX_CFLAGS_COMPILE = "-Wno-error=implicit-fallthrough";
   configureFlags = [ "--with-systemd" "--with-systemdsystemunitdir=$(out)/etc/systemd/system" ];
 
   nativeBuildInputs = [ autoreconfHook pkgconfig ];
diff --git a/pkgs/servers/firebird/default.nix b/pkgs/servers/firebird/default.nix
index da54936092b..24ed1dffd4d 100644
--- a/pkgs/servers/firebird/default.nix
+++ b/pkgs/servers/firebird/default.nix
@@ -82,7 +82,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "SQL relational database management system";
-    homepage = http://www.firebirdnews.org;
+    homepage = https://www.firebirdnews.org;
     license = ["IDPL" "Interbase-1.0"];
     maintainers = [stdenv.lib.maintainers.marcweber];
     platforms = stdenv.lib.platforms.linux;
diff --git a/pkgs/servers/fleet/default.nix b/pkgs/servers/fleet/default.nix
deleted file mode 100644
index 98daab253b3..00000000000
--- a/pkgs/servers/fleet/default.nix
+++ /dev/null
@@ -1,37 +0,0 @@
-{ stdenv, lib, go, fetchFromGitHub }:
-
-stdenv.mkDerivation rec {
-  name = "fleet-${version}";
-  version = "1.0.0";
-
-  src = fetchFromGitHub {
-    owner = "coreos";
-    repo = "fleet";
-    rev = "v${version}";
-    sha256 = "0j48ajz19aqfzv9iyznnn39aw51y1nqcl270grmvi5cbqycmrfm0";
-  };
-
-  buildInputs = [ go ];
-
-  buildPhase = ''
-    patchShebangs build
-    ./build
-  '';
-
-  installPhase = ''
-    mkdir -p $out
-    mv bin $out
-  '';
-
-  meta = with stdenv.lib; {
-    description = "A distributed init system";
-    homepage = https://coreos.com/using-coreos/clustering/;
-    license = licenses.asl20;
-    maintainers = with maintainers; [
-      cstrahan
-      jgeerds
-      offline
-    ];
-    platforms = platforms.unix;
-  };
-}
diff --git a/pkgs/servers/foundationdb/default.nix b/pkgs/servers/foundationdb/default.nix
new file mode 100644
index 00000000000..5ebb510be46
--- /dev/null
+++ b/pkgs/servers/foundationdb/default.nix
@@ -0,0 +1,129 @@
+{ stdenv, fetchurl, fetchFromGitHub
+, which, findutils, m4, gawk
+, python, openjdk, mono58, libressl_2_6
+, boost16x
+}:
+
+let
+  makeFdb =
+    { version
+    , branch
+    , rev, sha256
+
+    # fdb 6.0+ support boost 1.6x+, so default to it
+    , boost ? boost16x
+    }: stdenv.mkDerivation rec {
+        name = "foundationdb-${version}";
+        inherit version;
+
+        src = fetchFromGitHub {
+          owner = "apple";
+          repo  = "foundationdb";
+          inherit rev sha256;
+        };
+
+        nativeBuildInputs = [ gawk which m4 findutils mono58 ];
+        buildInputs = [ python openjdk libressl_2_6 boost ];
+
+        patches =
+          [ ./fix-scm-version.patch
+            ./ldflags.patch
+          ];
+
+        postPatch = ''
+          substituteInPlace ./build/scver.mk \
+            --subst-var-by NIXOS_FDB_VERSION_ID "${rev}" \
+            --subst-var-by NIXOS_FDB_SCBRANCH   "${branch}"
+
+          substituteInPlace ./Makefile \
+            --replace 'shell which ccache' 'shell true' \
+            --replace -Werror ""
+
+          substituteInPlace ./Makefile \
+            --replace libstdc++_pic libstdc++
+
+          substituteInPlace ./build/link-validate.sh \
+            --replace 'exit 1' '#exit 1'
+
+          patchShebangs .
+        '';
+
+        enableParallelBuilding = true;
+        makeFlags = [ "all" "fdb_c" "fdb_java" "KVRELEASE=1" ];
+
+        configurePhase = ":";
+        installPhase = ''
+          mkdir -vp $out/{bin,libexec/plugins} $lib/{lib,share/java} $dev/include/foundationdb
+
+          cp -v ./lib/libfdb_c.so     $lib/lib
+          cp -v ./lib/libFDBLibTLS.so $out/libexec/plugins/FDBLibTLS.so
+
+          cp -v ./bindings/c/foundationdb/fdb_c.h           $dev/include/foundationdb
+          cp -v ./bindings/c/foundationdb/fdb_c_options.g.h $dev/include/foundationdb
+
+          cp -v ./bindings/java/foundationdb-client.jar     $lib/share/java/fdb-java.jar
+
+          for x in fdbbackup fdbcli fdbserver fdbmonitor; do
+            cp -v "./bin/$x" $out/bin;
+          done
+
+          ln -sfv $out/bin/fdbbackup $out/bin/dr_agent
+          ln -sfv $out/bin/fdbbackup $out/bin/fdbrestore
+          ln -sfv $out/bin/fdbbackup $out/bin/fdbdr
+
+          ln -sfv $out/bin/fdbbackup $out/libexec/backup_agent
+        '';
+
+        outputs = [ "out" "lib" "dev" ];
+
+        meta = with stdenv.lib; {
+          description = "Open source, distributed, transactional key-value store";
+          homepage    = https://www.foundationdb.org;
+          license     = licenses.asl20;
+          platforms   = platforms.linux;
+          maintainers = with maintainers; [ thoughtpolice ];
+       };
+    };
+
+  # hysterical raisins dictate a version of boost this old. however,
+  # we luckily do not need to build anything, we just need the header
+  # files.
+  boost152 = stdenv.mkDerivation rec {
+    name = "boost-headers-1.52.0";
+
+    src = fetchurl {
+      url = "mirror://sourceforge/boost/boost_1_52_0.tar.bz2";
+      sha256 = "14mc7gsnnahdjaxbbslzk79rc0d12h1i681cd3srdwr3fzynlar2";
+    };
+
+    configurePhase = ":";
+    buildPhase = ":";
+    installPhase = "mkdir -p $out/include && cp -R boost $out/include/";
+  };
+
+in with builtins; {
+
+  foundationdb51 = makeFdb {
+    version = "5.1.7";
+    branch  = "release-5.1";
+    rev     = "9ad8d02386d4a6a5efecf898df80f2747695c627";
+    sha256  = "1rc472ih24f9s5g3xmnlp3v62w206ny0pvvw02bzpix2sdrpbp06";
+    boost   = boost152;
+  };
+
+  foundationdb52 = makeFdb rec {
+    version = "5.2.0pre1488_${substring 0 8 rev}";
+    branch  = "master";
+    rev     = "18f345487ed8d90a5c170d813349fa625cf05b4e";
+    sha256  = "0mz30fxj6q99cvjzg39s5zm992i6h2l2cb70lc58bdhsz92dz3vc";
+    boost   = boost152;
+  };
+
+  foundationdb60 = makeFdb rec {
+    version = "6.0.0pre1636_${substring 0 8 rev}";
+    branch  = "master";
+    rev     = "1265a7b6d5e632dd562b3012e70f0727979806bd";
+    sha256  = "0z1i5bkbszsbn8cc48rlhr29m54n2s0gq3dln0n7f97gf58mi5yf";
+  };
+
+}
diff --git a/pkgs/servers/foundationdb/fix-scm-version.patch b/pkgs/servers/foundationdb/fix-scm-version.patch
new file mode 100644
index 00000000000..0e0df7ade82
--- /dev/null
+++ b/pkgs/servers/foundationdb/fix-scm-version.patch
@@ -0,0 +1,42 @@
+diff --git a/build/scver.mk b/build/scver.mk
+index bdae8be..7539864 100644
+--- a/build/scver.mk
++++ b/build/scver.mk
+@@ -98,33 +98,10 @@ endif
+ GITPRESENT := $(wildcard $(FDBDIR)/.git)
+ HGPRESENT := $(wildcard $(FDBDIR)/.hg)
+ 
+-# Use Git, if not missing
+-ifneq ($(GITPRESENT),)
+-	SCVER := $(shell cd "$(FDBDIR)" && git --version 2>/dev/null)
+-	ifneq ($(SCVER),)
+-		VERSION_ID := $(shell cd "$(FDBDIR)" && git rev-parse --verify HEAD)
+-		SOURCE_CONTROL := GIT
+-		SCBRANCH := $(shell cd "$(FDBDIR)" && git rev-parse --abbrev-ref HEAD)
+-	else
+-$(error Missing git executable on $(PLATFORM) )
+-	endif
+-# Otherwise, use Mercurial
+-else
+-	# Otherwise, use Mercurial, if not missing
+-	ifneq ($(HGPRESENT),)
+-		SCVER := $(shell cd "$(FDBDIR)" && hg --version 2>/dev/null)
+-		ifdef SCVER
+-			VERSION_ID := $(shell cd "$(FDBDIR)" && hg id -n)
+-			SOURCE_CONTROL := MERCURIAL
+-			SCBRANCH := $(shell cd "$(FDBDIR)" && hg branch)
+-		else
+-$(error Missing hg executable on $(PLATFORM))
+-		endif
+-	else
+-	FDBFILES := (shell ls -la $(FDBDIR))
+-$(error Missing source control information for source on $(PLATFORM) in directory: $(FDBDIR) with files: $(FDBFILES))
+-	endif
+-endif
++# NixOS-specific non-VCS packaging, filled out by the nix build
++SOURCE_CONTROL := GIT
++VERSION_ID     := @NIXOS_FDB_VERSION_ID@
++SCBRANCH       := @NIXOS_FDB_SCBRANCH@
+ 
+ # Set the RELEASE variable based on the KVRELEASE variable.
+ ifeq ($(KVRELEASE),1)
diff --git a/pkgs/servers/foundationdb/ldflags.patch b/pkgs/servers/foundationdb/ldflags.patch
new file mode 100644
index 00000000000..4d523a7ecdd
--- /dev/null
+++ b/pkgs/servers/foundationdb/ldflags.patch
@@ -0,0 +1,90 @@
+diff --git a/FDBLibTLS/local.mk b/FDBLibTLS/local.mk
+index 0b6eac8..b1891ca 100644
+--- a/FDBLibTLS/local.mk
++++ b/FDBLibTLS/local.mk
+@@ -1,6 +1,5 @@
+ FDBLibTLS_CFLAGS := -fPIC -I/usr/local/include -I$(BOOSTDIR)
+-FDBLibTLS_STATIC_LIBS := -ltls -lssl -lcrypto
+-FDBLibTLS_LDFLAGS := -L/usr/local/lib -static-libstdc++ -static-libgcc -lrt
++FDBLibTLS_LDFLAGS := -L/usr/local/lib -static-libstdc++ -static-libgcc -lrt -ltls -lssl -lcrypto
+ FDBLibTLS_LDFLAGS += -Wl,-soname,FDBLibTLS.so -Wl,--version-script=FDBLibTLS/FDBLibTLS.map
+ 
+ # The plugin isn't a typical library, so it feels more sensible to have a copy
+diff --git a/bindings/c/local.mk b/bindings/c/local.mk
+index 44f0c31..7aea5a4 100644
+--- a/bindings/c/local.mk
++++ b/bindings/c/local.mk
+@@ -29,8 +29,8 @@ fdb_c_tests_HEADERS := -Ibindings/c
+ CLEAN_TARGETS += fdb_c_tests_clean
+ 
+ ifeq ($(PLATFORM),linux)
+-  fdb_c_LIBS += lib/libstdc++.a -lm -lpthread -lrt -ldl
+-  fdb_c_LDFLAGS += -Wl,--version-script=bindings/c/fdb_c.map -static-libgcc -Wl,-z,nodelete
++  fdb_c_LIBS += lib/libstdc++.a
++  fdb_c_LDFLAGS += -Wl,--version-script=bindings/c/fdb_c.map -static-libgcc -Wl,-z,nodelete -lm -lpthread -lrt -ldl
+   fdb_c_tests_LIBS += -lpthread
+ endif
+ 
+diff --git a/bindings/flow/tester/local.mk b/bindings/flow/tester/local.mk
+index 2ef4fcb..6e59625 100644
+--- a/bindings/flow/tester/local.mk
++++ b/bindings/flow/tester/local.mk
+@@ -35,8 +35,7 @@ _fdb_flow_tester_clean:
+ 	@rm -rf bindings/flow/bin
+ 
+ ifeq ($(PLATFORM),linux)
+-  fdb_flow_tester_LIBS += -ldl -lpthread -lrt
+-  fdb_flow_tester_LDFLAGS += -static-libstdc++ -static-libgcc
++  fdb_flow_tester_LDFLAGS += -static-libstdc++ -static-libgcc -ldl -lpthread -lrt
+ else ifeq ($(PLATFORM),osx)
+   fdb_flow_tester_LDFLAGS += -lc++
+ endif
+diff --git a/fdbbackup/local.mk b/fdbbackup/local.mk
+index 033fe7d..865fc92 100644
+--- a/fdbbackup/local.mk
++++ b/fdbbackup/local.mk
+@@ -25,8 +25,7 @@ fdbbackup_LDFLAGS := $(fdbrpc_LDFLAGS)
+ fdbbackup_LIBS := lib/libfdbclient.a lib/libfdbrpc.a lib/libflow.a
+ 
+ ifeq ($(PLATFORM),linux)
+-  fdbbackup_LIBS += -ldl -lpthread -lrt
+-  fdbbackup_LDFLAGS += -static-libstdc++ -static-libgcc
++  fdbbackup_LDFLAGS += -static-libstdc++ -static-libgcc -ldl -lpthread -lrt
+ 
+   # GPerfTools profiler (uncomment to use)
+   # fdbbackup_CFLAGS += -I/opt/gperftools/include -DUSE_GPERFTOOLS=1
+diff --git a/fdbcli/local.mk b/fdbcli/local.mk
+index 81a4a42..892c079 100644
+--- a/fdbcli/local.mk
++++ b/fdbcli/local.mk
+@@ -22,14 +22,13 @@
+ 
+ fdbcli_CFLAGS := $(fdbclient_CFLAGS)
+ fdbcli_LDFLAGS := $(fdbrpc_LDFLAGS)
+-fdbcli_LIBS := lib/libfdbclient.a lib/libfdbrpc.a lib/libflow.a -ldl
++fdbcli_LIBS := lib/libfdbclient.a lib/libfdbrpc.a lib/libflow.a
+ fdbcli_STATIC_LIBS :=
+ 
+ fdbcli_GENERATED_SOURCES += versions.h
+ 
+ ifeq ($(PLATFORM),linux)
+-  fdbcli_LDFLAGS += -static-libstdc++ -static-libgcc
+-  fdbcli_LIBS += -lpthread -lrt
++  fdbcli_LDFLAGS += -static-libstdc++ -static-libgcc -lpthread -lrt -ldl
+ else ifeq ($(PLATFORM),osx)
+   fdbcli_LDFLAGS += -lc++
+ endif
+diff --git a/fdbserver/local.mk b/fdbserver/local.mk
+index 78cad1b..36f2c0f 100644
+--- a/fdbserver/local.mk
++++ b/fdbserver/local.mk
+@@ -25,8 +25,7 @@ fdbserver_LDFLAGS := $(fdbrpc_LDFLAGS)
+ fdbserver_LIBS := lib/libfdbclient.a lib/libfdbrpc.a lib/libflow.a
+ 
+ ifeq ($(PLATFORM),linux)
+-  fdbserver_LIBS += -ldl -lpthread -lrt
+-  fdbserver_LDFLAGS += -static-libstdc++ -static-libgcc
++  fdbserver_LDFLAGS += -static-libstdc++ -static-libgcc -ldl -lpthread -lrt
+ 
+   # GPerfTools profiler (uncomment to use)
+   # fdbserver_CFLAGS += -I/opt/gperftools/include -DUSE_GPERFTOOLS=1
diff --git a/pkgs/servers/freeradius/default.nix b/pkgs/servers/freeradius/default.nix
index c6ec3d46dda..a3e83f4e069 100644
--- a/pkgs/servers/freeradius/default.nix
+++ b/pkgs/servers/freeradius/default.nix
@@ -40,11 +40,11 @@ assert withCollectd -> collectd != null;
 with stdenv.lib;
 stdenv.mkDerivation rec {
   name = "freeradius-${version}";
-  version = "3.0.16";
+  version = "3.0.17";
 
   src = fetchurl {
     url = "ftp://ftp.freeradius.org/pub/freeradius/freeradius-server-${version}.tar.gz";
-    sha256 = "062dw4ckaa7k2br16l3naz9dr7hvzqhpxdwam3klq1i44v4hvl1b";
+    sha256 = "0bc35knv46z729l4h22rirqns5v6jb0fzcffnjayhs8wjysfkfyy";
   };
 
   nativeBuildInputs = [ autoreconfHook ];
diff --git a/pkgs/servers/ftp/bftpd/default.nix b/pkgs/servers/ftp/bftpd/default.nix
index cc1582eb9e9..c35177e6aa9 100644
--- a/pkgs/servers/ftp/bftpd/default.nix
+++ b/pkgs/servers/ftp/bftpd/default.nix
@@ -1,24 +1,36 @@
-{stdenv, fetchurl}:
-stdenv.mkDerivation rec {
-  name = "${pname}-${version}";
+{ stdenv, fetchurl }:
+
+let
   pname = "bftpd";
-  version = "4.4";
-  # or fetchFromGitHub(owner,repo,rev) or fetchgit(rev)
+
+in stdenv.mkDerivation rec {
+  name = "${pname}-${version}";
+  version = "4.9";
+
   src = fetchurl {
     url = "mirror://sourceforge/project/${pname}/${pname}/${name}/${name}.tar.gz";
-    sha256 = "0hgpqwv7mj1yln8ps9bbcjhl5hvs02nxjfkk9nhkr6fysfyyn1dq";
+    sha256 = "13pjil9cjggpi773m0516lszyqvwzlgcrmmj8yn9nc24rbxwvn6d";
   };
-  buildInputs = [];
+
   preConfigure = ''
     sed -re 's/-[og] 0//g' -i Makefile*
   '';
-  meta = {
+
+  postInstall = ''
+    mkdir -p $out/share/doc/${pname}
+    mv $out/etc/*.conf $out/share/doc/${pname}
+    rm -rf $out/{etc,var}
+  '';
+
+  enableParallelBuilding = true;
+
+  meta = with stdenv.lib; {
     inherit version;
-    description = ''A minimal ftp server'';
-    license = stdenv.lib.licenses.gpl2Plus;
-    maintainers = [stdenv.lib.maintainers.raskin];
-    platforms = stdenv.lib.platforms.linux;
-    homepage = http://bftpd.sf.net/;
+    description = "A minimal ftp server";
     downloadPage = "http://bftpd.sf.net/download.html";
+    homepage = http://bftpd.sf.net/;
+    license = licenses.gpl2Plus;
+    maintainers = with maintainers; [ raskin ];
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/servers/ftp/pure-ftpd/default.nix b/pkgs/servers/ftp/pure-ftpd/default.nix
index 3728ee6c2a8..f41bb726a28 100644
--- a/pkgs/servers/ftp/pure-ftpd/default.nix
+++ b/pkgs/servers/ftp/pure-ftpd/default.nix
@@ -17,6 +17,6 @@ stdenv.mkDerivation rec {
     homepage = https://www.pureftpd.org;
     license = licenses.isc; # with some parts covered by BSD3(?)
     maintainers = [ maintainers.lethalman ];
-    platforms = platforms.unix;
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/servers/gpm/default.nix b/pkgs/servers/gpm/default.nix
index 6096aa1ed74..3cb0d3931db 100644
--- a/pkgs/servers/gpm/default.nix
+++ b/pkgs/servers/gpm/default.nix
@@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
   name = "gpm-1.20.7";
 
   src = fetchurl {
-    url = "http://www.nico.schottelius.org/software/gpm/archives/${name}.tar.bz2";
+    url = "https://www.nico.schottelius.org/software/gpm/archives/${name}.tar.bz2";
     sha256 = "13d426a8h403ckpc8zyf7s2p5rql0lqbg2bv0454x0pvgbfbf4gh";
   };
 
@@ -38,7 +38,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with stdenv.lib; {
-    homepage = http://www.nico.schottelius.org/software/gpm/;
+    homepage = https://www.nico.schottelius.org/software/gpm/;
     description = "A daemon that provides mouse support on the Linux console";
     license = licenses.gpl2;
     platforms = platforms.linux ++ platforms.cygwin;
diff --git a/pkgs/servers/hitch/default.nix b/pkgs/servers/hitch/default.nix
new file mode 100644
index 00000000000..366934829b8
--- /dev/null
+++ b/pkgs/servers/hitch/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchurl, docutils, libev, openssl, pkgconfig }:
+stdenv.mkDerivation rec {
+  version = "1.4.8";
+  name = "hitch-${version}";
+
+  src = fetchurl {
+    url = "https://hitch-tls.org/source/${name}.tar.gz";
+    sha256 = "1hqs5p69gr1lb3xldbrgq7d6d0vk4za0wpizlzybn98cv68acaym";
+  };
+
+  nativeBuildInputs = [ pkgconfig ];
+  buildInputs = [ docutils libev openssl ];
+
+  outputs = [ "out" "doc" "man" ];
+
+  meta = with stdenv.lib; {
+    description = "Hitch is a libev-based high performance SSL/TLS proxy by Varnish Software";
+    homepage = https://hitch-tls.org/;
+    license = licenses.bsd2;
+    maintainers = [ maintainers.jflanglois ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/servers/home-assistant/appdaemon.nix b/pkgs/servers/home-assistant/appdaemon.nix
new file mode 100644
index 00000000000..49313179503
--- /dev/null
+++ b/pkgs/servers/home-assistant/appdaemon.nix
@@ -0,0 +1,57 @@
+{ lib, python3, fetchpatch }:
+
+let
+  python = python3.override {
+    packageOverrides = self: super: {
+
+      aiohttp = super.aiohttp.overridePythonAttrs (oldAttrs: rec {
+        version = "2.3.10";
+        src = oldAttrs.src.override {
+          inherit version;
+          sha256 = "8adda6583ba438a4c70693374e10b60168663ffa6564c5c75d3c7a9055290964";
+        };
+      });
+
+      yarl = super.yarl.overridePythonAttrs (oldAttrs: rec {
+        version = "1.1.0";
+        src = oldAttrs.src.override {
+          inherit version;
+          sha256 = "6af895b45bd49254cc309ac0fe6e1595636a024953d710e01114257736184698";
+        };
+      });
+
+      aiohttp-jinja2 = super.aiohttp-jinja2.overridePythonAttrs (oldAttrs: rec {
+        version = "0.15.0";
+        src = oldAttrs.src.override {
+          inherit version;
+          sha256 = "0f390693f46173d8ffb95669acbb0e2a3ec54ecce676703510ad47f1a6d9dc83";
+        };
+      });
+
+    };
+  };
+
+in python.pkgs.buildPythonApplication rec {
+  pname = "appdaemon";
+  version = "3.0.1";
+
+  src = python.pkgs.fetchPypi {
+    inherit pname version;
+    sha256 = "ad16773da21e34e258970bf5740d1634a36c8202ac72c6925d960308ef1c58cf";
+  };
+
+  propagatedBuildInputs = with python.pkgs; [
+    aiohttp aiohttp-jinja2 astral bcrypt daemonize feedparser iso8601
+    jinja2 pyyaml requests sseclient voluptuous websocket_client yarl
+  ];
+
+  # no tests implemented
+  doCheck = false;
+
+  meta = with lib; {
+    description = "Sandboxed python execution environment for writing automation apps for Home Assistant";
+    homepage = https://github.com/home-assistant/appdaemon;
+    license = licenses.mit;
+    maintainers = with maintainers; [ peterhoeg dotlambda ];
+  };
+}
diff --git a/pkgs/servers/home-assistant/component-packages.nix b/pkgs/servers/home-assistant/component-packages.nix
index 2b031f33555..8d6c6cfaeaf 100644
--- a/pkgs/servers/home-assistant/component-packages.nix
+++ b/pkgs/servers/home-assistant/component-packages.nix
@@ -2,13 +2,12 @@
 # Do not edit!
 
 {
-  version = "0.63.3";
+  version = "0.69.1";
   components = {
     "abode" = ps: with ps; [  ];
     "ads" = ps: with ps; [  ];
     "alarm_control_panel.alarmdotcom" = ps: with ps; [  ];
     "alarm_control_panel.concord232" = ps: with ps; [  ];
-    "alarm_control_panel.egardia" = ps: with ps; [  ];
     "alarm_control_panel.ialarm" = ps: with ps; [  ];
     "alarm_control_panel.nx584" = ps: with ps; [  ];
     "alarm_control_panel.simplisafe" = ps: with ps; [  ];
@@ -21,6 +20,7 @@
     "arduino" = ps: with ps; [  ];
     "arlo" = ps: with ps; [  ];
     "asterisk_mbox" = ps: with ps; [  ];
+    "august" = ps: with ps; [  ];
     "axis" = ps: with ps; [  ];
     "bbb_gpio" = ps: with ps; [  ];
     "binary_sensor.concord232" = ps: with ps; [  ];
@@ -32,10 +32,12 @@
     "binary_sensor.trend" = ps: with ps; [ numpy ];
     "binary_sensor.workday" = ps: with ps; [  ];
     "blink" = ps: with ps; [  ];
+    "bmw_connected_drive" = ps: with ps; [  ];
     "calendar.caldav" = ps: with ps; [  ];
     "calendar.todoist" = ps: with ps; [ todoist ];
     "camera.foscam" = ps: with ps; [  ];
     "camera.onvif" = ps: with ps; [  ];
+    "camera.proxy" = ps: with ps; [ pillow ];
     "camera.synology" = ps: with ps; [  ];
     "camera.uvc" = ps: with ps; [  ];
     "camera.xeoma" = ps: with ps; [  ];
@@ -43,7 +45,7 @@
     "climate.daikin" = ps: with ps; [  ];
     "climate.econet" = ps: with ps; [  ];
     "climate.ephember" = ps: with ps; [  ];
-    "climate.eq3btsmart" = ps: with ps; [  ];
+    "climate.eq3btsmart" = ps: with ps; [ construct ];
     "climate.flexit" = ps: with ps; [  ];
     "climate.heatmiser" = ps: with ps; [  ];
     "climate.honeywell" = ps: with ps; [  ];
@@ -53,10 +55,11 @@
     "climate.sensibo" = ps: with ps; [  ];
     "climate.touchline" = ps: with ps; [  ];
     "climate.venstar" = ps: with ps; [  ];
-    "cloud" = ps: with ps; [  ];
+    "cloud" = ps: with ps; [ warrant ];
     "coinbase" = ps: with ps; [  ];
     "comfoconnect" = ps: with ps; [  ];
-    "conversation" = ps: with ps; [  ];
+    "config.config_entries" = ps: with ps; [  ];
+    "cover.gogogate2" = ps: with ps; [  ];
     "cover.myq" = ps: with ps; [  ];
     "daikin" = ps: with ps; [  ];
     "datadog" = ps: with ps; [ datadog ];
@@ -68,7 +71,8 @@
     "device_tracker.bluetooth_le_tracker" = ps: with ps; [  ];
     "device_tracker.bluetooth_tracker" = ps: with ps; [  ];
     "device_tracker.cisco_ios" = ps: with ps; [ pexpect ];
-    "device_tracker.fritz" = ps: with ps; [  ];
+    "device_tracker.fritz" = ps: with ps; [ fritzconnection ];
+    "device_tracker.google_maps" = ps: with ps; [  ];
     "device_tracker.icloud" = ps: with ps; [  ];
     "device_tracker.linksys_ap" = ps: with ps; [ beautifulsoup4 ];
     "device_tracker.mikrotik" = ps: with ps; [  ];
@@ -82,6 +86,7 @@
     "device_tracker.unifi" = ps: with ps; [ pyunifi ];
     "device_tracker.unifi_direct" = ps: with ps; [ pexpect ];
     "device_tracker.upc_connect" = ps: with ps; [ defusedxml ];
+    "device_tracker.xiaomi_miio" = ps: with ps; [ construct ];
     "digital_ocean" = ps: with ps; [ digital-ocean ];
     "discovery" = ps: with ps; [ netdisco ];
     "dominos" = ps: with ps; [  ];
@@ -89,26 +94,33 @@
     "dweet" = ps: with ps; [  ];
     "dyson" = ps: with ps; [  ];
     "ecobee" = ps: with ps; [  ];
+    "egardia" = ps: with ps; [  ];
     "eight_sleep" = ps: with ps; [  ];
     "emulated_hue" = ps: with ps; [ aiohttp-cors ];
     "enocean" = ps: with ps; [  ];
     "envisalink" = ps: with ps; [  ];
-    "fan.xiaomi_miio" = ps: with ps; [  ];
+    "eufy" = ps: with ps; [  ];
+    "fan.xiaomi_miio" = ps: with ps; [ construct ];
     "feedreader" = ps: with ps; [ feedparser ];
-    "ffmpeg" = ps: with ps; [  ];
-    "frontend" = ps: with ps; [ user-agents ];
+    "ffmpeg" = ps: with ps; [ ha-ffmpeg ];
+    "folder_watcher" = ps: with ps; [ watchdog ];
+    "fritzbox" = ps: with ps; [  ];
+    "frontend" = ps: with ps; [  ];
     "gc100" = ps: with ps; [  ];
     "goalfeed" = ps: with ps; [  ];
     "google" = ps: with ps; [ google_api_python_client oauth2client ];
     "hdmi_cec" = ps: with ps; [  ];
     "hive" = ps: with ps; [  ];
+    "homekit" = ps: with ps; [  ];
+    "homekit_controller" = ps: with ps; [  ];
     "homematic" = ps: with ps; [ pyhomematic ];
+    "homematicip_cloud" = ps: with ps; [  ];
     "http" = ps: with ps; [ aiohttp-cors ];
-    "hue" = ps: with ps; [  ];
+    "hue" = ps: with ps; [ aiohue ];
     "ifttt" = ps: with ps; [  ];
     "ihc" = ps: with ps; [  ];
-    "image_processing.dlib_face_detect" = ps: with ps; [  ];
-    "image_processing.dlib_face_identify" = ps: with ps; [  ];
+    "image_processing.dlib_face_detect" = ps: with ps; [ face_recognition ];
+    "image_processing.dlib_face_identify" = ps: with ps; [ face_recognition ];
     "image_processing.opencv" = ps: with ps; [ numpy ];
     "influxdb" = ps: with ps; [ influxdb ];
     "insteon_local" = ps: with ps; [  ];
@@ -118,7 +130,7 @@
     "joaoapps_join" = ps: with ps; [  ];
     "juicenet" = ps: with ps; [  ];
     "keyboard" = ps: with ps; [  ];
-    "keyboard_remote" = ps: with ps; [  ];
+    "keyboard_remote" = ps: with ps; [ evdev ];
     "kira" = ps: with ps; [  ];
     "knx" = ps: with ps; [  ];
     "lametric" = ps: with ps; [  ];
@@ -134,13 +146,14 @@
     "light.lifx_legacy" = ps: with ps; [  ];
     "light.limitlessled" = ps: with ps; [  ];
     "light.mystrom" = ps: with ps; [  ];
+    "light.nanoleaf_aurora" = ps: with ps; [  ];
     "light.osramlightify" = ps: with ps; [  ];
     "light.piglow" = ps: with ps; [  ];
     "light.rpi_gpio_pwm" = ps: with ps; [  ];
     "light.sensehat" = ps: with ps; [  ];
     "light.tikteck" = ps: with ps; [  ];
     "light.tplink" = ps: with ps; [  ];
-    "light.xiaomi_miio" = ps: with ps; [  ];
+    "light.xiaomi_miio" = ps: with ps; [ construct ];
     "light.yeelight" = ps: with ps; [  ];
     "light.yeelightsunflower" = ps: with ps; [  ];
     "light.zengge" = ps: with ps; [  ];
@@ -152,13 +165,16 @@
     "lock.sesame" = ps: with ps; [  ];
     "lutron" = ps: with ps; [  ];
     "lutron_caseta" = ps: with ps; [  ];
+    "matrix" = ps: with ps; [ matrix-client ];
     "maxcube" = ps: with ps; [  ];
     "media_extractor" = ps: with ps; [  ];
     "media_player.anthemav" = ps: with ps; [  ];
     "media_player.aquostv" = ps: with ps; [  ];
+    "media_player.blackbird" = ps: with ps; [  ];
     "media_player.bluesound" = ps: with ps; [ xmltodict ];
     "media_player.braviatv" = ps: with ps; [  ];
     "media_player.cast" = ps: with ps; [ PyChromecast ];
+    "media_player.channels" = ps: with ps; [  ];
     "media_player.clementine" = ps: with ps; [  ];
     "media_player.cmus" = ps: with ps; [  ];
     "media_player.denonavr" = ps: with ps; [  ];
@@ -166,7 +182,7 @@
     "media_player.dunehd" = ps: with ps; [  ];
     "media_player.emby" = ps: with ps; [  ];
     "media_player.frontier_silicon" = ps: with ps; [  ];
-    "media_player.gpmdp" = ps: with ps; [  ];
+    "media_player.gpmdp" = ps: with ps; [ websocket_client ];
     "media_player.gstreamer" = ps: with ps; [  ];
     "media_player.kodi" = ps: with ps; [ jsonrpc-async jsonrpc-websocket ];
     "media_player.lg_netcast" = ps: with ps; [  ];
@@ -187,17 +203,18 @@
     "media_player.russound_rnet" = ps: with ps; [  ];
     "media_player.samsungtv" = ps: with ps; [ wakeonlan ];
     "media_player.snapcast" = ps: with ps; [  ];
+    "media_player.songpal" = ps: with ps; [  ];
     "media_player.sonos" = ps: with ps; [  ];
     "media_player.soundtouch" = ps: with ps; [ libsoundtouch ];
-    "media_player.spotify" = ps: with ps; [  ];
+    "media_player.spotify" = ps: with ps; [ spotipy ];
     "media_player.vizio" = ps: with ps; [  ];
     "media_player.vlc" = ps: with ps; [  ];
     "media_player.webostv" = ps: with ps; [ websockets ];
+    "media_player.xiaomi_tv" = ps: with ps; [  ];
     "media_player.yamaha" = ps: with ps; [  ];
     "media_player.yamaha_musiccast" = ps: with ps; [  ];
     "media_player.ziggo_mediabox_xl" = ps: with ps; [  ];
     "melissa" = ps: with ps; [  ];
-    "mercedesme" = ps: with ps; [  ];
     "mochad" = ps: with ps; [  ];
     "modbus" = ps: with ps; [  ];
     "mqtt" = ps: with ps; [ paho-mqtt ];
@@ -222,15 +239,16 @@
     "notify.kodi" = ps: with ps; [ jsonrpc-async ];
     "notify.lametric" = ps: with ps; [  ];
     "notify.mailgun" = ps: with ps; [  ];
-    "notify.matrix" = ps: with ps; [ matrix-client ];
+    "notify.mastodon" = ps: with ps; [  ];
     "notify.message_bird" = ps: with ps; [  ];
     "notify.pushbullet" = ps: with ps; [ pushbullet ];
     "notify.pushetta" = ps: with ps; [  ];
-    "notify.pushover" = ps: with ps; [  ];
+    "notify.pushover" = ps: with ps; [ python-pushover ];
     "notify.rocketchat" = ps: with ps; [  ];
     "notify.sendgrid" = ps: with ps; [  ];
     "notify.simplepush" = ps: with ps; [  ];
     "notify.slack" = ps: with ps; [  ];
+    "notify.stride" = ps: with ps; [  ];
     "notify.twitter" = ps: with ps; [  ];
     "notify.webostv" = ps: with ps; [  ];
     "notify.xmpp" = ps: with ps; [ pyasn1-modules pyasn1 sleekxmpp ];
@@ -238,17 +256,18 @@
     "nuheat" = ps: with ps; [  ];
     "nuimo_controller" = ps: with ps; [  ];
     "pilight" = ps: with ps; [  ];
-    "prometheus" = ps: with ps; [  ];
+    "prometheus" = ps: with ps; [ prometheus_client ];
     "python_script" = ps: with ps; [  ];
     "qwikswitch" = ps: with ps; [  ];
     "rainbird" = ps: with ps; [  ];
     "raincloud" = ps: with ps; [  ];
+    "rainmachine" = ps: with ps; [  ];
     "raspihats" = ps: with ps; [  ];
     "recorder" = ps: with ps; [ sqlalchemy ];
     "remember_the_milk" = ps: with ps; [ httplib2 ];
     "remote.harmony" = ps: with ps; [  ];
     "remote.itach" = ps: with ps; [  ];
-    "remote.xiaomi_miio" = ps: with ps; [  ];
+    "remote.xiaomi_miio" = ps: with ps; [ construct ];
     "rflink" = ps: with ps; [  ];
     "rfxtrx" = ps: with ps; [  ];
     "ring" = ps: with ps; [  ];
@@ -267,12 +286,12 @@
     "sensor.bme680" = ps: with ps; [  ];
     "sensor.broadlink" = ps: with ps; [  ];
     "sensor.buienradar" = ps: with ps; [  ];
-    "sensor.coinmarketcap" = ps: with ps; [  ];
+    "sensor.coinmarketcap" = ps: with ps; [ coinmarketcap ];
     "sensor.cpuspeed" = ps: with ps; [  ];
     "sensor.crimereports" = ps: with ps; [  ];
-    "sensor.cups" = ps: with ps; [  ];
+    "sensor.cups" = ps: with ps; [ pycups ];
     "sensor.darksky" = ps: with ps; [  ];
-    "sensor.deluge" = ps: with ps; [  ];
+    "sensor.deluge" = ps: with ps; [ deluge-client ];
     "sensor.deutsche_bahn" = ps: with ps; [  ];
     "sensor.dht" = ps: with ps; [  ];
     "sensor.discogs" = ps: with ps; [ discogs_client ];
@@ -280,8 +299,7 @@
     "sensor.dovado" = ps: with ps; [  ];
     "sensor.dsmr" = ps: with ps; [  ];
     "sensor.dweet" = ps: with ps; [  ];
-    "sensor.ebox" = ps: with ps; [  ];
-    "sensor.eddystone_temperature" = ps: with ps; [  ];
+    "sensor.eddystone_temperature" = ps: with ps; [ construct ];
     "sensor.eliqonline" = ps: with ps; [  ];
     "sensor.envirophat" = ps: with ps; [  ];
     "sensor.etherscan" = ps: with ps; [  ];
@@ -290,8 +308,9 @@
     "sensor.fido" = ps: with ps; [  ];
     "sensor.fitbit" = ps: with ps; [  ];
     "sensor.fixer" = ps: with ps; [  ];
-    "sensor.fritzbox_callmonitor" = ps: with ps; [  ];
-    "sensor.fritzbox_netmonitor" = ps: with ps; [  ];
+    "sensor.foobot" = ps: with ps; [  ];
+    "sensor.fritzbox_callmonitor" = ps: with ps; [ fritzconnection ];
+    "sensor.fritzbox_netmonitor" = ps: with ps; [ fritzconnection ];
     "sensor.gearbest" = ps: with ps; [  ];
     "sensor.geizhals" = ps: with ps; [ beautifulsoup4 ];
     "sensor.geo_rss_events" = ps: with ps; [ feedparser ];
@@ -316,36 +335,44 @@
     "sensor.mfi" = ps: with ps; [  ];
     "sensor.mhz19" = ps: with ps; [  ];
     "sensor.miflora" = ps: with ps; [  ];
+    "sensor.mitemp_bt" = ps: with ps; [  ];
     "sensor.modem_callerid" = ps: with ps; [  ];
     "sensor.mopar" = ps: with ps; [  ];
-    "sensor.mvglive" = ps: with ps; [  ];
+    "sensor.mvglive" = ps: with ps; [ PyMVGLive ];
     "sensor.nederlandse_spoorwegen" = ps: with ps; [  ];
     "sensor.neurio_energy" = ps: with ps; [  ];
     "sensor.nut" = ps: with ps; [  ];
     "sensor.openevse" = ps: with ps; [  ];
-    "sensor.openweathermap" = ps: with ps; [  ];
+    "sensor.openweathermap" = ps: with ps; [ pyowm ];
     "sensor.otp" = ps: with ps; [  ];
     "sensor.plex" = ps: with ps; [  ];
     "sensor.pocketcasts" = ps: with ps; [  ];
     "sensor.pollen" = ps: with ps; [  ];
+    "sensor.postnl" = ps: with ps; [  ];
     "sensor.pushbullet" = ps: with ps; [ pushbullet ];
     "sensor.qnap" = ps: with ps; [  ];
     "sensor.ripple" = ps: with ps; [  ];
     "sensor.sabnzbd" = ps: with ps; [  ];
     "sensor.scrape" = ps: with ps; [ beautifulsoup4 ];
     "sensor.season" = ps: with ps; [ ephem ];
+    "sensor.sense" = ps: with ps; [  ];
     "sensor.sensehat" = ps: with ps; [  ];
     "sensor.serial" = ps: with ps; [  ];
     "sensor.serial_pm" = ps: with ps; [  ];
     "sensor.shodan" = ps: with ps; [  ];
+    "sensor.sht31" = ps: with ps; [  ];
     "sensor.sma" = ps: with ps; [  ];
     "sensor.snmp" = ps: with ps; [ pysnmp ];
     "sensor.sochain" = ps: with ps; [  ];
+    "sensor.socialblade" = ps: with ps; [  ];
     "sensor.speedtest" = ps: with ps; [  ];
+    "sensor.spotcrime" = ps: with ps; [  ];
     "sensor.sql" = ps: with ps; [ sqlalchemy ];
+    "sensor.startca" = ps: with ps; [ xmltodict ];
     "sensor.steam_online" = ps: with ps; [  ];
     "sensor.swiss_hydrological_data" = ps: with ps; [ xmltodict ];
     "sensor.swiss_public_transport" = ps: with ps; [  ];
+    "sensor.syncthru" = ps: with ps; [  ];
     "sensor.synologydsm" = ps: with ps; [  ];
     "sensor.systemmonitor" = ps: with ps; [ psutil ];
     "sensor.sytadin" = ps: with ps; [ beautifulsoup4 ];
@@ -359,22 +386,27 @@
     "sensor.twitch" = ps: with ps; [  ];
     "sensor.uber" = ps: with ps; [  ];
     "sensor.ups" = ps: with ps; [  ];
+    "sensor.uscis" = ps: with ps; [  ];
     "sensor.vasttrafik" = ps: with ps; [  ];
     "sensor.waqi" = ps: with ps; [  ];
+    "sensor.waze_travel_time" = ps: with ps; [  ];
     "sensor.whois" = ps: with ps; [  ];
     "sensor.xbox_live" = ps: with ps; [  ];
+    "sensor.xiaomi_miio" = ps: with ps; [ construct ];
     "sensor.yahoo_finance" = ps: with ps; [  ];
     "sensor.yr" = ps: with ps; [ xmltodict ];
-    "sensor.yweather" = ps: with ps; [  ];
+    "sensor.yweather" = ps: with ps; [ yahooweather ];
+    "sensor.zestimate" = ps: with ps; [ xmltodict ];
     "shiftr" = ps: with ps; [ paho-mqtt ];
     "skybell" = ps: with ps; [  ];
     "sleepiq" = ps: with ps; [  ];
+    "smappee" = ps: with ps; [  ];
     "spc" = ps: with ps; [ websockets ];
     "statsd" = ps: with ps; [ statsd ];
     "switch.acer_projector" = ps: with ps; [ pyserial ];
     "switch.anel_pwrctrl" = ps: with ps; [  ];
     "switch.broadlink" = ps: with ps; [  ];
-    "switch.deluge" = ps: with ps; [  ];
+    "switch.deluge" = ps: with ps; [ deluge-client ];
     "switch.digitalloggers" = ps: with ps; [  ];
     "switch.dlink" = ps: with ps; [  ];
     "switch.edimax" = ps: with ps; [  ];
@@ -385,14 +417,14 @@
     "switch.netio" = ps: with ps; [  ];
     "switch.orvibo" = ps: with ps; [  ];
     "switch.rachio" = ps: with ps; [  ];
-    "switch.rainmachine" = ps: with ps; [  ];
     "switch.rpi_rf" = ps: with ps; [  ];
     "switch.snmp" = ps: with ps; [ pysnmp ];
     "switch.thinkingcleaner" = ps: with ps; [  ];
     "switch.tplink" = ps: with ps; [  ];
     "switch.transmission" = ps: with ps; [ transmissionrpc ];
+    "switch.vesync" = ps: with ps; [  ];
     "switch.wake_on_lan" = ps: with ps; [ wakeonlan ];
-    "switch.xiaomi_miio" = ps: with ps; [  ];
+    "switch.xiaomi_miio" = ps: with ps; [ construct ];
     "tado" = ps: with ps; [  ];
     "tahoma" = ps: with ps; [  ];
     "telegram_bot" = ps: with ps; [ python-telegram-bot ];
@@ -408,11 +440,12 @@
     "tts.google" = ps: with ps; [  ];
     "tts.microsoft" = ps: with ps; [  ];
     "twilio" = ps: with ps; [ twilio ];
+    "upcloud" = ps: with ps; [  ];
     "updater" = ps: with ps; [ distro ];
     "upnp" = ps: with ps; [  ];
     "usps" = ps: with ps; [  ];
     "vacuum.roomba" = ps: with ps; [  ];
-    "vacuum.xiaomi_miio" = ps: with ps; [  ];
+    "vacuum.xiaomi_miio" = ps: with ps; [ construct ];
     "velbus" = ps: with ps; [  ];
     "velux" = ps: with ps; [  ];
     "vera" = ps: with ps; [  ];
@@ -424,8 +457,8 @@
     "weather.buienradar" = ps: with ps; [  ];
     "weather.darksky" = ps: with ps; [  ];
     "weather.metoffice" = ps: with ps; [  ];
-    "weather.openweathermap" = ps: with ps; [  ];
-    "weather.yweather" = ps: with ps; [  ];
+    "weather.openweathermap" = ps: with ps; [ pyowm ];
+    "weather.yweather" = ps: with ps; [ yahooweather ];
     "wemo" = ps: with ps; [  ];
     "wink" = ps: with ps; [  ];
     "xiaomi_aqara" = ps: with ps; [  ];
@@ -433,6 +466,6 @@
     "zeroconf" = ps: with ps; [ zeroconf ];
     "zha" = ps: with ps; [  ];
     "zigbee" = ps: with ps; [  ];
-    "zwave" = ps: with ps; [ pydispatcher ];
+    "zwave" = ps: with ps; [ pydispatcher python_openzwave ];
   };
 }
diff --git a/pkgs/servers/home-assistant/default.nix b/pkgs/servers/home-assistant/default.nix
index cb9424ad5cf..60b005ed54c 100644
--- a/pkgs/servers/home-assistant/default.nix
+++ b/pkgs/servers/home-assistant/default.nix
@@ -7,32 +7,55 @@ let
 
   py = python3.override {
     packageOverrides = self: super: {
-      yarl = super.yarl.overridePythonAttrs (oldAttrs: rec {
-        version = "1.1.0";
+      aiohttp = super.aiohttp.overridePythonAttrs (oldAttrs: rec {
+        version = "3.1.3";
         src = oldAttrs.src.override {
           inherit version;
-          sha256 = "162630v7f98l27h11msk9416lqwm2mpgxh4s636594nlbfs9by3a";
+          sha256 = "9fcef0489e3335b200d31a9c1fb6ba80fdafe14cd82b971168c2f9fa1e4508ad";
         };
       });
-      aiohttp = super.aiohttp.overridePythonAttrs (oldAttrs: rec {
-        version = "2.3.10";
+      pytest = super.pytest.overridePythonAttrs (oldAttrs: rec {
+        version = "3.4.2";
         src = oldAttrs.src.override {
           inherit version;
-          sha256 = "8adda6583ba438a4c70693374e10b60168663ffa6564c5c75d3c7a9055290964";
+          sha256 = "117bad36c1a787e1a8a659df35de53ba05f9f3398fb9e4ac17e80ad5903eb8c5";
         };
       });
-      pytest = super.pytest.overridePythonAttrs (oldAttrs: rec {
-        version = "3.3.1";
+      voluptuous = super.voluptuous.overridePythonAttrs (oldAttrs: rec {
+        version = "0.11.1";
         src = oldAttrs.src.override {
           inherit version;
-          sha256 = "14zbnbn53yvrpv79ch6n02myq9b4winjkaykzi356sfqb7f3d16g";
+          sha256 = "af7315c9fa99e0bfd195a21106c82c81619b42f0bd9b6e287b797c6b6b6a9918";
         };
       });
-      voluptuous = super.voluptuous.overridePythonAttrs (oldAttrs: rec {
-        version = "0.10.5";
+      attrs = super.attrs.overridePythonAttrs (oldAttrs: rec {
+        version = "18.1.0";
+        src = oldAttrs.src.override {
+          inherit version;
+          sha256 = "e0d0eb91441a3b53dab4d9b743eafc1ac44476296a2053b6ca3af0b139faf87b";
+        };
+      });
+      astral = super.astral.overridePythonAttrs (oldAttrs: rec {
+        version = "1.6.1";
         src = oldAttrs.src.override {
           inherit version;
-          sha256 = "15i3gaap8ilhpbah1ffc6q415wkvliqxilc6s69a4rinvkw6cx3s";
+          sha256 = "ab0c08f2467d35fcaeb7bad15274743d3ac1ad18b5391f64a0058a9cd192d37d";
+        };
+      });
+      async-timeout = super.async-timeout.overridePythonAttrs (oldAttrs: rec {
+        version = "2.0.1";
+        src = oldAttrs.src.override {
+          inherit version;
+          sha256 = "00cff4d2dce744607335cba84e9929c3165632da2d27970dbc55802a0c7873d0";
+        };
+      });
+      # used by check_config script
+      # can be unpinned once https://github.com/home-assistant/home-assistant/issues/11917 is resolved
+      colorlog = super.colorlog.overridePythonAttrs (oldAttrs: rec {
+        version = "3.1.4";
+        src = oldAttrs.src.override {
+          inherit version;
+          sha256 = "418db638c9577f37f0fae4914074f395847a728158a011be2a193ac491b9779d";
         };
       });
       hass-frontend = super.callPackage ./frontend.nix { };
@@ -45,18 +68,20 @@ let
 
   getPackages = component: builtins.getAttr component componentPackages.components;
 
-  componentBuildInputs = map (component: getPackages component py.pkgs) extraComponents;
+  componentBuildInputs = lib.concatMap (component: getPackages component py.pkgs) extraComponents;
 
   # Ensure that we are using a consistent package set
   extraBuildInputs = extraPackages py.pkgs;
 
   # Don't forget to run parse-requirements.py after updating
-  hassVersion = "0.63.3";
+  hassVersion = "0.69.1";
 
 in with py.pkgs; buildPythonApplication rec {
   pname = "homeassistant";
   version = assert (componentPackages.version == hassVersion); hassVersion;
 
+  disabled = pythonOlder "3.5";
+
   inherit availableComponents;
 
   # PyPI tarball is missing tests/ directory
@@ -64,14 +89,14 @@ in with py.pkgs; buildPythonApplication rec {
     owner = "home-assistant";
     repo = "home-assistant";
     rev = version;
-    sha256 = "1lrdrn0x8i81vbqxziv5fgcc8ldz7x5r62kfz3nyg4g43rk3dqq8";
+    sha256 = "1y74zq1nah9k6rif8k384ri11h1f23ggr613f7qnn0107b23asr4";
   };
 
   propagatedBuildInputs = [
     # From setup.py
-    requests pyyaml pytz pip jinja2 voluptuous typing aiohttp yarl async-timeout chardet astral certifi attrs
+    requests pyyaml pytz pip jinja2 voluptuous typing aiohttp async-timeout astral certifi attrs
     # From http, frontend and recorder components
-    sqlalchemy aiohttp-cors hass-frontend user-agents
+    sqlalchemy aiohttp-cors hass-frontend
   ] ++ componentBuildInputs ++ extraBuildInputs;
 
   checkInputs = [
diff --git a/pkgs/servers/home-assistant/frontend.nix b/pkgs/servers/home-assistant/frontend.nix
index 018405f578d..168a1ec3b9d 100644
--- a/pkgs/servers/home-assistant/frontend.nix
+++ b/pkgs/servers/home-assistant/frontend.nix
@@ -1,11 +1,13 @@
-{ stdenv, fetchPypi, buildPythonPackage }:
+{ stdenv, fetchPypi, buildPythonPackage, user-agents }:
 
 buildPythonPackage rec {
   pname = "home-assistant-frontend";
-  version = "20180209.0";
+  version = "20180509.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "b85f0e833871408a95619ae38d5344701a6466e8f7b5530e718ccc260b68d3ed";
+    sha256 = "11d9c4a07565358e6ee001f5c57c8393b4aaadac0d993a0a39a0387a33644fba";
   };
+
+  propagatedBuildInputs = [ user-agents ];
 }
diff --git a/pkgs/servers/home-assistant/parse-requirements.py b/pkgs/servers/home-assistant/parse-requirements.py
index 3aa9823dbe8..46e7acee178 100755
--- a/pkgs/servers/home-assistant/parse-requirements.py
+++ b/pkgs/servers/home-assistant/parse-requirements.py
@@ -1,5 +1,5 @@
 #! /usr/bin/env nix-shell
-#! nix-shell -i python3 -p "python3.withPackages (ps: with ps; [ setuptools ])"
+#! nix-shell -i python3 -p "python3.withPackages (ps: with ps; [ ])"
 #
 # This script downloads https://github.com/home-assistant/home-assistant/blob/master/requirements_all.txt.
 # This file contains lines of the form
@@ -20,9 +20,9 @@ import os
 import sys
 import json
 import re
-from pkg_resources import Requirement, RequirementParseError
 
-PREFIX = '# homeassistant.components.'
+GENERAL_PREFIX = '# homeassistant.'
+COMPONENT_PREFIX = GENERAL_PREFIX + 'components.'
 PKG_SET = 'python3Packages'
 
 def get_version():
@@ -37,12 +37,19 @@ def fetch_reqs(version='master'):
         for line in response.read().decode().splitlines():
             if line == '':
                 components = []
-            elif line[:len(PREFIX)] == PREFIX:
-                component = line[len(PREFIX):]
+            elif line[:len(COMPONENT_PREFIX)] == COMPONENT_PREFIX:
+                component = line[len(COMPONENT_PREFIX):]
                 components.append(component)
                 if component not in requirements:
                     requirements[component] = []
-            elif line[0] != '#':
+            elif line[:len(GENERAL_PREFIX)] != GENERAL_PREFIX: # skip lines like "# homeassistant.scripts.xyz"
+                # Some dependencies are commented out because they don't build on all platforms
+                # Since they are still required for running the component, don't skip them
+                if line[:2] == '# ':
+                    line = line[2:]
+                # Some requirements are specified by url, e.g. https://example.org/foobar#xyz==1.0.0
+                # Therefore, if there's a "#" in the line, only take the part after it
+                line = line[line.find('#') + 1:]
                 for component in components:
                     requirements[component].append(line)
     return requirements
@@ -56,9 +63,11 @@ def name_to_attr_path(req):
     names = [req]
     # E.g. python-mpd2 is actually called python3.6-mpd2
     # instead of python-3.6-python-mpd2 inside Nixpkgs
-    if req.startswith('python-'):
+    if req.startswith('python-') or req.startswith('python_'):
         names.append(req[len('python-'):])
     for name in names:
+        # treat "-" and "_" equally
+        name = re.sub('[-_]', '[-_]', name)
         pattern = re.compile('^python\\d\\.\\d-{}-\\d'.format(name), re.I)
         for attr_path, package in packages.items():
             if pattern.match(package['name']):
@@ -78,7 +87,7 @@ for component, reqs in OrderedDict(sorted(requirements.items())).items():
     attr_paths = []
     for req in reqs:
         try:
-            name = Requirement.parse(req).project_name
+            name = req.split('==')[0]
             attr_path = name_to_attr_path(name)
             if attr_path is not None:
                 # Add attribute path without "python3Packages." prefix
diff --git a/pkgs/servers/http/4store/default.nix b/pkgs/servers/http/4store/default.nix
index 186b0790e4a..664953ca34d 100644
--- a/pkgs/servers/http/4store/default.nix
+++ b/pkgs/servers/http/4store/default.nix
@@ -33,7 +33,7 @@ stdenv.mkDerivation rec {
     sed -e 's@#! */bin/bash@#! ${stdenv.shell}@' -i configure
     find . -name Makefile -exec sed -e "s@/usr/local@$out@g" -i '{}' ';'
 
-    rm src/utilities/4s-backend 
+    rm src/utilities/4s-backend
     sed -e 's@/var/lib/4store@${db_dir}@g' -i configure.ac src/utilities/*
     sed -e '/FS_STORE_ROOT/d' -i src/utilities/Makefile*
   '';
@@ -45,5 +45,6 @@ stdenv.mkDerivation rec {
     homepage = https://4store.danielknoell.de/;
     maintainers = with maintainers; [ raskin ];
     platforms = platforms.linux;
+    broken = true; # since 2018-04-11
   };
 }
diff --git a/pkgs/servers/http/apache-httpd/2.4.nix b/pkgs/servers/http/apache-httpd/2.4.nix
index 41e65b588e1..dd076606da5 100644
--- a/pkgs/servers/http/apache-httpd/2.4.nix
+++ b/pkgs/servers/http/apache-httpd/2.4.nix
@@ -16,12 +16,12 @@ assert ldapSupport -> aprutil.ldapSupport && openldap != null;
 assert http2Support -> nghttp2 != null;
 
 stdenv.mkDerivation rec {
-  version = "2.4.29";
+  version = "2.4.33";
   name = "apache-httpd-${version}";
 
   src = fetchurl {
     url = "mirror://apache/httpd/httpd-${version}.tar.bz2";
-    sha256 = "777753a5a25568a2a27428b2214980564bc1c38c1abf9ccc7630b639991f7f00";
+    sha256 = "de02511859b00d17845b9abdd1f975d5ccb5d0b280c567da5bf2ad4b70846f05";
   };
 
   # FIXME: -dev depends on -doc
diff --git a/pkgs/servers/http/apache-modules/mod_wsgi/default.nix b/pkgs/servers/http/apache-modules/mod_wsgi/default.nix
index 4d45f70a9fd..948ef345e10 100644
--- a/pkgs/servers/http/apache-modules/mod_wsgi/default.nix
+++ b/pkgs/servers/http/apache-modules/mod_wsgi/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "mod_wsgi-${version}";
-  version = "4.5.24";
+  version = "4.6.4";
 
   src = fetchurl {
     url = "https://github.com/GrahamDumpleton/mod_wsgi/archive/${version}.tar.gz";
-    sha256 = "1anxml8i3q90x8n30xfydpmv41cxlwqrg3vr98ayzaak02maxr99";
+    sha256 = "1hyaxr9km7cj4k6b0d6xx3bplpa8483fhyk9x802sl22m3f2vc1k";
   };
 
   buildInputs = [ apacheHttpd python2 ];
diff --git a/pkgs/servers/http/gatling/default.nix b/pkgs/servers/http/gatling/default.nix
index 549beec674c..19b2d01f5be 100644
--- a/pkgs/servers/http/gatling/default.nix
+++ b/pkgs/servers/http/gatling/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchurl, libowfat, zlib, openssl }:
 
 let
-  version = "0.13";
+  version = "0.15";
 in
 stdenv.mkDerivation rec {
   name = "gatling-${version}";
 
   src = fetchurl {
-    url = "http://dl.fefe.de/${name}.tar.bz2";
-    sha256 = "0icjx20ws8gqxgpm77dx7p9zcwi1fv162in6igx04rmnyzyla8dl";
+    url = "https://www.fefe.de/gatling/${name}.tar.xz";
+    sha256 = "194srqyja3pczpbl6l169zlvx179v7ln0m6yipmhvj6hrv82k8vg";
   };
 
   buildInputs = [  libowfat zlib openssl.dev ];
diff --git a/pkgs/servers/http/hiawatha/default.nix b/pkgs/servers/http/hiawatha/default.nix
index 99900bbdb3e..277fa06a707 100644
--- a/pkgs/servers/http/hiawatha/default.nix
+++ b/pkgs/servers/http/hiawatha/default.nix
@@ -12,11 +12,11 @@ assert enableSSL -> openssl !=null;
 
 stdenv.mkDerivation rec {
   name = "hiawatha-${version}";
-  version = "10.7";
+  version = "10.8.1";
 
   src = fetchurl {
     url = "https://github.com/hsleisink/hiawatha/archive/v${version}.tar.gz";
-    sha256 = "1k0vgpfkmdxmkimq4ab70cqwhj5qwr4pzq7nnv957ah8cw2ijy1z";
+    sha256 = "1f2hlw2lp98b4dx87i7pz7h66vsy2g22b5adfrlij3kj0vfv61w8";
   };
 
   buildInputs =  [ cmake libxslt zlib libxml2 ] ++ stdenv.lib.optional enableSSL openssl ;
diff --git a/pkgs/servers/http/jetty/default.nix b/pkgs/servers/http/jetty/default.nix
index 98ca50c5bc4..1e99aab24c6 100644
--- a/pkgs/servers/http/jetty/default.nix
+++ b/pkgs/servers/http/jetty/default.nix
@@ -2,19 +2,18 @@
 
 stdenv.mkDerivation rec {
   name = "jetty-${version}";
-  version = "9.3.10.v20160621";
-
+  version = "9.4.8.v20171121";
   src = fetchurl {
     url = "http://repo1.maven.org/maven2/org/eclipse/jetty/jetty-distribution/${version}/jetty-distribution-${version}.tar.gz";
     name = "jetty-distribution-${version}.tar.gz";
-    sha256 = "0xqv7bp82i95gikma70kyi91nlgsj5zabzg59ly9ga4mqf5y0zbz";
+    sha256 = "0bvwi70vdk468yqgvgq99lwrpy2y5znrl0b1cr8j6ygmsgnvvmjh";
   };
 
   phases = [ "unpackPhase" "installPhase" ];
 
   installPhase = ''
     mkdir -p $out
-    mv etc lib modules start.jar $out
+    mv etc lib modules start.ini start.jar $out
   '';
 
   meta = {
diff --git a/pkgs/servers/http/lighttpd/default.nix b/pkgs/servers/http/lighttpd/default.nix
index 181e3bf134f..7bf1b1ffa64 100644
--- a/pkgs/servers/http/lighttpd/default.nix
+++ b/pkgs/servers/http/lighttpd/default.nix
@@ -9,11 +9,11 @@ assert enableMysql -> mysql != null;
 assert enableLdap -> openldap != null;
 
 stdenv.mkDerivation rec {
-  name = "lighttpd-1.4.48";
+  name = "lighttpd-1.4.49";
 
   src = fetchurl {
     url = "http://download.lighttpd.net/lighttpd/releases-1.4.x/${name}.tar.xz";
-    sha256 = "0djgsx06x3p22rjvzml5klq7gqd9nk88qzlxifa7p7ajqymdb2hg";
+    sha256 = "02ff77cpvy1006cwfym38vf78xm18plyj636ll74r7kx2bblkpxf";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/servers/http/myserver/default.nix b/pkgs/servers/http/myserver/default.nix
index 3e1c94e79b4..fa3b57a0b22 100644
--- a/pkgs/servers/http/myserver/default.nix
+++ b/pkgs/servers/http/myserver/default.nix
@@ -43,7 +43,7 @@ stdenv.mkDerivation rec {
     license = lib.licenses.gpl3Plus;
 
     # libevent fails to build on Cygwin and Guile has troubles on Darwin.
-    platforms = lib.platforms.gnu;
+    platforms = lib.platforms.gnu ++ lib.platforms.linux;
 
     broken = true; # needs patch for gets()
   };
diff --git a/pkgs/servers/http/nginx/mainline.nix b/pkgs/servers/http/nginx/mainline.nix
index 2bfe0329595..71cb6fc72ab 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.13.9";
-  sha256 = "0hpsyxpxj89p5vrzv9p1hp7xjbnj5c1w6fdy626ycvsiay4a3bjz";
+  version = "1.13.12";
+  sha256 = "1pl5ii1w2ycxprxk8zdnxlpdd1dia6hyrns7mnqkm3fv5ihgb4pv";
 })
diff --git a/pkgs/servers/http/nginx/modules.nix b/pkgs/servers/http/nginx/modules.nix
index 780f2001798..0e53b35e06d 100644
--- a/pkgs/servers/http/nginx/modules.nix
+++ b/pkgs/servers/http/nginx/modules.nix
@@ -2,13 +2,17 @@
 
 {
   brotli = {
-    src = fetchFromGitHub {
-      owner = "google";
+    src = let gitsrc = pkgs.fetchFromGitHub {
+      owner = "eustas";
       repo = "ngx_brotli";
-      rev = "bfd2885b2da4d763fed18f49216bb935223cd34b";
-      sha256 = "04yx1n0wi3l2x37jd1ynl9951qxkn8xp42yv0mfp1qz9svips81n";
-      fetchSubmodules = true;
-    };
+      rev = "37ab9b2933a0b756ba3447000b7f31d432ed8228"; # v0.1.1
+      sha256 = "114ai8v9ns23qm12wp9dgdjvldqjnrmb3cmarkn0d3k6n3bm01bf";
+    }; in pkgs.runCommandNoCC "ngx_brotli-src" {} ''
+      cp -a ${gitsrc} $out
+      substituteInPlace $out/config \
+        --replace /usr/local ${lib.getDev pkgs.brotli}
+    '';
+    inputs = [ pkgs.brotli ];
   };
 
   rtmp ={
diff --git a/pkgs/servers/http/nginx/stable.nix b/pkgs/servers/http/nginx/stable.nix
index 7bd74c3a332..1b61cb87c9a 100644
--- a/pkgs/servers/http/nginx/stable.nix
+++ b/pkgs/servers/http/nginx/stable.nix
@@ -1,6 +1,6 @@
 { callPackage, ... } @ args:
 
 callPackage ./generic.nix (args // {
-  version = "1.12.2";
-  sha256 = "05h4rwja7170z0l979yjghy9i9ichllwhicylzpmmyyml6fkfprh";
+  version = "1.14.0";
+  sha256 = "1d9c0avfpbwvzyg53b59ks8shpnrxnbnshcd7ziizflsyv5vw5ax";
 })
diff --git a/pkgs/servers/http/pshs/default.nix b/pkgs/servers/http/pshs/default.nix
index c244b3a1000..a0a1addeeeb 100644
--- a/pkgs/servers/http/pshs/default.nix
+++ b/pkgs/servers/http/pshs/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "pshs-${version}";
-  version = "0.3.2";
+  version = "0.3.3";
 
   src = fetchFromGitHub {
     owner = "mgorny";
     repo = "pshs";
     rev = "v${version}";
-    sha256 = "1ffdyv5qiqdg3jq8y91fsml046g88d7fyy2k81yii11jw3yx2js0";
+    sha256 = "04l03myh99npl78y8nss053gnc7k8q60vdbdpml19sshmwaw3fgi";
   };
 
   nativeBuildInputs = [ autoreconfHook pkgconfig ];
diff --git a/pkgs/servers/http/yaws/default.nix b/pkgs/servers/http/yaws/default.nix
index ed7765b1540..aae4589ebbe 100644
--- a/pkgs/servers/http/yaws/default.nix
+++ b/pkgs/servers/http/yaws/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "yaws-${version}";
-  version = "2.0.4";
+  version = "2.0.5";
 
   src = fetchurl {
     url = "http://yaws.hyber.org/download/${name}.tar.gz";
-    sha256 = "1ig6q4waqlb6h1hhrly7hslfnqczlbm79vvhr5j7rp5a2p1pfrns";
+    sha256 = "00bnvf26xlhm3v3c6jzk5kcdk8jkwr1gbd2f4h329lyrpjsx30my";
   };
 
   # The tarball includes a symlink yaws -> yaws-1.95, which seems to be
diff --git a/pkgs/servers/identd/oidentd/default.nix b/pkgs/servers/identd/oidentd/default.nix
index b8eb21e492b..1abe9512f58 100644
--- a/pkgs/servers/identd/oidentd/default.nix
+++ b/pkgs/servers/identd/oidentd/default.nix
@@ -1,13 +1,14 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "oidentd-2.0.8";
+  name = "oidentd-${version}";
+  version = "2.2.2";
 
   CFLAGS = [ "--std=gnu89" ];
 
   src = fetchurl {
-    url = "mirror://sourceforge/ojnk/${name}.tar.gz";
-    sha256 = "0vzv2086rrxcaavrm3js7aqvyc0grgaqy78x61d8s7r8hz8vwk55";
+    url = "https://ftp.janikrabe.com/pub/oidentd/releases/${version}/${name}.tar.gz";
+    sha256 = "1svj7ymljp4s17d7jlx6602n9081714qsj5yymmv1s9wagzjqyn9";
   };
 
   meta = {
diff --git a/pkgs/servers/interlock/default.nix b/pkgs/servers/interlock/default.nix
index a0b59d332a3..0df055f9690 100644
--- a/pkgs/servers/interlock/default.nix
+++ b/pkgs/servers/interlock/default.nix
@@ -1,5 +1,6 @@
-{ stdenv, lib, sudo, utillinux, coreutils, systemd, cryptsetup,
-  buildGoPackage, fetchFromGitHub }:
+{ stdenv, lib, sudo, coreutils, systemd, cryptsetup
+, mount, umount
+, buildGoPackage, fetchFromGitHub }:
 
 buildGoPackage rec {
   name = "interlock-${version}";
@@ -23,8 +24,8 @@ buildGoPackage rec {
   buildFlags = [ "-tags textsecure" ];
   postPatch = ''
     grep -lr '/s\?bin/' | xargs sed -i \
-      -e 's|/bin/mount|${utillinux}/bin/mount|' \
-      -e 's|/bin/umount|${utillinux}/bin/umount|' \
+      -e 's|/bin/mount|${mount}/bin/mount|' \
+      -e 's|/bin/umount|${umount}/bin/umount|' \
       -e 's|/bin/cp|${coreutils}/bin/cp|' \
       -e 's|/bin/mv|${coreutils}/bin/mv|' \
       -e 's|/bin/chown|${coreutils}/bin/chown|' \
diff --git a/pkgs/servers/irc/ircd-hybrid/default.nix b/pkgs/servers/irc/ircd-hybrid/default.nix
index c13a0ee3d89..c73c69e6ee5 100644
--- a/pkgs/servers/irc/ircd-hybrid/default.nix
+++ b/pkgs/servers/irc/ircd-hybrid/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, openssl, zlib }:
 
 stdenv.mkDerivation rec {
-  name = "ircd-hybrid-8.2.21";
+  name = "ircd-hybrid-8.2.24";
 
   src = fetchurl {
     url = "mirror://sourceforge/ircd-hybrid/${name}.tgz";
-    sha256 = "19cgrgmmz1c72x4gxpd39f9ckm4j9cp1gpgvlkk73d3v13znfzy3";
+    sha256 = "03nmzrhqfsxwry316nm80m9p285v65fz75ns7fg623hcy65jv97a";
   };
 
   buildInputs = [ openssl zlib ];
diff --git a/pkgs/servers/irc/ngircd/default.nix b/pkgs/servers/irc/ngircd/default.nix
index 4dd57b17fed..bdd88db0984 100644
--- a/pkgs/servers/irc/ngircd/default.nix
+++ b/pkgs/servers/irc/ngircd/default.nix
@@ -4,7 +4,7 @@ stdenv.mkDerivation rec {
   name = "ngircd-24";
 
   src = fetchurl {
-    url = "http://ngircd.barton.de/pub/ngircd/${name}.tar.xz";
+    url = "https://ngircd.barton.de/pub/ngircd/${name}.tar.xz";
     sha256 = "020h9d1awyxqr0l42x1fhs47q7cmm17fdxzjish8p2kq23ma0gqp";
   };
 
diff --git a/pkgs/servers/isso/default.nix b/pkgs/servers/isso/default.nix
new file mode 100644
index 00000000000..5aafe55512b
--- /dev/null
+++ b/pkgs/servers/isso/default.nix
@@ -0,0 +1,54 @@
+{ stdenv, python2, fetchurl, fetchFromGitHub }:
+
+let python = python2.override {
+  packageOverrides = self: super: {
+    misaka = super.misaka.overridePythonAttrs (old: rec {
+      version = "1.0.2";
+      src = old.src.override {
+        inherit version;
+        sha256 = "05rmjxlfhghj90m1kc55lx3z8igabw5y8wmly66p3hphdy4f95v1";
+      };
+      propagatedBuildInputs = [ ];
+    });
+    html5lib = super.html5lib.overridePythonAttrs (old: rec {
+      version = "0.9999999";
+      src = old.src.override {
+        inherit version;
+        sha256 = "2612a191a8d5842bfa057e41ba50bbb9dcb722419d2408c78cff4758d0754868";
+      };
+      checkInputs = with self; [ nose flake8 ];
+      propagatedBuildInputs = with self; [ six ];
+      checkPhase = ''
+        nosetests
+      '';
+    });
+  };
+};
+
+in with python.pkgs; buildPythonApplication rec {
+  pname = "isso";
+  version = "0.10.6";
+
+  # no tests on PyPI
+  src = fetchFromGitHub {
+    owner = "posativ";
+    repo = pname;
+    rev = version;
+    sha256 = "19x9xbwd15fikhchyl4i1wrqx589hdmh279xhnxdszrq898igywb";
+  };
+
+  propagatedBuildInputs = [ misaka werkzeug ipaddr configparser html5lib ];
+
+  checkInputs = [ nose ];
+
+  checkPhase = ''
+    ${python.interpreter} setup.py nosetests
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A commenting server similar to Disqus";
+    homepage = https://posativ.org/isso/;
+    license = licenses.mit;
+    maintainers = with maintainers; [ fgaz ];
+  };
+}
diff --git a/pkgs/servers/jackett/default.nix b/pkgs/servers/jackett/default.nix
index 594bc8caf5b..2bbb4674440 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.8.151";
+  version = "0.8.953";
 
   src = fetchurl {
     url = "https://github.com/Jackett/Jackett/releases/download/v${version}/Jackett.Binaries.Mono.tar.gz";
-    sha256 = "2df2b296b5b314ed035e8d370bf5708a8b5a23957353e2e1e0007ec08a2138a0";
+    sha256 = "0jc7c0z315wh73b75fxz1ad2qy1z5nsvpr7iml4998k15sl7w7mi";
   };
 
   buildInputs = [ makeWrapper ];
diff --git a/pkgs/servers/jetbrains/youtrack.nix b/pkgs/servers/jetbrains/youtrack.nix
new file mode 100644
index 00000000000..7e368bf295b
--- /dev/null
+++ b/pkgs/servers/jetbrains/youtrack.nix
@@ -0,0 +1,30 @@
+{ stdenv, fetchurl, makeWrapper, jre }:
+
+stdenv.mkDerivation rec {
+  name = "youtrack-${version}";
+  version = "2018.1.41051";
+
+  jar = fetchurl {
+    url = "https://download.jetbrains.com/charisma/${name}.jar";
+    sha256 = "1sznay3lbyb2i977103hzh61rw1bpkdv0raffbir68apmvv1r0rb";
+  };
+
+  buildInputs = [ makeWrapper ];
+
+  unpackPhase = "true";
+
+  installPhase = ''
+    runHook preInstall
+    makeWrapper ${jre}/bin/java $out/bin/youtrack --add-flags "\$YOUTRACK_JVM_OPTS -jar $jar"
+    runHook postInstall
+  '';
+
+  meta = with stdenv.lib; {
+    description = ''
+      Issue Tracking and Project Management Tool for Developers
+    '';
+    maintainers = with maintainers; [ yorickvp ];
+    # https://www.jetbrains.com/youtrack/buy/license.html
+    license = licenses.unfree;
+  };
+}
diff --git a/pkgs/servers/mail/archiveopteryx/default.nix b/pkgs/servers/mail/archiveopteryx/default.nix
index 50f94e4688c..080cbc89775 100644
--- a/pkgs/servers/mail/archiveopteryx/default.nix
+++ b/pkgs/servers/mail/archiveopteryx/default.nix
@@ -19,6 +19,13 @@ stdenv.mkDerivation rec {
     sed -i 's:MANDIR = $(PREFIX)/man:MANDIR = '$out'/share/man:' ./Jamsettings
     sed -i 's:READMEDIR = $(PREFIX):READMEDIR = '$out'/share/doc/archiveopteryx:' ./Jamsettings
   '';
+
+  # fix build on gcc7
+  NIX_CFLAGS_COMPILE = [
+    "-Wno-error=builtin-declaration-mismatch"
+    "-Wno-error=implicit-fallthrough"
+  ];
+
   buildPhase = ''jam "-j$NIX_BUILD_CORES" '';
   installPhase = ''
     jam install
diff --git a/pkgs/servers/mail/dovecot/default.nix b/pkgs/servers/mail/dovecot/default.nix
index 0060a59d807..c9065d04161 100644
--- a/pkgs/servers/mail/dovecot/default.nix
+++ b/pkgs/servers/mail/dovecot/default.nix
@@ -8,7 +8,7 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "dovecot-2.3.0.1";
+  name = "dovecot-2.3.1";
 
   nativeBuildInputs = [ perl pkgconfig ];
   buildInputs =
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "http://dovecot.org/releases/2.3/${name}.tar.gz";
-    sha256 = "0lzisrdgrj5qqwjb7bv99mf2aljm568r6g108yisp0s644z2nxxb";
+    sha256 = "14zva4f8k64x86sm9n21cp2yvrpph6k6k52bm22a00pxjwdq50q8";
   };
 
   preConfigure = ''
diff --git a/pkgs/servers/mail/dovecot/plugins/pigeonhole/default.nix b/pkgs/servers/mail/dovecot/plugins/pigeonhole/default.nix
index 92b404d0f65..e98c58c891a 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.0.1";
+  version = "0.5.1";
 
   src = fetchurl {
     url = "http://pigeonhole.dovecot.org/releases/2.3/dovecot-2.3-pigeonhole-${version}.tar.gz";
-    sha256 = "1lpsdqh9pwqx917z5v23bahhhbrcb3y5ps3l413sli8cn4a6sdan";
+    sha256 = "0ivmaxic6cygfphvlrvy0xgggydm7j7kjv1ssfqbr08q4rcsmc73";
   };
 
   buildInputs = [ dovecot openssl ];
@@ -33,6 +33,6 @@ stdenv.mkDerivation rec {
     description = "A sieve plugin for the Dovecot IMAP server";
     license = licenses.lgpl21;
     maintainers = [ maintainers.rickynils ];
-    platforms = platforms.linux;
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/servers/mail/exim/default.nix b/pkgs/servers/mail/exim/default.nix
index b386fadabd4..393ce2c5cda 100644
--- a/pkgs/servers/mail/exim/default.nix
+++ b/pkgs/servers/mail/exim/default.nix
@@ -3,11 +3,11 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "exim-4.90.1";
+  name = "exim-4.91";
 
   src = fetchurl {
     url = "http://ftp.exim.org/pub/exim/exim4/${name}.tar.xz";
-    sha256 = "09ppq8l7cah6dcqwdvpa6r12i6fdcd9lvxlfp18mggj3438xz62w";
+    sha256 = "066ip7a5lqfn9rcr14j4nm0kqysw6mzvbbb0ip50lmfm0fqsqmzc";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/servers/mail/opensmtpd/extras.nix b/pkgs/servers/mail/opensmtpd/extras.nix
index 5e87a1fb099..6b63c317d78 100644
--- a/pkgs/servers/mail/opensmtpd/extras.nix
+++ b/pkgs/servers/mail/opensmtpd/extras.nix
@@ -75,7 +75,7 @@ stdenv.mkDerivation rec {
     homepage = https://www.opensmtpd.org/;
     description = "Extra plugins for the OpenSMTPD mail server";
     license = licenses.isc;
-    platforms = platforms.unix;
+    platforms = platforms.linux;
     maintainers = with maintainers; [ gebner ];
   };
 }
diff --git a/pkgs/servers/mail/postfix/default.nix b/pkgs/servers/mail/postfix/default.nix
index f8b36e816e0..a5168ebd4df 100644
--- a/pkgs/servers/mail/postfix/default.nix
+++ b/pkgs/servers/mail/postfix/default.nix
@@ -25,11 +25,11 @@ in stdenv.mkDerivation rec {
 
   name = "postfix-${version}";
 
-  version = "3.2.5";
+  version = "3.3.0";
 
   src = fetchurl {
     url = "ftp://ftp.cs.uu.nl/mirror/postfix/postfix-release/official/${name}.tar.gz";
-    sha256 = "0xpky04a5xnzbcizqj4y1gyxqjrzvpjlvk1g757wdrs678fq82vx";
+    sha256 = "0fggpbsc9jkrbaw9hy0zw9h32plmfvcv0x860pbih0g346byhhkr";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/servers/matrix-synapse/default.nix b/pkgs/servers/matrix-synapse/default.nix
index d8352df3623..77bcc98da04 100644
--- a/pkgs/servers/matrix-synapse/default.nix
+++ b/pkgs/servers/matrix-synapse/default.nix
@@ -26,20 +26,16 @@ let
   };
 in pythonPackages.buildPythonApplication rec {
   name = "matrix-synapse-${version}";
-  version = "0.26.0";
+  version = "0.28.1";
 
   src = fetchFromGitHub {
     owner = "matrix-org";
     repo = "synapse";
     rev = "v${version}";
-    sha256 = "1ggdnb4c8y835j9lxsglxry6fqy7d190s70rccjrc3rj0p5vwlyj";
+    sha256 = "1xgiprnhp893zc0g3i7wpwzgjy6q5nb858p0s6kcsca60vr9j6h0";
   };
 
   patches = [
-    (fetchpatch { # Update pynacl dependency
-      url = "https://github.com/matrix-org/synapse/pull/2888.patch";
-      sha256 = "0gr9vwv02ps17d6pzassp9xmj1qbdgxwn1z4kckx4x964zzhyn4f";
-    })
     ./matrix-synapse.patch
   ];
 
diff --git a/pkgs/servers/mattermost/default.nix b/pkgs/servers/mattermost/default.nix
index f0c1a0fcec5..936e457eb33 100644
--- a/pkgs/servers/mattermost/default.nix
+++ b/pkgs/servers/mattermost/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, fetchFromGitHub, buildGoPackage }:
 
 let
-  version = "4.7.2";
+  version = "4.8.0";
   goPackagePath = "github.com/mattermost/mattermost-server";
   buildFlags = "-ldflags \"-X '${goPackagePath}/model.BuildNumber=nixpkgs-${version}'\"";
 in
@@ -13,12 +13,12 @@ buildGoPackage rec {
     owner = "mattermost";
     repo = "mattermost-server";
     rev = "v${version}";
-    sha256 = "129rvmwf9c19jbdpiclysb870svs2fbhdybcal0jbmzgx2zr8qma";
+    sha256 = "16yf4p0n3klgh0zw2ikbahj9cy1wcxbwg86pld0yz63cfvfz5ns4";
   };
 
   webApp = fetchurl {
     url = "https://releases.mattermost.com/${version}/mattermost-team-${version}-linux-amd64.tar.gz";
-    sha256 = "14gr7zzx77q862qccjcdwrzd6n8g2z8yngw8aa4g3q6hypsqi4v3";
+    sha256 = "0ykp9apsv2514bircgay0xi0jigiai65cnb8q77v1qxjzdyx8s75";
   };
 
   inherit goPackagePath;
diff --git a/pkgs/servers/mattermost/matterircd.nix b/pkgs/servers/mattermost/matterircd.nix
index 02a4e3bd66f..d489deb5944 100644
--- a/pkgs/servers/mattermost/matterircd.nix
+++ b/pkgs/servers/mattermost/matterircd.nix
@@ -2,16 +2,16 @@
 
 buildGoPackage rec {
   name = "matterircd-${version}";
-  version = "0.12.0";
+  version = "0.16.5";
 
   src = fetchFromGitHub {
     owner = "42wim";
     repo = "matterircd";
     rev = "v${version}";
-    sha256 = "1fgpfyb78l1kl0kja2fjqc4ik1q869cmhx6xdmp9ff2qcqk22cj0";
+    sha256 = "1rsmc2dpf25rkl8c085xwssbry3hv1gv318m7rdj616agx4m7yr2";
   };
 
-  goPackagePath = "github.com/42vim/matterircd";
+  goPackagePath = "github.com/42wim/matterircd";
 
   meta = with stdenv.lib; {
     inherit (src.meta) homepage;
diff --git a/pkgs/servers/memcached/default.nix b/pkgs/servers/memcached/default.nix
index 66e586a69d9..e326aff0d7e 100644
--- a/pkgs/servers/memcached/default.nix
+++ b/pkgs/servers/memcached/default.nix
@@ -1,12 +1,12 @@
 {stdenv, fetchurl, cyrus_sasl, libevent}:
 
 stdenv.mkDerivation rec {
-  version = "1.5.5";
+  version = "1.5.7";
   name = "memcached-${version}";
 
   src = fetchurl {
     url = "http://memcached.org/files/${name}.tar.gz";
-    sha256 = "1v87gvhxih5jav20cp9zdddna31s968xdm2iskc9mqzb5li6di72";
+    sha256 = "0ijfiy1w4hk3j8hhra6kablq8kjabvcdvsl8cwd4drvszjl0ddsv";
   };
 
   buildInputs = [cyrus_sasl libevent];
diff --git a/pkgs/servers/metabase/default.nix b/pkgs/servers/metabase/default.nix
new file mode 100644
index 00000000000..4eae86b00b0
--- /dev/null
+++ b/pkgs/servers/metabase/default.nix
@@ -0,0 +1,27 @@
+{ stdenv, fetchurl, makeWrapper, jre }:
+
+stdenv.mkDerivation rec {
+  name = "metabase-${version}";
+  version = "0.29.0";
+
+  src = fetchurl {
+    url = "http://downloads.metabase.com/v${version}/metabase.jar";
+    sha256 = "1dfq06cm8k36pkqpng4cd8ax8cdxbcssww4vapq2w9ccflpnlam2";
+  };
+
+  nativeBuildInputs = [ makeWrapper ];
+
+  unpackPhase = "true";
+
+  installPhase = ''
+    makeWrapper ${jre}/bin/java $out/bin/metabase --add-flags "-jar $src"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "The easy, open source way for everyone in your company to ask questions and learn from data.";
+    homepage    = https://metabase.com;
+    license     = licenses.agpl3;
+    platforms   = platforms.all;
+    maintainers = with maintainers; [ schneefux thoughtpolice ];
+  };
+}
diff --git a/pkgs/servers/minio/default.nix b/pkgs/servers/minio/default.nix
index ea77b32a866..786a188bbfd 100644
--- a/pkgs/servers/minio/default.nix
+++ b/pkgs/servers/minio/default.nix
@@ -3,13 +3,13 @@
 buildGoPackage rec {
   name = "minio-${version}";
 
-  version = "2018-02-09T22-40-05Z";
+  version = "2018-03-30T00-38-44Z";
 
   src = fetchFromGitHub {
     owner = "minio";
     repo = "minio";
     rev = "RELEASE.${version}";
-    sha256 = "0qxrzmkm5hza5xbx9dkrgadwjg3hykwf79hix3s0laqyksmpj9mk";
+    sha256 = "17vam9ifi632yfxakanxi2660wqgqrhrhhzywrgh2jmzljippf80";
   };
 
   goPackagePath = "github.com/minio/minio";
diff --git a/pkgs/servers/misc/client-ip-echo/client-ip-echo.nix b/pkgs/servers/misc/client-ip-echo/client-ip-echo.nix
index 08c08d7d3c1..92bbc309ed3 100644
--- a/pkgs/servers/misc/client-ip-echo/client-ip-echo.nix
+++ b/pkgs/servers/misc/client-ip-echo/client-ip-echo.nix
@@ -13,4 +13,5 @@ mkDerivation {
   executableHaskellDepends = [ base bytestring network ];
   description = "accepts TCP connections and echoes the client's IP address back to it";
   license = stdenv.lib.licenses.lgpl3;
+  broken = true; # 2018-04-10
 }
diff --git a/pkgs/servers/misc/taskserver/default.nix b/pkgs/servers/misc/taskserver/default.nix
index 0511c822ebe..466c3873c60 100644
--- a/pkgs/servers/misc/taskserver/default.nix
+++ b/pkgs/servers/misc/taskserver/default.nix
@@ -38,6 +38,6 @@ stdenv.mkDerivation rec {
     homepage = http://taskwarrior.org;
     license = stdenv.lib.licenses.mit;
     platforms = stdenv.lib.platforms.linux;
-    maintainers = with stdenv.lib.maintainers; [ matthiasbeyer makefu ];
+    maintainers = with stdenv.lib.maintainers; [ makefu ];
   };
 }
diff --git a/pkgs/servers/monitoring/cadvisor/default.nix b/pkgs/servers/monitoring/cadvisor/default.nix
index 695e5aa4558..0480d056c59 100644
--- a/pkgs/servers/monitoring/cadvisor/default.nix
+++ b/pkgs/servers/monitoring/cadvisor/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "cadvisor-${version}";
-  version = "0.28.3";
+  version = "0.29.1";
 
   src = fetchFromGitHub {
     owner = "google";
     repo = "cadvisor";
     rev = "v${version}";
-    sha256 = "1rdw09cbhs4il63lv1f92dw8pav9rjnkbrqx37lqij8x6xmv01gy";
+    sha256 = "132mpcp35cymm2zqig0yrvhnvgn72k7cmn6gla0v7r0yxfl879m3";
   };
 
   nativeBuildInputs = [ go ];
diff --git a/pkgs/servers/monitoring/facette/default.nix b/pkgs/servers/monitoring/facette/default.nix
new file mode 100644
index 00000000000..3858720bed5
--- /dev/null
+++ b/pkgs/servers/monitoring/facette/default.nix
@@ -0,0 +1,30 @@
+{ stdenv, fetchFromGitHub
+, go, pkgconfig, nodejs, nodePackages, pandoc, rrdtool }:
+
+stdenv.mkDerivation rec {
+  name = "facette-${version}";
+  version = "0.4.0";
+  src = fetchFromGitHub {
+    owner = "facette";
+    repo = "facette";
+    rev = "${version}";
+    sha256 = "1m7krq439qlf7b4l4bfjw0xfvjgj67w59mh8rf7c398rky04p257";
+  };
+  nativeBuildInputs = [ go pkgconfig nodejs nodePackages.npm pandoc ];
+  buildInputs = [ rrdtool ];
+  preBuild = ''
+    export HOME="$NIX_BUILD_ROOT" # npm needs a writable home
+  '';
+  makeFlags = [ "PREFIX=$(out)" ];
+
+  meta = with stdenv.lib; {
+    description = "Time series data visualization software";
+    longDescription = ''
+      Facette is a web application to display time series data from various
+      sources — such as collectd, Graphite, InfluxDB or KairosDB — on graphs.
+    '';
+    homepage = https://facette.io/;
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ fgaz ];
+  };
+}
diff --git a/pkgs/servers/monitoring/grafana/default.nix b/pkgs/servers/monitoring/grafana/default.nix
index 876209b9b02..f9fb4efa04b 100644
--- a/pkgs/servers/monitoring/grafana/default.nix
+++ b/pkgs/servers/monitoring/grafana/default.nix
@@ -1,7 +1,7 @@
 { lib, buildGoPackage, fetchurl, fetchFromGitHub, phantomjs2 }:
 
 buildGoPackage rec {
-  version = "5.0.0";
+  version = "5.1.2";
   name = "grafana-${version}";
   goPackagePath = "github.com/grafana/grafana";
 
@@ -9,12 +9,12 @@ buildGoPackage rec {
     rev = "v${version}";
     owner = "grafana";
     repo = "grafana";
-    sha256 = "1clkvi651wc4zx9bql5iwwnjgwgrj34dirs7ypi6rdgxissp89p9";
+    sha256 = "0iw0mr6m99z6vy9mz9fdhmn4fxi359n3ns71bm5a71np8lf4qs36";
   };
 
   srcStatic = fetchurl {
     url = "https://grafana-releases.s3.amazonaws.com/release/grafana-${version}.linux-x64.tar.gz";
-    sha256 = "1n2l5ybscc0g1npsa648wjwwb4qrj3f549nf0y6wsifp5k051lhd";
+    sha256 = "18bqmvyfjkvkrdbxa989aa6c7ri3b4wdb7ai543hiaz00s9mnpzm";
   };
 
   preBuild = "export GOPATH=$GOPATH:$NIX_BUILD_TOP/go/src/${goPackagePath}/Godeps/_workspace";
diff --git a/pkgs/servers/monitoring/heapster/default.nix b/pkgs/servers/monitoring/heapster/default.nix
index db3c518c729..39c04857638 100644
--- a/pkgs/servers/monitoring/heapster/default.nix
+++ b/pkgs/servers/monitoring/heapster/default.nix
@@ -10,7 +10,7 @@ buildGoPackage rec {
     inherit rev;
     owner = "kubernetes";
     repo = "heapster";
-    sha256 = "057z9imgd2gvcbvahja3i26jzgm33dmfaxraakmcr4a2xfhj50hq";
+    sha256 = "1vg83207y7yigydnnhlvzs3s94vx02i56lqgs6a96c6i3mr3ydpb";
   };
 
   preBuild = ''
diff --git a/pkgs/servers/monitoring/munin/default.nix b/pkgs/servers/monitoring/munin/default.nix
index 98e86bf8e36..62fc3c6f8f5 100644
--- a/pkgs/servers/monitoring/munin/default.nix
+++ b/pkgs/servers/monitoring/munin/default.nix
@@ -3,14 +3,14 @@
 }:
 
 stdenv.mkDerivation rec {
-  version = "2.0.34";
+  version = "2.0.37";
   name = "munin-${version}";
 
   src = fetchFromGitHub {
     owner = "munin-monitoring";
     repo = "munin";
     rev = version;
-    sha256 = "0mb5m0nc3nr9781d3s99sjdssmvkv37gxyplzr6d73i4hi31m7fr";
+    sha256 = "10niyzckx90dwdr4d7vj07d1qjy3nk7xzp30nqnlxzbaww7n5v78";
   };
 
   buildInputs = [ 
diff --git a/pkgs/servers/monitoring/nagios/plugins/check_ssl_cert.nix b/pkgs/servers/monitoring/nagios/plugins/check_ssl_cert.nix
index 4989a01c9e3..deac45eadb6 100644
--- a/pkgs/servers/monitoring/nagios/plugins/check_ssl_cert.nix
+++ b/pkgs/servers/monitoring/nagios/plugins/check_ssl_cert.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "check_ssl_cert-${version}";
-  version = "1.51.0";
+  version = "1.64.0";
 
   src = fetchFromGitHub {
     owner = "matteocorti";
     repo = "check_ssl_cert";
     rev = "v${version}";
-    sha256 = "07g4dhwp1plzmlqazapn0s0hysmf3kk0pa2x0wns482xm1v1mr05";
+    sha256 = "0pq297sbz9hzcaccnnsfmra0bac81cki9xfrnb22a1hgfhqjxy5r";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/servers/monitoring/net-snmp/default.nix b/pkgs/servers/monitoring/net-snmp/default.nix
index 77dcfa43c43..a6b738270a9 100644
--- a/pkgs/servers/monitoring/net-snmp/default.nix
+++ b/pkgs/servers/monitoring/net-snmp/default.nix
@@ -44,6 +44,7 @@ stdenv.mkDerivation rec {
   buildInputs = [ file perl unzip openssl ];
 
   enableParallelBuilding = true;
+  doCheck = false; # fails
 
   postInstall = ''
     for f in "$out/lib/"*.la $out/bin/net-snmp-config $out/bin/net-snmp-create-v3-user; do
diff --git a/pkgs/servers/monitoring/plugins/default.nix b/pkgs/servers/monitoring/plugins/default.nix
index 808257ca121..a0f7341571c 100644
--- a/pkgs/servers/monitoring/plugins/default.nix
+++ b/pkgs/servers/monitoring/plugins/default.nix
@@ -62,7 +62,7 @@ _EOF
   '';
 
   meta = {
-    description = "Official monitoring plugins for Nagios/Ichinga/Sensu and others.";
+    description = "Official monitoring plugins for Nagios/Icinga/Sensu and others.";
     homepage    = https://www.monitoring-plugins.org;
     license     = licenses.gpl2;
     platforms   = platforms.linux;
diff --git a/pkgs/servers/monitoring/prometheus/blackbox-exporter.nix b/pkgs/servers/monitoring/prometheus/blackbox-exporter.nix
index 047585e2fc0..798f31c3458 100644
--- a/pkgs/servers/monitoring/prometheus/blackbox-exporter.nix
+++ b/pkgs/servers/monitoring/prometheus/blackbox-exporter.nix
@@ -2,7 +2,7 @@
 
 buildGoPackage rec {
   name = "blackbox_exporter-${version}";
-  version = "0.11.0";
+  version = "0.12.0";
   rev = version;
 
   goPackagePath = "github.com/prometheus/blackbox_exporter";
@@ -11,7 +11,7 @@ buildGoPackage rec {
     rev = "v${version}";
     owner = "prometheus";
     repo = "blackbox_exporter";
-    sha256 = "1zwhyvjkf222bwvgim28yizk2vq0777dviqfkkc3vdhiwl9amr8v";
+    sha256 = "0gd3vymk3qdfjnf0rx9kwc6v0jv7f8l30igvj2v7bljar2d6hzxf";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/servers/monitoring/prometheus/default.nix b/pkgs/servers/monitoring/prometheus/default.nix
index 46c02c6bb95..3287bc6f258 100644
--- a/pkgs/servers/monitoring/prometheus/default.nix
+++ b/pkgs/servers/monitoring/prometheus/default.nix
@@ -1,42 +1,56 @@
 { stdenv, go, buildGoPackage, fetchFromGitHub }:
 
-buildGoPackage rec {
-  name = "prometheus-${version}";
-  version = "1.8.1";
-  rev = "v${version}";
-
+let
   goPackagePath = "github.com/prometheus/prometheus";
 
-  src = fetchFromGitHub {
-    inherit rev;
-    owner = "prometheus";
-    repo = "prometheus";
+  generic = { version, sha256, ... }@attrs:
+    let attrs' = builtins.removeAttrs attrs ["version" "sha256"]; in
+      buildGoPackage ({
+        name = "prometheus-${version}";
+
+        inherit goPackagePath;
+
+        src = fetchFromGitHub {
+          rev = "v${version}";
+          owner = "prometheus";
+          repo = "prometheus";
+          inherit sha256;
+        };
+
+        doCheck = true;
+
+        buildFlagsArray = let t = "${goPackagePath}/version"; in ''
+          -ldflags=
+             -X ${t}.Version=${version}
+             -X ${t}.Revision=unknown
+             -X ${t}.Branch=unknown
+             -X ${t}.BuildUser=nix@nixpkgs
+             -X ${t}.BuildDate=unknown
+             -X ${t}.GoVersion=${stdenv.lib.getVersion go}
+        '';
+
+        preInstall = ''
+          mkdir -p "$bin/share/doc/prometheus" "$bin/etc/prometheus"
+          cp -a $src/documentation/* $bin/share/doc/prometheus
+          cp -a $src/console_libraries $src/consoles $bin/etc/prometheus
+        '';
+
+        meta = with stdenv.lib; {
+          description = "Service monitoring system and time series database";
+          homepage = https://prometheus.io;
+          license = licenses.asl20;
+          maintainers = with maintainers; [ benley fpletz ];
+          platforms = platforms.unix;
+        };
+    } // attrs');
+in rec {
+  prometheus_1 = generic {
+    version = "1.8.1";
     sha256 = "07xvpjhhxc0r73qfmkvf94zhv19zv76privw6blg35k5nxcnj7j4";
   };
 
-  docheck = true;
-
-  buildFlagsArray = let t = "${goPackagePath}/version"; in ''
-    -ldflags=
-       -X ${t}.Version=${version}
-       -X ${t}.Revision=unknown
-       -X ${t}.Branch=unknown
-       -X ${t}.BuildUser=nix@nixpkgs
-       -X ${t}.BuildDate=unknown
-       -X ${t}.GoVersion=${stdenv.lib.getVersion go}
-  '';
-
-  preInstall = ''
-    mkdir -p "$bin/share/doc/prometheus" "$bin/etc/prometheus"
-    cp -a $src/documentation/* $bin/share/doc/prometheus
-    cp -a $src/console_libraries $src/consoles $bin/etc/prometheus
-  '';
-
-  meta = with stdenv.lib; {
-    description = "Service monitoring system and time series database";
-    homepage = https://prometheus.io;
-    license = licenses.asl20;
-    maintainers = with maintainers; [ benley fpletz ];
-    platforms = platforms.unix;
+  prometheus_2 = generic {
+    version = "2.2.1";
+    sha256 = "1zwxjmj8jh02i4y3i3zrkz7ml66zyhg3ad1npjzf3319mglsp7ch";
   };
 }
diff --git a/pkgs/servers/monitoring/prometheus/dovecot-exporter-deps.nix b/pkgs/servers/monitoring/prometheus/dovecot-exporter-deps.nix
index d19d595f066..c2dea18ee81 100644
--- a/pkgs/servers/monitoring/prometheus/dovecot-exporter-deps.nix
+++ b/pkgs/servers/monitoring/prometheus/dovecot-exporter-deps.nix
@@ -32,8 +32,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/golang/protobuf";
-      rev = "c65a0412e71e8b9b3bfd22925720d23c0f054237";
-      sha256 = "1ch3czyzq5abl6zm1l0dfsi09xj43ql9jcbmbhfhxz954pw03v3v";
+      rev = "bbd03ef6da3a115852eaf24c8a1c46aeb39aa175";
+      sha256 = "1pyli3dcagi7jzpiazph4fhkz7a3z4bhd25nwbb7g0iy69b8z1g4";
     };
   }
   {
@@ -50,8 +50,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/prometheus/client_golang";
-      rev = "06bc6e01f4baf4ee783ffcd23abfcb0b0f9dfada";
-      sha256 = "0dvv21214sn702kc25y5l0gd9d11358976d3w31fgwx7456mjx26";
+      rev = "c3324c1198cf3374996e9d3098edd46a6b55afc9";
+      sha256 = "19qcz5bpzj5kqyhmbq5kxr8nrqqlszazzq6w0wldis1yk1wwww00";
     };
   }
   {
@@ -68,8 +68,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/prometheus/common";
-      rev = "89604d197083d4781071d3c65855d24ecfb0a563";
-      sha256 = "169rdlaf2mk9z4fydz7ajmngyhmf3q1lk96yhvx46bn986x5xkyn";
+      rev = "e4aa40a9169a88835b849a6efb71e05dc04b88f0";
+      sha256 = "0m1n616d694jca0qjwjn5ci7scfgm2jpi94dhi356arm9lhda4jc";
     };
   }
   {
@@ -77,8 +77,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/prometheus/procfs";
-      rev = "cb4147076ac75738c9a7d279075a253c0cc5acbd";
-      sha256 = "0zhlrik0f9q1lj6cisgnxgbz4darbcix52hm5abi24l2ahchf5ca";
+      rev = "54d17b57dd7d4a3aa092476596b3f8a933bde349";
+      sha256 = "1b5218hi6k9i637k6xc7ynpll577zbnrhjm9jr2iczy3j0rr4rvr";
     };
   }
   {
diff --git a/pkgs/servers/monitoring/prometheus/dovecot-exporter.nix b/pkgs/servers/monitoring/prometheus/dovecot-exporter.nix
index e7cdfa616b4..86f43116f74 100644
--- a/pkgs/servers/monitoring/prometheus/dovecot-exporter.nix
+++ b/pkgs/servers/monitoring/prometheus/dovecot-exporter.nix
@@ -1,17 +1,16 @@
 { stdenv, buildGoPackage, fetchFromGitHub }:
 
 buildGoPackage rec {
-  name = "dovecot_exporter-unstable-${version}";
-  version = "2018-01-18";
-  rev = "4e831356533e2321031df73ebd25dd55dbd8d385";
+  name = "dovecot_exporter-${version}";
+  version = "0.1.1";
 
   goPackagePath = "github.com/kumina/dovecot_exporter";
 
   src = fetchFromGitHub {
     owner = "kumina";
     repo = "dovecot_exporter";
-    inherit rev;
-    sha256 = "0iky1i7m5mlknkhlpsxpjgigssg5m02nx5y7i4biddkqilfic74n";
+    rev = version;
+    sha256 = "0i7nfgkb5jqdbgr16i29jdsvh69dx9qgn6nazpw78k0lgy7mpidn";
   };
 
   goDeps = ./dovecot-exporter-deps.nix;
diff --git a/pkgs/servers/monitoring/prometheus/nginx-exporter.nix b/pkgs/servers/monitoring/prometheus/nginx-exporter.nix
index 013f80411ad..5c5042b6c7c 100644
--- a/pkgs/servers/monitoring/prometheus/nginx-exporter.nix
+++ b/pkgs/servers/monitoring/prometheus/nginx-exporter.nix
@@ -1,16 +1,16 @@
-{ stdenv, buildGoPackage, fetchgit }:
+{ stdenv, buildGoPackage, fetchFromGitHub }:
 
 buildGoPackage rec {
   name = "nginx_exporter-${version}";
-  version = "20161107-${stdenv.lib.strings.substring 0 7 rev}";
-  rev = "2d7dfd13458c0d82671c03dc54f3aa0110a49a05";
+  version = "0.1.0";
 
   goPackagePath = "github.com/discordianfish/nginx_exporter";
 
-  src = fetchgit {
-    inherit rev;
-    url = "https://github.com/discordianfish/nginx_exporter";
-    sha256 = "17mjbf8v4h7ja87y02ggmyzl3g8ms8s37mcpcq1niijgli37h75d";
+  src = fetchFromGitHub {
+    rev = "v${version}";
+    owner = "discordianfish";
+    repo = "nginx_exporter";
+    sha256 = "1xwxnvkzslaj44r44ag24a9qfzjdxwz67hhpkdq42193zqpnlim7";
   };
 
   goDeps = ./nginx-exporter_deps.nix;
@@ -18,8 +18,8 @@ buildGoPackage rec {
   meta = with stdenv.lib; {
     description = "Metrics relay from nginx stats to Prometheus";
     homepage = https://github.com/discordianfish/nginx_exporter;
-    license = licenses.asl20;
-    maintainers = with maintainers; [ benley fpletz ];
+    license = licenses.mit;
+    maintainers = with maintainers; [ benley fpletz willibutz ];
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/servers/monitoring/prometheus/nginx-exporter_deps.nix b/pkgs/servers/monitoring/prometheus/nginx-exporter_deps.nix
index 26b2bcaa8d2..2fa60de5b49 100644
--- a/pkgs/servers/monitoring/prometheus/nginx-exporter_deps.nix
+++ b/pkgs/servers/monitoring/prometheus/nginx-exporter_deps.nix
@@ -1,38 +1,38 @@
 [
   {
-    goPackagePath = "github.com/Sirupsen/logrus";
+    goPackagePath = "github.com/alecthomas/template";
     fetch = {
       type = "git";
-      url = "https://github.com/Sirupsen/logrus";
-      rev = "be52937128b38f1d99787bb476c789e2af1147f1";
-      sha256 = "1m6vvd4pg4lwglhk54lv5mf6cc8h7bi0d9zb3gar4crz531r66y4";
+      url = "https://github.com/alecthomas/template";
+      rev = "a0175ee3bccc567396460bf5acd36800cb10c49c";
+      sha256 = "0qjgvvh26vk1cyfq9fadyhfgdj36f1iapbmr5xp6zqipldz8ffxj";
     };
   }
   {
-    goPackagePath = "github.com/golang/protobuf";
+    goPackagePath = "github.com/alecthomas/units";
     fetch = {
       type = "git";
-      url = "https://github.com/golang/protobuf";
-      rev = "59b73b37c1e45995477aae817e4a653c89a858db";
-      sha256 = "1dx22jvhvj34ivpr7gw01fncg9yyx35mbpal4mpgnqka7ajmgjsa";
+      url = "https://github.com/alecthomas/units";
+      rev = "2efee857e7cfd4f3d0138cc3cbb1b4966962b93a";
+      sha256 = "1j65b91qb9sbrml9cpabfrcf07wmgzzghrl7809hjjhrmbzri5bl";
     };
   }
   {
-    goPackagePath = "github.com/prometheus/client_model";
+    goPackagePath = "github.com/beorn7/perks";
     fetch = {
       type = "git";
-      url = "https://github.com/prometheus/client_model";
-      rev = "fa8ad6fec33561be4280a8f0514318c79d7f6cb6";
-      sha256 = "11a7v1fjzhhwsl128znjcf5v7v6129xjgkdpym2lial4lac1dhm9";
+      url = "https://github.com/beorn7/perks";
+      rev = "3a771d992973f24aa725d07868b467d1ddfceafb";
+      sha256 = "1l2lns4f5jabp61201sh88zf3b0q793w4zdgp9nll7mmfcxxjif3";
     };
   }
   {
-    goPackagePath = "github.com/beorn7/perks";
+    goPackagePath = "github.com/golang/protobuf";
     fetch = {
       type = "git";
-      url = "https://github.com/beorn7/perks";
-      rev = "b965b613227fddccbfffe13eae360ed3fa822f8d";
-      sha256 = "1p8zsj4r0g61q922khfxpwxhdma2dx4xad1m5qx43mfn28kxngqk";
+      url = "https://github.com/golang/protobuf";
+      rev = "b4deda0973fb4c70b50d226b1af49f3da59f5265";
+      sha256 = "0ya4ha7m20bw048m1159ppqzlvda4x0vdprlbk5sdgmy74h3xcdq";
     };
   }
   {
@@ -40,8 +40,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/matttproud/golang_protobuf_extensions";
-      rev = "fc2b8d3a73c4867e51861bbdd5ae3c1f0869dd6a";
-      sha256 = "0ajg41h6402big484drvm72wvid1af2sffw0qkzbmpy04lq68ahj";
+      rev = "c12348ce28de40eed0136aa2b644d0ee0650e56c";
+      sha256 = "1d0c1isd2lk9pnfq2nk0aih356j30k3h1gi2w0ixsivi5csl7jya";
     };
   }
   {
@@ -49,8 +49,26 @@
     fetch = {
       type = "git";
       url = "https://github.com/prometheus/client_golang";
-      rev = "6dbab8106ed3ed77359ac85d9cf08e30290df864";
-      sha256 = "1i3g5h2ncdb8b67742kfpid7d0a1jas1pyicglbglwngfmzhpkna";
+      rev = "82f5ff156b29e276022b1a958f7d385870fb9814";
+      sha256 = "111j329yrlgvh73dm80gawwxsh9dgjkw74254kyj5c2rfmra7znz";
+    };
+  }
+  {
+    goPackagePath = "github.com/prometheus/client_model";
+    fetch = {
+      type = "git";
+      url = "https://github.com/prometheus/client_model";
+      rev = "99fa1f4be8e564e8a6b613da7fa6f46c9edafc6c";
+      sha256 = "19y4ywsivhpxj7ikf2j0gm9k3cmyw37qcbfi78n526jxcc7kw998";
+    };
+  }
+  {
+    goPackagePath = "github.com/prometheus/common";
+    fetch = {
+      type = "git";
+      url = "https://github.com/prometheus/common";
+      rev = "d811d2e9bf898806ecfb6ef6296774b13ffc314c";
+      sha256 = "0r4067r4ysmljksqw3awcxx5qplqhykahc5igdzgkky7i4bvaik1";
     };
   }
   {
@@ -58,26 +76,44 @@
     fetch = {
       type = "git";
       url = "https://github.com/prometheus/procfs";
-      rev = "c91d8eefde16bd047416409eb56353ea84a186e4";
-      sha256 = "0pj3gzw9b58l72w0rkpn03ayssglmqfmyxghhfad6mh0b49dvj3r";
+      rev = "8b1c2da0d56deffdbb9e48d4414b4e674bd8083e";
+      sha256 = "0x128p15h35mgwqxkigfkk1lfrcz9g697ahl8v6xp9kwvcqvjrrf";
+    };
+  }
+  {
+    goPackagePath = "github.com/sirupsen/logrus";
+    fetch = {
+      type = "git";
+      url = "https://github.com/sirupsen/logrus";
+      rev = "778f2e774c725116edbc3d039dc0dfc1cc62aae8";
+      sha256 = "0drlrl192k4qkpcf1b6nw2qlixply31x2jhcckjzl3hn4mzwi6nf";
+    };
+  }
+  {
+    goPackagePath = "golang.org/x/crypto";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/crypto";
+      rev = "ae8bce0030810cf999bb2b9868ae5c7c58e6343b";
+      sha256 = "0aihwcf0g8mq1sb96pwhpgvwxlf862pdhsfr7mdppz7bii4i9shw";
     };
   }
   {
-    goPackagePath = "bitbucket.org/ww/goautoneg";
+    goPackagePath = "golang.org/x/sys";
     fetch = {
-      type = "hg";
-      url = "bitbucket.org/ww/goautoneg";
-      rev = "75cd24fc2f2c2a2088577d12123ddee5f54e0675";
-      sha256 = "19khhn5xhqv1yp7d6k987gh5w5rhrjnp4p0c6fyrd8z6lzz5h9qi";
+      type = "git";
+      url = "https://go.googlesource.com/sys";
+      rev = "78d5f264b493f125018180c204871ecf58a2dce1";
+      sha256 = "0x23n60wskys39dwybz5za77ldky9i518kp58ragpd5528kcc68s";
     };
   }
   {
-    goPackagePath = "github.com/prometheus/log";
+    goPackagePath = "gopkg.in/alecthomas/kingpin.v2";
     fetch = {
       type = "git";
-      url = "https://github.com/prometheus/log";
-      rev = "439e5db48fbb50ebbaf2c816030473a62f505f55";
-      sha256 = "1fl23gsw2hn3c1y91qckr661sybqcw2gqnd1gllxn3hp6p2w6hxv";
+      url = "https://gopkg.in/alecthomas/kingpin.v2";
+      rev = "947dcec5ba9c011838740e680966fd7087a71d0d";
+      sha256 = "0mndnv3hdngr3bxp7yxfd47cas4prv98sqw534mx7vp38gd88n5r";
     };
   }
 ]
diff --git a/pkgs/servers/monitoring/prometheus/node-exporter.nix b/pkgs/servers/monitoring/prometheus/node-exporter.nix
index 8b70ad423e9..497f20ac55e 100644
--- a/pkgs/servers/monitoring/prometheus/node-exporter.nix
+++ b/pkgs/servers/monitoring/prometheus/node-exporter.nix
@@ -2,7 +2,7 @@
 
 buildGoPackage rec {
   name = "node_exporter-${version}";
-  version = "0.15.0";
+  version = "0.15.2";
   rev = "v${version}";
 
   goPackagePath = "github.com/prometheus/node_exporter";
@@ -11,7 +11,7 @@ buildGoPackage rec {
     inherit rev;
     owner = "prometheus";
     repo = "node_exporter";
-    sha256 = "0v1m6m9fmlw66s9v50y2rfr5kbpb9mxbwpcab4cmgcjs1y7wcn49";
+    sha256 = "1vxbkps80ba8c0ndawijg07am5gyc8y49h8fd0ky5h05zmkp25qv";
   };
 
   # FIXME: megacli test fails
diff --git a/pkgs/servers/monitoring/prometheus/postfix-exporter-deps.nix b/pkgs/servers/monitoring/prometheus/postfix-exporter-deps.nix
index ff35c033427..07bedaba9f3 100644
--- a/pkgs/servers/monitoring/prometheus/postfix-exporter-deps.nix
+++ b/pkgs/servers/monitoring/prometheus/postfix-exporter-deps.nix
@@ -5,8 +5,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/beorn7/perks";
-      rev = "4c0e84591b9aa9e6dcfdf3e020114cd81f89d5f9";
-      sha256 = "1hrybsql68xw57brzj805xx2mghydpdiysv3gbhr7f5wlxj2514y";
+      rev = "3a771d992973f24aa725d07868b467d1ddfceafb";
+      sha256 = "1l2lns4f5jabp61201sh88zf3b0q793w4zdgp9nll7mmfcxxjif3";
     };
   }
   {
@@ -14,8 +14,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/golang/protobuf";
-      rev = "c65a0412e71e8b9b3bfd22925720d23c0f054237";
-      sha256 = "1ch3czyzq5abl6zm1l0dfsi09xj43ql9jcbmbhfhxz954pw03v3v";
+      rev = "b4deda0973fb4c70b50d226b1af49f3da59f5265";
+      sha256 = "0ya4ha7m20bw048m1159ppqzlvda4x0vdprlbk5sdgmy74h3xcdq";
     };
   }
   {
@@ -32,8 +32,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/prometheus/client_golang";
-      rev = "06bc6e01f4baf4ee783ffcd23abfcb0b0f9dfada";
-      sha256 = "0dvv21214sn702kc25y5l0gd9d11358976d3w31fgwx7456mjx26";
+      rev = "82f5ff156b29e276022b1a958f7d385870fb9814";
+      sha256 = "111j329yrlgvh73dm80gawwxsh9dgjkw74254kyj5c2rfmra7znz";
     };
   }
   {
@@ -50,8 +50,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/prometheus/common";
-      rev = "89604d197083d4781071d3c65855d24ecfb0a563";
-      sha256 = "169rdlaf2mk9z4fydz7ajmngyhmf3q1lk96yhvx46bn986x5xkyn";
+      rev = "d811d2e9bf898806ecfb6ef6296774b13ffc314c";
+      sha256 = "0r4067r4ysmljksqw3awcxx5qplqhykahc5igdzgkky7i4bvaik1";
     };
   }
   {
@@ -59,8 +59,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/prometheus/procfs";
-      rev = "cb4147076ac75738c9a7d279075a253c0cc5acbd";
-      sha256 = "0zhlrik0f9q1lj6cisgnxgbz4darbcix52hm5abi24l2ahchf5ca";
+      rev = "8b1c2da0d56deffdbb9e48d4414b4e674bd8083e";
+      sha256 = "0x128p15h35mgwqxkigfkk1lfrcz9g697ahl8v6xp9kwvcqvjrrf";
     };
   }
 ]
diff --git a/pkgs/servers/monitoring/prometheus/postfix-exporter.nix b/pkgs/servers/monitoring/prometheus/postfix-exporter.nix
index 5438f8271d9..97df26aea4e 100644
--- a/pkgs/servers/monitoring/prometheus/postfix-exporter.nix
+++ b/pkgs/servers/monitoring/prometheus/postfix-exporter.nix
@@ -1,22 +1,53 @@
-{ stdenv, buildGoPackage, fetchFromGitHub }:
+{ stdenv, buildGoPackage, fetchFromGitHub, systemd, makeWrapper
+, withSystemdSupport ? true }:
+
+with stdenv.lib;
 
 buildGoPackage rec {
-  name = "postfix_exporter-unstable-${version}";
-  version = "2017-06-01";
-  rev = "a8b4bed735a03f234fcfffba85302f51025e6b1d";
+  name = "postfix_exporter-${version}";
+  version = "0.1.2";
 
   goPackagePath = "github.com/kumina/postfix_exporter";
 
   src = fetchFromGitHub {
     owner = "kumina";
     repo = "postfix_exporter";
-    inherit rev;
-    sha256 = "0rxvjpyjcvr1y8k8skq5f1bnl0mpgvaa04dn8c44v7afqnv78riy";
+    rev = version;
+    sha256 = "1b9ib3scxni6hlw55wv6f0z1xfn27l0p29as24f71rs70pyzy4hm";
   };
 
+  nativeBuildInputs = optional withSystemdSupport makeWrapper;
+  buildInputs = optional withSystemdSupport systemd;
+  buildFlags = optional (!withSystemdSupport) "-tags nosystemd";
+
   goDeps = ./postfix-exporter-deps.nix;
+  extraSrcs = optionals withSystemdSupport [
+    {
+      goPackagePath = "github.com/coreos/go-systemd";
+      src = fetchFromGitHub {
+        owner = "coreos";
+        repo = "go-systemd";
+        rev = "d1b7d058aa2adfc795ad17ff4aaa2bc64ec11c78";
+        sha256 = "1nz3v1b90hnmj2vjjwq96pr6psxlndqjyd30v9sgiwygzb7db9mv";
+      };
+    }
+    {
+      goPackagePath = "github.com/coreos/pkg";
+      src = fetchFromGitHub {
+        owner = "coreos";
+        repo = "pkg";
+        rev = "97fdf19511ea361ae1c100dd393cc47f8dcfa1e1";
+        sha256 = "1srn87wih25l09f75483hnxsr8fc6rq3bk7w1x8125ym39p6mg21";
+      };
+    }
+  ];
+
+  postInstall = optionalString withSystemdSupport ''
+    wrapProgram $bin/bin/postfix_exporter \
+      --prefix LD_LIBRARY_PATH : "${systemd.lib}/lib"
+  '';
 
-  meta = with stdenv.lib; {
+  meta = {
     inherit (src.meta) homepage;
     description = "A Prometheus exporter for Postfix";
     license = licenses.asl20;
diff --git a/pkgs/servers/monitoring/prometheus/snmp-exporter.nix b/pkgs/servers/monitoring/prometheus/snmp-exporter.nix
index 6915877ef4f..9fd7ae8591f 100644
--- a/pkgs/servers/monitoring/prometheus/snmp-exporter.nix
+++ b/pkgs/servers/monitoring/prometheus/snmp-exporter.nix
@@ -2,16 +2,15 @@
 
 buildGoPackage rec {
   name = "snmp_exporter-${version}";
-  version = "0.3.0";
-  rev = "v${version}";
+  version = "0.9.0";
 
   goPackagePath = "github.com/prometheus/snmp_exporter";
 
   src = fetchFromGitHub {
-    inherit rev;
     owner = "prometheus";
     repo = "snmp_exporter";
-    sha256 = "1cklsi3cpalmnp0qjkgb7xbgbkr014hk2z54gfynzvzqjmsbxk6a";
+    rev = "v${version}";
+    sha256 = "081ah4zyy53plhm6znwrx55phm2ysxzyx7d4hm8zzrv5r967rgl1";
   };
 
   buildInputs = [ net_snmp ];
@@ -22,7 +21,7 @@ buildGoPackage rec {
     description = "SNMP Exporter for Prometheus";
     homepage = https://github.com/prometheus/snmp_exporter;
     license = licenses.asl20;
-    maintainers = with maintainers; [ oida ];
+    maintainers = with maintainers; [ oida willibutz ];
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/servers/monitoring/prometheus/surfboard-exporter.nix b/pkgs/servers/monitoring/prometheus/surfboard-exporter.nix
new file mode 100644
index 00000000000..13e17d0b019
--- /dev/null
+++ b/pkgs/servers/monitoring/prometheus/surfboard-exporter.nix
@@ -0,0 +1,23 @@
+{ stdenv, lib, buildGoPackage, fetchFromGitHub }:
+
+buildGoPackage rec {
+  name = "surfboard_exporter-${version}";
+  version = "2.0.0";
+
+  goPackagePath = "github.com/ipstatic/surfboard_exporter";
+
+  src = fetchFromGitHub {
+    rev = version;
+    owner = "ipstatic";
+    repo = "surfboard_exporter";
+    sha256 = "11qms26648nwlwslnaflinxcr5rnp55s908rm1qpnbz0jnxf5ipw";
+  };
+
+  meta = with stdenv.lib; {
+    description = "Arris Surfboard signal metrics exporter";
+    homepage = https://github.com/ipstatic/surfboard_exporter;
+    license = licenses.mit;
+    maintainers = with maintainers; [ disassembler ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/servers/monitoring/prometheus/varnish-exporter.nix b/pkgs/servers/monitoring/prometheus/varnish-exporter.nix
index 707b1014e22..d83aa5b4665 100644
--- a/pkgs/servers/monitoring/prometheus/varnish-exporter.nix
+++ b/pkgs/servers/monitoring/prometheus/varnish-exporter.nix
@@ -1,26 +1,34 @@
 # This file was generated by go2nix.
-{ stdenv, buildGoPackage, fetchFromGitHub, lib }:
+{ stdenv, lib, buildGoPackage, fetchFromGitHub, makeWrapper, varnish }:
 
 buildGoPackage rec {
   name = "prometheus_varnish_exporter-${version}";
-  version = "1.2";
-  rev = "0f0e3e2";
+  version = "1.4";
 
   goPackagePath = "github.com/jonnenauha/prometheus_varnish_exporter";
 
   src = fetchFromGitHub {
-    inherit rev;
     owner = "jonnenauha";
     repo = "prometheus_varnish_exporter";
-    sha256 = "15vw3jqzm2nad81j14spib5v7q2jpibclzrnkd688003vkizlwyn";
+    rev = version;
+    sha256 = "12gd09858zlhn8gkkchfwxv0ca2r72s18wrsz0agfr8pd1gxqh6j";
   };
 
   goDeps = ./varnish-exporter_deps.nix;
 
+  nativeBuildInputs = [ makeWrapper ];
+
+  postInstall = ''
+    wrapProgram $bin/bin/prometheus_varnish_exporter \
+      --prefix PATH : "${varnish}/bin"
+  '';
+
+  doCheck = true;
+
   meta = {
     homepage = https://github.com/jonnenauha/prometheus_varnish_exporter;
     description = "Varnish exporter for Prometheus";
     license = lib.licenses.mit;
-    maintainers = with lib.maintainers; [ MostAwesomeDude ];
+    maintainers = with lib.maintainers; [ MostAwesomeDude willibutz ];
   };
 }
diff --git a/pkgs/servers/monitoring/prometheus/varnish-exporter_deps.nix b/pkgs/servers/monitoring/prometheus/varnish-exporter_deps.nix
index 09a09be36e3..19ff1e9aa56 100644
--- a/pkgs/servers/monitoring/prometheus/varnish-exporter_deps.nix
+++ b/pkgs/servers/monitoring/prometheus/varnish-exporter_deps.nix
@@ -1,12 +1,11 @@
-# This file was generated by go2nix.
 [
   {
     goPackagePath = "github.com/beorn7/perks";
     fetch = {
       type = "git";
       url = "https://github.com/beorn7/perks";
-      rev = "4c0e84591b9aa9e6dcfdf3e020114cd81f89d5f9";
-      sha256 = "1hrybsql68xw57brzj805xx2mghydpdiysv3gbhr7f5wlxj2514y";
+      rev = "3a771d992973f24aa725d07868b467d1ddfceafb";
+      sha256 = "1l2lns4f5jabp61201sh88zf3b0q793w4zdgp9nll7mmfcxxjif3";
     };
   }
   {
@@ -14,8 +13,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/golang/protobuf";
-      rev = "8ee79997227bf9b34611aee7946ae64735e6fd93";
-      sha256 = "0qm1lpdhf97k2hxgivq2cpjgawhlmmz39y230kgxijhm96xijxb8";
+      rev = "b4deda0973fb4c70b50d226b1af49f3da59f5265";
+      sha256 = "0ya4ha7m20bw048m1159ppqzlvda4x0vdprlbk5sdgmy74h3xcdq";
     };
   }
   {
@@ -32,8 +31,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/prometheus/client_golang";
-      rev = "575f371f7862609249a1be4c9145f429fe065e32";
-      sha256 = "0hyvszjv5m6i40k2fn21c3bjr8jhlfdqavk1r6g2v5dybyj47vps";
+      rev = "82f5ff156b29e276022b1a958f7d385870fb9814";
+      sha256 = "111j329yrlgvh73dm80gawwxsh9dgjkw74254kyj5c2rfmra7znz";
     };
   }
   {
@@ -41,8 +40,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/prometheus/client_model";
-      rev = "fa8ad6fec33561be4280a8f0514318c79d7f6cb6";
-      sha256 = "11a7v1fjzhhwsl128znjcf5v7v6129xjgkdpym2lial4lac1dhm9";
+      rev = "99fa1f4be8e564e8a6b613da7fa6f46c9edafc6c";
+      sha256 = "19y4ywsivhpxj7ikf2j0gm9k3cmyw37qcbfi78n526jxcc7kw998";
     };
   }
   {
@@ -50,8 +49,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/prometheus/common";
-      rev = "0d5de9d6d8629cb8bee6d4674da4127cd8b615a3";
-      sha256 = "1zlvvgw67p66fz9nswkydq15j4a5z5kkiskl0jxps8i27ya1baq0";
+      rev = "d811d2e9bf898806ecfb6ef6296774b13ffc314c";
+      sha256 = "0r4067r4ysmljksqw3awcxx5qplqhykahc5igdzgkky7i4bvaik1";
     };
   }
   {
@@ -59,8 +58,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/prometheus/procfs";
-      rev = "abf152e5f3e97f2fafac028d2cc06c1feb87ffa5";
-      sha256 = "0cp8lznv1b4zhi3wnbjkfxwzhkqd3wbmiy6mwgjanip8l9l3ykws";
+      rev = "8b1c2da0d56deffdbb9e48d4414b4e674bd8083e";
+      sha256 = "0x128p15h35mgwqxkigfkk1lfrcz9g697ahl8v6xp9kwvcqvjrrf";
     };
   }
 ]
diff --git a/pkgs/servers/monitoring/telegraf/default.nix b/pkgs/servers/monitoring/telegraf/default.nix
index 65a95c021c4..b7879cc763a 100644
--- a/pkgs/servers/monitoring/telegraf/default.nix
+++ b/pkgs/servers/monitoring/telegraf/default.nix
@@ -2,7 +2,7 @@
 
 buildGoPackage rec {
   name = "telegraf-${version}";
-  version = "1.5.1";
+  version = "1.6.1";
 
   goPackagePath = "github.com/influxdata/telegraf";
 
@@ -12,7 +12,7 @@ buildGoPackage rec {
     owner = "influxdata";
     repo = "telegraf";
     rev = "${version}";
-    sha256 = "0h3v80qvb9xmkmgbp46sqh76y4k84c0da586vdy3xmmbrbagnypv";
+    sha256 = "0zc3bgs1ad392lqv72rkppxmk33b404b8jfx3wbzll7fklwxa8g2";
   };
 
   buildFlagsArray = [ ''-ldflags=
diff --git a/pkgs/servers/monitoring/telegraf/deps-1.5.1.nix b/pkgs/servers/monitoring/telegraf/deps-1.6.1.nix
index 916b4688a06..fb98b8686cc 100644
--- a/pkgs/servers/monitoring/telegraf/deps-1.5.1.nix
+++ b/pkgs/servers/monitoring/telegraf/deps-1.6.1.nix
@@ -185,8 +185,17 @@
     fetch = {
       type = "git";
       url = "https://github.com/eclipse/paho.mqtt.golang";
-      rev = "d4f545eb108a2d19f9b1a735689dbfb719bc21fb";
-      sha256 = "01cnca8y5caramqn6p8aigj6l5p6z0nrs2xqqv90658x584138kh";
+      rev = "aff15770515e3c57fc6109da73d42b0d46f7f483";
+      sha256 = "1blfvrp1d5jqxxqdw7xd0ns1qiml45k0nch9jwpi0ddg7hckii2d";
+    };
+  }
+  {
+    goPackagePath = "github.com/go-redis/redis";
+    fetch = {
+      type = "git";
+      url = "https://github.com/go-redis/redis";
+      rev = "73b70592cdaa9e6abdfcfbf97b4a90d80728c836";
+      sha256 = "0b6xwajnk65bdq98czv137gvypwnznkjnm2ksnxm87nyj2vyddm9";
     };
   }
   {
@@ -257,8 +266,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/influxdata/tail";
-      rev = "a395bf99fe07c233f41fba0735fa2b13b58588ea";
-      sha256 = "0bmkv932xhjpxwp8n74xy8wf34kiiknwq8agfbnz931apq6iw9b0";
+      rev = "c43482518d410361b6c383d7aebce33d0471d7bc";
+      sha256 = "0kf155nz9wvwawsbgaa76q4r975l7945nlvnh4ig60xm0jv8580b";
     };
   }
   {
@@ -361,6 +370,15 @@
     };
   }
   {
+    goPackagePath = "github.com/nats-io/gnatsd";
+    fetch = {
+      type = "git";
+      url = "https://github.com/nats-io/gnatsd";
+      rev = "393bbb7c031433e68707c8810fda0bfcfbe6ab9b";
+      sha256 = "1hnn4p24gm90siixdvj97csrxnr78svxmypglcjska474adhhnzz";
+    };
+  }
+  {
     goPackagePath = "github.com/nats-io/go-nats";
     fetch = {
       type = "git";
@@ -509,8 +527,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/shirou/gopsutil";
-      rev = "384a55110aa5ae052eb93ea94940548c1e305a99";
-      sha256 = "00idmnsmalxhm1y60lhm9vyck1ay7gbp0r35fgs8bbiwq351bs23";
+      rev = "a5c2888e464b14fa882c2a059e0f95716bd45cf1";
+      sha256 = "1czzl00lxcyhmf6x7wmw3dxmnyqij8lcahn5mv325csgyym4vm4w";
     };
   }
   {
@@ -518,8 +536,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/soniah/gosnmp";
-      rev = "5ad50dc75ab389f8a1c9f8a67d3a1cd85f67ed15";
-      sha256 = "0dqz0w077xfk9fj5dd8xa6sqgdvjpb8vx997wnqpi3kbii1b9jnb";
+      rev = "f15472a4cd6f6ea7929e4c7d9f163c49f059924f";
+      sha256 = "1blhxq9sayfg7zih5rj0dg2qj9h10m6sbri57hxya9iz3jfgcx11";
     };
   }
   {
@@ -536,8 +554,26 @@
     fetch = {
       type = "git";
       url = "https://github.com/stretchr/testify";
-      rev = "4d4bfba8f1d1027c4fdbe371823030df51419987";
-      sha256 = "1d3yz1d2s88byjzmn60jbi1m9s552f7ghzbzik97fbph37i8yjhp";
+      rev = "12b6f73e6084dad08a7c6e575284b177ecafbc71";
+      sha256 = "01f80s0q64pw5drfgqwwk1wfwwkvd2lhbs56lhhkff4ni83k73fd";
+    };
+  }
+  {
+    goPackagePath = "github.com/tidwall/gjson";
+    fetch = {
+      type = "git";
+      url = "https://github.com/tidwall/gjson";
+      rev = "0623bd8fbdbf97cc62b98d15108832851a658e59";
+      sha256 = "0g6rhilcmqpdvjdds7ykzhrlsjx234chf73l8sjah0rsd03207k0";
+    };
+  }
+  {
+    goPackagePath = "github.com/tidwall/match";
+    fetch = {
+      type = "git";
+      url = "https://github.com/tidwall/match";
+      rev = "173748da739a410c5b0b813b956f89ff94730b4c";
+      sha256 = "0a4hp323gnjam3nfxfljq7d24m7rgk5vxbscjmi3ik3ph78r5avg";
     };
   }
   {
diff --git a/pkgs/servers/monitoring/uchiwa/bower-packages.nix b/pkgs/servers/monitoring/uchiwa/bower-packages.nix
index 618c3a33cd7..f18ea387551 100644
--- a/pkgs/servers/monitoring/uchiwa/bower-packages.nix
+++ b/pkgs/servers/monitoring/uchiwa/bower-packages.nix
@@ -1,15 +1,15 @@
 # Generated by bower2nix v3.2.0 (https://github.com/rvl/bower2nix)
 { fetchbower, buildEnv }:
 buildEnv { name = "bower-env"; ignoreCollisions = true; paths = [
-  (fetchbower "uchiwa-web" "1.1.2" "1.1.2" "174flmnqjm0avpvi71ii5cvas2wkgz42is38r7n4zyrhagzlj66k")
-  (fetchbower "angular" "1.6.8" "~1.6.3" "07bwbahxaz5myjj7sqv7k211avs23a9j7msl373h1qvp05fblajf")
+  (fetchbower "uchiwa-web" "1.2.0" "1.2.0" "0733ha6bahzg9qlvhz75agi8hwwqdk99hfx9j8dhpdf1v5xkj2fz")
+  (fetchbower "angular" "1.6.10" "~1.6.3" "0ag8xddsgxx5yka4wjq4ala4y6z3x2g1vc3x7a1n291fzz26p7ws")
   (fetchbower "angular-bootstrap" "2.2.0" "~2.2.0" "11r2nlwp6xrim2y6lnrr8v064mx3bmlxchqpg1i803v9zxz3q53d")
-  (fetchbower "angular-cookies" "1.6.8" "~1.6.3" "0p3skdg2pmzgwm9a0gyl1vhq4lcwyrymmii7lxlrmypjhwm83il6")
+  (fetchbower "angular-cookies" "1.6.10" "~1.6.3" "0bjgmz5jnw06dfxhq9sajj62fk0b3v4j9p7nb45x8bl8rzkf25pn")
   (fetchbower "angular-gravatar" "0.4.2" "~0.4.2" "14jrzvjwx64awh9z95054manp8qd57fvinqhmakipz5x12i7qrwi")
   (fetchbower "angular-moment" "1.0.1" "~1.0.1" "0zkn52s9l15d6b5zfx52g5jpib23rpb637m0p1hzc429w5bbl0rj")
-  (fetchbower "angular-resource" "1.6.8" "~1.6.3" "0pnv12c61i8giwj0fmzf38f3x6ckf24g6izrak9y7zy28nlb3y5q")
-  (fetchbower "angular-route" "1.6.8" "~1.6.3" "0k8sy5dkn589w8ykn65fhrcrfi7wkn7gagwwl5j5zgzj4m91wlar")
-  (fetchbower "angular-sanitize" "1.6.8" "~1.6.3" "0q7hy5iyjlf745yisphwa5b8rvkhc43zwwmiwfkqcdcbf3w6564l")
+  (fetchbower "angular-resource" "1.6.10" "~1.6.3" "1gplq8kd49qakk7ardg5xr5amwvspaz9n71kf8x49xfllda61rm0")
+  (fetchbower "angular-route" "1.6.10" "~1.6.3" "0vwbn7i45yvsn8c469nj141ahrn7iw85j7hy3vvhh2r373j94mai")
+  (fetchbower "angular-sanitize" "1.6.10" "~1.6.3" "066gsdl19s27w00wafg2skf5abdsdrlzhkcagkk1ma39dyqyl4i3")
   (fetchbower "angular-toastr" "1.6.0" "1.6.0" "1szigf1m28bgpfyg8hbm5rffr5zi7wr9n73nc1fqhk0yqh7gzysh")
   (fetchbower "angular-tools/ng-jsoneditor" "ea138469f157d8f2b54ec5b8dcf4b08a55b61459" "ea138469f157d8f2b54ec5b8dcf4b08a55b61459" "1j3vysr01niabc9fxcpixhcq1lyx2fr4q4wpmxhmiqki431h9hq8")
   (fetchbower "angular-ua-parser" "0.0.2" "0.0.2" "0gb0vmwksnydlm6hklfq1n4ak2967wcmnx3cx9cgiv7v7vk3w2m9")
diff --git a/pkgs/servers/monitoring/uchiwa/src.nix b/pkgs/servers/monitoring/uchiwa/src.nix
index 3e0ead7b495..0cf6815fbe5 100644
--- a/pkgs/servers/monitoring/uchiwa/src.nix
+++ b/pkgs/servers/monitoring/uchiwa/src.nix
@@ -1,4 +1,4 @@
 {
-    version = "1.1.2-1";
-    sha256  = "0fmzpjwmv7fkl0ihy2gzcgfd384k3wnifg42gzap770d6kl6yj1c";
+    version = "1.2.0-1";
+    sha256  = "1gj9cr0gkiivxdlq7ha6gxq9s8s26j79crijkrlrsqpg59jz063p";
 }
diff --git a/pkgs/servers/monitoring/zabbix/3.4.nix b/pkgs/servers/monitoring/zabbix/3.4.nix
new file mode 100644
index 00000000000..332e139f428
--- /dev/null
+++ b/pkgs/servers/monitoring/zabbix/3.4.nix
@@ -0,0 +1,40 @@
+{ stdenv, fetchurl, pkgconfig, postgresql, curl, openssl, zlib, pcre, libevent, libiconv }:
+
+
+let
+
+  version = "3.4.8";
+  branch = "3.4";
+
+  src = fetchurl {
+    url = "https://netix.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/${version}/zabbix-${version}.tar.gz";
+    sha256 = "cec14993d1ec2c9d8c51f6608c9408620f27174db92edc2347bafa7b841ccc07";
+  };
+
+in
+
+{
+  agent = stdenv.mkDerivation {
+    name = "zabbix-agent-${version}";
+
+    inherit src;
+
+     configureFlags = [
+      "--enable-agent"
+      "--with-libpcre=${pcre.dev}"
+      "--with-iconv=${libiconv}"
+    ];
+    buildInputs = [ pcre libiconv ];
+
+    meta = with stdenv.lib; {
+      inherit branch;
+      description = "An enterprise-class open source distributed monitoring solution (client-side agent)";
+      homepage = http://www.zabbix.com/;
+      license = licenses.gpl2;
+      maintainers = [ maintainers.eelco ];
+      platforms = platforms.linux;
+    };
+  };
+
+}
+
diff --git a/pkgs/servers/monitoring/zipkin/default.nix b/pkgs/servers/monitoring/zipkin/default.nix
new file mode 100644
index 00000000000..2925a8f2dc5
--- /dev/null
+++ b/pkgs/servers/monitoring/zipkin/default.nix
@@ -0,0 +1,26 @@
+{stdenv, fetchurl, makeWrapper, jre}:
+stdenv.mkDerivation rec {
+  version = "1.28.1";
+  name = "zipkin-server-${version}";
+  src = fetchurl {
+    url = "https://search.maven.org/remotecontent?filepath=io/zipkin/java/zipkin-server/${version}/zipkin-server-${version}-exec.jar";
+    sha256 = "02369fkv0kbl1isq6y26fh2zj5wxv3zck522m5wypsjlcfcw2apa";
+  };
+  buildInputs = [ makeWrapper ];
+
+  buildCommand =
+  ''
+    mkdir -p $out/share/java
+    cp ${src} $out/share/java/zipkin-server-${version}-exec.jar
+    mkdir -p $out/bin
+    makeWrapper ${jre}/bin/java $out/bin/zipkin-server \
+      --add-flags "-cp $out/share/java/zipkin-server-${version}-exec.jar org.springframework.boot.loader.JarLauncher"
+  '';
+  meta = with stdenv.lib; {
+    description = "Zipkin distributed tracing system";
+    homepage = "http://zipkin.io/";
+    license = licenses.asl20;
+    platforms = platforms.unix;
+    maintainers = [ maintainers.hectorj ];
+  };
+}
diff --git a/pkgs/servers/mpd/clientlib.nix b/pkgs/servers/mpd/clientlib.nix
index dab63a5bad8..478d4372267 100644
--- a/pkgs/servers/mpd/clientlib.nix
+++ b/pkgs/servers/mpd/clientlib.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchFromGitHub, meson, ninja, fixDarwinDylibNames }:
 
 stdenv.mkDerivation rec {
-  version = "2.13";
+  version = "2.14";
   name = "libmpdclient-${version}";
 
   src = fetchFromGitHub {
     owner  = "MusicPlayerDaemon";
     repo   = "libmpdclient";
     rev    = "v${version}";
-    sha256 = "1g1n6rk8kn87mbjqxxj0vi7haj8xx21xmqlzbrx2fvyp5357zvsq";
+    sha256 = "15vn9m4qcsccff5rg7jkzy5503skz6bmqqk6qc2smgvjgwn533sm";
   };
 
   nativeBuildInputs = [ meson ninja ]
diff --git a/pkgs/servers/mqtt/mosquitto/default.nix b/pkgs/servers/mqtt/mosquitto/default.nix
index c157064fcb2..bce69370d2b 100644
--- a/pkgs/servers/mqtt/mosquitto/default.nix
+++ b/pkgs/servers/mqtt/mosquitto/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "mosquitto";
-  version = "1.4.14";
+  version = "1.4.15";
 
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "http://mosquitto.org/files/source/mosquitto-${version}.tar.gz";
-    sha256 = "1la2577h7hcyj7lq26vizj0sh2zmi9m7nbxjp3aalayi66kiysqm";
+    sha256 = "10wsm1n4y61nz45zwk4zjhvrfd86r2cq33370m5wjkivb8j3wfvx";
   };
 
   buildInputs = [ openssl libuuid libwebsockets c-ares libuv ]
diff --git a/pkgs/servers/nextcloud/default.nix b/pkgs/servers/nextcloud/default.nix
index 2e423246c51..7513d3c71d2 100644
--- a/pkgs/servers/nextcloud/default.nix
+++ b/pkgs/servers/nextcloud/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name= "nextcloud-${version}";
-  version = "13.0.0";
+  version = "13.0.2";
 
   src = fetchurl {
     url = "https://download.nextcloud.com/server/releases/${name}.tar.bz2";
-    sha256 = "38e6064432a2d1a044f219028d3fd46cb7a943a47e11eef346810bd289705aec";
+    sha256 = "0zf4z4cn4wwsybxirvzyk7l6xjw9gkc60lzm8jqz9aak3a5gk5kk";
   };
 
   installPhase = ''
diff --git a/pkgs/servers/nextcloud/news-updater.nix b/pkgs/servers/nextcloud/news-updater.nix
index a78b3d59095..0fcb5047549 100644
--- a/pkgs/servers/nextcloud/news-updater.nix
+++ b/pkgs/servers/nextcloud/news-updater.nix
@@ -2,11 +2,11 @@
 
 python3Packages.buildPythonApplication rec {
   name = "nextcloud-news-updater-${version}";
-  version = "10.0.0";
+  version = "10.0.1";
 
   src = fetchurl {
     url = "mirror://pypi/n/nextcloud_news_updater/nextcloud_news_updater-${version}.tar.gz";
-    sha256 = "00pscz0p4s10y1ymb6sm0gx4a5wdbhimn30582x8i28n58nnl8j0";
+    sha256 = "14jj3w417wfsm1ki34d980b0s6vfn8i29g4c66qb2fizdq1d0z6q";
   };
 
   doCheck = false;
diff --git a/pkgs/servers/nosql/apache-jena/binary.nix b/pkgs/servers/nosql/apache-jena/binary.nix
index b028fcdf37d..f3d5d121c38 100644
--- a/pkgs/servers/nosql/apache-jena/binary.nix
+++ b/pkgs/servers/nosql/apache-jena/binary.nix
@@ -3,10 +3,10 @@ let
   s = # Generated upstream information
   rec {
     baseName="apache-jena";
-    version = "3.5.0";
+    version = "3.7.0";
     name="${baseName}-${version}";
     url="http://archive.apache.org/dist/jena/binaries/apache-jena-${version}.tar.gz";
-    sha256 = "08hfn359l9s4lckba9xgghkn32r12gqzjjr5s5hn3fzkbsig7njy";
+    sha256 = "12w125hlhcib23cckk77cx7p9rzs57dbmmn90f7v8107d437j4mq";
   };
   buildInputs = [
     makeWrapper
diff --git a/pkgs/servers/nosql/apache-jena/fuseki-binary.nix b/pkgs/servers/nosql/apache-jena/fuseki-binary.nix
index 4f9b3a6b443..bd291356b43 100644
--- a/pkgs/servers/nosql/apache-jena/fuseki-binary.nix
+++ b/pkgs/servers/nosql/apache-jena/fuseki-binary.nix
@@ -3,10 +3,10 @@ let
   s = # Generated upstream information
   rec {
     baseName="apache-jena-fuseki";
-    version = "3.5.0";
+    version = "3.7.0";
     name="${baseName}-${version}";
     url="http://archive.apache.org/dist/jena/binaries/apache-jena-fuseki-${version}.tar.gz";
-    sha256 = "0pdq103vqpkbwi84yyigw4dy60ch7xzazaj3gfcbipg73v81wpvp";
+    sha256 = "1824rvdrs9yhjinac2vkvkxvns8bfdvy91k5ghzzk0nrdcj31pmr";
   };
   buildInputs = [
     makeWrapper
diff --git a/pkgs/servers/nosql/arangodb/default.nix b/pkgs/servers/nosql/arangodb/default.nix
index 238cd20d75e..b1003687a04 100644
--- a/pkgs/servers/nosql/arangodb/default.nix
+++ b/pkgs/servers/nosql/arangodb/default.nix
@@ -3,14 +3,14 @@
 
 let
 in stdenv.mkDerivation rec {
-  version = "3.3.3";
+  version = "3.3.8";
   name    = "arangodb-${version}";
 
   src = fetchFromGitHub {
     repo = "arangodb";
     owner = "arangodb";
     rev = "v${version}";
-    sha256 = "0hw6yzxmhmnb7qz30pqjdbgin41w892pbf1xbl2821nsz9b290sd";
+    sha256 = "07qz5fv4w00hs31hmx099vlzlv0x5i10b5i4h8r0bkprih8k3vg3";
   };
 
   buildInputs = [
diff --git a/pkgs/servers/nosql/cassandra/3.11.nix b/pkgs/servers/nosql/cassandra/3.11.nix
index 4647260b1e2..f18b6256d3f 100644
--- a/pkgs/servers/nosql/cassandra/3.11.nix
+++ b/pkgs/servers/nosql/cassandra/3.11.nix
@@ -1,6 +1,6 @@
 { callPackage, ... } @ args:
 
 callPackage ./generic.nix (args // {
-  version = "3.11.1";
-  sha256 = "1vgh4ysnl4xg8g5v6zm78h3sq308r7s17ppbw0ck4bwyfnbddvkg";
+  version = "3.11.2";
+  sha256 = "0867i3irsji3qkjpp2s171xmjf2r8yhwzhs24ka8hljxv457f8p9";
 })
diff --git a/pkgs/servers/nosql/cassandra/generic.nix b/pkgs/servers/nosql/cassandra/generic.nix
index 50b56213b30..48875b093a8 100644
--- a/pkgs/servers/nosql/cassandra/generic.nix
+++ b/pkgs/servers/nosql/cassandra/generic.nix
@@ -10,7 +10,8 @@ let
     gawk
     which
     jre
-  ] ++ stdenv.lib.optional stdenv.isLinux procps);
+    procps
+  ]);
 in
 
 stdenv.mkDerivation rec {
diff --git a/pkgs/servers/nosql/eventstore/default.nix b/pkgs/servers/nosql/eventstore/default.nix
index e6bf634b554..3ec00dfa16e 100644
--- a/pkgs/servers/nosql/eventstore/default.nix
+++ b/pkgs/servers/nosql/eventstore/default.nix
@@ -5,12 +5,12 @@
 
 stdenv.mkDerivation rec {
   name = "EventStore-${version}";
-  version = "4.0.3";
+  version = "4.1.0";
   src = fetchFromGitHub {
     owner  = "EventStore";
     repo   = "EventStore";
     rev    = "oss-v${version}";
-    sha256 = "1905bnqyyiqprva67cp49rgib324iipw2l71jzj0ynzi7kxr4mgg";
+    sha256 = "0mvjz327kfg157fwvy8xkkf5h0g3v373pfwr70cslsy96n45jp10";
   };
 
   buildPhase = ''
diff --git a/pkgs/servers/nosql/neo4j/default.nix b/pkgs/servers/nosql/neo4j/default.nix
index 3b875576529..bc67e7eaf43 100644
--- a/pkgs/servers/nosql/neo4j/default.nix
+++ b/pkgs/servers/nosql/neo4j/default.nix
@@ -4,11 +4,11 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   name = "neo4j-${version}";
-  version = "3.3.2";
+  version = "3.3.4";
 
   src = fetchurl {
     url = "http://dist.neo4j.org/neo4j-community-${version}-unix.tar.gz";
-    sha256 = "0vjzc38sacnbcw781qzng9lqwwahndfc3wia5yvxji094zqp8ala";
+    sha256 = "072pk0x1iyg6kasjah8qpki2z462qp0rvgn93y6ngi6zvrpdlbyc";
   };
 
   buildInputs = [ makeWrapper jre8 which gawk ];
diff --git a/pkgs/servers/nosql/redis/default.nix b/pkgs/servers/nosql/redis/default.nix
index 745376f61e4..07489b62728 100644
--- a/pkgs/servers/nosql/redis/default.nix
+++ b/pkgs/servers/nosql/redis/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, lua }:
 
 stdenv.mkDerivation rec {
-  version = "4.0.7";
+  version = "4.0.9";
   name = "redis-${version}";
 
   src = fetchurl {
     url = "http://download.redis.io/releases/${name}.tar.gz";
-    sha256 = "1lgcc5k6bg7f34lxbfx0xv74nj66khd5x8g1igyy2h7v8inm9fhv";
+    sha256 = "0465bv6yxnwmas3wzg07vmrprv2pxhnr56hn5pxrybwf66y76kyz";
   };
 
   buildInputs = [ lua ];
diff --git a/pkgs/servers/oauth2_proxy/default.nix b/pkgs/servers/oauth2_proxy/default.nix
index b58fc342ded..d9919005e39 100644
--- a/pkgs/servers/oauth2_proxy/default.nix
+++ b/pkgs/servers/oauth2_proxy/default.nix
@@ -1,17 +1,25 @@
-{ stdenv, lib, buildGoPackage, fetchgit, fetchhg, fetchbzr, fetchsvn }:
+{ stdenv, lib, buildGoPackage, fetchFromGitHub }:
 
 buildGoPackage rec {
   name = "oauth2_proxy-${version}";
-  version = "20160120-${stdenv.lib.strings.substring 0 7 rev}";
-  rev = "10f47e325b782a60b8689653fa45360dee7fbf34";
+  version = "20180325-${stdenv.lib.strings.substring 0 7 rev}";
+  rev = "a94b0a8b25e553f7333f7b84aeb89d9d18ec259b";
   
   goPackagePath = "github.com/bitly/oauth2_proxy";
 
-  src = fetchgit {
+  src = fetchFromGitHub {
     inherit rev;
-    url = "https://github.com/bitly/oauth2_proxy";
-    sha256 = "13f6kaq15f6ial9gqzrsx7i94jhd5j70js2k93qwxcw1vkh1b6si";
+    repo = "oauth2_proxy";
+    owner = "bitly";
+    sha256 = "07m258s9fxjsgixggw0d1zicd7l6l2rkm5mh3zdjdaj20sqcj217";
   };
 
   goDeps = ./deps.nix;
+
+  meta = with lib; {
+    description = "A reverse proxy that provides authentication with Google, Github or other provider";
+    homepage = https://github.com/bitly/oauth2_proxy/;
+    license = licenses.mit;
+    maintainers = [ maintainers.yorickvp ];
+  };
 }
diff --git a/pkgs/servers/oauth2_proxy/deps.nix b/pkgs/servers/oauth2_proxy/deps.nix
index 37ddbbde64e..435c7d12782 100644
--- a/pkgs/servers/oauth2_proxy/deps.nix
+++ b/pkgs/servers/oauth2_proxy/deps.nix
@@ -1,20 +1,21 @@
+# This file was generated by https://github.com/kamilchm/go2nix v1.2.1
 [
   {
-    goPackagePath = "gopkg.in/fsnotify.v1";
+    goPackagePath = "cloud.google.com/go";
     fetch = {
       type = "git";
-      url = "https://gopkg.in/fsnotify.v1";
-      rev = "96c060f6a6b7e0d6f75fddd10efeaca3e5d1bcb0";
-      sha256 = "1308z1by82fbymcra26wjzw7lpjy91kbpp2skmwqcq4q1iwwzvk2";
+      url = "https://code.googlesource.com/gocloud";
+      rev = "d27f27d9b3cf75c9901d9981f9af50bbfd9002da";
+      sha256 = "18vdhkymm4cqh5fjyz0ia0bc2mpmarjk6w6zh9ydm2d4nkj36cm5";
     };
   }
   {
-    goPackagePath = "golang.org/x/net";
+    goPackagePath = "github.com/BurntSushi/toml";
     fetch = {
       type = "git";
-      url = "https://go.googlesource.com/net";
-      rev = "62ac18b461605b4be188bbc7300e9aa2bc836cd4";
-      sha256 = "0lwwvbbwbf3yshxkfhn6z20gd45dkvnmw2ms36diiy34krgy402p";
+      url = "https://github.com/BurntSushi/toml";
+      rev = "a368813c5e648fee92e5f6c30e3944ff9d5e8895";
+      sha256 = "1sjxs2lwc8jpln80s4rlzp7nprbcljhy5mz4rf9995gq93wqnym5";
     };
   }
   {
@@ -22,17 +23,26 @@
     fetch = {
       type = "git";
       url = "https://github.com/bitly/go-simplejson";
-      rev = "18db6e68d8fd9cbf2e8ebe4c81a78b96fd9bf05a";
-      sha256 = "0lj9cxyncchlw6p35j0yym5q5waiz0giw6ri41qdwm8y3dghwwiy";
+      rev = "0c965951289cce37dec52ad1f34200fefc816777";
+      sha256 = "0ys37wshd430dizzbg39x5mw55daih2q4qj5l9gr3qbmq9qdn0f3";
     };
   }
   {
-    goPackagePath = "github.com/BurntSushi/toml";
+    goPackagePath = "github.com/coreos/go-oidc";
     fetch = {
       type = "git";
-      url = "https://github.com/BurntSushi/toml";
-      rev = "056c9bc7be7190eaa7715723883caffa5f8fa3e4";
-      sha256 = "0gkgkw04ndr5y7hrdy0r4v2drs5srwfcw2bs1gyas066hwl84xyw";
+      url = "https://github.com/coreos/go-oidc";
+      rev = "065b426bd41667456c1a924468f507673629c46b";
+      sha256 = "10xhrh70rccgydi708dc9xl4ivmjnzhh1skd1ij6xl1i3x8lk3g6";
+    };
+  }
+  {
+    goPackagePath = "github.com/mbland/hmacauth";
+    fetch = {
+      type = "git";
+      url = "https://github.com/mbland/hmacauth";
+      rev = "44256dfd4bfa7594cfa73587a464ca890e85971a";
+      sha256 = "1d5pbjgc5j8pi3frsjp5gqg7j12bxdbl55nhy01cv4c96hay2ij1";
     };
   }
   {
@@ -40,26 +50,35 @@
     fetch = {
       type = "git";
       url = "https://github.com/mreiferson/go-options";
-      rev = "7c174072188d0cfbe6f01bb457626abb22bdff52";
-      sha256 = "0ksyi2cb4k6r2fxamljg42qbz5hdcb9kv5i7y6cx4ajjy0xznwgm";
+      rev = "77551d20752b54535462404ad9d877ebdb26e53d";
+      sha256 = "02c18zrx038gbas58l90xzsz9m5q3gpjprdcwmnvxsn0zvld0vpj";
     };
   }
   {
-    goPackagePath = "google.golang.org/api";
+    goPackagePath = "github.com/pquerna/cachecontrol";
     fetch = {
       type = "git";
-      url = "https://code.googlesource.com/google-api-go-client";
-      rev = "a5c3e2a4792aff40e59840d9ecdff0542a202a80";
-      sha256 = "1kigddnbyrl9ddpj5rs8njvf1ck54ipi4q1282k0d6b3am5qfbj8";
+      url = "https://github.com/pquerna/cachecontrol";
+      rev = "525d0eb5f91d30e3b1548de401b7ef9ea6898520";
+      sha256 = "13r6qz9pghy9fapps5h9mhblggnjq2nfxysvf2jp4scanc5vw2y3";
     };
   }
   {
-    goPackagePath = "google.golang.org/cloud";
+    goPackagePath = "golang.org/x/crypto";
     fetch = {
       type = "git";
-      url = "https://code.googlesource.com/gocloud";
-      rev = "6335269abf9002cf5a84613c13cda6010842b834";
-      sha256 = "15xrqxna5ms0r634k3bfzyymn431dvqcjwbsap8ay60x371kzbwf";
+      url = "https://go.googlesource.com/crypto";
+      rev = "88942b9c40a4c9d203b82b3731787b672d6e809b";
+      sha256 = "0jw1faq8krcxwf1fv3w75apk1ncnykwg8y5ahs5rasjmspvkv8cw";
+    };
+  }
+  {
+    goPackagePath = "golang.org/x/net";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/net";
+      rev = "6078986fec03a1dcc236c34816c71b0e05018fda";
+      sha256 = "0qbl17mzpq7anwyzy6hdvxqk7f6q2xlm6f9dknkwlszfd4id2fwb";
     };
   }
   {
@@ -67,17 +86,44 @@
     fetch = {
       type = "git";
       url = "https://go.googlesource.com/oauth2";
-      rev = "397fe7649477ff2e8ced8fc0b2696f781e53745a";
-      sha256 = "0fza0l7iwh6llkq2yzqn7dxi138vab0da64lnghfj1p71fprjzn8";
+      rev = "fdc9e635145ae97e6c2cb777c48305600cf515cb";
+      sha256 = "0pznj7pb2rjar005dvppimdynarm8smj6vnqz9wvd9fxyn0q0yww";
+    };
+  }
+  {
+    goPackagePath = "golang.org/x/sys";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/sys";
+      rev = "13d03a9a82fba647c21a0ef8fba44a795d0f0835";
+      sha256 = "1lmyd4mk7lbgnxyvr6ndfdfafazp9a4cc6c0a2q2j4n53g2vwbgk";
+    };
+  }
+  {
+    goPackagePath = "google.golang.org/api";
+    fetch = {
+      type = "git";
+      url = "https://code.googlesource.com/google-api-go-client";
+      rev = "e4126357c891acdef6dcd7805daa4c6533be6544";
+      sha256 = "19c874pr7vhhiyw7zn6v625g8i70gqzi3rr645kai6pnd1w7s27n";
+    };
+  }
+  {
+    goPackagePath = "gopkg.in/fsnotify.v1";
+    fetch = {
+      type = "git";
+      url = "https://gopkg.in/fsnotify/fsnotify.v1";
+      rev = "c2828203cd70a50dcccfb2761f8b1f8ceef9a8e9";
+      sha256 = "07va9crci0ijlivbb7q57d2rz9h27zgn2fsm60spjsqpdbvyrx4g";
     };
   }
   {
-    goPackagePath = "github.com/18F/hmacauth";
+    goPackagePath = "gopkg.in/square/go-jose.v2";
     fetch = {
       type = "git";
-      url = "https://github.com/18F/hmacauth";
-      rev = "9232a6386b737d7d1e5c1c6e817aa48d5d8ee7cd";
-      sha256 = "056mcqrf2bv0g9gn2ixv19srk613h4sasl99w9375mpvmadb3pz1";
+      url = "https://gopkg.in/square/go-jose.v2";
+      rev = "552e98edab5d620205ff1a8960bf52a5a10aad03";
+      sha256 = "03w6rgxkvdv3vcfr23s6wbck431w7dwnw0jy7qnyl0qihxzn40rv";
     };
   }
 ]
diff --git a/pkgs/servers/openpts/bugs.patch b/pkgs/servers/openpts/bugs.patch
deleted file mode 100644
index d818bafbc9f..00000000000
--- a/pkgs/servers/openpts/bugs.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -urNp openpts-0.2.6-cvs-patched/src/fsm.c openpts-0.2.6-current/src/fsm.c
---- openpts-0.2.6-cvs-patched/src/fsm.c	2012-01-05 03:49:15.000000000 -0500
-+++ openpts-0.2.6-current/src/fsm.c	2012-01-09 12:11:17.338706205 -0500
-@@ -934,7 +934,7 @@ char *getEventString(OPENPTS_PCR_EVENT_W
-     /* event */
-     event = eventWrapper->event;
-     if (event != NULL) {
--        // len = snprintf(buf, size, "PCR[%d],TYPE=%d", (int)event->ulPcrIndex, event->eventType);
-+        snprintf(buf, size, "PCR[%d],TYPE=%d", (int)event->ulPcrIndex, event->eventType);
-     } else {
-         LOG(LOG_ERR, "NULL event\n");  // TODO(munetoh)
-         xfree(buf);
diff --git a/pkgs/servers/openpts/default.nix b/pkgs/servers/openpts/default.nix
deleted file mode 100644
index 27731af3803..00000000000
--- a/pkgs/servers/openpts/default.nix
+++ /dev/null
@@ -1,54 +0,0 @@
-{ stdenv, fetchurl, autoconf, automake, pkgconfig, libtool, trousers, openssl, libxml2, libuuid, gettext, perl }:
-
-stdenv.mkDerivation rec {
-  name = "openpts-${version}";
-  version = "0.2.6";
-
-  src = fetchurl {
-    url = "http://jaist.dl.osdn.jp/openpts/54410/openpts-${version}.tar.gz";
-    sha256 = "1b5phshl49fxr5y3g5zz75gm0n4cw8i7n29x5f1a95xkwrjpazi0";
-  };
-
-  # patches from https://apps.fedoraproject.org/packages/openpts/sources/patches/
-  patches = [ ./bugs.patch ./zlib.patch ./tboot.patch ./ptsc.patch ];
-
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ autoconf automake libtool trousers openssl libxml2 libuuid gettext ];
-
-  preConfigure = ''
-    substituteInPlace include/Makefile.am --replace "./cvs2msg.pl" "${perl}/bin/perl cvs2msg.pl";
-    $SHELL bootstrap.sh
-    '';
-
-  configureFlags = [ "--with-tss" "--with-aru" "--with-tboot" "--enable-tnc" "--with-aide" ];
-
-  NIX_CFLAGS_COMPILE = "-I${trousers}/include/trousers -I${trousers}/include/tss -Wno-deprecated-declarations";
-
-  preInstall = ''
-    mkdir -p $out
-    mkdir -p $out/etc
-    cp -p dist/ptsc.conf.in $out/etc/ptsc.conf
-    cp -p dist/ptsv.conf.in $out/etc/ptsv.conf
-    mkdir -p $out/share/openpts/models
-    cp -p models/*.uml $out/share/openpts/models/
-
-    mkdir -p $out/share/openpts/tpm_emulator
-    cp dist/tpm_emulator/README.rhel $out/share/openpts/tpm_emulator/README
-    cp dist/tpm_emulator/binary_bios_measurements $out/share/openpts/tpm_emulator/
-    cp dist/tpm_emulator/tcsd $out/share/openpts/tpm_emulator/
-
-    mkdir -p $out/share/openpts/tboot
-    cp dist/tboot/README.fedora15 $out/share/openpts/tboot/README
-    cp dist/tboot/ptsc.conf.fedora15 $out/share/openpts/tboot/ptsc.conf
-    cp dist/tboot/tcsd.conf.fedora15 $out/share/openpts/tboot/tcsd.conf
-    cp dist/tboot/tcsd.fedora15 $out/share/openpts/tboot/tcsd
-    '';
-
-  meta = {
-    description = "TCG Platform Trust Service (PTS)";
-    homepage = http://sourceforge.jp/projects/openpts;
-    license = stdenv.lib.licenses.cpl10;
-    platforms = stdenv.lib.platforms.linux;
-    maintainers = with stdenv.lib.maintainers; [ tstrobel ];
-  };
-}
diff --git a/pkgs/servers/openpts/ptsc.patch b/pkgs/servers/openpts/ptsc.patch
deleted file mode 100644
index b6fcde74074..00000000000
--- a/pkgs/servers/openpts/ptsc.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-diff -urNp openpts-0.2.6-patched/src/ptsc.c openpts-0.2.6-current/src/ptsc.c
---- openpts-0.2.6-patched/src/ptsc.c	2012-08-21 15:57:07.733841433 -0400
-+++ openpts-0.2.6-current/src/ptsc.c	2012-08-21 16:13:26.479732504 -0400
-@@ -457,7 +457,10 @@ void ptsc_lock(void) {
-             exit(1);
-         }
-         oldgrp = getegid();
--        setegid(grp.gr_gid);
-+        if(setegid(grp.gr_gid) != 0){
-+		LOG(LOG_ERR, "setegid fail");
-+		exit(1);
-+	}
-     }
- 
-     oldmask = umask(0);
-@@ -467,7 +470,10 @@ void ptsc_lock(void) {
-     }
-     if (grpent) {
-         chmod(LOCK_DIR, 02775);
--        setegid(oldgrp);
-+	if(setegid(oldgrp) != 0){
-+		LOG(LOG_ERR, "setegid fail");
-+		exit(1);
-+        }
-     }
-     fd = open(LOCK_FILE, O_RDWR | O_CREAT | O_TRUNC, 0660);
-     if (fd < 0) {
-
diff --git a/pkgs/servers/openpts/tboot.patch b/pkgs/servers/openpts/tboot.patch
deleted file mode 100644
index 6ecee583920..00000000000
--- a/pkgs/servers/openpts/tboot.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-diff -urNp openpts-0.2.6-patched/src/tboot2iml.c openpts-0.2.6-current/src/tboot2iml.c
---- openpts-0.2.6-patched/src/tboot2iml.c	2012-07-23 16:30:12.381361421 -0400
-+++ openpts-0.2.6-current/src/tboot2iml.c	2012-07-23 17:25:59.053945778 -0400
-@@ -531,7 +531,7 @@ int sinit_acm_hash(char *filename, int s
- 
- 
- int sha1sum_unzip(char *filename, int *filesize, BYTE *digest) {
--    FILE *fp;
-+    gzFile fp;
-     char buf[2048];
-     SHA_CTX sha_ctx;
-     int len;
-@@ -541,7 +541,7 @@ int sha1sum_unzip(char *filename, int *f
- 
-     /* open */
-     fp = gzopen(filename, "rb");
--    if (fp == NULL) {
-+    if (fp == Z_NULL) {
-         LOG(LOG_ERR, "File %s does not exist\n", filename);
-         return 0;
-     }
diff --git a/pkgs/servers/openpts/zlib.patch b/pkgs/servers/openpts/zlib.patch
deleted file mode 100644
index 7fa3fce10fe..00000000000
--- a/pkgs/servers/openpts/zlib.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -urNp openpts-0.2.6-cvs-patched/src/Makefile.am openpts-0.2.6-current/src/Makefile.am
---- openpts-0.2.6-cvs-patched/src/Makefile.am	2012-01-05 03:49:15.000000000 -0500
-+++ openpts-0.2.6-current/src/Makefile.am	2012-01-09 14:12:02.507361732 -0500
-@@ -30,7 +30,7 @@ localedir = $(datadir)/locale
- 
- 
- AM_CPPFLAGS = -I$(top_srcdir)/include $(LIBXML2_CFLAGS) $(TSS_CFLAGS) -I../include -DLOCALEDIR=\"$(localedir)\"
--AM_LDFLAGS = $(LIBXML2_LIBS) $(LIBCRYPTO_LIBS) $(TSS_LIBS) -lopenpts
-+AM_LDFLAGS = $(LIBXML2_LIBS) $(LIBCRYPTO_LIBS) $(TSS_LIBS) -lz -lopenpts
- # $(LIBINTL) -lopenpts
- 
- if HAVE_LIBUUID
diff --git a/pkgs/servers/osrm-backend/default.nix b/pkgs/servers/osrm-backend/default.nix
index 14f422f9610..3b11f26d6ce 100644
--- a/pkgs/servers/osrm-backend/default.nix
+++ b/pkgs/servers/osrm-backend/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "osrm-backend-${version}";
-  version = "5.15.0";
+  version = "5.17.2";
 
   src = fetchFromGitHub {
     rev = "v${version}";
     owner  = "Project-OSRM";
     repo   = "osrm-backend";
-    sha256 = "1vdy7j1k1brgd5jgvi5pm3flfw70v48d4rwfq404iiyipkjdy3kz";
+    sha256 = "0ar94wpsc2vr6pn4x5wy7mkpjlilgnyw545wm0l78174q43460y9";
   };
 
   nativeBuildInputs = [ cmake pkgconfig ];
diff --git a/pkgs/servers/pies/default.nix b/pkgs/servers/pies/default.nix
index c472f767d52..73af60e55c4 100644
--- a/pkgs/servers/pies/default.nix
+++ b/pkgs/servers/pies/default.nix
@@ -42,7 +42,7 @@ stdenv.mkDerivation rec {
 
     homepage = http://www.gnu.org/software/pies/;
 
-    platforms = stdenv.lib.platforms.gnu;
+    platforms = stdenv.lib.platforms.gnu ++ stdenv.lib.platforms.linux;
     maintainers = [ ];
   };
 }
diff --git a/pkgs/servers/plex/default.nix b/pkgs/servers/plex/default.nix
index 29be86d1602..57de5281fdf 100644
--- a/pkgs/servers/plex/default.nix
+++ b/pkgs/servers/plex/default.nix
@@ -6,9 +6,9 @@
 let
   plexPass = throw "Plex pass has been removed at upstream's request; please unset nixpkgs.config.plex.pass";
   plexpkg = if enablePlexPass then plexPass else {
-    version = "1.9.6.4429";
-    vsnHash = "23901a099";
-    sha256 = "0bmqf8b2d9h2h5q3n4ahs8y6a9aihj63rch7wd82rcr1l9xnqk9d";
+    version = "1.13.0.5023";
+    vsnHash = "31d3c0c65";
+    sha256 = "b94d571bcd47bc3201fd7f54b910f5693cabd1b543d5d0b4705668b7b7c24602";
   };
 
 in stdenv.mkDerivation rec {
diff --git a/pkgs/servers/pulseaudio/default.nix b/pkgs/servers/pulseaudio/default.nix
index 6a65e8d0320..ed4a8889c67 100644
--- a/pkgs/servers/pulseaudio/default.nix
+++ b/pkgs/servers/pulseaudio/default.nix
@@ -43,7 +43,11 @@ stdenv.mkDerivation rec {
     sha256 = "17ndr6kc7hpv4ih4gygwlcpviqifbkvnk4fbwf4n25kpb991qlpj";
   };
 
-  patches = [ ./caps-fix.patch ]
+  patches = [ ./caps-fix.patch (fetchpatch {
+    name = "glibc-2.27.patch";
+    url = "https://cgit.freedesktop.org/pulseaudio/pulseaudio/patch/?id=dfb0460fb4743aec047cdf755a660a9ac2d0f3fb";
+    sha256 = "1bi6rbfdjyl6wn0jql4k18xa4hm5l2lpf1sc5j77f8l6jw956afv";
+  }) ]
     ++ stdenv.lib.optional stdenv.hostPlatform.isMusl (fetchpatch {
       name = "padsp-fix.patch";
       url = "https://git.alpinelinux.org/cgit/aports/plain/testing/pulseaudio/0001-padsp-Make-it-compile-on-musl.patch?id=167be02bf4618a90328e2b234f6a63a5dc05f244";
diff --git a/pkgs/servers/radarr/default.nix b/pkgs/servers/radarr/default.nix
index dc3bc22af49..5fd23476d7d 100644
--- a/pkgs/servers/radarr/default.nix
+++ b/pkgs/servers/radarr/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "radarr-${version}";
-  version = "0.2.0.980";
+  version = "0.2.0.995";
 
   src = fetchurl {
     url = "https://github.com/Radarr/Radarr/releases/download/v${version}/Radarr.develop.${version}.linux.tar.gz";
-    sha256 = "1939mmlp9hsmw0hd4c8m8p5fk6igvml30gk9ffi9mfhankas6fnf";
+    sha256 = "04sgs292qz65fcg5vsps0fk2669xzvyfw1rbc5sbbk3hig5lhlns";
   };
 
   buildInputs = [ makeWrapper ];
diff --git a/pkgs/servers/radicale/default.nix b/pkgs/servers/radicale/default.nix
index 937bf327995..171fcc887d2 100644
--- a/pkgs/servers/radicale/default.nix
+++ b/pkgs/servers/radicale/default.nix
@@ -1,8 +1,8 @@
 { stdenv, fetchFromGitHub, python3Packages }:
 
 let
-  version = "2.1.8";
-  sha256 = "0fnsk61s328dg16iv0chqxayni8ahkbcb84z012w0d9417i806lc";
+  version = "2.1.9";
+  sha256 = "1sywxn7j9bq39qwq74h327crc44j9049cykai1alv44agx8s1nhz";
 in
 
 python3Packages.buildPythonApplication {
diff --git a/pkgs/servers/sabnzbd/default.nix b/pkgs/servers/sabnzbd/default.nix
index d46f5677b9f..1b5a8c24424 100644
--- a/pkgs/servers/sabnzbd/default.nix
+++ b/pkgs/servers/sabnzbd/default.nix
@@ -4,7 +4,7 @@ let
   pythonEnv = python2.withPackages(ps: with ps; [ cryptography cheetah yenc ]);
   path = stdenv.lib.makeBinPath [ par2cmdline unrar unzip p7zip ];
 in stdenv.mkDerivation rec {
-  version = "2.3.2";
+  version = "2.3.3";
   pname = "sabnzbd";
   name = "${pname}-${version}";
 
@@ -12,7 +12,7 @@ in stdenv.mkDerivation rec {
     owner = pname;
     repo = pname;
     rev = version;
-    sha256 = "0c0ap8bygvz643fgfvvmwshcyfblq2c5jziqwgpf30g6rsbfv2v0";
+    sha256 = "0za4xjc4x44f7i30r86bbza3zppid333ifwzp5h526w3zak1lal8";
   };
 
   buildInputs = [ pythonEnv makeWrapper ];
diff --git a/pkgs/servers/samba/4.x.nix b/pkgs/servers/samba/4.x.nix
index 90b00169a51..ba7e9c923e3 100644
--- a/pkgs/servers/samba/4.x.nix
+++ b/pkgs/servers/samba/4.x.nix
@@ -1,7 +1,7 @@
 { lib, stdenv, fetchurl, python, pkgconfig, perl, libxslt, docbook_xsl
 , docbook_xml_dtd_42, docbook_xml_dtd_45, readline, talloc
 , popt, iniparser, libbsd, libarchive, libiconv, gettext
-, kerberos, zlib, openldap, cups, pam, avahi, acl, libaio, fam, libceph, glusterfs
+, krb5Full, zlib, openldap, cups, pam, avahi, acl, libaio, fam, libceph, glusterfs
 , gnutls, libgcrypt, libgpgerror
 , ncurses, libunwind, libibverbs, librdmacm, systemd
 
@@ -19,11 +19,11 @@ with lib;
 
 stdenv.mkDerivation rec {
   name = "samba-${version}";
-  version = "4.7.4";
+  version = "4.7.6";
 
   src = fetchurl {
     url = "mirror://samba/pub/samba/stable/${name}.tar.gz";
-    sha256 = "0iw290n0q4l5s92d0f9yz27yp3rdfr6bvsmvg1xvd19g8p2d04pv";
+    sha256 = "0vkxqp3wh7bpn1fd45lznmrpn2ma1fq75yq28vi08rggr07y7v8y";
   };
 
   outputs = [ "out" "dev" "man" ];
@@ -37,7 +37,7 @@ stdenv.mkDerivation rec {
   buildInputs =
     [ python pkgconfig perl libxslt docbook_xsl docbook_xml_dtd_42 /*
       docbook_xml_dtd_45 */ readline talloc popt iniparser
-      libbsd libarchive zlib acl fam libiconv gettext libunwind kerberos
+      libbsd libarchive zlib acl fam libiconv gettext libunwind krb5Full
     ]
     ++ optionals stdenv.isLinux [ libaio pam systemd ]
     ++ optionals (enableInfiniband && stdenv.isLinux) [ libibverbs librdmacm ]
@@ -61,6 +61,7 @@ stdenv.mkDerivation rec {
     [ "--with-static-modules=NONE"
       "--with-shared-modules=ALL"
       "--with-system-mitkrb5"
+      "--with-system-mitkdc" "${krb5Full}"
       "--enable-fhs"
       "--sysconfdir=/etc"
       "--localstatedir=/var"
diff --git a/pkgs/servers/samba/master.nix b/pkgs/servers/samba/master.nix
index f1dd7fe7b14..df1f9feb4de 100644
--- a/pkgs/servers/samba/master.nix
+++ b/pkgs/servers/samba/master.nix
@@ -4,14 +4,14 @@
 } :
 
   (samba4.overrideAttrs(oldAttrs: rec {
-    name = "samba-master${version}";
-    version = "4.8.0_2018-01-25";
+    name = "samba-unstable-${version}";
+    version = "2018-03-09";
 
     src = fetchFromGitHub {
       owner = "samba-team";
       repo = "samba";
-      rev = "849169a7b6ed0beb78bbddf25537521c1ed2f8e1";
-      sha256 = "1535w787cy1x5ia9arjrg6hhf926wi8wm9qj0k0jgydy3600zpbv";
+      rev = "9e954bcbf43d67a18ee55f84cda0b09028f96b92";
+      sha256 = "07j1pwm4kax6pq21gq9gpmp7dhj5afdyvkhgyl3yz334mb41q11g";
     };
 
     # Remove unnecessary install flags, same as <4.8 patch
diff --git a/pkgs/servers/search/elasticsearch/2.x.nix b/pkgs/servers/search/elasticsearch/2.x.nix
index 30beec7b873..28244d1b3dc 100644
--- a/pkgs/servers/search/elasticsearch/2.x.nix
+++ b/pkgs/servers/search/elasticsearch/2.x.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, makeWrapper, jre, utillinux, getopt }:
+{ stdenv, fetchurl, makeWrapper, jre, utillinux }:
 
 with stdenv.lib;
 
@@ -13,8 +13,7 @@ stdenv.mkDerivation rec {
 
   patches = [ ./es-home-2.x.patch ./es-classpath-2.x.patch ];
 
-  buildInputs = [ makeWrapper jre ] ++
-    (if (!stdenv.isDarwin) then [utillinux] else [getopt]);
+  buildInputs = [ makeWrapper jre utillinux ];
 
   installPhase = ''
     mkdir -p $out
@@ -24,9 +23,7 @@ stdenv.mkDerivation rec {
     mv $out/bin/plugin $out/bin/elasticsearch-plugin
     wrapProgram $out/bin/elasticsearch \
       --prefix ES_CLASSPATH : "$out/lib/${name}.jar":"$out/lib/*" \
-      ${if (!stdenv.isDarwin)
-        then ''--prefix PATH : "${utillinux}/bin/"''
-        else ''--prefix PATH : "${getopt}/bin"''} \
+      --prefix PATH : "${utillinux}/bin" \
       --set JAVA_HOME "${jre}"
     wrapProgram $out/bin/elasticsearch-plugin --set JAVA_HOME "${jre}"
   '';
diff --git a/pkgs/servers/search/elasticsearch/5.x.nix b/pkgs/servers/search/elasticsearch/5.x.nix
index 0d27e4fefcc..c80bbbcfde9 100644
--- a/pkgs/servers/search/elasticsearch/5.x.nix
+++ b/pkgs/servers/search/elasticsearch/5.x.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, elk5Version, makeWrapper, jre_headless, utillinux, getopt }:
+{ stdenv, fetchurl, elk5Version, makeWrapper, jre_headless, utillinux }:
 
 with stdenv.lib;
 
@@ -8,13 +8,12 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "https://artifacts.elastic.co/downloads/elasticsearch/${name}.tar.gz";
-    sha256 = "0wjjvzjbdgdv9qznk1b8dx63zgs7s6jnrrbrnd5dn27lhymxiwpl";
+    sha256 = "0sm99m4m4mmigj6ll22kyaw7zkp1s2i0mhzx15fzidnybdnlifb4";
   };
 
   patches = [ ./es-home-5.x.patch ./es-classpath-5.x.patch ];
 
-  buildInputs = [ makeWrapper jre_headless ] ++
-    (if (!stdenv.isDarwin) then [utillinux] else [getopt]);
+  buildInputs = [ makeWrapper jre_headless utillinux ];
 
   installPhase = ''
     mkdir -p $out
@@ -24,9 +23,7 @@ stdenv.mkDerivation rec {
 
     wrapProgram $out/bin/elasticsearch \
       --prefix ES_CLASSPATH : "$out/lib/*" \
-      ${if (!stdenv.isDarwin)
-        then ''--prefix PATH : "${utillinux}/bin/"''
-        else ''--prefix PATH : "${getopt}/bin"''} \
+      --prefix PATH : "${utillinux}/bin" \
       --set JAVA_HOME "${jre_headless}" \
       --set ES_JVM_OPTIONS "$out/config/jvm.options"
 
diff --git a/pkgs/servers/search/elasticsearch/6.x.nix b/pkgs/servers/search/elasticsearch/6.x.nix
index 6057c2dee82..06caf191587 100644
--- a/pkgs/servers/search/elasticsearch/6.x.nix
+++ b/pkgs/servers/search/elasticsearch/6.x.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, elk6Version, makeWrapper, jre_headless, utillinux, getopt }:
+{ stdenv, fetchurl, elk6Version, makeWrapper, jre_headless, utillinux }:
 
 with stdenv.lib;
 
@@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "https://artifacts.elastic.co/downloads/elasticsearch/${name}.tar.gz";
-    sha256 = "03xwd8r0l0a29wl6wrp4bh7xr1b79q2rqfmsq3d5k35pv85sw3lw";
+    sha256 = "13hf00khq33yw6zv022vcrsf6vm43isx40x7ww8r1lqx3vmg3rli";
   };
 
   patches = [ ./es-home-6.x.patch ];
@@ -17,8 +17,7 @@ stdenv.mkDerivation rec {
     sed -i "s|ES_CLASSPATH=\"\$ES_HOME/lib/\*\"|ES_CLASSPATH=\"$out/lib/*\"|" ./bin/elasticsearch-env
   '';
 
-  buildInputs = [ makeWrapper jre_headless ] ++
-    (if (!stdenv.isDarwin) then [utillinux] else [getopt]);
+  buildInputs = [ makeWrapper jre_headless utillinux ];
 
   installPhase = ''
     mkdir -p $out
@@ -27,11 +26,8 @@ stdenv.mkDerivation rec {
     chmod -x $out/bin/*.*
 
     wrapProgram $out/bin/elasticsearch \
-      ${if (!stdenv.isDarwin)
-        then ''--prefix PATH : "${utillinux}/bin/"''
-        else ''--prefix PATH : "${getopt}/bin"''} \
-      --set JAVA_HOME "${jre_headless}" \
-      --set ES_JVM_OPTIONS "$out/config/jvm.options"
+      --prefix PATH : "${utillinux}/bin/" \
+      --set JAVA_HOME "${jre_headless}"
 
     wrapProgram $out/bin/elasticsearch-plugin --set JAVA_HOME "${jre_headless}"
   '';
diff --git a/pkgs/servers/search/elasticsearch/default.nix b/pkgs/servers/search/elasticsearch/default.nix
index 16f01030290..f4780603f50 100644
--- a/pkgs/servers/search/elasticsearch/default.nix
+++ b/pkgs/servers/search/elasticsearch/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, makeWrapper, jre, utillinux, getopt }:
+{ stdenv, fetchurl, makeWrapper, jre, utillinux }:
 
 with stdenv.lib;
 
@@ -12,8 +12,7 @@ stdenv.mkDerivation rec {
 
   patches = [ ./es-home.patch ];
 
-  buildInputs = [ makeWrapper jre ] ++
-    (if (!stdenv.isDarwin) then [utillinux] else [getopt]);
+  buildInputs = [ makeWrapper jre utillinux ];
 
   installPhase = ''
     mkdir -p $out
@@ -25,9 +24,7 @@ stdenv.mkDerivation rec {
     # set ES_CLASSPATH and JAVA_HOME
     wrapProgram $out/bin/elasticsearch \
       --prefix ES_CLASSPATH : "$out/lib/${name}.jar":"$out/lib/*":"$out/lib/sigar/*" \
-      ${if (!stdenv.isDarwin)
-        then ''--prefix PATH : "${utillinux}/bin/"''
-        else ''--prefix PATH : "${getopt}/bin"''} \
+      --prefix PATH : "${utillinux}/bin" \
       --set JAVA_HOME "${jre}"
     wrapProgram $out/bin/elasticsearch-plugin \
       --prefix ES_CLASSPATH : "$out/lib/${name}.jar":"$out/lib/*":"$out/lib/sigar/*" \
diff --git a/pkgs/servers/search/groonga/default.nix b/pkgs/servers/search/groonga/default.nix
index e3555d0076f..a4b2418f58c 100644
--- a/pkgs/servers/search/groonga/default.nix
+++ b/pkgs/servers/search/groonga/default.nix
@@ -7,11 +7,11 @@
 stdenv.mkDerivation rec {
 
   name    = "groonga-${version}";
-  version = "8.0.0";
+  version = "8.0.2";
 
   src = fetchurl {
     url    = "http://packages.groonga.org/source/groonga/${name}.tar.gz";
-    sha256 = "14il1biqpx5qs5dkmsrikw33pc8gj8scmr90y639wap87z5i3dcz";
+    sha256 = "0bsf4dbgbddij49xg6d6kl9kb1m5ywdyc1w1xz2giisqk1hdwsz4";
   };
 
   buildInputs = with stdenv.lib;
diff --git a/pkgs/servers/serviio/default.nix b/pkgs/servers/serviio/default.nix
new file mode 100644
index 00000000000..876cc01592e
--- /dev/null
+++ b/pkgs/servers/serviio/default.nix
@@ -0,0 +1,30 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  name = "serviio-${version}";
+  version = "1.9";
+
+  src = fetchurl {
+    url = "http://download.serviio.org/releases/${name}-linux.tar.gz";
+    sha256 = "0vi9dwpdrk087gpi0xib0hwpvdmaf9g99nfdfx2r3wmmdzw7wysl";
+  };
+
+  phases = ["unpackPhase" "installPhase"];
+
+  installPhase = ''
+    mkdir -p $out
+    cp -R config legal lib library plugins LICENCE.txt NOTICE.txt README.txt RELEASE_NOTES.txt $out
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = http://serviio.org;
+    description = "UPnP Media Streaming Server";
+    longDescription = ''
+      Serviio is a free media server. It allows you to stream your media files (music, video or images)
+      to any DLNA-certified renderer device (e.g. a TV set, Bluray player, games console) on your home network.
+    '';
+    license = licenses.unfree;
+    maintainers = [ maintainers.thpham ];
+    platforms = platforms.linux;
+  };
+}
\ No newline at end of file
diff --git a/pkgs/servers/shairplay/default.nix b/pkgs/servers/shairplay/default.nix
index 33e2f39280a..f9b17b947cf 100644
--- a/pkgs/servers/shairplay/default.nix
+++ b/pkgs/servers/shairplay/default.nix
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
   enableParallelBuilding = true;
 
   # the build will fail without complaining about a reference to /tmp
-  preFixup = ''
+  preFixup = stdenv.lib.optionalString stdenv.isLinux ''
     patchelf \
       --set-rpath "${stdenv.lib.makeLibraryPath buildInputs}:$out/lib" \
       $out/bin/shairplay
diff --git a/pkgs/servers/shairport-sync/default.nix b/pkgs/servers/shairport-sync/default.nix
index 79f2012c7a9..f7a9fc65835 100644
--- a/pkgs/servers/shairport-sync/default.nix
+++ b/pkgs/servers/shairport-sync/default.nix
@@ -2,11 +2,11 @@
 , libdaemon, popt, pkgconfig, libconfig, libpulseaudio, soxr }:
 
 stdenv.mkDerivation rec {
-  version = "3.0.2";
+  version = "3.1.7";
   name = "shairport-sync-${version}";
 
   src = fetchFromGitHub {
-    sha256 = "1lpfl591lhk66a5jfp86j669iswjzj503x02hg9h3211vxv3h9pa";
+    sha256 = "1ip8vlyly190fhcd55am5xvqisvch8mnw50xwbm663dapdb1f8ys";
     rev = version;
     repo = "shairport-sync";
     owner = "mikebrady";
diff --git a/pkgs/servers/sip/freeswitch/default.nix b/pkgs/servers/sip/freeswitch/default.nix
index 9a1ea5b5580..a952dbada66 100644
--- a/pkgs/servers/sip/freeswitch/default.nix
+++ b/pkgs/servers/sip/freeswitch/default.nix
@@ -3,11 +3,11 @@
 , ldns, libedit, yasm, which, lua, libopus, libsndfile }:
 
 stdenv.mkDerivation rec {
-  name = "freeswitch-1.6.15";
+  name = "freeswitch-1.6.20";
 
   src = fetchurl {
     url = "http://files.freeswitch.org/freeswitch-releases/${name}.tar.bz2";
-    sha256 = "071g7229shr9srwzspx29fcx3ccj3rwakkydpc4vdf1q3lldd2ld";
+    sha256 = "0hqz68abs5x5vzf1mndcvdi35nrhmnklzdrnrk8dyvzvz67hp2ah";
   };
   postPatch = ''
     patchShebangs     libs/libvpx/build/make/rtcd.pl
diff --git a/pkgs/servers/smcroute/default.nix b/pkgs/servers/smcroute/default.nix
index b1d614bc5cf..40472c59a87 100644
--- a/pkgs/servers/smcroute/default.nix
+++ b/pkgs/servers/smcroute/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, autoreconfHook }:
+{ stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, libcap }:
 
 stdenv.mkDerivation rec {
   name = "smcroute-${version}";
@@ -11,7 +11,13 @@ stdenv.mkDerivation rec {
     sha256 = "12xwdwvl9h269armwak7grm4g944j2c89srha4lqx2zndx1ycg1r";
   };
 
-  nativeBuildInputs = [ autoreconfHook ];
+  nativeBuildInputs = [ autoreconfHook pkgconfig ];
+  buildInputs = [ libcap ];
+
+  configureFlags = [
+    "--localstatedir=/var"
+    "--with-systemd=\$(out)/lib/systemd/system"
+  ];
 
   meta = with stdenv.lib; {
     description = "Static multicast routing daemon";
diff --git a/pkgs/servers/sonarr/default.nix b/pkgs/servers/sonarr/default.nix
index 635fd96b06f..e7114b957dc 100644
--- a/pkgs/servers/sonarr/default.nix
+++ b/pkgs/servers/sonarr/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "sonarr-${version}";
-  version = "2.0.0.5085";
+  version = "2.0.0.5163";
 
   src = fetchurl {
     url = "http://download.sonarr.tv/v2/master/mono/NzbDrone.master.${version}.mono.tar.gz";
-    sha256 = "1m6gdgsxk1d50kf4wnq6zyhbyf6rc0ma86l8m65am08xb0pihldz";
+    sha256 = "037rs0cb7dfiblfy02x2l4amv9dmx1wiz5pa97vpczfgk5gq99y3";
   };
 
   buildInputs = [
diff --git a/pkgs/servers/sql/cockroachdb/default.nix b/pkgs/servers/sql/cockroachdb/default.nix
index f40a5df0f5c..aba997d75f1 100644
--- a/pkgs/servers/sql/cockroachdb/default.nix
+++ b/pkgs/servers/sql/cockroachdb/default.nix
@@ -1,16 +1,17 @@
-{ stdenv, buildGoPackage, fetchurl, cmake, xz, which, autoconf }:
+{ stdenv, buildGoPackage, fetchurl, cmake, xz, which, autoconf, ncurses6, libedit }:
 
 buildGoPackage rec {
   name = "cockroach-${version}";
-  version = "1.1.5";
+  version = "2.0.0";
 
   goPackagePath = "github.com/cockroachdb/cockroach";
 
   src = fetchurl {
     url = "https://binaries.cockroachdb.com/cockroach-v${version}.src.tgz";
-    sha256 = "0i2lg60424i1yg9dhapfsy3majnlbad2wlf93d9l161jf5lp9a2d";
+    sha256 = "0x8hf5qwvgb2w6dcnvy20v77nf19f0l1pb40jf31rm72xhk3bwvy";
   };
 
+  buildInputs = [ (if stdenv.isDarwin then libedit else ncurses6) ];
   nativeBuildInputs = [ cmake xz which autoconf ];
 
   buildPhase = ''
diff --git a/pkgs/servers/sql/mariadb/default.nix b/pkgs/servers/sql/mariadb/default.nix
index 1b4585e065b..e22e3a64fac 100644
--- a/pkgs/servers/sql/mariadb/default.nix
+++ b/pkgs/servers/sql/mariadb/default.nix
@@ -15,11 +15,11 @@ mariadb = everything // {
 };
 
 common = rec { # attributes common to both builds
-  version = "10.2.13";
+  version = "10.2.14";
 
   src = fetchurl {
     url    = "https://downloads.mariadb.org/f/mariadb-${version}/source/mariadb-${version}.tar.gz";
-    sha256 = "0ly7dxc7rk327liya4kalgsw8irlxl0pl8gq0agdl18a63cpwbi7";
+    sha256 = "0zizf3q0hdkmsn6rpwdbfm5xkj21cwpnnzq9knjfpwcadqnyqhrl";
     name   = "mariadb-${version}.tar.gz";
   };
 
@@ -34,7 +34,7 @@ common = rec { # attributes common to both builds
     sed -i 's,[^"]*/var/log,/var/log,g' storage/mroonga/vendor/groonga/CMakeLists.txt
   '';
 
-  patches = [ ./cmake-includedir.patch ]
+  patches = [ ./cmake-includedir.patch ./include-dirs-path.patch ]
     ++ stdenv.lib.optional stdenv.cc.isClang ./clang-isfinite.patch;
 
   cmakeFlags = [
@@ -167,11 +167,11 @@ everything = stdenv.mkDerivation (common // {
 
 connector-c = stdenv.mkDerivation rec {
   name = "mariadb-connector-c-${version}";
-  version = "2.3.4";
+  version = "2.3.5";
 
   src = fetchurl {
     url = "https://downloads.mariadb.org/interstitial/connector-c-${version}/mariadb-connector-c-${version}-src.tar.gz/from/http%3A//ftp.hosteurope.de/mirror/archive.mariadb.org/?serve";
-    sha256 = "1g1sq5knarxkfhpkcczr6qxmq12pid65cdkqnhnfs94av89hbswb";
+    sha256 = "0vvlfs56hxin130vh8pcs5w7jpv1yc6g76bhpzg88hnp4v1z8frg";
     name   = "mariadb-connector-c-${version}-src.tar.gz";
   };
 
diff --git a/pkgs/servers/sql/mariadb/include-dirs-path.patch b/pkgs/servers/sql/mariadb/include-dirs-path.patch
new file mode 100644
index 00000000000..8d468cf546a
--- /dev/null
+++ b/pkgs/servers/sql/mariadb/include-dirs-path.patch
@@ -0,0 +1,13 @@
+diff --git a/libmariadb/mariadb_config/mariadb_config.c.in b/libmariadb/mariadb_config/mariadb_config.c.in
+index 45d2f4e..e5666db 100644
+--- a/libmariadb/mariadb_config/mariadb_config.c.in
++++ b/libmariadb/mariadb_config/mariadb_config.c.in
+@@ -5,7 +5,7 @@
+ 
+ static char *mariadb_progname;
+ 
+-#define INCLUDE "-I@CMAKE_INSTALL_PREFIX@/@INSTALL_INCLUDEDIR@ -I@CMAKE_INSTALL_PREFIX@/@INSTALL_INCLUDEDIR@/mysql"
++#define INCLUDE "-I@INSTALL_INCLUDEDIR@ -I@INSTALL_INCLUDEDIR@/mysql"
+ #define LIBS    "-L@CMAKE_INSTALL_PREFIX@/@INSTALL_LIBDIR@/ -lmariadb @extra_dynamic_LDFLAGS@"
+ #define LIBS_SYS "@extra_dynamic_LDFLAGS@"
+ #define CFLAGS  INCLUDE
diff --git a/pkgs/servers/sql/monetdb/default.nix b/pkgs/servers/sql/monetdb/default.nix
new file mode 100644
index 00000000000..6067d498386
--- /dev/null
+++ b/pkgs/servers/sql/monetdb/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, fetchurl, pkgconfig
+, bison, openssl, readline
+}:
+
+let
+  version = "11.29.3";
+in stdenv.mkDerivation rec {
+
+  name = "monetdb-${version}";
+
+  src = fetchurl {
+    url = "https://dev.monetdb.org/downloads/sources/archive/MonetDB-${version}.tar.bz2";
+    sha256 = "18l4jkkryki5az5n7gnalfdxz6ibnkg3q2z4cwh1010b313wqi8s";
+  };
+
+  nativeBuildInputs = [ pkgconfig ];
+  buildInputs = [ bison openssl readline ];
+
+  meta = with stdenv.lib; {
+    description = "An open source database system";
+    homepage = https://www.monetdb.org/;
+    license = licenses.mpl20;
+    platforms = platforms.unix;
+    maintainers = [ maintainers.StillerHarpo ];
+  };
+}
diff --git a/pkgs/servers/sql/mysql/5.7.x.nix b/pkgs/servers/sql/mysql/5.7.x.nix
index 0c04f910e5b..15e8569fd09 100644
--- a/pkgs/servers/sql/mysql/5.7.x.nix
+++ b/pkgs/servers/sql/mysql/5.7.x.nix
@@ -60,7 +60,7 @@ self = stdenv.mkDerivation rec {
     install -vD $out/lib/*.a -t $static/lib
     rm -r $out/mysql-test
     rm $out/share/man/man1/mysql-test-run.pl.1 $out/lib/*.a
-    ln -s libmysqlclient.so $out/lib/libmysqlclient_r.so
+    ln -s libmysqlclient${stdenv.hostPlatform.extensions.sharedLibrary} $out/lib/libmysqlclient_r${stdenv.hostPlatform.extensions.sharedLibrary}
   '';
 
   passthru = {
@@ -71,7 +71,7 @@ self = stdenv.mkDerivation rec {
   };
 
   meta = {
-    homepage = http://www.mysql.com/;
+    homepage = https://www.mysql.com/;
     description = "The world's most popular open source database";
     platforms = stdenv.lib.platforms.unix;
   };
diff --git a/pkgs/servers/sql/mysql/jdbc/default.nix b/pkgs/servers/sql/mysql/jdbc/default.nix
index 7125f9ef8e9..66e62b823d9 100644
--- a/pkgs/servers/sql/mysql/jdbc/default.nix
+++ b/pkgs/servers/sql/mysql/jdbc/default.nix
@@ -1,12 +1,12 @@
 {stdenv, fetchurl, ant, unzip}:
 
 stdenv.mkDerivation rec {
-  name = "mysql-connector-java-5.1.45";
+  name = "mysql-connector-java-5.1.46";
   builder = ./builder.sh;
 
   src = fetchurl {
     url = "http://dev.mysql.com/get/Downloads/Connector-J/${name}.zip";
-    sha256 = "1x3dygygj15p7zk825mqr0g80wlm3rfsqgbqnb11l133rk4s1ylw";
+    sha256 = "0dfjshrrx0ndfb6xbdpwhn1f1jkw0km57rgpar0ny8ixmgdnlwnm";
   };
 
   buildInputs = [ unzip ant ];
diff --git a/pkgs/servers/sql/oracle-xe/default.nix b/pkgs/servers/sql/oracle-xe/default.nix
index 9068ca70cc6..a50d623acbc 100644
--- a/pkgs/servers/sql/oracle-xe/default.nix
+++ b/pkgs/servers/sql/oracle-xe/default.nix
@@ -1,7 +1,5 @@
 { stdenv, makeWrapper, requireFile, patchelf, rpmextract, libaio }:
 
-assert stdenv.system == "x86_64-linux";
-
 with stdenv.lib;
 
 stdenv.mkDerivation rec {
@@ -79,5 +77,6 @@ stdenv.mkDerivation rec {
     description = "Oracle Database Express Edition";
     homepage = http://www.oracle.com/technetwork/products/express-edition/;
     license = licenses.unfree;
+    platforms = [ "x86_64-linux" ];
   };
 }
diff --git a/pkgs/servers/sql/percona/5.6.x.nix b/pkgs/servers/sql/percona/5.6.x.nix
index fc6c54f82c9..e440f11b2e4 100644
--- a/pkgs/servers/sql/percona/5.6.x.nix
+++ b/pkgs/servers/sql/percona/5.6.x.nix
@@ -57,5 +57,6 @@ stdenv.mkDerivation rec {
     platforms = platforms.linux;
     license = licenses.gpl2;
     maintainers = with maintainers; [ grahamc ];
+    broken = true; # 2018-04-11
   };
 }
diff --git a/pkgs/servers/sql/pgbouncer/default.nix b/pkgs/servers/sql/pgbouncer/default.nix
index 0f7f91b008d..7906546ec1c 100644
--- a/pkgs/servers/sql/pgbouncer/default.nix
+++ b/pkgs/servers/sql/pgbouncer/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "pgbouncer-${version}";
-  version = "1.7.2";
+  version = "1.8.1";
 
   src = fetchurl {
     url = "https://pgbouncer.github.io/downloads/files/${version}/${name}.tar.gz";
-    sha256 = "de36b318fe4a2f20a5f60d1c5ea62c1ca331f6813d2c484866ecb59265a160ba";
+    sha256 = "1j4d7rkivg3vg27pvirigq9cy4v7pi48x7w57baq131c5lmdx2zs";
   };
 
   buildInputs = [ libevent openssl ];
diff --git a/pkgs/servers/sql/postgresql/cstore_fdw/default.nix b/pkgs/servers/sql/postgresql/cstore_fdw/default.nix
new file mode 100644
index 00000000000..70b8abf2502
--- /dev/null
+++ b/pkgs/servers/sql/postgresql/cstore_fdw/default.nix
@@ -0,0 +1,32 @@
+{ stdenv, fetchFromGitHub, postgresql, protobufc }:
+
+stdenv.mkDerivation rec {
+  name = "cstore_fdw-${version}";
+  version = "1.6.0";
+
+  nativeBuildInputs = [ protobufc ];
+  buildInputs = [ postgresql ];
+
+  src = fetchFromGitHub {
+    owner  = "citusdata";
+    repo   = "cstore_fdw";
+    rev    = "refs/tags/v${version}";
+    sha256 = "08jbx4hs2r742flilydp0ajjwv8ffnvq82nidh48irrfa4i7n0l0";
+  };
+
+  installPhase = ''
+    mkdir -p $out/{lib,share/extension}
+
+    cp *.so      $out/lib
+    cp *.sql     $out/share/extension
+    cp *.control $out/share/extension
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Columnar storage for PostgreSQL";
+    homepage    = https://www.citusdata.com/;
+    maintainers = with maintainers; [ thoughtpolice ];
+    platforms   = platforms.linux;
+    license     = licenses.asl20;
+  };
+}
diff --git a/pkgs/servers/sql/postgresql/default.nix b/pkgs/servers/sql/postgresql/default.nix
index 02a620cee53..5d348c12943 100644
--- a/pkgs/servers/sql/postgresql/default.nix
+++ b/pkgs/servers/sql/postgresql/default.nix
@@ -75,6 +75,8 @@ let
         wrapProgram $out/bin/initdb --prefix PATH ":" ${glibc.bin}/bin
       '';
 
+    doInstallCheck = false; # needs a running daemon?
+
     disallowedReferences = [ stdenv.cc ];
 
     passthru = {
@@ -93,33 +95,33 @@ let
 in {
 
   postgresql93 = common {
-    version = "9.3.20";
+    version = "9.3.22";
     psqlSchema = "9.3";
-    sha256 = "1jp6lac4b0q6hb28yrdsl0ymzn75gg59hvp5zasarf3mf3b8l4zb";
+    sha256 = "06p9rk2bav41ybp8ra1bpf44avw9kl5s1wyql21n5awvlm5fs60v";
   };
 
   postgresql94 = common {
-    version = "9.4.15";
+    version = "9.4.17";
     psqlSchema = "9.4";
-    sha256 = "1i5c67gg4fj38hk07h6w6m4mqak84bhnblqsjbpiamg4x33v7gqj";
+    sha256 = "1inpkwbr2xappz3kq3jr3hsn6mwn167nijcx406q8aq56p9hqcks";
   };
 
   postgresql95 = common {
-    version = "9.5.10";
+    version = "9.5.12";
     psqlSchema = "9.5";
-    sha256 = "10gjfn16bhzkmlqfsn384w49db0j39bg3n4majwxdpjd17g7lpcl";
+    sha256 = "167nlrpsnqz63gafgn21j4yc2f5g1mpfkz8qxjxk2xs6crf6zs02";
   };
 
   postgresql96 = common {
-    version = "9.6.6";
+    version = "9.6.8";
     psqlSchema = "9.6";
-    sha256 = "0m417h30s18rwa7yzkqqcdb22ifpcda2fpg2cyx8bxvjp3ydz71r";
+    sha256 = "0w7bwf19wbdd3jjbjv03cnx56qka4801srcbsayk9v792awv7zga";
   };
 
   postgresql100 = common {
-    version = "10.1";
+    version = "10.3";
     psqlSchema = "10.0";
-    sha256 = "04z7lm4h94625vbncwv98svycqr942n3q47ailqaczkszqjlxjrw";
+    sha256 = "06lkcwsf851z49zqcws5yc77s2yrbaazf2nvbk38hpp31rw6i8kf";
   };
 
 }
diff --git a/pkgs/servers/sql/postgresql/jdbc/default.nix b/pkgs/servers/sql/postgresql/jdbc/default.nix
index 39b574ae96d..62ebf6b4453 100644
--- a/pkgs/servers/sql/postgresql/jdbc/default.nix
+++ b/pkgs/servers/sql/postgresql/jdbc/default.nix
@@ -1,24 +1,21 @@
-{ stdenv, fetchurl, ant, jdk }:
-
-let version = "9.3-1100"; in
+{ stdenv, fetchMavenArtifact }:
 
 stdenv.mkDerivation rec {
   name = "postgresql-jdbc-${version}";
+  version = "42.2.2";
 
-  src = fetchurl {
-    url = "http://jdbc.postgresql.org/download/postgresql-jdbc-${version}.src.tar.gz";
-    sha256 = "0mbdzhzg4ws0i7ps98rg0q5n68lsrdm2klj7y7skaix0rpa57gp6";
+  src = fetchMavenArtifact {
+    artifactId = "postgresql";
+    groupId = "org.postgresql";
+    sha256 = "0w7sfi1gmzqhyhr4iq9znv8hff41xwwqcblkyd9ph0m34r0555hr";
+    inherit version;
   };
 
-  buildInputs = [ ant jdk ];
-
-  buildPhase = "ant";
+  phases = [ "installPhase" ];
 
-  installPhase =
-    ''
-      mkdir -p $out/share/java
-      cp jars/*.jar $out/share/java
-    '';
+  installPhase = ''
+    install -D $src/share/java/*_postgresql-${version}.jar $out/share/java/postgresql-jdbc.jar
+  '';
 
   meta = with stdenv.lib; {
     homepage = https://jdbc.postgresql.org/;
diff --git a/pkgs/servers/sql/postgresql/pg_cron/default.nix b/pkgs/servers/sql/postgresql/pg_cron/default.nix
new file mode 100644
index 00000000000..c5a7a40546e
--- /dev/null
+++ b/pkgs/servers/sql/postgresql/pg_cron/default.nix
@@ -0,0 +1,31 @@
+{ stdenv, fetchFromGitHub, postgresql }:
+
+stdenv.mkDerivation rec {
+  name = "pg_cron-${version}";
+  version = "1.0.2";
+
+  buildInputs = [ postgresql ];
+
+  src = fetchFromGitHub {
+    owner  = "citusdata";
+    repo   = "pg_cron";
+    rev    = "refs/tags/v${version}";
+    sha256 = "0z743bbal9j0pvqskznfj0zvjsqvdl7p90d4fdrl0sc0crc3nvyx";
+  };
+
+  installPhase = ''
+    mkdir -p $out/{lib,share/extension}
+
+    cp *.so      $out/lib
+    cp *.sql     $out/share/extension
+    cp *.control $out/share/extension
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Run Cron jobs through PostgreSQL";
+    homepage    = https://www.citusdata.com/;
+    maintainers = with maintainers; [ thoughtpolice ];
+    platforms   = platforms.linux;
+    license     = licenses.postgresql;
+  };
+}
diff --git a/pkgs/servers/sql/postgresql/pg_hll/default.nix b/pkgs/servers/sql/postgresql/pg_hll/default.nix
new file mode 100644
index 00000000000..6c453f6a40c
--- /dev/null
+++ b/pkgs/servers/sql/postgresql/pg_hll/default.nix
@@ -0,0 +1,31 @@
+{ stdenv, fetchFromGitHub, postgresql }:
+
+stdenv.mkDerivation rec {
+  name = "pg_hll-${version}";
+  version = "2.10.2-${builtins.substring 0 7 src.rev}";
+
+  buildInputs = [ postgresql ];
+
+  src = fetchFromGitHub {
+    owner  = "citusdata";
+    repo   = "postgresql-hll";
+    rev    = "9af41684d479a3097bab87d04936702c9e6baf5c";
+    sha256 = "044x9v9kjhxb0idqb9f5i7c3yygxxsqliswl4kspqy9f9qcblckl";
+  };
+
+  installPhase = ''
+    mkdir -p $out/{lib,share/extension}
+
+    cp *.so      $out/lib
+    cp *.sql     $out/share/extension
+    cp *.control $out/share/extension
+  '';
+
+  meta = with stdenv.lib; {
+    description = "HyperLogLog for PostgreSQL";
+    homepage    = https://www.citusdata.com/;
+    maintainers = with maintainers; [ thoughtpolice ];
+    platforms   = platforms.linux;
+    license     = licenses.asl20;
+  };
+}
diff --git a/pkgs/servers/sql/postgresql/pg_repack/default.nix b/pkgs/servers/sql/postgresql/pg_repack/default.nix
index 0a25b314506..50c9c68bb5f 100644
--- a/pkgs/servers/sql/postgresql/pg_repack/default.nix
+++ b/pkgs/servers/sql/postgresql/pg_repack/default.nix
@@ -1,17 +1,16 @@
 { stdenv, fetchFromGitHub, postgresql, openssl, zlib, readline }:
 
 stdenv.mkDerivation rec {
-    name = "pg_repack-${version}.1";
-    version = "1.4.0";
-    rev = "ver_${version}.1";
+    name = "pg_repack-${version}";
+    version = "1.4.2";
 
     buildInputs = [ postgresql openssl zlib readline ];
 
     src = fetchFromGitHub {
-      owner = "reorg";
-      repo = "pg_repack";
-      inherit rev;
-      sha256 = "1ym2dlhgcizyy4p5dcfw7kadrq6g34pv3liyfx604irprzhw9k74";
+      owner  = "reorg";
+      repo   = "pg_repack";
+      rev    = "refs/tags/ver_${version}";
+      sha256 = "1yv5x7dgiv1miazbngkrkdbc2zpwklj6nlligghjvv83bcl8969q";
     };
 
     installPhase = ''
diff --git a/pkgs/servers/sql/postgresql/pgroonga/default.nix b/pkgs/servers/sql/postgresql/pgroonga/default.nix
index 1e995537c88..eb6f5f94810 100644
--- a/pkgs/servers/sql/postgresql/pgroonga/default.nix
+++ b/pkgs/servers/sql/postgresql/pgroonga/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "pgroonga-${version}";
-  version = "2.0.2";
+  version = "2.0.5";
 
   src = fetchurl {
     url = "http://packages.groonga.org/source/pgroonga/${name}.tar.gz";
-    sha256 = "0023747i2x3j50z54l78maq7dya5ldd2sdydn6l5l7k6b6g4yr2d";
+    sha256 = "1c4m1rg3122y8rndgz7sj9a49l3v9nm0qbpa04pls20pxzx21g5a";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/servers/sql/postgresql/timescaledb/default.nix b/pkgs/servers/sql/postgresql/timescaledb/default.nix
index 223bd6e470b..e1a4aed3b7e 100644
--- a/pkgs/servers/sql/postgresql/timescaledb/default.nix
+++ b/pkgs/servers/sql/postgresql/timescaledb/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, postgresql }:
+{ stdenv, fetchFromGitHub, cmake, postgresql }:
 
 # # To enable on NixOS:
 # config.services.postgresql = {
@@ -8,29 +8,37 @@
 
 stdenv.mkDerivation rec {
   name = "timescaledb-${version}";
-  version = "0.6.0";
+  version = "0.9.1";
 
+  nativeBuildInputs = [ cmake ];
   buildInputs = [ postgresql ];
 
   src = fetchFromGitHub {
-    owner = "timescale";
-    repo = "timescaledb";
-    rev = version;
-    sha256 = "061z1ll3x7ca7fj12rl2difkdvmqykksqhpsql552qkkylg7iq4d";
+    owner  = "timescale";
+    repo   = "timescaledb";
+    rev    = "refs/tags/${version}";
+    sha256 = "00k8fk5a1xpv9nxlmafnngk31wh80h6m72vsl1hnyq7nhby7ylic";
   };
 
-  installPhase = ''
-    mkdir -p $out/bin
-    install -D timescaledb.so      -t $out/lib
-    install -D timescaledb.control -t $out/share/extension
-    cp -dpR    sql/*                  $out/share/extension/
+  # Fix the install phase which tries to install into the pgsql extension dir,
+  # and cannot be manually overridden. This is rather fragile but works OK.
+  patchPhase = ''
+    for x in CMakeLists.txt sql/CMakeLists.txt; do
+      substituteInPlace "$x" \
+        --replace 'DESTINATION "''${PG_SHAREDIR}/extension"' "DESTINATION \"$out/share/extension\""
+    done
+
+    for x in src/CMakeLists.txt src/loader/CMakeLists.txt; do
+      substituteInPlace "$x" \
+        --replace 'DESTINATION ''${PG_PKGLIBDIR}' "DESTINATION \"$out/lib\""
+    done
   '';
 
   meta = with stdenv.lib; {
     description = "Scales PostgreSQL for time-series data via automatic partitioning across time and space";
-    homepage = https://www.timescale.com/;
+    homepage    = https://www.timescale.com/;
     maintainers = with maintainers; [ volth ];
-    platforms = platforms.linux;
-    license = licenses.postgresql;
+    platforms   = platforms.linux;
+    license     = licenses.postgresql;
   };
 }
diff --git a/pkgs/servers/sql/postgresql/topn/default.nix b/pkgs/servers/sql/postgresql/topn/default.nix
new file mode 100644
index 00000000000..6886c80cf50
--- /dev/null
+++ b/pkgs/servers/sql/postgresql/topn/default.nix
@@ -0,0 +1,32 @@
+{ stdenv, fetchFromGitHub, postgresql, protobufc }:
+
+stdenv.mkDerivation rec {
+  name = "pg_topn-${version}";
+  version = "2.0.2";
+
+  nativeBuildInputs = [ protobufc ];
+  buildInputs = [ postgresql ];
+
+  src = fetchFromGitHub {
+    owner  = "citusdata";
+    repo   = "postgresql-topn";
+    rev    = "refs/tags/v${version}";
+    sha256 = "00hc3hgnqv9xaalizbcvprb7s55sydj2qgk3rhgrdlwg2g025h62";
+  };
+
+  installPhase = ''
+    mkdir -p $out/{lib,share/extension}
+
+    cp *.so      $out/lib
+    cp *.sql     $out/share/extension
+    cp *.control $out/share/extension
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Efficient querying of 'top values' for PostgreSQL";
+    homepage    = https://www.citusdata.com/;
+    maintainers = with maintainers; [ thoughtpolice ];
+    platforms   = platforms.linux;
+    license     = licenses.agpl3;
+  };
+}
diff --git a/pkgs/servers/sql/postgresql/tsearch_extras/default.nix b/pkgs/servers/sql/postgresql/tsearch_extras/default.nix
index c3a452132f2..5140ae1a228 100644
--- a/pkgs/servers/sql/postgresql/tsearch_extras/default.nix
+++ b/pkgs/servers/sql/postgresql/tsearch_extras/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "tsearch-extras-${version}";
-  version = "0.2";
+  version = "0.3";
 
   src = fetchFromGitHub {
     owner = "zulip";
     repo = "tsearch_extras";
     rev = version;
-    sha256 = "1ivg9zn7f1ks31ixxwywifwhzxn6py8s5ky1djyxnb0s60zckfjg";
+    sha256 = "0i3i99lw80jwd4xflgdqabxmn1dnm1gm7dzf1mqv2drllxcy3yix";
   };
 
   nativenativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/servers/sql/virtuoso/7.x.nix b/pkgs/servers/sql/virtuoso/7.x.nix
index a24daa70812..bf2a51f6596 100644
--- a/pkgs/servers/sql/virtuoso/7.x.nix
+++ b/pkgs/servers/sql/virtuoso/7.x.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, libxml2, openssl, readline, gawk }:
 
 stdenv.mkDerivation rec {
-  name = "virtuoso-opensource-7.0.0";
+  name = "virtuoso-opensource-7.2.4.2";
 
   src = fetchurl {
     url = "mirror://sourceforge/virtuoso/${name}.tar.gz";
-    sha256 = "1z0jdzayv45y57jj8kii6csqfjhswcs8s2krqqfhab54xy6gynbl";
+    sha256 = "12dqam1gc1v93l0bj0vlpvjqppki6y1hqrlznywxnw0rrz9pb002";
   };
 
   buildInputs = [ libxml2 openssl readline gawk ];
diff --git a/pkgs/servers/squid/4.nix b/pkgs/servers/squid/4.nix
index 777e910038a..4c76173a280 100644
--- a/pkgs/servers/squid/4.nix
+++ b/pkgs/servers/squid/4.nix
@@ -2,11 +2,11 @@
 , expat, libxml2, openssl }:
 
 stdenv.mkDerivation rec {
-  name = "squid-4.0.23";
+  name = "squid-4.0.24";
 
   src = fetchurl {
     url = "http://www.squid-cache.org/Versions/v4/${name}.tar.xz";
-    sha256 = "0a8g0zs3xayfkxl8maq823b14lckvh9d5lf7ryh9rx303xh1mdqq";
+    sha256 = "01vayx86sakfy9zz2q5cvzv97865l1zb0jkqbh7wqz9hcgbs0789";
   };
 
   buildInputs = [
diff --git a/pkgs/servers/trezord/default.nix b/pkgs/servers/trezord/default.nix
index bdc37b700e5..a3c50564621 100644
--- a/pkgs/servers/trezord/default.nix
+++ b/pkgs/servers/trezord/default.nix
@@ -1,65 +1,26 @@
-{ stdenv, fetchgit, fetchFromGitHub, curl, cmake, boost, gcc, protobuf, pkgconfig, jsoncpp
-, libusb1, libmicrohttpd
-}:
+{ stdenv, buildGoPackage, fetchFromGitHub }:
 
-let
-  version = "1.2.1";
-in
+buildGoPackage rec {
+  name = "trezord-go-${version}";
+  version = "2.0.12";
 
-stdenv.mkDerivation rec {
-  name = "trezord-${version}";
+  # Fixes Cgo related build failures (see https://github.com/NixOS/nixpkgs/issues/25959 )
+  hardeningDisable = [ "fortify" ];
 
-  src = fetchgit {
-    url    = "https://github.com/trezor/trezord";
-    rev    = "refs/tags/v${version}";
-    sha256 = "1iaxmwyidjdcrc6jg0859v6v5x3qnz5b0p78pq0bypvmgyijhpm4";
-  };
+  goPackagePath = "github.com/trezor/trezord-go";
 
-  common = fetchFromGitHub {
-    owner = "trezor";
-    repo = "trezor-common";
-    rev = "b55fb61218431e9c99c9d6c1673801902fc9e92e";
-    sha256 = "1zanbgz1qjs8wfwp0z91sqcvj77a9iis694k415jyd2dn4riqhdg";
+  src = fetchFromGitHub {
+    owner  = "trezor";
+    repo   = "trezord-go";
+    rev    = "v${version}";
+    sha256 = "03pz223jjfbd0g9gkk21q6d27jc8vd1bc1jz00i0f3dzvsyfx5g6";
   };
 
   meta = with stdenv.lib; {
-    description = "TREZOR Bridge daemon for TREZOR bitcoin hardware wallet";
+    description = "TREZOR Communication Daemon aka TREZOR Bridge";
     homepage = https://mytrezor.com;
     license = licenses.gpl3;
     maintainers = with stdenv.lib.maintainers; [ canndrew jb55 ];
     platforms = platforms.linux;
   };
-
-  patches = [ ./dynamic-link.patch ];
-
-  nativeBuildInputs = [
-    cmake
-    gcc
-    pkgconfig
-  ];
-
-  buildInputs = [
-    curl
-    boost
-    protobuf
-    libusb1
-    libmicrohttpd
-    jsoncpp
-  ];
-
-  preConfigure = ''
-    ( cd src/config
-      ln -s $common/protob/config.proto
-      protoc -I . --cpp_out=. config.proto
-    )
-  '';
-
-  LD_LIBRARY_PATH = "${stdenv.lib.makeLibraryPath [ curl ]}";
-  cmakeFlags = [ "-DJSONCPP_LIBRARY='${jsoncpp}/lib/libjsoncpp.so'" ];
-
-  installPhase = ''
-    mkdir -p $out/bin
-    cp trezord $out/bin
-  '';
 }
-
diff --git a/pkgs/servers/trezord/dynamic-link.patch b/pkgs/servers/trezord/dynamic-link.patch
deleted file mode 100644
index 0f1f448a3f7..00000000000
--- a/pkgs/servers/trezord/dynamic-link.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 7c0e2cf..0e3f4ac 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -59,13 +59,6 @@ target_link_libraries(trezord ${OS_LIBRARIES})
- find_package(CURL REQUIRED)
- find_package(libmicrohttpd REQUIRED)
- 
--# add static libs
--if (NOT ${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
--  set(CMAKE_FIND_LIBRARY_SUFFIXES ".a")
--  set(BUILD_SHARED_LIBS off)
--  set(Boost_USE_STATIC_LIBS on)
--  set(CMAKE_FIND_STATIC FIRST)
--endif(NOT ${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
- find_package(Boost 1.53.0 REQUIRED
-   regex thread system unit_test_framework program_options chrono)
- find_package(Protobuf 2.5.0 REQUIRED)
diff --git a/pkgs/servers/tt-rss/default.nix b/pkgs/servers/tt-rss/default.nix
index a6c75439ca9..6f584bfabd3 100644
--- a/pkgs/servers/tt-rss/default.nix
+++ b/pkgs/servers/tt-rss/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   name = "tt-rss-${version}";
-  version = "2018-01-05";
-  rev = "c30f5e18119d1935e8fe6d422053b127e8f4f1b3";
+  version = "2018-04-05";
+  rev = "963c22646b3e1bd544bd957bf34175b996bd6e53";
 
   src = fetchurl {
     url = "https://git.tt-rss.org/git/tt-rss/archive/${rev}.tar.gz";
-    sha256 = "18pc1l0dbjr7d5grcrb70y6j7cr2zb9575yqmy6zfwzrlvw0pa0l";
+    sha256 = "02vjw5cag5x0rpiqalfrqf7iz21rp8ml5wnfd8pdkxbr8182bw3h";
   };
 
   installPhase = ''
diff --git a/pkgs/servers/tvheadend/default.nix b/pkgs/servers/tvheadend/default.nix
index c5e2b45fe96..c0a3b5a28c3 100644
--- a/pkgs/servers/tvheadend/default.nix
+++ b/pkgs/servers/tvheadend/default.nix
@@ -3,7 +3,7 @@
 , which, zlib }:
 
 let
-  version = "4.2.5";
+  version = "4.2.6";
 
 in stdenv.mkDerivation rec {
   name = "tvheadend-${version}";
@@ -12,7 +12,7 @@ in stdenv.mkDerivation rec {
     owner  = "tvheadend";
     repo   = "tvheadend";
     rev    = "v${version}";
-    sha256 = "199b0xm4lfdspmrirvzzg511yh358awciz23zmccvlvq86b548pz";
+    sha256 = "0rnhk0r34mfmz3cnf735nzkkyal7pnv16hfyrs0g4v5rk99rlab3";
   };
 
   buildInputs = [
diff --git a/pkgs/servers/uftp/default.nix b/pkgs/servers/uftp/default.nix
index 40bcbc50f0c..d1ec31d6b85 100644
--- a/pkgs/servers/uftp/default.nix
+++ b/pkgs/servers/uftp/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "uftp-${version}";
-  version = "4.9.5";
+  version = "4.9.6";
 
   src = fetchurl {
     url = "mirror://sourceforge/uftp-multicast/source-tar/uftp-${version}.tar.gz";
-    sha256 = "1alsha0mhscp0jha2wlb5mqqkx2967s7rpm0x8c2v7jws1d0m1w3";
+    sha256 = "0byg7ff39i32ljzqxn6rhiz3zs1b04y50xpvzmjx5v8pmdajn0sz";
   };
 
   buildInputs = [ openssl ];
diff --git a/pkgs/servers/unifi/default.nix b/pkgs/servers/unifi/default.nix
index 040a2ece303..9002987c387 100644
--- a/pkgs/servers/unifi/default.nix
+++ b/pkgs/servers/unifi/default.nix
@@ -1,37 +1,61 @@
-{ stdenv
-, dpkg
-, fetchurl
-, unzip
-}:
-
-stdenv.mkDerivation rec {
-  name = "unifi-controller-${version}";
-  version = "5.6.30";
-
-  src = fetchurl {
-    url = "https://dl.ubnt.com/unifi/${version}/unifi_sysvinit_all.deb";
-    sha256 = "083bh29i7dpn0ajc6h584vhkybiavnln3xndpb670chfrbywxyj4";
+{ stdenv, dpkg, fetchurl }:
+
+let
+  generic = { version, sha256, suffix ? "" }:
+  stdenv.mkDerivation rec {
+    name = "unifi-controller-${version}";
+
+    src = fetchurl {
+      url = "https://dl.ubnt.com/unifi/${version}${suffix}/unifi_sysvinit_all.deb";
+      inherit sha256;
+    };
+
+    nativeBuildInputs = [ dpkg ];
+
+    unpackPhase = ''
+      runHook preUnpack
+      dpkg-deb -x $src ./
+      runHook postUnpack
+    '';
+
+    doConfigure = false;
+
+    installPhase = ''
+      runHook preInstall
+
+      mkdir -p $out
+      cd ./usr/lib/unifi
+      cp -ar dl lib webapps $out
+
+      runHook postInstall
+    '';
+
+    meta = with stdenv.lib; {
+      homepage = http://www.ubnt.com/;
+      description = "Controller for Ubiquiti UniFi access points";
+      license = licenses.unfree;
+      platforms = platforms.unix;
+      maintainers = with maintainers; [ wkennington ];
+    };
   };
 
-  buildInputs = [ dpkg ];
+in rec {
 
-  unpackPhase = ''
-    dpkg-deb -x ${src} ./
-  '';
+  # https://help.ubnt.com/hc/en-us/articles/115000441548-UniFi-Current-Controller-Versions
 
-  doConfigure = false;
+  unifiLTS = generic {
+    version = "5.6.37";
+    sha256  = "0kiksqsbmmfva1blbpg2wl4c3w7j6dzzqmwp6028g7bh303c47qa";
+  };
 
-  installPhase = ''
-    mkdir -p $out
-    cd ./usr/lib/unifi
-    cp -ar dl lib webapps $out
-  '';
+  unifiStable = generic {
+    version = "5.7.23";
+    sha256  = "14jkhp9jl341zsyk5adh3g98mhqwfbd42c7wahzc31bxq8a0idp7";
+  };
 
-  meta = with stdenv.lib; {
-    homepage = http://www.ubnt.com/;
-    description = "Controller for Ubiquiti UniFi accesspoints";
-    license = licenses.unfree;
-    platforms = platforms.unix;
-    maintainers = with maintainers; [ wkennington ];
+  unifiTesting = generic {
+    version = "5.8.14";
+    suffix  = "-7ef9535d1b";
+    sha256  = "09gr7zkck6npjhhmd27c9ymyna6anwj3w9v9zjicz9skbrddkccq";
   };
 }
diff --git a/pkgs/servers/uwsgi/default.nix b/pkgs/servers/uwsgi/default.nix
index b420c673850..bb3f7985533 100644
--- a/pkgs/servers/uwsgi/default.nix
+++ b/pkgs/servers/uwsgi/default.nix
@@ -49,11 +49,11 @@ in
 
 stdenv.mkDerivation rec {
   name = "uwsgi-${version}";
-  version = "2.0.16";
+  version = "2.0.17";
 
   src = fetchurl {
     url = "http://projects.unbit.it/downloads/${name}.tar.gz";
-    sha256 = "1x61vipgzhzb6flbbgl0hq96j9d330gh0kmwv8pwh6n57j7z84d9";
+    sha256 = "1wlbaairsmhp6bx5wv282q9pgh6w7w6yrb8vxjznfaxrinsfkhix";
   };
 
   nativeBuildInputs = [ python3 pkgconfig ];
diff --git a/pkgs/servers/varnish/default.nix b/pkgs/servers/varnish/default.nix
index 9efb4e4dfe5..85192b11c30 100644
--- a/pkgs/servers/varnish/default.nix
+++ b/pkgs/servers/varnish/default.nix
@@ -1,37 +1,53 @@
 { stdenv, fetchurl, pcre, libxslt, groff, ncurses, pkgconfig, readline, libedit
 , python, pythonPackages, makeWrapper }:
 
-stdenv.mkDerivation rec {
-  version = "5.2.1";
-  name = "varnish-${version}";
-
-  src = fetchurl {
-    url = "http://varnish-cache.org/_downloads/${name}.tgz";
+let
+  common = { version, sha256 }:
+    stdenv.mkDerivation rec {
+      name = "varnish-${version}";
+
+      src = fetchurl {
+        url = "http://varnish-cache.org/_downloads/${name}.tgz";
+        inherit sha256;
+      };
+
+      nativeBuildInputs = [ pkgconfig ];
+      buildInputs = [
+        pcre libxslt groff ncurses readline python libedit
+        pythonPackages.docutils makeWrapper
+      ];
+
+      buildFlags = "localstatedir=/var/spool";
+
+      postInstall = ''
+        wrapProgram "$out/sbin/varnishd" --prefix PATH : "${stdenv.lib.makeBinPath [ stdenv.cc ]}"
+      '';
+
+      # https://github.com/varnishcache/varnish-cache/issues/1875
+      NIX_CFLAGS_COMPILE = stdenv.lib.optionalString stdenv.isi686 "-fexcess-precision=standard";
+
+      outputs = [ "out" "dev" "man" ];
+
+      meta = with stdenv.lib; {
+        description = "Web application accelerator also known as a caching HTTP reverse proxy";
+        homepage = https://www.varnish-cache.org;
+        license = licenses.bsd2;
+        maintainers = with maintainers; [ garbas fpletz ];
+        platforms = platforms.unix;
+      };
+    };
+in
+{
+  varnish4 = common {
+    version = "4.1.9";
+    sha256 = "11zwyasz2fn9qxc87r175wb5ba7388sd79mlygjmqn3yv2m89n12";
+  };
+  varnish5 = common {
+    version = "5.2.1";
     sha256 = "1cqlj12m426c1lak1hr1fx5zcfsjjvka3hfirz47hvy1g2fjqidq";
   };
-
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [
-    pcre libxslt groff ncurses readline python libedit
-    pythonPackages.docutils makeWrapper
-  ];
-
-  buildFlags = "localstatedir=/var/spool";
-
-  postInstall = ''
-    wrapProgram "$out/sbin/varnishd" --prefix PATH : "${stdenv.lib.makeBinPath [ stdenv.cc ]}"
-  '';
-
-  # https://github.com/varnishcache/varnish-cache/issues/1875
-  NIX_CFLAGS_COMPILE = stdenv.lib.optionalString stdenv.isi686 "-fexcess-precision=standard";
-
-  outputs = [ "out" "dev" "man" ];
-
-  meta = with stdenv.lib; {
-    description = "Web application accelerator also known as a caching HTTP reverse proxy";
-    homepage = https://www.varnish-cache.org;
-    license = licenses.bsd2;
-    maintainers = with maintainers; [ garbas fpletz ];
-    platforms = platforms.unix;
+  varnish6 = common {
+    version = "6.0.0";
+    sha256 = "1vhbdch33m6ig4ijy57zvrramhs9n7cba85wd8rizgxjjnf87cn7";
   };
 }
diff --git a/pkgs/servers/varnish/digest.nix b/pkgs/servers/varnish/digest.nix
index 530ae504771..2ccb0419c04 100644
--- a/pkgs/servers/varnish/digest.nix
+++ b/pkgs/servers/varnish/digest.nix
@@ -1,22 +1,22 @@
 { stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, varnish, libmhash, docutils }:
 
 stdenv.mkDerivation rec {
-  version = "1.0.1";
-  name = "varnish-digest-${version}";
+  version = "1.0.2";
+  name = "${varnish.name}-digest-${version}";
 
   src = fetchFromGitHub {
     owner = "varnish";
     repo = "libvmod-digest";
     rev = "libvmod-digest-${version}";
-    sha256 = "0v18bqbsblhajpx5qvczic3psijhx5l2p2qlw1dkd6zl33hhppy7";
+    sha256 = "0jwkqqalydn0pwfdhirl5zjhbc3hldvhh09hxrahibr72fgmgpbx";
   };
 
   nativeBuildInputs = [ autoreconfHook pkgconfig docutils ];
   buildInputs = [ varnish libmhash ];
 
   postPatch = ''
-    substituteInPlace autogen.sh  --replace "-I \''${dataroot}/aclocal"                  ""
-    substituteInPlace Makefile.am --replace "-I \''${LIBVARNISHAPI_DATAROOTDIR}/aclocal" ""
+    substituteInPlace autogen.sh  --replace "''${dataroot}/aclocal"                  "${varnish.dev}/share/aclocal"
+    substituteInPlace Makefile.am --replace "''${LIBVARNISHAPI_DATAROOTDIR}/aclocal" "${varnish.dev}/share/aclocal"
   '';
 
   configureFlags = [ "VMOD_DIR=$(out)/lib/varnish/vmods" ];
diff --git a/pkgs/servers/varnish/dynamic.nix b/pkgs/servers/varnish/dynamic.nix
new file mode 100644
index 00000000000..711bc1cf78f
--- /dev/null
+++ b/pkgs/servers/varnish/dynamic.nix
@@ -0,0 +1,26 @@
+{ stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, varnish, python, docutils }:
+
+stdenv.mkDerivation rec {
+  version = "0.3";
+  name = "${varnish.name}-dynamic-${version}";
+
+  src = fetchFromGitHub {
+    owner = "nigoroll";
+    repo = "libvmod-dynamic";
+    rev = "475be183fddbd727c3d2523f0518effa9aa881f8"; # 5.2 branch for Varnish-5.2 https://github.com/nigoroll/libvmod-dynamic/commits/5.2
+    sha256 = "12a42lbv0vf6fn3qnvngw893kmbd006f8pgab4ir7irc8855xjgf";
+  };
+
+  nativeBuildInputs = [ pkgconfig docutils autoreconfHook ];
+  buildInputs = [ varnish python ];
+  postPatch = ''
+    substituteInPlace Makefile.am --replace "''${LIBVARNISHAPI_DATAROOTDIR}/aclocal" "${varnish.dev}/share/aclocal"
+  '';
+  configureFlags = [ "VMOD_DIR=$(out)/lib/varnish/vmods" ];
+
+  meta = with stdenv.lib; {
+    description = "Dynamic director similar to the DNS director from Varnish 3";
+    homepage = https://github.com/nigoroll/libvmod-dynamic;
+    inherit (varnish.meta) license platforms maintainers;
+  };
+}
diff --git a/pkgs/servers/varnish/geoip.nix b/pkgs/servers/varnish/geoip.nix
index 7816b27b14f..d1790252065 100644
--- a/pkgs/servers/varnish/geoip.nix
+++ b/pkgs/servers/varnish/geoip.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   version = "1.0.2";
-  name = "varnish-geoip-${version}";
+  name = "${varnish.name}-geoip-${version}";
 
   src = fetchFromGitHub {
     owner = "varnish";
diff --git a/pkgs/servers/varnish/modules.nix b/pkgs/servers/varnish/modules.nix
index 8fdcf63e5b9..7775221d163 100644
--- a/pkgs/servers/varnish/modules.nix
+++ b/pkgs/servers/varnish/modules.nix
@@ -1,17 +1,24 @@
-{ stdenv, fetchurl, pkgconfig, varnish, python, docutils, removeReferencesTo }:
+{ stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, varnish, python, docutils, removeReferencesTo }:
 
 stdenv.mkDerivation rec {
-  version = "0.13.0";
-  name = "varnish-modules-${version}";
+  version = "0.14.0";
+  name = "${varnish.name}-modules-${version}";
 
-  src = fetchurl {
-    url = "https://download.varnish-software.com/varnish-modules/varnish-modules-${version}.tar.gz";
-    sha256 = "1nj52va7cp0swcv87zd3si80knpaa4a7na37cy9wkvgyvhf9k8mh";
+  src = fetchFromGitHub {
+    owner = "varnish";
+    repo = "varnish-modules";
+    rev = version;
+    sha256 = "17fkbr4i70qgdqsrx1x28ag20xkfyz1v3q3d3ywmv409aczqhm40";
   };
 
-  nativeBuildInputs = [ pkgconfig docutils removeReferencesTo ];
+  nativeBuildInputs = [ pkgconfig autoreconfHook docutils removeReferencesTo ];
   buildInputs = [ varnish python ];
 
+  postPatch = ''
+    substituteInPlace bootstrap   --replace "''${dataroot}/aclocal"                  "${varnish.dev}/share/aclocal"
+    substituteInPlace Makefile.am --replace "''${LIBVARNISHAPI_DATAROOTDIR}/aclocal" "${varnish.dev}/share/aclocal"
+  '';
+
   postInstall = "find $out -type f -exec remove-references-to -t ${varnish.dev} '{}' +"; # varnish.dev captured only as __FILE__ in assert messages
 
   meta = with stdenv.lib; {
diff --git a/pkgs/servers/varnish/packages.nix b/pkgs/servers/varnish/packages.nix
new file mode 100644
index 00000000000..f468ac58e6c
--- /dev/null
+++ b/pkgs/servers/varnish/packages.nix
@@ -0,0 +1,22 @@
+{ callPackage, varnish4, varnish5, varnish6 }:
+
+{
+  varnish4Packages = {
+    varnish = varnish4;
+    digest   = callPackage ./digest.nix   { varnish = varnish4; };
+    rtstatus = callPackage ./rtstatus.nix { varnish = varnish4; }; # varnish4 only
+    modules  = callPackage ./modules.nix  { varnish = varnish4; }; # varnish4 and varnish5 only
+    geoip    = callPackage ./geoip.nix    { varnish = varnish4; }; # varnish4 and varnish5 only
+  };
+  varnish5Packages = {
+    varnish = varnish5;
+    digest   = callPackage ./digest.nix   { varnish = varnish5; };
+    dynamic  = callPackage ./dynamic.nix  { varnish = varnish5; }; # varnish5 only (upstream has a separate branch for varnish4)
+    modules  = callPackage ./modules.nix  { varnish = varnish5; }; # varnish4 and varnish5 only
+    geoip    = callPackage ./geoip.nix    { varnish = varnish5; }; # varnish4 and varnish5 only
+  };
+  varnish6Packages = {
+    varnish = varnish6;
+    digest   = callPackage ./digest.nix   { varnish = varnish6; };
+  };
+}
diff --git a/pkgs/servers/varnish/rtstatus.nix b/pkgs/servers/varnish/rtstatus.nix
index e92559f038d..99c0bb17659 100644
--- a/pkgs/servers/varnish/rtstatus.nix
+++ b/pkgs/servers/varnish/rtstatus.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   version = "1.2.0";
-  name = "varnish-rtstatus-${version}";
+  name = "${varnish.name}-rtstatus-${version}";
 
   src = fetchurl {
     url = "https://download.varnish-software.com/libvmod-rtstatus/libvmod-rtstatus-${version}.tar.gz";
@@ -17,6 +17,5 @@ stdenv.mkDerivation rec {
     description = "Varnish realtime status page";
     homepage = https://github.com/varnish/libvmod-rtstatus;
     inherit (varnish.meta) license platforms maintainers;
-    broken = true; # it has not ported to varnish 5.2 yet (5.1 is ok)
   };
 }
diff --git a/pkgs/servers/web-apps/fileshelter/default.nix b/pkgs/servers/web-apps/fileshelter/default.nix
index 1adb3a70ccf..d0be4f575dd 100644
--- a/pkgs/servers/web-apps/fileshelter/default.nix
+++ b/pkgs/servers/web-apps/fileshelter/default.nix
@@ -11,6 +11,8 @@ stdenv.mkDerivation rec {
     sha256 = "1n9hrls3l9gf8wfz6m9bylma1b1hdvdqsksv2dlp1zdgjdzv200b";
   };
 
+  enableParallelBuilding = true;
+
   nativeBuildInputs = [ autoreconfHook pkgconfig ];
   buildInputs = [ libzip boost wt3 libconfig ];
 
diff --git a/pkgs/servers/web-apps/klaus/default.nix b/pkgs/servers/web-apps/klaus/default.nix
new file mode 100644
index 00000000000..81d1e57e7a0
--- /dev/null
+++ b/pkgs/servers/web-apps/klaus/default.nix
@@ -0,0 +1,40 @@
+{ lib, python, fetchFromGitHub }:
+
+python.pkgs.buildPythonApplication rec {
+  pname = "klaus";
+  version = "1.2.2";
+
+  src = fetchFromGitHub {
+    owner = "jonashaag";
+    repo = pname;
+    rev = version;
+    sha256 = "0hkl1ycyd5ccijmknr3yfp3ga43y01m7390xnibqqgaisfvcm9wp";
+  };
+
+  prePatch = ''
+    substituteInPlace runtests.sh \
+      --replace "mkdir -p \$builddir" "mkdir -p \$builddir && pwd"
+  '';
+
+  propagatedBuildInputs = with python.pkgs; [
+    six flask pygments dulwich httpauth humanize
+  ];
+
+  checkInputs = with python.pkgs; [
+    pytest requests python-ctags3
+  ] ++ lib.optional (!isPy3k) mock;
+
+  checkPhase = ''
+    ./runtests.sh
+  '';
+
+  # Needs to set up some git repos
+  doCheck = false;
+
+  meta = with lib; {
+    description = "The first Git web viewer that Just Works";
+    homepage    = https://github.com/jonashaag/klaus;
+    license     = licenses.isc;
+    maintainers = with maintainers; [ ];
+  };
+}
diff --git a/pkgs/servers/web-apps/matomo/default.nix b/pkgs/servers/web-apps/matomo/default.nix
index c99b20a46bd..27cf873e790 100644
--- a/pkgs/servers/web-apps/matomo/default.nix
+++ b/pkgs/servers/web-apps/matomo/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "matomo-${version}";
-  version = "3.3.0";
+  version = "3.5.0";
 
   src = fetchurl {
     # TODO: As soon as the tarballs are renamed as well on future releases, this should be enabled again
     # url = "https://builds.matomo.org/${name}.tar.gz";
     url = "https://builds.matomo.org/piwik-${version}.tar.gz";
-    sha256 = "1ybzj3kk0x29nv8c6xnhir5d9dr0q0fl1vnm4i7zvhml73ryqk0f";
+    sha256 = "1l656b194h7z3k52ywl7sfa2h6sxa5gf22wcfrp0pp07v9p6pc5f";
   };
 
   nativeBuildInputs = [ makeWrapper ];
@@ -19,6 +19,7 @@ stdenv.mkDerivation rec {
   #   unix socket authentication only works with localhost,
   #   but password-based SQL authentication works with both.
   # TODO: is upstream interested in this?
+  # -> discussion at https://github.com/matomo-org/matomo/issues/12646
   patches = [ ./make-localhost-default-database-host.patch ];
 
   # this bootstrap.php adds support for getting PIWIK_USER_PATH
diff --git a/pkgs/servers/web-apps/selfoss/default.nix b/pkgs/servers/web-apps/selfoss/default.nix
index 14f1dffee64..4ed9d96510c 100644
--- a/pkgs/servers/web-apps/selfoss/default.nix
+++ b/pkgs/servers/web-apps/selfoss/default.nix
@@ -1,16 +1,17 @@
-{ stdenv, fetchFromGitHub }:
+{ stdenv, fetchurl, unzip }:
 
 stdenv.mkDerivation rec {
-  name = "selfoss-unstable-${version}";
-  version = "2016-07-31";
+  name = "selfoss-${version}";
+  version = "2.18";
 
-  src = fetchFromGitHub {
-    owner = "SSilence";
-    repo = "selfoss";
-    rev = "ceb431ad9208e2c5e31dafe593c75e5eb8b65cf7";
-    sha256 = "00vrpw7sb95x6lwpaxrlzxyj98k98xblqcrjr236ykv0ha97xv30";
+  src = fetchurl {
+    url = "https://github.com/SSilence/selfoss/releases/download/${version}/${name}.zip";
+    sha256 = "1vd699r1kjc34n8avggckx2b0daj5rmgrj997sggjw2inaq4cg8b";
   };
 
+  sourceRoot = ".";
+  nativeBuildInputs = [ unzip ];
+
   installPhase = ''
     mkdir $out
     cp -ra * $out/
diff --git a/pkgs/servers/web-apps/shaarli/default.nix b/pkgs/servers/web-apps/shaarli/default.nix
index 4c4cd21cddf..8f6722ed86e 100644
--- a/pkgs/servers/web-apps/shaarli/default.nix
+++ b/pkgs/servers/web-apps/shaarli/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "shaarli-${version}";
-  version = "0.9.5";
+  version = "0.9.6";
 
   src = fetchurl {
     url = "https://github.com/shaarli/Shaarli/releases/download/v${version}/shaarli-v${version}-full.tar.gz";
-    sha256 = "133ffxyw9bf61rky01d3rkkm34np5z4kwmgwx6ygshl83y0ylnwf";
+    sha256 = "0vi59988bjxb1cyifh0fynpxa7l6cl0v57hrxima5c9iid10pw54";
   };
 
   outputs = [ "out" "doc" ];
diff --git a/pkgs/servers/web-apps/shaarli/material-theme.nix b/pkgs/servers/web-apps/shaarli/material-theme.nix
index 9831d7dabce..939976b0a26 100644
--- a/pkgs/servers/web-apps/shaarli/material-theme.nix
+++ b/pkgs/servers/web-apps/shaarli/material-theme.nix
@@ -2,21 +2,21 @@
 
 stdenv.mkDerivation rec {
   name = "shaarli-material-${version}";
-  version = "0.9.1";
+  version = "0.9.5";
 
   src = fetchFromGitHub {
     owner = "kalvn";
     repo = "Shaarli-Material";
     rev = "v${version}";
-    sha256 = "0x8d9425n3jrwzsyxclbxfspvi91v1klq8r3m6wcj81kys7vmzgh";
+    sha256 = "1bxw74ksvfv46995iwc7jhvl78hd84lcq3h9iyxvs8gpkhkapv55";
   };
 
   patchPhase = ''
     for f in material/*.html
     do
       substituteInPlace $f \
-        --replace '.min.css"' '.min.css#"' \
-        --replace '.min.js"'  '.min.js#"' \
+        --replace '.min.css?v={$version_hash}"' '.min.css#"' \
+        --replace '.min.js?v={$version_hash}"'  '.min.js#"' \
         --replace '.png"'     '.png#"'
     done
   '';
diff --git a/pkgs/servers/x11/xorg/darwin/0002-sdksyms.sh-Use-CPPFLAGS-not-CFLAGS.patch b/pkgs/servers/x11/xorg/darwin/0002-sdksyms.sh-Use-CPPFLAGS-not-CFLAGS.patch
deleted file mode 100644
index ed0518da5ce..00000000000
--- a/pkgs/servers/x11/xorg/darwin/0002-sdksyms.sh-Use-CPPFLAGS-not-CFLAGS.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-From 91971455ee46b1059de75260ef0d1a45170d8b65 Mon Sep 17 00:00:00 2001
-From: Jeremy Huddleston <jeremyhu@apple.com>
-Date: Fri, 13 Jan 2012 12:00:57 -0800
-Subject: [PATCH 2/6] sdksyms.sh: Use CPPFLAGS, not CFLAGS
-
-CFLAGS can include flags which are not useful to the preprocessor
-or can even cause it to fail.  This fixes a build issue on darwin
-when building for more than one architecture.
-
-Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
-Reviewed-by: Keith Packard <keithp@keithp.com>
----
- hw/xfree86/Makefile.am | 5 ++---
- 1 file changed, 2 insertions(+), 3 deletions(-)
-
-diff --git a/hw/xfree86/Makefile.am b/hw/xfree86/Makefile.am
-index 27f2cc6..d898c43 100644
---- a/hw/xfree86/Makefile.am
-+++ b/hw/xfree86/Makefile.am
-@@ -48,8 +48,7 @@ DIST_SUBDIRS = common ddc i2c x86emu int10 fbdevhw os-support \
- bin_PROGRAMS = Xorg
- nodist_Xorg_SOURCES = sdksyms.c
- 
--AM_CFLAGS = $(DIX_CFLAGS) @XORG_CFLAGS@
--AM_CPPFLAGS = $(XORG_INCS) -I$(srcdir)/parser -I$(top_srcdir)/miext/cw \
-+AM_CPPFLAGS = $(DIX_CFLAGS) @XORG_CFLAGS@ $(XORG_INCS) -I$(srcdir)/parser -I$(top_srcdir)/miext/cw \
- 	-I$(srcdir)/ddc -I$(srcdir)/i2c -I$(srcdir)/modes -I$(srcdir)/ramdac \
- 	-I$(srcdir)/dri -I$(srcdir)/dri2 -I$(top_srcdir)/dri3
- 
-@@ -135,7 +134,7 @@ CLEANFILES = sdksyms.c sdksyms.dep Xorg.sh
- EXTRA_DIST += sdksyms.sh
- 
- sdksyms.dep sdksyms.c: sdksyms.sh
--	$(AM_V_GEN)CPP='$(CPP)' AWK='$(AWK)' $(SHELL) $(srcdir)/sdksyms.sh $(top_srcdir) $(CFLAGS) $(AM_CFLAGS) $(AM_CPPFLAGS)
-+	$(AM_V_GEN)CPP='$(CPP)' AWK='$(AWK)' $(SHELL) $(srcdir)/sdksyms.sh $(top_srcdir) $(CPPFLAGS) $(AM_CPPFLAGS)
- 
- SDKSYMS_DEP = sdksyms.dep
- -include $(SDKSYMS_DEP)
--- 
-2.3.2 (Apple Git-55)
-
diff --git a/pkgs/servers/x11/xorg/darwin/0004-Use-old-miTrapezoids-and-miTriangles-routines.patch b/pkgs/servers/x11/xorg/darwin/0004-Use-old-miTrapezoids-and-miTriangles-routines.patch
deleted file mode 100644
index 4027227bb53..00000000000
--- a/pkgs/servers/x11/xorg/darwin/0004-Use-old-miTrapezoids-and-miTriangles-routines.patch
+++ /dev/null
@@ -1,297 +0,0 @@
-From b229a04bde765424542eeba17a7e2bc25785a890 Mon Sep 17 00:00:00 2001
-From: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
-Date: Sat, 2 Nov 2013 11:00:23 -0700
-Subject: [PATCH 4/6] Use old miTrapezoids and miTriangles routines
-
-Reverts commits:
-    788ccb9a8bcf6a4fb4054c507111eec3338fb969
-    566f1931ee2916269e164e114bffaf2da1d039d1
-
-http://xquartz.macosforge.org/trac/ticket/525
-
-Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
----
- fb/fbpict.c     |   2 -
- render/mipict.c |   4 +-
- render/mipict.h |  27 ++++++++++++++
- render/mitrap.c | 111 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- render/mitri.c  |  61 +++++++++++++++++++++++++++++++
- 5 files changed, 201 insertions(+), 4 deletions(-)
-
-diff --git a/fb/fbpict.c b/fb/fbpict.c
-index c8378ad..cafb027 100644
---- a/fb/fbpict.c
-+++ b/fb/fbpict.c
-@@ -499,10 +499,8 @@ fbPictureInit(ScreenPtr pScreen, PictFormatPtr formats, int nformats)
-     ps->UnrealizeGlyph = fbUnrealizeGlyph;
-     ps->CompositeRects = miCompositeRects;
-     ps->RasterizeTrapezoid = fbRasterizeTrapezoid;
--    ps->Trapezoids = fbTrapezoids;
-     ps->AddTraps = fbAddTraps;
-     ps->AddTriangles = fbAddTriangles;
--    ps->Triangles = fbTriangles;
- 
-     return TRUE;
- }
-diff --git a/render/mipict.c b/render/mipict.c
-index a725104..e14293a 100644
---- a/render/mipict.c
-+++ b/render/mipict.c
-@@ -575,8 +575,8 @@ miPictureInit(ScreenPtr pScreen, PictFormatPtr formats, int nformats)
-     ps->Composite = 0;          /* requires DDX support */
-     ps->Glyphs = miGlyphs;
-     ps->CompositeRects = miCompositeRects;
--    ps->Trapezoids = 0;
--    ps->Triangles = 0;
-+    ps->Trapezoids = miTrapezoids;
-+    ps->Triangles = miTriangles;
- 
-     ps->RasterizeTrapezoid = 0; /* requires DDX support */
-     ps->AddTraps = 0;           /* requires DDX support */
-diff --git a/render/mipict.h b/render/mipict.h
-index 23ce9e8..e0f1d4c 100644
---- a/render/mipict.h
-+++ b/render/mipict.h
-@@ -122,6 +122,16 @@ miCompositeRects(CARD8 op,
-                  xRenderColor * color, int nRect, xRectangle *rects);
- 
- extern _X_EXPORT void
-+miTriangles (CARD8	    op,
-+	     PicturePtr	    pSrc,
-+	     PicturePtr	    pDst,
-+	     PictFormatPtr  maskFormat,
-+	     INT16	    xSrc,
-+	     INT16	    ySrc,
-+	     int	    ntri,
-+	     xTriangle	    *tris);
-+
-+extern _X_EXPORT void
- 
- miTriStrip(CARD8 op,
-            PicturePtr pSrc,
-@@ -137,10 +147,27 @@ miTriFan(CARD8 op,
-          PictFormatPtr maskFormat,
-          INT16 xSrc, INT16 ySrc, int npoints, xPointFixed * points);
- 
-+extern _X_EXPORT PicturePtr
-+miCreateAlphaPicture (ScreenPtr	    pScreen, 
-+		      PicturePtr    pDst,
-+		      PictFormatPtr pPictFormat,
-+		      CARD16	    width,
-+		      CARD16	    height);
-+
- extern _X_EXPORT void
-  miTrapezoidBounds(int ntrap, xTrapezoid * traps, BoxPtr box);
- 
- extern _X_EXPORT void
-+miTrapezoids (CARD8        op,
-+             PicturePtr    pSrc,
-+             PicturePtr    pDst,
-+             PictFormatPtr maskFormat,
-+             INT16         xSrc,
-+             INT16         ySrc,
-+             int           ntrap,
-+             xTrapezoid    *traps);
-+
-+extern _X_EXPORT void
-  miPointFixedBounds(int npoint, xPointFixed * points, BoxPtr bounds);
- 
- extern _X_EXPORT void
-diff --git a/render/mitrap.c b/render/mitrap.c
-index 17b6dcd..71c1857 100644
---- a/render/mitrap.c
-+++ b/render/mitrap.c
-@@ -34,6 +34,55 @@
- #include "picturestr.h"
- #include "mipict.h"
- 
-+PicturePtr
-+miCreateAlphaPicture (ScreenPtr	    pScreen, 
-+		      PicturePtr    pDst,
-+		      PictFormatPtr pPictFormat,
-+		      CARD16	    width,
-+		      CARD16	    height)
-+{
-+    PixmapPtr	    pPixmap;
-+    PicturePtr	    pPicture;
-+    GCPtr	    pGC;
-+    int		    error;
-+    xRectangle	    rect;
-+
-+    if (width > 32767 || height > 32767)
-+	return 0;
-+
-+    if (!pPictFormat)
-+    {
-+	if (pDst->polyEdge == PolyEdgeSharp)
-+	    pPictFormat = PictureMatchFormat (pScreen, 1, PICT_a1);
-+	else
-+	    pPictFormat = PictureMatchFormat (pScreen, 8, PICT_a8);
-+	if (!pPictFormat)
-+	    return 0;
-+    }
-+
-+    pPixmap = (*pScreen->CreatePixmap) (pScreen, width, height, 
-+					pPictFormat->depth, 0);
-+    if (!pPixmap)
-+	return 0;
-+    pGC = GetScratchGC (pPixmap->drawable.depth, pScreen);
-+    if (!pGC)
-+    {
-+	(*pScreen->DestroyPixmap) (pPixmap);
-+	return 0;
-+    }
-+    ValidateGC (&pPixmap->drawable, pGC);
-+    rect.x = 0;
-+    rect.y = 0;
-+    rect.width = width;
-+    rect.height = height;
-+    (*pGC->ops->PolyFillRect)(&pPixmap->drawable, pGC, 1, &rect);
-+    FreeScratchGC (pGC);
-+    pPicture = CreatePicture (0, &pPixmap->drawable, pPictFormat,
-+			      0, 0, serverClient, &error);
-+    (*pScreen->DestroyPixmap) (pPixmap);
-+    return pPicture;
-+}
-+
- static xFixed
- miLineFixedX(xLineFixed * l, xFixed y, Bool ceil)
- {
-@@ -79,3 +128,65 @@ miTrapezoidBounds(int ntrap, xTrapezoid * traps, BoxPtr box)
-             box->x2 = x2;
-     }
- }
-+
-+
-+void
-+miTrapezoids (CARD8        op,
-+             PicturePtr    pSrc,
-+             PicturePtr    pDst,
-+             PictFormatPtr maskFormat,
-+             INT16         xSrc,
-+             INT16         ySrc,
-+             int           ntrap,
-+             xTrapezoid    *traps)
-+{
-+    ScreenPtr          pScreen = pDst->pDrawable->pScreen;
-+    PictureScreenPtr    ps = GetPictureScreen(pScreen);
-+
-+    /*
-+     * Check for solid alpha add
-+     */
-+    if (op == PictOpAdd && miIsSolidAlpha (pSrc))
-+    {
-+       for (; ntrap; ntrap--, traps++)
-+           (*ps->RasterizeTrapezoid) (pDst, traps, 0, 0);
-+    } 
-+    else if (maskFormat)
-+    {
-+       PicturePtr      pPicture;
-+       BoxRec          bounds;
-+       INT16           xDst, yDst;
-+       INT16           xRel, yRel;
-+       
-+       xDst = traps[0].left.p1.x >> 16;
-+       yDst = traps[0].left.p1.y >> 16;
-+
-+       miTrapezoidBounds (ntrap, traps, &bounds);
-+       if (bounds.y1 >= bounds.y2 || bounds.x1 >= bounds.x2)
-+           return;
-+       pPicture = miCreateAlphaPicture (pScreen, pDst, maskFormat,
-+                                        bounds.x2 - bounds.x1,
-+                                        bounds.y2 - bounds.y1);
-+       if (!pPicture)
-+           return;
-+       for (; ntrap; ntrap--, traps++)
-+           (*ps->RasterizeTrapezoid) (pPicture, traps, 
-+                                      -bounds.x1, -bounds.y1);
-+       xRel = bounds.x1 + xSrc - xDst;
-+       yRel = bounds.y1 + ySrc - yDst;
-+       CompositePicture (op, pSrc, pPicture, pDst,
-+                         xRel, yRel, 0, 0, bounds.x1, bounds.y1,
-+                         bounds.x2 - bounds.x1,
-+                         bounds.y2 - bounds.y1);
-+       FreePicture (pPicture, 0);
-+    }
-+    else
-+    {
-+       if (pDst->polyEdge == PolyEdgeSharp)
-+           maskFormat = PictureMatchFormat (pScreen, 1, PICT_a1);
-+       else
-+           maskFormat = PictureMatchFormat (pScreen, 8, PICT_a8);
-+       for (; ntrap; ntrap--, traps++)
-+           miTrapezoids (op, pSrc, pDst, maskFormat, xSrc, ySrc, 1, traps);
-+    }
-+}
-diff --git a/render/mitri.c b/render/mitri.c
-index 922f22a..bdca9ca 100644
---- a/render/mitri.c
-+++ b/render/mitri.c
-@@ -65,3 +65,64 @@ miTriangleBounds(int ntri, xTriangle * tris, BoxPtr bounds)
- {
-     miPointFixedBounds(ntri * 3, (xPointFixed *) tris, bounds);
- }
-+
-+
-+void
-+miTriangles (CARD8	    op,
-+	     PicturePtr	    pSrc,
-+	     PicturePtr	    pDst,
-+	     PictFormatPtr  maskFormat,
-+	     INT16	    xSrc,
-+	     INT16	    ySrc,
-+	     int	    ntri,
-+	     xTriangle	    *tris)
-+{
-+    ScreenPtr		pScreen = pDst->pDrawable->pScreen;
-+    PictureScreenPtr    ps = GetPictureScreen(pScreen);
-+    
-+    /*
-+     * Check for solid alpha add
-+     */
-+    if (op == PictOpAdd && miIsSolidAlpha (pSrc))
-+    {
-+	(*ps->AddTriangles) (pDst, 0, 0, ntri, tris);
-+    }
-+    else if (maskFormat)
-+    {
-+	BoxRec		bounds;
-+	PicturePtr	pPicture;
-+	INT16		xDst, yDst;
-+	INT16		xRel, yRel;
-+	
-+	xDst = tris[0].p1.x >> 16;
-+	yDst = tris[0].p1.y >> 16;
-+
-+	miTriangleBounds (ntri, tris, &bounds);
-+	if (bounds.x2 <= bounds.x1 || bounds.y2 <= bounds.y1)
-+	    return;
-+	pPicture = miCreateAlphaPicture (pScreen, pDst, maskFormat,
-+					 bounds.x2 - bounds.x1,
-+					 bounds.y2 - bounds.y1);
-+	if (!pPicture)
-+	    return;
-+	(*ps->AddTriangles) (pPicture, -bounds.x1, -bounds.y1, ntri, tris);
-+	
-+	xRel = bounds.x1 + xSrc - xDst;
-+	yRel = bounds.y1 + ySrc - yDst;
-+	CompositePicture (op, pSrc, pPicture, pDst,
-+			  xRel, yRel, 0, 0, bounds.x1, bounds.y1,
-+			  bounds.x2 - bounds.x1, bounds.y2 - bounds.y1);
-+	FreePicture (pPicture, 0);
-+    }
-+    else
-+    {
-+	if (pDst->polyEdge == PolyEdgeSharp)
-+	    maskFormat = PictureMatchFormat (pScreen, 1, PICT_a1);
-+	else
-+	    maskFormat = PictureMatchFormat (pScreen, 8, PICT_a8);
-+	
-+	for (; ntri; ntri--, tris++)
-+	    miTriangles (op, pSrc, pDst, maskFormat, xSrc, ySrc, 1, tris);
-+    }
-+}
-+
--- 
-2.3.2 (Apple Git-55)
-
diff --git a/pkgs/servers/x11/xorg/darwin/0006-fb-Revert-fb-changes-that-broke-XQuartz.patch b/pkgs/servers/x11/xorg/darwin/0006-fb-Revert-fb-changes-that-broke-XQuartz.patch
deleted file mode 100644
index 03d4decdb1c..00000000000
--- a/pkgs/servers/x11/xorg/darwin/0006-fb-Revert-fb-changes-that-broke-XQuartz.patch
+++ /dev/null
@@ -1,243 +0,0 @@
-From 4c7572abafeac9b2dcd884c444c5a5bae5b302c3 Mon Sep 17 00:00:00 2001
-From: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
-Date: Sat, 31 May 2014 13:14:20 -0700
-Subject: [PATCH 6/6] fb: Revert fb changes that broke XQuartz
-
-    http://bugs.freedesktop.org/show_bug.cgi?id=26124
-
-Revert "Use new pixman_glyph_cache_t API that will be in pixman 0.28.0"
-Revert "fb: Fix origin of source picture in fbGlyphs"
-Revert "fb: Publish fbGlyphs and fbUnrealizeGlyph"
-
-This reverts commit 9cbcb5bd6a5360a128d15b77a02d8d3351f74366.
-This reverts commit 983e30361f49a67252d0b5d82630e70724d69dbf.
-This reverts commit 3c2c59eed3c68c0e5a93c38cf01eedad015e3157.
----
- fb/fb.h       |   3 --
- fb/fbpict.c   | 149 +---------------------------------------------------------
- fb/fbpict.h   |  11 +----
- fb/fbscreen.c |   1 -
- 4 files changed, 2 insertions(+), 162 deletions(-)
-
-diff --git a/fb/fb.h b/fb/fb.h
-index 59eaac3..046b948 100644
---- a/fb/fb.h
-+++ b/fb/fb.h
-@@ -1116,9 +1116,6 @@ extern _X_EXPORT void
- extern _X_EXPORT Bool
-  fbPictureInit(ScreenPtr pScreen, PictFormatPtr formats, int nformats);
- 
--extern _X_EXPORT void
--fbDestroyGlyphCache(void);
--
- /*
-  * fbpixmap.c
-  */
-diff --git a/fb/fbpict.c b/fb/fbpict.c
-index 6ee63e9..9c4cc42 100644
---- a/fb/fbpict.c
-+++ b/fb/fbpict.c
-@@ -65,152 +65,6 @@ fbComposite(CARD8 op,
-     free_pixman_pict(pDst, dest);
- }
- 
--static pixman_glyph_cache_t *glyphCache;
--
--void
--fbDestroyGlyphCache(void)
--{
--    if (glyphCache)
--    {
--	pixman_glyph_cache_destroy (glyphCache);
--	glyphCache = NULL;
--    }
--}
--
--static void
--fbUnrealizeGlyph(ScreenPtr pScreen,
--		 GlyphPtr pGlyph)
--{
--    if (glyphCache)
--	pixman_glyph_cache_remove (glyphCache, pGlyph, NULL);
--}
--
--void
--fbGlyphs(CARD8 op,
--	 PicturePtr pSrc,
--	 PicturePtr pDst,
--	 PictFormatPtr maskFormat,
--	 INT16 xSrc,
--	 INT16 ySrc, int nlist,
--	 GlyphListPtr list,
--	 GlyphPtr *glyphs)
--{
--#define N_STACK_GLYPHS 512
--    ScreenPtr pScreen = pDst->pDrawable->pScreen;
--    pixman_glyph_t stack_glyphs[N_STACK_GLYPHS];
--    pixman_glyph_t *pglyphs = stack_glyphs;
--    pixman_image_t *srcImage, *dstImage;
--    int srcXoff, srcYoff, dstXoff, dstYoff;
--    GlyphPtr glyph;
--    int n_glyphs;
--    int x, y;
--    int i, n;
--    int xDst = list->xOff, yDst = list->yOff;
--
--    miCompositeSourceValidate(pSrc);
--
--    n_glyphs = 0;
--    for (i = 0; i < nlist; ++i)
--	n_glyphs += list[i].len;
--
--    if (!glyphCache)
--	glyphCache = pixman_glyph_cache_create();
--
--    pixman_glyph_cache_freeze (glyphCache);
--
--    if (n_glyphs > N_STACK_GLYPHS) {
--	if (!(pglyphs = malloc (n_glyphs * sizeof (pixman_glyph_t))))
--	    goto out;
--    }
--
--    i = 0;
--    x = y = 0;
--    while (nlist--) {
--        x += list->xOff;
--        y += list->yOff;
--        n = list->len;
--        while (n--) {
--	    const void *g;
--
--            glyph = *glyphs++;
--
--	    if (!(g = pixman_glyph_cache_lookup (glyphCache, glyph, NULL))) {
--		pixman_image_t *glyphImage;
--		PicturePtr pPicture;
--		int xoff, yoff;
--
--		pPicture = GetGlyphPicture(glyph, pScreen);
--		if (!pPicture) {
--		    n_glyphs--;
--		    goto next;
--		}
--
--		if (!(glyphImage = image_from_pict(pPicture, FALSE, &xoff, &yoff)))
--		    goto out;
--
--		g = pixman_glyph_cache_insert(glyphCache, glyph, NULL,
--					      glyph->info.x,
--					      glyph->info.y,
--					      glyphImage);
--
--		free_pixman_pict(pPicture, glyphImage);
--
--		if (!g)
--		    goto out;
--	    }
--
--	    pglyphs[i].x = x;
--	    pglyphs[i].y = y;
--	    pglyphs[i].glyph = g;
--	    i++;
--
--	next:
--            x += glyph->info.xOff;
--            y += glyph->info.yOff;
--	}
--	list++;
--    }
--
--    if (!(srcImage = image_from_pict(pSrc, FALSE, &srcXoff, &srcYoff)))
--	goto out;
--
--    if (!(dstImage = image_from_pict(pDst, TRUE, &dstXoff, &dstYoff)))
--	goto out_free_src;
--
--    if (maskFormat) {
--	pixman_format_code_t format;
--	pixman_box32_t extents;
--
--	format = maskFormat->format | (maskFormat->depth << 24);
--
--	pixman_glyph_get_extents(glyphCache, n_glyphs, pglyphs, &extents);
--
--	pixman_composite_glyphs(op, srcImage, dstImage, format,
--				xSrc + srcXoff + extents.x1 - xDst, ySrc + srcYoff + extents.y1 - yDst,
--				extents.x1, extents.y1,
--				extents.x1 + dstXoff, extents.y1 + dstYoff,
--				extents.x2 - extents.x1,
--				extents.y2 - extents.y1,
--				glyphCache, n_glyphs, pglyphs);
--    }
--    else {
--	pixman_composite_glyphs_no_mask(op, srcImage, dstImage,
--					xSrc + srcXoff - xDst, ySrc + srcYoff - yDst,
--					dstXoff, dstYoff,
--					glyphCache, n_glyphs, pglyphs);
--    }
--
--    free_pixman_pict(pDst, dstImage);
--
--out_free_src:
--    free_pixman_pict(pSrc, srcImage);
--
--out:
--    pixman_glyph_cache_thaw(glyphCache);
--    if (pglyphs != stack_glyphs)
--	free(pglyphs);
--}
--
- static pixman_image_t *
- create_solid_fill_image(PicturePtr pict)
- {
-@@ -461,8 +315,7 @@ fbPictureInit(ScreenPtr pScreen, PictFormatPtr formats, int nformats)
-         return FALSE;
-     ps = GetPictureScreen(pScreen);
-     ps->Composite = fbComposite;
--    ps->Glyphs = fbGlyphs;
--    ps->UnrealizeGlyph = fbUnrealizeGlyph;
-+    ps->Glyphs = miGlyphs;
-     ps->CompositeRects = miCompositeRects;
-     ps->RasterizeTrapezoid = fbRasterizeTrapezoid;
-     ps->AddTraps = fbAddTraps;
-diff --git a/fb/fbpict.h b/fb/fbpict.h
-index 5cb8663..110f32d 100644
---- a/fb/fbpict.h
-+++ b/fb/fbpict.h
-@@ -65,20 +65,11 @@ fbTrapezoids(CARD8 op,
-              INT16 xSrc, INT16 ySrc, int ntrap, xTrapezoid * traps);
- 
- extern _X_EXPORT void
-+
- fbTriangles(CARD8 op,
-             PicturePtr pSrc,
-             PicturePtr pDst,
-             PictFormatPtr maskFormat,
-             INT16 xSrc, INT16 ySrc, int ntris, xTriangle * tris);
- 
--extern _X_EXPORT void
--fbGlyphs(CARD8 op,
--	 PicturePtr pSrc,
--	 PicturePtr pDst,
--	 PictFormatPtr maskFormat,
--	 INT16 xSrc,
--	 INT16 ySrc, int nlist,
--	 GlyphListPtr list,
--	 GlyphPtr *glyphs);
--
- #endif                          /* _FBPICT_H_ */
-diff --git a/fb/fbscreen.c b/fb/fbscreen.c
-index 71bcc5d..55330fc 100644
---- a/fb/fbscreen.c
-+++ b/fb/fbscreen.c
-@@ -32,7 +32,6 @@ fbCloseScreen(ScreenPtr pScreen)
-     int d;
-     DepthPtr depths = pScreen->allowedDepths;
- 
--    fbDestroyGlyphCache();
-     for (d = 0; d < pScreen->numDepths; d++)
-         free(depths[d].vids);
-     free(depths);
--- 
-2.3.2 (Apple Git-55)
-
diff --git a/pkgs/servers/x11/xorg/darwin/bundle_main.patch b/pkgs/servers/x11/xorg/darwin/bundle_main.patch
deleted file mode 100644
index e60ca5738d1..00000000000
--- a/pkgs/servers/x11/xorg/darwin/bundle_main.patch
+++ /dev/null
@@ -1,118 +0,0 @@
-cstrahan:
-
-This patch makes it possible (and necessary) to specify the default
-shell, xterm client, and startx script from environment variables. These
-defaults are used when launching the XQuartz.app, which in turn needs to know
-how to start the X server. I've patched `command_from_prefs' so that it ignores
-the preferences settings and immediately sets them to whatever the environment
-variables are.
-
-When developing an installable package for XQuartz/XQuartz.app, we'll need to
-set an `LSEnvironment' entry in the plist for the XQuartz.app, we'll also need
-to wrap the XQuartz.app/Contents/MacOS/X11 script (the Xquartz server will
-invoke this script during initialization. See stub.patch for more details.).
-
-diff --git a/hw/xquartz/mach-startup/bundle-main.c b/hw/xquartz/mach-startup/bundle-main.c
-index b403662..b1e2070 100644
---- a/hw/xquartz/mach-startup/bundle-main.c
-+++ b/hw/xquartz/mach-startup/bundle-main.c
-@@ -77,13 +77,7 @@ FatalError(const char *f, ...) _X_ATTRIBUTE_PRINTF(1, 2) _X_NORETURN;
- 
- extern int noPanoramiXExtension;
- 
--#define DEFAULT_CLIENT X11BINDIR "/xterm"
--#define DEFAULT_STARTX X11BINDIR "/startx -- " X11BINDIR "/Xquartz"
--#define DEFAULT_SHELL  "/bin/sh"
--
--#ifndef BUILD_DATE
- #define BUILD_DATE ""
--#endif
- #ifndef XSERVER_VERSION
- #define XSERVER_VERSION "?"
- #endif
-@@ -718,14 +712,14 @@ main(int argc, char **argv, char **envp)
-         pid_t child1, child2;
-         int status;
- 
--        pref_app_to_run = command_from_prefs("app_to_run", DEFAULT_CLIENT);
-+        pref_app_to_run = command_from_prefs("app_to_run", getenv("XQUARTZ_DEFAULT_CLIENT"));
-         assert(pref_app_to_run);
- 
--        pref_login_shell = command_from_prefs("login_shell", DEFAULT_SHELL);
-+        pref_login_shell = command_from_prefs("login_shell", getenv("XQUARTZ_DEFAULT_SHELL"));
-         assert(pref_login_shell);
- 
-         pref_startx_script = command_from_prefs("startx_script",
--                                                DEFAULT_STARTX);
-+                                                getenv("XQUARTZ_DEFAULT_STARTX"));
-         assert(pref_startx_script);
- 
-         /* Do the fork-twice trick to avoid having to reap zombies */
-@@ -804,10 +798,12 @@ execute(const char *command)
- static char *
- command_from_prefs(const char *key, const char *default_value)
- {
-+    if (default_value == NULL)
-+        return NULL;
-+
-     char *command = NULL;
- 
-     CFStringRef cfKey;
--    CFPropertyListRef PlistRef;
- 
-     if (!key)
-         return NULL;
-@@ -817,40 +813,24 @@ command_from_prefs(const char *key, const char *default_value)
-     if (!cfKey)
-         return NULL;
- 
--    PlistRef = CFPreferencesCopyAppValue(cfKey,
--                                         kCFPreferencesCurrentApplication);
-+    CFStringRef cfDefaultValue = CFStringCreateWithCString(
-+        NULL, default_value, kCFStringEncodingASCII);
-+    int len = strlen(default_value) + 1;
- 
--    if ((PlistRef == NULL) ||
--        (CFGetTypeID(PlistRef) != CFStringGetTypeID())) {
--        CFStringRef cfDefaultValue = CFStringCreateWithCString(
--            NULL, default_value, kCFStringEncodingASCII);
--        int len = strlen(default_value) + 1;
-+    if (!cfDefaultValue)
-+        goto command_from_prefs_out;
- 
--        if (!cfDefaultValue)
--            goto command_from_prefs_out;
-+    CFPreferencesSetAppValue(cfKey, cfDefaultValue,
-+                             kCFPreferencesCurrentApplication);
-+    CFPreferencesAppSynchronize(kCFPreferencesCurrentApplication);
-+    CFRelease(cfDefaultValue);
- 
--        CFPreferencesSetAppValue(cfKey, cfDefaultValue,
--                                 kCFPreferencesCurrentApplication);
--        CFPreferencesAppSynchronize(kCFPreferencesCurrentApplication);
--        CFRelease(cfDefaultValue);
--
--        command = (char *)malloc(len * sizeof(char));
--        if (!command)
--            goto command_from_prefs_out;
--        strcpy(command, default_value);
--    }
--    else {
--        int len = CFStringGetLength((CFStringRef)PlistRef) + 1;
--        command = (char *)malloc(len * sizeof(char));
--        if (!command)
--            goto command_from_prefs_out;
--        CFStringGetCString((CFStringRef)PlistRef, command, len,
--                           kCFStringEncodingASCII);
--    }
-+    command = (char *)malloc(len * sizeof(char));
-+    if (!command)
-+        goto command_from_prefs_out;
-+    strcpy(command, default_value);
- 
- command_from_prefs_out:
--    if (PlistRef)
--        CFRelease(PlistRef);
-     if (cfKey)
-         CFRelease(cfKey);
-     return command;
diff --git a/pkgs/servers/x11/xorg/darwin/private-extern.patch b/pkgs/servers/x11/xorg/darwin/private-extern.patch
deleted file mode 100644
index 87af7865c37..00000000000
--- a/pkgs/servers/x11/xorg/darwin/private-extern.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff --git a/hw/xquartz/xpr/x-list.new.h b/hw/xquartz/xpr/x-list.h
-index 28385fd..71f9d26 100644
---- a/hw/xquartz/xpr/x-list.new.h
-+++ b/hw/xquartz/xpr/x-list.h
-@@ -45,6 +45,7 @@ struct x_list_struct {
- #endif
- 
- #ifndef X_EXTERN
-+#define __private_extern__ extern
- #define X_EXTERN __private_extern__
- #endif
- 
diff --git a/pkgs/servers/x11/xorg/darwin/stub.patch b/pkgs/servers/x11/xorg/darwin/stub.patch
deleted file mode 100644
index db3215b498a..00000000000
--- a/pkgs/servers/x11/xorg/darwin/stub.patch
+++ /dev/null
@@ -1,80 +0,0 @@
-cstrahan:
-
-When the X / Xquartz server initiallizes, it starts the XQuartz.app and
-hands-off the display FD. To start the XQuartz.app, Xquartz normally uses some
-system calls to get the path of the application by app bundle id, and then
-executes the Contents/MacOS/X11 script contained inside, which in turn executes
-Contents/MacOS/X11.bin (the actual app).
-
-This patch replaces that discovery technique with a simple call to
-`getenv'. In order to make Xquartz actually work, we'll need another wrapper
-that sets the `XQUARTZ_X11' environment variable to point to the `X11' script.
-
-diff --git a/hw/xquartz/mach-startup/stub.c b/hw/xquartz/mach-startup/stub.c
-index 756e4ef..3313a55 100644
---- a/hw/xquartz/mach-startup/stub.c
-+++ b/hw/xquartz/mach-startup/stub.c
-@@ -61,54 +61,16 @@ aslclient aslc;
- static void
- set_x11_path(void)
- {
--#if MAC_OS_X_VERSION_MIN_REQUIRED >= 1050
--
--    CFURLRef appURL = NULL;
--    OSStatus osstatus =
--        LSFindApplicationForInfo(kLSUnknownCreator, CFSTR(
--                                     kX11AppBundleId), nil, nil, &appURL);
--
--    switch (osstatus) {
--    case noErr:
--        if (appURL == NULL) {
--            asl_log(
--                aslc, NULL, ASL_LEVEL_ERR,
--                "Xquartz: Invalid response from LSFindApplicationForInfo(%s)",
--                kX11AppBundleId);
--            exit(1);
--        }
--
--        if (!CFURLGetFileSystemRepresentation(appURL, true,
--                                              (unsigned char *)x11_path,
--                                              sizeof(x11_path))) {
--            asl_log(aslc, NULL, ASL_LEVEL_ERR,
--                    "Xquartz: Error resolving URL for %s",
--                    kX11AppBundleId);
--            exit(3);
--        }
--
--        strlcat(x11_path, kX11AppBundlePath, sizeof(x11_path));
--        asl_log(aslc, NULL, ASL_LEVEL_INFO, "Xquartz: X11.app = %s", x11_path);
--        break;
--
--    case kLSApplicationNotFoundErr:
--        asl_log(aslc, NULL, ASL_LEVEL_ERR,
--                "Xquartz: Unable to find application for %s",
--                kX11AppBundleId);
--        exit(10);
--
--    default:
--        asl_log(aslc, NULL, ASL_LEVEL_ERR,
--                "Xquartz: Unable to find application for %s, error code = %d",
--                kX11AppBundleId,
--                (int)osstatus);
--        exit(11);
-+    char *xquartzX11 = getenv("XQUARTZ_X11");
-+    if (xquartzX11) {
-+        strlcpy(x11_path, xquartzX11,
-+                sizeof(x11_path));
-+    } else {
-+        asl_log(
-+            aslc, NULL, ASL_LEVEL_ERR,
-+            "Xquartz: XQUARTZ_X11 environment variable not set");
-+        exit(1);
-     }
--#else
--    /* TODO: Make Tiger smarter... but TBH, this should never get called on Tiger... */
--    strlcpy(x11_path, "/Applications/Utilities/X11.app/Contents/MacOS/X11",
--            sizeof(x11_path));
--#endif
- }
- 
- static int
diff --git a/pkgs/servers/x11/xorg/default.nix b/pkgs/servers/x11/xorg/default.nix
index d22565ae8db..d15c5924b77 100644
--- a/pkgs/servers/x11/xorg/default.nix
+++ b/pkgs/servers/x11/xorg/default.nix
@@ -1,6 +1,6 @@
 # THIS IS A GENERATED FILE.  DO NOT EDIT!
 args @ { clangStdenv, fetchurl, fetchgit, fetchpatch, stdenv, pkgconfig, intltool, freetype, fontconfig
-, libxslt, expat, libpng, zlib, perl, mesa_drivers, spice-protocol
+, libxslt, expat, libpng, zlib, perl, mesa_noglu, mesa_drivers, spice-protocol
 , dbus, libuuid, openssl, gperf, m4, libevdev, tradcpp, libinput, mcpp, makeWrapper, autoreconfHook
 , autoconf, automake, libtool, xmlto, asciidoc, flex, bison, python, mtdev, pixman, ... }: with args;
 
@@ -848,11 +848,11 @@ let
   }) // {inherit libX11 xextproto xproto ;};
 
   libXfixes = (mkDerivation "libXfixes" {
-    name = "libXfixes-5.0.2";
+    name = "libXfixes-5.0.3";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/lib/libXfixes-5.0.2.tar.bz2;
-      sha256 = "1slsk898386xii0r3l7szwwq3s6y2m4dsj0x93ninjh8xkghxllv";
+      url = mirror://xorg/individual/lib/libXfixes-5.0.3.tar.bz2;
+      sha256 = "1miana3y4hwdqdparsccmygqr3ic3hs5jrqfzp70hvi2zwxd676y";
     };
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ fixesproto libX11 xextproto xproto ];
@@ -1364,11 +1364,11 @@ let
   }) // {inherit libICE libSM libX11 libXext libXmu xproto libXt ;};
 
   utilmacros = (mkDerivation "utilmacros" {
-    name = "util-macros-1.19.1";
+    name = "util-macros-1.19.2";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/util/util-macros-1.19.1.tar.bz2;
-      sha256 = "19h6wflpmh7xxqr6lk5z8pds6r9r0dn7ijbvaacymx2q0m05km0q";
+      url = mirror://xorg/individual/util/util-macros-1.19.2.tar.bz2;
+      sha256 = "04p7ydqxgq37jklnfj18b70zsifiz4h50wvrk94i2112mmv37r6p";
     };
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ ];
@@ -1839,9 +1839,9 @@ let
       sha256 = "0z56ifw3xiq9dychv8chg1cny0hq4v3c1r9pqcybk5fp7nzw9jpq";
     };
     nativeBuildInputs = [ pkgconfig ];
-    buildInputs = [ fontsproto mesa libdrm udev randrproto renderproto videoproto xextproto xf86driproto xorgserver xproto ];
+    buildInputs = [ fontsproto libGL libdrm udev randrproto renderproto videoproto xextproto xf86driproto xorgserver xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit fontsproto mesa libdrm udev randrproto renderproto videoproto xextproto xf86driproto xorgserver xproto ;};
+  }) // {inherit fontsproto libGL libdrm udev randrproto renderproto videoproto xextproto xf86driproto xorgserver xproto ;};
 
   xf86videoark = (mkDerivation "xf86videoark" {
     name = "xf86-video-ark-0.7.5";
@@ -1868,11 +1868,11 @@ let
   }) // {inherit fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ;};
 
   xf86videoati = (mkDerivation "xf86videoati" {
-    name = "xf86-video-ati-7.9.0";
+    name = "xf86-video-ati-18.0.1";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/driver/xf86-video-ati-7.9.0.tar.bz2;
-      sha256 = "0xcq0lncb5p4sas5866qpkjyp1v8ksalw7m1gmqb3brhccp8gb9w";
+      url = mirror://xorg/individual/driver/xf86-video-ati-18.0.1.tar.bz2;
+      sha256 = "180l2yw8c63cbcs3zk729vx439aig1d7yicpyxj0nmfl4y0kpskj";
     };
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ fontsproto libdrm udev libpciaccess randrproto renderproto videoproto xextproto xf86driproto xorgserver xproto ];
@@ -2264,11 +2264,11 @@ let
   }) // {inherit randrproto videoproto xorgserver xproto ;};
 
   xf86videovesa = (mkDerivation "xf86videovesa" {
-    name = "xf86-video-vesa-2.3.4";
+    name = "xf86-video-vesa-2.4.0";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/driver/xf86-video-vesa-2.3.4.tar.bz2;
-      sha256 = "1haiw8r1z8ihk68d0jqph2wsld13w4qkl86biq46fvyxg7cg9pbv";
+      url = mirror://xorg/individual/driver/xf86-video-vesa-2.4.0.tar.bz2;
+      sha256 = "1373vsxn6qh00na0s9c09kf09gj78rzi98zq93id8v5zsya3qi5z";
     };
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ fontsproto libpciaccess randrproto renderproto xextproto xorgserver xproto ];
@@ -2396,11 +2396,11 @@ let
   }) // {inherit ;};
 
   xinit = (mkDerivation "xinit" {
-    name = "xinit-1.3.4";
+    name = "xinit-1.4.0";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/app/xinit-1.3.4.tar.bz2;
-      sha256 = "1cq2g469mb2cfgr8k57960yrn90bl33vfqri4pdh2zm0jxrqvn3m";
+      url = mirror://xorg/individual/app/xinit-1.4.0.tar.bz2;
+      sha256 = "1vw2wlg74ig52naw0cha3pgzcwwk25l834j42cg8m5zmybp3a213";
     };
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ libX11 xproto ];
@@ -2468,11 +2468,11 @@ let
   }) // {inherit inputproto libX11 libXaw xproto libXt ;};
 
   xkeyboardconfig = (mkDerivation "xkeyboardconfig" {
-    name = "xkeyboard-config-2.22";
+    name = "xkeyboard-config-2.23.1";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/data/xkeyboard-config/xkeyboard-config-2.22.tar.bz2;
-      sha256 = "1garmbyfjp0han04l2l90zzwlfbdgdxl6r1qnic36i5wkycckbny";
+      url = mirror://xorg/individual/data/xkeyboard-config/xkeyboard-config-2.23.1.tar.bz2;
+      sha256 = "1wq27cs1c9y7d1d7zp5yhq29paj9smajdb68lyvm28d2zq2vqjra";
     };
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ libX11 xproto ];
@@ -2570,6 +2570,9 @@ let
       url = mirror://xorg/individual/util/xorg-cf-files-1.0.6.tar.bz2;
       sha256 = "0kckng0zs1viz0nr84rdl6dswgip7ndn4pnh5nfwnviwpsfmmksd";
     };
+    postInstall = stdenv.lib.optionalString stdenv.isDarwin ''
+      substituteInPlace $out/lib/X11/config/darwin.cf --replace "/usr/bin/" ""
+    '';
     nativeBuildInputs = [ pkgconfig ];
     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 acf234a1683..9f21d3c2024 100755
--- a/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl
+++ b/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl
@@ -1,4 +1,4 @@
-#! /usr/bin/perl -w
+#! /usr/bin/env perl
 
 # Typical command to generate the list of tarballs:
 
@@ -11,6 +11,7 @@
 
 
 use strict;
+use warnings;
 
 my $tmpDir = "/tmp/xorg-unpack";
 
@@ -25,7 +26,7 @@ my %pcMap;
 my %extraAttrs;
 
 
-my @missingPCs = ("fontconfig", "libdrm", "libXaw", "zlib", "perl", "python", "mesa", "mkfontscale", "mkfontdir", "bdftopcf", "libxslt", "openssl", "gperf", "m4");
+my @missingPCs = ("fontconfig", "libdrm", "libXaw", "zlib", "perl", "python", "mkfontscale", "mkfontdir", "bdftopcf", "libxslt", "openssl", "gperf", "m4");
 $pcMap{$_} = $_ foreach @missingPCs;
 $pcMap{"freetype2"} = "freetype";
 $pcMap{"libpng12"} = "libpng";
@@ -33,7 +34,7 @@ $pcMap{"libpng"} = "libpng";
 $pcMap{"dbus-1"} = "dbus";
 $pcMap{"uuid"} = "libuuid";
 $pcMap{"libudev"} = "udev";
-$pcMap{"gl"} = "mesa";
+$pcMap{"gl"} = "libGL";
 $pcMap{"\$PIXMAN"} = "pixman";
 $pcMap{"\$RENDERPROTO"} = "renderproto";
 $pcMap{"\$DRI3PROTO"} = "dri3proto";
@@ -230,7 +231,7 @@ print OUT "";
 print OUT <<EOF;
 # THIS IS A GENERATED FILE.  DO NOT EDIT!
 args @ { clangStdenv, fetchurl, fetchgit, fetchpatch, stdenv, pkgconfig, intltool, freetype, fontconfig
-, libxslt, expat, libpng, zlib, perl, mesa_drivers, spice-protocol
+, libxslt, expat, libpng, zlib, perl, mesa_noglu, mesa_drivers, spice-protocol
 , dbus, libuuid, openssl, gperf, m4, libevdev, tradcpp, libinput, mcpp, makeWrapper, autoreconfHook
 , autoconf, automake, libtool, xmlto, asciidoc, flex, bison, python, mtdev, pixman, ... }: with args;
 
diff --git a/pkgs/servers/x11/xorg/overrides.nix b/pkgs/servers/x11/xorg/overrides.nix
index 42831dc4064..57c2af66b02 100644
--- a/pkgs/servers/x11/xorg/overrides.nix
+++ b/pkgs/servers/x11/xorg/overrides.nix
@@ -278,6 +278,11 @@ in
   };
 
   libxshmfence = attrs: attrs // {
+    name = "libxshmfence-1.3";
+    src = args.fetchurl {
+      url = mirror://xorg/individual/lib/libxshmfence-1.3.tar.bz2;
+      sha256 = "1ir0j92mnd1nk37mrv9bz5swnccqldicgszvfsh62jd14q6k115q";
+    };
     outputs = [ "out" "dev" ]; # mainly to avoid propagation
   };
 
@@ -407,7 +412,7 @@ in
   };
 
   xdriinfo = attrs: attrs // {
-    buildInputs = attrs.buildInputs ++ [args.mesa];
+    buildInputs = attrs.buildInputs ++ [args.libGL];
   };
 
   xvinfo = attrs: attrs // {
@@ -436,8 +441,9 @@ in
   xorgserver = with xorg; attrs_passed:
     # exchange attrs if abiCompat is set
     let
+      version = (builtins.parseDrvName attrs_passed.name).version;
       attrs = with args;
-        if (args.abiCompat == null) then attrs_passed
+        if (args.abiCompat == null || lib.hasPrefix args.abiCompat version) then attrs_passed
         else if (args.abiCompat == "1.17") then {
           name = "xorg-server-1.17.4";
           builder = ./builder.sh;
@@ -457,16 +463,16 @@ in
             };
             nativeBuildInputs = [ pkgconfig ];
             buildInputs = [ dri2proto dri3proto renderproto libdrm openssl libX11 libXau libXaw libxcb xcbutil xcbutilwm xcbutilimage xcbutilkeysyms xcbutilrenderutil libXdmcp libXfixes libxkbfile libXmu libXpm libXrender libXres libXt ];
-            postPatch = "sed '1i#include <malloc.h>' -i include/os.h";
+            postPatch = stdenv.lib.optionalString stdenv.isLinux "sed '1i#include <malloc.h>' -i include/os.h";
             meta.platforms = stdenv.lib.platforms.unix;
-        } else throw "unsupported xorg abiCompat: ${args.abiCompat}";
+        } else throw "unsupported xorg abiCompat ${args.abiCompat} for ${attrs_passed.name}";
 
     in attrs //
     (let
       version = (builtins.parseDrvName attrs.name).version;
       commonBuildInputs = attrs.buildInputs ++ [ xtrans ];
       commonPropagatedBuildInputs = [
-        args.zlib args.mesa args.dbus
+        args.zlib args.libGL args.libGLU args.dbus
         xf86bigfontproto glproto xf86driproto
         compositeproto scrnsaverproto resourceproto
         xf86dgaproto
@@ -477,8 +483,6 @@ in
         dri2proto dri3proto kbproto xineramaproto resourceproto scrnsaverproto videoproto
         libXfont2
       ];
-      # fix_segfault: https://bugs.freedesktop.org/show_bug.cgi?id=91316
-      commonPatches = [ ];
       # XQuartz requires two compilations: the first to get X / XQuartz,
       # and the second to get Xvfb, Xnest, etc.
       darwinOtherX = overrideDerivation xorgserver (oldAttrs: {
@@ -495,11 +499,10 @@ in
       if (!isDarwin)
       then {
         outputs = [ "out" "dev" ];
-        buildInputs = [ makeWrapper ] ++ commonBuildInputs;
+        buildInputs = commonBuildInputs ++ [ args.libdrm args.mesa_noglu ];
         propagatedBuildInputs = [ libpciaccess args.epoxy ] ++ commonPropagatedBuildInputs ++ lib.optionals stdenv.isLinux [
           args.udev
         ];
-        patches = commonPatches;
         prePatch = stdenv.lib.optionalString stdenv.hostPlatform.isMusl ''
           export CFLAGS+=" -D__uid_t=uid_t -D__gid_t=gid_t"
         '';
@@ -513,11 +516,12 @@ in
           "--with-xkb-path=${xorg.xkeyboardconfig}/share/X11/xkb"
           "--with-xkb-output=$out/share/X11/xkb/compiled"
           "--enable-glamor"
+        ] ++ lib.optionals stdenv.hostPlatform.isMusl [
+          "--disable-tls"
         ];
+
         postInstall = ''
           rm -fr $out/share/X11/xkb/compiled # otherwise X will try to write in it
-          wrapProgram $out/bin/Xvfb \
-            --set XORG_DRI_DRIVER_PATH ${args.mesa}/lib/dri
           ( # assert() keeps runtime reference xorgserver-dev in xf86-video-intel and others
             cd "$dev"
             for f in include/xorg/*.h; do
@@ -527,6 +531,7 @@ in
         '';
         passthru.version = version; # needed by virtualbox guest additions
       } else {
+        nativeBuildInputs = attrs.nativeBuildInputs ++ [ args.autoreconfHook xorg.utilmacros xorg.fontutil ];
         buildInputs = commonBuildInputs ++ [
           args.bootstrap_cmds args.automake args.autoconf
           args.apple_sdk.libs.Xplugin
@@ -536,16 +541,31 @@ in
         propagatedBuildInputs = commonPropagatedBuildInputs ++ [
           libAppleWM applewmproto
         ];
-        # Patches can be pulled from the server-*-apple branches of:
-        # http://cgit.freedesktop.org/~jeremyhu/xserver/
-        patches = commonPatches ++ [
-          ./darwin/0002-sdksyms.sh-Use-CPPFLAGS-not-CFLAGS.patch
-          ./darwin/0004-Use-old-miTrapezoids-and-miTriangles-routines.patch
-          ./darwin/0006-fb-Revert-fb-changes-that-broke-XQuartz.patch
-          ./darwin/private-extern.patch
-          ./darwin/bundle_main.patch
-          ./darwin/stub.patch
+
+        # XQuartz patchset
+        patches = [
+          (args.fetchpatch {
+            url = "https://github.com/XQuartz/xorg-server/commit/e88fd6d785d5be477d5598e70d105ffb804771aa.patch";
+            sha256 = "1q0a30m1qj6ai924afz490xhack7rg4q3iig2gxsjjh98snikr1k";
+            name = "use-cppflags-not-cflags.patch";
+          })
+          (args.fetchpatch {
+            url = "https://github.com/XQuartz/xorg-server/commit/75ee9649bcfe937ac08e03e82fd45d9e18110ef4.patch";
+            sha256 = "1vlfylm011y00j8mig9zy6gk9bw2b4ilw2qlsc6la49zi3k0i9fg";
+            name = "use-old-mitrapezoids-and-mitriangles-routines.patch";
+          })
+          (args.fetchpatch {
+            url = "https://github.com/XQuartz/xorg-server/commit/c58f47415be79a6564a9b1b2a62c2bf866141e73.patch";
+            sha256 = "19sisqzw8x2ml4lfrwfvavc2jfyq2bj5xcf83z89jdxg8g1gdd1i";
+            name = "revert-fb-changes-1.patch";
+          })
+          (args.fetchpatch {
+            url = "https://github.com/XQuartz/xorg-server/commit/56e6f1f099d2821e5002b9b05b715e7b251c0c97.patch";
+            sha256 = "0zm9g0g1jvy79sgkvy0rjm6ywrdba2xjd1nsnjbxjccckbr6i396";
+            name = "revert-fb-changes-2.patch";
+          })
         ];
+
         configureFlags = [
           # note: --enable-xquartz is auto
           "CPPFLAGS=-I${./darwin/dri}"
@@ -583,6 +603,10 @@ in
     nativeBuildInputs = attrs.nativeBuildInputs ++ [args.bison args.flex];
   };
 
+  xauth = attrs: attrs // {
+    doCheck = false; # fails
+  };
+
   xcursorthemes = attrs: attrs // {
     buildInputs = attrs.buildInputs ++ [xorg.xcursorgen];
     configureFlags = "--with-cursordir=$(out)/share/icons";
diff --git a/pkgs/servers/x11/xquartz/system-fonts.nix b/pkgs/servers/x11/xquartz/system-fonts.nix
index cf24bb439b9..db47f8afe01 100644
--- a/pkgs/servers/x11/xquartz/system-fonts.nix
+++ b/pkgs/servers/x11/xquartz/system-fonts.nix
@@ -26,9 +26,7 @@ stdenv.mkDerivation {
       fi;
     done;
     cd $out/share/X11-fonts/
-    rm fonts.dir
-    rm fonts.scale
-    rm fonts.alias
+    rm -f fonts.dir fonts.scale fonts.alias
     mkfontdir
     mkfontscale
     cat $( find ${xorg.fontalias}/ -name fonts.alias) >fonts.alias
diff --git a/pkgs/servers/xmpp/biboumi/default.nix b/pkgs/servers/xmpp/biboumi/default.nix
index e59aaa9116c..7ef6242d2b2 100644
--- a/pkgs/servers/xmpp/biboumi/default.nix
+++ b/pkgs/servers/xmpp/biboumi/default.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchurl, fetchgit, cmake, libuuid, expat, sqlite, libidn,
-  libiconv, botan2, systemd, pkgconfig, udns, pandoc, procps } :
+  libiconv, botan2, systemd, pkgconfig, udns, pandoc, coreutils } :
 
 stdenv.mkDerivation rec {
   name = "biboumi-${version}";
-  version = "6.1";
+  version = "7.2";
 
   src = fetchurl {
     url = "https://git.louiz.org/biboumi/snapshot/biboumi-${version}.tar.xz";
-    sha256 = "1la1n502v2wyfm0vl8v4m0hbigkkjchi21446n9mb203fz1cvr77";
+    sha256 = "0gyr2lp2imrjm5hvijcq0s7k9fzkirfl70cprjy9r4yvq6mg1jvd";
   };
 
   louiz_catch = fetchgit {
@@ -20,12 +20,11 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ cmake pkgconfig pandoc ];
   buildInputs = [ libuuid expat sqlite libiconv libidn botan2 systemd
-    udns procps ];
+    udns ];
 
-  inherit procps;
   preConfigure = ''
     substituteInPlace CMakeLists.txt --replace /etc/biboumi $out/etc/biboumi
-    substituteInPlace unit/biboumi.service.cmake --replace /bin/kill $procps/bin/kill
+    substituteInPlace unit/biboumi.service.cmake --replace /bin/kill ${coreutils}/bin/kill
     cp $louiz_catch/single_include/catch.hpp tests/
     # echo "policy_directory=$out/etc/biboumi" >> conf/biboumi.cfg
     # TODO include conf/biboumi.cfg as example somewhere
diff --git a/pkgs/servers/xmpp/ejabberd/default.nix b/pkgs/servers/xmpp/ejabberd/default.nix
index cd27f69e5f4..6a0bedeab26 100644
--- a/pkgs/servers/xmpp/ejabberd/default.nix
+++ b/pkgs/servers/xmpp/ejabberd/default.nix
@@ -1,5 +1,6 @@
 { stdenv, writeScriptBin, lib, fetchurl, git, cacert
 , erlang, openssl, expat, libyaml, bash, gnused, gnugrep, coreutils, utillinux, procps, gd
+, flock
 , withMysql ? false
 , withPgsql ? false
 , withSqlite ? false, sqlite
@@ -27,7 +28,7 @@ in stdenv.mkDerivation rec {
   name = "ejabberd-${version}";
 
   src = fetchurl {
-    url = "http://www.process-one.net/downloads/ejabberd/${version}/${name}.tgz";
+    url = "https://www.process-one.net/downloads/ejabberd/${version}/${name}.tgz";
     sha256 = "01i2n8mlgw293jdf4172f9q8ca8m35vysjws791p7nynpfdb4cn6";
   };
 
@@ -101,7 +102,7 @@ in stdenv.mkDerivation rec {
   postInstall = ''
     sed -i \
       -e '2iexport PATH=${ctlpath}:$PATH' \
-      -e 's,\(^ *FLOCK=\).*,\1${utillinux}/bin/flock,' \
+      -e 's,\(^ *FLOCK=\).*,\1${flock}/bin/flock,' \
       -e 's,\(^ *JOT=\).*,\1,' \
       -e 's,\(^ *CONNLOCKDIR=\).*,\1/var/lock/ejabberdctl,' \
       $out/sbin/ejabberdctl
@@ -110,7 +111,7 @@ in stdenv.mkDerivation rec {
   meta = with stdenv.lib; {
     description = "Open-source XMPP application server written in Erlang";
     license = licenses.gpl2;
-    homepage = http://www.ejabberd.im;
+    homepage = https://www.ejabberd.im;
     platforms = platforms.linux;
     maintainers = with maintainers; [ sander abbradar ];
     broken = withElixir;
diff --git a/pkgs/servers/xmpp/prosody/default.nix b/pkgs/servers/xmpp/prosody/default.nix
index b0e3492c0da..2d0e1a529da 100644
--- a/pkgs/servers/xmpp/prosody/default.nix
+++ b/pkgs/servers/xmpp/prosody/default.nix
@@ -1,14 +1,13 @@
 { stdenv, fetchurl, libidn, openssl, makeWrapper, fetchhg
 , lua5, luasocket, luasec, luaexpat, luafilesystem, luabitop
 , withLibevent ? true, luaevent ? null
-, withZlib ? true, luazlib ? null
 , withDBI ? true, luadbi ? null
 # use withExtraLibs to add additional dependencies of community modules
 , withExtraLibs ? [ ]
+, withOnlyInstalledCommunityModules ? [ ]
 , withCommunityModules ? [ ] }:
 
 assert withLibevent -> luaevent != null;
-assert withZlib -> luazlib != null;
 assert withDBI -> luadbi != null;
 
 with stdenv.lib;
@@ -16,7 +15,6 @@ with stdenv.lib;
 let
   libs        = [ luasocket luasec luaexpat luafilesystem luabitop ]
                 ++ optional withLibevent luaevent
-                ++ optional withZlib luazlib
                 ++ optional withDBI luadbi
                 ++ withExtraLibs;
   getPath     = lib : type : "${lib}/lib/lua/${lua5.luaversion}/?.${type};${lib}/share/lua/${lua5.luaversion}/?.${type}";
@@ -27,21 +25,22 @@ let
 in
 
 stdenv.mkDerivation rec {
-  version = "0.9.12";
+  version = "0.10.0";
   name = "prosody-${version}";
 
   src = fetchurl {
     url = "http://prosody.im/downloads/source/${name}.tar.gz";
-    sha256 = "139yxqpinajl32ryrybvilh54ddb1q6s0ajjhlcs4a0rnwia6n8s";
+    sha256 = "1644jy5dk46vahmh6nna36s79k8k668sbi3qamjb4q3c4m3y853l";
   };
 
   communityModules = fetchhg {
     url = "https://hg.prosody.im/prosody-modules";
-    rev = "9a3e51f348fe";
-    sha256 = "09g4vi52rv0r3jzcm0bsgp4ngqq6iapfbxfh0l7qj36qnajp4vm6";
+    rev = "150a7bd59043";
+    sha256 = "0nfx3lngcy88nd81gb7v4kh3nz1bzsm67bxgpd2lprk54diqcrz1";
   };
 
-  buildInputs = [ lua5 makeWrapper libidn openssl ];
+  buildInputs = [ lua5 makeWrapper libidn openssl ]
+    ++ optional withDBI luadbi;
 
   configureFlags = [
     "--ostype=linux"
@@ -52,7 +51,7 @@ stdenv.mkDerivation rec {
   postInstall = ''
       ${concatMapStringsSep "\n" (module: ''
         cp -r $communityModules/mod_${module} $out/lib/prosody/modules/
-      '') withCommunityModules}
+      '') (withCommunityModules ++ withOnlyInstalledCommunityModules)}
       wrapProgram $out/bin/prosody \
         --set LUA_PATH '${luaPath};' \
         --set LUA_CPATH '${luaCPath};'
@@ -62,11 +61,13 @@ stdenv.mkDerivation rec {
         --set LUA_CPATH '${luaCPath};'
     '';
 
+  passthru.communityModules = withCommunityModules;
+
   meta = {
     description = "Open-source XMPP application server written in Lua";
     license = licenses.mit;
-    homepage = http://www.prosody.im;
+    homepage = https://prosody.im;
     platforms = platforms.linux;
-    maintainers = [ ];
+    maintainers = with maintainers; [ fpletz globin ];
   };
 }
diff --git a/pkgs/servers/zookeeper/default.nix b/pkgs/servers/zookeeper/default.nix
index c90684e0fe0..c382061f1ef 100644
--- a/pkgs/servers/zookeeper/default.nix
+++ b/pkgs/servers/zookeeper/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "zookeeper-${version}";
-  version = "3.4.11";
+  version = "3.4.12";
 
   src = fetchurl {
     url = "mirror://apache/zookeeper/${name}/${name}.tar.gz";
-    sha256 = "110fs5manyaq6rxbzwzs9x3aqw8d5l4177y9qaj3xhgpr2hniggn";
+    sha256 = "1fcljn2741jw1jvjrk5a0xr8rk69wjwrq522wrc5nmjhj0qzk1n6";
   };
 
   buildInputs = [ makeWrapper jre ];
diff --git a/pkgs/shells/bash/4.4.nix b/pkgs/shells/bash/4.4.nix
index 63c7fbc7a0e..72ce29bf3f2 100644
--- a/pkgs/shells/bash/4.4.nix
+++ b/pkgs/shells/bash/4.4.nix
@@ -1,44 +1,38 @@
 { stdenv, buildPackages
-, fetchurl, readline70 ? null, texinfo ? null, binutils ? null, bison, autoconf
+, fetchurl, binutils ? null, bison, autoconf
 , buildPlatform, hostPlatform
-, interactive ? false
+
+# patch for cygwin requires readline support
+, interactive ? stdenv.isCygwin, readline70 ? null
+, withDocs ? false, texinfo ? null
+, self
 }:
 
+with stdenv.lib;
+
 assert interactive -> readline70 != null;
+assert withDocs -> texinfo != null;
 assert hostPlatform.isDarwin -> binutils != null;
 
 let
-  version = "4.4";
-  realName = "bash-${version}";
-  shortName = "bash44";
-  sha256 = "1jyz6snd63xjn6skk7za6psgidsd53k05cr3lksqybi0q6936syq";
-
-  upstreamPatches =
-    let
-      patch = nr: sha256:
-        fetchurl {
-          url = "mirror://gnu/bash/${realName}-patches/${shortName}-${nr}";
-          inherit sha256;
-        };
-    in
-      import ./bash-4.4-patches.nix patch;
-
-  inherit (stdenv.lib) optional optionals optionalString;
+  upstreamPatches = import ./bash-4.4-patches.nix (nr: sha256: fetchurl {
+    url = "mirror://gnu/bash/bash-4.4-patches/bash44-${nr}";
+    inherit sha256;
+  });
 in
 
 stdenv.mkDerivation rec {
-  name = "${realName}-p${toString (builtins.length upstreamPatches)}";
+  name = "bash-${optionalString interactive "interactive-"}${version}-p${toString (builtins.length upstreamPatches)}";
+  version = "4.4";
 
   src = fetchurl {
-    url = "mirror://gnu/bash/${realName}.tar.gz";
-    inherit sha256;
+    url = "mirror://gnu/bash/bash-${version}.tar.gz";
+    sha256 = "1jyz6snd63xjn6skk7za6psgidsd53k05cr3lksqybi0q6936syq";
   };
 
   hardeningDisable = [ "format" ];
 
-  outputs = [ "out" "dev" "doc" "info" ]
-    # the man pages are small and useful enough, so include them in $out in interactive builds
-    ++ stdenv.lib.optional (!interactive) "man";
+  outputs = [ "out" "dev" "man" "doc" "info" ];
 
   NIX_CFLAGS_COMPILE = ''
     -DSYS_BASHRC="/etc/bashrc"
@@ -52,18 +46,19 @@ stdenv.mkDerivation rec {
   patchFlags = "-p0";
 
   patches = upstreamPatches
+    ++ optional hostPlatform.isCygwin ./cygwin-bash-4.4.11-2.src.patch
     # https://lists.gnu.org/archive/html/bug-bash/2016-10/msg00006.html
-    ++ optional (hostPlatform.libc == "musl") (fetchurl {
+    ++ optional hostPlatform.isMusl (fetchurl {
       url = "https://lists.gnu.org/archive/html/bug-bash/2016-10/patchJxugOXrY2y.patch";
       sha256 = "1m4v9imidb1cc1h91f2na0b8y9kc5c5fgmpvy9apcyv2kbdcghg1";
-  });
-
-  postPatch = optionalString hostPlatform.isCygwin "patch -p2 < ${./cygwin-bash-4.4.11-2.src.patch}";
+    });
 
   configureFlags = [
     (if interactive then "--with-installed-readline" else "--disable-readline")
   ] ++ optionals (hostPlatform != buildPlatform) [
-    "bash_cv_job_control_missing=nomissing bash_cv_sys_named_pipes=nomissing bash_cv_getcwd_malloc=yes"
+    "bash_cv_job_control_missing=nomissing"
+    "bash_cv_sys_named_pipes=nomissing"
+    "bash_cv_getcwd_malloc=yes"
   ] ++ optionals hostPlatform.isCygwin [
     "--without-libintl-prefix --without-libiconv-prefix"
     "--with-installed-readline"
@@ -77,8 +72,8 @@ stdenv.mkDerivation rec {
 
   # Note: Bison is needed because the patches above modify parse.y.
   depsBuildBuild = [ buildPackages.stdenv.cc ];
-  nativeBuildInputs = [bison]
-    ++ optional (texinfo != null) texinfo
+  nativeBuildInputs = [ bison ]
+    ++ optional withDocs texinfo
     ++ optional hostPlatform.isDarwin binutils
     ++ optional (hostPlatform.libc == "musl") autoconf;
 
diff --git a/pkgs/shells/bash/bash-4.4-patches.nix b/pkgs/shells/bash/bash-4.4-patches.nix
index 741fb675d61..2d512812029 100644
--- a/pkgs/shells/bash/bash-4.4-patches.nix
+++ b/pkgs/shells/bash/bash-4.4-patches.nix
@@ -13,4 +13,11 @@ patch: [
 (patch "010" "01lfhrkdsdkdz8ypzapr614ras23x7ckjnr60aa5bzkaqprccrc4")
 (patch "011" "038p7mhnq9m65g505hi3827jkf9f35nd1cy00w8mwafpyxp44mnx")
 (patch "012" "0gh6lbb1rwpk44pvbamm6vzdfi50xnwkqd9v7s8cjwk3pz973hps")
+(patch "013" "1djkx0w9v62q78gz3jsvamj1jq53i6hbfrfhhsw86ihwpjnfy98v")
+(patch "014" "0z5ikcq9zyxw79d0z36r5p0mspnb5piavbv03jmlan1wnknmrxx7")
+(patch "015" "09n307fi1j257abhm295k6ksmnzw47ka2zhnr0i5lbdnpvn04xnk")
+(patch "016" "1cgi1y6mifm8hsgv4avj5ih76535js3qba1sqwbfvp7si76927sh")
+(patch "017" "0w6jpj2giakji1ir83rpkx1y7n7xqppah3j748m6dm38hywr0gvp")
+(patch "018" "1k58h4wxbsg7r4rwhrvzx5hfbapba2nxjysbhh6qp6ki5ys99i2v")
+(patch "019" "07n1i5610lbs672x1s8g82qn3qfj06s0ip3z80sri0g8vxp0s5r7")
 ]
diff --git a/pkgs/shells/bash-completion/default.nix b/pkgs/shells/bash/bash-completion/default.nix
index 1c1b83d67b9..b5f600da8f7 100644
--- a/pkgs/shells/bash-completion/default.nix
+++ b/pkgs/shells/bash/bash-completion/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "bash-completion-${version}";
-  version = "2.7";
+  version = "2.8";
 
   src = fetchurl {
     url = "https://github.com/scop/bash-completion/releases/download/${version}/${name}.tar.xz";
-    sha256 = "07j484vb3k90f4989xh1g1x99g01akrp69p3dml4lza27wnqkfj1";
+    sha256 = "0kgmflrr1ga9wfk770vmakna3nj46ylb5ky9ipd0v2k9ymq5a7y0";
   };
 
   doCheck = true;
diff --git a/pkgs/shells/bash/cygwin-bash-4.4.11-2.src.patch b/pkgs/shells/bash/cygwin-bash-4.4.11-2.src.patch
index c854e8828ae..48837310962 100644
--- a/pkgs/shells/bash/cygwin-bash-4.4.11-2.src.patch
+++ b/pkgs/shells/bash/cygwin-bash-4.4.11-2.src.patch
@@ -1,5 +1,5 @@
---- origsrc/bash-4.4/bashline.c	2017-01-23 13:28:06.955247200 -0600
-+++ src/bash-4.4/bashline.c	2017-01-23 13:55:07.992877600 -0600
+--- bashline.c	2017-01-23 13:28:06.955247200 -0600
++++ bashline.c	2017-01-23 13:55:07.992877600 -0600
 @@ -76,6 +76,16 @@
  #  include "pcomplete.h"
  #endif
@@ -104,8 +104,8 @@
    r = file_isdir (fn);
    free (fn);
  
---- origsrc/bash-4.4/builtins/read.def	2017-01-23 13:28:07.017686500 -0600
-+++ src/bash-4.4/builtins/read.def	2017-01-23 13:55:07.992877600 -0600
+--- builtins/read.def	2017-01-23 13:28:07.017686500 -0600
++++ builtins/read.def	2017-01-23 13:55:07.992877600 -0600
 @@ -85,7 +85,6 @@ $END
  
  #ifdef __CYGWIN__
@@ -140,8 +140,8 @@
        if ((skip_ctlesc == 0 && c == CTLESC) || (skip_ctlnul == 0 && c == CTLNUL))
  	{
  	  saw_escape++;
---- origsrc/bash-4.4/builtins/set.def	2016-06-02 19:10:10.000000000 -0500
-+++ src/bash-4.4/builtins/set.def	2017-01-23 13:55:07.992877600 -0600
+--- builtins/set.def	2016-06-02 19:10:10.000000000 -0500
++++ builtins/set.def	2017-01-23 13:55:07.992877600 -0600
 @@ -56,6 +56,13 @@ extern int dont_save_function_defs;
  #if defined (READLINE)
  extern int no_line_editing;
@@ -258,8 +258,8 @@
        free (vname);
      }
  }
---- origsrc/bash-4.4/builtins/shopt.def	2016-05-06 14:00:02.000000000 -0500
-+++ src/bash-4.4/builtins/shopt.def	2017-01-23 13:55:07.992877600 -0600
+--- builtins/shopt.def	2016-05-06 14:00:02.000000000 -0500
++++ builtins/shopt.def	2017-01-23 13:55:07.992877600 -0600
 @@ -92,6 +92,10 @@ extern int glob_asciirange;
  extern int lastpipe_opt;
  extern int inherit_errexit;
@@ -281,8 +281,8 @@
  #if defined (READLINE)
    { "complete_fullquote", &complete_fullquote, (shopt_set_func_t *)NULL},
    { "direxpand", &dircomplete_expand, shopt_set_complete_direxpand },
---- origsrc/bash-4.4/config-top.h	2016-05-19 13:34:02.000000000 -0500
-+++ src/bash-4.4/config-top.h	2017-01-23 13:55:07.992877600 -0600
+--- config-top.h	2016-05-19 13:34:02.000000000 -0500
++++ config-top.h	2017-01-23 13:55:07.992877600 -0600
 @@ -87,10 +87,10 @@
  #define DEFAULT_BASHRC "~/.bashrc"
  
@@ -305,8 +305,8 @@
  
  /* Define if you want the case-capitalizing operators (~[~]) and the
     `capcase' variable attribute (declare -c). */
---- origsrc/bash-4.4/doc/Makefile.in	2015-12-06 18:55:56.000000000 -0600
-+++ src/bash-4.4/doc/Makefile.in	2017-01-23 13:55:07.992877600 -0600
+--- doc/Makefile.in	2015-12-06 18:55:56.000000000 -0600
++++ doc/Makefile.in	2017-01-23 13:55:07.992877600 -0600
 @@ -189,7 +189,7 @@ bashref.html: $(BASHREF_FILES) $(HSUSER)
  	$(MAKEINFO) --html --no-split -I$(TEXINPUTDIR) $(srcdir)/bashref.texi
  
@@ -329,8 +329,8 @@
  	-if test -f bash.info; then d=.; else d=$(srcdir); fi; \
  	  $(INSTALL_DATA) $$d/bash.info $(DESTDIR)$(infodir)/bash.info
  # run install-info if it is present to update the info directory
---- origsrc/bash-4.4/doc/bash.1	2016-08-26 08:45:17.000000000 -0500
-+++ src/bash-4.4/doc/bash.1	2017-01-23 13:55:08.008447700 -0600
+--- doc/bash.1	2016-08-26 08:45:17.000000000 -0500
++++ doc/bash.1	2017-01-23 13:55:08.008447700 -0600
 @@ -9607,6 +9607,10 @@ filenames.
  This variable is set by default, which is the default bash behavior in
  versions through 4.2.
@@ -342,8 +342,8 @@
  .B direxpand
  If set,
  .B bash
---- origsrc/bash-4.4/doc/bashref.texi	2016-09-07 16:13:36.000000000 -0500
-+++ src/bash-4.4/doc/bashref.texi	2017-01-23 13:55:08.008447700 -0600
+--- doc/bashref.texi	2016-09-07 16:13:36.000000000 -0500
++++ doc/bashref.texi	2017-01-23 13:55:08.008447700 -0600
 @@ -5123,6 +5123,10 @@ filenames.
  This variable is set by default, which is the default Bash behavior in
  versions through 4.2.
@@ -355,8 +355,8 @@
  @item direxpand
  If set, Bash
  replaces directory names with the results of word expansion when performing
---- origsrc/bash-4.4/doc/builtins.1	2012-02-21 13:32:05.000000000 -0600
-+++ src/bash-4.4/doc/builtins.1	2017-01-23 13:55:08.008447700 -0600
+--- doc/builtins.1	2012-02-21 13:32:05.000000000 -0600
++++ doc/builtins.1	2017-01-23 13:55:08.008447700 -0600
 @@ -19,6 +19,6 @@ shift, shopt, source, suspend, test, tim
  ulimit, umask, unalias, unset, wait \- bash built-in commands, see \fBbash\fR(1)
  .SH BASH BUILTIN COMMANDS
@@ -365,8 +365,8 @@
 +.so man1/bash.1
  .SH SEE ALSO
  bash(1), sh(1)
---- origsrc/bash-4.4/general.c	2016-08-11 10:16:56.000000000 -0500
-+++ src/bash-4.4/general.c	2017-01-23 13:55:08.008447700 -0600
+--- general.c	2016-08-11 10:16:56.000000000 -0500
++++ general.c	2017-01-23 13:55:08.008447700 -0600
 @@ -48,6 +48,10 @@
  
  #include <tilde/tilde.h>
@@ -388,8 +388,8 @@
        result = savestring (pathbuf);
      }
  #else
---- origsrc/bash-4.4/input.c	2015-09-24 18:49:23.000000000 -0500
-+++ src/bash-4.4/input.c	2017-01-23 13:55:08.008447700 -0600
+--- input.c	2015-09-24 18:49:23.000000000 -0500
++++ input.c	2017-01-23 13:55:08.008447700 -0600
 @@ -44,6 +44,10 @@
  #include "quit.h"
  #include "trap.h"
@@ -421,8 +421,8 @@
  #if !defined (DJGPP)
    return (bufstream_getc (buffers[bash_input.location.buffered_fd]));
  #else
---- origsrc/bash-4.4/lib/sh/pathphys.c	2013-05-28 14:33:58.000000000 -0500
-+++ src/bash-4.4/lib/sh/pathphys.c	2017-01-23 13:55:08.008447700 -0600
+--- lib/sh/pathphys.c	2013-05-28 14:33:58.000000000 -0500
++++ lib/sh/pathphys.c	2017-01-23 13:55:08.008447700 -0600
 @@ -35,6 +35,7 @@
  #include <stdio.h>
  #include <chartypes.h>
@@ -453,8 +453,8 @@
  	      double_slash_path = DOUBLE_SLASH (workpath);
  	      qbase += double_slash_path;
      
---- origsrc/bash-4.4/lib/sh/tmpfile.c	2016-08-11 10:05:58.000000000 -0500
-+++ src/bash-4.4/lib/sh/tmpfile.c	2017-01-23 13:55:08.008447700 -0600
+--- lib/sh/tmpfile.c	2016-08-11 10:05:58.000000000 -0500
++++ lib/sh/tmpfile.c	2017-01-23 13:55:08.008447700 -0600
 @@ -101,7 +101,7 @@ get_tmpdir (flags)
    if (tdir && (file_iswdir (tdir) == 0 || strlen (tdir) > PATH_MAX))
      tdir = 0;
@@ -464,8 +464,8 @@
      tdir = get_sys_tmpdir ();
  
  #if defined (HAVE_PATHCONF) && defined (_PC_NAME_MAX)
---- origsrc/bash-4.4/mksyntax.c	2012-07-29 18:48:38.000000000 -0500
-+++ src/bash-4.4/mksyntax.c	2017-01-23 13:55:08.008447700 -0600
+--- mksyntax.c	2012-07-29 18:48:38.000000000 -0500
++++ mksyntax.c	2017-01-23 13:55:08.008447700 -0600
 @@ -29,13 +29,13 @@
  
  #ifdef HAVE_UNISTD_H
@@ -483,8 +483,8 @@
  #ifndef errno
  extern int errno;
  #endif
---- origsrc/bash-4.4/parse.y	2016-09-11 10:31:46.000000000 -0500
-+++ src/bash-4.4/parse.y	2017-01-23 13:55:08.008447700 -0600
+--- parse.y	2016-09-11 10:31:46.000000000 -0500
++++ parse.y	2017-01-23 13:55:08.008447700 -0600
 @@ -1539,14 +1539,20 @@ yy_string_get ()
    string = bash_input.location.string;
  
@@ -509,8 +509,8 @@
  }
  
  static int
---- origsrc/bash-4.4/subst.c	2017-01-23 13:28:06.955247200 -0600
-+++ src/bash-4.4/subst.c	2017-01-23 13:55:08.008447700 -0600
+--- subst.c	2017-01-23 13:28:06.955247200 -0600
++++ subst.c	2017-01-23 13:55:08.008447700 -0600
 @@ -43,6 +43,7 @@
  #include "posixstat.h"
  #include "bashintl.h"
@@ -562,8 +562,8 @@
    old_pid = last_made_pid;
  #if defined (JOB_CONTROL)
    old_pipeline_pgrp = pipeline_pgrp;
---- origsrc/bash-4.4/support/bashversion.c	2008-09-09 08:31:53.000000000 -0500
-+++ src/bash-4.4/support/bashversion.c	2017-01-23 13:55:08.024037200 -0600
+--- support/bashversion.c	2008-09-09 08:31:53.000000000 -0500
++++ support/bashversion.c	2017-01-23 13:55:08.024037200 -0600
 @@ -26,6 +26,9 @@
  
  #if defined (HAVE_UNISTD_H)
@@ -584,8 +584,8 @@
  extern char *dist_version;
  extern int patch_level;
  
---- origsrc/bash-4.4/support/mkversion.sh	2008-08-13 07:25:57.000000000 -0500
-+++ src/bash-4.4/support/mkversion.sh	2017-01-23 13:55:08.024037200 -0600
+--- support/mkversion.sh	2008-08-13 07:25:57.000000000 -0500
++++ support/mkversion.sh	2017-01-23 13:55:08.024037200 -0600
 @@ -29,7 +29,7 @@ source_dir="."
  while [ $# -gt 0 ]; do
  	case "$1" in
@@ -595,8 +595,8 @@
  	-s)	shift; rel_status=$1; shift ;;
  	-p)	shift; patch_level=$1; shift ;;
  	-d)	shift; dist_version=$1; shift ;;
---- origsrc/bash-4.4/variables.c	2016-06-15 15:05:52.000000000 -0500
-+++ src/bash-4.4/variables.c	2017-01-23 13:55:08.024037200 -0600
+--- variables.c	2016-06-15 15:05:52.000000000 -0500
++++ variables.c	2017-01-23 13:55:08.024037200 -0600
 @@ -5239,6 +5239,7 @@ sv_winsize (name)
  /* Update the value of HOME in the export environment so tilde expansion will
     work on cygwin. */
diff --git a/pkgs/shells/nix-bash-completions/default.nix b/pkgs/shells/bash/nix-bash-completions/default.nix
index c8582366d1a..b76e65ca871 100644
--- a/pkgs/shells/nix-bash-completions/default.nix
+++ b/pkgs/shells/bash/nix-bash-completions/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchFromGitHub }:
 
 stdenv.mkDerivation rec {
-  version = "0.6.4";
+  version = "0.6.6";
   name = "nix-bash-completions-${version}";
 
   src = fetchFromGitHub {
     owner = "hedning";
     repo = "nix-bash-completions";
     rev = "v${version}";
-    sha256 = "1kdysrfc8dx24q438wj3aisn64g2w5yb6mx91qa385p5hz7b1yz2";
+    sha256 = "1lz9cgacyd4cphr7l90x4hn0ifhxwzz2d5829w1jcglasfacfpsw";
   };
 
   # To enable lazy loading via. bash-completion we need a symlink to the script
diff --git a/pkgs/shells/dash/default.nix b/pkgs/shells/dash/default.nix
index 1de2a52634b..5f26801ca6d 100644
--- a/pkgs/shells/dash/default.nix
+++ b/pkgs/shells/dash/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "dash-0.5.9.1";
+  name = "dash-0.5.10";
 
   src = fetchurl {
     url = "http://gondor.apana.org.au/~herbert/dash/files/${name}.tar.gz";
-    sha256 = "5ecd5bea72a93ed10eb15a1be9951dd51b52e5da1d4a7ae020efd9826b49e659";
+    sha256 = "1arimvc9zcghhb3nin9z3yr5706vxfri4a9r3j9j9d0n676f0w5d";
   };
 
   hardeningDisable = [ "format" ];
diff --git a/pkgs/shells/fish-foreign-env/default.nix b/pkgs/shells/fish/fish-foreign-env/default.nix
index 445e961c649..445e961c649 100644
--- a/pkgs/shells/fish-foreign-env/default.nix
+++ b/pkgs/shells/fish/fish-foreign-env/default.nix
diff --git a/pkgs/shells/fish-foreign-env/suppress-harmless-warnings.patch b/pkgs/shells/fish/fish-foreign-env/suppress-harmless-warnings.patch
index 5e4569f0a15..5e4569f0a15 100644
--- a/pkgs/shells/fish-foreign-env/suppress-harmless-warnings.patch
+++ b/pkgs/shells/fish/fish-foreign-env/suppress-harmless-warnings.patch
diff --git a/pkgs/shells/rush/default.nix b/pkgs/shells/rush/default.nix
index 8280897c47a..9a5f7a753d3 100644
--- a/pkgs/shells/rush/default.nix
+++ b/pkgs/shells/rush/default.nix
@@ -8,7 +8,9 @@ stdenv.mkDerivation rec {
     sha256 = "1vxdb81ify4xcyygh86250pi50krb16dkj42i5ii4ns3araiwckz";
   };
 
-  patches = [ ./fix-format-security-error.patch ];
+  patches = [ ./fix-format-security-error.patch
+    ./intprops.patch
+  ];
 
   doCheck = true;
 
diff --git a/pkgs/shells/rush/gets.patch b/pkgs/shells/rush/gets.patch
deleted file mode 100644
index 94b1f5dd2f5..00000000000
--- a/pkgs/shells/rush/gets.patch
+++ /dev/null
@@ -1,13 +0,0 @@
---- rush-1.7/gnu/stdio.in.h.org	2010-06-13 19:14:59.000000000 +0200
-+++ rush-1.7/gnu/stdio.in.h	2013-12-30 14:29:55.000000000 +0100
-@@ -138,8 +138,10 @@ _GL_WARN_ON_USE (fflush, "fflush is not
- /* It is very rare that the developer ever has full control of stdin,
-    so any use of gets warrants an unconditional warning.  Assume it is
-    always declared, since it is required by C89.  */
-+#if defined gets 
- #undef gets
- _GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
-+#endif
- 
- #if @GNULIB_FOPEN@
- # if @REPLACE_FOPEN@
diff --git a/pkgs/shells/rush/intprops.patch b/pkgs/shells/rush/intprops.patch
new file mode 100644
index 00000000000..947cb0b9ab9
--- /dev/null
+++ b/pkgs/shells/rush/intprops.patch
@@ -0,0 +1,257 @@
+Description: Update to latest intprops.h from gnulib, fixes FTBFS with gcc 7
+Author: Adrian Bunk <bunk@debian.org>
+Bug-Debian: https://bugs.debian.org/853649
+
+--- rush-1.8+dfsg.orig/gnu/intprops.h
++++ rush-1.8+dfsg/gnu/intprops.h
+@@ -1,20 +1,18 @@
+-/* -*- buffer-read-only: t -*- vi: set ro: */
+-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+ /* intprops.h -- properties of integer types
+ 
+-   Copyright (C) 2001-2016 Free Software Foundation, Inc.
++   Copyright (C) 2001-2017 Free Software Foundation, Inc.
+ 
+    This program is free software: you can redistribute it and/or modify it
+-   under the terms of the GNU General Public License as published
+-   by the Free Software Foundation; either version 3 of the License, or
++   under the terms of the GNU Lesser General Public License as published
++   by the Free Software Foundation; either version 2.1 of the License, or
+    (at your option) any later version.
+ 
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+-   GNU General Public License for more details.
++   GNU Lesser General Public License for more details.
+ 
+-   You should have received a copy of the GNU General Public License
++   You should have received a copy of the GNU Lesser General Public License
+    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+ 
+ /* Written by Paul Eggert.  */
+@@ -23,7 +21,6 @@
+ #define _GL_INTPROPS_H
+ 
+ #include <limits.h>
+-#include <verify.h>
+ 
+ /* Return a value with the common real type of E and V and the value of V.  */
+ #define _GL_INT_CONVERT(e, v) (0 * (e) + (v))
+@@ -49,12 +46,16 @@
+ 
+ /* Minimum and maximum values for integer types and expressions.  */
+ 
++/* The width in bits of the integer type or expression T.
++   Padding bits are not supported; this is checked at compile-time below.  */
++#define TYPE_WIDTH(t) (sizeof (t) * CHAR_BIT)
++
+ /* The maximum and minimum values for the integer type T.  */
+ #define TYPE_MINIMUM(t) ((t) ~ TYPE_MAXIMUM (t))
+ #define TYPE_MAXIMUM(t)                                                 \
+   ((t) (! TYPE_SIGNED (t)                                               \
+         ? (t) -1                                                        \
+-        : ((((t) 1 << (sizeof (t) * CHAR_BIT - 2)) - 1) * 2 + 1)))
++        : ((((t) 1 << (TYPE_WIDTH (t) - 2)) - 1) * 2 + 1)))
+ 
+ /* The maximum and minimum values for the type of the expression E,
+    after integer promotion.  E should not have side effects.  */
+@@ -67,29 +68,23 @@
+    ? _GL_SIGNED_INT_MAXIMUM (e)                                         \
+    : _GL_INT_NEGATE_CONVERT (e, 1))
+ #define _GL_SIGNED_INT_MAXIMUM(e)                                       \
+-  (((_GL_INT_CONVERT (e, 1) << (sizeof ((e) + 0) * CHAR_BIT - 2)) - 1) * 2 + 1)
++  (((_GL_INT_CONVERT (e, 1) << (TYPE_WIDTH ((e) + 0) - 2)) - 1) * 2 + 1)
++
++/* Work around OpenVMS incompatibility with C99.  */
++#if !defined LLONG_MAX && defined __INT64_MAX
++# define LLONG_MAX __INT64_MAX
++# define LLONG_MIN __INT64_MIN
++#endif
+ 
+ /* This include file assumes that signed types are two's complement without
+    padding bits; the above macros have undefined behavior otherwise.
+    If this is a problem for you, please let us know how to fix it for your host.
+-   As a sanity check, test the assumption for some signed types that
+-   <limits.h> bounds.  */
+-verify (TYPE_MINIMUM (signed char) == SCHAR_MIN);
+-verify (TYPE_MAXIMUM (signed char) == SCHAR_MAX);
+-verify (TYPE_MINIMUM (short int) == SHRT_MIN);
+-verify (TYPE_MAXIMUM (short int) == SHRT_MAX);
+-verify (TYPE_MINIMUM (int) == INT_MIN);
+-verify (TYPE_MAXIMUM (int) == INT_MAX);
+-verify (TYPE_MINIMUM (long int) == LONG_MIN);
+-verify (TYPE_MAXIMUM (long int) == LONG_MAX);
+-#ifdef LLONG_MAX
+-verify (TYPE_MINIMUM (long long int) == LLONG_MIN);
+-verify (TYPE_MAXIMUM (long long int) == LLONG_MAX);
+-#endif
++   This assumption is tested by the intprops-tests module.  */
+ 
+ /* Does the __typeof__ keyword work?  This could be done by
+    'configure', but for now it's easier to do it by hand.  */
+-#if (2 <= __GNUC__ || defined __IBM__TYPEOF__ \
++#if (2 <= __GNUC__ \
++     || (1210 <= __IBMC__ && defined __IBM__TYPEOF__) \
+      || (0x5110 <= __SUNPRO_C && !__STDC__))
+ # define _GL_HAVE___TYPEOF__ 1
+ #else
+@@ -118,8 +113,7 @@ verify (TYPE_MAXIMUM (long long int) ==
+    signed, this macro may overestimate the true bound by one byte when
+    applied to unsigned types of size 2, 4, 16, ... bytes.  */
+ #define INT_STRLEN_BOUND(t)                                     \
+-  (INT_BITS_STRLEN_BOUND (sizeof (t) * CHAR_BIT                 \
+-                          - _GL_SIGNED_TYPE_OR_EXPR (t))        \
++  (INT_BITS_STRLEN_BOUND (TYPE_WIDTH (t) - _GL_SIGNED_TYPE_OR_EXPR (t)) \
+    + _GL_SIGNED_TYPE_OR_EXPR (t))
+ 
+ /* Bound on buffer size needed to represent an integer type or expression T,
+@@ -224,20 +218,27 @@ verify (TYPE_MAXIMUM (long long int) ==
+    ? (a) < (min) >> (b)                                 \
+    : (max) >> (b) < (a))
+ 
+-/* True if __builtin_add_overflow (A, B, P) works when P is null.  */
+-#define _GL_HAS_BUILTIN_OVERFLOW_WITH_NULL (7 <= __GNUC__)
++/* True if __builtin_add_overflow (A, B, P) works when P is non-null.  */
++#if 5 <= __GNUC__ && !defined __ICC
++# define _GL_HAS_BUILTIN_OVERFLOW 1
++#else
++# define _GL_HAS_BUILTIN_OVERFLOW 0
++#endif
++
++/* True if __builtin_add_overflow_p (A, B, C) works.  */
++#define _GL_HAS_BUILTIN_OVERFLOW_P (7 <= __GNUC__)
+ 
+ /* The _GL*_OVERFLOW macros have the same restrictions as the
+    *_RANGE_OVERFLOW macros, except that they do not assume that operands
+    (e.g., A and B) have the same type as MIN and MAX.  Instead, they assume
+    that the result (e.g., A + B) has that type.  */
+-#if _GL_HAS_BUILTIN_OVERFLOW_WITH_NULL
+-# define _GL_ADD_OVERFLOW(a, b, min, max)
+-   __builtin_add_overflow (a, b, (__typeof__ ((a) + (b)) *) 0)
+-# define _GL_SUBTRACT_OVERFLOW(a, b, min, max)
+-   __builtin_sub_overflow (a, b, (__typeof__ ((a) - (b)) *) 0)
+-# define _GL_MULTIPLY_OVERFLOW(a, b, min, max)
+-   __builtin_mul_overflow (a, b, (__typeof__ ((a) * (b)) *) 0)
++#if _GL_HAS_BUILTIN_OVERFLOW_P
++# define _GL_ADD_OVERFLOW(a, b, min, max)                               \
++   __builtin_add_overflow_p (a, b, (__typeof__ ((a) + (b))) 0)
++# define _GL_SUBTRACT_OVERFLOW(a, b, min, max)                          \
++   __builtin_sub_overflow_p (a, b, (__typeof__ ((a) - (b))) 0)
++# define _GL_MULTIPLY_OVERFLOW(a, b, min, max)                          \
++   __builtin_mul_overflow_p (a, b, (__typeof__ ((a) * (b))) 0)
+ #else
+ # define _GL_ADD_OVERFLOW(a, b, min, max)                                \
+    ((min) < 0 ? INT_ADD_RANGE_OVERFLOW (a, b, min, max)                  \
+@@ -317,7 +318,7 @@ verify (TYPE_MAXIMUM (long long int) ==
+   _GL_BINARY_OP_OVERFLOW (a, b, _GL_ADD_OVERFLOW)
+ #define INT_SUBTRACT_OVERFLOW(a, b) \
+   _GL_BINARY_OP_OVERFLOW (a, b, _GL_SUBTRACT_OVERFLOW)
+-#if _GL_HAS_BUILTIN_OVERFLOW_WITH_NULL
++#if _GL_HAS_BUILTIN_OVERFLOW_P
+ # define INT_NEGATE_OVERFLOW(a) INT_SUBTRACT_OVERFLOW (0, a)
+ #else
+ # define INT_NEGATE_OVERFLOW(a) \
+@@ -351,10 +352,6 @@ verify (TYPE_MAXIMUM (long long int) ==
+ #define INT_MULTIPLY_WRAPV(a, b, r) \
+   _GL_INT_OP_WRAPV (a, b, r, *, __builtin_mul_overflow, INT_MULTIPLY_OVERFLOW)
+ 
+-#ifndef __has_builtin
+-# define __has_builtin(x) 0
+-#endif
+-
+ /* Nonzero if this compiler has GCC bug 68193 or Clang bug 25390.  See:
+    https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68193
+    https://llvm.org/bugs/show_bug.cgi?id=25390
+@@ -371,17 +368,17 @@ verify (TYPE_MAXIMUM (long long int) ==
+    the operation.  BUILTIN is the builtin operation, and OVERFLOW the
+    overflow predicate.  Return 1 if the result overflows.  See above
+    for restrictions.  */
+-#if 5 <= __GNUC__ || __has_builtin (__builtin_add_overflow)
++#if _GL_HAS_BUILTIN_OVERFLOW
+ # define _GL_INT_OP_WRAPV(a, b, r, op, builtin, overflow) builtin (a, b, r)
+ #elif 201112 <= __STDC_VERSION__ && !_GL__GENERIC_BOGUS
+ # define _GL_INT_OP_WRAPV(a, b, r, op, builtin, overflow) \
+    (_Generic \
+     (*(r), \
+      signed char: \
+-       _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned char, \
++       _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned int, \
+                         signed char, SCHAR_MIN, SCHAR_MAX), \
+      short int: \
+-       _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned short int, \
++       _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned int, \
+                         short int, SHRT_MIN, SHRT_MAX), \
+      int: \
+        _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned int, \
+@@ -395,10 +392,10 @@ verify (TYPE_MAXIMUM (long long int) ==
+ #else
+ # define _GL_INT_OP_WRAPV(a, b, r, op, builtin, overflow) \
+    (sizeof *(r) == sizeof (signed char) \
+-    ? _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned char, \
++    ? _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned int, \
+                        signed char, SCHAR_MIN, SCHAR_MAX) \
+     : sizeof *(r) == sizeof (short int) \
+-    ? _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned short int, \
++    ? _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned int, \
+                        short int, SHRT_MIN, SHRT_MAX) \
+     : sizeof *(r) == sizeof (int) \
+     ? _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned int, \
+@@ -414,15 +411,14 @@ verify (TYPE_MAXIMUM (long long int) ==
+ # else
+ #  define _GL_INT_OP_WRAPV_LONGISH(a, b, r, op, overflow) \
+     _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned long int, \
+-                     long int, LONG_MIN, LONG_MAX))
++                     long int, LONG_MIN, LONG_MAX)
+ # endif
+ #endif
+ 
+ /* Store the low-order bits of A <op> B into *R, where the operation
+    is given by OP.  Use the unsigned type UT for calculation to avoid
+-   overflow problems.  *R's type is T, with extremal values TMIN and
+-   TMAX.  T must be a signed integer type.  Return 1 if the result
+-   overflows.  */
++   overflow problems.  *R's type is T, with extrema TMIN and TMAX.
++   T must be a signed integer type.  Return 1 if the result overflows.  */
+ #define _GL_INT_OP_CALC(a, b, r, op, overflow, ut, t, tmin, tmax) \
+   (sizeof ((a) op (b)) < sizeof (t) \
+    ? _GL_INT_OP_CALC1 ((t) (a), (t) (b), r, op, overflow, ut, t, tmin, tmax) \
+@@ -431,17 +427,27 @@ verify (TYPE_MAXIMUM (long long int) ==
+   ((overflow (a, b) \
+     || (EXPR_SIGNED ((a) op (b)) && ((a) op (b)) < (tmin)) \
+     || (tmax) < ((a) op (b))) \
+-   ? (*(r) = _GL_INT_OP_WRAPV_VIA_UNSIGNED (a, b, op, ut, t, tmin, tmax), 1) \
+-   : (*(r) = _GL_INT_OP_WRAPV_VIA_UNSIGNED (a, b, op, ut, t, tmin, tmax), 0))
++   ? (*(r) = _GL_INT_OP_WRAPV_VIA_UNSIGNED (a, b, op, ut, t), 1) \
++   : (*(r) = _GL_INT_OP_WRAPV_VIA_UNSIGNED (a, b, op, ut, t), 0))
++
++/* Return the low-order bits of A <op> B, where the operation is given
++   by OP.  Use the unsigned type UT for calculation to avoid undefined
++   behavior on signed integer overflow, and convert the result to type T.
++   UT is at least as wide as T and is no narrower than unsigned int,
++   T is two's complement, and there is no padding or trap representations.
++   Assume that converting UT to T yields the low-order bits, as is
++   done in all known two's-complement C compilers.  E.g., see:
++   https://gcc.gnu.org/onlinedocs/gcc/Integers-implementation.html
++
++   According to the C standard, converting UT to T yields an
++   implementation-defined result or signal for values outside T's
++   range.  However, code that works around this theoretical problem
++   runs afoul of a compiler bug in Oracle Studio 12.3 x86.  See:
++   http://lists.gnu.org/archive/html/bug-gnulib/2017-04/msg00049.html
++   As the compiler bug is real, don't try to work around the
++   theoretical problem.  */
+ 
+-/* Return A <op> B, where the operation is given by OP.  Use the
+-   unsigned type UT for calculation to avoid overflow problems.
+-   Convert the result to type T without overflow by subtracting TMIN
+-   from large values before converting, and adding it afterwards.
+-   Compilers can optimize all the operations except OP.  */
+-#define _GL_INT_OP_WRAPV_VIA_UNSIGNED(a, b, op, ut, t, tmin, tmax) \
+-  (((ut) (a) op (ut) (b)) <= (tmax) \
+-   ? (t) ((ut) (a) op (ut) (b)) \
+-   : ((t) (((ut) (a) op (ut) (b)) - (tmin)) + (tmin)))
++#define _GL_INT_OP_WRAPV_VIA_UNSIGNED(a, b, op, ut, t) \
++  ((t) ((ut) (a) op (ut) (b)))
+ 
+ #endif /* _GL_INTPROPS_H */
diff --git a/pkgs/shells/xonsh/default.nix b/pkgs/shells/xonsh/default.nix
index d22a66eb93a..8f117b788e7 100644
--- a/pkgs/shells/xonsh/default.nix
+++ b/pkgs/shells/xonsh/default.nix
@@ -2,13 +2,13 @@
 
 python3Packages.buildPythonApplication rec {
   name = "xonsh-${version}";
-  version = "0.6.0";
+  version = "0.6.3";
 
   src = fetchFromGitHub {
     owner = "scopatz";
     repo = "xonsh";
     rev = version;
-    sha256= "0hfsan22i81wffx2xbamm8wwkxgpv12z4kfl37p9m22vpqgg0fdg";
+    sha256= "1893kkxvalx8ycjl27gixkh979kkp4ra00zb7m6a8cdllx6yhsgi";
   };
 
   LC_ALL = "en_US.UTF-8";
@@ -34,7 +34,7 @@ python3Packages.buildPythonApplication rec {
 
   meta = with stdenv.lib; {
     description = "A Python-ish, BASHwards-compatible shell";
-    homepage = http://xonsh.org;
+    homepage = http://xon.sh/;
     license = licenses.bsd3;
     maintainers = with maintainers; [ spwhitt garbas vrthra ];
     platforms = platforms.all;
diff --git a/pkgs/shells/antigen/default.nix b/pkgs/shells/zsh/antigen/default.nix
index cf22207ef09..cf22207ef09 100644
--- a/pkgs/shells/antigen/default.nix
+++ b/pkgs/shells/zsh/antigen/default.nix
diff --git a/pkgs/shells/zsh/default.nix b/pkgs/shells/zsh/default.nix
index 43b766fdaf2..3259dbbd9bc 100644
--- a/pkgs/shells/zsh/default.nix
+++ b/pkgs/shells/zsh/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, ncurses, pcre }:
 
 let
-  version = "5.4.2";
+  version = "5.5.1";
 
   documentation = fetchurl {
     url = "mirror://sourceforge/zsh/zsh-${version}-doc.tar.gz";
-    sha256 = "1703g6vfz2vpb866wgl71nvg0ynjq0zvrjwkqbv7v6q3606jbmn3";
+    sha256 = "0bm9n7lycdzvw5hmgi4a920pqbb5yxvmyhfxx8jbign2hzgf7g01";
   };
 
 in
@@ -15,7 +15,7 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "mirror://sourceforge/zsh/zsh-${version}.tar.gz";
-    sha256 = "1jdcfinzmki2w963msvsanv29vqqfmdfm4rncwpw0r3zqnrcsywm";
+    sha256 = "10705qnnr3p416bwfjaip9r7yw187vczzjrk60yg79dfwy4slk3p";
   };
 
   buildInputs = [ ncurses pcre ];
diff --git a/pkgs/shells/grml-zsh-config/default.nix b/pkgs/shells/zsh/grml-zsh-config/default.nix
index d49e13e1eb3..e516393a23c 100644
--- a/pkgs/shells/grml-zsh-config/default.nix
+++ b/pkgs/shells/zsh/grml-zsh-config/default.nix
@@ -5,17 +5,17 @@ with lib;
 
 stdenv.mkDerivation rec {
   name = "grml-zsh-config-${version}";
-  version = "0.14.2";
+  version = "0.14.3";
 
   src = fetchFromGitHub {
     owner = "grml";
     repo = "grml-etc-core";
     rev = "v${version}";
-    sha256 = "1xvv2mnkfqa657w8y4q2zrchhindngdzij9fbalcg1gggz4zdwcm";
+    sha256 = "1akx6lwxnbcccddzw41rci8rb9n5vb6q2vpn5qr07f0grchyiifk";
   };
 
-  buildInputs = [ zsh coreutils txt2tags ]
-    ++ optional stdenv.isLinux [ inetutils procps ];
+  buildInputs = [ zsh coreutils txt2tags procps ]
+    ++ optional stdenv.isLinux [ inetutils ];
 
   buildPhase = ''
     cd doc
diff --git a/pkgs/shells/lambda-mod-zsh-theme/default.nix b/pkgs/shells/zsh/lambda-mod-zsh-theme/default.nix
index 6dea51a487e..6dea51a487e 100644
--- a/pkgs/shells/lambda-mod-zsh-theme/default.nix
+++ b/pkgs/shells/zsh/lambda-mod-zsh-theme/default.nix
diff --git a/pkgs/shells/nix-zsh-completions/default.nix b/pkgs/shells/zsh/nix-zsh-completions/default.nix
index 2bcff6b809d..3c4c3fabfd1 100644
--- a/pkgs/shells/nix-zsh-completions/default.nix
+++ b/pkgs/shells/zsh/nix-zsh-completions/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchFromGitHub }:
 
 let
-  version = "0.3.8";
+  version = "0.4.0";
 in
 
 stdenv.mkDerivation rec {
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
     owner = "spwhitt";
     repo = "nix-zsh-completions";
     rev = "${version}";
-    sha256 = "05ynd38br2kn657g7l01jg1q8ja9xwrdyb95w02gh7j9cww2k06w";
+    sha256 = "0m8b9xgbz2nvk1q7m0gqy83gbqa49n062gymhk9x93zhbdh8vwky";
   };
 
   installPhase = ''
diff --git a/pkgs/shells/oh-my-zsh/default.nix b/pkgs/shells/zsh/oh-my-zsh/default.nix
index 8cfcb9ecbbe..1ff9455adec 100644
--- a/pkgs/shells/oh-my-zsh/default.nix
+++ b/pkgs/shells/zsh/oh-my-zsh/default.nix
@@ -4,13 +4,13 @@
 { stdenv, fetchgit }:
 
 stdenv.mkDerivation rec {
-  version = "2018-01-22";
+  version = "2018-04-25";
   name = "oh-my-zsh-${version}";
 
   src = fetchgit {
     url = "https://github.com/robbyrussell/oh-my-zsh";
-    rev = "37c2d0ddd751e15d0c87a51e2d9f9849093571dc";
-    sha256 = "0x2r7205ps5v5bl1f9vdnry9gxflypaahz49cnhq5f5klb49bakn";
+    rev = "9cd3701ac0297f4bdf9673ea0dffa8ffdaea63e8";
+    sha256 = "0pjw5m7wpmcfdhrj322icplw3hsbbdxjgfw12kr2zpzl95xqkkhs";
   };
 
   pathsToLink = [ "/share/oh-my-zsh" ];
diff --git a/pkgs/shells/zsh-autosuggestions/default.nix b/pkgs/shells/zsh/zsh-autosuggestions/default.nix
index 906301110e9..906301110e9 100644
--- a/pkgs/shells/zsh-autosuggestions/default.nix
+++ b/pkgs/shells/zsh/zsh-autosuggestions/default.nix
diff --git a/pkgs/shells/zsh-command-time/default.nix b/pkgs/shells/zsh/zsh-command-time/default.nix
index 453a5774407..453a5774407 100644
--- a/pkgs/shells/zsh-command-time/default.nix
+++ b/pkgs/shells/zsh/zsh-command-time/default.nix
diff --git a/pkgs/shells/zsh-completions/default.nix b/pkgs/shells/zsh/zsh-completions/default.nix
index 92a9d293e84..92a9d293e84 100644
--- a/pkgs/shells/zsh-completions/default.nix
+++ b/pkgs/shells/zsh/zsh-completions/default.nix
diff --git a/pkgs/shells/zsh-deer/default.nix b/pkgs/shells/zsh/zsh-deer/default.nix
index 735d6a2b761..735d6a2b761 100644
--- a/pkgs/shells/zsh-deer/default.nix
+++ b/pkgs/shells/zsh/zsh-deer/default.nix
diff --git a/pkgs/shells/zsh-deer/realpath.patch b/pkgs/shells/zsh/zsh-deer/realpath.patch
index 03850d7e5c1..03850d7e5c1 100644
--- a/pkgs/shells/zsh-deer/realpath.patch
+++ b/pkgs/shells/zsh/zsh-deer/realpath.patch
diff --git a/pkgs/shells/zsh-git-prompt/default.nix b/pkgs/shells/zsh/zsh-git-prompt/default.nix
index 7318da83d17..7318da83d17 100644
--- a/pkgs/shells/zsh-git-prompt/default.nix
+++ b/pkgs/shells/zsh/zsh-git-prompt/default.nix
diff --git a/pkgs/shells/zsh-powerlevel9k/default.nix b/pkgs/shells/zsh/zsh-powerlevel9k/default.nix
index 2babf35f2b6..2babf35f2b6 100644
--- a/pkgs/shells/zsh-powerlevel9k/default.nix
+++ b/pkgs/shells/zsh/zsh-powerlevel9k/default.nix
diff --git a/pkgs/shells/zsh-prezto/default.nix b/pkgs/shells/zsh/zsh-prezto/default.nix
index 7bef904081e..7bef904081e 100644
--- a/pkgs/shells/zsh-prezto/default.nix
+++ b/pkgs/shells/zsh/zsh-prezto/default.nix
diff --git a/pkgs/shells/zsh-syntax-highlighting/default.nix b/pkgs/shells/zsh/zsh-syntax-highlighting/default.nix
index b7b44098fd7..b7b44098fd7 100644
--- a/pkgs/shells/zsh-syntax-highlighting/default.nix
+++ b/pkgs/shells/zsh/zsh-syntax-highlighting/default.nix
diff --git a/pkgs/stdenv/adapters.nix b/pkgs/stdenv/adapters.nix
index 0791d9e1856..734119491a0 100644
--- a/pkgs/stdenv/adapters.nix
+++ b/pkgs/stdenv/adapters.nix
@@ -75,22 +75,11 @@ rec {
   in stdenv // {
     mkDerivation =
       { nativeBuildInputs ? []
-      , selfNativeBuildInput ? args.crossAttrs.selfNativeBuildInput or false
       , ...
       } @ args:
 
-      let
-        # *BuildInputs exists temporarily as another name for
-        # *HostInputs.
-
-        # The base stdenv already knows that nativeBuildInputs and
-        # buildInputs should be built with the usual gcc-wrapper
-        # And the same for propagatedBuildInputs.
-        nativeDrv = stdenv.mkDerivation args;
-      in
         stdenv.mkDerivation (args // {
           nativeBuildInputs = nativeBuildInputs
-            ++ stdenv.lib.optional selfNativeBuildInput nativeDrv
               # without proper `file` command, libtool sometimes fails
               # to recognize 64-bit DLLs
             ++ stdenv.lib.optional (hostPlatform.config == "x86_64-w64-mingw32") pkgs.file
diff --git a/pkgs/stdenv/cross/default.nix b/pkgs/stdenv/cross/default.nix
index 8da3555c6c6..973be983186 100644
--- a/pkgs/stdenv/cross/default.nix
+++ b/pkgs/stdenv/cross/default.nix
@@ -10,9 +10,15 @@ let
     config = builtins.removeAttrs config [ "replaceStdenv" ];
   };
 
-in bootStages ++ [
+in lib.init bootStages ++ [
 
-  # Build Packages
+  # Regular native packages
+  (somePrevStage: lib.last bootStages somePrevStage // {
+    # It's OK to change the built-time dependencies
+    allowCustomOverrides = true;
+  })
+
+  # Build tool Packages
   (vanillaPackages: {
     inherit config overlays;
     selfBuild = false;
@@ -33,8 +39,8 @@ in bootStages ++ [
       buildPlatform = localSystem;
       hostPlatform = crossSystem;
       targetPlatform = crossSystem;
-      cc = if crossSystem.useiOSCross or false
-             then buildPackages.darwin.ios-cross
+      cc = if crossSystem.useiOSPrebuilt or false
+             then buildPackages.darwin.iosSdkPkgs.clang
            else if crossSystem.useAndroidPrebuilt
              then buildPackages.androidenv.androidndkPkgs.gcc
            else buildPackages.gcc;
diff --git a/pkgs/stdenv/cygwin/rebase-x86_64.sh b/pkgs/stdenv/cygwin/rebase-x86_64.sh
index 77adc52d53b..4c8f8ebd7eb 100644
--- a/pkgs/stdenv/cygwin/rebase-x86_64.sh
+++ b/pkgs/stdenv/cygwin/rebase-x86_64.sh
@@ -8,7 +8,7 @@ _cygwinFixAutoImageBase() {
         if [ -f /etc/rebasenix.nextbase ]; then
             NEXTBASE="$(</etc/rebasenix.nextbase)"
         fi
-        NEXTBASE=${NEXTBASE:-0x200000000}
+        NEXTBASE=${NEXTBASE:-0x200000001}
 
         REBASE=(`/bin/rebase -i $DLL`)
         BASE=${REBASE[2]}
diff --git a/pkgs/stdenv/darwin/default.nix b/pkgs/stdenv/darwin/default.nix
index 27b3c176a2a..9563f52ea26 100644
--- a/pkgs/stdenv/darwin/default.nix
+++ b/pkgs/stdenv/darwin/default.nix
@@ -61,12 +61,14 @@ in rec {
                           libcxx,
                           allowedRequisites ? null}:
     let
+      name = "bootstrap-stage${toString step}";
+
       buildPackages = lib.optionalAttrs (last ? stdenv) {
         inherit (last) stdenv;
       };
 
-      coreutils = { name = "coreutils-9.9.9"; outPath = bootstrapTools; };
-      gnugrep   = { name = "gnugrep-9.9.9";   outPath = bootstrapTools; };
+      coreutils = { name = "${name}-coreutils"; outPath = bootstrapTools; };
+      gnugrep   = { name = "${name}-gnugrep";   outPath = bootstrapTools; };
 
       bintools = import ../../build-support/bintools-wrapper {
         inherit shell;
@@ -76,7 +78,7 @@ in rec {
         nativeLibc   = false;
         inherit buildPackages coreutils gnugrep;
         libc         = last.pkgs.darwin.Libsystem;
-        bintools     = { name = "binutils-9.9.9";  outPath = bootstrapTools; };
+        bintools     = { name = "${name}-binutils"; outPath = bootstrapTools; };
       };
 
       cc = if isNull last then "/dev/null" else import ../../build-support/cc-wrapper {
@@ -86,21 +88,22 @@ in rec {
         extraPackages = lib.optional (libcxx != null) libcxx;
 
         nativeTools  = false;
+        propagateDoc = false;
         nativeLibc   = false;
         inherit buildPackages coreutils gnugrep bintools;
         libc         = last.pkgs.darwin.Libsystem;
         isClang      = true;
-        cc           = { name = "clang-9.9.9";     outPath = bootstrapTools; };
+        cc           = { name = "${name}-clang"; outPath = bootstrapTools; };
       };
 
       thisStdenv = import ../generic {
+        name = "${name}-stdenv-darwin";
+
         inherit config shell extraNativeBuildInputs extraBuildInputs;
         allowedRequisites = if allowedRequisites == null then null else allowedRequisites ++ [
           cc.expand-response-params cc.bintools
         ];
 
-        name = "stdenv-darwin-boot-${toString step}";
-
         buildPlatform = localSystem;
         hostPlatform = localSystem;
         targetPlatform = localSystem;
@@ -146,7 +149,7 @@ in rec {
     overrides = self: super: with stage0; rec {
       darwin = super.darwin // {
         Libsystem = stdenv.mkDerivation {
-          name = "bootstrap-Libsystem";
+          name = "bootstrap-stage0-Libsystem";
           buildCommand = ''
             mkdir -p $out
             ln -s ${bootstrapTools}/lib $out/lib
@@ -157,7 +160,7 @@ in rec {
       };
 
       libcxx = stdenv.mkDerivation {
-        name = "bootstrap-libcxx";
+        name = "bootstrap-stage0-libcxx";
         phases = [ "installPhase" "fixupPhase" ];
         installPhase = ''
           mkdir -p $out/lib $out/include
@@ -169,7 +172,7 @@ in rec {
       };
 
       libcxxabi = stdenv.mkDerivation {
-        name = "bootstrap-libcxxabi";
+        name = "bootstrap-stage0-libcxxabi";
         buildCommand = ''
           mkdir -p $out/lib
           ln -s ${bootstrapTools}/lib/libc++abi.dylib $out/lib/libc++abi.dylib
@@ -318,18 +321,18 @@ in rec {
       darwin = super.darwin // {
         inherit (darwin) dyld ICU Libsystem libiconv;
       } // lib.optionalAttrs (super.targetPlatform == localSystem) {
-        inherit (darwin) cctools;
+        inherit (darwin) binutils cctools;
       };
     } // lib.optionalAttrs (super.targetPlatform == localSystem) {
       # Need to get rid of these when cross-compiling.
-      inherit binutils binutils-raw;
+      inherit binutils binutils-unwrapped;
     };
   in import ../generic rec {
+    name = "stdenv-darwin";
+
     inherit config;
     inherit (pkgs.stdenv) fetchurlBoot;
 
-    name = "stdenv-darwin";
-
     buildPlatform = localSystem;
     hostPlatform = localSystem;
     targetPlatform = localSystem;
@@ -377,7 +380,7 @@ in rec {
       bzip2.bin llvmPackages.llvm llvmPackages.llvm.lib zlib.out zlib.dev libffi.out coreutils ed diffutils gnutar
       gzip ncurses.out ncurses.dev ncurses.man gnused bash gawk
       gnugrep llvmPackages.clang-unwrapped llvmPackages.clang-unwrapped.lib patch pcre.out gettext
-      binutils-raw.bintools binutils binutils.bintools
+      binutils.bintools darwin.binutils darwin.binutils.bintools
       cc.expand-response-params
     ]) ++ (with pkgs.darwin; [
       dyld Libsystem CF cctools ICU libiconv locale
diff --git a/pkgs/stdenv/generic/check-meta.nix b/pkgs/stdenv/generic/check-meta.nix
index 6a8d97458e5..a5c8ca70523 100644
--- a/pkgs/stdenv/generic/check-meta.nix
+++ b/pkgs/stdenv/generic/check-meta.nix
@@ -8,7 +8,8 @@ let
   # for why this defaults to false, but I (@copumpkin) want to default it to true soon.
   shouldCheckMeta = config.checkMeta or false;
 
-  allowUnfree = config.allowUnfree or false || builtins.getEnv "NIXPKGS_ALLOW_UNFREE" == "1";
+  allowUnfree = config.allowUnfree or false
+    || builtins.getEnv "NIXPKGS_ALLOW_UNFREE" == "1";
 
   whitelist = config.whitelistedLicenses or [];
   blacklist = config.blacklistedLicenses or [];
@@ -35,9 +36,11 @@ let
   hasBlacklistedLicense = assert areLicenseListsValid; attrs:
     hasLicense attrs && builtins.elem attrs.meta.license blacklist;
 
-  allowBroken = config.allowBroken or false || builtins.getEnv "NIXPKGS_ALLOW_BROKEN" == "1";
+  allowBroken = config.allowBroken or false
+    || builtins.getEnv "NIXPKGS_ALLOW_BROKEN" == "1";
 
-  allowUnsupportedSystem = config.allowUnsupportedSystem or false;
+  allowUnsupportedSystem = config.allowUnsupportedSystem or false
+    || builtins.getEnv "NIXPKGS_ALLOW_UNSUPPORTED_SYSTEM" == "1";
 
   isUnfree = licenses: lib.lists.any (l:
     !l.free or true || l == "unfree" || l == "unfree-redistributable") licenses;
@@ -75,6 +78,7 @@ let
   remediation = {
     unfree = remediate_whitelist "Unfree";
     broken = remediate_whitelist "Broken";
+    unsupported = remediate_whitelist "UnsupportedSystem";
     blacklisted = x: "";
     insecure = remediate_insecure;
     unknown-meta = x: "";
@@ -142,9 +146,9 @@ let
     homepage = either (listOf str) str;
     downloadPage = str;
     license = either (listOf lib.types.attrs) (either lib.types.attrs str);
-    maintainers = listOf str;
+    maintainers = listOf (attrsOf str);
     priority = int;
-    platforms = listOf (either str lib.systems.parsed.types.system);
+    platforms = listOf (either str lib.systems.parsedPlatform.types.system);
     hydraPlatforms = listOf str;
     broken = bool;
 
@@ -165,6 +169,9 @@ let
     isFcitxEngine = bool;
     isIbusEngine = bool;
     isGutenprint = bool;
+    badPlatforms = platforms;
+    # Hydra build timeout
+    timeout = int;
   };
 
   checkMetaAttr = k: v:
@@ -173,8 +180,10 @@ let
     else "key '${k}' is unrecognized; expected one of: \n\t      [${lib.concatMapStringsSep ", " (x: "'${x}'") (lib.attrNames metaTypes)}]";
   checkMeta = meta: if shouldCheckMeta then lib.remove null (lib.mapAttrsToList checkMetaAttr meta) else [];
 
-  checkPlatform = attrs:
-    lib.any (lib.meta.platformMatch hostPlatform) attrs.meta.platforms;
+  checkPlatform = attrs: let
+      anyMatch = lib.any (lib.meta.platformMatch hostPlatform);
+    in  anyMatch (attrs.meta.platforms or lib.platforms.all) &&
+      ! anyMatch (attrs.meta.badPlatforms or []);
 
   # Check if a derivation is valid, that is whether it passes checks for
   # e.g brokenness or license.
@@ -189,8 +198,8 @@ let
       { valid = false; reason = "blacklisted"; errormsg = "has a blacklisted license (‘${showLicense attrs.meta.license}’)"; }
     else if !allowBroken && attrs.meta.broken or false then
       { valid = false; reason = "broken"; errormsg = "is marked as broken"; }
-    else if !allowUnsupportedSystem && !allowBroken && attrs.meta.platforms or null != null && !(checkPlatform attrs) then
-      { valid = false; reason = "broken"; errormsg = "is not supported on ‘${hostPlatform.config}’"; }
+    else if !allowUnsupportedSystem && !(checkPlatform attrs) then
+      { valid = false; reason = "unsupported"; errormsg = "is not supported on ‘${hostPlatform.config}’"; }
     else if !(hasAllowedInsecure attrs) then
       { valid = false; reason = "insecure"; errormsg = "is marked as insecure"; }
     else let res = checkMeta (attrs.meta or {}); in if res != [] then
diff --git a/pkgs/stdenv/generic/make-derivation.nix b/pkgs/stdenv/generic/make-derivation.nix
index e108e3f156a..dce715a6a53 100644
--- a/pkgs/stdenv/generic/make-derivation.nix
+++ b/pkgs/stdenv/generic/make-derivation.nix
@@ -36,6 +36,9 @@ rec {
     , depsTargetTarget            ? [] #  1 ->  1
     , depsTargetTargetPropagated  ? [] #  1 ->  1
 
+    , checkInputs                 ? []
+    , installCheckInputs          ? []
+
     # Configure Phase
     , configureFlags ? []
     , # Target is not included by default because most programs don't care.
@@ -46,11 +49,13 @@ rec {
         (stdenv.hostPlatform != stdenv.buildPlatform)
         [ "build" "host" ]
 
+    # TODO(@Ericson2314): Make unconditional / resolve #33599
     # Check phase
-    , doCheck ? false
+    , doCheck ? config.doCheckByDefault or false
 
+    # TODO(@Ericson2314): Make unconditional / resolve #33599
     # InstallCheck phase
-    , doInstallCheck ? false
+    , doInstallCheck ? config.doCheckByDefault or false
 
     , # TODO(@Ericson2314): Make always true and remove
       strictDeps ? stdenv.hostPlatform != stdenv.buildPlatform
@@ -75,6 +80,11 @@ rec {
     # TODO(@Ericson2314): Make this more modular, and not O(n^2).
     let
       supportedHardeningFlags = [ "fortify" "stackprotector" "pie" "pic" "strictoverflow" "format" "relro" "bindnow" ];
+      defaultHardeningFlags = lib.remove "pie" supportedHardeningFlags;
+      enabledHardeningOptions =
+        if builtins.elem "all" hardeningDisable
+        then []
+        else lib.subtractLists hardeningDisable (defaultHardeningFlags ++ hardeningEnable);
       # hardeningDisable additionally supports "all".
       erroneousHardeningFlags = lib.subtractLists supportedHardeningFlags (hardeningEnable ++ lib.remove "all" hardeningDisable);
     in if builtins.length erroneousHardeningFlags != 0
@@ -95,7 +105,9 @@ rec {
         ]
         [
           (map (drv: drv.__spliced.hostHost or drv) depsHostHost)
-          (map (drv: drv.crossDrv or drv) buildInputs)
+          (map (drv: drv.crossDrv or drv) (buildInputs
+             ++ lib.optionals doCheck' checkInputs
+             ++ lib.optionals doInstallCheck' installCheckInputs))
         ]
         [
           (map (drv: drv.__spliced.targetTarget or drv) depsTargetTarget)
@@ -116,34 +128,43 @@ rec {
         ]
       ];
 
+      # TODO(@oxij, @Ericson2314): This is here to keep the old semantics, remove when
+      # no package has `doCheck = true`.
+      doCheck' = doCheck && stdenv.hostPlatform == stdenv.buildPlatform;
+      doInstallCheck' = doInstallCheck && stdenv.hostPlatform == stdenv.buildPlatform;
+
       outputs' =
         outputs ++
         (if separateDebugInfo then assert stdenv.hostPlatform.isLinux; [ "debug" ] else []);
 
+      computedSandboxProfile =
+        lib.concatMap (input: input.__propagatedSandboxProfile or [])
+          (stdenv.extraNativeBuildInputs
+           ++ stdenv.extraBuildInputs
+           ++ lib.concatLists dependencies);
+
+      computedPropagatedSandboxProfile =
+        lib.concatMap (input: input.__propagatedSandboxProfile or [])
+          (lib.concatLists propagatedDependencies);
+
+      computedImpureHostDeps =
+        lib.unique (lib.concatMap (input: input.__propagatedImpureHostDeps or [])
+          (stdenv.extraNativeBuildInputs
+           ++ stdenv.extraBuildInputs
+           ++ lib.concatLists dependencies));
+
+      computedPropagatedImpureHostDeps =
+        lib.unique (lib.concatMap (input: input.__propagatedImpureHostDeps or [])
+          (lib.concatLists propagatedDependencies));
+
       derivationArg =
         (removeAttrs attrs
           ["meta" "passthru" "crossAttrs" "pos"
+           "doCheck" "doInstallCheck"
+           "checkInputs" "installCheckInputs"
            "__impureHostDeps" "__propagatedImpureHostDeps"
            "sandboxProfile" "propagatedSandboxProfile"])
-        // (let
-          computedSandboxProfile =
-            lib.concatMap (input: input.__propagatedSandboxProfile or [])
-              (stdenv.extraNativeBuildInputs
-               ++ stdenv.extraBuildInputs
-               ++ lib.concatLists dependencies);
-          computedPropagatedSandboxProfile =
-            lib.concatMap (input: input.__propagatedSandboxProfile or [])
-              (lib.concatLists propagatedDependencies);
-          computedImpureHostDeps =
-            lib.unique (lib.concatMap (input: input.__propagatedImpureHostDeps or [])
-              (stdenv.extraNativeBuildInputs
-               ++ stdenv.extraBuildInputs
-               ++ lib.concatLists dependencies));
-          computedPropagatedImpureHostDeps =
-            lib.unique (lib.concatMap (input: input.__propagatedImpureHostDeps or [])
-              (lib.concatLists propagatedDependencies));
-        in
-        {
+        // {
           # 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 validity.handled; name + lib.optionalString
@@ -182,6 +203,15 @@ rec {
             ++ optional (elem "host"   configurePlatforms) "--host=${stdenv.hostPlatform.config}"
             ++ optional (elem "target" configurePlatforms) "--target=${stdenv.targetPlatform.config}";
 
+        } // lib.optionalAttrs (hardeningDisable != [] || hardeningEnable != []) {
+          NIX_HARDENING_ENABLE = enabledHardeningOptions;
+        } // lib.optionalAttrs (outputs' != [ "out" ]) {
+          outputs = outputs';
+        } // lib.optionalAttrs doCheck' {
+          doCheck = true;
+        } // lib.optionalAttrs doInstallCheck' {
+          doInstallCheck = true;
+
         } // lib.optionalAttrs (stdenv.buildPlatform.isDarwin) {
           # TODO: remove lib.unique once nix has a list canonicalization primitive
           __sandboxProfile =
@@ -196,15 +226,7 @@ rec {
             "/bin/sh"
           ];
           __propagatedImpureHostDeps = computedPropagatedImpureHostDeps ++ __propagatedImpureHostDeps;
-        } // lib.optionalAttrs (outputs' != [ "out" ]) {
-          outputs = outputs';
-        } // lib.optionalAttrs (attrs ? doCheck) {
-          # TODO(@Ericson2314): Make unconditional / resolve #33599
-          doCheck = doCheck && (stdenv.hostPlatform == stdenv.buildPlatform);
-        } // lib.optionalAttrs (attrs ? doInstallCheck) {
-          # TODO(@Ericson2314): Make unconditional / resolve #33599
-          doInstallCheck = doInstallCheck && (stdenv.hostPlatform == stdenv.buildPlatform);
-        });
+        };
 
       validity = import ./check-meta.nix {
         inherit lib config meta;
diff --git a/pkgs/stdenv/generic/setup.sh b/pkgs/stdenv/generic/setup.sh
index bfab19dd973..87465df1482 100644
--- a/pkgs/stdenv/generic/setup.sh
+++ b/pkgs/stdenv/generic/setup.sh
@@ -641,22 +641,9 @@ fi
 # Textual substitution functions.
 
 
-substitute() {
-    local input="$1"
-    local output="$2"
-    shift 2
-
-    if [ ! -f "$input" ]; then
-      echo "substitute(): ERROR: file '$input' does not exist" >&2
-      return 1
-    fi
-
-    local content
-    # read returns non-0 on EOF, so we want read to fail
-    if IFS='' read -r -N 0 content < "$input"; then
-        echo "substitute(): ERROR: File \"$input\" has null bytes, won't process" >&2
-        return 1
-    fi
+substituteStream() {
+    local var=$1
+    shift
 
     while (( "$#" )); do
         case "$1" in
@@ -671,7 +658,7 @@ substitute() {
                 shift 2
                 # check if the used nix attribute name is a valid bash name
                 if ! [[ "$varName" =~ ^[a-zA-Z_][a-zA-Z0-9_]*$ ]]; then
-                    echo "substitute(): ERROR: substitution variables must be valid Bash names, \"$varName\" isn't." >&2
+                    echo "substituteStream(): ERROR: substitution variables must be valid Bash names, \"$varName\" isn't." >&2
                     return 1
                 fi
                 pattern="@$varName@"
@@ -685,18 +672,41 @@ substitute() {
                 ;;
 
             *)
-                echo "substitute(): ERROR: Invalid command line argument: $1" >&2
+                echo "substituteStream(): ERROR: Invalid command line argument: $1" >&2
                 return 1
                 ;;
         esac
 
-        content="${content//"$pattern"/$replacement}"
+        eval "$var"'=${'"$var"'//"$pattern"/"$replacement"}'
     done
 
-    if [ -e "$output" ]; then chmod +w "$output"; fi
-    printf "%s" "$content" > "$output"
+    printf "%s" "${!var}"
+}
+
+consumeEntire() {
+    # read returns non-0 on EOF, so we want read to fail
+    if IFS='' read -r -N 0 $1; then
+        echo "consumeEntire(): ERROR: Input null bytes, won't process" >&2
+        return 1
+    fi
 }
 
+substitute() {
+    local input="$1"
+    local output="$2"
+    shift 2
+
+    if [ ! -f "$input" ]; then
+        echo "substitute(): ERROR: file '$input' does not exist" >&2
+        return 1
+    fi
+
+    local content
+    consumeEntire content < "$input"
+
+    if [ -e "$output" ]; then chmod +w "$output"; fi
+    substituteStream content "$@" > "$output"
+}
 
 substituteInPlace() {
     local fileName="$1"
@@ -704,20 +714,30 @@ substituteInPlace() {
     substitute "$fileName" "$fileName" "$@"
 }
 
+_allFlags() {
+    for varName in $(awk 'BEGIN { for (v in ENVIRON) if (v ~ /^[a-z][a-zA-Z0-9_]*$/) print v }'); do
+        if (( "${NIX_DEBUG:-0}" >= 1 )); then
+            printf "@%s@ -> %q\n" "${varName}" "${!varName}"
+        fi
+        args+=("--subst-var" "$varName")
+    done
+}
+
+substituteAllStream() {
+    local -a args=()
+    _allFlags
+
+    substituteStream "$1" "${args[@]}"
+}
 
 # Substitute all environment variables that start with a lowercase character and
 # are valid Bash names.
 substituteAll() {
     local input="$1"
     local output="$2"
-    local -a args=()
 
-    for varName in $(awk 'BEGIN { for (v in ENVIRON) if (v ~ /^[a-z][a-zA-Z0-9_]*$/) print v }'); do
-        if (( "${NIX_DEBUG:-0}" >= 1 )); then
-            printf "@%s@ -> %q\n" "${varName}" "${!varName}"
-        fi
-        args+=("--subst-var" "$varName")
-    done
+    local -a args=()
+    _allFlags
 
     substitute "$input" "$output" "${args[@]}"
 }
@@ -968,9 +988,11 @@ buildPhase() {
     # set to empty if unset
     : ${makeFlags=}
 
-    if [[ -z "$makeFlags" && ! ( -n "${makefile:-}" || -e Makefile || -e makefile || -e GNUmakefile ) ]]; then
+    if [[ -z "$makeFlags" && -z "${makefile:-}" && ! ( -e Makefile || -e makefile || -e GNUmakefile ) ]]; then
         echo "no Makefile, doing nothing"
     else
+        foundMakefile=1
+
         # See https://github.com/NixOS/nixpkgs/pull/1354#issuecomment-31260409
         makeFlags="SHELL=$SHELL $makeFlags"
 
@@ -994,18 +1016,38 @@ buildPhase() {
 checkPhase() {
     runHook preCheck
 
-    # Old bash empty array hack
-    # shellcheck disable=SC2086
-    local flagsArray=(
-        ${enableParallelBuilding:+-j${NIX_BUILD_CORES} -l${NIX_BUILD_CORES}}
-        $makeFlags ${makeFlagsArray+"${makeFlagsArray[@]}"}
-        ${checkFlags:-VERBOSE=y} ${checkFlagsArray+"${checkFlagsArray[@]}"}
-        ${checkTarget:-check}
-    )
+    if [[ -z "${foundMakefile:-}" ]]; then
+        echo "no Makefile or custom buildPhase, doing nothing"
+        runHook postCheck
+        return
+    fi
 
-    echoCmd 'check flags' "${flagsArray[@]}"
-    make ${makefile:+-f $makefile} "${flagsArray[@]}"
-    unset flagsArray
+    if [[ -z "${checkTarget:-}" ]]; then
+        #TODO(@oxij): should flagsArray influence make -n?
+        if make -n ${makefile:+-f $makefile} check >/dev/null 2>&1; then
+            checkTarget=check
+        elif make -n ${makefile:+-f $makefile} test >/dev/null 2>&1; then
+            checkTarget=test
+        fi
+    fi
+
+    if [[ -z "${checkTarget:-}" ]]; then
+        echo "no check/test target in ${makefile:-Makefile}, doing nothing"
+    else
+        # Old bash empty array hack
+        # shellcheck disable=SC2086
+        local flagsArray=(
+            ${enableParallelBuilding:+-j${NIX_BUILD_CORES} -l${NIX_BUILD_CORES}}
+            $makeFlags ${makeFlagsArray+"${makeFlagsArray[@]}"}
+            ${checkFlags:-VERBOSE=y} ${checkFlagsArray+"${checkFlagsArray[@]}"}
+            ${checkTarget}
+        )
+
+        echoCmd 'check flags' "${flagsArray[@]}"
+        make ${makefile:+-f $makefile} "${flagsArray[@]}"
+
+        unset flagsArray
+    fi
 
     runHook postCheck
 }
@@ -1018,14 +1060,12 @@ installPhase() {
         mkdir -p "$prefix"
     fi
 
-    installTargets="${installTargets:-install}"
-
     # Old bash empty array hack
     # shellcheck disable=SC2086
     local flagsArray=(
-        $installTargets
         $makeFlags ${makeFlagsArray+"${makeFlagsArray[@]}"}
         $installFlags ${installFlagsArray+"${installFlagsArray[@]}"}
+        ${installTargets:-install}
     )
 
     echoCmd 'install flags' "${flagsArray[@]}"
@@ -1091,6 +1131,19 @@ fixupPhase() {
         substituteAll "$setupHook" "${!outputDev}/nix-support/setup-hook"
     fi
 
+    # TODO(@Ericson2314): Remove after https://github.com/NixOS/nixpkgs/pull/31414
+    if [ -n "${setupHooks:-}" ]; then
+        mkdir -p "${!outputDev}/nix-support"
+        local hook
+        for hook in $setupHooks; do
+            local content
+            consumeEntire content < "$hook"
+            substituteAllStream content >> "${!outputDev}/nix-support/setup-hook"
+            unset -v content
+        done
+        unset -v hook
+    fi
+
     # Propagate user-env packages into the output with binaries, TODO?
 
     if [ -n "${propagatedUserEnvPkgs:-}" ]; then
@@ -1106,18 +1159,26 @@ fixupPhase() {
 installCheckPhase() {
     runHook preInstallCheck
 
-    # Old bash empty array hack
-    # shellcheck disable=SC2086
-    local flagsArray=(
-        ${enableParallelBuilding:+-j${NIX_BUILD_CORES} -l${NIX_BUILD_CORES}}
-        $makeFlags ${makeFlagsArray+"${makeFlagsArray[@]}"}
-        $installCheckFlags ${installCheckFlagsArray+"${installCheckFlagsArray[@]}"}
-        ${installCheckTarget:-installcheck}
-    )
+    if [[ -z "${foundMakefile:-}" ]]; then
+        echo "no Makefile or custom buildPhase, doing nothing"
+    #TODO(@oxij): should flagsArray influence make -n?
+    elif [[ -z "${installCheckTarget:-}" ]] \
+       && ! make -n ${makefile:+-f $makefile} ${installCheckTarget:-installcheck} >/dev/null 2>&1; then
+        echo "no installcheck target in ${makefile:-Makefile}, doing nothing"
+    else
+        # Old bash empty array hack
+        # shellcheck disable=SC2086
+        local flagsArray=(
+            ${enableParallelBuilding:+-j${NIX_BUILD_CORES} -l${NIX_BUILD_CORES}}
+            $makeFlags ${makeFlagsArray+"${makeFlagsArray[@]}"}
+            $installCheckFlags ${installCheckFlagsArray+"${installCheckFlagsArray[@]}"}
+            ${installCheckTarget:-installcheck}
+        )
 
-    echoCmd 'installcheck flags' "${flagsArray[@]}"
-    make ${makefile:+-f $makefile} "${flagsArray[@]}"
-    unset flagsArray
+        echoCmd 'installcheck flags' "${flagsArray[@]}"
+        make ${makefile:+-f $makefile} "${flagsArray[@]}"
+        unset flagsArray
+    fi
 
     runHook postInstallCheck
 }
diff --git a/pkgs/stdenv/linux/bootstrap-tools-musl/scripts/unpack-bootstrap-tools.sh b/pkgs/stdenv/linux/bootstrap-tools-musl/scripts/unpack-bootstrap-tools.sh
index 8b5070dc6d6..b160a748d8d 100644
--- a/pkgs/stdenv/linux/bootstrap-tools-musl/scripts/unpack-bootstrap-tools.sh
+++ b/pkgs/stdenv/linux/bootstrap-tools-musl/scripts/unpack-bootstrap-tools.sh
@@ -26,7 +26,7 @@ for i in $out/bin/* $out/libexec/gcc/*/*/*; do
         ./patchelf --set-interpreter $LD_BINARY --set-rpath $out/lib --force-rpath "$i"
 done
 
-for i in $out/lib/libiconv*.so $out/lib/libpcre* $out/lib/libc.so; do
+for i in $out/lib/libpcre* $out/lib/libc.so; do
     if [ -L "$i" ]; then continue; fi
     echo patching "$i"
     $out/bin/patchelf --set-rpath $out/lib --force-rpath "$i"
diff --git a/pkgs/stdenv/linux/default.nix b/pkgs/stdenv/linux/default.nix
index 63b4c8ecc24..ef46bdeb213 100644
--- a/pkgs/stdenv/linux/default.nix
+++ b/pkgs/stdenv/linux/default.nix
@@ -66,7 +66,7 @@ let
     let
 
       thisStdenv = import ../generic {
-        name = "stdenv-linux-boot";
+        name = "${name}-stdenv-linux";
         buildPlatform = localSystem;
         hostPlatform = localSystem;
         targetPlatform = localSystem;
@@ -88,7 +88,9 @@ let
         cc = if isNull prevStage.gcc-unwrapped
              then null
              else lib.makeOverridable (import ../../build-support/cc-wrapper) {
+          name = "${name}-gcc-wrapper";
           nativeTools = false;
+          propagateDoc = false;
           nativeLibc = false;
           buildPackages = lib.optionalAttrs (prevStage ? stdenv) {
             inherit (prevStage) stdenv;
@@ -98,7 +100,6 @@ let
           isGNU = true;
           libc = getLibc prevStage;
           inherit (prevStage) coreutils gnugrep;
-          name = name;
           stdenvNoCC = prevStage.ccWrapperStdenv;
         };
 
@@ -106,11 +107,6 @@ let
           # Having the proper 'platform' in all the stdenvs allows getting proper
           # linuxHeaders for example.
           inherit platform;
-
-          # stdenv.glibc is used by GCC build to figure out the system-level
-          # /usr/include directory.
-          # TODO: Remove this!
-          inherit (prevStage) glibc;
         };
         overrides = self: super: (overrides self super) // { fetchurl = thisStdenv.fetchurlBoot; };
       };
@@ -128,8 +124,6 @@ in
     __raw = true;
 
     gcc-unwrapped = null;
-    glibc = assert false; null;
-    musl = assert false; null;
     binutils = null;
     coreutils = null;
     gnugrep = null;
@@ -138,7 +132,7 @@ in
   # Build a dummy stdenv with no GCC or working fetchurl.  This is
   # because we need a stdenv to build the GCC wrapper and fetchurl.
   (prevStage: stageFun prevStage {
-    name = null;
+    name = "bootstrap-stage0";
 
     overrides = self: super: {
       # We thread stage0's stdenv through under this name so downstream stages
@@ -152,7 +146,7 @@ in
       # create a dummy Glibc here, which will be used in the stdenv of
       # stage1.
       ${localSystem.libc} = self.stdenv.mkDerivation {
-        name = "bootstrap-${localSystem.libc}";
+        name = "bootstrap-stage0-${localSystem.libc}";
         buildCommand = ''
           mkdir -p $out
           ln -s ${bootstrapTools}/lib $out/lib
@@ -164,13 +158,13 @@ in
       };
       gcc-unwrapped = bootstrapTools;
       binutils = import ../../build-support/bintools-wrapper {
+        name = "bootstrap-stage0-binutils-wrapper";
         nativeTools = false;
         nativeLibc = false;
         buildPackages = { };
         libc = getLibc self;
         inherit (self) stdenvNoCC coreutils gnugrep;
         bintools = bootstrapTools;
-        name = "bootstrap-binutils-wrapper";
       };
       coreutils = bootstrapTools;
       gnugrep = bootstrapTools;
@@ -189,7 +183,7 @@ in
   # simply re-export those packages in the middle stage(s) using the
   # overrides attribute and the inherit syntax.
   (prevStage: stageFun prevStage {
-    name = "bootstrap-gcc-wrapper";
+    name = "bootstrap-stage1";
 
     # Rebuild binutils to use from stage2 onwards.
     overrides = self: super: {
@@ -213,7 +207,7 @@ in
   # 2nd stdenv that contains our own rebuilt binutils and is used for
   # compiling our own Glibc.
   (prevStage: stageFun prevStage {
-    name = "bootstrap-gcc-wrapper";
+    name = "bootstrap-stage2";
 
     overrides = self: super: {
       inherit (prevStage)
@@ -234,7 +228,7 @@ in
   # one uses the rebuilt Glibc from stage2.  It still uses the recent
   # binutils and rest of the bootstrap tools, including GCC.
   (prevStage: stageFun prevStage {
-    name = "bootstrap-gcc-wrapper";
+    name = "bootstrap-stage3";
 
     overrides = self: super: rec {
       inherit (prevStage)
@@ -262,7 +256,7 @@ in
   # Construct a fourth stdenv that uses the new GCC.  But coreutils is
   # still from the bootstrap tools.
   (prevStage: stageFun prevStage {
-    name = "";
+    name = "bootstrap-stage4";
 
     overrides = self: super: {
       # Zlib has to be inherited and not rebuilt in this stage,
@@ -291,7 +285,6 @@ in
         bintools = self.binutils;
         libc = getLibc self;
         inherit (self) stdenvNoCC coreutils gnugrep;
-        name = "";
         shell = self.bash + "/bin/bash";
       };
     };
@@ -310,6 +303,8 @@ in
   (prevStage: {
     inherit config overlays;
     stdenv = import ../generic rec {
+      name = "stdenv-linux";
+
       buildPlatform = localSystem;
       hostPlatform = localSystem;
       targetPlatform = localSystem;
@@ -349,6 +344,7 @@ in
         concatMap (p: [ (getBin p) (getLib p) ])
           [ gzip bzip2 xz bash binutils.bintools coreutils diffutils findutils
             gawk gnumake gnused gnutar gnugrep gnupatch patchelf ed paxctl
+            texinfo
           ]
         # Library dependencies
         ++ map getLib (
@@ -360,7 +356,6 @@ in
         ++  [ /*propagated from .dev*/ linuxHeaders
             binutils gcc gcc.cc gcc.cc.lib gcc.expand-response-params
           ]
-          ++ lib.optional (localSystem.libc == "musl") libiconv
           ++ lib.optionals (!localSystem.isx86)
             [ prevStage.updateAutotoolsGnuConfigScriptsHook prevStage.gnu-config ];
 
@@ -368,11 +363,11 @@ in
         inherit (prevStage)
           gzip bzip2 xz bash coreutils diffutils findutils gawk
           gnumake gnused gnutar gnugrep gnupatch patchelf
-          attr acl paxctl zlib pcre;
+          attr acl paxctl zlib pcre texinfo;
         ${localSystem.libc} = getLibc prevStage;
       } // lib.optionalAttrs (super.targetPlatform == localSystem) {
         # Need to get rid of these when cross-compiling.
-        inherit (prevStage) binutils binutils-raw;
+        inherit (prevStage) binutils binutils-unwrapped;
         gcc = cc;
       };
     };
diff --git a/pkgs/stdenv/linux/make-bootstrap-tools.nix b/pkgs/stdenv/linux/make-bootstrap-tools.nix
index 8033d47d5db..4fc9999b538 100644
--- a/pkgs/stdenv/linux/make-bootstrap-tools.nix
+++ b/pkgs/stdenv/linux/make-bootstrap-tools.nix
@@ -88,7 +88,7 @@ in with pkgs; rec {
     '' else throw "unsupported libc for bootstrap tools")
     + ''
         # Copy coreutils, bash, etc.
-        cp ${coreutilsMinimal.out}/bin/* $out/bin
+        cp -d ${coreutilsMinimal.out}/bin/* $out/bin
         (cd $out/bin && rm vdir dir sha*sum pinky factor pathchk runcon shuf who whoami shred users)
 
         cp ${bash.out}/bin/bash $out/bin
@@ -136,8 +136,6 @@ in with pkgs; rec {
         cp -d ${libmpc.out}/lib/libmpc*.so* $out/lib
         cp -d ${zlib.out}/lib/libz.so* $out/lib
         cp -d ${libelf}/lib/libelf.so* $out/lib
-      '' + lib.optionalString (hostPlatform.libc == "musl") ''
-        cp -d ${libiconv.out}/lib/libiconv*.so* $out/lib
 
       '' + lib.optionalString (hostPlatform != buildPlatform) ''
         # These needed for cross but not native tools because the stdenv
diff --git a/pkgs/stdenv/native/default.nix b/pkgs/stdenv/native/default.nix
index 19efac3700a..78f7a82d295 100644
--- a/pkgs/stdenv/native/default.nix
+++ b/pkgs/stdenv/native/default.nix
@@ -119,14 +119,23 @@ in
     };
     stdenvNoCC = stdenv;
 
-    cc = import ../../build-support/cc-wrapper {
-      name = "cc-native";
-      nativeTools = true;
-      nativeLibc = true;
+    cc = let
       nativePrefix = { # switch
         "i686-solaris" = "/usr/gnu";
         "x86_64-solaris" = "/opt/local/gcc47";
       }.${system} or "/usr";
+    in
+    import ../../build-support/cc-wrapper {
+      name = "cc-native";
+      nativeTools = true;
+      nativeLibc = true;
+      inherit nativePrefix;
+      bintools = import ../../build-support/bintools-wrapper {
+        name = "bintools";
+        inherit stdenvNoCC nativePrefix;
+        nativeTools = true;
+        nativeLibc = true;
+      };
       inherit stdenvNoCC;
     };
 
diff --git a/pkgs/test/default.nix b/pkgs/test/default.nix
new file mode 100644
index 00000000000..38f6cb8e564
--- /dev/null
+++ b/pkgs/test/default.nix
@@ -0,0 +1,26 @@
+{ pkgs, callPackage }:
+
+with pkgs;
+
+{
+  cc-wrapper = callPackage ./cc-wrapper { };
+  cc-wrapper-gcc = callPackage ./cc-wrapper { stdenv = gccStdenv; };
+  cc-wrapper-gcc7 = callPackage ./cc-wrapper { stdenv = gcc7Stdenv; };
+  cc-wrapper-gcc8 = callPackage ./cc-wrapper { stdenv = gcc8Stdenv; };
+  cc-wrapper-clang = callPackage ./cc-wrapper { stdenv = llvmPackages.stdenv; };
+  cc-wrapper-libcxx = callPackage ./cc-wrapper { stdenv = llvmPackages.libcxxStdenv; };
+  cc-wrapper-clang-39 = callPackage ./cc-wrapper { stdenv = llvmPackages_39.stdenv; };
+  cc-wrapper-libcxx-39 = callPackage ./cc-wrapper { stdenv = llvmPackages_39.libcxxStdenv; };
+  cc-wrapper-clang-4 = callPackage ./cc-wrapper { stdenv = llvmPackages_4.stdenv; };
+  cc-wrapper-libcxx-4 = callPackage ./cc-wrapper { stdenv = llvmPackages_4.libcxxStdenv; };
+  cc-wrapper-clang-5 = callPackage ./cc-wrapper { stdenv = llvmPackages_5.stdenv; };
+  cc-wrapper-libcxx-5 = callPackage ./cc-wrapper { stdenv = llvmPackages_5.libcxxStdenv; };
+  cc-wrapper-clang-6 = callPackage ./cc-wrapper { stdenv = llvmPackages_6.stdenv; };
+  cc-wrapper-libcxx-6 = callPackage ./cc-wrapper { stdenv = llvmPackages_6.libcxxStdenv; };
+  stdenv-inputs = callPackage ./stdenv-inputs { };
+
+  cc-multilib-gcc = callPackage ./cc-wrapper/multilib.nix { stdenv = gccMultiStdenv; };
+  cc-multilib-clang = callPackage ./cc-wrapper/multilib.nix { stdenv = clangMultiStdenv; };
+
+  macOSSierraShared = callPackage ./macos-sierra-shared {};
+}
diff --git a/pkgs/tools/X11/bumblebee/default.nix b/pkgs/tools/X11/bumblebee/default.nix
index 7868c2726ec..8ad1b6f6455 100644
--- a/pkgs/tools/X11/bumblebee/default.nix
+++ b/pkgs/tools/X11/bumblebee/default.nix
@@ -39,7 +39,7 @@ let
   primus = if useNvidia then primusLib else primusLib.override { nvidia_x11 = null; };
   primus_i686 = if useNvidia then primusLib_i686 else primusLib_i686.override { nvidia_x11 = null; };
 
-  primusLibs = lib.makeLibraryPath ([primus] ++ lib.optional (primusLib_i686 != null) primus_i686);
+  primusLibs = lib.makeLibraryPath ([ primus ] ++ lib.optional (primusLib_i686 != null) primus_i686);
 
   nvidia_x11s = [ nvidia_x11 ]
                 ++ lib.optional nvidia_x11.useGLVND libglvnd
@@ -49,7 +49,6 @@ let
   nvidiaLibs = lib.makeLibraryPath nvidia_x11s;
 
   bbdPath = lib.makeBinPath [ kmod xorgserver ];
-  bbdLibs = lib.makeLibraryPath [ libX11 libXext ];
 
   xmodules = lib.concatStringsSep "," (map (x: "${x.out or x}/lib/xorg/modules") ([ xorgserver ] ++ lib.optional (!useNvidia) xf86videonouveau));
 
@@ -133,8 +132,7 @@ in stdenv.mkDerivation rec {
 
   postInstall = ''
     wrapProgram "$out/sbin/bumblebeed" \
-      --prefix PATH : "${bbdPath}" \
-      --prefix LD_LIBRARY_PATH : "${bbdLibs}"
+      --prefix PATH : "${bbdPath}"
 
     wrapProgram "$out/bin/optirun" \
       --prefix PATH : "${virtualgl}/bin"
diff --git a/pkgs/tools/X11/primus/lib.nix b/pkgs/tools/X11/primus/lib.nix
index d9bebf6055f..5c4c65bc17a 100644
--- a/pkgs/tools/X11/primus/lib.nix
+++ b/pkgs/tools/X11/primus/lib.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchFromGitHub, fetchpatch
-, libX11, libGL
+, libX11, libGL, mesa_noglu
 , nvidia_x11 ? null
 , libglvnd
 }:
@@ -33,7 +33,7 @@ in stdenv.mkDerivation {
   makeFlags = [ "LIBDIR=$(out)/lib"
                 "PRIMUS_libGLa=${aPackage}/lib/libGL.so"
                 "PRIMUS_libGLd=${libGL}/lib/libGL.so"
-                "PRIMUS_LOAD_GLOBAL=${libGL}/lib/libglapi.so"
+                "PRIMUS_LOAD_GLOBAL=${mesa_noglu}/lib/libglapi.so"
               ];
 
   installPhase = ''
@@ -45,7 +45,7 @@ in stdenv.mkDerivation {
   meta = with stdenv.lib; {
     description = "Low-overhead client-side GPU offloading";
     homepage = https://github.com/amonakov/primus;
-    platforms = platforms.linux;
+    platforms = [ "i686-linux" "x86_64-linux" ];
     license = licenses.bsd2;
     maintainers = with maintainers; [ abbradar ];
   };
diff --git a/pkgs/tools/X11/screen-message/default.nix b/pkgs/tools/X11/screen-message/default.nix
index 5433035d221..92f24f2b4aa 100644
--- a/pkgs/tools/X11/screen-message/default.nix
+++ b/pkgs/tools/X11/screen-message/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, autoreconfHook, pkgconfig, gtk3 }:
+{ stdenv, fetchurl, autoreconfHook, pkgconfig, gtk3, hicolor-icon-theme }:
 
 stdenv.mkDerivation rec {
   name = "screen-message-${version}";
@@ -10,13 +10,13 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ autoreconfHook pkgconfig ];
-  buildInputs = [ gtk3 ];
+  buildInputs = [ gtk3 hicolor-icon-theme ];
 
   # screen-message installs its binary in $(prefix)/games per default
   makeFlags = [ "execgamesdir=$(out)/bin" ];
 
   meta = {
-    homepage = http://darcs.nomeata.de/cgi-bin/darcsweb.cgi?r=screen-message.debian;
+    homepage = "https://www.joachim-breitner.de/en/projects#screen-message";
     description = "Displays a short text fullscreen in an X11 window";
     license = stdenv.lib.licenses.gpl2Plus;
     maintainers = [ stdenv.lib.maintainers.fpletz ];
diff --git a/pkgs/tools/X11/sselp/default.nix b/pkgs/tools/X11/sselp/default.nix
index 10b0dfff9bf..2b58dd6c911 100644
--- a/pkgs/tools/X11/sselp/default.nix
+++ b/pkgs/tools/X11/sselp/default.nix
@@ -5,7 +5,7 @@ stdenv.mkDerivation rec {
   name = "sselp-${version}";
  
   src = fetchurl {
-    url = "http://dl.suckless.org/tools/${name}.tar.gz";
+    url = "https://dl.suckless.org/tools/${name}.tar.gz";
     sha256 = "08mqp00lrh1chdrbs18qr0xv63h866lkmfj87kfscwdm1vn9a3yd";
   };
  
diff --git a/pkgs/tools/X11/winswitch/default.nix b/pkgs/tools/X11/winswitch/default.nix
index 90159d82c39..cd9d6aecdef 100644
--- a/pkgs/tools/X11/winswitch/default.nix
+++ b/pkgs/tools/X11/winswitch/default.nix
@@ -5,11 +5,11 @@ let
   base = pythonPackages.buildPythonApplication rec {
     name = "winswitch-${version}";
     namePrefix = "";
-    version = "0.12.16";
+    version = "0.12.23";
 
     src = fetchurl {
       url = "http://winswitch.org/src/${name}.src.tar.bz2";
-      sha256 = "0ix122d7rgzdkk70f2q3sd7a4pvyaqsyxkw93pc4zkcg1xh9z3y8";
+      sha256 = "1m0akjcdlsgng426rwvzlcl76kjm993icj0pggvha40cizig1yd9";
     };
 
     propagatedBuildInputs = with pythonPackages; [
diff --git a/pkgs/tools/X11/xdg-user-dirs/default.nix b/pkgs/tools/X11/xdg-user-dirs/default.nix
index 0af94531753..3e0680cac44 100644
--- a/pkgs/tools/X11/xdg-user-dirs/default.nix
+++ b/pkgs/tools/X11/xdg-user-dirs/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, libxslt, docbook_xsl, makeWrapper }:
 
 stdenv.mkDerivation rec {
-  name = "xdg-user-dirs-0.16";
+  name = "xdg-user-dirs-0.17";
 
   src = fetchurl {
     url = "http://user-dirs.freedesktop.org/releases/${name}.tar.gz";
-    sha256 = "1rp3c94hxjlfsryvwajklynfnrcvxplhwnjqc7395l89i0nb83vp";
+    sha256 = "13216b8rfkzak5k6bvpx6jvqv3cnbgpijnjwj8a8d3kq4cl0a1ra";
   };
 
   buildInputs = [ libxslt docbook_xsl makeWrapper ];
diff --git a/pkgs/tools/X11/xdg-utils/default.nix b/pkgs/tools/X11/xdg-utils/default.nix
index 52ecdc26734..28839891aa5 100644
--- a/pkgs/tools/X11/xdg-utils/default.nix
+++ b/pkgs/tools/X11/xdg-utils/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchurl, fetchFromGitHub
 , file, libxslt, docbook_xml_dtd_412, docbook_xsl, xmlto
-, w3m, which, gnugrep, gnused, coreutils
+, w3m, which, gnugrep, gnused, coreutils, xset
 , mimiSupport ? false, gawk ? null }:
 
 assert mimiSupport -> gawk != null;
@@ -38,6 +38,7 @@ stdenv.mkDerivation rec {
     file()  { ${file}/bin/file      "$@"; }\
     awk()   { ${gawk}/bin/awk       "$@"; }\
     sort()  { ${coreutils}/bin/sort "$@"; }\
+    xset()  { ${xset}/bin/xset      "$@"; }\
     &#' -i "$out"/bin/*
 
     substituteInPlace $out/bin/xdg-open \
diff --git a/pkgs/tools/X11/xidlehook/default.nix b/pkgs/tools/X11/xidlehook/default.nix
new file mode 100644
index 00000000000..733a8eb630d
--- /dev/null
+++ b/pkgs/tools/X11/xidlehook/default.nix
@@ -0,0 +1,33 @@
+{ lib, rustPlatform, fetchFromGitHub, x11, xorg, libpulseaudio, pkgconfig, patchelf
+, stdenv}:
+
+rustPlatform.buildRustPackage rec {
+  name = "xidlehook-${version}";
+  version = "0.4.6";
+
+  src = fetchFromGitHub {
+    owner = "jD91mZM2";
+    repo = "xidlehook";
+    rev = version;
+
+    sha256 = "0h84ichm1v2wdmm4w1n7jr70yfb9hhi7kykvd99ppg00h1x9lr7w";
+  };
+
+  cargoSha256 = "0a1bl6fnfw6xy71q3b5zij52p9skylj1ivqj8my44bfsid2qfn7d";
+
+  buildInputs = [ x11 xorg.libXScrnSaver libpulseaudio ];
+  nativeBuildInputs = [ pkgconfig patchelf ];
+
+  postFixup = lib.optionalString stdenv.isLinux ''
+    RPATH="$(patchelf --print-rpath $out/bin/xidlehook)"
+    patchelf --set-rpath "$RPATH:${libpulseaudio}/lib" $out/bin/xidlehook
+  '';
+
+  meta = with lib; {
+    description = "xautolock rewrite in Rust, with a few extra features";
+    homepage = https://github.com/jD91mZM2/xidlehook;
+    license = licenses.mit;
+    maintainers = with maintainers; [ jD91mZM2 ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/tools/X11/xnee/default.nix b/pkgs/tools/X11/xnee/default.nix
index 63abc31e007..b31a512e84a 100644
--- a/pkgs/tools/X11/xnee/default.nix
+++ b/pkgs/tools/X11/xnee/default.nix
@@ -50,6 +50,6 @@ stdenv.mkDerivation rec {
     homepage = http://www.gnu.org/software/xnee/;
 
     maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
-    platforms = stdenv.lib.platforms.gnu;  # arbitrary choice
+    platforms = stdenv.lib.platforms.gnu ++ stdenv.lib.platforms.linux;  # arbitrary choice
   };
 }
diff --git a/pkgs/tools/X11/xpointerbarrier/default.nix b/pkgs/tools/X11/xpointerbarrier/default.nix
index 93bbe1ce0bc..50d0ac4f2b9 100644
--- a/pkgs/tools/X11/xpointerbarrier/default.nix
+++ b/pkgs/tools/X11/xpointerbarrier/default.nix
@@ -1,13 +1,13 @@
 { stdenv, xorg, fetchFromGitHub }:
 stdenv.mkDerivation rec {
   name = "xpointerbarrier-${version}";
-  version = "17.10";
+  version = "17.11";
 
   src = fetchFromGitHub {
     owner = "vain";
     repo = "xpointerbarrier";
     rev = "v${version}";
-    sha256 = "0p4qc7ggndf74d2xdf38659prx3r3lfi5jc8nmqx52c9fqdshcrk";
+    sha256 = "0s6bd58xjyc2nqzjq6aglx6z64x9xavda3i6p8vrmxqmcpik54nm";
   };
 
   buildInputs = [ xorg.libX11 xorg.libXfixes xorg.libXrandr ];
diff --git a/pkgs/tools/X11/xpra/default.nix b/pkgs/tools/X11/xpra/default.nix
index a3aa7a0aa23..9bc13b3260d 100644
--- a/pkgs/tools/X11/xpra/default.nix
+++ b/pkgs/tools/X11/xpra/default.nix
@@ -12,11 +12,11 @@ let
   inherit (python2Packages) python cython buildPythonApplication;
 in buildPythonApplication rec {
   name = "xpra-${version}";
-  version = "2.1.3";
+  version = "2.2.6";
 
   src = fetchurl {
     url = "http://xpra.org/src/${name}.tar.xz";
-    sha256 = "0r0l3p59q05fmvkp3jv8vmny2v8m1vyhqkg6b9r2qgxn1kcxx7rm";
+    sha256 = "1zyynghhzjbgnmzcibm17wpj9f7jy31d7dr373li8cwg2yl2swyz";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/tools/X11/xpra/gtk3.nix b/pkgs/tools/X11/xpra/gtk3.nix
index 629c10f867f..7e620e0c2c8 100644
--- a/pkgs/tools/X11/xpra/gtk3.nix
+++ b/pkgs/tools/X11/xpra/gtk3.nix
@@ -7,11 +7,11 @@
 
 buildPythonApplication rec {
   name = "xpra-${version}";
-  version = "2.1.3";
+  version = "2.2.5";
 
   src = fetchurl {
     url = "http://xpra.org/src/${name}.tar.xz";
-    sha256 = "0r0l3p59q05fmvkp3jv8vmny2v8m1vyhqkg6b9r2qgxn1kcxx7rm";
+    sha256 = "1q2l00nc3bgwlhjzkbk4a8x2l8z9w1799yn31icsx5hrgh98a1js";
   };
 
   patchPhase = ''
diff --git a/pkgs/tools/X11/xvkbd/default.nix b/pkgs/tools/X11/xvkbd/default.nix
index 399531f71eb..7221555ed33 100644
--- a/pkgs/tools/X11/xvkbd/default.nix
+++ b/pkgs/tools/X11/xvkbd/default.nix
@@ -2,10 +2,10 @@
 
 stdenv.mkDerivation rec {
   name = "xvkbd-${version}";
-  version = "3.8";
+  version = "3.9";
   src = fetchurl {
-    url = "http://t-sato.in.coocan.jp/xvkbd/xvkbd-3.8.tar.gz";
-    sha256 = "16r5wbb5za02ha0ilwswx37lrwa6j40px8c9gkpnmmpb5r7kv91c";
+    url = "http://t-sato.in.coocan.jp/xvkbd/xvkbd-3.9.tar.gz";
+    sha256 = "17csj6x5zm3g67izfwhagkal1rbqzpw09lqmmlyrjy3vzgfkf75q";
   };
 
   buildInputs = [ imake libXt libXaw libXtst xextproto libXi Xaw3d libXpm gccmakedep ];
diff --git a/pkgs/tools/X11/xwinmosaic/default.nix b/pkgs/tools/X11/xwinmosaic/default.nix
index e36808db0b8..b6b87fffb47 100644
--- a/pkgs/tools/X11/xwinmosaic/default.nix
+++ b/pkgs/tools/X11/xwinmosaic/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchgit, gtk2, cmake, pkgconfig }:
+{ stdenv, fetchgit, gtk2, cmake, pkgconfig, libXdamage }:
 
 stdenv.mkDerivation rec {
   version = "0.4.2";
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ pkgconfig cmake ];
-  buildInputs = [ gtk2 ];
+  buildInputs = [ gtk2 libXdamage ];
 
   meta = {
     inherit version;
diff --git a/pkgs/tools/admin/acme.sh/default.nix b/pkgs/tools/admin/acme.sh/default.nix
new file mode 100644
index 00000000000..00d8bdd3ef4
--- /dev/null
+++ b/pkgs/tools/admin/acme.sh/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, lib, fetchFromGitHub, makeWrapper, curl, openssl, socat, iproute }:
+stdenv.mkDerivation rec {
+  name = "acme.sh-${version}";
+  version = "2.7.8";
+
+  src = fetchFromGitHub {
+    owner = "Neilpang";
+    repo = "acme.sh";
+    rev = version;
+    sha256 = "0zm64z7av63xi7yjhljab2i8q1vx4q1mpcmcm58jm6k4babalxrf";
+  };
+
+  nativeBuildInputs = [ makeWrapper ];
+
+  installPhase = ''
+    mkdir -p $out $out/bin $out/libexec
+    cp -R $src/* $_
+    makeWrapper $out/libexec/acme.sh $out/bin/acme.sh \
+      --prefix PATH : "${lib.makeBinPath [ socat openssl curl iproute ]}"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A pure Unix shell script implementing ACME client protocol";
+    homepage = https://acme.sh/;
+    license = licenses.gpl3;
+    maintainers = [ maintainers.yorickvp ];
+  };
+}
diff --git a/pkgs/tools/admin/ansible/2.1.nix b/pkgs/tools/admin/ansible/2.1.nix
deleted file mode 100644
index b8b335bd618..00000000000
--- a/pkgs/tools/admin/ansible/2.1.nix
+++ /dev/null
@@ -1,55 +0,0 @@
-{ stdenv
-, fetchurl
-, fetchFromGitHub
-, pythonPackages
-, windowsSupport ? false
-}:
-
-with pythonPackages;
-
-let
-  jinja = jinja2.overridePythonAttrs (old: rec {
-    version = "2.8.1";
-    name = "${old.pname}-${version}";
-    src = fetchFromGitHub {
-      owner = "pallets";
-      repo = "jinja";
-      rev = version;
-      sha256 = "0m6g6fx6flxb6hrkw757mbx1gxyrmj50w27m2afdsvmvz0zpdi2a";
-    };
-  });
-in buildPythonPackage rec {
-  pname = "ansible";
-  version = "2.1.4.0";
-  name = "${pname}-${version}";
-
-
-  src = fetchurl {
-    url = "http://releases.ansible.com/ansible/${name}.tar.gz";
-    sha256 = "05nc68900qrzqp88970j2lmyvclgrjki66xavcpzyzamaqrh7wg9";
-  };
-
-  prePatch = ''
-    sed -i "s,/usr/,$out," lib/ansible/constants.py
-  '';
-
-  doCheck = false;
-  dontStrip = true;
-  dontPatchELF = true;
-  dontPatchShebangs = false;
-
-  propagatedBuildInputs = [
-    pycrypto paramiko jinja pyyaml httplib2 boto six netaddr dnspython
-  ] ++ stdenv.lib.optional windowsSupport pywinrm;
-
-  meta = with stdenv.lib; {
-    homepage = http://www.ansible.com;
-    description = "A simple automation tool";
-    license = with licenses; [ gpl3] ;
-    maintainers = with maintainers; [
-      jgeerds
-      joamaki
-    ];
-    platforms = with platforms; linux ++ darwin;
-  };
-}
diff --git a/pkgs/tools/admin/ansible/2.2.nix b/pkgs/tools/admin/ansible/2.2.nix
deleted file mode 100644
index ccca64b86b6..00000000000
--- a/pkgs/tools/admin/ansible/2.2.nix
+++ /dev/null
@@ -1,57 +0,0 @@
-{ stdenv
-, fetchurl
-, fetchFromGitHub
-, pythonPackages
-, windowsSupport ? false
-}:
-
-with pythonPackages;
-
-let
-  # Shouldn't be needed anymore in next version
-  # https://github.com/NixOS/nixpkgs/pull/22345#commitcomment-20718521
-  jinja = jinja2.overridePythonAttrs (old: rec {
-    version = "2.8.1";
-    name = "${old.pname}-${version}";
-    src = fetchFromGitHub {
-      owner = "pallets";
-      repo = "jinja";
-      rev = version;
-      sha256 = "0m6g6fx6flxb6hrkw757mbx1gxyrmj50w27m2afdsvmvz0zpdi2a";
-    };
-  });
-in buildPythonPackage rec {
-  pname = "ansible";
-  version = "2.2.1.0";
-  name = "${pname}-${version}";
-
-
-  src = fetchurl {
-    url = "http://releases.ansible.com/ansible/${name}.tar.gz";
-    sha256 = "0gz9i30pdmkchi936ijy873k8di6fmf3v5rv551hxyf0hjkjx8b3";
-  };
-
-  prePatch = ''
-    sed -i "s,/usr/,$out," lib/ansible/constants.py
-  '';
-
-  doCheck = false;
-  dontStrip = true;
-  dontPatchELF = true;
-  dontPatchShebangs = false;
-
-  propagatedBuildInputs = [
-    pycrypto paramiko jinja pyyaml httplib2 boto six netaddr dnspython
-  ] ++ stdenv.lib.optional windowsSupport pywinrm;
-
-  meta = with stdenv.lib; {
-    homepage = http://www.ansible.com;
-    description = "A simple automation tool";
-    license = with licenses; [ gpl3] ;
-    maintainers = with maintainers; [
-      jgeerds
-      joamaki
-    ];
-    platforms = with platforms; linux ++ darwin;
-  };
-}
diff --git a/pkgs/tools/admin/ansible/2.3.nix b/pkgs/tools/admin/ansible/2.3.nix
deleted file mode 100644
index b827bdcc9c3..00000000000
--- a/pkgs/tools/admin/ansible/2.3.nix
+++ /dev/null
@@ -1,40 +0,0 @@
-{ stdenv
-, fetchurl
-, pythonPackages
-, windowsSupport ? false
-}:
-
-pythonPackages.buildPythonPackage rec {
-  pname = "ansible";
-  version = "2.3.2.0";
-  name = "${pname}-${version}";
-
-  src = fetchurl {
-    url = "http://releases.ansible.com/ansible/${name}.tar.gz";
-    sha256 = "1sv8666vw6fi93jlgkwd4lxkfn75yqczfvk129zlh8ll4wjv8qq5";
-  };
-
-  prePatch = ''
-    sed -i "s,/usr/,$out," lib/ansible/constants.py
-  '';
-
-  doCheck = false;
-  dontStrip = true;
-  dontPatchELF = true;
-  dontPatchShebangs = false;
-
-  propagatedBuildInputs = with pythonPackages; [
-    pycrypto paramiko jinja2 pyyaml httplib2 boto six netaddr dnspython
-  ] ++ stdenv.lib.optional windowsSupport pywinrm;
-
-  meta = with stdenv.lib; {
-    homepage = http://www.ansible.com;
-    description = "A simple automation tool";
-    license = with licenses; [ gpl3 ] ;
-    maintainers = with maintainers; [
-      jgeerds
-      joamaki
-    ];
-    platforms = with platforms; linux ++ darwin;
-  };
-}
diff --git a/pkgs/tools/admin/ansible/2.4.nix b/pkgs/tools/admin/ansible/2.4.nix
deleted file mode 100644
index 4f90e80202e..00000000000
--- a/pkgs/tools/admin/ansible/2.4.nix
+++ /dev/null
@@ -1,40 +0,0 @@
-{ stdenv
-, fetchurl
-, pythonPackages
-, windowsSupport ? false
-}:
-
-pythonPackages.buildPythonPackage rec {
-  pname = "ansible";
-  version = "2.4.2.0";
-  name = "${pname}-${version}";
-
-  src = fetchurl {
-    url = "http://releases.ansible.com/ansible/${name}.tar.gz";
-    sha256 = "0n3n9py4s3aykiii31xq8g4wmd6693jvby0424pjrg0bna01apri";
-  };
-
-  prePatch = ''
-    sed -i "s,/usr/,$out," lib/ansible/constants.py
-  '';
-
-  doCheck = false;
-  dontStrip = true;
-  dontPatchELF = true;
-  dontPatchShebangs = false;
-
-  propagatedBuildInputs = with pythonPackages; [
-    pycrypto paramiko jinja2 pyyaml httplib2 boto six netaddr dnspython
-  ] ++ stdenv.lib.optional windowsSupport pywinrm;
-
-  meta = with stdenv.lib; {
-    homepage = http://www.ansible.com;
-    description = "A simple automation tool";
-    license = with licenses; [ gpl3 ];
-    maintainers = with maintainers; [
-      jgeerds
-      joamaki
-    ];
-    platforms = with platforms; linux ++ darwin;
-  };
-}
diff --git a/pkgs/tools/admin/ansible/default.nix b/pkgs/tools/admin/ansible/default.nix
new file mode 100644
index 00000000000..11ab58bc62f
--- /dev/null
+++ b/pkgs/tools/admin/ansible/default.nix
@@ -0,0 +1,65 @@
+{ stdenv, fetchurl, fetchFromGitHub, python2
+, windowsSupport ? false
+}:
+
+let
+  oldJinja = python2.override {
+    packageOverrides = self: super: {
+      jinja2 = super.jinja2.overridePythonAttrs (oldAttrs: rec {
+        version = "2.8.1";
+        src = oldAttrs.src.override {
+          inherit version;
+          sha256 = "14aqmhkc9rw5w0v311jhixdm6ym8vsm29dhyxyrjfqxljwx1yd1m";
+        };
+        doCheck = false;
+      });
+    };
+  };
+
+  generic = { version, sha256, py ? python2 }: py.pkgs.buildPythonPackage rec {
+    pname = "ansible";
+    inherit version;
+
+    src = fetchurl {
+      url = "http://releases.ansible.com/ansible/${pname}-${version}.tar.gz";
+      inherit sha256;
+    };
+
+    prePatch = ''
+      sed -i "s,/usr/,$out," lib/ansible/constants.py
+    '';
+
+    doCheck = false;
+    dontStrip = true;
+    dontPatchELF = true;
+    dontPatchShebangs = false;
+
+    propagatedBuildInputs = with py.pkgs; [
+      pycrypto paramiko jinja2 pyyaml httplib2 boto six netaddr dnspython
+    ] ++ stdenv.lib.optional windowsSupport pywinrm;
+
+    meta = with stdenv.lib; {
+      homepage = http://www.ansible.com;
+      description = "A simple automation tool";
+      license = with licenses; [ gpl3 ] ;
+      maintainers = with maintainers; [ jgeerds joamaki ];
+      platforms = with platforms; linux ++ darwin;
+    };
+  };
+
+in rec {
+  # We will carry all the supported versions
+
+  ansible_2_4 = generic {
+    version = "2.4.4.0";
+    sha256  = "0n1k6h0h6av74nw8vq98fmh6q4pq6brpwmx45282vh3bkdmpa0ib";
+  };
+
+  ansible_2_5 = generic {
+    version = "2.5.2";
+    sha256  = "1r9sq30xz3jrvx6yqssj5wmkml1f75rx1amd7g89f3ryngrq6m59";
+  };
+
+  ansible2 = ansible_2_5;
+  ansible  = ansible2;
+}
diff --git a/pkgs/tools/admin/aws-auth/default.nix b/pkgs/tools/admin/aws-auth/default.nix
deleted file mode 100644
index 9f36a6403a1..00000000000
--- a/pkgs/tools/admin/aws-auth/default.nix
+++ /dev/null
@@ -1,31 +0,0 @@
-{ stdenv, fetchFromGitHub, makeWrapper, jq, awscli }:
-
-stdenv.mkDerivation rec {
-  version = "unstable-2017-07-24";
-  name = "aws-auth-${version}";
-
-  src = fetchFromGitHub {
-    owner = "alphagov";
-    repo = "aws-auth";
-    rev = "5a4c9673f9f00ebaa4bb538827e1c2f277c475e1";
-    sha256 = "095j9zqxra8hi2iyz0y4azs9yigy5f6alqkfmv180pm75nbc031g";
-  };
-
-  nativeBuildInputs = [ makeWrapper ];
-
-  dontBuild = true;
-
-  # copy script and set $PATH
-  installPhase = ''
-    install -D $src/aws-auth.sh $out/bin/aws-auth
-    wrapProgram $out/bin/aws-auth \
-      --prefix PATH : ${stdenv.lib.makeBinPath [ awscli jq ]}
-  '';
-
-  meta = {
-    homepage = https://github.com/alphagov/aws-auth;
-    description = "AWS authentication wrapper to handle MFA and IAM roles";
-    license = stdenv.lib.licenses.mit;
-    maintainers = with stdenv.lib.maintainers; [ ris ];
-  };
-}
diff --git a/pkgs/tools/admin/aws_shell/default.nix b/pkgs/tools/admin/aws_shell/default.nix
index 6eee9826948..c319c47ea7e 100644
--- a/pkgs/tools/admin/aws_shell/default.nix
+++ b/pkgs/tools/admin/aws_shell/default.nix
@@ -10,11 +10,11 @@
 
 buildPythonPackage rec {
   pname = "aws-shell";
-  version = "0.1.1";
+  version = "0.2.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1pw9lrdjl24n6lrs6lnqpyiyic8bdxgvhyqvb2rx6kkbjrfhhgv5";
+    sha256 = "b46a673b81254e5e014297e08c9ecab535773aa651ca33dc3786a1fd612f9810";
   };
 
   # Why does it propagate packages that are used for testing?
diff --git a/pkgs/tools/admin/awscli/default.nix b/pkgs/tools/admin/awscli/default.nix
index 4c6a91ec321..4e7e2d402e9 100644
--- a/pkgs/tools/admin/awscli/default.nix
+++ b/pkgs/tools/admin/awscli/default.nix
@@ -1,48 +1,40 @@
-{ stdenv
-, buildPythonPackage
-, fetchPypi
-, botocore
-, bcdoc
-, s3transfer
-, six
-, colorama
-, docutils
-, rsa
-, pyyaml
+{ lib
+, python
 , groff
 , less
 }:
 
 let
-  colorama_3_7 = colorama.overrideAttrs (old: rec {
-    name = "${pname}-${version}";
-    pname = "colorama";
-    version = "0.3.7";
-    src = old.src.override {
-      inherit version;
-      sha256 = "0avqkn6362v7k2kg3afb35g4sfdvixjgy890clip4q174p9whhz0";
+  py = python.override {
+    packageOverrides = self: super: {
+      colorama = super.colorama.overridePythonAttrs (oldAttrs: rec {
+        version = "0.3.7";
+        src = oldAttrs.src.override {
+          inherit version;
+          sha256 = "0avqkn6362v7k2kg3afb35g4sfdvixjgy890clip4q174p9whhz0";
+        };
+      });
     };
-  });
+  };
 
-in buildPythonPackage rec {
+in py.pkgs.buildPythonApplication rec {
   pname = "awscli";
-  version = "1.14.41";
-  namePrefix = "";
+  version = "1.15.10";
 
-  src = fetchPypi {
+  src = py.pkgs.fetchPypi {
     inherit pname version;
-    sha256 = "8cf2a52d56f26e22e2fbd7b72649ef1d3de8930df7a730d7f27418d129bb3a6a";
+    sha256 = "0nwpanbfx5h0bad8wwvvbhpjf9r6n885bbv2w8mw7vijdgclkq8x";
   };
 
   # No tests included
   doCheck = false;
 
-  propagatedBuildInputs = [
+  propagatedBuildInputs = with py.pkgs; [
     botocore
     bcdoc
     s3transfer
     six
-    colorama_3_7
+    colorama
     docutils
     rsa
     pyyaml
@@ -50,6 +42,12 @@ in buildPythonPackage rec {
     less
   ];
 
+  postPatch = ''
+    for i in {py,cfg}; do
+      substituteInPlace setup.$i --replace "botocore==1.10.10" "botocore>=1.10.9,<=1.11"
+    done
+  '';
+
   postInstall = ''
     mkdir -p $out/etc/bash_completion.d
     echo "complete -C $out/bin/aws_completer aws" > $out/etc/bash_completion.d/awscli
@@ -58,10 +56,10 @@ in buildPythonPackage rec {
     rm $out/bin/aws.cmd
   '';
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     homepage = https://aws.amazon.com/cli/;
     description = "Unified tool to manage your AWS services";
-    license = stdenv.lib.licenses.asl20;
+    license = licenses.asl20;
     maintainers = with maintainers; [ muflax ];
   };
 }
diff --git a/pkgs/tools/admin/bluemix-cli/default.nix b/pkgs/tools/admin/bluemix-cli/default.nix
new file mode 100644
index 00000000000..2c24728fab9
--- /dev/null
+++ b/pkgs/tools/admin/bluemix-cli/default.nix
@@ -0,0 +1,25 @@
+{ lib, stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  name = "bluemix-cli-${version}";
+  version = "0.6.6";
+
+  src = fetchurl {
+    name = "linux64.tar.gz";
+    url = "https://clis.ng.bluemix.net/download/bluemix-cli/${version}/linux64";
+    sha256 = "1swjawc4szqrl0wgjcb4na1hbxylaqp2mp53lxsbfbk1db0c3y85";
+  };
+
+  installPhase = ''
+    install -m755 -D --target $out/bin bin/bluemix bin/bluemix-analytics bin/cfcli/cf
+  '';
+
+  meta = with lib; {
+    description  = "Administration CLI for IBM BlueMix";
+    homepage     = "https://console.bluemix.net/docs/cli/index.html";
+    downloadPage = "https://console.bluemix.net/docs/cli/reference/bluemix_cli/download_cli.html#download_install";
+    license      = licenses.unfree;
+    maintainers  = [ maintainers.tazjin ];
+    platforms    = [ "x86_64-linux" ];
+  };
+}
diff --git a/pkgs/tools/admin/bubblewrap/default.nix b/pkgs/tools/admin/bubblewrap/default.nix
index 4ccdbc204f0..a5e0186fa2d 100644
--- a/pkgs/tools/admin/bubblewrap/default.nix
+++ b/pkgs/tools/admin/bubblewrap/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "bubblewrap-${version}";
-  version = "0.2.0";
+  version = "0.2.1";
 
   src = fetchurl {
     url = "https://github.com/projectatomic/bubblewrap/releases/download/v${version}/${name}.tar.xz";
-    sha256 = "0ahw30ngpclk3ssa81cb7ydc6a4xc5dpqn6kmxfpc9xr30vimdnc";
+    sha256 = "1qhzwgpfsw66hcv5kqc7i4dbzhxr8drrqn3md4grcp7dn02wif2l";
   };
 
   nativeBuildInputs = [ libcap libxslt docbook_xsl ];
diff --git a/pkgs/tools/admin/certbot/default.nix b/pkgs/tools/admin/certbot/default.nix
index 78a38e07cc2..7a26896bbc2 100644
--- a/pkgs/tools/admin/certbot/default.nix
+++ b/pkgs/tools/admin/certbot/default.nix
@@ -1,19 +1,19 @@
-{ stdenv, python2Packages, fetchFromGitHub, dialog }:
+{ stdenv, pythonPackages, fetchFromGitHub, dialog }:
 
 # Latest version of certbot supports python3 and python3 version of pythondialog
 
-python2Packages.buildPythonApplication rec {
+pythonPackages.buildPythonApplication rec {
   name = "certbot-${version}";
-  version = "0.19.0";
+  version = "0.24.0";
 
   src = fetchFromGitHub {
     owner = "certbot";
     repo = "certbot";
     rev = "v${version}";
-    sha256 = "14i3q59v7j0q2pa1dri420fhil4h0vgl4vb471hp81f4y14gq6h7";
+    sha256 = "0gsq4si0bqwzd7ywf87y7bbprqg1m72qdj11h64qmwb5zl4vh444";
   };
 
-  propagatedBuildInputs = with python2Packages; [
+  propagatedBuildInputs = with pythonPackages; [
     ConfigArgParse
     acme
     configobj
@@ -28,7 +28,7 @@ python2Packages.buildPythonApplication rec {
     zope_component
     zope_interface
   ];
-  buildInputs = [ dialog ] ++ (with python2Packages; [ nose mock gnureadline ]);
+  buildInputs = [ dialog ] ++ (with pythonPackages; [ nose mock gnureadline ]);
 
   patchPhase = ''
     substituteInPlace certbot/notify.py --replace "/usr/sbin/sendmail" "/run/wrappers/bin/sendmail"
diff --git a/pkgs/tools/admin/chkcrontab/default.nix b/pkgs/tools/admin/chkcrontab/default.nix
new file mode 100644
index 00000000000..a4b119f126a
--- /dev/null
+++ b/pkgs/tools/admin/chkcrontab/default.nix
@@ -0,0 +1,20 @@
+{ python, stdenv }:
+
+with python.pkgs;
+
+buildPythonApplication rec {
+  pname = "chkcrontab";
+  version = "1.7";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0gmxavjkjkvjysgf9cf5fcpk589gb75n1mn20iki82wifi1pk1jn";
+  };
+
+  meta = with stdenv.lib; {
+    description = "A tool to detect crontab errors";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ ma27 ];
+    homepage = https://github.com/lyda/chkcrontab;
+  };
+}
diff --git a/pkgs/tools/admin/dehydrated/default.nix b/pkgs/tools/admin/dehydrated/default.nix
index cbd76b2e7b7..38b70d1b5d0 100644
--- a/pkgs/tools/admin/dehydrated/default.nix
+++ b/pkgs/tools/admin/dehydrated/default.nix
@@ -1,7 +1,7 @@
 { stdenv, bash, coreutils, curl, diffutils, gawk, gnugrep, gnused, openssl, makeWrapper, fetchFromGitHub }:
 let
   pkgName = "dehydrated";
-  version = "0.5.0";
+  version = "0.6.2";
 in
 stdenv.mkDerivation rec {
   name = pkgName + "-" + version;
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
     owner = "lukas2511";
     repo = "dehydrated";
     rev = "v${version}";
-    sha256 = "0ysfsz1ny3gcc4r9szrr09dg63zd7ppv6aih13wmai806yapwxrr";
+    sha256 = "19d4kam0dl6l9wfd0v54w4d085jdgi1ljksnqpjj67d6sm23f2l4";
   };
 
   buildInputs = [ makeWrapper ];
diff --git a/pkgs/tools/admin/fastlane/Gemfile.lock b/pkgs/tools/admin/fastlane/Gemfile.lock
index a578bb4bca2..9cb80eb131c 100644
--- a/pkgs/tools/admin/fastlane/Gemfile.lock
+++ b/pkgs/tools/admin/fastlane/Gemfile.lock
@@ -1,7 +1,7 @@
 GEM
   remote: https://rubygems.org/
   specs:
-    CFPropertyList (2.3.6)
+    CFPropertyList (3.0.0)
     addressable (2.5.2)
       public_suffix (>= 2.0.2, < 4.0)
     atomos (0.1.2)
@@ -9,14 +9,15 @@ GEM
     claide (1.0.2)
     colored (1.2)
     colored2 (3.1.2)
-    commander-fastlane (4.4.5)
+    commander-fastlane (4.4.6)
       highline (~> 1.7.2)
     declarative (0.0.10)
     declarative-option (0.1.0)
     domain_name (0.5.20170404)
       unf (>= 0.0.5, < 1.0.0)
-    dotenv (2.2.1)
-    excon (0.60.0)
+    dotenv (2.2.2)
+    emoji_regex (0.1.1)
+    excon (0.62.0)
     faraday (0.14.0)
       multipart-post (>= 1.2, < 3)
     faraday-cookie_jar (0.0.6)
@@ -25,20 +26,21 @@ GEM
     faraday_middleware (0.12.2)
       faraday (>= 0.7.4, < 1.0)
     fastimage (2.1.1)
-    fastlane (2.80.0)
+    fastlane (2.91.0)
       CFPropertyList (>= 2.3, < 4.0.0)
       addressable (>= 2.3, < 3.0.0)
       babosa (>= 1.0.2, < 2.0.0)
       bundler (>= 1.12.0, < 2.0.0)
       colored
-      commander-fastlane (>= 4.4.5, < 5.0.0)
+      commander-fastlane (>= 4.4.6, < 5.0.0)
       dotenv (>= 2.1.1, < 3.0.0)
+      emoji_regex (~> 0.1)
       excon (>= 0.45.0, < 1.0.0)
       faraday (~> 0.9)
       faraday-cookie_jar (~> 0.0.6)
       faraday_middleware (~> 0.9)
       fastimage (>= 2.1.0, < 3.0.0)
-      gh_inspector (>= 1.0.1, < 2.0.0)
+      gh_inspector (>= 1.1.2, < 2.0.0)
       google-api-client (>= 0.13.1, < 0.14.0)
       highline (>= 1.7.2, < 2.0.0)
       json (< 3.0.0)
@@ -50,16 +52,17 @@ GEM
       public_suffix (~> 2.0.0)
       rubyzip (>= 1.1.0, < 2.0.0)
       security (= 0.1.3)
+      simctl (~> 1.6.3)
       slack-notifier (>= 2.0.0, < 3.0.0)
       terminal-notifier (>= 1.6.2, < 2.0.0)
       terminal-table (>= 1.4.5, < 2.0.0)
       tty-screen (>= 0.6.3, < 1.0.0)
       tty-spinner (>= 0.8.0, < 1.0.0)
       word_wrap (~> 1.0.0)
-      xcodeproj (>= 1.5.2, < 2.0.0)
+      xcodeproj (>= 1.5.7, < 2.0.0)
       xcpretty (>= 0.2.4, < 1.0.0)
       xcpretty-travis-formatter (>= 0.0.3)
-    gh_inspector (1.1.1)
+    gh_inspector (1.1.3)
     google-api-client (0.13.6)
       addressable (~> 2.5, >= 2.5.1)
       googleauth (~> 0.5)
@@ -93,7 +96,8 @@ GEM
     multi_json (1.13.1)
     multi_xml (0.6.0)
     multipart-post (2.0.0)
-    nanaimo (0.2.3)
+    nanaimo (0.2.5)
+    naturally (2.1.0)
     os (0.9.6)
     plist (3.4.0)
     public_suffix (2.0.5)
@@ -110,6 +114,9 @@ GEM
       faraday (~> 0.9)
       jwt (>= 1.5, < 3.0)
       multi_json (~> 1.10)
+    simctl (1.6.3)
+      CFPropertyList
+      naturally
     slack-notifier (2.3.2)
     terminal-notifier (1.8.0)
     terminal-table (1.8.0)
@@ -121,15 +128,15 @@ GEM
     uber (0.1.0)
     unf (0.1.4)
       unf_ext
-    unf_ext (0.0.7.4)
+    unf_ext (0.0.7.5)
     unicode-display_width (1.3.0)
     word_wrap (1.0.0)
-    xcodeproj (1.5.6)
-      CFPropertyList (~> 2.3.3)
+    xcodeproj (1.5.7)
+      CFPropertyList (>= 2.3.3, < 4.0)
       atomos (~> 0.1.2)
       claide (>= 1.0.2, < 2.0)
       colored2 (~> 3.1)
-      nanaimo (~> 0.2.3)
+      nanaimo (~> 0.2.4)
     xcpretty (0.2.8)
       rouge (~> 2.0.7)
     xcpretty-travis-formatter (1.0.0)
diff --git a/pkgs/tools/admin/fastlane/gemset.nix b/pkgs/tools/admin/fastlane/gemset.nix
index c9ddb7b77c0..4a0d0467d80 100644
--- a/pkgs/tools/admin/fastlane/gemset.nix
+++ b/pkgs/tools/admin/fastlane/gemset.nix
@@ -27,10 +27,10 @@
   CFPropertyList = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0hadm41xr1fq3qp74jd9l5q8l0j9083rgklgzsilllwaav7qrrid";
+      sha256 = "0ykjag3k5msz3sf1j91rb55da2xh596y06m3a4yl79fiy2id0w9z";
       type = "gem";
     };
-    version = "2.3.6";
+    version = "3.0.0";
   };
   claide = {
     source = {
@@ -60,10 +60,10 @@
     dependencies = ["highline"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "04gpg733wv878acvrzp4kc3k934v10l3v8bcz3fjq5imjsrjdnbp";
+      sha256 = "0y8d3ac9qwm1cg6rnpf8rcdsy1yxacrd2g2kl809xsp2vi973g65";
       type = "gem";
     };
-    version = "4.4.5";
+    version = "4.4.6";
   };
   declarative = {
     source = {
@@ -93,18 +93,26 @@
   dotenv = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1pgzlvs0sswnqlgfm9gkz2hlhkc0zd3vnlp2vglb1wbgnx37pjjv";
+      sha256 = "1f9s04xwa9gcsql734nwxvacgsl1si7xka4g4w3r6d3ab8a274y9";
       type = "gem";
     };
-    version = "2.2.1";
+    version = "2.2.2";
+  };
+  emoji_regex = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0pcw3axgcmsgihp0xlsdqrqmavz0lw8g396b048fg21033kssxjn";
+      type = "gem";
+    };
+    version = "0.1.1";
   };
   excon = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1rxwlfs7dq4r3bi9avgn7j6bz4hq1a3hdlr9xwdiyp4dp4286xfc";
+      sha256 = "15l9w0938c19nxmrp09n75qpmm64k12xj69h47yvxzcxcpbgnkb2";
       type = "gem";
     };
-    version = "0.60.0";
+    version = "0.62.0";
   };
   faraday = {
     dependencies = ["multipart-post"];
@@ -142,21 +150,21 @@
     version = "2.1.1";
   };
   fastlane = {
-    dependencies = ["CFPropertyList" "addressable" "babosa" "colored" "commander-fastlane" "dotenv" "excon" "faraday" "faraday-cookie_jar" "faraday_middleware" "fastimage" "gh_inspector" "google-api-client" "highline" "json" "mini_magick" "multi_json" "multi_xml" "multipart-post" "plist" "public_suffix" "rubyzip" "security" "slack-notifier" "terminal-notifier" "terminal-table" "tty-screen" "tty-spinner" "word_wrap" "xcodeproj" "xcpretty" "xcpretty-travis-formatter"];
+    dependencies = ["CFPropertyList" "addressable" "babosa" "colored" "commander-fastlane" "dotenv" "emoji_regex" "excon" "faraday" "faraday-cookie_jar" "faraday_middleware" "fastimage" "gh_inspector" "google-api-client" "highline" "json" "mini_magick" "multi_json" "multi_xml" "multipart-post" "plist" "public_suffix" "rubyzip" "security" "simctl" "slack-notifier" "terminal-notifier" "terminal-table" "tty-screen" "tty-spinner" "word_wrap" "xcodeproj" "xcpretty" "xcpretty-travis-formatter"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0saas50qdfipkms66snyg7imvzn1vfngd87dfygj9x8v18bqwvis";
+      sha256 = "04k6pn95qbpvbmqxrs4pngvfyk4pifcv8is3819b33p754pkiqrp";
       type = "gem";
     };
-    version = "2.80.0";
+    version = "2.91.0";
   };
   gh_inspector = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0mpfl279k8yff2ia601b37zw31blwh2plkr501iz6qj8drx3mq3c";
+      sha256 = "0f8r9byajj3bi2c7c5sqrc7m0zrv3nblfcd4782lw5l73cbsgk04";
       type = "gem";
     };
-    version = "1.1.1";
+    version = "1.1.3";
   };
   google-api-client = {
     dependencies = ["addressable" "googleauth" "httpclient" "mime-types" "representable" "retriable"];
@@ -294,10 +302,18 @@
   nanaimo = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0z6rbji02x75vm5jw4hbpp75khp4z5yfgbaz1h9l8aa00hqf0fxd";
+      sha256 = "03x5f7hk0s21hlkj309w0qipjxz34kyd3c5yj25zq3s2yyn57idi";
       type = "gem";
     };
-    version = "0.2.3";
+    version = "0.2.5";
+  };
+  naturally = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0avn8b2qbfm22afln2p7rky73zns8c444mdhdh4ki8hbjsn0f8cx";
+      type = "gem";
+    };
+    version = "2.1.0";
   };
   os = {
     source = {
@@ -373,6 +389,15 @@
     };
     version = "0.8.1";
   };
+  simctl = {
+    dependencies = ["CFPropertyList" "naturally"];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0l1hwxkbpgfhla6dbf0f6nhj794c0k6ilxlh07zcm8by3vdrsvib";
+      type = "gem";
+    };
+    version = "1.6.3";
+  };
   slack-notifier = {
     source = {
       remotes = ["https://rubygems.org"];
@@ -443,10 +468,10 @@
   unf_ext = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "14hr2dzqh33kqc0xchs8l05pf3kjcayvad4z1ip5rdjxrkfk8glb";
+      sha256 = "06p1i6qhy34bpb8q8ms88y6f2kz86azwm098yvcc0nyqk9y729j1";
       type = "gem";
     };
-    version = "0.0.7.4";
+    version = "0.0.7.5";
   };
   unicode-display_width = {
     source = {
@@ -468,10 +493,10 @@
     dependencies = ["CFPropertyList" "atomos" "claide" "colored2" "nanaimo"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0zqx24qhax7p91rs1114da0v86cy9m7an1bjwxq6dyccp8g6kb50";
+      sha256 = "16743g16mrh47f1lxkbw28xn9mmlf1r0zicin4malalsxxkc7ykz";
       type = "gem";
     };
-    version = "1.5.6";
+    version = "1.5.7";
   };
   xcpretty = {
     dependencies = ["rouge"];
diff --git a/pkgs/tools/admin/google-cloud-sdk/default.nix b/pkgs/tools/admin/google-cloud-sdk/default.nix
index d6425ede4f4..b109a835635 100644
--- a/pkgs/tools/admin/google-cloud-sdk/default.nix
+++ b/pkgs/tools/admin/google-cloud-sdk/default.nix
@@ -17,25 +17,20 @@ let
 
   baseUrl = "https://dl.google.com/dl/cloudsdk/channels/rapid/downloads";
   sources = name: system: {
-    i686-linux = {
-      url = "${baseUrl}/${name}-linux-x86.tar.gz";
-      sha256 = "0fq8zw1a5c0mnmw6f7j9j80y6kq0f0v2wn1d7b8mfq8ih5x53a85";
-    };
-
     x86_64-darwin = {
       url = "${baseUrl}/${name}-darwin-x86_64.tar.gz";
-      sha256 = "1h4m70fk3hri4lgm9lh2pm0v196nc2r3hpf42h3xx5k7sqklsns2";
+      sha256 = "0c4jj580f7z6phiw4zhd32dlf4inkrxy3cig6ng66fi4zi6vnpc9";
     };
 
     x86_64-linux = {
       url = "${baseUrl}/${name}-linux-x86_64.tar.gz";
-      sha256 = "1ynvllxzjr3y4qflw06njj7qqcf7539mbp06rs03i8hargsgbamx";
+      sha256 = "0rblb0akwdzr5i8al0dcz482xmx1xdnjnzgqywjvwd8fzdyzq7bp";
     };
   }.${system};
 
 in stdenv.mkDerivation rec {
   name = "google-cloud-sdk-${version}";
-  version = "184.0.0";
+  version = "190.0.1";
 
   src = fetchurl (sources name stdenv.system);
 
@@ -64,7 +59,7 @@ in stdenv.mkDerivation rec {
         mkdir -p $out/bin
         ln -s $programPath $binaryPath
     done
-    
+
     # disable component updater and update check
     substituteInPlace $out/google-cloud-sdk/lib/googlecloudsdk/core/config.json \
       --replace "\"disable_updater\": false" "\"disable_updater\": true"
@@ -88,6 +83,6 @@ in stdenv.mkDerivation rec {
     license = licenses.free;
     homepage = "https://cloud.google.com/sdk/";
     maintainers = with maintainers; [ stephenmw zimbatm ];
-    platforms = [ "i686-linux" "x86_64-linux" "x86_64-darwin" ];
+    platforms = [ "x86_64-linux" "x86_64-darwin" ];
   };
 }
diff --git a/pkgs/tools/admin/iamy/default.nix b/pkgs/tools/admin/iamy/default.nix
new file mode 100644
index 00000000000..cfe336a7e83
--- /dev/null
+++ b/pkgs/tools/admin/iamy/default.nix
@@ -0,0 +1,22 @@
+{ stdenv, buildGoPackage, fetchFromGitHub }:
+
+buildGoPackage rec {
+  name = "iamy-${version}";
+  version = "2.1.1";
+
+  goPackagePath = "github.com/99designs/iamy";
+
+  src = fetchFromGitHub {
+    owner = "99designs";
+    repo = "iamy";
+    rev = "v${version}";
+    sha256 = "0b55hxcvgil8rl6zh2kyndfi7s5nzclawjb0sby14wpys3v08bjf";
+  };
+
+  meta = with stdenv.lib; {
+    description = "A cli tool for importing and exporting AWS IAM configuration to YAML files";
+    homepage = https://github.com/99designs/iamy;
+    license = licenses.mit;
+    maintainers = with maintainers; [ suvash ];
+  };
+}
diff --git a/pkgs/tools/admin/lxd/default.nix b/pkgs/tools/admin/lxd/default.nix
index 64ec5e9b418..cfbb90fdc30 100644
--- a/pkgs/tools/admin/lxd/default.nix
+++ b/pkgs/tools/admin/lxd/default.nix
@@ -1,23 +1,37 @@
-{ stdenv, lib, pkgconfig, lxc, buildGoPackage, fetchFromGitHub }:
+{ stdenv, lib, pkgconfig, lxc, buildGoPackage, fetchurl
+, makeWrapper, acl, rsync, gnutar, xz, btrfs-progs, gzip, dnsmasq, squashfsTools, iproute, iptables
+}:
 
 buildGoPackage rec {
-  name = "lxd-${version}";
-  version = "2.16";
-  rev = "lxd-${version}";
+  name = "lxd-3.0.0";
 
   goPackagePath = "github.com/lxc/lxd";
 
-  src = fetchFromGitHub {
-    inherit rev;
-    owner = "lxc";
-    repo = "lxd";
-    sha256 = "0i2mq9m8k9kznwz1i0xb48plp1ffpzvbdrvqvagis4sm17yab3fn";
+  src = fetchurl {
+    url = "https://github.com/lxc/lxd/releases/download/${name}/${name}.tar.gz";
+    sha256 = "0m5prdf9sk8k5bws1zva4n9ycggmy76wnjr6wb423066pszz24ww";
   };
 
-  goDeps = ./deps.nix;
+  preBuild = ''
+    # unpack vendor
+    pushd go/src/github.com/lxc/lxd
+    rm dist/src/github.com/lxc/lxd
+    cp -r dist/src/* ../../..
+    rm -r dist
+    popd
+  '';
 
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ lxc ];
+  postInstall = ''
+    # binaries from test/
+    rm $bin/bin/{deps,macaroon-identity}
+
+    wrapProgram $bin/bin/lxd --prefix PATH ":" ${stdenv.lib.makeBinPath [
+      acl rsync gnutar xz btrfs-progs gzip dnsmasq squashfsTools iproute iptables
+    ]}
+  '';
+
+  nativeBuildInputs = [ pkgconfig makeWrapper ];
+  buildInputs = [ lxc acl ];
 
   meta = with stdenv.lib; {
     description = "Daemon based on liblxc offering a REST API to manage containers";
diff --git a/pkgs/tools/admin/lxd/deps.nix b/pkgs/tools/admin/lxd/deps.nix
deleted file mode 100644
index e0f591a23d1..00000000000
--- a/pkgs/tools/admin/lxd/deps.nix
+++ /dev/null
@@ -1,165 +0,0 @@
-# This file was generated by https://github.com/kamilchm/go2nix v1.2.0
-[
-  {
-    goPackagePath = "github.com/dustinkirkland/golang-petname";
-    fetch = {
-      type = "git";
-      url = "https://github.com/dustinkirkland/golang-petname";
-      rev = "4f77bdee0b67a08d17afadc0d5a4a3d1cb7d8d14";
-      sha256 = "1cizm3xywsp9vc381k02dhjq5a6c772wc05w60m4gfdmp2kmd4di";
-    };
-  }
-  {
-    goPackagePath = "github.com/golang/protobuf";
-    fetch = {
-      type = "git";
-      url = "https://github.com/golang/protobuf";
-      rev = "2bba0603135d7d7f5cb73b2125beeda19c09f4ef";
-      sha256 = "1xy0bj66qks2xlzxzlfma16w7m8g6rrwawmlhlv68bcw2k5hvvib";
-    };
-  }
-  {
-    goPackagePath = "github.com/gorilla/mux";
-    fetch = {
-      type = "git";
-      url = "https://github.com/gorilla/mux";
-      rev = "599cba5e7b6137d46ddf58fb1765f5d928e69604";
-      sha256 = "0wd6jjii1kg5s0nk3ri6gqriz6hbd6bbcn6x4jf8n7ncrb8qsxyz";
-    };
-  }
-  {
-    goPackagePath = "github.com/gorilla/websocket";
-    fetch = {
-      type = "git";
-      url = "https://github.com/gorilla/websocket";
-      rev = "a91eba7f97777409bc2c443f5534d41dd20c5720";
-      sha256 = "13cg6wwkk2ddqbm0nh9fpx4mq7f6qym12ch4lvs53n028ycdgw87";
-    };
-  }
-  {
-    goPackagePath = "github.com/mattn/go-colorable";
-    fetch = {
-      type = "git";
-      url = "https://github.com/mattn/go-colorable";
-      rev = "ded68f7a9561c023e790de24279db7ebf473ea80";
-      sha256 = "0q019h59jq815jfl9rgk4yrpkn5rpcx9s6dksdm48rp1abafwvfc";
-    };
-  }
-  {
-    goPackagePath = "github.com/mattn/go-sqlite3";
-    fetch = {
-      type = "git";
-      url = "https://github.com/mattn/go-sqlite3";
-      rev = "cf7286f069c3ef596efcc87781a4653a2e7607bd";
-      sha256 = "19ipf6bf1xd7w2fm8dnv5my4jp3lhwhlrhfwhwq559amp1h4nwyq";
-    };
-  }
-  {
-    goPackagePath = "github.com/pborman/uuid";
-    fetch = {
-      type = "git";
-      url = "https://github.com/pborman/uuid";
-      rev = "1b00554d822231195d1babd97ff4a781231955c9";
-      sha256 = "0rjkcf85sagdwzsycj1bbjyx5bgmrc1i8l5qf1f44z24rhbbkaan";
-    };
-  }
-  {
-    goPackagePath = "github.com/syndtr/gocapability";
-    fetch = {
-      type = "git";
-      url = "https://github.com/syndtr/gocapability";
-      rev = "e7cb7fa329f456b3855136a2642b197bad7366ba";
-      sha256 = "1i65kyjhbaya45zj9zqkb17plbqf92sfvl9fcz9s9qslg0qab2i1";
-    };
-  }
-  {
-    goPackagePath = "golang.org/x/crypto";
-    fetch = {
-      type = "git";
-      url = "https://go.googlesource.com/crypto";
-      rev = "3543873453996aaab2fc6b3928a35fc5ca2b5afb";
-      sha256 = "1d7pjqzh5893mzkz60bv5ypmr9zgyvb9z2gvcjrsqniwcqlhbk2c";
-    };
-  }
-  {
-    goPackagePath = "golang.org/x/net";
-    fetch = {
-      type = "git";
-      url = "https://go.googlesource.com/net";
-      rev = "da118f7b8e5954f39d0d2130ab35d4bf0e3cb344";
-      sha256 = "09xpndqc6a2r0lw42cyl1pkhfddl01sd9c3qqjjwp3vmxm004whv";
-    };
-  }
-  {
-    goPackagePath = "gopkg.in/flosch/pongo2.v3";
-    fetch = {
-      type = "git";
-      url = "https://gopkg.in/flosch/pongo2.v3";
-      rev = "5e81b817a0c48c1c57cdf1a9056cf76bdee02ca9";
-      sha256 = "0fd7d79644zmcirsb1gvhmh0l5vb5nyxmkzkvqpmzzcg6yfczph8";
-    };
-  }
-  {
-    goPackagePath = "gopkg.in/inconshreveable/log15.v2";
-    fetch = {
-      type = "git";
-      url = "https://gopkg.in/inconshreveable/log15.v2";
-      rev = "b105bd37f74e5d9dc7b6ad7806715c7a2b83fd3f";
-      sha256 = "18rldvi60i7b3lljfrsqgcc24gdkw2pcixxydznyggaqhh96l6a8";
-    };
-  }
-  {
-    goPackagePath = "gopkg.in/lxc/go-lxc.v2";
-    fetch = {
-      type = "git";
-      url = "https://gopkg.in/lxc/go-lxc.v2";
-      rev = "8304875cc3423823032ec93556beee076c6ba687";
-      sha256 = "12vrx9ilxkl1nxc5k81c6b2a1i715843r23fra681digdjnd8bpk";
-    };
-  }
-  {
-    goPackagePath = "gopkg.in/tomb.v2";
-    fetch = {
-      type = "git";
-      url = "https://gopkg.in/tomb.v2";
-      rev = "d5d1b5820637886def9eef33e03a27a9f166942c";
-      sha256 = "1sv15sri99szkdz1bkh0ir46w9n8prrwx5hfai13nrhkawfyfy10";
-    };
-  }
-  {
-    goPackagePath = "gopkg.in/yaml.v2";
-    fetch = {
-      type = "git";
-      url = "https://gopkg.in/yaml.v2";
-      rev = "cd8b52f8269e0feb286dfeef29f8fe4d5b397e0b";
-      sha256 = "1hj2ag9knxflpjibck0n90jrhsrqz7qvad4qnif7jddyapi9bqzl";
-    };
-  }
-  {
-      goPackagePath = "github.com/gosexy/gettext";
-      fetch = {
-        type = "git";
-        url = "https://github.com/gosexy/gettext";
-        rev = "74466a0a0c4a62fea38f44aa161d4bbfbe79dd6b";
-        sha256 = "0asphx8nd7zmp88wk6aakk5292np7yw73akvfdvlvs9q5r5ahkgi";
-      };
-  }
-  {
-      goPackagePath = "github.com/olekukonko/tablewriter";
-      fetch = {
-        type = "git";
-        url = "https://github.com/olekukonko/tablewriter";
-        rev = "febf2d34b54a69ce7530036c7503b1c9fbfdf0bb";
-        sha256 = "1ir7bs4m5rk8v9vpycjj7mn6sc6j9wvxkd63i9b6fmrdsx9q0x4g";
-      };
-  }
-  {
-      goPackagePath = "github.com/mattn/go-runewidth";
-      fetch = {
-        type = "git";
-        url = "https://github.com/mattn/go-runewidth";
-        rev = "14207d285c6c197daabb5c9793d63e7af9ab2d50";
-        sha256 = "0y6yq9zd4kh7fimnc00r3h9pr2pwa5j85b3jcn5dyfamsnm2xdsv";
-      };
-  }
-]
diff --git a/pkgs/tools/admin/nxproxy/default.nix b/pkgs/tools/admin/nxproxy/default.nix
index 608a9e5a65b..c39c378d221 100644
--- a/pkgs/tools/admin/nxproxy/default.nix
+++ b/pkgs/tools/admin/nxproxy/default.nix
@@ -1,19 +1,20 @@
-{ stdenv, fetchurl, autoreconfHook, libxcomp }:
+{ stdenv, fetchurl, autoreconfHook, pkgconfig, libxcomp }:
 
 stdenv.mkDerivation rec {
   name = "nxproxy-${version}";
-  version = "3.5.0.33";
+  version = "3.5.99.16";
 
   src = fetchurl {
-    sha256 = "17qjsd6v2ldpfmyjrkdnlq4qk05hz5l6qs54g8h0glzq43w28f74";
+    sha256 = "1m3z9w3h6qpgk265xf030w7lcs181jgw2cdyzshb7l97mn1f7hh2";
     url = "http://code.x2go.org/releases/source/nx-libs/nx-libs-${version}-lite.tar.gz";
   };
 
   buildInputs = [ libxcomp ];
-  nativeBuildInputs = [ autoreconfHook ];
+  nativeBuildInputs = [ autoreconfHook pkgconfig ];
 
   preAutoreconf = ''
     cd nxproxy/
+    sed -i 's|-L\$(top_srcdir)/../nxcomp/src/.libs ||' src/Makefile.am
   '';
 
   makeFlags = [ "exec_prefix=$(out)" ];
diff --git a/pkgs/tools/admin/salt/default.nix b/pkgs/tools/admin/salt/default.nix
index b5056460225..eaae8f40bfa 100644
--- a/pkgs/tools/admin/salt/default.nix
+++ b/pkgs/tools/admin/salt/default.nix
@@ -6,21 +6,31 @@
   extraInputs ? []
 }:
 
+let
+  # Use tornado-4.x until https://github.com/saltstack/salt/issues/45790 is resolved
+  tornado = python2Packages.tornado.overridePythonAttrs (oldAttrs: rec {
+    version = "4.5.3";
+    name = "${oldAttrs.pname}-${version}";
+    src = oldAttrs.src.override {
+      inherit version;
+      sha256 = "02jzd23l4r6fswmwxaica9ldlyc2p6q8dk6dyff7j58fmdzf853d";
+    };
+  });
+in
 python2Packages.buildPythonApplication rec {
   pname = "salt";
-  version = "2017.7.2";
-  name = "${pname}-${version}";
+  version = "2018.3.0";
 
   src = python2Packages.fetchPypi {
     inherit pname version;
-    sha256 = "0h18zwp1w90rgxpmqgrmn9wp31h03f0vak8lpnnbh0dzbbgcffzz";
+    sha256 = "0cbbnmaynnpfknmppzlz04mqw4d3d2ay1dqrli11b5pnzli5v950";
   };
 
   propagatedBuildInputs = with python2Packages; [
     futures
     jinja2
     markupsafe
-    msgpack
+    msgpack-python
     pycrypto
     pyyaml
     pyzmq
diff --git a/pkgs/tools/admin/simp_le/default.nix b/pkgs/tools/admin/simp_le/default.nix
index ce416e7cd25..47bf848578d 100644
--- a/pkgs/tools/admin/simp_le/default.nix
+++ b/pkgs/tools/admin/simp_le/default.nix
@@ -1,26 +1,33 @@
-{ stdenv, fetchFromGitHub, fetchpatch, pythonPackages }:
-
+{ stdenv, fetchFromGitHub, fetchpatch, pythonPackages, bash }:
+ 
 pythonPackages.buildPythonApplication rec {
   pname = "simp_le-client";
-  version = "0.6.1";
-  name = "${pname}-${version}";
+  version = "0.8.0";
 
   src = pythonPackages.fetchPypi {
     inherit pname version;
-    sha256 = "0x4fky9jizs3xi55cdy217cvm3ikpghiabysan71b07ackkdfj6k";
+    sha256 = "0nv9mm99rm8i9flgfgwvmajbsxb5rm162nfxlq3wk66bbbyr6y1i";
   };
 
+  postPatch = ''
+    # drop upper bound of acme requirement
+    sed -ri "s/'(acme>=[^,]+),<[^']+'/'\1'/" setup.py
+    substituteInPlace simp_le.py \
+      --replace "/bin/sh" "${bash}/bin/sh"
+  '';
+
   checkPhase = ''
     $out/bin/simp_le --test
   '';
 
-  propagatedBuildInputs = with pythonPackages; [ acme setuptools_scm ];
+  propagatedBuildInputs = with pythonPackages; [ acme setuptools_scm josepy ];
 
   meta = with stdenv.lib; {
     homepage = https://github.com/zenhack/simp_le;
     description = "Simple Let's Encrypt client";
     license = licenses.gpl3;
-    maintainers = with maintainers; [ gebner ];
+    maintainers = with maintainers; [ gebner makefu ];
     platforms = platforms.all;
   };
 }
+
diff --git a/pkgs/tools/archivers/dar/default.nix b/pkgs/tools/archivers/dar/default.nix
index d75b50bca1a..315ef727283 100644
--- a/pkgs/tools/archivers/dar/default.nix
+++ b/pkgs/tools/archivers/dar/default.nix
@@ -3,11 +3,12 @@
 with stdenv.lib;
 
 stdenv.mkDerivation rec {
-  name = "dar-2.5.9";
+  version = "2.5.14";
+  name = "dar-${version}";
 
   src = fetchurl {
-    url = "mirror://sourceforge/dar/${name}.tar.gz";
-    sha256 = "0bm91d82amh5h2sla2ngbpxd0l64alcdjhxz35bhj3cpz9562wv9";
+    url = "mirror://sourceforge/dar/${name}-bis.tar.gz";
+    sha256 = "1sbd7n5mfqkwxy5rz2v8575y21j94ypwrpinizr3l2yy9pq49rx5";
   };
 
   buildInputs = [ zlib bzip2 openssl lzo libgcrypt gpgme xz ]
diff --git a/pkgs/tools/archivers/gnutar/default.nix b/pkgs/tools/archivers/gnutar/default.nix
index 4677ee45afb..7532cd899cc 100644
--- a/pkgs/tools/archivers/gnutar/default.nix
+++ b/pkgs/tools/archivers/gnutar/default.nix
@@ -36,6 +36,9 @@ stdenv.mkDerivation rec {
     sed -i gnu/fpending.h -e 's,include <stdio_ext.h>,,'
   '' else null;
 
+  doCheck = false; # fails
+  doInstallCheck = false; # fails
+
   meta = {
     homepage = http://www.gnu.org/software/tar/;
     description = "GNU implementation of the `tar' archiver";
diff --git a/pkgs/tools/archivers/innoextract/default.nix b/pkgs/tools/archivers/innoextract/default.nix
index 0f6814d53c9..546e9a7aad9 100644
--- a/pkgs/tools/archivers/innoextract/default.nix
+++ b/pkgs/tools/archivers/innoextract/default.nix
@@ -1,4 +1,6 @@
-{stdenv, fetchurl, cmake, python, doxygen, lzma, boost}:
+{ stdenv, fetchurl, cmake, doxygen, makeWrapper, python
+, boost, lzma
+, withGog ? false, unar ? null }:
 
 stdenv.mkDerivation rec {
   name = "innoextract-1.6";
@@ -8,14 +10,23 @@ stdenv.mkDerivation rec {
     sha256 = "0gh3q643l8qlwla030cmf3qdcdr85ixjygkb7j4dbm7zbwa3yik6";
   };
 
-  buildInputs = [ python doxygen lzma boost ];
-  nativeBuildInputs = [ cmake ];
+  buildInputs = [ python lzma boost ];
+
+  nativeBuildInputs = [ cmake makeWrapper ];
+
+  enableParallelBuilding = true;
+
+  # we need unar to for multi-archive extraction
+  postFixup = stdenv.lib.optionalString withGog ''
+    wrapProgram $out/bin/innoextract \
+      --prefix PATH : ${stdenv.lib.makeBinPath [ unar ]}
+  '';
 
   meta = with stdenv.lib; {
     description = "A tool to unpack installers created by Inno Setup";
     homepage = http://constexpr.org/innoextract/;
-    platforms = platforms.linux;
     license = licenses.zlib;
     maintainers = with maintainers; [ abbradar ];
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/tools/archivers/unar/default.nix b/pkgs/tools/archivers/unar/default.nix
index 520742a1b3c..1104548f77f 100644
--- a/pkgs/tools/archivers/unar/default.nix
+++ b/pkgs/tools/archivers/unar/default.nix
@@ -1,8 +1,10 @@
 { stdenv, fetchurl, gnustep, unzip, bzip2, zlib, icu, openssl }:
 
-stdenv.mkDerivation rec {
-  name = "${pname}-${version}";
+let
   pname = "unar";
+
+in stdenv.mkDerivation rec {
+  name = "${pname}-${version}";
   version = "1.10.1";
 
   src = fetchurl {
@@ -10,23 +12,20 @@ stdenv.mkDerivation rec {
     sha256 = "0aq9zlar5vzr5qxphws8dm7ax60bsfsw77f4ciwa5dq5lla715j0";
   };
 
-  buildInputs = [
-    gnustep.make unzip gnustep.base bzip2.dev
-    zlib.dev icu.dev openssl.dev
-  ];
+  buildInputs = [ gnustep.base bzip2 icu openssl zlib ];
+
+  nativeBuildInputs = [ gnustep.make unzip ];
+
+  enableParallelBuilding = true;
 
   postPatch = ''
-    substituteInPlace Makefile.linux \
-      --replace "CC = gcc" "CC=cc" \
-      --replace "CXX = g++" "CXX=c++" \
-      --replace "OBJCC = gcc" "OBJCC=cc" \
-      --replace "OBJCXX = g++" "OBJCXX=c++"
-
-    substituteInPlace ../UniversalDetector/Makefile.linux \
-      --replace "CC = gcc" "CC=cc" \
-      --replace "CXX = g++" "CXX=c++" \
-      --replace "OBJCC = gcc" "OBJCC=c" \
-      --replace "OBJCXX = g++" "OBJCXX=c++"
+    for f in Makefile.linux ../UniversalDetector/Makefile.linux ; do
+      substituteInPlace $f \
+        --replace "CC = gcc"     "CC=cc" \
+        --replace "CXX = g++"    "CXX=c++" \
+        --replace "OBJCC = gcc"  "OBJCC=cc" \
+        --replace "OBJCXX = g++" "OBJCXX=c++"
+    done
   '';
 
   makefile = "Makefile.linux";
@@ -34,17 +33,16 @@ stdenv.mkDerivation rec {
   sourceRoot = "./The Unarchiver/XADMaster";
 
   installPhase = ''
-    mkdir -p $out/bin
-    cp lsar $out/bin
-    cp unar $out/bin
+    runHook preInstall
 
-    mkdir -p $out/share/man/man1
-    cp ../Extra/lsar.1 $out/share/man/man1
-    cp ../Extra/unar.1 $out/share/man/man1
+    install -Dm755 -t $out/bin lsar unar
+    install -Dm644 -t $out/share/man/man1 ../Extra/{lsar,unar}.1
 
     mkdir -p $out/etc/bash_completion.d
     cp ../Extra/lsar.bash_completion $out/etc/bash_completion.d/lsar
     cp ../Extra/unar.bash_completion $out/etc/bash_completion.d/unar
+
+    runHook postInstall
   '';
 
   meta = with stdenv.lib; {
@@ -55,7 +53,7 @@ stdenv.mkDerivation rec {
       zip, RAR, 7z, tar, gzip, bzip2, LZMA, XZ, CAB, MSI, NSIS, EXE, ISO, BIN, \
       and split file formats, as well as the old Stuffit, Stuffit X, DiskDouble, \
       Compact Pro, Packit, cpio, compress (.Z), ARJ, ARC, PAK, ACE, ZOO, LZH, \
-      ADF, DMS, LZX, PowerPacker, LBR, Squeeze, Crunch, and other old formats. 
+      ADF, DMS, LZX, PowerPacker, LBR, Squeeze, Crunch, and other old formats.
     '';
     license = with licenses; [ lgpl21Plus ];
     platforms = with platforms; linux;
diff --git a/pkgs/tools/archivers/unp/default.nix b/pkgs/tools/archivers/unp/default.nix
new file mode 100644
index 00000000000..7583663ebf0
--- /dev/null
+++ b/pkgs/tools/archivers/unp/default.nix
@@ -0,0 +1,39 @@
+{ stdenv, pkgs, lib, fetchurl, makeWrapper, perl, unrar, unzip, gzip, file, extraBackends ? [] }:
+
+stdenv.mkDerivation rec {
+  name = "unp-${version}";
+  version = "2.0-pre7";
+
+  runtime_bins =  [ file unrar unzip gzip ] ++ extraBackends;
+  buildInputs = [ perl makeWrapper ] ++ runtime_bins;
+
+  src = fetchurl {
+    # url = "http://http.debian.net/debian/pool/main/u/unp/unp_2.0~pre7+nmu1.tar.bz2";
+    url = "mirror://debian/pool/main/u/unp/unp_2.0~pre7+nmu1.tar.bz2";
+    sha256 = "09w2sy7ivmylxf8blf0ywxicvb4pbl0xhrlbb3i9x9d56ll6ybbw";
+    name = "unp_2.0_pre7+nmu1.tar.bz2";
+  };
+
+  configurePhase = "true";
+  buildPhase = "true";
+  installPhase = ''
+  mkdir -p $out/bin
+  mkdir -p $out/share/man
+  cp unp $out/bin/
+  cp ucat $out/bin/
+  cp debian/unp.1 $out/share/man
+
+  wrapProgram $out/bin/unp \
+    --prefix PATH : ${lib.makeBinPath runtime_bins}
+  wrapProgram $out/bin/ucat \
+    --prefix PATH : ${lib.makeBinPath runtime_bins}
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Command line tool for unpacking archives easily";
+    homepage = https://packages.qa.debian.org/u/unp.html;
+    license = with licenses; [ gpl2 ];
+    maintainers = [ maintainers.timor ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/tools/archivers/xarchiver/default.nix b/pkgs/tools/archivers/xarchiver/default.nix
index 189035a8c8b..d8c4175e776 100644
--- a/pkgs/tools/archivers/xarchiver/default.nix
+++ b/pkgs/tools/archivers/xarchiver/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, gtk3, pkgconfig, intltool, libxslt, hicolor-icon-theme }:
+{ stdenv, fetchFromGitHub, fetchpatch, gtk3, pkgconfig, intltool, libxslt, hicolor-icon-theme }:
 
 stdenv.mkDerivation rec {
   version = "0.5.4.12";
@@ -11,6 +11,14 @@ stdenv.mkDerivation rec {
     sha256 = "13d8slcx3frz0dhl1w4llj7001n57cjjb8r7dlaw5qacaas3xfwi";
   };
 
+  patches = [
+    # Fixes darwin build, remove with next update.
+    (fetchpatch {
+      url = https://github.com/ib/xarchiver/commit/8c69d066a827419feafd0bd047d19207ceadc7df.patch;
+      sha256 = "1ch1409hx1ynkm0mz93zy8h7wvcrsn56sz7lczsf6hznc8yzl0qg";
+    })
+  ];
+
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ gtk3 intltool libxslt hicolor-icon-theme ];
 
diff --git a/pkgs/tools/audio/abcm2ps/default.nix b/pkgs/tools/audio/abcm2ps/default.nix
index f93231d8022..6d782fdba35 100644
--- a/pkgs/tools/audio/abcm2ps/default.nix
+++ b/pkgs/tools/audio/abcm2ps/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "abcm2ps-${version}";
-  version = "8.13.20";
+  version = "8.13.21";
 
   src = fetchFromGitHub {
     owner = "leesavide";
     repo = "abcm2ps";
     rev = "v${version}";
-    sha256 = "0zgwrclky6b1l1pd07s31azyxf4clwi3cp5x0wjix0wp78b89pbx";
+    sha256 = "03r98xdw2vdwsi726i0zb7p0ljp3fpzjl1nhzfwz57m3zmqvz6r1";
   };
 
   prePatch = ''
diff --git a/pkgs/tools/audio/abcmidi/default.nix b/pkgs/tools/audio/abcmidi/default.nix
index 0aaf018cb22..a0e7b1f906c 100644
--- a/pkgs/tools/audio/abcmidi/default.nix
+++ b/pkgs/tools/audio/abcmidi/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "abcMIDI-${version}";
-  version = "2018.02.22";
+  version = "2018.05.02";
 
   src = fetchzip {
     url = "http://ifdo.ca/~seymour/runabc/${name}.zip";
-    sha256 = "03ln05012yhlq8aalm00af6pidb44phmmidlc953453isfllg82a";
+    sha256 = "0pva0kwkwdrq4mfgiz389dhaqv66csqjaddirzxmhvvi6qji5d24";
   };
 
   # There is also a file called "makefile" which seems to be preferred by the standard build phase
diff --git a/pkgs/tools/audio/aucdtect/default.nix b/pkgs/tools/audio/aucdtect/default.nix
index 244f7b40673..825e1a0cc07 100644
--- a/pkgs/tools/audio/aucdtect/default.nix
+++ b/pkgs/tools/audio/aucdtect/default.nix
@@ -1,7 +1,5 @@
 { stdenv, fetchurl, lib, rpmextract }:
 
-assert stdenv.isLinux;
-
 with lib;
 
 stdenv.mkDerivation rec {
diff --git a/pkgs/tools/audio/beets/default.nix b/pkgs/tools/audio/beets/default.nix
index b8f3318057b..b53a9b7eb0f 100644
--- a/pkgs/tools/audio/beets/default.nix
+++ b/pkgs/tools/audio/beets/default.nix
@@ -174,6 +174,11 @@ in pythonPackages.buildPythonApplication rec {
       test/test_replaygain.py
   '';
 
+  postInstall = ''
+    mkdir -p $out/share/zsh/site-functions
+    cp extra/_beet $out/share/zsh/site-functions/
+  '';
+
   doCheck = true;
 
   preCheck = ''
@@ -222,7 +227,7 @@ in pythonPackages.buildPythonApplication rec {
 
   meta = {
     description = "Music tagger and library organizer";
-    homepage = http://beets.radbox.org;
+    homepage = http://beets.io;
     license = licenses.mit;
     maintainers = with maintainers; [ aszlig domenkozar pjones ];
     platforms = platforms.linux;
diff --git a/pkgs/tools/audio/glyr/default.nix b/pkgs/tools/audio/glyr/default.nix
index e98667b8c04..23a33122c9f 100644
--- a/pkgs/tools/audio/glyr/default.nix
+++ b/pkgs/tools/audio/glyr/default.nix
@@ -15,16 +15,12 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ cmake pkgconfig ];
   buildInputs = [ sqlite glib curl ];
 
-  configurePhase = ''
-    cmake -DCMAKE_INSTALL_PREFIX=$out
-  '';
-
   meta = with stdenv.lib; {
     license = licenses.lgpl3;
     description = "A music related metadata searchengine";
     homepage = https://github.com/sahib/glyr;
     maintainers = [ maintainers.sternenseemann ];
-    platforms = platforms.linux; # TODO macOS would be possible
+    platforms = platforms.unix;
   };
 }
 
diff --git a/pkgs/tools/audio/playerctl/default.nix b/pkgs/tools/audio/playerctl/default.nix
index b04e449835d..b8f39a03083 100644
--- a/pkgs/tools/audio/playerctl/default.nix
+++ b/pkgs/tools/audio/playerctl/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   name = "playerctl-${version}";
-  version = "0.5.0";
+  version = "0.6.0";
 
   src = fetchFromGitHub {
     owner = "acrisci";
     repo = "playerctl";
     rev = "v${version}";
-    sha256 = "0b4pg5pwblgbf6kvvynzh9dshfikxy5c2ks7733n7wza5wkpgmng";
+    sha256 = "1sxy87syrfk485f2x556rl567j6rph4ss0xahf04bv26bzj3mqrp";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/tools/backup/backup/Gemfile b/pkgs/tools/backup/backup/Gemfile
deleted file mode 100644
index 2f1825b590e..00000000000
--- a/pkgs/tools/backup/backup/Gemfile
+++ /dev/null
@@ -1,23 +0,0 @@
-source "https://rubygems.org"
-
-gem 'backup'
-gem 'thor'
-gem 'open4'
-gem 'fog'
-gem 'unf' 
-gem 'dropbox-sdk', '= 1.5.1' # patched
-gem 'net-ssh'
-gem 'net-scp'
-gem 'net-sftp'
-gem 'mail', '= 2.5.4' # patched
-gem 'pagerduty'
-gem 'twitter'
-gem 'hipchat'
-gem 'flowdock'
-gem 'json'
-gem 'dogapi'
-gem 'aws-ses'
-gem 'rspec'
-gem 'fuubar'
-gem 'mocha'
-gem 'timecop'
diff --git a/pkgs/tools/backup/backup/Gemfile.lock b/pkgs/tools/backup/backup/Gemfile.lock
deleted file mode 100644
index 0725ded8add..00000000000
--- a/pkgs/tools/backup/backup/Gemfile.lock
+++ /dev/null
@@ -1,276 +0,0 @@
-GEM
-  remote: https://rubygems.org/
-  specs:
-    CFPropertyList (2.3.1)
-    addressable (2.3.5)
-    atomic (1.1.14)
-    aws-ses (0.5.0)
-      builder
-      mail (> 2.2.5)
-      mime-types
-      xml-simple
-    backup (4.2.2)
-      CFPropertyList (= 2.3.1)
-      addressable (= 2.3.5)
-      atomic (= 1.1.14)
-      aws-ses (= 0.5.0)
-      buftok (= 0.2.0)
-      builder (= 3.2.2)
-      descendants_tracker (= 0.0.3)
-      dogapi (= 1.11.0)
-      dropbox-sdk (= 1.5.1)
-      equalizer (= 0.0.9)
-      excon (= 0.44.4)
-      faraday (= 0.8.8)
-      fission (= 0.5.0)
-      flowdock (= 0.4.0)
-      fog (= 1.28.0)
-      fog-atmos (= 0.1.0)
-      fog-aws (= 0.1.1)
-      fog-brightbox (= 0.7.1)
-      fog-core (= 1.29.0)
-      fog-ecloud (= 0.0.2)
-      fog-json (= 1.0.0)
-      fog-profitbricks (= 0.0.2)
-      fog-radosgw (= 0.0.3)
-      fog-riakcs (= 0.1.0)
-      fog-sakuracloud (= 1.0.0)
-      fog-serverlove (= 0.1.1)
-      fog-softlayer (= 0.4.1)
-      fog-storm_on_demand (= 0.1.0)
-      fog-terremark (= 0.0.4)
-      fog-vmfusion (= 0.0.1)
-      fog-voxel (= 0.0.2)
-      fog-xml (= 0.1.1)
-      formatador (= 0.2.5)
-      hipchat (= 1.0.1)
-      http (= 0.5.0)
-      http_parser.rb (= 0.6.0)
-      httparty (= 0.12.0)
-      inflecto (= 0.0.2)
-      ipaddress (= 0.8.0)
-      json (= 1.8.2)
-      mail (= 2.5.4)
-      memoizable (= 0.4.0)
-      mime-types (= 1.25.1)
-      mini_portile (= 0.6.2)
-      multi_json (= 1.10.1)
-      multi_xml (= 0.5.5)
-      multipart-post (= 1.2.0)
-      net-scp (= 1.2.1)
-      net-sftp (= 2.1.2)
-      net-ssh (= 2.9.2)
-      nokogiri (= 1.6.6.2)
-      open4 (= 1.3.0)
-      pagerduty (= 2.0.0)
-      polyglot (= 0.3.3)
-      simple_oauth (= 0.2.0)
-      thor (= 0.18.1)
-      thread_safe (= 0.1.3)
-      treetop (= 1.4.15)
-      twitter (= 5.5.0)
-      unf (= 0.1.3)
-      unf_ext (= 0.0.6)
-      xml-simple (= 1.1.4)
-    buftok (0.2.0)
-    builder (3.2.2)
-    descendants_tracker (0.0.3)
-    diff-lcs (1.2.5)
-    dogapi (1.11.0)
-      json (>= 1.5.1)
-    dropbox-sdk (1.5.1)
-      json
-    equalizer (0.0.9)
-    excon (0.44.4)
-    faraday (0.8.8)
-      multipart-post (~> 1.2.0)
-    fission (0.5.0)
-      CFPropertyList (~> 2.2)
-    flowdock (0.4.0)
-      httparty (~> 0.7)
-      multi_json
-    fog (1.28.0)
-      fog-atmos
-      fog-aws (~> 0.0)
-      fog-brightbox (~> 0.4)
-      fog-core (~> 1.27, >= 1.27.3)
-      fog-ecloud
-      fog-json
-      fog-profitbricks
-      fog-radosgw (>= 0.0.2)
-      fog-riakcs
-      fog-sakuracloud (>= 0.0.4)
-      fog-serverlove
-      fog-softlayer
-      fog-storm_on_demand
-      fog-terremark
-      fog-vmfusion
-      fog-voxel
-      fog-xml (~> 0.1.1)
-      ipaddress (~> 0.5)
-      nokogiri (~> 1.5, >= 1.5.11)
-    fog-atmos (0.1.0)
-      fog-core
-      fog-xml
-    fog-aws (0.1.1)
-      fog-core (~> 1.27)
-      fog-json (~> 1.0)
-      fog-xml (~> 0.1)
-      ipaddress (~> 0.8)
-    fog-brightbox (0.7.1)
-      fog-core (~> 1.22)
-      fog-json
-      inflecto (~> 0.0.2)
-    fog-core (1.29.0)
-      builder
-      excon (~> 0.38)
-      formatador (~> 0.2)
-      mime-types
-      net-scp (~> 1.1)
-      net-ssh (>= 2.1.3)
-    fog-ecloud (0.0.2)
-      fog-core
-      fog-xml
-    fog-json (1.0.0)
-      multi_json (~> 1.0)
-    fog-profitbricks (0.0.2)
-      fog-core
-      fog-xml
-      nokogiri
-    fog-radosgw (0.0.3)
-      fog-core (>= 1.21.0)
-      fog-json
-      fog-xml (>= 0.0.1)
-    fog-riakcs (0.1.0)
-      fog-core
-      fog-json
-      fog-xml
-    fog-sakuracloud (1.0.0)
-      fog-core
-      fog-json
-    fog-serverlove (0.1.1)
-      fog-core
-      fog-json
-    fog-softlayer (0.4.1)
-      fog-core
-      fog-json
-    fog-storm_on_demand (0.1.0)
-      fog-core
-      fog-json
-    fog-terremark (0.0.4)
-      fog-core
-      fog-xml
-    fog-vmfusion (0.0.1)
-      fission
-      fog-core
-    fog-voxel (0.0.2)
-      fog-core
-      fog-xml
-    fog-xml (0.1.1)
-      fog-core
-      nokogiri (~> 1.5, >= 1.5.11)
-    formatador (0.2.5)
-    fuubar (2.0.0)
-      rspec (~> 3.0)
-      ruby-progressbar (~> 1.4)
-    hipchat (1.0.1)
-      httparty
-    http (0.5.0)
-      http_parser.rb
-    http_parser.rb (0.6.0)
-    httparty (0.12.0)
-      json (~> 1.8)
-      multi_xml (>= 0.5.2)
-    inflecto (0.0.2)
-    ipaddress (0.8.0)
-    json (1.8.2)
-    mail (2.5.4)
-      mime-types (~> 1.16)
-      treetop (~> 1.4.8)
-    memoizable (0.4.0)
-      thread_safe (~> 0.1.3)
-    metaclass (0.0.4)
-    mime-types (1.25.1)
-    mini_portile (0.6.2)
-    mocha (1.1.0)
-      metaclass (~> 0.0.1)
-    multi_json (1.10.1)
-    multi_xml (0.5.5)
-    multipart-post (1.2.0)
-    net-scp (1.2.1)
-      net-ssh (>= 2.6.5)
-    net-sftp (2.1.2)
-      net-ssh (>= 2.6.5)
-    net-ssh (2.9.2)
-    nokogiri (1.6.6.2)
-      mini_portile (~> 0.6.0)
-    open4 (1.3.0)
-    pagerduty (2.0.0)
-      json (>= 1.7.7)
-    polyglot (0.3.3)
-    rspec (3.4.0)
-      rspec-core (~> 3.4.0)
-      rspec-expectations (~> 3.4.0)
-      rspec-mocks (~> 3.4.0)
-    rspec-core (3.4.1)
-      rspec-support (~> 3.4.0)
-    rspec-expectations (3.4.0)
-      diff-lcs (>= 1.2.0, < 2.0)
-      rspec-support (~> 3.4.0)
-    rspec-mocks (3.4.0)
-      diff-lcs (>= 1.2.0, < 2.0)
-      rspec-support (~> 3.4.0)
-    rspec-support (3.4.1)
-    ruby-progressbar (1.7.5)
-    simple_oauth (0.2.0)
-    thor (0.18.1)
-    thread_safe (0.1.3)
-      atomic
-    timecop (0.8.0)
-    treetop (1.4.15)
-      polyglot
-      polyglot (>= 0.3.1)
-    twitter (5.5.0)
-      addressable (~> 2.3)
-      buftok (~> 0.2.0)
-      descendants_tracker (~> 0.0.3)
-      equalizer (~> 0.0.9)
-      faraday (>= 0.8, < 0.10)
-      http (~> 0.5.0)
-      http_parser.rb (~> 0.6.0)
-      json (~> 1.8)
-      memoizable (~> 0.4.0)
-      simple_oauth (~> 0.2.0)
-    unf (0.1.3)
-      unf_ext
-    unf_ext (0.0.6)
-    xml-simple (1.1.4)
-
-PLATFORMS
-  ruby
-
-DEPENDENCIES
-  aws-ses
-  backup
-  dogapi
-  dropbox-sdk (= 1.5.1)
-  flowdock
-  fog
-  fuubar
-  hipchat
-  json
-  mail (= 2.5.4)
-  mocha
-  net-scp
-  net-sftp
-  net-ssh
-  open4
-  pagerduty
-  rspec
-  thor
-  timecop
-  twitter
-  unf
-
-BUNDLED WITH
-   1.10.6
diff --git a/pkgs/tools/backup/backup/default.nix b/pkgs/tools/backup/backup/default.nix
deleted file mode 100644
index 23affbb8af6..00000000000
--- a/pkgs/tools/backup/backup/default.nix
+++ /dev/null
@@ -1,19 +0,0 @@
-{ stdenv, lib, bundlerEnv, ruby, curl }:
-
-bundlerEnv {
-  name = "backup_v4";
-
-  inherit ruby;
-  gemdir = ./.;
-
-  buildInputs = [ curl ];
-
-  meta = with lib; {
-    broken = true; # need ruby 2.1
-    description = "Easy full stack backup operations on UNIX-like systems";
-    homepage    = http://backup.github.io/backup/v4/;
-    license     = licenses.mit;
-    maintainers = [ maintainers.mrVanDalo ];
-    platforms   = platforms.unix;
-  };
-}
diff --git a/pkgs/tools/backup/backup/gemset.nix b/pkgs/tools/backup/backup/gemset.nix
deleted file mode 100644
index e2de995996e..00000000000
--- a/pkgs/tools/backup/backup/gemset.nix
+++ /dev/null
@@ -1,778 +0,0 @@
-{
-  "CFPropertyList" = {
-    version = "2.3.1";
-    source = {
-      type = "gem";
-      sha256 = "1wnk3gxnhfafbhgp0ic7qhzlx3lhv04v8nws2s31ii5s8135hs6k";
-    };
-  };
-  "addressable" = {
-    version = "2.3.5";
-    source = {
-      type = "gem";
-      sha256 = "11hv69v6h39j7m4v51a4p7my7xwjbhxbsg3y7ja156z7by10wkg7";
-    };
-  };
-  "atomic" = {
-    version = "1.1.14";
-    source = {
-      type = "gem";
-      sha256 = "09dzi1gxr5yj273s6s6ss7l2sq4ayavpg95561kib3n4kzvxrhk4";
-    };
-  };
-  "aws-ses" = {
-    version = "0.5.0";
-    source = {
-      type = "gem";
-      sha256 = "1kpfcdnakngypgkzn1f8cl8p4jg1rvmx3ag4ggcl0c7gs91ki8k3";
-    };
-    dependencies = [
-      "builder"
-      "mail"
-      "mime-types"
-      "xml-simple"
-    ];
-  };
-  "backup" = {
-    version = "4.2.2";
-    source = {
-      type = "gem";
-      sha256 = "0fj5jq6s1kpgp4bl1sr7qw1dgyc9zk0afh6mrfgbscg82irfxi1p";
-    };
-    dependencies = [
-      "CFPropertyList"
-      "addressable"
-      "atomic"
-      "aws-ses"
-      "buftok"
-      "builder"
-      "descendants_tracker"
-      "dogapi"
-      "dropbox-sdk"
-      "equalizer"
-      "excon"
-      "faraday"
-      "fission"
-      "flowdock"
-      "fog"
-      "fog-atmos"
-      "fog-aws"
-      "fog-brightbox"
-      "fog-core"
-      "fog-ecloud"
-      "fog-json"
-      "fog-profitbricks"
-      "fog-radosgw"
-      "fog-riakcs"
-      "fog-sakuracloud"
-      "fog-serverlove"
-      "fog-softlayer"
-      "fog-storm_on_demand"
-      "fog-terremark"
-      "fog-vmfusion"
-      "fog-voxel"
-      "fog-xml"
-      "formatador"
-      "hipchat"
-      "http"
-      "http_parser.rb"
-      "httparty"
-      "inflecto"
-      "ipaddress"
-      "json"
-      "mail"
-      "memoizable"
-      "mime-types"
-      "mini_portile"
-      "multi_json"
-      "multi_xml"
-      "multipart-post"
-      "net-scp"
-      "net-sftp"
-      "net-ssh"
-      "nokogiri"
-      "open4"
-      "pagerduty"
-      "polyglot"
-      "simple_oauth"
-      "thor"
-      "thread_safe"
-      "treetop"
-      "twitter"
-      "unf"
-      "unf_ext"
-      "xml-simple"
-    ];
-  };
-  "buftok" = {
-    version = "0.2.0";
-    source = {
-      type = "gem";
-      sha256 = "1rzsy1vy50v55x9z0nivf23y0r9jkmq6i130xa75pq9i8qrn1mxs";
-    };
-  };
-  "builder" = {
-    version = "3.2.2";
-    source = {
-      type = "gem";
-      sha256 = "14fii7ab8qszrvsvhz6z2z3i4dw0h41a62fjr2h1j8m41vbrmyv2";
-    };
-  };
-  "descendants_tracker" = {
-    version = "0.0.3";
-    source = {
-      type = "gem";
-      sha256 = "0819j80k85j62qjg90v8z8s3h4nf3v6afxxz73hl6iqxr2dhgmq1";
-    };
-  };
-  "diff-lcs" = {
-    version = "1.2.5";
-    source = {
-      type = "gem";
-      sha256 = "1vf9civd41bnqi6brr5d9jifdw73j9khc6fkhfl1f8r9cpkdvlx1";
-    };
-  };
-  "dogapi" = {
-    version = "1.11.0";
-    source = {
-      type = "gem";
-      sha256 = "01v5jphxbqdn8h0pifgl97igcincd1pjwd177a80ig9fpwndd19d";
-    };
-    dependencies = [
-      "json"
-    ];
-  };
-  "dropbox-sdk" = {
-    version = "1.5.1";
-    source = {
-      type = "gem";
-      sha256 = "1zrzxzjfgwkdnn5vjvkhhjh10azyy28982hpkw5xv0kwrqg07axj";
-    };
-    dependencies = [
-      "json"
-    ];
-  };
-  "equalizer" = {
-    version = "0.0.9";
-    source = {
-      type = "gem";
-      sha256 = "1i6vfh2lzyrvvm35qa9cf3xh2gxj941x0v78pp0c7bwji3f5hawr";
-    };
-  };
-  "excon" = {
-    version = "0.44.4";
-    source = {
-      type = "gem";
-      sha256 = "062ynrdazix4w1lz6n8qgm3dasi2837sfn88ma96pbp4sk11gbp5";
-    };
-  };
-  "faraday" = {
-    version = "0.8.8";
-    source = {
-      type = "gem";
-      sha256 = "1cnyj5japrnv6wvl01la5amf7hikckfznh8234ad21n730b2wci4";
-    };
-    dependencies = [
-      "multipart-post"
-    ];
-  };
-  "fission" = {
-    version = "0.5.0";
-    source = {
-      type = "gem";
-      sha256 = "09pmp1j1rr8r3pcmbn2na2ls7s1j9ijbxj99xi3a8r6v5xhjdjzh";
-    };
-    dependencies = [
-      "CFPropertyList"
-    ];
-  };
-  "flowdock" = {
-    version = "0.4.0";
-    source = {
-      type = "gem";
-      sha256 = "1myza5n6wqk550ky3ld4np89cd491prndqy0l1fqsddxpap6pp60";
-    };
-    dependencies = [
-      "httparty"
-      "multi_json"
-    ];
-  };
-  "fog" = {
-    version = "1.28.0";
-    source = {
-      type = "gem";
-      sha256 = "12b03r77vdicbsc7j6by2gysm16wij32z65qp6bkrxkfba9yb37h";
-    };
-    dependencies = [
-      "fog-atmos"
-      "fog-aws"
-      "fog-brightbox"
-      "fog-core"
-      "fog-ecloud"
-      "fog-json"
-      "fog-profitbricks"
-      "fog-radosgw"
-      "fog-riakcs"
-      "fog-sakuracloud"
-      "fog-serverlove"
-      "fog-softlayer"
-      "fog-storm_on_demand"
-      "fog-terremark"
-      "fog-vmfusion"
-      "fog-voxel"
-      "fog-xml"
-      "ipaddress"
-      "nokogiri"
-    ];
-  };
-  "fog-atmos" = {
-    version = "0.1.0";
-    source = {
-      type = "gem";
-      sha256 = "1aaxgnw9zy96gsh4h73kszypc32sx497s6bslvhfqh32q9d1y8c9";
-    };
-    dependencies = [
-      "fog-core"
-      "fog-xml"
-    ];
-  };
-  "fog-aws" = {
-    version = "0.1.1";
-    source = {
-      type = "gem";
-      sha256 = "17a3sspf81bgvkrrrmwx7aci7fjy1m7b3w61ljc2mpqbafz80v7i";
-    };
-    dependencies = [
-      "fog-core"
-      "fog-json"
-      "fog-xml"
-      "ipaddress"
-    ];
-  };
-  "fog-brightbox" = {
-    version = "0.7.1";
-    source = {
-      type = "gem";
-      sha256 = "1cpa92q2ls51gidxzn407x53f010k0hmrl94ipw7rdzdapp8c4cn";
-    };
-    dependencies = [
-      "fog-core"
-      "fog-json"
-      "inflecto"
-    ];
-  };
-  "fog-core" = {
-    version = "1.29.0";
-    source = {
-      type = "gem";
-      sha256 = "0ayv9j3i7jy2d1l4gw6sfchgb8l62590a6fpvpr7qvdjc79mvm3p";
-    };
-    dependencies = [
-      "builder"
-      "excon"
-      "formatador"
-      "mime-types"
-      "net-scp"
-      "net-ssh"
-    ];
-  };
-  "fog-ecloud" = {
-    version = "0.0.2";
-    source = {
-      type = "gem";
-      sha256 = "0lhxjp6gi48zanqmkblyhxjp0lknl1akifgfk5lq3j3vj2d3pnr8";
-    };
-    dependencies = [
-      "fog-core"
-      "fog-xml"
-    ];
-  };
-  "fog-json" = {
-    version = "1.0.0";
-    source = {
-      type = "gem";
-      sha256 = "1517sm8bl0bmaw2fbaf5ra6midq3wzgkpm55lb9rw6jm5ys23lyw";
-    };
-    dependencies = [
-      "multi_json"
-    ];
-  };
-  "fog-profitbricks" = {
-    version = "0.0.2";
-    source = {
-      type = "gem";
-      sha256 = "0hk290cw99qx727sxfhxlmczv9kv15hlnrflh00wfprqxk4r8rd4";
-    };
-    dependencies = [
-      "fog-core"
-      "fog-xml"
-      "nokogiri"
-    ];
-  };
-  "fog-radosgw" = {
-    version = "0.0.3";
-    source = {
-      type = "gem";
-      sha256 = "1fbpi0sfff5f5hrn4f7ish260cykzcqvzwmvm61i6mprfrfnx10r";
-    };
-    dependencies = [
-      "fog-core"
-      "fog-json"
-      "fog-xml"
-    ];
-  };
-  "fog-riakcs" = {
-    version = "0.1.0";
-    source = {
-      type = "gem";
-      sha256 = "1nbxc4dky3agfwrmgm1aqmi59p6vnvfnfbhhg7xpg4c2cf41whxm";
-    };
-    dependencies = [
-      "fog-core"
-      "fog-json"
-      "fog-xml"
-    ];
-  };
-  "fog-sakuracloud" = {
-    version = "1.0.0";
-    source = {
-      type = "gem";
-      sha256 = "1805m44x2pclhjyvdrpj6zg8l9dldgnc20h0g61r7hqxpydz066x";
-    };
-    dependencies = [
-      "fog-core"
-      "fog-json"
-    ];
-  };
-  "fog-serverlove" = {
-    version = "0.1.1";
-    source = {
-      type = "gem";
-      sha256 = "094plkkr6xiss8k85fp66g7z544kxgfx1ck0f3sqndk27miw26jk";
-    };
-    dependencies = [
-      "fog-core"
-      "fog-json"
-    ];
-  };
-  "fog-softlayer" = {
-    version = "0.4.1";
-    source = {
-      type = "gem";
-      sha256 = "1cf6y6xxjjpjglz31kf6jmmyh687x7sxhn4bx3hlr1nb1hcy19sq";
-    };
-    dependencies = [
-      "fog-core"
-      "fog-json"
-    ];
-  };
-  "fog-storm_on_demand" = {
-    version = "0.1.0";
-    source = {
-      type = "gem";
-      sha256 = "0rrfv37x9y07lvdd03pbappb8ybvqb6g8rxzwvgy3mmbmbc6l6d2";
-    };
-    dependencies = [
-      "fog-core"
-      "fog-json"
-    ];
-  };
-  "fog-terremark" = {
-    version = "0.0.4";
-    source = {
-      type = "gem";
-      sha256 = "0bxznlc904zaw3qaxhkvhqqbrv9n6nf5idih8ra9dihvacifwhvc";
-    };
-    dependencies = [
-      "fog-core"
-      "fog-xml"
-    ];
-  };
-  "fog-vmfusion" = {
-    version = "0.0.1";
-    source = {
-      type = "gem";
-      sha256 = "0x1vxc4a627g7ambcprhxiqvywy64li90145r96b2ig9z23hmy7g";
-    };
-    dependencies = [
-      "fission"
-      "fog-core"
-    ];
-  };
-  "fog-voxel" = {
-    version = "0.0.2";
-    source = {
-      type = "gem";
-      sha256 = "0by7cs0c044b8dkcmcf3pjzydnrakj8pnbcxzhw8hwlgqr0jfqgn";
-    };
-    dependencies = [
-      "fog-core"
-      "fog-xml"
-    ];
-  };
-  "fog-xml" = {
-    version = "0.1.1";
-    source = {
-      type = "gem";
-      sha256 = "0kgxjwz0mzyp7bgj1ycl9jyfmzfqc1fjdz9sm57fgj5w31jfvxw5";
-    };
-    dependencies = [
-      "fog-core"
-      "nokogiri"
-    ];
-  };
-  "formatador" = {
-    version = "0.2.5";
-    source = {
-      type = "gem";
-      sha256 = "1gc26phrwlmlqrmz4bagq1wd5b7g64avpx0ghxr9xdxcvmlii0l0";
-    };
-  };
-  "fuubar" = {
-    version = "2.0.0";
-    source = {
-      type = "gem";
-      sha256 = "0xwqs24y8s73aayh39si17kccsmr0bjgmi6jrjyfp7gkjb6iyhpv";
-    };
-    dependencies = [
-      "rspec"
-      "ruby-progressbar"
-    ];
-  };
-  "hipchat" = {
-    version = "1.0.1";
-    source = {
-      type = "gem";
-      sha256 = "1khcb6cxrr1qn104rl87wq85anigykf45x7knxnyqfpwnbda2nh1";
-    };
-    dependencies = [
-      "httparty"
-    ];
-  };
-  "http" = {
-    version = "0.5.0";
-    source = {
-      type = "gem";
-      sha256 = "1vw10xxs0i7kn90lx3b2clfkm43nb59jjph902bafpsaarqsai8d";
-    };
-    dependencies = [
-      "http_parser.rb"
-    ];
-  };
-  "http_parser.rb" = {
-    version = "0.6.0";
-    source = {
-      type = "gem";
-      sha256 = "15nidriy0v5yqfjsgsra51wmknxci2n2grliz78sf9pga3n0l7gi";
-    };
-  };
-  "httparty" = {
-    version = "0.12.0";
-    source = {
-      type = "gem";
-      sha256 = "10y3znh7s1fx88lbnbsmyx5zri6jr1gi48zzzq89wir8q9zlp28c";
-    };
-    dependencies = [
-      "json"
-      "multi_xml"
-    ];
-  };
-  "inflecto" = {
-    version = "0.0.2";
-    source = {
-      type = "gem";
-      sha256 = "085l5axmvqw59mw5jg454a3m3gr67ckq9405a075isdsn7bm3sp4";
-    };
-  };
-  "ipaddress" = {
-    version = "0.8.0";
-    source = {
-      type = "gem";
-      sha256 = "0cwy4pyd9nl2y2apazp3hvi12gccj5a3ify8mi8k3knvxi5wk2ir";
-    };
-  };
-  "json" = {
-    version = "1.8.2";
-    source = {
-      type = "gem";
-      sha256 = "0zzvv25vjikavd3b1bp6lvbgj23vv9jvmnl4vpim8pv30z8p6vr5";
-    };
-  };
-  "mail" = {
-    version = "2.5.4";
-    source = {
-      type = "gem";
-      sha256 = "0z15ksb8blcppchv03g34844f7xgf36ckp484qjj2886ig1qara4";
-    };
-    dependencies = [
-      "mime-types"
-      "treetop"
-    ];
-  };
-  "memoizable" = {
-    version = "0.4.0";
-    source = {
-      type = "gem";
-      sha256 = "0xhg8c9qw4y35qp1k8kv20snnxk6rlyilx354n1d72r0y10s7qcr";
-    };
-    dependencies = [
-      "thread_safe"
-    ];
-  };
-  "metaclass" = {
-    version = "0.0.4";
-    source = {
-      type = "gem";
-      sha256 = "0hp99y2b1nh0nr8pc398n3f8lakgci6pkrg4bf2b2211j1f6hsc5";
-    };
-  };
-  "mime-types" = {
-    version = "1.25.1";
-    source = {
-      type = "gem";
-      sha256 = "0mhzsanmnzdshaba7gmsjwnv168r1yj8y0flzw88frw1cickrvw8";
-    };
-  };
-  "mini_portile" = {
-    version = "0.6.2";
-    source = {
-      type = "gem";
-      sha256 = "0h3xinmacscrnkczq44s6pnhrp4nqma7k056x5wv5xixvf2wsq2w";
-    };
-  };
-  "mocha" = {
-    version = "1.1.0";
-    source = {
-      type = "gem";
-      sha256 = "107nmnngbv8lq2g7hbjpn5kplb4v2c8gs9lxrg6vs8gdbddkilzi";
-    };
-    dependencies = [
-      "metaclass"
-    ];
-  };
-  "multi_json" = {
-    version = "1.10.1";
-    source = {
-      type = "gem";
-      sha256 = "1ll21dz01jjiplr846n1c8yzb45kj5hcixgb72rz0zg8fyc9g61c";
-    };
-  };
-  "multi_xml" = {
-    version = "0.5.5";
-    source = {
-      type = "gem";
-      sha256 = "0i8r7dsz4z79z3j023l8swan7qpbgxbwwz11g38y2vjqjk16v4q8";
-    };
-  };
-  "multipart-post" = {
-    version = "1.2.0";
-    source = {
-      type = "gem";
-      sha256 = "12p7lnmc52di1r4h73h6xrpppplzyyhani9p7wm8l4kgf1hnmwnc";
-    };
-  };
-  "net-scp" = {
-    version = "1.2.1";
-    source = {
-      type = "gem";
-      sha256 = "0b0jqrcsp4bbi4n4mzyf70cp2ysyp6x07j8k8cqgxnvb4i3a134j";
-    };
-    dependencies = [
-      "net-ssh"
-    ];
-  };
-  "net-sftp" = {
-    version = "2.1.2";
-    source = {
-      type = "gem";
-      sha256 = "04674g4n6mryjajlcd82af8g8k95la4b1bj712dh71hw1c9vhw1y";
-    };
-    dependencies = [
-      "net-ssh"
-    ];
-  };
-  "net-ssh" = {
-    version = "2.9.2";
-    source = {
-      type = "gem";
-      sha256 = "1p0bj41zrmw5lhnxlm1pqb55zfz9y4p9fkrr9a79nrdmzrk1ph8r";
-    };
-  };
-  "nokogiri" = {
-    version = "1.6.6.2";
-    source = {
-      type = "gem";
-      sha256 = "1j4qv32qjh67dcrc1yy1h8sqjnny8siyy4s44awla8d6jk361h30";
-    };
-    dependencies = [
-      "mini_portile"
-    ];
-  };
-  "open4" = {
-    version = "1.3.0";
-    source = {
-      type = "gem";
-      sha256 = "12jyp97p7pq29q1zmkdrhzvg5cg2x3hlfdbq6asnb9nqlkx6vhf2";
-    };
-  };
-  "pagerduty" = {
-    version = "2.0.0";
-    source = {
-      type = "gem";
-      sha256 = "1ads8bj2swm3gbhr6193ls83pnwsy39xyh3i8sw6rl8fxfdf717v";
-    };
-    dependencies = [
-      "json"
-    ];
-  };
-  "polyglot" = {
-    version = "0.3.3";
-    source = {
-      type = "gem";
-      sha256 = "082zmail2h3cxd9z1wnibhk6aj4sb1f3zzwra6kg9bp51kx2c00v";
-    };
-  };
-  "rspec" = {
-    version = "3.4.0";
-    source = {
-      type = "gem";
-      sha256 = "12axhz2nj2m0dy350lxym76m36m1hq48hc59mf00z9dajbpnj78s";
-    };
-    dependencies = [
-      "rspec-core"
-      "rspec-expectations"
-      "rspec-mocks"
-    ];
-  };
-  "rspec-core" = {
-    version = "3.4.1";
-    source = {
-      type = "gem";
-      sha256 = "0zl4fbrzl4gg2bn3fhv910q04sm2jvzdidmvd71gdgqwbzk0zngn";
-    };
-    dependencies = [
-      "rspec-support"
-    ];
-  };
-  "rspec-expectations" = {
-    version = "3.4.0";
-    source = {
-      type = "gem";
-      sha256 = "07pz570glwg87zpyagxxal0daa1jrnjkiksnn410s6846884fk8h";
-    };
-    dependencies = [
-      "diff-lcs"
-      "rspec-support"
-    ];
-  };
-  "rspec-mocks" = {
-    version = "3.4.0";
-    source = {
-      type = "gem";
-      sha256 = "0iw9qvpawj3cfcg3xipi1v4y11g9q4f5lvmzgksn6f0chf97sjy1";
-    };
-    dependencies = [
-      "diff-lcs"
-      "rspec-support"
-    ];
-  };
-  "rspec-support" = {
-    version = "3.4.1";
-    source = {
-      type = "gem";
-      sha256 = "0l6zzlf22hn3pcwnxswsjsiwhqjg7a8mhvm680k5vq98307bkikr";
-    };
-  };
-  "ruby-progressbar" = {
-    version = "1.7.5";
-    source = {
-      type = "gem";
-      sha256 = "0hynaavnqzld17qdx9r7hfw00y16ybldwq730zrqfszjwgi59ivi";
-    };
-  };
-  "simple_oauth" = {
-    version = "0.2.0";
-    source = {
-      type = "gem";
-      sha256 = "1vsjhxybif9r53jx4dhhwf80qjkg7gbwpfmskjqns223qrhwsxig";
-    };
-  };
-  "thor" = {
-    version = "0.18.1";
-    source = {
-      type = "gem";
-      sha256 = "0d1g37j6sc7fkidf8rqlm3wh9zgyg3g7y8h2x1y34hmil5ywa8c3";
-    };
-  };
-  "thread_safe" = {
-    version = "0.1.3";
-    source = {
-      type = "gem";
-      sha256 = "0f2w62x5nx95d2c2lrn9v4g60xhykf8zw7jaddkrgal913dzifgq";
-    };
-    dependencies = [
-      "atomic"
-    ];
-  };
-  "timecop" = {
-    version = "0.8.0";
-    source = {
-      type = "gem";
-      sha256 = "0zf46hkd36y2ywysjfgkvpcc5v04s2rwlg2k7k8j23bh7k8sgiqs";
-    };
-  };
-  "treetop" = {
-    version = "1.4.15";
-    source = {
-      type = "gem";
-      sha256 = "1zqj5y0mvfvyz11nhsb4d5ch0i0rfcyj64qx19mw4qhg3hh8z9pz";
-    };
-    dependencies = [
-      "polyglot"
-      "polyglot"
-    ];
-  };
-  "twitter" = {
-    version = "5.5.0";
-    source = {
-      type = "gem";
-      sha256 = "0yl1im3s4svl4hxxsyc60mm7cxvwz538amc9y0vzw6lkiii5f197";
-    };
-    dependencies = [
-      "addressable"
-      "buftok"
-      "descendants_tracker"
-      "equalizer"
-      "faraday"
-      "http"
-      "http_parser.rb"
-      "json"
-      "memoizable"
-      "simple_oauth"
-    ];
-  };
-  "unf" = {
-    version = "0.1.3";
-    source = {
-      type = "gem";
-      sha256 = "1f2q8mxxngg8q608r6xajpharp9zz1ia3336y1lsg1asn2ach2sm";
-    };
-    dependencies = [
-      "unf_ext"
-    ];
-  };
-  "unf_ext" = {
-    version = "0.0.6";
-    source = {
-      type = "gem";
-      sha256 = "07zbmkzcid6pzdqgla3456ipfdka7j1v4hsx1iaa8rbnllqbmkdg";
-    };
-  };
-  "xml-simple" = {
-    version = "1.1.4";
-    source = {
-      type = "gem";
-      sha256 = "0x5c3mqhahh8hzqqq41659bxj0wn3n6bhj5p6b4hsia2k4akzg6s";
-    };
-  };
-}
\ No newline at end of file
diff --git a/pkgs/tools/backup/bareos/default.nix b/pkgs/tools/backup/bareos/default.nix
index 4af20f76449..691568673df 100644
--- a/pkgs/tools/backup/bareos/default.nix
+++ b/pkgs/tools/backup/bareos/default.nix
@@ -12,14 +12,14 @@ let
 in
 stdenv.mkDerivation rec {
   name = "bareos-${version}";
-  version = "15.2.4";
+  version = "17.2.5";
 
   src = fetchFromGitHub {
     owner = "bareos";
     repo = "bareos";
     rev = "Release/${version}";
     name = "${name}-src";
-    sha256 = "02k6wmr2n12dc6vwda8xczmbqidg6fs8nfg9n2cwwpm3k1a21qnd";
+    sha256 = "1mgh25lhd05m26sq1sj5ir2b4n7560x93ib25cvf9vmmypm1c7pn";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/tools/backup/bdsync/default.nix b/pkgs/tools/backup/bdsync/default.nix
index 8ef846a8dca..2fd67765aaf 100644
--- a/pkgs/tools/backup/bdsync/default.nix
+++ b/pkgs/tools/backup/bdsync/default.nix
@@ -36,7 +36,7 @@ stdenv.mkDerivation rec {
     description = "Fast block device synchronizing tool";
     homepage = https://github.com/TargetHolding/bdsync;
     license = licenses.gpl2;
-    platforms = platforms.all;
+    platforms = platforms.linux;
     maintainers = with maintainers; [ jluttine ];
   };
 
diff --git a/pkgs/tools/backup/borg/default.nix b/pkgs/tools/backup/borg/default.nix
index 4f0d24a27d9..6de4d3d859e 100644
--- a/pkgs/tools/backup/borg/default.nix
+++ b/pkgs/tools/backup/borg/default.nix
@@ -1,22 +1,25 @@
-{ stdenv, fetchurl, python3Packages, acl, lz4, openssl, openssh }:
+{ stdenv, python3Packages, acl, libb2, lz4, zstd, openssl, openssh }:
 
 python3Packages.buildPythonApplication rec {
-  name = "borgbackup-${version}";
-  version = "1.1.4";
-  namePrefix = "";
-
-  src = fetchurl {
-    url = "https://github.com/borgbackup/borg/releases/download/"
-      + "${version}/${name}.tar.gz";
-    sha256 = "1cicqwh85wfp65y00qaq6q4i4jcyy9b66qz5gpl80qc880wab912";
+  pname = "borgbackup";
+  version = "1.1.5";
+
+  src = python3Packages.fetchPypi {
+    inherit pname version;
+    sha256 = "4356e6c712871f389e3cb1d6382e341ea635f9e5c65de1cd8fcd103d0fb66d3d";
   };
 
+  postPatch = ''
+    # loosen constraint on msgpack version, only 0.5.0 had problems
+    sed -i "s/'msgpack-python.*'/'msgpack-python'/g" setup.py
+  '';
+
   nativeBuildInputs = with python3Packages; [
     # For building documentation:
     sphinx guzzle_sphinx_theme
   ];
   buildInputs = [
-    lz4 openssl python3Packages.setuptools_scm
+    libb2 lz4 zstd openssl python3Packages.setuptools_scm
   ] ++ stdenv.lib.optionals stdenv.isLinux [ acl ];
   propagatedBuildInputs = with python3Packages; [
     cython msgpack-python
@@ -25,6 +28,8 @@ python3Packages.buildPythonApplication rec {
   preConfigure = ''
     export BORG_OPENSSL_PREFIX="${openssl.dev}"
     export BORG_LZ4_PREFIX="${lz4.dev}"
+    export BORG_LIBB2_PREFIX="${libb2}"
+    export BORG_LIBZSTD_PREFIX="${zstd}"
   '';
 
   makeWrapperArgs = [
@@ -39,11 +44,20 @@ python3Packages.buildPythonApplication rec {
     make -C docs man
     mkdir -p $out/share/man
     cp -R docs/_build/man $out/share/man/man1
+
+    mkdir -p $out/share/bash-completion/completions
+    cp scripts/shell_completions/bash/borg $out/share/bash-completion/completions/
+
+    mkdir -p $out/share/fish/vendor_completions.d
+    cp scripts/shell_completions/fish/borg.fish $out/share/fish/vendor_completions.d/
+
+    mkdir -p $out/share/zsh/site-functions
+    cp scripts/shell_completions/zsh/_borg $out/share/zsh/site-functions/
   '';
 
   meta = with stdenv.lib; {
     description = "A deduplicating backup program (attic fork)";
-    homepage = https://borgbackup.github.io/;
+    homepage = https://www.borgbackup.org;
     license = licenses.bsd3;
     platforms = platforms.unix; # Darwin and FreeBSD mentioned on homepage
     maintainers = with maintainers; [ flokli ];
diff --git a/pkgs/tools/backup/btrbk/default.nix b/pkgs/tools/backup/btrbk/default.nix
index 3565d8cbeb2..958afa3f6a9 100644
--- a/pkgs/tools/backup/btrbk/default.nix
+++ b/pkgs/tools/backup/btrbk/default.nix
@@ -1,16 +1,18 @@
 { stdenv, fetchurl, coreutils, bash, btrfs-progs, openssh, perl, perlPackages
-, asciidoc-full, makeWrapper }:
+, utillinux, asciidoc, makeWrapper }:
 
 stdenv.mkDerivation rec {
   name = "btrbk-${version}";
-  version = "0.26.0";
+  version = "0.26.1";
 
   src = fetchurl {
     url = "http://digint.ch/download/btrbk/releases/${name}.tar.xz";
-    sha256 = "1brnh5x3fd91j3v8rz3van08m9i0ym4lv4hqz274s86v1kx4k330";
+    sha256 = "04ahfm52vcf1w0c2km0wdgj2jpffp45bpawczmygcg8fdcm021lp";
   };
 
-  buildInputs = with perlPackages; [ asciidoc-full makeWrapper perl DateCalc ];
+  nativeBuildInputs = [ asciidoc makeWrapper ];
+
+  buildInputs = with perlPackages; [ perl DateCalc ];
 
   preInstall = ''
     for f in $(find . -name Makefile); do
@@ -27,6 +29,10 @@ stdenv.mkDerivation rec {
       --replace "/bin/date" "${coreutils}/bin/date" \
       --replace "/bin/echo" "${coreutils}/bin/echo" \
       --replace '$btrbk' 'btrbk'
+
+    # Fix SSH filter script
+    sed -i '/^export PATH/d' ssh_filter_btrbk.sh
+    substituteInPlace ssh_filter_btrbk.sh --replace logger ${utillinux}/bin/logger
   '';
 
   preFixup = ''
diff --git a/pkgs/tools/backup/burp/default.nix b/pkgs/tools/backup/burp/default.nix
index 24065f7308b..4133478dbf9 100644
--- a/pkgs/tools/backup/burp/default.nix
+++ b/pkgs/tools/backup/burp/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   name = "burp-${version}";
-  version = "2.1.30";
+  version = "2.1.32";
 
   src = fetchFromGitHub {
     owner = "grke";
     repo = "burp";
     rev = version;
-    sha256 = "0l9zcw50zr081ddspl6vnh6d6cwyzgqzg7n5pq92dwbmd64qpz9p";
+    sha256 = "1izs5vavffvj6z478s5x1shg71p2v5bnnrsam1avs21ylxbfnxi5";
   };
 
   nativeBuildInputs = [ autoreconfHook pkgconfig ];
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "BURP - BackUp and Restore Program";
-    homepage    = http://burp.grke.org;
+    homepage    = https://burp.grke.org;
     license     = licenses.agpl3;
     maintainers = with maintainers; [ tokudan ];
     platforms   = platforms.all;
diff --git a/pkgs/tools/backup/chunksync/default.nix b/pkgs/tools/backup/chunksync/default.nix
index e1d19a48971..91d12a568a4 100644
--- a/pkgs/tools/backup/chunksync/default.nix
+++ b/pkgs/tools/backup/chunksync/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, openssl, perl }:
 
 stdenv.mkDerivation rec {
-  version = "0.3";
+  version = "0.4";
   name = "chunksync-${version}";
 
   src = fetchurl {
     url = "http://chunksync.florz.de/chunksync_${version}.tar.gz";
-    sha256 = "e0c27f925c5cf811798466312a56772864b633728c433fb2fcce23c8712b52fc";
+    sha256 = "1gwqp1kjwhcmwhynilakhzpzgc0c6kk8c9vkpi30gwwrwpz3cf00";
   };
 
   buildInputs = [openssl perl];
diff --git a/pkgs/tools/backup/diskrsync/default.nix b/pkgs/tools/backup/diskrsync/default.nix
index b04a1dab40f..3a5ffc30f8f 100644
--- a/pkgs/tools/backup/diskrsync/default.nix
+++ b/pkgs/tools/backup/diskrsync/default.nix
@@ -1,4 +1,4 @@
-{ buildGoPackage, fetchFromGitHub, stdenv }:
+{ buildGoPackage, fetchFromGitHub, stdenv, openssh, makeWrapper }:
 
 buildGoPackage rec {
 
@@ -16,6 +16,12 @@ buildGoPackage rec {
   goPackagePath = "github.com/dop251/diskrsync";
   goDeps = ./deps.nix;
 
+  buildInputs = [ makeWrapper ];
+
+  preFixup = ''
+    wrapProgram "$bin/bin/diskrsync" --argv0 diskrsync --prefix PATH : ${openssh}/bin
+  '';
+
   meta = with stdenv.lib; {
     description = "Rsync for block devices and disk images";
     homepage = https://github.com/dop251/diskrsync;
diff --git a/pkgs/tools/backup/duplicati/default.nix b/pkgs/tools/backup/duplicati/default.nix
new file mode 100644
index 00000000000..d36ef7ea64f
--- /dev/null
+++ b/pkgs/tools/backup/duplicati/default.nix
@@ -0,0 +1,37 @@
+{ stdenv, fetchzip, mono, sqlite, makeWrapper }:
+
+stdenv.mkDerivation rec {
+  name = "duplicati-${version}";
+  version = "2.0.3.3";
+  channel = "beta";
+  build_date = "2018-04-02";
+
+  src = fetchzip {
+    url = "https://github.com/duplicati/duplicati/releases/download/v${version}-${version}_${channel}_${build_date}/duplicati-${version}_${channel}_${build_date}.zip";
+    sha256 = "0hwdpsgrvm3gq648mg9g0z0rk49g71dd8r5i1a8w83pwdqv0hn9c";
+    stripRoot = false;
+  };
+
+  buildInputs = [ makeWrapper ];
+
+  installPhase = ''
+    mkdir -p $out/{bin,share/${name}}
+    cp -r * $out/share/${name}
+    makeWrapper "${mono}/bin/mono" $out/bin/duplicati-cli \
+      --add-flags "$out/share/${name}/Duplicati.CommandLine.exe" \
+      --prefix LD_LIBRARY_PATH : ${stdenv.lib.makeLibraryPath [
+          sqlite ]}
+    makeWrapper "${mono}/bin/mono" $out/bin/duplicati-server \
+      --add-flags "$out/share/${name}/Duplicati.Server.exe" \
+      --prefix LD_LIBRARY_PATH : ${stdenv.lib.makeLibraryPath [
+          sqlite ]}
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A free backup client that securely stores encrypted, incremental, compressed backups on cloud storage services and remote file servers";
+    homepage = https://www.duplicati.com/;
+    license = licenses.lgpl21;
+    maintainers = with maintainers; [ nyanloutre ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/tools/backup/lvmsync/Gemfile b/pkgs/tools/backup/lvmsync/Gemfile
new file mode 100644
index 00000000000..a87462e2b8a
--- /dev/null
+++ b/pkgs/tools/backup/lvmsync/Gemfile
@@ -0,0 +1,2 @@
+source 'https://rubygems.org/'
+gem 'lvmsync'
diff --git a/pkgs/tools/backup/lvmsync/Gemfile.lock b/pkgs/tools/backup/lvmsync/Gemfile.lock
new file mode 100644
index 00000000000..1fe903f1508
--- /dev/null
+++ b/pkgs/tools/backup/lvmsync/Gemfile.lock
@@ -0,0 +1,19 @@
+GEM
+  remote: https://rubygems.org/
+  specs:
+    git-version-bump (0.15.1)
+    lvmsync (3.3.2)
+      git-version-bump (~> 0.10)
+      treetop
+    polyglot (0.3.5)
+    treetop (1.6.9)
+      polyglot (~> 0.3)
+
+PLATFORMS
+  ruby
+
+DEPENDENCIES
+  lvmsync
+
+BUNDLED WITH
+   1.14.6
diff --git a/pkgs/tools/backup/lvmsync/default.nix b/pkgs/tools/backup/lvmsync/default.nix
new file mode 100644
index 00000000000..dc589316a58
--- /dev/null
+++ b/pkgs/tools/backup/lvmsync/default.nix
@@ -0,0 +1,37 @@
+{ stdenv, bundlerEnv, ruby, makeWrapper }:
+
+let
+
+  pname = "lvmsync";
+  version = (import ./gemset.nix)."${pname}".version;
+
+in stdenv.mkDerivation rec {
+
+  name = "${pname}-${version}";
+
+  env = bundlerEnv {
+    name = "${pname}-${version}-gems";
+    ruby = ruby;
+    gemfile  = ./Gemfile;
+    lockfile = ./Gemfile.lock;
+    gemset   = ./gemset.nix;
+  };
+
+  buildInputs = [ makeWrapper ];
+
+  phases = ["installPhase"];
+
+  installPhase = ''
+    mkdir -p $out/bin
+    makeWrapper ${env}/bin/lvmsync $out/bin/lvmsync
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Optimised synchronisation of LVM snapshots over a network";
+    homepage = http://theshed.hezmatt.org/lvmsync/;
+    license = licenses.gpl3;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ jluttine ];
+  };
+
+}
diff --git a/pkgs/tools/backup/lvmsync/gemset.nix b/pkgs/tools/backup/lvmsync/gemset.nix
new file mode 100644
index 00000000000..7f80e928660
--- /dev/null
+++ b/pkgs/tools/backup/lvmsync/gemset.nix
@@ -0,0 +1,36 @@
+{
+  git-version-bump = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0xcj20gmbpqn2gcpid4pxpnimfdg2ip9jnl1572naz0magcrwl2s";
+      type = "gem";
+    };
+    version = "0.15.1";
+  };
+  lvmsync = {
+    dependencies = ["git-version-bump" "treetop"];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "02mdrvfibvab4p4yrdzxvndhy8drss3ri7izybcwgpbyc7isk8mv";
+      type = "gem";
+    };
+    version = "3.3.2";
+  };
+  polyglot = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1bqnxwyip623d8pr29rg6m8r0hdg08fpr2yb74f46rn1wgsnxmjr";
+      type = "gem";
+    };
+    version = "0.3.5";
+  };
+  treetop = {
+    dependencies = ["polyglot"];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0sdkd1v2h8dhj9ncsnpywmqv7w1mdwsyc5jwyxlxwriacv8qz8bd";
+      type = "gem";
+    };
+    version = "1.6.9";
+  };
+}
\ No newline at end of file
diff --git a/pkgs/tools/backup/mtx/default.nix b/pkgs/tools/backup/mtx/default.nix
index bc1f584f1c0..46f213a6ef4 100644
--- a/pkgs/tools/backup/mtx/default.nix
+++ b/pkgs/tools/backup/mtx/default.nix
@@ -22,6 +22,6 @@ stdenv.mkDerivation rec {
     homepage = https://sourceforge.net/projects/mtx/;
     license = stdenv.lib.licenses.gpl2;
     maintainers = [ stdenv.lib.maintainers.redvers ];
-    platforms = stdenv.lib.platforms.all;
+    platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/tools/backup/mydumper/default.nix b/pkgs/tools/backup/mydumper/default.nix
index da8805bc226..e8787855125 100644
--- a/pkgs/tools/backup/mydumper/default.nix
+++ b/pkgs/tools/backup/mydumper/default.nix
@@ -2,14 +2,14 @@
 , glib, zlib, pcre, mysql, libressl }:
 
 stdenv.mkDerivation rec {
-  version = "0.9.3";
+  version = "0.9.5";
   name = "mydumper-${version}";
 
   src = fetchFromGitHub {
     owner  = "maxbube";
     repo   = "mydumper";
     rev    = "v${version}";
-    sha256 = "139v6707sxyslg7n1fii8b1ybdq50hbqhc8zf6p1cr3h2hhl6ns9";
+    sha256 = "0vbz0ri5hm6yzkrcgnaj8px6bf59myr5dbhyy7fd4cv44hr685k6";
   };
 
   nativeBuildInputs = [ cmake pkgconfig ];
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
     description = ''High-perfomance MySQL backup tool'';
     homepage = https://github.com/maxbube/mydumper;
     license = licenses.gpl3;
-    platforms = platforms.all;
+    platforms = platforms.linux;
     maintainers = with maintainers; [ izorkin ];
   };
 }
diff --git a/pkgs/tools/backup/ori/default.nix b/pkgs/tools/backup/ori/default.nix
index d95716864c8..279652b0cd0 100644
--- a/pkgs/tools/backup/ori/default.nix
+++ b/pkgs/tools/backup/ori/default.nix
@@ -24,5 +24,6 @@ stdenv.mkDerivation rec {
     homepage = http://ori.scs.stanford.edu/;
     license = licenses.mit;
     platforms = platforms.unix;
+    broken = true; # 2018-04-11
   };
 }
diff --git a/pkgs/tools/backup/partclone/default.nix b/pkgs/tools/backup/partclone/default.nix
index 681999e35d0..758146fcc00 100644
--- a/pkgs/tools/backup/partclone/default.nix
+++ b/pkgs/tools/backup/partclone/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchFromGitHub, autoreconfHook
-, pkgconfig, libuuid, e2fsprogs
+, pkgconfig, libuuid, e2fsprogs, nilfs-utils, ntfs3g
 }:
 
 stdenv.mkDerivation rec {
@@ -15,10 +15,23 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ autoreconfHook pkgconfig ];
   buildInputs = [
-    e2fsprogs libuuid stdenv.cc.libc
+    e2fsprogs libuuid stdenv.cc.libc nilfs-utils ntfs3g 
     (stdenv.lib.getOutput "static" stdenv.cc.libc)
   ];
 
+  configureFlags = [
+    "--enable-xfs"
+    "--enable-extfs"
+    "--enable-hfsp"
+    "--enable-fat"
+    "--enable-exfat"
+    "--enable-ntfs"
+    "--enable-btrfs"
+    "--enable-minix"
+    "--enable-f2fs"
+    "--enable-nilfs2"
+  ];
+
   enableParallelBuilding = true;
 
   meta = {
diff --git a/pkgs/tools/backup/restic/default.nix b/pkgs/tools/backup/restic/default.nix
index 931fcea4a44..158d7f1d2cf 100644
--- a/pkgs/tools/backup/restic/default.nix
+++ b/pkgs/tools/backup/restic/default.nix
@@ -32,7 +32,7 @@ buildGoPackage rec {
   '';
 
   meta = with stdenv.lib; {
-    homepage = https://restic.github.io;
+    homepage = https://restic.net;
     description = "A backup program that is fast, efficient and secure";
     platforms = platforms.linux ++ platforms.darwin;
     license = licenses.bsd2;
diff --git a/pkgs/tools/backup/restic/rest-server.nix b/pkgs/tools/backup/restic/rest-server.nix
new file mode 100644
index 00000000000..d9f889897aa
--- /dev/null
+++ b/pkgs/tools/backup/restic/rest-server.nix
@@ -0,0 +1,32 @@
+{ lib, buildGoPackage, fetchFromGitHub }:
+
+buildGoPackage rec {
+  name = "restic-rest-server-${version}";
+  version = "0.9.7";
+
+  goPackagePath = "github.com/restic/rest-server";
+
+  src = fetchFromGitHub {
+    owner = "restic";
+    repo = "rest-server";
+    rev = "v${version}";
+    sha256 = "1g47ly1pxwn0znbj3v5j6kqhn66d4wf0d5gjqzig75pzknapv8qj";
+  };
+
+  buildPhase = ''
+    cd go/src/${goPackagePath}
+    go run build.go
+  '';
+
+  installPhase = ''
+    install -Dt $bin/bin rest-server
+  '';
+
+  meta = with lib; {
+    inherit (src.meta) homepage;
+    description = "A high performance HTTP server that implements restic's REST backend API";
+    platforms = platforms.unix;
+    license = licenses.bsd2;
+    maintainers = with maintainers; [ dotlambda ];
+  };
+}
diff --git a/pkgs/tools/backup/s3ql/default.nix b/pkgs/tools/backup/s3ql/default.nix
index 66480a2f13a..1bd8ebfd44b 100644
--- a/pkgs/tools/backup/s3ql/default.nix
+++ b/pkgs/tools/backup/s3ql/default.nix
@@ -3,11 +3,11 @@
 python3Packages.buildPythonApplication rec {
   name = "${pname}-${version}";
   pname = "s3ql";
-  version = "2.21";
+  version = "2.26";
 
   src = fetchurl {
     url = "https://bitbucket.org/nikratio/${pname}/downloads/${name}.tar.bz2";
-    sha256 = "1mifmxbsxc2rcrydk2vs5cjfd5r0510q5y7rmavlzi8grpcqdf3d";
+    sha256 = "0xs1jbak51zwjrd6jmd96xl3a3jpw0p1s05f7sw5wipvvg0xnmfn";
   };
 
   buildInputs = [ which ]; # tests will fail without which
diff --git a/pkgs/tools/backup/wal-g/default.nix b/pkgs/tools/backup/wal-g/default.nix
index da39b2360bd..3210e777889 100644
--- a/pkgs/tools/backup/wal-g/default.nix
+++ b/pkgs/tools/backup/wal-g/default.nix
@@ -1,11 +1,20 @@
-{ stdenv, buildGoPackage, fetchurl }:
+{ stdenv, buildGoPackage, fetchFromGitHub }:
+
+let
+  rev      = "966f3c5f45ba18b2225c5b06918e41f56e223e73";
+  revCount = "240";
+  sha256   = "1m70a5rpycrfwrrc83745mamgpg54pc0n75qpzr9jbvicbp8g66p";
+in
 buildGoPackage rec {
   name = "wal-g-${version}";
-  version = "0.1.2";
-  src = fetchurl {
-    url = https://github.com/wal-g/wal-g/archive/v0.1.2.tar.gz;
-    sha256 = "0zkjs72gq7sc9cqqzxr6ms1ibk8466zpwmrziq9p4jv9r4iq3bfb";
+  version = "0.1.8pre${revCount}_${builtins.substring 0 9 rev}";
+
+  src = fetchFromGitHub {
+    owner = "wal-g";
+    repo  = "wal-g";
+    inherit rev sha256;
   };
+
   goPackagePath = "github.com/wal-g/wal-g";
   meta = {
     homepage = https://github.com/wal-g/wal-g;
diff --git a/pkgs/tools/backup/znapzend/default.nix b/pkgs/tools/backup/znapzend/default.nix
index cacfb8287a3..796a34c253a 100644
--- a/pkgs/tools/backup/znapzend/default.nix
+++ b/pkgs/tools/backup/znapzend/default.nix
@@ -1,8 +1,8 @@
 { stdenv, fetchFromGitHub, zfs, mbuffer, perl, perlPackages, wget, autoconf, automake }:
 
 let
-  version = "0.17.0";
-  checksum = "0cncwkiw0w2am7gwi01p6ln87zgg1x6blfyxx7n7x8m1mv6704hl";
+  version = "0.18.0";
+  checksum = "1nlvw56viwgafma506slywfg54z6009jmzc9q6wljgr6mqfmmchd";
 in
 stdenv.mkDerivation rec {
   name = "znapzend-${version}";
diff --git a/pkgs/tools/bootloaders/refind/default.nix b/pkgs/tools/bootloaders/refind/default.nix
index f305cff0ea2..80add316094 100644
--- a/pkgs/tools/bootloaders/refind/default.nix
+++ b/pkgs/tools/bootloaders/refind/default.nix
@@ -57,7 +57,7 @@ stdenv.mkDerivation rec {
     install -D -m0644 gptsync/gptsync_${efiPlatform}.efi $out/share/refind/tools_${efiPlatform}/gptsync_${efiPlatform}.efi
 
     # helper scripts
-    install -D -m0755 refind-install $out/share/refind/refind-install
+    install -D -m0755 refind-install $out/bin/refind-install
     install -D -m0755 mkrlconf $out/bin/refind-mkrlconf
     install -D -m0755 mvrefind $out/bin/refind-mvrefind
     install -D -m0755 fonts/mkfont.sh $out/bin/refind-mkfont
@@ -86,21 +86,13 @@ stdenv.mkDerivation rec {
     # keys
     install -D -m0644 keys/* $out/share/refind/keys/
 
-    # The refind-install script assumes that all resource files are
-    # installed under the same directory as the script itself. To avoid
-    # having to patch around this assumption, generate a wrapper that
-    # cds into $out/share/refind and executes the real script from
-    # there.
-    cat >$out/bin/refind-install <<EOF
-#! ${stdenv.shell}
-cd $out/share/refind && exec -a $out/bin/refind-install ./refind-install \$*
-EOF
-    chmod +x $out/bin/refind-install
+    # Fix variable definition of 'RefindDir' which is used to locate ressource files.
+    sed -i "s,\bRefindDir=.*,RefindDir=$out/share/refind,g" $out/bin/refind-install
 
     # Patch uses of `which`.  We could patch in calls to efibootmgr,
     # openssl, convert, and openssl, but that would greatly enlarge
     # refind's closure (from ca 28MB to over 400MB).
-    sed -i 's,`which \(.*\)`,`type -p \1`,g' $out/share/refind/refind-install
+    sed -i 's,`which \(.*\)`,`type -p \1`,g' $out/bin/refind-install
     sed -i 's,`which \(.*\)`,`type -p \1`,g' $out/bin/refind-mvrefind
     sed -i 's,`which \(.*\)`,`type -p \1`,g' $out/bin/refind-mkfont
   '';
diff --git a/pkgs/tools/cd-dvd/bchunk/default.nix b/pkgs/tools/cd-dvd/bchunk/default.nix
index a4298bf2920..6828ef7d61d 100644
--- a/pkgs/tools/cd-dvd/bchunk/default.nix
+++ b/pkgs/tools/cd-dvd/bchunk/default.nix
@@ -9,9 +9,11 @@ stdenv.mkDerivation rec {
     sha256 = "12dxx98kbpc5z4dgni25280088bhlsb677rp832r82zzc1drpng7";
   };
 
+  makeFlags = stdenv.lib.optionals stdenv.cc.isClang [ "CC=cc" "LD=cc" ];
+
   installPhase = ''
     install -Dt $out/bin bchunk
-    install -Dt $out/share/man/man1 bchunk.1    
+    install -Dt $out/share/man/man1 bchunk.1
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/tools/compression/brotli/default.nix b/pkgs/tools/compression/brotli/default.nix
index 45af74b0b3e..1a42ba03d46 100644
--- a/pkgs/tools/compression/brotli/default.nix
+++ b/pkgs/tools/compression/brotli/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   name = "brotli-${version}";
-  version = "1.0.2";
+  version = "1.0.4";
 
   src = fetchFromGitHub {
     owner = "google";
     repo = "brotli";
     rev = "v" + version;
-    sha256 = "1rpg16zpr7h6vs7qr6npmqhyw4w5nkp24iq70s4dryn77m0r4mcv";
+    sha256 = "0n5snycxgwqj2v8sgxiqxq4zqh5ydx70dr7qa4ygizs02ms69n1i";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/tools/compression/gzip/default.nix b/pkgs/tools/compression/gzip/default.nix
index cfe41d3dfe7..c39216f1e0c 100644
--- a/pkgs/tools/compression/gzip/default.nix
+++ b/pkgs/tools/compression/gzip/default.nix
@@ -18,6 +18,8 @@ stdenv.mkDerivation rec {
   # In stdenv-linux, prevent a dependency on bootstrap-tools.
   makeFlags = "SHELL=/bin/sh GREP=grep";
 
+  doCheck = false; # fails
+
   meta = {
     homepage = https://www.gnu.org/software/gzip/;
     description = "GNU zip compression program";
diff --git a/pkgs/tools/compression/lzip/default.nix b/pkgs/tools/compression/lzip/default.nix
index 298e490be87..25d09e6e947 100644
--- a/pkgs/tools/compression/lzip/default.nix
+++ b/pkgs/tools/compression/lzip/default.nix
@@ -2,16 +2,16 @@
 
 stdenv.mkDerivation rec {
   name = "lzip-${version}";
-  version = "1.19";
+  version = "1.20";
 
   buildInputs = [ texinfo ];
 
   src = fetchurl {
     url = "mirror://savannah/lzip/${name}.tar.gz";
-    sha256 = "1abbch762gv8rjr579q3qyyk6c80plklbv2mw4x0vg71dgsw9bgz";
+    sha256 = "0319q59kb8g324wnj7xzbr7vvlx5bcs13lr34j0zb3kqlyjq2fy9";
   };
 
-  configureFlags = "CPPFLAGS=-DNDEBUG CFLAGS=-O3 CXXFLAGS=-O3";
+  configureFlags = "CPPFLAGS=-DNDEBUG CFLAGS=-O3 CXXFLAGS=-O3" + stdenv.lib.optionalString stdenv.isCross " CXX=${stdenv.cc.targetPrefix}c++";
 
   setupHook = ./lzip-setup-hook.sh;
 
diff --git a/pkgs/tools/compression/pbzx/default.nix b/pkgs/tools/compression/pbzx/default.nix
new file mode 100644
index 00000000000..bbba21f2b34
--- /dev/null
+++ b/pkgs/tools/compression/pbzx/default.nix
@@ -0,0 +1,27 @@
+{stdenv, lib, fetchFromGitHub, lzma, xar}:
+
+stdenv.mkDerivation rec {
+  pname = "pbzx";
+  version = "1.0.2";
+  name = "${pname}-${version}";
+  src = fetchFromGitHub {
+    owner = "NiklasRosenstein";
+    repo = "pbzx";
+    rev = "v${version}";
+    sha256 = "0bwd7wmnhpz1n5p39mh6asfyccj4cm06hwigslcwbb3pdwmvxc90";
+  };
+  buildInputs = [ lzma xar ];
+  buildPhase = ''
+    cc pbzx.c -llzma -lxar -o pbzx
+  '';
+  installPhase = ''
+    mkdir -p $out/bin
+    cp pbzx $out/bin
+  '';
+  meta = with lib; {
+    description = "Stream parser of Apple's pbzx compression format.";
+    platforms = platforms.unix;
+    license = licenses.gpl3;
+    maintainers = [ maintainers.matthewbauer ];
+  };
+}
diff --git a/pkgs/tools/compression/pigz/default.nix b/pkgs/tools/compression/pigz/default.nix
index 76704c254bd..732aa691d4a 100644
--- a/pkgs/tools/compression/pigz/default.nix
+++ b/pkgs/tools/compression/pigz/default.nix
@@ -1,20 +1,22 @@
 { stdenv, fetchurl, zlib, utillinux }:
 
 let name = "pigz";
-    version = "2.3.4";
+    version = "2.4";
 in
 stdenv.mkDerivation {
   name = name + "-" + version;
 
   src = fetchurl {
     url = "http://www.zlib.net/${name}/${name}-${version}.tar.gz";
-    sha256 = "16lgbjzzfx0k4a1znsw8kq3lnkx17gw93zq2sn01sny11fj1y0vg";
+    sha256 = "0wsgw5vwl23jrnpsvd8v3xcp5k4waw5mk0164fynjhkv58i1dy54";
   };
 
   enableParallelBuilding = true;
 
   buildInputs = [zlib] ++ stdenv.lib.optional stdenv.isLinux utillinux;
 
+  makeFlags = [ "CC=cc" ];
+
   doCheck = stdenv.isLinux;
   checkTarget = "tests";
   installPhase =
diff --git a/pkgs/tools/compression/xar/default.nix b/pkgs/tools/compression/xar/default.nix
index c62eead3cb7..01d18fe6ad7 100644
--- a/pkgs/tools/compression/xar/default.nix
+++ b/pkgs/tools/compression/xar/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, libxml2, openssl, zlib, bzip2 }:
+{ stdenv, fetchurl, libxml2, openssl, zlib, bzip2, musl-fts }:
 
 stdenv.mkDerivation rec {
   version = "1.6.1";
@@ -9,7 +9,8 @@ stdenv.mkDerivation rec {
     sha256 = "0ghmsbs6xwg1092v7pjcibmk5wkyifwxw6ygp08gfz25d2chhipf";
   };
 
-  buildInputs = [ libxml2 openssl zlib bzip2 ];
+  buildInputs = [ libxml2 openssl zlib bzip2 ]
+    ++ stdenv.lib.optional stdenv.hostPlatform.isMusl musl-fts;
 
   meta = {
     homepage    = https://mackyle.github.io/xar/;
diff --git a/pkgs/tools/compression/xz/default.nix b/pkgs/tools/compression/xz/default.nix
index 8d02e926e57..37c0c6d1c7e 100644
--- a/pkgs/tools/compression/xz/default.nix
+++ b/pkgs/tools/compression/xz/default.nix
@@ -1,17 +1,22 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "xz-5.2.3";
+  name = "xz-5.2.4";
 
   src = fetchurl {
     url = "https://tukaani.org/xz/${name}.tar.bz2";
-    sha256 = "1ha08wxcldgcl81021x5nhknr47s1p95ljfkka4sqah5w5ns377x";
+    sha256 = "1gxpayfagb4v7xfhs2w6h7k56c6hwwav1rk48bj8hggljlmgs4rk";
   };
 
   outputs = [ "bin" "dev" "out" "man" "doc" ];
 
   doCheck = true;
 
+  preCheck = ''
+    # Tests have a /bin/sh dependency...
+    patchShebangs tests
+  '';
+
   # In stdenv-linux, prevent a dependency on bootstrap-tools.
   preConfigure = "CONFIG_SHELL=/bin/sh";
 
diff --git a/pkgs/tools/compression/zstd/default.nix b/pkgs/tools/compression/zstd/default.nix
index 457170013ce..8fa2d181de5 100644
--- a/pkgs/tools/compression/zstd/default.nix
+++ b/pkgs/tools/compression/zstd/default.nix
@@ -1,17 +1,20 @@
 { stdenv, fetchFromGitHub, gnugrep
+, fixDarwinDylibNames
 , legacySupport ? false }:
 
 stdenv.mkDerivation rec {
   name = "zstd-${version}";
-  version = "1.3.3";
+  version = "1.3.4";
 
   src = fetchFromGitHub {
-    sha256 = "15h9i9ygry0znlmvll5r21lzwgyqzynaw9q2wbj4bcn7zjy4c1pn";
+    sha256 = "090ba7dnv5z2v4vlb8b275b0n7cqsdzjqvr3b6a0w65z13mgy2nw";
     rev = "v${version}";
     repo = "zstd";
     owner = "facebook";
   };
 
+  buildInputs = stdenv.lib.optional stdenv.isDarwin fixDarwinDylibNames;
+
   makeFlags = [
     "ZSTD_LEGACY_SUPPORT=${if legacySupport then "1" else "0"}"
   ];
@@ -40,7 +43,7 @@ stdenv.mkDerivation rec {
       speed is preserved and remain roughly the same at all settings, a
       property shared by most LZ compression algorithms, such as zlib.
     '';
-    homepage = http://www.zstd.net/;
+    homepage = https://facebook.github.io/zstd/;
     # The licence of the CLI programme is GPLv2+, that of the library BSD-2.
     license = with licenses; [ gpl2Plus bsd2 ];
 
diff --git a/pkgs/tools/filesystems/archivemount/default.nix b/pkgs/tools/filesystems/archivemount/default.nix
index 72403bd3dc0..e720634ca44 100644
--- a/pkgs/tools/filesystems/archivemount/default.nix
+++ b/pkgs/tools/filesystems/archivemount/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchurl, pkgconfig, fuse, libarchive }:
 
 let
-  name = "archivemount-0.8.7";
+  name = "archivemount-0.8.12";
 in
 stdenv.mkDerivation {
   inherit name;
 
   src = fetchurl {
     url = "http://www.cybernoia.de/software/archivemount/${name}.tar.gz";
-    sha256 = "1diiw6pnlnrnikn6l5ld92dx59lhrxjlqms8885vwbynsjl5q127";
+    sha256 = "12fb8fcmd1zwvfgzx4pay47md5cr2kgxcgq82cm6skmq75alfzi4";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/tools/filesystems/bcachefs-tools/Makefile.patch b/pkgs/tools/filesystems/bcachefs-tools/Makefile.patch
new file mode 100644
index 00000000000..812f9954cf2
--- /dev/null
+++ b/pkgs/tools/filesystems/bcachefs-tools/Makefile.patch
@@ -0,0 +1,13 @@
+diff --git a/Makefile b/Makefile
+index af7a206..553ac70 100644
+--- a/Makefile
++++ b/Makefile
+@@ -47,7 +47,7 @@ ifeq ($(PREFIX),/usr)
+ 	INITRAMFS_DIR=$(PREFIX)/share/initramfs-tools
+ else
+ 	ROOT_SBINDIR=$(PREFIX)/sbin
+-	INITRAMFS_DIR=/etc/initramfs-tools
++	INITRAMFS_DIR=$(PREFIX)/etc/initramfs-tools
+ endif
+ 
+ .PHONY: all
diff --git a/pkgs/tools/filesystems/bcachefs-tools/default.nix b/pkgs/tools/filesystems/bcachefs-tools/default.nix
index 0a5017de53c..c2e13b75daa 100644
--- a/pkgs/tools/filesystems/bcachefs-tools/default.nix
+++ b/pkgs/tools/filesystems/bcachefs-tools/default.nix
@@ -1,17 +1,19 @@
 { stdenv, pkgs, fetchgit, pkgconfig, attr, libuuid, libscrypt, libsodium
-, keyutils, liburcu, zlib, libaio }:
+, keyutils, liburcu, zlib, libaio, zstd }:
 
 stdenv.mkDerivation rec {
-  name = "bcachefs-tools-unstable-2018-02-08";
+  name = "bcachefs-tools-unstable-2018-04-10";
 
   src = fetchgit {
     url = "https://evilpiepirate.org/git/bcachefs-tools.git";
-    rev = "fc96071b58c28ea492103e7649c0efd5bab50ead";
-    sha256 = "0a2sxkz0mkmvb5g4k2v8g2c89dj29haw9bd3bpwk0dsfkjif92vy";
+    rev = "c598d91dcb0c7e95abdacb2711898ae14ab52ca1";
+    sha256 = "1mglw6p1145nryn8babkg2hj778kqa0vrzjbdp9kxjlyb3fksmff";
   };
 
+  enableParallelBuilding = true;
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ attr libuuid libscrypt libsodium keyutils liburcu zlib libaio ];
+  buildInputs = [ attr libuuid libscrypt libsodium keyutils liburcu zlib libaio zstd ];
+  patches = [ ./Makefile.patch ];
 
   installFlags = [ "PREFIX=$(out)" ];
 
@@ -19,7 +21,7 @@ stdenv.mkDerivation rec {
     description = "Tool for managing bcachefs filesystems";
     homepage = https://bcachefs.org/;
     license = licenses.gpl2;
-    maintainers = with maintainers; [ davidak ];
+    maintainers = with maintainers; [ davidak chiiruno];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/tools/filesystems/bindfs/default.nix b/pkgs/tools/filesystems/bindfs/default.nix
index c558c9e8a32..1499e81b624 100644
--- a/pkgs/tools/filesystems/bindfs/default.nix
+++ b/pkgs/tools/filesystems/bindfs/default.nix
@@ -5,7 +5,7 @@ stdenv.mkDerivation rec {
   name    = "bindfs-${version}";
 
   src = fetchurl {
-    url    = "http://bindfs.org/downloads/${name}.tar.gz";
+    url    = "https://bindfs.org/downloads/${name}.tar.gz";
     sha256 = "1dgqjq2plpds442ygpv8czr5v199ljscp33m89y19x04ssljrymc";
   };
 
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "A FUSE filesystem for mounting a directory to another location";
-    homepage    = http://bindfs.org;
+    homepage    = https://bindfs.org;
     license     = stdenv.lib.licenses.gpl2;
     maintainers = with stdenv.lib.maintainers; [ lovek323 ];
     platforms   = stdenv.lib.platforms.unix;
diff --git a/pkgs/tools/filesystems/blobfuse/default.nix b/pkgs/tools/filesystems/blobfuse/default.nix
new file mode 100644
index 00000000000..b5694535e94
--- /dev/null
+++ b/pkgs/tools/filesystems/blobfuse/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchFromGitHub, cmake, pkgconfig, curl, gnutls, libgcrypt, libuuid, fuse }:
+
+stdenv.mkDerivation rec {
+  name = "blobfuse-${version}";
+  version = "1.0.2";
+
+  src = fetchFromGitHub {
+    owner  = "Azure";
+    repo   = "azure-storage-fuse";
+    rev    = "v${version}";
+    sha256 = "1qh04z1fsj1l6l12sz9yl2sy9hwlrnzac54hwrr7wvsgv90n9gbp";
+  };
+
+  buildInputs = [ curl gnutls libgcrypt libuuid fuse ];
+  nativeBuildInputs = [ cmake pkgconfig ];
+
+  meta = with stdenv.lib; {
+    description = "Mount an Azure Blob storage as filesystem through FUSE";
+    license = licenses.mit;
+    maintainers = with maintainers; [ jbgi ];
+    platforms = platforms.linux;
+  };
+}
\ No newline at end of file
diff --git a/pkgs/tools/filesystems/btrfs-progs/default.nix b/pkgs/tools/filesystems/btrfs-progs/default.nix
index fb24e1394b7..e84260052a4 100644
--- a/pkgs/tools/filesystems/btrfs-progs/default.nix
+++ b/pkgs/tools/filesystems/btrfs-progs/default.nix
@@ -1,17 +1,24 @@
-{ stdenv, fetchurl, pkgconfig, attr, acl, zlib, libuuid, e2fsprogs, lzo
+{ stdenv, fetchurl, fetchpatch, pkgconfig, attr, acl, zlib, libuuid, e2fsprogs, lzo
 , asciidoc, xmlto, docbook_xml_dtd_45, docbook_xsl, libxslt, zstd
 }:
 
-let version = "4.14.1"; in
-
 stdenv.mkDerivation rec {
   name = "btrfs-progs-${version}";
+  version = "4.15.1";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/people/kdave/btrfs-progs/btrfs-progs-v${version}.tar.xz";
-    sha256 = "1palnddw3d50kyflwk1j4xapbc6jniid6j5i9dsr8l8a7nkv7ich";
+    sha256 = "15izak6jg6pqr6ha9447cdrdj9k6kfiarvwlrj53cpvrsv02l437";
   };
 
+  patches = [
+    # Fix build with e2fsprogs 1.44.0
+    (fetchpatch {
+      url = "https://patchwork.kernel.org/patch/10281327/raw/";
+      sha256 = "016124hjms220809zjvvr7l1gq23j419d3piaijsaw8n7yd3kksf";
+    })
+  ];
+
   nativeBuildInputs = [
     pkgconfig asciidoc xmlto docbook_xml_dtd_45 docbook_xsl libxslt
   ];
@@ -20,12 +27,14 @@ stdenv.mkDerivation rec {
 
   # gcc bug with -O1 on ARM with gcc 4.8
   # This should be fine on all platforms so apply universally
-  patchPhase = "sed -i s/-O1/-O2/ configure";
+  postPatch = "sed -i s/-O1/-O2/ configure";
 
   postInstall = ''
     install -v -m 444 -D btrfs-completion $out/etc/bash_completion.d/btrfs
   '';
 
+  configureFlags = stdenv.lib.optional stdenv.hostPlatform.isMusl "--disable-backtrace";
+
   meta = with stdenv.lib; {
     description = "Utilities for the btrfs filesystem";
     homepage = https://btrfs.wiki.kernel.org/;
diff --git a/pkgs/tools/filesystems/ceph/generic.nix b/pkgs/tools/filesystems/ceph/generic.nix
index 3d35a10f3b3..4325a935536 100644
--- a/pkgs/tools/filesystems/ceph/generic.nix
+++ b/pkgs/tools/filesystems/ceph/generic.nix
@@ -5,7 +5,7 @@
 , openldap, lttngUst
 , babeltrace, gperf
 , cunit, snappy
-, rocksdb
+, rocksdb, makeWrapper
 
 # Optional Dependencies
 , yasm ? null, fcgi ? null, expat ? null
@@ -96,6 +96,7 @@ let
     ps.pecan
     ps.prettytable
     ps.webob
+    ps.cherrypy
 	]);
 
 in
@@ -113,7 +114,7 @@ stdenv.mkDerivation {
 
   nativeBuildInputs = [
     cmake
-    pkgconfig which git python2Packages.wrapPython
+    pkgconfig which git python2Packages.wrapPython makeWrapper
     (ensureNewerSourcesHook { year = "1980"; })
   ];
   
@@ -158,6 +159,7 @@ stdenv.mkDerivation {
 
   postFixup = ''
     wrapPythonPrograms
+    wrapProgram $out/bin/ceph-mgr --set PYTHONPATH $out/${python2Packages.python.sitePackages}
   '';
 
   enableParallelBuilding = true;
@@ -165,7 +167,7 @@ stdenv.mkDerivation {
   outputs = [ "dev" "lib" "out" "doc" ];
 
   meta = {
-    homepage = http://ceph.com/;
+    homepage = https://ceph.com/;
     description = "Distributed storage system";
     license = licenses.lgpl21;
     maintainers = with maintainers; [ adev ak wkennington ];
diff --git a/pkgs/tools/filesystems/curlftpfs/default.nix b/pkgs/tools/filesystems/curlftpfs/default.nix
index 8797c21aa23..4af7c9fb8c2 100644
--- a/pkgs/tools/filesystems/curlftpfs/default.nix
+++ b/pkgs/tools/filesystems/curlftpfs/default.nix
@@ -9,6 +9,8 @@ stdenv.mkDerivation {
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [fuse curl glib zlib];
 
+  doCheck = false; # fails, doesn't work well too, btw
+
   meta = {
     platforms = stdenv.lib.platforms.linux;
   };
diff --git a/pkgs/tools/filesystems/darling-dmg/default.nix b/pkgs/tools/filesystems/darling-dmg/default.nix
index 9e640b18a92..e44d0d22905 100644
--- a/pkgs/tools/filesystems/darling-dmg/default.nix
+++ b/pkgs/tools/filesystems/darling-dmg/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, cmake, fuse, zlib, bzip2, openssl, libxml2, icu } :
+{ stdenv, fetchFromGitHub, fetchpatch, cmake, fuse, zlib, bzip2, openssl, libxml2, icu } :
 
 stdenv.mkDerivation rec {
   name = "darling-dmg-${version}";
@@ -11,6 +11,13 @@ stdenv.mkDerivation rec {
     sha256 = "0x285p16zfnp0p6injw1frc8krif748sfgxhdd7gb75kz0dfbkrk";
   };
 
+  patches = [
+    (fetchpatch {
+      url = "https://github.com/darlinghq/darling-dmg/commit/cbb0092264b5c5cf3e92d6c2de23f02d859ebf44.patch";
+    sha256 = "05fhgn5c09f1rva6bvbq16nhlkblrhscbf69k04ajwdh7y98sw39";
+     })
+  ];
+
   buildInputs = [ cmake fuse openssl zlib bzip2 libxml2 icu ];
 
   meta = {
diff --git a/pkgs/tools/filesystems/dislocker/cmake_dirfix.patch b/pkgs/tools/filesystems/dislocker/cmake_dirfix.patch
deleted file mode 100644
index 829666bfe7a..00000000000
--- a/pkgs/tools/filesystems/dislocker/cmake_dirfix.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
-index 365903a..f126ade 100644
---- a/src/CMakeLists.txt
-+++ b/src/CMakeLists.txt
-@@ -149,7 +149,7 @@ if(NOT DEFINED bindir)
- endif()
- 
- string (TOLOWER "${CMAKE_SYSTEM_NAME}" SYSNAME)
--set (DIS_MAN ../man/${SYSNAME})
-+set (DIS_MAN ${PROJECT_SOURCE_DIR}/man/${SYSNAME})
- 
- # RPATH handling
- if(POLICY CMP0042)
diff --git a/pkgs/tools/filesystems/dislocker/default.nix b/pkgs/tools/filesystems/dislocker/default.nix
index 57676e7a89a..2e4ea88df7f 100644
--- a/pkgs/tools/filesystems/dislocker/default.nix
+++ b/pkgs/tools/filesystems/dislocker/default.nix
@@ -4,7 +4,7 @@
 }:
 with stdenv.lib;
 let
-  version = "0.6.1";
+  version = "0.7.1";
 in
 stdenv.mkDerivation rec {
   name = "dislocker-${version}";
@@ -13,13 +13,11 @@ stdenv.mkDerivation rec {
     owner = "aorimn";
     repo = "dislocker";
     rev = "v${version}";
-    sha256 = "1s2pvsf4jgzxk9d9m2ik7v7g81lvj8mhmhh7f53vwy0vmihf9h0d";
+    sha256 = "1crh2sg5x1kgqmdrl1nmrqwxjykxa4zwnbggcpdn97mj2gvdw7sb";
   };
 
   buildInputs = [ cmake fuse polarssl ];
 
-  patches = [ ./cmake_dirfix.patch ];
-
   meta = {
     description = "Read BitLocker encrypted partitions in Linux";
     homepage    = https://github.com/aorimn/dislocker;
diff --git a/pkgs/tools/filesystems/e2fsprogs/default.nix b/pkgs/tools/filesystems/e2fsprogs/default.nix
index 6326cda3539..1c8835a2ed4 100644
--- a/pkgs/tools/filesystems/e2fsprogs/default.nix
+++ b/pkgs/tools/filesystems/e2fsprogs/default.nix
@@ -1,18 +1,18 @@
 { stdenv, buildPackages, fetchurl, pkgconfig, libuuid, gettext, texinfo }:
 
 stdenv.mkDerivation rec {
-  name = "e2fsprogs-1.43.8";
+  name = "e2fsprogs-1.44.1";
 
   src = fetchurl {
     url = "mirror://sourceforge/e2fsprogs/${name}.tar.gz";
-    sha256 = "1pn33rap3lcjm3gx07pmgyhx4j634gja63phmi4g5dq8yj0z8ciz";
+    sha256 = "1rn1nvp8kcvjmbh2bxrjfbrz7zz519d52rrxqvc50l0hzs6hda55";
   };
 
   outputs = [ "bin" "dev" "out" "man" "info" ];
 
   depsBuildBuild = [ buildPackages.stdenv.cc ];
   nativeBuildInputs = [ pkgconfig texinfo ];
-  buildInputs = [ libuuid ] ++ stdenv.lib.optional (!stdenv.isLinux) gettext;
+  buildInputs = [ libuuid gettext ];
 
   configureFlags =
     if stdenv.isLinux then [
diff --git a/pkgs/tools/filesystems/encfs/default.nix b/pkgs/tools/filesystems/encfs/default.nix
index 03da84f7c73..1a9951a33fd 100644
--- a/pkgs/tools/filesystems/encfs/default.nix
+++ b/pkgs/tools/filesystems/encfs/default.nix
@@ -5,10 +5,10 @@
 
 stdenv.mkDerivation rec {
   name = "encfs-${version}";
-  version = "1.9.4";
+  version = "1.9.5";
 
   src = fetchFromGitHub {
-    sha256 = "1hp2l4yk7fsimlrrd6a675vigmyikd323l1n3mybcdng58skj2ag";
+    sha256 = "099rjb02knr6yz7przlnyj62ic0ag5ncs7vvcc36ikyqrmpqsdch";
     rev = "v${version}";
     repo = "encfs";
     owner = "vgough";
diff --git a/pkgs/tools/filesystems/ext4magic/default.nix b/pkgs/tools/filesystems/ext4magic/default.nix
new file mode 100644
index 00000000000..0211ab63b3e
--- /dev/null
+++ b/pkgs/tools/filesystems/ext4magic/default.nix
@@ -0,0 +1,39 @@
+{ stdenv, fetchurl, fetchpatch, file, libuuid, e2fsprogs, zlib, bzip2 }:
+
+stdenv.mkDerivation rec {
+  version = "0.3.2";
+  name = "ext4magic-${version}";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/ext4magic/${name}.tar.gz";
+    sha256 = "8d9c6a594f212aecf4eb5410d277caeaea3adc03d35378257dfd017ef20ea115";
+  };
+
+  patches = [
+    (fetchpatch {
+        url = https://sourceforge.net/p/ext4magic/tickets/10/attachment/ext4magic-0.3.2-i_dir_acl.patch;
+        sha256 = "1accydd8kigid68yir2fbihm3r3x8ws3iyznp25snkx41w6y6x8c";
+    })
+  ];
+
+  buildInputs = [ file libuuid e2fsprogs zlib bzip2 ];
+  installFlags = [ "PREFIX=$(out)" ];
+
+  meta = with stdenv.lib; {
+    description = "Recover / undelete files from ext3 or ext4 partitions";
+    longDescription = ''
+      ext4magic can recover/undelete files from ext3 or ext4 partitions
+      by retrieving file-information from the filesystem journal.
+
+      If the information in the journal are sufficient, ext4magic can
+      recover the most file types, with original filename, owner and group,
+      file mode bits and also the old atime/mtime stamps. 
+
+      It's much more effective and works much better than extundelete.
+    '';
+    homepage = http://ext4magic.sourceforge.net/ext4magic_en.html;
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.rkoe ];
+  };
+}
diff --git a/pkgs/tools/filesystems/extundelete/default.nix b/pkgs/tools/filesystems/extundelete/default.nix
index a30709d4c92..e0c5ea3def4 100644
--- a/pkgs/tools/filesystems/extundelete/default.nix
+++ b/pkgs/tools/filesystems/extundelete/default.nix
@@ -11,6 +11,14 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ e2fsprogs ];
 
+  # inode field i_dir_acl was repurposed as i_size_high in e2fsprogs 1.44,
+  # breaking the build
+  patchPhase = ''
+    substituteInPlace src/insertionops.cc \
+      --replace "Directory ACL:" "High 32 bits of size:" \
+      --replace "inode.i_dir_acl" "inode.i_size_high"
+  '';
+
   meta = with stdenv.lib; {
     description = "Utility that can recover deleted files from an ext3 or ext4 partition";
     homepage = http://extundelete.sourceforge.net/;
diff --git a/pkgs/tools/filesystems/f3/default.nix b/pkgs/tools/filesystems/f3/default.nix
index 4af076e8f2c..61c6ab253cc 100644
--- a/pkgs/tools/filesystems/f3/default.nix
+++ b/pkgs/tools/filesystems/f3/default.nix
@@ -1,27 +1,26 @@
 { stdenv, fetchFromGitHub
 , parted, udev
 }:
-let
-  version = "6.0-2016.11.16-unstable";
-in
+
 stdenv.mkDerivation rec {
-  name = "f3-${version}";
+  name = "${pname}-${version}";
+  pname = "f3";
+  version = "7.0";
 
   enableParallelBuilding = true;
 
   src = fetchFromGitHub {
     owner = "AltraMayor";
-    repo = "f3";
-    rev = "eabf001f69a788e64912bc9e812c118a324077d5";
-    sha256 = "0ypqyqwqiy3ynssdd9gamk1jxywg6avb45ndlzhv3wxh2qcframm";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "195j2zd747ffbsl8p5rf7dyn1j5n05zfqy1s9fm4y6lz8yc1nr17";
   };
 
   buildInputs = [ parted udev ];
 
   patchPhase = "sed -i 's/-oroot -groot//' Makefile";
 
-  buildFlags   = [ "CFLAGS=-fgnu89-inline"  # HACK for weird gcc incompatibility with -O2
-                   "all"                    # f3read, f3write
+  buildFlags   = [ "all"                    # f3read, f3write
                    "extra"                  # f3brew, f3fix, f3probe
                  ];
 
diff --git a/pkgs/tools/filesystems/fatsort/default.nix b/pkgs/tools/filesystems/fatsort/default.nix
index 3e4425847fa..75a94400627 100644
--- a/pkgs/tools/filesystems/fatsort/default.nix
+++ b/pkgs/tools/filesystems/fatsort/default.nix
@@ -1,12 +1,12 @@
 {stdenv, fetchurl, help2man}:
 
 stdenv.mkDerivation rec {
-  version = "1.3.365";
+  version = "1.4.2.439";
   name = "fatsort-${version}";
 
   src = fetchurl {
-    url = "mirror://sourceforge/fatsort/${name}.tar.gz";
-    sha256 = "0g9zn2ns86g7zmy0y8hw1w1zhnd51hy8yl6kflyhxs49n5sc7b3p";
+    url = "mirror://sourceforge/fatsort/${name}.tar.xz";
+    sha256 = "1q51qq69854kr12knhyqjv7skj95qld6j04pv5v3xvxs0y9zkg5x";
   };
 
   patches = [ ./fatsort-Makefiles.patch ];
diff --git a/pkgs/tools/filesystems/grive/default.nix b/pkgs/tools/filesystems/grive/default.nix
deleted file mode 100644
index 9f4472c27f1..00000000000
--- a/pkgs/tools/filesystems/grive/default.nix
+++ /dev/null
@@ -1,29 +0,0 @@
-{ stdenv, fetchgit, cmake, libgcrypt, json_c, curl, expat, boost, libiberty }:
-
-stdenv.mkDerivation rec {
-  version = "0.3.0";
-  name = "grive-${version}";
-
-  src = fetchgit {
-    url = "https://github.com/Grive/grive.git";
-    rev = "51e42914f3666ee6e0bc16a4c78f60b117265c24";
-    sha256 = "11cqfcjl128nfg1rjvpvr9x1x2ch3kyliw4vi14n51zqp82f9ysb";
-  };
-
-  buildInputs = [cmake libgcrypt json_c curl expat stdenv libiberty boost];
-
-  # work around new libiberty headers, see
-  # http://stackoverflow.com/questions/11748035/libiberty-bfd-h-wants-config-h-now
-  prePatch = ''
-    sed -i '1i#define PACKAGE "grive"\n#define PACKAGE_VERSION "${version}"' \
-      libgrive/src/bfd/SymbolInfo.cc
-  '';
-
-  meta = {
-    description = "An open source (experimental) Linux client for Google Drive";
-    homepage = https://github.com/Grive/grive;
-    license = stdenv.lib.licenses.gpl2;
-
-    platforms = stdenv.lib.platforms.linux;
-  };
-}
diff --git a/pkgs/tools/filesystems/irods/common.nix b/pkgs/tools/filesystems/irods/common.nix
index c7267aca107..902d7d7d1a1 100644
--- a/pkgs/tools/filesystems/irods/common.nix
+++ b/pkgs/tools/filesystems/irods/common.nix
@@ -47,7 +47,7 @@ with stdenv;
       important in data management. The development infrastructure supports exhaustive
       testing on supported platforms; plug-in support for microservices, storage resources,
       drivers, and databases; and extensive documentation, training and support services.'';
-    homepage = http://irods.org;
+    homepage = https://irods.org;
     license = stdenv.lib.licenses.bsd3;
     maintainers = [ stdenv.lib.maintainers.bzizou ];
     platforms = stdenv.lib.platforms.all;
diff --git a/pkgs/tools/filesystems/irods/default.nix b/pkgs/tools/filesystems/irods/default.nix
index 523028f5fb2..c2066f95ef5 100644
--- a/pkgs/tools/filesystems/irods/default.nix
+++ b/pkgs/tools/filesystems/irods/default.nix
@@ -1,8 +1,11 @@
-{ stdenv, fetchurl, python, bzip2, zlib, autoconf, automake, cmake, gnumake, help2man , texinfo, libtool , cppzmq , libarchive, avro-cpp, boost, jansson, zeromq, openssl , pam, libiodbc, kerberos, gcc, libcxx, which }:
+{ stdenv, fetchurl, python, bzip2, zlib, autoconf, automake, cmake, gnumake, help2man , texinfo, libtool , cppzmq , libarchive, avro-cpp_llvm, boost, jansson, zeromq, openssl , pam, libiodbc, kerberos, gcc, libcxx, which }:
 
 with stdenv;
 
 let
+  avro-cpp=avro-cpp_llvm;
+in
+let
   common = import ./common.nix {
     inherit stdenv bzip2 zlib autoconf automake cmake gnumake
             help2man texinfo libtool cppzmq libarchive jansson
@@ -13,13 +16,13 @@ in rec {
 
   # irods: libs and server package
   irods = stdenv.mkDerivation (common // rec {
-    version = "4.2.1";
+    version = "4.2.2";
     prefix = "irods";
     name = "${prefix}-${version}";
 
     src = fetchurl {
       url = "https://github.com/irods/irods/releases/download/${version}/irods-${version}.tar.gz";
-      sha256 = "07yj5g1mwra4sankhqx967mk4z28kc40rir5cb85x23ljql74abq";
+      sha256 = "0b89hs7sizwrs2ja7jl521byiwb58g297p0p7zg5frxmv4ig8dw7";
     };
 
     # Patches:
@@ -53,11 +56,11 @@ in rec {
 
   # icommands (CLI) package, depends on the irods package
   irods-icommands = stdenv.mkDerivation (common // rec {
-     version = "4.2.1";
+     version = "4.2.2";
      name = "irods-icommands-${version}";
      src = fetchurl {
        url = "http://github.com/irods/irods_client_icommands/archive/${version}.tar.gz";
-       sha256 = "1kg07frv2rf32nf53a1nxscwzgr0rpgxvp5fkmh5439knby10fqw";
+       sha256 = "15zcxrx0q5c3rli3snd0b2q4i0hs3zzcrbpnibbhsip855qvs77h";
      };
 
      buildInputs = common.buildInputs ++ [ irods ];
diff --git a/pkgs/tools/filesystems/irods/irods_root_path.patch b/pkgs/tools/filesystems/irods/irods_root_path.patch
index c88169ac023..16b6ba08cbb 100644
--- a/pkgs/tools/filesystems/irods/irods_root_path.patch
+++ b/pkgs/tools/filesystems/irods/irods_root_path.patch
@@ -1,5 +1,6 @@
---- a/lib/core/src/irods_default_paths.cpp	2016-10-24 17:09:02.955889536 +0200
-+++ b/lib/core/src/irods_default_paths.cpp	2016-10-24 17:09:43.178722157 +0200
+diff -r -u irods-4.2.0.orig/lib/core/src/irods_default_paths.cpp irods-4.2.0/lib/core/src/irods_default_paths.cpp
+--- irods-4.2.0.orig/lib/core/src/irods_default_paths.cpp	2016-11-15 06:23:55.000000000 +0000
++++ irods-4.2.0/lib/core/src/irods_default_paths.cpp	2016-12-20 18:03:17.156883399 +0000
 @@ -18,7 +18,7 @@
          try {
              boost::filesystem::path path{dl_info.dli_fname};
@@ -9,3 +10,62 @@
              return path;
          } catch(const boost::filesystem::filesystem_error& e) {
              THROW(-1, e.what());
+@@ -27,8 +27,7 @@
+ 
+     boost::filesystem::path
+     get_irods_config_directory() {
+-        boost::filesystem::path path{get_irods_root_directory()};
+-        path.append("etc").append("irods");
++        boost::filesystem::path path("/etc/irods");
+         return path;
+     }
+ 
+diff -r -u irods-4.2.0.orig/scripts/irods/paths.py irods-4.2.0/scripts/irods/paths.py
+--- irods-4.2.0.orig/scripts/irods/paths.py	2016-11-15 06:23:55.000000000 +0000
++++ irods-4.2.0/scripts/irods/paths.py	2016-12-21 15:17:07.437864606 +0000
+@@ -10,7 +10,7 @@
+     return os.path.join(root_directory(), 'var', 'lib', 'irods')
+ 
+ def config_directory():
+-    return os.path.join(root_directory(), 'etc', 'irods')
++    return os.path.join(os.path.abspath('/'), 'etc', 'irods')
+ 
+ def plugins_directory():
+     return os.path.join(root_directory(), 'usr', 'lib', 'irods', 'plugins')
+@@ -37,7 +37,7 @@
+ 
+ def version_path():
+     return os.path.join(
+-        irods_directory(),
++        home_directory(),
+         'VERSION.json')
+ 
+ def hosts_config_path():
+@@ -64,7 +64,7 @@
+ 
+ def log_directory():
+     return os.path.join(
+-        irods_directory(),
++        home_directory(),
+         'log')
+ 
+ def control_log_path():
+@@ -110,8 +110,7 @@
+ def server_bin_directory():
+     return os.path.join(
+         root_directory(),
+-        'usr',
+-        'sbin')
++        'bin')
+ 
+ def server_executable():
+     return os.path.join(
+@@ -132,7 +131,7 @@
+     return os.path.join(config_directory(), 'service_account.config')
+ 
+ def genosauth_path():
+-    return os.path.join(irods_directory(), 'clients', 'bin', 'genOSAuth')
++    return os.path.join(home_directory(), 'clients', 'bin', 'genOSAuth')
+ 
+ def irods_user_and_group_entries():
+     try:
diff --git a/pkgs/tools/filesystems/mergerfs/default.nix b/pkgs/tools/filesystems/mergerfs/default.nix
index a97f67b1b9e..16e6db8e4f7 100644
--- a/pkgs/tools/filesystems/mergerfs/default.nix
+++ b/pkgs/tools/filesystems/mergerfs/default.nix
@@ -1,21 +1,28 @@
-{ stdenv, fetchgit, autoconf, automake, pkgconfig, gettext, libtool, git, pandoc, which, attr, libiconv }:
+{ stdenv, fetchFromGitHub, automake, autoconf, pkgconfig, gettext, libtool, pandoc, which, attr, libiconv }:
 
 stdenv.mkDerivation rec {
   name = "mergerfs-${version}";
-  version = "2.23.1";
+  version = "2.24.2";
 
-  # not using fetchFromGitHub because of changelog being built with git log
-  src = fetchgit {
-    url = "https://github.com/trapexit/mergerfs";
-    rev = "refs/tags/${version}";
-    sha256 = "0kbw64fkp3pjc7qm3y1q0ja20v3lhxi0nsq6gd19rq3m7ch9hcgl";
-    deepClone = true;
-    leaveDotGit = true;
+  src = fetchFromGitHub {
+    owner = "trapexit";
+    repo = "mergerfs";
+    rev = version;
+    sha256 = "0i65v7900s7c9jkj3a4v44vf3r5mvjkbcic3df940nmk0clahhcs";
   };
 
-  nativeBuildInputs = [ autoconf automake pkgconfig gettext libtool git pandoc which ];
+  nativeBuildInputs = [
+    automake autoconf pkgconfig gettext libtool pandoc which
+  ];
   buildInputs = [ attr libiconv ];
 
+  preConfigure = ''
+    cat > src/version.hpp <<EOF
+    #pragma once
+    static const char MERGERFS_VERSION[] = "${version}";
+    EOF
+  '';
+
   makeFlags = [ "PREFIX=$(out)" "XATTR_AVAILABLE=1" ];
 
   meta = {
diff --git a/pkgs/tools/filesystems/mtools/default.nix b/pkgs/tools/filesystems/mtools/default.nix
index ff311b9fae2..e7a9963f650 100644
--- a/pkgs/tools/filesystems/mtools/default.nix
+++ b/pkgs/tools/filesystems/mtools/default.nix
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = http://www.gnu.org/software/mtools/;
     description = "Utilities to access MS-DOS disks";
-    platforms = stdenv.lib.platforms.gnu ++ stdenv.lib.platforms.darwin;
+    platforms = stdenv.lib.platforms.unix;
     maintainers = [ ];
   };
 }
diff --git a/pkgs/tools/filesystems/nilfs-utils/default.nix b/pkgs/tools/filesystems/nilfs-utils/default.nix
index 977add39b94..5bce3306519 100644
--- a/pkgs/tools/filesystems/nilfs-utils/default.nix
+++ b/pkgs/tools/filesystems/nilfs-utils/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, libuuid, libselinux }:
+{ stdenv, fetchurl, fetchpatch, libuuid, libselinux }:
 let 
   sourceInfo = rec {
     version = "2.2.7";
@@ -23,6 +23,18 @@ stdenv.mkDerivation rec {
     sed -e 's@/sbin/@'"$out"'/sbin/@' -i ./lib/cleaner*.c
   '';
 
+  patches = [
+    # Fix w/musl
+    (fetchpatch {
+      url = "https://github.com/nilfs-dev/nilfs-utils/commit/115fe4b976858c487cf83065f513d8626089579a.patch";
+      sha256 = "0h89jz9l5d4rqj647ljbnv451l4ncqpsvzj0v70mn5391hfwsjlv";
+    })
+    (fetchpatch {
+      url =  "https://github.com/nilfs-dev/nilfs-utils/commit/51b32c614be9e98c32de7f531ee600ca0740946f.patch";
+      sha256 = "1ycq83c6jjy74aif47v075k5y2szzwhq6mbcrpd1z4b4i1x6yhpn";
+    })
+  ];
+
   # FIXME: https://github.com/NixOS/patchelf/pull/98 is in, but stdenv
   # still doesn't use it
   #
diff --git a/pkgs/tools/filesystems/ntfs-3g/default.nix b/pkgs/tools/filesystems/ntfs-3g/default.nix
index 6acf5e221d4..4bcef5a83f0 100644
--- a/pkgs/tools/filesystems/ntfs-3g/default.nix
+++ b/pkgs/tools/filesystems/ntfs-3g/default.nix
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
 
   patches = [
     (fetchpatch {
-      url = "https://sources.debian.net/data/main/n/ntfs-3g/1:2016.2.22AR.1-4/debian/patches/0003-CVE-2017-0358.patch";
+      url = "https://sources.debian.org/data/main/n/ntfs-3g/1:2016.2.22AR.1+dfsg-1/debian/patches/0003-CVE-2017-0358.patch";
       sha256 = "0hd05q9q06r18k8pmppvch1sslzqln5fvqj51d5r72g4mnpavpj3";
     })
   ];
diff --git a/pkgs/tools/filesystems/smbnetfs/default.nix b/pkgs/tools/filesystems/smbnetfs/default.nix
index 7ff42c4d1f9..9c279f99b00 100644
--- a/pkgs/tools/filesystems/smbnetfs/default.nix
+++ b/pkgs/tools/filesystems/smbnetfs/default.nix
@@ -1,15 +1,15 @@
-{ stdenv, fetchurl, fuse, samba, pkgconfig, glib }:
+{ stdenv, fetchurl, fuse, samba, pkgconfig, glib, autoconf, attr, libsecret }:
 
 stdenv.mkDerivation rec {
   name = "smbnetfs-${version}";
-  version = "0.6.0";
+  version = "0.6.1";
   src = fetchurl {
     url = "mirror://sourceforge/project/smbnetfs/smbnetfs/SMBNetFS-${version}/${name}.tar.bz2";
-    sha256 = "16sikr81ipn8v1a1zrqgnsy2as3zcaxbzkr0bm5vxy012bq0plkd";
+    sha256 = "02iqjnm6pdwc1q38z56akiwdbp0xisr6qwrmxs1lrk5mq7j8x2w4";
   };
 
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ fuse samba glib ];
+  nativeBuildInputs = [ pkgconfig autoconf ];
+  buildInputs = [ fuse samba glib attr libsecret ];
 
   meta = with stdenv.lib; {
     description = "A FUSE FS for mounting Samba shares";
diff --git a/pkgs/tools/filesystems/squashfs/0001-If-SOURCE_DATE_EPOCH-is-set-override-timestamps-with.patch b/pkgs/tools/filesystems/squashfs/0001-If-SOURCE_DATE_EPOCH-is-set-override-timestamps-with.patch
new file mode 100644
index 00000000000..5626800e723
--- /dev/null
+++ b/pkgs/tools/filesystems/squashfs/0001-If-SOURCE_DATE_EPOCH-is-set-override-timestamps-with.patch
@@ -0,0 +1,90 @@
+From 0ab12a8585373be2de5129e14d979c62e7a90d82 Mon Sep 17 00:00:00 2001
+From: Chris Lamb <lamby@debian.org>
+Date: Mon, 21 Nov 2016 09:33:05 +0100
+Subject: [PATCH] If SOURCE_DATE_EPOCH is set, override timestamps with that
+ value.
+
+See https://reproducible-builds.org/specs/source-date-epoch/ for more
+information about this environment variable.
+
+Based on a patch by Alexander Couzens <lynxis@fe...> posted on
+https://sourceforge.net/p/squashfs/mailman/message/34673610/
+
+Signed-off-by: Chris Lamb <lamby@debian.org>
+---
+ squashfs-tools/mksquashfs.c | 38 ++++++++++++++++++++++++++++++++++++-
+ 1 file changed, 37 insertions(+), 1 deletion(-)
+
+diff --git a/squashfs-tools/mksquashfs.c b/squashfs-tools/mksquashfs.c
+index c2098bd..b49e956 100644
+--- a/squashfs-tools/mksquashfs.c
++++ b/squashfs-tools/mksquashfs.c
+@@ -137,6 +137,9 @@ unsigned int cache_bytes = 0, cache_size = 0, inode_count = 0;
+ /* inode lookup table */
+ squashfs_inode *inode_lookup_table = NULL;
+ 
++/* override filesystem creation time */
++time_t mkfs_fixed_time = -1;
++
+ /* in memory directory data */
+ #define I_COUNT_SIZE		128
+ #define DIR_ENTRIES		32
+@@ -5104,6 +5107,9 @@ int main(int argc, char *argv[])
+ 	int total_mem = get_default_phys_mem();
+ 	int progress = TRUE;
+ 	int force_progress = FALSE;
++	char *source_date_epoch, *endptr;
++	unsigned long long epoch;
++
+ 	struct file_buffer **fragment = NULL;
+ 
+ 	if(argc > 1 && strcmp(argv[1], "-version") == 0) {
+@@ -5641,6 +5647,36 @@ printOptions:
+ 		}
+ 	}
+ 
++	/* if SOURCE_DATE_EPOCH is set, use that timestamp for the mkfs time */
++	source_date_epoch = getenv("SOURCE_DATE_EPOCH");
++	if(source_date_epoch) {
++		errno = 0;
++		epoch = strtoull(source_date_epoch, &endptr, 10);
++		if((errno == ERANGE && (epoch == ULLONG_MAX || epoch == 0))
++				|| (errno != 0 && epoch == 0)) {
++			ERROR("Environment variable $SOURCE_DATE_EPOCH: "
++				"strtoull: %s\n", strerror(errno));
++			EXIT_MKSQUASHFS();
++		}
++		if(endptr == source_date_epoch) {
++			ERROR("Environment variable $SOURCE_DATE_EPOCH: "
++				"No digits were found: %s\n", endptr);
++			EXIT_MKSQUASHFS();
++		}
++		if(*endptr != '\0') {
++			ERROR("Environment variable $SOURCE_DATE_EPOCH: "
++				"Trailing garbage: %s\n", endptr);
++			EXIT_MKSQUASHFS();
++		}
++		if(epoch > ULONG_MAX) {
++			ERROR("Environment variable $SOURCE_DATE_EPOCH: "
++				"value must be smaller than or equal to "
++				"%lu but was found to be: %llu \n", ULONG_MAX, epoch);
++			EXIT_MKSQUASHFS();
++		}
++		mkfs_fixed_time = (time_t)epoch;
++	}
++
+ 	/*
+ 	 * Some compressors may need the options to be checked for validity
+ 	 * once all the options have been processed
+@@ -5993,7 +6029,7 @@ printOptions:
+	sBlk.flags = SQUASHFS_MKFLAGS(noI, noD, noF, noX, no_fragments,
+		always_use_fragments, duplicate_checking, exportable,
+		no_xattrs, comp_opts);
+-	sBlk.mkfs_time = time(NULL);
++	sBlk.mkfs_time = mkfs_fixed_time != -1 ? mkfs_fixed_time : time(NULL);
+ 
+ 	disable_info();
+ 
+-- 
+2.17.0
+
diff --git a/pkgs/tools/filesystems/squashfs/0002-If-SOURCE_DATE_EPOCH-is-set-also-clamp-content-times.patch b/pkgs/tools/filesystems/squashfs/0002-If-SOURCE_DATE_EPOCH-is-set-also-clamp-content-times.patch
new file mode 100644
index 00000000000..5002375887f
--- /dev/null
+++ b/pkgs/tools/filesystems/squashfs/0002-If-SOURCE_DATE_EPOCH-is-set-also-clamp-content-times.patch
@@ -0,0 +1,83 @@
+From 32a07d4156a281084c90a4b78affc8b0b32a26fc Mon Sep 17 00:00:00 2001
+From: intrigeri <intrigeri@boum.org>
+Date: Mon, 21 Nov 2016 11:41:28 +0000
+Subject: [PATCH] If SOURCE_DATE_EPOCH is set, also clamp content timestamps
+ with that value.
+
+Based on a patch by Alexander Couzens <lynxis@fe...> posted on
+https://sourceforge.net/p/squashfs/mailman/message/34673610/
+---
+ squashfs-tools/mksquashfs.c | 15 ++++++++++++---
+ 1 file changed, 12 insertions(+), 3 deletions(-)
+
+diff --git a/squashfs-tools/mksquashfs.c b/squashfs-tools/mksquashfs.c
+index b49e956..9f020bf 100644
+--- a/squashfs-tools/mksquashfs.c
++++ b/squashfs-tools/mksquashfs.c
+@@ -137,6 +137,9 @@ unsigned int cache_bytes = 0, cache_size = 0, inode_count = 0;
+ /* inode lookup table */
+ squashfs_inode *inode_lookup_table = NULL;
+ 
++/* clamp all timestamps to SOURCE_DATE_EPOCH */
++time_t content_clamp_time = -1;
++
+ /* override filesystem creation time */
+ time_t mkfs_fixed_time = -1;
+ 
+@@ -2246,6 +2249,8 @@ restat:
+ 			  pathname_reader(dir_ent), strerror(errno));
+ 		goto read_err;
+ 	}
++	if(content_clamp_time != -1 && buf2.st_mtime >= content_clamp_time)
++		buf2.st_mtime = content_clamp_time;
+ 
+ 	if(read_size != buf2.st_size) {
+ 		close(file);
+@@ -3101,7 +3106,7 @@ void dir_scan(squashfs_inode *inode, char *pathname,
+ 		buf.st_mode = S_IRWXU | S_IRWXG | S_IRWXO | S_IFDIR;
+ 		buf.st_uid = getuid();
+ 		buf.st_gid = getgid();
+-		buf.st_mtime = time(NULL);
++		buf.st_mtime = content_clamp_time != -1 ? content_clamp_time : time(NULL);
+ 		buf.st_dev = 0;
+ 		buf.st_ino = 0;
+ 		dir_ent->inode = lookup_inode2(&buf, PSEUDO_FILE_OTHER, 0);
+@@ -3127,6 +3115,8 @@ void dir_scan(squashfs_inode *inode, char *pathname,
+			/* source directory has disappeared? */
+			BAD_ERROR("Cannot stat source directory %s because %s\n",
+				pathname, strerror(errno));
++		if(content_clamp_time != -1 && buf.st_mtime >= content_clamp_time)
++			buf.st_mtime = content_clamp_time;
+ 		dir_ent->inode = lookup_inode(&buf);
+ 	}
+ 
+@@ -3365,6 +3372,8 @@ struct dir_info *dir_scan1(char *filename, char *subpath,
+ 			free_dir_entry(dir_ent);
+ 			continue;
+ 		}
++		if(content_clamp_time != -1 && buf.st_mtime >= content_clamp_time)
++			buf.st_mtime = content_clamp_time;
+ 
+ 		if((buf.st_mode & S_IFMT) != S_IFREG &&
+ 				(buf.st_mode & S_IFMT) != S_IFDIR &&
+@@ -3544,7 +3553,7 @@ void dir_scan2(struct dir_info *dir, struct pseudo *pseudo)
+		buf.st_gid = pseudo_ent->dev->gid;
+		buf.st_rdev = makedev(pseudo_ent->dev->major,
+			pseudo_ent->dev->minor);
+-		buf.st_mtime = time(NULL);
++		buf.st_mtime = content_clamp_time != -1 ? content_clamp_time : time(NULL);
+ 		buf.st_ino = pseudo_ino ++;
+ 
+ 		if(pseudo_ent->dev->type == 'd') {
+@@ -5674,7 +5683,7 @@ printOptions:
+ 				"%lu but was found to be: %llu \n", ULONG_MAX, epoch);
+ 			EXIT_MKSQUASHFS();
+ 		}
+-		mkfs_fixed_time = (time_t)epoch;
++		mkfs_fixed_time = content_clamp_time = (time_t)epoch;
+ 	}
+ 
+ 	/*
+-- 
+2.17.0
+
diff --git a/pkgs/tools/filesystems/squashfs/0003-remove-frag-deflator-thread.patch b/pkgs/tools/filesystems/squashfs/0003-remove-frag-deflator-thread.patch
new file mode 100644
index 00000000000..4be4b96369a
--- /dev/null
+++ b/pkgs/tools/filesystems/squashfs/0003-remove-frag-deflator-thread.patch
@@ -0,0 +1,220 @@
+From afc0c76a170bd17cbd29bbec6ae6d2227e398570 Mon Sep 17 00:00:00 2001
+From: Alexander Couzens <lynxis@fe80.eu>
+Date: Fri, 13 Jan 2017 22:00:37 +0100
+Subject: [PATCH] remove frag_deflator_thread
+
+frag_deflator_thread compress fragments.
+Replace the deflator_thread with a function and
+use the function instead of the to_frag queue.
+---
+ squashfs-tools/info.c       |  5 ---
+ squashfs-tools/mksquashfs.c | 76 +++++++++++++------------------------
+ squashfs-tools/mksquashfs.h |  2 +-
+ squashfs-tools/restore.c    | 15 +-------
+ 4 files changed, 30 insertions(+), 68 deletions(-)
+
+diff --git a/squashfs-tools/info.c b/squashfs-tools/info.c
+index 7968c77..028d578 100644
+--- a/squashfs-tools/info.c
++++ b/squashfs-tools/info.c
+@@ -96,11 +96,6 @@ void dump_state()
+ 	printf("compressed block queue (deflate thread(s) -> main thread)\n");
+ 	dump_seq_queue(to_main, 0);
+ 
+-	printf("uncompressed packed fragment queue (main thread -> fragment"
+-						" deflate thread(s))\n");
+-	dump_queue(to_frag);
+-
+-
+ 	printf("locked frag queue (compressed frags waiting while multi-block"
+ 						" file is written)\n");
+ 	dump_queue(locked_fragment);
+diff --git a/squashfs-tools/mksquashfs.c b/squashfs-tools/mksquashfs.c
+index cf48e40..cacf14c 100644
+--- a/squashfs-tools/mksquashfs.c
++++ b/squashfs-tools/mksquashfs.c
+@@ -270,10 +270,10 @@ unsigned int sid_count = 0, suid_count = 0, sguid_count = 0;
+ struct cache *reader_buffer, *fragment_buffer, *reserve_cache;
+ struct cache *bwriter_buffer, *fwriter_buffer;
+ struct queue *to_reader, *to_deflate, *to_writer, *from_writer,
+-	*to_frag, *locked_fragment, *to_process_frag;
++	*locked_fragment, *to_process_frag;
+ struct seq_queue *to_main;
+ pthread_t reader_thread, writer_thread, main_thread;
+-pthread_t *deflator_thread, *frag_deflator_thread, *frag_thread;
++pthread_t *deflator_thread, *frag_thread;
+ pthread_t *restore_thread = NULL;
+ pthread_mutex_t	fragment_mutex = PTHREAD_MUTEX_INITIALIZER;
+ pthread_mutex_t	pos_mutex = PTHREAD_MUTEX_INITIALIZER;
+@@ -323,7 +323,7 @@ struct dir_info *scan1_opendir(char *pathname, char *subpath, int depth);
+ void write_filesystem_tables(struct squashfs_super_block *sBlk, int nopad);
+ unsigned short get_checksum_mem(char *buff, int bytes);
+ void check_usable_phys_mem(int total_mem);
+-
++void frag_deflator(struct file_buffer *file_buffer);
+ 
+ void prep_exit()
+ {
+@@ -1540,7 +1540,7 @@ void write_fragment(struct file_buffer *fragment)
+ 	pthread_mutex_lock(&fragment_mutex);
+ 	fragment_table[fragment->block].unused = 0;
+ 	fragments_outstanding ++;
+-	queue_put(to_frag, fragment);
++	frag_deflator(fragment);
+ 	pthread_cleanup_pop(1);
+ }
+ 
+@@ -2412,51 +2412,34 @@ void *deflator(void *arg)
+ }
+ 
+ 
+-void *frag_deflator(void *arg)
++void frag_deflator(struct file_buffer *file_buffer)
+ {
+-	void *stream = NULL;
+-	int res;
+ 
+-	res = compressor_init(comp, &stream, block_size, 1);
+-	if(res)
+-		BAD_ERROR("frag_deflator:: compressor_init failed\n");
+-
+-	pthread_cleanup_push((void *) pthread_mutex_unlock, &fragment_mutex);
+-
+-	while(1) {
+-		int c_byte, compressed_size;
+-		struct file_buffer *file_buffer = queue_get(to_frag);
+-		struct file_buffer *write_buffer =
++	int c_byte, compressed_size;
++	struct file_buffer *write_buffer =
+ 			cache_get(fwriter_buffer, file_buffer->block);
+ 
+-		c_byte = mangle2(stream, write_buffer->data, file_buffer->data,
+-			file_buffer->size, block_size, noF, 1);
+-		compressed_size = SQUASHFS_COMPRESSED_SIZE_BLOCK(c_byte);
+-		write_buffer->size = compressed_size;
+-		pthread_mutex_lock(&fragment_mutex);
+-		if(fragments_locked == FALSE) {
+-			fragment_table[file_buffer->block].size = c_byte;
+-			fragment_table[file_buffer->block].start_block = bytes;
+-			write_buffer->block = bytes;
+-			bytes += compressed_size;
+-			fragments_outstanding --;
+-			queue_put(to_writer, write_buffer);
+-			pthread_mutex_unlock(&fragment_mutex);
+-			TRACE("Writing fragment %lld, uncompressed size %d, "
+-				"compressed size %d\n", file_buffer->block,
+-				file_buffer->size, compressed_size);
+-		} else {
+-				add_pending_fragment(write_buffer, c_byte,
+-					file_buffer->block);
+-				pthread_mutex_unlock(&fragment_mutex);
+-		}
+-		cache_block_put(file_buffer);
++	c_byte = mangle2(stream, write_buffer->data, file_buffer->data,
++			 file_buffer->size, block_size, noF, 1);
++	compressed_size = SQUASHFS_COMPRESSED_SIZE_BLOCK(c_byte);
++	write_buffer->size = compressed_size;
++	if(fragments_locked == FALSE) {
++		fragment_table[file_buffer->block].size = c_byte;
++		fragment_table[file_buffer->block].start_block = bytes;
++		write_buffer->block = bytes;
++		bytes += compressed_size;
++		fragments_outstanding --;
++		queue_put(to_writer, write_buffer);
++		TRACE("Writing fragment %lld, uncompressed size %d, "
++		      "compressed size %d\n", file_buffer->block,
++		      file_buffer->size, compressed_size);
++	} else {
++		add_pending_fragment(write_buffer, c_byte,
++				     file_buffer->block);
+ 	}
+-
+-	pthread_cleanup_pop(0);
++	cache_block_put(file_buffer);
+ }
+ 
+-
+ struct file_buffer *get_file_buffer()
+ {
+ 	struct file_buffer *file_buffer = seq_queue_get(to_main);
+@@ -4257,19 +4240,17 @@ void initialise_threads(int readq, int fragq, int bwriteq, int fwriteq,
+ 			multiply_overflow(processors * 3, sizeof(pthread_t)))
+ 		BAD_ERROR("Processors too large\n");
+ 
+-	deflator_thread = malloc(processors * 3 * sizeof(pthread_t));
++	deflator_thread = malloc(processors * 2 * sizeof(pthread_t));
+ 	if(deflator_thread == NULL)
+ 		MEM_ERROR();
+ 
+-	frag_deflator_thread = &deflator_thread[processors];
+-	frag_thread = &frag_deflator_thread[processors];
++	frag_thread = &deflator_thread[processors];
+ 
+ 	to_reader = queue_init(1);
+ 	to_deflate = queue_init(reader_size);
+ 	to_process_frag = queue_init(reader_size);
+ 	to_writer = queue_init(bwriter_size + fwriter_size);
+ 	from_writer = queue_init(1);
+-	to_frag = queue_init(fragment_size);
+ 	locked_fragment = queue_init(fragment_size);
+ 	to_main = seq_queue_init();
+ 	reader_buffer = cache_init(block_size, reader_size, 0, 0);
+@@ -4285,9 +4266,6 @@ void initialise_threads(int readq, int fragq, int bwriteq, int fwriteq,
+ 	for(i = 0; i < processors; i++) {
+ 		if(pthread_create(&deflator_thread[i], NULL, deflator, NULL))
+ 			BAD_ERROR("Failed to create thread\n");
+-		if(pthread_create(&frag_deflator_thread[i], NULL, frag_deflator,
+-				NULL) != 0)
+-			BAD_ERROR("Failed to create thread\n");
+ 		if(pthread_create(&frag_thread[i], NULL, frag_thrd,
+ 				(void *) destination_file) != 0)
+ 			BAD_ERROR("Failed to create thread\n");
+diff --git a/squashfs-tools/mksquashfs.h b/squashfs-tools/mksquashfs.h
+index 55708a3..dc5bde4 100644
+--- a/squashfs-tools/mksquashfs.h
++++ b/squashfs-tools/mksquashfs.h
+@@ -135,7 +135,7 @@ struct append_file {
+ extern struct cache *reader_buffer, *fragment_buffer, *reserve_cache;
+ struct cache *bwriter_buffer, *fwriter_buffer;
+ extern struct queue *to_reader, *to_deflate, *to_writer, *from_writer,
+-	*to_frag, *locked_fragment, *to_process_frag;
++	*locked_fragment, *to_process_frag;
+ extern struct append_file **file_mapping;
+ extern struct seq_queue *to_main;
+ extern pthread_mutex_t fragment_mutex, dup_mutex;
+diff --git a/squashfs-tools/restore.c b/squashfs-tools/restore.c
+index 5e336b3..a7aaf2e 100644
+--- a/squashfs-tools/restore.c
++++ b/squashfs-tools/restore.c
+@@ -47,8 +47,8 @@
+ #define TRUE 1
+ 
+ extern pthread_t reader_thread, writer_thread, main_thread;
+-extern pthread_t *deflator_thread, *frag_deflator_thread, *frag_thread;
+-extern struct queue *to_deflate, *to_writer, *to_frag, *to_process_frag;
++extern pthread_t *deflator_thread, *frag_thread;
++extern struct queue *to_deflate, *to_writer, *to_process_frag;
+ extern struct seq_queue *to_main;
+ extern void restorefs();
+ extern int processors;
+@@ -120,17 +120,6 @@ void *restore_thrd(void *arg)
+ 		pthread_cancel(main_thread);
+ 		pthread_join(main_thread, NULL);
+ 
+-		/* then flush the main thread to fragment deflator thread(s)
+-		 * queue.  The fragment deflator thread(s) will idle
+-		 */
+-		queue_flush(to_frag);
+-
+-		/* now kill the fragment deflator thread(s) */
+-		for(i = 0; i < processors; i++)
+-			pthread_cancel(frag_deflator_thread[i]);
+-		for(i = 0; i < processors; i++)
+-			pthread_join(frag_deflator_thread[i], NULL);
+-
+ 		/*
+ 		 * then flush the main thread/fragment deflator thread(s)
+ 		 * to writer thread queue.  The writer thread will idle
+-- 
+2.17.0
+
diff --git a/pkgs/tools/filesystems/squashfs/default.nix b/pkgs/tools/filesystems/squashfs/default.nix
index a2fc5bc3d40..a7f4e85eb34 100644
--- a/pkgs/tools/filesystems/squashfs/default.nix
+++ b/pkgs/tools/filesystems/squashfs/default.nix
@@ -15,6 +15,15 @@ stdenv.mkDerivation rec {
     rev = "9c1db6d13a51a2e009f0027ef336ce03624eac0d";
   };
 
+  # These patches ensures that mksquashfs output is reproducible.
+  # See also https://reproducible-builds.org/docs/system-images/
+  # and https://github.com/NixOS/nixpkgs/issues/40144.
+  patches = [
+    ./0001-If-SOURCE_DATE_EPOCH-is-set-override-timestamps-with.patch
+    ./0002-If-SOURCE_DATE_EPOCH-is-set-also-clamp-content-times.patch
+    ./0003-remove-frag-deflator-thread.patch
+  ];
+
   buildInputs = [ zlib xz ]
     ++ stdenv.lib.optional lz4Support lz4;
 
@@ -29,5 +38,7 @@ stdenv.mkDerivation rec {
     homepage = http://squashfs.sourceforge.net/;
     description = "Tool for creating and unpacking squashfs filesystems";
     platforms = stdenv.lib.platforms.linux;
+    license = stdenv.lib.licenses.gpl2Plus;
+    maintainers = with stdenv.lib.maintainers; [ ruuda ];
   };
 }
diff --git a/pkgs/tools/filesystems/squashfuse/default.nix b/pkgs/tools/filesystems/squashfuse/default.nix
new file mode 100644
index 00000000000..341b025b079
--- /dev/null
+++ b/pkgs/tools/filesystems/squashfuse/default.nix
@@ -0,0 +1,33 @@
+{ stdenv, fetchFromGitHub, fetchpatch, automake, autoreconfHook, libtool, fuse,
+  pkgconfig, pcre, lz4, xz, zlib, lzo, zstd }:
+
+with stdenv.lib;
+
+stdenv.mkDerivation rec {
+
+  pname = "squashfuse";
+  version = "unstable-2018-02-20";
+  name = "${pname}-${version}";
+
+  meta = {
+    description = "FUSE filesystem to mount squashfs archives";
+    homepage = https://github.com/vasi/squashfuse;
+    maintainers = [ maintainers.genesis ];
+    platforms = platforms.linux;
+    license = "BSD-2-Clause";
+  };
+
+  # platforms.darwin should be supported : see PLATFORMS file in src.
+  # we could use a nix fuseProvider, and let the derivation choose the OS
+  # specific implementation.
+
+  src = fetchFromGitHub {
+    owner = "vasi";
+    repo  = "${pname}";
+    rev = "3f4a93f373796e88f7eee3a0c005ef60cb395d30";
+    sha256 = "07jv4qjjz9ky3mw3p5prgs19g1bna9dcd7jjdz8083s1wyipdgcq";
+  };
+
+  nativeBuildInputs = [ autoreconfHook libtool pkgconfig ];
+  buildInputs = [ lz4 xz zlib lzo zstd fuse ];
+}
diff --git a/pkgs/tools/filesystems/sshfs-fuse/default.nix b/pkgs/tools/filesystems/sshfs-fuse/default.nix
index 6fd55c369d5..6f2fb68775d 100644
--- a/pkgs/tools/filesystems/sshfs-fuse/default.nix
+++ b/pkgs/tools/filesystems/sshfs-fuse/default.nix
@@ -5,14 +5,14 @@
 let
   inherit (stdenv.lib) optional;
 in stdenv.mkDerivation rec {
-  version = "3.3.1";
+  version = "3.3.2";
   name = "sshfs-fuse-${version}";
 
   src = fetchFromGitHub {
     owner = "libfuse";
     repo = "sshfs";
     rev = "sshfs-${version}";
-    sha256 = "15z1mlad09llckkadvjfzmbv14fbq218xmb4axkmi7kzixbi41hv";
+    sha256 = "01nrdprkqynk20yw6zdn6w8xv4hdw47g5d0v5qvfw0wls2kmadyr";
   };
 
   nativeBuildInputs = [ meson pkgconfig ninja docutils ];
diff --git a/pkgs/tools/filesystems/tmsu/default.nix b/pkgs/tools/filesystems/tmsu/default.nix
index 89e5c0f35f0..35965346505 100644
--- a/pkgs/tools/filesystems/tmsu/default.nix
+++ b/pkgs/tools/filesystems/tmsu/default.nix
@@ -56,6 +56,6 @@ stdenv.mkDerivation rec {
     description = "A tool for tagging your files using a virtual filesystem";
     maintainers = with maintainers; [ pSub ];
     license     = licenses.gpl3;
-    platforms   = platforms.all;
+    platforms   = platforms.linux;
   };
 }
diff --git a/pkgs/tools/filesystems/xfsprogs/default.nix b/pkgs/tools/filesystems/xfsprogs/default.nix
index 5321fd8a830..cc2bbad1680 100644
--- a/pkgs/tools/filesystems/xfsprogs/default.nix
+++ b/pkgs/tools/filesystems/xfsprogs/default.nix
@@ -30,6 +30,7 @@ stdenv.mkDerivation rec {
     (gentooPatch "xfsprogs-4.12.0-sharedlibs.patch" "1i081749x91jvlrw84l4a3r081vqcvn6myqhnqbnfcfhd64h12bq")
     (gentooPatch "xfsprogs-4.7.0-libxcmd-link.patch" "1lvy1ajzml39a631a7jqficnzsd40bzkca7hkxv1ybiqyp8sf55s")
     (gentooPatch "xfsprogs-4.9.0-underlinking.patch" "1r7l8jphspy14i43zbfnjrnyrdm4cpgyfchblascxylmans0gci7")
+    ./glibc-2.27.patch
   ];
 
   preConfigure = ''
diff --git a/pkgs/tools/filesystems/xfsprogs/glibc-2.27.patch b/pkgs/tools/filesystems/xfsprogs/glibc-2.27.patch
new file mode 100644
index 00000000000..1f398b1daa8
--- /dev/null
+++ b/pkgs/tools/filesystems/xfsprogs/glibc-2.27.patch
@@ -0,0 +1,53 @@
+From 8041435de7ed028a27ecca64302945ad455c69a6 Mon Sep 17 00:00:00 2001
+From: "Darrick J. Wong" <darrick.wong@oracle.com>
+Date: Mon, 5 Feb 2018 14:38:02 -0600
+Subject: xfs_io: fix copy_file_range symbol name collision
+
+glibc 2.27 has a copy_file_range wrapper, so we need to change our
+internal function out of the way to avoid compiler warnings.
+
+Reported-by: fredrik@crux.nu
+Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
+Reviewed-by: Eric Sandeen <sandeen@redhat.com>
+Signed-off-by: Eric Sandeen <sandeen@sandeen.net>
+---
+ io/copy_file_range.c | 11 ++++++++---
+ 1 file changed, 8 insertions(+), 3 deletions(-)
+
+diff --git a/io/copy_file_range.c b/io/copy_file_range.c
+index d1dfc5a..99fba20 100644
+--- a/io/copy_file_range.c
++++ b/io/copy_file_range.c
+@@ -42,13 +42,18 @@ copy_range_help(void)
+ "));
+ }
+ 
++/*
++ * Issue a raw copy_file_range syscall; for our test program we don't want the
++ * glibc buffered copy fallback.
++ */
+ static loff_t
+-copy_file_range(int fd, loff_t *src, loff_t *dst, size_t len)
++copy_file_range_cmd(int fd, loff_t *src, loff_t *dst, size_t len)
+ {
+ 	loff_t ret;
+ 
+ 	do {
+-		ret = syscall(__NR_copy_file_range, fd, src, file->fd, dst, len, 0);
++		ret = syscall(__NR_copy_file_range, fd, src, file->fd, dst,
++				len, 0);
+ 		if (ret == -1) {
+ 			perror("copy_range");
+ 			return errno;
+@@ -130,7 +135,7 @@ copy_range_f(int argc, char **argv)
+ 		copy_dst_truncate();
+ 	}
+ 
+-	ret = copy_file_range(fd, &src, &dst, len);
++	ret = copy_file_range_cmd(fd, &src, &dst, len);
+ 	close(fd);
+ 	return ret;
+ }
+-- 
+cgit v1.1
+
diff --git a/pkgs/tools/filesystems/yandex-disk/default.nix b/pkgs/tools/filesystems/yandex-disk/default.nix
index 77302f3d4a2..2f7e80dd912 100644
--- a/pkgs/tools/filesystems/yandex-disk/default.nix
+++ b/pkgs/tools/filesystems/yandex-disk/default.nix
@@ -1,7 +1,5 @@
 { stdenv, fetchurl, writeText, zlib, rpmextract, patchelf, which }:
 
-assert stdenv.isLinux;
-
 let
   p = if stdenv.is64bit then {
       arch = "x86_64";
@@ -13,7 +11,7 @@ let
       gcclib = "${stdenv.cc.cc.lib}/lib";
       sha256 = "09h71i3k9d24ki81jdwhnav63fqbc44glbx228s9g3cr4ap41jcx";
     };
-in 
+in
 stdenv.mkDerivation rec {
 
   name = "yandex-disk-${version}";
@@ -64,4 +62,3 @@ stdenv.mkDerivation rec {
     '';
   };
 }
-
diff --git a/pkgs/tools/graphics/argyllcms/default.nix b/pkgs/tools/graphics/argyllcms/default.nix
index 3cdb4497baf..d35eae87204 100644
--- a/pkgs/tools/graphics/argyllcms/default.nix
+++ b/pkgs/tools/graphics/argyllcms/default.nix
@@ -2,7 +2,7 @@
 , libXrender, libXext, libtiff, libjpeg, libpng, libXScrnSaver, writeText
 , libXdmcp, libXau, lib, openssl, zlib }:
 let
-  version = "1.8.3";
+  version = "2.0.0";
  in
 stdenv.mkDerivation rec {
   name = "argyllcms-${version}";
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
     # Kind of flacky URL, it was reaturning 406 and inconsistent binaries for a
     # while on me. It might be good to find a mirror
     url = "http://www.argyllcms.com/Argyll_V${version}_src.zip";
-    sha256 = "00ggh47qzb3xyl8rnppwxa6j113lr38aiwvsfyxwgs51aqmvq7bd";
+    sha256 = "1583hspas7rw5xwrs1rb4yn1yl34wh6lfik6xyszpfv39a2axdxx";
 
     # The argyllcms web server doesn't like curl ...
     curlOpts = "--user-agent 'Mozilla/5.0'";
diff --git a/pkgs/tools/graphics/asymptote/default.nix b/pkgs/tools/graphics/asymptote/default.nix
index 04863d6ce62..01ddd6ba7fc 100644
--- a/pkgs/tools/graphics/asymptote/default.nix
+++ b/pkgs/tools/graphics/asymptote/default.nix
@@ -9,11 +9,11 @@ let
   s = # Generated upstream information
   rec {
     baseName="asymptote";
-    version="2.41";
+    version="2.44";
     name="${baseName}-${version}";
-    hash="1w7fbq6gy65g0mxg6wdxi7v178c5yxvh9yrnv3bzm4sjzf4pwvhx";
-    url="https://freefr.dl.sourceforge.net/project/asymptote/2.41/asymptote-2.41.src.tgz";
-    sha256="1w7fbq6gy65g0mxg6wdxi7v178c5yxvh9yrnv3bzm4sjzf4pwvhx";
+    hash="1rs9v95g19ri6ra2m921jf2yr9avqnzfybrqxilsld98xpqx56vg";
+    url="https://freefr.dl.sourceforge.net/project/asymptote/2.44/asymptote-2.44.src.tgz";
+    sha256="1rs9v95g19ri6ra2m921jf2yr9avqnzfybrqxilsld98xpqx56vg";
   };
   buildInputs = [
    ghostscriptX imagemagick fftw
@@ -51,7 +51,9 @@ stdenv.mkDerivation {
     rmdir $out/share/info/asymptote
     rm $out/share/info/dir
 
-    rm -rf "$out"/share/texmf
+    rm -rfv "$out"/share/texmf
+    mkdir -pv "$out"/share/emacs/site-lisp/${s.name}
+    mv -v "$out"/share/asymptote/*.el "$out"/share/emacs/site-lisp/${s.name}
   '';
 
   enableParallelBuilding = true;
diff --git a/pkgs/tools/graphics/dcraw/default.nix b/pkgs/tools/graphics/dcraw/default.nix
index 30546865bcc..0223375a088 100644
--- a/pkgs/tools/graphics/dcraw/default.nix
+++ b/pkgs/tools/graphics/dcraw/default.nix
@@ -1,11 +1,11 @@
 {stdenv, fetchurl, libjpeg, lcms2, gettext, jasper }:
 
 stdenv.mkDerivation rec {
-  name = "dcraw-9.26.0";
+  name = "dcraw-9.27.0";
 
   src = fetchurl {
     url = "http://www.cybercom.net/~dcoffin/dcraw/archive/${name}.tar.gz";
-    sha256 = "18zvzaxjq1yaj90xm8bwb30lqbjyjyp002bp175dayh3kr91syc5";
+    sha256 = "16bhk3pl5kb9ikv367szl8m92nx85rqypz5im8x3sakm357wrn61";
   };
 
   buildInputs = [ libjpeg lcms2 gettext jasper ];
diff --git a/pkgs/tools/graphics/editres/default.nix b/pkgs/tools/graphics/editres/default.nix
index 91dd85b0757..8bc33fb1b0a 100644
--- a/pkgs/tools/graphics/editres/default.nix
+++ b/pkgs/tools/graphics/editres/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, pkgconfig, libXt, libXaw, libXres, utilmacros }:
 
 stdenv.mkDerivation rec {
-  name = "editres-1.0.6";
+  name = "editres-1.0.7";
 
   src = fetchurl {
     url = "mirror://xorg/individual/app/${name}.tar.gz";
-    sha256 = "06kv7dmw6pzlqc46dbh8k9xpb6sn4ihh0bcpxq0zpvw2lm66dx45";
+    sha256 = "10mbgijb6ac6wqb2grpy9mrazzw68jxjkxr9cbdf1111pa64yj19";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/tools/graphics/exif/default.nix b/pkgs/tools/graphics/exif/default.nix
index 537d1a8c7db..d6ec68ba3cc 100644
--- a/pkgs/tools/graphics/exif/default.nix
+++ b/pkgs/tools/graphics/exif/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, libexif, popt, libintlOrEmpty }:
+{ stdenv, fetchurl, pkgconfig, libexif, popt, libintl }:
 
 stdenv.mkDerivation rec {
   name = "exif-0.6.21";
@@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ libexif popt ] ++ libintlOrEmpty;
+  buildInputs = [ libexif popt libintl ];
 
   meta = {
     homepage = http://libexif.sourceforge.net/;
diff --git a/pkgs/tools/graphics/gifsicle/default.nix b/pkgs/tools/graphics/gifsicle/default.nix
index 7c5f9eaf5de..05ce6b6f7c9 100644
--- a/pkgs/tools/graphics/gifsicle/default.nix
+++ b/pkgs/tools/graphics/gifsicle/default.nix
@@ -4,11 +4,11 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   name = "gifsicle-${version}";
-  version = "1.90";
+  version = "1.91";
 
   src = fetchurl {
     url = "http://www.lcdf.org/gifsicle/${name}.tar.gz";
-    sha256 = "0kc35g99fygzjj7qjcy87rdb8mbgmacr2mga9ihgln1dfnbb0wrd";
+    sha256 = "00586z1yz86qcblgmf16yly39n4lkjrscl52hvfxqk14m81fckha";
   };
 
   buildInputs = optional gifview [ xproto libXt libX11 ];
diff --git a/pkgs/tools/graphics/glmark2/default.nix b/pkgs/tools/graphics/glmark2/default.nix
index 8a75fea33ce..43da52634e6 100644
--- a/pkgs/tools/graphics/glmark2/default.nix
+++ b/pkgs/tools/graphics/glmark2/default.nix
@@ -1,5 +1,5 @@
-{ stdenv, fetchFromGitHub, pkgconfig, libjpeg, libpng, xorg, libX11, libGLU_combined, libdrm,
-  python27, wayland, libudev }:
+{ stdenv, fetchFromGitHub, pkgconfig, libjpeg, libpng, xorg, libX11, libGL, libdrm,
+  python27, wayland, libudev, mesa_noglu }:
 
 stdenv.mkDerivation rec {
   name = "glmark2-${version}";
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    libjpeg libpng xorg.libxcb libX11 libGLU_combined libdrm python27 wayland libudev
+    libjpeg libpng xorg.libxcb libX11 libGL libdrm python27 wayland libudev mesa_noglu
   ];
 
   buildPhase = ''
diff --git a/pkgs/tools/graphics/glxinfo/default.nix b/pkgs/tools/graphics/glxinfo/default.nix
index b4b881e6c50..a3a9a4d8eda 100644
--- a/pkgs/tools/graphics/glxinfo/default.nix
+++ b/pkgs/tools/graphics/glxinfo/default.nix
@@ -1,23 +1,22 @@
-{ stdenv, fetchurl, xlibsWrapper, libGL }:
+{ stdenv, fetchurl, libGL, libX11 }:
 
-let version = "8.3.0"; in
-
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   name = "glxinfo-${version}";
+  version = "8.3.0";
 
   src = fetchurl {
-    url = "ftp://ftp.freedesktop.org/pub/libGLU_combined/demos/${version}/mesa-demos-${version}.tar.bz2";
+    url = "ftp://ftp.freedesktop.org/pub/mesa/demos/${version}/mesa-demos-${version}.tar.bz2";
     sha256 = "1vqb7s5m3fcg2csbiz45mha1pys2xx6rhw94fcyvapqdpm5iawy1";
   };
 
-  buildInputs = [ xlibsWrapper libGL ];
+  buildInputs = [ libX11 libGL ];
 
   configurePhase = "true";
 
   buildPhase = "
     cd src/xdemos
-    gcc glxinfo.c glinfo_common.c -o glxinfo -lGL -lX11
-    gcc glxgears.c -o glxgears -lGL -lX11
+    $CC glxinfo.c glinfo_common.c -o glxinfo -lGL -lX11
+    $CC glxgears.c -o glxgears -lGL -lX11 -lm
   ";
 
   installPhase = "
@@ -25,7 +24,11 @@ stdenv.mkDerivation {
     cp glxinfo glxgears $out/bin/
   ";
 
-  meta = {
-    platforms = stdenv.lib.platforms.linux;
+  meta = with stdenv.lib; {
+    description = "Test utilities for OpenGL";
+    homepage = https://www.mesa3d.org/;
+    license = licenses.mit;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ abbradar ];
   };
 }
diff --git a/pkgs/tools/graphics/gmic/default.nix b/pkgs/tools/graphics/gmic/default.nix
index 6ac152cb7b8..008f9af3685 100644
--- a/pkgs/tools/graphics/gmic/default.nix
+++ b/pkgs/tools/graphics/gmic/default.nix
@@ -1,36 +1,45 @@
-{ stdenv, fetchurl, fftw, zlib, libjpeg, libtiff, libpng, pkgconfig }:
+{ stdenv, fetchurl, fetchFromGitHub, cmake, ninja, pkgconfig
+, opencv, openexr, graphicsmagick, fftw, zlib, libjpeg, libtiff, libpng
+, withGimpPlugin ? true, gimp ? null}:
 
-stdenv.mkDerivation rec {
+assert withGimpPlugin -> gimp != null;
+
+let
+  version = "2.2.2";
+
+  # CMakeLists.txt is missing from the tarball and Makefile is terrible
+  CMakeLists = fetchurl {
+    url = "https://github.com/dtschump/gmic/raw/v.${version}/CMakeLists.txt";
+    sha256 = "0lv5jrg98cpbk13fl4xm7l4sk1axfz054q570bpi741w815d7cpg";
+  };
+in stdenv.mkDerivation rec {
   name = "gmic-${version}";
-  version = "1.7.9";
+
+  outputs = [ "out" "lib" "dev" "man" ] ++ stdenv.lib.optional withGimpPlugin "gimpPlugin";
 
   src = fetchurl {
     url = "http://gmic.eu/files/source/gmic_${version}.tar.gz";
-    sha256 = "0cvi5kmcrrg5pm774ligyy33fasgsfp3mr6ingjzd99rn4710bqm";
+    sha256 = "0zqfj2ym5nn3ff93xh2wf9ayxqlznabbdi00xw4lm7vw3iwkzqnc";
   };
 
-  nativeBuildInputs = [ pkgconfig ];
+  nativeBuildInputs = [ cmake ninja pkgconfig ];
 
-  buildInputs = [ fftw zlib libjpeg libtiff libpng ];
+  buildInputs = [
+    fftw zlib libjpeg libtiff libpng opencv openexr graphicsmagick
+  ] ++ stdenv.lib.optionals withGimpPlugin [ gimp gimp.gtk ];
 
-  sourceRoot = "${name}/src";
+  cmakeFlags = [
+    "-DBUILD_LIB_STATIC=OFF"
+    "-DBUILD_PLUGIN=${if withGimpPlugin then "ON" else "OFF"}"
+    "-DENABLE_DYNAMIC_LINKING=ON"
+  ];
 
-  preBuild = ''
-    buildFlagsArray=( \
-      CURL_CFLAGS= CURL_LIBS= \
-      OPENEXR_CFLAGS= OPENEXR_LIBS= \
-      OPENCV_CFLAGS= OPENCV_LIBS= \
-      X11_CFLAGS="-Dcimg_display=0" X11_LIBS= \
-      cli \
-    )
+  postPatch = ''
+    cp ${CMakeLists} CMakeLists.txt
   '';
 
-  installPhase = ''
-    mkdir -p $out/bin
-    mkdir -p $out/share/man/man1
-
-    cp -v gmic $out/bin/
-    cp -v ../man/gmic.1.gz $out/share/man/man1/
+  preConfigure = stdenv.lib.optionalString withGimpPlugin ''
+    cmakeFlags="$cmakeFlags -DPLUGIN_INSTALL_PREFIX=$gimpPlugin/${gimp.targetPluginDir}"
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/tools/graphics/gnuplot/default.nix b/pkgs/tools/graphics/gnuplot/default.nix
index a177f33bb37..b2b8508640b 100644
--- a/pkgs/tools/graphics/gnuplot/default.nix
+++ b/pkgs/tools/graphics/gnuplot/default.nix
@@ -20,11 +20,11 @@ let
   withX = libX11 != null && !aquaterm && !stdenv.isDarwin;
 in
 stdenv.mkDerivation rec {
-  name = "gnuplot-5.2.2";
+  name = "gnuplot-5.2.3";
 
   src = fetchurl {
     url = "mirror://sourceforge/gnuplot/${name}.tar.gz";
-    sha256 = "18diyy7aib9mn098x07g25c7jij1x7wbfpicz0z8gwxx08px45m4";
+    sha256 = "0977vgjszjpqhz2jahq07zmcmi0k9d6v7wq70ph2klfrb29qrdgy";
   };
 
   nativeBuildInputs = [ makeWrapper pkgconfig texinfo ] ++ lib.optional withQt qttools;
diff --git a/pkgs/tools/graphics/graphviz/base.nix b/pkgs/tools/graphics/graphviz/base.nix
index f61c7923d79..2fa4bb90a8e 100644
--- a/pkgs/tools/graphics/graphviz/base.nix
+++ b/pkgs/tools/graphics/graphviz/base.nix
@@ -23,8 +23,9 @@ stdenv.mkDerivation rec {
 
   buildInputs = [
     libpng libjpeg expat yacc libtool fontconfig gd gts libdevil flex pango
+    gettext
   ] ++ optionals (xorg != null) (with xorg; [ libXrender libXaw libXpm ])
-    ++ optionals (stdenv.isDarwin) [ ApplicationServices gettext ];
+    ++ optionals (stdenv.isDarwin) [ ApplicationServices ];
 
   hardeningDisable = [ "fortify" ];
 
@@ -42,6 +43,13 @@ stdenv.mkDerivation rec {
     done
   '';
 
+  # ''
+  #   substituteInPlace rtest/rtest.sh \
+  #     --replace "/bin/ksh" "${mksh}/bin/mksh"
+  # '';
+
+  doCheck = false; # fails with "Graphviz test suite requires ksh93" which is not in nixpkgs
+
   preAutoreconf = "./autogen.sh";
 
   postFixup = optionalString (xorg != null) ''
diff --git a/pkgs/tools/graphics/icoutils/default.nix b/pkgs/tools/graphics/icoutils/default.nix
index 720af4622c7..3ab2232e26c 100644
--- a/pkgs/tools/graphics/icoutils/default.nix
+++ b/pkgs/tools/graphics/icoutils/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, libpng, perl, perlPackages, makeWrapper }:
 
 stdenv.mkDerivation rec {
-  name = "icoutils-0.31.3";
+  name = "icoutils-0.32.3";
 
   src = fetchurl {
     url = "mirror://savannah/icoutils/${name}.tar.bz2";
-    sha256 = "d4651de8e3f9e28d24b5343a2b7564f49754e5fe7d211c5d4dd60dcd65c8a152";
+    sha256 = "1q66cksms4l62y0wizb8vfavhmf7kyfgcfkynil3n99s0hny1aqp";
   };
 
   buildInputs = [ makeWrapper libpng perl ];
diff --git a/pkgs/tools/graphics/logstalgia/default.nix b/pkgs/tools/graphics/logstalgia/default.nix
index 0fa99163845..be4cf0f493b 100644
--- a/pkgs/tools/graphics/logstalgia/default.nix
+++ b/pkgs/tools/graphics/logstalgia/default.nix
@@ -38,7 +38,7 @@ stdenv.mkDerivation rec {
       a Miscellaneous section.
     '';
 
-    platforms = platforms.gnu;
+    platforms = platforms.gnu ++ platforms.linux;
     maintainers = with maintainers; [ pSub ];
   };
 }
diff --git a/pkgs/tools/graphics/maim/default.nix b/pkgs/tools/graphics/maim/default.nix
index c7e8dc966e8..cac86e29c47 100644
--- a/pkgs/tools/graphics/maim/default.nix
+++ b/pkgs/tools/graphics/maim/default.nix
@@ -1,22 +1,23 @@
 { stdenv, fetchFromGitHub, cmake, pkgconfig
-, zlib, libpng, libjpeg
-, libGLU_combined, glm, libX11, libXext, libXfixes, libXrandr, libXcomposite, slop, icu }:
+, zlib, libpng, libjpeg, libGLU_combined, glm
+, libX11, libXext, libXfixes, libXrandr, libXcomposite, slop, icu
+}:
 
 stdenv.mkDerivation rec {
   name = "maim-${version}";
-  version = "5.4.68";
+  version = "5.5";
 
   src = fetchFromGitHub {
     owner = "naelstrof";
     repo = "maim";
     rev = "v${version}";
-    sha256 = "12jvfxzfhh6cbk6ygliwnkvm3mb7rca60k6x9qdzm17jsz65xhh0";
+    sha256 = "0dr44lwqsvhwf9pncxq6k42zj9hj07b96qsk1q8vh4l42zcpqzla";
   };
 
   nativeBuildInputs = [ cmake pkgconfig ];
   buildInputs =
-    [ zlib libpng libjpeg libGLU_combined glm libX11 libXext libXfixes libXrandr
-      libXcomposite slop icu ];
+    [ zlib libpng libjpeg libGLU_combined glm
+      libX11 libXext libXfixes libXrandr libXcomposite slop icu ];
 
   doCheck = false;
 
diff --git a/pkgs/tools/graphics/netpbm/default.nix b/pkgs/tools/graphics/netpbm/default.nix
index 1f1dd363233..fcd347182ec 100644
--- a/pkgs/tools/graphics/netpbm/default.nix
+++ b/pkgs/tools/graphics/netpbm/default.nix
@@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
   name = "netpbm-10.77.02";
 
   src = fetchsvn {
-    url = "svn://svn.code.sf.net/p/netpbm/code/advanced";
+    url = "https://svn.code.sf.net/p/netpbm/code/advanced";
     rev = 2883;
     sha256 = "1lxa5gasmqrwgihkk8ij7vb9kgdw3d5mp25kydkrf6x4wibg1w5f";
   };
diff --git a/pkgs/tools/graphics/pstoedit/default.nix b/pkgs/tools/graphics/pstoedit/default.nix
index 9fdf0ad0465..a31a9848c10 100644
--- a/pkgs/tools/graphics/pstoedit/default.nix
+++ b/pkgs/tools/graphics/pstoedit/default.nix
@@ -4,11 +4,11 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "pstoedit-3.70";
+  name = "pstoedit-3.71";
 
   src = fetchurl {
     url = "mirror://sourceforge/pstoedit/${name}.tar.gz";
-    sha256 = "130kz0ghsrggdn70kygrmsy3n533hwd948q69vyvqz44yw9n3f06";
+    sha256 = "15dwrwjbixjqph2jmdqzi9fihwpqc1kz5jcv5phxw8wwrlicv285";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/pkgs/tools/graphics/pywal/default.nix b/pkgs/tools/graphics/pywal/default.nix
new file mode 100644
index 00000000000..95f7c547b55
--- /dev/null
+++ b/pkgs/tools/graphics/pywal/default.nix
@@ -0,0 +1,28 @@
+{ lib, python3Packages, fetchFromGitHub, imagemagick, feh }:
+
+python3Packages.buildPythonApplication rec {
+  pname = "pywal";
+  version = "2.0.5";
+
+  src = python3Packages.fetchPypi {
+    inherit pname version;
+    sha256 = "117f61db013409ee2657aab9230cc5c2cb2b428c17f7fbcf664909122962165e";
+  };
+
+  # necessary for imagemagick to be found during tests
+  buildInputs = [ imagemagick ];
+
+  makeWrapperArgs = [ "--prefix PATH : ${lib.makeBinPath [ imagemagick feh ]}" ];
+
+  preCheck = ''
+    mkdir tmp
+    HOME=$PWD/tmp
+  '';
+
+  meta = with lib; {
+    description = "Generate and change colorschemes on the fly. A 'wal' rewrite in Python 3.";
+    homepage = https://github.com/dylanaraps/pywal;
+    license = licenses.mit;
+    maintainers = with maintainers; [ Fresheyeball ];
+  };
+}
diff --git a/pkgs/tools/graphics/swfdec/default.nix b/pkgs/tools/graphics/swfdec/default.nix
new file mode 100644
index 00000000000..1c3c0f3b451
--- /dev/null
+++ b/pkgs/tools/graphics/swfdec/default.nix
@@ -0,0 +1,38 @@
+{stdenv, fetchurl
+, cairo, pango, glib, liboil, zlib, gstreamer, gst-plugins-base
+, gst-plugins-good , gtk2, libsoup, alsaLib, pkgconfig
+}:
+
+stdenv.mkDerivation rec {
+  name = "${pname}-${version}";
+  pname = "swfdec";
+  version = "0.8.4";
+
+  src = fetchurl {
+    url = "http://swfdec.freedesktop.org/download/swfdec/0.8/swfdec-${version}.tar.gz";
+    sha256 = "00nqrd0fzf0g76rn80d7h56n6hxv7x1x6k89zj45bj564lzwc3vs";
+  };
+
+  buildInputs = [
+    cairo glib liboil pango zlib gstreamer gst-plugins-base gst-plugins-good
+    gtk2 libsoup alsaLib pkgconfig
+  ];
+  
+  postInstall = ''
+    mkdir "$out/bin"
+    cp tools/.libs/swfdec-extract "$out/bin"
+    cp tools/.libs/dump "$out/bin/swfdec-dump"
+    cp player/.libs/swfplay "$out/bin/swfplay"
+  '';
+
+  enableParallelBuilding = true;
+
+  meta = {
+    inherit version;
+    description = "Decoder/renderer for Macromedia Flash animations";
+    license = stdenv.lib.licenses.lgpl21 ;
+    maintainers = [stdenv.lib.maintainers.raskin];
+    platforms = stdenv.lib.platforms.linux;
+    homepage = https://swfdec.freedesktop.org/wiki/;
+  };
+}
diff --git a/pkgs/tools/graphics/twilight/default.nix b/pkgs/tools/graphics/twilight/default.nix
new file mode 100644
index 00000000000..8d1ee7b7bfb
--- /dev/null
+++ b/pkgs/tools/graphics/twilight/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, fetchFromGitHub
+, libGL, libGLU, freeglut, libX11 }:
+
+let
+  version = "2018-04-19";
+in stdenv.mkDerivation rec {
+  name = "twilight-${version}";
+
+  src = fetchFromGitHub {
+    owner = "tweakoz";
+    repo = "twilight";
+    rev = "43f21d15c2a8923c9d707bdf3789f480bfd4b36d";
+    sha256 = "0mmmi4jj8yd8wnah6kx5na782sjycszgzim33dfalr0ph361m4pz";
+  };
+
+  buildInputs = [ libGL libGLU freeglut libX11 ];
+
+  installPhase = ''
+    install -Dm755 twilight $out/bin/twilight
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Redo of IRIX twilight backdrop in old school OpenGL";
+    homepage = src.meta.homepage;
+    license = licenses.mit;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/tools/graphics/vips/default.nix b/pkgs/tools/graphics/vips/default.nix
index c50d7ec8fad..d1dfe7afbf8 100644
--- a/pkgs/tools/graphics/vips/default.nix
+++ b/pkgs/tools/graphics/vips/default.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   name = "vips-${version}";
-  version = "8.6.2";
+  version = "8.6.3";
 
   src = fetchurl {
     url = "https://github.com/jcupitt/libvips/releases/download/v${version}/${name}.tar.gz";
-    sha256 = "18hjwk000w49yjjb41qrk4s39mr1xccisrvwy2x063vyjbdbr1ll";
+    sha256 = "14h9w61gaimldmqaym0zhf9fkxjj1pkd5lhglhs6pxphynwxnnpq";
   };
 
   buildInputs =
diff --git a/pkgs/tools/inputmethods/fcitx-engines/fcitx-libpinyin/datapath.patch b/pkgs/tools/inputmethods/fcitx-engines/fcitx-libpinyin/datapath.patch
new file mode 100644
index 00000000000..84dd5fc8f46
--- /dev/null
+++ b/pkgs/tools/inputmethods/fcitx-engines/fcitx-libpinyin/datapath.patch
@@ -0,0 +1,16 @@
+--- a/src/utils.cpp
++++ b/src/utils.cpp
+@@ -9,12 +9,7 @@ char* FcitxLibPinyinGetSysPath(LIBPINYIN_LANGUAGE_TYPE type)
+ #ifdef LIBPINYIN_TOOLS_FOUND
+     if (type == LPLT_Simplified) {
+ #endif
+-        /* portable detect here */
+-        if (getenv("FCITXDIR")) {
+-            syspath = fcitx_utils_get_fcitx_path_with_filename("datadir", "libpinyin/data");
+-        } else {
+-            syspath = strdup(LIBPINYIN_PKGDATADIR "/data");
+-        }
++        syspath = strdup(LIBPINYIN_PKGDATADIR "/data");
+ #ifdef LIBPINYIN_TOOLS_FOUND
+     }
+     else {
diff --git a/pkgs/tools/inputmethods/fcitx-engines/fcitx-libpinyin/default.nix b/pkgs/tools/inputmethods/fcitx-engines/fcitx-libpinyin/default.nix
index f2610efd2eb..4468f1fa263 100644
--- a/pkgs/tools/inputmethods/fcitx-engines/fcitx-libpinyin/default.nix
+++ b/pkgs/tools/inputmethods/fcitx-engines/fcitx-libpinyin/default.nix
@@ -12,6 +12,16 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ pkgconfig  ];
   buildInputs = [ fcitx-qt5 qtbase qtwebengine.dev cmake fcitx gettext libpinyin glib pcre dbus ];
 
+  # With a typical installation via NixOS option i18n.inputMethod.fcitx.engines,
+  # the FCITXDIR environment variable is set to $out of fcitx-with-plugins,
+  # which leads to an incorrect path for pinyin data.
+  #
+  # It is impossible or difficult to fix this issue without patching. We want
+  # FCITXDIR to point into libpinyin, which is currently not symlinked within
+  # fcitx-with-plugins (only fcitx-libpinyin is symlinked). Also, FCITXDIR
+  # doesn't accept multiple directories.
+  patches = [ ./datapath.patch ];
+
   preInstall = ''
     substituteInPlace src/cmake_install.cmake \
       --replace ${fcitx} $out
diff --git a/pkgs/tools/inputmethods/fcitx/fcitx-qt5.nix b/pkgs/tools/inputmethods/fcitx/fcitx-qt5.nix
index 7617d544d29..1a3352676b1 100644
--- a/pkgs/tools/inputmethods/fcitx/fcitx-qt5.nix
+++ b/pkgs/tools/inputmethods/fcitx/fcitx-qt5.nix
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with stdenv.lib; {
-    homepage    = http://github.com/fcitx/fcitx-qt5;
+    homepage    = https://github.com/fcitx/fcitx-qt5;
     description = "Qt5 IM Module for Fcitx";
     license     = licenses.gpl2;
     platforms   = platforms.linux;
diff --git a/pkgs/tools/inputmethods/fcitx/unwrapped.nix b/pkgs/tools/inputmethods/fcitx/unwrapped.nix
index 27eb35ce6ae..c7d0eecb763 100644
--- a/pkgs/tools/inputmethods/fcitx/unwrapped.nix
+++ b/pkgs/tools/inputmethods/fcitx/unwrapped.nix
@@ -89,7 +89,7 @@ stdenv.mkDerivation rec {
     '';
 
   meta = with stdenv.lib; {
-    homepage    = http://github.com/fcitx/fcitx;
+    homepage    = https://github.com/fcitx/fcitx;
     description = "A Flexible Input Method Framework";
     license     = licenses.gpl2;
     platforms   = platforms.linux;
diff --git a/pkgs/tools/inputmethods/ibus-engines/ibus-anthy/default.nix b/pkgs/tools/inputmethods/ibus-engines/ibus-anthy/default.nix
index 53b2a3abf28..c7f7369ba88 100644
--- a/pkgs/tools/inputmethods/ibus-engines/ibus-anthy/default.nix
+++ b/pkgs/tools/inputmethods/ibus-engines/ibus-anthy/default.nix
@@ -4,7 +4,7 @@
 
 stdenv.mkDerivation rec {
   name = "ibus-anthy-${version}";
-  version = "1.5.9";
+  version = "1.5.10";
 
   meta = with stdenv.lib; {
     isIbusEngine = true;
@@ -30,6 +30,6 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "https://github.com/ibus/ibus-anthy/releases/download/${version}/${name}.tar.gz";
-    sha256 = "1y8sf837rmp662bv6zakny0xcm7c9c5qda7f9kq9riv9ywpcbw6x";
+    sha256 = "0jpqz7pb9brlqiwrbr3i6wvj3b39a9bs9lljl3qa3r77mz8y0cyc";
   };
 }
diff --git a/pkgs/tools/inputmethods/ibus-engines/ibus-kkc/default.nix b/pkgs/tools/inputmethods/ibus-engines/ibus-kkc/default.nix
new file mode 100644
index 00000000000..19d862e0308
--- /dev/null
+++ b/pkgs/tools/inputmethods/ibus-engines/ibus-kkc/default.nix
@@ -0,0 +1,35 @@
+{ stdenv, fetchurl
+, vala, intltool, pkgconfig
+, libkkc, ibus, skk-dicts
+, gtk3
+}:
+
+stdenv.mkDerivation rec {
+  pname = "ibus-kkc";
+  version = "1.5.22";
+  name = "${pname}-${version}";
+
+  src = fetchurl {
+    url = "${meta.homepage}/releases/download/v${version}/${name}.tar.gz";
+    sha256 = "1kj74c9zy9yxkjx7pz96mzqc13cf10yfmlgprr8sfd4ay192bzi2";
+  };
+
+  nativeBuildInputs = [
+    vala intltool pkgconfig
+  ];
+
+  buildInputs = [ libkkc ibus skk-dicts gtk3 ];
+
+  postInstall = ''
+    ln -s ${skk-dicts}/share $out/share/skk
+  '';
+
+  meta = with stdenv.lib; {
+    isIbusEngine = true;
+    description  = "libkkc (Japanese Kana Kanji input method) engine for ibus";
+    homepage     = https://github.com/ueno/ibus-kkc;
+    license      = licenses.gpl2;
+    platforms    = platforms.linux;
+    maintainers  = with maintainers; [ vanzef ];
+  };
+}
diff --git a/pkgs/tools/inputmethods/ibus-engines/ibus-libpinyin/default.nix b/pkgs/tools/inputmethods/ibus-engines/ibus-libpinyin/default.nix
index 85399bffd3f..3bdb69391cc 100644
--- a/pkgs/tools/inputmethods/ibus-engines/ibus-libpinyin/default.nix
+++ b/pkgs/tools/inputmethods/ibus-engines/ibus-libpinyin/default.nix
@@ -5,13 +5,13 @@
 
 stdenv.mkDerivation rec {
   name = "ibus-libpinyin-${version}";
-  version = "1.9.2";
+  version = "1.10.0";
 
   src = fetchFromGitHub {
     owner  = "libpinyin";
     repo   = "ibus-libpinyin";
     rev    = version;
-    sha256 = "067w926gcf0kwwn71yshhjmyzkad0qsdm1dsi2xwz1j633qd4xlb";
+    sha256 = "0zkzz6ig74nws8phqxbsggnpf5g5f2hxi0mdyn2m3s4nm14q3ma6";
   };
 
   buildInputs = [ ibus glib sqlite libpinyin python3 gtk3 db ];
diff --git a/pkgs/tools/inputmethods/ibus-engines/ibus-table-others/default.nix b/pkgs/tools/inputmethods/ibus-engines/ibus-table-others/default.nix
index 328c803e7db..ff01c841926 100644
--- a/pkgs/tools/inputmethods/ibus-engines/ibus-table-others/default.nix
+++ b/pkgs/tools/inputmethods/ibus-engines/ibus-table-others/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "ibus-table-others-${version}";
-  version = "1.3.7";
+  version = "1.3.9";
 
   src = fetchurl {
     url = "https://github.com/moebiuscurve/ibus-table-others/releases/download/${version}/${name}.tar.gz";
-    sha256 = "0vmz82il796062jbla5pawsr5dqyhs7ald7xjp84zfccc09dg9kx";
+    sha256 = "0270a9njyzb1f8nw5w9ghwxcl3m6f13d8p8a01fjm8rnjs04mcb3";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/tools/inputmethods/ibus-engines/ibus-table/default.nix b/pkgs/tools/inputmethods/ibus-engines/ibus-table/default.nix
index 8c552799432..0d467a6875b 100644
--- a/pkgs/tools/inputmethods/ibus-engines/ibus-table/default.nix
+++ b/pkgs/tools/inputmethods/ibus-engines/ibus-table/default.nix
@@ -5,13 +5,13 @@
 
 stdenv.mkDerivation rec {
   name = "ibus-table-${version}";
-  version = "1.9.16";
+  version = "1.9.20";
 
   src = fetchFromGitHub {
     owner  = "kaio";
     repo   = "ibus-table";
     rev    = version;
-    sha256 = "1gkb6nsibk59kp404b394sg638jgah2a2b6ffq3gkacqg5j30wjb";
+    sha256 = "12rsbg8pfh567bd0n376qciclq5jr63h5gwcm54cs796bxls4w2j";
   };
 
   postPatch = ''
diff --git a/pkgs/tools/inputmethods/ibus/default.nix b/pkgs/tools/inputmethods/ibus/default.nix
index 59ddab7294f..d3507b57cbd 100644
--- a/pkgs/tools/inputmethods/ibus/default.nix
+++ b/pkgs/tools/inputmethods/ibus/default.nix
@@ -125,6 +125,7 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
+  doCheck = false; # requires X11 daemon
   doInstallCheck = true;
   installCheckPhase = "$out/bin/ibus version";
 
diff --git a/pkgs/tools/inputmethods/libinput-gestures/default.nix b/pkgs/tools/inputmethods/libinput-gestures/default.nix
index e58cabc6791..31a7098e08d 100644
--- a/pkgs/tools/inputmethods/libinput-gestures/default.nix
+++ b/pkgs/tools/inputmethods/libinput-gestures/default.nix
@@ -5,14 +5,14 @@
 }:
 stdenv.mkDerivation rec {
   pname = "libinput-gestures";
-  version = "2.32";
+  version = "2.33";
   name = "${pname}-${version}";
 
   src = fetchFromGitHub {
     owner = "bulletmark";
     repo = "libinput-gestures";
     rev = version;
-    sha256 = "1by6sabx0s8sd9w5675gc26q7yccxnxxsjg4dqlb6nbs0vcg81s7";
+    sha256 = "0a4zq880da1rn0mxn1sq4cp6zkw4bfslr0vjczkbj4immjrj422j";
   };
   patches = [
     ./0001-hardcode-name.patch
diff --git a/pkgs/tools/inputmethods/libkkc/default.nix b/pkgs/tools/inputmethods/libkkc/default.nix
new file mode 100644
index 00000000000..0051be14ee7
--- /dev/null
+++ b/pkgs/tools/inputmethods/libkkc/default.nix
@@ -0,0 +1,39 @@
+{ stdenv, fetchurl
+, vala, gobjectIntrospection, intltool, python2Packages, glib
+, pkgconfig
+, libgee, json_glib, marisa, libkkc-data
+}:
+
+stdenv.mkDerivation rec {
+  pname = "libkkc";
+  version = "0.3.5";
+  name = "${pname}-${version}";
+
+  src = fetchurl {
+    url = "${meta.homepage}/releases/download/v${version}/${name}.tar.gz";
+    sha256 = "89b07b042dae5726d306aaa1296d1695cb75c4516f4b4879bc3781fe52f62aef";
+  };
+
+  nativeBuildInputs = [
+    vala gobjectIntrospection
+    python2Packages.python python2Packages.marisa
+    intltool glib pkgconfig
+  ];
+
+  buildInputs = [ marisa libkkc-data ];
+  enableParallelBuilding = true;
+
+  propagatedBuildInputs = [ libgee json_glib ];
+
+  postInstall = ''
+    ln -s ${libkkc-data}/lib/libkkc/models $out/share/libkkc/models
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Japanese Kana Kanji conversion input method library";
+    homepage    = https://github.com/ueno/libkkc;
+    license     = licenses.gpl3Plus;
+    maintainers = with maintainers; [ vanzef ];
+    platforms   = platforms.linux;
+  };
+}
diff --git a/pkgs/tools/inputmethods/m17n-db/default.nix b/pkgs/tools/inputmethods/m17n-db/default.nix
index 944d6de1084..dd8e96f8a6f 100644
--- a/pkgs/tools/inputmethods/m17n-db/default.nix
+++ b/pkgs/tools/inputmethods/m17n-db/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, gettext }:
 
 stdenv.mkDerivation rec {
-  name = "m17n-db-1.7.0";
+  name = "m17n-db-1.8.0";
 
   src = fetchurl {
     url = "http://download.savannah.gnu.org/releases/m17n/${name}.tar.gz";
-    sha256 = "1w08hnsbknrcjlzp42c99bgwc9hzsnf5m4apdv0dacql2s09zfm2";
+    sha256 = "0vfw7z9i2s9np6nmx1d4dlsywm044rkaqarn7akffmb6bf1j6zv5";
   };
 
   buildInputs = [ gettext ];
diff --git a/pkgs/tools/inputmethods/m17n-lib/default.nix b/pkgs/tools/inputmethods/m17n-lib/default.nix
index 982f35a9fe6..12b669c8777 100644
--- a/pkgs/tools/inputmethods/m17n-lib/default.nix
+++ b/pkgs/tools/inputmethods/m17n-lib/default.nix
@@ -1,10 +1,10 @@
 {stdenv, fetchurl, m17n_db}:
 stdenv.mkDerivation rec {
-  name = "m17n-lib-1.7.0";
+  name = "m17n-lib-1.8.0";
 
   src = fetchurl {
     url = "http://download.savannah.gnu.org/releases/m17n/${name}.tar.gz";
-    sha256 = "10yv730i25g1rpzv6q49m6xn4p8fjm7jdwvik2h70sn8w3hm7f4f";
+    sha256 = "0jp61y09xqj10mclpip48qlfhniw8gwy8b28cbzxy8hq8pkwmfkq";
   };
 
   buildInputs = [ m17n_db ];
diff --git a/pkgs/tools/misc/aescrypt/default.nix b/pkgs/tools/misc/aescrypt/default.nix
index d1139259922..d1125d572ee 100644
--- a/pkgs/tools/misc/aescrypt/default.nix
+++ b/pkgs/tools/misc/aescrypt/default.nix
@@ -21,8 +21,6 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ libiconv ];
 
-  NIX_LDFLAGS = stdenv.lib.optionalString stdenv.isDarwin "-liconv";
-
   meta = with stdenv.lib; {
     description = "Encrypt files with Advanced Encryption Standard (AES)";
     homepage    = https://www.aescrypt.com/;
diff --git a/pkgs/tools/misc/antimicro/default.nix b/pkgs/tools/misc/antimicro/default.nix
index ee0accac2d9..62d46bba5b0 100644
--- a/pkgs/tools/misc/antimicro/default.nix
+++ b/pkgs/tools/misc/antimicro/default.nix
@@ -22,5 +22,6 @@ mkDerivation rec {
     maintainers = with maintainers; [ jb55 ];
     license = licenses.gpl3;
     platforms = with platforms; linux;
+    broken = true; # 2018-04-10
   };
 }
diff --git a/pkgs/tools/misc/argtable/default.nix b/pkgs/tools/misc/argtable/default.nix
index 76f42b1976a..6b1512e854b 100644
--- a/pkgs/tools/misc/argtable/default.nix
+++ b/pkgs/tools/misc/argtable/default.nix
@@ -33,7 +33,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with stdenv.lib; {
-    homepage = http://www.argtable.org/;
+    homepage = https://www.argtable.org/;
     description = "A Cross-Platform, Single-File, ANSI C Command-Line Parsing Library";
     license = licenses.bsd3;
     maintainers = with maintainers; [ artuuge ];
diff --git a/pkgs/tools/misc/autorandr/default.nix b/pkgs/tools/misc/autorandr/default.nix
index db2e1fc622f..9a51553ae43 100644
--- a/pkgs/tools/misc/autorandr/default.nix
+++ b/pkgs/tools/misc/autorandr/default.nix
@@ -6,7 +6,7 @@
 
 let
   python = python3Packages.python;
-  version = "1.4";
+  version = "1.5";
 in
   stdenv.mkDerivation {
     name = "autorandr-${version}";
@@ -48,7 +48,7 @@ in
       owner = "phillipberndt";
       repo = "autorandr";
       rev = "${version}";
-      sha256 = "08i71r221ilc8k1c59w89g3iq5m7zwhnjjzapavhqxlr8y9dcpf5";
+      sha256 = "01pij2r73f190qk7q3cgf5cmk0w59g9l9v4vah5vf4ddn7nnk7yq";
     };
 
     meta = {
diff --git a/pkgs/tools/misc/bat/default.nix b/pkgs/tools/misc/bat/default.nix
new file mode 100644
index 00000000000..b869f1e634c
--- /dev/null
+++ b/pkgs/tools/misc/bat/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, pkgs, rustPlatform, fetchFromGitHub }:
+
+rustPlatform.buildRustPackage rec {
+  name    = "bat-${version}";
+  version = "0.3.0";
+
+  src = fetchFromGitHub {
+    owner  = "sharkdp";
+    repo   = "bat";
+    rev    = "v${version}";
+    sha256 = "15d7i0iy5lks3jg9js6n6fy4xanjk76fpryl2kq88kdkq67hpzfp";
+  };
+
+  cargoSha256 = "179a7abhzpxjp3cc820jzxg0qk1fiv9rkpazwnzhkjl8yd7b7qi3";
+
+  buildInputs = with pkgs; [ pkgconfig cmake zlib file perl curl ];
+
+  meta = with stdenv.lib; {
+    description = "A cat(1) clone with syntax highlighting and Git integration";
+    homepage    = https://github.com/sharkdp/bat;
+    license     = with licenses; [ asl20 /* or */ mit ];
+    maintainers = with maintainers; [ dywedir ];
+    platforms   = platforms.linux;
+  };
+}
diff --git a/pkgs/tools/misc/bdf2psf/default.nix b/pkgs/tools/misc/bdf2psf/default.nix
index e06c2dee000..5e4b6994094 100644
--- a/pkgs/tools/misc/bdf2psf/default.nix
+++ b/pkgs/tools/misc/bdf2psf/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "bdf2psf-${version}";
-  version = "1.178";
+  version = "1.184";
 
   src = fetchurl {
     url = "mirror://debian/pool/main/c/console-setup/bdf2psf_${version}_all.deb";
-    sha256 = "1ngxa7hzfhvfhkvyc2qib3qyql5zz8rjg559wpi2jsi4hibj84vc";
+    sha256 = "0lyxiwm0586b8gyl13ks2rqqa6abkqaxc4i08hvwyza1k1cqm2jc";
   };
 
   buildInputs = [ dpkg ];
diff --git a/pkgs/tools/misc/bepasty/default.nix b/pkgs/tools/misc/bepasty/default.nix
index ee2680da006..f69f654cda3 100644
--- a/pkgs/tools/misc/bepasty/default.nix
+++ b/pkgs/tools/misc/bepasty/default.nix
@@ -4,7 +4,10 @@
 
 with python.pkgs;
 
-buildPythonApplication rec {
+#We need to use buildPythonPackage here to get the PYTHONPATH build correctly.
+#This is needed for services.bepasty
+#https://github.com/NixOS/nixpkgs/pull/38300
+buildPythonPackage rec {
   pname = "bepasty";
   version = "0.4.0";
   name = "${pname}-${version}";
diff --git a/pkgs/tools/misc/bibutils/default.nix b/pkgs/tools/misc/bibutils/default.nix
index eaa2c6e4942..b720ac22f27 100644
--- a/pkgs/tools/misc/bibutils/default.nix
+++ b/pkgs/tools/misc/bibutils/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "bibutils-${version}";
-  version = "5.6";
+  version = "6.2";
 
   src = fetchurl {
     url = "mirror://sourceforge/bibutils/bibutils_${version}_src.tgz";
-    sha256 = "08vlaf1rs881v61hb0dnab5brbpbwbv2hqlxmw0yaycknqwbmiwz";
+    sha256 = "07wgzk01kfdrjl6g3qlxg9qbi3kyrxxmxyy49qmcfq24fpmf9mrr";
   };
 
   configureFlags = [ "--dynamic" "--install-dir" "$(out)/bin" "--install-lib" "$(out)/lib" ];
diff --git a/pkgs/tools/misc/bogofilter/default.nix b/pkgs/tools/misc/bogofilter/default.nix
index c192e9f42ab..f86d44c580d 100644
--- a/pkgs/tools/misc/bogofilter/default.nix
+++ b/pkgs/tools/misc/bogofilter/default.nix
@@ -12,6 +12,8 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ flex db ];
 
+  doCheck = false; # needs "y" tool
+
   meta = {
     homepage = http://bogofilter.sourceforge.net/;
     longDescription = ''
diff --git a/pkgs/tools/misc/bonfire/default.nix b/pkgs/tools/misc/bonfire/default.nix
index 16b2169769f..9355f3e5407 100644
--- a/pkgs/tools/misc/bonfire/default.nix
+++ b/pkgs/tools/misc/bonfire/default.nix
@@ -19,8 +19,8 @@ buildPythonApplication rec {
   postPatch = ''
     # https://github.com/blue-yonder/bonfire/pull/24
     substituteInPlace requirements.txt \
-      --replace "arrow>=0.5.4,<0.8" "arrow>=0.5.4,<0.13" \
-      --replace "keyring>=9,<10"    "keyring>=9,<11"
+      --replace "arrow>=0.5.4,<0.8" "arrow>=0.5.4" \
+      --replace "keyring>=9,<10"    "keyring>=9"
     # pip fails when encountering the git hash for the package version
     substituteInPlace setup.py \
       --replace "version=version," "version='${version}',"
diff --git a/pkgs/tools/misc/byobu/default.nix b/pkgs/tools/misc/byobu/default.nix
index 82ae4d40f2d..c5ebe7cf32e 100644
--- a/pkgs/tools/misc/byobu/default.nix
+++ b/pkgs/tools/misc/byobu/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, ncurses, python, perl, textual-window-manager }:
 
 stdenv.mkDerivation rec {
-  version = "5.121";
+  version = "5.125";
   name = "byobu-" + version;
 
   src = fetchurl {
     url = "https://launchpad.net/byobu/trunk/${version}/+download/byobu_${version}.orig.tar.gz";
-    sha256 = "0rbwb7kh0f458ad51grrhz56889g6xj1c29c838pi37cjdgl3wjx";
+    sha256 = "1nx9vpyfn9zs8iyqnqdlskr8lqh4zlciijwd9qfpzmd50lkwh8jh";
   };
 
   doCheck = true;
diff --git a/pkgs/tools/misc/calamares/default.nix b/pkgs/tools/misc/calamares/default.nix
index d4ee1661801..f66cc60c926 100644
--- a/pkgs/tools/misc/calamares/default.nix
+++ b/pkgs/tools/misc/calamares/default.nix
@@ -7,12 +7,12 @@
 stdenv.mkDerivation rec {
   name = "${pname}-${version}";
   pname = "calamares";
-  version = "3.1.10";
+  version = "3.1.12";
 
   # release including submodule
   src = fetchurl {
     url = "https://github.com/${pname}/${pname}/releases/download/v${version}/${name}.tar.gz";
-    sha256 = "12phmirx0fgvykvkl8frv5agxqi7n04sxf5bpwjwq12mydq2x7kc";
+    sha256 = "0k59wnch2gmbsr5dh5swbjp4rkf5c1ml0n4sxf196wdasraismc6";
   };
 
   buildInputs = [
diff --git a/pkgs/tools/misc/cloud-sql-proxy/default.nix b/pkgs/tools/misc/cloud-sql-proxy/default.nix
new file mode 100644
index 00000000000..5059b395610
--- /dev/null
+++ b/pkgs/tools/misc/cloud-sql-proxy/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, buildGoPackage, fetchgit }:
+
+buildGoPackage rec {
+  name = "cloud-sql-proxy-${version}";
+  version = "1.11";
+
+  goPackagePath = "github.com/GoogleCloudPlatform/cloudsql-proxy";
+
+  subPackages = [ "cmd/cloud_sql_proxy" ];
+
+  src = fetchgit {
+    rev = version;
+    url = "https://${goPackagePath}";
+    sha256 = "13g68i51f03xdh7a1qjmj8j5ljn4drd3n44fn348xfdxqclnx90l";
+  };
+
+  goDeps = ./deps.nix;
+
+  buildFlagsArray = [ "-ldflags=" "-X main.versionString=${version}" ];
+
+  meta = with stdenv.lib; {
+    description = "An authenticating proxy for Second Generation Google Cloud SQL databases";
+    homepage = https://github.com/GoogleCloudPlatform/cloudsql-proxy;
+    license = licenses.asl20;
+    maintainers = [ maintainers.nicknovitski ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/tools/misc/cloud-sql-proxy/deps.nix b/pkgs/tools/misc/cloud-sql-proxy/deps.nix
new file mode 100644
index 00000000000..7021b4b05b2
--- /dev/null
+++ b/pkgs/tools/misc/cloud-sql-proxy/deps.nix
@@ -0,0 +1,48 @@
+# This file was generated by https://github.com/kamilchm/go2nix v1.2.1
+[
+  {
+    goPackagePath = "bazil.org/fuse";
+    fetch = {
+      type = "git";
+      url = "https://github.com/bazil/fuse";
+      rev = "65cc252bf6691cb3c7014bcb2c8dc29de91e3a7e";
+      sha256 = "0qjm9yrhc5h632wwhklqzhalid4lxcm9iwsqs3jahp303rm27vpk";
+    };
+  }
+  {
+    goPackagePath = "cloud.google.com/go";
+    fetch = {
+      type = "git";
+      url = "https://code.googlesource.com/gocloud";
+      rev = "e9284bade4f43071dac5ec56c73a03a3c9fa7772";
+      sha256 = "0qm0s97bj21m04a07yni09hdh0aycgmklm5mg6flx17lrp2av9j8";
+    };
+  }
+  {
+    goPackagePath = "golang.org/x/net";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/net";
+      rev = "3a7846fea0afe8cc88deb31d8cfb1fa15a3615ef";
+      sha256 = "1dxvliqc79bl0waczzy8ajm7jpbnn2bszwfcd71zjjxph8jz75kg";
+    };
+  }
+  {
+    goPackagePath = "golang.org/x/oauth2";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/oauth2";
+      rev = "cdc340f7c179dbbfa4afd43b7614e8fcadde4269";
+      sha256 = "182is558nfvk4x1cm8sqzaym8kfcaaxaga9ggqhvzqrs8mncbj22";
+    };
+  }
+  {
+    goPackagePath = "google.golang.org/api";
+    fetch = {
+      type = "git";
+      url = "https://code.googlesource.com/google-api-go-client";
+      rev = "20530fd5d65ad2caee87891f9896d7547cb400c9";
+      sha256 = "06fsnml2kfzifxp2d5anb6vxjlgpkwl82xcddf0cg0v1bnx5mnrd";
+    };
+  }
+]
diff --git a/pkgs/tools/misc/colord/default.nix b/pkgs/tools/misc/colord/default.nix
index 9af7de8b35e..9b633014009 100644
--- a/pkgs/tools/misc/colord/default.nix
+++ b/pkgs/tools/misc/colord/default.nix
@@ -1,18 +1,16 @@
 { stdenv, fetchurl, bash-completion
 , glib, polkit, pkgconfig, gettext, gusb, lcms2, sqlite, systemd, dbus
-, gobjectIntrospection, argyllcms, meson, ninja, libxml2, vala_0_38
+, gobjectIntrospection, argyllcms, meson, ninja, libxml2, vala_0_40
 , libgudev, sane-backends, udev, gnome3, makeWrapper }:
 
 stdenv.mkDerivation rec {
-  name = "colord-1.4.1";
+  name = "colord-1.4.2";
 
   src = fetchurl {
     url = "http://www.freedesktop.org/software/colord/releases/${name}.tar.xz";
-    sha256 = "0m854clp8szvq38z16jpazzlqfb3lb3icxcfnsisfrc25748y1ib";
+    sha256 = "19zc9gldz469jshl16av7na459kwr5nhvs2pz98xm5lw582xaw2c";
   };
 
-  enableParallelBuilding = true;
-
   mesonFlags = [
     "-Denable-sane=true"
     "-Denable-vala=true"
@@ -23,19 +21,20 @@ stdenv.mkDerivation rec {
     "-Denable-docs=false"
   ];
 
-  patches = [
-    ./fix-build-paths.patch
-  ];
-
-  nativeBuildInputs = [ meson pkgconfig vala_0_38 ninja gettext libxml2 gobjectIntrospection makeWrapper ];
+  nativeBuildInputs = [ meson pkgconfig vala_0_40 ninja gettext libxml2 gobjectIntrospection makeWrapper ];
 
-  buildInputs = [ glib polkit gusb lcms2 sqlite systemd dbus
-                  bash-completion argyllcms libgudev sane-backends ];
+  buildInputs = [ glib polkit gusb lcms2 sqlite systemd dbus bash-completion argyllcms libgudev sane-backends ];
 
   postInstall = ''
     glib-compile-schemas $out/share/glib-2.0/schemas
   '';
 
+  PKG_CONFIG_SYSTEMD_SYSTEMDSYSTEMUNITDIR = "lib/systemd/system";
+  PKG_CONFIG_SYSTEMD_SYSTEMDUSERUNITDIR = "lib/systemd/user";
+  PKG_CONFIG_SYSTEMD_TMPFILESDIR = "lib/tmpfiles.d";
+  PKG_CONFIG_BASH_COMPLETION_COMPLETIONSDIR= "share/bash-completion/completions";
+  PKG_CONFIG_UDEV_UDEVDIR = "lib/udev";
+
   postFixup = ''
     wrapProgram "$out/libexec/colord-session" \
       --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH:$out/share" \
diff --git a/pkgs/tools/misc/colord/fix-build-paths.patch b/pkgs/tools/misc/colord/fix-build-paths.patch
deleted file mode 100644
index d4bf0f36ad7..00000000000
--- a/pkgs/tools/misc/colord/fix-build-paths.patch
+++ /dev/null
@@ -1,74 +0,0 @@
---- a/contrib/session-helper/meson.build
-+++ b/contrib/session-helper/meson.build
-@@ -21,7 +21,7 @@
-     output : 'colord-session.service',
-     configuration : con2,
-     install: true,
--    install_dir: systemd.get_pkgconfig_variable('systemduserunitdir'),
-+    install_dir: join_paths(get_option('prefix'), 'etc', 'systemd', 'user'),
-   )
- endif
- 
---- a/data/meson.build
-+++ b/data/meson.build
-@@ -8,13 +8,13 @@
- 
- if get_option('enable-systemd')
-   install_data('colord.conf',
--    install_dir: systemd.get_pkgconfig_variable('tmpfilesdir')
-+    install_dir: join_paths(get_option('prefix'), 'lib', 'tmpfiles.d')
-   )
- endif
- 
- if get_option('enable-bash-completion')
-   install_data('colormgr',
--    install_dir: bash_completion.get_pkgconfig_variable('completionsdir')
-+    install_dir: join_paths(get_option('prefix'), 'etc', 'bash_completion.d')
-   )
- endif
- 
-@@ -31,7 +31,7 @@
-     output : 'colord.service',
-     configuration : con2,
-     install: true,
--    install_dir: systemd.get_pkgconfig_variable('systemdsystemunitdir'),
-+    install_dir: join_paths(get_option('prefix'), 'etc', 'systemd', 'system'),
-   )
- endif
- 
-@@ -50,5 +50,5 @@
-   output : 'org.freedesktop.ColorManager.conf',
-   configuration : con2,
-   install: true,
--  install_dir: join_paths(get_option('datadir'), 'dbus-1', 'system.d') ,
-+  install_dir: join_paths(get_option('prefix'), 'etc', 'dbus-1', 'system.d') ,
- )
---- a/meson.build
-+++ b/meson.build
-@@ -258,6 +258,3 @@
- subdir('policy')
- subdir('rules')
- subdir('src')
--
--meson.add_install_script('meson_post_install.sh',
--                         localstatedir, get_option('with-daemon-user'))
---- a/rules/meson.build
-+++ b/rules/meson.build
-@@ -9,5 +9,5 @@
-     sensor_rules_in,
-     '95-cd-devices.rules',
-   ],
--  install_dir : join_paths(udev.get_pkgconfig_variable('udevdir'), 'rules.d')
-+  install_dir : join_paths(get_option('prefix'), 'lib', 'udev', 'rules.d')
- )
---- a/src/plugins/meson.build
-+++ b/src/plugins/meson.build
-@@ -66,7 +66,7 @@
-     install_dir: join_paths(get_option('libdir'), 'colord-plugins'),
-     c_args : [
-       cargs,
--      '-DCOLORD_SANE_BINARY="' + join_paths(get_option('libexecdir'), 'colord-sane' + '"'),
-+      '-DCOLORD_SANE_BINARY="' + join_paths(get_option('prefix'), get_option('libexecdir'), 'colord-sane' + '"'),
-     ],
-     dependencies : [
-       gio,
diff --git a/pkgs/tools/misc/contacts/default.nix b/pkgs/tools/misc/contacts/default.nix
index d146cd93343..47a74e84b55 100644
--- a/pkgs/tools/misc/contacts/default.nix
+++ b/pkgs/tools/misc/contacts/default.nix
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
 
   installPhase = ''
     mkdir -p $out/bin
-    cp ./contacts-*/Build/Products/Default/contacts $out/bin
+    cp Products/Default/contacts $out/bin
   '';
 
   ## FIXME: the framework setup hook isn't adding these correctly
diff --git a/pkgs/tools/misc/convmv/default.nix b/pkgs/tools/misc/convmv/default.nix
index e6ff7e99353..253e6a50b36 100644
--- a/pkgs/tools/misc/convmv/default.nix
+++ b/pkgs/tools/misc/convmv/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, perl }:
 
 stdenv.mkDerivation rec {
-  name = "convmv-2.04";
+  name = "convmv-2.05";
 
   src = fetchurl {
     url = "http://www.j3e.de/linux/convmv/${name}.tar.gz";
-    sha256 = "075xn1ill26hbhg4nl54sp75b55db3ikl7lvhqb9ijvkpi67j6yy";
+    sha256 = "19hwv197p7c23f43vvav5bs19z9b72jzca2npkjsxgprwj5ardjk";
   };
 
   preBuild=''
diff --git a/pkgs/tools/misc/cutecom/default.nix b/pkgs/tools/misc/cutecom/default.nix
index e3f8a4c43a5..b20e493a585 100644
--- a/pkgs/tools/misc/cutecom/default.nix
+++ b/pkgs/tools/misc/cutecom/default.nix
@@ -20,6 +20,6 @@ stdenv.mkDerivation rec {
     homepage = http://cutecom.sourceforge.net/;
     license = stdenv.lib.licenses.gpl2Plus;
     maintainers = [ stdenv.lib.maintainers.bennofs ];
-    platforms = stdenv.lib.platforms.unix;
+    platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/tools/misc/dashing/default.nix b/pkgs/tools/misc/dashing/default.nix
new file mode 100644
index 00000000000..673e5c4c321
--- /dev/null
+++ b/pkgs/tools/misc/dashing/default.nix
@@ -0,0 +1,26 @@
+# This file was generated by https://github.com/kamilchm/go2nix v1.2.1
+{ stdenv, buildGoPackage, fetchgit, fetchhg, fetchbzr, fetchsvn }:
+
+buildGoPackage rec {
+  name = "dashing-unstable-${version}";
+  version = "2018-02-15";
+  rev = "0e0519d76ed6bbbe02b00ee1d1ac24697d349f49";
+
+  goPackagePath = "github.com/technosophos/dashing";
+
+  src = fetchgit {
+    inherit rev;
+    url = "https://github.com/technosophos/dashing";
+    sha256 = "066njyk3c1fqqr0v6aa6knp3dnksmh6hnl9d84fgd4wzyw3ma2an";
+  };
+
+  goDeps = ./deps.nix;
+
+  meta = with stdenv.lib; {
+    description = "A Dash Generator Script for Any HTML";
+    homepage    = https://github.com/technosophos/dashing;
+    license     = licenses.mit;
+    maintainers = [ ];
+    platforms   = platforms.linux;
+  };
+}
diff --git a/pkgs/tools/misc/dashing/deps.nix b/pkgs/tools/misc/dashing/deps.nix
new file mode 100644
index 00000000000..4ad5a10149e
--- /dev/null
+++ b/pkgs/tools/misc/dashing/deps.nix
@@ -0,0 +1,39 @@
+# This file was generated by https://github.com/kamilchm/go2nix v1.2.1
+[
+  {
+    goPackagePath = "github.com/andybalholm/cascadia";
+    fetch = {
+      type = "git";
+      url = "https://github.com/andybalholm/cascadia";
+      rev = "901648c87902174f774fac311d7f176f8647bdaa";
+      sha256 = "09j8cavbhqqdxjqrkwbc40g8p0i49zf3184rpjm5p2rjbprcghcc";
+    };
+  }
+  {
+    goPackagePath = "github.com/codegangsta/cli";
+    fetch = {
+      type = "git";
+      url = "https://github.com/codegangsta/cli";
+      rev = "8e01ec4cd3e2d84ab2fe90d8210528ffbb06d8ff";
+      sha256 = "0cpr10n4ps3gcdbcink71ry9hzhdb5rrcysmylybs8h2lzxqgc1i";
+    };
+  }
+  {
+    goPackagePath = "github.com/mattn/go-sqlite3";
+    fetch = {
+      type = "git";
+      url = "https://github.com/mattn/go-sqlite3";
+      rev = "d896508f87298565da02ed92730e7065c3de10b8";
+      sha256 = "19q0rv171wx73rwdp81rkj9ys3r5jaav94b3j06gprg59phb98bs";
+    };
+  }
+  {
+    goPackagePath = "golang.org/x/net";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/net";
+      rev = "61147c48b25b599e5b561d2e9c4f3e1ef489ca41";
+      sha256 = "1520pdlw9a9s41ad1cf1z6y2ff4j96zbn82qffrxqk02bqlr9f5w";
+    };
+  }
+]
diff --git a/pkgs/tools/misc/datamash/default.nix b/pkgs/tools/misc/datamash/default.nix
index 9b9735cbfcd..064fd00cc27 100644
--- a/pkgs/tools/misc/datamash/default.nix
+++ b/pkgs/tools/misc/datamash/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "datamash-${version}";
-  version = "1.2";
+  version = "1.3";
 
   src = fetchurl {
     url = "mirror://gnu/datamash/${name}.tar.gz";
-    sha256 = "15jrv3ly0vgvwwi2qjmhi39n7wrklwifdk961wwfaxyc5jr6zm78";
+    sha256 = "19jpcv4ryvbz0476d6dgpxpbjkpmih4q84wj06nslls338bm5fzf";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/tools/misc/dateutils/default.nix b/pkgs/tools/misc/dateutils/default.nix
index 86a8d3f234b..7c689211f6e 100644
--- a/pkgs/tools/misc/dateutils/default.nix
+++ b/pkgs/tools/misc/dateutils/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  version = "0.4.2";
+  version = "0.4.3";
   name = "dateutils-${version}";
 
   src = fetchurl {
     url = "https://bitbucket.org/hroptatyr/dateutils/downloads/${name}.tar.xz";
-    sha256 = "0sxl5rz9rw02dfn5mdww378hjgnnbxavs52viyfyx620b29finpc";
+    sha256 = "06lgqp2cyvmh09j04lm3g6ml7yxn1x92rjzgnwzq4my95c37kmdh";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/tools/misc/debian-devscripts/default.nix b/pkgs/tools/misc/debian-devscripts/default.nix
index 810bf06527b..a08f465d6cd 100644
--- a/pkgs/tools/misc/debian-devscripts/default.nix
+++ b/pkgs/tools/misc/debian-devscripts/default.nix
@@ -54,7 +54,8 @@ in stdenv.mkDerivation rec {
       wrapProgram "$i" \
         --prefix PERL5LIB : "$PERL5LIB" \
         --prefix PERL5LIB : "$out/share/devscripts" \
-        --prefix PYTHONPATH : "$out/lib/python3.4/site-packages"
+        --prefix PYTHONPATH : "$out/lib/python3.4/site-packages" \
+        --prefix PATH : "${dpkg}/bin"
     done
   '';
 
diff --git a/pkgs/tools/misc/debootstrap/default.nix b/pkgs/tools/misc/debootstrap/default.nix
index bd5678c651f..7b143183bc0 100644
--- a/pkgs/tools/misc/debootstrap/default.nix
+++ b/pkgs/tools/misc/debootstrap/default.nix
@@ -4,13 +4,13 @@
 # There is also cdebootstrap now. Is that easier to maintain?
 stdenv.mkDerivation rec {
   name = "debootstrap-${version}";
-  version = "1.0.93";
+  version = "1.0.97";
 
   src = fetchurl {
     # git clone git://git.debian.org/d-i/debootstrap.git
     # I'd like to use the source. However it's lacking the lanny script ? (still true?)
     url = "mirror://debian/pool/main/d/debootstrap/debootstrap_${version}.tar.gz";
-    sha256 = "1nyp9fwb7xrk1vin81dmgx2g9rb52yg4gwz4rcx97gamw4mlvbfd";
+    sha256 = "1w2wdiazfykjkwainxfk72rccqsh1l1i90h93phsvayv0gsbxrnk";
   };
 
   buildInputs = [ dpkg gettext gawk perl ];
diff --git a/pkgs/tools/misc/desktop-file-utils/default.nix b/pkgs/tools/misc/desktop-file-utils/default.nix
index 6e2f6548722..e89222af74b 100644
--- a/pkgs/tools/misc/desktop-file-utils/default.nix
+++ b/pkgs/tools/misc/desktop-file-utils/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, glib, libintlOrEmpty }:
+{ stdenv, fetchurl, pkgconfig, glib, libintl }:
 
 with stdenv.lib;
 
@@ -11,9 +11,7 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ glib libintlOrEmpty ];
-
-  NIX_LDFLAGS = optionalString stdenv.isDarwin "-lintl";
+  buildInputs = [ glib libintl ];
 
   meta = {
     homepage = http://www.freedesktop.org/wiki/Software/desktop-file-utils;
diff --git a/pkgs/tools/misc/diffoscope/default.nix b/pkgs/tools/misc/diffoscope/default.nix
index 894079fad84..1987c6aed0a 100644
--- a/pkgs/tools/misc/diffoscope/default.nix
+++ b/pkgs/tools/misc/diffoscope/default.nix
@@ -11,7 +11,7 @@ python3Packages.buildPythonApplication rec {
   version = "91";
 
   src = fetchgit {
-    url    = "git://anonscm.debian.org/reproducible/diffoscope.git";
+    url    = "https://anonscm.debian.org/git/reproducible/diffoscope.git";
     rev    = "refs/tags/${version}";
     sha256 = "16xqy71115cj4kws6bkcjm98nlaff3a32fz82rn2l1xk9w9n3dnz";
   };
diff --git a/pkgs/tools/misc/doitlive/default.nix b/pkgs/tools/misc/doitlive/default.nix
new file mode 100644
index 00000000000..aa3e1e18ae6
--- /dev/null
+++ b/pkgs/tools/misc/doitlive/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, pythonPackages }:
+
+pythonPackages.buildPythonApplication rec {
+  pname = "doitlive";
+  version = "3.0.3";
+
+  src = pythonPackages.fetchPypi {
+    inherit pname version;
+    sha256 = "19i16ca835rb3gal1sxyvpyilj9a80n6nikf0smlzmxck38x86fj";
+  };
+
+  propagatedBuildInputs = with pythonPackages; [ click ];
+
+  # disable tests (too many failures)
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    description = "Tool for live presentations in the terminal";
+    homepage = https://pypi.python.org/pypi/doitlive;
+    license = licenses.mit;
+    maintainers = with maintainers; [ mbode ];
+  };
+}
diff --git a/pkgs/tools/misc/dust/default.nix b/pkgs/tools/misc/dust/default.nix
new file mode 100644
index 00000000000..f34d05758cf
--- /dev/null
+++ b/pkgs/tools/misc/dust/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, fetchFromGitHub, cargo, rustPlatform }:
+
+rustPlatform.buildRustPackage rec {
+  name = "dust-${version}";
+  version = "0.2.3";
+
+  src = fetchFromGitHub {
+    owner = "bootandy";
+    repo = "dust";
+    rev = "v${version}";
+    sha256 = "1l8z1daiq2x92449p2ciblcwl0ddgr3vqj2dsd3z8jj3y0z8j51s";
+  };
+
+  cargoSha256 = "0x3ay440vbc64y3pd8zhd119sw8fih0njmkzpr7r8wdw3k48v96m";
+
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    description = "du + rust = dust. Like du but more intuitive";
+    homepage = https://github.com/bootandy/dust;
+    license = licenses.asl20;
+    maintainers = [ maintainers.infinisil ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/tools/misc/edid-decode/default.nix b/pkgs/tools/misc/edid-decode/default.nix
index e4968b12e6c..246898a7231 100644
--- a/pkgs/tools/misc/edid-decode/default.nix
+++ b/pkgs/tools/misc/edid-decode/default.nix
@@ -17,7 +17,7 @@ in stdenv.mkDerivation rec {
 
   meta = {
     description = "EDID decoder and conformance tester";
-    homepage = http://cgit.freedesktop.org/xorg/app/edid-decode/;
+    homepage = https://cgit.freedesktop.org/xorg/app/edid-decode/;
     license = stdenv.lib.licenses.mit;
     maintainers = [ stdenv.lib.maintainers.chiiruno ];
     platforms = stdenv.lib.platforms.all;
diff --git a/pkgs/tools/misc/ethtool/default.nix b/pkgs/tools/misc/ethtool/default.nix
index 2527c34feeb..62c782b26fe 100644
--- a/pkgs/tools/misc/ethtool/default.nix
+++ b/pkgs/tools/misc/ethtool/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "ethtool-${version}";
-  version = "4.15";
+  version = "4.16";
 
   src = fetchurl {
     url = "mirror://kernel/software/network/ethtool/${name}.tar.xz";
-    sha256 = "06pr3s7wg2pbvfbf7js61bgh3caff4qf50nqqk3cgz9z90rgvxvi";
+    sha256 = "00ss07jc7p276d83f6jpafgwyc9yiribciyqcgx9j86v49kpm5py";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/tools/misc/exa/default.nix b/pkgs/tools/misc/exa/default.nix
index c07420821ed..2e6753cec34 100644
--- a/pkgs/tools/misc/exa/default.nix
+++ b/pkgs/tools/misc/exa/default.nix
@@ -23,6 +23,20 @@ buildRustPackage rec {
     libiconv darwin.apple_sdk.frameworks.Security ]
   ;
 
+  postInstall = ''
+    mkdir -p $out/share/man/man1
+    cp contrib/man/exa.1 $out/share/man/man1/
+
+    mkdir -p $out/share/bash-completion/completions
+    cp contrib/completions.bash $out/share/bash-completion/completions/exa
+
+    mkdir -p $out/share/fish/vendor_completions.d
+    cp contrib/completions.fish $out/share/fish/vendor_completions.d/exa.fish
+
+    mkdir -p $out/share/zsh/site-functions
+    cp contrib/completions.zsh $out/share/zsh/site-functions/_exa
+  '';
+
   # Some tests fail, but Travis ensures a proper build
   doCheck = false;
 
diff --git a/pkgs/tools/misc/fd/default.nix b/pkgs/tools/misc/fd/default.nix
index 3c826206869..889f9d56d93 100644
--- a/pkgs/tools/misc/fd/default.nix
+++ b/pkgs/tools/misc/fd/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   name = "fd-${version}";
-  version = "6.3.0";
+  version = "7.0.0";
 
   src = fetchFromGitHub {
     owner = "sharkdp";
     repo = "fd";
     rev = "v${version}";
-    sha256 = "1q666k7rssjd2cbkm8bm2gsn5shlkh756qpam53kibi5ahrwa7dc";
+    sha256 = "0qykzkwrj4w3i5h1a328kadd7fgd91w0z2n4xr6i3csyaiwwgd1x";
   };
 
-  cargoSha256 = "1dikix9d46f0ydi81ray2vdvsy6y326w8ql6c89zx0p9cjm8m83r";
+  cargoSha256 = "1qicgfaqzjm7sjzgxkci6bg495n227pyicj4ycds5z6mfy15hi4q";
 
   preFixup = ''
     mkdir -p "$out/man/man1"
diff --git a/pkgs/tools/misc/file/default.nix b/pkgs/tools/misc/file/default.nix
index 3765f913430..aeb43d7c115 100644
--- a/pkgs/tools/misc/file/default.nix
+++ b/pkgs/tools/misc/file/default.nix
@@ -2,14 +2,14 @@
 
 stdenv.mkDerivation rec {
   name = "file-${version}";
-  version = "5.32";
+  version = "5.33";
 
   src = fetchurl {
     urls = [
       "ftp://ftp.astron.com/pub/file/${name}.tar.gz"
       "https://distfiles.macports.org/file/${name}.tar.gz"
     ];
-    sha256 = "0l1bfa0icng9vdwya00ff48fhvjazi5610ylbhl35qi13d6xqfc6";
+    sha256 = "1iipnwjkag7q04zjkaqic41r9nlw0ml6mhqian6qkkbisb1whlhw";
   };
 
   nativeBuildInputs = stdenv.lib.optional (stdenv.hostPlatform != stdenv.buildPlatform) file;
diff --git a/pkgs/tools/misc/flashrom/default.nix b/pkgs/tools/misc/flashrom/default.nix
index b1e09312658..1bdab1e841f 100644
--- a/pkgs/tools/misc/flashrom/default.nix
+++ b/pkgs/tools/misc/flashrom/default.nix
@@ -9,6 +9,12 @@ stdenv.mkDerivation rec {
     sha256 = "0i9wg1lyfg99bld7d00zqjm9f0lk6m0q3h3n9c195c9yysq5ccfb";
   };
 
+  # Newer versions of libusb deprecate some API flashrom uses.
+  postPatch = ''
+    substituteInPlace Makefile \
+      --replace "-Werror" "-Werror -Wno-error=deprecated-declarations -Wno-error=unused-const-variable="
+  '';
+
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ libftdi pciutils ];
 
diff --git a/pkgs/tools/misc/fontforge/default.nix b/pkgs/tools/misc/fontforge/default.nix
index c7fd29da8ac..0f6fb38ef3b 100644
--- a/pkgs/tools/misc/fontforge/default.nix
+++ b/pkgs/tools/misc/fontforge/default.nix
@@ -57,6 +57,9 @@ stdenv.mkDerivation rec {
     ./bootstrap --skip-git --gnulib-srcdir=./gnulib
   '';
 
+  doCheck = false; # tries to wget some fonts
+  doInstallCheck = doCheck;
+
   postInstall =
     # get rid of the runtime dependency on python
     lib.optionalString (!withPython) ''
@@ -72,4 +75,3 @@ stdenv.mkDerivation rec {
     license = stdenv.lib.licenses.bsd3;
   };
 }
-
diff --git a/pkgs/tools/misc/fwup/default.nix b/pkgs/tools/misc/fwup/default.nix
index 592707be20a..3903fde3302 100644
--- a/pkgs/tools/misc/fwup/default.nix
+++ b/pkgs/tools/misc/fwup/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   name = "fwup-${version}";
-  version = "0.18.1";
+  version = "1.1.0";
 
   src = fetchFromGitHub {
     owner = "fhunleth";
     repo = "fwup";
     rev = "v${version}";
-    sha256 = "0qdld8jy1rkpfzbfhnssr58q1gciln3pw9m6fj0jarfgja4gj31l";
+    sha256 = "1jhl50yj5h6wl3fx1hcqi4vb7633srmbbcpsgajprc5fxscjgapm";
   };
 
   doCheck = true;
@@ -23,9 +23,6 @@ stdenv.mkDerivation rec {
     ];
   propagatedBuildInputs = [ zip unzip mtools dosfstools coreutils ];
 
-  # segfaults on darwin without
-  NIX_LDFLAGS = lib.optional stdenv.isDarwin "-F/System/Library/Frameworks";
-
   meta = with stdenv.lib; {
     description = "Configurable embedded Linux firmware update creator and runner";
     homepage = https://github.com/fhunleth/fwup;
diff --git a/pkgs/tools/misc/fzf/default.nix b/pkgs/tools/misc/fzf/default.nix
index 1eb4393c978..d9da04c1fa1 100644
--- a/pkgs/tools/misc/fzf/default.nix
+++ b/pkgs/tools/misc/fzf/default.nix
@@ -23,8 +23,13 @@ buildGoPackage rec {
   goDeps = ./deps.nix;
 
   patchPhase = ''
-    sed -i -e "s|expand('<sfile>:h:h').'/bin/fzf'|'$bin/bin/fzf'|" plugin/fzf.vim
-    sed -i -e "s|expand('<sfile>:h:h').'/bin/fzf-tmux'|'$bin/bin/fzf-tmux'|" plugin/fzf.vim
+    sed -i -e "s|expand('<sfile>:h:h')|'$bin'|" plugin/fzf.vim
+
+    # Original and output files can't be the same
+    if cmp -s $src/plugin/fzf.vim plugin/fzf.vim; then
+      echo "Vim plugin patch not applied properly. Aborting" && \
+      exit 1
+    fi
   '';
 
   preInstall = ''
diff --git a/pkgs/tools/misc/gibo/default.nix b/pkgs/tools/misc/gibo/default.nix
index 67c84494692..5c8bacac162 100644
--- a/pkgs/tools/misc/gibo/default.nix
+++ b/pkgs/tools/misc/gibo/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "gibo-${version}";
-  version = "1.0.4";
+  version = "1.0.6";
 
   src = fetchFromGitHub {
     owner = "simonwhitaker";
     repo = "gibo";
     rev = version;
-    sha256 = "1vzchggxv660c1cj5v0hlmln7yda48wjy2cv0qwi619cmr5hwbgh";
+    sha256 = "07j3sv9ar9l074krajw8nfmsfmdp836irsbd053dbqk2v880gfm6";
   };
 
   phases = [ "unpackPhase" "installPhase" "fixupPhase" ];
diff --git a/pkgs/tools/misc/gnokii/default.nix b/pkgs/tools/misc/gnokii/default.nix
index adad66c9bfa..eb029d32f73 100644
--- a/pkgs/tools/misc/gnokii/default.nix
+++ b/pkgs/tools/misc/gnokii/default.nix
@@ -21,5 +21,6 @@ stdenv.mkDerivation rec {
     homepage = http://www.gnokii.org;
     maintainers = [ stdenv.lib.maintainers.raskin ];
     platforms = stdenv.lib.platforms.linux;
+    broken = true; # 2018-04-10
   };
 }
diff --git a/pkgs/tools/misc/goaccess/default.nix b/pkgs/tools/misc/goaccess/default.nix
index 8586244b415..e048a2800df 100644
--- a/pkgs/tools/misc/goaccess/default.nix
+++ b/pkgs/tools/misc/goaccess/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, pkgconfig, geoipWithDatabase, ncurses, glib }:
 
 stdenv.mkDerivation rec {
-  version = "1.1.1";
+  version = "1.2";
   name = "goaccess-${version}";
 
   src = fetchurl {
     url = "http://tar.goaccess.io/goaccess-${version}.tar.gz";
-    sha256 = "1lxnhvh4xhkgzdv0l2fiza2099phn9zs04p9cqfhhl5k6xq18wsc";
+    sha256 = "051lrprg9svl5ccc3sif8fl78vfpkrgjcxgi2wngqn7a81jzdabb";
   };
 
   configureFlags = [
diff --git a/pkgs/tools/misc/gparted/default.nix b/pkgs/tools/misc/gparted/default.nix
index 99c54b6d396..ca078c16ab6 100644
--- a/pkgs/tools/misc/gparted/default.nix
+++ b/pkgs/tools/misc/gparted/default.nix
@@ -4,11 +4,11 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "gparted-0.30.0";
+  name = "gparted-0.31.0";
 
   src = fetchurl {
     url = "mirror://sourceforge/gparted/${name}.tar.gz";
-    sha256 = "0jngbsbvg8k8vbpsphqbk8br2cbmxhabbm2c5bmxm2q5zvpr64fk";
+    sha256 = "1fh7rpgb4xxdhgyjsirb83zvjfc5mfngb8a1pjbv7r6r6jj4jyrv";
   };
 
   configureFlags = [ "--disable-doc" ];
@@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
       partitions. GParted enables you to change the partition organization
       while preserving the partition contents.
     '';
-    homepage = http://gparted.org;
+    homepage = https://gparted.org;
     license = licenses.gpl2Plus;
     platforms = platforms.linux;
   };
diff --git a/pkgs/tools/misc/graylog/default.nix b/pkgs/tools/misc/graylog/default.nix
index d4acc063b4d..f79be961378 100644
--- a/pkgs/tools/misc/graylog/default.nix
+++ b/pkgs/tools/misc/graylog/default.nix
@@ -1,20 +1,24 @@
-{ stdenv, fetchurl }:
+{ stdenv, fetchurl, makeWrapper, jre_headless }:
 
 stdenv.mkDerivation rec {
-  version = "2.4.1";
+  version = "2.4.4";
   name = "graylog-${version}";
 
   src = fetchurl {
     url = "https://packages.graylog2.org/releases/graylog/graylog-${version}.tgz";
-    sha256 = "1dps1vvv8b154ayamhjxdgiq101qs4w0nk79j3zb41pdyn2fji4j";
+    sha256 = "0wiqwwsy306hr7zn57f5hvh8wvcc2q46x0hdlabi0n9m44wk993i";
   };
 
   dontBuild = true;
   dontStrip = true;
 
+  buildInputs = [ makeWrapper ];
+  makeWrapperArgs = [ "--prefix" "PATH" ":" "${jre_headless}/bin" ];
+
   installPhase = ''
     mkdir -p $out
     cp -r {graylog.jar,lib,bin,plugin,data} $out
+    wrapProgram $out/bin/graylogctl $makeWrapperArgs
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/tools/misc/grc/default.nix b/pkgs/tools/misc/grc/default.nix
index c554c13bb4a..451828b0f47 100644
--- a/pkgs/tools/misc/grc/default.nix
+++ b/pkgs/tools/misc/grc/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name    = "grc-${version}";
-  version = "1.11.1";
+  version = "1.11.3";
 
   src = fetchFromGitHub {
     owner  = "garabik";
     repo   = "grc";
     rev    = "v${version}";
-    sha256 = "10h65qmv2cymixzfsckfcn6f01xsjzfq1x303rv01nibniwbq5z9";
+    sha256 = "0b3wx9zr7l642hizk93ysbdss7rfymn22b2ykj4kpkf1agjkbv35";
   };
 
   buildInputs = with python3Packages; [ wrapPython makeWrapper ];
diff --git a/pkgs/tools/misc/grub/2.0x.nix b/pkgs/tools/misc/grub/2.0x.nix
index 5b9130bbe0e..96ce38ea9e8 100644
--- a/pkgs/tools/misc/grub/2.0x.nix
+++ b/pkgs/tools/misc/grub/2.0x.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, fetchFromSavannah, autogen, flex, bison, python, autoconf, automake
-, gettext, ncurses, libusb, freetype, qemu, devicemapper, unifont
+, gettext, ncurses, libusb, freetype, qemu, devicemapper, unifont, pkgconfig
 , zfs ? null
 , efiSupport ? false
 , zfsSupport ? true
@@ -46,7 +46,7 @@ stdenv.mkDerivation rec {
     sha256 = "03vvdfhdmf16121v7xs8is2krwnv15wpkhkf16a4yf8nsfc3f2w1";
   };
 
-  nativeBuildInputs = [ bison flex python ];
+  nativeBuildInputs = [ bison flex python pkgconfig ];
   buildInputs = [ ncurses libusb freetype gettext devicemapper ]
     ++ optional doCheck qemu
     ++ optional zfsSupport zfs;
@@ -123,6 +123,6 @@ stdenv.mkDerivation rec {
 
     license = licenses.gpl3Plus;
 
-    platforms = platforms.gnu;
+    platforms = platforms.gnu ++ platforms.linux;
   };
 })
diff --git a/pkgs/tools/misc/grub/pvgrub_image/default.nix b/pkgs/tools/misc/grub/pvgrub_image/default.nix
index ee6e5065f40..df5e3f15e95 100644
--- a/pkgs/tools/misc/grub/pvgrub_image/default.nix
+++ b/pkgs/tools/misc/grub/pvgrub_image/default.nix
@@ -37,6 +37,6 @@ stdenv.mkDerivation rec {
          Xen guests
       '';
 
-    platforms = platforms.gnu;
+    platforms = platforms.gnu ++ platforms.linux;
   };
 })
diff --git a/pkgs/tools/misc/grub/trusted.nix b/pkgs/tools/misc/grub/trusted.nix
index e57c98bf51b..2bf7e3dcf43 100644
--- a/pkgs/tools/misc/grub/trusted.nix
+++ b/pkgs/tools/misc/grub/trusted.nix
@@ -98,6 +98,6 @@ stdenv.mkDerivation rec {
     description = "GRUB 2.0 extended with TCG (TPM) support for integrity measured boot process (trusted boot)";
     homepage = https://github.com/Sirrix-AG/TrustedGRUB2;
     license = licenses.gpl3Plus;
-    platforms = platforms.gnu;
+    platforms = platforms.gnu ++ platforms.linux;
   };
 }
diff --git a/pkgs/tools/misc/gsmartcontrol/default.nix b/pkgs/tools/misc/gsmartcontrol/default.nix
index d4322f051d0..f7cdf5ca608 100644
--- a/pkgs/tools/misc/gsmartcontrol/default.nix
+++ b/pkgs/tools/misc/gsmartcontrol/default.nix
@@ -1,18 +1,28 @@
-{ fetchurl, stdenv, smartmontools, gtkmm2, libglademm, pkgconfig, pcre }:
+{ fetchurl, stdenv, smartmontools, autoreconfHook, gettext, gtkmm3, pkgconfig, wrapGAppsHook, pcre-cpp, gnome3 }:
 
 stdenv.mkDerivation rec {
-  version="0.8.7";
+  version="1.1.3";
   name = "gsmartcontrol-${version}";
 
   src = fetchurl {
-    url = "http://artificialtime.com/gsmartcontrol/gsmartcontrol-${version}.tar.bz2";
-    sha256 = "1ipykzqpfvlr84j38hr7q2cag4imrn1gql10slp8bfrs4h1si3vh";
+    url = "mirror://sourceforge/gsmartcontrol/gsmartcontrol-${version}.tar.bz2";
+    sha256 = "1a8j7dkml9zvgpk83xcdajfz7g6mmpmm5k86dl5sjc24zb7n4kxn";
   };
 
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ smartmontools gtkmm2 libglademm pcre ];
+  patches = [
+    ./fix-paths.patch
+  ];
 
-  #installTargets = "install datainstall";
+  nativeBuildInputs = [ autoreconfHook gettext pkgconfig wrapGAppsHook ];
+  buildInputs = [ gtkmm3 pcre-cpp gnome3.adwaita-icon-theme ];
+
+  enableParallelBuilding = true;
+
+  preFixup = ''
+    gappsWrapperArgs+=(
+      --prefix PATH : "${stdenv.lib.makeBinPath [ smartmontools ]}"
+    )
+  '';
 
   meta = {
     description = "Hard disk drive health inspection tool";
@@ -25,7 +35,7 @@ stdenv.mkDerivation rec {
       It allows you to inspect the drive's SMART data to determine its health,
       as well as run various tests on it.
     '';
-    homepage = http://gsmartcontrol.sourceforge.net/;
+    homepage = https://gsmartcontrol.sourceforge.io/;
     license = stdenv.lib.licenses.gpl2Plus;
     maintainers = with stdenv.lib.maintainers; [qknight];
     platforms = with stdenv.lib.platforms; linux;
diff --git a/pkgs/tools/misc/gsmartcontrol/fix-paths.patch b/pkgs/tools/misc/gsmartcontrol/fix-paths.patch
new file mode 100644
index 00000000000..905b63bee0c
--- /dev/null
+++ b/pkgs/tools/misc/gsmartcontrol/fix-paths.patch
@@ -0,0 +1,58 @@
+diff --git a/configure.ac b/configure.ac
+--- a/configure.ac
++++ b/configure.ac
+@@ -475,6 +475,7 @@
+ 
+ 
+ AC_CONFIG_FILES([ data/gsmartcontrol.desktop data/gsmartcontrol.appdata.xml \
++	data/org.gsmartcontrol.policy \
+ 	data/nsis/distribution.txt data/nsis/gsmartcontrol.nsi \
+ 	debian.dist/changelog \
+ 	src/gsc_winres.rc src/gsmartcontrol.exe.manifest \
+diff --git a/data/gsmartcontrol-root.in b/data/gsmartcontrol-root.in
+--- a/data/gsmartcontrol-root.in
++++ b/data/gsmartcontrol-root.in
+@@ -8,7 +8,7 @@
+ # Run gsmartcontrol with root, asking for root password first.
+ # export GSMARTCONTROL_SU to override a su command (e.g. "kdesu -c").
+ 
+-EXEC_BIN="@prefix@/sbin/gsmartcontrol";
++EXEC_BIN="@prefix@/bin/gsmartcontrol";
+ prog_name="gsmartcontrol"
+ 
+ 
+@@ -118,7 +118,7 @@
+ # Add @prefix@/sbin as well (freebsd seems to require it).
+ # Note that beesu won't show a GUI login box if /usr/sbin is before /usr/bin,
+ # so add it first as well.
+-EXTRA_PATHS="/usr/bin:/usr/sbin:/usr/local/sbin:@prefix@/sbin";
++EXTRA_PATHS="/usr/bin:/usr/sbin:/usr/local/sbin:@prefix@/bin";
+ export PATH="$EXTRA_PATHS:$PATH"
+ 
+ 
+diff --git a/data/org.gsmartcontrol.policy b/data/org.gsmartcontrol.policy.in
+rename from data/org.gsmartcontrol.policy
+rename to data/org.gsmartcontrol.policy.in
+--- a/data/org.gsmartcontrol.policy
++++ b/data/org.gsmartcontrol.policy.in
+@@ -12,7 +12,7 @@
+       <allow_inactive>auth_admin</allow_inactive>
+       <allow_active>auth_admin</allow_active>
+     </defaults>
+-    <annotate key="org.freedesktop.policykit.exec.path">/usr/sbin/gsmartcontrol</annotate>
++    <annotate key="org.freedesktop.policykit.exec.path">@prefix@/bin/gsmartcontrol</annotate>
+     <annotate key="org.freedesktop.policykit.exec.allow_gui">true</annotate>
+   </action>
+ 
+diff --git a/src/Makefile.am b/src/Makefile.am
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -24,7 +24,7 @@
+ # endif
+ 
+ 
+-sbin_PROGRAMS = gsmartcontrol
++bin_PROGRAMS = gsmartcontrol
+ 
+ gsmartcontrol_LDADD = $(top_builddir)/src/applib/libapplib.a \
+ 	$(top_builddir)/src/libdebug/libdebug.a \
diff --git a/pkgs/tools/misc/h5utils/default.nix b/pkgs/tools/misc/h5utils/default.nix
new file mode 100644
index 00000000000..db18cae77b1
--- /dev/null
+++ b/pkgs/tools/misc/h5utils/default.nix
@@ -0,0 +1,38 @@
+{ stdenv, fetchurl, lib
+, hdf5, libpng, libjpeg
+, hdf4 ? null
+, libmatheval ? null
+}:
+
+stdenv.mkDerivation rec {
+  version = "1.13.1";
+  name = "h5utils-${version}";
+
+  # fetchurl is used instead of fetchFromGitHub because the git repo version requires
+  # additional tools to build compared to the tarball release; see the README for details.
+  src = fetchurl {
+    url = "https://github.com/stevengj/h5utils/releases/download/${version}/h5utils-${version}.tar.gz";
+    sha256 = "0rbx3m8p5am8z5m0f3sryryfc41541hjpkixb1jkxakd9l36z9y5";
+  };
+
+  # libdf is an alternative name for libhdf (hdf4)
+  preConfigure = lib.optionalString (hdf4 != null)
+  ''
+    substituteInPlace configure \
+    --replace "-ldf" "-lhdf" \
+  '';
+
+  preBuild = lib.optionalString hdf5.mpiSupport "export CC=${hdf5.mpi}/bin/mpicc";
+
+  buildInputs = with lib; [ hdf5 libjpeg libpng ] ++ optional hdf5.mpiSupport hdf5.mpi
+    ++ optional (hdf4 != null) hdf4
+    ++ optional (libmatheval != null) libmatheval;
+
+  meta = with lib; {
+    description = "A set of utilities for visualization and conversion of scientific data in the free, portable HDF5 format";
+    homepage = https://github.com/stevengj/h5utils;
+    license = with licenses; [ mit gpl2 ];
+    maintainers = with maintainers; [ sfrijters ];
+  };
+
+}
diff --git a/pkgs/tools/misc/hdf4/default.nix b/pkgs/tools/misc/hdf4/default.nix
index bc8ea769e8b..1946cbeb3f0 100644
--- a/pkgs/tools/misc/hdf4/default.nix
+++ b/pkgs/tools/misc/hdf4/default.nix
@@ -8,10 +8,10 @@
 
 stdenv.mkDerivation rec {
   name = "hdf-${version}";
-  version = "4.2.12";
+  version = "4.2.13";
   src = fetchurl {
     url = "https://support.hdfgroup.org/ftp/HDF/releases/HDF${version}/src/hdf-${version}.tar.bz2";
-    sha256 = "020jh563sjyxsgml8l809d2i1d4ms9shivwj3gbm7n0ilxbll8id";
+    sha256 = "1wz0586zh91pqb95wvr0pbh71a8rz358fdj6n2ksp85x2cis9lsm";
   };
 
   buildInputs = [
diff --git a/pkgs/tools/misc/hdf5/default.nix b/pkgs/tools/misc/hdf5/default.nix
index 2c1ba43a558..494616d2b48 100644
--- a/pkgs/tools/misc/hdf5/default.nix
+++ b/pkgs/tools/misc/hdf5/default.nix
@@ -17,11 +17,11 @@ assert !cpp || mpi == null;
 let inherit (stdenv.lib) optional optionals; in
 
 stdenv.mkDerivation rec {
-  version = "1.10.1";
+  version = "1.10.2";
   name = "hdf5-${version}";
   src = fetchurl {
     url = "https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-1.10/${name}/src/${name}.tar.bz2";
-    sha256 = "1wpbi15za7kbsvih88kfcxblw412pjndl16x88dgnqr47piy2p4w";
+    sha256 = "0wfb3w6dzi6zr2g1sdswqy9lxbp7yr4blvyi7k2xya7izmxmpb8w";
  };
 
   passthru = {
diff --git a/pkgs/tools/misc/hyperfine/default.nix b/pkgs/tools/misc/hyperfine/default.nix
index 32215173984..0b04ee1e281 100644
--- a/pkgs/tools/misc/hyperfine/default.nix
+++ b/pkgs/tools/misc/hyperfine/default.nix
@@ -4,16 +4,16 @@ with rustPlatform;
 
 buildRustPackage rec {
   name = "hyperfine-${version}";
-  version = "0.4.0";
+  version = "1.0.0";
 
   src = fetchFromGitHub {
     owner  = "sharkdp";
     repo   = "hyperfine";
     rev    = "refs/tags/v${version}";
-    sha256 = "1ynqyacbx0x971lyd1k406asms58bc7vzl8gca3sg34rx0hx3wzi";
+    sha256 = "0prmnhyp20w71l3mjqgdr38q94cqr1xayzgj7ibbq2hdick4w5nn";
   };
 
-  cargoSha256 = "109yv1618bi19vh1jjv2ki06mafhcrv35a3a1zsr34kg3gsjv0rb";
+  cargoSha256 = "0saf0hl21ba2ckqbsw64908nvs0x1rjrnm73ackzpmv5pi9j567s";
 
   meta = with stdenv.lib; {
     description = "Command-line benchmarking tool";
diff --git a/pkgs/tools/misc/ipxe/default.nix b/pkgs/tools/misc/ipxe/default.nix
index 786b3992a5c..d34ccaa4b9e 100644
--- a/pkgs/tools/misc/ipxe/default.nix
+++ b/pkgs/tools/misc/ipxe/default.nix
@@ -3,8 +3,8 @@
 }:
 
 let
-  date = "20170922";
-  rev = "74d90b33f8490adcee2026ece18d8411d93b6a39";
+  date = "20180220";
+  rev = "47849be3a900c546cf92066849be0806f4e611d9";
 in
 
 stdenv.mkDerivation {
@@ -14,7 +14,7 @@ stdenv.mkDerivation {
 
   src = fetchgit {
     url = git://git.ipxe.org/ipxe.git;
-    sha256 = "12ijrq451fj2x3i7c7xjlxig5mwbhmgzqjvmfl2sza953vfbk4vw";
+    sha256 = "1f4pi1dp2zqnrbfnggnzycfvrxv0bqgw73dxbyy3hfy4mhdj6z45";
     inherit rev;
   };
 
@@ -26,6 +26,7 @@ stdenv.mkDerivation {
   makeFlags =
     [ "ECHO_E_BIN_ECHO=echo" "ECHO_E_BIN_ECHO_E=echo" # No /bin/echo here.
       "ISOLINUX_BIN_LIST=${syslinux}/share/syslinux/isolinux.bin"
+      "LDLINUX_C32=${syslinux}/share/syslinux/ldlinux.c32"
     ] ++ lib.optional (embedScript != null) "EMBED=${embedScript}";
 
 
@@ -34,6 +35,7 @@ stdenv.mkDerivation {
   configurePhase = ''
     runHook preConfigure
     for opt in $enabledOptions; do echo "#define $opt" >> src/config/general.h; done
+    sed -i '/cp \''${ISOLINUX_BIN}/s/$/ --no-preserve=mode/' src/util/geniso
     runHook postConfigure
   '';
 
diff --git a/pkgs/tools/misc/keychain/default.nix b/pkgs/tools/misc/keychain/default.nix
index 7fd9897a71b..133a461964b 100644
--- a/pkgs/tools/misc/keychain/default.nix
+++ b/pkgs/tools/misc/keychain/default.nix
@@ -1,6 +1,5 @@
 { stdenv, fetchFromGitHub, makeWrapper, coreutils, openssh, gnupg
-, perl, procps, gnugrep, gawk, findutils, gnused
-, withProcps ? stdenv.isLinux }:
+, perl, procps, gnugrep, gawk, findutils, gnused }:
 
 stdenv.mkDerivation rec {
   name = "keychain-${version}";
@@ -27,7 +26,7 @@ stdenv.mkDerivation rec {
       --prefix PATH ":" "${gnused}/bin" \
       --prefix PATH ":" "${findutils}/bin" \
       --prefix PATH ":" "${gawk}/bin" \
-      ${if withProcps then ("--prefix PATH \":\" ${procps}/bin") else ""}
+      --prefix PATH ":" "${procps}/bin"
   '';
 
   meta = {
diff --git a/pkgs/tools/misc/lf/default.nix b/pkgs/tools/misc/lf/default.nix
index 7e5a464764a..b78bb977dbc 100644
--- a/pkgs/tools/misc/lf/default.nix
+++ b/pkgs/tools/misc/lf/default.nix
@@ -1,19 +1,33 @@
 { stdenv, buildGoPackage, fetchFromGitHub }:
 
 buildGoPackage rec {
-  name = "lf-unstable-${version}";
-  version = "2018-01-11";
+  name = "lf-${version}";
+  version = "3";
 
   src = fetchFromGitHub {
     owner = "gokcehan";
     repo = "lf";
-    rev = "58538c802044a3a2590ebe4979f3c85d807ea2d9"; # nightly
-    sha256 = "0xp5accliwz1d0nbsc6cnsv38czcfqn5nyxfndkpw8jkh8w2pm9p";
+    rev = "r${version}";
+    sha256 = "1w4nly8g1p28ixq1vjg7qv07mb1vryys7cf6b7jdb523swra6a97";
   };
 
   goPackagePath = "github.com/gokcehan/lf";
   goDeps = ./deps.nix;
 
+  # TODO: Setting buildFlags probably isn't working properly. I've tried a few
+  # variants, e.g.:
+  # - buildFlags = "-ldflags \"-s -w -X 'main.gVersion=${version}'\"";
+  # - buildFlags = "-ldflags \\\"-X ${goPackagePath}/main.gVersion=${version}\\\"";
+
+  # Override the build phase (to set buildFlags):
+  buildPhase = ''
+    runHook preBuild
+    runHook renameImports
+    cd go/src/${goPackagePath}
+    go install -ldflags="-s -w -X main.gVersion=r${version}"
+    runHook postBuild
+  '';
+
   meta = with stdenv.lib; {
     description = "A terminal file manager written in Go and heavily inspired by ranger";
     longDescription = ''
diff --git a/pkgs/tools/misc/lf/deps.nix b/pkgs/tools/misc/lf/deps.nix
index 6c1e07667b3..35becb00263 100644
--- a/pkgs/tools/misc/lf/deps.nix
+++ b/pkgs/tools/misc/lf/deps.nix
@@ -4,8 +4,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/nsf/termbox-go";
-      rev = "aa4a75b1c20a2b03751b1a9f7e41d58bd6f71c43"; # master
-      sha256 = "1xfd0mq6jkq55dx14nksyyfc66qla7cz0xxscpw07b25qmww9518";
+      rev = "7cbfaac9e282b3ea0cefeddc67b2c3ed3aaf97bc"; # master
+      sha256 = "0pb5p8q2x31aqs307lla75mm1a01mr2qyqxsfqix1pgwg16xbad8";
     };
   }
   {
diff --git a/pkgs/tools/misc/libbitcoin/libbitcoin-client.nix b/pkgs/tools/misc/libbitcoin/libbitcoin-client.nix
index d2f988396ca..8d55b2cdc00 100644
--- a/pkgs/tools/misc/libbitcoin/libbitcoin-client.nix
+++ b/pkgs/tools/misc/libbitcoin/libbitcoin-client.nix
@@ -3,7 +3,7 @@
 
 let
   pname = "libbitcoin-client";
-  version = "3.4.0";
+  version = "3.5.0";
 
 in stdenv.mkDerivation {
   name = "${pname}-${version}";
@@ -12,7 +12,7 @@ in stdenv.mkDerivation {
     owner = "libbitcoin";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1vdp6qgpxshh6nhdvr81z3nvh42wgmsm4prli4ajigwp970y8p56";
+    sha256 = "0a9c00f1pfi8wczbfd1djkvr7di3iw1ynak6if910w01dkhbm6v4";
   };
 
   nativeBuildInputs = [ autoreconfHook pkgconfig ];
diff --git a/pkgs/tools/misc/libbitcoin/libbitcoin-explorer.nix b/pkgs/tools/misc/libbitcoin/libbitcoin-explorer.nix
index e9f4c977779..e49614834ae 100644
--- a/pkgs/tools/misc/libbitcoin/libbitcoin-explorer.nix
+++ b/pkgs/tools/misc/libbitcoin/libbitcoin-explorer.nix
@@ -3,7 +3,7 @@
 
 let
   pname = "libbitcoin-explorer";
-  version = "3.4.0";
+  version = "3.5.0";
 
 in stdenv.mkDerivation {
   name = "${pname}-${version}";
@@ -12,7 +12,7 @@ in stdenv.mkDerivation {
     owner = "libbitcoin";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0rxiimklzqyp9vswznz9aia71dn6jxm2pxx5ljlhzs5rs583cj00";
+    sha256 = "033nrdzrha4kypxk4biixjsbjd16r4m2mjvpid4gdj5hzbbj1p93";
   };
 
   nativeBuildInputs = [ autoreconfHook pkgconfig ];
diff --git a/pkgs/tools/misc/libbitcoin/libbitcoin-network.nix b/pkgs/tools/misc/libbitcoin/libbitcoin-network.nix
index 11657c03615..c17c99980a8 100644
--- a/pkgs/tools/misc/libbitcoin/libbitcoin-network.nix
+++ b/pkgs/tools/misc/libbitcoin/libbitcoin-network.nix
@@ -3,7 +3,7 @@
 
 let
   pname = "libbitcoin-network";
-  version = "3.4.0";
+  version = "3.5.0";
 
 in stdenv.mkDerivation {
   name = "${pname}-${version}";
@@ -12,7 +12,7 @@ in stdenv.mkDerivation {
     owner = "libbitcoin";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1zlhyh5z0fla1yc6kwkx65ycwgmrcrkvzj8119wbkxy3xhzpwxpv";
+    sha256 = "0vqg3i40kwmbys4lyp82xvg2nx3ik4qhc66gcm8k66a86wpj9ji6";
   };
 
   nativeBuildInputs = [ autoreconfHook pkgconfig ];
diff --git a/pkgs/tools/misc/libbitcoin/libbitcoin-protocol.nix b/pkgs/tools/misc/libbitcoin/libbitcoin-protocol.nix
index 5fbc2f40308..fbfcfc10074 100644
--- a/pkgs/tools/misc/libbitcoin/libbitcoin-protocol.nix
+++ b/pkgs/tools/misc/libbitcoin/libbitcoin-protocol.nix
@@ -3,7 +3,7 @@
 
 let
   pname = "libbitcoin-protocol";
-  version = "3.4.0";
+  version = "3.5.0";
 
 in stdenv.mkDerivation {
   name = "${pname}-${version}";
@@ -12,7 +12,7 @@ in stdenv.mkDerivation {
     owner = "libbitcoin";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1wrlzani3wdjkmxqwjh30i8lg3clrzwcx2di7c9sdpnsbda985gb";
+    sha256 = "1ln9r04hlnc7qmv17rakyhrnzw1a541pg5jc1sw3ccn90a5x6cfv";
   };
 
   nativeBuildInputs = [ autoreconfHook pkgconfig ];
diff --git a/pkgs/tools/misc/libbitcoin/libbitcoin.nix b/pkgs/tools/misc/libbitcoin/libbitcoin.nix
index 623f34e8b61..f8910f83ec5 100644
--- a/pkgs/tools/misc/libbitcoin/libbitcoin.nix
+++ b/pkgs/tools/misc/libbitcoin/libbitcoin.nix
@@ -3,7 +3,7 @@
 
 let
   pname = "libbitcoin";
-  version = "3.4.0";
+  version = "3.5.0";
 
 in stdenv.mkDerivation {
   name = "${pname}-${version}";
@@ -12,7 +12,7 @@ in stdenv.mkDerivation {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    sha256 = "1h6h7cxbwkdk8bzbkfvnrrdzajw1d4lr8wqs66is735bksh6gk1y";
+    sha256 = "1qy637hpv6kkhf602yxxi5b9j0qhsp644fazljcqbnxzp7vv2qyd";
   };
 
   nativeBuildInputs = [ autoreconfHook pkgconfig ];
diff --git a/pkgs/tools/misc/quota/default.nix b/pkgs/tools/misc/linuxquota/default.nix
index dfcefe09200..dfcefe09200 100644
--- a/pkgs/tools/misc/quota/default.nix
+++ b/pkgs/tools/misc/linuxquota/default.nix
diff --git a/pkgs/tools/misc/logstash/5.x.nix b/pkgs/tools/misc/logstash/5.x.nix
index e528e3e0285..058a8472bf2 100644
--- a/pkgs/tools/misc/logstash/5.x.nix
+++ b/pkgs/tools/misc/logstash/5.x.nix
@@ -6,7 +6,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "https://artifacts.elastic.co/downloads/logstash/${name}.tar.gz";
-    sha256 = "0cpim121ydxdjr251by9jw6pidh5b52jl5ldcm7gp015q49x1nl7";
+    sha256 = "0qcq4c4nysdscbjrikhw653xwbi4dwscynjzyndsp8l21vl81x7p";
   };
 
   dontBuild         = true;
diff --git a/pkgs/tools/misc/logstash/6.x.nix b/pkgs/tools/misc/logstash/6.x.nix
index 3eb2648a441..6aa3fd83696 100644
--- a/pkgs/tools/misc/logstash/6.x.nix
+++ b/pkgs/tools/misc/logstash/6.x.nix
@@ -6,7 +6,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "https://artifacts.elastic.co/downloads/logstash/${name}.tar.gz";
-    sha256 = "18680qpdvhr16dx66jfia1zrg52005sgdy9yhl7vdhm4gcr7pxwc";
+    sha256 = "07j3jjg5ik4gjgvcx15qqqas9p1m3815jml82a5r1ip9l6vc4h20";
   };
 
   dontBuild         = true;
@@ -22,6 +22,9 @@ stdenv.mkDerivation rec {
     mkdir -p $out
     cp -r {Gemfile*,modules,vendor,lib,bin,config,data,logstash-core,logstash-core-plugin-api} $out
 
+    patchShebangs $out/bin/logstash
+    patchShebangs $out/bin/logstash-plugin
+
     wrapProgram $out/bin/logstash \
        --set JAVA_HOME "${jre}"
 
diff --git a/pkgs/tools/misc/lolcat/Gemfile.lock b/pkgs/tools/misc/lolcat/Gemfile.lock
index a97f1eb9c87..3c4646ddf48 100644
--- a/pkgs/tools/misc/lolcat/Gemfile.lock
+++ b/pkgs/tools/misc/lolcat/Gemfile.lock
@@ -1,9 +1,11 @@
 GEM
   remote: http://rubygems.org/
   specs:
-    lolcat (90.8.8)
+    lolcat (99.9.11)
+      manpages (~> 0.6.1)
       paint (~> 2.0.0)
       trollop (~> 2.1.2)
+    manpages (0.6.1)
     paint (2.0.1)
     trollop (2.1.2)
 
diff --git a/pkgs/tools/misc/lolcat/gemset.nix b/pkgs/tools/misc/lolcat/gemset.nix
index 6d0962780f4..86069f7ecc0 100644
--- a/pkgs/tools/misc/lolcat/gemset.nix
+++ b/pkgs/tools/misc/lolcat/gemset.nix
@@ -1,12 +1,20 @@
 {
   lolcat = {
-    dependencies = ["paint" "trollop"];
+    dependencies = ["manpages" "paint" "trollop"];
     source = {
       remotes = ["http://rubygems.org"];
-      sha256 = "1q031wq8wvp09llb39w0ql5k1zkblvkbmhlvrkc3ym832pibk06f";
+      sha256 = "1z0j354sj2qm2srgz3i28s347fwylvv1j614806cr33zcd1j4mwp";
       type = "gem";
     };
-    version = "90.8.8";
+    version = "99.9.11";
+  };
+  manpages = {
+    source = {
+      remotes = ["http://rubygems.org"];
+      sha256 = "11p6ilnfda6af15ks3xiz2pr0hkvdvadnk1xm4ahqlf84dld3fnd";
+      type = "gem";
+    };
+    version = "0.6.1";
   };
   paint = {
     source = {
diff --git a/pkgs/tools/misc/man-db/default.nix b/pkgs/tools/misc/man-db/default.nix
index eadb736aeeb..8d0728b7556 100644
--- a/pkgs/tools/misc/man-db/default.nix
+++ b/pkgs/tools/misc/man-db/default.nix
@@ -57,7 +57,7 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  doCheck = true;
+  doCheck = !stdenv.hostPlatform.isMusl; /* iconv binary */
 
   meta = with stdenv.lib; {
     homepage = http://man-db.nongnu.org;
diff --git a/pkgs/tools/misc/mbuffer/default.nix b/pkgs/tools/misc/mbuffer/default.nix
index ed6c08d5554..664c5cc8e78 100644
--- a/pkgs/tools/misc/mbuffer/default.nix
+++ b/pkgs/tools/misc/mbuffer/default.nix
@@ -3,12 +3,12 @@
  } :
 
 stdenv.mkDerivation rec {
-  version = "20171011";
+  version = "20180318";
   name = "mbuffer-${version}";
 
   src = fetchurl {
     url = "http://www.maier-komor.de/software/mbuffer/mbuffer-${version}.tgz";
-    sha256 = "1z6is359dnlf61n6ida9ivghafzz5m8cf4hzdhma8nxv12brfbzb";
+    sha256 = "1sh0ipf77aav1k17dgl9dcjlb17zygs07x01g0nn0cg7yw5y5hfk";
   };
 
   buildInputs = [ openssl ];
diff --git a/pkgs/tools/misc/mc/default.nix b/pkgs/tools/misc/mc/default.nix
index f9983cc0a7f..bc097e2a085 100644
--- a/pkgs/tools/misc/mc/default.nix
+++ b/pkgs/tools/misc/mc/default.nix
@@ -11,8 +11,12 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ perl glib slang zip unzip file gettext libX11 libICE
-    libssh2 openssl ] ++ stdenv.lib.optionals (!stdenv.isDarwin) [ e2fsprogs gpm ];
+
+  buildInputs = [
+    perl glib slang zip unzip file gettext libX11 libICE libssh2 openssl
+  ] ++ stdenv.lib.optionals (!stdenv.isDarwin) [ e2fsprogs gpm ];
+
+  enableParallelBuilding = true;
 
   configureFlags = [ "--enable-vfs-smb" ];
 
diff --git a/pkgs/tools/misc/megacli/default.nix b/pkgs/tools/misc/megacli/default.nix
index 5341c9840be..b91c7d2378b 100644
--- a/pkgs/tools/misc/megacli/default.nix
+++ b/pkgs/tools/misc/megacli/default.nix
@@ -1,7 +1,5 @@
 { stdenv, rpmextract, ncurses5, patchelf, makeWrapper, requireFile, unzip }:
 
-assert stdenv.system == "x86_64-linux";
-
 stdenv.mkDerivation rec {
   name = "megacli-8.07.07";
 
@@ -31,5 +29,6 @@ stdenv.mkDerivation rec {
   meta = {
     description = "CLI program for LSI MegaRAID cards, which also works with some Dell PERC RAID cards";
     license = stdenv.lib.licenses.unfree;
+    platforms = [ "x86_64-linux" ];
   };
 }
diff --git a/pkgs/tools/misc/memtest86+/default.nix b/pkgs/tools/misc/memtest86+/default.nix
index d949108524f..6103ba02126 100644
--- a/pkgs/tools/misc/memtest86+/default.nix
+++ b/pkgs/tools/misc/memtest86+/default.nix
@@ -1,36 +1,14 @@
-{ stdenv, fetchurl }:
+{ stdenv, fetchgit }:
 
 stdenv.mkDerivation rec {
-  name = "memtest86+-5.01";
+  name = "memtest86+-5.01+coreboot-20180113";
 
-  src = fetchurl {
-    url = "http://www.memtest.org/download/5.01/${name}.tar.gz";
-    sha256 = "0fch1l55753y6jkk0hj8f6vw4h1kinkn9ysp22dq5g9zjnvjf88l";
+  src = fetchgit {
+    url = "https://review.coreboot.org/memtest86plus";
+    rev = "5ca4eb9544e51254254d09ae6e70f93403469ec3";
+    sha256 = "08m4rjr0chhhb1whgggknz926zv9hm8bisnxqp8lffqiwhb55rgk";
   };
 
-  patches = [
-    (fetchurl {
-      url = "https://sources.debian.net/data/main/m/memtest86+/5.01-3/debian/patches/doc-serialconsole";
-      sha256 = "1qh2byj9bmpchym8iq20n4hqmy10nrl6bi0d9pgdqikkmw9m38jq";
-    })
-    (fetchurl {
-      url = "https://sources.debian.net/data/main/m/memtest86+/5.01-3/debian/patches/multiboot";
-      sha256 = "0nq61307ah5b41ff5nqs99wjzjzlajvfv6k9c9d0gqvhx8r4dvmy";
-    })
-    (fetchurl {
-      url = "https://sources.debian.net/data/main/m/memtest86+/5.01-3/debian/patches/memtest86+-5.01-O0.patch";
-      sha256 = "1xmj3anq1fr0cxwv8lqfp5cr5f58v7glwc6z0v8hx8aib8yj1wl2";
-    })
-    (fetchurl {
-      url = "https://sources.debian.net/data/main/m/memtest86+/5.01-3/debian/patches/memtest86+-5.01-array-size.patch";
-      sha256 = "0yxlzpfs6313s91y984p7rlf5rgybcjhg7i9zqy4wqhm3j90f1kb";
-    })
-    (fetchurl {
-      url = "https://sources.debian.net/data/main/m/memtest86+/5.01-3/debian/patches/gcc-5";
-      sha256 = "13xfy6sn8qbj1hx4vms2cz24dsa3bl8n2iblz185hkn11y7141sc";
-    })
-  ];
-
   preBuild = ''
     # Really dirty hack to get Memtest to build without needing a Glibc
     # with 32-bit libraries and headers.
@@ -42,7 +20,7 @@ stdenv.mkDerivation rec {
 
   NIX_CFLAGS_COMPILE = "-I. -std=gnu90";
 
-  hardeningDisable = [ "fortify" "stackprotector" "pic" ];
+  hardeningDisable = [ "all" ];
 
   buildFlags = "memtest.bin";
 
diff --git a/pkgs/tools/misc/mht2htm/default.nix b/pkgs/tools/misc/mht2htm/default.nix
index 930fd1e5d3e..4f6c4bad97c 100644
--- a/pkgs/tools/misc/mht2htm/default.nix
+++ b/pkgs/tools/misc/mht2htm/default.nix
@@ -39,5 +39,6 @@ in stdenv.mkDerivation rec {
     license     = licenses.gpl3;
     maintainers = with maintainers; [ peterhoeg ];
     platforms   = platforms.all;
+    broken = true; # 2018-04-11
   };
 }
diff --git a/pkgs/tools/misc/most/default.nix b/pkgs/tools/misc/most/default.nix
index 107aa094dd7..61ddec3caaa 100644
--- a/pkgs/tools/misc/most/default.nix
+++ b/pkgs/tools/misc/most/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, slang, ncurses }:
 
 stdenv.mkDerivation {
-  name = "most-5.0.0";
+  name = "most-5.0.0a";
 
   src = fetchurl {
-    url = ftp://space.mit.edu/pub/davis/most/most-5.0.0.tar.bz2;
-    sha256 = "1f5x7rvjg89b5klfqs1gb91jmbnd3fy08d8rwgdvgg0plqkxr7ja";
+    url = ftp://space.mit.edu/pub/davis/most/most-5.0.0a.tar.bz2;
+    sha256 = "1aas904g8x48vsfh3wcr2k6mjzkm5808lfgl2qqhdfdnf4p5mjwl";
   };
 
   preConfigure = ''
diff --git a/pkgs/tools/misc/mpdscribble/default.nix b/pkgs/tools/misc/mpdscribble/default.nix
index 56684848eba..47eec54e127 100644
--- a/pkgs/tools/misc/mpdscribble/default.nix
+++ b/pkgs/tools/misc/mpdscribble/default.nix
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
     description = "A Music Player Daemon (MPD) client which submits information about tracks beeing played to a scrobbler (e.g. last.fm)";
     homepage = http://mpd.wikia.com/wiki/Client:mpdscribble;
     license = licenses.gpl2;
-    maintainers = [ maintainers.matthiasbeyer ];
+    maintainers = [ ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/tools/misc/mstflint/default.nix b/pkgs/tools/misc/mstflint/default.nix
index 9706e3f0288..748c0917def 100644
--- a/pkgs/tools/misc/mstflint/default.nix
+++ b/pkgs/tools/misc/mstflint/default.nix
@@ -15,5 +15,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2;
     platforms = platforms.linux;
     maintainers = with maintainers; [ wkennington ];
+    broken = true; # 2018-04-11
   };
 }
diff --git a/pkgs/tools/misc/multitail/default.nix b/pkgs/tools/misc/multitail/default.nix
index bd446395bc7..82155eb51c7 100644
--- a/pkgs/tools/misc/multitail/default.nix
+++ b/pkgs/tools/misc/multitail/default.nix
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = http://www.vanheusden.com/multitail/;
     description = "tail on Steroids";
-    maintainers = with stdenv.lib.maintainers; [ matthiasbeyer ];
+    maintainers = with stdenv.lib.maintainers; [ ];
     platforms = stdenv.lib.platforms.unix;
   };
 }
diff --git a/pkgs/tools/nagstamon/default.nix b/pkgs/tools/misc/nagstamon/default.nix
index 3163b78437e..3163b78437e 100644
--- a/pkgs/tools/nagstamon/default.nix
+++ b/pkgs/tools/misc/nagstamon/default.nix
diff --git a/pkgs/tools/misc/neofetch/default.nix b/pkgs/tools/misc/neofetch/default.nix
index de4a22ee9e4..097eb2408f8 100644
--- a/pkgs/tools/misc/neofetch/default.nix
+++ b/pkgs/tools/misc/neofetch/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   name = "neofetch-${version}";
-  version = "3.3.0";
+  version = "3.4.0";
   src = fetchFromGitHub {
     owner = "dylanaraps";
     repo = "neofetch";
     rev = version;
-    sha256 = "1f1hvd635wv81qg802jdi0yggi4631w9nlznipaxkvk4y1zpdq5j";
+    sha256 = "10h4f7n6bllbq459nm9wppvk65n81zzv556njfqplzw3mpdrbiyx";
   };
 
   dontBuild = true;
diff --git a/pkgs/tools/misc/nixbot/default.nix b/pkgs/tools/misc/nixbot/default.nix
deleted file mode 100644
index 554aa0bccee..00000000000
--- a/pkgs/tools/misc/nixbot/default.nix
+++ /dev/null
@@ -1,25 +0,0 @@
-{ stdenv, python3Packages, fetchFromGitHub }:
-
-python3Packages.buildPythonApplication rec {
-  name = "nixbot-unstable-2016-10-09";
-
-  src = fetchFromGitHub {
-    owner = "domenkozar";
-    repo = "nixbot";
-    rev = "dc490e4954cb08f0eff97f74ad39dedb54670aa9";
-    sha256 = "1l8rlhd2b7x5m79vb2vgszachygasv0pk8drnwgxyvsn0k88xcan";
-  };
-
-  propagatedBuildInputs = with python3Packages; [
-    pygit2 pyramid waitress github3_py
-  ];
-
-  doCheck = false;
-
-  meta = with stdenv.lib; {
-    description = "Github bot for reviewing/testing pull requests with the help of Hydra";
-    maintainers = with maintainers; [ domenkozar fpletz globin ];
-    license = licenses.asl20;
-    homepage = https://github.com/domenkozar/nixbot;
-  };
-}
diff --git a/pkgs/tools/misc/noteshrink/default.nix b/pkgs/tools/misc/noteshrink/default.nix
new file mode 100644
index 00000000000..77c84ab4511
--- /dev/null
+++ b/pkgs/tools/misc/noteshrink/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchFromGitHub, python3, imagemagick }:
+
+with python3.pkgs;
+
+buildPythonApplication rec {
+  name = "noteshrink-${version}";
+  version = "0.1.1";
+
+  src = fetchFromGitHub {
+    owner  = "mzucker";
+    repo   = "noteshrink";
+    rev    = version;
+    sha256 = "0xhrvg3d8ffnbbizsrfppcd2y98znvkgxjdmvbvin458m2rwccka";
+  };
+
+  propagatedBuildInputs = [ numpy scipy imagemagick pillow ];
+
+  meta = with stdenv.lib; {
+    description = "Convert scans of handwritten notes to beautiful, compact PDFs";
+    homepage    = https://mzucker.github.io/2016/09/20/noteshrink.html;
+    license     = licenses.mit;
+    maintainers = with maintainers; [ rnhmjoj ];
+  };
+}
diff --git a/pkgs/tools/misc/opentimestamps-client/default.nix b/pkgs/tools/misc/opentimestamps-client/default.nix
new file mode 100644
index 00000000000..3fbd874503d
--- /dev/null
+++ b/pkgs/tools/misc/opentimestamps-client/default.nix
@@ -0,0 +1,25 @@
+{ lib, buildPythonApplication, fetchFromGitHub, isPy3k
+, opentimestamps, appdirs, GitPython, pysocks }:
+
+buildPythonApplication rec {
+  pname = "opentimestamps-client";
+  version = "0.6.0";
+  disabled = (!isPy3k);
+
+  # We can't use the pypi source because it doesn't include README.md which is
+  # needed in setup.py
+  src = fetchFromGitHub {
+    owner = "opentimestamps";
+    repo = "opentimestamps-client";
+    rev = "opentimestamps-client-v${version}";
+    sha256 = "05m8nllqad3k69mvby5q08y22i0wrj84gqifdgcldimrrn1i00xp";
+  };
+
+  propagatedBuildInputs = [ opentimestamps appdirs GitPython pysocks ];
+
+  meta = {
+    description = "Command-line tool to create and verify OpenTimestamps proofs";
+    homepage = https://github.com/opentimestamps/opentimestamps-client;
+    license = lib.licenses.lgpl3;
+  };
+}
diff --git a/pkgs/tools/misc/os-prober/default.nix b/pkgs/tools/misc/os-prober/default.nix
index 87659802e50..b879f621e14 100644
--- a/pkgs/tools/misc/os-prober/default.nix
+++ b/pkgs/tools/misc/os-prober/default.nix
@@ -11,11 +11,11 @@ ntfs3g ? null
 }:
 
 stdenv.mkDerivation rec {
-  version = "1.73";
+  version = "1.76";
   name = "os-prober-${version}";
   src = fetchurl {
     url = "mirror://debian/pool/main/o/os-prober/os-prober_${version}.tar.xz";
-    sha256 = "1prssbwdgj5c33zhl3ldgaxk7lab9qvs4zhyrhag88wiivirb0sq";
+    sha256 = "1vb45i76bqivlghrq7m3n07qfmmq4wxrkplqx8gywj011rhq19fk";
   };
 
   buildInputs = [ makeWrapper ];
diff --git a/pkgs/tools/misc/ostree/default.nix b/pkgs/tools/misc/ostree/default.nix
index 3b220153f17..a437eba4957 100644
--- a/pkgs/tools/misc/ostree/default.nix
+++ b/pkgs/tools/misc/ostree/default.nix
@@ -7,8 +7,8 @@ let
   libglnx-src = fetchFromGitHub {
     owner  = "GNOME";
     repo   = "libglnx";
-    rev    = "5362f6bc3ff3e30f379e767b203d15c9e56d6f08";
-    sha256 = "1l4vm7bx3cf4q44n3a1i2gszyryqyimcxvx54gna72q7dw130mrr";
+    rev    = "0c82203cd459a35cc3f471e3205355e9fb79160f";
+    sha256 = "0xbrv7q6b2ygrbr0yr7p01zpryw45643qfwnlw0z2yv515qs7isc";
   };
 
   bsdiff-src = fetchFromGitHub {
@@ -18,7 +18,7 @@ let
     sha256 = "1h71d2h2d3anp4msvpaff445rnzdxii3id2yglqk7af9i43kdsn1";
   };
 
-  version = "2017.12";
+  version = "2018.4";
 in stdenv.mkDerivation {
   name = "ostree-${version}";
 
@@ -26,7 +26,7 @@ in stdenv.mkDerivation {
     rev    = "v${version}";
     owner  = "ostreedev";
     repo   = "ostree";
-    sha256 = "0gxvpzwz7z4zihz5hkn6ajv7f6gas4zi2pznhi5v6wy7cw06if68";
+    sha256 = "00jgj6vcjpz1akfbmf82q1bcs3njrmvdgy4c2gnn24vkmh9yr0lr";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/tools/misc/parallel/default.nix b/pkgs/tools/misc/parallel/default.nix
index e85d26fb058..9bb09d227c4 100644
--- a/pkgs/tools/misc/parallel/default.nix
+++ b/pkgs/tools/misc/parallel/default.nix
@@ -1,18 +1,18 @@
 { fetchurl, stdenv, perl, makeWrapper, procps }:
 
 stdenv.mkDerivation rec {
-  name = "parallel-20180122";
+  name = "parallel-20180422";
 
   src = fetchurl {
     url = "mirror://gnu/parallel/${name}.tar.bz2";
-    sha256 = "1wkbppb4mc56grl6jsp803sf0hm7mg5ff7qmxalp7sd0vxqw41p9";
+    sha256 = "0xsfpbxwgd4197gra981iv0nmjfk58c0d88dxx6dh6yrqz523klx";
   };
 
   nativeBuildInputs = [ makeWrapper perl ];
 
   postInstall = ''
     wrapProgram $out/bin/parallel \
-      ${if stdenv.isLinux then ("--prefix PATH \":\" ${procps}/bin") else ""} \
+      --prefix PATH : "${procps}/bin" \
       --prefix PATH : "${perl}/bin" \
   '';
 
diff --git a/pkgs/tools/misc/parted/default.nix b/pkgs/tools/misc/parted/default.nix
index 68240210e74..3a05a1927db 100644
--- a/pkgs/tools/misc/parted/default.nix
+++ b/pkgs/tools/misc/parted/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, devicemapper, libuuid, gettext, readline, perl, python2
+{ stdenv, fetchurl, fetchpatch, devicemapper, libuuid, gettext, readline, perl, python2
 , utillinux, check, enableStatic ? false, hurd ? null }:
 
 stdenv.mkDerivation rec {
@@ -9,7 +9,12 @@ stdenv.mkDerivation rec {
     sha256 = "1r3qpg3bhz37mgvp9chsaa3k0csby3vayfvz8ggsqz194af5i2w5";
   };
 
-  patches = stdenv.lib.optional doCheck ./gpt-unicode-test-fix.patch;
+  patches = stdenv.lib.optional doCheck ./gpt-unicode-test-fix.patch
+    ++ stdenv.lib.optional stdenv.hostPlatform.isMusl
+    (fetchpatch {
+      url = "https://git.alpinelinux.org/cgit/aports/plain/main/parted/fix-includes.patch?id=9c5cd3c329a40ba4559cc1d8c7d17a9bf95c237b";
+      sha256 = "117ypyiwvzym6pi8xmy16wa5z3sbpx7gh6haabs6kfb1x2894z7q";
+    });
 
   postPatch = stdenv.lib.optionalString doCheck ''
     patchShebangs tests
@@ -31,7 +36,7 @@ stdenv.mkDerivation rec {
 
   # Tests were previously failing due to Hydra running builds as uid 0.
   # That should hopefully be fixed now.
-  doCheck = true;
+  doCheck = !stdenv.hostPlatform.isMusl; /* translation test */
 
   preCheck =
     stdenv.lib.optionalString doCheck
diff --git a/pkgs/tools/misc/patdiff/default.nix b/pkgs/tools/misc/patdiff/default.nix
index 908da587d4b..98907ad4b82 100644
--- a/pkgs/tools/misc/patdiff/default.nix
+++ b/pkgs/tools/misc/patdiff/default.nix
@@ -4,7 +4,7 @@ with ocamlPackages;
 
 janePackage {
   name = "patdiff";
-  hash = "15b6nkmd2z07j4nnmkb2g6qn3daw2xmmz3lgswkj03v29ffib014";
+  hash = "04kl9h7j3pzpyic8p34b8i9vpf6qn7ixp077d8i44cpbymdqdn96";
   buildInputs = [ core_extended expect_test_helpers patience_diff ocaml_pcre ];
   meta = {
     description = "File Diff using the Patience Diff algorithm";
diff --git a/pkgs/tools/misc/pdd/default.nix b/pkgs/tools/misc/pdd/default.nix
new file mode 100644
index 00000000000..d362bccb993
--- /dev/null
+++ b/pkgs/tools/misc/pdd/default.nix
@@ -0,0 +1,34 @@
+{ stdenv, fetchFromGitHub, buildPythonApplication, dateutil }:
+
+buildPythonApplication rec {
+  pname = "pdd";
+  version = "1.1";
+
+  src = fetchFromGitHub {
+    owner = "jarun";
+    repo = "pdd";
+    rev = "v${version}";
+    sha256 = "1nb64vdlym4najjyfxq1nprqcwgrwnqj1mml0fcg20hrgbjm4bf2";
+  };
+
+  format = "other";
+
+  propagatedBuildInputs = [ dateutil ];
+
+  installFlags = [ "PREFIX=$(out)" ];
+
+  meta = with stdenv.lib; {
+    homepage = "https://github.com/jarun/pdd";
+    description = "Tiny date, time diff calculator";
+    longDescription = ''
+      There are times you want to check how old you are (in years, months, days)
+      or how long you need to wait for the next flash sale or the number of days
+      left of your notice period in your current job. pdd (Python3 Date Diff) is
+      a small cmdline utility to calculate date and time difference. If no
+      program arguments are specified it shows the current date, time and
+      timezone.
+    '';
+    maintainers = [ maintainers.infinisil ];
+    license = licenses.gpl3;
+  };
+}
diff --git a/pkgs/tools/misc/peruse/default.nix b/pkgs/tools/misc/peruse/default.nix
index a3fdca001d9..38cab5cf862 100644
--- a/pkgs/tools/misc/peruse/default.nix
+++ b/pkgs/tools/misc/peruse/default.nix
@@ -1,37 +1,30 @@
 {
   mkDerivation, fetchFromGitHub, fetchurl, lib,
   extra-cmake-modules, kdoctools, wrapGAppsHook,
-  baloo, karchive, kconfig, kcrash, kfilemetadata, kinit, kirigami, knewstuff, plasma-framework
+  baloo, karchive, kconfig, kcrash, kfilemetadata, kinit, kirigami2, knewstuff, plasma-framework
 }:
 
 let
   pname = "peruse";
-  version = "1.2";
-  unarr = fetchFromGitHub {
-    owner  = "zeniko";
-    repo   = "unarr";
-    rev    = "d1be8c43a82a4320306c8e835a86fdb7b2574ca7";
-    sha256 = "03ds5da69zipa25rsp76l6xqivrh3wcgygwyqa5x2rgcz3rjnlpr";
-  };
+  version = "1.2.20180219";
+
 in mkDerivation rec {
   name = "${pname}-${version}";
 
-  src = fetchurl {
-    url = "mirror://kde/stable/${pname}/${name}.tar.xz";
-    sha256 = "1ik2627xynkichsq9x28rkczqn3l3p06q6vw5jdafdh3hisccmjq";
+  # The last formal release from 2016 uses kirigami1 which is deprecated
+  src = fetchFromGitHub {
+    owner  = "KDE";
+    repo   = pname;
+    rev    = "4125d3149c45d196600258686610de701130113d";
+    sha256 = "1x8in7z17gzgiibshw7xfs6m6bhr3n5fys3nlpab77nm0dl3f4r5";
   };
 
   nativeBuildInputs = [ extra-cmake-modules kdoctools wrapGAppsHook ];
 
-  propagatedBuildInputs = [ baloo karchive kconfig kcrash kfilemetadata kinit kirigami knewstuff plasma-framework ];
+  propagatedBuildInputs = [ baloo karchive kconfig kcrash kfilemetadata kinit kirigami2 knewstuff plasma-framework ];
 
   pathsToLink = [ "/etc/xdg/peruse.knsrc"];
 
-  preConfigure = ''
-    rm -rf src/qtquick/karchive-rar/external/unarr
-    ln -s ${unarr} src/qtquick/karchive-rar/external/unarr
-  '';
-
   meta = with lib; {
     license = licenses.gpl2;
     maintainers = with maintainers; [ peterhoeg ];
diff --git a/pkgs/tools/misc/pick/default.nix b/pkgs/tools/misc/pick/default.nix
index 0afd28b3c91..45b0da6f8db 100644
--- a/pkgs/tools/misc/pick/default.nix
+++ b/pkgs/tools/misc/pick/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "pick-${version}";
-  version = "2.0.1";
+  version = "2.0.2";
 
   src = fetchFromGitHub {
     owner = "calleerlandsson";
     repo = "pick";
     rev = "v${version}";
-    sha256 = "0ypawbzpw188rxgv8x044iib3a517j5grgqnxy035ax5zzjavsrr";
+    sha256 = "0wm3220gqrwldiq0rjdraq5mw3i7d58zwzls8234sx9maf59h0k0";
   };
 
   buildInputs = [ ncurses ];
diff --git a/pkgs/tools/misc/picocom/default.nix b/pkgs/tools/misc/picocom/default.nix
index 57be275d32a..bb66b97039d 100644
--- a/pkgs/tools/misc/picocom/default.nix
+++ b/pkgs/tools/misc/picocom/default.nix
@@ -26,6 +26,6 @@ stdenv.mkDerivation rec {
     description = "Minimal dumb-terminal emulation program";
     homepage = https://github.com/npat-efault/picocom/;
     license = stdenv.lib.licenses.gpl2Plus;
-    platforms = stdenv.lib.platforms.gnu;  # arbitrary choice
+    platforms = stdenv.lib.platforms.gnu ++ stdenv.lib.platforms.linux;  # arbitrary choice
   };
 }
diff --git a/pkgs/tools/misc/pipelight/default.nix b/pkgs/tools/misc/pipelight/default.nix
index f5c15775777..f39ee734d81 100644
--- a/pkgs/tools/misc/pipelight/default.nix
+++ b/pkgs/tools/misc/pipelight/default.nix
@@ -9,13 +9,13 @@ let
 
 in stdenv.mkDerivation rec {
 
-  version = "0.2.8";
+  version = "0.2.8.2";
 
   name = "pipelight-${version}";
 
   src = fetchurl {
     url = "https://bitbucket.org/mmueller2012/pipelight/get/v${version}.tar.gz";
-    sha256 = "1i440rf22fmd2w86dlm1mpi3nb7410rfczc0yldnhgsvp5p3sm5f";
+    sha256 = "1kyy6knkr42k34rs661r0f5sf6l1s2jdbphdg89n73ynijqmzjhk";
   };
 
   buildInputs = [ wine_custom libX11 libGLU_combined curl ];
diff --git a/pkgs/tools/misc/pk2cmd/default.nix b/pkgs/tools/misc/pk2cmd/default.nix
index 2f69517e4bd..4312aecaacd 100644
--- a/pkgs/tools/misc/pk2cmd/default.nix
+++ b/pkgs/tools/misc/pk2cmd/default.nix
@@ -1,7 +1,5 @@
 {stdenv, fetchurl, libusb, makeWrapper}:
 
-assert stdenv.isLinux;
-
 stdenv.mkDerivation {
   name = "pk2cmd-1.20";
   src = fetchurl {
diff --git a/pkgs/tools/misc/plantuml/default.nix b/pkgs/tools/misc/plantuml/default.nix
index 447ef9dd5ec..2eb6f1aa8e6 100644
--- a/pkgs/tools/misc/plantuml/default.nix
+++ b/pkgs/tools/misc/plantuml/default.nix
@@ -32,6 +32,6 @@ stdenv.mkDerivation rec {
     # "java -jar plantuml.jar -license" says GPLv3 or later
     license = licenses.gpl3Plus;
     maintainers = [ maintainers.bjornfor ];
-    platforms = platforms.linux;
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/tools/misc/powerline-go/default.nix b/pkgs/tools/misc/powerline-go/default.nix
index 4e465e7ea1c..b0d1afc654d 100644
--- a/pkgs/tools/misc/powerline-go/default.nix
+++ b/pkgs/tools/misc/powerline-go/default.nix
@@ -2,7 +2,7 @@
 
 buildGoPackage rec {
   pname = "powerline-go";
-  version = "1.8.2";
+  version = "1.11.0";
   name = "${pname}-${version}";
   rev = "v${version}";
 
@@ -12,7 +12,7 @@ buildGoPackage rec {
     owner = "justjanne";
     repo = pname;
     inherit rev;
-    sha256 = "1q45hxbrnx0mgi7z1rqkxp47dk8yf4mzy62i0027fhr65aifq6xj";
+    sha256 = "1s3d9p4jf23n63n6vx3frnw3wkmg3kyiazapixy66790qkx6ddi9";
   };
 
   goDeps = ./deps.nix;
diff --git a/pkgs/tools/misc/powerline-go/deps.nix b/pkgs/tools/misc/powerline-go/deps.nix
index a3276ab229b..e033a1cf48c 100644
--- a/pkgs/tools/misc/powerline-go/deps.nix
+++ b/pkgs/tools/misc/powerline-go/deps.nix
@@ -5,8 +5,17 @@
     fetch = {
       type = "git";
       url = "https://github.com/mattn/go-runewidth";
-      rev = "a9d6d1e4dc51df2130326793d49971f238839169";
-      sha256 = "1x6x5r6ijik5ardfrpncjbqvpv8j5m7yb94svzz83a15ln44ajmg";
+      rev = "ce7b0b5c7b45a81508558cd1dba6bb1e4ddb51bb";
+      sha256 = "0lc39b6xrxv7h3v3y1kgz49cgi5qxwlygs715aam6ba35m48yi7g";
+    };
+  }
+  {
+    goPackagePath = "github.com/shirou/gopsutil";
+    fetch = {
+      type = "git";
+      url = "https://github.com/shirou/gopsutil";
+      rev = "57f370e13068146efe1cb7129f79e5d51da8a242";
+      sha256 = "1ij0bbnfjj65afin8vhccr3cxvg6r0awmvcvb2ilza5wbbsslggb";
     };
   }
   {
@@ -14,8 +23,8 @@
     fetch = {
       type = "git";
       url = "https://go.googlesource.com/crypto";
-      rev = "91a49db82a88618983a78a06c1cbd4e00ab749ab";
-      sha256 = "1xb4vlshx76xany4w60dkpz67plyfk7nr97pinf1bbha32pi36jc";
+      rev = "2d027ae1dddd4694d54f7a8b6cbe78dca8720226";
+      sha256 = "1fdab3scp9fm88jxwjw8a3hh5ykx6ads3zcacgy48k2n6b0rqrdw";
     };
   }
   {
@@ -23,8 +32,8 @@
     fetch = {
       type = "git";
       url = "https://go.googlesource.com/sys";
-      rev = "dd2ff4accc098aceecb86b36eaa7829b2a17b1c9";
-      sha256 = "086j1kk56vm1m5m9sf3lcww9phqw6p2q3g0is1jn4ixfxd3wm2wg";
+      rev = "9950ad118b73f9207b991f01920a3509c68f7f2b";
+      sha256 = "1607m89kpdxgc2lj14mrp02bg7c42g1zv0fzrl5961gvm5qzbjja";
     };
   }
   {
@@ -32,8 +41,8 @@
     fetch = {
       type = "git";
       url = "https://go.googlesource.com/text";
-      rev = "b7ef84aaf62aa3e70962625c80a571ae7c17cb40";
-      sha256 = "0xfb515f3bmcq15sq1cm641qwgsmq1w5xjdx2mhwgns770jngndd";
+      rev = "7dd2c8130f5e924233f5543598300651c386d431";
+      sha256 = "0ja6skzplirb7dgf5d4wi0navinf8j5iakak020lwm7287wnpcrg";
     };
   }
   {
@@ -41,8 +50,8 @@
     fetch = {
       type = "git";
       url = "https://gopkg.in/yaml.v2";
-      rev = "7f97868eec74b32b0982dd158a51a446d1da7eb5";
-      sha256 = "0a31jd1p00b9c82f3sfsbv2bdh7mlfy9vhcqxipll2cyvxplgfq8";
+      rev = "5420a8b6744d3b0345ab293f6fcba19c978f1183";
+      sha256 = "0dwjrs2lp2gdlscs7bsrmyc5yf6mm4fvgw71bzr9mv2qrd2q73s1";
     };
   }
 ]
diff --git a/pkgs/tools/misc/powerline-rs/default.nix b/pkgs/tools/misc/powerline-rs/default.nix
new file mode 100644
index 00000000000..e48816db935
--- /dev/null
+++ b/pkgs/tools/misc/powerline-rs/default.nix
@@ -0,0 +1,31 @@
+{ lib, rustPlatform, fetchFromGitHub, pkgconfig, file, perl, cmake, openssl_1_1_0, libssh2, libgit2, libzip }:
+rustPlatform.buildRustPackage rec {
+  pname = "powerline-rs";
+  name = "${pname}-${version}";
+  version = "0.1.7";
+
+  src = fetchFromGitHub {
+    owner = "jD91mZM2";
+    repo = "powerline-rs";
+    rev = version;
+
+    sha256 = "0ry1axia78sp9vmn6p119l69sj3dqx2san1k71a5npf60rf4gfkc";
+  };
+
+  cargoSha256 = "184s432a6damzvl0lv6jar1iml9dq60r190aqjy44lcg938981zc";
+
+  nativeBuildInputs = [ pkgconfig file perl cmake ];
+  buildInputs = [ openssl_1_1_0 libssh2 libgit2 libzip ];
+
+  postInstall = ''
+    install -Dm 755 "${pname}.bash" "$out/etc/bash_completion.d/${pname}"
+    install -Dm 755 "${pname}.fish" "$out/share/fish/vendor_completions.d/${pname}"
+  '';
+
+  meta = with lib; {
+    description = "powerline-shell rewritten in Rust, inspired by powerline-go";
+    license = licenses.mit;
+    maintainers = with maintainers; [ jD91mZM2 ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/tools/misc/profile-cleaner/default.nix b/pkgs/tools/misc/profile-cleaner/default.nix
index 0417c8ed0b7..2a34224c126 100644
--- a/pkgs/tools/misc/profile-cleaner/default.nix
+++ b/pkgs/tools/misc/profile-cleaner/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchFromGitHub, makeWrapper, parallel, sqlite, bc, file }:
 
 stdenv.mkDerivation rec {
-  version = "2.36";
+  version = "2.37";
   name = "profile-cleaner-${version}";
 
   src = fetchFromGitHub {
     owner = "graysky2";
     repo = "profile-cleaner";
     rev = "v${version}";
-    sha256 = "0vm4ca99dyr6i0sfjsr0w06i0rbmqf40kp37h04bk4c8yassq1zq";
+    sha256 = "1fbsn2xvcjkqhhkhidn04iwc0zha68cpkyc9vs5yly38qr1q238a";
   };
 
   buildInputs = [ makeWrapper ];
diff --git a/pkgs/tools/misc/pspg/default.nix b/pkgs/tools/misc/pspg/default.nix
new file mode 100644
index 00000000000..0a261671872
--- /dev/null
+++ b/pkgs/tools/misc/pspg/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, fetchFromGitHub, gnugrep, ncurses, pkgconfig, readline }:
+
+stdenv.mkDerivation rec {
+  name = "pspg-${version}";
+  version = "1.1.1";
+
+  src = fetchFromGitHub {
+    owner = "okbob";
+    repo = "pspg";
+    rev = "${version}";
+    sha256 = "19jiixanyghasd2awkxx7c224fz01d9v0c4qxn4msvkny39m3gz9";
+  };
+
+  nativeBuildInputs = [ pkgconfig ];
+  buildInputs = [ gnugrep ncurses readline ];
+
+  preBuild = ''
+    makeFlags="PREFIX=$out PKG_CONFIG=${pkgconfig}/bin/pkg-config"
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/okbob/pspg;
+    description = "Postgres Pager";
+    license = licenses.bsd2;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.jlesquembre ];
+  };
+}
diff --git a/pkgs/tools/misc/pubs/default.nix b/pkgs/tools/misc/pubs/default.nix
index aa8c43b7cdd..c9ab32035de 100644
--- a/pkgs/tools/misc/pubs/default.nix
+++ b/pkgs/tools/misc/pubs/default.nix
@@ -1,7 +1,24 @@
-{ stdenv, fetchFromGitHub, python3Packages }:
+{ stdenv, fetchFromGitHub, python3 }:
 
-python3Packages.buildPythonApplication rec {
-  name = "pubs-${version}";
+let
+  python3Packages = (python3.override {
+    packageOverrides = self: super: {
+      # https://github.com/pubs/pubs/issues/131
+      pyfakefs = super.pyfakefs.overridePythonAttrs (oldAttrs: rec {
+        version = "3.3";
+        src = self.fetchPypi {
+          pname = "pyfakefs";
+          inherit version;
+          sha256 = "e3e198dea5e0d5627b73ba113fd0b139bb417da6bc15d920b2c873143d2f12a6";
+        };
+        postPatch = "";
+        doCheck = false;
+      });
+    };
+  }).pkgs;
+
+in python3Packages.buildPythonApplication rec {
+  pname = "pubs";
   version = "0.7.0";
 
   src = fetchFromGitHub {
@@ -13,9 +30,10 @@ python3Packages.buildPythonApplication rec {
 
   propagatedBuildInputs = with python3Packages; [
     dateutil configobj bibtexparser pyyaml requests beautifulsoup4
-    pyfakefs ddt
   ];
 
+  checkInputs = with python3Packages; [ pyfakefs ddt ];
+
   preCheck = ''
     # API tests require networking
     rm tests/test_apis.py
@@ -29,6 +47,5 @@ python3Packages.buildPythonApplication rec {
     homepage = https://github.com/pubs/pubs;
     license = licenses.lgpl3;
     maintainers = with maintainers; [ gebner ];
-    platforms = platforms.all;
   };
 }
diff --git a/pkgs/tools/misc/qt5ct/default.nix b/pkgs/tools/misc/qt5ct/default.nix
index e8170edb7f2..c6fdf0a5120 100644
--- a/pkgs/tools/misc/qt5ct/default.nix
+++ b/pkgs/tools/misc/qt5ct/default.nix
@@ -4,11 +4,11 @@ let inherit (stdenv.lib) getDev; in
 
 stdenv.mkDerivation rec {
   name = "qt5ct-${version}";
-  version = "0.34";
+  version = "0.35";
 
   src = fetchurl {
     url = "mirror://sourceforge/qt5ct/${name}.tar.bz2";
-    sha256 = "0aqbilz7acx077zg5rwf2909xabw16047yjdn9nx2gmhp31y00pl";
+    sha256 = "0xzgd12cvm4vyzl8qax6izdmaf46bf18h055z6k178s8pybm1sqw";
   };
 
   nativeBuildInputs = [ qmake qttools ];
diff --git a/pkgs/tools/misc/recoverjpeg/default.nix b/pkgs/tools/misc/recoverjpeg/default.nix
index e0fefe85b9f..72ea7f2ea0b 100644
--- a/pkgs/tools/misc/recoverjpeg/default.nix
+++ b/pkgs/tools/misc/recoverjpeg/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "recoverjpeg-${version}";
-  version = "2.6.1";
+  version = "2.6.2";
 
   src = fetchurl {
     url = "https://www.rfc1149.net/download/recoverjpeg/${name}.tar.gz";
-    sha256 = "00zi23l4nq9nfjg1zzbpsfxf1s47r5w713aws90w13fd19jqn0rj";
+    sha256 = "01vayn2b3mqmyqz2ka2j3k4a93bjdvkhv5ry9207v04r83r7iwfp";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/tools/misc/rename/default.nix b/pkgs/tools/misc/rename/default.nix
index e30c2e89349..450424d0f54 100644
--- a/pkgs/tools/misc/rename/default.nix
+++ b/pkgs/tools/misc/rename/default.nix
@@ -3,6 +3,7 @@
 buildPerlPackage rec {
   name = "rename-${version}";
   version = "1.9";
+  outputs = [ "out" ];
   src = fetchFromGitHub {
     owner = "pstray";
     repo = "rename";
diff --git a/pkgs/tools/misc/riemann-c-client/default.nix b/pkgs/tools/misc/riemann-c-client/default.nix
index 07c14ac7626..42a94207be7 100644
--- a/pkgs/tools/misc/riemann-c-client/default.nix
+++ b/pkgs/tools/misc/riemann-c-client/default.nix
@@ -1,20 +1,22 @@
 { stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, file , protobufc }:
 
 stdenv.mkDerivation rec {
-  pname = "riemann-c-client";
-  version = "1.9.1";
-  name = "${pname}-${version}";
+  name = "riemann-c-client-1.10.1";
 
   src = fetchFromGitHub {
     owner = "algernon";
     repo = "riemann-c-client";
     rev = "${name}";
-    sha256 = "1j3wgf9xigsv6ckmv82gjj4wavi7xjn2zvj1f63fzbaa1rv7pf3s";
+    sha256 = "1pzyngvj9aq1w2185qpg6rxrjn406pnpy40bnh4c21fn4ql5kk9p";
   };
 
   nativeBuildInputs = [ autoreconfHook pkgconfig ];
   buildInputs = [ file protobufc ];
 
+  preBuild = ''
+    make lib/riemann/proto/riemann.pb-c.h
+  '';
+
   meta = with stdenv.lib; {
     homepage = https://github.com/algernon/riemann-c-client;
     description = "A C client library for the Riemann monitoring system";
diff --git a/pkgs/tools/misc/rw/default.nix b/pkgs/tools/misc/rw/default.nix
new file mode 100644
index 00000000000..345f26852dc
--- /dev/null
+++ b/pkgs/tools/misc/rw/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  name = "rw-${version}";
+  version = "1.0";
+
+  src = fetchurl {
+    url = "https://sortix.org/rw/release/rw-portable-${version}.tar.gz";
+    # Use hash provided by upstream
+    sha256 = "50009730e36991dfe579716f91f4f616f5ba05ffb7bf69c03d41bf305ed93b6d";
+  };
+
+  makeFlags = [ "PREFIX=$(out)" ];
+
+  meta = with stdenv.lib; {
+    homepage = https://sortix.org/rw;
+    description = "Block device and byte copying program similar to dd";
+    longDescription = ''
+      rw is a command line program which copies information between files
+      or byte streams. The rw command is designed to be a replacement for
+      dd with standard style command line flags.
+    '';
+    license = licenses.isc;
+    maintainers = with maintainers; [ dtzWill ];
+
+    broken = stdenv.hostPlatform.isDarwin;
+  };
+}
diff --git a/pkgs/tools/misc/slop/default.nix b/pkgs/tools/misc/slop/default.nix
index ad1c2b64e65..f411bbd2c30 100644
--- a/pkgs/tools/misc/slop/default.nix
+++ b/pkgs/tools/misc/slop/default.nix
@@ -1,15 +1,17 @@
 { stdenv, fetchFromGitHub, cmake, pkgconfig
-, glew, glm, libGLU_combined, libX11, libXext, libXrender, cppcheck, icu}:
+, glew, glm, libGLU_combined, libX11, libXext, libXrender, icu
+, cppcheck
+}:
 
 stdenv.mkDerivation rec {
   name = "slop-${version}";
-  version = "7.3.49";
+  version = "7.4";
 
   src = fetchFromGitHub {
     owner = "naelstrof";
     repo = "slop";
     rev = "v${version}";
-    sha256 = "0is3mh2d1jqgvv72v5x92w23yf26n8n384nbr1b6cn883aw8j7jz";
+    sha256 = "0fgd8a2dqkg64all0f96sca92sdss9r3pzmv5kck46b99z2325z6";
   };
 
   nativeBuildInputs = [ cmake pkgconfig ];
diff --git a/pkgs/tools/misc/smc/default.nix b/pkgs/tools/misc/smc/default.nix
index 83c384e5ec0..e0d1ff20835 100644
--- a/pkgs/tools/misc/smc/default.nix
+++ b/pkgs/tools/misc/smc/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, jre }:
 
 stdenv.mkDerivation rec {
-  name = "smc-6.6.0";
+  name = "smc-6.6.3";
 
   src = fetchurl {
-    url = "mirror://sourceforge/project/smc/smc/6_6_0/smc_6_6_0.tgz";
-    sha256 = "14lf286dslm7ymkr4my1xgjvwvqc9181mwkfr65ab49cxl0q85wz";
+    url = "mirror://sourceforge/project/smc/smc/6_6_3/smc_6_6_3.tgz";
+    sha256 = "1gv0hrgdl4wp562virpf9sib6pdhapwv4zvwbl0d5f5xyx04il11";
   };
 
   # Prebuilt Java package.
diff --git a/pkgs/tools/misc/smenu/default.nix b/pkgs/tools/misc/smenu/default.nix
index 061a6c58d23..3db0ee9af26 100644
--- a/pkgs/tools/misc/smenu/default.nix
+++ b/pkgs/tools/misc/smenu/default.nix
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
       your selection will be sent to standard output.
     '';
     license     = licenses.gpl2;
-    maintainers = [ maintainers.matthiasbeyer ];
+    maintainers = [ ];
     platforms   = platforms.linux;
   };
 }
diff --git a/pkgs/tools/misc/svtplay-dl/default.nix b/pkgs/tools/misc/svtplay-dl/default.nix
index 3042dfb215f..f0abb38706b 100644
--- a/pkgs/tools/misc/svtplay-dl/default.nix
+++ b/pkgs/tools/misc/svtplay-dl/default.nix
@@ -5,13 +5,13 @@ let
   inherit (pythonPackages) python nose pycrypto requests mock;
 in stdenv.mkDerivation rec {
   name = "svtplay-dl-${version}";
-  version = "1.9.9";
+  version = "1.9.11";
 
   src = fetchFromGitHub {
     owner = "spaam";
     repo = "svtplay-dl";
     rev = version;
-    sha256 = "1iam2pdcrlpcgk2hx3m7zawznp2p939xdv8cpll6sd6n0l4hpdc9";
+    sha256 = "14p2362rzyblma9321z4zrcbzfs9m269ry6sz44ly0bv5fik7gdy";
   };
 
   pythonPaths = [ pycrypto requests ];
diff --git a/pkgs/tools/misc/sweep-visualizer/default.nix b/pkgs/tools/misc/sweep-visualizer/default.nix
new file mode 100644
index 00000000000..cbf849494b7
--- /dev/null
+++ b/pkgs/tools/misc/sweep-visualizer/default.nix
@@ -0,0 +1,59 @@
+{ stdenv, lib, makeWrapper, fetchurl,
+  alsaLib, atk, cairo, cups, dbus, expat, fontconfig, freetype, gdk_pixbuf, glib,
+  gnome2, gtk2-x11, nspr, nss,
+  libX11, libxcb, libXcomposite, libXcursor, libXdamage, libXext, libXfixes,
+  libXi, libXrandr, libXrender, libXScrnSaver, libXtst,
+  libudev0-shim
+}:
+  stdenv.mkDerivation rec {
+    name = "sweep-visualizer-${version}";
+    version = "0.15.0";
+
+    src = fetchurl {
+      url = "https://s3.amazonaws.com/scanse/Visualizer/v${version}/sweepvisualizer_${version}_amd64.deb";
+      sha256 = "1k6rdjw2340qrzafv6hjxvbvyh3s1wad6d3629nchdcrpyx9xy1c";
+    };
+    
+    nativeBuildInputs = [ makeWrapper ];
+
+    sourceRoot = ".";
+    unpackCmd = ''
+      ar p "$src" data.tar.xz | tar xJ
+    '';
+
+    buildPhase = ":";
+
+    installPhase = ''
+      mkdir -p $out/bin $out/share/sweep-visualizer
+      mv usr/share/* $out/share
+      mv opt/Sweep\ Visualizer\ BETA/* $out/share/sweep-visualizer/
+      ln -s $out/share/sweep-visualizer/sweep_visualizer $out/bin/sweep_visualizer
+    '';
+
+    preFixup = let
+      libPath = lib.makeLibraryPath [
+        alsaLib atk cairo cups.lib dbus.lib expat fontconfig.lib freetype 
+        gdk_pixbuf glib gnome2.GConf gnome2.pango gtk2-x11 nspr nss stdenv.cc.cc.lib
+        libX11 libxcb libXcomposite libXcursor libXdamage libXext libXfixes
+        libXi libXrandr libXrender libXScrnSaver libXtst
+      ];
+      runtimeLibs = lib.makeLibraryPath [ libudev0-shim ];
+    in ''
+      for lib in $out/share/sweep-visualizer/*.so; do
+        patchelf --set-rpath "$out/share/sweep-visualizer:${libPath}" $lib
+      done
+      patchelf \
+        --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
+        --set-rpath "$out/share/sweep-visualizer:${libPath}" \
+        $out/share/sweep-visualizer/sweep_visualizer
+      wrapProgram "$out/bin/sweep_visualizer" --prefix LD_LIBRARY_PATH : ${runtimeLibs}
+    '';
+
+    meta = with stdenv.lib; {
+      homepage = https://support.scanse.io/hc/en-us/articles/115006008948-Visualizer-Overview;
+      description = "A minimal desktop application for interfacing with the Sweep device";
+      license = licenses.unfree;
+      platforms = [ "x86_64-linux" ];
+      maintainers = with maintainers; [ mt-caret ];
+    };
+  }
diff --git a/pkgs/tools/misc/t/Gemfile.lock b/pkgs/tools/misc/t/Gemfile.lock
index d85f5a1a752..6506d32b0ce 100644
--- a/pkgs/tools/misc/t/Gemfile.lock
+++ b/pkgs/tools/misc/t/Gemfile.lock
@@ -1,52 +1,63 @@
 GEM
   remote: https://rubygems.org/
   specs:
-    addressable (2.3.7)
+    addressable (2.5.2)
+      public_suffix (>= 2.0.2, < 4.0)
     buftok (0.2.0)
-    equalizer (0.0.9)
-    faraday (0.9.1)
-      multipart-post (>= 1.2, < 3)
-    geokit (1.9.0)
-      multi_json (>= 1.3.2)
-    htmlentities (4.3.3)
-    http (0.6.3)
+    domain_name (0.5.20170404)
+      unf (>= 0.0.5, < 1.0.0)
+    equalizer (0.0.11)
+    geokit (1.11.0)
+    htmlentities (4.3.4)
+    http (3.0.0)
+      addressable (~> 2.3)
+      http-cookie (~> 1.0)
+      http-form_data (>= 2.0.0.pre.pre2, < 3)
       http_parser.rb (~> 0.6.0)
+    http-cookie (1.0.3)
+      domain_name (~> 0.5)
+    http-form_data (2.1.0)
     http_parser.rb (0.6.0)
-    json (1.8.2)
     launchy (2.4.3)
       addressable (~> 2.3)
     memoizable (0.4.2)
       thread_safe (~> 0.3, >= 0.3.1)
-    multi_json (1.11.0)
     multipart-post (2.0.0)
-    naught (1.0.0)
-    oauth (0.4.7)
-    retryable (2.0.1)
+    naught (1.1.0)
+    oauth (0.5.4)
+    public_suffix (3.0.2)
+    retryable (2.0.4)
     simple_oauth (0.3.1)
-    t (2.9.0)
-      geokit (>= 1.8.3, < 2)
+    t (3.1.0)
+      geokit (~> 1.9)
       htmlentities (~> 4.3)
       launchy (~> 2.4)
-      oauth (~> 0.4.7)
+      oauth (~> 0.5.1)
       retryable (~> 2.0)
       thor (>= 0.19.1, < 2)
-      twitter (~> 5.13)
-    thor (0.19.1)
-    thread_safe (0.3.5)
-    twitter (5.14.0)
+      twitter (~> 6.0)
+    thor (0.20.0)
+    thread_safe (0.3.6)
+    twitter (6.2.0)
       addressable (~> 2.3)
       buftok (~> 0.2.0)
-      equalizer (~> 0.0.9)
-      faraday (~> 0.9.0)
-      http (~> 0.6.0)
+      equalizer (~> 0.0.11)
+      http (~> 3.0)
+      http-form_data (~> 2.0)
       http_parser.rb (~> 0.6.0)
-      json (~> 1.8)
       memoizable (~> 0.4.0)
+      multipart-post (~> 2.0)
       naught (~> 1.0)
       simple_oauth (~> 0.3.0)
+    unf (0.1.4)
+      unf_ext
+    unf_ext (0.0.7.5)
 
 PLATFORMS
   ruby
 
 DEPENDENCIES
   t
+
+BUNDLED WITH
+   1.14.6
diff --git a/pkgs/tools/misc/t/default.nix b/pkgs/tools/misc/t/default.nix
index ad9e0949ce8..b9c93c63954 100644
--- a/pkgs/tools/misc/t/default.nix
+++ b/pkgs/tools/misc/t/default.nix
@@ -1,7 +1,7 @@
 { stdenv, lib, bundlerEnv, ruby }:
 
 bundlerEnv {
-  name = "t-2.9.0";
+  name = "t-3.1.0";
 
   inherit ruby;
   gemfile = ./Gemfile;
diff --git a/pkgs/tools/misc/t/gemset.nix b/pkgs/tools/misc/t/gemset.nix
index 6c721111c67..268cbae5e80 100644
--- a/pkgs/tools/misc/t/gemset.nix
+++ b/pkgs/tools/misc/t/gemset.nix
@@ -1,185 +1,203 @@
 {
-  "addressable" = {
-    version = "2.3.7";
+  addressable = {
+    dependencies = ["public_suffix"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0viqszpkggqi8hq87pqp0xykhvz60g99nwmkwsb0v45kc2liwxvk";
       type = "gem";
-      sha256 = "1x1401m59snw59c2bxr10jj10z1n4r4jvz8c55d0c3sh2smbl8kh";
     };
+    version = "2.5.2";
   };
-  "buftok" = {
+  buftok = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1rzsy1vy50v55x9z0nivf23y0r9jkmq6i130xa75pq9i8qrn1mxs";
+      type = "gem";
+    };
     version = "0.2.0";
+  };
+  domain_name = {
+    dependencies = ["unf"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "12hs8yijhak7p2hf1xkh98g0mnp5phq3mrrhywzaxpwz1gw5r3kf";
       type = "gem";
-      sha256 = "1rzsy1vy50v55x9z0nivf23y0r9jkmq6i130xa75pq9i8qrn1mxs";
     };
+    version = "0.5.20170404";
   };
-  "equalizer" = {
-    version = "0.0.9";
+  equalizer = {
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1kjmx3fygx8njxfrwcmn7clfhjhb6bvv3scy2lyyi0wqyi3brra4";
       type = "gem";
-      sha256 = "1i6vfh2lzyrvvm35qa9cf3xh2gxj941x0v78pp0c7bwji3f5hawr";
     };
+    version = "0.0.11";
   };
-  "faraday" = {
-    version = "0.9.1";
+  geokit = {
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1iryy9gcrayd4c2xfxnb0acnmqcz5bv7pp6ilaifwlwl6jnc40dm";
       type = "gem";
-      sha256 = "1h33znnfzxpscgpq28i9fcqijd61h61zgs3gabpdgqfa1043axsn";
     };
-    dependencies = [
-      "multipart-post"
-    ];
+    version = "1.11.0";
   };
-  "geokit" = {
-    version = "1.9.0";
+  htmlentities = {
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1nkklqsn8ir8wizzlakncfv42i32wc0w9hxp00hvdlgjr7376nhj";
       type = "gem";
-      sha256 = "1bpkjz2q8hm7i4mrrp1if51zq6fz3qkqj55qwlb7jh9jlgyvjmqy";
     };
-    dependencies = [
-      "multi_json"
-    ];
+    version = "4.3.4";
   };
-  "htmlentities" = {
-    version = "4.3.3";
+  http = {
+    dependencies = ["addressable" "http-cookie" "http-form_data" "http_parser.rb"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1mqjjqgdq83rz3nvq69bn0n5x45hnwd4794fmfbi0wrd1n47syfs";
       type = "gem";
-      sha256 = "0v4m2pn6q2h7iqdkxk9z3j4828harcjgk1h77v9i4x87avv5130p";
     };
+    version = "3.0.0";
   };
-  "http" = {
-    version = "0.6.3";
+  http-cookie = {
+    dependencies = ["domain_name"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "004cgs4xg5n6byjs7qld0xhsjq3n6ydfh897myr2mibvh6fjc49g";
       type = "gem";
-      sha256 = "0wmj5i1l0f6ajhs8wi1h3sdwhrl00llrpsmh6xs9dwjm2amvdvxv";
     };
-    dependencies = [
-      "http_parser.rb"
-    ];
+    version = "1.0.3";
+  };
+  http-form_data = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1j90dydw36h9s09n760aid8asabigqcgi7agsyqh53iz5s3qv9v0";
+      type = "gem";
+    };
+    version = "2.1.0";
   };
   "http_parser.rb" = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "15nidriy0v5yqfjsgsra51wmknxci2n2grliz78sf9pga3n0l7gi";
+      type = "gem";
+    };
     version = "0.6.0";
+  };
+  launchy = {
+    dependencies = ["addressable"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "190lfbiy1vwxhbgn4nl4dcbzxvm049jwc158r2x7kq3g5khjrxa2";
       type = "gem";
-      sha256 = "15nidriy0v5yqfjsgsra51wmknxci2n2grliz78sf9pga3n0l7gi";
     };
+    version = "2.4.3";
   };
-  "json" = {
-    version = "1.8.2";
+  memoizable = {
+    dependencies = ["thread_safe"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0v42bvghsvfpzybfazl14qhkrjvx0xlmxz0wwqc960ga1wld5x5c";
       type = "gem";
-      sha256 = "0zzvv25vjikavd3b1bp6lvbgj23vv9jvmnl4vpim8pv30z8p6vr5";
     };
+    version = "0.4.2";
   };
-  "launchy" = {
-    version = "2.4.3";
+  multipart-post = {
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "09k0b3cybqilk1gwrwwain95rdypixb2q9w65gd44gfzsd84xi1x";
       type = "gem";
-      sha256 = "190lfbiy1vwxhbgn4nl4dcbzxvm049jwc158r2x7kq3g5khjrxa2";
     };
-    dependencies = [
-      "addressable"
-    ];
+    version = "2.0.0";
   };
-  "memoizable" = {
-    version = "0.4.2";
+  naught = {
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1wwjx35zgbc0nplp8a866iafk4zsrbhwwz4pav5gydr2wm26nksg";
       type = "gem";
-      sha256 = "0v42bvghsvfpzybfazl14qhkrjvx0xlmxz0wwqc960ga1wld5x5c";
     };
-    dependencies = [
-      "thread_safe"
-    ];
+    version = "1.1.0";
   };
-  "multi_json" = {
-    version = "1.11.0";
+  oauth = {
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1zszdg8q1b135z7l7crjj234k4j0m347hywp5kj6zsq7q78pw09y";
       type = "gem";
-      sha256 = "1mg3hp17ch8bkf3ndj40s50yjs0vrqbfh3aq5r02jkpjkh23wgxl";
     };
+    version = "0.5.4";
   };
-  "multipart-post" = {
-    version = "2.0.0";
+  public_suffix = {
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1x5h1dh1i3gwc01jbg01rly2g6a1qwhynb1s8a30ic507z1nh09s";
       type = "gem";
-      sha256 = "09k0b3cybqilk1gwrwwain95rdypixb2q9w65gd44gfzsd84xi1x";
     };
+    version = "3.0.2";
   };
-  "naught" = {
-    version = "1.0.0";
+  retryable = {
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1pxv5xgr08s9gv5npj7h3raxibywznrv2wcrb85ibhlhzgzcxggf";
       type = "gem";
-      sha256 = "04m6hh63c96kcnzwy5mpl826yn6sm465zz1z87mmsig86gqi1izd";
     };
+    version = "2.0.4";
   };
-  "oauth" = {
-    version = "0.4.7";
+  simple_oauth = {
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0dw9ii6m7wckml100xhjc6vxpjcry174lbi9jz5v7ibjr3i94y8l";
       type = "gem";
-      sha256 = "1k5j09p3al3clpjl6lax62qmhy43f3j3g7i6f9l4dbs6r5vpv95w";
     };
+    version = "0.3.1";
   };
-  "retryable" = {
-    version = "2.0.1";
+  t = {
+    dependencies = ["geokit" "htmlentities" "launchy" "oauth" "retryable" "thor" "twitter"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0qj5zqc819yiscqbyb93alxillyli5ajvrr4gzq52clgkvyap7bd";
       type = "gem";
-      sha256 = "0wg4vh76cmhwzwrgd0k6kbx4dlp4r98l8yizr72lmzph187dg48f";
     };
+    version = "3.1.0";
   };
-  "simple_oauth" = {
-    version = "0.3.1";
+  thor = {
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0nmqpyj642sk4g16nkbq6pj856adpv91lp4krwhqkh2iw63aszdl";
       type = "gem";
-      sha256 = "0dw9ii6m7wckml100xhjc6vxpjcry174lbi9jz5v7ibjr3i94y8l";
     };
+    version = "0.20.0";
   };
-  "t" = {
-    version = "2.9.0";
+  thread_safe = {
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0nmhcgq6cgz44srylra07bmaw99f5271l0dpsvl5f75m44l0gmwy";
       type = "gem";
-      sha256 = "0qdsyblnnan2wcvql2mzg10jaj3gfv5pbfac54b1y7qkr56dc4dv";
     };
-    dependencies = [
-      "geokit"
-      "htmlentities"
-      "launchy"
-      "oauth"
-      "retryable"
-      "thor"
-      "twitter"
-    ];
+    version = "0.3.6";
   };
-  "thor" = {
-    version = "0.19.1";
+  twitter = {
+    dependencies = ["addressable" "buftok" "equalizer" "http" "http-form_data" "http_parser.rb" "memoizable" "multipart-post" "naught" "simple_oauth"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0fjyz3viabz3xs5d9aad18zgdbhfwm51jsnzigc8kxk77p1x58n5";
       type = "gem";
-      sha256 = "08p5gx18yrbnwc6xc0mxvsfaxzgy2y9i78xq7ds0qmdm67q39y4z";
     };
+    version = "6.2.0";
   };
-  "thread_safe" = {
-    version = "0.3.5";
+  unf = {
+    dependencies = ["unf_ext"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0bh2cf73i2ffh4fcpdn9ir4mhq8zi50ik0zqa1braahzadx536a9";
       type = "gem";
-      sha256 = "1hq46wqsyylx5afkp6jmcihdpv4ynzzq9ygb6z2pb1cbz5js0gcr";
     };
+    version = "0.1.4";
   };
-  "twitter" = {
-    version = "5.14.0";
+  unf_ext = {
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "06p1i6qhy34bpb8q8ms88y6f2kz86azwm098yvcc0nyqk9y729j1";
       type = "gem";
-      sha256 = "0vx7x3fmwgk3axqyw9hyf6yh99kx3ssdy14w2686hz7c4v3qwlc5";
     };
-    dependencies = [
-      "addressable"
-      "buftok"
-      "equalizer"
-      "faraday"
-      "http"
-      "http_parser.rb"
-      "json"
-      "memoizable"
-      "naught"
-      "simple_oauth"
-    ];
+    version = "0.0.7.5";
   };
 }
\ No newline at end of file
diff --git a/pkgs/tools/misc/tealdeer/default.nix b/pkgs/tools/misc/tealdeer/default.nix
new file mode 100644
index 00000000000..fe0aa6cc308
--- /dev/null
+++ b/pkgs/tools/misc/tealdeer/default.nix
@@ -0,0 +1,34 @@
+{ stdenv, rustPlatform, fetchFromGitHub, pkgconfig, openssl, cacert, curl }:
+
+rustPlatform.buildRustPackage rec {
+  name = "tealdeer-${version}";
+  version = "1.0.0";
+
+  src = fetchFromGitHub {
+    owner = "dbrgn";
+    repo = "tealdeer";
+    rev = "v${version}";
+    sha256 = "0mkcja9agkbj2i93hx01r77w66ca805v4wvivcnrqmzid001717v";
+  };
+
+  cargoSha256 = "1qrvic7b6g3f3gjzx7x97ipp7ppa79c0aawn0lsav0c9xxzl44jq";
+
+  buildInputs = [ openssl cacert curl ];
+
+  nativeBuildInputs = [ pkgconfig ];
+  
+  NIX_SSL_CERT_FILE = "${cacert}/etc/ssl/certs/ca-bundle.crt";
+
+  # disable tests for now since one needs network
+  # what is unavailable in sandbox build
+  # and i can't disable just this one
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    description = "An implementation of tldr in Rust";
+    homepage = "https://github.com/dbrgn/tealdeer";
+    maintainers = with maintainers; [ davidak ];
+    license = with licenses; [ asl20 mit ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/tools/misc/termplay/default.nix b/pkgs/tools/misc/termplay/default.nix
new file mode 100644
index 00000000000..5771ec6aff1
--- /dev/null
+++ b/pkgs/tools/misc/termplay/default.nix
@@ -0,0 +1,38 @@
+{ rustPlatform, fetchFromGitHub, lib, makeWrapper, gst_all_1, libsixel }:
+rustPlatform.buildRustPackage rec {
+  name = "termplay-${version}";
+  version = "2.0.4";
+
+  src = fetchFromGitHub {
+    owner = "jD91mZM2";
+    repo = "termplay";
+    rev = version;
+
+    sha256 = "0qgx9xmi8n3sq5n5m6gai777sllw9hyki2kwsj2k4h1ykibzq9r0";
+  };
+
+  cargoBuildFlags = ["--features" "bin"];
+  cargoSha256 = "1ghvp4n6mvckamvn3hk672wh29jlrwmhrd4hv3mh98li1x9ssbmf";
+
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [
+    gst_all_1.gstreamer
+    gst_all_1.gst-plugins-base
+    gst_all_1.gst-plugins-good
+    gst_all_1.gst-plugins-ugly
+    gst_all_1.gst-plugins-bad
+    libsixel
+  ];
+
+  postInstall = ''
+    wrapProgram $out/bin/termplay --prefix GST_PLUGIN_SYSTEM_PATH_1_0 : "$GST_PLUGIN_SYSTEM_PATH_1_0"
+  '';
+
+  meta = with lib; {
+    description = "Play an image/video in your terminal";
+    homepage = https://jd91mzm2.github.io/termplay/;
+    license = licenses.mit;
+    maintainers = with maintainers; [ jD91mZM2 ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/tools/misc/thefuck/default.nix b/pkgs/tools/misc/thefuck/default.nix
index 788529125da..7befd344a4d 100644
--- a/pkgs/tools/misc/thefuck/default.nix
+++ b/pkgs/tools/misc/thefuck/default.nix
@@ -5,13 +5,13 @@
 
 buildPythonApplication rec {
   pname = "thefuck";
-  version = "3.25";
+  version = "3.26";
 
   src = fetchFromGitHub {
     owner = "nvbn";
     repo = "${pname}";
     rev = version;
-    sha256 = "090mg809aac932lgqmjxm4za53lg3bjprj562sp189k47xs4wijv";
+    sha256 = "0iyihbp94z38xajy8yfbn3ky7irnam1zwyswg34cw4kkfgggrwhz";
   };
 
   propagatedBuildInputs = [ colorama decorator psutil pyte six ];
diff --git a/pkgs/tools/misc/thin-provisioning-tools/default.nix b/pkgs/tools/misc/thin-provisioning-tools/default.nix
index 5d43679b6fe..8b9fa4f2f3f 100644
--- a/pkgs/tools/misc/thin-provisioning-tools/default.nix
+++ b/pkgs/tools/misc/thin-provisioning-tools/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "thin-provisioning-tools-${version}";
-  version = "0.6.3";
+  version = "0.7.5";
 
   src = fetchFromGitHub {
     owner = "jthornber";
     repo = "thin-provisioning-tools";
     rev = "v${version}";
-    sha256 = "0glwhfzwj9afbqdv59ppgfqy7rik8m0vcap7279fpnvwpr1c2p5n";
+    sha256 = "1ibg5wxrbqg4pr3f6aacqm42fxpwn5q00j8ldy9mw4an3ck41cwa";
   };
 
   nativeBuildInputs = [ autoreconfHook ];
diff --git a/pkgs/tools/misc/time/default.nix b/pkgs/tools/misc/time/default.nix
index cce7614b904..892afb4ee1c 100644
--- a/pkgs/tools/misc/time/default.nix
+++ b/pkgs/tools/misc/time/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "time-${version}";
-  version = "1.8";
+  version = "1.9";
 
   src = fetchurl {
     url = "mirror://gnu/time/${name}.tar.gz";
-    sha256 = "06rfg8dn0q2r8pdq8i6brrs6rqrsgvkwbbl4kfx3a6lnal0m8bwa";
+    sha256 = "07jj7cz6lc13iqrpgn81ivqh8rkm73p4rnivwgrrshk23v4g1b7v";
   };
 
   meta = {
diff --git a/pkgs/tools/misc/tio/default.nix b/pkgs/tools/misc/tio/default.nix
new file mode 100644
index 00000000000..475d444c600
--- /dev/null
+++ b/pkgs/tools/misc/tio/default.nix
@@ -0,0 +1,21 @@
+{ stdenv, fetchzip, autoreconfHook }:
+
+stdenv.mkDerivation rec {
+  name = "tio-${version}";
+  version = "1.30";
+
+  src = fetchzip {
+    url = "https://github.com/tio/tio/archive/v${version}.tar.gz";
+    sha256 = "1cyjy1jg2s32h1jkb99qb79sxkxh92niiyig0vysr14m4xnw01mr";
+  };
+
+  nativeBuildInputs = [ autoreconfHook ];
+
+  meta = with stdenv.lib; {
+    description = "Serial console TTY";
+    homepage = https://tio.github.io/;
+    license = licenses.gpl2Plus;
+    maintainers = with maintainers; [ yegortimoshenko ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/tools/misc/tmuxp/default.nix b/pkgs/tools/misc/tmuxp/default.nix
index 33a4ebd70b3..3932e06192e 100644
--- a/pkgs/tools/misc/tmuxp/default.nix
+++ b/pkgs/tools/misc/tmuxp/default.nix
@@ -4,11 +4,11 @@ with python.pkgs;
 
 buildPythonApplication rec {
   pname = "tmuxp";
-  version = "1.3.5";
+  version = "1.4.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "bdbbbf5980d6ec21838396a46cd5b599787e8540782b8e2e3f20d2135560a5d3";
+    sha256 = "1ghi6w0cfgs94zlz304q37h3lga2jalfm0hqi3g2060zfdnb96n7";
   };
 
   postPatch = ''
diff --git a/pkgs/tools/misc/trash-cli/default.nix b/pkgs/tools/misc/trash-cli/default.nix
index 77308ecf2ed..7be2e3fc61d 100644
--- a/pkgs/tools/misc/trash-cli/default.nix
+++ b/pkgs/tools/misc/trash-cli/default.nix
@@ -1,7 +1,5 @@
-{ stdenv, fetchFromGitHub, fetchpatch, coreutils
-, python3, python3Packages, substituteAll }:
-
-assert stdenv.isLinux;
+{ stdenv, fetchFromGitHub, fetchpatch, python3, python3Packages
+, lib, makeWrapper, coreutils }:
 
 python3Packages.buildPythonApplication rec {
   name = "trash-cli-${version}";
@@ -16,12 +14,6 @@ python3Packages.buildPythonApplication rec {
   };
 
   patches = [
-    (substituteAll {
-      src = ./nix-paths.patch;
-      df = "${coreutils}/bin/df";
-      libc = "${stdenv.cc.libc.out}/lib/libc.so.6";
-    })
-
     # Fix build on Python 3.6.
     (fetchpatch {
       url = "https://github.com/andreafrancia/trash-cli/commit/a21b80d1e69783bb09376c3f60dd2f2a10578805.patch";
@@ -30,10 +22,19 @@ python3Packages.buildPythonApplication rec {
   ];
 
   buildInputs = with python3Packages; [ nose mock ];
+  nativeBuildInputs = [ makeWrapper ];
+
+  preFixup = ''
+    for bin in $out/bin/*; do
+      wrapProgram $bin \
+        --prefix PATH : ${lib.makeBinPath [ coreutils ]} \
+        --prefix DYLD_LIBRARY_PATH : ${lib.makeSearchPath "lib" (lib.optional (stdenv.hostPlatform.libc == "glibc") (lib.getDev stdenv.cc.libc))}
+    done
+  '';
 
   checkPhase = "nosetests";
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     homepage = https://github.com/andreafrancia/trash-cli;
     description = "Command line tool for the desktop trash can";
     maintainers = [ maintainers.rycee ];
diff --git a/pkgs/tools/misc/trash-cli/nix-paths.patch b/pkgs/tools/misc/trash-cli/nix-paths.patch
deleted file mode 100644
index d7b485eec15..00000000000
--- a/pkgs/tools/misc/trash-cli/nix-paths.patch
+++ /dev/null
@@ -1,26 +0,0 @@
---- a/trashcli/list_mount_points.py	2014-12-23 10:10:43.808470486 +0100
-+++ a/trashcli/list_mount_points.py	2014-12-23 10:19:04.954796457 +0100
-@@ -12,7 +12,7 @@ def mount_points_from_getmnt():
- 
- def mount_points_from_df():
-     import subprocess
--    df_output = subprocess.Popen(["df", "-P"], stdout=subprocess.PIPE).stdout
-+    df_output = subprocess.Popen(["@df@", "-P"], stdout=subprocess.PIPE).stdout
-     return list(_mount_points_from_df_output(df_output))
- 
- def _mount_points_from_df_output(df_output):
-@@ -46,13 +46,7 @@ def _mounted_filesystems_from_getmnt() :
-                     ("mnt_freq", c_int),       # Dump frequency (in days).
-                     ("mnt_passno", c_int)]     # Pass number for `fsck'.
- 
--    if sys.platform == "cygwin":
--        libc_name = "cygwin1.dll"
--    else:
--        libc_name = find_library("c")
--
--    if libc_name == None :
--        libc_name="/lib/libc.so.6" # fix for my Gentoo 4.0
-+    libc_name = "@libc@"
- 
-     libc = cdll.LoadLibrary(libc_name)
-     libc.getmntent.restype = POINTER(mntent_struct)
diff --git a/pkgs/tools/misc/txt2man/default.nix b/pkgs/tools/misc/txt2man/default.nix
index 29bd3235dfb..f37892a231a 100644
--- a/pkgs/tools/misc/txt2man/default.nix
+++ b/pkgs/tools/misc/txt2man/default.nix
@@ -1,11 +1,12 @@
 { stdenv, fetchurl, coreutils, gawk }:
 
 stdenv.mkDerivation rec {
-  name = "txt2man-1.5.6";
+  name = "txt2man-${version}";
+  version = "1.6.0";
 
   src = fetchurl {
-    url = "http://mvertes.free.fr/download/${name}.tar.gz";
-    sha256 = "0ammlb4pwc4ya1kc9791vjl830074zrpfcmzc18lkcqczp2jaj4q";
+    url = "https://github.com/mvertes/txt2man/archive/${name}.tar.gz";
+    sha256 = "168cj96974n2z0igin6j1ic1m45zyic7nm5ark7frq8j78rrx4zn";
   };
 
   preConfigure = ''
diff --git a/pkgs/tools/misc/urjtag/default.nix b/pkgs/tools/misc/urjtag/default.nix
index 99cd407a9ae..25687a3dbe1 100644
--- a/pkgs/tools/misc/urjtag/default.nix
+++ b/pkgs/tools/misc/urjtag/default.nix
@@ -34,7 +34,7 @@ stdenv.mkDerivation rec {
     description = "Enhanced, modern tool for communicating over JTAG with flash chips, CPUs,and many more";
     homepage = http://urjtag.org/;
     license = with stdenv.lib.licenses; [ gpl2Plus lgpl21Plus ];
-    platforms = stdenv.lib.platforms.gnu;  # arbitrary choice
+    platforms = stdenv.lib.platforms.gnu ++ stdenv.lib.platforms.linux;  # arbitrary choice
     maintainers = with stdenv.lib.maintainers; [ lowfatcomputing ];
   };
 }
diff --git a/pkgs/tools/misc/vdirsyncer/default.nix b/pkgs/tools/misc/vdirsyncer/default.nix
index ad5b259eb77..9e9ded5c3a7 100644
--- a/pkgs/tools/misc/vdirsyncer/default.nix
+++ b/pkgs/tools/misc/vdirsyncer/default.nix
@@ -1,18 +1,30 @@
-{ stdenv, fetchurl, python3Packages, glibcLocales }:
+{ stdenv, python3Packages, glibcLocales, rustPlatform }:
 
 # Packaging documentation at:
 # https://github.com/untitaker/vdirsyncer/blob/master/docs/packaging.rst
 let
   pythonPackages = python3Packages;
-in
-pythonPackages.buildPythonApplication rec {
-  version = "0.16.4";
-  name = "vdirsyncer-${version}";
-
-  src = fetchurl {
-    url = "mirror://pypi/v/vdirsyncer/${name}.tar.gz";
-    sha256 = "03wva48bgv1ad3df6plc9b8xxh6k8bcaxrhlzwh81c9mzn5bspzv";
+  version = "0.17.0a2";
+  pname = "vdirsyncer";
+  name = pname + "-" + version;
+  src = pythonPackages.fetchPypi {
+    inherit pname version;
+    sha256 = "0y464rsx5la6bp94z2g0nnkbl4nwfya08abynvifw4c84vs1gr4q";
   };
+  native = rustPlatform.buildRustPackage {
+    name = name + "-native";
+    inherit src;
+    sourceRoot = name + "/rust";
+    cargoSha256 = "1cr7xs11gbsc3x5slga9qahchwc22qq49amf28g4jgs9lzf57qis";
+    postInstall = ''
+      mkdir $out/include $out/lib
+      cp $out/bin/libvdirsyncer_rustext* $out/lib
+      rm -r $out/bin
+      cp target/vdirsyncer_rustext.h $out/include
+    '';
+  };
+in pythonPackages.buildPythonApplication rec {
+  inherit version pname src;
 
   propagatedBuildInputs = with pythonPackages; [
     click click-log click-threading
@@ -20,20 +32,39 @@ pythonPackages.buildPythonApplication rec {
     requests
     requests_oauthlib # required for google oauth sync
     atomicwrites
+    milksnake
   ];
 
-  buildInputs = with pythonPackages; [hypothesis pytest pytest-localserver pytest-subtesthack setuptools_scm ] ++ [ glibcLocales ];
+  buildInputs = with pythonPackages; [ setuptools_scm ];
+
+  checkInputs = with pythonPackages; [ hypothesis pytest pytest-localserver pytest-subtesthack ] ++ [ glibcLocales ];
+
+  postPatch = ''
+    sed -i "/cargo build/d" Makefile
+  '';
+
+  preBuild = ''
+    mkdir -p rust/target/release
+    ln -s ${native}/lib/libvdirsyncer_rustext* rust/target/release/
+    ln -s ${native}/include/vdirsyncer_rustext.h rust/target/
+  '';
 
   LC_ALL = "en_US.utf8";
 
+  preCheck = ''
+    ln -sf ../dist/tmpbuild/vdirsyncer/vdirsyncer/_native__lib.so vdirsyncer
+  '';
+
   checkPhase = ''
+    runHook preCheck
     make DETERMINISTIC_TESTS=true test
+    runHook postCheck
   '';
 
   meta = with stdenv.lib; {
     homepage = https://github.com/pimutils/vdirsyncer;
     description = "Synchronize calendars and contacts";
-    maintainers = with maintainers; [ matthiasbeyer jgeerds ];
+    maintainers = with maintainers; [ jgeerds ];
     platforms = platforms.all;
     license = licenses.mit;
   };
diff --git a/pkgs/tools/misc/vimer/default.nix b/pkgs/tools/misc/vimer/default.nix
index a655aa9502e..7ccc6e9dc27 100644
--- a/pkgs/tools/misc/vimer/default.nix
+++ b/pkgs/tools/misc/vimer/default.nix
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
       in an existing instance of GVim or MacVim.
     '';
     license = licenses.mit;
-    maintainers = [ maintainers.matthiasbeyer ];
+    maintainers = [ ];
     platforms = platforms.linux;
   };
 
diff --git a/pkgs/tools/misc/woeusb/default.nix b/pkgs/tools/misc/woeusb/default.nix
index 436a252e678..197eea17d88 100644
--- a/pkgs/tools/misc/woeusb/default.nix
+++ b/pkgs/tools/misc/woeusb/default.nix
@@ -3,14 +3,14 @@
 , wxGTK30 }:
 
 stdenv.mkDerivation rec {
-  version = "3.1.4";
+  version = "3.1.5";
   name = "woeusb-${version}";
 
   src = fetchFromGitHub {
     owner = "slacka";
     repo = "WoeUSB";
     rev = "v${version}";
-    sha256 = "0hvxsm6k6s29wnr3i5b9drf6ml0i32is2l50l3cxvf1f499w4bpc";
+    sha256 = "0jbyrd49ikwkfpnka884y3p600bm3nfil2zinrgbac7vyhxxqjmw";
   };
 
   buildInputs = [ wxGTK30 autoreconfHook makeWrapper ];
diff --git a/pkgs/tools/misc/wyrd/default.nix b/pkgs/tools/misc/wyrd/default.nix
index d02ce41b6aa..1029dbb29d8 100644
--- a/pkgs/tools/misc/wyrd/default.nix
+++ b/pkgs/tools/misc/wyrd/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, ocaml, ncurses, remind, camlp4 }:
+{ stdenv, fetchurl, ocamlPackages, ncurses, remind }:
 
 stdenv.mkDerivation rec {
   version = "1.4.6";
@@ -9,7 +9,13 @@ stdenv.mkDerivation rec {
     sha256 = "0zlrg602q781q8dij62lwdprpfliyy9j1rqfqcz8p2wgndpivddj";
   };
 
-  buildInputs = [ ocaml ncurses remind camlp4 ];
+  NIX_CFLAGS_COMPILE = [ "-DNCURSES_INTERNALS=1" ];
+
+  preConfigure = ''
+    substituteInPlace curses/curses.ml --replace 'pp gcc' "pp $CC"
+  '';
+
+  buildInputs = [ ocamlPackages.ocaml ncurses remind ocamlPackages.camlp4 ];
 
   preferLocalBuild = true;
 
diff --git a/pkgs/tools/misc/x11idle/default.nix b/pkgs/tools/misc/x11idle/default.nix
index 8ebc5047358..c8adff788c7 100644
--- a/pkgs/tools/misc/x11idle/default.nix
+++ b/pkgs/tools/misc/x11idle/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, xlibs, fetchgit, libXScrnSaver, libX11 }:
+{ stdenv, fetchgit, libXScrnSaver, libX11 }:
 
 stdenv.mkDerivation {
   name = "x11idle-unstable-2017-07-01";
diff --git a/pkgs/tools/misc/xburst-tools/default.nix b/pkgs/tools/misc/xburst-tools/default.nix
index 21aabc4e89c..b25be641897 100644
--- a/pkgs/tools/misc/xburst-tools/default.nix
+++ b/pkgs/tools/misc/xburst-tools/default.nix
@@ -22,6 +22,8 @@ stdenv.mkDerivation {
     "--enable-firmware CROSS_COMPILE=${gccCross.targetPrefix}"
     else "";
 
+  hardeningDisable = [ "pic" "stackprotector" ];
+
   # Not to strip cross build binaries (this is for the gcc-cross-wrapper)
   dontCrossStrip = true;
 
diff --git a/pkgs/tools/misc/xfstests/default.nix b/pkgs/tools/misc/xfstests/default.nix
index 6904f43d846..e6c67ddb9bb 100644
--- a/pkgs/tools/misc/xfstests/default.nix
+++ b/pkgs/tools/misc/xfstests/default.nix
@@ -3,16 +3,20 @@
 , time, utillinux, which, writeScript, xfsprogs }:
 
 stdenv.mkDerivation {
-  name = "xfstests-2017-07-16";
+  name = "xfstests-2018-04-11";
 
   src = fetchgit {
     url = "git://git.kernel.org/pub/scm/fs/xfs/xfstests-dev.git";
-    rev = "c3893c2dc623a07b1ace8e72ee4beb29f8bfae15";
-    sha256 = "1p42dakry4r2366hdgj4i1wcnjs4qk0bfmyr70r1n7s7ykvnvnrl";
+    rev = "fdf6d4bc862bb3269c95986fdaf1c59271762ad6";
+    sha256 = "16j1kcmj0xq6s2qw4hll5r5cz7q4vbbsy2nh1g5aaq7xsl3h8mhb";
   };
 
-  nativeBuildInputs = [ autoconf automake libtool ];
-  buildInputs = [ acl attr gawk libaio libuuid libxfs openssl perl ];
+  nativeBuildInputs = [
+    autoconf automake libtool
+  ];
+  buildInputs = [
+    acl attr gawk libaio libuuid libxfs openssl perl
+  ];
 
   hardeningDisable = [ "format" ];
   enableParallelBuilding = true;
diff --git a/pkgs/tools/misc/xvfb-run/default.nix b/pkgs/tools/misc/xvfb-run/default.nix
index 8bcbf4951d1..80135f4ab44 100644
--- a/pkgs/tools/misc/xvfb-run/default.nix
+++ b/pkgs/tools/misc/xvfb-run/default.nix
@@ -14,6 +14,7 @@ stdenv.mkDerivation {
     cp ${xvfb_run} $out/bin/xvfb-run
 
     chmod a+x $out/bin/xvfb-run
+    patchShebangs $out/bin/xvfb-run
     wrapProgram $out/bin/xvfb-run \
       --set FONTCONFIG_FILE "${fontsConf}" \
       --prefix PATH : ${stdenv.lib.makeBinPath [ getopt xorgserver xauth which utillinux gawk coreutils ]}
diff --git a/pkgs/tools/misc/yad/default.nix b/pkgs/tools/misc/yad/default.nix
index 31b8d673a98..2c5a2b808a5 100644
--- a/pkgs/tools/misc/yad/default.nix
+++ b/pkgs/tools/misc/yad/default.nix
@@ -2,11 +2,11 @@
 , wrapGAppsHook }:
 
 stdenv.mkDerivation rec {
-  name = "yad-0.37.0";
+  name = "yad-0.40.0";
 
   src = fetchurl {
     url = "http://sourceforge.net/projects/yad-dialog/files/${name}.tar.xz";
-    sha256 = "0fhqsgml1axaa9avd0hbam5wm77c2c7q1bz4hs7fvyvdnljazvwi";
+    sha256 = "1x0fsv8nfkm8lchdawnf3zw79jaqbnvhv87sk5r8g86knv8vgl62";
   };
 
   configureFlags = [
diff --git a/pkgs/tools/misc/you-get/default.nix b/pkgs/tools/misc/you-get/default.nix
index 5ae99d23939..f0a8eda0028 100644
--- a/pkgs/tools/misc/you-get/default.nix
+++ b/pkgs/tools/misc/you-get/default.nix
@@ -2,7 +2,7 @@
 
 buildPythonApplication rec {
   pname = "you-get";
-  version = "0.4.1025";
+  version = "0.4.1060";
 
   # Tests aren't packaged, but they all hit the real network so
   # probably aren't suitable for a build environment anyway.
@@ -10,7 +10,7 @@ buildPythonApplication rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1dbalpwhzn39kgswjy84720wfjssa087adavbwig53krsjdvhj6k";
+    sha256 = "1c4drn6khqrjvyzzsiaracnpcvahbiya6v5p18h2lyl7xia8gk51";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/tools/misc/youtube-dl/default.nix b/pkgs/tools/misc/youtube-dl/default.nix
index 03a83de11b4..f76b439b920 100644
--- a/pkgs/tools/misc/youtube-dl/default.nix
+++ b/pkgs/tools/misc/youtube-dl/default.nix
@@ -8,19 +8,19 @@
 , generateManPage ? false
 , ffmpegSupport ? true
 , rtmpSupport ? true
-, phantomjsSupport ? !targetPlatform.isDarwin # phantomjs2 is broken on darwin
+, phantomjsSupport ? false
 , hlsEncryptedSupport ? true
 , makeWrapper }:
 
 with stdenv.lib;
 buildPythonApplication rec {
 
-  name = "youtube-dl-${version}";
-  version = "2018.03.03";
+  pname = "youtube-dl";
+  version = "2018.05.09";
 
   src = fetchurl {
-    url = "https://yt-dl.org/downloads/${version}/${name}.tar.gz";
-    sha256 = "1x0m5whrcs7589z8rildgy0zmxfvzbnx89pag7013qvfrpb63858";
+    url = "https://yt-dl.org/downloads/${version}/${pname}-${version}.tar.gz";
+    sha256 = "0sl4bi2jls3417rd62awbqdq1b6wskkjbfwpnyw4a61qarfxid1d";
   };
 
   nativeBuildInputs = [ makeWrapper ];
@@ -38,11 +38,16 @@ buildPythonApplication rec {
         ++ optional phantomjsSupport phantomjs2;
     in [ ''--prefix PATH : "${makeBinPath packagesToBinPath}"'' ];
 
+  postInstall = ''
+    mkdir -p $out/share/zsh/site-functions
+    cp youtube-dl.zsh $out/share/zsh/site-functions/_youtube-dl
+  '';
+
   # Requires network
   doCheck = false;
 
   meta = {
-    homepage = http://rg3.github.io/youtube-dl/;
+    homepage = https://rg3.github.io/youtube-dl/;
     repositories.git = https://github.com/rg3/youtube-dl.git;
     description = "Command-line tool to download videos from YouTube.com and other sites";
     longDescription = ''
diff --git a/pkgs/tools/misc/yubikey-personalization-gui/default.nix b/pkgs/tools/misc/yubikey-personalization-gui/default.nix
index e6a1c93d2bb..d507816dbd3 100644
--- a/pkgs/tools/misc/yubikey-personalization-gui/default.nix
+++ b/pkgs/tools/misc/yubikey-personalization-gui/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, yubikey-personalization, qt4, qmake4Hook, libyubikey }:
+{ stdenv, fetchurl, pkgconfig, yubikey-personalization, qtbase, qmake, libyubikey }:
 
 stdenv.mkDerivation rec {
   name = "yubikey-personalization-gui-3.1.25";
@@ -8,8 +8,8 @@ stdenv.mkDerivation rec {
     sha256 = "1knyv5yss8lhzaff6jpfqv12fjf1b8b21mfxzx3qi0hw4nl8n2v8";
   };
 
-  nativeBuildInputs = [ pkgconfig qmake4Hook ];
-  buildInputs = [ yubikey-personalization qt4 libyubikey ];
+  nativeBuildInputs = [ pkgconfig qmake ];
+  buildInputs = [ yubikey-personalization qtbase libyubikey ];
   
   installPhase = ''
     mkdir -p $out/bin
diff --git a/pkgs/tools/misc/yubikey-personalization/default.nix b/pkgs/tools/misc/yubikey-personalization/default.nix
index c3bb28bc1a5..48827ec0aae 100644
--- a/pkgs/tools/misc/yubikey-personalization/default.nix
+++ b/pkgs/tools/misc/yubikey-personalization/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "yubikey-personalization-${version}";
-  version = "1.18.1";
+  version = "1.19.0";
 
   src = fetchurl {
     url = "https://developers.yubico.com/yubikey-personalization/Releases/ykpers-${version}.tar.gz";
-    sha256 = "0mjjkk6p8d0kblj6vzld4v188y40ynprvd2hnfh7m1hs28wbkzcz";
+    sha256 = "104lc0nnqdr365fa7c4vrq67rxp1dp8idndsh9jlhnj9dnhszj1b";
   };
 
   nativeBuildInputs = [ pkgconfig ];
@@ -28,6 +28,6 @@ stdenv.mkDerivation rec {
     description = "A library and command line tool to personalize YubiKeys";
     license = licenses.bsd2;
     platforms = platforms.unix;
-    maintainers = with maintainers; [ wkennington calrama ];
+    maintainers = with maintainers; [ wkennington ];
   };
 }
diff --git a/pkgs/tools/networking/airfield/node-packages.nix b/pkgs/tools/networking/airfield/node-packages.nix
index e92921e15b8..657d9284f1b 100644
--- a/pkgs/tools/networking/airfield/node-packages.nix
+++ b/pkgs/tools/networking/airfield/node-packages.nix
@@ -1,52 +1,88 @@
-# This file has been generated by node2nix 1.4.0. Do not edit!
+# This file has been generated by node2nix 1.5.3. Do not edit!
 
 {nodeEnv, fetchurl, fetchgit, globalBuildInputs ? []}:
 
 let
   sources = {
-    "connect-2.7.1" = {
-      name = "connect";
-      packageName = "connect";
-      version = "2.7.1";
+    "ajv-5.5.2" = {
+      name = "ajv";
+      packageName = "ajv";
+      version = "5.5.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/connect/-/connect-2.7.1.tgz";
-        sha1 = "b869df9acf3dd8a0af7523c7c6f1aa8b4b761daa";
+        url = "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz";
+        sha1 = "73b5eeca3fab653e3d3f9422b341ad42205dc965";
       };
     };
-    "commander-0.6.1" = {
-      name = "commander";
-      packageName = "commander";
-      version = "0.6.1";
+    "asn1-0.2.3" = {
+      name = "asn1";
+      packageName = "asn1";
+      version = "0.2.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/commander/-/commander-0.6.1.tgz";
-        sha1 = "fa68a14f6a945d54dbbe50d8cdb3320e9e3b1a06";
+        url = "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz";
+        sha1 = "dac8787713c9966849fc8180777ebe9c1ddf3b86";
       };
     };
-    "range-parser-0.0.4" = {
-      name = "range-parser";
-      packageName = "range-parser";
-      version = "0.0.4";
+    "assert-plus-1.0.0" = {
+      name = "assert-plus";
+      packageName = "assert-plus";
+      version = "1.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/range-parser/-/range-parser-0.0.4.tgz";
-        sha1 = "c0427ffef51c10acba0782a46c9602e744ff620b";
+        url = "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz";
+        sha1 = "f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525";
       };
     };
-    "mkdirp-0.3.3" = {
-      name = "mkdirp";
-      packageName = "mkdirp";
-      version = "0.3.3";
+    "asynckit-0.4.0" = {
+      name = "asynckit";
+      packageName = "asynckit";
+      version = "0.4.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mkdirp/-/mkdirp-0.3.3.tgz";
-        sha1 = "595e251c1370c3a68bab2136d0e348b8105adf13";
+        url = "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz";
+        sha1 = "c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79";
       };
     };
-    "cookie-0.0.5" = {
-      name = "cookie";
-      packageName = "cookie";
-      version = "0.0.5";
+    "aws-sign2-0.7.0" = {
+      name = "aws-sign2";
+      packageName = "aws-sign2";
+      version = "0.7.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/cookie/-/cookie-0.0.5.tgz";
-        sha1 = "f9acf9db57eb7568c9fcc596256b7bb22e307c81";
+        url = "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz";
+        sha1 = "b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8";
+      };
+    };
+    "aws4-1.6.0" = {
+      name = "aws4";
+      packageName = "aws4";
+      version = "1.6.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/aws4/-/aws4-1.6.0.tgz";
+        sha1 = "83ef5ca860b2b32e4a0deedee8c771b9db57471e";
+      };
+    };
+    "bcrypt-pbkdf-1.0.1" = {
+      name = "bcrypt-pbkdf";
+      packageName = "bcrypt-pbkdf";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz";
+        sha1 = "63bc5dcb61331b92bc05fd528953c33462a06f8d";
+      };
+    };
+    "boom-4.3.1" = {
+      name = "boom";
+      packageName = "boom";
+      version = "4.3.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/boom/-/boom-4.3.1.tgz";
+        sha1 = "4f8a3005cb4a7e3889f749030fd25b96e01d2e31";
+      };
+    };
+    "boom-5.2.0" = {
+      name = "boom";
+      packageName = "boom";
+      version = "5.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/boom/-/boom-5.2.0.tgz";
+        sha512 = "19h20yqpvca08dns1rs4f057f10w63v0snxfml4h5khsk266x3x1im0w72bza4k2xn0kfz6jlv001dhcvxsjr09bmbqnysils9m7437";
       };
     };
     "buffer-crc32-0.1.1" = {
@@ -58,67 +94,85 @@ let
         sha1 = "7e110dc9953908ab7c32acdc70c9f945b1cbc526";
       };
     };
-    "fresh-0.1.0" = {
-      name = "fresh";
-      packageName = "fresh";
+    "bytes-0.1.0" = {
+      name = "bytes";
+      packageName = "bytes";
       version = "0.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/fresh/-/fresh-0.1.0.tgz";
-        sha1 = "03e4b0178424e4c2d5d19a54d8814cdc97934850";
+        url = "https://registry.npmjs.org/bytes/-/bytes-0.1.0.tgz";
+        sha1 = "c574812228126d6369d1576925a8579db3f8e5a2";
       };
     };
-    "methods-0.0.1" = {
-      name = "methods";
-      packageName = "methods";
-      version = "0.0.1";
+    "caseless-0.12.0" = {
+      name = "caseless";
+      packageName = "caseless";
+      version = "0.12.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/methods/-/methods-0.0.1.tgz";
-        sha1 = "277c90f8bef39709645a8371c51c3b6c648e068c";
+        url = "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz";
+        sha1 = "1b681c21ff84033c826543090689420d187151dc";
       };
     };
-    "send-0.1.0" = {
-      name = "send";
-      packageName = "send";
-      version = "0.1.0";
+    "co-4.6.0" = {
+      name = "co";
+      packageName = "co";
+      version = "4.6.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/send/-/send-0.1.0.tgz";
-        sha1 = "cfb08ebd3cec9b7fc1a37d9ff9e875a971cf4640";
+        url = "https://registry.npmjs.org/co/-/co-4.6.0.tgz";
+        sha1 = "6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184";
       };
     };
-    "cookie-signature-0.0.1" = {
-      name = "cookie-signature";
-      packageName = "cookie-signature";
-      version = "0.0.1";
+    "combined-stream-1.0.6" = {
+      name = "combined-stream";
+      packageName = "combined-stream";
+      version = "1.0.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/cookie-signature/-/cookie-signature-0.0.1.tgz";
-        sha1 = "13d3603b5cf63befbf85a8801e37aa900db46985";
+        url = "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.6.tgz";
+        sha1 = "723e7df6e801ac5613113a7e445a9b69cb632818";
       };
     };
-    "debug-3.1.0" = {
-      name = "debug";
-      packageName = "debug";
-      version = "3.1.0";
+    "commander-0.6.1" = {
+      name = "commander";
+      packageName = "commander";
+      version = "0.6.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz";
-        sha512 = "3g1hqsahr1ks2kpvdxrwzr57fj90nnr0hvwwrw8yyyzcv3i11sym8zwibxx67bl1mln0acddrzpkkdjjxnc6n2cm9fazmgzzsl1fzrr";
+        url = "https://registry.npmjs.org/commander/-/commander-0.6.1.tgz";
+        sha1 = "fa68a14f6a945d54dbbe50d8cdb3320e9e3b1a06";
       };
     };
-    "qs-0.5.1" = {
-      name = "qs";
-      packageName = "qs";
-      version = "0.5.1";
+    "connect-2.7.1" = {
+      name = "connect";
+      packageName = "connect";
+      version = "2.7.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/qs/-/qs-0.5.1.tgz";
-        sha1 = "9f6bf5d9ac6c76384e95d36d15b48980e5e4add0";
+        url = "https://registry.npmjs.org/connect/-/connect-2.7.1.tgz";
+        sha1 = "b869df9acf3dd8a0af7523c7c6f1aa8b4b761daa";
       };
     };
-    "formidable-1.0.11" = {
-      name = "formidable";
-      packageName = "formidable";
-      version = "1.0.11";
+    "cookie-0.0.5" = {
+      name = "cookie";
+      packageName = "cookie";
+      version = "0.0.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/formidable/-/formidable-1.0.11.tgz";
-        sha1 = "68f63325a035e644b6f7bb3d11243b9761de1b30";
+        url = "https://registry.npmjs.org/cookie/-/cookie-0.0.5.tgz";
+        sha1 = "f9acf9db57eb7568c9fcc596256b7bb22e307c81";
+      };
+    };
+    "cookie-signature-0.0.1" = {
+      name = "cookie-signature";
+      packageName = "cookie-signature";
+      version = "0.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cookie-signature/-/cookie-signature-0.0.1.tgz";
+        sha1 = "13d3603b5cf63befbf85a8801e37aa900db46985";
+      };
+    };
+    "core-util-is-1.0.2" = {
+      name = "core-util-is";
+      packageName = "core-util-is";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz";
+        sha1 = "b5fd54220aa2bc5ab57aab7140c940754503c1a7";
       };
     };
     "crc-0.2.0" = {
@@ -130,49 +184,40 @@ let
         sha1 = "f4486b9bf0a12df83c3fca14e31e030fdabd9454";
       };
     };
-    "bytes-0.1.0" = {
-      name = "bytes";
-      packageName = "bytes";
-      version = "0.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/bytes/-/bytes-0.1.0.tgz";
-        sha1 = "c574812228126d6369d1576925a8579db3f8e5a2";
-      };
-    };
-    "pause-0.0.1" = {
-      name = "pause";
-      packageName = "pause";
-      version = "0.0.1";
+    "cryptiles-3.1.2" = {
+      name = "cryptiles";
+      packageName = "cryptiles";
+      version = "3.1.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/pause/-/pause-0.0.1.tgz";
-        sha1 = "1d408b3fdb76923b9543d96fb4c9dfd535d9cb5d";
+        url = "https://registry.npmjs.org/cryptiles/-/cryptiles-3.1.2.tgz";
+        sha1 = "a89fbb220f5ce25ec56e8c4aa8a4fd7b5b0d29fe";
       };
     };
-    "mime-1.2.6" = {
-      name = "mime";
-      packageName = "mime";
-      version = "1.2.6";
+    "dashdash-1.14.1" = {
+      name = "dashdash";
+      packageName = "dashdash";
+      version = "1.14.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mime/-/mime-1.2.6.tgz";
-        sha1 = "b1f86c768c025fa87b48075f1709f28aeaf20365";
+        url = "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz";
+        sha1 = "853cfa0f7cbe2fed5de20326b8dd581035f6e2f0";
       };
     };
-    "ms-2.0.0" = {
-      name = "ms";
-      packageName = "ms";
-      version = "2.0.0";
+    "debug-3.1.0" = {
+      name = "debug";
+      packageName = "debug";
+      version = "3.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz";
-        sha1 = "5608aeadfc00be6c2901df5f9861788de0d597c8";
+        url = "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz";
+        sha512 = "3g1hqsahr1ks2kpvdxrwzr57fj90nnr0hvwwrw8yyyzcv3i11sym8zwibxx67bl1mln0acddrzpkkdjjxnc6n2cm9fazmgzzsl1fzrr";
       };
     };
-    "underscore-1.8.3" = {
-      name = "underscore";
-      packageName = "underscore";
-      version = "1.8.3";
+    "delayed-stream-1.0.0" = {
+      name = "delayed-stream";
+      packageName = "delayed-stream";
+      version = "1.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/underscore/-/underscore-1.8.3.tgz";
-        sha1 = "4f3fb53b106e6097fcf9cb4109f2a5e9bdfa5022";
+        url = "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz";
+        sha1 = "df3ae199acadfb7d440aaae0b29e2272b24ec619";
       };
     };
     "double-ended-queue-2.1.0-0" = {
@@ -184,103 +229,103 @@ let
         sha1 = "103d3527fd31528f40188130c841efdd78264e5c";
       };
     };
-    "redis-commands-1.3.1" = {
-      name = "redis-commands";
-      packageName = "redis-commands";
-      version = "1.3.1";
+    "ecc-jsbn-0.1.1" = {
+      name = "ecc-jsbn";
+      packageName = "ecc-jsbn";
+      version = "0.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/redis-commands/-/redis-commands-1.3.1.tgz";
-        sha1 = "81d826f45fa9c8b2011f4cd7a0fe597d241d442b";
+        url = "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz";
+        sha1 = "0fc73a9ed5f0d53c38193398523ef7e543777505";
       };
     };
-    "redis-parser-2.6.0" = {
-      name = "redis-parser";
-      packageName = "redis-parser";
-      version = "2.6.0";
+    "extend-3.0.1" = {
+      name = "extend";
+      packageName = "extend";
+      version = "3.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/redis-parser/-/redis-parser-2.6.0.tgz";
-        sha1 = "52ed09dacac108f1a631c07e9b69941e7a19504b";
+        url = "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz";
+        sha1 = "a755ea7bc1adfcc5a31ce7e762dbaadc5e636444";
       };
     };
-    "redis-2.8.0" = {
-      name = "redis";
-      packageName = "redis";
-      version = "2.8.0";
+    "extsprintf-1.3.0" = {
+      name = "extsprintf";
+      packageName = "extsprintf";
+      version = "1.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/redis/-/redis-2.8.0.tgz";
-        sha512 = "3a3044ax6qdvss83xgjfx10h5q91ls0mwgs3wpsnxcdsiipq3cnmqzsh6glyq0r7vsmpw49jp84c2jnfrhi2bgycrkd9hhhf6ia8lrk";
+        url = "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz";
+        sha1 = "96918440e3041a7a414f8c52e3c574eb3c3e1e05";
       };
     };
-    "lodash-4.17.4" = {
-      name = "lodash";
-      packageName = "lodash";
-      version = "4.17.4";
+    "fast-deep-equal-1.1.0" = {
+      name = "fast-deep-equal";
+      packageName = "fast-deep-equal";
+      version = "1.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz";
-        sha1 = "78203a4d1c328ae1d86dca6460e369b57f4055ae";
+        url = "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz";
+        sha1 = "c053477817c86b51daa853c81e059b733d023614";
       };
     };
-    "aws-sign2-0.7.0" = {
-      name = "aws-sign2";
-      packageName = "aws-sign2";
-      version = "0.7.0";
+    "fast-json-stable-stringify-2.0.0" = {
+      name = "fast-json-stable-stringify";
+      packageName = "fast-json-stable-stringify";
+      version = "2.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz";
-        sha1 = "b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8";
+        url = "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz";
+        sha1 = "d5142c0caee6b1189f87d3a76111064f86c8bbf2";
       };
     };
-    "aws4-1.6.0" = {
-      name = "aws4";
-      packageName = "aws4";
-      version = "1.6.0";
+    "forever-agent-0.6.1" = {
+      name = "forever-agent";
+      packageName = "forever-agent";
+      version = "0.6.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/aws4/-/aws4-1.6.0.tgz";
-        sha1 = "83ef5ca860b2b32e4a0deedee8c771b9db57471e";
+        url = "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz";
+        sha1 = "fbc71f0c41adeb37f96c577ad1ed42d8fdacca91";
       };
     };
-    "caseless-0.12.0" = {
-      name = "caseless";
-      packageName = "caseless";
-      version = "0.12.0";
+    "form-data-2.3.2" = {
+      name = "form-data";
+      packageName = "form-data";
+      version = "2.3.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz";
-        sha1 = "1b681c21ff84033c826543090689420d187151dc";
+        url = "https://registry.npmjs.org/form-data/-/form-data-2.3.2.tgz";
+        sha1 = "4970498be604c20c005d4f5c23aecd21d6b49099";
       };
     };
-    "combined-stream-1.0.5" = {
-      name = "combined-stream";
-      packageName = "combined-stream";
-      version = "1.0.5";
+    "formidable-1.0.11" = {
+      name = "formidable";
+      packageName = "formidable";
+      version = "1.0.11";
       src = fetchurl {
-        url = "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz";
-        sha1 = "938370a57b4a51dea2c77c15d5c5fdf895164009";
+        url = "https://registry.npmjs.org/formidable/-/formidable-1.0.11.tgz";
+        sha1 = "68f63325a035e644b6f7bb3d11243b9761de1b30";
       };
     };
-    "extend-3.0.1" = {
-      name = "extend";
-      packageName = "extend";
-      version = "3.0.1";
+    "fresh-0.1.0" = {
+      name = "fresh";
+      packageName = "fresh";
+      version = "0.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz";
-        sha1 = "a755ea7bc1adfcc5a31ce7e762dbaadc5e636444";
+        url = "https://registry.npmjs.org/fresh/-/fresh-0.1.0.tgz";
+        sha1 = "03e4b0178424e4c2d5d19a54d8814cdc97934850";
       };
     };
-    "forever-agent-0.6.1" = {
-      name = "forever-agent";
-      packageName = "forever-agent";
-      version = "0.6.1";
+    "getpass-0.1.7" = {
+      name = "getpass";
+      packageName = "getpass";
+      version = "0.1.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz";
-        sha1 = "fbc71f0c41adeb37f96c577ad1ed42d8fdacca91";
+        url = "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz";
+        sha1 = "5eff8e3e684d569ae4cb2b1282604e8ba62149fa";
       };
     };
-    "form-data-2.3.1" = {
-      name = "form-data";
-      packageName = "form-data";
-      version = "2.3.1";
+    "har-schema-2.0.0" = {
+      name = "har-schema";
+      packageName = "har-schema";
+      version = "2.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/form-data/-/form-data-2.3.1.tgz";
-        sha1 = "6fb94fbd71885306d73d15cc497fe4cc4ecd44bf";
+        url = "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz";
+        sha1 = "a94c2224ebcac04782a0d9035521f24735b7ec92";
       };
     };
     "har-validator-5.0.3" = {
@@ -301,6 +346,15 @@ let
         sha512 = "1nl2hjr2mnhj5jlaz8mh54z7acwz5j5idkch04qgjk78756gw5d0fjk4a2immil5ij9ijdssb9ndpryvnh2xpcbgcjv8lxybn330als";
       };
     };
+    "hoek-4.2.1" = {
+      name = "hoek";
+      packageName = "hoek";
+      version = "4.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/hoek/-/hoek-4.2.1.tgz";
+        sha512 = "1y8kprb3qldxqj31zai5n8dvhydsl9nn5w4rskhnbzzhldn6pm6n5lcyam3sfkb61a62d5m58k8im7z6ngwbd9cw9zp4zm4y7ckrf20";
+      };
+    };
     "http-signature-1.2.0" = {
       name = "http-signature";
       packageName = "http-signature";
@@ -328,6 +382,33 @@ let
         sha1 = "47e63f7af55afa6f92e1500e690eb8b8529c099a";
       };
     };
+    "jsbn-0.1.1" = {
+      name = "jsbn";
+      packageName = "jsbn";
+      version = "0.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz";
+        sha1 = "a5e654c2e5a2deb5f201d96cefbca80c0ef2f513";
+      };
+    };
+    "json-schema-0.2.3" = {
+      name = "json-schema";
+      packageName = "json-schema";
+      version = "0.2.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz";
+        sha1 = "b480c892e59a2f05954ce727bd3f2a4e882f9e13";
+      };
+    };
+    "json-schema-traverse-0.3.1" = {
+      name = "json-schema-traverse";
+      packageName = "json-schema-traverse";
+      version = "0.3.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz";
+        sha1 = "349a6d44c53a51de89b40805c5d5e59b417d3340";
+      };
+    };
     "json-stringify-safe-5.0.1" = {
       name = "json-stringify-safe";
       packageName = "json-stringify-safe";
@@ -337,184 +418,184 @@ let
         sha1 = "1296a2d58fd45f19a0f6ce01d65701e2c735b6eb";
       };
     };
-    "mime-types-2.1.17" = {
-      name = "mime-types";
-      packageName = "mime-types";
-      version = "2.1.17";
+    "jsprim-1.4.1" = {
+      name = "jsprim";
+      packageName = "jsprim";
+      version = "1.4.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mime-types/-/mime-types-2.1.17.tgz";
-        sha1 = "09d7a393f03e995a79f8af857b70a9e0ab16557a";
+        url = "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz";
+        sha1 = "313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2";
       };
     };
-    "oauth-sign-0.8.2" = {
-      name = "oauth-sign";
-      packageName = "oauth-sign";
-      version = "0.8.2";
+    "lodash-4.17.5" = {
+      name = "lodash";
+      packageName = "lodash";
+      version = "4.17.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz";
-        sha1 = "46a6ab7f0aead8deae9ec0565780b7d4efeb9d43";
+        url = "https://registry.npmjs.org/lodash/-/lodash-4.17.5.tgz";
+        sha512 = "11hikgyas884mz8a58vyixaahxbpdwljdw4cb6qp15xa3sfqikp2mm6wgv41jsl34nzsv1hkx9kw3nwczvas5p73whirmaz4sxggwmj";
       };
     };
-    "performance-now-2.1.0" = {
-      name = "performance-now";
-      packageName = "performance-now";
-      version = "2.1.0";
+    "methods-0.0.1" = {
+      name = "methods";
+      packageName = "methods";
+      version = "0.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz";
-        sha1 = "6309f4e0e5fa913ec1c69307ae364b4b377c9e7b";
+        url = "https://registry.npmjs.org/methods/-/methods-0.0.1.tgz";
+        sha1 = "277c90f8bef39709645a8371c51c3b6c648e068c";
       };
     };
-    "qs-6.5.1" = {
-      name = "qs";
-      packageName = "qs";
-      version = "6.5.1";
+    "mime-1.2.6" = {
+      name = "mime";
+      packageName = "mime";
+      version = "1.2.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/qs/-/qs-6.5.1.tgz";
-        sha512 = "3waqapyj1k4g135sgj636rmswiaixq19is1rw0rpv4qp6k7dl0a9nwy06m7yl5lbdk9p6xpwwngnggbzlzaz6rh11c86j2nvnnf273r";
+        url = "https://registry.npmjs.org/mime/-/mime-1.2.6.tgz";
+        sha1 = "b1f86c768c025fa87b48075f1709f28aeaf20365";
       };
     };
-    "safe-buffer-5.1.1" = {
-      name = "safe-buffer";
-      packageName = "safe-buffer";
-      version = "5.1.1";
+    "mime-db-1.33.0" = {
+      name = "mime-db";
+      packageName = "mime-db";
+      version = "1.33.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz";
-        sha512 = "1p28rllll1w65yzq5azi4izx962399xdsdlfbaynn7vmp981hiss05jhiy9hm7sbbfk3b4dhlcv0zy07fc59mnc07hdv6wcgqkcvawh";
+        url = "https://registry.npmjs.org/mime-db/-/mime-db-1.33.0.tgz";
+        sha512 = "36xnw59ik9fqym00cmwb5nyzg0l03k70cp413f7639j93wgmzk1mh0xjc7i6zz3r6k9xnwh0g5cm5a1f3y8c6plgy4qld7fm887ywh4";
       };
     };
-    "stringstream-0.0.5" = {
-      name = "stringstream";
-      packageName = "stringstream";
-      version = "0.0.5";
+    "mime-types-2.1.18" = {
+      name = "mime-types";
+      packageName = "mime-types";
+      version = "2.1.18";
       src = fetchurl {
-        url = "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz";
-        sha1 = "4e484cd4de5a0bbbee18e46307710a8a81621878";
+        url = "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz";
+        sha512 = "22krj1kw7n9z10zdyx7smcaim4bzwqsqzhspwha06q58gcrxfp93hw2cd0vk5crhq5p2dwzqlpacg32lrmp5sjzb798zdzy35mdmkwm";
       };
     };
-    "tough-cookie-2.3.3" = {
-      name = "tough-cookie";
-      packageName = "tough-cookie";
-      version = "2.3.3";
+    "mkdirp-0.3.3" = {
+      name = "mkdirp";
+      packageName = "mkdirp";
+      version = "0.3.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.3.tgz";
-        sha1 = "0b618a5565b6dea90bf3425d04d55edc475a7561";
+        url = "https://registry.npmjs.org/mkdirp/-/mkdirp-0.3.3.tgz";
+        sha1 = "595e251c1370c3a68bab2136d0e348b8105adf13";
       };
     };
-    "tunnel-agent-0.6.0" = {
-      name = "tunnel-agent";
-      packageName = "tunnel-agent";
-      version = "0.6.0";
+    "ms-2.0.0" = {
+      name = "ms";
+      packageName = "ms";
+      version = "2.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz";
-        sha1 = "27a5dea06b36b04a0a9966774b290868f0fc40fd";
+        url = "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz";
+        sha1 = "5608aeadfc00be6c2901df5f9861788de0d597c8";
       };
     };
-    "uuid-3.1.0" = {
-      name = "uuid";
-      packageName = "uuid";
-      version = "3.1.0";
+    "oauth-sign-0.8.2" = {
+      name = "oauth-sign";
+      packageName = "oauth-sign";
+      version = "0.8.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/uuid/-/uuid-3.1.0.tgz";
-        sha512 = "3x5mi85l1559nkb35pfksjjgiyfyqrcvmcf0nly1xjl1kb0d37jnxd6sk0b8d331waadnqbf60nfssb563x9pvnjcw87lrh976sv18c";
+        url = "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz";
+        sha1 = "46a6ab7f0aead8deae9ec0565780b7d4efeb9d43";
       };
     };
-    "delayed-stream-1.0.0" = {
-      name = "delayed-stream";
-      packageName = "delayed-stream";
-      version = "1.0.0";
+    "pause-0.0.1" = {
+      name = "pause";
+      packageName = "pause";
+      version = "0.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz";
-        sha1 = "df3ae199acadfb7d440aaae0b29e2272b24ec619";
+        url = "https://registry.npmjs.org/pause/-/pause-0.0.1.tgz";
+        sha1 = "1d408b3fdb76923b9543d96fb4c9dfd535d9cb5d";
       };
     };
-    "asynckit-0.4.0" = {
-      name = "asynckit";
-      packageName = "asynckit";
-      version = "0.4.0";
+    "performance-now-2.1.0" = {
+      name = "performance-now";
+      packageName = "performance-now";
+      version = "2.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz";
-        sha1 = "c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79";
+        url = "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz";
+        sha1 = "6309f4e0e5fa913ec1c69307ae364b4b377c9e7b";
       };
     };
-    "ajv-5.3.0" = {
-      name = "ajv";
-      packageName = "ajv";
-      version = "5.3.0";
+    "punycode-1.4.1" = {
+      name = "punycode";
+      packageName = "punycode";
+      version = "1.4.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ajv/-/ajv-5.3.0.tgz";
-        sha1 = "4414ff74a50879c208ee5fdc826e32c303549eda";
+        url = "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz";
+        sha1 = "c0d5a63b2718800ad8e1eb0fa5269c84dd41845e";
       };
     };
-    "har-schema-2.0.0" = {
-      name = "har-schema";
-      packageName = "har-schema";
-      version = "2.0.0";
+    "qs-0.5.1" = {
+      name = "qs";
+      packageName = "qs";
+      version = "0.5.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz";
-        sha1 = "a94c2224ebcac04782a0d9035521f24735b7ec92";
+        url = "https://registry.npmjs.org/qs/-/qs-0.5.1.tgz";
+        sha1 = "9f6bf5d9ac6c76384e95d36d15b48980e5e4add0";
       };
     };
-    "co-4.6.0" = {
-      name = "co";
-      packageName = "co";
-      version = "4.6.0";
+    "qs-6.5.1" = {
+      name = "qs";
+      packageName = "qs";
+      version = "6.5.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/co/-/co-4.6.0.tgz";
-        sha1 = "6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184";
+        url = "https://registry.npmjs.org/qs/-/qs-6.5.1.tgz";
+        sha512 = "3waqapyj1k4g135sgj636rmswiaixq19is1rw0rpv4qp6k7dl0a9nwy06m7yl5lbdk9p6xpwwngnggbzlzaz6rh11c86j2nvnnf273r";
       };
     };
-    "fast-deep-equal-1.0.0" = {
-      name = "fast-deep-equal";
-      packageName = "fast-deep-equal";
-      version = "1.0.0";
+    "range-parser-0.0.4" = {
+      name = "range-parser";
+      packageName = "range-parser";
+      version = "0.0.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.0.0.tgz";
-        sha1 = "96256a3bc975595eb36d82e9929d060d893439ff";
+        url = "https://registry.npmjs.org/range-parser/-/range-parser-0.0.4.tgz";
+        sha1 = "c0427ffef51c10acba0782a46c9602e744ff620b";
       };
     };
-    "fast-json-stable-stringify-2.0.0" = {
-      name = "fast-json-stable-stringify";
-      packageName = "fast-json-stable-stringify";
-      version = "2.0.0";
+    "redis-2.8.0" = {
+      name = "redis";
+      packageName = "redis";
+      version = "2.8.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz";
-        sha1 = "d5142c0caee6b1189f87d3a76111064f86c8bbf2";
+        url = "https://registry.npmjs.org/redis/-/redis-2.8.0.tgz";
+        sha512 = "3a3044ax6qdvss83xgjfx10h5q91ls0mwgs3wpsnxcdsiipq3cnmqzsh6glyq0r7vsmpw49jp84c2jnfrhi2bgycrkd9hhhf6ia8lrk";
       };
     };
-    "json-schema-traverse-0.3.1" = {
-      name = "json-schema-traverse";
-      packageName = "json-schema-traverse";
-      version = "0.3.1";
+    "redis-commands-1.3.5" = {
+      name = "redis-commands";
+      packageName = "redis-commands";
+      version = "1.3.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz";
-        sha1 = "349a6d44c53a51de89b40805c5d5e59b417d3340";
+        url = "https://registry.npmjs.org/redis-commands/-/redis-commands-1.3.5.tgz";
+        sha512 = "2q8pai3gf0dczb03jjig3mpaz4j2kvw8icpgf8hp4fryr3d6c0mjkvxxdmlyhainybx4zhgqsw9ghc9p986alzdzd2n2p4cxvr8b0by";
       };
     };
-    "hoek-4.2.0" = {
-      name = "hoek";
-      packageName = "hoek";
-      version = "4.2.0";
+    "redis-parser-2.6.0" = {
+      name = "redis-parser";
+      packageName = "redis-parser";
+      version = "2.6.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/hoek/-/hoek-4.2.0.tgz";
-        sha512 = "2cz0q3nnv67drgaw2rm7q57r9rgdax1qa0n4z46is7db1w8vwmh574xcr0d73xl5lg80vb85xg2gdhxzh9gbllagp7xk2q228pw4idz";
+        url = "https://registry.npmjs.org/redis-parser/-/redis-parser-2.6.0.tgz";
+        sha1 = "52ed09dacac108f1a631c07e9b69941e7a19504b";
       };
     };
-    "boom-4.3.1" = {
-      name = "boom";
-      packageName = "boom";
-      version = "4.3.1";
+    "safe-buffer-5.1.1" = {
+      name = "safe-buffer";
+      packageName = "safe-buffer";
+      version = "5.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/boom/-/boom-4.3.1.tgz";
-        sha1 = "4f8a3005cb4a7e3889f749030fd25b96e01d2e31";
+        url = "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz";
+        sha512 = "1p28rllll1w65yzq5azi4izx962399xdsdlfbaynn7vmp981hiss05jhiy9hm7sbbfk3b4dhlcv0zy07fc59mnc07hdv6wcgqkcvawh";
       };
     };
-    "cryptiles-3.1.2" = {
-      name = "cryptiles";
-      packageName = "cryptiles";
-      version = "3.1.2";
+    "send-0.1.0" = {
+      name = "send";
+      packageName = "send";
+      version = "0.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/cryptiles/-/cryptiles-3.1.2.tgz";
-        sha1 = "a89fbb220f5ce25ec56e8c4aa8a4fd7b5b0d29fe";
+        url = "https://registry.npmjs.org/send/-/send-0.1.0.tgz";
+        sha1 = "cfb08ebd3cec9b7fc1a37d9ff9e875a971cf4640";
       };
     };
     "sntp-2.1.0" = {
@@ -526,112 +607,40 @@ let
         sha512 = "0k2smmr24w5hb1cpql6vcgh58vzp4pmh9anf0bgz3arlsgq1mapnlq9fjqr6xs10aq1cmxaw987fwknqi62frax0fvs9bj3q3kmpg8l";
       };
     };
-    "boom-5.2.0" = {
-      name = "boom";
-      packageName = "boom";
-      version = "5.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/boom/-/boom-5.2.0.tgz";
-        sha512 = "19h20yqpvca08dns1rs4f057f10w63v0snxfml4h5khsk266x3x1im0w72bza4k2xn0kfz6jlv001dhcvxsjr09bmbqnysils9m7437";
-      };
-    };
-    "assert-plus-1.0.0" = {
-      name = "assert-plus";
-      packageName = "assert-plus";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz";
-        sha1 = "f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525";
-      };
-    };
-    "jsprim-1.4.1" = {
-      name = "jsprim";
-      packageName = "jsprim";
-      version = "1.4.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz";
-        sha1 = "313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2";
-      };
-    };
-    "sshpk-1.13.1" = {
+    "sshpk-1.14.1" = {
       name = "sshpk";
       packageName = "sshpk";
-      version = "1.13.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/sshpk/-/sshpk-1.13.1.tgz";
-        sha1 = "512df6da6287144316dc4c18fe1cf1d940739be3";
-      };
-    };
-    "extsprintf-1.3.0" = {
-      name = "extsprintf";
-      packageName = "extsprintf";
-      version = "1.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz";
-        sha1 = "96918440e3041a7a414f8c52e3c574eb3c3e1e05";
-      };
-    };
-    "json-schema-0.2.3" = {
-      name = "json-schema";
-      packageName = "json-schema";
-      version = "0.2.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz";
-        sha1 = "b480c892e59a2f05954ce727bd3f2a4e882f9e13";
-      };
-    };
-    "verror-1.10.0" = {
-      name = "verror";
-      packageName = "verror";
-      version = "1.10.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz";
-        sha1 = "3a105ca17053af55d6e270c1f8288682e18da400";
-      };
-    };
-    "core-util-is-1.0.2" = {
-      name = "core-util-is";
-      packageName = "core-util-is";
-      version = "1.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz";
-        sha1 = "b5fd54220aa2bc5ab57aab7140c940754503c1a7";
-      };
-    };
-    "asn1-0.2.3" = {
-      name = "asn1";
-      packageName = "asn1";
-      version = "0.2.3";
+      version = "1.14.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz";
-        sha1 = "dac8787713c9966849fc8180777ebe9c1ddf3b86";
+        url = "https://registry.npmjs.org/sshpk/-/sshpk-1.14.1.tgz";
+        sha1 = "130f5975eddad963f1d56f92b9ac6c51fa9f83eb";
       };
     };
-    "dashdash-1.14.1" = {
-      name = "dashdash";
-      packageName = "dashdash";
-      version = "1.14.1";
+    "stringstream-0.0.5" = {
+      name = "stringstream";
+      packageName = "stringstream";
+      version = "0.0.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz";
-        sha1 = "853cfa0f7cbe2fed5de20326b8dd581035f6e2f0";
+        url = "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz";
+        sha1 = "4e484cd4de5a0bbbee18e46307710a8a81621878";
       };
     };
-    "getpass-0.1.7" = {
-      name = "getpass";
-      packageName = "getpass";
-      version = "0.1.7";
+    "tough-cookie-2.3.4" = {
+      name = "tough-cookie";
+      packageName = "tough-cookie";
+      version = "2.3.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz";
-        sha1 = "5eff8e3e684d569ae4cb2b1282604e8ba62149fa";
+        url = "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.4.tgz";
+        sha512 = "0ncm6j3cjq1f26mzjf04k9bkw1b08w53s4qa3a11c1bdj4pgnqv1422c1xs5jyy6y1psppjx52fhagq5zkjkgrcpdkxcdiry96r77jd";
       };
     };
-    "jsbn-0.1.1" = {
-      name = "jsbn";
-      packageName = "jsbn";
-      version = "0.1.1";
+    "tunnel-agent-0.6.0" = {
+      name = "tunnel-agent";
+      packageName = "tunnel-agent";
+      version = "0.6.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz";
-        sha1 = "a5e654c2e5a2deb5f201d96cefbca80c0ef2f513";
+        url = "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz";
+        sha1 = "27a5dea06b36b04a0a9966774b290868f0fc40fd";
       };
     };
     "tweetnacl-0.14.5" = {
@@ -643,40 +652,31 @@ let
         sha1 = "5ae68177f192d4456269d108afa93ff8743f4f64";
       };
     };
-    "ecc-jsbn-0.1.1" = {
-      name = "ecc-jsbn";
-      packageName = "ecc-jsbn";
-      version = "0.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz";
-        sha1 = "0fc73a9ed5f0d53c38193398523ef7e543777505";
-      };
-    };
-    "bcrypt-pbkdf-1.0.1" = {
-      name = "bcrypt-pbkdf";
-      packageName = "bcrypt-pbkdf";
-      version = "1.0.1";
+    "underscore-1.8.3" = {
+      name = "underscore";
+      packageName = "underscore";
+      version = "1.8.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz";
-        sha1 = "63bc5dcb61331b92bc05fd528953c33462a06f8d";
+        url = "https://registry.npmjs.org/underscore/-/underscore-1.8.3.tgz";
+        sha1 = "4f3fb53b106e6097fcf9cb4109f2a5e9bdfa5022";
       };
     };
-    "mime-db-1.30.0" = {
-      name = "mime-db";
-      packageName = "mime-db";
-      version = "1.30.0";
+    "uuid-3.2.1" = {
+      name = "uuid";
+      packageName = "uuid";
+      version = "3.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mime-db/-/mime-db-1.30.0.tgz";
-        sha1 = "74c643da2dd9d6a45399963465b26d5ca7d71f01";
+        url = "https://registry.npmjs.org/uuid/-/uuid-3.2.1.tgz";
+        sha512 = "0843vl1c974n8kw5kn0kvhvhwk8y8jydr0xkwwl2963xxmkw4ingk6xj9c8m48jw2i95giglxzq5aw5v5mij9kv7fzln8pxav1cr6cd";
       };
     };
-    "punycode-1.4.1" = {
-      name = "punycode";
-      packageName = "punycode";
-      version = "1.4.1";
+    "verror-1.10.0" = {
+      name = "verror";
+      packageName = "verror";
+      version = "1.10.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz";
-        sha1 = "c0d5a63b2718800ad8e1eb0fa5269c84dd41845e";
+        url = "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz";
+        sha1 = "3a105ca17053af55d6e270c1f8288682e18da400";
       };
     };
   };
@@ -691,30 +691,31 @@ in
       sha1 = "4c6e5850e6b5e8ca2af57f21ed7097de50948b73";
     };
     dependencies = [
-      sources."connect-2.7.1"
+      sources."buffer-crc32-0.1.1"
+      sources."bytes-0.1.0"
       sources."commander-0.6.1"
-      sources."range-parser-0.0.4"
-      sources."mkdirp-0.3.3"
+      sources."connect-2.7.1"
       sources."cookie-0.0.5"
-      sources."buffer-crc32-0.1.1"
-      sources."fresh-0.1.0"
-      sources."methods-0.0.1"
-      sources."send-0.1.0"
       sources."cookie-signature-0.0.1"
+      sources."crc-0.2.0"
       sources."debug-3.1.0"
-      sources."qs-0.5.1"
       sources."formidable-1.0.11"
-      sources."crc-0.2.0"
-      sources."bytes-0.1.0"
-      sources."pause-0.0.1"
+      sources."fresh-0.1.0"
+      sources."methods-0.0.1"
       sources."mime-1.2.6"
+      sources."mkdirp-0.3.3"
       sources."ms-2.0.0"
+      sources."pause-0.0.1"
+      sources."qs-0.5.1"
+      sources."range-parser-0.0.4"
+      sources."send-0.1.0"
     ];
     buildInputs = globalBuildInputs;
     meta = {
       description = "Sinatra inspired web development framework";
     };
     production = true;
+    bypassCache = false;
   };
   "swig-0.14.0" = nodeEnv.buildNodePackage {
     name = "swig";
@@ -732,6 +733,7 @@ in
       description = "A fast django-like templating engine for node.js and browsers.";
     };
     production = true;
+    bypassCache = false;
   };
   "consolidate-0.10.0" = nodeEnv.buildNodePackage {
     name = "consolidate";
@@ -747,6 +749,7 @@ in
       homepage = https://github.com/visionmedia/consolidate.js;
     };
     production = true;
+    bypassCache = false;
   };
   redis = nodeEnv.buildNodePackage {
     name = "redis";
@@ -758,7 +761,7 @@ in
     };
     dependencies = [
       sources."double-ended-queue-2.1.0-0"
-      sources."redis-commands-1.3.1"
+      sources."redis-commands-1.3.5"
       sources."redis-parser-2.6.0"
     ];
     buildInputs = globalBuildInputs;
@@ -768,21 +771,22 @@ in
       license = "MIT";
     };
     production = true;
+    bypassCache = false;
   };
   connect-redis = nodeEnv.buildNodePackage {
     name = "connect-redis";
     packageName = "connect-redis";
-    version = "3.3.2";
+    version = "3.3.3";
     src = fetchurl {
-      url = "https://registry.npmjs.org/connect-redis/-/connect-redis-3.3.2.tgz";
-      sha512 = "3w8bsdsqpz407jwgac2qa2lp08551xlqmsfyps1q7p0c80lx1dwip148rjc5fgm5w845al5c30i6rypggp4h6nhqzdk1jf0vyagbrkc";
+      url = "https://registry.npmjs.org/connect-redis/-/connect-redis-3.3.3.tgz";
+      sha512 = "355x879l7vfnzp6m199ghns4sgl5xpx0j6nr2bqimy3xj29i168bsaxi8gwky6cqy4apvb62sp8n67rssdzq667zngf7mm4dddsr5df";
     };
     dependencies = [
       sources."debug-3.1.0"
-      sources."redis-2.8.0"
-      sources."ms-2.0.0"
       sources."double-ended-queue-2.1.0-0"
-      sources."redis-commands-1.3.1"
+      sources."ms-2.0.0"
+      sources."redis-2.8.0"
+      sources."redis-commands-1.3.5"
       sources."redis-parser-2.6.0"
     ];
     buildInputs = globalBuildInputs;
@@ -792,6 +796,7 @@ in
       license = "MIT";
     };
     production = true;
+    bypassCache = false;
   };
   async = nodeEnv.buildNodePackage {
     name = "async";
@@ -802,7 +807,7 @@ in
       sha512 = "0zp4b5788400npi1ixjry5x3a4m21c8pnknk8v731rgnwnjbp5ijmfcf5ppmn1ap4a04md1s9dr8n9ygdvrmiai590v0k6dby1wc1y4";
     };
     dependencies = [
-      sources."lodash-4.17.4"
+      sources."lodash-4.17.5"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -811,66 +816,71 @@ in
       license = "MIT";
     };
     production = true;
+    bypassCache = false;
   };
   request = nodeEnv.buildNodePackage {
     name = "request";
     packageName = "request";
-    version = "2.83.0";
+    version = "2.85.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/request/-/request-2.83.0.tgz";
-      sha512 = "0by1djkn836sqd9pk2c777wcjvp34qbk1plx7s4lmykljrblpjc64dvn6ni2vyxsbyk33wnl6avym8vgw0ggr4226xakck8mw7y07cm";
+      url = "https://registry.npmjs.org/request/-/request-2.85.0.tgz";
+      sha512 = "2d3hg10zs5ycnr8prmiwdhacf88fl0x0bi6szs0z2r07zcbk419laixwpjp8sqapbc2ifyyih7p3r60wgr58bmcncz3pqnx523c8zph";
     };
     dependencies = [
+      sources."ajv-5.5.2"
+      sources."asn1-0.2.3"
+      sources."assert-plus-1.0.0"
+      sources."asynckit-0.4.0"
       sources."aws-sign2-0.7.0"
       sources."aws4-1.6.0"
+      sources."bcrypt-pbkdf-1.0.1"
+      sources."boom-4.3.1"
       sources."caseless-0.12.0"
-      sources."combined-stream-1.0.5"
+      sources."co-4.6.0"
+      sources."combined-stream-1.0.6"
+      sources."core-util-is-1.0.2"
+      (sources."cryptiles-3.1.2" // {
+        dependencies = [
+          sources."boom-5.2.0"
+        ];
+      })
+      sources."dashdash-1.14.1"
+      sources."delayed-stream-1.0.0"
+      sources."ecc-jsbn-0.1.1"
       sources."extend-3.0.1"
+      sources."extsprintf-1.3.0"
+      sources."fast-deep-equal-1.1.0"
+      sources."fast-json-stable-stringify-2.0.0"
       sources."forever-agent-0.6.1"
-      sources."form-data-2.3.1"
+      sources."form-data-2.3.2"
+      sources."getpass-0.1.7"
+      sources."har-schema-2.0.0"
       sources."har-validator-5.0.3"
       sources."hawk-6.0.2"
+      sources."hoek-4.2.1"
       sources."http-signature-1.2.0"
       sources."is-typedarray-1.0.0"
       sources."isstream-0.1.2"
+      sources."jsbn-0.1.1"
+      sources."json-schema-0.2.3"
+      sources."json-schema-traverse-0.3.1"
       sources."json-stringify-safe-5.0.1"
-      sources."mime-types-2.1.17"
+      sources."jsprim-1.4.1"
+      sources."mime-db-1.33.0"
+      sources."mime-types-2.1.18"
       sources."oauth-sign-0.8.2"
       sources."performance-now-2.1.0"
+      sources."punycode-1.4.1"
       sources."qs-6.5.1"
       sources."safe-buffer-5.1.1"
+      sources."sntp-2.1.0"
+      sources."sshpk-1.14.1"
       sources."stringstream-0.0.5"
-      sources."tough-cookie-2.3.3"
+      sources."tough-cookie-2.3.4"
       sources."tunnel-agent-0.6.0"
-      sources."uuid-3.1.0"
-      sources."delayed-stream-1.0.0"
-      sources."asynckit-0.4.0"
-      sources."ajv-5.3.0"
-      sources."har-schema-2.0.0"
-      sources."co-4.6.0"
-      sources."fast-deep-equal-1.0.0"
-      sources."fast-json-stable-stringify-2.0.0"
-      sources."json-schema-traverse-0.3.1"
-      sources."hoek-4.2.0"
-      sources."boom-5.2.0"
-      sources."cryptiles-3.1.2"
-      sources."sntp-2.1.0"
-      sources."assert-plus-1.0.0"
-      sources."jsprim-1.4.1"
-      sources."sshpk-1.13.1"
-      sources."extsprintf-1.3.0"
-      sources."json-schema-0.2.3"
-      sources."verror-1.10.0"
-      sources."core-util-is-1.0.2"
-      sources."asn1-0.2.3"
-      sources."dashdash-1.14.1"
-      sources."getpass-0.1.7"
-      sources."jsbn-0.1.1"
       sources."tweetnacl-0.14.5"
-      sources."ecc-jsbn-0.1.1"
-      sources."bcrypt-pbkdf-1.0.1"
-      sources."mime-db-1.30.0"
-      sources."punycode-1.4.1"
+      sources."uuid-3.2.1"
+      sources."verror-1.10.0"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -879,5 +889,6 @@ in
       license = "Apache-2.0";
     };
     production = true;
+    bypassCache = false;
   };
 }
\ No newline at end of file
diff --git a/pkgs/tools/networking/airfield/node.nix b/pkgs/tools/networking/airfield/node.nix
index 7460cf4ca6c..75bc6ec109c 100644
--- a/pkgs/tools/networking/airfield/node.nix
+++ b/pkgs/tools/networking/airfield/node.nix
@@ -1,4 +1,4 @@
-# This file has been generated by node2nix 1.4.0. Do not edit!
+# This file has been generated by node2nix 1.5.3. Do not edit!
 
 {pkgs ? import <nixpkgs> {
     inherit system;
@@ -8,6 +8,7 @@ let
   nodeEnv = import ../../../development/node-packages/node-env.nix {
     inherit (pkgs) stdenv python2 utillinux runCommand writeTextFile;
     inherit nodejs;
+    libtool = if pkgs.stdenv.isDarwin then pkgs.darwin.cctools else null;
   };
 in
 import ./node-packages.nix {
diff --git a/pkgs/tools/networking/altermime/default.nix b/pkgs/tools/networking/altermime/default.nix
index f05669a4e50..f1e85487d8f 100644
--- a/pkgs/tools/networking/altermime/default.nix
+++ b/pkgs/tools/networking/altermime/default.nix
@@ -10,7 +10,11 @@ stdenv.mkDerivation rec {
     sha256 = "15zxg6spcmd35r6xbidq2fgcg2nzyv1sbbqds08lzll70mqx4pj7";
   };
 
-  NIX_CFLAGS_COMPILE = "-Wno-error=format";
+  NIX_CFLAGS_COMPILE = [ "-Wno-error=format"
+    "-Wno-error=format-truncation"
+    "-Wno-error=pointer-compare"
+    "-Wno-error=memset-elt-size"
+  ];
 
   postPatch = ''
     sed -i Makefile -e "s@/usr/local@$out@"
diff --git a/pkgs/tools/networking/atftp/default.nix b/pkgs/tools/networking/atftp/default.nix
index 23355d61bea..068e6887546 100644
--- a/pkgs/tools/networking/atftp/default.nix
+++ b/pkgs/tools/networking/atftp/default.nix
@@ -14,6 +14,8 @@ stdenv.mkDerivation rec {
   # Expects pre-GCC5 inline semantics
   NIX_CFLAGS_COMPILE = "-std=gnu89";
 
+  doCheck = false; # fails
+
   meta = {
     description = "Advanced tftp tools";
     maintainers = [ lib.maintainers.raskin ];
diff --git a/pkgs/tools/networking/autossh/default.nix b/pkgs/tools/networking/autossh/default.nix
index 9ff0376c8bc..452837ef2e4 100644
--- a/pkgs/tools/networking/autossh/default.nix
+++ b/pkgs/tools/networking/autossh/default.nix
@@ -1,11 +1,11 @@
 {stdenv, fetchurl, openssh}:
 
 stdenv.mkDerivation rec {
-  name = "autossh-1.4e";
+  name = "autossh-1.4f";
   
   src = fetchurl {
     url = "http://www.harding.motd.ca/autossh/${name}.tgz";
-    sha256 = "0mlicw28vq2jxa0jf0dys5ja75v0fxpjavlq9dpif6bnknji13ly";
+    sha256 = "1wpqwa2872nqgqbhnb6nnkrlzpdawd5k69gh1qp68354pvhyawh1";
   };
   
   buildInputs = [ openssh ];
diff --git a/pkgs/tools/networking/axel/default.nix b/pkgs/tools/networking/axel/default.nix
index c9d689b8b2c..2155d3c1b3d 100644
--- a/pkgs/tools/networking/axel/default.nix
+++ b/pkgs/tools/networking/axel/default.nix
@@ -19,6 +19,6 @@ stdenv.mkDerivation rec {
     description = "Console downloading program with some features for parallel connections for faster downloading";
     homepage = http://axel.alioth.debian.org/;
     maintainers = with maintainers; [ pSub ];
-    platforms = with platforms; linux ++ darwin;
+    platforms = with platforms; linux;
   };
 }
diff --git a/pkgs/tools/networking/babeld/default.nix b/pkgs/tools/networking/babeld/default.nix
index 69d36d36320..801863fb95a 100644
--- a/pkgs/tools/networking/babeld/default.nix
+++ b/pkgs/tools/networking/babeld/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "babeld-1.8.0";
+  name = "babeld-1.8.1";
 
   src = fetchurl {
     url = "http://www.pps.univ-paris-diderot.fr/~jch/software/files/${name}.tar.gz";
-    sha256 = "0v2jkav2sb0rpx3fmi5chhii08lc92pxf306nyha2amq9wib3a0i";
+    sha256 = "1gq6q1zly40ngs9wl3qa3yjvyb6zbqck82fp3n6w2bi9ymrrq94w";
   };
 
   preBuild = ''
diff --git a/pkgs/tools/networking/ccnet/default.nix b/pkgs/tools/networking/ccnet/default.nix
index 036819ea76e..6fac4a282d0 100644
--- a/pkgs/tools/networking/ccnet/default.nix
+++ b/pkgs/tools/networking/ccnet/default.nix
@@ -1,13 +1,13 @@
 {stdenv, fetchurl, which, autoreconfHook, pkgconfig, vala, python, libsearpc, libzdb, libuuid, libevent, sqlite, openssl}:
 
 stdenv.mkDerivation rec {
-  version = "6.1.0";
-  seafileVersion = "6.1.0";
+  version = "6.1.8";
+  seafileVersion = "6.1.8";
   name = "ccnet-${version}";
 
   src = fetchurl {
     url = "https://github.com/haiwen/ccnet/archive/v${version}.tar.gz";
-    sha256 = "0q4a102xlcsxlr53h4jr4w8qzkbzvm2f3nk9fsha48h6l2hw34bb";
+    sha256 = "0qlpnrz30ldrqnvbj59d54qdghxpxc5lsq6kf3dw2b93jnzkcmmm";
   };
 
   nativeBuildInputs = [ pkgconfig which autoreconfHook vala python ];
@@ -20,6 +20,6 @@ stdenv.mkDerivation rec {
     description = "A framework for writing networked applications in C";
     license = licenses.gpl3Plus;
     platforms = platforms.linux;
-    maintainers = [ maintainers.calrama ];
+    maintainers = [ ];
   };
 }
diff --git a/pkgs/tools/networking/chrony/default.nix b/pkgs/tools/networking/chrony/default.nix
index 5ddb663a4ae..1299c5eea5f 100644
--- a/pkgs/tools/networking/chrony/default.nix
+++ b/pkgs/tools/networking/chrony/default.nix
@@ -6,11 +6,11 @@ assert stdenv.isLinux -> libcap != null;
 stdenv.mkDerivation rec {
   name = "chrony-${version}";
 
-  version = "3.2";
+  version = "3.3";
 
   src = fetchurl {
     url = "http://download.tuxfamily.org/chrony/${name}.tar.gz";
-    sha256 = "05j17i1zlg19v8jkzlp710kbdgnb4541zgkqxqzcwglcvlc6g7rj";
+    sha256 = "0a1ilzr88xhzx1ql3xhn36a4rvl79hvp0dvgm3az4cjhhzav47qd";
   };
 
   buildInputs = [ readline texinfo nss nspr ]
diff --git a/pkgs/tools/networking/cjdns/default.nix b/pkgs/tools/networking/cjdns/default.nix
index 817da08c05e..60fd42962fb 100644
--- a/pkgs/tools/networking/cjdns/default.nix
+++ b/pkgs/tools/networking/cjdns/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchFromGitHub, nodejs, which, python27, utillinux }:
 
-let version = "20.1"; in
+let version = "20.2"; in
 stdenv.mkDerivation {
   name = "cjdns-"+version;
 
@@ -8,7 +8,7 @@ stdenv.mkDerivation {
     owner = "cjdelisle";
     repo = "cjdns";
     rev = "cjdns-v${version}";
-    sha256 = "033q8av46y0q8vxyqvb4yjh1lz6a17mmk8lhdpwdcqnsws8xjjsw";
+    sha256 = "13zhcfwx8c3vdcf6ifivrgf8q7mgx00vnxcspdz88zk7dh65c6jn";
   };
 
   buildInputs = [ which python27 nodejs ] ++
diff --git a/pkgs/tools/networking/cmst/default.nix b/pkgs/tools/networking/cmst/default.nix
index e0912007d95..1d9e2e1677f 100644
--- a/pkgs/tools/networking/cmst/default.nix
+++ b/pkgs/tools/networking/cmst/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "cmst-${version}";
-  version = "2017.09.19";
+  version = "2018.01.06";
 
   src = fetchFromGitHub {
     repo = "cmst";
     owner = "andrew-bibb";
     rev = name;
-    sha256 = "14inss0mr9i4q6vfqqfxbjgpjaclp1kh60qlm5xv4cwnvi395rc7";
+    sha256 = "1a3v7z75ghziymdj2w8603ql9nfac5q224ylfsqfxcqxw4bdip4r";
   };
 
   nativeBuildInputs = [ qmake ];
diff --git a/pkgs/tools/networking/connect/default.nix b/pkgs/tools/networking/connect/default.nix
index 387987c588a..f7a0c00fb48 100644
--- a/pkgs/tools/networking/connect/default.nix
+++ b/pkgs/tools/networking/connect/default.nix
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
       '';
     homepage = https://bitbucket.org/gotoh/connect/wiki/Home;
     license = stdenv.lib.licenses.gpl2Plus;
-    platforms = stdenv.lib.platforms.gnu;
+    platforms = stdenv.lib.platforms.gnu ++ stdenv.lib.platforms.linux;
     maintainers = with stdenv.lib.maintainers; [ jcumming ];
   };
 }
diff --git a/pkgs/tools/networking/connman-gtk/default.nix b/pkgs/tools/networking/connman/connman-gtk/default.nix
index d5688354a76..d5688354a76 100644
--- a/pkgs/tools/networking/connman-gtk/default.nix
+++ b/pkgs/tools/networking/connman/connman-gtk/default.nix
diff --git a/pkgs/tools/networking/connman-ncurses/default.nix b/pkgs/tools/networking/connman/connman-ncurses/default.nix
index 8c4d4fa8486..8c4d4fa8486 100644
--- a/pkgs/tools/networking/connman-ncurses/default.nix
+++ b/pkgs/tools/networking/connman/connman-ncurses/default.nix
diff --git a/pkgs/tools/networking/connman-notify/default.nix b/pkgs/tools/networking/connman/connman-notify/default.nix
index 42b0c37411c..42b0c37411c 100644
--- a/pkgs/tools/networking/connman-notify/default.nix
+++ b/pkgs/tools/networking/connman/connman-notify/default.nix
diff --git a/pkgs/tools/networking/connman_dmenu/default.nix b/pkgs/tools/networking/connman/connman_dmenu/default.nix
index c39c82df634..c39c82df634 100644
--- a/pkgs/tools/networking/connman_dmenu/default.nix
+++ b/pkgs/tools/networking/connman/connman_dmenu/default.nix
diff --git a/pkgs/tools/networking/connmanui/default.nix b/pkgs/tools/networking/connman/connmanui/default.nix
index 7c42cc965a0..7c42cc965a0 100644
--- a/pkgs/tools/networking/connmanui/default.nix
+++ b/pkgs/tools/networking/connman/connmanui/default.nix
diff --git a/pkgs/tools/networking/curl/default.nix b/pkgs/tools/networking/curl/default.nix
index dbe2a663935..5980392267b 100644
--- a/pkgs/tools/networking/curl/default.nix
+++ b/pkgs/tools/networking/curl/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, perl
+{ stdenv, lib, fetchurl, pkgconfig, perl
 , http2Support ? true, nghttp2
 , idnSupport ? false, libidn ? null
 , ldapSupport ? false, openldap ? null
@@ -24,11 +24,14 @@ assert brotliSupport -> brotli != null;
 assert gssSupport -> kerberos != null;
 
 stdenv.mkDerivation rec {
-  name = "curl-7.58.0";
+  name = "curl-7.59.0";
 
   src = fetchurl {
-    url = "https://curl.haxx.se/download/${name}.tar.bz2";
-    sha256 = "0cg7klhf1ksnbw5wvwa802qir877zv4y3dj7swz1xh07g3wq3c0w";
+    urls = [
+      "https://github.com/curl/curl/releases/download/${lib.replaceStrings ["."] ["_"] name}/${name}.tar.bz2"
+      "https://curl.haxx.se/download/${name}.tar.bz2"
+    ];
+    sha256 = "185mazhi4bc5mc6rvhrmnc67j8l3sg7f0w2hp5gmi5ccdbyhz4mm";
   };
 
   outputs = [ "bin" "dev" "out" "man" "devdoc" ];
@@ -73,8 +76,10 @@ stdenv.mkDerivation rec {
     ++ stdenv.lib.optional c-aresSupport "--enable-ares=${c-ares}"
     ++ stdenv.lib.optional gssSupport "--with-gssapi=${kerberos.dev}";
 
-  CXX = "c++";
-  CXXCPP = "c++ -E";
+  CXX = "${stdenv.cc.targetPrefix}c++";
+  CXXCPP = "${stdenv.cc.targetPrefix}c++ -E";
+
+  doCheck = false; # expensive, fails
 
   postInstall = ''
     moveToOutput bin/curl-config "$dev"
diff --git a/pkgs/tools/networking/ddclient/default.nix b/pkgs/tools/networking/ddclient/default.nix
index 6d3ca27df1d..93828c10d13 100644
--- a/pkgs/tools/networking/ddclient/default.nix
+++ b/pkgs/tools/networking/ddclient/default.nix
@@ -9,6 +9,7 @@ buildPerlPackage rec {
     sha256 = "1j8zdn7fy7i0bjk3jf0hxnbnshc2yf054vxq64imxdpfd7n5zgfy";
   };
 
+  # perl packages by default get devdoc which isn't present
   outputs = [ "out" ];
 
   buildInputs = with perlPackages; [ IOSocketSSL DigestSHA1 ];
@@ -25,7 +26,12 @@ buildPerlPackage rec {
   '';
 
   installPhase = ''
+    runHook preInstall
+
     install -Dm755 ddclient $out/bin/ddclient
+    install -Dm644 -t $out/share/doc/ddclient COP* ChangeLog README.* RELEASENOTE
+
+    runHook postInstall
   '';
 
   # there are no tests distributed with ddclient
diff --git a/pkgs/tools/networking/dhcp/default.nix b/pkgs/tools/networking/dhcp/default.nix
index 1812e95dcbb..1ebf57997d0 100644
--- a/pkgs/tools/networking/dhcp/default.nix
+++ b/pkgs/tools/networking/dhcp/default.nix
@@ -4,19 +4,15 @@
 
 stdenv.mkDerivation rec {
   name = "dhcp-${version}";
-  version = "4.3.4";
+  version = "4.4.1";
 
   src = fetchurl {
     url = "http://ftp.isc.org/isc/dhcp/${version}/${name}.tar.gz";
-    sha256 = "0zk0imll6bfyp9p4ndn8h6s4ifijnw5bhixswifr5rnk7pp5l4gm";
+    sha256 = "025nfqx4zwdgv4b3rkw26ihcj312vir08jk6yi57ndmb4a4m08ia";
   };
 
   patches =
-    [ # Don't bring down interfaces, because wpa_supplicant doesn't
-      # recover when the wlan interface goes down.  Instead just flush
-      # all addresses, routes and neighbours of the interface.
-      ./flush-if.patch
-
+    [
       # Make sure that the hostname gets set on reboot.  Without this
       # patch, the hostname doesn't get set properly if the old
       # hostname (i.e. before reboot) is equal to the new hostname.
diff --git a/pkgs/tools/networking/dhcp/flush-if.patch b/pkgs/tools/networking/dhcp/flush-if.patch
deleted file mode 100644
index ff72248b0ab..00000000000
--- a/pkgs/tools/networking/dhcp/flush-if.patch
+++ /dev/null
@@ -1,76 +0,0 @@
-diff --exclude '*~' -rc dhcp-4.1.0p1-orig/client/scripts/linux dhcp-4.1.0p1/client/scripts/linux
-*** dhcp-4.1.0p1-orig/client/scripts/linux	2008-05-23 15:56:07.000000000 +0200
---- dhcp-4.1.0p1/client/scripts/linux	2009-09-29 17:56:57.000000000 +0200
-***************
-*** 67,72 ****
---- 67,80 ----
-    exit $exit_status
-  }
-  
-+ # Delete the old addresses, routes and ARP information for this
-+ # interface.
-+ flush_if() {
-+   ${ip} -4 address flush dev $interface
-+   ${ip} -4 route flush dev $interface
-+   ${ip} -4 neighbour flush dev $interface
-+ }
-+ 
-  # Invoke the local dhcp client enter hooks, if they exist.
-  if [ -f /etc/dhclient-enter-hooks ]; then
-    exit_status=0
-***************
-*** 150,159 ****
-      ifconfig $interface:0- inet 0
-    fi
-    if [ x$old_ip_address != x ] && [ x$old_ip_address != x$new_ip_address ]; then
-!     # IP address changed. Bringing down the interface will delete all routes,
-!     # and clear the ARP cache.
-!     ifconfig $interface inet 0 down
-! 
-    fi
-    if [ x$old_ip_address = x ] || [ x$old_ip_address != x$new_ip_address ] || \
-       [ x$reason = xBOUND ] || [ x$reason = xREBOOT ]; then
---- 158,165 ----
-      ifconfig $interface:0- inet 0
-    fi
-    if [ x$old_ip_address != x ] && [ x$old_ip_address != x$new_ip_address ]; then
-!     # IP address changed.
-!     flush_if
-    fi
-    if [ x$old_ip_address = x ] || [ x$old_ip_address != x$new_ip_address ] || \
-       [ x$reason = xBOUND ] || [ x$reason = xREBOOT ]; then
-***************
-*** 189,196 ****
-      ifconfig $interface:0- inet 0
-    fi
-    if [ x$old_ip_address != x ]; then
-!     # Shut down interface, which will delete routes and clear arp cache.
-!     ifconfig $interface inet 0 down
-    fi
-    if [ x$alias_ip_address != x ]; then
-      ifconfig $interface:0 inet $alias_ip_address $alias_subnet_arg
---- 195,201 ----
-      ifconfig $interface:0- inet 0
-    fi
-    if [ x$old_ip_address != x ]; then
-!     flush_if
-    fi
-    if [ x$alias_ip_address != x ]; then
-      ifconfig $interface:0 inet $alias_ip_address $alias_subnet_arg
-***************
-*** 225,231 ****
-      make_resolv_conf
-      exit_with_hooks 0
-    fi
-!   ifconfig $interface inet 0 down
-    exit_with_hooks 1
-  fi
-  
---- 230,236 ----
-      make_resolv_conf
-      exit_with_hooks 0
-    fi
-!   flush_if
-    exit_with_hooks 1
-  fi
-  
diff --git a/pkgs/tools/networking/dhcp/set-hostname.patch b/pkgs/tools/networking/dhcp/set-hostname.patch
index 495a8a124be..7aa9d081451 100644
--- a/pkgs/tools/networking/dhcp/set-hostname.patch
+++ b/pkgs/tools/networking/dhcp/set-hostname.patch
@@ -1,14 +1,12 @@
-diff -ru -x '*~' dhcp-4.1.2-P1-orig//client/scripts/linux dhcp-4.1.2-P1//client/scripts/linux
---- dhcp-4.1.2-P1-orig//client/scripts/linux	2010-09-15 00:49:48.000000000 +0200
-+++ dhcp-4.1.2-P1//client/scripts/linux	2011-04-01 16:08:10.984372269 +0200
+--- a/client/scripts/linux	2010-09-15 00:49:48.000000000 +0200
++++ b/client/scripts/linux	2011-04-01 16:08:10.984372269 +0200
 @@ -133,9 +133,7 @@
-      [ x$current_hostname = "x(none)" ] || \
-      [ x$current_hostname = xlocalhost ] || \
-      [ x$current_hostname = x$old_host_name ]; then
--    if [ x$new_host_name != x$old_host_name ]; then
--      hostname "$new_host_name"
--    fi
-+    hostname "$new_host_name"
-   fi
-     
-   if [ x$old_ip_address != x ] && [ x$alias_ip_address != x ] && \
+            [ "$current_hostname" = '(none)' ] ||
+            [ "$current_hostname" = 'localhost' ] ||
+            [ "$current_hostname" = "$old_host_name" ]; then
+-           if [ "$new_host_name" != "$old_host_name" ]; then
+-               hostname "$new_host_name"
+-           fi
++           hostname "$new_host_name"
+         fi
+     fi
diff --git a/pkgs/tools/networking/dhcpcd/default.nix b/pkgs/tools/networking/dhcpcd/default.nix
index 95e3193fd0f..93529fe4ce5 100644
--- a/pkgs/tools/networking/dhcpcd/default.nix
+++ b/pkgs/tools/networking/dhcpcd/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, udev }:
+{ stdenv, fetchurl, pkgconfig, udev, runtimeShellPackage }:
 
 stdenv.mkDerivation rec {
   # when updating this to >=7, check, see previous reverts:
@@ -13,6 +13,8 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ udev ];
 
+  preConfigure = "patchShebangs ./configure";
+
   configureFlags = [
     "--sysconfdir=/etc"
     "--localstatedir=/var"
@@ -27,6 +29,11 @@ stdenv.mkDerivation rec {
   # Check that the udev plugin got built.
   postInstall = stdenv.lib.optional (udev != null) "[ -e $out/lib/dhcpcd/dev/udev.so ]";
 
+  # TODO shlevy remove once patchShebangs is fixed
+  postFixup = ''
+    find $out -type f -print0 | xargs --null sed -i 's|${stdenv.shellPackage}|${runtimeShellPackage}|'
+  '';
+
   meta = {
     description = "A client for the Dynamic Host Configuration Protocol (DHCP)";
     homepage = https://roy.marples.name/projects/dhcpcd;
diff --git a/pkgs/tools/networking/dnscrypt-wrapper/default.nix b/pkgs/tools/networking/dnscrypt-wrapper/default.nix
index cb12300d51e..4351fd84dcd 100644
--- a/pkgs/tools/networking/dnscrypt-wrapper/default.nix
+++ b/pkgs/tools/networking/dnscrypt-wrapper/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "dnscrypt-wrapper-${version}";
-  version = "0.4.0";
+  version = "0.4.1";
 
   src = fetchFromGitHub {
     owner = "Cofyc";
     repo = "dnscrypt-wrapper";
     rev = "v${version}";
-    sha256 = "121y93sb06qc50fj7vv47r6dpzv77hh7ywl7sgrfp8i4jf4kaspa";
+    sha256 = "187sq99zxdfv3xhq939rybb0pps3l6wgyyvbj3zns5jr6mms64vd";
   };
 
   enableParallelBuilding = true;
diff --git a/pkgs/tools/networking/easyrsa/2.x.nix b/pkgs/tools/networking/easyrsa/2.x.nix
index b33034515fb..3c6c5f3d299 100644
--- a/pkgs/tools/networking/easyrsa/2.x.nix
+++ b/pkgs/tools/networking/easyrsa/2.x.nix
@@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Simple shell based CA utility";
-    homepage = http://openvpn.net/;
+    homepage = https://openvpn.net/;
     license = licenses.gpl2;
     maintainers = [ maintainers.offline ];
     platforms = platforms.linux;
diff --git a/pkgs/tools/networking/easyrsa/default.nix b/pkgs/tools/networking/easyrsa/default.nix
index 59d97a4a18b..fcc6c1d86bd 100644
--- a/pkgs/tools/networking/easyrsa/default.nix
+++ b/pkgs/tools/networking/easyrsa/default.nix
@@ -32,7 +32,7 @@ in stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Simple shell based CA utility";
-    homepage = http://openvpn.net/;
+    homepage = https://openvpn.net/;
     license = licenses.gpl2;
     maintainers = [ maintainers.offline ];
     platforms = platforms.linux;
diff --git a/pkgs/tools/networking/filegive/default.nix b/pkgs/tools/networking/filegive/default.nix
index 3dfd136ad06..6fef6a9e7fa 100644
--- a/pkgs/tools/networking/filegive/default.nix
+++ b/pkgs/tools/networking/filegive/default.nix
@@ -1,7 +1,5 @@
 { stdenv, fetchurl, fetchgit, go }:
 
-assert stdenv.isLinux && (stdenv.isi686 || stdenv.isx86_64 || stdenv.isAarch32);
-
 let
 
   # Code with BSD license
diff --git a/pkgs/tools/networking/fping/default.nix b/pkgs/tools/networking/fping/default.nix
index 8cdda4e35e3..b76b32ec4c8 100644
--- a/pkgs/tools/networking/fping/default.nix
+++ b/pkgs/tools/networking/fping/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "fping-3.16";
+  name = "fping-4.0";
 
   src = fetchurl {
     url = "http://www.fping.org/dist/${name}.tar.gz";
-    sha256 = "2f753094e4df3cdb1d99be1687c0fb7d2f14c0d526ebf03158c8c5519bc78f54";
+    sha256 = "1kp81wchi79l8z8rrj602fpjrd8bi84y3i7fsaclzlwap5943sv7";
   };
 
   configureFlags = [ "--enable-ipv6" "--enable-ipv4" ];
diff --git a/pkgs/tools/networking/getmail/default.nix b/pkgs/tools/networking/getmail/default.nix
index 4a358255b10..224c7a4ab48 100644
--- a/pkgs/tools/networking/getmail/default.nix
+++ b/pkgs/tools/networking/getmail/default.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchurl, python2Packages }:
 
 python2Packages.buildPythonApplication rec {
-  version = "5.5";
+  version = "5.6";
   name = "getmail-${version}";
   namePrefix = "";
 
   src = fetchurl {
     url = "http://pyropus.ca/software/getmail/old-versions/${name}.tar.gz";
-    sha256 = "0l43lbnrnyyrq8mlnw37saq6v0mh3nkirdq1dwnsrihykzjjwf70";
+    sha256 = "16nmvj80szr6yvcxxgmxn2lxqpjqqj4xg5a0b66zhvck6j42q3a6";
   };
 
   doCheck = false;
diff --git a/pkgs/tools/networking/gmrender-resurrect/default.nix b/pkgs/tools/networking/gmrender-resurrect/default.nix
new file mode 100644
index 00000000000..6926f1522c7
--- /dev/null
+++ b/pkgs/tools/networking/gmrender-resurrect/default.nix
@@ -0,0 +1,36 @@
+{ stdenv, fetchFromGitHub, autoconf, automake, pkgconfig, makeWrapper
+, gstreamer, gst-plugins-base, gst-plugins-good, gst-plugins-bad, gst-plugins-ugly, gst-libav, libupnp }:
+
+let version = "4f221e6b85abf85957b547436e982d7a501a1718"; in
+
+stdenv.mkDerivation {
+  name = "gmrender-resurrect-${version}";
+
+  src = fetchFromGitHub {
+    owner = "hzeller";
+    repo = "gmrender-resurrect";
+    rev = "${version}";
+    sha256 = "1dmdhyz27bh74qmvncfd3kw7zqwnd05bhxcfjjav98z5qrxdygj4";
+  };
+
+  preConfigurePhases = "autoconfPhase";
+
+  autoconfPhase = "./autogen.sh";
+
+  buildInputs = [ gstreamer gst-plugins-base gst-plugins-good gst-plugins-bad gst-plugins-ugly gst-libav libupnp ];
+  nativeBuildInputs = [ autoconf automake pkgconfig makeWrapper ];
+
+  postInstall = ''
+    for prog in "$out/bin/"*; do
+        wrapProgram "$prog" --suffix GST_PLUGIN_SYSTEM_PATH : "${gst-plugins-base}/lib/gstreamer-1.0:${gst-plugins-good}/lib/gstreamer-1.0:${gst-plugins-bad}/lib/gstreamer-1.0:${gst-plugins-ugly}/lib/gstreamer-1.0:${gst-libav}/lib/gstreamer-1.0"
+    done
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Resource efficient UPnP/DLNA renderer, optimal for Raspberry Pi, CuBox or a general MediaServer";
+    homepage = https://github.com/hzeller/gmrender-resurrect;
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.koral ];
+  };
+}
diff --git a/pkgs/tools/networking/gupnp-tools/default.nix b/pkgs/tools/networking/gupnp-tools/default.nix
index e008c9183c9..4d1796eb2ac 100644
--- a/pkgs/tools/networking/gupnp-tools/default.nix
+++ b/pkgs/tools/networking/gupnp-tools/default.nix
@@ -1,26 +1,30 @@
-{fetchurl, stdenv, gupnp, gssdp, pkgconfig, gtk3, libuuid, intltool, gupnp-av, gnome3, gnome2, makeWrapper}:
+{fetchurl, stdenv, gupnp, gssdp, pkgconfig, gtk3, libuuid, intltool, gupnp-av, gnome3, wrapGAppsHook}:
+
+let
+  pname = "gupnp-tools";
+  version = "0.8.14";
+in stdenv.mkDerivation rec {
+  name = "${pname}-${version}";
 
-stdenv.mkDerivation rec {
-  name = "gupnp-tools-${version}";
-  majorVersion = "0.8";
-  version = "${majorVersion}.13";
   src = fetchurl {
-    url = "mirror://gnome/sources/gupnp-tools/${majorVersion}/gupnp-tools-${version}.tar.xz";
-    sha256 = "1vbr4iqi7nl7kq982agd3liw10gx67s95idd0pjy5h1jsnwyqgda";
+    url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
+    sha256 = "1ykybsljjnngj8rsn808a0h37r2jx99c2jbmsb3ihf7l7hmraav8";
   };
 
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [gupnp libuuid gssdp gtk3 intltool gupnp-av
-                 gnome2.gnome_icon_theme makeWrapper];
+  nativeBuildInputs = [ pkgconfig intltool wrapGAppsHook ];
+  buildInputs = [ gupnp libuuid gssdp gtk3 gupnp-av gnome3.defaultIconTheme ];
 
-  postInstall = ''
-    for program in gupnp-av-cp gupnp-universal-cp; do
-      wrapProgram "$out/bin/$program" \
-        --prefix XDG_DATA_DIRS : "${gtk3.out}/share:${gnome3.gnome-themes-standard}/share:${gnome2.gnome_icon_theme}/share:$out/share"
-    done
-  '';
+  passthru = {
+    updateScript = gnome3.updateScript {
+      packageName = pname;
+    };
+  };
 
-  meta = {
-    platforms = stdenv.lib.platforms.linux;
+  meta = with stdenv.lib; {
+    description = "Set of utilities and demos to work with UPnP";
+    homepage = https://wiki.gnome.org/Projects/GUPnP;
+    license = licenses.gpl2Plus;
+    maintainers = gnome3.maintainers;
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/tools/networking/htpdate/default.nix b/pkgs/tools/networking/htpdate/default.nix
index f0bb4ab46fa..c8e14ad7f69 100644
--- a/pkgs/tools/networking/htpdate/default.nix
+++ b/pkgs/tools/networking/htpdate/default.nix
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
   meta = with stdenv.lib; {
     description = "Utility to fetch time and set the system clock over HTTP";
     homepage = http://www.vervest.org/htp/;
-    platforms = platforms.unix;
+    platforms = platforms.linux;
     license = licenses.gpl2Plus;
   };
 }
diff --git a/pkgs/tools/networking/http-prompt/default.nix b/pkgs/tools/networking/http-prompt/default.nix
index b1f83c8b216..37f4f96a317 100644
--- a/pkgs/tools/networking/http-prompt/default.nix
+++ b/pkgs/tools/networking/http-prompt/default.nix
@@ -28,7 +28,7 @@ pythonPackages.buildPythonApplication rec {
     description = "An interactive command-line HTTP client featuring autocomplete and syntax highlighting";
     homepage = https://github.com/eliangcs/http-prompt;
     license = licenses.mit;
-    maintainers = with maintainers; [ matthiasbeyer ];
+    maintainers = with maintainers; [ ];
     platforms = platforms.linux; # can only test on linux
   };
 }
diff --git a/pkgs/tools/networking/i2p/default.nix b/pkgs/tools/networking/i2p/default.nix
index ec268d5d77f..e2049967e88 100644
--- a/pkgs/tools/networking/i2p/default.nix
+++ b/pkgs/tools/networking/i2p/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, procps, coreutils, fetchurl, jdk, jre, ant, gettext, which }:
+{ stdenv, ps, coreutils, fetchurl, jdk, jre, ant, gettext, which }:
 
 let wrapper = stdenv.mkDerivation rec {
   name = "wrapper-${version}";
@@ -27,10 +27,10 @@ let wrapper = stdenv.mkDerivation rec {
 in
 
 stdenv.mkDerivation rec {
-  name = "i2p-0.9.33";
+  name = "i2p-0.9.34";
   src = fetchurl {
     url = "https://github.com/i2p/i2p.i2p/archive/${name}.tar.gz";
-    sha256 = "1hlildi34p34xgpm0gqh09r2jb6nsa7a52gr074r6203xkl2racw";
+    sha256 = "1b3qw096b9i55izvrh2793sbg0ikvihfi6k15sz2pzmjn30hy37l";
   };
   buildInputs = [ jdk ant gettext which ];
   patches = [ ./i2p.patch ];
@@ -51,7 +51,7 @@ stdenv.mkDerivation rec {
       -e "s#uname#${coreutils}/bin/uname#" \
       -e "s#which#${which}/bin/which#" \
       -e "s#%gettext%#${gettext}/bin/gettext#" \
-      -e "s#/usr/ucb/ps#${procps}/bin/ps#" \
+      -e "s#/usr/ucb/ps#${ps}/bin/ps#" \
       -e "s#/usr/bin/tr#${coreutils}/bin/tr#" \
       -e "s#%INSTALL_PATH#$out#" \
       -e 's#%USER_HOME#$HOME#' \
diff --git a/pkgs/tools/networking/inadyn/default.nix b/pkgs/tools/networking/inadyn/default.nix
index 99997eb927f..9d588f6fa5e 100644
--- a/pkgs/tools/networking/inadyn/default.nix
+++ b/pkgs/tools/networking/inadyn/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   name = "inadyn-${version}";
-  version = "2.3";
+  version = "2.3.1";
 
   src = fetchFromGitHub {
     owner = "troglobit";
     repo = "inadyn";
     rev = "v${version}";
-    sha256 = "1nkrvd33mnj98m86g3xs27l88l2678qjzjhwpq1k9n8v9k255pd6";
+    sha256 = "0m2lkmvklhnggv1kim0rikq1gxxc984lsg4gpn8s6lzv6y0axbya";
   };
 
   nativeBuildInputs = [ autoreconfHook pkgconfig ];
diff --git a/pkgs/tools/networking/inetutils/default.nix b/pkgs/tools/networking/inetutils/default.nix
index c5ecb5eb6da..c050758a8ee 100644
--- a/pkgs/tools/networking/inetutils/default.nix
+++ b/pkgs/tools/networking/inetutils/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, ncurses, perl, help2man }:
+{ stdenv, lib, fetchurl, ncurses, perl, help2man }:
 
 stdenv.mkDerivation rec {
   name = "inetutils-1.9.4";
@@ -16,25 +16,20 @@ stdenv.mkDerivation rec {
   buildInputs = [ ncurses /* for `talk' */ perl /* for `whois' */ help2man ];
 
   configureFlags = [ "--with-ncurses-include-dir=${ncurses.dev}/include" ]
-  ++ stdenv.lib.optionals stdenv.hostPlatform.isMusl [ # Musl doesn't define rcmd
+  ++ lib.optionals stdenv.hostPlatform.isMusl [ # Musl doesn't define rcmd
     "--disable-rcp"
     "--disable-rsh"
     "--disable-rlogin"
     "--disable-rexec"
-  ];
+  ] ++ lib.optional stdenv.isDarwin  "--disable-servers";
 
   # Test fails with "UNIX socket name too long", probably because our
   # $TMPDIR is too long.
-  #doCheck = true;
-
+  doCheck = false;
 
-  postInstall = ''
-    # XXX: These programs are normally installed setuid but since it
-    # fails, they end up being non-executable, hence this hack.
-    chmod +x $out/bin/{ping,ping6,${stdenv.lib.optionalString (!stdenv.hostPlatform.isMusl) ''rcp,rlogin,rsh,''}traceroute}
-  '';
+  installFlags = [ "SUIDMODE=" ];
 
-  meta = {
+  meta = with lib; {
     description = "Collection of common network programs";
 
     longDescription =
@@ -45,9 +40,9 @@ stdenv.mkDerivation rec {
       '';
 
     homepage = http://www.gnu.org/software/inetutils/;
-    license = stdenv.lib.licenses.gpl3Plus;
+    license = licenses.gpl3Plus;
 
-    maintainers = [ ];
-    platforms = stdenv.lib.platforms.gnu;
+    maintainers = with maintainers; [ matthewbauer ];
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/tools/networking/jwhois/default.nix b/pkgs/tools/networking/jwhois/default.nix
index cd0821ef9ef..be8e9e210d1 100644
--- a/pkgs/tools/networking/jwhois/default.nix
+++ b/pkgs/tools/networking/jwhois/default.nix
@@ -20,7 +20,7 @@ stdenv.mkDerivation {
   meta = {
     description = "A client for the WHOIS protocol allowing you to query the owner of a domain name";
     homepage = http://www.gnu.org/software/jwhois/;
-    license = "GPL";
-    platforms = stdenv.lib.platforms.linux;
+    license = stdenv.lib.licenses.gpl3;
+    platforms = stdenv.lib.platforms.unix;
   };
 }
diff --git a/pkgs/tools/networking/lftp/default.nix b/pkgs/tools/networking/lftp/default.nix
index 3e4f1eaeeef..36eced80856 100644
--- a/pkgs/tools/networking/lftp/default.nix
+++ b/pkgs/tools/networking/lftp/default.nix
@@ -15,8 +15,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkgconfig ];
 
-  buildInputs = [ gnutls readline zlib libidn2 gmp libiconv libunistring ]
-    ++ stdenv.lib.optional stdenv.isDarwin gettext;
+  buildInputs = [ gnutls readline zlib libidn2 gmp libiconv libunistring gettext ];
 
   hardeningDisable = stdenv.lib.optional stdenv.isDarwin "format";
 
diff --git a/pkgs/tools/networking/libreswan/default.nix b/pkgs/tools/networking/libreswan/default.nix
index b2024f55c4e..fd2461f5171 100644
--- a/pkgs/tools/networking/libreswan/default.nix
+++ b/pkgs/tools/networking/libreswan/default.nix
@@ -25,7 +25,12 @@ stdenv.mkDerivation {
   };
 
   # These flags were added to compile v3.18. Try to lift them when updating.
-  NIX_CFLAGS_COMPILE = [ "-Wno-error=redundant-decls" "-Wno-error=format-nonliteral" ];
+  NIX_CFLAGS_COMPILE = [ "-Wno-error=redundant-decls" "-Wno-error=format-nonliteral"
+    # these flags were added to build with gcc7
+    "-Wno-error=implicit-fallthrough"
+    "-Wno-error=format-truncation"
+    "-Wno-error=pointer-compare"
+  ];
 
   nativeBuildInputs = [ makeWrapper pkgconfig ];
   buildInputs = [ bash iproute iptables systemd coreutils gnused gawk gmp unbound bison flex pam libevent
diff --git a/pkgs/tools/networking/linkchecker/default.nix b/pkgs/tools/networking/linkchecker/default.nix
index 686242aa067..6e41de8999b 100644
--- a/pkgs/tools/networking/linkchecker/default.nix
+++ b/pkgs/tools/networking/linkchecker/default.nix
@@ -1,23 +1,50 @@
-{ stdenv, lib, fetchurl, python2Packages, gettext }:
-
+{ stdenv, lib, fetchFromGitHub, fetchpatch, python2, gettext }:
+let
+  # pin requests version until next release.
+  # see: https://github.com/linkcheck/linkchecker/issues/76
+  python2Packages = (python2.override {
+    packageOverrides = self: super: {   
+      requests = super.requests.overridePythonAttrs(oldAttrs: rec {
+        version = "2.14.2";
+        src = oldAttrs.src.override {
+          inherit version;
+          sha256 = "0lyi82a0ijs1m7k9w1mqwbmq1qjsac35fazx7xqyh8ws76xanx52";
+        };
+      });
+    };
+  }).pkgs;
+in
 python2Packages.buildPythonApplication rec {
-  name = "LinkChecker-${version}";
-  version = "9.3";
+  pname = "LinkChecker";
+  version = "9.3.1";
+
+  propagatedBuildInputs = (with python2Packages; [ 
+    requests
+  ]) ++ [ gettext ];
 
-  buildInputs = with python2Packages ; [ pytest ];
-  propagatedBuildInputs = with python2Packages ; [ requests ] ++ [ gettext ];
+  checkInputs = with python2Packages; [ pytest ];
 
-  src = fetchurl {
-    url = "mirror://pypi/L/LinkChecker/${name}.tar.gz";
-    sha256 = "0v8pavf0bx33xnz1kwflv0r7lxxwj7vg3syxhy2wzza0wh6sc2pf";
+  # the original repository is abandoned, development is now happening here:
+  src = fetchFromGitHub {
+    owner = "linkcheck";
+    repo = "linkchecker";
+    rev = "v${version}";
+    sha256 = "080mv4iwvlsfnm7l9basd6i8p4q8990mdhkwick9s6javrbf1r1d";
   };
 
   # 1. upstream refuses to support ignoring robots.txt
-  # 2. work around requests version detection - can be dropped >v9.3
-  patches = [
-    ./add-no-robots-flag.patch
-    ./no-version-check.patch
-  ];
+  # 2. fix build: https://github.com/linkcheck/linkchecker/issues/10
+  patches = 
+    let
+      fix-setup-py = fetchpatch {
+        name = "fix-setup-py.patch";
+        url = https://github.com/linkcheck/linkchecker/commit/e62e630.patch;
+        sha256 = "046q1whg715w2yv33xx6rkj7fspvvz60cl978ax92lnf8j101czx";
+      };
+    in [
+      ./add-no-robots-flag.patch
+      fix-setup-py
+    ];
 
   postInstall = ''
     rm $out/bin/linkchecker-gui
@@ -35,8 +62,8 @@ python2Packages.buildPythonApplication rec {
 
   meta = {
     description = "Check websites for broken links";
-    homepage = https://wummel.github.io/linkchecker/;
+    homepage = https://linkcheck.github.io/linkchecker/;
     license = lib.licenses.gpl2;
-    maintainers = with lib.maintainers; [ peterhoeg ];
+    maintainers = with lib.maintainers; [ peterhoeg tweber ];
   };
 }
diff --git a/pkgs/tools/networking/linkchecker/no-version-check.patch b/pkgs/tools/networking/linkchecker/no-version-check.patch
deleted file mode 100644
index 49b674f3735..00000000000
--- a/pkgs/tools/networking/linkchecker/no-version-check.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-diff --git a/linkcheck/__init__.py b/linkcheck/__init__.py
---- a/linkcheck/__init__.py	2014-07-16 13:34:58.000000000 +0800
-+++ b/linkcheck/__init__.py	2016-10-11 10:42:08.914085950 +0800
-@@ -26,8 +26,8 @@
-         sys.version_info < (2, 7, 2, 'final', 0)):
-     raise SystemExit("This program requires Python 2.7.2 or later.")
- import requests
--if requests.__version__ <= '2.2.0':
--    raise SystemExit("This program requires Python requests 2.2.0 or later.")
-+#if requests.__version__ <= '2.2.0':
-+#    raise SystemExit("This program requires Python requests 2.2.0 or later.")
- 
- import os
- # add the custom linkcheck_dns directory to sys.path
diff --git a/pkgs/tools/networking/lldpd/default.nix b/pkgs/tools/networking/lldpd/default.nix
index 20e65c5ea3c..02e4672a1ae 100644
--- a/pkgs/tools/networking/lldpd/default.nix
+++ b/pkgs/tools/networking/lldpd/default.nix
@@ -3,11 +3,11 @@
 
 stdenv.mkDerivation rec {
   name = "lldpd-${version}";
-  version = "0.9.9";
+  version = "1.0.1";
 
   src = fetchurl {
     url = "https://media.luffy.cx/files/lldpd/${name}.tar.gz";
-    sha256 = "1nq2z03hbs5qc3kdk3rdxcwcsrxilhcqx7xw3iipc4yj03shi7jy";
+    sha256 = "0lgiappbjm95r1m0xyxb6gzz4izcjixknbzq3s7pbqbsmhm642s5";
   };
 
   configureFlags = [
diff --git a/pkgs/tools/networking/logmein-hamachi/default.nix b/pkgs/tools/networking/logmein-hamachi/default.nix
index bbee6546b2f..0b585d10316 100644
--- a/pkgs/tools/networking/logmein-hamachi/default.nix
+++ b/pkgs/tools/networking/logmein-hamachi/default.nix
@@ -2,8 +2,6 @@
 
 with stdenv.lib;
 
-assert stdenv.isLinux;
-
 let
   arch =
     if stdenv.system == "x86_64-linux" then "x64"
diff --git a/pkgs/tools/networking/maildrop/default.nix b/pkgs/tools/networking/maildrop/default.nix
index 950a6e310eb..134e9b6df76 100644
--- a/pkgs/tools/networking/maildrop/default.nix
+++ b/pkgs/tools/networking/maildrop/default.nix
@@ -13,6 +13,8 @@ stdenv.mkDerivation rec {
 
   patches = [ ./maildrop.configure.hack.patch ]; # for building in chroot
 
+  doCheck = false; # fails with "setlocale: LC_ALL: cannot change locale (en_US.UTF-8)"
+
   meta = with stdenv.lib; {
     homepage = http://www.courier-mta.org/maildrop/;
     description = "Mail filter/mail delivery agent that is used by the Courier Mail Server";
diff --git a/pkgs/tools/networking/mailutils/default.nix b/pkgs/tools/networking/mailutils/default.nix
index 6f47b4b5576..4df7f80fff6 100644
--- a/pkgs/tools/networking/mailutils/default.nix
+++ b/pkgs/tools/networking/mailutils/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchurl, fetchpatch, autoreconfHook, dejagnu, gettext, pkgconfig
 , gdbm, pam, readline, ncurses, gnutls, guile, texinfo, gnum4, sasl, fribidi, nettools
-, python, gss, mysql }:
+, python, gss, mysql, sendmailPath ? "/run/wrappers/bin/sendmail" }:
 
 let
   p = "https://raw.githubusercontent.com/gentoo/gentoo/9c921e89d51876fd876f250324893fd90c019326/net-mail/mailutils/files";
@@ -34,13 +34,14 @@ in stdenv.mkDerivation rec {
   ];
 
   doCheck = true;
-  enableParallelBuilding = true;
+  enableParallelBuilding = false;
   hardeningDisable = [ "format" ];
 
   configureFlags = [
     "--with-gssapi"
     "--with-gsasl"
     "--with-mysql"
+    "--with-path-sendmail=${sendmailPath}"
   ];
 
   readmsg-tests = stdenv.lib.optionals doCheck [
@@ -115,6 +116,6 @@ in stdenv.mkDerivation rec {
     homepage = http://www.gnu.org/software/mailutils/;
 
     # Some of the dependencies fail to build on {cyg,dar}win.
-    platforms = platforms.gnu;
+    platforms = platforms.gnu ++ platforms.linux;
   };
 }
diff --git a/pkgs/tools/networking/megatools/default.nix b/pkgs/tools/networking/megatools/default.nix
index f6a75011287..e2d4880250c 100644
--- a/pkgs/tools/networking/megatools/default.nix
+++ b/pkgs/tools/networking/megatools/default.nix
@@ -1,18 +1,25 @@
-{ stdenv, fetchurl, pkgconfig, glib, fuse, curl, glib-networking
-, asciidoc, wrapGAppsHook }:
+{ stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, glib, fuse, curl, glib-networking
+, asciidoc, libxml2, docbook_xsl, docbook_xml_dtd_45, libxslt, wrapGAppsHook }:
 
 stdenv.mkDerivation rec {
   name = "megatools-${version}";
-  version = "1.9.98";
+  version = "2017-10-26";
 
-  src = fetchurl {
-    url = "https://megatools.megous.com/builds/${name}.tar.gz";
-    sha256 = "0vx1farp0dpg4zwvxdbfdnzjk9qx3sn109p1r1zl3g3xsaj221cv";
+  src = fetchFromGitHub {
+    owner = "megous";
+    repo = "megatools";
+    rev = "35dfba3262f620b4701ec1975293463957e20f26";
+    sha256 = "0xphgv78j731rmhxic4fwzdr7vq5px921qifrw1y40b93nhy4d5n";
   };
 
-  nativeBuildInputs = [ pkgconfig wrapGAppsHook asciidoc ];
+  nativeBuildInputs = [
+    autoreconfHook pkgconfig wrapGAppsHook asciidoc libxml2
+    docbook_xsl docbook_xml_dtd_45 libxslt
+  ];
   buildInputs = [ glib glib-networking fuse curl ];
 
+  enableParallelBuilding = true;
+
   meta = with stdenv.lib; {
     description = "Command line client for Mega.co.nz";
     homepage = https://megatools.megous.com/;
diff --git a/pkgs/tools/networking/memtier-benchmark/default.nix b/pkgs/tools/networking/memtier-benchmark/default.nix
new file mode 100644
index 00000000000..ae8d3d96483
--- /dev/null
+++ b/pkgs/tools/networking/memtier-benchmark/default.nix
@@ -0,0 +1,31 @@
+{ stdenv, fetchFromGitHub, autoreconfHook
+, pkgconfig, libevent, pcre, zlib, openssl
+}:
+
+stdenv.mkDerivation rec {
+  name = "memtier-benchmark-${version}";
+  version = "1.2.11";
+
+  src = fetchFromGitHub {
+    owner  = "redislabs";
+    repo   = "memtier_benchmark";
+    rev    = "refs/tags/${version}";
+    sha256 = "0a1lz4j9whj6yf94xn7rna00abgrv2qs30vmpns1n9zqlpaj6b6a";
+  };
+
+  patchPhase = ''
+    substituteInPlace ./configure.ac \
+      --replace '1.2.8' '${version}'
+  '';
+
+  nativeBuildInputs = [ autoreconfHook pkgconfig ];
+  buildInputs = [ libevent pcre zlib openssl ];
+
+  meta = {
+    description = "Redis and Memcached traffic generation and benchmarking tool";
+    homepage    = https://github.com/redislabs/memtier_benchmark;
+    license     = stdenv.lib.licenses.gpl2;
+    platforms   = stdenv.lib.platforms.linux;
+    maintainers = with stdenv.lib.maintainers; [ thoughtpolice ];
+  };
+}
diff --git a/pkgs/tools/networking/minio-client/default.nix b/pkgs/tools/networking/minio-client/default.nix
index 7538c08249c..bfe7dfc2dc0 100644
--- a/pkgs/tools/networking/minio-client/default.nix
+++ b/pkgs/tools/networking/minio-client/default.nix
@@ -3,13 +3,13 @@
 buildGoPackage rec {
   name = "minio-client-${version}";
 
-  version = "2018-02-09T23-07-36Z";
+  version = "2018-03-25T01-22-22Z";
 
   src = fetchFromGitHub {
     owner = "minio";
     repo = "mc";
     rev = "RELEASE.${version}";
-    sha256 = "1mzjqcvl8740jkkrsyycwqminnd0vdl1m2mvq8hnywj8hs816bfd";
+    sha256 = "1x71va37jaqsi99d0i0mccybrs9kjgmpfsm0dchmc58mmhyagh3k";
   };
 
   goPackagePath = "github.com/minio/mc";
diff --git a/pkgs/tools/networking/minissdpd/default.nix b/pkgs/tools/networking/minissdpd/default.nix
index a451750503a..9809b330fab 100644
--- a/pkgs/tools/networking/minissdpd/default.nix
+++ b/pkgs/tools/networking/minissdpd/default.nix
@@ -2,10 +2,10 @@
 
 stdenv.mkDerivation rec {
   name = "minissdpd-${version}";
-  version = "1.5.20180203";
+  version = "1.5.20180223";
 
   src = fetchurl {
-    sha256 = "1yiri887s8wxh4zrjc5dw19gyypqg63962aimcgd19blvpbwnfcv";
+    sha256 = "1c47h1zil04jnbxiaaci2rm8jij47zp5156v48hb6m87nh4l5adv";
     url = "http://miniupnp.free.fr/files/download.php?file=${name}.tar.gz";
     name = "${name}.tar.gz";
   };
diff --git a/pkgs/tools/networking/miniupnpd/default.nix b/pkgs/tools/networking/miniupnpd/default.nix
index 1e020079430..07112d1497a 100644
--- a/pkgs/tools/networking/miniupnpd/default.nix
+++ b/pkgs/tools/networking/miniupnpd/default.nix
@@ -1,13 +1,11 @@
 { stdenv, fetchurl, iptables, libuuid, pkgconfig }:
 
-assert stdenv.isLinux;
-
 stdenv.mkDerivation rec {
-  name = "miniupnpd-2.0.20180203";
+  name = "miniupnpd-2.1";
 
   src = fetchurl {
     url = "http://miniupnp.free.fr/files/download.php?file=${name}.tar.gz";
-    sha256 = "1djb0w76yd5jyqm5mzmxlxikxzzwqzjgy75h8saxc3rlz3r1a346";
+    sha256 = "1hg0zzvvzfgpnmngmd3ffnsk9x18lwlxlpw5jgh7y6b1jrvr824m";
     name = "${name}.tar.gz";
   };
 
diff --git a/pkgs/tools/networking/mitmproxy/default.nix b/pkgs/tools/networking/mitmproxy/default.nix
index c969119e1d7..5f7537eda18 100644
--- a/pkgs/tools/networking/mitmproxy/default.nix
+++ b/pkgs/tools/networking/mitmproxy/default.nix
@@ -4,13 +4,13 @@ with python3Packages;
 
 buildPythonPackage rec {
   pname = "mitmproxy";
-  version = "3.0.2";
+  version = "3.0.4";
 
   src = fetchFromGitHub {
     owner  = pname;
     repo   = pname;
     rev    = "v${version}";
-    sha256 = "0rvwm11yryzlp3c1i42rk2iv1m38yn6r83k41jb51hwg6wzbwzvw";
+    sha256 = "10l761ds46r1p2kjxlgby9vdxbjjlgq72s6adjypghi41s3qf034";
   };
 
   postPatch = ''
@@ -29,13 +29,13 @@ buildPythonPackage rec {
     blinker click certifi cryptography
     h2 hyperframe kaitaistruct passlib
     pyasn1 pyopenssl pyparsing pyperclip
-    requests ruamel_yaml tornado urwid
-    brotlipy sortedcontainers ldap3
+    ruamel_yaml tornado urwid brotlipy
+    sortedcontainers ldap3 wsproto
   ];
 
-  buildInputs = [
+  checkInputs = [
     beautifulsoup4 flask pytest
-    pytestrunner glibcLocales
+    requests glibcLocales
   ];
 
   meta = with stdenv.lib; {
diff --git a/pkgs/tools/networking/modem-manager/default.nix b/pkgs/tools/networking/modem-manager/default.nix
new file mode 100644
index 00000000000..e9af9dc980e
--- /dev/null
+++ b/pkgs/tools/networking/modem-manager/default.nix
@@ -0,0 +1,64 @@
+{ stdenv, fetchurl, udev, libgudev, polkit, dbus-glib, ppp, gettext, pkgconfig
+, libmbim, libqmi, systemd, fetchpatch }:
+
+stdenv.mkDerivation rec {
+  name = "modem-manager-${version}";
+  pname = "ModemManager";
+  version = "1.7.990";
+
+  src = fetchurl {
+    url = "http://www.freedesktop.org/software/${pname}/${pname}-${version}.tar.xz";
+    sha256 = "1v4hixmghlrw7w4ajq2x4k62js0594h223d0yma365zwqr7hjrfl";
+  };
+
+  nativeBuildInputs = [ gettext pkgconfig ];
+
+  buildInputs = [ udev libgudev polkit dbus-glib ppp libmbim libqmi systemd ];
+
+  patches = [
+    # Patch dependency on glib headers, this breaks packages using core headers (networkmanager-qt)
+    (fetchpatch {
+      url = "https://cgit.freedesktop.org/ModemManager/ModemManager/patch/?id=0f377f943eeb81472fd73189f2c3d8fc65b8c609";
+      sha256 = "0av0sqdvbhwjnhqqylkc7rmqcj6awqmz5693l9x93nlwp7zya95j";
+    })
+  ];
+
+  configureFlags = [
+    "--with-polkit"
+    "--with-udev-base-dir=$(out)/lib/udev"
+    "--with-systemdsystemunitdir=$(out)/etc/systemd/system"
+    "--sysconfdir=/etc"
+    "--localstatedir=/var"
+    "--with-suspend-resume=systemd"
+  ];
+
+  installFlags = [ "DESTDIR=\${out}" ];
+
+  preInstall = ''
+    mkdir -p $out/etc/systemd/system
+  '';
+
+  postInstall = ''
+    # rename to modem-manager to be in style
+    mv $out/$out/etc/systemd/system/ModemManager.service $out/etc/systemd/system/modem-manager.service
+    rm -rf $out/$out/etc
+    mv $out/$out/* $out
+    DIR=$out/$out
+    while rmdir $DIR 2>/dev/null; do
+      DIR="$(dirname "$DIR")"
+    done
+
+    # systemd in NixOS doesn't use `systemctl enable`, so we need to establish
+    # aliases ourselves.
+    ln -s $out/etc/systemd/system/modem-manager.service \
+      $out/etc/systemd/system/dbus-org.freedesktop.ModemManager1.service
+  '';
+
+  meta = with stdenv.lib; {
+    description = "WWAN modem manager, part of NetworkManager";
+    homepage = https://www.freedesktop.org/wiki/Software/ModemManager/;
+    license = licenses.gpl2Plus;
+    maintainers = [ ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/tools/networking/modemmanager/default.nix b/pkgs/tools/networking/modemmanager/default.nix
deleted file mode 100644
index f4631d39b01..00000000000
--- a/pkgs/tools/networking/modemmanager/default.nix
+++ /dev/null
@@ -1,52 +0,0 @@
-{ stdenv, fetchurl, udev, libgudev, polkit, dbus-glib, ppp, intltool, pkgconfig
-, libmbim, libqmi, systemd }:
-
-stdenv.mkDerivation rec {
-  name = "ModemManager-${version}";
-  version = "1.6.8";
-
-  src = fetchurl {
-    url = "http://www.freedesktop.org/software/ModemManager/${name}.tar.xz";
-    sha256 = "0xj3ng7qcqxkib5qkprwghcivaz0mn449fw08l67h1zbpz23bh7z";
-  };
-
-  nativeBuildInputs = [ intltool pkgconfig ];
-
-  buildInputs = [ udev libgudev polkit dbus-glib ppp libmbim libqmi systemd ];
-
-  configureFlags = [
-    "--with-polkit"
-    "--with-udev-base-dir=$(out)/lib/udev"
-    "--with-systemdsystemunitdir=$(out)/etc/systemd/system"
-    "--sysconfdir=/etc"
-    "--localstatedir=/var"
-    "--with-suspend-resume=systemd"
-  ];
-
-  installFlags = [ "DESTDIR=\${out}" ];
-
-  preInstall = ''
-    mkdir -p $out/etc/systemd/system
-  '';
-
-  postInstall = ''
-    mv $out/$out/etc/systemd/system/ModemManager.service $out/etc/systemd/system
-    rm -rf $out/$out/etc
-    mv $out/$out/* $out
-    DIR=$out/$out
-    while rmdir $DIR 2>/dev/null; do
-      DIR="$(dirname "$DIR")"
-    done
-
-    # systemd in NixOS doesn't use `systemctl enable`, so we need to establish
-    # aliases ourselves.
-    ln -s $out/etc/systemd/system/ModemManager.service \
-      $out/etc/systemd/system/dbus-org.freedesktop.ModemManager1.service
-  '';
-
-  meta = {
-    description = "WWAN modem manager, part of NetworkManager";
-    maintainers = [ ];
-    platforms = stdenv.lib.platforms.linux;
-  };
-}
diff --git a/pkgs/tools/networking/mu/default.nix b/pkgs/tools/networking/mu/default.nix
index d0fd7af1290..f8c3d754100 100644
--- a/pkgs/tools/networking/mu/default.nix
+++ b/pkgs/tools/networking/mu/default.nix
@@ -5,28 +5,32 @@
 
 stdenv.mkDerivation rec {
   name = "mu-${version}";
-  version = "0.9.18";
+  version = "1.0";
 
   src = fetchFromGitHub {
     owner  = "djcb";
     repo   = "mu";
-    rev    = version;
-    sha256 = "0zy0p196bfrfzsq8f58xv04rpnr948sdvljflgzvi6js0vz4009y";
+    rev    = "v${version}";
+    sha256 = "0y6azhcmqdx46a9gi7mn8v8p0mhfx2anjm5rj7i69kbr6j8imlbc";
   };
 
-  # as of 0.9.18 2 tests are failing but previously we had no tests
+  # 0.9.18 and 1.0 have 2 failing tests but previously we had no tests
   patches = [
     ./failing_tests.patch
   ];
 
-  # pmccabe should be a checkInput instead, but configure looks for it
+  # test-utils coredumps so don't run those
+  postPatch = ''
+    sed -i -e '/test-utils/d' lib/parser/Makefile.am
+  '';
+
   buildInputs = [
     sqlite xapian glib gmime texinfo emacs guile libsoup icu
   ] ++ stdenv.lib.optionals withMug [ gtk3 webkitgtk24x-gtk3 ];
-  nativeBuildInputs = [ pkgconfig autoreconfHook ];
-  checkInputs = [ pmccabe ];
 
-  doCheck = true;
+  nativeBuildInputs = [ pkgconfig autoreconfHook pmccabe ];
+
+  enableParallelBuilding = true;
 
   preBuild = ''
     # Fix mu4e-builddir (set it to $out)
@@ -45,6 +49,8 @@ stdenv.mkDerivation rec {
     done
   '';
 
+  doCheck = true;
+
   meta = with stdenv.lib; {
     description = "A collection of utilties for indexing and searching Maildirs";
     license = licenses.gpl3Plus;
diff --git a/pkgs/tools/networking/ncftp/default.nix b/pkgs/tools/networking/ncftp/default.nix
index 4c632899ac2..0a0eadbfcba 100644
--- a/pkgs/tools/networking/ncftp/default.nix
+++ b/pkgs/tools/networking/ncftp/default.nix
@@ -1,8 +1,8 @@
 { stdenv, fetchurl, ncurses, coreutils }:
 
-let version = "3.2.6"; in
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   name = "ncftp-${version}";
+  version = "3.2.6";
 
   src = fetchurl {
     url = "ftp://ftp.ncftp.com/ncftp/ncftp-${version}-src.tar.xz";
@@ -11,24 +11,29 @@ stdenv.mkDerivation {
 
   buildInputs = [ ncurses ];
 
+  enableParallelBuilding = true;
+
   preConfigure = ''
-    find . -name "*.sh" -type f | xargs sed 's@/bin/ls@${coreutils}/bin/ls@g' -i
-    find . -name "*.in" -type f | xargs sed 's@/bin/ls@${coreutils}/bin/ls@g' -i
-    find . -name "*.c" -type f | xargs sed 's@/bin/ls@${coreutils}/bin/ls@g' -i
-    sed 's@/bin/ls@${coreutils}/bin/ls@g' -i configure
-
-    find . -name "*.sh" -type f | xargs sed 's@/bin/rm@${coreutils}/bin/rm@g' -i
-    find . -name "*.in" -type f | xargs sed 's@/bin/rm@${coreutils}/bin/rm@g' -i
-    find . -name "*.c" -type f | xargs sed 's@/bin/rm@${coreutils}/bin/rm@g' -i
-    sed 's@/bin/rm@${coreutils}/bin/rm@g' -i configure
+    find . -name '*.sh' -or -name '*.in' -or -name '*.c' -or -name configure | xargs sed -i \
+      -e 's@/bin/ls@${coreutils}/bin/ls@g' \
+      -e 's@/bin/rm@${coreutils}/bin/rm@g'
+  '';
+
+  postInstall = ''
+    rmdir $out/etc
+    mkdir -p $out/share/doc
+    cp -r doc $out/share/doc/ncftp
   '';
 
-  configureFlags = [ "--mandir=$out/share/man/" ];
+  configureFlags = [
+    "--enable-ssp"
+    "--mandir=$(out)/share/man/"
+  ];
 
   meta = with stdenv.lib; {
     description = "Command line FTP (File Transfer Protocol) client";
-    homepage = http://www.ncftp.com/ncftp/;
+    homepage = https://www.ncftp.com/ncftp/;
+    maintainers = with maintainers; [ bjornfor ];
     platforms = platforms.unix;
-    maintainers = [ maintainers.bjornfor ];
   };
 }
diff --git a/pkgs/tools/networking/netcat-openbsd/default.nix b/pkgs/tools/networking/netcat-openbsd/default.nix
deleted file mode 100644
index 8c924701377..00000000000
--- a/pkgs/tools/networking/netcat-openbsd/default.nix
+++ /dev/null
@@ -1,44 +0,0 @@
-{stdenv, fetchurl, pkgconfig, libbsd}:
-
-stdenv.mkDerivation rec {
-  version = "1.187";
-  deb-version = "${version}-1";
-  name = "netcat-openbsd-${version}";
-
-  srcs = [
-    (fetchurl {
-      url = "mirror://debian/pool/main/n/netcat-openbsd/netcat-openbsd_${version}.orig.tar.gz";
-      sha256 = "0sxsxl7n7hnxz931jqsp86cdwiq2lm4h3w0i2a67935pki924gxw";
-    })
-    (fetchurl {
-      url = "mirror://debian/pool/main/n/netcat-openbsd/netcat-openbsd_${deb-version}.debian.tar.xz";
-      sha256 = "0jwbdis6avxdjzg8bcab1bdz296rkzzkdlv50fr3q0277fxjs49q";
-    })
-  ];
-
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ libbsd ];
-
-  sourceRoot = name;
-
-  prePatch = ''
-    for i in $(cat ../debian/patches/series); do
-      patch -p1 < "../debian/patches/$i"
-    done
-  '';
-
-  installPhase = ''
-    runHook preInstall
-    install -Dm0755 nc $out/bin/nc
-    install -Dm0644 nc.1 $out/share/man/man1/nc.1
-    runHook postInstall
-  '';
-
-  meta = with stdenv.lib; {
-    homepage = https://packages.debian.org/netcat-openbsd;
-    description = "TCP/IP swiss army knife, OpenBSD variant";
-    platforms = platforms.linux;
-    maintainers = with maintainers; [ willibutz ];
-  };
-
-}
diff --git a/pkgs/tools/networking/netcat-gnu/default.nix b/pkgs/tools/networking/netcat/default.nix
index 47ec804e5d4..47ec804e5d4 100644
--- a/pkgs/tools/networking/netcat-gnu/default.nix
+++ b/pkgs/tools/networking/netcat/default.nix
diff --git a/pkgs/tools/networking/network-manager-applet/default.nix b/pkgs/tools/networking/network-manager-applet/default.nix
deleted file mode 100644
index 20bab09c2a7..00000000000
--- a/pkgs/tools/networking/network-manager-applet/default.nix
+++ /dev/null
@@ -1,52 +0,0 @@
-{ stdenv, fetchurl, intltool, pkgconfig, libglade, networkmanager, gnome3
-, libnotify, libsecret, polkit, isocodes, modemmanager
-, mobile-broadband-provider-info, glib-networking, gsettings-desktop-schemas
-, udev, libgudev, hicolor-icon-theme, jansson, wrapGAppsHook, webkitgtk
-, libindicator-gtk3, libappindicator-gtk3, withGnome ? false }:
-
-stdenv.mkDerivation rec {
-  name    = "${pname}-${major}.${minor}";
-  pname   = "network-manager-applet";
-  major   = "1.8";
-  minor   = "6";
-
-  src = fetchurl {
-    url    = "mirror://gnome/sources/${pname}/${major}/${name}.tar.xz";
-    sha256 = "0c4wxwxpa7wlskvnqaqfa7mmc0c6a2pj7jcvymcchjnq4wn9wx01";
-  };
-
-  configureFlags = [
-    "--sysconfdir=/etc"
-    "--without-selinux"
-    "--with-appindicator"
-  ];
-
-  outputs = [ "out" "dev" ];
-
-  buildInputs = [
-    gnome3.gtk libglade networkmanager libnotify libsecret gsettings-desktop-schemas
-    polkit isocodes udev libgudev gnome3.libgnome-keyring
-    modemmanager jansson glib-networking
-    libindicator-gtk3 libappindicator-gtk3
-  ] ++ stdenv.lib.optional withGnome webkitgtk;
-
-  nativeBuildInputs = [ intltool pkgconfig wrapGAppsHook ];
-
-  propagatedUserEnvPkgs = [ gnome3.gnome-keyring hicolor-icon-theme ];
-
-  makeFlags = [
-    ''CFLAGS=-DMOBILE_BROADBAND_PROVIDER_INFO=\"${mobile-broadband-provider-info}/share/mobile-broadband-provider-info/serviceproviders.xml\"''
-  ];
-
-  preInstall = ''
-    installFlagsArray=( "sysconfdir=$out/etc" )
-  '';
-
-  meta = with stdenv.lib; {
-    homepage    = http://projects.gnome.org/NetworkManager/;
-    description = "NetworkManager control applet for GNOME";
-    license     = licenses.gpl2;
-    maintainers = with maintainers; [ phreedom rickynils ];
-    platforms   = platforms.linux;
-  };
-}
diff --git a/pkgs/tools/networking/network-manager/applet.nix b/pkgs/tools/networking/network-manager/applet.nix
new file mode 100644
index 00000000000..ecd10a13976
--- /dev/null
+++ b/pkgs/tools/networking/network-manager/applet.nix
@@ -0,0 +1,63 @@
+{ stdenv, fetchurl, meson, ninja, intltool, gtk-doc, pkgconfig, networkmanager, gnome3
+, libnotify, libsecret, polkit, isocodes, modemmanager, libxml2, docbook_xsl
+, mobile-broadband-provider-info, glib-networking, gsettings-desktop-schemas
+, libgudev, hicolor-icon-theme, jansson, wrapGAppsHook, webkitgtk, gobjectIntrospection
+, libindicator-gtk3, libappindicator-gtk3, withGnome ? false }:
+
+let
+  pname = "network-manager-applet";
+  version = "1.8.10";
+in stdenv.mkDerivation rec {
+  name = "${pname}-${version}";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
+    sha256 = "1hy9ni2rwpy68h7jhn5lm2s1zm1vjchfy8lwj8fpm7xlx3x4pp0a";
+  };
+
+  mesonFlags = [
+    "-Dselinux=false"
+    "-Dappindicator=true"
+    "-Dgcr=${if withGnome then "true" else "false"}"
+  ];
+
+  outputs = [ "out" "dev" "devdoc" ];
+
+  buildInputs = [
+    gnome3.gtk networkmanager libnotify libsecret gsettings-desktop-schemas
+    polkit isocodes libgudev
+    modemmanager jansson glib-networking
+    libindicator-gtk3 libappindicator-gtk3
+  ] ++ stdenv.lib.optionals withGnome [ gnome3.gcr webkitgtk ];
+
+  nativeBuildInputs = [ meson ninja intltool pkgconfig wrapGAppsHook gobjectIntrospection gtk-doc docbook_xsl libxml2 ];
+
+  propagatedUserEnvPkgs = [
+    hicolor-icon-theme
+    gnome3.gnome-keyring  # See https://github.com/NixOS/nixpkgs/issues/38967
+  ];
+
+  NIX_CFLAGS = [
+    ''-DMOBILE_BROADBAND_PROVIDER_INFO=\"${mobile-broadband-provider-info}/share/mobile-broadband-provider-info/serviceproviders.xml\"''
+  ];
+
+  postPatch = ''
+    chmod +x meson_post_install.py # patchShebangs requires executable file
+    patchShebangs meson_post_install.py
+  '';
+
+  passthru = {
+    updateScript = gnome3.updateScript {
+      packageName = pname;
+      attrPath = "networkmanagerapplet";
+    };
+  };
+
+  meta = with stdenv.lib; {
+    homepage = https://wiki.gnome.org/Projects/NetworkManager;
+    description = "NetworkManager control applet for GNOME";
+    license = licenses.gpl2;
+    maintainers = with maintainers; [ phreedom rickynils ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/tools/networking/network-manager/default.nix b/pkgs/tools/networking/network-manager/default.nix
index c0471601917..9a129f52213 100644
--- a/pkgs/tools/networking/network-manager/default.nix
+++ b/pkgs/tools/networking/network-manager/default.nix
@@ -1,19 +1,19 @@
-{ stdenv, fetchurl, intltool, pkgconfig, dbus-glib
+{ stdenv, fetchurl, intltool, pkgconfig, dbus-glib, gnome3
 , systemd, libgudev, libnl, libuuid, polkit, gnutls, ppp, dhcp, iptables
 , libgcrypt, dnsmasq, bluez5, readline
 , gobjectIntrospection, modemmanager, openresolv, libndp, newt, libsoup
 , ethtool, iputils, gnused, coreutils, file, inetutils, kmod, jansson, libxslt
 , python3Packages, docbook_xsl, fetchpatch, openconnect, curl, autoreconfHook }:
 
-stdenv.mkDerivation rec {
-  name    = "network-manager-${version}";
+let
   pname   = "NetworkManager";
-  major   = "1.10";
-  version = "${major}.2";
+  version = "1.10.6";
+in stdenv.mkDerivation rec {
+  name    = "network-manager-${version}";
 
   src = fetchurl {
-    url    = "mirror://gnome/sources/${pname}/${major}/${pname}-${version}.tar.xz";
-    sha256 = "0nv2jm2lsidlrzn4dkbc5rpj8ma4cpzjqz8z8dmwkqvh0zsk970n";
+    url    = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
+    sha256 = "0xmc3x41dbcaxjm85wfv405xq1a1n3xw8m8zg645ywm3avlb3w3a";
   };
 
   outputs = [ "out" "dev" ];
@@ -85,6 +85,8 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ autoreconfHook intltool pkgconfig libxslt docbook_xsl ];
 
+  doCheck = false; # requires /sys, the net
+
   preInstall = ''
     installFlagsArray=( "sysconfdir=$out/etc" "localstatedir=$out/var" "runstatedir=$out/var/run" )
   '';
@@ -104,8 +106,15 @@ stdenv.mkDerivation rec {
     ln -s $out/etc/systemd/system/network-manager.service $out/etc/systemd/system/dbus-org.freedesktop.NetworkManager.service
   '';
 
+  passthru = {
+    updateScript = gnome3.updateScript {
+      packageName = pname;
+      attrPath = "networkmanager";
+    };
+  };
+
   meta = with stdenv.lib; {
-    homepage    = http://projects.gnome.org/NetworkManager/;
+    homepage    = https://wiki.gnome.org/Projects/NetworkManager;
     description = "Network configuration and management tool";
     license     = licenses.gpl2Plus;
     maintainers = with maintainers; [ phreedom rickynils domenkozar obadz ];
diff --git a/pkgs/tools/networking/networkmanager_dmenu/default.nix b/pkgs/tools/networking/network-manager/dmenu.nix
index 82810e714d5..82810e714d5 100644
--- a/pkgs/tools/networking/networkmanager_dmenu/default.nix
+++ b/pkgs/tools/networking/network-manager/dmenu.nix
diff --git a/pkgs/tools/networking/network-manager/fix-paths.patch b/pkgs/tools/networking/network-manager/fix-paths.patch
new file mode 100644
index 00000000000..b735da28dca
--- /dev/null
+++ b/pkgs/tools/networking/network-manager/fix-paths.patch
@@ -0,0 +1,34 @@
+--- a/properties/nm-openvpn-editor.c
++++ b/properties/nm-openvpn-editor.c
+@@ -775,8 +775,7 @@
+ nm_find_openvpn (void)
+ {
+ 	static const char *openvpn_binary_paths[] = {
+-		"/usr/sbin/openvpn",
+-		"/sbin/openvpn",
++		"@openvpn@/bin/openvpn",
+ 		NULL
+ 	};
+ 	const char  **openvpn_binary = openvpn_binary_paths;
+--- a/src/nm-openvpn-service.c
++++ b/src/nm-openvpn-service.c
+@@ -522,9 +522,7 @@
+ openvpn_binary_find_exepath (void)
+ {
+ 	static const char *paths[] = {
+-		"/usr/sbin/openvpn",
+-		"/sbin/openvpn",
+-		"/usr/local/sbin/openvpn",
++		"@openvpn@/bin/openvpn",
+ 	};
+ 	int i;
+ 
+@@ -2326,7 +2324,7 @@
+ 	_LOGD ("nm-openvpn-service (version " DIST_VERSION ") starting...");
+ 
+ 	if (   !g_file_test ("/sys/class/misc/tun", G_FILE_TEST_EXISTS)
+-	    && (system ("/sbin/modprobe tun") == -1))
++	    && (system ("@kmod@/bin/modprobe tun") == -1))
+ 		return EXIT_FAILURE;
+ 
+ 	plugin = nm_openvpn_plugin_new (bus_name);
diff --git a/pkgs/tools/networking/network-manager/fortisslvpn.nix b/pkgs/tools/networking/network-manager/fortisslvpn.nix
index 5f1e0790b0b..73aaea06c91 100644
--- a/pkgs/tools/networking/network-manager/fortisslvpn.nix
+++ b/pkgs/tools/networking/network-manager/fortisslvpn.nix
@@ -1,15 +1,15 @@
 { stdenv, fetchurl, openfortivpn, automake, autoconf, libtool, intltool, pkgconfig,
 networkmanager, ppp, lib, libsecret, withGnome ? true, gnome3, procps, kmod }:
 
-stdenv.mkDerivation rec {
-  name    = "${pname}${if withGnome then "-gnome" else ""}-${version}";
+let
   pname   = "NetworkManager-fortisslvpn";
-  major   = "1.2";
-  version = "${major}.4";
+  version = "1.2.8";
+in stdenv.mkDerivation rec {
+  name    = "${pname}${if withGnome then "-gnome" else ""}-${version}";
 
   src = fetchurl {
-    url    = "mirror://gnome/sources/${pname}/${major}/${pname}-${version}.tar.xz";
-    sha256 = "0wsbj5lvf9l1w8k5nmaqnzmldilh482bn4z4k8a3wnm62xfxgscr";
+    url    = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
+    sha256 = "01gvdv9dknvzx05plq863jh1xz1v8vgj5w7v9fmw5v601ggybf4w";
   };
 
   buildInputs = [ openfortivpn networkmanager ppp libtool libsecret ]
@@ -28,6 +28,13 @@ stdenv.mkDerivation rec {
        --replace "/bin/openfortivpn" "${openfortivpn}/bin/openfortivpn"
   '';
 
+  passthru = {
+    updateScript = gnome3.updateScript {
+      packageName = pname;
+      attrPath = "networkmanager-fortisslvpn";
+    };
+  };
+
   meta = {
     description = "NetworkManager's FortiSSL plugin";
     inherit (networkmanager.meta) maintainers platforms;
diff --git a/pkgs/tools/networking/network-manager/iodine.nix b/pkgs/tools/networking/network-manager/iodine.nix
index 9e6ba581a94..cbc0e6e6d2d 100644
--- a/pkgs/tools/networking/network-manager/iodine.nix
+++ b/pkgs/tools/networking/network-manager/iodine.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchurl, iodine, intltool, pkgconfig, networkmanager, libsecret
 , withGnome ? true, gnome3 }:
 
-stdenv.mkDerivation rec {
-  name    = "${pname}${if withGnome then "-gnome" else ""}-${version}";
+let
   pname   = "NetworkManager-iodine";
-  major   = "1.2";
-  version = "${major}.0";
+  version = "1.2.0";
+in stdenv.mkDerivation rec {
+  name    = "${pname}${if withGnome then "-gnome" else ""}-${version}";
 
   src = fetchurl {
-    url    = "mirror://gnome/sources/${pname}/${major}/${pname}-${version}.tar.xz";
+    url    = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
     sha256 = "0njdigakidji6mfmbsp8lfi8wl88z1dk8cljbva2w0xazyddbwyh";
   };
 
@@ -32,6 +32,13 @@ stdenv.mkDerivation rec {
        --replace "/usr/bin/iodine" "${iodine}/bin/iodine"
   '';
 
+  passthru = {
+    updateScript = gnome3.updateScript {
+      packageName = pname;
+      attrPath = "networkmanager-iodine";
+    };
+  };
+
   meta = {
     description = "NetworkManager's iodine plugin";
     inherit (networkmanager.meta) maintainers platforms;
diff --git a/pkgs/tools/networking/network-manager/openconnect.nix b/pkgs/tools/networking/network-manager/openconnect.nix
index 5a215529d83..27fd4c4adc3 100644
--- a/pkgs/tools/networking/network-manager/openconnect.nix
+++ b/pkgs/tools/networking/network-manager/openconnect.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchurl, openconnect, intltool, pkgconfig, networkmanager, libsecret
-, withGnome ? true, gnome3, procps, kmod }:
+, withGnome ? true, gnome3, sysctl, kmod }:
 
-stdenv.mkDerivation rec {
-  name    = "${pname}${if withGnome then "-gnome" else ""}-${version}";
+let
   pname   = "NetworkManager-openconnect";
-  major   = "1.2";
-  version = "${major}.4";
+  version = "1.2.4";
+in stdenv.mkDerivation rec {
+  name    = "${pname}${if withGnome then "-gnome" else ""}-${version}";
 
   src = fetchurl {
-    url    = "mirror://gnome/sources/${pname}/${major}/${pname}-${version}.tar.xz";
+    url    = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
     sha256 = "15j98wwspv6mcmy91w30as5qc1bzsnhlk060xhjy4qrvd37y0xx1";
   };
 
@@ -24,15 +24,21 @@ stdenv.mkDerivation rec {
 
   preConfigure = ''
      substituteInPlace "configure" \
-       --replace "/sbin/sysctl" "${procps}/bin/sysctl"
+       --replace "/sbin/sysctl" "${sysctl}/bin/sysctl"
      substituteInPlace "src/nm-openconnect-service.c" \
        --replace "/usr/sbin/openconnect" "${openconnect}/bin/openconnect" \
        --replace "/sbin/modprobe" "${kmod}/bin/modprobe"
   '';
 
+  passthru = {
+    updateScript = gnome3.updateScript {
+      packageName = pname;
+      attrPath = "networkmanager-openconnect";
+    };
+  };
+
   meta = {
     description = "NetworkManager's OpenConnect plugin";
     inherit (networkmanager.meta) maintainers platforms;
   };
 }
-
diff --git a/pkgs/tools/networking/network-manager/openvpn.nix b/pkgs/tools/networking/network-manager/openvpn.nix
index 49411f77845..b1ee3da1b05 100644
--- a/pkgs/tools/networking/network-manager/openvpn.nix
+++ b/pkgs/tools/networking/network-manager/openvpn.nix
@@ -1,22 +1,29 @@
-{ stdenv, fetchurl, openvpn, intltool, pkgconfig, networkmanager, libsecret
+{ stdenv, fetchurl, substituteAll, openvpn, intltool, libxml2, pkgconfig, networkmanager, libsecret
 , withGnome ? true, gnome3, procps, kmod }:
 
-stdenv.mkDerivation rec {
-  name    = "${pname}${if withGnome then "-gnome" else ""}-${version}";
+let
   pname   = "NetworkManager-openvpn";
-  major   = "1.8";
-  version = "${major}.0";
+  version = "1.8.2";
+in stdenv.mkDerivation rec {
+  name    = "${pname}${if withGnome then "-gnome" else ""}-${version}";
 
   src = fetchurl {
-    url    = "mirror://gnome/sources/${pname}/${major}/${pname}-${version}.tar.xz";
-    sha256 = "1973n89g66a3jfx8r45a811fga4kadh6r1w35cb25cz1mlii2vhn";
+    url    = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
+    sha256 = "0p9pjk81h1j1dk9jkkvvk17cq21wyq5kfa4j49fmx9b9yg8syqc8";
   };
 
+  patches = [
+    (substituteAll {
+      src = ./fix-paths.patch;
+      inherit kmod openvpn;
+    })
+  ];
+
   buildInputs = [ openvpn networkmanager libsecret ]
     ++ stdenv.lib.optionals withGnome [ gnome3.gtk gnome3.libgnome-keyring
                                         gnome3.networkmanagerapplet ];
 
-  nativeBuildInputs = [ intltool pkgconfig ];
+  nativeBuildInputs = [ intltool pkgconfig libxml2 ];
 
   configureFlags = [
     "${if withGnome then "--with-gnome --with-gtkver=3" else "--without-gnome"}"
@@ -24,15 +31,12 @@ stdenv.mkDerivation rec {
     "--localstatedir=/" # needed for the management socket under /run/NetworkManager
   ];
 
-  preConfigure = ''
-     substituteInPlace "configure" \
-       --replace "/sbin/sysctl" "${procps}/sbin/sysctl"
-     substituteInPlace "src/nm-openvpn-service.c" \
-       --replace "/sbin/openvpn" "${openvpn}/bin/openvpn" \
-       --replace "/sbin/modprobe" "${kmod}/bin/modprobe"
-     substituteInPlace "properties/auth-helpers.c" \
-       --replace "/sbin/openvpn" "${openvpn}/bin/openvpn"
-  '';
+  passthru = {
+    updateScript = gnome3.updateScript {
+      packageName = pname;
+      attrPath = "networkmanager-openvpn";
+    };
+  };
 
   meta = {
     description = "NetworkManager's OpenVPN plugin";
diff --git a/pkgs/tools/networking/network-manager/pptp.nix b/pkgs/tools/networking/network-manager/pptp.nix
deleted file mode 100644
index 08f591b117e..00000000000
--- a/pkgs/tools/networking/network-manager/pptp.nix
+++ /dev/null
@@ -1,36 +0,0 @@
-{ stdenv, fetchurl, networkmanager, pptp, ppp, intltool, pkgconfig
-, libsecret, withGnome ? true, gnome3 }:
-
-stdenv.mkDerivation rec {
-  name    = "${pname}${if withGnome then "-gnome" else ""}-${version}";
-  pname   = "NetworkManager-pptp";
-  major   = "1.2";
-  version = "${major}.4";
-
-  src = fetchurl {
-    url    = "mirror://gnome/sources/${pname}/${major}/${pname}-${version}.tar.xz";
-    sha256 = "bd97ce768c34cce6d5b5d43681149a8300bec754397a3f46a0d8d0aea7030c5e";
-  };
-
-  buildInputs = [ networkmanager pptp ppp libsecret ]
-    ++ stdenv.lib.optionals withGnome [ gnome3.gtk gnome3.libgnome-keyring
-                                        gnome3.networkmanagerapplet ];
-
-  nativeBuildInputs = [ intltool pkgconfig ];
-
-  postPatch = ''
-    sed -i -e 's%"\(/usr/sbin\|/usr/pkg/sbin\|/usr/local/sbin\)/[^"]*",%%g' ./src/nm-pptp-service.c
-
-    substituteInPlace ./src/nm-pptp-service.c \
-      --replace /sbin/pptp ${pptp}/bin/pptp \
-      --replace /sbin/pppd ${ppp}/bin/pppd
-  '';
-
-  configureFlags =
-    if withGnome then "--with-gnome --with-gtkver=3" else "--without-gnome";
-
-  meta = {
-    description = "PPtP plugin for NetworkManager";
-    inherit (networkmanager.meta) maintainers platforms;
-  };
-}
diff --git a/pkgs/tools/networking/network-manager/strongswan.nix b/pkgs/tools/networking/network-manager/strongswan.nix
index 4fc9c904f5f..fb3ba2bbdf5 100644
--- a/pkgs/tools/networking/network-manager/strongswan.nix
+++ b/pkgs/tools/networking/network-manager/strongswan.nix
@@ -1,14 +1,14 @@
-{ stdenv, fetchurl, intltool, pkgconfig, networkmanager, strongswanNM, procps
+{ stdenv, fetchurl, intltool, pkgconfig, networkmanager, strongswanNM, sysctl
 , gnome3, libgnome-keyring, libsecret }:
 
 stdenv.mkDerivation rec {
   name    = "${pname}-${version}";
   pname   = "NetworkManager-strongswan";
-  version = "1.4.1";
+  version = "1.4.3";
 
   src = fetchurl {
     url    = "https://download.strongswan.org/NetworkManager/${name}.tar.bz2";
-    sha256 = "0r5j8cr4x01d2cdy970990292n7p9v617cw103kdczw646xwcxs8";
+    sha256 = "0jzl52wmh2q2djb1s546kxliy7s6akhi5bx6rp2ppjfk3wbi2a2l";
   };
 
   postPatch = ''
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
 
   preConfigure = ''
      substituteInPlace "configure" \
-       --replace "/sbin/sysctl" "${procps}/bin/sysctl"
+       --replace "/sbin/sysctl" "${sysctl}/bin/sysctl"
   '';
 
   configureFlags = [ "--with-charon=${strongswanNM}/libexec/ipsec/charon-nm" ];
diff --git a/pkgs/tools/networking/network-manager/vpnc.nix b/pkgs/tools/networking/network-manager/vpnc.nix
index 8d69415313d..81d899527e7 100644
--- a/pkgs/tools/networking/network-manager/vpnc.nix
+++ b/pkgs/tools/networking/network-manager/vpnc.nix
@@ -1,14 +1,13 @@
 { stdenv, fetchurl, vpnc, intltool, pkgconfig, networkmanager, libsecret
 , withGnome ? true, gnome3, procps, kmod }:
-
-stdenv.mkDerivation rec {
-  name    = "${pname}${if withGnome then "-gnome" else ""}-${version}";
+let
   pname   = "NetworkManager-vpnc";
-  major   = "1.2";
-  version = "${major}.4";
+  version = "1.2.4";
+in stdenv.mkDerivation rec {
+  name    = "${pname}${if withGnome then "-gnome" else ""}-${version}";
 
   src = fetchurl {
-    url    = "mirror://gnome/sources/${pname}/${major}/${pname}-${version}.tar.xz";
+    url    = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
     sha256 = "39c7516418e90208cb534c19628ce40fd50eba0a08b2ebaef8da85720b10fb05";
   };
 
@@ -31,6 +30,13 @@ stdenv.mkDerivation rec {
        --replace "/sbin/modprobe" "${kmod}/bin/modprobe"
   '';
 
+  passthru = {
+    updateScript = gnome3.updateScript {
+      packageName = pname;
+      attrPath = "networkmanager-vpnc";
+    };
+  };
+
   meta = {
     description = "NetworkManager's VPNC plugin";
     inherit (networkmanager.meta) maintainers platforms;
diff --git a/pkgs/tools/networking/ngrok-2/default.nix b/pkgs/tools/networking/ngrok-2/default.nix
index 031161da4d5..23725fb2d87 100644
--- a/pkgs/tools/networking/ngrok-2/default.nix
+++ b/pkgs/tools/networking/ngrok-2/default.nix
@@ -1,31 +1,38 @@
 { stdenv, fetchurl, unzip }:
 
+with stdenv.lib;
+
 stdenv.mkDerivation rec {
   name = "ngrok-${version}";
   version = "2.2.8";
 
-  src = if stdenv.system == "i686-linux" then fetchurl {
+  src = if stdenv.isLinux && stdenv.isi686 then fetchurl {
     url = "https://bin.equinox.io/c/4VmDzA7iaHb/ngrok-stable-linux-i386.tgz";
     sha256 = "0s5ymlaxrvm13q3mlvfirh74sx60qh56c5sgdma2r7q5qlsq41xg";
-  } else if stdenv.system == "x86_64-linux" then fetchurl {
+  } else if stdenv.isLinux && stdenv.isx86_64 then fetchurl {
     url = "https://bin.equinox.io/c/4VmDzA7iaHb/ngrok-stable-linux-amd64.tgz";
     sha256 = "1mn9iwgy6xzrjihikwc2k2j59igqmph0cwx17qp0ziap9lp5xxad";
+  } else if stdenv.isDarwin then fetchurl {
+    url = "https://bin.equinox.io/c/4VmDzA7iaHb/ngrok-stable-darwin-386.zip";
+    sha256 = "0yfd250b55wcpgqd00rqfaa7a82f35fmybb31q5xwdbgc2i47pbh";
   } else throw "platform ${stdenv.system} not supported!";
 
   sourceRoot = ".";
 
+  nativeBuildInputs = optional stdenv.isDarwin unzip;
+
   installPhase = ''
     install -D ngrok $out/bin/ngrok
   '';
 
-  meta = with stdenv.lib; {
+  meta = {
     description = "ngrok";
     longDescription = ''
       Allows you to expose a web server running on your local machine to the internet.
     '';
     homepage = https://ngrok.com/;
-    license = stdenv.lib.licenses.unfree;
-    platforms = [ "i686-linux" "x86_64-linux" ];
+    license = licenses.unfree;
+    platforms = [ "i686-linux" "x86_64-linux" "x86_64-darwin" ];
     maintainers = [ maintainers.bobvanderlinden ];
   };
 }
diff --git a/pkgs/tools/networking/nss-mdns/default.nix b/pkgs/tools/networking/nss-mdns/default.nix
index b3d4ec95e06..9f83949e8de 100644
--- a/pkgs/tools/networking/nss-mdns/default.nix
+++ b/pkgs/tools/networking/nss-mdns/default.nix
@@ -1,4 +1,4 @@
-{ fetchurl, stdenv }:
+{ fetchurl, stdenv, fetchpatch }:
 
 stdenv.mkDerivation rec {
   name = "nss-mdns-0.10";
@@ -20,6 +20,16 @@ stdenv.mkDerivation rec {
       "--localstatedir=/var"
     ];
 
+  patches = stdenv.lib.optional stdenv.hostPlatform.isMusl
+    (
+      fetchpatch
+      {
+        url = "https://raw.githubusercontent.com/openembedded/openembedded-core/94f780e889f194b67a48587ac68b3200288bee10/meta/recipes-connectivity/libnss-mdns/libnss-mdns/0001-check-for-nss.h.patch";
+        sha256 = "1l1kjbdw8z31br4vib3l5b85jy7kxin760a2f24lww8v6lqdpgds";
+      }
+    );
+
+
   meta = {
     description = "The mDNS Name Service Switch (NSS) plug-in";
     longDescription = ''
@@ -34,7 +44,7 @@ stdenv.mkDerivation rec {
     license = stdenv.lib.licenses.lgpl2Plus;
 
     # Supports both the GNU and FreeBSD NSS.
-    platforms = stdenv.lib.platforms.gnu ++ stdenv.lib.platforms.freebsd;
+    platforms = stdenv.lib.platforms.gnu ++ stdenv.lib.platforms.linux ++ stdenv.lib.platforms.freebsd;
 
     maintainers = [ ];
   };
diff --git a/pkgs/tools/networking/nzbget/default.nix b/pkgs/tools/networking/nzbget/default.nix
index d72ee844c0e..ef65444ae33 100644
--- a/pkgs/tools/networking/nzbget/default.nix
+++ b/pkgs/tools/networking/nzbget/default.nix
@@ -3,11 +3,11 @@
 
 stdenv.mkDerivation rec {
   name = "nzbget-${version}";
-  version = "19.0";
+  version = "19.1";
 
   src = fetchurl {
     url = "http://github.com/nzbget/nzbget/releases/download/v${version}/nzbget-${version}-src.tar.gz";
-    sha256 = "08kgi4zmh4h1pvxh8x4c3ydf9xl2s6ncm579f0wdm2zknvpf0j16";
+    sha256 = "1rjwv555zc2hiagf00k8l1pzav91qglsnqbqkyy3pmn2d8sl5pq6";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/tools/networking/offlineimap/default.nix b/pkgs/tools/networking/offlineimap/default.nix
index 86a029bcb3d..c1d00dba2b4 100644
--- a/pkgs/tools/networking/offlineimap/default.nix
+++ b/pkgs/tools/networking/offlineimap/default.nix
@@ -2,7 +2,7 @@
   asciidoc, libxml2, libxslt, docbook_xml_xslt }:
 
 pythonPackages.buildPythonApplication rec {
-  version = "7.1.5";
+  version = "7.2.0";
   name = "offlineimap-${version}";
   namePrefix = "";
 
@@ -10,7 +10,7 @@ pythonPackages.buildPythonApplication rec {
     owner = "OfflineIMAP";
     repo = "offlineimap";
     rev = "v${version}";
-    sha256 = "0qm5vhzm8hkab2zs2l8ffg754wkws2nyd4pwb332v3zckf11flzd";
+    sha256 = "0xyvqgy36n0bb41c4ffldyrcnaja5gpwx2ngbnk3qs22ldb2n1sb";
   };
 
   postPatch = ''
diff --git a/pkgs/tools/networking/openfortivpn/default.nix b/pkgs/tools/networking/openfortivpn/default.nix
index 6eafdde1082..b265cdb4c32 100644
--- a/pkgs/tools/networking/openfortivpn/default.nix
+++ b/pkgs/tools/networking/openfortivpn/default.nix
@@ -3,7 +3,7 @@
 with stdenv.lib;
 
 let repo = "openfortivpn";
-    version = "1.6.0";
+    version = "1.7.0";
 
 in stdenv.mkDerivation {
   name = "${repo}-${version}";
@@ -12,7 +12,7 @@ in stdenv.mkDerivation {
     owner = "adrienverge";
     inherit repo;
     rev = "v${version}";
-    sha256 = "0ca80i8m88f4vhwiq548wjyqwwszpbap92l83bl0wdppvp4nk192";
+    sha256 = "1qfz5igry7fhrkz5iyzqpffldhpdvcw98k06yb6acwc1jyv87nh0";
   };
 
   nativeBuildInputs = [ autoreconfHook pkgconfig ];
diff --git a/pkgs/tools/networking/openssh/default.nix b/pkgs/tools/networking/openssh/default.nix
index 1c135cd36f4..42fcc842ad5 100644
--- a/pkgs/tools/networking/openssh/default.nix
+++ b/pkgs/tools/networking/openssh/default.nix
@@ -21,12 +21,12 @@ in
 with stdenv.lib;
 stdenv.mkDerivation rec {
   name = "openssh-${version}";
-  version = if hpnSupport then "7.5p1" else "7.6p1";
+  version = if hpnSupport then "7.6p1" else "7.6p1";
 
   src = if hpnSupport then
       fetchurl {
-        url = "https://github.com/rapier1/openssh-portable/archive/hpn-KitchenSink-7_5_P1.tar.gz";
-        sha256 = "1hasdcfjl6xf5nbbbvqyyq5v7ad10nywrq89j7naxz9wln58nhnn";
+        url = "https://github.com/rapier1/openssh-portable/archive/hpn-KitchenSink-7_6_P1.tar.gz";
+        sha256 = "15b1zjk9f3jlxji1vpqfla40cnzy8hv2clk925cvpgz7lqgv4a1d";
       }
     else
       fetchurl {
diff --git a/pkgs/tools/networking/openvpn/default.nix b/pkgs/tools/networking/openvpn/default.nix
index 272900e0e5b..358c53f453b 100644
--- a/pkgs/tools/networking/openvpn/default.nix
+++ b/pkgs/tools/networking/openvpn/default.nix
@@ -10,11 +10,11 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   name = "openvpn-${version}";
-  version = "2.4.4";
+  version = "2.4.6";
 
   src = fetchurl {
-    url = "http://swupdate.openvpn.net/community/releases/${name}.tar.xz";
-    sha256 = "102an395nv8l7qfx3syydzhmd9xfbycd6gvwy0h2kjz8w67ipkcn";
+    url = "https://swupdate.openvpn.net/community/releases/${name}.tar.xz";
+    sha256 = "09lck4wmkas3iyrzaspin9gn3wiclqb1m9sf8diy7j8wakx38r2g";
   };
 
   nativeBuildInputs = [ pkgconfig ];
@@ -41,7 +41,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "A robust and highly flexible tunneling application";
-    homepage = http://openvpn.net/;
+    homepage = https://openvpn.net/;
     downloadPage = "https://openvpn.net/index.php/open-source/downloads.html";
     license = stdenv.lib.licenses.gpl2;
     maintainers = [ stdenv.lib.maintainers.viric ];
diff --git a/pkgs/tools/networking/p2p/amule/default.nix b/pkgs/tools/networking/p2p/amule/default.nix
index c278cc98935..ac440fc6d33 100644
--- a/pkgs/tools/networking/p2p/amule/default.nix
+++ b/pkgs/tools/networking/p2p/amule/default.nix
@@ -65,7 +65,7 @@ mkDerivation rec {
 
     license = stdenv.lib.licenses.gpl2Plus;
 
-    platforms = stdenv.lib.platforms.gnu;  # arbitrary choice
+    platforms = stdenv.lib.platforms.gnu ++ stdenv.lib.platforms.linux;  # arbitrary choice
     maintainers = [ stdenv.lib.maintainers.phreedom ];
   };
 }
diff --git a/pkgs/tools/networking/p2p/libtorrent/default.nix b/pkgs/tools/networking/p2p/libtorrent/default.nix
index 87785f50e6f..87cf6d172c0 100644
--- a/pkgs/tools/networking/p2p/libtorrent/default.nix
+++ b/pkgs/tools/networking/p2p/libtorrent/default.nix
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
     homepage = "http://rtorrent.net/downloads/";
     description = "A BitTorrent library written in C++ for *nix, with focus on high performance and good code";
 
-    platforms = platforms.linux;
+    platforms = platforms.unix;
     maintainers = with maintainers; [ ebzzry codyopel ];
   };
 }
diff --git a/pkgs/tools/networking/p2p/seeks/default.nix b/pkgs/tools/networking/p2p/seeks/default.nix
index cddfb9621dc..2a89e419b2e 100644
--- a/pkgs/tools/networking/p2p/seeks/default.nix
+++ b/pkgs/tools/networking/p2p/seeks/default.nix
@@ -63,6 +63,7 @@ stdenv.mkDerivation {
     maintainers = [
       stdenv.lib.maintainers.matejc
     ];
-    platforms = stdenv.lib.platforms.gnu;  # arbitrary choice
+    platforms = stdenv.lib.platforms.gnu ++ stdenv.lib.platforms.linux;  # arbitrary choice
+    broken = true; # 2018-04-11
   };
 }
diff --git a/pkgs/tools/networking/p2p/tahoe-lafs/default.nix b/pkgs/tools/networking/p2p/tahoe-lafs/default.nix
index 4bdc630efd7..c682100b438 100644
--- a/pkgs/tools/networking/p2p/tahoe-lafs/default.nix
+++ b/pkgs/tools/networking/p2p/tahoe-lafs/default.nix
@@ -1,4 +1,4 @@
-{ fetchurl, lib, unzip, nettools, pythonPackages }:
+{ fetchurl, lib, unzip, nettools, pythonPackages, texinfo }:
 
 # FAILURES: The "running build_ext" phase fails to compile Twisted
 # plugins, because it tries to write them into Twisted's (immutable)
@@ -15,7 +15,9 @@ pythonPackages.buildPythonApplication rec {
     sha256 = "0x9f1kjym1188fp6l5sqy0zz8mdb4xw861bni2ccv26q482ynbks";
   };
 
-  patchPhase = ''
+  outputs = [ "out" "doc" "info" ];
+
+  postPatch = ''
     sed -i "src/allmydata/util/iputil.py" \
         -es"|_linux_path = '/sbin/ifconfig'|_linux_path = '${nettools}/bin/ifconfig'|g"
 
@@ -30,6 +32,24 @@ pythonPackages.buildPythonApplication rec {
     sed -i 's/"pycrypto.*"/"pycrypto"/' src/allmydata/_auto_deps.py
   '';
 
+  # Remove broken and expensive tests.
+  preConfigure = ''
+    (
+      cd src/allmydata/test
+
+      # Buggy?
+      rm cli/test_create.py test_backupdb.py
+
+      # These require Tor and I2P.
+      rm test_connections.py test_iputil.py test_hung_server.py test_i2p_provider.py test_tor_provider.py
+
+      # Expensive
+      rm test_system.py
+    )
+  '';
+
+  nativeBuildInputs = with pythonPackages; [ sphinx texinfo ];
+
   buildInputs = with pythonPackages; [ unzip numpy mock ];
 
   # The `backup' command requires `sqlite3'.
@@ -39,16 +59,23 @@ pythonPackages.buildPythonApplication rec {
     service-identity pyyaml
   ];
 
+  # Install the documentation.
   postInstall = ''
-    # Install the documentation.
-    mkdir -p "$out/share/doc/${name}"
-    cp -rv "docs/"* "$out/share/doc/${name}"
-    find "$out/share/doc/${name}" -name Makefile -exec rm -v {} \;
+    (
+      cd docs
+
+      make singlehtml
+      mkdir -p "$doc/share/doc/${name}"
+      cp -rv _build/singlehtml/* "$doc/share/doc/${name}"
+
+      make info
+      mkdir -p "$info/share/info"
+      cp -rv _build/texinfo/*.info "$info/share/info"
+    )
   '';
 
   checkPhase = ''
-    # Still broken. ~ C.
-    #   trial allmydata
+    trial --rterrors allmydata
   '';
 
   meta = {
@@ -62,6 +89,6 @@ pythonPackages.buildPythonApplication rec {
     homepage = http://tahoe-lafs.org/;
     license = [ lib.licenses.gpl2Plus /* or */ "TGPPLv1+" ];
     maintainers = with lib.maintainers; [ MostAwesomeDude ];
-    platforms = lib.platforms.gnu;  # arbitrary choice
+    platforms = lib.platforms.gnu ++ lib.platforms.linux;
   };
 }
diff --git a/pkgs/tools/networking/pacparser/default.nix b/pkgs/tools/networking/pacparser/default.nix
new file mode 100644
index 00000000000..54b3cf8fd81
--- /dev/null
+++ b/pkgs/tools/networking/pacparser/default.nix
@@ -0,0 +1,27 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  name = "pacparser-${version}";
+  version = "1.3.7";
+
+  src = fetchurl {
+    url = "https://github.com/manugarg/pacparser/releases/download/${version}/${name}.tar.gz";
+    sha256 = "0jfjm8lqyhdy9ny8a8icyd4rhclhfn608cr1i15jml82q8pyqj7b";
+  };
+
+  makeFlags = [ "NO_INTERNET=1" ];
+
+  preConfigure = ''
+    export makeFlags="$makeFlags PREFIX=$out"
+    patchShebangs tests/runtests.sh
+    cd src
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A library to parse proxy auto-config (PAC) files";
+    homepage = http://pacparser.manugarg.com/;
+    license = licenses.lgpl3;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ abbradar ];
+  };
+}
diff --git a/pkgs/tools/networking/ppp/default.nix b/pkgs/tools/networking/ppp/default.nix
index 570e85c3281..96016ee7b4f 100644
--- a/pkgs/tools/networking/ppp/default.nix
+++ b/pkgs/tools/networking/ppp/default.nix
@@ -23,15 +23,30 @@ stdenv.mkDerivation rec {
         url = "https://anonscm.debian.org/git/collab-maint/pkg-ppp.git/plain/debian/patches/rc_mksid-no-buffer-overflow?h=debian/2.4.7-1%2b4";
         sha256 = "1dk00j7bg9nfgskw39fagnwv1xgsmyv0xnkd6n1v5gy0psw0lvqh";
       })
+      (fetchurl {
+        url = "https://anonscm.debian.org/git/collab-maint/pkg-ppp.git/plain/debian/patches/0016-pppoe-include-netinet-in.h-before-linux-in.h.patch";
+        sha256 = "1xnmqn02kc6g5y84xynjwnpv9cvrfn3nyv7h7r8j8xi7qf2aj4q8";
+      })
       ./musl-fix-headers.patch
     ];
 
   buildInputs = [ libpcap ];
 
+  postPatch = ''
+    # strip is not found when cross compiling with seemingly no way to point
+    # make to the right place, fixup phase will correctly strip
+    # everything anyway so we remove it from the Makefiles
+    for file in $(find -name Makefile.linux); do
+      substituteInPlace "$file" --replace '$(INSTALL) -s' '$(INSTALL)'
+    done
+  '';
+
   installPhase = ''
+    runHook preInstall
     mkdir -p $out/bin
     make install
     install -D -m 755 scripts/{pon,poff,plog} $out/bin
+    runHook postInstall
   '';
 
   postFixup = ''
diff --git a/pkgs/tools/networking/ppp/musl-fix-headers.patch b/pkgs/tools/networking/ppp/musl-fix-headers.patch
index d24f6289684..030cc97d157 100644
--- a/pkgs/tools/networking/ppp/musl-fix-headers.patch
+++ b/pkgs/tools/networking/ppp/musl-fix-headers.patch
@@ -89,12 +89,12 @@ index 3d3bf4e..b5f82d3 100644
     use different frame types... sigh... */
  
 diff --git a/pppd/plugins/rp-pppoe/pppoe.h b/pppd/plugins/rp-pppoe/pppoe.h
-index 9ab2eee..4d68147 100644
+index c4aaa6e..70aef85 100644
 --- a/pppd/plugins/rp-pppoe/pppoe.h
 +++ b/pppd/plugins/rp-pppoe/pppoe.h
-@@ -86,18 +86,6 @@ typedef unsigned long UINT32_t;
- 
- #include <netinet/in.h>
+@@ -88,18 +88,6 @@ typedef unsigned long UINT32_t;
+ #include <linux/if_ether.h>
+ #endif
  
 -#ifdef HAVE_NETINET_IF_ETHER_H
 -#include <sys/types.h>
@@ -108,9 +108,9 @@ index 9ab2eee..4d68147 100644
 -#endif
 -
 -
- 
  /* Ethernet frame types according to RFC 2516 */
  #define ETH_PPPOE_DISCOVERY 0x8863
+ #define ETH_PPPOE_SESSION   0x8864
 diff --git a/pppd/sys-linux.c b/pppd/sys-linux.c
 index 6d71530..86d224e 100644
 --- a/pppd/sys-linux.c
diff --git a/pkgs/tools/networking/pssh/default.nix b/pkgs/tools/networking/pssh/default.nix
index ddaf419e565..22c35962050 100644
--- a/pkgs/tools/networking/pssh/default.nix
+++ b/pkgs/tools/networking/pssh/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, pythonPackages }:
+{ stdenv, fetchFromGitHub, pythonPackages, openssh, rsync }:
 
 pythonPackages.buildPythonApplication rec {
   name = "pssh-${version}";
@@ -11,6 +11,15 @@ pythonPackages.buildPythonApplication rec {
     sha256 = "0nawarxczfwajclnlsimhqkpzyqb1byvz9nsl54mi1bp80z5i4jq";
   };
 
+  postPatch = ''
+    for f in bin/*; do
+      substituteInPlace $f \
+        --replace "'ssh'" "'${openssh}/bin/ssh'" \
+        --replace "'scp'" "'${openssh}/bin/scp'" \
+        --replace "'rsync'" "'${rsync}/bin/rsync'"
+    done
+  '';
+
   meta = with stdenv.lib; {
     description = "Parallel SSH Tools";
     longDescription = ''
diff --git a/pkgs/tools/networking/redir/default.nix b/pkgs/tools/networking/redir/default.nix
index a257cb713db..350d31c19da 100644
--- a/pkgs/tools/networking/redir/default.nix
+++ b/pkgs/tools/networking/redir/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "redir-${version}";
-  version = "3.1";
+  version = "3.2";
 
   src = fetchFromGitHub {
     owner = "troglobit";
     repo = "redir";
     rev = "v${version}";
-    sha256 = "1m05dchi15bzz9zfdb7jg59624sx4khp5zq0wf4pzr31s64f69cx";
+    sha256 = "015vxpy6n7xflkq0lgls4f4vw7ynvv2635bwykzglin3v5ssrm2k";
   };
 
   nativeBuildInputs = [ autoreconfHook ];
diff --git a/pkgs/tools/networking/shadowsocks-libev/default.nix b/pkgs/tools/networking/shadowsocks-libev/default.nix
index 46fd9e54950..cbbc36b383b 100644
--- a/pkgs/tools/networking/shadowsocks-libev/default.nix
+++ b/pkgs/tools/networking/shadowsocks-libev/default.nix
@@ -1,47 +1,32 @@
-{ withMbedTLS ? true
-, enableSystemSharedLib ? true
-, stdenv, fetchurl, zlib
-, openssl ? null
-, mbedtls ? null
-, libev ? null
-, libsodium ? null
-, udns ? null
-, asciidoc
-, xmlto
-, docbook_xml_dtd_45
-, docbook_xsl
-, libxslt
-, pcre
+{ stdenv, fetchurl, fetchgit, cmake
+, libsodium, mbedtls, libev, c-ares, pcre
+, asciidoc, xmlto, docbook_xml_dtd_45, docbook_xsl, libxslt
 }:
 
-let
-
-  version = "2.5.5";
-  sha256 = "46a72367b7301145906185f1e4136e39d6792d27643826e409ab708351b6d0dd";
-
-in
-
-with stdenv.lib;
-
 stdenv.mkDerivation rec {
   name = "shadowsocks-libev-${version}";
-  src = fetchurl {
-    url = "https://github.com/shadowsocks/shadowsocks-libev/archive/v${version}.tar.gz";
-    inherit sha256;
+  version = "3.1.3";
+
+  # Git tag includes CMake build files which are much more convenient.
+  # fetchgit because submodules.
+  src = fetchgit {
+    url = "https://github.com/shadowsocks/shadowsocks-libev";
+    rev = "refs/tags/v${version}";
+    sha256 = "16q91xh6ixfv7b5rl31an11101irv08119klfx5qgj4i6h7c41s7";
   };
 
-  buildInputs = [ zlib asciidoc xmlto docbook_xml_dtd_45 docbook_xsl libxslt pcre ]
-                ++ optional (!withMbedTLS) openssl
-                ++ optional withMbedTLS mbedtls
-                ++ optionals enableSystemSharedLib [libev libsodium udns];
+  buildInputs = [ libsodium mbedtls libev c-ares pcre ];
+  nativeBuildInputs = [ cmake asciidoc xmlto docbook_xml_dtd_45 docbook_xsl libxslt ];
+
+  cmakeFlags = [ "-DWITH_STATIC=OFF" ];
 
-  configureFlags = optional withMbedTLS
-                     [ "--with-crypto-library=mbedtls"
-                       "--with-mbedtls=${mbedtls}"
-                     ]
-                   ++ optional enableSystemSharedLib "--enable-system-shared-lib";
+  postInstall = ''
+    cp lib/* $out/lib
+    chmod +x $out/bin/*
+    mv $out/pkgconfig $out/lib
+  '';
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "A lightweight secured SOCKS5 proxy";
     longDescription = ''
       Shadowsocks-libev is a lightweight secured SOCKS5 proxy for embedded devices and low-end boxes.
@@ -50,6 +35,6 @@ stdenv.mkDerivation rec {
     homepage = https://github.com/shadowsocks/shadowsocks-libev;
     license = licenses.gpl3Plus;
     maintainers = [ maintainers.nfjinjing ];
-    platforms = platforms.all;
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/tools/networking/snabb/default.nix b/pkgs/tools/networking/snabb/default.nix
index 46580c0b802..cdf14f5af33 100644
--- a/pkgs/tools/networking/snabb/default.nix
+++ b/pkgs/tools/networking/snabb/default.nix
@@ -1,14 +1,18 @@
-{ stdenv, lib, fetchFromGitHub, bash, makeWrapper, git, mysql, diffutils, which, coreutils, procps, nettools }:
+{ stdenv, fetchFromGitHub, bash, makeWrapper, git, mysql, diffutils, which, coreutils, procps, nettools
+,supportOpenstack ? true
+}:
+
+with stdenv.lib;
 
 stdenv.mkDerivation rec {
   name = "snabb-${version}";
-  version = "2016.04";
+  version = "2018.01.2";
 
   src = fetchFromGitHub {
     owner = "snabbco";
     repo = "snabb";
     rev = "v${version}";
-    sha256 = "1b5g477zy6cr5d9171xf8zrhhq6wxshg4cn78i5bki572q86kwlx";
+    sha256 = "0n6bjf5g4imy0aql8fa55c0db3w8h944ia1dk10167x5pqvkgdgm";
   };
 
   buildInputs = [ makeWrapper ];
@@ -20,10 +24,14 @@ stdenv.mkDerivation rec {
     for f in $(find src/program/snabbnfv/ -type f); do
       substituteInPlace $f --replace "/bin/bash" "${bash}/bin/bash"
     done
-
+  '' + optionalString supportOpenstack ''
     # We need a way to pass $PATH to the scripts
-    sed -i '2iexport PATH=${stdenv.lib.makeBinPath [ git mysql.client which procps coreutils ]}' src/program/snabbnfv/neutron_sync_master/neutron_sync_master.sh.inc
-    sed -i '2iexport PATH=${stdenv.lib.makeBinPath [ git coreutils diffutils nettools ]}' src/program/snabbnfv/neutron_sync_agent/neutron_sync_agent.sh.inc
+    sed -i '2iexport PATH=${git}/bin:${mysql}/bin:${which}/bin:${procps}/bin:${coreutils}/bin' src/program/snabbnfv/neutron_sync_master/neutron_sync_master.sh.inc
+    sed -i '2iexport PATH=${git}/bin:${coreutils}/bin:${diffutils}/bin:${nettools}/bin' src/program/snabbnfv/neutron_sync_agent/neutron_sync_agent.sh.inc
+  '';
+
+  preBuild = ''
+    make clean
   '';
 
   installPhase = ''
@@ -35,7 +43,7 @@ stdenv.mkDerivation rec {
   # "Fatal error: can't create obj/arch/sse2_c.o: No such file or directory".
   enableParallelBuilding = false;
 
-  meta = with stdenv.lib; {
+  meta =  {
     homepage = https://github.com/SnabbCo/snabbswitch;
     description = "Simple and fast packet networking toolkit";
     longDescription = ''
diff --git a/pkgs/tools/networking/ssmtp/default.nix b/pkgs/tools/networking/ssmtp/default.nix
index ceac5a58800..031f32b5362 100644
--- a/pkgs/tools/networking/ssmtp/default.nix
+++ b/pkgs/tools/networking/ssmtp/default.nix
@@ -4,7 +4,7 @@ assert tlsSupport -> openssl != null;
 
 stdenv.mkDerivation {
   name = "ssmtp-2.64";
-  
+
   src = fetchurl {
     url = mirror://debian/pool/main/s/ssmtp/ssmtp_2.64.orig.tar.bz2;
     sha256 = "0dps8s87ag4g3jr6dk88hs9zl46h3790marc5c2qw7l71k4pvhr2";
@@ -28,7 +28,7 @@ stdenv.mkDerivation {
   installFlags = "etcdir=$(out)/etc";
 
   installTargets = [ "install" "install-sendmail" ];
-  
+
   buildInputs = stdenv.lib.optional tlsSupport openssl;
 
   meta = with stdenv.lib; {
diff --git a/pkgs/tools/networking/strongswan/default.nix b/pkgs/tools/networking/strongswan/default.nix
index 042f8bea3d6..eb466745ef8 100644
--- a/pkgs/tools/networking/strongswan/default.nix
+++ b/pkgs/tools/networking/strongswan/default.nix
@@ -3,11 +3,15 @@
 , gmp, python, iptables, ldns, unbound, openssl, pcsclite
 , openresolv
 , systemd, pam
-
-, enableTNC            ? false, curl, trousers, sqlite, libxml2
+, curl
+, enableTNC            ? false, trousers, sqlite, libxml2
 , enableNetworkManager ? false, networkmanager
 }:
 
+# Note on curl support: If curl is built with gnutls as its backend, the
+# strongswan curl plugin may break.
+# See https://wiki.strongswan.org/projects/strongswan/wiki/Curl for more info.
+
 with stdenv.lib;
 
 stdenv.mkDerivation rec {
@@ -23,8 +27,8 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkgconfig autoreconfHook ];
   buildInputs =
-    [ gmp python iptables ldns unbound openssl pcsclite ]
-    ++ optionals enableTNC [ curl trousers sqlite libxml2 ]
+    [ curl gmp python iptables ldns unbound openssl pcsclite ]
+    ++ optionals enableTNC [ trousers sqlite libxml2 ]
     ++ optionals stdenv.isLinux [ systemd.dev pam ]
     ++ optionals enableNetworkManager [ networkmanager ];
 
@@ -61,12 +65,12 @@ stdenv.mkDerivation rec {
       "--enable-eap-mschapv2" "--enable-eap-radius" "--enable-xauth-eap" "--enable-ext-auth"
       "--enable-forecast" "--enable-connmark" "--enable-acert"
       "--enable-pkcs11" "--enable-eap-sim-pcsc" "--enable-dnscert" "--enable-unbound"
-      "--enable-af-alg" "--enable-xauth-pam" "--enable-chapoly" ]
+      "--enable-af-alg" "--enable-xauth-pam" "--enable-chapoly"
+      "--enable-curl" ]
     ++ optionals stdenv.isx86_64 [ "--enable-aesni" "--enable-rdrand" ]
     ++ optional (stdenv.system == "i686-linux") "--enable-padlock"
     ++ optionals enableTNC [
          "--disable-gmp" "--disable-aes" "--disable-md5" "--disable-sha1" "--disable-sha2" "--disable-fips-prf"
-         "--enable-curl"
          "--enable-eap-tnc" "--enable-eap-ttls" "--enable-eap-dynamic" "--enable-tnccs-20"
          "--enable-tnc-imc" "--enable-imc-os" "--enable-imc-attestation"
          "--enable-tnc-imv" "--enable-imv-attestation"
diff --git a/pkgs/tools/networking/tcpdump/default.nix b/pkgs/tools/networking/tcpdump/default.nix
index 324a58cf7ed..59cc89ac572 100644
--- a/pkgs/tools/networking/tcpdump/default.nix
+++ b/pkgs/tools/networking/tcpdump/default.nix
@@ -1,6 +1,4 @@
-{ stdenv, fetchurl, fetchpatch, libpcap, enableStatic ? false
-, hostPlatform
-}:
+{ stdenv, fetchurl, fetchpatch, libpcap }:
 
 stdenv.mkDerivation rec {
   name = "tcpdump-${version}";
@@ -20,11 +18,9 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ libpcap ];
 
-  crossAttrs = {
-    LDFLAGS = if enableStatic then "-static" else "";
-    configureFlags = [ "ac_cv_linux_vers=2" ] ++ (stdenv.lib.optional
-      (hostPlatform.platform.kernelMajor or null == "2.4") "--disable-ipv6");
-  };
+  configureFlags = stdenv.lib.optional
+    (stdenv.hostPlatform != stdenv.buildPlatform)
+    "ac_cv_linux_vers=2";
 
   meta = {
     description = "Network sniffer";
diff --git a/pkgs/tools/networking/telnet/default.nix b/pkgs/tools/networking/telnet/default.nix
index 3a5117653c8..d9de9c15763 100644
--- a/pkgs/tools/networking/telnet/default.nix
+++ b/pkgs/tools/networking/telnet/default.nix
@@ -13,10 +13,12 @@ stdenv.mkDerivation {
 
   buildInputs = [ncurses];
 
+  doInstallCheck = false; # fails
+
   meta = {
     description = "A client and daemon for the Telnet protocol";
     homepage = ftp://ftp.suse.com/pub/people/kukuk/ipv6/;
     license = "BSD";
-    platforms = stdenv.lib.platforms.gnu;
+    platforms = stdenv.lib.platforms.gnu ++ stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/tools/networking/tlspool/configvar-fix.patch b/pkgs/tools/networking/tlspool/configvar-fix.patch
deleted file mode 100644
index 424fef20dcf..00000000000
--- a/pkgs/tools/networking/tlspool/configvar-fix.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From 8561789ba70ae5d741992b143ee288b8e11a5e2b Mon Sep 17 00:00:00 2001
-From: joachim schiele <js@lastlog.de>
-Date: Wed, 1 Mar 2017 15:15:22 +0100
-Subject: [PATCH] fix to
- https://github.com/arpa2/tlspool/issues/58#issuecomment-283333738
-
----
- tool/Makefile | 5 ++---
- 1 file changed, 2 insertions(+), 3 deletions(-)
-
-diff --git a/tool/Makefile b/tool/Makefile
-index 9a15012..0f655e9 100644
---- a/tool/Makefile
-+++ b/tool/Makefile
-@@ -38,7 +38,6 @@ pgp11genkey_LIBS = $(P11KIT_LIBS) -lcrypto
- 
- configvar_CFLAGS = $(tlspool_CFLAGS)
- configvar_LDFLAGS = $(tlspool_LDFLAGS)
--configvar_LIBS = $(tlspool_LIBS)
- 
- P11KIT_CFLAGS = $(shell pkg-config --cflags p11-kit-1)
- P11KIT_LIBS   = $(shell pkg-config --libs   p11-kit-1)
-@@ -96,8 +95,8 @@ have_db: have_db.c
- pgp11_genkey: pgp11_genkey.c
- 	gcc -std=gnu11 $(CFLAGS) $(pgp11genkey_CFLAGS) -o "$@" "$<" $(pgp11genkey_LIBS)
- 
--configvar: configvar.c $(configvar_LIBS)
--	gcc -std=gnu11 $(CFLAGS) $(configvar_CFLAGS) $(configvar_LDFLAGS) $(configvar_CFLAGS) -o "$@" "$<" $(configvar_LIBS)
-+configvar: configvar.c
-+	gcc -std=gnu11 $(CFLAGS) $(configvar_CFLAGS) $(configvar_LDFLAGS) $(configvar_CFLAGS) -o "$@" "$<"
- 
- $(tlspool_LIBS):
- 	$(MAKE) -C ../lib `basename $(tlspool_LIBS)`
--- 
-2.12.0
-
diff --git a/pkgs/tools/networking/tlspool/default.nix b/pkgs/tools/networking/tlspool/default.nix
index 02d3f2c2948..b992fef2253 100644
--- a/pkgs/tools/networking/tlspool/default.nix
+++ b/pkgs/tools/networking/tlspool/default.nix
@@ -1,56 +1,51 @@
-{ pkgs, stdenv, fetchFromGitHub, unzip, libtool, pkgconfig, git, p11-kit,
-  libtasn1, db, openldap, libmemcached, cyrus_sasl, openssl, softhsm, bash,
-  python, libkrb5, quickder, unbound, ldns, gnupg, gnutls-kdh,
-  useSystemd ? true, systemd, swig
+{ stdenv, fetchFromGitHub
+, cmake, pkgconfig, arpa2cm
+, openldap, p11-kit, unbound, libtasn1, db, openssl, quickder, libkrb5, ldns, gnutls-kdh
+, softhsm
 }:
 
 let
   pname = "tlspool";
-  version = "20170123";
+  version = "20180227";
 in
 
 stdenv.mkDerivation rec {
   name = "${pname}-${version}";
-  src = fetchFromGitHub { 
+  src = fetchFromGitHub {
     owner = "arpa2";
     repo = "tlspool";
-    rev = "90cfa0758b02849114ba6373f280a4f2d3e534bf";
-    sha256 = "1qyq6da5bsgb8y9f3jhfrnhbvjns4k80lpkrydkvfx83bg494370";
+    rev = "b4459637d71c7602e94d455e23c74f3973b9cf30";
+    sha256 = "0x78f2bdsiglwicwn3injm5ysfjlfa0yzdpnc0r3iw4z0n89rj2r";
   };
 
-  propagatedBuildInputs = [ python softhsm openldap p11-kit.dev p11-kit.out gnupg ];
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ unbound unzip git libtasn1 db libmemcached cyrus_sasl openssl bash quickder
-                  libkrb5 ldns libtool swig pkgs.pythonPackages.pip gnutls-kdh ]
-                ++ stdenv.lib.optional useSystemd systemd;
+  nativeBuildInputs = [
+    cmake pkgconfig arpa2cm
+  ];
 
-  patches = [ ./fixing-rpath.patch ./configvar-fix.patch ];
+  buildInputs = [
+    openldap p11-kit unbound libtasn1 db openssl quickder libkrb5 ldns gnutls-kdh
+  ];
 
   postPatch = ''
+    # CMake is probably confused because the current version isn't 1.2.6, but 1.2-6
+    substituteInPlace CMakeLists.txt \
+      --replace "Quick-DER 1.2.4" "Quick-DER 1.2"
     substituteInPlace etc/tlspool.conf \
       --replace "dnssec_rootkey ../etc/root.key" "dnssec_rootkey $out/etc/root.key" \
       --replace "pkcs11_path /usr/local/lib/softhsm/libsofthsm2.so" "pkcs11_path ${softhsm}/lib/softhsm/libsofthsm2.so"
-    substituteInPlace lib/Makefile \
-      --replace "DESTDIR=\$(DESTDIR) PREFIX=\$(PREFIX)" "DESTDIR=\$(DESTDIR) PREFIX=\$(PREFIX) SWIG=${swig}/bin/swig"
   '';
 
-  buildPhase = ''
-    make clean
-    make DESTDIR=$out PREFIX=/ all
-  '';
-
-  installPhase = ''
-    mkdir -p $out/bin $out/lib $out/sbin $out/etc/tlspool/ $out/include/${pname}/pulleyback
-    make DESTDIR=$out PREFIX=/ install
-    cp -R etc/* $out/etc/tlspool/
-    cp include/tlspool/*.h $out/include/${pname}
-    cp pulleyback/*.h $out/include/${pname}/pulleyback/
-    cp src/*.h $out/include/${pname}
+  postInstall = ''
+    mkdir -p $out/include/${pname}/pulleyback $out/etc/tlspool
+    cp -R $src/etc/* $out/etc/tlspool/
+    cp $src/include/tlspool/*.h $out/include/${pname}
+    cp $src/pulleyback/*.h $out/include/${pname}/pulleyback/
+    cp $src/src/*.h $out/include/${pname}
   '';
 
   meta = with stdenv.lib; {
     description = "A supercharged TLS daemon that allows for easy, strong and consistent deployment";
-    license = licenses.bsd2;
+    license = licenses.gpl3;
     homepage = http://www.tlspool.org;
     maintainers = with maintainers; [ leenaars qknight ];
   };
diff --git a/pkgs/tools/networking/tlspool/fixing-rpath.patch b/pkgs/tools/networking/tlspool/fixing-rpath.patch
deleted file mode 100644
index 6a434f3e400..00000000000
--- a/pkgs/tools/networking/tlspool/fixing-rpath.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From 8082f050794f771d1afb8e5c3d08862fc633922b Mon Sep 17 00:00:00 2001
-From: joachim schiele <js@lastlog.de>
-Date: Wed, 1 Mar 2017 13:12:19 +0100
-Subject: [PATCH] RPATH is back
- https://github.com/arpa2/tlspool/issues/58#issuecomment-283318767
-
----
- tool/Makefile | 10 +++++++++-
- 1 file changed, 9 insertions(+), 1 deletion(-)
-
-diff --git a/tool/Makefile b/tool/Makefile
-index c1e6ce9..9a15012 100644
---- a/tool/Makefile
-+++ b/tool/Makefile
-@@ -18,9 +18,17 @@ LIBS =
- 
- PREFIX = /usr/local
- 
-+DIR := ${CURDIR}
-+LIBDIR := ""
-+ifndef DESTDIR
-+       LIBDIR=$(DIR)/../lib/
-+else
-+       LIBDIR=$(DESTDIR)/lib
-+endif
-+
- tlspool_CFLAGS =
- tlspool_LIBS = ../lib/libtlspool.so
--tlspool_LDFLAGS = -L ../lib -ltlspool
-+tlspool_LDFLAGS = -L ../lib -ltlspool -Wl,-rpath,$(LIBDIR)
- 
- donai_CFLAGS = -DDONAI_ONLY_TEXTPROC
- donai_SRC = ../src/donai.c
--- 
-2.11.1
-
diff --git a/pkgs/tools/networking/toxvpn/default.nix b/pkgs/tools/networking/toxvpn/default.nix
index c7fa1c7a271..ccb9f3bc0d6 100644
--- a/pkgs/tools/networking/toxvpn/default.nix
+++ b/pkgs/tools/networking/toxvpn/default.nix
@@ -1,25 +1,22 @@
 { stdenv, fetchFromGitHub, cmake, nlohmann_json,
-libtoxcore, libsodium, systemd, libcap, zeromq }:
+  libtoxcore, libsodium, libcap, zeromq,
+  systemd ? null }:
 
 with stdenv.lib;
 
-let
-  systemdOrNull = if stdenv.system == "x86_64-darwin" then null else systemd;
-  if_systemd = optional (systemdOrNull != null);
-in stdenv.mkDerivation rec {
-  name = "toxvpn-${version}";
-  version = "2017-06-25";
+stdenv.mkDerivation rec {
+  name = "toxvpn-2018-04-17";
 
   src = fetchFromGitHub {
     owner  = "cleverca22";
     repo   = "toxvpn";
-    rev    = "7bd6f169d69c511affa8c9672e8f794e4e205a44";
-    sha256 = "1km8hkrxmrnca1b49vbw5kyldayaln5plvz78vhf8325r6c5san0";
+    rev    = "dc766f98888f500ea51f002f59007eac3f3a0a06";
+    sha256 = "19br3fmrdm45fvymj9kvwikkn8m657yd5fkhx6grv35ckrj83mxz";
   };
 
   buildInputs = [ libtoxcore nlohmann_json libsodium zeromq ]
-    ++ if_systemd systemd
-    ++ optional (stdenv.system != "x86_64-darwin") libcap;
+    ++ optionals stdenv.isLinux [ libcap systemd ];
+
   nativeBuildInputs = [ cmake ];
 
   cmakeFlags = optional stdenv.isLinux [ "-DSYSTEMD=1" ];
diff --git a/pkgs/tools/networking/uget-integrator/default.nix b/pkgs/tools/networking/uget-integrator/default.nix
new file mode 100644
index 00000000000..cc93da7f253
--- /dev/null
+++ b/pkgs/tools/networking/uget-integrator/default.nix
@@ -0,0 +1,39 @@
+{ stdenv, fetchFromGitHub, uget, python3Packages }:
+
+stdenv.mkDerivation rec {
+  name = "uget-integrator-${version}";
+  version = "1.0.0";
+
+  src = fetchFromGitHub {
+    owner = "ugetdm";
+    repo = "uget-integrator";
+    rev = "v${version}";
+    sha256 = "0bfqwbpprxp5sy49p2hqcjdfj7zamnp2hhcnnyccffkn7pghx8pp";
+  };
+
+  nativeBuildInputs = [ python3Packages.wrapPython ];
+
+  buildInputs = [ uget python3Packages.python ];
+
+  installPhase = ''
+    for f in conf/com.ugetdm.{chrome,firefox}.json; do
+      substituteInPlace $f --replace "/usr" "$out"
+    done
+
+	  install -D -t $out/bin                                   bin/uget-integrator
+	  install -D -t $out/etc/opt/chrome/native-messaging-hosts conf/com.ugetdm.chrome.json
+	  install -D -t $out/etc/chromium/native-messaging-hosts   conf/com.ugetdm.chrome.json
+	  install -D -t $out/etc/opera/native-messaging-hosts      conf/com.ugetdm.chrome.json
+	  install -D -t $out/lib/mozilla/native-messaging-hosts    conf/com.ugetdm.firefox.json
+
+    wrapPythonPrograms
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Native messaging host to integrate uGet Download Manager with web browsers";
+    homepage = https://github.com/ugetdm/uget-integrator;
+    license = licenses.gpl3;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.romildo ];
+  };
+}
diff --git a/pkgs/tools/networking/uget/default.nix b/pkgs/tools/networking/uget/default.nix
index 620584ab1df..6779d864ce2 100644
--- a/pkgs/tools/networking/uget/default.nix
+++ b/pkgs/tools/networking/uget/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   name = "uget-${version}";
-  version = "2.2.0";
+  version = "2.2.1";
 
   src = fetchurl {
     url = "mirror://sourceforge/urlget/${name}.tar.gz";
-    sha256 = "0rg2mr2cndxvnjib8zm5dp7y2hgbvnqkz2j2jmg0xlzfh9d34b2m";
+    sha256 = "0dlrjhnm1pg2vwmp7nl2xv1aia5hyirb3021rl46x859k63zap24";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/tools/networking/unbound/default.nix b/pkgs/tools/networking/unbound/default.nix
index cc2f994d0d5..d7ef54a2497 100644
--- a/pkgs/tools/networking/unbound/default.nix
+++ b/pkgs/tools/networking/unbound/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "unbound-${version}";
-  version = "1.6.8";
+  version = "1.7.1";
 
   src = fetchurl {
     url = "https://unbound.net/downloads/${name}.tar.gz";
-    sha256 = "0jfxhh4gc5amhndikskz1s7da27ycn442j3l20bm992n7zijid73";
+    sha256 = "13b210hd200xxvaffyzqb4g58knv1sfigph70ai74lrcb3pqbq2n";
   };
 
   outputs = [ "out" "lib" "man" ]; # "dev" would only split ~20 kB
diff --git a/pkgs/tools/networking/urlwatch/default.nix b/pkgs/tools/networking/urlwatch/default.nix
index 0c37043de9b..3e77117e55f 100644
--- a/pkgs/tools/networking/urlwatch/default.nix
+++ b/pkgs/tools/networking/urlwatch/default.nix
@@ -2,13 +2,13 @@
 
 python3Packages.buildPythonApplication rec {
   name = "urlwatch-${version}";
-  version = "2.8";
+  version = "2.9";
 
   src = fetchFromGitHub {
     owner  = "thp";
     repo   = "urlwatch";
     rev    = version;
-    sha256 = "1nja7n6pc45azd3l1xyvav89855lvcgwabrvf34rps81dbl8cnl4";
+    sha256 = "0biy02vyhdwghy9qjmjwlfd8hzaz9gfsssd53ng6zpww4wkkiydz";
   };
 
   propagatedBuildInputs = with python3Packages; [
diff --git a/pkgs/tools/networking/vde2/default.nix b/pkgs/tools/networking/vde2/default.nix
index ff54e1ab2d2..39674d22aa1 100644
--- a/pkgs/tools/networking/vde2/default.nix
+++ b/pkgs/tools/networking/vde2/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, openssl, libpcap, python2 }:
+{ stdenv, fetchurl, fetchpatch, openssl, libpcap, python2 }:
 
 stdenv.mkDerivation rec {
   name = "vde2-2.3.2";
@@ -8,6 +8,14 @@ stdenv.mkDerivation rec {
     sha256 = "14xga0ib6p1wrv3hkl4sa89yzjxv7f1vfqaxsch87j6scdm59pr2";
   };
 
+  patches = stdenv.lib.optional stdenv.hostPlatform.isMusl (
+    fetchpatch {
+      url = "https://git.alpinelinux.org/cgit/aports/plain/main/vde2/musl-build-fix.patch?id=ddee2f86a48e087867d4a2c12849b2e3baccc238";
+      sha256 = "0b5382v541bkxhqylilcy34bh83ag96g71f39m070jzvi84kx8af";
+    }
+  );
+
+
   buildInputs = [ openssl libpcap python2 ];
 
   hardeningDisable = [ "format" ];
diff --git a/pkgs/tools/networking/vpnc/default.nix b/pkgs/tools/networking/vpnc/default.nix
index 86e483114a3..6a23c81569f 100644
--- a/pkgs/tools/networking/vpnc/default.nix
+++ b/pkgs/tools/networking/vpnc/default.nix
@@ -3,7 +3,7 @@
 stdenv.mkDerivation rec {
   name = "vpnc-0.5.3-post-r550";
   src = fetchsvn {
-    url = "http://svn.unix-ag.uni-kl.de/vpnc";
+    url = "https://svn.unix-ag.uni-kl.de/vpnc";
     rev = "550";
     sha256 = "0x4ckfv9lpykwmh28v1kyzz91y1j2v48fi8q5nsawrba4q0wlrls";
   };
diff --git a/pkgs/tools/networking/wget/default.nix b/pkgs/tools/networking/wget/default.nix
index b31ae93066e..5c1636ddb86 100644
--- a/pkgs/tools/networking/wget/default.nix
+++ b/pkgs/tools/networking/wget/default.nix
@@ -1,15 +1,15 @@
 { stdenv, fetchurl, gettext, pkgconfig, perl
-, libidn2, zlib, pcre, libuuid, libiconv
+, libidn2, zlib, pcre, libuuid, libiconv, libintl
 , IOSocketSSL, LWP, python3, lzip
 , libpsl ? null
 , openssl ? null }:
 
 stdenv.mkDerivation rec {
-  name = "wget-1.19.4";
+  name = "wget-1.19.5";
 
   src = fetchurl {
     url = "mirror://gnu/wget/${name}.tar.lz";
-    sha256 = "16jmcqcasx3q9k4azssryli9qyxfq0sfijw998g8zp58cnwzzh1g";
+    sha256 = "0xfaxmlnih7dhkyks5wi4vrn0n1xshmy6gx6fb2k1120sprydyr9";
   };
 
   patches = [
@@ -25,12 +25,10 @@ stdenv.mkDerivation rec {
     do
       sed -i "$i" -e's/localhost/127.0.0.1/g'
     done
-  '' + stdenv.lib.optionalString stdenv.isDarwin ''
-    export LIBS="-liconv -lintl"
   '';
 
-  nativeBuildInputs = [ gettext pkgconfig perl lzip ];
-  buildInputs = [ libidn2 libiconv zlib pcre libuuid ]
+  nativeBuildInputs = [ gettext pkgconfig perl lzip libiconv libintl ];
+  buildInputs = [ libidn2 zlib pcre libuuid ]
     ++ stdenv.lib.optionals doCheck [ IOSocketSSL LWP python3 ]
     ++ stdenv.lib.optional (openssl != null) openssl
     ++ stdenv.lib.optional (libpsl != null) libpsl
diff --git a/pkgs/tools/networking/whois/default.nix b/pkgs/tools/networking/whois/default.nix
index 6f37e88f4f6..4a40c320040 100644
--- a/pkgs/tools/networking/whois/default.nix
+++ b/pkgs/tools/networking/whois/default.nix
@@ -18,8 +18,6 @@ stdenv.mkDerivation rec {
     for i in Makefile po/Makefile; do
       substituteInPlace $i --replace "prefix = /usr" "prefix = $out"
     done
-
-    substituteInPlace Makefile --replace "DEFS += HAVE_ICONV" "DEFS += HAVE_ICONV\nwhois_LDADD += -liconv"
   '';
 
   makeFlags = [ "HAVE_ICONV=1" ];
@@ -39,6 +37,6 @@ stdenv.mkDerivation rec {
     homepage = https://packages.qa.debian.org/w/whois.html;
     license = licenses.gpl2;
     maintainers = with maintainers; [ fpletz ];
-    platforms = platforms.linux;
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/tools/networking/wrk2/default.nix b/pkgs/tools/networking/wrk2/default.nix
new file mode 100644
index 00000000000..5caad0874f7
--- /dev/null
+++ b/pkgs/tools/networking/wrk2/default.nix
@@ -0,0 +1,42 @@
+{ stdenv, fetchFromGitHub, luajit, openssl, zlib }:
+
+stdenv.mkDerivation rec {
+  name = "wrk2-${version}";
+  version = "4.0.0-${builtins.substring 0 7 src.rev}";
+
+  src = fetchFromGitHub {
+    owner  = "giltene";
+    repo   = "wrk2";
+    rev    = "e0109df5b9de09251adb5f5848f223fbee2aa9f5";
+    sha256 = "1aqdwmgdd74wq73f1zp28yqj91gd6p6nf9nbdfibl7mlklbzvak8";
+  };
+
+  buildInputs = [ luajit openssl zlib ];
+
+  patchPhase = ''
+    rm -rf deps/luajit && mkdir deps/luajit
+
+    substituteInPlace ./Makefile \
+      --replace '-lluajit' '-lluajit-5.1' \
+      --replace '_BSD_SOURCE' '_DEFAULT_SOURCE' \
+      --replace 'cd $(LDIR) && ./luajit' '${luajit}/bin/luajit' \
+      --replace 'config.h Makefile $(LDIR)/libluajit.a' 'config.h Makefile'
+
+    substituteInPlace ./src/script.c \
+      --replace 'struct luaL_reg ' 'struct luaL_Reg '
+  '';
+
+  configurePhase = ":";
+  installPhase = ''
+    mkdir -p $out/bin
+    mv ./wrk $out/bin/wrk2
+  '';
+
+  meta = {
+    description = "Constant throughput, correct latency recording variant of wrk";
+    homepage    = https://github.com/giltene/wrk2;
+    license     = stdenv.lib.licenses.bsd3;
+    platforms   = stdenv.lib.platforms.linux;
+    maintainers = with stdenv.lib.maintainers; [ thoughtpolice ];
+  };
+}
diff --git a/pkgs/tools/networking/xnbd/default.nix b/pkgs/tools/networking/xnbd/default.nix
new file mode 100644
index 00000000000..e898904c6d4
--- /dev/null
+++ b/pkgs/tools/networking/xnbd/default.nix
@@ -0,0 +1,31 @@
+{ stdenv, fetchurl, pkgconfig, autoreconfHook, glib, jansson }:
+
+stdenv.mkDerivation rec {
+  name = "xnbd-0.4.0";
+
+  src = fetchurl {
+    url = "https://bitbucket.org/hirofuchi/xnbd/downloads/${name}.tgz";
+    sha256 = "00wkvsa0yaq4mabczcbfpj6rjvp02yahw8vdrq8hgb3wpm80x913";
+  };
+
+  sourceRoot = "${name}/trunk";
+
+  nativeBuildInputs = [ autoreconfHook pkgconfig ];
+
+  buildInputs = [ glib jansson ];
+
+  # do not build docs, it is slow and it fails on Hydra
+  prePatch = ''
+    rm -rf doc
+    substituteInPlace configure.ac --replace "doc/Makefile" ""
+    substituteInPlace Makefile.am --replace "lib doc ." "lib ."
+  '';
+
+  meta = {
+    homepage = https://bitbucket.org/hirofuchi/xnbd;
+    description = "Yet another NBD (Network Block Device) server program";
+    license = stdenv.lib.licenses.gpl2;
+    maintainers = [ stdenv.lib.maintainers.volth ];
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/tools/networking/zerotierone/default.nix b/pkgs/tools/networking/zerotierone/default.nix
index 77df8cbf6f7..ec6c9c19678 100644
--- a/pkgs/tools/networking/zerotierone/default.nix
+++ b/pkgs/tools/networking/zerotierone/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, openssl, lzo, zlib, iproute, which, ronn }:
 
 stdenv.mkDerivation rec {
-  version = "1.2.4";
+  version = "1.2.8";
   name = "zerotierone";
 
   src = fetchurl {
     url = "https://github.com/zerotier/ZeroTierOne/archive/${version}.tar.gz";
-    sha256 = "0n035f2qslw1srxjlm0szrnvb3va3sspbpxqqhng08dp68vmn9wz";
+    sha256 = "0iwaaicf3wa1xi20k2w18q01d0dlmf5w9akf227bcsqdalsdzqh8";
   };
 
   preConfigure = ''
@@ -38,7 +38,7 @@ stdenv.mkDerivation rec {
     description = "Create flat virtual Ethernet networks of almost unlimited size";
     homepage = https://www.zerotier.com;
     license = licenses.gpl3;
-    maintainers = with maintainers; [ sjmackenzie zimbatm ehmry ];
+    maintainers = with maintainers; [ sjmackenzie zimbatm ehmry obadz ];
     platforms = platforms.x86_64 ++ platforms.aarch64;
   };
 }
diff --git a/pkgs/tools/package-management/disnix/default.nix b/pkgs/tools/package-management/disnix/default.nix
index 03831f9b8b8..a55fd33f899 100644
--- a/pkgs/tools/package-management/disnix/default.nix
+++ b/pkgs/tools/package-management/disnix/default.nix
@@ -1,15 +1,15 @@
-{ stdenv, fetchurl, pkgconfig, glib, libxml2, libxslt, getopt, nixUnstable, dysnomia, libintlOrEmpty, libiconv }:
+{ stdenv, fetchurl, pkgconfig, glib, libxml2, libxslt, getopt, nixUnstable, dysnomia, libintl, libiconv }:
 
 stdenv.mkDerivation {
   name = "disnix-0.8";
-  
+
   src = fetchurl {
     url = https://github.com/svanderburg/disnix/files/1756701/disnix-0.8.tar.gz;
     sha256 = "02cmj1jqk5i90szjsn5csr7qb7n42v04rvl9syx0zi9sx9ldnb0w";
   };
-  
+
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ glib libxml2 libxslt getopt nixUnstable libintlOrEmpty libiconv dysnomia ];
+  buildInputs = [ glib libxml2 libxslt getopt nixUnstable libintl libiconv dysnomia ];
 
   meta = {
     description = "A Nix-based distributed service deployment tool";
diff --git a/pkgs/tools/package-management/nix-pin/default.nix b/pkgs/tools/package-management/nix-pin/default.nix
new file mode 100644
index 00000000000..89342953705
--- /dev/null
+++ b/pkgs/tools/package-management/nix-pin/default.nix
@@ -0,0 +1,49 @@
+{ lib, pkgs, stdenv, fetchFromGitHub, mypy, python3, nix, git, makeWrapper }:
+let self = stdenv.mkDerivation rec {
+  name = "nix-pin-${version}";
+  version = "0.3.1";
+  src = fetchFromGitHub {
+    owner = "timbertson";
+    repo = "nix-pin";
+    rev = "version-0.3.1";
+    sha256 = "1sldbrz33wz30d3vv3d2clyqyd6x1y6h6xjz1xv55fa97ig1h481";
+  };
+  buildInputs = [ python3 mypy makeWrapper ];
+  checkPhase = ''
+    mypy bin/*
+  '';
+  installPhase = ''
+    mkdir "$out"
+    cp -r bin share "$out"
+    wrapProgram $out/bin/nix-pin \
+      --prefix PATH : "${lib.makeBinPath [ nix git ]}"
+  '';
+  passthru =
+    let
+      defaults = import "${self}/share/nix/defaults.nix";
+    in {
+      api = { pinConfig ? defaults.pinConfig }:
+        let impl = import "${self}/share/nix/api.nix" { inherit pkgs pinConfig; }; in
+        { inherit (impl) augmentedPkgs pins callPackage; };
+      updateScript = ''
+        set -e
+        echo
+        cd ${toString ./.}
+        ${pkgs.nix-update-source}/bin/nix-update-source \
+          --prompt version \
+          --replace-attr version \
+          --set owner timbertson \
+          --set repo nix-pin \
+          --set type fetchFromGitHub \
+          --set rev 'version-{version}' \
+          --modify-nix default.nix
+      '';
+    };
+  meta = with stdenv.lib; {
+    homepage = "https://github.com/timbertson/nix-pin";
+    description = "nixpkgs development utility";
+    license = licenses.mit;
+    maintainers = [ maintainers.timbertson ];
+    platforms = platforms.all;
+  };
+}; in self
diff --git a/pkgs/tools/package-management/nix-review/default.nix b/pkgs/tools/package-management/nix-review/default.nix
new file mode 100644
index 00000000000..14b234c4dd5
--- /dev/null
+++ b/pkgs/tools/package-management/nix-review/default.nix
@@ -0,0 +1,31 @@
+{ stdenv
+, python3
+, fetchFromGitHub
+, nix
+, makeWrapper
+}:
+
+python3.pkgs.buildPythonApplication rec {
+  pname = "nix-review";
+  version = "0.2.0";
+
+  src = fetchFromGitHub {
+    owner = "Mic92";
+    repo = "nix-review";
+    rev = version;
+    sha256 = "138f9m2c8fwpvn3kv5q7845ffi1pjbqxcs44aych4832i0pn6jaf";
+  };
+
+  buildInputs = [ makeWrapper ];
+
+  preFixup = ''
+    wrapProgram $out/bin/nix-review --prefix PATH : ${nix}/bin
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Review pull-requests on https://github.com/NixOS/nixpkgs";
+    homepage = https://github.com/Mic92/nix-review;
+    license = licenses.mit;
+    maintainers = [ maintainers.mic92 ];
+  };
+}
diff --git a/pkgs/tools/package-management/nix-serve/default.nix b/pkgs/tools/package-management/nix-serve/default.nix
index 1e3579b197e..d03e6f614e5 100644
--- a/pkgs/tools/package-management/nix-serve/default.nix
+++ b/pkgs/tools/package-management/nix-serve/default.nix
@@ -1,12 +1,12 @@
-{ stdenv, fetchFromGitHub,
+{ stdenv, fetchFromGitHub, fetchpatch,
   bzip2, nix, perl, perlPackages,
 }:
 
 with stdenv.lib;
 
 let
-  rev = "7e09caa2a7a435aeb2cd5446aa590d6f9ae1699d";
-  sha256 = "0mjzsiknln3isdri9004wwjjjpak5fj8ncizyncf5jv7g4m4q1pj";
+  rev = "e4675e38ab54942e351c7686e40fabec822120b9";
+  sha256 = "1wm24p6pkxl1d7hrvf4ph6mwzawvqi22c60z9xzndn5xfyr4v0yr";
 in
 
 stdenv.mkDerivation rec {
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
     inherit rev sha256;
   };
 
-  buildInputs = [ bzip2 perl nix ]
+  buildInputs = [ bzip2 perl nix nix.perl-bindings ]
     ++ (with perlPackages; [ DBI DBDSQLite Plack Starman ]);
 
   dontBuild = true;
diff --git a/pkgs/tools/package-management/nix-update-source/default.nix b/pkgs/tools/package-management/nix-update-source/default.nix
index a156c4f8a72..fe3cf33b46c 100644
--- a/pkgs/tools/package-management/nix-update-source/default.nix
+++ b/pkgs/tools/package-management/nix-update-source/default.nix
@@ -1,12 +1,12 @@
 { lib, pkgs, fetchFromGitHub, python3Packages, nix-prefetch-scripts }:
 python3Packages.buildPythonApplication rec {
-  version = "0.4.0";
+  version = "0.5.0";
   name = "nix-update-source-${version}";
   src = fetchFromGitHub {
     owner = "timbertson";
     repo = "nix-update-source";
-    rev = "version-0.4.0";
-    sha256 = "0gz0f7nx1q697s16ya7q84q1cj020n547k2ffb99ds2r40nckr2g";
+    rev = "version-0.5.0";
+    sha256 = "13icwk249frddsmn9albasikwp8asmgvp3jf9xj9adzh63wzh1i7";
   };
   propagatedBuildInputs = [ nix-prefetch-scripts ];
   passthru = {
@@ -23,7 +23,10 @@ python3Packages.buildPythonApplication rec {
         fetchFn = builtins.getAttr json.fetch.fn fetchers;
         src = fetchFn json.fetch.args;
       in
-      json // json.fetch // { inherit src; };
+      json // json.fetch // {
+        inherit src;
+        overrideSrc = drv: lib.overrideDerivation drv (orig: { inherit src; });
+      };
     updateScript = ''
       set -e
       echo
diff --git a/pkgs/tools/package-management/nix/default.nix b/pkgs/tools/package-management/nix/default.nix
index b634969c8ac..8f503d12935 100644
--- a/pkgs/tools/package-management/nix/default.nix
+++ b/pkgs/tools/package-management/nix/default.nix
@@ -1,11 +1,12 @@
 { lib, stdenv, fetchurl, fetchFromGitHub, perl, curl, bzip2, sqlite, openssl ? null, xz
-, pkgconfig, boehmgc, perlPackages, libsodium, aws-sdk-cpp, brotli
+, pkgconfig, boehmgc, perlPackages, libsodium, aws-sdk-cpp, brotli, boost
 , autoreconfHook, autoconf-archive, bison, flex, libxml2, libxslt, docbook5, docbook5_xsl
-, libseccomp, busybox-sandbox-shell
+, busybox-sandbox-shell
 , hostPlatform, buildPlatform
 , storeDir ? "/nix/store"
 , stateDir ? "/nix/var"
 , confDir ? "/etc"
+, withLibseccomp ? libseccomp.meta.available, libseccomp
 }:
 
 let
@@ -29,16 +30,20 @@ let
 
     buildInputs = [ curl openssl sqlite xz bzip2 ]
       ++ lib.optional (stdenv.isLinux || stdenv.isDarwin) libsodium
-      ++ lib.optionals fromGit [ brotli ] # Since 1.12
-      ++ lib.optional (hostPlatform.isSeccomputable) libseccomp
+      ++ lib.optionals is20 [ brotli ] # Since 1.12
+      ++ lib.optional withLibseccomp libseccomp
       ++ lib.optional ((stdenv.isLinux || stdenv.isDarwin) && is20)
           (aws-sdk-cpp.override {
             apis = ["s3"];
             customMemoryManagement = false;
-          });
+          })
+      ++ lib.optional fromGit boost;
 
     propagatedBuildInputs = [ boehmgc ];
 
+    # Seems to be required when using std::atomic with 64-bit types
+    NIX_LDFLAGS = lib.optionalString (stdenv.hostPlatform.system == "armv6l-linux") "-latomic";
+
     configureFlags =
       [ "--with-store-dir=${storeDir}"
         "--localstatedir=${stateDir}"
@@ -57,7 +62,7 @@ let
           hostPlatform != buildPlatform && hostPlatform ? nix && hostPlatform.nix ? system
       ) ''--with-system=${hostPlatform.nix.system}''
          # RISC-V support in progress https://github.com/seccomp/libseccomp/pull/50
-      ++ lib.optional (!hostPlatform.isSeccomputable) "--disable-seccomp-sandboxing";
+      ++ lib.optional (!libseccomp.meta.available) "--disable-seccomp-sandboxing";
 
     makeFlags = "profiledir=$(out)/etc/profile.d";
 
@@ -91,16 +96,19 @@ let
     passthru = { inherit fromGit; };
   };
 
-  perl-bindings = { nix }: stdenv.mkDerivation {
+  perl-bindings = { nix, needsBoost ? false }: stdenv.mkDerivation {
     name = "nix-perl-" + nix.version;
 
     inherit (nix) src;
 
     postUnpack = "sourceRoot=$sourceRoot/perl";
 
+    # This is not cross-compile safe, don't have time to fix right now
+    # but noting for future travellers.
     nativeBuildInputs =
       [ perl pkgconfig curl nix libsodium ]
-      ++ lib.optionals nix.fromGit [ autoreconfHook autoconf-archive ];
+      ++ lib.optionals nix.fromGit [ autoreconfHook autoconf-archive ]
+      ++ lib.optional needsBoost boost;
 
     configureFlags =
       [ "--with-dbi=${perlPackages.DBI}/${perl.libPrefix}"
@@ -125,23 +133,26 @@ in rec {
   }) // { perl-bindings = nixStable; };
 
   nixStable = (common rec {
-    name = "nix-2.0";
+    name = "nix-2.0.2";
     src = fetchurl {
       url = "http://nixos.org/releases/nix/${name}/${name}.tar.xz";
-      sha256 = "7024d327314bf92c1d3e6cccd944929828a44b24093954036bfb0115a92f5a14";
+      sha256 = "2d2984410f73d759485526e594ce41b9819fafa4676f4f85a93dbdd5352a1435";
     };
   }) // { perl-bindings = perl-bindings { nix = nixStable; }; };
 
   nixUnstable = (lib.lowPrio (common rec {
-    name = "nix-2.0${suffix}";
-    suffix = "pre5968_a6c0b773";
+    name = "nix-2.1${suffix}";
+    suffix = "pre6148_a4aac7f";
     src = fetchFromGitHub {
       owner = "NixOS";
       repo = "nix";
-      rev = "a6c0b773b72d4e30690e01f1f1dcffc28f2d9ea1";
-      sha256 = "0i8wcblcjw3291ba6ki4llw3fgm8ylp9q52kajkyr58dih537346";
+      rev = "a4aac7f88c59c97299027c9668461c637bbc6a72";
+      sha256 = "1250fg1rgzcd0qy960nhl2bw9hsc1a6pyz11rmxasr0h3j1a2z53";
     };
     fromGit = true;
-  })) // { perl-bindings = perl-bindings { nix = nixUnstable; }; };
+  })) // { perl-bindings = perl-bindings {
+    nix = nixUnstable;
+    needsBoost = true;
+  }; };
 
 }
diff --git a/pkgs/tools/package-management/nixops/default.nix b/pkgs/tools/package-management/nixops/default.nix
index daecb8746ea..ec82115087b 100644
--- a/pkgs/tools/package-management/nixops/default.nix
+++ b/pkgs/tools/package-management/nixops/default.nix
@@ -1,9 +1,9 @@
 { callPackage, fetchurl }:
 
 callPackage ./generic.nix (rec {
-  version = "1.5.2";
+  version = "1.6";
   src = fetchurl {
     url = "http://nixos.org/releases/nixops/nixops-${version}/nixops-${version}.tar.bz2";
-    sha256 = "00y2arc5rffvy6xmx4p6ibpjyc61k8dkiabq7ccwwjgckz1d2dpb";
+    sha256 = "0f8ql1a9maf9swl8q054b1haxqckdn78p2xgpwl7paxc98l67i7x";
   };
 })
diff --git a/pkgs/tools/package-management/nixops/generic.nix b/pkgs/tools/package-management/nixops/generic.nix
index d9c9661d41a..f392e0f50ed 100644
--- a/pkgs/tools/package-management/nixops/generic.nix
+++ b/pkgs/tools/package-management/nixops/generic.nix
@@ -25,6 +25,7 @@ python2Packages.buildPythonApplication {
       pysqlite
       datadog
       digital-ocean
+      libvirt
     ];
 
   doCheck = false;
diff --git a/pkgs/tools/package-management/nixui/nixui.nix b/pkgs/tools/package-management/nixui/nixui.nix
index ade19b52162..75bc6ec109c 100644
--- a/pkgs/tools/package-management/nixui/nixui.nix
+++ b/pkgs/tools/package-management/nixui/nixui.nix
@@ -1,4 +1,4 @@
-# This file has been generated by node2nix 1.5.1. Do not edit!
+# This file has been generated by node2nix 1.5.3. Do not edit!
 
 {pkgs ? import <nixpkgs> {
     inherit system;
@@ -8,6 +8,7 @@ let
   nodeEnv = import ../../../development/node-packages/node-env.nix {
     inherit (pkgs) stdenv python2 utillinux runCommand writeTextFile;
     inherit nodejs;
+    libtool = if pkgs.stdenv.isDarwin then pkgs.darwin.cctools else null;
   };
 in
 import ./node-packages.nix {
diff --git a/pkgs/tools/package-management/nixui/node-packages.nix b/pkgs/tools/package-management/nixui/node-packages.nix
index 4973223c0ac..b532039ede1 100644
--- a/pkgs/tools/package-management/nixui/node-packages.nix
+++ b/pkgs/tools/package-management/nixui/node-packages.nix
@@ -1,4 +1,4 @@
-# This file has been generated by node2nix 1.5.1. Do not edit!
+# This file has been generated by node2nix 1.5.3. Do not edit!
 
 {nodeEnv, fetchurl, fetchgit, globalBuildInputs ? []}:
 
diff --git a/pkgs/tools/package-management/opkg/default.nix b/pkgs/tools/package-management/opkg/default.nix
index a0368b0df89..440f91a6d64 100644
--- a/pkgs/tools/package-management/opkg/default.nix
+++ b/pkgs/tools/package-management/opkg/default.nix
@@ -2,11 +2,11 @@
 , autoreconfHook }:
 
 stdenv.mkDerivation rec {
-  version = "0.3.5";
+  version = "0.3.6";
   name = "opkg-${version}";
   src = fetchurl {
     url = "http://downloads.yoctoproject.org/releases/opkg/opkg-${version}.tar.gz";
-    sha256 = "0ciz6h6sx9hnz463alpkcqwqnq8jk382ifc6z89j29hix8fw4jvk";
+    sha256 = "02ykhjpyxmh0qrqvc1s3vlhnr6wyxkcwqb8dplxqmkz83gkg01zn";
   };
 
   nativeBuildInputs = [ pkgconfig autoreconfHook ];
diff --git a/pkgs/tools/package-management/packagekit/default.nix b/pkgs/tools/package-management/packagekit/default.nix
index cdc035072da..5eb20169412 100644
--- a/pkgs/tools/package-management/packagekit/default.nix
+++ b/pkgs/tools/package-management/packagekit/default.nix
@@ -8,13 +8,13 @@
 
 stdenv.mkDerivation rec {
   name = "packagekit-${version}";
-  version = "1.1.8";
+  version = "1.1.10";
 
   src = fetchFromGitHub {
     owner = "hughsie";
     repo = "PackageKit";
     rev = "PACKAGEKIT_${lib.replaceStrings ["."] ["_"] version}";
-    sha256 = "0bn9flsjbzlwmlbv2gphqwgzy9sx8ahch28z6dzgak4csbz5wcws";
+    sha256 = "11drd6ixx75q3w12am3z1npwllq1kxnhbxv0npng92c69kn291zs";
   };
 
   buildInputs = [ glib polkit systemd python gobjectIntrospection vala_0_38 ]
diff --git a/pkgs/tools/package-management/rpm/default.nix b/pkgs/tools/package-management/rpm/default.nix
index 3a56db1e0d3..a46550d59cd 100644
--- a/pkgs/tools/package-management/rpm/default.nix
+++ b/pkgs/tools/package-management/rpm/default.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   name = "rpm-${version}";
-  version = "4.14.0";
+  version = "4.14.1";
 
   src = fetchurl {
     url = "http://ftp.rpm.org/releases/rpm-4.14.x/rpm-${version}.tar.bz2";
-    sha256 = "053396glswgszzg6wizn76vc8zc5m2bicw025vj44g0dc1aav806";
+    sha256 = "0fvrjq6jsvbllb5q6blchzh7p5flk61rz34g4g9mp9iwrhn0xx23";
   };
 
   outputs = [ "out" "dev" "man" ];
diff --git a/pkgs/tools/security/apg/default.nix b/pkgs/tools/security/apg/default.nix
index 04b29bcf8f7..db490c7822f 100644
--- a/pkgs/tools/security/apg/default.nix
+++ b/pkgs/tools/security/apg/default.nix
@@ -10,7 +10,10 @@ stdenv.mkDerivation rec {
   '';
   makeFlags = stdenv.lib.optionals stdenv.isDarwin ["CC=cc"];
 
-  patches = [ ./apg.patch ];
+  patches = [
+    ./apg.patch
+    ./phony-install-target.patch
+  ];
 
   postPatch = stdenv.lib.optionalString stdenv.isDarwin ''
     sed -i -e 's|APG_CLIBS += -lcrypt|APG_CLIBS += -L${openssl.out}/lib -lcrypto|' Makefile
@@ -64,6 +67,6 @@ stdenv.mkDerivation rec {
     homepage = http://www.adel.nursat.kz/apg/;
     license = stdenv.lib.licenses.bsd3;
     maintainers = with stdenv.lib.maintainers; [ astsmtl ];
-    platforms = stdenv.lib.platforms.linux;
+    platforms = stdenv.lib.platforms.unix;
   };
 }
diff --git a/pkgs/tools/security/apg/phony-install-target.patch b/pkgs/tools/security/apg/phony-install-target.patch
new file mode 100644
index 00000000000..9edf50b4b59
--- /dev/null
+++ b/pkgs/tools/security/apg/phony-install-target.patch
@@ -0,0 +1,11 @@
+diff -ur a/Makefile b/Makefile
+--- a/Makefile	2003-08-08 00:40:39.000000000 +0900
++++ b/Makefile	2018-04-05 22:29:39.284191020 +0900
+@@ -142,6 +142,7 @@
+ 	strip ${CS_PROGNAME}
+ 	strip ${BFM_PROGNAME}
+ 
++.PHONY: install
+ install:
+ 	if test -x ./apg; then \
+ ./mkinstalldirs ${INSTALL_PREFIX}${APG_BIN_DIR}; \
diff --git a/pkgs/tools/security/bash-supergenpass/default.nix b/pkgs/tools/security/bash-supergenpass/default.nix
index f85d847f5f9..59be6ed0ec2 100644
--- a/pkgs/tools/security/bash-supergenpass/default.nix
+++ b/pkgs/tools/security/bash-supergenpass/default.nix
@@ -2,15 +2,15 @@
 
 stdenv.mkDerivation rec {
   name = "bash-supergenpass-unstable-${version}";
-  version = "2012-11-02";
+  version = "2018-04-18";
 
   nativeBuildInputs = [ makeWrapper ];
 
   src = fetchFromGitHub {
     owner = "lanzz";
     repo = "bash-supergenpass";
-    rev = "c84eaa22fb59ab6c390e7f2de7984513347e3a9a";
-    sha256 = "0d3l55kdrf6arb98vwwz9ww55ing5w323fg7546v56hlq3hs5qc9";
+    rev = "ece772b9ec095946ac4ea985cda5561b211e56f0";
+    sha256 = "1gkbrycyyl7y3klbfx7xjvvfw5df1h4fj6x1f73gglfy6nk8ffnd";
   };
 
   installPhase = ''
diff --git a/pkgs/tools/security/bettercap/Gemfile.lock b/pkgs/tools/security/bettercap/Gemfile.lock
deleted file mode 100644
index 9260d1fd5ab..00000000000
--- a/pkgs/tools/security/bettercap/Gemfile.lock
+++ /dev/null
@@ -1,42 +0,0 @@
-GEM
-  remote: https://rubygems.org/
-  specs:
-    bettercap (1.6.2)
-      colorize (~> 0.8.0)
-      em-proxy (~> 0.1, >= 0.1.8)
-      net-dns (~> 0.8, >= 0.8.0)
-      network_interface (~> 0.0, >= 0.0.1)
-      packetfu (~> 1.1, >= 1.1.10)
-      pcaprub (~> 0.12, >= 0.12.0, <= 1.1.11)
-      rubydns (~> 1.0, >= 1.0.3)
-    celluloid (0.16.0)
-      timers (~> 4.0.0)
-    celluloid-io (0.16.2)
-      celluloid (>= 0.16.0)
-      nio4r (>= 1.1.0)
-    colorize (0.8.1)
-    em-proxy (0.1.9)
-      eventmachine
-    eventmachine (1.2.5)
-    hitimes (1.2.6)
-    net-dns (0.8.0)
-    network_interface (0.0.2)
-    nio4r (2.2.0)
-    packetfu (1.1.13)
-      pcaprub
-    pcaprub (0.12.4)
-    rubydns (1.0.3)
-      celluloid (= 0.16.0)
-      celluloid-io (= 0.16.2)
-      timers (~> 4.0.1)
-    timers (4.0.4)
-      hitimes
-
-PLATFORMS
-  ruby
-
-DEPENDENCIES
-  bettercap
-
-BUNDLED WITH
-   1.14.6
diff --git a/pkgs/tools/security/bettercap/default.nix b/pkgs/tools/security/bettercap/default.nix
index 46832e83ac9..a85ce7df921 100644
--- a/pkgs/tools/security/bettercap/default.nix
+++ b/pkgs/tools/security/bettercap/default.nix
@@ -1,16 +1,23 @@
-{ lib, bundlerEnv, ruby, libpcap}:
+{ stdenv, buildGoPackage, fetchFromGitHub, pkgconfig, libpcap, libnfnetlink, libnetfilter_queue }:
 
-bundlerEnv rec {
+buildGoPackage rec {
   name = "bettercap-${version}";
+  version = "2.4";
 
-  version = (import gemset).bettercap.version;
-  inherit ruby;
-  gemdir = ./.;
-  gemset = ./gemset.nix;
+  goPackagePath = "github.com/bettercap/bettercap";
 
-  buildInputs = [ libpcap ruby ];
+  src = fetchFromGitHub {
+    owner = "bettercap";
+    repo = "bettercap";
+    rev = "v${version}";
+    sha256 = "1k1ank8z9sr3vxm86dfcrn1y3qa3gfwyb2z0fvkvi38gc88pfljb";
+  };
+
+  buildInputs = [libpcap libnfnetlink libnetfilter_queue pkgconfig];
+
+  goDeps = ./deps.nix;
 
-  meta = with lib; {
+  meta = with stdenv.lib; {
     description = "A man in the middle tool";
     longDescription = ''
       BetterCAP is a powerful, flexible and portable tool created to perform various types of MITM attacks against a network, manipulate HTTP, HTTPS and TCP traffic in realtime, sniff for credentials and much more.
diff --git a/pkgs/tools/security/bettercap/deps.nix b/pkgs/tools/security/bettercap/deps.nix
new file mode 100644
index 00000000000..6a03e88000c
--- /dev/null
+++ b/pkgs/tools/security/bettercap/deps.nix
@@ -0,0 +1,228 @@
+# file generated from Gopkg.lock using dep2nix (https://github.com/nixcloud/dep2nix)
+[
+  {
+    goPackagePath  = "github.com/adrianmo/go-nmea";
+    fetch = {
+      type = "git";
+      url = "https://github.com/adrianmo/go-nmea";
+      rev =  "22095aa1b48050243d3eb9a001ca80eb91a0c6fa";
+      sha256 = "0hgjfmnff794j537kbrjcsxzr9xyggm09rw3wp2xrzahh9pxdlm5";
+    };
+  }
+  {
+    goPackagePath  = "github.com/bettercap/gatt";
+    fetch = {
+      type = "git";
+      url = "https://github.com/bettercap/gatt";
+      rev =  "6475b946a0bff32e906c25d861f2b1c6d2056baa";
+      sha256 = "0f2n35yz6fcbmswy1wyv2z72d3iia7xxapjkvwkbj2zqfxxwn26s";
+    };
+  }
+  {
+    goPackagePath  = "github.com/bettercap/readline";
+    fetch = {
+      type = "git";
+      url = "https://github.com/bettercap/readline";
+      rev =  "9cec905dd29109b64e6752507fba73474c2efd46";
+      sha256 = "1lsnyckg2l78hz4la8dhwvjsyff706khw10nxds5afzl4mrih3vn";
+    };
+  }
+  {
+    goPackagePath  = "github.com/chifflier/nfqueue-go";
+    fetch = {
+      type = "git";
+      url = "https://github.com/chifflier/nfqueue-go";
+      rev =  "61ca646babef3bd4dea1deb610bfb0005c0a1298";
+      sha256 = "1i1q2xl86f3s9x3j2ffxprwqhcrkh4w23hh4ib7jksxvaq36v33l";
+    };
+  }
+  {
+    goPackagePath  = "github.com/dustin/go-humanize";
+    fetch = {
+      type = "git";
+      url = "https://github.com/dustin/go-humanize";
+      rev =  "bb3d318650d48840a39aa21a027c6630e198e626";
+      sha256 = "1lqd8ix3cb164j5iazjby2jpa6bdsflhy0h9mi4yldvvcvrc194c";
+    };
+  }
+  {
+    goPackagePath  = "github.com/elazarl/goproxy";
+    fetch = {
+      type = "git";
+      url = "https://github.com/elazarl/goproxy";
+      rev =  "a96fa3a318260eab29abaf32f7128c9eb07fb073";
+      sha256 = "0grm4n28mkj2w4c42ghl797svxykv1z3hsdi1ihnrvq6pr08xky4";
+    };
+  }
+  {
+    goPackagePath  = "github.com/google/go-github";
+    fetch = {
+      type = "git";
+      url = "https://github.com/google/go-github";
+      rev =  "437797734d06eec5394734a84cb5b59c82a66ee6";
+      sha256 = "09ajj73rwsxc03dmm39g8b0qaz88h6gnraw2xn8h7z57qqv6ikcx";
+    };
+  }
+  {
+    goPackagePath  = "github.com/google/go-querystring";
+    fetch = {
+      type = "git";
+      url = "https://github.com/google/go-querystring";
+      rev =  "53e6ce116135b80d037921a7fdd5138cf32d7a8a";
+      sha256 = "0lkbm067nhmxk66pyjx59d77dbjjzwyi43gdvzyx2f8m1942rq7f";
+    };
+  }
+  {
+    goPackagePath  = "github.com/google/gopacket";
+    fetch = {
+      type = "git";
+      url = "https://github.com/google/gopacket";
+      rev =  "1d3841317373a001d49e2abcc5be4e442211d454";
+      sha256 = "1jffnrvrma3rm5zxmig52145y9bxc3b4ys4jr1nwmq43jk15s3kp";
+    };
+  }
+  {
+    goPackagePath  = "github.com/gorilla/context";
+    fetch = {
+      type = "git";
+      url = "https://github.com/gorilla/context";
+      rev =  "08b5f424b9271eedf6f9f0ce86cb9396ed337a42";
+      sha256 = "03p4hn87vcmfih0p9w663qbx9lpsf7i7j3lc7yl7n84la3yz63m4";
+    };
+  }
+  {
+    goPackagePath  = "github.com/gorilla/mux";
+    fetch = {
+      type = "git";
+      url = "https://github.com/gorilla/mux";
+      rev =  "4dbd923b0c9e99ff63ad54b0e9705ff92d3cdb06";
+      sha256 = "02d5c3vh81v2j6g6fnca87ksxjx0xrgp7x7iivfw5x92q1l5h254";
+    };
+  }
+  {
+    goPackagePath  = "github.com/gorilla/websocket";
+    fetch = {
+      type = "git";
+      url = "https://github.com/gorilla/websocket";
+      rev =  "eb925808374e5ca90c83401a40d711dc08c0c0f6";
+      sha256 = "0swncxnl97pmsl78q1p4npx9jghnrzj7alkxab89jy9cza5w165x";
+    };
+  }
+  {
+    goPackagePath  = "github.com/inconshreveable/go-vhost";
+    fetch = {
+      type = "git";
+      url = "https://github.com/inconshreveable/go-vhost";
+      rev =  "06d84117953b22058c096b49a429ebd4f3d3d97b";
+      sha256 = "0wliilsybm7xf5h685a23rsm8bnlhkr332pkdkhf32q16sr1a9rk";
+    };
+  }
+  {
+    goPackagePath  = "github.com/jpillora/go-tld";
+    fetch = {
+      type = "git";
+      url = "https://github.com/jpillora/go-tld";
+      rev =  "a31ae10e978ab5f352c5dad2cfbd60546dcea75f";
+      sha256 = "1gfxnbr1xsnlja2qpqxis8ynnk1lrz9c65aah7vc2c44g8vyy78x";
+    };
+  }
+  {
+    goPackagePath  = "github.com/malfunkt/iprange";
+    fetch = {
+      type = "git";
+      url = "https://github.com/malfunkt/iprange";
+      rev =  "3a31f5ed42d2d8a1fc46f1be91fd693bdef2dd52";
+      sha256 = "0gv5w678r74jval675xp0y1hzpf7mm5m9apa1rz9krxc9zd0ycr8";
+    };
+  }
+  {
+    goPackagePath  = "github.com/mattn/go-colorable";
+    fetch = {
+      type = "git";
+      url = "https://github.com/mattn/go-colorable";
+      rev =  "efa589957cd060542a26d2dd7832fd6a6c6c3ade";
+      sha256 = "0kshi4hvm0ayrsxqxy0599iv81kryhd2fn9lwjyczpj593cq069r";
+    };
+  }
+  {
+    goPackagePath  = "github.com/mattn/go-isatty";
+    fetch = {
+      type = "git";
+      url = "https://github.com/mattn/go-isatty";
+      rev =  "6ca4dbf54d38eea1a992b3c722a76a5d1c4cb25c";
+      sha256 = "0zs92j2cqaw9j8qx1sdxpv3ap0rgbs0vrvi72m40mg8aa36gd39w";
+    };
+  }
+  {
+    goPackagePath  = "github.com/mdlayher/dhcp6";
+    fetch = {
+      type = "git";
+      url = "https://github.com/mdlayher/dhcp6";
+      rev =  "e26af0688e455a82b14ebdbecf43f87ead3c4624";
+      sha256 = "0fvw8zz2yhla03jfb79bby9vg4rbmaj39v00ypb8yl4fb696zfip";
+    };
+  }
+  {
+    goPackagePath  = "github.com/mgutz/ansi";
+    fetch = {
+      type = "git";
+      url = "https://github.com/mgutz/ansi";
+      rev =  "9520e82c474b0a04dd04f8a40959027271bab992";
+      sha256 = "00bz22314j26736w1f0q4jy9d9dfaml17vn890n5zqy3cmvmww1j";
+    };
+  }
+  {
+    goPackagePath  = "github.com/mgutz/logxi";
+    fetch = {
+      type = "git";
+      url = "https://github.com/mgutz/logxi";
+      rev =  "aebf8a7d67ab4625e0fd4a665766fef9a709161b";
+      sha256 = "1f8sqibkzz9wfplvvblz9s0xvvmhkd2af8ghcsmjw8818gcrzsqx";
+    };
+  }
+  {
+    goPackagePath  = "github.com/pkg/errors";
+    fetch = {
+      type = "git";
+      url = "https://github.com/pkg/errors";
+      rev =  "816c9085562cd7ee03e7f8188a1cfd942858cded";
+      sha256 = "1ws5crb7c70wdicavl6qr4g03nn6m92zd6wwp9n2ygz5c8rmxh8k";
+    };
+  }
+  {
+    goPackagePath  = "github.com/robertkrimen/otto";
+    fetch = {
+      type = "git";
+      url = "https://github.com/robertkrimen/otto";
+      rev =  "6c383dd335ef8dcccef05e651ce1eccfe4d0f011";
+      sha256 = "1n6h7c8gi6wv4nklqd7ygzx2afvh7ddxbml9w9x0jxwcfb3bdy17";
+    };
+  }
+  {
+    goPackagePath  = "github.com/tarm/serial";
+    fetch = {
+      type = "git";
+      url = "https://github.com/tarm/serial";
+      rev =  "eaafced92e9619f03c72527efeab21e326f3bc36";
+      sha256 = "09pii3q72bygv40v9xsh3nzj821iwqwa0b14wvkagid8mfnl3a7k";
+    };
+  }
+  {
+    goPackagePath  = "golang.org/x/sys";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/sys";
+      rev =  "378d26f46672a356c46195c28f61bdb4c0a781dd";
+      sha256 = "1d02saysx8lh2wv8s915k4shiqicg4j1fh6sxmcxy6bvywax2q9c";
+    };
+  }
+  {
+    goPackagePath  = "gopkg.in/sourcemap.v1";
+    fetch = {
+      type = "git";
+      url = "https://github.com/go-sourcemap/sourcemap";
+      rev =  "b019cc30c1eaa584753491b0d8f8c1534bf1eb44";
+      sha256 = "03k44fdrnknba05f7cd58lq4rzk7jdpiqksmc0wxrdzwschrbgw8";
+    };
+  }
+]
\ No newline at end of file
diff --git a/pkgs/tools/security/bettercap/gemset.nix b/pkgs/tools/security/bettercap/gemset.nix
deleted file mode 100644
index bd5c33ba22c..00000000000
--- a/pkgs/tools/security/bettercap/gemset.nix
+++ /dev/null
@@ -1,121 +0,0 @@
-{
-  bettercap = {
-    dependencies = ["colorize" "em-proxy" "net-dns" "network_interface" "packetfu" "pcaprub" "rubydns"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1mns96yfyfnksk720p8k83qkwwsid4sicwgrzxaa9gbc53aalll0";
-      type = "gem";
-    };
-    version = "1.6.2";
-  };
-  celluloid = {
-    dependencies = ["timers"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "044xk0y7i1xjafzv7blzj5r56s7zr8nzb619arkrl390mf19jxv3";
-      type = "gem";
-    };
-    version = "0.16.0";
-  };
-  celluloid-io = {
-    dependencies = ["celluloid" "nio4r"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1l1x0p6daa5vskywrvaxdlanwib3k5pps16axwyy4p8d49pn9rnx";
-      type = "gem";
-    };
-    version = "0.16.2";
-  };
-  colorize = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "133rqj85n400qk6g3dhf2bmfws34mak1wqihvh3bgy9jhajw580b";
-      type = "gem";
-    };
-    version = "0.8.1";
-  };
-  em-proxy = {
-    dependencies = ["eventmachine"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1yzkg6jkmcg859b5mf13igpf8q2bjhsmqjsva05948fi733w5n2j";
-      type = "gem";
-    };
-    version = "0.1.9";
-  };
-  eventmachine = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "075hdw0fgzldgss3xaqm2dk545736khcvv1fmzbf1sgdlkyh1v8z";
-      type = "gem";
-    };
-    version = "1.2.5";
-  };
-  hitimes = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "06222h9236jw9jgmdlpi0q7psac1shvxqxqx905qkvabmxdxlfar";
-      type = "gem";
-    };
-    version = "1.2.6";
-  };
-  net-dns = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "12nal6vhdyg0pbcqpsxqr59h7mbgdhcqp3v0xnzvy167n40gabf9";
-      type = "gem";
-    };
-    version = "0.8.0";
-  };
-  network_interface = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1xh4knfq77ii4pjzsd2z1p3nd6nrcdjhb2vi5gw36jqj43ffw0zp";
-      type = "gem";
-    };
-    version = "0.0.2";
-  };
-  nio4r = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0jjrj7vs29w6dfgsxq08226jfbi2j0x62lf4p9zmvyp19dj4z00a";
-      type = "gem";
-    };
-    version = "2.2.0";
-  };
-  packetfu = {
-    dependencies = ["pcaprub"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "16ppq9wfxq4x2hss61l5brs3s6fmi8gb50mnp1nnnzb1asq4g8ll";
-      type = "gem";
-    };
-    version = "1.1.13";
-  };
-  pcaprub = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0pl4lqy7308185pfv0197n8b4v20fhd0zb3wlpz284rk8ssclkvz";
-      type = "gem";
-    };
-    version = "0.12.4";
-  };
-  rubydns = {
-    dependencies = ["celluloid" "celluloid-io" "timers"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1cvj8li8shz7zn1rc5hdrkqmvr9j187g4y28mvkfvmv1j9hdln62";
-      type = "gem";
-    };
-    version = "1.0.3";
-  };
-  timers = {
-    dependencies = ["hitimes"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1jx4wb0x182gmbcs90vz0wzfyp8afi1mpl9w5ippfncyk4kffvrz";
-      type = "gem";
-    };
-    version = "4.0.4";
-  };
-}
\ No newline at end of file
diff --git a/pkgs/tools/security/browserpass/default.nix b/pkgs/tools/security/browserpass/default.nix
index af1bb14d02a..c7ed511753d 100644
--- a/pkgs/tools/security/browserpass/default.nix
+++ b/pkgs/tools/security/browserpass/default.nix
@@ -1,9 +1,9 @@
-# This file was generated by https://github.com/kamilchm/go2nix v1.2.0
-{ stdenv, buildGoPackage, fetchFromGitHub }:
+# This file was generated by https://github.com/kamilchm/go2nix v1.2.1
+{ stdenv, buildGoPackage, fetchFromGitHub, gnupg }:
 
 buildGoPackage rec {
   name = "browserpass-${version}";
-  version = "2.0.11";
+  version = "2.0.18";
 
   goPackagePath = "github.com/dannyvankooten/browserpass";
 
@@ -13,9 +13,14 @@ buildGoPackage rec {
     repo = "browserpass";
     owner = "dannyvankooten";
     rev = version;
-    sha256 = "0d6rpkka27a57nv69yiw71jj3m6axdj5hygsz36dznnn8w76vvyv";
+    sha256 = "0wszjpxfa0krr2zdx7a33vl1r86k74dpy5c940r6ww1zbgqzcibg";
   };
 
+  postPatch = ''
+    substituteInPlace browserpass.go                                           \
+      --replace /usr/local/bin/gpg ${gnupg}/bin/gpg
+  '';
+
   postInstall = ''
       host_file="$bin/bin/browserpass"
       mkdir -p "$bin/etc"
diff --git a/pkgs/tools/security/browserpass/deps.nix b/pkgs/tools/security/browserpass/deps.nix
index 763317aafc7..631463a69d1 100644
--- a/pkgs/tools/security/browserpass/deps.nix
+++ b/pkgs/tools/security/browserpass/deps.nix
@@ -19,6 +19,15 @@
     };
   }
   {
+    goPackagePath = "github.com/sahilm/fuzzy";
+    fetch = {
+      type = "git";
+      url = "https://github.com/sahilm/fuzzy";
+      rev = "a154b19bb758dcdd6ede58dc11ea53c2950527b2";
+      sha256 = "0jkw6474d5ik2fq2zznqxj4y3p42z47r7mbg856ln5wyara2sg0l";
+    };
+  }
+  {
     goPackagePath = "rsc.io/qr";
     fetch = {
       type = "git";
diff --git a/pkgs/tools/security/certstrap/default.nix b/pkgs/tools/security/certstrap/default.nix
index bf659f19e9b..e0935f0f760 100644
--- a/pkgs/tools/security/certstrap/default.nix
+++ b/pkgs/tools/security/certstrap/default.nix
@@ -2,7 +2,7 @@
 
 buildGoPackage rec {
   name = "certstrap-${version}";
-  version = "1.0.1";
+  version = "1.1.1";
 
   goPackagePath = "github.com/square/certstrap";
 
@@ -10,7 +10,7 @@ buildGoPackage rec {
     owner = "square";
     repo = "certstrap";
     rev = "v${version}";
-    sha256 = "0pw1g6nyb212ayic42rkm6i0cf4n2003f02qym6zp130m6aysb47";
+    sha256 = "0j7gi2nzykny7i0gjax9vixw72l9jcm4wnwxgm72hh1pji0ysa8n";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/tools/security/clamav/default.nix b/pkgs/tools/security/clamav/default.nix
index 976c58eb1e3..c3aa92bf4b0 100644
--- a/pkgs/tools/security/clamav/default.nix
+++ b/pkgs/tools/security/clamav/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   name = "clamav-${version}";
-  version = "0.99.3";
+  version = "0.99.4";
 
   src = fetchurl {
     url = "https://www.clamav.net/downloads/production/${name}.tar.gz";
-    sha256 = "114f7qk3h0klgm0zzn2394n5spcn91vjc9mq6m03l2p0ls955yh0";
+    sha256 = "0q94iwi729id9pyc72w6zlllbaz37qvpi6gc51g2x3fy7ckw6anp";
   };
 
   # don't install sample config files into the absolute sysconfdir folder
@@ -21,8 +21,6 @@ stdenv.mkDerivation rec {
     zlib bzip2 libxml2 openssl ncurses curl libiconv libmilter pcre
   ];
 
-  patches = [ ./fd-leak.patch ];
-
   configureFlags = [
     "--sysconfdir=/etc/clamav"
     "--disable-llvm" # enabling breaks the build at the moment
@@ -39,7 +37,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with stdenv.lib; {
-    homepage = http://www.clamav.net;
+    homepage = https://www.clamav.net;
     description = "Antivirus engine designed for detecting Trojans, viruses, malware and other malicious threats";
     license = licenses.gpl2;
     maintainers = with maintainers; [ phreedom robberer qknight fpletz ];
diff --git a/pkgs/tools/security/clamav/fd-leak.patch b/pkgs/tools/security/clamav/fd-leak.patch
deleted file mode 100644
index 2c147901e44..00000000000
--- a/pkgs/tools/security/clamav/fd-leak.patch
+++ /dev/null
@@ -1,49 +0,0 @@
---- a/libclamav/scanners.c	2018-01-26 16:59:00.820231425 +0100
-+++ b/libclamav/scanners.c	2018-01-26 17:39:07.523633805 +0100
-@@ -1366,12 +1366,14 @@
- 
- 	if ((ret = cli_ac_initdata(&tmdata, troot?troot->ac_partsigs:0, troot?troot->ac_lsigs:0, troot?troot->ac_reloff_num:0, CLI_DEFAULT_AC_TRACKLEN))) {
- 		free(tmpname);
-+		free(normalized);
- 		return ret;
- 	}
- 
- 	if ((ret = cli_ac_initdata(&gmdata, groot->ac_partsigs, groot->ac_lsigs, groot->ac_reloff_num, CLI_DEFAULT_AC_TRACKLEN))) {
- 		cli_ac_freedata(&tmdata);
- 		free(tmpname);
-+		free(normalized);
- 		return ret;
- 	}
- 
-@@ -1390,6 +1392,7 @@
- 				cli_errmsg("cli_scanscript: can't write to file %s\n",tmpname);
- 				close(ofd);
- 				free(tmpname);
-+				free(normalized);
- 				return CL_EWRITE;
- 			}
- 			text_normalize_reset(&state);
-@@ -1424,6 +1427,8 @@
- 			if (ret) {
- 				cli_ac_freedata(&tmdata);
- 				free(tmpname);
-+				free(normalized);
-+				close(ofd);
- 				return ret;
- 			}
- 		}
-@@ -1466,11 +1471,9 @@
- 
- 	}
- 
--	if(ctx->engine->keeptmp) {
--		free(tmpname);
--		if (ofd >= 0)
--			close(ofd);
--	}
-+	if (ofd >= 0)
-+		close(ofd);
-+	free(tmpname);
- 	free(normalized);
- 
- 	if(ret != CL_VIRUS || SCAN_ALL)  {
diff --git a/pkgs/tools/security/diceware/default.nix b/pkgs/tools/security/diceware/default.nix
index ce7f1d0e1b4..07061aa0d11 100644
--- a/pkgs/tools/security/diceware/default.nix
+++ b/pkgs/tools/security/diceware/default.nix
@@ -7,11 +7,11 @@ with pythonPackages;
 
 buildPythonApplication rec {
   pname = "diceware";
-  version = "0.9.4";
+  version = "0.9.5";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0855n4dh16ws1dhw1ixxwk3wx7qr45xff7pn32pjg58p4z4cx168";
+    sha256 = "22a998361fd2afbc7890062e228235b3501084de1e6a5bb61f16d2637977f50d";
   };
 
   nativeBuildInputs = [ pytestrunner ];
diff --git a/pkgs/tools/security/dirmngr/default.nix b/pkgs/tools/security/dirmngr/default.nix
index bd94c6786d7..888fa48eab9 100644
--- a/pkgs/tools/security/dirmngr/default.nix
+++ b/pkgs/tools/security/dirmngr/default.nix
@@ -1,4 +1,5 @@
-{ stdenv, fetchurl, libgpgerror, libgcrypt, libassuan, libksba, pth, openldap }:
+{ stdenv, fetchurl, libgpgerror, libgcrypt, libassuan, libksba, pth, openldap
+, libiconv}:
 
 stdenv.mkDerivation rec {
   name = "dirmngr-1.1.1";
@@ -6,9 +7,10 @@ stdenv.mkDerivation rec {
     url = "mirror://gnupg/dirmngr/${name}.tar.bz2";
     sha256 = "1zz6m87ca55nq5f59hzm6qs48d37h93il881y7d0rf2d6660na6j";
   };
-  buildInputs = [ libgpgerror libgcrypt libassuan libksba pth openldap ];
+  buildInputs = [ libgpgerror libgcrypt libassuan libksba
+                  pth openldap libiconv ];
 
   meta = {
-    platforms = stdenv.lib.platforms.linux;
+    platforms = stdenv.lib.platforms.unix;
   };
 }
diff --git a/pkgs/tools/security/eid-mw/default.nix b/pkgs/tools/security/eid-mw/default.nix
index a11b70917c8..eb886148674 100644
--- a/pkgs/tools/security/eid-mw/default.nix
+++ b/pkgs/tools/security/eid-mw/default.nix
@@ -1,20 +1,30 @@
 { stdenv, fetchFromGitHub
 , autoreconfHook, pkgconfig
-, gtk3, nssTools, pcsclite }:
+, gtk3, nssTools, pcsclite
+, libxml2, libproxy 
+, openssl, curl
+, makeWrapper }:
 
 stdenv.mkDerivation rec {
   name = "eid-mw-${version}";
-  version = "4.1.19";
+  version = "4.4.1";
 
   src = fetchFromGitHub {
-    sha256 = "191c74kxfrfb894v8y4vi2iygyffjy9jjq5fj7cnnddgwai5n3c5";
+    sha256 = "0an7xgj5rzl75kq6qfrmm886v639hhlh7c9yfs8iihc47wghpma8"; 
     rev = "v${version}";
     repo = "eid-mw";
     owner = "Fedict";
   };
 
-  nativeBuildInputs = [ autoreconfHook pkgconfig ];
-  buildInputs = [ gtk3 pcsclite ];
+  nativeBuildInputs = [ autoreconfHook pkgconfig makeWrapper ];
+  buildInputs = [ gtk3 pcsclite libxml2 libproxy curl openssl ];
+  preConfigure = ''
+    mkdir openssl
+    ln -s ${openssl.out}/lib openssl
+    ln -s ${openssl.bin}/bin openssl
+    ln -s ${openssl.dev}/include openssl
+    export SSL_PREFIX=$(realpath openssl)
+    '';
 
   postPatch = ''
     sed 's@m4_esyscmd_s(.*,@[${version}],@' -i configure.ac
@@ -22,41 +32,48 @@ stdenv.mkDerivation rec {
 
   configureFlags = [ "--enable-dialogs=yes" ];
 
-  enableParallelBuilding = true;
-
-  doCheck = true;
-
   postInstall = ''
     install -D ${./eid-nssdb.in} $out/bin/eid-nssdb
     substituteInPlace $out/bin/eid-nssdb \
       --replace "modutil" "${nssTools}/bin/modutil"
 
-    # Only provides a useless "about-eid-mw.desktop" that segfaults anyway:
-    rm -r $out/share/applications $out/bin/about-eid-mw
+    rm $out/bin/about-eid-mw
+    wrapProgram $out/bin/eid-viewer --prefix XDG_DATA_DIRS : "$out/share/gsettings-schemas/$name" 
   '';
 
+  enableParallelBuilding = true;
+
+  doCheck = true;
+
   meta = with stdenv.lib; {
     description = "Belgian electronic identity card (eID) middleware";
     homepage = http://eid.belgium.be/en/using_your_eid/installing_the_eid_software/linux/;
     license = licenses.lgpl3;
     longDescription = ''
       Allows user authentication and digital signatures with Belgian ID cards.
-      Also requires a running pcscd service and compatible card reader.
+      Also requires a running pcscd service and compatible card reader. 
+
+      eid-viewer is also installed.
 
+      **TO FIX:** 
+      The procedure below did not work for me, I had to install the .so directly in firefox as instructed at
+      https://eid.belgium.be/en/log-eid#7507
+      and specify
+      /run/current-system/sw/lib/libbeidpkcs11.so
+      as the path to the module.
+
+      This package only installs the libraries. To use eIDs in Firefox or
+      Chromium, the eID Belgium add-on must be installed.
       This package only installs the libraries. To use eIDs in NSS-compatible
       browsers like Chrom{e,ium} or Firefox, each user must first execute:
-
         ~$ eid-nssdb add
-
       (Running the script once as root with the --system option enables eID
       support for all users, but will *not* work when using Chrom{e,ium}!)
-
       Before uninstalling this package, it is a very good idea to run
-
         ~$ eid-nssdb [--system] remove
-
       and remove all ~/.pki and/or /etc/pki directories no longer needed.
     '';
     platforms = platforms.linux;
+    maintainers = with maintainers; [ bfortz ];
   };
 }
diff --git a/pkgs/tools/security/eid-viewer/default.nix b/pkgs/tools/security/eid-viewer/default.nix
deleted file mode 100644
index 10cc314fe1d..00000000000
--- a/pkgs/tools/security/eid-viewer/default.nix
+++ /dev/null
@@ -1,42 +0,0 @@
-{ stdenv, fetchurl, makeWrapper, jre, pcsclite }:
-
-stdenv.mkDerivation rec {
-  name = "eid-viewer-${version}";
-  version = "4.1.9";
-
-  src = fetchurl {
-    url = "https://downloads.services.belgium.be/eid/eid-viewer-${version}-v${version}.src.tar.gz";
-    sha256 = "0bq9jl4kl97j0dfhz4crcb1wqhn420z5vpg510zadvrmqjhy1x4g";
-  };
-
-  buildInputs = [ jre pcsclite ];
-  nativeBuildInputs = [ makeWrapper ];
-
-  unpackPhase = "tar -xzf ${src} --strip-components=1";
-
-  preConfigure = ''
-    substituteInPlace eid-viewer.sh.in --replace "exec java" "exec ${jre}/bin/java"
-  '';
-
-  postInstall = ''
-    wrapProgram $out/bin/eid-viewer --suffix LD_LIBRARY_PATH : ${pcsclite}/lib
-    cat >> $out/share/applications/eid-viewer.desktop << EOF
-    # eid-viewer creates XML without a header, making it "plain text":
-    MimeType=application/xml;text/xml;text/plain
-    EOF
-  '';
-
-  doCheck = true;
-
-  meta = with stdenv.lib; {
-    description = "Belgian electronic identity card (eID) viewer";
-    homepage = http://eid.belgium.be/en/using_your_eid/installing_the_eid_software/linux/;
-    license = licenses.lgpl3;
-    longDescription = ''
-      A simple, graphical Java application to view, print and save data from
-      Belgian electronic identity cards. Independent of the eid-mw package,
-      which is required to actually use your eID for authentication or signing.
-    '';
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/tools/security/enpass/default.nix b/pkgs/tools/security/enpass/default.nix
index 38104b8b213..f27f9af59c6 100644
--- a/pkgs/tools/security/enpass/default.nix
+++ b/pkgs/tools/security/enpass/default.nix
@@ -3,15 +3,15 @@
 , gtk2, pango, atk, cairo, gdk_pixbuf, jasper, xkeyboardconfig
 , makeWrapper , makeDesktopItem, python, pythonPackages, lib
 , libredirect, lsof}:
-assert system == "i686-linux" || system == "x86_64-linux";
+
 let
-  all_data = (with builtins; fromJSON (readFile ./data.json));
+  all_data = builtins.fromJSON (builtins.readFile ./data.json);
   system_map = {
     i686-linux = "i386";
     x86_64-linux = "amd64";
   };
 
-  data = (with builtins; getAttr (getAttr system system_map) all_data);
+  data = all_data.${system_map.${system} or (throw "Unsupported platform")};
 
   baseUrl = http://repo.sinew.in;
 
@@ -54,7 +54,7 @@ let
       description = "a well known password manager";
       homepage = https://www.enpass.io/;
       license = lib.licenses.unfree;
-      platforms = lib.platforms.linux;
+      platforms = [ "x86_64-linux" "i686-linux"];
     };
 
     buildInputs = [makeWrapper dpkg];
@@ -70,8 +70,8 @@ let
       cp $out/bin/EnpassHelper/EnpassNMHost{,.untampered}
 
       sed \
-      	-i s@/opt/Enpass/bin/runenpass.sh@$out/bin/Enpass@ \
-      	$out/share/applications/enpass.desktop
+        -i s@/opt/Enpass/bin/runenpass.sh@$out/bin/Enpass@ \
+        $out/share/applications/enpass.desktop
 
       for i in $out/bin/{Enpass,EnpassHelper/{EnpassHelper,EnpassNMHost}}; do
         patchelf --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) $i
diff --git a/pkgs/tools/security/fail2ban/default.nix b/pkgs/tools/security/fail2ban/default.nix
index a8de8742dd5..30e8d4303dc 100644
--- a/pkgs/tools/security/fail2ban/default.nix
+++ b/pkgs/tools/security/fail2ban/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchFromGitHub, python, pythonPackages, gamin }:
 
-let version = "0.10.2"; in
+let version = "0.10.3.1"; in
 
 pythonPackages.buildPythonApplication {
   name = "fail2ban-${version}";
@@ -9,7 +9,7 @@ pythonPackages.buildPythonApplication {
     owner  = "fail2ban";
     repo   = "fail2ban";
     rev    = version;
-    sha256 = "1asn9gp0ybz6fak991vki9vln4ijramvr13rbwpxyj5wfmnh05r5";
+    sha256 = "03gljmqykwwvwxcfhqqfccmnsjhsl93052i38r9mf7hj4jj8v7x5";
   };
 
   propagatedBuildInputs = [ gamin ]
@@ -26,6 +26,8 @@ pythonPackages.buildPythonApplication {
   doCheck = false;
 
   preInstall = ''
+    substituteInPlace setup.py --replace /usr/share/doc/ share/doc/
+  
     # see https://github.com/NixOS/nixpkgs/issues/4968
     ${python}/bin/${python.executable} setup.py install_data --install-dir=$out --root=$out
   '';
diff --git a/pkgs/tools/security/fprintd/default.nix b/pkgs/tools/security/fprintd/default.nix
index effdaaecb18..52bc59abb4c 100644
--- a/pkgs/tools/security/fprintd/default.nix
+++ b/pkgs/tools/security/fprintd/default.nix
@@ -3,11 +3,11 @@
 
 stdenv.mkDerivation rec {
   name = "fprintd-${version}";
-  version = "0.7.0";
+  version = "0.8.0";
 
   src = fetchurl {
     url = "http://people.freedesktop.org/~hadess/${name}.tar.xz";
-    sha256 = "05915i0bv7q62fqrs5diqwr8dz3pwqa1c1ivcgggkjyw0xk4ldp5";
+    sha256 = "00i21ycaya4x2qf94mys6s94xnbj5cfm8zhhd5sc91lvqjk4r99k";
   };
 
   buildInputs = [ libfprint glib dbus-glib polkit nss pam systemd ];
diff --git a/pkgs/tools/security/gencfsm/default.nix b/pkgs/tools/security/gencfsm/default.nix
index 7f6f28593d2..3a9c81df234 100644
--- a/pkgs/tools/security/gencfsm/default.nix
+++ b/pkgs/tools/security/gencfsm/default.nix
@@ -35,5 +35,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2Plus;
     platforms = platforms.linux;
     maintainers = [ maintainers.spacefrogg ];
+    broken = true; # 2018-04-10
   };
 }
diff --git a/pkgs/tools/security/gnupg/1.nix b/pkgs/tools/security/gnupg/1.nix
index fa4555dcafb..9a147caa7e2 100644
--- a/pkgs/tools/security/gnupg/1.nix
+++ b/pkgs/tools/security/gnupg/1.nix
@@ -27,6 +27,6 @@ stdenv.mkDerivation rec {
       other applications.  A wealth of frontend applications and libraries are
       available.
     '';
-    platforms = platforms.gnu; # arbitrary choice
+    platforms = platforms.gnu ++ platforms.linux; # arbitrary choice
   };
 }
diff --git a/pkgs/tools/security/gnupg/22.nix b/pkgs/tools/security/gnupg/22.nix
index 89fee90364e..0f575d748b6 100644
--- a/pkgs/tools/security/gnupg/22.nix
+++ b/pkgs/tools/security/gnupg/22.nix
@@ -15,11 +15,11 @@ assert guiSupport -> pinentry != null;
 stdenv.mkDerivation rec {
   name = "gnupg-${version}";
 
-  version = "2.2.4";
+  version = "2.2.7";
 
   src = fetchurl {
     url = "mirror://gnupg/gnupg/${name}.tar.bz2";
-    sha256 = "1v7j8v2ww1knknbrhw3svfrqkmf9ll58iq0dczbsdpqgg1j3w6j0";
+    sha256 = "0vlpis0q7gvq9mhdc43hkyn3cdriz4mwgj20my3gyzpgwqg3cnyr";
   };
 
   nativeBuildInputs = [ pkgconfig ];
@@ -28,8 +28,6 @@ stdenv.mkDerivation rec {
     readline libusb gnutls adns openldap zlib bzip2 sqlite
   ];
 
-  NIX_LDFLAGS = stdenv.lib.optionalString stdenv.isDarwin "-lintl";
-
   patches = [
     ./fix-libusb-include-path.patch
   ];
diff --git a/pkgs/tools/security/gnupg/fix-libusb-include-path.patch b/pkgs/tools/security/gnupg/fix-libusb-include-path.patch
index 18c4f110738..a5432f8e3d9 100644
--- a/pkgs/tools/security/gnupg/fix-libusb-include-path.patch
+++ b/pkgs/tools/security/gnupg/fix-libusb-include-path.patch
@@ -1,10 +1,11 @@
 --- a/configure
 +++ b/configure
-@@ -8872,7 +8872,7 @@
+@@ -8987,8 +8987,7 @@
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking libusb include dir" >&5
  $as_echo_n "checking libusb include dir... " >&6; }
     usb_incdir_found="no"
--   for _incdir in "" "/usr/include/libusb-1.0" "/usr/local/include/libusb-1.0"; do
+-   for _incdir in "" "/usr/include/libusb-1.0" \
+-       "/usr/local/include/libusb-1.0" "/usr/pkg/include/libusb-1.0"; do
 +   for _incdir in "$($PKG_CONFIG --variable=includedir libusb-1.0)/libusb-1.0"; do
       _libusb_save_cppflags=$CPPFLAGS
       if test -n "${_incdir}"; then
diff --git a/pkgs/tools/security/gopass/default.nix b/pkgs/tools/security/gopass/default.nix
index db58c6011f0..1bbd4169f2e 100644
--- a/pkgs/tools/security/gopass/default.nix
+++ b/pkgs/tools/security/gopass/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, buildGoPackage, fetchFromGitHub, git, gnupg, makeWrapper }:
+{ stdenv, buildGoPackage, fetchFromGitHub, git, gnupg, xclip, makeWrapper }:
 
 buildGoPackage rec {
   version = "1.6.11";
@@ -18,8 +18,19 @@ buildGoPackage rec {
   wrapperPath = with stdenv.lib; makeBinPath ([
     git
     gnupg
+    xclip
   ]);
 
+  postInstall = ''
+    mkdir -p \
+      $bin/share/bash-completion/completions \
+      $bin/share/zsh/site-functions \
+      $bin/share/fish/vendor_completions.d
+    $bin/bin/gopass completion bash > $bin/share/bash-completion/completions/_gopass
+    $bin/bin/gopass completion zsh  > $bin/share/zsh/site-functions/_gopass
+    $bin/bin/gopass completion fish > $bin/share/fish/vendor_completions.d/gopass.fish
+  '';
+
   postFixup = ''
     wrapProgram $bin/bin/gopass \
       --prefix PATH : "${wrapperPath}"
diff --git a/pkgs/tools/security/hologram/default.nix b/pkgs/tools/security/hologram/default.nix
index 911c1b12562..5d873885b1f 100644
--- a/pkgs/tools/security/hologram/default.nix
+++ b/pkgs/tools/security/hologram/default.nix
@@ -1,14 +1,14 @@
-{ stdenv, lib, buildGoPackage, fetchgit, fetchhg, fetchbzr, fetchsvn }:
+{ stdenv, lib, buildGoPackage, fetchFromGitHub }:
 
 buildGoPackage rec {
-  name = "hologram-${version}";
-  version = "20170130-${stdenv.lib.strings.substring 0 7 rev}";
-  rev = "d20d1c30379e7010e8f9c428a5b9e82f54d390e1";
+  name = "hologram-2018-03-19";
+  rev = "a7bab58642b530edb75b9cf6c1d834c85822ceac";
 
-  src = fetchgit {
+  src = fetchFromGitHub {
+    owner = "AdRoll";
+    repo = "hologram";
     inherit rev;
-    url = "https://github.com/AdRoll/hologram";
-    sha256 = "0dg5kfs16kf2gzhpmzsg83qzi2pxgnc9g81lw5zpa6fmzpa9kgsn";
+    sha256 = "00scryz8js6gbw8lp2y23qikbazz2dd992r97rqh0l1q4baa0ckn";
   };
 
   goPackagePath = "github.com/AdRoll/hologram";
diff --git a/pkgs/tools/security/john/default.nix b/pkgs/tools/security/john/default.nix
index 7552b21ed33..e55e97656f6 100644
--- a/pkgs/tools/security/john/default.nix
+++ b/pkgs/tools/security/john/default.nix
@@ -69,6 +69,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2;
     homepage = https://github.com/magnumripper/JohnTheRipper/;
     maintainers = with maintainers; [ offline ];
-    platforms = platforms.unix;
+    platforms = [ "x86_64-linux" "x86_64-darwin"];
   };
 }
diff --git a/pkgs/tools/security/keybase-gui/default.nix b/pkgs/tools/security/keybase/gui.nix
index 53b871306d7..1d50f5498c8 100644
--- a/pkgs/tools/security/keybase-gui/default.nix
+++ b/pkgs/tools/security/keybase/gui.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchurl, buildFHSUserEnv, writeTextFile, alsaLib, atk, cairo, cups
-, dbus, expat, fontconfig, freetype, gcc, gdk_pixbuf, glib, gnome2, gtk2, nspr
-, nss, pango, systemd, xorg, utillinuxMinimal }:
+, dbus, expat, fontconfig, freetype, gcc, gdk_pixbuf, glib, gnome2, gtk2
+, libnotify, nspr, nss, pango, systemd, xorg, utillinuxMinimal }:
 
 let
   libPath = stdenv.lib.makeLibraryPath [
@@ -17,6 +17,7 @@ let
     glib
     gnome2.GConf
     gtk2
+    libnotify
     nspr
     nss
     pango
diff --git a/pkgs/tools/security/krunner-pass/default.nix b/pkgs/tools/security/krunner-pass/default.nix
new file mode 100644
index 00000000000..dac6df56a79
--- /dev/null
+++ b/pkgs/tools/security/krunner-pass/default.nix
@@ -0,0 +1,44 @@
+{ mkDerivation, stdenv,
+  fetchFromGitHub,
+  cmake, extra-cmake-modules, gnumake,
+
+  pass, pass-otp ? null, krunner,
+}:
+let
+  pname = "krunner-pass";
+  version = "1.3.0";
+in
+mkDerivation rec {
+  name = "${pname}-${version}";
+
+  src = fetchFromGitHub {
+    owner = "akermu";
+    repo = "krunner-pass";
+    rev = "v${version}";
+    sha256 = "032fs2174ls545kjixbhzyd65wgxkw4s5vg8b20irc5c9ak3pxm0";
+  };
+
+  buildInputs  = [
+    pass
+    pass-otp
+    krunner
+  ];
+
+  nativeBuildInputs = [cmake extra-cmake-modules gnumake];
+
+  patches = [
+    ./pass-path.patch
+  ];
+
+  CXXFLAGS = [
+    ''-DNIXPKGS_PASS=\"${stdenv.lib.getBin pass}/bin/pass\"''
+  ];
+
+  meta = with stdenv.lib; {
+    description = "Integrates krunner with pass the unix standard password manager (https://www.passwordstore.org/)";
+    homepage = https://github.com/akermu/krunner-pass;
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ ysndr ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/tools/security/krunner-pass/pass-path.patch b/pkgs/tools/security/krunner-pass/pass-path.patch
new file mode 100644
index 00000000000..4ceb3c5d92d
--- /dev/null
+++ b/pkgs/tools/security/krunner-pass/pass-path.patch
@@ -0,0 +1,13 @@
+diff --git a/pass.cpp b/pass.cpp
+index c02f9d0..85c5b99 100644
+--- a/pass.cpp
++++ b/pass.cpp
+@@ -193,7 +193,7 @@ void Pass::run(const Plasma::RunnerContext &context, const Plasma::QueryMatch &m
+     } else {
+         args << "show" << match.text();
+     }
+-    pass->start("pass", args);
++    pass->start(NIXPKGS_PASS, args);
+
+     connect(pass, static_cast<void(QProcess::*)(int, QProcess::ExitStatus)>(&QProcess::finished),
+             [=](int exitCode, QProcess::ExitStatus exitStatus) {
diff --git a/pkgs/tools/security/lastpass-cli/default.nix b/pkgs/tools/security/lastpass-cli/default.nix
index 9395d4acb8b..e9dffa5dbfa 100644
--- a/pkgs/tools/security/lastpass-cli/default.nix
+++ b/pkgs/tools/security/lastpass-cli/default.nix
@@ -4,13 +4,13 @@
 stdenv.mkDerivation rec {
   name = "lastpass-cli-${version}";
 
-  version = "1.2.2";
+  version = "1.3.0";
 
   src = fetchFromGitHub {
     owner = "lastpass";
     repo = "lastpass-cli";
     rev = "v${version}";
-    sha256 = "0041z2awpmwq2fk8lbgp4fcia0r6wss2csvq5bxps0cx7fq69wc1";
+    sha256 = "0k3vnlibv05wnn6qn3qjlcyj2s07di7zkmdnijd6cp1hfk76z2r5";
   };
 
   nativeBuildInputs = [ asciidoc cmake docbook_xsl pkgconfig ];
diff --git a/pkgs/tools/security/logkeys/default.nix b/pkgs/tools/security/logkeys/default.nix
index e30ad30a4dc..8a73d056b1e 100644
--- a/pkgs/tools/security/logkeys/default.nix
+++ b/pkgs/tools/security/logkeys/default.nix
@@ -1,13 +1,14 @@
-{ stdenv, fetchgit, autoconf, automake, which, procps, kbd }:
+{ stdenv, fetchFromGitHub, autoconf, automake, which, procps, kbd }:
 
 stdenv.mkDerivation rec {
   name = "logkeys-${version}";
-  version = "2017-10-10";
+  version = "2018-01-22";
 
-  src = fetchgit {
-    url = https://github.com/kernc/logkeys;
-    rev = "5c368327a2cd818efaed4794633c260b90b87abf";
-    sha256 = "0akj7j775y9c0p53zq5v12jk3fy030fpdvn5m1x9w4rdj47vxdpg";
+  src = fetchFromGitHub {
+    owner = "kernc";
+    repo = "logkeys";
+    rev = "7a9f19fb6b152d9f00a0b3fe29ab266ff1f88129";
+    sha256 = "1k6kj0913imwh53lh6hrhqmrpygqg2h462raafjsn7gbd3vkgx8n";
   };
 
   buildInputs = [ autoconf automake which procps kbd ];
diff --git a/pkgs/tools/security/lynis/default.nix b/pkgs/tools/security/lynis/default.nix
index cbbb9b4dd3c..56a47ea3874 100644
--- a/pkgs/tools/security/lynis/default.nix
+++ b/pkgs/tools/security/lynis/default.nix
@@ -2,14 +2,14 @@
 
 stdenv.mkDerivation rec {
   pname = "lynis";
-  version = "2.6.2";
+  version = "2.6.4";
   name = "${pname}-${version}";
 
   src = fetchFromGitHub {
     owner = "CISOfy";
     repo = "${pname}";
     rev = "${version}";
-    sha256 = "0jymp44dmc22cdrsd5hfyv9wc8a5sq92yh9p9c0rg22g53733910";
+    sha256 = "1p449gsackcavw5h9yn0ckk1fkakx9d55izi22gh8wfvijdfhw10";
   };
 
   nativeBuildInputs = [ makeWrapper perl ];
diff --git a/pkgs/tools/security/masscan/default.nix b/pkgs/tools/security/masscan/default.nix
index 22a452ccabd..26497659d23 100644
--- a/pkgs/tools/security/masscan/default.nix
+++ b/pkgs/tools/security/masscan/default.nix
@@ -11,9 +11,13 @@ stdenv.mkDerivation rec {
     sha256 = "0mjvwh4i0ncsa3ywavw2s55v5bfv7pyga028c8m8xfash9764wwf";
   };
 
-  buildInputs = [ makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
 
-  makeFlags = [ "PREFIX=$(out)" "CC=cc" "-j" ];
+  makeFlags = [ "PREFIX=$(out)" "GITVER=${version}" "CC=cc" ];
+
+  preInstall = ''
+    mkdir -p $out/bin
+  '';
 
   postInstall = ''
     mkdir -p $out/share/man/man8
diff --git a/pkgs/tools/security/monkeysphere/default.nix b/pkgs/tools/security/monkeysphere/default.nix
index f0d3a870676..d1266ca495e 100644
--- a/pkgs/tools/security/monkeysphere/default.nix
+++ b/pkgs/tools/security/monkeysphere/default.nix
@@ -24,6 +24,11 @@ stdenv.mkDerivation rec {
         CryptOpenSSLRSA
         CryptOpenSSLBignum
       ]}"
+    wrapProgram $out/bin/monkeysphere --prefix PERL5LIB :\
+      "${with perlPackages; stdenv.lib.makePerlPath [
+        CryptOpenSSLRSA
+        CryptOpenSSLBignum
+      ]}"
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/tools/security/mpw/default.nix b/pkgs/tools/security/mpw/default.nix
index 3e1e3a88283..0994c649c83 100644
--- a/pkgs/tools/security/mpw/default.nix
+++ b/pkgs/tools/security/mpw/default.nix
@@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with stdenv.lib; {
-    homepage = http://masterpasswordapp.com/;
+    homepage = https://masterpasswordapp.com/;
     description = "A stateless password management solution";
     license = licenses.gpl3;
     platforms = platforms.unix;
diff --git a/pkgs/tools/security/neopg/default.nix b/pkgs/tools/security/neopg/default.nix
new file mode 100644
index 00000000000..10efe0e7f21
--- /dev/null
+++ b/pkgs/tools/security/neopg/default.nix
@@ -0,0 +1,47 @@
+{ stdenv
+, fetchgit
+, cmake
+, sqlite
+, botan2
+, boost164
+, curl
+, gettext
+, pkgconfig
+, libusb
+, gnutls }:
+
+stdenv.mkDerivation rec {
+  name = "neopg";
+  version = "0.0.4";
+
+  # no fetchFromGitHub, as repo contains submodules
+  src = fetchgit {
+    url = "https://github.com/das-labor/neopg.git";
+    rev = "refs/tags/v${version}";
+    sha256 = "0hhkl326ff6f76k8pwggpzmivbm13fz497nlyy6ybn5bmi9xfblm";
+  };
+
+  nativeBuildInputs = [ pkgconfig ];
+
+  buildInputs = [ cmake sqlite botan2 boost164 curl gettext libusb gnutls ]; 
+
+  doCheck = true;
+  checkTarget = "test";
+
+  postInstall = ''
+    mkdir -p $out/bin
+    cp src/neopg $out/bin/neopg
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = https://neopg.io/;
+    description = "Modern replacement for GnuPG 2";
+    license = licenses.gpl3;
+    longDescription = ''
+      NeoPG starts as an opiniated fork of GnuPG 2 to clean up the code and make it easier to develop.
+      It is written in C++11.
+    '';
+    maintainers = with maintainers; [ erictapen ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/tools/security/nmap/default.nix b/pkgs/tools/security/nmap/default.nix
index 3d31596a43f..4c6df817a72 100644
--- a/pkgs/tools/security/nmap/default.nix
+++ b/pkgs/tools/security/nmap/default.nix
@@ -19,11 +19,11 @@ let
 
 in stdenv.mkDerivation rec {
   name = "nmap${optionalString graphicalSupport "-graphical"}-${version}";
-  version = "7.60";
+  version = "7.70";
 
   src = fetchurl {
     url = "https://nmap.org/dist/nmap-${version}.tar.bz2";
-    sha256 = "08bga42ipymmbxd7wy4x5sl26c0ir1fm3n9rc6nqmhx69z66wyd8";
+    sha256 = "063fg8adx23l4irrh5kn57hsmi1xvjkar4vm4k6g94ppan4hcyw4";
   };
 
   patches = ./zenmap.patch;
@@ -53,6 +53,8 @@ in stdenv.mkDerivation rec {
       libX11 gtk2 pygtk pysqlite pygobject2 pycairo
     ];
 
+  doCheck = false; # fails 3 tests, probably needs the net
+
   meta = {
     description = "A free and open source utility for network discovery and security auditing";
     homepage    = http://www.nmap.org;
diff --git a/pkgs/tools/security/notary/default.nix b/pkgs/tools/security/notary/default.nix
index 36685b1d1e4..071bfdaea00 100644
--- a/pkgs/tools/security/notary/default.nix
+++ b/pkgs/tools/security/notary/default.nix
@@ -1,32 +1,42 @@
-{ stdenv, fetchFromGitHub, buildGoPackage, git, libtool }:
+{ stdenv, fetchFromGitHub, buildGoPackage, libtool }:
 
 buildGoPackage rec {
   name = "notary-${version}";
-  version = "0.5.1";
-  gitcommit = "9211198";
+  version = "0.6.1";
+  gitcommit = "d6e1431f";
 
   src = fetchFromGitHub {
     owner = "theupdateframework";
     repo = "notary";
     rev = "v${version}";
-    sha256 = "0z9nsb1mrl0q5j02jkyzbc6xqsm83qzacsckypsxcrijhw935rs5";
+    sha256 = "1ak9dk6vjny5069hp3w36dbjawcnaq82l3i2qvf7mn7zfglbsnf9";
   };
 
-  buildInputs = [ libtool ];
-
-  goPackagePath = "github.com/docker/notary";
+  patches = [ ./no-git-usage.patch ];
 
+  buildInputs = [ libtool ];
   buildPhase = ''
-    cd go/src/github.com/docker/notary
-    make GITCOMMIT=${gitcommit} GITUNTRACKEDCHANGES= client
+    runHook preBuild
+    cd go/src/github.com/theupdateframework/notary
+    make client GITCOMMIT=${gitcommit}
+    runHook postBuild
   '';
 
+  goPackagePath = "github.com/theupdateframework/notary";
+
   installPhase = ''
+    runHook preInstall
     install -D bin/notary $bin/bin/notary
+    runHook postInstall
+  '';
+
+  doCheck = true;
+  checkPhase = ''
+    make test PKGS=github.com/theupdateframework/notary/cmd/notary
   '';
 
   meta = with stdenv.lib; {
-    description = " Notary is a project that allows anyone to have trust over arbitrary collections of data";
+    description = "Notary is a project that allows anyone to have trust over arbitrary collections of data";
     longDescription = ''
       The Notary project comprises a server and a client for running and
       interacting with trusted collections. See the service architecture
@@ -49,7 +59,7 @@ buildGoPackage rec {
     '';
     license = licenses.asl20;
     homepage = https://github.com/theupdateframework/notary;
-    maintainers = with maintainers; [ vdemeester ];
-    platforms = with platforms; unix;
+    maintainers = with maintainers; [ vdemeester ma27 ];
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/tools/security/notary/no-git-usage.patch b/pkgs/tools/security/notary/no-git-usage.patch
new file mode 100644
index 00000000000..363eefe3692
--- /dev/null
+++ b/pkgs/tools/security/notary/no-git-usage.patch
@@ -0,0 +1,15 @@
+diff --git a/Makefile b/Makefile
+index ab794165..0cbd047f 100644
+--- a/Makefile
++++ b/Makefile
+@@ -5,8 +5,8 @@ PREFIX?=$(shell pwd)
+ # Add to compile time flags
+ NOTARY_PKG := github.com/theupdateframework/notary
+ NOTARY_VERSION := $(shell cat NOTARY_VERSION)
+-GITCOMMIT := $(shell git rev-parse --short HEAD)
+-GITUNTRACKEDCHANGES := $(shell git status --porcelain --untracked-files=no)
++GITCOMMIT ?= $(shell git rev-parse --short HEAD)
++GITUNTRACKEDCHANGES :=
+ ifneq ($(GITUNTRACKEDCHANGES),)
+ GITCOMMIT := $(GITCOMMIT)-dirty
+ endif
diff --git a/pkgs/tools/security/open-ecard/default.nix b/pkgs/tools/security/open-ecard/default.nix
new file mode 100644
index 00000000000..a0af51186ed
--- /dev/null
+++ b/pkgs/tools/security/open-ecard/default.nix
@@ -0,0 +1,64 @@
+{ stdenv, fetchurl, jre, pcsclite, makeDesktopItem, makeWrapper }:
+
+let
+  version = "1.2.4";
+
+  srcs = {
+    richclient = fetchurl {
+      url = "https://jnlp.openecard.org/richclient-${version}-20171212-0958.jar";
+      sha256 = "1ckhyhszp4zhfb5mn67lz603b55z814jh0sz0q5hriqzx017j7nr";
+    };
+    cifs = fetchurl {
+      url = "https://jnlp.openecard.org/cifs-${version}-20171212-0958.jar";
+      sha256 = "0rc862lx3y6sw87r1v5xjmqqpysyr1x6yqhycqmcdrwz0j3wykrr";
+    };
+    logo = fetchurl {
+      url = https://raw.githubusercontent.com/ecsec/open-ecard/1.2.3/gui/graphics/src/main/ext/oec_logo_bg-transparent.svg;
+      sha256 = "0rpmyv10vjx2yfpm03mqliygcww8af2wnrnrppmsazdplksaxkhs";
+    };
+  };
+in stdenv.mkDerivation rec {
+  appName = "open-ecard";
+  name = "${appName}-${version}";
+
+  src = srcs.richclient;
+
+  phases = "installPhase";
+
+  buildInputs = [ makeWrapper ];
+
+  desktopItem = makeDesktopItem {
+    name = appName;
+    desktopName = "Open eCard App";
+    genericName = "eCard App";
+    comment = "Client side implementation of the eCard-API-Framework";
+    icon = "oec_logo_bg-transparent.svg";
+    exec = appName;
+    categories = "Utility;Security;";
+  };
+
+  installPhase = ''
+    mkdir -p $out/share/java
+    cp ${srcs.richclient} $out/share/java/richclient-${version}.jar
+    cp ${srcs.cifs} $out/share/java/cifs-${version}.jar
+
+    mkdir -p $out/share/applications $out/share/pixmaps
+    cp $desktopItem/share/applications/* $out/share/applications
+    cp ${srcs.logo} $out/share/pixmaps/oec_logo_bg-transparent.svg
+
+    mkdir -p $out/bin
+    makeWrapper ${jre}/bin/java $out/bin/${appName} \
+      --add-flags "-cp $out/share/java/cifs-${version}.jar" \
+      --add-flags "-jar $out/share/java/richclient-${version}.jar" \
+      --suffix LD_LIBRARY_PATH ':' ${pcsclite}/lib
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Client side implementation of the eCard-API-Framework (BSI
+      TR-03112) and related international standards, such as ISO/IEC 24727";
+    homepage = https://www.openecard.org/;
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ sephalon ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/tools/security/paperkey/default.nix b/pkgs/tools/security/paperkey/default.nix
index eba707b7d07..1c235c9d883 100644
--- a/pkgs/tools/security/paperkey/default.nix
+++ b/pkgs/tools/security/paperkey/default.nix
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
     '';
     homepage = http://www.jabberwocky.com/software/paperkey/;
     license = licenses.gpl2;
-    platforms = platforms.linux;
+    platforms = platforms.unix;
     maintainers = with maintainers; [ skeidel ];
   };
 }
diff --git a/pkgs/tools/security/pass/default.nix b/pkgs/tools/security/pass/default.nix
index ad2afa8ed91..5ce0ce0dbc2 100644
--- a/pkgs/tools/security/pass/default.nix
+++ b/pkgs/tools/security/pass/default.nix
@@ -1,10 +1,12 @@
-{ stdenv, lib, fetchurl, fetchFromGitHub
+{ stdenv, lib, pkgs, fetchurl, fetchFromGitHub, buildEnv
 , coreutils, gnused, getopt, git, tree, gnupg, which, procps, qrencode
 , makeWrapper
 
 , xclip ? null, xdotool ? null, dmenu ? null
 , x11Support ? !stdenv.isDarwin
-, tombPluginSupport ? false, tomb
+
+# For backwards-compatibility
+, tombPluginSupport ? false
 }:
 
 with lib;
@@ -14,98 +16,100 @@ assert x11Support -> xclip != null
                   && dmenu != null;
 
 let
-  plugins = map (p: (fetchFromGitHub {
-    owner  = "roddhjav";
-    repo   = "pass-${p.name}";
-    inherit (p) rev sha256;
-  }))
-  ([
-    { name = "import";
-      rev = "491935bd275f29ceac2b876b3a288011d1ce31e7";
-      sha256 = "02mbh05ab8h7kc30hz718d1d1vkjz43b96c7p0xnd92610d2q66q"; }
-    { name = "update";
-      rev = "cf576c9036fd18efb9ed29e0e9f811207b556fde";
-      sha256 = "1hhbrg6a2walrvla6q4cd3pgrqbcrf9brzjkb748735shxfn52hd"; }
-    ] ++ stdenv.lib.optional tombPluginSupport {
-      name = "tomb";
-      rev = "3368134898a42c1b758fabac625ec240e125c6be";
-      sha256 = "0qqmxfg4w3r088qhlkhs44036mya82vjflsjjhw2hk8y0wd2i6ds"; }
-  );
-
-in stdenv.mkDerivation rec {
-  version = "1.7.1";
-  name    = "password-store-${version}";
-
-  src = fetchurl {
-    url    = "http://git.zx2c4.com/password-store/snapshot/${name}.tar.xz";
-    sha256 = "0scqkpll2q8jhzcgcsh9kqz0gwdpvynivqjmmbzax2irjfaiklpn";
-  };
+  passExtensions = import ./extensions { inherit pkgs; };
+
+  env = extensions:
+    let
+      selected = extensions passExtensions
+        ++ stdenv.lib.optional tombPluginSupport passExtensions.tomb;
+    in buildEnv {
+      name = "pass-extensions-env";
+      paths = selected;
+      buildInputs = concatMap (x: x.buildInputs) selected;
+    };
+
+  generic = extensionsEnv: extraPassthru: stdenv.mkDerivation rec {
+    version = "1.7.1";
+    name    = "password-store-${version}";
+
+    src = fetchurl {
+      url    = "http://git.zx2c4.com/password-store/snapshot/${name}.tar.xz";
+      sha256 = "0scqkpll2q8jhzcgcsh9kqz0gwdpvynivqjmmbzax2irjfaiklpn";
+    };
+
+    patches = [ ./set-correct-program-name-for-sleep.patch
+              ] ++ stdenv.lib.optional stdenv.isDarwin ./no-darwin-getopt.patch;
+
+    nativeBuildInputs = [ makeWrapper ];
+
+    buildInputs = [ extensionsEnv ];
+
+    installFlags = [ "PREFIX=$(out)" "WITH_ALLCOMP=yes" ];
+
+    postInstall = ''
+      # Install Emacs Mode. NOTE: We can't install the necessary
+      # dependencies (s.el and f.el) here. The user has to do this
+      # himself.
+      mkdir -p "$out/share/emacs/site-lisp"
+      cp "contrib/emacs/password-store.el" "$out/share/emacs/site-lisp/"
+    '' + optionalString x11Support ''
+      cp "contrib/dmenu/passmenu" "$out/bin/"
+    '';
 
-  patches = [ ./set-correct-program-name-for-sleep.patch
-            ] ++ stdenv.lib.optional stdenv.isDarwin ./no-darwin-getopt.patch;
-
-  nativeBuildInputs = [ makeWrapper ];
-
-  installFlags = [ "PREFIX=$(out)" "WITH_ALLCOMP=yes" ];
-
-  postInstall = ''
-    # plugins
-    ${stdenv.lib.concatStringsSep "\n" (map (plugin: ''
-      pushd ${plugin}
-      PREFIX=$out make install
-      popd
-    '') plugins)}
-
-    # Install Emacs Mode. NOTE: We can't install the necessary
-    # dependencies (s.el and f.el) here. The user has to do this
-    # himself.
-    mkdir -p "$out/share/emacs/site-lisp"
-    cp "contrib/emacs/password-store.el" "$out/share/emacs/site-lisp/"
-  '' + optionalString x11Support ''
-    cp "contrib/dmenu/passmenu" "$out/bin/"
-  '';
-
-  wrapperPath = with stdenv.lib; makeBinPath ([
-    coreutils
-    getopt
-    git
-    gnupg
-    gnused
-    tree
-    which
-    qrencode
-  ] ++ optional tombPluginSupport tomb
-    ++ optional stdenv.isLinux procps
-    ++ ifEnable x11Support [ dmenu xclip xdotool ]);
-
-  postFixup = ''
-    # Fix program name in --help
-    substituteInPlace $out/bin/pass \
-      --replace 'PROGRAM="''${0##*/}"' "PROGRAM=pass"
-
-    # Ensure all dependencies are in PATH
-    wrapProgram $out/bin/pass \
-      --prefix PATH : "${wrapperPath}"
-  '' + stdenv.lib.optionalString x11Support ''
-    # We just wrap passmenu with the same PATH as pass. It doesn't
-    # need all the tools in there but it doesn't hurt either.
-    wrapProgram $out/bin/passmenu \
-      --prefix PATH : "$out/bin:${wrapperPath}"
-  '';
-
-  meta = with stdenv.lib; {
-    description = "Stores, retrieves, generates, and synchronizes passwords securely";
-    homepage    = https://www.passwordstore.org/;
-    license     = licenses.gpl2Plus;
-    maintainers = with maintainers; [ lovek323 the-kenny fpletz ];
-    platforms   = platforms.unix;
-
-    longDescription = ''
-      pass is a very simple password store that keeps passwords inside gpg2
-      encrypted files inside a simple directory tree residing at
-      ~/.password-store. The pass utility provides a series of commands for
-      manipulating the password store, allowing the user to add, remove, edit,
-      synchronize, generate, and manipulate passwords.
+    wrapperPath = with stdenv.lib; makeBinPath ([
+      coreutils
+      getopt
+      git
+      gnupg
+      gnused
+      tree
+      which
+      qrencode
+      procps
+    ] ++ ifEnable x11Support [ dmenu xclip xdotool ]);
+
+    postFixup = ''
+      # Link extensions env
+      rmdir $out/lib/password-store/extensions
+      ln -s ${extensionsEnv}/lib/password-store/extensions $out/lib/password-store/.
+
+      # Fix program name in --help
+      substituteInPlace $out/bin/pass \
+        --replace 'PROGRAM="''${0##*/}"' "PROGRAM=pass"
+
+      # Ensure all dependencies are in PATH
+      wrapProgram $out/bin/pass \
+        --prefix PATH : "${wrapperPath}"
+    '' + stdenv.lib.optionalString x11Support ''
+      # We just wrap passmenu with the same PATH as pass. It doesn't
+      # need all the tools in there but it doesn't hurt either.
+      wrapProgram $out/bin/passmenu \
+        --prefix PATH : "$out/bin:${wrapperPath}"
     '';
+
+    passthru = {
+      extensions = passExtensions;
+    } // extraPassthru;
+
+    meta = with stdenv.lib; {
+      description = "Stores, retrieves, generates, and synchronizes passwords securely";
+      homepage    = https://www.passwordstore.org/;
+      license     = licenses.gpl2Plus;
+      maintainers = with maintainers; [ lovek323 the-kenny fpletz tadfisher ];
+      platforms   = platforms.unix;
+
+      longDescription = ''
+        pass is a very simple password store that keeps passwords inside gpg2
+        encrypted files inside a simple directory tree residing at
+        ~/.password-store. The pass utility provides a series of commands for
+        manipulating the password store, allowing the user to add, remove, edit,
+        synchronize, generate, and manipulate passwords.
+      '';
+    };
   };
+
+in
+
+generic (env (_: [])) {
+  withExtensions = extensions: generic (env extensions) {};
 }
diff --git a/pkgs/tools/security/pass/extensions/default.nix b/pkgs/tools/security/pass/extensions/default.nix
new file mode 100644
index 00000000000..dfb853c0a0b
--- /dev/null
+++ b/pkgs/tools/security/pass/extensions/default.nix
@@ -0,0 +1,12 @@
+{ pkgs, ... }:
+
+with pkgs;
+
+{
+  pass-import = callPackage ./import.nix {
+    pythonPackages = python3Packages;
+  };
+  pass-otp = callPackage ./otp.nix {};
+  pass-tomb = callPackage ./tomb.nix {};
+  pass-update = callPackage ./update.nix {};
+}
diff --git a/pkgs/tools/security/pass/extensions/import.nix b/pkgs/tools/security/pass/extensions/import.nix
new file mode 100644
index 00000000000..8ba4abc5e3d
--- /dev/null
+++ b/pkgs/tools/security/pass/extensions/import.nix
@@ -0,0 +1,37 @@
+{ stdenv, pass, fetchFromGitHub, pythonPackages, makeWrapper }:
+
+let
+  pythonEnv = pythonPackages.python.withPackages (p: [ p.defusedxml ]);
+
+in stdenv.mkDerivation rec {
+  name = "pass-import-${version}";
+  version = "2.2";
+
+  src = fetchFromGitHub {
+    owner = "roddhjav";
+    repo = "pass-import";
+    rev = "v${version}";
+    sha256 = "189wf2jz2j43k27930cnl53sm2drh1s0nq1nmh4is3rzn8cna6wq";
+  };
+
+  nativeBuildInputs = [ makeWrapper ];
+
+  buildInputs = [ pythonEnv ];
+
+  dontBuild = true;
+
+  installFlags = [ "PREFIX=$(out)" ];
+
+  postFixup = ''
+    wrapProgram $out/lib/password-store/extensions/import.bash \
+      --prefix PATH : "${pythonEnv}/bin"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Pass extension for importing data from existing password managers";
+    homepage = https://github.com/roddhjav/pass-import;
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ lovek323 the-kenny fpletz tadfisher ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/tools/security/pass-otp/default.nix b/pkgs/tools/security/pass/extensions/otp.nix
index 7f0f44bdfa4..60198675b29 100644
--- a/pkgs/tools/security/pass-otp/default.nix
+++ b/pkgs/tools/security/pass/extensions/otp.nix
@@ -1,4 +1,5 @@
-{ stdenv, pass, fetchFromGitHub, oathToolkit }:
+{ stdenv, fetchFromGitHub, oathToolkit }:
+
 stdenv.mkDerivation rec {
   name = "pass-otp-${version}";
   version = "1.1.0";
@@ -10,15 +11,15 @@ stdenv.mkDerivation rec {
     sha256 = "1cgj4zc8fq88n3h6c0vkv9i5al785mdprpgpbv5m22dz9p1wqvbb";
   };
 
-  buildInputs = [ pass oathToolkit ];
+  buildInputs = [ oathToolkit ];
+
+  dontBuild = true;
 
   patchPhase = ''
     sed -i -e 's|OATH=\$(which oathtool)|OATH=${oathToolkit}/bin/oathtool|' otp.bash
   '';
 
-  installPhase = ''
-    make PREFIX=$out install
-  '';
+  installFlags = [ "PREFIX=$(out)" ];
 
   meta = with stdenv.lib; {
     description = "A pass extension for managing one-time-password (OTP) tokens";
diff --git a/pkgs/tools/security/pass/extensions/tomb.nix b/pkgs/tools/security/pass/extensions/tomb.nix
new file mode 100644
index 00000000000..b9f458cd4e1
--- /dev/null
+++ b/pkgs/tools/security/pass/extensions/tomb.nix
@@ -0,0 +1,32 @@
+{ stdenv, fetchFromGitHub, tomb }:
+
+stdenv.mkDerivation rec {
+  name = "pass-tomb-${version}";
+  version = "1.1";
+
+  src = fetchFromGitHub {
+    owner = "roddhjav";
+    repo = "pass-tomb";
+    rev = "v${version}";
+    sha256 = "0wxa673yyzasjlkpd5f3yl5zf7bhsw7h1jbhf6sdjz65bypr2596";
+  };
+
+  buildInputs = [ tomb ];
+
+  dontBuild = true;
+
+  installFlags = [ "PREFIX=$(out)" ];
+
+  postFixup = ''
+    substituteInPlace $out/lib/password-store/extensions/tomb.bash \
+      --replace 'TOMB="''${PASSWORD_STORE_TOMB:-tomb}"' 'TOMB="''${PASSWORD_STORE_TOMB:-${tomb}/bin/tomb}"'
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Pass extension that keeps the password store encrypted inside a tomb";
+    homepage = https://github.com/roddhjav/pass-tomb;
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ lovek323 the-kenny fpletz tadfisher ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/tools/security/pass/extensions/update.nix b/pkgs/tools/security/pass/extensions/update.nix
new file mode 100644
index 00000000000..dd145b06972
--- /dev/null
+++ b/pkgs/tools/security/pass/extensions/update.nix
@@ -0,0 +1,25 @@
+{ stdenv, fetchFromGitHub }:
+
+stdenv.mkDerivation rec {
+  name = "pass-update-${version}";
+  version = "2.0";
+
+  src = fetchFromGitHub {
+    owner = "roddhjav";
+    repo = "pass-update";
+    rev = "v${version}";
+    sha256 = "0a81q0jfni185zmbislzbcv0qr1rdp0cgr9wf9riygis2xv6rs6k";
+  };
+
+  dontBuild = true;
+
+  installFlags = [ "PREFIX=$(out)" ];
+
+  meta = with stdenv.lib; {
+    description = "Pass extension that provides an easy flow for updating passwords";
+    homepage = https://github.com/roddhjav/pass-update;
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ lovek323 the-kenny fpletz tadfisher ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/tools/security/pass/rofi-pass.nix b/pkgs/tools/security/pass/rofi-pass.nix
index 61f51973ed3..3928f61fa96 100644
--- a/pkgs/tools/security/pass/rofi-pass.nix
+++ b/pkgs/tools/security/pass/rofi-pass.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   name = "rofi-pass-${version}";
-  version = "1.5.3";
+  version = "2.0.1";
 
   src = fetchFromGitHub {
     owner = "carnager";
     repo = "rofi-pass";
     rev = version;
-    sha256 = "1fn1j2rf3abc5qb44zfc8z8ffw6rva4xfp7597hwr1g3szacazpq";
+    sha256 = "1r5z9g2kc6qf9r2d7vanzdc594apf8fgyn1rh30fvxygl2976yrw";
   };
 
   buildInputs = [ makeWrapper ];
diff --git a/pkgs/tools/security/pcsc-scm-scl011/default.nix b/pkgs/tools/security/pcsc-scm-scl011/default.nix
new file mode 100644
index 00000000000..1418a4ead58
--- /dev/null
+++ b/pkgs/tools/security/pcsc-scm-scl011/default.nix
@@ -0,0 +1,48 @@
+{ stdenv, fetchurl, unzip, libusb }:
+
+let
+  arch = if stdenv.system == "i686-linux" then "32"
+  else if stdenv.system == "x86_64-linux" then "64"
+  else throw "Unsupported system: ${stdenv.system}";
+in
+stdenv.mkDerivation rec {
+  name = "pcsc-scm-scl-${version}";
+  version = "2.09";
+
+  src = fetchurl {
+    url = "http://files.identiv.com/products/smart-card-readers/contactless/scl010-011/Linux_Driver_Ver${version}.zip";
+    sha256 = "0ik26sxgqgsqplksl87z61vwmx51k7plaqmrkdid7xidgfhfxr42";
+  };
+
+  buildInputs = [ unzip ];
+
+  unpackPhase = ''
+    unzip $src
+    tar xf "Linux Driver Ver${version}/sclgeneric_${version}_linux_${arch}bit.tar.gz"
+    export sourceRoot=$(readlink -e sclgeneric_${version}_linux_${arch}bit)
+  '';
+
+  # Add support for SCL011 nPA (subsidized model for German eID)
+  patches = [ ./eid.patch ];
+
+  installPhase = ''
+    mkdir -p $out/pcsc/drivers
+    cp -r proprietary/*.bundle $out/pcsc/drivers
+  '';
+
+  libPath = stdenv.lib.makeLibraryPath [ libusb ];
+
+  fixupPhase = ''
+    patchelf --set-rpath $libPath \
+      $out/pcsc/drivers/SCLGENERIC.bundle/Contents/Linux/libSCLGENERIC.so.${version};
+  '';
+
+  meta = with stdenv.lib; {
+    description = "SCM Microsystems SCL011 chipcard reader user space driver";
+    homepage = http://www.scm-pc-card.de/index.php?lang=en&page=product&function=show_product&product_id=630;
+    downloadPage = https://support.identiv.com/scl010-scl011/;
+    license = licenses.unfreeRedistributable;
+    maintainers = with maintainers; [ sephalon ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/tools/security/pcsc-scm-scl011/eid.patch b/pkgs/tools/security/pcsc-scm-scl011/eid.patch
new file mode 100644
index 00000000000..6e7ffd60f72
--- /dev/null
+++ b/pkgs/tools/security/pcsc-scm-scl011/eid.patch
@@ -0,0 +1,28 @@
+diff --git a/proprietary/SCLGENERIC.bundle/Contents/Info.plist b/proprietary/SCLGENERIC.bundle/Contents/Info.plist
+index 412d6b9..5d1c6cc 100755
+--- a/proprietary/SCLGENERIC.bundle/Contents/Info.plist
++++ b/proprietary/SCLGENERIC.bundle/Contents/Info.plist
+@@ -34,6 +34,7 @@
+ 		<string>0x04E6</string>		

+ 		<string>0x04E6</string>

+ 		<string>0x04E6</string>

++		<string>0x04E6</string>

+ 	</array>

+ 

+ 	<key>ifdProductID</key>

+@@ -42,6 +43,7 @@
+ 		<string>0x5291</string>

+ 		<string>0x5290</string>

+ 		<string>0x5293</string>

++		<string>0x5292</string>

+ 	</array>

+ 

+ 	<key>ifdFriendlyName</key>

+@@ -50,6 +52,7 @@
+ 		<string>SCL010 Contactless Reader</string>

+ 		<string>SCR331CL-NTTCom</string>

+ 		<string>SCL011G Contactless Reader</string>

++		<string>SCM Microsystems, Inc. SCL011 RFID reader</string>

+ 	</array>

+ 

+ </dict>

diff --git a/pkgs/tools/security/pgpdump/default.nix b/pkgs/tools/security/pgpdump/default.nix
index 09b5b5f58ca..82bec2486e8 100644
--- a/pkgs/tools/security/pgpdump/default.nix
+++ b/pkgs/tools/security/pgpdump/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   name = "pgpdump-${version}";
-  version = "0.32";
+  version = "0.33";
 
   src = fetchFromGitHub {
     owner = "kazu-yamamoto";
     repo = "pgpdump";
     rev = "v${version}";
-    sha256 = "1ip7q5sgh3nwdqbrzpp6sllkls5kma98kns53yspw1830xi1n8xc";
+    sha256 = "0pi9qdbmcmi58gmljin51ylbi3zkknl8fm26jm67cpl55hvfsn23";
   };
 
   buildInputs = stdenv.lib.optionals supportCompressedPackets [ zlib bzip2 ];
@@ -27,4 +27,3 @@ stdenv.mkDerivation rec {
     maintainers = with maintainers; [ primeos ];
   };
 }
-
diff --git a/pkgs/tools/security/pinentry/default.nix b/pkgs/tools/security/pinentry/default.nix
index ac00c1fd544..07cf15baa22 100644
--- a/pkgs/tools/security/pinentry/default.nix
+++ b/pkgs/tools/security/pinentry/default.nix
@@ -1,5 +1,6 @@
 { fetchurl, fetchpatch, stdenv, lib, pkgconfig
-, libgpgerror, libassuan, libcap ? null, libsecret ? null, ncurses ? null, gtk2 ? null, gcr ? null, qt ? null
+, libgpgerror, libassuan, libcap ? null, libsecret ? null, ncurses ? null,  gtk2 ? null, gcr ? null, qt ? null
+, enableEmacs ? false
 }:
 
 let
@@ -33,6 +34,7 @@ stdenv.mkDerivation rec {
     (mkEnable (libsecret != null) "libsecret")
     (mkEnable (ncurses != null)   "pinentry-curses")
     (mkEnable true                "pinentry-tty")
+    (mkEnable enableEmacs         "pinentry-emacs")
     (mkEnable (gtk2 != null)      "pinentry-gtk2")
     (mkEnable (gcr != null)       "pinentry-gnome3")
     (mkEnable (qt != null)        "pinentry-qt")
diff --git a/pkgs/tools/security/pinentry-mac/default.nix b/pkgs/tools/security/pinentry/mac.nix
index 074d71c0830..e555889d1ab 100644
--- a/pkgs/tools/security/pinentry-mac/default.nix
+++ b/pkgs/tools/security/pinentry/mac.nix
@@ -12,11 +12,9 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ xcbuild libiconv Cocoa ncurses ];
 
-  dontUseXcbuild = true;
-
   installPhase = ''
     mkdir -p $out/Applications
-    mv pinentry-mac-*/Build/Products/Release/pinentry-mac.app $out/Applications
+    mv Products/Release/pinentry-mac.app $out/Applications
   '';
 
   passthru = {
diff --git a/pkgs/tools/security/pius/default.nix b/pkgs/tools/security/pius/default.nix
index 908a47e6326..f9dced33ed4 100644
--- a/pkgs/tools/security/pius/default.nix
+++ b/pkgs/tools/security/pius/default.nix
@@ -1,6 +1,6 @@
 { fetchFromGitHub, stdenv, pythonPackages, gnupg }:
 
-let version = "2.2.4"; in
+let version = "2.2.6"; in
 pythonPackages.buildPythonApplication {
   name = "pius-${version}";
   namePrefix = "";
@@ -9,7 +9,7 @@ pythonPackages.buildPythonApplication {
     owner = "jaymzh";
     repo = "pius";
     rev = "v${version}";
-    sha256 = "1yk6ngpk55yjdnzhm5sj675xbzwp7rir816a3aris647gsph1vlx";
+    sha256 = "1rffwyjd84rwx1w5yyqckirm1kdj80ldfwjlw91kk74swhpbpzzj";
   };
 
   patchPhase = ''
@@ -32,7 +32,7 @@ pythonPackages.buildPythonApplication {
 
     license = stdenv.lib.licenses.gpl2;
 
-    platforms = stdenv.lib.platforms.gnu;
+    platforms = stdenv.lib.platforms.gnu ++ stdenv.lib.platforms.linux;
     maintainers = with stdenv.lib.maintainers; [ fuuzetsu kierdavis ];
   };
 }
diff --git a/pkgs/tools/security/radamsa/default.nix b/pkgs/tools/security/radamsa/default.nix
index 3a6c09b9291..3126dd2b4fa 100644
--- a/pkgs/tools/security/radamsa/default.nix
+++ b/pkgs/tools/security/radamsa/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "radamsa-${version}";
-  version = "0.4";
+  version = "0.5";
 
   src = fetchurl {
-    url = "http://haltp.org/download/${name}.tar.gz";
-    sha256 = "1xs9dsrq6qrf104yi9x21scpr73crfikbi8q9njimiw5c1y6alrv";
+    url = "https://github.com/aoh/radamsa/releases/download/v${version}/${name}.tar.gz";
+    sha256 = "1d2chp45fbdb2v5zpsx6gh3bv8fhcjv0zijz10clcznadnm8c6p2";
   };
 
   patchPhase = ''
diff --git a/pkgs/tools/security/rhash/default.nix b/pkgs/tools/security/rhash/default.nix
index 485b34cff88..22d7e93fe47 100644
--- a/pkgs/tools/security/rhash/default.nix
+++ b/pkgs/tools/security/rhash/default.nix
@@ -16,6 +16,8 @@ stdenv.mkDerivation rec {
   # configure script is not autotools-based, doesn't support these options
   configurePlatforms = [ ];
 
+  doCheck = false; # fails
+
   installTargets = [ "install" "install-lib-shared" "install-lib-so-link" ];
   postInstall = "make -C librhash install-headers";
 
diff --git a/pkgs/tools/security/rng-tools/default.nix b/pkgs/tools/security/rng-tools/default.nix
index 1885940e7f3..d2326c7e8c3 100644
--- a/pkgs/tools/security/rng-tools/default.nix
+++ b/pkgs/tools/security/rng-tools/default.nix
@@ -9,6 +9,9 @@ stdenv.mkDerivation rec {
     sha256 = "13h7lc8wl9khhvkr0i3bl5j9bapf8anhqis1lcnwxg1vc2v058b0";
   };
 
+  # For cross-compilation
+  makeFlags = [ "AR:=$(AR)" ];
+
   meta = {
     description = "A random number generator daemon";
 
diff --git a/pkgs/tools/security/scallion/default.nix b/pkgs/tools/security/scallion/default.nix
new file mode 100644
index 00000000000..75ea92a786c
--- /dev/null
+++ b/pkgs/tools/security/scallion/default.nix
@@ -0,0 +1,36 @@
+{ stdenv, fetchFromGitHub, makeWrapper, mono, openssl, ocl-icd }:
+
+stdenv.mkDerivation rec {
+  version = "2.1";
+  name = "scallion-${version}";
+
+  src = fetchFromGitHub {
+    owner = "lachesis";
+    repo = "scallion";
+    rev = "v${version}";
+    sha256 = "1l9aj101xpsaaa6kmmhmq68m6z8gzli1iaaf8xaxbivq0i7vka9k";
+  };
+
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ mono ];
+
+  buildPhase = ''
+    xbuild scallion.sln
+  '';
+
+  installPhase = ''
+    mkdir -p $out/share
+    cp scallion/bin/Debug/* $out/share/
+    makeWrapper ${mono}/bin/mono $out/bin/scallion \
+      --prefix LD_LIBRARY_PATH : ${stdenv.lib.makeLibraryPath [ openssl ocl-icd ]} \
+      --add-flags $out/share/scallion.exe
+  '';
+
+  meta = with stdenv.lib; {
+    description = "GPU-based tor hidden service name generator";
+    homepage = src.meta.homepage;
+    license = licenses.mit;
+    platforms = [ "x86_64-linux" ];
+    maintainers = with maintainers; [ volth ];
+  };
+}
diff --git a/pkgs/tools/security/softhsm/default.nix b/pkgs/tools/security/softhsm/default.nix
index ff3871bfbd9..4a4b790181d 100644
--- a/pkgs/tools/security/softhsm/default.nix
+++ b/pkgs/tools/security/softhsm/default.nix
@@ -3,11 +3,11 @@
 stdenv.mkDerivation rec {
 
   name = "softhsm-${version}";
-  version = "2.3.0";
+  version = "2.4.0";
 
   src = fetchurl {
     url = "https://dist.opendnssec.org/source/${name}.tar.gz";
-    sha256 = "09y1ladg7j0j5n780b1hdzwd2g2b5j5c54pfs7bzjviskb409mjy";
+    sha256 = "01ysfmq0pzr3g9laq40xwq8vg8w135d4m8n05mr1bkdavqmw3ai6";
   };
 
   configureFlags = [
diff --git a/pkgs/tools/security/spectre-meltdown-checker/default.nix b/pkgs/tools/security/spectre-meltdown-checker/default.nix
index 13bebe10c62..ba5defbe215 100644
--- a/pkgs/tools/security/spectre-meltdown-checker/default.nix
+++ b/pkgs/tools/security/spectre-meltdown-checker/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "spectre-meltdown-checker-${version}";
-  version = "0.35";
+  version = "0.37";
 
   src = fetchFromGitHub {
     owner = "speed47";
     repo = "spectre-meltdown-checker";
     rev = "v${version}";
-    sha256 = "0pzs6iznrar5zkg92gsh6d0zhdi715zwqcb8hh1aaykx9igjb1xw";
+    sha256 = "0g1p12jbraj0q5qpvqnbg5v1jwlcx6h04xz5s7jds51l7gf5f9np";
   };
 
   prePatch = ''
@@ -19,8 +19,8 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ makeWrapper ];
 
   installPhase = with stdenv.lib; ''
-    install -Dt $out/lib spectre-meltdown-checker.sh
-    makeWrapper $out/lib/spectre-meltdown-checker.sh $out/bin/spectre-meltdown-checker \
+    install -D spectre-meltdown-checker.sh $out/bin/spectre-meltdown-checker
+    wrapProgram $out/bin/spectre-meltdown-checker \
       --prefix PATH : ${makeBinPath [ binutils-unwrapped ]}
   '';
 
diff --git a/pkgs/tools/security/srm/default.nix b/pkgs/tools/security/srm/default.nix
index fd81933fb58..9782d00267f 100644
--- a/pkgs/tools/security/srm/default.nix
+++ b/pkgs/tools/security/srm/default.nix
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
     homepage = http://srm.sourceforge.net;
     license = licenses.mit;
     maintainers = with maintainers; [ edwtjo ];
-    platforms = platforms.linux;
+    platforms = platforms.unix;
   };
 
-}
\ No newline at end of file
+}
diff --git a/pkgs/tools/security/sshuttle/default.nix b/pkgs/tools/security/sshuttle/default.nix
index 8674de1fcee..c3bf4f69a46 100644
--- a/pkgs/tools/security/sshuttle/default.nix
+++ b/pkgs/tools/security/sshuttle/default.nix
@@ -16,19 +16,20 @@ python3Packages.buildPythonApplication rec {
       url = "https://github.com/sshuttle/sshuttle/commit/91aa6ff625f7c89a19e6f8702425cfead44a146f.patch";
       sha256 = "0sqcc6kj53wlas2d3klbyilhns6vakzwbbp8y7j9wlmbnc530pks";
     })
+    # fix macos patch
+    (fetchpatch {
+      url = "https://github.com/sshuttle/sshuttle/commit/884bd6deb0b699a5648bb1c7bdfbc7be8ea0e7df.patch";
+      sha256 = "1nn0wx0rckxl9yzw9dxjji44zw4xqz7ws4qwjdvfn48w1f786lmz";
+    })
   ];
 
-  nativeBuildInputs = [ makeWrapper pandoc python3Packages.setuptools_scm ];
+  nativeBuildInputs = [ makeWrapper python3Packages.setuptools_scm ] ++ stdenv.lib.optional (stdenv.system != "i686-linux") pandoc;
   buildInputs =
-    [ coreutils openssh ] ++
-    stdenv.lib.optionals stdenv.isLinux [ iptables nettools procps ];
+    [ coreutils openssh procps nettools ]
+    ++ stdenv.lib.optionals stdenv.isLinux [ iptables ];
 
   checkInputs = with python3Packages; [ mock pytest pytestrunner ];
 
-  # Tests only run with Python 3. Server-side Python 2 still works if client
-  # uses Python 3, so it should be fine.
-  doCheck = true;
-
   postInstall = let
     mapPath = f: x: stdenv.lib.concatStringsSep ":" (map f x);
   in ''
diff --git a/pkgs/tools/security/sslscan/default.nix b/pkgs/tools/security/sslscan/default.nix
index 782341923fa..6c89b0defa6 100644
--- a/pkgs/tools/security/sslscan/default.nix
+++ b/pkgs/tools/security/sslscan/default.nix
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ openssl ];
 
-  installFlags = [ "PREFIX=$(out)" ];
+  makeFlags = [ "PREFIX=$(out)" "CC=cc" ];
 
   meta = with stdenv.lib; {
     description = "Tests SSL/TLS services and discover supported cipher suites";
diff --git a/pkgs/tools/security/sudo/default.nix b/pkgs/tools/security/sudo/default.nix
index 1edd5b60926..0a760807afb 100644
--- a/pkgs/tools/security/sudo/default.nix
+++ b/pkgs/tools/security/sudo/default.nix
@@ -5,14 +5,14 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "sudo-1.8.22";
+  name = "sudo-1.8.23";
 
   src = fetchurl {
     urls =
       [ "ftp://ftp.sudo.ws/pub/sudo/${name}.tar.gz"
         "ftp://ftp.sudo.ws/pub/sudo/OLD/${name}.tar.gz"
       ];
-    sha256 = "00pxp74xkwdcmrjwy55j0k8p684jk1zx3nzdc11v30q8q8kwnmkj";
+    sha256 = "0yg62wq8rcrbr7qvh3wgfg2g4bwanbi50cr2lf2cfyy8dydx4qyq";
   };
 
   prePatch = ''
@@ -51,10 +51,13 @@ stdenv.mkDerivation rec {
     installFlags="sudoers_uid=$(id -u) sudoers_gid=$(id -g) sysconfdir=$out/etc rundir=$TMPDIR/dummy vardir=$TMPDIR/dummy"
     '';
 
-  buildInputs = [ coreutils pam groff ];
+  nativeBuildInputs = [ groff ];
+  buildInputs = [ pam ];
 
   enableParallelBuilding = true;
 
+  doCheck = false; # needs root
+
   postInstall =
     ''
     rm -f $out/share/doc/sudo/ChangeLog
diff --git a/pkgs/tools/security/trufflehog/default.nix b/pkgs/tools/security/trufflehog/default.nix
new file mode 100644
index 00000000000..f805670a5d5
--- /dev/null
+++ b/pkgs/tools/security/trufflehog/default.nix
@@ -0,0 +1,38 @@
+{ lib, pythonPackages }:
+
+let
+  truffleHogRegexes = pythonPackages.buildPythonPackage rec {
+    pname = "truffleHogRegexes";
+    version = "0.0.4";
+    src = pythonPackages.fetchPypi {
+      inherit pname version;
+      sha256 = "09vrscbb4h4w01gmamlzghxx6cvrqdscylrbdcnbjsd05xl7zh4z";
+    };
+  };
+in
+  pythonPackages.buildPythonApplication rec {
+    pname = "truffleHog";
+    version = "2.0.91";
+
+    src = pythonPackages.fetchPypi {
+      inherit pname version;
+      sha256 = "0r4c9ihy6wjh5cwli7lb6cr2yfvxrh7r6cgznql1src5gzlnkymx";
+    };
+
+    # Relax overly restricted version constraint
+    postPatch = ''
+      substituteInPlace setup.py --replace "GitPython ==" "GitPython >= "
+    '';
+
+    propagatedBuildInputs = [ pythonPackages.GitPython truffleHogRegexes ];
+
+    # Test cases run git clone and require network access
+    doCheck = false;
+
+    meta = {
+      homepage = https://github.com/dxa4481/truffleHog;
+      description = "Searches through git repositories for high entropy strings and secrets, digging deep into commit history";
+      license = with lib.licenses; [ gpl2 ];
+      maintainers = with lib.maintainers; [ bhipple ];
+    };
+  }
diff --git a/pkgs/tools/security/vault/default.nix b/pkgs/tools/security/vault/default.nix
index 8118e830675..02c0b27a564 100644
--- a/pkgs/tools/security/vault/default.nix
+++ b/pkgs/tools/security/vault/default.nix
@@ -9,13 +9,13 @@ let
   };
 in stdenv.mkDerivation rec {
   name = "vault-${version}";
-  version = "0.9.4";
+  version = "0.9.5";
 
   src = fetchFromGitHub {
     owner = "hashicorp";
     repo = "vault";
     rev = "v${version}";
-    sha256 = "1a12pfzln6qdff08j9l1807anrsgn3ggnaqda020p6y9zg1p8xzd";
+    sha256 = "1ddki3bnp6yrajc0cxxjkbdlfp0xqx407nxvvv611lsnlbr2sz5g";
   };
 
   nativeBuildInputs = [ go gox removeReferencesTo ];
diff --git a/pkgs/tools/security/vulnix/default.nix b/pkgs/tools/security/vulnix/default.nix
index b2cbb005ae7..70640563aa3 100644
--- a/pkgs/tools/security/vulnix/default.nix
+++ b/pkgs/tools/security/vulnix/default.nix
@@ -1,16 +1,17 @@
-{ stdenv, pythonPackages, fetchurl, callPackage, nix }:
+{ stdenv, pythonPackages, fetchurl, callPackage, nix, ronn }:
 
 pythonPackages.buildPythonApplication rec {
-  name = "${pname}-${version}";
   pname = "vulnix";
-  version = "1.4.0";
+  version = "1.6.3";
 
   src = pythonPackages.fetchPypi {
     inherit pname version;
-    sha256 = "19kfqxlrigrgwn74x06m70ar2fhyhic5kfmdanjwjcbaxblha3l8";
+    sha256 = "0ia71l0210dgcxf63bg07csx40nmpdghr4mszz91qrri7lsa5qqi";
   };
 
-  buildInputs = with pythonPackages; [ flake8 pytest pytestcov ];
+  buildInputs = [ ronn ];
+
+  checkInputs = with pythonPackages; [ freezegun pytest pytestcov pytest-flake8 ];
 
   propagatedBuildInputs = [
     nix
@@ -20,14 +21,26 @@ pythonPackages.buildPythonApplication rec {
     lxml
     pyyaml
     requests
+    toml
     zodb
   ]);
 
-  postPatch = ''
-    sed -i -e 's/==\([^=]\+\)/>=\1/g' setup.py
+  outputs = [ "out" "doc" ];
+
+  postBuild = ''
+    make -C doc
+  '';
+
+  checkPhase = "py.test src/vulnix";
+
+  postInstall = ''
+    install -D -t $out/share/man/man1 doc/vulnix.1
+    install -D -t $out/share/man/man5 doc/vulnix-whitelist.5
+    install -D -t $doc/share/doc/vulnix README.rst CHANGES.rst
+    gzip $doc/share/doc/vulnix/*.rst
   '';
 
-  checkPhase = "py.test";
+  dontStrip = true;
 
   meta = with stdenv.lib; {
     description = "NixOS vulnerability scanner";
diff --git a/pkgs/tools/system/acpica-tools/default.nix b/pkgs/tools/system/acpica-tools/default.nix
index 1381f13fd3c..edb7828f95b 100644
--- a/pkgs/tools/system/acpica-tools/default.nix
+++ b/pkgs/tools/system/acpica-tools/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "acpica-tools-${version}";
-  version = "20180209";
+  version = "20180508";
 
   src = fetchurl {
     url = "https://acpica.org/sites/acpica/files/acpica-unix-${version}.tar.gz";
-    sha256 = "1rpdfwa4vwnvyxdp9ygqjckmabc3s8kyg3jyq4n4f0rhr1zl4zy5";
+    sha256 = "1n7lqmv77kg28drahvxzybwl9v4hzwi8i7xkpgliclfcp5ff909b";
   };
 
   NIX_CFLAGS_COMPILE = "-O3";
diff --git a/pkgs/tools/system/at/default.nix b/pkgs/tools/system/at/default.nix
index eda2197b9f6..baac00bfa76 100644
--- a/pkgs/tools/system/at/default.nix
+++ b/pkgs/tools/system/at/default.nix
@@ -33,12 +33,15 @@ stdenv.mkDerivation rec {
       substituteInPlace ./configure --replace "test -d /var/run" "true"
     '';
 
-  configureFlags =
-    ''
-       --with-etcdir=/etc/at
-       --with-jobdir=/var/spool/atjobs --with-atspool=/var/spool/atspool
-       --with-daemon_username=atd --with-daemon_groupname=atd
-    '';
+  configureFlags = [
+    "--with-etcdir=/etc/at"
+    "--with-jobdir=/var/spool/atjobs"
+    "--with-atspool=/var/spool/atspool"
+    "--with-daemon_username=atd"
+    "--with-daemon_groupname=atd"
+  ];
+
+  doCheck = false; # need "prove" tool
 
   # Ensure that "batch" can invoke the setuid "at" wrapper, if it exists, or
   # else we get permission errors (on NixOS). "batch" is a shell script, so
diff --git a/pkgs/tools/system/bar/default.nix b/pkgs/tools/system/bar/default.nix
new file mode 100644
index 00000000000..cd4770bf609
--- /dev/null
+++ b/pkgs/tools/system/bar/default.nix
@@ -0,0 +1,18 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  name = "bar-1.11.1";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/project/clpbar/clpbar/bar-1.11.1/bar_1.11.1.tar.gz";
+    sha256 = "00v5cb6vzizyyhflgr62d3k8dqc0rg6wdgfyyk11c0s0r32mw3zs";
+  };
+
+  meta = {
+    description = "Console progress bar";
+    homepage = http://clpbar.sourceforge.net/;
+    license = stdenv.lib.licenses.gpl2;
+    maintainers = [ stdenv.lib.maintainers.rdnetto ];
+    platforms = stdenv.lib.platforms.all;
+  };
+}
diff --git a/pkgs/tools/system/dd_rescue/default.nix b/pkgs/tools/system/dd_rescue/default.nix
index ee82af1a470..1ea574dbe8e 100644
--- a/pkgs/tools/system/dd_rescue/default.nix
+++ b/pkgs/tools/system/dd_rescue/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, autoconf }:
 
 stdenv.mkDerivation rec {
-  version = "1.99.7";
+  version = "1.99.8";
   name = "dd_rescue-${version}";
 
   src = fetchurl {
-    sha256 = "0d318i1i5d7hbj06wmb3xag14x542cv7fpkh5zjf5ccm64nyzir4";
+    sha256 = "1gbxm8gr9sx5g1q9dycs21hkxikcy97q09lp1lvs59pnd9qpdnwh";
     url="http://www.garloff.de/kurt/linux/ddrescue/${name}.tar.bz2";
   };
 
diff --git a/pkgs/tools/system/di/default.nix b/pkgs/tools/system/di/default.nix
index 8bc94b64be9..b9fcb502124 100644
--- a/pkgs/tools/system/di/default.nix
+++ b/pkgs/tools/system/di/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "di-${version}";
-  version = "4.44";
+  version = "4.46";
 
   src = fetchurl {
     url = "http://gentoo.com/di/${name}.tar.gz";
-    sha256 = "0803lp8kd3mp1jcm17i019xiqxdy85hhs6xk67zib8gmvg500gcn";
+    sha256 = "0cskiqywiqkw44zdg4q78bjns6jjp1dz5lzdxrhpnpldc6075irw";
   };
 
   makeFlags = [ "INSTALL_DIR=$(out)" ];
diff --git a/pkgs/tools/system/efibootmgr/default.nix b/pkgs/tools/system/efibootmgr/default.nix
index 08cdec72c5b..fbce70e9e8e 100644
--- a/pkgs/tools/system/efibootmgr/default.nix
+++ b/pkgs/tools/system/efibootmgr/default.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   name = "efibootmgr-${version}";
-  version = "15";
+  version = "16";
 
   nativeBuildInputs = [ pkgconfig ];
 
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
     owner = "rhboot";
     repo = "efibootmgr";
     rev = version;
-    sha256 = "0z7h1dirp8za6lbbf4f3dzn7l1px891rdymhkbqc10yj6gi1jpqp";
+    sha256 = "0b27h8vf1b6laln5n0wk2hkzyyh87sxanj7wrz9kimyx03dcq6vi";
   };
 
   makeFlags = [ "EFIDIR=nixos" ];
diff --git a/pkgs/tools/system/efivar/default.nix b/pkgs/tools/system/efivar/default.nix
index 7f20e813501..45882044094 100644
--- a/pkgs/tools/system/efivar/default.nix
+++ b/pkgs/tools/system/efivar/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "efivar-${version}";
-  version = "34";
+  version = "35";
 
   src = fetchFromGitHub {
     owner = "rhinstaller";
     repo = "efivar";
     rev = version;
-    sha256 = "0ycrdaz0ijkm3xb9fnwzhwi0pdj5c6s636wj4i6lbjbrijbzn4x5";
+    sha256 = "0hc7l5z0hw5472bm6p4d9n24bbggv9lgw7px1hqrdkfjghqfnlxh";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/tools/system/facter/default.nix b/pkgs/tools/system/facter/default.nix
index 9ff5f58f558..22c25bfd567 100644
--- a/pkgs/tools/system/facter/default.nix
+++ b/pkgs/tools/system/facter/default.nix
@@ -2,10 +2,10 @@
 
 stdenv.mkDerivation rec {
   name = "facter-${version}";
-  version = "3.10.0";
+  version = "3.11.1";
 
   src = fetchFromGitHub {
-    sha256 = "0qj23n5h98iirwhnjpcqzmirqf92sjd8mws5dky0pap359j6w792";
+    sha256 = "10ai59vyx1ssb3jyfwnmi4y5kchlnbi7vn7wbax36pa90l1j7jqk";
     rev = version;
     repo = "facter";
     owner = "puppetlabs";
diff --git a/pkgs/tools/system/fio/default.nix b/pkgs/tools/system/fio/default.nix
index 9e2bd1a2e2c..6e63f467f60 100644
--- a/pkgs/tools/system/fio/default.nix
+++ b/pkgs/tools/system/fio/default.nix
@@ -1,8 +1,8 @@
 { stdenv, fetchFromGitHub, libaio, python, zlib }:
 
 let
-  version = "3.5";
-  sha256 = "1h6qwvn0h3xz98420a19v8isfjkfnac9vvx8hsw8q4ycb35r8n3h";
+  version = "3.6";
+  sha256 = "1dilsn6r958skq1kpknm13fdzw7whb3bqa3wwnn2j9gba28599pq";
 in
 
 stdenv.mkDerivation rec {
@@ -15,11 +15,15 @@ stdenv.mkDerivation rec {
     inherit sha256;
   };
 
-  buildInputs = [ libaio python zlib ];
+  buildInputs = [ python zlib ]
+    ++ stdenv.lib.optional (!stdenv.isDarwin) libaio;
 
   enableParallelBuilding = true;
 
   postPatch = ''
+    substituteInPlace Makefile \
+      --replace "mandir = /usr/share/man" "mandir = \$(prefix)/man" \
+      --replace "sharedir = /usr/share/fio" "sharedir = \$(prefix)/share/fio"
     substituteInPlace tools/plot/fio2gnuplot --replace /usr/share/fio $out/share/fio
   '';
 
diff --git a/pkgs/tools/system/freeipmi/default.nix b/pkgs/tools/system/freeipmi/default.nix
index fd70dce4edf..9c7a5b36c5b 100644
--- a/pkgs/tools/system/freeipmi/default.nix
+++ b/pkgs/tools/system/freeipmi/default.nix
@@ -1,12 +1,12 @@
 { fetchurl, stdenv, libgcrypt, readline, libgpgerror }:
 
 stdenv.mkDerivation rec {
-  version = "1.6.1";
+  version = "1.6.2";
   name = "freeipmi-${version}";
 
   src = fetchurl {
     url = "mirror://gnu/freeipmi/${name}.tar.gz";
-    sha256 = "0jdm1nwsnkj0nzjmcqprmjk25449mhjj25khwzpq3mpjw440wmd2";
+    sha256 = "0jhjf21gn1m9lhjsc1ard9zymq25mk7rxcyygjfxgy0vb4j36l9i";
   };
 
   buildInputs = [ libgcrypt readline libgpgerror ];
@@ -36,7 +36,7 @@ stdenv.mkDerivation rec {
     license = stdenv.lib.licenses.gpl3Plus;
 
     maintainers = with stdenv.lib.maintainers; [ raskin ];
-    platforms = stdenv.lib.platforms.gnu;  # arbitrary choice
+    platforms = stdenv.lib.platforms.gnu ++ stdenv.lib.platforms.linux;  # arbitrary choice
 
     updateWalker = true;
     inherit version;
diff --git a/pkgs/tools/system/gotop/default.nix b/pkgs/tools/system/gotop/default.nix
new file mode 100644
index 00000000000..2244f5c90d3
--- /dev/null
+++ b/pkgs/tools/system/gotop/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, buildGoPackage, fetchFromGitHub }:
+
+buildGoPackage rec {
+  name = "gotop-${version}";
+  version = "1.2.9";
+
+  goPackagePath = "github.com/cjbassi/gotop";
+
+  src = fetchFromGitHub {
+    repo = "gotop";
+    owner = "cjbassi";
+    rev = version;
+    sha256 = "07s2f04yhc79vqr1gdh2v974kpn7flp4slnp99mavpa331lv9q8a";
+  };
+
+  meta = with stdenv.lib; {
+    description = "A terminal based graphical activity monitor inspired by gtop and vtop";
+    homepage = https://github.com/cjbassi/gotop;
+    license = licenses.agpl3;
+    maintainers = [ maintainers.magnetophon ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/tools/system/htop/default.nix b/pkgs/tools/system/htop/default.nix
index 992067da50f..974a95bc0fa 100644
--- a/pkgs/tools/system/htop/default.nix
+++ b/pkgs/tools/system/htop/default.nix
@@ -3,11 +3,11 @@ IOKit, python }:
 
 stdenv.mkDerivation rec {
   name = "htop-${version}";
-  version = "2.1.0";
+  version = "2.2.0";
 
   src = fetchurl {
     url = "http://hisham.hm/htop/releases/${version}/${name}.tar.gz";
-    sha256 = "0j07z0xm2gj1vzvbgh4323k4db9mr7drd7gw95mmpqi61ncvwq1j";
+    sha256 = "0mrwpb3cpn3ai7ar33m31yklj64c3pp576vh1naqff6f21pq5mnr";
   };
 
   nativeBuildInputs = [ python ];
diff --git a/pkgs/tools/system/hwinfo/default.nix b/pkgs/tools/system/hwinfo/default.nix
index 67258399d8b..839be268b5b 100644
--- a/pkgs/tools/system/hwinfo/default.nix
+++ b/pkgs/tools/system/hwinfo/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "hwinfo-${version}";
-  version = "21.52";
+  version = "21.53";
 
   src = fetchFromGitHub {
     owner = "opensuse";
     repo = "hwinfo";
     rev = "${version}";
-    sha256 = "1kva5bhylxbxgp2lv48av8mzcyybigj45rbwl9736l1kiv58i21r";
+    sha256 = "1hrazksr95pxl5p0r0x3cdph1ps98cls2v9avg0qs0qf9y18hady";
   };
 
   patchPhase = ''
diff --git a/pkgs/tools/system/ipmitool/default.nix b/pkgs/tools/system/ipmitool/default.nix
index fe411edfcda..c906ad3c8cf 100644
--- a/pkgs/tools/system/ipmitool/default.nix
+++ b/pkgs/tools/system/ipmitool/default.nix
@@ -32,7 +32,7 @@ stdenv.mkDerivation {
     description = ''Command-line interface to IPMI-enabled devices'';
     license = licenses.bsd3;
     homepage = https://sourceforge.net/projects/ipmitool/;
-    platforms = platforms.unix;
+    platforms = platforms.linux;
     maintainers = with maintainers; [ fpletz ];
   };
 }
diff --git a/pkgs/tools/system/ipmiutil/default.nix b/pkgs/tools/system/ipmiutil/default.nix
index fdefb508fe5..bace31a17bd 100644
--- a/pkgs/tools/system/ipmiutil/default.nix
+++ b/pkgs/tools/system/ipmiutil/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   baseName = "ipmiutil";
-  version = "3.0.8";
+  version = "3.1.0";
   name = "${baseName}-${version}";
 
   src = fetchurl {
     url = "mirror://sourceforge/project/${baseName}/${name}.tar.gz";
-    sha256 = "0pqi63v9l95px1k0dh68gmbd4pbbpwy0pcg6nr5bi0zy898if135";
+    sha256 = "1vvdydql5gmq103wr0ris2fvr3l5an2a8zgg2mmgdi88pxi11xfx";
   };
 
   buildInputs = [ openssl ];
diff --git a/pkgs/tools/system/journalbeat/default.nix b/pkgs/tools/system/journalbeat/default.nix
index b914ffaa0cb..20951fe5240 100644
--- a/pkgs/tools/system/journalbeat/default.nix
+++ b/pkgs/tools/system/journalbeat/default.nix
@@ -7,7 +7,7 @@ let
 in buildGoPackage rec {
 
   name = "journalbeat-${version}";
-  version = "5.6.0";
+  version = "5.6.8";
 
   goPackagePath = "github.com/mheese/journalbeat";
 
@@ -23,7 +23,7 @@ in buildGoPackage rec {
     owner = "mheese";
     repo = "journalbeat";
     rev = "v${version}";
-    sha256 = "0b5yqzw1h945mwwyy7cza6bc7kzv3x1p9w2xkzmvr7rw3pd32r06";
+    sha256 = "1vgpwnwqjc93nvdpcd52748bwl3r371jb55l17bsgdzrmlcyfm8a";
   };
 
   meta = with lib; {
diff --git a/pkgs/tools/system/krakenx/default.nix b/pkgs/tools/system/krakenx/default.nix
new file mode 100644
index 00000000000..db0987d7073
--- /dev/null
+++ b/pkgs/tools/system/krakenx/default.nix
@@ -0,0 +1,23 @@
+{ lib, python3Packages }:
+
+python3Packages.buildPythonApplication rec {
+  pname = "krakenx";
+  version = "0.0.1";
+
+  src = python3Packages.fetchPypi {
+    inherit pname version;
+    sha256 = "1vxyindph81srya0pfmb3n64n8h7ghp38ak86vc2zc5nyirf5zq8";
+  };
+
+  propagatedBuildInputs = lib.singleton python3Packages.pyusb;
+
+  doCheck = false; # there are no tests
+
+  meta = with lib; {
+    description = "Python script to control NZXT cooler Kraken X52/X62";
+    homepage = https://github.com/KsenijaS/krakenx;
+    license = licenses.gpl2;
+    maintainers = [ maintainers.willibutz ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/tools/system/localtime/default.nix b/pkgs/tools/system/localtime/default.nix
index d9cfc77203e..c49054f3a67 100644
--- a/pkgs/tools/system/localtime/default.nix
+++ b/pkgs/tools/system/localtime/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, go, systemd, polkit, fetchFromGitHub, m4 }:
+{ stdenv, go, systemd, polkit, fetchFromGitHub, m4, removeReferencesTo }:
 
 stdenv.mkDerivation {
   name = "localtime-2017-11-07";
@@ -10,10 +10,15 @@ stdenv.mkDerivation {
     sha256 = "04fyna8p7q7skzx9fzmncd6gx7x5pwa9jh8a84hpljlvj0kldfs8";
   };
   
-  buildInputs = [ go systemd polkit m4 ];
+  buildInputs = [ go systemd polkit m4 removeReferencesTo ];
+  disallowedRequisites = [ go ];
 
   makeFlags = [ "PREFIX=$(out)" ];
 
+  preFixup = ''
+    find $out/bin -type f -exec remove-references-to -t ${go} '{}' +
+  '';
+
   meta = {
     description = "A daemon for keeping the system timezone up-to-date based on the current location";
     homepage = https://github.com/Stebalien/localtime;
diff --git a/pkgs/tools/system/logrotate/default.nix b/pkgs/tools/system/logrotate/default.nix
index fa5df06dae3..75e25bcc673 100644
--- a/pkgs/tools/system/logrotate/default.nix
+++ b/pkgs/tools/system/logrotate/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "logrotate-${version}";
-  version = "3.13.0";
+  version = "3.14.0";
 
   src = fetchFromGitHub {
     owner = "logrotate";
     repo = "logrotate";
     rev = version;
-    sha256 = "0b7dnch74pddml3ysavizq26jgwdv0rjmwc8lf6zfvn9fjz19vvs";
+    sha256 = "1wdjqbly97y1i11nl6cmlfpld3yqak270ixf29wixjgrjn8p4xzh";
   };
 
   # Logrotate wants to access the 'mail' program; to be done.
diff --git a/pkgs/tools/system/lr/default.nix b/pkgs/tools/system/lr/default.nix
index 0149f1d91b6..f4b451026d1 100644
--- a/pkgs/tools/system/lr/default.nix
+++ b/pkgs/tools/system/lr/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "lr-${version}";
-  version = "1.2";
+  version = "1.4";
 
   src = fetchFromGitHub {
     owner = "chneukirchen";
     repo = "lr";
     rev = "v${version}";
-    sha256 = "1536d723dm50gxgpf8i9yij8mr0csh662ljhs5bmz0945jwfbx4n";
+    sha256 = "0lwnd5whq5f0czhqgaj4y6myzw4wssk6bji4z3dck95c8rpvg05a";
   };
 
   makeFlags = "PREFIX=$(out)";
diff --git a/pkgs/tools/system/mcron/default.nix b/pkgs/tools/system/mcron/default.nix
index 5863504c704..dbc679eb8ad 100644
--- a/pkgs/tools/system/mcron/default.nix
+++ b/pkgs/tools/system/mcron/default.nix
@@ -1,4 +1,4 @@
-{ fetchurl, stdenv, guile, which, ed }:
+{ fetchurl, stdenv, guile, which, ed, libtool }:
 
 stdenv.mkDerivation rec {
   name = "mcron-1.0.6";
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
     substituteInPlace makefile.in --replace "rwxs" "rwx"
   '';
 
-  buildInputs = [ guile which ed ];
+  buildInputs = [ guile which ed libtool ];
 
   doCheck = true;
 
diff --git a/pkgs/tools/system/monit/default.nix b/pkgs/tools/system/monit/default.nix
index 9057e5bc9c5..a5d6f2f518c 100644
--- a/pkgs/tools/system/monit/default.nix
+++ b/pkgs/tools/system/monit/default.nix
@@ -1,5 +1,7 @@
-{stdenv, fetchurl, openssl, bison, flex, pam, zlib, usePAM ? stdenv.isLinux }:
-
+{stdenv, fetchurl, openssl, bison, flex, pam, zlib, usePAM ? stdenv.isLinux
+ , buildPlatform, hostPlatform }:
+let useSSL = (openssl != null);
+    isCross = ( buildPlatform != hostPlatform ) ; in
 stdenv.mkDerivation rec {
   name = "monit-5.25.1";
 
@@ -9,12 +11,19 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ bison flex ];
-  buildInputs = [ openssl zlib.dev ] ++ stdenv.lib.optionals usePAM [ pam ];
+  buildInputs = [ zlib.dev ] ++
+    stdenv.lib.optionals useSSL [ openssl ] ++
+    stdenv.lib.optionals usePAM [ pam ];
 
-  configureFlags = [
-    "--with-ssl-incl-dir=${openssl.dev}/include"
-    "--with-ssl-lib-dir=${openssl.out}/lib"
-  ] ++ stdenv.lib.optionals (! usePAM) [ "--without-pam" ];
+  configureFlags =
+    if useSSL then [
+      "--with-ssl-incl-dir=${openssl.dev}/include"
+      "--with-ssl-lib-dir=${openssl.out}/lib"
+    ] else [ "--without-ssl" ] ++
+    stdenv.lib.optionals (! usePAM) [ "--without-pam" ] ++
+    # will need to check both these are true for musl
+    stdenv.lib.optionals isCross [ "libmonit_cv_setjmp_available=yes"
+                                   "libmonit_cv_vsnprintf_c99_conformant=yes"];
 
   meta = {
     homepage = http://mmonit.com/monit/;
diff --git a/pkgs/tools/system/mq-cli/default.nix b/pkgs/tools/system/mq-cli/default.nix
new file mode 100644
index 00000000000..b01b91452dc
--- /dev/null
+++ b/pkgs/tools/system/mq-cli/default.nix
@@ -0,0 +1,24 @@
+{ fetchFromGitHub, lib, rustPlatform }:
+
+rustPlatform.buildRustPackage rec {
+  name    = "mq-cli-${version}";
+  version = "1.0.0";
+
+  src = fetchFromGitHub {
+    owner  = "aprilabank";
+    repo   = "mq-cli";
+    rev    = "v${version}";
+    sha256 = "02z85waj5jc312biv2qhbgplsggxgjmfmyv9v8b1ky0iq1mpxjw7";
+  };
+
+  cargoSha256 = "0kpv52474bp3k2wmz8xykca8iz46dwnjmly2nivblnaap49w2zsz";
+
+  meta = with lib; {
+    description      = "CLI tool to manage POSIX message queues";
+    homepage         = "https://github.com/aprilabank/mq-cli";
+    license          = licenses.mit;
+    maintainers      = with maintainers; [ tazjin ];
+    platforms        = platforms.linux;
+    repositories.git = git://github.com/aprilabank/mq-cli.git;
+  };
+}
diff --git a/pkgs/tools/system/nq/default.nix b/pkgs/tools/system/nq/default.nix
index 59980566290..5044e5c9a96 100644
--- a/pkgs/tools/system/nq/default.nix
+++ b/pkgs/tools/system/nq/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   name = "nq-${version}";
-  version = "0.2.2";
+  version = "0.3.1";
   src = fetchFromGitHub {
     owner = "chneukirchen";
     repo = "nq";
     rev = "v${version}";
-    sha256 = "0348r3j5y445psm8lj35z100cfvbfp05s7ji6bxd0gg4n66l2c4l";
+    sha256 = "1db96ykz35r273jyhf7cdknqk4p2jj9l8gbz7pjy1hq4pb6ffk99";
   };
   makeFlags = "PREFIX=$(out)";
   postPatch = ''
diff --git a/pkgs/tools/system/osquery/default.nix b/pkgs/tools/system/osquery/default.nix
index c06ba8e541b..a0aaa846bc7 100644
--- a/pkgs/tools/system/osquery/default.nix
+++ b/pkgs/tools/system/osquery/default.nix
@@ -1,59 +1,62 @@
 { stdenv, lib, fetchFromGitHub, pkgconfig, cmake, pythonPackages
 , udev, audit, aws-sdk-cpp, cryptsetup, lvm2, libgcrypt, libarchive
-, libgpgerror, libuuid, iptables, apt, dpkg, lzma, lz4, bzip2, rpm
+, libgpgerror, libuuid, iptables, dpkg, lzma, bzip2, rpm
 , beecrypt, augeas, libxml2, sleuthkit, yara, lldpd, google-gflags
-, thrift, boost, rocksdb_lite, cpp-netlib, glog, gbenchmark, snappy
-, openssl, linenoise-ng, file, doxygen, devicemapper
-, gtest, sqlite
+, thrift, boost, rocksdb_lite, glog, gbenchmark, snappy
+, openssl, file, doxygen
+, gtest, sqlite, fpm, zstd, rdkafka, rapidjson, path
 }:
 
 let
+
   thirdparty = fetchFromGitHub {
     owner = "osquery";
     repo = "third-party";
-    rev = "6919841175b2c9cb2dee8986e0cfe49191ecb868";
-    sha256 = "1kjxrky586jd1b2z1vs9cm7x1dxw51cizpys9kddiarapc2ih65j";
+    rev = "4ef099c31a1165c5e7e3a699f9e4b3eb68c3c3d9";
+    sha256 = "1vm0prw4dix0m51vkw9z0vwfd8698gqjw499q8h604hs1rvn6132";
   };
 
 in
 
 stdenv.mkDerivation rec {
   name = "osquery-${version}";
-  version = "2.5.2";
+  version = "3.2.2";
 
   # this is what `osquery --help` will show as the version.
   OSQUERY_BUILD_VERSION = version;
+  OSQUERY_PLATFORM = "nixos;${stdenv.lib.version}";
 
   src = fetchFromGitHub {
     owner = "facebook";
     repo = "osquery";
     rev = version;
-    sha256 = "16isplk66qpvhrf041l0lxb4z6k7wwd1sg7kpsw2q6kivkxpnk3z";
+    sha256 = "0qwj4cy6m25sqwb0irqfqinipx50l4imnz1gqxx147vzfwb52jlq";
   };
 
-  patches = [ ./misc.patch ] ++ lib.optional stdenv.isLinux ./platform-nixos.patch;
+  patches = [ ./misc.patch ];
 
   nativeBuildInputs = [
-    pkgconfig cmake pythonPackages.python pythonPackages.jinja2
+    pkgconfig cmake pythonPackages.python pythonPackages.jinja2 doxygen fpm
   ];
 
-  buildInputs = [
+  buildInputs = let
+    gflags' = google-gflags.overrideAttrs (old: {
+      cmakeFlags = stdenv.lib.filter (f: isNull (builtins.match ".*STATIC.*" f)) old.cmakeFlags;
+    });
+  in [
     udev audit
 
     (aws-sdk-cpp.override {
-      apis = [ "firehose" "kinesis" "sts" ];
+      apis = [ "firehose" "kinesis" "sts" "ec2" ];
       customMemoryManagement = false;
     })
 
-    lvm2 libgcrypt libarchive libgpgerror libuuid iptables.dev apt dpkg
-    lzma lz4 bzip2 rpm beecrypt augeas libxml2 sleuthkit
-    yara lldpd google-gflags thrift boost
-    cpp-netlib glog gbenchmark snappy openssl linenoise-ng
-    file doxygen devicemapper cryptsetup
-    gtest sqlite
-
-    # need to be consistent about the malloc implementation
-    (rocksdb_lite.override { jemalloc = null; gperftools = null; })
+    lvm2 libgcrypt libarchive libgpgerror libuuid iptables dpkg
+    lzma bzip2 rpm beecrypt augeas libxml2 sleuthkit
+    yara lldpd gflags' thrift boost
+    glog gbenchmark snappy openssl
+    file cryptsetup
+    gtest sqlite zstd rdkafka rapidjson rocksdb_lite
   ];
 
   preConfigure = ''
@@ -74,6 +77,6 @@ stdenv.mkDerivation rec {
     homepage = https://osquery.io/;
     license = licenses.bsd3;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ cstrahan ];
+    maintainers = with maintainers; [ cstrahan ma27 ];
   };
 }
diff --git a/pkgs/tools/system/osquery/misc.patch b/pkgs/tools/system/osquery/misc.patch
index 1a0ef267f0d..acdbf6346c8 100644
--- a/pkgs/tools/system/osquery/misc.patch
+++ b/pkgs/tools/system/osquery/misc.patch
@@ -1,33 +1,9 @@
 diff --git a/CMakeLists.txt b/CMakeLists.txt
-index a976a46d..408ac308 100644
+index b8eb5a16..319d81dc 100644
 --- a/CMakeLists.txt
 +++ b/CMakeLists.txt
-@@ -125,14 +125,13 @@ else()
-     set(CXX_COMPILE_FLAGS "${CXX_COMPILE_FLAGS} -std=c++14 -stdlib=libc++")
-   else()
-     set(LINUX TRUE)
--    set(CXX_COMPILE_FLAGS "${CXX_COMPILE_FLAGS} -std=c++14 -stdlib=libstdc++")
-+    set(CXX_COMPILE_FLAGS "${CXX_COMPILE_FLAGS} -std=c++14")
-   endif()
-   set(POSIX TRUE)
- endif()
- 
- if(POSIX)
-   add_compile_options(
--    -Qunused-arguments
-     -Wstrict-aliasing
-     -Wno-missing-field-initializers
-     -Wno-unused-local-typedef
-@@ -154,7 +153,6 @@ if(POSIX)
-   )
-   if(NOT FREEBSD)
-     add_compile_options(
--      -Werror=shadow
-       -fvisibility=hidden
-       -fvisibility-inlines-hidden
-     )
-@@ -372,12 +370,6 @@ elseif(NOT FREEBSD)
-   endif()
+@@ -447,12 +447,6 @@ elseif(CLANG AND DEPS AND NOT FREEBSD)
+   set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -flto=thin")
  endif()
  
 -if(NOT IS_DIRECTORY "${CMAKE_SOURCE_DIR}/third-party/sqlite3")
@@ -39,7 +15,7 @@ index a976a46d..408ac308 100644
  # Make sure deps were built before compiling (else show warning).
  execute_process(
    COMMAND "${CMAKE_SOURCE_DIR}/tools/provision.sh" check "${CMAKE_BINARY_DIR}"
-@@ -439,6 +431,8 @@ endif()
+@@ -518,6 +512,8 @@ endif()
  
  if(APPLE)
    LOG_PLATFORM("OS X")
@@ -48,87 +24,67 @@ index a976a46d..408ac308 100644
  elseif(OSQUERY_BUILD_PLATFORM STREQUAL "debian")
    LOG_PLATFORM("Debian")
  elseif(OSQUERY_BUILD_PLATFORM STREQUAL "ubuntu")
-@@ -477,7 +471,6 @@ if(POSIX)
-   include_directories("${BUILD_DEPS}/include/openssl")
+@@ -567,7 +563,6 @@ if(POSIX AND DEPS)
+   endif()
  endif()
  
 -include_directories("${CMAKE_SOURCE_DIR}/third-party/sqlite3")
  include_directories("${CMAKE_SOURCE_DIR}/include")
  include_directories("${CMAKE_SOURCE_DIR}")
  
-@@ -559,21 +552,10 @@ else()
-   set(GTEST_FLAGS "-DGTEST_USE_OWN_TR1_TUPLE=0")
+@@ -655,18 +650,6 @@ if(FREEBSD OR "${HAVE_TR1_TUPLE}" STREQUAL "")
+   add_definitions(-DGTEST_USE_OWN_TR1_TUPLE=0)
  endif()
  
 -set(GTEST_FLAGS
--  ${GTEST_FLAGS}
 -  "-I${CMAKE_SOURCE_DIR}/third-party/googletest/googletest/include"
 -  "-I${CMAKE_SOURCE_DIR}/third-party/googletest/googlemock/include"
 -)
 -join("${GTEST_FLAGS}" " " GTEST_FLAGS)
 -
- set(BUILD_GTEST TRUE)
- 
--add_subdirectory("${CMAKE_SOURCE_DIR}/third-party/googletest")
+-if(NOT SKIP_TESTS)
+-  add_subdirectory("${CMAKE_SOURCE_DIR}/third-party/googletest")
+-endif()
 -
- include(Thrift)
- 
 -add_subdirectory("${CMAKE_SOURCE_DIR}/third-party/sqlite3")
 -
- add_subdirectory(osquery)
- add_subdirectory(tools/tests)
- 
-diff --git a/include/osquery/core.h b/include/osquery/core.h
-index b597edee..b0628037 100644
---- a/include/osquery/core.h
-+++ b/include/osquery/core.h
-@@ -15,8 +15,9 @@
- #include <string>
- #include <vector>
- 
--#if defined(__APPLE__) || defined(__FreeBSD__)
-+#if defined(__APPLE__) || defined(__FreeBSD__) || defined(__linux__)
- #include <boost/thread/shared_mutex.hpp>
-+#include <boost/thread/recursive_mutex.hpp>
- #else
- #include <shared_mutex>
- #endif
-@@ -188,7 +189,7 @@ inline bool isPlatform(PlatformType a, const PlatformType& t = kPlatformType) {
-   return (static_cast<int>(t) & static_cast<int>(a)) != 0;
- }
- 
--#if defined(__APPLE__) || defined(__FreeBSD__)
-+#if defined(__APPLE__) || defined(__FreeBSD__) || defined(__linux__)
- #define MUTEX_IMPL boost
- #else
- #define MUTEX_IMPL std
-@@ -204,10 +205,10 @@ using WriteLock = MUTEX_IMPL::unique_lock<Mutex>;
- using ReadLock = MUTEX_IMPL::shared_lock<Mutex>;
- 
- /// Helper alias for defining recursive mutexes.
--using RecursiveMutex = std::recursive_mutex;
-+using RecursiveMutex = MUTEX_IMPL::recursive_mutex;
- 
- /// Helper alias for write locking a recursive mutex.
--using RecursiveLock = std::lock_guard<std::recursive_mutex>;
-+using RecursiveLock = MUTEX_IMPL::lock_guard<MUTEX_IMPL::recursive_mutex>;
- }
- 
- /**
+ if(NOT FREEBSD)
+   add_subdirectory("${CMAKE_SOURCE_DIR}/third-party/linenoise-ng")
+ endif()
 diff --git a/osquery/CMakeLists.txt b/osquery/CMakeLists.txt
-index 77913d31..671b20d4 100644
+index 1c8201ee..a89e6821 100644
 --- a/osquery/CMakeLists.txt
 +++ b/osquery/CMakeLists.txt
-@@ -57,7 +57,7 @@ endif()
+@@ -35,8 +35,6 @@ if(CLANG AND POSIX)
+     -Wextra
+     -pedantic
+     -Wuseless-cast
+-    -Wno-c99-extensions
+-    -Wno-zero-length-array
+     -Wno-unused-parameter
+     -Wno-gnu-case-range
+     -Weffc++
+@@ -61,14 +59,7 @@ endif()
  
  # Construct a set of all object files, starting with third-party and all
  # of the osquery core objects (sources from ADD_CORE_LIBRARY macros).
--set(OSQUERY_OBJECTS $<TARGET_OBJECTS:osquery_sqlite>)
-+set(OSQUERY_OBJECTS "")
+-if(FREEBSD)
+-  set(OSQUERY_OBJECTS $<TARGET_OBJECTS:osquery_sqlite>)
+-else()
+-  set(OSQUERY_OBJECTS
+-    $<TARGET_OBJECTS:osquery_sqlite>
+-    $<TARGET_OBJECTS:linenoise-ng>
+-  )
+-endif()
++set(OSQUERY_OBJECTS $<TARGET_OBJECTS:linenoise-ng>)
  
  # Add subdirectories
  add_subdirectory(config)
-@@ -138,6 +138,8 @@ elseif(FREEBSD)
+@@ -147,10 +138,11 @@ if(APPLE OR LINUX)
+   ADD_OSQUERY_LINK_ADDITIONAL("rocksdb_lite")
+ elseif(FREEBSD)
+   ADD_OSQUERY_LINK_CORE("icuuc")
+-  ADD_OSQUERY_LINK_CORE("linenoise")
    ADD_OSQUERY_LINK_ADDITIONAL("rocksdb-lite")
  endif()
  
@@ -137,41 +93,62 @@ index 77913d31..671b20d4 100644
  if(POSIX)
    ADD_OSQUERY_LINK_CORE("boost_system")
    ADD_OSQUERY_LINK_CORE("boost_filesystem")
-@@ -157,6 +159,7 @@ ADD_OSQUERY_LINK_ADDITIONAL("cppnetlib-client-connections${WO_KEY}")
+@@ -168,6 +160,8 @@ endif()
  ADD_OSQUERY_LINK_CORE("glog${WO_KEY}")
  
  if(POSIX)
 +  ADD_OSQUERY_LINK_ADDITIONAL("benchmark")
-   ADD_OSQUERY_LINK_ADDITIONAL("snappy")
++  ADD_OSQUERY_LINK_ADDITIONAL("snappy")
    ADD_OSQUERY_LINK_ADDITIONAL("ssl")
    ADD_OSQUERY_LINK_ADDITIONAL("crypto")
-@@ -336,13 +339,6 @@ if(NOT OSQUERY_BUILD_SDK_ONLY)
- 
-   install(DIRECTORY "${CMAKE_SOURCE_DIR}/packs/"
-     DESTINATION "${CMAKE_INSTALL_PREFIX}/share/osquery/packs" COMPONENT main)
--  if(APPLE)
--    install(FILES "${CMAKE_SOURCE_DIR}/tools/deployment/com.facebook.osqueryd.plist"
--      DESTINATION "${CMAKE_INSTALL_PREFIX}/share/osquery/" COMPONENT main)
--  else()
--    install(PROGRAMS "${CMAKE_SOURCE_DIR}/tools/deployment/osqueryd.initd"
--      DESTINATION "/etc/init.d/" RENAME "osqueryd" COMPONENT main)
--  endif()
+   ADD_OSQUERY_LINK_ADDITIONAL("libpthread")
+diff --git a/osquery/extensions/CMakeLists.txt b/osquery/extensions/CMakeLists.txt
+index 52f3bf80..066ed1c0 100644
+--- a/osquery/extensions/CMakeLists.txt
++++ b/osquery/extensions/CMakeLists.txt
+@@ -60,12 +60,6 @@ else()
+   )
  endif()
  
- if(NOT SKIP_TESTS)
-diff --git a/osquery/tables/system/linux/tests/md_tables_tests.cpp b/osquery/tables/system/linux/tests/md_tables_tests.cpp
-index 126be362..119d361d 100644
---- a/osquery/tables/system/linux/tests/md_tables_tests.cpp
-+++ b/osquery/tables/system/linux/tests/md_tables_tests.cpp
-@@ -72,7 +72,7 @@ void GetDrivesForArrayTestHarness(std::string arrayName,
-   EXPECT_CALL(md, getArrayInfo(arrayDevPath, _))
-       .WillOnce(DoAll(SetArgReferee<1>(arrayInfo), Return(true)));
- 
--  Sequence::Sequence s1;
-+  Sequence s1;
-   for (int i = 0; i < MD_SB_DISKS; i++) {
-     mdu_disk_info_t diskInfo;
-     diskInfo.number = i;
+-if(NOT WINDOWS)
+-  add_compile_options(
+-    -Wno-macro-redefined
+-  )
+-endif()
+-
+ ADD_OSQUERY_LIBRARY(TRUE osquery_extensions
+   ${THRIFT_GENERATED_FILES}
+   ${THRIFT_IMPL_FILE}
+diff --git a/osquery/logger/CMakeLists.txt b/osquery/logger/CMakeLists.txt
+index ab91bd24..d8364991 100644
+--- a/osquery/logger/CMakeLists.txt
++++ b/osquery/logger/CMakeLists.txt
+@@ -55,9 +55,9 @@ if(NOT SKIP_KAFKA AND NOT WINDOWS AND NOT FREEBSD)
+ 
+   ADD_OSQUERY_LINK_ADDITIONAL("rdkafka")
+ 
+-  set(OSQUERY_LOGGER_KAFKA_PLUGINS_TESTS
+-    "logger/plugins/tests/kafka_producer_tests.cpp"
+-  )
++  #set(OSQUERY_LOGGER_KAFKA_PLUGINS_TESTS
++  #  "logger/plugins/tests/kafka_producer_tests.cpp"
++  #)
+ 
+   ADD_OSQUERY_TEST_ADDITIONAL(${OSQUERY_LOGGER_KAFKA_PLUGINS_TESTS})
+ endif()
+diff --git a/osquery/tables/CMakeLists.txt b/osquery/tables/CMakeLists.txt
+index dd78084f..158758e1 100644
+--- a/osquery/tables/CMakeLists.txt
++++ b/osquery/tables/CMakeLists.txt
+@@ -68,7 +68,7 @@ if(LINUX)
+   set(TABLE_PLATFORM "linux")
+ 
+   ADD_OSQUERY_LINK_ADDITIONAL("libresolv.so")
+-  ADD_OSQUERY_LINK_ADDITIONAL("cryptsetup devmapper lvm2app lvm-internal daemonclient")
++  ADD_OSQUERY_LINK_ADDITIONAL("cryptsetup devmapper lvm2app")
+   ADD_OSQUERY_LINK_ADDITIONAL("gcrypt gpg-error")
+   ADD_OSQUERY_LINK_ADDITIONAL("blkid")
+   ADD_OSQUERY_LINK_ADDITIONAL("ip4tc")
 diff --git a/specs/windows/services.table b/specs/windows/services.table
 index 4ac24ee9..657d8b99 100644
 --- a/specs/windows/services.table
diff --git a/pkgs/tools/system/osquery/platform-nixos.patch b/pkgs/tools/system/osquery/platform-nixos.patch
deleted file mode 100644
index 7e1afcb640b..00000000000
--- a/pkgs/tools/system/osquery/platform-nixos.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-diff --git a/tools/get_platform.py b/tools/get_platform.py
-index 3dd34516..f53ca83a 100644
---- a/tools/get_platform.py
-+++ b/tools/get_platform.py
-@@ -26,6 +26,8 @@ DEBIAN_VERSION = "/etc/debian_version"
- GENTOO_RELEASE = "/etc/gentoo-release"
- 
- def _platform():
-+    return ("nixos", "nixos")
-+
-     osType, _, _, _, _, _ = platform.uname()
- 
-     if osType == "Windows":
-@@ -75,6 +77,8 @@ def _platform():
-         return (None, osType.lower())
- 
- def _distro(osType):
-+    return "unknown_version"
-+
-     def getRedhatDistroVersion(pattern):
-         with open(SYSTEM_RELEASE, "r") as fd:
-             contents = fd.read()
diff --git a/pkgs/tools/system/pcstat/default.nix b/pkgs/tools/system/pcstat/default.nix
new file mode 100644
index 00000000000..cd3c815934f
--- /dev/null
+++ b/pkgs/tools/system/pcstat/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, lib, buildGoPackage, fetchFromGitHub }:
+
+buildGoPackage rec {
+  name = "pcstat-unstable-${version}";
+  version = "2017-05-28";
+
+  goPackagePath = "github.com/tobert/pcstat";
+
+  src = fetchFromGitHub {
+    rev    = "91a7346e5b462a61e876c0574cb1ba331a6a5ac5";
+    owner  = "tobert";
+    repo   = "pcstat";
+    sha256 = "88853e42d16c05e580af4fb8aa815a84ea0fc43e3a25e19c85e649a5f5a2874c";
+  };
+
+  goDeps = ./deps.nix;
+
+  meta = with stdenv.lib; {
+    description = "Page Cache stat: get page cache stats for files on Linux.";
+    homepage = https://github.com/tobert/pcstat;
+    license = licenses.asl20;
+    maintainers = with maintainers; [ aminechikhaoui ];
+  };
+}
diff --git a/pkgs/tools/system/pcstat/deps.nix b/pkgs/tools/system/pcstat/deps.nix
new file mode 100644
index 00000000000..809bde1122f
--- /dev/null
+++ b/pkgs/tools/system/pcstat/deps.nix
@@ -0,0 +1,11 @@
+[
+  {
+    goPackagePath = "golang.org/x/sys";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/sys";
+      rev = "d38bf781f16e180a1b2ad82697d2f81d7b7ecfac";
+      sha256 = "0eedd518ab68c6dfd431a41709d9888bbc13ed31ff64d69dcbd947442b3aaa04";
+    };
+  }
+]
diff --git a/pkgs/tools/system/psstop/default.nix b/pkgs/tools/system/psstop/default.nix
new file mode 100644
index 00000000000..178e08938fe
--- /dev/null
+++ b/pkgs/tools/system/psstop/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, glib }:
+
+stdenv.mkDerivation rec {
+  name = "psstop-${version}";
+  version = "1.3";
+
+  src = fetchFromGitHub {
+    owner = "clearlinux";
+    repo = "psstop";
+    rev = "v${version}";
+    sha256 = "03ir3jjpzm7q8n1qc5jr99hqarr9r529w1zb6f7q4wak2vfj7w9h";
+  };
+
+  nativeBuildInputs = [ autoreconfHook pkgconfig ];
+
+  buildInputs = [ glib ];
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/clearlinux/psstop;
+    description = "Show processes' memory usage by looking into pss"; # upstream summary
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ dtzWill ];
+  };
+}
diff --git a/pkgs/tools/system/runit/default.nix b/pkgs/tools/system/runit/default.nix
index 7eced697373..4d5de56fbf0 100644
--- a/pkgs/tools/system/runit/default.nix
+++ b/pkgs/tools/system/runit/default.nix
@@ -13,6 +13,10 @@ stdenv.mkDerivation rec {
     sha256 = "065s8w62r6chjjs6m9hapcagy33m75nlnxb69vg0f4ngn061dl3g";
   };
 
+  patches = [
+    ./fix-ar-ranlib.patch
+  ];
+
   outputs = [ "out" "man" ];
 
   sourceRoot = "admin/${name}";
@@ -34,8 +38,8 @@ stdenv.mkDerivation rec {
     cd src
 
     # Both of these are originally hard-coded to gcc
-    echo cc > conf-cc
-    echo cc > conf-ld
+    echo ${stdenv.cc.targetPrefix}cc > conf-cc
+    echo ${stdenv.cc.targetPrefix}cc > conf-ld
   '';
 
   installPhase = ''
@@ -51,6 +55,6 @@ stdenv.mkDerivation rec {
     license = licenses.bsd3;
     homepage = http://smarden.org/runit;
     maintainers = with maintainers; [ rickynils joachifm ];
-    platforms = platforms.unix;
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/tools/system/runit/fix-ar-ranlib.patch b/pkgs/tools/system/runit/fix-ar-ranlib.patch
new file mode 100644
index 00000000000..c65a037d524
--- /dev/null
+++ b/pkgs/tools/system/runit/fix-ar-ranlib.patch
@@ -0,0 +1,18 @@
+--- runit-2.1.2/src/print-ar.sh
++++ runit-2.1.2/src/print-ar.sh
+@@ -1,7 +1,7 @@
+ cat warn-auto.sh
+ echo 'main="$1"; shift'
+ echo 'rm -f "$main"'
+-echo 'ar cr "$main" ${1+"$@"}'
++echo '$AR cr "$main" ${1+"$@"}'
+ case "`cat systype`" in
+   sunos-5.*) ;;
+   unix_sv*) ;;
+@@ -10,5 +10,5 @@ case "`cat systype`" in
+   dgux-*) ;;
+   hp-ux-*) ;;
+   sco*) ;;
+-  *) echo 'ranlib "$main"' ;;
++  *) echo '$RANLIB "$main"' ;;
+ esac
diff --git a/pkgs/tools/system/s6-rc/default.nix b/pkgs/tools/system/s6-rc/default.nix
index 13ce2414abf..ed1da8d450d 100644
--- a/pkgs/tools/system/s6-rc/default.nix
+++ b/pkgs/tools/system/s6-rc/default.nix
@@ -37,7 +37,7 @@ in stdenv.mkDerivation rec {
   meta = {
     homepage = http://skarnet.org/software/s6-rc/;
     description = "A service manager for s6-based systems";
-    platforms = stdenv.lib.platforms.all;
+    platforms = stdenv.lib.platforms.linux;
     license = stdenv.lib.licenses.isc;
     maintainers = with stdenv.lib.maintainers; [ pmahoney ];
   };
diff --git a/pkgs/tools/system/sg3_utils/default.nix b/pkgs/tools/system/sg3_utils/default.nix
index c1c4527d0a0..ca1af7a74e4 100644
--- a/pkgs/tools/system/sg3_utils/default.nix
+++ b/pkgs/tools/system/sg3_utils/default.nix
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = http://sg.danny.cz/sg/;
     description = "Utilities that send SCSI commands to devices";
-    platforms = stdenv.lib.platforms.all;
+    platforms = stdenv.lib.platforms.linux;
     maintainers = [ ];
   };
 }
diff --git a/pkgs/tools/system/sleuthkit/default.nix b/pkgs/tools/system/sleuthkit/default.nix
index 61649859397..ad16746a266 100644
--- a/pkgs/tools/system/sleuthkit/default.nix
+++ b/pkgs/tools/system/sleuthkit/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchFromGitHub, autoreconfHook, libewf, afflib, openssl, zlib }:
 
 stdenv.mkDerivation rec {
-  version = "4.6.0";
+  version = "4.6.1";
   name = "sleuthkit-${version}";
 
   src = fetchFromGitHub {
     owner = "sleuthkit";
     repo = "sleuthkit";
     rev = name;
-    sha256 = "0m5ll5sx0pxkn58y582b3v90rsfdrh8dm02kmv61psd0k6q0p91x";
+    sha256 = "1hf783mwa5ws9qvjpj6zgvivi0cfhs8r8m1869ajz5m80lv8fggw";
   };
 
   postPatch = ''
diff --git a/pkgs/tools/system/storebrowse/default.nix b/pkgs/tools/system/storebrowse/default.nix
index 179b4cb1a4c..e56919acc5d 100644
--- a/pkgs/tools/system/storebrowse/default.nix
+++ b/pkgs/tools/system/storebrowse/default.nix
@@ -1,7 +1,5 @@
 { stdenv, fetchurl, fetchhg, go, sqlite}:
 
-assert stdenv.isLinux && (stdenv.isi686 || stdenv.isx86_64 || stdenv.isAarch32);
-
 stdenv.mkDerivation rec {
   name = "storebrowse-20130318212204";
 
diff --git a/pkgs/tools/system/syslog-ng/default.nix b/pkgs/tools/system/syslog-ng/default.nix
index a629e493c92..b47f5c98c4d 100644
--- a/pkgs/tools/system/syslog-ng/default.nix
+++ b/pkgs/tools/system/syslog-ng/default.nix
@@ -1,7 +1,9 @@
 { stdenv, fetchurl, openssl, libcap, curl, which
 , eventlog, pkgconfig, glib, python, systemd, perl
 , riemann_c_client, protobufc, pcre, libnet
-, json_c, libuuid, libivykis, mongoc, rabbitmq-c }:
+, json_c, libuuid, libivykis, mongoc, rabbitmq-c
+, libesmtp
+}:
 
 let
   pname = "syslog-ng";
@@ -9,11 +11,11 @@ in
 
 stdenv.mkDerivation rec {
   name = "${pname}-${version}";
-  version = "3.13.2";
+  version = "3.15.1";
 
   src = fetchurl {
     url = "https://github.com/balabit/${pname}/releases/download/${name}/${name}.tar.gz";
-    sha256 = "1s6kg91sb8h2w4n60v22zis6pl2rggarpjjp00c81039jggk2gcs";
+    sha256 = "1vzrg6s30wc2as2s42h7a1qvyxqx26nq895r9y75aasfcwlbvnm2";
   };
 
   nativeBuildInputs = [ pkgconfig which ];
@@ -36,12 +38,14 @@ stdenv.mkDerivation rec {
     libivykis
     mongoc
     rabbitmq-c
+    libesmtp
   ];
 
   configureFlags = [
     "--enable-manpages"
     "--enable-dynamic-linking"
     "--enable-systemd"
+    "--enable-smtp"
     "--with-ivykis=system"
     "--with-librabbitmq-client=system"
     "--with-mongoc=system"
diff --git a/pkgs/tools/system/vboot_reference/default.nix b/pkgs/tools/system/vboot_reference/default.nix
index ba885555cde..b252b74a0bd 100644
--- a/pkgs/tools/system/vboot_reference/default.nix
+++ b/pkgs/tools/system/vboot_reference/default.nix
@@ -1,15 +1,15 @@
 { stdenv, fetchgit, pkgconfig, libuuid, openssl, libyaml, lzma }:
 
 stdenv.mkDerivation rec {
-  version = "20171023";
-  checkout = "8122e0b8b13794";
+  version = "20180311";
+  checkout = "4c84e077858c809ee80a9a6f9b38185cf7dcded7";
 
   name = "vboot_reference-${version}";
 
   src = fetchgit {
     url = https://chromium.googlesource.com/chromiumos/platform/vboot_reference;
     rev = "${checkout}";
-    sha256 = "0qxm3qlvm2fgjrn9b3n8rdccw2f5pdi7z542m2hdfddflx7jz1w7";
+    sha256 = "1zja4ma6flch08h5j2l1hqnxmw2xwylidnddxxd5y2x05dai9ddj";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/tools/system/xe/default.nix b/pkgs/tools/system/xe/default.nix
index e0444fcfd9f..934aa6fc279 100644
--- a/pkgs/tools/system/xe/default.nix
+++ b/pkgs/tools/system/xe/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "xe-${version}";
-  version = "0.6.1";
+  version = "0.11";
   
   src = fetchFromGitHub {
     owner = "chneukirchen";
     repo = "xe";
     rev = "v${version}";
-    sha256 = "1dr3xlfq3zfdba1q96iags572lbk3z6s2179rs3pvsgkxn4m0qpf";
+    sha256 = "04jr8f6jcijr0bsmn8ajm0aj35qh9my3xjsaq64h8lwg5bpyn29x";
   };
 
   makeFlags = "PREFIX=$(out)";
diff --git a/pkgs/tools/text/ansifilter/default.nix b/pkgs/tools/text/ansifilter/default.nix
index a2b6e3e6c3b..3e9511fefda 100644
--- a/pkgs/tools/text/ansifilter/default.nix
+++ b/pkgs/tools/text/ansifilter/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "ansifilter-${version}";
-  version = "2.4";
+  version = "2.10";
 
   src = fetchurl {
     url = "http://www.andre-simon.de/zip/ansifilter-${version}.tar.bz2";
-    sha256 = "c57cb878afa7191c7b7db3c086a344b4234df814aed632596619a4bda5941d48";
+    sha256 = "0gzfxfpic47cs2kqrbvaw166ji62c5nq5cjhh3ngpm2fkm1wzli3";
 
   };
 
diff --git a/pkgs/tools/text/cconv/default.nix b/pkgs/tools/text/cconv/default.nix
new file mode 100644
index 00000000000..9f6b7a7f122
--- /dev/null
+++ b/pkgs/tools/text/cconv/default.nix
@@ -0,0 +1,20 @@
+{ stdenv, fetchurl, autoreconfHook }:
+let version = "0.6.3"; in
+  stdenv.mkDerivation {
+  name = "cconv-${version}";
+  
+  src = fetchurl {
+    url = "https://github.com/xiaoyjy/cconv/archive/v${version}.tar.gz";
+    sha256 = "82f46a94829f5a8157d6f686e302ff5710108931973e133d6e19593061b81d84";
+  };
+
+  nativeBuildInputs = [ autoreconfHook ];
+  
+  meta = with stdenv.lib; {
+    description = "A iconv based simplified-traditional chinese conversion tool";
+    homepage = https://github.com/xiaoyjy/cconv;
+    license = licenses.mit;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.redfish64 ];
+  };
+}
diff --git a/pkgs/tools/text/diction/default.nix b/pkgs/tools/text/diction/default.nix
index bf27fc3de5d..cfb627d7042 100644
--- a/pkgs/tools/text/diction/default.nix
+++ b/pkgs/tools/text/diction/default.nix
@@ -1,11 +1,12 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "diction-1.11";
+  name = "diction-${version}";
+  version = "1.13";
 
   src = fetchurl {
-    url = "mirror://gnu/diction/${name}.tar.gz";
-    sha256 = "1xi4l1x1vvzmzmbhpx0ghmfnwwrhabjwizrpyylmy3fzinzz3him";
+    url = "http://www.moria.de/~michael/diction/${name}.tar.gz";
+    sha256 = "08fi971b8qa4xycxbgb42i6b5ms3qx9zpp5hwpbxy2vypfs0wph9";
   };
 
   meta = {
diff --git a/pkgs/tools/text/discount/default.nix b/pkgs/tools/text/discount/default.nix
index d3dcb662c49..81b88ff8d83 100644
--- a/pkgs/tools/text/discount/default.nix
+++ b/pkgs/tools/text/discount/default.nix
@@ -1,12 +1,12 @@
 {stdenv, fetchurl}:
 
 stdenv.mkDerivation rec {
-  version = "2.2.2";
+  version = "2.2.3a";
   name = "discount-${version}";
 
   src = fetchurl {
     url = "http://www.pell.portland.or.us/~orc/Code/discount/discount-${version}.tar.bz2";
-    sha256 = "0r4gjyk1ngx47zhb25q0gkjm3bz2m5x8ngrk6rim3y1y3rricygc";
+    sha256 = "0m09x9dd75d3pqvmrwr0kqw3dm2x3ss9clj5fxf7lq79lbyxbxbm";
   };
 
   patches = ./fix-configure-path.patch;
diff --git a/pkgs/tools/text/fanficfare/default.nix b/pkgs/tools/text/fanficfare/default.nix
index 2af9baeb5c5..2ebab9d6390 100644
--- a/pkgs/tools/text/fanficfare/default.nix
+++ b/pkgs/tools/text/fanficfare/default.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchurl, python27Packages }:
 
 python27Packages.buildPythonApplication rec {
-  version = "2.22.0";
+  version = "2.25.0";
   name = "fanficfare-${version}";
   nameprefix = "";
 
   src = fetchurl {
     url = "https://github.com/JimmXinu/FanFicFare/archive/v${version}.tar.gz";
-    sha256 = "1gwr2qk0wff8f69w21ffj6cq8jklqd89vcdhhln6ii1h1kf8k031";
+    sha256 = "1fval2jhrv3w762rmrbhbn8zj161aalvqy8n8q74yr8hzmpcvlwn";
   };
 
   propagatedBuildInputs = with python27Packages; [ beautifulsoup4 chardet html5lib html2text ];
diff --git a/pkgs/tools/text/gawk/default.nix b/pkgs/tools/text/gawk/default.nix
index 6783158ca77..c0c06813dc9 100644
--- a/pkgs/tools/text/gawk/default.nix
+++ b/pkgs/tools/text/gawk/default.nix
@@ -19,11 +19,11 @@ let
   inherit (stdenv.lib) optional;
 in
 stdenv.mkDerivation rec {
-  name = "gawk-4.2.0";
+  name = "gawk-4.2.1";
 
   src = fetchurl {
     url = "mirror://gnu/gawk/${name}.tar.xz";
-    sha256 = "1wm9lqj77y7xz07zi0n187aqm8zavzxzpm1j53ahxz81q0qwvwyl";
+    sha256 = "0lam2zf3n7ak4pig8w46lhx9hzx50kj2v2yj1616mm26wy2rf4fi";
   };
 
   # When we do build separate interactive version, it makes sense to always include man.
diff --git a/pkgs/tools/text/gist/default.nix b/pkgs/tools/text/gist/default.nix
index cf4b90643d7..f5dcbb9191c 100644
--- a/pkgs/tools/text/gist/default.nix
+++ b/pkgs/tools/text/gist/default.nix
@@ -4,8 +4,8 @@ buildRubyGem rec {
   inherit ruby;
   name = "${gemName}-${version}";
   gemName = "gist";
-  version = "4.6.1";
-  source.sha256 = "16qvmn7syvcf4lnblngzvq8xynvb62h1xhfc7xfb0c1sjh166hff";
+  version = "4.6.2";
+  source.sha256 = "0zrw84k2982aiansmv2aj3101d3giwa58221n6aisvg5jq5kmiib";
 
   buildInputs = [ makeWrapper ];
 
diff --git a/pkgs/tools/text/gnupatch/CVE-2018-6951.patch b/pkgs/tools/text/gnupatch/CVE-2018-6951.patch
new file mode 100644
index 00000000000..22d5f061c33
--- /dev/null
+++ b/pkgs/tools/text/gnupatch/CVE-2018-6951.patch
@@ -0,0 +1,28 @@
+From f290f48a621867084884bfff87f8093c15195e6a Mon Sep 17 00:00:00 2001
+From: Andreas Gruenbacher <agruen@gnu.org>
+Date: Mon, 12 Feb 2018 16:48:24 +0100
+Subject: Fix segfault with mangled rename patch
+
+http://savannah.gnu.org/bugs/?53132
+* src/pch.c (intuit_diff_type): Ensure that two filenames are specified
+for renames and copies (fix the existing check).
+---
+ src/pch.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/src/pch.c b/src/pch.c
+index ff9ed2c..bc6278c 100644
+--- a/src/pch.c
++++ b/src/pch.c
+@@ -974,7 +974,8 @@ intuit_diff_type (bool need_header, mode_t *p_file_type)
+     if ((pch_rename () || pch_copy ())
+ 	&& ! inname
+ 	&& ! ((i == OLD || i == NEW) &&
+-	      p_name[! reverse] &&
++	      p_name[reverse] && p_name[! reverse] &&
++	      name_is_valid (p_name[reverse]) &&
+ 	      name_is_valid (p_name[! reverse])))
+       {
+ 	say ("Cannot %s file without two valid file names\n", pch_rename () ? "rename" : "copy");
+-- 
+cgit v1.0-41-gc330
diff --git a/pkgs/tools/text/gnupatch/default.nix b/pkgs/tools/text/gnupatch/default.nix
index 3840811a3e3..c83eab2e2ef 100644
--- a/pkgs/tools/text/gnupatch/default.nix
+++ b/pkgs/tools/text/gnupatch/default.nix
@@ -11,6 +11,11 @@ stdenv.mkDerivation rec {
     sha256 = "1zfqy4rdcy279vwn2z1kbv19dcfw25d2aqy9nzvdkq5bjzd0nqdc";
   };
 
+  patches = [
+    # https://git.savannah.gnu.org/cgit/patch.git/patch/?id=f290f48a621867084884bfff87f8093c15195e6a
+    ./CVE-2018-6951.patch
+  ];
+
   buildInputs = stdenv.lib.optional doCheck ed;
 
   configureFlags = stdenv.lib.optionals (hostPlatform != buildPlatform) [
diff --git a/pkgs/tools/text/gnused/default.nix b/pkgs/tools/text/gnused/default.nix
index 72d632533ff..af3db54e96d 100644
--- a/pkgs/tools/text/gnused/default.nix
+++ b/pkgs/tools/text/gnused/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "gnused-${version}";
-  version = "4.4";
+  version = "4.5";
 
   src = fetchurl {
     url = "mirror://gnu/sed/sed-${version}.tar.xz";
-    sha256 = "0fv88bcnraixc8jvpacvxshi30p5x9m7yb8ns1hfv07hmb2ypmnb";
+    sha256 = "0h3b2jfj57wmz680vkbyavlsrkak556qhvs7m7fdlawwhg477bbs";
   };
 
   outputs = [ "out" "info" ];
@@ -14,13 +14,8 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ perl ];
   preConfigure = "patchShebangs ./build-aux/help2man";
 
-  crossAttrs = {
-    # The tarball ships with a fine prebuilt manpage, but the make rules try to rebuild it,
-    # which won't work when cross compiling as help2man needs to execute the binaries.
-    postConfigure = ''
-      sed -i Makefile -e 's|doc/sed\.1:|dummy:|'
-    '';
-  };
+  # Prevents attempts of running 'help2man' on cross-built binaries.
+  PERL = if stdenv.hostPlatform == stdenv.buildPlatform then null else "missing";
 
   meta = {
     homepage = http://www.gnu.org/software/sed/;
diff --git a/pkgs/tools/text/groff/default.nix b/pkgs/tools/text/groff/default.nix
index 6d01c42f93d..27581134ca3 100644
--- a/pkgs/tools/text/groff/default.nix
+++ b/pkgs/tools/text/groff/default.nix
@@ -47,18 +47,17 @@ stdenv.mkDerivation rec {
   ] ++ stdenv.lib.optionals (ghostscript != null) [
     "--with-gs=${ghostscript}/bin/gs"
   ] ++ stdenv.lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform) [
-    "ac_cv_path_PERL=${perl}/bin/perl"
+    "ac_cv_path_PERL=${buildPackages.perl}/bin/perl"
   ];
 
-  doCheck = true;
-
-  crossAttrs = {
+  makeFlags = stdenv.lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform) [
     # Trick to get the build system find the proper 'native' groff
     # http://www.mail-archive.com/bug-groff@gnu.org/msg01335.html
-    preBuild = ''
-      makeFlags="GROFF_BIN_PATH=${buildPackages.groff}/bin GROFFBIN=${buildPackages.groff}/bin/groff"
-    '';
-  };
+    "GROFF_BIN_PATH=${buildPackages.groff}/bin"
+    "GROFFBIN=${buildPackages.groff}/bin/groff"
+  ];
+
+  doCheck = true;
 
   # Remove example output with (random?) colors and creation date
   # to avoid non-determinism in the output.
@@ -103,6 +102,8 @@ stdenv.mkDerivation rec {
     substituteInPlace $perl/bin/grog \
       --replace $out/lib/groff/grog $perl/lib/groff/grog
 
+  '' + stdenv.lib.optionalString (stdenv.buildPlatform != stdenv.hostPlatform) ''
+    find $perl/ -type f -print0 | xargs --null sed -i 's|${buildPackages.perl}|${perl}|'
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/tools/text/highlight/default.nix b/pkgs/tools/text/highlight/default.nix
index 1fcfdd85e7a..c2fe3fcd576 100644
--- a/pkgs/tools/text/highlight/default.nix
+++ b/pkgs/tools/text/highlight/default.nix
@@ -4,13 +4,13 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   name = "highlight-${version}";
-  version = "3.42";
+  version = "3.43";
 
   src = fetchFromGitHub {
     owner = "andre-simon";
     repo = "highlight";
-    rev = "${version}";
-    sha256 = "1fxx827igzqjn5rri57b8980hnd3ixz3j7smfxwi1ivfhlfznzgr";
+    rev = "v${version}";
+    sha256 = "126nsf4cjxflg2kiv72qf1xl5fsilk0jqcncs6qqgm72cpjfmlsy";
   };
 
   nativeBuildInputs = [ pkgconfig ] ++ optional stdenv.isDarwin  gcc ;
diff --git a/pkgs/tools/text/jumanpp/default.nix b/pkgs/tools/text/jumanpp/default.nix
new file mode 100644
index 00000000000..c4cb12cb693
--- /dev/null
+++ b/pkgs/tools/text/jumanpp/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchurl, cmake, protobuf }:
+stdenv.mkDerivation rec {
+  name = "jumanpp";
+  version = "2.0.0-rc2";
+
+  src = fetchurl {
+    url = "https://github.com/ku-nlp/${name}/releases/download/v${version}/${name}-${version}.tar.xz";
+    sha256 = "17fzmd0f5m9ayfhsr0mg7hjp3pg1mhbgknhgyd8v87x46g8bg6qp";
+  };
+  buildInputs = [ cmake protobuf ];
+
+  meta = with stdenv.lib; {
+    description = "A Japanese morphological analyser using a recurrent neural network language model (RNNLM)";
+    longDescription = ''
+      JUMAN++ is a new morphological analyser that considers semantic
+      plausibility of word sequences by using a recurrent neural network
+      language model (RNNLM).
+    '';
+    homepage = http://nlp.ist.i.kyoto-u.ac.jp/index.php?JUMAN++;
+    license = licenses.asl20;
+    maintainers = with maintainers; [ mt-caret ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/tools/text/languagetool/default.nix b/pkgs/tools/text/languagetool/default.nix
index 6fcfd6fff85..e60ead5bc8f 100644
--- a/pkgs/tools/text/languagetool/default.nix
+++ b/pkgs/tools/text/languagetool/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "LanguageTool-${version}";
-  version = "3.9";
+  version = "4.1";
 
   src = fetchzip {
     url = "https://www.languagetool.org/download/${name}.zip";
-    sha256 = "0hqb4hbl7iryw1xk8q1i606azzgzdr17sy6xfr1zpas4r2pnvhfq";
+    sha256 = "0qc4z5rl9239lqfi2jrggzmjkx4f33n0arlqm5xgfaqgi8wypz0l";
   };
   nativeBuildInputs = [ makeWrapper ];
   buildInputs = [ jre ];
diff --git a/pkgs/tools/text/mdbook/default.nix b/pkgs/tools/text/mdbook/default.nix
index 5bbe8cfd094..4ea36ddbd5e 100644
--- a/pkgs/tools/text/mdbook/default.nix
+++ b/pkgs/tools/text/mdbook/default.nix
@@ -2,17 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   name = "mdbook-${version}";
-  version = "0.1.3";
+  version = "0.1.5";
 
   src = fetchFromGitHub {
     owner = "rust-lang-nursery";
     repo = "mdBook";
     rev = "v${version}";
-    sha256 = "0m0vprjpd02z4nr3vd4qha2jka7l36k4liw8jcbf4xs09c584sjv";
+    sha256 = "0k86zjrqb5wdxvmzz9cxl9c0mpjnr46fh5r5sbs5q9fk2h4lp4ip";
   };
 
-  cargoSha256 = "19hpr78p9rzgirq6fjw8v11d5mgcglms6vbqgjyvg49xmkklsqzr";
-  depsSha256 = "0q68qyl2h6i0qsz82z840myxlnjay8p1w5z7hfyr8fqp7wgwa9cx";
+  cargoSha256 = "0gj1x996lvn9j87dfmng2fn3fgz8rgvrw3akcz641psj4hlfgm5w";
 
   buildInputs = stdenv.lib.optionals stdenv.isDarwin [ CoreServices ];
 
diff --git a/pkgs/tools/text/mir-qualia/default.nix b/pkgs/tools/text/mir-qualia/default.nix
index b22d5893915..4e3be9e17e0 100644
--- a/pkgs/tools/text/mir-qualia/default.nix
+++ b/pkgs/tools/text/mir-qualia/default.nix
@@ -2,14 +2,14 @@
 
 pythonPackages.buildPythonApplication rec {
   name = "mir.qualia-${version}";
-  version = "1.0.0";
-  doCheck = false; # 1.0.0-released pytests are broken
+  version = "2.0.0";
+  doCheck = false; # 2.0.0-released pytests are broken
 
   buildInputs = with pythonPackages; [ pytest ];
 
   src = fetchurl {
     url = "mirror://pypi/m/mir.qualia/mir.qualia-${version}.tar.gz";
-    sha256 = "1g0nwncwk4nq7b7zszqi1q4d2bdga1q50g9nkxigdaq647wqdf7x";
+    sha256 = "1ybq6jb5clh9hw0sp3idp4hjv2gkm9yiaph48gcc208affflc8m9";
   };
 
   meta = {
diff --git a/pkgs/tools/text/namazu/default.nix b/pkgs/tools/text/namazu/default.nix
index 21548de5efb..67a26cb41aa 100644
--- a/pkgs/tools/text/namazu/default.nix
+++ b/pkgs/tools/text/namazu/default.nix
@@ -38,7 +38,7 @@ stdenv.mkDerivation rec {
     license = stdenv.lib.licenses.gpl2Plus;
     homepage = http://namazu.org/;
 
-    platforms = stdenv.lib.platforms.gnu;  # arbitrary choice
+    platforms = stdenv.lib.platforms.gnu ++ stdenv.lib.platforms.linux;  # arbitrary choice
     maintainers = [ ];
     broken = true; # File-MMagic is not compatible with our Perl version
   };
diff --git a/pkgs/tools/text/numdiff/default.nix b/pkgs/tools/text/numdiff/default.nix
index 96c91def9ac..4741fecb90c 100644
--- a/pkgs/tools/text/numdiff/default.nix
+++ b/pkgs/tools/text/numdiff/default.nix
@@ -18,6 +18,6 @@ stdenv.mkDerivation rec {
     homepage = http://www.nongnu.org/numdiff/;
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ ndowens ];
-    platforms = platforms.gnu;
+    platforms = platforms.gnu ++ platforms.linux;
   };
 }
diff --git a/pkgs/tools/text/odt2txt/default.nix b/pkgs/tools/text/odt2txt/default.nix
index 187a6526dc3..3feecdf4f53 100644
--- a/pkgs/tools/text/odt2txt/default.nix
+++ b/pkgs/tools/text/odt2txt/default.nix
@@ -12,8 +12,6 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ zlib libiconv ];
 
-  NIX_LDFLAGS = stdenv.lib.optionalString stdenv.isDarwin "-liconv";
-
   meta = {
     description = "Simple .odt to .txt converter";
     homepage = http://stosberg.net/odt2txt;
diff --git a/pkgs/tools/text/patchutils/default.nix b/pkgs/tools/text/patchutils/default.nix
index 75922a6c830..238676020e8 100644
--- a/pkgs/tools/text/patchutils/default.nix
+++ b/pkgs/tools/text/patchutils/default.nix
@@ -12,6 +12,8 @@ stdenv.mkDerivation rec {
 
   hardeningDisable = [ "format" ];
 
+  doCheck = false; # fails
+
   meta = with stdenv.lib; {
     description = "Tools to manipulate patch files";
     homepage = http://cyberelk.net/tim/software/patchutils;
diff --git a/pkgs/tools/text/recode/default.nix b/pkgs/tools/text/recode/default.nix
index acf657d2292..9946da614c7 100644
--- a/pkgs/tools/text/recode/default.nix
+++ b/pkgs/tools/text/recode/default.nix
@@ -1,5 +1,5 @@
-{ stdenv, fetchFromGitHub, python, perl, intltool, flex, autoreconfHook,
-texinfo, libiconv }:
+{ stdenv, fetchFromGitHub, python, perl, intltool, flex, autoreconfHook
+, texinfo, libiconv, libintl }:
 
 stdenv.mkDerivation rec {
   name = "recode-3.7-2fd838565";
@@ -12,15 +12,13 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ python perl intltool flex texinfo autoreconfHook libiconv ];
+  buildInputs = [ libintl ];
 
   preAutoreconf = ''
     # fix build with new automake, https://bugs.gentoo.org/show_bug.cgi?id=419455
     substituteInPlace Makefile.am --replace "ACLOCAL = ./aclocal.sh @ACLOCAL@" ""
     sed -i '/^AM_C_PROTOTYPES/d' configure.ac
     substituteInPlace src/Makefile.am --replace "ansi2knr" ""
-  ''
-  + stdenv.lib.optionalString stdenv.isDarwin ''
-    export LDFLAGS=-lintl
   '';
 
   #doCheck = true; # doesn't work yet
diff --git a/pkgs/tools/text/sgml/opensp/default.nix b/pkgs/tools/text/sgml/opensp/default.nix
index bfd150eefda..27fa7bb91a8 100644
--- a/pkgs/tools/text/sgml/opensp/default.nix
+++ b/pkgs/tools/text/sgml/opensp/default.nix
@@ -32,6 +32,8 @@ stdenv.mkDerivation {
   buildInputs = stdenv.lib.optionals stdenv.isCygwin [ autoconf automake gettext libiconv libtool ]
     ++ [ xmlto docbook_xml_dtd_412 libxslt docbook_xsl ];
 
+  doCheck = false; # fails
+
   meta = {
     description = "A suite of SGML/XML processing tools";
     license = stdenv.lib.licenses.mit;
diff --git a/pkgs/tools/text/unrtf/default.nix b/pkgs/tools/text/unrtf/default.nix
index c1b4aa1cf2c..361b6782526 100644
--- a/pkgs/tools/text/unrtf/default.nix
+++ b/pkgs/tools/text/unrtf/default.nix
@@ -19,8 +19,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ autoconf automake ];
 
-  buildInputs = [ ] ++ stdenv.lib.optional stdenv.isDarwin libiconv;
-  NIX_LDFLAGS = stdenv.lib.optionalString stdenv.isDarwin "-liconv";
+  buildInputs = [ libiconv ];
 
   preConfigure = "./bootstrap";
 
diff --git a/pkgs/tools/text/untex/default.nix b/pkgs/tools/text/untex/default.nix
index ec99e8b4a27..b1671ad38b5 100644
--- a/pkgs/tools/text/untex/default.nix
+++ b/pkgs/tools/text/untex/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "untex-${version}";
-  version = "1.2";
+  version = "1.3";
 
   src = fetchurl {
-    url = "https://www.ctan.org/tex-archive/support/untex/${name}.tar.gz";
-    sha256 = "07p836jydd5yjy905m5ylnnac1h4cc4jsr41panqb808mlsiwmmy";
+    url = "ftp://ftp.thp.uni-duisburg.de/pub/source/${name}.tar.gz";
+    sha256 = "1jww43pl9qvg6kwh4h8imp966fzd62dk99pb4s93786lmp3kgdjv";
   };
 
   hardeningDisable = [ "format" ];
diff --git a/pkgs/tools/text/vale/default.nix b/pkgs/tools/text/vale/default.nix
new file mode 100644
index 00000000000..84ef164ce24
--- /dev/null
+++ b/pkgs/tools/text/vale/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, buildGoPackage, fetchFromGitHub }:
+
+buildGoPackage rec {
+  name = "vale-${version}";
+  version = "0.11.2";
+  rev    = "v${version}";
+
+  goPackagePath = "github.com/errata-ai/vale";
+
+  src = fetchFromGitHub {
+    inherit rev;
+    owner  = "errata-ai";
+    repo   = "vale";
+    sha256 = "0zs6bdwnc5fpa0skw1xhdwg6jzsc7wcb8lsfj235jc8jd2w13mvm";
+  };
+
+  goDeps = ./deps.nix;
+
+  meta = with stdenv.lib; {
+    inherit (src.meta) homepage;
+    description = "Vale is an open source linter for prose";
+    license = licenses.mit;
+    maintainers = [ maintainers.marsam ];
+  };
+}
diff --git a/pkgs/tools/text/vale/deps.nix b/pkgs/tools/text/vale/deps.nix
new file mode 100644
index 00000000000..e63becb5b4b
--- /dev/null
+++ b/pkgs/tools/text/vale/deps.nix
@@ -0,0 +1,246 @@
+# file generated from Gopkg.lock using dep2nix (https://github.com/nixcloud/dep2nix)
+[
+  {
+    goPackagePath  = "github.com/ValeLint/gospell";
+    fetch = {
+      type = "git";
+      url = "https://github.com/ValeLint/gospell";
+      rev =  "90dfc71015dfebd3a7274f1ad2756c1dbf09e250";
+      sha256 = "0i2ha76q2xja8r4j72kqiarnylrbk4l1b29632skgzib6k4fh4g1";
+    };
+  }
+  {
+    goPackagePath  = "github.com/client9/gospell";
+    fetch = {
+      type = "git";
+      url = "https://github.com/client9/gospell";
+      rev =  "90dfc71015dfebd3a7274f1ad2756c1dbf09e250";
+      sha256 = "0i2ha76q2xja8r4j72kqiarnylrbk4l1b29632skgzib6k4fh4g1";
+    };
+  }
+  {
+    goPackagePath  = "github.com/davecgh/go-spew";
+    fetch = {
+      type = "git";
+      url = "https://github.com/davecgh/go-spew";
+      rev =  "8991bc29aa16c548c550c7ff78260e27b9ab7c73";
+      sha256 = "0hka6hmyvp701adzag2g26cxdj47g21x6jz4sc6jjz1mn59d474y";
+    };
+  }
+  {
+    goPackagePath  = "github.com/fatih/color";
+    fetch = {
+      type = "git";
+      url = "https://github.com/fatih/color";
+      rev =  "507f6050b8568533fb3f5504de8e5205fa62a114";
+      sha256 = "0k1v9dkhrxiqhg48yqkwzpd7x40xx38gv2pgknswbsy4r8w644i7";
+    };
+  }
+  {
+    goPackagePath  = "github.com/gobwas/glob";
+    fetch = {
+      type = "git";
+      url = "https://github.com/gobwas/glob";
+      rev =  "f00a7392b43971b2fdb562418faab1f18da2067a";
+      sha256 = "1b7jnb7rx99na25lkm9m9jr583mv7y0lwp57w58sv7ir9iiilx29";
+    };
+  }
+  {
+    goPackagePath  = "github.com/jdkato/prose";
+    fetch = {
+      type = "git";
+      url = "https://github.com/jdkato/prose";
+      rev =  "e27abfd3f31b84c37bbce37179b0428fcb1384be";
+      sha256 = "04rjqh3jdxaqr9czp4vcj14hqfv7yppv4nb7ynb04c9jcq23ajw7";
+    };
+  }
+  {
+    goPackagePath  = "github.com/jdkato/regexp";
+    fetch = {
+      type = "git";
+      url = "https://github.com/jdkato/regexp";
+      rev =  "38ab2f7842bf2a539528aa7d0014b37421b886e1";
+      sha256 = "11z21z2h2l8vlh4nwkcn7vbfdcmdjk9sc90kn8ji1923i3s7p3bw";
+    };
+  }
+  {
+    goPackagePath  = "github.com/mattn/go-colorable";
+    fetch = {
+      type = "git";
+      url = "https://github.com/mattn/go-colorable";
+      rev =  "efa589957cd060542a26d2dd7832fd6a6c6c3ade";
+      sha256 = "0kshi4hvm0ayrsxqxy0599iv81kryhd2fn9lwjyczpj593cq069r";
+    };
+  }
+  {
+    goPackagePath  = "github.com/mattn/go-isatty";
+    fetch = {
+      type = "git";
+      url = "https://github.com/mattn/go-isatty";
+      rev =  "6ca4dbf54d38eea1a992b3c722a76a5d1c4cb25c";
+      sha256 = "0zs92j2cqaw9j8qx1sdxpv3ap0rgbs0vrvi72m40mg8aa36gd39w";
+    };
+  }
+  {
+    goPackagePath  = "github.com/mattn/go-runewidth";
+    fetch = {
+      type = "git";
+      url = "https://github.com/mattn/go-runewidth";
+      rev =  "ce7b0b5c7b45a81508558cd1dba6bb1e4ddb51bb";
+      sha256 = "0lc39b6xrxv7h3v3y1kgz49cgi5qxwlygs715aam6ba35m48yi7g";
+    };
+  }
+  {
+    goPackagePath  = "github.com/mitchellh/go-homedir";
+    fetch = {
+      type = "git";
+      url = "https://github.com/mitchellh/go-homedir";
+      rev =  "b8bc1bf767474819792c23f32d8286a45736f1c6";
+      sha256 = "13ry4lylalkh4g2vny9cxwvryslzyzwp9r92z0b10idhdq3wad1q";
+    };
+  }
+  {
+    goPackagePath  = "github.com/mitchellh/mapstructure";
+    fetch = {
+      type = "git";
+      url = "https://github.com/mitchellh/mapstructure";
+      rev =  "00c29f56e2386353d58c599509e8dc3801b0d716";
+      sha256 = "1vw8fvhax0d567amgvxr7glcl12lvzg2sbzs007q5k5bbwn1szyb";
+    };
+  }
+  {
+    goPackagePath  = "github.com/montanaflynn/stats";
+    fetch = {
+      type = "git";
+      url = "https://github.com/montanaflynn/stats";
+      rev =  "1bf9dbcd8cbe1fdb75add3785b1d4a9a646269ab";
+      sha256 = "0qnx3hvd3lhwnmxg7nr4nwl5kbsc7ffnjk9ifyk0f05h61l3v9pz";
+    };
+  }
+  {
+    goPackagePath  = "github.com/olekukonko/tablewriter";
+    fetch = {
+      type = "git";
+      url = "https://github.com/olekukonko/tablewriter";
+      rev =  "d5dd8a50526aadb3d5f2c9b5233277bc2db90e88";
+      sha256 = "0l7y3mmwkzpa7p56drw6d6416j9zfapznfyr1dab44d6kk48rvjx";
+    };
+  }
+  {
+    goPackagePath  = "github.com/pmezard/go-difflib";
+    fetch = {
+      type = "git";
+      url = "https://github.com/pmezard/go-difflib";
+      rev =  "792786c7400a136282c1664665ae0a8db921c6c2";
+      sha256 = "0c1cn55m4rypmscgf0rrb88pn58j3ysvc2d0432dp3c6fqg6cnzw";
+    };
+  }
+  {
+    goPackagePath  = "github.com/remeh/sizedwaitgroup";
+    fetch = {
+      type = "git";
+      url = "https://github.com/remeh/sizedwaitgroup";
+      rev =  "5582a674300c427060d06980c142aeb52ed20040";
+      sha256 = "152a1xnaswh9fx6f71llggm513c6ch171gc61jk3b6b0il6npb57";
+    };
+  }
+  {
+    goPackagePath  = "github.com/russross/blackfriday";
+    fetch = {
+      type = "git";
+      url = "https://github.com/russross/blackfriday";
+      rev =  "16ac584625fae401e2778e7af317dc415844c44b";
+      sha256 = "0g0dbqm76aqsc2a43j95i0h5138cmlgnldhkv3blgn0ga6s8ypfg";
+    };
+  }
+  {
+    goPackagePath  = "github.com/shogo82148/go-shuffle";
+    fetch = {
+      type = "git";
+      url = "https://github.com/shogo82148/go-shuffle";
+      rev =  "27e6095f230d6c769aafa7232db643a628bd87ad";
+      sha256 = "0nig0q0f0v6ay2w0k3r0pqlvjp1yg9s06f00qpizp679vc46gqs1";
+    };
+  }
+  {
+    goPackagePath  = "github.com/shurcooL/sanitized_anchor_name";
+    fetch = {
+      type = "git";
+      url = "https://github.com/shurcooL/sanitized_anchor_name";
+      rev =  "86672fcb3f950f35f2e675df2240550f2a50762f";
+      sha256 = "142m507s9971cl8qdmbcw7sqxnkgi3xqd8wzvfq15p0w7w8i4a3h";
+    };
+  }
+  {
+    goPackagePath  = "github.com/stretchr/testify";
+    fetch = {
+      type = "git";
+      url = "https://github.com/stretchr/testify";
+      rev =  "c679ae2cc0cb27ec3293fea7e254e47386f05d69";
+      sha256 = "1rrdn7k83j492rzhqwkh6956sj8m2nbk44d7r1xa9nsn3hfwj691";
+    };
+  }
+  {
+    goPackagePath  = "github.com/urfave/cli";
+    fetch = {
+      type = "git";
+      url = "https://github.com/urfave/cli";
+      rev =  "8e01ec4cd3e2d84ab2fe90d8210528ffbb06d8ff";
+      sha256 = "0cpr10n4ps3gcdbcink71ry9hzhdb5rrcysmylybs8h2lzxqgc1i";
+    };
+  }
+  {
+    goPackagePath  = "github.com/xrash/smetrics";
+    fetch = {
+      type = "git";
+      url = "https://github.com/xrash/smetrics";
+      rev =  "a3153f7040e90324c58c6287535e26a0ac5c1cc1";
+      sha256 = "1phq5y6mcg741spq7snc6xsky1ybc7fllh2444sfr3p41sjq9hg6";
+    };
+  }
+  {
+    goPackagePath  = "golang.org/x/net";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/net";
+      rev =  "5f9ae10d9af5b1c89ae6904293b14b064d4ada23";
+      sha256 = "10vzmdg8z73krbp2qhsqygvqd0f0s98376mrxm614xdcdljn73dn";
+    };
+  }
+  {
+    goPackagePath  = "golang.org/x/sys";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/sys";
+      rev =  "bb9c189858d91f42db229b04d45a4c3d23a7662a";
+      sha256 = "0z20pql3hzlplcc8ywfq7a1s8mfixmcp84k656fdkmkdjfyvsl0v";
+    };
+  }
+  {
+    goPackagePath  = "gopkg.in/ini.v1";
+    fetch = {
+      type = "git";
+      url = "https://github.com/go-ini/ini";
+      rev =  "bda519ae5f4cbc60d391ff8610711627a08b86ae";
+      sha256 = "05vcc3ssxyrk8g3sr4gs888vllgjqfq11na63qz2pvaiy7m0rqrs";
+    };
+  }
+  {
+    goPackagePath  = "gopkg.in/neurosnap/sentences.v1";
+    fetch = {
+      type = "git";
+      url = "https://github.com/neurosnap/sentences";
+      rev =  "b0f23a5b35b961fe821f49e51235242d2a8193f3";
+      sha256 = "0f5lmww1g4frd5avmqw120zzklcxk5z4l20r4d8zix7406ry7zrg";
+    };
+  }
+  {
+    goPackagePath  = "gopkg.in/yaml.v2";
+    fetch = {
+      type = "git";
+      url = "https://github.com/go-yaml/yaml";
+      rev =  "5420a8b6744d3b0345ab293f6fcba19c978f1183";
+      sha256 = "0dwjrs2lp2gdlscs7bsrmyc5yf6mm4fvgw71bzr9mv2qrd2q73s1";
+    };
+  }
+]
\ No newline at end of file
diff --git a/pkgs/tools/text/xml/html-xml-utils/default.nix b/pkgs/tools/text/xml/html-xml-utils/default.nix
index 987d192bafc..f681ae62aea 100644
--- a/pkgs/tools/text/xml/html-xml-utils/default.nix
+++ b/pkgs/tools/text/xml/html-xml-utils/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "html-xml-utils-${version}";
-  version = "7.6";
+  version = "7.7";
 
   src = fetchurl {
     url = "http://www.w3.org/Tools/HTML-XML-utils/${name}.tar.gz";
-    sha256 = "0l97ps089byy62838wf2jwvvc465iw29z9r5kwmwcq7f3bn11y3m";
+    sha256 = "1vwqp5q276j8di9zql3kygf31z2frp2c59yjqlrvvwcvccvkcdwr";
   };
 
   buildInputs = [curl libiconv];
diff --git a/pkgs/tools/text/xml/xmlformat/default.nix b/pkgs/tools/text/xml/xmlformat/default.nix
new file mode 100644
index 00000000000..5982aa3828e
--- /dev/null
+++ b/pkgs/tools/text/xml/xmlformat/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, fetchurl, perl }:
+stdenv.mkDerivation rec {
+  name = "xmlformat-${version}";
+  version = "1.04";
+
+  src = fetchurl {
+    url = "http://www.kitebird.com/software/xmlformat/xmlformat-${version}.tar.gz";
+    sha256 = "1vwgzn4ha0az7dx0cyc6dx5nywwrx9gxhyh08mvdcq27wjbh79vi";
+  };
+
+  buildInputs = [ perl ];
+  buildPhase = ''
+    patchShebangs ./xmlformat.pl
+  '';
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cp ./xmlformat.pl $out/bin/xmlformat
+    cp ./LICENSE $out/
+  '';
+
+  meta = {
+    description = "a configurable formatter (or 'pretty-printer') for XML documents";
+    homepage = "http://www.kitebird.com/software/xmlformat/";
+    license = stdenv.lib.licenses.bsd3;
+    platforms = stdenv.lib.platforms.all;
+  };
+}
diff --git a/pkgs/tools/text/xml/xmloscopy/default.nix b/pkgs/tools/text/xml/xmloscopy/default.nix
new file mode 100644
index 00000000000..337aa61af13
--- /dev/null
+++ b/pkgs/tools/text/xml/xmloscopy/default.nix
@@ -0,0 +1,52 @@
+{ stdenv, lib, makeWrapper, dev_only_shellcheck ? null,
+fetchFromGitHub,
+
+fzf, coreutils, libxml2, libxslt, jing, findutils, gnugrep, gnused,
+docbook5
+}:
+stdenv.mkDerivation rec {
+  name = "xmloscopy-${version}";
+  version = "v0.1.2";
+
+  buildInputs = [
+    makeWrapper
+    dev_only_shellcheck
+  ];
+
+  spath = lib.makeBinPath [
+    fzf
+    coreutils
+    libxml2
+    libxslt
+    jing
+    findutils
+    gnugrep
+    gnused
+  ];
+
+  src = fetchFromGitHub {
+    owner = "grahamc";
+    repo = "xmloscopy";
+    rev = version;
+    sha256 = "07fcnf1vv0x72lksl1v0frmlh73gca199ldqqbgdjpybjdffz456";
+  };
+
+  installPhase = ''
+    sed -i "s/hard to say/${version}/" ./xmloscopy
+    type -P shellcheck && shellcheck ./xmloscopy
+    chmod +x ./xmloscopy
+    patchShebangs ./xmloscopy
+    mkdir -p $out/bin
+    cp ./xmloscopy $out/bin/
+    wrapProgram $out/bin/xmloscopy \
+      --set RNG "${docbook5}/xml/rng/docbook/docbook.rng" \
+      --set PATH "${spath}"
+  '';
+
+  meta = {
+    description = "wtf is my docbook broken?";
+    homepage = https://github.com/grahamc/xmloscopy;
+    license = stdenv.lib.licenses.mit;
+    platforms = stdenv.lib.platforms.all;
+  };
+}
diff --git a/pkgs/tools/text/xsv/default.nix b/pkgs/tools/text/xsv/default.nix
index 23f172f4ebe..960449cd022 100644
--- a/pkgs/tools/text/xsv/default.nix
+++ b/pkgs/tools/text/xsv/default.nix
@@ -1,24 +1,22 @@
 { stdenv, fetchFromGitHub, rustPlatform }:
 
-with rustPlatform;
-
-buildRustPackage rec {
+rustPlatform.buildRustPackage rec {
   name = "xsv-${version}";
-  version = "0.12.2";
+  version = "0.13.0";
 
   src = fetchFromGitHub {
     owner = "BurntSushi";
     repo = "xsv";
-    rev = "${version}";
-    sha256 = "0z1z3b6nzaid510jaikkawvpmv4kjphzz84p0hppq6vcp5jy00s2";
+    rev = version;
+    sha256 = "17v1nw36mrarrd5yv4xd3mpc1d7lvhd5786mqkzyyraf78pjg045";
   };
 
-  cargoSha256 = "0pdzh2xr40dgwravh3i58g602bpszj6c8inggzgmq2kfk8ck6rgj";
+  cargoSha256 = "1qk5wkjm3d4dz5fldlq7rjlm602v0l04hxrbar2j6vhcz9w2r4n6";
 
   meta = with stdenv.lib; {
     description = "A fast CSV toolkit written in Rust";
     homepage = https://github.com/BurntSushi/xsv;
-    license = with licenses; [ unlicense ];
+    license = with licenses; [ unlicense /* or */ mit ];
     maintainers = [ maintainers.jgertm ];
     platforms = platforms.all;
   };
diff --git a/pkgs/tools/typesetting/asciidoc/default.nix b/pkgs/tools/typesetting/asciidoc/default.nix
index 9df89a8072a..d5da10b5cd4 100644
--- a/pkgs/tools/typesetting/asciidoc/default.nix
+++ b/pkgs/tools/typesetting/asciidoc/default.nix
@@ -37,6 +37,9 @@
 # backends
 , enableDeckjsBackend ? false
 , enableOdfBackend ? false
+
+# java is problematic on some platforms, where it is unfree
+, enableJava ? true
 }:
 
 assert enableStandardFeatures ->
@@ -55,7 +58,7 @@ assert enableStandardFeatures ->
   docbook_xml_dtd_45 != null &&
   docbook5_xsl != null &&
   docbook_xsl != null &&
-  fop != null &&
+  (fop != null || !enableJava) &&
 # TODO: Package this:
 #  epubcheck != null &&
   gnused != null &&
@@ -63,7 +66,7 @@ assert enableStandardFeatures ->
 
 # filters
 assert enableExtraPlugins || enableDitaaFilter || enableMscgenFilter || enableDiagFilter || enableQrcodeFilter || enableAafigureFilter -> unzip != null;
-assert enableExtraPlugins || enableDitaaFilter -> jre != null;
+assert (enableExtraPlugins && enableJava) || enableDitaaFilter -> jre != null;
 assert enableExtraPlugins || enableMscgenFilter -> mscgen != null;
 assert enableExtraPlugins || enableDiagFilter -> blockdiag != null && seqdiag != null && actdiag != null && nwdiag != null;
 assert enableExtraPlugins || enableMatplotlibFilter -> matplotlib != null && numpy != null;
@@ -73,7 +76,7 @@ assert enableExtraPlugins || enableDeckjsBackend || enableOdfBackend -> unzip !=
 
 let
 
-  _enableDitaaFilter = enableExtraPlugins || enableDitaaFilter;
+  _enableDitaaFilter = (enableExtraPlugins && enableJava) || enableDitaaFilter;
   _enableMscgenFilter = enableExtraPlugins || enableMscgenFilter;
   _enableDiagFilter = enableExtraPlugins || enableDiagFilter;
   _enableQrcodeFilter = enableExtraPlugins || enableQrcodeFilter;
@@ -239,7 +242,7 @@ stdenv.mkDerivation rec {
         -e "s|^ASCIIDOC =.*|ASCIIDOC = '$out/bin/asciidoc'|" \
         -e "s|^XSLTPROC =.*|XSLTPROC = '${libxslt.bin}/bin/xsltproc'|" \
         -e "s|^DBLATEX =.*|DBLATEX = '${dblatexFull}/bin/dblatex'|" \
-        -e "s|^FOP =.*|FOP = '${fop}/bin/fop'|" \
+        ${optionalString enableJava ''-e "s|^FOP =.*|FOP = '${fop}/bin/fop'|"''} \
         -e "s|^W3M =.*|W3M = '${w3m}/bin/w3m'|" \
         -e "s|^LYNX =.*|LYNX = '${lynx}/bin/lynx'|" \
         -e "s|^XMLLINT =.*|XMLLINT = '${libxml2.bin}/bin/xmllint'|" \
diff --git a/pkgs/tools/typesetting/asciidoctor/Gemfile b/pkgs/tools/typesetting/asciidoctor/Gemfile
index 92abd4f5cf2..54509c601e3 100644
--- a/pkgs/tools/typesetting/asciidoctor/Gemfile
+++ b/pkgs/tools/typesetting/asciidoctor/Gemfile
@@ -4,4 +4,6 @@ gem 'asciidoctor-diagram'
 gem 'asciidoctor-bespoke'
 gem 'asciidoctor-pdf'
 gem 'asciidoctor-latex'
+gem 'asciidoctor-mathematical'
+gem 'coderay'
 gem 'pygments.rb'
diff --git a/pkgs/tools/typesetting/asciidoctor/Gemfile.lock b/pkgs/tools/typesetting/asciidoctor/Gemfile.lock
index 25800ed3a1c..6c52a2c416a 100644
--- a/pkgs/tools/typesetting/asciidoctor/Gemfile.lock
+++ b/pkgs/tools/typesetting/asciidoctor/Gemfile.lock
@@ -1,82 +1,93 @@
 GEM
   remote: https://rubygems.org/
   specs:
-    Ascii85 (1.0.2)
-    addressable (2.5.0)
-      public_suffix (~> 2.0, >= 2.0.2)
+    Ascii85 (1.0.3)
+    addressable (2.5.2)
+      public_suffix (>= 2.0.2, < 4.0)
     afm (0.2.2)
-    asciidoctor (1.5.6.1)
+    asciidoctor (1.5.6.2)
     asciidoctor-bespoke (1.0.0.alpha.1)
       asciidoctor (>= 1.5.0)
       slim (~> 3.0.6)
       thread_safe (~> 0.3.5)
-    asciidoctor-diagram (1.5.4)
+    asciidoctor-diagram (1.5.9)
       asciidoctor (~> 1.5.0)
     asciidoctor-latex (1.5.0.17.dev)
       asciidoctor (~> 1.5, >= 1.5.2)
       htmlentities (~> 4.3)
       opal (~> 0.6.3)
+    asciidoctor-mathematical (0.2.2)
+      asciidoctor (~> 1.5, >= 1.5.0)
+      mathematical (~> 1.5, >= 1.5.8)
+      ruby-enum (~> 0.4)
     asciidoctor-pdf (1.5.0.alpha.16)
       asciidoctor (>= 1.5.0)
-      prawn (>= 1.3.0, < 3.0.0)
-      prawn-icon (= 1.2.0)
-      prawn-svg (>= 0.21.0, < 0.26.0)
+      prawn (>= 1.3.0, < 2.3.0)
+      prawn-icon (= 1.3.0)
+      prawn-svg (>= 0.21.0, < 0.28.0)
       prawn-table (= 0.2.2)
-      prawn-templates (= 0.0.3)
+      prawn-templates (>= 0.0.3, <= 0.1.1)
       safe_yaml (~> 1.0.4)
-      thread_safe (~> 0.3.5)
+      thread_safe (~> 0.3.6)
       treetop (= 1.5.3)
-    concurrent-ruby (1.0.4)
-    css_parser (1.4.8)
+    coderay (1.1.2)
+    concurrent-ruby (1.0.5)
+    css_parser (1.6.0)
       addressable
     hashery (2.1.2)
     htmlentities (4.3.4)
-    json (2.0.3)
-    multi_json (1.12.1)
+    i18n (1.0.0)
+      concurrent-ruby (~> 1.0)
+    json (2.1.0)
+    mathematical (1.6.11)
+      ruby-enum (~> 0.4)
+    multi_json (1.13.1)
     opal (0.6.3)
       source_map
       sprockets
-    pdf-core (0.6.1)
-    pdf-reader (1.4.1)
+    pdf-core (0.7.0)
+    pdf-reader (2.1.0)
       Ascii85 (~> 1.0.0)
       afm (~> 0.2.1)
       hashery (~> 2.0)
       ruby-rc4
       ttfunk
     polyglot (0.3.5)
-    prawn (2.1.0)
-      pdf-core (~> 0.6.1)
-      ttfunk (~> 1.4.0)
-    prawn-icon (1.2.0)
+    prawn (2.2.2)
+      pdf-core (~> 0.7.0)
+      ttfunk (~> 1.5)
+    prawn-icon (1.3.0)
       prawn (>= 1.1.0, < 3.0.0)
-    prawn-svg (0.25.2)
+    prawn-svg (0.27.1)
       css_parser (~> 1.3)
       prawn (>= 0.11.1, < 3)
     prawn-table (0.2.2)
       prawn (>= 1.3.0, < 3.0.0)
-    prawn-templates (0.0.3)
-      pdf-reader (~> 1.3)
-      prawn (>= 0.15.0)
-    public_suffix (2.0.5)
-    pygments.rb (1.1.1)
+    prawn-templates (0.1.1)
+      pdf-reader (~> 2.0)
+      prawn (~> 2.2)
+    public_suffix (3.0.2)
+    pygments.rb (1.2.1)
       multi_json (>= 1.0.0)
-    rack (2.0.1)
+    rack (2.0.4)
+    ruby-enum (0.7.2)
+      i18n
     ruby-rc4 (0.1.5)
     safe_yaml (1.0.4)
-    slim (3.0.7)
-      temple (~> 0.7.6)
+    slim (3.0.9)
+      temple (>= 0.7.6, < 0.9)
       tilt (>= 1.3.3, < 2.1)
     source_map (3.0.1)
       json
     sprockets (3.7.1)
       concurrent-ruby (~> 1.0)
       rack (> 1, < 3)
-    temple (0.7.7)
-    thread_safe (0.3.5)
-    tilt (2.0.6)
+    temple (0.8.0)
+    thread_safe (0.3.6)
+    tilt (2.0.8)
     treetop (1.5.3)
       polyglot (~> 0.3)
-    ttfunk (1.4.0)
+    ttfunk (1.5.1)
 
 PLATFORMS
   ruby
@@ -86,8 +97,10 @@ DEPENDENCIES
   asciidoctor-bespoke
   asciidoctor-diagram
   asciidoctor-latex
+  asciidoctor-mathematical
   asciidoctor-pdf
+  coderay
   pygments.rb
 
 BUNDLED WITH
-   1.13.6
+   1.14.6
diff --git a/pkgs/tools/typesetting/asciidoctor/default.nix b/pkgs/tools/typesetting/asciidoctor/default.nix
index 02b57ee3a13..b1fe301775c 100644
--- a/pkgs/tools/typesetting/asciidoctor/default.nix
+++ b/pkgs/tools/typesetting/asciidoctor/default.nix
@@ -1,4 +1,8 @@
-{ stdenv, lib, bundlerApp, ruby, curl }:
+{ stdenv, lib, bundlerApp, ruby, curl
+  # Dependencies of the 'mathematical' package
+, cmake, bison, flex, glib, pkgconfig, cairo
+, pango, gdk_pixbuf, libxml2, python3, patchelf
+}:
 
 bundlerApp {
   inherit ruby;
@@ -13,6 +17,34 @@ bundlerApp {
     "asciidoctor-safe"
   ];
 
+  gemConfig = {
+    mathematical = attrs: {
+      buildInputs = [
+        cmake
+        bison
+        flex
+        glib
+        pkgconfig
+        cairo
+        pango
+        gdk_pixbuf
+        libxml2
+        python3
+      ];
+
+      # The ruby build script takes care of this
+      dontUseCmakeConfigure = true;
+
+      # For some reason 'mathematical.so' is missing cairo and glib in its RPATH, add them explicitly here
+      postFixup = lib.optionalString stdenv.isLinux ''
+        soPath="$out/lib/ruby/gems/2.4.0/gems/mathematical-${attrs.version}/lib/mathematical/mathematical.so"
+        ${patchelf}/bin/patchelf \
+          --set-rpath "${lib.makeLibraryPath [ glib cairo ]}:$(${patchelf}/bin/patchelf --print-rpath "$soPath")" \
+          "$soPath"
+      '';
+    };
+  };
+
   meta = with lib; {
     description = "A faster Asciidoc processor written in Ruby";
     homepage = http://asciidoctor.org/;
diff --git a/pkgs/tools/typesetting/asciidoctor/gemset.nix b/pkgs/tools/typesetting/asciidoctor/gemset.nix
index 43011b22b76..4ae146d289b 100644
--- a/pkgs/tools/typesetting/asciidoctor/gemset.nix
+++ b/pkgs/tools/typesetting/asciidoctor/gemset.nix
@@ -1,11 +1,12 @@
 {
   addressable = {
+    dependencies = ["public_suffix"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1j5r0anj8m4qlf2psnldip4b8ha2bsscv11lpdgnfh4nnchzjnxw";
+      sha256 = "0viqszpkggqi8hq87pqp0xykhvz60g99nwmkwsb0v45kc2liwxvk";
       type = "gem";
     };
-    version = "2.5.0";
+    version = "2.5.2";
   };
   afm = {
     source = {
@@ -18,20 +19,21 @@
   Ascii85 = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0j95sbxd18kc8rhcnvl1w37kflqpax1r12h1x47gh4xxn3mz4m7q";
+      sha256 = "0658m37jjjn6drzqg1gk4p6c205mgp7g1jh2d00n4ngghgmz5qvs";
       type = "gem";
     };
-    version = "1.0.2";
+    version = "1.0.3";
   };
   asciidoctor = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "c4371c419306d69152809eb896c291ca09969dc26ca34be36f4eab82914fceca";
+      sha256 = "0zq3az4836nxkc8g5wnnbzmarw7663s1ky6gf8pc04sfpa8n2l3f";
       type = "gem";
     };
-    version = "1.5.6.1";
+    version = "1.5.6.2";
   };
   asciidoctor-bespoke = {
+    dependencies = ["asciidoctor" "slim" "thread_safe"];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1awy933sswxvi2hxpll3rh9phxcvmqhrbb91m6ibjchnf7qsl3zk";
@@ -40,14 +42,16 @@
     version = "1.0.0.alpha.1";
   };
   asciidoctor-diagram = {
+    dependencies = ["asciidoctor"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "06kqlij2yc84zqxmb39bqi9pihapgac7gxyzrwm4kxfnmfdqmxrk";
+      sha256 = "0rj02i00d9hkzqzzrk5al9rn8yv5x0wsnrv9y6j4k8rfylm69c1r";
       type = "gem";
     };
-    version = "1.5.4";
+    version = "1.5.9";
   };
   asciidoctor-latex = {
+    dependencies = ["asciidoctor" "htmlentities" "opal"];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "02qvn1ngp4s9y22vk23zzssd4w1bpyk84akjwiq6nqn8im6s4awz";
@@ -55,29 +59,48 @@
     };
     version = "1.5.0.17.dev";
   };
+  asciidoctor-mathematical = {
+    dependencies = ["asciidoctor" "mathematical" "ruby-enum"];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "18igbvs70dnlrzgl62jcc0vfxhlb4r7v9bq3qf1v80l17lvq1x8f";
+      type = "gem";
+    };
+    version = "0.2.2";
+  };
   asciidoctor-pdf = {
+    dependencies = ["asciidoctor" "prawn" "prawn-icon" "prawn-svg" "prawn-table" "prawn-templates" "safe_yaml" "thread_safe" "treetop"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0f6b2a1533577dfba218de5dd886771447e4d1cb670b81d2c3bf3a180e6029a1";
+      sha256 = "1899c071hfmzqg9822v7rg8y8iqlfy3dhpfy32ignzap6cajlsqg";
       type = "gem";
     };
     version = "1.5.0.alpha.16";
   };
+  coderay = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "15vav4bhcc2x3jmi3izb11l4d9f3xv8hp2fszb7iqmpsccv1pz4y";
+      type = "gem";
+    };
+    version = "1.1.2";
+  };
   concurrent-ruby = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0p7ji1h1l407kci9w4b4yspzd58ssmlx7p91npx55kw08836dlpb";
+      sha256 = "183lszf5gx84kcpb779v6a2y0mx9sssy8dgppng1z9a505nj1qcf";
       type = "gem";
     };
-    version = "1.0.4";
+    version = "1.0.5";
   };
   css_parser = {
+    dependencies = ["addressable"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1aqv5ds1109s0g76ybvvaff41a71i03fjy0ix6272r8n0gdnjc3f";
+      sha256 = "0gwvf8mc8gnz4aizfijplv3594998h2j44ydakpzsdmkivs07v61";
       type = "gem";
     };
-    version = "1.4.8";
+    version = "1.6.0";
   };
   hashery = {
     source = {
@@ -95,23 +118,42 @@
     };
     version = "4.3.4";
   };
+  i18n = {
+    dependencies = ["concurrent-ruby"];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "191c2xzlvn42sb8dz6gjy0qaigri4chfvflg3d4k6n58flm0yp65";
+      type = "gem";
+    };
+    version = "1.0.0";
+  };
   json = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0cpw154il64w6q20rrnsbjx1cdfz1yrzz1lgdbpn59lcwc6mprql";
+      sha256 = "01v6jjpvh3gnq6sgllpfqahlgxzj50ailwhj9b3cd20hi2dx0vxp";
+      type = "gem";
+    };
+    version = "2.1.0";
+  };
+  mathematical = {
+    dependencies = ["ruby-enum"];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "06xkr613hmzbhmm6zv92zlcjyfp0a6i2b3q3hg24lmj4j5l85p21";
       type = "gem";
     };
-    version = "2.0.3";
+    version = "1.6.11";
   };
   multi_json = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1wpc23ls6v2xbk3l1qncsbz16npvmw8p0b38l8czdzri18mp51xk";
+      sha256 = "1rl0qy4inf1mp8mybfk56dfga0mvx97zwpmq5xmiwl5r770171nv";
       type = "gem";
     };
-    version = "1.12.1";
+    version = "1.13.1";
   };
   opal = {
+    dependencies = ["source_map" "sprockets"];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0dmdxhmg43ibd4bsldssslsz8870hzknwcxiv9l1838lh6hd390k";
@@ -122,18 +164,19 @@
   pdf-core = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1s0h0kkddkivgpf7k1jni9nzqxw09d9bgcsvyga407ixbiipkgfy";
+      sha256 = "19llwch2wfg51glb0kff0drfp3n6nb9vim4zlvzckxysksvxpby1";
       type = "gem";
     };
-    version = "0.6.1";
+    version = "0.7.0";
   };
   pdf-reader = {
+    dependencies = ["Ascii85" "afm" "hashery" "ruby-rc4" "ttfunk"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0ivmgm73jjk3hv7896mgld5ki8jhxdvksw766rqxp6i863y9v4jq";
+      sha256 = "1b3ig4wpcgdbqa7yw0ahwbmikkkywn2a22bfmrknl5ls7g066x45";
       type = "gem";
     };
-    version = "1.4.1";
+    version = "2.1.0";
   };
   polyglot = {
     source = {
@@ -144,30 +187,34 @@
     version = "0.3.5";
   };
   prawn = {
+    dependencies = ["pdf-core" "ttfunk"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "18f99v3r0jzym38s68hr0y8anrilv98shmsdf763ascd0gc5dj2n";
+      sha256 = "1qdjf1v6sfl44g3rqxlg8k4jrzkwaxgvh2l4xws97a8f3xv4na4m";
       type = "gem";
     };
-    version = "2.1.0";
+    version = "2.2.2";
   };
   prawn-icon = {
+    dependencies = ["prawn"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "101npavqvv5w44vgphlkqn3gdawxmsnd4j8bk6lzbxz7niqgaqny";
+      sha256 = "1pz8n7ajkfmflw05dib2l9qkzkfzwwbzx63qcvjr14k1dnbpx7qk";
       type = "gem";
     };
-    version = "1.2.0";
+    version = "1.3.0";
   };
   prawn-svg = {
+    dependencies = ["css_parser" "prawn"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "19zc7i6jxycs9m00frvv9g3x98sgzsyb1xf1xnn3h1ki574ibnip";
+      sha256 = "0fykcs10q2j6h04riav1kzrw77mga6gh1rxbh7q0ab6gkr0wamzx";
       type = "gem";
     };
-    version = "0.25.2";
+    version = "0.27.1";
   };
   prawn-table = {
+    dependencies = ["prawn"];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1nxd6qmxqwl850icp18wjh5k0s3amxcajdrkjyzpfgq0kvilcv9k";
@@ -176,36 +223,47 @@
     version = "0.2.2";
   };
   prawn-templates = {
+    dependencies = ["pdf-reader" "prawn"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0d14sq01c5zn0ywzazwcz6lkk235za36km53wqbf1bqabdb1ls10";
+      sha256 = "1gs894sj9zdlwx59h3rk4p0l3y8r18p22zhnfiyx9lngsa56gcrj";
       type = "gem";
     };
-    version = "0.0.3";
+    version = "0.1.1";
   };
   public_suffix = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "040jf98jpp6w140ghkhw2hvc1qx41zvywx5gj7r2ylr1148qnj7q";
+      sha256 = "1x5h1dh1i3gwc01jbg01rly2g6a1qwhynb1s8a30ic507z1nh09s";
       type = "gem";
     };
-    version = "2.0.5";
+    version = "3.0.2";
   };
   "pygments.rb" = {
+    dependencies = ["multi_json"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0g0ipgxqfw0vf2md3s8sqf8y7m5lxqza2gwnr05z3vrf1nc6v6hk";
+      sha256 = "0lbvnwvz770ambm4d6lxgc2097rydn5rcc5d6986bnkzyxfqqjnv";
       type = "gem";
     };
-    version = "1.1.1";
+    version = "1.2.1";
   };
   rack = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "053bqbrxr5gjw5k3rrmh6i35s83kgdycxv292lid072vpwrq1xv1";
+      sha256 = "1mfriw2r2913dv8qf3p87n7yal3qfsrs478x2qz106v8vhmxa017";
       type = "gem";
     };
-    version = "2.0.1";
+    version = "2.0.4";
+  };
+  ruby-enum = {
+    dependencies = ["i18n"];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0h62avini866kxpjzqxlqnajma3yvj0y25l6hn9h2mv5pp6fcrhx";
+      type = "gem";
+    };
+    version = "0.7.2";
   };
   ruby-rc4 = {
     source = {
@@ -224,14 +282,16 @@
     version = "1.0.4";
   };
   slim = {
+    dependencies = ["temple" "tilt"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "122hmc2kn3g151m8c41imadw29mghnsjwyzj8wav5zb1q69y4iqp";
+      sha256 = "0zwz083xsbnlrma1pfkzrqc1fqm90fidn915vlifvkzl5fs43pvl";
       type = "gem";
     };
-    version = "3.0.7";
+    version = "3.0.9";
   };
   source_map = {
+    dependencies = ["json"];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0fviv92glr51v2zqy4i5jzi3hzpvjrcwyrxddcfr84ki65zb7pkv";
@@ -240,6 +300,7 @@
     version = "3.0.1";
   };
   sprockets = {
+    dependencies = ["concurrent-ruby" "rack"];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0sv3zk5hwxyjvg7iy9sggjc7k3mfxxif7w8p260rharfyib939ar";
@@ -250,28 +311,29 @@
   temple = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0xlf1if32xj14mkfwh8nxy3zzjzd9lipni0v2bghknp2kfc1hcz6";
+      sha256 = "00nxf610nzi4n1i2lkby43nrnarvl89fcl6lg19406msr0k3ycmq";
       type = "gem";
     };
-    version = "0.7.7";
+    version = "0.8.0";
   };
   thread_safe = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1hq46wqsyylx5afkp6jmcihdpv4ynzzq9ygb6z2pb1cbz5js0gcr";
+      sha256 = "0nmhcgq6cgz44srylra07bmaw99f5271l0dpsvl5f75m44l0gmwy";
       type = "gem";
     };
-    version = "0.3.5";
+    version = "0.3.6";
   };
   tilt = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0qsyzq2k7blyp1rph56xczwfqi8gplns2whswyr67mdfzdi60vvm";
+      sha256 = "0020mrgdf11q23hm1ddd6fv691l51vi10af00f137ilcdb2ycfra";
       type = "gem";
     };
-    version = "2.0.6";
+    version = "2.0.8";
   };
   treetop = {
+    dependencies = ["polyglot"];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0wpl5z33796nz2ah44waflrd1girbra281d9i3m9nz4ylg1ljg5b";
@@ -282,9 +344,9 @@
   ttfunk = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1k725rji58i0qx5xwf7p9d07cmhmjixqkdvhg1wk3rpp1753cf1j";
+      sha256 = "1mgrnqla5n51v4ivn844albsajkck7k6lviphfqa8470r46c58cd";
       type = "gem";
     };
-    version = "1.4.0";
+    version = "1.5.1";
   };
 }
diff --git a/pkgs/tools/typesetting/docbook2x/default.nix b/pkgs/tools/typesetting/docbook2x/default.nix
index 37cd6a2e50b..e38e4a1f059 100644
--- a/pkgs/tools/typesetting/docbook2x/default.nix
+++ b/pkgs/tools/typesetting/docbook2x/default.nix
@@ -1,12 +1,12 @@
 { fetchurl, stdenv, texinfo, perl
-, XMLSAX, XMLParser, XMLNamespaceSupport
+, XMLSAX, XMLSAXBase, XMLParser, XMLNamespaceSupport
 , groff, libxml2, libxslt, gnused, libiconv, opensp
 , docbook_xml_dtd_43
 , makeWrapper }:
 
 stdenv.mkDerivation rec {
   name = "docbook2X-0.8.8";
-  
+
   src = fetchurl {
     url = "mirror://sourceforge/docbook2x/${name}.tar.gz";
     sha256 = "0ifwzk99rzjws0ixzimbvs83x6cxqk1xzmg84wa1p7bs6rypaxs0";
@@ -27,6 +27,8 @@ stdenv.mkDerivation rec {
       --replace '${"\$" + "{prefix}"}' "$out"
   '';
 
+  doCheck = false; # fails a lot of tests
+
   postInstall = ''
     perlPrograms="db2x_manxml db2x_texixml db2x_xsltproc
                   docbook2man docbook2texi";
@@ -34,12 +36,12 @@ stdenv.mkDerivation rec {
     do
       # XXX: We work around the fact that `wrapProgram' doesn't support
       # spaces below by inserting escaped backslashes.
-      wrapProgram $out/bin/$i --prefix PERL5LIB :			\
-        "${XMLSAX}/lib/perl5/site_perl:${XMLParser}/lib/perl5/site_perl" \
-	--prefix PERL5LIB :						\
-	"${XMLNamespaceSupport}/lib/perl5/site_perl"			\
-	--prefix XML_CATALOG_FILES "\ "					\
-	"$out/share/docbook2X/dtd/catalog.xml\ $out/share/docbook2X/xslt/catalog.xml\ ${docbook_xml_dtd_43}/xml/dtd/docbook/catalog.xml"
+      wrapProgram $out/bin/$i --prefix PERL5LIB : \
+        "${XMLSAX}/lib/perl5/site_perl:${XMLSAXBase}/lib/perl5/site_perl:${XMLParser}/lib/perl5/site_perl" \
+        --prefix PERL5LIB : \
+        "${XMLNamespaceSupport}/lib/perl5/site_perl" \
+        --prefix XML_CATALOG_FILES "\ " \
+        "$out/share/docbook2X/dtd/catalog.xml\ $out/share/docbook2X/xslt/catalog.xml\ ${docbook_xml_dtd_43}/xml/dtd/docbook/catalog.xml"
     done
 
     wrapProgram $out/bin/sgml2xml-isoent --prefix PATH : \
diff --git a/pkgs/tools/typesetting/mmark/default.nix b/pkgs/tools/typesetting/mmark/default.nix
new file mode 100644
index 00000000000..2b7a6f3ffb4
--- /dev/null
+++ b/pkgs/tools/typesetting/mmark/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, buildGoPackage, fetchFromGitHub }:
+
+buildGoPackage rec {
+  name = "mmark-${version}";
+  version = "1.3.6";
+  rev = "v${version}";
+
+  goPackagePath = "github.com/miekg/mmark";
+
+  src = fetchFromGitHub {
+    inherit rev;
+    owner = "miekg";
+    repo = "mmark";
+    sha256 = "0q2zrwa2vwk7a0zhmi000zpqrc01zssrj9c5n3573rg68fksg77m";
+  };
+
+  goDeps = ./deps.nix;
+
+  meta = {
+    description = "A powerful markdown processor in Go geared towards the IETF";
+    homepage = https://github.com/miekg/mmark;
+    license = with stdenv.lib.licenses; bsd2;
+    maintainers = with stdenv.lib.maintainers; [ yrashk ];
+    platforms = stdenv.lib.platforms.unix;
+  };
+}
diff --git a/pkgs/tools/typesetting/mmark/deps.nix b/pkgs/tools/typesetting/mmark/deps.nix
new file mode 100644
index 00000000000..47f964c6a47
--- /dev/null
+++ b/pkgs/tools/typesetting/mmark/deps.nix
@@ -0,0 +1,12 @@
+# This file was generated by https://github.com/kamilchm/go2nix v1.2.1
+[
+  {
+    goPackagePath = "github.com/BurntSushi/toml";
+    fetch = {
+      type = "git";
+      url = "https://github.com/BurntSushi/toml";
+      rev = "a368813c5e648fee92e5f6c30e3944ff9d5e8895";
+      sha256 = "1sjxs2lwc8jpln80s4rlzp7nprbcljhy5mz4rf9995gq93wqnym5";
+    };
+  }
+]
diff --git a/pkgs/tools/typesetting/pdf2djvu/default.nix b/pkgs/tools/typesetting/pdf2djvu/default.nix
index 9a7dac0a0ca..23ec4521729 100644
--- a/pkgs/tools/typesetting/pdf2djvu/default.nix
+++ b/pkgs/tools/typesetting/pdf2djvu/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, pkgconfig, djvulibre, poppler, fontconfig, libjpeg }:
 
 stdenv.mkDerivation rec {
-  version = "0.9.8";
+  version = "0.9.9";
   name = "pdf2djvu-${version}";
 
   src = fetchurl {
     url = "https://github.com/jwilk/pdf2djvu/releases/download/${version}/${name}.tar.xz";
-    sha256 = "0kc3n4lm9dd13w66ng7l637ha241q89xrv9da0wzsdg6v0gp6ifg";
+    sha256 = "0v1his9ph04dllzyxkirc8kd23l41qc41bwg9bfsbzkri16b7xik";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/tools/typesetting/pdf2htmlEX/default.nix b/pkgs/tools/typesetting/pdf2htmlEX/default.nix
index b6d29052dcc..e0f3681f43d 100644
--- a/pkgs/tools/typesetting/pdf2htmlEX/default.nix
+++ b/pkgs/tools/typesetting/pdf2htmlEX/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchFromGitHub, cmake, pkgconfig
-, poppler, xlibs, pcre, python, glib, fontforge, cairo, pango, openjdk8
+, poppler, xorg, pcre, python, glib, fontforge, cairo, pango, openjdk8
 
 }:
 
@@ -25,8 +25,8 @@ stdenv.mkDerivation rec {
   ];
 
   buildInputs = [
-    xlibs.libpthreadstubs
-    xlibs.libXdmcp
+    xorg.libpthreadstubs
+    xorg.libXdmcp
     pcre
     python
     glib
diff --git a/pkgs/tools/typesetting/pdfgrep/default.nix b/pkgs/tools/typesetting/pdfgrep/default.nix
index 0c288ca02cc..3509eb569b1 100644
--- a/pkgs/tools/typesetting/pdfgrep/default.nix
+++ b/pkgs/tools/typesetting/pdfgrep/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "pdfgrep-${version}";
-  version = "2.0.1";
+  version = "2.1.0";
 
   src = fetchurl {
     url = "https://pdfgrep.org/download/${name}.tar.gz";
-    sha256 = "07llkrkcfjwd3ybai9ad10ybhr0biffcplmy7lw4fb87nd2dfw03";
+    sha256 = "13al23c2wlpsha6c1z1h6gh5lxzphsnzpd7b78qj16rq2r46phf9";
   };
 
   postPatch = ''
diff --git a/pkgs/tools/typesetting/satysfi/default.nix b/pkgs/tools/typesetting/satysfi/default.nix
new file mode 100644
index 00000000000..aee85e08375
--- /dev/null
+++ b/pkgs/tools/typesetting/satysfi/default.nix
@@ -0,0 +1,45 @@
+{ stdenv, fetchzip, fetchFromGitHub, ocamlPackages }:
+let
+  lm = fetchzip {
+    url = "http://www.gust.org.pl/projects/e-foundry/latin-modern/download/lm2.004otf.zip";
+    sha256 = "1mc88fbhfd2wki2vr700pgv96smya6d1z783xs3mfy138yb6ga2p";
+    stripRoot = false;
+  };
+  lm-math = fetchzip {
+    url = "http://www.gust.org.pl/projects/e-foundry/lm-math/download/latinmodern-math-1959.zip";
+    sha256 = "15l3lxjciyjmbh0q6jjvzz16ibk4ij79in9fs47qhrfr2wrddpvs";
+  };
+in
+  stdenv.mkDerivation rec {
+    name = "satysfi-${version}";
+    version = "2018-03-07";
+    src = fetchFromGitHub {
+      owner = "gfngfn";
+      repo = "SATySFi";
+      rev = "a050ec0906d083682c630b0dea68887415b5f53d";
+      sha256 = "12bhl7s2kc02amr8rm71pihj203f2j15y5j0kz3swgsw0gqh81gv";
+      fetchSubmodules = true;
+    };
+
+    preConfigure = ''
+      substituteInPlace src/frontend/main.ml --replace \
+      '/usr/local/share/satysfi"; "/usr/share/satysfi' \
+      $out/share/satysfi
+    '';
+
+    buildInputs = with ocamlPackages; [ ocaml ocamlbuild findlib menhir
+      ppx_deriving uutf result core_kernel bitv batteries yojson camlimages ];
+    installPhase = ''
+      cp -r ${lm}/* lib-satysfi/dist/fonts/
+      cp -r ${lm-math}/otf/latinmodern-math.otf lib-satysfi/dist/fonts/
+      make install PREFIX=$out LIBDIR=$out/share/satysfi
+    '';
+
+    meta = with stdenv.lib; {
+      homepage = https://github.com/gfngfn/SATySFi;
+      description = "A statically-typed, functional typesetting system";
+      license = licenses.lgpl3;
+      maintainers = [ maintainers.mt-caret ];
+      platforms = platforms.all;
+    };
+  }
diff --git a/pkgs/tools/typesetting/tectonic/default.nix b/pkgs/tools/typesetting/tectonic/default.nix
index ad612fa18af..f3f0a60b480 100644
--- a/pkgs/tools/typesetting/tectonic/default.nix
+++ b/pkgs/tools/typesetting/tectonic/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchFromGitHub, rustPlatform, makeWrapper
-, fontconfig, harfbuzz-icu, openssl, pkgconfig }:
+, darwin, fontconfig, harfbuzz-icu, openssl, pkgconfig }:
 
 rustPlatform.buildRustPackage rec {
   name = "tectonic-${version}";
@@ -16,7 +16,8 @@ rustPlatform.buildRustPackage rec {
 
   nativeBuildInputs = [ pkgconfig ];
 
-  buildInputs = [ fontconfig harfbuzz-icu openssl ];
+  buildInputs = [ fontconfig harfbuzz-icu openssl ]
+    ++ stdenv.lib.optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [ ApplicationServices Cocoa Foundation ]);
 
   # tests fail due to read-only nix store
   doCheck = false;
diff --git a/pkgs/tools/typesetting/ted/default.nix b/pkgs/tools/typesetting/ted/default.nix
new file mode 100644
index 00000000000..b60cbcf22ad
--- /dev/null
+++ b/pkgs/tools/typesetting/ted/default.nix
@@ -0,0 +1,84 @@
+{ stdenv, fetchurl, pkgconfig, zlib, pcre, xorg, libjpeg, libtiff, libpng, gtk2, libpaper, makeWrapper, ghostscript }:
+
+stdenv.mkDerivation rec {
+  name = "${pname}-${version}";
+  pname = "ted";
+  version = "2.23";
+
+  src = fetchurl {
+    url = "http://ftp.nluug.nl/pub/editors/${pname}/${name}.src.tar.gz";
+    sha256 = "0v1ipynyjklb3chd1vq26a21sjjg66sir57gi2kkrbwnpk195a9z";
+  };
+
+  preConfigure = ''
+    mkdir pkgconfig-append
+    pushd pkgconfig-append
+
+    # ted looks for libtiff, not libtiff-4 in its pkg-config invokations
+    cp ${libtiff.dev}/lib/pkgconfig/libtiff-4.pc libtiff.pc
+
+    # ted needs a libpaper pkg-config file
+    cat > libpaper.pc << EOF
+    prefix=${libpaper}
+    libdir=${libpaper}/lib
+    includedir=${libpaper}/include
+    exec_prefix=\''${prefix}
+
+    Name: libpaper
+    Version: ${libpaper.version}
+    Description: ${libpaper.meta.description}
+    Libs: -L\''${libdir} -lpaper
+    Cflags: -I\''${includedir}
+    EOF
+
+    export PKG_CONFIG_PATH="$PWD:$PKG_CONFIG_PATH"
+
+    popd
+  '';
+
+  makeFlags = [ "CONFIGURE_OPTIONS=--with-GTK" "CONFIGURE_OPTIONS+=--prefix=$(out)" "compile.shared" ];
+
+  installPhase = ''
+    runHook preInstall
+
+    make tedPackage/makefile
+    pushd tedPackage
+    substituteInPlace makefile --replace /usr ""
+    make PKGDESTDIR=$out datadir
+    popd
+
+    pushd $out/share/Ted/examples
+    for f in rtf2*.sh
+    do
+        makeWrapper "$PWD/$f" "$out/bin/$f" --prefix PATH : $out/bin:${stdenv.lib.makeBinPath [ ghostscript ]}
+    done
+    popd
+
+    cp -v Ted/Ted $out/bin
+
+    runHook postInstall
+  '';
+
+  buildInputs = [ pkgconfig zlib pcre xorg.xlibsWrapper xorg.libXpm libjpeg libtiff libpng gtk2 libpaper makeWrapper ];
+
+  meta = with stdenv.lib; {
+    description = "Ted, an easy rich text processor";
+    longDescription = ''
+      Ted is a text processor running under X Windows on Unix/Linux systems.
+      Ted was developed as a standard easy light weight word processor, having
+      the role of Wordpad on MS-Windows. Since then, Ted has evolved to a real
+      word processor. It still has the same easy appearance and the same speed
+      as the original. The possibility to type a letter, a note or a report
+      with a simple light weight program on a Unix/Linux machine is clearly
+      missing. Ted was made to make it possible to edit rich text documents on
+      Unix/Linux in a wysiwyg way. RTF files from Ted are fully compatible with
+      MS-Word. Additionally, Ted also is an RTF to PostScript and an RTF to
+      Acrobat PDF converter.
+    '';
+    homepage    = https://nllgg.nl/Ted/;
+    license     = licenses.gpl2;
+    platforms   = platforms.all;
+    broken      = stdenv.isDarwin;
+    maintainers = with maintainers; [ obadz ];
+  };
+}
diff --git a/pkgs/tools/typesetting/tex/texlive/bin.nix b/pkgs/tools/typesetting/tex/texlive/bin.nix
index f022ccb829a..6555c999d7f 100644
--- a/pkgs/tools/typesetting/tex/texlive/bin.nix
+++ b/pkgs/tools/typesetting/tex/texlive/bin.nix
@@ -28,6 +28,14 @@ let
       sha256 = "1amjrxyasplv4alfwcxwnw4nrx7dz2ydmddkq16k6hg90i9njq81";
     };
 
+    patches = [
+      (fetchurl {
+        name = "texlive-poppler-0.59.patch";
+        url = https://git.archlinux.org/svntogit/packages.git/plain/trunk/texlive-poppler-0.59.patch?h=packages/texlive-bin&id=6308ec39bce2a4d735f6ff8a4e94473748d7b450;
+        sha256 = "1c4ikq4kxw48bi3i33bzpabrjvbk01fwjr2lz20gkc9kv8l0bg3n";
+      })
+    ];
+
     configureFlags = [
       "--with-banner-add=/NixOS.org"
       "--disable-missing" "--disable-native-texlive-build"
@@ -58,7 +66,7 @@ texliveYear = year;
 core = stdenv.mkDerivation rec {
   name = "texlive-bin-${version}";
 
-  inherit (common) src;
+  inherit (common) src patches;
 
   outputs = [ "out" "doc" ];
 
@@ -136,6 +144,9 @@ core = stdenv.mkDerivation rec {
     mv "$out"/share/{man,info} "$doc"/doc
   '' + cleanBrokenLinks;
 
+  # needed for poppler and xpdf
+  CXXFLAGS = stdenv.lib.optionalString stdenv.cc.isClang "-std=c++11";
+
   setupHook = ./setup-hook.sh; # TODO: maybe texmf-nix -> texmf (and all references)
   passthru = { inherit version buildInputs; };
 
@@ -168,7 +179,7 @@ core-big = stdenv.mkDerivation { #TODO: upmendex
         # http://tex.stackexchange.com/questions/97999/when-to-use-luajittex-in-favour-of-luatex
       ];
 
-  patches = [ ./luatex-gcc7.patch ];
+  patches = common.patches ++ [ ./luatex-gcc7.patch ];
 
   configureScript = ":";
 
@@ -193,6 +204,8 @@ core-big = stdenv.mkDerivation { #TODO: upmendex
   CXXFLAGS = "-std=c++11 -Wno-reserved-user-defined-literal"; # TODO: remove once texlive 2018 is out?
   enableParallelBuilding = true;
 
+  doCheck = false; # fails
+
   # now distribute stuff into outputs, roughly as upstream TL
   # (uninteresting stuff remains in $out, typically duplicates from `core`)
   outputs = [ "out" "metafont" "metapost" "luatex" "xetex" ];
diff --git a/pkgs/tools/typesetting/tex/texlive/default.nix b/pkgs/tools/typesetting/tex/texlive/default.nix
index dc8f0908ea8..d0c9da9b913 100644
--- a/pkgs/tools/typesetting/tex/texlive/default.nix
+++ b/pkgs/tools/typesetting/tex/texlive/default.nix
@@ -57,15 +57,9 @@ let
 
       # remove dependency-heavy packages from the basic collections
       collection-basic = orig.collection-basic // {
-        deps = removeAttrs orig.collection-basic.deps [ "luatex" "metafont" "xdvi" ];
-      };
-      latex = orig.latex // {
-        deps = removeAttrs orig.latex.deps [ "luatex" ];
+        deps = removeAttrs orig.collection-basic.deps [ "metafont" "xdvi" ];
       };
       # add them elsewhere so that collections cover all packages
-      collection-luatex = orig.collection-luatex // {
-        deps = orig.collection-luatex.deps // { inherit (tl) luatex; };
-      };
       collection-metapost = orig.collection-metapost // {
         deps = orig.collection-metapost.deps // { inherit (tl) metafont; };
       };
diff --git a/pkgs/tools/typesetting/xml2rfc/default.nix b/pkgs/tools/typesetting/xml2rfc/default.nix
new file mode 100644
index 00000000000..d1f01ccd867
--- /dev/null
+++ b/pkgs/tools/typesetting/xml2rfc/default.nix
@@ -0,0 +1,24 @@
+{ python, stdenv }:
+
+with python.pkgs;
+
+buildPythonPackage rec {
+  pname = "xml2rfc";
+  version = "2.9.6";
+
+  buildInputs = [ intervaltree lxml requests pyflakes ];
+  propagatedBuildInputs = [ intervaltree lxml requests six ];
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1wr161lx6f1b3fq14ddr3y4jl0myrcmqs1s3fzsighvlmqfdihj7";
+  };
+
+  meta = with stdenv.lib; {
+    homepage = "https://xml2rfc.tools.ietf.org/";
+    license = licenses.bsdOriginal;
+    description = "Xml2rfc generates RFCs and IETF drafts from document source in XML according to the dtd in RFC2629.";
+    maintainers = [ maintainers.yrashk ];
+  };
+
+}
diff --git a/pkgs/tools/video/dvgrab/default.nix b/pkgs/tools/video/dvgrab/default.nix
index cec4fc1ce8b..752a6f31432 100644
--- a/pkgs/tools/video/dvgrab/default.nix
+++ b/pkgs/tools/video/dvgrab/default.nix
@@ -34,6 +34,6 @@ stdenv.mkDerivation rec {
     homepage = http://kinodv.org/;
 
     license = licenses.gpl2Plus;
-    platforms = platforms.gnu;
+    platforms = platforms.gnu ++ platforms.linux;
   };
 }
diff --git a/pkgs/tools/virtualization/awsebcli/default.nix b/pkgs/tools/virtualization/awsebcli/default.nix
index 3b3bda0f22d..b55ac457305 100644
--- a/pkgs/tools/virtualization/awsebcli/default.nix
+++ b/pkgs/tools/virtualization/awsebcli/default.nix
@@ -19,6 +19,14 @@ let
         };
       });
 
+      pathspec = super.pathspec.overridePythonAttrs (oldAttrs: rec {
+        version = "0.5.5";
+        src = oldAttrs.src.override {
+          inherit version;
+          sha256 = "72c495d1bbe76674219e307f6d1c6062f2e1b0b483a5e4886435127d0df3d0d3";
+        };
+      });
+
       requests = super.requests.overridePythonAttrs (oldAttrs: rec {
         version = "2.9.1";
         src = oldAttrs.src.override {
@@ -46,11 +54,11 @@ let
   };
 in with localPython.pkgs; buildPythonApplication rec {
   pname = "awsebcli";
-  version = "3.12.3";
+  version = "3.12.4";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0jj6xhvsrgvc5pm05zbd95zvx36ssywq70j6q1kzcdv1flfzzyp9";
+    sha256 = "128dgxyz2bgl3r4jdkbmjs280004bm0dwzln7p6ly3yjs2x37jl6";
   };
 
   checkInputs = [
diff --git a/pkgs/tools/virtualization/distrobuilder/default.nix b/pkgs/tools/virtualization/distrobuilder/default.nix
new file mode 100644
index 00000000000..55a8352fe77
--- /dev/null
+++ b/pkgs/tools/virtualization/distrobuilder/default.nix
@@ -0,0 +1,36 @@
+{ stdenv, lib, pkgconfig, buildGoPackage, fetchFromGitHub
+, makeWrapper, coreutils, gnupg, gnutar, squashfsTools}:
+
+buildGoPackage rec {
+  name = "distrobuilder-${version}";
+  version = "2018_04_28";
+  rev = "406fd5fe7dec4a969ec08bdf799c8ae483d37489";
+
+  goPackagePath = "github.com/lxc/distrobuilder";
+
+  src = fetchFromGitHub {
+    inherit rev;
+    owner = "lxc";
+    repo = "distrobuilder";
+    sha256 = "11bd600g36pf89vza9jl7fp7cjy5h67nfvhxlnwghb3z40pq9lnc";
+  };
+
+  goDeps = ./deps.nix;
+
+  postInstall = ''
+    wrapProgram $bin/bin/distrobuilder --prefix PATH ":" ${stdenv.lib.makeBinPath [
+      coreutils gnupg gnutar squashfsTools
+    ]}
+  '';
+
+  nativeBuildInputs = [ pkgconfig makeWrapper ];
+
+  meta = with stdenv.lib; {
+    description = "System container image builder for LXC and LXD";
+    homepage = "https://github.com/lxc/distrobuilder";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ megheaiulian ];
+    platforms = platforms.linux;
+  };
+}
+
diff --git a/pkgs/tools/virtualization/distrobuilder/deps.nix b/pkgs/tools/virtualization/distrobuilder/deps.nix
new file mode 100644
index 00000000000..56ff3c0cc12
--- /dev/null
+++ b/pkgs/tools/virtualization/distrobuilder/deps.nix
@@ -0,0 +1,67 @@
+# This file was generated by https://github.com/kamilchm/go2nix v1.2.1
+[
+  {
+    goPackagePath = "github.com/gorilla/websocket";
+    fetch = {
+      type = "git";
+      url = "https://github.com/gorilla/websocket";
+      rev = "21ab95fa12b9bdd8fecf5fa3586aad941cc98785";
+      sha256 = "1ygg6cr84461d6k3nzbja0dxhcgf5zvry2w10f6i7291ghrcwhyy";
+    };
+  }
+  {
+    goPackagePath = "github.com/lxc/lxd";
+    fetch = {
+      type = "git";
+      url = "https://github.com/lxc/lxd";
+      rev = "a81aac803bc22dcb14982b80dce005444e2b22f1";
+      sha256 = "1pjwgh6551mjzkdzmvxx065sxxn8ixb3vdq2i6g1pyb56h5hnayi";
+    };
+  }
+  {
+    goPackagePath = "github.com/pkg/errors";
+    fetch = {
+      type = "git";
+      url = "https://github.com/pkg/errors";
+      rev = "816c9085562cd7ee03e7f8188a1cfd942858cded";
+      sha256 = "1ws5crb7c70wdicavl6qr4g03nn6m92zd6wwp9n2ygz5c8rmxh8k";
+    };
+  }
+  {
+    goPackagePath = "github.com/spf13/cobra";
+    fetch = {
+      type = "git";
+      url = "https://github.com/spf13/cobra";
+      rev = "ef82de70bb3f60c65fb8eebacbb2d122ef517385";
+      sha256 = "1q1nsx05svyv9fv3fy6xv6gs9ffimkyzsfm49flvl3wnvf1ncrkd";
+    };
+  }
+  {
+    goPackagePath = "github.com/spf13/pflag";
+    fetch = {
+      type = "git";
+      url = "https://github.com/spf13/pflag";
+      rev = "583c0c0531f06d5278b7d917446061adc344b5cd";
+      sha256 = "0nr4mdpfhhk94hq4ymn5b2sxc47b29p1akxd8b0hx4dvdybmipb5";
+    };
+  }
+  {
+    goPackagePath = "gopkg.in/flosch/pongo2.v3";
+    fetch = {
+      type = "git";
+      url = "https://gopkg.in/flosch/pongo2.v3";
+      rev = "5e81b817a0c48c1c57cdf1a9056cf76bdee02ca9";
+      sha256 = "0fd7d79644zmcirsb1gvhmh0l5vb5nyxmkzkvqpmzzcg6yfczph8";
+    };
+  }
+  {
+    goPackagePath = "gopkg.in/yaml.v2";
+    fetch = {
+      type = "git";
+      url = "https://gopkg.in/yaml.v2";
+      rev = "5420a8b6744d3b0345ab293f6fcba19c978f1183";
+      sha256 = "0dwjrs2lp2gdlscs7bsrmyc5yf6mm4fvgw71bzr9mv2qrd2q73s1";
+    };
+  }
+]
+
diff --git a/pkgs/tools/virtualization/google-compute-engine/default.nix b/pkgs/tools/virtualization/google-compute-engine/default.nix
index a923d73c03e..3645de88bf8 100644
--- a/pkgs/tools/virtualization/google-compute-engine/default.nix
+++ b/pkgs/tools/virtualization/google-compute-engine/default.nix
@@ -11,14 +11,14 @@
 
 buildPythonApplication rec {
   name = "google-compute-engine-${version}";
-  version = "20170914";
+  version = "20180129";
   namePrefix = "";
 
   src = fetchFromGitHub {
     owner = "GoogleCloudPlatform";
     repo = "compute-image-packages";
     rev = version;
-    sha256 = "0hlzcrf6yhzan25f4wzy1vbncak9whhqzrzza026ly3sq0smmjpg";
+    sha256 = "0380fnr64109hv8l1f3sgdg8a5mf020axj7jh8y25xq6wzkjm20c";
   };
 
   postPatch = ''
@@ -52,5 +52,6 @@ buildPythonApplication rec {
     homepage = "https://github.com/GoogleCloudPlatform/compute-image-packages";
     license = licenses.asl20;
     maintainers = with maintainers; [ zimbatm ];
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/tools/virtualization/nixos-container/nixos-container.pl b/pkgs/tools/virtualization/nixos-container/nixos-container.pl
index fefdcd614a5..a210a65f431 100755
--- a/pkgs/tools/virtualization/nixos-container/nixos-container.pl
+++ b/pkgs/tools/virtualization/nixos-container/nixos-container.pl
@@ -7,6 +7,7 @@ use File::Slurp;
 use Fcntl ':flock';
 use Getopt::Long qw(:config gnu_getopt);
 use Cwd 'abs_path';
+use Time::HiRes;
 
 my $nsenter = "@utillinux@/bin/nsenter";
 my $su = "@su@";
@@ -214,14 +215,36 @@ if (!-e $confFile) {
     die "$0: container ‘$containerName’ does not exist\n" ;
 }
 
+# Return the PID of the init process of the container.
+sub getLeader {
+    my $s = `machinectl show "$containerName" -p Leader`;
+    chomp $s;
+    $s =~ /^Leader=(\d+)$/ or die "unable to get container's main PID\n";
+    return int($1);
+}
+
 sub isContainerRunning {
     my $status = `systemctl show 'container\@$containerName'`;
     return $status =~ /ActiveState=active/;
 }
 
 sub terminateContainer {
+    my $leader = getLeader;
     system("machinectl", "terminate", $containerName) == 0
         or die "$0: failed to terminate container\n";
+    # Wait for the leader process to exit
+    # TODO: As for any use of PIDs for process control where the process is
+    #       not a direct child of ours, this can go wrong when the pid gets
+    #       recycled after a PID overflow.
+    #       Relying entirely on some form of UUID provided by machinectl
+    #       instead of PIDs would remove this risk.
+    #       See https://github.com/NixOS/nixpkgs/pull/32992#discussion_r158586048
+    while ( kill 0, $leader ) { Time::HiRes::sleep(0.1) }
+}
+
+sub startContainer {
+    system("systemctl", "start", "container\@$containerName") == 0
+        or die "$0: failed to start container\n";
 }
 
 sub stopContainer {
@@ -229,12 +252,9 @@ sub stopContainer {
         or die "$0: failed to stop container\n";
 }
 
-# Return the PID of the init process of the container.
-sub getLeader {
-    my $s = `machinectl show "$containerName" -p Leader`;
-    chomp $s;
-    $s =~ /^Leader=(\d+)$/ or die "unable to get container's main PID\n";
-    return int($1);
+sub restartContainer {
+    stopContainer;
+    startContainer;
 }
 
 # Run a command in the container.
@@ -275,9 +295,12 @@ if ($action eq "destroy") {
     unlink($confFile) or die;
 }
 
+elsif ($action eq "restart") {
+    restartContainer;
+}
+
 elsif ($action eq "start") {
-    system("systemctl", "start", "container\@$containerName") == 0
-        or die "$0: failed to start container\n";
+    startContainer;
 }
 
 elsif ($action eq "stop") {
diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix
index f00544c907b..fdc6b58346b 100644
--- a/pkgs/top-level/aliases.nix
+++ b/pkgs/top-level/aliases.nix
@@ -17,26 +17,33 @@ let
       dontDistribute alias
     else alias;
 
+  # Make sure that we are not shadowing something from
+  # all-packages.nix.
+  checkInPkgs = n: alias: if builtins.hasAttr n self
+                          then throw "Alias ${n} is still in all-packages.nix"
+                          else alias;
+
   mapAliases = aliases:
-    lib.mapAttrs (n: alias: removeDistribute (removeRecurseForDerivations alias)) aliases;
+    lib.mapAttrs (n: alias: removeDistribute
+                             (removeRecurseForDerivations
+                              (checkInPkgs n alias)))
+                     aliases;
 in
 
   ### Deprecated aliases - for backward compatibility
 
 mapAliases (rec {
-  _2048-in-terminal = "2048-in-terminal"; # added 2017-01-16
-  _2bwm = "2bwm"; # added 2017-01-16
-  _389-ds-base = "389-ds-base"; # added 2017-01-16
-  _90secondportraits = "90secondsportraits"; # added 2017-01-16
+  PPSSPP = ppsspp; # added 2017-10-01
+  QmidiNet = qmidinet;  # added 2016-05-22
   accounts-qt = libsForQt5.accounts-qt; # added 2015-12-19
   adobeReader = adobe-reader; # added 2013-11-04
+  ag = silver-searcher; # added 2018-04-25
   aircrackng = aircrack-ng; # added 2016-01-14
   ammonite-repl = ammonite; # added 2017-05-02
   arduino_core = arduino-core;  # added 2015-02-04
   asciidocFull = asciidoc-full;  # added 2014-06-22
   at_spi2_atk = at-spi2-atk; # added 2018-02-25
   at_spi2_core = at-spi2-core; # added 2018-02-25
-  bar = lemonbar;  # added 2015-01-16
   bar-xft = lemonbar-xft;  # added 2015-01-16
   bashCompletion = bash-completion; # Added 2016-09-28
   bridge_utils = bridge-utils;  # added 2015-02-20
@@ -53,131 +60,174 @@ mapAliases (rec {
   cupsBjnp = cups-bjnp; # added 2016-01-02
   cups_filters = cups-filters; # added 2016-08
   cv = progress; # added 2015-09-06
+  d1x_rebirth = dxx-rebirth; # added 2018-04-25
+  d2x_rebirth = dxx-rebirth; # added 2018-04-25
+  dbus_daemon = dbus.daemon; # added 2018-04-25
   dbus_glib = dbus-glib; # added 2018-02-25
+  dbus_libs = dbus; # added 2018-04-25
+  dbus_tools = dbus.out; # added 2018-04-25
   deadbeef-mpris2-plugin = deadbeefPlugins.mpris2; # added 2018-02-23
+  deadpixi-sam = deadpixi-sam-unstable;
   debian_devscripts = debian-devscripts; # added 2016-03-23
   desktop_file_utils = desktop-file-utils; # added 2018-02-25
+  devicemapper = lvm2; # added 2018-04-25
   digikam5 = digikam; # added 2017-02-18
+  dmtx = dmtx-utils; # added 2018-04-25
+  docbook5_xsl = docbook_xsl_ns; # added 2018-04-25
+  docbook_xml_xslt = docbook_xsl; # added 2018-04-25
   double_conversion = double-conversion; # 2017-11-22
   dwarf_fortress = dwarf-fortress; # added 2016-01-23
-  dwbWrapper = dwb; # added 2015-01
+  emacs25Macport_25_1 = emacs25Macport; # added 2018-04-25
   enblendenfuse = enblend-enfuse; # 2015-09-30
   evolution_data_server = evolution-data-server; # added 2018-02-25
+  etcdctl = etcd; # added 2018-04-25
   exfat-utils = exfat;                  # 2015-09-11
+  fam = gamin; # added 2018-04-25
+  ffadoFull = ffado; # added 2018-05-01
   firefox-esr-wrapper = firefox-esr;  # 2016-01
   firefox-wrapper = firefox;          # 2016-01
   firefoxWrapper = firefox;           # 2015-09
+  flameGraph = flamegraph; # added 2018-04-25
   font-awesome-ttf = font-awesome_4; # 2018-02-25
   foomatic_filters = foomatic-filters;  # 2016-08
   fuse_exfat = exfat;                   # 2015-09-11
-  gettextWithExpat = gettext; # 2016-02-19
+  fuseki = apache-jena-fuseki; # added 2018-04-25
+  gccApple = throw "gccApple is no longer supported"; # added 2018-04-25
   gdb-multitarget = gdb; # added 2017-11-13
+  gettextWithExpat = gettext; # 2016-02-19
+  gflags = google-gflags; # added 2018-04-25
   git-hub = gitAndTools.git-hub; # added 2016-04-29
   glib_networking = glib-networking; # added 2018-02-25
-  go-pup = pup; # added 2017-12-19
-  googleAuthenticator = google-authenticator; # added 2016-10-16
+  gmock = gtest; # added 2018-04-25
+  gnome-themes-standard = gnome-themes-extra; # added 2018-03-14
   gnome_doc_utils = gnome-doc-utils; # added 2018-02-25
   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
+  googleAuthenticator = google-authenticator; # added 2016-10-16
   grantlee5 = libsForQt5.grantlee;  # added 2015-12-19
   gsettings_desktop_schemas = gsettings-desktop-schemas; # added 2018-02-25
   gst_ffmpeg = gst-ffmpeg;  # added 2017-02
+  gst_plugins_bad = gst-plugins-bad;  # added 2017-02
   gst_plugins_base = gst-plugins-base;  # added 2017-02
   gst_plugins_good = gst-plugins-good;  # added 2017-02
-  gst_plugins_bad = gst-plugins-bad;  # added 2017-02
   gst_plugins_ugly = gst-plugins-ugly;  # added 2017-02
   gst_python = gst-python;  # added 2017-02
   gtk_doc = gtk-doc; # added 2018-02-25
   guileCairo = guile-cairo; # added 2017-09-24
   guileGnome = guile-gnome; # added 2017-09-24
-  guile_lib = guile-lib; # added 2017-09-24
   guileLint = guile-lint; # added 2017-09-27
+  guile_lib = guile-lib; # added 2017-09-24
   guile_ncurses = guile-ncurses; # added 2017-09-24
   gupnp_av = gupnp-av; # added 2018-02-25
   gupnp_dlna = gupnp-dlna; # added 2018-02-25
   gupnp_igd = gupnp-igd; # added 2018-02-25
   gupnptools = gupnp-tools;  # added 2015-12-19
-  gnustep-make = gnustep.make; # added 2016-7-6
+  heimdalFull = heimdal; # added 2018-05-01
   hicolor_icon_theme = hicolor-icon-theme; # added 2018-02-25
   htmlTidy = html-tidy;  # added 2014-12-06
   iana_etc = iana-etc;  # added 2017-03-08
   idea = jetbrains; # added 2017-04-03
   inotifyTools = inotify-tools;
+  jack2Full = jack2; # added 2018-04-25
   joseki = apache-jena-fuseki; # added 2016-02-28
   json_glib = json-glib; # added 2018-02-25
-  jquery_ui = jquery-ui;  # added 2014-09-07
   kdiff3-qt5 = kdiff3; # added 2017-02-18
-  keepassx2-http = keepassx-reboot; # added 2016-10-17
-  keepassx-reboot = keepassx-community; # added 2017-02-01
+  keepass-keefox = keepass-keepassrpc; # backwards compatibility alias, added 2018-02
   keepassx-community = keepassxc; # added 2017-11
+  keepassx-reboot = keepassx-community; # added 2017-02-01
+  keepassx2-http = keepassx-reboot; # added 2016-10-17
+  kerberos = libkrb5; # added 2018-04-25
   keybase-go = keybase;  # added 2016-08-24
   krename-qt5 = krename; # added 2017-02-18
+  kvm = qemu_kvm; # added 2018-04-25
   letsencrypt = certbot; # added 2016-05-16
-  libdbusmenu_qt5 = libsForQt5.libdbusmenu;  # added 2015-12-19
+  libaudit = audit; # added 2018-04-25
   libcanberra_gtk2 = libcanberra-gtk2; # added 2018-02-25
   libcanberra_gtk3 = libcanberra-gtk3; # added 2018-02-25
   libcap_manpages = libcap.doc; # added 2016-04-29
   libcap_pam = if stdenv.isLinux then libcap.pam else null; # added 2016-04-29
   libcap_progs = libcap.out; # added 2016-04-29
+  libdbusmenu_qt5 = libsForQt5.libdbusmenu;  # added 2015-12-19
+  libdbusmenu-glib = libdbusmenu; # added 2018-05-01
   libgnome_keyring = libgnome-keyring; # added 2018-02-25
   libgnome_keyring3 = libgnome-keyring3; # added 2018-02-25
   libgumbo = gumbo; # added 2018-01-21
+  libintlOrEmpty = stdenv.lib.optional (!stdenv.isLinux || hostPlatform.libc != "glibc") gettext; # added 2018-03-14
   libjson_rpc_cpp = libjson-rpc-cpp; # added 2017-02-28
+  liblrdf = librdf; # added 2018-04-25
   libmysql = mysql.connector-c; # added # 2017-12-28, this was a misnomer refering to libmysqlclient
+  librecad2 = librecad;  # backwards compatibility alias, added 2015-10
+  libsysfs = sysfsutils; # added 2018-04-25
   libtidy = html-tidy;  # added 2014-12-21
+  libudev = udev; # added 2018-04-25
   links = links2; # added 2016-01-31
   lttngTools = lttng-tools;  # added 2014-07-31
   lttngUst = lttng-ust;  # added 2014-07-31
-  lua5_sec = luaPackages.luasec; # added 2017-05-02
   lua5_1_sockets = lua51Packages.luasocket; # added 2017-05-02
   lua5_expat = luaPackages.luaexpat; # added 2017-05-02
+  lua5_sec = luaPackages.luasec; # added 2017-05-02
+  lzma = xz; # added 2018-04-25
   m3d-linux = m33-linux; # added 2016-08-13
-  manpages = man-pages; # added 2015-12-06
   man_db = man-db; # added 2016-05
-  piwik = matomo; # added 2018-01-16
+  manpages = man-pages; # added 2015-12-06
   midoriWrapper = midori; # added 2015-01
-  minc_tools = minc-tools; # 2017-12
   mlt-qt5 = libsForQt5.mlt;  # added 2015-12-19
   mobile_broadband_provider_info = mobile-broadband-provider-info; # added 2018-02-25
   module_init_tools = kmod; # added 2016-04-22
+  msf = metasploit; # added 2018-04-25
   mssys = ms-sys; # added 2015-12-13
   multipath_tools = multipath-tools;  # added 2016-01-21
   mupen64plus1_5 = mupen64plus; # added 2016-02-12
+  mysql = mariadb; # added 2018-04-25
   mysqlWorkbench = mysql-workbench; # added 2017-01-19
+  nagiosPluginsOfficial = monitoring-plugins;
   ncat = nmap;  # added 2016-01-26
+  netcat-openbsd = libressl.nc; # added 2018-04-25
   networkmanager_fortisslvpn = networkmanager-fortisslvpn; # added 2018-02-25
   networkmanager_iodine = networkmanager-iodine; # added 2018-02-25
   networkmanager_l2tp = networkmanager-l2tp; # added 2018-02-25
   networkmanager_openconnect = networkmanager-openconnect; # added 2018-02-25
   networkmanager_openvpn = networkmanager-openvpn; # added 2018-02-25
-  networkmanager_pptp = networkmanager-pptp; # added 2018-02-25
   networkmanager_vpnc = networkmanager-vpnc; # added 2018-02-25
-  nmap_graphical = nmap-graphical;  # added 2017-01-19
   nfsUtils = nfs-utils;  # added 2014-12-06
+  nginxUnstable = nginxMainline; # added 2018-04-25
+  nilfs_utils = nilfs-utils; # added 2018-04-25
+  nmap_graphical = nmap-graphical;  # added 2017-01-19
+  nologin = shadow; # added 2018-04-25
+  openal = openalSoft; # added 2018-04-25
+  opencascade_oce = opencascade; # added 2018-04-25
   opencl-icd = ocl-icd; # added 2017-01-20
+  openexr_ctl = ctl; # added 2018-04-25
   openssh_with_kerberos = openssh; # added 2018-01-28
   owncloudclient = owncloud-client;  # added 2016-08
   p11_kit = p11-kit; # added 2018-02-25
+  pass-otp = pass.withExtensions (ext: [ext.pass-otp]); # added 2018-05-04
   pgp-tools = signing-party; # added 2017-03-26
   pidgin-with-plugins = pidgin; # added 2016-06
-  pidginlatexSF = pidgin-latex; # added 2014-11-02
   pidginlatex = pidgin-latex; # added 2018-01-08
+  pidginlatexSF = pidgin-latex; # added 2014-11-02
   pidginmsnpecan = pidgin-msn-pecan; # added 2018-01-08
-  pidginotr = pidgin-otr; # added 2018-01-08
   pidginosd = pidgin-osd; # added 2018-01-08
+  pidginotr = pidgin-otr; # added 2018-01-08
   pidginsipe = pidgin-sipe; # added 2018-01-08
   pidginwindowmerge = pidgin-window-merge; # added 2018-01-08
-  postage = pgmanage; # added 2017-11-03
+  piwik = matomo; # added 2018-01-16
+  pltScheme = racket; # just to be sure
+  polarssl = mbedtls; # added 2018-04-25
   poppler_qt5 = libsForQt5.poppler;  # added 2015-12-19
-  PPSSPP = ppsspp; # added 2017-10-01
+  postage = pgmanage; # added 2017-11-03
+  procps = procps-ng; # added 2018-04-25
   prometheus-statsd-bridge = prometheus-statsd-exporter;  # added 2017-08-27
+  pulseaudioLight = pulseaudio; # added 2018-04-25
   qca-qt5 = libsForQt5.qca-qt5;  # added 2015-12-19
-  QmidiNet = qmidinet;  # added 2016-05-22
   qt_gstreamer = qt-gstreamer;  # added 2017-02
   qt_gstreamer1 = qt-gstreamer1;  # added 2017-02
   quake3game = ioquake3; # added 2016-01-14
   qwt6 = libsForQt5.qwt;  # added 2015-12-19
   rdiff_backup = rdiff-backup;  # added 2014-11-23
   rdmd = dtools;  # added 2017-08-19
+  redland = librdf_redland; # added 2018-04-25
   robomongo = robo3t; #added 2017-09-28
   rssglx = rss-glx; #added 2015-03-25
   ruby_2_0_0 = throw "deprecated 2018-0213: use a newer version of ruby";
@@ -188,23 +238,33 @@ mapAliases (rec {
   ruby_2_5_0 = throw "deprecated 2018-0213: use ruby_2_5 instead";
   rubygems = throw "deprecated 2016-03-02: rubygems is now bundled with ruby";
   rxvt_unicode_with-plugins = rxvt_unicode-with-plugins; # added 2015-04-02
+  sam = deadpixi-sam; # added 2018-04-25
   samsungUnifiedLinuxDriver = samsung-unified-linux-driver; # added 2016-01-25
   saneBackends = sane-backends; # added 2016-01-02
   saneBackendsGit = sane-backends-git; # added 2016-01-02
   saneFrontends = sane-frontends; # added 2016-01-02
   scim = sc-im; # added 2016-01-22
+  scollector = bosun; # added 2018-04-25
   shared_mime_info = shared-mime-info; # added 2018-02-25
   skrooge2 = skrooge; # added 2017-02-18
   skype = skypeforlinux; # added 2017-07-27
+  slurm-llnl = slurm; # renamed July 2017
+  slurm-llnl-full = slurm-full; # renamed July 2017
+  slurm-full = slurm; # added 2018-05-1
+  smbclient = samba; # added 2018-04-25
   spaceOrbit = space-orbit; # addewd 2016-05-23
+  speech_tools = speech-tools; # added 2018-04-25
   speedtest_cli = speedtest-cli;  # added 2015-02-17
   spice_gtk = spice-gtk; # added 2018-02-25
   spice_protocol = spice-protocol; # added 2018-02-25
   sqliteInteractive = sqlite-interactive;  # added 2014-12-06
   sshfs = sshfs-fuse; # added 2017-08-14
   sshfsFuse = sshfs-fuse; # added 2016-09
+  suil-qt5 = suil; # added 2018-05-01
   surf-webkit2 = surf; # added 2017-04-02
   system_config_printer = system-config-printer;  # added 2016-01-03
+  systool = sysfsutils; # added 2018-04-25
+  tahoelafs = tahoe-lafs; # added 2018-03-26
   telepathy_farstream = telepathy-farstream; # added 2018-02-25
   telepathy_gabble = telepathy-gabble; # added 2018-02-25
   telepathy_glib = telepathy-glib; # added 2018-02-25
@@ -215,20 +275,33 @@ mapAliases (rec {
   telepathy_qt = telepathy-qt; # added 2018-02-25
   telepathy_qt5 = libsForQt5.telepathy;  # added 2015-12-19
   telepathy_salut = telepathy-salut; # added 2018-02-25
+  tex-gyre-bonum-math = tex-gyre-math.bonum; # added 2018-04-03
+  tex-gyre-pagella-math = tex-gyre-math.pagella; # added 2018-04-03
+  tex-gyre-schola-math = tex-gyre-math.schola; # added 2018-04-03
+  tex-gyre-termes-math = tex-gyre-math.termes; # added 2018-04-03
   tftp_hpa = tftp-hpa; # added 2015-04-03
+  trang = jing-trang; # added 2018-04-25
   transmission_gtk = transmission-gtk; # added 2018-01-06
   transmission_remote_gtk = transmission-remote-gtk; # added 2018-01-06
+  tshark = wireshark-cli; # added 2018-04-25
   ucsFonts = ucs-fonts; # added 2016-07-15
+  udev = systemd; # added 2018-04-25
   ultrastardx-beta = ultrastardx; # added 2017-08-12
   usb_modeswitch = usb-modeswitch; # added 2016-05-10
   vimbWrapper = vimb; # added 2015-01
   vimprobable2Wrapper = vimprobable2; # added 2015-01
   virtviewer = virt-viewer; # added 2015-12-24
   vorbisTools = vorbis-tools; # added 2016-01-26
+  wineStaging = wine-staging; # added 2018-01-08
   winusb = woeusb; # added 2017-12-22
   x11 = xlibsWrapper; # added 2015-09
+  xbmc = kodi; # added 2018-04-25
+  xbmcPlain = kodiPlain; # added 2018-04-25
+  xbmcPlugins = kodiPlugins; # added 2018-04-25
+  xmonad_log_applet_gnome3 = xmonad_log_applet; # added 2018-05-01
   xf86_video_nouveau = xorg.xf86videonouveau; # added 2015-09
   xlibs = xorg; # added 2015-09
+  yacc = bison; # added 2018-04-25
   youtubeDL = youtube-dl;  # added 2014-10-26
 
   # added 2017-05-27
@@ -237,11 +310,29 @@ mapAliases (rec {
   wineStable = winePackages.stable;
   wineUnstable = winePackages.unstable;
 
+  # added 2018-03-26
+  libva-full = libva;
+  libva1-full = libva1;
+
   inherit (ocaml-ng) # added 2016-09-14
     ocamlPackages_3_10_0 ocamlPackages_3_11_2 ocamlPackages_3_12_1
     ocamlPackages_4_00_1 ocamlPackages_4_01_0 ocamlPackages_4_02
     ocamlPackages_4_03
     ocamlPackages_latest;
+
+  gst_all = { # added 2018-04-25
+    inherit (pkgs) gstreamer gnonlin gst-python qt-gstreamer;
+    gstPluginsBase = pkgs.gst-plugins-base;
+    gstPluginsBad = pkgs.gst-plugins-bad;
+    gstPluginsGood = pkgs.gst-plugins-good;
+    gstPluginsUgly = pkgs.gst-plugins-ugly;
+    gstFfmpeg = pkgs.gst-ffmpeg;
+    gst-plugins-base = pkgs.gst-plugins-base;
+    gst-plugins-bad = pkgs.gst-plugins-bad;
+    gst-plugins-good = pkgs.gst-plugins-good;
+    gst-plugins-ugly = pkgs.gst-plugins-ugly;
+    gst-ffmpeg = pkgs.gst-ffmpeg;
+  };
 } // (with ocaml-ng; { # added 2016-09-14
   ocaml_3_08_0 = ocamlPackages_3_08_0.ocaml;
   ocaml_3_10_0 = ocamlPackages_3_10_0.ocaml;
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 65d1dc9dbb0..52f78289b5a 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -61,6 +61,8 @@ with pkgs;
     by Hydra.
   '';
 
+  tests = recurseIntoAttrs (callPackages ../test {});
+
   ### Nixpkgs maintainer tools
 
   nix-generate-from-cpan = callPackage ../../maintainers/scripts/nix-generate-from-cpan.nix { };
@@ -80,7 +82,7 @@ with pkgs;
     ../build-support/setup-hooks/autoreconf.sh;
 
   autoPatchelfHook = makeSetupHook
-    { deps = [ file ]; }
+    { name = "auto-patchelf-hook"; deps = [ file ]; }
     ../build-support/setup-hooks/auto-patchelf.sh;
 
   ensureNewerSourcesHook = { year }: makeSetupHook {}
@@ -111,6 +113,8 @@ with pkgs;
 
   buildMaven = callPackage ../build-support/build-maven.nix {};
 
+  castxml = callPackage ../development/tools/castxml { };
+
   cmark = callPackage ../development/libraries/cmark { };
 
   dhallToNix = callPackage ../build-support/dhall-to-nix.nix {
@@ -286,7 +290,7 @@ with pkgs;
     ... # For hash agility
   }@args: fetchzip ({
     inherit name;
-    url = "https://gitlab.com/${owner}/${repo}/repository/archive.tar.gz?ref=${rev}";
+    url = "https://gitlab.com/api/v4/projects/${owner}%2F${repo}/repository/archive.tar.gz?sha=${rev}";
     meta.homepage = "https://gitlab.com/${owner}/${repo}/";
   } // removeAttrs args [ "owner" "repo" "rev" ]) // { inherit rev; };
 
@@ -398,6 +402,8 @@ with pkgs;
 
   ### TOOLS
 
+  _1password = callPackage ../applications/misc/1password { };
+
   _9pfs = callPackage ../tools/filesystems/9pfs { };
 
   a2ps = callPackage ../tools/text/a2ps { };
@@ -412,6 +418,8 @@ with pkgs;
 
   acct = callPackage ../tools/system/acct { };
 
+  acme-sh = callPackage ../tools/admin/acme.sh { };
+
   acoustidFingerprinter = callPackage ../tools/audio/acoustid-fingerprinter {
     ffmpeg = ffmpeg_1;
   };
@@ -498,10 +506,6 @@ with pkgs;
 
   aptly = callPackage ../tools/misc/aptly { };
 
-  apulse = callPackage ../misc/apulse { };
-
-  libpressureaudio = callPackage ../misc/apulse/pressureaudio.nix { };
-
   archivemount = callPackage ../tools/filesystems/archivemount { };
 
   arandr = callPackage ../tools/X11/arandr { };
@@ -519,6 +523,8 @@ with pkgs;
 
   apitrace = libsForQt5.callPackage ../applications/graphics/apitrace {};
 
+  arguments = callPackage ../development/libraries/arguments { };
+
   argus = callPackage ../tools/networking/argus {};
 
   argus-clients = callPackage ../tools/networking/argus-clients {};
@@ -527,14 +533,6 @@ with pkgs;
 
   argyllcms = callPackage ../tools/graphics/argyllcms {};
 
-  arm-frc-linux-gnueabi-eglibc = callPackage ../development/libraries/arm-frc-linux-gnueabi-eglibc {};
-
-  arm-frc-linux-gnueabi-linux-api-headers = callPackage ../development/libraries/arm-frc-linux-gnueabi-linux-api-headers {};
-
-  arm-frc-linux-gnueabi-binutils = callPackage ../development/tools/misc/arm-frc-linux-gnueabi-binutils {};
-
-  arm-frc-linux-gnueabi-gcc = callPackage ../development/compilers/arm-frc-linux-gnueabi-gcc {};
-
   arp-scan = callPackage ../tools/misc/arp-scan { };
 
   inherit (callPackages ../data/fonts/arphic {})
@@ -561,7 +559,7 @@ with pkgs;
 
   avfs = callPackage ../tools/filesystems/avfs { };
 
-  awscli = pythonPackages.callPackage ../tools/admin/awscli { };
+  awscli = callPackage ../tools/admin/awscli { };
 
   awsebcli = callPackage ../tools/virtualization/awsebcli {};
 
@@ -571,14 +569,14 @@ with pkgs;
 
   aws-vault = callPackage ../tools/admin/aws-vault { };
 
+  iamy = callPackage ../tools/admin/iamy { };
+
   azure-cli = nodePackages.azure-cli;
 
   azure-vhd-utils  = callPackage ../tools/misc/azure-vhd-utils { };
 
   awless = callPackage ../tools/virtualization/awless { };
 
-  aws-auth = callPackage ../tools/admin/aws-auth { };
-
   ec2_api_tools = callPackage ../tools/virtualization/ec2-api-tools { };
 
   ec2_ami_tools = callPackage ../tools/virtualization/ec2-ami-tools { };
@@ -615,8 +613,14 @@ with pkgs;
 
   bonfire = callPackage ../tools/misc/bonfire { };
 
+  cloud-sql-proxy = callPackage ../tools/misc/cloud-sql-proxy { };
+
   container-linux-config-transpiler = callPackage ../development/tools/container-linux-config-transpiler { };
 
+  cconv = callPackage ../tools/text/cconv { };
+
+  chkcrontab = callPackage ../tools/admin/chkcrontab { };
+
   djmount = callPackage ../tools/filesystems/djmount { };
 
   dgsh = callPackage ../shells/dgsh { };
@@ -629,9 +633,9 @@ with pkgs;
 
   encryptr = callPackage ../tools/security/encryptr {
     gconf = gnome2.GConf;
- };
+  };
 
- enchive = callPackage ../tools/security/enchive { };
+  enchive = callPackage ../tools/security/enchive { };
 
   enpass = callPackage ../tools/security/enpass { };
 
@@ -657,8 +661,11 @@ with pkgs;
 
   lastpass-cli = callPackage ../tools/security/lastpass-cli { };
 
+  pacparser = callPackage ../tools/networking/pacparser { };
+
   pass = callPackage ../tools/security/pass { };
-  pass-otp = callPackage ../tools/security/pass-otp { };
+
+  passExtensions = recurseIntoAttrs pass.extensions;
 
   gopass = callPackage ../tools/security/gopass { };
 
@@ -676,6 +683,10 @@ with pkgs;
 
   reattach-to-user-namespace = callPackage ../os-specific/darwin/reattach-to-user-namespace {};
 
+  skhd = callPackage ../os-specific/darwin/skhd {
+    inherit (darwin.apple_sdk.frameworks) Carbon;
+  };
+
   qes = callPackage ../os-specific/darwin/qes {
     inherit (darwin.apple_sdk.frameworks) Carbon;
   };
@@ -686,6 +697,8 @@ with pkgs;
     pkgs_i686 = pkgsi686Linux;
   };
 
+  abootimg = callPackage ../development/mobile/abootimg {};
+
   adbfs-rootless = callPackage ../development/mobile/adbfs-rootless {
     adb = androidenv.platformTools;
   };
@@ -763,7 +776,7 @@ with pkgs;
 
   backblaze-b2 = python.pkgs.callPackage ../development/tools/backblaze-b2 { };
 
-  backup = callPackage ../tools/backup/backup { };
+  bar = callPackage ../tools/system/bar {};
 
   base16-builder = callPackage ../misc/base16-builder { };
 
@@ -779,6 +792,8 @@ with pkgs;
 
   bashmount = callPackage ../tools/filesystems/bashmount {};
 
+  bat = callPackage ../tools/misc/bat { };
+
   bc = callPackage ../tools/misc/bc { };
 
   bdf2psf = callPackage ../tools/misc/bdf2psf { };
@@ -822,6 +837,8 @@ with pkgs;
 
   blink = callPackage ../applications/networking/instant-messengers/blink { };
 
+  bluemix-cli = callPackage ../tools/admin/bluemix-cli { };
+
   libqmatrixclient = libsForQt5.callPackage ../development/libraries/libqmatrixclient { };
 
   quaternion = libsForQt5.callPackage ../applications/networking/instant-messengers/quaternion { };
@@ -834,6 +851,8 @@ with pkgs;
     boost = boost160;
   };
 
+  blobfuse = callPackage ../tools/filesystems/blobfuse { };
+
   blockdiag = pythonPackages.blockdiag;
 
   blsd = callPackage ../tools/misc/blsd {
@@ -880,7 +899,9 @@ with pkgs;
 
   btrfs-dedupe = callPackage ../tools/filesystems/btrfs-dedupe/default.nix {};
 
-  btrbk = callPackage ../tools/backup/btrbk { };
+  btrbk = callPackage ../tools/backup/btrbk {
+    asciidoc = asciidoc-full;
+  };
 
   buildtorrent = callPackage ../tools/misc/buildtorrent { };
 
@@ -939,10 +960,9 @@ with pkgs;
   caddy = callPackage ../servers/caddy { };
   traefik = callPackage ../servers/traefik { };
 
-  calamares = libsForQt59.callPackage ../tools/misc/calamares {
+  calamares = libsForQt5.callPackage ../tools/misc/calamares {
     python = python3;
     boost = pkgs.boost.override { python = python3; };
-    libyamlcpp = callPackage ../development/libraries/libyaml-cpp { inherit boost; };
   };
 
   capstone = callPackage ../development/libraries/capstone { };
@@ -973,8 +993,12 @@ with pkgs;
 
   image-analyzer = callPackage ../misc/emulators/cdemu/analyzer.nix { };
 
+  cbor-diag = callPackage ../development/tools/cbor-diag { };
+
   ccnet = callPackage ../tools/networking/ccnet { };
 
+  cddl = callPackage ../development/tools/cddl { };
+
   cfdyndns = callPackage ../applications/networking/dyndns/cfdyndns { };
 
   ckbcomp = callPackage ../tools/X11/ckbcomp { };
@@ -1001,6 +1025,8 @@ with pkgs;
 
   colpack = callPackage ../applications/science/math/colpack { };
 
+  compactor = callPackage ../applications/networking/compactor { };
+
   consul = callPackage ../servers/consul { };
 
   consul-ui = callPackage ../servers/consul/ui.nix { };
@@ -1035,12 +1061,16 @@ with pkgs;
     inherit (darwin.apple_sdk.frameworks) Foundation AddressBook;
   };
 
+  compsize = callPackage ../os-specific/linux/compsize { };
+
   coturn = callPackage ../servers/coturn { };
 
   coursier = callPackage ../development/tools/coursier {};
 
   cri-tools = callPackage ../tools/virtualization/cri-tools {};
 
+  crip = callPackage ../applications/audio/crip { };
+
   crunch = callPackage ../tools/security/crunch { };
 
   crudini = callPackage ../tools/misc/crudini { };
@@ -1104,13 +1134,19 @@ with pkgs;
 
   dislocker = callPackage ../tools/filesystems/dislocker { };
 
+  distrobuilder = callPackage ../tools/virtualization/distrobuilder { };
+
   ditaa = callPackage ../tools/graphics/ditaa { };
 
   dino = callPackage ../applications/networking/instant-messengers/dino { };
 
   dlx = callPackage ../misc/emulators/dlx { };
 
-  dosage = pythonPackages.dosage;
+  doitlive = callPackage ../tools/misc/doitlive { };
+
+  dosage = callPackage ../applications/graphics/dosage {
+    pythonPackages = python3Packages;
+  };
 
   dpic = callPackage ../tools/graphics/dpic { };
 
@@ -1128,6 +1164,8 @@ with pkgs;
 
   earlyoom = callPackage ../os-specific/linux/earlyoom { };
 
+  EBTKS = callPackage ../development/libraries/science/biology/EBTKS { };
+
   ecasound = callPackage ../applications/audio/ecasound { };
 
   edac-utils = callPackage ../os-specific/linux/edac-utils { };
@@ -1220,6 +1258,8 @@ with pkgs;
 
   gixy = callPackage ../tools/admin/gixy { };
 
+  gllvm = callPackage ../development/tools/gllvm { };
+
   glide = callPackage ../development/tools/glide { };
 
   glock = callPackage ../development/tools/glock { };
@@ -1272,6 +1312,8 @@ with pkgs;
 
   kisslicer = callPackage ../tools/misc/kisslicer { };
 
+  klaus = callPackage ../servers/web-apps/klaus { };
+
   lcdproc = callPackage ../servers/monitoring/lcdproc { };
 
   languagetool = callPackage ../tools/text/languagetool {  };
@@ -1288,7 +1330,9 @@ with pkgs;
 
   mathics = pythonPackages.mathics;
 
-  masscan = callPackage ../tools/security/masscan { };
+  masscan = callPackage ../tools/security/masscan {
+    stdenv = gccStdenv;
+  };
 
   massren = callPackage ../tools/misc/massren { };
 
@@ -1296,6 +1340,10 @@ with pkgs;
 
   meson = callPackage ../development/tools/build-managers/meson { };
 
+  metabase = callPackage ../servers/metabase { };
+
+  monetdb = callPackage ../servers/sql/monetdb { };
+
   mp3blaster = callPackage ../applications/audio/mp3blaster { };
 
   mp3fs = callPackage ../tools/filesystems/mp3fs { };
@@ -1306,8 +1354,12 @@ with pkgs;
 
   mpdris2 = callPackage ../tools/audio/mpdris2 { };
 
+  mq-cli = callPackage ../tools/system/mq-cli { };
+
   nfdump = callPackage ../tools/networking/nfdump { };
 
+  noteshrink = callPackage ../tools/misc/noteshrink { };
+
   nrsc5 = callPackage ../applications/misc/nrsc5 { };
 
   onboard = callPackage ../applications/misc/onboard { };
@@ -1316,10 +1368,14 @@ with pkgs;
 
   patdiff = callPackage ../tools/misc/patdiff { };
 
+  pbzx = callPackage ../tools/compression/pbzx { };
+
   playerctl = callPackage ../tools/audio/playerctl { };
 
   ps_mem = callPackage ../tools/system/ps_mem { };
 
+  psstop = callPackage ../tools/system/psstop { };
+
   parallel-rust = callPackage ../tools/misc/parallel-rust { };
 
   socklog = callPackage ../tools/system/socklog { };
@@ -1330,6 +1386,8 @@ with pkgs;
 
   bash-supergenpass = callPackage ../tools/security/bash-supergenpass { };
 
+  sweep-visualizer = callPackage ../tools/misc/sweep-visualizer { };
+
   syscall_limiter = callPackage ../os-specific/linux/syscall_limiter {};
 
   syslogng = callPackage ../tools/system/syslog-ng { };
@@ -1394,7 +1452,7 @@ with pkgs;
     utillinux = utillinuxMinimal;
   };
 
-  antigen = callPackage ../shells/antigen { };
+  antigen = callPackage ../shells/zsh/antigen { };
 
   apparix = callPackage ../tools/misc/apparix { };
 
@@ -1577,18 +1635,18 @@ with pkgs;
       with gst_all_1; [ gst-plugins-base gst-plugins-good gst-plugins-ugly gst-libav ];
   };
 
-  clementineFree = clementine.free;
+  clementineUnfree = clementine.unfree;
 
   ciopfs = callPackage ../tools/filesystems/ciopfs { };
 
-  # Use Citrix Receiver 13.4.0 below if you get "A network error occured (SSL error 4)"
-  # See https://discussions.citrix.com/topic/385459-ssl-error-with-135-works-with-134/?p=1977735
-  citrix_receiver        = hiPrio citrix_receiver_13_8_0;
-  citrix_receiver_13_8_0 = callPackage ../applications/networking/remote/citrix-receiver { version = "13.8.0"; };
-  citrix_receiver_13_7_0 = callPackage ../applications/networking/remote/citrix-receiver { version = "13.7.0"; };
-  citrix_receiver_13_6_0 = callPackage ../applications/networking/remote/citrix-receiver { version = "13.6.0"; };
-  citrix_receiver_13_5_0 = callPackage ../applications/networking/remote/citrix-receiver { version = "13.5.0"; };
-  citrix_receiver_13_4_0 = callPackage ../applications/networking/remote/citrix-receiver { version = "13.4.0"; };
+  citrix_receiver = callPackage ../applications/networking/remote/citrix-receiver { };
+  citrix_receiver_13_9_1 = citrix_receiver.override { version = "13.9.1"; };
+  citrix_receiver_13_9_0 = citrix_receiver.override { version = "13.9.0"; };
+  citrix_receiver_13_8_0 = citrix_receiver.override { version = "13.8.0"; };
+  citrix_receiver_13_7_0 = citrix_receiver.override { version = "13.7.0"; };
+  citrix_receiver_13_6_0 = citrix_receiver.override { version = "13.6.0"; };
+  citrix_receiver_13_5_0 = citrix_receiver.override { version = "13.5.0"; };
+  citrix_receiver_13_4_0 = citrix_receiver.override { version = "13.4.0"; };
 
   citra = libsForQt5.callPackage ../misc/emulators/citra { };
 
@@ -1608,15 +1666,15 @@ with pkgs;
 
   connman = callPackage ../tools/networking/connman { };
 
-  connman-gtk = callPackage ../tools/networking/connman-gtk { };
+  connman-gtk = callPackage ../tools/networking/connman/connman-gtk { };
 
-  connman-ncurses = callPackage ../tools/networking/connman-ncurses { };
+  connman-ncurses = callPackage ../tools/networking/connman/connman-ncurses { };
 
-  connman-notify = callPackage ../tools/networking/connman-notify { };
+  connman-notify = callPackage ../tools/networking/connman/connman-notify { };
 
-  connmanui = callPackage ../tools/networking/connmanui { };
+  connmanui = callPackage ../tools/networking/connman/connmanui { };
 
-  connman_dmenu = callPackage ../tools/networking/connman_dmenu  { };
+  connman_dmenu = callPackage ../tools/networking/connman/connman_dmenu  { };
 
   convertlit = callPackage ../tools/text/convertlit { };
 
@@ -1658,6 +1716,14 @@ with pkgs;
   skktools = callPackage ../tools/inputmethods/skk/skktools { };
   skk-dicts = callPackage ../tools/inputmethods/skk/skk-dicts { };
 
+  libkkc-data = callPackage ../data/misc/libkkc-data {
+    inherit (pythonPackages) marisa;
+  };
+
+  libkkc = callPackage ../tools/inputmethods/libkkc {
+    inherit (gnome3) libgee;
+  };
+
   ibus = callPackage ../tools/inputmethods/ibus {
     inherit (gnome3) dconf gconf glib;
   };
@@ -1669,6 +1735,8 @@ with pkgs;
 
     hangul = callPackage ../tools/inputmethods/ibus-engines/ibus-hangul { };
 
+    kkc = callPackage ../tools/inputmethods/ibus-engines/ibus-kkc { };
+
     libpinyin = callPackage ../tools/inputmethods/ibus-engines/ibus-libpinyin { };
 
     m17n = callPackage ../tools/inputmethods/ibus-engines/ibus-m17n { };
@@ -1736,6 +1804,8 @@ with pkgs;
 
   cloud-utils = callPackage ../tools/misc/cloud-utils { };
 
+  cocoapods = callPackage ../development/mobile/cocoapods { };
+
   compass = callPackage ../development/tools/compass { };
 
   conda = callPackage ../tools/package-management/conda { };
@@ -1761,6 +1831,8 @@ with pkgs;
 
   crackxls = callPackage ../tools/security/crackxls { };
 
+  create-cycle-app = nodePackages_8_x.create-cycle-app;
+
   createrepo_c = callPackage ../tools/package-management/createrepo_c { };
 
   cromfs = callPackage ../tools/archivers/cromfs { };
@@ -1847,7 +1919,7 @@ with pkgs;
 
   debootstrap = callPackage ../tools/misc/debootstrap { };
 
-  deer = callPackage ../shells/zsh-deer { };
+  deer = callPackage ../shells/zsh/zsh-deer { };
 
   detox = callPackage ../tools/misc/detox { };
 
@@ -1906,7 +1978,7 @@ with pkgs;
   diction = callPackage ../tools/text/diction { };
 
   diffoscope = callPackage ../tools/misc/diffoscope {
-    jdk = jdk7;
+    jdk = jdk8;
   };
 
   diffstat = callPackage ../tools/text/diffstat { };
@@ -1942,7 +2014,7 @@ with pkgs;
   doas = callPackage ../tools/security/doas { };
 
   docbook2x = callPackage ../tools/typesetting/docbook2x {
-    inherit (perlPackages) XMLSAX XMLParser XMLNamespaceSupport;
+    inherit (perlPackages) XMLSAX XMLSAXBase XMLParser XMLNamespaceSupport;
   };
 
   docbook2mdoc = callPackage ../tools/misc/docbook2mdoc { };
@@ -1998,6 +2070,8 @@ with pkgs;
 
   duo-unix = callPackage ../tools/security/duo-unix { };
 
+  duplicati = callPackage ../tools/backup/duplicati { };
+
   duplicity = callPackage ../tools/backup/duplicity {
     gnupg = gnupg1;
   };
@@ -2040,14 +2114,16 @@ with pkgs;
 
   edk2 = callPackage ../development/compilers/edk2 { };
 
+  eff = callPackage ../development/interpreters/eff { };
+
   eflite = callPackage ../applications/audio/eflite {};
 
   eid-mw = callPackage ../tools/security/eid-mw { };
 
-  eid-viewer = callPackage ../tools/security/eid-viewer { };
-
   mcrcon = callPackage ../tools/networking/mcrcon {};
 
+  tealdeer = callPackage ../tools/misc/tealdeer/default.nix { };
+
   uudeview = callPackage ../tools/misc/uudeview { };
 
   uutils-coreutils = callPackage ../tools/misc/uutils-coreutils {
@@ -2060,9 +2136,11 @@ with pkgs;
 
   buildEmscriptenPackage = callPackage ../development/em-modules/generic { };
 
+  emscriptenVersion = "1.37.36";
+
   emscripten = callPackage ../development/compilers/emscripten { };
 
-  emscriptenfastcompPackages = callPackage ../development/compilers/emscripten-fastcomp { };
+  emscriptenfastcompPackages = callPackage ../development/compilers/emscripten/fastcomp { };
 
   emscriptenfastcomp = emscriptenfastcompPackages.emscriptenfastcomp;
 
@@ -2077,8 +2155,8 @@ with pkgs;
   evemu = callPackage ../tools/system/evemu { };
 
   # The latest version used by elasticsearch, logstash, kibana and the the beats from elastic.
-  elk5Version = "5.6.6";
-  elk6Version = "6.1.2";
+  elk5Version = "5.6.9";
+  elk6Version = "6.2.4";
 
   elasticsearch = callPackage ../servers/search/elasticsearch { };
   elasticsearch2 = callPackage ../servers/search/elasticsearch/2.x.nix { };
@@ -2143,6 +2221,8 @@ with pkgs;
 
   exiftool = perlPackages.ImageExifTool;
 
+  ext4magic = callPackage ../tools/filesystems/ext4magic { };
+
   extundelete = callPackage ../tools/filesystems/extundelete { };
 
   expect = callPackage ../tools/misc/expect { };
@@ -2277,15 +2357,16 @@ with pkgs;
 
   flamegraph = callPackage ../development/tools/flamegraph { };
 
-  # Awkward historical capitalization for flamegraph. Remove eventually
-  flameGraph = flamegraph;
-
   flvtool2 = callPackage ../tools/video/flvtool2 { };
 
+  fmbt = callPackage ../development/tools/fmbt {
+    python = python2;
+  };
+
   fontforge = lowPrio (callPackage ../tools/misc/fontforge {
     inherit (darwin.apple_sdk.frameworks) Carbon Cocoa;
   });
-  fontforge-gtk = callPackage ../tools/misc/fontforge {
+  fontforge-gtk = fontforge.override {
     withSpiro = true;
     withGTK = true;
     gtk2 = gtk2-x11;
@@ -2338,6 +2419,7 @@ with pkgs;
   frescobaldi = callPackage ../misc/frescobaldi {};
 
   frostwire = callPackage ../applications/networking/p2p/frostwire { };
+  frostwire-bin = callPackage ../applications/networking/p2p/frostwire/frostwire-bin.nix { };
 
   ftgl = callPackage ../development/libraries/ftgl { };
 
@@ -2345,10 +2427,21 @@ with pkgs;
 
   fsfs = callPackage ../tools/filesystems/fsfs { };
 
+  fstl = qt5.callPackage ../applications/graphics/fstl { };
+
   fswebcam = callPackage ../os-specific/linux/fswebcam { };
 
   fuseiso = callPackage ../tools/filesystems/fuseiso { };
 
+  fdbPackages = callPackage ../servers/foundationdb { stdenv = overrideCC stdenv gcc49; };
+
+  inherit (fdbPackages)
+    foundationdb51
+    foundationdb52
+    foundationdb60;
+
+  foundationdb = callPackage ../servers/foundationdb { stdenv = overrideCC stdenv gcc49; };
+
   fuse-7z-ng = callPackage ../tools/filesystems/fuse-7z-ng { };
 
   fwknop = callPackage ../tools/security/fwknop { };
@@ -2395,7 +2488,7 @@ with pkgs;
 
     gazebo7 = callPackage ../applications/science/robotics/gazebo { };
 
-    gazebo7-headless = callPackage ../applications/science/robotics/gazebo { withHeadless = true; };
+    gazebo7-headless = gazebo7.override { withHeadless = true; };
 
   };
 
@@ -2446,6 +2539,8 @@ with pkgs;
 
   git-series = callPackage ../development/tools/git-series { };
 
+  git-sizer = callPackage ../applications/version-management/git-sizer { };
+
   git-up = callPackage ../applications/version-management/git-up { };
 
   gitfs = callPackage ../tools/filesystems/gitfs { };
@@ -2479,6 +2574,10 @@ with pkgs;
 
   glxinfo = callPackage ../tools/graphics/glxinfo { };
 
+  gmrender-resurrect = callPackage ../tools/networking/gmrender-resurrect {
+    inherit (gst_all_1) gstreamer gst-plugins-base gst-plugins-good gst-plugins-bad gst-plugins-ugly gst-libav;
+  };
+
   gmvault = callPackage ../tools/networking/gmvault { };
 
   gnash = callPackage ../misc/gnash { };
@@ -2497,6 +2596,8 @@ with pkgs;
 
   gnu-cobol = callPackage ../development/compilers/gnu-cobol { };
 
+  gnuclad = callPackage ../applications/graphics/gnuclad { };
+
   gnufdisk = callPackage ../tools/system/fdisk {
     guile = guile_1_8;
   };
@@ -2599,17 +2700,13 @@ with pkgs;
    * that do want 2.32 but not 2.0 or 2.36. Please give a day's notice for
    * objections before removal. The feature is libgraph.
    */
-  graphviz_2_32 = callPackage ../tools/graphics/graphviz/2.32.nix {
+  graphviz_2_32 = lib.overrideDerivation (callPackage ../tools/graphics/graphviz/2.32.nix {
     inherit (darwin.apple_sdk.frameworks) ApplicationServices;
-  };
+  }) (x: { configureFlags = x.configureFlags ++ ["--with-cgraph=no"];});
 
   grin = callPackage ../tools/text/grin { };
   ripgrep = callPackage ../tools/text/ripgrep { };
 
-  grive = callPackage ../tools/filesystems/grive {
-    json_c = json-c-0-11; # won't configure with 0.12; others are vulnerable
-  };
-
   grive2 = callPackage ../tools/filesystems/grive2 { };
 
   groff = callPackage ../tools/text/groff {
@@ -2624,6 +2721,8 @@ with pkgs;
     inherit (xorg) libXdmcp;
   };
 
+  gron = callPackage ../development/tools/gron { };
+
   groonga = callPackage ../servers/search/groonga { };
 
   grub = callPackage_i686 ../tools/misc/grub {
@@ -2638,11 +2737,11 @@ with pkgs;
 
   grub2_full = callPackage ../tools/misc/grub/2.0x.nix { };
 
-  grub2_efi = grub2_full.override {
+  grub2_efi = grub2.override {
     efiSupport = true;
   };
 
-  grub2_light = grub2_full.override {
+  grub2_light = grub2.override {
     zfsSupport = false;
   };
 
@@ -2661,9 +2760,7 @@ with pkgs;
 
   sbsigntool = callPackage ../tools/security/sbsigntool { };
 
-  gsmartcontrol = callPackage ../tools/misc/gsmartcontrol {
-    inherit (gnome2) libglademm;
-  };
+  gsmartcontrol = callPackage ../tools/misc/gsmartcontrol { };
 
   gssdp = callPackage ../development/libraries/gssdp {
     inherit (gnome2) libsoup;
@@ -2672,7 +2769,6 @@ with pkgs;
   gt5 = callPackage ../tools/system/gt5 { };
 
   gtest = callPackage ../development/libraries/gtest {};
-  gmock = gtest;
   gbenchmark = callPackage ../development/libraries/gbenchmark {};
 
   gtkdatabox = callPackage ../development/libraries/gtkdatabox {};
@@ -2707,8 +2803,6 @@ with pkgs;
 
   gvolicon = callPackage ../tools/audio/gvolicon {};
 
-  gwyddion = callPackage ../applications/science/chemistry/gwyddion {};
-
   gzip = callPackage ../tools/compression/gzip { };
 
   gzrt = callPackage ../tools/compression/gzrt { };
@@ -2723,8 +2817,16 @@ with pkgs;
 
   pgjwt = callPackage ../servers/sql/postgresql/pgjwt {};
 
+  cstore_fdw = callPackage ../servers/sql/postgresql/cstore_fdw {};
+
+  pg_hll = callPackage ../servers/sql/postgresql/pg_hll {};
+
+  pg_cron = callPackage ../servers/sql/postgresql/pg_cron {};
+
   pgtap = callPackage ../servers/sql/postgresql/pgtap {};
 
+  pg_topn = callPackage ../servers/sql/postgresql/topn {};
+
   pigz = callPackage ../tools/compression/pigz { };
 
   pixz = callPackage ../tools/compression/pixz { };
@@ -2737,6 +2839,11 @@ with pkgs;
 
   h2 = callPackage ../servers/h2 { };
 
+  h5utils = callPackage ../tools/misc/h5utils {
+    libmatheval = null;
+    hdf4 = null;
+  };
+
   haproxy = callPackage ../tools/networking/haproxy { };
 
   haveged = callPackage ../tools/security/haveged { };
@@ -2899,6 +3006,7 @@ with pkgs;
             stdenv = llvmPackages_38.libcxxStdenv;
             libcxx = llvmPackages_38.libcxx;
             boost = boost160.override { inherit stdenv; };
+            avro-cpp_llvm = avro-cpp.override { inherit stdenv boost; };
           })
       irods
       irods-icommands;
@@ -2947,6 +3055,8 @@ with pkgs;
 
   innoextract = callPackage ../tools/archivers/innoextract { };
 
+  input-utils = callPackage ../os-specific/linux/input-utils { };
+
   intecture-agent = callPackage ../tools/admin/intecture/agent.nix { };
 
   intecture-auth = callPackage ../tools/admin/intecture/auth.nix { };
@@ -3035,15 +3145,17 @@ with pkgs;
   jing = self.jing-trang;
   jing-trang = callPackage ../tools/text/xml/jing-trang { };
 
+  jl = haskellPackages.callPackage ../development/tools/jl { };
+
   jmespath = callPackage ../development/tools/jmespath { };
 
   jmtpfs = callPackage ../tools/filesystems/jmtpfs { };
 
   jnettop = callPackage ../tools/networking/jnettop { };
 
-  john = callPackage ../tools/security/john {
-    gcc = gcc49; # doesn't build with gcc5
-  };
+  go-jira = callPackage ../applications/misc/go-jira { };
+
+  john = callPackage ../tools/security/john { };
 
   journalbeat = callPackage ../tools/system/journalbeat { };
 
@@ -3093,15 +3205,13 @@ with pkgs;
 
   keepalived = callPackage ../tools/networking/keepalived { };
 
-  kexectools = if hostPlatform.isKexecable
-                 then callPackage ../os-specific/linux/kexectools { }
-               else null;
+  kexectools = callPackage ../os-specific/linux/kexectools { };
 
   keybase = callPackage ../tools/security/keybase { };
 
   kbfs = callPackage ../tools/security/kbfs { };
 
-  keybase-gui = callPackage ../tools/security/keybase-gui { };
+  keybase-gui = callPackage ../tools/security/keybase/gui.nix { };
 
   keychain = callPackage ../tools/misc/keychain { };
 
@@ -3119,14 +3229,20 @@ with pkgs;
 
   kore = callPackage ../development/web/kore { };
 
+  krakenx = callPackage ../tools/system/krakenx { };
+
   partition-manager = libsForQt5.callPackage ../tools/misc/partition-manager { };
 
   kpcli = callPackage ../tools/security/kpcli { };
 
   krename = libsForQt5.callPackage ../applications/misc/krename { };
 
+  krunner-pass = libsForQt5.callPackage ../tools/security/krunner-pass { };
+
   kronometer = libsForQt5.callPackage ../tools/misc/kronometer { };
 
+  elisa = libsForQt5.callPackage ../applications/audio/elisa { };
+
   kdiff3 = libsForQt5.callPackage ../tools/text/kdiff3 { };
 
   kwalletcli = libsForQt5.callPackage ../tools/security/kwalletcli { };
@@ -3196,6 +3312,8 @@ with pkgs;
 
   ltwheelconf = callPackage ../applications/misc/ltwheelconf { };
 
+  lvmsync = callPackage ../tools/backup/lvmsync { };
+
   kippo = callPackage ../servers/kippo { };
 
   kzipmix = callPackage_i686 ../tools/compression/kzipmix { };
@@ -3212,6 +3330,8 @@ with pkgs;
 
   memtester = callPackage ../tools/system/memtester { };
 
+  minergate = callPackage ../applications/misc/minergate { };
+
   minidlna = callPackage ../tools/networking/minidlna { };
 
   minisign = callPackage ../tools/security/minisign { };
@@ -3226,15 +3346,13 @@ with pkgs;
 
   motion = callPackage ../applications/video/motion { };
 
-  mkcast = callPackage ../applications/video/mkcast { };
-
   mtail = callPackage ../servers/monitoring/mtail { };
 
   multitail = callPackage ../tools/misc/multitail { };
 
   mxt-app = callPackage ../misc/mxt-app { };
 
-  nagstamon = callPackage ../tools/nagstamon {
+  nagstamon = callPackage ../tools/misc/nagstamon {
     pythonPackages = python3Packages;
   };
 
@@ -3301,6 +3419,14 @@ with pkgs;
   nodejs-9_x = callPackage ../development/web/nodejs/v9.nix {};
   nodejs-slim-9_x = callPackage ../development/web/nodejs/v9.nix { enableNpm = false; };
 
+  nodejs-10_x = callPackage ../development/web/nodejs/v10.nix {
+    openssl = openssl_1_1_0;
+  };
+  nodejs-slim-10_x = callPackage ../development/web/nodejs/v10.nix {
+    enableNpm = false;
+    openssl = openssl_1_1_0;
+  };
+
   nodePackages_8_x = callPackage ../development/node-packages/default-v8.nix {
     nodejs = pkgs.nodejs-8_x;
   };
@@ -3311,9 +3437,6 @@ with pkgs;
 
   nodePackages = nodePackages_6_x;
 
-  # Can be used as a user shell
-  nologin = shadow;
-
   npm2nix = nodePackages.npm2nix;
 
   file-rename = callPackage ../tools/filesystems/file-rename { };
@@ -3324,6 +3447,8 @@ with pkgs;
 
   ispell = callPackage ../tools/text/ispell {};
 
+  jumanpp = callPackage ../tools/text/jumanpp {};
+
   kindlegen = callPackage ../tools/typesetting/kindlegen { };
 
   latex2html = callPackage ../tools/misc/latex2html { };
@@ -3360,6 +3485,11 @@ with pkgs;
 
   libite = callPackage ../development/libraries/libite { };
 
+  liblangtag = callPackage ../development/libraries/liblangtag {
+    inherit (gnome2) gtkdoc;
+    inherit (gnome3) gnome-common;
+  };
+
   liblouis = callPackage ../development/libraries/liblouis { };
 
   liboauth = callPackage ../development/libraries/liboauth { };
@@ -3374,6 +3504,8 @@ with pkgs;
 
   libtirpc = callPackage ../development/libraries/ti-rpc { };
 
+  libtins = callPackage ../development/libraries/libtins { };
+
   libshout = callPackage ../development/libraries/libshout { };
 
   libqb = callPackage ../development/libraries/libqb { };
@@ -3390,6 +3522,8 @@ with pkgs;
 
   libnabo = callPackage ../development/libraries/libnabo { };
 
+  libngspice = callPackage ../development/libraries/libngspice { };
+
   libpointmatcher = callPackage ../development/libraries/libpointmatcher { };
 
   libtorrent = callPackage ../tools/networking/p2p/libtorrent { };
@@ -3398,7 +3532,7 @@ with pkgs;
 
   libiberty = callPackage ../development/libraries/libiberty { };
 
-  libiberty_static = callPackage ../development/libraries/libiberty { staticBuild = true; };
+  libiberty_static = libiberty.override { staticBuild = true; };
 
   libibverbs = callPackage ../development/libraries/libibverbs { };
 
@@ -3418,8 +3552,12 @@ with pkgs;
 
   libwebsockets = callPackage ../development/libraries/libwebsockets { };
 
+  limesuite = callPackage ../applications/misc/limesuite { };
+
   limesurvey = callPackage ../servers/limesurvey { };
 
+  linuxquota = callPackage ../tools/misc/linuxquota { };
+
   localtime = callPackage ../tools/system/localtime { };
 
   logcheck = callPackage ../tools/system/logcheck {
@@ -3466,8 +3604,6 @@ with pkgs;
 
   lzip = callPackage ../tools/compression/lzip { };
 
-  lzma = xz;
-
   xz = callPackage ../tools/compression/xz { };
 
   lz4 = callPackage ../tools/compression/lz4 { };
@@ -3538,6 +3674,8 @@ with pkgs;
       };
     };
 
+  memtier-benchmark = callPackage ../tools/networking/memtier-benchmark { };
+
   memtest86 = callPackage ../tools/misc/memtest86 { };
 
   memtest86plus = callPackage ../tools/misc/memtest86+ { };
@@ -3623,12 +3761,14 @@ with pkgs;
 
   mitmproxy = callPackage ../tools/networking/mitmproxy { };
 
-  mjpegtoolsFull = callPackage ../tools/video/mjpegtools { };
-
-  mjpegtools = self.mjpegtoolsFull.override {
+  mjpegtools = callPackage ../tools/video/mjpegtools {
     withMinimal = true;
   };
 
+  mjpegtoolsFull = mjpegtools.override {
+    withMinimal = false;
+  };
+
   mkcue = callPackage ../tools/cd-dvd/mkcue { };
 
   mkpasswd = hiPrio (callPackage ../tools/security/mkpasswd { });
@@ -3641,12 +3781,10 @@ with pkgs;
 
   mmake = callPackage ../tools/misc/mmake { };
 
-  modemmanager = callPackage ../tools/networking/modemmanager {};
+  modemmanager = callPackage ../tools/networking/modem-manager {};
 
   modsecurity_standalone = callPackage ../tools/security/modsecurity { };
 
-  molden = callPackage ../applications/science/chemistry/molden { };
-
   molly-guard = callPackage ../os-specific/linux/molly-guard { };
 
   moneyplex = callPackage ../applications/office/moneyplex { };
@@ -3677,7 +3815,6 @@ with pkgs;
   mscgen = callPackage ../tools/graphics/mscgen { };
 
   metasploit = callPackage ../tools/security/metasploit { };
-  msf = metasploit;
 
   ms-sys = callPackage ../tools/misc/ms-sys { };
 
@@ -3721,6 +3858,8 @@ with pkgs;
 
   namazu = callPackage ../tools/text/namazu { };
 
+  nano-wallet = libsForQt5.callPackage ../applications/altcoins/nano-wallet { };
+
   nasty = callPackage ../tools/security/nasty { };
 
   nat-traverse = callPackage ../tools/networking/nat-traverse { };
@@ -3728,6 +3867,7 @@ with pkgs;
   nawk = callPackage ../tools/text/nawk { };
 
   nbd = callPackage ../tools/networking/nbd { };
+  xnbd = callPackage ../tools/networking/xnbd { };
 
   inherit (callPackages ../development/libraries/science/math/nccl { })
     nccl_cudatoolkit8
@@ -3767,13 +3907,13 @@ with pkgs;
 
   ndisc6 = callPackage ../tools/networking/ndisc6 { };
 
+  neopg = callPackage ../tools/security/neopg { };
+
   netboot = callPackage ../tools/networking/netboot {};
 
   netcat = netcat-openbsd;
 
-  netcat-gnu = callPackage ../tools/networking/netcat-gnu { };
-
-  netcat-openbsd = callPackage ../tools/networking/netcat-openbsd { };
+  netcat-gnu = callPackage ../tools/networking/netcat { };
 
   nethogs = callPackage ../tools/networking/nethogs { };
 
@@ -3794,8 +3934,6 @@ with pkgs;
 
   networkmanager-openvpn = callPackage ../tools/networking/network-manager/openvpn.nix { };
 
-  networkmanager-pptp = callPackage ../tools/networking/network-manager/pptp.nix { };
-
   networkmanager-l2tp = callPackage ../tools/networking/network-manager/l2tp.nix { };
 
   networkmanager-vpnc = callPackage ../tools/networking/network-manager/vpnc.nix { };
@@ -3806,11 +3944,9 @@ with pkgs;
 
   networkmanager_strongswan = callPackage ../tools/networking/network-manager/strongswan.nix { };
 
-  networkmanagerapplet = newScope gnome2 ../tools/networking/network-manager-applet { };
+  networkmanagerapplet = newScope gnome2 ../tools/networking/network-manager/applet.nix { };
 
-  networkmanager_dmenu = callPackage ../tools/networking/networkmanager_dmenu  { };
-
-  newsbeuter = callPackage ../applications/networking/feedreaders/newsbeuter { };
+  networkmanager_dmenu = callPackage ../tools/networking/network-manager/dmenu.nix  { };
 
   newsboat = callPackage ../applications/networking/feedreaders/newsboat { };
 
@@ -3857,12 +3993,9 @@ with pkgs;
   nifskope = callPackage ../tools/graphics/nifskope { };
 
   nilfs-utils = callPackage ../tools/filesystems/nilfs-utils {};
-  nilfs_utils = nilfs-utils;
 
   nitrogen = callPackage ../tools/X11/nitrogen {};
 
-  nixbot = callPackage ../tools/misc/nixbot {};
-
   notify-desktop = callPackage ../tools/misc/notify-desktop {};
 
   nkf = callPackage ../tools/text/nkf {};
@@ -3875,7 +4008,7 @@ with pkgs;
 
   nmap = callPackage ../tools/security/nmap { };
 
-  nmap-graphical = callPackage ../tools/security/nmap {
+  nmap-graphical = nmap.override {
     graphicalSupport = true;
   };
 
@@ -3950,7 +4083,7 @@ with pkgs;
 
   offlineimap = callPackage ../tools/networking/offlineimap { };
 
-  oh-my-zsh = callPackage ../shells/oh-my-zsh { };
+  oh-my-zsh = callPackage ../shells/zsh/oh-my-zsh { };
 
   ola = callPackage ../applications/misc/ola { };
 
@@ -3976,6 +4109,8 @@ with pkgs;
 
   opendylan_bin = callPackage ../development/compilers/opendylan/bin.nix { };
 
+  open-ecard = callPackage ../tools/security/open-ecard { };
+
   openjade = callPackage ../tools/text/sgml/openjade { };
 
   openmvg = callPackage ../applications/science/misc/openmvg { };
@@ -4026,8 +4161,6 @@ with pkgs;
 
   update-resolv-conf = callPackage ../tools/networking/openvpn/update-resolv-conf.nix { };
 
-  open-pdf-presenter = callPackage ../applications/misc/open-pdf-presenter { };
-
   openvswitch = callPackage ../os-specific/linux/openvswitch { };
 
   optipng = callPackage ../tools/graphics/optipng {
@@ -4046,6 +4179,8 @@ with pkgs;
 
   otpw = callPackage ../os-specific/linux/otpw { };
 
+  overmind = callPackage ../applications/misc/overmind { };
+
   owncloud = owncloud70;
 
   inherit (callPackages ../servers/owncloud { })
@@ -4166,6 +4301,10 @@ with pkgs;
 
   pcsc-cyberjack = callPackage ../tools/security/pcsc-cyberjack { };
 
+  pcsc-scm-scl011 = callPackage ../tools/security/pcsc-scm-scl011 { };
+
+  pdd = python3Packages.callPackage ../tools/misc/pdd { };
+
   pdf2djvu = callPackage ../tools/typesetting/pdf2djvu { };
 
   pdf2htmlEX = callPackage ../tools/typesetting/pdf2htmlEX { };
@@ -4176,7 +4315,9 @@ with pkgs;
 
   fmodex = callPackage ../games/zandronum/fmod.nix { };
 
-  pdfmod = callPackage ../applications/misc/pdfmod { };
+  pdfmod = callPackage ../applications/misc/pdfmod { mono = mono4; };
+
+  pdf-quench = callPackage ../applications/misc/pdf-quench { };
 
   jbig2enc = callPackage ../tools/graphics/jbig2enc { };
 
@@ -4211,28 +4352,31 @@ with pkgs;
 
   philter = callPackage ../tools/networking/philter { };
 
-  pinentry = pinentry_ncurses.override {
-    inherit gtk2;
+  pinentry = callPackage ../tools/security/pinentry {
+    libcap = if stdenv.isDarwin then null else libcap;
   };
 
-  pinentry_ncurses = callPackage ../tools/security/pinentry {
-    libcap = if stdenv.isDarwin then null else libcap;
+  pinentry_ncurses = pinentry.override {
     gtk2 = null;
   };
 
-  pinentry_gnome = pinentry_ncurses.override {
+  pinentry_emacs = pinentry.override {
+    enableEmacs = true;
+  };
+
+  pinentry_gnome = pinentry.override {
     gcr = gnome3.gcr;
   };
 
-  pinentry_qt4 = pinentry_ncurses.override {
+  pinentry_qt4 = pinentry.override {
     qt = qt4;
   };
 
-  pinentry_qt5 = pinentry_ncurses.override {
+  pinentry_qt5 = pinentry.override {
     qt = qt5.qtbase;
   };
 
-  pinentry_mac = callPackage ../tools/security/pinentry-mac {
+  pinentry_mac = callPackage ../tools/security/pinentry/mac.nix {
     inherit (darwin.apple_sdk.frameworks) Cocoa;
   };
 
@@ -4251,7 +4395,7 @@ with pkgs;
   plan9port = callPackage ../tools/system/plan9port { };
 
   platformioPackages = callPackage ../development/arduino/platformio { };
-  platformio = platformioPackages.platformio-chrootenv.override {};
+  platformio = platformioPackages.platformio-chrootenv;
 
   platinum-searcher = callPackage ../tools/text/platinum-searcher { };
 
@@ -4323,6 +4467,8 @@ with pkgs;
 
   profile-sync-daemon = callPackage ../tools/misc/profile-sync-daemon { };
 
+  projectlibre = callPackage ../applications/misc/projectlibre { };
+
   projectm = callPackage ../applications/audio/projectm { };
 
   proot = callPackage ../tools/system/proot { };
@@ -4347,6 +4493,8 @@ with pkgs;
 
   pssh = callPackage ../tools/networking/pssh { };
 
+  pspg = callPackage ../tools/misc/pspg { };
+
   pstoedit = callPackage ../tools/graphics/pstoedit { };
 
   psutils = callPackage ../tools/typesetting/psutils { };
@@ -4363,6 +4511,8 @@ with pkgs;
 
   pwnat = callPackage ../tools/networking/pwnat { };
 
+  pwndbg = callPackage ../development/tools/misc/pwndbg { };
+
   pycangjie = pythonPackages.pycangjie;
 
   pydb = callPackage ../development/tools/pydb { };
@@ -4375,6 +4525,8 @@ with pkgs;
 
   pytrainer = callPackage ../applications/misc/pytrainer { };
 
+  pywal = callPackage ../tools/graphics/pywal {};
+
   remarshal = callPackage ../development/tools/remarshal { };
 
   rtaudio = callPackage ../development/libraries/audio/rtaudio { };
@@ -4424,7 +4576,7 @@ with pkgs;
 
   quilt = callPackage ../development/tools/quilt { };
 
-  quota = callPackage ../tools/misc/quota { };
+  quota = if stdenv.isLinux then linuxquota else unixtools.quota;
 
   wiggle = callPackage ../development/tools/wiggle { };
 
@@ -4446,6 +4598,8 @@ with pkgs;
 
   rarcrack = callPackage ../tools/security/rarcrack { };
 
+  rarian = callPackage ../development/libraries/rarian { };
+
   ratools = callPackage ../tools/networking/ratools { };
 
   rawdog = callPackage ../applications/networking/feedreaders/rawdog { };
@@ -4454,6 +4608,8 @@ with pkgs;
 
   rdma-core = callPackage ../os-specific/linux/rdma-core { };
 
+  react-native-debugger = callPackage ../development/tools/react-native-debugger { };
+
   read-edid = callPackage ../os-specific/linux/read-edid { };
 
   redir = callPackage ../tools/networking/redir { };
@@ -4553,6 +4709,8 @@ with pkgs;
 
   rnv = callPackage ../tools/text/xml/rnv { };
 
+  rounded-mgenplus = callPackage ../data/fonts/rounded-mgenplus { };
+
   roundup = callPackage ../tools/misc/roundup { };
 
   routino = callPackage ../tools/misc/routino { };
@@ -4561,11 +4719,7 @@ with pkgs;
     v8 = v8_static;
   };
 
-  rsnapshot = callPackage ../tools/backup/rsnapshot {
-    # For the `logger' command, we can use either `utillinux' or
-    # GNU Inetutils.  The latter is more portable.
-    logger = if stdenv.isLinux then utillinux else inetutils;
-  };
+  rsnapshot = callPackage ../tools/backup/rsnapshot { };
 
   rlwrap = callPackage ../tools/misc/rlwrap { };
 
@@ -4577,6 +4731,8 @@ with pkgs;
 
   rpPPPoE = callPackage ../tools/networking/rp-pppoe { };
 
+  rpiboot-unstable = callPackage ../development/misc/rpiboot/unstable.nix { };
+
   rpm = callPackage ../tools/package-management/rpm { };
 
   rpm-ostree = callPackage ../tools/misc/rpm-ostree {
@@ -4587,6 +4743,8 @@ with pkgs;
 
   rrdtool = callPackage ../tools/misc/rrdtool { };
 
+  rsibreak = libsForQt5.callPackage ../applications/misc/rsibreak { };
+
   rss2email = callPackage ../applications/networking/feedreaders/rss2email {
     pythonPackages = python3Packages;
   };
@@ -4603,6 +4761,8 @@ with pkgs;
 
   runzip = callPackage ../tools/archivers/runzip { };
 
+  rw = callPackage ../tools/misc/rw { };
+
   rxp = callPackage ../tools/text/xml/rxp { };
 
   rzip = callPackage ../tools/compression/rzip { };
@@ -4631,12 +4791,18 @@ with pkgs;
 
   safe-rm = callPackage ../tools/system/safe-rm { };
 
+  safeeyes = callPackage ../applications/misc/safeeyes { };
+
   salt = callPackage ../tools/admin/salt {};
 
   salut_a_toi = callPackage ../applications/networking/instant-messengers/salut-a-toi {};
 
   samplicator = callPackage ../tools/networking/samplicator { };
 
+  sasview = callPackage ../applications/science/misc/sasview {};
+
+  scallion = callPackage ../tools/security/scallion { };
+
   scanbd = callPackage ../tools/graphics/scanbd { };
 
   screen = callPackage ../tools/misc/screen {
@@ -4729,11 +4895,10 @@ with pkgs;
   };
 
   silver-searcher = callPackage ../tools/text/silver-searcher { };
-  ag = self.silver-searcher;
 
   simpleproxy = callPackage ../tools/networking/simpleproxy { };
 
-  simplescreenrecorder = callPackage ../applications/video/simplescreenrecorder { };
+  simplescreenrecorder = libsForQt5.callPackage ../applications/video/simplescreenrecorder { };
 
   sipsak = callPackage ../tools/networking/sipsak { };
 
@@ -4751,12 +4916,18 @@ with pkgs;
 
   sleuthkit = callPackage ../tools/system/sleuthkit {};
 
+  sleepyhead = callPackage ../applications/misc/sleepyhead {};
+
   slimrat = callPackage ../tools/networking/slimrat {
     inherit (perlPackages) WWWMechanize LWP;
   };
 
   slsnif = callPackage ../tools/misc/slsnif { };
 
+  slstatus = callPackage ../applications/misc/slstatus {
+    conf = config.slstatus.conf or null;
+  };
+
   smartmontools = callPackage ../tools/system/smartmontools {
     inherit (darwin.apple_sdk.frameworks) IOKit ApplicationServices;
   };
@@ -4828,6 +4999,8 @@ with pkgs;
 
   squashfsTools = callPackage ../tools/filesystems/squashfs { };
 
+  squashfuse = callPackage ../tools/filesystems/squashfuse { };
+
   srcml = callPackage ../applications/version-management/srcml { };
 
   sshfs-fuse = callPackage ../tools/filesystems/sshfs-fuse { };
@@ -4878,6 +5051,8 @@ with pkgs;
 
   ssss = callPackage ../tools/security/ssss { };
 
+  stabber = callPackage ../misc/stabber { };
+
   stress = callPackage ../tools/system/stress { };
 
   stress-ng = callPackage ../tools/system/stress-ng { };
@@ -4899,8 +5074,8 @@ with pkgs;
   });
 
   strongswan    = callPackage ../tools/networking/strongswan { };
-  strongswanTNC = callPackage ../tools/networking/strongswan { enableTNC = true; };
-  strongswanNM  = callPackage ../tools/networking/strongswan { enableNetworkManager = true; };
+  strongswanTNC = strongswan.override { enableTNC = true; };
+  strongswanNM  = strongswan.override { enableNetworkManager = true; };
 
   su = shadow.su;
 
@@ -4914,6 +5089,8 @@ with pkgs;
     inherit (perlPackages) LWP URI HTMLParser HTTPServerSimple Parent;
   };
 
+  swfdec = callPackage ../tools/graphics/swfdec {};
+
   svnfs = callPackage ../tools/filesystems/svnfs { };
 
   svtplay-dl = callPackage ../tools/misc/svtplay-dl { };
@@ -4967,9 +5144,9 @@ with pkgs;
 
   tcpreplay = callPackage ../tools/networking/tcpreplay { };
 
-  teamviewer = callPackage ../applications/networking/remote/teamviewer {
-    stdenv = stdenv_32bit;
-  };
+  ted = callPackage ../tools/typesetting/ted { };
+
+  teamviewer = libsForQt5.callPackage ../applications/networking/remote/teamviewer { };
 
   telnet = callPackage ../tools/networking/telnet { };
 
@@ -4979,14 +5156,21 @@ with pkgs;
 
   telepresence = callPackage ../tools/networking/telepresence { };
 
+  termplay = callPackage ../tools/misc/termplay { };
+
   tewisay = callPackage ../tools/misc/tewisay { };
 
-  texmacs = callPackage ../applications/editors/texmacs {
-    tex = texlive.combined.scheme-small;
-    extraFonts = true;
-  };
+  texmacs = if stdenv.isDarwin
+    then callPackage ../applications/editors/texmacs/darwin.nix {
+      inherit (darwin.apple_sdk.frameworks) CoreFoundation Cocoa;
+      tex = texlive.combined.scheme-small;
+      extraFonts = true;
+    } else callPackage ../applications/editors/texmacs {
+      tex = texlive.combined.scheme-small;
+      extraFonts = true;
+    };
 
-  texmaker = callPackage ../applications/editors/texmaker { };
+  texmaker = libsForQt5.callPackage ../applications/editors/texmaker { };
 
   texstudio = callPackage ../applications/editors/texstudio { };
 
@@ -5022,6 +5206,8 @@ with pkgs;
 
   tiny8086 = callPackage ../applications/virtualization/8086tiny { };
 
+  tio = callPackage ../tools/misc/tio { };
+
   tldr = callPackage ../tools/misc/tldr { };
 
   tldr-hs = haskellPackages.tldr;
@@ -5040,6 +5226,8 @@ with pkgs;
 
   tmuxinator = callPackage ../tools/misc/tmuxinator { };
 
+  tmuxPlugins = recurseIntoAttrs (callPackage ../misc/tmux-plugins { });
+
   tmsu = callPackage ../tools/filesystems/tmsu { };
 
   toilet = callPackage ../tools/misc/toilet { };
@@ -5069,7 +5257,7 @@ with pkgs;
 
   torsocks = callPackage ../tools/security/tor/torsocks.nix { };
 
-  toxvpn = callPackage ../tools/networking/toxvpn { };
+  toxvpn = callPackage ../tools/networking/toxvpn { libtoxcore = libtoxcore_0_1; };
 
   tpmmanager = callPackage ../applications/misc/tpmmanager { };
 
@@ -5124,6 +5312,10 @@ with pkgs;
 
   oysttyer = callPackage ../applications/networking/instant-messengers/oysttyer { };
 
+  twilight = callPackage ../tools/graphics/twilight/default.nix {
+    libX11 = xorg.libX11;
+  };
+
   twitterBootstrap = callPackage ../development/web/twitter-bootstrap {};
   twitterBootstrap3 = callPackage ../development/web/twitter-bootstrap/v3.nix {};
 
@@ -5147,10 +5339,14 @@ with pkgs;
 
   udptunnel = callPackage ../tools/networking/udptunnel { };
 
-  ufraw = callPackage ../applications/graphics/ufraw { };
+  ufraw = callPackage ../applications/graphics/ufraw {
+    stdenv = overrideCC stdenv gcc6; # doesn't build with gcc7
+  };
 
   uget = callPackage ../tools/networking/uget { };
 
+  uget-integrator = callPackage ../tools/networking/uget-integrator { };
+
   uif2iso = callPackage ../tools/cd-dvd/uif2iso { };
 
   umlet = callPackage ../tools/misc/umlet { };
@@ -5200,7 +5396,8 @@ with pkgs;
   vcftools = callPackage ../applications/science/biology/vcftools { };
 
   vcsh = callPackage ../applications/version-management/vcsh {
-    inherit (perlPackages) ShellCommand TestMost;
+    inherit (perlPackages) ShellCommand TestMost TestDifferences TestDeep
+      TestException TestWarn;
   };
 
   vcstool = callPackage ../development/tools/vcstool { };
@@ -5228,6 +5425,8 @@ with pkgs;
 
   vncrec = callPackage ../tools/video/vncrec { };
 
+  vo-amrwbenc = callPackage ../development/libraries/vo-amrwbenc { };
+
   vobcopy = callPackage ../tools/cd-dvd/vobcopy { };
 
   vobsub2srt = callPackage ../tools/cd-dvd/vobsub2srt { };
@@ -5337,8 +5536,6 @@ with pkgs;
 
   tradcpp = callPackage ../development/tools/tradcpp { };
 
-  trang = self.jing-trang;
-
   tre = callPackage ../development/libraries/tre { };
 
   ts = callPackage ../tools/system/ts { };
@@ -5396,6 +5593,8 @@ with pkgs;
 
   xprintidle-ng = callPackage ../tools/X11/xprintidle-ng {};
 
+  xscast = callPackage ../applications/video/xscast { };
+
   xsettingsd = callPackage ../tools/X11/xsettingsd { };
 
   xsensors = callPackage ../os-specific/linux/xsensors { };
@@ -5412,6 +5611,8 @@ with pkgs;
 
   unarj = callPackage ../tools/archivers/unarj { };
 
+  unp = callPackage ../tools/archivers/unp { };
+
   unshield = callPackage ../tools/archivers/unshield { };
 
   unzip = callPackage ../tools/archivers/unzip { };
@@ -5435,11 +5636,17 @@ with pkgs;
     inherit (gnome3) libgee;
   };
 
-  varnish = callPackage ../servers/varnish { };
-  varnish-modules = callPackage ../servers/varnish/modules.nix { };
-  varnish-digest = callPackage ../servers/varnish/digest.nix { };
-  varnish-geoip = callPackage ../servers/varnish/geoip.nix { };
-  varnish-rtstatus = callPackage ../servers/varnish/rtstatus.nix { };
+  inherit (callPackages ../servers/varnish { })
+    varnish4 varnish5 varnish6;
+  inherit (callPackages ../servers/varnish/packages.nix { })
+    varnish4Packages
+    varnish5Packages
+    varnish6Packages;
+
+  varnishPackages = varnish5Packages;
+  varnish = varnishPackages.varnish;
+
+  hitch = callPackage ../servers/hitch { };
 
   venus = callPackage ../tools/misc/venus {
     python = python27;
@@ -5500,13 +5707,15 @@ with pkgs;
 
   wrk = callPackage ../tools/networking/wrk { };
 
+  wrk2 = callPackage ../tools/networking/wrk2 { };
+
   wuzz = callPackage ../tools/networking/wuzz { };
 
   wv = callPackage ../tools/misc/wv { };
 
   wv2 = callPackage ../tools/misc/wv2 { };
 
-  inherit (ocamlPackages) wyrd;
+  wyrd = callPackage ../tools/misc/wyrd { };
 
   x86info = callPackage ../os-specific/linux/x86info { };
 
@@ -5550,8 +5759,12 @@ with pkgs;
 
   xml2 = callPackage ../tools/text/xml/xml2 { };
 
+  xmlformat = callPackage ../tools/text/xml/xmlformat { };
+
   xmlroff = callPackage ../tools/typesetting/xmlroff { };
 
+  xmloscopy = callPackage ../tools/text/xml/xmloscopy { };
+
   xmlstarlet = callPackage ../tools/text/xml/xmlstarlet { };
 
   xmlto = callPackage ../tools/typesetting/xmlto {
@@ -5562,6 +5775,8 @@ with pkgs;
 
   xiccd = callPackage ../tools/misc/xiccd { };
 
+  xidlehook = callPackage ../tools/X11/xidlehook {};
+
   xorriso = callPackage ../tools/cd-dvd/xorriso { };
 
   xpf = callPackage ../tools/text/xml/xpf {
@@ -5572,7 +5787,9 @@ with pkgs;
 
   xsv = callPackage ../tools/text/xsv { };
 
-  xtreemfs = callPackage ../tools/filesystems/xtreemfs {};
+  xtreemfs = callPackage ../tools/filesystems/xtreemfs {
+    boost = boost165;
+  };
 
   xurls = callPackage ../tools/text/xurls {};
 
@@ -5588,6 +5805,9 @@ with pkgs;
 
   yarn = callPackage ../development/tools/yarn  { };
 
+  yarn2nix = callPackage ../development/tools/yarn2nix { };
+  inherit (yarn2nix) mkYarnPackage;
+
   yasr = callPackage ../applications/audio/yasr { };
 
   yank = callPackage ../tools/misc/yank { };
@@ -5635,17 +5855,17 @@ with pkgs;
 
   zsh-autoenv = callPackage ../tools/misc/zsh-autoenv { };
 
-  zsh-git-prompt = callPackage ../shells/zsh-git-prompt { };
+  zsh-git-prompt = callPackage ../shells/zsh/zsh-git-prompt { };
 
   zsh-navigation-tools = callPackage ../tools/misc/zsh-navigation-tools { };
 
-  zsh-syntax-highlighting = callPackage ../shells/zsh-syntax-highlighting { };
+  zsh-syntax-highlighting = callPackage ../shells/zsh/zsh-syntax-highlighting { };
 
-  zsh-autosuggestions = callPackage ../shells/zsh-autosuggestions { };
+  zsh-autosuggestions = callPackage ../shells/zsh/zsh-autosuggestions { };
 
-  zsh-powerlevel9k = callPackage ../shells/zsh-powerlevel9k { };
+  zsh-powerlevel9k = callPackage ../shells/zsh/zsh-powerlevel9k { };
 
-  zsh-command-time = callPackage ../shells/zsh-command-time { };
+  zsh-command-time = callPackage ../shells/zsh/zsh-command-time { };
 
   zssh = callPackage ../tools/networking/zssh { };
 
@@ -5659,27 +5879,30 @@ with pkgs;
 
   ### SHELLS
 
-  bash = lowPrio (callPackage ../shells/bash/4.4.nix {
-    texinfo = null;
-    interactive = stdenv.isCygwin; # patch for cygwin requires readline support
-  });
+  runtimeShell = "${runtimeShellPackage}/bin/bash";
+  runtimeShellPackage = bash;
+
+  bash = lowPrio (callPackage ../shells/bash/4.4.nix { });
 
   # WARNING: this attribute is used by nix-shell so it shouldn't be removed/renamed
-  bashInteractive = appendToName "interactive" (callPackage ../shells/bash/4.4.nix {
+  bashInteractive = callPackage ../shells/bash/4.4.nix {
     interactive = true;
-  });
+    withDocs = true;
+  };
 
-  bash-completion = callPackage ../shells/bash-completion { };
+  bash-completion = callPackage ../shells/bash/bash-completion { };
 
-  nix-bash-completions = callPackage ../shells/nix-bash-completions { };
+  nix-bash-completions = callPackage ../shells/bash/nix-bash-completions { };
 
   dash = callPackage ../shells/dash { };
 
+  dashing = callPackage ../tools/misc/dashing { };
+
   es = callPackage ../shells/es { };
 
   fish = callPackage ../shells/fish { };
 
-  fish-foreign-env = callPackage ../shells/fish-foreign-env { };
+  fish-foreign-env = callPackage ../shells/fish/fish-foreign-env { };
 
   ion = callPackage ../shells/ion { };
 
@@ -5701,13 +5924,13 @@ with pkgs;
 
   zsh = callPackage ../shells/zsh { };
 
-  nix-zsh-completions = callPackage ../shells/nix-zsh-completions { };
+  nix-zsh-completions = callPackage ../shells/zsh/nix-zsh-completions { };
 
-  zsh-completions = callPackage ../shells/zsh-completions { };
+  zsh-completions = callPackage ../shells/zsh/zsh-completions { };
 
-  zsh-prezto = callPackage ../shells/zsh-prezto { };
+  zsh-prezto = callPackage ../shells/zsh/zsh-prezto { };
 
-  grml-zsh-config = callPackage ../shells/grml-zsh-config { };
+  grml-zsh-config = callPackage ../shells/zsh/grml-zsh-config { };
 
 
   ### DEVELOPMENT / COMPILERS
@@ -5730,7 +5953,8 @@ with pkgs;
   avra = callPackage ../development/compilers/avra { };
 
   avian = callPackage ../development/compilers/avian {
-    stdenv = overrideCC stdenv gcc49;
+    inherit (darwin.apple_sdk.frameworks) CoreServices Foundation;
+    stdenv = if stdenv.cc.isGNU then overrideCC stdenv gcc49 else stdenv;
   };
 
   bigloo = callPackage ../development/compilers/bigloo { };
@@ -5755,7 +5979,9 @@ with pkgs;
     chickenEggs = callPackage ../development/tools/egg2nix/chicken-eggs.nix { };
   };
 
-  ccl = callPackage ../development/compilers/ccl { };
+  ccl = callPackage ../development/compilers/ccl {
+    inherit (darwin) bootstrap_cmds;
+  };
 
   chez = callPackage ../development/compilers/chez {
     inherit (darwin) cctools;
@@ -5775,6 +6001,7 @@ with pkgs;
     };
   };
 
+  clang_6  = llvmPackages_6.clang;
   clang_5  = llvmPackages_5.clang;
   clang_4  = llvmPackages_4.clang;
   clang_39 = llvmPackages_39.clang;
@@ -5787,8 +6014,6 @@ with pkgs;
 
   clang-analyzer = callPackage ../development/tools/analysis/clang-analyzer { };
 
-  clangUnwrapped = llvm: pkg: callPackage pkg { inherit llvm; };
-
   clangSelf = clangWrapSelf llvmPackagesSelf.clang;
 
   clangWrapSelf = build: ccWrapperFun {
@@ -5843,6 +6068,8 @@ with pkgs;
   ecl = callPackage ../development/compilers/ecl { };
   ecl_16_1_2 = callPackage ../development/compilers/ecl/16.1.2.nix { };
 
+  eli = callPackage ../development/compilers/eli { };
+
   eql = callPackage ../development/compilers/eql {};
 
   elmPackages = recurseIntoAttrs (callPackage ../development/compilers/elm { });
@@ -5852,7 +6079,9 @@ with pkgs;
   fpc = callPackage ../development/compilers/fpc { };
 
   gambit = callPackage ../development/compilers/gambit { };
+  gambit-unstable = callPackage ../development/compilers/gambit/unstable.nix { };
   gerbil = callPackage ../development/compilers/gerbil { };
+  gerbil-unstable = callPackage ../development/compilers/gerbil/unstable.nix { };
 
   gccFun = callPackage ../development/compilers/gcc/7;
   gcc = gcc7;
@@ -5867,6 +6096,7 @@ with pkgs;
   };
 
   gcc7Stdenv = overrideCC gccStdenv gcc7;
+  gcc8Stdenv = overrideCC gccStdenv gcc8;
 
   wrapCCMulti = cc:
     if system == "x86_64-linux" then let
@@ -5911,8 +6141,6 @@ with pkgs;
     stripped = false;
   }));
 
-  gccApple = throw "gccApple is no longer supported";
-
   libstdcxxHook = makeSetupHook
     { substitutions = { gcc = gcc-unwrapped; }; }
     ../development/compilers/gcc/libstdc++-hook.sh;
@@ -5938,7 +6166,6 @@ with pkgs;
       libc = libcCross1;
     };
     in wrapCCWith {
-      name = "gcc-cross-wrapper";
       cc = gccFun {
         # copy-pasted
         inherit noSysDirs;
@@ -5965,20 +6192,6 @@ with pkgs;
     inherit binutils;
   };
 
-  gcc45 = lowPrio (wrapCC (callPackage ../development/compilers/gcc/4.5 {
-    inherit noSysDirs;
-    texinfo = texinfo4;
-
-    ppl = null;
-    cloogppl = null;
-
-    # bootstrapping a profiled compiler does not work in the sheevaplug:
-    # http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43944
-    profiledCompiler = !stdenv.isAarch32;
-
-    libcCross = if targetPlatform != buildPlatform then libcCross else null;
-  }));
-
   gcc48 = lowPrio (wrapCC (callPackage ../development/compilers/gcc/4.8 {
     inherit noSysDirs;
 
@@ -6038,6 +6251,17 @@ with pkgs;
     isl = if !stdenv.isDarwin then isl_0_17 else null;
   }));
 
+  gcc8 = lowPrio (wrapCC (callPackage ../development/compilers/gcc/8 {
+    inherit noSysDirs;
+
+    # PGO seems to speed up compilation by gcc by ~10%, see #445 discussion
+    profiledCompiler = with stdenv; (!isDarwin && (isi686 || isx86_64));
+
+    libcCross = if targetPlatform != buildPlatform then libcCross else null;
+
+    isl = if !stdenv.isDarwin then isl_0_17 else null;
+  }));
+
   gcc-snapshot = lowPrio (wrapCC (callPackage ../development/compilers/gcc/snapshot {
     inherit noSysDirs;
 
@@ -6103,23 +6327,6 @@ with pkgs;
     inherit (gnome2) libart_lgpl;
   });
 
-  gnat = gnat45; # failed to make 4.6 or 4.8 build
-
-  gnat45 = wrapCC (gcc45.cc.override {
-    name = "gnat";
-    langCC = false;
-    langC = true;
-    langAda = true;
-    profiledCompiler = false;
-    inherit gnatboot;
-    # We can't use the ppl stuff, because we would have
-    # libstdc++ problems.
-    cloogppl = null;
-    ppl = null;
-  });
-
-  gnatboot = wrapGCC-old (callPackage ../development/compilers/gnatboot {});
-
   gnu-smalltalk = callPackage ../development/compilers/gnu-smalltalk {
     emacsSupport = config.emacsSupport or false;
   };
@@ -6133,14 +6340,6 @@ with pkgs;
     profiledCompiler = false;
   });
 
-  ghdl_mcode = callPackage_i686 ../development/compilers/ghdl {
-    flavour = "mcode";
-  };
-
-  ghdl_llvm = callPackage ../development/compilers/ghdl {
-    flavour = "llvm";
-  };
-
   gcl = callPackage ../development/compilers/gcl {
     gmp = gmp4;
   };
@@ -6264,10 +6463,6 @@ with pkgs;
 
   gwt240 = callPackage ../development/compilers/gwt/2.4.0.nix { };
 
-  icedtea7_web = callPackage ../development/compilers/icedtea-web {
-    jdk = jdk7;
-  };
-
   icedtea8_web = callPackage ../development/compilers/icedtea-web {
     jdk = jdk8;
   };
@@ -6305,39 +6500,24 @@ with pkgs;
 
   hugs = callPackage ../development/interpreters/hugs { };
 
-  openjdk7 =
-    if stdenv.isDarwin then
-      callPackage ../development/compilers/openjdk-darwin { }
-    else
-      callPackage ../development/compilers/openjdk/7.nix {
-        bootjdk = callPackage ../development/compilers/openjdk/bootstrap.nix { version = "7"; };
-      };
+  bootjdk = callPackage ../development/compilers/openjdk/bootstrap.nix { version = "10"; };
 
   openjdk8 =
     if stdenv.isDarwin then
-      callPackage ../development/compilers/openjdk-darwin/8.nix { }
+      callPackage ../development/compilers/openjdk/darwin/8.nix { }
     else
       callPackage ../development/compilers/openjdk/8.nix {
-        bootjdk = callPackage ../development/compilers/openjdk/bootstrap.nix { version = "8"; };
+        bootjdk = bootjdk.override { version = "8"; };
         inherit (gnome2) GConf gnome_vfs;
       };
 
-  openjdk9 =
-    # if stdenv.isDarwin then
-    #   callPackage ../development/compilers/openjdk-darwin/9.nix { }
-    # else
-      callPackage ../development/compilers/openjdk/9.nix {
-        bootjdk = openjdk8;
+  openjdk10 =
+      callPackage ../development/compilers/openjdk/10.nix {
         inherit (gnome2) GConf gnome_vfs;
       };
 
   openjdk = openjdk8;
 
-  jdk7 = openjdk7 // { outputs = [ "out" ]; };
-  jre7 = lib.setName "openjre-${lib.getVersion pkgs.openjdk7.jre}"
-    (lib.addMetaAttrs { outputsToInstall = [ "jre" ]; }
-      (openjdk7.jre // { outputs = [ "jre" ]; }));
-
   jdk8 = if stdenv.isAarch32 || stdenv.isAarch64 then oraclejdk8 else openjdk8 // { outputs = [ "out" ]; };
   jre8 = if stdenv.isAarch32 || stdenv.isAarch64 then oraclejre8 else lib.setName "openjre-${lib.getVersion pkgs.openjdk8.jre}"
     (lib.addMetaAttrs { outputsToInstall = [ "jre" ]; }
@@ -6352,19 +6532,19 @@ with pkgs;
         (lib.addMetaAttrs { outputsToInstall = [ "jre" ]; }
           ((openjdk8.override { minimal = true; }).jre // { outputs = [ "jre" ]; }));
 
-  jdk9 = if stdenv.isAarch32 || stdenv.isAarch64 then oraclejdk9 else openjdk9 // { outputs = [ "out" ]; };
-  jre9 = if stdenv.isAarch32 || stdenv.isAarch64 then oraclejre9 else lib.setName "openjre-${lib.getVersion pkgs.openjdk9.jre}"
+  jdk10 = if stdenv.isAarch32 || stdenv.isAarch64 then oraclejdk10 else openjdk10 // { outputs = [ "out" ]; };
+  jre10 = if stdenv.isAarch32 || stdenv.isAarch64 then oraclejre10 else lib.setName "openjre-${lib.getVersion pkgs.openjdk10.jre}"
     (lib.addMetaAttrs { outputsToInstall = [ "jre" ]; }
-      (openjdk9.jre // { outputs = [ "jre" ]; }));
-  jre9_headless =
+      (openjdk10.jre // { outputs = [ "jre" ]; }));
+  jre10_headless =
     if stdenv.isAarch32 || stdenv.isAarch64 then
-      oraclejre9
+      oraclejre10
     else if stdenv.isDarwin then
-      jre9
+      jre10
     else
-      lib.setName "openjre-${lib.getVersion pkgs.openjdk9.jre}-headless"
+      lib.setName "openjre-${lib.getVersion pkgs.openjdk10.jre}-headless"
         (lib.addMetaAttrs { outputsToInstall = [ "jre" ]; }
-          ((openjdk9.override { minimal = true; }).jre // { outputs = [ "jre" ]; }));
+          ((openjdk10.override { minimal = true; }).jre // { outputs = [ "jre" ]; }));
 
   jdk = jdk8;
   jre = jre8;
@@ -6380,7 +6560,7 @@ with pkgs;
 
   oraclejdk8psu = pkgs.oraclejdk8psu_distro true false;
 
-  oraclejdk9 = pkgs.oraclejdk9distro "JDK" false;
+  oraclejdk10 = pkgs.oraclejdk10distro "JDK" false;
 
   oraclejre = lowPrio (pkgs.jdkdistro false false);
 
@@ -6388,9 +6568,9 @@ with pkgs;
 
   oraclejre8psu = lowPrio (pkgs.oraclejdk8psu_distro false false);
 
-  oraclejre9 = lowPrio (pkgs.oraclejdk9distro "JRE" false);
+  oraclejre10 = lowPrio (pkgs.oraclejdk10distro "JRE" false);
 
-  oracleserverjre9 = lowPrio (pkgs.oraclejdk9distro "ServerJRE" false);
+  oracleserverjre10 = lowPrio (pkgs.oraclejdk10distro "ServerJRE" false);
 
   jrePlugin = jre8Plugin;
 
@@ -6406,9 +6586,9 @@ with pkgs;
     (if pluginSupport then appendToName "with-plugin" else x: x)
       (callPackage ../development/compilers/oraclejdk/jdk8psu-linux.nix { inherit installjdk pluginSupport; });
 
-  oraclejdk9distro = packageType: pluginSupport:
+  oraclejdk10distro = packageType: pluginSupport:
     (if pluginSupport then appendToName "with-plugin" else x: x)
-      (callPackage ../development/compilers/oraclejdk/jdk9-linux.nix { inherit packageType pluginSupport; });
+      (callPackage ../development/compilers/oraclejdk/jdk10-linux.nix { inherit packageType pluginSupport; });
 
   jikes = callPackage ../development/compilers/jikes { };
 
@@ -6460,13 +6640,16 @@ with pkgs;
   lld = llvmPackages.lld;
   lld_4 = llvmPackages_4.lld;
   lld_5 = llvmPackages_5.lld;
+  lld_6 = llvmPackages_6.lld;
 
   lldb = llvmPackages.lldb;
   lldb_4 = llvmPackages_4.lldb;
   lldb_5 = llvmPackages_5.lldb;
+  lldb_6 = llvmPackages_6.lldb;
 
   llvm = llvmPackages.llvm;
 
+  llvm_6  = llvmPackages_6.llvm;
   llvm_5  = llvmPackages_5.llvm;
   llvm_4  = llvmPackages_4.llvm;
   llvm_39 = llvmPackages_39.llvm;
@@ -6530,6 +6713,12 @@ with pkgs;
     stdenv = overrideCC stdenv gcc6; # with gcc-7: undefined reference to `__divmoddi4'
   });
 
+  llvmPackages_6 = callPackage ../development/compilers/llvm/6 ({
+    inherit (stdenvAdapters) overrideCC;
+  } // stdenv.lib.optionalAttrs (stdenv.cc.isGNU && stdenv.hostPlatform.isi686) {
+    stdenv = overrideCC stdenv gcc6; # with gcc-7: undefined reference to `__divmoddi4'
+  });
+
   manticore = callPackage ../development/compilers/manticore { };
 
   mentorToolchains = recurseIntoAttrs (
@@ -6546,7 +6735,7 @@ with pkgs;
    xlibsWrapper = null;
   };
 
-  mitschemeX11 = callPackage ../development/compilers/mit-scheme {
+  mitschemeX11 = mitscheme.override {
    texLive = texlive.combine { inherit (texlive) scheme-small; };
    texinfo = texinfo5;
    enableX11 = true;
@@ -6556,12 +6745,14 @@ with pkgs;
 
   mlton = callPackage ../development/compilers/mlton { };
 
-  mono = mono40;
+  mono  = mono5;
+  mono5 = mono58;
+  mono4 = mono48;
 
-  mono40 = callPackage ../development/compilers/mono/4.0.nix {
+  mono40 = lowPrio (callPackage ../development/compilers/mono/4.0.nix {
     inherit (darwin) libobjc;
     inherit (darwin.apple_sdk.frameworks) Foundation;
-  };
+  });
 
   mono44 = lowPrio (callPackage ../development/compilers/mono/4.4.nix {
     inherit (darwin) libobjc;
@@ -6588,10 +6779,10 @@ with pkgs;
     inherit (darwin.apple_sdk.frameworks) Foundation;
   });
 
-  mono58 = lowPrio (callPackage ../development/compilers/mono/5.8.nix {
+  mono58 = callPackage ../development/compilers/mono/5.8.nix {
     inherit (darwin) libobjc;
     inherit (darwin.apple_sdk.frameworks) Foundation;
-  });
+  };
 
   monoDLLFixer = callPackage ../build-support/mono-dll-fixer { };
 
@@ -6656,7 +6847,7 @@ with pkgs;
 
   buildRustCrate = callPackage ../build-support/rust/build-rust-crate.nix { };
 
-  cargo-vendor = callPackage ../build-support/rust/cargo-vendor {};
+  cargo-vendor = callPackage ../build-support/rust/cargo-vendor { };
 
   carnix = (callPackage ../build-support/rust/carnix.nix { }).carnix { };
 
@@ -6681,6 +6872,8 @@ with pkgs;
 
   cargo-edit = callPackage ../tools/package-management/cargo-edit { };
 
+  cargo-fuzz = callPackage ../development/tools/rust/cargo-fuzz { };
+
   rainicorn = callPackage ../development/tools/rust/rainicorn { };
   rustfmt = callPackage ../development/tools/rust/rustfmt { };
   rustracer = callPackage ../development/tools/rust/racer { };
@@ -6764,6 +6957,7 @@ with pkgs;
     vala_0_34
     vala_0_36
     vala_0_38
+    vala_0_40
     vala;
 
   valadoc = callPackage ../development/tools/valadoc { };
@@ -6798,24 +6992,15 @@ with pkgs;
     bintools = if targetPlatform.isDarwin then darwin.binutils else binutils;
     libc = if targetPlatform != hostPlatform then libcCross else stdenv.cc.libc;
   };
-  # legacy version, used for gnat bootstrapping
-  wrapGCC-old = baseGCC: callPackage ../build-support/gcc-wrapper-old {
-    nativeTools = stdenv.cc.nativeTools or false;
-    nativeLibc = stdenv.cc.nativeLibc or false;
-    nativePrefix = stdenv.cc.nativePrefix or "";
-    gcc = baseGCC;
-    libc = glibc;
-  };
 
-  wrapBintoolsWith = { bintools, libc }: bintoolsWrapperFun {
+  wrapBintoolsWith = { bintools, libc, extraBuildCommands ? "" }: bintoolsWrapperFun {
     nativeTools = targetPlatform == hostPlatform && stdenv.cc.nativeTools or false;
     nativeLibc = targetPlatform == hostPlatform && stdenv.cc.nativeLibc or false;
     nativePrefix = stdenv.cc.nativePrefix or "";
 
     noLibc = (libc == null);
 
-    inherit bintools libc;
-    extraBuildCommands = "";
+    inherit bintools libc extraBuildCommands;
   };
 
   # prolog
@@ -6828,8 +7013,7 @@ with pkgs;
   z88dk = callPackage ../development/compilers/z88dk { };
 
   zulu8 = callPackage ../development/compilers/zulu/8.nix { };
-  zulu9 = callPackage ../development/compilers/zulu { };
-  zulu = zulu9;
+  zulu = callPackage ../development/compilers/zulu { };
 
   ### DEVELOPMENT / INTERPRETERS
 
@@ -6910,7 +7094,7 @@ with pkgs;
     gtk2 = gtk2-x11;
   };
 
-  lxappearance-gtk3 = callPackage ../desktops/lxde/core/lxappearance {
+  lxappearance-gtk3 = lxappearance.override {
     withGtk3 = true;
   };
 
@@ -6930,6 +7114,7 @@ with pkgs;
   love_0_8 = callPackage ../development/interpreters/love/0.8.nix { lua=lua5_1; };
   love_0_9 = callPackage ../development/interpreters/love/0.9.nix { };
   love_0_10 = callPackage ../development/interpreters/love/0.10.nix { };
+  love_11 = callPackage ../development/interpreters/love/11.1.nix { };
   love = love_0_10;
 
   ### LUA MODULES
@@ -7010,7 +7195,7 @@ with pkgs;
       octaveHg = lowPrio (callPackage ../development/interpreters/octave/hg.nix hgOctaveOptions);
   }) octave octaveHg;
 
-  octaveFull = (lowPrio (callPackage ../development/interpreters/octave {
+  octaveFull = (lowPrio (octave.override {
     qt = qt4;
     overridePlatforms = ["x86_64-linux" "x86_64-darwin"];
     openblas = if stdenv.isDarwin then openblasCompat else openblas;
@@ -7018,8 +7203,6 @@ with pkgs;
 
   ocropus = callPackage ../applications/misc/ocropus { };
 
-  octopus = callPackage ../applications/science/chemistry/octopus { openblas=openblasCompat; };
-
   inherit (callPackages ../development/interpreters/perl {}) perl perl522 perl524 perl526;
 
   pachyderm = callPackage ../applications/networking/cluster/pachyderm { };
@@ -7066,8 +7249,6 @@ with pkgs;
 
   picolisp = callPackage ../development/interpreters/picolisp {};
 
-  pltScheme = racket; # just to be sure
-
   polyml = callPackage ../development/compilers/polyml { };
   polyml56 = callPackage ../development/compilers/polyml/5.6.nix { };
 
@@ -7140,6 +7321,8 @@ with pkgs;
     pythonPackages = python3Packages;
   };
 
+  setupcfg2nix = python3Packages.callPackage ../development/tools/setupcfg2nix {};
+
   # These pyside tools do not provide any Python modules and are meant to be here.
   # See ../development/python-modules/pyside/default.nix for details.
   pysideApiextractor = callPackage ../development/python-modules/pyside/apiextractor.nix { };
@@ -7195,7 +7378,10 @@ with pkgs;
   bundlerEnv = callPackage ../development/ruby-modules/bundler-env { };
   bundlerApp = callPackage ../development/ruby-modules/bundler-app { };
 
-  inherit (callPackage ../development/interpreters/ruby { inherit (darwin.apple_sdk.frameworks) Foundation; })
+  inherit (callPackage ../development/interpreters/ruby {
+    inherit (darwin) libiconv libobjc libunwind;
+    inherit (darwin.apple_sdk.frameworks) Foundation;
+  })
     ruby_2_3
     ruby_2_4
     ruby_2_5;
@@ -7239,22 +7425,21 @@ with pkgs;
 
   amdadlsdk = callPackage ../development/misc/amdadl-sdk { };
 
-  amdappsdk26 = callPackage ../development/misc/amdapp-sdk {
+  amdappsdk26 = amdappsdk.override {
     version = "2.6";
   };
 
-  amdappsdk27 = callPackage ../development/misc/amdapp-sdk {
+  amdappsdk27 = amdappsdk.override {
     version = "2.7";
   };
 
-  amdappsdk28 = callPackage ../development/misc/amdapp-sdk {
+  amdappsdk28 = amdappsdk.override {
     version = "2.8";
   };
 
-  amdappsdk = amdappsdk28;
+  amdappsdk = callPackage ../development/misc/amdapp-sdk { };
 
-  amdappsdkFull = callPackage ../development/misc/amdapp-sdk {
-    version = "2.8";
+  amdappsdkFull = amdappsdk.override {
     samples = true;
   };
 
@@ -7268,12 +7453,10 @@ with pkgs;
 
   avr8burnomat = callPackage ../development/misc/avr8-burn-omat { };
 
-  betaflight = callPackage ../development/stm32/betaflight { };
+  betaflight = callPackage ../development/misc/stm32/betaflight { };
 
   sourceFromHead = callPackage ../build-support/source-from-head-fun.nix {};
 
-  ecj = callPackage ../development/eclipse/ecj { };
-
   jruby = callPackage ../development/interpreters/jruby { };
 
   jython = callPackage ../development/interpreters/jython {};
@@ -7334,12 +7517,13 @@ with pkgs;
 
   augeas = callPackage ../tools/system/augeas { };
 
-  ansible_2_1 = callPackage ../tools/admin/ansible/2.1.nix {};
-  ansible_2_2 = callPackage ../tools/admin/ansible/2.2.nix {};
-  ansible_2_3 = callPackage ../tools/admin/ansible/2.3.nix {};
-  ansible_2_4 = callPackage ../tools/admin/ansible/2.4.nix {};
-  ansible  = ansible_2_4;
-  ansible2 = ansible_2_4;
+  inherit (callPackages ../tools/admin/ansible {})
+    ansible_2_4
+    ansible_2_5
+    ansible2
+    ansible;
+
+  ansible-lint = callPackage ../development/tools/ansible-lint {};
 
   antlr = callPackage ../development/tools/parsing/antlr/2.7.7.nix { };
 
@@ -7350,15 +7534,15 @@ with pkgs;
   antlr4_7 = callPackage ../development/tools/parsing/antlr/4.7.nix { };
   antlr4 = antlr4_7;
 
-  ant = apacheAnt;
-
   apacheAnt = callPackage ../development/tools/build-managers/apache-ant { };
+  apacheAnt_1_9 = callPackage ../development/tools/build-managers/apache-ant/1.9.nix { };
+  ant = apacheAnt;
 
-  apacheKafka = apacheKafka_1_0;
-  apacheKafka_0_9 = callPackage ../servers/apache-kafka { majorVersion = "0.9"; };
-  apacheKafka_0_10 = callPackage ../servers/apache-kafka { majorVersion = "0.10"; };
-  apacheKafka_0_11 = callPackage ../servers/apache-kafka { majorVersion = "0.11"; };
-  apacheKafka_1_0 = callPackage ../servers/apache-kafka { majorVersion = "1.0"; };
+  apacheKafka_1_0 = apacheKafka.override { majorVersion = "1.0"; };
+  apacheKafka_0_9 = apacheKafka.override { majorVersion = "0.9"; };
+  apacheKafka_0_10 = apacheKafka.override { majorVersion = "0.10"; };
+  apacheKafka_0_11 = apacheKafka.override { majorVersion = "0.11"; };
+  apacheKafka = callPackage ../servers/apache-kafka { };
 
   kt = callPackage ../tools/misc/kt {};
 
@@ -7383,11 +7567,11 @@ with pkgs;
 
   autocutsel = callPackage ../tools/X11/autocutsel{ };
 
-  automake = automake115x;
+  automake = automake116x;
 
   automake111x = callPackage ../development/tools/misc/automake/automake-1.11.x.nix { };
 
-  automake115x = callPackage ../development/tools/misc/automake/automake-1.15.x.nix { };
+  automake116x = callPackage ../development/tools/misc/automake/automake-1.16.x.nix { };
 
   automoc4 = callPackage ../development/tools/misc/automoc4 { };
 
@@ -7410,33 +7594,17 @@ with pkgs;
 
   bin_replace_string = callPackage ../development/tools/misc/bin_replace_string { };
 
-  binutils =
-    if targetPlatform.isDarwin
-    then darwin.binutils
-    else if targetPlatform.isRiscV
-    then binutils_2_30
-    else binutils-raw;
-
   binutils-unwrapped = callPackage ../development/tools/misc/binutils {
     # FHS sys dirs presumably only have stuff for the build platform
     noSysDirs = (targetPlatform != buildPlatform) || noSysDirs;
   };
-  binutils-raw = wrapBintoolsWith {
+  binutils = wrapBintoolsWith {
     libc = if targetPlatform != hostPlatform then libcCross else stdenv.cc.libc;
     bintools = binutils-unwrapped;
   };
-  binutils-unwrapped_2_30 = callPackage ../development/tools/misc/binutils/2.30.nix {
-    # FHS sys dirs presumably only have stuff for the build platform
-    noSysDirs = (targetPlatform != buildPlatform) || noSysDirs;
-  };
-  binutils-raw_2_30 = wrapBintoolsWith {
+  binutils_nogold = lowPrio (wrapBintoolsWith {
     libc = if targetPlatform != hostPlatform then libcCross else stdenv.cc.libc;
-    bintools = binutils-unwrapped_2_30;
-  };
-  binutils_2_30 = binutils-raw_2_30;
-
-  binutils_nogold = lowPrio (binutils-raw.override {
-    bintools = binutils-raw.bintools.override {
+    bintools = binutils-unwrapped.override {
       gold = false;
     };
   });
@@ -7445,7 +7613,9 @@ with pkgs;
   bison3 = callPackage ../development/tools/parsing/bison/3.x.nix { };
   bison = bison3;
 
-  blackmagic = callPackage ../development/tools/misc/blackmagic { };
+  blackmagic = callPackage ../development/tools/misc/blackmagic {
+    stdenv = overrideCC stdenv gcc6;
+  };
 
   bloaty = callPackage ../development/tools/bloaty { };
 
@@ -7470,7 +7640,9 @@ with pkgs;
   buildbot-ui = buildbot.withPlugins (with self.buildbot-plugins; [ www ]);
   buildbot-full = buildbot.withPlugins (with self.buildbot-plugins; [ www console-view waterfall-view grid-view wsgi-dashboards ]);
 
-  buildkite-agent = callPackage ../development/tools/continuous-integration/buildkite-agent { };
+  buildkite-agent = buildkite-agent2;
+  buildkite-agent2 = callPackage ../development/tools/continuous-integration/buildkite-agent/2.x.nix { };
+  buildkite-agent3 = callPackage ../development/tools/continuous-integration/buildkite-agent/3.x.nix { };
 
   byacc = callPackage ../development/tools/parsing/byacc { };
 
@@ -7538,7 +7710,7 @@ with pkgs;
 
   complexity = callPackage ../development/tools/misc/complexity { };
 
-  conan = pythonPackages.callPackage ../development/tools/build-managers/conan { };
+  conan = callPackage ../development/tools/build-managers/conan { };
 
   cookiecutter = pythonPackages.cookiecutter;
 
@@ -7550,14 +7722,9 @@ with pkgs;
 
   ctodo = callPackage ../applications/misc/ctodo { };
 
-  cmake_2_8 = callPackage ../development/tools/build-managers/cmake/2.8.nix {
-    wantPS = stdenv.isDarwin;
-    inherit (darwin) ps;
-  };
+  cmake_2_8 = callPackage ../development/tools/build-managers/cmake/2.8.nix { };
 
-  cmake = libsForQt5.callPackage ../development/tools/build-managers/cmake {
-    inherit (darwin) ps;
-  };
+  cmake = libsForQt5.callPackage ../development/tools/build-managers/cmake { };
 
   cmakeCurses = cmake.override { useNcurses = true; };
 
@@ -7581,20 +7748,20 @@ with pkgs;
 
   cppcheck = callPackage ../development/tools/analysis/cppcheck { };
 
+  cquery = callPackage ../development/tools/misc/cquery {
+    llvmPackages = llvmPackages_6;
+  };
+
   creduce = callPackage ../development/tools/misc/creduce {
     inherit (perlPackages) perl
       ExporterLite FileWhich GetoptTabular RegexpCommon TermReadKey;
     inherit (llvmPackages_4) llvm clang-unwrapped;
-    utillinux = if stdenv.isLinux then utillinuxMinimal else null;
   };
 
   cscope = callPackage ../development/tools/misc/cscope { };
 
   csmith = callPackage ../development/tools/misc/csmith {
     inherit (perlPackages) perl SysCPU;
-    # Workaround optional dependency on libbsd that's
-    # currently broken on Darwin.
-    libbsd = if stdenv.isDarwin then null else libbsd;
   };
 
   csslint = callPackage ../development/web/csslint { };
@@ -7705,7 +7872,7 @@ with pkgs;
   flow = callPackage ../development/tools/analysis/flow {
     inherit (darwin.apple_sdk.frameworks) CoreServices;
     inherit (darwin) cf-private;
-    inherit (ocamlPackages) ocaml findlib camlp4 sedlex ocamlbuild ocaml_lwt
+    inherit (ocamlPackages) ocaml findlib camlp4 sedlex ocamlbuild lwt_ppx
       wtf8 dtoa;
   };
 
@@ -7715,11 +7882,13 @@ with pkgs;
 
   frame = callPackage ../development/libraries/frame { };
 
+  fsatrace = callPackage ../development/tools/misc/fsatrace { };
+
   fswatch = callPackage ../development/tools/misc/fswatch { };
 
   funnelweb = callPackage ../development/tools/literate-programming/funnelweb { };
 
-  gede = callPackage ../development/tools/misc/gede { };
+  gede = libsForQt5.callPackage ../development/tools/misc/gede { };
 
   gdbgui = callPackage ../development/tools/misc/gdbgui { };
 
@@ -7733,8 +7902,6 @@ with pkgs;
 
   flexcpp = callPackage ../development/tools/parsing/flexc++ { };
 
-  m4 = gnum4;
-
   geis = callPackage ../development/libraries/geis {
     inherit (xorg) libX11 libXext libXi libXtst;
   };
@@ -7747,15 +7914,15 @@ with pkgs;
 
   gnome-desktop-testing = callPackage ../development/tools/gnome-desktop-testing {};
 
+  gnome-usage = callPackage ../applications/misc/gnome-usage {};
+
   gnum4 = callPackage ../development/tools/misc/gnum4 { };
+  m4 = gnum4;
 
   gnumake382 = callPackage ../development/tools/build-managers/gnumake/3.82 { };
   gnumake3 = gnumake382;
   gnumake42 = callPackage ../development/tools/build-managers/gnumake/4.2 { };
-  gnumake = if hostPlatform.isRiscV # Technically this check should be for glibc version.
-    then gnumake42HEAD
-  else gnumake42;
-  gnumake42HEAD = callPackage ../development/tools/build-managers/gnumake/4.2/head.nix { };
+  gnumake = gnumake42;
 
   gnustep = recurseIntoAttrs (callPackage ../desktops/gnustep {});
 
@@ -7803,6 +7970,10 @@ with pkgs;
 
   hyenae = callPackage ../tools/networking/hyenae { };
 
+  iaca_2_1 = callPackage ../development/tools/iaca/2.1.nix { };
+  iaca_3_0 = callPackage ../development/tools/iaca/3.0.nix { };
+  iaca = iaca_3_0;
+
   icestorm = callPackage ../development/tools/icestorm { };
 
   icmake = callPackage ../development/tools/build-managers/icmake { };
@@ -7931,17 +8102,12 @@ with pkgs;
 
   nexus = callPackage ../development/tools/repository-managers/nexus { };
 
-  node_webkit = node_webkit_0_9;
-
-  nwjs_0_12 = callPackage ../development/tools/node-webkit/nw12.nix {
-    gconf = pkgs.gnome2.GConf;
-  };
-
-  node_webkit_0_11 = callPackage ../development/tools/node-webkit/nw11.nix {
+  nwjs = callPackage ../development/tools/nwjs {
     gconf = pkgs.gnome2.GConf;
   };
 
-  node_webkit_0_9 = callPackage ../development/tools/node-webkit/nw9.nix {
+  # only kept for nixui, see https://github.com/matejc/nixui/issues/27
+  nwjs_0_12 = callPackage ../development/tools/node-webkit/nw12.nix {
     gconf = pkgs.gnome2.GConf;
   };
 
@@ -7966,6 +8132,8 @@ with pkgs;
 
   pahole = callPackage ../development/tools/misc/pahole {};
 
+  panopticon = callPackage ../development/tools/analysis/panopticon {};
+
   pants = callPackage ../development/tools/build-managers/pants {};
 
   parse-cli-bin = callPackage ../development/tools/parse-cli-bin { };
@@ -8015,7 +8183,7 @@ with pkgs;
 
   pyrseas = callPackage ../development/tools/database/pyrseas { };
 
-  qtcreator = libsForQt5.callPackage ../development/qtcreator { };
+  qtcreator = libsForQt5.callPackage ../development/tools/qtcreator { };
 
   r10k = callPackage ../tools/system/r10k { };
 
@@ -8060,7 +8228,7 @@ with pkgs;
   remake = callPackage ../development/tools/build-managers/remake { };
 
   retdec = callPackage ../development/tools/analysis/retdec { };
-  retdec-full = callPackage ../development/tools/analysis/retdec {
+  retdec-full = retdec.override {
     withPEPatterns = true;
   };
 
@@ -8149,7 +8317,9 @@ with pkgs;
 
   swfmill = callPackage ../tools/video/swfmill { };
 
-  swftools = callPackage ../tools/video/swftools { };
+  swftools = callPackage ../tools/video/swftools {
+    stdenv = gccStdenv;
+  };
 
   tcptrack = callPackage ../development/tools/misc/tcptrack { };
 
@@ -8170,6 +8340,8 @@ with pkgs;
 
   texi2mdoc = callPackage ../tools/misc/texi2mdoc { };
 
+  todolist = callPackage ../applications/misc/todolist { };
+
   travis = callPackage ../development/tools/misc/travis { };
 
   tweak = callPackage ../applications/editors/tweak { };
@@ -8192,6 +8364,8 @@ with pkgs;
     inherit (gnu) mig;
   };
 
+  jhiccup = callPackage ../development/tools/java/jhiccup { };
+
   valgrind = callPackage ../development/tools/analysis/valgrind {
     inherit (darwin) xnu bootstrap_cmds cctools;
     llvm = llvm_39;
@@ -8233,8 +8407,6 @@ with pkgs;
   };
   xxdiff-tip = libsForQt5.callPackage ../development/tools/misc/xxdiff/tip.nix { };
 
-  yacc = bison;
-
   yaml2json = callPackage ../development/tools/yaml2json { };
 
   ycmd = callPackage ../development/tools/misc/ycmd {
@@ -8245,7 +8417,7 @@ with pkgs;
   yodl = callPackage ../development/tools/misc/yodl { };
 
   yq = callPackage ../development/tools/yq {
-    inherit (python3Packages) buildPythonApplication fetchPypi pyyaml;
+    inherit (python3Packages) buildPythonApplication fetchPypi pyyaml xmltodict;
   };
 
   winpdb = callPackage ../development/tools/winpdb { };
@@ -8308,6 +8480,8 @@ with pkgs;
 
   armadillo = callPackage ../development/libraries/armadillo {};
 
+  arrow-cpp = callPackage ../development/libraries/arrow-cpp {};
+
   assimp = callPackage ../development/libraries/assimp { };
 
   asio = callPackage ../development/libraries/asio { };
@@ -8342,6 +8516,8 @@ with pkgs;
 
   backward-cpp = callPackage ../development/libraries/backward-cpp { };
 
+  bamf = callPackage ../development/libraries/bamf { };
+
   bctoolbox = callPackage ../development/libraries/bctoolbox {
     mbedtls = mbedtls_1_3;
   };
@@ -8362,6 +8538,10 @@ with pkgs;
 
   libopcodes = callPackage ../development/libraries/libopcodes { };
 
+  bicpl = callPackage ../development/libraries/science/biology/bicpl { };
+
+  bicgl = callPackage ../development/libraries/science/biology/bicgl { };
+
   # TODO(@Ericson2314): Build bionic libc from source
   bionic = assert hostPlatform.useAndroidPrebuilt;
     androidenv.androidndkPkgs.libraries;
@@ -8411,7 +8591,9 @@ with pkgs;
 
   cdk = callPackage ../development/libraries/cdk {};
 
-  cdo = callPackage ../development/libraries/cdo {};
+  cdo = callPackage ../development/libraries/cdo {
+    stdenv = gccStdenv;
+  };
 
   cimg = callPackage  ../development/libraries/cimg { };
 
@@ -8449,14 +8631,10 @@ with pkgs;
 
   classads = callPackage ../development/libraries/classads { };
 
-  classpath = callPackage ../development/libraries/java/classpath {
-    javac = gcj;
-    jvm = gcj;
-    gconf = gnome2.GConf;
-  };
-
   clearsilver = callPackage ../development/libraries/clearsilver { };
 
+  clipper = callPackage ../development/libraries/clipper { };
+
   cln = callPackage ../development/libraries/cln { };
 
   clucene_core_2 = callPackage ../development/libraries/clucene-core/2.x.nix { };
@@ -8480,8 +8658,12 @@ with pkgs;
 
   coin3d = callPackage ../development/libraries/coin3d { };
 
+  soxt = callPackage ../development/libraries/soxt { };
+
   CoinMP = callPackage ../development/libraries/CoinMP { };
 
+  cointop = callPackage ../applications/misc/cointop { };
+
   commoncpp2 = callPackage ../development/libraries/commoncpp2 { };
 
   confuse = callPackage ../development/libraries/confuse { };
@@ -8555,11 +8737,6 @@ with pkgs;
   dbus-sharp-glib-1_0 = callPackage ../development/libraries/dbus-sharp-glib/dbus-sharp-glib-1.0.nix { };
   dbus-sharp-glib-2_0 = callPackage ../development/libraries/dbus-sharp-glib { };
 
-  # FIXME: deprecate these.
-  dbus_tools = dbus.out;
-  dbus_libs = dbus;
-  dbus_daemon = dbus.daemon;
-
   makeDBusConf = { suidHelper, serviceDirectories }:
     callPackage ../development/libraries/dbus/make-dbus-conf.nix {
       inherit suidHelper serviceDirectories;
@@ -8622,12 +8799,16 @@ with pkgs;
 
   enchant = callPackage ../development/libraries/enchant { };
 
+  enchant2 = callPackage ../development/libraries/enchant/2.x.nix { };
+
   enet = callPackage ../development/libraries/enet { };
 
   epoxy = callPackage ../development/libraries/epoxy {};
 
   esdl = callPackage ../development/libraries/esdl { };
 
+  libesmtp = callPackage ../development/libraries/libesmtp { };
+
   exiv2 = callPackage ../development/libraries/exiv2 { };
 
   expat = callPackage ../development/libraries/expat { };
@@ -8642,7 +8823,9 @@ with pkgs;
     inherit (pkgs.gnome2) gtkglext;
   };
 
-  far2l = callPackage ../applications/misc/far2l { };
+  far2l = callPackage ../applications/misc/far2l {
+    stdenv = if stdenv.cc.isClang then llvmPackages_4.stdenv else stdenv;
+  };
 
   farbfeld = callPackage ../development/libraries/farbfeld { };
 
@@ -8659,6 +8842,7 @@ with pkgs;
 
   fflas-ffpack = callPackage ../development/libraries/fflas-ffpack {};
   fflas-ffpack_1 = callPackage ../development/libraries/fflas-ffpack/1.nix {};
+  linbox = callPackage ../development/libraries/linbox {};
 
   ffmpeg_0_10 = callPackage ../development/libraries/ffmpeg/0.10.nix {
     inherit (darwin.apple_sdk.frameworks) Cocoa;
@@ -8672,6 +8856,10 @@ with pkgs;
   ffmpeg_3_4 = callPackage ../development/libraries/ffmpeg/3.4.nix {
     inherit (darwin.apple_sdk.frameworks) Cocoa CoreMedia;
   };
+  ffmpeg_4 = callPackage ../development/libraries/ffmpeg/4.nix {
+    inherit (darwin.apple_sdk.frameworks) Cocoa CoreMedia;
+  };
+
   # Aliases
   ffmpeg_0 = ffmpeg_0_10;
   ffmpeg_1 = ffmpeg_1_2;
@@ -8763,7 +8951,9 @@ with pkgs;
 
   freeglut = callPackage ../development/libraries/freeglut { };
 
-  freenect = callPackage ../development/libraries/freenect { };
+  freenect = callPackage ../development/libraries/freenect {
+    inherit (darwin.apple_sdk.frameworks) Cocoa GLUT;
+  };
 
   freetype = callPackage ../development/libraries/freetype { };
 
@@ -8773,8 +8963,6 @@ with pkgs;
 
   funambol = callPackage ../development/libraries/funambol { };
 
-  fam = gamin;
-
   gamin = callPackage ../development/libraries/gamin { };
 
   ganv = callPackage ../development/libraries/ganv { };
@@ -8801,6 +8989,10 @@ with pkgs;
     gtk = self.gtk2;
   };
 
+  gegl_0_4 = callPackage ../development/libraries/gegl/4.0.nix {
+    gtk = self.gtk2;
+  };
+
   geoclue = callPackage ../development/libraries/geoclue {};
 
   geoclue2 = callPackage ../development/libraries/geoclue/2.0.nix {};
@@ -8822,8 +9014,6 @@ with pkgs;
 
   gettext = callPackage ../development/libraries/gettext { };
 
-  gflags = callPackage ../development/libraries/gflags { };
-
   gf2x = callPackage ../development/libraries/gf2x {};
 
   gd = callPackage ../development/libraries/gd {
@@ -8850,15 +9040,15 @@ with pkgs;
   icon-lang = callPackage ../development/interpreters/icon-lang { };
 
   libgit2 = callPackage ../development/libraries/git2 {
-    inherit (darwin) libiconv;
     inherit (darwin.apple_sdk.frameworks) Security;
   };
 
   libgit2_0_25 = callPackage ../development/libraries/git2/0.25.nix {
-    inherit (darwin) libiconv;
     inherit (darwin.apple_sdk.frameworks) Security;
   };
 
+  glbinding = callPackage ../development/libraries/glbinding { };
+
   gle = callPackage ../development/libraries/gle { };
 
   glew = callPackage ../development/libraries/glew { };
@@ -8870,13 +9060,9 @@ with pkgs;
   glfw2 = callPackage ../development/libraries/glfw/2.x.nix { };
   glfw3 = callPackage ../development/libraries/glfw/3.x.nix { };
 
-  glibc_2_26 = callPackage ../development/libraries/glibc {
-    installLocales = config.glibc.locales or false;
-  };
-  glibc_2_27 = callPackage ../development/libraries/glibc/2.27.nix {
+  glibc = callPackage ../development/libraries/glibc {
     installLocales = config.glibc.locales or false;
   };
-  glibc = if hostPlatform.isRiscV then glibc_2_27 else glibc_2_26;
 
   glibc_memusage = callPackage ../development/libraries/glibc {
     installLocales = false;
@@ -8884,16 +9070,12 @@ with pkgs;
   };
 
   # Being redundant to avoid cycles on boot. TODO: find a better way
-  glibcCross = let
-    expr = if hostPlatform.isRiscV
-             then ../development/libraries/glibc/2.27.nix
-           else ../development/libraries/glibc;
-  in callPackage expr {
+  glibcCross = callPackage ../development/libraries/glibc {
     installLocales = config.glibc.locales or false;
     stdenv = crossLibcStdenv;
   };
 
-  muslCross = callPackage ../os-specific/linux/musl {
+  muslCross = musl.override {
     stdenv = crossLibcStdenv;
   };
 
@@ -8906,6 +9088,7 @@ with pkgs;
     else if name == "uclibc" then targetPackages.uclibcCross
     else if name == "musl" then targetPackages.muslCross or muslCross
     else if name == "msvcrt" then targetPackages.windows.mingw_w64 or windows.mingw_w64
+    else if targetPlatform.useiOSPrebuilt then targetPackages.iosSdkPkgs.libraries
     else if name == "libSystem" then darwin.xcode
     else throw "Unknown libc";
 
@@ -8983,26 +9166,12 @@ with pkgs;
 
   grpc = callPackage ../development/libraries/grpc { };
 
+  gsettings-qt = libsForQt5.callPackage ../development/libraries/gsettings-qt { };
+
   gst_all_1 = recurseIntoAttrs(callPackage ../development/libraries/gstreamer {
     callPackage = pkgs.newScope (pkgs // { libav = pkgs.ffmpeg; });
   });
 
-  gst_all = {
-    inherit (pkgs) gstreamer gnonlin gst-python qt-gstreamer;
-    gstPluginsBase = pkgs.gst-plugins-base;
-    gstPluginsBad = pkgs.gst-plugins-bad;
-    gstPluginsGood = pkgs.gst-plugins-good;
-    gstPluginsUgly = pkgs.gst-plugins-ugly;
-    gstFfmpeg = pkgs.gst-ffmpeg;
-
-    # aliases with the dashed naming, same as in gst_all_1
-    gst-plugins-base = pkgs.gst-plugins-base;
-    gst-plugins-bad = pkgs.gst-plugins-bad;
-    gst-plugins-good = pkgs.gst-plugins-good;
-    gst-plugins-ugly = pkgs.gst-plugins-ugly;
-    gst-ffmpeg = pkgs.gst-ffmpeg;
-  };
-
   gstreamer = callPackage ../development/libraries/gstreamer/legacy/gstreamer {
     bison = bison2;
   };
@@ -9134,7 +9303,7 @@ with pkgs;
 
   gdk_pixbuf = callPackage ../development/libraries/gdk-pixbuf { };
 
-  gnome-sharp = callPackage ../development/libraries/gnome-sharp {};
+  gnome-sharp = callPackage ../development/libraries/gnome-sharp { mono = mono4; };
 
   granite = callPackage ../development/libraries/granite { };
   elementary-cmake-modules = callPackage ../development/libraries/elementary-cmake-modules { };
@@ -9169,15 +9338,23 @@ with pkgs;
   gtk-sharp-beans = callPackage ../development/libraries/gtk-sharp-beans { };
 
   gtk-mac-integration = callPackage ../development/libraries/gtk-mac-integration {
-    gtk = gtk2;
+    gtk = gtk3;
   };
 
-  gtk-mac-integration-gtk3 = callPackage ../development/libraries/gtk-mac-integration {
-    gtk = gtk3;
+  gtk-mac-integration-gtk2 = gtk-mac-integration.override {
+    gtk = gtk2;
   };
 
+  gtk-mac-integration-gtk3 = gtk-mac-integration;
+
   gtk-mac-bundler = callPackage ../development/tools/gtk-mac-bundler {};
 
+  gtksourceview = gtksourceview3;
+
+  gtksourceview3 = callPackage ../development/libraries/gtksourceview/3.x.nix { };
+
+  gtksourceview4 = callPackage ../development/libraries/gtksourceview/4.x.nix { };
+
   gtkspell2 = callPackage ../development/libraries/gtkspell { };
 
   gtkspell3 = callPackage ../development/libraries/gtkspell/3.nix { };
@@ -9196,15 +9373,11 @@ with pkgs;
 
   hamlib = callPackage ../development/libraries/hamlib { };
 
-  # TODO : Let admin choose.
-  # We are using mit-krb5 because it is better maintained
-  kerberos = libkrb5;
-
-  heimdalFull = callPackage ../development/libraries/kerberos/heimdal.nix { };
-  libheimdal = heimdalFull.override { type = "lib"; };
+  heimdal = callPackage ../development/libraries/kerberos/heimdal.nix { };
+  libheimdal = heimdal.override { type = "lib"; };
 
   harfbuzz = callPackage ../development/libraries/harfbuzz { };
-  harfbuzz-icu = callPackage ../development/libraries/harfbuzz {
+  harfbuzz-icu = harfbuzz.override {
     withIcu = true;
     withGraphite2 = true;
   };
@@ -9254,7 +9427,7 @@ with pkgs;
 
   hwloc = callPackage ../development/libraries/hwloc {};
 
-  hwloc-nox = callPackage ../development/libraries/hwloc {
+  hwloc-nox = hwloc.override {
     x11Support = false;
   };
 
@@ -9262,7 +9435,7 @@ with pkgs;
 
   hydraAntLogger = callPackage ../development/libraries/java/hydra-ant-logger { };
 
-  hyena = callPackage ../development/libraries/hyena { };
+  hyena = callPackage ../development/libraries/hyena { mono = mono4; };
 
   icu58 = callPackage (import ../development/libraries/icu/58.nix fetchurl) ({
     nativeBuildRoot = buildPackages.icu58.override { buildRootOnly = true; };
@@ -9332,6 +9505,8 @@ with pkgs;
     stdenv = llvmPackages_4.stdenv;
   };
 
+  isso = callPackage ../servers/isso { };
+
   itk = callPackage ../development/libraries/itk { };
 
   jasper = callPackage ../development/libraries/jasper { };
@@ -9346,11 +9521,14 @@ with pkgs;
 
   jemalloc = callPackage ../development/libraries/jemalloc { };
 
+  jemalloc450 = callPackage ../development/libraries/jemalloc/jemalloc450.nix { };
+
   jshon = callPackage ../development/tools/parsing/jshon { };
 
+  json2hcl = callPackage ../development/tools/json2hcl { };
+
   json-glib = callPackage ../development/libraries/json-glib { };
 
-  json-c-0-11 = callPackage ../development/libraries/json-c/0.11.nix { }; # vulnerable
   json_c = callPackage ../development/libraries/json-c { };
 
   jsoncpp = callPackage ../development/libraries/jsoncpp { };
@@ -9386,10 +9564,11 @@ with pkgs;
 
   kinetic-cpp-client = callPackage ../development/libraries/kinetic-cpp-client { };
 
-  krb5Full = callPackage ../development/libraries/kerberos/krb5.nix {
+  krb5 = callPackage ../development/libraries/kerberos/krb5.nix {
     inherit (darwin) bootstrap_cmds;
   };
-  libkrb5 = krb5Full.override {
+  krb5Full = krb5;
+  libkrb5 = krb5.override {
     fetchurl = fetchurlBoot;
     type = "lib";
   };
@@ -9446,8 +9625,11 @@ with pkgs;
 
   libantlr3c = callPackage ../development/libraries/libantlr3c {};
 
-  libappindicator-gtk2 = callPackage ../development/libraries/libappindicator { gtkVersion = "2"; };
-  libappindicator-gtk3 = callPackage ../development/libraries/libappindicator { gtkVersion = "3"; };
+  libaom = callPackage ../development/libraries/libaom { };
+
+  libappindicator-gtk2 = libappindicator.override { gtkVersion = "2"; };
+  libappindicator-gtk3 = libappindicator.override { gtkVersion = "3"; };
+  libappindicator = callPackage ../development/libraries/libappindicator { };
 
   libarchive = callPackage ../development/libraries/libarchive { };
 
@@ -9495,7 +9677,7 @@ with pkgs;
   libburn = callPackage ../development/libraries/libburn { };
 
   libcaca = callPackage ../development/libraries/libcaca {
-    inherit (xlibs) libX11 libXext;
+    inherit (xorg) libX11 libXext;
   };
 
   libcanberra = callPackage ../development/libraries/libcanberra { };
@@ -9517,8 +9699,13 @@ with pkgs;
 
   libcddb = callPackage ../development/libraries/libcddb { };
 
-  libcdio = callPackage ../development/libraries/libcdio { };
-  libcdio-paranoia = callPackage ../development/libraries/libcdio-paranoia { };
+  libcdio = callPackage ../development/libraries/libcdio {
+    inherit (darwin.apple_sdk.frameworks) Carbon IOKit;
+  };
+
+  libcdio-paranoia = callPackage ../development/libraries/libcdio-paranoia {
+    inherit (darwin.apple_sdk.frameworks) DiskArbitration IOKit;
+  };
 
   libcdr = callPackage ../development/libraries/libcdr { lcms = lcms2; };
 
@@ -9570,20 +9757,20 @@ with pkgs;
 
   libdap = callPackage ../development/libraries/libdap { };
 
+  libdazzle = callPackage ../development/libraries/libdazzle { };
+
   libdbi = callPackage ../development/libraries/libdbi { };
 
-  libdbiDriversBase = callPackage ../development/libraries/libdbi-drivers {
+  libdbiDriversBase = libdbiDrivers.override {
     mysql = null;
     sqlite = null;
   };
 
-  libdbiDrivers = libdbiDriversBase.override {
-    inherit sqlite mysql;
-  };
+  libdbiDrivers = callPackage ../development/libraries/libdbi-drivers { };
 
-  libdbusmenu-glib = callPackage ../development/libraries/libdbusmenu { };
-  libdbusmenu-gtk2 = callPackage ../development/libraries/libdbusmenu { gtkVersion = "2"; };
-  libdbusmenu-gtk3 = callPackage ../development/libraries/libdbusmenu { gtkVersion = "3"; };
+  libdbusmenu = callPackage ../development/libraries/libdbusmenu { };
+  libdbusmenu-gtk2 = libdbusmenu.override { gtkVersion = "2"; };
+  libdbusmenu-gtk3 = libdbusmenu.override { gtkVersion = "3"; };
 
   libdbusmenu_qt = callPackage ../development/libraries/libdbusmenu-qt { };
 
@@ -9662,7 +9849,7 @@ with pkgs;
   libfilezilla = callPackage ../development/libraries/libfilezilla { };
 
   libfm = callPackage ../development/libraries/libfm { };
-  libfm-extra = callPackage ../development/libraries/libfm {
+  libfm-extra = libfm.override {
     extraOnly = true;
   };
 
@@ -9689,9 +9876,7 @@ with pkgs;
 
   libgroove = callPackage ../development/libraries/libgroove { };
 
-  libseccomp =  if hostPlatform.isSeccomputable
-                  then callPackage ../development/libraries/libseccomp { }
-                else null;
+  libseccomp = callPackage ../development/libraries/libseccomp { };
 
   libsecret = callPackage ../development/libraries/libsecret { };
 
@@ -9709,8 +9894,6 @@ with pkgs;
 
   liblo = callPackage ../development/libraries/liblo { };
 
-  liblrdf = librdf;
-
   liblscp = callPackage ../development/libraries/liblscp { };
 
   libe-book = callPackage ../development/libraries/libe-book {};
@@ -9781,8 +9964,10 @@ with pkgs;
 
   libgudev = callPackage ../development/libraries/libgudev { };
 
+  libguestfs-appliance = callPackage ../development/libraries/libguestfs/appliance.nix {};
   libguestfs = callPackage ../development/libraries/libguestfs {
     inherit (perlPackages) libintlperl GetoptLong SysVirt;
+    appliance = libguestfs-appliance;
   };
 
   libhangul = callPackage ../development/libraries/libhangul { };
@@ -9805,11 +9990,13 @@ with pkgs;
 
   libimobiledevice = callPackage ../development/libraries/libimobiledevice { };
 
-  libindicate-gtk2 = callPackage ../development/libraries/libindicate { gtkVersion = "2"; };
-  libindicate-gtk3 = callPackage ../development/libraries/libindicate { gtkVersion = "3"; };
+  libindicate-gtk2 = libindicate.override { gtkVersion = "2"; };
+  libindicate-gtk3 = libindicate.override { gtkVersion = "3"; };
+  libindicate = callPackage ../development/libraries/libindicate { };
 
-  libindicator-gtk2 = callPackage ../development/libraries/libindicator { gtkVersion = "2"; };
-  libindicator-gtk3 = callPackage ../development/libraries/libindicator { gtkVersion = "3"; };
+  libindicator-gtk2 = libindicator.override { gtkVersion = "2"; };
+  libindicator-gtk3 = libindicator.override { gtkVersion = "3"; };
+  libindicator = callPackage ../development/libraries/libindicator { };
 
   libiodbc = callPackage ../development/libraries/libiodbc {
     useGTK = config.libiodbc.gtk or false;
@@ -9853,11 +10040,7 @@ with pkgs;
     mysql = mysql57;
   };
 
-  libnatspec = callPackage ../development/libraries/libnatspec (
-    stdenv.lib.optionalAttrs stdenv.isDarwin {
-      inherit (darwin) libiconv;
-    }
-  );
+  libnatspec = callPackage ../development/libraries/libnatspec { };
 
   libndp = callPackage ../development/libraries/libndp { };
 
@@ -9875,7 +10058,9 @@ with pkgs;
 
   libplist = callPackage ../development/libraries/libplist { };
 
-  libqglviewer = callPackage ../development/libraries/libqglviewer { };
+  libqglviewer = callPackage ../development/libraries/libqglviewer {
+    inherit (darwin.apple_sdk.frameworks) AGL;
+  };
 
   libre = callPackage ../development/libraries/libre {};
   librem = callPackage ../development/libraries/librem {};
@@ -9913,7 +10098,7 @@ with pkgs;
   # We also provide `libiconvReal`, which will always be a standalone libiconv,
   # just in case you want it regardless of platform.
   libiconv =
-    if hostPlatform.libc == "glibc"
+    if (hostPlatform.libc == "glibc" || hostPlatform.libc == "musl")
       then glibcIconv (if hostPlatform != buildPlatform
                        then libcCross
                        else stdenv.cc.libc)
@@ -9934,7 +10119,7 @@ with pkgs;
   };
 
   # On non-GNU systems we need GNU Gettext for libintl.
-  libintlOrEmpty = stdenv.lib.optional (!stdenv.isLinux || hostPlatform.libc != "glibc") gettext;
+  libintl = if hostPlatform.libc != "glibc" then gettext else null;
 
   libid3tag = callPackage ../development/libraries/libid3tag {
     gperf = gperf_3_0;
@@ -9967,7 +10152,7 @@ with pkgs;
   libjpeg_original = callPackage ../development/libraries/libjpeg { };
   libjpeg_turbo = callPackage ../development/libraries/libjpeg-turbo { };
   libjpeg_drop = callPackage ../development/libraries/libjpeg-drop { };
-  libjpeg = if stdenv.isLinux then libjpeg_turbo else libjpeg_original; # some problems, both on FreeBSD and Darwin
+  libjpeg = libjpeg_turbo;
 
   libjreen = callPackage ../development/libraries/libjreen { };
 
@@ -10197,9 +10382,12 @@ with pkgs;
 
   libtorrentRasterbar = callPackage ../development/libraries/libtorrent-rasterbar { };
 
+  # this is still the new version of the old API
   libtoxcore-new = callPackage ../development/libraries/libtoxcore/new-api.nix { };
 
-  libtoxcore = callPackage ../development/libraries/libtoxcore { };
+  inherit (callPackages ../development/libraries/libtoxcore {})
+    libtoxcore_0_1 libtoxcore_0_2;
+  libtoxcore = libtoxcore_0_2;
 
   libtap = callPackage ../development/libraries/libtap { };
 
@@ -10264,14 +10452,15 @@ with pkgs;
   });
 
   libva = callPackage ../development/libraries/libva { };
-  libva-full = libva.override { minimal = false; };
+  libva-minimal = libva.override { minimal = true; };
   libva-utils = callPackage ../development/libraries/libva-utils { };
 
+  libva1 = callPackage ../development/libraries/libva/1.0.0.nix { };
+  libva1-minimal = libva1.override { minimal = true; };
+
   libvdpau = callPackage ../development/libraries/libvdpau { };
 
-  libvdpau-va-gl = callPackage ../development/libraries/libvdpau-va-gl {
-    libva = libva-full; # also wants libva-{x11}
-  };
+  libvdpau-va-gl = callPackage ../development/libraries/libvdpau-va-gl { };
 
   libvirt = callPackage ../development/libraries/libvirt { };
 
@@ -10322,8 +10511,8 @@ with pkgs;
 
   libxmi = callPackage ../development/libraries/libxmi { };
 
-  libxml2 = callPackage ../development/libraries/libxml2 {
-  };
+  libxml2 = callPackage ../development/libraries/libxml2 { };
+
   libxml2Python = pkgs.buildEnv { # slightly hacky
     name = "libxml2+py-${self.libxml2.version}";
     paths = with libxml2; [ dev bin py ];
@@ -10401,7 +10590,7 @@ with pkgs;
 
   luabind = callPackage ../development/libraries/luabind { lua = lua5_1; };
 
-  luabind_luajit = callPackage ../development/libraries/luabind { lua = luajit; };
+  luabind_luajit = luabind.override { lua = luajit; };
 
   luaffi = callPackage ../development/libraries/luaffi { lua = lua5_1; };
 
@@ -10431,60 +10620,48 @@ with pkgs;
   ## libGL/libGLU/Mesa stuff
 
   # Default libGL implementation, should provide headers and libGL.so/libEGL.so/... to link agains them
-  # Default implementation is `mesa`, but can be eventually replaced with `libglvnd`, 
-  # or other runtime dispatcher
-  libGL = mesa_noglu;
+  libGL = libGLDarwinOr mesa_noglu.stubs;
 
   # Default libGLU
-  libGLU = mesa_glu;
+  libGLU = libGLDarwinOr mesa_glu;
 
   # Combined derivation, contains both libGL and libGLU
   # Please, avoid using this attribute.  It was meant as transitional hack
   # for packages that assume that libGLU and libGL live in the same prefix.
   # libGLU_combined propagates both libGL and libGLU
-  libGLU_combined = mesa;
+  libGLU_combined = libGLDarwinOr (buildEnv {
+    name = "libGLU-combined";
+    paths = [ libGL libGLU ];
+    extraOutputsToInstall = [ "dev" ];
+  });
 
   # Default derivation with libGL.so.1 to link into /run/opengl-drivers (if need)
-  libGL_driver = mesa_drivers;
+  libGL_driver = libGLDarwinOr mesa_drivers;
 
   libGLSupported = lib.elem system lib.platforms.mesaPlatforms;
 
-  libGLDarwinOr = alternative: if stdenv.isDarwin
-    then callPackage ../development/libraries/mesa-darwin {
-      inherit (darwin.apple_sdk.frameworks) OpenGL;
-      inherit (darwin.apple_sdk.libs) Xplugin;
-      inherit (darwin) apple_sdk;
-    }
-    else alternative;
+  libGLDarwin = callPackage ../development/libraries/mesa-darwin {
+    inherit (darwin.apple_sdk.frameworks) OpenGL;
+    inherit (darwin.apple_sdk.libs) Xplugin;
+    inherit (darwin) apple_sdk;
+  };
+
+  libGLDarwinOr = alternative: if stdenv.isDarwin then libGLDarwin else alternative;
 
-  # FIXME: should be `libGL = libGLDarwinOr mesa_nonglu` but this change cause mass rebuild,
-  # until all packages will refer to libGL/GLU/GLU combined
-  mesa_noglu = libGLDarwinOr (callPackage ../development/libraries/mesa {
+  mesa_noglu = callPackage ../development/libraries/mesa {
     # makes it slower, but during runtime we link against just mesa_drivers
     # through /run/opengl-driver*, which is overriden according to config.grsecurity
     # grsecEnabled = true; # no more support in nixpkgs ATM
-  });
+    llvmPackages = llvmPackages_6;
+  };
 
-  mesa_glu =  libGLDarwinOr (callPackage ../development/libraries/mesa-glu { });
-  mesa_drivers = libGLDarwinOr (
+  mesa_glu =  callPackage ../development/libraries/mesa-glu { };
+  mesa_drivers =
     let mo = mesa_noglu.override {
       grsecEnabled = config.grsecurity or false;
       enableTextureFloats = true;
     };
-    in mo.drivers
-  );
-
-  # Please, avoid using this attribute.  It was meant as transitional hack
-  # for packages that assume that libGLU and libGL live in the same prefix.
-  # Otherwise it's better to use mesa_glu or mesa_noglu, depending on whether
-  # you need libGLU or not (_glu propagates _noglu).
-  mesa = libGLDarwinOr (buildEnv {
-    name = "mesa-${mesa_noglu.version}";
-    paths = [ mesa_noglu.dev mesa_noglu.out mesa_glu mesa_glu.dev ];
-    meta = {
-      platforms = lib.platforms.unix;
-    };
-  });
+    in mo.drivers;
 
   ## End libGL/libGLU/Mesa stuff
 
@@ -10571,13 +10748,13 @@ with pkgs;
 
   notify-sharp = callPackage ../development/libraries/notify-sharp { };
 
-  ncurses5 = callPackage ../development/libraries/ncurses {
+  ncurses5 = ncurses.override {
     abiVersion = "5";
   };
-  ncurses6 = callPackage ../development/libraries/ncurses {
+  ncurses6 = ncurses.override {
     abiVersion = "6";
   };
-  ncurses = ncurses6;
+  ncurses = callPackage ../development/libraries/ncurses { };
 
   neardal = callPackage ../development/libraries/neardal { };
 
@@ -10600,7 +10777,9 @@ with pkgs;
   };
   libnghttp2 = nghttp2.lib;
 
-  nix-plugins = callPackage ../development/libraries/nix-plugins { };
+  nix-plugins = callPackage ../development/libraries/nix-plugins {
+    nix = nixUnstable;
+  };
 
   nlohmann_json = callPackage ../development/libraries/nlohmann_json { };
 
@@ -10647,7 +10826,7 @@ with pkgs;
 
   oniguruma = callPackage ../development/libraries/oniguruma { };
 
-  openal = self.openalSoft;
+  oobicpl = callPackage ../development/libraries/science/biology/oobicpl { };
 
   openalSoft = callPackage ../development/libraries/openal-soft {
     inherit (darwin.apple_sdk.frameworks) CoreServices AudioUnit AudioToolbox;
@@ -10657,8 +10836,6 @@ with pkgs;
 
   opencascade = callPackage ../development/libraries/opencascade { };
 
-  opencascade_oce = opencascade;
-
   opencl-headersGen = v: callPackage ../development/libraries/opencl-headers { version = v; };
   opencl-headers_1_2 = opencl-headersGen "12";
   opencl-headers_2_2 = opencl-headersGen "22";
@@ -10687,9 +10864,6 @@ with pkgs;
     enableCuda = false;
   };
 
-  # this ctl version is needed by openexr_viewers
-  openexr_ctl = ctl;
-
   openexr = callPackage ../development/libraries/openexr { };
 
   openexrid-unstable = callPackage ../development/libraries/openexrid-unstable { };
@@ -10702,6 +10876,7 @@ with pkgs;
 
   opal = callPackage ../development/libraries/opal {
     ffmpeg = ffmpeg_2;
+    stdenv = overrideCC stdenv gcc6;
   };
 
   openh264 = callPackage ../development/libraries/openh264 { };
@@ -10722,9 +10897,10 @@ with pkgs;
 
   inherit (callPackages ../development/libraries/libressl { })
     libressl_2_5
-    libressl_2_6;
+    libressl_2_6
+    libressl_2_7;
 
-  libressl = libressl_2_5;
+  libressl = libressl_2_7;
 
   boringssl = callPackage ../development/libraries/boringssl { };
 
@@ -10771,6 +10947,8 @@ with pkgs;
 
   paperkey = callPackage ../tools/security/paperkey { };
 
+  parquet-cpp = callPackage ../development/libraries/parquet-cpp {};
+
   pangoxsl = callPackage ../development/libraries/pangoxsl { };
 
   pcaudiolib = callPackage ../development/libraries/pcaudiolib {
@@ -10832,28 +11010,25 @@ with pkgs;
 
   poker-eval = callPackage ../development/libraries/poker-eval { };
 
-  polarssl = mbedtls;
-
   polkit = callPackage ../development/libraries/polkit { };
 
   polkit_qt4 = callPackage ../development/libraries/polkit-qt-1/qt-4.nix { };
 
   poppler = callPackage ../development/libraries/poppler { lcms = lcms2; };
+  poppler_0_61 = callPackage ../development/libraries/poppler/0.61.nix { lcms = lcms2; };
 
   poppler_gi = lowPrio (poppler.override {
     introspectionSupport = true;
   });
 
-  poppler_min = poppler.override { # TODO: maybe reduce even more
+  poppler_min = poppler_0_61.override { # TODO: maybe reduce even more
+    # this is currently only used by texlive.bin.
+    # pinned to 0.61 because texlive 2017 doesn't build w/poppler 0.64
+    # TODO: review poppler version for texlive 2018
     minimal = true;
     suffix = "min";
   };
 
-  poppler_qt4 = poppler.override {
-    qt4Support = true;
-    suffix = "qt4";
-  };
-
   poppler_utils = poppler.override { suffix = "utils"; utils = true; };
 
   popt = callPackage ../development/libraries/popt { };
@@ -10881,10 +11056,11 @@ with pkgs;
   };
 
   postgis = callPackage ../development/libraries/postgis { };
-  postgis_2_3 = callPackage ../development/libraries/postgis/2.3.nix { };
 
-  protobuf = callPackage ../development/libraries/protobuf/3.4.nix { };
+  protobuf = protobuf3_4;
 
+  protobuf3_5 = callPackage ../development/libraries/protobuf/3.5.nix { };
+  protobuf3_4 = callPackage ../development/libraries/protobuf/3.4.nix { };
   protobuf3_1 = callPackage ../development/libraries/protobuf/3.1.nix { };
   protobuf2_5 = callPackage ../development/libraries/protobuf/2.5.nix { };
 
@@ -10892,7 +11068,8 @@ with pkgs;
 
   flatbuffers = callPackage ../development/libraries/flatbuffers { };
 
-  pth = callPackage ../development/libraries/pth { };
+  gnupth = callPackage ../development/libraries/pth { };
+  pth = if stdenv.hostPlatform.isMusl then npth else gnupth;
 
   ptlib = callPackage ../development/libraries/ptlib {};
 
@@ -10903,7 +11080,7 @@ with pkgs;
   qbs = callPackage ../development/tools/build-managers/qbs { };
 
   qca2 = callPackage ../development/libraries/qca2 { qt = qt4; };
-  qca2-qt5 = callPackage ../development/libraries/qca2 { qt = qt5.qtbase; };
+  qca2-qt5 = qca2.override { qt = qt5.qtbase; };
 
   qimageblitz = callPackage ../development/libraries/qimageblitz {};
 
@@ -11008,7 +11185,7 @@ with pkgs;
       kservice ktexteditor ktextwidgets kunitconversion kwallet kwayland
       kwidgetsaddons kwindowsystem kxmlgui kxmlrpcclient modemmanager-qt
       networkmanager-qt plasma-framework prison solid sonnet syntax-highlighting
-      threadweaver kirigami2;
+      threadweaver kirigami2 kholidays;
 
     ### KDE PLASMA 5
 
@@ -11018,22 +11195,20 @@ with pkgs;
     ### KDE APPLICATIONS
 
     inherit (kdeApplications.override { libsForQt5 = self; })
-      kholidays libkdcraw libkexiv2 libkipi libkomparediff2 libksane;
+      libkdcraw libkexiv2 libkipi libkomparediff2 libksane;
 
     ### LIBRARIES
 
     accounts-qt = callPackage ../development/libraries/accounts-qt { };
 
+    alkimia = callPackage ../development/libraries/alkimia { };
+
     fcitx-qt5 = callPackage ../tools/inputmethods/fcitx/fcitx-qt5.nix { };
 
     qgpgme = callPackage ../development/libraries/gpgme { };
 
     grantlee = callPackage ../development/libraries/grantlee/5 { };
 
-    inherit (callPackage ../development/libraries/kirigami { })
-      kirigami_1
-      kirigami_2;
-
     kdb = callPackage ../development/libraries/kdb { };
 
     kdiagram = callPackage ../development/libraries/kdiagram { };
@@ -11042,8 +11217,6 @@ with pkgs;
 
     kreport = callPackage ../development/libraries/kreport { };
 
-    kirigami = kirigami_1;
-
     libcommuni = callPackage ../development/libraries/libcommuni { };
 
     libdbusmenu = callPackage ../development/libraries/libdbusmenu-qt/qt-5.5.nix { };
@@ -11056,9 +11229,7 @@ with pkgs;
 
     libopenshot-audio = callPackage ../applications/video/openshot-qt/libopenshot-audio.nix { };
 
-    libqtav = callPackage ../development/libraries/libqtav {
-      libva = libva-full; # also wants libva-x11
-    };
+    libqtav = callPackage ../development/libraries/libqtav { };
 
     kpmcore = callPackage ../development/libraries/kpmcore { };
 
@@ -11076,9 +11247,7 @@ with pkgs;
       withQt5 = true;
     };
 
-    phonon-backend-vlc = callPackage ../development/libraries/phonon/backends/vlc.nix {
-      withQt5 = true;
-    };
+    phonon-backend-vlc = callPackage ../development/libraries/phonon/backends/vlc.nix { };
 
     polkit-qt = callPackage ../development/libraries/polkit-qt-1/qt-5.nix { };
 
@@ -11091,6 +11260,7 @@ with pkgs;
     qca-qt5 = callPackage ../development/libraries/qca-qt5 { };
 
     qmltermwidget = callPackage ../development/libraries/qmltermwidget { };
+    qmlbox2d = libsForQt59.callPackage ../development/libraries/qmlbox2d { };
 
     qscintilla = callPackage ../development/libraries/qscintilla {
       withQt5 = true;
@@ -11112,11 +11282,7 @@ with pkgs;
 
     telepathy = callPackage ../development/libraries/telepathy/qt { };
 
-    vlc = lowPrio (callPackage ../applications/video/vlc {
-      qt4 = null;
-      withQt5 = true;
-      ffmpeg = ffmpeg_2;
-    });
+    vlc = callPackage ../applications/video/vlc {};
 
     qtwebkit-plugins = callPackage ../development/libraries/qtwebkit-plugins { };
 
@@ -11170,7 +11336,7 @@ with pkgs;
     haskellLib = haskell.lib;
   };
 
-  lambda-mod-zsh-theme = callPackage ../shells/lambda-mod-zsh-theme/default.nix { };
+  lambda-mod-zsh-theme = callPackage ../shells/zsh/lambda-mod-zsh-theme { };
 
   leksah = callPackage ../development/tools/haskell/leksah {
     inherit (haskellPackages) ghcWithPackages;
@@ -11199,8 +11365,6 @@ with pkgs;
 
   qrupdate = callPackage ../development/libraries/qrupdate { };
 
-  redland = pkgs.librdf_redland;
-
   resolv_wrapper = callPackage ../development/libraries/resolv_wrapper { };
 
   rhino = callPackage ../development/libraries/java/rhino {
@@ -11210,7 +11374,7 @@ with pkgs;
 
   rlog = callPackage ../development/libraries/rlog { };
 
-  rocksdb = callPackage ../development/libraries/rocksdb { };
+  rocksdb = callPackage ../development/libraries/rocksdb { jemalloc = jemalloc450; };
 
   rocksdb_lite = rocksdb.override { enableLite = true; };
 
@@ -11280,6 +11444,8 @@ with pkgs;
 
   sblim-sfcc = callPackage ../development/libraries/sblim-sfcc {};
 
+  selinux-sandbox = callPackage ../os-specific/linux/selinux-sandbox { };
+
   serd = callPackage ../development/libraries/serd {};
 
   serf = callPackage ../development/libraries/serf {};
@@ -11298,6 +11464,8 @@ with pkgs;
 
   simp_le = callPackage ../tools/admin/simp_le { };
 
+  simpleitk = callPackage ../development/libraries/simpleitk { lua = lua51Packages.lua; };
+
   sfml = callPackage ../development/libraries/sfml { };
   csfml = callPackage ../development/libraries/csfml { };
 
@@ -11324,6 +11492,30 @@ with pkgs;
 
   snappy = callPackage ../development/libraries/snappy { };
 
+  soapyairspy = callPackage ../applications/misc/soapyairspy { };
+
+  soapybladerf = callPackage ../applications/misc/soapybladerf { };
+
+  soapyhackrf = callPackage ../applications/misc/soapyhackrf { };
+
+  soapysdr = callPackage ../applications/misc/soapysdr { inherit (python3Packages) python numpy; };
+
+  soapyremote = callPackage ../applications/misc/soapyremote { };
+
+  soapysdr-with-plugins = callPackage ../applications/misc/soapysdr {
+    inherit (python3Packages) python numpy;
+    extraPackages = [
+      limesuite
+      soapyairspy
+      soapybladerf
+      soapyhackrf
+      soapyremote
+      soapyuhd
+    ];
+  };
+
+  soapyuhd = callPackage ../applications/misc/soapyuhd { };
+
   socket_wrapper = callPackage ../development/libraries/socket_wrapper { };
 
   sofia_sip = callPackage ../development/libraries/sofia-sip { };
@@ -11344,7 +11536,7 @@ with pkgs;
 
   speechd = callPackage ../development/libraries/speechd { };
 
-  speech_tools = callPackage ../development/libraries/speech-tools {};
+  speech-tools = callPackage ../development/libraries/speech-tools {};
 
   speex = callPackage ../development/libraries/speex {
     fftw = fftwFloat;
@@ -11408,17 +11600,18 @@ with pkgs;
 
   subtitleeditor = callPackage ../applications/video/subtitleeditor { };
 
-  suil-qt4 = callPackage ../development/libraries/audio/suil {
-    withQt4 = true;
-    withQt5 = false;
-  };
+  suil = callPackage ../development/libraries/audio/suil { };
 
-  suil-qt5 = callPackage ../development/libraries/audio/suil {
+  suil-qt5 = suil.override {
     withQt4 = false;
     withQt5 = true;
   };
+  suil-qt4 = suil.override {
+    withQt4 = true;
+    withQt5 = false;
+  };
 
-  suil = suil-qt4;
+  sundials = callPackage ../development/libraries/sundials { };
 
   sutils = callPackage ../tools/misc/sutils { };
 
@@ -11432,7 +11625,9 @@ with pkgs;
 
   t1lib = callPackage ../development/libraries/t1lib { };
 
-  tachyon = callPackage ../development/libraries/tachyon {};
+  tachyon = callPackage ../development/libraries/tachyon {
+    inherit (darwin.apple_sdk.frameworks) Carbon;
+  };
 
   taglib = callPackage ../development/libraries/taglib { };
   taglib_1_9 = callPackage ../development/libraries/taglib/1.9.nix { };
@@ -11577,21 +11772,22 @@ with pkgs;
     inherit (python2Packages) python;
   };
 
-  v8 = callPackage ../development/libraries/v8 {
+  v8 = callPackage ../development/libraries/v8 ({
     inherit (python2Packages) python gyp;
     cctools = darwin.cctools;
     icu = icu58; # v8-5.4.232 fails against icu4c-59.1
-  };
+  } // lib.optionalAttrs stdenv.isLinux {
+    # doesn't build with gcc7
+    stdenv = overrideCC stdenv gcc6;
+  });
 
   v8_static = lowPrio (self.v8.override { static = true; });
 
-  vaapiIntel = callPackage ../development/libraries/vaapi-intel {
-    libva = libva-full; # also wants libva-{x11,drm,wayland}
-  };
+  vaapiIntel = callPackage ../development/libraries/vaapi-intel { };
 
-  vaapiVdpau = callPackage ../development/libraries/vaapi-vdpau {
-    libva = libva-full; # needs libva-{x11,glx}
-  };
+  vaapiVdpau = callPackage ../development/libraries/vaapi-vdpau { };
+
+  vale = callPackage ../tools/text/vale { };
 
   vamp = callPackage ../development/libraries/audio/vamp { };
 
@@ -11631,11 +11827,10 @@ with pkgs;
 
   vxl = callPackage ../development/libraries/vxl {
     libpng = libpng12;
+    stdenv = overrideCC stdenv gcc6; # upstream code incompatible with gcc7
   };
 
-  wavpack = callPackage ../development/libraries/wavpack {
-    inherit (darwin) libiconv;
-  };
+  wavpack = callPackage ../development/libraries/wavpack { };
 
   wayland = callPackage ../development/libraries/wayland {
     graphviz = graphviz-nox;
@@ -11651,7 +11846,7 @@ with pkgs;
 
   wcslib = callPackage ../development/libraries/wcslib { };
 
-  webkitgtk = webkitgtk218x;
+  webkitgtk = webkitgtk220x;
 
   webkitgtk24x-gtk3 = callPackage ../development/libraries/webkitgtk/2.4.nix {
     harfbuzz = harfbuzz-icu-58;
@@ -11659,7 +11854,7 @@ with pkgs;
     inherit (darwin) libobjc;
   };
 
-  webkitgtk218x = callPackage ../development/libraries/webkitgtk/2.18.nix {
+  webkitgtk220x = callPackage ../development/libraries/webkitgtk/2.20.nix {
     harfbuzz = harfbuzz-icu;
     inherit (gst_all_1) gst-plugins-base gst-plugins-bad;
     stdenv = overrideCC stdenv gcc6;
@@ -11797,7 +11992,7 @@ with pkgs;
     libusb = libusb1;
   };
 
-  yubikey-personalization-gui = callPackage ../tools/misc/yubikey-personalization-gui { };
+  yubikey-personalization-gui = libsForQt5.callPackage ../tools/misc/yubikey-personalization-gui { };
 
   zeitgeist = callPackage ../development/libraries/zeitgeist { };
 
@@ -11809,7 +12004,7 @@ with pkgs;
 
   zlog = callPackage ../development/libraries/zlog { };
 
-  zlibStatic = lowPrio (appendToName "static" (callPackage ../development/libraries/zlib {
+  zlibStatic = lowPrio (appendToName "static" (zlib.override {
     static = true;
   }));
 
@@ -11827,7 +12022,11 @@ with pkgs;
     czmq = czmq3;
   };
 
-  zig = callPackage ../development/compilers/zig {};
+  zmqpp = callPackage ../development/libraries/zmqpp { };
+
+  zig = callPackage ../development/compilers/zig {
+    llvmPackages = llvmPackages_6;
+  };
 
   zimlib = callPackage ../development/libraries/zimlib { };
 
@@ -11932,10 +12131,6 @@ with pkgs;
 
   ### DEVELOPMENT / LIBRARIES / JAVASCRIPT
 
-  jquery = callPackage ../development/libraries/javascript/jquery { };
-
-  jquery-ui = callPackage ../development/libraries/javascript/jquery-ui { };
-
   yuicompressor = callPackage ../development/tools/yuicompressor { };
 
   ### DEVELOPMENT / BOWER MODULES (JAVASCRIPT)
@@ -11947,8 +12142,11 @@ with pkgs;
   buildGo19Package = callPackage ../development/go-modules/generic {
     go = go_1_9;
   };
+  buildGo110Package = callPackage ../development/go-modules/generic {
+    go = go_1_10;
+  };
 
-  buildGoPackage = buildGo19Package;
+  buildGoPackage = buildGo110Package;
 
   go2nix = callPackage ../development/tools/go2nix { };
 
@@ -12088,6 +12286,8 @@ with pkgs;
   apacheHttpdPackages = apacheHttpdPackagesFor pkgs.apacheHttpd pkgs.apacheHttpdPackages;
   apacheHttpdPackages_2_4 = apacheHttpdPackagesFor pkgs.apacheHttpd_2_4 pkgs.apacheHttpdPackages_2_4;
 
+  appdaemon = callPackage ../servers/home-assistant/appdaemon.nix { };
+
   archiveopteryx = callPackage ../servers/mail/archiveopteryx/default.nix { };
 
   atlassian-confluence = callPackage ../servers/atlassian/confluence.nix { };
@@ -12110,8 +12310,6 @@ with pkgs;
     java = jdk;
   };
 
-  fuseki = apache-jena-fuseki;
-
   apcupsd = callPackage ../servers/apcupsd { };
 
   asterisk = asterisk-stable;
@@ -12123,14 +12321,16 @@ with pkgs;
 
   bftpd = callPackage ../servers/ftp/bftpd {};
 
-  bind = callPackage ../servers/dns/bind { };
+  bind = callPackage ../servers/dns/bind {
+    enablePython = config.bind.enablePython or false;
+    python3 = python3.withPackages (ps: with ps; [ ply ]);
+  };
   dnsutils = bind.dnsutils;
 
   inherit (callPackages ../servers/bird { })
     bird bird6 bird2;
 
   bosun = callPackage ../servers/monitoring/bosun { };
-  scollector = bosun;
 
   cayley = callPackage ../servers/cayley { };
 
@@ -12189,8 +12389,9 @@ with pkgs;
   hyp = callPackage ../servers/http/hyp/default.nix { };
 
   prosody = callPackage ../servers/xmpp/prosody {
-    lua5 = lua5_1;
-    inherit (lua51Packages) luasocket luasec luaexpat luafilesystem luabitop luaevent luazlib luadbi;
+    # _compat can probably be removed on next minor version after 0.10.0
+    lua5 = lua5_2_compat;
+    inherit (lua52Packages) luasocket luasec luaexpat luafilesystem luabitop luaevent luadbi;
   };
 
   biboumi = callPackage ../servers/xmpp/biboumi { };
@@ -12202,10 +12403,10 @@ with pkgs;
     v8 = v8_6_x;
   };
 
-  etcdctl = etcd;
-
   exim = callPackage ../servers/mail/exim { };
 
+  facette = callPackage ../servers/monitoring/facette { };
+
   fcgiwrap = callPackage ../servers/fcgiwrap { };
 
   felix = callPackage ../servers/felix { };
@@ -12215,9 +12416,7 @@ with pkgs;
   fingerd_bsd = callPackage ../servers/fingerd/bsd-fingerd { };
 
   firebird = callPackage ../servers/firebird { icu = null; stdenv = overrideCC stdenv gcc5; };
-  firebirdSuper = callPackage ../servers/firebird { icu = icu58; superServer = true; stdenv = overrideCC stdenv gcc5; };
-
-  fleet = callPackage ../servers/fleet { };
+  firebirdSuper = firebird.override { icu = icu58; superServer = true; stdenv = overrideCC stdenv gcc5; };
 
   foswiki = callPackage ../servers/foswiki { };
 
@@ -12262,10 +12461,7 @@ with pkgs;
   jetty = callPackage ../servers/http/jetty { };
 
   knot-dns = callPackage ../servers/dns/knot-dns { };
-  knot-resolver = callPackage ../servers/dns/knot-resolver {
-    # TODO: vimNox after it gets fixed on Darwin or something lighter
-    hexdump = if stdenv.isLinux then utillinux.bin else vim/*xxd*/;
-  };
+  knot-resolver = callPackage ../servers/dns/knot-resolver { };
 
   rdkafka = callPackage ../development/libraries/rdkafka { };
 
@@ -12275,6 +12471,8 @@ with pkgs;
 
   lwan = callPackage ../servers/http/lwan { };
 
+  labelImg = callPackage ../applications/science/machine-learning/labelimg { };
+
   mailman = callPackage ../servers/mail/mailman { };
 
   mattermost = callPackage ../servers/mattermost { };
@@ -12333,12 +12531,10 @@ with pkgs;
     modules = [ nginxModules.dav nginxModules.moreheaders ];
   };
 
-  nginxUnstable = nginxMainline;
-
   nginxModules = callPackage ../servers/http/nginx/modules.nix { };
 
   # We should move to dynmaic modules and create a nginxFull package with all modules
-  nginxShibboleth = callPackage ../servers/http/nginx/stable.nix {
+  nginxShibboleth = nginxStable.override {
     modules = [ nginxModules.rtmp nginxModules.dav nginxModules.moreheaders nginxModules.shibboleth ];
   };
 
@@ -12357,7 +12553,6 @@ with pkgs;
   oauth2_proxy = callPackage ../servers/oauth2_proxy { };
 
   openafs = callPackage ../servers/openafs { tsmbac = null; ncurses = null; };
-  openpts = callPackage ../servers/openpts { };
 
   openresty = callPackage ../servers/http/openresty { };
 
@@ -12391,18 +12586,13 @@ with pkgs;
 
   pshs = callPackage ../servers/http/pshs { };
 
-  libpulseaudio = callPackage ../servers/pulseaudio {
-    libOnly = true;
-    inherit (darwin.apple_sdk.frameworks) CoreServices AudioUnit Cocoa;
-  };
+  # PulseAudio daemons
 
-  # Name is changed to prevent use in packages;
-  # please use libpulseaudio instead.
-  pulseaudioLight = callPackage ../servers/pulseaudio {
+  pulseaudio = callPackage ../servers/pulseaudio {
     inherit (darwin.apple_sdk.frameworks) CoreServices AudioUnit Cocoa;
   };
 
-  pulseaudioFull = callPackage ../servers/pulseaudio {
+  pulseaudioFull = pulseaudio.override {
     gconf = gnome3.gconf;
     x11Support = true;
     jackaudioSupport = true;
@@ -12414,6 +12604,24 @@ with pkgs;
     inherit (darwin.apple_sdk.frameworks) CoreServices AudioUnit Cocoa;
   };
 
+  # libpulse implementations
+  libpulseaudio-vanilla = pulseaudio.override {
+    libOnly = true;
+    inherit (darwin.apple_sdk.frameworks) CoreServices AudioUnit Cocoa;
+  };
+
+  apulse = callPackage ../misc/apulse { };
+
+  libpressureaudio = callPackage ../misc/apulse/pressureaudio.nix {
+    libpulseaudio = libpulseaudio-vanilla; # headers only
+  };
+
+  libcardiacarrest = callPackage ../misc/libcardiacarrest {
+    libpulseaudio = libpulseaudio-vanilla; # meta only
+  };
+
+  libpulseaudio = libpulseaudio-vanilla;
+
   tomcat_connectors = callPackage ../servers/http/apache-modules/tomcat-connectors { };
 
   pies = callPackage ../servers/pies { };
@@ -12461,8 +12669,6 @@ with pkgs;
     boost = boost159;
   };
 
-  mysql = mariadb;
-
   mysql_jdbc = callPackage ../servers/sql/mysql/jdbc { };
 
   nagios = callPackage ../servers/monitoring/nagios { };
@@ -12470,7 +12676,6 @@ with pkgs;
   munin = callPackage ../servers/monitoring/munin { };
 
   monitoring-plugins = callPackage ../servers/monitoring/plugins { };
-  nagiosPluginsOfficial = monitoring-plugins;
 
   inherit (callPackage ../servers/monitoring/plugins/labs_consol_de.nix { inherit (perlPackages) NetSNMP; })
     check-nwc-health
@@ -12506,9 +12711,9 @@ with pkgs;
 
   qboot = callPackage ../applications/virtualization/qboot { stdenv = stdenv_32bit; };
 
-  OVMF = callPackage ../applications/virtualization/OVMF { seabios=false; openssl=null; };
-  OVMF-CSM = callPackage ../applications/virtualization/OVMF { openssl=null; };
-  #WIP: OVMF-secureBoot = callPackage ../applications/virtualization/OVMF { seabios=false; secureBoot=true; };
+  OVMF = callPackage ../applications/virtualization/OVMF { seabios = null; openssl = null; };
+  OVMF-CSM = OVMF.override { openssl = null; };
+  #WIP: OVMF-secureBoot = OVMF.override { seabios = null; secureBoot = true; };
 
   seabios = callPackage ../applications/virtualization/seabios { };
 
@@ -12537,8 +12742,13 @@ with pkgs;
 
   postgresql_jdbc = callPackage ../servers/sql/postgresql/jdbc { };
 
+  inherit (callPackage ../servers/monitoring/prometheus {})
+      prometheus_1
+      prometheus_2
+      ;
+
   prom2json = callPackage ../servers/monitoring/prometheus/prom2json.nix { };
-  prometheus = callPackage ../servers/monitoring/prometheus { };
+  prometheus = prometheus_1;
   prometheus-alertmanager = callPackage ../servers/monitoring/prometheus/alertmanager.nix { };
   prometheus-bind-exporter = callPackage ../servers/monitoring/prometheus/bind-exporter.nix { };
   prometheus-blackbox-exporter = callPackage ../servers/monitoring/prometheus/blackbox-exporter.nix { };
@@ -12559,6 +12769,7 @@ with pkgs;
   prometheus-rabbitmq-exporter = callPackage ../servers/monitoring/prometheus/rabbitmq-exporter.nix { };
   prometheus-snmp-exporter = callPackage ../servers/monitoring/prometheus/snmp-exporter.nix { };
   prometheus-statsd-exporter = callPackage ../servers/monitoring/prometheus/statsd-bridge.nix { };
+  prometheus-surfboard-exporter = callPackage ../servers/monitoring/prometheus/surfboard-exporter.nix { };
   prometheus-unifi-exporter = callPackage ../servers/monitoring/prometheus/unifi-exporter { };
   prometheus-varnish-exporter = callPackage ../servers/monitoring/prometheus/varnish-exporter.nix { };
 
@@ -12574,6 +12785,7 @@ with pkgs;
 
   qpid-cpp = callPackage ../servers/amqp/qpid-cpp {
     boost = boost155;
+    inherit (pythonPackages) buildPythonPackage qpid-python;
   };
 
   quagga = callPackage ../servers/quagga { };
@@ -12595,6 +12807,8 @@ with pkgs;
 
   restic = callPackage ../tools/backup/restic { };
 
+  restic-rest-server = callPackage ../tools/backup/restic/rest-server.nix { };
+
   restya-board = callPackage ../servers/web-apps/restya-board { };
 
   rethinkdb = callPackage ../servers/nosql/rethinkdb {
@@ -12618,7 +12832,6 @@ with pkgs;
 
   deadpixi-sam-unstable = callPackage ../applications/editors/deadpixi-sam { };
   deadpixi-sam = deadpixi-sam-unstable;
-  sam = deadpixi-sam;
 
   samba3 = callPackage ../servers/samba/3.x.nix { };
 
@@ -12630,8 +12843,6 @@ with pkgs;
 
   samba = samba4;
 
-  smbclient = samba;
-
   # A lightweight Samba 3, useful for non-Linux-based OSes.
   samba3_light = lowPrio (samba3.override {
     pam = null;
@@ -12695,10 +12906,6 @@ with pkgs;
   storm = callPackage ../servers/computing/storm { };
 
   slurm = callPackage ../servers/computing/slurm { gtk2 = null; };
-  slurm-llnl = slurm; # renamed July 2017
-
-  slurm-full = appendToName "full" (callPackage ../servers/computing/slurm { });
-  slurm-llnl-full = slurm-full; # renamed July 2017
 
   slurm-spank-x11 = callPackage ../servers/computing/slurm-spank-x11 { };
 
@@ -12728,7 +12935,11 @@ with pkgs;
 
   axis2 = callPackage ../servers/http/tomcat/axis2 { };
 
-  unifi = callPackage ../servers/unifi { };
+  inherit (callPackages ../servers/unifi { })
+    unifiLTS
+    unifiStable
+    unifiTesting;
+  unifi = unifiStable;
 
   virtuoso6 = callPackage ../servers/sql/virtuoso/6.x.nix { };
 
@@ -12761,12 +12972,11 @@ with pkgs;
     inherit clangStdenv fetchurl fetchgit fetchpatch stdenv intltool freetype fontconfig
       libxslt expat libpng zlib perl mesa_drivers spice-protocol libunwind
       dbus libuuid openssl gperf m4 libevdev tradcpp libinput mcpp makeWrapper autoreconfHook
-      autoconf automake libtool mtdev pixman
+      autoconf automake libtool mtdev pixman libGL libGLU
       cairo epoxy;
     inherit (buildPackages) pkgconfig xmlto asciidoc flex bison;
     inherit (darwin) apple_sdk cf-private libobjc;
     bootstrap_cmds = if stdenv.isDarwin then darwin.bootstrap_cmds else null;
-    mesa = libGL;
     python = python2; # Incompatible with Python 3x
     udev = if stdenv.isLinux then udev else null;
     libdrm = if stdenv.isLinux then libdrm else null;
@@ -12780,11 +12990,15 @@ with pkgs;
     erlang = erlangR18;
   };
 
+  youtrack = callPackage ../servers/jetbrains/youtrack.nix { };
+
   zabbix = recurseIntoAttrs (callPackages ../servers/monitoring/zabbix {});
 
   zabbix20 = callPackage ../servers/monitoring/zabbix/2.0.nix { };
   zabbix22 = callPackage ../servers/monitoring/zabbix/2.2.nix { };
+  zabbix34 = callPackage ../servers/monitoring/zabbix/3.4.nix { };
 
+  zipkin = callPackage ../servers/monitoring/zipkin { };
 
   ### OS-SPECIFIC
 
@@ -12818,6 +13032,13 @@ with pkgs;
   alsaOss = callPackage ../os-specific/linux/alsa-oss { };
   alsaTools = callPackage ../os-specific/linux/alsa-tools { };
 
+  inherit (callPackage ../misc/arm-trusted-firmware {})
+    buildArmTrustedFirmware
+    armTrustedFirmwareAllwinner
+    armTrustedFirmwareQemu
+    armTrustedFirmwareRK3328
+    ;
+
   microcodeAmd = callPackage ../os-specific/linux/microcode/amd.nix { };
 
   microcodeIntel = callPackage ../os-specific/linux/microcode/intel.nix { };
@@ -12829,7 +13050,6 @@ with pkgs;
   atop = callPackage ../os-specific/linux/atop { };
 
   audit = callPackage ../os-specific/linux/audit { };
-  libaudit = audit;
 
   b43Firmware_5_1_138 = callPackage ../os-specific/linux/firmware/b43-firmware/5.1.138.nix { };
 
@@ -12847,9 +13067,6 @@ with pkgs;
 
   bluez5 = callPackage ../os-specific/linux/bluez { };
 
-  # Needed for LibreOffice
-  bluez5_28 = lowPrio (callPackage ../os-specific/linux/bluez/bluez5_28.nix { });
-
   bluez = bluez5;
 
   inherit (python3Packages) bedup;
@@ -12874,6 +13091,7 @@ with pkgs;
   conky = callPackage ../os-specific/linux/conky ({
     lua = lua5_1; # conky can use 5.2, but toluapp can not
     libXNVCtrl = linuxPackages.nvidia_x11.settings.libXNVCtrl;
+    pulseSupport = config.pulseaudio or false;
   } // config.conky or {});
 
   conntrack_tools = callPackage ../os-specific/linux/conntrack-tools { };
@@ -12897,8 +13115,6 @@ with pkgs;
   # `.override` clobbered. C.F. `llvmPackages` which does the same.
   darwin = callPackage ./darwin-packages.nix { };
 
-  devicemapper = lvm2;
-
   disk_indicator = callPackage ../os-specific/linux/disk-indicator { };
 
   displaylink = callPackage ../os-specific/linux/displaylink {
@@ -12956,16 +13172,14 @@ with pkgs;
 
   ebtables = callPackage ../os-specific/linux/ebtables { };
 
-  eject = utillinux;
-
   facetimehd-firmware = callPackage ../os-specific/linux/firmware/facetimehd-firmware { };
 
   fatrace = callPackage ../os-specific/linux/fatrace { };
 
-  ffadoFull = callPackage ../os-specific/linux/ffado {
+  ffado = callPackage ../os-specific/linux/ffado {
     inherit (python2Packages) python pyqt4 dbus-python;
   };
-  libffado = ffadoFull.override { prefix = "lib"; };
+  libffado = ffado.override { prefix = "lib"; };
 
   fbterm = callPackage ../os-specific/linux/fbterm { };
 
@@ -13000,6 +13214,8 @@ with pkgs;
 
   gpm-ncurses = gpm.override { inherit ncurses; };
 
+  gpu-switch = callPackage ../os-specific/linux/gpu-switch { };
+
   gradm = callPackage ../os-specific/linux/gradm {
     flex = flex_2_5_35;
   };
@@ -13016,6 +13232,8 @@ with pkgs;
     inherit (darwin) IOKit;
   };
 
+  nmon = callPackage ../os-specific/linux/nmon { };
+
   # GNU/Hurd core packages.
   gnu = recurseIntoAttrs (callPackage ../os-specific/gnu {
     inherit platform;
@@ -13025,6 +13243,8 @@ with pkgs;
 
   i7z = callPackage ../os-specific/linux/i7z { };
 
+  pcm = callPackage ../os-specific/linux/pcm { };
+
   ima-evm-utils = callPackage ../os-specific/linux/ima-evm-utils { };
 
   intel2200BGFirmware = callPackage ../os-specific/linux/firmware/intel2200BGFirmware { };
@@ -13038,7 +13258,7 @@ with pkgs;
   iproute = callPackage ../os-specific/linux/iproute { };
 
   iputils = callPackage ../os-specific/linux/iputils {
-    inherit (perlPackages) SGMLSpm;
+    inherit (buildPackages.buildPackages.perlPackages) SGMLSpm;
   };
 
   iptables = callPackage ../os-specific/linux/iptables { };
@@ -13054,7 +13274,7 @@ with pkgs;
   iwd = callPackage ../os-specific/linux/iwd { };
 
   jfbview = callPackage ../os-specific/linux/jfbview { };
-  jfbpdf = callPackage ../os-specific/linux/jfbview {
+  jfbpdf = jfbview.override {
     imageSupport = false;
   };
 
@@ -13072,7 +13292,9 @@ with pkgs;
 
   kmscube = callPackage ../os-specific/linux/kmscube { };
 
-  kmsxx = callPackage ../development/libraries/kmsxx { };
+  kmsxx = callPackage ../development/libraries/kmsxx {
+    stdenv = overrideCC stdenv gcc6;
+  };
 
   latencytop = callPackage ../os-specific/linux/latencytop { };
 
@@ -13123,11 +13345,19 @@ with pkgs;
       ];
   };
 
-  linux_copperhead = callPackage ../os-specific/linux/kernel/linux-copperhead-hardened.nix {
+  linux_copperhead_lts = callPackage ../os-specific/linux/kernel/linux-copperhead-lts.nix {
     kernelPatches = with kernelPatches; [
-      kernelPatches.bridge_stp_helper
-      kernelPatches.modinst_arg_list_too_long
-      kernelPatches.tag_hardened
+      bridge_stp_helper
+      modinst_arg_list_too_long
+      tag_hardened
+    ];
+  };
+
+  linux_copperhead_stable = callPackage ../os-specific/linux/kernel/linux-copperhead-stable.nix {
+    kernelPatches = with kernelPatches; [
+      bridge_stp_helper
+      modinst_arg_list_too_long
+      tag_hardened
     ];
   };
 
@@ -13138,11 +13368,6 @@ with pkgs;
         kernelPatches.p9_fixes
         kernelPatches.cpu-cgroup-v2."4.9"
         kernelPatches.modinst_arg_list_too_long
-      ]
-      ++ lib.optionals ((platform.kernelArch or null) == "mips")
-      [ kernelPatches.mips_fpureg_emu
-        kernelPatches.mips_fpu_sigill
-        kernelPatches.mips_ext3_n32
       ];
   };
 
@@ -13157,11 +13382,6 @@ with pkgs;
       [ kernelPatches.bridge_stp_helper
         kernelPatches.cpu-cgroup-v2."4.4"
         kernelPatches.modinst_arg_list_too_long
-      ]
-      ++ lib.optionals ((platform.kernelArch or null) == "mips")
-      [ kernelPatches.mips_fpureg_emu
-        kernelPatches.mips_fpu_sigill
-        kernelPatches.mips_ext3_n32
       ];
   };
 
@@ -13170,11 +13390,6 @@ with pkgs;
       [ kernelPatches.bridge_stp_helper
         kernelPatches.cpu-cgroup-v2."4.9"
         kernelPatches.modinst_arg_list_too_long
-      ]
-      ++ lib.optionals ((platform.kernelArch or null) == "mips")
-      [ kernelPatches.mips_fpureg_emu
-        kernelPatches.mips_fpu_sigill
-        kernelPatches.mips_ext3_n32
       ];
   };
 
@@ -13185,26 +13400,17 @@ with pkgs;
         # when adding a new linux version
         kernelPatches.cpu-cgroup-v2."4.11"
         kernelPatches.modinst_arg_list_too_long
-      ]
-      ++ lib.optionals ((platform.kernelArch or null) == "mips")
-      [ kernelPatches.mips_fpureg_emu
-        kernelPatches.mips_fpu_sigill
-        kernelPatches.mips_ext3_n32
       ];
   };
 
-  linux_4_15 = callPackage ../os-specific/linux/kernel/linux-4.15.nix {
+  linux_4_16 = callPackage ../os-specific/linux/kernel/linux-4.16.nix {
     kernelPatches =
       [ kernelPatches.bridge_stp_helper
         # See pkgs/os-specific/linux/kernel/cpu-cgroup-v2-patches/README.md
         # when adding a new linux version
         # kernelPatches.cpu-cgroup-v2."4.11"
         kernelPatches.modinst_arg_list_too_long
-      ]
-      ++ lib.optionals ((platform.kernelArch or null) == "mips")
-      [ kernelPatches.mips_fpureg_emu
-        kernelPatches.mips_fpu_sigill
-        kernelPatches.mips_ext3_n32
+        kernelPatches.bcm2835_mmal_v4l2_camera_driver # Only needed for 4.16!
       ];
   };
 
@@ -13212,10 +13418,6 @@ with pkgs;
     kernelPatches = [
       kernelPatches.bridge_stp_helper
       kernelPatches.modinst_arg_list_too_long
-    ] ++ lib.optionals ((platform.kernelArch or null) == "mips") [
-      kernelPatches.mips_fpureg_emu
-      kernelPatches.mips_fpu_sigill
-      kernelPatches.mips_ext3_n32
     ];
   };
 
@@ -13223,11 +13425,6 @@ with pkgs;
     kernelPatches =
       [ kernelPatches.bridge_stp_helper
         kernelPatches.modinst_arg_list_too_long
-      ]
-      ++ lib.optionals ((platform.kernelArch or null) == "mips")
-      [ kernelPatches.mips_fpureg_emu
-        kernelPatches.mips_fpu_sigill
-        kernelPatches.mips_ext3_n32
       ];
   };
 
@@ -13309,11 +13506,12 @@ with pkgs;
 
     broadcom_sta = callPackage ../os-specific/linux/broadcom-sta/default.nix { };
 
+    tbs = callPackage ../os-specific/linux/tbs { };
+
     nvidiabl = callPackage ../os-specific/linux/nvidiabl { };
 
     nvidiaPackages = callPackage ../os-specific/linux/nvidia-x11 { };
 
-    nvidia_x11_legacy173 = nvidiaPackages.legacy_173;
     nvidia_x11_legacy304 = nvidiaPackages.legacy_304;
     nvidia_x11_legacy340 = nvidiaPackages.legacy_340;
     nvidia_x11_beta      = nvidiaPackages.beta;
@@ -13367,6 +13565,8 @@ with pkgs;
 
     systemtap = callPackage ../development/tools/profiling/systemtap { };
 
+    tmon = callPackage ../os-specific/linux/tmon { };
+
     tp_smapi = callPackage ../os-specific/linux/tp_smapi { };
 
     usbip = callPackage ../os-specific/linux/usbip { };
@@ -13400,7 +13600,7 @@ with pkgs;
   linux = linuxPackages.kernel;
 
   # Update this when adding the newest kernel major version!
-  linuxPackages_latest = linuxPackages_4_15;
+  linuxPackages_latest = linuxPackages_4_16;
   linux_latest = linuxPackages_latest.kernel;
 
   # Build the kernel modules for the some of the kernels.
@@ -13410,18 +13610,31 @@ with pkgs;
   linuxPackages_4_4 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_4_4);
   linuxPackages_4_9 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_4_9);
   linuxPackages_4_14 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_4_14);
-  linuxPackages_4_15 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_4_15);
+  linuxPackages_4_16 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_4_16);
   # Don't forget to update linuxPackages_latest!
 
   # Intentionally lacks recurseIntoAttrs, as -rc kernels will quite likely break out-of-tree modules and cause failed Hydra builds.
   linuxPackages_testing = linuxPackagesFor pkgs.linux_testing;
 
-  linuxPackages_custom = { version, src, configfile }:
+  linuxPackages_custom = { version, src, configfile, allowImportFromDerivation ? true }:
     recurseIntoAttrs (linuxPackagesFor (pkgs.linuxManualConfig {
-      inherit version src configfile stdenv;
-      allowImportFromDerivation = true;
+      inherit version src configfile stdenv allowImportFromDerivation;
+      inherit (stdenv) hostPlatform;
     }));
 
+  # This serves as a test for linuxPackages_custom
+  linuxPackages_custom_tinyconfig_kernel = let
+    base = pkgs.linuxPackages.kernel;
+    tinyLinuxPackages = pkgs.linuxPackages_custom {
+      inherit (base) version src;
+      allowImportFromDerivation = false;
+      configfile = pkgs.linuxConfig {
+        makeTarget = "tinyconfig";
+        src = base.src;
+      };
+    };
+    in tinyLinuxPackages.kernel;
+
   # Build a kernel with bcachefs module
   linuxPackages_testing_bcachefs = recurseIntoAttrs (linuxPackagesFor pkgs.linux_testing_bcachefs);
 
@@ -13448,9 +13661,8 @@ with pkgs;
 
   linuxPackages_latest_xen_dom0_hardened = recurseIntoAttrs (hardenedLinuxPackagesFor (pkgs.linux_latest.override { features.xen_dom0=true; }));
 
-  linuxPackages_copperhead_hardened = recurseIntoAttrs (hardenedLinuxPackagesFor pkgs.linux_copperhead);
-  linux_copperhead_hardened = linuxPackages_copperhead_hardened.kernel;
-  linux_hardened_copperhead = linux_copperhead_hardened; # alias for backward compatibility
+  linuxPackages_copperhead_lts = recurseIntoAttrs (hardenedLinuxPackagesFor pkgs.linux_copperhead_lts);
+  linuxPackages_copperhead_stable = recurseIntoAttrs (hardenedLinuxPackagesFor pkgs.linux_copperhead_stable);
 
   # Samus kernels
   linuxPackages_samus_4_12 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_samus_4_12);
@@ -13459,7 +13671,21 @@ with pkgs;
 
   # A function to build a manually-configured kernel
   linuxManualConfig = makeOverridable (callPackage ../os-specific/linux/kernel/manual-config.nix {});
-  buildLinux = makeOverridable (callPackage ../os-specific/linux/kernel/generic.nix {});
+
+  # Derive one of the default .config files
+  linuxConfig = { src, makeTarget ? "defconfig", name ? "kernel.config" }:
+    stdenv.mkDerivation {
+      inherit name src;
+      buildPhase = ''
+        set -x
+        make ${makeTarget}
+      '';
+      installPhase = ''
+        cp .config $out
+      '';
+    };
+
+  buildLinux = attrs: callPackage ../os-specific/linux/kernel/generic.nix attrs;
 
   keyutils = callPackage ../os-specific/linux/keyutils { };
 
@@ -13471,6 +13697,8 @@ with pkgs;
 
   libraw1394 = callPackage ../development/libraries/libraw1394 { };
 
+  librealsense = callPackage ../development/libraries/librealsense { };
+
   libsass = callPackage ../development/libraries/libsass { };
 
   libsexy = callPackage ../development/libraries/libsexy { };
@@ -13491,8 +13719,6 @@ with pkgs;
 
   kmod-debian-aliases = callPackage ../os-specific/linux/kmod-debian-aliases { };
 
-  kvm = qemu_kvm;
-
   libcap = callPackage ../os-specific/linux/libcap { };
 
   libcap_ng = callPackage ../os-specific/linux/libcap-ng {
@@ -13533,16 +13759,9 @@ with pkgs;
   musl-fts = callPackage ../os-specific/linux/musl/fts.nix { };
   musl-getconf = callPackage ../os-specific/linux/musl/getconf.nix { };
   musl-getent = callPackage ../os-specific/linux/musl/getent.nix { };
-  getent =
-    if hostPlatform.isMusl then musl-getent
-    # This may not be right on other platforms, but preserves existing behavior
-    else /* if hostPlatform.libc == "glibc" then */ glibc.bin;
-
-  getconf =
-    if hostPlatform.isMusl then musl-getconf
-    else lib.getBin stdenv.cc.libc;
 
-  nettools = callPackage ../os-specific/linux/net-tools { };
+  nettools = if stdenv.isLinux then callPackage ../os-specific/linux/net-tools { }
+             else unixtools.nettools;
 
   nftables = callPackage ../os-specific/linux/nftables { };
 
@@ -13592,19 +13811,29 @@ with pkgs;
 
   gotools = callPackage ../development/tools/gotools { };
 
+  gotop = callPackage ../tools/system/gotop { };
+
   gomodifytags = callPackage ../development/tools/gomodifytags { };
 
+  go-langserver = callPackage ../development/tools/go-langserver { };
+
   gotests = callPackage ../development/tools/gotests { };
 
   gogoclient = callPackage ../os-specific/linux/gogoclient { };
 
+  linux-pam = callPackage ../os-specific/linux/pam { };
+
   nss_ldap = callPackage ../os-specific/linux/nss_ldap { };
 
   odroid-xu3-bootloader = callPackage ../tools/misc/odroid-xu3-bootloader { };
 
+  openpam = callPackage ../development/libraries/openpam { };
+
+  openbsm = callPackage ../development/libraries/openbsm { };
+
   pagemon = callPackage ../os-specific/linux/pagemon { };
 
-  pam = callPackage ../os-specific/linux/pam { };
+  pam = if stdenv.isLinux then linux-pam else openpam;
 
   # pam_bioapi ( see http://www.thinkwiki.org/wiki/How_to_enable_the_fingerprint_reader )
 
@@ -13635,6 +13864,8 @@ with pkgs;
     config = config.pcmciaUtils.config or null;
   };
 
+  pcstat = callPackage ../tools/system/pcstat { };
+
   perf-tools = callPackage ../os-specific/linux/perf-tools { };
 
   pipes = callPackage ../misc/screensavers/pipes { };
@@ -13653,15 +13884,16 @@ with pkgs;
 
   powerdns = callPackage ../servers/dns/powerdns { };
 
+  dnsdist = callPackage ../servers/dns/dnsdist { };
+
   pdns-recursor = callPackage ../servers/dns/pdns-recursor { };
 
   powertop = callPackage ../os-specific/linux/powertop { };
 
   prayer = callPackage ../servers/prayer { };
 
-  procps = procps-ng;
-
-  procps-ng = callPackage ../os-specific/linux/procps-ng { };
+  procps-ng = if stdenv.isLinux then callPackage ../os-specific/linux/procps-ng { }
+              else unixtools.procps;
 
   watch = callPackage ../os-specific/linux/procps/watch.nix { };
 
@@ -13673,6 +13905,8 @@ with pkgs;
   qemu_xen-light = lowPrio (qemu.override { hostCpuOnly = true; xenSupport = true; xen = xen-light; });
   qemu_xen_4_8 = lowPrio (qemu.override { hostCpuOnly = true; xenSupport = true; xen = xen_4_8-slim; });
   qemu_xen_4_8-light = lowPrio (qemu.override { hostCpuOnly = true; xenSupport = true; xen = xen_4_8-light; });
+  qemu_xen_4_10 = lowPrio (qemu.override { hostCpuOnly = true; xenSupport = true; xen = xen_4_10-slim; });
+  qemu_xen_4_10-light = lowPrio (qemu.override { hostCpuOnly = true; xenSupport = true; xen = xen_4_10-light; });
 
   qemu_test = lowPrio (qemu.override { hostCpuOnly = true; nixosTestRunner = true; });
 
@@ -13683,6 +13917,7 @@ with pkgs;
   radeontop = callPackage ../os-specific/linux/radeontop { };
 
   raspberrypifw = callPackage ../os-specific/linux/firmware/raspberrypi {};
+  raspberrypi-tools = callPackage ../os-specific/linux/firmware/raspberrypi/tools.nix {};
 
   regionset = callPackage ../os-specific/linux/regionset { };
 
@@ -13747,10 +13982,6 @@ with pkgs;
     inherit (gnome2) libglade;
   };
 
-  # Provided with sysfsutils.
-  libsysfs = sysfsutils;
-  systool = sysfsutils;
-
   sysklogd = callPackage ../os-specific/linux/sysklogd { };
 
   syslinux = callPackage ../os-specific/linux/syslinux { };
@@ -13774,7 +14005,7 @@ with pkgs;
 
   sysvinit = callPackage ../os-specific/linux/sysvinit { };
 
-  sysvtools = callPackage ../os-specific/linux/sysvinit {
+  sysvtools = sysvinit.override {
     withoutInitTools = true;
   };
 
@@ -13818,15 +14049,14 @@ with pkgs;
   # Non-upstream U-Boots:
   ubootNanonote = callPackage ../misc/uboot/nanonote.nix { };
 
+  ubootRock64 = callPackage ../misc/uboot/rock64.nix { };
+
   uclibc = callPackage ../os-specific/linux/uclibc { };
 
   uclibcCross = callPackage ../os-specific/linux/uclibc {
     stdenv = crossLibcStdenv;
   };
 
-  udev = systemd;
-  libudev = udev;
-
   eudev = callPackage ../os-specific/linux/eudev {};
 
   libudev0-shim = callPackage ../os-specific/linux/libudev0-shim/default.nix { };
@@ -13849,15 +14079,17 @@ with pkgs;
 
   usermount = callPackage ../os-specific/linux/usermount { };
 
-  utillinux = callPackage ../os-specific/linux/util-linux { };
+  utillinux = if stdenv.isLinux then callPackage ../os-specific/linux/util-linux { }
+              else unixtools.utillinux;
+
   utillinuxCurses = utillinux;
 
-  utillinuxMinimal = appendToName "minimal" (utillinux.override {
+  utillinuxMinimal = if stdenv.isLinux then appendToName "minimal" (utillinux.override {
     minimal = true;
     ncurses = null;
     perl = null;
     systemd = null;
-  });
+  }) else utillinux;
 
   v4l_utils = qt5.callPackage ../os-specific/linux/v4l-utils { };
 
@@ -13986,9 +14218,7 @@ with pkgs;
 
   crimson = callPackage ../data/fonts/crimson {};
 
-  dejavu_fonts = lowPrio (callPackage ../data/fonts/dejavu-fonts {
-    inherit (perlPackages) FontTTF;
-  });
+  dejavu_fonts = lowPrio (callPackage ../data/fonts/dejavu-fonts {});
 
   # solve collision for nix-env before https://github.com/NixOS/nix/pull/815
   dejavu_fontsEnv = buildEnv {
@@ -14024,9 +14254,7 @@ with pkgs;
     docbook_xsl
     docbook_xsl_ns;
 
-  docbook_xml_xslt = docbook_xsl;
-
-  docbook5_xsl = docbook_xsl_ns;
+  documentation-highlighter = callPackage ../misc/documentation-highlighter { };
 
   cabin = callPackage ../data/fonts/cabin { };
 
@@ -14098,6 +14326,8 @@ with pkgs;
 
   ibm-plex = callPackage ../data/fonts/ibm-plex { };
 
+  iconpack-obsidian = callPackage ../data/icons/iconpack-obsidian { };
+
   inconsolata = callPackage ../data/fonts/inconsolata {};
   inconsolata-lgc = callPackage ../data/fonts/inconsolata/lgc.nix {};
 
@@ -14206,7 +14436,9 @@ with pkgs;
   inherit (callPackages ../data/fonts/noto-fonts {})
     noto-fonts noto-fonts-cjk noto-fonts-emoji;
 
-  nullmailer = callPackage ../servers/mail/nullmailer { };
+  nullmailer = callPackage ../servers/mail/nullmailer {
+    stdenv = gccStdenv;
+  };
 
   numix-icon-theme = callPackage ../data/icons/numix-icon-theme { };
 
@@ -14252,12 +14484,16 @@ with pkgs;
 
   powerline-go = callPackage ../tools/misc/powerline-go { };
 
+  powerline-rs = callPackage ../tools/misc/powerline-rs { };
+
   profont = callPackage ../data/fonts/profont { };
 
   proggyfonts = callPackage ../data/fonts/proggyfonts { };
 
   sampradaya = callPackage ../data/fonts/sampradaya { };
 
+  sarasa-gothic = callPackage ../data/fonts/sarasa-gothic { };
+
   scowl = callPackage ../data/misc/scowl { };
 
   shaderc = callPackage ../development/compilers/shaderc { };
@@ -14268,6 +14504,8 @@ with pkgs;
 
   shared_desktop_ontologies = callPackage ../data/misc/shared-desktop-ontologies { };
 
+  scheherazade = callPackage ../data/fonts/scheherazade { };
+
   signwriting = callPackage ../data/fonts/signwriting { };
 
   soundfont-fluid = callPackage ../data/soundfonts/fluid { };
@@ -14287,6 +14525,8 @@ with pkgs;
 
   qgo = libsForQt5.callPackage ../games/qgo { };
 
+  qmc2 = libsForQt5.callPackage ../misc/emulators/qmc2 { };
+
   quattrocento = callPackage ../data/fonts/quattrocento {};
 
   quattrocento-sans = callPackage ../data/fonts/quattrocento-sans {};
@@ -14346,15 +14586,9 @@ with pkgs;
 
   terminus_font_ttf = callPackage ../data/fonts/terminus-font-ttf { };
 
-  tex-gyre = callPackage ../data/fonts/tex-gyre { };
-
-  tex-gyre-bonum-math = callPackage ../data/fonts/tex-gyre-math { variant = "bonum"; };
+  tex-gyre = callPackages ../data/fonts/tex-gyre { };
 
-  tex-gyre-pagella-math = callPackage ../data/fonts/tex-gyre-math { variant = "pagella"; };
-
-  tex-gyre-schola-math = callPackage ../data/fonts/tex-gyre-math { variant = "schola"; };
-
-  tex-gyre-termes-math = callPackage ../data/fonts/tex-gyre-math { variant = "termes"; };
+  tex-gyre-math = callPackages ../data/fonts/tex-gyre-math { };
 
   tipa = callPackage ../data/fonts/tipa { };
 
@@ -14419,35 +14653,12 @@ with pkgs;
 
   aacgain = callPackage ../applications/audio/aacgain { };
 
-  aangifte2006 = callPackage_i686 ../applications/taxes/aangifte-2006 { };
-
-  aangifte2007 = callPackage_i686 ../applications/taxes/aangifte-2007 { };
-
-  aangifte2008 = callPackage_i686 ../applications/taxes/aangifte-2008 { };
-
-  aangifte2009 = callPackage_i686 ../applications/taxes/aangifte-2009 { };
-
-  aangifte2010 = callPackage_i686 ../applications/taxes/aangifte-2010 { };
-
-  aangifte2011 = callPackage_i686 ../applications/taxes/aangifte-2011 { };
-
-  aangifte2012 = callPackage_i686 ../applications/taxes/aangifte-2012 { };
-
-  aangifte2013 = callPackage_i686 ../applications/taxes/aangifte-2013 { };
-
-  aangifte2014 = callPackage_i686 ../applications/taxes/aangifte-2014 { };
-
-  aangifte2013wa = callPackage_i686 ../applications/taxes/aangifte-2013-wa { };
-
-  aangifte2014wa = callPackage_i686 ../applications/taxes/aangifte-2014-wa { };
-
   abcde = callPackage ../applications/audio/abcde {
     inherit (perlPackages) DigestSHA MusicBrainz MusicBrainzDiscID;
     inherit (pythonPackages) eyeD3;
   };
 
   abiword = callPackage ../applications/office/abiword {
-    inherit (gnome2) libglade libgnomecanvas;
     iconTheme = gnome3.defaultIconTheme;
   };
 
@@ -14473,7 +14684,9 @@ with pkgs;
     stdenv = overrideCC stdenv gcc49;
   };
 
-  ahoviewer = callPackage ../applications/graphics/ahoviewer { };
+  ahoviewer = callPackage ../applications/graphics/ahoviewer {
+    useUnrar = config.ahoviewer.useUnrar or false;
+  };
 
   airwave = callPackage ../applications/audio/airwave/default.nix { };
 
@@ -14501,7 +14714,7 @@ with pkgs;
 
   androidStudioPackages = callPackage ../applications/editors/android-studio { };
   android-studio = androidStudioPackages.stable;
-  android-studio-preview = androidStudioPackages.preview;
+  android-studio-preview = androidStudioPackages.beta;
 
   antfs-cli = callPackage ../applications/misc/antfs-cli {};
 
@@ -14528,6 +14741,8 @@ with pkgs;
 
   artha = callPackage ../applications/misc/artha { };
 
+  atlassian-cli = callPackage ../applications/office/atlassian-cli { };
+
   atomEnv = callPackage ../applications/editors/atom/env.nix {
     gconf = gnome2.GConf;
   };
@@ -14551,6 +14766,8 @@ with pkgs;
 
   autotrace = callPackage ../applications/graphics/autotrace {};
 
+  avocode = callPackage ../applications/graphics/avocode {};
+
   milkytracker = callPackage ../applications/audio/milkytracker { };
 
   schismtracker = callPackage ../applications/audio/schismtracker { };
@@ -14578,21 +14795,21 @@ with pkgs;
   dapp = self.altcoins.dapp;
   hevm = self.altcoins.hevm;
 
+  parity = self.altcoins.parity;
+  parity-beta = self.altcoins.parity-beta;
+  parity-ui = self.altcoins.parity-ui;
+
   stellar-core = self.altcoins.stellar-core;
 
+  particl-core = self.altcoins.particl-core;
+
   aumix = callPackage ../applications/audio/aumix {
     gtkGUI = false;
   };
 
   autopanosiftc = callPackage ../applications/graphics/autopanosiftc { };
 
-  avidemux = libsForQt5.callPackage ../applications/video/avidemux {
-    libva = libva-full;
-  };
-
-  avogadro = callPackage ../applications/science/chemistry/avogadro {
-    eigen = eigen2;
-  };
+  avidemux = libsForQt5.callPackage ../applications/video/avidemux { };
 
   avrdudess = callPackage ../applications/misc/avrdudess { };
 
@@ -14621,6 +14838,8 @@ with pkgs;
 
   backintime = backintime-qt4;
 
+  balsa = callPackage ../applications/networking/mailreaders/balsa { };
+
   bandwidth = callPackage ../tools/misc/bandwidth { };
 
   baresip = callPackage ../applications/networking/instant-messengers/baresip {
@@ -14693,7 +14912,7 @@ with pkgs;
 
   blender = callPackage  ../applications/misc/blender {
     cudaSupport = config.cudaSupport or false;
-    python = python35;
+    pythonPackages = python35Packages;
     stdenv = overrideCC stdenv gcc6;
   };
 
@@ -14711,6 +14930,8 @@ with pkgs;
     ffmpeg = ffmpeg_2;
   };
 
+  bonzomatic = callPackage ../applications/editors/bonzomatic { };
+
   brackets = callPackage ../applications/editors/brackets { gconf = gnome3.gconf; };
 
   notmuch-bower = callPackage ../applications/networking/mailreaders/notmuch-bower { };
@@ -14781,7 +15002,9 @@ with pkgs;
 
   centerim = callPackage ../applications/networking/instant-messengers/centerim { };
 
-  cgit = callPackage ../applications/version-management/git-and-tools/cgit { };
+  cgit = callPackage ../applications/version-management/git-and-tools/cgit {
+    inherit (python3Packages) python wrapPython pygments markdown;
+  };
 
   cgminer = callPackage ../applications/misc/cgminer {
     amdappsdk = amdappsdk28;
@@ -14807,7 +15030,9 @@ with pkgs;
 
   chromiumDev = lowPrio (chromium.override { channel = "dev"; });
 
-  chuck = callPackage ../applications/audio/chuck { };
+  chuck = callPackage ../applications/audio/chuck {
+    inherit (darwin.apple_sdk.frameworks) AppKit Carbon CoreAudio CoreMIDI CoreServices Kernel;
+  };
 
   cinelerra = callPackage ../applications/video/cinelerra { };
 
@@ -14840,6 +15065,7 @@ with pkgs;
   };
 
   cni = callPackage ../applications/networking/cluster/cni {};
+  cni-plugins = callPackage ../applications/networking/cluster/cni/plugins.nix {};
 
   communi = libsForQt5.callPackage ../applications/networking/irc/communi { };
 
@@ -14860,7 +15086,7 @@ with pkgs;
   };
 
   codeblocks = callPackage ../applications/editors/codeblocks { };
-  codeblocksFull = callPackage ../applications/editors/codeblocks { contribPlugins = true; };
+  codeblocksFull = codeblocks.override { contribPlugins = true; };
 
   comical = callPackage ../applications/graphics/comical { };
 
@@ -14871,6 +15097,8 @@ with pkgs;
 
   convchain = callPackage ../tools/graphics/convchain {};
 
+  coursera-dl = callPackage ../applications/misc/coursera-dl {};
+
   coyim = callPackage ../applications/networking/instant-messengers/coyim {};
 
   cpp_ethereum = callPackage ../applications/misc/cpp-ethereum { };
@@ -14950,6 +15178,8 @@ with pkgs;
 
   distrho = callPackage ../applications/audio/distrho {};
 
+  dit = callPackage ../applications/editors/dit { };
+
   djvulibre = callPackage ../applications/misc/djvulibre { };
 
   djvu2pdf = callPackage ../tools/typesetting/djvu2pdf { };
@@ -14965,18 +15195,16 @@ with pkgs;
     inherit (python3Packages) buildPythonApplication requests;
   };
 
-  dmtx = dmtx-utils;
-
   dmtx-utils = callPackage (callPackage ../tools/graphics/dmtx-utils) {
   };
 
   # go 1.9 pin until https://github.com/moby/moby/pull/35739
   inherit (callPackage ../applications/virtualization/docker { go = go_1_9; })
-    docker_17_12
-    docker_18_02;
+    docker_18_03
+    docker_18_05;
 
-  docker = docker_17_12;
-  docker-edge = docker_18_02;
+  docker = docker_18_03;
+  docker-edge = docker_18_05;
 
   docker-proxy = callPackage ../applications/virtualization/docker/proxy.nix { };
 
@@ -14988,7 +15216,7 @@ with pkgs;
     inherit (darwin.apple_sdk.frameworks) Hypervisor vmnet;
   };
 
-  docker-distribution = callPackage ../applications/virtualization/docker-distribution { };
+  docker-distribution = callPackage ../applications/virtualization/docker/distribution.nix { };
 
   docker-credential-gcr = callPackage ../tools/admin/docker-credential-gcr { };
 
@@ -14998,6 +15226,8 @@ with pkgs;
 
   draftsight = callPackage ../applications/graphics/draftsight { };
 
+  dragonfly-reverb = callPackage ../applications/audio/dragonfly-reverb { };
+
   droopy = callPackage ../applications/networking/droopy {
     inherit (python3Packages) wrapPython;
   };
@@ -15006,6 +15236,8 @@ with pkgs;
 
   dunst = callPackage ../applications/misc/dunst { };
 
+  du-dust = callPackage ../tools/misc/dust { };
+
   devede = callPackage ../applications/video/devede { };
 
   denemo = callPackage ../applications/audio/denemo {
@@ -15024,9 +15256,6 @@ with pkgs;
     inherit (gnome2) libgnomeui;
   };
 
-  dwb-unwrapped = callPackage ../applications/networking/browsers/dwb { dconf = gnome3.dconf; };
-  dwb = wrapFirefox dwb-unwrapped { desktopName = "dwb"; };
-
   dwm = callPackage ../applications/window-managers/dwm {
     patches = config.dwm.patches or [];
   };
@@ -15041,7 +15270,9 @@ with pkgs;
 
   eaglemode = callPackage ../applications/misc/eaglemode { };
 
-  eclipses = recurseIntoAttrs (callPackage ../applications/editors/eclipse { webkitgtk24x-gtk2 = null; });
+  eclipses = recurseIntoAttrs (callPackage ../applications/editors/eclipse {
+    jdk = jdk10;
+  });
 
   ecs-agent = callPackage ../applications/virtualization/ecs-agent { };
 
@@ -15055,9 +15286,9 @@ with pkgs;
 
   electrum = callPackage ../applications/misc/electrum { };
 
-  electrum-dash = callPackage ../applications/misc/electrum-dash { };
+  electrum-dash = callPackage ../applications/misc/electrum/dash.nix { };
 
-  electrum-ltc = callPackage ../applications/misc/electrum-ltc { };
+  electrum-ltc = callPackage ../applications/misc/electrum/ltc.nix { };
 
   elinks = callPackage ../applications/networking/browsers/elinks { };
 
@@ -15093,9 +15324,6 @@ with pkgs;
       ImageCaptureCore GSS ImageIO;
   };
 
-  # for backwards compatibility
-  emacs25Macport_25_1 = emacs25Macport;
-
   emacsPackagesGen = emacs: self: let callPackage = newScope self; in rec {
     inherit emacs;
 
@@ -15275,6 +15503,8 @@ with pkgs;
 
   epdfview = callPackage ../applications/misc/epdfview { };
 
+  epeg = callPackage ../applications/graphics/epeg/default.nix { };
+
   inherit (gnome3) epiphany;
 
   epic5 = callPackage ../applications/networking/irc/epic5 { };
@@ -15328,7 +15558,6 @@ with pkgs;
   keepass-keepasshttp = callPackage ../applications/misc/keepass-plugins/keepasshttp { };
 
   keepass-keepassrpc = callPackage ../applications/misc/keepass-plugins/keepassrpc { };
-  keepass-keefox = keepass-keepassrpc; # backwards compatibility alias, added 2018-02
 
   exrdisplay = callPackage ../applications/graphics/exrdisplay { };
 
@@ -15350,9 +15579,9 @@ with pkgs;
 
   fldigi = callPackage ../applications/audio/fldigi { };
 
-  flink = flink_1_4;
-  flink_1_3 = callPackage ../applications/networking/cluster/flink { version = "1.3"; };
-  flink_1_4 = callPackage ../applications/networking/cluster/flink { version = "1.4"; };
+  flink = callPackage ../applications/networking/cluster/flink { };
+  flink_1_3 = flink.override { version = "1.3"; };
+  flink_1_4 = flink.override { version = "1.4"; };
 
   fluidsynth = callPackage ../applications/audio/fluidsynth {
      inherit (darwin.apple_sdk.frameworks) AudioUnit CoreAudio CoreMIDI CoreServices;
@@ -15389,6 +15618,8 @@ with pkgs;
 
   ghostwriter = libsForQt5.callPackage ../applications/editors/ghostwriter { };
 
+  gitweb = callPackage ../applications/version-management/git-and-tools/gitweb/default.nix { };
+
   gksu = callPackage ../applications/misc/gksu { };
 
   gnss-sdr = callPackage ../applications/misc/gnss-sdr { };
@@ -15405,15 +15636,15 @@ with pkgs;
     extraPackages = [ gnuradio-nacl gnuradio-osmosdr gnuradio-gsm gnuradio-ais gnuradio-rds ];
   };
 
-  gnuradio-nacl = callPackage ../applications/misc/gnuradio-nacl { };
+  gnuradio-nacl = callPackage ../applications/misc/gnuradio/nacl.nix { };
 
-  gnuradio-gsm = callPackage ../applications/misc/gnuradio-gsm { };
+  gnuradio-gsm = callPackage ../applications/misc/gnuradio/gsm.nix { };
 
-  gnuradio-ais = callPackage ../applications/misc/gnuradio-ais { };
+  gnuradio-ais = callPackage ../applications/misc/gnuradio/ais.nix { };
 
-  gnuradio-rds = callPackage ../applications/misc/gnuradio-rds { };
+  gnuradio-rds = callPackage ../applications/misc/gnuradio/rds.nix { };
 
-  gnuradio-osmosdr = callPackage ../applications/misc/gnuradio-osmosdr { };
+  gnuradio-osmosdr = callPackage ../applications/misc/gnuradio/osmosdr.nix { };
 
   goldendict = libsForQt5.callPackage ../applications/misc/goldendict { };
 
@@ -15437,12 +15668,16 @@ with pkgs;
     gtk2 = gtk2-x11;
   };
 
+  gpx = callPackage ../applications/misc/gpx { };
+
   gqrx = qt5.callPackage ../applications/misc/gqrx { };
 
   gpx-viewer = callPackage ../applications/misc/gpx-viewer { };
 
   grass = callPackage ../applications/gis/grass { };
 
+  grepcidr = callPackage ../applications/search/grepcidr { };
+
   grepm = callPackage ../applications/search/grepm { };
 
   grip = callPackage ../applications/misc/grip {
@@ -15479,19 +15714,16 @@ with pkgs;
 
   welle-io = libsForQt5.callPackage ../applications/misc/welle-io { };
 
-  wireshark-cli = callPackage ../applications/networking/sniffers/wireshark {
-    withQt = false;
+  wireshark = callPackage ../applications/networking/sniffers/wireshark {
+    withQt = true;
     withGtk = false;
     inherit (darwin.apple_sdk.frameworks) ApplicationServices SystemConfiguration;
   };
-
-  # the cli binary is actually called tshark and often packaged under this name
-  tshark = wireshark-cli;
+  wireshark-qt = wireshark;
 
   # The GTK UI is deprecated by upstream. You probably want the QT version.
-  wireshark-gtk = wireshark-cli.override { withGtk = true; };
-  wireshark-qt = wireshark-cli.override { withQt = true; };
-  wireshark = wireshark-qt;
+  wireshark-gtk = wireshark.override { withGtk = true; };
+  wireshark-cli = wireshark.override { withGtk = false; withQt = false; };
 
   fbida = callPackage ../applications/graphics/fbida { };
 
@@ -15512,11 +15744,14 @@ with pkgs;
   });
 
   firefox-unwrapped = firefoxPackages.firefox;
-  firefox-esr-unwrapped = firefoxPackages.firefox-esr;
+  firefox-esr-52-unwrapped = firefoxPackages.firefox-esr-52;
+  firefox-esr-60-unwrapped = firefoxPackages.firefox-esr-60;
   tor-browser-unwrapped = firefoxPackages.tor-browser;
 
   firefox = wrapFirefox firefox-unwrapped { };
-  firefox-esr = wrapFirefox firefox-esr-unwrapped { };
+  firefox-esr-52 = wrapFirefox firefox-esr-52-unwrapped { };
+  firefox-esr-60 = wrapFirefox firefox-esr-60-unwrapped { };
+  firefox-esr = firefox-esr-60;
 
   firefox-bin-unwrapped = callPackage ../applications/networking/browsers/firefox-bin {
     channel = "release";
@@ -15533,7 +15768,7 @@ with pkgs;
     desktopName = "Firefox";
   };
 
-  firefox-beta-bin-unwrapped = callPackage ../applications/networking/browsers/firefox-bin {
+  firefox-beta-bin-unwrapped = firefox-bin-unwrapped.override {
     channel = "beta";
     generated = import ../applications/networking/browsers/firefox-bin/beta_sources.nix;
     gconf = pkgs.gnome2.GConf;
@@ -15634,16 +15869,14 @@ with pkgs;
 
   ghq = gitAndTools.ghq;
 
-  gimp_2_8 = callPackage ../applications/graphics/gimp/2.8.nix {
-    webkit = null;
+  gimp = callPackage ../applications/graphics/gimp {
+    gegl = gegl_0_4;
     lcms = lcms2;
+    inherit (gnome3) gexiv2;
     inherit (darwin.apple_sdk.frameworks) AppKit Cocoa;
   };
 
-  gimp = gimp_2_8;
-
   gimp-with-plugins = callPackage ../applications/graphics/gimp/wrapper.nix {
-    gimp = gimp_2_8;
     plugins = null; # All packaged plugins enabled, if not explicit plugin list supplied
   };
 
@@ -15653,15 +15886,9 @@ with pkgs;
     gtk = gtk3;
   };
 
-  girara-light = callPackage ../applications/misc/girara {
-    gtk = gtk3;
-    withBuildColors = false;
-    ncurses = null;
-  };
-
   gitAndTools = recurseIntoAttrs (callPackage ../applications/version-management/git-and-tools {});
 
-  inherit (gitAndTools) git gitFull gitSVN git-cola svn2git git-radar git-secret transcrypt git-crypt;
+  inherit (gitAndTools) git gitFull gitSVN git-cola svn2git git-radar git-secret git-secrets transcrypt git-crypt;
 
   gitMinimal = git.override {
     withManual = false;
@@ -15686,6 +15913,10 @@ with pkgs;
   gmrun = callPackage ../applications/misc/gmrun {};
 
   gnucash = callPackage ../applications/office/gnucash {
+    inherit (gnome3) dconf;
+  };
+
+  gnucash24 = callPackage ../applications/office/gnucash/2.4.nix {
     inherit (gnome2) libgnomeui libgtkhtml gtkhtml libbonoboui libgnomeprint libglade libart_lgpl;
     gconf = gnome2.GConf;
     guile = guile_1_8;
@@ -15740,6 +15971,8 @@ with pkgs;
 
   quvi_scripts = callPackage ../applications/video/quvi/scripts.nix { };
 
+  rhvoice = callPackage ../applications/audio/rhvoice { };
+
   svox = callPackage ../applications/audio/svox { };
 
   gkrellm = callPackage ../applications/misc/gkrellm {
@@ -15756,7 +15989,7 @@ with pkgs;
 
   gnunet = callPackage ../applications/networking/p2p/gnunet { };
 
-  gnunet_svn = lowPrio (callPackage ../applications/networking/p2p/gnunet/svn.nix { });
+  gnunet_git = lowPrio (callPackage ../applications/networking/p2p/gnunet/git.nix { });
 
   gocr = callPackage ../applications/graphics/gocr { };
 
@@ -15773,14 +16006,13 @@ with pkgs;
   };
 
   graphicsmagick = callPackage ../applications/graphics/graphicsmagick { };
-  graphicsmagick_q16 = callPackage ../applications/graphics/graphicsmagick { quantumdepth = 16; };
+  graphicsmagick_q16 = graphicsmagick.override { quantumdepth = 16; };
+
+  graphicsmagick-imagemagick-compat = callPackage ../applications/graphics/graphicsmagick/compat.nix { };
 
   grisbi = callPackage ../applications/office/grisbi { gtk = gtk2; };
 
-  gtkpod = callPackage ../applications/audio/gtkpod {
-    gnome = gnome3;
-    inherit (gnome2) libglade;
-  };
+  gtkpod = callPackage ../applications/audio/gtkpod { };
 
   jbidwatcher = callPackage ../applications/misc/jbidwatcher {
     java = if stdenv.isLinux then jre else jdk;
@@ -15802,14 +16034,14 @@ with pkgs;
 
   gollum = callPackage ../applications/misc/gollum { };
 
+  googleearth = callPackage ../applications/misc/googleearth { };
+
   google-chrome = callPackage ../applications/networking/browsers/google-chrome { gconf = gnome2.GConf; };
 
   google-chrome-beta = google-chrome.override { chromium = chromiumBeta; channel = "beta"; };
 
   google-chrome-dev = google-chrome.override { chromium = chromiumDev; channel = "dev"; };
 
-  googleearth = callPackage_i686 ../applications/misc/googleearth { };
-
   google-play-music-desktop-player = callPackage ../applications/audio/google-play-music-desktop-player {
     inherit (gnome2) GConf;
   };
@@ -15837,8 +16069,7 @@ with pkgs;
   };
 
   guake = callPackage ../applications/misc/guake {
-    gconf = gnome2.GConf;
-    vte = gnome2.vte.override { pythonSupport = true; };
+    inherit (gnome3) vte;
   };
 
   guitone = callPackage ../applications/version-management/guitone {
@@ -15908,6 +16139,20 @@ with pkgs;
   hyper = callPackage ../applications/misc/hyper { inherit (gnome2) GConf; };
   hyperterm = self.hyper;
 
+  hyper-haskell-server-with-packages = callPackage ../development/tools/haskell/hyper-haskell/server.nix {
+    inherit (haskellPackages) ghcWithPackages;
+    packages = self: with self; [];
+  };
+
+  hyper-haskell = callPackage ../development/tools/haskell/hyper-haskell {
+    hyper-haskell-server = hyper-haskell-server-with-packages.override {
+      packages = self: with self; [
+        hyper-extra diagrams csound-catalog
+      ];
+    };
+    extra-packages = [ csound ];
+  };
+
   jackline = callPackage ../applications/networking/instant-messengers/jackline { };
 
   slack = callPackage ../applications/networking/instant-messengers/slack { };
@@ -15957,6 +16202,8 @@ with pkgs;
 
   i3status-rust = callPackage ../applications/window-managers/i3/status-rust.nix { };
 
+  i3-wk-switch = callPackage ../applications/window-managers/i3/wk-switch.nix { };
+
   i810switch = callPackage ../os-specific/linux/i810switch { };
 
   icewm = callPackage ../applications/window-managers/icewm {};
@@ -15965,7 +16212,9 @@ with pkgs;
 
   ifenslave = callPackage ../os-specific/linux/ifenslave { };
 
-  ii = callPackage ../applications/networking/irc/ii { };
+  ii = callPackage ../applications/networking/irc/ii {
+    stdenv = gccStdenv;
+  };
 
   ike = callPackage ../applications/networking/ike { };
 
@@ -15999,13 +16248,12 @@ with pkgs;
     libwebp = null;
   };
 
-  imagemagick = imagemagickBig.override {
+  imagemagick = callPackage ../applications/graphics/ImageMagick {
+    inherit (darwin.apple_sdk.frameworks) ApplicationServices;
     ghostscript = null;
   };
 
-  imagemagickBig = callPackage ../applications/graphics/ImageMagick {
-    inherit (darwin.apple_sdk.frameworks) ApplicationServices;
-  };
+  imagemagickBig = imagemagick.override { inherit ghostscript; };
 
   imagemagick7_light = lowPrio (imagemagick7.override {
     bzip2 = null;
@@ -16131,6 +16379,7 @@ with pkgs;
         inherit stdenv lib libsForQt5 fetchurl recurseIntoAttrs;
         inherit plasma5;
         inherit attica phonon;
+        inherit okteta;
       };
     in
       recurseIntoAttrs (makeOverridable mkApplications attrs);
@@ -16139,7 +16388,9 @@ with pkgs;
     akonadi akregator ark dolphin ffmpegthumbs filelight gwenview k3b
     kaddressbook kate kcachegrind kcalc kcolorchooser kcontacts kdenlive kdf kdialog keditbookmarks
     kget kgpg khelpcenter kig kleopatra kmail kmix kolourpaint kompare konsole
-    kontact korganizer krdc krfb kwalletmanager marble minuet okteta okular spectacle;
+    kontact korganizer krdc krfb ksystemlog kwalletmanager marble minuet okular spectacle;
+
+  okteta = libsForQt5.callPackage ../applications/editors/okteta { };
 
   kdeconnect = libsForQt5.callPackage ../applications/misc/kdeconnect { };
 
@@ -16157,6 +16408,8 @@ with pkgs;
 
   keepnote = callPackage ../applications/office/keepnote { };
 
+  kega-fusion = callPackage_i686 ../misc/emulators/kega-fusion { };
+
   kermit = callPackage ../tools/misc/kermit { };
 
   kexi = libsForQt5.callPackage ../applications/office/kexi { };
@@ -16173,9 +16426,7 @@ with pkgs;
 
   khard = callPackage ../applications/misc/khard { };
 
-  kid3 = callPackage ../applications/audio/kid3 {
-    qt = qt4;
-  };
+  kid3 = libsForQt5.callPackage ../applications/audio/kid3 { };
 
   kile = libsForQt5.callPackage ../applications/editors/kile { };
 
@@ -16192,6 +16443,11 @@ with pkgs;
 
   kmplayer = libsForQt5.callPackage ../applications/video/kmplayer { };
 
+  kmymoney = libsForQt5.callPackage ../applications/office/kmymoney {
+    inherit (kdeApplications) kidentitymanagement;
+    inherit (kdeFrameworks) kdewebkit;
+  };
+
   kodestudio = callPackage ../applications/editors/kodestudio { };
 
   konversation = libsForQt5.callPackage ../applications/networking/irc/konversation { };
@@ -16253,16 +16509,14 @@ with pkgs;
   libowfat = callPackage ../development/libraries/libowfat { };
 
   librecad = callPackage ../applications/misc/librecad { };
-  librecad2 = librecad;  # backwards compatibility alias, added 2015-10
 
   libreoffice = hiPrio libreoffice-still;
 
-  libreoffice-fresh = lowPrio (callPackage ../applications/office/libreoffice {
+  libreoffice-unwrapped =callPackage ../applications/office/libreoffice {
     inherit (perlPackages) ArchiveZip CompressZlib;
     inherit (gnome2) GConf ORBit2 gnome_vfs;
     inherit (gnome3) defaultIconTheme;
     zip = zip.override { enableNLS = false; };
-    bluez5 = bluez5_28;
     fontsConf = makeFontsConf {
       fontDirectories = [
         carlito dejavu_fonts
@@ -16277,31 +16531,18 @@ with pkgs;
       withIcu = true; withGraphite2 = true;
     };
     # checking whether g++ supports C++14 or C++11... configure: error: no
+    # Still relevant: 2018-04-13
     stdenv = overrideCC stdenv gcc5;
-  });
+  };
 
-  libreoffice-still = lowPrio (callPackage ../applications/office/libreoffice/still.nix {
-    inherit (perlPackages) ArchiveZip CompressZlib;
-    inherit (gnome2) GConf ORBit2 gnome_vfs;
-    inherit (gnome3) defaultIconTheme;
-    zip = zip.override { enableNLS = false; };
-    bluez5 = bluez5_28;
-    fontsConf = makeFontsConf {
-      fontDirectories = [
-        freefont_ttf xorg.fontmiscmisc
-      ];
-    };
-    clucene_core = clucene_core_2;
-    lcms = lcms2;
-    harfbuzz = harfbuzz.override {
-      withIcu = true; withGraphite2 = true;
+  libreoffice-fresh = lowPrio (callPackage ../applications/office/libreoffice/wrapper.nix { libreoffice = libreoffice-unwrapped; });
+
+  libreoffice-still = lowPrio (callPackage ../applications/office/libreoffice/wrapper.nix {
+    libreoffice = libreoffice-unwrapped.override {
+      poppler = poppler_0_61;
     };
-    icu = icu58;
-    # checking whether g++ supports C++14 or C++11... configure: error: no
-    stdenv = overrideCC stdenv gcc5;
   });
 
-
   liferea = callPackage ../applications/networking/newsreaders/liferea {
     inherit (gnome3) libpeas gsettings-desktop-schemas dconf;
   };
@@ -16337,7 +16578,7 @@ with pkgs;
 
   linuxsampler = callPackage ../applications/audio/linuxsampler { };
 
-  llpp = ocaml-ng.ocamlPackages.callPackage ../applications/misc/llpp { };
+  llpp = ocaml-ng.ocamlPackages_4_04.callPackage ../applications/misc/llpp { };
 
   lmms = libsForQt5.callPackage ../applications/audio/lmms {
     lame = null;
@@ -16365,9 +16606,16 @@ with pkgs;
     flavour = "git";
   };
 
+  luakit = callPackage ../applications/networking/browsers/luakit {
+    inherit (lua51Packages) luafilesystem;
+    lua5 = lua5_1;
+  };
+
   looking-glass-client = callPackage ../applications/virtualization/looking-glass-client { };
 
-  lumail = callPackage ../applications/networking/mailreaders/lumail { };
+  lumail = callPackage ../applications/networking/mailreaders/lumail {
+    lua = lua5_1;
+  };
 
   lv2bm = callPackage ../applications/audio/lv2bm { };
 
@@ -16375,6 +16623,8 @@ with pkgs;
 
   lyx = libsForQt5.callPackage ../applications/misc/lyx { };
 
+  magic-wormhole = with python3Packages; toPythonApplication magic-wormhole;
+
   mail-notification = callPackage ../desktops/gnome-2/desktop/mail-notification {};
 
   magnetophonDSP = {
@@ -16454,7 +16704,7 @@ with pkgs;
     inherit (darwin.apple_sdk.frameworks) vmnet;
   };
 
-  minitube = callPackage ../applications/video/minitube { };
+  minitube = libsForQt5.callPackage ../applications/video/minitube { };
 
   mimms = callPackage ../applications/audio/mimms {};
 
@@ -16482,14 +16732,24 @@ with pkgs;
 
   mod-distortion = callPackage ../applications/audio/mod-distortion { };
 
-  monero = callPackage ../applications/altcoins/monero { };
+  monero = callPackage ../applications/altcoins/monero {
+    inherit (darwin.apple_sdk.frameworks) CoreData IOKit PCSC;
+    boost = boost15x;
+  };
 
-  monero-gui = libsForQt5.callPackage ../applications/altcoins/monero-gui { };
+  monero-gui = libsForQt5.callPackage ../applications/altcoins/monero-gui {
+    boost = boost15x;
+  };
 
   xmr-stak = callPackage ../applications/misc/xmr-stak {
+    stdenvGcc6 = overrideCC stdenv gcc6;
     hwloc = hwloc-nox;
   };
 
+  xmrig = callPackage ../applications/misc/xmrig { };
+
+  xmrig-proxy = callPackage ../applications/misc/xmrig/proxy.nix { };
+
   monkeysAudio = callPackage ../applications/audio/monkeys-audio { };
 
   monkeysphere = callPackage ../tools/security/monkeysphere { };
@@ -16508,27 +16768,27 @@ with pkgs;
 
   mopidy = callPackage ../applications/audio/mopidy { };
 
-  mopidy-gmusic = callPackage ../applications/audio/mopidy-gmusic { };
+  mopidy-gmusic = callPackage ../applications/audio/mopidy/gmusic.nix { };
 
-  mopidy-local-images = callPackage ../applications/audio/mopidy-local-images { };
+  mopidy-local-images = callPackage ../applications/audio/mopidy/local-images.nix { };
 
-  mopidy-local-sqlite = callPackage ../applications/audio/mopidy-local-sqlite { };
+  mopidy-local-sqlite = callPackage ../applications/audio/mopidy/local-sqlite.nix { };
 
-  mopidy-spotify = callPackage ../applications/audio/mopidy-spotify { };
+  mopidy-spotify = callPackage ../applications/audio/mopidy/spotify.nix { };
 
-  mopidy-moped = callPackage ../applications/audio/mopidy-moped { };
+  mopidy-moped = callPackage ../applications/audio/mopidy/moped.nix { };
 
-  mopidy-mopify = callPackage ../applications/audio/mopidy-mopify { };
+  mopidy-mopify = callPackage ../applications/audio/mopidy/mopify.nix { };
 
-  mopidy-spotify-tunigo = callPackage ../applications/audio/mopidy-spotify-tunigo { };
+  mopidy-spotify-tunigo = callPackage ../applications/audio/mopidy/spotify-tunigo.nix { };
 
-  mopidy-youtube = callPackage ../applications/audio/mopidy-youtube { };
+  mopidy-youtube = callPackage ../applications/audio/mopidy/youtube.nix { };
 
-  mopidy-soundcloud = callPackage ../applications/audio/mopidy-soundcloud { };
+  mopidy-soundcloud = callPackage ../applications/audio/mopidy/soundcloud.nix { };
 
-  mopidy-musicbox-webclient = callPackage ../applications/audio/mopidy-musicbox-webclient { };
+  mopidy-musicbox-webclient = callPackage ../applications/audio/mopidy/musicbox-webclient.nix { };
 
-  mopidy-iris = callPackage ../applications/audio/mopidy-iris { };
+  mopidy-iris = callPackage ../applications/audio/mopidy/iris.nix { };
 
   motif = callPackage ../development/libraries/motif { };
 
@@ -16586,7 +16846,6 @@ with pkgs;
   mpv = callPackage ../applications/video/mpv rec {
     inherit (luaPackages) luasocket;
     youtube-dl = pythonPackages.youtube-dl;
-    libva      = libva-full;
     waylandSupport     = stdenv.isLinux;
     alsaSupport        = !stdenv.isDarwin;
     pulseSupport       = !stdenv.isDarwin;
@@ -16594,6 +16853,7 @@ with pkgs;
     dvdreadSupport     = !stdenv.isDarwin;
     dvdnavSupport      = !stdenv.isDarwin;
     drmSupport         = !stdenv.isDarwin;
+    vaapiSupport       = !stdenv.isDarwin;
     x11Support         = !stdenv.isDarwin;
     xineramaSupport    = !stdenv.isDarwin;
     xvSupport          = !stdenv.isDarwin;
@@ -16609,6 +16869,8 @@ with pkgs;
 
   mtpaint = callPackage ../applications/graphics/mtpaint { };
 
+  mucommander = callPackage ../applications/misc/mucommander { };
+
   multimarkdown = callPackage ../tools/typesetting/multimarkdown { };
 
   multimon-ng = callPackage ../applications/misc/multimon-ng { };
@@ -16646,7 +16908,7 @@ with pkgs;
       libsForQt5.callPackage ../applications/audio/musescore { };
 
   mutt = callPackage ../applications/networking/mailreaders/mutt { };
-  mutt-with-sidebar = callPackage ../applications/networking/mailreaders/mutt {
+  mutt-with-sidebar = mutt.override {
     withSidebar = true;
   };
 
@@ -16668,8 +16930,7 @@ with pkgs;
 
   ostinato = callPackage ../applications/networking/ostinato { };
 
-  panamax_api = callPackage ../applications/networking/cluster/panamax/api { };
-  panamax_ui = callPackage ../applications/networking/cluster/panamax/ui { };
+  p4v = libsForQt5.callPackage ../applications/version-management/p4v { };
 
   partio = callPackage ../development/libraries/partio {};
 
@@ -16683,6 +16944,8 @@ with pkgs;
 
   pijul = callPackage ../applications/version-management/pijul {};
 
+  plank = callPackage ../applications/misc/plank { };
+
   planner = callPackage ../applications/office/planner { };
 
   playonlinux = callPackage ../applications/misc/playonlinux {
@@ -16764,7 +17027,9 @@ with pkgs;
 
   mypaint = callPackage ../applications/graphics/mypaint { };
 
-  mythtv = callPackage ../applications/video/mythtv { };
+  mypaint-brushes = callPackage ../development/libraries/mypaint-brushes { };
+
+  mythtv = libsForQt5.callPackage ../applications/video/mythtv { };
 
   micro = callPackage ../applications/editors/micro { };
 
@@ -16786,6 +17051,8 @@ with pkgs;
 
   nedit = callPackage ../applications/editors/nedit { };
 
+  nheko = callPackage ../applications/networking/instant-messengers/nheko { };
+
   nomacs = libsForQt5.callPackage ../applications/graphics/nomacs { };
 
   notepadqq = libsForQt5.callPackage ../applications/editors/notepadqq { };
@@ -16849,8 +17116,12 @@ with pkgs;
 
   openjump = callPackage ../applications/misc/openjump { };
 
+  openorienteering-mapper = libsForQt5.callPackage ../applications/gis/openorienteering-mapper { };
+
   openscad = callPackage ../applications/graphics/openscad {};
 
+  opentimestamps-client = python3Packages.callPackage ../tools/misc/opentimestamps-client {};
+
   opentx = callPackage ../applications/misc/opentx { };
 
   opera = callPackage ../applications/networking/browsers/opera {};
@@ -16892,9 +17163,7 @@ with pkgs;
 
   ncpamixer = callPackage ../applications/audio/ncpamixer { };
 
-  pan = callPackage ../applications/networking/newsreaders/pan {
-    spellChecking = false;
-  };
+  pan = callPackage ../applications/networking/newsreaders/pan { };
 
   panotools = callPackage ../applications/graphics/panotools { };
 
@@ -16941,6 +17210,8 @@ with pkgs;
 
   photoqt = libsForQt5.callPackage ../applications/graphics/photoqt { };
 
+  photoflow = callPackage ../applications/graphics/photoflow { };
+
   phototonic = libsForQt5.callPackage ../applications/graphics/phototonic { };
 
   phrasendrescher = callPackage ../tools/security/phrasendrescher { };
@@ -16987,6 +17258,8 @@ with pkgs;
 
   pidgin-window-merge = callPackage ../applications/networking/instant-messengers/pidgin-plugins/window-merge { };
 
+  purple-discord = callPackage ../applications/networking/instant-messengers/pidgin-plugins/purple-discord { };
+
   purple-hangouts = callPackage ../applications/networking/instant-messengers/pidgin-plugins/purple-hangouts { };
 
   purple-matrix = callPackage ../applications/networking/instant-messengers/pidgin-plugins/purple-matrix { };
@@ -17019,7 +17292,7 @@ with pkgs;
     gtksharp = gtk-sharp-2_0;
   };
 
-  plover = callPackage ../applications/misc/plover { };
+  plover = recurseIntoAttrs (callPackage ../applications/misc/plover { });
 
   plugin-torture = callPackage ../applications/audio/plugin-torture { };
 
@@ -17045,8 +17318,9 @@ with pkgs;
 
   qiv = callPackage ../applications/graphics/qiv { };
 
-  processing = callPackage ../applications/graphics/processing {
-    jdk = jdk7;
+  processing = processing3;
+  processing3 = callPackage ../applications/graphics/processing3 {
+    jdk = oraclejdk8;
   };
 
   # perhaps there are better apps for this task? It's how I had configured my preivous system.
@@ -17079,8 +17353,6 @@ with pkgs;
 
   puremapping = callPackage ../applications/audio/pd-plugins/puremapping { };
 
-  pymol = callPackage ../applications/science/chemistry/pymol { };
-
   pybitmessage = callPackage ../applications/networking/instant-messengers/pybitmessage { };
 
   pythonmagick = callPackage ../applications/graphics/PythonMagick { };
@@ -17099,9 +17371,9 @@ with pkgs;
     inherit (darwin.stubs) rez setfile;
   };
 
-  qemu-riscv = callPackage ../applications/virtualization/qemu/riscv.nix {};
-
-  qgis = callPackage ../applications/gis/qgis {};
+  qgis = callPackage ../applications/gis/qgis {
+    inherit (darwin.apple_sdk.frameworks) IOKit ApplicationServices;
+  };
 
   qgroundcontrol = libsForQt5.callPackage ../applications/science/robotics/qgroundcontrol { };
 
@@ -17126,6 +17398,7 @@ with pkgs;
   qsampler = libsForQt5.callPackage ../applications/audio/qsampler { };
 
   qscreenshot = callPackage ../applications/graphics/qscreenshot {
+    inherit (darwin.apple_sdk.frameworks) Carbon;
     qt = qt4;
   };
 
@@ -17137,7 +17410,7 @@ with pkgs;
 
   qtbitcointrader = callPackage ../applications/misc/qtbitcointrader { };
 
-  qtox = libsForQt5.callPackage ../applications/networking/instant-messengers/qtox { ffmpeg = ffmpeg_2; };
+  qtox = libsForQt5.callPackage ../applications/networking/instant-messengers/qtox { };
 
   qtpass = libsForQt5.callPackage ../applications/misc/qtpass { };
 
@@ -17191,8 +17464,8 @@ with pkgs;
 
   quodlibet-xine = quodlibet.override { xineBackend = true; tag = "-xine"; };
 
-  quodlibet-full = callPackage ../applications/audio/quodlibet {
-    inherit (gnome2) gtksourceview;
+  quodlibet-full = quodlibet.override {
+    inherit (gnome3) gtksourceview webkitgtk;
     withDbusPython = true;
     withPyInotify = true;
     withMusicBrainzNgs = true;
@@ -17200,7 +17473,6 @@ with pkgs;
     keybinder3 = keybinder3;
     libmodplug = libmodplug;
     kakasi = kakasi;
-    webkitgtk = webkitgtk24x-gtk3;
     libappindicator-gtk3 = libappindicator-gtk3;
     tag = "-full";
   };
@@ -17268,7 +17540,8 @@ with pkgs;
 
   rkt = callPackage ../applications/virtualization/rkt { };
 
-  rofi = callPackage ../applications/misc/rofi { };
+  rofi-unwrapped = callPackage ../applications/misc/rofi { };
+  rofi = callPackage ../applications/misc/rofi/wrapper.nix { };
 
   rofi-pass = callPackage ../tools/security/pass/rofi-pass.nix { };
 
@@ -17459,7 +17732,7 @@ with pkgs;
 
   dropbox = callPackage ../applications/networking/dropbox { };
 
-  dropbox-cli = callPackage ../applications/networking/dropbox-cli { };
+  dropbox-cli = callPackage ../applications/networking/dropbox/cli.nix { };
 
   insync = callPackage ../applications/networking/insync { };
 
@@ -17470,13 +17743,13 @@ with pkgs;
 
   lightdm_qt = lightdm.override { withQt5 = true; };
 
-  lightdm_gtk_greeter = callPackage ../applications/display-managers/lightdm-gtk-greeter {
+  lightdm_gtk_greeter = callPackage ../applications/display-managers/lightdm/gtk-greeter.nix {
     inherit (xfce) exo;
   };
 
   slic3r = callPackage ../applications/misc/slic3r { };
 
-  slic3r-prusa3d = callPackage ../applications/misc/slic3r-prusa3d { };
+  slic3r-prusa3d = callPackage ../applications/misc/slic3r/prusa3d.nix { };
 
   curaengine_stable = callPackage ../applications/misc/curaengine/stable.nix { };
   cura_stable = callPackage ../applications/misc/cura/stable.nix {
@@ -17490,6 +17763,8 @@ with pkgs;
 
   curaLulzbot = callPackage ../applications/misc/cura/lulzbot.nix { };
 
+  curaByDagoma = callPackage ../applications/misc/curabydagoma { };
+
   peru = callPackage ../applications/version-management/peru {};
 
   pmidi = callPackage ../applications/audio/pmidi { };
@@ -17524,6 +17799,8 @@ with pkgs;
     inherit (pkgs.vamp) vampSDK;
   };
 
+  soulseekqt = callPackage ../applications/networking/p2p/soulseekqt { };
+
   sox = callPackage ../applications/misc/audio/sox {
     enableLame = config.sox.enableLame or false;
   };
@@ -17535,9 +17812,11 @@ with pkgs;
   };
 
   spotify = callPackage ../applications/audio/spotify {
-    inherit (gnome2) GConf;
     libgcrypt = libgcrypt_1_5;
     libpng = libpng12;
+    curl = curl.override {
+      sslSupport = false; gnutlsSupport = true;
+    };
   };
 
   libspotify = callPackage ../development/libraries/libspotify {
@@ -17571,9 +17850,13 @@ with pkgs;
     inherit sbcl lispPackages;
   };
 
-  sublime = callPackage ../applications/editors/sublime { };
+  sublime = callPackage ../applications/editors/sublime/2 { };
+
+  sublime3Packages = recurseIntoAttrs (callPackage ../applications/editors/sublime/3/packages.nix { });
 
-  sublime3 = lowPrio (callPackage ../applications/editors/sublime3 { });
+  sublime3 = sublime3Packages.sublime3;
+
+  sublime3-dev = sublime3Packages.sublime3-dev;
 
   inherit (callPackages ../applications/version-management/subversion/default.nix {
       bdbSupport = true;
@@ -17634,7 +17917,7 @@ with pkgs;
 
   tagainijisho = callPackage ../applications/office/tagainijisho {};
 
-  tahoelafs = callPackage ../tools/networking/p2p/tahoe-lafs {};
+  tahoe-lafs = callPackage ../tools/networking/p2p/tahoe-lafs {};
 
   tailor = callPackage ../applications/version-management/tailor {};
 
@@ -17655,9 +17938,8 @@ with pkgs;
 
   taskserver = callPackage ../servers/misc/taskserver { };
 
-  tdesktop = qt5.callPackage ../applications/networking/instant-messengers/telegram/tdesktop {
-    inherit (pythonPackages) gyp;
-  };
+  tdesktopPackages = callPackage ../applications/networking/instant-messengers/telegram/tdesktop { };
+  tdesktop = tdesktopPackages.stable;
 
   telegram-cli = callPackage ../applications/networking/instant-messengers/telegram/telegram-cli { };
 
@@ -17677,9 +17959,9 @@ with pkgs;
 
   terminal-notifier = callPackage ../applications/misc/terminal-notifier {};
 
-  terminator = callPackage ../applications/misc/terminator {
-    vte = gnome2.vte.override { pythonSupport = true; };
-  };
+  terminator = callPackage ../applications/misc/terminator { };
+
+  terminus = callPackage ../applications/misc/terminus { inherit (gnome2) GConf; };
 
   lxterminal = callPackage ../applications/misc/lxterminal {
     vte = gnome3.vte;
@@ -17743,6 +18025,8 @@ with pkgs;
 
   tnef = callPackage ../applications/misc/tnef { };
 
+  todiff = callPackage ../applications/misc/todiff { };
+
   todo-txt-cli = callPackage ../applications/office/todo.txt-cli { };
 
   tomahawk = callPackage ../applications/audio/tomahawk {
@@ -17772,6 +18056,8 @@ with pkgs;
 
   toxic = callPackage ../applications/networking/instant-messengers/toxic { };
 
+  toxiproxy = callPackage ../development/tools/toxiproxy { };
+
   tqsl = callPackage ../applications/misc/tqsl { };
 
   transcode = callPackage ../applications/audio/transcode { };
@@ -17882,7 +18168,7 @@ with pkgs;
 
   vimNox = lowPrio (vim_configurable.override { source = "vim-nox"; });
 
-  qpdfview = callPackage ../applications/misc/qpdfview {};
+  qpdfview = libsForQt5.callPackage ../applications/misc/qpdfview {};
 
   qtile = callPackage ../applications/window-managers/qtile {
     inherit (xorg) libxcb;
@@ -17916,9 +18202,7 @@ with pkgs;
 
   virt-viewer = callPackage ../applications/virtualization/virt-viewer { };
 
-  virt-top = callPackage ../applications/virtualization/virt-top {
-    ocamlPackages = ocamlPackages_4_01_0;
-  };
+  virt-top = callPackage ../applications/virtualization/virt-top { };
 
   virt-what = callPackage ../applications/virtualization/virt-what { };
 
@@ -17990,16 +18274,9 @@ with pkgs;
 
   vkeybd = callPackage ../applications/audio/vkeybd {};
 
-  vlc = callPackage ../applications/video/vlc {
-    ffmpeg = ffmpeg_2;
-    libva = libva-full; # also wants libva-x11
-  };
-
-  vlc_npapi = callPackage ../applications/video/vlc/plugin.nix {
-    gtk = gtk2;
-  };
+  vlc = libsForQt5.vlc;
 
-  vlc_qt5 = libsForQt5.vlc;
+  vlc_qt5 = vlc;
 
   vmpk = callPackage ../applications/audio/vmpk { };
 
@@ -18013,7 +18290,7 @@ with pkgs;
 
   vscode = callPackage ../applications/editors/vscode { };
 
-  vscode-with-extensions = callPackage ../applications/editors/vscode-with-extensions {};
+  vscode-with-extensions = callPackage ../applications/editors/vscode/with-extensions.nix {};
 
   vscode-utils = callPackage ../misc/vscode-extensions/vscode-utils.nix {};
 
@@ -18070,7 +18347,7 @@ with pkgs;
 
   weechat-xmpp = callPackage ../applications/networking/instant-messengers/weechat-xmpp {};
 
-  westonLite = callPackage ../applications/window-managers/weston {
+  westonLite = weston.override {
     pango = null;
     freerdp = null;
     libunwind = null;
@@ -18121,8 +18398,8 @@ with pkgs;
   worker = callPackage ../applications/misc/worker { };
 
   workrave = callPackage ../applications/misc/workrave {
-    inherit (gnome2) GConf gconfmm;
     inherit (python27Packages) cheetah;
+    inherit (gst_all_1) gstreamer gst-plugins-base gst-plugins-good;
   };
 
   worldengine-cli = python3Packages.worldengine;
@@ -18201,6 +18478,7 @@ with pkgs;
       ++ optional (config.kodi.enableSteamLauncher or false) steam-launcher
       ++ optional (config.kodi.enablePVRHTS or false) pvr-hts
       ++ optional (config.kodi.enablePVRHDHomeRun or false) pvr-hdhomerun
+      ++ optional (config.kodi.enablePVRIPTVSimple or false) pvr-iptvsimple
       );
   };
 
@@ -18208,7 +18486,9 @@ with pkgs;
 
   wtftw = callPackage ../applications/window-managers/wtftw {};
 
-  wxhexeditor = callPackage ../applications/editors/wxhexeditor { };
+  wxhexeditor = callPackage ../applications/editors/wxhexeditor {
+    wxGTK = wxGTK31;
+  };
 
   wxcam = callPackage ../applications/video/wxcam {
     inherit (gnome2) libglade;
@@ -18247,18 +18527,13 @@ with pkgs;
     gtk = gtk2;
   };
 
-  kodiPlain = callPackage ../applications/video/kodi {
-    libva = libva-full;
-  };
-  xbmcPlain = kodiPlain;
+  kodiPlain = callPackage ../applications/video/kodi { };
 
   kodiPlugins = recurseIntoAttrs (callPackage ../applications/video/kodi/plugins.nix {});
-  xbmcPlugins = kodiPlugins;
 
   kodi = wrapKodi {
     kodi = kodiPlain;
   };
-  xbmc = kodi;
 
   kodi-retroarch-advanced-launchers =
     callPackage ../misc/emulators/retroarch/kodi-advanced-launchers.nix {
@@ -18296,12 +18571,16 @@ with pkgs;
 
   xenPackages = recurseIntoAttrs (callPackage ../applications/virtualization/xen/packages.nix {});
 
-  xen = xenPackages.xen_4_5-vanilla;
-  xen-slim = xenPackages.xen_4_5-slim;
-  xen-light = xenPackages.xen_4_5-light;
+  xen = xenPackages.xen-vanilla;
+  xen-slim = xenPackages.xen-slim;
+  xen-light = xenPackages.xen-light;
+
   xen_4_8 = xenPackages.xen_4_8-vanilla;
   xen_4_8-slim = xenPackages.xen_4_8-slim;
   xen_4_8-light = xenPackages.xen_4_8-light;
+  xen_4_10 = xenPackages.xen_4_10-vanilla;
+  xen_4_10-slim = xenPackages.xen_4_10-slim;
+  xen_4_10-light = xenPackages.xen_4_10-light;
 
   xkbset = callPackage ../tools/X11/xkbset { };
 
@@ -18363,23 +18642,23 @@ with pkgs;
     packages = self: [];
   };
 
-  xmonad_log_applet_gnome2 = callPackage ../applications/window-managers/xmonad-log-applet {
+  xmonad_log_applet_gnome2 = xmonad_log_applet.override {
     desktopSupport = "gnome2";
-    inherit (xfce) libxfce4util xfce4panel;
+    inherit (xfce) libxfce4util xfce4-panel;
     gnome2_panel = gnome2.gnome_panel;
     GConf2 = gnome2.GConf;
   };
 
-  xmonad_log_applet_gnome3 = callPackage ../applications/window-managers/xmonad-log-applet {
+  xmonad_log_applet = callPackage ../applications/window-managers/xmonad/log-applet {
     desktopSupport = "gnome3";
-    inherit (xfce) libxfce4util xfce4panel;
+    inherit (xfce) libxfce4util xfce4-panel;
     gnome2_panel = gnome2.gnome_panel;
     GConf2 = gnome2.GConf;
   };
 
-  xmonad_log_applet_xfce = callPackage ../applications/window-managers/xmonad-log-applet {
+  xmonad_log_applet_xfce = xmonad_log_applet.override {
     desktopSupport = "xfce4";
-    inherit (xfce) libxfce4util xfce4panel;
+    inherit (xfce) libxfce4util xfce4-panel;
     gnome2_panel = gnome2.gnome_panel;
     GConf2 = gnome2.GConf;
   };
@@ -18450,6 +18729,8 @@ with pkgs;
 
   yarp = callPackage ../applications/science/robotics/yarp {};
 
+  yarssr = callPackage ../applications/misc/yarssr { };
+
   yate = callPackage ../applications/misc/yate { };
 
   yed = callPackage ../applications/graphics/yed {};
@@ -18476,8 +18757,6 @@ with pkgs;
     useMupdf = config.zathura.useMupdf or true;
   };
 
-  zed = callPackage ../applications/editors/zed { };
-
   zeroc_ice = callPackage ../development/libraries/zeroc-ice {
     inherit (darwin.apple_sdk.frameworks) Security;
   };
@@ -18550,9 +18829,7 @@ with pkgs;
 
   bastet = callPackage ../games/bastet {};
 
-  beancount = callPackage ../applications/office/beancount {
-      pythonPackages = python3Packages;
-  };
+  beancount = with python3.pkgs; toPythonApplication beancount;
 
   bean-add = callPackage ../applications/office/beancount/bean-add.nix { };
 
@@ -18653,10 +18930,6 @@ with pkgs;
     physfs = physfs_2;
   };
 
-  # these are here for compatibility
-  d1x_rebirth = dxx-rebirth;
-  d2x_rebirth = dxx-rebirth;
-
   inherit (callPackages ../games/dxx-rebirth/assets.nix { })
     descent1-assets
     descent2-assets;
@@ -18673,8 +18946,12 @@ with pkgs;
 
   egoboo = callPackage ../games/egoboo { };
 
+  EmptyEpsilon = callPackage ../games/empty-epsilon { };
+
   endless-sky = callPackage ../games/endless-sky { };
 
+  enyo-doom = libsForQt5.callPackage ../games/enyo-doom { };
+
   eternity = callPackage ../games/eternity-engine { };
 
   extremetuxracer = callPackage ../games/extremetuxracer {
@@ -18685,11 +18962,13 @@ with pkgs;
 
   factorio = callPackage ../games/factorio { releaseType = "alpha"; };
 
-  factorio-experimental = callPackage ../games/factorio { releaseType = "alpha"; experimental = true; };
+  factorio-experimental = factorio.override { releaseType = "alpha"; experimental = true; };
+
+  factorio-headless = factorio.override { releaseType = "headless"; };
 
-  factorio-headless = callPackage ../games/factorio { releaseType = "headless"; };
+  factorio-headless-experimental = factorio.override { releaseType = "headless"; experimental = true; };
 
-  factorio-demo = callPackage ../games/factorio { releaseType = "demo"; };
+  factorio-demo = factorio.override { releaseType = "demo"; };
 
   factorio-mods = callPackage ../games/factorio/mods.nix { };
 
@@ -18709,7 +18988,7 @@ with pkgs;
 
   freeciv = callPackage ../games/freeciv { };
 
-  freeciv_gtk = callPackage ../games/freeciv {
+  freeciv_gtk = freeciv.override {
     gtkClient = true;
     sdlClient = false;
   };
@@ -18740,6 +19019,8 @@ with pkgs;
 
   gcs = callPackage ../games/gcs { };
 
+  gcompris = libsForQt59.callPackage ../games/gcompris { };
+
   gemrb = callPackage ../games/gemrb { };
 
   gl117 = callPackage ../games/gl-117 {};
@@ -18760,6 +19041,8 @@ with pkgs;
 
   gnujump = callPackage ../games/gnujump { };
 
+  gnushogi = callPackage ../games/gnushogi { };
+
   gogui = callPackage ../games/gogui {};
 
   gtetrinet = callPackage ../games/gtetrinet {
@@ -18917,7 +19200,7 @@ with pkgs;
 
   pokerth = callPackage ../games/pokerth { };
 
-  pokerth-server = with callPackage ../games/pokerth { }; server;
+  pokerth-server = pokerth.server;
 
   prboom = callPackage ../games/prboom { };
 
@@ -19103,6 +19386,8 @@ with pkgs;
 
   tremulous = callPackage ../games/tremulous { };
 
+  tuxpaint = callPackage ../games/tuxpaint { };
+
   speed_dreams = callPackage ../games/speed-dreams {
     # Torcs wants to make shared libraries linked with plib libraries (it provides static).
     # i686 is the only platform I know than can do that linking without plib built with -fPIC
@@ -19170,19 +19455,21 @@ with pkgs;
 
   warmux = callPackage ../games/warmux { };
 
+  warsow-engine = callPackage ../games/warsow/engine.nix { };
+
   warsow = callPackage ../games/warsow { };
 
   warzone2100 = libsForQt5.callPackage ../games/warzone2100 { };
 
   wesnoth = callPackage ../games/wesnoth { };
 
-  wesnoth-dev = callPackage ../games/wesnoth/dev.nix { };
+  wesnoth-dev = wesnoth;
 
   widelands = callPackage ../games/widelands {
     lua = lua5_2;
   };
 
-  worldofgoo_demo = callPackage ../games/worldofgoo {
+  worldofgoo_demo = worldofgoo.override {
     demo = true;
   };
 
@@ -19217,6 +19504,13 @@ with pkgs;
 
   xsokoban = callPackage ../games/xsokoban { };
 
+  inherit (callPackage ../games/quake2/yquake2 { })
+    yquake2
+    yquake2-ctf
+    yquake2-ground-zero
+    yquake2-the-reckoning
+    yquake2-all-games;
+
   zandronum = callPackage ../games/zandronum { };
 
   zandronum-server = zandronum.override {
@@ -19243,7 +19537,10 @@ with pkgs;
 
   clearlooks-phenix = callPackage ../misc/themes/clearlooks-phenix { };
 
-  deepin = recurseIntoAttrs (callPackage ../desktops/deepin { });
+  deepin = recurseIntoAttrs (import ../desktops/deepin {
+    inherit pkgs libsForQt5;
+    inherit (lib) makeScope;
+  });
 
   enlightenment = recurseIntoAttrs (callPackage ../desktops/enlightenment {
     callPackage = newScope pkgs.enlightenment;
@@ -19266,7 +19563,7 @@ with pkgs;
 
   gnome3 = recurseIntoAttrs (callPackage ../desktops/gnome-3 { });
 
-  gnomeExtensions = {
+  gnomeExtensions = recurseIntoAttrs {
     appindicator = callPackage ../desktops/gnome-3/extensions/appindicator { };
     battery-status = callPackage ../desktops/gnome-3/extensions/battery-status { };
     caffeine = callPackage ../desktops/gnome-3/extensions/caffeine { };
@@ -19274,11 +19571,14 @@ with pkgs;
     dash-to-dock = callPackage ../desktops/gnome-3/extensions/dash-to-dock { };
     dash-to-panel = callPackage ../desktops/gnome-3/extensions/dash-to-panel { };
     icon-hider = callPackage ../desktops/gnome-3/extensions/icon-hider { };
+    impatience = callPackage ../desktops/gnome-3/extensions/impatience.nix { };
     mediaplayer = callPackage ../desktops/gnome-3/extensions/mediaplayer { };
     nohotcorner = callPackage ../desktops/gnome-3/extensions/nohotcorner { };
     no-title-bar = callPackage ../desktops/gnome-3/extensions/no-title-bar { };
     remove-dropdown-arrows = callPackage ../desktops/gnome-3/extensions/remove-dropdown-arrows { };
+    system-monitor = callPackage ../desktops/gnome-3/extensions/system-monitor { };
     taskwhisperer = callPackage ../desktops/gnome-3/extensions/taskwhisperer { };
+    timepp = callPackage ../desktops/gnome-3/extensions/timepp { };
     topicons-plus = callPackage ../desktops/gnome-3/extensions/topicons-plus { };
   };
 
@@ -19322,14 +19622,20 @@ with pkgs;
 
   gtk-engine-murrine = callPackage ../misc/themes/gtk2/gtk-engine-murrine { };
 
-  gnome-themes-standard = gnome3.gnome-themes-standard;
+  gnome-themes-extra = gnome3.gnome-themes-extra;
 
   numix-gtk-theme = callPackage ../misc/themes/numix { };
 
-  numix-solarized-gtk-theme = callPackage ../misc/themes/gtk3/numix-solarized-gtk-theme {  };
+  numix-solarized-gtk-theme = callPackage ../misc/themes/numix-solarized { };
 
   numix-sx-gtk-theme = callPackage ../misc/themes/numix-sx { };
 
+  onestepback = callPackage ../misc/themes/onestepback { };
+
+  theme-jade1 = callPackage ../misc/themes/jade1 { };
+
+  theme-obsidian2 = callPackage ../misc/themes/obsidian2 { };
+
   theme-vertex = callPackage ../misc/themes/vertex { };
 
   rox-filer = callPackage ../desktops/rox/rox-filer {
@@ -19337,7 +19643,10 @@ with pkgs;
   };
 
   xfce = xfce4-12;
+  xfceUnstable = xfce4-13;
+
   xfce4-12 = recurseIntoAttrs (callPackage ../desktops/xfce { });
+  xfce4-13 = recurseIntoAttrs (callPackage ../desktops/xfce4-13 { });
 
   xrandr-invert-colors = callPackage ../applications/misc/xrandr-invert-colors { };
 
@@ -19366,6 +19675,22 @@ with pkgs;
 
   ### SCIENCE
 
+  ### SCIENCE/CHEMISTY
+
+  avogadro = callPackage ../applications/science/chemistry/avogadro {
+    eigen = eigen2;
+  };
+
+  gwyddion = callPackage ../applications/science/chemistry/gwyddion {};
+
+  jmol = callPackage ../applications/science/chemistry/jmol { };
+
+  molden = callPackage ../applications/science/chemistry/molden { };
+
+  octopus = callPackage ../applications/science/chemistry/octopus { openblas=openblasCompat; };
+
+  pymol = callPackage ../applications/science/chemistry/pymol { };
+
   ### SCIENCE/GEOMETRY
 
   drgeo = callPackage ../applications/science/geometry/drgeo {
@@ -19390,6 +19715,10 @@ with pkgs;
 
   bcftools = callPackage ../applications/science/biology/bcftools { };
 
+  conglomerate = callPackage ../applications/science/biology/conglomerate {
+    inherit (perlPackages) GetoptTabular MNI-Perllib;
+  };
+
   dcm2niix = callPackage ../applications/science/biology/dcm2niix { };
 
   diamond = callPackage ../applications/science/biology/diamond { };
@@ -19398,10 +19727,16 @@ with pkgs;
 
   emboss = callPackage ../applications/science/biology/emboss { };
 
+  ezminc = callPackage ../applications/science/biology/EZminc { };
+
   htslib = callPackage ../development/libraries/science/biology/htslib { };
 
   igv = callPackage ../applications/science/biology/igv { };
 
+  inormalize = callPackage ../applications/science/biology/inormalize {
+    inherit (perlPackages) GetoptTabular MNI-Perllib;
+  };
+
   iv = callPackage ../applications/science/biology/iv {
     neuron-version = neuron.version;
   };
@@ -19410,6 +19745,10 @@ with pkgs;
 
   muscle = callPackage ../applications/science/biology/muscle/default.nix { };
 
+  n3 = callPackage ../applications/science/biology/N3 {
+    inherit (perlPackages) perl GetoptTabular MNI-Perllib;
+  };
+
   neuron = callPackage ../applications/science/biology/neuron {
     python = null;
   };
@@ -19422,7 +19761,19 @@ with pkgs;
 
   mrbayes = callPackage ../applications/science/biology/mrbayes { };
 
-  minc-tools = callPackage ../applications/science/biology/minc-tools { };
+  minc_tools = callPackage ../applications/science/biology/minc-tools {
+    inherit (perlPackages) TextFormat;
+  };
+
+  minc_widgets = callPackage ../applications/science/biology/minc-widgets {
+    inherit (perlPackages) GetoptTabular MNI-Perllib;
+  };
+
+  mni_autoreg = callPackage ../applications/science/biology/mni_autoreg {
+    inherit (perlPackages) GetoptTabular MNI-Perllib;
+  };
+
+  minimap2 = callPackage ../applications/science/biology/minimap2 { };
 
   ncbi_tools = callPackage ../applications/science/biology/ncbi-tools { };
 
@@ -19443,7 +19794,9 @@ with pkgs;
   });
 
   samtools = callPackage ../applications/science/biology/samtools/default.nix { };
-  samtools_0_1_19 = callPackage ../applications/science/biology/samtools/samtools_0_1_19.nix { };
+  samtools_0_1_19 = callPackage ../applications/science/biology/samtools/samtools_0_1_19.nix {
+    stdenv = gccStdenv;
+  };
 
   snpeff = callPackage ../applications/science/biology/snpeff/default.nix { };
 
@@ -19471,13 +19824,21 @@ with pkgs;
     # great feature, but it's of limited use with pre-built binaries
     # coming from a central build farm.
     tolerateCpuTimingInaccuracy = true;
-    liblapack = liblapack_3_5_0WithoutAtlas;
+    liblapack = liblapackWithoutAtlas;
     withLapack = false;
   };
 
   blas = callPackage ../development/libraries/science/math/blas { };
 
-  clblas = callPackage ../development/libraries/science/math/clblas { };
+  brial = callPackage ../development/libraries/science/math/brial { };
+
+  clblas = callPackage ../development/libraries/science/math/clblas {
+    inherit (darwin.apple_sdk.frameworks) Accelerate CoreGraphics CoreVideo OpenCL;
+  };
+
+  cliquer = callPackage ../development/libraries/science/math/cliquer { };
+
+  flintqs = callPackage ../development/libraries/science/math/flintqs { };
 
   jags = callPackage ../applications/science/math/jags { };
 
@@ -19486,15 +19847,18 @@ with pkgs;
   # and with or without atlas as a dependency. The default `liblapack` is 3.4.1
   # with atlas. Atlas, when built with liblapack as a dependency, uses 3.5.0
   # without atlas. Etc.
-  liblapackWithAtlas = callPackage ../development/libraries/science/math/liblapack {};
+  liblapack = callPackage ../development/libraries/science/math/liblapack {};
   liblapackWithoutAtlas = liblapackWithAtlas.override { atlas = null; };
-  liblapack_3_5_0WithAtlas = callPackage ../development/libraries/science/math/liblapack/3.5.0.nix {};
-  liblapack_3_5_0WithoutAtlas = liblapack_3_5_0WithAtlas.override { atlas = null; };
-  liblapack = liblapackWithAtlas;
-  liblapack_3_5_0 = liblapack_3_5_0WithAtlas;
+  liblapackWithAtlas = liblapack;
 
   liblbfgs = callPackage ../development/libraries/science/math/liblbfgs { };
 
+  m4ri = callPackage ../development/libraries/science/math/m4ri { };
+
+  m4rie = callPackage ../development/libraries/science/math/m4rie { };
+
+  nasc = callPackage ../applications/science/math/nasc { };
+
   openblas = callPackage ../development/libraries/science/math/openblas { };
 
   # A version of OpenBLAS using 32-bit integers on all platforms for compatibility with
@@ -19505,6 +19869,10 @@ with pkgs;
 
   openspecfun = callPackage ../development/libraries/science/math/openspecfun {};
 
+  planarity = callPackage ../development/libraries/science/math/planarity { };
+
+  rankwidth = callPackage ../development/libraries/science/math/rankwidth { };
+
   fenics = callPackage ../development/libraries/science/math/fenics {
     inherit (python3Packages) numpy ply pytest python six sympy;
     pythonPackages = python3Packages;
@@ -19512,6 +19880,10 @@ with pkgs;
     docs = true;
   };
 
+  lcalc = callPackage ../development/libraries/science/math/lcalc { };
+
+  lrcalc = callPackage ../applications/science/math/lrcalc { };
+
   lie = callPackage ../applications/science/math/LiE { };
 
   magma = callPackage ../development/libraries/science/math/magma { };
@@ -19524,6 +19896,8 @@ with pkgs;
 
   nauty = callPackage ../applications/science/math/nauty {};
 
+  rubiks = callPackage ../development/libraries/science/math/rubiks { };
+
   petsc = callPackage ../development/libraries/science/math/petsc { };
 
   sage = callPackage ../applications/science/math/sage { };
@@ -19536,10 +19910,14 @@ with pkgs;
 
   symmetrica = callPackage ../applications/science/math/symmetrica {};
 
+  sympow = callPackage ../development/libraries/science/math/sympow { };
+
   ipopt = callPackage ../development/libraries/science/math/ipopt { openblas = openblasCompat; };
 
   gmsh = callPackage ../applications/science/math/gmsh { };
 
+  zn_poly = callPackage ../development/libraries/science/math/zn_poly { };
+
   ### SCIENCE/MOLECULAR-DYNAMICS
 
   lammps = callPackage ../applications/science/molecular-dynamics/lammps {
@@ -19558,21 +19936,21 @@ with pkgs;
     cmake = cmakeCurses;
   };
 
-  gromacsMpi = lowPrio (callPackage ../applications/science/molecular-dynamics/gromacs {
+  gromacsMpi = lowPrio (gromacs.override {
     singlePrec = true;
     mpiEnabled = true;
     fftw = fftwSinglePrec;
     cmake = cmakeCurses;
   });
 
-  gromacsDouble = lowPrio (callPackage ../applications/science/molecular-dynamics/gromacs {
+  gromacsDouble = lowPrio (gromacs.override {
     singlePrec = false;
     mpiEnabled = false;
     fftw = fftw;
     cmake = cmakeCurses;
   });
 
-  gromacsDoubleMpi = lowPrio (callPackage ../applications/science/molecular-dynamics/gromacs {
+  gromacsDoubleMpi = lowPrio (gromacs.override {
     singlePrec = false;
     mpiEnabled = true;
     fftw = fftw;
@@ -19609,12 +19987,14 @@ with pkgs;
 
   aspino = callPackage ../applications/science/logic/aspino {};
 
+  beluga = callPackage ../applications/science/logic/beluga { };
+
   boogie = dotnetPackages.Boogie;
 
   inherit (callPackage ./coq-packages.nix {})
     mkCoqPackages
-    coq_8_3 coq_8_4 coq_8_5 coq_8_6 coq_8_7
-    coqPackages_8_5 coqPackages_8_6 coqPackages_8_7
+    coq_8_3 coq_8_4 coq_8_5 coq_8_6 coq_8_7 coq_8_8
+    coqPackages_8_5 coqPackages_8_6 coqPackages_8_7 coqPackages_8_8
     coqPackages coq
   ;
 
@@ -19681,6 +20061,7 @@ with pkgs;
   lean = callPackage ../applications/science/logic/lean {};
   lean2 = callPackage ../applications/science/logic/lean2 {};
   lean3 = lean;
+  elan = callPackage ../applications/science/logic/elan {};
 
   leo2 = callPackage ../applications/science/logic/leo2 {
      ocaml = ocamlPackages_4_01_0.ocaml;};
@@ -19727,7 +20108,9 @@ with pkgs;
 
   saw-tools = callPackage ../applications/science/logic/saw-tools {};
 
-  spass = callPackage ../applications/science/logic/spass {};
+  spass = callPackage ../applications/science/logic/spass {
+    stdenv = gccStdenv;
+  };
 
   statverif = callPackage ../applications/science/logic/statverif { };
 
@@ -19745,14 +20128,18 @@ with pkgs;
 
   why3 = callPackage ../applications/science/logic/why3 {};
 
+  workcraft = callPackage ../applications/science/logic/workcraft {};
+
   yices = callPackage ../applications/science/logic/yices {
     gmp-static = gmp.override { withStatic = true; };
   };
 
-  z3_4_5_0 = callPackage ../applications/science/logic/z3/4.5.0.nix {};
   z3 = callPackage ../applications/science/logic/z3 { python = python2; };
 
   tlaplus = callPackage ../applications/science/logic/tlaplus {};
+  tlaps = callPackage ../applications/science/logic/tlaplus/tlaps.nix {};
+  tlaplusToolbox = callPackage ../applications/science/logic/tlaplus/toolbox.nix {gtk = gtk2;};
+
 
   aiger = callPackage ../applications/science/logic/aiger {};
 
@@ -19837,13 +20224,16 @@ with pkgs;
 
   gap = callPackage ../applications/science/math/gap { };
 
+  gap-minimal = lowPrio (gap.override { keepAllPackages = false; });
+
   geogebra = callPackage ../applications/science/math/geogebra { };
 
   maxima = callPackage ../applications/science/math/maxima {
     ecl = null;
   };
-  maxima-ecl = callPackage ../applications/science/math/maxima {
+  maxima-ecl = maxima.override {
     ecl = ecl_16_1_2;
+    ecl-fasl = true;
     sbcl = null;
   };
 
@@ -19857,7 +20247,8 @@ with pkgs;
 
   pari = callPackage ../applications/science/math/pari { tex = texlive.combined.scheme-basic; };
   gp2c = callPackage ../applications/science/math/pari/gp2c.nix { };
-  pari-unstable = callPackage ../applications/science/math/pari/unstable.nix {};
+
+  palp = callPackage ../applications/science/math/palp { };
 
   ratpoints = callPackage ../applications/science/math/ratpoints {};
 
@@ -19871,13 +20262,9 @@ with pkgs;
     inherit (gnome3) gtksourceview;
   };
 
-  singular = callPackage ../applications/science/math/singular {
-    stdenv = overrideCC stdenv gcc5;
-  };
-  libsingular = callPackage ../applications/science/math/singular {
-    asLibsingular = true;
-    stdenv = overrideCC stdenv gcc5;
-  };
+  pynac = callPackage ../applications/science/math/pynac { };
+
+  singular = callPackage ../applications/science/math/singular { };
 
   scilab = callPackage ../applications/science/math/scilab {
     withXaw3d = false;
@@ -19928,6 +20315,8 @@ with pkgs;
 
   megam = callPackage ../applications/science/misc/megam { };
 
+  ns-3 = callPackage ../development/libraries/science/networking/ns3 { };
+
   root = callPackage ../applications/science/misc/root {
     inherit (darwin.apple_sdk.frameworks) Cocoa OpenGL;
   };
@@ -19992,12 +20381,14 @@ with pkgs;
 
   pythia = callPackage ../development/libraries/physics/pythia { };
 
-  rivet = callPackage ../development/libraries/physics/rivet { };
+  rivet = callPackage ../development/libraries/physics/rivet {
+    imagemagick = graphicsmagick-imagemagick-compat;
+  };
 
   thepeg = callPackage ../development/libraries/physics/thepeg { };
 
   yoda = callPackage ../development/libraries/physics/yoda { };
-  yoda-with-root = lowPrio (callPackage ../development/libraries/physics/yoda {
+  yoda-with-root = lowPrio (yoda.override {
     withRootSupport = true;
   });
 
@@ -20025,6 +20416,10 @@ with pkgs;
 
   brgenml1cupswrapper = callPackage ../misc/cups/drivers/brgenml1cupswrapper {};
 
+  calaos_installer = libsForQt5.callPackage ../misc/calaos/installer {};
+
+  click = callPackage ../applications/networking/cluster/click { };
+
   cups = callPackage ../misc/cups {
     libusb = libusb1;
   };
@@ -20035,6 +20430,8 @@ with pkgs;
 
   cups-kyocera = callPackage ../misc/cups/drivers/kyocera {};
 
+  cups-kyodialog3 = callPackage ../misc/cups/drivers/kyodialog3 {};
+
   cups-dymo = callPackage ../misc/cups/drivers/dymo {};
 
   cups-toshiba-estudio = callPackage ../misc/cups/drivers/estudio {};
@@ -20062,6 +20459,8 @@ with pkgs;
 
   cups-bjnp = callPackage ../misc/cups/drivers/cups-bjnp { };
 
+  cups-brother-hl1110 = callPackage_i686 ../misc/cups/drivers/hl1110 { };
+
   # this driver ships with pre-compiled 32-bit binary libraries
   cnijfilter_2_80 = callPackage_i686 ../misc/cups/drivers/cnijfilter_2_80 { };
 
@@ -20146,7 +20545,10 @@ with pkgs;
 
   foomatic-filters = callPackage ../misc/drivers/foomatic-filters {};
 
-  gajim = callPackage ../applications/networking/instant-messengers/gajim { };
+  gajim = python3.pkgs.callPackage ../applications/networking/instant-messengers/gajim {
+    inherit (gst_all_1) gstreamer gst-plugins-base gst-libav gst-plugins-ugly;
+    inherit (gnome3) gspell;
+  };
 
   gammu = callPackage ../applications/misc/gammu { };
 
@@ -20186,13 +20588,15 @@ with pkgs;
 
   helm = callPackage ../applications/audio/helm { };
 
+  heptio-ark = callPackage ../applications/networking/cluster/heptio-ark { };
+
   hplip = callPackage ../misc/drivers/hplip { };
 
   hplipWithPlugin = hplip.override { withPlugin = true; };
 
   hplip_3_16_11 = callPackage ../misc/drivers/hplip/3.16.11.nix { };
 
-  hplipWithPlugin_3_16_11 = hplip.override { withPlugin = true; };
+  hplipWithPlugin_3_16_11 = hplip_3_16_11.override { withPlugin = true; };
 
   hyperfine = callPackage ../tools/misc/hyperfine { };
 
@@ -20205,11 +20609,11 @@ with pkgs;
   # using the new configuration style proposal which is unstable
   jack1 = callPackage ../misc/jackaudio/jack1.nix { };
 
-  jack2Full = callPackage ../misc/jackaudio {
+  jack2 = callPackage ../misc/jackaudio {
     libopus = libopus.override { withCustomModes = true; };
     inherit (darwin.apple_sdk.frameworks) AudioToolbox CoreAudio CoreFoundation;
   };
-  libjack2 = jack2Full.override { prefix = "lib"; };
+  libjack2 = jack2.override { prefix = "lib"; };
 
   keynav = callPackage ../tools/X11/keynav { };
 
@@ -20241,6 +20645,8 @@ with pkgs;
 
   moltengamepad = callPackage ../misc/drivers/moltengamepad { };
 
+  openzwave = callPackage ../development/libraries/openzwave { };
+
   mongoc = callPackage ../development/libraries/mongoc { };
 
   mupen64plus = callPackage ../misc/emulators/mupen64plus { };
@@ -20271,10 +20677,12 @@ with pkgs;
   nix-diff = haskell.lib.justStaticExecutables haskellPackages.nix-diff;
 
   nix-info = callPackage ../tools/nix/info { };
-  nix-info-tested = callPackage ../tools/nix/info { doCheck = true; };
+  nix-info-tested = nix-info.override { doCheck = true; };
 
   nix-index = callPackage ../tools/package-management/nix-index { };
 
+  nix-pin = callPackage ../tools/package-management/nix-pin { };
+
   inherit (callPackages ../tools/package-management/nix-prefetch-scripts { })
     nix-prefetch-bzr
     nix-prefetch-cvs
@@ -20289,6 +20697,8 @@ with pkgs;
 
   nix-repl = callPackage ../tools/package-management/nix-repl { nix = nix1; };
 
+  nix-review = callPackage ../tools/package-management/nix-review { };
+
   nix-serve = callPackage ../tools/package-management/nix-serve { };
 
   nixos-artwork = callPackage ../data/misc/nixos-artwork { };
@@ -20330,7 +20740,7 @@ with pkgs;
     pcre = pcre-cpp;
   });
 
-  redis-desktop-manager = libsForQt59.callPackage ../applications/misc/redis-desktop-manager { };
+  redis-desktop-manager = libsForQt5.callPackage ../applications/misc/redis-desktop-manager { };
 
   robo3t = callPackage ../applications/misc/robo3t { };
 
@@ -20423,6 +20833,8 @@ with pkgs;
 
   canon-cups-ufr2 = callPackage ../misc/cups/drivers/canon { };
 
+  hll2390dw-cups = callPackage ../misc/cups/drivers/hll2390dw-cups { };
+
   mfcj470dw-cupswrapper = callPackage ../misc/cups/drivers/mfcj470dwcupswrapper { };
   mfcj470dwlpr = callPackage_i686 ../misc/cups/drivers/mfcj470dwlpr { };
 
@@ -20449,21 +20861,33 @@ with pkgs;
     snapscanFirmware = config.sane.snapscanFirmware or null;
   };
 
+  brlaser = callPackage ../misc/cups/drivers/brlaser { };
+
   brscan4 = callPackage ../applications/graphics/sane/backends/brscan4 { };
 
   mkSaneConfig = callPackage ../applications/graphics/sane/config.nix { };
 
   sane-frontends = callPackage ../applications/graphics/sane/frontends.nix { };
 
+  satysfi = callPackage ../tools/typesetting/satysfi {
+    ocamlPackages = ocaml-ng.ocamlPackages_4_06;
+  };
+
   sc-controller = pythonPackages.callPackage ../misc/drivers/sc-controller {
     inherit libusb1; # Shadow python.pkgs.libusb1.
-    librsvg = librsvg.override { enableIntrospection = true; };
   };
 
   sct = callPackage ../tools/X11/sct {};
 
   seafile-shared = callPackage ../misc/seafile-shared { };
 
+  serviio = callPackage ../servers/serviio {};
+  selinux-python = callPackage ../os-specific/linux/selinux-python {
+    # needs python3 bindings
+    libselinux = libselinux.override { python = python3; };
+    libsemanage = libsemanage.override { python = python3; };
+  };
+
   slock = callPackage ../misc/screensavers/slock {
     conf = config.slock.conf or null;
   };
@@ -20504,10 +20928,16 @@ with pkgs;
   terraform = terraform_0_11;
   terraform-full = terraform_0_11-full;
 
+  terraform-provider-ibm = callPackage ../applications/networking/cluster/terraform-provider-ibm {};
+
   terraform-inventory = callPackage ../applications/networking/cluster/terraform-inventory {};
 
+  terraform-provider-nixos = callPackage ../applications/networking/cluster/terraform-provider-nixos {};
+
   terraform-landscape = callPackage ../applications/networking/cluster/terraform-landscape {};
 
+  terraform-provider-libvirt = callPackage ../applications/networking/cluster/terraform-provider-libvirt {};
+
   terragrunt = callPackage ../applications/networking/cluster/terragrunt {};
 
   terragrunt_0_11_1 = callPackage ../applications/networking/cluster/terragrunt/0.11.1.nix {
@@ -20538,6 +20968,8 @@ with pkgs;
 
   tup = callPackage ../development/tools/build-managers/tup { };
 
+  trufflehog = callPackage ../tools/security/trufflehog { };
+
   tvheadend = callPackage ../servers/tvheadend { };
 
   ums = callPackage ../servers/ums { };
@@ -20583,9 +21015,7 @@ with pkgs;
   };
   vimprobable2 = wrapFirefox vimprobable2-unwrapped { };
 
-  vimb-unwrapped = callPackage ../applications/networking/browsers/vimb {
-    webkit = webkitgtk218x;
-  };
+  vimb-unwrapped = callPackage ../applications/networking/browsers/vimb { };
   vimb = wrapFirefox vimb-unwrapped { };
 
   vips = callPackage ../tools/graphics/vips { };
@@ -20619,6 +21049,7 @@ with pkgs;
       fontconfigSupport = true;
       alsaSupport = true;
       openglSupport = true;
+      vulkanSupport = stdenv.isLinux;
       tlsSupport = true;
       cupsSupport = true;
       dbusSupport = true;
@@ -20653,9 +21084,9 @@ with pkgs;
     staging = base.override { wineRelease = "staging"; };
   };
 
-  wine = winePackages.base;
+  wine = winePackages.full;
 
-  wineStaging = lowPrio (winePackages.full.override {
+  wine-staging = lowPrio (winePackages.full.override {
     wineRelease = "staging";
   });
 
@@ -20778,10 +21209,10 @@ with pkgs;
 
   spdlog = callPackage ../development/libraries/spdlog { };
 
-  dart = dart_stable;
-  dart_old = callPackage ../development/interpreters/dart { version = "1.16.1"; };
-  dart_stable = callPackage ../development/interpreters/dart { version = "1.24.3"; };
-  dart_dev = callPackage ../development/interpreters/dart { version = "2.0.0-dev.26.0"; };
+  dart = callPackage ../development/interpreters/dart { };
+  dart_stable = dart.override { version = "1.24.3"; };
+  dart_old = dart.override { version = "1.16.1"; };
+  dart_dev = dart.override { version = "2.0.0-dev.26.0"; };
 
   httrack = callPackage ../tools/backup/httrack { };
 
@@ -20867,26 +21298,6 @@ with pkgs;
 
   openfst = callPackage ../development/libraries/openfst {};
 
-  # `recurseIntoAttrs` for sake of hydra, not nix-env
-  tests = recurseIntoAttrs {
-    cc-wrapper = callPackage ../test/cc-wrapper { };
-    cc-wrapper-gcc = callPackage ../test/cc-wrapper { stdenv = gccStdenv; };
-    cc-wrapper-clang = callPackage ../test/cc-wrapper { stdenv = llvmPackages.stdenv; };
-    cc-wrapper-libcxx = callPackage ../test/cc-wrapper { stdenv = llvmPackages.libcxxStdenv; };
-    cc-wrapper-clang-39 = callPackage ../test/cc-wrapper { stdenv = llvmPackages_39.stdenv; };
-    cc-wrapper-libcxx-39 = callPackage ../test/cc-wrapper { stdenv = llvmPackages_39.libcxxStdenv; };
-    cc-wrapper-clang-4 = callPackage ../test/cc-wrapper { stdenv = llvmPackages_4.stdenv; };
-    cc-wrapper-libcxx-4 = callPackage ../test/cc-wrapper { stdenv = llvmPackages_4.libcxxStdenv; };
-    cc-wrapper-clang-5 = callPackage ../test/cc-wrapper { stdenv = llvmPackages_5.stdenv; };
-    cc-wrapper-libcxx-5 = callPackage ../test/cc-wrapper { stdenv = llvmPackages_5.libcxxStdenv; };
-    stdenv-inputs = callPackage ../test/stdenv-inputs { };
-
-    cc-multilib-gcc = callPackage ../test/cc-wrapper/multilib.nix { stdenv = gccMultiStdenv; };
-    cc-multilib-clang = callPackage ../test/cc-wrapper/multilib.nix { stdenv = clangMultiStdenv; };
-
-    macOSSierraShared = callPackage ../test/macos-sierra-shared {};
-  };
-
   duti = callPackage ../os-specific/darwin/duti {};
 
   dnstracer = callPackage ../tools/networking/dnstracer {
@@ -20900,4 +21311,21 @@ with pkgs;
   simplehttp2server = callPackage ../servers/simplehttp2server { };
 
   diceware = callPackage ../tools/security/diceware { };
+
+  xml2rfc = callPackage ../tools/typesetting/xml2rfc { };
+
+  mmark = callPackage ../tools/typesetting/mmark { };
+
+  wire-desktop = callPackage ../applications/networking/instant-messengers/wire-desktop { };
+
+  teseq = callPackage ../applications/misc/teseq {  };
+
+  # Unix tools
+  unixtools = recurseIntoAttrs (callPackages ./unix-tools.nix { });
+  inherit (unixtools) hexdump ps logger eject umount
+                      mount wall hostname more sysctl getconf
+                      getent;
+
+  inherit (recurseIntoAttrs (callPackages ../os-specific/bsd { }))
+          netbsd;
 }
diff --git a/pkgs/top-level/coq-packages.nix b/pkgs/top-level/coq-packages.nix
index 419fc485dd0..e21445b423d 100644
--- a/pkgs/top-level/coq-packages.nix
+++ b/pkgs/top-level/coq-packages.nix
@@ -71,10 +71,14 @@ in rec {
   coq_8_7 = callPackage ../applications/science/logic/coq {
     version = "8.7.2";
   };
+  coq_8_8 = callPackage ../applications/science/logic/coq {
+    version = "8.8.0";
+  };
 
   coqPackages_8_5 = mkCoqPackages coq_8_5;
   coqPackages_8_6 = mkCoqPackages coq_8_6;
   coqPackages_8_7 = mkCoqPackages coq_8_7;
+  coqPackages_8_8 = mkCoqPackages coq_8_8;
   coqPackages = coqPackages_8_7;
   coq = coqPackages.coq;
 
diff --git a/pkgs/top-level/darwin-packages.nix b/pkgs/top-level/darwin-packages.nix
index 1f8039010d7..d2d41792c46 100644
--- a/pkgs/top-level/darwin-packages.nix
+++ b/pkgs/top-level/darwin-packages.nix
@@ -1,4 +1,6 @@
-{ pkgs, darwin, stdenv, callPackage, callPackages, newScope }:
+{ buildPackages, pkgs, targetPackages
+, darwin, stdenv, callPackage, callPackages, newScope
+}:
 
 let
   apple-source-releases = callPackage ../os-specific/darwin/apple-source-releases { };
@@ -10,19 +12,23 @@ in
 
   apple_sdk = callPackage ../os-specific/darwin/apple-sdk { };
 
+  binutils-unwrapped = callPackage ../os-specific/darwin/binutils {
+    inherit (darwin) cctools;
+    inherit (pkgs) binutils-unwrapped;
+  };
+
   binutils = pkgs.wrapBintoolsWith {
     libc =
       if pkgs.targetPlatform != pkgs.hostPlatform
       then pkgs.libcCross
       else pkgs.stdenv.cc.libc;
-    bintools = callPackage ../os-specific/darwin/binutils {
-      inherit (darwin) cctools;
-    };
+    bintools = darwin.binutils-unwrapped;
   };
 
   cctools = callPackage ../os-specific/darwin/cctools/port.nix {
     inherit (darwin) libobjc maloader;
     stdenv = if stdenv.isDarwin then stdenv else pkgs.libcxxStdenv;
+    libcxxabi = pkgs.libcxxabi;
     xctoolchain = darwin.xcode.toolchain;
   };
 
@@ -39,8 +45,10 @@ in
 
   insert_dylib = callPackage ../os-specific/darwin/insert_dylib { };
 
-  ios-cross = callPackage ../os-specific/darwin/ios-cross {
-    inherit (darwin) binutils;
+  iosSdkPkgs = darwin.callPackage ../os-specific/darwin/ios-sdk-pkgs {
+    buildIosSdk = buildPackages.darwin.iosSdkPkgs.sdk;
+    targetIosSdkPkgs = targetPackages.darwin.iosSdkPkgs;
+    inherit (pkgs.llvmPackages) clang-unwrapped;
   };
 
   libobjc = apple-source-releases.objc4;
@@ -57,12 +65,16 @@ in
 
   stubs = callPackages ../os-specific/darwin/stubs { };
 
-  swift-corefoundation = callPackage ../os-specific/darwin/swift-corefoundation { };
-
   trash = callPackage ../os-specific/darwin/trash { inherit (darwin.apple_sdk) frameworks; };
 
   usr-include = callPackage ../os-specific/darwin/usr-include { };
 
   xcode = callPackage ../os-specific/darwin/xcode { };
 
+  CoreSymbolication = callPackage ../os-specific/darwin/CoreSymbolication { };
+
+  swift-corelibs = callPackages ../os-specific/darwin/swift-corelibs { };
+
+  darling = callPackage ../os-specific/darwin/darling/default.nix { };
+
 })
diff --git a/pkgs/top-level/default.nix b/pkgs/top-level/default.nix
index 9cf9eb4db65..da7fc1bed34 100644
--- a/pkgs/top-level/default.nix
+++ b/pkgs/top-level/default.nix
@@ -22,9 +22,9 @@
   # `*Platform`s.
   localSystem
 
-  # The system packages will ultimately be run on. Null if the two should be the
+, # The system packages will ultimately be run on. Null if the two should be the
   # same.
-, crossSystem ? null
+  crossSystem ? null
 
 , # Allow a configuration attribute set to be passed in as an argument.
   config ? {}
diff --git a/pkgs/top-level/dotnet-packages.nix b/pkgs/top-level/dotnet-packages.nix
index 43182b3f2aa..ca4469e9e99 100644
--- a/pkgs/top-level/dotnet-packages.nix
+++ b/pkgs/top-level/dotnet-packages.nix
@@ -888,13 +888,13 @@ let self = dotnetPackages // overrides; dotnetPackages = with self; {
 
   Nuget = buildDotnetPackage {
     baseName = "Nuget";
-    version = "2.8.5";
+    version = "3.4.3";
 
     src = fetchFromGitHub {
       owner = "mono";
       repo = "nuget-binary";
-      rev = "da1f2102f8172df6f7a1370a4998e3f88b91c047";
-      sha256 = "1hbnckc4gvqkknf8gh1k7iwqb4vdzifdjd19i60fnczly5v8m1c3";
+      rev = "1f3025c2eb13bfcb56b47ddd77329ac3d9911d1c";
+      sha256 = "01snk05hcrp5i2ys3p1y34r05q1b460q6wb8p3vwpba2q2czdax5";
     };
 
     buildInputs = [ unzip ];
@@ -903,7 +903,7 @@ let self = dotnetPackages // overrides; dotnetPackages = with self; {
 
     outputFiles = [ "*" ];
     dllFiles = [ "NuGet*.dll" ];
-    exeFiles = [ "NuGet.exe" ];
+    exeFiles = [ "nuget.exe" ];
   };
 
   Paket = buildDotnetPackage rec {
diff --git a/pkgs/top-level/emacs-packages.nix b/pkgs/top-level/emacs-packages.nix
index 99863eb76a8..acc087108c9 100644
--- a/pkgs/top-level/emacs-packages.nix
+++ b/pkgs/top-level/emacs-packages.nix
@@ -385,9 +385,9 @@ let
 in
   lib.makeScope newScope (self:
     {}
-    // melpaPackages self
     // elpaPackages self
     // melpaStablePackages self
+    // melpaPackages self
     // orgPackages self
     // packagesFun self
   )
diff --git a/pkgs/top-level/emscripten-packages.nix b/pkgs/top-level/emscripten-packages.nix
index 7e63041867d..5b5b32b89da 100644
--- a/pkgs/top-level/emscripten-packages.nix
+++ b/pkgs/top-level/emscripten-packages.nix
@@ -1,49 +1,92 @@
 { pkgs }:
 
+with pkgs;
+
 # emscripten toolchain abstraction for nix
 # https://github.com/NixOS/nixpkgs/pull/16208
 
-with pkgs; rec {
-  json_c = pkgs.json_c.override {
-    stdenv = emscriptenStdenv;
-  };
+rec {
+  json_c = (pkgs.json_c.override {
+    stdenv = pkgs.emscriptenStdenv;
+  }).overrideDerivation
+    (old: {
+      nativeBuildInputs = [ autoreconfHook pkgconfig ];
+      propagatedBuildInputs = [ zlib ];
+      buildInputs = old.buildInputs ++ [ automake autoconf ];
+      configurePhase = ''
+        HOME=$TMPDIR
+        emconfigure ./configure --prefix=$out 
+      '';
+      checkPhase = ''
+        echo "================= testing json_c using node ================="
+
+        echo "Compiling a custom test"
+        set -x
+        emcc -O2 -s EMULATE_FUNCTION_POINTER_CASTS=1 tests/test1.c \
+          `pkg-config zlib --cflags` \
+          `pkg-config zlib --libs` \
+          -I . \
+          .libs/libjson-c.so \
+          -o ./test1.js
+
+        echo "Using node to execute the test which basically outputs an error on stderr which we grep for" 
+        ${pkgs.nodejs}/bin/node ./test1.js 
+
+        set +x
+        if [ $? -ne 0 ]; then
+          echo "test1.js execution failed -> unit test failed, please fix"
+          exit 1;
+        else
+          echo "test1.js execution seems to work! very good."
+        fi
+        echo "================= /testing json_c using node ================="
+      '';
+    });
   
   libxml2 = (pkgs.libxml2.override {
     stdenv = emscriptenStdenv;
     pythonSupport = false;
   }).overrideDerivation
     (old: { 
-      nativeBuildInputs = old.nativeBuildInputs ++ [ autoreconfHook pkgconfig ];
-      buildInputs = old.buildInputs ++ [ zlib nodejs ];
+      propagatedBuildInputs = [ zlib ];
+      buildInputs = old.buildInputs ++ [ pkgconfig ];
+
       # just override it with nothing so it does not fail
       autoreconfPhase = "echo autoreconfPhase not used..."; 
+      configurePhase = ''
+        HOME=$TMPDIR
+        emconfigure ./configure --prefix=$out --without-python
+      '';
       checkPhase = ''
-        echo "================= testing xmllint using node ================="
+        echo "================= testing libxml2 using node ================="
+
+        echo "Compiling a custom test"
+        set -x
         emcc -O2 -s EMULATE_FUNCTION_POINTER_CASTS=1 xmllint.o \
         ./.libs/libxml2.a `pkg-config zlib --cflags` `pkg-config zlib --libs` -o ./xmllint.test.js \
         --embed-file ./test/xmlid/id_err1.xml  
-        # test/xmlid/id_err2.xml:3: validity error : xml:id : attribute type should be ID
-        # <!ATTLIST foo xml:id CDATA #IMPLIED>
-        #                                    ^
-        node ./xmllint.test.js --noout test/xmlid/id_err1.xml 2>&1  | grep 0bar   
+
+        echo "Using node to execute the test which basically outputs an error on stderr which we grep for" 
+        ${pkgs.nodejs}/bin/node ./xmllint.test.js --noout test/xmlid/id_err1.xml 2>&1 | grep 0bar   
+
+        set +x
         if [ $? -ne 0 ]; then
           echo "xmllint unit test failed, please fix this package"
           exit 1;
         else
           echo "since there is no stupid text containing 'foo xml:id' it seems to work! very good."
         fi
-        echo "================= /testing xmllint using node ================="
+        echo "================= /testing libxml2 using node ================="
       '';
     });            
   
-  xmlmirror = buildEmscriptenPackage rec {
+  xmlmirror = pkgs.buildEmscriptenPackage rec {
     name = "xmlmirror";
 
-  nativeBuildInputs = [ pkgconfig ];
-    buildInputs = [ autoconf automake libtool gnumake libxml2 nodejs 
-       python openjdk json_c zlib ];
+    buildInputs = [ pkgconfig autoconf automake libtool gnumake libxml2 nodejs openjdk json_c ];
+    nativeBuildInputs = [ pkgconfig zlib ];
 
-    src = fetchgit {
+    src = pkgs.fetchgit {
       url = "https://gitlab.com/odfplugfest/xmlmirror.git";
       rev = "4fd7e86f7c9526b8f4c1733e5c8b45175860a8fd";
       sha256 = "1jasdqnbdnb83wbcnyrp32f36w3xwhwp0wq8lwwmhqagxrij1r4b";
@@ -51,6 +94,14 @@ with pkgs; rec {
      
     configurePhase = ''
       rm -f fastXmlLint.js*
+      # a fix for ERROR:root:For asm.js, TOTAL_MEMORY must be a multiple of 16MB, was 234217728
+      # https://gitlab.com/odfplugfest/xmlmirror/issues/8
+      sed -e "s/TOTAL_MEMORY=234217728/TOTAL_MEMORY=268435456/g" -i Makefile.emEnv
+      # https://github.com/kripken/emscripten/issues/6344
+      # https://gitlab.com/odfplugfest/xmlmirror/issues/9
+      sed -e "s/\$(JSONC_LDFLAGS) \$(ZLIB_LDFLAGS) \$(LIBXML20_LDFLAGS)/\$(JSONC_LDFLAGS) \$(LIBXML20_LDFLAGS) \$(ZLIB_LDFLAGS) /g" -i Makefile.emEnv
+      # https://gitlab.com/odfplugfest/xmlmirror/issues/11
+      sed -e "s/-o fastXmlLint.js/-s EXTRA_EXPORTED_RUNTIME_METHODS='[\"ccall\", \"cwrap\"]' -o fastXmlLint.js/g" -i Makefile.emEnv
     '';
     
     buildPhase = ''
@@ -75,25 +126,58 @@ with pkgs; rec {
       cp *.rng $out/share
       cp README.md $doc/share/${name}
     '';
-    
-    postInstall = ''
+    checkPhase = ''
+      
     '';
   };  
 
   zlib = (pkgs.zlib.override {
-    stdenv = emscriptenStdenv;
+    stdenv = pkgs.emscriptenStdenv;
   }).overrideDerivation
-    (old: { 
+    (old: rec { 
+      buildInputs = old.buildInputs ++ [ pkgconfig ];
+      # we need to reset this setting!
+      NIX_CFLAGS_COMPILE="";
       configurePhase = ''
         # FIXME: Some tests require writing at $HOME
         HOME=$TMPDIR
         runHook preConfigure
 
-        emconfigure ./configure --prefix=$out
+        #export EMCC_DEBUG=2
+        emconfigure ./configure --prefix=$out --shared
 
         runHook postConfigure
       '';
-      postPatch = stdenv.lib.optionalString stdenv.isDarwin ''
+      dontStrip = true;
+      outputs = [ "out" ];
+      buildPhase = ''
+        emmake make
+      '';
+      installPhase = ''
+        emmake make install
+      '';
+      checkPhase = ''
+        echo "================= testing zlib using node ================="
+
+        echo "Compiling a custom test"
+        set -x
+        emcc -O2 -s EMULATE_FUNCTION_POINTER_CASTS=1 test/example.c -DZ_SOLO \
+        libz.so.${old.version} -I . -o example.js
+
+        echo "Using node to execute the test"
+        ${pkgs.nodejs}/bin/node ./example.js 
+
+        set +x
+        if [ $? -ne 0 ]; then
+          echo "test failed for some reason"
+          exit 1;
+        else
+          echo "it seems to work! very good."
+        fi
+        echo "================= /testing zlib using node ================="
+      '';
+
+      postPatch = pkgs.stdenv.lib.optionalString pkgs.stdenv.isDarwin ''
         substituteInPlace configure \
           --replace '/usr/bin/libtool' 'ar' \
           --replace 'AR="libtool"' 'AR="ar"' \
diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix
index 51726ca730d..8a395fbec18 100644
--- a/pkgs/top-level/haskell-packages.nix
+++ b/pkgs/top-level/haskell-packages.nix
@@ -6,16 +6,11 @@
 let
   # These are attributes in compiler and packages that don't support integer-simple.
   integerSimpleExcludes = [
-    "ghc704Binary"
-    "ghc742Binary"
-    "ghc784Binary"
     "ghc7103Binary"
     "ghc821Binary"
-    "ghc704"
-    "ghc763"
+    "ghcCross"
     "ghcjs"
     "ghcjsHEAD"
-    "ghcCross"
     "integer-simple"
   ];
 
@@ -24,31 +19,30 @@ let
     inherit pkgs;
   };
 
-  callPackage = newScope { inherit haskellLib; };
+  callPackage = newScope {
+    inherit haskellLib;
+    overrides = pkgs.haskell.packageOverrides;
+  };
+
+  bootstrapPackageSet = self: super: {
+    mkDerivation = drv: super.mkDerivation (drv // {
+      doCheck = false;
+      doHaddock = false;
+      enableExecutableProfiling = false;
+      enableLibraryProfiling = false;
+      enableSharedExecutables = false;
+      enableSharedLibraries = false;
+    });
+  };
 
 in rec {
   lib = haskellLib;
 
   compiler = {
 
-    ghc704Binary = callPackage ../development/compilers/ghc/7.0.4-binary.nix { gmp = pkgs.gmp4; };
-    ghc742Binary = callPackage ../development/compilers/ghc/7.4.2-binary.nix { gmp = pkgs.gmp4; };
-    ghc784Binary = callPackage ../development/compilers/ghc/7.8.4-binary.nix { };
     ghc7103Binary = callPackage ../development/compilers/ghc/7.10.3-binary.nix { };
     ghc821Binary = callPackage ../development/compilers/ghc/8.2.1-binary.nix { };
 
-    ghc704 = callPackage ../development/compilers/ghc/7.0.4.nix {
-      ghc = compiler.ghc704Binary;
-    };
-    ghc742 = callPackage ../development/compilers/ghc/7.4.2.nix {
-      ghc = compiler.ghc704Binary;
-    };
-    ghc763 = callPackage ../development/compilers/ghc/7.6.3.nix {
-      ghc = compiler.ghc704Binary;
-    };
-    ghc784 = callPackage ../development/compilers/ghc/7.8.4.nix {
-      ghc = compiler.ghc742Binary;
-    };
     ghc7103 = callPackage ../development/compilers/ghc/7.10.3.nix rec {
       bootPkgs = packages.ghc7103Binary;
       inherit (bootPkgs) hscolour;
@@ -70,7 +64,7 @@ in rec {
       buildLlvmPackages = buildPackages.llvmPackages_39;
       llvmPackages = pkgs.llvmPackages_39;
     };
-    ghc841 = callPackage ../development/compilers/ghc/8.4.1.nix rec {
+    ghc842 = callPackage ../development/compilers/ghc/8.4.2.nix rec {
       bootPkgs = packages.ghc821Binary;
       inherit (bootPkgs) alex happy;
       buildLlvmPackages = buildPackages.llvmPackages_5;
@@ -102,6 +96,9 @@ in rec {
       (name: compiler."${name}".override { enableIntegerSimple = true; }));
   };
 
+  # Default overrides that are applied to all package sets.
+  packageOverrides = self : super : {};
+
   # Always get compilers from `buildPackages`
   packages = let bh = buildPackages.haskell; in {
 
@@ -114,6 +111,7 @@ in rec {
       buildHaskellPackages = bh.packages.ghc7103Binary;
       ghc = bh.compiler.ghc7103Binary;
       compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-7.10.x.nix { };
+      packageSetConfig = bootstrapPackageSet;
     };
     ghc802 = callPackage ../development/haskell-modules {
       buildHaskellPackages = bh.packages.ghc802;
@@ -124,15 +122,16 @@ in rec {
       buildHaskellPackages = bh.packages.ghc821Binary;
       ghc = bh.compiler.ghc821Binary;
       compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-8.2.x.nix { };
+      packageSetConfig = bootstrapPackageSet;
     };
     ghc822 = callPackage ../development/haskell-modules {
       buildHaskellPackages = bh.packages.ghc822;
       ghc = bh.compiler.ghc822;
       compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-8.2.x.nix { };
     };
-    ghc841 = callPackage ../development/haskell-modules {
-      buildHaskellPackages = bh.packages.ghc841;
-      ghc = bh.compiler.ghc841;
+    ghc842 = callPackage ../development/haskell-modules {
+      buildHaskellPackages = bh.packages.ghc842;
+      ghc = bh.compiler.ghc842;
       compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-8.4.x.nix { };
     };
     ghcHEAD = callPackage ../development/haskell-modules {
@@ -160,7 +159,7 @@ in rec {
         (name: ! builtins.elem name integerSimpleExcludes)
         (pkgs.lib.attrNames packages);
     in pkgs.lib.genAttrs integerSimpleGhcNames (name: packages."${name}".override {
-      ghc = compiler.integer-simple."${name}";
+      ghc = bh.compiler.integer-simple."${name}";
       overrides = _self : _super : {
         integer-simple = null;
         integer-gmp = null;
diff --git a/pkgs/top-level/impure.nix b/pkgs/top-level/impure.nix
index a9f21e45aed..df462665dd1 100644
--- a/pkgs/top-level/impure.nix
+++ b/pkgs/top-level/impure.nix
@@ -41,7 +41,7 @@ in
   # fix-point made by Nixpkgs.
   overlays ? let
       isDir = path: pathExists (path + "/.");
-      pathOverlays = try <nixpkgs-overlays> "";
+      pathOverlays = try (toString <nixpkgs-overlays>) "";
       homeOverlaysFile = homeDir + "/.config/nixpkgs/overlays.nix";
       homeOverlaysDir = homeDir + "/.config/nixpkgs/overlays";
       overlays = path:
diff --git a/pkgs/top-level/java-packages.nix b/pkgs/top-level/java-packages.nix
index 0df0b5a51c9..77cd5b0eba5 100644
--- a/pkgs/top-level/java-packages.nix
+++ b/pkgs/top-level/java-packages.nix
@@ -61,6 +61,9 @@ in {
     junit_3_8_2
     junit_4_12;
 
+  inherit (callPackage ../development/java-modules/jogl { })
+    jogl_2_3_2;
+
   inherit (callPackage ../development/java-modules/log4j { inherit fetchMaven; })
     log4j_1_2_12;
 
diff --git a/pkgs/top-level/lua-packages.nix b/pkgs/top-level/lua-packages.nix
index a589ceb7e0c..41debeefc89 100644
--- a/pkgs/top-level/lua-packages.nix
+++ b/pkgs/top-level/lua-packages.nix
@@ -43,6 +43,35 @@ let
     inherit lua;
   };
 
+  bit32 = buildLuaPackage rec {
+    version = "5.3.0";
+    name = "bit32-${version}";
+
+    src = fetchFromGitHub {
+      owner = "keplerproject";
+      repo = "lua-compat-5.2";
+      rev = "bitlib-${version}";
+      sha256 = "1ipqlbvb5w394qwhm2f3w6pdrgy8v4q8sps5hh3pqz14dcqwakhj";
+    };
+
+    buildPhase = ''
+      cc ${if stdenv.isDarwin then "-bundle -undefined dynamic_lookup -all_load" else "-shared"} -Ic-api lbitlib.c -o bit32.so
+    '';
+
+    installPhase = ''
+      mkdir -p $out/lib/lua/${lua.luaversion}
+      install -p bit32.so $out/lib/lua/${lua.luaversion}
+    '';
+
+    meta = with stdenv.lib; {
+      description = "Lua 5.2 bit manipulation library";
+      homepage = "http://www.lua.org/manual/5.2/manual.html#6.7";
+      license = licenses.mit;
+      maintainers = with maintainers; [ lblasc ];
+      platforms = platforms.unix;
+    };
+  };
+
   luabitop = buildLuaPackage rec {
     version = "1.0.2";
     name = "bitop-${version}";
@@ -138,15 +167,14 @@ let
   };
 
   luaevent = buildLuaPackage rec {
-    version = "0.4.3";
+    version = "0.4.4";
     name = "luaevent-${version}";
-    disabled = isLua52;
 
     src = fetchFromGitHub {
       owner = "harningt";
       repo = "luaevent";
       rev = "v${version}";
-      sha256 = "1c1n2zqx5rwfwkqaq1jj8gvx1vswvbihj2sy445w28icz1xfhpik";
+      sha256 = "1krzxr0jkv3gmhpckp02byhdd9s5dd0hpyqc8irc8i79dd8x0p53";
     };
 
     preBuild = ''
@@ -239,14 +267,14 @@ let
   };
 
   luafilesystem = buildLuaPackage rec {
-    version = "1.6.3";
+    version = "1.7.0";
     name = "filesystem-${version}";
 
     src = fetchFromGitHub {
       owner = "keplerproject";
       repo = "luafilesystem";
       rev = "v${stdenv.lib.replaceChars ["."] ["_"] version}";
-      sha256 = "1hxcnqj53540ysyw8fzax7f09pl98b8f55s712gsglcdxp2g2pri";
+      sha256 = "0fibrasshlgpa71m9wkpjxwmylnxpcf06rpqbaa0qwvqh94nhwby";
     };
 
     preConfigure = ''
@@ -270,22 +298,34 @@ let
 
   luaposix = buildLuaPackage rec {
     name = "posix-${version}";
-    version = "33.4.0";
+    version = "34.0.4";
 
     src = fetchFromGitHub {
       owner = "luaposix";
       repo = "luaposix";
       rev = "release-v${version}";
-      sha256 = "0y531p54lx2yf243bcsyp6sv8fvbqidp20yry0xvb85p8zw9dlrq";
+      sha256 = "0p5583vidsm7s97zihf47c34vscwgbl86axrnj44j328v45kxb2z";
     };
 
-    buildInputs = [ perl ];
+    propagatedBuildInputs = [ std.normalize bit32 ];
+
+    buildPhase = ''
+      ${lua}/bin/lua build-aux/luke \
+        package="luaposix" \
+        version="${version}"
+    '';
+
+    installPhase = ''
+      ${lua}/bin/lua build-aux/luke install --quiet \
+        INST_LIBDIR="$out/lib/lua/${lua.luaversion}" \
+        INST_LUADIR="$out/share/lua/${lua.luaversion}"
+    '';
 
     meta = with stdenv.lib; {
       description = "Lua bindings for POSIX API";
       homepage = "https://github.com/luaposix/luaposix";
       license = licenses.mit;
-      maintainers = with maintainers; [ vyp ];
+      maintainers = with maintainers; [ vyp lblasc ];
       platforms = platforms.unix;
     };
   };
@@ -398,6 +438,8 @@ let
       );
     '';
 
+    doCheck = false; # fails to find itself
+
     installTargets = [ "install" "install-unix" ];
 
     meta = with stdenv.lib; {
@@ -655,13 +697,13 @@ let
 
   lgi = stdenv.mkDerivation rec {
     name = "lgi-${version}";
-    version = "0.9.1";
+    version = "0.9.2";
 
     src = fetchFromGitHub {
       owner = "pavouk";
       repo = "lgi";
       rev = version;
-      sha256 = "09pbapjhyc3sn0jgx747shqr9286wqfzw02h43p4pk8fv2b766b9";
+      sha256 = "03rbydnj411xpjvwsyvhwy4plm96481d7jax544mvk7apd8sd5jj";
     };
 
     nativeBuildInputs = [ pkgconfig ];
@@ -698,7 +740,7 @@ let
       owner = "libmpack";
       repo = "libmpack-lua";
       rev = version;
-      sha256 = "1nydi6xbmxwl1fmi32v5v8n74msnmzblzqaqnb102w6vkinampsb";
+      sha256 = "0l4k7qmwaa0zpxrlp27yp4pbbyiz3zgxywkm543q6wkzn6wmq8l8";
     };
 
     nativeBuildInputs = [ pkgconfig ];
@@ -726,6 +768,64 @@ let
     };
   };
 
+  std._debug = buildLuaPackage rec {
+    name = "std._debug-${version}";
+    version = "1.0";
+
+    src = fetchFromGitHub {
+      owner = "lua-stdlib";
+      repo = "_debug";
+      rev = "v${version}";
+      sha256 = "01kfs6k9j9zy4bvk13jx18ssfsmhlciyrni1x32qmxxf4wxyi65n";
+    };
+
+    # No Makefile.
+    dontBuild = true;
+
+    installPhase = ''
+      mkdir -p $out/share/lua/${lua.luaversion}/std
+      cp -r lib/std/_debug $out/share/lua/${lua.luaversion}/std/
+    '';
+
+    meta = with stdenv.lib; {
+      description = "Manage an overall debug state, and associated hint substates.";
+      homepage    = https://lua-stdlib.github.io/_debug;
+      license     = licenses.mit;
+      maintainers = with maintainers; [ lblasc ];
+      platforms   = platforms.unix;
+    };
+  };
+
+  std.normalize = buildLuaPackage rec {
+    name = "std.normalize-${version}";
+    version = "2.0.1";
+
+    src = fetchFromGitHub {
+      owner = "lua-stdlib";
+      repo = "normalize";
+      rev = "v${version}";
+      sha256 = "1yz96r28d2wcgky6by92a21755bf4wzpn65rdv2ps0fxywgw5rda";
+    };
+
+    propagatedBuildInputs = [ std._debug ];
+
+    # No Makefile.
+    dontBuild = true;
+
+    installPhase = ''
+      mkdir -p $out/share/lua/${lua.luaversion}/std
+      cp -r lib/std/normalize $out/share/lua/${lua.luaversion}/std/
+    '';
+
+    meta = with stdenv.lib; {
+      description = "Normalized Lua Functions";
+      homepage    = https://lua-stdlib.github.io/normalize;
+      license     = licenses.mit;
+      maintainers = with maintainers; [ lblasc ];
+      platforms   = platforms.unix;
+    };
+  };
+
   vicious = stdenv.mkDerivation rec {
     name = "vicious-${version}";
     version = "2.3.1";
diff --git a/pkgs/top-level/metrics.nix b/pkgs/top-level/metrics.nix
index 5f61c67b29c..77f620da724 100644
--- a/pkgs/top-level/metrics.nix
+++ b/pkgs/top-level/metrics.nix
@@ -35,7 +35,7 @@ runCommand "nixpkgs-metrics"
       [[ -n $x ]] || exit 1
       echo "$name.allocations $x B" >> $out/nix-support/hydra-metrics
 
-      x=$(sed -e 's/.*values allocated: \([0-9]\+\) .*/\1/ ; t ; d' stats)
+      x=$(sed -e 's/.*values allocated count: \([0-9]\+\).*/\1/ ; t ; d' stats)
       [[ -n $x ]] || exit 1
       echo "$name.values $x" >> $out/nix-support/hydra-metrics
     }
diff --git a/pkgs/top-level/ocaml-packages.nix b/pkgs/top-level/ocaml-packages.nix
index 4a6e4e815bb..bce2662abfd 100644
--- a/pkgs/top-level/ocaml-packages.nix
+++ b/pkgs/top-level/ocaml-packages.nix
@@ -54,7 +54,9 @@ let
 
     base64 = callPackage ../development/ocaml-modules/base64 { };
 
-    bap = callPackage ../development/ocaml-modules/bap { };
+    bap = callPackage ../development/ocaml-modules/bap {
+      inherit (janeStreet_0_9_0) core_kernel ppx_jane parsexp;
+    };
 
     batteries = callPackage ../development/ocaml-modules/batteries { };
 
@@ -117,7 +119,10 @@ let
     camlimages_4_1 = callPackage ../development/ocaml-modules/camlimages/4.1.nix {
       giflib = pkgs.giflib_4_1;
     };
-    camlimages = camlimages_4_1;
+    camlimages =
+          if lib.versionOlder "4.06" ocaml.version
+          then callPackage ../development/ocaml-modules/camlimages { }
+          else camlimages_4_1;
 
     benchmark = callPackage ../development/ocaml-modules/benchmark { };
 
@@ -212,12 +217,7 @@ let
 
     easy-format = callPackage ../development/ocaml-modules/easy-format { };
 
-    eff = callPackage ../development/interpreters/eff { };
-
-    eliom = callPackage ../development/ocaml-modules/eliom {
-      lwt = lwt2;
-      js_of_ocaml = js_of_ocaml_2;
-    };
+    eliom = callPackage ../development/ocaml-modules/eliom { };
 
     enumerate = callPackage ../development/ocaml-modules/enumerate { };
 
@@ -321,10 +321,16 @@ let
 
     js_of_ocaml-compiler = callPackage ../development/tools/ocaml/js_of_ocaml/compiler.nix {};
 
+    js_of_ocaml-lwt = callPackage ../development/tools/ocaml/js_of_ocaml/lwt.nix {};
+
     js_of_ocaml-ocamlbuild = callPackage ../development/tools/ocaml/js_of_ocaml/ocamlbuild.nix {};
 
     js_of_ocaml-ppx = callPackage ../development/tools/ocaml/js_of_ocaml/ppx.nix {};
 
+    js_of_ocaml-ppx_deriving_json = callPackage ../development/tools/ocaml/js_of_ocaml/ppx_deriving_json.nix {};
+
+    js_of_ocaml-tyxml = callPackage ../development/tools/ocaml/js_of_ocaml/tyxml.nix {};
+
     jsonm = callPackage ../development/ocaml-modules/jsonm { };
 
     lablgl = callPackage ../development/ocaml-modules/lablgl { };
@@ -361,16 +367,18 @@ let
 
     lru = callPackage ../development/ocaml-modules/lru { };
 
-    lwt2 = callPackage ../development/ocaml-modules/lwt { };
+    lwt2 = callPackage ../development/ocaml-modules/lwt/legacy.nix { };
 
     lwt3 = if lib.versionOlder "4.02" ocaml.version
-      then callPackage ../development/ocaml-modules/lwt {
-        version = "3.0.0";
-      }
+      then callPackage ../development/ocaml-modules/lwt { }
       else throw "lwt3 is not available for OCaml ${ocaml.version}";
 
     ocaml_lwt = if lib.versionOlder "4.02" ocaml.version then lwt3 else lwt2;
 
+    lwt_ppx = callPackage ../development/ocaml-modules/lwt/ppx.nix {
+      lwt = lwt3;
+    };
+
     lwt_react = callPackage ../development/ocaml-modules/lwt_react {
       lwt = lwt3;
     };
@@ -493,7 +501,7 @@ let
 
     ocplib-simplex = callPackage ../development/ocaml-modules/ocplib-simplex { };
 
-    ocsigen_server = callPackage ../development/ocaml-modules/ocsigen-server { lwt = lwt2; };
+    ocsigen_server = callPackage ../development/ocaml-modules/ocsigen-server { };
 
     ocsigen-start = callPackage ../development/ocaml-modules/ocsigen-start { };
 
@@ -645,7 +653,9 @@ let
 
     ssl = callPackage ../development/ocaml-modules/ssl { };
 
-    stog = callPackage ../applications/misc/stog { };
+    stog = callPackage ../applications/misc/stog {
+      ocaml_lwt = lwt2;
+    };
 
     stringext = callPackage ../development/ocaml-modules/stringext { };
 
@@ -712,10 +722,19 @@ let
     # Jane Street
 
     janePackage = callPackage ../development/ocaml-modules/janestreet/janePackage.nix {};
-
+    
     janeStreet = import ../development/ocaml-modules/janestreet {
-      inherit lib janePackage ocaml ocamlbuild ctypes cryptokit magic-mime num;
-      inherit ocaml-migrate-parsetree octavius ounit ppx_deriving re zarith;
+      inherit lib janePackage ocaml ocamlbuild angstrom ctypes cryptokit;
+      inherit magic-mime num ocaml-migrate-parsetree octavius ounit;
+      inherit ppx_deriving re zarith;
+      inherit (pkgs) stdenv openssl;
+    };
+    
+    janeStreet_0_9_0 = import ../development/ocaml-modules/janestreet/old.nix {
+      janePackage = callPackage ../development/ocaml-modules/janestreet/janePackage.nix { defaultVersion = "0.9.0"; };
+      inherit lib ocaml ocamlbuild ctypes cryptokit;
+      inherit magic-mime num ocaml-migrate-parsetree octavius ounit;
+      inherit ppx_deriving re zarith;
       inherit (pkgs) stdenv openssl;
     };
 
@@ -955,10 +974,6 @@ let
 
     # Apps / from all-packages
 
-    wyrd = callPackage ../tools/misc/wyrd {
-      ncurses = pkgs.ncurses5;
-    };
-
     haxe = callPackage ../development/compilers/haxe { };
 
     ocamlnat = callPackage  ../development/ocaml-modules/ocamlnat { };
@@ -1024,7 +1039,14 @@ in rec
 
   ocamlPackages_4_06 = mkOcamlPackages (callPackage ../development/compilers/ocaml/4.06.nix { }) (self: super: { });
 
+  ocamlPackages_4_07 = mkOcamlPackages (callPackage ../development/compilers/ocaml/4.07.nix { }) (self: super: { });
+
   ocamlPackages_latest = ocamlPackages_4_06;
 
-  ocamlPackages = ocamlPackages_4_04;
+  ocamlPackages =
+    # OCaml 4.05 is broken on aarch64
+    if system == "aarch64-linux" then
+      ocamlPackages_4_06
+    else
+      ocamlPackages_4_05;
 }
diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix
index 123e0c64c48..d9e11b54b7c 100644
--- a/pkgs/top-level/perl-packages.nix
+++ b/pkgs/top-level/perl-packages.nix
@@ -51,7 +51,7 @@ let self = _self // overrides; _self = with self; {
       url = mirror://cpan/authors/id/C/CL/CLKAO/Algorithm-Annotate-0.10.tar.gz;
       sha256 = "1y92k4nqkscfwpriv8q7c90rjfj85lvwq1k96niv2glk8d37dcf9";
     };
-    propagatedBuildInputs = [AlgorithmDiff];
+    propagatedBuildInputs = [ AlgorithmDiff ];
   };
 
   AlgorithmC3 = buildPerlPackage rec {
@@ -88,12 +88,25 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
-  aliased = buildPerlPackage rec {
+  aliased = buildPerlModule rec {
     name = "aliased-0.34";
     src = fetchurl {
       url = "mirror://cpan/authors/id/E/ET/ETHER/${name}.tar.gz";
       sha256 = "1syyqzy462501kn5ma9gl6xbmcahqcn4qpafhsmpz0nd0x2m4l63";
     };
+    buildInputs = [ ModuleBuildTiny ];
+  };
+
+  asa = buildPerlPackage rec {
+     name = "asa-1.03";
+     src = fetchurl {
+       url = mirror://cpan/authors/id/A/AD/ADAMK/asa-1.03.tar.gz;
+       sha256 = "1w97m0gf3n9av61d0qcw7d1i1rac4gm0fd2ba5wyh53df9d7p0i2";
+     };
+     meta = {
+       description = "Lets your class/object say it works like something else";
+       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+     };
   };
 
   AlienTidyp = buildPerlModule rec {
@@ -104,18 +117,19 @@ let self = _self // overrides; _self = with self; {
       sha256 = "0raapwp4155lqag1kzhsd20z4if10hav9wx4d7mc1xpvf7dcnr5r";
     };
 
-    buildInputs = [ FileShareDir ArchiveExtract ];
+    buildInputs = [ ArchiveExtract ];
     TIDYP_DIR = "${pkgs.tidyp}";
+    propagatedBuildInputs = [ FileShareDir ];
   };
 
-  AlienWxWidgets = buildPerlPackage rec {
-    name = "Alien-wxWidgets-0.67";
+  AlienWxWidgets = buildPerlModule rec {
+    name = "Alien-wxWidgets-0.69";
     src = fetchurl {
       url = "mirror://cpan/authors/id/M/MD/MDOOTSON/${name}.tar.gz";
-      sha256 = "075m880klf66pbcfk0la2nl60vd37jljizqndrklh5y4zvzdy1nr";
+      sha256 = "0jg2dmkzhj03f6b0vmv597yryfw9cclsdn9ynvvlrzzgpd5lw8jk";
     };
-    propagatedBuildInputs = [ pkgs.pkgconfig pkgs.gtk2 pkgs.wxGTK
-      ModulePluggable ModuleBuild ];
+    propagatedBuildInputs = [ pkgs.pkgconfig pkgs.gtk2 pkgs.wxGTK ModulePluggable ];
+    buildInputs = [ LWPProtocolHttps ];
   };
 
   AnyEvent = buildPerlPackage rec {
@@ -136,7 +150,6 @@ let self = _self // overrides; _self = with self; {
       url = "mirror://cpan/authors/id/P/PO/POTYL/${name}.tar.gz";
       sha256 = "41c1faf183b61806b55889ceea1237750c1f61b9ce2735fdf33dc05536712dae";
     };
-    buildInputs = [ ModuleBuild ];
     propagatedBuildInputs = [ AnyEvent ];
     doCheck = false; # does an DNS lookup
     meta = {
@@ -183,21 +196,21 @@ let self = _self // overrides; _self = with self; {
   };
 
   AnyMoose = buildPerlPackage rec {
-    name = "Any-Moose-0.26";
+    name = "Any-Moose-0.27";
     src = fetchurl {
       url = "mirror://cpan/authors/id/E/ET/ETHER/${name}.tar.gz";
-      sha256 = "1wcd1lpx38hvxk6k0zpx48hb7yidxnlr34lyk51zxin9ra9f2104";
+      sha256 = "0dc55mpayrixwx8dwql0vj0jalg4rlb3k64rprc84bl0z8vkx9m8";
     };
-    propagatedBuildInputs = [ Mouse ];
+    propagatedBuildInputs = [ Moose Mouse ];
   };
 
   ApacheLogFormatCompiler = buildPerlModule rec {
-    name = "Apache-LogFormat-Compiler-0.33";
+    name = "Apache-LogFormat-Compiler-0.35";
     src = fetchurl {
       url = "mirror://cpan/authors/id/K/KA/KAZEBURO/${name}.tar.gz";
-      sha256 = "17blk3zhp05azgypn25ydxf3d7fyfgr9bxyiv7xkchhqma96vwqv";
+      sha256 = "06i70ydxk2wa2rcqn16842kra2qz3jwk0vk1abq8lah4180c0m0n";
     };
-    buildInputs = [ HTTPMessage ModuleBuild TestMockTime TestRequires TryTiny URI ];
+    buildInputs = [ HTTPMessage ModuleBuildTiny TestMockTime TestRequires TryTiny URI ];
     propagatedBuildInputs = [ POSIXstrftimeCompiler ];
     # We cannot change the timezone on the fly.
     prePatch = "rm t/04_tz.t";
@@ -208,7 +221,7 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
-  ApacheSession = buildPerlPackage {
+  ApacheSession = buildPerlModule {
     name = "Apache-Session-1.93";
     src = fetchurl {
       url = mirror://cpan/authors/id/C/CH/CHORNY/Apache-Session-1.93.tar.gz;
@@ -235,22 +248,23 @@ let self = _self // overrides; _self = with self; {
   };
 
   AppCLI = buildPerlPackage {
-    name = "App-CLI-0.313";
+    name = "App-CLI-0.49";
     src = fetchurl {
-      url = mirror://cpan/authors/id/C/CO/CORNELIUS/App-CLI-0.313.tar.gz;
-      sha256 = "0ni1z14xis1b634qjc3zra9c9pl2icfr6sp5qxs0xy8nvib65037";
+      url = mirror://cpan/authors/id/P/PT/PTC/App-CLI-0.49.tar.gz;
+      sha256 = "0gv4dcscxiacdrb9aqxc9mdl1w8wszicmg2q86zlz31ya5spjvv3";
     };
-    propagatedBuildInputs = [LocaleMaketextSimple];
+    propagatedBuildInputs = [ CaptureTiny ClassLoad ];
+    buildInputs = [ TestKwalitee TestPod ];
   };
 
   AppCmd = buildPerlPackage rec {
-    name = "App-Cmd-0.330";
+    name = "App-Cmd-0.331";
     src = fetchurl {
       url = "mirror://cpan/authors/id/R/RJ/RJBS/${name}.tar.gz";
-      sha256 = "7a7bfd7196f7551a07509b03ea7abddc1fa9aee19a84e3dd5ba939c619cb6011";
+      sha256 = "4a5d3df0006bd278880d01f4957aaa652a8f91fe8f66e93adf70fba0c3ecb680";
     };
     buildInputs = [ TestFatal ];
-    propagatedBuildInputs = [ CaptureTiny ClassLoad DataOptList GetoptLongDescriptive IOTieCombine ModulePluggable StringRewritePrefix SubExporter SubInstall ];
+    propagatedBuildInputs = [ CaptureTiny ClassLoad GetoptLongDescriptive IOTieCombine ModulePluggable StringRewritePrefix ];
     meta = {
       homepage = https://github.com/rjbs/App-Cmd;
       description = "Write command line apps with less suffering";
@@ -269,13 +283,26 @@ let self = _self // overrides; _self = with self; {
     meta = {
       description = "A bundle of Perl5 modules for reading configuration files and parsing command line arguments";
     };
+    buildInputs = [ TestPod ];
+  };
+
+  AppFatPacker = buildPerlPackage rec {
+     name = "App-FatPacker-0.010007";
+     src = fetchurl {
+       url = mirror://cpan/authors/id/M/MS/MSTROUT/App-FatPacker-0.010007.tar.gz;
+       sha256 = "1g9nff9fdg7dvja0ix2yv32w5xcj963ybcf7x22j61g6r81845fi";
+     };
+     meta = {
+       description = "pack your dependencies onto your script file";
+       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+     };
   };
 
   Appcpanminus = buildPerlPackage rec {
-    name = "App-cpanminus-1.7040";
+    name = "App-cpanminus-1.7043";
     src = fetchurl {
       url = "mirror://cpan/authors/id/M/MI/MIYAGAWA/${name}.tar.gz";
-      sha256 = "fc8e5cde17cc5f4cc13aea8781c1e9425f76abc684cc720e9253f47ab3529556";
+      sha256 = "68a06f7da80882a95bc02c92c7ee305846fb6ab648cf83678ea945e44ad65c65";
     };
     meta = {
       homepage = https://github.com/miyagawa/cpanminus;
@@ -286,13 +313,13 @@ let self = _self // overrides; _self = with self; {
   };
 
   Appperlbrew = buildPerlPackage rec {
-    name = "App-perlbrew-0.73";
+    name = "App-perlbrew-0.82";
     src = fetchurl {
       url = "mirror://cpan/authors/id/G/GU/GUGOD/${name}.tar.gz";
-      sha256 = "0ym7ahjm95igm1hg0qwy29zdcjqdcakcmrn3r8xlbvqkk5xrxg5c";
+      sha256 = "0p6l5i85zp89f5sh0gyz7didla672zg169yprbqcf97icmr46g80";
     };
-    buildInputs = [ pkgs.curl IOAll PathClass TestException TestNoWarnings TestOutput TestSpec ];
-    propagatedBuildInputs = [ CPANPerlReleases CaptureTiny DevelPatchPerl locallib ];
+    buildInputs = [ pkgs.curl FileWhich IOAll PathClass PodMarkdown TestException TestNoWarnings TestOutput TestSpec ];
+    propagatedBuildInputs = [ CPANPerlReleases CaptureTiny DevelPatchPerl PodUsage locallib ];
 
     preConfigure = ''
       patchShebangs .
@@ -306,24 +333,29 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
+  ArchiveAnyLite = buildPerlPackage rec {
+     name = "Archive-Any-Lite-0.11";
+     src = fetchurl {
+       url = mirror://cpan/authors/id/I/IS/ISHIGAKI/Archive-Any-Lite-0.11.tar.gz;
+       sha256 = "0w2i50fd81ip674zmnrb15nadw162fdpiw4rampbd94k74jqih8m";
+     };
+     propagatedBuildInputs = [ ArchiveZip ];
+     buildInputs = [ ExtUtilsMakeMakerCPANfile TestUseAllModules ];
+     meta = {
+       description = "simple CPAN package extractor";
+       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+     };
+  };
+
   AppSqitch = buildPerlModule rec {
-    version = "0.9996";
+    version = "0.9997";
     name = "App-Sqitch-${version}";
     src = fetchurl {
       url = "mirror://cpan/authors/id/D/DW/DWHEELER/${name}.tar.gz";
-      sha256 = "864edde554e7cd6578e8fe2a4c17ea8eda82da878cdfd00fd9fb3c53f696fc1e";
+      sha256 = "985ade1a4181bef776016a287194711051e79c7a3c18f1ee1ec47e22ccf319d2";
     };
-    buildInputs = [
-      CaptureTiny PathClass TestDeep TestDir TestException
-      TestFile TestFileContents TestMockModule TestNoWarnings
-    ];
-    propagatedBuildInputs = [
-      Clone ConfigGitLike DBI DateTime
-      DevelStackTrace EncodeLocale FileHomeDir HashMerge IOPager IPCRun3
-      IPCSystemSimple ListMoreUtils Moo PathClass PerlIOutf8_strict StringFormatter
-      StringShellQuote SubExporter TemplateTiny Throwable TryTiny TypeTiny URI
-      URIdb libintlperl namespaceautoclean
-    ];
+    buildInputs = [ CaptureTiny TestDeep TestDir TestException TestFile TestFileContents TestMockModule TestNoWarnings ];
+    propagatedBuildInputs = [ Clone ConfigGitLike DBI DateTime EncodeLocale FileHomeDir HashMerge IOPager IPCRun3 IPCSystemSimple ListMoreUtils PathClass PerlIOutf8_strict StringFormatter StringShellQuote TemplateTiny Throwable TypeTiny URIdb libintl_perl ];
     doCheck = false;  # Can't find home directory.
     meta = {
       homepage = http://sqitch.org/;
@@ -379,14 +411,28 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
-  ArrayCompare = buildPerlPackage rec {
-    name = "Array-Compare-2.11";
+  ArrayCompare = buildPerlModule rec {
+    name = "Array-Compare-3.0.1";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/D/DA/DAVECROSS/${name}.tar.gz";
-      sha256 = "0f1mg2lpr5jzxy1hciww7vlp4r602vfwpzsqmhkgv1i107pmiwcs";
+      url = mirror://cpan/authors/id/D/DA/DAVECROSS/Array-Compare-v3.0.1.tar.gz;
+      sha256 = "0fyj6jdfshga4kj4567529a1aiqy49awxg62lslx54166j4mhkzb";
     };
 
-    buildInputs = [ TestNoWarnings Moo TypeTiny ];
+    buildInputs = [ TestNoWarnings ];
+    propagatedBuildInputs = [ Moo TypeTiny ];
+  };
+
+  ArrayDiff = buildPerlPackage rec {
+     name = "Array-Diff-0.07";
+     src = fetchurl {
+       url = mirror://cpan/authors/id/T/TY/TYPESTER/Array-Diff-0.07.tar.gz;
+       sha256 = "0il3izx45wkh71fli2hvaq32jyin95k8x3qrnwby2x2c6yix7rvq";
+     };
+     propagatedBuildInputs = [ AlgorithmDiff ClassAccessor ];
+     meta = {
+       description = "Find the differences between two arrays";
+       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+     };
   };
 
   ArrayFIFO = buildPerlPackage rec {
@@ -395,7 +441,7 @@ let self = _self // overrides; _self = with self; {
       url = "mirror://cpan/authors/id/D/DB/DBURKE/${name}.tar.gz";
       sha256 = "8082b7ca456d02c7c862ba409cbd62a9cafdb8c5832f5d7fb1d37ba8698ee5b1";
     };
-    buildInputs = [ TestSpec ];
+    buildInputs = [ TestDeep TestSpec TestTrap ];
     propagatedBuildInputs = [ Moose namespaceautoclean ];
     meta = {
       homepage = https://github.com/dwburke/perl-Array-FIFO;
@@ -404,20 +450,6 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
-  ListCompare = buildPerlPackage rec {
-    name = "List-Compare-0.53";
-    src = fetchurl {
-      url = "mirror://cpan/authors/id/J/JK/JKEENAN/${name}.tar.gz";
-      sha256 = "fdbf4ff67b3135d44475fef7fcac0cd4706407d5720d26dca914860eb10f8550";
-    };
-    buildInputs = [ IOCaptureOutput ];
-    meta = {
-      homepage = http://thenceforward.net/perl/modules/List-Compare/;
-      description = "Compare elements of two or more lists";
-      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
-    };
-  };
-
   ArchiveCpio = buildPerlPackage rec {
     name = "Archive-Cpio-0.10";
     src = fetchurl {
@@ -433,12 +465,12 @@ let self = _self // overrides; _self = with self; {
   };
 
   ArchiveExtract = buildPerlPackage rec {
-    name = "Archive-Extract-0.76";
+    name = "Archive-Extract-0.80";
     src = fetchurl {
       url = "mirror://cpan/authors/id/B/BI/BINGOS/${name}.tar.gz";
-      sha256 = "9ae7080ca70346dd7d9845c581d2e112f4513ec0f7d79c2011c0e0a2ce874cfc";
+      sha256 = "25cbc2d5626c14d39a0b5e4fe8383941e085c9a7e0aa873d86e81b6e709025f4";
     };
-    propagatedBuildInputs = [ self."if" ];
+    propagatedBuildInputs = [ ModuleLoadConditional ];
     meta = {
       description = "Generic archive extracting mechanism";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
@@ -446,10 +478,10 @@ let self = _self // overrides; _self = with self; {
   };
 
   ArchiveTar = buildPerlPackage rec {
-    name = "Archive-Tar-2.08";
+    name = "Archive-Tar-2.26";
     src = fetchurl {
       url = "mirror://cpan/authors/id/B/BI/BINGOS/${name}.tar.gz";
-      sha256 = "62e34feffd51e21b24f2ba5b15adf3ca3bd084163bfec40fe30f8f8e8963066b";
+      sha256 = "01246ffbadb6e76a04a32bf689894cf56ef9d34d58101ff1c51af8f6f1ef5843";
     };
     meta = {
       description = "Manipulates TAR archives";
@@ -457,34 +489,47 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
+  ArchiveTarWrapper = buildPerlPackage rec {
+     name = "Archive-Tar-Wrapper-0.23";
+     src = fetchurl {
+       url = mirror://cpan/authors/id/M/MS/MSCHILLI/Archive-Tar-Wrapper-0.23.tar.gz;
+       sha256 = "1ykl0r2dwa93l0nxrjgs8qqkwjxn44qbvxpmrwiy269na4x3j0jc";
+     };
+     propagatedBuildInputs = [ FileWhich IPCRun LogLog4perl ];
+     meta = {
+       description = "API wrapper around the 'tar' utility";
+     };
+  };
+
   ArchiveZip = buildPerlPackage {
-    name = "Archive-Zip-1.16";
+    name = "Archive-Zip-1.60";
     src = fetchurl {
-      url = http://tarballs.nixos.org/Archive-Zip-1.16.tar.gz;
-      sha256 = "1ghgs64by3ybjlb0bj65kxysb03k72i7iwmw63g41bj175l44ima";
+      url = mirror://cpan/authors/id/P/PH/PHRED/Archive-Zip-1.60.tar.gz;
+      sha256 = "02y2ylq83hy9kgj57sc0239x65br9sm98c0chsm61s08yc2mpiza";
     };
+    buildInputs = [ TestMockModule ];
   };
 
   ArchiveZip_1_53 = buildPerlPackage {
-    name = "Archive-Zip-1.53";
+    name = "Archive-Zip-1.60";
     src = fetchurl {
-      url = mirror://cpan/authors/id/P/PH/PHRED/Archive-Zip-1.53.tar.gz;
-      sha256 = "c66f3cdfd1965d47d84af1e37b997e17d3f8c5f2cceffc1e90d04d64001424b9";
+      url = mirror://cpan/authors/id/P/PH/PHRED/Archive-Zip-1.60.tar.gz;
+      sha256 = "eac75b05f308e860aa860c3094aa4e7915d3d31080e953e49bc9c38130f5c20b";
     };
     meta = {
       description = "Provide an interface to ZIP archive files";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
+    buildInputs = [ TestMockModule ];
   };
 
   AudioScan = buildPerlPackage rec {
-    name = "Audio-Scan-0.93";
+    name = "Audio-Scan-0.99";
     src = fetchurl {
       url = "mirror://cpan/authors/id/A/AG/AGRUNDMA/${name}.tar.gz";
-      sha256 = "03nwcm234y76jb1p20rlcky6vzv68i46s9mjfr7kzp65w3yg94js";
+      sha256 = "00092cjj89sp019b35fm3qiz4iczqznwa3yhx5jdkazlwjhlmmma";
     };
-    buildInputs = [ pkgs.zlib ModuleBuild ModuleBuildPluggablePPPort ];
-    propagatedBuildInputs = [ TestWarn ];
+    buildInputs = [ pkgs.zlib TestWarn ];
     NIX_CFLAGS_COMPILE = "-I${pkgs.zlib.dev}/include";
     NIX_CFLAGS_LINK = "-L${pkgs.zlib.out}/lib -lz";
     meta = {
@@ -493,14 +538,13 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
-  AuthenDecHpwd = buildPerlPackage rec {
-    name = "Authen-DecHpwd-2.006";
+  AuthenDecHpwd = buildPerlModule rec {
+    name = "Authen-DecHpwd-2.007";
     src = fetchurl {
       url = "mirror://cpan/authors/id/Z/ZE/ZEFRAM/${name}.tar.gz";
-      sha256 = "67f45fef6a23b7548f387b675cbf7881bf9da62d7d007cbf90d3a4b851b99eb7";
+      sha256 = "f43a93bb02b41f7327d92f9e963b69505f67350a52e8f50796f98afc4fb3f177";
     };
-    buildInputs = [ ModuleBuild ];
-    propagatedBuildInputs = [ ScalarString DataInteger DigestCRC ];
+    propagatedBuildInputs = [ DataInteger DigestCRC ScalarString ];
     meta = {
       description = "DEC VMS password hashing";
       license = stdenv.lib.licenses.gpl1Plus;
@@ -510,7 +554,7 @@ let self = _self // overrides; _self = with self; {
   AuthenHtpasswd = buildPerlPackage rec {
     name = "Authen-Htpasswd-0.171";
     src = fetchurl {
-      url = "mirror://cpan/modules/by-module/Authen/${name}.tar.gz";
+      url = mirror://cpan/authors/id/M/MS/MSTROUT/Authen-Htpasswd-0.171.tar.gz;
       sha256 = "0rw06hwpxg388d26l0jvirczx304f768ijvc20l4b2ll7xzg9ymm";
     };
     propagatedBuildInputs = [ ClassAccessor CryptPasswdMD5 DigestSHA1 IOLockedFile ];
@@ -520,15 +564,13 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
-  AuthenPassphrase = buildPerlPackage rec {
+  AuthenPassphrase = buildPerlModule rec {
     name = "Authen-Passphrase-0.008";
     src = fetchurl {
       url = "mirror://cpan/authors/id/Z/ZE/ZEFRAM/${name}.tar.gz";
       sha256 = "55db4520617d859d88c0ee54965da815b7226d792b8cdc8debf92073559e0463";
     };
-    buildInputs = [ ModuleBuild ];
-    propagatedBuildInputs = [ModuleRuntime ParamsClassify CryptPasswdMD5 CryptDES
-      DataEntropy CryptUnixCryptXS CryptEksblowfish CryptMySQL DigestMD4 AuthenDecHpwd];
+    propagatedBuildInputs = [ AuthenDecHpwd CryptDES CryptEksblowfish CryptMySQL CryptPasswdMD5 CryptUnixCryptXS DataEntropy DigestMD4 ModuleRuntime ];
     meta = {
       description = "Hashed passwords/passphrases as objects";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
@@ -538,7 +580,7 @@ let self = _self // overrides; _self = with self; {
   AuthenRadius = buildPerlPackage rec {
     name = "Authen-Radius-0.26";
     src = fetchurl {
-      url = "http://search.cpan.org/CPAN/authors/id/P/PO/PORTAONE/${name}.tar.gz";
+      url = mirror://cpan/authors/id/P/PO/PORTAONE/Authen-Radius-0.26.tar.gz;
       sha256 = "4f272c19b8a9f6514a1107e98efae6773208233df4db11f2dc4764b4784b17c3";
     };
     buildInputs = [ TestNoWarnings ];
@@ -575,11 +617,24 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
+  AuthenSimplePasswd = buildPerlModule rec {
+     name = "Authen-Simple-Passwd-0.6";
+     src = fetchurl {
+       url = mirror://cpan/authors/id/C/CH/CHANSEN/Authen-Simple-Passwd-0.6.tar.gz;
+       sha256 = "1ckl2ry9r5nb1rcn1ik2l5b5pp1i3g4bmllsmzb0zpwy4lvbqmfg";
+     };
+     propagatedBuildInputs = [ AuthenSimple ];
+     meta = {
+       description = "Simple Passwd authentication";
+       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+     };
+  };
+
   autobox = buildPerlPackage rec {
-    name = "autobox-2.84";
+    name = "autobox-2.85";
     src = fetchurl {
       url = "mirror://cpan/authors/id/C/CH/CHOCOLATE/${name}.tar.gz";
-      sha256 = "98dd2754f226684a72ccba3a95956b7eaff2871568e4dd9746e6fb6daae0b96b";
+      sha256 = "d0b8d0f27f3d1c1e8ef47f806fa06b9c229c3ca84057004fedc35dbbc0341140";
     };
     propagatedBuildInputs = [ ScopeGuard ];
     meta = {
@@ -596,8 +651,7 @@ let self = _self // overrides; _self = with self; {
       url = "mirror://cpan/authors/id/T/TE/TEEJAY/${name}.tar.gz";
       sha256 = "08pl5y18nsvy8ihfzdsbd8rz6a8al09wqfna07zdjfdyib42b0dc";
     };
-    propagatedBuildInputs = [ TemplateToolkit Inline InlineJava GraphViz
-      XMLSimple DBI ];
+    propagatedBuildInputs = [ TemplateToolkit XMLSimple ];
 
     meta = {
       description = "AutoDia, create UML diagrams from source code";
@@ -619,6 +673,7 @@ let self = _self // overrides; _self = with self; {
 
       maintainers = [ ];
     };
+    buildInputs = [ DBI ];
   };
 
   autodie = null; # part of Perl
@@ -636,10 +691,10 @@ let self = _self // overrides; _self = with self; {
   };
 
   autovivification = buildPerlPackage rec {
-    name = "autovivification-0.16";
+    name = "autovivification-0.18";
     src = fetchurl {
       url = "mirror://cpan/authors/id/V/VP/VPIT/${name}.tar.gz";
-      sha256 = "1422kw9fknv7rbjkgdfflg1q3mb69d3yryszp38dn0bgzkqhwkc1";
+      sha256 = "01giacr2sx6b9bgfz6aqw7ndcnf08j8n6kwhm7880a94hmb9g69d";
     };
     meta = {
       homepage = http://search.cpan.org/dist/autovivification/;
@@ -649,10 +704,10 @@ let self = _self // overrides; _self = with self; {
   };
 
   base = buildPerlPackage {
-    name = "base-2.18";
+    name = "base-2.23";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RG/RGARCIA/base-2.18.tar.gz;
-      sha256 = "55b0d21f8edb5ef6dddcb1fd2457acb19c7584f2dfdea614685cd8ea62a1c306";
+      url = mirror://cpan/authors/id/R/RJ/RJBS/base-2.23.tar.gz;
+      sha256 = "40f55841299a9fe6fab03cd098f94e9221fb516978e9ef40fd8ff2cbd6625dde";
     };
   };
 
@@ -668,13 +723,14 @@ let self = _self // overrides; _self = with self; {
       description = "Perl compiler";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
+    doCheck = false;
   };
 
   BFlags = buildPerlPackage rec {
-    name = "B-Flags-0.14";
+    name = "B-Flags-0.17";
     src = fetchurl {
       url = "mirror://cpan/authors/id/R/RU/RURBAN/${name}.tar.gz";
-      sha256 = "07inzxvvf4bkl4iliys9rfdiz309nccpbr82a7g57bhcylj7qhzn";
+      sha256 = "1chhgkaw2h3qniz71dykynggqp0r6b6mi2f4nh4x3ghm2g89gny1";
     };
     meta = {
       description = "Friendlier flags for B";
@@ -687,12 +743,12 @@ let self = _self // overrides; _self = with self; {
   };
 
   BHooksEndOfScope = buildPerlPackage rec {
-    name = "B-Hooks-EndOfScope-0.15";
+    name = "B-Hooks-EndOfScope-0.21";
     src = fetchurl {
       url = "mirror://cpan/authors/id/E/ET/ETHER/${name}.tar.gz";
-      sha256 = "0bllq4077hxbdsh31r3cwpm6mzmc0247rrg1lr7rk7flscif8bhj";
+      sha256 = "0b70vbpabsy9ia366k330cz1zbdyb1pwhb0l7j28pmpih045iwwh";
     };
-    propagatedBuildInputs = [ ModuleImplementation ModuleRuntime SubExporterProgressive ];
+    propagatedBuildInputs = [ ModuleImplementation SubExporterProgressive ];
     meta = {
       homepage = https://metacpan.org/release/B-Hooks-EndOfScope;
       description = "Execute code after a scope finished compilation";
@@ -701,10 +757,10 @@ let self = _self // overrides; _self = with self; {
   };
 
   BHooksOPCheck = buildPerlPackage {
-    name = "B-Hooks-OP-Check-0.19";
+    name = "B-Hooks-OP-Check-0.22";
     src = fetchurl {
-      url = mirror://cpan/authors/id/Z/ZE/ZEFRAM/B-Hooks-OP-Check-0.19.tar.gz;
-      sha256 = "0pp1piv74pv9irqlvl5xcs2dvzbb74niwjhnj6dsckxf1j34mzrg";
+      url = mirror://cpan/authors/id/E/ET/ETHER/B-Hooks-OP-Check-0.22.tar.gz;
+      sha256 = "1kfdv25gn6yik8jrwik4ajp99gi44s6idcvyyrzhiycyynzd3df7";
     };
     buildInputs = [ ExtUtilsDepends ];
     meta = {
@@ -721,20 +777,20 @@ let self = _self // overrides; _self = with self; {
       url = "mirror://cpan/authors/id/P/PJ/PJACKLAM/${name}.tar.gz";
       sha256 = "28685b271251927d327851e5951e38649524a4e50cb0d1d35d649e2b814f212d";
     };
-    buildInputs = [ MathBigInt MathBigRat ];
     meta = {
       description = "Transparent BigNumber support for Perl";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
+    propagatedBuildInputs = [ MathBigInt ];
   };
 
   BitVector = buildPerlPackage {
-    name = "Bit-Vector-7.3";
+    name = "Bit-Vector-7.4";
     src = fetchurl {
-      url = mirror://cpan/authors/id/S/ST/STBEY/Bit-Vector-7.3.tar.gz;
-      sha256 = "0gcg1173i1bsx2qvyw77kw90xbf03b861jc42hvq744vzc5k6xjs";
+      url = mirror://cpan/authors/id/S/ST/STBEY/Bit-Vector-7.4.tar.gz;
+      sha256 = "09m96p8c0ipgz42li2ywdgy0vxb57mb5nf59j9gw7yzc3xkslv9w";
     };
-    propagatedBuildInputs = [CarpClan];
+    propagatedBuildInputs = [ CarpClan ];
     meta = {
       maintainers = with maintainers; [ ];
       platforms   = stdenv.lib.platforms.unix;
@@ -742,10 +798,10 @@ let self = _self // overrides; _self = with self; {
   };
 
   BKeywords = buildPerlPackage rec {
-    name = "B-Keywords-1.14";
+    name = "B-Keywords-1.18";
     src = fetchurl {
       url = "mirror://cpan/authors/id/R/RU/RURBAN/${name}.tar.gz";
-      sha256 = "1llaqhx6711lsf6mxmvrhjigpy3ymmf3wl8kvn7l0fsppnmn45lw";
+      sha256 = "0f5bb2fpbq5jzdb2jfs73hrggrq2gnpacd2kkxgifjl7q7xd9ck5";
     };
     meta = {
       description = "Lists of reserved barewords and symbol names";
@@ -772,21 +828,20 @@ let self = _self // overrides; _self = with self; {
       url = "mirror://cpan/authors/id/A/AA/AAR/${name}.tar.gz";
       sha256 = "1jnihz3029x51a455nxa0jx2z125x38q3vkkggsgdlrvawzxsm00";
     };
-    propagatedBuildInputs = [ ModuleBuildWithXSpp ExtUtilsTypemapsDefault ];
     patches = [
       # Fix out of memory error on Perl 5.19.4 and later.
       ../development/perl-modules/boost-geometry-utils-fix-oom.patch
     ];
     perlPreHook = "export LD=$CC";
+    buildInputs = [ ExtUtilsCppGuess ExtUtilsTypemapsDefault ExtUtilsXSpp ModuleBuildWithXSpp ];
   };
 
   BSDResource = buildPerlPackage rec {
     name = "BSD-Resource-1.2911";
     src = fetchurl {
-      url = "https://cpan.metacpan.org/authors/id/J/JH/JHI/BSD-Resource-1.2911.tar.gz";
+      url = mirror://cpan/authors/id/J/JH/JHI/BSD-Resource-1.2911.tar.gz;
       sha256 = "0g8c7825ng2m0yz5sy6838rvfdl8j3vm29524wjgf66ccfhgn74x";
     };
-    buildInputs = [ TestPod TestPodCoverage ];
     meta = {
       maintainers = [ maintainers.limeytexan ];
       description = "BSD process resource limit and priority functions";
@@ -794,26 +849,40 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
+  BUtils = buildPerlPackage rec {
+     name = "B-Utils-0.27";
+     src = fetchurl {
+       url = mirror://cpan/authors/id/E/ET/ETHER/B-Utils-0.27.tar.gz;
+       sha256 = "1spzhmk3z6c4blmra3kn84nq20fira2b3vjg86m0j085lgv56zzr";
+     };
+     propagatedBuildInputs = [ TaskWeaken ];
+     buildInputs = [ ExtUtilsDepends ];
+     meta = {
+       description = "Helper functions for op tree manipulation";
+       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+       homepage = "http://search.cpan.org/dist/B-Utils";
+     };
+  };
+
   BusinessHours = buildPerlPackage rec {
     name = "Business-Hours-0.12";
     src = fetchurl {
-      url = "https://cpan.metacpan.org/authors/id/R/RU/RUZ/Business-Hours-0.12.tar.gz";
+      url = mirror://cpan/authors/id/R/RU/RUZ/Business-Hours-0.12.tar.gz;
       sha256 = "15c5g278m1x121blspf4bymxp89vysizr3z6s1g3sbpfdkrn4gyv";
     };
-    buildInputs = [ TestPod TestPodCoverage ];
-    propagatedBuildInputs = [ SetIntSpan TimeLocal ];
+    propagatedBuildInputs = [ SetIntSpan ];
     meta = {
       description = "Calculate business hours in a time period";
     };
   };
 
   BusinessISBN = buildPerlPackage rec {
-    name = "Business-ISBN-2.09";
+    name = "Business-ISBN-3.004";
     src = fetchurl {
       url = "mirror://cpan/authors/id/B/BD/BDFOY/${name}.tar.gz";
-      sha256 = "0fhjzgwjxypai16vv0bws6pnxgcglcbgza81avkck6w6d3jkki4r";
+      sha256 = "07l3zfv8hagv37i3clvj5a1zc2jarr5phg80c93ks35zaz6llx9i";
     };
-    propagatedBuildInputs = [ BusinessISBNData URI ];
+    propagatedBuildInputs = [ BusinessISBNData ];
     meta = {
       description = "Parse and validate ISBNs";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
@@ -821,10 +890,10 @@ let self = _self // overrides; _self = with self; {
   };
 
   BusinessISBNData = buildPerlPackage rec {
-    name = "Business-ISBN-Data-20140910.002";
+    name = "Business-ISBN-Data-20140910.003";
     src = fetchurl {
       url = "mirror://cpan/authors/id/B/BD/BDFOY/${name}.tar.gz";
-      sha256 = "1bnbiv4vsz0hr1bm3nq9pjsjnf0mndp2vahwsvxbnv1gczb1691y";
+      sha256 = "1jc5jrjwkr6pqga7998zkgw0yrxgb5n1y7lzgddawxibkf608mn7";
     };
     meta = {
       description = "Data pack for Business::ISBN";
@@ -833,10 +902,10 @@ let self = _self // overrides; _self = with self; {
   };
 
   BusinessISMN = buildPerlPackage rec {
-    name = "Business-ISMN-1.13";
+    name = "Business-ISMN-1.131";
     src = fetchurl {
       url = "mirror://cpan/authors/id/B/BD/BDFOY/${name}.tar.gz";
-      sha256 = "0cm1v75axg4gp6cnbyavmnqqjscsxh7nc60vcbw34rqivvf9idc9";
+      sha256 = "1xyc7x4c4xl930rz7grs1l52f1vg4rbiv0c6xlxdsim8qsh7k94g";
     };
     propagatedBuildInputs = [ TieCycle ];
     meta = {
@@ -860,7 +929,7 @@ let self = _self // overrides; _self = with self; {
   CacheCache = buildPerlPackage rec {
     name = "Cache-Cache-1.08";
     src = fetchurl {
-      url = "mirror://cpan/modules/by-module/Cache/${name}.tar.gz";
+      url = mirror://cpan/authors/id/R/RJ/RJBS/Cache-Cache-1.08.tar.gz;
       sha256 = "1s6i670dc3yb6ngvdk48y6szdk5n1f4icdcjv2vi1l2xp9fzviyj";
     };
     propagatedBuildInputs = [ DigestSHA1 Error IPCShareLite ];
@@ -868,10 +937,10 @@ let self = _self // overrides; _self = with self; {
   };
 
   CacheFastMmap = buildPerlPackage rec {
-    name = "Cache-FastMmap-1.43";
+    name = "Cache-FastMmap-1.46";
     src = fetchurl {
-      url = "mirror://cpan/modules/by-module/Cache/${name}.tar.gz";
-      sha256 = "18k10bhi67iyy8igw8hwb339miwscgnsh9y2pbncw6gdr2b610vi";
+      url = mirror://cpan/authors/id/R/RO/ROBM/Cache-FastMmap-1.46.tar.gz;
+      sha256 = "0061kwlbv398b2hb0kx1r6lmqf4kb6dnq9j4lsikczyk981sxs98";
     };
   };
 
@@ -890,10 +959,10 @@ let self = _self // overrides; _self = with self; {
   };
 
   CacheMemcachedFast = buildPerlPackage {
-    name = "Cache-Memcached-Fast-0.21";
+    name = "Cache-Memcached-Fast-0.25";
     src = fetchurl {
-      url = mirror://cpan/authors/id/K/KR/KROKI/Cache-Memcached-Fast-0.21.tar.gz;
-      sha256 = "0lvwkkyazbb7i6c5ga5ms3gsvy721njpcbc2icxcsvc8bz32nz5i";
+      url = mirror://cpan/authors/id/R/RA/RAZ/Cache-Memcached-Fast-0.25.tar.gz;
+      sha256 = "0ijw5hlzas1aprp3s6wzabch426m1d8cvp1wn9qphrn4jj82aakq";
     };
     meta = {
       description = "Perl client for B<memcached>, in C language";
@@ -903,13 +972,13 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
-  CacheMemory = buildPerlPackage {
-    name = "Cache-Memory-2.04";
+  CacheMemory = buildPerlModule {
+    name = "Cache-2.11";
     src = fetchurl {
-      url = mirror://cpan/authors/id/C/CL/CLEISHMAN/Cache-2.04.tar.gz;
-      sha256 = "1zykapgl9lxnlx79xfghzb26qimhry94xfxfyswwfhra1ywd9yyg";
+      url = mirror://cpan/authors/id/S/SH/SHLOMIF/Cache-2.11.tar.gz;
+      sha256 = "14m513f4g02daklmnvdm7vqh3w3ick65wvmvqnmnc4cqfybdilp1";
     };
-    propagatedBuildInputs = [ TimeDate DBFile DigestSHA1 FileNFSLock HeapFibonacci IOString ];
+    propagatedBuildInputs = [ DBFile FileNFSLock HeapFibonacci IOString TimeDate ];
     doCheck = false; # can time out
     meta = {
       maintainers = with maintainers; [ ];
@@ -935,22 +1004,33 @@ let self = _self // overrides; _self = with self; {
       url = "mirror://cpan/authors/id/X/XA/XAOC/${name}.tar.gz";
       sha256 = "1i25kks408c54k2zxskvg54l5k3qadzm8n72ffga9jy7ic0h6j76";
     };
-    buildInputs = [ ExtUtilsDepends ExtUtilsPkgConfig pkgs.cairo ];
+    buildInputs = [ pkgs.cairo ];
     meta = {
       homepage = http://gtk2-perl.sourceforge.net/;
       description = "Perl interface to the cairo 2D vector graphics library";
       license = stdenv.lib.licenses.lgpl21Plus;
     };
+    propagatedBuildInputs = [ ExtUtilsDepends ExtUtilsPkgConfig ];
   };
 
-  cam_pdf = buildPerlPackage rec {
+  cam_pdf = buildPerlModule rec {
     name = "CAM-PDF-1.60";
     src = fetchurl {
       url = "mirror://cpan/authors/id/C/CD/CDOLAN/${name}.tar.gz";
       sha256 = "12dv5ssf3y7yjz9mrrqnfzx8nf4ydk1qijf5fx59495671zzqsp7";
     };
     propagatedBuildInputs = [ CryptRC4 TextPDF ];
-    buildInputs = [ TestMore ];
+  };
+
+  capitalization = buildPerlPackage rec {
+     name = "capitalization-0.03";
+     src = fetchurl {
+       url = mirror://cpan/authors/id/M/MI/MIYAGAWA/capitalization-0.03.tar.gz;
+       sha256 = "0g7fpckydzxsf8mjkfbyj0pv42dzym4hwbizqahnh7wlfbaicdgi";
+     };
+     propagatedBuildInputs = [ DevelSymdump ];
+     meta = {
+     };
   };
 
   CanaryStability = buildPerlPackage rec {
@@ -965,13 +1045,12 @@ let self = _self // overrides; _self = with self; {
   };
 
   CaptchaReCAPTCHA = buildPerlPackage rec {
-    name = "Captcha-reCAPTCHA-0.97";
+    name = "Captcha-reCaptcha-0.99";
     src = fetchurl {
-      url = mirror://cpan/authors/id/P/PH/PHRED/Captcha-reCAPTCHA-0.97.tar.gz;
-      sha256 = "12f2yh89aji6mnkrqxjcllws5dlg545wvz0j7wamy149xyqi12wq";
+      url = mirror://cpan/authors/id/S/SU/SUNNYP/Captcha-reCaptcha-0.99.tar.gz;
+      sha256 = "14j3lk6fhfzda5d3d7z6f373ng3fzxazzwpjyziysrhic1v3b4mq";
     };
-    propagatedBuildInputs = [HTMLTiny LWP];
-    buildInputs = [TestPod];
+    propagatedBuildInputs = [ HTMLTiny LWP ];
     meta = {
       maintainers = with maintainers; [ ];
       platforms   = stdenv.lib.platforms.unix;
@@ -979,10 +1058,10 @@ let self = _self // overrides; _self = with self; {
   };
 
   CaptureTiny = buildPerlPackage rec {
-    name = "Capture-Tiny-0.30";
+    name = "Capture-Tiny-0.46";
     src = fetchurl {
       url = "mirror://cpan/authors/id/D/DA/DAGOLDEN/${name}.tar.gz";
-      sha256 = "1siswsz63wcvldnq1ns1gm5kbs768agsgcgh1papfzkmg19fbd53";
+      sha256 = "05bhlx6d4nzamhkkh0pkckg7wlvaq6mazf7q1fbb5wpp1j1nlyjx";
     };
     meta = {
       homepage = https://metacpan.org/release/Capture-Tiny;
@@ -1013,42 +1092,44 @@ let self = _self // overrides; _self = with self; {
       description = "Warns and dies noisily with stack backtraces";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
+    buildInputs = [ TestBase ];
   };
 
   CarpAssert = buildPerlPackage {
-    name = "Carp-Assert-0.20";
+    name = "Carp-Assert-0.21";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MS/MSCHWERN/Carp-Assert-0.20.tar.gz;
-      sha256 = "1wzy4lswvwi45ybsm65zlq17rrqx84lsd7rajvd0jvd5af5lmlqd";
+      url = mirror://cpan/authors/id/N/NE/NEILB/Carp-Assert-0.21.tar.gz;
+      sha256 = "0km5fc6r6whxh6h5yd7g1j0bi96sgk0gkda6cardicrw9qmqwkwj";
     };
     meta = {
     };
   };
 
   CarpAssertMore = buildPerlPackage {
-    name = "Carp-Assert-More-1.14";
+    name = "Carp-Assert-More-1.16";
     src = fetchurl {
-      url = mirror://cpan/authors/id/P/PE/PETDANCE/Carp-Assert-More-1.14.tar.gz;
-      sha256 = "0cq7qk4qbhqppm4raby5k24b5mx5qjgy1884nrddhxillnzlq01z";
+      url = mirror://cpan/authors/id/P/PE/PETDANCE/Carp-Assert-More-1.16.tar.gz;
+      sha256 = "1x9jd6s3lq97na6gz7g0zaq62l8z297xsfpdj2v42p3ijpfirl4f";
     };
-    propagatedBuildInputs = [ CarpAssert TestException ];
+    propagatedBuildInputs = [ CarpAssert ];
     meta = {
       homepage = http://search.cpan.org/perldoc?CPAN::Meta::Spec;
       license = stdenv.lib.licenses.artistic2;
     };
+    buildInputs = [ TestException ];
   };
 
   CarpClan = buildPerlPackage {
-    name = "Carp-Clan-6.04";
+    name = "Carp-Clan-6.06";
     src = fetchurl {
-      url = mirror://cpan/authors/id/S/ST/STBEY/Carp-Clan-6.04.tar.gz;
-      sha256 = "1v71k8s1pi16l5y579gnrg372c6pdvy6qqm6iddm8h1dx7n16bjl";
+      url = mirror://cpan/authors/id/K/KE/KENTNL/Carp-Clan-6.06.tar.gz;
+      sha256 = "1m6902n6s627nsvyn2vyrk29q7lh6808hsdk7ka5cirm27vchjpa";
     };
-    propagatedBuildInputs = [ TestException ];
     meta = {
       description = "Report errors from perspective of caller of a \"clan\" of modules";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
+    buildInputs = [ TestException ];
   };
 
   CatalystActionRenderView = buildPerlPackage rec {
@@ -1057,8 +1138,7 @@ let self = _self // overrides; _self = with self; {
       url = "mirror://cpan/authors/id/B/BO/BOBTFISH/${name}.tar.gz";
       sha256 = "8565203950a057d43ecd64e9593715d565c2fbd8b02c91f43c53b2111acd3948";
     };
-    buildInputs = [ HTTPRequestAsCGI ];
-    propagatedBuildInputs = [ CatalystRuntime DataVisitor MROCompat ];
+    propagatedBuildInputs = [ CatalystRuntime DataVisitor ];
     meta = {
       description = "Sensible default end action";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
@@ -1066,13 +1146,13 @@ let self = _self // overrides; _self = with self; {
   };
 
   CatalystActionREST = buildPerlPackage rec {
-    name = "Catalyst-Action-REST-1.20";
+    name = "Catalyst-Action-REST-1.21";
     src = fetchurl {
-      url = mirror://cpan/authors/id/J/JJ/JJNAPIORK/Catalyst-Action-REST-1.20.tar.gz;
-      sha256 = "c0470541ec0016b837db3186ed77915813c8b856b941db89b86db8602e31ead6";
+      url = mirror://cpan/authors/id/J/JJ/JJNAPIORK/Catalyst-Action-REST-1.21.tar.gz;
+      sha256 = "ccf81bba5200d3a0ad6901f923af173a3d4416618aea08a6938baaffdef4cb20";
     };
     buildInputs = [ TestRequires ];
-    propagatedBuildInputs = [ CatalystRuntime ClassInspector JSONMaybeXS MROCompat ModulePluggable Moose ParamsValidate URIFind namespaceautoclean ];
+    propagatedBuildInputs = [ CatalystRuntime URIFind ];
     meta = {
       description = "Automated REST Method Dispatching";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
@@ -1080,13 +1160,13 @@ let self = _self // overrides; _self = with self; {
   };
 
   CatalystAuthenticationCredentialHTTP = buildPerlPackage {
-    name = "Catalyst-Authentication-Credential-HTTP-1.015";
+    name = "Catalyst-Authentication-Credential-HTTP-1.016";
     src = fetchurl {
-      url = mirror://cpan/authors/id/B/BO/BOBTFISH/Catalyst-Authentication-Credential-HTTP-1.015.tar.gz;
-      sha256 = "02gyq0vkhj2psd7hvw4b095mvsz7vbq8kv4k8lq748jnx5kmnfrq";
+      url = mirror://cpan/authors/id/B/BO/BOBTFISH/Catalyst-Authentication-Credential-HTTP-1.016.tar.gz;
+      sha256 = "0r4kah3qr9d7iq16i64qbj6hxjfwv5fjy3jzwgs2qmr4mjixsg51";
     };
     buildInputs = [ TestException TestMockObject ];
-    propagatedBuildInputs = [ CatalystPluginAuthentication CatalystRuntime ClassAccessorFast DataUUID StringEscape URI ];
+    propagatedBuildInputs = [ CatalystPluginAuthentication DataUUID StringEscape ];
     meta = {
       description = "HTTP Basic and Digest authentication";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
@@ -1095,15 +1175,14 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
-  CatalystAuthenticationStoreHtpasswd = buildPerlPackage rec {
-    name = "Catalyst-Authentication-Store-Htpasswd-1.003";
+  CatalystAuthenticationStoreHtpasswd = buildPerlModule rec {
+    name = "Catalyst-Authentication-Store-Htpasswd-1.006";
     src = fetchurl {
-      url = "mirror://cpan/modules/by-module/Catalyst/${name}.tar.gz";
-      sha256 = "09mn0wjwfvnfi28y47g816nx50zdpvwvbxp0nrpsap0ir1m80wi3";
+      url = mirror://cpan/authors/id/E/ET/ETHER/Catalyst-Authentication-Store-Htpasswd-1.006.tar.gz;
+      sha256 = "0kw0w2g1qmym896bgnqr1bfhvgb6xja39mv10701ipp8fmi8bzf7";
     };
-    buildInputs = [ TestWWWMechanizeCatalyst Testuseok ];
-    propagatedBuildInputs =
-      [ CatalystPluginAuthentication ClassAccessor CryptPasswdMD5 AuthenHtpasswd HTMLForm ];
+    buildInputs = [ ModuleBuildTiny TestLongString TestSimple13 TestWWWMechanize TestWWWMechanizeCatalyst ];
+    propagatedBuildInputs = [ AuthenHtpasswd CatalystPluginAuthentication ];
   };
 
   CatalystAuthenticationStoreDBIxClass = buildPerlPackage {
@@ -1112,12 +1191,13 @@ let self = _self // overrides; _self = with self; {
       url = mirror://cpan/authors/id/I/IL/ILMARI/Catalyst-Authentication-Store-DBIx-Class-0.1506.tar.gz;
       sha256 = "0i5ja7690fs9nhxcij6lw51j804sm8s06m5mvk1n8pi8jljrymvw";
     };
-    propagatedBuildInputs = [ CatalystModelDBICSchema CatalystPluginAuthentication CatalystRuntime DBIxClass ListMoreUtils Moose namespaceautoclean TryTiny ];
+    propagatedBuildInputs = [ CatalystModelDBICSchema CatalystPluginAuthentication ];
     meta = {
       description = "A storage class for Catalyst Authentication using DBIx::Class";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
       platforms = stdenv.lib.platforms.linux;
     };
+    buildInputs = [ TestWarn ];
   };
 
   CatalystComponentInstancePerContext = buildPerlPackage rec {
@@ -1126,7 +1206,7 @@ let self = _self // overrides; _self = with self; {
       url = "mirror://cpan/authors/id/G/GR/GRODITI/${name}.tar.gz";
       sha256 = "7f63f930e1e613f15955c9e6d73873675c50c0a3bc2a61a034733361ed26d271";
     };
-    propagatedBuildInputs = [ CatalystRuntime Moose ];
+    propagatedBuildInputs = [ CatalystRuntime ];
     meta = {
       description = "Moose role to create only one instance of component per context";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
@@ -1134,27 +1214,27 @@ let self = _self // overrides; _self = with self; {
   };
 
   CatalystControllerHTMLFormFu = buildPerlPackage rec {
-    name = "Catalyst-Controller-HTML-FormFu-1.00";
+    name = "Catalyst-Controller-HTML-FormFu-2.02";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/C/CF/CFRANKS/${name}.tar.gz";
-      sha256 = "84329b287716cdc6d3c5a9ee185458cd2ce7abd9d902eac1c6240ef17572f12c";
+      url = mirror://cpan/authors/id/N/NI/NIGELM/Catalyst-Controller-HTML-FormFu-2.02.tar.gz;
+      sha256 = "5ddfd4983bfb0c722995c964b4d9264b3a26a89c820c921648631a7717be0551";
     };
-    buildInputs = [ CatalystActionRenderView CatalystPluginSession CatalystPluginSessionStateCookie CatalystPluginSessionStoreFile CatalystViewTT TemplateToolkit TestAggregate TestWWWMechanize TestWWWMechanizeCatalyst ];
-    propagatedBuildInputs = [ CatalystComponentInstancePerContext CatalystRuntime ConfigAny HTMLFormFu Moose MooseXAttributeChained RegexpAssemble TaskWeaken namespaceautoclean ];
+    buildInputs = [ CatalystActionRenderView CatalystPluginSession CatalystPluginSessionStateCookie CatalystPluginSessionStoreFile CatalystViewTT TemplateToolkit TestLongString TestWWWMechanize TestWWWMechanizeCatalyst ];
+    propagatedBuildInputs = [ CatalystComponentInstancePerContext HTMLFormFu RegexpAssemble ];
     meta = {
       description = "Catalyst integration for HTML::FormFu";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
-  CatalystControllerPOD = buildPerlPackage rec {
+  CatalystControllerPOD = buildPerlModule rec {
     name = "Catalyst-Controller-POD-1.0.0";
     src = fetchurl {
       url = "mirror://cpan/authors/id/P/PE/PERLER/${name}.tar.gz";
       sha256 = "ee2a4bb3ed78baa1464335408f284345b6ba0ef6576ad7bfbd7b656c788a39f9";
     };
-    buildInputs = [ CatalystRuntime ModuleBuild ModuleInstall TestWWWMechanizeCatalyst ];
-    propagatedBuildInputs = [ CatalystPluginStaticSimple CatalystRuntime ClassAccessor FileShareDir FileSlurp JSONXS LWP ListMoreUtils PathClass PodPOM PodPOMViewTOC TestWWWMechanizeCatalyst XMLSimple ];
+    buildInputs = [ ModuleInstall TestLongString TestWWWMechanize TestWWWMechanizeCatalyst ];
+    propagatedBuildInputs = [ CatalystPluginStaticSimple FileSlurp JSONXS ListMoreUtils PodPOMViewTOC XMLSimple ];
     meta = {
       homepage = http://search.cpan.org/dist/Catalyst-Controller-POD/;
       description = "Serves PODs right from your Catalyst application";
@@ -1170,7 +1250,7 @@ let self = _self // overrides; _self = with self; {
       sha256 = "bce371ba801c7d79eff3257e0af907cf62f140de968f0d63bf55be37d702a58a";
     };
     buildInputs = [ TestFatal ];
-    propagatedBuildInputs = [ CatalystActionRenderView CatalystPluginConfigLoader CatalystPluginStaticSimple CatalystRuntime ConfigGeneral FileChangeNotify FileCopyRecursive FileShareDir ModuleInstall Moose MooseXDaemonize MooseXEmulateClassAccessorFast PathClass TemplateToolkit Starman namespaceautoclean namespaceclean ];
+    propagatedBuildInputs = [ CatalystActionRenderView CatalystPluginConfigLoader CatalystPluginStaticSimple ConfigGeneral FileChangeNotify FileCopyRecursive ModuleInstall TemplateToolkit ];
     meta = {
       homepage = http://dev.catalyst.perl.org/;
       description = "Catalyst Development Tools";
@@ -1185,7 +1265,7 @@ let self = _self // overrides; _self = with self; {
       url = "mirror://cpan/authors/id/M/MG/MGRIMES/${name}.tar.gz";
       sha256 = "06jq1lmpq88rmp9zik5gqczg234xac0hiyc3l698iif7zsgcyb80";
     };
-    propagatedBuildInputs = [ Moose TextSimpleTable ];
+    propagatedBuildInputs = [ CatalystRuntime ];
     meta = {
       description = "Regex DispatchType";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
@@ -1235,7 +1315,7 @@ let self = _self // overrides; _self = with self; {
       sha256 = "26a911ef5ef7ffc81b6ce65c3156f71fb35083c456ad27e6d82d2dc02493eeea";
     };
     buildInputs = [ DBDSQLite TestException TestRequires ];
-    propagatedBuildInputs = [ CarpClan CatalystComponentInstancePerContext CatalystRuntime CatalystXComponentTraits DBIxClass DBIxClassSchemaLoader HashMerge ListMoreUtils ModuleRuntime Moose MooseXMarkAsMethods MooseXNonMoose MooseXTypes MooseXTypesLoadableClass TieIxHash TryTiny namespaceautoclean namespaceclean ];
+    propagatedBuildInputs = [ CatalystComponentInstancePerContext CatalystXComponentTraits DBIxClassSchemaLoader MooseXMarkAsMethods MooseXNonMoose MooseXTypesLoadableClass TieIxHash ];
     meta = {
       description = "DBIx::Class::Schema Model Class";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
@@ -1244,13 +1324,13 @@ let self = _self // overrides; _self = with self; {
   };
 
   CatalystRuntime = buildPerlPackage rec {
-    name = "Catalyst-Runtime-5.90104";
+    name = "Catalyst-Runtime-5.90117";
     src = fetchurl {
       url = "mirror://cpan/authors/id/J/JJ/JJNAPIORK/${name}.tar.gz";
-      sha256 = "91d551944beb3a0ae8635c78d5f2e1583ef1e7873d5c8ee407e2f64380ad870b";
+      sha256 = "fe12d82c4e0704d1f15946651554ca069abccb6afbe5d9de315e97d90c0c92a3";
     };
-    buildInputs = [ DataDump HTTPMessage IOstringy JSONMaybeXS TestFatal TypeTiny ];
-    propagatedBuildInputs = [ CGISimple CGIStruct ClassC3AdoptNEXT ClassDataInheritable ClassLoad DataDump DataOptList HTMLParser HTTPBody HTTPMessage HTTPRequestAsCGI HashMultiValue JSONMaybeXS LWP ListMoreUtils MROCompat ModulePluggable Moose MooseXEmulateClassAccessorFast MooseXGetopt MooseXMethodAttributes MooseXRoleWithOverloading PathClass Plack PlackMiddlewareFixMissingBodyInRedirect PlackMiddlewareMethodOverride PlackMiddlewareRemoveRedundantBody PlackMiddlewareReverseProxy PlackTestExternalServer SafeIsa StreamBuffered StringRewritePrefix SubExporter TaskWeaken TextSimpleTable TreeSimple TreeSimpleVisitorFactory TryTiny URI URIws namespaceautoclean namespaceclean ];
+    buildInputs = [ TestFatal TypeTiny ];
+    propagatedBuildInputs = [ CGISimple CGIStruct ClassC3AdoptNEXT ClassDataInheritable DataDump HTTPBody HTTPRequestAsCGI ModulePluggable MooseXEmulateClassAccessorFast MooseXGetopt MooseXMethodAttributes MooseXRoleWithOverloading PathClass PlackMiddlewareFixMissingBodyInRedirect PlackMiddlewareMethodOverride PlackMiddlewareRemoveRedundantBody PlackMiddlewareReverseProxy PlackTestExternalServer SafeIsa StringRewritePrefix TaskWeaken TextSimpleTable TreeSimpleVisitorFactory URIws ];
     meta = {
       homepage = http://dev.catalyst.perl.org/;
       description = "The Catalyst Framework Runtime";
@@ -1265,7 +1345,7 @@ let self = _self // overrides; _self = with self; {
       url = "mirror://cpan/authors/id/A/AR/ARODLAND/${name}.tar.gz";
       sha256 = "873db8e4e72a994e3e17aeb53d2b837e6d524b4b8b0f3539f262135c88cc2120";
     };
-    propagatedBuildInputs = [ CatalystRuntime DateTime Moose namespaceautoclean ];
+    propagatedBuildInputs = [ CatalystRuntime DateTime ];
     meta = {
       homepage = https://metacpan.org/release/Catalyst-Plugin-AccessLog;
       description = "Request logging from within Catalyst";
@@ -1279,8 +1359,8 @@ let self = _self // overrides; _self = with self; {
       url = "mirror://cpan/authors/id/B/BO/BOBTFISH/${name}.tar.gz";
       sha256 = "0v6hb4r1wv3djrnqvnjcn3xx1scgqzx8nyjdg9lfc1ybvamrl0rn";
     };
-    buildInputs = [ ClassMOP Moose TestException ];
-    propagatedBuildInputs = [ CatalystPluginSession CatalystRuntime ClassInspector Moose MooseXEmulateClassAccessorFast MROCompat namespaceautoclean StringRewritePrefix TryTiny ];
+    buildInputs = [ TestException ];
+    propagatedBuildInputs = [ CatalystPluginSession ];
     meta = {
       description = "Infrastructure plugin for the Catalyst authentication framework";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
@@ -1294,6 +1374,7 @@ let self = _self // overrides; _self = with self; {
       sha256 = "0z4328rr6l9xi45hyv6q9pwwamp0864q6skcp29jrz9f919ycdra";
     };
     propagatedBuildInputs = [ CatalystRuntime ClassThrowable ];
+    buildInputs = [ CatalystPluginAuthentication CatalystPluginAuthorizationRoles CatalystPluginSession CatalystPluginSessionStateCookie TestWWWMechanizeCatalyst ];
   };
 
   CatalystPluginAuthorizationRoles = buildPerlPackage {
@@ -1303,7 +1384,7 @@ let self = _self // overrides; _self = with self; {
       sha256 = "0l83lkwmq0lngwh8b1rv3r719pn8w1gdbyhjqm74rnd0wbjl8h7f";
     };
     buildInputs = [ TestException ];
-    propagatedBuildInputs = [ CatalystPluginAuthentication CatalystRuntime SetObject UNIVERSALisa ];
+    propagatedBuildInputs = [ CatalystPluginAuthentication SetObject UNIVERSALisa ];
     meta = {
       description = "Role based authorization for Catalyst based on Catalyst::Plugin::Authentication";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
@@ -1318,7 +1399,7 @@ let self = _self // overrides; _self = with self; {
       sha256 = "1q23aipvrl888h06ldr4mmjbykz0j4rqwipxg1jv094kki2fspr9";
     };
     buildInputs = [ TestDeep TestException ];
-    propagatedBuildInputs = [ CatalystRuntime MROCompat TaskWeaken ];
+    propagatedBuildInputs = [ CatalystRuntime ];
     meta = {
       description = "Flexible caching support for Catalyst";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
@@ -1333,8 +1414,8 @@ let self = _self // overrides; _self = with self; {
       url = mirror://cpan/authors/id/G/GR/GRAF/Catalyst-Plugin-Cache-HTTP-0.001000.tar.gz;
       sha256 = "0v5iphbq4csc4r6wkvxnqlh97p8g0yhjky9qqmsdyqczn87agbba";
     };
-    buildInputs = [ CatalystRuntime Testuseok TestWWWMechanizeCatalyst ];
-    propagatedBuildInputs = [ ClassAccessorFast HTTPMessage MROCompat ];
+    buildInputs = [ CatalystRuntime TestLongString TestSimple13 TestWWWMechanize TestWWWMechanizeCatalyst ];
+    propagatedBuildInputs = [ ClassAccessor HTTPMessage MROCompat ];
     meta = {
       description = "HTTP/1.1 cache validators for Catalyst";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
@@ -1349,7 +1430,7 @@ let self = _self // overrides; _self = with self; {
       url = mirror://cpan/authors/id/D/DI/DIEGOK/Catalyst-Plugin-Captcha-0.04.tar.gz;
       sha256 = "0llyj3v5nx9cx46jdbbvxf1lc9s9cxq5ml22xmx3wkb201r5qgaa";
     };
-    propagatedBuildInputs = [ CatalystRuntime CatalystPluginSession GDSecurityImage HTTPDate ];
+    propagatedBuildInputs = [ CatalystPluginSession GDSecurityImage ];
     meta = {
       description = "Create and validate Captcha for Catalyst";
       platforms = stdenv.lib.platforms.linux;
@@ -1362,7 +1443,7 @@ let self = _self // overrides; _self = with self; {
       url = "mirror://cpan/authors/id/B/BO/BOBTFISH/${name}.tar.gz";
       sha256 = "19j7p4v7mbx6wrmpvmrnd974apx7hdl2s095ga3b9zcbdrl77h5q";
     };
-    propagatedBuildInputs = [CatalystRuntime DataVisitor ConfigAny MROCompat];
+    propagatedBuildInputs = [ CatalystRuntime ConfigAny DataVisitor ];
   };
 
   CatalystPluginFormValidator = buildPerlPackage rec {
@@ -1371,7 +1452,7 @@ let self = _self // overrides; _self = with self; {
       url = "mirror://cpan/authors/id/D/DH/DHOSS/${name}.tar.gz";
       sha256 = "5834f11bf5c9f4b5d336d65c7ce6639b76ce7bfe7a2875eb048d7ea1c82ce05a";
     };
-    propagatedBuildInputs = [ CatalystRuntime DataFormValidator MROCompat Moose ];
+    propagatedBuildInputs = [ CatalystRuntime DataFormValidator ];
     meta = {
       description = "Data::FormValidator";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
@@ -1384,7 +1465,7 @@ let self = _self // overrides; _self = with self; {
       url = "mirror://cpan/authors/id/D/DH/DHOSS/${name}.tar.gz";
       sha256 = "486c6a0e8f410fd017279f4804ab9e35ba46321d33a0a9721fe1e08a391de7a0";
     };
-    propagatedBuildInputs = [ CatalystPluginFormValidator CatalystRuntime FormValidatorSimple ];
+    propagatedBuildInputs = [ CatalystPluginFormValidator FormValidatorSimple ];
     meta = {
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
       maintainers = [ maintainers.rycee ];
@@ -1421,7 +1502,7 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
-  CatalystPluginLogHandler = buildPerlPackage rec {
+  CatalystPluginLogHandler = buildPerlModule rec {
     name = "Catalyst-Plugin-Log-Handler-0.08";
     src = fetchurl {
       url = "mirror://cpan/authors/id/P/PE/PEPE/${name}.tar.gz";
@@ -1442,7 +1523,7 @@ let self = _self // overrides; _self = with self; {
       sha256 = "171vi9xcl775scjaw4fcfdmqvz0rb1nr0xxg2gb3ng6bjzpslhgv";
     };
     buildInputs = [ TestDeep TestException TestWWWMechanizePSGI ];
-    propagatedBuildInputs = [ CatalystRuntime Moose MooseXEmulateClassAccessorFast MROCompat namespaceclean ObjectSignature ];
+    propagatedBuildInputs = [ CatalystRuntime ObjectSignature ];
     meta = {
       description = "Generic Session plugin - ties together server side storage and client side state required to maintain session data";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
@@ -1455,7 +1536,7 @@ let self = _self // overrides; _self = with self; {
       url = "mirror://cpan/authors/id/B/BO/BOBTFISH/${name}.tar.gz";
       sha256 = "7707c56734cdb1512f733dc400fadf6f4c53cb217b58207857824dad6780a079";
     };
-    propagatedBuildInputs = [ CatalystPluginSession CatalystRuntime MROCompat Moose namespaceautoclean ];
+    propagatedBuildInputs = [ CatalystPluginSession ];
     meta = {
       description = "Per-session custom expiry times";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
@@ -1469,8 +1550,7 @@ let self = _self // overrides; _self = with self; {
       url = "mirror://cpan/authors/id/M/MS/MSTROUT/${name}.tar.gz";
       sha256 = "1rvxbfnpf9x2pc2zgpazlcgdlr2dijmxgmcs0m5nazs0w6xikssb";
     };
-    buildInputs = [ TestMockObject ];
-    propagatedBuildInputs = [ CatalystRuntime CatalystPluginSession ];
+    propagatedBuildInputs = [ CatalystPluginSession ];
     meta = {
       platforms = stdenv.lib.platforms.linux;
     };
@@ -1479,11 +1559,10 @@ let self = _self // overrides; _self = with self; {
   CatalystPluginSessionStoreFastMmap = buildPerlPackage rec {
     name = "Catalyst-Plugin-Session-Store-FastMmap-0.16";
     src = fetchurl {
-      url = "mirror://cpan/modules/by-module/Catalyst/${name}.tar.gz";
+      url = mirror://cpan/authors/id/B/BO/BOBTFISH/Catalyst-Plugin-Session-Store-FastMmap-0.16.tar.gz;
       sha256 = "0x3j6zv3wr41jlwr6yb2jpmcx019ibyn11y8653ffnwhpzbpzsxs";
     };
-    propagatedBuildInputs =
-      [ PathClass CatalystPluginSession CacheFastMmap MROCompat ];
+    propagatedBuildInputs = [ CacheFastMmap CatalystPluginSession ];
     meta = {
       platforms = stdenv.lib.platforms.linux;
     };
@@ -1495,7 +1574,7 @@ let self = _self // overrides; _self = with self; {
       url = "mirror://cpan/authors/id/F/FL/FLORA/${name}.tar.gz";
       sha256 = "54738e3ce76f8be8b66947092d28973c73d79d1ee19b5d92b057552f8ff09b4f";
     };
-    propagatedBuildInputs = [ CacheCache CatalystPluginSession CatalystRuntime ClassDataInheritable MROCompat ];
+    propagatedBuildInputs = [ CacheCache CatalystPluginSession ];
     meta = {
       description = "File storage backend for session data";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
@@ -1509,7 +1588,7 @@ let self = _self // overrides; _self = with self; {
       url = mirror://cpan/authors/id/B/BO/BOBTFISH/Catalyst-Plugin-StackTrace-0.12.tar.gz;
       sha256 = "1b2ksz74cpigxqzf63rddar3vfmnbpwpdcbs11v0ml89pb8ar79j";
     };
-    propagatedBuildInputs = [ CatalystRuntime DevelStackTrace MROCompat ];
+    propagatedBuildInputs = [ CatalystRuntime ];
     meta = {
       description = "Display a stack trace on the debug screen";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
@@ -1518,14 +1597,13 @@ let self = _self // overrides; _self = with self; {
   };
 
   CatalystPluginStaticSimple = buildPerlPackage rec {
-    name = "Catalyst-Plugin-Static-Simple-0.33";
+    name = "Catalyst-Plugin-Static-Simple-0.36";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/J/JJ/JJNAPIORK/${name}.tar.gz";
-      sha256 = "1h8f12bhzh0ssq9gs8r9g3hqn8zn2k0q944vc1vm8j81bns16msy";
+      url = mirror://cpan/authors/id/I/IL/ILMARI/Catalyst-Plugin-Static-Simple-0.36.tar.gz;
+      sha256 = "0m4l627p2fvzr4i6sgdxhdvsx4wpa6qmaibsbxlg5x5yjs7k7drn";
     };
     patches = [ ../development/perl-modules/catalyst-plugin-static-simple-etag.patch ];
-    propagatedBuildInputs = [ CatalystRuntime MIMETypes Moose MooseXTypes
-      namespaceautoclean ];
+    propagatedBuildInputs = [ CatalystRuntime MIMETypes ];
     meta = {
       description = "Make serving static pages painless";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
@@ -1538,7 +1616,7 @@ let self = _self // overrides; _self = with self; {
       url = "mirror://cpan/authors/id/H/HK/HKCLARK/${name}.tar.gz";
       sha256 = "649c894ab16f9f48ada8f9cc599a7ecbb8891ab3761ff6fd510520c6de407c1f";
     };
-    propagatedBuildInputs = [ CatalystRuntime SubName strictures ];
+    propagatedBuildInputs = [ CatalystRuntime strictures ];
     meta = {
       description = "Handle passing of status messages between screens of a web application";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
@@ -1552,8 +1630,8 @@ let self = _self // overrides; _self = with self; {
       url = "mirror://cpan/authors/id/M/MC/MCB/${name}.tar.gz";
       sha256 = "e41326b6099891f244b432921ed10096ac619f32b8c4f8b41633313bd54662db";
     };
-    buildInputs = [ CatalystActionRenderView CatalystModelDBICSchema CatalystPluginConfigLoader CatalystRuntime CatalystXComponentTraits ConfigGeneral DBDSQLite DBIxClass Moose TestException ];
-    propagatedBuildInputs = [ CatalystRuntime TextCSV URI ];
+    buildInputs = [ CatalystActionRenderView CatalystModelDBICSchema CatalystPluginConfigLoader CatalystXComponentTraits ConfigGeneral DBDSQLite DBIxClass TestException ];
+    propagatedBuildInputs = [ CatalystRuntime TextCSV ];
     meta = {
       description = "CSV view class";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
@@ -1567,8 +1645,7 @@ let self = _self // overrides; _self = with self; {
       url = "mirror://cpan/authors/id/G/GA/GAUDEON/${name}.tar.gz";
       sha256 = "1qgq6y9iwfbhbkbgpw9czang2ami6z8jk1zlagrzdisy4igqzkvs";
     };
-    buildInputs = [  TestWWWMechanizeCatalyst Testuseok ];
-    propagatedBuildInputs = [ CatalystRuntime TextCSV XMLSimple ];
+    buildInputs = [ CatalystRuntime TestLongString TestSimple13 TestWWWMechanize TestWWWMechanizeCatalyst TextCSV XMLSimple ];
     meta = {
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
       platforms = stdenv.lib.platforms.linux;
@@ -1576,13 +1653,13 @@ let self = _self // overrides; _self = with self; {
   };
 
   CatalystViewJSON = buildPerlPackage rec {
-    name = "Catalyst-View-JSON-0.35";
+    name = "Catalyst-View-JSON-0.36";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/J/JJ/JJNAPIORK//${name}.tar.gz";
-      sha256 = "184pyghlrkl7p387bnyvswi2d9myvdg4v3lax6xrd59shskvpmkm";
+      url = mirror://cpan/authors/id/J/JJ/JJNAPIORK/Catalyst-View-JSON-0.36.tar.gz;
+      sha256 = "0x943j1n2r0zqanyzdrs1xsnn8ayn2wqskn7h144xcqa6v6gcisl";
     };
-    buildInputs = [ JSON ];
-    propagatedBuildInputs = [ CatalystRuntime JSONAny MROCompat YAML ];
+    buildInputs = [ YAML ];
+    propagatedBuildInputs = [ CatalystRuntime ];
     meta = {
       description = "JSON view for your data";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
@@ -1596,7 +1673,7 @@ let self = _self // overrides; _self = with self; {
       url = "mirror://cpan/authors/id/E/ET/ETHER/${name}.tar.gz";
       sha256 = "06d1zg4nbb6kcyjbnyxrkf8z4zlscxr8650d94f7187jygfl8rvh";
     };
-    propagatedBuildInputs = [ CatalystRuntime ClassAccessor MROCompat PathClass TemplateToolkit TemplateTimer ];
+    propagatedBuildInputs = [ CatalystRuntime TemplateTimer ];
     meta = {
       description = "Template View Class";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
@@ -1610,8 +1687,7 @@ let self = _self // overrides; _self = with self; {
       url = "mirror://cpan/authors/id/R/RK/RKITOVER/${name}.tar.gz";
       sha256 = "0iq4ci8m6g2c4g01fvdl568y7pjz28f3widk986v3pyhr7ll8j88";
     };
-    propagatedBuildInputs =
-      [ CatalystRuntime MooseXTraitsPluggable namespaceautoclean ListMoreUtils ];
+    propagatedBuildInputs = [ CatalystRuntime MooseXTraitsPluggable ];
   };
 
   CatalystXRoleApplicator = buildPerlPackage rec {
@@ -1620,8 +1696,7 @@ let self = _self // overrides; _self = with self; {
       url = "mirror://cpan/authors/id/H/HD/HDP/${name}.tar.gz";
       sha256 = "0vwaapxn8g5hs2xp63c4dwv9jmapmji4272fakssvgc9frklg3p2";
     };
-    buildInputs = [ ];
-    propagatedBuildInputs = [ MooseXRelatedClassRoles CatalystRuntime ];
+    propagatedBuildInputs = [ CatalystRuntime MooseXRelatedClassRoles ];
   };
 
   CatalystTraitForRequestProxyBase = buildPerlPackage {
@@ -1630,8 +1705,8 @@ let self = _self // overrides; _self = with self; {
       url = mirror://cpan/authors/id/B/BO/BOBTFISH/Catalyst-TraitFor-Request-ProxyBase-0.000005.tar.gz;
       sha256 = "a7bf0faa7e12ca5df625d9f5fc710f11bfd16ba5385837e48d42b3d286c9710a";
     };
-    buildInputs = [ CatalystRuntime HTTPMessage ];
-    propagatedBuildInputs = [ CatalystXRoleApplicator Moose URI namespaceautoclean ];
+    buildInputs = [ CatalystRuntime CatalystXRoleApplicator HTTPMessage ];
+    propagatedBuildInputs = [ Moose URI namespaceautoclean ];
     meta = {
       description = "Replace request base with value passed by HTTP proxy";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
@@ -1650,7 +1725,7 @@ let self = _self // overrides; _self = with self; {
       ../development/perl-modules/CatalystXScriptServerStarman-fork-arg.patch
     ];
     buildInputs = [ TestWWWMechanizeCatalyst ];
-    propagatedBuildInputs = [ CatalystRuntime Moose namespaceautoclean Starman ];
+    propagatedBuildInputs = [ CatalystRuntime Starman ];
     meta = {
       description = "Replace the development server with Starman";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
@@ -1658,6 +1733,21 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
+  CDDB_get = buildPerlPackage rec {
+    name = "CDDB_get-2.28";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/F/FO/FONKIE/${name}.tar.gz";
+      sha256 = "1jfrwvfasylcafbvb0jjm94ad4v6k99a7rf5i4qwzhg4m0gvmk5x";
+    };
+    meta = {
+      homepage = https://metacpan.org/module/CDDB_get;
+      description = "Get the CDDB info for an audio cd";
+      license = stdenv.lib.licenses.artistic1;
+      platforms = stdenv.lib.platforms.linux;
+      maintainers = [ maintainers.endgame ];
+    };
+  };
+
   CGI = buildPerlPackage rec {
     name = "CGI-4.38";
     src = fetchurl {
@@ -1665,7 +1755,7 @@ let self = _self // overrides; _self = with self; {
       sha256 = "8c58f4a529bb92a914b22b7e64c5e31185c9854a4070a6dfad44fe5cc248e7d4";
     };
     buildInputs = [ TestDeep TestNoWarnings TestWarn ];
-    propagatedBuildInputs = [ HTMLParser self."if" ];
+    propagatedBuildInputs = [ HTMLParser ];
     meta = {
       homepage = https://metacpan.org/module/CGI;
       description = "Handle Common Gateway Interface requests and responses";
@@ -1674,6 +1764,21 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
+  CGICompile = buildPerlModule rec {
+     name = "CGI-Compile-0.22";
+     src = fetchurl {
+       url = mirror://cpan/authors/id/M/MI/MIYAGAWA/CGI-Compile-0.22.tar.gz;
+       sha256 = "1bycbdgbsn88kavy0q8p2i7vn6lf3xk1y7v2rdl32gkrdff4w2gm";
+     };
+     propagatedBuildInputs = [ Filepushd ];
+     buildInputs = [ ModuleBuildTiny TestNoWarnings TestRequires ];
+     meta = {
+       description = "Compile .cgi scripts to a code reference like ModPerl::Registry";
+       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+       homepage = "https://github.com/miyagawa/CGI-Compile";
+     };
+  };
+
   CGICookieXS = buildPerlPackage rec {
     name = "CGI-Cookie-XS-0.18";
     src = fetchurl {
@@ -1683,10 +1788,10 @@ let self = _self // overrides; _self = with self; {
   };
 
   CGIEmulatePSGI = buildPerlPackage {
-    name = "CGI-Emulate-PSGI-0.21";
+    name = "CGI-Emulate-PSGI-0.23";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MI/MIYAGAWA/CGI-Emulate-PSGI-0.21.tar.gz;
-      sha256 = "06b8f1864101de69b2264ad3c3a2b15333e428cf9f5d17a777cfc61f8c64093f";
+      url = mirror://cpan/authors/id/T/TO/TOKUHIROM/CGI-Emulate-PSGI-0.23.tar.gz;
+      sha256 = "dd5b6c353f08fba100dae09904284f7f73f8328d31f6a67b2c136fad728d158b";
     };
     buildInputs = [ TestRequires ];
     propagatedBuildInputs = [ CGI HTTPMessage ];
@@ -1698,26 +1803,26 @@ let self = _self // overrides; _self = with self; {
   };
 
   CGIExpand = buildPerlPackage {
-    name = "CGI-Expand-2.04";
+    name = "CGI-Expand-2.05";
     src = fetchurl {
-      url = mirror://cpan/authors/id/B/BO/BOWMANBS/CGI-Expand-2.04.tar.gz;
-      sha256 = "0jk2vvk4mlz7phq3h3wpryix46adi7fkkzvkv0ssn5xkqy3pqlny";
+      url = mirror://cpan/authors/id/B/BO/BOWMANBS/CGI-Expand-2.05.tar.gz;
+      sha256 = "1ad48nd067j5irjampxpw3zvzpg8wpnpan6szkdc5h64wccd30kf";
     };
-    propagatedBuildInputs = [ TestException ];
     meta = {
       description = "Convert flat hash to nested data using TT2's dot convention";
       maintainers = with maintainers; [ ];
       platforms   = stdenv.lib.platforms.unix;
     };
+    buildInputs = [ TestException ];
   };
 
   CGIFast = buildPerlPackage {
-    name = "CGI-Fast-2.10";
+    name = "CGI-Fast-2.13";
     src = fetchurl {
-      url = mirror://cpan/authors/id/L/LE/LEEJO/CGI-Fast-2.10.tar.gz;
-      sha256 = "98263afcc9f5d88c7cbbd39651c5431b434c1c815fe284962d887ed7be3a1dd3";
+      url = mirror://cpan/authors/id/L/LE/LEEJO/CGI-Fast-2.13.tar.gz;
+      sha256 = "792f21fc3b94380e37c99faa7901ecedf01d6855191000d1ffb2a7003813b1d4";
     };
-    propagatedBuildInputs = [ FCGI if_ ];
+    propagatedBuildInputs = [ CGI FCGI ];
     doCheck = false;
     meta = {
       homepage = https://metacpan.org/module/CGI::Fast;
@@ -1726,10 +1831,10 @@ let self = _self // overrides; _self = with self; {
   };
 
   CGIFormBuilder = buildPerlPackage rec {
-    name = "CGI-FormBuilder-3.09";
+    name = "CGI-FormBuilder-3.10";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/N/NW/NWIGER/${name}.tgz";
-      sha256 = "0qx8kxj0iy55ss9kraqr8q2m4igi2ylajff7d6qvphqpfx90fjb5";
+      url = mirror://cpan/authors/id/B/BI/BIGPRESH/CGI-FormBuilder-3.10.tar.gz;
+      sha256 = "163ixq9kninqq094z2rnkg9pv3bcmvjphlww4vksfrzhq3h9pjdf";
     };
 
     propagatedBuildInputs = [ CGI ];
@@ -1748,27 +1853,27 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
-  CGISession = buildPerlPackage rec {
+  CGISession = buildPerlModule rec {
     name = "CGI-Session-4.48";
     src = fetchurl {
       url = "mirror://cpan/authors/id/M/MA/MARKSTOS/${name}.tar.gz";
       sha256 = "1xsl2pz1jrh127pq0b01yffnj4mnp9nvkp88h5mndrscq9hn8xa6";
     };
-    buildInputs = [ DBFile ];
     propagatedBuildInputs = [ CGI ];
   };
 
-  CGISimple = buildPerlPackage rec {
-    name = "CGI-Simple-1.115";
+  CGISimple = buildPerlModule rec {
+    name = "CGI-Simple-1.15";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/S/SZ/SZABGAB/${name}.tar.gz";
-      sha256 = "1nkyb1m1g5r47xykflf68dplanih5p15njv82frbgbsms34kp1sg";
+      url = mirror://cpan/authors/id/M/MA/MANWAR/CGI-Simple-1.15.tar.gz;
+      sha256 = "013dcy9k4sj9alkksk5aqz65ryxw0rxgg71c7w666y941gd8n46q";
     };
     propagatedBuildInputs = [ IOStringy ];
     meta = {
       description = "A Simple totally OO CGI interface that is CGI.pm compliant";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
+    buildInputs = [ TestException TestNoWarnings ];
   };
 
   CGIStruct = buildPerlPackage {
@@ -1791,7 +1896,7 @@ let self = _self // overrides; _self = with self; {
       sha256 = "c7f1a2b3570a8fede484e933f89ba1729e0abd05935791d146c522dd120ee851";
     };
     buildInputs = [ TestClass TestDeep TestException TestWarn TimeDate ];
-    propagatedBuildInputs = [ CarpAssert ClassLoad DataUUID DigestJHash HashMoreUtils JSONMaybeXS ListMoreUtils LogAny Moo MooXTypesMooseLike MooXTypesMooseLikeNumeric StringRewritePrefix TaskWeaken TimeDuration TimeDurationParse TryTiny ];
+    propagatedBuildInputs = [ CarpAssert ClassLoad DataUUID DigestJHash HashMoreUtils JSONMaybeXS ListMoreUtils LogAny Moo MooXTypesMooseLikeNumeric StringRewritePrefix TaskWeaken TimeDuration TimeDurationParse ];
     meta = {
       description = "Unified cache handling interface";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
@@ -1802,7 +1907,7 @@ let self = _self // overrides; _self = with self; {
   Chart = buildPerlPackage rec {
     name = "Chart-2.4.10";
     src = fetchurl {
-      url = "http://search.cpan.org/CPAN/authors/id/C/CH/CHARTGRP/${name}.tar.gz";
+      url = mirror://cpan/authors/id/C/CH/CHARTGRP/Chart-2.4.10.tar.gz;
       sha256 = "84bd99a1a0ce72477b15e35881e6120398bb3f553aeeb5e8d72b088520e4f6bf";
     };
     propagatedBuildInputs = [ GD ];
@@ -1813,37 +1918,26 @@ let self = _self // overrides; _self = with self; {
   };
 
   ClassAccessor = buildPerlPackage {
-    name = "Class-Accessor-0.34";
+    name = "Class-Accessor-0.51";
     src = fetchurl {
-      url = mirror://cpan/authors/id/K/KA/KASEI/Class-Accessor-0.34.tar.gz;
-      sha256 = "1z6fqg0yz8gay15r1iasslv8f1n1mzjkrhs47fvbj3rqz36y1cfd";
+      url = mirror://cpan/authors/id/K/KA/KASEI/Class-Accessor-0.51.tar.gz;
+      sha256 = "07215zzr4ydf49832vn54i3gf2q5b97lydkv8j56wb2svvjs64mz";
     };
     meta = {
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
-  ClassAccessorChained = buildPerlPackage {
+  ClassAccessorChained = buildPerlModule {
     name = "Class-Accessor-Chained-0.01";
     src = fetchurl {
       url = mirror://cpan/authors/id/R/RC/RCLAMP/Class-Accessor-Chained-0.01.tar.gz;
       sha256 = "1lilrjy1s0q5hyr0888kf0ifxjyl2iyk4vxil4jsv0sgh39lkgx5";
     };
-    propagatedBuildInputs = [ClassAccessor];
+    propagatedBuildInputs = [ ClassAccessor ];
   };
 
-  ClassAccessorFast = buildPerlPackage {
-    name = "Class-Accessor-Fast-0.34";
-    src = fetchurl {
-      url = mirror://cpan/authors/id/K/KA/KASEI/Class-Accessor-0.34.tar.gz;
-      sha256 = "1z6fqg0yz8gay15r1iasslv8f1n1mzjkrhs47fvbj3rqz36y1cfd";
-    };
-    meta = {
-      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
-      maintainers = with maintainers; [ ];
-      platforms   = stdenv.lib.platforms.unix;
-    };
-  };
+  ClassAccessorFast = ClassAccessor;
 
   ClassAccessorGrouped = buildPerlPackage {
     name = "Class-Accessor-Grouped-0.10012";
@@ -1851,7 +1945,7 @@ let self = _self // overrides; _self = with self; {
       url = mirror://cpan/authors/id/R/RI/RIBASUSHI/Class-Accessor-Grouped-0.10012.tar.gz;
       sha256 = "c4613ee3307939f47a9afd40e8b173f3a22f501c3b139799aa030f01b627e7fe";
     };
-    buildInputs = [ ClassXSAccessor DevelHide PackageStash SubName TestException ];
+    buildInputs = [ TestException ];
     propagatedBuildInputs = [ ModuleRuntime ];
     meta = {
       description = "Lets you build groups of accessors";
@@ -1884,18 +1978,19 @@ let self = _self // overrides; _self = with self; {
   };
 
   ClassBase = buildPerlPackage rec {
-    name = "Class-Base-0.06";
+    name = "Class-Base-0.09";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/S/SZ/SZABGAB/${name}.tar.gz";
-      sha256 = "15mvg1ba0iphjjb90a2fq73hyzcgp8pv0c44pjfcn7vdlzp098z3";
+      url = mirror://cpan/authors/id/Y/YA/YANICK/Class-Base-0.09.tar.gz;
+      sha256 = "117dmsrb30a09zlrv919fb5h5rg8r4asa24i99k04n2habgbv9g1";
     };
+    propagatedBuildInputs = [ Clone ];
   };
 
   ClassC3 = buildPerlPackage rec {
-    name = "Class-C3-0.30";
+    name = "Class-C3-0.33";
     src = fetchurl {
       url = "mirror://cpan/authors/id/H/HA/HAARG/${name}.tar.gz";
-      sha256 = "0lmgiqv46x9lx8ip23qr8qprips21wiwaks17yb6pk7igvbgdjnc";
+      sha256 = "1c319k0j9knba2k0xjr8fml54kfvs71wcnc0hxp7s3lqc49mvzxf";
     };
     propagatedBuildInputs = [ AlgorithmC3 ];
     meta = {
@@ -1904,14 +1999,14 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
-  ClassC3AdoptNEXT = buildPerlPackage rec {
+  ClassC3AdoptNEXT = buildPerlModule rec {
     name = "Class-C3-Adopt-NEXT-0.14";
     src = fetchurl {
       url = "mirror://cpan/authors/id/E/ET/ETHER/${name}.tar.gz";
       sha256 = "1xsbydmiskpa1qbmnf6n39cb83nlb432xgkad9kfhxnvm8jn4rw5";
     };
-    buildInputs = [ TestException ];
-    propagatedBuildInputs = [ ListMoreUtils MROCompat ];
+    buildInputs = [ ModuleBuildTiny TestException ];
+    propagatedBuildInputs = [ MROCompat ];
     meta = {
       homepage = http://search.cpan.org/dist/Class-C3-Adopt-NEXT;
       description = "Make NEXT suck less";
@@ -1920,10 +2015,10 @@ let self = _self // overrides; _self = with self; {
   };
 
   ClassC3Componentised = buildPerlPackage {
-    name = "Class-C3-Componentised-1.001000";
+    name = "Class-C3-Componentised-1.001002";
     src = fetchurl {
-      url = mirror://cpan/authors/id/F/FR/FREW/Class-C3-Componentised-1.001000.tar.gz;
-      sha256 = "1nzav8arxll0rya7r2vp032s3acliihbb9mjlfa13rywhh77bzvl";
+      url = mirror://cpan/authors/id/H/HA/HAARG/Class-C3-Componentised-1.001002.tar.gz;
+      sha256 = "14wn1g45z3b5apqq7dcai5drk01hfyqydsd2m6hsxzhyvi3b2l9h";
     };
     buildInputs = [ TestException ];
     propagatedBuildInputs = [ ClassC3 ClassInspector MROCompat ];
@@ -1940,11 +2035,11 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
-  ClassContainer = buildPerlPackage {
-    name = "Class-Container-0.12";
+  ClassContainer = buildPerlModule {
+    name = "Class-Container-0.13";
     src = fetchurl {
-      url = mirror://cpan/authors/id/K/KW/KWILLIAMS/Class-Container-0.12.tar.gz;
-      sha256 = "771206f2b7a916ce0dfb93d82200472beaeb910248482734179bf36808e486b1";
+      url = mirror://cpan/authors/id/K/KW/KWILLIAMS/Class-Container-0.13.tar.gz;
+      sha256 = "f5d495b1dfb826d5c0c45d03b4d0e6b6047cbb06cdbf6be15fd4dc902aeeb70b";
     };
     propagatedBuildInputs = [ ParamsValidate ];
     meta = {
@@ -1969,6 +2064,19 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
+  ClassEHierarchy = buildPerlPackage rec {
+    name = "Class-EHierarchy-2.00";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/C/CO/CORLISS/Class-EHierarchy/${name}.tar.gz";
+      sha256 = "8498baaf7539eaa3422c6fe1055a0fc9a0c02e94dad0c63405373528e622bacb";
+    };
+    meta = {
+      description = "Base class for hierarchally ordered objects";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+      maintainers = [ maintainers.limeytexan ];
+    };
+  };
+
   ClassFactory = buildPerlPackage {
     name = "Class-Factory-1.06";
     src = fetchurl {
@@ -1977,13 +2085,12 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
-  ClassFactoryUtil = buildPerlPackage rec {
+  ClassFactoryUtil = buildPerlModule rec {
     name = "Class-Factory-Util-1.7";
     src = fetchurl {
       url = "mirror://cpan/authors/id/D/DR/DROLSKY/${name}.tar.gz";
       sha256 = "09ifd6v0c94vr20n9yr1dxgcp7hyscqq851szdip7y24bd26nlbc";
     };
-    buildInputs = [ ModuleBuild ];
     meta = {
       description = "Provide utility methods for factory classes";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
@@ -1991,10 +2098,10 @@ let self = _self // overrides; _self = with self; {
   };
 
   ClassInspector = buildPerlPackage {
-    name = "Class-Inspector-1.28";
+    name = "Class-Inspector-1.32";
     src = fetchurl {
-      url = mirror://cpan/authors/id/A/AD/ADAMK/Class-Inspector-1.28.tar.gz;
-      sha256 = "04iij8dbcgaim7g109frpyf7mh4ydsd8zh53r53chk0zxnivg91w";
+      url = mirror://cpan/authors/id/P/PL/PLICEASE/Class-Inspector-1.32.tar.gz;
+      sha256 = "0d85rihxahdvhj8cysqrgg0kbmcqghz5hgy41dbkxr1qaf5xrynf";
     };
     meta = {
       description = "Get information about a class and its structure";
@@ -2021,10 +2128,10 @@ let self = _self // overrides; _self = with self; {
   };
 
   ClassMakeMethods = buildPerlPackage rec {
-    name = "Class-MakeMethods-1.009";
+    name = "Class-MakeMethods-1.01";
     src = fetchurl {
       url = "mirror://cpan/authors/id/E/EV/EVO/${name}.tar.gz";
-      sha256 = "10f65j4ywrnwyz0dm1q5ymmpv875drj40mj1xvsjv0bnjinnwzj8";
+      sha256 = "0ricb0mn0i06ngfhq5y035yx8i7ahlx83yyqwixqmv6hg4p79b5c";
     };
   };
 
@@ -2043,10 +2150,10 @@ let self = _self // overrides; _self = with self; {
   };
 
   ClassMethodModifiers = buildPerlPackage rec {
-    name = "Class-Method-Modifiers-2.11";
+    name = "Class-Method-Modifiers-2.12";
     src = fetchurl {
       url = "mirror://cpan/authors/id/E/ET/ETHER/${name}.tar.gz";
-      sha256 = "14nk2gin9cjwpysakli7f0gs4q1w220sn73xzv35rhlspngrggyy";
+      sha256 = "1j3swa212wh14dq5r6zjarm2lzpx6mrdfplpjy65px8b09ri0k74";
     };
     buildInputs = [ TestFatal TestRequires ];
     meta = {
@@ -2056,14 +2163,13 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
-  ClassMix = buildPerlPackage rec {
-    name = "Class-Mix-0.005";
+  ClassMix = buildPerlModule rec {
+    name = "Class-Mix-0.006";
     src = fetchurl {
       url = "mirror://cpan/authors/id/Z/ZE/ZEFRAM/${name}.tar.gz";
-      sha256 = "054d0db62df90f22601f2a18fc84e9ca026d81601f5940b2fcc543e39d69b36b";
+      sha256 = "8747f643893914f8c44979f1716d0c1ec8a41394796555447944e860f1ff7c0b";
     };
-    buildInputs = [ ModuleBuild ];
-    propagatedBuildInputs = [ ParamsClassify self."if" ];
+    propagatedBuildInputs = [ ParamsClassify ];
     meta = {
       description = "Dynamic class mixing";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
@@ -2101,6 +2207,19 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
+  ClassTiny = buildPerlPackage rec {
+     name = "Class-Tiny-1.006";
+     src = fetchurl {
+       url = mirror://cpan/authors/id/D/DA/DAGOLDEN/Class-Tiny-1.006.tar.gz;
+       sha256 = "0knbi1agcfc9d7fca0szvxr6335pb22pc5n648q1vrcba8qvvz1f";
+     };
+     meta = {
+       description = "Minimalist class construction";
+       license = with stdenv.lib.licenses; [ asl20 ];
+       homepage = "https://github.com/dagolden/Class-Tiny";
+     };
+  };
+
   ClassLoad = buildPerlPackage rec {
     name = "Class-Load-0.24";
     src = fetchurl {
@@ -2108,7 +2227,7 @@ let self = _self // overrides; _self = with self; {
       sha256 = "0bb983da46c146534fc77a556d6e40d925142f2eb43103534025ee545265ca36";
     };
     buildInputs = [ TestFatal TestNeeds ];
-    propagatedBuildInputs = [ DataOptList ModuleImplementation ModuleRuntime PackageStash TryTiny ];
+    propagatedBuildInputs = [ DataOptList PackageStash ];
     meta = {
       homepage = https://github.com/moose/Class-Load;
       description = "A working (require \"Class::Name\") and more";
@@ -2122,7 +2241,7 @@ let self = _self // overrides; _self = with self; {
       url = "mirror://cpan/authors/id/E/ET/ETHER/${name}.tar.gz";
       sha256 = "5bc22cf536ebfd2564c5bdaf42f0d8a4cee3d1930fc8b44b7d4a42038622add1";
     };
-    buildInputs = [ ModuleImplementation TestFatal TestNeeds ];
+    buildInputs = [ TestFatal TestNeeds ];
     propagatedBuildInputs = [ ClassLoad ];
     meta = {
       homepage = https://github.com/moose/Class-Load-XS;
@@ -2140,7 +2259,7 @@ let self = _self // overrides; _self = with self; {
     propagatedBuildInputs = [ ClassISA ];
   };
 
-  ClassStd = buildPerlPackage {
+  ClassStd = buildPerlModule {
     name = "Class-Std-0.013";
     src = fetchurl {
       url = mirror://cpan/authors/id/C/CH/CHORNY/Class-Std-0.013.tar.gz;
@@ -2153,12 +2272,13 @@ let self = _self // overrides; _self = with self; {
   };
 
   ClassUnload = buildPerlPackage rec {
-    name = "Class-Unload-0.09";
+    name = "Class-Unload-0.11";
     src = fetchurl {
       url = "mirror://cpan/authors/id/I/IL/ILMARI/${name}.tar.gz";
-      sha256 = "1q50hw217kll1vaxp7vz4x84f478ymd4lgz7mhmz8p94l8lxgi5g";
+      sha256 = "0pqa98z3ij6a3v9wkmvc8b410kv30y0xxqf0i6if3lp4lx3rgqjj";
     };
     propagatedBuildInputs = [ ClassInspector ];
+    buildInputs = [ TestRequires ];
   };
 
   ClassVirtual = buildPerlPackage rec {
@@ -2207,10 +2327,10 @@ let self = _self // overrides; _self = with self; {
 
 
   Clone = buildPerlPackage rec {
-    name = "Clone-0.38";
+    name = "Clone-0.39";
     src = fetchurl {
       url = "mirror://cpan/authors/id/G/GA/GARU/${name}.tar.gz";
-      sha256 = "1s5xrv9zlckqqzyhxi0l9lwj9m6na2bz5hqxrkva2v7gnx5m7c4z";
+      sha256 = "0bgsidb96gxzf3zhy6v1ksj1c200vxbwykk32fqm1mj97rl4dc5c";
     };
     meta = {
       description = "Recursively copy Perl datatypes";
@@ -2218,6 +2338,46 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
+  CloneChoose = buildPerlPackage rec {
+     name = "Clone-Choose-0.008";
+     src = fetchurl {
+       url = mirror://cpan/authors/id/H/HE/HERMES/Clone-Choose-0.008.tar.gz;
+       sha256 = "0grf0bg1ldzqakaq7aaigjngwd07zybrlmwjcnb0q986q0jcfank";
+     };
+     buildInputs = [ Clone ClonePP ];
+     meta = {
+       description = "Choose appropriate clone utility";
+       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+       homepage = "https://metacpan.org/release/Clone-Choose";
+     };
+  };
+
+  ClonePP = buildPerlPackage rec {
+     name = "Clone-PP-1.07";
+     src = fetchurl {
+       url = mirror://cpan/authors/id/N/NE/NEILB/Clone-PP-1.07.tar.gz;
+       sha256 = "15dkhqvih6rx9dnngfwwljcm9s8afb0nbyl2vdvhd8frnw4y31dz";
+     };
+     meta = {
+       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+     };
+  };
+
+  CodeTidyAll = buildPerlPackage rec {
+     name = "Code-TidyAll-0.69";
+     src = fetchurl {
+       url = mirror://cpan/authors/id/D/DR/DROLSKY/Code-TidyAll-0.69.tar.gz;
+       sha256 = "0pl5pnq9flcak1m9rvqxbygk9vp5ma7dymr90waaazpdqrx4zyhk";
+     };
+     propagatedBuildInputs = [ CaptureTiny ConfigINI FileWhich FileZglob Filepushd IPCRun3 IPCSystemSimple ListCompare ListSomeUtils LogAny Moo ScopeGuard SpecioLibraryPathTiny TextDiff TimeDate TimeDurationParse ];
+     buildInputs = [ TestClass TestClassMost TestDeep TestDifferences TestException TestFatal TestMost TestWarn TestWarnings librelative ];
+     meta = {
+       description = "Engine for tidyall, your all-in-one code tidier and validator";
+       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+       homepage = "http://metacpan.org/release/Code-TidyAll";
+     };
+  };
+
   # For backwards compatibility.
   CommonSense = self.commonsense;
 
@@ -2235,22 +2395,23 @@ let self = _self // overrides; _self = with self; {
   };
 
   CompressBzip2 = buildPerlPackage {
-    name = "Compress-Bzip2-2.22";
+    name = "Compress-Bzip2-2.26";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RU/RURBAN/Compress-Bzip2-2.22.tar.gz;
-      sha256 = "1603e284e07953415b8eaa132698db8b03f46383f883c0902926f36eecb7e895";
+      url = mirror://cpan/authors/id/R/RU/RURBAN/Compress-Bzip2-2.26.tar.gz;
+      sha256 = "5132f0c5f377a54d77ee36d332aa0ece585c22a40f2c31f2619e40262f5c4f0c";
     };
     meta = {
       description = "Interface to Bzip2 compression library";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
+    doCheck = false;
   };
 
   CompressRawBzip2 = buildPerlPackage rec {
-    name = "Compress-Raw-Bzip2-2.070";
+    name = "Compress-Raw-Bzip2-2.074";
     src = fetchurl {
       url = "mirror://cpan/authors/id/P/PM/PMQS/${name}.tar.gz";
-      sha256 = "0rmwpqhnhw5n11gm9mbxrxnardm0jfy7568ln9zw21bq3d7dsmn8";
+      sha256 = "0b5jwqf15zr787acnx8sfyy2zavdd7gfkd98n1dgy8fs6r8yb8a4";
     };
 
     # Don't build a private copy of bzip2.
@@ -2273,19 +2434,18 @@ let self = _self // overrides; _self = with self; {
   CompressZlib = IOCompress;
 
   CompressUnLZMA = buildPerlPackage rec {
-    name = "Compress-unLZMA-0.04";
+    name = "Compress-unLZMA-0.05";
     src = fetchurl {
       url = "mirror://cpan/authors/id/F/FE/FERREIRA/${name}.tar.gz";
-      sha256 = "0sg9gj3rhif6hgmhwpz6w0g52l65vj5hx9818v5cdhvcif0jhg0b";
+      sha256 = "1f0pcpcjjj60whqc5sc5jd0dd7z3si4fnp268w4ykmcjini03s2d";
     };
-    propagatedBuildInputs = [ IOCompress ];
   };
 
   ConfigAny = buildPerlPackage rec {
-    name = "Config-Any-0.26";
+    name = "Config-Any-0.32";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/B/BR/BRICAS/${name}.tar.gz";
-      sha256 = "155521bxiim3dv8d8f69fqd9zxm615fd4pfmv5fki17hq7ai5bpr";
+      url = mirror://cpan/authors/id/H/HA/HAARG/Config-Any-0.32.tar.gz;
+      sha256 = "0l31sg7dwh4dwwnql42hp7arkhcm15bhsgfg4i6xvbjzy9f2mnk8";
     };
     propagatedBuildInputs = [ ModulePluggable ];
     meta = {
@@ -2295,10 +2455,10 @@ let self = _self // overrides; _self = with self; {
   };
 
   ConfigAutoConf = buildPerlPackage rec {
-    name = "Config-AutoConf-0.311";
+    name = "Config-AutoConf-0.315";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/A/AM/AMBS/${name}.tar.gz";
-      sha256 = "1zk2xfvxd3yn3299i13vn5wm1c7jxgr7z3h0yh603xs2h9cg79wc";
+      url = mirror://cpan/authors/id/R/RE/REHSACK/Config-AutoConf-0.315.tar.gz;
+      sha256 = "0h39x9rzrhhilpg8yxlzpka269qrzsjg0iy0c1b9xflqlvhx2g2b";
     };
     propagatedBuildInputs = [ CaptureTiny ];
     meta = {
@@ -2308,10 +2468,10 @@ let self = _self // overrides; _self = with self; {
   };
 
   ConfigGeneral = buildPerlPackage rec {
-    name = "Config-General-2.60";
+    name = "Config-General-2.63";
     src = fetchurl {
       url = "mirror://cpan/authors/id/T/TL/TLINDEN/${name}.tar.gz";
-      sha256 = "1biqzrvxr9cc8m5jaldnqzmj44q07y4pv6izgb7irsij0rn18m2i";
+      sha256 = "1bbg3wp0xcpj04cmm86j1x0j5968jqi5s2c87qs7dgmap1vzk6qa";
     };
     meta = {
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
@@ -2319,10 +2479,10 @@ let self = _self // overrides; _self = with self; {
   };
 
   ConfigGitLike = buildPerlPackage {
-    name = "Config-GitLike-1.16";
+    name = "Config-GitLike-1.17";
     src = fetchurl {
-      url = mirror://cpan/authors/id/A/AL/ALEXMV/Config-GitLike-1.16.tar.gz;
-      sha256 = "48c7f7e71405219582a96e5266cbec51c0ff3ec4bf0bb6db1fd12725ee23fe8f";
+      url = mirror://cpan/authors/id/A/AL/ALEXMV/Config-GitLike-1.17.tar.gz;
+      sha256 = "674a07b814fdcf9d323088d093245bcd066aaee24ec0914cb4decc9a943de54e";
     };
     buildInputs = [ TestException ];
     propagatedBuildInputs = [ Moo MooXTypesMooseLike ];
@@ -2360,13 +2520,42 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
+  ConfigIdentity = buildPerlPackage rec {
+     name = "Config-Identity-0.0019";
+     src = fetchurl {
+       url = mirror://cpan/authors/id/D/DA/DAGOLDEN/Config-Identity-0.0019.tar.gz;
+       sha256 = "1a0jx12pxwpbnkww4xg4lav8j6ls89hrdimhj4a697k56zdhnli9";
+     };
+     propagatedBuildInputs = [ FileHomeDir IPCRun ];
+     buildInputs = [ TestDeep ];
+     meta = {
+       description = "Load (and optionally decrypt via GnuPG) user/pass identity information ";
+       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+       homepage = "https://github.com/dagolden/Config-Identity";
+     };
+  };
+
+  ConfigIniFiles = buildPerlModule rec {
+    name = "Config-IniFiles-2.95";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/S/SH/SHLOMIF/${name}.tar.gz";
+      sha256 = "414a19f98cc745769ce762aefce01fa52d031bc244403cd32fd1f6257f2dedc2";
+    };
+    propagatedBuildInputs = [ IOStringy ];
+    meta = {
+      description = "A module for reading .ini-style configuration files";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+      maintainers = [ maintainers.limeytexan ];
+    };
+  };
+
   ConfigMerge = buildPerlPackage {
     name = "Config-Merge-1.04";
     src = fetchurl {
       url = mirror://cpan/authors/id/D/DR/DRTECH/Config-Merge-1.04.tar.gz;
       sha256 = "a932477b43ae5fb04a16f071a891da7bd2086c10c680592f2888fa9d9972cccf";
     };
-    buildInputs = [ ConfigAny YAML ];
+    buildInputs = [ YAML ];
     propagatedBuildInputs = [ ConfigAny ];
     meta = {
       description = "Load a configuration directory tree containing YAML, JSON, XML, Perl, INI or Config::General files";
@@ -2381,7 +2570,7 @@ let self = _self // overrides; _self = with self; {
       sha256 = "bfb5870452a12ead4d3fd485045d1fa92b2a11741c3b93b61eb43f3dcbd6099b";
     };
     buildInputs = [ TestFatal ];
-    propagatedBuildInputs = [ ClassLoad ModulePluggable Moose MooseXOneArgNew ParamsUtil RoleHasMessage RoleIdentifiable Throwable TieIxHash TryTiny ];
+    propagatedBuildInputs = [ ModulePluggable MooseXOneArgNew RoleHasMessage RoleIdentifiable Throwable TieIxHash ];
     meta = {
       homepage = https://github.com/rjbs/Config-MVP;
       description = "Multivalue-property package-oriented configuration";
@@ -2396,7 +2585,7 @@ let self = _self // overrides; _self = with self; {
       url = "mirror://cpan/authors/id/R/RJ/RJBS/${name}.tar.gz";
       sha256 = "0iflnsh0sgihff3ra8sr7awiiscmqvrp1anaskkwksqi6yzidab9";
     };
-    propagatedBuildInputs = [ ConfigINI ConfigMVP Moose ];
+    propagatedBuildInputs = [ ConfigINI ConfigMVP ];
     meta = {
       homepage = https://github.com/rjbs/Config-MVP-Reader-INI;
       description = "An MVP config reader for .ini files";
@@ -2404,11 +2593,11 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
-  ConfigStd = buildPerlPackage {
-    name = "Config-Std-0.901";
+  ConfigStd = buildPerlModule {
+    name = "Config-Std-0.903";
     src = fetchurl {
-      url = mirror://cpan/authors/id/B/BR/BRICKER/Config-Std-0.901.tar.gz;
-      sha256 = "c5c57eb82a37cc41ea152098fc8e5548acfea8861140fbac8fc3beccbb09c243";
+      url = mirror://cpan/authors/id/B/BR/BRICKER/Config-Std-0.903.tar.gz;
+      sha256 = "b7709ff663bd279d264ab9c2f51e9e9588479a3367a8c4cfc18659c2a11480fe";
     };
     propagatedBuildInputs = [ ClassStd ];
     meta = {
@@ -2430,8 +2619,7 @@ let self = _self // overrides; _self = with self; {
       url = mirror://cpan/authors/id/M/MR/MRSCOTTY/Config-Versioned-1.01.tar.gz;
       sha256 = "bc9a4ae3738bd89f86a07bca673627ca3c92ba969737cd6dbc7ab7ad17cd2348";
     };
-    buildInputs = [ DateTime PathClass ];
-    propagatedBuildInputs = [ ConfigStd GitPurePerl Moose ];
+    propagatedBuildInputs = [ ConfigStd GitPurePerl ];
     doCheck = false;
     meta = {
       description = "Simple, versioned access to configuration data";
@@ -2440,12 +2628,12 @@ let self = _self // overrides; _self = with self; {
   };
 
   Connector = buildPerlPackage rec {
-    name = "Connector-1.22";
+    name = "Connector-1.26";
     src = fetchurl {
       url = "mirror://cpan/authors/id/M/MR/MRSCOTTY/${name}.tar.gz";
-      sha256 = "aa178d1865817ad2dea5c79645c8e6420ca2cfb951f20c98b5154307de219016";
+      sha256 = "9852c2b43a8201996530deb1d3aa7fda18abe1ce24c80fbdebd7981cd2f05c45";
     };
-    buildInputs = [ ConfigMerge ConfigStd ConfigVersioned CryptSSLeay DBDSQLite DBI IOSocketSSL LWPProtocolhttps LWPUserAgent TemplateToolkit YAML ];
+    buildInputs = [ ConfigMerge ConfigStd ConfigVersioned DBDSQLite DBI ProcSafeExec TemplateToolkit YAML ];
     propagatedBuildInputs = [ LogLog4perl Moose ];
     prePatch = ''
       # Attempts to use network.
@@ -2457,6 +2645,20 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
+  ConstFast = buildPerlModule rec {
+     name = "Const-Fast-0.014";
+     src = fetchurl {
+       url = mirror://cpan/authors/id/L/LE/LEONT/Const-Fast-0.014.tar.gz;
+       sha256 = "1nwlldgrx86yn7y6a53cqgvzm2ircsvxg1addahlcy6510x9a1gq";
+     };
+     propagatedBuildInputs = [ SubExporterProgressive ];
+     buildInputs = [ ModuleBuildTiny TestFatal ];
+     meta = {
+       description = "Facility for creating read-only scalars, arrays, and hashes";
+       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+     };
+  };
+
   ConvertASN1 = buildPerlPackage rec {
     name = "Convert-ASN1-0.27";
     src = fetchurl {
@@ -2465,7 +2667,7 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
-  ConvertColor = buildPerlPackage {
+  ConvertColor = buildPerlModule {
     name = "Convert-Color-0.11";
     src = fetchurl {
       url = mirror://cpan/authors/id/P/PE/PEVANS/Convert-Color-0.11.tar.gz;
@@ -2482,12 +2684,12 @@ let self = _self // overrides; _self = with self; {
   constant = buildPerlPackage rec {
     name = "constant-1.33";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/R/RJ/RJBS/${name}.tar.gz";
+      url = mirror://cpan/authors/id/R/RJ/RJBS/constant-1.33.tar.gz;
       sha256 = "015my616h5l2fswh52x4dp3n007gk5lax83ww9q6cmzb610mv5kr";
     };
   };
 
-  constantboolean = buildPerlPackage {
+  constantboolean = buildPerlModule {
     name = "constant-boolean-0.02";
     src = fetchurl {
       url = mirror://cpan/authors/id/D/DE/DEXTER/constant-boolean-0.02.tar.gz;
@@ -2500,6 +2702,18 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
+  curry = buildPerlPackage rec {
+     name = "curry-1.001000";
+     src = fetchurl {
+       url = mirror://cpan/authors/id/M/MS/MSTROUT/curry-1.001000.tar.gz;
+       sha256 = "1m2n3w67cskh8ic6vf6ik0fmap9zma875kr5rhyznr1041wn064b";
+     };
+     meta = {
+       description = "Create automatic curried method call closures for any class or object";
+       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+     };
+  };
+
   constantdefer = pkgs.perlPackages.constant-defer;
 
   constant-defer = buildPerlPackage rec {
@@ -2511,21 +2725,21 @@ let self = _self // overrides; _self = with self; {
   };
 
   ContextPreserve = buildPerlPackage rec {
-    name = "Context-Preserve-0.01";
+    name = "Context-Preserve-0.03";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/J/JR/JROCKWAY/${name}.tar.gz";
-      sha256 = "0gssillawjknqks81x7fg7w2x94bnyklgd8ry2pr1k6ifkjhwz46";
+      url = mirror://cpan/authors/id/E/ET/ETHER/Context-Preserve-0.03.tar.gz;
+      sha256 = "07zxgmb11bn4zj3w9g1zwbb9iv4jyk5q7hc0nv59knvv5i64m489";
     };
-    buildInputs = [ TestException Testuseok ];
+    buildInputs = [ TestException TestSimple13 ];
   };
 
   CookieBaker = buildPerlModule rec {
-    name = "Cookie-Baker-0.06";
+    name = "Cookie-Baker-0.09";
     src = fetchurl {
       url = "mirror://cpan/authors/id/K/KA/KAZEBURO/${name}.tar.gz";
-      sha256 = "4b1fb173d6977af902fa018242a0b28099e5612a2fa43e0160380781f5d76ea0";
+      sha256 = "be020a634162b319cab55b6e2bf10556a33a210a2eee8a2f1aa1b19b5e33aa4f";
     };
-    buildInputs = [ ModuleBuild TestTime ];
+    buildInputs = [ ModuleBuildTiny TestTime ];
     propagatedBuildInputs = [ URI ];
     meta = {
       homepage = https://github.com/kazeburo/Cookie-Baker;
@@ -2540,28 +2754,54 @@ let self = _self // overrides; _self = with self; {
       url = "mirror://cpan/authors/id/A/AG/AGENT/${name}.tar.gz";
       sha256 = "1616rcn2qn1cwiv3rxb8mq5fmwxpj4gya1lxxxq2w952h03p3fd3";
     };
-    buildInputs = [ TestMore ];
     propagatedBuildInputs = [ CGICookieXS ];
   };
 
+  Coro = buildPerlPackage rec {
+     name = "Coro-6.514";
+     src = fetchurl {
+       url = mirror://cpan/authors/id/M/ML/MLEHMANN/Coro-6.514.tar.gz;
+       sha256 = "0qndvq74knyra9r98pyllsxz0s80dzc1ljx10arjv9whja1l6cyq";
+     };
+     propagatedBuildInputs = [ AnyEvent Guard commonsense ];
+     buildInputs = [ CanaryStability ];
+     meta = {
+     };
+  };
+
+  Corona = buildPerlPackage rec {
+     name = "Corona-0.1004";
+     src = fetchurl {
+       url = mirror://cpan/authors/id/M/MI/MIYAGAWA/Corona-0.1004.tar.gz;
+       sha256 = "0g5gpma3998rn61qfjv5csv2nrdi4sc84ipkb4k6synyhfgd3xgz";
+     };
+     propagatedBuildInputs = [ NetServerCoro Plack ];
+     buildInputs = [ TestSharedFork TestTCP ];
+     meta = {
+       description = "Coro based PSGI web server";
+       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+     };
+  };
+
   CPAN = buildPerlPackage rec {
-    name = "CPAN-2.10";
+    name = "CPAN-2.16";
     src = fetchurl {
       url = "mirror://cpan/authors/id/A/AN/ANDK/${name}.tar.gz";
-      sha256 = "090e9e3d9fca83b89341a75c514c7411b743c887743723dbfe80f30d4ee5f3ad";
+      sha256 = "7dbd61c172b99b05c16a2fce790140489494c744190f6c4f80c162d5ae3ccc2c";
     };
-    propagatedBuildInputs = [ ArchiveZip CompressBzip2 Expect FileHomeDir FileWhich JSONPP LWP ModuleBuild ModuleSignature TermReadKey TextGlob YAML YAMLLibYAML YAMLSyck ];
+    propagatedBuildInputs = [ Expect FileWhich LWP ModuleBuild ModuleSignature TermReadKey TextGlob YAML ];
     meta = {
       description = "Query, download and build perl modules from CPAN sites";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
+    buildInputs = [ ArchiveZip ];
   };
 
   CpanelJSONXS = buildPerlPackage rec {
-    name = "Cpanel-JSON-XS-4.01";
+    name = "Cpanel-JSON-XS-4.02";
     src = fetchurl {
       url = "mirror://cpan/authors/id/R/RU/RURBAN/${name}.tar.gz";
-      sha256 = "c8cfd32a8a9508ab7f280452428582c3e46d0bed4ea863c3ec27c34f6920de60";
+      sha256 = "e9fe45a0b5bf553076bd395ed04766d58683557f818af559cd82d33409846d20";
     };
     meta = {
       description = "CPanel fork of JSON::XS, fast and correct serializing";
@@ -2582,13 +2822,24 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
+  CPANDistnameInfo = buildPerlPackage rec {
+     name = "CPAN-DistnameInfo-0.12";
+     src = fetchurl {
+       url = mirror://cpan/authors/id/G/GB/GBARR/CPAN-DistnameInfo-0.12.tar.gz;
+       sha256 = "0d94kx596w7k328cvq4y96z1gz12hdhn3z1mklkbrb7fyzlzn91g";
+     };
+     meta = {
+       description = "Extract distribution name and version from a distribution filename";
+       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+     };
+  };
+
   CPANMeta = buildPerlPackage rec {
-    name = "CPAN-Meta-2.150005";
+    name = "CPAN-Meta-2.150010";
     src = fetchurl {
       url = "mirror://cpan/authors/id/D/DA/DAGOLDEN/${name}.tar.gz";
-      sha256 = "04g7cfbx7vi8kqc9pwv7n3z95vimkbv0h7v6p1ky37gzz3nsw66j";
+      sha256 = "1mm3dfw3ffyzb2ikpqn9l6zyqrxijb4vyywmbx2l21ryqwp0zy74";
     };
-    propagatedBuildInputs = [ ParseCPANMeta CPANMetaYAML CPANMetaRequirements JSONPP ];
     meta = {
       homepage = https://github.com/Perl-Toolchain-Gang/CPAN-Meta;
       description = "The distribution metadata for a CPAN dist";
@@ -2597,13 +2848,12 @@ let self = _self // overrides; _self = with self; {
   };
 
   CPANMetaCheck = buildPerlPackage rec {
-    name = "CPAN-Meta-Check-0.012";
+    name = "CPAN-Meta-Check-0.014";
     src = fetchurl {
       url = "mirror://cpan/authors/id/L/LE/LEONT/${name}.tar.gz";
-      sha256 = "1rymh4l6sdh8l1q2q25lncmi4afbh2il0bpk8gxmd13qmjidjk2b";
+      sha256 = "07rmdbz1rbnb7w33vswn1wixlyh947sqr93xrvcph1hwzhmmg818";
     };
-    buildInputs = [ TestDeep ModuleMetadata ];
-    propagatedBuildInputs = [ CPANMeta CPANMetaRequirements ];
+    buildInputs = [ TestDeep ];
     meta = {
       description = "Verify requirements in a CPAN::Meta object";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
@@ -2611,10 +2861,10 @@ let self = _self // overrides; _self = with self; {
   };
 
   CPANMetaRequirements = buildPerlPackage {
-    name = "CPAN-Meta-Requirements-2.128";
+    name = "CPAN-Meta-Requirements-2.140";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DA/DAGOLDEN/CPAN-Meta-Requirements-2.128.tar.gz;
-      sha256 = "ff0ae309ed76d8c7381fdb8436659a594e6884eeac1c9a742ba9aa7ee2a1d52d";
+      url = mirror://cpan/authors/id/D/DA/DAGOLDEN/CPAN-Meta-Requirements-2.140.tar.gz;
+      sha256 = "0898645e8e86f0922f0f0502b503f592a8eb3d3176b4fd87adcc7ba51e751fa9";
     };
     meta = {
       homepage = https://github.com/dagolden/CPAN-Meta-Requirements;
@@ -2624,12 +2874,11 @@ let self = _self // overrides; _self = with self; {
   };
 
   CPANMetaYAML = buildPerlPackage rec {
-    name = "CPAN-Meta-YAML-0.016";
+    name = "CPAN-Meta-YAML-0.018";
     src = fetchurl {
       url = "mirror://cpan/authors/id/D/DA/DAGOLDEN/${name}.tar.gz";
-      sha256 = "195v3lrfjzqxfiqi1zp02xmhp6mg9y3p7abmlfk2nj1rb28p0yrl";
+      sha256 = "150jh9l7baddl2587m23qs2l0pb395qsx9bhsgdsnn6y9k4zgjik";
     };
-    buildInputs = [ JSONPP ];
     doCheck = true;
     meta = {
       homepage = https://github.com/dagolden/CPAN-Meta-YAML;
@@ -2639,10 +2888,10 @@ let self = _self // overrides; _self = with self; {
   };
 
   CPANPerlReleases = buildPerlPackage rec {
-    name = "CPAN-Perl-Releases-2.36";
+    name = "CPAN-Perl-Releases-3.50";
     src = fetchurl {
       url = "mirror://cpan/authors/id/B/BI/BINGOS/${name}.tar.gz";
-      sha256 = "092nr3x2bs0lb3k8vk0mkghqzcw05s0gyyvfnmvx4fwwza8kya85";
+      sha256 = "1nr739rnrw58p9r9z26pr4sc4s5z7wbhgyva3r2b2spyaylp5qkz";
     };
     meta = {
       homepage = https://github.com/bingos/cpan-perl-releases;
@@ -2652,12 +2901,11 @@ let self = _self // overrides; _self = with self; {
   };
 
   CPANPLUS = buildPerlPackage rec {
-    name = "CPANPLUS-0.9154";
+    name = "CPANPLUS-0.9172";
     src = fetchurl {
       url = "mirror://cpan/authors/id/B/BI/BINGOS/${name}.tar.gz";
-      sha256 = "1mz20qlk0wjl4mwi4b9nji4hyh9a0l7m1v5bmypwwmhzpac5rq5c";
+      sha256 = "1q4b0fkdn4sh8ym9dig21w96p7kzrhq66lqhn0dy1l3pgx413zlc";
     };
-    propagatedBuildInputs = [ ArchiveExtract LogMessage ModulePluggable ObjectAccessor PackageConstants ];
     doCheck = false;
     meta = {
       homepage = https://github.com/jib/cpanplus-devel;
@@ -2667,12 +2915,12 @@ let self = _self // overrides; _self = with self; {
   };
 
   CPANUploader = buildPerlPackage rec {
-    name = "CPAN-Uploader-0.103010";
+    name = "CPAN-Uploader-0.103013";
     src = fetchurl {
       url = "mirror://cpan/authors/id/R/RJ/RJBS/${name}.tar.gz";
-      sha256 = "1n57d61q9g37s0pp7sriq8vvqj2cvp3s9v0grpv277s9idvm37x8";
+      sha256 = "07k8ia8gvj9mrz7a2lckgd3vxjsahfr43lgrb85474dkhz94f5pq";
     };
-    propagatedBuildInputs = [ FileHomeDir GetoptLongDescriptive HTTPMessage LWP LWPProtocolhttps TermReadKey ];
+    propagatedBuildInputs = [ FileHomeDir GetoptLongDescriptive LWPProtocolHttps TermReadKey ];
     meta = {
       homepage = https://github.com/rjbs/cpan-uploader;
       description = "Upload things to the CPAN";
@@ -2702,7 +2950,6 @@ let self = _self // overrides; _self = with self; {
       url = "mirror://cpan/authors/id/D/DP/DPARIS/${name}.tar.gz";
       sha256 = "1rypxlhpd1jc0c327aghgl9y6ls47drmpvn0a40b4k3vhfsypc9d";
     };
-    buildInputs = [CryptCBC];
   };
 
   CryptDH = buildPerlPackage rec {
@@ -2711,7 +2958,7 @@ let self = _self // overrides; _self = with self; {
       url    = "mirror://cpan/authors/id/M/MI/MITHALDU/${name}.tar.gz";
       sha256 = "0pvzlgwpx8fzdy64ki15155vhsj30i9zxmw6i4p7irh17d1g7368";
     };
-    buildInputs = [ MathBigInt MathBigIntGMP ];
+    propagatedBuildInputs = [ MathBigIntGMP ];
   };
 
   CryptDHGMP = buildPerlPackage rec {
@@ -2720,26 +2967,25 @@ let self = _self // overrides; _self = with self; {
       url = "mirror://cpan/authors/id/D/DM/DMAKI/${name}.tar.gz";
       sha256 = "0f5gdprcql4kwzgxl2s6ngcfg1jl45lzcqh7dkv5bkwlwmxa9rsi";
     };
-    buildInputs = [ DevelChecklib TestRequires pkgs.gmp ];
+    buildInputs = [ pkgs.gmp DevelChecklib TestRequires ];
     NIX_CFLAGS_COMPILE = "-I${pkgs.gmp.dev}/include";
     NIX_CFLAGS_LINK = "-L${pkgs.gmp.out}/lib -lgmp";
   };
 
-  CryptEksblowfish = buildPerlPackage rec {
+  CryptEksblowfish = buildPerlModule rec {
     name = "Crypt-Eksblowfish-0.009";
     src = fetchurl {
       url = "mirror://cpan/authors/id/Z/ZE/ZEFRAM/${name}.tar.gz";
       sha256 = "3cc7126d5841107237a9be2dc5c7fbc167cf3c4b4ce34678a8448b850757014c";
     };
-    buildInputs = [ ModuleBuild ];
-    propagatedBuildInputs = [ClassMix];
+    propagatedBuildInputs = [ ClassMix ];
   };
 
   CryptJWT = buildPerlPackage rec {
-    name = "Crypt-JWT-0.020";
+    name = "Crypt-JWT-0.021";
     src = fetchurl {
       url = "mirror://cpan/authors/id/M/MI/MIK/${name}.tar.gz";
-      sha256 = "0587fc11435aecbbdc19b33f774d05ff31f19750b26a3588af93f33e8000d464";
+      sha256 = "7227a10d185d6550fea855ef44bb8fb927d8c8644cfb16e0b674959bf103df5f";
     };
     propagatedBuildInputs = [ CryptX JSONMaybeXS ];
     meta = {
@@ -2748,7 +2994,7 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
-  CryptPasswdMD5 = buildPerlPackage {
+  CryptPasswdMD5 = buildPerlModule {
     name = "Crypt-PasswdMD5-1.40";
     src = fetchurl {
       url = mirror://cpan/authors/id/R/RS/RSAVAGE/Crypt-PasswdMD5-1.40.tgz;
@@ -2756,27 +3002,27 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
-  CryptPKCS10 = buildPerlPackage {
-    name = "Crypt-PKCS10-1.0";
+  CryptPKCS10 = buildPerlModule {
+    name = "Crypt-PKCS10-1.9";
     src = fetchurl {
-      url = mirror://cpan/authors/id/G/GK/GKNOCKE/Crypt-PKCS10-1.0.zip;
-      sha256 = "08de199411056df1a1e6374b503574d21089913daa3823ebb21aa399dc59bdb6";
+      url = mirror://cpan/authors/id/M/MR/MRSCOTTY/Crypt-PKCS10-1.9.tar.gz;
+      sha256 = "ee0ce58cc17e9a8d7a6f33f3f26aca5be7edfc054204f7946370b3a8d291f0fd";
     };
-    buildInputs = [ pkgs.unzip ];
+    buildInputs = [ pkgs.unzip ModuleBuildTiny ];
     propagatedBuildInputs = [ ConvertASN1 ];
     meta = {
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
-  CryptRandomSource = buildPerlPackage {
-    name = "Crypt-Random-Source-0.07";
+  CryptRandomSource = buildPerlModule {
+    name = "Crypt-Random-Source-0.12";
     src = fetchurl {
-      url = mirror://cpan/authors/id/N/NU/NUFFIN/Crypt-Random-Source-0.07.tar.gz;
-      sha256 = "0kxcqcpknh9hhfnpiymxrjg74yj7nfr7k4fgrfmd9s2cw9p9mqdv";
+      url = mirror://cpan/authors/id/E/ET/ETHER/Crypt-Random-Source-0.12.tar.gz;
+      sha256 = "00mw5m52sbz9nqp3f6axyrgcrihqxn7k8gv0vi1kvm1j1nc9g29h";
     };
-    buildInputs = [ Testuseok TestException ];
-    propagatedBuildInputs = [ AnyMoose CaptureTiny ModuleFind namespaceclean SubExporter ];
+    buildInputs = [ ModuleBuildTiny TestException TestSimple13 ];
+    propagatedBuildInputs = [ CaptureTiny ModuleFind Moo SubExporter TypeTiny namespaceclean ];
     meta = {
       homepage = http://search.cpan.org/dist/Crypt-Random-Source;
       description = "Get weak or strong random data from pluggable sources";
@@ -2802,13 +3048,13 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
-  CryptMySQL = buildPerlPackage rec {
+  CryptMySQL = buildPerlModule rec {
     name = "Crypt-MySQL-0.04";
     src = fetchurl {
       url = "mirror://cpan/authors/id/I/IK/IKEBE/${name}.tar.gz";
       sha256 = "93ebdfaaefcfe9ab683f0121c85f24475d8197f0bcec46018219e4111434dde3";
     };
-    propagatedBuildInputs = [DigestSHA1];
+    propagatedBuildInputs = [ DigestSHA1 ];
   };
 
   CryptRijndael = buildPerlPackage rec {
@@ -2820,10 +3066,10 @@ let self = _self // overrides; _self = with self; {
   };
 
   CryptUnixCryptXS = buildPerlPackage rec {
-    name = "Crypt-UnixCrypt_XS-0.10";
+    name = "Crypt-UnixCrypt_XS-0.11";
     src = fetchurl {
       url = "mirror://cpan/authors/id/B/BO/BORISZ/${name}.tar.gz";
-      sha256 = "1d3xamq2mm3v2bfb1ay66crljm0bigfbhay1fqglcsrb75b7ls7r";
+      sha256 = "1ajg3x6kwxy4x9p3nw1j36qjxpjvdpi9wkca5gfd86y9q8939sv2";
     };
   };
 
@@ -2853,10 +3099,10 @@ let self = _self // overrides; _self = with self; {
   };
 
   CryptOpenSSLBignum = buildPerlPackage rec {
-    name = "Crypt-OpenSSL-Bignum-0.04";
+    name = "Crypt-OpenSSL-Bignum-0.09";
     src = fetchurl {
-      url    = "mirror://cpan/authors/id/I/IR/IROBERTS/${name}.tar.gz";
-      sha256 = "18vg2bqyhc0ahfdh5dkbgph5nh92qcz5vi99jq8aam4h86if78bk";
+      url = mirror://cpan/authors/id/K/KM/KMX/Crypt-OpenSSL-Bignum-0.09.tar.gz;
+      sha256 = "1p22znbajq91lbk2k3yg12ig7hy5b4vy8igxwqkmbm4nhgxp4ki3";
     };
     NIX_CFLAGS_COMPILE = "-I${pkgs.openssl.dev}/include";
     NIX_CFLAGS_LINK = "-L${pkgs.openssl.out}/lib -lcrypto";
@@ -2890,23 +3136,23 @@ let self = _self // overrides; _self = with self; {
       sha256 = "1s7zm6ph37kg8jzaxnhi4ff4snxl7mi5h14arxbri0kp6s0lzlzm";
     };
     makeMakerFlags = "--libpath=${pkgs.openssl.out}/lib --incpath=${pkgs.openssl.dev}/include";
-    buildInputs = [ PathClass TryTiny ];
+    buildInputs = [ PathClass ];
+    propagatedBuildInputs = [ LWPProtocolHttps ];
   };
 
   CSSDOM = buildPerlPackage rec {
-    name = "CSS-DOM-0.16";
+    name = "CSS-DOM-0.17";
     src = fetchurl {
       url = "mirror://cpan/authors/id/S/SP/SPROUT/${name}.tar.gz";
-      sha256 = "0s1gg6jvcxlj87sbbbcn9riw7rrh2n85hkbaim9civki8vj8vg9z";
+      sha256 = "09phb6c9czpcp9imq06khm54kspsx6hnvfrjxramx663ygmpifb5";
     };
-
-    buildInputs = [ Clone ];
+    propagatedBuildInputs = [ Clone ];
   };
 
-  CSSMinifierXP = buildPerlPackage rec {
+  CSSMinifierXP = buildPerlModule rec {
     name = "CSS-Minifier-XS-0.09";
     src = fetchurl {
-      url = "https://cpan.metacpan.org/authors/id/G/GT/GTERMARS/CSS-Minifier-XS-0.09.tar.gz";
+      url = mirror://cpan/authors/id/G/GT/GTERMARS/CSS-Minifier-XS-0.09.tar.gz;
       sha256 = "1myswrmh0sqp5xjpp03x45z8arfmgkjx0srl3r6kjsyzl1zrk9l8";
     };
     meta = {
@@ -2929,11 +3175,11 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
-  Curses = let version = "1.33"; in buildPerlPackage {
+  Curses = let version = "1.36"; in buildPerlPackage {
     name = "Curses-${version}";
     src = fetchurl {
       url = "mirror://cpan/authors/id/G/GI/GIRAFFED/Curses-${version}.tar.gz";
-      sha256 = "126fhcyb822vqhszdrr7nmhrnshf06076shxdr7la0fwqzsfn7zb";
+      sha256 = "0r6xd9wr0c25rr28zixhqipak575zqsfb7r7f2693i9il1dpj554";
     };
     propagatedBuildInputs = [ pkgs.ncurses ];
     NIX_CFLAGS_LINK = "-lncurses";
@@ -2945,12 +3191,11 @@ let self = _self // overrides; _self = with self; {
   };
 
   CryptX = buildPerlPackage rec {
-    name = "CryptX-0.057";
+    name = "CryptX-0.059";
     src = fetchurl {
       url = "mirror://cpan/authors/id/M/MI/MIK/${name}.tar.gz";
-      sha256 = "b85fffbc8ecc0b8f1f768926c6b31e755e6df15556462d101d45ef5c48f9d025";
+      sha256 = "3ef0d6493f332b6a2e1b0d20eda034d060d66f19f48d47244c788c26dca09d27";
     };
-    propagatedBuildInputs = [ JSONMaybeXS ];
     meta = {
       description = "Crypto toolkit";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
@@ -2958,22 +3203,23 @@ let self = _self // overrides; _self = with self; {
   };
 
   CwdGuard = buildPerlModule rec {
-    name = "Cwd-Guard-0.04";
+    name = "Cwd-Guard-0.05";
     src = fetchurl {
       url = "mirror://cpan/authors/id/K/KA/KAZEBURO/${name}.tar.gz";
-      sha256 = "071k50n1yr48122jjjg50i1s2kwp06dmrisv35f3wjry8m6cqchm";
+      sha256 = "0xwf4rmii55k3lp19mpbh00mbgby7rxdk2lk84148bjhp6i7rz3s";
     };
     meta = {
       description = "Temporary changing working directory (chdir)";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
+    buildInputs = [ TestRequires ];
   };
 
   DataClone = buildPerlPackage {
-    name = "Data-Clone-0.003";
+    name = "Data-Clone-0.004";
     src = fetchurl {
-      url = mirror://cpan/authors/id/G/GF/GFUJI/Data-Clone-0.003.tar.gz;
-      sha256 = "16ldkjfag4dc3gssj051j212rzr2mawy7d001jflcab9g8hg3f1g";
+      url = mirror://cpan/authors/id/G/GF/GFUJI/Data-Clone-0.004.tar.gz;
+      sha256 = "0g1qhi5qyk4fp0pwyaw90vxiyyn8las0i8ghzrnr4srai1wy3r9g";
     };
     buildInputs = [ TestRequires ];
     meta = {
@@ -2985,10 +3231,10 @@ let self = _self // overrides; _self = with self; {
   };
 
   DataCompare = buildPerlPackage rec {
-    name = "Data-Compare-1.2102";
+    name = "Data-Compare-1.25";
     src = fetchurl {
       url = "mirror://cpan/authors/id/D/DC/DCANTRELL/${name}.tar.gz";
-      sha256 = "0v1997gnq3gpcr7f64jmyay2l60s5z6gsiy5hbpn1p2l2hrfnwlj";
+      sha256 = "0wzasidg9yjcfsi2gdiaw6726ikqda7n24n0v2ngpaazakdkcjqx";
     };
     propagatedBuildInputs = [ FileFindRule ];
   };
@@ -3029,23 +3275,21 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
-  DataEntropy = buildPerlPackage rec {
+  DataEntropy = buildPerlModule rec {
     name = "Data-Entropy-0.007";
     src = fetchurl {
       url = "mirror://cpan/authors/id/Z/ZE/ZEFRAM/${name}.tar.gz";
       sha256 = "2611c4a1a3038594d79ea4ed14d9e15a9af8f77105f51667795fe4f8a53427e4";
     };
-    buildInputs = [ ModuleBuild ];
-    propagatedBuildInputs = [ParamsClassify DataFloat CryptRijndael HTTPLite];
+    propagatedBuildInputs = [ CryptRijndael DataFloat HTTPLite ParamsClassify ];
   };
 
-  DataFloat = buildPerlPackage rec {
-    name = "Data-Float-0.012";
+  DataFloat = buildPerlModule rec {
+    name = "Data-Float-0.013";
     src = fetchurl {
       url = "mirror://cpan/authors/id/Z/ZE/ZEFRAM/${name}.tar.gz";
-      sha256 = "698ecb092a3284e260cd3c3208408feb791d7d0f06a02673f9125ab2d51cc2d8";
+      sha256 = "e2b1523d858930b8bbdbd196f08235f5e678b84919ba87712e26313b9c27518a";
     };
-    buildInputs = [ ModuleBuild ];
   };
 
   DataFormValidator = buildPerlPackage rec {
@@ -3059,6 +3303,7 @@ let self = _self // overrides; _self = with self; {
       description = "Validates user input (usually from an HTML form) based on input profile";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
+    buildInputs = [ CGI ];
   };
 
   DataGUID = buildPerlPackage rec {
@@ -3067,7 +3312,7 @@ let self = _self // overrides; _self = with self; {
       url = "mirror://cpan/authors/id/R/RJ/RJBS/${name}.tar.gz";
       sha256 = "0yx7d4qwsr9n85gslip0y3mdwr5fkncfbwxz7si2a17x95yl7bxq";
     };
-    propagatedBuildInputs = [ DataUUID SubExporter SubInstall ];
+    propagatedBuildInputs = [ DataUUID SubExporter ];
     meta = {
       homepage = https://github.com/rjbs/Data-GUID;
       description = "Globally unique identifiers";
@@ -3093,7 +3338,7 @@ let self = _self // overrides; _self = with self; {
       url = mirror://cpan/authors/id/C/CL/CLKAO/Data-Hierarchy-0.34.tar.gz;
       sha256 = "1vfrkygdaq0k7006i83jwavg9wgszfcyzbl9b7fp37z2acmyda5k";
     };
-    propagatedBuildInputs = [TestException];
+    buildInputs = [ TestException ];
   };
 
   DataICal = buildPerlPackage {
@@ -3103,27 +3348,26 @@ let self = _self // overrides; _self = with self; {
       sha256 = "8ae9d20af244e5a6f606c7325e9d145dd0002676a178357af860a5e156925720";
     };
     buildInputs = [ TestLongString TestNoWarnings TestWarn ];
-    propagatedBuildInputs = [ ClassAccessor ClassReturnValue TextvFileasData ];
+    propagatedBuildInputs = [ ClassReturnValue TextvFileasData ];
     meta = {
       description = "Generates iCalendar (RFC 2445) calendar files";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
-  DataInteger = buildPerlPackage rec {
-    name = "Data-Integer-0.005";
+  DataInteger = buildPerlModule rec {
+    name = "Data-Integer-0.006";
     src = fetchurl {
       url = "mirror://cpan/authors/id/Z/ZE/ZEFRAM/${name}.tar.gz";
-      sha256 = "1dk04jf78sv63lww1qzagxlywcc04cfd3cfvzz168d24db9cr5bz";
+      sha256 = "0m53zxhx9sn49yqh7azlpyy9m65g54v8cd2ha98y77337gg7xdv3";
     };
-    buildInputs = [ ModuleBuild ];
   };
 
   DataOptList = buildPerlPackage {
-    name = "Data-OptList-0.109";
+    name = "Data-OptList-0.110";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RJ/RJBS/Data-OptList-0.109.tar.gz;
-      sha256 = "1j44rm2spprlq3bc80cxni3dzs3gfjiqv1qc9q7820n1qj0wgmqw";
+      url = mirror://cpan/authors/id/R/RJ/RJBS/Data-OptList-0.110.tar.gz;
+      sha256 = "1hzmgr2imdg1fc3hmwx0d56fhsdfyrgmgx7jb4jkyiv6575ifq9n";
     };
     propagatedBuildInputs = [ ParamsUtil SubInstall ];
     meta = {
@@ -3133,23 +3377,23 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
-  DataPage = buildPerlPackage {
+  DataPage = buildPerlModule {
     name = "Data-Page-2.02";
     src = fetchurl {
       url = mirror://cpan/authors/id/L/LB/LBROCARD/Data-Page-2.02.tar.gz;
       sha256 = "1hvi92c4h2angryc6pngw7gbm3ysc2jfmyxk2wh9ia4vdwpbs554";
     };
-    propagatedBuildInputs = [TestException ClassAccessorChained];
+    propagatedBuildInputs = [ ClassAccessorChained ];
+    buildInputs = [ TestException ];
   };
 
-  DataPagePageset = buildPerlPackage rec {
+  DataPagePageset = buildPerlModule rec {
     name = "Data-Page-Pageset-1.02";
     src = fetchurl {
-      url = "https://cpan.metacpan.org/authors/id/C/CH/CHUNZI/Data-Page-Pageset-1.02.tar.gz";
+      url = mirror://cpan/authors/id/C/CH/CHUNZI/Data-Page-Pageset-1.02.tar.gz;
       sha256 = "142isi8la383dbjxj7lfgcbmmrpzwckcc4wma6rdl8ryajsipb6f";
     };
-    buildInputs = [ TestPod TestPodCoverage ];
-    propagatedBuildInputs = [ DataPage ];
+    buildInputs = [ ClassAccessor DataPage TestException ];
     meta = {
       description = "change long page list to be shorter and well navigate";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
@@ -3180,26 +3424,26 @@ let self = _self // overrides; _self = with self; {
   };
 
   DataSection = buildPerlPackage rec {
-    name = "Data-Section-0.200006";
+    name = "Data-Section-0.200007";
     src = fetchurl {
       url = "mirror://cpan/authors/id/R/RJ/RJBS/${name}.tar.gz";
-      sha256 = "0psvsfn5q9y1qkzkq62dr1c6bfrckkkz8hr1sgkdn2mbkpwh319l";
+      sha256 = "1pmlxca0a8sv2jjwvhwgqavq6iwys6kf457lby4anjp3f1dpx4yd";
     };
-    propagatedBuildInputs = [ MROCompat SubExporter TestFailWarnings ];
+    propagatedBuildInputs = [ MROCompat SubExporter ];
     meta = {
       homepage = https://github.com/rjbs/data-section;
       description = "Read multiple hunks of data out of your DATA section";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
+    buildInputs = [ TestFailWarnings ];
   };
 
-  DataSerializer = buildPerlPackage {
+  DataSerializer = buildPerlModule {
     name = "Data-Serializer-0.60";
     src = fetchurl {
       url = mirror://cpan/authors/id/N/NE/NEELY/Data-Serializer-0.60.tar.gz;
       sha256 = "0ca4s811l7f2bqkx7vnyxbpp4f0qska89g2pvsfb3k0bhhbk0jdk";
     };
-    buildInputs = [ ModuleBuild ];
     meta = {
       description = "Modules that serialize data structures";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
@@ -3225,7 +3469,7 @@ let self = _self // overrides; _self = with self; {
       sha256 = "06e08432a6b97705606c925709b99129ad926516e477d58e4461e4b3d9f30917";
     };
     buildInputs = [ TestRequires ];
-    propagatedBuildInputs = [ Moose PathClass SubExporter namespaceclean ];
+    propagatedBuildInputs = [ Moose PathClass namespaceclean ];
     meta = {
       homepage = https://metacpan.org/release/Data-Stream-Bulk;
       description = "N at a time iteration API";
@@ -3248,11 +3492,11 @@ let self = _self // overrides; _self = with self; {
 
   DataTaxi = buildPerlPackage {
     name = "Data-Taxi-0.96";
-    propagatedBuildInputs = [DebugShowStuff];
     src = fetchurl {
       url = mirror://cpan/authors/id/M/MI/MIKO/Data-Taxi-0.96.tar.gz;
       sha256 = "0y4wls4jlwd6prvd77szymddhq9sfj06kaqnk4frlvd0zh83djxb";
     };
+    buildInputs = [ DebugShowStuff ];
   };
 
   DataUniqid = buildPerlPackage rec {
@@ -3275,10 +3519,10 @@ let self = _self // overrides; _self = with self; {
   };
 
   DataUUID = buildPerlPackage rec {
-    name = "Data-UUID-1.220";
+    name = "Data-UUID-1.221";
     src = fetchurl {
-      url = "mirror://cpan/modules/by-module/Data/${name}.tar.gz";
-      sha256 = "0q7rfi7firwcvkhh9bym3c56hlm63badfli27m77139lwh33nlwr";
+      url = mirror://cpan/authors/id/R/RJ/RJBS/Data-UUID-1.221.tar.gz;
+      sha256 = "0rw60wib0mj5z0v909mplh750y40hzyzf4z0b6h4ajxplyiv5irw";
     };
   };
 
@@ -3305,7 +3549,7 @@ let self = _self // overrides; _self = with self; {
       url = "mirror://cpan/authors/id/D/DR/DROLSKY/${name}.tar.gz";
       sha256 = "4470f253b8d2720a4dd3fa3ae550995417c2269f3be7ff030e01afa04a3a9421";
     };
-    buildInputs = [ Test2Suite ];
+    buildInputs = [ Test2Suite TestSimple13 ];
     propagatedBuildInputs = [ NetDomainTLD ];
     meta = {
       homepage = https://metacpan.org/release/Data-Validate-Domain;
@@ -3352,17 +3596,16 @@ let self = _self // overrides; _self = with self; {
       sha256 = "0m7d1505af9z2hj5aw020grcmjjlvnkjpvjam457d7k5qfy4m8lf";
     };
     buildInputs = [ TestRequires ];
-    propagatedBuildInputs =
-      [ ClassLoad Moose TaskWeaken TieToObject namespaceclean ];
+    propagatedBuildInputs = [ Moose TaskWeaken TieToObject namespaceclean ];
   };
 
   DateCalc = buildPerlPackage {
-    name = "Date-Calc-6.3";
+    name = "Date-Calc-6.4";
     src = fetchurl {
-      url = mirror://cpan/authors/id/S/ST/STBEY/Date-Calc-6.3.tar.gz;
-      sha256 = "14yvbgy9n8icwlm5zi86lskvxd6nsl42i1g9f5dwdaw9my463diy";
+      url = mirror://cpan/authors/id/S/ST/STBEY/Date-Calc-6.4.tar.gz;
+      sha256 = "1barz0jgdaan3jm7ciphs5n3ahwkl42imprs3y8c1dwpwyr3gqbw";
     };
-    propagatedBuildInputs = [CarpClan BitVector];
+    propagatedBuildInputs = [ BitVector ];
     doCheck = false; # some of the checks rely on the year being <2015
     meta = {
       maintainers = with maintainers; [ ];
@@ -3371,29 +3614,29 @@ let self = _self // overrides; _self = with self; {
   };
 
   DateExtract = buildPerlPackage {
-    name = "Date-Extract-0.05";
+    name = "Date-Extract-0.06";
     src = fetchurl {
-      url = mirror://cpan/authors/id/S/SH/SHARYANTO/Date-Extract-0.05.tar.gz;
-      sha256 = "ef866b4d596e976a6f4e4b266a6ad7fe4513fad9ae761d7a9ef66f672695fe6d";
+      url = mirror://cpan/authors/id/A/AL/ALEXMV/Date-Extract-0.06.tar.gz;
+      sha256 = "bc7658d5c50c3525ec0efcb55236a5de2d5d4fc06fc147fa3929c8f0953cda2b";
     };
-    buildInputs = [TestMockTime];
-    propagatedBuildInputs = [DateTimeFormatNatural ClassDataInheritable];
+    buildInputs = [ TestMockTime ];
+    propagatedBuildInputs = [ DateTimeFormatNatural ];
   };
 
   DateManip = buildPerlPackage rec {
-    name = "Date-Manip-6.51";
+    name = "Date-Manip-6.70";
     src = fetchurl {
       url = "mirror://cpan/authors/id/S/SB/SBECK/${name}.tar.gz";
-      sha256 = "0afvr2q2hspd807d6wd7kmrr7ypxdlh8bcnqsqbfwcwd74qadg13";
+      sha256 = "0r4k4ypb09xwhvq6das0vpx2c0xbhhhx83knq6jfpf8m55h8qi9r";
     };
     # for some reason, parsing /etc/localtime does not work anymore - make sure that the fallback "/bin/date +%Z" will work
     patchPhase = ''
       sed -i "s#/bin/date#${pkgs.coreutils}/bin/date#" lib/Date/Manip/TZ.pm
     '';
-    propagatedBuildInputs = [ TestInter ];
     meta = {
       description = "Date manipulation routines";
     };
+    buildInputs = [ TestInter ];
   };
 
   DateSimple = buildPerlPackage {
@@ -3407,14 +3650,14 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
-  DateTime = buildPerlModule rec {
-    name = "DateTime-1.21";
+  DateTime = buildPerlPackage rec {
+    name = "DateTime-1.48";
     src = fetchurl {
       url = "mirror://cpan/authors/id/D/DR/DROLSKY/${name}.tar.gz";
-      sha256 = "1cgnscbh40f783znpq15rkvbfflfm8azdl0v6yqr7minmq6899d3";
+      sha256 = "0glcsvgldrmbwbaps6hssjzipzghhx4jh3g4jdncjspdmdp481ah";
     };
-    buildInputs = [ TestFatal TestWarnings ];
-    propagatedBuildInputs = [ DateTimeLocale DateTimeTimeZone ParamsValidate TryTiny ];
+    buildInputs = [ CPANMetaCheck TestFatal TestWarnings ];
+    propagatedBuildInputs = [ DateTimeLocale DateTimeTimeZone ];
     meta = {
       description = "A date and time object";
       license = stdenv.lib.licenses.artistic2;
@@ -3427,11 +3670,11 @@ let self = _self // overrides; _self = with self; {
       url = "mirror://cpan/authors/id/P/PI/PIJLL/${name}.tar.gz";
       sha256 = "03h0llkwsiw2d2ci1ah5x9sp8xrvnbgd471i5hnpgl5w32nnhndv";
     };
-    propagatedBuildInputs = [ DateTime ];
     meta = {
       description = "Dates in the Julian calendar";
       license = stdenv.lib.licenses.artistic2;
     };
+    buildInputs = [ DateTime ];
   };
 
   DateTimeEventICal = buildPerlPackage rec {
@@ -3440,7 +3683,7 @@ let self = _self // overrides; _self = with self; {
       url = "mirror://cpan/authors/id/F/FG/FGLOCK/${name}.tar.gz";
       sha256 = "1skmykxbrf98ldi72d5s1v6228gfdr5iy4y0gpl0xwswxy247njk";
     };
-    propagatedBuildInputs = [ DateTime DateTimeEventRecurrence ];
+    propagatedBuildInputs = [ DateTimeEventRecurrence ];
     meta = {
       description = "DateTime rfc2445 recurrences";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
@@ -3448,12 +3691,12 @@ let self = _self // overrides; _self = with self; {
   };
 
   DateTimeEventRecurrence = buildPerlPackage {
-    name = "DateTime-Event-Recurrence-0.16";
+    name = "DateTime-Event-Recurrence-0.19";
     src = fetchurl {
-      url = mirror://cpan/authors/id/F/FG/FGLOCK/DateTime-Event-Recurrence-0.16.tar.gz;
-      sha256 = "3872e0126cd9527a918d3e537f85342d1fbb1e6a9ae5833262201b31879f8609";
+      url = mirror://cpan/authors/id/F/FG/FGLOCK/DateTime-Event-Recurrence-0.19.tar.gz;
+      sha256 = "f9408789a461107766ca1a232bb3ec1e702eec7ca8167401ea6ec3f4b6d0b5a5";
     };
-    propagatedBuildInputs = [ DateTime DateTimeSet ];
+    propagatedBuildInputs = [ DateTimeSet ];
   };
 
   DateTimeFormatBuilder = buildPerlPackage {
@@ -3462,21 +3705,20 @@ let self = _self // overrides; _self = with self; {
       url = mirror://cpan/authors/id/D/DR/DROLSKY/DateTime-Format-Builder-0.81.tar.gz;
       sha256 = "7cd58a8cb53bf698407cc992f89e4d49bf3dc55baf4f3f00f1def63a0fff33ef";
     };
-    propagatedBuildInputs = [ ClassFactoryUtil DateTime DateTimeFormatStrptime ParamsValidate ];
+    propagatedBuildInputs = [ ClassFactoryUtil DateTimeFormatStrptime ParamsValidate ];
     meta = {
       description = "Create DateTime parser classes and objects";
       license = stdenv.lib.licenses.artistic2;
     };
   };
 
-  DateTimeFormatDateParse = buildPerlPackage {
+  DateTimeFormatDateParse = buildPerlModule {
     name = "DateTime-Format-DateParse-0.05";
     src = fetchurl {
       url = mirror://cpan/authors/id/J/JH/JHOBLITT/DateTime-Format-DateParse-0.05.tar.gz;
       sha256 = "f6eca4c8be66ce9992ee150932f8fcf07809fd3d1664caf200b8a5fd3a7e5ebc";
     };
-    buildInputs = [ ModuleBuild ];
-    propagatedBuildInputs = [ DateTime DateTimeTimeZone TimeDate ];
+    propagatedBuildInputs = [ DateTime TimeDate ];
     meta = {
       description = "Parses Date::Parse compatible formats";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
@@ -3484,19 +3726,20 @@ let self = _self // overrides; _self = with self; {
   };
 
   DateTimeFormatFlexible = buildPerlPackage {
-    name = "DateTime-Format-Flexible-0.26";
+    name = "DateTime-Format-Flexible-0.30";
     src = fetchurl {
-      url = mirror://cpan/authors/id/T/TH/THINC/DateTime-Format-Flexible-0.26.tar.gz;
-      sha256 = "436efbc5e87cc385112e1c44336427fea32df670caf2b7d6dbb7a113ac6e693d";
+      url = mirror://cpan/authors/id/T/TH/THINC/DateTime-Format-Flexible-0.30.tar.gz;
+      sha256 = "e7974e0492d7801682b400dd8e9a6fbfd8a56602942883cd7867a2008734cca4";
     };
-    propagatedBuildInputs = [ DateTime DateTimeFormatBuilder DateTimeTimeZone ListMoreUtils ModulePluggable TestMockTime ];
+    propagatedBuildInputs = [ DateTimeFormatBuilder ListMoreUtils ModulePluggable ];
     meta = {
       description = "Flexibly parse strings and turn them into DateTime objects";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
+    buildInputs = [ TestException TestMockTime TestNoWarnings ];
   };
 
-  DateTimeFormatHTTP = buildPerlPackage rec {
+  DateTimeFormatHTTP = buildPerlModule rec {
     name = "DateTime-Format-HTTP-0.42";
     src = fetchurl {
       url = "mirror://cpan/authors/id/C/CK/CKRAS/${name}.tar.gz";
@@ -3509,27 +3752,26 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
-  DateTimeFormatICal = buildPerlPackage {
+  DateTimeFormatICal = buildPerlModule {
     name = "DateTime-Format-ICal-0.09";
     src = fetchurl {
       url = mirror://cpan/authors/id/D/DR/DROLSKY/DateTime-Format-ICal-0.09.tar.gz;
       sha256 = "8b09f6539f5e9c0df0e6135031699ed4ef9eef8165fc80aefeecc817ef997c33";
     };
-    buildInputs = [ ModuleBuild ];
-    propagatedBuildInputs = [ DateTime DateTimeEventICal DateTimeSet DateTimeTimeZone ];
+    propagatedBuildInputs = [ DateTimeEventICal ];
     meta = {
       description = "Parse and format iCal datetime and duration strings";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
-  DateTimeFormatISO8601 = buildPerlPackage {
+  DateTimeFormatISO8601 = buildPerlModule {
     name = "DateTime-Format-ISO8601-0.08";
     src = fetchurl {
       url = mirror://cpan/authors/id/J/JH/JHOBLITT/DateTime-Format-ISO8601-0.08.tar.gz;
       sha256 = "1syccqd5jlwms8v78ksnf68xijzl97jky5vbwhnyhxi5gvgfx8xk";
     };
-    propagatedBuildInputs = [ DateTime DateTimeFormatBuilder ModuleBuild ];
+    propagatedBuildInputs = [ DateTimeFormatBuilder ];
     meta = {
       description = "Parses ISO8601 formats";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
@@ -3539,10 +3781,10 @@ let self = _self // overrides; _self = with self; {
   };
 
   DateTimeFormatMail = buildPerlPackage {
-    name = "DateTime-Format-Mail-0.402";
+    name = "DateTime-Format-Mail-0.403";
     src = fetchurl {
-      url = mirror://cpan/authors/id/B/BO/BOOK/DateTime-Format-Mail-0.402.tar.gz;
-      sha256 = "d788c883969e1647ed0524cc130d897276de23eaa3261f3616458ddd3a4a88fb";
+      url = mirror://cpan/authors/id/B/BO/BOOK/DateTime-Format-Mail-0.403.tar.gz;
+      sha256 = "8df8e35c4477388ff5c7ce8b3e8b6ae4ed30209c7a5051d41737bd14d755fcb0";
     };
     propagatedBuildInputs = [ DateTime ParamsValidate ];
     meta = {
@@ -3551,27 +3793,27 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
-  DateTimeFormatNatural = buildPerlPackage {
-    name = "DateTime-Format-Natural-1.03";
+  DateTimeFormatNatural = buildPerlModule {
+    name = "DateTime-Format-Natural-1.05";
     src = fetchurl {
-      url = mirror://cpan/authors/id/S/SC/SCHUBIGER/DateTime-Format-Natural-1.03.tar.gz;
-      sha256 = "1m3bmv90kww8xr4dda75isvzigy8y3clgvk58zp0bxc5d7k4qdxi";
+      url = mirror://cpan/authors/id/S/SC/SCHUBIGER/DateTime-Format-Natural-1.05.tar.gz;
+      sha256 = "10ldrhz5rnpsd8qmqn1a4s0w5hhfbjrr13a93yx7kpp89g85pxqv";
     };
     buildInputs = [ ModuleUtil TestMockTime ];
-    propagatedBuildInputs = [ Clone DateTime DateTimeTimeZone ListMoreUtils ParamsValidate boolean ];
+    propagatedBuildInputs = [ Clone DateTime ListMoreUtils ParamsValidate boolean ];
     meta = {
       description = "Create machine readable date/time with natural parsing logic";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
-  DateTimeFormatMySQL = buildPerlPackage rec {
+  DateTimeFormatMySQL = buildPerlModule rec {
     name = "DateTime-Format-MySQL-0.06";
     src = fetchurl {
       url = "mirror://cpan/authors/id/X/XM/XMIKEW/${name}.tar.gz";
       sha256 = "07cgz60gxvrv7xqvngyll60pa8cx93h3jyx9kc9wdkn95qbd864q";
     };
-    propagatedBuildInputs = [ DateTime DateTimeFormatBuilder ModuleBuild ];
+    propagatedBuildInputs = [ DateTimeFormatBuilder ];
     meta = {
       description = "Parse and format MySQL dates and times";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
@@ -3579,29 +3821,30 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
-  DateTimeFormatPg = buildPerlPackage {
-    name = "DateTime-Format-Pg-0.16008";
+  DateTimeFormatPg = buildPerlModule {
+    name = "DateTime-Format-Pg-0.16013";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DM/DMAKI/DateTime-Format-Pg-0.16008.tar.gz;
-      sha256 = "0mvh4wp54vh7mnhfd2lndzjfikjify98vaav6vwbraxlhjvwyn3x";
+      url = mirror://cpan/authors/id/D/DM/DMAKI/DateTime-Format-Pg-0.16013.tar.gz;
+      sha256 = "16siw0f3a0ilzv5fnfas5s9n92drjy271yf6qvmmpm0vwnjjx1kz";
     };
-    propagatedBuildInputs = [ DateTime DateTimeFormatBuilder DateTimeTimeZone ];
+    propagatedBuildInputs = [ DateTimeFormatBuilder ];
     meta = {
       description = "Parse and format PostgreSQL dates and times";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
       maintainers = with maintainers; [ ];
       platforms   = stdenv.lib.platforms.unix;
     };
+    buildInputs = [ ModuleBuildTiny ];
   };
 
   DateTimeFormatStrptime = buildPerlPackage rec {
-    name = "DateTime-Format-Strptime-1.68";
+    name = "DateTime-Format-Strptime-1.75";
     src = fetchurl {
       url = "mirror://cpan/authors/id/D/DR/DROLSKY/${name}.tar.gz";
-      sha256 = "d0f97e282b4de61390b5c3a498d3b9ee553f728c169c0845c6de02102d823929";
+      sha256 = "4fcfb2ac4f79d7ff2855a405f39050d2ea691ee098ce54ede8af79c8d6ab3c19";
     };
     buildInputs = [ TestFatal TestWarnings ];
-    propagatedBuildInputs = [ DateTime DateTimeLocale DateTimeTimeZone PackageDeprecationManager ParamsValidate TryTiny ];
+    propagatedBuildInputs = [ DateTime PackageDeprecationManager ];
     meta = {
       homepage = https://metacpan.org/release/DateTime-Format-Strptime;
       description = "Parse and format strp and strf time patterns";
@@ -3615,7 +3858,7 @@ let self = _self // overrides; _self = with self; {
       url = "mirror://cpan/authors/id/C/CF/CFAERBER/${name}.tar.gz";
       sha256 = "cc1f4e0ae1d39b0d4c3dddccfd7423c77c67a70950c4b5ecabf8ca553ab294b4";
     };
-    propagatedBuildInputs = [ DateTime DateTimeFormatBuilder ];
+    propagatedBuildInputs = [ DateTimeFormatBuilder ];
     meta = {
       description = "Parse and format SQLite dates and times";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
@@ -3623,10 +3866,10 @@ let self = _self // overrides; _self = with self; {
   };
 
   DateTimeFormatW3CDTF = buildPerlPackage {
-    name = "DateTime-Format-W3CDTF-0.06";
+    name = "DateTime-Format-W3CDTF-0.07";
     src = fetchurl {
-      url = mirror://cpan/authors/id/G/GW/GWILLIAMS/DateTime-Format-W3CDTF-0.06.tar.gz;
-      sha256 = "b9a542bed9c52b0a89dd590a5184e38ee334c824bbe6bac842dd7dd1f88fbd7a";
+      url = mirror://cpan/authors/id/G/GW/GWILLIAMS/DateTime-Format-W3CDTF-0.07.tar.gz;
+      sha256 = "69a02b661bbf1daa14a4813cb6786eaa66dbdf2743f0b3f458e30234c3a26268";
     };
     propagatedBuildInputs = [ DateTime ];
     meta = {
@@ -3637,13 +3880,13 @@ let self = _self // overrides; _self = with self; {
   };
 
   DateTimeLocale = buildPerlPackage rec {
-    name = "DateTime-Locale-1.03";
+    name = "DateTime-Locale-1.17";
     src = fetchurl {
       url = "mirror://cpan/authors/id/D/DR/DROLSKY/${name}.tar.gz";
-      sha256 = "3100568a62a91ca1c09c0aac8e1e4ba34e6f82047ec64f714733a647c040f511";
+      sha256 = "0ca6598b3f89e92e3d1140e5685c69f6f795f6eed158fa482f33ce2122b35cc9";
     };
-    buildInputs = [ DistCheckConflicts TestFatal TestRequires TestWarnings ];
-    propagatedBuildInputs = [ DistCheckConflicts ListMoreUtils ParamsValidate ];
+    buildInputs = [ CPANMetaCheck FileShareDirInstall TestFatal TestFileShareDir TestRequires TestWarnings ];
+    propagatedBuildInputs = [ FileShareDir ParamsValidationCompiler ScalarListUtils Specio namespaceautoclean ];
     meta = {
       homepage = https://metacpan.org/release/DateTime-Locale;
       description = "Localization support for DateTime.pm";
@@ -3651,13 +3894,13 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
-  DateTimeSet = buildPerlPackage rec {
-    name = "DateTime-Set-0.3600";
+  DateTimeSet = buildPerlModule rec {
+    name = "DateTime-Set-0.3900";
     src = fetchurl {
       url = "mirror://cpan/authors/id/F/FG/FGLOCK/${name}.tar.gz";
-      sha256 = "83503960c773efadfe2b0255e61bc1eb531bb6f497463d3b3880d7a516bc2f13";
+      sha256 = "94f41c3924aafde4ef7fa6b58e0595d4038d8ac5ffd62ba111b13c5f4dbc0946";
     };
-    propagatedBuildInputs = [ DateTime SetInfinite ];
+    propagatedBuildInputs = [ DateTime ParamsValidate SetInfinite ];
     meta = {
       description = "DateTime set objects";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
@@ -3665,13 +3908,13 @@ let self = _self // overrides; _self = with self; {
   };
 
   DateTimeTimeZone = buildPerlPackage rec {
-    name = "DateTime-TimeZone-1.97";
+    name = "DateTime-TimeZone-2.18";
     src = fetchurl {
       url = "mirror://cpan/authors/id/D/DR/DROLSKY/${name}.tar.gz";
-      sha256 = "68a5f4b0a77074f9cc96b2c1d2282e2110db74f55e43fbad72926cee0fd434c8";
+      sha256 = "b7f74295650bde3f378017113dcc504cefecc054cf6ef31133dc76940e15453a";
     };
     buildInputs = [ TestFatal TestRequires ];
-    propagatedBuildInputs = [ ClassSingleton ListAllUtils ModuleRuntime ParamsValidate TryTiny ];
+    propagatedBuildInputs = [ ClassSingleton ParamsValidationCompiler Specio namespaceautoclean ];
     meta = {
       homepage = https://metacpan.org/release/DateTime-TimeZone;
       description = "Time zone object base class and factory";
@@ -3685,8 +3928,8 @@ let self = _self // overrides; _self = with self; {
       url = mirror://cpan/authors/id/R/RO/ROKR/DateTimeX-Easy-0.089.tar.gz;
       sha256 = "17e6d202e7ac6049523048e97bb8f195e3c79208570da1504f4313584e487a79";
     };
-    buildInputs = [ TestMost ModuleBuild ];
-    propagatedBuildInputs = [ DateTime DateTimeFormatFlexible DateTimeFormatICal DateTimeFormatNatural TimeDate ];
+    buildInputs = [ TestMost ];
+    propagatedBuildInputs = [ DateTimeFormatFlexible DateTimeFormatICal DateTimeFormatNatural TimeDate ];
     doCheck = false;
     meta = {
       description = "Parse a date/time string using the best method available";
@@ -3694,7 +3937,7 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
-  DebugShowStuff = buildPerlPackage {
+  DebugShowStuff = buildPerlModule {
     name = "Debug-ShowStuff-1.16";
     src = fetchurl {
       url = mirror://cpan/authors/id/M/MI/MIKO/Debug-ShowStuff-1.16.tar.gz;
@@ -3720,29 +3963,56 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
+  DevelCheckBin = buildPerlPackage rec {
+     name = "Devel-CheckBin-0.04";
+     src = fetchurl {
+       url = mirror://cpan/authors/id/T/TO/TOKUHIROM/Devel-CheckBin-0.04.tar.gz;
+       sha256 = "1r735yzgvsxkj4m6ks34xva5m21cfzp9qiis2d4ivv99kjskszqm";
+     };
+     meta = {
+       description = "check that a command is available";
+       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+       homepage = "https://github.com/tokuhirom/Devel-CheckBin";
+     };
+  };
+
+  DevelCheckCompiler = buildPerlModule rec {
+     name = "Devel-CheckCompiler-0.07";
+     src = fetchurl {
+       url = mirror://cpan/authors/id/S/SY/SYOHEX/Devel-CheckCompiler-0.07.tar.gz;
+       sha256 = "1db973a4dbyknjxq608hywil5ai6vplnayshqxrd7m5qnjbpd2vn";
+     };
+     buildInputs = [ ModuleBuildTiny ];
+     meta = {
+       description = "Check the compiler's availability";
+       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+       homepage = "https://github.com/tokuhirom/Devel-CheckCompiler";
+     };
+  };
+
   DevelChecklib = buildPerlPackage rec {
-    name = "Devel-CheckLib-1.05";
+    name = "Devel-CheckLib-1.11";
     src = fetchurl {
       url = "mirror://cpan/authors/id/M/MA/MATTN/${name}.tar.gz";
-      sha256 = "0qs7c8jffar2rpvscrd8rcds75zsc46cizp5fi5369821jl4fw3a";
+      sha256 = "1h9jna2d83kpckkm87xwqx84kwd83d2dsynky3hnvgl0gqc1qvdx";
     };
-    propagatedBuildInputs = [ IOCaptureOutput ];
+    buildInputs = [ IOCaptureOutput MockConfig ];
   };
 
   DevelCheckOS = buildPerlPackage rec {
-    name = "Devel-CheckOS-1.76";
+    name = "Devel-CheckOS-1.81";
     src = fetchurl {
       url = "mirror://cpan/authors/id/D/DC/DCANTRELL/${name}.tar.gz";
-      sha256 = "f83fb4cb8de060f607214b1e88c98ac6c4e065371e646fe896f16ea887aecb0c";
+      sha256 = "f3c17b56b79283b62616f938d36c57adc9df06bfaa295ff98be21e9014a23b10";
     };
-    propagatedBuildInputs = [ DataCompare FileFindRule ];
+    propagatedBuildInputs = [ DataCompare ];
   };
 
   DevelPatchPerl = buildPerlPackage rec {
-    name = "Devel-PatchPerl-1.38";
+    name = "Devel-PatchPerl-1.48";
     src = fetchurl {
       url = "mirror://cpan/authors/id/B/BI/BINGOS/${name}.tar.gz";
-      sha256 = "0997ms4ksvxy0x0bnhrm7mhx3d2rbmgdiv3xdsawb17r2695vrgk";
+      sha256 = "1zlh1pmlihzcabj2zyfdnrqj6kfl3n9769yfrs296wxgaa7bra96";
     };
     propagatedBuildInputs = [ Filepushd ModulePluggable ];
     meta = {
@@ -3753,10 +4023,10 @@ let self = _self // overrides; _self = with self; {
   };
 
   DevelPPPort = buildPerlPackage rec {
-    name = "Devel-PPPort-3.32";
+    name = "Devel-PPPort-3.36";
     src = fetchurl {
       url = "mirror://cpan/authors/id/W/WO/WOLFSAGE/${name}.tar.gz";
-      sha256 = "257801ef441f317bc79d20cdc72344e5b4ff6f685d65bdf79ff153e733fa3856";
+      sha256 = "b70fb1b4e2d48983ad20052fd7ae6df4c10ceffdedbacb2d691ddc9c957afa52";
     };
     meta = {
       description = "Perl/Pollution/Portability";
@@ -3805,13 +4075,14 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
-  DBDMock = buildPerlPackage {
+  DBDMock = buildPerlModule {
     name = "DBD-Mock-1.45";
     src = fetchurl {
       url = mirror://cpan/authors/id/D/DI/DICHI/DBD-Mock/DBD-Mock-1.45.tar.gz;
       sha256 = "40a80c37b31ef14536b58b4a8b483e65953b00b8fa7397817c7eb76d540bd00f";
     };
-    propagatedBuildInputs = [ DBI TestException ];
+    propagatedBuildInputs = [ DBI ];
+    buildInputs = [ TestException ];
   };
 
   DBDSQLite = import ../development/perl-modules/DBD-SQLite {
@@ -3835,11 +4106,50 @@ let self = _self // overrides; _self = with self; {
   };
 
   DBI = buildPerlPackage rec {
-    name = "DBI-1.636";
+    name = "DBI-${version}";
+    version = "1.641";
     src = fetchurl {
       url = "mirror://cpan/authors/id/T/TI/TIMB/${name}.tar.gz";
-      sha256 = "8f7ddce97c04b4b7a000e65e5d05f679c964d62c8b02c94c1a7d815bb2dd676c";
-    };
+      sha256 = "5509e532cdd0e3d91eda550578deaac29e2f008a12b64576e8c261bb92e8c2c1";
+    };
+    postInstall = stdenv.lib.optionalString (perl ? crossVersion) ''
+      mkdir -p $out/lib/perl5/site_perl/cross_perl/${perl.version}/DBI
+      cat > $out/lib/perl5/site_perl/cross_perl/${perl.version}/DBI.pm <<EOF
+      package DBI;
+      BEGIN {
+      our \$VERSION = "$version";
+      }
+      1;
+      EOF
+
+      autodir=$(echo $out/lib/perl5/site_perl/${perl.version}/*/auto/DBI)
+      cat > $out/lib/perl5/site_perl/cross_perl/${perl.version}/DBI/DBD.pm <<EOF
+      package DBI::DBD;
+      use Exporter ();
+      use vars qw (@ISA @EXPORT);
+      @ISA = qw(Exporter);
+      @EXPORT = qw(dbd_postamble);
+      sub dbd_postamble {
+          return '
+      # --- This section was generated by DBI::DBD::dbd_postamble()
+      DBI_INSTARCH_DIR=$autodir
+      DBI_DRIVER_XST=$autodir/Driver.xst
+
+      # The main dependency (technically correct but probably not used)
+      \$(BASEEXT).c: \$(BASEEXT).xsi
+
+      # This dependency is needed since MakeMaker uses the .xs.o rule
+      \$(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
+
+      # ---
+      ';
+      }
+      1;
+      EOF
+    '';
     meta = {
       homepage = http://dbi.perl.org/;
       description = "Database independent interface for Perl";
@@ -3854,8 +4164,8 @@ let self = _self // overrides; _self = with self; {
       url = "mirror://cpan/authors/id/R/RI/RIBASUSHI/${name}.tar.gz";
       sha256 = "d705f85825aced299020534349778537524526d64f524217ca362787f683c3bd";
     };
-    buildInputs = [ DBDSQLite PackageStash TestDeep TestException TestWarn ];
-    propagatedBuildInputs = [ ClassAccessorGrouped ClassC3Componentised ClassInspector ConfigAny ContextPreserve DBI DataDumperConcise DataPage DevelGlobalDestruction HashMerge MROCompat ModuleFind Moo PathClass SQLAbstract ScopeGuard SubName TryTiny namespaceclean ];
+    buildInputs = [ DBDSQLite TestDeep TestException TestWarn ];
+    propagatedBuildInputs = [ ClassAccessorGrouped ClassC3Componentised ConfigAny ContextPreserve DBI DataDumperConcise DataPage ModuleFind PathClass SQLAbstract ScopeGuard SubName namespaceclean ];
     meta = {
       homepage = http://www.dbix-class.org/;
       description = "Extensible and flexible object <-> relational mapper";
@@ -3864,13 +4174,13 @@ let self = _self // overrides; _self = with self; {
   };
 
   DBIxClassCandy = buildPerlPackage rec {
-    name = "DBIx-Class-Candy-0.005002";
+    name = "DBIx-Class-Candy-0.005003";
     src = fetchurl {
       url = "mirror://cpan/authors/id/F/FR/FREW/${name}.tar.gz";
-      sha256 = "fb109e765674a52e9eac03f52403bb3cf717254b8b9fa46f06a6f205392f987d";
+      sha256 = "b8a229a7b15f559095d4561cf8220460128541ba7fc3545ed35869923d46565c";
     };
     buildInputs = [ TestDeep TestFatal ];
-    propagatedBuildInputs = [ DBIxClass LinguaENInflect MROCompat StringCamelCase SubExporter namespaceclean ];
+    propagatedBuildInputs = [ DBIxClass LinguaENInflect SubExporter ];
     meta = {
       homepage = https://github.com/frioux/DBIx-Class-Candy;
       description = "Sugar for your favorite ORM, DBIx::Class";
@@ -3879,10 +4189,10 @@ let self = _self // overrides; _self = with self; {
   };
 
   DBIxClassCursorCached = buildPerlPackage {
-    name = "DBIx-Class-Cursor-Cached-1.001002";
+    name = "DBIx-Class-Cursor-Cached-1.001004";
     src = fetchurl {
-      url = mirror://cpan/authors/id/A/AR/ARCANEZ/DBIx-Class-Cursor-Cached-1.001002.tar.gz;
-      sha256 = "19r7jr6pknxiirrybq0cd0lnr76xiw05arnfqgk9nrhp6c7vvil0";
+      url = mirror://cpan/authors/id/A/AR/ARCANEZ/DBIx-Class-Cursor-Cached-1.001004.tar.gz;
+      sha256 = "09b2jahn2x12qm4f7qm1jzsxbz7qn1czp6a3fnl5l2i3l4r5421p";
     };
     buildInputs = [ CacheCache DBDSQLite ];
     propagatedBuildInputs = [ CarpClan DBIxClass ];
@@ -3898,17 +4208,17 @@ let self = _self // overrides; _self = with self; {
       url = "mirror://cpan/authors/id/A/AN/ANDREMAR/${name}.tar.gz";
       sha256 = "05zhniyzl31nq410ywhxm0vmvac53h7ax42hjs9mmpvf45ipahj1";
     };
-    propagatedBuildInputs = [DBIxClass HTMLWidget];
+    propagatedBuildInputs = [ DBIxClass HTMLWidget ];
   };
 
   DBIxClassHelpers = buildPerlPackage rec {
-    name = "DBIx-Class-Helpers-2.032001";
+    name = "DBIx-Class-Helpers-2.033004";
     src = fetchurl {
       url = "mirror://cpan/authors/id/F/FR/FREW/${name}.tar.gz";
-      sha256 = "c7af96d17e11f0957b7187bb6002341a7b130bb79b61f6d91b39178ef000eff5";
+      sha256 = "14bc7adda3b30867311717faa11a4534bceda3061229dc2533647c1906d8784c";
     };
     buildInputs = [ DBDSQLite DateTimeFormatSQLite TestDeep TestFatal TestRoo aliased ];
-    propagatedBuildInputs = [ CarpClan DBIxClass DBIxClassCandy DBIxIntrospector LinguaENInflect ModuleRuntime Moo SafeIsa StringCamelCase SubExporterProgressive TextBrew TryTiny namespaceclean ];
+    propagatedBuildInputs = [ CarpClan DBIxClassCandy DBIxIntrospector SafeIsa TextBrew ];
     meta = {
       homepage = https://github.com/frioux/DBIx-Class-Helpers;
       description = "Simplify the common case stuff for DBIx::Class";
@@ -3930,13 +4240,13 @@ let self = _self // overrides; _self = with self; {
   };
 
   DBIxClassSchemaLoader = buildPerlPackage rec {
-    name = "DBIx-Class-Schema-Loader-0.07047";
+    name = "DBIx-Class-Schema-Loader-0.07049";
     src = fetchurl {
       url = "mirror://cpan/authors/id/I/IL/ILMARI/${name}.tar.gz";
-      sha256 = "6671fb3afbb1b4f3eb5905f34fb47ce18b29af3e055e479b06c09424bbc1421b";
+      sha256 = "e869cdde1378cfebccf229b0cde58d2746dc6080b75f56d072aa5f1fce76a764";
     };
-    buildInputs = [ ConfigAny ConfigGeneral DBDSQLite DBIxClassIntrospectableM2M Moose MooseXMarkAsMethods MooseXNonMoose TestDeep TestDifferences TestException TestPod TestWarn namespaceautoclean ];
-    propagatedBuildInputs = [ CarpClan ClassAccessorGrouped ClassC3Componentised ClassInspector ClassUnload DBIxClass DataDump HashMerge LinguaENInflectNumber LinguaENInflectPhrase LinguaENTagger MROCompat ScalarListUtils ScopeGuard StringCamelCase StringToIdentifierEN TryTiny namespaceclean ];
+    buildInputs = [ DBDSQLite TestDeep TestDifferences TestException TestWarn ];
+    propagatedBuildInputs = [ CarpClan ClassUnload DBIxClass DataDump StringToIdentifierEN curry ];
     meta = {
       description = "Create a DBIx::Class::Schema based on a database";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
@@ -3983,13 +4293,13 @@ let self = _self // overrides; _self = with self; {
   };
 
   DBIxSearchBuilder = buildPerlPackage {
-    name = "DBIx-SearchBuilder-1.66";
+    name = "DBIx-SearchBuilder-1.67";
     src = fetchurl {
-      url = mirror://cpan/authors/id/A/AL/ALEXMV/DBIx-SearchBuilder-1.66.tar.gz;
-      sha256 = "e2703c3f4b38cf232dec48be98aeab6d2dbee077dcf059369b825629c4be702e";
+      url = mirror://cpan/authors/id/B/BP/BPS/DBIx-SearchBuilder-1.67.tar.gz;
+      sha256 = "453179c22a61af573e502c8396f3f28daea03dfdc162094b90f9b3c331d563da";
     };
     buildInputs = [ DBDSQLite ];
-    propagatedBuildInputs = [ CacheSimpleTimedExpiry ClassAccessor ClassReturnValue Clone DBI DBIxDBSchema Want ];
+    propagatedBuildInputs = [ CacheSimpleTimedExpiry ClassAccessor ClassReturnValue Clone DBIxDBSchema Want capitalization ];
     meta = {
       description = "Encapsulate SQL queries and rows in simple perl objects";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
@@ -3997,10 +4307,10 @@ let self = _self // overrides; _self = with self; {
   };
 
   DBIxSimple = buildPerlPackage {
-    name = "DBIx-Simple-1.35";
+    name = "DBIx-Simple-1.37";
     src = fetchurl {
-      url = mirror://cpan/authors/id/J/JU/JUERD/DBIx-Simple-1.35.tar.gz;
-      sha256 = "445535b3dfab88140c7a0d2776b1e78f254dc7e9c81072d5a01afc95a5db499a";
+      url = mirror://cpan/authors/id/J/JU/JUERD/DBIx-Simple-1.37.tar.gz;
+      sha256 = "46d311aa2ce08907401c56119658426dbb044c5a40de73d9a7b79bf50390cae3";
     };
     propagatedBuildInputs = [ DBI ];
     meta = {
@@ -4017,14 +4327,15 @@ let self = _self // overrides; _self = with self; {
       sha256 = "0fp6h71xv4pgb8l815rs6ad4camzhjqf64s1sf7zmhchqqn4vacn";
     };
 
-    propagatedBuildInputs = [ TestFatal TestRoo Moo DBI DBDSQLite ];
+    propagatedBuildInputs = [ DBI Moo ];
+    buildInputs = [ DBDSQLite TestFatal TestRoo ];
   };
 
   DevelCycle = buildPerlPackage {
-    name = "Devel-Cycle-1.11";
+    name = "Devel-Cycle-1.12";
     src = fetchurl {
-      url = mirror://cpan/authors/id/L/LD/LDS/Devel-Cycle-1.11.tar.gz;
-      sha256 = "17c73yx9r32xvrsh8y7q24y0m3b98yihjyf3q4y68j869nh2b4rs";
+      url = mirror://cpan/authors/id/L/LD/LDS/Devel-Cycle-1.12.tar.gz;
+      sha256 = "1hhb77kz3dys8yaik452j22cm3510zald2mpvfyv5clqv326aczx";
     };
     meta = {
       description = "Find memory cycles in objects";
@@ -4034,12 +4345,12 @@ let self = _self // overrides; _self = with self; {
   };
 
   DevelDeclare = buildPerlPackage rec {
-    name = "Devel-Declare-0.006018";
+    name = "Devel-Declare-0.006019";
     src = fetchurl {
       url = "mirror://cpan/authors/id/E/ET/ETHER/${name}.tar.gz";
-      sha256 = "bb3607bc7546bcf8d9ac57acd8de4e4ca5567ace836ab823d5f5b450216f466a";
+      sha256 = "ac719dc289cbf53fbb3b090ccd3a55a9d207f24e09480423c96f7185af131808";
     };
-    buildInputs = [ BHooksOPCheck ExtUtilsDepends TestRequires ];
+    buildInputs = [ ExtUtilsDepends TestRequires ];
     propagatedBuildInputs = [ BHooksEndOfScope BHooksOPCheck SubName ];
     meta = {
       description = "Adding keywords to perl, in perl";
@@ -4054,8 +4365,6 @@ let self = _self // overrides; _self = with self; {
       url = "mirror://cpan/authors/id/L/LE/LEONT/${name}.tar.gz";
       sha256 = "0ns95dsgmr8s0f1dfwd1cyv32vmd22w0vs51ppnnzp5zyi499581";
     };
-    buildInputs = [ CaptureTiny ];
-    propagatedBuildInputs = [ ExtUtilsConfig ];
     meta = {
       description = "Find the path to your perl";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
@@ -4063,10 +4372,10 @@ let self = _self // overrides; _self = with self; {
   };
 
   DevelGlobalDestruction = buildPerlPackage rec {
-    name = "Devel-GlobalDestruction-0.13";
+    name = "Devel-GlobalDestruction-0.14";
     src = fetchurl {
       url = "mirror://cpan/authors/id/H/HA/HAARG/${name}.tar.gz";
-      sha256 = "0qn4iszgylnxjdkb6430f6a3ci7bcx9ih1az6bd5cbij1pf2965j";
+      sha256 = "1aslj6myylsvzr0vpqry1cmmvzbmpbdcl4v9zrl18ccik7rabf1l";
     };
     propagatedBuildInputs = [ SubExporterProgressive ];
     meta = {
@@ -4075,6 +4384,18 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
+  DevelGlobalPhase = buildPerlPackage rec {
+     name = "Devel-GlobalPhase-0.003003";
+     src = fetchurl {
+       url = mirror://cpan/authors/id/H/HA/HAARG/Devel-GlobalPhase-0.003003.tar.gz;
+       sha256 = "1x9jzy3l7gwikj57swzl94qsq03j9na9h1m69azzs7d7ghph58wd";
+     };
+     meta = {
+       description = "Detect perl's global phase on older perls.";
+       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+     };
+  };
+
   DevelHide = buildPerlPackage rec {
     name = "Devel-Hide-0.0009";
     src = fetchurl {
@@ -4084,37 +4405,53 @@ let self = _self // overrides; _self = with self; {
   };
 
   DevelNYTProf = buildPerlPackage rec {
-    name = "Devel-NYTProf-6.04";
+    name = "Devel-NYTProf-6.05";
     src = fetchurl {
       url = "mirror://cpan/authors/id/T/TI/TIMB/${name}.tar.gz";
-      sha256 = "c04c9f03663b7e4e9cc159f30bcdc0bab5652889c88c425ec157e831318d4891";
+      sha256 = "b2a9f8b49afb9be8d087ddb50ef77a53f3796481b37eb5a965e1d4055445db1c";
     };
-    propagatedBuildInputs = [ FileWhich JSONMaybeXS TestDifferences ];
+    propagatedBuildInputs = [ FileWhich JSONMaybeXS ];
     meta = {
       homepage = https://github.com/timbunce/devel-nytprof;
       description = "Powerful fast feature-rich Perl source code profiler";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
+    buildInputs = [ TestDifferences ];
+  };
+
+  DevelOverloadInfo = buildPerlPackage rec {
+     name = "Devel-OverloadInfo-0.005";
+     src = fetchurl {
+       url = mirror://cpan/authors/id/I/IL/ILMARI/Devel-OverloadInfo-0.005.tar.gz;
+       sha256 = "1rx6g8pyhi7lx6z130b7vlf8syzrq92w9ky8mpw4d6bwlkzy5zcb";
+     };
+     propagatedBuildInputs = [ MROCompat PackageStash SubIdentify ];
+     buildInputs = [ TestFatal ];
+     meta = {
+       description = "introspect overloaded operators";
+       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+     };
   };
 
   DevelPartialDump = buildPerlPackage {
-    name = "Devel-PartialDump-0.15";
+    name = "Devel-PartialDump-0.20";
     src = fetchurl {
-      url = mirror://cpan/authors/id/F/FL/FLORA/Devel-PartialDump-0.15.tar.gz;
-      sha256 = "0xm42030qlbimay5x72sjj0na43ciniai2xdcdx8zf191jw5dz7n";
+      url = mirror://cpan/authors/id/E/ET/ETHER/Devel-PartialDump-0.20.tar.gz;
+      sha256 = "01yrsdpn9ns9iwwc92bhjn2605b7ys7i3198gjb935lsllzgzw5f";
     };
-    propagatedBuildInputs = [ Moose namespaceclean SubExporter Testuseok TestWarn ];
+    propagatedBuildInputs = [ ClassTiny SubExporter namespaceclean ];
     meta = {
       maintainers = with maintainers; [ ];
       platforms   = stdenv.lib.platforms.unix;
     };
+    buildInputs = [ TestSimple13 TestWarnings ];
   };
 
   DevelStackTrace = buildPerlPackage {
-    name = "Devel-StackTrace-1.34";
+    name = "Devel-StackTrace-2.03";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DR/DROLSKY/Devel-StackTrace-1.34.tar.gz;
-      sha256 = "e882ccd7f4cbab0d0cdad53897f3f3bf29bdcf47d2bdfde1ac07f1bc7d7ebd16";
+      url = mirror://cpan/authors/id/D/DR/DROLSKY/Devel-StackTrace-2.03.tar.gz;
+      sha256 = "7618cd4ebe24e254c17085f4b418784ab503cb4cb3baf8f48a7be894e59ba848";
     };
     meta = {
       homepage = https://metacpan.org/release/Devel-StackTrace;
@@ -4124,10 +4461,10 @@ let self = _self // overrides; _self = with self; {
   };
 
   DevelStackTraceAsHTML = buildPerlPackage {
-    name = "Devel-StackTrace-AsHTML-0.14";
+    name = "Devel-StackTrace-AsHTML-0.15";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MI/MIYAGAWA/Devel-StackTrace-AsHTML-0.14.tar.gz;
-      sha256 = "0yl296y0qfwybwjgqjzd4j2w2bj5a2nz342qqgxchnf5bqynl1c9";
+      url = mirror://cpan/authors/id/M/MI/MIYAGAWA/Devel-StackTrace-AsHTML-0.15.tar.gz;
+      sha256 = "0iri5nb2lb76qv5l9z0vjpfrq5j2fyclkd64kh020bvy37idp0v2";
     };
     propagatedBuildInputs = [ DevelStackTrace ];
     meta = {
@@ -4137,10 +4474,10 @@ let self = _self // overrides; _self = with self; {
   };
 
   DevelSymdump = buildPerlPackage rec {
-    name = "Devel-Symdump-2.15";
+    name = "Devel-Symdump-2.18";
     src = fetchurl {
       url = "mirror://cpan/authors/id/A/AN/ANDK/${name}.tar.gz";
-      sha256 = "76c2a90d31318204ecf1977f0217ce57b142e6681fe2b99fb8789efc5dd86f41";
+      sha256 = "826f81a107f5592a2516766ed43beb47e10cc83edc9ea48090b02a36040776c0";
     };
     meta = {
       description = "Dump symbol names or the symbol table";
@@ -4220,10 +4557,10 @@ let self = _self // overrides; _self = with self; {
   };
 
   DigestMD5 = buildPerlPackage {
-    name = "Digest-MD5-2.54";
+    name = "Digest-MD5-2.55";
     src = fetchurl {
-      url = mirror://cpan/authors/id/G/GA/GAAS/Digest-MD5-2.54.tar.gz;
-      sha256 = "90de11e3743ef1c753a5c2032b434e09472046fbcf346996cbe5d135b217f390";
+      url = mirror://cpan/authors/id/G/GA/GAAS/Digest-MD5-2.55.tar.gz;
+      sha256 = "03b198a2d14425d951e5e50a885d3818c3162c8fe4c21e18d7798a9a179d0e3c";
     };
     meta = {
       description = "Perl interface to the MD-5 algorithm";
@@ -4277,8 +4614,8 @@ let self = _self // overrides; _self = with self; {
       url = "mirror://cpan/authors/id/D/DO/DOY/${name}.tar.gz";
       sha256 = "1i7dr9jpdiy2nijl2p4q5zg2q2s9ckbj2hs4kmnnckf9hsb4p17a";
     };
-    buildInputs = [ TestFatal ModuleRuntime ];
-    propagatedBuildInputs = [ SubExporter ListMoreUtils ];
+    buildInputs = [ TestFatal ];
+    propagatedBuildInputs = [ ModuleRuntime ];
     meta = {
       homepage = http://search.cpan.org/perldoc?CPAN::Meta::Spec;
       description = "Declare version conflicts for your dist";
@@ -4287,13 +4624,13 @@ let self = _self // overrides; _self = with self; {
   };
 
   DistZilla = buildPerlPackage {
-    name = "Dist-Zilla-4.300039";
+    name = "Dist-Zilla-6.011";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RJ/RJBS/Dist-Zilla-4.300039.tar.gz;
-      sha256 = "10cighwsqp53kbk2gwlnl9m18sbs7ijr2v37vwca9qxbscy2yr21";
+      url = mirror://cpan/authors/id/R/RJ/RJBS/Dist-Zilla-6.011.tar.gz;
+      sha256 = "0cai08gzrvf9mkqsj3b8vhcwxaxs30h4gx0wffq8c5dja9fhzjxs";
     };
-    buildInputs = [ FileShareDirInstall SoftwareLicense TestFatal TestFileShareDir TestScript ];
-    propagatedBuildInputs = [ AppCmd CPANUploader ClassLoad ConfigINI ConfigMVP ConfigMVPReaderINI DataSection DateTime FileCopyRecursive FileFindRule FileHomeDir FileShareDir FileShareDirInstall Filepushd HashMergeSimple JSON ListAllUtils ListMoreUtils LogDispatchouli Moose MooseAutobox MooseXLazyRequire MooseXRoleParameterized MooseXSetOnce MooseXTypes MooseXTypesPathClass MooseXTypesPerl PPI ParamsUtil PathClass PerlPrereqScanner PerlVersion PodEventual SoftwareLicense StringFormatter StringRewritePrefix SubExporter SubExporterForMethods TermReadKey TestDeep TextGlob TextTemplate TryTiny YAMLTiny autobox namespaceautoclean CPANMetaRequirements ];
+    buildInputs = [ CPANMetaCheck TestDeep TestFailWarnings TestFatal TestFileShareDir ];
+    propagatedBuildInputs = [ AppCmd ArchiveTarWrapper CPANUploader ConfigMVPReaderINI DateTime FileCopyRecursive FileFindRule FileShareDirInstall Filepushd LogDispatchouli MooseXLazyRequire MooseXSetOnce MooseXTypesPerl PerlPrereqScanner PodEventual SoftwareLicense TermEncoding TermUI YAMLTiny ];
     meta = {
       homepage = http://dzil.org/;
       description = "Distribution builder; installer not included!";
@@ -4302,46 +4639,49 @@ let self = _self // overrides; _self = with self; {
     doCheck = false;
   };
 
-  DistZillaPluginBundleTestingMania = buildPerlPackage {
-    name = "Dist-Zilla-PluginBundle-TestingMania-0.21";
+  DistZillaPluginBundleTestingMania = buildPerlModule {
+    name = "Dist-Zilla-PluginBundle-TestingMania-0.25";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DO/DOHERTY/Dist-Zilla-PluginBundle-TestingMania-0.21.tar.gz;
-      sha256 = "1cbq7v799bf93iqp19v1ln6bcf6gvmc0qw3gf4bq445wsm7w62wy";
+      url = mirror://cpan/authors/id/D/DO/DOHERTY/Dist-Zilla-PluginBundle-TestingMania-0.25.tar.gz;
+      sha256 = "072rsilh88xnk18ldbr8d0svji72r79sabyird6xc3ql1z0b42sy";
     };
-    buildInputs = [ CaptureTiny DistZilla MooseAutobox perl ];
-    propagatedBuildInputs = [ DistZilla DistZillaPluginMojibakeTests DistZillaPluginNoTabsTests DistZillaPluginTestCPANChanges DistZillaPluginTestCPANMetaJSON DistZillaPluginTestCompile DistZillaPluginTestDistManifest DistZillaPluginTestEOL DistZillaPluginTestKwalitee DistZillaPluginTestMinimumVersion DistZillaPluginTestPerlCritic DistZillaPluginTestPodLinkCheck DistZillaPluginTestPortability DistZillaPluginTestSynopsis DistZillaPluginTestUnusedVars DistZillaPluginTestVersion JSONPP ListMoreUtils Moose PodCoverageTrustPod TestCPANMeta TestPerlCritic TestVersion namespaceautoclean ];
+    buildInputs = [ MooseAutobox TestCPANMeta TestPerlCritic TestVersion ];
+    propagatedBuildInputs = [ DistZillaPluginMojibakeTests DistZillaPluginTestCPANChanges DistZillaPluginTestCPANMetaJSON DistZillaPluginTestCompile DistZillaPluginTestDistManifest DistZillaPluginTestEOL DistZillaPluginTestKwalitee DistZillaPluginTestMinimumVersion DistZillaPluginTestNoTabs DistZillaPluginTestPerlCritic DistZillaPluginTestPodLinkCheck DistZillaPluginTestPortability DistZillaPluginTestSynopsis DistZillaPluginTestUnusedVars DistZillaPluginTestVersion PodCoverageTrustPod ];
     meta = {
       homepage = https://metacpan.org/release/Dist-Zilla-PluginBundle-TestingMania/;
       description = "Test your dist with every testing plugin conceivable";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
+    doCheck = false;
   };
 
   DistZillaPluginCheckChangeLog = buildPerlPackage {
-    name = "Dist-Zilla-Plugin-CheckChangeLog-0.01";
+    name = "Dist-Zilla-Plugin-CheckChangeLog-0.05";
     src = fetchurl {
-      url = mirror://cpan/authors/id/F/FA/FAYLAND/Dist-Zilla-Plugin-CheckChangeLog-0.01.tar.gz;
-      sha256 = "153dbe5ff8cb3c060901e003237a0515d7b9b5cc870eebfd417a6c91e28edec2";
+      url = mirror://cpan/authors/id/F/FA/FAYLAND/Dist-Zilla-Plugin-CheckChangeLog-0.05.tar.gz;
+      sha256 = "b0b34d6d70b56f1944d03c5f0dc3b8f6f24474c816d07b657a116c692c2e052a";
     };
     propagatedBuildInputs = [ DistZilla ];
     meta = {
       description = "Dist::Zilla with Changes check";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
+    buildInputs = [ PathClass PodCoverage PodCoverageTrustPod PodMarkdown TestDeep TestException TestPod TestPodCoverage ];
   };
 
   DistZillaPluginMojibakeTests = buildPerlPackage {
-    name = "Dist-Zilla-Plugin-MojibakeTests-0.5";
+    name = "Dist-Zilla-Plugin-MojibakeTests-0.8";
     src = fetchurl {
-      url = mirror://cpan/authors/id/S/SY/SYP/Dist-Zilla-Plugin-MojibakeTests-0.5.tar.gz;
-      sha256 = "0630acc9bcb415feba49b55a1b70da6e49a740673b4a483fc8058d03c6a21676";
+      url = mirror://cpan/authors/id/S/SY/SYP/Dist-Zilla-Plugin-MojibakeTests-0.8.tar.gz;
+      sha256 = "f1fff547ea24a8f7a483406a72ed6c4058d746d9dae963725502ddba025ab380";
     };
-    propagatedBuildInputs = [ DistZilla Moose TestMojibake UnicodeCheckUTF8 ];
+    propagatedBuildInputs = [ DistZilla ];
     meta = {
       homepage = https://github.com/creaktive/Dist-Zilla-Plugin-MojibakeTests;
       description = "Release tests for source encoding";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
+    buildInputs = [ TestMojibake ];
   };
 
   DistZillaPluginNoTabsTests = buildPerlPackage {
@@ -4359,13 +4699,12 @@ let self = _self // overrides; _self = with self; {
   };
 
   DistZillaPluginPodWeaver = buildPerlPackage {
-    name = "Dist-Zilla-Plugin-PodWeaver-3.102000";
+    name = "Dist-Zilla-Plugin-PodWeaver-4.008";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RJ/RJBS/Dist-Zilla-Plugin-PodWeaver-3.102000.tar.gz;
-      sha256 = "0xayy50fgfc7wlsnygz28ka2ax9pmr0rn845i8d6p40amrkzzlml";
+      url = mirror://cpan/authors/id/R/RJ/RJBS/Dist-Zilla-Plugin-PodWeaver-4.008.tar.gz;
+      sha256 = "0ff1i26s54z292j8w8vm3gw3p7w1yq35wi8g978c84ia7y1y7n8z";
     };
-    buildInputs = [ FileFindRule ];
-    propagatedBuildInputs = [ DistZilla ListMoreUtils Moose PPI PodElementalPerlMunger PodWeaver namespaceautoclean ];
+    propagatedBuildInputs = [ DistZilla PodElementalPerlMunger PodWeaver ];
     meta = {
       homepage = https://github.com/rjbs/Dist-Zilla-Plugin-PodWeaver;
       description = "Weave your Pod together from configuration and Dist::Zilla";
@@ -4374,13 +4713,13 @@ let self = _self // overrides; _self = with self; {
   };
 
   DistZillaPluginReadmeAnyFromPod = buildPerlPackage {
-    name = "Dist-Zilla-Plugin-ReadmeAnyFromPod-0.131500";
+    name = "Dist-Zilla-Plugin-ReadmeAnyFromPod-0.163250";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RT/RTHOMPSON/Dist-Zilla-Plugin-ReadmeAnyFromPod-0.131500.tar.gz;
-      sha256 = "4d02ce5f185e0d9061019c1925a410931d0c1848db7e5ba5f8e676f04634b06e";
+      url = mirror://cpan/authors/id/R/RT/RTHOMPSON/Dist-Zilla-Plugin-ReadmeAnyFromPod-0.163250.tar.gz;
+      sha256 = "d44f2799922f78b2a7961ed89123e11bdd77abfe85ba2040d82b80ad72ed13bc";
     };
-    buildInputs = [ DistZilla TestMost ];
-    propagatedBuildInputs = [ DistZilla FileSlurp IOstringy Moose MooseAutobox MooseXHasSugar PodMarkdown ];
+    buildInputs = [ TestDeep TestDifferences TestException TestFatal TestMost TestRequires TestSharedFork TestWarn ];
+    propagatedBuildInputs = [ DistZillaRoleFileWatcher MooseXHasSugar PodMarkdownGithub ];
     meta = {
       homepage = https://github.com/DarwinAwardWinner/Dist-Zilla-Plugin-ReadmeAnyFromPod;
       description = "Automatically convert POD to a README in any format for Dist::Zilla";
@@ -4389,13 +4728,13 @@ let self = _self // overrides; _self = with self; {
   };
 
   DistZillaPluginReadmeMarkdownFromPod = buildPerlPackage {
-    name = "Dist-Zilla-Plugin-ReadmeMarkdownFromPod-0.120120";
+    name = "Dist-Zilla-Plugin-ReadmeMarkdownFromPod-0.141140";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RT/RTHOMPSON/Dist-Zilla-Plugin-ReadmeMarkdownFromPod-0.120120.tar.gz;
-      sha256 = "5a3346daab4e2bba850ee4a7898467da9f80bc93cc10d2d625f9880a46092160";
+      url = mirror://cpan/authors/id/R/RT/RTHOMPSON/Dist-Zilla-Plugin-ReadmeMarkdownFromPod-0.141140.tar.gz;
+      sha256 = "9caad7b366ea59119ad73cdd99dcdd53f877a515bd0164fc28b339c01739a801";
     };
-    buildInputs = [ DistZilla TestMost ];
-    propagatedBuildInputs = [ DistZillaPluginReadmeAnyFromPod Moose ];
+    buildInputs = [ TestDeep TestDifferences TestException TestMost TestWarn ];
+    propagatedBuildInputs = [ DistZillaPluginReadmeAnyFromPod ];
     meta = {
       homepage = https://github.com/DarwinAwardWinner/Dist-Zilla-Plugin-ReadmeMarkdownFromPod;
       description = "Automatically convert POD to a README.mkdn for Dist::Zilla";
@@ -4409,8 +4748,8 @@ let self = _self // overrides; _self = with self; {
       url = "mirror://cpan/authors/id/D/DO/DOHERTY/${name}.tar.gz";
       sha256 = "215b3a5c3c58c8bab0ea27130441bbdaec737eecc00f0670937f608bdbf64806";
     };
-    buildInputs = [ CPANChanges DistZilla ];
-    propagatedBuildInputs = [ CPANChanges DataSection DistZilla Moose ];
+    buildInputs = [ CPANChanges TestDeep ];
+    propagatedBuildInputs = [ DistZilla ];
     meta = {
       homepage = https://metacpan.org/release/Dist-Zilla-Plugin-Test-CPAN-Changes/;
       description = "Release tests for your changelog";
@@ -4418,14 +4757,14 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
-  DistZillaPluginTestCPANMetaJSON = buildPerlPackage {
-    name = "Dist-Zilla-Plugin-Test-CPAN-Meta-JSON-0.003";
+  DistZillaPluginTestCPANMetaJSON = buildPerlModule {
+    name = "Dist-Zilla-Plugin-Test-CPAN-Meta-JSON-0.004";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DO/DOHERTY/Dist-Zilla-Plugin-Test-CPAN-Meta-JSON-0.003.tar.gz;
-      sha256 = "c76b9f5745f4626969bb9c60e1330ebd0d8b197f8dd33f9a6e6fce63877b4883";
+      url = mirror://cpan/authors/id/D/DO/DOHERTY/Dist-Zilla-Plugin-Test-CPAN-Meta-JSON-0.004.tar.gz;
+      sha256 = "0a573e1d5640374e6ee4d56d4fb94a3c67d4e75d52b3ddeae70cfa6450e1af22";
     };
-    buildInputs = [ DistZilla ];
-    propagatedBuildInputs = [ DistZilla Moose MooseAutobox ];
+    buildInputs = [ MooseAutobox TestCPANMetaJSON TestDeep ];
+    propagatedBuildInputs = [ DistZilla ];
     meta = {
       homepage = http://p3rl.org/Dist::Zilla::Plugin::Test::CPAN::Meta::JSON;
       description = "Release tests for your META.json";
@@ -4433,14 +4772,14 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
-  DistZillaPluginTestCompile = buildPerlPackage rec {
-    name = "Dist-Zilla-Plugin-Test-Compile-2.054";
+  DistZillaPluginTestCompile = buildPerlModule rec {
+    name = "Dist-Zilla-Plugin-Test-Compile-2.058";
     src = fetchurl {
       url = "mirror://cpan/authors/id/E/ET/ETHER/${name}.tar.gz";
-      sha256 = "363fc251785a36a0b2028fda3b38d71d30c7048b09145362bbfac13fc41eab7e";
+      sha256 = "d0cf93e525f102eca0f7f3967124d2e59d0a212f738ce54c1ddd91dda268d88a";
     };
-    buildInputs = [ CPANMetaCheck DistZilla Filepushd ModuleBuildTiny PerlPrereqScanner TestDeep TestMinimumVersion TestWarnings self."if" ];
-    propagatedBuildInputs = [ DataSection DistZilla Moose PathTiny SubExporterForMethods namespaceautoclean ];
+    buildInputs = [ CPANMetaCheck ModuleBuildTiny TestDeep TestMinimumVersion TestWarnings ];
+    propagatedBuildInputs = [ DistZilla ];
     meta = {
       homepage = https://github.com/karenetheridge/Dist-Zilla-Plugin-Test-Compile;
       description = "Common tests to check syntax of your modules, only using core modules";
@@ -4448,14 +4787,14 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
-  DistZillaPluginTestDistManifest = buildPerlPackage {
-    name = "Dist-Zilla-Plugin-Test-DistManifest-2.000004";
+  DistZillaPluginTestDistManifest = buildPerlModule {
+    name = "Dist-Zilla-Plugin-Test-DistManifest-2.000005";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DO/DOHERTY/Dist-Zilla-Plugin-Test-DistManifest-2.000004.tar.gz;
-      sha256 = "a832d9d04f85e9dd09f30af67c5d636efe79847ec3790939de081ee5e412fb68";
+      url = mirror://cpan/authors/id/D/DO/DOHERTY/Dist-Zilla-Plugin-Test-DistManifest-2.000005.tar.gz;
+      sha256 = "4f0af27bb38745d2dec7d941bcf749e6d7fbeaf8e7bcf8a79a1310a9639b0f65";
     };
-    buildInputs = [ CaptureTiny DistZilla MooseAutobox TestOutput ];
-    propagatedBuildInputs = [ DistZilla Moose TestDistManifest ];
+    buildInputs = [ TestDeep TestDistManifest TestOutput ];
+    propagatedBuildInputs = [ DistZilla ];
     meta = {
       homepage = https://metacpan.org/release/Dist-Zilla-Plugin-Test-DistManifest/;
       description = "Release tests for the manifest";
@@ -4463,14 +4802,14 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
-  DistZillaPluginTestEOL = buildPerlPackage {
-    name = "Dist-Zilla-Plugin-Test-EOL-0.10";
+  DistZillaPluginTestEOL = buildPerlModule {
+    name = "Dist-Zilla-Plugin-Test-EOL-0.19";
     src = fetchurl {
-      url = mirror://cpan/authors/id/X/XE/XENO/Dist-Zilla-Plugin-Test-EOL-0.10.tar.gz;
-      sha256 = "1sl7zvjzpwf7wl188a3j13k1qcb63hawx82iy6r3dx2gns8nc0nw";
+      url = mirror://cpan/authors/id/E/ET/ETHER/Dist-Zilla-Plugin-Test-EOL-0.19.tar.gz;
+      sha256 = "0f23g931azz1k41xdfxw7kayy4snhw4qdr9ysknk5k1cl33mkfd2";
     };
-    buildInputs = [ DistZilla TestScript ];
-    propagatedBuildInputs = [ DistZilla Moose TestEOL namespaceautoclean ];
+    buildInputs = [ ModuleBuildTiny TestDeep TestEOL TestWarnings ];
+    propagatedBuildInputs = [ DistZilla ];
     meta = {
       homepage = http://search.cpan.org/dist/Dist-Zilla-Plugin-Test-EOL/;
       description = "Author tests making sure correct line endings are used";
@@ -4478,14 +4817,14 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
-  DistZillaPluginTestKwalitee = buildPerlPackage {
-    name = "Dist-Zilla-Plugin-Test-Kwalitee-2.06";
+  DistZillaPluginTestKwalitee = buildPerlModule {
+    name = "Dist-Zilla-Plugin-Test-Kwalitee-2.12";
     src = fetchurl {
-      url = mirror://cpan/authors/id/E/ET/ETHER/Dist-Zilla-Plugin-Test-Kwalitee-2.06.tar.gz;
-      sha256 = "1723beb96d4048fd4fb0fea2ed36c0c6f3ea4648ce7f93d4cb73e5d49e274bf6";
+      url = mirror://cpan/authors/id/E/ET/ETHER/Dist-Zilla-Plugin-Test-Kwalitee-2.12.tar.gz;
+      sha256 = "bddbcfcc75e8eb2d2d9c8611552f00cdc1b051f0f00798623b8692ff5030af2f";
     };
-    buildInputs = [ CaptureTiny DistZilla PathClass perl ];
-    propagatedBuildInputs = [ DataSection DistZilla Moose SubExporterForMethods namespaceautoclean ];
+    buildInputs = [ ModuleBuildTiny TestDeep TestFatal TestKwalitee ];
+    propagatedBuildInputs = [ DistZilla ];
     meta = {
       homepage = https://metacpan.org/release/Dist-Zilla-Plugin-Test-Kwalitee;
       description = "Release tests for kwalitee";
@@ -4494,13 +4833,13 @@ let self = _self // overrides; _self = with self; {
   };
 
   DistZillaPluginTestMinimumVersion = buildPerlPackage {
-    name = "Dist-Zilla-Plugin-Test-MinimumVersion-2.000005";
+    name = "Dist-Zilla-Plugin-Test-MinimumVersion-2.000008";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DO/DOHERTY/Dist-Zilla-Plugin-Test-MinimumVersion-2.000005.tar.gz;
-      sha256 = "988c71a3158e94e7a0b23f346f19af4a0ed67e101a2653c3185c5ae49981132b";
+      url = mirror://cpan/authors/id/D/DO/DOHERTY/Dist-Zilla-Plugin-Test-MinimumVersion-2.000008.tar.gz;
+      sha256 = "d924ce79aaaa1885510ca6ecfcb4d8bc250fb6995bc96627f1536cb589e3b660";
     };
-    buildInputs = [ DistZilla MooseAutobox TestOutput ];
-    propagatedBuildInputs = [ DistZilla Moose TestMinimumVersion ];
+    buildInputs = [ TestDeep TestMinimumVersion TestOutput ];
+    propagatedBuildInputs = [ DistZilla ];
     meta = {
       homepage = https://metacpan.org/release/Dist-Zilla-Plugin-Test-MinimumVersion/;
       description = "Release tests for minimum required versions";
@@ -4508,14 +4847,29 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
+  DistZillaPluginTestNoTabs = buildPerlModule rec {
+     name = "Dist-Zilla-Plugin-Test-NoTabs-0.15";
+     src = fetchurl {
+       url = mirror://cpan/authors/id/E/ET/ETHER/Dist-Zilla-Plugin-Test-NoTabs-0.15.tar.gz;
+       sha256 = "196hchmn8y591533v3p7kl75nlhpaygbfdiw2iqbnab9j510qq8v";
+     };
+     propagatedBuildInputs = [ DistZilla ];
+     buildInputs = [ ModuleBuildTiny TestDeep TestNoTabs TestRequires ];
+     meta = {
+       description = "Author tests that ensure hard tabs are not used";
+       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+       homepage = "https://github.com/karenetheridge/Dist-Zilla-Plugin-Test-NoTabs";
+     };
+  };
+
   DistZillaPluginTestPerlCritic = buildPerlModule {
-    name = "Dist-Zilla-Plugin-Test-Perl-Critic-2.112410";
+    name = "Dist-Zilla-Plugin-Test-Perl-Critic-3.001";
     src = fetchurl {
-      url = mirror://cpan/authors/id/J/JQ/JQUELIN/Dist-Zilla-Plugin-Test-Perl-Critic-2.112410.tar.gz;
-      sha256 = "3ce59ce3ef6cf56d7de0debb33c26f899492d9742c8b82073e257787fd85630f";
+      url = mirror://cpan/authors/id/E/ET/ETHER/Dist-Zilla-Plugin-Test-Perl-Critic-3.001.tar.gz;
+      sha256 = "9250b59d5dc1ae4c6893ba783bd3f05131b14ff9e91afb4555314f55268a3825";
     };
-    buildInputs = [ DistZilla MooseAutobox ];
-    propagatedBuildInputs = [ DataSection DistZilla Moose namespaceautoclean ];
+    buildInputs = [ ModuleBuildTiny TestDeep TestPerlCritic ];
+    propagatedBuildInputs = [ DistZilla ];
     meta = {
       homepage = http://search.cpan.org/dist/Dist-Zilla-Plugin-Test-Perl-Critic/;
       description = "Tests to check your code against best practices";
@@ -4524,13 +4878,13 @@ let self = _self // overrides; _self = with self; {
   };
 
   DistZillaPluginTestPodLinkCheck = buildPerlPackage rec {
-    name = "Dist-Zilla-Plugin-Test-Pod-LinkCheck-1.002";
+    name = "Dist-Zilla-Plugin-Test-Pod-LinkCheck-1.004";
     src = fetchurl {
       url = "mirror://cpan/authors/id/R/RW/RWSTAUNER/${name}.tar.gz";
-      sha256 = "26f3b257d5037aeec8335910cfdaf76fc8612f38f5d3134f46cd433e116947b0";
+      sha256 = "325d236da0940388d2aa86ec5c1326516b4ad45adef8e7a4f83bb91d5ee15490";
     };
-#    buildInputs = [ ModuleBuild ];
-    propagatedBuildInputs = [ DistZilla Moose TestPodLinkCheck ];
+#    buildInputs = [ TestPodLinkCheck ];
+    propagatedBuildInputs = [ DistZilla ];
     meta = {
       homepage = https://github.com/rwstauner/Dist-Zilla-Plugin-Test-Pod-LinkCheck;
       description = "Add release tests for POD links";
@@ -4538,14 +4892,14 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
-  DistZillaPluginTestPortability = buildPerlPackage {
-    name = "Dist-Zilla-Plugin-Test-Portability-2.000005";
+  DistZillaPluginTestPortability = buildPerlModule {
+    name = "Dist-Zilla-Plugin-Test-Portability-2.001000";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DO/DOHERTY/Dist-Zilla-Plugin-Test-Portability-2.000005.tar.gz;
-      sha256 = "b32d0a4b1d78ba76fabedd299c1a11efed05c3ce9752d7da6babe06d3515242b";
+      url = mirror://cpan/authors/id/E/ET/ETHER/Dist-Zilla-Plugin-Test-Portability-2.001000.tar.gz;
+      sha256 = "e08ff5bd9e24cf9503055330148913808d91a3dfe320a2bdf8b0fc638719b179";
     };
-    buildInputs = [ CaptureTiny DistZilla MooseAutobox TestOutput ];
-    propagatedBuildInputs = [ DistZilla Moose TestPortabilityFiles ];
+    buildInputs = [ ModuleBuildTiny TestDeep TestPortabilityFiles TestWarnings ];
+    propagatedBuildInputs = [ DistZilla ];
     meta = {
       homepage = https://metacpan.org/release/Dist-Zilla-Plugin-Test-Portability/;
       description = "Release tests for portability";
@@ -4554,13 +4908,13 @@ let self = _self // overrides; _self = with self; {
   };
 
   DistZillaPluginTestSynopsis = buildPerlPackage {
-    name = "Dist-Zilla-Plugin-Test-Synopsis-2.000004";
+    name = "Dist-Zilla-Plugin-Test-Synopsis-2.000007";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DO/DOHERTY/Dist-Zilla-Plugin-Test-Synopsis-2.000004.tar.gz;
-      sha256 = "d073de3206c5e588f60f55e4be64fab4c2595f5bc3013cd91307993691598d59";
+      url = mirror://cpan/authors/id/D/DO/DOHERTY/Dist-Zilla-Plugin-Test-Synopsis-2.000007.tar.gz;
+      sha256 = "e7d5e2530cd8a5bb5aadf3e1669a653aaa96e32cad7bd6b9caba6b425ceab563";
     };
-    buildInputs = [ CaptureTiny DistZilla MooseAutobox TestOutput ];
-    propagatedBuildInputs = [ DistZilla Moose TestSynopsis ];
+    buildInputs = [ TestDeep TestOutput TestSynopsis ];
+    propagatedBuildInputs = [ DistZilla ];
     meta = {
       homepage = https://metacpan.org/release/Dist-Zilla-Plugin-Test-Synopsis/;
       description = "Release tests for synopses";
@@ -4568,14 +4922,14 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
-  DistZillaPluginTestUnusedVars = buildPerlPackage {
-    name = "Dist-Zilla-Plugin-Test-UnusedVars-2.000005";
+  DistZillaPluginTestUnusedVars = buildPerlModule {
+    name = "Dist-Zilla-Plugin-Test-UnusedVars-2.000007";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DO/DOHERTY/Dist-Zilla-Plugin-Test-UnusedVars-2.000005.tar.gz;
-      sha256 = "37ec462dc82f45cfd9d6d92ee59b8fd215a9a14b18d179b05912baee77359804";
+      url = mirror://cpan/authors/id/D/DO/DOHERTY/Dist-Zilla-Plugin-Test-UnusedVars-2.000007.tar.gz;
+      sha256 = "ea0199a3a0043213ddc132508b9ed9b131ef717735b8f93d78291191d04b43c2";
     };
-    buildInputs = [ CaptureTiny DistZilla MooseAutobox TestOutput ];
-    propagatedBuildInputs = [ DistZilla Moose TestVars namespaceautoclean ];
+    buildInputs = [ TestDeep TestOutput TestVars ];
+    propagatedBuildInputs = [ DistZilla ];
     meta = {
       homepage = https://metacpan.org/release/Dist-Zilla-Plugin-Test-UnusedVars/;
       description = "Release tests for unused variables";
@@ -4584,13 +4938,13 @@ let self = _self // overrides; _self = with self; {
   };
 
   DistZillaPluginTestVersion = buildPerlPackage {
-    name = "Dist-Zilla-Plugin-Test-Version-0.002004";
+    name = "Dist-Zilla-Plugin-Test-Version-1.09";
     src = fetchurl {
-      url = mirror://cpan/authors/id/X/XE/XENO/Dist-Zilla-Plugin-Test-Version-0.002004.tar.gz;
-      sha256 = "4ae5055071e07442223d07d818e9484430368b59c15966b90b18c8abc06f8e36";
+      url = mirror://cpan/authors/id/P/PL/PLICEASE/Dist-Zilla-Plugin-Test-Version-1.09.tar.gz;
+      sha256 = "7240508731bc1bf6dfad7701ec65450a18ef9245a521ab26ebd6acb39a9ebe17";
     };
-    buildInputs = [ DistZilla TestNoTabs TestScript ];
-    propagatedBuildInputs = [ DistZilla Moose TestVersion namespaceautoclean ];
+    buildInputs = [ Filechdir TestDeep TestEOL TestNoTabs TestScript TestVersion ];
+    propagatedBuildInputs = [ DistZilla ];
     meta = {
       homepage = http://search.cpan.org/dist/Dist-Zilla-Plugin-Test-Version/;
       description = "Release Test::Version tests";
@@ -4598,6 +4952,21 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
+  DistZillaRoleFileWatcher = buildPerlModule rec {
+     name = "Dist-Zilla-Role-FileWatcher-0.006";
+     src = fetchurl {
+       url = mirror://cpan/authors/id/E/ET/ETHER/Dist-Zilla-Role-FileWatcher-0.006.tar.gz;
+       sha256 = "15jfpr257xxp27gz156npgpj7kh2dchzgfmvzivi5bvdb2wl8fpy";
+     };
+     propagatedBuildInputs = [ DistZilla SafeIsa ];
+     buildInputs = [ ModuleBuildTiny TestDeep TestFatal ];
+     meta = {
+       description = "Receive notification when something changes a file's contents";
+       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+       homepage = "https://github.com/karenetheridge/Dist-Zilla-Role-FileWatcher";
+     };
+  };
+
   EmailAbstract = buildPerlPackage rec {
     name = "Email-Abstract-3.008";
     src = fetchurl {
@@ -4614,10 +4983,10 @@ let self = _self // overrides; _self = with self; {
   };
 
   EmailAddress = buildPerlPackage {
-    name = "Email-Address-1.908";
+    name = "Email-Address-1.909";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RJ/RJBS/Email-Address-1.908.tar.gz;
-      sha256 = "0i6ljdvpy279hpbqf6lgv4figr376rb2sh4yphj86xkdzsyn1y75";
+      url = mirror://cpan/authors/id/R/RJ/RJBS/Email-Address-1.909.tar.gz;
+      sha256 = "0l7x6sl06j9ffgfz5f9vgms2b5axd4cgp5fj03ivb3kia4km6b3g";
     };
     meta = {
       homepage = http://search.cpan.org/perldoc?CPAN::Meta::Spec;
@@ -4640,6 +5009,18 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
+  EmailAddressXS = buildPerlPackage rec {
+     name = "Email-Address-XS-1.03";
+     src = fetchurl {
+       url = mirror://cpan/authors/id/P/PA/PALI/Email-Address-XS-1.03.tar.gz;
+       sha256 = "1knf1i9rr20bpzscbvaqsqjgw51pnnga4zlnkgsvw7jpqh4cyj6i";
+     };
+     meta = {
+       description = "Parse and format RFC 2822 email addresses and groups";
+       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+     };
+  };
+
   EmailDateFormat = buildPerlPackage rec {
     name = "Email-Date-Format-1.005";
     src = fetchurl {
@@ -4657,7 +5038,7 @@ let self = _self // overrides; _self = with self; {
   EmailReply = buildPerlPackage rec {
     name = "Email-Reply-1.204";
     src = fetchurl {
-      url = "http://search.cpan.org/CPAN/authors/id/R/RJ/RJBS/${name}.tar.gz";
+      url = mirror://cpan/authors/id/R/RJ/RJBS/Email-Reply-1.204.tar.gz;
       sha256 = "ba4fd80ac5017d6d132e0358c786b0ecd1c7adcbeee5c19fb3da2964791a56f0";
     };
     propagatedBuildInputs = [ EmailAbstract EmailAddress EmailMIME ];
@@ -4669,12 +5050,11 @@ let self = _self // overrides; _self = with self; {
   };
 
   EmailMessageID = buildPerlPackage {
-    name = "Email-MessageID-1.404";
+    name = "Email-MessageID-1.406";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RJ/RJBS/Email-MessageID-1.404.tar.gz;
-      sha256 = "0lyq9r3x7cs7cncf0yiazbi7aq4c5d4m3wxwgqdd4r5p9gxdjj4n";
+      url = mirror://cpan/authors/id/R/RJ/RJBS/Email-MessageID-1.406.tar.gz;
+      sha256 = "1f22sdnfq169qw1l0lg7y74pmiam7j9v95bggjnf3q4mygdmshpc";
     };
-    propagatedBuildInputs = [ EmailAddress ];
     meta = {
       description = "Generate world unique message-ids";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
@@ -4684,12 +5064,12 @@ let self = _self // overrides; _self = with self; {
   };
 
   EmailMIME = buildPerlPackage rec {
-    name = "Email-MIME-1.936";
+    name = "Email-MIME-1.946";
     src = fetchurl {
       url = "mirror://cpan/authors/id/R/RJ/RJBS/${name}.tar.gz";
-      sha256 = "4c0934284da84b8e9ed48ff1060c9719273fac18e776f4c8e888a47c863ee661";
+      sha256 = "68ee79023165d77bec99a2e12ef89ad4e12501e6c321f6822053dc4f411c337c";
     };
-    propagatedBuildInputs = [ EmailAddress EmailMIMEContentType EmailMIMEEncodings EmailMessageID EmailSimple MIMETypes ];
+    propagatedBuildInputs = [ EmailAddressXS EmailMIMEContentType EmailMIMEEncodings EmailMessageID EmailSimple MIMETypes ModuleRuntime ];
     meta = {
       homepage = https://github.com/rjbs/Email-MIME;
       description = "Easy MIME message handling";
@@ -4700,11 +5080,11 @@ let self = _self // overrides; _self = with self; {
 
   EmailMIMEAttachmentStripper = buildPerlPackage rec {
     name = "Email-MIME-Attachment-Stripper-1.317";
-    buildInputs = [ CaptureTiny TestPod ];
+    buildInputs = [ CaptureTiny ];
     propagatedBuildInputs = [ EmailAbstract EmailMIME ];
 
     src = fetchurl {
-        url = "http://www.cpan.org/authors/id/R/RJ/RJBS/${name}.tar.gz";
+        url = mirror://cpan/authors/id/R/RJ/RJBS/Email-MIME-Attachment-Stripper-1.317.tar.gz;
         sha256 = "dcb98b09dc3e8f757ec3882a4234548108bb2d12e3cfadf95a26cef381a9e789";
     };
     meta = {
@@ -4715,10 +5095,10 @@ let self = _self // overrides; _self = with self; {
   };
 
   EmailMIMEContentType = buildPerlPackage rec {
-    name = "Email-MIME-ContentType-1.018";
+    name = "Email-MIME-ContentType-1.022";
     src = fetchurl {
       url = "mirror://cpan/authors/id/R/RJ/RJBS/${name}.tar.gz";
-      sha256 = "7508cd1227b8f150a403ca49658cb4a0892836dd8f01ff95f049957b2abf10f9";
+      sha256 = "9abb7280b0da62a855ae5528b14deb94341a84e721af0a7e5a2adc3534ec5310";
     };
     meta = {
       homepage = https://github.com/rjbs/Email-MIME-ContentType;
@@ -4726,6 +5106,7 @@ let self = _self // overrides; _self = with self; {
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
       maintainers = with maintainers; [ rycee ];
     };
+    propagatedBuildInputs = [ Encode ];
   };
 
   EmailMIMEEncodings = buildPerlPackage rec {
@@ -4764,27 +5145,24 @@ let self = _self // overrides; _self = with self; {
       url = "mirror://cpan/authors/id/R/RJ/RJBS/${name}.tar.gz";
       sha256 = "4bbec933558d7cc9b8152bad86dd313de277a21a89b4ea83d84e61587e95dbc6";
     };
-    propagatedBuildInputs = [ EmailAbstract EmailAddress EmailSimple ModulePluggable ReturnValue ];
+    propagatedBuildInputs = [ EmailAbstract EmailAddress ReturnValue ];
     meta = {
       homepage = https://github.com/rjbs/Email-Send;
       description = "Simply Sending Email";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
       maintainers = [ maintainers.rycee ];
     };
+    buildInputs = [ MIMETools MailTools ];
   };
 
-  EmailOutlookMessage = buildPerlPackage rec {
+  EmailOutlookMessage = buildPerlModule rec {
     name = "Email-Outlook-Message-${version}";
-    version = "0.918";
+    version = "0.919";
     src = fetchurl {
       url = "mirror://cpan/authors/id/M/MV/MVZ/${name}.tar.gz";
-      sha256 = "1w1s858xzp3vbi91qa01qnmk4n78fmvl4a7axrx2r15vr3s2k2pv";
+      sha256 = "0fb1gymqa8nlj540dmbb1rhs2b0ln3y9ippbgj0miswcw92iaayb";
     };
-    propagatedBuildInputs = [
-      Carp Encode EmailMIME EmailMIMEContentType EmailSender
-      EmailSimple GetoptLong IOString OLEStorage_Lite PodUsage
-    ];
-    buildInputs = [ TestMore IOAll ];
+    propagatedBuildInputs = [ EmailMIME EmailSender IOAll IOString OLEStorage_Lite ];
     meta = with stdenv.lib; {
       homepage = http://www.matijs.net/software/msgconv/;
       description = "A .MSG to mbox converter";
@@ -4794,13 +5172,13 @@ let self = _self // overrides; _self = with self; {
   };
 
   EmailSender = buildPerlPackage rec {
-    name = "Email-Sender-1.300028";
+    name = "Email-Sender-1.300031";
     src = fetchurl {
       url = "mirror://cpan/authors/id/R/RJ/RJBS/${name}.tar.gz";
-      sha256 = "4a1cb9386a6b58b589b3183c807e533547a28e596fb15aa4cfd614947ad8ad30";
+      sha256 = "c412372938510283d8c850127895e09c2b670f892e1c3992fd54c0c1a9064f14";
     };
     buildInputs = [ CaptureTiny ];
-    propagatedBuildInputs = [ libnet EmailAbstract EmailAddress EmailSimple ListMoreUtils ModuleRuntime Moo MooXTypesMooseLike SubExporter Throwable TryTiny ];
+    propagatedBuildInputs = [ EmailAbstract EmailAddress MooXTypesMooseLike ScalarListUtils SubExporter Throwable TryTiny libnet ];
     meta = {
       homepage = https://github.com/rjbs/Email-Sender;
       description = "A library for sending email";
@@ -4810,10 +5188,10 @@ let self = _self // overrides; _self = with self; {
   };
 
   EmailSimple = buildPerlPackage rec {
-    name = "Email-Simple-2.210";
+    name = "Email-Simple-2.214";
     src = fetchurl {
       url = "mirror://cpan/authors/id/R/RJ/RJBS/${name}.tar.gz";
-      sha256 = "c8633fa462538967c036e3077617de9e5e8f6acc68d25546ba1d5bb1e12bd319";
+      sha256 = "b2f02b37441ea60efbddebbd675017d26bb767e9a4de3e0fc30b5410a1416b92";
     };
     propagatedBuildInputs = [ EmailDateFormat ];
     meta = {
@@ -4825,12 +5203,12 @@ let self = _self // overrides; _self = with self; {
   };
 
   EmailValid = buildPerlPackage rec {
-    name = "Email-Valid-1.200";
+    name = "Email-Valid-1.202";
     src = fetchurl {
       url = "mirror://cpan/authors/id/R/RJ/RJBS/${name}.tar.gz";
-      sha256 = "0nnvbqz0ls451b5p0w6lgqm6kklm115db2p2xf89lw0r5pvmkw54";
+      sha256 = "18hkmhddzbd23s6ak64d4j6q8ijykjyp5nxbr2hfcq1acsdhh8fh";
     };
-    propagatedBuildInputs = [MailTools NetDNS];
+    propagatedBuildInputs = [ IOCaptureOutput MailTools NetDNS NetDomainTLD ];
     doCheck = false;
   };
 
@@ -4859,14 +5237,13 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
-  EncodeDetect = buildPerlPackage rec {
+  EncodeDetect = buildPerlModule rec {
     name = "Encode-Detect-1.01";
     src = fetchurl {
       url = "mirror://cpan/authors/id/J/JG/JGMYERS/${name}.tar.gz";
       sha256 = "834d893aa7db6ce3f158afbd0e432d6ed15a276e0940db0a74be13fd9c4bbbf1";
     };
     nativeBuildInputs = [ pkgs.ld-is-cc-hook ];
-    propagatedBuildInputs = [ ModuleBuild ];
     meta = {
       description = "An Encode::Encoding subclass that detects the encoding of data";
       license = stdenv.lib.licenses.free;
@@ -4900,10 +5277,10 @@ let self = _self // overrides; _self = with self; {
   };
 
   EncodeJIS2K = buildPerlPackage {
-    name = "Encode-JIS2K-0.02";
+    name = "Encode-JIS2K-0.03";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DA/DANKOGAI/Encode-JIS2K-0.02.tar.gz;
-      sha256 = "5d718add5857f37fc270f24360bc9d100b72e0e13a11ca3149fe4e4d7c7cc4bf";
+      url = mirror://cpan/authors/id/D/DA/DANKOGAI/Encode-JIS2K-0.03.tar.gz;
+      sha256 = "1ec84d72db39deb4dad6fca95acfcc21033f45a24d347c20f9a1a696896c35cc";
     };
     outputs = [ "out" ];
     meta = {
@@ -4913,7 +5290,7 @@ let self = _self // overrides; _self = with self; {
   EncodeLocale = buildPerlPackage rec {
     name = "Encode-Locale-1.05";
     src = fetchurl {
-      url = "mirror://cpan/modules/by-module/Encode/${name}.tar.gz";
+      url = mirror://cpan/authors/id/G/GA/GAAS/Encode-Locale-1.05.tar.gz;
       sha256 = "176fa02771f542a4efb1dbc2a4c928e8f4391bf4078473bd6040d8f11adb0ec1";
     };
     preCheck = if stdenv.isCygwin then ''
@@ -4964,11 +5341,11 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
-  Error = buildPerlPackage rec {
-    name = "Error-0.17022";
+  Error = buildPerlModule rec {
+    name = "Error-0.17025";
     src = fetchurl {
       url = "mirror://cpan/authors/id/S/SH/SHLOMIF/${name}.tar.gz";
-      sha256 = "1vzpz6syb82ir8svp2wjh95x6lpf01lgkxn2xy60ixrszc24zdya";
+      sha256 = "1bzgzmf1v4md02vadm46b4j4ilqxrcrfasvbzymhrznlsd54g7vc";
     };
   };
 
@@ -4986,13 +5363,12 @@ let self = _self // overrides; _self = with self; {
   };
 
   EvalClosure = buildPerlPackage {
-    name = "Eval-Closure-0.11";
+    name = "Eval-Closure-0.14";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DO/DOY/Eval-Closure-0.11.tar.gz;
-      sha256 = "1b3rc9smdyyi0janckfiyg1kwph893sqwx7dr5n4mky0x8x3v4m1";
+      url = mirror://cpan/authors/id/D/DO/DOY/Eval-Closure-0.14.tar.gz;
+      sha256 = "1bcc47r6zm3hfr6ccsrs72kgwxm3wkk07mgnpsaxi67cypr482ga";
     };
     buildInputs = [ TestFatal TestRequires ];
-    propagatedBuildInputs = [ SubExporter TryTiny ];
     meta = {
       homepage = http://search.cpan.org/perldoc?CPAN::Meta::Spec;
       description = "Safely and cleanly create closures via string eval";
@@ -5000,7 +5376,7 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
-  ExceptionBase = buildPerlPackage rec {
+  ExceptionBase = buildPerlModule rec {
     name = "Exception-Base-0.2501";
     src = fetchurl {
       url = "mirror://cpan/authors/id/D/DE/DEXTER/${name}.tar.gz";
@@ -5015,29 +5391,29 @@ let self = _self // overrides; _self = with self; {
   };
 
   ExceptionClass = buildPerlPackage rec {
-    name = "Exception-Class-1.37";
+    name = "Exception-Class-1.44";
     src = fetchurl {
       url = "mirror://cpan/authors/id/D/DR/DROLSKY/${name}.tar.gz";
-      sha256 = "1p6f20fi82mr5bz7d2c7nqh0322r8n2kszfw37c77g8b1b4r72w3";
+      sha256 = "03gf4cdgrjnljgrlxkvbh2cahsyzn0zsh2zcli7b1lrqn7wgpwrk";
     };
     propagatedBuildInputs = [ ClassDataInheritable DevelStackTrace ];
   };
 
-  ExceptionDied = buildPerlPackage {
+  ExceptionDied = buildPerlModule {
     name = "Exception-Died-0.06";
     src = fetchurl {
       url = mirror://cpan/authors/id/D/DE/DEXTER/Exception-Died-0.06.tar.gz;
       sha256 = "1dcajw2m3x5m76fpi3fvy9fjkmfrd171pnx087i5fkgx5ay41i1m";
     };
     buildInputs = [ TestAssert TestUnitLite ];
-    propagatedBuildInputs = [ constantboolean ExceptionBase ];
+    propagatedBuildInputs = [ ExceptionBase constantboolean ];
     meta = {
       maintainers = with maintainers; [ ];
       platforms   = stdenv.lib.platforms.unix;
     };
   };
 
-  ExceptionWarning = buildPerlPackage {
+  ExceptionWarning = buildPerlModule {
     name = "Exception-Warning-0.0401";
     src = fetchurl {
       url = mirror://cpan/authors/id/D/DE/DEXTER/Exception-Warning-0.0401.tar.gz;
@@ -5052,10 +5428,10 @@ let self = _self // overrides; _self = with self; {
   };
 
   ExporterDeclare = buildPerlModule {
-    name = "Exporter-Declare-0.113";
+    name = "Exporter-Declare-0.114";
     src = fetchurl {
-      url = mirror://cpan/authors/id/E/EX/EXODIST/Exporter-Declare-0.113.tar.gz;
-      sha256 = "724de5e982c8477df14a360c82233f9e0c26b4af9191647f750f5e465ea42dce";
+      url = mirror://cpan/authors/id/E/EX/EXODIST/Exporter-Declare-0.114.tar.gz;
+      sha256 = "4bd70d6ca76f6f6ba7e4c618d4ac93b8593a58f1233ccbe18b10f5f204f1d4e4";
     };
     buildInputs = [ FennecLite TestException ];
     propagatedBuildInputs = [ MetaBuilder aliased ];
@@ -5069,10 +5445,10 @@ let self = _self // overrides; _self = with self; {
   };
 
   ExporterLite = buildPerlPackage {
-    name = "Exporter-Lite-0.04";
+    name = "Exporter-Lite-0.08";
     src = fetchurl {
-      url = mirror://cpan/authors/id/N/NE/NEILB/Exporter-Lite-0.04.tar.gz;
-      sha256 = "01g6a2ixgdi825v0l4ny3vx4chzsfxirka741x0i057cf6y5ciir";
+      url = mirror://cpan/authors/id/N/NE/NEILB/Exporter-Lite-0.08.tar.gz;
+      sha256 = "1hns15imih8z2h6zv3m1wwmv9fiysacsb52y94v6zf2cmw4kjny0";
     };
     meta = {
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
@@ -5080,10 +5456,10 @@ let self = _self // overrides; _self = with self; {
   };
 
   ExporterTiny = buildPerlPackage {
-    name = "Exporter-Tiny-0.042";
+    name = "Exporter-Tiny-1.000000";
     src = fetchurl {
-      url = mirror://cpan/authors/id/T/TO/TOBYINK/Exporter-Tiny-0.042.tar.gz;
-      sha256 = "8f1622c5ebbfbcd519ead81df7917e48cb16cc527b1c46737b0459c3908a023f";
+      url = mirror://cpan/authors/id/T/TO/TOBYINK/Exporter-Tiny-1.000000.tar.gz;
+      sha256 = "ffdd77d57de099e8f64dd942ef12a00a3f4313c2531f342339eeed2d366ad078";
     };
     meta = {
       homepage = https://metacpan.org/release/Exporter-Tiny;
@@ -5106,12 +5482,11 @@ let self = _self // overrides; _self = with self; {
   };
 
   Expect = buildPerlPackage {
-    name = "Expect-1.32";
+    name = "Expect-1.35";
     src = fetchurl {
-      url = mirror://cpan/authors/id/S/SZ/SZABGAB/Expect-1.32.tar.gz;
-      sha256 = "d1f96842a5c7dd8516b202b530d87a70b65e7054d3bf975c34f6a42084e54e25";
+      url = mirror://cpan/authors/id/J/JA/JACOBY/Expect-1.35.tar.gz;
+      sha256 = "09d92761421decd495853103379165a99efbf452c720f30277602cf23679fd06";
     };
-    buildInputs = [ TestException ];
     propagatedBuildInputs = [ IOTty ];
     meta = {
       description = "Automate interactions with command line programs that expose a text terminal interface";
@@ -5132,21 +5507,20 @@ let self = _self // overrides; _self = with self; {
   };
 
   ExtUtilsCBuilder = buildPerlPackage rec {
-    name = "ExtUtils-CBuilder-0.280216";
+    name = "ExtUtils-CBuilder-0.280230";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/A/AM/AMBS/ExtUtils/${name}.tar.gz";
-      sha256 = "09d5sq9mgcnmjf2yp8rwd0cc1fa8kq7nbwjqxiqdykwmavmgm5ml";
+      url = mirror://cpan/authors/id/A/AM/AMBS/ExtUtils-CBuilder-0.280230.tar.gz;
+      sha256 = "1mcwvic01x0flcz3jsny5j8j5zz96r63qjwq75hs42cpf3by3ahx";
     };
-    buildInputs = [ PerlOSType ];
   };
 
-  ExtUtilsCChecker = buildPerlPackage rec {
+  ExtUtilsCChecker = buildPerlModule rec {
     name = "ExtUtils-CChecker-0.10";
     src = fetchurl {
       url = "mirror://cpan/authors/id/P/PE/PEVANS/${name}.tar.gz";
       sha256 = "50bfe76870fc1510f56bae4fa2dce0165d9ac4af4e7320d6b8fda14dfea4be0b";
     };
-    buildInputs = [ ModuleBuild TestFatal ];
+    buildInputs = [ TestFatal ];
     meta = {
       description = "Configure-time utilities for using C headers,";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
@@ -5154,10 +5528,10 @@ let self = _self // overrides; _self = with self; {
   };
 
   ExtUtilsConfig = buildPerlPackage {
-    name = "ExtUtils-Config-0.007";
+    name = "ExtUtils-Config-0.008";
     src = fetchurl {
-      url = mirror://cpan/authors/id/L/LE/LEONT/ExtUtils-Config-0.007.tar.gz;
-      sha256 = "2c1465078b876fd16a90507092805265528c2532d4937b03547a6dbdb8ac0eef";
+      url = mirror://cpan/authors/id/L/LE/LEONT/ExtUtils-Config-0.008.tar.gz;
+      sha256 = "ae5104f634650dce8a79b7ed13fb59d67a39c213a6776cfdaa3ee749e62f1a8c";
     };
     meta = {
       description = "A wrapper for perl's configuration";
@@ -5166,28 +5540,29 @@ let self = _self // overrides; _self = with self; {
   };
 
   ExtUtilsConstant = buildPerlPackage {
-    name = "ExtUtils-Constant-0.23";
+    name = "ExtUtils-Constant-0.24";
     src = fetchurl {
-      url = mirror://cpan/authors/id/N/NW/NWCLARK/ExtUtils-Constant-0.23.tar.gz;
-      sha256 = "23b77025c8a5d3b93c586d4f0e712bcca3ef934edbee00a78c3fad4285f48eab";
+      url = mirror://cpan/authors/id/N/NW/NWCLARK/ExtUtils-Constant-0.24.tar.gz;
+      sha256 = "aa9e8c0b564576195a7508374f4a80b97fe3cf4a4c13efe4c949ece3e76b217d";
     };
   };
 
-  ExtUtilsCppGuess = buildPerlModule rec {
-    name = "ExtUtils-CppGuess-0.07";
+  ExtUtilsCppGuess = buildPerlPackage rec {
+    name = "ExtUtils-CppGuess-0.12";
     src = fetchurl {
-      url = "mirror://cpan/modules/by-module/ExtUtils/${name}.tar.gz";
-      sha256 = "1a77hxf2pa8ia9na72rijv1yhpn2bjrdsybwk2dj2l938pl3xn0w";
+      url = mirror://cpan/authors/id/E/ET/ETJ/ExtUtils-CppGuess-0.12.tar.gz;
+      sha256 = "0sqq8vadch633cx7w7i47fca49pxzyh82n5kwxdgvsg32mdppi1i";
     };
     nativeBuildInputs = [ pkgs.ld-is-cc-hook ];
     propagatedBuildInputs = [ CaptureTiny ];
+    buildInputs = [ ModuleBuild ];
   };
 
   ExtUtilsDepends = buildPerlPackage {
-    name = "ExtUtils-Depends-0.306";
+    name = "ExtUtils-Depends-0.405";
     src = fetchurl {
-      url = mirror://cpan/authors/id/X/XA/XAOC/ExtUtils-Depends-0.306.tar.gz;
-      sha256 = "0s935hmxjl6md47i80abcfaghqwhnv0ikzzqln80w4ydhg5qn9a5";
+      url = mirror://cpan/authors/id/X/XA/XAOC/ExtUtils-Depends-0.405.tar.gz;
+      sha256 = "0b4ab9qmcihsfs2ajhn5qzg7nhazr68v3r0zvb7076smswd41mla";
     };
     meta = {
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
@@ -5197,10 +5572,10 @@ let self = _self // overrides; _self = with self; {
   };
 
   ExtUtilsHelpers = buildPerlPackage {
-    name = "ExtUtils-Helpers-0.022";
+    name = "ExtUtils-Helpers-0.026";
     src = fetchurl {
-      url = mirror://cpan/authors/id/L/LE/LEONT/ExtUtils-Helpers-0.022.tar.gz;
-      sha256 = "15dalfwmpfmifw312i5pwiai8134pxf7b2804shlqhdk1xqczy6k";
+      url = mirror://cpan/authors/id/L/LE/LEONT/ExtUtils-Helpers-0.026.tar.gz;
+      sha256 = "05ilqcj1rg5izr09dsqmy5di4fvq6ph4k0chxks7qmd4j1kip46y";
     };
     meta = {
       description = "Various portability utilities for module builders";
@@ -5209,10 +5584,10 @@ let self = _self // overrides; _self = with self; {
   };
 
   ExtUtilsInstall = buildPerlPackage {
-    name = "ExtUtils-Install-2.04";
+    name = "ExtUtils-Install-2.14";
     src = fetchurl {
-      url = mirror://cpan/authors/id/B/BI/BINGOS/ExtUtils-Install-2.04.tar.gz;
-      sha256 = "1b2e5370bc63d93cf99a75feb2b9b67227b693d16ebfb730ca90a483145de3b6";
+      url = mirror://cpan/authors/id/B/BI/BINGOS/ExtUtils-Install-2.14.tar.gz;
+      sha256 = "35412305cbae979aac3b6e2c70cb301ae461979a1d848a8a043f74518eb96aea";
     };
     meta = {
       homepage = https://metacpan.org/release/ExtUtils-Install;
@@ -5222,10 +5597,10 @@ let self = _self // overrides; _self = with self; {
   };
 
   ExtUtilsInstallPaths = buildPerlPackage {
-    name = "ExtUtils-InstallPaths-0.010";
+    name = "ExtUtils-InstallPaths-0.011";
     src = fetchurl {
-      url = mirror://cpan/authors/id/L/LE/LEONT/ExtUtils-InstallPaths-0.010.tar.gz;
-      sha256 = "0mi1px42in7i442jqncg3gmxd5zn7sw5b2s85h690rz433qvyk6i";
+      url = mirror://cpan/authors/id/L/LE/LEONT/ExtUtils-InstallPaths-0.011.tar.gz;
+      sha256 = "0z06y0fhx9hy9x01abb7s2xdbqrh9x4ps7avmlf4bwfwih2gl2bn";
     };
     propagatedBuildInputs = [ ExtUtilsConfig ];
     meta = {
@@ -5248,13 +5623,11 @@ let self = _self // overrides; _self = with self; {
   };
 
   ExtUtilsMakeMaker = buildPerlPackage {
-    name = "ExtUtils-MakeMaker-6.98";
+    name = "ExtUtils-MakeMaker-7.34";
     src = fetchurl {
-      url = mirror://cpan/authors/id/B/BI/BINGOS/ExtUtils-MakeMaker-6.98.tar.gz;
-      sha256 = "2eb023189e5fa6b9dcc66858b1fde953d1f1b86f971ec5ab42dd36c172da63ef";
+      url = mirror://cpan/authors/id/B/BI/BINGOS/ExtUtils-MakeMaker-7.34.tar.gz;
+      sha256 = "95f1eb44de480d00b28d031b574ec868f7aeeee199eb5abe5666f6bcbbf68480";
     };
-    propagatedBuildInputs =
-      [ ParseCPANMeta JSONPP JSONPPCompat5006 CPANMetaYAML FileCopyRecursive ];
     meta = {
       homepage = https://metacpan.org/release/ExtUtils-MakeMaker;
       description = "Create a module Makefile";
@@ -5262,11 +5635,24 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
+  ExtUtilsMakeMakerCPANfile = buildPerlPackage rec {
+     name = "ExtUtils-MakeMaker-CPANfile-0.08";
+     src = fetchurl {
+       url = mirror://cpan/authors/id/I/IS/ISHIGAKI/ExtUtils-MakeMaker-CPANfile-0.08.tar.gz;
+       sha256 = "0yg2z4six807lraqh8ncsq6l62vj7zi0a38ha9nvmhd6lbipmsql";
+     };
+     propagatedBuildInputs = [ ModuleCPANfile ];
+     meta = {
+       description = "cpanfile support for EUMM";
+       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+     };
+  };
+
   ExtUtilsManifest = buildPerlPackage rec {
-    name = "ExtUtils-Manifest-1.63";
+    name = "ExtUtils-Manifest-1.70";
     src = fetchurl {
-      url = "mirror://cpan/modules/by-module/ExtUtils/${name}.tar.gz";
-      sha256 = "0p4hj03nb5n6mk7pskpw066n1i3hr80nq7k7rc3fgl329v6syfmg";
+      url = mirror://cpan/authors/id/E/ET/ETHER/ExtUtils-Manifest-1.70.tar.gz;
+      sha256 = "159bypwl8xpq1yi39prr49hl7x2xww5aj97nv169c8xja0h0dzzf";
     };
   };
 
@@ -5306,19 +5692,17 @@ let self = _self // overrides; _self = with self; {
   ExtUtilsTypemap = buildPerlPackage rec {
     name = "ExtUtils-Typemap-1.00";
     src = fetchurl {
-      url = "mirror://cpan/modules/by-module/ExtUtils/${name}.tar.gz";
+      url = mirror://cpan/authors/id/S/SM/SMUELLER/ExtUtils-Typemap-1.00.tar.gz;
       sha256 = "1iqz0xlscg655gnwb2h1wrjj70llblps1zznl29qn1mv5mvibc5i";
     };
-    buildInputs = [ ExtUtilsParseXS ];
   };
 
   ExtUtilsTypemapsDefault = buildPerlModule rec {
     name = "ExtUtils-Typemaps-Default-1.05";
     src = fetchurl {
-      url = "mirror://cpan/modules/by-module/ExtUtils/${name}.tar.gz";
+      url = mirror://cpan/authors/id/S/SM/SMUELLER/ExtUtils-Typemaps-Default-1.05.tar.gz;
       sha256 = "1phmha0ks95kvzl00r1kgnd5hvg7qb1q9jmzjmw01p5zgs1zbyix";
     };
-    propagatedBuildInputs = [ ExtUtilsTypemap ExtUtilsParseXS ];
   };
 
   ExtUtilsXSBuilder = buildPerlPackage {
@@ -5333,20 +5717,20 @@ let self = _self // overrides; _self = with self; {
   ExtUtilsXSpp = buildPerlModule rec {
     name = "ExtUtils-XSpp-0.18";
     src = fetchurl {
-      url = "mirror://cpan/modules/by-module/ExtUtils/${name}.tar.gz";
+      url = mirror://cpan/authors/id/S/SM/SMUELLER/ExtUtils-XSpp-0.18.tar.gz;
       sha256 = "1zx84f93lkymqz7qa4d63gzlnhnkxm5i3gvsrwkvvqr9cxjasxli";
     };
-    buildInputs = [ Spiffy TestBase TestDifferences ];
+    buildInputs = [ TestBase TestDifferences ];
   };
 
-  FatalException = buildPerlPackage {
-    name = "Fatal-Exception-0.0204";
+  FatalException = buildPerlModule {
+    name = "Fatal-Exception-0.05";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DE/DEXTER/Fatal-Exception-0.0204.tar.gz;
-      sha256 = "10a9j0fa83s3apv0xgi01l2h6s43my031097hg72wa80n07rgs2c";
+      url = mirror://cpan/authors/id/D/DE/DEXTER/Fatal-Exception-0.05.tar.gz;
+      sha256 = "0kzfwc44vpxla3j637kfmnwmv57g6x4899ijqb4ljamk7whms298";
     };
     buildInputs = [ ExceptionWarning TestAssert TestUnitLite ];
-    propagatedBuildInputs = [ ExceptionBase ExceptionDied ];
+    propagatedBuildInputs = [ ExceptionDied ];
     meta = {
       maintainers = with maintainers; [ ];
       platforms   = stdenv.lib.platforms.unix;
@@ -5354,19 +5738,31 @@ let self = _self // overrides; _self = with self; {
   };
 
   FCGI = buildPerlPackage rec {
-    name = "FCGI-0.74";
+    name = "FCGI-0.78";
     src = fetchurl {
-      url = "mirror://cpan/modules/by-module/FCGI/${name}.tar.gz";
-      sha256 = "0m089q07kpsk8y8g2wmi3d8i1jzn5m5m00shs7vnf2lnvvv4d7pm";
+      url = mirror://cpan/authors/id/E/ET/ETHER/FCGI-0.78.tar.gz;
+      sha256 = "1cxavhzg4gyw4gl9kirpbdimjr8gk1rjc3pqs3xrnh1gjybld5xa";
     };
-    buildInputs = [ ];
+  };
+
+  FCGIClient = buildPerlPackage rec {
+     name = "FCGI-Client-0.08";
+     src = fetchurl {
+       url = mirror://cpan/authors/id/T/TO/TOKUHIROM/FCGI-Client-0.08.tar.gz;
+       sha256 = "1rvhfnyhib1aslr06x8s0yfykaf44j5glj0rxz9ani7z6l0p2vqa";
+     };
+     propagatedBuildInputs = [ AnyMoose ];
+     meta = {
+       description = "client library for fastcgi protocol";
+       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+     };
   };
 
   FCGIProcManager = buildPerlPackage {
-    name = "FCGI-ProcManager-0.25";
+    name = "FCGI-ProcManager-0.28";
     src = fetchurl {
-      url = mirror://cpan/authors/id/A/AR/ARODLAND/FCGI-ProcManager-0.25.tar.gz;
-      sha256 = "b9ae1146e2638f3aa477c9ab3ceb728f92c5e36e4cce8f0b5847efad601d024d";
+      url = mirror://cpan/authors/id/A/AR/ARODLAND/FCGI-ProcManager-0.28.tar.gz;
+      sha256 = "e1c958c042427a175e051e0008f2025e8ec80613d3c7750597bf8e529b04420e";
     };
     meta = {
       description = "A perl-based FastCGI process manager";
@@ -5389,16 +5785,14 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
-  FileChangeNotify = buildPerlModule {
-    name = "File-ChangeNotify-0.24";
+  FileChangeNotify = buildPerlPackage {
+    name = "File-ChangeNotify-0.28";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DR/DROLSKY/File-ChangeNotify-0.24.tar.gz;
-      sha256 = "3c8180169de0f97ad852a55942f74e520cbe433aa0889d0b65548ee38a111124";
+      url = mirror://cpan/authors/id/D/DR/DROLSKY/File-ChangeNotify-0.28.tar.gz;
+      sha256 = "e00fe809d481131a08dca26e851cf0ffce8d9e9d03d58c58f15aa62e28aa2f05";
     };
-    buildInputs = [ TestException ];
-    propagatedBuildInputs =
-      [ ClassLoad ListMoreUtils ModulePluggable Moose MooseXParamsValidate MooseXSemiAffordanceAccessor namespaceautoclean ]
-      ++ stdenv.lib.optional stdenv.isLinux LinuxInotify2;
+    buildInputs = [ TestException TestRequires TestWithoutModule ];
+    propagatedBuildInputs = [ ClassLoad ModulePluggable Moo TypeTiny namespaceautoclean ];
     meta = with stdenv.lib; {
       description = "Watch for changes to files, cross-platform style";
       license = licenses.artistic2;
@@ -5406,34 +5800,35 @@ let self = _self // overrides; _self = with self; {
   };
 
   Filechdir = buildPerlPackage rec {
-    name = "File-chdir-0.1008";
+    name = "File-chdir-0.1010";
     src = fetchurl {
       url = "mirror://cpan/authors/id/D/DA/DAGOLDEN/${name}.tar.gz";
-      sha256 = "0n8dz80fgk3shfxncyr4aff5hnsd846c5np6d68kc0mxqj2g0flr";
+      sha256 = "009b8p2fzj4nhl03fpkhrn0rsh7myxqbrf69iqpzd86p1gs23hgg";
     };
   };
 
-  FileBaseDir = buildPerlPackage rec {
-    version = "0.03";
+  FileBaseDir = buildPerlModule rec {
+    version = "0.08";
     name = "File-BaseDir-${version}";
     src = fetchurl {
-      url = "mirror://cpan/modules/by-module/File/${name}.tar.gz";
-      sha256 = "0029cba7a3b5d8aa5f7d03cb1b7ba2bcf2829382f7f26aa3bee06fce8611a886";
+      url = mirror://cpan/authors/id/K/KI/KIMRYAN/File-BaseDir-0.08.tar.gz;
+      sha256 = "c065fcd3e2f22ae769937bcc971b91f80294d5009fac140bfba83bf7d35305e3";
     };
     configurePhase = ''
       preConfigure || true
       perl Build.PL PREFIX="$out" prefix="$out"
     '';
-    propagatedBuildInputs = [ ModuleBuild ];
+    propagatedBuildInputs = [ IPCSystemSimple ];
+    buildInputs = [ FileWhich ];
   };
 
-  FileBOM = buildPerlPackage rec {
+  FileBOM = buildPerlModule rec {
     name = "File-BOM-0.15";
     src = fetchurl {
       url = "mirror://cpan/authors/id/M/MA/MATTLAW/${name}.tar.gz";
       sha256 = "431c8b39397fd5ad5b1a1100d3647a06e9f94304d46db44ffc0a0e5c5c06a1c1";
     };
-    buildInputs = [ ModuleBuild TestException ];
+    buildInputs = [ TestException ];
     propagatedBuildInputs = [ Readonly ];
     meta = {
       description = "Utilities for handling Byte Order Marks";
@@ -5447,7 +5842,6 @@ let self = _self // overrides; _self = with self; {
       url = mirror://cpan/authors/id/R/RJ/RJBS/File-CheckTree-4.42.tar.gz;
       sha256 = "66fb417f8ff8a5e5b7ea25606156e70e204861c59fa8c3831925b4dd3f155f8a";
     };
-    propagatedBuildInputs = [ if_ ];
     meta = {
       homepage = http://search.cpan.org/dist/File-CheckTree;
       description = "Run many filetest checks on a tree";
@@ -5456,11 +5850,13 @@ let self = _self // overrides; _self = with self; {
   };
 
   FileCopyRecursive = buildPerlPackage rec {
-    name = "File-Copy-Recursive-0.38";
+    name = "File-Copy-Recursive-0.40";
     src = fetchurl {
       url = "mirror://cpan/authors/id/D/DM/DMUEY/${name}.tar.gz";
-      sha256 = "1syyyvylr51iicialdmv0dw06q49xzv8zrkb5cn8ma4l73gvvk44";
+      sha256 = "18amrqvdjlb4hc7mblbwb63q96ql1rnlb5saknsvrxqfjcxr5f78";
     };
+    propagatedBuildInputs = [ PathTiny ];
+    buildInputs = [ TestDeep TestException TestFile TestWarn ];
   };
 
   FileDesktopEntry = buildPerlPackage rec {
@@ -5488,13 +5884,12 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
-  FileFindObject = buildPerlPackage rec {
-    name = "File-Find-Object-v0.3.2";
+  FileFindObject = buildPerlModule rec {
+    name = "File-Find-Object-0.3.2";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/S/SH/SHLOMIF/${name}.tar.gz";
+      url = mirror://cpan/authors/id/S/SH/SHLOMIF/File-Find-Object-v0.3.2.tar.gz;
       sha256 = "7c467b6b7752bff46b7b8b84c9aabeac45bbfdab1e2224108a2e2170adb9f2b7";
     };
-    buildInputs = [ ModuleBuild perl ];
     propagatedBuildInputs = [ ClassXSAccessor ];
     meta = {
       description = "An object oriented File::Find replacement";
@@ -5508,8 +5903,7 @@ let self = _self // overrides; _self = with self; {
       url = "mirror://cpan/authors/id/S/SH/SHLOMIF/${name}.tar.gz";
       sha256 = "2ce55766b25fb8799d37b95bca61e8a71d8a437e28541e1cd06b7eb89f7739d1";
     };
-    buildInputs = [ ModuleBuild ];
-    propagatedBuildInputs = [ ClassXSAccessor FileFindObject NumberCompare TextGlob ];
+    propagatedBuildInputs = [ FileFindObject NumberCompare TextGlob ];
     meta = {
       homepage = http://www.shlomifish.org/open-source/projects/File-Find-Object/;
       description = "Alternative interface to File::Find::Object";
@@ -5518,19 +5912,19 @@ let self = _self // overrides; _self = with self; {
   };
 
   FileFindRule = buildPerlPackage rec {
-    name = "File-Find-Rule-0.33";
+    name = "File-Find-Rule-0.34";
     src = fetchurl {
       url = "mirror://cpan/authors/id/R/RC/RCLAMP/${name}.tar.gz";
-      sha256 = "0w73b4jr2fcrd74a1w3b2jryq3mqzc8z5mk7ia9p85xn3qmpa5r4";
+      sha256 = "1znachnhmi1w5pdqx8dzgfa892jb7x8ivrdy4pzjj7zb6g61cvvy";
     };
     propagatedBuildInputs = [ NumberCompare TextGlob ];
   };
 
   FileFindRulePerl = buildPerlPackage {
-    name = "File-Find-Rule-Perl-1.13";
+    name = "File-Find-Rule-Perl-1.15";
     src = fetchurl {
-      url = mirror://cpan/authors/id/A/AD/ADAMK/File-Find-Rule-Perl-1.13.tar.gz;
-      sha256 = "d2ecb270778ddf54c536a78d02fe6ee7a675f7dcb7f3497ba1a76493f1bd2476";
+      url = mirror://cpan/authors/id/E/ET/ETHER/File-Find-Rule-Perl-1.15.tar.gz;
+      sha256 = "9a48433f86e08ce18e03526e2982de52162eb909d19735460f07eefcaf463ea6";
     };
     propagatedBuildInputs = [ FileFindRule ParamsUtil ];
     meta = {
@@ -5551,6 +5945,19 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
+  FileFnMatch = buildPerlPackage rec {
+    name = "File-FnMatch-0.02";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/M/MJ/MJP/File-FnMatch-0.02.tar.gz";
+      sha256 = "05p9m7kpmjv8bmmbs5chb5fqyshcgmskbbzq5c9qpskbx2w5894n";
+    };
+    meta = {
+      maintainers = [ maintainers.limeytexan ];
+      description = "simple filename and pathname matching";
+      license = stdenv.lib.licenses.free; # Same as Perl
+    };
+  };
+
   FileHandleUnget = buildPerlPackage rec {
     name = "FileHandle-Unget-0.1628";
     src = fetchurl {
@@ -5567,10 +5974,10 @@ let self = _self // overrides; _self = with self; {
   };
 
   FileHomeDir = buildPerlPackage {
-    name = "File-HomeDir-1.00";
+    name = "File-HomeDir-1.002";
     src = fetchurl {
-      url = mirror://cpan/authors/id/A/AD/ADAMK/File-HomeDir-1.00.tar.gz;
-      sha256 = "85b94f3513093ec0a25b91f9f2571918519ae6f2b7a1e8546f8f78d09a877143";
+      url = mirror://cpan/authors/id/R/RE/REHSACK/File-HomeDir-1.002.tar.gz;
+      sha256 = "eb4c0c85775138460cd4013d8117232f08e88381c95c6a93b3d11e969185c274";
     };
     propagatedBuildInputs = [ FileWhich ];
     meta = {
@@ -5590,13 +5997,13 @@ let self = _self // overrides; _self = with self; {
     propagatedBuildInputs = [ CryptRijndael ];
   };
 
-  Filelchown = buildPerlPackage rec {
+  Filelchown = buildPerlModule rec {
     name = "File-lchown-0.02";
     src = fetchurl {
       url = "mirror://cpan/authors/id/P/PE/PEVANS/${name}.tar.gz";
       sha256 = "a02fbf285406a8a4d9399284f032f2d55c56975154c2e1674bd109837b8096ec";
     };
-    buildInputs = [ ExtUtilsCChecker ModuleBuild ];
+    buildInputs = [ ExtUtilsCChecker ];
     meta = {
       description = "Modify attributes of symlinks without dereferencing them";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
@@ -5609,7 +6016,7 @@ let self = _self // overrides; _self = with self; {
       url = "mirror://cpan/authors/id/D/DR/DROLSKY/${name}.tar.gz";
       sha256 = "c8a695fac1454f52e18e2e1b624c0647cf117326014023dda69fa3e1a5f33d60";
     };
-    buildInputs = [ TestFatal pkgs.file ];
+    buildInputs = [ pkgs.file TestFatal ];
     makeMakerFlags = "--lib=${pkgs.file}/lib";
     preCheck = ''
       substituteInPlace t/oo-api.t \
@@ -5626,20 +6033,20 @@ let self = _self // overrides; _self = with self; {
   FileListing = buildPerlPackage rec {
     name = "File-Listing-6.04";
     src = fetchurl {
-      url = "mirror://cpan/modules/by-module/File/${name}.tar.gz";
+      url = mirror://cpan/authors/id/G/GA/GAAS/File-Listing-6.04.tar.gz;
       sha256 = "1xcwjlnxaiwwpn41a5yi6nz95ywh3szq5chdxiwj36kqsvy5000y";
     };
     propagatedBuildInputs = [ HTTPDate ];
   };
 
   FileMimeInfo = buildPerlPackage rec {
-    name = "File-MimeInfo-0.27";
+    name = "File-MimeInfo-0.28";
     src = fetchurl {
-      url = "mirror://cpan/modules/by-module/File/${name}.tar.gz";
-      sha256 = "0d3jcs2fgrrfwl3rxk8xg0varjah2llm66jk6rk2gznpzqkgi72p";
+      url = mirror://cpan/authors/id/M/MI/MICHIELB/File-MimeInfo-0.28.tar.gz;
+      sha256 = "1ipbh63bkh1r2gy5g7q4bzhki8j29mm1jkhbv60p9vwsdys5s91a";
     };
     doCheck = false; # Failed test 'desktop file is the right one'
-    propagatedBuildInputs = [ FileBaseDir FileDesktopEntry ];
+    buildInputs = [ FileBaseDir ];
   };
 
   FileMMagic = buildPerlPackage rec {
@@ -5676,10 +6083,10 @@ let self = _self // overrides; _self = with self; {
   };
 
   FileNFSLock = buildPerlPackage {
-    name = "File-NFSLock-1.21";
+    name = "File-NFSLock-1.27";
     src = fetchurl {
-      url = mirror://cpan/authors/id/B/BB/BBB/File-NFSLock-1.21.tar.gz;
-      sha256 = "1kclhmyha2xijq49darlz82f3bn7gq3saycxpfiz3dndqhr5i9iz";
+      url = mirror://cpan/authors/id/B/BB/BBB/File-NFSLock-1.27.tar.gz;
+      sha256 = "0hhh3cmbby98b1xh64dvj31wqcr9hsk1zqrq3ci8fjd4xb7xch8g";
     };
     meta = {
       maintainers = with maintainers; [ ];
@@ -5688,10 +6095,10 @@ let self = _self // overrides; _self = with self; {
   };
 
   FilePath = buildPerlPackage rec {
-    name = "File-Path-2.12";
+    name = "File-Path-2.15";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/R/RI/RICHE/${name}.tar.gz";
-      sha256 = "bbf61a0d37c135c694e80f4ea344932bdc5474c213025ae307ea52cb6886d17e";
+      url = mirror://cpan/authors/id/J/JK/JKEENAN/File-Path-2.15.tar.gz;
+      sha256 = "1570f3c1cdf93c50f65c2072e8f20ee121550771dfb7f6e563f503a2a7050744";
     };
     meta = {
       description = "Create or remove directory trees";
@@ -5699,11 +6106,25 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
+  FilePid = buildPerlPackage rec {
+    name = "File-Pid-1.01";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/C/CW/CWEST/${name}.tar.gz";
+      sha256 = "bafeee8fdc96eb06306a0c58bbdb7209b6de45f850e75fdc6b16db576e05e422";
+    };
+    propagatedBuildInputs = [ ClassAccessor ];
+    meta = {
+      license = stdenv.lib.licenses.free; # Same as Perl
+      description = "Pid File Manipulation";
+      maintainers = [ maintainers.limeytexan ];
+    };
+  };
+
   Filepushd = buildPerlPackage {
-    name = "File-pushd-1.005";
+    name = "File-pushd-1.014";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DA/DAGOLDEN/File-pushd-1.005.tar.gz;
-      sha256 = "50fdcc33e69a50bab1e32d1a7c96753938f6d95a06015e34e662958c58687842";
+      url = mirror://cpan/authors/id/D/DA/DAGOLDEN/File-pushd-1.014.tar.gz;
+      sha256 = "b5ab37ffe3acbec53efb7c77b4423a2c79afa30a48298e751b9ebee3fdc6340b";
     };
     meta = {
       homepage = https://metacpan.org/release/File-pushd;
@@ -5728,18 +6149,18 @@ let self = _self // overrides; _self = with self; {
   };
 
   FileRemove = buildPerlPackage rec {
-    name = "File-Remove-1.52";
+    name = "File-Remove-1.57";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/A/AD/ADAMK/${name}.tar.gz";
-      sha256 = "1p8bal9qhwkjbghivxn1d5m3qdj2qwm1agrjbmakm6la9dbxqm21";
+      url = mirror://cpan/authors/id/S/SH/SHLOMIF/File-Remove-1.57.tar.gz;
+      sha256 = "1b814lw181kkqh6c1n4p2zlzzsq6ic5pfpr831nphf2w2rhcvgmk";
     };
   };
 
   FileShare = buildPerlPackage {
-    name = "File-Share-0.03";
+    name = "File-Share-0.25";
     src = fetchurl {
-      url = mirror://cpan/authors/id/J/JO/JOENIO/File-Share-0.03.tar.gz;
-      sha256 = "0siy9p6b7zbln5yq6g8z1nwm76ia23kkdj1k5pywsh3n6dn2lxa2";
+      url = mirror://cpan/authors/id/I/IN/INGY/File-Share-0.25.tar.gz;
+      sha256 = "0w3h800qqcf1sn79h84zngnn788rg2jx4jjb70l44f6419p2b7cf";
     };
     propagatedBuildInputs = [ FileShareDir ];
     meta = {
@@ -5752,10 +6173,10 @@ let self = _self // overrides; _self = with self; {
   };
 
   FileShareDir = buildPerlPackage {
-    name = "File-ShareDir-1.03";
+    name = "File-ShareDir-1.104";
     src = fetchurl {
-      url = mirror://cpan/authors/id/A/AD/ADAMK/File-ShareDir-1.03.tar.gz;
-      sha256 = "0fczaqjxyzmzgrmn3ib84cj6pd2085wsvni3wf5b018i21j2wi2r";
+      url = mirror://cpan/authors/id/R/RE/REHSACK/File-ShareDir-1.104.tar.gz;
+      sha256 = "1bqwhk3qfg60bkpi5b83bh93sng8jx20i3ka5sixc0prrppjidh7";
     };
     propagatedBuildInputs = [ ClassInspector ];
     meta = {
@@ -5764,11 +6185,11 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
-  FileShareDirInstall = buildPerlPackage {
-    name = "File-ShareDir-Install-0.08";
+  FileShareDirInstall = buildPerlModule {
+    name = "File-ShareDir-Install-0.11";
     src = fetchurl {
-      url = mirror://cpan/authors/id/G/GW/GWYN/File-ShareDir-Install-0.08.tar.gz;
-      sha256 = "188pgn43wa6hgpcrv997lp3bad50030p4wmrcdzvfrqxj0bx2amf";
+      url = mirror://cpan/authors/id/E/ET/ETHER/File-ShareDir-Install-0.11.tar.gz;
+      sha256 = "1j0cw1aq9fdv9kl1a6fnfa4zihsvmcqzy9sb0xk0i9pyx5r8ggrj";
     };
     meta = {
       description = "Install shared files";
@@ -5776,33 +6197,20 @@ let self = _self // overrides; _self = with self; {
       maintainers = with maintainers; [ ];
       platforms   = stdenv.lib.platforms.unix;
     };
+    buildInputs = [ ModuleBuildTiny ];
   };
 
   FilesysNotifySimple = buildPerlPackage {
-    name = "Filesys-Notify-Simple-0.08";
+    name = "Filesys-Notify-Simple-0.13";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MI/MIYAGAWA/Filesys-Notify-Simple-0.08.tar.gz;
-      sha256 = "042klyvi8fbkhmyg1h7883bbjdhiclmky9w2wfga7piq5il6nxgi";
+      url = mirror://cpan/authors/id/M/MI/MIYAGAWA/Filesys-Notify-Simple-0.13.tar.gz;
+      sha256 = "18jv96k1pf8wqf4vn2ahs7dv44lc9cyqj0bja9z17qici3dx7qxd";
     };
     meta = {
       description = "Simple and dumb file system watcher";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
-  };
-
-  FileTemp = null;
-
-  FileType = buildPerlPackage {
-    name = "File-Type-0.22";
-    src = fetchurl {
-      url = mirror://cpan/authors/id/P/PM/PMISON/File-Type-0.22.tar.gz;
-      sha256 = "0hfkaafp6wb0nw19x47wc6wc9mwlw8s2rxiii3ylvzapxxgxjp6k";
-    };
-    meta = {
-      description = "File::Type uses magic numbers (typically at the start of a file) to determine the MIME type of that file.";
-      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
-      platforms = with stdenv.lib.platforms; linux ++ darwin;
-    };
+    buildInputs = [ TestSharedFork ];
   };
 
   FileSlurp = buildPerlPackage {
@@ -5821,10 +6229,10 @@ let self = _self // overrides; _self = with self; {
   };
 
   FileSlurper = buildPerlPackage rec {
-    name = "File-Slurper-0.011";
+    name = "File-Slurper-0.012";
     src = fetchurl {
       url = "mirror://cpan/authors/id/L/LE/LEONT/${name}.tar.gz";
-      sha256 = "f6494844b9759b3d1dd8fc4ffa790f8e6e493c4eb58e88831a51e085f2e76010";
+      sha256 = "4efb2ea416b110a1bda6f8133549cc6ea3676402e3caf7529fce0313250aa578";
     };
     buildInputs = [ TestWarnings ];
     meta = {
@@ -5845,13 +6253,55 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
+  FileTail = buildPerlPackage rec {
+    name = "File-Tail-1.3";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/M/MG/MGRABNAR/${name}.tar.gz";
+      sha256 = "1ixg6kn4h330xfw3xgvqcbzfc3v2wlzjim9803jflhvfhf0rzl16";
+    };
+    meta = {
+      description = "Perl extension for reading from continously updated files";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+      maintainers = [ maintainers.limeytexan ];
+    };
+  };
+
+  FileTemp = null;
+
+  FileTouch = buildPerlPackage rec {
+    name = "File-Touch-0.11";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/N/NE/NEILB/${name}.tar.gz";
+      sha256 = "e379a5ff89420cf39906e5ceff309b8ce958f99f9c3e57ad52b5002a3982d93c";
+    };
+    meta = {
+      homepage = https://github.com/neilb/File-Touch;
+      description = "Update file access and modification times, optionally creating files if needed";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+      maintainers = [ maintainers.limeytexan ];
+    };
+  };
+
+  FileType = buildPerlModule {
+    name = "File-Type-0.22";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/P/PM/PMISON/File-Type-0.22.tar.gz;
+      sha256 = "0hfkaafp6wb0nw19x47wc6wc9mwlw8s2rxiii3ylvzapxxgxjp6k";
+    };
+    meta = {
+      description = "File::Type uses magic numbers (typically at the start of a file) to determine the MIME type of that file.";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+      platforms = with stdenv.lib.platforms; linux ++ darwin;
+    };
+  };
+
   FileUtil = buildPerlPackage rec {
     name = "File-Util-4.161950";
     src = fetchurl {
       url = "mirror://cpan/authors/id/T/TO/TOMMY/${name}.tar.gz";
       sha256 = "88507b19da580d595b5c25fe6ba75bbd6096b4359e389ead067a216f766c20ee";
     };
-    buildInputs = [ ModuleBuild TestNoWarnings ];
+    buildInputs = [ TestNoWarnings ];
     meta = {
       homepage = https://github.com/tommybutler/file-util/wiki;
       description = "Easy, versatile, portable file handling";
@@ -5861,10 +6311,10 @@ let self = _self // overrides; _self = with self; {
   };
 
   FileWhich = buildPerlPackage rec {
-    name = "File-Which-1.21";
+    name = "File-Which-1.22";
     src = fetchurl {
       url = "mirror://cpan/authors/id/P/PL/PLICEASE/${name}.tar.gz";
-      sha256 = "9def5f10316bfd944e56b7f8a2501be1d44c288325309462aa9345e340854bcc";
+      sha256 = "e8a8ffcf96868c6879e82645db4ff9ef00c2d8a286fed21971e7280f52cf0dd4";
     };
     meta = {
       homepage = http://perl.wdlabs.com/File-Which;
@@ -5873,11 +6323,23 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
+  FileZglob = buildPerlPackage rec {
+     name = "File-Zglob-0.11";
+     src = fetchurl {
+       url = mirror://cpan/authors/id/T/TO/TOKUHIROM/File-Zglob-0.11.tar.gz;
+       sha256 = "16v61rn0yimpv5kp6b20z2f1c93n5kpsyjvr0gq4w2dc43gfvc8w";
+     };
+     meta = {
+       description = "Extended globs.";
+       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+     };
+  };
+
   Filter = buildPerlPackage {
-    name = "Filter-1.55";
+    name = "Filter-1.58";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RU/RURBAN/Filter-1.55.tar.gz;
-      sha256 = "7855f5f5f16777c14614b5d907794a170ed4cdeb4382bf03ffca825c8c6bc4a0";
+      url = mirror://cpan/authors/id/R/RU/RURBAN/Filter-1.58.tar.gz;
+      sha256 = "6de91cb4cbfe08d0ccffbca39aed57f9237be602b8183f13fd163fc8cb657f3d";
     };
     meta = {
       description = "Source Filters";
@@ -5903,9 +6365,7 @@ let self = _self // overrides; _self = with self; {
       url = "mirror://cpan/authors/id/E/EC/ECOCODE/${name}.tar.gz";
       sha256 = "0gzbq85738f299jaw4nj3ljnka380j2y6yspmyl71rgfypqjvbr7";
     };
-    propagatedBuildInputs = [
-      CGI CryptSSLeay HTMLTableExtract HTMLTree HTTPMessage LWP LWPProtocolHttps MozillaCA
-      DateCalc DateTime JSON ];
+    propagatedBuildInputs = [ CGI DateTime HTMLTableExtract JSON LWPProtocolHttps ];
     meta = with stdenv.lib; {
       homepage = http://finance-quote.sourceforge.net/;
       description = "Get stock and mutual fund quotes from various exchanges";
@@ -5927,18 +6387,18 @@ let self = _self // overrides; _self = with self; {
       url = "mirror://cpan/authors/id/B/BH/BHALLISSY/${name}.tar.gz";
       sha256 = "4b697d444259759ea02d2c442c9bffe5ffe14c9214084a01f743693a944cc293";
     };
-    propagatedBuildInputs = [ IOString ];
     meta = {
       description = "TTF font support for Perl";
       license = stdenv.lib.licenses.artistic2;
     };
+    buildInputs = [ IOString ];
   };
 
   ForksSuper = buildPerlPackage {
-    name = "Forks-Super-0.72";
+    name = "Forks-Super-0.93";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MO/MOB/Forks-Super-0.72.tar.gz;
-      sha256 = "0zyqwyndb3gnbsh43b6xyl3wmlnyi18vz3yrbsvp3lccz4d0v7qp";
+      url = mirror://cpan/authors/id/M/MO/MOB/Forks-Super-0.93.tar.gz;
+      sha256 = "1blkhi3kpkqv6dlnbxz5r9j9lbr58vag3aa2c9yqpkqk59hivbgg";
     };
     doCheck = false;
     meta = {
@@ -5946,6 +6406,7 @@ let self = _self // overrides; _self = with self; {
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
       platforms = stdenv.lib.platforms.linux;
     };
+    propagatedBuildInputs = [ URI ];
   };
 
   FormValidatorSimple = buildPerlPackage rec {
@@ -5954,12 +6415,13 @@ let self = _self // overrides; _self = with self; {
       url = "mirror://cpan/authors/id/L/LY/LYOKATO/${name}.tar.gz";
       sha256 = "fc3a63dc54b962d74586070176adaf5be869f09b561bb30f5fd32ef531792666";
     };
-    propagatedBuildInputs = [ CGI ClassAccessor ClassDataAccessor ClassDataInheritable ClassInspector DateCalc DateTimeFormatStrptime EmailValid EmailValidLoose ListMoreUtils MailTools TieIxHash UNIVERSALrequire YAML ];
+    propagatedBuildInputs = [ ClassAccessor ClassDataAccessor DateCalc DateTimeFormatStrptime EmailValidLoose ListMoreUtils TieIxHash UNIVERSALrequire YAML ];
     meta = {
       description = "Validation with simple chains of constraints";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
       maintainers = [ maintainers.rycee ];
     };
+    buildInputs = [ CGI ];
   };
 
   FreezeThaw = buildPerlPackage {
@@ -5972,13 +6434,13 @@ let self = _self // overrides; _self = with self; {
   };
 
   GamesSolitaireVerify = buildPerlModule {
-    name = "Games-Solitaire-Verify-0.1400";
+    name = "Games-Solitaire-Verify-0.1701";
     src = fetchurl {
-      url = mirror://cpan/authors/id/S/SH/SHLOMIF/Games-Solitaire-Verify-0.1400.tar.gz;
-      sha256 = "0c897c17f23ed6710d0e3ddfb54cce0f00f5b68c55277181adc94a03b7d8c659";
+      url = mirror://cpan/authors/id/S/SH/SHLOMIF/Games-Solitaire-Verify-0.1701.tar.gz;
+      sha256 = "71383f9c44a344aa92eca6ad999103b05809f19b3e078cf01651f2298bc435c1";
     };
     buildInputs = [ TestDifferences ];
-    propagatedBuildInputs = [ ClassXSAccessor ExceptionClass ListMoreUtils MooXlate ];
+    propagatedBuildInputs = [ ClassXSAccessor ExceptionClass ListMoreUtils ];
     meta = {
       description = "Verify solutions for solitaire games";
       license = stdenv.lib.licenses.mit;
@@ -5992,14 +6454,16 @@ let self = _self // overrides; _self = with self; {
       sha256 = "1ampz82kf0ixybncfgpvq2bp9nq5sjsmmw4c8srsv0g5jpz02pfh";
     };
 
-    buildInputs = [ pkgs.gd pkgs.libjpeg pkgs.zlib pkgs.freetype
-                    pkgs.libpng pkgs.fontconfig pkgs.xorg.libXpm GetoptLong ];
+    buildInputs = [ pkgs.gd pkgs.libjpeg pkgs.zlib pkgs.freetype pkgs.libpng pkgs.fontconfig pkgs.xorg.libXpm ];
 
     # Patch needed to get arguments past the first GetOptions call
     # and to specify libfontconfig search path.
     # Patch has been sent upstream.
     patches = [ ../development/perl-modules/gd-options-passthrough-and-fontconfig.patch ];
 
+    # otherwise "cc1: error: -Wformat-security ignored without -Wformat [-Werror=format-security]"
+    NIX_CFLAGS_COMPILE = [ "-Wno-error=format-security" ];
+
     # tests fail
     doCheck = false;
 
@@ -6009,22 +6473,22 @@ let self = _self // overrides; _self = with self; {
   GDGraph = buildPerlPackage rec {
     name = "GDGraph-1.54";
     src = fetchurl {
-      url = "https://cpan.metacpan.org/authors/id/R/RU/RUZ/GDGraph-1.54.tar.gz";
+      url = mirror://cpan/authors/id/R/RU/RUZ/GDGraph-1.54.tar.gz;
       sha256 = "0kzsdc07ycxjainmz0dnsclb15w2j1y7g8b5mcb7vhannq85qvxr";
     };
-    propagatedBuildInputs = [ GD GDText ];
-    buildInputs = [ TestException CaptureTiny ];
+    propagatedBuildInputs = [ GDText ];
+    buildInputs = [ CaptureTiny TestException ];
     meta = {
       description = "Graph Plotting Module for Perl 5";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
-  GDSecurityImage = buildPerlPackage {
-    name = "GD-SecurityImage-1.72";
+  GDSecurityImage = buildPerlModule {
+    name = "GD-SecurityImage-1.73";
     src = fetchurl {
-      url = mirror://cpan/authors/id/B/BU/BURAK/GD-SecurityImage-1.72.tar.gz;
-      sha256 = "07a025krdaml5ls7gyssfdcsif6cnsnksrxkqk48n9dmv7rz7q1r";
+      url = mirror://cpan/authors/id/B/BU/BURAK/GD-SecurityImage-1.73.tar.gz;
+      sha256 = "1kaxs67rfd4w46lxgcg3pa05a596l0h1k8n4zk2gwrrar4022wpx";
     };
     propagatedBuildInputs = [ GD ];
     meta = {
@@ -6036,7 +6500,7 @@ let self = _self // overrides; _self = with self; {
   GDText = buildPerlPackage rec {
     name = "GDTextUtil-0.86";
     src = fetchurl {
-      url = "https://cpan.metacpan.org/authors/id/M/MV/MVERB/GDTextUtil-0.86.tar.gz";
+      url = mirror://cpan/authors/id/M/MV/MVERB/GDTextUtil-0.86.tar.gz;
       sha256 = "1g0nc7fz4d672ag7brlrrcz7ibm98x49qs75bq9z957ybkwcnvl8";
     };
     propagatedBuildInputs = [ GD ];
@@ -6046,28 +6510,28 @@ let self = _self // overrides; _self = with self; {
   };
 
   GeoIP = buildPerlPackage rec {
-    name = "Geo-IP-1.45";
+    name = "Geo-IP-1.51";
     src = fetchurl {
       url = "mirror://cpan/authors/id/M/MA/MAXMIND/${name}.tar.gz";
-      sha256 = "0qinkq2br1cjicbgqb5bvrhm73h7f9f4fgc6bjfs5r6x7316bdqf";
+      sha256 = "1fka8fr7fw6sh3xa9glhs1zjg3s2gfkhi7n7da1l2m2wblqj0c0n";
     };
     makeMakerFlags = "LIBS=-L${pkgs.geoip}/lib INC=-I${pkgs.geoip}/include";
     doCheck = false; # seems to access the network
   };
 
   GetoptLong = buildPerlPackage rec {
-    name = "Getopt-Long-2.42";
+    name = "Getopt-Long-2.50";
     src = fetchurl {
       url = "mirror://cpan/authors/id/J/JV/JV/${name}.tar.gz";
-      sha256 = "12c5pvmx0jxx0mls8qll9ixb1lbacs7p1rwvmciv0dvw3w25dmr7";
+      sha256 = "0rsb7ri8210xv09mnxykw5asbcqivd0v38x0z4jkis3k5gdim210";
     };
   };
 
   GetoptLongDescriptive = buildPerlPackage rec {
-    name = "Getopt-Long-Descriptive-0.101";
+    name = "Getopt-Long-Descriptive-0.102";
     src = fetchurl {
       url = "mirror://cpan/authors/id/R/RJ/RJBS/${name}.tar.gz";
-      sha256 = "752e898ea6eb8706ceb836668ca645704f5dcbc3124b6d1b21d04007dbc46948";
+      sha256 = "9ad4b98f294aa0515cc3150a1ae878d39e470762b78d8bd9df055eba9dea2846";
     };
     buildInputs = [ CPANMetaCheck TestFatal TestWarnings ];
     propagatedBuildInputs = [ ParamsValidate SubExporter ];
@@ -6093,7 +6557,7 @@ let self = _self // overrides; _self = with self; {
       sha256 = "987c74366cc4c37ee084050f985fa254359c89c12507f5b8bfc6607de538d5a8";
     };
     buildInputs = [ Testutf8 ];
-    propagatedBuildInputs = [ ArchiveExtract ConfigGitLike DataStreamBulk DateTime FileFindRule IODigest Moose MooseXStrictConstructor MooseXTypesPathClass namespaceautoclean ];
+    propagatedBuildInputs = [ ArchiveExtract ConfigGitLike DataStreamBulk DateTime FileFindRule IODigest MooseXStrictConstructor MooseXTypesPathClass ];
     doCheck = false;
     meta = {
       description = "A Pure Perl interface to Git repositories";
@@ -6102,27 +6566,28 @@ let self = _self // overrides; _self = with self; {
   };
 
   Glib = buildPerlPackage rec {
-    name = "Glib-1.321";
+    name = "Glib-1.326";
     src = fetchurl {
       url = "mirror://cpan/authors/id/X/XA/XAOC/${name}.tar.gz";
-      sha256 = "0h4cfxrxcf1mrdab5n5kk0smsi8vcrfnmcw1k6xw87r4vbifnxdr";
+      sha256 = "0prn9kkdpwjq9qmzqashbhk3pq4gvlrmvm3b10xf1dhc48406382";
     };
-    buildInputs = [ ExtUtilsDepends ExtUtilsPkgConfig pkgs.glib ];
+    buildInputs = [ pkgs.glib ];
     meta = {
       homepage = http://gtk2-perl.sourceforge.net/;
       description = "Perl wrappers for the GLib utility and Object libraries";
       license = stdenv.lib.licenses.lgpl21Plus;
     };
+    propagatedBuildInputs = [ ExtUtilsDepends ExtUtilsPkgConfig ];
   };
 
   Gnome2 = buildPerlPackage rec {
-    name = "Gnome2-1.046";
+    name = "Gnome2-1.047";
     src = fetchurl {
       url = "mirror://cpan/authors/id/X/XA/XAOC/${name}.tar.gz";
-      sha256 = "a6c787232ab7e82a423a9ff5a49cec6bf586c1bb3c04c2052a91cdda5b66ae40";
+      sha256 = "ccc85c5dc3c14f915ed1a186d238681d83fef3d17eed1c20001499ff56b6390c";
     };
     buildInputs = [ ExtUtilsDepends ExtUtilsPkgConfig Glib Gnome2Canvas Gnome2VFS Gtk2 ];
-    propagatedBuildInputs = [ ExtUtilsDepends ExtUtilsPkgConfig Glib Gnome2Canvas Gnome2VFS Gtk2 Pango pkgs.gnome2.libgnomeui ];
+    propagatedBuildInputs = [ pkgs.gnome2.libgnomeui ];
     meta = {
       homepage = http://gtk2-perl.sourceforge.net;
       description = "Perl interface to the 2.x series of the GNOME libraries";
@@ -6136,19 +6601,20 @@ let self = _self // overrides; _self = with self; {
       url = "mirror://cpan/authors/id/T/TS/TSCH/${name}.tar.gz";
       sha256 = "47a34204cd5f3a0ef5c8b9e1c9c96f41740edab7e9abf1d0560fa8666ba1916e";
     };
-    buildInputs = [ ExtUtilsDepends ExtUtilsPkgConfig Glib Gtk2 Pango pkgs.gnome2.libgnomecanvas ];
+    buildInputs = [ pkgs.gnome2.libgnomecanvas ];
     meta = {
       license = stdenv.lib.licenses.lgpl2Plus;
     };
+    propagatedBuildInputs = [ Gtk2 Pango ];
   };
 
   Gnome2VFS = buildPerlPackage rec {
-    name = "Gnome2-VFS-1.082";
+    name = "Gnome2-VFS-1.083";
     src = fetchurl {
       url = "mirror://cpan/authors/id/X/XA/XAOC/${name}.tar.gz";
-      sha256 = "19dacfedef8770300861cb75f98ca5402e6e56501a888af3c18266a0790911b7";
+      sha256 = "eca974669df4e7f21b4fcedb96c8a328422369c68b8c2cd99b9ce9cc5d7a7979";
     };
-    propagatedBuildInputs = [ ExtUtilsDepends ExtUtilsPkgConfig Glib pkgs.gnome2.gnome_vfs ];
+    propagatedBuildInputs = [ pkgs.gnome2.gnome_vfs Glib ];
     meta = {
       description = "Perl interface to the 2.x series of the GNOME VFS library";
       license = stdenv.lib.licenses.lgpl21Plus;
@@ -6161,8 +6627,8 @@ let self = _self // overrides; _self = with self; {
       url = "mirror://cpan/authors/id/T/TS/TSCH/${name}.tar.gz";
       sha256 = "604a8ece88ac29f132d59b0caac27657ec31371c1606a4698a2160e88ac586e5";
     };
-    buildInputs = [ ExtUtilsDepends ExtUtilsPkgConfig Glib Gtk2 Pango pkgs.libwnck pkgs.glib pkgs.gtk2 ];
-    propagatedBuildInputs = [ ExtUtilsDepends ExtUtilsPkgConfig Glib Gtk2 ];
+    buildInputs = [ pkgs.libwnck pkgs.glib pkgs.gtk2 ];
+    propagatedBuildInputs = [ Gtk2 Pango ];
     meta = {
       description = "Perl interface to the Window Navigator Construction Kit";
       license = stdenv.lib.licenses.lgpl21Plus;
@@ -6188,8 +6654,8 @@ let self = _self // overrides; _self = with self; {
       url = "mirror://cpan/authors/id/A/AL/ALEXMV/${name}.tar.gz";
       sha256 = "247a9f5a88bb6745281c00d0f7d5d94e8599a92396849fd9571356dda047fd35";
     };
-    buildInputs = with pkgs; [ which gnupg1compat ];
-    propagatedBuildInputs = [ Moo MooXHandlesVia MooXlate ];
+    buildInputs = [ pkgs.which pkgs.gnupg1compat ];
+    propagatedBuildInputs = [ MooXHandlesVia MooXlate ];
     doCheck = false;
     meta = {
       description = "Supply object methods for interacting with GnuPG";
@@ -6216,7 +6682,7 @@ let self = _self // overrides; _self = with self; {
       url = "mirror://cpan/authors/id/Y/YE/YEWENBIN/${name}.tar.gz";
       sha256 = "0c588c507eed5e62d12ed1cc1e491c6ff3a1f59c4fb3d435e14214b37ab39251";
     };
-    propagatedBuildInputs = [ Cairo ExtUtilsDepends ExtUtilsPkgConfig Glib Gtk2 Pango pkgs.goocanvas pkgs.gtk2 ];
+    propagatedBuildInputs = [ pkgs.goocanvas pkgs.gtk2 Gtk2 Pango ];
     meta = {
       description = "Perl interface to the GooCanvas";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
@@ -6224,10 +6690,10 @@ let self = _self // overrides; _self = with self; {
   };
 
   GoogleProtocolBuffers = buildPerlPackage rec {
-    name = "Google-ProtocolBuffers-0.11";
+    name = "Google-ProtocolBuffers-0.12";
     src = fetchurl {
       url = "mirror://cpan/authors/id/S/SA/SAXJAZMAN/protobuf/${name}.tar.gz";
-      sha256 = "0k2skcbfzn2aw1f218l47h4kgq5rj9qsam3sd6zw4qq3zyp0amb1";
+      sha256 = "0wad56n12h9yhnrq1m1z3jna1ch3mg3mqj41wkfi49ws1g34k15k";
     };
     propagatedBuildInputs = [ ClassAccessor ParseRecDescent ];
     patches =
@@ -6239,25 +6705,23 @@ let self = _self // overrides; _self = with self; {
   };
 
   Graph = buildPerlPackage rec {
-    name = "Graph-0.96";
+    name = "Graph-0.9704";
     src = fetchurl {
       url = "mirror://cpan/authors/id/J/JH/JHI/${name}.tar.gz";
-      sha256 = "09wpiz7v0gv07zb7h8gwgjrwj16cdycs60d08cjlyj1s926zlbl3";
+      sha256 = "099a1gca0wj5zs0cffncjqp2mjrdlk9i6325ks89ml72gfq8wpij";
     };
-
-    buildInputs = [ TestPod TestPodCoverage ];
   };
 
   GraphViz = buildPerlPackage rec {
-    name = "GraphViz-2.18";
+    name = "GraphViz-2.24";
     src = fetchurl {
       url = "mirror://cpan/authors/id/R/RS/RSAVAGE/${name}.tgz";
-      sha256 = "1zdgdd42ywg7bklysd8p8dra66q64vlm4fmnj5gjslp98cm02p9h";
+      sha256 = "1bgm4a8kan53r30qiknr4kasvhar1khf7vq064l1inzfrp2glpnr";
     };
 
     # XXX: It'd be nicer it `GraphViz.pm' could record the path to graphviz.
-    buildInputs = [ pkgs.graphviz ];
-    propagatedBuildInputs = [ IPCRun TestMore ];
+    buildInputs = [ pkgs.graphviz TestPod ];
+    propagatedBuildInputs = [ FileWhich IPCRun ParseRecDescent XMLTwig XMLXPath ];
 
     meta = with stdenv.lib; {
       description = "Perl interface to the GraphViz graphing tool";
@@ -6273,7 +6737,7 @@ let self = _self // overrides; _self = with self; {
       sha256 = "7969e569ec54b2f569a5af56ac4d884c630ad850974658219b0b6953e97b5d3d";
     };
     buildInputs = [ FileSlurp URI ];
-    propagatedBuildInputs = [ DateManip DigestMD5 MailMboxMessageParser TimeDate ];
+    propagatedBuildInputs = [ MailMboxMessageParser TimeDate ];
     outputs = [ "out" ];
     meta = {
       homepage = https://github.com/coppit/grepmail;
@@ -6284,37 +6748,38 @@ let self = _self // overrides; _self = with self; {
   };
 
   GrowlGNTP = buildPerlModule rec {
-    name = "Growl-GNTP-0.20";
+    name = "Growl-GNTP-0.21";
     src = fetchurl {
-      url = "mirror://cpan/modules/by-module/Growl/${name}.tar.gz";
-      sha256 = "150x65lwf7pfsygcpmvj3679lhlfwx87xylwnrmwll67f9dpkjdi";
+      url = mirror://cpan/authors/id/M/MA/MATTN/Growl-GNTP-0.21.tar.gz;
+      sha256 = "0gq8ypam6ifp8f3s2mf5d6sw53m7h3ki1zfahh2p41kl8a77yy98";
     };
-    buildInputs = [ DataUUID CryptCBC ];
+    buildInputs = [ ModuleBuildTiny ];
+    propagatedBuildInputs = [ CryptCBC DataUUID ];
   };
 
   GSSAPI = buildPerlPackage rec {
-    name = "GSSAPPI-0.28";
+    name = "GSSAPI-0.28";
     src = fetchurl {
-      url = "http://search.cpan.org/CPAN/authors/id/A/AG/AGROLMS/GSSAPI-0.28.tar.gz";
+      url = "mirror://cpan/authors/id/A/AG/AGROLMS/${name}.tar.gz";
       sha256 = "1mkhwxjjlhr58pd770i9gnf7zy7jj092iv6jfbnb8bvnc5xjr3vx";
     };
     buildInputs = [ TestPod ];
-    propagatedBuildInputs = [ pkgs.heimdalFull ];
+    propagatedBuildInputs = [ pkgs.krb5Full.dev ];
     meta = {
       maintainers = [ maintainers.limeytexan ];
       description = "Perl extension providing access to the GSSAPIv2 library";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
-    makeMakerFlags = "--gssapiimpl ${pkgs.heimdalFull.out}";
+    makeMakerFlags = "--gssapiimpl ${pkgs.krb5Full.dev}";
   };
 
   Gtk2 = buildPerlPackage rec {
-    name = "Gtk2-1.2498";
+    name = "Gtk2-1.24992";
     src = fetchurl {
       url = "mirror://cpan/authors/id/X/XA/XAOC/${name}.tar.gz";
-      sha256 = "0gs6lr4clz86838s3klrl37lf48j24zv0p37jlsvsnr927whpq3j";
+      sha256 = "1044rj3wbfmgaif2jb0k28m2aczli6ai2n5yvn6pr7zjyw16kvd2";
     };
-    buildInputs = [ ExtUtilsDepends ExtUtilsPkgConfig Pango pkgs.gtk2 ];
+    buildInputs = [ pkgs.gtk2 Cairo ExtUtilsDepends ExtUtilsPkgConfig Glib Pango ];
     meta = {
       homepage = http://gtk2-perl.sourceforge.net/;
       description = "Perl interface to the 2.x series of the Gimp Toolkit library";
@@ -6329,7 +6794,7 @@ let self = _self // overrides; _self = with self; {
       url = "mirror://cpan/authors/id/T/TS/TSCH/${name}.tar.gz";
       sha256 = "50240a2bddbda807c8f8070de941823b7bf3d288a13be6d0d6563320b42c445a";
     };
-    propagatedBuildInputs = [ ExtUtilsDepends ExtUtilsPkgConfig Glib Gtk2 Pango pkgs.gnome2.libglade pkgs.gtk2 ];
+    propagatedBuildInputs = [ pkgs.gnome2.libglade pkgs.gtk2 Gtk2 Pango ];
     meta = {
       homepage = https://metacpan.org/pod/Gtk2::GladeXML;
       description = "Create user interfaces directly from Glade XML files";
@@ -6343,7 +6808,7 @@ let self = _self // overrides; _self = with self; {
       url = "mirror://cpan/authors/id/B/BO/BORUP/${name}.tar.gz";
       sha256 = "cbb7632b75d7f41554dfe8ee9063dbfd1d8522291077c65d0d82e9ceb5e94ae2";
     };
-    propagatedBuildInputs = [ ExtUtilsDepends ExtUtilsPkgConfig Glib Gtk2 Pango pkgs.gtk2 ];
+    propagatedBuildInputs = [ pkgs.gtk2 Gtk2 Pango ];
     meta = {
       license = stdenv.lib.licenses.gpl2;
     };
@@ -6355,7 +6820,7 @@ let self = _self // overrides; _self = with self; {
       url = "mirror://cpan/authors/id/O/OE/OESTERHOL/${name}.tar.gz";
       sha256 = "a25cb071e214fb89b4450aa4605031eae89b7961e149b0d6e8f491c19c14a90a";
     };
-    propagatedBuildInputs = [ Gtk2 pkgs.libappindicator-gtk2 pkgs.libdbusmenu-gtk2 pkgs.gtk2 pkgs.pkgconfig Glib Pango ];
+    propagatedBuildInputs = [ pkgs.libappindicator-gtk2 pkgs.libdbusmenu-gtk2 pkgs.gtk2 pkgs.pkgconfig Gtk2 ];
     # Tests fail due to no display:
     #   Gtk-WARNING **: cannot open display:  at /nix/store/HASH-perl-Gtk2-1.2498/lib/perl5/site_perl/5.22.2/x86_64-linux-thread-multi/Gtk2.pm line 126.
     doCheck = false;
@@ -6371,8 +6836,8 @@ let self = _self // overrides; _self = with self; {
       url = "mirror://cpan/authors/id/R/RA/RATCLIFFE/${name}.tar.gz";
       sha256 = "087186c3693acf196451cf59cc8b7f5cf9a7b05abe20d32dcbcba0822953fb80";
     };
-    buildInputs = [ ExtUtilsDepends ExtUtilsPkgConfig Glib Gtk2 Pango pkgs.gtkimageview pkgs.gtk2 ];
-    propagatedBuildInputs = [ ExtUtilsDepends ExtUtilsPkgConfig Glib Gtk2 ];
+    buildInputs = [ pkgs.gtkimageview pkgs.gtk2 ];
+    propagatedBuildInputs = [ Gtk2 Pango ];
     # Tests fail due to no display server:
     #   Gtk-WARNING **: cannot open display:  at /nix/store/HASH-perl-Gtk2-1.2498/lib/perl5/site_perl/5.22.2/x86_64-linux-thread-multi/Gtk2.pm line 126.
     #   t/animview.t ...........
@@ -6389,7 +6854,7 @@ let self = _self // overrides; _self = with self; {
       url = "mirror://cpan/authors/id/P/PO/POTYL/${name}.tar.gz";
       sha256 = "ae8dfb0f6844ddaa2ce7b5b44553419490c8e83c24fd35c431406a58f6be0f4f";
     };
-    propagatedBuildInputs = [ Gtk2 Glib ExtUtilsDepends ExtUtilsPkgConfig pkgs.libunique pkgs.gtk2 Cairo Pango ];
+    propagatedBuildInputs = [ pkgs.libunique pkgs.gtk2 Gtk2 Pango ];
     meta = {
       description = "Use single instance applications";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
@@ -6411,22 +6876,24 @@ let self = _self // overrides; _self = with self; {
   HashFlatten = buildPerlPackage rec {
     name = "Hash-Flatten-1.19";
     src = fetchurl {
-      url = "mirror://cpan/modules/by-module/Hash/${name}.tar.gz";
+      url = mirror://cpan/authors/id/B/BB/BBC/Hash-Flatten-1.19.tar.gz;
       sha256 = "162b9qgkr19f97w4pic6igyk3zd0sbnrhl3s8530fikciffw9ikh";
     };
-    buildInputs = [ TestAssertions LogTrace ];
+    buildInputs = [ TestAssertions ];
+    propagatedBuildInputs = [ LogTrace ];
   };
 
   HashMerge = buildPerlPackage rec {
-    name = "Hash-Merge-0.200";
+    name = "Hash-Merge-0.300";
     src = fetchurl {
       url = "mirror://cpan/authors/id/R/RE/REHSACK/${name}.tar.gz";
-      sha256 = "0r1a2axz85wn6573zrl9rk8mkfl2cvf1gp9vwya5qndp60rz1ya7";
+      sha256 = "0h3wfnpv5d4d3f9xzmwkchay6251nhzngdv3f6xia56mj4hxabs0";
     };
-    propagatedBuildInputs = [ Clone ];
+    propagatedBuildInputs = [ CloneChoose ];
     meta = {
       description = "Merges arbitrarily deep hashes into a single hash";
     };
+    buildInputs = [ Clone ClonePP ];
   };
 
   HashMergeSimple = buildPerlPackage {
@@ -6435,7 +6902,7 @@ let self = _self // overrides; _self = with self; {
       url = mirror://cpan/authors/id/R/RO/ROKR/Hash-Merge-Simple-0.051.tar.gz;
       sha256 = "1c56327873d2f04d5722777f044863d968910466997740d55a754071c6287b73";
     };
-    buildInputs = [ TestMost ];
+    buildInputs = [ TestDeep TestDifferences TestException TestMost TestWarn ];
     propagatedBuildInputs = [ Clone ];
     meta = {
       description = "Recursively merge two or more hashes, simply";
@@ -6457,10 +6924,10 @@ let self = _self // overrides; _self = with self; {
   };
 
   HashMultiValue = buildPerlPackage {
-    name = "Hash-MultiValue-0.15";
+    name = "Hash-MultiValue-0.16";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MI/MIYAGAWA/Hash-MultiValue-0.15.tar.gz;
-      sha256 = "1jc37kwpa1fl88va8bd1p95h0vjv1gsvmn7pc2pxj62ga6x0wpc0";
+      url = mirror://cpan/authors/id/A/AR/ARISTOTLE/Hash-MultiValue-0.16.tar.gz;
+      sha256 = "1x3k7h542xnigz0b8vsfiq580p5r325wi5b8mxppiqk8mbvis636";
     };
     meta = {
       description = "Store multiple values per key";
@@ -6469,12 +6936,11 @@ let self = _self // overrides; _self = with self; {
   };
 
   HashUtilFieldHashCompat = buildPerlPackage {
-    name = "Hash-Util-FieldHash-Compat-0.07";
+    name = "Hash-Util-FieldHash-Compat-0.11";
     src = fetchurl {
-      url = mirror://cpan/authors/id/E/ET/ETHER/Hash-Util-FieldHash-Compat-0.07.tar.gz;
-      sha256 = "1fbqcjvp5slkfyf63g8scrbdpkpw3g9z9557xvfaxn09aki7g1bn";
+      url = mirror://cpan/authors/id/E/ET/ETHER/Hash-Util-FieldHash-Compat-0.11.tar.gz;
+      sha256 = "06vlygjyk7rkkw0di3252mma141w801qn3xk40aa2yskbfklcbk4";
     };
-    propagatedBuildInputs = [ Testuseok ];
     meta = {
       maintainers = with maintainers; [ ];
       platforms   = stdenv.lib.platforms.unix;
@@ -6482,7 +6948,7 @@ let self = _self // overrides; _self = with self; {
   };
 
   HeapFibonacci = buildPerlPackage {
-    name = "Heap-Fibonacci-0.80";
+    name = "Heap-0.80";
     src = fetchurl {
       url = mirror://cpan/authors/id/J/JM/JMM/Heap-0.80.tar.gz;
       sha256 = "1plv2djbyhvkdcw2ic54rdqb745cwksxckgzvw7ssxiir7rjknnc";
@@ -6494,12 +6960,12 @@ let self = _self // overrides; _self = with self; {
   };
 
   HookLexWrap = buildPerlPackage rec {
-    name = "Hook-LexWrap-0.25";
+    name = "Hook-LexWrap-0.26";
     src = fetchurl {
       url = "mirror://cpan/authors/id/E/ET/ETHER/${name}.tar.gz";
-      sha256 = "08ab9af6bd9b4560702d9d994ad9d905af0c2fd24090d1480ff640f137c1430d";
+      sha256 = "b60bdc5f98f94f9294b06adef82b1d996da192d5f183f9f434b610fd1137ec2d";
     };
-    buildInputs = [ ModuleBuildTiny pkgs.unzip ];
+    buildInputs = [ pkgs.unzip ];
     meta = {
       homepage = https://github.com/chorny/Hook-LexWrap;
       description = "Lexically scoped subroutine wrappers";
@@ -6534,7 +7000,7 @@ let self = _self // overrides; _self = with self; {
       url = "mirror://cpan/authors/id/T/TO/TOKUHIROM/${name}.tar.gz";
       sha256 = "b1cbac4157ad8dedac6914e1628855e05b8dc885a4007d2e4df8177c6a9b70fb";
     };
-    buildInputs = [ ModuleBuild ModuleBuildPluggablePPPort TestRequires ];
+    buildInputs = [ ModuleBuildPluggablePPPort TestRequires ];
     meta = {
       homepage = https://github.com/tokuhirom/HTML-Escape;
       description = "Extremely fast HTML escaping";
@@ -6548,7 +7014,7 @@ let self = _self // overrides; _self = with self; {
       url = mirror://cpan/authors/id/N/NU/NUFFIN/HTML-FromANSI-2.03.tar.gz;
       sha256 = "21776345ed701b2c04c7b09380af943f9984cc7f99624087aea45db5fc09c359";
     };
-    propagatedBuildInputs = [ HTMLParser TermVT102Boundless Testuseok ];
+    propagatedBuildInputs = [ HTMLParser TermVT102Boundless ];
     meta = {
     };
   };
@@ -6559,20 +7025,20 @@ let self = _self // overrides; _self = with self; {
       url = mirror://cpan/authors/id/G/GA/GAAS/HTML-Form-6.03.tar.gz;
       sha256 = "0dpwr7yz6hjc3bcqgcbdzjjk9l58ycdjmbam9nfcmm85y2a1vh38";
     };
-    propagatedBuildInputs = [ HTMLParser HTTPMessage URI ];
+    propagatedBuildInputs = [ HTMLParser HTTPMessage ];
     meta = {
       description = "Class that represents an HTML form element";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
-  HTMLFormatter = buildPerlModule {
-    name = "HTML-Formatter-2.14";
+  HTMLFormatter = buildPerlPackage {
+    name = "HTML-Formatter-2.16";
     src = fetchurl {
-      url = mirror://cpan/authors/id/N/NI/NIGELM/HTML-Formatter-2.14.tar.gz;
-      sha256 = "d28eeeab48ab5f7bfcc73cc106b0f756073d98d48dfdb91ca2951f832f8e035e";
+      url = mirror://cpan/authors/id/N/NI/NIGELM/HTML-Formatter-2.16.tar.gz;
+      sha256 = "cb0a0dd8aa5e8ba9ca214ce451bf4df33aa09c13e907e8d3082ddafeb30151cc";
     };
-    buildInputs = [ FileSlurper TestCPANMeta TestEOL TestNoTabs perl ];
+    buildInputs = [ FileSlurper TestWarnings ];
     propagatedBuildInputs = [ FontAFM HTMLTree ];
     meta = {
       homepage = https://metacpan.org/release/HTML-Formatter;
@@ -6581,13 +7047,13 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
-  HTMLFormatTextWithLinks = buildPerlPackage {
+  HTMLFormatTextWithLinks = buildPerlModule {
     name = "HTML-FormatText-WithLinks-0.15";
     src = fetchurl {
       url = mirror://cpan/authors/id/S/ST/STRUAN/HTML-FormatText-WithLinks-0.15.tar.gz;
       sha256 = "7fcc1ab79eb58fb97d43e5bdd14e21791a250a204998918c62d6a171131833b1";
     };
-    propagatedBuildInputs = [ HTMLFormatter HTMLTree URI ];
+    propagatedBuildInputs = [ HTMLFormatter URI ];
     meta = {
       description = "HTML to text conversion with links as footnotes";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
@@ -6595,12 +7061,12 @@ let self = _self // overrides; _self = with self; {
   };
 
   HTMLFormatTextWithLinksAndTables = buildPerlPackage {
-    name = "HTML-FormatText-WithLinks-AndTables-0.06";
+    name = "HTML-FormatText-WithLinks-AndTables-0.07";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DA/DALEEVANS/HTML-FormatText-WithLinks-AndTables-0.06.tar.gz;
-      sha256 = "e5b23f0475fb81fd6fed688bb914295a39542b3e5b43c8517494226a52d868fa";
+      url = mirror://cpan/authors/id/D/DA/DALEEVANS/HTML-FormatText-WithLinks-AndTables-0.07.tar.gz;
+      sha256 = "809ee2f11705706b33c54312b5c7bee674838f2beaaedaf8cb945e702aae39b6";
     };
-    propagatedBuildInputs = [ HTMLFormatTextWithLinks HTMLFormatter HTMLTree ];
+    propagatedBuildInputs = [ HTMLFormatTextWithLinks ];
     meta = {
       description = "Converts HTML to Text with tables intact";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
@@ -6608,17 +7074,13 @@ let self = _self // overrides; _self = with self; {
   };
 
   HTMLFormFu = buildPerlPackage rec {
-    name = "HTML-FormFu-2.01";
+    name = "HTML-FormFu-2.05";
     src = fetchurl {
-      url = "mirror://cpan/modules/by-module/HTML/${name}.tar.gz";
-      sha256 = "0fvilng85wc65pna898x7mp4hx73mhahl7j2s10gj76avmxdizsw";
+      url = mirror://cpan/authors/id/N/NI/NIGELM/HTML-FormFu-2.05.tar.gz;
+      sha256 = "0xz41ap0vyw9yfjci84i5ixc6jshjrd2swhiv8dsy5xx9x71iw1q";
     };
-    buildInputs = [ FileShareDirInstall TestAggregate TestException ];
-    propagatedBuildInputs = [ CGI Clone ConfigAny DataVisitor DateTime
-      DateTimeFormatBuilder DateTimeFormatNatural DateTimeFormatStrptime
-      DateTimeLocale EmailValid FileShareDir HTMLScrubber HTMLTokeParserSimple
-      HTTPMessage HashFlatten ListMoreUtils ModulePluggable Moose MooseXAliases
-      NumberFormat PathClass Readonly RegexpCommon TaskWeaken YAMLLibYAML ];
+    buildInputs = [ CGI FileShareDirInstall RegexpAssemble TestException TestMemoryCycle ];
+    propagatedBuildInputs = [ ConfigAny DataVisitor DateTimeFormatBuilder DateTimeFormatNatural EmailValid HTMLScrubber HTMLTokeParserSimple HTTPMessage HashFlatten MooseXAliases NumberFormat PathClass Readonly RegexpCommon YAMLLibYAML ];
     meta = {
       description = "HTML Form Creation, Rendering and Validation Framework";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
@@ -6626,15 +7088,15 @@ let self = _self // overrides; _self = with self; {
   };
 
   HTMLFormHandler = buildPerlPackage {
-    name = "HTML-FormHandler-0.40057";
+    name = "HTML-FormHandler-0.40068";
     src = fetchurl {
-      url = mirror://cpan/authors/id/G/GS/GSHANK/HTML-FormHandler-0.40057.tar.gz;
-      sha256 = "1hn9shhbsi4pdp396ia2hky3i0imnxgwvhy57gp0jjhy5qyvafvm";
+      url = mirror://cpan/authors/id/G/GS/GSHANK/HTML-FormHandler-0.40068.tar.gz;
+      sha256 = "09z8rpb3avdd8984rm6j6gd2igbzjz9rc0ycig654mqjlgfphyzb";
     };
     # a single test is failing on perl 5.20
     doCheck = false;
-    buildInputs = [ FileShareDirInstall PadWalker TestDifferences TestException TestMemoryCycle ];
-    propagatedBuildInputs = [ ClassLoad DataClone DateTime DateTimeFormatStrptime EmailValid FileShareDir HTMLTree JSON ListAllUtils Moose MooseXGetopt MooseXTypes MooseXTypesCommon MooseXTypesLoadableClass SubExporter SubName TryTiny aliased namespaceautoclean ];
+    buildInputs = [ FileShareDirInstall PadWalker TestDifferences TestException TestMemoryCycle TestWarn ];
+    propagatedBuildInputs = [ CryptBlowfish CryptCBC DataClone DateTimeFormatStrptime EmailValid HTMLTree JSONMaybeXS MooseXGetopt MooseXTypesCommon MooseXTypesLoadableClass aliased ];
     meta = {
       description = "HTML forms using Moose";
       maintainers = with maintainers; [ ];
@@ -6644,13 +7106,13 @@ let self = _self // overrides; _self = with self; {
   };
 
   HTMLMason = buildPerlPackage {
-    name = "HTML-Mason-1.56";
+    name = "HTML-Mason-1.58";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DR/DROLSKY/HTML-Mason-1.56.tar.gz;
-      sha256 = "84ac24fb1d551f998145435265e5b6fd4a52ec61e4fadd3d7755eb648be2c4b2";
+      url = mirror://cpan/authors/id/D/DR/DROLSKY/HTML-Mason-1.58.tar.gz;
+      sha256 = "81dc9b199f0f3b3473c97ba0ebee4b9535cd633d4e9c1ca3818615dc03dff948";
     };
     buildInputs = [ TestDeep ];
-    propagatedBuildInputs = [ CacheCache CGI ClassContainer ExceptionClass HTMLParser LogAny ParamsValidate ];
+    propagatedBuildInputs = [ CGI CacheCache ClassContainer ExceptionClass LogAny ];
     meta = {
       homepage = https://metacpan.org/release/HTML-Mason;
       description = "High-performance, dynamic web site authoring system";
@@ -6686,6 +7148,18 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
+  HTMLTagCloud = buildPerlModule rec {
+    name = "HTML-TagCloud-0.38";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/R/RO/ROBERTSD/${name}.tar.gz";
+      sha256 = "05bhnrwwlwd6cj3cn91zw5r99xddvy142bznid26p1pg5m3rk029";
+    };
+    meta = {
+      description = "Generate An HTML Tag Cloud";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+    };
+  };
+
   HTMLQuoted = buildPerlPackage {
     name = "HTML-Quoted-0.04";
     src = fetchurl {
@@ -6705,7 +7179,7 @@ let self = _self // overrides; _self = with self; {
       url = mirror://cpan/authors/id/T/TS/TSIBLEY/HTML-RewriteAttributes-0.05.tar.gz;
       sha256 = "1808ec7cdf40d2708575fe6155a88f103b17fec77973a5831c2f24c250e7a58c";
     };
-    propagatedBuildInputs = [ HTMLParser HTMLTagset URI ];
+    propagatedBuildInputs = [ HTMLParser URI ];
     meta = {
       description = "Concise attribute rewriting";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
@@ -6713,10 +7187,10 @@ let self = _self // overrides; _self = with self; {
   };
 
   HTMLSelectorXPath = buildPerlPackage {
-    name = "HTML-Selector-XPath-0.16";
+    name = "HTML-Selector-XPath-0.23";
     src = fetchurl {
-      url = mirror://cpan/authors/id/C/CO/CORION/HTML-Selector-XPath-0.16.tar.gz;
-      sha256 = "0v12plal866ifcv7m8x22abrddd6cf12gn55qclk53qqa6c8f8m6";
+      url = mirror://cpan/authors/id/C/CO/CORION/HTML-Selector-XPath-0.23.tar.gz;
+      sha256 = "0vvvdrccypwv3qpf9hq5h2b6k0p5qrmz60p2swjh009dvr601h7j";
     };
     buildInputs = [ TestBase ];
     meta = {
@@ -6726,12 +7200,13 @@ let self = _self // overrides; _self = with self; {
   };
 
   HTMLScrubber = buildPerlPackage rec {
-    name = "HTML-Scrubber-0.15";
+    name = "HTML-Scrubber-0.17";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/P/PO/PODMASTER/${name}.tar.gz";
-      sha256 = "0xb5zj67y2sjid9bs3yfm81rgi91fmn38wy1ryngssw6vd92ijh2";
+      url = mirror://cpan/authors/id/N/NI/NIGELM/HTML-Scrubber-0.17.tar.gz;
+      sha256 = "06p7w4zd42b2yh541mlzyqj40lwmvvn3fyqi8big4mf34la7m2jm";
     };
     propagatedBuildInputs = [ HTMLParser ];
+    buildInputs = [ PodCoverageTrustPod TestCPANMeta TestDifferences TestEOL TestKwalitee TestMemoryCycle TestNoTabs TestPAUSEPermissions TestPod TestPodCoverage ];
   };
 
   HTMLTableExtract = buildPerlPackage rec {
@@ -6740,39 +7215,39 @@ let self = _self // overrides; _self = with self; {
       url = "mirror://cpan/authors/id/M/MS/MSISK/${name}.tar.gz";
       sha256 = "01jimmss3q68a89696wmclvqwb2ybz6xgabpnbp6mm6jcni82z8a";
     };
-    propagatedBuildInputs = [ HTMLElementExtended HTMLParser ];
+    propagatedBuildInputs = [ HTMLElementExtended ];
   };
 
   HTMLTagset = buildPerlPackage rec {
     name = "HTML-Tagset-3.20";
     src = fetchurl {
-      url = "mirror://cpan/modules/by-module/HTML/${name}.tar.gz";
+      url = mirror://cpan/authors/id/P/PE/PETDANCE/HTML-Tagset-3.20.tar.gz;
       sha256 = "1qh8249wgr4v9vgghq77zh1d2zs176bir223a8gh3k9nksn7vcdd";
     };
   };
 
   HTMLTemplate = buildPerlPackage rec {
-    name = "HTML-Template-2.95";
+    name = "HTML-Template-2.97";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/W/WO/WONKO/${name}.tar.gz";
-      sha256 = "07ahpfgidxsw2yb7y8i7bbr8s64aq6qgq832h9jswmksxbd0l43q";
+      url = mirror://cpan/authors/id/S/SA/SAMTREGAR/HTML-Template-2.97.tar.gz;
+      sha256 = "17qjw8swj2q4b1ic285pndgrkmvpsqw0j68nhqzpk1daydhsyiv5";
     };
     propagatedBuildInputs = [ CGI ];
+    buildInputs = [ TestPod ];
   };
 
   HTMLTidy = buildPerlPackage rec {
-    name = "HTML-Tidy-1.56";
+    name = "HTML-Tidy-1.60";
     src = fetchurl {
       url = "mirror://cpan/authors/id/P/PE/PETDANCE/${name}.tar.gz";
-      sha256 = "1zp4wndvr9vadbqjmd8d8ck6hlmr0dqg20vpa8cqfdflqkzqf208";
+      sha256 = "1iyp2fd6j75cn1xvcwl2lxr8qpjxssy2360cyqn6g3kzd1fzdyxw";
     };
 
-    propagatedBuildInputs = [ TextDiff ];
-
     patchPhase = ''
       sed -i "s#/usr/include/tidyp#${pkgs.tidyp}/include/tidyp#" Makefile.PL
       sed -i "s#/usr/lib#${pkgs.tidyp}/lib#" Makefile.PL
     '';
+    buildInputs = [ TestException ];
   };
 
   HTMLTiny = buildPerlPackage rec {
@@ -6787,24 +7262,23 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
-  HTMLTokeParserSimple = buildPerlPackage rec {
+  HTMLTokeParserSimple = buildPerlModule rec {
     name = "HTML-TokeParser-Simple-3.16";
     src = fetchurl {
       url = "mirror://cpan/authors/id/O/OV/OVID/${name}.tar.gz";
       sha256 = "17aa1v62sp8ycxcicwhankmj4brs6nnfclk9z7mf1rird1f164gd";
     };
-    propagatedBuildInputs = [HTMLParser SubOverride];
-    buildInputs = [TestPod];
+    propagatedBuildInputs = [ HTMLParser SubOverride ];
   };
 
   HTMLTree = buildPerlModule {
-    name = "HTML-Tree-5.03";
+    name = "HTML-Tree-5.07";
     src = fetchurl {
-      url = mirror://cpan/authors/id/C/CJ/CJM/HTML-Tree-5.03.tar.gz;
-      sha256 = "13qlqbpixw470gnck0xgny8hyjj576m8y24bba2p9ai2lvy76vbx";
+      url = mirror://cpan/authors/id/K/KE/KENTNL/HTML-Tree-5.07.tar.gz;
+      sha256 = "1gyvm4qlwm9y6hczkpnrdfl303ggbybr0nqxdjw09hii8yw4sdzh";
     };
     buildInputs = [ TestFatal ];
-    propagatedBuildInputs = [ HTMLParser HTMLTagset ];
+    propagatedBuildInputs = [ HTMLParser ];
     meta = {
       homepage = http://search.cpan.org/perldoc?CPAN::Meta::Spec;
       description = "Work with HTML in a DOM-like tree structure";
@@ -6834,11 +7308,8 @@ let self = _self // overrides; _self = with self; {
       sha256 = "02w21rd30cza094m5xs9clzw8ayigbhg2ddzl6jycp4jam0dyhmy";
     };
     doCheck = false;
-    propagatedBuildInputs = [
-      TestNoWarnings ClassAccessor ClassAccessorChained
-      ClassDataAccessor ModulePluggableFast HTMLTree
-      HTMLScrubber EmailValid DateCalc
-    ];
+    propagatedBuildInputs = [ ClassAccessorChained ClassDataAccessor DateCalc EmailValid HTMLScrubber HTMLTree ModulePluggableFast ];
+    buildInputs = [ TestNoWarnings ];
   };
 
   HTTPBody = buildPerlPackage rec {
@@ -6847,7 +7318,7 @@ let self = _self // overrides; _self = with self; {
       url = "mirror://cpan/authors/id/G/GE/GETTY/${name}.tar.gz";
       sha256 = "fc0d2c585b3bd1532d92609965d589e0c87cd380e7cca42fb9ad0a1311227297";
     };
-    buildInputs = [ HTTPMessage TestDeep ];
+    buildInputs = [ TestDeep ];
     propagatedBuildInputs = [ HTTPMessage ];
     meta = {
       description = "HTTP Body Parser";
@@ -6856,12 +7327,12 @@ let self = _self // overrides; _self = with self; {
   };
 
   HTTPCookies = buildPerlPackage {
-    name = "HTTP-Cookies-6.01";
+    name = "HTTP-Cookies-6.04";
     src = fetchurl {
-      url = mirror://cpan/authors/id/G/GA/GAAS/HTTP-Cookies-6.01.tar.gz;
-      sha256 = "087bqmg22dg3vj7gssh3pcsh9y1scimkbl5h1kc8jqyfhgisvlzm";
+      url = mirror://cpan/authors/id/O/OA/OALDERS/HTTP-Cookies-6.04.tar.gz;
+      sha256 = "1m0kxcirbvbkrm2c59p1bkbvzlcdymg8fdpa7wlxijlx0xwz1iqc";
     };
-    propagatedBuildInputs = [ HTTPDate HTTPMessage ];
+    propagatedBuildInputs = [ HTTPMessage ];
     meta = {
       description = "HTTP cookie jars";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
@@ -6874,7 +7345,7 @@ let self = _self // overrides; _self = with self; {
       url = mirror://cpan/authors/id/G/GA/GAAS/HTTP-Daemon-6.01.tar.gz;
       sha256 = "1hmd2isrkilf0q0nkxms1q64kikjmcw9imbvrjgky6kh89vqdza3";
     };
-    propagatedBuildInputs = [ HTTPDate HTTPMessage LWPMediaTypes ];
+    propagatedBuildInputs = [ HTTPMessage ];
     meta = {
       description = "A simple http server class";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
@@ -6893,16 +7364,31 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
+  HTTPEntityParser = buildPerlModule rec {
+     name = "HTTP-Entity-Parser-0.21";
+     src = fetchurl {
+       url = mirror://cpan/authors/id/K/KA/KAZEBURO/HTTP-Entity-Parser-0.21.tar.gz;
+       sha256 = "1n7qhyscllialds5jsk1k8x2vmfbjvisa3342as5x15hpm13wkf1";
+     };
+     propagatedBuildInputs = [ HTTPMultiPartParser HashMultiValue JSONMaybeXS StreamBuffered WWWFormUrlEncoded ];
+     buildInputs = [ HTTPMessage ModuleBuildTiny ];
+     meta = {
+       description = "PSGI compliant HTTP Entity Parser";
+       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+       homepage = "https://github.com/kazeburo/HTTP-Entity-Parser";
+     };
+  };
+
   HTTPDAV = buildPerlPackage rec {
-    name = "HTTP-DAV-0.44";
+    name = "HTTP-DAV-0.48";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/O/OP/OPERA/${name}.tar.gz";
-      sha256 = "1pp7xbfn6yr87cqy2m2kl2v5zgvmmikhl7wmaw6c5nksj4wi9xq1";
+      url = mirror://cpan/authors/id/C/CO/COSIMO/HTTP-DAV-0.48.tar.gz;
+      sha256 = "1fnw3wd9zrkxq54jqgi4iw48ndysgy73glva4129s8243pn05a86";
     };
-    buildInputs = [ LWP XMLDOM ];
     meta = {
       description = "WebDAV client library.";
     };
+    propagatedBuildInputs = [ XMLDOM ];
   };
 
   HTTPHeaderParserXS = buildPerlPackage rec {
@@ -6914,12 +7400,12 @@ let self = _self // overrides; _self = with self; {
   };
 
   HTTPHeadersFast = buildPerlModule rec {
-    name = "HTTP-Headers-Fast-0.20";
+    name = "HTTP-Headers-Fast-0.21";
     src = fetchurl {
       url = "mirror://cpan/authors/id/T/TO/TOKUHIROM/${name}.tar.gz";
-      sha256 = "d2f4c9724618e74f300fc746498fb5849692ef0cfc4af47fe499c4063969e520";
+      sha256 = "5e68ed8e3e67531e1d43c6a2cdfd0ee2daddf2e5b94c1a2648f3a6500a6f12d5";
     };
-    buildInputs = [ ModuleBuild TestRequires ];
+    buildInputs = [ ModuleBuildTiny TestRequires ];
     propagatedBuildInputs = [ HTTPDate ];
     meta = {
       homepage = https://github.com/tokuhirom/HTTP-Headers-Fast;
@@ -6929,19 +7415,19 @@ let self = _self // overrides; _self = with self; {
   };
 
   HTTPLite = buildPerlPackage rec {
-    name = "HTTP-Lite-2.43";
+    name = "HTTP-Lite-2.44";
     src = fetchurl {
       url = "mirror://cpan/authors/id/N/NE/NEILB/${name}.tar.gz";
-      sha256 = "10svyy8r5ca86spz21r0k2mdy8g2slzssin4qbg101zc9kr5r65a";
+      sha256 = "0z77nflj8zdcfg70kc93glq5kmd6qxn2nf7h70x4xhfg25wkvr1q";
     };
-    buildInputs = [ ModuleBuild ];
+    buildInputs = [ CGI ];
   };
 
   HTTPMessage = buildPerlPackage rec {
-    name = "HTTP-Message-6.14";
+    name = "HTTP-Message-6.16";
     src = fetchurl {
       url = "mirror://cpan/authors/id/O/OA/OALDERS/${name}.tar.gz";
-      sha256 = "71aab9f10eb4b8ec6e8e3a85fc5acb46ba04db1c93eb99613b184078c5cf2ac9";
+      sha256 = "46790ae127946d5cfea5a1e05c1b9f4a045a7c5094fe81f086bbf3341290ebd0";
     };
     buildInputs = [ TryTiny ];
     propagatedBuildInputs = [ EncodeLocale HTTPDate IOHTML LWPMediaTypes URI ];
@@ -6952,6 +7438,19 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
+  HTTPMultiPartParser = buildPerlPackage rec {
+     name = "HTTP-MultiPartParser-0.02";
+     src = fetchurl {
+       url = mirror://cpan/authors/id/C/CH/CHANSEN/HTTP-MultiPartParser-0.02.tar.gz;
+       sha256 = "04hbs0b1lzv2c8dqfcc9qjm5akh25fn40903is36zlalkwaxmpay";
+     };
+     buildInputs = [ TestDeep ];
+     meta = {
+       description = "HTTP MultiPart Parser";
+       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+     };
+  };
+
   HTTPNegotiate = buildPerlPackage {
     name = "HTTP-Negotiate-6.01";
     src = fetchurl {
@@ -6966,12 +7465,11 @@ let self = _self // overrides; _self = with self; {
   };
 
   HTTPParserXS = buildPerlPackage rec {
-    name = "HTTP-Parser-XS-0.16";
+    name = "HTTP-Parser-XS-0.17";
     src = fetchurl {
       url = "mirror://cpan/authors/id/K/KA/KAZUHO/${name}.tar.gz";
-      sha256 = "1sp9vllf012paslmn11b7z7fbk3hhkcp7gj59yp6qzh11xzpxlai";
+      sha256 = "02d84xq1mm53c7jl33qyb7v5w4372vydp74z6qj0vc96wcrnhkkr";
     };
-    buildInputs = [ TestMore ];
   };
 
   HTTPProxy = buildPerlPackage rec {
@@ -6980,8 +7478,7 @@ let self = _self // overrides; _self = with self; {
       url = "mirror://cpan/authors/id/B/BO/BOOK/${name}.tar.gz";
       sha256 = "b05290534ec73625c21a0565fc35170890dab163843d95331c292c23f504c69d";
     };
-    buildInputs = [ HTMLParser ];
-    propagatedBuildInputs = [ HTTPDaemon HTTPDate HTTPMessage LWP ];
+    propagatedBuildInputs = [ LWP ];
     meta = {
       description = "A pure Perl HTTP proxy";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
@@ -6993,10 +7490,10 @@ let self = _self // overrides; _self = with self; {
   HTTPRequestAsCGI = buildPerlPackage rec {
     name = "HTTP-Request-AsCGI-1.2";
     src = fetchurl {
-      url = "mirror://cpan/modules/by-module/HTTP/${name}.tar.gz";
+      url = mirror://cpan/authors/id/F/FL/FLORA/HTTP-Request-AsCGI-1.2.tar.gz;
       sha256 = "1smwmiarwcgq7vjdblnb6ldi2x1s5sk5p15p7xvm5byiqq3znnwl";
     };
-    propagatedBuildInputs = [ ClassAccessor LWP ];
+    propagatedBuildInputs = [ ClassAccessor HTTPMessage ];
   };
 
   HTTPResponseEncoding = buildPerlPackage {
@@ -7005,22 +7502,24 @@ let self = _self // overrides; _self = with self; {
       url = mirror://cpan/authors/id/D/DA/DANKOGAI/HTTP-Response-Encoding-0.06.tar.gz;
       sha256 = "1am8lis8107s5npca1xgazdy5sknknzcqyhdmc220s4a4f77n5hh";
     };
-    propagatedBuildInputs = [ LWPUserAgent HTTPMessage ];
+    propagatedBuildInputs = [ HTTPMessage ];
     meta = {
       description = "Adds encoding() to HTTP::Response";
     };
+    buildInputs = [ LWP ];
   };
 
   HTTPServerSimple = buildPerlPackage {
-    name = "HTTP-Server-Simple-0.44";
+    name = "HTTP-Server-Simple-0.52";
     src = fetchurl {
-      url = mirror://cpan/authors/id/J/JE/JESSE/HTTP-Server-Simple-0.44.tar.gz;
-      sha256 = "05klpfkss2a6i5ihmvcm27fyar0f2v4ispg2f49agab3va1gix6g";
+      url = mirror://cpan/authors/id/B/BP/BPS/HTTP-Server-Simple-0.52.tar.gz;
+      sha256 = "0k6bg7k6mjixfzxdkkdrhqvaqmdhjszx0zsk8g0bimiby6j9z4yq";
     };
     doCheck = false;
     meta = {
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
+    propagatedBuildInputs = [ CGI ];
   };
 
   HTTPServerSimpleAuthen = buildPerlPackage rec {
@@ -7048,6 +7547,20 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
+  HTTPServerSimplePSGI = buildPerlPackage rec {
+     name = "HTTP-Server-Simple-PSGI-0.16";
+     src = fetchurl {
+       url = mirror://cpan/authors/id/M/MI/MIYAGAWA/HTTP-Server-Simple-PSGI-0.16.tar.gz;
+       sha256 = "1fhx2glycd66m4l4m1gja81ixq8nh4r5g9wjhhkrffq4af2cnz2z";
+     };
+     propagatedBuildInputs = [ HTTPServerSimple ];
+     meta = {
+       description = "PSGI handler for HTTP::Server::Simple";
+       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+       homepage = "https://github.com/miyagawa/HTTP-Server-Simple-PSGI";
+     };
+  };
+
   I18NCollate = buildPerlPackage {
     name = "I18N-Collate-1.02";
     src = fetchurl {
@@ -7061,18 +7574,30 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
+  iCalParser = buildPerlPackage rec {
+    name = "iCal-Parser-1.21";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/R/RI/RIXED/${name}.tar.gz";
+      sha256 = "0d7939a644a8e67017ec7239d3d9604f3986bb9a4ff80be68fe7299ebfd2270c";
+    };
+    propagatedBuildInputs = [ DateTimeFormatICal FreezeThaw IOString TextvFileasData ];
+    meta = {
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+    };
+  };
+
   "if" = null;
 
   # For backwards compatibility.
   if_ = self."if";
 
   ImageInfo = buildPerlPackage rec {
-    name = "Image-Info-1.39";
+    name = "Image-Info-1.41";
     src = fetchurl {
       url = "mirror://cpan/authors/id/S/SR/SREZIC/${name}.tar.gz";
-      sha256 = "af155264667a2c22e3e2225195b8f6589329f9567e1789b7ce439ee21178713d";
+      sha256 = "c546d27414686660dbc3cd8501537128c5285a8db0faf742c2dc12b9a29ba3db";
     };
-    propagatedBuildInputs = [ IOstringy ];
+    propagatedBuildInputs = [ IOStringy ];
     meta = {
       description = "Extract meta information from image files";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
@@ -7080,13 +7605,13 @@ let self = _self // overrides; _self = with self; {
   };
 
   ImageScale = buildPerlPackage rec {
-    name = "Image-Scale-0.13";
+    name = "Image-Scale-0.14";
     src = fetchurl {
       url = "mirror://cpan/authors/id/A/AG/AGRUNDMA/${name}.tar.gz";
-      sha256 = "5b2c92dc2dd635b488879461760cd251aa2b1feef41b64f17914a6e4bbe3e442";
+      sha256 = "f09c5f0663b87738365ac2819e186b909abeb9ed85d83bc15ee76872c947cdf8";
     };
-    buildInputs = [ pkgs.libpng pkgs.libjpeg ];
-    propagatedBuildInputs = [ TestNoWarnings pkgs.zlib ];
+    buildInputs = [ pkgs.libpng pkgs.libjpeg TestNoWarnings ];
+    propagatedBuildInputs = [ pkgs.zlib ];
     makeMakerFlags = "--with-jpeg-includes=${pkgs.libjpeg.dev}/include --with-jpeg-libs=${pkgs.libjpeg.out}/lib --with-png-includes=${pkgs.libpng.dev}/include --with-png-libs=${pkgs.libpng.out}/lib";
     meta = {
       description = "Fast, high-quality fixed-point image resizing";
@@ -7095,13 +7620,12 @@ let self = _self // overrides; _self = with self; {
   };
 
   ImageSize = buildPerlPackage rec {
-    name = "Image-Size-3.232";
+    name = "Image-Size-3.300";
     src = fetchurl {
       url = "mirror://cpan/authors/id/R/RJ/RJRAY/${name}.tar.gz";
-      sha256 = "1mx065134gy75pgdldh65118bpcs6yfbqmr7bf9clwq44zslxhxc";
+      sha256 = "0sq2kwdph55h4adx50fmy86brjkkv8grsw33xrhf1k9icpwb3jak";
     };
-    buildInputs = [ TestMore ];
-    propagatedBuildInputs = [ ModuleRuntime ];
+    buildInputs = [ ModuleBuild ];
     meta = {
       description = "Read the dimensions of an image in several popular formats";
       license = with stdenv.lib.licenses; [ artistic1 lgpl21Plus ];
@@ -7114,7 +7638,6 @@ let self = _self // overrides; _self = with self; {
       url = mirror://cpan/authors/id/C/CO/CONTEB/IMAP-Client-0.13.tar.gz;
       sha256 = "15fa4hpw2rqg2iadyz10rnv99hns78wph5qlh3257a3mbfjjyyla";
     };
-    propagatedBuildInputs = [IOSocketSSL URIIMAP];
     doCheck = false; # nondeterministic
   };
 
@@ -7132,10 +7655,10 @@ let self = _self // overrides; _self = with self; {
   };
 
   ImportInto = buildPerlPackage {
-    name = "Import-Into-1.002004";
+    name = "Import-Into-1.002005";
     src = fetchurl {
-      url = mirror://cpan/authors/id/E/ET/ETHER/Import-Into-1.002004.tar.gz;
-      sha256 = "110hifk3cj14lxgjq2vaa2qfja21gll4lpn8vbimy0gzqadjbjyy";
+      url = mirror://cpan/authors/id/H/HA/HAARG/Import-Into-1.002005.tar.gz;
+      sha256 = "0rq5kz7c270q33jq6hnrv3xgkvajsc62ilqq7fs40av6zfipg7mx";
     };
     propagatedBuildInputs = [ ModuleRuntime ];
     meta = {
@@ -7158,12 +7681,11 @@ let self = _self // overrides; _self = with self; {
   };
 
   IOAll = buildPerlPackage {
-    name = "IO-All-0.60";
+    name = "IO-All-0.87";
     src = fetchurl {
-      url = mirror://cpan/authors/id/F/FR/FREW/IO-All-0.60.tar.gz;
-      sha256 = "1bwsd2f5rlivcqyd7rb0ap5vrzv8s8fappi3b1v553yr5vl5pyq9";
+      url = mirror://cpan/authors/id/F/FR/FREW/IO-All-0.87.tar.gz;
+      sha256 = "0nsd9knlbd7if2v6zwj4q978axq0w5hk8ymp61z14a821hjivqjl";
     };
-    propagatedBuildInputs = [ IOString ];
     meta = {
       homepage = https://github.com/ingydotnet/io-all-pm/tree;
       description = "IO::All of it to Graham and Damian!";
@@ -7198,10 +7720,10 @@ let self = _self // overrides; _self = with self; {
   };
 
   IOCompress = buildPerlPackage rec {
-    name = "IO-Compress-2.070";
+    name = "IO-Compress-2.074";
     src = fetchurl {
       url = "mirror://cpan/authors/id/P/PM/PMQS/${name}.tar.gz";
-      sha256 = "3e761b833c8e55eb811a5eeab07831bb380dcdce256cc45cfe8816602a3574ff";
+      sha256 = "b4bd68ce895a6578e5be96ade36449461becc328cc7ab900ae4e362380f097f2";
     };
     propagatedBuildInputs = [ CompressRawBzip2 CompressRawZlib ];
     meta = {
@@ -7220,7 +7742,7 @@ let self = _self // overrides; _self = with self; {
       url = mirror://cpan/authors/id/C/CL/CLKAO/IO-Digest-0.11.tar.gz;
       sha256 = "14kz7z4xw179aya3116wxac29l4y2wmwrba087lya4v2gxdgiz4g";
     };
-    propagatedBuildInputs = [PerlIOviadynamic];
+    propagatedBuildInputs = [ PerlIOviadynamic ];
   };
 
   IOHTML = buildPerlPackage {
@@ -7236,11 +7758,22 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
+  IOHandleUtil = buildPerlPackage rec {
+     name = "IO-Handle-Util-0.01";
+     src = fetchurl {
+       url = mirror://cpan/authors/id/N/NU/NUFFIN/IO-Handle-Util-0.01.tar.gz;
+       sha256 = "1g7746gh3y9a9df3xb3l504czgwrrzr7lp87j7jwm2mklarrig6k";
+     };
+     propagatedBuildInputs = [ IOString SubExporter asa ];
+     meta = {
+     };
+  };
+
   IOInteractive = buildPerlPackage {
-    name = "IO-Interactive-0.0.6";
+    name = "IO-Interactive-1.022";
     src = fetchurl {
-      url = mirror://cpan/authors/id/B/BD/BDFOY/IO-Interactive-0.0.6.tar.gz;
-      sha256 = "9cc016cbd94b500027e137cb5070d19487e4431bf822f0cb534c38b6b2c1038c";
+      url = mirror://cpan/authors/id/B/BD/BDFOY/IO-Interactive-1.022.tar.gz;
+      sha256 = "0ed53b8ae93ae877e98e0d89b7b429e29ccd1ee4c28e952c4ea9aa73d01febdc";
     };
     meta = {
       description = "Utilities for interactive I/O";
@@ -7251,7 +7784,7 @@ let self = _self // overrides; _self = with self; {
   IOLockedFile = buildPerlPackage rec {
     name = "IO-LockedFile-0.23";
     src = fetchurl {
-      url = "mirror://cpan/modules/by-module/IO/${name}.tar.gz";
+      url = mirror://cpan/authors/id/R/RA/RANI/IO-LockedFile-0.23.tar.gz;
       sha256 = "1dgq8zfkaszisdb5hz8jgcl0xc3qpv7bbv562l31xgpiddm7xnxi";
     };
   };
@@ -7271,14 +7804,14 @@ let self = _self // overrides; _self = with self; {
       url = "mirror://cpan/authors/id/J/JP/JPIERCE/IO-Pager-${version}.tgz";
       sha256 = "0ksldcw0hydfy9k70i6q6fm1wgbc54kx0lbwlkrszsbd7q72dlfg";
     };
-    propagatedBuildInputs = [pkgs.utillinux.bin]; # `more` used in tests
+    propagatedBuildInputs = [ pkgs.more FileWhich ]; # `more` used in tests
   };
 
-  IOPrompt = buildPerlPackage {
-    name = "IO-Prompt-0.997002";
+  IOPrompt = buildPerlModule {
+    name = "IO-Prompt-0.997004";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DC/DCONWAY/IO-Prompt-0.997002.tar.gz;
-      sha256 = "08ad24f58335ce9696666e4411b2f3cd9c2e1fb72b306b6018c1a13971361ced";
+      url = mirror://cpan/authors/id/D/DC/DCONWAY/IO-Prompt-0.997004.tar.gz;
+      sha256 = "f17bb305ee6ac8b5b203e6d826eb940c4f3f6d6f4bfe719c3b3a225f46f58615";
     };
     propagatedBuildInputs = [ TermReadKey Want ];
     doCheck = false; # needs access to /dev/tty
@@ -7287,11 +7820,11 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
-  IOSocketIP = buildPerlPackage {
-    name = "IO-Socket-IP-0.37";
+  IOSocketIP = buildPerlModule {
+    name = "IO-Socket-IP-0.39";
     src = fetchurl {
-      url = mirror://cpan/authors/id/P/PE/PEVANS/IO-Socket-IP-0.37.tar.gz;
-      sha256 = "2adc5f0b641d41f662b4d99c0795780c62f9af9119884d053265fc8858ae6f7b";
+      url = mirror://cpan/authors/id/P/PE/PEVANS/IO-Socket-IP-0.39.tar.gz;
+      sha256 = "11950da7636cb786efd3bfb5891da4c820975276bce43175214391e5c32b7b96";
     };
     meta = {
       description = "Family-neutral IP socket supporting both IPv4 and IPv6";
@@ -7310,12 +7843,12 @@ let self = _self // overrides; _self = with self; {
   };
 
   IOSocketSSL = buildPerlPackage rec {
-    name = "IO-Socket-SSL-2.050";
+    name = "IO-Socket-SSL-2.056";
     src = fetchurl {
       url = "mirror://cpan/authors/id/S/SU/SULLR/${name}.tar.gz";
-      sha256 = "54e6716e40df8b1c168d8f54a0b8f215313739bd99dda17adb7c00fe94656692";
+      sha256 = "91451ecc28b243a78b438f0a42db24c4b60a86f088879b38e40bdbd697818259";
     };
-    propagatedBuildInputs = [ NetSSLeay URI ];
+    propagatedBuildInputs = [ NetSSLeay ];
     # Fix path to default certificate store.
     postPatch = ''
       substituteInPlace lib/IO/Socket/SSL.pm \
@@ -7329,13 +7862,13 @@ let self = _self // overrides; _self = with self; {
     doCheck = false; # tries to connect to facebook.com etc.
   };
 
-  IOSocketTimeout = buildPerlPackage rec {
+  IOSocketTimeout = buildPerlModule rec {
     name = "IO-Socket-Timeout-0.32";
     src = fetchurl {
       url = "mirror://cpan/authors/id/D/DA/DAMS/${name}.tar.gz";
       sha256 = "edf915d6cc66bee43503aa6dc2b373366f38eaff701582183dad10cb8adf2972";
     };
-    buildInputs = [ ModuleBuildTiny TestTCP ];
+    buildInputs = [ ModuleBuildTiny TestSharedFork TestTCP ];
     propagatedBuildInputs = [ PerlIOviaTimeout ];
     meta = {
       description = "IO::Socket with read/write timeout";
@@ -7355,26 +7888,26 @@ let self = _self // overrides; _self = with self; {
   IOstringy = pkgs.perlPackages.IOStringy;
 
   IOStringy = buildPerlPackage rec {
-    name = "IO-stringy-2.110";
+    name = "IO-stringy-2.111";
     src = fetchurl {
       url = "mirror://cpan/authors/id/D/DS/DSKOLL/${name}.tar.gz";
-      sha256 = "1vh4n0k22hx20rwvf6h7lp25wb7spg0089shrf92d2lkncwg8g3y";
+      sha256 = "178rpx0ym5l2m9mdmpnr92ziscvchm541w94fd7ygi6311kgsrwc";
     };
   };
 
   IOTee = buildPerlPackage rec {
-    name = "IO-Tee-0.64";
+    name = "IO-Tee-0.65";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/K/KE/KENSHAN/${name}.tar.gz";
-      sha256 = "1mjy6hmwrzipzxcm33qs7ja89ljk6zkk499wclw16lfkqaqpdliy";
+      url = mirror://cpan/authors/id/N/NE/NEILB/IO-Tee-0.65.tar.gz;
+      sha256 = "04hc94fk6qlazrarcznw2d8wiqw289js4za0czw65296kc8csgf6";
     };
   };
 
   IOTieCombine = buildPerlPackage {
-    name = "IO-TieCombine-1.004";
+    name = "IO-TieCombine-1.005";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RJ/RJBS/IO-TieCombine-1.004.tar.gz;
-      sha256 = "0awyyjdbjjawdkzs08rfjhfkkm7pni523x3ddmq9ixa82ibnn430";
+      url = mirror://cpan/authors/id/R/RJ/RJBS/IO-TieCombine-1.005.tar.gz;
+      sha256 = "1bv9ampayf4bvyxg4ivy18l8k79jvq55x6gl68b2fg8b62w4sba0";
     };
     meta = {
       homepage = https://github.com/rjbs/io-tiecombine;
@@ -7420,10 +7953,10 @@ let self = _self // overrides; _self = with self; {
 
 
   IPCRun = buildPerlPackage {
-    name = "IPC-Run-0.92";
+    name = "IPC-Run-0.98";
     src = fetchurl {
-      url = mirror://cpan/authors/id/T/TO/TODDR/IPC-Run-0.92.tar.gz;
-      sha256 = "1lj6kmr8rs6na77b3v673vvw6qsr511bmhgf257x4xqmvxnv91p1";
+      url = mirror://cpan/authors/id/T/TO/TODDR/IPC-Run-0.98.tar.gz;
+      sha256 = "018r6jb8h0danyd3g8k03ziaf4w2d31qi9x876gn21js8l232spl";
     };
     doCheck = false; /* attempts a network connection to localhost */
     meta = {
@@ -7432,6 +7965,8 @@ let self = _self // overrides; _self = with self; {
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
       platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin;
     };
+    propagatedBuildInputs = [ IOTty ];
+    buildInputs = [ Readonly ];
   };
 
   IPCRun3 = buildPerlPackage rec {
@@ -7445,7 +7980,7 @@ let self = _self // overrides; _self = with self; {
   IPCShareLite = buildPerlPackage rec {
     name = "IPC-ShareLite-0.17";
     src = fetchurl {
-      url = "mirror://cpan/modules/by-module/IPC/${name}.tar.gz";
+      url = mirror://cpan/authors/id/A/AN/ANDYA/IPC-ShareLite-0.17.tar.gz;
       sha256 = "1gz7dbwxrzbzdsjv11kb49jlf9q6lci2va6is0hnavd93nwhdm0l";
     };
   };
@@ -7463,10 +7998,10 @@ let self = _self // overrides; _self = with self; {
   };
 
   IPCSysV = buildPerlPackage {
-    name = "IPC-SysV-2.04";
+    name = "IPC-SysV-2.07";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MH/MHX/IPC-SysV-2.04.tar.gz;
-      sha256 = "93248930e667034899bf2b09b9a23348e2b800a5437fbb9b4f34c37316da3fcc";
+      url = mirror://cpan/authors/id/M/MH/MHX/IPC-SysV-2.07.tar.gz;
+      sha256 = "d01a367af771d35e3b11a21366ad6405f8d28e8cbca4c0cf08ab78bf157d052d";
     };
     meta = {
       description = "System V IPC constants and system calls";
@@ -7513,7 +8048,6 @@ let self = _self // overrides; _self = with self; {
       sha256 = "7e2bd984b1ebd43e336b937896463f2c6cb682c956cbd2c311a464363d2ccef6";
     };
     buildInputs = [ TestWarn ];
-    propagatedBuildInputs = [ ParseRecDescent ];
     meta = {
       homepage = https://github.com/ingydotnet/inline-pm;
       description = "Write Perl Subroutines in Other Programming Languages";
@@ -7548,11 +8082,11 @@ let self = _self // overrides; _self = with self; {
   };
 
   InlineJava = buildPerlPackage rec {
-    name = "Inline-Java-0.52";
+    name = "Inline-Java-0.53";
 
     src = fetchurl {
       url = "mirror://cpan/authors/id/P/PA/PATL/${name}.tar.gz";
-      sha256 = "0xdx1nnjvsih2njcncmwxwdi3w2zf74vqb9wpn1va8ii93mlakff";
+      sha256 = "1d9hq09nv3l6m015ws08b3gbfp8daxryqr7p0yi0xhqr44j9qcj8";
     };
 
     propagatedBuildInputs = [ Inline ];
@@ -7587,19 +8121,31 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
-  JavaScriptMinifierXS = buildPerlPackage rec {
+  JavaScriptMinifierXS = buildPerlModule rec {
     name = "JavaScript-Minifier-XS-0.11";
     src = fetchurl {
-      url = "https://cpan.metacpan.org/authors/id/G/GT/GTERMARS/JavaScript-Minifier-XS-0.11.tar.gz";
+      url = mirror://cpan/authors/id/G/GT/GTERMARS/JavaScript-Minifier-XS-0.11.tar.gz;
       sha256 = "1vlyhckpjbrg2v4dy9szsxxl0q44n0y1xl763mg2y2ym9g5144hm";
     };
-    propagatedBuildInputs = [ ];
     meta = {
       description = "XS based JavaScript minifier";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
+  JavaScriptValueEscape = buildPerlModule rec {
+     name = "JavaScript-Value-Escape-0.07";
+     src = fetchurl {
+       url = mirror://cpan/authors/id/K/KA/KAZEBURO/JavaScript-Value-Escape-0.07.tar.gz;
+       sha256 = "1p5365lvnax8kbcfrj169lx05af3i3qi5wg5x9mizqgd10vxmjws";
+     };
+     meta = {
+       description = "Avoid XSS with JavaScript value interpolation";
+       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+       homepage = "https://github.com/kazeburo/JavaScript-Value-Escape";
+     };
+  };
+
 
   JSON = buildPerlPackage {
     name = "JSON-2.90";
@@ -7607,34 +8153,39 @@ let self = _self // overrides; _self = with self; {
       url = mirror://cpan/authors/id/M/MA/MAKAMAKA/JSON-2.90.tar.gz;
       sha256 = "127yppvr17qik9pkd1vy901hs4l13kg6rhp76jdgcyask35v7nsd";
     };
-    buildInputs = [ TestPod ];
+    preConfigure = ''
+      cp lib/JSON/backportPP.pm{,orig}
+      echo "1;" > lib/JSON/backportPP.pm
+    '';
+    postConfigure = ''
+      cp lib/JSON/backportPP.pm{orig,}
+    '';
     meta = {
       description = "JSON (JavaScript Object Notation) encoder/decoder";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
+    doCheck = false;
   };
 
   JSONAny = buildPerlPackage {
-    name = "JSON-Any-1.29";
+    name = "JSON-Any-1.39";
     src = fetchurl {
-      url = mirror://cpan/authors/id/P/PE/PERIGRIN/JSON-Any-1.29.tar.gz;
-      sha256 = "15v2j9dh58r7r4s7rnnmgnzzbyz61bhyxwpx1z7r811ixs9bkks2";
+      url = mirror://cpan/authors/id/E/ET/ETHER/JSON-Any-1.39.tar.gz;
+      sha256 = "1hspg6khjb38syn59cysnapc1q77qgavfym3fqr6l2kiydf7ajdf";
     };
-    propagatedBuildInputs = [ JSON ];
     meta = {
       description = "Wrapper Class for the various JSON classes";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
+    buildInputs = [ TestFatal TestRequires TestWarnings TestWithoutModule ];
   };
 
   JSONMaybeXS = buildPerlPackage rec {
-    name = "JSON-MaybeXS-1.003005";
+    name = "JSON-MaybeXS-1.003010";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/E/ET/ETHER/${name}.tar.gz";
-      sha256 = "02n8dkj3qpzikkqyki8gvdk1pfdqrs9qcrdr96fla42gar5nkd5x";
+      url = mirror://cpan/authors/id/H/HA/HAARG/JSON-MaybeXS-1.003010.tar.gz;
+      sha256 = "0hs504x5zsa2vl6r7b3rvbygsak1ly24m1lg636bqp3x7jirmb30";
     };
-    buildInputs = [ TestWithoutModule ];
-    propagatedBuildInputs = [ JSONPP ];
     meta = {
       description = "Use L<Cpanel::JSON::XS> with a fallback to L<JSON::XS> and L<JSON::PP>";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
@@ -7642,10 +8193,10 @@ let self = _self // overrides; _self = with self; {
   };
 
   JSONPP = buildPerlPackage rec {
-    name = "JSON-PP-2.27203";
+    name = "JSON-PP-2.97001";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MA/MAKAMAKA/JSON-PP-2.27203.tar.gz;
-      sha256 = "0ljwya1fb4969pckcq2j1g6axgx8qh9yscxbs6qf62qxf8wkj1mp";
+      url = mirror://cpan/authors/id/I/IS/ISHIGAKI/JSON-PP-2.97001.tar.gz;
+      sha256 = "1d1731yqv2py039qxcr0j9r4jb8m9kq387pj1q6gxawbfwvlmxb7";
     };
     meta = {
       description = "JSON::XS compatible pure-Perl module";
@@ -7681,16 +8232,17 @@ let self = _self // overrides; _self = with self; {
   };
 
   JSONXS = buildPerlPackage {
-    name = "JSON-XS-2.34";
+    name = "JSON-XS-3.04";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/ML/MLEHMANN/JSON-XS-2.34.tar.gz;
-      sha256 = "1sh0i73skxp3rvd9w8phxqncw9m1r5ibnb9qxxm21bmrfwkxybx6";
+      url = mirror://cpan/authors/id/M/ML/MLEHMANN/JSON-XS-3.04.tar.gz;
+      sha256 = "0b3w14zqjxnm93jjfzjqz8pkxp3a2l9242y7zxxhnvzav1mq7n35";
     };
-    propagatedBuildInputs = [ commonsense ];
+    propagatedBuildInputs = [ TypesSerialiser ];
     meta = {
       homepage = http://search.cpan.org/perldoc?CPAN::Meta::Spec;
       platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin;
     };
+    buildInputs = [ CanaryStability ];
   };
 
   JSONXSVersionOneAndTwo = buildPerlPackage rec {
@@ -7706,11 +8258,11 @@ let self = _self // overrides; _self = with self; {
   };
 
   Later = buildPerlPackage rec {
-    version = "0.19";
+    version = "0.21";
     name = "Object-Realize-Later-${version}";
     src = fetchurl {
       url = "mirror://cpan/authors/id/M/MA/MARKOV/${name}.tar.gz";
-      sha256 = "0ka0qar51kk5wlvd2s3yis3w9qc14h0ngn0ds0v6c8ssmjvfcgbz";
+      sha256 = "1nfqssld7pcdw9sj4mkfnh75w51wl14i1h7npj9fld4fri09cywg";
     };
   };
 
@@ -7733,7 +8285,7 @@ let self = _self // overrides; _self = with self; {
       sha256 = "5731e6833b32d88e4a5c690e45ddf20fcf969ce3da666c5627d775e92da0cf6e";
     };
     outputs = [ "out" ];
-    buildInputs = [ ApacheTest ExtUtilsXSBuilder mod_perl2 pkgs.apacheHttpd pkgs.apr pkgs.aprutil ];
+    buildInputs = [ pkgs.apacheHttpd pkgs.apr pkgs.aprutil ApacheTest ExtUtilsXSBuilder ];
     propagatedBuildInputs = [ mod_perl2 ];
     makeMakerFlags = "--with-apache2-src=${pkgs.apacheHttpd.dev} --with-apache2-apxs=${pkgs.apacheHttpd.dev}/bin/apxs --with-apache2-httpd=${pkgs.apacheHttpd.out}/bin/httpd --with-apr-config=${pkgs.apr.dev}/bin/apr-1-config --with-apu-config=${pkgs.aprutil.dev}/bin/apu-1-config";
     preConfigure = ''
@@ -7759,10 +8311,10 @@ let self = _self // overrides; _self = with self; {
   libintlperl = pkgs.perlPackages.libintl_perl;
 
   libintl_perl = buildPerlPackage rec {
-    name = "libintl-perl-1.23";
+    name = "libintl-perl-1.29";
     src = fetchurl {
-      url = mirror://cpan/authors/id/G/GU/GUIDO/libintl-perl-1.23.tar.gz;
-      sha256 = "1ylz6yhjifblhmnva0k05ch12a4cdii5v0icah69ma1gdhsidnk0";
+      url = mirror://cpan/authors/id/G/GU/GUIDO/libintl-perl-1.29.tar.gz;
+      sha256 = "1cgvrgh4axd8jlr6497ndgphgvgnqc1axd306460hskdvc85z4vq";
     };
     meta = {
       maintainers = with maintainers; [ ];
@@ -7770,11 +8322,11 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
-  libnet = buildPerlPackage rec {
-    name = "libnet-3.08";
+  libnet = buildPerlPackage {
+    name = "libnet-3.11";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/S/SH/SHAY/${name}.tar.gz";
-      sha256 = "21ebae642b53336576c370989d238cbe74378944079aca6f97665158c9f1750b";
+      url = mirror://cpan/authors/id/S/SH/SHAY/libnet-3.11.tar.gz;
+      sha256 = "1lsj3a2vbryh85mbb6yddyb2zjv5vs88fdj5x3v7fp2ndr6ixarg";
     };
     meta = {
       description = "Collection of network protocol modules";
@@ -7782,20 +8334,33 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
+  librelative = buildPerlPackage rec {
+     name = "lib-relative-0.002";
+     src = fetchurl {
+       url = mirror://cpan/authors/id/D/DB/DBOOK/lib-relative-0.002.tar.gz;
+       sha256 = "1i51qa22lgm1gpakn1vy4sf574fsmz141dx90i6pq84w9hc9xbry";
+     };
+     meta = {
+       description = "Add paths relative to the current file to @INC";
+       license = with stdenv.lib.licenses; [ artistic2 ];
+       homepage = "https://github.com/Grinnz/lib-relative";
+     };
+  };
+
   libxml_perl = buildPerlPackage rec {
     name = "libxml-perl-0.08";
     src = fetchurl {
       url = "mirror://cpan/authors/id/K/KM/KMACLEOD/${name}.tar.gz";
       sha256 = "1jy9af0ljyzj7wakqli0437zb2vrbplqj4xhab7bfj2xgfdhawa5";
     };
-    propagatedBuildInputs = [XMLParser];
+    propagatedBuildInputs = [ XMLParser ];
   };
 
   LinguaENFindNumber = buildPerlPackage {
-    name = "Lingua-EN-FindNumber-1.31";
+    name = "Lingua-EN-FindNumber-1.32";
     src = fetchurl {
-      url = mirror://cpan/authors/id/N/NE/NEILB/Lingua-EN-FindNumber-1.31.tar.gz;
-      sha256 = "f67f4d4983bd29da5cbbff3cb18dd70788692b35e2dabcd4c65bef1cd2bf658f";
+      url = mirror://cpan/authors/id/N/NE/NEILB/Lingua-EN-FindNumber-1.32.tar.gz;
+      sha256 = "1d176d1c863fb9844bd19d2c2a4e68a0ed73da158f724a89405b90db7e8dbd04";
     };
     propagatedBuildInputs = [ LinguaENWords2Nums ];
     meta = {
@@ -7806,10 +8371,10 @@ let self = _self // overrides; _self = with self; {
   };
 
   LinguaENInflect = buildPerlPackage rec {
-    name = "Lingua-EN-Inflect-1.899";
+    name = "Lingua-EN-Inflect-1.903";
     src = fetchurl {
       url = "mirror://cpan/authors/id/D/DC/DCONWAY/${name}.tar.gz";
-      sha256 = "1599a93020a2fdc0de8db14eea721df8fd772f78dedaf81081081fc93aa6a257";
+      sha256 = "fcef4b67b04cc39e427b2d70e7c5b24195edd0ed88dd705a08ecd5cd830b0d49";
     };
     meta = {
       description = "Convert singular to plural. Select 'a' or 'an'";
@@ -7832,13 +8397,13 @@ let self = _self // overrides; _self = with self; {
   };
 
   LinguaENInflectPhrase = buildPerlPackage rec {
-    name = "Lingua-EN-Inflect-Phrase-0.18";
+    name = "Lingua-EN-Inflect-Phrase-0.20";
     src = fetchurl {
       url = "mirror://cpan/authors/id/R/RK/RKITOVER/${name}.tar.gz";
-      sha256 = "290a5b8fc2be28d6d479517655027a90e944476cb3552f10cbf6db37af79f9a6";
+      sha256 = "55058911a99f1755de3eb449a99ffbeb92d88c01ff5dc60511a24679050ddea8";
     };
     buildInputs = [ TestNoWarnings ];
-    propagatedBuildInputs = [ LinguaENFindNumber LinguaENInflect LinguaENInflectNumber LinguaENNumberIsOrdinal LinguaENTagger ];
+    propagatedBuildInputs = [ LinguaENInflectNumber LinguaENNumberIsOrdinal LinguaENTagger ];
     meta = {
       homepage = https://metacpan.org/release/Lingua-EN-Inflect-Phrase;
       description = "Inflect short English Phrases";
@@ -7862,12 +8427,12 @@ let self = _self // overrides; _self = with self; {
   };
 
   LinguaENTagger = buildPerlPackage {
-    name = "Lingua-EN-Tagger-0.24";
+    name = "Lingua-EN-Tagger-0.28";
     src = fetchurl {
-      url = mirror://cpan/authors/id/A/AC/ACOBURN/Lingua-EN-Tagger-0.24.tar.gz;
-      sha256 = "0qksqh1zi8fz76a29s2ll4g6yr8y6agmzgq7ngccvgj3gza5q241";
+      url = mirror://cpan/authors/id/A/AC/ACOBURN/Lingua-EN-Tagger-0.28.tar.gz;
+      sha256 = "1rm223d871s150dgnhbar71w56bim950cp45f0904w6px5fifcqa";
     };
-    propagatedBuildInputs = [ HTMLParser HTMLTagset LinguaStem /* MemoizeExpireLRU */ ];
+    propagatedBuildInputs = [ HTMLParser LinguaStem MemoizeExpireLRU ];
     meta = {
       description = "Part-of-speech tagger for English natural language processing";
       license = stdenv.lib.licenses.gpl3;
@@ -7886,25 +8451,97 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
-  LinguaStem = buildPerlPackage rec {
+  LinguaPTStemmer = buildPerlPackage rec {
+     name = "Lingua-PT-Stemmer-0.02";
+     src = fetchurl {
+       url = mirror://cpan/authors/id/N/NE/NEILB/Lingua-PT-Stemmer-0.02.tar.gz;
+       sha256 = "17c48sfbgwd2ivlgf59sr6jdhwa3aim8750f8pyzz7xpi8gz0var";
+     };
+     meta = {
+       description = "Portuguese language stemming";
+       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+       homepage = "https://github.com/neilb/Lingua-PT-Stemmer";
+     };
+  };
+
+  LinguaStem = buildPerlModule rec {
     name = "Lingua-Stem-0.84";
     src = fetchurl {
-      url = "mirror://cpan/modules/by-module/Lingua/${name}.tar.gz";
+      url = mirror://cpan/authors/id/S/SN/SNOWHARE/Lingua-Stem-0.84.tar.gz;
       sha256 = "12avh2mnnc7llmmshrr5bgb473fvydxnlqrqbl2815mf2dp4pxcg";
     };
     doCheck = false;
+    propagatedBuildInputs = [ LinguaPTStemmer LinguaStemFr LinguaStemIt LinguaStemRu LinguaStemSnowballDa SnowballNorwegian SnowballSwedish TextGerman ];
+  };
+
+  LinguaStemFr = buildPerlPackage rec {
+     name = "Lingua-Stem-Fr-0.02";
+     src = fetchurl {
+       url = mirror://cpan/authors/id/S/SD/SDP/Lingua-Stem-Fr-0.02.tar.gz;
+       sha256 = "0vyrspwzaqjxm5mqshf4wvwa3938mkajd1918d9ii2l9m2rn8kwx";
+     };
+     meta = {
+     };
+  };
+
+  LinguaStemIt = buildPerlPackage rec {
+     name = "Lingua-Stem-It-0.02";
+     src = fetchurl {
+       url = mirror://cpan/authors/id/A/AC/ACALPINI/Lingua-Stem-It-0.02.tar.gz;
+       sha256 = "1207r183s5hlh4mfwa6p46vzm0dhvrs2dnss5s41a0gyfkxp7riq";
+     };
+     meta = {
+     };
+  };
+
+  LinguaStemRu = buildPerlPackage rec {
+     name = "Lingua-Stem-Ru-0.04";
+     src = fetchurl {
+       url = mirror://cpan/authors/id/N/NE/NEILB/Lingua-Stem-Ru-0.04.tar.gz;
+       sha256 = "0a2jmdz7jn32qj5hyiw5kbv8fvlpmws8i00a6xcbkzb48yvwww0j";
+     };
+     meta = {
+       description = "Porter's stemming algorithm for Russian (KOI8-R only)";
+       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+       homepage = "https://github.com/neilb/Lingua-Stem-Ru";
+     };
+  };
+
+  LinguaStemSnowballDa = buildPerlPackage rec {
+     name = "Lingua-Stem-Snowball-Da-1.01";
+     src = fetchurl {
+       url = mirror://cpan/authors/id/C/CI/CINE/Lingua-Stem-Snowball-Da-1.01.tar.gz;
+       sha256 = "0mm0m7glm1s6i9f6a78jslw6wh573208arxhq93yriqmw17bwf9f";
+     };
+     meta = {
+     };
   };
 
   LinguaTranslit = buildPerlPackage rec {
-    name = "Lingua-Translit-0.26";
+    name = "Lingua-Translit-0.28";
     src = fetchurl {
       url = "mirror://cpan/authors/id/A/AL/ALINKE/${name}.tar.gz";
-      sha256 = "2430b5c84927f15570533eb68c56958c580f16044fc413d48bf44f0460422598";
+      sha256 = "113f91d8fc2c630437153a49fb7a52b023af8f6278ed96c070b1f60824b8eae1";
     };
     doCheck = false;
   };
 
-  LinuxDistribution = buildPerlPackage {
+  LinuxACL = buildPerlPackage rec {
+    name = "Linux-ACL-0.05";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/N/NA/NAZAROV/${name}.tar.gz";
+      sha256 = "312940c1f60f47c4fc93fa0a9d2a626425faa837040c8c2f1ad58ee09f62f371";
+    };
+    buildInputs = [ pkgs.acl ];
+    NIX_CFLAGS_LINK = "-L${pkgs.acl.out}/lib -lacl";
+    meta = {
+      maintainers = [ maintainers.limeytexan ];
+      description = "Perl extension for reading and setting Access Control Lists for files by libacl linux library";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+    };
+  };
+
+  LinuxDistribution = buildPerlModule {
     name = "Linux-Distribution-0.23";
     src = fetchurl {
       url = mirror://cpan/authors/id/C/CH/CHORNY/Linux-Distribution-0.23.tar.gz;
@@ -7922,20 +8559,19 @@ let self = _self // overrides; _self = with self; {
   LinuxInotify2 = buildPerlPackage rec {
     name = "Linux-Inotify2-1.22";
     src = fetchurl {
-      url = "mirror://cpan/modules/by-module/Linux/${name}.tar.gz";
+      url = mirror://cpan/authors/id/M/ML/MLEHMANN/Linux-Inotify2-1.22.tar.gz;
       sha256 = "1l916p8xak6c51x4x1vrzd8wpi55bld74wf0p5w5m4vr80zjb7dw";
     };
     propagatedBuildInputs = [ commonsense ];
   };
 
   ListAllUtils = buildPerlPackage {
-    name = "List-AllUtils-0.09";
+    name = "List-AllUtils-0.14";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DR/DROLSKY/List-AllUtils-0.09.tar.gz;
-      sha256 = "4cfe6359cc6c9f4ba0d178e223f4b468d3cf7768d645334962f05de069bdaee2";
+      url = mirror://cpan/authors/id/D/DR/DROLSKY/List-AllUtils-0.14.tar.gz;
+      sha256 = "e45aa65927ae1975a000cc2fed14274627fa5e2bd09bab826a5f2c41d17ef6cd";
     };
-    buildInputs = [ TestWarnings ];
-    propagatedBuildInputs = [ ListMoreUtils ];
+    propagatedBuildInputs = [ ListSomeUtils ListUtilsBy ScalarListUtils ];
     meta = {
       description = "Combines List::Util and List::MoreUtils in one bite-sized package";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
@@ -7952,28 +8588,60 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
+  ListCompare = buildPerlPackage rec {
+    name = "List-Compare-0.53";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/J/JK/JKEENAN/${name}.tar.gz";
+      sha256 = "fdbf4ff67b3135d44475fef7fcac0cd4706407d5720d26dca914860eb10f8550";
+    };
+    buildInputs = [ IOCaptureOutput ];
+    meta = {
+      homepage = http://thenceforward.net/perl/modules/List-Compare/;
+      description = "Compare elements of two or more lists";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+    };
+  };
+
   ListMoreUtils = buildPerlPackage rec {
-    name = "List-MoreUtils-0.413";
+    name = "List-MoreUtils-0.428";
     src = fetchurl {
       url = "mirror://cpan/authors/id/R/RE/REHSACK/${name}.tar.gz";
-      sha256 = "4d6429d5672ce74a59d6490320252cb8b5b8285db8fe9c6551a4162e5375ef37";
+      sha256 = "713e0945d5f16e62d81d5f3da2b6a7b14a4ce439f6d3a7de74df1fd166476cc2";
     };
-    propagatedBuildInputs = [ ExporterTiny ];
+    propagatedBuildInputs = [ ExporterTiny ListMoreUtilsXS ];
     meta = {
       homepage = https://metacpan.org/release/List-MoreUtils;
       description = "Provide the stuff missing in List::Util";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
+    buildInputs = [ TestLeakTrace ];
+  };
+
+  ListMoreUtilsXS = buildPerlPackage rec {
+     name = "List-MoreUtils-XS-0.428";
+     src = fetchurl {
+       url = mirror://cpan/authors/id/R/RE/REHSACK/List-MoreUtils-XS-0.428.tar.gz;
+       sha256 = "0bfndmnkqaaf3gffprak143bzplxd69c368jxgr7rzlx88hyd7wx";
+     };
+     preConfigure = ''
+       export LD=$CC
+     '';
+     propagatedBuildInputs = [ XSLoader ];
+     meta = {
+       description = "Provide the stuff missing in List::Util in XS";
+       license = with stdenv.lib.licenses; [ asl20 ];
+       homepage = "https://metacpan.org/release/List-MoreUtils-XS";
+     };
   };
 
   ListSomeUtils = buildPerlPackage rec {
-    name = "List-SomeUtils-0.52";
+    name = "List-SomeUtils-0.56";
     src = fetchurl {
       url = "mirror://cpan/authors/id/D/DR/DROLSKY/${name}.tar.gz";
-      sha256 = "1e8c900332ac08c314b78ca1b0d23aba28c146b6133606a817d828d5bd0485ac";
+      sha256 = "eaa7d99ce86380c0389876474c8eb84acc0a6bfeef1b0fc23a292592de6f89f7";
     };
     buildInputs = [ TestLeakTrace ];
-    propagatedBuildInputs = [ ExporterTiny ModuleImplementation ];
+    propagatedBuildInputs = [ ModuleImplementation ];
     meta = {
       homepage = https://metacpan.org/release/List-SomeUtils;
       description = "Provide the stuff missing in List::Util";
@@ -7981,11 +8649,11 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
-  ListUtilsBy = buildPerlPackage rec {
-    name = "List-UtilsBy-0.09";
+  ListUtilsBy = buildPerlModule rec {
+    name = "List-UtilsBy-0.11";
     src = fetchurl {
-      url = mirror://cpan/authors/id/P/PE/PEVANS/List-UtilsBy-0.09.tar.gz;
-      sha256 = "1xcsgz8898h670zmwqd8azfn3a2y9nq7z8cva9dsyhzkk8ajmra1";
+      url = mirror://cpan/authors/id/P/PE/PEVANS/List-UtilsBy-0.11.tar.gz;
+      sha256 = "0nkpylkqccxanr8wc7j9wg6jdrizybjjd6p8q3jbh7f29cxz9pgs";
     };
     meta = {
       maintainers = with maintainers; [ ];
@@ -7994,10 +8662,10 @@ let self = _self // overrides; _self = with self; {
   };
 
   LocaleCodes = buildPerlPackage {
-    name = "Locale-Codes-3.35";
+    name = "Locale-Codes-3.56";
     src = fetchurl {
-      url = mirror://cpan/authors/id/S/SB/SBECK/Locale-Codes-3.35.tar.gz;
-      sha256 = "b1a2f944b03972d2b7282767cf88100e3c0d7daa3f4ca7aef8460c1c5e246480";
+      url = mirror://cpan/authors/id/S/SB/SBECK/Locale-Codes-3.56.tar.gz;
+      sha256 = "d82f3340ecb7f8700493df0273dede0c049fbc44c2fe1e811fc6c5a79b79ae79";
     };
     meta = {
       description = "A distribution of modules to handle locale codes";
@@ -8006,21 +8674,34 @@ let self = _self // overrides; _self = with self; {
   };
 
   LocaleGettext = buildPerlPackage {
-    name = "LocaleGettext-1.05";
-    buildInputs = stdenv.lib.optional (stdenv.isFreeBSD || stdenv.isDarwin || stdenv.isCygwin) pkgs.gettext;
-    NIX_CFLAGS_LINK = stdenv.lib.optional (stdenv.isFreeBSD || stdenv.isDarwin || stdenv.isCygwin) "-lintl";
+    name = "gettext-1.07";
+    buildInputs = [ pkgs.gettext ];
     src = fetchurl {
-      url = mirror://cpan/authors/id/P/PV/PVANDRY/gettext-1.05.tar.gz;
-      sha256 = "15262a00vx714szpx8p2z52wxkz46xp7acl72znwjydyq4ypydi7";
+      url = mirror://cpan/authors/id/P/PV/PVANDRY/gettext-1.07.tar.gz;
+      sha256 = "05cwqjxxary11di03gg3fm6j9lbvg1dr2wpr311c1rwp8salg7ch";
     };
     LANG="C";
   };
 
+  LocaleMOFile = buildPerlPackage rec {
+     name = "Locale-MO-File-0.08";
+     src = fetchurl {
+       url = mirror://cpan/authors/id/S/ST/STEFFENW/Locale-MO-File-0.08.tar.gz;
+       sha256 = "1flpk7jdn5cp7pld3f0vi3v5527p76jp1fqp4pzrhhqjlhyp3im4";
+     };
+     propagatedBuildInputs = [ ConstFast MooXStrictConstructor MooXTypesMooseLike ParamsValidate namespaceautoclean ];
+     buildInputs = [ TestDifferences TestException TestHexDifferences TestNoWarnings ];
+     meta = {
+       description = "Locale::MO::File - Write or read gettext MO files.";
+       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+     };
+  };
+
   LocaleMaketext = buildPerlPackage {
-    name = "Locale-Maketext-1.23";
+    name = "Locale-Maketext-1.28";
     src = fetchurl {
-      url = mirror://cpan/authors/id/T/TO/TODDR/Locale-Maketext-1.23.tar.gz;
-      sha256 = "1r1sq7djafvk5abzc4l068p39dz44hlpgdldj3igvn2bjz78cli1";
+      url = mirror://cpan/authors/id/T/TO/TODDR/Locale-Maketext-1.28.tar.gz;
+      sha256 = "1sgpcnh9kqdnsizpwxzsyfv44id7gxsgkd9bmnhmj4g8hfs9712p";
     };
   };
 
@@ -8070,10 +8751,10 @@ let self = _self // overrides; _self = with self; {
   };
 
   LocalePO = buildPerlPackage {
-    name = "Locale-PO-0.23";
+    name = "Locale-PO-0.27";
     src = fetchurl {
-      url = mirror://cpan/authors/id/C/CO/COSIMO/Locale-PO-0.23.tar.gz;
-      sha256 = "52e5fdc88ec4eb00512418a938dc5089476ea66c9e744fee3c6bbfdf17a0d302";
+      url = mirror://cpan/authors/id/C/CO/COSIMO/Locale-PO-0.27.tar.gz;
+      sha256 = "3c994a4b63e6e4e836c6f79a93f51921cab77c90c9753fe0f8b5429220d516b9";
     };
     propagatedBuildInputs = [ FileSlurp ];
     meta = {
@@ -8084,16 +8765,87 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
+  LocaleTextDomainOO = buildPerlPackage rec {
+     name = "Locale-TextDomain-OO-1.033";
+     src = fetchurl {
+       url = mirror://cpan/authors/id/S/ST/STEFFENW/Locale-TextDomain-OO-1.033.tar.gz;
+       sha256 = "1nkjncwa5kg7avrly0ldfxijgkrjgwj3rggb2r6mi72h427xwjic";
+     };
+     propagatedBuildInputs = [ ClassLoad Clone JSON LocaleMOFile LocalePO LocaleTextDomainOOUtil LocaleUtilsPlaceholderBabelFish LocaleUtilsPlaceholderMaketext LocaleUtilsPlaceholderNamed MooXSingleton PathTiny TieSub ];
+     buildInputs = [ TestDifferences TestException TestNoWarnings ];
+     meta = {
+       description = "Locale::TextDomain::OO - Perl OO Interface to Uniforum Message Translation";
+       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+     };
+  };
+
+  LocaleTextDomainOOUtil = buildPerlPackage rec {
+     name = "Locale-TextDomain-OO-Util-3.008";
+     src = fetchurl {
+       url = mirror://cpan/authors/id/S/ST/STEFFENW/Locale-TextDomain-OO-Util-3.008.tar.gz;
+       sha256 = "1kj633apv20ah5nazjlig4w25l021lvmlb6a6fhwrixis08mdqxb";
+     };
+     propagatedBuildInputs = [ namespaceautoclean ];
+     buildInputs = [ TestDifferences TestException TestNoWarnings ];
+     meta = {
+       description = "Locale::TextDomain::OO::Util - Lexicon utils";
+       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+     };
+  };
+
+  LocaleUtilsPlaceholderBabelFish = buildPerlPackage rec {
+     name = "Locale-Utils-PlaceholderBabelFish-0.006";
+     src = fetchurl {
+       url = mirror://cpan/authors/id/S/ST/STEFFENW/Locale-Utils-PlaceholderBabelFish-0.006.tar.gz;
+       sha256 = "1k54njj8xz19c8bjb0iln1mnfq55j3pvbff7samyrab3k59h071f";
+     };
+     propagatedBuildInputs = [ HTMLParser MooXStrictConstructor MooXTypesMooseLike namespaceautoclean ];
+     buildInputs = [ TestDifferences TestException TestNoWarnings ];
+     meta = {
+       description = "Locale::Utils::PlaceholderBabelFish - Utils to expand BabelFish palaceholders";
+       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+     };
+  };
+
+  LocaleUtilsPlaceholderMaketext = buildPerlPackage rec {
+     name = "Locale-Utils-PlaceholderMaketext-1.005";
+     src = fetchurl {
+       url = mirror://cpan/authors/id/S/ST/STEFFENW/Locale-Utils-PlaceholderMaketext-1.005.tar.gz;
+       sha256 = "1srlbp8sfnzhndgh9s4d8bglpzw0vb8gnab9r8r8sggkv15n0a2h";
+     };
+     propagatedBuildInputs = [ MooXStrictConstructor MooXTypesMooseLike namespaceautoclean ];
+     buildInputs = [ TestDifferences TestException TestNoWarnings ];
+     meta = {
+       description = "Locale::Utils::PlaceholderMaketext - Utils to expand maketext placeholders";
+       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+     };
+  };
+
+  LocaleUtilsPlaceholderNamed = buildPerlPackage rec {
+     name = "Locale-Utils-PlaceholderNamed-1.004";
+     src = fetchurl {
+       url = mirror://cpan/authors/id/S/ST/STEFFENW/Locale-Utils-PlaceholderNamed-1.004.tar.gz;
+       sha256 = "1gd68lm5w5c6ndcilx91rn84zviqyrk3fx92jjx5khxm76i8xmvg";
+     };
+     propagatedBuildInputs = [ MooXStrictConstructor MooXTypesMooseLike namespaceautoclean ];
+     buildInputs = [ TestDifferences TestException TestNoWarnings ];
+     meta = {
+       description = "Locale::Utils::PlaceholderNamed - Utils to expand named placeholders";
+       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+     };
+  };
+
   locallib = buildPerlPackage rec {
-    name = "local-lib-2.000019";
+    name = "local-lib-2.000024";
     src = fetchurl {
       url = "mirror://cpan/authors/id/H/HA/HAARG/${name}.tar.gz";
-      sha256 = "008b9kgvcs9vjvj7ifg0f1s7i7446ff2441c575vhrwn15x35b9n";
+      sha256 = "01cav7m6qc1x96wna1viiw6n212f94ks7cik4vj1a1lasixr36rf";
     };
     meta = {
       description = "Create and use a local lib/ for perl modules with PERL5LIB";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
+    propagatedBuildInputs = [ ModuleBuild ];
   };
 
   LockFileSimple = buildPerlPackage rec {
@@ -8136,27 +8888,27 @@ let self = _self // overrides; _self = with self; {
   };
 
   LogDispatch = buildPerlPackage {
-    name = "Log-Dispatch-2.41";
+    name = "Log-Dispatch-2.67";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DR/DROLSKY/Log-Dispatch-2.41.tar.gz;
-      sha256 = "0vsmlkx2g9lc13pl9v96kn575yszfvd79a236b8v0s1di83gm09z";
+      url = mirror://cpan/authors/id/D/DR/DROLSKY/Log-Dispatch-2.67.tar.gz;
+      sha256 = "017ks3i0k005dqz7fz53w7x35csqqlr4vfb95c0ijdablajs4kd9";
     };
-    propagatedBuildInputs = [ ClassLoad ParamsValidate ];
+    propagatedBuildInputs = [ DevelGlobalDestruction ParamsValidationCompiler Specio namespaceautoclean ];
     meta = {
       description = "Dispatches messages to one or more outputs";
       license = stdenv.lib.licenses.artistic2;
       maintainers = with maintainers; [ ];
       platforms   = stdenv.lib.platforms.unix;
     };
+    buildInputs = [ IPCRun3 TestFatal TestNeeds ];
   };
 
-  LogHandler = buildPerlPackage rec {
+  LogHandler = buildPerlModule rec {
     name = "Log-Handler-0.88";
     src = fetchurl {
       url = "mirror://cpan/authors/id/B/BL/BLOONIX/${name}.tar.gz";
       sha256 = "45bf540ab2138ed3ff93afc205b0516dc75755b86acdcc5e75c41347833c293d";
     };
-    buildInputs = [ ModuleBuild ];
     propagatedBuildInputs = [ ParamsValidate ];
     meta = {
       description = "Log messages to several outputs";
@@ -8171,21 +8923,46 @@ let self = _self // overrides; _self = with self; {
       url = mirror://cpan/authors/id/B/BI/BINGOS/Log-Message-0.08.tar.gz;
       sha256 = "bd697dd62aaf26d118e9f0a0813429deb1c544e4501559879b61fcbdfe99fe46";
     };
-    propagatedBuildInputs = [ if_ ];
     meta = {
       description = "Powerful and flexible message logging mechanism";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
+  LogMessageSimple = buildPerlPackage rec {
+     name = "Log-Message-Simple-0.10";
+     src = fetchurl {
+       url = mirror://cpan/authors/id/B/BI/BINGOS/Log-Message-Simple-0.10.tar.gz;
+       sha256 = "15nxi935nfrf8dkdrgvcrf2qlai4pbz03yj8sja0n9mcq2jd24ma";
+     };
+     propagatedBuildInputs = [ LogMessage ];
+     meta = {
+       description = "Simplified interface to Log::Message";
+       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+     };
+  };
+
   LogTrace = buildPerlPackage rec {
     name = "Log-Trace-1.070";
     src = fetchurl {
-      url = "mirror://cpan/modules/by-module/Log/${name}.tar.gz";
+      url = mirror://cpan/authors/id/B/BB/BBC/Log-Trace-1.070.tar.gz;
       sha256 = "1qrnxn9b05cqyw1286djllnj8wzys10754glxx6z5hihxxc85jwy";
     };
   };
 
+  MCE = buildPerlPackage rec {
+     name = "MCE-1.835";
+     src = fetchurl {
+       url = mirror://cpan/authors/id/M/MA/MARIOROY/MCE-1.835.tar.gz;
+       sha256 = "1dxs7gvj97vr1ns74k3inix1i80d8b2j942crnapdx9j90j6cqvi";
+     };
+     meta = {
+       description = "Many-Core Engine for Perl providing parallel processing capabilities";
+       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+       homepage = "https://github.com/marioroy/mce-perl";
+     };
+  };
+
   LogLog4perl = buildPerlPackage rec {
     name = "Log-Log4perl-1.49";
     src = fetchurl {
@@ -8219,13 +8996,13 @@ let self = _self // overrides; _self = with self; {
   };
 
   LogDispatchouli = buildPerlPackage rec {
-    name = "Log-Dispatchouli-2.012";
+    name = "Log-Dispatchouli-2.016";
     src = fetchurl {
       url = "mirror://cpan/authors/id/R/RJ/RJBS/${name}.tar.gz";
-      sha256 = "214eca0fe77f2dc74675f9aa542778d5d4618c5bf12283540ca1062fcb967fa0";
+      sha256 = "7f2a1a1854fd1e4ed02883bc21f5395f4244a266b661276b438d1bdd50bdacf7";
     };
     buildInputs = [ TestDeep TestFatal ];
-    propagatedBuildInputs = [ LogDispatch LogDispatchArray ParamsUtil StringFlogger SubExporter SubExporterGlobExporter TryTiny ];
+    propagatedBuildInputs = [ LogDispatchArray StringFlogger SubExporterGlobExporter ];
     meta = {
       homepage = https://github.com/rjbs/Log-Dispatchouli;
       description = "A simple wrapper around Log::Dispatch";
@@ -8247,17 +9024,18 @@ let self = _self // overrides; _self = with self; {
   };
 
   LWP = buildPerlPackage rec {
-    name = "libwww-perl-6.15";
+    name = "libwww-perl-6.33";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/E/ET/ETHER/${name}.tar.gz";
-      sha256 = "6f349d45c21b1ec0501c4437dfcb70570940e6c3d5bff783bd91d4cddead8322";
+      url = mirror://cpan/authors/id/O/OA/OALDERS/libwww-perl-6.33.tar.gz;
+      sha256 = "97417386f11f007ae129fe155b82fd8969473ce396a971a664c8ae6850c69b99";
     };
-    propagatedBuildInputs = [ EncodeLocale FileListing HTMLParser HTTPCookies HTTPDaemon HTTPDate HTTPMessage HTTPNegotiate LWPMediaTypes NetHTTP URI WWWRobotRules ];
+    propagatedBuildInputs = [ FileListing HTMLParser HTTPCookies HTTPDaemon HTTPNegotiate NetHTTP TryTiny WWWRobotRules ];
     meta = with stdenv.lib; {
       description = "The World-Wide Web library for Perl";
       license = with licenses; [ artistic1 gpl1Plus ];
       platforms = platforms.unix;
     };
+    buildInputs = [ TestFatal TestRequiresInternet ];
   };
 
   LWPAuthenOAuth = buildPerlPackage rec {
@@ -8266,7 +9044,7 @@ let self = _self // overrides; _self = with self; {
       url = "mirror://cpan/authors/id/T/TI/TIMBRODY/${name}.tar.gz";
       sha256 = "e78e0bd7de8002cfb4760073258d555ef55b2c27c07a94b3d8a2166a17fd96bc";
     };
-    propagatedBuildInputs = [ LWP URI ];
+    propagatedBuildInputs = [ LWP ];
     meta = {
       description = "Generate signed OAuth requests";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
@@ -8294,7 +9072,7 @@ let self = _self // overrides; _self = with self; {
       sha256 = "9f252394775e23aa42c3176611e5930638ab528d5190110b4731aa5b0bf35a15";
     };
     buildInputs = [ TestException ];
-    propagatedBuildInputs = [ HTTPMessage IOSocketSSL LWP LWPProtocolhttps URI ];
+    propagatedBuildInputs = [ LWPProtocolHttps ];
     meta = {
       description = "Provides HTTP/CONNECT proxy support for LWP::UserAgent";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
@@ -8304,39 +9082,42 @@ let self = _self // overrides; _self = with self; {
   LWPProtocolhttps = pkgs.perlPackages.LWPProtocolHttps;
 
   LWPProtocolHttps = buildPerlPackage rec {
-    name = "LWP-Protocol-https-6.04";
+    name = "LWP-Protocol-https-6.07";
     src = fetchurl {
-      url = mirror://cpan/authors/id/G/GA/GAAS/LWP-Protocol-https-6.04.tar.gz;
-      sha256 = "0agnga5dg94222h6rlzqxa0dri2sh3gayncvfb7jad9nxr87gxhy";
+      url = mirror://cpan/authors/id/O/OA/OALDERS/LWP-Protocol-https-6.07.tar.gz;
+      sha256 = "1rxrpwylfw1afah0nk96kgkwjbl2p1a7lwx50iipg8c4rx3cjb2j";
     };
     patches = [ ../development/perl-modules/lwp-protocol-https-cert-file.patch ];
-    propagatedBuildInputs = [ LWP IOSocketSSL ];
+    propagatedBuildInputs = [ IOSocketSSL LWP MozillaCA ];
     doCheck = false; # tries to connect to https://www.apache.org/.
     meta = {
       description = "Provide https support for LWP::UserAgent";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
       platforms = with stdenv.lib.platforms; linux ++ darwin;
     };
+    buildInputs = [ TestRequiresInternet ];
   };
 
-  LWPUserAgent = buildPerlPackage {
-    name = "LWP-UserAgent-6.05";
-    src = fetchurl {
-      url = mirror://cpan/authors/id/G/GA/GAAS/libwww-perl-6.05.tar.gz;
-      sha256 = "08wgwyz7748pv5cyngxia0xl6nragfnhrp4p9s78xhgfyygpj9bv";
-    };
-    propagatedBuildInputs = [ EncodeLocale FileListing HTMLParser HTTPCookies HTTPDaemon HTTPDate HTTPNegotiate HTTPMessage LWPMediaTypes NetHTTP URI WWWRobotRules ];
-    meta = {
-      description = "The World-Wide Web library for Perl";
-      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
-    };
+  LWPProtocolhttp10 = buildPerlPackage rec {
+     name = "LWP-Protocol-http10-6.03";
+     src = fetchurl {
+       url = mirror://cpan/authors/id/G/GA/GAAS/LWP-Protocol-http10-6.03.tar.gz;
+       sha256 = "1lxq40qfwfai9ryhzhsdnycc4189c8kfl43rf7qq34fmz48skzzk";
+     };
+     propagatedBuildInputs = [ LWP ];
+     meta = {
+       description = "Legacy HTTP/1.0 support for LWP";
+       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+     };
   };
 
+  LWPUserAgent = LWP;
+
   LWPUserAgentDetermined = buildPerlPackage {
-    name = "LWP-UserAgent-Determined-1.06";
+    name = "LWP-UserAgent-Determined-1.07";
     src = fetchurl {
-      url = mirror://cpan/authors/id/J/JE/JESSE/LWP-UserAgent-Determined-1.06.tar.gz;
-      sha256 = "c31d8e16dc92e2113c81cdbfb11149cfd19039e789f77cd34333ac9184346fc5";
+      url = mirror://cpan/authors/id/A/AL/ALEXMV/LWP-UserAgent-Determined-1.07.tar.gz;
+      sha256 = "06d8d50e8cd3692a11cb4fb44a2f84e5476a98f0e2e6a4a0dfce9f67e55ddb53";
     };
     propagatedBuildInputs = [ LWP ];
     meta = {
@@ -8345,13 +9126,13 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
-  LWPUserAgentMockable = buildPerlPackage {
-    name = "LWP-UserAgent-Mockable-1.10";
+  LWPUserAgentMockable = buildPerlModule {
+    name = "LWP-UserAgent-Mockable-1.18";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MM/MMORGAN/LWP-UserAgent-Mockable-1.10.tgz;
-      sha256 = "1z89jszgifvjb8irzd8wrzim7l5m4hypdl9mj4dpkb4jm4189kmn";
+      url = mirror://cpan/authors/id/M/MJ/MJEMMESON/LWP-UserAgent-Mockable-1.18.tar.gz;
+      sha256 = "0923ahl22c0gdzrihj7dqnrawia9hmcl462asf4ry8d5wd84z1i5";
     };
-    propagatedBuildInputs = [ LWP HookLexWrap ];
+    propagatedBuildInputs = [ HookLexWrap LWP SafeIsa ];
     meta = {
       maintainers = with maintainers; [ ];
       platforms   = stdenv.lib.platforms.unix;
@@ -8360,13 +9141,14 @@ let self = _self // overrides; _self = with self; {
     # https://rt.cpan.org/Public/Bug/Display.html?id=63966 is the bug upstream,
     # which doesn't look like it will get fixed anytime soon.
     doCheck = false;
+    buildInputs = [ ModuleBuildTiny TestRequiresInternet ];
   };
 
   LWPxParanoidAgent = buildPerlPackage rec {
-    name = "LWPx-ParanoidAgent-1.10";
+    name = "LWPx-ParanoidAgent-1.12";
     src = fetchurl {
       url = "mirror://cpan/authors/id/S/SA/SAXJAZMAN/lwp/${name}.tar.gz";
-      sha256 = "0i306p7mdqx09qfsf6b3rnn5xw9v9r3md4swlbk9z0mskjl0l4w4";
+      sha256 = "0gfhw3jbs25yya2dryv8xvyn9myngcfcmsybj7gkq62fnznil16c";
     };
     doCheck = false; # 3 tests fail, probably because they try to connect to the network
     propagatedBuildInputs = [ LWP NetDNS ];
@@ -8400,24 +9182,16 @@ let self = _self // overrides; _self = with self; {
   };
 
   MailBox = buildPerlPackage rec {
-    version = "2.118";
+    version = "3.005";
     name = "Mail-Box-${version}";
     src = fetchurl {
       url = "mirror://cpan/authors/id/M/MA/MARKOV/${name}.tar.gz";
-      sha256 = "1ixi7xpvj8kn2y0l8rxkvdnnl7x5wqg7mi2av0viwdh5l828dcfc";
+      sha256 = "103v5jiv5mlckss1yardjvil506sx60f3g2ph2kgx9x6sy1sd93m";
     };
 
     doCheck = false;
 
-    propagatedBuildInputs = [
-      Later
-
-      DevelGlobalDestruction
-      FileRemove
-      IOStringy
-      MailTools
-      MIMETypes
-    ];
+    propagatedBuildInputs = [ DevelGlobalDestruction FileRemove Later MailTransport ];
   };
 
   MailMboxMessageParser = buildPerlPackage rec {
@@ -8436,23 +9210,37 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
+  MailMessage = buildPerlPackage rec {
+     name = "Mail-Message-3.006";
+     src = fetchurl {
+       url = mirror://cpan/authors/id/M/MA/MARKOV/Mail-Message-3.006.tar.gz;
+       sha256 = "08bdf06bmxdqbslk3k9av542pjhyw9wx10j79fxz0dwpalimc6zi";
+     };
+     propagatedBuildInputs = [ IOStringy MIMETypes MailTools URI UserIdentity ];
+     meta = {
+       description = "Processing MIME messages";
+       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+     };
+  };
+
   MailDKIM = buildPerlPackage rec {
-    name = "Mail-DKIM-0.40";
+    name = "Mail-DKIM-0.52";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/J/JA/JASLONG/${name}.tar.gz";
-      sha256 = "1wd6mab4fp47v1nh85jfxsjmysnyv5mwvfv47cn5m2h2lb1s0piw";
+      url = mirror://cpan/authors/id/M/MB/MBRADSHAW/Mail-DKIM-0.52.tar.gz;
+      sha256 = "1dbczg7vyvvm12d9gbiqd9a24qg4254cz7bh7yf3p27i58hhpbwy";
     };
-    propagatedBuildInputs = [ CryptOpenSSLRSA NetDNS MailTools ];
+    propagatedBuildInputs = [ CryptOpenSSLRSA MailTools NetDNSResolverMock YAMLLibYAML ];
     doCheck = false; # tries to access the domain name system
+    buildInputs = [ TestRequiresInternet ];
   };
 
   MailIMAPClient = buildPerlPackage {
-    name = "Mail-IMAPClient-3.35";
+    name = "Mail-IMAPClient-3.39";
     src = fetchurl {
-      url = mirror://cpan/authors/id/P/PL/PLOBBES/Mail-IMAPClient-3.35.tar.gz;
-      sha256 = "0qzn8370cr91jnq1kawy6v16bcz49pch6inmw85rhzg87j1h6ica";
+      url = mirror://cpan/authors/id/P/PL/PLOBBES/Mail-IMAPClient-3.39.tar.gz;
+      sha256 = "18sf8fd093qxvflscysm6pv6mj9cmm19zrnfic297jjvgnsgshdm";
     };
-    buildInputs = [ParseRecDescent];
+    propagatedBuildInputs = [ ParseRecDescent ];
   };
 
   MailPOP3Client = buildPerlPackage rec {
@@ -8481,7 +9269,6 @@ let self = _self // overrides; _self = with self; {
       url = "mirror://cpan/authors/id/N/NE/NEILB/Mail-Sendmail-0.80.tar.gz";
       sha256 = "1r38qbkj7jwj8cqy1rnqzkk81psxi08b1aiq392817f3bk5ri2jv";
     };
-    propagatedBuildInputs = [ DigestMD5 MIMEBase64 Socket TimeLocal ];
     # The test suite simply loads the module and attempts to send an email to
     # the module's author, the latter of which is a) more of an integration
     # test, b) impossible to verify, and c) won't work from a sandbox. Replace
@@ -8519,10 +9306,10 @@ let self = _self // overrides; _self = with self; {
 
 
   MailTools = buildPerlPackage rec {
-    name = "MailTools-2.14";
+    name = "MailTools-2.20";
     src = fetchurl {
       url = "mirror://cpan/authors/id/M/MA/MARKOV/${name}.tar.gz";
-      sha256 = "1y6zndb4rsn8i65g1bg3b0zb7966cz83q19zg7m7bvxjfkv7wz2b";
+      sha256 = "15iizg2x1w7ca0r8rn3wwhp7w160ljvf55prspljwd6cm7vhcmpm";
     };
     propagatedBuildInputs = [ TimeDate ];
     meta = {
@@ -8532,10 +9319,23 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
+  MailTransport = buildPerlPackage rec {
+     name = "Mail-Transport-3.002";
+     src = fetchurl {
+       url = mirror://cpan/authors/id/M/MA/MARKOV/Mail-Transport-3.002.tar.gz;
+       sha256 = "0wm4j9w15nsvjxi9x22fn2rnljbffd88v27p0z0305bfg35gh4kg";
+     };
+     propagatedBuildInputs = [ MailMessage ];
+     meta = {
+       description = "Email message exchange";
+       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+     };
+  };
+
   MathLibm = buildPerlPackage rec {
     name = "Math-Libm-1.00";
     src = fetchurl {
-      url = "mirror://cpan/modules/by-module/Math/${name}.tar.gz";
+      url = mirror://cpan/authors/id/D/DS/DSLEWART/Math-Libm-1.00.tar.gz;
       sha256 = "0xn2a950mzzs5q1c4q98ckysn9dz20x7r35g02zvk35chgr0klxz";
     };
   };
@@ -8553,10 +9353,10 @@ let self = _self // overrides; _self = with self; {
   };
 
   MathBigInt = buildPerlPackage rec {
-    name = "Math-BigInt-1.999806";
+    name = "Math-BigInt-1.999811";
     src = fetchurl {
       url = "mirror://cpan/authors/id/P/PJ/PJACKLAM/${name}.tar.gz";
-      sha256 = "9b62b2fcfeed5ef42d375778e4ec3b469cab0002b5dc247906dc99f5786fa1fc";
+      sha256 = "d4bfa5ad0127b6360ad29971da6fa08bcfb56a471d55db3c7419d05f8a947b8d";
     };
     meta = {
       description = "Arbitrary size integer/float math package";
@@ -8565,22 +9365,35 @@ let self = _self // overrides; _self = with self; {
   };
 
   MathBigIntGMP = buildPerlPackage rec {
-    name = "Math-BigInt-GMP-1.38";
+    name = "Math-BigInt-GMP-1.6004";
     src = fetchurl {
       url    = "mirror://cpan/authors/id/P/PJ/PJACKLAM/${name}.tar.gz";
-      sha256 = "05bg10gg3ksn4h08yyyj7f31rqhdqap8d0jsbq61b3x0274wml0s";
+      sha256 = "1wiklyxxpf02c01flymyjqh46lhi0qhkvf14icni8grjgpfjjqi3";
     };
     buildInputs = [ pkgs.gmp ];
     doCheck = false;
     NIX_CFLAGS_COMPILE = "-I${pkgs.gmp.dev}/include";
     NIX_CFLAGS_LINK = "-L${pkgs.gmp.out}/lib -lgmp";
+    propagatedBuildInputs = [ MathBigInt ];
+  };
+
+  MathBigIntLite = buildPerlPackage rec {
+     name = "Math-BigInt-Lite-0.17";
+     src = fetchurl {
+       url = mirror://cpan/authors/id/P/PJ/PJACKLAM/Math-BigInt-Lite-0.17.tar.gz;
+       sha256 = "1pii36cykpja9al6bdnsxn2w0la674qagqcff6lhk9yx6xakycpk";
+     };
+     propagatedBuildInputs = [ MathBigInt ];
+     meta = {
+       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+     };
   };
 
   MathBigRat = buildPerlPackage rec {
-    name = "Math-BigRat-0.2611";
+    name = "Math-BigRat-0.2613";
     src = fetchurl {
       url = "mirror://cpan/authors/id/P/PJ/PJACKLAM/${name}.tar.gz";
-      sha256 = "a8a033d0ccac9ac641c73867d71f2455ecb2339984cd964b1e3cfb2859e9fd81";
+      sha256 = "b893dfe2caf27b233a3678abc39176e706a9b518e8937bc496e46e125e960e22";
     };
     propagatedBuildInputs = [ MathBigInt ];
     meta = {
@@ -8592,11 +9405,11 @@ let self = _self // overrides; _self = with self; {
   MathClipper = buildPerlModule rec {
     name = "Math-Clipper-1.23";
     src = fetchurl {
-      url = "mirror://cpan/modules/by-module/Math/${name}.tar.gz";
+      url = mirror://cpan/authors/id/S/SM/SMUELLER/Math-Clipper-1.23.tar.gz;
       sha256 = "0i9wzvig7ayijc9nvh5x5rryk1jrcj1hcvfmlcj449rnnxx24dav";
     };
     nativeBuildInputs = [ pkgs.ld-is-cc-hook ];
-    propagatedBuildInputs = [ ModuleBuildWithXSpp ExtUtilsXSpp ExtUtilsTypemapsDefault TestDeep ];
+    buildInputs = [ ExtUtilsCppGuess ExtUtilsTypemapsDefault ExtUtilsXSpp ModuleBuildWithXSpp TestDeep ];
   };
 
   MathComplex = buildPerlPackage {
@@ -8610,7 +9423,7 @@ let self = _self // overrides; _self = with self; {
   MathConvexHullMonotoneChain = buildPerlPackage rec {
     name = "Math-ConvexHull-MonotoneChain-0.01";
     src = fetchurl {
-      url = "mirror://cpan/modules/by-module/Math/${name}.tar.gz";
+      url = mirror://cpan/authors/id/S/SM/SMUELLER/Math-ConvexHull-MonotoneChain-0.01.tar.gz;
       sha256 = "1xcl7cz62ydddji9qzs4xsfxss484jqjlj4iixa4aci611cw92r8";
     };
   };
@@ -8618,19 +9431,20 @@ let self = _self // overrides; _self = with self; {
   MathGeometryVoronoi = buildPerlPackage rec {
     name = "Math-Geometry-Voronoi-1.3";
     src = fetchurl {
-      url = "mirror://cpan/modules/by-module/Math/${name}.tar.gz";
+      url = mirror://cpan/authors/id/S/SA/SAMTREGAR/Math-Geometry-Voronoi-1.3.tar.gz;
       sha256 = "0b206k2q5cznld45cjhgm0as0clc9hk135ds8qafbkl3k175w1vj";
     };
     propagatedBuildInputs = [ ClassAccessor ParamsValidate ];
   };
 
   MathPlanePath = buildPerlPackage rec {
-    name = "Math-PlanePath-123";
+    name = "Math-PlanePath-126";
     src = fetchurl {
       url = "mirror://cpan/authors/id/K/KR/KRYDE/${name}.tar.gz";
-      sha256 = "13by23pzwfa2f3rxiws7blqxb8lr3mfczdfq6jsi1kb3ml2wnxyc";
+      sha256 = "014gr79gg992paas6v1glciyycqp2hg7pg4y03kgfbxz1slc6zhq";
     };
     propagatedBuildInputs = [ MathLibm constant-defer ];
+    buildInputs = [ DataFloat MathBigIntLite ];
   };
 
   MathRandomISAAC = buildPerlPackage {
@@ -8655,7 +9469,7 @@ let self = _self // overrides; _self = with self; {
       url = mirror://cpan/authors/id/J/JD/JDHEDDEN/Math-Random-MT-Auto-6.22.tar.gz;
       sha256 = "07zha5zjxyvqwnycb1vzk4hk2m46n9yc5lrbvhkc22595dsyjahz";
     };
-    propagatedBuildInputs = [ ExceptionClass ObjectInsideOut ];
+    propagatedBuildInputs = [ ObjectInsideOut ];
     meta = {
       description = "Auto-seeded Mersenne Twister PRNGs";
       license = "unrestricted";
@@ -8665,13 +9479,13 @@ let self = _self // overrides; _self = with self; {
   };
 
   MathRandomSecure = buildPerlPackage {
-    name = "Math-Random-Secure-0.06";
+    name = "Math-Random-Secure-0.080001";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MK/MKANAT/Math-Random-Secure-0.06.tar.gz;
-      sha256 = "0392h78l3shkba9l2c43rgz6sm5qv7pzdylgb7gp9milprn77crc";
+      url = mirror://cpan/authors/id/F/FR/FREW/Math-Random-Secure-0.080001.tar.gz;
+      sha256 = "0dgbf4ncll4kmgkyb9fsaxn0vf2smc9dmwqzgh3259zc2zla995z";
     };
-    buildInputs = [ ListMoreUtils TestWarn ];
-    propagatedBuildInputs = [ AnyMoose CryptRandomSource MathRandomISAAC ];
+    buildInputs = [ ListMoreUtils TestSharedFork TestWarn ];
+    propagatedBuildInputs = [ CryptRandomSource MathRandomISAAC ];
     meta = {
       description = "Cryptographically-secure, cross-platform replacement for rand()";
       license = stdenv.lib.licenses.artistic2;
@@ -8681,21 +9495,42 @@ let self = _self // overrides; _self = with self; {
   };
 
   MathRound = buildPerlPackage rec {
-    name = "Math-Round-0.06";
+    name = "Math-Round-0.07";
     src = fetchurl {
-      url = "mirror://cpan/modules/by-module/Math/${name}.tar.gz";
-      sha256 = "194dvggf1cmzc701j4wma38jgrcv2pwwzk69rnysjjdcjdv6y255";
+      url = mirror://cpan/authors/id/G/GR/GROMMEL/Math-Round-0.07.tar.gz;
+      sha256 = "09wkvqj4hfq9y0fimri967rmhnq90dc2wf20lhlmqjp5hsd359vk";
+    };
+  };
+
+  MathVecStat = buildPerlPackage rec {
+    name = "Math-VecStat-0.08";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/A/AS/ASPINELLI/Math-VecStat-0.08.tar.gz;
+      sha256 = "03bdcl9pn2bc9b50c50nhnr7m9wafylnb3v21zlch98h9c78x6j0";
     };
   };
 
   Memoize = buildPerlPackage {
-    name = "Memoize-1.03.tgz";
+    name = "Memoize-1.03";
     src = fetchurl {
       url = mirror://cpan/authors/id/M/MJ/MJD/Memoize-1.03.tgz;
       sha256 = "5239cc5f644a50b0de9ffeaa51fa9991eb06ecb1bf4678873e3ab89af9c0daf3";
     };
   };
 
+  MemoizeExpireLRU = buildPerlPackage rec {
+     name = "Memoize-ExpireLRU-0.56";
+     src = fetchurl {
+       url = mirror://cpan/authors/id/N/NE/NEILB/Memoize-ExpireLRU-0.56.tar.gz;
+       sha256 = "1xnp3jqabl4il5kfadlqimbxhzsbm7gpwrgw0m5s5fdsrc0n70zf";
+     };
+     meta = {
+       description = "Expiry plug-in for Memoize that adds LRU cache expiration";
+       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+       homepage = "https://github.com/neilb/Memoize-ExpireLRU";
+     };
+  };
+
   MetaBuilder = buildPerlModule {
     name = "Meta-Builder-0.003";
     src = fetchurl {
@@ -8747,18 +9582,18 @@ let self = _self // overrides; _self = with self; {
   };
 
   MIMEBase64 = buildPerlPackage rec {
-    name = "MIME-Base64-3.14";
+    name = "MIME-Base64-3.15";
     src = fetchurl {
       url = "mirror://cpan/authors/id/G/GA/GAAS/${name}.tar.gz";
-      sha256 = "1qbcipxij7pv25qhnfdc2lnkqi2cf60frlhlh86gjxslc8kr8nhj";
+      sha256 = "1f8y78dskf91p4xym73n9lqbj15av5vxpsivm7nr7jx9lrk3b1kz";
     };
   };
 
   MIMECharset = buildPerlPackage {
-    name = "MIME-Charset-1.011.1";
+    name = "MIME-Charset-1.012.2";
     src = fetchurl {
-      url = mirror://cpan/authors/id/N/NE/NEZUMI/MIME-Charset-1.011.1.tar.gz;
-      sha256 = "2955a3b617fe12654efc2a13ae1dc7d32aad81d35cfae21f74337213cf2435d5";
+      url = mirror://cpan/authors/id/N/NE/NEZUMI/MIME-Charset-1.012.2.tar.gz;
+      sha256 = "878c779c0256c591666bd06c0cde4c0d7820eeeb98fd1183082aee9a1e7b1d13";
     };
     meta = {
       description = "Charset Information for MIME";
@@ -8776,36 +9611,13 @@ let self = _self // overrides; _self = with self; {
     buildInputs = [ ProcWaitStat ];
   };
 
-  MIMETools = buildPerlPackage rec {
-    name = "MIME-tools-5.509";
-    src = fetchurl {
-      url = "https://cpan.metacpan.org/authors/id/D/DS/DSKOLL/MIME-tools-5.509.tar.gz";
-      sha256 = "0wv9rzx5j1wjm01c3dg48qk9wlbm6iyf91j536idk09xj869ymv4";
-    };
-    propagatedBuildInputs = [
-      MailTools
-      FilePath
-      FileTemp
-      MIMEBase64
-    ];
-    buildInputs = [
-      TestDeep
-      TestPod
-      TestPodCoverage
-    ];
-    meta = {
-      description = "class for parsed-and-decoded MIME message";
-      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
-    };
-  };
-
   MIMELite = buildPerlPackage rec {
     name = "MIME-Lite-3.030";
     src = fetchurl {
       url = "mirror://cpan/authors/id/R/RJ/RJBS/${name}.tar.gz";
       sha256 = "8f39901bc580bc3dce69e10415305e4435ff90264c63d29f707b4566460be962";
     };
-    propagatedBuildInputs = [ EmailDateFormat MailTools MIMETypes ];
+    propagatedBuildInputs = [ EmailDateFormat ];
     meta = {
       description = "Low-calorie MIME generator (DEPRECATED)";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
@@ -8813,16 +9625,18 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
-  MIMEtools = buildPerlPackage {
-    name = "MIME-tools-5.507";
+  MIMEtools = MIMETools;
+
+  MIMETools = buildPerlPackage rec {
+    name = "MIME-tools-5.509";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DS/DSKOLL/MIME-tools-5.507.tar.gz;
-      sha256 = "2f43683e1d5bed21179207d81c0caf1d5b5d480d018ac812f4ab950879fe7793";
+      url = mirror://cpan/authors/id/D/DS/DSKOLL/MIME-tools-5.509.tar.gz;
+      sha256 = "0wv9rzx5j1wjm01c3dg48qk9wlbm6iyf91j536idk09xj869ymv4";
     };
-    buildInputs = [ TestDeep ];
     propagatedBuildInputs = [ MailTools ];
+    buildInputs = [ TestDeep ];
     meta = {
-      description = "Tools to manipulate MIME messages";
+      description = "class for parsed-and-decoded MIME message";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
@@ -8854,13 +9668,40 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
-  ModernPerl = buildPerlPackage {
-    name = "Modern-Perl-1.20140107";
+  MNI-Perllib = pkgs.callPackage ../development/perl-modules/MNI {};
+
+  Mo = buildPerlPackage rec {
+     name = "Mo-0.40";
+     src = fetchurl {
+       url = mirror://cpan/authors/id/T/TI/TINITA/Mo-0.40.tar.gz;
+       sha256 = "1fff81awg9agfawf3wxx0gpf6vgav8w920rmxsbjg30z75943lli";
+     };
+     meta = {
+       description = "Micro Objects. Mo is less.";
+       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+       homepage = "https://github.com/ingydotnet/mo-pm";
+     };
+  };
+
+  MockConfig = buildPerlPackage rec {
+     name = "Mock-Config-0.03";
+     src = fetchurl {
+       url = mirror://cpan/authors/id/R/RU/RURBAN/Mock-Config-0.03.tar.gz;
+       sha256 = "06q0xkg5cwdwafzmb9rkaa305ddv7vli9gpm6n9jnkyaaxbk9f55";
+     };
+     meta = {
+       description = "temporarily set Config or XSConfig values";
+       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus artistic2 ];
+     };
+  };
+
+  ModernPerl = buildPerlModule {
+    name = "Modern-Perl-1.20170117";
+
     src = fetchurl {
-      url = mirror://cpan/authors/id/C/CH/CHROMATIC/Modern-Perl-1.20140107.tar.gz;
-      sha256 = "9cf66b2f93340dfe1cd7162262a47e7c4ba82475a52dc2a036c2fdc8a65298b8";
+      url = mirror://cpan/authors/id/C/CH/CHROMATIC/Modern-Perl-1.20170117.tar.gz;
+      sha256 = "5df2a83461163212db22b9c3353606a1a123616820fe50675041c34f004b3628";
     };
-    propagatedBuildInputs = [ perl ];
     meta = {
       homepage = https://github.com/chromatic/Modern-Perl;
       description = "Enable all of the features of Modern Perl with one import";
@@ -8869,12 +9710,11 @@ let self = _self // overrides; _self = with self; {
   };
 
   ModuleBuild = buildPerlPackage rec {
-    name = "Module-Build-0.4222";
+    name = "Module-Build-0.4224";
     src = fetchurl {
       url = "mirror://cpan/authors/id/L/LE/LEONT/${name}.tar.gz";
-      sha256 = "0q5i03lbx52g22bwvyb04ycky4niq379j1c3fhmlfdj7lzclajz7";
+      sha256 = "10n7ggpmicwq1n503pg7kiwslda0bz48azzjvc7vb9s4hbbibjm6";
     };
-    buildInputs = [ CPANMeta ExtUtilsCBuilder ];
     meta = {
       description = "Build and install Perl modules";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
@@ -8900,12 +9740,13 @@ let self = _self // overrides; _self = with self; {
       url = "mirror://cpan/authors/id/T/TO/TOKUHIROM/${name}.tar.gz";
       sha256 = "e5bb2acb117792c984628812acb0fec376cb970caee8ede57535e04d762b0e40";
     };
-    propagatedBuildInputs = [ ClassAccessorLite ClassMethodModifiers DataOptList ModuleBuild TestSharedFork ];
+    propagatedBuildInputs = [ ClassAccessorLite ClassMethodModifiers DataOptList ];
     meta = {
       homepage = https://github.com/tokuhirom/Module-Build-Pluggable;
       description = "Module::Build meets plugins";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
+    buildInputs = [ TestSharedFork ];
   };
 
   ModuleBuildPluggablePPPort = buildPerlModule rec {
@@ -8914,8 +9755,8 @@ let self = _self // overrides; _self = with self; {
       url = "mirror://cpan/authors/id/T/TO/TOKUHIROM/${name}.tar.gz";
       sha256 = "44084ba3d8815f343bd391585ac5d8339a4807ce5c0dd84c98db8f310b64c0ea";
     };
-    buildInputs = [ ModuleBuild TestRequires ];
-    propagatedBuildInputs = [ ClassAccessorLite ModuleBuildPluggable ];
+    buildInputs = [ TestRequires TestSharedFork ];
+    propagatedBuildInputs = [ ModuleBuildPluggable ];
     meta = {
       description = "Generate ppport.h";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
@@ -8928,8 +9769,8 @@ let self = _self // overrides; _self = with self; {
       url = mirror://cpan/authors/id/L/LE/LEONT/Module-Build-Tiny-0.039.tar.gz;
       sha256 = "7d580ff6ace0cbe555bf36b86dc8ea232581530cbeaaea09bccb57b55797f11c";
     };
-    buildInputs = [ ExtUtilsConfig ExtUtilsHelpers ExtUtilsInstallPaths JSONPP TestHarness perl ];
-    propagatedBuildInputs = [ ExtUtilsConfig ExtUtilsHelpers ExtUtilsInstallPaths JSONPP TestHarness ];
+    buildInputs = [ FileShareDir ];
+    propagatedBuildInputs = [ ExtUtilsHelpers ExtUtilsInstallPaths ];
     meta = {
       description = "A tiny replacement for Module::Build";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
@@ -8942,27 +9783,56 @@ let self = _self // overrides; _self = with self; {
       url = "mirror://cpan/authors/id/S/SM/SMUELLER/${name}.tar.gz";
       sha256 = "0d39fjg9c0n820bk3fb50vvlwhdny4hdl69xmlyzql5xzp4cicsk";
     };
-    propagatedBuildInputs = [ ExtUtilsXSpp ExtUtilsCppGuess ];
+    propagatedBuildInputs = [ ExtUtilsCppGuess ExtUtilsXSpp ];
   };
 
   ModuleBuildXSUtil = buildPerlModule rec {
-    name = "Module-Build-XSUtil-0.10";
+    name = "Module-Build-XSUtil-0.18";
     src = fetchurl {
       url = "mirror://cpan/authors/id/H/HI/HIDEAKIO/${name}.tar.gz";
-      sha256 = "1323vxp8vf5xdz66lbc1wfciaks93mrbqfsjgb9nz1w9bb21xj36";
+      sha256 = "1vjl77iwbwr2xhdlyqva3hhma9r1fgr2rappwsimwqjmybdrfd6b";
     };
-    buildInputs = [ FileCopyRecursive CwdGuard CaptureTiny ];
+    buildInputs = [ CaptureTiny CwdGuard FileCopyRecursive ];
     meta = {
       description = "A Module::Build class for building XS modules";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
+    propagatedBuildInputs = [ DevelCheckCompiler ];
+  };
+
+  ModuleCPANTSAnalyse = buildPerlPackage rec {
+     name = "Module-CPANTS-Analyse-0.96";
+     src = fetchurl {
+       url = mirror://cpan/authors/id/I/IS/ISHIGAKI/Module-CPANTS-Analyse-0.96.tar.gz;
+       sha256 = "1c38fnbx9w1s841am1i5h33lcqr9bwc9bni21n907nmyp41wr297";
+     };
+     propagatedBuildInputs = [ ArchiveAnyLite ArrayDiff CPANDistnameInfo FileFindObject IOCapture JSONMaybeXS ModuleExtractUse ModulePluggable SetScalar SoftwareLicenseCCpack ];
+     buildInputs = [ ExtUtilsMakeMakerCPANfile TestFailWarnings ];
+     meta = {
+       description = "Generate Kwalitee ratings for a distribution";
+       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+       homepage = "http://cpants.cpanauthors.org";
+     };
+  };
+
+  ModuleCPANfile = buildPerlPackage rec {
+     name = "Module-CPANfile-1.1002";
+     src = fetchurl {
+       url = mirror://cpan/authors/id/M/MI/MIYAGAWA/Module-CPANfile-1.1002.tar.gz;
+       sha256 = "1z9wsps70h7ypaxmwq8l8wp0dg4kqrxmaqgzbh2fq8jw9idw55dz";
+     };
+     meta = {
+       description = "Parse cpanfile";
+       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+       homepage = "https://github.com/miyagawa/cpanfile";
+     };
   };
 
   ModuleCoreList = buildPerlPackage {
-    name = "Module-CoreList-3.01";
+    name = "Module-CoreList-5.20180221";
     src = fetchurl {
-      url = mirror://cpan/authors/id/B/BI/BINGOS/Module-CoreList-3.01.tar.gz;
-      sha256 = "10vf18x9qk4hdpwazxq8c0qykals36dxj0bjazqqcbp5xfb4fnyg";
+      url = mirror://cpan/authors/id/B/BI/BINGOS/Module-CoreList-5.20180221.tar.gz;
+      sha256 = "12gad19gxvrv19938f6hs2i2fanq2s1dx3l1yy8nh0nvc2mwggzl";
     };
     meta = {
       homepage = http://dev.perl.org/;
@@ -8971,11 +9841,25 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
+  ModuleExtractUse = buildPerlModule rec {
+     name = "Module-ExtractUse-0.342";
+     src = fetchurl {
+       url = mirror://cpan/authors/id/D/DO/DOMM/Module-ExtractUse-0.342.tar.gz;
+       sha256 = "06z6iz4zc1rdm3w3zkddgv832rghlpvb4r494vdz65pphr65saax";
+     };
+     propagatedBuildInputs = [ ParseRecDescent PodStrip ];
+     buildInputs = [ TestDeep TestNoWarnings ];
+     meta = {
+       description = "Find out what modules are used";
+       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+     };
+  };
+
   ModuleFind = buildPerlPackage {
-    name = "Module-Find-0.12";
+    name = "Module-Find-0.13";
     src = fetchurl {
-      url = mirror://cpan/authors/id/C/CR/CRENZ/Module-Find-0.12.tar.gz;
-      sha256 = "1lc33jdv4pgmm7nkr9bff0lhwjhhw91kaf6iiy2n7i7mw8dfv47l";
+      url = mirror://cpan/authors/id/C/CR/CRENZ/Module-Find-0.13.tar.gz;
+      sha256 = "0s45y5lvd9k89g7lds83c0bn1p29c13hfsbrd7x64jfaf8h8cisa";
     };
     meta = {
       description = "Find and use installed modules in a (sub)category";
@@ -9000,26 +9884,26 @@ let self = _self // overrides; _self = with self; {
   };
 
   ModuleInfo = buildPerlPackage rec {
-    name = "Module-Info-0.35";
+    name = "Module-Info-0.37";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/M/MB/MBARBON/Module-Info-0.35.tar.gz";
-      sha256 = "0r7vxg1iy3lam0jgb2sk8ghgpmp3x5fskvzqlgkb09bssq83s1xb";
+      url = mirror://cpan/authors/id/N/NE/NEILB/Module-Info-0.37.tar.gz;
+      sha256 = "0j143hqxgdkdpj5qssppq72gjr0n73c4f7is6wgrrcchjx905a4f";
     };
     buildInputs = [ TestPod TestPodCoverage ];
     meta = {
       description = "Information about Perl modules";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
+    propagatedBuildInputs = [ BUtils ];
   };
 
-  ModuleInstall = let version = "1.16"; in buildPerlPackage {
+  ModuleInstall = let version = "1.19"; in buildPerlPackage {
     name = "Module-Install-${version}";
     src = fetchurl {
       url = "mirror://cpan/authors/id/E/ET/ETHER/Module-Install-${version}.tar.gz";
-      sha256 = "0ph242hmz11wv41yh1g8k9zj1bgzkamg2kgq8hnq4kaz4mj15b5g";
+      sha256 = "06q12cm97yh4p7qbm0a2p96996ii6ss59qy57z0f7f9svy6sflqs";
     };
-    buildInputs = [ YAMLTiny ];
-    propagatedBuildInputs = [ FileRemove ModuleScanDeps YAMLTiny ];
+    propagatedBuildInputs = [ FileRemove ModuleBuild ModuleScanDeps YAMLTiny ];
     meta = {
       description = "Standalone, extensible Perl module installer";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
@@ -9056,11 +9940,23 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
+  ModuleLoadConditional = buildPerlPackage rec {
+     name = "Module-Load-Conditional-0.68";
+     src = fetchurl {
+       url = mirror://cpan/authors/id/B/BI/BINGOS/Module-Load-Conditional-0.68.tar.gz;
+       sha256 = "1zcq0s7q9bvk9wdv9ijfyddh3b8ck4n3w87rcx31lbsav5fba9vn";
+     };
+     meta = {
+       description = "Looking up module information / loading at runtime";
+       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+     };
+  };
+
   ModuleManifest = buildPerlPackage {
-    name = "Module-Manifest-1.08";
+    name = "Module-Manifest-1.09";
     src = fetchurl {
-      url = mirror://cpan/authors/id/A/AD/ADAMK/Module-Manifest-1.08.tar.gz;
-      sha256 = "722ed428afcbe5b5b441b0165cbafbd8534fa63d7856d4089e6e25ac21e6445d";
+      url = mirror://cpan/authors/id/E/ET/ETHER/Module-Manifest-1.09.tar.gz;
+      sha256 = "a395f80ff15ea0e66fd6c453844b6787ed4a875a3cd8df9f7e29280250bd539b";
     };
     buildInputs = [ TestException TestWarn ];
     propagatedBuildInputs = [ ParamsUtil ];
@@ -9071,12 +9967,11 @@ let self = _self // overrides; _self = with self; {
   };
 
   ModuleMetadata = buildPerlPackage rec {
-    name = "Module-Metadata-1.000027";
+    name = "Module-Metadata-1.000033";
     src = fetchurl {
-      url = "mirror://cpan/modules/by-module/Module/${name}.tar.gz";
-      sha256 = "1rrjj48vvv3i1jrmw97i4mvsmknll7hxga4cq2s9qvc2issdrxz2";
+      url = mirror://cpan/authors/id/E/ET/ETHER/Module-Metadata-1.000033.tar.gz;
+      sha256 = "13pzydb22693l33rfx6drwbhjxj04q80ds4m2nn2sbmm95wwr5mw";
     };
-    propagatedBuildInputs = [ version ];
   };
 
   ModulePath = buildPerlPackage rec {
@@ -9107,6 +10002,7 @@ let self = _self // overrides; _self = with self; {
       description = "Automatically give your module the ability to have plugins";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
+    buildInputs = [ AppFatPacker ];
   };
 
   ModulePluggableFast = buildPerlPackage {
@@ -9115,7 +10011,7 @@ let self = _self // overrides; _self = with self; {
       url = mirror://cpan/authors/id/M/MR/MRAMBERG/Module-Pluggable-Fast-0.19.tar.gz;
       sha256 = "0pq758wlasmh77xyd2xh75m5b2x14s8pnsv63g5356gib1q5gj08";
     };
-    propagatedBuildInputs = [UNIVERSALrequire];
+    propagatedBuildInputs = [ UNIVERSALrequire ];
   };
 
   ModuleRefresh = buildPerlPackage {
@@ -9131,13 +10027,12 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
-  ModuleRuntime = buildPerlPackage {
-    name = "Module-Runtime-0.014";
+  ModuleRuntime = buildPerlModule {
+    name = "Module-Runtime-0.016";
     src = fetchurl {
-      url = mirror://cpan/authors/id/Z/ZE/ZEFRAM/Module-Runtime-0.014.tar.gz;
-      sha256 = "19326f094jmjs6mgpwkyisid54k67w34br8yfh0gvaaml87gwi2c";
+      url = mirror://cpan/authors/id/Z/ZE/ZEFRAM/Module-Runtime-0.016.tar.gz;
+      sha256 = "097hy2czwkxlppri32m599ph0xfvfsbf0a5y23a4fdc38v32wc38";
     };
-    buildInputs = [ ModuleBuild ];
     meta = {
       homepage = http://search.cpan.org/perldoc?CPAN::Meta::Spec;
       description = "Runtime module handling";
@@ -9146,13 +10041,12 @@ let self = _self // overrides; _self = with self; {
   };
 
   ModuleRuntimeConflicts = buildPerlPackage {
-    name = "Module-Runtime-Conflicts-0.001";
+    name = "Module-Runtime-Conflicts-0.003";
     src = fetchurl {
-      url = mirror://cpan/authors/id/E/ET/ETHER/Module-Runtime-Conflicts-0.001.tar.gz;
-      sha256 = "0f73d03846575dd1492d3760deeb9627afaa1f8b04d4d526b1775174201be25f";
+      url = mirror://cpan/authors/id/E/ET/ETHER/Module-Runtime-Conflicts-0.003.tar.gz;
+      sha256 = "707cdc75038c70fe91779b888ac050f128565d3967ba96680e1b1c7cc9733875";
     };
-    buildInputs = [ ModuleBuildTiny ];
-    propagatedBuildInputs = [ DistCheckConflicts ModuleRuntime ];
+    propagatedBuildInputs = [ DistCheckConflicts ];
     meta = {
       homepage = https://github.com/karenetheridge/Module-Runtime-Conflicts;
       description = "Provide information on conflicts for Module::Runtime";
@@ -9160,11 +10054,11 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
-  ModuleScanDeps = let version = "1.20"; in buildPerlPackage {
+  ModuleScanDeps = let version = "1.24"; in buildPerlPackage {
     name = "Module-ScanDeps-${version}";
     src = fetchurl {
       url = "mirror://cpan/authors/id/R/RS/RSCHUPP/Module-ScanDeps-${version}.tar.gz";
-      sha256 = "14a623b3gzr0mq5n93lrxm6wjmdp8dwj91gb43wk7f3dwd3ka03j";
+      sha256 = "0s6cj90ckhy351gql52ksh4ms1x8piv26iadl09fcpzkx7j0srw9";
     };
     buildInputs = [ TestRequires ];
     meta = {
@@ -9175,10 +10069,10 @@ let self = _self // overrides; _self = with self; {
   };
 
   ModuleSignature = buildPerlPackage {
-    name = "Module-Signature-0.79";
+    name = "Module-Signature-0.81";
     src = fetchurl {
-      url = mirror://cpan/authors/id/A/AU/AUDREYT/Module-Signature-0.79.tar.gz;
-      sha256 = "22df2ce097fb5d176efa951c782633d8debe594924a25ca66666252512ce462c";
+      url = mirror://cpan/authors/id/A/AU/AUDREYT/Module-Signature-0.81.tar.gz;
+      sha256 = "7df547ceb8e45d40f75e481a868f389aaed5641c2cf4e133146ccea4b8facec6";
     };
     buildInputs = [ IPCRun ];
     meta = {
@@ -9187,13 +10081,12 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
-  ModuleUtil = buildPerlPackage {
+  ModuleUtil = buildPerlModule {
     name = "Module-Util-1.09";
     src = fetchurl {
       url = mirror://cpan/authors/id/M/MA/MATTLAW/Module-Util-1.09.tar.gz;
       sha256 = "6cfbcb6a45064446ec8aa0ee1a7dddc420b54469303344187aef84d2c7f3e2c6";
     };
-    buildInputs = [ ModuleBuild ];
     meta = {
       description = "Module name tools and transformations";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
@@ -9226,10 +10119,10 @@ let self = _self // overrides; _self = with self; {
   };
 
   mod_perl2 = buildPerlPackage {
-    name = "mod_perl-2.0.9";
+    name = "mod_perl-2.0.10";
     src = fetchurl {
-      url = mirror://cpan/authors/id/S/SH/SHAY/mod_perl-2.0.9.tar.gz;
-      sha256 = "0azmir4hbb825mfmcxwa1frhnhhf82rl8xf6mmgwkhbinxmg4q02";
+      url = mirror://cpan/authors/id/S/SH/SHAY/mod_perl-2.0.10.tar.gz;
+      sha256 = "0r1bhzwl5gr0202r6448943hjxsickzn55kdmb7dzad39vnq7kyi";
     };
     makeMakerFlags = "MP_AP_DESTDIR=$out";
     buildInputs = [ pkgs.apacheHttpd ];
@@ -9240,12 +10133,11 @@ let self = _self // overrides; _self = with self; {
     };
   };
   Mojolicious = buildPerlPackage rec {
-    name = "Mojolicious-6.56";
+    name = "Mojolicious-7.71";
     src = fetchurl {
       url = "mirror://cpan/authors/id/S/SR/SRI/${name}.tar.gz";
-      sha256 = "82f73553836ac378edf825fd9f24be982653be9e0d78f8ba38b7841aabdafb02";
+      sha256 = "25d8ab46fd7c340abcbbe740f690c197df6ff40a9c3dddf907629211bf3ad905";
     };
-    propagatedBuildInputs = [ JSONPP ];
     meta = {
       homepage = http://mojolicious.org;
       description = "Real-time web framework";
@@ -9254,10 +10146,10 @@ let self = _self // overrides; _self = with self; {
   };
 
   MojoIOLoopForkCall = buildPerlModule rec {
-    name = "Mojo-IOLoop-ForkCall-0.17";
+    name = "Mojo-IOLoop-ForkCall-0.19";
     src = fetchurl {
       url = "mirror://cpan/authors/id/J/JB/JBERGER/${name}.tar.gz";
-      sha256 = "886de5c3b44194a86228471075fac4036073bda19093e776c702aa65c3ef1824";
+      sha256 = "a436b71c7d1450f79b9810f4f46e24f5ffe1e1428da473d4315673e08e4dec62";
     };
     propagatedBuildInputs = [ IOPipely Mojolicious ];
     meta = {
@@ -9272,10 +10164,7 @@ let self = _self // overrides; _self = with self; {
       url = "mirror://cpan/authors/id/N/NI/NIERLEIN/${name}.tar.gz";
       sha256 = "030cw86j8712z8rn66k935gbilb5rcj3lnk4n53vh1b2phrszvjw";
     };
-    buildInputs = [ TestMore ];
-    propagatedBuildInputs = [
-      Carp ClassAccessor ConfigTiny
-      MathCalcUnits ParamsValidate ];
+    propagatedBuildInputs = [ ClassAccessor ConfigTiny MathCalcUnits ParamsValidate ];
     meta = {
       description = ''
         A family of perl modules to streamline writing Naemon,
@@ -9314,13 +10203,13 @@ let self = _self // overrides; _self = with self; {
   };
 
   Moose = buildPerlPackage {
-    name = "Moose-2.1213";
+    name = "Moose-2.2010";
     src = fetchurl {
-      url = mirror://cpan/authors/id/E/ET/ETHER/Moose-2.1213.tar.gz;
-      sha256 = "0f3b196ae67dc1daaa43c44ae7703f27c4f92c391ad3e252a90e90c50c851e03";
+      url = mirror://cpan/authors/id/E/ET/ETHER/Moose-2.2010.tar.gz;
+      sha256 = "af0905b69f18c27de1177c9bc7778ee495d4ec91be1f223e8ca8333af4de08c5";
     };
-    buildInputs = [ CPANMetaCheck CPANMetaRequirements DistCheckConflicts TestCleanNamespaces TestFatal TestRequires ModuleMetadata ];
-    propagatedBuildInputs = [ ClassLoad ClassLoadXS DataOptList DevelGlobalDestruction DevelStackTrace DistCheckConflicts EvalClosure ListMoreUtils MROCompat ModuleRuntime ModuleRuntimeConflicts PackageDeprecationManager PackageStash PackageStashXS ParamsUtil SubExporter SubName TaskWeaken TryTiny ];
+    buildInputs = [ CPANMetaCheck TestCleanNamespaces TestFatal TestRequires ];
+    propagatedBuildInputs = [ ClassLoadXS DevelGlobalDestruction DevelOverloadInfo DevelStackTrace EvalClosure ModuleRuntimeConflicts PackageDeprecationManager PackageStashXS ScalarListUtils SubExporter ];
     preConfigure = ''
       export LD=$CC
     '';
@@ -9340,20 +10229,94 @@ let self = _self // overrides; _self = with self; {
       sha256 = "b0946f23b3537763b8a96b8a83afcdaa64fce4b45235e98064845729acccfe8c";
     };
     buildInputs = [ MooXTypesMooseLike TestException TestFatal ];
-    propagatedBuildInputs = [ ClassMethodModifiers DataPerl ModuleRuntime Moo RoleTiny ];
+    propagatedBuildInputs = [ DataPerl Moo ];
     meta = {
       description = "NativeTrait-like behavior for Moo";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
+  MooXLocalePassthrough = buildPerlPackage rec {
+     name = "MooX-Locale-Passthrough-0.001";
+     src = fetchurl {
+       url = mirror://cpan/authors/id/R/RE/REHSACK/MooX-Locale-Passthrough-0.001.tar.gz;
+       sha256 = "04h5xhqdvydd4xk9ckb6a79chn0ygf915ix55vg1snmba9z841bs";
+     };
+     propagatedBuildInputs = [ Moo ];
+     meta = {
+       description = "provide API used in translator modules without translating";
+       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+       homepage = "https://metacpan.org/release/MooX-Locale-Passthrough";
+     };
+  };
+
+  MooXLocaleTextDomainOO = buildPerlPackage rec {
+     name = "MooX-Locale-TextDomain-OO-0.001";
+     src = fetchurl {
+       url = mirror://cpan/authors/id/R/RE/REHSACK/MooX-Locale-TextDomain-OO-0.001.tar.gz;
+       sha256 = "0g8pwj45ccqrzvs9cqyhw29nm68vai1vj46ad39rajnqzp7m53jv";
+     };
+     propagatedBuildInputs = [ LocaleTextDomainOO MooXLocalePassthrough ];
+     meta = {
+       description = "provide API used in translator modules without translating";
+       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+       homepage = "https://metacpan.org/release/MooX-Locale-TextDomain-OO";
+     };
+  };
+
+  MooXOptions = buildPerlPackage rec {
+     name = "MooX-Options-4.103";
+     src = fetchurl {
+       url = mirror://cpan/authors/id/R/RE/REHSACK/MooX-Options-4.103.tar.gz;
+       sha256 = "0v9j0wxx4f6z6lrmdqf2k084b2c2f2jbvh86pwib0vgjz1sdbyad";
+     };
+     propagatedBuildInputs = [ GetoptLongDescriptive MROCompat MooXLocalePassthrough PathClass UnicodeLineBreak strictures ];
+     buildInputs = [ Mo MooXCmd MooXLocaleTextDomainOO Moose TestTrap ];
+     meta = {
+       description = "Explicit Options eXtension for Object Class";
+       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+       homepage = "https://metacpan.org/celogeek/MooX-Options";
+     };
+  };
+
+  MooXSingleton = buildPerlModule rec {
+     name = "MooX-Singleton-1.20";
+     src = fetchurl {
+       url = mirror://cpan/authors/id/A/AJ/AJGB/MooX-Singleton-1.20.tar.gz;
+       sha256 = "03i1wfag279ldjjkwi9gvpfs8fgi05my47icq5ggi66yzxpn5mzp";
+     };
+     propagatedBuildInputs = [ RoleTiny ];
+     buildInputs = [ Moo ];
+     meta = {
+       description = "turn your Moo class into singleton";
+       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+       homepage = "http://search.cpan.org/dist/MooX-Singleton";
+     };
+  };
+
+  MooXStrictConstructor = buildPerlPackage rec {
+     name = "MooX-StrictConstructor-0.010";
+     src = fetchurl {
+       url = mirror://cpan/authors/id/H/HA/HARTZELL/MooX-StrictConstructor-0.010.tar.gz;
+       sha256 = "0vvjgz7xbfmf69yav7sxsxmvklqv835xvh7h47w0apxmlkm9fjgr";
+     };
+     propagatedBuildInputs = [ Moo strictures ];
+     buildInputs = [ TestFatal ];
+     meta = {
+       description = "Make your Moo-based object constructors blow up on unknown attributes.";
+       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+       homepage = "https://metacpan.org/release/MooX-StrictConstructor";
+     };
+  };
+
   MooXTypesMooseLike = buildPerlPackage rec {
-    name = "MooX-Types-MooseLike-0.27";
+    name = "MooX-Types-MooseLike-0.29";
     src = fetchurl {
       url = "mirror://cpan/authors/id/M/MA/MATEU/${name}.tar.gz";
-      sha256 = "1489almsam2zcrs5039sh0y88gjicwna8kws8j2jgfs8bpcf4dgf";
+      sha256 = "1d6jg9x3p7gm2r0xmbcag374a44gf5pcga2swvxhlhzakfm80dqx";
     };
-    propagatedBuildInputs = [ Moo TestFatal ];
+    propagatedBuildInputs = [ ModuleRuntime ];
+    buildInputs = [ Moo TestFatal ];
   };
 
   MooXTypesMooseLikeNumeric = buildPerlPackage rec {
@@ -9370,14 +10333,14 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
-  MooseAutobox = buildPerlPackage {
-    name = "Moose-Autobox-0.15";
+  MooseAutobox = buildPerlModule {
+    name = "Moose-Autobox-0.16";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RJ/RJBS/Moose-Autobox-0.15.tar.gz;
-      sha256 = "0xcayrfm08dqas1mq8lnf8nxkvzdgcmv6xs5lqah17bxqxgznrl9";
+      url = mirror://cpan/authors/id/E/ET/ETHER/Moose-Autobox-0.16.tar.gz;
+      sha256 = "0mbhd0p7gf6qdhaylldl0ahq59zghs0vd5n1iqcbfkj8ryj1sh4j";
     };
-    buildInputs = [ TestException ];
-    propagatedBuildInputs = [ Moose SyntaxKeywordJunction autobox ];
+    buildInputs = [ ModuleBuildTiny TestException ];
+    propagatedBuildInputs = [ ListMoreUtils Moose SyntaxKeywordJunction autobox namespaceautoclean ];
     meta = {
       description = "Autoboxed wrappers for Native Perl datatypes";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
@@ -9407,18 +10370,18 @@ let self = _self // overrides; _self = with self; {
       url = "mirror://cpan/authors/id/D/DO/DOY/${name}.tar.gz";
       sha256 = "0j07zqczjfmng3md6nkha7560i786d0cp3gdmrx49hr64jbhz1f4";
     };
-    buildInputs = [ TestFatal TestRequires ];
+    buildInputs = [ TestFatal ];
     propagatedBuildInputs = [ Moose ];
   };
 
-  MooseXAppCmd = buildPerlPackage rec {
+  MooseXAppCmd = buildPerlModule rec {
     name = "MooseX-App-Cmd-0.32";
     src = fetchurl {
       url = "mirror://cpan/authors/id/E/ET/ETHER/${name}.tar.gz";
       sha256 = "2e3bbf7283a4bee72d91d26eb204436030992bbe55cbd35ec33a546f16f973ff";
     };
     buildInputs = [ ModuleBuildTiny MooseXConfigFromFile TestOutput YAML ];
-    propagatedBuildInputs = [ AppCmd GetoptLongDescriptive Moose MooseXGetopt MooseXNonMoose namespaceautoclean ];
+    propagatedBuildInputs = [ AppCmd MooseXGetopt MooseXNonMoose ];
     meta = {
       homepage = https://github.com/moose/MooseX-App-Cmd;
       description = "Mashes up MooseX::Getopt and App::Cmd";
@@ -9434,7 +10397,7 @@ let self = _self // overrides; _self = with self; {
       url = "mirror://cpan/authors/id/G/GE/GETTY/${name}.tar.gz";
       sha256 = "2ff91a656e78aae0aca42293829d7a7e5acb9bf22b0401635b2ab6c870de32d5";
     };
-    propagatedBuildInputs = [ DataOptList ImportInto ModuleRuntime Moo ];
+    propagatedBuildInputs = [ DataOptList ImportInto Moo ];
     meta = {
       homepage = https://github.com/Getty/p5-moox;
       description = "Using Moo and MooX:: packages the most lazy way";
@@ -9442,6 +10405,21 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
+  MooXCmd = buildPerlPackage rec {
+     name = "MooX-Cmd-0.017";
+     src = fetchurl {
+       url = mirror://cpan/authors/id/R/RE/REHSACK/MooX-Cmd-0.017.tar.gz;
+       sha256 = "1xbhmq07v9z371ygkyghva9aryhc22kwbzn5qwkp72c0ma6z4gwl";
+     };
+     propagatedBuildInputs = [ ListMoreUtils ModulePluggable Moo PackageStash ParamsUtil RegexpCommon ];
+     buildInputs = [ CaptureTiny ];
+     meta = {
+       description = "Giving an easy Moo style way to make command organized CLI apps";
+       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+       homepage = "https://metacpan.org/release/MooX-Cmd";
+     };
+  };
+
   MooXlate = buildPerlPackage {
     name = "MooX-late-0.015";
     src = fetchurl {
@@ -9463,8 +10441,7 @@ let self = _self // overrides; _self = with self; {
       url = mirror://cpan/authors/id/M/MJ/MJGARDNER/MouseX-SimpleConfig-0.11.tar.gz;
       sha256 = "257f384091d33d340373a6153947039c698dc449d1ef989335644fc3d2da0069";
     };
-    buildInputs = [ Mouse PathClass ];
-    propagatedBuildInputs = [ ConfigAny Mouse MouseXConfigFromFile ];
+    propagatedBuildInputs = [ ConfigAny MouseXConfigFromFile ];
     meta = {
       description = "A Mouse role for setting attributes from a simple configfile";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
@@ -9490,7 +10467,7 @@ let self = _self // overrides; _self = with self; {
       sha256 = "228d4b4f3f0ed9547278691d0b7c5fe53d90874a69df709a49703c6af87c09de";
     };
     buildInputs = [ TestUseAllModules ];
-    propagatedBuildInputs = [ Mouse MouseXTypes PathClass ];
+    propagatedBuildInputs = [ MouseXTypes PathClass ];
     meta = {
       description = "A Path::Class type library for Mouse";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
@@ -9504,7 +10481,7 @@ let self = _self // overrides; _self = with self; {
       sha256 = "77288441fdadd15beeec9a0813ece8aec1542f1d8ceaaec14755b3f316fbcf8b";
     };
     buildInputs = [ TestException ];
-    propagatedBuildInputs = [ AnyMoose Mouse ];
+    propagatedBuildInputs = [ AnyMoose ];
     meta = {
       description = "Organize your Mouse types in libraries";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
@@ -9518,7 +10495,7 @@ let self = _self // overrides; _self = with self; {
       sha256 = "921b31cb13fc1f982a602f8e23815b7add23a224257e43790e287504ce879534";
     };
     buildInputs = [ TestUseAllModules ];
-    propagatedBuildInputs = [ Mouse MouseXTypesPathClass ];
+    propagatedBuildInputs = [ MouseXTypesPathClass ];
     meta = {
       description = "An abstract Mouse role for setting attributes from a configfile";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
@@ -9533,7 +10510,7 @@ let self = _self // overrides; _self = with self; {
       url = "mirror://cpan/authors/id/G/GF/GFUJI/${name}.tar.gz";
       sha256 = "a6221043e7be3217ce56d2a6425a413d9cd28e2f52053995a6ceb118e8e963bc";
     };
-    buildInputs = [ ModuleBuildTiny Mouse MouseXConfigFromFile MouseXSimpleConfig TestException TestWarn ];
+    buildInputs = [ ModuleBuildTiny MouseXConfigFromFile MouseXSimpleConfig TestException TestWarn ];
     propagatedBuildInputs = [ GetoptLongDescriptive Mouse ];
     meta = {
       homepage = https://github.com/gfx/mousex-getopt;
@@ -9544,12 +10521,12 @@ let self = _self // overrides; _self = with self; {
   };
 
   MooseXAttributeChained = buildPerlModule rec {
-    name = "MooseX-Attribute-Chained-1.0.1";
+    name = "MooseX-Attribute-Chained-1.0.3";
     src = fetchurl {
-      url = "mirror://cpan/modules/by-module/MooseX/${name}.tar.gz";
-      sha256 = "101kwjzidppcsnyvp9x1vw8vpvkp1cc1csqmzbashwvqy8d0g4af";
+      url = mirror://cpan/authors/id/T/TO/TOMHUKINS/MooseX-Attribute-Chained-1.0.3.tar.gz;
+      sha256 = "0kjydmkxh8hpkbbmsgd5wrkhgq7w69lgfg6lx4s5g2xpqfkqmqz7";
     };
-    propagatedBuildInputs = [ Moose TryTiny ];
+    propagatedBuildInputs = [ Moose ];
   };
 
   MooseXAttributeHelpers = buildPerlPackage {
@@ -9559,7 +10536,7 @@ let self = _self // overrides; _self = with self; {
       sha256 = "3f63f60d94d840a309d9137f78605e15f07c977fd15a4f4b55bd47b65ed52be1";
     };
     patches = [ ../development/perl-modules/MooseXAttributeHelpers-perl-5.20.patch ];
-    buildInputs = [ Moose TestException ];
+    buildInputs = [ TestException ];
     propagatedBuildInputs = [ Moose ];
     meta = {
       description = "Extend your attribute interfaces (deprecated)";
@@ -9569,27 +10546,28 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
-  MooseXClone = buildPerlPackage {
-    name = "MooseX-Clone-0.05";
+  MooseXClone = buildPerlModule {
+    name = "MooseX-Clone-0.06";
     src = fetchurl {
-      url = mirror://cpan/authors/id/N/NU/NUFFIN/MooseX-Clone-0.05.tar.gz;
-      sha256 = "11pbw3zdbcn54hrj6z74qisnmj9k4qliy6yjj9d71qndq3xg3x0f";
+      url = mirror://cpan/authors/id/E/ET/ETHER/MooseX-Clone-0.06.tar.gz;
+      sha256 = "19wd74dihybnz1lbbsqn0clwxzb6y0aa0i25a8zhajz7p5fq5myb";
     };
-    propagatedBuildInputs = [ DataVisitor HashUtilFieldHashCompat Moose namespaceclean Testuseok ];
+    propagatedBuildInputs = [ DataVisitor HashUtilFieldHashCompat namespaceautoclean ];
     meta = {
       maintainers = with maintainers; [ ];
       platforms   = stdenv.lib.platforms.unix;
     };
+    buildInputs = [ ModuleBuildTiny ];
   };
 
-  MooseXConfigFromFile = buildPerlPackage rec {
+  MooseXConfigFromFile = buildPerlModule rec {
     name = "MooseX-ConfigFromFile-0.14";
     src = fetchurl {
       url = "mirror://cpan/authors/id/E/ET/ETHER/${name}.tar.gz";
       sha256 = "9ad343cd9f86d714be9b54b9c68a443d8acc6501b6ad6b15e9ca0130b2e96f08";
     };
-    buildInputs = [ ModuleBuildTiny Moose MooseXGetopt TestDeep TestFatal TestRequires TestWithoutModule self."if" ];
-    propagatedBuildInputs = [ Moose MooseXTypes MooseXTypesPathTiny namespaceautoclean ];
+    buildInputs = [ ModuleBuildTiny TestDeep TestFatal TestRequires TestWithoutModule ];
+    propagatedBuildInputs = [ MooseXTypesPathTiny ];
     meta = {
       homepage = https://github.com/moose/MooseX-ConfigFromFile;
       description = "An abstract Moose role for setting attributes from a configfile";
@@ -9598,14 +10576,14 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
-  MooseXDaemonize = buildPerlPackage rec {
+  MooseXDaemonize = buildPerlModule rec {
     name = "MooseX-Daemonize-0.21";
     src = fetchurl {
       url = "mirror://cpan/authors/id/E/ET/ETHER/${name}.tar.gz";
       sha256 = "111f391221d00f8b09cdcc6c806ab114324cf7f529d12f627fb97d054da42225";
     };
-    buildInputs = [ DevelCheckOS ModuleBuildTiny Moose TestFatal ];
-    propagatedBuildInputs = [ Moose MooseXGetopt MooseXTypesPathClass SubExporter namespaceautoclean ];
+    buildInputs = [ DevelCheckOS ModuleBuildTiny TestFatal ];
+    propagatedBuildInputs = [ MooseXGetopt MooseXTypesPathClass ];
     meta = {
       homepage = https://github.com/moose/MooseX-Daemonize;
       description = "Role for daemonizing your Moose based application";
@@ -9627,14 +10605,14 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
-  MooseXGetopt = buildPerlPackage rec {
+  MooseXGetopt = buildPerlModule rec {
     name = "MooseX-Getopt-0.71";
     src = fetchurl {
       url = "mirror://cpan/authors/id/E/ET/ETHER/${name}.tar.gz";
       sha256 = "de18f8ea0a5650cbbdebecb8f4c028f5f951fc5698332f7b8e20c7874902c259";
     };
-    buildInputs = [ ModuleBuildTiny ModuleRuntime Moose PathTiny TestDeep TestFatal TestRequires TestTrap TestWarnings self."if" ];
-    propagatedBuildInputs = [ GetoptLongDescriptive Moose MooseXRoleParameterized TryTiny namespaceautoclean ];
+    buildInputs = [ ModuleBuildTiny MooseXStrictConstructor PathTiny TestDeep TestFatal TestRequires TestTrap TestWarnings ];
+    propagatedBuildInputs = [ GetoptLongDescriptive MooseXRoleParameterized ];
     meta = {
       homepage = https://github.com/moose/MooseX-Getopt;
       description = "A Moose role for processing command line options";
@@ -9649,8 +10627,8 @@ let self = _self // overrides; _self = with self; {
       url = mirror://cpan/authors/id/P/PS/PSHANGOV/MooseX-Has-Options-0.003.tar.gz;
       sha256 = "07c21cf8ed500b272020ff8da19f194728bb414e0012a2f0cc54ef2ef6222a68";
     };
-    buildInputs = [ Moose TestMost namespaceautoclean ];
-    propagatedBuildInputs = [ ClassLoad ListMoreUtils PackageStash StringRewritePrefix ];
+    buildInputs = [ Moose TestDeep TestDifferences TestException TestMost TestWarn namespaceautoclean ];
+    propagatedBuildInputs = [ ClassLoad ListMoreUtils StringRewritePrefix ];
     meta = {
       homepage = https://github.com/pshangov/moosex-has-options;
       description = "Succinct options for Moose";
@@ -9660,14 +10638,14 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
-  MooseXHasSugar = buildPerlModule {
-    name = "MooseX-Has-Sugar-0.05070421";
+  MooseXHasSugar = buildPerlPackage {
+    name = "MooseX-Has-Sugar-1.000006";
     src = fetchurl {
-      url = mirror://cpan/authors/id/K/KE/KENTNL/MooseX-Has-Sugar-0.05070421.tar.gz;
-      sha256 = "5acf92a6dcac50a6edfcbdb2c38802f8c1f9dc7194a79d0b85a3d4105ebba7df";
+      url = mirror://cpan/authors/id/K/KE/KENTNL/MooseX-Has-Sugar-1.000006.tar.gz;
+      sha256 = "efeed3ddb3a8ea18f416d485f3c2b0427145d267e63368c651d488eaa8c28d09";
     };
-    buildInputs = [ Moose MooseXTypes TestFatal namespaceautoclean ];
-    propagatedBuildInputs = [ SubExporter ];
+    buildInputs = [ TestFatal namespaceclean ];
+    propagatedBuildInputs = [ SubExporterProgressive ];
     meta = {
       homepage = https://github.com/kentfredric/MooseX-Has-Sugar;
       description = "Sugar Syntax for moose 'has' fields";
@@ -9675,13 +10653,13 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
-  MooseXLazyRequire = buildPerlPackage {
-    name = "MooseX-LazyRequire-0.10";
+  MooseXLazyRequire = buildPerlModule {
+    name = "MooseX-LazyRequire-0.11";
     src = fetchurl {
-      url = mirror://cpan/authors/id/E/ET/ETHER/MooseX-LazyRequire-0.10.tar.gz;
-      sha256 = "a555f80c0e91bc428f040015f00dd98f3c022704ec089516b9b3507f3d437090";
+      url = mirror://cpan/authors/id/E/ET/ETHER/MooseX-LazyRequire-0.11.tar.gz;
+      sha256 = "ef620c1e019daf9cf3f23a943d25a94c91e93ab312bcd63be2e9740ec0b94288";
     };
-    buildInputs = [ TestCheckDeps TestFatal ModuleMetadata ];
+    buildInputs = [ ModuleBuildTiny TestFatal ];
     propagatedBuildInputs = [ Moose aliased namespaceautoclean ];
     meta = {
       homepage = https://github.com/karenetheridge/moosex-lazyrequire;
@@ -9696,8 +10674,7 @@ let self = _self // overrides; _self = with self; {
       url = mirror://cpan/authors/id/R/RS/RSRCHBOY/MooseX-MarkAsMethods-0.15.tar.gz;
       sha256 = "1y3yxwcjjajm66pvca54cv9fax7a6dy36xqr92x7vzyhfqrw3v69";
     };
-    buildInputs = [ TestMoose ];
-    propagatedBuildInputs = [ BHooksEndOfScope Moose namespaceautoclean ];
+    propagatedBuildInputs = [ Moose namespaceautoclean ];
     meta = {
       homepage = https://metacpan.org/release/MooseX-MarkAsMethods/;
       description = "Mark overload code symbols as methods";
@@ -9706,13 +10683,13 @@ let self = _self // overrides; _self = with self; {
   };
 
   MooseXMethodAttributes = buildPerlPackage {
-    name = "MooseX-MethodAttributes-0.28";
+    name = "MooseX-MethodAttributes-0.31";
     src = fetchurl {
-      url = mirror://cpan/authors/id/E/ET/ETHER/MooseX-MethodAttributes-0.28.tar.gz;
-      sha256 = "0srk85z6py9brw1jfvacd76y6219wycq3dj0wackbkmmbq04ln0g";
+      url = mirror://cpan/authors/id/E/ET/ETHER/MooseX-MethodAttributes-0.31.tar.gz;
+      sha256 = "1whd10w7bm3dwaj7gpgw40bci9vvb2zmxs4349ifji91hvinwqck";
     };
-    buildInputs = [ namespaceautoclean TestCheckDeps TestException ModuleMetadata ];
-    propagatedBuildInputs = [ Moose MooseXTypes namespaceautoclean ];
+    buildInputs = [ MooseXRoleParameterized TestFatal TestRequires ];
+    propagatedBuildInputs = [ MooseXTypes ];
     meta = {
       homepage = https://github.com/karenetheridge/moosex-methodattributes;
       description = "Code attribute introspection";
@@ -9735,13 +10712,12 @@ let self = _self // overrides; _self = with self; {
   };
 
   MooseXOneArgNew = buildPerlPackage {
-    name = "MooseX-OneArgNew-0.004";
+    name = "MooseX-OneArgNew-0.005";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RJ/RJBS/MooseX-OneArgNew-0.004.tar.gz;
-      sha256 = "1frfrqaj283z1x95cqbbj3cvmb6rj50ngs47jq8myz6d1bg4zwff";
+      url = mirror://cpan/authors/id/R/RJ/RJBS/MooseX-OneArgNew-0.005.tar.gz;
+      sha256 = "0gqhqdkwsnxmni0xv43iplplgp6g55khdwc5117j9i569r3wykvy";
     };
-    buildInputs = [ Moose ];
-    propagatedBuildInputs = [ Moose MooseXRoleParameterized namespaceautoclean ];
+    propagatedBuildInputs = [ MooseXRoleParameterized ];
     meta = {
       homepage = https://github.com/rjbs/moosex-oneargnew;
       description = "Teach ->new to accept single, non-hashref arguments";
@@ -9752,35 +10728,34 @@ let self = _self // overrides; _self = with self; {
   MooseXRelatedClassRoles = buildPerlPackage rec {
     name = "MooseX-RelatedClassRoles-0.004";
     src = fetchurl {
-      url = "mirror://cpan/modules/by-module/MooseX/${name}.tar.gz";
+      url = mirror://cpan/authors/id/H/HD/HDP/MooseX-RelatedClassRoles-0.004.tar.gz;
       sha256 = "17vynkf6m5d039qkr4in1c9lflr8hnwp1fgzdwhj4q6jglipmnrh";
     };
-    buildInputs = [ ];
     propagatedBuildInputs = [ MooseXRoleParameterized ];
   };
 
   MooseXParamsValidate = buildPerlPackage {
-    name = "MooseX-Params-Validate-0.18";
+    name = "MooseX-Params-Validate-0.21";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DR/DROLSKY/MooseX-Params-Validate-0.18.tar.gz;
-      sha256 = "02yim0lmr7p2nzswy97d5ylbs4ksmgklqq350p119i2611x7ai0k";
+      url = mirror://cpan/authors/id/D/DR/DROLSKY/MooseX-Params-Validate-0.21.tar.gz;
+      sha256 = "1n9ry6gnskkp9ir6s7d5jirn3mh14ydgpmwqz6wcp6d9md358ac8";
     };
-    buildInputs = [ Moose TestFatal ];
-    propagatedBuildInputs = [ DevelCaller Moose ParamsValidate SubExporter ];
+    buildInputs = [ TestFatal ];
+    propagatedBuildInputs = [ DevelCaller Moose ParamsValidate ];
     meta = {
       description = "An extension of Params::Validate using Moose's types";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
-  MooseXRoleParameterized = buildPerlPackage {
-    name = "MooseX-Role-Parameterized-1.02";
+  MooseXRoleParameterized = buildPerlModule {
+    name = "MooseX-Role-Parameterized-1.10";
     src = fetchurl {
-      url = mirror://cpan/authors/id/S/SA/SARTAK/MooseX-Role-Parameterized-1.02.tar.gz;
-      sha256 = "089czh2pipvdajjy4rxlix0y20ilp3ldbzi0vs68b7k6k9q3mqdk";
+      url = mirror://cpan/authors/id/E/ET/ETHER/MooseX-Role-Parameterized-1.10.tar.gz;
+      sha256 = "0plx25n80mv9qwhix52z79md0qil616nbcryk2f4216kghpw2ij8";
     };
-    buildInputs = [ TestFatal TestMoose ];
-    propagatedBuildInputs = [ Moose ];
+    buildInputs = [ CPANMetaCheck ModuleBuildTiny MooseXRoleWithOverloading TestFatal TestRequires ];
+    propagatedBuildInputs = [ Moose namespaceautoclean ];
     meta = {
       homepage = https://github.com/sartak/MooseX-Role-Parameterized/tree;
       description = "Roles with composition parameters";
@@ -9794,8 +10769,7 @@ let self = _self // overrides; _self = with self; {
       url = "mirror://cpan/authors/id/E/ET/ETHER/${name}.tar.gz";
       sha256 = "0rb8k0dp1a55bm2pr6r0vsi5msvjl1dslfidxp1gj80j7zbrbc4j";
     };
-    buildInputs = [ TestCheckDeps TestNoWarnings ModuleMetadata];
-    propagatedBuildInputs = [ aliased Moose namespaceautoclean namespaceclean ];
+    propagatedBuildInputs = [ Moose aliased namespaceautoclean ];
     meta = {
       homepage = https://metacpan.org/release/MooseX-Role-WithOverloading;
       description = "Roles which support overloading";
@@ -9803,14 +10777,14 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
-  MooseXRunnable = buildPerlPackage rec {
+  MooseXRunnable = buildPerlModule rec {
     name = "MooseX-Runnable-0.10";
     src = fetchurl {
       url = "mirror://cpan/authors/id/E/ET/ETHER/${name}.tar.gz";
       sha256 = "40d8fd1b5524ae965965a1f144d7a0a0c850594c524402b2319b24d5c4af1199";
     };
-    buildInputs = [ ModuleBuildTiny MooseXGetopt TestFatal TestSimple TestTableDriven ];
-    propagatedBuildInputs = [ ClassLoad ListSomeUtils Moose MooseXTypes MooseXTypesPathTiny ParamsUtil PathTiny namespaceautoclean ];
+    buildInputs = [ ModuleBuildTiny TestFatal TestSimple13 TestTableDriven ];
+    propagatedBuildInputs = [ ListSomeUtils MooseXTypesPathTiny ];
     meta = {
       homepage = https://github.com/moose/MooseX-Runnable;
       description = "Tag a class as a runnable application";
@@ -9821,10 +10795,10 @@ let self = _self // overrides; _self = with self; {
   };
 
   MooseXSemiAffordanceAccessor = buildPerlPackage rec {
-    name = "MooseX-SemiAffordanceAccessor-0.09";
+    name = "MooseX-SemiAffordanceAccessor-0.10";
     src = fetchurl {
-      url = "mirror://cpan/modules/by-module/MooseX/${name}.tar.gz";
-      sha256 = "1724cxvgy1wh1kfawcj2sanlm90zarfh7k186pgyx1lk8fhnlj4m";
+      url = mirror://cpan/authors/id/D/DR/DROLSKY/MooseX-SemiAffordanceAccessor-0.10.tar.gz;
+      sha256 = "1mdil9ckgmgr78z59p8wfa35ixn5855ndzx14y01dvfxpiv5gf55";
     };
     propagatedBuildInputs = [ Moose ];
   };
@@ -9832,33 +10806,34 @@ let self = _self // overrides; _self = with self; {
   MooseXSetOnce = buildPerlPackage rec {
     name = "MooseX-SetOnce-0.200002";
     src = fetchurl {
-      url = "mirror://cpan/modules/by-module/MooseX/${name}.tar.gz";
+      url = mirror://cpan/authors/id/R/RJ/RJBS/MooseX-SetOnce-0.200002.tar.gz;
       sha256 = "0ndnl8dj7nh8lvckl6r3jw31d0dmq30qf2pqkgcz0lykzjvhdvfb";
     };
     buildInputs = [ TestFatal ];
     propagatedBuildInputs = [ Moose ];
   };
 
-  MooseXSingleton = buildPerlPackage rec {
-    name = "MooseX-Singleton-0.29";
+  MooseXSingleton = buildPerlModule rec {
+    name = "MooseX-Singleton-0.30";
     src = fetchurl {
-      url = mirror://cpan/authors/id/K/KA/KAARE/MooseX-Singleton-0.29.tar.gz;
-      sha256 = "0103f0hi7fp3mc0y0ydnz4ghcnag5gwgn2160y2zp6rnydx2p2sc";
+      url = mirror://cpan/authors/id/E/ET/ETHER/MooseX-Singleton-0.30.tar.gz;
+      sha256 = "0hb5s1chsgbx2nlb0f112mdh2v1zwww8f4i3gvfvcghx3grv5135";
     };
-    buildInputs = [ Moose TestFatal TestRequires ];
+    buildInputs = [ ModuleBuildTiny TestFatal TestRequires TestWarnings ];
     meta = {
       maintainers = with maintainers; [ ];
       platforms   = stdenv.lib.platforms.unix;
     };
+    propagatedBuildInputs = [ Moose ];
   };
 
   MooseXStrictConstructor = buildPerlPackage {
-    name = "MooseX-StrictConstructor-0.19";
+    name = "MooseX-StrictConstructor-0.21";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DR/DROLSKY/MooseX-StrictConstructor-0.19.tar.gz;
-      sha256 = "486573c16901e83c081da3d90a544281af1baa40bbf036337d6fa91994e48a31";
+      url = mirror://cpan/authors/id/D/DR/DROLSKY/MooseX-StrictConstructor-0.21.tar.gz;
+      sha256 = "c72a5ae9583706ccdec71d401dcb3054013a7536b750df1436613d858ea2920d";
     };
-    buildInputs = [ Moose TestFatal ];
+    buildInputs = [ Moo TestFatal TestNeeds ];
     propagatedBuildInputs = [ Moose namespaceautoclean ];
     meta = {
       description = "Make your object constructors blow up on unknown attributes";
@@ -9866,14 +10841,14 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
-  MooseXTraits = buildPerlPackage rec {
+  MooseXTraits = buildPerlModule rec {
     name = "MooseX-Traits-0.13";
     src = fetchurl {
       url = "mirror://cpan/authors/id/E/ET/ETHER/${name}.tar.gz";
       sha256 = "74afe0c4faf4e3b97c57f289437caa60becca34cd5821f489dd4cc9da4fbe29a";
     };
-    buildInputs = [ ModuleBuildTiny Moose MooseXRoleParameterized TestFatal TestRequires TestSimple ];
-    propagatedBuildInputs = [ ClassLoad Moose SubExporter namespaceautoclean ];
+    buildInputs = [ ModuleBuildTiny MooseXRoleParameterized TestFatal TestRequires TestSimple13 ];
+    propagatedBuildInputs = [ Moose namespaceautoclean ];
     meta = {
       homepage = https://github.com/moose/MooseX-Traits;
       description = "Automatically apply roles at object creation time";
@@ -9887,19 +10862,18 @@ let self = _self // overrides; _self = with self; {
       url = "mirror://cpan/authors/id/R/RK/RKITOVER/${name}.tar.gz";
       sha256 = "1jjqmcidy4kdgp5yffqqwxrsab62mbhbpvnzdy1rpwnb1savg5mb";
     };
-    buildInputs =[ TestException ];
-    propagatedBuildInputs =
-      [ ClassMOP Moose namespaceautoclean ListMoreUtils ];
+    buildInputs = [ TestException ];
+    propagatedBuildInputs = [ ListMoreUtils Moose namespaceautoclean ];
   };
 
-  MooseXTypes = buildPerlPackage rec {
+  MooseXTypes = buildPerlModule rec {
     name = "MooseX-Types-0.50";
     src = fetchurl {
       url = "mirror://cpan/authors/id/E/ET/ETHER/${name}.tar.gz";
       sha256 = "9cd87b3492cbf0be9d2df9317b2adf9fc30663770e69906654bea3f41b17cb08";
     };
-    buildInputs = [ ModuleBuildTiny TestFatal TestRequires self."if" ];
-    propagatedBuildInputs = [ CarpClan ModuleRuntime Moose SubExporter SubExporterForMethods SubInstall SubName namespaceautoclean ];
+    buildInputs = [ ModuleBuildTiny TestFatal TestRequires ];
+    propagatedBuildInputs = [ CarpClan Moose SubExporterForMethods namespaceautoclean ];
     meta = {
       homepage = https://github.com/moose/MooseX-Types;
       description = "Organise your Moose types in libraries";
@@ -9908,14 +10882,14 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
-  MooseXTypesCommon = buildPerlPackage rec {
+  MooseXTypesCommon = buildPerlModule rec {
     name = "MooseX-Types-Common-0.001014";
     src = fetchurl {
       url = "mirror://cpan/authors/id/E/ET/ETHER/${name}.tar.gz";
       sha256 = "ef93718b6d2f240d50b5c3acb1a74b4c2a191869651470001a82be1f35d0ef0f";
     };
-    buildInputs = [ ModuleBuildTiny TestDeep TestWarnings perl ];
-    propagatedBuildInputs = [ MooseXTypes self."if" ];
+    buildInputs = [ ModuleBuildTiny TestDeep TestWarnings ];
+    propagatedBuildInputs = [ MooseXTypes ];
     meta = {
       homepage = https://github.com/moose/MooseX-Types-Common;
       description = "A library of commonly used type constraints";
@@ -9923,14 +10897,14 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
-  MooseXTypesDateTime = buildPerlPackage rec {
+  MooseXTypesDateTime = buildPerlModule rec {
     name = "MooseX-Types-DateTime-0.13";
     src = fetchurl {
       url = "mirror://cpan/authors/id/E/ET/ETHER/${name}.tar.gz";
       sha256 = "b89fa26636f6a17eaa3868b4514340472b68bbdc2161a1d79a22a1bf5b1d39c6";
     };
-    buildInputs = [ ModuleBuildTiny Moose TestFatal TestSimple ];
-    propagatedBuildInputs = [ DateTime DateTimeLocale DateTimeTimeZone Moose MooseXTypes namespaceclean self."if" ];
+    buildInputs = [ ModuleBuildTiny TestFatal TestSimple13 ];
+    propagatedBuildInputs = [ DateTime MooseXTypes ];
     meta = {
       homepage = https://github.com/moose/MooseX-Types-DateTime;
       description = "DateTime related constraints and coercions for Moose";
@@ -9938,14 +10912,14 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
-  MooseXTypesDateTimeMoreCoercions = buildPerlPackage rec {
+  MooseXTypesDateTimeMoreCoercions = buildPerlModule rec {
     name = "MooseX-Types-DateTime-MoreCoercions-0.15";
     src = fetchurl {
       url = "mirror://cpan/authors/id/E/ET/ETHER/${name}.tar.gz";
       sha256 = "21bb3a597719888edb6ceaa132418d5cf92ecb92a50cce37b94259a55e0e3796";
     };
-    buildInputs = [ ModuleBuildTiny TestFatal TestSimple ];
-    propagatedBuildInputs = [ DateTime DateTimeXEasy Moose MooseXTypes MooseXTypesDateTime TimeDurationParse namespaceclean self."if" ];
+    buildInputs = [ ModuleBuildTiny TestFatal TestSimple13 ];
+    propagatedBuildInputs = [ DateTimeXEasy MooseXTypesDateTime TimeDurationParse ];
     meta = {
       homepage = https://github.com/moose/MooseX-Types-DateTime-MoreCoercions;
       description = "Extensions to MooseX::Types::DateTime";
@@ -9953,14 +10927,14 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
-  MooseXTypesLoadableClass = buildPerlPackage {
-    name = "MooseX-Types-LoadableClass-0.012";
+  MooseXTypesLoadableClass = buildPerlModule {
+    name = "MooseX-Types-LoadableClass-0.015";
     src = fetchurl {
-      url = mirror://cpan/authors/id/E/ET/ETHER/MooseX-Types-LoadableClass-0.012.tar.gz;
-      sha256 = "a1d2b186c2b69f416bb0c9271dc8692c2287c2f6ce144cc3b9b2c922427060df";
+      url = mirror://cpan/authors/id/E/ET/ETHER/MooseX-Types-LoadableClass-0.015.tar.gz;
+      sha256 = "e037d3778253dcf92946435715bada0e6449c0a2808fa3ff32a965064d5a3bf4";
     };
-    buildInputs = [ ModuleBuildTiny Moose TestFatal ];
-    propagatedBuildInputs = [ ClassLoad ModuleRuntime Moose MooseXTypes namespaceautoclean ];
+    buildInputs = [ ModuleBuildTiny TestFatal ];
+    propagatedBuildInputs = [ MooseXTypes ];
     meta = {
       maintainers = with maintainers; [ ];
       platforms   = stdenv.lib.platforms.unix;
@@ -9970,27 +10944,28 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
-  MooseXTypesPathClass = buildPerlPackage {
-    name = "MooseX-Types-Path-Class-0.06";
+  MooseXTypesPathClass = buildPerlModule {
+    name = "MooseX-Types-Path-Class-0.09";
     src = fetchurl {
-      url = mirror://cpan/authors/id/T/TH/THEPLER/MooseX-Types-Path-Class-0.06.tar.gz;
-      sha256 = "02lw86r6pp6saiwc7ns890mlwq93vhkqyri3cipsfwhnhcap847g";
+      url = mirror://cpan/authors/id/E/ET/ETHER/MooseX-Types-Path-Class-0.09.tar.gz;
+      sha256 = "0zpgwzxj6d9k2lbg6v6zd1bcbzjz2h336rm816krbblq6ssvm177";
     };
-    propagatedBuildInputs = [ ClassMOP Moose MooseXTypes PathClass ];
+    propagatedBuildInputs = [ MooseXTypes PathClass ];
     meta = {
       description = "A Path::Class type library for Moose";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
+    buildInputs = [ ModuleBuildTiny TestNeeds ];
   };
 
   MooseXTypesPathTiny = buildPerlModule {
-    name = "MooseX-Types-Path-Tiny-0.006";
+    name = "MooseX-Types-Path-Tiny-0.012";
     src = fetchurl {
-      url = mirror://cpan/authors/id/E/ET/ETHER/MooseX-Types-Path-Tiny-0.006.tar.gz;
-      sha256 = "0260c6fbbf84d411b145238ffd92a73f754bd92434448d9f78798fba0a2dfdd6";
+      url = mirror://cpan/authors/id/E/ET/ETHER/MooseX-Types-Path-Tiny-0.012.tar.gz;
+      sha256 = "19eede02dd654e70f73e34cd7af0063765173bcaefeeff1bdbe21318ecfd9158";
     };
-    buildInputs = [ Filepushd ModuleBuildTiny TestCheckDeps TestFatal ModuleMetadata ];
-    propagatedBuildInputs = [ Moose MooseXTypes MooseXTypesStringlike PathTiny ];
+    buildInputs = [ Filepushd ModuleBuildTiny TestFatal ];
+    propagatedBuildInputs = [ MooseXGetopt MooseXTypesStringlike PathTiny ];
     meta = {
       homepage = https://github.com/karenetheridge/moosex-types-path-tiny;
       description = "Path::Tiny types and coercions for Moose";
@@ -10006,7 +10981,7 @@ let self = _self // overrides; _self = with self; {
       url = mirror://cpan/authors/id/R/RJ/RJBS/MooseX-Types-Perl-0.101343.tar.gz;
       sha256 = "0nijy676q27bvjb8swxrb1j4lq2xq8jbqkaxs1l9q81k7jpvx17h";
     };
-    propagatedBuildInputs = [ MooseXTypes ParamsUtil ];
+    propagatedBuildInputs = [ MooseXTypes ];
     meta = {
       description = "Moose types that check against Perl syntax";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
@@ -10014,12 +10989,11 @@ let self = _self // overrides; _self = with self; {
   };
 
   MooseXTypesStringlike = buildPerlPackage {
-    name = "MooseX-Types-Stringlike-0.002";
+    name = "MooseX-Types-Stringlike-0.003";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DA/DAGOLDEN/MooseX-Types-Stringlike-0.002.tar.gz;
-      sha256 = "18g07bvhcrhirb1yhcz55y7nsvkw1wq285d1hyb0jxrzgr0ga94k";
+      url = mirror://cpan/authors/id/D/DA/DAGOLDEN/MooseX-Types-Stringlike-0.003.tar.gz;
+      sha256 = "06fgamdiz0n7cgghb8ycjd5mcidj8w769zs2gws6z6jjbkn4kqrf";
     };
-    buildInputs = [ Moose ];
     propagatedBuildInputs = [ MooseXTypes ];
     meta = {
       homepage = https://github.com/dagolden/moosex-types-stringlike;
@@ -10030,14 +11004,14 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
-  MooseXTypesStructured = buildPerlPackage {
-    name = "MooseX-Types-Structured-0.30";
+  MooseXTypesStructured = buildPerlModule {
+    name = "MooseX-Types-Structured-0.36";
     src = fetchurl {
-      url = mirror://cpan/authors/id/E/ET/ETHER/MooseX-Types-Structured-0.30.tar.gz;
-      sha256 = "0svfgbyzwdipywh7bfp954hncm8ihfr8xpppcyy59wr1inx2f55c";
+      url = mirror://cpan/authors/id/E/ET/ETHER/MooseX-Types-Structured-0.36.tar.gz;
+      sha256 = "0mrxc00sid7526c6brrnjr6288468sszic3wazij71v3z59bdka3";
     };
-    buildInputs = [ DateTime MooseXTypesDateTime TestFatal ];
-    propagatedBuildInputs = [ DevelPartialDump Moose MooseXTypes SubExporter ];
+    buildInputs = [ DateTime ModuleBuildTiny MooseXTypesDateTime TestFatal TestNeeds ];
+    propagatedBuildInputs = [ DevelPartialDump MooseXTypes ];
     meta = {
       homepage = https://metacpan.org/release/MooseX-Types-Structured;
       description = "MooseX::Types::Structured - Structured Type Constraints for Moose";
@@ -10047,14 +11021,14 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
-  MooseXTypesURI = buildPerlPackage rec {
+  MooseXTypesURI = buildPerlModule rec {
     name = "MooseX-Types-URI-0.08";
     src = fetchurl {
       url = "mirror://cpan/authors/id/E/ET/ETHER/${name}.tar.gz";
       sha256 = "d310d20fa361fe2dff758236df87949cc7bf98e5cf3a7c79115365eccde6ccc1";
     };
-    buildInputs = [ ModuleBuildTiny Moose TestSimple ];
-    propagatedBuildInputs = [ Moose MooseXTypes MooseXTypesPathClass URI URIFromHash namespaceautoclean self."if" ];
+    buildInputs = [ ModuleBuildTiny TestSimple13 ];
+    propagatedBuildInputs = [ MooseXTypesPathClass URIFromHash ];
     meta = {
       homepage = https://github.com/moose/MooseX-Types-URI;
       description = "URI related types and coercions for Moose";
@@ -10065,15 +11039,12 @@ let self = _self // overrides; _self = with self; {
   };
 
   Mouse = buildPerlModule rec {
-    name = "Mouse-v2.4.10";
+    name = "Mouse-2.5.2";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/G/GF/GFUJI/${name}.tar.gz";
-      sha256 = "053d28c4v8kj7llwfwj5hjkvc1kcs6mvcn24yg7vxklgj6hxv5dr";
+      url = mirror://cpan/authors/id/S/SK/SKAJI/Mouse-v2.5.2.tar.gz;
+      sha256 = "17nr2432cfw7q2qxiz8pv7lw91dszgvn4ln77gpv2m77kjh5ilbs";
     };
-    buildInputs = [
-      ModuleBuildXSUtil TestException TestLeakTrace TestRequires TestOutput
-      TestFatal
-    ];
+    buildInputs = [ DevelPPPort ModuleBuildXSUtil TestException TestFatal TestLeakTrace TestOutput TestRequires TryTiny self.version ];
     NIX_CFLAGS_COMPILE = stdenv.lib.optionalString stdenv.isi686 "-fno-stack-protector";
     hardeningDisable = stdenv.lib.optional stdenv.isi686 "stackprotector";
   };
@@ -10084,8 +11055,8 @@ let self = _self // overrides; _self = with self; {
       url = "mirror://cpan/authors/id/G/GF/GFUJI/${name}.tar.gz";
       sha256 = "0pnbchkxfz9fwa8sniyjqp0mz75b3k2fafq9r09znbbh51dbz9gq";
     };
-    buildInputs = [ TestFatal ];
-    propagatedBuildInputs = [ AnyMoose ];
+    buildInputs = [ AnyMoose TestFatal ];
+    propagatedBuildInputs = [ Mouse ];
     meta = {
       description = "Extend attribute interfaces for Mouse";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
@@ -10093,10 +11064,10 @@ let self = _self // overrides; _self = with self; {
   };
 
   MozillaCA = buildPerlPackage rec {
-    name = "Mozilla-CA-20160104";
+    name = "Mozilla-CA-20180117";
     src = fetchurl {
       url = "mirror://cpan/authors/id/A/AB/ABH/${name}.tar.gz";
-      sha256 = "27a7069a243162b65ada4194ff9d21b6ebc304af723eb5d3972fb74c11b03f2a";
+      sha256 = "f2cc9fbe119f756313f321e0d9f1fac0859f8f154ac9d75b1a264c1afdf4e406";
     };
     meta = {
       description = "Mozilla's CA cert bundle in PEM format";
@@ -10121,10 +11092,10 @@ let self = _self // overrides; _self = with self; {
   };
 
   MROCompat = buildPerlPackage {
-    name = "MRO-Compat-0.12";
+    name = "MRO-Compat-0.13";
     src = fetchurl {
-      url = mirror://cpan/authors/id/B/BO/BOBTFISH/MRO-Compat-0.12.tar.gz;
-      sha256 = "1mhma2g83ih9f8nkmg2k9l0x6izhhbb6k5lli4rpllxad4wbk9dv";
+      url = mirror://cpan/authors/id/H/HA/HAARG/MRO-Compat-0.13.tar.gz;
+      sha256 = "1y547lr6zccf7919vx01v22zsajy528psanhg5aqschrrin3nb4a";
     };
     meta = {
       description = "Mro::* interface compatibility for Perls < 5.9.5";
@@ -10146,13 +11117,13 @@ let self = _self // overrides; _self = with self; {
     propagatedBuildInputs = [ pkgs.libdiscid ];
   };
 
-  MusicBrainz = buildPerlPackage rec {
-    name = "WebService-MusicBrainz-0.93";
+  MusicBrainz = buildPerlModule rec {
+    name = "WebService-MusicBrainz-1.0.4";
     src = fetchurl {
       url = "mirror://cpan/authors/id/B/BF/BFAIST/${name}.tar.gz";
-      sha256 = "1gg62x6qv4jj73jsqh0sb237k96i22blj29afpbp1scp3m7i5g61";
+      sha256 = "182z3xjajk6s7k5xm3kssjy3hqx2qbnq4f8864hma098ryy2ph3a";
     };
-    propagatedBuildInputs = [ XMLLibXML LWP ClassAccessor URI ];
+    propagatedBuildInputs = [ Mojolicious ];
     doCheck = false; # Test performs network access.
   };
 
@@ -10163,7 +11134,7 @@ let self = _self // overrides; _self = with self; {
       sha256 = "cd410a1681add521a28805da2e138d44f0d542407b50999252a147e553c26c39";
     };
     buildInputs = [ TestRequires ];
-    propagatedBuildInputs = [ BHooksEndOfScope SubIdentify namespaceclean ];
+    propagatedBuildInputs = [ SubIdentify namespaceclean ];
     meta = {
       homepage = https://github.com/moose/namespace-autoclean;
       description = "Keep imports out of your namespace";
@@ -10172,10 +11143,10 @@ let self = _self // overrides; _self = with self; {
   };
 
   namespaceclean = buildPerlPackage rec {
-    name = "namespace-clean-0.26";
+    name = "namespace-clean-0.27";
     src = fetchurl {
       url = "mirror://cpan/authors/id/R/RI/RIBASUSHI/${name}.tar.gz";
-      sha256 = "73986e19c4ad0e634e35f4f26e81437f152d8026eb1d91fe795725746ce13eca";
+      sha256 = "8a10a83c3e183dc78f9e7b7aa4d09b47c11fb4e7d3a33b9a12912fd22e31af9d";
     };
     propagatedBuildInputs = [ BHooksEndOfScope PackageStash ];
     meta = {
@@ -10215,6 +11186,7 @@ let self = _self // overrides; _self = with self; {
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
       maintainers = [ maintainers.rycee ];
     };
+    doCheck = false;
   };
 
   NetAmazonAWSSign = buildPerlPackage {
@@ -10253,17 +11225,16 @@ let self = _self // overrides; _self = with self; {
     doCheck = false; # wants to create actual EC2 instances (for $$$)
   };
 
-  NetAmazonMechanicalTurk = buildPerlPackage rec {
-    name = "Net-Amazon-MechanicalTurk-1.01";
+  NetAmazonMechanicalTurk = buildPerlModule rec {
+    name = "Net-Amazon-MechanicalTurk-1.02";
     src = fetchurl {
       url = "mirror://cpan/authors/id/M/MT/MTURK/${name}.tar.gz";
-      sha256 = "17xh6qcp2sw721r8cpcal80an49264db497namms4k139fsr1yig";
+      sha256 = "13hgggfchhp4m3l2rn3d1v6g6ccwmwf9xiyc9izv5570930mw2cd";
     };
     patches =
       [ ../development/perl-modules/net-amazon-mechanicalturk.patch ];
-    propagatedBuildInputs =
-      [ DigestHMAC LWP LWPProtocolHttps URI XMLParser IOString ];
-    buildInputs = [ DBI DBDSQLite ];
+    propagatedBuildInputs = [ DigestHMAC LWPProtocolHttps XMLParser ];
+    doCheck = false;
   };
 
   NetAmazonS3 = buildPerlPackage rec {
@@ -10272,8 +11243,8 @@ let self = _self // overrides; _self = with self; {
       url = "mirror://cpan/authors/id/R/RC/RCONOVER/${name}.tar.gz";
       sha256 = "efb73dd9a96078742cb8564f7b58f5abe5168277342c7634961d63b4ef278848";
     };
-    buildInputs = [ LWP TestException ];
-    propagatedBuildInputs = [ DataStreamBulk DateTimeFormatHTTP DigestHMAC DigestMD5File FileFindRule HTTPDate HTTPMessage LWPUserAgentDetermined MIMETypes Moose MooseXStrictConstructor MooseXTypesDateTimeMoreCoercions PathClass RegexpCommon TermEncoding TermProgressBarSimple URI VMEC2SecurityCredentialCache XMLLibXML ];
+    buildInputs = [ TestException ];
+    propagatedBuildInputs = [ DataStreamBulk DateTimeFormatHTTP DigestHMAC DigestMD5File FileFindRule LWPUserAgentDetermined MIMETypes MooseXStrictConstructor MooseXTypesDateTimeMoreCoercions RegexpCommon TermEncoding TermProgressBarSimple VMEC2SecurityCredentialCache XMLLibXML ];
     meta = {
       homepage = http://search.cpan.org/dist/Net-Amazon-S3/;
       description = "Use the Amazon S3 - Simple Storage Service";
@@ -10281,7 +11252,7 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
-  NetAmazonS3Policy = buildPerlPackage {
+  NetAmazonS3Policy = buildPerlModule {
     name = "Net-Amazon-S3-Policy-0.1.6";
     src = fetchurl {
       url = mirror://cpan/authors/id/P/PO/POLETTIX/Net-Amazon-S3-Policy-0.1.6.tar.gz;
@@ -10314,10 +11285,10 @@ let self = _self // overrides; _self = with self; {
   };
 
   NetCIDR = buildPerlPackage {
-    name = "Net-CIDR-0.17";
+    name = "Net-CIDR-0.18";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MR/MRSAM/Net-CIDR-0.17.tar.gz;
-      sha256 = "4a968e700d382cf0946e47df420d0151fbd8e0135f037d404c7c63713b66daf0";
+      url = mirror://cpan/authors/id/M/MR/MRSAM/Net-CIDR-0.18.tar.gz;
+      sha256 = "c3df7ea8d42b2d8ec328c187329c5f8c4db6a2470873f61e3d0dd91430ef1427";
     };
     meta = {
       description = "Manipulate IPv4/IPv6 netblocks in CIDR notation";
@@ -10345,7 +11316,7 @@ let self = _self // overrides; _self = with self; {
       url = mirror://cpan/authors/id/C/CY/CYCLES/Net-CoverArtArchive-1.02.tar.gz;
       sha256 = "1lfx8lrjgb3s11fcm243jp5sghngd9svkgmg7xmssmj34q4f49ap";
     };
-    buildInputs = [ FileFindRule TryTiny ];
+    buildInputs = [ FileFindRule ];
     propagatedBuildInputs = [ JSONAny LWP Moose namespaceautoclean ];
     meta = {
       homepage = https://github.com/metabrainz/CoverArtArchive;
@@ -10372,10 +11343,10 @@ let self = _self // overrides; _self = with self; {
   };
 
   NetDNS = buildPerlPackage rec {
-    name = "Net-DNS-1.05";
+    name = "Net-DNS-1.15";
     src = fetchurl {
       url = "mirror://cpan/authors/id/N/NL/NLNETLABS/${name}.tar.gz";
-      sha256 = "900198014110af96ebac34af019612dd2ddd6af30178600028c3c940d089d5c8";
+      sha256 = "1ad46ba6438b846a94b4f50d53ecfda55f504a17e11b94effb087ff9329e61d0";
     };
     propagatedBuildInputs = [ DigestHMAC ];
     makeMakerFlags = "--noonline-tests";
@@ -10385,6 +11356,19 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
+  NetDNSResolverMock = buildPerlPackage rec {
+     name = "Net-DNS-Resolver-Mock-1.20171219";
+     src = fetchurl {
+       url = mirror://cpan/authors/id/M/MB/MBRADSHAW/Net-DNS-Resolver-Mock-1.20171219.tar.gz;
+       sha256 = "0m3rxpkv1b9121srvbqkrgzg4m8mnydiydqv34in1i1ixwrl6jn9";
+     };
+     propagatedBuildInputs = [ NetDNS ];
+     meta = {
+       description = "Mock a DNS Resolver object for testing";
+       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+     };
+  };
+
   NetDomainTLD = buildPerlPackage rec {
     name = "Net-Domain-TLD-1.75";
     src = fetchurl {
@@ -10398,11 +11382,24 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
+  NetFastCGI = buildPerlPackage rec {
+     name = "Net-FastCGI-0.14";
+     src = fetchurl {
+       url = mirror://cpan/authors/id/C/CH/CHANSEN/Net-FastCGI-0.14.tar.gz;
+       sha256 = "0sjrnlzci21sci5m52zz0x9bf889j67i6vnhrjlypsfm9w5914qi";
+     };
+     buildInputs = [ TestException TestHexString ];
+     meta = {
+       description = "FastCGI Toolkit";
+       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+     };
+  };
+
   NetHTTP = buildPerlPackage rec {
-    name = "Net-HTTP-6.12";
+    name = "Net-HTTP-6.17";
     src = fetchurl {
       url = "mirror://cpan/authors/id/O/OA/OALDERS/${name}.tar.gz";
-      sha256 = "8565aff76b3d09084642f3a83c654fb4ced8220e8e19d35c78b661519b4c1be6";
+      sha256 = "1e8624b1618dc6f7f605f5545643ebb9b833930f4d7485d4124aa2f2f26d1611";
     };
     propagatedBuildInputs = [ URI ];
     __darwinAllowLocalNetworking = true;
@@ -10411,9 +11408,10 @@ let self = _self // overrides; _self = with self; {
       description = "Low-level HTTP connection (client)";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
+    doCheck = false;
   };
 
-  NetIDNEncode = buildPerlPackage {
+  NetIDNEncode = buildPerlModule {
     name = "Net-IDN-Encode-2.400";
     src = fetchurl {
       url = mirror://cpan/authors/id/C/CF/CFAERBER/Net-IDN-Encode-2.400.tar.gz;
@@ -10431,7 +11429,6 @@ let self = _self // overrides; _self = with self; {
       url = "mirror://cpan/authors/id/G/GA/GANGLION/${name}.tar.gz";
       sha256 = "d3f6a608b85e09a8080a67a9933837aae6f2cd0e8ee39df3380123dc5e3de912";
     };
-    buildInputs = [TestPod TestPodCoverage];
     propagatedBuildInputs = [ IOSocketSSL ListMoreUtils ];
     meta = {
       description = "Not so simple IMAP client library";
@@ -10449,23 +11446,16 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
-  NetLDAP = buildPerlPackage {
-    name = "Net-LDAP-0.4001";
-    propagatedBuildInputs = [ ConvertASN1 ];
-    src = fetchurl {
-      url = mirror://cpan/authors/id/G/GB/GBARR/perl-ldap-0.4001.tar.gz;
-      sha256 = "0spwid70yxkh5zbad3ldw8yb2m5shkm59a7f0kllw8bb7ccczqps";
-    };
-  };
+  NetLDAP = perlldap;
 
-  NetOAuth = buildPerlPackage {
+  NetOAuth = buildPerlModule {
     name = "Net-OAuth-0.28";
     src = fetchurl {
       url = mirror://cpan/authors/id/K/KG/KGRENNAN/Net-OAuth-0.28.tar.gz;
       sha256 = "0k4h4a5048h7qgyx25ih64x0l4airx8a6d9gjq08wmxcl2fk3z3v";
     };
-    buildInputs = [ ModuleBuild TestWarn ];
-    propagatedBuildInputs = [ ClassAccessor ClassDataInheritable DigestHMAC DigestSHA1 LWPUserAgent URI ];
+    buildInputs = [ TestWarn ];
+    propagatedBuildInputs = [ ClassAccessor ClassDataInheritable DigestHMAC DigestSHA1 LWP ];
     meta = {
       description = "An implementation of the OAuth protocol";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
@@ -10485,10 +11475,10 @@ let self = _self // overrides; _self = with self; {
   };
 
   NetPing = buildPerlPackage {
-    name = "Net-Ping-2.41";
+    name = "Net-Ping-2.66";
     src = fetchurl {
-      url = mirror://cpan/authors/id/S/SM/SMPETERS/Net-Ping-2.41.tar.gz;
-      sha256 = "cbff21a8d323f235b70237c7ee56ffa5f22e87511e70608c027e2ec27fce47e0";
+      url = mirror://cpan/authors/id/R/RU/RURBAN/Net-Ping-2.66.tar.gz;
+      sha256 = "a477b29e543695343513e65f3aff885a353ecebb612741e79f0bad5622e4b9e4";
     };
     meta = {
       description = "Check a remote host for reachability";
@@ -10496,12 +11486,11 @@ let self = _self // overrides; _self = with self; {
   };
 
   NetDNSResolverProgrammable = buildPerlPackage rec {
-    name = "Net-DNS-Resolver-Programmable-v0.003";
+    name = "Net-DNS-Resolver-Programmable-0.009";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/J/JM/JMEHNLE/net-dns-resolver-programmable/${name}.tar.gz";
-      sha256 = "8d402260941f259c83bf1b2564408e75288df028f604136c29da11a9a6a076ec";
+      url = mirror://cpan/authors/id/B/BI/BIGPRESH/Net-DNS-Resolver-Programmable-0.009.tar.gz;
+      sha256 = "8080a2ab776629585911af1179bdb7c4dc2bebfd4b5efd77b11d1dac62454bf8";
     };
-    buildInputs = [ ModuleBuild ];
     propagatedBuildInputs = [ NetDNS ];
     meta = {
       description = "Programmable DNS resolver class for offline emulation of DNS";
@@ -10511,10 +11500,10 @@ let self = _self // overrides; _self = with self; {
 
 
   NetServer = buildPerlPackage {
-    name = "Net-Server-2.007";
+    name = "Net-Server-2.009";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RH/RHANDOM/Net-Server-2.007.tar.gz;
-      sha256 = "0a03m237cw6j5bvm2yxk2b2gbfx7wj0w2x5zivi9ddqvbcad6vqw";
+      url = mirror://cpan/authors/id/R/RH/RHANDOM/Net-Server-2.009.tar.gz;
+      sha256 = "0gw1k9gcw7habbkxvsfa2gz34brlbwcidk6khgsf1qjm0dbccrw2";
     };
     doCheck = false; # seems to hang waiting for connections
     meta = {
@@ -10522,23 +11511,28 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
-  NetSMTP = buildPerlPackage {
-    name = "Net-SMTP-1.25";
-    src = fetchurl {
-      url = mirror://cpan/authors/id/S/SH/SHAY/libnet-1.25.tar.gz;
-      sha256 = "01f3l4aj3ynl8syyrl122k4bmfds77yw5q36aafrgaq22fnb3b2a";
-    };
-    patchPhase = "chmod a-x Configure";
-    doCheck = false; # The test suite fails, because it requires network access.
+  NetServerCoro = buildPerlPackage rec {
+     name = "Net-Server-Coro-1.3";
+     src = fetchurl {
+       url = mirror://cpan/authors/id/A/AL/ALEXMV/Net-Server-Coro-1.3.tar.gz;
+       sha256 = "11pvfxsi0q37kd17z597wb8r9dv3r96fiagq57kc746k1lmp06hy";
+     };
+     propagatedBuildInputs = [ Coro NetServer ];
+     meta = {
+       description = "A co-operative multithreaded server using Coro";
+       license = with stdenv.lib.licenses; [ mit ];
+     };
   };
 
+  NetSMTP = libnet;
+
   NetSMTPSSL = buildPerlPackage {
-    name = "Net-SMTP-SSL-1.03";
+    name = "Net-SMTP-SSL-1.04";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RJ/RJBS/Net-SMTP-SSL-1.03.tar.gz;
-      sha256 = "05y94mb1vdw32mvwb0cp2h4ggh32f8j8nwwfjb8kjwxvfkfhyp9h";
+      url = mirror://cpan/authors/id/R/RJ/RJBS/Net-SMTP-SSL-1.04.tar.gz;
+      sha256 = "001a6dcfahf7kkyirqkc8jd4fh4fkal7n7vm9c4dblqrvmdc8abv";
     };
-    propagatedBuildInputs = [IOSocketSSL];
+    propagatedBuildInputs = [ IOSocketSSL ];
   };
 
   NetSMTPTLS = buildPerlPackage {
@@ -10547,7 +11541,7 @@ let self = _self // overrides; _self = with self; {
       url = mirror://cpan/authors/id/A/AW/AWESTHOLM/Net-SMTP-TLS-0.12.tar.gz;
       sha256 = "19g48kabj22v66jbf69q78xplhi7r1y2kdbddfwh4xy3g9k75rzg";
     };
-    propagatedBuildInputs = [IOSocketSSL DigestHMAC];
+    propagatedBuildInputs = [ DigestHMAC IOSocketSSL ];
   };
 
   NetSMTPTLSButMaintained = buildPerlPackage {
@@ -10556,10 +11550,10 @@ let self = _self // overrides; _self = with self; {
       url = mirror://cpan/authors/id/F/FA/FAYLAND/Net-SMTP-TLS-ButMaintained-0.24.tar.gz;
       sha256 = "0vi5cv7f9i96hgp3q3jpxzn1ysn802kh5xc304f8b7apf67w15bb";
     };
-    propagatedBuildInputs = [NetSSLeay DigestHMAC IOSocketSSL];
+    propagatedBuildInputs = [ DigestHMAC IOSocketSSL ];
   };
 
-  NetSNMP = buildPerlPackage rec {
+  NetSNMP = buildPerlModule rec {
     name = "Net-SNMP-6.0.1";
     src = fetchurl {
       url = "mirror://cpan/authors/id/D/DT/DTOWN/Net-SNMP-v6.0.1.tar.gz";
@@ -10569,10 +11563,10 @@ let self = _self // overrides; _self = with self; {
   };
 
   NetSSLeay = buildPerlPackage rec {
-    name = "Net-SSLeay-1.77";
+    name = "Net-SSLeay-1.85";
     src = fetchurl {
       url = "mirror://cpan/authors/id/M/MI/MIKEM/${name}.tar.gz";
-      sha256 = "06h6wbr923jxmazmv5shdg1767s7r60bvzcza52dk31yckks6l31";
+      sha256 = "1j5h4ycm8538397l204d2d5fkm9595aj174pj7bkpbhwzfwqi0cx";
     };
     buildInputs = [ pkgs.openssl ];
     doCheck = false; # Test performs network access.
@@ -10590,10 +11584,10 @@ let self = _self // overrides; _self = with self; {
   };
 
   NetStatsd = buildPerlPackage {
-    name = "Net-Statsd-0.11";
+    name = "Net-Statsd-0.12";
     src = fetchurl {
-      url = mirror://cpan/authors/id/C/CO/COSIMO/Net-Statsd-0.11.tar.gz;
-      sha256 = "0f56c95846c7e65e6d32cec13ab9df65716429141f106d2dc587f1de1e09e163";
+      url = mirror://cpan/authors/id/C/CO/COSIMO/Net-Statsd-0.12.tar.gz;
+      sha256 = "63e453603da165bc6d1c4ca0b55eda3d2204f040c59304a47782c5aa7886565c";
     };
     meta = {
       description = "Sends statistics to the stats daemon over UDP";
@@ -10613,14 +11607,14 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
-  NetTwitterLite = buildPerlPackage {
-    name = "Net-Twitter-Lite-0.11002";
+  NetTwitterLite = buildPerlModule {
+    name = "Net-Twitter-Lite-0.12008";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MM/MMIMS/Net-Twitter-Lite-0.11002.tar.gz;
-      sha256 = "032gyn1h3r5d83wvz7nj3k7g50wcf73lbbmjc18466ml90vigys0";
+      url = mirror://cpan/authors/id/M/MM/MMIMS/Net-Twitter-Lite-0.12008.tar.gz;
+      sha256 = "13j69a6nqq8mh5b4qk021db55rkfnk1ppwk0rpg68b1z58gvxsmj";
     };
-    buildInputs = [ ModuleBuild ];
-    propagatedBuildInputs = [ CryptSSLeay LWPUserAgent NetOAuth URI ];
+    buildInputs = [ ModuleBuildTiny TestFatal ];
+    propagatedBuildInputs = [ JSON LWPProtocolHttps ];
     doCheck = false;
     meta = {
       homepage = https://github.com/semifor/Net-Twitter-Lite;
@@ -10649,6 +11643,18 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
+  NumberMisc = buildPerlModule rec {
+     name = "Number-Misc-1.2";
+     src = fetchurl {
+       url = mirror://cpan/authors/id/M/MI/MIKO/Number-Misc-1.2.tar.gz;
+       sha256 = "1n4ivj4ydplanwbxn3jbsfyfcl91ngn2d0addzqrq1hac26bdfbp";
+     };
+     meta = {
+       description = "Number::Misc - handy utilities for numbers";
+       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+     };
+  };
+
   NTLM = buildPerlPackage rec {
     name = "NTLM-1.09";
     src = fetchurl {
@@ -10674,11 +11680,11 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
-  ObjectInsideOut = buildPerlPackage {
-    name = "Object-InsideOut-3.98";
+  ObjectInsideOut = buildPerlModule {
+    name = "Object-InsideOut-4.04";
     src = fetchurl {
-      url = mirror://cpan/authors/id/J/JD/JDHEDDEN/Object-InsideOut-3.98.tar.gz;
-      sha256 = "1zxfm2797p8b9dsvnbgd6aa4mgpxqxjqzbpfbla1g7f9alxm9f1z";
+      url = mirror://cpan/authors/id/J/JD/JDHEDDEN/Object-InsideOut-4.04.tar.gz;
+      sha256 = "01pncagr3k7yj0rn22xap08s17nw2p2ffcg6j00gs9fg4jv9pfmj";
     };
     propagatedBuildInputs = [ ExceptionClass ];
     meta = {
@@ -10736,7 +11742,7 @@ let self = _self // overrides; _self = with self; {
     };
 
     # FIXME: try with libGL + libGLU instead of libGLU_combined
-    buildInputs = with pkgs; [ libGLU_combined libGLU freeglut xorg.libX11 xorg.libXi xorg.libXmu xorg.libXext xdummy ];
+    buildInputs = with pkgs; [ pkgs.libGLU_combined pkgs.libGLU pkgs.freeglut pkgs.xorg.libX11 pkgs.xorg.libXi pkgs.xorg.libXmu pkgs.xorg.libXext pkgs.xdummy ];
 
     patches = [ ../development/perl-modules/perl-opengl.patch ];
 
@@ -10753,28 +11759,29 @@ let self = _self // overrides; _self = with self; {
   };
 
   NetOpenIDCommon = buildPerlPackage rec {
-    name = "Net-OpenID-Common-1.18";
+    name = "Net-OpenID-Common-1.20";
     src = fetchurl {
       url = "mirror://cpan/authors/id/W/WR/WROG/${name}.tar.gz";
-      sha256 = "13hy5j6hcggb4l2r4pnwdh30p20wwja0chpmqm8y6wnnsp1km07f";
+      sha256 = "1jdbkp18ka2m4akjp9b0dbw2lqnzgwpq435cnh6hwwa79bbrfkmb";
     };
-    propagatedBuildInputs = [ CryptDHGMP URI HTMLParser HTTPMessage XMLSimple ];
+    propagatedBuildInputs = [ CryptDHGMP XMLSimple ];
   };
 
   NetOpenIDConsumer = buildPerlPackage rec {
-    name = "Net-OpenID-Consumer-1.15";
+    name = "Net-OpenID-Consumer-1.18";
     src = fetchurl {
       url = "mirror://cpan/authors/id/W/WR/WROG/${name}.tar.gz";
-      sha256 = "1nh9988436rmmmd6x2zz1fyrqy2005a1gvqzgvnc1pg2ylg61fqf";
+      sha256 = "0f2g6sczvbpyjmy14pabmrj0d48hlsndqswrvmqk1161wxpkh70f";
     };
-    propagatedBuildInputs = [ CGI NetOpenIDCommon JSON LWP ];
+    propagatedBuildInputs = [ JSON NetOpenIDCommon ];
+    buildInputs = [ CGI ];
   };
 
   NetOpenSSH = buildPerlPackage rec {
-    name = "Net-OpenSSH-0.73";
+    name = "Net-OpenSSH-0.77";
     src = fetchurl {
       url = "mirror://cpan/authors/id/S/SA/SALVA/${name}.tar.gz";
-      sha256 = "f45a54b3c6015d4dc44cbff9f9be57bc9d54dfb104fb38bcf3c4eb04789582d9";
+      sha256 = "16e965c6ed3dfe0f1288a6ba932d0e8d5c7846ce86de05c0dbd64259df2a2477";
     };
     meta = {
       description = "Perl SSH client package implemented on top of OpenSSH";
@@ -10782,11 +11789,27 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
+  NetZooKeeper = buildPerlPackage rec {
+    name = "Net-ZooKeeper-0.41";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/M/MA/MAF/${name}.tar.gz";
+      sha256 = "91c177f30f82302eaf3173356eef05c21bc82163df752acb469177bd14a72db9";
+    };
+    buildInputs = [ pkgs.zookeeper_mt ];
+    NIX_CFLAGS_COMPILE = "-I${pkgs.zookeeper_mt}/include";
+    NIX_CFLAGS_LINK = "-L${pkgs.zookeeper_mt.out}/lib -lzookeeper_mt";
+    meta = {
+      maintainers = [ maintainers.limeytexan ];
+      homepage = https://github.com/mark-5/p5-net-zookeeper;
+      license = stdenv.lib.licenses.asl20;
+    };
+  };
+
   PackageConstants = buildPerlPackage {
-    name = "Package-Constants-0.04";
+    name = "Package-Constants-0.06";
     src = fetchurl {
-      url = mirror://cpan/authors/id/B/BI/BINGOS/Package-Constants-0.04.tar.gz;
-      sha256 = "7e09a88da2c0df24f498eb3a133f7d979404a7bc853f21afa2ba68dfd859a880";
+      url = mirror://cpan/authors/id/B/BI/BINGOS/Package-Constants-0.06.tar.gz;
+      sha256 = "0b58be78706ccc4e4bd9bbad41767470427fd7b2cfad749489de101f85bc5df5";
     };
     meta = {
       description = "List constants defined in a package";
@@ -10795,13 +11818,13 @@ let self = _self // overrides; _self = with self; {
   };
 
   PackageDeprecationManager = buildPerlPackage rec {
-    name = "Package-DeprecationManager-0.16";
+    name = "Package-DeprecationManager-0.17";
     src = fetchurl {
       url = "mirror://cpan/authors/id/D/DR/DROLSKY/${name}.tar.gz";
-      sha256 = "4018a06f7a3ba252c9eccc3fdcad9490cd003dfa6baf261545e96b5a82e784a7";
+      sha256 = "1d743ada482b5c9871d894966e87d4c20edc96931bb949fb2638b000ddd6684b";
     };
     buildInputs = [ TestFatal TestWarnings ];
-    propagatedBuildInputs = [ PackageStash ParamsUtil SubInstall SubName namespaceautoclean ];
+    propagatedBuildInputs = [ PackageStash ParamsUtil SubInstall SubName ];
     meta = {
       homepage = https://metacpan.org/release/Package-DeprecationManager;
       description = "Manage deprecation warnings for your distribution";
@@ -10812,7 +11835,7 @@ let self = _self // overrides; _self = with self; {
   PatchReader = buildPerlPackage rec {
     name = "PatchReader-0.9.6";
     src = fetchurl {
-      url = "http://search.cpan.org/CPAN/authors/id/T/TM/TMANNERM/${name}.tar.gz";
+      url = mirror://cpan/authors/id/T/TM/TMANNERM/PatchReader-0.9.6.tar.gz;
       sha256 = "b8de37460347bb5474dc01916ccb31dd2fe0cd92242c4a32d730e8eb087c323c";
     };
     meta = {
@@ -10828,7 +11851,7 @@ let self = _self // overrides; _self = with self; {
       url = mirror://cpan/authors/id/D/DO/DOY/Package-Stash-0.37.tar.gz;
       sha256 = "06ab05388f9130cd377c0e1d3e3bafeed6ef6a1e22104571a9e1d7bfac787b2c";
     };
-    buildInputs = [ DistCheckConflicts TestFatal TestRequires ];
+    buildInputs = [ TestFatal TestRequires ];
     propagatedBuildInputs = [ DistCheckConflicts ModuleImplementation ];
     meta = {
       homepage = https://metacpan.org/release/Package-Stash;
@@ -10843,7 +11866,7 @@ let self = _self // overrides; _self = with self; {
       url = mirror://cpan/authors/id/D/DO/DOY/Package-Stash-XS-0.28.tar.gz;
       sha256 = "11nl69n8i56p91pd0ia44ip0vpv2cxwpbfakrv01vvv8az1cbn13";
     };
-    buildInputs = [ TestRequires TestFatal ];
+    buildInputs = [ TestFatal TestRequires ];
     meta = {
       homepage = https://metacpan.org/release/Package-Stash-XS;
       description = "Faster and more correct implementation of the Package::Stash API";
@@ -10857,7 +11880,7 @@ let self = _self // overrides; _self = with self; {
       url = "mirror://cpan/authors/id/X/XA/XAOC/${name}.tar.gz";
       sha256 = "0wdcidnfnb6nm79fzfs39ivawj3x8m98a147fmcxgv1zvwia9c1l";
     };
-    buildInputs = [ ExtUtilsDepends ExtUtilsPkgConfig pkgs.pango ];
+    buildInputs = [ pkgs.pango ];
     propagatedBuildInputs = [ Cairo Glib ];
     meta = {
       homepage = http://gtk2-perl.sourceforge.net/;
@@ -10882,10 +11905,10 @@ let self = _self // overrides; _self = with self; {
   };
 
   ParallelPrefork = buildPerlPackage {
-    name = "Parallel-Prefork-0.17";
+    name = "Parallel-Prefork-0.18";
     src = fetchurl {
-      url = mirror://cpan/authors/id/K/KA/KAZUHO/Parallel-Prefork-0.17.tar.gz;
-      sha256 = "0d81de2632281091bd31297de1906e14cae4e845cf32200953b50406859e763b";
+      url = mirror://cpan/authors/id/K/KA/KAZUHO/Parallel-Prefork-0.18.tar.gz;
+      sha256 = "f1c1f48f1ae147a58bc88f9cb2f570d6bb15ea4c0d589abd4c3084ddc961596e";
     };
     buildInputs = [ TestRequires TestSharedFork ];
     propagatedBuildInputs = [ ClassAccessorLite ListMoreUtils ProcWait3 ScopeGuard SignalMask ];
@@ -10895,13 +11918,12 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
-  ParamsClassify = buildPerlPackage rec {
-    name = "Params-Classify-0.013";
+  ParamsClassify = buildPerlModule rec {
+    name = "Params-Classify-0.015";
     src = fetchurl {
-      url = "mirror://cpan/modules/by-module/Params/${name}.tar.gz";
-      sha256 = "1d4ysd95flszrxrnjgy6s7b80jkagjsb939h42i2hix4q20sy0a1";
+      url = mirror://cpan/authors/id/Z/ZE/ZEFRAM/Params-Classify-0.015.tar.gz;
+      sha256 = "052r198xyrsv8wz21gijdigz2cgnidsa37nvyfzdiz4rv1fc33ir";
     };
-    buildInputs = [ ModuleBuild ExtUtilsParseXS ];
   };
 
   ParamsUtil = buildPerlPackage {
@@ -10918,12 +11940,12 @@ let self = _self // overrides; _self = with self; {
   };
 
   ParamsValidate = buildPerlModule rec {
-    name = "Params-Validate-1.24";
+    name = "Params-Validate-1.29";
     src = fetchurl {
       url = "mirror://cpan/authors/id/D/DR/DROLSKY/${name}.tar.gz";
-      sha256 = "1e1576f16e6e01ba63aa73775da563b410b49f26ee44169a45280feb958a5f0d";
+      sha256 = "49a68dfb430bea028042479111d19068e08095e5a467e320b7ab7bde3d729733";
     };
-    buildInputs = [ ModuleBuild TestFatal TestRequires ];
+    buildInputs = [ TestFatal TestRequires ];
     propagatedBuildInputs = [ ModuleImplementation ];
     perlPreHook = "export LD=$CC";
     meta = {
@@ -10933,6 +11955,40 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
+  ParamsValidationCompiler = buildPerlPackage rec {
+     name = "Params-ValidationCompiler-0.27";
+     src = fetchurl {
+       url = mirror://cpan/authors/id/D/DR/DROLSKY/Params-ValidationCompiler-0.27.tar.gz;
+       sha256 = "1cpr188c2xm0kkmdir6slcsgv7v6ibqff4lax8s0whwx6ml9kaah";
+     };
+     propagatedBuildInputs = [ EvalClosure ExceptionClass ];
+     buildInputs = [ Specio Test2PluginNoWarnings Test2Suite TestSimple13 TestWithoutModule ];
+     meta = {
+       description = "Build an optimized subroutine parameter validator once, use it forever";
+       license = with stdenv.lib.licenses; [ artistic2 ];
+       homepage = "http://metacpan.org/release/Params-ValidationCompiler";
+     };
+  };
+
+  Paranoid = buildPerlPackage rec {
+    name = "Paranoid-2.05";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/C/CO/CORLISS/Paranoid/${name}.tar.gz";
+      sha256 = "583dfa0279733531f360795ad1cf4aa652d537b2b0bbd3c6925d0c8d75cbb3df";
+    };
+    patches = [ ../development/perl-modules/Paranoid-blessed-path.patch ];
+    preConfigure = ''
+      # Capture the path used when compiling this module as the "blessed"
+      # system path, analogous to the module's own use of '/bin:/sbin'.
+      sed -i "s#__BLESSED_PATH__#${pkgs.coreutils}/bin#" lib/Paranoid.pm t/01_init_core.t
+    '';
+    meta = {
+      description = "General function library for safer, more secure programming";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+      maintainers = [ maintainers.limeytexan ];
+    };
+  };
+
   PARDist = buildPerlPackage {
     name = "PAR-Dist-0.49";
     src = fetchurl {
@@ -10944,11 +12000,26 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
+  PAUSEPermissions = buildPerlPackage rec {
+     name = "PAUSE-Permissions-0.17";
+     src = fetchurl {
+       url = mirror://cpan/authors/id/N/NE/NEILB/PAUSE-Permissions-0.17.tar.gz;
+       sha256 = "021ink414w4mdk6rd54cc1f23kfqg0zk4njx4ngr0bw3wc6r4kks";
+     };
+     propagatedBuildInputs = [ FileHomeDir HTTPDate MooXOptions TimeDurationParse ];
+     buildInputs = [ PathTiny ];
+     meta = {
+       description = "interface to PAUSE's module permissions file (06perms.txt)";
+       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+       homepage = "https://github.com/neilb/PAUSE-Permissions";
+     };
+  };
+
   Parent = buildPerlPackage {
-    name = "parent-0.228";
+    name = "parent-0.236";
     src = fetchurl {
-      url = mirror://cpan/authors/id/C/CO/CORION/parent-0.228.tar.gz;
-      sha256 = "0w0i02y4z8465z050kml57mvhv7c5gl8w8ivplhr3cms0zbaq87b";
+      url = mirror://cpan/authors/id/C/CO/CORION/parent-0.236.tar.gz;
+      sha256 = "0yhjps1fprifhvzdwwl09bp1ngyqx85rvyn96j34papn0jypx0rd";
     };
   };
 
@@ -10972,15 +12043,41 @@ let self = _self // overrides; _self = with self; {
       url = "mirror://cpan/authors/id/J/JA/JAYBONCI/${name}.tar.gz";
       sha256 = "0ad78qri4sg9agghqdm83xsjgks94yvffs23kppy7mqjy8gwwjxn";
     };
-    buildInputs = [ TestPod LWPUserAgent ];
-    propagatedBuildInputs = [ IOStringy ];
+    propagatedBuildInputs = [ IOStringy LWP ];
     meta = with stdenv.lib; {
       homepage = http://search.cpan.org/~jaybonci/Parse-DebControl;
       license = with licenses; [ artistic1 gpl1Plus ];
     };
   };
 
-  ParseRecDescent = buildPerlPackage rec {
+  ParseLocalDistribution = buildPerlPackage rec {
+     name = "Parse-LocalDistribution-0.19";
+     src = fetchurl {
+       url = mirror://cpan/authors/id/I/IS/ISHIGAKI/Parse-LocalDistribution-0.19.tar.gz;
+       sha256 = "17p92nj4k3acrqqjnln1j5x8hbra9jkx5hdcybrq37ld9qnc62vb";
+     };
+     propagatedBuildInputs = [ ParsePMFile ];
+     buildInputs = [ ExtUtilsMakeMakerCPANfile TestUseAllModules ];
+     meta = {
+       description = "parses local .pm files as PAUSE does";
+       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+     };
+  };
+
+  ParsePMFile = buildPerlPackage rec {
+     name = "Parse-PMFile-0.41";
+     src = fetchurl {
+       url = mirror://cpan/authors/id/I/IS/ISHIGAKI/Parse-PMFile-0.41.tar.gz;
+       sha256 = "1ffv9msp4xjfaylay2zfqangxhgyr5xk993k5n1k08hh6qagq8df";
+     };
+     buildInputs = [ ExtUtilsMakeMakerCPANfile ];
+     meta = {
+       description = "parses .pm file as PAUSE does";
+       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+     };
+  };
+
+  ParseRecDescent = buildPerlModule rec {
     name = "Parse-RecDescent-1.967015";
     src = fetchurl {
       url = "mirror://cpan/authors/id/J/JT/JTBRAUN/${name}.tar.gz";
@@ -11000,11 +12097,11 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
-  PathClass = buildPerlPackage {
-    name = "Path-Class-0.33";
+  PathClass = buildPerlModule {
+    name = "Path-Class-0.37";
     src = fetchurl {
-      url = mirror://cpan/authors/id/K/KW/KWILLIAMS/Path-Class-0.33.tar.gz;
-      sha256 = "0xy6s04xpslpzbb90x67yvfv0pjqnj1szxlx16vfx690iskcd36d";
+      url = mirror://cpan/authors/id/K/KW/KWILLIAMS/Path-Class-0.37.tar.gz;
+      sha256 = "1kj8q8dmd8jci94w5arav59nkp0pkxrkliz4n8n6yf02hsa82iv5";
     };
     meta = {
       description = "Cross-platform path specification manipulation";
@@ -11018,8 +12115,6 @@ let self = _self // overrides; _self = with self; {
       url = mirror://cpan/authors/id/D/DA/DAGOLDEN/Path-Tiny-0.104.tar.gz;
       sha256 = "c69f1dcfeb4aa004086deb9bc14c7d79f45798b947f1efbd634a3442e267aaef";
     };
-    buildInputs = [ DevelHide Filepushd TestDeep TestFailWarnings TestFatal perl ];
-    propagatedBuildInputs = [ autodie ];
     meta = {
       homepage = https://metacpan.org/release/Path-Tiny;
       description = "File path utility";
@@ -11080,10 +12175,10 @@ let self = _self // overrides; _self = with self; {
   };
 
   Pegex = buildPerlPackage rec {
-    name = "Pegex-0.60";
+    name = "Pegex-0.64";
     src = fetchurl {
       url = "mirror://cpan/authors/id/I/IN/INGY/${name}.tar.gz";
-      sha256 = "317347f8c6355e886d87aef4c30fb4cb6cfa3e46adf62f59e6141ec05a97f2cf";
+      sha256 = "27e00264bdafb9c2109212b9654542032617fecf7b7814915d2bdac198f067cd";
     };
     buildInputs = [ FileShareDirInstall YAMLLibYAML ];
     meta = {
@@ -11120,8 +12215,8 @@ let self = _self // overrides; _self = with self; {
       url = "mirror://cpan/authors/id/P/PE/PETDANCE/${name}.tar.gz";
       sha256 = "0662e8f02dd78e39ee9d5b01bdf5376a7cc70ce2b0edc9ca015be35e6cb61df6";
     };
-    buildInputs = [ ModuleBuild TestDeep ];
-    propagatedBuildInputs = [ BKeywords ConfigTiny EmailAddress ExceptionClass FileHomeDir FileWhich IOString ListMoreUtils ModulePluggable PPI PPIxRegexp PPIxUtilities PerlTidy PodSpell Readonly StringFormat TaskWeaken ];
+    buildInputs = [ TestDeep ];
+    propagatedBuildInputs = [ BKeywords ConfigTiny EmailAddress FileHomeDir ModulePluggable PPIxRegexp PPIxUtilities PerlTidy PodSpell StringFormat ];
     meta = {
       homepage = http://perlcritic.com;
       description = "Critique Perl source code for best-practices";
@@ -11130,18 +12225,18 @@ let self = _self // overrides; _self = with self; {
   };
 
   PerlIOeol = buildPerlPackage rec {
-    name = "PerlIO-eol-0.16";
+    name = "PerlIO-eol-0.17";
     src = fetchurl {
       url = "mirror://cpan/authors/id/S/SH/SHLOMIF/${name}.tar.gz";
-      sha256 = "159zrrf44469sjklsi0pb4c005q74d9242q7mqawvbwnxjqbh0a5";
+      sha256 = "1fayp27vcmypqyzcd4003036h3g5zy6jk1ia25frdca58pzcpk6f";
     };
   };
 
   PerlIOutf8_strict = buildPerlPackage rec {
-    name = "PerlIO-utf8_strict-0.006";
+    name = "PerlIO-utf8_strict-0.007";
     src = fetchurl {
       url = "mirror://cpan/authors/id/L/LE/LEONT/${name}.tar.gz";
-      sha256 = "980010e624c43be0a2aac8e1fe5db3fe43035940def75ca70401bb1ca98bd562";
+      sha256 = "83a33f2fe046cb3ad6afc80790635a423e2c7c6854afacc6998cd46951cc81cb";
     };
     buildInputs = [ TestException ];
     meta = {
@@ -11185,13 +12280,13 @@ let self = _self // overrides; _self = with self; {
     '';
   };
 
-  PerlIOviaTimeout = buildPerlPackage rec {
+  PerlIOviaTimeout = buildPerlModule rec {
     name = "PerlIO-via-Timeout-0.32";
     src = fetchurl {
       url = "mirror://cpan/authors/id/D/DA/DAMS/${name}.tar.gz";
       sha256 = "9278f9ef668850d913d98fa4c0d7e7d667cff3503391f4a4eae73a246f2e7916";
     };
-    buildInputs = [ ModuleBuildTiny TestTCP ];
+    buildInputs = [ ModuleBuildTiny TestSharedFork TestTCP ];
     meta = {
       description = "A PerlIO layer that adds read & write timeout to a handle";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
@@ -11199,6 +12294,22 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
+  perlldap = buildPerlPackage rec {
+    name = "perl-ldap-0.65";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/M/MA/MARSCHAP/${name}.tar.gz";
+      sha256 = "5f57dd261dc16ebf942a272ddafe69526598df71151a51916edc37a4f2f23834";
+    };
+    buildInputs = [ TextSoundex ];
+    propagatedBuildInputs = [ ConvertASN1 ];
+    meta = {
+      homepage = http://ldap.perl.org/;
+      description = "LDAP client library";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+      maintainers = [ maintainers.limeytexan ];
+    };
+  };
+
   PerlMagick = buildPerlPackage rec {
     name = "PerlMagick-6.89-1";
     src = fetchurl {
@@ -11214,18 +12325,18 @@ let self = _self // overrides; _self = with self; {
   };
 
   PerlOSType = buildPerlPackage rec {
-    name = "Perl-OSType-1.009";
+    name = "Perl-OSType-1.010";
     src = fetchurl {
       url = "mirror://cpan/authors/id/D/DA/DAGOLDEN/${name}.tar.gz";
-      sha256 = "01mfvh6x9mgfnwb31bmaw0jkqkxbl8gn50mwqgjwajk1yz4z8p14";
+      sha256 = "1ch36kfjwm229xicb9k7b9fhisy58ihdr16vm8iwniymnna4kvg7";
     };
   };
 
   PerlTidy = buildPerlPackage rec {
-    name = "Perl-Tidy-20160302";
+    name = "Perl-Tidy-20180220";
     src = fetchurl {
       url = "mirror://cpan/authors/id/S/SH/SHANCOCK/${name}.tar.gz";
-      sha256 = "6dd04ed8c315bcfea8fe713de8f9de68955795b6864f3be6c177e802fd30dca7";
+      sha256 = "e9973ce28b7518108c1e68fa767c6566822480e739df275375a0dfcc9c2b3370";
     };
     meta = {
       description = "Indent and reformat perl scripts";
@@ -11245,14 +12356,28 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
+  PkgConfig = buildPerlPackage rec {
+    name = "PkgConfig-0.19026";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/P/PL/PLICEASE/${name}.tar.gz";
+      sha256 = "5cb6e934d29dd93e04c2fa779f4b7e51361edaf56957b47a232017a4bb7e922c";
+    };
+    meta = {
+      homepage = https://metacpan.org/pod/PkgConfig;
+      description = "Pure-Perl Core-Only replacement for pkg-config";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+      maintainers = [ maintainers.limeytexan ];
+    };
+  };
+
   Plack = buildPerlPackage rec {
-    name = "Plack-1.0039";
+    name = "Plack-1.0047";
     src = fetchurl {
       url = "mirror://cpan/authors/id/M/MI/MIYAGAWA/${name}.tar.gz";
-      sha256 = "d24a572e88644c7d39c7e6ff1af005b728dec94a878cf06d9027ab7d1a2fd0a9";
+      sha256 = "322c93f5acc0a0f0e11fd4a76188f978bdc14338a9f1df3ae535227017046561";
     };
-    buildInputs = [ FileShareDirInstall TestRequires ];
-    propagatedBuildInputs = [ ApacheLogFormatCompiler CookieBaker DevelStackTrace DevelStackTraceAsHTML FileShareDir FilesysNotifySimple HTTPBody HTTPHeadersFast HTTPMessage HashMultiValue StreamBuffered TestTCP TryTiny URI ];
+    buildInputs = [ AuthenSimplePasswd CGIEmulatePSGI FileShareDirInstall HTTPRequestAsCGI HTTPServerSimplePSGI IOHandleUtil LWP LWPProtocolhttp10 LogDispatchArray MIMETypes TestMockTimeHiRes TestRequires TestSharedFork TestTCP ];
+    propagatedBuildInputs = [ ApacheLogFormatCompiler CookieBaker DevelStackTraceAsHTML FileShareDir FilesysNotifySimple HTTPEntityParser HTTPHeadersFast HTTPMessage TryTiny ];
     meta = {
       homepage = https://github.com/plack/Plack;
       description = "Perl Superglue for Web frameworks and Web Servers (PSGI toolkit)";
@@ -11260,14 +12385,58 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
+  PlackAppProxy = buildPerlPackage rec {
+     name = "Plack-App-Proxy-0.29";
+     src = fetchurl {
+       url = mirror://cpan/authors/id/L/LE/LEEDO/Plack-App-Proxy-0.29.tar.gz;
+       sha256 = "03x6yb6ykz1ms90jp1s0pq19yplf7wswljvhzqkr16jannfrmah4";
+     };
+     propagatedBuildInputs = [ AnyEventHTTP LWP Plack ];
+     buildInputs = [ TestRequires TestSharedFork TestTCP ];
+     meta = {
+       description = "proxy requests";
+       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+     };
+  };
+
+  PlackMiddlewareAuthDigest = buildPerlModule rec {
+     name = "Plack-Middleware-Auth-Digest-0.05";
+     src = fetchurl {
+       url = mirror://cpan/authors/id/M/MI/MIYAGAWA/Plack-Middleware-Auth-Digest-0.05.tar.gz;
+       sha256 = "1sqm23kfsl3ac4060zcclc3r86x1vxzhsgvgzg6mxk9njj93zgcs";
+     };
+     propagatedBuildInputs = [ DigestHMAC Plack ];
+     buildInputs = [ LWP ModuleBuildTiny TestSharedFork TestTCP ];
+     meta = {
+       description = "Digest authentication";
+       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+       homepage = "https://github.com/miyagawa/Plack-Middleware-Auth-Digest";
+     };
+  };
+
+  PlackMiddlewareConsoleLogger = buildPerlModule rec {
+     name = "Plack-Middleware-ConsoleLogger-0.05";
+     src = fetchurl {
+       url = mirror://cpan/authors/id/M/MI/MIYAGAWA/Plack-Middleware-ConsoleLogger-0.05.tar.gz;
+       sha256 = "1ngvhwdw9ll4cwnvf0i89ppa9pbyiwng6iba04scrqjda353lrsm";
+     };
+     propagatedBuildInputs = [ JavaScriptValueEscape Plack ];
+     buildInputs = [ ModuleBuildTiny TestRequires ];
+     meta = {
+       description = "Write logs to Firebug or Webkit Inspector";
+       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+       homepage = "https://github.com/miyagawa/Plack-Middleware-ConsoleLogger";
+     };
+  };
+
   PlackMiddlewareDebug = buildPerlModule rec {
-    name = "Plack-Middleware-Debug-0.16";
+    name = "Plack-Middleware-Debug-0.17";
     src = fetchurl {
       url = "mirror://cpan/authors/id/M/MI/MIYAGAWA/${name}.tar.gz";
-      sha256 = "e1e4ff6e9b246fe67547ebac8a3e83d4ae77873f889d1f63411c21c8c6bf96d5";
+      sha256 = "a30b62f1bb94e641f7b60b5ea5335e140c553b4131ec4003b56db37f47617a26";
     };
     buildInputs = [ ModuleBuildTiny TestRequires ];
-    propagatedBuildInputs = [ ClassMethodModifiers DataDump FileShareDir Plack TextMicroTemplate ];
+    propagatedBuildInputs = [ ClassMethodModifiers DataDump DataDumperConcise Plack TextMicroTemplate ];
     meta = {
       homepage = https://github.com/miyagawa/Plack-Middleware-Debug;
       description = "Display information about the current request/response";
@@ -11275,13 +12444,26 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
+  PlackMiddlewareDeflater = buildPerlPackage rec {
+     name = "Plack-Middleware-Deflater-0.12";
+     src = fetchurl {
+       url = mirror://cpan/authors/id/K/KA/KAZEBURO/Plack-Middleware-Deflater-0.12.tar.gz;
+       sha256 = "0xf2visi16hgwgyp9q0cjr10ikbn474hjia5mj8mb2scvbkrbni8";
+     };
+     propagatedBuildInputs = [ Plack ];
+     buildInputs = [ TestRequires TestSharedFork TestTCP ];
+     meta = {
+       description = "Compress response body with Gzip or Deflate";
+       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+     };
+  };
+
   PlackMiddlewareFixMissingBodyInRedirect = buildPerlPackage rec {
     name = "Plack-Middleware-FixMissingBodyInRedirect-0.12";
     src = fetchurl {
       url = "mirror://cpan/authors/id/S/SW/SWEETKID/${name}.tar.gz";
       sha256 = "6c22d069f5a57ac206d4659b28b8869bb9270640bb955efddd451dcc58cdb391";
     };
-    buildInputs = [ HTTPMessage Plack ];
     propagatedBuildInputs = [ HTMLParser Plack ];
     meta = {
       homepage = https://github.com/Sweet-kid/Plack-Middleware-FixMissingBodyInRedirect;
@@ -11290,13 +12472,25 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
+  PlackMiddlewareHeader = buildPerlPackage rec {
+     name = "Plack-Middleware-Header-0.04";
+     src = fetchurl {
+       url = mirror://cpan/authors/id/C/CH/CHIBA/Plack-Middleware-Header-0.04.tar.gz;
+       sha256 = "0pjxxbnilphn38s3mmv0fmg9q2hm4z02ngp2a1lxblzjfbzvkdjy";
+     };
+     propagatedBuildInputs = [ Plack ];
+     meta = {
+       description = "modify HTTP response headers";
+       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+     };
+  };
+
   PlackMiddlewareMethodOverride = buildPerlPackage rec {
     name = "Plack-Middleware-MethodOverride-0.15";
     src = fetchurl {
       url = "mirror://cpan/authors/id/D/DW/DWHEELER/${name}.tar.gz";
       sha256 = "2b4a6e67006f97a2b4cf7980900f6a8ababb1cf97d6597319f9897ada3c555bc";
     };
-    buildInputs = [ Plack URI ];
     propagatedBuildInputs = [ Plack ];
     meta = {
       description = "Override REST methods to Plack apps via POST";
@@ -11305,12 +12499,11 @@ let self = _self // overrides; _self = with self; {
   };
 
   PlackMiddlewareRemoveRedundantBody = buildPerlPackage {
-    name = "Plack-Middleware-RemoveRedundantBody-0.05";
+    name = "Plack-Middleware-RemoveRedundantBody-0.07";
     src = fetchurl {
-      url = mirror://cpan/authors/id/S/SW/SWEETKID/Plack-Middleware-RemoveRedundantBody-0.05.tar.gz;
-      sha256 = "a0676e1c792bea7f25f1d901bee59054d35012d5ea8cd42529d336143fa87cd8";
+      url = mirror://cpan/authors/id/S/SW/SWEETKID/Plack-Middleware-RemoveRedundantBody-0.07.tar.gz;
+      sha256 = "64b841d5d74b4c4a595b85749d69297f4f5f5c0829a6e99e0099f05dd69be3c3";
     };
-    buildInputs = [ HTTPMessage Plack ];
     propagatedBuildInputs = [ Plack ];
     meta = {
       homepage = https://github.com/Sweet-kid/Plack-Middleware-RemoveRedundantBody;
@@ -11332,14 +12525,29 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
+  PlackMiddlewareSession = buildPerlModule rec {
+     name = "Plack-Middleware-Session-0.30";
+     src = fetchurl {
+       url = mirror://cpan/authors/id/M/MI/MIYAGAWA/Plack-Middleware-Session-0.30.tar.gz;
+       sha256 = "0cwlhfj1644jq8axv4cghsqqjsx2y7hj7g0y5l179fcgmbp2ndzf";
+     };
+     propagatedBuildInputs = [ DigestHMAC DigestSHA1 Plack ];
+     buildInputs = [ HTTPCookies LWP ModuleBuildTiny TestFatal TestRequires TestSharedFork TestTCP ];
+     meta = {
+       description = "Middleware for session management";
+       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+       homepage = "https://github.com/plack/Plack-Middleware-Session";
+     };
+  };
+
   PlackTestExternalServer = buildPerlPackage rec {
     name = "Plack-Test-ExternalServer-0.02";
     src = fetchurl {
       url = "mirror://cpan/authors/id/E/ET/ETHER/${name}.tar.gz";
       sha256 = "5baf5c57fe0c06412deec9c5abe7952ab8a04f8c47b4bbd8e9e9982268903ed0";
     };
-    buildInputs = [ HTTPMessage Plack TestTCP ];
-    propagatedBuildInputs = [ LWP URI ];
+    buildInputs = [ Plack TestSharedFork TestTCP ];
+    propagatedBuildInputs = [ LWP ];
     meta = {
       homepage = https://github.com/perl-catalyst/Plack-Test-ExternalServer;
       description = "Run HTTP tests on external live servers";
@@ -11376,14 +12584,49 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
+  POE = buildPerlPackage rec {
+    name = "POE-1.367";
+    patches = [
+      ../development/perl-modules/perl-POE-1.367-pod_linkcheck.patch
+      ../development/perl-modules/perl-POE-1.367-pod_no404s.patch
+    ];
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/R/RC/RCAPUTO/POE-1.367.tar.gz";
+      sha256 = "0b9s7yxaa2lgzyi56brgygycfjk7lz33d1ddvc1wvwwvm45p4wmp";
+    };
+    # N.B. removing TestPodLinkCheck from buildInputs because tests requiring
+    # this module don't disable themselves when "run_network_tests" is
+    # not present (see below).
+    propagatedBuildInputs = [ pkgs.cacert IOPipely IOTty POETestLoops ];
+    meta = {
+      maintainers = [ maintainers.limeytexan ];
+      description = "Portable multitasking and networking framework for any event loop";
+      license = stdenv.lib.licenses.artistic2;
+    };
+    preCheck = ''
+      set -x
+
+      : Makefile.PL touches the following file as a "marker" to indicate
+      : it should perform tests which use the network. Delete this file
+      : for sandbox builds.
+      rm -f run_network_tests
+
+      : Certs are required if not running in a sandbox.
+      export SSL_CERT_FILE=${pkgs.cacert.out}/etc/ssl/certs/ca-bundle.crt
+
+      : The following flag enables extra tests not normally performed.
+      export RELEASE_TESTING=1
+
+      set +x
+    '';
+  };
+
   POETestLoops = buildPerlPackage rec {
     name = "POE-Test-Loops-1.360";
     src = fetchurl {
       url = "mirror://cpan/authors/id/R/RC/RCAPUTO/${name}.tar.gz";
       sha256 = "0yx4wsljfmdzsiv0ni98x6lw975cm82ahngbwqvzv60wx5pwkl5y";
     };
-    buildInputs = [ ];
-    propagatedBuildInputs = [ ];
     meta = {
       maintainers = [ maintainers.limeytexan ];
       description = "Reusable tests for POE::Loop authors";
@@ -11411,27 +12654,27 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
-  PPIxRegexp = buildPerlPackage rec {
-    name = "PPIx-Regexp-0.050";
+  PPIxRegexp = buildPerlModule rec {
+    name = "PPIx-Regexp-0.056";
     src = fetchurl {
       url = "mirror://cpan/authors/id/W/WY/WYANT/${name}.tar.gz";
-      sha256 = "fd095fb90826efa3f9b28bf018a099dc51f1d7c7d34ed2f193a28f1087635125";
+      sha256 = "37992de526a368d120506e8c6c0498266e4de81942658cf0af1db89b12302f15";
     };
-    propagatedBuildInputs = [ ListMoreUtils PPI TaskWeaken ];
+    propagatedBuildInputs = [ PPI ];
     meta = {
       description = "Parse regular expressions";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
-  PPIxUtilities = buildPerlPackage {
+  PPIxUtilities = buildPerlModule {
     name = "PPIx-Utilities-1.001000";
     src = fetchurl {
       url = mirror://cpan/authors/id/E/EL/ELLIOTJS/PPIx-Utilities-1.001000.tar.gz;
       sha256 = "03a483386fd6a2c808f09778d44db06b02c3140fb24ba4bf12f851f46d3bcb9b";
     };
-    buildInputs = [ PPI TestDeep ];
-    propagatedBuildInputs = [ ExceptionClass PPI Readonly TaskWeaken ];
+    buildInputs = [ TestDeep ];
+    propagatedBuildInputs = [ ExceptionClass PPI Readonly ];
     meta = {
       description = "Extensions to L<PPI|PPI>";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
@@ -11449,10 +12692,10 @@ let self = _self // overrides; _self = with self; {
   };
 
   ProcProcessTable = buildPerlPackage {
-    name = "Proc-ProcessTable-0.51";
+    name = "Proc-ProcessTable-0.55";
     src = fetchurl {
-      url = mirror://cpan/authors/id/J/JW/JWB/Proc-ProcessTable-0.51.tar.gz;
-      sha256 = "66636e102985a2a05ef4334b53a7893d627c192fac5dd7ff37dd1a0a50c0128d";
+      url = mirror://cpan/authors/id/J/JW/JWB/Proc-ProcessTable-0.55.tar.gz;
+      sha256 = "3b9660d940a0c016c5e48108fa9dbf9f30492b505aa0a26d22b09554f05714f5";
     };
     meta = {
       description = "Perl extension to access the unix process table";
@@ -11509,17 +12752,17 @@ let self = _self // overrides; _self = with self; {
   ProcWaitStat = buildPerlPackage rec {
     name = "Proc-WaitStat-1.00";
     src = fetchurl {
-      url = "mirror://cpan//authors/id/R/RO/ROSCH/${name}.tar.gz";
+      url = mirror://cpan/authors/id/R/RO/ROSCH/Proc-WaitStat-1.00.tar.gz;
       sha256 = "1g3l8jzx06x4l4p0x7fyn4wvg6plfzl420irwwb9v447wzsn6xfh";
     };
     propagatedBuildInputs = [ IPCSignal ];
   };
 
   ProtocolWebSocket = buildPerlModule rec {
-    name = "Protocol-WebSocket-0.20";
+    name = "Protocol-WebSocket-0.24";
     src = fetchurl {
       url = "mirror://cpan/authors/id/V/VT/VTI/${name}.tar.gz";
-      sha256 = "00ga7sjrqcbr46kwfbaa37lxqqbp9z5gymjckzps6ll2jf7k58mx";
+      sha256 = "1w0l9j1bnmw82jfhrx5yfw4hbl0bpcwmrl5laa1gz06mkzkdpa6z";
     };
     buildInputs = [ ModuleBuildTiny ];
   };
@@ -11531,8 +12774,7 @@ let self = _self // overrides; _self = with self; {
       url = "mirror://cpan/authors/id/C/CR/CRUX/${name}.tar.gz";
       sha256 = "06y1djgzbn340hixav85728dvp8mj2mx2qf5fzkqxh145g5q860g";
     };
-    buildInputs = [ ModuleBuildTiny TestLeakTrace  TestTCP ];
-    propagatedBuildInputs = [ AnyEvent NetSSLeay ];
+    buildInputs = [ AnyEvent ModuleBuildTiny NetSSLeay TestLeakTrace TestSharedFork TestTCP ];
   };
 
   PSGI = buildPerlPackage rec {
@@ -11544,10 +12786,10 @@ let self = _self // overrides; _self = with self; {
   };
 
   PadWalker = buildPerlPackage rec {
-    name = "PadWalker-2.2";
+    name = "PadWalker-2.3";
     src = fetchurl {
       url = "mirror://cpan/authors/id/R/RO/ROBIN/${name}.tar.gz";
-      sha256 = "fc1df2084522e29e892da393f3719d2c1be0da022fdd89cff4b814167aecfea3";
+      sha256 = "2a6c44fb600861e54568e74081a8d1f121f0060076069ceab34b1ae89d6588cf";
     };
   };
 
@@ -11566,7 +12808,7 @@ let self = _self // overrides; _self = with self; {
       sha256 = "478b5824791b87fc74c94a892180682bd06ad2cdf34034b1a4b859273927802a";
     };
     buildInputs = [ TestScript ];
-    propagatedBuildInputs = [ FileFindRule FileFindRulePerl PPI PPIxRegexp ParamsUtil PerlCritic ];
+    propagatedBuildInputs = [ FileFindRulePerl PerlCritic ];
     meta = {
       homepage = https://github.com/neilbowers/Perl-MinimumVersion;
       description = "Find a minimum required version of perl for Perl code";
@@ -11580,8 +12822,7 @@ let self = _self // overrides; _self = with self; {
       url = "mirror://cpan/authors/id/R/RJ/RJBS/${name}.tar.gz";
       sha256 = "280a1c4710390865fb9f310a861a34720b28b4cbe50609c841af5cf2d3a2bced";
     };
-    buildInputs = [ PPI TryTiny ];
-    propagatedBuildInputs = [ GetoptLongDescriptive ListMoreUtils ModulePath Moose PPI ParamsUtil StringRewritePrefix namespaceautoclean ];
+    propagatedBuildInputs = [ GetoptLongDescriptive ModulePath Moose PPI StringRewritePrefix namespaceautoclean ];
     meta = {
       homepage = https://github.com/rjbs/Perl-PrereqScanner;
       description = "A tool to scan your Perl code for its prerequisites";
@@ -11603,10 +12844,10 @@ let self = _self // overrides; _self = with self; {
   };
 
   PodChecker = buildPerlPackage {
-    name = "Pod-Checker-1.71";
+    name = "Pod-Checker-1.73";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MA/MAREKR/Pod-Checker-1.71.tar.gz;
-      sha256 = "4b90e745f4d6357bb7e8999e0e7d192216b98e3f3c8a86fa6ed446f8c36601df";
+      url = mirror://cpan/authors/id/M/MA/MAREKR/Pod-Checker-1.73.tar.gz;
+      sha256 = "7dee443b03d80d0735ec50b6d1caf0209c51ab0a97d64050cfc10e1555cb9305";
     };
   };
 
@@ -11616,14 +12857,14 @@ let self = _self // overrides; _self = with self; {
       url = "mirror://cpan/authors/id/R/RC/RCLAMP/${name}.tar.gz";
       sha256 = "01xifj83dv492lxixijmg6va02rf3ydlxly0a9slmx22r6qa1drh";
     };
-    propagatedBuildInputs = [DevelSymdump];
+    propagatedBuildInputs = [ DevelSymdump ];
   };
 
   PodCoverageTrustPod = buildPerlPackage {
-    name = "Pod-Coverage-TrustPod-0.100003";
+    name = "Pod-Coverage-TrustPod-0.100005";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RJ/RJBS/Pod-Coverage-TrustPod-0.100003.tar.gz;
-      sha256 = "19lyc5a5hg3pqhw0k5fnd0q4l2mrdq0ck4kw1smjvwkccp24431z";
+      url = mirror://cpan/authors/id/R/RJ/RJBS/Pod-Coverage-TrustPod-0.100005.tar.gz;
+      sha256 = "08bk6lfimr2pwi6c92xg5cw1cxmi5fqhls3yasqzpjnd4if86s3c";
     };
     propagatedBuildInputs = [ PodCoverage PodEventual ];
     meta = {
@@ -11640,7 +12881,7 @@ let self = _self // overrides; _self = with self; {
       sha256 = "43625cde7241fb174ad9c7eb45387fba410dc141d7de2323855eeab3590072c9";
     };
     buildInputs = [ TestDeep TestDifferences ];
-    propagatedBuildInputs = [ ClassLoad MixinLinewise Moose MooseXTypes PodEventual StringRewritePrefix StringTruncate SubExporter SubExporterForMethods namespaceautoclean ];
+    propagatedBuildInputs = [ MooseXTypes PodEventual StringRewritePrefix StringTruncate ];
     meta = {
       homepage = https://github.com/rjbs/Pod-Elemental;
       description = "Work with nestable Pod elements";
@@ -11654,8 +12895,8 @@ let self = _self // overrides; _self = with self; {
       url = "mirror://cpan/authors/id/R/RJ/RJBS/${name}.tar.gz";
       sha256 = "09fd3b5d53119437a01dced66b42eafdcd53895b3c32a2b0f781f36fda0f665b";
     };
-    buildInputs = [ Moose PodElemental ];
-    propagatedBuildInputs = [ Moose PPI PodElemental namespaceautoclean ];
+    buildInputs = [ TestDifferences ];
+    propagatedBuildInputs = [ PPI PodElemental ];
     meta = {
       homepage = https://github.com/rjbs/Pod-Elemental-PerlMunger;
       description = "A thing that takes a string of Perl and rewrites its documentation";
@@ -11673,16 +12914,17 @@ let self = _self // overrides; _self = with self; {
   };
 
   PodEventual = buildPerlPackage {
-    name = "Pod-Eventual-0.093330";
+    name = "Pod-Eventual-0.094001";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RJ/RJBS/Pod-Eventual-0.093330.tar.gz;
-      sha256 = "29de14a69df8a26f7e8ff73daca5afa7acc84cc9b7ae28093a5b1af09a4830b6";
+      url = mirror://cpan/authors/id/R/RJ/RJBS/Pod-Eventual-0.094001.tar.gz;
+      sha256 = "be9fb8910b108e5d1a66f002b659ad22576e88d779b703dff9d15122c3f80834";
     };
-    propagatedBuildInputs = [ MixinLinewise TestDeep ];
+    propagatedBuildInputs = [ MixinLinewise ];
     meta = {
       description = "Read a POD document as a series of trivial events";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
+    buildInputs = [ TestDeep ];
   };
 
   PodParser = buildPerlPackage {
@@ -11718,7 +12960,6 @@ let self = _self // overrides; _self = with self; {
       url = "mirror://cpan/authors/id/P/PE/PERLER/${name}.tar.gz";
       sha256 = "ccb42272c7503379cb1131394620ee50276d72844e0e80eb4b007a9d58f87623";
     };
-    buildInputs = [ TestMore ];
     propagatedBuildInputs = [ PodPOM ];
     meta = {
       description = "Generate the TOC of a POD with Pod::POM";
@@ -11733,8 +12974,6 @@ let self = _self // overrides; _self = with self; {
       url = "mirror://cpan/authors/id/T/TJ/TJENNESS/${name}.tar.gz";
       sha256 = "15a840ea1c8a76cd3c865fbbf2fec33b03615c0daa50f9c800c54e0cf0659d46";
     };
-    buildInputs = [ ModuleBuild ];
-    propagatedBuildInputs = [ self."if" ];
     meta = {
       homepage = https://github.com/timj/perl-Pod-LaTeX/tree/master;
       description = "Convert Pod data to formatted Latex";
@@ -11743,10 +12982,10 @@ let self = _self // overrides; _self = with self; {
   };
 
   podlators = buildPerlPackage rec {
-    name = "podlators-4.06";
+    name = "podlators-4.10";
     src = fetchurl {
       url = "mirror://cpan/authors/id/R/RR/RRA/${name}.tar.gz";
-      sha256 = "0fsb1k88fsqwgmk5fkcz57jf27g6ip4ncikawslm596d1si2h48a";
+      sha256 = "008b4j41ijrfyyq5nd3y7pqyww6rg49fjg2c6kmpnqrmgs347qqp";
     };
     meta = {
       description = "Convert POD data to various other formats";
@@ -11755,12 +12994,12 @@ let self = _self // overrides; _self = with self; {
   };
 
   podlinkcheck = buildPerlPackage rec {
-    name = "podlinkcheck-14";
+    name = "podlinkcheck-15";
     src = fetchurl {
       url = "mirror://cpan/authors/id/K/KR/KRYDE/${name}.tar.gz";
-      sha256 = "8ad152bdffbb7f5080616c0c0ae142f75b4c1255ed82b9cd80a5f4e3172fed3d";
+      sha256 = "4e3bebec1bf82dbf850a94ae26a253644cf5806ec41afc74e43e1710a37321db";
     };
-    propagatedBuildInputs = [ FileFindIterator FileHomeDir IPCRun constantdefer libintlperl ];
+    propagatedBuildInputs = [ FileFindIterator FileHomeDir IPCRun constant-defer libintl_perl ];
     meta = {
       homepage = http://user42.tuxfamily.org/podlinkcheck/index.html;
       description = "Check POD L<> link references";
@@ -11768,11 +13007,11 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
-  PodPerldoc = buildPerlPackage {
-    name = "Pod-Perldoc-3.25";
+  PodPerldoc = buildPerlPackage rec {
+    name = "Pod-Perldoc-3.28";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MA/MALLEN/Pod-Perldoc-3.25.tar.gz;
-      sha256 = "f1a4b3ac7aa244485456b0e8733c773bbb39ae35b01a59515f6cba6bbe293a84";
+      url = "mirror://cpan/authors/id/M/MA/MALLEN/${name}.tar.gz";
+      sha256 = "0kf6xwdha8jl0nxv60r2v7xsfnvv6i3gy135xsl40g71p02ychfc";
     };
     meta = {
       description = "Look up Perl documentation in Pod format";
@@ -11793,10 +13032,10 @@ let self = _self // overrides; _self = with self; {
   };
 
   PodMarkdown = buildPerlPackage {
-    name = "Pod-Markdown-2.000";
+    name = "Pod-Markdown-3.005";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RW/RWSTAUNER/Pod-Markdown-2.000.tar.gz;
-      sha256 = "0qix7gmrc2ypm5dl1w5ajnjy32xlmy73wb3zycc1pxl5lipigsx8";
+      url = mirror://cpan/authors/id/R/RW/RWSTAUNER/Pod-Markdown-3.005.tar.gz;
+      sha256 = "00s3745kl4vbxqyi2lx149q5ghyfazc4fd00kcpl84bb87jfgdzq";
     };
     buildInputs = [ TestDifferences ];
     meta = {
@@ -11806,30 +13045,58 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
+  PodMarkdownGithub = buildPerlPackage rec {
+     name = "Pod-Markdown-Github-0.03";
+     src = fetchurl {
+       url = mirror://cpan/authors/id/M/MI/MINIMAL/Pod-Markdown-Github-0.03.tar.gz;
+       sha256 = "0y555pb78j0lz24kdgiwkmk1vcv4lg3a3mvnw9vm2qqnkp7p0nag";
+     };
+     propagatedBuildInputs = [ PodMarkdown ];
+     buildInputs = [ TestDifferences ];
+     meta = {
+       description = "Convert POD to Github's specific markdown";
+       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+     };
+  };
+
   PodSimple = buildPerlPackage {
-    name = "Pod-Simple-3.05";
+    name = "Pod-Simple-3.35";
     src = fetchurl {
-      url = mirror://cpan/authors/id/A/AR/ARANDAL/Pod-Simple-3.05.tar.gz;
-      sha256 = "1j0kqcvr9ykcqlkr797j1npkbggykb3p4w5ri73s8mi163lzxkqb";
+      url = mirror://cpan/authors/id/K/KH/KHW/Pod-Simple-3.35.tar.gz;
+      sha256 = "0gg11ibbc02l2aw0bsv4jx0jax8z0apgfy3p5csqnvhlsb6218cr";
     };
-    propagatedBuildInputs = [constant PodEscapes];
+    propagatedBuildInputs = [ TextTabsWrap ];
   };
 
   PodSpell = buildPerlPackage rec {
-    name = "Pod-Spell-1.01";
+    name = "Pod-Spell-1.20";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/S/SB/SBURKE/${name}.tar.gz";
-      sha256 = "938648dca5b62e591783347f9d4d4e2a5239f9629c6adfed9a581b9457ef7d2e";
+      url = mirror://cpan/authors/id/D/DO/DOLMEN/Pod-Spell-1.20.tar.gz;
+      sha256 = "6383f7bfe22bc0d839a08057a0ce780698b046184aea935be4833d94986dd03c";
     };
+    propagatedBuildInputs = [ ClassTiny FileShareDir LinguaENInflect PathTiny ];
+    buildInputs = [ FileShareDirInstall TestDeep ];
+  };
+
+  PodStrip = buildPerlModule rec {
+     name = "Pod-Strip-1.02";
+     src = fetchurl {
+       url = mirror://cpan/authors/id/D/DO/DOMM/Pod-Strip-1.02.tar.gz;
+       sha256 = "1zsjfw2cjq1bd3ppl67fdvrx46vj9lina0c3cv9qgk5clzvaq3fq";
+     };
+     meta = {
+       description = "Remove POD from Perl code";
+       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+     };
   };
 
   PodUsage = buildPerlPackage {
-    name = "Pod-Usage-1.67";
+    name = "Pod-Usage-1.69";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MA/MAREKR/Pod-Usage-1.67.tar.gz;
-      sha256 = "c8be6d29b0dfe304c4ddfcc140f93d4c4de7a8362ea6e2651611c288b53cc68a";
+      url = mirror://cpan/authors/id/M/MA/MAREKR/Pod-Usage-1.69.tar.gz;
+      sha256 = "1a920c067b3c905b72291a76efcdf1935ba5423ab0187b9a5a63cfc930965132";
     };
-    propagatedBuildInputs = [ perl ];
+    propagatedBuildInputs = [ podlators ];
     meta = {
       description = "Pod::Usage extracts POD documentation and shows usage information";
     };
@@ -11842,7 +13109,7 @@ let self = _self // overrides; _self = with self; {
       sha256 = "5af25b29a55783e495a9df5ef6293240e2c9ab02764613d79f1ed50b12dec5ae";
     };
     buildInputs = [ PPI SoftwareLicense TestDifferences ];
-    propagatedBuildInputs = [ ConfigMVP ConfigMVPReaderINI DateTime ListMoreUtils LogDispatchouli MixinLinewise ModuleRuntime Moose ParamsUtil PodElemental StringFlogger StringFormatter StringRewritePrefix namespaceautoclean ];
+    propagatedBuildInputs = [ ConfigMVPReaderINI DateTime ListMoreUtils LogDispatchouli PodElemental ];
     meta = {
       homepage = https://github.com/rjbs/Pod-Weaver;
       description = "Weave together a Pod document from an outline";
@@ -11860,10 +13127,10 @@ let self = _self // overrides; _self = with self; {
   };
 
   POSIXstrftimeCompiler = buildPerlModule rec {
-    name = "POSIX-strftime-Compiler-0.41";
+    name = "POSIX-strftime-Compiler-0.42";
     src = fetchurl {
       url = "mirror://cpan/authors/id/K/KA/KAZEBURO/${name}.tar.gz";
-      sha256 = "670b89e11500f3808c9e21b1c300089622f68906ff12b1cbfba8e30d3a1c3739";
+      sha256 = "26582bdd78b254bcc1c56d0b770fa280e8b8f70957c84dc44572ba4cacb0ac11";
     };
     # We cannot change timezones on the fly.
     prePatch = "rm t/04_tzset.t";
@@ -11886,6 +13153,7 @@ let self = _self // overrides; _self = with self; {
       description = "Collaborative, content-based spam filtering network agent";
       license = stdenv.lib.licenses.mit;
     };
+    doCheck = false;
   };
 
 
@@ -11910,9 +13178,10 @@ let self = _self // overrides; _self = with self; {
       url = "mirror://cpan/authors/id/R/RO/ROODE/${name}.tar.gz";
       sha256 = "8ae5c4e85299e5c8bddd1b196f2eea38f00709e0dc0cb60454dc9114ae3fff0d";
     };
+    propagatedBuildInputs = [ Readonly ];
   };
 
-  Redis = buildPerlPackage rec {
+  Redis = buildPerlModule rec {
     name = "Redis-1.991";
     src = fetchurl {
       url = "mirror://cpan/authors/id/D/DA/DAMS/${name}.tar.gz";
@@ -11930,18 +13199,18 @@ let self = _self // overrides; _self = with self; {
   };
 
   RegexpAssemble = buildPerlPackage rec {
-    name = "Regexp-Assemble-0.35";
+    name = "Regexp-Assemble-0.38";
     src = fetchurl {
-      url = "mirror://cpan/modules/by-module/Regexp/${name}.tar.gz";
-      sha256 = "1msxrriq74q8iacn2hkcw6g4qjjwv777avryiyz1w29h55mwq083";
+      url = mirror://cpan/authors/id/R/RS/RSAVAGE/Regexp-Assemble-0.38.tgz;
+      sha256 = "0hp4v8mghmpflq9l9fqrkjg4cw0d3ha2nrmnsnzwjwqvmvwyfsx0";
     };
   };
 
   RegexpCommon = buildPerlPackage {
-    name = "Regexp-Common-2013031301";
+    name = "Regexp-Common-2017060201";
     src = fetchurl {
-      url = mirror://cpan/authors/id/A/AB/ABIGAIL/Regexp-Common-2013031301.tar.gz;
-      sha256 = "729a8198d264aa64ecbb233ff990507f97fbb66bda746b95f3286f50f5f25c84";
+      url = mirror://cpan/authors/id/A/AB/ABIGAIL/Regexp-Common-2017060201.tar.gz;
+      sha256 = "ee07853aee06f310e040b6bf1a0199a18d81896d3219b9b35c9630d0eb69089b";
     };
     meta = with stdenv.lib; {
       description = "Provide commonly requested regular expressions";
@@ -11969,11 +13238,11 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
-  RegexpGrammars = buildPerlPackage rec {
-    name = "Regexp-Grammars-1.045";
+  RegexpGrammars = buildPerlModule rec {
+    name = "Regexp-Grammars-1.048";
     src = fetchurl {
       url = "mirror://cpan/authors/id/D/DC/DCONWAY/${name}.tar.gz";
-      sha256 = "8ab001f5641d03f7acce09ca5826b219b02ce40f8e56c2066737228a9232b594";
+      sha256 = "d7718d9bb0d4259eabf326838e3f841b440c4e959faf9615d9ad9c345f4a3d6f";
     };
     meta = {
       homepage = http://search.cpan.org/~dconway/Regexp-Grammars-1.045/lib/Regexp/Grammars.pm;
@@ -11994,10 +13263,10 @@ let self = _self // overrides; _self = with self; {
   };
 
   RegexpParser = buildPerlPackage {
-    name = "Regexp-Parser-0.21";
+    name = "Regexp-Parser-0.22";
     src = fetchurl {
-      url = mirror://cpan/authors/id/T/TO/TODDR/Regexp-Parser-0.21.tar.gz;
-      sha256 = "d70cb66821f1f67a9b1ff53f0fa33c06aec8693791e0a5943be6760c25d2768d";
+      url = mirror://cpan/authors/id/T/TO/TODDR/Regexp-Parser-0.22.tar.gz;
+      sha256 = "d6d3c711657a380f1cb24d8b54a1cd20f725f7f54665189e9e67bb0b877109a3";
     };
     meta = {
       homepage = http://wiki.github.com/toddr/Regexp-Parser;
@@ -12006,13 +13275,13 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
-  RESTUtils = buildPerlPackage {
+  RESTUtils = buildPerlModule {
     name = "REST-Utils-0.6";
     src = fetchurl {
       url = mirror://cpan/authors/id/J/JA/JALDHAR/REST-Utils-0.6.tar.gz;
       sha256 = "1zdrf3315rp2b8r9dwwj5h93xky7i33iawf4hzszwcddhzflmsfl";
     };
-    buildInputs = [ TestWWWMechanizeCGI ];
+    buildInputs = [ TestLongString TestWWWMechanize TestWWWMechanizeCGI ];
     meta = {
       homepage = http://jaldhar.github.com/REST-Utils;
       description = "Utility functions for REST applications";
@@ -12023,24 +13292,24 @@ let self = _self // overrides; _self = with self; {
   };
 
   RpcXML = buildPerlPackage {
-    name = "RPC-XML-0.78";
+    name = "RPC-XML-0.80";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RJ/RJRAY/RPC-XML-0.78.tar.gz;
-      sha256 = "0spci3sj2hq9k916sk9k2gchqrbnz9lwmlcnwf1k33wzl8j2gh52";
+      url = mirror://cpan/authors/id/R/RJ/RJRAY/RPC-XML-0.80.tar.gz;
+      sha256 = "1xvy9hs7bqsjnk0663kf7zk2qjg0pzv96n6z2wlc2w5bgal7q3ga";
     };
-    propagatedBuildInputs = [LWP XMLLibXML XMLParser];
+    propagatedBuildInputs = [ XMLParser ];
     doCheck = false;
   };
 
   ReturnValue = buildPerlPackage {
-    name = "Return-Value-1.666004";
+    name = "Return-Value-1.666005";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RJ/RJBS/Return-Value-1.666004.tar.gz;
-      sha256 = "0xr7ic212p36arzdpph2l2yy1y88c7qaf4nng3gqb29zc9kzy3bc";
+      url = mirror://cpan/authors/id/R/RJ/RJBS/Return-Value-1.666005.tar.gz;
+      sha256 = "1b2hfmdl19zi1z3npzv9wf6dh1g0xd88i70b4233ds9icnln08lf";
     };
   };
 
-  RoleBasic = buildPerlPackage {
+  RoleBasic = buildPerlModule {
     name = "Role-Basic-0.13";
     src = fetchurl {
       url = mirror://cpan/authors/id/O/OV/OVID/Role-Basic-0.13.tar.gz;
@@ -12058,8 +13327,7 @@ let self = _self // overrides; _self = with self; {
       url = mirror://cpan/authors/id/R/RJ/RJBS/Role-HasMessage-0.006.tar.gz;
       sha256 = "1lylfvarjfy6wy34dfny3032pc6r33mjby5yzzhmxybg8zhdp9pn";
     };
-    buildInputs = [ Moose ];
-    propagatedBuildInputs = [ Moose MooseXRoleParameterized StringErrf TryTiny namespaceclean ];
+    propagatedBuildInputs = [ MooseXRoleParameterized StringErrf ];
     meta = {
       description = "A thing with a message method";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
@@ -12072,7 +13340,6 @@ let self = _self // overrides; _self = with self; {
       url = mirror://cpan/authors/id/R/RJ/RJBS/Role-Identifiable-0.007.tar.gz;
       sha256 = "1bbkj2wqpbfdw1cbm99vg9d94rvzba19m18xhnylaym0l78lc4sn";
     };
-    buildInputs = [ Moose ];
     propagatedBuildInputs = [ Moose ];
     meta = {
       description = "A thing with a list of tags";
@@ -12094,26 +13361,26 @@ let self = _self // overrides; _self = with self; {
   };
 
   RSSParserLite = buildPerlPackage {
-    name = "RSS-Parser-Lite-0.10";
+    name = "RSS-Parser-Lite-0.12";
     src = fetchurl {
-      url = mirror://cpan/authors/id/E/EB/EBOSRUP/RSS-Parser-Lite-0.10.tar.gz;
-      sha256 = "1spvi0z62saz2cam8kwk2k561aavw2w42g3ykj38w1kmydvsk8z6";
+      url = mirror://cpan/authors/id/T/TF/TFPBL/RSS-Parser-Lite-0.12.tar.gz;
+      sha256 = "1fcmp4qp7q3xr2mw7clqqwph45icbvgfs2n41gp9zamim2y39p49";
     };
-    propagatedBuildInputs = [ SOAPLite ];
+    propagatedBuildInputs = [ locallib ];
     meta = {
       maintainers = with maintainers; [ ];
       platforms   = stdenv.lib.platforms.unix;
     };
+    doCheck = false;
   };
 
   RTClientREST = buildPerlPackage {
-    name = "RT-Client-REST-0.49";
+    name = "RT-Client-REST-0.51";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DM/DMITRI/RT-Client-REST-0.49.tar.gz;
-      sha256 = "832c84b4f19e97781e8902f123a659fdcfef68e0ed9cfe09055852e9d68f7afc";
+      url = mirror://cpan/authors/id/D/DM/DMITRI/RT-Client-REST-0.51.tar.gz;
+      sha256 = "6a9df61c7f209f634613a8824393932d2faf2497b1c580ed8e5dd7794a36ea7d";
     };
-    buildInputs = [ TestException ];
-    propagatedBuildInputs = [ CGI DateTime DateTimeFormatDateParse Error ExceptionClass HTTPCookies HTTPMessage LWP ParamsValidate URI ];
+    buildInputs = [ CGI DateTime DateTimeFormatDateParse Error ExceptionClass HTTPCookies LWP ParamsValidate TestException ];
     meta = {
       description = "Talk to RT installation using REST protocol";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
@@ -12129,10 +13396,10 @@ let self = _self // overrides; _self = with self; {
   };
 
   SafeIsa = buildPerlPackage {
-    name = "Safe-Isa-1.000004";
+    name = "Safe-Isa-1.000008";
     src = fetchurl {
-      url = mirror://cpan/authors/id/E/ET/ETHER/Safe-Isa-1.000004.tar.gz;
-      sha256 = "0sqwma0xqxrgnsm0jfy17szq87bskzq67cdh7p934qdifh5nfwn9";
+      url = mirror://cpan/authors/id/E/ET/ETHER/Safe-Isa-1.000008.tar.gz;
+      sha256 = "08r74hwxq5b3bibnbwjr9anybg15l3zqdgcirpw1xm2qpvcxgdkx";
     };
     meta = {
       homepage = http://search.cpan.org/perldoc?CPAN::Meta::Spec;
@@ -12142,10 +13409,10 @@ let self = _self // overrides; _self = with self; {
   };
 
   ScalarListUtils = buildPerlPackage {
-    name = "Scalar-List-Utils-1.42";
+    name = "Scalar-List-Utils-1.50";
     src = fetchurl {
-      url = mirror://cpan/authors/id/P/PE/PEVANS/Scalar-List-Utils-1.42.tar.gz;
-      sha256 = "3507f72541f66a2dce850b9b56771e5fccda3d215c52f74946c6e370c0f4a4da";
+      url = mirror://cpan/authors/id/P/PE/PEVANS/Scalar-List-Utils-1.50.tar.gz;
+      sha256 = "06aab9c693380190e53be09be7daed20c5d6278f71956989c24cca7782013675";
     };
     meta = {
       description = "Common Scalar and List utility subroutines";
@@ -12153,30 +13420,28 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
-  ScalarString = buildPerlPackage rec {
-    name = "Scalar-String-0.002";
+  ScalarString = buildPerlModule rec {
+    name = "Scalar-String-0.003";
     src = fetchurl {
       url = "mirror://cpan/authors/id/Z/ZE/ZEFRAM/${name}.tar.gz";
-      sha256 = "d3a45cc137bb9f7d8848d5a10a5142d275a98f8dcfd3adb60593cee9d33fa6ae";
+      sha256 = "f54a17c9b78713b02cc43adfadf60b49467e7634d31317e8b9e9e97c26d68b52";
     };
-    buildInputs = [ ModuleBuild ];
   };
 
-  SCGI = buildPerlPackage rec {
+  SCGI = buildPerlModule rec {
     name = "SCGI-0.6";
     src = fetchurl {
       url = "mirror://cpan/authors/id/V/VI/VIPERCODE/${name}.tar.gz";
       sha256 = "196rj47mh4fq2vlnw595q391zja5v6qg7s3sy0vy8igfyid8rdsq";
     };
     preConfigure = "export HOME=$(mktemp -d)";
-    buildInputs = [ ModuleBuild ];
   };
 
   ScopeGuard = buildPerlPackage {
-    name = "Scope-Guard-0.20";
+    name = "Scope-Guard-0.21";
     src = fetchurl {
-      url = mirror://cpan/authors/id/C/CH/CHOCOLATE/Scope-Guard-0.20.tar.gz;
-      sha256 = "1lsagnz6pli035zvx5c1x4qm9fabi773vns86yd8lzfpldhfv3sv";
+      url = mirror://cpan/authors/id/C/CH/CHOCOLATE/Scope-Guard-0.21.tar.gz;
+      sha256 = "0y6jfzvxiz8h5yfz701shair0ilypq2mvimd7wn8wi2nbkm1p6wc";
     };
     meta = {
       description = "Lexically-scoped resource management";
@@ -12185,10 +13450,10 @@ let self = _self // overrides; _self = with self; {
   };
 
   ScopeUpper = buildPerlPackage rec {
-    name = "Scope-Upper-0.29";
+    name = "Scope-Upper-0.30";
     src = fetchurl {
       url = "mirror://cpan/authors/id/V/VP/VPIT/${name}.tar.gz";
-      sha256 = "4b07360a243ce0ccaacfdfa98ae38ef2686aa908fcf4ef3d669105ac36759e0a";
+      sha256 = "7f151582423850d814034404b1e23b5efb281b9dd656b9afe81c761ebb88bbb4";
     };
     meta = {
       homepage = http://search.cpan.org/dist/Scope-Upper/;
@@ -12210,10 +13475,10 @@ let self = _self // overrides; _self = with self; {
   };
 
   SelfLoader = buildPerlPackage {
-    name = "SelfLoader-1.20";
+    name = "SelfLoader-1.24";
     src = fetchurl {
-      url = mirror://cpan/authors/id/S/SM/SMUELLER/SelfLoader-1.20.tar.gz;
-      sha256 = "79b1e2b8e4081854fba666441287c18b6bd822defb5bbee79067370edba1a042";
+      url = mirror://cpan/authors/id/S/SM/SMUELLER/SelfLoader-1.24.tar.gz;
+      sha256 = "4c7cd20fd82aa10520ac14b05fa003f60c72bb4c95527bd12aec8bf3c4546098";
     };
     meta = {
       description = "Load functions only on demand";
@@ -12222,12 +13487,12 @@ let self = _self // overrides; _self = with self; {
   };
 
   ServerStarter = buildPerlModule rec {
-    name = "Server-Starter-0.33";
+    name = "Server-Starter-0.34";
     src = fetchurl {
       url = "mirror://cpan/authors/id/K/KA/KAZUHO/${name}.tar.gz";
-      sha256 = "109cc1ede244f2edb7e020c507d4a1ff7a8074f22a8f7c30253fb00af1aba6f6";
+      sha256 = "96a20d4a1f341655bd1b26df5795d57c5d7498d9bcf8ca9d0d6e2ed743608f78";
     };
-    buildInputs = [ ModuleBuild TestRequires TestSharedFork TestTCP ];
+    buildInputs = [ TestRequires TestSharedFork TestTCP ];
     meta = {
       homepage = https://github.com/kazuho/p5-Server-Starter;
       description = "A superdaemon for hot-deploying server programs";
@@ -12249,7 +13514,7 @@ let self = _self // overrides; _self = with self; {
   SetIntSpan = buildPerlPackage rec {
     name = "Set-IntSpan-1.19";
     src = fetchurl {
-      url = "https://cpan.metacpan.org/authors/id/S/SW/SWMCD/Set-IntSpan-1.19.tar.gz";
+      url = mirror://cpan/authors/id/S/SW/SWMCD/Set-IntSpan-1.19.tar.gz;
       sha256 = "1l6znd40ylzvfwl02rlqzvakv602rmvwgm2xd768fpgc2fdm9dqi";
     };
 
@@ -12259,10 +13524,10 @@ let self = _self // overrides; _self = with self; {
   };
 
   SetObject = buildPerlPackage rec {
-    name = "Set-Object-1.35";
+    name = "Set-Object-1.39";
     src = fetchurl {
       url = "mirror://cpan/authors/id/R/RU/RURBAN/${name}.tar.gz";
-      sha256 = "189a4d7cc3e583faa8518a63a95cf4aa3a320f79b5c6f5e40970687244080ee7";
+      sha256 = "5effcfeb104da334f413a20dee9cdc5e874246096c3b282190a5f44453401810";
     };
     meta = {
       description = "Unordered collections (sets) of Perl Objects";
@@ -12304,6 +13569,30 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
+  SnowballNorwegian = buildPerlModule rec {
+     name = "Snowball-Norwegian-1.2";
+     src = fetchurl {
+       url = mirror://cpan/authors/id/A/AS/ASKSH/Snowball-Norwegian-1.2.tar.gz;
+       sha256 = "0675v45bbsh7vr7kpf36xs2q79g02iq1kmfw22h20xdk4rzqvkqx";
+     };
+     meta = {
+       description = "Porters stemming algorithm for norwegian.";
+       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+     };
+  };
+
+  SnowballSwedish = buildPerlModule rec {
+     name = "Snowball-Swedish-1.2";
+     src = fetchurl {
+       url = mirror://cpan/authors/id/A/AS/ASKSH/Snowball-Swedish-1.2.tar.gz;
+       sha256 = "0agwc12jk5kmabnpsplw3wf4ii5w1zb159cpin44x3srb0sr5apg";
+     };
+     meta = {
+       description = "Porters stemming algorithm for swedish.";
+       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+     };
+  };
+
   SOAPLite = buildPerlPackage {
     name = "SOAP-Lite-1.11";
     src = fetchurl {
@@ -12320,16 +13609,17 @@ let self = _self // overrides; _self = with self; {
   };
 
   Socket = buildPerlPackage {
-    name = "Socket-2.020";
+    name = "Socket-2.027";
     src = fetchurl {
-      url = mirror://cpan/authors/id/P/PE/PEVANS/Socket-2.020.tar.gz;
-      sha256 = "9ad4174c45b4c31d5e0b8019ada1fc767093849e77f268f0d1831eeb891dfdd7";
+      url = mirror://cpan/authors/id/P/PE/PEVANS/Socket-2.027.tar.gz;
+      sha256 = "1a725fbqx6bjzjf63bgs5wvzd20kffz1f94pbmv1670p9m4i270l";
     };
     postPatch = ''
       # requires network access
-      rm t/getnameinfo.t
+      rm t/getnameinfo.t t/getaddrinfo.t
     '';
     meta = {
+      homepage = https://metacpan.org/pod/Socket;
       description = "Networking constants and support functions";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -12343,6 +13633,7 @@ let self = _self // overrides; _self = with self; {
     };
     setOutputFlags = false;
     buildInputs = [ pkgs.which ];
+    patches = [ ../development/perl-modules/Socket6-sv_undef.patch ];
     meta = {
       description = "IPv6 related part of the C socket.h defines and structure manipulators";
       license = stdenv.lib.licenses.bsd3;
@@ -12365,13 +13656,27 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
+  SoftwareLicenseCCpack = buildPerlPackage rec {
+     name = "Software-License-CCpack-1.11";
+     src = fetchurl {
+       url = mirror://cpan/authors/id/B/BB/BBYRD/Software-License-CCpack-1.11.tar.gz;
+       sha256 = "1cakbn7am8mhalwas5h33l7c6avdqpg42z478p6rav11pim5qksr";
+     };
+     propagatedBuildInputs = [ SoftwareLicense ];
+     buildInputs = [ TestCheckDeps ];
+     meta = {
+       description = "Software::License pack for Creative Commons' licenses";
+       license = with stdenv.lib.licenses; [ lgpl3Plus ];
+       homepage = "https://github.com/SineSwiper/Software-License-CCpack";
+     };
+  };
+
   SortKey = buildPerlPackage rec {
     name = "Sort-Key-1.33";
     src = fetchurl {
       url = "mirror://cpan/authors/id/S/SA/SALVA/${name}.tar.gz";
       sha256 = "1kqs10s2plj6c96srk0j8d7xj8dxk1704r7mck8rqk09mg7lqspd";
     };
-    buildInputs = [ TestMore ];
     meta = {
       description = "Sort arrays by one or multiple calculated keys";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
@@ -12379,11 +13684,41 @@ let self = _self // overrides; _self = with self; {
   };
 
   SortVersions = buildPerlPackage rec {
-    name = "Sort-Versions-1.5";
-    src = fetchurl {
-      url = "mirror://cpan/authors/id/E/ED/EDAVIS/${name}.tar.gz";
-      sha256 = "1yhyxaakyhcffgr9lwd314badhlc2gh9f6n47013ljshbnkgzhh9";
-    };
+    name = "Sort-Versions-1.62";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/N/NE/NEILB/Sort-Versions-1.62.tar.gz;
+      sha256 = "1aifzm79ky03gi2lwxyx4mk6yky8x215j0kz4f0jbgkf803k6pxz";
+    };
+  };
+
+  Specio = buildPerlPackage rec {
+     name = "Specio-0.42";
+     src = fetchurl {
+       url = mirror://cpan/authors/id/D/DR/DROLSKY/Specio-0.42.tar.gz;
+       sha256 = "1xjfa9g4vc6x3f0bzzbac8dwgpc4in4za1l1sp0y6ykdla9qna93";
+     };
+     propagatedBuildInputs = [ DevelStackTrace EvalClosure MROCompat ModuleRuntime RoleTiny SubQuote TryTiny ];
+     buildInputs = [ TestFatal TestNeeds ];
+     meta = {
+       description = "Type constraints and coercions for Perl";
+       license = with stdenv.lib.licenses; [ artistic2 ];
+       homepage = "http://metacpan.org/release/Specio";
+     };
+  };
+
+  SpecioLibraryPathTiny = buildPerlPackage rec {
+     name = "Specio-Library-Path-Tiny-0.04";
+     src = fetchurl {
+       url = mirror://cpan/authors/id/D/DR/DROLSKY/Specio-Library-Path-Tiny-0.04.tar.gz;
+       sha256 = "0cyfx8gigsgisdwynjamh8jkpad23sr8v6a98hq285zmibm16s7g";
+     };
+     propagatedBuildInputs = [ PathTiny Specio ];
+     buildInputs = [ Filepushd TestFatal ];
+     meta = {
+       description = "Path::Tiny types and coercions for Specio";
+       license = with stdenv.lib.licenses; [ asl20 ];
+       homepage = "http://metacpan.org/release/Specio-Library-Path-Tiny";
+     };
   };
 
   Spiffy = buildPerlPackage rec {
@@ -12392,7 +13727,6 @@ let self = _self // overrides; _self = with self; {
       url = "mirror://cpan/authors/id/I/IN/INGY/${name}.tar.gz";
       sha256 = "18qxshrjh0ibpzjm2314157mxlibh3smyg64nr4mq990hh564n4g";
     };
-    buildInputs = [ ExtUtilsMakeMaker ];
   };
 
   SpreadsheetParseExcel = buildPerlPackage rec {
@@ -12401,7 +13735,7 @@ let self = _self // overrides; _self = with self; {
       url = "mirror://cpan/authors/id/D/DO/DOUGW/${name}.tar.gz";
       sha256 = "6ec4cb429bd58d81640fe12116f435c46f51ff1040c68f09cc8b7681c1675bec";
     };
-    propagatedBuildInputs = [ CryptRC4 DigestPerlMD5 IOstringy OLEStorage_Lite ];
+    propagatedBuildInputs = [ CryptRC4 DigestPerlMD5 IOStringy OLEStorage_Lite ];
     meta = {
       homepage = https://github.com/runrig/spreadsheet-parseexcel/;
       description = "Read information from an Excel file";
@@ -12429,28 +13763,27 @@ let self = _self // overrides; _self = with self; {
       sha256 = "9f44afe031a0cc63a6ccabaa46ba7ec58ef4db940559cee7fbc2dfbbf37bccab";
     };
     buildInputs = [ TestDeep TestException TestWarn ];
-    propagatedBuildInputs = [ HashMerge MROCompat Moo SubQuote ];
+    propagatedBuildInputs = [ HashMerge MROCompat Moo ];
     meta = {
       description = "Generate SQL from Perl data structures";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
-  SQLAbstractLimit = buildPerlPackage rec {
+  SQLAbstractLimit = buildPerlModule rec {
     name = "SQL-Abstract-Limit-0.141";
     src = fetchurl {
       url = "mirror://cpan/authors/id/D/DA/DAVEBAIRD/${name}.tar.gz";
       sha256 = "1qqh89kz065mkgyg5pjcgbf8qcpzfk8vf1lgkbwynknadmv87zqg";
     };
-    propagatedBuildInputs =
-      [ SQLAbstract TestException DBI TestDeep ];
-    buildInputs = [ TestPod TestPodCoverage ];
+    propagatedBuildInputs = [ DBI SQLAbstract ];
+    buildInputs = [ TestDeep TestException ];
   };
 
   SQLSplitStatement = buildPerlPackage rec {
     name = "SQL-SplitStatement-1.00020";
     src = fetchurl {
-      url = "mirror://cpan/modules/by-module/SQL/${name}.tar.gz";
+      url = mirror://cpan/authors/id/E/EM/EMAZEP/SQL-SplitStatement-1.00020.tar.gz;
       sha256 = "0bqg45k4c9qkb2ypynlwhpvzsl4ssfagmsalys18s5c79ps30z7p";
     };
     buildInputs = [ TestException ];
@@ -12463,19 +13796,19 @@ let self = _self // overrides; _self = with self; {
   SQLTokenizer = buildPerlPackage rec {
     name = "SQL-Tokenizer-0.24";
     src = fetchurl {
-      url = "mirror://cpan/modules/by-module/SQL/${name}.tar.gz";
+      url = mirror://cpan/authors/id/I/IZ/IZUT/SQL-Tokenizer-0.24.tar.gz;
       sha256 = "1qa2dfbzdlr5qqdam9yn78z5w3al5r8577x06qan8wv58ay6ka7s";
     };
   };
 
   SQLTranslator = buildPerlPackage rec {
-    name = "SQL-Translator-0.11021";
+    name = "SQL-Translator-0.11024";
     src = fetchurl {
       url = "mirror://cpan/authors/id/I/IL/ILMARI/${name}.tar.gz";
-      sha256 = "64cb38a9f78367bc115359a999003bbeb3c32cc75bba8306ec1a938fc441bfd1";
+      sha256 = "5bde9d6f67850089ef35a9296d6f53e5ee8e991438366b71477f3f27c1581bb1";
     };
     buildInputs = [ JSON TestDifferences TestException XMLWriter YAML ];
-    propagatedBuildInputs = [ CarpClan DBI FileShareDir ListMoreUtils Moo PackageVariant ParseRecDescent TryTiny ];
+    propagatedBuildInputs = [ CarpClan DBI FileShareDir Moo PackageVariant ParseRecDescent TryTiny ];
     meta = {
       description = "SQL DDL transformations and more";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
@@ -12484,13 +13817,13 @@ let self = _self // overrides; _self = with self; {
   };
 
   PackageVariant = buildPerlPackage {
-    name = "Package-Variant-1.002002";
+    name = "Package-Variant-1.003002";
     src = fetchurl {
-      url = mirror://cpan/authors/id/H/HA/HAARG/Package-Variant-1.002002.tar.gz;
-      sha256 = "826780f19522f42c6b3d9f717ab6b5400f198cec08f4aa15b71aef9aa17e9b13";
+      url = mirror://cpan/authors/id/M/MS/MSTROUT/Package-Variant-1.003002.tar.gz;
+      sha256 = "b2ed849d2f4cdd66467512daa3f143266d6df810c5fae9175b252c57bc1536dc";
     };
     buildInputs = [ TestFatal ];
-    propagatedBuildInputs = [ ImportInto ModuleRuntime strictures ];
+    propagatedBuildInputs = [ ImportInto strictures ];
     meta = {
       description = "Parameterizable packages";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
@@ -12506,12 +13839,12 @@ let self = _self // overrides; _self = with self; {
   };
 
   Starlet = buildPerlPackage {
-    name = "Starlet-0.28";
+    name = "Starlet-0.31";
     src = fetchurl {
-      url = mirror://cpan/authors/id/K/KA/KAZUHO/Starlet-0.28.tar.gz;
-      sha256 = "245f606cdc8acadbe12e7e56dfa0752a8e8daa9a094373394fc17a45f5dde850";
+      url = mirror://cpan/authors/id/K/KA/KAZUHO/Starlet-0.31.tar.gz;
+      sha256 = "b9603b8e62880cb4582f6a7939eafec65e6efd3d900f2c7dd342e5f4c68d62d8";
     };
-    buildInputs = [ LWP TestTCP ];
+    buildInputs = [ LWP TestSharedFork TestTCP ];
     propagatedBuildInputs = [ ParallelPrefork Plack ServerStarter ];
     meta = {
       description = "A simple, high-performance PSGI/Plack HTTP server";
@@ -12525,8 +13858,8 @@ let self = _self // overrides; _self = with self; {
       url = "mirror://cpan/authors/id/M/MI/MIYAGAWA/Starman-${version}.tar.gz";
       sha256 = "1sbb5rb3vs82rlh1fjkgkcmj5pj62b4y9si4ihh45sl9m8c2qxx5";
     };
-    buildInputs = [ LWP ModuleBuildTiny TestRequires ];
-    propagatedBuildInputs = [ DataDump HTTPDate HTTPMessage HTTPParserXS NetServer Plack TestTCP ];
+    buildInputs = [ LWP ModuleBuildTiny TestRequires TestTCP ];
+    propagatedBuildInputs = [ DataDump HTTPParserXS NetServer Plack ];
     doCheck = false; # binds to various TCP ports
     meta = {
       inherit version;
@@ -12537,10 +13870,10 @@ let self = _self // overrides; _self = with self; {
   };
 
   StatisticsBasic = buildPerlPackage {
-    name = "Statistics-Basic-1.6607";
+    name = "Statistics-Basic-1.6611";
     src = fetchurl {
-      url = mirror://cpan/authors/id/J/JE/JETTERO/Statistics-Basic-1.6607.tar.gz;
-      sha256 = "105agxl2581iqmwj1crgz33l5r19snf47h91hnjgm1nf555z79r7";
+      url = mirror://cpan/authors/id/J/JE/JETTERO/Statistics-Basic-1.6611.tar.gz;
+      sha256 = "1ywl398z42hz9w1k0waf1caa6agz8jzsjlf4rzs1lgpx2mbcwmb8";
     };
     propagatedBuildInputs = [ NumberFormat ];
     meta = {
@@ -12550,23 +13883,24 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
-  StatisticsDescriptive = buildPerlPackage {
-    name = "Statistics-Descriptive-3.0605";
+  StatisticsDescriptive = buildPerlModule {
+    name = "Statistics-Descriptive-3.0612";
     src = fetchurl {
-      url = mirror://cpan/authors/id/S/SH/SHLOMIF/Statistics-Descriptive-3.0605.tar.gz;
-      sha256 = "8e7dae184444e27ee959e33b3ae161cc83115d11da189ed5003b004450e04b48";
+      url = mirror://cpan/authors/id/S/SH/SHLOMIF/Statistics-Descriptive-3.0612.tar.gz;
+      sha256 = "772413148e5e00efb32f277c4254aa78b9112490a896208dcd0025813afdbf7a";
     };
     meta = {
       #homepage = http://web-cpan.berlios.de/modules/Statistics-Descriptive/; # berlios shut down; I found no replacement
       description = "Module of basic descriptive statistical functions";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
+    propagatedBuildInputs = [ ListMoreUtils ];
   };
 
   StatisticsDistributions = buildPerlPackage rec {
     name = "Statistics-Distributions-1.02";
     src = fetchurl {
-      url = "mirror://cpan/modules/by-module/Statistics/${name}.tar.gz";
+      url = mirror://cpan/authors/id/M/MI/MIKEK/Statistics-Distributions-1.02.tar.gz;
       sha256 = "1j1kswl98f4i9dn176f9aa3y9bissx2sscga5jm3gjl4pxm3k7zr";
     };
   };
@@ -12574,7 +13908,7 @@ let self = _self // overrides; _self = with self; {
   StatisticsTTest = buildPerlPackage rec {
     name = "Statistics-TTest-1.1.0";
     src = fetchurl {
-      url = "mirror://cpan/modules/by-module/Statistics/${name}.tar.gz";
+      url = mirror://cpan/authors/id/Y/YU/YUNFANG/Statistics-TTest-1.1.0.tar.gz;
       sha256 = "0rkifgzm4rappiy669dyi6lyxn2sdqaf0bl6gndlfa67b395kndj";
     };
     propagatedBuildInputs = [ StatisticsDescriptive StatisticsDistributions ];
@@ -12592,10 +13926,10 @@ let self = _self // overrides; _self = with self; {
   };
 
   StreamBuffered = buildPerlPackage {
-    name = "Stream-Buffered-0.02";
+    name = "Stream-Buffered-0.03";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DO/DOY/Stream-Buffered-0.02.tar.gz;
-      sha256 = "0bfa3h2pryrbrcd1r7235k0ik4gw35r5ig8h8y3dfmk9l3y96vjr";
+      url = mirror://cpan/authors/id/D/DO/DOY/Stream-Buffered-0.03.tar.gz;
+      sha256 = "0fs2n9zw6isfkha2kbqrvl9mwg572x1x0jlfaps0qsyynn846bcv";
     };
     meta = {
       homepage = http://plackperl.org;
@@ -12605,10 +13939,10 @@ let self = _self // overrides; _self = with self; {
   };
 
   strictures = buildPerlPackage rec {
-    name = "strictures-2.000002";
+    name = "strictures-2.000003";
     src = fetchurl {
       url = "mirror://cpan/authors/id/H/HA/HAARG/${name}.tar.gz";
-      sha256 = "0021m9k1f6dfqn88znlp24g7xsqxwwjbj91w474c7n5gngf5a0qk";
+      sha256 = "08mgvf1d2651gsg3jgjfs13878ndqa4ji8vfsda9f7jjd84ymy17";
     };
     meta = {
       homepage = http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=p5sagit/strictures.git;
@@ -12618,26 +13952,26 @@ let self = _self // overrides; _self = with self; {
   };
 
   StringApprox = buildPerlPackage rec {
-    name = "String-Approx-3.27";
+    name = "String-Approx-3.28";
     src = fetchurl {
       url = "mirror://cpan/authors/id/J/JH/JHI/${name}.tar.gz";
-      sha256 = "2b8c1acd24fa9681ebba0ccb3c49f16289de1d579af8a0c898ea8f8d1baf5d36";
+      sha256 = "43201e762d8699cb0ac2c0764a5454bdc2306c0771014d6c8fba821480631342";
     };
   };
 
   StringCamelCase = buildPerlPackage rec {
-    name = "String-CamelCase-0.02";
+    name = "String-CamelCase-0.04";
     src = fetchurl {
-      url = "mirror://cpan/modules/by-module/String/${name}.tar.gz";
-      sha256 = "17kh8nap2z5g5rqcvw0m7mvbai7wr7h0al39w8l827zhqad8ss42";
+      url = mirror://cpan/authors/id/H/HI/HIO/String-CamelCase-0.04.tar.gz;
+      sha256 = "1a8i4yzv586svd0pbxls7642vvmyiwzh4x2xyij8gbnfxsydxhw9";
     };
   };
 
   StringCRC32 = buildPerlPackage rec {
-      name = "String-CRC32-1.5";
+      name = "String-CRC32-1.6";
       src = fetchurl {
-        url = mirror://cpan/authors/id/S/SO/SOENKE/String-CRC32-1.5.tar.gz;
-        sha256 = "0m3hjk292hnxyi8nkfy8hlr1khnbf2clgkb4kzj0ycq8gcd2z0as";
+        url = mirror://cpan/authors/id/L/LE/LEEJO/String-CRC32-1.6.tar.gz;
+        sha256 = "0mf545w014f9rwp2020h17dn8kfp7q1zgwrsfv0rpn89c61in8bh";
       };
       meta = {
         maintainers = with maintainers; [ ];
@@ -12646,13 +13980,13 @@ let self = _self // overrides; _self = with self; {
   };
 
   StringErrf = buildPerlPackage {
-    name = "String-Errf-0.007";
+    name = "String-Errf-0.008";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RJ/RJBS/String-Errf-0.007.tar.gz;
-      sha256 = "1apnmxdsqwrvn1kkbba4sw6yh6hdfxxar545p6m9dkid7xsiqjfj";
+      url = mirror://cpan/authors/id/R/RJ/RJBS/String-Errf-0.008.tar.gz;
+      sha256 = "1nyn9s52jgbffrsv0m7rhcx1awjj43n68bfjlap8frdc7mw6y4xf";
     };
-    buildInputs = [ JSON TimeDate ];
-    propagatedBuildInputs = [ ParamsUtil StringFormatter SubExporter ];
+    buildInputs = [ JSONMaybeXS TimeDate ];
+    propagatedBuildInputs = [ StringFormatter ];
     meta = {
       description = "A simple sprintf-like dialect";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
@@ -12677,7 +14011,7 @@ let self = _self // overrides; _self = with self; {
       url = "mirror://cpan/authors/id/R/RJ/RJBS/${name}.tar.gz";
       sha256 = "aa03c08e01f802a358c175c6093c02adf9688659a087a8ddefdc3e9cef72640b";
     };
-    propagatedBuildInputs = [ JSONMaybeXS ParamsUtil SubExporter ];
+    propagatedBuildInputs = [ JSONMaybeXS SubExporter ];
     meta = {
       homepage = https://github.com/rjbs/String-Flogger;
       description = "String munging for loggers";
@@ -12686,10 +14020,10 @@ let self = _self // overrides; _self = with self; {
   };
 
   StringFormat = buildPerlPackage rec {
-    name = "String-Format-1.17";
+    name = "String-Format-1.18";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/D/DA/DARREN/${name}.tar.gz";
-      sha256 = "0sxfavcsb349rfafxflq2f9h3xpxabrw0q7vhmh9n3hjij8fa1jk";
+      url = mirror://cpan/authors/id/S/SR/SREZIC/String-Format-1.18.tar.gz;
+      sha256 = "0y77frxzjifd4sw0j19cc346ysas1mya84rdxaz279lyin7plhcy";
     };
   };
 
@@ -12699,7 +14033,7 @@ let self = _self // overrides; _self = with self; {
       url = mirror://cpan/authors/id/R/RJ/RJBS/String-Formatter-0.102084.tar.gz;
       sha256 = "0mlwm0rirv46gj4h072q8gdync5zxxsxy8p028gdyrhczl942dc3";
     };
-    propagatedBuildInputs = [ ParamsUtil SubExporter ];
+    propagatedBuildInputs = [ SubExporter ];
     meta = with stdenv.lib; {
       description = "Build sprintf-like functions of your own";
       license = licenses.gpl2;
@@ -12752,13 +14086,12 @@ let self = _self // overrides; _self = with self; {
   };
 
   StringToIdentifierEN = buildPerlPackage rec {
-    name = "String-ToIdentifier-EN-0.11";
+    name = "String-ToIdentifier-EN-0.12";
     src = fetchurl {
       url = "mirror://cpan/authors/id/R/RK/RKITOVER/${name}.tar.gz";
-      sha256 = "1bawghkgkkx7j3avnrj5sg3vix1z5564ks6wf9az3jc2knh8s5nh";
+      sha256 = "12nw7h2yiybhdw0vnnpc7bif8ylhsn6kqf6s39dsrf9h54iq9yrs";
     };
-    propagatedBuildInputs =
-      [ LinguaENInflectPhrase TextUnidecode namespaceclean ];
+    propagatedBuildInputs = [ LinguaENInflectPhrase TextUnidecode namespaceclean ];
   };
 
   StringTruncate = buildPerlPackage {
@@ -12767,7 +14100,7 @@ let self = _self // overrides; _self = with self; {
       url = mirror://cpan/authors/id/R/RJ/RJBS/String-Truncate-1.100602.tar.gz;
       sha256 = "0vjz4fd4cvcy12gk5bdha7z73ifmfpmk748khha94dhiq3pd98xa";
     };
-    propagatedBuildInputs = [ SubExporter SubInstall ];
+    propagatedBuildInputs = [ SubExporter ];
     meta = {
       description = "A module for when strings are too long to be displayed in";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
@@ -12780,7 +14113,7 @@ let self = _self // overrides; _self = with self; {
       url = mirror://cpan/authors/id/B/BO/BOBTFISH/String-TT-0.03.tar.gz;
       sha256 = "1asjr79wqcl9wk96afxrm1yhpj8lk9bk8kyz78yi5ypr0h55yq7p";
     };
-    buildInputs = [ Testuseok TestException TestTableDriven ];
+    buildInputs = [ TestException TestSimple13 TestTableDriven ];
     propagatedBuildInputs = [ PadWalker SubExporter TemplateToolkit ];
     meta = {
       description = "Use TT to interpolate lexical variables";
@@ -12790,17 +14123,19 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
-  StringUtil = let version = "1.24"; in buildPerlPackage {
+  StringUtil = let version = "1.26"; in buildPerlModule {
     name = "String-Util-${version}";
     src = fetchurl {
       url = "mirror://cpan/authors/id/M/MI/MIKO/String-Util-${version}.tar.gz";
-      sha256 = "16c7dbpz87ywq49lnsaml0k28jbkraf1p2njh72jc5xcxys7vykv";
+      sha256 = "0bgs6fsc0gcj9qa1k98nwjp4xbkl3ckz71rz3qhmav0lgkrr96pl";
     };
     meta = {
       inherit version;
       description = "String::Util -- String processing utilities";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
+    propagatedBuildInputs = [ NumberMisc ];
+    buildInputs = [ TestToolbox ];
   };
 
   libfile-stripnondeterminism = buildPerlPackage rec {
@@ -12836,12 +14171,12 @@ let self = _self // overrides; _self = with self; {
   };
 
   SubExporter = buildPerlPackage {
-    name = "Sub-Exporter-0.984";
+    name = "Sub-Exporter-0.987";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RJ/RJBS/Sub-Exporter-0.984.tar.gz;
-      sha256 = "190qly7nv7zf17c1v0gnqhyf25p6whhh2m132mh4xzs5mqadwq0f";
+      url = mirror://cpan/authors/id/R/RJ/RJBS/Sub-Exporter-0.987.tar.gz;
+      sha256 = "1ml3n1ck4ln9qjm2mcgkczj1jb5n1fkscz9c4x23v4db0glb4g2l";
     };
-    propagatedBuildInputs = [ DataOptList ParamsUtil SubInstall ];
+    propagatedBuildInputs = [ DataOptList ];
     meta = {
       homepage = https://github.com/rjbs/sub-exporter;
       description = "A sophisticated exporter for custom-built routines";
@@ -12866,10 +14201,10 @@ let self = _self // overrides; _self = with self; {
   };
 
   SubExporterGlobExporter = buildPerlPackage {
-    name = "Sub-Exporter-GlobExporter-0.004";
+    name = "Sub-Exporter-GlobExporter-0.005";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RJ/RJBS/Sub-Exporter-GlobExporter-0.004.tar.gz;
-      sha256 = "025wgjavrbzh52jb4v0w2fxqh7r5181k935h9cyy2rm1qk49fg8p";
+      url = mirror://cpan/authors/id/R/RJ/RJBS/Sub-Exporter-GlobExporter-0.005.tar.gz;
+      sha256 = "0qvsvfvfyk69v2ygjnyd5sh3bgbzd6f7k7mgv0zws1yywvpmxi1g";
     };
     propagatedBuildInputs = [ SubExporter ];
     meta = {
@@ -12880,10 +14215,10 @@ let self = _self // overrides; _self = with self; {
   };
 
   SubExporterProgressive = buildPerlPackage {
-    name = "Sub-Exporter-Progressive-0.001011";
+    name = "Sub-Exporter-Progressive-0.001013";
     src = fetchurl {
-      url = mirror://cpan/authors/id/F/FR/FREW/Sub-Exporter-Progressive-0.001011.tar.gz;
-      sha256 = "01kwzbqwdhvadpphnczid03nlyj0h4cxaq3m3v2401bckkkcc606";
+      url = mirror://cpan/authors/id/F/FR/FREW/Sub-Exporter-Progressive-0.001013.tar.gz;
+      sha256 = "0mn0x8mkh36rrsr58s1pk4srwxh2hbwss7sv630imnk49navfdfm";
     };
     meta = {
       homepage = http://search.cpan.org/perldoc?CPAN::Meta::Spec;
@@ -12908,10 +14243,10 @@ let self = _self // overrides; _self = with self; {
   };
 
   SubIdentify = buildPerlPackage rec {
-    name = "Sub-Identify-0.12";
+    name = "Sub-Identify-0.14";
     src = fetchurl {
       url = "mirror://cpan/authors/id/R/RG/RGARCIA/${name}.tar.gz";
-      sha256 = "83bb785a66113b4a966db0a4186fd1dd07987acdacb4502b1e1558f817dde825";
+      sha256 = "068d272086514dd1e842b6a40b1bedbafee63900e5b08890ef6700039defad6f";
     };
     meta = {
       description = "Retrieve names of code references";
@@ -12935,10 +14270,10 @@ let self = _self // overrides; _self = with self; {
   };
 
   SubInstall = buildPerlPackage {
-    name = "Sub-Install-0.927";
+    name = "Sub-Install-0.928";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RJ/RJBS/Sub-Install-0.927.tar.gz;
-      sha256 = "0nmgsdbwi8f474jkyd6w9jfnpav99xp8biydcdri8qri623f6plm";
+      url = mirror://cpan/authors/id/R/RJ/RJBS/Sub-Install-0.928.tar.gz;
+      sha256 = "03zgk1yh128gciyx3q77zxzxg9kf8yy2gm46gdxqi24mcykngrb1";
     };
     meta = {
       homepage = http://search.cpan.org/perldoc?CPAN::Meta::Spec;
@@ -12948,12 +14283,12 @@ let self = _self // overrides; _self = with self; {
   };
 
   SubName = buildPerlPackage rec {
-    name = "Sub-Name-0.19";
+    name = "Sub-Name-0.21";
     src = fetchurl {
       url = "mirror://cpan/authors/id/E/ET/ETHER/${name}.tar.gz";
-      sha256 = "b06ba8252ce3b1bb88fa0ea0fe9ec8b572e5ed36c69f55e9e3d9db8a73efe22b";
+      sha256 = "bd32e9dee07047c10ae474c9f17d458b6e9885a6db69474c7a494ccc34c27117";
     };
-    buildInputs = [ self."if" ];
+    buildInputs = [ BC DevelCheckBin ];
     meta = {
       homepage = https://github.com/p5sagit/Sub-Name;
       description = "(Re)name a sub";
@@ -12963,12 +14298,12 @@ let self = _self // overrides; _self = with self; {
   };
 
   SubOverride = buildPerlPackage rec {
-    name = "Sub-Override-0.08";
+    name = "Sub-Override-0.09";
     src = fetchurl {
       url = "mirror://cpan/authors/id/O/OV/OVID/${name}.tar.gz";
-      sha256 = "13s5zi6qz02q50vv4bmwdmhn9gvg0988fydjlrrv500g6hnyzlkj";
+      sha256 = "1d955qn44brkcfif3gi0q2vvvqahny6rax0vr068x5i9yz0ng6lk";
     };
-    propagatedBuildInputs = [SubUplevel TestException];
+    buildInputs = [ TestFatal ];
   };
 
   SubQuote = buildPerlPackage rec {
@@ -12985,10 +14320,10 @@ let self = _self // overrides; _self = with self; {
   };
 
   SubUplevel = buildPerlPackage {
-    name = "Sub-Uplevel-0.24";
+    name = "Sub-Uplevel-0.2800";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DA/DAGOLDEN/Sub-Uplevel-0.24.tar.gz;
-      sha256 = "1yzxqsim8vpavzqm2wfksh8dpmy6qbr9s3hdqqicp38br3lzd4qg";
+      url = mirror://cpan/authors/id/D/DA/DAGOLDEN/Sub-Uplevel-0.2800.tar.gz;
+      sha256 = "14z2xjiw931wizcx3mblmby753jspvfm321d6chs907nh0xzdwxl";
     };
     meta = {
       homepage = https://github.com/dagolden/sub-uplevel;
@@ -13007,10 +14342,10 @@ let self = _self // overrides; _self = with self; {
   };
 
   Swim = buildPerlPackage rec {
-    name = "Swim-0.1.45";
+    name = "Swim-0.1.46";
     src = fetchurl {
       url = "mirror://cpan/authors/id/I/IN/INGY/${name}.tar.gz";
-      sha256 = "3755ba1a02aee933c8e1de3995aca1523d6175291a1fa60c3f7fd477f5bb2469";
+      sha256 = "ac747362afec12a0ba30ffdfff8765f80a124dff8ebcb238326fa627e07daae8";
     };
     buildInputs = [ FileShareDirInstall ];
     propagatedBuildInputs = [ HTMLEscape HashMerge IPCRun Pegex TextAutoformat YAMLLibYAML ];
@@ -13042,7 +14377,7 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
-  SymbolUtil = buildPerlPackage {
+  SymbolUtil = buildPerlModule {
     name = "Symbol-Util-0.0203";
     src = fetchurl {
       url = mirror://cpan/authors/id/D/DE/DEXTER/Symbol-Util-0.0203.tar.gz;
@@ -13075,7 +14410,7 @@ let self = _self // overrides; _self = with self; {
       sha256 = "8b4975f21b1992a7e6c2df5dcc92b254c61925595eddcdfaf0b1498717aa95ef";
     };
     buildInputs = [ TestRequires ];
-    propagatedBuildInputs = [ SubExporterProgressive syntax ];
+    propagatedBuildInputs = [ syntax ];
     meta = {
       homepage = https://github.com/frioux/Syntax-Keyword-Junction;
       description = "Perl6 style Junction operators in Perl5";
@@ -13093,10 +14428,10 @@ let self = _self // overrides; _self = with self; {
   };
 
   SysHostnameLong = buildPerlPackage rec {
-    name = "Sys-Hostname-Long-1.4";
+    name = "Sys-Hostname-Long-1.5";
     src = fetchurl {
       url = "mirror://cpan/authors/id/S/SC/SCOTT/${name}.tar.gz";
-      sha256 = "0hy1225zg2yg11xhgj0wbiapzjyf6slx17ln36zqvfm07k6widlx";
+      sha256 = "1jv5n8jv48c1p8svjsigyxndv1ygsq8wgwj9c7ypx1vaf3rns679";
     };
     doCheck = false; # no `hostname' in stdenv
     meta = {
@@ -13105,10 +14440,10 @@ let self = _self // overrides; _self = with self; {
   };
 
   SysSigAction = buildPerlPackage {
-    name = "Sys-SigAction-0.21";
+    name = "Sys-SigAction-0.23";
     src = fetchurl {
-      url = mirror://cpan/authors/id/L/LB/LBAXTER/Sys-SigAction-0.21.tar.gz;
-      sha256 = "e144207a6fd261eb9f98554c76bea66d95870ee1f62d2d346a1ea95fdccf80db";
+      url = mirror://cpan/authors/id/L/LB/LBAXTER/Sys-SigAction-0.23.tar.gz;
+      sha256 = "c4ef6c9345534031fcbbe2adc347fc7194d47afc945e7a44fac7e9563095d353";
     };
     meta = {
       description = "Perl extension for Consistent Signal Handling";
@@ -13130,10 +14465,12 @@ let self = _self // overrides; _self = with self; {
   };
 
   SysVirt = buildPerlPackage rec {
-    name = "Sys-Virt-1.2.19";
-    src = fetchurl {
-      url = "mirror://cpan/authors/id/D/DA/DANBERR/${name}.tar.gz";
-      sha256 = "18v8x0514in0zpvq1rv78hmvhpij1xjh5xn0wa6wmg2swky54sp4";
+    version = "4.1.0";
+    name = "Sys-Virt-${version}";
+    src = assert version == pkgs.libvirt.version; pkgs.fetchgit {
+      url = git://libvirt.org/libvirt-perl.git;
+      rev = "v${version}";
+      sha256 = "0m0snv6gqh97nh1c31qvbm4sdzp49vixn7w3r69h6a5r71sn78x4";
     };
     propagatedBuildInputs = [XMLXPath];
     nativeBuildInputs = [ pkgs.pkgconfig ];
@@ -13164,22 +14501,22 @@ let self = _self // overrides; _self = with self; {
       url = "mirror://cpan/authors/id/M/MR/MRAMBERG/${name}.tar.gz";
       sha256 = "75b1b2d96155647842587146cefd0de30943b85195e8e3eca51e0f0b8642d61e";
     };
-    buildInputs = [TestPodCoverage];
-    propagatedBuildInputs = [ CatalystAuthenticationStoreDBIxClass CatalystControllerHTMLFormFu CatalystDevel CatalystManual CatalystModelDBICSchema CatalystPluginAuthentication CatalystPluginAuthorizationACL CatalystPluginAuthorizationRoles CatalystPluginSession CatalystPluginSessionStateCookie CatalystPluginSessionStoreFastMmap CatalystPluginStackTrace CatalystRuntime CatalystViewTT DBIxClass ];
+    propagatedBuildInputs = [ CatalystAuthenticationStoreDBIxClass CatalystControllerHTMLFormFu CatalystDevel CatalystManual CatalystPluginAuthorizationACL CatalystPluginAuthorizationRoles CatalystPluginSessionStateCookie CatalystPluginSessionStoreFastMmap CatalystPluginStackTrace CatalystViewTT ];
     meta = {
       description = "Everything you need to follow the Catalyst Tutorial";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
+    doCheck = false;
   };
 
   TaskFreecellSolverTesting = buildPerlModule rec {
-    name = "Task-FreecellSolver-Testing-v0.0.10";
+    name = "Task-FreecellSolver-Testing-0.0.11";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/S/SH/SHLOMIF/${name}.tar.gz";
-      sha256 = "ce8960c0250a9947ae5b4485e8a3e807bb2d87b1120096464b3d2247d2c194ff";
+      url = mirror://cpan/authors/id/S/SH/SHLOMIF/Task-FreecellSolver-Testing-v0.0.11.tar.gz;
+      sha256 = "a2f73c65d0e5676cf4aae213ba4c3f88bf85f084a2165f1e71e3ce5b19023206";
     };
-    buildInputs = [ ModuleBuild perl ];
-    propagatedBuildInputs = [ EnvPath FileWhich GamesSolitaireVerify Inline InlineC ListMoreUtils Moo MooX PathTiny StringShellQuote TaskTestRunAllPlugins TemplateToolkit TestDataSplit TestDifferences TestPerlTidy TestRunPluginTrimDisplayedFilenames TestRunValgrind TestTrailingSpace YAMLLibYAML ];
+    buildInputs = [ CodeTidyAll TestDataSplit TestDifferences TestPerlTidy TestRunPluginTrimDisplayedFilenames TestRunValgrind TestTrailingSpace TestTrap ];
+    propagatedBuildInputs = [ EnvPath FileWhich GamesSolitaireVerify InlineC MooX PathTiny StringShellQuote TaskTestRunAllPlugins TemplateToolkit YAMLLibYAML ];
     meta = {
       homepage = https://metacpan.org/release/Task-FreecellSolver-Testing;
       description = "Install the CPAN dependencies of the Freecell Solver test suite";
@@ -13193,17 +14530,17 @@ let self = _self // overrides; _self = with self; {
       url = "mirror://cpan/authors/id/M/MI/MIYAGAWA/${name}.tar.gz";
       sha256 = "0ajwkyr9nwn11afi6fz6kx4bi7a3p8awjsldmsakz3sl0s42pmbr";
     };
-    propagatedBuildInputs = [ Plack PSGI ModuleBuildTiny ];
+    propagatedBuildInputs = [ CGICompile CGIEmulatePSGI CGIPSGI Corona FCGI FCGIClient FCGIProcManager HTTPServerSimplePSGI IOHandleUtil NetFastCGI PSGI PlackAppProxy PlackMiddlewareAuthDigest PlackMiddlewareConsoleLogger PlackMiddlewareDebug PlackMiddlewareDeflater PlackMiddlewareHeader PlackMiddlewareReverseProxy PlackMiddlewareSession Starlet Starman Twiggy ];
+    buildInputs = [ ModuleBuildTiny TestSharedFork ];
   };
 
-  TaskTestRunAllPlugins = buildPerlPackage rec {
+  TaskTestRunAllPlugins = buildPerlModule rec {
     name = "Task-Test-Run-AllPlugins-0.0105";
     src = fetchurl {
       url = "mirror://cpan/authors/id/S/SH/SHLOMIF/${name}.tar.gz";
       sha256 = "fd43bd053aa884a5abca851f145a0e29898515dcbfc3512f18cd0d86d28eb0a9";
     };
-    buildInputs = [ ModuleBuild ];
-    propagatedBuildInputs = [ TestRun TestRunCmdLine TestRunPluginAlternateInterpreters TestRunPluginBreakOnFailure TestRunPluginColorFileVerdicts TestRunPluginColorSummary TestRunPluginTrimDisplayedFilenames ];
+    buildInputs = [ TestRun TestRunCmdLine TestRunPluginAlternateInterpreters TestRunPluginBreakOnFailure TestRunPluginColorFileVerdicts TestRunPluginColorSummary TestRunPluginTrimDisplayedFilenames ];
     meta = {
       homepage = http://web-cpan.shlomifish.org/modules/Test-Run/;
       description = "Specifications for installing all the Test::Run";
@@ -13212,10 +14549,10 @@ let self = _self // overrides; _self = with self; {
   };
 
   TaskWeaken = buildPerlPackage {
-    name = "Task-Weaken-1.04";
+    name = "Task-Weaken-1.05";
     src = fetchurl {
-      url = mirror://cpan/authors/id/A/AD/ADAMK/Task-Weaken-1.04.tar.gz;
-      sha256 = "1i7kd9v8fjsqyhr4rx4a1jv7n5vfjjm1v4agb24pizh0b72p3qk7";
+      url = mirror://cpan/authors/id/E/ET/ETHER/Task-Weaken-1.05.tar.gz;
+      sha256 = "0p5ryr3421p5rqj6dk5dcvxsml5gl9skbn7gv4szk50fimrvzww5";
     };
     meta = {
       description = "Ensure that a platform has weaken support";
@@ -13316,22 +14653,23 @@ let self = _self // overrides; _self = with self; {
   };
 
   TemplateToolkit = buildPerlPackage rec {
-    name = "Template-Toolkit-2.25";
+    name = "Template-Toolkit-2.27";
     src = fetchurl {
-      url = mirror://cpan/authors/id/A/AB/ABW/Template-Toolkit-2.25.tar.gz;
-      sha256 = "048yg07j48rix3cly13j5wzms7kd5argviicj0kwykb004xpc8zl";
+      url = mirror://cpan/authors/id/A/AB/ABW/Template-Toolkit-2.27.tar.gz;
+      sha256 = "1p66y9mwj7nkc1bcwgp2xjw78l4x5bzhj0xghp2k80ad4q1s848k";
     };
     propagatedBuildInputs = [ AppConfig ];
     meta = {
       description = "Comprehensive template processing system";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
+    buildInputs = [ CGI TestLeakTrace ];
   };
 
    TemplateGD = buildPerlPackage rec {
     name = "Template-GD-2.66";
     src = fetchurl {
-      url = "http://search.cpan.org/CPAN/authors/id/A/AB/ABW/${name}.tar.gz";
+      url = mirror://cpan/authors/id/A/AB/ABW/Template-GD-2.66.tar.gz;
       sha256 = "98523c8192f2e8184042e5a2e172bd767ac289dd2e480f35f680dce32160905b";
     };
     propagatedBuildInputs = [ GD TemplateToolkit ];
@@ -13342,10 +14680,10 @@ let self = _self // overrides; _self = with self; {
   };
 
   TermANSIColor = buildPerlPackage {
-    name = "Term-ANSIColor-4.03";
+    name = "Term-ANSIColor-4.06";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RR/RRA/Term-ANSIColor-4.03.tar.gz;
-      sha256 = "e89b6992030fa713f928f653dcdb71d66fa2493f873bacf5653aa121ca862450";
+      url = mirror://cpan/authors/id/R/RR/RRA/Term-ANSIColor-4.06.tar.gz;
+      sha256 = "8161c7434b1984bde588d75f22c786c46cb6d35d264d58111db0b82537de4bad";
     };
     meta = {
       description = "Color output using ANSI escape sequences";
@@ -13398,11 +14736,12 @@ let self = _self // overrides; _self = with self; {
       url = mirror://cpan/authors/id/L/LB/LBROCARD/Term-ProgressBar-Quiet-0.31.tar.gz;
       sha256 = "25675292f588bc29d32e710cf3667da9a2a1751e139801770a9fdb18cd2184a6";
     };
-    propagatedBuildInputs = [ IOInteractive TermProgressBar TestMockObject ];
+    propagatedBuildInputs = [ IOInteractive TermProgressBar ];
     meta = {
       description = "";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
+    buildInputs = [ TestMockObject ];
   };
 
   TermProgressBarSimple = buildPerlPackage {
@@ -13412,6 +14751,7 @@ let self = _self // overrides; _self = with self; {
       sha256 = "a20db3c67d5bdfd0c1fab392c6d1c26880a7ee843af602af4f9b53a7043579a6";
     };
     propagatedBuildInputs = [ TermProgressBarQuiet ];
+    buildInputs = [ TestMockObject ];
   };
 
   TermReadKey = buildPerlPackage rec {
@@ -13419,15 +14759,15 @@ let self = _self // overrides; _self = with self; {
     version = "2.37";
     src = fetchurl {
       url = "mirror://cpan/authors/id/J/JS/JSTOWE/${name}.tar.gz";
-      sha256 = "1czarrdxgnxmmbaasjnq3sj14nf1cvzhm37padq6xvl7h7r2acb2";
+      sha256 = "0hdj5mldpj3pyprd4hbbalfx9yjgi5p59gg2ixk9808f5v7q74sa";
     };
   };
 
   TermReadLineGnu = buildPerlPackage rec {
-    name = "Term-ReadLine-Gnu-1.31";
+    name = "Term-ReadLine-Gnu-1.35";
     src = fetchurl {
       url = "mirror://cpan/authors/id/H/HA/HAYASHI/${name}.tar.gz";
-      sha256 = "42174b4bc9d3881502d527fc7c8bd1c0a4b266c2f0bbee012e9a604999418f3b";
+      sha256 = "575d32d4ab67cd656f314e8d0ee3d45d2491078f3b2421e520c4273e92eb9125";
     };
     buildInputs = [ pkgs.readline pkgs.ncurses ];
     NIX_CFLAGS_LINK = "-lreadline -lncursesw";
@@ -13490,10 +14830,10 @@ let self = _self // overrides; _self = with self; {
   };
 
   TermSizePerl = buildPerlPackage {
-    name = "Term-Size-Perl-0.029";
+    name = "Term-Size-Perl-0.031";
     src = fetchurl {
-      url = mirror://cpan/authors/id/F/FE/FERREIRA/Term-Size-Perl-0.029.tar.gz;
-      sha256 = "8c1aaab73646ee1d233e827213ea3b5ab8afcf1d02a8f94be7aed306574875e7";
+      url = mirror://cpan/authors/id/F/FE/FERREIRA/Term-Size-Perl-0.031.tar.gz;
+      sha256 = "ae9a6746cb1b305ddc8f8d8ca46878552b9c1123628971e13a275183822f209e";
     };
     meta = {
       description = "Perl extension for retrieving terminal size (Perl version)";
@@ -13516,6 +14856,19 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
+  TermUI = buildPerlPackage rec {
+     name = "Term-UI-0.46";
+     src = fetchurl {
+       url = mirror://cpan/authors/id/B/BI/BINGOS/Term-UI-0.46.tar.gz;
+       sha256 = "19p92za5cx1v7g57pg993amprcvm1az3pp7y9g5b1aplsy06r54i";
+     };
+     propagatedBuildInputs = [ LogMessageSimple ];
+     meta = {
+       description = "User interfaces via Term::ReadLine made easy";
+       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+     };
+  };
+
   TermVT102 = buildPerlPackage {
     name = "Term-VT102-0.91";
     src = fetchurl {
@@ -13532,7 +14885,7 @@ let self = _self // overrides; _self = with self; {
       url = mirror://cpan/authors/id/N/NU/NUFFIN/Term-VT102-Boundless-0.04.tar.gz;
       sha256 = "5bb88b5aecb44ebf56d3ac7240be80cd26def9dcf1ebeb4e77d9983dfc7a8f19";
     };
-    propagatedBuildInputs = [ TermVT102 Testuseok ];
+    propagatedBuildInputs = [ TermVT102 ];
     meta = {
       license = "unknown";
     };
@@ -13562,13 +14915,28 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
+  Test2PluginNoWarnings = buildPerlPackage rec {
+     name = "Test2-Plugin-NoWarnings-0.06";
+     src = fetchurl {
+       url = mirror://cpan/authors/id/D/DR/DROLSKY/Test2-Plugin-NoWarnings-0.06.tar.gz;
+       sha256 = "002qk6qsm0l6r2kaxywvc38w0yf0mlavgywq8li076pn6kcw3242";
+     };
+     propagatedBuildInputs = [ TestSimple13 ];
+     buildInputs = [ IPCRun3 Test2Suite ];
+     meta = {
+       description = "Fail if tests warn";
+       license = with stdenv.lib.licenses; [ artistic2 ];
+       homepage = "http://metacpan.org/release/Test2-Plugin-NoWarnings";
+     };
+  };
+
   Test2Suite = buildPerlPackage rec {
-    name = "Test2-Suite-0.000094";
+    name = "Test2-Suite-0.000111";
     src = fetchurl {
       url = "mirror://cpan/authors/id/E/EX/EXODIST/${name}.tar.gz";
-      sha256 = "7135ccb6af82bac39801234e1ce49eb8693dfe8f8e215c7de577c7ded65b6e5f";
+      sha256 = "4ca28df74c7c2f37fe63897c5041aee92fba4530544d0afc371e7d14a9b4d0ad";
     };
-    propagatedBuildInputs = [ Importer ModulePluggable ScopeGuard SubInfo TermTable TestSimple13 ];
+    propagatedBuildInputs = [ ModulePluggable ScopeGuard SubInfo TermTable TestSimple13 ];
     meta = {
       description = "Distribution with a rich set of tools built upon the Test2 framework";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
@@ -13576,14 +14944,29 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
-  TestAssert = buildPerlPackage {
+  TestAbortable = buildPerlPackage rec {
+     name = "Test-Abortable-0.002";
+     src = fetchurl {
+       url = mirror://cpan/authors/id/R/RJ/RJBS/Test-Abortable-0.002.tar.gz;
+       sha256 = "0v97y31j56f4mxw0vxyjbdprq4951h4wcdh4acnfm63np7wvg44p";
+     };
+     propagatedBuildInputs = [ SubExporter TestSimple13 ];
+     buildInputs = [ TestNeeds ];
+     meta = {
+       description = "subtests that you can die your way out of ... but survive";
+       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+       homepage = "https://github.com/rjbs/Test-Abortable";
+     };
+  };
+
+  TestAssert = buildPerlModule {
     name = "Test-Assert-0.0504";
     src = fetchurl {
       url = mirror://cpan/authors/id/D/DE/DEXTER/Test-Assert-0.0504.tar.gz;
       sha256 = "194bzflmzc0cw5727kznbj1zwzj7gnj7nx1643zk2hshdjlnv8yg";
     };
     buildInputs = [ ClassInspector TestUnitLite ];
-    propagatedBuildInputs = [ constantboolean ExceptionBase SymbolUtil ];
+    propagatedBuildInputs = [ ExceptionBase constantboolean ];
     meta = {
       maintainers = with maintainers; [ ];
       platforms   = stdenv.lib.platforms.unix;
@@ -13593,20 +14976,19 @@ let self = _self // overrides; _self = with self; {
   TestAssertions = buildPerlPackage rec {
     name = "Test-Assertions-1.054";
     src = fetchurl {
-      url = "mirror://cpan/modules/by-module/Test/${name}.tar.gz";
+      url = mirror://cpan/authors/id/B/BB/BBC/Test-Assertions-1.054.tar.gz;
       sha256 = "10026w4r3yv6k3vc6cby7d61mxddlqh0ls6z39c82f17awfy9p7w";
     };
-    buildInputs = [ LogTrace ];
+    propagatedBuildInputs = [ LogTrace ];
   };
 
-  TestAggregate = buildPerlPackage rec {
-    name = "Test-Aggregate-0.373";
+  TestAggregate = buildPerlModule rec {
+    name = "Test-Aggregate-0.375";
     src = fetchurl {
       url = "mirror://cpan/authors/id/R/RW/RWSTAUNER/${name}.tar.gz";
-      sha256 = "00d218daa7ba29d82bcf364b61d391d3a14356cf3bcb4b12144270108a14fd14";
+      sha256 = "c6cc0abfd0d4fce85371acca93ec245381841d32b4caa2d6475e4bc8130427d1";
     };
-    buildInputs = [ TestMost TestTrap ];
-    propagatedBuildInputs = [ TestNoWarnings ];
+    buildInputs = [ TestMost TestNoWarnings TestTrap ];
     meta = {
       description = "Aggregate C<*.t> tests to make them run faster";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
@@ -13621,6 +15003,7 @@ let self = _self // overrides; _self = with self; {
       sha256 = "0fch1cvivnszbnwhpfmwv1rin04j5xkj1n1ylfmlxg6bm72qqdjj";
     };
     propagatedBuildInputs = [ Spiffy ];
+    buildInputs = [ AlgorithmDiff TextDiff ];
   };
 
   TestCheckDeps = buildPerlPackage rec {
@@ -13629,7 +15012,6 @@ let self = _self // overrides; _self = with self; {
       url = "mirror://cpan/authors/id/L/LE/LEONT/${name}.tar.gz";
       sha256 = "1vjinlixxdx6gfcw8y1dw2rla8bfhi8nmgcqr3nffc7kqskcrz36";
     };
-    buildInputs = [ ModuleBuildTiny ModuleMetadata ];
     propagatedBuildInputs = [ CPANMetaCheck ];
     meta = {
       description = "Check for presence of dependencies";
@@ -13652,14 +15034,27 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
+  TestClassMost = buildPerlModule rec {
+     name = "Test-Class-Most-0.08";
+     src = fetchurl {
+       url = mirror://cpan/authors/id/O/OV/OVID/Test-Class-Most-0.08.tar.gz;
+       sha256 = "1zvx9hil0mg0pnb8xfa4m0xgjpvh8s5gnbyprq3xwpdsdgcdwk33";
+     };
+     buildInputs = [ TestClass TestDeep TestDifferences TestException TestMost TestWarn ];
+     meta = {
+       description = "Test Classes the easy way";
+       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+     };
+  };
+
   TestCleanNamespaces = buildPerlPackage {
-    name = "Test-CleanNamespaces-0.16";
+    name = "Test-CleanNamespaces-0.22";
     src = fetchurl {
-      url = mirror://cpan/authors/id/E/ET/ETHER/Test-CleanNamespaces-0.16.tar.gz;
-      sha256 = "9779378394b9be32cf04129fafe2d40d74f6f200f593f1494998bd128a6ed9fa";
+      url = mirror://cpan/authors/id/E/ET/ETHER/Test-CleanNamespaces-0.22.tar.gz;
+      sha256 = "862a221994dd413b2f350450f22c96f57cac78784b1aca1a8fc763fc5449aaca";
     };
-    buildInputs = [ ModuleRuntime TestDeep TestRequires TestTester TestWarnings if_ ];
-    propagatedBuildInputs = [ FileFindRule FileFindRulePerl ModuleRuntime PackageStash SubExporter SubIdentify namespaceclean ];
+    buildInputs = [ Filepushd Moo Mouse RoleTiny SubExporter TestDeep TestNeeds TestWarnings namespaceclean ];
+    propagatedBuildInputs = [ PackageStash SubIdentify ];
     meta = {
       homepage = https://github.com/karenetheridge/Test-CleanNamespaces;
       description = "Check for uncleaned imports";
@@ -13667,7 +15062,7 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
-  TestCommand = buildPerlPackage {
+  TestCommand = buildPerlModule {
     name = "Test-Command-0.11";
     src = fetchurl {
       url = mirror://cpan/authors/id/D/DA/DANBOO/Test-Command-0.11.tar.gz;
@@ -13680,13 +15075,12 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
-  TestCompile = buildPerlPackage rec {
-    name = "Test-Compile-v1.3.0";
+  TestCompile = buildPerlModule rec {
+    name = "Test-Compile-1.3.0";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/E/EG/EGILES/${name}.tar.gz";
+      url = mirror://cpan/authors/id/E/EG/EGILES/Test-Compile-v1.3.0.tar.gz;
       sha256 = "77527e9477ac5260443c756367a7f7bc3d8f6c6ebbc561b0b2fb3f79303bad33";
     };
-    buildInputs = [ ModuleBuild ];
     propagatedBuildInputs = [ UNIVERSALrequire ];
     meta = {
       description = "Check whether Perl files compile correctly";
@@ -13695,10 +15089,10 @@ let self = _self // overrides; _self = with self; {
   };
 
   TestCPANMeta = buildPerlPackage {
-    name = "Test-CPAN-Meta-0.23";
+    name = "Test-CPAN-Meta-0.25";
     src = fetchurl {
-      url = mirror://cpan/authors/id/B/BA/BARBIE/Test-CPAN-Meta-0.23.tar.gz;
-      sha256 = "dda70c5cb61eddc6d3148cb66b6ff5eb4546a065257f4c104112a8a8a3575116";
+      url = mirror://cpan/authors/id/B/BA/BARBIE/Test-CPAN-Meta-0.25.tar.gz;
+      sha256 = "f55b4f9cf6bc396d0fe8027267685cb2ac4affce897d0967a317fac6db5a8db5";
     };
     meta = {
       description = "Validate your CPAN META.yml files";
@@ -13706,13 +15100,26 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
+  TestCPANMetaJSON = buildPerlPackage rec {
+     name = "Test-CPAN-Meta-JSON-0.16";
+     src = fetchurl {
+       url = mirror://cpan/authors/id/B/BA/BARBIE/Test-CPAN-Meta-JSON-0.16.tar.gz;
+       sha256 = "1jg9ka50ixwq083wd4k12rhdjq87w0ihb34gd8jjn7gvvyd51b37";
+     };
+     propagatedBuildInputs = [ JSON ];
+     meta = {
+       description = "Validate your CPAN META.json files";
+       license = with stdenv.lib.licenses; [ artistic2 ];
+     };
+  };
+
   TestDataSplit = buildPerlModule rec {
-    name = "Test-Data-Split-0.2.0";
+    name = "Test-Data-Split-0.2.1";
     src = fetchurl {
       url = "mirror://cpan/authors/id/S/SH/SHLOMIF/${name}.tar.gz";
-      sha256 = "90811c2af56750bf08eeff39e1e30f2ff8f625e809ed838b5ccb56a256c4b595";
+      sha256 = "9ba0c27a9e23c5dd8ede7611a049180485acc512a63783e1d1843b6569db5ae7";
     };
-    buildInputs = [ ModuleBuild TestDifferences perl ];
+    buildInputs = [ TestDifferences ];
     propagatedBuildInputs = [ IOAll ListMoreUtils MooX MooXlate ];
     meta = {
       description = "Split data-driven tests into several test scripts";
@@ -13721,22 +15128,21 @@ let self = _self // overrides; _self = with self; {
   };
 
   TestDeep = buildPerlPackage {
-    name = "Test-Deep-0.112";
+    name = "Test-Deep-1.127";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RJ/RJBS/Test-Deep-0.112.tar.gz;
-      sha256 = "1vg1bb1lpqpj0pxk738ykip4kw3agbi88g90wxb3pc11l84nlsan";
+      url = mirror://cpan/authors/id/R/RJ/RJBS/Test-Deep-1.127.tar.gz;
+      sha256 = "0s3jmyvkgk48piw46sxppx11nfsbzhmisb0y513iza8vqiczr35p";
     };
-    propagatedBuildInputs = [ TestNoWarnings TestTester ];
     meta = {
       homepage = http://search.cpan.org/perldoc?CPAN::Meta::Spec;
     };
   };
 
   TestDir = buildPerlPackage {
-    name = "Test-Dir-1.014";
+    name = "Test-Dir-1.16";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MT/MTHURN/Test-Dir-1.014.tar.gz;
-      sha256 = "b36efc286f8127b04fd7bb0dfdf4bd0a090b175872e35b5ce6d4d80c772c28bf";
+      url = mirror://cpan/authors/id/M/MT/MTHURN/Test-Dir-1.16.tar.gz;
+      sha256 = "7332b323913eb6a2684d094755196304b2f8606f70eaab913654ca91f273eac2";
     };
     meta = {
       description = "Test directory attributes";
@@ -13744,11 +15150,11 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
-  TestDifferences = buildPerlPackage {
-    name = "Test-Differences-0.63";
+  TestDifferences = buildPerlModule {
+    name = "Test-Differences-0.64";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DC/DCANTRELL/Test-Differences-0.63.tar.gz;
-      sha256 = "7c657a178c32f48de3b469f6d4f67b75f018a3a19c1e6d0d8892188b0d261a66";
+      url = mirror://cpan/authors/id/D/DC/DCANTRELL/Test-Differences-0.64.tar.gz;
+      sha256 = "9f459dd9c2302a0a73e2f5528a0ce7d09d6766f073187ae2c69e603adf2eb276";
     };
     propagatedBuildInputs = [ CaptureTiny TextDiff ];
     meta = {
@@ -13757,13 +15163,13 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
-  TestDistManifest = buildPerlPackage {
-    name = "Test-DistManifest-1.012";
+  TestDistManifest = buildPerlModule {
+    name = "Test-DistManifest-1.014";
     src = fetchurl {
-      url = mirror://cpan/authors/id/E/ET/ETHER/Test-DistManifest-1.012.tar.gz;
-      sha256 = "4b128bef9beea2f03bdca037ceb722de43b4a2c516c3f50c2a26421548a72208";
+      url = mirror://cpan/authors/id/E/ET/ETHER/Test-DistManifest-1.014.tar.gz;
+      sha256 = "3d26c20df42628981cbfcfa5b1ca028c6ceadb344c1dcf97a25ad6a88b73d7c5";
     };
-    buildInputs = [ TestNoWarnings ];
+    buildInputs = [ ModuleBuildTiny ];
     propagatedBuildInputs = [ ModuleManifest ];
     meta = {
       homepage = http://search.cpan.org/dist/Test-DistManifest;
@@ -13773,10 +15179,10 @@ let self = _self // overrides; _self = with self; {
   };
 
   TestEOL = buildPerlPackage {
-    name = "Test-EOL-1.5";
+    name = "Test-EOL-2.00";
     src = fetchurl {
-      url = mirror://cpan/authors/id/B/BO/BOBTFISH/Test-EOL-1.5.tar.gz;
-      sha256 = "0qfdn71562xzmgnhmkkdbpp3vj851ldl1zlmxvharxsr16gjh6s3";
+      url = mirror://cpan/authors/id/E/ET/ETHER/Test-EOL-2.00.tar.gz;
+      sha256 = "0l3bxpsw0x7j9nclizcp53mnf9wny25dmg2iglfhzgnk0xfpwzwf";
     };
     meta = {
       homepage = https://metacpan.org/release/Test-EOL;
@@ -13788,10 +15194,10 @@ let self = _self // overrides; _self = with self; {
   };
 
   TestException = buildPerlPackage rec {
-    name = "Test-Exception-0.32";
+    name = "Test-Exception-0.43";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/A/AD/ADIE/${name}.tar.gz";
-      sha256 = "0issbjh5yl62lpaff5zhn28zhbf8sv8n2g79vklfr5s703k2fi5s";
+      url = mirror://cpan/authors/id/E/EX/EXODIST/Test-Exception-0.43.tar.gz;
+      sha256 = "0cxm7s4bg0xpxa6l6996a6iq3brr4j7p4hssnkc6dxv4fzq16sqm";
     };
     propagatedBuildInputs = [ SubUplevel ];
   };
@@ -13828,10 +15234,10 @@ let self = _self // overrides; _self = with self; {
   };
 
   TestFile = buildPerlPackage {
-    name = "Test-File-1.41";
+    name = "Test-File-1.443";
     src = fetchurl {
-      url = mirror://cpan/authors/id/B/BD/BDFOY/Test-File-1.41.tar.gz;
-      sha256 = "45ec1b714f64d05e34205c40b08c49549f257910e4966fa28e2ac170d5516316";
+      url = mirror://cpan/authors/id/B/BD/BDFOY/Test-File-1.443.tar.gz;
+      sha256 = "61b4a6ab8f617c8c7b5975164cf619468dc304b6baaaea3527829286fa58bcd5";
     };
     buildInputs = [ Testutf8 ];
     meta = {
@@ -13841,10 +15247,10 @@ let self = _self // overrides; _self = with self; {
   };
 
   TestFileContents = buildPerlModule {
-    name = "Test-File-Contents-0.21";
+    name = "Test-File-Contents-0.23";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DW/DWHEELER/Test-File-Contents-0.21.tar.gz;
-      sha256 = "1b5a13f86f5df625ffd30361f628d34b0ceda80b9f39ca74bf0a4c1105828317";
+      url = mirror://cpan/authors/id/D/DW/DWHEELER/Test-File-Contents-0.23.tar.gz;
+      sha256 = "cd6fadfb910b34b4b53991ff231dad99929ca8850abec3ad0e2810c4bd7b1f3d";
     };
     propagatedBuildInputs = [ TextDiff ];
     meta = {
@@ -13854,14 +15260,14 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
-  TestFileShareDir = buildPerlModule {
-    name = "Test-File-ShareDir-0.3.3";
+  TestFileShareDir = buildPerlPackage {
+    name = "Test-File-ShareDir-1.001002";
     src = fetchurl {
-      url = mirror://cpan/authors/id/K/KE/KENTNL/Test-File-ShareDir-0.3.3.tar.gz;
-      sha256 = "877e14afb6f432bd888ef730c0afd776dd149b14bc520bc2ce842d114e5886a2";
+      url = mirror://cpan/authors/id/K/KE/KENTNL/Test-File-ShareDir-1.001002.tar.gz;
+      sha256 = "b33647cbb4b2f2fcfbde4f8bb4383d0ac95c2f89c4c5770eb691f1643a337aad";
     };
     buildInputs = [ TestFatal ];
-    propagatedBuildInputs = [ FileCopyRecursive FileShareDir PathTiny ];
+    propagatedBuildInputs = [ ClassTiny FileCopyRecursive FileShareDir ScopeGuard ];
     meta = {
       homepage = https://github.com/kentfredric/Test-File-ShareDir;
       description = "Create a Fake ShareDir for your modules for testing";
@@ -13870,10 +15276,10 @@ let self = _self // overrides; _self = with self; {
   };
 
   TestHarness = buildPerlPackage {
-    name = "Test-Harness-3.33";
+    name = "Test-Harness-3.42";
     src = fetchurl {
-      url = mirror://cpan/authors/id/L/LE/LEONT/Test-Harness-3.33.tar.gz;
-      sha256 = "c22e36287d5cee3c28fd2006e3c8b6e7cc76c6fc39d79c7ab74f1936d35e8fe2";
+      url = mirror://cpan/authors/id/L/LE/LEONT/Test-Harness-3.42.tar.gz;
+      sha256 = "0fd90d4efea82d6e262e6933759e85d27cbcfa4091b14bf4042ae20bab528e53";
     };
     doCheck = false; # makes assumptions about path to Perl
     meta = {
@@ -13895,6 +15301,30 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
+  TestHexDifferences = buildPerlPackage rec {
+     name = "Test-HexDifferences-1.001";
+     src = fetchurl {
+       url = mirror://cpan/authors/id/S/ST/STEFFENW/Test-HexDifferences-1.001.tar.gz;
+       sha256 = "18lh6shpfx567gjikrid4hixydgv1hi3mycl20qzq2j2vpn4afd6";
+     };
+     propagatedBuildInputs = [ SubExporter TextDiff ];
+     buildInputs = [ TestDifferences TestNoWarnings ];
+     meta = {
+     };
+  };
+
+  TestHexString = buildPerlModule rec {
+     name = "Test-HexString-0.03";
+     src = fetchurl {
+       url = mirror://cpan/authors/id/P/PE/PEVANS/Test-HexString-0.03.tar.gz;
+       sha256 = "0h1zl2l1ljlcxsn0xvin9dwiymnhyhnfnxgzg3f9899g37f4qk3x";
+     };
+     meta = {
+       description = "test binary strings with hex dump diagnostics";
+       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+     };
+  };
+
   TestHTTPServerSimple = buildPerlPackage {
     name = "Test-HTTP-Server-Simple-0.11";
     src = fetchurl {
@@ -13907,24 +15337,40 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
-  TestJSON = buildPerlPackage {
+  TestJSON = buildPerlModule {
     name = "Test-JSON-0.11";
     src = fetchurl {
       url = mirror://cpan/authors/id/O/OV/OVID/Test-JSON-0.11.tar.gz;
       sha256 = "1cyp46w3q7dg89qkw31ik2h2a6mdx6pzdz2lmp8m0a61zjr8mh07";
     };
-    propagatedBuildInputs = [ JSONAny TestDifferences TestTester ];
+    propagatedBuildInputs = [ JSONAny ];
     meta = {
       maintainers = with maintainers; [ ];
       platforms   = stdenv.lib.platforms.unix;
     };
+    buildInputs = [ TestDifferences ];
+  };
+
+  TestKwalitee = buildPerlPackage rec {
+     name = "Test-Kwalitee-1.27";
+     src = fetchurl {
+       url = mirror://cpan/authors/id/E/ET/ETHER/Test-Kwalitee-1.27.tar.gz;
+       sha256 = "095kpj2011jk1mpnb07fs7yi190hmqh85mj662gx0dkpl9ic7a5w";
+     };
+     propagatedBuildInputs = [ ModuleCPANTSAnalyse ];
+     buildInputs = [ CPANMetaCheck TestDeep TestWarnings ];
+     meta = {
+       description = "Test the Kwalitee of a distribution before you release it";
+       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+       homepage = "https://github.com/karenetheridge/Test-Kwalitee";
+     };
   };
 
   TestLeakTrace = buildPerlPackage rec {
-    name = "Test-LeakTrace-0.14";
+    name = "Test-LeakTrace-0.16";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/G/GF/GFUJI/${name}.tar.gz";
-      sha256 = "06cn4g35l2gi9vbsdi2j49cxsji9fvfi7xp4xgdyxxds9vrxydia";
+      url = mirror://cpan/authors/id/L/LE/LEEJO/Test-LeakTrace-0.16.tar.gz;
+      sha256 = "00z4hcjra5nk700f3fgpy8fs036d7ry7glpn8g3wh7jzj7nrw22z";
     };
     meta = {
       description = "Traces memory leaks";
@@ -13933,10 +15379,10 @@ let self = _self // overrides; _self = with self; {
   };
 
   TestLongString = buildPerlPackage rec {
-    name = "Test-LongString-0.15";
+    name = "Test-LongString-0.17";
     src = fetchurl {
-      url = "mirror://cpan/modules/by-module/Test/${name}.tar.gz";
-      sha256 = "0r2i3a35l116ccwx88jwiii2fq4b8wm16sl1lkxm2kh44s4z7s5s";
+      url = mirror://cpan/authors/id/R/RG/RGARCIA/Test-LongString-0.17.tar.gz;
+      sha256 = "0kwp7rfr1i2amz4ckigkv13ah7jr30q6l5k4wk0vxl84myg39i5b";
     };
   };
 
@@ -13954,14 +15400,14 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
-  TestMockClass = buildPerlPackage {
+  TestMockClass = buildPerlModule {
     name = "Test-Mock-Class-0.0303";
     src = fetchurl {
       url = mirror://cpan/authors/id/D/DE/DEXTER/Test-Mock-Class-0.0303.tar.gz;
       sha256 = "00pkfqcz7b34q1mvx15k46sbxs22zcrvrbv15rnbn2na57z54bnd";
     };
-    buildInputs = [ ClassInspector TestUnitLite ];
-    propagatedBuildInputs = [ ExceptionBase FatalException Moose namespaceclean TestAssert ];
+    buildInputs = [ ClassInspector TestAssert TestUnitLite ];
+    propagatedBuildInputs = [ FatalException Moose namespaceclean ];
     meta = with stdenv.lib; {
       description = "Simulating other classes";
       license = licenses.lgpl2Plus;
@@ -13985,10 +15431,10 @@ let self = _self // overrides; _self = with self; {
   };
 
   TestMockModule = buildPerlModule {
-    name = "Test-MockModule-0.11";
+    name = "Test-MockModule-0.13";
     src = fetchurl {
-      url = mirror://cpan/authors/id/G/GF/GFRANKS/Test-MockModule-0.11.tar.gz;
-      sha256 = "1f8l5y9dzik7a19mdbydqa0yxc4x0ilgpf9yaq6ix0bzlsilnn05";
+      url = mirror://cpan/authors/id/G/GF/GFRANKS/Test-MockModule-0.13.tar.gz;
+      sha256 = "0lwh6fvnc16r6d74vvh5h4b5a1spcslpjb3mcqbv23k01lm78wvl";
     };
     propagatedBuildInputs = [ SUPER ];
     meta = {
@@ -13997,7 +15443,7 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
-  SUPER = buildPerlPackage rec {
+  SUPER = buildPerlModule rec {
     name = "SUPER-1.20141117";
     src = fetchurl {
       url = "mirror://cpan/authors/id/C/CH/CHROMATIC/${name}.tar.gz";
@@ -14012,12 +15458,12 @@ let self = _self // overrides; _self = with self; {
 
 
   TestMockObject = buildPerlPackage rec {
-    name = "Test-MockObject-1.20150527";
+    name = "Test-MockObject-1.20161202";
     src = fetchurl {
       url = "mirror://cpan/authors/id/C/CH/CHROMATIC/${name}.tar.gz";
-      sha256 = "adf1357a9014b3a397ff7ecbf1835dec376a67a37bb2e788734a627e17dc1d98";
+      sha256 = "14b225fff3645338697976dbbe2c39e44c1c93536855b78b3bbc6e9bfe94a0a2";
     };
-    buildInputs = [ TestException TestWarn CGI ];
+    buildInputs = [ CGI TestException TestWarn ];
     propagatedBuildInputs = [ UNIVERSALcan UNIVERSALisa ];
     meta = {
       description = "Perl extension for emulating troublesome interfaces";
@@ -14028,18 +15474,32 @@ let self = _self // overrides; _self = with self; {
   TestMoose = Moose;
 
   TestMockTime = buildPerlPackage rec {
-    name = "Test-MockTime-0.12";
+    name = "Test-MockTime-0.16";
     src = fetchurl {
       url = "mirror://cpan/authors/id/D/DD/DDICK/${name}.tar.gz";
-      sha256 = "104p9qsqcchfbxh6b6w7q9jhkwb4hc424js0cyivyanjm6bcqvj9";
+      sha256 = "1vxv7y7jn71m8v8ag0z0dd0zadhxp264dppb40islcjl4g7r6x08";
     };
   };
 
+  TestMockTimeHiRes = buildPerlModule rec {
+     name = "Test-MockTime-HiRes-0.08";
+     src = fetchurl {
+       url = mirror://cpan/authors/id/T/TA/TARAO/Test-MockTime-HiRes-0.08.tar.gz;
+       sha256 = "1hfykcjrls6ywgbd49w29c7apj3nq4wlyx7jzpd2glwmz2pgfjaz";
+     };
+     buildInputs = [ AnyEvent ModuleBuildTiny TestClass TestMockTime TestRequires ];
+     meta = {
+       description = "Replaces actual time with simulated high resolution time";
+       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+       homepage = "https://github.com/tarao/perl5-Test-MockTime-HiRes";
+     };
+  };
+
   TestMojibake = buildPerlPackage {
-    name = "Test-Mojibake-0.9";
+    name = "Test-Mojibake-1.3";
     src = fetchurl {
-      url = mirror://cpan/authors/id/S/SY/SYP/Test-Mojibake-0.9.tar.gz;
-      sha256 = "0b7jamkmws6k3cvzwrz3r5vcpjrdhr8wndf82i5nx2z19xsy33ym";
+      url = mirror://cpan/authors/id/S/SY/SYP/Test-Mojibake-1.3.tar.gz;
+      sha256 = "0cqvbwddgh0pfzmh989gkysi9apqj7dp7jkxfa428db9kgzpbzlg";
     };
     meta = {
       homepage = https://github.com/creaktive/Test-Mojibake;
@@ -14051,16 +15511,17 @@ let self = _self // overrides; _self = with self; {
   TestMore = TestSimple;
 
   TestMost = buildPerlPackage {
-    name = "Test-Most-0.33";
+    name = "Test-Most-0.35";
     src = fetchurl {
-      url = mirror://cpan/authors/id/O/OV/OVID/Test-Most-0.33.tar.gz;
-      sha256 = "0jp4jcwk97bgf85wwyjpxfsx4165s6w1v4ymn9gnv03yn77inyij";
+      url = mirror://cpan/authors/id/O/OV/OVID/Test-Most-0.35.tar.gz;
+      sha256 = "0zv5dyzq55r28plffibcr7wd00abap0h2zh4s4p8snaiszsad5wq";
     };
-    propagatedBuildInputs = [ ExceptionClass TestDeep TestDifferences TestException TestWarn ];
+    propagatedBuildInputs = [ ExceptionClass ];
     meta = {
       description = "Most commonly needed test functions and features";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
+    buildInputs = [ TestDeep TestDifferences TestException TestSimple13 TestWarn ];
   };
 
   TestNeeds = buildPerlPackage rec {
@@ -14076,10 +15537,10 @@ let self = _self // overrides; _self = with self; {
   };
 
   TestNoTabs = buildPerlPackage {
-    name = "Test-NoTabs-1.3";
+    name = "Test-NoTabs-2.00";
     src = fetchurl {
-      url = mirror://cpan/authors/id/B/BO/BOBTFISH/Test-NoTabs-1.3.tar.gz;
-      sha256 = "06gvj0pgljc7n9rxhvwb0gq9wk51i3ks41lgh7a5ycqfkh9d0glw";
+      url = mirror://cpan/authors/id/E/ET/ETHER/Test-NoTabs-2.00.tar.gz;
+      sha256 = "127kpl1va267qar2ia4c22xb96jby2jqnda3sj5pjgmxg8si26cg";
     };
     meta = {
       description = "Check the presence of tabs in your project";
@@ -14095,7 +15556,6 @@ let self = _self // overrides; _self = with self; {
       url = mirror://cpan/authors/id/A/AD/ADAMK/Test-NoWarnings-1.04.tar.gz;
       sha256 = "0v385ch0hzz9naqwdw2az3zdqi15gka76pmiwlgsy6diiijmg2k3";
     };
-    buildInputs = [ TestTester ];
     meta = {
       homepage = http://search.cpan.org/perldoc?CPAN::Meta::Spec;
       description = "Make sure you didn't emit any warnings while testing";
@@ -14104,30 +15564,43 @@ let self = _self // overrides; _self = with self; {
   };
 
   TestObject = buildPerlPackage rec {
-    name = "Test-Object-0.07";
+    name = "Test-Object-0.08";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/A/AD/ADAMK/${name}.tar.gz";
-      sha256 = "d142a91b039928dc5d616c7bd9bb62ffb06e58991f00c54e26ef7e62ed61032a";
+      url = mirror://cpan/authors/id/E/ET/ETHER/Test-Object-0.08.tar.gz;
+      sha256 = "65278964147837313f4108e55b59676e8a364d6edf01b3dc198aee894ab1d0bb";
     };
   };
 
   TestOutput = buildPerlPackage rec {
-    name = "Test-Output-1.01";
+    name = "Test-Output-1.031";
     src = fetchurl {
-      url = "mirror://cpan/modules/by-module/Test/${name}.tar.gz";
-      sha256 = "0hg2hv6sify6qcx4865m4gyfdfbi96aw7fx39zpvnrivk3i2jdcd";
+      url = mirror://cpan/authors/id/B/BD/BDFOY/Test-Output-1.031.tar.gz;
+      sha256 = "193y1xjvgc1p9pdgdwps2127knvpz9wc1xh6gmr74y3ihmqz7f7q";
     };
-    buildInputs = [ TestTester ];
-    propagatedBuildInputs = [ SubExporter ];
+    propagatedBuildInputs = [ CaptureTiny ];
+  };
+
+  TestPAUSEPermissions = buildPerlPackage rec {
+     name = "Test-PAUSE-Permissions-0.06";
+     src = fetchurl {
+       url = mirror://cpan/authors/id/I/IS/ISHIGAKI/Test-PAUSE-Permissions-0.06.tar.gz;
+       sha256 = "1rspdxwfr1mxjrpcsd4asd5q1qpmiyw0sm7g008yy1gsz6i2yl88";
+     };
+     propagatedBuildInputs = [ ConfigIdentity PAUSEPermissions ParseLocalDistribution ];
+     buildInputs = [ ExtUtilsMakeMakerCPANfile TestUseAllModules ];
+     meta = {
+       description = "tests module permissions in your distribution";
+       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+     };
   };
 
-  TestPerlCritic = buildPerlPackage rec {
-    name = "Test-Perl-Critic-1.02";
+  TestPerlCritic = buildPerlModule rec {
+    name = "Test-Perl-Critic-1.04";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/T/TH/THALJEF/${name}.tar.gz";
-      sha256 = "89b242ff539034336ed87c11ef3e5ecac47c333a6ab8b46aab4cc449e3739a89";
+      url = mirror://cpan/authors/id/P/PE/PETDANCE/Test-Perl-Critic-1.04.tar.gz;
+      sha256 = "28f806b5412c7908b56cf1673084b8b44ce1cb54c9417d784d91428e1a04096e";
     };
-    propagatedBuildInputs = [ PerlCritic ];
+    propagatedBuildInputs = [ MCE PerlCritic ];
   };
 
   TestPerlTidy = buildPerlPackage rec {
@@ -14156,22 +15629,22 @@ let self = _self // overrides; _self = with self; {
   };
 
   TestPodCoverage = buildPerlPackage rec {
-    name = "Test-Pod-Coverage-1.08";
+    name = "Test-Pod-Coverage-1.10";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/P/PE/PETDANCE/${name}.tar.gz";
-      sha256 = "0y2md932zhbxdjwzskx0vmw2qy7jxkn87f9lb5h3f3vxxg1kcqz0";
+      url = mirror://cpan/authors/id/N/NE/NEILB/Test-Pod-Coverage-1.10.tar.gz;
+      sha256 = "1m203mhgfilz7iqc8mxaw4lw02fz391mni3n25sfx7nryylwrja8";
     };
-    propagatedBuildInputs = [PodCoverage];
+    propagatedBuildInputs = [ PodCoverage ];
   };
 
-  TestPodLinkCheck = buildPerlPackage rec {
+  TestPodLinkCheck = buildPerlModule rec {
     name = "Test-Pod-LinkCheck-0.008";
     src = fetchurl {
       url = "mirror://cpan/authors/id/A/AP/APOCAL/${name}.tar.gz";
       sha256 = "2bfe771173c38b69eeb089504e3f76511b8e45e6a9e6dac3e616e400ea67bcf0";
     };
-    buildInputs = [ ModuleBuildTiny ];
-    propagatedBuildInputs = [ CaptureTiny Moose TestPod podlinkcheck ];
+    buildInputs = [ ModuleBuildTiny TestPod ];
+    propagatedBuildInputs = [ CaptureTiny Moose podlinkcheck ];
     meta = {
       homepage = http://search.cpan.org/dist/Test-Pod-LinkCheck/;
       description = "Tests POD for invalid links";
@@ -14179,25 +15652,26 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
-  TestPodNo404s = buildPerlPackage rec {
+  TestPodNo404s = buildPerlModule rec {
     name = "Test-Pod-No404s-0.02";
     src = fetchurl {
       url = "mirror://cpan/authors/id/A/AP/APOCAL/Test-Pod-No404s-0.02.tar.gz";
       sha256 = "0ycfghsyl9f31kxdppjwx2g5iajrqh3fyywz0x7d8ayndw2hdihi";
     };
-    propagatedBuildInputs = [ LWPUserAgent ModuleBuildTiny URIFind TestPod ];
+    propagatedBuildInputs = [ LWP URIFind ];
     meta = {
       homepage = http://search.cpan.org/dist/Test-Pod-No404s/;
       description = "Checks POD for any http 404 links";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
+    buildInputs = [ ModuleBuildTiny TestPod ];
   };
 
   TestPortabilityFiles = buildPerlPackage {
-    name = "Test-Portability-Files-0.06";
+    name = "Test-Portability-Files-0.09";
     src = fetchurl {
-      url = mirror://cpan/authors/id/A/AB/ABRAXXA/Test-Portability-Files-0.06.tar.gz;
-      sha256 = "3e0fd033387ab82df8aedd42a14a8e64200aebd59447ad62a3bc411ff4a808a8";
+      url = mirror://cpan/authors/id/A/AB/ABRAXXA/Test-Portability-Files-0.09.tar.gz;
+      sha256 = "16d31fa941af1a79faec0192e09880cb19225cde649c03d2e3ceda9b455a621c";
     };
     meta = {
       description = "Check file names portability";
@@ -14217,6 +15691,19 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
+  TestRequiresInternet = buildPerlPackage rec {
+     name = "Test-RequiresInternet-0.05";
+     src = fetchurl {
+       url = mirror://cpan/authors/id/M/MA/MALLEN/Test-RequiresInternet-0.05.tar.gz;
+       sha256 = "0gl33vpj9bb78pzyijp884b66sbw6jkh1ci0xki8rmf03hmb79xv";
+     };
+     meta = {
+       description = "Easily test network connectivity";
+       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+       homepage = "https://metacpan.org/dist/Test-RequiresInternet";
+     };
+  };
+
   TestRoo = buildPerlPackage rec {
     name = "Test-Roo-1.004";
     src = fetchurl {
@@ -14224,18 +15711,18 @@ let self = _self // overrides; _self = with self; {
       sha256 = "1mnym49j1lj7gzylma5b6nr4vp75rmgz2v71904v01xmxhy9l4i1";
     };
 
-    propagatedBuildInputs = [ strictures Moo MooXTypesMooseLike SubInstall
-      CaptureTiny ];
+    propagatedBuildInputs = [ Moo MooXTypesMooseLike SubInstall strictures ];
+    buildInputs = [ CaptureTiny ];
   };
 
   TestRoutine = buildPerlPackage {
-    name = "Test-Routine-0.018";
+    name = "Test-Routine-0.025";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RJ/RJBS/Test-Routine-0.018.tar.gz;
-      sha256 = "1slaljcija2pbsxdyrqsh09pgajxbln68gb47l9fwffb6gsp5f3m";
+      url = mirror://cpan/authors/id/R/RJ/RJBS/Test-Routine-0.025.tar.gz;
+      sha256 = "13gxczy0mx3rqnp55vc0j2d936qldrimmad87nmf4wrj0kd2lw92";
     };
-    buildInputs = [ TestFatal ];
-    propagatedBuildInputs = [ Moose namespaceautoclean namespaceclean ParamsUtil SubExporter ];
+    buildInputs = [ TestAbortable TestFatal ];
+    propagatedBuildInputs = [ Moose TestSimple13 namespaceautoclean ];
     meta = {
       homepage = https://github.com/rjbs/Test-Routine;
       description = "Composable units of assertion";
@@ -14245,14 +15732,14 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
-  TestRun = buildPerlPackage rec {
+  TestRun = buildPerlModule rec {
     name = "Test-Run-0.0304";
     src = fetchurl {
       url = "mirror://cpan/authors/id/S/SH/SHLOMIF/${name}.tar.gz";
       sha256 = "f3feaf9c4494c0b3a5294228cab27efe93653b7e0bbd7fbb99b94b65b247f323";
     };
-    buildInputs = [ ModuleBuild TestTrap ];
-    propagatedBuildInputs = [ IPCSystemSimple ListMoreUtils MROCompat Moose MooseXStrictConstructor TextSprintfNamed UNIVERSALrequire ];
+    buildInputs = [ TestTrap ];
+    propagatedBuildInputs = [ IPCSystemSimple ListMoreUtils MooseXStrictConstructor TextSprintfNamed UNIVERSALrequire ];
     meta = {
       homepage = http://web-cpan.shlomifish.org/modules/Test-Run/;
       description = "Base class to run standard TAP scripts";
@@ -14260,14 +15747,14 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
-  TestRunCmdLine = buildPerlPackage rec {
+  TestRunCmdLine = buildPerlModule rec {
     name = "Test-Run-CmdLine-0.0131";
     src = fetchurl {
       url = "mirror://cpan/authors/id/S/SH/SHLOMIF/${name}.tar.gz";
       sha256 = "cceeeecd3f4b2f1d2929f3ada351c1ade23a8ac73ef0486dc6e9605ebcdaef18";
     };
-    buildInputs = [ ModuleBuild TestTrap ];
-    propagatedBuildInputs = [ Moose MooseXGetopt TestRun UNIVERSALrequire YAMLLibYAML ];
+    buildInputs = [ TestRun TestTrap ];
+    propagatedBuildInputs = [ MooseXGetopt UNIVERSALrequire YAMLLibYAML ];
     meta = {
       homepage = http://web-cpan.berlios.de/modules/Test-Run/;
       description = "Analyze tests from the command line using Test::Run";
@@ -14275,14 +15762,14 @@ let self = _self // overrides; _self = with self; {
     };
    };
 
-  TestRunPluginAlternateInterpreters = buildPerlPackage rec {
+  TestRunPluginAlternateInterpreters = buildPerlModule rec {
     name = "Test-Run-Plugin-AlternateInterpreters-0.0124";
     src = fetchurl {
       url = "mirror://cpan/authors/id/S/SH/SHLOMIF/${name}.tar.gz";
       sha256 = "eecb3830d350b5d7853322df4f3090af42ff17e9c31075f8d4f69856c968bff3";
     };
-    buildInputs = [ ModuleBuild TestTrap YAMLLibYAML ];
-    propagatedBuildInputs = [ MROCompat Moose TestRun TestRunCmdLine ];
+    buildInputs = [ TestRun TestRunCmdLine TestTrap YAMLLibYAML ];
+    propagatedBuildInputs = [ Moose ];
     meta = {
       homepage = http://web-cpan.shlomifish.org/modules/Test-Run/;
       description = "Define different interpreters for different test scripts with Test::Run";
@@ -14290,14 +15777,14 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
-  TestRunPluginBreakOnFailure = buildPerlPackage rec {
-    name = "Test-Run-Plugin-BreakOnFailure-v0.0.5";
+  TestRunPluginBreakOnFailure = buildPerlModule rec {
+    name = "Test-Run-Plugin-BreakOnFailure-0.0.5";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/S/SH/SHLOMIF/${name}.tar.gz";
+      url = mirror://cpan/authors/id/S/SH/SHLOMIF/Test-Run-Plugin-BreakOnFailure-v0.0.5.tar.gz;
       sha256 = "e422eb64a2fa6ae59837312e37ab88d68b4945148eb436a3774faed5074f0430";
     };
-    buildInputs = [ ModuleBuild TestTrap YAMLLibYAML ];
-    propagatedBuildInputs = [ MROCompat Moose TestRun TestRunCmdLine ];
+    buildInputs = [ TestRun TestRunCmdLine TestTrap YAMLLibYAML ];
+    propagatedBuildInputs = [ Moose ];
     meta = {
       homepage = http://web-cpan.shlomifish.org/modules/Test-Run/;
       description = "Stop processing the entire test suite";
@@ -14305,14 +15792,14 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
-  TestRunPluginColorFileVerdicts = buildPerlPackage rec {
+  TestRunPluginColorFileVerdicts = buildPerlModule rec {
     name = "Test-Run-Plugin-ColorFileVerdicts-0.0124";
     src = fetchurl {
       url = "mirror://cpan/authors/id/S/SH/SHLOMIF/${name}.tar.gz";
       sha256 = "0418f03abe241f5a3c2a2ab3dd2679d11eee42c9e1f5b5a6ea80d9e238374302";
     };
-    buildInputs = [ ModuleBuild ];
-    propagatedBuildInputs = [ MROCompat Moose TestRun TestRunCmdLine ] ++ moreInputs;
+    buildInputs = [ TestRun TestRunCmdLine TestTrap ];
+    propagatedBuildInputs = [ Moose ];
     moreInputs = [ TestTrap ]; # Added because tests were failing without it
     doCheck=true;
     meta = {
@@ -14328,8 +15815,7 @@ let self = _self // overrides; _self = with self; {
       url = "mirror://cpan/authors/id/S/SH/SHLOMIF/${name}.tar.gz";
       sha256 = "ea4fb6768c4f6645cedf87d9b7c6baf97364ebc6f4171e4dd5f68939fb2bdd3a";
     };
-    buildInputs = [ ModuleBuild ];
-    propagatedBuildInputs = [ TestRun TestRunCmdLine ] ++ moreInputs;
+    buildInputs = [ TestRun TestRunCmdLine TestTrap ];
     moreInputs = [ TestTrap ]; # Added because tests were failing without it
     doCheck=true;
     meta = {
@@ -14339,14 +15825,14 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
-  TestRunPluginTrimDisplayedFilenames = buildPerlPackage rec {
+  TestRunPluginTrimDisplayedFilenames = buildPerlModule rec {
     name = "Test-Run-Plugin-TrimDisplayedFilenames-0.0125";
     src = fetchurl {
       url = "mirror://cpan/authors/id/S/SH/SHLOMIF/${name}.tar.gz";
       sha256 = "2255bc5cb6ab65ee4dfff3bcdf007fb74785ff3bb439a9cef5052c66d80424a5";
     };
-    buildInputs = [ ModuleBuild TestTrap YAMLLibYAML ];
-    propagatedBuildInputs = [ MROCompat Moose TestRun TestRunCmdLine ];
+    buildInputs = [ TestRun TestRunCmdLine TestTrap YAMLLibYAML ];
+    propagatedBuildInputs = [ Moose ];
     meta = {
       homepage = http://web-cpan.shlomifish.org/modules/Test-Run/;
       description = "Trim the first components";
@@ -14355,12 +15841,12 @@ let self = _self // overrides; _self = with self; {
   };
 
   TestRunValgrind = buildPerlModule rec {
-    name = "Test-RunValgrind-0.0.1";
+    name = "Test-RunValgrind-0.2.0";
     src = fetchurl {
       url = "mirror://cpan/authors/id/S/SH/SHLOMIF/${name}.tar.gz";
-      sha256 = "67bf3cf3e7d5d23ec33e592f8b0dbcccfa01205d5bf0a3d73d8c8358d167e83f";
+      sha256 = "70947565ad0be3e5d0cd9aca9e1fd0cb07c873e574310e92e8eca629ec6cd631";
     };
-    buildInputs = [ ModuleBuild perl ];
+    buildInputs = [ TestTrap ];
     propagatedBuildInputs = [ PathTiny ];
     meta = {
       description = "Tests that an external program is valgrind-clean";
@@ -14369,22 +15855,22 @@ let self = _self // overrides; _self = with self; {
   };
 
   TestScript = buildPerlPackage rec {
-    name = "Test-Script-1.10";
+    name = "Test-Script-1.23";
     src = fetchurl {
       url = "mirror://cpan/authors/id/P/PL/PLICEASE/${name}.tar.gz";
-      sha256 = "0wxbia5mmn73n5rkv857fv547kihpg3amizqllyh5flap6kbc7fn";
+      sha256 = "1ca4mwcghgpdrpcg6xc0iwp3ga9c94qni9zf4hhqq8lpjwdyg89k";
     };
 
-    buildInputs = [ TestTester ];
+    buildInputs = [ Test2Suite ];
 
-    propagatedBuildInputs = [ ProbePerl IPCRun3 ];
+    propagatedBuildInputs = [ CaptureTiny ProbePerl TestSimple13 ];
   };
 
   TestSharedFork = buildPerlPackage rec {
-    name = "Test-SharedFork-0.34";
+    name = "Test-SharedFork-0.35";
     src = fetchurl {
       url = "mirror://cpan/authors/id/E/EX/EXODIST/${name}.tar.gz";
-      sha256 = "1yq4xzify3wqdc07zq33lwgh9gywp3qd8w6wzwrllbjw0hhkm4s8";
+      sha256 = "17y52j20k1bs9dgf4n6rhh9dn4cfxxbnfn2cfs7pb00fc5jyhci9";
     };
     buildInputs = [ TestRequires ];
     meta = {
@@ -14397,10 +15883,10 @@ let self = _self // overrides; _self = with self; {
   TestSimple = null;
 
   TestSimple13 = buildPerlPackage rec {
-    name = "Test-Simple-1.302120";
+    name = "Test-Simple-1.302135";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/E/EX/EXODIST/${name}.tar.gz";
-      sha256 = "c82360092d4dacd6e3248b613fa00053072fe9cf55d022f1e0f427f51d04346c";
+      url = mirror://cpan/authors/id/E/EX/EXODIST/Test-Simple-1.302135.tar.gz;
+      sha256 = "889b59d5fb5955b5d15dbef1020aa2e9a3ccafacc8717c16a939d7cfd619ab70";
     };
     meta = {
       description = "Basic utilities for writing tests";
@@ -14410,32 +15896,33 @@ let self = _self // overrides; _self = with self; {
   };
 
   TestSpec = buildPerlPackage rec {
-    name = "Test-Spec-0.51";
+    name = "Test-Spec-0.54";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/A/AN/ANDYJONES/${name}.tar.gz";
-      sha256 = "0n2pzc32q4fr1b9w292ld9gh3yn3saxib3hxrjx6jvcmy3k9jkbi";
+      url = mirror://cpan/authors/id/A/AK/AKZHAN/Test-Spec-0.54.tar.gz;
+      sha256 = "1lk5l69bm6yl1zxzz5v6mizzqfinpdhasmi4qjxr1vnwcl9cyc8a";
     };
-    propagatedBuildInputs = [ PackageStash TestDeep TestTrap TieIxHash ];
+    propagatedBuildInputs = [ DevelGlobalPhase PackageStash TieIxHash ];
     meta = {
       description = "Write tests in a declarative specification style";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
+    buildInputs = [ TestDeep TestTrap ];
   };
 
   TestSubCalls = buildPerlPackage rec {
-    name = "Test-SubCalls-1.09";
+    name = "Test-SubCalls-1.10";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/A/AD/ADAMK/${name}.tar.gz";
-      sha256 = "a334b0457da338d79be2dbb62d403701fc90f7607df840115ff45ee1e2bd6e70";
+      url = mirror://cpan/authors/id/E/ET/ETHER/Test-SubCalls-1.10.tar.gz;
+      sha256 = "cbc1e9b35a05e71febc13e5ef547a31c8249899bb6011dbdc9d9ff366ddab6c2";
     };
     propagatedBuildInputs = [ HookLexWrap ];
   };
 
   TestSynopsis = buildPerlPackage rec {
-    name = "Test-Synopsis-0.11";
+    name = "Test-Synopsis-0.15";
     src = fetchurl {
       url = "mirror://cpan/authors/id/Z/ZO/ZOFFIX/${name}.tar.gz";
-      sha256 = "1jn3vna5r5fa9nv33n1x0bmgc434sk0ggar3jm78xx0zzy5jnsxv";
+      sha256 = "1cxxidhwf8j8n41d423ankvls2wdi7aw755csi3hcv3mj9k67mfi";
     };
     meta = {
       description = "Test your SYNOPSIS code";
@@ -14458,16 +15945,16 @@ let self = _self // overrides; _self = with self; {
   };
 
   TestTCP = buildPerlPackage rec {
-    name = "Test-TCP-2.14";
+    name = "Test-TCP-2.19";
     src = fetchurl {
       url = "mirror://cpan/authors/id/T/TO/TOKUHIROM/${name}.tar.gz";
-      sha256 = "00bxgm7qva4fd25phwl8fvv36h8h5k3jk89hz9302a288wv3ysmr";
+      sha256 = "14ahzklq3xgmwj58p9vdcfgpggrmh3nigq5mzqk4wakbb6fjs0fx";
     };
-    propagatedBuildInputs = [ TestSharedFork ];
     meta = {
       description = "Testing TCP program";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
+    buildInputs = [ TestSharedFork ];
   };
 
   TestTester = buildPerlPackage {
@@ -14479,25 +15966,35 @@ let self = _self // overrides; _self = with self; {
   };
 
   TestTime = buildPerlPackage rec {
-    name = "Test-Time-0.04";
+    name = "Test-Time-0.05";
     src = fetchurl {
       url = "mirror://cpan/authors/id/S/SA/SATOH/${name}.tar.gz";
-      sha256 = "d8c1bc57f9767ae8122fc4ab873bd991cb9ea8e9422c66399acb66770fa5c2ea";
+      sha256 = "abef8885a811440114bfe067edc32f08500fbfd624902f8c3a81fc224ac4b410";
     };
-    buildInputs = [ FileSlurp ];
     meta = {
       description = "Overrides the time() and sleep() core functions for testing";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
-  TestTrailingSpace = buildPerlPackage rec {
+  TestToolbox = buildPerlModule rec {
+     name = "Test-Toolbox-0.4";
+     src = fetchurl {
+       url = mirror://cpan/authors/id/M/MI/MIKO/Test-Toolbox-0.4.tar.gz;
+       sha256 = "1hxx9rhvncvn7wvzhzx4sk00w0xq2scgspfhhyqwjnm1yg3va820";
+     };
+     meta = {
+       description = "Test::Toolbox - tools for testing";
+       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+     };
+  };
+
+  TestTrailingSpace = buildPerlModule rec {
     name = "Test-TrailingSpace-0.0301";
     src = fetchurl {
       url = "mirror://cpan/authors/id/S/SH/SHLOMIF/${name}.tar.gz";
       sha256 = "a28875747adb7a0e7d1ae8a4ffe71869e7ceb3a85d0cb30172959dada7de5970";
     };
-    buildInputs = [ ModuleBuild ];
     propagatedBuildInputs = [ FileFindObjectRule ];
     meta = {
       description = "Test for trailing space in source files";
@@ -14505,7 +16002,7 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
-  TestUnitLite = buildPerlPackage {
+  TestUnitLite = buildPerlModule {
     name = "Test-Unit-Lite-0.1202";
     src = fetchurl {
       url = mirror://cpan/authors/id/D/DE/DEXTER/Test-Unit-Lite-0.1202.tar.gz;
@@ -14533,12 +16030,12 @@ let self = _self // overrides; _self = with self; {
   };
 
   TestWarn = buildPerlPackage {
-    name = "Test-Warn-0.30";
+    name = "Test-Warn-0.32";
     src = fetchurl {
-      url = mirror://cpan/authors/id/C/CH/CHORNY/Test-Warn-0.30.tar.gz;
-      sha256 = "0haf2ii7br5z0psmkvlvmx2z2q9qz1c70gx0969r378qjidmb5w1";
+      url = mirror://cpan/authors/id/B/BI/BIGJ/Test-Warn-0.32.tar.gz;
+      sha256 = "1lkkpx8gyfsxfkys1psp990xyy1zxf8rsqd44az57x4y3zkidi9g";
     };
-    propagatedBuildInputs = [ SubUplevel TreeDAGNode ];
+    propagatedBuildInputs = [ SubUplevel ];
     meta = {
       homepage = http://search.cpan.org/perldoc?CPAN::Meta::Spec;
       description = "Perl extension to test methods for warnings";
@@ -14552,7 +16049,7 @@ let self = _self // overrides; _self = with self; {
       url = "mirror://cpan/authors/id/E/ET/ETHER/${name}.tar.gz";
       sha256 = "ae2b68b1b5616704598ce07f5118efe42dc4605834453b7b2be14e26f9cc9a08";
     };
-    buildInputs = [ TestTester CPANMetaCheck ModuleMetadata ];
+    buildInputs = [ CPANMetaCheck ];
     meta = {
       homepage = https://github.com/karenetheridge/Test-Warnings;
       description = "Test for warnings and the lack of them";
@@ -14562,10 +16059,10 @@ let self = _self // overrides; _self = with self; {
   };
 
   TestWithoutModule = buildPerlPackage {
-    name = "Test-Without-Module-0.17";
+    name = "Test-Without-Module-0.20";
     src = fetchurl {
-      url = mirror://cpan/authors/id/C/CO/CORION/Test-Without-Module-0.17.tar.gz;
-      sha256 = "a691b0bf6d92dedbacfd547551021389ebc79c51937de2b914e792457da56ff7";
+      url = mirror://cpan/authors/id/C/CO/CORION/Test-Without-Module-0.20.tar.gz;
+      sha256 = "8e9aeb7c32a6c6d0b8a93114db2a8c072721273a9d9a2dd4f9ca86cfd28aa524";
     };
     meta = {
       description = "Test fallback behaviour in absence of modules";
@@ -14576,13 +16073,13 @@ let self = _self // overrides; _self = with self; {
   };
 
   TestWWWMechanize = buildPerlPackage {
-    name = "Test-WWW-Mechanize-1.44";
+    name = "Test-WWW-Mechanize-1.48";
     src = fetchurl {
-      url = mirror://cpan/authors/id/P/PE/PETDANCE/Test-WWW-Mechanize-1.44.tar.gz;
-      sha256 = "062pj242vsc73bw11jqpap92ax9wzc9f2m4xhyp1wzrwkfchpl2q";
+      url = mirror://cpan/authors/id/P/PE/PETDANCE/Test-WWW-Mechanize-1.48.tar.gz;
+      sha256 = "1d11fx9155d5v17d5w7q3kj37b01l8yj2yb0g6b0z1vh938rrlcr";
     };
-    buildInputs = [ CGI ];
-    propagatedBuildInputs = [ CarpAssertMore HTMLTree HTTPServerSimple LWP TestLongString URI WWWMechanize ];
+    buildInputs = [ TestLongString ];
+    propagatedBuildInputs = [ CarpAssertMore HTTPServerSimple WWWMechanize ];
     meta = {
       homepage = https://github.com/petdance/test-www-mechanize;
       description = "Testing-specific WWW::Mechanize subclass";
@@ -14597,12 +16094,12 @@ let self = _self // overrides; _self = with self; {
       sha256 = "0nhhfrrai3ndziz873vpa1j0vljjnib4wqafd6yyvkf58ad7v0lv";
     };
     doCheck = false; # listens on an external port
-    propagatedBuildInputs = [ CatalystRuntime LWP Moose namespaceclean
-      TestWWWMechanize WWWMechanize ];
+    propagatedBuildInputs = [ CatalystRuntime WWWMechanize ];
     meta = {
       description = "Test::WWW::Mechanize for Catalyst";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
+    buildInputs = [ CatalystPluginSession CatalystPluginSessionStateCookie TestException TestWWWMechanize Testutf8 ];
   };
 
   TestWWWMechanizeCGI = buildPerlPackage {
@@ -14611,21 +16108,22 @@ let self = _self // overrides; _self = with self; {
       url = mirror://cpan/authors/id/M/MR/MRAMBERG/Test-WWW-Mechanize-CGI-0.1.tar.gz;
       sha256 = "0bwwdk0iai5dlvvfpja971qpgvmf6yq67iag4z4szl9v5sra0xm5";
     };
-    propagatedBuildInputs = [ CGI TestWWWMechanize WWWMechanizeCGI ];
+    propagatedBuildInputs = [ WWWMechanizeCGI ];
     meta = {
       maintainers = with maintainers; [ ];
       platforms   = stdenv.lib.platforms.unix;
     };
+    buildInputs = [ TestLongString TestWWWMechanize ];
   };
 
   TestWWWMechanizePSGI = buildPerlPackage {
-    name = "Test-WWW-Mechanize-PSGI-0.35";
+    name = "Test-WWW-Mechanize-PSGI-0.38";
     src = fetchurl {
-      url = mirror://cpan/authors/id/L/LB/LBROCARD/Test-WWW-Mechanize-PSGI-0.35.tar.gz;
-      sha256 = "1hih8s49zf38bisvhnhzrrj0zwyiivkrbs7nmmdqm1qqy27wv7pc";
+      url = mirror://cpan/authors/id/O/OA/OALDERS/Test-WWW-Mechanize-PSGI-0.38.tar.gz;
+      sha256 = "0fsh2i05kf1kfavv2r9kmnjl7qlyqrd11ikc0qcqzzxsqzzjkg9r";
     };
-    buildInputs = [ TestPod CGI ];
-    propagatedBuildInputs = [ Plack TestWWWMechanize TryTiny ];
+    buildInputs = [ CGI TestLongString TestWWWMechanize ];
+    propagatedBuildInputs = [ Plack ];
     meta = {
       description = "Test PSGI programs using WWW::Mechanize";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
@@ -14651,6 +16149,7 @@ let self = _self // overrides; _self = with self; {
       url = "mirror://cpan/authors/id/I/IN/INGY/${name}.tar.gz";
       sha256 = "0hxrfs7p9hqkhvv5nhk2hd3kh32smwng4nz47b8xf4iw2q1n2dr7";
     };
+    buildInputs = [ TestBase ];
   };
 
   TextAbbrev = buildPerlPackage {
@@ -14666,11 +16165,11 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
-  TextAligner = buildPerlPackage rec {
-    name = "Text-Aligner-0.12";
+  TextAligner = buildPerlModule rec {
+    name = "Text-Aligner-0.13";
     src = fetchurl {
       url = "mirror://cpan/authors/id/S/SH/SHLOMIF/${name}.tar.gz";
-      sha256 = "0a6zkchc0apvzkch6z18cx6h97xfiv50r7n4xhg90x8dvk75qzcs";
+      sha256 = "1vry21jrh91l2pkajnrps83bnr1fn6zshbzi80mcrnggrn9iq776";
     };
     meta = {
       description = "Align text in columns";
@@ -14690,10 +16189,10 @@ let self = _self // overrides; _self = with self; {
   };
 
   TextAutoformat = buildPerlPackage {
-    name = "Text-Autoformat-1.72";
+    name = "Text-Autoformat-1.74";
     src = fetchurl {
-      url = mirror://cpan/authors/id/N/NE/NEILB/Text-Autoformat-1.72.tar.gz;
-      sha256 = "b541152699fcd0f026322f283b7d9184839742aee0edb317a014c195ea26ae51";
+      url = mirror://cpan/authors/id/N/NE/NEILB/Text-Autoformat-1.74.tar.gz;
+      sha256 = "07eb3c2b3515897340ca6e9377495bbe2e05ec80d7f3f146adab8e534a818d5e";
     };
     propagatedBuildInputs = [ TextReform ];
     meta = {
@@ -14716,11 +16215,11 @@ let self = _self // overrides; _self = with self; {
   };
 
   TextBibTeX = buildPerlModule rec {
-    name = "Text-BibTeX-0.81";
-    buildInputs = [ ConfigAutoConf ExtUtilsLibBuilder ];
+    name = "Text-BibTeX-0.85";
+    buildInputs = [ CaptureTiny ConfigAutoConf ExtUtilsLibBuilder ];
     src = fetchurl {
       url = "mirror://cpan/authors/id/A/AM/AMBS/${name}.tar.gz";
-      sha256 = "0dig1zlglm8rwm8fhnz087lx6gixj9jx10kxn1fx3swdkfblhsmf";
+      sha256 = "036kxgbn1jf70pfm2lmjlzjwnhbkd888fp5lyvmkjpdd15gla18h";
     };
     perlPreHook = "export LD=$CC";
     perlPostHook = stdenv.lib.optionalString stdenv.isDarwin ''
@@ -14737,6 +16236,7 @@ let self = _self // overrides; _self = with self; {
       description = "Interface to read and parse BibTeX files";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
+    propagatedBuildInputs = [ ScalarListUtils ];
   };
 
   TextBrew = buildPerlPackage rec {
@@ -14756,10 +16256,10 @@ let self = _self // overrides; _self = with self; {
   };
 
   TextCSV = buildPerlPackage rec {
-    name = "Text-CSV-1.33";
+    name = "Text-CSV-1.95";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/M/MA/MAKAMAKA/${name}.tar.gz";
-      sha256 = "9c5b8fb9baffd58f02ed2b3f0b6d9a6454198f18a80e7f3a049680ddbdb24115";
+      url = mirror://cpan/authors/id/I/IS/ISHIGAKI/Text-CSV-1.95.tar.gz;
+      sha256 = "7e0a11d9c1129a55b68a26aa4b37c894279df255aa63ec8341d514ab848dbf61";
     };
     meta = {
       description = "Comma-separated values manipulator (using XS or PurePerl)";
@@ -14783,10 +16283,10 @@ let self = _self // overrides; _self = with self; {
   };
 
   TextCSV_XS = buildPerlPackage rec {
-    name = "Text-CSV_XS-1.23";
+    name = "Text-CSV_XS-1.35";
     src = fetchurl {
       url = "mirror://cpan/authors/id/H/HM/HMBRAND/${name}.tgz";
-      sha256 = "5714e1c275e7715aee44f820f8ca26c976fbb563668de7eba42a4419a05a4b5a";
+      sha256 = "2b4f111e9486b230b02bfabbbf50c453f959d18ec17351a930e41f0959b358b7";
     };
     meta = {
       homepage = https://metacpan.org/pod/Text::CSV_XS;
@@ -14796,10 +16296,10 @@ let self = _self // overrides; _self = with self; {
   };
 
   TextDiff = buildPerlPackage rec {
-    name = "Text-Diff-1.43";
+    name = "Text-Diff-1.45";
     src = fetchurl {
       url = "mirror://cpan/authors/id/N/NE/NEILB/${name}.tar.gz";
-      sha256 = "1ampmj1k5cabgcaw2iqwqbmnq6hrnl96f7rk8hh22gsw6my86bac";
+      sha256 = "013g13prdghxvrp5754gyc7rmv1syyxrhs33yc5f0lrz3dxs1fp8";
     };
     propagatedBuildInputs = [ AlgorithmDiff ];
     meta = {
@@ -14808,11 +16308,36 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
+  TextFormat = buildPerlPackage rec {
+    name = "Text-Format-0.60";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/S/SH/SHLOMIF/${name}.tar.gz";
+      sha256 = "664f313570604624ff9e1fc9b26b6d04e06897b3e4eac83089fc0905a692a2b8";
+    };
+    buildInputs = [ ModuleBuild ];
+    meta = {
+      homepage = http://www.shlomifish.org/open-source/projects/Text-Format/;
+      description = "Format text";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+      maintainers = with maintainers; [ bcdarwin ];
+    };
+  };
+
+  TextGerman = buildPerlPackage rec {
+     name = "Text-German-0.06";
+     src = fetchurl {
+       url = mirror://cpan/authors/id/U/UL/ULPFR/Text-German-0.06.tar.gz;
+       sha256 = "1p87pgap99lw0nv62i3ghvsi7yg90lhn8vsa3yqp75rd04clybcj";
+     };
+     meta = {
+     };
+  };
+
   TextGlob = buildPerlPackage rec {
-    name = "Text-Glob-0.09";
+    name = "Text-Glob-0.11";
     src = fetchurl {
-      url = "mirror://cpan/modules/by-module/Text/${name}.tar.gz";
-      sha256 = "0lr76wrsj8wcxrq4wi8z1640w4dmdbkznp06q744rg3g0bd238d5";
+      url = mirror://cpan/authors/id/R/RC/RCLAMP/Text-Glob-0.11.tar.gz;
+      sha256 = "11sj62fynfgwrlgkv5a051cq6yn0pagxqjsz27dxx8phsd4wv706";
     };
   };
 
@@ -14825,10 +16350,10 @@ let self = _self // overrides; _self = with self; {
   };
 
   TestInter = buildPerlPackage {
-    name = "Test-Inter-1.05";
+    name = "Test-Inter-1.07";
     src = fetchurl {
-      url = mirror://cpan/authors/id/S/SB/SBECK/Test-Inter-1.05.tar.gz;
-      sha256 = "bda95ef503f1c1b39a5cd1ea686d18a67a63b56a8eb458f0614fc2acc51f7988";
+      url = mirror://cpan/authors/id/S/SB/SBECK/Test-Inter-1.07.tar.gz;
+      sha256 = "c3b1e2c753b88a893e08ec2dd3d0f0b3eb513cdce7afa52780cb0e02b6c576ee";
     };
     meta = {
       description = "Framework for more readable interactive test scripts";
@@ -14854,23 +16379,23 @@ let self = _self // overrides; _self = with self; {
       url = "mirror://cpan/authors/id/B/BO/BOBTFISH/${name}.tar.gz";
       sha256 = "06y79lla8adkqhrs41xdddqjs81dcrh266b50mfbg37bxkawd4f1";
     };
-    buildInputs = [ FileSlurp ListMoreUtils Encode ExtUtilsMakeMaker
-      TestException HTMLTidy TestDifferences ];
+    buildInputs = [ ListMoreUtils TestDifferences TestException ];
   };
 
   TestMagpie = buildPerlPackage {
-    name = "Test-Magpie-0.05";
+    name = "Test-Magpie-0.11";
     src = fetchurl {
-      url = mirror://cpan/authors/id/C/CY/CYCLES/Test-Magpie-0.05.tar.gz;
-      sha256 = "0a0c6vcj92spy6ngfdqn9yfym37jwxlds7hlw6xphkdmcklynh0b";
+      url = mirror://cpan/authors/id/S/ST/STEVENL/Test-Magpie-0.11.tar.gz;
+      sha256 = "1c4iy35yg3fa9mrc4phmpz46fkihl6yic6a13fpcxyd3xafd5zhm";
     };
-    propagatedBuildInputs = [ aliased DevelPartialDump ListAllUtils Moose MooseXParamsValidate MooseXTypes MooseXTypesStructured namespaceautoclean SetObject SubExporter TestFatal ];
+    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 {
@@ -14879,8 +16404,7 @@ let self = _self // overrides; _self = with self; {
       url = "mirror://cpan/authors/id/R/RJ/RJBS/${name}.tar.gz";
       sha256 = "3fba4e8fcf74806259aa639be7d90e70346ad0e0e4b8b619593490e378241970";
     };
-    buildInputs = [ TestTester ];
-    propagatedBuildInputs = [ FileFindRule FileFindRulePerl PerlMinimumVersion ];
+    propagatedBuildInputs = [ PerlMinimumVersion ];
     meta = {
       homepage = https://github.com/rjbs/Test-MinimumVersion;
       description = "Does your code require newer perl than you think?";
@@ -14889,10 +16413,10 @@ let self = _self // overrides; _self = with self; {
   };
 
   TextMicroTemplate = buildPerlPackage {
-    name = "Text-MicroTemplate-0.20";
+    name = "Text-MicroTemplate-0.24";
     src = fetchurl {
-      url = mirror://cpan/authors/id/K/KA/KAZUHO/Text-MicroTemplate-0.20.tar.gz;
-      sha256 = "0da44kd3z4n23wivy99583cscmiay2xv0wq9dzx6mg8vq874kx74";
+      url = mirror://cpan/authors/id/K/KA/KAZUHO/Text-MicroTemplate-0.24.tar.gz;
+      sha256 = "1j5ljx7hs4k29732nr5f2m4kssz4rqjw3kknsnhams2yydqix01j";
     };
     meta = {
       description = "Micro template engine with Perl5 language";
@@ -14927,12 +16451,11 @@ let self = _self // overrides; _self = with self; {
   };
 
   TextPDF = buildPerlPackage rec {
-    name = "Text-PDF-0.29a";
+    name = "Text-PDF-0.31";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/M/MH/MHOSKEN/${name}.tar.gz";
-      sha256 = "11jig38vps957zyc9372q2g0jcabxgkql3b5vazc1if1ajhlvc4s";
+      url = mirror://cpan/authors/id/B/BH/BHALLISSY/Text-PDF-0.31.tar.gz;
+      sha256 = "0s5cimfr4wwzgv15k30x83ncg1257jwsvmbmb86lp02rw5g537yz";
     };
-    propagatedBuildInputs = [ CompressZlib ];
   };
 
   TextQuoted = buildPerlPackage {
@@ -14959,12 +16482,11 @@ let self = _self // overrides; _self = with self; {
     # at /etc/fonts/font.conf is not available.
     doCheck = false;
 
-    propagatedBuildInputs = [ TestException IOStringy ClassAccessor Readonly
-      ListMoreUtils TestPod TestPodCoverage GraphViz ReadonlyXS
-      TextTabularDisplay];
+    propagatedBuildInputs = [ ClassAccessor IOStringy ListMoreUtils Readonly TextAutoformat ];
+    buildInputs = [ TestException ];
   };
 
-  TextReform = buildPerlPackage {
+  TextReform = buildPerlModule {
     name = "Text-Reform-1.20";
     src = fetchurl {
       url = mirror://cpan/authors/id/C/CH/CHORNY/Text-Reform-1.20.tar.gz;
@@ -14977,10 +16499,10 @@ let self = _self // overrides; _self = with self; {
   };
 
   TextRoman = buildPerlPackage rec {
-    name = "Text-Roman-3.3";
+    name = "Text-Roman-3.5";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/E/EC/ECALDER/${name}.tar.gz";
-      sha256 = "1ris38kdj15l8l7cl5whdpyyvb0rz8dh9p0w36wgydi3b2pxsa25";
+      url = mirror://cpan/authors/id/S/SY/SYP/Text-Roman-3.5.tar.gz;
+      sha256 = "0sh47svzz0wm993ywfgpn0fvhajl2sj5hcnf5zxjz02in6ihhjnb";
     };
     meta = {
       description = "Allows conversion between Roman and Arabic algarisms";
@@ -14989,10 +16511,10 @@ let self = _self // overrides; _self = with self; {
   };
 
   TextSimpleTable = buildPerlPackage {
-    name = "Text-SimpleTable-2.03";
+    name = "Text-SimpleTable-2.04";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MR/MRAMBERG/Text-SimpleTable-2.03.tar.gz;
-      sha256 = "15hpry9jwrf1vbjyk21s65rllxrdvp2fdzzv9gsvczggby2yyzfs";
+      url = mirror://cpan/authors/id/M/MR/MRAMBERG/Text-SimpleTable-2.04.tar.gz;
+      sha256 = "14sjmdcy7s73sk740g3ccmzmwhwd52x5ay3bjmibjlql1cag70ld";
     };
     meta = {
       description = "Simple eyecandy ASCII tables";
@@ -15001,34 +16523,32 @@ let self = _self // overrides; _self = with self; {
   };
 
   TextSoundex = buildPerlPackage {
-    name = "Text-Soundex-3.04";
+    name = "Text-Soundex-3.05";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RJ/RJBS/Text-Soundex-3.04.tar.gz;
-      sha256 = "2e56bb4324ee0186b908b3bd78463643affe7295624af0628e81491e910283d9";
+      url = mirror://cpan/authors/id/R/RJ/RJBS/Text-Soundex-3.05.tar.gz;
+      sha256 = "f6dd55b4280b25dea978221839864382560074e1d6933395faee2510c2db60ed";
     };
-    propagatedBuildInputs = [ if_ ];
   };
 
-  TextSprintfNamed = buildPerlPackage rec {
+  TextSprintfNamed = buildPerlModule rec {
     name = "Text-Sprintf-Named-0.0402";
     src = fetchurl {
       url = "mirror://cpan/authors/id/S/SH/SHLOMIF/${name}.tar.gz";
       sha256 = "951317fce8fa5dd08190ba760182bc71f2b4346fa21df55c76155e6353e2864f";
     };
-    buildInputs = [ ModuleBuild TestWarn ];
+    buildInputs = [ TestWarn ];
     meta = {
       description = "Sprintf-like function with named conversions";
       license = stdenv.lib.licenses.mit;
     };
   };
 
-  TextTable = buildPerlPackage rec {
-    name = "Text-Table-1.130";
+  TextTable = buildPerlModule rec {
+    name = "Text-Table-1.133";
     src = fetchurl {
       url = "mirror://cpan/authors/id/S/SH/SHLOMIF/${name}.tar.gz";
-      sha256 = "02c8v38k639r23dgxwgvsy4myjjzvgdb238kpiffsiz25ab3xp5j";
+      sha256 = "04kh5x5inq183rdg221wlqaaqi1ipyj588mxsslik6nhc14f17nd";
     };
-    buildInputs = [ TestPod TestPodCoverage ];
     propagatedBuildInputs = [ TextAligner ];
     meta = {
       homepage = http://www.shlomifish.org/open-source/projects/docmake/;
@@ -15055,28 +16575,27 @@ let self = _self // overrides; _self = with self; {
       url = "mirror://cpan/authors/id/D/DA/DARREN/${name}.tar.gz";
       sha256 = "1s46s4pg5mpfllx3icf4vnqz9iadbbdbsr5p7pr6gdjnzbx902gb";
     };
-    propagatedBuildInputs = [ TextAligner ];
   };
 
   TextTemplate = buildPerlPackage {
-    name = "Text-Template-1.46";
+    name = "Text-Template-1.52";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MJ/MJD/Text-Template-1.46.tar.gz;
-      sha256 = "77d812cb86e48091bcd59aa8522ef887b33a0ff758f8a269da8c2b733889d580";
+      url = mirror://cpan/authors/id/M/MS/MSCHOUT/Text-Template-1.52.tar.gz;
+      sha256 = "85da7a5e7eecf1871cda8bf3ce7b8ad0b5f75c6c5791f43a7d94373406859b6c";
     };
     meta = {
       description = "Unknown";
       license = "unknown";
     };
+    buildInputs = [ TestWarnings ];
   };
 
-  TestTrap = buildPerlPackage rec {
-    name = "Test-Trap-0.3.2";
+  TestTrap = buildPerlModule rec {
+    name = "Test-Trap-0.3.3";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/E/EB/EBHANSSEN/${name}.tar.gz";
-      sha256 = "1ci5ag9pm850ww55n2929skvw3avy6xcrwmmi2yyn0hifxx9dybs";
+      url = mirror://cpan/authors/id/E/EB/EBHANSSEN/Test-Trap-v0.3.3.tar.gz;
+      sha256 = "1676gqjyk0zig3yyqv053y5j1pajp2af08ffmgx94n414whbhm5c";
     };
-    buildInputs = [ TestTester ];
     propagatedBuildInputs = [ DataDump ];
     meta = {
       description = "Trap exit codes, exceptions, output, etc";
@@ -15085,13 +16604,13 @@ let self = _self // overrides; _self = with self; {
   };
 
   TestVars = buildPerlModule rec {
-    name = "Test-Vars-0.008";
+    name = "Test-Vars-0.014";
     src = fetchurl {
       url = "mirror://cpan/authors/id/D/DR/DROLSKY/${name}.tar.gz";
-      sha256 = "1h0kifiia78s3425hvpjs5di5539vsz15mmkkk0cwshwizhcwp7h";
+      sha256 = "0qr8q0ksr925ycwbsyxjwgz4p9r7a8vkxpn33vy23zbijwpa3xx7";
     };
 
-    buildInputs = [ TestTester ];
+    buildInputs = [ ModuleBuildTiny ];
 
     meta = {
       homepage = https://github.com/gfx/p5-Test-Vars;
@@ -15101,10 +16620,10 @@ let self = _self // overrides; _self = with self; {
   };
 
   TestVersion = buildPerlPackage rec {
-    name = "Test-Version-2.05";
+    name = "Test-Version-2.07";
     src = fetchurl {
       url = "mirror://cpan/authors/id/P/PL/PLICEASE/${name}.tar.gz";
-      sha256 = "39c0ec02663da0e56962bdafaef6790cf83d12b4d90e8a4cdc971d57d869d63f";
+      sha256 = "eae8b758395d6b23d4ce3109b055663379b9970fb8f81e5803d145dbc5ccdbac";
     };
     buildInputs = [ TestException ];
     propagatedBuildInputs = [ FileFindRulePerl ];
@@ -15115,13 +16634,12 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
-  TextTrim = buildPerlPackage {
+  TextTrim = buildPerlModule {
     name = "Text-Trim-1.02";
     src = fetchurl {
       url = mirror://cpan/authors/id/M/MA/MATTLAW/Text-Trim-1.02.tar.gz;
       sha256 = "1bnwjl5n04w8nnrzrm75ljn4pijqbijr9csfkjcs79h4gwn9lwqw";
     };
-    propagatedBuildInputs = [ CGI ModuleBuild ];
     meta = {
       description = "Remove leading and/or trailing whitespace from strings";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
@@ -15143,10 +16661,10 @@ let self = _self // overrides; _self = with self; {
   };
 
   TextUnidecode = buildPerlPackage rec {
-    name = "Text-Unidecode-1.24";
+    name = "Text-Unidecode-1.30";
     src = fetchurl {
-      url = "mirror://cpan/modules/by-module/Text/${name}.tar.gz";
-      sha256 = "124q1zfiyj70zz691nrfjfmv4i8dyalddhqisp8y28kzfnba9vrh";
+      url = mirror://cpan/authors/id/S/SB/SBURKE/Text-Unidecode-1.30.tar.gz;
+      sha256 = "1imii0p6wvhrxsr5z2zhazpx5vl4l4ybf1y2c5hy480xvi6z293c";
     };
   };
 
@@ -15176,7 +16694,7 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
-  TextWikiFormat = buildPerlPackage {
+  TextWikiFormat = buildPerlModule {
     name = "Text-WikiFormat-0.81";
     src = fetchurl {
       url = mirror://cpan/authors/id/C/CY/CYCLES/Text-WikiFormat-0.81.tar.gz;
@@ -15192,7 +16710,7 @@ let self = _self // overrides; _self = with self; {
   TextWrapI18N = buildPerlPackage {
     name = "Text-WrapI18N-0.06";
     src = fetchurl {
-      url = http://search.cpan.org/CPAN/authors/id/K/KU/KUBOTA/Text-WrapI18N-0.06.tar.gz;
+      url = mirror://cpan/authors/id/K/KU/KUBOTA/Text-WrapI18N-0.06.tar.gz;
       sha256 = "4bd29a17f0c2c792d12c1005b3c276f2ab0fae39c00859ae1741d7941846a488";
     };
     propagatedBuildInputs = [ pkgs.glibc TextCharWidth ];
@@ -15217,13 +16735,14 @@ let self = _self // overrides; _self = with self; {
       description = "Word wrap text by breaking long lines";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
+    buildInputs = [ TestDifferences ];
   };
 
   threads = buildPerlPackage rec {
-    name = "threads-2.07";
+    name = "threads-2.21";
     src = fetchurl {
       url = "mirror://cpan/authors/id/J/JD/JDHEDDEN/${name}.tar.gz";
-      sha256 = "0fgprp2ghrh1ryxmr0y9bpsjl1ifbf4lqml8k017cbl4zbn21lim";
+      sha256 = "047i22mdnf7fa0h9w5jhqrjbg561l5jxk8xqzwh6zbmwlac4qf98";
     };
     meta = {
       description = "Perl interpreter-based threads";
@@ -15232,10 +16751,10 @@ let self = _self // overrides; _self = with self; {
   };
 
   threadsshared = buildPerlPackage rec {
-    name = "threads-shared-1.51";
+    name = "threads-shared-1.58";
     src = fetchurl {
       url = "mirror://cpan/authors/id/J/JD/JDHEDDEN/${name}.tar.gz";
-      sha256 = "0qsbl8rx8p09cb5vj1yhwf1h2awvimfyckw1qwrqbk7dxjldrimn";
+      sha256 = "04qbypzgp49sq1wq5kip0m95lffv0pc8xj2wplrdpyqz87y105xd";
     };
     meta = {
       description = "Perl extension for sharing data structures between threads";
@@ -15244,10 +16763,10 @@ let self = _self // overrides; _self = with self; {
   };
 
   ThreadQueue = buildPerlPackage rec {
-    name = "Thread-Queue-3.09";
+    name = "Thread-Queue-3.12";
     src = fetchurl {
       url = "mirror://cpan/authors/id/J/JD/JDHEDDEN/${name}.tar.gz";
-      sha256 = "0f03v10rsasi2j4lh8xw44jac8nfbw66274qgsz5lsmfd6wqvj12";
+      sha256 = "0wpqdbdfa4mw8lpcaw1lp2d553gl65cl8mli1srj8wrg0kaxshhx";
     };
     meta = {
       description = "Thread-safe queues";
@@ -15256,10 +16775,10 @@ let self = _self // overrides; _self = with self; {
   };
 
   ThreadSemaphore = buildPerlPackage {
-    name = "Thread-Semaphore-2.12";
+    name = "Thread-Semaphore-2.13";
     src = fetchurl {
-      url = mirror://cpan/authors/id/J/JD/JDHEDDEN/Thread-Semaphore-2.12.tar.gz;
-      sha256 = "e0f8e7057b073003e5a96a55b778abb8ee1cc1b279febedce0166526f2988965";
+      url = mirror://cpan/authors/id/J/JD/JDHEDDEN/Thread-Semaphore-2.13.tar.gz;
+      sha256 = "e3fe2cc047575529c8ea4c168cef8fab2ec931729a1826ffca1ef63e7e45bc81";
     };
     meta = {
       description = "Thread-safe semaphores";
@@ -15273,8 +16792,7 @@ let self = _self // overrides; _self = with self; {
       url = "mirror://cpan/authors/id/R/RJ/RJBS/${name}.tar.gz";
       sha256 = "184gdcwxqwnkrx5md968v1ny70pq6blzpkihccm3bpdxnpgd11wr";
     };
-    buildInputs = [ DevelStackTrace ];
-    propagatedBuildInputs = [ DevelStackTrace ModuleRuntime Moo ];
+    propagatedBuildInputs = [ DevelStackTrace Moo ];
     meta = {
       homepage = https://github.com/rjbs/Throwable;
       description = "A role for classes that can be thrown";
@@ -15289,7 +16807,7 @@ let self = _self // overrides; _self = with self; {
       url = "mirror://cpan/authors/id/M/MS/MSCHWERN/${name}.tar.gz";
       sha256 = "1bf740450d3a6d7c12b48c25f7da5964e44e7cc38b28572cfb76ff22464f4469";
     };
-    propagatedBuildInputs = [ CarpAssert ClassDataInheritable ClassVirtual enum ];
+    propagatedBuildInputs = [ ClassVirtual enum ];
     meta = {
       description = "A Least-Recently Used cache";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
@@ -15309,10 +16827,10 @@ let self = _self // overrides; _self = with self; {
   };
 
   TieCycle = buildPerlPackage rec {
-    name = "Tie-Cycle-1.21";
+    name = "Tie-Cycle-1.225";
     src = fetchurl {
       url = "mirror://cpan/authors/id/B/BD/BDFOY/${name}.tar.gz";
-      sha256 = "0r1mdmd01s42vwlwr2mvr1ywjvvfkc79vz6ysdii5fvcgs6wk50y";
+      sha256 = "0i9xq2qm50p2ih24265jndp2x8hfq7ap0d88nrlv5yaad4hxhc7k";
     };
     meta = {
       description = "Cycle through a list of values via a scalar";
@@ -15331,7 +16849,7 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
-  TieIxHash = buildPerlPackage {
+  TieIxHash = buildPerlModule {
     name = "Tie-IxHash-1.23";
     src = fetchurl {
       url = mirror://cpan/authors/id/C/CH/CHORNY/Tie-IxHash-1.23.tar.gz;
@@ -15374,13 +16892,26 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
+  TieSub = buildPerlPackage rec {
+     name = "Tie-Sub-1.001";
+     src = fetchurl {
+       url = mirror://cpan/authors/id/S/ST/STEFFENW/Tie-Sub-1.001.tar.gz;
+       sha256 = "1cgiyj85hhw2m4x2iv4zgaj3hzf3fghircpcfqmjndni4r4a0wgg";
+     };
+     propagatedBuildInputs = [ ParamsValidate ];
+     buildInputs = [ ModuleBuild TestDifferences TestException TestNoWarnings ];
+     meta = {
+       description = "Tie::Sub - Tying a subroutine, function or method to a hash";
+       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+     };
+  };
+
   TieToObject = buildPerlPackage {
     name = "Tie-ToObject-0.03";
     src = fetchurl {
       url = mirror://cpan/authors/id/N/NU/NUFFIN/Tie-ToObject-0.03.tar.gz;
       sha256 = "1x1smn1kw383xc5h9wajxk9dlx92bgrbf7gk4abga57y6120s6m3";
     };
-    propagatedBuildInputs = [Testuseok];
   };
 
   TimeDate = buildPerlPackage {
@@ -15397,7 +16928,6 @@ let self = _self // overrides; _self = with self; {
       url = "mirror://cpan/authors/id/N/NE/NEILB/${name}.tar.gz";
       sha256 = "1f5vkid4pl5iq3hal01hk1zjbbzrqpx4m1djawbp93l152shb0j5";
     };
-    buildInputs = [ TestPod TestPodCoverage ];
     meta = {
       description = "Rounded or exact English expression of durations";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
@@ -15405,10 +16935,10 @@ let self = _self // overrides; _self = with self; {
   };
 
   TimeDurationParse = buildPerlPackage rec {
-    name = "Time-Duration-Parse-0.12";
+    name = "Time-Duration-Parse-0.13";
     src = fetchurl {
       url = "mirror://cpan/authors/id/N/NE/NEILB/${name}.tar.gz";
-      sha256 = "0yxfxw7fxs19nncpv54nqh21ak2cmvpz7ks8d9v4lz3mbq6q0q9s";
+      sha256 = "0affdzhsiy7dr6dzj2p6m9lynmjh53k31bprfsfa21pz8551hjj1";
     };
     buildInputs = [ TimeDuration ];
     propagatedBuildInputs = [ ExporterLite ];
@@ -15419,18 +16949,18 @@ let self = _self // overrides; _self = with self; {
   };
 
   TimeHiRes = buildPerlPackage rec {
-    name = "Time-HiRes-1.9726";
+    name = "Time-HiRes-1.9753";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/Z/ZE/ZEFRAM/${name}.tar.gz";
-      sha256 = "17hhd53p72z08l1riwz5f6rch6hngby1pympkla5miznn7cjlrpz";
+      url = mirror://cpan/authors/id/J/JH/JHI/Time-HiRes-1.9753.tar.gz;
+      sha256 = "05a9xhn8y0f679kg8n0n3ng4mk6sd7isihqbbhfh29nxkkwxbgqg";
     };
   };
 
   TimeLocal = buildPerlPackage {
-    name = "Time-Local-1.2300";
+    name = "Time-Local-1.25";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DR/DROLSKY/Time-Local-1.2300.tar.gz;
-      sha256 = "b2acca03700a09f8ae737d3084f3f6287e983da9ab7b537c6599c291b669fb49";
+      url = mirror://cpan/authors/id/D/DR/DROLSKY/Time-Local-1.25.tar.gz;
+      sha256 = "1ae9c51d777ac44a3ebc154dc625ba24d7c0cde6a8b6dba87b46d0777889fef2";
     };
     meta = {
       description = "Efficiently compute time from local and GMT time";
@@ -15452,13 +16982,13 @@ let self = _self // overrides; _self = with self; {
   };
 
   Tk = buildPerlPackage rec {
-    name = "Tk-804.033";
+    name = "Tk-804.034";
     src = fetchurl {
       url = "mirror://cpan/authors/id/S/SR/SREZIC/${name}.tar.gz";
-      sha256 = "84756e9b07a2555c8eecf88e63d5cbbba9b1aa97b1e71a3d4aa524a7995a88ad";
+      sha256 = "fea6b144c723528a2206c8cd9175844032ee9c14ee37791f0f151e5e5b293fe2";
     };
     makeMakerFlags = "X11INC=${pkgs.xorg.libX11.dev}/include X11LIB=${pkgs.xorg.libX11.out}/lib";
-    buildInputs = with pkgs; [ xorg.libX11 libpng ];
+    buildInputs = [ pkgs.xorg.libX11 pkgs.libpng ];
     doCheck = false;            # Expects working X11.
     meta = {
       homepage = https://metacpan.org/pod/distribution/Tk/Tk.pod;
@@ -15467,26 +16997,26 @@ let self = _self // overrides; _self = with self; {
   };
 
   TreeDAGNode = buildPerlPackage rec {
-    name = "Tree-DAG_Node-1.27";
+    name = "Tree-DAG_Node-1.31";
     src = fetchurl {
       url = "mirror://cpan/authors/id/R/RS/RSAVAGE/${name}.tgz";
-      sha256 = "1i2i445gh7720bvv06dz67szk2z6q1pi30kb5p2shsa806sj4vr2";
+      sha256 = "016kr76azxzfcpxjkhqp2piyyl6529shjis20mc3g2snfabsd2qw";
     };
-    buildInputs = [ TestPod FileSlurpTiny ];
     meta = {
       homepage = http://search.cpan.org/perldoc?CPAN::Meta::Spec;
       description = "An N-ary tree";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
+    propagatedBuildInputs = [ FileSlurpTiny ];
   };
 
   TreeSimple = buildPerlPackage rec {
-    name = "Tree-Simple-1.25";
+    name = "Tree-Simple-1.33";
     src = fetchurl {
       url = "mirror://cpan/authors/id/R/RS/RSAVAGE/${name}.tgz";
-      sha256 = "1xj1n70v4qbx7m9k01bj9aixk77yssliavgvfds3xj755hcan0nr";
+      sha256 = "1alnwb6c7n4al91m9cyknvcyvdz521lh22dz1hyk4v7c50adffnv";
     };
-    buildInputs = [ TestException TestMemoryCycle ];
+    buildInputs = [ TestException ];
     meta = {
       description = "A simple tree object";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
@@ -15494,22 +17024,22 @@ let self = _self // overrides; _self = with self; {
   };
 
   TreeSimpleVisitorFactory = buildPerlPackage {
-    name = "Tree-Simple-VisitorFactory-0.12";
+    name = "Tree-Simple-VisitorFactory-0.15";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RS/RSAVAGE/Tree-Simple-VisitorFactory-0.12.tgz;
-      sha256 = "1g27xl48q1vr7aikhxg4vvcsj1si8allxz59vmnks61wsw4by7vg";
+      url = mirror://cpan/authors/id/R/RS/RSAVAGE/Tree-Simple-VisitorFactory-0.15.tgz;
+      sha256 = "06y2vazkl307k59hnkp9h5bp3p7711kgmp1qdhb2lgnfwzn84zin";
     };
-    propagatedBuildInputs = [TreeSimple];
-    buildInputs = [TestException];
+    propagatedBuildInputs = [ TreeSimple ];
+    buildInputs = [ TestException ];
   };
 
   TryTiny = buildPerlPackage {
-    name = "Try-Tiny-0.22";
+    name = "Try-Tiny-0.30";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DO/DOY/Try-Tiny-0.22.tar.gz;
-      sha256 = "60fba46f4693d33d54539104f9001df008dabb400b6837e9605c39a6ee6a1b19";
+      url = mirror://cpan/authors/id/E/ET/ETHER/Try-Tiny-0.30.tar.gz;
+      sha256 = "da5bd0d5c903519bbf10bb9ba0cb7bcac0563882bcfe4503aee3fb143eddef6b";
     };
-    buildInputs = [ if_ ];
+    buildInputs = [ CPANMetaCheck CaptureTiny ];
     meta = {
       homepage = https://metacpan.org/release/Try-Tiny;
       description = "Minimal try/catch with proper preservation of $@";
@@ -15517,11 +17047,26 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
+  Twiggy = buildPerlPackage rec {
+     name = "Twiggy-0.1025";
+     src = fetchurl {
+       url = mirror://cpan/authors/id/M/MI/MIYAGAWA/Twiggy-0.1025.tar.gz;
+       sha256 = "1a57knbwync7rlzhsz1kdc0sd380xnaccwgiy1qwj5d87abdynnp";
+     };
+     propagatedBuildInputs = [ AnyEvent Plack ];
+     buildInputs = [ TestRequires TestSharedFork TestTCP ];
+     meta = {
+       description = "AnyEvent HTTP server for PSGI (like Thin)";
+       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+       homepage = "https://github.com/miyagawa/Twiggy";
+     };
+  };
+
   TypeTiny = buildPerlPackage {
-    name = "Type-Tiny-1.000005";
+    name = "Type-Tiny-1.002001";
     src = fetchurl {
-      url = mirror://cpan/authors/id/T/TO/TOBYINK/Type-Tiny-1.000005.tar.gz;
-      sha256 = "42ed36c011825aa1e6995a4e8638621a1b2103a0970b15764ca3919368042365";
+      url = mirror://cpan/authors/id/T/TO/TOBYINK/Type-Tiny-1.002001.tar.gz;
+      sha256 = "93c9eeaaf23016625126794af483bc626a149f7226f9a6ec1081ef896acc13dd";
     };
     propagatedBuildInputs = [ ExporterTiny ];
     meta = {
@@ -15531,6 +17076,17 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
+  TypesSerialiser = buildPerlPackage rec {
+     name = "Types-Serialiser-1.0";
+     src = fetchurl {
+       url = mirror://cpan/authors/id/M/ML/MLEHMANN/Types-Serialiser-1.0.tar.gz;
+       sha256 = "03bk0hm5ys8k7265dkap825ybn2zmzb1hl0kf1jdm8yq95w39lvs";
+     };
+     propagatedBuildInputs = [ commonsense ];
+     meta = {
+     };
+  };
+
   UNIVERSALcan = buildPerlPackage {
     name = "UNIVERSAL-can-1.20140328";
     src = fetchurl {
@@ -15545,10 +17101,10 @@ let self = _self // overrides; _self = with self; {
   };
 
   UNIVERSALisa = buildPerlPackage {
-    name = "UNIVERSAL-isa-1.20120726";
+    name = "UNIVERSAL-isa-1.20171012";
     src = fetchurl {
-      url = mirror://cpan/authors/id/C/CH/CHROMATIC/UNIVERSAL-isa-1.20120726.tar.gz;
-      sha256 = "1qal99sp888b50kwank9ffyprv7kqx42p4vyfahdabf915lyzc61";
+      url = mirror://cpan/authors/id/E/ET/ETHER/UNIVERSAL-isa-1.20171012.tar.gz;
+      sha256 = "0avzv9j32aab6l0rd63n92v0pgliz1p4yabxxjfq275hdh1mcsfi";
     };
     meta = {
       homepage = https://github.com/chromatic/UNIVERSAL-isa;
@@ -15557,6 +17113,19 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
+  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 ];
+     };
+  };
+
   UNIVERSALrequire = buildPerlPackage rec {
     name = "UNIVERSAL-require-0.18";
     src = fetchurl {
@@ -15575,7 +17144,6 @@ let self = _self // overrides; _self = with self; {
       url = "mirror://cpan/authors/id/A/AR/ARODLAND/${name}.tar.gz";
       sha256 = "418a212808f9d0b8bb330ac905096d2dd364976753d4c71534dab9836a63194d";
     };
-    buildInputs = [ ModuleBuild ];
     meta = {
       homepage = https://metacpan.org/release/Unicode-CaseFold;
       description = "Unicode case-folding for case-insensitive lookups";
@@ -15623,10 +17191,10 @@ let self = _self // overrides; _self = with self; {
   };
 
   UnicodeLineBreak = buildPerlPackage rec {
-    name = "Unicode-LineBreak-2017.004";
+    name = "Unicode-LineBreak-2018.003";
     src = fetchurl {
       url = "mirror://cpan/authors/id/N/NE/NEZUMI/${name}.tar.gz";
-      sha256 = "0xnb80na1ps1b5gmj3n70bk28brjzrn725kqv5q0gbb0rg2c6nv5";
+      sha256 = "1cbilpy7ypr26rjr6cmrbkxhsm1l6yx7s1p7lcf0l3vi7vzr4346";
     };
     propagatedBuildInputs = [ MIMECharset ];
     meta = {
@@ -15667,10 +17235,10 @@ let self = _self // overrides; _self = with self; {
   };
 
   URI = buildPerlPackage rec {
-    name = "URI-1.73";
+    name = "URI-1.74";
     src = fetchurl {
       url = "mirror://cpan/authors/id/E/ET/ETHER/${name}.tar.gz";
-      sha256 = "cca7ab4a6f63f3ccaacae0f2e1337e8edf84137e73f18548ec7d659f23efe413";
+      sha256 = "a9c254f45f89cb1dd946b689dfe433095404532a4543bdaab0b71ce0fdcdd53d";
     };
     buildInputs = [ TestNeeds ];
     meta = {
@@ -15681,12 +17249,12 @@ let self = _self // overrides; _self = with self; {
   };
 
   URIdb = buildPerlModule {
-    name = "URI-db-0.15";
+    name = "URI-db-0.18";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DW/DWHEELER/URI-db-0.15.tar.gz;
-      sha256 = "ac3dc3eeb8ca58dc4f7e1dfed6bca5bb8ebbc5dfacee63161490b09a4bfac982";
+      url = mirror://cpan/authors/id/D/DW/DWHEELER/URI-db-0.18.tar.gz;
+      sha256 = "460a1d3b9a45779f56dbbeebc60612370b32771f3158c87da981857163b43e0b";
     };
-    propagatedBuildInputs = [ URI URINested ];
+    propagatedBuildInputs = [ URINested ];
     meta = {
       homepage = https://search.cpan.org/dist/URI-db/;
       description = "Database URIs";
@@ -15695,10 +17263,10 @@ let self = _self // overrides; _self = with self; {
   };
 
   URIFind = buildPerlModule rec {
-    name = "URI-Find-20140709";
+    name = "URI-Find-20160806";
     src = fetchurl {
       url = "mirror://cpan/authors/id/M/MS/MSCHWERN/${name}.tar.gz";
-      sha256 = "0czc4h182s7sx3k123m7qlg7yybnwxgh369hap3c3b6xgrglrhy0";
+      sha256 = "1mk3jv8x0mcq3ajrn9garnxd0jc7sw4pkwqi88r5apqvlljs84z2";
     };
     propagatedBuildInputs = [ URI ];
     meta = {
@@ -15709,10 +17277,10 @@ let self = _self // overrides; _self = with self; {
   };
 
   URIFromHash = buildPerlPackage {
-    name = "URI-FromHash-0.04";
+    name = "URI-FromHash-0.05";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DR/DROLSKY/URI-FromHash-0.04.tar.gz;
-      sha256 = "03yckli4fj8cgsyh1l1lmyxj56q9qc04a3r8kv0whbnb37zz1j23";
+      url = mirror://cpan/authors/id/D/DR/DROLSKY/URI-FromHash-0.05.tar.gz;
+      sha256 = "1l3g5ygv83vn9y1zpwjdqq5cs4ip2q058q0gmpcf5wp9rsycbjm7";
     };
     propagatedBuildInputs = [ ParamsValidate URI ];
     meta = {
@@ -15721,6 +17289,7 @@ let self = _self // overrides; _self = with self; {
       maintainers = with maintainers; [ ];
       platforms   = stdenv.lib.platforms.unix;
     };
+    buildInputs = [ TestFatal ];
   };
 
   UriGoogleChart = buildPerlPackage rec {
@@ -15729,7 +17298,19 @@ let self = _self // overrides; _self = with self; {
       url = "mirror://cpan/authors/id/G/GA/GAAS/${name}.tar.gz";
       sha256 = "00hq5cpsk7sa04n0wg52qhpqf9i2849yyvw2zk83ayh1qqpc50js";
     };
-    buildInputs = [URI TestMore];
+    propagatedBuildInputs = [ URI ];
+  };
+
+  UserIdentity = buildPerlPackage rec {
+     name = "User-Identity-0.99";
+     src = fetchurl {
+       url = mirror://cpan/authors/id/M/MA/MARKOV/User-Identity-0.99.tar.gz;
+       sha256 = "0c2qwxgpqncm4ya3rb5zz2hgiwwf559j1b1a6llyarf9jy43hfzm";
+     };
+     meta = {
+       description = "Collect information about a user";
+       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+     };
   };
 
   URIIMAP = buildPerlPackage {
@@ -15738,7 +17319,7 @@ let self = _self // overrides; _self = with self; {
       url = mirror://cpan/authors/id/C/CW/CWEST/URI-imap-1.01.tar.gz;
       sha256 = "0bdv6mrdijcq46r3lmz801rscs63f8p9qqliy2safd6fds4rj55v";
     };
-    propagatedBuildInputs = [URI];
+    propagatedBuildInputs = [ URI ];
   };
 
   URINested = buildPerlModule {
@@ -15761,7 +17342,6 @@ let self = _self // overrides; _self = with self; {
       url = "mirror://cpan/authors/id/P/PL/PLICEASE/${name}.tar.gz";
       sha256 = "6e6b0e4172acb6a53c222639c000608c2dd61d50848647482ac8600d50e541ef";
     };
-    buildInputs = [ URI ];
     propagatedBuildInputs = [ URI ];
     meta = {
       homepage = http://perl.wdlabs.com/URI-ws/;
@@ -15783,10 +17363,10 @@ let self = _self // overrides; _self = with self; {
   };
 
   VariableMagic = buildPerlPackage rec {
-    name = "Variable-Magic-0.61";
+    name = "Variable-Magic-0.62";
     src = fetchurl {
       url = "mirror://cpan/authors/id/V/VP/VPIT/${name}.tar.gz";
-      sha256 = "b8afe92e54c72a2ed2ca1b08ce90518b855734f7d33c454d0f66f2c1ccf8a6d7";
+      sha256 = "3f9a18517e33f006a9c2fc4f43f01b54abfe6ff2eae7322424f31069296b615c";
     };
     meta = {
       homepage = http://search.cpan.org/dist/Variable-Magic/;
@@ -15827,13 +17407,12 @@ let self = _self // overrides; _self = with self; {
   };
 
   VMEC2 = buildPerlModule rec {
-    name = "VM-EC2-1.28";
+    name = "VM-EC2-1.25";
     src = fetchurl {
       url = "mirror://cpan/authors/id/L/LD/LDS/${name}.tar.gz";
-      sha256 = "b2b6b31745c57431fca0efb9b9d0b8f168d6081755e048fd9d6c4469bd108acd";
+      sha256 = "cc8002965e3a4919527a85a84100cfc3703165a449ade29e95f4e31889fbd9ad";
     };
-    buildInputs = [ ModuleBuild ];
-    propagatedBuildInputs = [ AnyEvent AnyEventCacheDNS AnyEventHTTP JSON LWP StringApprox URI XMLSimple ];
+    propagatedBuildInputs = [ AnyEventHTTP JSON StringApprox XMLSimple ];
     meta = {
       description = "Perl interface to Amazon EC2, Virtual Private Cloud, Elastic Load Balancing, Autoscaling, and Relational Database services";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
@@ -15861,7 +17440,7 @@ let self = _self // overrides; _self = with self; {
       sha256 = "6239f61b20d91dce7b21e4d4f626ab93a8f1e2f207da5015590d508cf6c66a65";
     };
     outputs = [ "out" ];
-    propagatedBuildInputs = [ CGI CSSDOM ConfigGeneral CryptSSLeay EncodeLocale HTMLParser HTTPCookies HTTPMessage LWP LWPProtocolHttps NetHTTP NetIP TermReadKey URI ];
+    propagatedBuildInputs = [ CGI CSSDOM ConfigGeneral LWP NetIP TermReadKey ];
     meta = {
       homepage = http://validator.w3.org/checklink;
       description = "A tool to check links and anchors in Web pages or full Web sites";
@@ -15886,19 +17465,34 @@ let self = _self // overrides; _self = with self; {
     doCheck = false; # performs network access
   };
 
+  WWWFormUrlEncoded = buildPerlModule rec {
+     name = "WWW-Form-UrlEncoded-0.24";
+     src = fetchurl {
+       url = mirror://cpan/authors/id/K/KA/KAZEBURO/WWW-Form-UrlEncoded-0.24.tar.gz;
+       sha256 = "04fh54zgmrlhrmdaqs2yrwqmqwk9hd737z7rnbbd438l36skn7vd";
+     };
+     buildInputs = [ JSON ];
+     meta = {
+       description = "parser and builder for application/x-www-form-urlencoded";
+       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+       homepage = "https://github.com/kazeburo/WWW-Form-UrlEncoded";
+     };
+  };
+
   WWWMechanize = buildPerlPackage {
-    name = "WWW-Mechanize-1.73";
+    name = "WWW-Mechanize-1.88";
     src = fetchurl {
-      url = mirror://cpan/authors/id/E/ET/ETHER/WWW-Mechanize-1.73.tar.gz;
-      sha256 = "1zrw8aadhwy48q51x2z2rqlkwf17bya4j4h3hy89mw783j96rmg9";
+      url = mirror://cpan/authors/id/O/OA/OALDERS/WWW-Mechanize-1.88.tar.gz;
+      sha256 = "0yd8a1zsfpbv5wr79x3iqmik9gvcd10iam9dfrdan4dri9vpxn9n";
     };
-    propagatedBuildInputs = [ HTMLForm HTMLParser HTMLTree HTTPDaemon HTTPMessage HTTPServerSimple LWP LWPUserAgent TestWarn URI ];
+    propagatedBuildInputs = [ HTMLForm HTMLTree LWP ];
     doCheck = false;
     meta = {
       homepage = https://github.com/bestpractical/www-mechanize;
       description = "Handy web browsing in a Perl object";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
+    buildInputs = [ CGI HTTPServerSimple TestDeep TestFatal TestOutput TestWarnings ];
   };
 
   WWWMechanizeCGI = buildPerlPackage {
@@ -15965,16 +17559,14 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
-  Workflow = buildPerlPackage rec {
-    name = "Workflow-1.42";
+  Workflow = buildPerlModule rec {
+    name = "Workflow-1.45";
     src = fetchurl {
       url = "mirror://cpan/authors/id/J/JO/JONASBN/${name}.tar.gz";
-      sha256 = "0d93wc9cgw862x9x5zmbx6l6326dhq8py25yqpw7nqym6yphisnc";
+      sha256 = "0w814z4j85gghzqnbxzsr60m8dbqc02yi7137sq58lhbsfshmvhx";
     };
-    buildInputs = [ DBDMock ListMoreUtils TestException ];
-    propagatedBuildInputs = [ ClassAccessor ClassFactory ClassObservable DBI
-      DateTime DateTimeFormatStrptime ExceptionClass FileSlurp LogDispatch
-      Log4Perl XMLSimple DataUUID ];
+    buildInputs = [ DBDMock ListMoreUtils PodCoverageTrustPod TestException TestKwalitee TestPod TestPodCoverage ];
+    propagatedBuildInputs = [ ClassAccessor ClassFactory ClassObservable DBI DataUUID DateTimeFormatStrptime FileSlurp LogDispatch LogLog4perl XMLSimple ];
     meta = {
       homepage = https://github.com/jonasbn/perl-workflow;
       description = "Simple, flexible system to implement workflows";
@@ -15983,15 +17575,16 @@ let self = _self // overrides; _self = with self; {
   };
 
   Wx = buildPerlPackage rec {
-    name = "Wx-0.9927";
+    name = "Wx-0.9932";
     src = fetchurl {
       url = "mirror://cpan/authors/id/M/MD/MDOOTSON/${name}.tar.gz";
-      sha256 = "1fr23nn5cvzydl8nxfv0iljn10pvwbny0nvpjx31fn2md8dvsx51";
+      sha256 = "0w0vcpk8bmklh16c0z1vxgipnmvdw7cckcmay7k7cihgb99vdz8w";
     };
-    propagatedBuildInputs = [ ExtUtilsXSpp AlienWxWidgets ];
+    propagatedBuildInputs = [ AlienWxWidgets ];
     # Testing requires an X server:
     #   Error: Unable to initialize GTK+, is DISPLAY set properly?"
     doCheck = false;
+    buildInputs = [ ExtUtilsXSpp ];
   };
 
   WxGLCanvas = buildPerlPackage rec {
@@ -16000,7 +17593,7 @@ let self = _self // overrides; _self = with self; {
       url = "mirror://cpan/authors/id/M/MB/MBARBON/${name}.tar.gz";
       sha256 = "1q4gvj4gdx4l8k4mkgiix24p9mdfy1miv7abidf0my3gy2gw5lka";
     };
-    propagatedBuildInputs = [ Wx OpenGL pkgs.libGLU ];
+    propagatedBuildInputs = [ pkgs.libGLU Wx ];
     doCheck = false;
   };
 
@@ -16024,7 +17617,7 @@ let self = _self // overrides; _self = with self; {
       url = "mirror://cpan/authors/id/S/SM/SMCCAM/${name}.tar.gz";
       sha256 = "1dq89bh6fqv7l5mbffqcismcljpq5f869bx7g8lg698zgindv5ny";
     };
-    buildInputs = [pkgs.xlibsWrapper];
+    buildInputs = [ pkgs.xlibsWrapper ];
     NIX_CFLAGS_LINK = "-lX11";
     doCheck = false; # requires an X server
   };
@@ -16035,24 +17628,20 @@ let self = _self // overrides; _self = with self; {
       url = "mirror://cpan/authors/id/C/CT/CTRONDLP/${name}.tar.gz";
       sha256 = "0jznws68skdzkhgkgcgjlj40qdyh9i75r7fw8bqzy406f19xxvnw";
     };
-    buildInputs = [pkgs.xlibsWrapper pkgs.xorg.libXtst pkgs.xorg.libXi];
+    buildInputs = [ pkgs.xlibsWrapper pkgs.xorg.libXtst pkgs.xorg.libXi ];
     NIX_CFLAGS_LINK = "-lX11 -lXext -lXtst";
     doCheck = false; # requires an X server
   };
 
   X11XCB = buildPerlPackage rec {
-    name = "X11-XCB-0.16";
+    name = "X11-XCB-0.17";
     src = fetchurl {
       url = "mirror://cpan/authors/id/M/MS/MSTPLBG/${name}.tar.gz";
-      sha256 = "14mnvr1001py2z1n43l18yaw0plwvjg5pcsyc7k81sa0amw8ahzw";
+      sha256 = "12qyf98s5hbybmh0mblpz50c00i68srq73w5rw31m2dhclj8n96q";
     };
     AUTOMATED_TESTING = false;
-    buildInputs = [
-      ExtUtilsDepends ExtUtilsPkgConfig DataDump
-      XMLSimple XMLDescent TestDeep TestException
-      pkgs.xorg.libxcb pkgs.xorg.xcbproto pkgs.xorg.xcbutil pkgs.xorg.xcbutilwm
-    ];
-    propagatedBuildInputs = [ XSObjectMagic Mouse MouseXNativeTraits TryTiny ];
+    buildInputs = [ pkgs.xorg.libxcb pkgs.xorg.xcbproto pkgs.xorg.xcbutil pkgs.xorg.xcbutilwm ExtUtilsDepends ExtUtilsPkgConfig TestDeep TestException XSObjectMagic ];
+    propagatedBuildInputs = [ DataDump MouseXNativeTraits XMLDescent XMLSimple ];
     NIX_CFLAGS_LINK = [ "-lxcb" "-lxcb-util" "-lxcb-xinerama" "-lxcb-icccm" ];
     doCheck = false; # requires an X server
     meta = {
@@ -16061,7 +17650,7 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
-  XMLDescent = buildPerlPackage rec {
+  XMLDescent = buildPerlModule rec {
     name = "XML-Descent-1.04";
     src = fetchurl {
       url = "mirror://cpan/authors/id/A/AN/ANDYA/${name}.tar.gz";
@@ -16076,12 +17665,12 @@ let self = _self // overrides; _self = with self; {
   };
 
   XMLDOM = buildPerlPackage rec {
-    name = "XML-DOM-1.45";
+    name = "XML-DOM-1.46";
     src = fetchurl {
       url = "mirror://cpan/authors/id/T/TJ/TJMATHER/${name}.tar.gz";
-      sha256 = "1jvqfi0jm8wh80rd5h9c3k72car8l7x1jywj8rck8w6rm1mlxldy";
+      sha256 = "0phpkc4li43m2g44hdcvyxzy9pymqwlqhh5hwp2xc0cv8l5lp8lb";
     };
-    propagatedBuildInputs = [XMLRegExp XMLParser LWP libxml_perl];
+    propagatedBuildInputs = [ XMLRegExp libxml_perl ];
   };
 
   XMLFilterBufferText = buildPerlPackage {
@@ -16147,12 +17736,12 @@ let self = _self // overrides; _self = with self; {
   };
 
   XMLLibXMLSimple = buildPerlPackage {
-    name = "XML-LibXML-Simple-0.93";
+    name = "XML-LibXML-Simple-0.99";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MA/MARKOV/XML-LibXML-Simple-0.93.tar.gz;
-      sha256 = "f2eb1c1523d6414cf2a646a289b0325b489954382c862928d165a03a7cce767c";
+      url = mirror://cpan/authors/id/M/MA/MARKOV/XML-LibXML-Simple-0.99.tar.gz;
+      sha256 = "14fe45c9fcb36c1cf14ac922da4439f1f83d451a5e70aa7177cb6edb705c9e44";
     };
-    propagatedBuildInputs = [ FileSlurp XMLLibXML ];
+    propagatedBuildInputs = [ XMLLibXML ];
     meta = {
       description = "XML::LibXML based XML::Simple clone";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
@@ -16160,43 +17749,44 @@ let self = _self // overrides; _self = with self; {
   };
 
   XMLLibXSLT = buildPerlPackage rec {
-    name = "XML-LibXSLT-1.89";
+    name = "XML-LibXSLT-1.96";
     src = fetchurl {
       url = "mirror://cpan/authors/id/S/SH/SHLOMIF/${name}.tar.gz";
-      sha256 = "0py7ll5vj2k977l4r2g8bbz0hdy0hhkdq0mzblrwizify0825b12";
+      sha256 = "0wyl8klgr65j8y8fzgwz9jlvfjwvxazna8j3dg9gksd2v973fpia";
     };
     buildInputs = [ pkgs.zlib pkgs.libxml2 pkgs.libxslt ];
     propagatedBuildInputs = [ XMLLibXML ];
   };
 
   XMLNamespaceSupport = buildPerlPackage {
-    name = "XML-NamespaceSupport-1.11";
+    name = "XML-NamespaceSupport-1.12";
     src = fetchurl {
-      url = mirror://cpan/authors/id/P/PE/PERIGRIN/XML-NamespaceSupport-1.11.tar.gz;
-      sha256 = "1sklgcldl3w6gn706vx1cgz6pm4y5lfgsjxnfqyk20pilgq530bd";
+      url = mirror://cpan/authors/id/P/PE/PERIGRIN/XML-NamespaceSupport-1.12.tar.gz;
+      sha256 = "1vz5pbi4lm5fhq2slrs2hlp6bnk29863abgjlcx43l4dky2rbsa7";
     };
   };
 
   XMLParser = buildPerlPackage {
-    name = "XML-Parser-2.41";
+    name = "XML-Parser-2.44";
     src = fetchurl {
-      url = mirror://cpan/authors/id/T/TO/TODDR/XML-Parser-2.41.tar.gz;
-      sha256 = "1sadi505g5qmxr36lgcbrcrqh3a5gcdg32b405gnr8k54b6rg0dl";
+      url = mirror://cpan/authors/id/T/TO/TODDR/XML-Parser-2.44.tar.gz;
+      sha256 = "05ij0g6bfn27iaggxf8nl5rhlwx6f6p6xmdav6rjcly3x5zd1s8s";
     };
     patchPhase = if stdenv.isCygwin then ''
       sed -i"" -e "s@my \$compiler = File::Spec->catfile(\$path, \$cc\[0\]) \. \$Config{_exe};@my \$compiler = File::Spec->catfile(\$path, \$cc\[0\]) \. (\$^O eq 'cygwin' ? \"\" : \$Config{_exe});@" inc/Devel/CheckLib.pm
     '' else null;
     makeMakerFlags = "EXPATLIBPATH=${pkgs.expat.out}/lib EXPATINCPATH=${pkgs.expat.dev}/include";
+    propagatedBuildInputs = [ LWP ];
   };
 
   XMLXPath = buildPerlPackage rec {
-    name = "XML-XPath-1.37";
+    name = "XML-XPath-1.42";
     src = fetchurl {
       url = "mirror://cpan/authors/id/M/MA/MANWAR/${name}.tar.gz";
-      sha256 = "b8ae1196184f794528a9727988dce944ecec7155e6ee1c433b17e12737a22725";
+      sha256 = "9e6ac67c2cead5f918a060b8b9ccdbdcaa6d610be8517bba42a96cd56748b512";
     };
     buildInputs = [ PathTiny ];
-    propagatedBuildInputs = [ XMLParser ];
+    propagatedBuildInputs = [ ScalarListUtils XMLParser ];
     meta = {
       description = "Modules for parsing and evaluating XPath statements";
       license = stdenv.lib.licenses.artistic2;
@@ -16224,14 +17814,13 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
-  XMLRSS = buildPerlPackage {
-    name = "XML-RSS-1.57";
+  XMLRSS = buildPerlModule {
+    name = "XML-RSS-1.60";
     src = fetchurl {
-      url = mirror://cpan/authors/id/S/SH/SHLOMIF/XML-RSS-1.57.tar.gz;
-      sha256 = "c540a1aa7445bf611635537015590575c90c2b07c19529537677a4bcf3a4e6ae";
+      url = mirror://cpan/authors/id/S/SH/SHLOMIF/XML-RSS-1.60.tar.gz;
+      sha256 = "4b3359878bb1a2bc06dae7ed17b00143a2b89c814b8b12f6e2780f35b1528677";
     };
-    buildInputs = [ TestManifest ];
-    propagatedBuildInputs = [ DateTime DateTimeFormatMail DateTimeFormatW3CDTF HTMLParser XMLParser ];
+    propagatedBuildInputs = [ DateTimeFormatMail DateTimeFormatW3CDTF XMLParser ];
     meta = {
       homepage = http://perl-rss.sourceforge.net/;
       description = "Creates and updates RSS files";
@@ -16240,22 +17829,22 @@ let self = _self // overrides; _self = with self; {
   };
 
   XMLSAX = buildPerlPackage {
-    name = "XML-SAX-0.96";
+    name = "XML-SAX-1.00";
     src = fetchurl {
-      url = mirror://cpan/authors/id/G/GR/GRANTM/XML-SAX-0.96.tar.gz;
-      sha256 = "024fbjgg6s87j0y3yik55plzf7d6qpn7slwd03glcb54mw9zdglv";
+      url = mirror://cpan/authors/id/G/GR/GRANTM/XML-SAX-1.00.tar.gz;
+      sha256 = "1qra9k3wszjxvsgbragl55z3qba4nri0ipmjaxfib4l6xxj6bsj5";
     };
-    propagatedBuildInputs = [XMLNamespaceSupport];
+    propagatedBuildInputs = [ XMLNamespaceSupport XMLSAXBase ];
     postInstall = ''
       perl -MXML::SAX -e "XML::SAX->add_parser(q(XML::SAX::PurePerl))->save_parsers()"
       '';
   };
 
   XMLSAXBase = buildPerlPackage {
-    name = "XML-SAX-Base-1.08";
+    name = "XML-SAX-Base-1.09";
     src = fetchurl {
-      url = mirror://cpan/authors/id/G/GR/GRANTM/XML-SAX-Base-1.08.tar.gz;
-      sha256 = "666270318b15f88b8427e585198abbc19bc2e6ccb36dc4c0a4f2d9807330219e";
+      url = mirror://cpan/authors/id/G/GR/GRANTM/XML-SAX-Base-1.09.tar.gz;
+      sha256 = "66cb355ba4ef47c10ca738bd35999723644386ac853abbeb5132841f5e8a2ad0";
     };
     meta = {
       description = "Base class for SAX Drivers and Filters";
@@ -16264,11 +17853,24 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
+  XMLSAXExpat = buildPerlPackage rec {
+     name = "XML-SAX-Expat-0.51";
+     src = fetchurl {
+       url = mirror://cpan/authors/id/B/BJ/BJOERN/XML-SAX-Expat-0.51.tar.gz;
+       sha256 = "0gy8h2bvvvlxychwsb99ikdh5cqpk6sqc073jk2b4zffs09n40ac";
+     };
+     propagatedBuildInputs = [ XMLParser XMLSAX ];
+     meta = {
+       description = "SAX Driver for Expat";
+       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+     };
+  };
+
   XMLSAXWriter = buildPerlPackage {
-    name = "XML-SAX-Writer-0.56";
+    name = "XML-SAX-Writer-0.57";
     src = fetchurl {
-      url = mirror://cpan/authors/id/P/PE/PERIGRIN/XML-SAX-Writer-0.56.tar.gz;
-      sha256 = "d073f7a25072c8150317b86b99d07031316a15bffab99e63e5afe591c8217d03";
+      url = mirror://cpan/authors/id/P/PE/PERIGRIN/XML-SAX-Writer-0.57.tar.gz;
+      sha256 = "3d61d07ef43b0126f5b4de4f415a256fa859fa88dc4fdabaad70b7be7c682cf0";
     };
     propagatedBuildInputs = [ XMLFilterBufferText XMLNamespaceSupport XMLSAXBase ];
     meta = {
@@ -16278,11 +17880,11 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
-  XMLSemanticDiff = buildPerlPackage {
-    name = "XML-SemanticDiff-1.0000";
+  XMLSemanticDiff = buildPerlModule {
+    name = "XML-SemanticDiff-1.0006";
     src = fetchurl {
-      url = mirror://cpan/authors/id/S/SH/SHLOMIF/XML-SemanticDiff-1.0000.tar.gz;
-      sha256 = "05rzm433vvndh49k8p4gqnyw4x4lxa4zr6qdlrlgplqkxvhvk6jk";
+      url = mirror://cpan/authors/id/S/SH/SHLOMIF/XML-SemanticDiff-1.0006.tar.gz;
+      sha256 = "1z0lkb7xzhw9calz4pbwzry2lqqpy6pw6pvfn2gv70ry1xqycr0k";
     };
     propagatedBuildInputs = [ XMLParser ];
     meta = {
@@ -16292,12 +17894,12 @@ let self = _self // overrides; _self = with self; {
   };
 
   XMLSimple = buildPerlPackage {
-    name = "XML-Simple-2.20";
+    name = "XML-Simple-2.25";
     src = fetchurl {
-      url = mirror://cpan/authors/id/G/GR/GRANTM/XML-Simple-2.20.tar.gz;
-      sha256 = "0jj3jiray1l4pi9wkjcpxjc3v431whdwx5aqnhgdm4i7h3817zsw";
+      url = mirror://cpan/authors/id/G/GR/GRANTM/XML-Simple-2.25.tar.gz;
+      sha256 = "1y6vh328zrh085d40852v4ij2l4g0amxykswxd1nfhd2pspds7sk";
     };
-    propagatedBuildInputs = [XMLParser];
+    propagatedBuildInputs = [ XMLSAXExpat ];
   };
 
   XMLTokeParser = buildPerlPackage rec {
@@ -16327,12 +17929,12 @@ let self = _self // overrides; _self = with self; {
   };
 
   XMLTwig = buildPerlPackage rec {
-    name = "XML-Twig-3.49";
+    name = "XML-Twig-3.52";
     src = fetchurl {
       url = "mirror://cpan/authors/id/M/MI/MIROD/${name}.tar.gz";
-      sha256 = "00af6plljrx2dc0js60975wqp725ka4i3gzs4y6gmzkpfj5fy39y";
+      sha256 = "1bc0hrz4jp6199hi29sdxmb9gyy45whla9hd19yqfasgq8k5ixzy";
     };
-    propagatedBuildInputs = [XMLParser];
+    propagatedBuildInputs = [ XMLParser ];
     doCheck = false;  # requires lots of extra packages
   };
 
@@ -16342,7 +17944,6 @@ let self = _self // overrides; _self = with self; {
       url = mirror://cpan/authors/id/S/SA/SAMTREGAR/XML-Validator-Schema-1.10.tar.gz;
       sha256 = "6142679580150a891f7d32232b5e31e2b4e5e53e8a6fa9cbeecb5c23814f1422";
     };
-    buildInputs = [ FileSlurpTiny ];
     propagatedBuildInputs = [ TreeDAGNode XMLFilterBufferText XMLSAX ];
     meta = {
       description = "Validate XML against a subset of W3C XML Schema";
@@ -16358,10 +17959,10 @@ let self = _self // overrides; _self = with self; {
   };
 
   XSLoader = buildPerlPackage {
-    name = "XSLoader-0.20";
+    name = "XSLoader-0.24";
     src = fetchurl {
-      url = mirror://cpan/authors/id/S/SA/SAPER/XSLoader-0.20.tar.gz;
-      sha256 = "020fyjhfp385nlkp217fm511sbjz768vqk1lmxz99k4bah740y7i";
+      url = mirror://cpan/authors/id/S/SA/SAPER/XSLoader-0.24.tar.gz;
+      sha256 = "0pyqr12jsqagna75fm2gijfzw06wy1hrh5chn9hwnmcfddda66g8";
     };
     meta = {
       homepage = https://metacpan.org/module/Math::BigInt;
@@ -16376,7 +17977,7 @@ let self = _self // overrides; _self = with self; {
       url = "mirror://cpan/authors/id/F/FL/FLORA/${name}.tar.gz";
       sha256 = "03fghj7hq0fiicmfdxhmzfm4mzv7s097pgkd32ji7jnljvhm9six";
     };
-    buildInputs = [ ExtUtilsDepends TestFatal Testuseok ];
+    buildInputs = [ ExtUtilsDepends TestFatal ];
     meta = {
       description = "XS pointer backed objects using sv_magic";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
@@ -16384,10 +17985,10 @@ let self = _self // overrides; _self = with self; {
   };
 
   YAML = buildPerlPackage rec {
-    name = "YAML-1.15";
+    name = "YAML-1.24";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/I/IN/INGY/${name}.tar.gz";
-      sha256 = "06wx1pzc2sb7vidlp17g1x11rrz57ch8q68gjj8fbgd75wr9bx40";
+      url = mirror://cpan/authors/id/T/TI/TINITA/YAML-1.24.tar.gz;
+      sha256 = "1dpzgnjbd8yvf94vf45cmyj5bc6vrm6bchhx9xqwxqd5f9d093dm";
     };
 
     buildInputs = [ TestBase TestYAML ];
@@ -16400,10 +18001,10 @@ let self = _self // overrides; _self = with self; {
   };
 
   YAMLSyck = buildPerlPackage rec {
-    name = "YAML-Syck-1.29";
+    name = "YAML-Syck-1.30";
     src = fetchurl {
       url = "mirror://cpan/authors/id/T/TO/TODDR/${name}.tar.gz";
-      sha256 = "0ff9rzb1gg12iiizjqv6bsxdxk39g3f6sa18znha4476acv7nmnk";
+      sha256 = "1iwd4pbwg7m1vwc74s3f3hk9yyqmhn1ssrbh9466lmbnc4hl9cv2";
     };
     meta = {
       homepage = http://search.cpan.org/dist/YAML-Syck;
@@ -16413,19 +18014,20 @@ let self = _self // overrides; _self = with self; {
   };
 
   YAMLTiny = buildPerlPackage rec {
-    name = "YAML-Tiny-1.69";
+    name = "YAML-Tiny-1.73";
     src = fetchurl {
       url = "mirror://cpan/authors/id/E/ET/ETHER/${name}.tar.gz";
-      sha256 = "14pmhksj68ii3rf4dza8im1i6jw3zafxkvxww5xlz7ib95cv135w";
+      sha256 = "0i3p4nz8ysrsrs6vlzc6gkjcfpcaf05xjc7lwbjkw7lg5shmycdw";
     };
   };
 
   YAMLLibYAML = buildPerlPackage rec {
-    name = "YAML-LibYAML-0.59";
+    name = "YAML-LibYAML-0.69";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/I/IN/INGY/${name}.tar.gz";
-      sha256 = "0m4zr6gm5rzwvxwd2x7rklr659jl8gsa5bxc5h25904nbvpj9x4x";
+      url = "mirror://cpan/authors/id/T/TI/TINITA/${name}.tar.gz";
+      sha256 = "06msvj3vmjszl5zj1k7g47ll0kkds9gdb5sky0q27lh4zw1vlj33";
     };
+    doCheck = false;
   };
 
   WebServiceLinode = buildPerlModule rec {
@@ -16435,7 +18037,7 @@ let self = _self // overrides; _self = with self; {
       sha256 = "66a315016999c0d2043caae86e664dad10c6613708f33a2f56aae8030326c509";
     };
     buildInputs = [ ModuleBuildTiny ];
-    propagatedBuildInputs = [ JSON LWP LWPProtocolhttps ];
+    propagatedBuildInputs = [ JSON LWPProtocolHttps ];
     meta = {
       homepage = https://github.com/mikegrb/WebService-Linode;
       description = "Perl Interface to the Linode.com API";
diff --git a/pkgs/top-level/php-packages.nix b/pkgs/top-level/php-packages.nix
index 0e00783c61a..02d9ec51b3d 100644
--- a/pkgs/top-level/php-packages.nix
+++ b/pkgs/top-level/php-packages.nix
@@ -383,11 +383,11 @@ let
 
   php-cs-fixer = pkgs.stdenv.mkDerivation rec {
     name = "php-cs-fixer-${version}";
-    version = "2.10.3";
+    version = "2.11.1";
 
     src = pkgs.fetchurl {
       url = "https://github.com/FriendsOfPHP/PHP-CS-Fixer/releases/download/v${version}/php-cs-fixer.phar";
-      sha256 = "0ir72sns8baz825dkvffr5rx1f261phhbc6d9v0ncc4xkhr5zjnh";
+      sha256 = "1270s5y7bgcml452lngq4fqn3a1mx15gfgmgcczjiiv0fxir446b";
     };
 
     phases = [ "installPhase" ];
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index 7969765a95e..99e22539d76 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -66,6 +66,9 @@ let
     toPythonModule = x: x; # Application does not provide modules.
   }));
 
+  # See build-setupcfg/default.nix for documentation.
+  buildSetupcfg = import ../build-support/build-setupcfg self;
+
   graphiteVersion = "1.0.2";
 
   fetchPypi = makeOverridable( {format ? "setuptools", ... } @attrs:
@@ -98,6 +101,9 @@ let
   # providing Python modules.
   makePythonPath = drvs: stdenv.lib.makeSearchPath python.sitePackages (requiredPythonModules drvs);
 
+  removePythonPrefix = name:
+    removePrefix namePrefix name;
+
   # Convert derivation to a Python module.
   toPythonModule = drv:
     drv.overrideAttrs( oldAttrs: {
@@ -109,14 +115,28 @@ let
       };
     });
 
+  # Convert a Python library to an application.
+  toPythonApplication = drv:
+    drv.overrideAttrs( oldAttrs: {
+      passthru = (oldAttrs.passthru or {}) // {
+        # Remove Python prefix from name so we have a "normal" name.
+        # While the prefix shows up in the store path, it won't be
+        # used by `nix-env`.
+        name = removePythonPrefix oldAttrs.name;
+        pythonModule = false;
+      };
+    });
+
   disabledIf = x: drv:
-    if x then throw "${removePrefix namePrefix (drv.pname or drv.name)} not supported for interpreter ${python.executable}" else drv;
+    if x then throw "${removePythonPrefix (drv.pname or drv.name)} not supported for interpreter ${python.executable}" else drv;
 
 in {
 
   inherit python bootstrapped-pip pythonAtLeast pythonOlder isPy26 isPy27 isPy33 isPy34 isPy35 isPy36 isPyPy isPy3k buildPythonPackage buildPythonApplication;
   inherit fetchPypi callPackage;
   inherit hasPythonModule requiredPythonModules makePythonPath disabledIf;
+  inherit toPythonModule toPythonApplication;
+  inherit buildSetupcfg;
 
   # helpers
 
@@ -217,6 +237,8 @@ in {
 
   email_validator = callPackage ../development/python-modules/email-validator { };
 
+  ewmh = callPackage ../development/python-modules/ewmh { };
+
   dbus-python = callPackage ../development/python-modules/dbus {
     dbus = pkgs.dbus;
   };
@@ -241,14 +263,20 @@ in {
     hdf5 = pkgs.hdf5-mpi;
   };
 
+  ha-ffmpeg = callPackage ../development/python-modules/ha-ffmpeg { };
+
   habanero = callPackage ../development/python-modules/habanero { };
 
   i3ipc = callPackage ../development/python-modules/i3ipc { };
 
   intelhex = callPackage ../development/python-modules/intelhex { };
 
+  jira = callPackage ../development/python-modules/jira { };
+
   lmtpd = callPackage ../development/python-modules/lmtpd { };
 
+  logster = callPackage ../development/python-modules/logster { };
+
   mpi4py = callPackage ../development/python-modules/mpi4py {
     mpi = pkgs.openmpi;
   };
@@ -275,6 +303,8 @@ in {
 
   oauthenticator = callPackage ../development/python-modules/oauthenticator { };
 
+  outcome = callPackage ../development/python-modules/outcome {};
+
   plantuml = callPackage ../tools/misc/plantuml { };
 
   Pmw = callPackage ../development/python-modules/Pmw { };
@@ -285,7 +315,13 @@ in {
 
   pyamf = callPackage ../development/python-modules/pyamf { };
 
-  pyatspi = disabledIf (!isPy3k) (callPackage ../development/python-modules/pyatspi { });
+  pyarrow = callPackage ../development/python-modules/pyarrow {
+    inherit (pkgs) arrow-cpp cmake pkgconfig;
+  };
+
+  pyatspi = callPackage ../development/python-modules/pyatspi { };
+
+  pyaxmlparser = callPackage ../development/python-modules/pyaxmlparser { };
 
   pycairo = callPackage ../development/python-modules/pycairo { };
 
@@ -319,6 +355,8 @@ in {
 
   pygobject3 = callPackage ../development/python-modules/pygobject/3.nix { };
 
+  pygtail = callPackage ../development/python-modules/pygtail { };
+
   pygtk = callPackage ../development/python-modules/pygtk { libglade = null; };
 
   pygtksourceview = callPackage ../development/python-modules/pygtksourceview { };
@@ -329,7 +367,7 @@ in {
 
   pyjwkest = callPackage ../development/python-modules/pyjwkest { };
 
-  pykde4 = callPackage ../development/python-modules/pykde4/default.nix {
+  pykde4 = callPackage ../development/python-modules/pykde4 {
     inherit (self) pyqt4;
     callPackage = pkgs.callPackage;
   };
@@ -380,6 +418,8 @@ in {
 
   rhpl = disabledIf isPy3k (callPackage ../development/python-modules/rhpl {});
 
+  rlp = callPackage ../development/python-modules/rlp { };
+
   rx = callPackage ../development/python-modules/rx { };
 
   salmon-mail = callPackage ../development/python-modules/salmon-mail { };
@@ -398,8 +438,14 @@ in {
     hdf5 = pkgs.hdf5.override { zlib = pkgs.zlib; };
   };
 
+  trustme = callPackage ../development/python-modules/trustme {};
+
+  trio = callPackage ../development/python-modules/trio {};
+
   tokenserver = callPackage ../development/python-modules/tokenserver {};
 
+  toml = callPackage ../development/python-modules/toml { };
+
   unifi = callPackage ../development/python-modules/unifi { };
 
   pyunbound = callPackage ../tools/networking/unbound/python.nix { };
@@ -430,20 +476,22 @@ in {
 
   aiohttp-cors = callPackage ../development/python-modules/aiohttp/cors.nix { };
 
+  aiohttp-jinja2 = callPackage ../development/python-modules/aiohttp-jinja2 { };
+
+  ajpy = callPackage ../development/python-modules/ajpy { };
+
   alabaster = callPackage ../development/python-modules/alabaster {};
 
   alembic = callPackage ../development/python-modules/alembic {};
 
+  allpairspy = callPackage ../development/python-modules/allpairspy { };
+
   ansicolors = callPackage ../development/python-modules/ansicolors {};
 
   aniso8601 = callPackage ../development/python-modules/aniso8601 {};
 
   asgiref = callPackage ../development/python-modules/asgiref { };
 
-  asgi_ipc = callPackage ../development/python-modules/asgi_ipc { };
-
-  asgi_redis = callPackage ../development/python-modules/asgi_redis { };
-
   python-editor = callPackage ../development/python-modules/python-editor { };
 
   python-gnupg = callPackage ../development/python-modules/python-gnupg {};
@@ -452,111 +500,21 @@ in {
 
   python-sybase = callPackage ../development/python-modules/sybase {};
 
-  alot = buildPythonPackage rec {
-    rev = "0.5.1";
-    name = "alot-${rev}";
-
-    disabled = isPy3k;
-
-    src = pkgs.fetchFromGitHub {
-      owner = "pazz";
-      repo = "alot";
-      inherit rev;
-      sha256 = "0ipkhc5wllfq78lg47aiq4qih0yjq8ad9xkrbgc88xk8pk9166i8";
-    };
-
-    postPatch = ''
-      substituteInPlace alot/defaults/alot.rc.spec \
-        --replace "themes_dir = string(default=None)" \
-                  "themes_dir = string(default='$out/share/themes')"
-    '';
-
-    propagatedBuildInputs =
-      [ self.notmuch
-        self.urwid
-        self.urwidtrees
-        self.twisted
-        self.python_magic
-        self.configobj
-        self.pygpgme
-        self.mock
-      ];
-
-    postInstall = ''
-      mkdir -p $out/share
-      cp -r extra/themes $out/share
-      wrapProgram $out/bin/alot \
-        --prefix LD_LIBRARY_PATH : '${pkgs.lib.makeLibraryPath [ pkgs.notmuch pkgs.file pkgs.gpgme ]}'
-    '';
-
-    meta = {
-      homepage = https://github.com/pazz/alot;
-      description = "Terminal MUA using notmuch mail";
-      platforms = platforms.linux;
-      maintainers = with maintainers; [ garbas ];
-    };
-  };
+  alot = callPackage ../development/python-modules/alot {};
 
-  anyjson = buildPythonPackage rec {
-    name = "anyjson-0.3.3";
-
-    # The tests are written in a python2 syntax but anyjson is python3 valid
-    doCheck = !isPy3k;
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/a/anyjson/${name}.tar.gz";
-      sha256 = "37812d863c9ad3e35c0734c42e0bf0320ce8c3bed82cd20ad54cb34d158157ba";
-    };
-
-    buildInputs = with self; [ self.nose ];
-
-    meta = {
-      homepage = https://pypi.python.org/pypi/anyjson/;
-      description = "Wrapper that selects the best available JSON implementation";
-    };
-  };
-
-  amqp = buildPythonPackage rec {
-    name = "amqp-${version}";
-    version = "2.1.4";
-    disabled = pythonOlder "2.6";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/a/amqp/${name}.tar.gz";
-      sha256 = "1ybywzkd840v1qvb1p2bs08js260vq1jscjg8182hv7bmwacqy0k";
-    };
-
-    buildInputs = with self; [ pytest case ];
-    propagatedBuildInputs = with self; [ vine ];
-
-    meta = {
-      homepage = https://github.com/celery/py-amqp;
-      description = "Python client for the Advanced Message Queuing Procotol (AMQP). This is a fork of amqplib which is maintained by the Celery project";
-      license = licenses.lgpl21;
-    };
-  };
+  anyjson = callPackage ../development/python-modules/anyjson {};
 
+  amqp = callPackage ../development/python-modules/amqp {};
 
   amqplib = callPackage ../development/python-modules/amqplib {};
 
+  antlr4-python3-runtime = callPackage ../development/python-modules/antlr4-python3-runtime {};
+
   apipkg = callPackage ../development/python-modules/apipkg {};
 
   appdirs = callPackage ../development/python-modules/appdirs { };
 
-  application = buildPythonPackage rec {
-    pname = "python-application";
-    name = "${pname}-${version}";
-    version = "2.0.2";
-    disabled = isPy3k;
-
-    src = pkgs.fetchdarcs {
-      url = "http://devel.ag-projects.com/repositories/${pname}";
-      rev = "release-${version}";
-      sha256 = "19dszv44py8qrq0jcjdycxpa7z2p8hi3ijq9gnqdsazbbjzf9svn";
-    };
-    buildInputs = with self; [ zope_interface ];
-
-  };
+  application = callPackage ../development/python-modules/application { };
 
   appnope = buildPythonPackage rec {
     version = "0.1.0";
@@ -579,22 +537,7 @@ in {
 
   astor = callPackage ../development/python-modules/astor {};
 
-  asyncio = if (pythonAtLeast "3.3") then buildPythonPackage rec {
-    name = "asyncio-${version}";
-    version = "3.4.3";
-
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/a/asyncio/${name}.tar.gz";
-      sha256 = "0hfbqwk9y0bbfgxzg93s2wyk6gcjsdxlr5jwy97hx64ppkw0ydl3";
-    };
-
-    meta = {
-      description = "Reference implementation of PEP 3156";
-      homepage = http://www.python.org/dev/peps/pep-3156;
-      license = licenses.free;
-    };
-  } else null;
+  asyncio = callPackage ../development/python-modules/asyncio {};
 
   python-fontconfig = callPackage ../development/python-modules/python-fontconfig { };
 
@@ -622,87 +565,28 @@ in {
     gui = false;
   };
 
+  deluge-client = callPackage ../development/python-modules/deluge-client { };
 
   arrow = callPackage ../development/python-modules/arrow { };
 
-  async = buildPythonPackage rec {
-    name = "async-0.6.1";
-    disabled = isPy3k;
-    meta.maintainers = with maintainers; [ ];
-
-    buildInputs = with self; [ pkgs.zlib ];
-    doCheck = false;
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/a/async/${name}.tar.gz";
-      sha256 = "1lfmjm8apy9qpnpbq8g641fd01qxh9jlya5g2d6z60vf8p04rla1";
-    };
-  };
-
   asynctest = callPackage ../development/python-modules/asynctest { };
 
   async-timeout = callPackage ../development/python-modules/async_timeout { };
 
-  asn1ate = callPackage ../development/python-modules/asn1ate { };
+  async_generator = callPackage ../development/python-modules/async_generator { };
 
-  atomiclong = buildPythonPackage rec {
-    version = "0.1.1";
-    name = "atomiclong-${version}";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/a/atomiclong/atomiclong-${version}.tar.gz";
-      sha256 = "1gjbc9lvpkgg8vj7dspif1gz9aq4flkhxia16qj6yvb7rp27h4yb";
-    };
-    buildInputs = with self; [ pytest ];
-    propagatedBuildInputs = with self; [ cffi ];
-
-    meta = {
-      description = "Long data type with atomic operations using CFFI";
-      homepage = https://github.com/dreid/atomiclong;
-      license = licenses.mit;
-      maintainers = with maintainers; [ robbinch ];
-    };
-
-  };
+  asn1ate = callPackage ../development/python-modules/asn1ate { };
 
-  atomicwrites = buildPythonPackage rec {
-    version = "0.1.9";
-    name = "atomicwrites-${version}";
+  atomiclong = callPackage ../development/python-modules/atomiclong { };
 
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/a/atomicwrites/atomicwrites-${version}.tar.gz";
-      sha256 = "08s05h211r07vs66r4din3swrbzb344vli041fihpg34q3lcxpvw";
-    };
-
-    meta = {
-      description = "Atomic file writes on POSIX";
-      homepage = https://pypi.python.org/pypi/atomicwrites/0.1.0;
-      maintainers = with maintainers; [ matthiasbeyer ];
-    };
-
-  };
+  atomicwrites = callPackage ../development/python-modules/atomicwrites { };
 
   # argparse is part of stdlib in 2.7 and 3.2+
   argparse = null;
 
   astroid = callPackage ../development/python-modules/astroid { };
 
-  attrdict = buildPythonPackage (rec {
-    name = "attrdict-2.0.0";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/a/attrdict/${name}.tar.gz";
-      sha256 = "86aeb6d3809e0344409f8148d7cac9eabce5f0b577c160b5e90d10df3f8d2ad3";
-    };
-
-    propagatedBuildInputs = with self; [ coverage nose six ];
-
-    meta = {
-      description = "A dict with attribute-style access";
-      homepage = https://github.com/bcj/AttrDict;
-      license = licenses.mit;
-    };
-  });
+  attrdict = callPackage ../development/python-modules/attrdict { };
 
   attrs = callPackage ../development/python-modules/attrs { };
 
@@ -755,60 +639,15 @@ in {
     };
   };
 
-  avro = buildPythonPackage (rec {
-    name = "avro-1.7.6";
-
-    disabled = isPy3k;
+  avro = callPackage ../development/python-modules/avro {};
 
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/a/avro/${name}.tar.gz";
-      sha256 = "edf14143cabb2891f05a73d60a57a9fc5a9ebd305c2188abb3f5db777c707ad5";
-    };
-
-    meta = {
-      description = "A serialization and RPC framework";
-      homepage = "https://pypi.python.org/pypi/avro/";
-    };
-  });
-
-  avro3k = pkgs.lowPrio (buildPythonPackage (rec {
-    name = "avro3k-1.7.7-SNAPSHOT";
-
-    disabled = (!isPy3k);
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/a/avro3k/${name}.tar.gz";
-      sha256 = "15ahl0irwwj558s964abdxg4vp6iwlabri7klsm2am6q5r0ngsky";
-    };
-
-    doCheck = false;        # No such file or directory: './run_tests.py
-
-    meta = {
-      description = "A serialization and RPC framework";
-      homepage = "https://pypi.python.org/pypi/avro3k/";
-    };
-  }));
+  avro3k = callPackage ../development/python-modules/avro3k {};
 
   python-slugify = callPackage ../development/python-modules/python-slugify { };
 
   awesome-slugify = callPackage ../development/python-modules/awesome-slugify {};
 
-  noise = buildPythonPackage rec {
-    name = "noise-${version}";
-    version = "1.2.2";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/n/noise/${name}.tar.gz";
-      sha256 = "0rcv40dcshqpchwkdlhsv3n68h9swm9fh4d1cgzr2hsp6rs7k8jp";
-    };
-
-    meta = with stdenv.lib; {
-      homepage = "https://github.com/caseman/noise";
-      description = "Native-code and shader implementations of Perlin noise";
-      license = licenses.mit;
-      platforms = platforms.all;
-    };
-  };
+  noise = callPackage ../development/python-modules/noise {};
 
   azure = buildPythonPackage rec {
     version = "0.11.0";
@@ -824,7 +663,7 @@ in {
 
     meta = {
       description = "Microsoft Azure SDK for Python";
-      homepage = "http://azure.microsoft.com/en-us/develop/python/";
+      homepage = "https://azure.microsoft.com/en-us/develop/python/";
       license = licenses.asl20;
       maintainers = with maintainers; [ olcai ];
     };
@@ -839,7 +678,7 @@ in {
     };
     meta = {
       description = "Microsoft Azure SDK for Python";
-      homepage = "http://azure.microsoft.com/en-us/develop/python/";
+      homepage = "https://azure.microsoft.com/en-us/develop/python/";
       license = licenses.asl20;
       maintainers = with maintainers; [ olcai ];
     };
@@ -859,7 +698,7 @@ in {
     '';
     meta = {
       description = "Microsoft Azure SDK for Python";
-      homepage = "http://azure.microsoft.com/en-us/develop/python/";
+      homepage = "https://azure.microsoft.com/en-us/develop/python/";
       license = licenses.asl20;
       maintainers = with maintainers; [ olcai ];
     };
@@ -879,7 +718,7 @@ in {
     '';
     meta = {
       description = "Microsoft Azure SDK for Python";
-      homepage = "http://azure.microsoft.com/en-us/develop/python/";
+      homepage = "https://azure.microsoft.com/en-us/develop/python/";
       license = licenses.asl20;
       maintainers = with maintainers; [ olcai ];
     };
@@ -904,7 +743,7 @@ in {
     propagatedBuildInputs = with self; [ azure-mgmt-common ];
     meta = {
       description = "Microsoft Azure SDK for Python";
-      homepage = "http://azure.microsoft.com/en-us/develop/python/";
+      homepage = "https://azure.microsoft.com/en-us/develop/python/";
       license = licenses.asl20;
       maintainers = with maintainers; [ olcai ];
     };
@@ -929,7 +768,7 @@ in {
     propagatedBuildInputs = with self; [ azure-mgmt-common ];
     meta = {
       description = "Microsoft Azure SDK for Python";
-      homepage = "http://azure.microsoft.com/en-us/develop/python/";
+      homepage = "https://azure.microsoft.com/en-us/develop/python/";
       license = licenses.asl20;
       maintainers = with maintainers; [ olcai ];
     };
@@ -945,7 +784,7 @@ in {
     propagatedBuildInputs = with self; [ azure-nspkg ];
     meta = {
       description = "Microsoft Azure SDK for Python";
-      homepage = "http://azure.microsoft.com/en-us/develop/python/";
+      homepage = "https://azure.microsoft.com/en-us/develop/python/";
       license = licenses.asl20;
       maintainers = with maintainers; [ olcai ];
     };
@@ -970,7 +809,7 @@ in {
     propagatedBuildInputs = with self; [ azure-mgmt-common ];
     meta = {
       description = "Microsoft Azure SDK for Python";
-      homepage = "http://azure.microsoft.com/en-us/develop/python/";
+      homepage = "https://azure.microsoft.com/en-us/develop/python/";
       license = licenses.asl20;
       maintainers = with maintainers; [ olcai ];
     };
@@ -995,7 +834,7 @@ in {
     propagatedBuildInputs = with self; [ azure-mgmt-common ];
     meta = {
       description = "Microsoft Azure SDK for Python";
-      homepage = "http://azure.microsoft.com/en-us/develop/python/";
+      homepage = "https://azure.microsoft.com/en-us/develop/python/";
       license = licenses.asl20;
       maintainers = with maintainers; [ olcai ];
     };
@@ -1014,7 +853,7 @@ in {
     '';
     meta = {
       description = "Microsoft Azure SDK for Python";
-      homepage = "http://azure.microsoft.com/en-us/develop/python/";
+      homepage = "https://azure.microsoft.com/en-us/develop/python/";
       license = licenses.asl20;
       maintainers = with maintainers; [ olcai ];
     };
@@ -1033,12 +872,14 @@ in {
     '';
     meta = {
       description = "Microsoft Azure SDK for Python";
-      homepage = "http://azure.microsoft.com/en-us/develop/python/";
+      homepage = "https://azure.microsoft.com/en-us/develop/python/";
       license = licenses.asl20;
       maintainers = with maintainers; [ olcai ];
     };
   };
 
+  backcall = callPackage ../development/python-modules/backcall { };
+
   backports_abc = callPackage ../development/python-modules/backports_abc { };
 
   backports_functools_lru_cache = callPackage ../development/python-modules/backports_functools_lru_cache { };
@@ -1080,21 +921,7 @@ in {
 
   backports_unittest-mock = callPackage ../development/python-modules/backports_unittest-mock {};
 
-  babelfish = buildPythonPackage rec {
-    version = "0.5.5";
-    name = "babelfish-${version}";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/b/babelfish/${name}.tar.gz";
-      sha256 = "8380879fa51164ac54a3e393f83c4551a275f03617f54a99d70151358e444104";
-    };
-
-    meta = {
-      homepage = https://pypi.python.org/pypi/babelfish;
-      description = "A module to work with countries and languages";
-      license = licenses.bsd3;
-    };
-  };
+  babelfish = callPackage ../development/python-modules/babelfish {};
 
   basiciw = buildPythonPackage rec {
     name = "${pname}-${version}";
@@ -1118,46 +945,11 @@ in {
     };
   };
 
-  batinfo = buildPythonPackage rec {
-    version = "0.3";
-    name = "batinfo-${version}";
+  batinfo = callPackage ../development/python-modules/batinfo {};
 
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/b/batinfo/${name}.tar.gz";
-      sha256 = "0gyzkxzvj5l6qrw706bnm3cckqzzzbrjr7jkxc087d7775a73499";
-    };
+  bcdoc = callPackage ../development/python-modules/bcdoc {};
 
-    # No tests included
-    doCheck = false;
-
-    meta = {
-      homepage = https://github.com/nicolargo/batinfo;
-      description = "A simple Python lib to retrieve battery information";
-      license = licenses.lgpl3;
-      platforms = platforms.all;
-      maintainers = with maintainers; [ koral ];
-    };
-  };
-
-  bcdoc = buildPythonPackage rec {
-    name = "bcdoc-0.14.0";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/b/bcdoc/${name}.tar.gz";
-      sha256 = "1s2kdqs1n2mj7wq3w0pq30zs7vxq0l3abik2clqnc4hm2j7crbk8";
-    };
-
-    buildInputs = with self; [ docutils six ];
-
-    # Tests fail due to nix file timestamp normalization.
-    doCheck = false;
-
-    meta = {
-      homepage = https://github.com/botocore/bcdoc;
-      license = licenses.asl20;
-      description = "ReST document generation tools for botocore";
-    };
-  };
+  beancount = callPackage ../development/python-modules/beancount { };
 
   beautifulsoup4 = callPackage ../development/python-modules/beautifulsoup4 { };
 
@@ -1193,25 +985,7 @@ in {
     };
   };
 
-  betamax = buildPythonPackage rec {
-    name = "betamax-0.8.0";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/b/betamax/${name}.tar.gz";
-      sha256 = "18f8v5gng3j773jlbbzx4rg1i4y2zw3m2l1zpmbvp8bh5a2q1i42";
-    };
-
-    propagatedBuildInputs = [ self.requests ];
-
-    doCheck = false;
-
-    meta = with stdenv.lib; {
-      homepage = https://betamax.readthedocs.org/en/latest/;
-      description = "A VCR imitation for requests";
-      license = licenses.asl20;
-      maintainers = with maintainers; [ pSub ];
-    };
-  };
+  betamax = callPackage ../development/python-modules/betamax {};
 
   betamax-matchers = callPackage ../development/python-modules/betamax-matchers { };
 
@@ -1247,6 +1021,8 @@ in {
   binwalk = self.binwalk_fun { };
   binwalk-full = self.binwalk_fun { visualizationSupport = true; pyqtgraph = self.pyqtgraph; };
 
+  bitmath = callPackage ../development/python-modules/bitmath { };
+
   caldavclientlibrary-asynk = buildPythonPackage rec {
     version = "asynkdev";
     name = "caldavclientlibrary-asynk-${version}";
@@ -1272,6 +1048,7 @@ in {
 
       homepage = https://github.com/skarra/CalDAVClientLibrary/tree/asynkdev/;
       maintainers = with maintainers; [ pjones ];
+      broken = true; # 2018-04-11
     };
   };
 
@@ -1319,33 +1096,9 @@ in {
     enablePython = true;
   });
 
-  buttersink = buildPythonPackage rec {
-    name = "buttersink-0.6.8";
-
-    src = pkgs.fetchurl {
-      sha256 = "04gc63kfcqkw4qba5rijqk01xiphf04yk7hky9180ii64v2ip0j3";
-      url = "mirror://pypi/b/buttersink/${name}.tar.gz";
-    };
-
-    # Python 2 syntax
-    disabled = isPy3k;
-
-    meta = {
-      description = "Synchronise btrfs snapshots";
-      longDescription = ''
-        ButterSink is like rsync, but for btrfs subvolumes instead of files,
-        which makes it much more efficient for things like archiving backup
-        snapshots. It is built on top of btrfs send and receive capabilities.
-        Sources and destinations can be local btrfs file systems, remote btrfs
-        file systems over SSH, or S3 buckets.
-      '';
-      homepage = https://github.com/AmesCornish/buttersink/wiki;
-      license = licenses.gpl3;
-      platforms = platforms.linux;
-    };
+  bumps = callPackage ../development/python-modules/bumps {};
 
-    propagatedBuildInputs = with self; [ boto crcmod psutil ];
-  };
+  buttersink = callPackage ../development/python-modules/buttersink {};
 
   cached-property = callPackage ../development/python-modules/cached-property { };
 
@@ -1386,9 +1139,6 @@ in {
   cement = callPackage ../development/python-modules/cement {};
 
   cgroup-utils = callPackage ../development/python-modules/cgroup-utils {};
-    postPatch = ''
-      substituteInPlace setup.py --replace "argparse" ""
-    '';
 
   chainer = callPackage ../development/python-modules/chainer {
     cudaSupport = pkgs.config.cudaSupport or false;
@@ -1398,59 +1148,15 @@ in {
 
   cheroot = callPackage ../development/python-modules/cheroot {};
 
-  circus = buildPythonPackage rec {
-    name = "circus-0.11.1";
+  cmarkgfm = callPackage ../development/python-modules/cmarkgfm { };
 
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/c/circus/${name}.tar.gz";
-      sha256 = "3757344aa5073ea29e6e2607b3de8ba1652502c61964316116931884293fe846";
-    };
+  circus = callPackage ../development/python-modules/circus {};
 
-    doCheck = false; # weird error
-
-    propagatedBuildInputs = with self; [ iowait psutil pyzmq tornado mock ];
-  };
-
-  colorclass = buildPythonPackage rec {
-    pname = "colorclass";
-    version = "2.2.0";
-    name = "${pname}-${version}";
-
-    src = fetchPypi {
-      inherit pname version;
-      sha256 = "b05c2a348dfc1aff2d502527d78a5b7b7e2f85da94a96c5081210d8e9ee8e18b";
-    };
-
-    # No tests in archive
-    doCheck = false;
-
-    meta = {
-      homepage = "https://github.com/Robpol86/colorclass";
-      license = licenses.mit;
-      description = "Automatic support for console colors";
-    };
-  };
+  colorclass = callPackage ../development/python-modules/colorclass {};
 
   colorlog = callPackage ../development/python-modules/colorlog { };
 
-  colour = buildPythonPackage rec {
-    name = "${pname}-${version}";
-    pname = "colour";
-    version = "0.1.2";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/c/${pname}/${name}.tar.gz";
-      sha256 = "0w1j43l76zw10dvs2kk7jz7kqj2ss7gfgfdxyls27pckwin89gxb";
-    };
-
-    buildInputs = with self; [ d2to1 ];
-
-    meta = {
-      description = "Converts and manipulates common color representation (RGB, HSV, web, ...)";
-      homepage = https://github.com/vaab/colour;
-      license = licenses.bsd2;
-    };
-  };
+  colour = callPackage ../development/python-modules/colour {};
 
   constantly = callPackage ../development/python-modules/constantly { };
 
@@ -1484,259 +1190,53 @@ in {
 
   cx_Freeze = callPackage ../development/python-modules/cx_freeze {};
 
-  cvxopt = buildPythonPackage rec {
-    name = "${pname}-${version}";
-    pname = "cvxopt";
-    version = "1.1.7";
-    disabled = isPyPy;
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/c/${pname}/${name}.tar.gz";
-      sha256 = "f856ea2e9e2947abc1a6557625cc6b0e45228984f397a90c420b2f468dc4cb97";
-    };
-    doCheck = false;
-    buildInputs = with pkgs; [ openblasCompat ];
-    preConfigure = ''
-      export CVXOPT_BLAS_LIB_DIR=${pkgs.openblasCompat}/lib
-      export CVXOPT_BLAS_LIB=openblas
-      export CVXOPT_LAPACK_LIB=openblas
-    '';
-    meta = {
-      homepage = "http://cvxopt.org/";
-      description = "Python Software for Convex Optimization";
-      maintainers = with maintainers; [ edwtjo ];
-      license = licenses.gpl3Plus;
-    };
-  };
+  cx_oracle = callPackage ../development/python-modules/cx_oracle {};
+
+  cvxopt = callPackage ../development/python-modules/cvxopt { };
 
   cycler = callPackage ../development/python-modules/cycler { };
 
+  cysignals = callPackage ../development/python-modules/cysignals { };
+
+  cypari2 = callPackage ../development/python-modules/cypari2 { };
+
   dlib = buildPythonPackage rec {
     inherit (pkgs.dlib) name src nativeBuildInputs meta;
 
     buildInputs = pkgs.dlib.buildInputs ++ [ self.boost ];
-  };
-
-  datadog = buildPythonPackage rec {
-    name = "${pname}-${version}";
-    pname = "datadog";
-    version = "0.10.0";
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/d/${pname}/${name}.tar.gz";
-      sha256 = "0y2if4jj43n5jis20imragvhhyhr840w4m1g7j7fxh9bn7h273zp";
-    };
 
-    buildInputs = with self; [ pillow tox mock six nose ];
-    propagatedBuildInputs = with self; [ requests decorator simplejson ];
-
-    meta = {
-      description = "The Datadog Python library ";
-      license = licenses.bsd3;
-      homepage = https://github.com/DataDog/datadogpy;
-    };
-  };
-
-  debian = buildPythonPackage rec {
-    name = "${pname}-${version}";
-    pname = "python-debian";
-    version = "0.1.23";
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/p/${pname}/${name}.tar.gz";
-      sha256 = "193faznwnjc3n5991wyzim6h9gyq1zxifmfrnpm3avgkh7ahyynh";
-    };
-    propagatedBuildInputs = with self; [ chardet six ];
-  };
-
-  defusedxml = buildPythonPackage rec {
-    name = "${pname}-${version}";
-    pname = "defusedxml";
-    version = "0.5.0";
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/d/${pname}/${name}.tar.gz";
-      sha256 = "1x54n0h8hl92vvwyymx883fbqpqjwn2mc8fb383bcg3z9zwz5mr4";
-    };
-  };
-
-  dosage = buildPythonPackage rec {
-    name = "${pname}-${version}";
-    pname = "dosage";
-    version = "2016.03.17";
-    PBR_VERSION = version;
-    src = pkgs.fetchFromGitHub {
-      owner = "webcomics";
-      repo = "dosage";
-      rev = "1af022895e5f86bc43da95754c4c4ed305790f5b";
-      sha256 = "1bkqhlzigy656pam0znp2ddp1y5sqzyhw3c4fyy58spcafldq4j6";
-    };
-    buildInputs = with self; [ pytest ];
-    propagatedBuildInputs = with self; [ requests lxml pbr ];
-    # prompt_toolkit doesn't work on 3.5 on OSX.
-    doCheck = !isPy35;
-
-    meta = {
-      description = "A comic strip downloader and archiver";
-      homepage = http://dosage.rocks/;
-      broken = true; # ctypes error
-    };
+    checkInputs = with self; [ pytest ];
   };
 
-  dugong = buildPythonPackage rec {
-    name = "${pname}-${version}";
-    pname = "dugong";
-    version = "3.5";
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/d/${pname}/${name}.tar.bz2";
-      sha256 = "0y0rdxbiwm03zv6vpvapqilrird3h8ijz7xmb0j7ds5j4p6q3g24";
-    };
+  datadog = callPackage ../development/python-modules/datadog {};
 
-    disabled = pythonOlder "3.3"; # Library does not support versions older than 3.3
-  };
+  dataclasses = callPackage ../development/python-modules/dataclasses { };
 
-  iowait = buildPythonPackage rec {
-    name = "iowait-0.2";
+  debian = callPackage ../development/python-modules/debian {};
 
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/i/iowait/${name}.tar.gz";
-      sha256 = "ab1bc2eb84c22ccf61f17a0024f9fb6df781b39f1852764a66a7769d5adfb299";
-    };
+  defusedxml = callPackage ../development/python-modules/defusedxml {};
 
-    meta = {
-      description = "Platform-independent module for I/O completion events";
-      homepage = https://launchpad.net/python-iowait;
-    };
-  };
-
-  responses = self.buildPythonPackage rec {
-    name = "responses-0.4.0";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/r/responses/${name}.tar.gz";
-      sha256 = "0fs7a4cf4f12mjhcjd5vfh0f3ixcy2nawzxpgsfr3ahf0rg7ppx5";
-    };
-
-    propagatedBuildInputs = with self; [ cookies mock requests six ];
+  dugong = callPackage ../development/python-modules/dugong {};
 
-    doCheck = false;
+  iowait = callPackage ../development/python-modules/iowait {};
 
-  };
+  responses = callPackage ../development/python-modules/responses {};
 
   rarfile = callPackage ../development/python-modules/rarfile { inherit (pkgs) libarchive; };
 
-  proboscis = buildPythonPackage rec {
-    name = "proboscis-1.2.6.0";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/p/proboscis/proboscis-1.2.6.0.tar.gz";
-      sha256 = "b822b243a7c82030fce0de97bdc432345941306d2c24ef227ca561dd019cd238";
-    };
-
-    propagatedBuildInputs = with self; [ nose ];
-    doCheck = false;
-
-    meta = {
-      description = "A Python test framework that extends Python's built-in unittest module and Nose with features from TestNG";
-      homepage = https://github.com/rackspace/python-proboscis;
-      license = licenses.asl20;
-    };
-  };
-
-  pyechonest = self.buildPythonPackage rec {
-    name = "pyechonest-8.0.2";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/p/pyechonest/pyechonest-8.0.2.tar.gz";
-      sha256 = "496265f4b7d33483ec153b9e1b8333fe959b115f7e781510089c8313b7d86560";
-    };
-
-    meta = {
-      description = "Tap into The Echo Nest's Musical Brain for the best music search, information, recommendations and remix tools on the web";
-      homepage = https://github.com/echonest/pyechonest;
-    };
-  };
-
-  billiard = buildPythonPackage rec {
-    name = "billiard-${version}";
-    version = "3.5.0.2";
-
-    disabled = isPyPy;
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/b/billiard/${name}.tar.gz";
-      sha256 = "1anw68rkja1dbgvndxz5mq6f89hmxwaha0fjcdnsl5j1wj7imc1y";
-    };
-
-    buildInputs = with self; [ pytest case ];
-
-    meta = {
-      homepage = https://github.com/celery/billiard;
-      description = "Python multiprocessing fork with improvements and bugfixes";
-      license = licenses.bsd3;
-    };
-  };
-
-
-  binaryornot = buildPythonPackage rec {
-    name = "binaryornot-${version}";
-    version = "0.4.0";
-
-    src = pkgs.fetchurl {
-      url ="mirror://pypi/b/binaryornot/${name}.tar.gz";
-      sha256 = "1j4f51dxic39mdwf6alj7gd769wy6mhk916v031wjali51xkh3xb";
-    };
-
-    buildInputs = with self; [ hypothesis ];
-
-    propagatedBuildInputs = with self; [ chardet ];
-
-    meta = {
-      homepage = https://github.com/audreyr/binaryornot;
-      description = "Ultra-lightweight pure Python package to check if a file is binary or text";
-      license = licenses.bsd3;
-    };
-  };
+  proboscis = callPackage ../development/python-modules/proboscis {};
 
+  py4j = callPackage ../development/python-modules/py4j { };
 
-  bitbucket_api = buildPythonPackage rec {
-    name = "bitbucket-api-0.4.4";
-    # python3 does not support relative imports
-    disabled = isPy3k;
+  pyechonest = callPackage ../development/python-modules/pyechonest { };
 
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/b/bitbucket-api/${name}.tar.gz";
-      sha256 = "e890bc3893d59a6f203c1eb2bae60e78ac4d3869da7ea4fb104dca588aea85b2";
-    };
+  billiard = callPackage ../development/python-modules/billiard { };
 
-    propagatedBuildInputs = with self; [ requests_oauthlib nose sh ];
+  binaryornot = callPackage ../development/python-modules/binaryornot { };
 
-    doCheck = false;
+  bitbucket_api = callPackage ../development/python-modules/bitbucket-api { };
 
-    meta = {
-      homepage = https://github.com/Sheeprider/BitBucket-api;
-      description = "Python library to interact with BitBucket REST API";
-      license = licenses.mit;
-    };
-  };
-
-  # Should be moved out of python-packages.nix
-  bitbucket-cli = buildPythonPackage rec {
-    name = "bitbucket-cli-0.5.1";
-    src = pkgs.fetchurl {
-       url = "mirror://pypi/b/bitbucket-cli/${name}.tar.gz";
-       sha256 = "d881e21ec7ebfa006cfca6d10a5b7229aa59990568f8c6b8e3364769fa38b6f6";
-    };
-
-    propagatedBuildInputs = [ self.requests ];
-
-    # No tests
-    doCheck = false;
-
-    disabled = isPy3k;
-
-    meta = {
-      description = "Bitbucket command line interface";
-      homepage = "https://bitbucket.org/zhemao/bitbucket-cli";
-      maintainers = with maintainers; [ refnil ];
-    };
-  };
+  bitbucket-cli = callPackage ../development/python-modules/bitbucket-cli { };
 
   bitstring = callPackage ../development/python-modules/bitstring { };
 
@@ -1783,22 +1283,7 @@ in {
     };
   };
 
-  blinker = buildPythonPackage rec {
-    name = "blinker-${version}";
-    version = "1.4";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/b/blinker/${name}.tar.gz";
-      sha256 = "1dpq0vb01p36jjwbhhd08ylvrnyvcc82yxx3mwjx6awrycjyw6j7";
-    };
-
-    meta = {
-      homepage = http://pythonhosted.org/blinker/;
-      description = "Fast, simple object-to-object and broadcast signaling";
-      license = licenses.mit;
-      maintainers = with maintainers; [ garbas ];
-    };
-  };
+  blinker = callPackage ../development/python-modules/blinker { };
 
   blockdiag = callPackage ../development/python-modules/blockdiag { };
 
@@ -1829,7 +1314,7 @@ in {
 
     meta = {
       description = "Python bindings for Oracle Berkeley DB";
-      homepage = http://www.jcea.es/programacion/pybsddb.htm;
+      homepage = https://www.jcea.es/programacion/pybsddb.htm;
       license = with licenses; [ agpl3 ]; # License changed from bsd3 to agpl3 since 6.x
     };
   };
@@ -1873,25 +1358,7 @@ in {
 
   botocore = callPackage ../development/python-modules/botocore { };
 
-  bottle = buildPythonPackage rec {
-    version = "0.12.11";
-    name = "bottle-${version}";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/b/bottle/${name}.tar.gz";
-      sha256 = "0cd787lzggs933qfav6xicx5c78dz6npwgg3xc4rhah44nbqz5d1";
-    };
-
-    propagatedBuildInputs = with self; [ setuptools ];
-
-    meta = {
-      homepage = http://bottlepy.org;
-      description = "A fast and simple micro-framework for small web-applications";
-      license = licenses.mit;
-      platforms = platforms.all;
-      maintainers = with maintainers; [ koral ];
-    };
-  };
+  bottle = callPackage ../development/python-modules/bottle { };
 
   box2d = buildPythonPackage rec {
     name = "box2d-${version}";
@@ -1921,32 +1388,7 @@ in {
 
   branca = callPackage ../development/python-modules/branca { };
 
-  bugwarrior = buildPythonPackage rec {
-    name = "bugwarrior-${version}";
-    version = "1.4.0";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/b/bugwarrior/${name}.tar.gz";
-      sha256 = "1jkz5vzbwspi1jcb3qsgcl619yip77khb696pc3ryk0pdhjhgs5w";
-    };
-
-    buildInputs = with self; [ mock unittest2 nose /* jira megaplan */ ];
-    propagatedBuildInputs = with self; [
-      twiggy requests offtrac bugzilla taskw dateutil pytz keyring six
-      jinja2 pycurl dogpile_cache lockfile click pyxdg
-    ];
-
-    # for the moment jira>=0.22 and megaplan>=1.4 are missing for running the test suite.
-    doCheck = false;
-
-    meta = {
-      homepage =  http://github.com/ralphbean/bugwarrior;
-      description = "Sync github, bitbucket, bugzilla, and trac issues with taskwarrior";
-      license = licenses.gpl3Plus;
-      platforms = platforms.all;
-      maintainers = with maintainers; [ pierron ];
-    };
-  };
+  bugwarrior = callPackage ../development/python-modules/bugwarrior { };
 
   # bugz = buildPythonPackage (rec {
   #   name = "bugz-0.9.3";
@@ -1966,52 +1408,9 @@ in {
   #   };
   # });
 
-  bugzilla = buildPythonPackage rec {
-    name = "bugzilla-${version}";
-    version = "1.1.0";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/p/python-bugzilla/python-${name}.tar.gz";
-      sha256 = "11361635a4f1613803a0b9b93ba9126f7fd36180653f953e2590b1536d107d46";
-    };
-
-    patches = [ ../development/python-modules/bugzilla/checkPhase-fix-cookie-compare.patch ];
-
-    buildInputs = with self; [ pep8 coverage logilab_common ];
-    propagatedBuildInputs = [ self.requests ];
-
-    preCheck = ''
-      mkdir -p check-phase
-      export HOME=$(pwd)/check-phase
-    '';
-
-    meta = {
-      homepage = https://fedorahosted.org/python-bugzilla/;
-      description = "Bugzilla XMLRPC access module";
-      license = licenses.gpl2;
-      platforms = platforms.all;
-      maintainers = with maintainers; [ pierron ];
-    };
-  };
+  bugzilla = callPackage ../development/python-modules/bugzilla { };
 
-  check-manifest = buildPythonPackage rec {
-    name = "check-manifest";
-    version = "0.30";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/c/check-manifest/check-manifest-${version}.tar.gz";
-      sha256 = "b19fd0d8b9286532ba3dc0282484fd76d11200cf24b340dc3d08f293c7dd0500";
-    };
-
-    doCheck = false;
-
-    meta = {
-      homepage = https://github.com/mgedmin/check-manifest;
-      description = "Check MANIFEST.in in a Python source package for completeness";
-      license = licenses.mit;
-      maintainers = with maintainers; [ lewo ];
-    };
-  };
+  check-manifest = callPackage ../development/python-modules/check-manifest { };
 
   devpi-common = callPackage ../development/python-modules/devpi-common { };
   # A patched version of buildout, useful for buildout based development on Nix
@@ -2019,32 +1418,9 @@ in {
 
   zc_buildout = self.zc_buildout221;
 
-  zc_buildout221 = buildPythonPackage rec {
-    name = "zc.buildout-2.2.1";
+  zc_buildout221 = callPackage ../development/python-modules/buildout { };
 
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/z/zc.buildout/${name}.tar.gz";
-      sha256 = "a6122ea5c06c6c044a9efce4a3df452c8573e1aebfda7b24262655daac894ef5";
-    };
-
-   meta = {
-      homepage = "http://www.buildout.org";
-      description = "A software build and configuration system";
-      license = licenses.zpl21;
-      maintainers = with maintainers; [ garbas ];
-    };
-  };
-
-  bunch = buildPythonPackage (rec {
-    name = "bunch-1.0.1";
-    meta.maintainers = with maintainers; [ ];
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/b/bunch/${name}.tar.gz";
-      sha256 = "1akalx2pd1fjlvrq69plvcx783ppslvikqdm93z2sdybq07pmish";
-    };
-    doCheck = false;
-  });
+  bunch = callPackage ../development/python-modules/bunch { };
 
   can = callPackage ../development/python-modules/can {};
 
@@ -2054,66 +1430,11 @@ in {
 
   cairocffi = callPackage ../development/python-modules/cairocffi {};
 
-  cairosvg = buildPythonPackage rec {
-    version = "1.0.18";
-    name = "cairosvg-${version}";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/C/CairoSVG/CairoSVG-${version}.tar.gz";
-      sha256 = "01lpm38qp7xlnv8jv7qg48j44p5088dwfsrcllgs5fz355lrfds1";
-    };
-
-    propagatedBuildInputs = with self; [ cairocffi ];
-
-    meta = {
-      homepage = https://cairosvg.org;
-      license = licenses.lgpl3;
-      description = "SVG converter based on Cairo";
-    };
-  };
-
-
-  carrot = buildPythonPackage rec {
-    name = "carrot-0.10.7";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/c/carrot/${name}.tar.gz";
-      sha256 = "cb46374f3c883c580d142a79d2609883713a867cc86e0514163adce784ce2468";
-    };
-
-    buildInputs = with self; [ self.nose ];
-
-    propagatedBuildInputs =
-      [ self.amqplib
-        self.anyjson
-      ];
-
-    doCheck = false; # depends on the network
-
-    meta = {
-      homepage = https://pypi.python.org/pypi/carrot;
-      description = "AMQP Messaging Framework for Python";
-    };
-  };
+  cairosvg = callPackage ../development/python-modules/cairosvg {};
 
-  case = buildPythonPackage rec {
-    name = "case-${version}";
-    version = "1.5.2";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/c/case/${name}.tar.gz";
-      sha256 = "1zbhbw87izcxj9rvqg432a7r69ps2ks20mqq3g3hgd42sckcy3ca";
-    };
-
-    propagatedBuildInputs = with self; [ six nose unittest2 mock ];
-
-    meta = {
-      homepage = https://github.com/celery/case;
-      description = "unittests utilities";
-      license = licenses.bsd3;
-    };
+  carrot = callPackage ../development/python-modules/carrot {};
 
-  };
+  case = callPackage ../development/python-modules/case {};
 
   cassandra-driver = buildPythonPackage rec {
     name = "cassandra-driver-3.6.0";
@@ -2146,7 +1467,7 @@ in {
     };
   };
 
-  cccolutils = callPackage ../development/python-modules/cccolutils/default.nix {};
+  cccolutils = callPackage ../development/python-modules/cccolutils {};
 
   CDDB = buildPythonPackage rec {
     name = "CDDB-1.4";
@@ -2195,21 +1516,7 @@ in {
 
   celery = callPackage ../development/python-modules/celery { pytest = self.pytest_32; };
 
-  cerberus = buildPythonPackage rec {
-    name = "Cerberus-${version}";
-    version = "0.9.2";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/C/Cerberus/${name}.tar.gz";
-      sha256 = "1km7hvns1snrmcwz58bssi4wv3gwd34zm1z1hwjylmpqrfrcf8mi";
-    };
-
-    meta = {
-      homepage = http://python-cerberus.org/;
-      description = "Lightweight, extensible schema and data validation tool for Python dictionaries";
-      license = licenses.mit;
-    };
-  };
+  cerberus = callPackage ../development/python-modules/cerberus { };
 
   certifi = callPackage ../development/python-modules/certifi { };
 
@@ -2219,119 +1526,15 @@ in {
 
   cherrypy = callPackage ../development/python-modules/cherrypy {};
 
-  cjson = buildPythonPackage rec {
-    name = "python-cjson-${version}";
-    version = "1.1.0";
-    disabled = isPy3k || isPyPy;
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/p/python-cjson/${name}.tar.gz";
-      sha256 = "a01fabb7593728c3d851e1cd9a3efbd18f72650a31a5aa8a74018640da3de8b3";
-    };
-
-    meta = {
-      description = "A very fast JSON encoder/decoder for Python";
-      homepage    = "http://ag-projects.com/";
-      license     = licenses.lgpl2;
-      platforms   = platforms.all;
-    };
-  };
+  cjson = callPackage ../development/python-modules/cjson { };
 
   cld2-cffi = callPackage ../development/python-modules/cld2-cffi {};
 
-  clf = buildPythonPackage rec {
-    name = "clf-${version}";
-    version = "0.5.2";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/c/clf/${name}.tar.gz";
-      sha256 = "04lqd2i4fjs606b0q075yi9xksk567m0sfph6v6j80za0hvzqyy5";
-    };
-
-    patchPhase = ''
-      sed -i 's/==/>=/' requirements.txt
-    '';
-
-    propagatedBuildInputs = with self; [ docopt requests pygments ];
-
-    # Error when running tests:
-    # No local packages or download links found for requests
-    doCheck = false;
-
-    meta = {
-      homepage = https://github.com/ncrocfer/clf;
-      description = "Command line tool to search snippets on Commandlinefu.com";
-      license = licenses.mit;
-      maintainers = with maintainers; [ koral ];
-    };
-  };
-
-  click = buildPythonPackage rec {
-    name = "click-6.7";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/c/click/${name}.tar.gz";
-      sha256 = "02qkfpykbq35id8glfgwc38yc430427yd05z1wc5cnld8zgicmgi";
-    };
-
-    buildInputs = with self; [ pytest ];
-
-    checkPhase = ''
-      py.test tests
-    '';
-
-    # https://github.com/pallets/click/issues/823
-    doCheck = false;
-
-    meta = {
-      homepage = http://click.pocoo.org/;
-      description = "Create beautiful command line interfaces in Python";
-      longDescription = ''
-        A Python package for creating beautiful command line interfaces in a
-        composable way, with as little code as necessary.
-      '';
-      license = licenses.bsd3;
-    };
-  };
-
-  click_5 = buildPythonPackage rec {
-    name = "click-5.1";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/c/click/${name}.tar.gz";
-      sha256 = "0njsm0wn31l21bi118g5825ma5sa3rwn7v2x4wjd7yiiahkri337";
-    };
-
-    meta = {
-      homepage = http://click.pocoo.org/;
-      description = "Create beautiful command line interfaces in Python";
-      longDescription = ''
-        A Python package for creating beautiful command line interfaces in a
-        composable way, with as little code as necessary.
-      '';
-      license = licenses.bsd3;
-      maintainers = with maintainers; [ mog ];
-    };
-  };
-
-  click-log = buildPythonPackage rec {
-    version = "0.2.1";
-    name = "click-log-${version}";
+  clf = callPackage ../development/python-modules/clf {};
 
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/c/click-log/${name}.tar.gz";
-      sha256 = "1r1x85023cslb2pwldd089jjk573mk3w78cnashs77wrx7yz8fj9";
-    };
+  click = callPackage ../development/python-modules/click {};
 
-    propagatedBuildInputs = with self; [ click ];
-
-    meta = {
-      homepage = https://github.com/click-contrib/click-log/;
-      description = "Logging integration for Click";
-      license = licenses.mit;
-      maintainers = with maintainers; [ ];
-    };
-  };
+  click-log = callPackage ../development/python-modules/click-log {};
 
   click-plugins = callPackage ../development/python-modules/click-plugins {};
 
@@ -2363,180 +1566,34 @@ in {
     };
   };
 
-  cloudpickle = buildPythonPackage rec {
-    name = "cloudpickle-${version}";
-    version = "0.2.2";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/c/cloudpickle/${name}.tar.gz";
-      sha256 = "0x4fbycipkhfax7lydaxcnc14g42g274qba17j51shr5gbq6m8lx";
-    };
-
-    buildInputs = with self; [ pytest mock ];
+  cloudpickle = callPackage ../development/python-modules/cloudpickle { };
 
-    # See README for tests invocation
-    checkPhase = ''
-      PYTHONPATH=$PYTHONPATH:'.:tests' py.test
-    '';
-
-    # TypeError: cannot serialize '_io.FileIO' object
-    doCheck = false;
-
-    meta = {
-      description = "Extended pickling support for Python objects";
-      homepage = https://github.com/cloudpipe/cloudpickle;
-      license = with licenses; [ bsd3 ];
-    };
-  };
-
-  cmdline = buildPythonPackage rec {
-    pname = "cmdline";
-    version = "0.1.6";
-    name = "${pname}-${version}";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/c/${pname}/${name}.tar.gz";
-      sha256 = "be2cb4711e9111bb7386a408e3c66a730c36dd6ac05851a9f03d0f4eae63536a";
-    };
-
-    # No tests, https://github.com/rca/cmdline/issues/1
-    doCheck = false;
-    propagatedBuildInputs = with self; [ pyyaml ];
-    meta = {
-      description = "Utilities for consistent command line tools";
-      homepage = https://github.com/rca/cmdline;
-      license = licenses.asl20;
-    };
-  };
+  cmdline = callPackage ../development/python-modules/cmdline { };
 
   codecov = callPackage ../development/python-modules/codecov {};
 
-  cogapp = buildPythonPackage rec {
-    version = "2.3";
-    name    = "cogapp-${version}";
-
-    src = pkgs.fetchurl {
-      url    = "mirror://pypi/c/cogapp/${name}.tar.gz";
-      sha256 = "0gzmzbsk54r1qa6wd0yg4zzdxvn2f19ciprr2acldxaknzrpllnn";
-    };
-
-    # there are no tests
-    doCheck = false;
-
-    meta = {
-      description = "A code generator for executing Python snippets in source files";
-      homepage    = http://nedbatchelder.com/code/cog;
-      license     = licenses.mit;
-      maintainers = with maintainers; [ lovek323 ];
-      platforms   = platforms.unix;
-    };
-  };
+  cogapp = callPackage ../development/python-modules/cogapp {};
 
   colorama = callPackage ../development/python-modules/colorama { };
 
   colorlover = callPackage ../development/python-modules/colorlover { };
 
-  CommonMark = buildPythonPackage rec {
-    name = "CommonMark-${version}";
-    version = "0.6.3";
+  CommonMark = callPackage ../development/python-modules/commonmark { };
 
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/C/CommonMark/${name}.tar.gz";
-      sha256 = "ee5a88f23678794592efe3fc11033f17fc77b3296a85f5e1d5b715f8e110a773";
-    };
-
-    LC_ALL="en_US.UTF-8";
-
-    doCheck = false;
-
-    buildInputs = with self; [ flake8 pkgs.glibcLocales ];
-    propagatedBuildInputs = with self; [ future ];
-
-    meta = {
-      description = "Python parser for the CommonMark Markdown spec";
-      homepage = https://github.com/rolandshoemaker/CommonMark-py;
-      license = licenses.bsd3;
-    };
-  };
-
-  CommonMark_54 = self.CommonMark.override rec {
-    name = "CommonMark-0.5.4";
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/C/CommonMark/${name}.tar.gz";
+  CommonMark_54 = self.CommonMark.overridePythonAttrs (oldAttrs: rec {
+    version = "0.5.4";
+    src = oldAttrs.src.override {
+      inherit version;
       sha256 = "34d73ec8085923c023930dfc0bcd1c4286e28a2a82de094bb72fabcc0281cbe5";
     };
-  };
-
-
-  coilmq = buildPythonPackage (rec {
-    name = "CoilMQ-${version}";
-    version = "1.0.0";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/C/CoilMQ/${name}.tar.gz";
-      sha256 = "0wwa6fsqw1mxsryvgp0yrdjil8axyj0kslzi7lr45cnhgp5ab375";
-    };
-
-    propagatedBuildInputs = with self; [ stompclient pythondaemon redis pid];
-
-    buildInputs = with self; [ pytest six click coverage sqlalchemy ];
-
-    # The teste data is not included in the distribution
-    doCheck = false;
-
-    meta = {
-      description = "Simple, lightweight, and easily extensible STOMP message broker";
-      homepage = http://code.google.com/p/coilmq/;
-      license = licenses.asl20;
-    };
   });
 
+  coilmq = callPackage ../development/python-modules/coilmq { };
 
-  colander = buildPythonPackage rec {
-    name = "colander-1.0";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/c/colander/${name}.tar.gz";
-      sha256 = "7389413266b9e680c9529c16d56284edf87e0d5de557948e75f41d65683c23b3";
-    };
-
-    propagatedBuildInputs = with self; [ self.translationstring self.iso8601 ];
-
-    meta = {
-      maintainers = with maintainers; [ garbas domenkozar ];
-      platforms = platforms.all;
-    };
-  };
+  colander = callPackage ../development/python-modules/colander { };
 
   # Backported version of the ConfigParser library of Python 3.3
-  configparser = if isPy3k then null else buildPythonPackage rec {
-    name = "configparser-${version}";
-    version = "3.5.0";
-
-    # running install_egg_info
-    # error: [Errno 9] Bad file descriptor: '<stdout>'
-    disabled = isPyPy;
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/c/configparser/${name}.tar.gz";
-      sha256 = "5308b47021bc2340965c371f0f058cc6971a04502638d4244225c49d80db273a";
-    };
-
-    # No tests available
-    doCheck = false;
-
-    # Fix issue when used together with other namespace packages
-    # https://github.com/NixOS/nixpkgs/issues/23855
-    patches = [
-      ./../development/python-modules/configparser/0001-namespace-fix.patch
-    ];
-
-    meta = {
-      maintainers = [ ];
-      platforms = platforms.all;
-    };
-  };
-
+  configparser = callPackage ../development/python-modules/configparser { };
 
   ColanderAlchemy = buildPythonPackage rec {
     name = "ColanderAlchemy-${version}";
@@ -2566,27 +1623,7 @@ in {
 
   conda = callPackage ../development/python-modules/conda { };
 
-  configobj = buildPythonPackage (rec {
-    name = "configobj-5.0.6";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/c/configobj/${name}.tar.gz";
-      sha256 = "a2f5650770e1c87fb335af19a9b7eb73fc05ccf22144eb68db7d00cd2bcb0902";
-    };
-
-    # error: invalid command 'test'
-    doCheck = false;
-
-    propagatedBuildInputs = with self; [ six ];
-
-    meta = {
-      description = "Config file reading, writing and validation";
-      homepage = https://pypi.python.org/pypi/configobj;
-      license = licenses.bsd3;
-      maintainers = with maintainers; [ garbas ];
-    };
-  });
-
+  configobj = callPackage ../development/python-modules/configobj { };
 
   confluent-kafka = callPackage ../development/python-modules/confluent-kafka {};
 
@@ -2594,109 +1631,25 @@ in {
 
   construct = callPackage ../development/python-modules/construct {};
 
-  consul = buildPythonPackage (rec {
-    name = "python-consul-0.7.0";
+  consul = callPackage ../development/python-modules/consul { };
 
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/p/python-consul/${name}.tar.gz";
-      sha256 = "18gs5myk9wkkq5zvj0n0s68ngj3mrbdcifshxfj1j0bgb1km0wpm";
-    };
-
-    buildInputs = with self; [ requests six pytest ];
-
-    # No tests distributed. https://github.com/cablehead/python-consul/issues/133
-    doCheck = false;
-
-    meta = {
-      description = "Python client for Consul (https://www.consul.io/)";
-      homepage = https://github.com/cablehead/python-consul;
-      license = licenses.mit;
-      maintainers = with maintainers; [ desiderius ];
-    };
-  });
-
-  contexter = buildPythonPackage rec {
-    name = "contexter-${version}";
-    version = "0.1.3";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/c/contexter/${name}.tar.gz";
-      sha256 = "0xrnkjya29ya0hkj8y4k9ni2mnr58i6r0xfqlj7wk07v4jfrkc8n";
-    };
-  };
+  contexter = callPackage ../development/python-modules/contexter { };
 
+  contextvars = callPackage ../development/python-modules/contextvars {};
 
   contextlib2 = callPackage ../development/python-modules/contextlib2 { };
 
-  cookiecutter = buildPythonPackage rec {
-    version = "1.4.0";
-    name = "cookiecutter-${version}";
-
-    # not sure why this is broken
-    disabled = isPyPy;
+  cookiecutter = callPackage ../development/python-modules/cookiecutter { };
 
-    src = pkgs.fetchurl {
-      url = "https://github.com/audreyr/cookiecutter/archive/${version}.tar.gz";
-      sha256 = "1clxnabmc5s4b519r1sxyj1163x833ir8xcypmdfpf6r9kbb35vn";
-    };
-
-    buildInputs = with self; [ itsdangerous pytest freezegun docutils ];
-    propagatedBuildInputs = with self; [
-          jinja2 future binaryornot click whichcraft poyo jinja2_time ];
-
-    meta = {
-      homepage = https://github.com/audreyr/cookiecutter;
-      description = "A command-line utility that creates projects from project templates";
-      license = licenses.bsd3;
-      maintainers = with maintainers; [ kragniz ];
-    };
-  };
-
-  cookies = buildPythonPackage rec {
-    name = "cookies-2.2.1";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/c/cookies/${name}.tar.gz";
-      sha256 = "13pfndz8vbk4p2a44cfbjsypjarkrall71pgc97glk5fiiw9idnn";
-    };
-
-    doCheck = false;
-
-    meta = {
-      description = "Friendlier RFC 6265-compliant cookie parser/renderer";
-      homepage = https://github.com/sashahart/cookies;
-      license = licenses.mit;
-    };
-  };
+  cookies = callPackage ../development/python-modules/cookies { };
 
   coveralls = callPackage ../development/python-modules/coveralls { };
 
   coverage = callPackage ../development/python-modules/coverage { };
 
-  covCore = buildPythonPackage rec {
-    name = "cov-core-1.15.0";
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/c/cov-core/${name}.tar.gz";
-      sha256 = "4a14c67d520fda9d42b0da6134638578caae1d374b9bb462d8de00587dba764c";
-    };
-    meta = {
-      description = "Plugin core for use by pytest-cov, nose-cov and nose2-cov";
-    };
-    propagatedBuildInputs = with self; [ self.coverage ];
-  };
+  covCore = callPackage ../development/python-modules/cov-core { };
 
-  crcmod = buildPythonPackage rec {
-    name = "crcmod-1.7";
-    src = pkgs.fetchurl {
-      url = mirror://pypi/c/crcmod/crcmod-1.7.tar.gz;
-      sha256 = "07k0hgr42vw2j92cln3klxka81f33knd7459cn3d8aszvfh52w6w";
-    };
-    meta = {
-      description = "Python module for generating objects that compute the Cyclic Redundancy Check (CRC)";
-      homepage = http://crcmod.sourceforge.net/;
-      license = licenses.mit;
-    };
-  };
+  crcmod = callPackage ../development/python-modules/crcmod { };
 
   credstash = callPackage ../development/python-modules/credstash { };
 
@@ -2704,24 +1657,7 @@ in {
 
   cytoolz = callPackage ../development/python-modules/cytoolz { };
 
-  cryptacular = buildPythonPackage rec {
-    name = "cryptacular-1.4.1";
-
-    buildInputs = with self; [ coverage nose ];
-    propagatedBuildInputs = with self; [ pbkdf2 ];
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/c/cryptacular/${name}.tar.gz";
-      sha256 = "273f03d03f9b316671ae4f1c1c6b8d3c883da19a5706873e8f3d6543e13dd4a1";
-    };
-
-    # TODO: tests fail: TypeError: object of type 'NoneType' has no len()
-    doCheck = false;
-
-    meta = {
-      maintainers = with maintainers; [ domenkozar ];
-    };
-  };
+  cryptacular = callPackage ../development/python-modules/cryptacular { };
 
   cryptography = callPackage ../development/python-modules/cryptography { };
 
@@ -2729,6 +1665,8 @@ in {
 
   curtsies = callPackage ../development/python-modules/curtsies { };
 
+  envs = callPackage ../development/python-modules/envs { };
+
   jsonrpc-async = callPackage ../development/python-modules/jsonrpc-async { };
 
   jsonrpc-base = callPackage ../development/python-modules/jsonrpc-base { };
@@ -2739,22 +1677,7 @@ in {
 
   pyunifi = callPackage ../development/python-modules/pyunifi { };
 
-  tablib = buildPythonPackage rec {
-    name = "tablib-${version}";
-    version = "0.12.1";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/t/tablib/tablib-${version}.tar.gz";
-      sha256 = "11wxchj0qz77dn79yiq30k4b4gsm429f4bizk4lm4rb63nk51kxq";
-    };
-
-    buildInputs = with self; [ pytest unicodecsv pandas ];
-    propagatedBuildInputs = with self; [ xlwt openpyxl pyyaml xlrd odfpy ];
-    meta = with stdenv.lib; {
-      description = "Tablib: format-agnostic tabular dataset library";
-      homepage = "http://python-tablib.org";
-    };
-  };
+  tablib = callPackage ../development/python-modules/tablib { };
 
   wakeonlan = callPackage ../development/python-modules/wakeonlan { };
 
@@ -2799,8 +1722,7 @@ in {
     pythonPackages = self;
   });
 
-  openidc-client = callPackage ../development/python-modules/openidc-client/default.nix {};
-
+  openidc-client = callPackage ../development/python-modules/openidc-client {};
 
   idna = callPackage ../development/python-modules/idna { };
 
@@ -2852,6 +1774,8 @@ in {
     };
   };
 
+  miniupnpc = callPackage ../development/python-modules/miniupnpc {};
+
   mixpanel = buildPythonPackage rec {
     version = "4.0.2";
     name = "mixpanel-${version}";
@@ -2898,91 +1822,13 @@ in {
 
   portpicker = callPackage ../development/python-modules/portpicker { };
 
-  pkginfo = buildPythonPackage rec {
-    version = "1.3.2";
-    name = "pkginfo-${version}";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/p/pkginfo/${name}.tar.gz";
-      sha256 = "0qg4sq3m0pxvjahc3sncwhw42z5rfw22k0ybskmdqkl2agykay7q";
-    };
-
-    doCheck = false; # I don't know why, but with doCheck = true it fails.
-
-    meta = {
-      homepage = https://pypi.python.org/pypi/pkginfo;
-      license = licenses.mit;
-      description = "Query metadatdata from sdists / bdists / installed packages";
-
-      longDescription = ''
-        This package provides an API for querying the distutils metadata
-        written in the PKG-INFO file inside a source distriubtion (an sdist)
-        or a binary distribution (e.g., created by running bdist_egg). It can
-        also query the EGG-INFO directory of an installed distribution, and the
-        *.egg-info stored in a “development checkout” (e.g, created by running
-        setup.py develop).
-      '';
-    };
-  };
-
-  pretend = buildPythonPackage rec {
-    name = "pretend-1.0.8";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/p/pretend/pretend-1.0.8.tar.gz";
-      sha256 = "0r5r7ygz9m6d2bklflbl84cqhjkc2q12xgis8268ygjh30g2q3wk";
-    };
-
-    # No tests in archive
-    doCheck = false;
+  pkginfo = callPackage ../development/python-modules/pkginfo { };
 
-    meta = {
-      homepage = https://github.com/alex/pretend;
-      license = licenses.bsd3;
-    };
-  };
-
-
-  detox = self.buildPythonPackage rec {
-    name = "detox-0.10.0";
-
-    buildInputs = with self; [ pytest ];
-    propagatedBuildInputs = with self; [ tox py eventlet ];
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/d/detox/${name}.tar.gz";
-      sha256 = "33b704c2a5657366850072fb2aa839df14dd2e692c0c1c2642c3ac30d5c0baec";
-    };
-
-    checkPhase = ''
-      py.test
-    '';
-
-    # eventlet timeout, and broken invokation 3.5
-    doCheck = false;
-
-    meta = {
-      description = "What is detox?";
-      homepage = https://bitbucket.org/hpk42/detox;
-    };
-  };
+  pretend = callPackage ../development/python-modules/pretend { };
 
+  detox = callPackage ../development/python-modules/detox { };
 
-  pbkdf2 = buildPythonPackage rec {
-    name = "pbkdf2-1.3";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/p/pbkdf2/${name}.tar.gz";
-      sha256 = "ac6397369f128212c43064a2b4878038dab78dab41875364554aaf2a684e6979";
-    };
-
-    # ImportError: No module named test
-    doCheck = false;
-
-    meta = {
-      maintainers = with maintainers; [ domenkozar ];
-    };
-  };
+  pbkdf2 = callPackage ../development/python-modules/pbkdf2 { };
 
   bcrypt = callPackage ../development/python-modules/bcrypt { };
 
@@ -2990,80 +1836,20 @@ in {
 
   pycollada = callPackage ../development/python-modules/pycollada { };
 
-  pycontracts = buildPythonPackage rec {
-    version = "1.7.9";
-    name = "PyContracts-${version}";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/P/PyContracts/${name}.tar.gz";
-      sha256 = "0rdc9pz08885vqkazjc3lyrrghmf3jzxnlsgpn8akl808x1qrfqf";
-    };
-
-    buildInputs = with self; [ nose ];
-
-    propagatedBuildInputs = with self; [ pyparsing decorator six ];
-
-    meta = {
-      description = "Allows to declare constraints on function parameters and return values";
-      homepage = https://pypi.python.org/pypi/PyContracts;
-      license = licenses.lgpl2;
-    };
-  };
-
-  pycparser = buildPythonPackage rec {
-    name = "pycparser-${version}";
-    version = "2.14";
+  pycontracts = callPackage ../development/python-modules/pycontracts { };
 
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/p/pycparser/${name}.tar.gz";
-      sha256 = "7959b4a74abdc27b312fed1c21e6caf9309ce0b29ea86b591fd2e99ecdf27f73";
-    };
-
-    checkPhase = ''
-      ${python.interpreter} -m unittest discover -s tests
-    '';
-
-    meta = {
-      description = "C parser in Python";
-      homepage = https://github.com/eliben/pycparser;
-      license = licenses.bsd3;
-      maintainers = with maintainers; [ domenkozar ];
-    };
-  };
+  pycparser = callPackage ../development/python-modules/pycparser { };
 
   pydub = callPackage ../development/python-modules/pydub {};
 
-  pyjade = buildPythonPackage rec {
-    name = "${pname}-${version}";
-    pname = "pyjade";
-    version = "4.0.0";
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/p/${pname}/${name}.tar.gz";
-      sha256 = "1mycn5cc9cp4fb0i2vzgkkk6d0glnkbilggwb4i99i09vr0vg5cd";
-    };
-    buildInputs = with self; [ pyramid_mako nose django jinja2 tornado pyramid Mako ];
-    propagatedBuildInputs = with self; [ six ];
-    patchPhase = ''
-      sed -i 's/1.4.99/1.99/' setup.py
-    '';
-    checkPhase = ''
-      nosetests pyjade
-    '';
-    # No tests distributed. https://github.com/syrusakbary/pyjade/issues/262
-    doCheck = false;
-    meta = {
-      description = "Jade syntax template adapter for Django, Jinja2, Mako and Tornado templates";
-      homepage    = "http://github.com/syrusakbary/pyjade";
-      license     = licenses.mit;
-      maintainers = with maintainers; [ nand0p ];
-      platforms   = platforms.all;
-    };
-  };
+  pyjade = callPackage ../development/python-modules/pyjade {};
 
   PyLD = callPackage ../development/python-modules/PyLD { };
 
   python-jose = callPackage ../development/python-modules/python-jose {};
 
+  python-ly = callPackage ../development/python-modules/python-ly {};
+
   pyhepmc = buildPythonPackage rec {
     name = "pyhepmc-${version}";
     version = "0.5.0";
@@ -3099,9 +1885,9 @@ in {
     };
   };
 
-  pytest = self.pytest_34;
+  pytest = self.pytest_35;
 
-  pytest_34 = callPackage ../development/python-modules/pytest/default.nix{
+  pytest_35 = callPackage ../development/python-modules/pytest {
     hypothesis = self.hypothesis.override {
       # hypothesis requires pytest that causes dependency cycle
       doCheck = false;
@@ -3110,7 +1896,7 @@ in {
   };
 
   # Needed for celery
-  pytest_32 = self.pytest_34.overrideAttrs( oldAttrs: rec {
+  pytest_32 = self.pytest_35.overrideAttrs( oldAttrs: rec {
     version = "3.2.5";
     src = oldAttrs.src.override {
       inherit version;
@@ -3124,50 +1910,9 @@ in {
 
   pytest-aiohttp = callPackage ../development/python-modules/pytest-aiohttp { };
 
-  pytestcache = buildPythonPackage rec {
-    name = "pytest-cache-1.0";
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/p/pytest-cache/pytest-cache-1.0.tar.gz";
-      sha256 = "1a873fihw4rhshc722j4h6j7g3nj7xpgsna9hhg3zn6ksknnhx5y";
-    };
+  pytestcache = callPackage ../development/python-modules/pytestcache { };
 
-    buildInputs = with self; [ pytest];
-    propagatedBuildInputs = with self ; [ execnet ];
-
-    checkPhase = ''
-      py.test
-    '';
-
-    # Too many failing tests. Are they maintained?
-    doCheck = false;
-
-    meta = {
-      license = licenses.mit;
-      homepage = "https://pypi.python.org/pypi/pytest-cache/";
-      description = "pytest plugin with mechanisms for caching across test runs";
-    };
-  };
-
-  pytest-catchlog = buildPythonPackage rec {
-    name = "pytest-catchlog-1.2.2";
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/p/pytest-catchlog/${name}.zip";
-      sha256 = "1w7wxh27sbqwm4jgwrjr9c2gy384aca5jzw9c0wzhl0pmk2mvqab";
-    };
-
-    buildInputs = with self; [ pytest ];
-
-    checkPhase = "make test";
-
-    # Requires pytest < 3.1
-    doCheck = false;
-
-    meta = {
-      license = licenses.mit;
-      homepage = https://pypi.python.org/pypi/pytest-catchlog/;
-      description = "py.test plugin to catch log messages. This is a fork of pytest-capturelog.";
-    };
-  };
+  pytest-catchlog = callPackage ../development/python-modules/pytest-catchlog { };
 
   pytest-cram = callPackage ../development/python-modules/pytest-cram { };
 
@@ -3175,31 +1920,7 @@ in {
 
   pytest-django = callPackage ../development/python-modules/pytest-django { };
 
-  pytest-fixture-config = buildPythonPackage rec {
-    name = "${pname}-${version}";
-    pname = "pytest-fixture-config";
-    version = "1.0.1";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/p/${pname}/${name}.tar.gz";
-      sha256 = "7d7cc1cb25f88a707f083b1dc2e3c2fdfc6f37709567a2587dd0cd0bcd70edb6";
-    };
-
-    buildInputs = with self; [ pytest ];
-    propagatedBuildInputs = with self; [ coverage virtualenv pytestcov six ];
-
-    checkPhase = ''
-      py.test -k "not test_yield_requires_config_doesnt_skip and not test_yield_requires_config_skips"
-    '';
-
-    meta = {
-      description = "Simple configuration objects for Py.test fixtures. Allows you to skip tests when their required config variables aren’t set.";
-      homepage = https://github.com/manahl/pytest-plugins;
-      license = licenses.mit;
-      maintainers = with maintainers; [ ryansydnor ];
-      platforms   = platforms.all;
-    };
-  };
+  pytest-fixture-config = callPackage ../development/python-modules/pytest-fixture-config { };
 
   pytest-forked = callPackage ../development/python-modules/pytest-forked { };
 
@@ -3207,28 +1928,9 @@ in {
 
   pytest-flake8 = callPackage ../development/python-modules/pytest-flake8 { };
 
-  pytestflakes = buildPythonPackage rec {
-    name = "pytest-flakes-${version}";
-    version = "1.0.1";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/p/pytest-flakes/${name}.tar.gz";
-      sha256 = "9c2271654294020e134624020a2144cb93b7334809d70fb3f470cd31ec788a3a";
-    };
-
-    buildInputs = with self; [ pytestpep8 pytest ];
-    propagatedBuildInputs = with self; [ pyflakes pytestcache ];
-
-    checkPhase = ''
-      py.test test_flakes.py
-    '';
+  pytestflakes = callPackage ../development/python-modules/pytest-flakes { };
 
-    meta = {
-      license = licenses.mit;
-      homepage = "https://pypi.python.org/pypi/pytest-flakes";
-      description = "pytest plugin to check source code with pyflakes";
-    };
-  };
+  pytest-isort = callPackage ../development/python-modules/pytest-isort { };
 
   pytest-mock = callPackage ../development/python-modules/pytest-mock { };
 
@@ -3236,180 +1938,31 @@ in {
 
   pytest-warnings = callPackage ../development/python-modules/pytest-warnings { };
 
-  pytestpep8 = buildPythonPackage rec {
-    name = "pytest-pep8";
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/p/pytest-pep8/pytest-pep8-1.0.6.tar.gz";
-      sha256 = "06032agzhw1i9d9qlhfblnl3dw5hcyxhagn7b120zhrszbjzfbh3";
-    };
-
-    buildInputs = with self; [ pytest ];
-    propagatedBuildInputs = with self; [ pytestcache pep8 ];
-
-    checkPhase = ''
-      py.test
-    '';
-
-    # Fails
-    doCheck = false;
-
-    meta = {
-      license = licenses.mit;
-      homepage = "https://pypi.python.org/pypi/pytest-pep8";
-      description = "pytest plugin to check PEP8 requirements";
-    };
-  };
+  pytestpep8 = callPackage ../development/python-modules/pytest-pep8 { };
 
   pytest-pep257 = callPackage ../development/python-modules/pytest-pep257 { };
 
-  pytest-raisesregexp = buildPythonPackage rec {
-    name = "pytest-raisesregexp-${version}";
-    version = "2.0";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/p/pytest-raisesregexp/${name}.tar.gz";
-      sha256 = "0fde8aac1a54f9b56e5f9c61fda76727542ed24968c27c6e3688c6f1885f1e61";
-    };
-
-    buildInputs = with self; [ py pytest ];
-
-    # https://github.com/kissgyorgy/pytest-raisesregexp/pull/3
-    prePatch = ''
-      sed -i '3i\import io' setup.py
-      substituteInPlace setup.py --replace "long_description=open('README.rst').read()," "long_description=io.open('README.rst', encoding='utf-8').read(),"
-    '';
-
-    meta = {
-      description = "Simple pytest plugin to look for regex in Exceptions";
-      homepage = https://github.com/Walkman/pytest_raisesregexp;
-      license = with licenses; [ mit ];
-    };
-  };
+  pytest-raisesregexp = callPackage ../development/python-modules/pytest-raisesregexp { };
 
   pytestrunner = callPackage ../development/python-modules/pytestrunner { };
 
   pytestquickcheck = callPackage ../development/python-modules/pytest-quickcheck { };
 
-  pytest-server-fixtures = buildPythonPackage rec {
-    name = "${pname}-${version}";
-    pname = "pytest-server-fixtures";
-    version = "1.1.0";
+  pytest-server-fixtures = callPackage ../development/python-modules/pytest-server-fixtures { };
 
-    buildInputs = with self; [ pytest ];
-    propagatedBuildInputs = with self; [ setuptools-git pytest-shutil pytest-fixture-config psutil requests ];
+  pytest-shutil = callPackage ../development/python-modules/pytest-shutil { };
 
-    meta = {
-      description = "Extensible server fixures for py.test";
-      homepage    = "https://github.com/manahl/pytest-plugins";
-      license     = licenses.mit;
-      maintainers = with maintainers; [ nand0p ];
-      platforms   = platforms.all;
-    };
-
-    doCheck = false;
-    # RuntimeError: Unable to find a free server number to start Xvfb
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/p/${pname}/${name}.tar.gz";
-      sha256 = "1gs9qimcn8q6xi9d6i5624l0dziwvn6nj2rda07fg15g1cq66s8l";
-    };
-  };
-
-  pytest-shutil = buildPythonPackage rec {
-    name = "pytest-shutil-${version}";
-    version = "1.2.8";
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/p/pytest-shutil/${name}.tar.gz";
-      sha256 = "924accaec3f3781416139e580386ab4f849cb8662bc1072405a81d3a5e56bf3d";
-    };
-    buildInputs = with self; [ cmdline pytest ];
-    propagatedBuildInputs = with self; [ pytestcov coverage setuptools-git mock pathpy execnet contextlib2 ];
-    meta = {
-      description = "A goodie-bag of unix shell and environment tools for py.test";
-      homepage = https://github.com/manahl/pytest-plugins;
-      maintainers = with maintainers; [ ryansydnor ];
-      platforms   = platforms.all;
-      license = licenses.mit;
-    };
-
-    checkPhase = ''
-      py.test
-    '';
-  };
-
-  pytestcov = buildPythonPackage rec {
-    name = "pytest-cov-2.4.0";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/p/pytest-cov/${name}.tar.gz";
-      sha256 = "03c2qc42r4bczyw93gd7n0qi1h1jfhw7fnbhi33c3vp1hs81gm2k";
-    };
-
-   buildInputs = with self; [ pytest pytest_xdist virtualenv process-tests ];
-   propagatedBuildInputs = with self; [ coverage ];
-
-   # xdist related tests fail with the following error
-   # OSError: [Errno 13] Permission denied: 'py/_code'
-   doCheck = false;
-   checkPhase = ''
-     # allow to find the module helper during the test run
-     export PYTHONPATH=$PYTHONPATH:$PWD/tests
-     py.test tests
-   '';
-
-    meta = {
-      description = "Plugin for coverage reporting with support for both centralised and distributed testing, including subprocesses and multiprocessing";
-      homepage = https://github.com/pytest-dev/pytest-cov;
-      license = licenses.mit;
-    };
-  };
+  pytestcov = callPackage ../development/python-modules/pytest-cov { };
 
   pytest-expect = callPackage ../development/python-modules/pytest-expect { };
 
-  pytest-virtualenv = buildPythonPackage rec {
-    name = "${pname}-${version}";
-    pname = "pytest-virtualenv";
-    version = "1.2.7";
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/p/${pname}/${name}.tar.gz";
-      sha256 = "51fb6468670624b2315aecaf1a2bbd698509e3ea6a1e28b094984c45e1376755";
-    };
-    buildInputs = with self; [ pytest pytestcov mock cmdline ];
-    propagatedBuildInputs = with self; [ pytest-fixture-config pytest-shutil ];
-    checkPhase = '' py.test tests/unit '';
-    meta = {
-      description = "Create a Python virtual environment in your test that cleans up on teardown. The fixture has utility methods to install packages and list what’s installed.";
-      homepage = https://github.com/manahl/pytest-plugins;
-      license = licenses.mit;
-      maintainers = with maintainers; [ ryansydnor ];
-      platforms   = platforms.all;
-    };
-  };
+  pytest-virtualenv = callPackage ../development/python-modules/pytest-virtualenv { };
 
   pytest_xdist = callPackage ../development/python-modules/pytest-xdist { };
 
   pytest-localserver = callPackage ../development/python-modules/pytest-localserver { };
 
-  pytest-subtesthack = buildPythonPackage rec {
-    name = "pytest-subtesthack-${version}";
-    version = "0.1.1";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/p/pytest-subtesthack/${name}.tar.gz";
-      sha256 = "15kzcr5pchf3id4ikdvlv752rc0j4d912n589l4rifp8qsj19l1x";
-    };
-
-    buildInputs = with self; [ pytest ];
-
-    # no upstream test
-    doCheck = false;
-
-    meta = {
-      description = "Terrible plugin to set up and tear down fixtures within the test function itself";
-      homepage = https://github.com/untitaker/pytest-subtesthack;
-      license = licenses.publicDomain;
-    };
-  };
+  pytest-subtesthack = callPackage ../development/python-modules/pytest-subtesthack { };
 
   pytest-sugar = callPackage ../development/python-modules/pytest-sugar { };
 
@@ -3440,125 +1993,23 @@ in {
     };
   };
 
+  tinycss2 = callPackage ../development/python-modules/tinycss2 { };
 
-  cssselect = buildPythonPackage rec {
-    name = "cssselect-${version}";
-    version = "0.9.1";
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/c/cssselect/${name}.tar.gz";
-      sha256 = "10h623qnp6dp1191jri7lvgmnd4yfkl36k9smqklp1qlf3iafd85";
-    };
-    # AttributeError: 'module' object has no attribute 'tests'
-    doCheck = false;
-  };
-
-  cssutils = buildPythonPackage (rec {
-    name = "cssutils-1.0.1";
+  cssselect = callPackage ../development/python-modules/cssselect { };
 
-    src = pkgs.fetchurl {
-      url = mirror://pypi/c/cssutils/cssutils-1.0.1.tar.gz;
-      sha256 = "0qwha9x1wml2qmipbcz03gndnlwhzrjdvw9i09si247a90l8p8fq";
-    };
+  cssselect2 = callPackage ../development/python-modules/cssselect2 { };
 
-    buildInputs = with self; [ self.mock ];
+  cssutils = callPackage ../development/python-modules/cssutils { };
 
-    # couple of failing tests
-    doCheck = false;
-
-    meta = {
-      description = "A Python package to parse and build CSS";
-
-      homepage = http://code.google.com/p/cssutils/;
-
-      license = licenses.lgpl3Plus;
-    };
-  });
-
-  darcsver = buildPythonPackage (rec {
-    name = "darcsver-1.7.4";
-    disabled = isPy3k;
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/d/darcsver/${name}.tar.gz";
-      sha256 = "1yb1c3jxqvy4r3qiwvnb86qi5plw6018h15r3yk5ji3nk54qdcb6";
-    };
-
-    buildInputs = with self; [ self.mock ];
-
-    # Note: We don't actually need to provide Darcs as a build input.
-    # Darcsver will DTRT when Darcs isn't available.  See news.gmane.org
-    # http://thread.gmane.org/gmane.comp.file-systems.tahoe.devel/3200 for a
-    # discussion.
-
-    # AttributeError: 'module' object has no attribute 'test_darcsver'
-    doCheck = false;
-
-    meta = {
-      description = "Darcsver, generate a version number from Darcs history";
-
-      homepage = https://pypi.python.org/pypi/darcsver;
-
-      license = "BSD-style";
-    };
-  });
+  darcsver = callPackage ../development/python-modules/darcsver { };
 
   dask = callPackage ../development/python-modules/dask { };
 
-  datrie = buildPythonPackage rec {
-    name = "datrie";
-    version = "0.7.1";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/d/datrie/datrie-${version}.tar.gz";
-      sha256 = "08r0if7dry2q7p34gf7ffyrlnf4bdvnprxgydlfxgfnvq8f3f4bs";
-    };
-
-    buildInputs = with self; [ pytest pytestrunner hypothesis ];
-    meta = {
-      description = "Super-fast, efficiently stored Trie for Python";
-      homepage = "https://github.com/kmike/datrie";
-      license = licenses.lgpl2;
-      maintainers = with maintainers; [ lewo ];
-    };
-  };
-
-  heapdict = buildPythonPackage rec {
-    name = "HeapDict-${version}";
-    version = "1.0.0";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/H/HeapDict/${name}.tar.gz";
-      sha256 = "0nhvxyjq6fp6zd7jzmk5x4fg6xhakqx9lhkp5yadzkqn0rlf7ja0";
-    };
-    doCheck = !isPy3k;
-    meta = {
-      description = "a heap with decrease-key and increase-key operations.";
-      homepage = http://stutzbachenterprises.com;
-      license = licenses.bsd3;
-      maintainers = with maintainers; [ teh ];
-    };
-  };
-
-  zict = buildPythonPackage rec {
-
-    name = "zict-${version}";
-    version = "0.1.1";
+  datrie = callPackage ../development/python-modules/datrie { };
 
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/z/zict/${name}.tar.gz";
-      sha256 = "12h95vbkbar1hc6cr1kpr6zr486grj3mpx4lznvmnai0iy6pbqp4";
-    };
+  heapdict = callPackage ../development/python-modules/heapdict { };
 
-    buildInputs = with self; [ pytest ];
-    propagatedBuildInputs = with self; [ heapdict ];
-
-    meta = {
-      description = "Mutable mapping tools.";
-      homepage = https://github.com/dask/zict;
-      license = licenses.bsd3;
-      maintainers = with maintainers; [ teh ];
-    };
-  };
+  zict = callPackage ../development/python-modules/zict { };
 
   distributed = buildPythonPackage rec {
 
@@ -3588,26 +2039,7 @@ in {
     };
   };
 
-  digital-ocean = buildPythonPackage rec {
-    name = "python-digitalocean-1.10.1";
-
-    propagatedBuildInputs = with self; [ requests ];
-
-    # Package doesn't distribute tests.
-    doCheck = false;
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/p/python-digitalocean/${name}.tar.gz";
-      sha256 = "12qybflfnl08acspz7rpaprmlabgrzimacbd7gm9qs5537hl3qnp";
-    };
-
-    meta = {
-      description = "digitalocean.com API to manage Droplets and Images";
-      homepage = https://pypi.python.org/pypi/python-digitalocean;
-      license = licenses.lgpl3;
-      maintainers = with maintainers; [ teh ];
-    };
-  };
+  digital-ocean = callPackage ../development/python-modules/digitalocean { };
 
   leather = callPackage ../development/python-modules/leather { };
 
@@ -3619,162 +2051,23 @@ in {
 
   linuxfd = callPackage ../development/python-modules/linuxfd { };
 
-  locket = buildPythonPackage rec {
-    name = "locket-${version}";
-    version = "0.2.0";
+  locket = callPackage ../development/python-modules/locket { };
 
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/l/locket/${name}.tar.gz";
-      sha256 = "1d4z2zngrpqkrfhnd4yhysh66kjn4mblys2l06sh5dix2p0n7vhz";
-    };
+  tblib = callPackage ../development/python-modules/tblib { };
 
-    buildInputs = with self; [ pytest ];
-    propagatedBuildInputs = with self; [  ];
-
-    # weird test requirements (spur.local>=0.3.7,<0.4)
-    doCheck = false;
-
-    meta = {
-      description = "Locket implements a lock that can be used by multiple processes provided they use the same path.";
-      homepage = "https://github.com/mwilliamson/locket.py";
-      license = licenses.bsd2;
-      maintainers = with maintainers; [ teh ];
-    };
-  };
-
-  tblib = buildPythonPackage rec {
-    name = "tblib-${version}";
-    version = "1.3.0";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/t/tblib/${name}.tar.gz";
-      sha256 = "02iahfkfa927hb4jq2bak36ldihwapzacfiq5lyxg8llwn98a1yi";
-    };
-
-    meta = {
-      description = "Traceback fiddling library. Allows you to pickle tracebacks.";
-      homepage = "https://github.com/ionelmc/python-tblib";
-      license = licenses.bsd2;
-      maintainers = with maintainers; [ teh ];
-    };
-  };
-
-  s3fs = buildPythonPackage rec {
-    name = "s3fs-${version}";
-    version = "0.0.8";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/s/s3fs/${name}.tar.gz";
-      sha256 = "0zbdzqrim0zig94fk1hswg4vfdjplw6jpx3pdi42qc830h0nscn8";
-    };
-
-    buildInputs = with self; [ docutils ];
-    propagatedBuildInputs = with self; [ boto3 ];
-
-    # Depends on `moto` which has a long dependency chain with exact
-    # version requirements that can't be made to work with current
-    # pythonPackages.
-    doCheck = false;
-
-    meta = {
-      description = "S3FS builds on boto3 to provide a convenient Python filesystem interface for S3.";
-      homepage = "http://github.com/dask/s3fs/";
-      license = licenses.bsd3;
-      maintainers = with maintainers; [ teh ];
-    };
-  };
+  s3fs = callPackage ../development/python-modules/s3fs { };
 
   datashape = callPackage ../development/python-modules/datashape { };
 
-  requests-cache = buildPythonPackage (rec {
-    name = "requests-cache-${version}";
-    version = "0.4.13";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/r/requests-cache/${name}.tar.gz";
-      sha256 = "18jpyivnq5pjbkymk3i473rihpj2bgikafpha7xvr6w736hiqmpy";
-    };
-
-    buildInputs = with self; [ mock ];
-
-    propagatedBuildInputs = with self; [ requests six urllib3 ];
-
-    meta = {
-      description = "Persistent cache for requests library";
-      homepage = https://pypi.python.org/pypi/requests-cache;
-      license = licenses.bsd3;
-    };
-  });
-
-  howdoi = buildPythonPackage (rec {
-    name = "howdoi-${version}";
-    version = "1.1.7";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/h/howdoi/${name}.tar.gz";
-      sha256 = "df4e49a219872324875d588e7699a1a82174a267e8487505e86bfcb180aea9b7";
-    };
-
-    propagatedBuildInputs = with self; [ self.six requests-cache pygments pyquery ];
-
-    meta = {
-      description = "Instant coding answers via the command line";
-      homepage = https://pypi.python.org/pypi/howdoi;
-      license = licenses.mit;
-    };
-  });
-
-  neurotools = buildPythonPackage (rec {
-    name = "NeuroTools-${version}";
-    version = "0.3.1";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/N/NeuroTools/${name}.tar.gz";
-      sha256 = "0ly6qa87l3afhksab06vp1iimlbm1kdnsw98mxcnpzz9q07l4nd4";
-    };
-
-    disabled = isPy3k;
-
-    # Tests are not automatically run
-    # Many tests fail (using py.test), and some need R
-    doCheck = false;
-
-    propagatedBuildInputs = with self; [
-      scipy
-      numpy
-      matplotlib
-      tables
-      pyaml
-      urllib3
-      rpy2
-      mpi4py
-    ];
-
-    meta = {
-      description = "Collection of tools to support analysis of neural activity";
-      homepage = https://pypi.python.org/pypi/NeuroTools;
-      license = licenses.gpl2;
-      maintainers = with maintainers; [ nico202 ];
-    };
-  });
+  requests-cache = callPackage ../development/python-modules/requests-cache { };
 
-  jdatetime = buildPythonPackage (rec {
-    name = "jdatetime-${version}";
-    version = "1.7.1";
+  requests-unixsocket = callPackage ../development/python-modules/requests-unixsocket {};
 
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/j/jdatetime/${name}.tar.gz";
-      sha256 = "c08ba5791c2350b26e87ddf478bf223108146e241b6c949538221b54afd633ac";
-    };
+  howdoi = callPackage ../development/python-modules/howdoi {};
 
-    propagatedBuildInputs = with self; [ self.six ];
+  neurotools = callPackage ../development/python-modules/neurotools {};
 
-    meta = {
-      description = "Jalali datetime binding for python";
-      homepage = https://pypi.python.org/pypi/jdatetime;
-      license = licenses.psfl;
-    };
-  });
+  jdatetime = callPackage ../development/python-modules/jdatetime {};
 
   daphne = callPackage ../development/python-modules/daphne { };
 
@@ -3786,72 +2079,17 @@ in {
   dateutil = self.python-dateutil;
 
   # Buildbot 0.8.7p1 needs dateutil==1.5
-  dateutil_1_5 = buildPythonPackage (rec {
-    name = "dateutil-1.5";
-
-    disabled = isPy3k;
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/p/python-dateutil/python-${name}.tar.gz";
-      sha256 = "02dhw57jf5kjcp7ng1if7vdrbnlpb9yjmz7wygwwvf3gni4766bg";
-    };
-
-    propagatedBuildInputs = with self; [ self.six ];
-
-    meta = {
-      description = "Powerful extensions to the standard datetime module";
-      homepage = https://pypi.python.org/pypi/python-dateutil;
-      license = "BSD-style";
-    };
-  });
+  dateutil_1_5 = callPackage ../development/python-modules/dateutil/1_5.nix { };
 
   decorator = callPackage ../development/python-modules/decorator { };
 
-  deform = buildPythonPackage rec {
-    name = "deform-2.0a2";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/d/deform/${name}.tar.gz";
-      sha256 = "3fa4d287c8da77a83556e4a5686de006ddd69da359272120b915dc8f5a70cabd";
-    };
-
-    buildInputs = with self; [] ++ optional isPy26 unittest2;
-
-    propagatedBuildInputs =
-      [ self.beautifulsoup4
-        self.peppercorn
-        self.colander
-        self.translationstring
-        self.chameleon
-        self.zope_deprecation
-        self.coverage
-        self.nose
-      ];
-
-    meta = {
-      maintainers = with maintainers; [ garbas domenkozar ];
-      platforms = platforms.all;
-    };
-  };
+  deform = callPackage ../development/python-modules/deform { };
 
   demjson = callPackage ../development/python-modules/demjson { };
 
-  derpconf = self.buildPythonPackage rec {
-    name = "derpconf-0.4.9";
-
-    propagatedBuildInputs = with self; [ six ];
+  deprecation = callPackage ../development/python-modules/deprecation { };
 
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/d/derpconf/${name}.tar.gz";
-      sha256 = "9129419e3a6477fe6366c339d2df8c614bdde82a639f33f2f40d4de9a1ed236a";
-    };
-
-    meta = {
-      description = "derpconf abstracts loading configuration files for your app";
-      homepage = https://github.com/globocom/derpconf;
-      license = licenses.mit;
-    };
-  };
+  derpconf = callPackage ../development/python-modules/derpconf { };
 
   deskcon = self.buildPythonPackage rec {
     name = "deskcon-0.3";
@@ -3898,69 +2136,11 @@ in {
 
   docker = callPackage ../development/python-modules/docker {};
 
-  dockerpty = buildPythonPackage rec {
-    name = "dockerpty-0.4.1";
+  dockerpty = callPackage ../development/python-modules/dockerpty {};
 
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/d/dockerpty/${name}.tar.gz";
-      sha256 = "1kjn64wx23jmr8dcc6g7bwlmrhfmxr77gh6iphqsl39sayfxdab9";
-    };
+  docker_pycreds = callPackage ../development/python-modules/docker-pycreds {};
 
-    propagatedBuildInputs = with self; [ six ];
-
-    meta = {
-      description = "Functionality needed to operate the pseudo-tty (PTY) allocated to a docker container";
-      homepage = https://github.com/d11wtq/dockerpty;
-      license = licenses.asl20;
-    };
-  };
-
-  docker_pycreds = buildPythonPackage rec {
-    name = "docker-pycreds-${version}";
-    version = "0.2.1";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/d/docker-pycreds/${name}.tar.gz";
-      sha256 = "0j3k5wk3bww5y0f2rvgzsin0q98k0i9j308vpsmxidw0y8n3m0wk";
-    };
-
-    doCheck = false; # require docker-credential-helpers binaries
-
-    propagatedBuildInputs = with self; [
-      six
-    ];
-
-    meta = {
-      description = "Python bindings for the docker credentials store API.";
-      homepage = https://github.com/shin-/dockerpy-creds;
-      license = licenses.asl20;
-    };
-  };
-
-  docker_registry_core = buildPythonPackage rec {
-    name = "docker-registry-core-2.0.3";
-    disabled = isPy3k;
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/d/docker-registry-core/${name}.tar.gz";
-      sha256 = "347e804f1f35b28dbe27bf8d7a0b630fca29d684032139bf26e3940572360360";
-    };
-
-    DEPS = "loose";
-
-    doCheck = false;
-    propagatedBuildInputs = with self; [
-      boto redis setuptools simplejson
-    ];
-
-    patchPhase = "> requirements/main.txt";
-
-    meta = {
-      description = "Docker registry core package";
-      homepage = https://github.com/docker/docker-registry;
-      license = licenses.asl20;
-    };
-  };
+  docker_registry_core = callPackage ../development/python-modules/docker-registry-core {};
 
   docker_registry = buildPythonPackage rec {
     name = "docker-registry-0.9.1";
@@ -3993,57 +2173,13 @@ in {
     };
   };
 
-  docopt = buildPythonPackage rec {
-    name = "docopt-0.6.2";
+  docopt = callPackage ../development/python-modules/docopt { };
 
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/d/docopt/${name}.tar.gz";
-      sha256 = "49b3a825280bd66b3aa83585ef59c4a8c82f2c8a522dbe754a8bc8d08c85c491";
-    };
-
-    meta = {
-      description = "Pythonic argument parser, that will make you smile";
-      homepage = http://docopt.org/;
-      license = licenses.mit;
-    };
-  };
-
-  doctest-ignore-unicode = buildPythonPackage rec {
-    name = "doctest-ignore-unicode-${version}";
-    version = "0.1.2";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/d/doctest-ignore-unicode/${name}.tar.gz";
-      sha256= "fc90b2d0846477285c6b67fc4cb4d6f39fcf76d8752f4df0a241486f31512ad5";
-    };
-
-    propagatedBuildInputs = with self; [ nose ];
-
-    meta = {
-      description = "Add flag to ignore unicode literal prefixes in doctests";
-      license = with licenses; [ asl20 ];
-      homepage = https://github.com/gnublade/doctest-ignore-unicode;
-    };
-  };
+  doctest-ignore-unicode = callPackage ../development/python-modules/doctest-ignore-unicode { };
 
   dogpile_cache = callPackage ../development/python-modules/dogpile.cache { };
 
-  dogpile_core = buildPythonPackage rec {
-    name = "dogpile.core-0.4.1";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/d/dogpile.core/dogpile.core-0.4.1.tar.gz";
-      sha256 = "be652fb11a8eaf66f7e5c94d418d2eaa60a2fe81dae500f3743a863cc9dbed76";
-    };
-
-    doCheck = false;
-
-    meta = {
-      description = "A 'dogpile' lock, typically used as a component of a larger caching solution";
-      homepage = https://bitbucket.org/zzzeek/dogpile.core;
-      license = licenses.bsd3;
-    };
-  };
+  dogpile_core = callPackage ../development/python-modules/dogpile.core { };
 
   dopy = buildPythonPackage rec {
     version = "2016-01-04";
@@ -4071,25 +2207,7 @@ in {
 
   urllib3 = callPackage ../development/python-modules/urllib3 {};
 
-  dropbox = buildPythonPackage rec {
-    name = "dropbox-${version}";
-    version = "8.0.0";
-    doCheck = false; # Set DROPBOX_TOKEN environment variable to a valid token.
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/d/dropbox/${name}.tar.gz";
-      sha256 = "0bixx80zjq0286dwm4zhg8bdhc8pqlrqy4n2jg7i6m6a4gv4gak5";
-    };
-
-    buildInputs = with self; [ pytestrunner ];
-    propagatedBuildInputs = with self; [ requests urllib3 mock setuptools ];
-
-    meta = {
-      description = "A Python library for Dropbox's HTTP-based Core and Datastore APIs";
-      homepage = https://www.dropbox.com/developers/core/docs;
-      license = licenses.mit;
-    };
-  };
+  dropbox = callPackage ../development/python-modules/dropbox {};
 
   ds4drv = callPackage ../development/python-modules/ds4drv {
     inherit (pkgs) fetchFromGitHub bluez;
@@ -4099,24 +2217,7 @@ in {
 
   easydict = callPackage ../development/python-modules/easydict { };
 
-  EasyProcess = buildPythonPackage rec {
-    name = "EasyProcess-0.2.3";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/E/EasyProcess/${name}.tar.gz";
-      sha256 = "94e241cadc9a46f55b5c06000df85618849602e7e1865b8de87576b90a22e61f";
-    };
-
-    # No tests
-    doCheck = false;
-
-    meta = {
-      description = "Easy to use python subprocess interface";
-      homepage = "https://github.com/ponty/EasyProcess";
-      license = licenses.bsdOriginal;
-      maintainers = with maintainers; [ layus ];
-    };
-  };
+  EasyProcess = callPackage ../development/python-modules/easyprocess { };
 
   easy-thumbnails = callPackage ../development/python-modules/easy-thumbnails { };
 
@@ -4359,6 +2460,10 @@ in {
     };
   };
 
+  face_recognition = callPackage ../development/python-modules/face_recognition { };
+
+  face_recognition_models = callPackage ../development/python-modules/face_recognition_models { };
+
   faker = callPackage ../development/python-modules/faker { };
 
   fake_factory = buildPythonPackage rec {
@@ -4464,41 +2569,13 @@ in {
 
   fpdf = callPackage ../development/python-modules/fpdf { };
 
-  fritzconnection = callPackage ../development/python-modules/fritzconnection { };
-
-  frozendict = buildPythonPackage rec {
-    name = "frozendict-0.5";
+  fpylll = callPackage ../development/python-modules/fpylll { };
 
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/f/frozendict/${name}.tar.gz";
-      sha256 = "0m4kg6hbadvf99if78nx01q7qnbyhdw3x4znl5dasgciyi54432n";
-    };
-
-    meta = {
-      homepage = https://github.com/slezica/python-frozendict;
-      description = "An immutable dictionary";
-      license = stdenv.lib.licenses.mit;
-    };
-  };
-
-  ftputil = buildPythonPackage rec {
-    version = "3.3";
-    name = "ftputil-${version}";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/f/ftputil/${name}.tar.gz";
-      sha256 = "1714w0v6icw2xjx5m54yv2qgkq49qwxwllq4gdb7wkz25iiapr8b";
-    };
+  fritzconnection = callPackage ../development/python-modules/fritzconnection { };
 
-    disabled = isPy3k;
+  frozendict = callPackage ../development/python-modules/frozendict { };
 
-    meta = {
-      description = "High-level FTP client library (virtual file system and more)";
-      homepage    = https://pypi.python.org/pypi/ftputil;
-      platforms   = platforms.linux;
-      license     = licenses.bsd2; # "Modified BSD license, says pypi"
-    };
-  };
+  ftputil = callPackage ../development/python-modules/ftputil { };
 
   fudge = buildPythonPackage rec {
     name = "fudge-1.1.0";
@@ -4745,56 +2822,11 @@ in {
 
   gpy = callPackage ../development/python-modules/gpy { };
 
-  gitdb = buildPythonPackage rec {
-    name = "gitdb-0.6.4";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/g/gitdb/${name}.tar.gz";
-      sha256 = "0n4n2c7rxph9vs2l6xlafyda5x1mdr8xy16r9s3jwnh3pqkvrsx3";
-    };
-
-    buildInputs = with self; [ nose ];
-    propagatedBuildInputs = with self; [ smmap ];
-
-    checkPhase = ''
-      nosetests
-    '';
-
-    doCheck = false; # Bunch of tests fail because they need an actual git repo
-
-    meta = {
-      description = "Git Object Database";
-      maintainers = with maintainers; [ ];
-      homepage = https://github.com/gitpython-developers/gitdb;
-      license = licenses.bsd3;
-    };
-
-  };
-
-  GitPython = buildPythonPackage rec {
-    version = "2.0.8";
-    name = "GitPython-${version}";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/G/GitPython/GitPython-${version}.tar.gz";
-      sha256 = "7c03d1130f903aafba6ae5b89ccf8eb433a995cd3120cbb781370e53fc4eb222";
-    };
-
-    buildInputs = with self; [ mock nose ];
-    propagatedBuildInputs = with self; [ gitdb ];
+  gitdb = callPackage ../development/python-modules/gitdb { };
 
-    # All tests error with
-    # InvalidGitRepositoryError: /tmp/nix-build-python2.7-GitPython-1.0.1.drv-0/GitPython-1.0.1
-    # Maybe due to being in a chroot?
-    doCheck = false;
+  gitdb2 = callPackage ../development/python-modules/gitdb2 { };
 
-    meta = {
-      description = "Python Git Library";
-      maintainers = with maintainers; [ ];
-      homepage = https://github.com/gitpython-developers/GitPython;
-      license = licenses.bsd3;
-    };
-  };
+  GitPython = callPackage ../development/python-modules/GitPython { };
 
   git-annex-adapter = callPackage ../development/python-modules/git-annex-adapter {
     inherit (pkgs.gitAndTools) git-annex;
@@ -4805,33 +2837,8 @@ in {
 
   google-compute-engine = callPackage ../tools/virtualization/google-compute-engine { };
 
-  gplaycli = buildPythonPackage rec {
-    version = "0.1.2";
-    name = "gplaycli-${version}";
-
-    src = pkgs.fetchFromGitHub {
-      owner = "matlink";
-      repo = "gplaycli";
-      rev = "${version}";
-      sha256 = "0yc09inzs3aggj0gw4irlhlzw5q562fsp0sks352y6z0vx31hcp3";
-    };
-
-   disabled = ! isPy27;
-
-   propagatedBuildInputs = with self; [ pkgs.libffi pyasn1 clint ndg-httpsclient protobuf requests args ];
-
-   preBuild = ''
-     substituteInPlace setup.py --replace "/etc" "$out/etc"
-     substituteInPlace gplaycli/gplaycli.py --replace "/etc" "$out/etc"
-   '';
-
-    meta = {
-      homepage = https://github.com/matlink/gplaycli;
-      description = "Google Play Downloader via Command line";
-      license = licenses.agpl3Plus;
-      maintainers = with maintainers; [ ];
-    };
-  };
+  gpapi = callPackage ../development/python-modules/gpapi { };
+  gplaycli = callPackage ../development/python-modules/gplaycli { };
 
   gpsoauth = buildPythonPackage rec {
     version = "0.2.0";
@@ -4898,12 +2905,11 @@ in {
         wrapProgram $out/bin/gtimelog \
           --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \
           --prefix LD_LIBRARY_PATH ":" "${pkgs.gtk3.out}/lib" \
-
     '';
 
     meta = {
       description = "A small Gtk+ app for keeping track of your time. It's main goal is to be as unintrusive as possible";
-      homepage = http://mg.pov.lt/gtimelog/;
+      homepage = https://mg.pov.lt/gtimelog/;
       license = licenses.gpl2Plus;
       maintainers = with maintainers; [ ocharles ];
       platforms = platforms.unix;
@@ -4964,7 +2970,7 @@ in {
       description = "Python humanize utilities";
       homepage = https://github.com/jmoiron/humanize;
       license = licenses.mit;
-      maintainers = with maintainers; [ matthiasbeyer ];
+      maintainers = with maintainers; [ ];
       platforms = platforms.linux; # can only test on linux
     };
 
@@ -5052,13 +3058,13 @@ in {
       description = "WSGI HTTP Digest Authentication middleware";
       homepage = https://github.com/jonashaag/httpauth;
       license = licenses.bsd2;
-      maintainers = with maintainers; [ matthiasbeyer ];
+      maintainers = with maintainers; [ ];
     };
   };
 
-  idna-ssl = callPackage ../development/python-modules/idna-ssl/default.nix { };
+  idna-ssl = callPackage ../development/python-modules/idna-ssl { };
 
-  ijson = callPackage ../development/python-modules/ijson/default.nix {};
+  ijson = callPackage ../development/python-modules/ijson {};
 
   imagesize = buildPythonPackage rec {
     name = "imagesize-${version}";
@@ -5077,29 +3083,9 @@ in {
 
   };
 
-  imbalanced-learn = buildPythonPackage rec {
-    name = "imbalanced-learn-${version}";
-    version = "0.3.2";
+  imbalanced-learn = callPackage ../development/python-modules/imbalanced-learn { };
 
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/i/imbalanced-learn/${name}.tar.gz";
-      sha256 = "0j76m0rrsvyqj9bimky9m7b609y5v6crf9apigww3xvcnchhj901";
-    };
-
-    preConfigure = ''
-      export HOME=$PWD
-    '';
-
-    propagatedBuildInputs = with self; [ scikitlearn ];
-    buildInputs = with self; [ nose pytest pandas ];
-
-    meta = {
-      description = "Library offering a number of re-sampling techniques commonly used in datasets showing strong between-class imbalance";
-      homepage = https://github.com/scikit-learn-contrib/imbalanced-learn;
-      license = with licenses; [ mit ];
-    };
-
-  };
+  immutables = callPackage ../development/python-modules/immutables {};
 
   imread = buildPythonPackage rec {
     name = "python-imread-${version}";
@@ -5215,10 +3201,14 @@ in {
 
   jdcal = callPackage ../development/python-modules/jdcal { };
 
+  jieba = callPackage ../development/python-modules/jieba { };
+
   internetarchive = callPackage ../development/python-modules/internetarchive {};
 
   JPype1 = callPackage ../development/python-modules/JPype1 {};
 
+  josepy = callPackage ../development/python-modules/josepy {};
+
   jsbeautifier = callPackage ../development/python-modules/jsbeautifier {};
 
   jug = callPackage ../development/python-modules/jug {};
@@ -5295,6 +3285,8 @@ in {
     };
   };
 
+  latexcodec = callPackage ../development/python-modules/latexcodec {};
+
   libsexy = callPackage ../development/python-modules/libsexy {
     libsexy = pkgs.libsexy;
   };
@@ -5327,6 +3319,7 @@ in {
     pname = "lightblue";
     version = "0.4";
     name = "${pname}-${version}";
+    disabled = isPy3k; # build fails, 2018-04-11
 
     src = pkgs.fetchurl {
       url = "mirror://sourceforge/${pname}/${name}.tar.gz";
@@ -5404,26 +3397,9 @@ in {
 
   jupyter_console = callPackage ../development/python-modules/jupyter_console { };
 
-  jupyterlab = buildPythonPackage rec {
-    name = "jupyterlab-${version}";
-    version = "0.4.1";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/j/jupyterlab/${name}.tar.gz";
-      sha256 = "91dc4d7dfb1e6ab97e28d6e3a2fc38f5f65d368201c00fd0ed077519258e67bb";
-    };
-
-    propagatedBuildInputs = with self; [ notebook ];
+  jupyterlab_launcher = callPackage ../development/python-modules/jupyterlab_launcher { };
 
-    # No tests in archive
-    doCheck = false;
-
-    meta = {
-      description = "Jupyter lab environment notebook server extension.";
-      license = with licenses; [ bsd3 ];
-      homepage = "http://jupyter.org/";
-    };
-  };
+  jupyterlab = callPackage ../development/python-modules/jupyterlab {};
 
   PyLTI = callPackage ../development/python-modules/pylti { };
 
@@ -5531,24 +3507,9 @@ in {
     };
   };
 
-  mt-940 = buildPythonPackage rec {
-    version = "4.10.0";
-    name = "mt-940-${version}";
+  misaka = callPackage ../development/python-modules/misaka {};
 
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/m/mt-940/mt-940-${version}.tar.gz";
-      sha256 = "1gyqf1k2r2ml45x08bk69ws865yrpcph514mn4xvjz779mlgh67j";
-    };
-
-    buildInputs = with self; [ pytestrunner pyyaml pytest ];
-    doCheck = false; # Can't find data files
-
-    meta = {
-      description = "A library to parse MT940 files and returns smart Python collections for statistics and manipulation";
-      homepage = "http://pythonhosted.org/mt-940/";
-      license = licenses.bsd3;
-    };
-  };
+  mt-940 = callPackage ../development/python-modules/mt-940 { };
 
   mwlib = let
     pyparsing = buildPythonPackage rec {
@@ -5649,15 +3610,6 @@ in {
 
   natsort = callPackage ../development/python-modules/natsort { };
 
-  logster = buildPythonPackage {
-    name = "logster-7475c53822";
-    src = pkgs.fetchgit {
-      url = git://github.com/etsy/logster;
-      rev = "7475c53822";
-      sha256 = "0565wxxiwksnly8rakb2r77k7lwzniq16kv861qd2ns9hgsjgy31";
-    };
-  };
-
   ncclient = callPackage ../development/python-modules/ncclient {};
 
   logfury = callPackage ../development/python-modules/logfury { };
@@ -5721,6 +3673,7 @@ in {
 
   odfpy = callPackage ../development/python-modules/odfpy { };
 
+  oset = callPackage ../development/python-modules/oset { };
 
   pamela = buildPythonPackage rec {
     name = "pamela-${version}";
@@ -5741,7 +3694,7 @@ in {
 
     meta = {
       description = "PAM interface using ctypes";
-      homepage = "http://github.com/minrk/pamela";
+      homepage = "https://github.com/minrk/pamela";
       license = licenses.mit;
     };
   };
@@ -5790,7 +3743,7 @@ in {
 
     meta = {
       description = "A Python-based build/distribution/deployment scripting tool";
-      homepage    = http://github.com/paver/paver;
+      homepage    = https://github.com/paver/paver;
       maintainers = with maintainers; [ lovek323 ];
       platforms   = platforms.unix;
     };
@@ -5896,34 +3849,9 @@ in {
 
   pomegranate = callPackage ../development/python-modules/pomegranate { };
 
-  poppler-qt4 = buildPythonPackage rec {
-    name = "poppler-qt4-${version}";
-    version = "0.18.1";
-    disabled = isPy3k || isPyPy;
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/p/python-poppler-qt4/" +
-            "python-poppler-qt4-${version}.tar.gz";
-      sha256 = "00e3f89f4e23a844844d082918a89c2cbb1e8231ecb011b81d592e7e3c33a74c";
-    };
-
-    propagatedBuildInputs = [ self.pyqt4 pkgs.pkgconfig pkgs.poppler_qt4 ];
-
-    preBuild = "${python}/bin/${python.executable} setup.py build_ext" +
-               " --include-dirs=${pkgs.poppler_qt4.dev}/include/poppler/";
-
-    NIX_CFLAGS_COMPILE = "-I${pkgs.poppler_qt4.dev}/include/poppler/";
-
-    meta = {
-      description = "A Python binding to Poppler-Qt4";
-      longDescription = ''
-        A Python binding to Poppler-Qt4 that aims for completeness
-        and for being actively maintained.
-      '';
-      license = licenses.lgpl21Plus;
-      maintainers = with maintainers; [ sepi ];
-      platforms = platforms.all;
-    };
+  poppler-qt5 = callPackage ../development/python-modules/poppler-qt5 {
+    inherit (pkgs.qt5) qtbase;
+    inherit (pkgs.libsForQt5) poppler;
   };
 
   poyo = buildPythonPackage rec {
@@ -5964,6 +3892,10 @@ in {
     };
   };
 
+  pybtex = callPackage ../development/python-modules/pybtex {};
+
+  pybtex-docutils = callPackage ../development/python-modules/pybtex-docutils {};
+
   pycallgraph = buildPythonPackage rec {
     name = "pycallgraph-${version}";
     version = "1.0.1";
@@ -6292,6 +4224,8 @@ in {
     };
   };
 
+  python-ctags3 = callPackage ../development/python-modules/python-ctags3 { };
+
   junos-eznc = callPackage ../development/python-modules/junos-eznc {};
 
   raven = callPackage ../development/python-modules/raven { };
@@ -6451,34 +4385,7 @@ in {
 
   };
 
-  py3status = buildPythonPackage rec {
-    version = "3.7";
-    name = "py3status-${version}";
-    src = pkgs.fetchFromGitHub {
-      owner = "ultrabug";
-      repo = "py3status";
-      rev = version;
-      sha256 = "1khrvxjjcm1bsswgrdgvyrdrimxx92yhql4gmji6a0kpp59dp541";
-    };
-    doCheck = false;
-    propagatedBuildInputs = with self; [ requests ];
-    buildInputs = with pkgs; [ file ];
-    prePatch = ''
-      sed -i -e "s|'file|'${pkgs.file}/bin/file|" py3status/parse_config.py
-      sed -i -e "s|\[\"acpi\"|\[\"${pkgs.acpi}/bin/acpi\"|" py3status/modules/battery_level.py
-      sed -i -e "s|notify-send|${pkgs.libnotify}/bin/notify-send|" py3status/modules/battery_level.py
-      sed -i -e "s|/usr/bin/whoami|${pkgs.coreutils}/bin/whoami|" py3status/modules/external_script.py
-      sed -i -e "s|'amixer|'${pkgs.alsaUtils}/bin/amixer|" py3status/modules/volume_status.py
-      sed -i -e "s|'i3-nagbar|'${pkgs.i3}/bin/i3-nagbar|" py3status/modules/pomodoro.py
-      sed -i -e "s|'free|'${pkgs.procps}/bin/free|" py3status/modules/sysdata.py
-      sed -i -e "s|'sensors|'${pkgs.lm_sensors}/bin/sensors|" py3status/modules/sysdata.py
-      sed -i -e "s|'setxkbmap|'${pkgs.xorg.setxkbmap}/bin/setxkbmap|" py3status/modules/keyboard_layout.py
-      sed -i -e "s|'xset|'${pkgs.xorg.xset}/bin/xset|" py3status/modules/keyboard_layout.py
-    '';
-    meta = {
-      maintainers = with maintainers; [ garbas ];
-    };
-  };
+  py3status = callPackage ../development/python-modules/py3status {};
 
   multi_key_dict = buildPythonPackage rec {
     name = "multi_key_dict-${version}";
@@ -6530,40 +4437,9 @@ in {
 
   schema = callPackage ../development/python-modules/schema {};
 
-  stem = buildPythonPackage rec {
-    name = "stem-${version}";
-    version = "1.6.0";
+  stem = callPackage ../development/python-modules/stem { };
 
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/s/stem/${name}.tar.gz";
-      sha256 = "1va9p3ij7lxg6ixfsvaql06dn11l3fgpxmss1dhlvafm7sqizznp";
-    };
-
-    meta = {
-      description = "Controller library that allows applications to interact with Tor (https://www.torproject.org/";
-      homepage = https://stem.torproject.org/;
-      license = licenses.gpl3;
-      maintainers = with maintainers; [ phreedom ];
-    };
-
-  };
-
-  svg-path = buildPythonPackage rec {
-    name = "svg.path-${version}";
-    version = "2.0b1";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/s/svg.path/${name}.zip";
-      sha256 = "038x4wqkbvcs71x6n6kzr4kn99csyv8v4gqzssr8pqylqpxi56bm";
-    };
-
-    meta = {
-      description = "SVG path objects and parser";
-      homepage = https://github.com/regebro/svg.path;
-      license = licenses.cc0;
-      maintainers = with maintainers; [ goibhniu ];
-    };
-  };
+  svg-path = callPackage ../development/python-modules/svg-path { };
 
   regex = callPackage ../development/python-modules/regex { };
 
@@ -7089,52 +4965,9 @@ in {
     };
   };
 
-  django_pipeline = buildPythonPackage rec {
-    name = "django-pipeline-${version}";
-    version = "1.5.1";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/d/django-pipeline/${name}.tar.gz";
-      sha256 = "1y49fa8jj7x9qjj5wzhns3zxwj0s73sggvkrv660cqw5qb7d8hha";
-    };
-
-    propagatedBuildInputs = with self; [ django futures ];
-
-    meta = with stdenv.lib; {
-      description = "Pipeline is an asset packaging library for Django";
-      homepage = https://github.com/cyberdelia/django-pipeline;
-      license = stdenv.lib.licenses.mit;
-    };
-  };
-
-  django_pipeline_1_3 = self.django_pipeline.overrideDerivation (super: rec {
-    name = "django-pipeline-1.3.27";
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/d/django-pipeline/${name}.tar.gz";
-      sha256 = "0iva3cmnh5jw54c7w83nx9nqv523hjvkbjchzd2pb6vzilxf557k";
-    };
-  });
-
-
-  djblets = if (versionOlder self.django.version "1.6.11") ||
-               (versionAtLeast self.django.version "1.9")
-            then throw "djblets only suported for Django<1.8.999,>=1.6.11"
-            else buildPythonPackage rec {
-    name = "Djblets-0.9";
-
-    src = pkgs.fetchurl {
-      url = "http://downloads.reviewboard.org/releases/Djblets/0.9/${name}.tar.gz";
-      sha256 = "1rr5vjwiiw3kih4k9nawislf701l838dbk5xgizadvwp6lpbpdpl";
-    };
-
-    propagatedBuildInputs = with self; [
-      django feedparser django_pipeline_1_3 pillowfight pytz ];
+  django_pipeline = callPackage ../development/python-modules/django-pipeline { };
 
-    meta = {
-      description = "A collection of useful extensions for Django";
-      homepage = https://github.com/djblets/djblets;
-    };
-  };
+  dj-database-url = callPackage ../development/python-modules/dj-database-url { };
 
   djmail = callPackage ../development/python-modules/djmail { };
 
@@ -7228,12 +5061,12 @@ in {
 
   hg-git = buildPythonPackage rec {
     name = "hg-git-${version}";
-    version = "0.8.10";
+    version = "0.8.11";
     disabled = isPy3k;
 
     src = pkgs.fetchurl {
       url = "mirror://pypi/h/hg-git/${name}.tar.gz";
-      sha256 = "03dzcs4l7hzq59sgjhngxgmi34xfyd7jcxyjl0f68rwq8b1yqrp3";
+      sha256 = "08kw1sj3sq1q1571hwkc51w20ks9ysmlg93pcnmd6gr66bz02dyn";
     };
 
     propagatedBuildInputs = with self; [ dulwich ];
@@ -7242,6 +5075,7 @@ in {
       description = "Push and pull from a Git server using Mercurial";
       homepage = http://hg-git.github.com/;
       maintainers = with maintainers; [ koral ];
+      license = stdenv.lib.licenses.gpl2;
     };
   };
 
@@ -7627,6 +5461,10 @@ in {
 
   flask_assets = callPackage ../development/python-modules/flask-assets { };
 
+  flask-autoindex = callPackage ../development/python-modules/flask-autoindex { };
+
+  flask-babel = callPackage ../development/python-modules/flask-babel { };
+
   flask_cache = buildPythonPackage rec {
     name = "Flask-Cache-0.13.1";
 
@@ -7676,6 +5514,8 @@ in {
 
   flask_script = callPackage ../development/python-modules/flask-script { };
 
+  flask-silk = callPackage ../development/python-modules/flask-silk { };
+
   flask_sqlalchemy = buildPythonPackage rec {
     name = "Flask-SQLAlchemy-${version}";
     version = "2.1";
@@ -7720,9 +5560,7 @@ in {
     };
   };
 
-  # py3k disabled, see https://travis-ci.org/NixOS/nixpkgs/builds/48759067
-  graph-tool = if isPy3k then throw "graph-tool in Nix doesn't support py3k yet"
-    else callPackage ../development/python-modules/graph-tool/2.x.x.nix { boost = pkgs.boost159; };
+  graph-tool = callPackage ../development/python-modules/graph-tool/2.x.x.nix { };
 
   grappelli_safe = buildPythonPackage rec {
     version = "0.3.13";
@@ -7752,7 +5590,17 @@ in {
     };
   };
 
-  pytorch = callPackage ../development/python-modules/pytorch { };
+  pytorch = callPackage ../development/python-modules/pytorch {
+    cudaSupport = pkgs.config.cudaSupport or false;
+  };
+
+  pytorchWithCuda = self.pytorch.override {
+    cudaSupport = true;
+  };
+
+  pytorchWithoutCuda = self.pytorch.override {
+    cudaSupport = false;
+  };
 
   python2-pythondialog = buildPythonPackage rec {
     name = "python2-pythondialog-${version}";
@@ -7936,7 +5784,7 @@ in {
 
     meta = {
       description = "Filesystem abstraction";
-      homepage    = http://pypi.python.org/pypi/fs;
+      homepage    = https://pypi.python.org/pypi/fs;
       license     = licenses.bsd3;
       maintainers = with maintainers; [ lovek323 ];
       platforms   = platforms.unix;
@@ -7976,43 +5824,17 @@ in {
   };
 
   future = callPackage ../development/python-modules/future { };
-
-  futures = buildPythonPackage rec {
-    name = "futures-${version}";
-    version = "3.1.1";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/f/futures/${name}.tar.gz";
-      sha256 = "1z9j05fdj2yszjmz4pmjhl2jdnwhdw80cjwfqq3ci0yx19gv9v2i";
-    };
-
-    # This module is for backporting functionality to Python 2.x, it's builtin in py3k
-    disabled = isPy3k;
-
-    checkPhase = ''
-        ${python.interpreter} -m unittest discover
-    '';
-
-    # Tests fail
-    doCheck = false;
-
-    meta = with pkgs.stdenv.lib; {
-      description = "Backport of the concurrent.futures package from Python 3.2";
-      homepage = "https://github.com/agronholm/pythonfutures";
-      license = licenses.bsd2;
-      maintainers = with maintainers; [ garbas ];
+  future15 = self.future.overridePythonAttrs (old: rec {
+    name = "future-${version}";
+    version = "0.15.2";
+    src = fetchPypi {
+      pname = "future";
+      version = "0.15.2";
+      sha256 = "15wvcfzssc68xqnqi1dq4fhd0848hwi9jn42hxyvlqna40zijfrx";
     };
-  };
+  });
 
-  futures_2_2 = self.futures.override rec {
-    version = "2.2.0";
-    name = "futures-${version}";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/f/futures/${name}.tar.gz";
-      sha256 = "1lqfzl3z3pkxakgbcrfy6x7x0fp3q18mj5lpz103ljj7fdqha70m";
-    };
-  };
+  futures = callPackage ../development/python-modules/futures { };
 
   gcovr = buildPythonPackage rec {
     name = "gcovr-2.4";
@@ -8249,14 +6071,14 @@ in {
 
   github3_py = buildPythonPackage rec {
     name = "github3.py-${version}";
-    version = "1.0.0a4";
+    version = "1.1.0";
 
     src = pkgs.fetchurl {
       url = "mirror://pypi/g/github3.py/${name}.tar.gz";
-      sha256 = "0rhnrhb7qc60h82hkd4wnj1jh544yzrf4pjmn4rqacdi59p7f3jp";
+      sha256 = "1cxaqdqmz9w2afc0cw2jyv783fp0grydbik0frzj79azzkhyg4gf";
     };
 
-    buildInputs = with self; [ unittest2 pytest mock betamax betamax-matchers ];
+    buildInputs = with self; [ unittest2 pytest mock betamax betamax-matchers dateutil ];
 
     propagatedBuildInputs = with self; [ requests pyopenssl uritemplate_py
       ndg-httpsclient requests_toolbelt pyasn1 ];
@@ -8329,27 +6151,7 @@ in {
 
   google_api_core = callPackage ../development/python-modules/google_api_core { };
 
-  google_api_python_client = buildPythonPackage rec {
-    name = "google-api-python-client-${version}";
-    version = "1.5.1";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/g/google-api-python-client/${name}.tar.gz";
-      sha256 = "1ggxk094vqr4ia6yq7qcpa74b4x5cjd5mj74rq0xx9wp2jkrxmig";
-    };
-
-    # No tests included in archive
-    doCheck = false;
-
-    propagatedBuildInputs = with self; [ httplib2 six oauth2client uritemplate ];
-
-    meta = {
-      description = "The core Python library for accessing Google APIs";
-      homepage = "https://code.google.com/p/google-api-python-client/";
-      license = licenses.asl20;
-      platforms = platforms.unix;
-    };
-  };
+  google_api_python_client = callPackage ../development/python-modules/google-api-python-client { };
 
   google_apputils = buildPythonPackage rec {
     name = "google-apputils-0.4.1";
@@ -8385,6 +6187,8 @@ in {
 
   google_gax = callPackage ../development/python-modules/google_gax { };
 
+  gpgme = toPythonModule (pkgs.gpgme.override { withPython=true; });
+
   grammalecte = callPackage ../development/python-modules/grammalecte { };
 
   greenlet = buildPythonPackage rec {
@@ -8487,6 +6291,8 @@ in {
     propagatedBuildInputs = with self; [ requests webob ];
   };
 
+  hdbscan = callPackage ../development/python-modules/hdbscan { };
+
   hmmlearn = callPackage ../development/python-modules/hmmlearn { };
 
   hcs_utils = callPackage ../development/python-modules/hcs_utils { };
@@ -8555,33 +6361,9 @@ in {
 
   httpbin = callPackage ../development/python-modules/httpbin { };
 
-  httplib2 = buildPythonPackage rec {
-    name = "httplib2-0.9.2";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/h/httplib2/${name}.tar.gz";
-      sha256 = "126rsryvw9vhbf3qmsfw9lf4l4xm2srmgs439lgma4cpag4s3ay3";
-    };
-
-    meta = {
-      homepage = http://code.google.com/p/httplib2;
-      description = "A comprehensive HTTP client library";
-      license = licenses.mit;
-      maintainers = with maintainers; [ garbas ];
-    };
-  };
-
-  hvac = buildPythonPackage rec {
-    name    = "hvac-${version}";
-    version = "0.2.15";
+  httplib2 = callPackage ../development/python-modules/httplib2 { };
 
-    src = pkgs.fetchurl {
-      url    = "https://pypi.python.org/packages/11/ba/6101780891b9d55f6174fa78b47d462c8c1f0cde34072b45fc39f7f8a77c/hvac-0.2.15.tar.gz";
-      sha256 = "0qxa4g1ij1bj27mbp8l54lcr7d5krkb2rayisc6shkpf2b51ip4c";
-    };
-
-    propagatedBuildInputs = with self; [ requests ];
-  };
+  hvac = callPackage ../development/python-modules/hvac { };
 
   hypothesis = callPackage ../development/python-modules/hypothesis { };
 
@@ -8704,7 +6486,7 @@ in {
     '';
 
     meta = {
-      homepage = "http://falcao.it/HTTPretty/";
+      homepage = "https://falcao.it/HTTPretty/";
       description = "HTTP client request mocking tool";
       license = licenses.mit;
     };
@@ -8850,24 +6632,7 @@ in {
     };
   };
 
-
-  ipy = buildPythonPackage rec {
-    version = "0.74";
-    name = "ipy-${version}";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/I/IPy/IPy-${version}.tar.gz";
-      sha256 = "5d6abb870c25f946c45c35cf50e66155598660f2765b35cb12e36ed5223c2b89";
-    };
-
-    # error: invalid command 'test'
-    doCheck = false;
-
-    meta = {
-      description = "Class and tools for handling of IPv4 and IPv6 addresses and networks";
-      homepage = https://pypi.python.org/pypi/IPy;
-    };
-  };
+  ipy = callPackage ../development/python-modules/IPy { };
 
   ipykernel = callPackage ../development/python-modules/ipykernel { };
 
@@ -8974,24 +6739,7 @@ in {
 
   iso8601 = callPackage ../development/python-modules/iso8601 { };
 
-  isort = buildPythonPackage rec {
-    name = "${pname}-${version}";
-    pname = "isort";
-    version = "4.2.5";
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/i/${pname}/${name}.tar.gz";
-      sha256 = "0p7a6xaq7zxxq5vr5gizshnsbk2afm70apg97xwfdxiwyi201cjn";
-    };
-    buildInputs = with self; [ mock pytest ];
-    # No tests distributed
-    doCheck = false;
-    meta = {
-      description = "A Python utility / library to sort Python imports";
-      homepage = https://github.com/timothycrosley/isort;
-      license = licenses.mit;
-      maintainers = with maintainers; [ couchemar nand0p ];
-    };
-  };
+  isort = callPackage ../development/python-modules/isort {};
 
   jabberbot = callPackage ../development/python-modules/jabberbot {};
 
@@ -9134,44 +6882,9 @@ in {
 
   keyutils = callPackage ../development/python-modules/keyutils { };
 
-  klaus = buildPythonPackage rec {
-    version = "0.9.1";
-    name = "klaus-${version}";
+  kiwisolver = callPackage ../development/python-modules/kiwisolver { };
 
-    src = pkgs.fetchurl {
-      url = "https://github.com/jonashaag/klaus/archive/${version}.tar.gz";
-      sha256 = "0k3v3p56hq8alm083grrp98znxkz1zqx0pczm2lah8qddbyrdkgm";
-    };
-
-    propagatedBuildInputs = with self;
-      [ humanize httpauth dulwich pygments flask six ];
-
-    meta = {
-      description = "The first Git web viewer that Just Works";
-      homepage    = "https://github.com/jonashaag/klaus";
-      #license     = licenses.mit; # I'm not sure about the license
-      maintainers = with maintainers; [ matthiasbeyer ];
-      platforms   = platforms.linux; # Can only test linux
-    };
-  };
-
-  klein = buildPythonPackage rec {
-    name = "klein-15.3.1";
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/k/klein/${name}.tar.gz";
-      sha256 = "1hl2psnn1chm698rimyn9dgcpl1mxgc8dj11b3ipp8z37yfjs3z9";
-    };
-
-    disabled = isPy3k;
-
-    propagatedBuildInputs = with self; [ werkzeug twisted ];
-
-    meta = {
-      description = "Klein Web Micro-Framework";
-      homepage    = "https://github.com/twisted/klein";
-      license     = licenses.mit;
-    };
-  };
+  klein = callPackage ../development/python-modules/klein { };
 
   koji = callPackage ../development/python-modules/koji { };
 
@@ -9198,57 +6911,20 @@ in {
 
     meta = {
       description = "Messaging library for Python";
-      homepage    = "http://github.com/celery/kombu";
+      homepage    = "https://github.com/celery/kombu";
       license     = licenses.bsd3;
     };
   };
 
-  konfig = buildPythonPackage rec {
-    name = "konfig-${version}";
-    version = "1.1";
-
-    # konfig unconditionaly depend on configparser, even if it is part of
-    # the standard library in python 3.2 or above.
-    disabled = isPy3k;
-
-    src = pkgs.fetchgit {
-      url = https://github.com/mozilla-services/konfig.git;
-      rev = "refs/tags/${version}";
-      sha256 = "1h780fbrv275dcik4cs3rincza805z6q726b48r4a0qmh5d8160c";
-    };
-
-    propagatedBuildInputs = with self; [ configparser six ];
-
-    patches = [ (pkgs.writeText "konfig.patch" ''
-      diff --git a/setup.py b/setup.py
-      index 96fd858..bb4db06 100644
-      --- a/setup.py
-      +++ b/setup.py
-      @@ -20,7 +20,7 @@ setup(name='konfig',
-             author_email="tarek@mozilla.com",
-             include_package_data=True,
-             install_requires = [
-      -        'configparser', 'argparse', 'six'
-      +        'configparser', 'six'
-             ],
-             zip_safe=False,
-             classifiers=classifiers,
-    '') ];
-
-    meta = {
-      description = "Yet Another Config Parser";
-      homepage    = "https://github.com/mozilla-services/konfig";
-      license     = licenses.mpl20;
-    };
-  };
+  konfig = callPackage ../development/python-modules/konfig { };
 
-  kitchen = callPackage ../development/python-modules/kitchen/default.nix { };
+  kitchen = callPackage ../development/python-modules/kitchen { };
 
-  kubernetes = callPackage ../development/python-modules/kubernetes/default.nix { };
+  kubernetes = callPackage ../development/python-modules/kubernetes { };
 
-  pylast = callPackage ../development/python-modules/pylast/default.nix { };
+  pylast = callPackage ../development/python-modules/pylast { };
 
-  pylru = callPackage ../development/python-modules/pylru/default.nix { };
+  pylru = callPackage ../development/python-modules/pylru { };
 
   lark-parser = callPackage ../development/python-modules/lark-parser { };
 
@@ -9331,6 +7007,8 @@ in {
 
   python-oauth2 = callPackage ../development/python-modules/python-oauth2 { };
 
+  python_openzwave = callPackage ../development/python-modules/python_openzwave { };
+
   python-Levenshtein = buildPythonPackage rec {
     name = "python-Levenshtein-${version}";
     version = "0.12.0";
@@ -9376,6 +7054,7 @@ in {
   libgpuarray = callPackage ../development/python-modules/libgpuarray {
     clblas = pkgs.clblas.override { boost = self.boost; };
     cudaSupport = pkgs.config.cudaSupport or false;
+    inherit (pkgs.linuxPackages) nvidia_x11;
   };
 
   librepo = toPythonModule (pkgs.librepo.override {
@@ -9473,7 +7152,7 @@ in {
     '';
 
     meta = {
-      homepage = http://launchpad.net/pylockfile;
+      homepage = https://launchpad.net/pylockfile;
       description = "Platform-independent advisory file locking capability for Python applications";
       license = licenses.asl20;
     };
@@ -9506,7 +7185,7 @@ in {
     };
   });
 
-  py_scrypt = callPackage ../development/python-modules/py_scrypt/default.nix { };
+  py_scrypt = callPackage ../development/python-modules/py_scrypt { };
 
   python_magic = callPackage ../development/python-modules/python-magic { };
 
@@ -9573,6 +7252,12 @@ in {
   mozversion = callPackage ../development/python-modules/marionette-harness/mozversion.nix {};
   marionette-harness = callPackage ../development/python-modules/marionette-harness {};
 
+  marisa = callPackage ../development/python-modules/marisa {
+    marisa = pkgs.marisa;
+  };
+
+  marisa-trie = callPackage ../development/python-modules/marisa-trie { };
+
   markupsafe = buildPythonPackage rec {
     name = "markupsafe-${version}";
     version = "1.0";
@@ -9715,13 +7400,13 @@ in {
   };
 
 
-  matplotlib = callPackage ../development/python-modules/matplotlib/default.nix {
+  matplotlib = callPackage ../development/python-modules/matplotlib {
     stdenv = if stdenv.isDarwin then pkgs.clangStdenv else pkgs.stdenv;
     enableGhostscript = true;
     inherit (pkgs.darwin.apple_sdk.frameworks) Cocoa;
   };
 
-  matrix-client = callPackage ../development/python-modules/matrix-client/default.nix { };
+  matrix-client = callPackage ../development/python-modules/matrix-client { };
 
   maya = callPackage ../development/python-modules/maya { };
 
@@ -9749,7 +7434,7 @@ in {
     };
   });
 
-  MechanicalSoup = callPackage ../development/python-modules/MechanicalSoup/default.nix { };
+  MechanicalSoup = callPackage ../development/python-modules/MechanicalSoup { };
 
   meld3 = buildPythonPackage rec {
     name = "meld3-1.0.0";
@@ -9867,6 +7552,8 @@ in {
 
   micawber = callPackage ../development/python-modules/micawber { };
 
+  milksnake = callPackage ../development/python-modules/milksnake { };
+
   minimock = buildPythonPackage rec {
     version = "1.2.8";
     name = "minimock-${version}";
@@ -9906,6 +7593,8 @@ in {
     };
   };
 
+  mozterm = callPackage ../development/python-modules/mozterm { };
+
   mplleaflet = callPackage ../development/python-modules/mplleaflet { };
 
   multidict = callPackage ../development/python-modules/multidict { };
@@ -10082,6 +7771,8 @@ in {
     };
   });
 
+  mock-open = callPackage ../development/python-modules/mock-open { };
+
   modestmaps = buildPythonPackage rec {
     name = "ModestMaps-1.4.6";
 
@@ -10227,33 +7918,12 @@ in {
 
   };
 
-
-  mrbob = buildPythonPackage rec {
-    name = "mrbob-${version}";
-    version = "0.1.2";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/m/mr.bob/mr.bob-${version}.tar.gz";
-      sha256 = "6737eaf98aaeae85e07ebef844ee5156df2f06a8b28d7c3dcb056f811c588121";
-    };
-
-    buildInputs = [ pkgs.glibcLocales self.mock ];
-
-    disabled = isPy3k;
-
-    LC_ALL="en_US.UTF-8";
-
-    propagatedBuildInputs = with self; [ argparse jinja2 six ] ++
-                            (optionals isPy26 [ importlib ordereddict ]);
-
-    meta = {
-      homepage = https://github.com/domenkozar/mr.bob.git;
-      description = "A tool to generate code skeletons from templates";
-    };
-  };
+  mrbob = callPackage ../development/python-modules/mrbob {};
 
   msgpack = callPackage ../development/python-modules/msgpack {};
 
+  msgpack-numpy = callPackage ../development/python-modules/msgpack-numpy {};
+
   msgpack-python = self.msgpack.overridePythonAttrs {
     pname = "msgpack-python";
     postPatch = ''
@@ -10356,26 +8026,7 @@ in {
     };
   };
 
-  mutagen = buildPythonPackage (rec {
-    name = "mutagen-1.36";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/m/mutagen/${name}.tar.gz";
-      sha256 = "1kabb9b81hgvpd3wcznww549vss12b1xlvpnxg1r6n4c7gikgvnp";
-    };
-
-    # Needed for tests only
-    buildInputs = with self; [ pkgs.faad2 pkgs.flac pkgs.vorbis-tools pkgs.liboggz
-      pkgs.glibcLocales pytest
-    ];
-    LC_ALL = "en_US.UTF-8";
-
-    meta = {
-      description = "Python multimedia tagging library";
-      homepage = http://code.google.com/p/mutagen;
-      license = licenses.lgpl2;
-    };
-  });
+  mutagen = callPackage ../development/python-modules/mutagen { };
 
 
   muttils = buildPythonPackage (rec {
@@ -10399,6 +8050,8 @@ in {
 
   mygpoclient = callPackage ../development/python-modules/mygpoclient { };
 
+  mysqlclient = callPackage ../development/python-modules/mysqlclient { };
+
   mwclient = buildPythonPackage rec {
     version = "0.8.3";
     pname = "mwclient";
@@ -10488,6 +8141,8 @@ in {
     };
   };
 
+  pytaglib = callPackage ../development/python-modules/pytaglib { };
+
   pyte = callPackage ../development/python-modules/pyte { };
 
   graphviz = buildPythonPackage rec {
@@ -10510,6 +8165,8 @@ in {
 
   pygraphviz = callPackage ../development/python-modules/pygraphviz { };
 
+  pymc3 = callPackage ../development/python-modules/pymc3 { };
+
   pympler = buildPythonPackage rec {
     pname = "Pympler";
     version = "0.4.3";
@@ -10618,24 +8275,6 @@ in {
 
   mysql-connector = callPackage ../development/python-modules/mysql-connector { };
 
-  mysql_connector_repackaged = buildPythonPackage rec {
-    name = "mysql-connector-repackaged-0.3.1";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/m/mysql-connector-repackaged/${name}.tar.gz";
-      sha256 = "170fbf11c54def1b5fcc919be0a890b760bb2eca81f56123a5dda0c69b5b099e";
-    };
-
-    # Judging from SyntaxError
-    disabled = isPy3k;
-
-    meta = {
-      maintainers = with maintainers; [ garbas domenkozar ];
-      platforms = platforms.linux;
-    };
-  };
-
-
   namebench = buildPythonPackage (rec {
     name = "namebench-1.3.1";
     disabled = isPy3k || isPyPy;
@@ -10704,19 +8343,30 @@ in {
 
   sleekxmpp = buildPythonPackage rec {
     name = "sleekxmpp-${version}";
-    version = "1.3.1";
+    version = "1.3.3";
 
-    propagatedBuildInputs = with self ; [ dnspython pyasn1 ];
+    patches = [
+      # Fix https://github.com/etingof/pyasn1/issues/112
+      (pkgs.fetchpatch {
+        url = "https://github.com/kdschlosser/SleekXMPP/commit/597014ba5ca258763e96ee37729ac933c5af1602.patch";
+        sha256 = "176v3f3pr0bx48wv1kf9jn2pwxdn7qpqyc2chwv1m8gbppsfaikf";
+      })
+    ];
+
+    propagatedBuildInputs = with self; [ dnspython pyasn1 pyasn1-modules gevent ];
+    checkInputs = [ pkgs.gnupg ];
+    checkPhase = "${python.interpreter} testall.py";
+    doCheck = false; # Tests failed all this time and upstream doesn't seem to care.
 
     src = pkgs.fetchurl {
       url = "mirror://pypi/s/sleekxmpp/${name}.tar.gz";
-      sha256 = "1krkhkvj8xw5a6c2xlf7h1rg9xdcm9d8x2niivwjahahpvbl6krr";
+      sha256 = "0samiq1d97kk8g9pszfbrbfw9zc41zp6017dbkwha9frf7gc24yj";
     };
 
     meta = {
       description = "XMPP library for Python";
       license = licenses.mit;
-      homepage = "http://sleekxmpp.com/";
+      homepage = http://sleekxmpp.com/;
     };
   };
 
@@ -10785,7 +8435,7 @@ in {
     };
 
     meta = {
-      homepage = http://alastairs-place.net/projects/netifaces/;
+      homepage = https://alastairs-place.net/projects/netifaces/;
       description = "Portable access to network interfaces from Python";
     };
   };
@@ -10805,48 +8455,7 @@ in {
     };
   };
 
-  nevow = buildPythonPackage (rec {
-    name = "nevow-${version}";
-    version = "0.14.2";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/N/Nevow/Nevow-${version}.tar.gz";
-      sha256 = "0wsh40ysj5gvfc777nrdvf5vbkr606r1gh7ibvw7x8b5g8afdy3y";
-      name = "${name}.tar.gz";
-    };
-
-    disabled = isPy3k;
-
-    propagatedBuildInputs = with self; [ twisted ];
-
-    postInstall = "twistd --help > /dev/null";
-
-    meta = {
-      description = "Nevow, a web application construction kit for Python";
-
-      longDescription = ''
-        Nevow - Pronounced as the French "nouveau", or "noo-voh", Nevow
-        is a web application construction kit written in Python.  It is
-        designed to allow the programmer to express as much of the view
-        logic as desired in Python, and includes a pure Python XML
-        expression syntax named stan to facilitate this.  However it
-        also provides rich support for designer-edited templates, using
-        a very small XML attribute language to provide bi-directional
-        template manipulation capability.
-
-        Nevow also includes formless, a declarative syntax for
-        specifying the types of method parameters and exposing these
-        methods to the web.  Forms can be rendered automatically, and
-        form posts will be validated and input coerced, rendering error
-        pages if appropriate.  Once a form post has validated
-        successfully, the method will be called with the coerced values.
-      '';
-
-      homepage = http://divmod.org/trac/wiki/DivmodNevow;
-
-      license = "BSD-style";
-    };
-  });
+  nevow = callPackage ../development/python-modules/nevow { };
 
   nibabel = callPackage ../development/python-modules/nibabel {};
 
@@ -11170,7 +8779,7 @@ in {
   dynd = buildPythonPackage rec {
     version = "0.7.2";
     name = "dynd-${version}";
-    disabled = isPyPy;
+    disabled = isPyPy || !isPy3k; # tests fail on python2, 2018-04-11
 
     src = pkgs.fetchFromGitHub {
       owner = "libdynd";
@@ -11200,6 +8809,8 @@ in {
     };
   };
 
+  langcodes = callPackage ../development/python-modules/langcodes { };
+
   livestreamer = buildPythonPackage rec {
     version = "1.12.2";
     name = "livestreamer-${version}";
@@ -11295,23 +8906,7 @@ in {
     };
   });
 
-  oauth2client = buildPythonPackage rec {
-    name = "oauth2client-1.4.12";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/o/oauth2client/${name}.tar.gz";
-      sha256 = "0phfk6s8bgpap5xihdk1xv2lakdk1pb3rg6hp2wsg94hxcxnrakl";
-    };
-
-    propagatedBuildInputs = with self; [ six httplib2 pyasn1-modules rsa ];
-    doCheck = false;
-
-    meta = {
-      description = "A client library for OAuth 2.0";
-      homepage = https://github.com/google/oauth2client/;
-      license = licenses.bsd2;
-    };
-  };
+  oauth2client = callPackage ../development/python-modules/oauth2client { };
 
   oauthlib = buildPythonPackage rec {
     version = "2.0.0";
@@ -11380,7 +8975,7 @@ in {
 
     meta = {
       description = "Draws Python object reference graphs with graphviz";
-      homepage = http://mg.pov.lt/objgraph/;
+      homepage = https://mg.pov.lt/objgraph/;
       license = licenses.mit;
     };
   };
@@ -11400,6 +8995,8 @@ in {
 
   openpyxl = callPackage ../development/python-modules/openpyxl { };
 
+  opentimestamps = callPackage ../development/python-modules/opentimestamps { };
+
   ordereddict = buildPythonPackage rec {
     name = "ordereddict-${version}";
     version = "1.1";
@@ -11443,46 +9040,7 @@ in {
 
   plone-testing = callPackage ../development/python-modules/plone-testing { };
 
-  ply = buildPythonPackage (rec {
-    name = "ply-3.8";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/p/ply/${name}.tar.gz";
-      sha256 = "e7d1bdff026beb159c9942f7a17e102c375638d9478a7ecd4cc0c76afd8de0b8";
-    };
-
-    checkPhase = ''
-      ${python.interpreter} test/testlex.py
-      ${python.interpreter} test/testyacc.py
-    '';
-
-    # Test suite appears broken
-    doCheck = false;
-
-    meta = {
-      homepage = http://www.dabeaz.com/ply/;
-
-      description = "PLY (Python Lex-Yacc), an implementation of the lex and yacc parsing tools for Python";
-
-      longDescription = ''
-        PLY is an implementation of lex and yacc parsing tools for Python.
-        In a nutshell, PLY is nothing more than a straightforward lex/yacc
-        implementation.  Here is a list of its essential features: It's
-        implemented entirely in Python; It uses LR-parsing which is
-        reasonably efficient and well suited for larger grammars; PLY
-        provides most of the standard lex/yacc features including support for
-        empty productions, precedence rules, error recovery, and support for
-        ambiguous grammars; PLY is straightforward to use and provides very
-        extensive error checking; PLY doesn't try to do anything more or less
-        than provide the basic lex/yacc functionality.  In other words, it's
-        not a large parsing framework or a component of some larger system.
-      '';
-
-      license = licenses.bsd3;
-
-      maintainers = [ ];
-    };
-  });
+  ply = callPackage ../development/python-modules/ply { };
 
   plyvel = buildPythonPackage (rec {
     name = "plyvel-0.9";
@@ -11586,34 +9144,7 @@ in {
     };
   };
 
-  WSME = buildPythonPackage rec {
-    name = "WSME-${version}";
-    version = "0.8.0";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/W/WSME/${name}.tar.gz";
-      sha256 = "1nw827iz5g9jlfnfbdi8kva565v0kdjzba2lccziimj09r71w900";
-    };
-
-    checkPhase = ''
-      # remove turbogears tests as we don't have it packaged
-      rm tests/test_tg*
-      # remove flask since we don't have flask-restful
-      rm tests/test_flask*
-      # https://bugs.launchpad.net/wsme/+bug/1510823
-      ${if isPy3k then "rm tests/test_cornice.py" else ""}
-
-      nosetests tests/
-    '';
-
-    propagatedBuildInputs = with self; [
-      pbr six simplegeneric netaddr pytz webob
-    ];
-    buildInputs = with self; [
-      cornice nose webtest pecan transaction cherrypy sphinx
-    ];
-  };
-
+  WSME = callPackage ../development/python-modules/WSME { };
 
   zake = buildPythonPackage rec {
     name = "zake-${version}";
@@ -11707,23 +9238,7 @@ in {
     };
   };
 
-  ldappool = buildPythonPackage rec {
-    name = "ldappool-${version}";
-    version = "1.0";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/l/ldappool/${name}.tar.gz";
-      sha256 = "1akmzf51cjfvmd0nvvm562z1w9vq45zsx6fa72kraqgsgxhnrhqz";
-    };
-
-    # Judging from SyntaxError
-    disabled = isPy3k;
-
-    meta = with stdenv.lib; {
-      homepage = "https://github.com/mozilla-services/ldappool";
-    };
-  };
-
+  ldappool = callPackage ../development/python-modules/ldappool { };
 
   lz4 = buildPythonPackage rec {
     name = "lz4-0.8.2";
@@ -11811,22 +9326,9 @@ in {
 
   olefile = callPackage ../development/python-modules/olefile { };
 
-  requests-mock = buildPythonPackage rec {
-    name = "requests-mock-${version}";
-    version = "1.3.0";
+  requests-mock = callPackage ../development/python-modules/requests-mock { };
 
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/r/requests-mock/${name}.tar.gz";
-      sha256 = "0jr997dvk6zbmhvbpcv3rajrgag69mcsm1ai3w3rgk2jdh6rg1mx";
-    };
-
-    patchPhase = ''
-      sed -i 's@python@${python.interpreter}@' .testr.conf
-    '';
-
-    buildInputs = with self; [ pbr testtools testrepository mock ];
-    propagatedBuildInputs = with self; [ six requests ];
-  };
+  mecab-python3 = callPackage ../development/python-modules/mecab-python3 { };
 
   mox3 = buildPythonPackage rec {
     name = "mox3-${version}";
@@ -11851,18 +9353,7 @@ in {
 
   doc8 = callPackage ../development/python-modules/doc8 { };
 
-  wrapt = buildPythonPackage rec {
-    name = "wrapt-${version}";
-    version = "1.10.5";
-
-    # No tests in archive
-    doCheck = false;
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/w/wrapt/${name}.tar.gz";
-      sha256 = "0cq8rlpzkxzk48b50yrfhzn1d1hrq4gjcdqlrgq4v5palgiv9jwr";
-    };
-  };
+  wrapt = callPackage ../development/python-modules/wrapt { };
 
   pagerduty = buildPythonPackage rec {
     name = "pagerduty-${version}";
@@ -12066,24 +9557,7 @@ in {
     };
   };
 
-  patsy = buildPythonPackage rec {
-    name = "patsy-${version}";
-    version = "0.3.0";
-
-    src = pkgs.fetchurl{
-      url = "mirror://pypi/p/patsy/${name}.zip";
-      sha256 = "a55dd4ca09af4b9608b81f30322beb450510964c022708ab50e83a065ccf15f0";
-    };
-
-    buildInputs = with self; [ nose ];
-    propagatedBuildInputs = with self; [six numpy];
-
-    meta = {
-      description = "A Python package for describing statistical models";
-      homepage = "https://github.com/pydata/patsy";
-      license = licenses.bsd2;
-    };
-  };
+  patsy = callPackage ../development/python-modules/patsy { };
 
   paste = buildPythonPackage rec {
     name = "paste-${version}";
@@ -12147,6 +9621,8 @@ in {
     };
   };
 
+  patator = callPackage ../development/python-modules/patator { };
+
   pathlib = buildPythonPackage rec {
     name = "pathlib-${version}";
     version = "1.0.1";
@@ -12172,22 +9648,7 @@ in {
 
   pathpy = callPackage ../development/python-modules/path.py { };
 
-  paypalrestsdk = buildPythonPackage rec {
-    name = "paypalrestsdk-0.7.0";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/p/paypalrestsdk/${name}.tar.gz";
-      sha256 = "117kfipzfahf9ysv414bh1mmm5cc9ck5zb6rhpslx1f8gk3frvd6";
-    };
-
-    propagatedBuildInputs = with self; [ httplib2 ];
-
-    meta = {
-      homepage = https://developer.paypal.com/;
-      description = "Python APIs to create, process and manage payment";
-      license = "PayPal SDK License";
-    };
-  };
+  paypalrestsdk = callPackage ../development/python-modules/paypalrestsdk { };
 
   pbr = callPackage ../development/python-modules/pbr { };
 
@@ -12274,6 +9735,8 @@ in {
     };
   };
 
+    periodictable = callPackage ../development/python-modules/periodictable { };
+
   pg8000 = buildPythonPackage rec {
     name = "pg8000-1.10.1";
 
@@ -12359,31 +9822,7 @@ in {
 
   piexif = callPackage ../development/python-modules/piexif { };
 
-  pip = buildPythonPackage rec {
-    pname = "pip";
-    version = "9.0.1";
-    name = "${pname}-${version}";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/${builtins.substring 0 1 pname}/${pname}/${name}.tar.gz";
-      sha256 = "09f243e1a7b461f654c26a725fa373211bb7ff17a9300058b205c61658ca940d";
-    };
-
-    # pip detects that we already have bootstrapped_pip "installed", so we need
-    # to force it a little.
-    installFlags = [ "--ignore-installed" ];
-
-    checkInputs = with self; [ mock scripttest virtualenv pretend pytest ];
-    # Pip wants pytest, but tests are not distributed
-    doCheck = false;
-
-    meta = {
-      description = "The PyPA recommended tool for installing Python packages";
-      license = licenses.mit;
-      homepage = https://pip.pypa.io/;
-      priority = 10;
-    };
-  };
+  pip = callPackage ../development/python-modules/pip { };
 
   pip-tools = callPackage ../development/python-modules/pip-tools {
     git = pkgs.gitMinimal;
@@ -12412,9 +9851,12 @@ in {
   };
 
   pika-pool = callPackage ../development/python-modules/pika-pool { };
-  platformio = callPackage ../development/python-modules/platformio { };
 
-  kmsxx = callPackage ../development/libraries/kmsxx { };
+  kmsxx = (callPackage ../development/libraries/kmsxx {
+    inherit (pkgs.kmsxx) stdenv;
+  }).overrideAttrs (oldAttrs: {
+    name = "${python.libPrefix}-${pkgs.kmsxx.name}";
+  });
 
   pybase64 = callPackage ../development/python-modules/pybase64 { };
 
@@ -12547,25 +9989,7 @@ in {
 
   plumbum = callPackage ../development/python-modules/plumbum { };
 
-
-  polib = buildPythonPackage rec {
-    name = "polib-${version}";
-    version = "1.0.4";
-
-    src = pkgs.fetchurl {
-      url = "http://bitbucket.org/izi/polib/downloads/${name}.tar.gz";
-      sha256 = "16klwlswfbgmkzrra80fgzhic9447pk3mnr75r2fkz72bkvpcclb";
-    };
-
-    # error: invalid command 'test'
-    doCheck = false;
-
-    meta = {
-      description = "A library to manipulate gettext files (po and mo files)";
-      homepage = "http://bitbucket.org/izi/polib/";
-      license = licenses.mit;
-    };
-  };
+  polib = callPackage ../development/python-modules/polib {};
 
   posix_ipc = buildPythonPackage rec {
     name = "posix_ipc-${version}";
@@ -12669,7 +10093,7 @@ in {
   protobuf = callPackage ../development/python-modules/protobuf {
     disabled = isPyPy;
     doCheck = !isPy3k;
-    protobuf = pkgs.protobuf;
+    protobuf = pkgs.protobuf3_5;
   };
 
   protobuf3_1 = callPackage ../development/python-modules/protobuf {
@@ -12709,35 +10133,10 @@ in {
 
   ptpython = callPackage ../development/python-modules/ptpython {};
 
-  publicsuffix = buildPythonPackage rec {
-    name = "publicsuffix-${version}";
-    version = "1.1.0";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/p/publicsuffix/${name}.tar.gz";
-      sha256 = "1adx520249z2cy7ykwjr1k190mn2888wqn9jf8qm27ly4qymjxxf";
-    };
-
-    # fix the ASCII-mode LICENSE file read
-    # disable test_fetch and the doctests (which also invoke fetch)
-    patchPhase = optionalString isPy3k ''
-      sed -i "s/)\.read(/,encoding='utf-8'\0/" setup.py
-    '' + ''
-      sed -i -e "/def test_fetch/i\\
-      \\t@unittest.skip('requires internet')" -e "/def additional_tests():/,+1d" tests.py
-    '';
-
-    meta = {
-      description = "Allows to get the public suffix of a domain name";
-      homepage = "http://pypi.python.org/pypi/publicsuffix/";
-      license = licenses.mit;
-    };
-  };
-
+  publicsuffix = callPackage ../development/python-modules/publicsuffix {};
 
   py = callPackage ../development/python-modules/py { };
 
-
   pyacoustid = buildPythonPackage rec {
     name = "pyacoustid-1.1.0";
 
@@ -12847,6 +10246,8 @@ in {
     };
   };
 
+  python-pushover = callPackage ../development/python-modules/pushover {};
+
   mongodict = buildPythonPackage rec {
     name = "mongodict-${version}";
     version = "0.3.1";
@@ -12889,32 +10290,7 @@ in {
     };
   };
 
-
-
-  vobject = buildPythonPackage rec {
-    version = "0.9.5";
-    name = "vobject-${version}";
-
-    src = pkgs.fetchFromGitHub {
-      owner = "eventable";
-      repo = "vobject";
-      sha256 = "1f5lw9kpssr66bdirkjba3izbnm68p8pd47546m5yl4c7x76s1ld";
-      rev = version;
-    };
-
-    disabled = isPyPy;
-
-    propagatedBuildInputs = with self; [ dateutil ];
-
-    checkPhase = "${python.interpreter} tests.py";
-
-    meta = {
-      description = "Module for reading vCard and vCalendar files";
-      homepage = http://eventable.github.io/vobject/;
-      license = licenses.asl20;
-      maintainers = with maintainers; [ ];
-    };
-  };
+  vobject = callPackage ../development/python-modules/vobject { };
 
   pycarddav = buildPythonPackage rec {
     version = "0.7.0";
@@ -12939,24 +10315,7 @@ in {
 
   pygit2 = callPackage ../development/python-modules/pygit2 { };
 
-  Babel = buildPythonPackage (rec {
-    name = "Babel-2.3.4";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/B/Babel/${name}.tar.gz";
-      sha256 = "0x98qqqw35xllpcama013a9788ly84z8dm1w2wwfpxh2710c8df5";
-    };
-
-    buildInputs = with self; [ pytest ];
-    propagatedBuildInputs = with self; [ pytz ];
-
-    meta = {
-      homepage = http://babel.edgewall.org;
-      description = "A collection of tools for internationalizing Python applications";
-      license = licenses.bsd3;
-      maintainers = with maintainers; [ garbas ];
-    };
-  });
+  Babel = callPackage ../development/python-modules/Babel { };
 
   pybfd = callPackage ../development/python-modules/pybfd { };
 
@@ -12986,6 +10345,7 @@ in {
     meta = {
       description = "Interface for working with block devices";
       license = licenses.gpl2Plus;
+      broken = isPy3k; # doesn't build on python 3, 2018-04-11
     };
   };
 
@@ -13048,6 +10408,7 @@ in {
       license = licenses.bsd2;
       platforms = platforms.all;
       homepage = "http://jparyani.github.io/pycapnp/index.html";
+      broken = true; # 2018-04-11
     };
   };
 
@@ -13061,9 +10422,7 @@ in {
       sha256 = "1a1h0lmfl56a2a9xqhacnjclv81nv3906vdylalybxrk4bhrm3hj";
     };
 
-    prePatch = ''
-      sed -i -e "s|if type(driver_id)==int|if type(driver_id) in (int, long)|g" cdio.py
-    '';
+    prePatch = "sed -i -e '/DRIVER_BSDI/d' pycdio.py";
 
     preConfigure = ''
       patchShebangs .
@@ -13117,53 +10476,9 @@ in {
     };
   });
 
-  pycups = buildPythonPackage rec {
-    name = "pycups-${version}";
-    version = "1.9.73";
+  pycups = callPackage ../development/python-modules/pycups { };
 
-    src = pkgs.fetchurl {
-      url = "http://cyberelk.net/tim/data/pycups/pycups-${version}.tar.bz2";
-      sha256 = "c381be011889ca6f728598578c89c8ac9f7ab1e95b614474df9f2fa831ae5335";
-    };
-
-    buildInputs = [ pkgs.cups ];
-
-    # Wants to connect to CUPS
-    doCheck = false;
-
-    meta = {
-      description = "Python bindings for libcups";
-      homepage = http://cyberelk.net/tim/software/pycups/;
-      license = with licenses; [ gpl2Plus ];
-    };
-
-  };
-
-  pycurl = buildPythonPackage (rec {
-    name = "pycurl-7.19.5.1";
-    disabled = isPyPy; # https://github.com/pycurl/pycurl/issues/208
-
-    src = pkgs.fetchurl {
-      url = "http://pycurl.sourceforge.net/download/${name}.tar.gz";
-      sha256 = "0v5w66ir3siimfzg3kc8hfrrilwwnbxq5bvipmrpyxar0kw715vf";
-    };
-
-    buildInputs = with self; [ pkgs.curl pkgs.openssl.out ];
-
-    # error: invalid command 'test'
-    doCheck = false;
-
-    preConfigure = ''
-      substituteInPlace setup.py --replace '--static-libs' '--libs'
-      export PYCURL_SSL_LIBRARY=openssl
-    '';
-
-    meta = {
-      homepage = http://pycurl.sourceforge.net/;
-      description = "Python wrapper for libcurl";
-      platforms = platforms.linux;
-    };
-  });
+  pycurl = callPackage ../development/python-modules/pycurl { };
 
   pycurl2 = buildPythonPackage (rec {
     name = "pycurl2-7.20.0";
@@ -13364,6 +10679,8 @@ in {
 
   pyrr = callPackage ../development/python-modules/pyrr { };
 
+  pysha3 = callPackage ../development/python-modules/pysha3 { };
+
   pyshp = callPackage ../development/python-modules/pyshp { };
 
   pysmbc = callPackage ../development/python-modules/pysmbc { };
@@ -13907,7 +11224,7 @@ in {
     };
   };
 
-  python_fedora = callPackage ../development/python-modules/python_fedora/default.nix {};
+  python_fedora = callPackage ../development/python-modules/python_fedora {};
 
   python-simple-hipchat = callPackage ../development/python-modules/python-simple-hipchat {};
   python_simple_hipchat = self.python-simple-hipchat;
@@ -13977,29 +11294,16 @@ in {
     };
   };
 
-  progressbar = buildPythonPackage (rec {
-    name = "progressbar-2.2";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/p/progressbar/${name}.tar.gz";
-      sha256 = "dfee5201237ca0e942baa4d451fee8bf8a54065a337fabe7378b8585aeda56a3";
-    };
+  progressbar = callPackage ../development/python-modules/progressbar {};
 
-    # invalid command 'test'
-    doCheck = false;
+  progressbar2 = callPackage ../development/python-modules/progressbar2 { };
 
-    meta = {
-      homepage = http://code.google.com/p/python-progressbar/;
-      description = "Text progressbar library for python";
-      license = licenses.lgpl3Plus;
-      maintainers = with maintainers; [ domenkozar ];
-    };
-  });
+  progressbar231 = callPackage ../development/python-modules/progressbar231 { };
 
-  progressbar2 = callPackage ../development/python-modules/progressbar2 { };
+  progressbar33 = callPackage ../development/python-modules/progressbar33 { };
 
   ldap = callPackage ../development/python-modules/ldap {
-    inherit (pkgs) openldap cyrus_sasl openssl;
+    inherit (pkgs) openldap cyrus_sasl;
   };
 
   ldap3 = callPackage ../development/python-modules/ldap3 {};
@@ -14175,11 +11479,15 @@ in {
       sha256 = "9b47c5c3a094fa518ca88aeed35ae75834d53e4285512c61879f67a48c94ddaf";
     };
     propagatedBuildInputs = [ pkgs.libGLU_combined pkgs.freeglut self.pillow ];
-    patchPhase = ''
-      sed -i "s|util.find_library( name )|name|" OpenGL/platform/ctypesloader.py
-      sed -i "s|'GL',|'libGL.so',|" OpenGL/platform/glx.py
-      sed -i "s|'GLU',|'${pkgs.libGLU_combined}/lib/libGLU.so',|" OpenGL/platform/glx.py
-      sed -i "s|'glut',|'${pkgs.freeglut}/lib/libglut.so',|" OpenGL/platform/glx.py
+    patchPhase = let
+      ext = stdenv.hostPlatform.extensions.sharedLibrary; in ''
+      substituteInPlace OpenGL/platform/glx.py \
+        --replace "'GL'" "'${pkgs.libGL}/lib/libGL${ext}'" \
+        --replace "'GLU'" "'${pkgs.libGLU}/lib/libGLU${ext}'" \
+        --replace "'glut'" "'${pkgs.freeglut}/lib/libglut${ext}'"
+      substituteInPlace OpenGL/platform/darwin.py \
+        --replace "'OpenGL'" "'${pkgs.libGL}/lib/libGL${ext}'" \
+        --replace "'GLUT'" "'${pkgs.freeglut}/lib/libglut${ext}'"
     '';
     meta = {
       homepage = http://pyopengl.sourceforge.net/;
@@ -14287,40 +11595,7 @@ in {
     };
   };
 
-  pyperclip = buildPythonPackage rec {
-    version = "1.5.27";
-    name = "pyperclip-${version}";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/p/pyperclip/${name}.zip";
-      sha256 = "1i9zxm7qc49n9yxfb41c0jbmmp2hpzx98kaizjl7qmgiv3snvjx3";
-    };
-
-    doCheck = false;
-
-    meta = {
-      homepage = "https://github.com/asweigart/pyperclip";
-      license = licenses.bsdOriginal;
-      description = "Cross-platform clipboard module";
-    };
-  };
-
-  pysphere = buildPythonPackage rec {
-    name = "pysphere-0.1.8";
-
-    src = pkgs.fetchurl {
-      url = "http://pysphere.googlecode.com/files/${name}.zip";
-      sha256 = "b3f9ba1f67afb17ac41725b01737cd42e8a39d9e745282dd9b692ae631af0add";
-    };
-
-    disabled = isPy3k;
-
-    meta = {
-      homepage    = "https://code.google.com/p/pysphere/";
-      license     = "BSD";
-      description = "Python API for interaction with the VMWare vSphere";
-    };
-  };
+  pyperclip = callPackage ../development/python-modules/pyperclip { };
 
   pysqlite = buildPythonPackage rec {
     name = "pysqlite-2.8.3";
@@ -14426,12 +11701,12 @@ in {
 
   python-wifi = buildPythonPackage rec {
     name = "python-wifi-${version}";
-    version = "0.6.0";
+    version = "0.6.1";
     disabled = ! (isPy26 || isPy27 );
 
     src = pkgs.fetchurl {
       url = "mirror://pypi/p/python-wifi/${name}.tar.bz2";
-      sha256 = "504639e5953eaec0e41758900fbe143d33d82ea86762b19b659a118c77d8403d";
+      sha256 = "149c3dznb63d82143cz5hqdim0mqjysz6p3yk0zv271vq3xnmzvv";
     };
 
     meta = {
@@ -14689,7 +11964,7 @@ in {
         description = "A Python binding to QScintilla, Qt based text editing control";
         license = licenses.lgpl21Plus;
         maintainers = with maintainers; [ danbst ];
-        platforms = platforms.linux;
+        platforms = platforms.unix;
       };
     });
 
@@ -14757,22 +12032,7 @@ in {
 
   redis = callPackage ../development/python-modules/redis { };
 
-  rednose = buildPythonPackage rec {
-    name = "rednose-${version}";
-    version = "1.2.1";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/r/rednose/${name}.tar.gz";
-      sha256 = "0b0bsna217lr1nykyhl5fgjly15zhdvqd4prg4wy1zrgfv7al6m0";
-    };
-
-    meta = {
-      description = "A python nose plugin adding color to console results.";
-    };
-
-    buildInputs = with self; [ nose six ];
-    propagatedBuildInputs = with self; [ colorama termstyle ];
-  };
+  rednose = callPackage ../development/python-modules/rednose { };
 
   reikna = callPackage ../development/python-modules/reikna { };
 
@@ -14917,27 +12177,6 @@ in {
 
   django-multiselectfield = callPackage ../development/python-modules/django-multiselectfield { };
 
-  reviewboard = buildPythonPackage rec {
-    name = "ReviewBoard-2.5.1.1";
-
-    src = pkgs.fetchurl {
-      url = "http://downloads.reviewboard.org/releases/ReviewBoard/2.5/${name}.tar.gz";
-      sha256 = "14m8yy2aqxnnzi822b797wc9nmkfkp2fqmq24asdnm66bxhyzjwn";
-    };
-
-    patchPhase = ''
-      sed -i 's/mimeparse/python-mimeparse/' setup.py
-      sed -i 's/markdown>=2.4.0,<2.4.999/markdown/' setup.py
-    '';
-
-    propagatedBuildInputs = with self;
-      [ django recaptcha_client pytz memcached dateutil_1_5 paramiko flup
-        pygments djblets django_evolution pycrypto pysvn pillow
-        psycopg2 django-haystack python_mimeparse markdown django-multiselectfield
-      ];
-  };
-
-
   rdflib = callPackage ../development/python-modules/rdflib { };
 
   isodate = buildPythonPackage rec {
@@ -15080,36 +12319,15 @@ in {
     };
   };
 
-  rpkg = callPackage ../development/python-modules/rpkg/default.nix {};
+  rpkg = callPackage ../development/python-modules/rpkg {};
 
-  rply = callPackage ../development/python-modules/rply/default.nix {};
+  rply = callPackage ../development/python-modules/rply {};
 
   rpm = toPythonModule (pkgs.rpm.override{inherit python;});
 
   rpmfluff = callPackage ../development/python-modules/rpmfluff {};
 
-  rpy2 = buildPythonPackage rec {
-    name = "rpy2-2.8.2";
-    disabled = isPyPy;
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/r/rpy2/${name}.tar.gz";
-      sha256 = "2c1a313df4e64236dcfe1078ce847b8e3c180656c894928d3a4b391aacb9b24c";
-    };
-    buildInputs = with pkgs; [ readline R pcre lzma bzip2 zlib icu ];
-    propagatedBuildInputs = with self; [ singledispatch six ];
-
-    # According to manual this is how the testsuite should be invoked
-    checkPhase = ''
-      ${python.interpreter}  -m rpy2.tests
-    '';
-    meta = {
-      homepage = http://rpy.sourceforge.net/rpy2;
-      description = "Python interface to R";
-      license = licenses.gpl2Plus;
-      maintainers = with maintainers; [ joelmo ];
-      broken = true;
-    };
-  };
+  rpy2 = callPackage ../development/python-modules/rpy2 {};
 
   rpyc = buildPythonPackage rec {
     name = "rpyc-${version}";
@@ -15148,6 +12366,8 @@ in {
     };
   };
 
+  Rtree = callPackage ../development/python-modules/Rtree { inherit (pkgs) libspatialindex; };
+
   squaremap = buildPythonPackage rec {
     name = "squaremap-1.0.4";
     disabled = isPy3k;
@@ -15299,6 +12519,8 @@ in {
 
   sampledata = callPackage ../development/python-modules/sampledata { };
 
+  sasmodels = callPackage ../development/python-modules/sasmodels { };
+
   scapy = callPackage ../development/python-modules/scapy { };
 
   scipy = callPackage ../development/python-modules/scipy { };
@@ -15534,6 +12756,8 @@ in {
     };
   };
 
+  slimit = callPackage ../development/python-modules/slimit { };
+
   slob = buildPythonPackage rec {
     name = "slob-unstable-2016-11-03";
 
@@ -15697,19 +12921,22 @@ in {
 
   stevedore = callPackage ../development/python-modules/stevedore {};
 
+  text-unidecode = callPackage ../development/python-modules/text-unidecode { };
+
   Theano = callPackage ../development/python-modules/Theano rec {
     cudaSupport = pkgs.config.cudaSupport or false;
     cudnnSupport = cudaSupport;
+    inherit (pkgs.linuxPackages) nvidia_x11;
   };
 
   TheanoWithoutCuda = self.Theano.override {
-    cudaSupport = true;
-    cudnnSupport = true;
+    cudaSupport = false;
+    cudnnSupport = false;
   };
 
   TheanoWithCuda = self.Theano.override {
-    cudaSupport = false;
-    cudnnSupport = false;
+    cudaSupport = true;
+    cudnnSupport = true;
   };
 
   thespian = callPackage ../development/python-modules/thespian { };
@@ -15880,27 +13107,7 @@ in {
       };
     in if isPy3k then py3 else py2;
 
-  pythondaemon = buildPythonPackage rec {
-    name = "python-daemon-${version}";
-    version = "2.1.1";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/p/python-daemon/${name}.tar.gz";
-      sha256 = "17v80qb98p1gv4j9mq6wb55cv7hc4j1hzw5y2f4s5hrpxs3w3a2q";
-    };
-
-    # A test fail within chroot builds.
-    doCheck = false;
-
-    buildInputs = with self; [ mock testscenarios ];
-    propagatedBuildInputs = with self; [ docutils lockfile ];
-
-    meta = {
-      description = "Library to implement a well-behaved Unix daemon process";
-      homepage = https://alioth.debian.org/projects/python-daemon/;
-      license = [ licenses.gpl3Plus licenses.asl20 ];
-    };
-  };
+  pythondaemon = callPackage ../development/python-modules/python-daemon { };
 
   sympy = callPackage ../development/python-modules/sympy { };
 
@@ -16113,17 +13320,29 @@ in {
 
   sipsimple = buildPythonPackage rec {
     name = "sipsimple-${version}";
-    version = "3.0.0";
+    version = "3.1.1";
     disabled = isPy3k;
 
-    src = pkgs.fetchurl {
-      url = "http://download.ag-projects.com/SipClient/python-${name}.tar.gz";
-      sha256 = "1q35kgz151rr99240jq55rs39y741m8shh9yihl3x95rkjxchji4";
+    src = pkgs.fetchdarcs {
+      url = http://devel.ag-projects.com/repositories/python-sipsimple;
+      rev = "release-${version}";
+      sha256 = "0jdilm11f5aahxrzrkxrfx9sgjgkbla1r0wayc5dzd2wmjrdjyrg";
     };
 
+    preConfigure = ''
+      chmod +x ./deps/pjsip/configure ./deps/pjsip/aconfigure
+    '';
+
     nativeBuildInputs = [ pkgs.pkgconfig ];
     buildInputs = with pkgs; [ alsaLib ffmpeg libv4l sqlite libvpx ];
     propagatedBuildInputs = with self; [ cython pkgs.openssl dnspython dateutil xcaplib msrplib lxml python-otr ];
+
+    meta = {
+      description = "SIP SIMPLE implementation for Python";
+      homepage = http://sipsimpleclient.org/;
+      license = licenses.gpl3;
+      maintainers = with maintainers; [ pSub ];
+    };
   };
 
 
@@ -16240,20 +13459,15 @@ in {
   hieroglyph = callPackage ../development/python-modules/hieroglyph { };
 
   sphinx_rtd_theme = buildPythonPackage (rec {
-    name = "sphinx_rtd_theme-0.1.9";
+    name = "sphinx_rtd_theme-0.2.5b2";
 
     src = pkgs.fetchurl {
       url = "mirror://pypi/s/sphinx_rtd_theme/${name}.tar.gz";
-      sha256 = "18d0r63w7jpdrk4q5qy26n08vdlmnj9sar93akwjphyambw4cf17";
+      sha256 = "0grf16fi4g0p3dfh11b1624ic34iqkjhf5i1g6hvsh4nlm0ll00q";
     };
 
-    postPatch = ''
-      rm requirements.txt
-      touch requirements.txt
-    '';
-
     meta = {
-      description = "ReadTheDocs.org theme for Sphinx, 2013 version";
+      description = "ReadTheDocs.org theme for Sphinx";
       homepage = https://github.com/snide/sphinx_rtd_theme/;
       license = licenses.bsd3;
       platforms = platforms.unix;
@@ -16264,6 +13478,8 @@ in {
 
   sphinx-testing = callPackage ../development/python-modules/sphinx-testing { };
 
+  sphinxcontrib-bibtex = callPackage ../development/python-modules/sphinxcontrib-bibtex {};
+
   sphinxcontrib-blockdiag = buildPythonPackage (rec {
     name = "${pname}-${version}";
     pname = "sphinxcontrib-blockdiag";
@@ -16326,6 +13542,8 @@ in {
     };
   });
 
+  sphinx-navtree = callPackage ../development/python-modules/sphinx-navtree {};
+
   sphinxcontrib_newsfeed = buildPythonPackage (rec {
     name = "sphinxcontrib-newsfeed-${version}";
     version = "0.1.4";
@@ -16910,13 +14128,14 @@ in {
       # Move the tkinter module
       mkdir -p $out/${py.sitePackages}
       mv lib/${py.libPrefix}/lib-dynload/_tkinter* $out/${py.sitePackages}/
+    '' + stdenv.lib.optionalString (!stdenv.isDarwin) ''
       # Update the rpath to point to python without x11Support
       old_rpath=$(patchelf --print-rpath $out/${py.sitePackages}/_tkinter*)
       new_rpath=$(sed "s#${py}#${python}#g" <<< "$old_rpath" )
       patchelf --set-rpath $new_rpath $out/${py.sitePackages}/_tkinter*
     '';
 
-    inherit (py) meta;
+    meta = py.meta;
   };
 
   tlslite = buildPythonPackage rec {
@@ -16954,21 +14173,7 @@ in {
     };
   };
 
-  tmdb3 = buildPythonPackage rec {
-    name = "tmdb3-${version}";
-    version = "0.6.17";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/t/tmdb3/${name}.zip";
-      sha256 = "64a6c3f1a60a9d8bf18f96a5403f3735b334040345ac3646064931c209720972";
-    };
-
-    meta = {
-      description = "Python implementation of the v3 API for TheMovieDB.org, allowing access to movie and cast information";
-      homepage = https://pypi.python.org/pypi/tmdb3;
-      license = licenses.bsd3;
-    };
-  };
+  tmdb3 = callPackage ../development/python-modules/tmdb3 { };
 
   toolz = callPackage ../development/python-modules/toolz { };
 
@@ -16976,18 +14181,9 @@ in {
 
   tqdm = callPackage ../development/python-modules/tqdm { };
 
-  smmap = buildPythonPackage rec {
-    name = "smmap-0.9.0";
-    disabled = isPyPy;  # This fails the tests if built with pypy
-    meta.maintainers = with maintainers; [ ];
-
-    buildInputs = with self; [ nosexcover ];
+  smmap = callPackage ../development/python-modules/smmap { };
 
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/s/smmap/${name}.tar.gz";
-      sha256 = "0qlx25f6n2n9ff37w9gg62f217fzj16xlbh0pkz0lpxxjys64aqf";
-    };
-  };
+  smmap2 = callPackage ../development/python-modules/smmap2 { };
 
   traits = buildPythonPackage rec {
     name = "traits-${version}";
@@ -17063,25 +14259,7 @@ in {
 
   TurboCheetah = callPackage ../development/python-modules/TurboCheetah { };
 
-  tweepy = buildPythonPackage (rec {
-    name = "tweepy-3.5.0";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/t/tweepy/${name}.tar.gz";
-      sha256 = "0n2shilamgwhzmvf534xg7f6hrnznbixyl5pw2f5a3f391gwy37h";
-    };
-
-    doCheck = false;
-    propagatedBuildInputs = with self; [ requests six requests_oauthlib ];
-
-    meta = {
-      homepage = "https://github.com/tweepy/tweepy";
-      description = "Twitter library for python";
-      license = licenses.mit;
-      maintainers = with maintainers; [ garbas ];
-      platforms = platforms.linux;
-    };
-  });
+  tweepy = callPackage ../development/python-modules/tweepy { };
 
   twiggy = buildPythonPackage rec {
     name = "Twiggy-${version}";
@@ -17327,13 +14505,15 @@ in {
     };
   };
 
-  uritemplate_py = buildPythonPackage rec {
+    unittest-xml-reporting = callPackage ../development/python-modules/unittest-xml-reporting { };
+
+    uritemplate_py = buildPythonPackage rec {
     name = "uritemplate.py-${version}";
-    version = "0.3.0";
+    version = "3.0.0";
 
     src = pkgs.fetchurl {
       url = "mirror://pypi/u/uritemplate.py/${name}.tar.gz";
-      sha256 = "0xvvdiwnag2pdi96hjf7v8asdia98flk2rxcjqnwcs3rk99alygx";
+      sha256 = "1k5zvc5fyyrgv33mi3p86a9jn5n0pqffs9cviz92fw6q1kf7zvmr";
     };
 
     meta = with stdenv.lib; {
@@ -17409,27 +14589,7 @@ in {
 
   update_checker = callPackage ../development/python-modules/update_checker {};
 
-  uritemplate = buildPythonPackage rec {
-    name = "uritemplate-${version}";
-    version = "0.6";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/u/uritemplate/${name}.tar.gz";
-      sha256 = "1zapwg406vkwsirnzc6mwq9fac4az8brm6d9bp5xpgkyxc5263m3";
-    };
-
-    # No tests in archive
-    doCheck = false;
-
-    propagatedBuildInputs = with self; [ simplejson ];
-
-    meta = with stdenv.lib; {
-      homepage = https://github.com/uri-templates/uritemplate-py;
-      description = "Python implementation of URI Template";
-      license = licenses.asl20;
-      maintainers = with maintainers; [ matthiasbeyer ];
-    };
-  };
+  uritemplate = callPackage ../development/python-modules/uritemplate { };
 
   uptime = buildPythonPackage rec {
     name = "uptime-${version}";
@@ -17497,23 +14657,7 @@ in {
 
   virtkey = callPackage ../development/python-modules/virtkey { };
 
-  virtual-display = buildPythonPackage rec {
-    name = "PyVirtualDisplay-0.1.5";
-
-    propagatedBuildInputs = with self; [ EasyProcess ];
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/P/PyVirtualDisplay/${name}.tar.gz";
-      sha256 = "aa6aef08995e14c20cc670d933bfa6e70d736d0b555af309b2e989e2faa9ee53";
-    };
-
-    meta = {
-      description = "Python wrapper for Xvfb, Xephyr and Xvnc";
-      homepage = "https://github.com/ponty/pyvirtualdisplay";
-      license = licenses.bsdOriginal;
-      maintainers = with maintainers; [ layus ];
-    };
-  };
+  virtual-display = callPackage ../development/python-modules/virtual-display { };
 
   virtualenv = callPackage ../development/python-modules/virtualenv { };
 
@@ -17811,6 +14955,8 @@ EOF
 
   widgetsnbextension = callPackage ../development/python-modules/widgetsnbextension { };
 
+  wordfreq = callPackage ../development/python-modules/wordfreq { };
+
   magic-wormhole = callPackage ../development/python-modules/magic-wormhole { };
 
   magic-wormhole-transit-relay = callPackage ../development/python-modules/magic-wormhole-transit-relay { };
@@ -17980,23 +15126,7 @@ EOF
 
   persistent = callPackage ../development/python-modules/persistent {};
 
-  xdot = buildPythonPackage rec {
-    name = "xdot-0.9";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/x/xdot/${name}.tar.gz";
-      sha256 = "01v9vmgdxz1q2m2vq2b4aqx4ycw7grc0l4is673ygvyg9rk02dx3";
-    };
-
-    nativeBuildInputs = with pkgs; [ wrapGAppsHook ];
-    propagatedBuildInputs = with self; [ pkgs.gobjectIntrospection pygobject3 pkgs.graphviz pkgs.gnome3.gtk ];
-
-    meta = {
-      description = "xdot.py is an interactive viewer for graphs written in Graphviz's dot";
-      homepage = https://github.com/jrfonseca/xdot.py;
-      license = licenses.lgpl3Plus;
-    };
-  };
+  xdot = callPackage ../development/python-modules/xdot { };
 
   zetup = callPackage ../development/python-modules/zetup { };
 
@@ -18370,26 +15500,7 @@ EOF
     propagatedBuildInputs = with self; [ requests webob ];
   };
 
-  tunigo = buildPythonPackage rec {
-    name = "tunigo-${version}";
-    version = "1.0.0";
-    propagatedBuildInputs = with self; [ requests ];
-
-    src = pkgs.fetchFromGitHub {
-      owner = "trygveaa";
-      repo = "python-tunigo";
-      rev = "v${version}";
-      sha256 = "07q9girrjjffzkn8xj4l3ynf9m4psi809zf6f81f54jdb330p2fs";
-    };
-
-    buildInputs = with self; [ mock nose ];
-
-    meta = {
-      description = "Python API for the browse feature of Spotify";
-      homepage = https://github.com/trygveaa/python-tunigo;
-      license = licenses.asl20;
-    };
-  };
+  tunigo = callPackage ../development/python-modules/tunigo { };
 
   tarman = buildPythonPackage rec {
     version = "0.1.3";
@@ -18476,21 +15587,7 @@ EOF
     };
   };
 
-  pyzmq = buildPythonPackage rec {
-    name = "pyzmq-16.0.2";
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/p/pyzmq/${name}.tar.gz";
-      sha256 = "0322543fff5ab6f87d11a8a099c4c07dd8a1719040084b6ce9162bcdf5c45c9d";
-    };
-    buildInputs = with self; [ pkgs.zeromq3 pytest tornado ];
-    propagatedBuildInputs = [ self.py ];
-
-    # Disable broken test
-    # https://github.com/zeromq/pyzmq/issues/799
-    checkPhase = ''
-      py.test $out/${python.sitePackages}/zmq/ -k "not test_large_send and not test_recv_json_cancelled"
-    '';
-  };
+  pyzmq = callPackage ../development/python-modules/pyzmq { };
 
   testfixtures = callPackage ../development/python-modules/testfixtures {};
 
@@ -18615,25 +15712,7 @@ EOF
     };
   };
 
-
-  whichcraft = buildPythonPackage rec {
-    name = "whichcraft-${version}";
-    version = "0.1.1";
-
-    src = pkgs.fetchurl {
-      url = "https://github.com/pydanny/whichcraft/archive/${version}.tar.gz";
-      sha256 = "1xqp66knzlb01k30qic40vzwl51jmlsb8r96iv60m2ca6623abbv";
-    };
-
-    buildInputs = with self; [ pytest ];
-
-    meta = {
-      homepage = https://github.com/pydanny/whichcraft;
-      description = "Cross-platform cross-python shutil.which functionality";
-      license = licenses.bsd3;
-    };
-  };
-
+  whichcraft = callPackage ../development/python-modules/whichcraft { };
 
   whisper = buildPythonPackage rec {
     name = "whisper-${version}";
@@ -18746,30 +15825,7 @@ EOF
 
   pyusb = callPackage ../development/python-modules/pyusb { libusb1 = pkgs.libusb1; };
 
-  BlinkStick = buildPythonPackage rec {
-    name = "BlinkStick-${version}";
-    version = "1.1.8";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/B/BlinkStick/${name}.tar.gz";
-      sha256 = "3edf4b83a3fa1a7bd953b452b76542d54285ff6f1145b6e19f9b5438120fa408";
-    };
-
-    # Requires pyusb 1.0.0b1.
-    # Likely current pyusb will work but we need to patch the hard requirement then.
-    broken = true;
-
-    patchPhase = "substituteInPlace setup.py --replace pyusb==1.0.0b1 pyusb==1.0.0";
-
-    propagatedBuildInputs = with self; [ pyusb ];
-
-    meta = {
-      description = "Python package to control BlinkStick USB devices";
-      homepage = https://pypi.python.org/pypi/BlinkStick/;
-      license = licenses.bsd3;
-      maintainers = with maintainers; [ np ];
-    };
-  };
+  BlinkStick = callPackage ../development/python-modules/blinkstick { };
 
   usbtmc = callPackage ../development/python-modules/usbtmc {};
 
@@ -19237,17 +16293,7 @@ EOF
     };
   };
 
-  pushbullet = buildPythonPackage rec {
-    name = "pushbullet.py-${version}";
-    version = "0.10.0";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/p/pushbullet.py/pushbullet.py-0.10.0.tar.gz";
-      sha256 = "537d3132e1dbc91e31ade4cccf4c7def6f9d48e904a67f341d35b8a54a9be74d";
-    };
-
-    propagatedBuildInputs = with self; [requests websocket_client python_magic ];
-  };
+  pushbullet = callPackage ../development/python-modules/pushbullet { };
 
   power = buildPythonPackage rec {
     name = "power-1.4";
@@ -19363,8 +16409,6 @@ EOF
     };
   };
 
-  redNotebook = pkgs.rednotebook; # Backwards compatibility alias.
-
   uncertainties = callPackage ../development/python-modules/uncertainties { };
 
   funcy = buildPythonPackage rec {
@@ -19386,6 +16430,8 @@ EOF
     };
   };
 
+  vxi11 = callPackage ../development/python-modules/vxi11 { };
+
   svg2tikz = self.buildPythonPackage {
     name = "svg2tikz-1.0.0";
     disabled = ! isPy27;
@@ -19438,20 +16484,7 @@ EOF
     };
   };
 
-  canonicaljson = buildPythonPackage rec {
-    name = "canonicaljson-${version}";
-    version = "1.0.0";
-
-    src = pkgs.fetchgit {
-      url = "https://github.com/matrix-org/python-canonicaljson.git";
-      rev = "refs/tags/v${version}";
-      sha256 = "0r82zlip93y169ijkn8xpbp0yr22mf92pni6dw420vb53l27sprq";
-    };
-
-    propagatedBuildInputs = with self; [
-      frozendict simplejson
-    ];
-  };
+  canonicaljson = callPackage ../development/python-modules/canonicaljson { };
 
   daemonize = buildPythonPackage rec {
     name = "daemonize-${version}";
@@ -19488,6 +16521,10 @@ EOF
     propagatedBuildInputs = with self; [];
   };
 
+  pybindgen = callPackage ../development/python-modules/pybindgen {};
+
+  pygccxml = callPackage ../development/python-modules/pygccxml {};
+
   pymacaroons-pynacl = callPackage ../development/python-modules/pymacaroons-pynacl { };
 
   pynacl = callPackage ../development/python-modules/pynacl { };
@@ -19521,51 +16558,7 @@ EOF
   };
 
 
-  thumbor = buildPythonPackage rec {
-    name = "thumbor-${version}";
-    version = "6.3.2";
-
-    disabled = ! isPy27;
-
-    buildInputs = with self; [ statsd nose ];
-
-    propagatedBuildInputs = with self; [
-      tornado
-      pycrypto
-      pycurl
-      pytz
-      pillow
-      derpconf
-      python_magic
-      # thumborPexif
-      pexif
-      libthumbor
-      opencv
-    ] ++ optionals (!isPy3k) [ futures ];
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/t/thumbor/${name}.tar.gz";
-      sha256 = "0787245x4yci34cdfc9xaxhds0lv60476qgp132pwa78hrpc9m31";
-    };
-
-    patches = [
-      (pkgs.fetchurl {
-          url = "https://github.com/thumbor/thumbor/commit/376f688a8a0b82e50388c885d9d733572f2eb3e6.patch";
-          sha256 = "1j2434yqb6pz61d65dsy8w6lvyzvh5ksizadi5hgjzfw6s46v6yn";
-      })
-    ];
-
-    prePatch = ''
-      substituteInPlace setup.py \
-        --replace '"argparse",' ""
-    '';
-
-    meta = {
-      description = "A smart imaging service";
-      homepage = https://github.com/globocom/thumbor/wiki;
-      license = licenses.mit;
-    };
-  };
+  thumbor = callPackage ../development/python-modules/thumbor { };
 
   thumborPexif = self.buildPythonPackage rec {
     name = "thumbor-pexif-0.14";
@@ -19660,21 +16653,7 @@ EOF
     };
   };
 
-  pychart = buildPythonPackage rec {
-    name = "pychart-1.39";
-    disabled = ! isPy27;
-
-    src = pkgs.fetchurl {
-      url = "http://download.gna.org/pychart/PyChart-1.39.tar.gz";
-      sha256 = "882650928776a7ca72e67054a9e0ac98f78645f279c0cfb5910db28f03f07c2e";
-    };
-
-    meta = {
-      description = "Library for creating high quality encapsulated Postscript, PDF, PNG, or SVG charts";
-      homepage = http://home.gna.org/pychart/;
-      license = licenses.gpl2;
-    };
-  };
+  pychart = callPackage ../development/python-modules/pychart {};
 
   parsimonious = buildPythonPackage rec {
     version = "0.7.0";
@@ -19699,24 +16678,7 @@ EOF
 
   ofxclient = callPackage ../development/python-modules/ofxclient {};
 
-  ofxhome = buildPythonPackage rec {
-    name = "ofxhome-0.3.1";
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/o/ofxhome/${name}.tar.gz";
-      sha256 = "0000db437fd1a8c7c65cea5d88ce9d3b54642a1f4844dde04f860e29330ac68d";
-    };
-
-    buildInputs = with self; [ nose ];
-
-    # ImportError: No module named tests
-    doCheck = false;
-
-    meta = {
-      homepage = "https://github.com/captin411/ofxhome";
-      description = "ofxhome.com financial institution lookup REST client";
-      license = licenses.mit;
-    };
-  };
+  ofxhome = callPackage ../development/python-modules/ofxhome { };
 
   ofxparse = buildPythonPackage rec {
     name = "ofxparse-0.14";
@@ -19776,7 +16738,7 @@ EOF
     doCheck = false;
 
     meta = {
-      homepage = "http://matplotlib.org/basemap/";
+      homepage = "https://matplotlib.org/basemap/";
       description = "Plot data on map projections with matplotlib";
       longDescription = ''
         An add-on toolkit for matplotlib that lets you plot data on map projections with
@@ -19936,7 +16898,7 @@ EOF
 
     meta = {
       description = "Copy your docs directly to the gh-pages branch";
-      homepage = "http://github.com/davisp/ghp-import";
+      homepage = "https://github.com/davisp/ghp-import";
       license = "Tumbolia Public License";
       maintainers = with maintainers; [ garbas ];
     };
@@ -20052,7 +17014,7 @@ EOF
 
     meta = {
       description = "Jenkins Job Builder is a system for configuring Jenkins jobs using simple YAML files stored in Git";
-      homepage = "http://docs.openstack.org/infra/system-config/jjb.html";
+      homepage = "https://docs.openstack.org/infra/system-config/jjb.html";
       license = licenses.asl20;
       maintainers = with maintainers; [ garbas ];
     };
@@ -20301,28 +17263,8 @@ EOF
     };
   };
 
-  xgboost = buildPythonPackage rec {
-    name = "xgboost-${version}";
-
-    inherit (pkgs.xgboost) version src meta;
-
-    propagatedBuildInputs = with self; [ scipy ];
-    checkInputs = with self; [ nose ];
-
-    postPatch = ''
-      cd python-package
-
-      sed "s/CURRENT_DIR = os.path.dirname(__file__)/CURRENT_DIR = os.path.abspath(os.path.dirname(__file__))/g" -i setup.py
-      sed "/^LIB_PATH.*/a LIB_PATH = [os.path.relpath(LIB_PATH[0], CURRENT_DIR)]" -i setup.py
-      cat <<EOF >xgboost/libpath.py
-      def find_lib_path():
-        return ["${pkgs.xgboost}/lib/libxgboost.so"]
-      EOF
-    '';
-
-    postInstall = ''
-      rm -rf $out/xgboost
-    '';
+  xgboost = callPackage ../development/python-modules/xgboost {
+    xgboost = pkgs.xgboost;
   };
 
   xkcdpass = buildPythonPackage rec {
@@ -20440,39 +17382,9 @@ EOF
     };
   };
 
-  termstyle = buildPythonPackage rec {
-    name = "python-termstyle-${version}";
-    version = "0.1.10";
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/p/python-termstyle/${name}.tar.gz";
-      sha256 = "1qllzkx1alf14zcfapppf8w87si4cpa7lgjmdp3f5idzdyqnnapl";
-    };
-
-    meta = {
-      description = "Console colouring for python";
-      homepage = "https://pypi.python.org/pypi/python-termstyle/0.1.10";
-      license = licenses.bsdOriginal;
-    };
-
-  };
-
-  green = buildPythonPackage rec {
-    name = "green-${version}";
-    version = "2.3.0";
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/g/green/${name}.tar.gz";
-      sha256 = "1888khfl9yxb8yfxq9b48dxwplqlxx8s0l530z5j7c6bx74v08b4";
-    };
-
-    propagatedBuildInputs = with self; [ termstyle colorama ];
-    buildInputs = with self; [ mock ];
+  termstyle = callPackage ../development/python-modules/termstyle { };
 
-    meta = {
-      description = "Python test runner";
-      homepage = "https://github.com/CleanCut/green";
-      license = licenses.mit;
-    };
-  };
+  green = callPackage ../development/python-modules/green { };
 
   topydo = throw "python3Packages.topydo was moved to topydo"; # 2017-09-22
 
@@ -20536,30 +17448,7 @@ EOF
     };
   };
 
-  htmltreediff = buildPythonPackage rec{
-    version = "0.1.2";
-    pname = "htmltreediff";
-    name = pname + "-${version}";
-
-    # Does not work with Py >= 3
-    disabled = !isPy27;
-
-    src = pkgs.fetchFromGitHub {
-      owner = "christian-oudard";
-      repo = pname;
-      rev = "v" + version;
-      sha256 = "16mqp2jyznrw1mgd3qzybq28h2k5wz7vmmz1m6xpgscazyjhvvd1";
-    };
-
-    propagatedBuildInputs = with self; [ lxml html5lib ];
-
-    meta = {
-      description = " Structure-aware diff for html and xml documents";
-      homepage = https://github.com/christian-oudard/htmltreediff;
-      license = licenses.bsdOriginal;
-      maintainers = with maintainers; [];
-    };
-  };
+  htmltreediff = callPackage ../development/python-modules/htmltreediff { };
 
   repeated_test = buildPythonPackage rec {
     name = "repeated_test-${version}";
@@ -20696,12 +17585,15 @@ EOF
 
   tensorflow-tensorboard = callPackage ../development/python-modules/tensorflow-tensorboard { };
 
-  tensorflow = callPackage ../development/python-modules/tensorflow rec {
-    cudaSupport = pkgs.config.cudaSupport or false;
-    inherit (pkgs.linuxPackages) nvidia_x11;
-    cudatoolkit = pkgs.cudatoolkit9;
-    cudnn = pkgs.cudnn_cudatoolkit9;
-  };
+  tensorflow =
+    if stdenv.isDarwin
+    then callPackage ../development/python-modules/tensorflow/bin.nix { }
+    else callPackage ../development/python-modules/tensorflow rec {
+      cudaSupport = pkgs.config.cudaSupport or false;
+      inherit (pkgs.linuxPackages) nvidia_x11;
+      cudatoolkit = pkgs.cudatoolkit9;
+      cudnn = pkgs.cudnn_cudatoolkit9;
+    };
 
   tensorflowWithoutCuda = self.tensorflow.override {
     cudaSupport = false;
@@ -20827,15 +17719,7 @@ EOF
     };
   };
 
-  rocket-errbot = buildPythonPackage rec {
-    name = "rocket-errbot-${version}";
-    version = "1.2.5";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/r/rocket-errbot/${name}.tar.gz";
-      sha256 = "181y1wqjvlry5xdzbliajvrxvswzh3myh795jnj1pm92r5grqzda";
-    };
-  };
+  rocket-errbot = callPackage ../development/python-modules/rocket-errbot {  };
 
   Yapsy = buildPythonPackage rec {
     name = "Yapsy-${version}";
@@ -20977,24 +17861,7 @@ EOF
 
   moreItertools = self.more-itertools;
 
-  more-itertools = buildPythonPackage rec {
-    name = "more-itertools-${version}";
-    version = "4.0.1";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/m/more-itertools/${name}.tar.gz";
-      sha256 = "0cadwsr97c80k18if7qy5d8j8l1zj3yhnkm6kbngk0lpl7pxq8ax";
-    };
-
-    buildInputs = with self; [ nose ];
-    propagatedBuildInputs = with self; [ six ];
-
-    meta = {
-      homepage = https://more-itertools.readthedocs.org;
-      description = "Expansion of the itertools module";
-      license = licenses.mit;
-    };
-  };
+  more-itertools = callPackage ../development/python-modules/more-itertools { };
 
   jaraco_functools = buildPythonPackage rec {
     name = "jaraco.functools-${version}";
@@ -21105,6 +17972,8 @@ EOF
 
   yapf = callPackage ../development/python-modules/yapf { };
 
+  black = callPackage ../development/python-modules/black { };
+
   autobahn = callPackage ../development/python-modules/autobahn { };
 
   jsonref = callPackage ../development/python-modules/jsonref { };
@@ -21176,18 +18045,6 @@ EOF
 
   whitenoise = callPackage ../development/python-modules/whitenoise { };
 
-  wp_export_parser = buildPythonPackage rec {
-    name = "${pname}-${version}";
-    pname = "wp_export_parser";
-    version = "1.0";
-    src = pkgs.fetchFromGitHub {
-      owner = "RealGeeks";
-      repo = "wp_export_parser";
-      rev = "479211f6c5a7d034fd77762dfed381c3315cd773";
-      sha256 = "1ad0mkixc0s86djwsvhp1qlvcfs25086nh0qw7bys49gz8shczzi";
-    };
-  };
-
   XlsxWriter = callPackage ../development/python-modules/XlsxWriter { };
 
   yowsup = callPackage ../development/python-modules/yowsup { };
@@ -21243,10 +18100,20 @@ EOF
 
   thinc = callPackage ../development/python-modules/thinc { };
 
+  yahooweather = callPackage ../development/python-modules/yahooweather { };
+
   spacy = callPackage ../development/python-modules/spacy { };
 
   spacy_models = callPackage ../development/python-modules/spacy/models.nix { };
 
+  pyspark = callPackage ../development/python-modules/pyspark { };
+
+  pysensors = callPackage ../development/python-modules/pysensors { };
+
+  sseclient = callPackage ../development/python-modules/sseclient { };
+
+  warrant = callPackage ../development/python-modules/warrant { };
+
   textacy = callPackage ../development/python-modules/textacy { };
 
   pyemd  = callPackage ../development/python-modules/pyemd { };
@@ -21272,6 +18139,18 @@ EOF
   wsproto = callPackage ../development/python-modules/wsproto { };
 
   h11 = callPackage ../development/python-modules/h11 { };
+
+  python-docx = callPackage ../development/python-modules/python-docx { };
+
+  aiohue = callPackage ../development/python-modules/aiohue { };
+
+  PyMVGLive = callPackage ../development/python-modules/pymvglive { };
+
+  coinmarketcap = callPackage ../development/python-modules/coinmarketcap { };
+
+  pyowm = callPackage ../development/python-modules/pyowm { };
+
+  prometheus_client = callPackage ../development/python-modules/prometheus_client { };
 });
 
 in fix' (extends overrides packages)
diff --git a/pkgs/top-level/release-small.nix b/pkgs/top-level/release-small.nix
index e92ad47e142..7f574574d8d 100644
--- a/pkgs/top-level/release-small.nix
+++ b/pkgs/top-level/release-small.nix
@@ -48,7 +48,6 @@ with import ./release-lib.nix { inherit supportedSystems; };
   gcj = linux;
   glibc = linux;
   glibcLocales = linux;
-  gnat = linux;
   gnugrep = all;
   gnum4 = all;
   gnumake = all;
@@ -110,7 +109,8 @@ with import ./release-lib.nix { inherit supportedSystems; };
   mpg321 = linux;
   mutt = linux;
   mysql = linux;
-  netcat = all;
+  # netcat broken on darwin
+  netcat = linux;
   nfs-utils = linux;
   nix = all;
   nixUnstable = all;
diff --git a/pkgs/top-level/release.nix b/pkgs/top-level/release.nix
index e7f8d3f2e4c..b4eeef1f3de 100644
--- a/pkgs/top-level/release.nix
+++ b/pkgs/top-level/release.nix
@@ -43,7 +43,7 @@ let
               jobs.ghc.x86_64-darwin
               jobs.git.x86_64-darwin
               jobs.go.x86_64-darwin
-              jobs.mysql.x86_64-darwin
+              jobs.mariadb.x86_64-darwin
               jobs.nix-repl.x86_64-darwin
               jobs.nix.x86_64-darwin
               jobs.nox.x86_64-darwin
@@ -99,11 +99,21 @@ let
               jobs.thunderbird.x86_64-linux
               # Ensure that basic stuff works on darwin
               jobs.git.x86_64-darwin
-              jobs.mysql.x86_64-darwin
+              jobs.mariadb.x86_64-darwin
               jobs.vim.x86_64-darwin
+              # Ensure that UI stuff works on darwin
+              jobs.inkscape.x86_64-darwin
+              jobs.qt5.qtmultimedia.x86_64-darwin
 
               jobs.tests.cc-wrapper.x86_64-linux
               jobs.tests.cc-wrapper.x86_64-darwin
+              jobs.tests.cc-wrapper-gcc7.x86_64-linux
+              jobs.tests.cc-wrapper-gcc7.x86_64-darwin
+              jobs.tests.cc-wrapper-gcc8.x86_64-linux
+
+              # broken see issue #40038
+              # jobs.tests.cc-wrapper-gcc8.x86_64-darwin
+
               jobs.tests.cc-wrapper-clang.x86_64-linux
               jobs.tests.cc-wrapper-clang.x86_64-darwin
               jobs.tests.cc-wrapper-libcxx.x86_64-linux
@@ -119,7 +129,11 @@ let
               jobs.tests.cc-wrapper-clang-5.x86_64-linux
               jobs.tests.cc-wrapper-clang-5.x86_64-darwin
               jobs.tests.cc-wrapper-libcxx-5.x86_64-linux
-              jobs.tests.cc-wrapper-libcxx-5.x86_64-darwin
+              jobs.tests.cc-wrapper-libcxx-6.x86_64-darwin
+              jobs.tests.cc-wrapper-clang-6.x86_64-linux
+              jobs.tests.cc-wrapper-clang-6.x86_64-darwin
+              jobs.tests.cc-wrapper-libcxx-6.x86_64-linux
+              jobs.tests.cc-wrapper-libcxx-6.x86_64-darwin
               jobs.tests.cc-multilib-gcc.x86_64-linux
               jobs.tests.cc-multilib-clang.x86_64-linux
               jobs.tests.stdenv-inputs.x86_64-linux
diff --git a/pkgs/top-level/stage.nix b/pkgs/top-level/stage.nix
index de676c5a421..e38f5442d3a 100644
--- a/pkgs/top-level/stage.nix
+++ b/pkgs/top-level/stage.nix
@@ -97,7 +97,8 @@ let
       res self;
     in res;
 
-  aliases = self: super: import ./aliases.nix super;
+  aliases = self: super: if config.skipAliases or false then {}
+                         else import ./aliases.nix super;
 
   # stdenvOverrides is used to avoid having multiple of versions
   # of certain dependencies that were used in bootstrapping the
diff --git a/pkgs/top-level/unix-tools.nix b/pkgs/top-level/unix-tools.nix
new file mode 100644
index 00000000000..c42cf8aa026
--- /dev/null
+++ b/pkgs/top-level/unix-tools.nix
@@ -0,0 +1,157 @@
+{ pkgs, buildEnv, runCommand, hostPlatform, lib
+, stdenv }:
+
+# These are some unix tools that are commonly included in the /usr/bin
+# and /usr/sbin directory under more normal distributions. Along with
+# coreutils, these are commonly assumed to be available by build
+# systems, but we can't assume they are available. In Nix, we list
+# each program by name directly through this unixtools attribute.
+
+# You should always try to use single binaries when available. For
+# instance, if your program needs to use "ps", just list it as a build
+# input, not "procps" which requires Linux.
+
+let
+  singleBinary = cmd: providers: let
+      provider = "${lib.getBin providers.${hostPlatform.parsed.kernel.name}}/bin/${cmd}";
+    in runCommand cmd {
+      meta.platforms = map (n: { kernel.name = n; }) (pkgs.lib.attrNames providers);
+    } ''
+      mkdir -p $out/bin
+
+      if ! [ -x "${provider}" ]; then
+        echo "Cannot find command ${cmd}"
+        exit 1
+      fi
+
+      ln -s "${provider}" "$out/bin/${cmd}"
+    '';
+
+  # more is unavailable in darwin
+  # just use less
+  more_compat = runCommand "more" {} ''
+    mkdir -p $out/bin
+    ln -s ${pkgs.less}/bin/less $out/bin/more
+  '';
+
+  bins = lib.mapAttrs singleBinary {
+    # singular binaries
+    arp = {
+      linux = pkgs.nettools;
+      darwin = pkgs.darwin.network_cmds;
+    };
+    col = {
+      linux = pkgs.utillinux;
+      darwin = pkgs.darwin.text_cmds;
+    };
+    eject = {
+      linux = pkgs.utillinux;
+    };
+    getconf = {
+      linux = if hostPlatform.isMusl then pkgs.musl-getconf
+              else lib.getBin stdenv.cc.libc;
+      darwin = pkgs.darwin.system_cmds;
+    };
+    getent = {
+      linux = if hostPlatform.isMusl then pkgs.musl-getent
+              # This may not be right on other platforms, but preserves existing behavior
+              else /* if hostPlatform.libc == "glibc" then */ pkgs.glibc.bin;
+    };
+    getopt = {
+      linux = pkgs.utillinux;
+      darwin = pkgs.getopt;
+    };
+    fdisk = {
+      linux = pkgs.utillinux;
+      darwin = pkgs.darwin.diskdev_cmds;
+    };
+    fsck = {
+      linux = pkgs.utillinux;
+      darwin = pkgs.darwin.diskdev_cmds;
+    };
+    hexdump = {
+      linux = pkgs.utillinux;
+      darwin = pkgs.darwin.shell_cmds;
+    };
+    hostname = {
+      linux = pkgs.nettools;
+      darwin = pkgs.darwin.shell_cmds;
+    };
+    ifconfig = {
+      linux = pkgs.nettools;
+      darwin = pkgs.darwin.network_cmds;
+    };
+    logger = {
+      linux = pkgs.utillinux;
+    };
+    more = {
+      linux = pkgs.utillinux;
+      darwin = more_compat;
+    };
+    mount = {
+      linux = pkgs.utillinux;
+      darwin = pkgs.darwin.diskdev_cmds;
+    };
+    netstat = {
+      linux = pkgs.nettools;
+      darwin = pkgs.darwin.network_cmds;
+    };
+    ping = {
+      linux = pkgs.iputils;
+      darwin = pkgs.darwin.network_cmds;
+    };
+    ps = {
+      linux = pkgs.procps;
+      darwin = pkgs.darwin.ps;
+    };
+    quota = {
+      linux = pkgs.linuxquota;
+      darwin = pkgs.darwin.diskdev_cmds;
+    };
+    route = {
+      linux = pkgs.nettools;
+      darwin = pkgs.darwin.network_cmds;
+    };
+    script = {
+      linux = pkgs.utillinux;
+      darwin = pkgs.darwin.shell_cmds;
+    };
+    sysctl = {
+      linux = pkgs.procps;
+      darwin = pkgs.darwin.system_cmds;
+    };
+    top = {
+      linux = pkgs.procps;
+      darwin = pkgs.darwin.top;
+    };
+    umount = {
+      linux = pkgs.utillinux;
+      darwin = pkgs.darwin.diskdev_cmds;
+    };
+    whereis = {
+      linux = pkgs.utillinux;
+      darwin = pkgs.darwin.shell_cmds;
+    };
+    wall = {
+      linux = pkgs.utillinux;
+    };
+    write = {
+      linux = pkgs.utillinux;
+      darwin = pkgs.darwin.basic_cmds;
+    };
+  };
+
+  makeCompat = name': value: buildEnv {
+    name = name' + "-compat";
+    paths = value;
+  };
+
+  # Compatibility derivations
+  # Provided for old usage of these commands.
+  compat = with bins; lib.mapAttrs makeCompat {
+    procps = [ ps sysctl top ];
+    utillinux = [ fsck fdisk getopt hexdump mount
+                  script umount whereis write col ];
+    nettools = [ arp hostname ifconfig netstat route ];
+  };
+in bins // compat